diff --git a/.env b/.env deleted file mode 100644 index b3b641174..000000000 --- a/.env +++ /dev/null @@ -1,60 +0,0 @@ -# Language code as supported by Sphinx: -# https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-language -LANGUAGE ?= pt_BR - -# Branch used in the project and in CPython -BRANCH := 3.11 - -############################ -# Environment variables for 'merge' target -############################ -# -# Version(s) that still receive(s) bug fixes, not only security-related fixes. -# Versions in this variable will have their translation replaced with changes -# in currently active version being translated. These will have pomerge's -# --overwrite flag set. -BUGFIXBRANCH ?= 3.10 - -# Version(s) that are considered security fixes or EOL. Let's make them more -# stable, with more predictable state. These versions will not have translated -# strings replaced with translations update. These will have pomerge's -# --no-overwrite flag set. -OLDERBRANCHES ?= 3.9 3.8 3.7 3.6 2.7 -# -############################ - - -############################ -# Environment variables for 'build' target -############################ -# -# If set to -W, warnings will be considered as errors. -# Set to "" keep warnings as is. -SPHINXERRORHANDLING := "-W" -# -############################ - -########################### -# Environment variables for 'tx-install' target -########################### -# -# Specific Transifex CLI Client version to install. -# If unset, latest version will be used. -TX_CLI_VERSION ?= '1.6.7' - -# Install directory of TX_CLI_DIR. Consider using a directory already -# in the PATH environment variable because install script will add this -# directory to PATH in your ~/.bashrc. -TX_CLI_DIR ?= $(shell realpath ~/.local/bin) - -############################ -# Paths and URLs -############################ -# -PYTHON ?= $(shell which python3) -CPYTHON_DIR := cpython -LOCALE_DIR := Doc/locales -LOGS_DIR := logs -VENV_DIR := .venv -# -####### diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 8bcf9ba87..000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,19 +0,0 @@ -version: 2 -updates: - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "weekly" - assignees: - - "rffontenelle" - commit-message: - prefix: "gha" - - - package-ecosystem: "pip" - directory: "/" - schedule: - interval: "weekly" - assignees: - - "rffontenelle" - commit-message: - prefix: "pip" diff --git a/.github/prepmsg.sh b/.github/prepmsg.sh deleted file mode 100755 index 2111ab29a..000000000 --- a/.github/prepmsg.sh +++ /dev/null @@ -1,38 +0,0 @@ -#!/bin/bash -# Prepare message for Telegram notification -set -ex - -die() { echo "$0: error: $*" >&2; exit 1; } - -[ $# -ne 2 ] && die "Expected 1 input and 1 output files, got $#" -[ ! -f "$1" ] && die "Input file $1 not found, skipping." -[ -z "${GITHUB_REPOSITORY}" ] && die "GITHUB_REPOSITORY is empty." -[ -z "${GITHUB_RUN_ID}" ] && die "GITHUB_RUN_ID is empty." -[ -z "${GITHUB_JOB}" ] && die "GITHUB_JOB is empty." - -URL="https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}" - -input="$1" -output="$2" - -touch aux -if [[ "${GITHUB_JOB}" == "build" ]]; then - grep 'cpython/Doc/.*WARNING:' "$input" | \ - sed 's|.*/cpython/Doc/||' | \ - uniq | \ - sed 's|^|```\n|;s|$|\n```\n|' \ - > aux -elif [[ "${GITHUB_JOB}" == "lint" ]]; then - grep -P '^.*\.po:\d+:\s+.*\(.*\)$' "$input" | \ - sort -u | \ - sed 's|^|```\n|;s|$|\n```\n|' \ - > aux -else - die "Unexpected job name ${GITHUB_JOB}" -fi - -[[ $(cat aux) == "" ]] && die "Unexpected empty output message." - -echo "❌ *${GITHUB_JOB}* (ID [${GITHUB_RUN_ID}]($URL)):" > "$output"; -{ echo ""; cat aux; echo ""; } >> "$output" -rm aux diff --git a/.github/problem-matchers/sphinx.json b/.github/problem-matchers/sphinx.json deleted file mode 100644 index a0299d893..000000000 --- a/.github/problem-matchers/sphinx.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "problemMatcher": [ - { - "owner": "sphinx-problem-matcher", - "pattern": [ - { - "regexp": "^(.*):(\\d+):\\s+(\\w*):\\s+(.*)$", - "file": 1, - "line": 2, - "severity": 3, - "message": 4 - } - ] - }, - { - "owner": "sphinx-problem-matcher-loose", - "pattern": [ - { - "_comment": "A bit of a looser pattern, doesn't look for line numbers, just looks for file names relying on them to start with / and end with .rst", - "regexp": "(\/.*\\.rst):\\s+(\\w*):\\s+(.*)$", - "file": 1, - "severity": 2, - "message": 3 - } - ] - }, - { - "owner": "sphinx-problem-matcher-loose-no-severity", - "pattern": [ - { - "_comment": "Looks for file names ending with .rst and line numbers but without severity", - "regexp": "^(.*\\.rst):(\\d+):(.*)$", - "file": 1, - "line": 2, - "message": 3 - } - ] - } - ] -} diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml deleted file mode 100644 index 9eadc1137..000000000 --- a/.github/workflows/check.yml +++ /dev/null @@ -1,219 +0,0 @@ -# Run some tests in the Python Doc translations - -name: Check - -on: - workflow_dispatch: - workflow_call: - inputs: - called: - description: This tells it was called - required: false - type: boolean - default: true - pull_request: - branches: - - '3.11' - paths: - - '.github/workflows/check.yml' - - '.github/prepmsg.sh' - - 'Makefile' - - 'requirements.txt' - - '*.po' - - '**/*.po' - push: - paths: - - '.github/workflows/check.yml' - - '.github/prepmsg.sh' - - 'Makefile' - - 'requirements.txt' - - '*.po' - - '**/*.po' - -permissions: - contents: read - -jobs: - # Build documentation handling warnings as errors. Always store logs. - # If success, make built docs artifact. If failure, notify telegram. - build: - name: Build translated docs - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - persist-credentials: false - - - name: Download PO files (if called) - if: github.event.inputs.called == true - uses: actions/download-artifact@v3 - with: - name: translations - - - name: Set up Python 3 - uses: actions/setup-python@v4 - with: - python-version: '3' - - - name: Build docs - continue-on-error: true - id: build - run: | - echo "::add-matcher::.github/problem-matchers/sphinx.json" - make build - - - name: Upload artifact - docs - if: steps.build.outcome == 'success' - uses: actions/upload-artifact@v3 - with: - name: docs - path: cpython/Doc/build/html - - - name: Upload artifact - log files - if: always() - uses: actions/upload-artifact@v3 - with: - name: build-logs - path: logs/* - - - name: Prepare notification (only on error) - if: steps.build.outcome == 'failure' - id: prepare - run: .github/prepmsg.sh logs/build/err*.txt logs/notify.txt - env: - GITHUB_JOB: ${{ github.job }} - GITHUB_RUN_ID: ${{ github.run_id }} - GITHUB_REPOSITORY: ${{ github.repository }} - - - name: Notify via Telegram - if: steps.prepare.outcome == 'success' - uses: appleboy/telegram-action@master - with: - to: ${{ secrets.TELEGRAM_TO }} - token: ${{ secrets.TELEGRAM_TOKEN }} - format: markdown - disable_web_page_preview: true - message_file: logs/notify.txt - - - # Run sphinx-lint to find wrong reST syntax in PO files. Always store logs. - lint: - name: Lint translations - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - persist-credentials: false - - - name: Download PO files (if called) - if: github.event.inputs.called == true - uses: actions/download-artifact@v3 - with: - name: translations - - - name: Set up Python 3 - uses: actions/setup-python@v4 - with: - python-version: '3' - - - name: Run sphinx-lint - continue-on-error: true - id: lint - run: | - make lint - - - name: Upload artifact - log files - uses: actions/upload-artifact@v3 - with: - name: lint-logs - path: logs/* - - #- name: Prepare notification (only on error) - # if: step.lint.outcome == 'failure' - # id: prepare - # run: scripts/prepmsg.sh logs/build/err*.txt logs/notify.txt - # env: - # GITHUB_JOB: ${{ github.job }} - # GITHUB_RUN_ID: ${{ github.run_id }} - # GITHUB_REPOSITORY: ${{ github.repository }} - # - #- name: Notify via Telegram - # if: step.prepare.outcome == 'success' - # uses: appleboy/telegram-action@master - # with: - # to: ${{ secrets.TELEGRAM_TO }} - # token: ${{ secrets.TELEGRAM_TOKEN }} - # format: markdown - # disable_web_page_preview: true - # message_file: logs/notify.txt - - - # Spell check the PO files, and store them in logs/ directory - pospell: - name: Spell check translations - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - persist-credentials: false - - - name: Download PO files (if called) - if: github.event.inputs.called == true - uses: actions/download-artifact@v3 - with: - name: translations - - - name: Set up Python 3 - uses: actions/setup-python@v4 - with: - python-version: '3' - - - name: Run pospell - continue-on-error: true - id: pospell - run: make spell - - - name: Upload artifact - log files - uses: actions/upload-artifact@v3 - with: - name: pospell-logs - path: logs/* - - - # Gather all strings in a single PO file, useful for Translation Memory - # Also run powrap, useful only for pull_request testing for dependabot - compendium: - runs-on: ubuntu-latest - steps: - - name: Check out ${{ github.repository }} - uses: actions/checkout@v3 - with: - persist-credentials: false - - - name: Download PO files (if called) - if: github.event.inputs.called == true - uses: actions/download-artifact@v3 - with: - name: translations - - - name: Set up Python 3 - uses: actions/setup-python@v4 - with: - python-version: '3' - - - name: Install dependencies - run: | - sudo apt update -y && sudo apt install gettext -y - pip3 install --upgrade pip - pip3 install -r requirements.txt - - - name: Generate compendium from PO files - run: | - pocompendium --correct compendium.po *.po **/*.po - powrap compendium.po - - - name: Upload artifact - uses: actions/upload-artifact@v3 - with: - name: compendium - path: compendium.po diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml deleted file mode 100644 index 288a34bdb..000000000 --- a/.github/workflows/update.yml +++ /dev/null @@ -1,230 +0,0 @@ -name: Update - -on: - workflow_dispatch: - inputs: - BRANCH: - description: CPython branch to use - required: false - type: string - default: '3.11' - pull_request: - paths: - - '.github/workflows/update.yml' - - 'Makefile' - - 'requirements.txt' - branches: - - '3.11' - push: - paths: - - '.github/workflows/update.yml' - - 'Makefile' - - 'requirements.txt' - branches: - - '3.11' - - '3.10' - - '3.9' - - '3.8' - - '3.7' - schedule: - - cron: '0 23 * * *' - -permissions: - contents: read - -jobs: - # Download translations from Transifex, keep PO and Logs artifacts - pull: - name: Pull from Transifex - runs-on: ubuntu-latest - steps: - - name: Check out ${{ github.repository }} - uses: actions/checkout@v3 - - - name: Get branch name on push or schedule - if: | - github.event_name == 'push' || - github.event_name == 'schedule' - run: echo "BRANCH=${GITHUB_REF_NAME}" >>$GITHUB_ENV - - - name: Get branch name on pull - if: github.event_name == 'pull_request' - run: echo "BRANCH=${GITHUB_BASE_REF}" >>$GITHUB_ENV - - - name: Get branch name on manual run - if: github.event_name == 'workflow_dispatch' - run: echo "BRANCH=${{ github.event.inputs.BRANCH }}" >> $GITHUB_ENV - - - name: Check out CPython - uses: actions/checkout@v3 - with: - repository: python/cpython - ref: ${{ env.BRANCH }} - path: cpython - - - name: Set up Python 3 - uses: actions/setup-python@v4 - with: - python-version: '3' - cache: 'pip' - cache-dependency-path: | - 'requirements.txt' - 'cpython/requirements.txt' - - - name: Install dependencies - run: sudo apt update -y && sudo apt install gettext tree -y - - - name: Pull translations - run: | - make tx-config TX_CLI_DIR=/usr/local/bin - if [ "${{ github.event_name }}" != 'pull_request' ]; then - make pull -o tx-config TX_CLI_DIR=/usr/local/bin - fi - env: - TX_TOKEN: ${{ secrets.TX_TOKEN }} - - - name: Upload artifact - po files - uses: actions/upload-artifact@v3 - with: - name: translations - path: | - *.po - **/*.po - .tx/ - - - name: Upload artifact - log files - if: always() - uses: actions/upload-artifact@v3 - with: - name: pull-logs - path: | - logs/* - /tmp/*.log - - - # Job for getting po files downloaded and storing this repository - push: - name: Push to repo - needs: [pull] - runs-on: ubuntu-latest - permissions: - contents: write - steps: - - name: Check out ${{ github.repository }} - uses: actions/checkout@v3 - - - name: Download PO files - uses: actions/download-artifact@v3 - with: - name: translations - - # Exclude file with only changes in POT-Creation-Date - - name: Changed files - shell: bash - run: | - git diff -I'^"POT-Creation-Date: ' --numstat *.po **/*.po | cut -f3 - git ls-files -o --exclude-standard *.po **/*.po - - - name: Commit and push changes - if: | - github.repository == 'python/python-docs-pt-br' && - github.event_name != 'pull_request' - run: | - git config user.name github-actions - git config user.email github-actions@github.com - make push - - - # Merge translations previously updated into older branches to make sure - # older versions of Python Docs gets translated as well. - # 'overwrite=true' means strings previously translated will get overwritten; - # other branches will preserve translated strings, only filling in new - # translations. - merge: - name: Merge into ${{ matrix.branch }} - needs: [push] - runs-on: ubuntu-latest - permissions: - contents: write - strategy: - fail-fast: false - max-parallel: 3 - matrix: - branch: ['3.10', '3.9', '3.8', '3.7', '3.6', '2.7'] - include: - - branch: 3.10 - overwrite: true - steps: - - name: Get branch name on push or schedule - if: | - github.event_name == 'push' || - github.event_name == 'schedule' - run: echo "CURRENT_BRANCH=${GITHUB_REF_NAME}" >>$GITHUB_ENV - - - name: Get branch name on pull - if: github.event_name == 'pull_request' - run: echo "CURRENT_BRANCH=${GITHUB_BASE_REF}" >>$GITHUB_ENV - - - name: Get branch name on manual run - if: github.event_name == 'workflow_dispatch' - run: echo "CURRENT_BRANCH=${{ github.event.inputs.BRANCH }}" >> $GITHUB_ENV - - - name: Check out source branch (${{ env.CURRENT_BRANCH }}) - uses: actions/checkout@v3 - with: - path: ${{ env.CURRENT_BRANCH }} - persist-credentials: false - - - name: Check out target branch (${{ matrix.branch }}) - uses: actions/checkout@v3 - with: - ref: ${{ matrix.branch }} - path: ${{ matrix.branch }} - - - name: Set up Python 3 - uses: actions/setup-python@v4 - with: - python-version: '3' - cache: 'pip' - cache-dependency-path: "${{ env.CURRENT_BRANCH }}/requirements.txt" - - - name: Install dependencies - run: | - sudo apt update -y && sudo apt install gettext -y - pip3 install pomerge powrap - - - name: Merge overwriting on stable release branch - if: ${{ matrix.overwrite == true }} - run: | - pomerge --from ${{ env.CURRENT_BRANCH }}/**/*.po --to ${{ matrix.branch }}/**/*.po - - - name: Merge without overwriting on EOL or security-fix release branch - if: ${{ matrix.overwrite != true }} - run: | - pomerge --no-overwrite --from ${{ env.CURRENT_BRANCH }}/**/*.po --to ${{ matrix.branch }}/**/*.po - - - name: Wrap catalog message files - run: | - powrap --modified -C ${{ matrix.branch }} - - #TODO: Solve make push to work with merge scenario - - name: Commit and push changes - if: | - github.repository == 'python/python-docs-pt-br' && - github.event_name != 'pull_request' - run: | - git config user.name github-actions - git config user.email github-actions@github.com - git diff -I'^"POT-Creation-Date: ' --numstat *.po **/*.po | cut -f3 | xargs -r git add - git add $(git ls-files -o --exclude-standard *.po **/*.po) .tx/config - git diff-index --quiet HEAD || git commit -m "Merge ${{ env.CURRENT_BRANCH }} into ${{ matrix.branch }}" - working-directory: ${{ matrix.branch }} - - - # Call the check.yml workflow after updating to run some tests - call-build: - name: call - needs: pull - if: github.event_name != 'pull_request' - uses: ./.github/workflows/check.yml - secrets: inherit diff --git a/.gitignore b/.gitignore index f5f9bf4ef..2a2ef4431 100644 --- a/.gitignore +++ b/.gitignore @@ -2,12 +2,8 @@ *.mo *.po~ -# we don't want venv directories -venv/ -.venv/ - # cpython checkout shouldn't be added cpython/ -# No need to keep logs -logs/ +# do not include potodo temporary file +.potodo/ diff --git a/.tx/config b/.tx/config index 309b4c39c..68d785e74 100644 --- a/.tx/config +++ b/.tx/config @@ -1,3482 +1,4003 @@ [main] host = https://www.transifex.com -[o:python-doc:p:python-newest:r:about] -file_filter = .//LC_MESSAGES/about.po -trans.pt_BR = about.po -source_file = cpython/Doc/locales/pot/about.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:bugs] -file_filter = .//LC_MESSAGES/bugs.po -trans.pt_BR = bugs.po -source_file = cpython/Doc/locales/pot/bugs.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--abstract] -file_filter = .//LC_MESSAGES/c-api/abstract.po -trans.pt_BR = c-api/abstract.po -source_file = cpython/Doc/locales/pot/c-api/abstract.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--allocation] -file_filter = .//LC_MESSAGES/c-api/allocation.po -trans.pt_BR = c-api/allocation.po -source_file = cpython/Doc/locales/pot/c-api/allocation.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--apiabiversion] -file_filter = .//LC_MESSAGES/c-api/apiabiversion.po -trans.pt_BR = c-api/apiabiversion.po -source_file = cpython/Doc/locales/pot/c-api/apiabiversion.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--arg] -file_filter = .//LC_MESSAGES/c-api/arg.po -trans.pt_BR = c-api/arg.po -source_file = cpython/Doc/locales/pot/c-api/arg.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--bool] -file_filter = .//LC_MESSAGES/c-api/bool.po -trans.pt_BR = c-api/bool.po -source_file = cpython/Doc/locales/pot/c-api/bool.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--buffer] -file_filter = .//LC_MESSAGES/c-api/buffer.po -trans.pt_BR = c-api/buffer.po -source_file = cpython/Doc/locales/pot/c-api/buffer.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--bytearray] -file_filter = .//LC_MESSAGES/c-api/bytearray.po -trans.pt_BR = c-api/bytearray.po -source_file = cpython/Doc/locales/pot/c-api/bytearray.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--bytes] -file_filter = .//LC_MESSAGES/c-api/bytes.po -trans.pt_BR = c-api/bytes.po -source_file = cpython/Doc/locales/pot/c-api/bytes.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--call] -file_filter = .//LC_MESSAGES/c-api/call.po -trans.pt_BR = c-api/call.po -source_file = cpython/Doc/locales/pot/c-api/call.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--capsule] -file_filter = .//LC_MESSAGES/c-api/capsule.po -trans.pt_BR = c-api/capsule.po -source_file = cpython/Doc/locales/pot/c-api/capsule.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--cell] -file_filter = .//LC_MESSAGES/c-api/cell.po -trans.pt_BR = c-api/cell.po -source_file = cpython/Doc/locales/pot/c-api/cell.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--code] -file_filter = .//LC_MESSAGES/c-api/code.po -trans.pt_BR = c-api/code.po -source_file = cpython/Doc/locales/pot/c-api/code.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--codec] -file_filter = .//LC_MESSAGES/c-api/codec.po -trans.pt_BR = c-api/codec.po -source_file = cpython/Doc/locales/pot/c-api/codec.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--complex] -file_filter = .//LC_MESSAGES/c-api/complex.po -trans.pt_BR = c-api/complex.po -source_file = cpython/Doc/locales/pot/c-api/complex.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--concrete] -file_filter = .//LC_MESSAGES/c-api/concrete.po -trans.pt_BR = c-api/concrete.po -source_file = cpython/Doc/locales/pot/c-api/concrete.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--contextvars] -file_filter = .//LC_MESSAGES/c-api/contextvars.po -trans.pt_BR = c-api/contextvars.po -source_file = cpython/Doc/locales/pot/c-api/contextvars.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--conversion] -file_filter = .//LC_MESSAGES/c-api/conversion.po -trans.pt_BR = c-api/conversion.po -source_file = cpython/Doc/locales/pot/c-api/conversion.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--coro] -file_filter = .//LC_MESSAGES/c-api/coro.po -trans.pt_BR = c-api/coro.po -source_file = cpython/Doc/locales/pot/c-api/coro.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--datetime] -file_filter = .//LC_MESSAGES/c-api/datetime.po -trans.pt_BR = c-api/datetime.po -source_file = cpython/Doc/locales/pot/c-api/datetime.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--descriptor] -file_filter = .//LC_MESSAGES/c-api/descriptor.po -trans.pt_BR = c-api/descriptor.po -source_file = cpython/Doc/locales/pot/c-api/descriptor.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--dict] -file_filter = .//LC_MESSAGES/c-api/dict.po -trans.pt_BR = c-api/dict.po -source_file = cpython/Doc/locales/pot/c-api/dict.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--exceptions] -file_filter = .//LC_MESSAGES/c-api/exceptions.po -trans.pt_BR = c-api/exceptions.po -source_file = cpython/Doc/locales/pot/c-api/exceptions.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--file] -file_filter = .//LC_MESSAGES/c-api/file.po -trans.pt_BR = c-api/file.po -source_file = cpython/Doc/locales/pot/c-api/file.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--float] -file_filter = .//LC_MESSAGES/c-api/float.po -trans.pt_BR = c-api/float.po -source_file = cpython/Doc/locales/pot/c-api/float.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--frame] -file_filter = .//LC_MESSAGES/c-api/frame.po -trans.pt_BR = c-api/frame.po -source_file = cpython/Doc/locales/pot/c-api/frame.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--function] -file_filter = .//LC_MESSAGES/c-api/function.po -trans.pt_BR = c-api/function.po -source_file = cpython/Doc/locales/pot/c-api/function.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--gcsupport] -file_filter = .//LC_MESSAGES/c-api/gcsupport.po -trans.pt_BR = c-api/gcsupport.po -source_file = cpython/Doc/locales/pot/c-api/gcsupport.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--gen] -file_filter = .//LC_MESSAGES/c-api/gen.po -trans.pt_BR = c-api/gen.po -source_file = cpython/Doc/locales/pot/c-api/gen.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--import] -file_filter = .//LC_MESSAGES/c-api/import.po -trans.pt_BR = c-api/import.po -source_file = cpython/Doc/locales/pot/c-api/import.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--index] -file_filter = .//LC_MESSAGES/c-api/index.po -trans.pt_BR = c-api/index.po -source_file = cpython/Doc/locales/pot/c-api/index.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--init] -file_filter = .//LC_MESSAGES/c-api/init.po -trans.pt_BR = c-api/init.po -source_file = cpython/Doc/locales/pot/c-api/init.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--init_config] -file_filter = .//LC_MESSAGES/c-api/init_config.po -trans.pt_BR = c-api/init_config.po -source_file = cpython/Doc/locales/pot/c-api/init_config.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--intro] -file_filter = .//LC_MESSAGES/c-api/intro.po -trans.pt_BR = c-api/intro.po -source_file = cpython/Doc/locales/pot/c-api/intro.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--iter] -file_filter = .//LC_MESSAGES/c-api/iter.po -trans.pt_BR = c-api/iter.po -source_file = cpython/Doc/locales/pot/c-api/iter.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--iterator] -file_filter = .//LC_MESSAGES/c-api/iterator.po -trans.pt_BR = c-api/iterator.po -source_file = cpython/Doc/locales/pot/c-api/iterator.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--list] -file_filter = .//LC_MESSAGES/c-api/list.po -trans.pt_BR = c-api/list.po -source_file = cpython/Doc/locales/pot/c-api/list.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--long] -file_filter = .//LC_MESSAGES/c-api/long.po -trans.pt_BR = c-api/long.po -source_file = cpython/Doc/locales/pot/c-api/long.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--mapping] -file_filter = .//LC_MESSAGES/c-api/mapping.po -trans.pt_BR = c-api/mapping.po -source_file = cpython/Doc/locales/pot/c-api/mapping.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--marshal] -file_filter = .//LC_MESSAGES/c-api/marshal.po -trans.pt_BR = c-api/marshal.po -source_file = cpython/Doc/locales/pot/c-api/marshal.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--memory] -file_filter = .//LC_MESSAGES/c-api/memory.po -trans.pt_BR = c-api/memory.po -source_file = cpython/Doc/locales/pot/c-api/memory.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--memoryview] -file_filter = .//LC_MESSAGES/c-api/memoryview.po -trans.pt_BR = c-api/memoryview.po -source_file = cpython/Doc/locales/pot/c-api/memoryview.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--method] -file_filter = .//LC_MESSAGES/c-api/method.po -trans.pt_BR = c-api/method.po -source_file = cpython/Doc/locales/pot/c-api/method.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--module] -file_filter = .//LC_MESSAGES/c-api/module.po -trans.pt_BR = c-api/module.po -source_file = cpython/Doc/locales/pot/c-api/module.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--none] -file_filter = .//LC_MESSAGES/c-api/none.po -trans.pt_BR = c-api/none.po -source_file = cpython/Doc/locales/pot/c-api/none.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--number] -file_filter = .//LC_MESSAGES/c-api/number.po -trans.pt_BR = c-api/number.po -source_file = cpython/Doc/locales/pot/c-api/number.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--objbuffer] -file_filter = .//LC_MESSAGES/c-api/objbuffer.po -trans.pt_BR = c-api/objbuffer.po -source_file = cpython/Doc/locales/pot/c-api/objbuffer.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--object] -file_filter = .//LC_MESSAGES/c-api/object.po -trans.pt_BR = c-api/object.po -source_file = cpython/Doc/locales/pot/c-api/object.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--objimpl] -file_filter = .//LC_MESSAGES/c-api/objimpl.po -trans.pt_BR = c-api/objimpl.po -source_file = cpython/Doc/locales/pot/c-api/objimpl.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--refcounting] -file_filter = .//LC_MESSAGES/c-api/refcounting.po -trans.pt_BR = c-api/refcounting.po -source_file = cpython/Doc/locales/pot/c-api/refcounting.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--reflection] -file_filter = .//LC_MESSAGES/c-api/reflection.po -trans.pt_BR = c-api/reflection.po -source_file = cpython/Doc/locales/pot/c-api/reflection.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--sequence] -file_filter = .//LC_MESSAGES/c-api/sequence.po -trans.pt_BR = c-api/sequence.po -source_file = cpython/Doc/locales/pot/c-api/sequence.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--set] -file_filter = .//LC_MESSAGES/c-api/set.po -trans.pt_BR = c-api/set.po -source_file = cpython/Doc/locales/pot/c-api/set.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--slice] -file_filter = .//LC_MESSAGES/c-api/slice.po -trans.pt_BR = c-api/slice.po -source_file = cpython/Doc/locales/pot/c-api/slice.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--stable] -file_filter = .//LC_MESSAGES/c-api/stable.po -trans.pt_BR = c-api/stable.po -source_file = cpython/Doc/locales/pot/c-api/stable.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--structures] -file_filter = .//LC_MESSAGES/c-api/structures.po -trans.pt_BR = c-api/structures.po -source_file = cpython/Doc/locales/pot/c-api/structures.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--sys] -file_filter = .//LC_MESSAGES/c-api/sys.po -trans.pt_BR = c-api/sys.po -source_file = cpython/Doc/locales/pot/c-api/sys.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--tuple] -file_filter = .//LC_MESSAGES/c-api/tuple.po -trans.pt_BR = c-api/tuple.po -source_file = cpython/Doc/locales/pot/c-api/tuple.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--type] -file_filter = .//LC_MESSAGES/c-api/type.po -trans.pt_BR = c-api/type.po -source_file = cpython/Doc/locales/pot/c-api/type.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--typehints] -file_filter = .//LC_MESSAGES/c-api/typehints.po -trans.pt_BR = c-api/typehints.po -source_file = cpython/Doc/locales/pot/c-api/typehints.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--typeobj] -file_filter = .//LC_MESSAGES/c-api/typeobj.po -trans.pt_BR = c-api/typeobj.po -source_file = cpython/Doc/locales/pot/c-api/typeobj.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--unicode] -file_filter = .//LC_MESSAGES/c-api/unicode.po -trans.pt_BR = c-api/unicode.po -source_file = cpython/Doc/locales/pot/c-api/unicode.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--utilities] -file_filter = .//LC_MESSAGES/c-api/utilities.po -trans.pt_BR = c-api/utilities.po -source_file = cpython/Doc/locales/pot/c-api/utilities.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--veryhigh] -file_filter = .//LC_MESSAGES/c-api/veryhigh.po -trans.pt_BR = c-api/veryhigh.po -source_file = cpython/Doc/locales/pot/c-api/veryhigh.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:c-api--weakref] -file_filter = .//LC_MESSAGES/c-api/weakref.po -trans.pt_BR = c-api/weakref.po -source_file = cpython/Doc/locales/pot/c-api/weakref.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:contents] -file_filter = .//LC_MESSAGES/contents.po -trans.pt_BR = contents.po -source_file = cpython/Doc/locales/pot/contents.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:copyright] -file_filter = .//LC_MESSAGES/copyright.po -trans.pt_BR = copyright.po -source_file = cpython/Doc/locales/pot/copyright.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:distributing--index] -file_filter = .//LC_MESSAGES/distributing/index.po -trans.pt_BR = distributing/index.po -source_file = cpython/Doc/locales/pot/distributing/index.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:distutils--_setuptools_disclaimer] -file_filter = .//LC_MESSAGES/distutils/_setuptools_disclaimer.po -trans.pt_BR = distutils/_setuptools_disclaimer.po -source_file = cpython/Doc/locales/pot/distutils/_setuptools_disclaimer.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:distutils--apiref] -file_filter = .//LC_MESSAGES/distutils/apiref.po -trans.pt_BR = distutils/apiref.po -source_file = cpython/Doc/locales/pot/distutils/apiref.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:distutils--builtdist] -file_filter = .//LC_MESSAGES/distutils/builtdist.po -trans.pt_BR = distutils/builtdist.po -source_file = cpython/Doc/locales/pot/distutils/builtdist.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:distutils--commandref] -file_filter = .//LC_MESSAGES/distutils/commandref.po -trans.pt_BR = distutils/commandref.po -source_file = cpython/Doc/locales/pot/distutils/commandref.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:distutils--configfile] -file_filter = .//LC_MESSAGES/distutils/configfile.po -trans.pt_BR = distutils/configfile.po -source_file = cpython/Doc/locales/pot/distutils/configfile.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:distutils--examples] -file_filter = .//LC_MESSAGES/distutils/examples.po -trans.pt_BR = distutils/examples.po -source_file = cpython/Doc/locales/pot/distutils/examples.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:distutils--extending] -file_filter = .//LC_MESSAGES/distutils/extending.po -trans.pt_BR = distutils/extending.po -source_file = cpython/Doc/locales/pot/distutils/extending.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:distutils--index] -file_filter = .//LC_MESSAGES/distutils/index.po -trans.pt_BR = distutils/index.po -source_file = cpython/Doc/locales/pot/distutils/index.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:distutils--introduction] -file_filter = .//LC_MESSAGES/distutils/introduction.po -trans.pt_BR = distutils/introduction.po -source_file = cpython/Doc/locales/pot/distutils/introduction.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:distutils--packageindex] -file_filter = .//LC_MESSAGES/distutils/packageindex.po -trans.pt_BR = distutils/packageindex.po -source_file = cpython/Doc/locales/pot/distutils/packageindex.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:distutils--setupscript] -file_filter = .//LC_MESSAGES/distutils/setupscript.po -trans.pt_BR = distutils/setupscript.po -source_file = cpython/Doc/locales/pot/distutils/setupscript.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:distutils--sourcedist] -file_filter = .//LC_MESSAGES/distutils/sourcedist.po -trans.pt_BR = distutils/sourcedist.po -source_file = cpython/Doc/locales/pot/distutils/sourcedist.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:distutils--uploading] -file_filter = .//LC_MESSAGES/distutils/uploading.po -trans.pt_BR = distutils/uploading.po -source_file = cpython/Doc/locales/pot/distutils/uploading.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:extending--building] -file_filter = .//LC_MESSAGES/extending/building.po -trans.pt_BR = extending/building.po -source_file = cpython/Doc/locales/pot/extending/building.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:extending--embedding] -file_filter = .//LC_MESSAGES/extending/embedding.po -trans.pt_BR = extending/embedding.po -source_file = cpython/Doc/locales/pot/extending/embedding.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:extending--extending] -file_filter = .//LC_MESSAGES/extending/extending.po -trans.pt_BR = extending/extending.po -source_file = cpython/Doc/locales/pot/extending/extending.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:extending--index] -file_filter = .//LC_MESSAGES/extending/index.po -trans.pt_BR = extending/index.po -source_file = cpython/Doc/locales/pot/extending/index.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:extending--newtypes] -file_filter = .//LC_MESSAGES/extending/newtypes.po -trans.pt_BR = extending/newtypes.po -source_file = cpython/Doc/locales/pot/extending/newtypes.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:extending--newtypes_tutorial] -file_filter = .//LC_MESSAGES/extending/newtypes_tutorial.po -trans.pt_BR = extending/newtypes_tutorial.po -source_file = cpython/Doc/locales/pot/extending/newtypes_tutorial.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:extending--windows] -file_filter = .//LC_MESSAGES/extending/windows.po -trans.pt_BR = extending/windows.po -source_file = cpython/Doc/locales/pot/extending/windows.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:faq--design] -file_filter = .//LC_MESSAGES/faq/design.po -trans.pt_BR = faq/design.po -source_file = cpython/Doc/locales/pot/faq/design.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:faq--extending] -file_filter = .//LC_MESSAGES/faq/extending.po -trans.pt_BR = faq/extending.po -source_file = cpython/Doc/locales/pot/faq/extending.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:faq--general] -file_filter = .//LC_MESSAGES/faq/general.po -trans.pt_BR = faq/general.po -source_file = cpython/Doc/locales/pot/faq/general.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:faq--gui] -file_filter = .//LC_MESSAGES/faq/gui.po -trans.pt_BR = faq/gui.po -source_file = cpython/Doc/locales/pot/faq/gui.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:faq--index] -file_filter = .//LC_MESSAGES/faq/index.po -trans.pt_BR = faq/index.po -source_file = cpython/Doc/locales/pot/faq/index.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:faq--installed] -file_filter = .//LC_MESSAGES/faq/installed.po -trans.pt_BR = faq/installed.po -source_file = cpython/Doc/locales/pot/faq/installed.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:faq--library] -file_filter = .//LC_MESSAGES/faq/library.po -trans.pt_BR = faq/library.po -source_file = cpython/Doc/locales/pot/faq/library.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:faq--programming] -file_filter = .//LC_MESSAGES/faq/programming.po -trans.pt_BR = faq/programming.po -source_file = cpython/Doc/locales/pot/faq/programming.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:faq--windows] -file_filter = .//LC_MESSAGES/faq/windows.po -trans.pt_BR = faq/windows.po -source_file = cpython/Doc/locales/pot/faq/windows.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:glossary_] -file_filter = .//LC_MESSAGES/glossary.po -trans.pt_BR = glossary.po -source_file = cpython/Doc/locales/pot/glossary.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--annotations] -file_filter = .//LC_MESSAGES/howto/annotations.po -trans.pt_BR = howto/annotations.po -source_file = cpython/Doc/locales/pot/howto/annotations.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--argparse] -file_filter = .//LC_MESSAGES/howto/argparse.po -trans.pt_BR = howto/argparse.po -source_file = cpython/Doc/locales/pot/howto/argparse.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--clinic] -file_filter = .//LC_MESSAGES/howto/clinic.po -trans.pt_BR = howto/clinic.po -source_file = cpython/Doc/locales/pot/howto/clinic.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--cporting] -file_filter = .//LC_MESSAGES/howto/cporting.po -trans.pt_BR = howto/cporting.po -source_file = cpython/Doc/locales/pot/howto/cporting.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--curses] -file_filter = .//LC_MESSAGES/howto/curses.po -trans.pt_BR = howto/curses.po -source_file = cpython/Doc/locales/pot/howto/curses.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--descriptor] -file_filter = .//LC_MESSAGES/howto/descriptor.po -trans.pt_BR = howto/descriptor.po -source_file = cpython/Doc/locales/pot/howto/descriptor.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--enum] -file_filter = .//LC_MESSAGES/howto/enum.po -trans.pt_BR = howto/enum.po -source_file = cpython/Doc/locales/pot/howto/enum.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--functional] -file_filter = .//LC_MESSAGES/howto/functional.po -trans.pt_BR = howto/functional.po -source_file = cpython/Doc/locales/pot/howto/functional.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--index] -file_filter = .//LC_MESSAGES/howto/index.po -trans.pt_BR = howto/index.po -source_file = cpython/Doc/locales/pot/howto/index.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--instrumentation] -file_filter = .//LC_MESSAGES/howto/instrumentation.po -trans.pt_BR = howto/instrumentation.po -source_file = cpython/Doc/locales/pot/howto/instrumentation.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--ipaddress] -file_filter = .//LC_MESSAGES/howto/ipaddress.po -trans.pt_BR = howto/ipaddress.po -source_file = cpython/Doc/locales/pot/howto/ipaddress.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--isolating-extensions] -file_filter = .//LC_MESSAGES/howto/isolating-extensions.po -trans.pt_BR = howto/isolating-extensions.po -source_file = cpython/Doc/locales/pot/howto/isolating-extensions.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--logging] -file_filter = .//LC_MESSAGES/howto/logging.po -trans.pt_BR = howto/logging.po -source_file = cpython/Doc/locales/pot/howto/logging.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--logging-cookbook] -file_filter = .//LC_MESSAGES/howto/logging-cookbook.po -trans.pt_BR = howto/logging-cookbook.po -source_file = cpython/Doc/locales/pot/howto/logging-cookbook.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--pyporting] -file_filter = .//LC_MESSAGES/howto/pyporting.po -trans.pt_BR = howto/pyporting.po -source_file = cpython/Doc/locales/pot/howto/pyporting.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--regex] -file_filter = .//LC_MESSAGES/howto/regex.po -trans.pt_BR = howto/regex.po -source_file = cpython/Doc/locales/pot/howto/regex.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--sockets] -file_filter = .//LC_MESSAGES/howto/sockets.po -trans.pt_BR = howto/sockets.po -source_file = cpython/Doc/locales/pot/howto/sockets.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--sorting] -file_filter = .//LC_MESSAGES/howto/sorting.po -trans.pt_BR = howto/sorting.po -source_file = cpython/Doc/locales/pot/howto/sorting.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--unicode] -file_filter = .//LC_MESSAGES/howto/unicode.po -trans.pt_BR = howto/unicode.po -source_file = cpython/Doc/locales/pot/howto/unicode.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:howto--urllib2] -file_filter = .//LC_MESSAGES/howto/urllib2.po -trans.pt_BR = howto/urllib2.po -source_file = cpython/Doc/locales/pot/howto/urllib2.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:install--index] -file_filter = .//LC_MESSAGES/install/index.po -trans.pt_BR = install/index.po -source_file = cpython/Doc/locales/pot/install/index.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:installing--index] -file_filter = .//LC_MESSAGES/installing/index.po -trans.pt_BR = installing/index.po -source_file = cpython/Doc/locales/pot/installing/index.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--2to3] -file_filter = .//LC_MESSAGES/library/2to3.po -trans.pt_BR = library/2to3.po -source_file = cpython/Doc/locales/pot/library/2to3.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--__future__] -file_filter = .//LC_MESSAGES/library/__future__.po -trans.pt_BR = library/__future__.po -source_file = cpython/Doc/locales/pot/library/__future__.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--__main__] -file_filter = .//LC_MESSAGES/library/__main__.po -trans.pt_BR = library/__main__.po -source_file = cpython/Doc/locales/pot/library/__main__.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--_thread] -file_filter = .//LC_MESSAGES/library/_thread.po -trans.pt_BR = library/_thread.po -source_file = cpython/Doc/locales/pot/library/_thread.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--abc] -file_filter = .//LC_MESSAGES/library/abc.po -trans.pt_BR = library/abc.po -source_file = cpython/Doc/locales/pot/library/abc.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--aifc] -file_filter = .//LC_MESSAGES/library/aifc.po -trans.pt_BR = library/aifc.po -source_file = cpython/Doc/locales/pot/library/aifc.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--allos] -file_filter = .//LC_MESSAGES/library/allos.po -trans.pt_BR = library/allos.po -source_file = cpython/Doc/locales/pot/library/allos.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--archiving] -file_filter = .//LC_MESSAGES/library/archiving.po -trans.pt_BR = library/archiving.po -source_file = cpython/Doc/locales/pot/library/archiving.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--argparse] -file_filter = .//LC_MESSAGES/library/argparse.po -trans.pt_BR = library/argparse.po -source_file = cpython/Doc/locales/pot/library/argparse.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--array] -file_filter = .//LC_MESSAGES/library/array.po -trans.pt_BR = library/array.po -source_file = cpython/Doc/locales/pot/library/array.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--ast] -file_filter = .//LC_MESSAGES/library/ast.po -trans.pt_BR = library/ast.po -source_file = cpython/Doc/locales/pot/library/ast.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asynchat] -file_filter = .//LC_MESSAGES/library/asynchat.po -trans.pt_BR = library/asynchat.po -source_file = cpython/Doc/locales/pot/library/asynchat.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio] -file_filter = .//LC_MESSAGES/library/asyncio.po -trans.pt_BR = library/asyncio.po -source_file = cpython/Doc/locales/pot/library/asyncio.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-api-index] -file_filter = .//LC_MESSAGES/library/asyncio-api-index.po -trans.pt_BR = library/asyncio-api-index.po -source_file = cpython/Doc/locales/pot/library/asyncio-api-index.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-dev] -file_filter = .//LC_MESSAGES/library/asyncio-dev.po -trans.pt_BR = library/asyncio-dev.po -source_file = cpython/Doc/locales/pot/library/asyncio-dev.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-eventloop] -file_filter = .//LC_MESSAGES/library/asyncio-eventloop.po -trans.pt_BR = library/asyncio-eventloop.po -source_file = cpython/Doc/locales/pot/library/asyncio-eventloop.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-exceptions] -file_filter = .//LC_MESSAGES/library/asyncio-exceptions.po -trans.pt_BR = library/asyncio-exceptions.po -source_file = cpython/Doc/locales/pot/library/asyncio-exceptions.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-extending] -file_filter = .//LC_MESSAGES/library/asyncio-extending.po -trans.pt_BR = library/asyncio-extending.po -source_file = cpython/Doc/locales/pot/library/asyncio-extending.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-future] -file_filter = .//LC_MESSAGES/library/asyncio-future.po -trans.pt_BR = library/asyncio-future.po -source_file = cpython/Doc/locales/pot/library/asyncio-future.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-llapi-index] -file_filter = .//LC_MESSAGES/library/asyncio-llapi-index.po -trans.pt_BR = library/asyncio-llapi-index.po -source_file = cpython/Doc/locales/pot/library/asyncio-llapi-index.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-platforms] -file_filter = .//LC_MESSAGES/library/asyncio-platforms.po -trans.pt_BR = library/asyncio-platforms.po -source_file = cpython/Doc/locales/pot/library/asyncio-platforms.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-policy] -file_filter = .//LC_MESSAGES/library/asyncio-policy.po -trans.pt_BR = library/asyncio-policy.po -source_file = cpython/Doc/locales/pot/library/asyncio-policy.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-protocol] -file_filter = .//LC_MESSAGES/library/asyncio-protocol.po -trans.pt_BR = library/asyncio-protocol.po -source_file = cpython/Doc/locales/pot/library/asyncio-protocol.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-queue] -file_filter = .//LC_MESSAGES/library/asyncio-queue.po -trans.pt_BR = library/asyncio-queue.po -source_file = cpython/Doc/locales/pot/library/asyncio-queue.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-runner] -file_filter = .//LC_MESSAGES/library/asyncio-runner.po -trans.pt_BR = library/asyncio-runner.po -source_file = cpython/Doc/locales/pot/library/asyncio-runner.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-stream] -file_filter = .//LC_MESSAGES/library/asyncio-stream.po -trans.pt_BR = library/asyncio-stream.po -source_file = cpython/Doc/locales/pot/library/asyncio-stream.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-subprocess] -file_filter = .//LC_MESSAGES/library/asyncio-subprocess.po -trans.pt_BR = library/asyncio-subprocess.po -source_file = cpython/Doc/locales/pot/library/asyncio-subprocess.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-sync] -file_filter = .//LC_MESSAGES/library/asyncio-sync.po -trans.pt_BR = library/asyncio-sync.po -source_file = cpython/Doc/locales/pot/library/asyncio-sync.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncio-task] -file_filter = .//LC_MESSAGES/library/asyncio-task.po -trans.pt_BR = library/asyncio-task.po -source_file = cpython/Doc/locales/pot/library/asyncio-task.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--asyncore] -file_filter = .//LC_MESSAGES/library/asyncore.po -trans.pt_BR = library/asyncore.po -source_file = cpython/Doc/locales/pot/library/asyncore.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--atexit] -file_filter = .//LC_MESSAGES/library/atexit.po -trans.pt_BR = library/atexit.po -source_file = cpython/Doc/locales/pot/library/atexit.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--audioop] -file_filter = .//LC_MESSAGES/library/audioop.po -trans.pt_BR = library/audioop.po -source_file = cpython/Doc/locales/pot/library/audioop.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--audit_events] -file_filter = .//LC_MESSAGES/library/audit_events.po -trans.pt_BR = library/audit_events.po -source_file = cpython/Doc/locales/pot/library/audit_events.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--base64] -file_filter = .//LC_MESSAGES/library/base64.po -trans.pt_BR = library/base64.po -source_file = cpython/Doc/locales/pot/library/base64.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--bdb] -file_filter = .//LC_MESSAGES/library/bdb.po -trans.pt_BR = library/bdb.po -source_file = cpython/Doc/locales/pot/library/bdb.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--binary] -file_filter = .//LC_MESSAGES/library/binary.po -trans.pt_BR = library/binary.po -source_file = cpython/Doc/locales/pot/library/binary.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--binascii] -file_filter = .//LC_MESSAGES/library/binascii.po -trans.pt_BR = library/binascii.po -source_file = cpython/Doc/locales/pot/library/binascii.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--bisect] -file_filter = .//LC_MESSAGES/library/bisect.po -trans.pt_BR = library/bisect.po -source_file = cpython/Doc/locales/pot/library/bisect.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--builtins] -file_filter = .//LC_MESSAGES/library/builtins.po -trans.pt_BR = library/builtins.po -source_file = cpython/Doc/locales/pot/library/builtins.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--bz2] -file_filter = .//LC_MESSAGES/library/bz2.po -trans.pt_BR = library/bz2.po -source_file = cpython/Doc/locales/pot/library/bz2.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--calendar] -file_filter = .//LC_MESSAGES/library/calendar.po -trans.pt_BR = library/calendar.po -source_file = cpython/Doc/locales/pot/library/calendar.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--cgi] -file_filter = .//LC_MESSAGES/library/cgi.po -trans.pt_BR = library/cgi.po -source_file = cpython/Doc/locales/pot/library/cgi.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--cgitb] -file_filter = .//LC_MESSAGES/library/cgitb.po -trans.pt_BR = library/cgitb.po -source_file = cpython/Doc/locales/pot/library/cgitb.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--chunk] -file_filter = .//LC_MESSAGES/library/chunk.po -trans.pt_BR = library/chunk.po -source_file = cpython/Doc/locales/pot/library/chunk.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--cmath] -file_filter = .//LC_MESSAGES/library/cmath.po -trans.pt_BR = library/cmath.po -source_file = cpython/Doc/locales/pot/library/cmath.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--cmd] -file_filter = .//LC_MESSAGES/library/cmd.po -trans.pt_BR = library/cmd.po -source_file = cpython/Doc/locales/pot/library/cmd.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--code] -file_filter = .//LC_MESSAGES/library/code.po -trans.pt_BR = library/code.po -source_file = cpython/Doc/locales/pot/library/code.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--codecs] -file_filter = .//LC_MESSAGES/library/codecs.po -trans.pt_BR = library/codecs.po -source_file = cpython/Doc/locales/pot/library/codecs.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--codeop] -file_filter = .//LC_MESSAGES/library/codeop.po -trans.pt_BR = library/codeop.po -source_file = cpython/Doc/locales/pot/library/codeop.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--collections] -file_filter = .//LC_MESSAGES/library/collections.po -trans.pt_BR = library/collections.po -source_file = cpython/Doc/locales/pot/library/collections.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--collections_abc] -file_filter = .//LC_MESSAGES/library/collections.abc.po -trans.pt_BR = library/collections.abc.po -source_file = cpython/Doc/locales/pot/library/collections.abc.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--colorsys] -file_filter = .//LC_MESSAGES/library/colorsys.po -trans.pt_BR = library/colorsys.po -source_file = cpython/Doc/locales/pot/library/colorsys.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--compileall] -file_filter = .//LC_MESSAGES/library/compileall.po -trans.pt_BR = library/compileall.po -source_file = cpython/Doc/locales/pot/library/compileall.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--concurrency] -file_filter = .//LC_MESSAGES/library/concurrency.po -trans.pt_BR = library/concurrency.po -source_file = cpython/Doc/locales/pot/library/concurrency.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--concurrent] -file_filter = .//LC_MESSAGES/library/concurrent.po -trans.pt_BR = library/concurrent.po -source_file = cpython/Doc/locales/pot/library/concurrent.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--concurrent_futures] -file_filter = .//LC_MESSAGES/library/concurrent.futures.po -trans.pt_BR = library/concurrent.futures.po -source_file = cpython/Doc/locales/pot/library/concurrent.futures.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--configparser] -file_filter = .//LC_MESSAGES/library/configparser.po -trans.pt_BR = library/configparser.po -source_file = cpython/Doc/locales/pot/library/configparser.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--constants] -file_filter = .//LC_MESSAGES/library/constants.po -trans.pt_BR = library/constants.po -source_file = cpython/Doc/locales/pot/library/constants.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--contextlib] -file_filter = .//LC_MESSAGES/library/contextlib.po -trans.pt_BR = library/contextlib.po -source_file = cpython/Doc/locales/pot/library/contextlib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--contextvars] -file_filter = .//LC_MESSAGES/library/contextvars.po -trans.pt_BR = library/contextvars.po -source_file = cpython/Doc/locales/pot/library/contextvars.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--copy] -file_filter = .//LC_MESSAGES/library/copy.po -trans.pt_BR = library/copy.po -source_file = cpython/Doc/locales/pot/library/copy.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--copyreg] -file_filter = .//LC_MESSAGES/library/copyreg.po -trans.pt_BR = library/copyreg.po -source_file = cpython/Doc/locales/pot/library/copyreg.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--crypt] -file_filter = .//LC_MESSAGES/library/crypt.po -trans.pt_BR = library/crypt.po -source_file = cpython/Doc/locales/pot/library/crypt.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--crypto] -file_filter = .//LC_MESSAGES/library/crypto.po -trans.pt_BR = library/crypto.po -source_file = cpython/Doc/locales/pot/library/crypto.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--csv] -file_filter = .//LC_MESSAGES/library/csv.po -trans.pt_BR = library/csv.po -source_file = cpython/Doc/locales/pot/library/csv.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--ctypes] -file_filter = .//LC_MESSAGES/library/ctypes.po -trans.pt_BR = library/ctypes.po -source_file = cpython/Doc/locales/pot/library/ctypes.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--curses] -file_filter = .//LC_MESSAGES/library/curses.po -trans.pt_BR = library/curses.po -source_file = cpython/Doc/locales/pot/library/curses.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--curses_ascii] -file_filter = .//LC_MESSAGES/library/curses.ascii.po -trans.pt_BR = library/curses.ascii.po -source_file = cpython/Doc/locales/pot/library/curses.ascii.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--curses_panel] -file_filter = .//LC_MESSAGES/library/curses.panel.po -trans.pt_BR = library/curses.panel.po -source_file = cpython/Doc/locales/pot/library/curses.panel.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--custominterp] -file_filter = .//LC_MESSAGES/library/custominterp.po -trans.pt_BR = library/custominterp.po -source_file = cpython/Doc/locales/pot/library/custominterp.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--dataclasses] -file_filter = .//LC_MESSAGES/library/dataclasses.po -trans.pt_BR = library/dataclasses.po -source_file = cpython/Doc/locales/pot/library/dataclasses.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--datatypes] -file_filter = .//LC_MESSAGES/library/datatypes.po -trans.pt_BR = library/datatypes.po -source_file = cpython/Doc/locales/pot/library/datatypes.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--datetime] -file_filter = .//LC_MESSAGES/library/datetime.po -trans.pt_BR = library/datetime.po -source_file = cpython/Doc/locales/pot/library/datetime.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--dbm] -file_filter = .//LC_MESSAGES/library/dbm.po -trans.pt_BR = library/dbm.po -source_file = cpython/Doc/locales/pot/library/dbm.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--debug] -file_filter = .//LC_MESSAGES/library/debug.po -trans.pt_BR = library/debug.po -source_file = cpython/Doc/locales/pot/library/debug.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--decimal] -file_filter = .//LC_MESSAGES/library/decimal.po -trans.pt_BR = library/decimal.po -source_file = cpython/Doc/locales/pot/library/decimal.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--development] -file_filter = .//LC_MESSAGES/library/development.po -trans.pt_BR = library/development.po -source_file = cpython/Doc/locales/pot/library/development.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--devmode] -file_filter = .//LC_MESSAGES/library/devmode.po -trans.pt_BR = library/devmode.po -source_file = cpython/Doc/locales/pot/library/devmode.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--dialog] -file_filter = .//LC_MESSAGES/library/dialog.po -trans.pt_BR = library/dialog.po -source_file = cpython/Doc/locales/pot/library/dialog.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--difflib] -file_filter = .//LC_MESSAGES/library/difflib.po -trans.pt_BR = library/difflib.po -source_file = cpython/Doc/locales/pot/library/difflib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--dis] -file_filter = .//LC_MESSAGES/library/dis.po -trans.pt_BR = library/dis.po -source_file = cpython/Doc/locales/pot/library/dis.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--distribution] -file_filter = .//LC_MESSAGES/library/distribution.po -trans.pt_BR = library/distribution.po -source_file = cpython/Doc/locales/pot/library/distribution.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--distutils] -file_filter = .//LC_MESSAGES/library/distutils.po -trans.pt_BR = library/distutils.po -source_file = cpython/Doc/locales/pot/library/distutils.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--doctest] -file_filter = .//LC_MESSAGES/library/doctest.po -trans.pt_BR = library/doctest.po -source_file = cpython/Doc/locales/pot/library/doctest.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email] -file_filter = .//LC_MESSAGES/library/email.po -trans.pt_BR = library/email.po -source_file = cpython/Doc/locales/pot/library/email.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_charset] -file_filter = .//LC_MESSAGES/library/email.charset.po -trans.pt_BR = library/email.charset.po -source_file = cpython/Doc/locales/pot/library/email.charset.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_compat32-message] -file_filter = .//LC_MESSAGES/library/email.compat32-message.po -trans.pt_BR = library/email.compat32-message.po -source_file = cpython/Doc/locales/pot/library/email.compat32-message.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_contentmanager] -file_filter = .//LC_MESSAGES/library/email.contentmanager.po -trans.pt_BR = library/email.contentmanager.po -source_file = cpython/Doc/locales/pot/library/email.contentmanager.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_encoders] -file_filter = .//LC_MESSAGES/library/email.encoders.po -trans.pt_BR = library/email.encoders.po -source_file = cpython/Doc/locales/pot/library/email.encoders.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_errors] -file_filter = .//LC_MESSAGES/library/email.errors.po -trans.pt_BR = library/email.errors.po -source_file = cpython/Doc/locales/pot/library/email.errors.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_examples] -file_filter = .//LC_MESSAGES/library/email.examples.po -trans.pt_BR = library/email.examples.po -source_file = cpython/Doc/locales/pot/library/email.examples.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_generator] -file_filter = .//LC_MESSAGES/library/email.generator.po -trans.pt_BR = library/email.generator.po -source_file = cpython/Doc/locales/pot/library/email.generator.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_header] -file_filter = .//LC_MESSAGES/library/email.header.po -trans.pt_BR = library/email.header.po -source_file = cpython/Doc/locales/pot/library/email.header.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_headerregistry] -file_filter = .//LC_MESSAGES/library/email.headerregistry.po -trans.pt_BR = library/email.headerregistry.po -source_file = cpython/Doc/locales/pot/library/email.headerregistry.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_iterators] -file_filter = .//LC_MESSAGES/library/email.iterators.po -trans.pt_BR = library/email.iterators.po -source_file = cpython/Doc/locales/pot/library/email.iterators.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_message] -file_filter = .//LC_MESSAGES/library/email.message.po -trans.pt_BR = library/email.message.po -source_file = cpython/Doc/locales/pot/library/email.message.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_mime] -file_filter = .//LC_MESSAGES/library/email.mime.po -trans.pt_BR = library/email.mime.po -source_file = cpython/Doc/locales/pot/library/email.mime.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_parser] -file_filter = .//LC_MESSAGES/library/email.parser.po -trans.pt_BR = library/email.parser.po -source_file = cpython/Doc/locales/pot/library/email.parser.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_policy] -file_filter = .//LC_MESSAGES/library/email.policy.po -trans.pt_BR = library/email.policy.po -source_file = cpython/Doc/locales/pot/library/email.policy.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--email_utils] -file_filter = .//LC_MESSAGES/library/email.utils.po -trans.pt_BR = library/email.utils.po -source_file = cpython/Doc/locales/pot/library/email.utils.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--ensurepip] -file_filter = .//LC_MESSAGES/library/ensurepip.po -trans.pt_BR = library/ensurepip.po -source_file = cpython/Doc/locales/pot/library/ensurepip.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--enum] -file_filter = .//LC_MESSAGES/library/enum.po -trans.pt_BR = library/enum.po -source_file = cpython/Doc/locales/pot/library/enum.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--errno] -file_filter = .//LC_MESSAGES/library/errno.po -trans.pt_BR = library/errno.po -source_file = cpython/Doc/locales/pot/library/errno.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--exceptions] -file_filter = .//LC_MESSAGES/library/exceptions.po -trans.pt_BR = library/exceptions.po -source_file = cpython/Doc/locales/pot/library/exceptions.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--faulthandler] -file_filter = .//LC_MESSAGES/library/faulthandler.po -trans.pt_BR = library/faulthandler.po -source_file = cpython/Doc/locales/pot/library/faulthandler.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--fcntl] -file_filter = .//LC_MESSAGES/library/fcntl.po -trans.pt_BR = library/fcntl.po -source_file = cpython/Doc/locales/pot/library/fcntl.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--filecmp] -file_filter = .//LC_MESSAGES/library/filecmp.po -trans.pt_BR = library/filecmp.po -source_file = cpython/Doc/locales/pot/library/filecmp.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--fileformats] -file_filter = .//LC_MESSAGES/library/fileformats.po -trans.pt_BR = library/fileformats.po -source_file = cpython/Doc/locales/pot/library/fileformats.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--fileinput] -file_filter = .//LC_MESSAGES/library/fileinput.po -trans.pt_BR = library/fileinput.po -source_file = cpython/Doc/locales/pot/library/fileinput.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--filesys] -file_filter = .//LC_MESSAGES/library/filesys.po -trans.pt_BR = library/filesys.po -source_file = cpython/Doc/locales/pot/library/filesys.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--fnmatch] -file_filter = .//LC_MESSAGES/library/fnmatch.po -trans.pt_BR = library/fnmatch.po -source_file = cpython/Doc/locales/pot/library/fnmatch.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--fractions] -file_filter = .//LC_MESSAGES/library/fractions.po -trans.pt_BR = library/fractions.po -source_file = cpython/Doc/locales/pot/library/fractions.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--frameworks] -file_filter = .//LC_MESSAGES/library/frameworks.po -trans.pt_BR = library/frameworks.po -source_file = cpython/Doc/locales/pot/library/frameworks.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--ftplib] -file_filter = .//LC_MESSAGES/library/ftplib.po -trans.pt_BR = library/ftplib.po -source_file = cpython/Doc/locales/pot/library/ftplib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--functional] -file_filter = .//LC_MESSAGES/library/functional.po -trans.pt_BR = library/functional.po -source_file = cpython/Doc/locales/pot/library/functional.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--functions] -file_filter = .//LC_MESSAGES/library/functions.po -trans.pt_BR = library/functions.po -source_file = cpython/Doc/locales/pot/library/functions.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--functools] -file_filter = .//LC_MESSAGES/library/functools.po -trans.pt_BR = library/functools.po -source_file = cpython/Doc/locales/pot/library/functools.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--gc] -file_filter = .//LC_MESSAGES/library/gc.po -trans.pt_BR = library/gc.po -source_file = cpython/Doc/locales/pot/library/gc.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--getopt] -file_filter = .//LC_MESSAGES/library/getopt.po -trans.pt_BR = library/getopt.po -source_file = cpython/Doc/locales/pot/library/getopt.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--getpass] -file_filter = .//LC_MESSAGES/library/getpass.po -trans.pt_BR = library/getpass.po -source_file = cpython/Doc/locales/pot/library/getpass.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--gettext] -file_filter = .//LC_MESSAGES/library/gettext.po -trans.pt_BR = library/gettext.po -source_file = cpython/Doc/locales/pot/library/gettext.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--glob] -file_filter = .//LC_MESSAGES/library/glob.po -trans.pt_BR = library/glob.po -source_file = cpython/Doc/locales/pot/library/glob.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--graphlib] -file_filter = .//LC_MESSAGES/library/graphlib.po -trans.pt_BR = library/graphlib.po -source_file = cpython/Doc/locales/pot/library/graphlib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--grp] -file_filter = .//LC_MESSAGES/library/grp.po -trans.pt_BR = library/grp.po -source_file = cpython/Doc/locales/pot/library/grp.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--gzip] -file_filter = .//LC_MESSAGES/library/gzip.po -trans.pt_BR = library/gzip.po -source_file = cpython/Doc/locales/pot/library/gzip.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--hashlib] -file_filter = .//LC_MESSAGES/library/hashlib.po -trans.pt_BR = library/hashlib.po -source_file = cpython/Doc/locales/pot/library/hashlib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--heapq] -file_filter = .//LC_MESSAGES/library/heapq.po -trans.pt_BR = library/heapq.po -source_file = cpython/Doc/locales/pot/library/heapq.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--hmac] -file_filter = .//LC_MESSAGES/library/hmac.po -trans.pt_BR = library/hmac.po -source_file = cpython/Doc/locales/pot/library/hmac.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--html] -file_filter = .//LC_MESSAGES/library/html.po -trans.pt_BR = library/html.po -source_file = cpython/Doc/locales/pot/library/html.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--html_entities] -file_filter = .//LC_MESSAGES/library/html.entities.po -trans.pt_BR = library/html.entities.po -source_file = cpython/Doc/locales/pot/library/html.entities.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--html_parser] -file_filter = .//LC_MESSAGES/library/html.parser.po -trans.pt_BR = library/html.parser.po -source_file = cpython/Doc/locales/pot/library/html.parser.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--http] -file_filter = .//LC_MESSAGES/library/http.po -trans.pt_BR = library/http.po -source_file = cpython/Doc/locales/pot/library/http.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--http_client] -file_filter = .//LC_MESSAGES/library/http.client.po -trans.pt_BR = library/http.client.po -source_file = cpython/Doc/locales/pot/library/http.client.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--http_cookiejar] -file_filter = .//LC_MESSAGES/library/http.cookiejar.po -trans.pt_BR = library/http.cookiejar.po -source_file = cpython/Doc/locales/pot/library/http.cookiejar.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--http_cookies] -file_filter = .//LC_MESSAGES/library/http.cookies.po -trans.pt_BR = library/http.cookies.po -source_file = cpython/Doc/locales/pot/library/http.cookies.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--http_server] -file_filter = .//LC_MESSAGES/library/http.server.po -trans.pt_BR = library/http.server.po -source_file = cpython/Doc/locales/pot/library/http.server.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--i18n] -file_filter = .//LC_MESSAGES/library/i18n.po -trans.pt_BR = library/i18n.po -source_file = cpython/Doc/locales/pot/library/i18n.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--idle] -file_filter = .//LC_MESSAGES/library/idle.po -trans.pt_BR = library/idle.po -source_file = cpython/Doc/locales/pot/library/idle.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--imaplib] -file_filter = .//LC_MESSAGES/library/imaplib.po -trans.pt_BR = library/imaplib.po -source_file = cpython/Doc/locales/pot/library/imaplib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--imghdr] -file_filter = .//LC_MESSAGES/library/imghdr.po -trans.pt_BR = library/imghdr.po -source_file = cpython/Doc/locales/pot/library/imghdr.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--imp] -file_filter = .//LC_MESSAGES/library/imp.po -trans.pt_BR = library/imp.po -source_file = cpython/Doc/locales/pot/library/imp.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--importlib] -file_filter = .//LC_MESSAGES/library/importlib.po -trans.pt_BR = library/importlib.po -source_file = cpython/Doc/locales/pot/library/importlib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--importlib_metadata] -file_filter = .//LC_MESSAGES/library/importlib.metadata.po -trans.pt_BR = library/importlib.metadata.po -source_file = cpython/Doc/locales/pot/library/importlib.metadata.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--importlib_resources] -file_filter = .//LC_MESSAGES/library/importlib.resources.po -trans.pt_BR = library/importlib.resources.po -source_file = cpython/Doc/locales/pot/library/importlib.resources.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--importlib_resources_abc] -file_filter = .//LC_MESSAGES/library/importlib.resources.abc.po -trans.pt_BR = library/importlib.resources.abc.po -source_file = cpython/Doc/locales/pot/library/importlib.resources.abc.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--index] -file_filter = .//LC_MESSAGES/library/index.po -trans.pt_BR = library/index.po -source_file = cpython/Doc/locales/pot/library/index.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--inspect] -file_filter = .//LC_MESSAGES/library/inspect.po -trans.pt_BR = library/inspect.po -source_file = cpython/Doc/locales/pot/library/inspect.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--internet] -file_filter = .//LC_MESSAGES/library/internet.po -trans.pt_BR = library/internet.po -source_file = cpython/Doc/locales/pot/library/internet.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--intro] -file_filter = .//LC_MESSAGES/library/intro.po -trans.pt_BR = library/intro.po -source_file = cpython/Doc/locales/pot/library/intro.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--io] -file_filter = .//LC_MESSAGES/library/io.po -trans.pt_BR = library/io.po -source_file = cpython/Doc/locales/pot/library/io.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--ipaddress] -file_filter = .//LC_MESSAGES/library/ipaddress.po -trans.pt_BR = library/ipaddress.po -source_file = cpython/Doc/locales/pot/library/ipaddress.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--ipc] -file_filter = .//LC_MESSAGES/library/ipc.po -trans.pt_BR = library/ipc.po -source_file = cpython/Doc/locales/pot/library/ipc.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--itertools] -file_filter = .//LC_MESSAGES/library/itertools.po -trans.pt_BR = library/itertools.po -source_file = cpython/Doc/locales/pot/library/itertools.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--json] -file_filter = .//LC_MESSAGES/library/json.po -trans.pt_BR = library/json.po -source_file = cpython/Doc/locales/pot/library/json.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--keyword] -file_filter = .//LC_MESSAGES/library/keyword.po -trans.pt_BR = library/keyword.po -source_file = cpython/Doc/locales/pot/library/keyword.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--language] -file_filter = .//LC_MESSAGES/library/language.po -trans.pt_BR = library/language.po -source_file = cpython/Doc/locales/pot/library/language.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--linecache] -file_filter = .//LC_MESSAGES/library/linecache.po -trans.pt_BR = library/linecache.po -source_file = cpython/Doc/locales/pot/library/linecache.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--locale] -file_filter = .//LC_MESSAGES/library/locale.po -trans.pt_BR = library/locale.po -source_file = cpython/Doc/locales/pot/library/locale.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--logging] -file_filter = .//LC_MESSAGES/library/logging.po -trans.pt_BR = library/logging.po -source_file = cpython/Doc/locales/pot/library/logging.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--logging_config] -file_filter = .//LC_MESSAGES/library/logging.config.po -trans.pt_BR = library/logging.config.po -source_file = cpython/Doc/locales/pot/library/logging.config.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--logging_handlers] -file_filter = .//LC_MESSAGES/library/logging.handlers.po -trans.pt_BR = library/logging.handlers.po -source_file = cpython/Doc/locales/pot/library/logging.handlers.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--lzma] -file_filter = .//LC_MESSAGES/library/lzma.po -trans.pt_BR = library/lzma.po -source_file = cpython/Doc/locales/pot/library/lzma.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--mailbox] -file_filter = .//LC_MESSAGES/library/mailbox.po -trans.pt_BR = library/mailbox.po -source_file = cpython/Doc/locales/pot/library/mailbox.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--mailcap] -file_filter = .//LC_MESSAGES/library/mailcap.po -trans.pt_BR = library/mailcap.po -source_file = cpython/Doc/locales/pot/library/mailcap.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--markup] -file_filter = .//LC_MESSAGES/library/markup.po -trans.pt_BR = library/markup.po -source_file = cpython/Doc/locales/pot/library/markup.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--marshal] -file_filter = .//LC_MESSAGES/library/marshal.po -trans.pt_BR = library/marshal.po -source_file = cpython/Doc/locales/pot/library/marshal.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--math] -file_filter = .//LC_MESSAGES/library/math.po -trans.pt_BR = library/math.po -source_file = cpython/Doc/locales/pot/library/math.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--mimetypes] -file_filter = .//LC_MESSAGES/library/mimetypes.po -trans.pt_BR = library/mimetypes.po -source_file = cpython/Doc/locales/pot/library/mimetypes.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--mm] -file_filter = .//LC_MESSAGES/library/mm.po -trans.pt_BR = library/mm.po -source_file = cpython/Doc/locales/pot/library/mm.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--mmap] -file_filter = .//LC_MESSAGES/library/mmap.po -trans.pt_BR = library/mmap.po -source_file = cpython/Doc/locales/pot/library/mmap.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--modulefinder] -file_filter = .//LC_MESSAGES/library/modulefinder.po -trans.pt_BR = library/modulefinder.po -source_file = cpython/Doc/locales/pot/library/modulefinder.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--modules] -file_filter = .//LC_MESSAGES/library/modules.po -trans.pt_BR = library/modules.po -source_file = cpython/Doc/locales/pot/library/modules.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--msilib] -file_filter = .//LC_MESSAGES/library/msilib.po -trans.pt_BR = library/msilib.po -source_file = cpython/Doc/locales/pot/library/msilib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--msvcrt] -file_filter = .//LC_MESSAGES/library/msvcrt.po -trans.pt_BR = library/msvcrt.po -source_file = cpython/Doc/locales/pot/library/msvcrt.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--multiprocessing] -file_filter = .//LC_MESSAGES/library/multiprocessing.po -trans.pt_BR = library/multiprocessing.po -source_file = cpython/Doc/locales/pot/library/multiprocessing.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--multiprocessing_shared_memory] -file_filter = .//LC_MESSAGES/library/multiprocessing.shared_memory.po -trans.pt_BR = library/multiprocessing.shared_memory.po -source_file = cpython/Doc/locales/pot/library/multiprocessing.shared_memory.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--netdata] -file_filter = .//LC_MESSAGES/library/netdata.po -trans.pt_BR = library/netdata.po -source_file = cpython/Doc/locales/pot/library/netdata.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--netrc] -file_filter = .//LC_MESSAGES/library/netrc.po -trans.pt_BR = library/netrc.po -source_file = cpython/Doc/locales/pot/library/netrc.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--nis] -file_filter = .//LC_MESSAGES/library/nis.po -trans.pt_BR = library/nis.po -source_file = cpython/Doc/locales/pot/library/nis.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--nntplib] -file_filter = .//LC_MESSAGES/library/nntplib.po -trans.pt_BR = library/nntplib.po -source_file = cpython/Doc/locales/pot/library/nntplib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--numbers] -file_filter = .//LC_MESSAGES/library/numbers.po -trans.pt_BR = library/numbers.po -source_file = cpython/Doc/locales/pot/library/numbers.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--numeric] -file_filter = .//LC_MESSAGES/library/numeric.po -trans.pt_BR = library/numeric.po -source_file = cpython/Doc/locales/pot/library/numeric.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--operator] -file_filter = .//LC_MESSAGES/library/operator.po -trans.pt_BR = library/operator.po -source_file = cpython/Doc/locales/pot/library/operator.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--optparse] -file_filter = .//LC_MESSAGES/library/optparse.po -trans.pt_BR = library/optparse.po -source_file = cpython/Doc/locales/pot/library/optparse.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--os] -file_filter = .//LC_MESSAGES/library/os.po -trans.pt_BR = library/os.po -source_file = cpython/Doc/locales/pot/library/os.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--os_path] -file_filter = .//LC_MESSAGES/library/os.path.po -trans.pt_BR = library/os.path.po -source_file = cpython/Doc/locales/pot/library/os.path.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--ossaudiodev] -file_filter = .//LC_MESSAGES/library/ossaudiodev.po -trans.pt_BR = library/ossaudiodev.po -source_file = cpython/Doc/locales/pot/library/ossaudiodev.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--pathlib] -file_filter = .//LC_MESSAGES/library/pathlib.po -trans.pt_BR = library/pathlib.po -source_file = cpython/Doc/locales/pot/library/pathlib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--pdb] -file_filter = .//LC_MESSAGES/library/pdb.po -trans.pt_BR = library/pdb.po -source_file = cpython/Doc/locales/pot/library/pdb.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--persistence] -file_filter = .//LC_MESSAGES/library/persistence.po -trans.pt_BR = library/persistence.po -source_file = cpython/Doc/locales/pot/library/persistence.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--pickle] -file_filter = .//LC_MESSAGES/library/pickle.po -trans.pt_BR = library/pickle.po -source_file = cpython/Doc/locales/pot/library/pickle.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--pickletools] -file_filter = .//LC_MESSAGES/library/pickletools.po -trans.pt_BR = library/pickletools.po -source_file = cpython/Doc/locales/pot/library/pickletools.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--pipes] -file_filter = .//LC_MESSAGES/library/pipes.po -trans.pt_BR = library/pipes.po -source_file = cpython/Doc/locales/pot/library/pipes.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--pkgutil] -file_filter = .//LC_MESSAGES/library/pkgutil.po -trans.pt_BR = library/pkgutil.po -source_file = cpython/Doc/locales/pot/library/pkgutil.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--platform] -file_filter = .//LC_MESSAGES/library/platform.po -trans.pt_BR = library/platform.po -source_file = cpython/Doc/locales/pot/library/platform.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--plistlib] -file_filter = .//LC_MESSAGES/library/plistlib.po -trans.pt_BR = library/plistlib.po -source_file = cpython/Doc/locales/pot/library/plistlib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--poplib] -file_filter = .//LC_MESSAGES/library/poplib.po -trans.pt_BR = library/poplib.po -source_file = cpython/Doc/locales/pot/library/poplib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--posix] -file_filter = .//LC_MESSAGES/library/posix.po -trans.pt_BR = library/posix.po -source_file = cpython/Doc/locales/pot/library/posix.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--pprint] -file_filter = .//LC_MESSAGES/library/pprint.po -trans.pt_BR = library/pprint.po -source_file = cpython/Doc/locales/pot/library/pprint.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--profile] -file_filter = .//LC_MESSAGES/library/profile.po -trans.pt_BR = library/profile.po -source_file = cpython/Doc/locales/pot/library/profile.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--pty] -file_filter = .//LC_MESSAGES/library/pty.po -trans.pt_BR = library/pty.po -source_file = cpython/Doc/locales/pot/library/pty.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--pwd] -file_filter = .//LC_MESSAGES/library/pwd.po -trans.pt_BR = library/pwd.po -source_file = cpython/Doc/locales/pot/library/pwd.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--py_compile] -file_filter = .//LC_MESSAGES/library/py_compile.po -trans.pt_BR = library/py_compile.po -source_file = cpython/Doc/locales/pot/library/py_compile.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--pyclbr] -file_filter = .//LC_MESSAGES/library/pyclbr.po -trans.pt_BR = library/pyclbr.po -source_file = cpython/Doc/locales/pot/library/pyclbr.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--pydoc] -file_filter = .//LC_MESSAGES/library/pydoc.po -trans.pt_BR = library/pydoc.po -source_file = cpython/Doc/locales/pot/library/pydoc.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--pyexpat] -file_filter = .//LC_MESSAGES/library/pyexpat.po -trans.pt_BR = library/pyexpat.po -source_file = cpython/Doc/locales/pot/library/pyexpat.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--python] -file_filter = .//LC_MESSAGES/library/python.po -trans.pt_BR = library/python.po -source_file = cpython/Doc/locales/pot/library/python.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--queue] -file_filter = .//LC_MESSAGES/library/queue.po -trans.pt_BR = library/queue.po -source_file = cpython/Doc/locales/pot/library/queue.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--quopri] -file_filter = .//LC_MESSAGES/library/quopri.po -trans.pt_BR = library/quopri.po -source_file = cpython/Doc/locales/pot/library/quopri.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--random] -file_filter = .//LC_MESSAGES/library/random.po -trans.pt_BR = library/random.po -source_file = cpython/Doc/locales/pot/library/random.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--re] -file_filter = .//LC_MESSAGES/library/re.po -trans.pt_BR = library/re.po -source_file = cpython/Doc/locales/pot/library/re.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--readline] -file_filter = .//LC_MESSAGES/library/readline.po -trans.pt_BR = library/readline.po -source_file = cpython/Doc/locales/pot/library/readline.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--reprlib] -file_filter = .//LC_MESSAGES/library/reprlib.po -trans.pt_BR = library/reprlib.po -source_file = cpython/Doc/locales/pot/library/reprlib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--resource] -file_filter = .//LC_MESSAGES/library/resource.po -trans.pt_BR = library/resource.po -source_file = cpython/Doc/locales/pot/library/resource.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--rlcompleter] -file_filter = .//LC_MESSAGES/library/rlcompleter.po -trans.pt_BR = library/rlcompleter.po -source_file = cpython/Doc/locales/pot/library/rlcompleter.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--runpy] -file_filter = .//LC_MESSAGES/library/runpy.po -trans.pt_BR = library/runpy.po -source_file = cpython/Doc/locales/pot/library/runpy.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--sched] -file_filter = .//LC_MESSAGES/library/sched.po -trans.pt_BR = library/sched.po -source_file = cpython/Doc/locales/pot/library/sched.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--secrets] -file_filter = .//LC_MESSAGES/library/secrets.po -trans.pt_BR = library/secrets.po -source_file = cpython/Doc/locales/pot/library/secrets.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--security_warnings] -file_filter = .//LC_MESSAGES/library/security_warnings.po -trans.pt_BR = library/security_warnings.po -source_file = cpython/Doc/locales/pot/library/security_warnings.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--select] -file_filter = .//LC_MESSAGES/library/select.po -trans.pt_BR = library/select.po -source_file = cpython/Doc/locales/pot/library/select.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--selectors] -file_filter = .//LC_MESSAGES/library/selectors.po -trans.pt_BR = library/selectors.po -source_file = cpython/Doc/locales/pot/library/selectors.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--shelve] -file_filter = .//LC_MESSAGES/library/shelve.po -trans.pt_BR = library/shelve.po -source_file = cpython/Doc/locales/pot/library/shelve.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--shlex] -file_filter = .//LC_MESSAGES/library/shlex.po -trans.pt_BR = library/shlex.po -source_file = cpython/Doc/locales/pot/library/shlex.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--shutil] -file_filter = .//LC_MESSAGES/library/shutil.po -trans.pt_BR = library/shutil.po -source_file = cpython/Doc/locales/pot/library/shutil.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--signal] -file_filter = .//LC_MESSAGES/library/signal.po -trans.pt_BR = library/signal.po -source_file = cpython/Doc/locales/pot/library/signal.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--site] -file_filter = .//LC_MESSAGES/library/site.po -trans.pt_BR = library/site.po -source_file = cpython/Doc/locales/pot/library/site.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--smtpd] -file_filter = .//LC_MESSAGES/library/smtpd.po -trans.pt_BR = library/smtpd.po -source_file = cpython/Doc/locales/pot/library/smtpd.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--smtplib] -file_filter = .//LC_MESSAGES/library/smtplib.po -trans.pt_BR = library/smtplib.po -source_file = cpython/Doc/locales/pot/library/smtplib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--sndhdr] -file_filter = .//LC_MESSAGES/library/sndhdr.po -trans.pt_BR = library/sndhdr.po -source_file = cpython/Doc/locales/pot/library/sndhdr.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--socket] -file_filter = .//LC_MESSAGES/library/socket.po -trans.pt_BR = library/socket.po -source_file = cpython/Doc/locales/pot/library/socket.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--socketserver] -file_filter = .//LC_MESSAGES/library/socketserver.po -trans.pt_BR = library/socketserver.po -source_file = cpython/Doc/locales/pot/library/socketserver.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--spwd] -file_filter = .//LC_MESSAGES/library/spwd.po -trans.pt_BR = library/spwd.po -source_file = cpython/Doc/locales/pot/library/spwd.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--sqlite3] -file_filter = .//LC_MESSAGES/library/sqlite3.po -trans.pt_BR = library/sqlite3.po -source_file = cpython/Doc/locales/pot/library/sqlite3.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--ssl] -file_filter = .//LC_MESSAGES/library/ssl.po -trans.pt_BR = library/ssl.po -source_file = cpython/Doc/locales/pot/library/ssl.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--stat] -file_filter = .//LC_MESSAGES/library/stat.po -trans.pt_BR = library/stat.po -source_file = cpython/Doc/locales/pot/library/stat.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--statistics] -file_filter = .//LC_MESSAGES/library/statistics.po -trans.pt_BR = library/statistics.po -source_file = cpython/Doc/locales/pot/library/statistics.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--stdtypes] -file_filter = .//LC_MESSAGES/library/stdtypes.po -trans.pt_BR = library/stdtypes.po -source_file = cpython/Doc/locales/pot/library/stdtypes.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--string] -file_filter = .//LC_MESSAGES/library/string.po -trans.pt_BR = library/string.po -source_file = cpython/Doc/locales/pot/library/string.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--stringprep] -file_filter = .//LC_MESSAGES/library/stringprep.po -trans.pt_BR = library/stringprep.po -source_file = cpython/Doc/locales/pot/library/stringprep.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--struct] -file_filter = .//LC_MESSAGES/library/struct.po -trans.pt_BR = library/struct.po -source_file = cpython/Doc/locales/pot/library/struct.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--subprocess] -file_filter = .//LC_MESSAGES/library/subprocess.po -trans.pt_BR = library/subprocess.po -source_file = cpython/Doc/locales/pot/library/subprocess.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--sunau] -file_filter = .//LC_MESSAGES/library/sunau.po -trans.pt_BR = library/sunau.po -source_file = cpython/Doc/locales/pot/library/sunau.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--superseded] -file_filter = .//LC_MESSAGES/library/superseded.po -trans.pt_BR = library/superseded.po -source_file = cpython/Doc/locales/pot/library/superseded.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--symtable] -file_filter = .//LC_MESSAGES/library/symtable.po -trans.pt_BR = library/symtable.po -source_file = cpython/Doc/locales/pot/library/symtable.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--sys] -file_filter = .//LC_MESSAGES/library/sys.po -trans.pt_BR = library/sys.po -source_file = cpython/Doc/locales/pot/library/sys.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--sys_path_init] -file_filter = .//LC_MESSAGES/library/sys_path_init.po -trans.pt_BR = library/sys_path_init.po -source_file = cpython/Doc/locales/pot/library/sys_path_init.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--sysconfig] -file_filter = .//LC_MESSAGES/library/sysconfig.po -trans.pt_BR = library/sysconfig.po -source_file = cpython/Doc/locales/pot/library/sysconfig.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--syslog] -file_filter = .//LC_MESSAGES/library/syslog.po -trans.pt_BR = library/syslog.po -source_file = cpython/Doc/locales/pot/library/syslog.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tabnanny] -file_filter = .//LC_MESSAGES/library/tabnanny.po -trans.pt_BR = library/tabnanny.po -source_file = cpython/Doc/locales/pot/library/tabnanny.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tarfile] -file_filter = .//LC_MESSAGES/library/tarfile.po -trans.pt_BR = library/tarfile.po -source_file = cpython/Doc/locales/pot/library/tarfile.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--telnetlib] -file_filter = .//LC_MESSAGES/library/telnetlib.po -trans.pt_BR = library/telnetlib.po -source_file = cpython/Doc/locales/pot/library/telnetlib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tempfile] -file_filter = .//LC_MESSAGES/library/tempfile.po -trans.pt_BR = library/tempfile.po -source_file = cpython/Doc/locales/pot/library/tempfile.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--termios] -file_filter = .//LC_MESSAGES/library/termios.po -trans.pt_BR = library/termios.po -source_file = cpython/Doc/locales/pot/library/termios.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--test] -file_filter = .//LC_MESSAGES/library/test.po -trans.pt_BR = library/test.po -source_file = cpython/Doc/locales/pot/library/test.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--text] -file_filter = .//LC_MESSAGES/library/text.po -trans.pt_BR = library/text.po -source_file = cpython/Doc/locales/pot/library/text.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--textwrap] -file_filter = .//LC_MESSAGES/library/textwrap.po -trans.pt_BR = library/textwrap.po -source_file = cpython/Doc/locales/pot/library/textwrap.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--threading] -file_filter = .//LC_MESSAGES/library/threading.po -trans.pt_BR = library/threading.po -source_file = cpython/Doc/locales/pot/library/threading.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--time] -file_filter = .//LC_MESSAGES/library/time.po -trans.pt_BR = library/time.po -source_file = cpython/Doc/locales/pot/library/time.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--timeit] -file_filter = .//LC_MESSAGES/library/timeit.po -trans.pt_BR = library/timeit.po -source_file = cpython/Doc/locales/pot/library/timeit.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tk] -file_filter = .//LC_MESSAGES/library/tk.po -trans.pt_BR = library/tk.po -source_file = cpython/Doc/locales/pot/library/tk.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tkinter] -file_filter = .//LC_MESSAGES/library/tkinter.po -trans.pt_BR = library/tkinter.po -source_file = cpython/Doc/locales/pot/library/tkinter.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tkinter_colorchooser] -file_filter = .//LC_MESSAGES/library/tkinter.colorchooser.po -trans.pt_BR = library/tkinter.colorchooser.po -source_file = cpython/Doc/locales/pot/library/tkinter.colorchooser.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tkinter_dnd] -file_filter = .//LC_MESSAGES/library/tkinter.dnd.po -trans.pt_BR = library/tkinter.dnd.po -source_file = cpython/Doc/locales/pot/library/tkinter.dnd.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tkinter_font] -file_filter = .//LC_MESSAGES/library/tkinter.font.po -trans.pt_BR = library/tkinter.font.po -source_file = cpython/Doc/locales/pot/library/tkinter.font.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tkinter_messagebox] -file_filter = .//LC_MESSAGES/library/tkinter.messagebox.po -trans.pt_BR = library/tkinter.messagebox.po -source_file = cpython/Doc/locales/pot/library/tkinter.messagebox.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tkinter_scrolledtext] -file_filter = .//LC_MESSAGES/library/tkinter.scrolledtext.po -trans.pt_BR = library/tkinter.scrolledtext.po -source_file = cpython/Doc/locales/pot/library/tkinter.scrolledtext.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tkinter_tix] -file_filter = .//LC_MESSAGES/library/tkinter.tix.po -trans.pt_BR = library/tkinter.tix.po -source_file = cpython/Doc/locales/pot/library/tkinter.tix.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tkinter_ttk] -file_filter = .//LC_MESSAGES/library/tkinter.ttk.po -trans.pt_BR = library/tkinter.ttk.po -source_file = cpython/Doc/locales/pot/library/tkinter.ttk.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--token] -file_filter = .//LC_MESSAGES/library/token.po -trans.pt_BR = library/token.po -source_file = cpython/Doc/locales/pot/library/token.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tokenize] -file_filter = .//LC_MESSAGES/library/tokenize.po -trans.pt_BR = library/tokenize.po -source_file = cpython/Doc/locales/pot/library/tokenize.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tomllib] -file_filter = .//LC_MESSAGES/library/tomllib.po -trans.pt_BR = library/tomllib.po -source_file = cpython/Doc/locales/pot/library/tomllib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--trace] -file_filter = .//LC_MESSAGES/library/trace.po -trans.pt_BR = library/trace.po -source_file = cpython/Doc/locales/pot/library/trace.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--traceback] -file_filter = .//LC_MESSAGES/library/traceback.po -trans.pt_BR = library/traceback.po -source_file = cpython/Doc/locales/pot/library/traceback.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tracemalloc] -file_filter = .//LC_MESSAGES/library/tracemalloc.po -trans.pt_BR = library/tracemalloc.po -source_file = cpython/Doc/locales/pot/library/tracemalloc.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--tty] -file_filter = .//LC_MESSAGES/library/tty.po -trans.pt_BR = library/tty.po -source_file = cpython/Doc/locales/pot/library/tty.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--turtle] -file_filter = .//LC_MESSAGES/library/turtle.po -trans.pt_BR = library/turtle.po -source_file = cpython/Doc/locales/pot/library/turtle.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--types] -file_filter = .//LC_MESSAGES/library/types.po -trans.pt_BR = library/types.po -source_file = cpython/Doc/locales/pot/library/types.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--typing] -file_filter = .//LC_MESSAGES/library/typing.po -trans.pt_BR = library/typing.po -source_file = cpython/Doc/locales/pot/library/typing.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--unicodedata] -file_filter = .//LC_MESSAGES/library/unicodedata.po -trans.pt_BR = library/unicodedata.po -source_file = cpython/Doc/locales/pot/library/unicodedata.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--unittest] -file_filter = .//LC_MESSAGES/library/unittest.po -trans.pt_BR = library/unittest.po -source_file = cpython/Doc/locales/pot/library/unittest.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--unittest_mock] -file_filter = .//LC_MESSAGES/library/unittest.mock.po -trans.pt_BR = library/unittest.mock.po -source_file = cpython/Doc/locales/pot/library/unittest.mock.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--unittest_mock-examples] -file_filter = .//LC_MESSAGES/library/unittest.mock-examples.po -trans.pt_BR = library/unittest.mock-examples.po -source_file = cpython/Doc/locales/pot/library/unittest.mock-examples.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--unix] -file_filter = .//LC_MESSAGES/library/unix.po -trans.pt_BR = library/unix.po -source_file = cpython/Doc/locales/pot/library/unix.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--urllib] -file_filter = .//LC_MESSAGES/library/urllib.po -trans.pt_BR = library/urllib.po -source_file = cpython/Doc/locales/pot/library/urllib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--urllib_error] -file_filter = .//LC_MESSAGES/library/urllib.error.po -trans.pt_BR = library/urllib.error.po -source_file = cpython/Doc/locales/pot/library/urllib.error.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--urllib_parse] -file_filter = .//LC_MESSAGES/library/urllib.parse.po -trans.pt_BR = library/urllib.parse.po -source_file = cpython/Doc/locales/pot/library/urllib.parse.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--urllib_request] -file_filter = .//LC_MESSAGES/library/urllib.request.po -trans.pt_BR = library/urllib.request.po -source_file = cpython/Doc/locales/pot/library/urllib.request.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--urllib_robotparser] -file_filter = .//LC_MESSAGES/library/urllib.robotparser.po -trans.pt_BR = library/urllib.robotparser.po -source_file = cpython/Doc/locales/pot/library/urllib.robotparser.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--uu] -file_filter = .//LC_MESSAGES/library/uu.po -trans.pt_BR = library/uu.po -source_file = cpython/Doc/locales/pot/library/uu.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--uuid] -file_filter = .//LC_MESSAGES/library/uuid.po -trans.pt_BR = library/uuid.po -source_file = cpython/Doc/locales/pot/library/uuid.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--venv] -file_filter = .//LC_MESSAGES/library/venv.po -trans.pt_BR = library/venv.po -source_file = cpython/Doc/locales/pot/library/venv.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--warnings] -file_filter = .//LC_MESSAGES/library/warnings.po -trans.pt_BR = library/warnings.po -source_file = cpython/Doc/locales/pot/library/warnings.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--wave] -file_filter = .//LC_MESSAGES/library/wave.po -trans.pt_BR = library/wave.po -source_file = cpython/Doc/locales/pot/library/wave.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--weakref] -file_filter = .//LC_MESSAGES/library/weakref.po -trans.pt_BR = library/weakref.po -source_file = cpython/Doc/locales/pot/library/weakref.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--webbrowser] -file_filter = .//LC_MESSAGES/library/webbrowser.po -trans.pt_BR = library/webbrowser.po -source_file = cpython/Doc/locales/pot/library/webbrowser.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--windows] -file_filter = .//LC_MESSAGES/library/windows.po -trans.pt_BR = library/windows.po -source_file = cpython/Doc/locales/pot/library/windows.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--winreg] -file_filter = .//LC_MESSAGES/library/winreg.po -trans.pt_BR = library/winreg.po -source_file = cpython/Doc/locales/pot/library/winreg.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--winsound] -file_filter = .//LC_MESSAGES/library/winsound.po -trans.pt_BR = library/winsound.po -source_file = cpython/Doc/locales/pot/library/winsound.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--wsgiref] -file_filter = .//LC_MESSAGES/library/wsgiref.po -trans.pt_BR = library/wsgiref.po -source_file = cpython/Doc/locales/pot/library/wsgiref.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--xdrlib] -file_filter = .//LC_MESSAGES/library/xdrlib.po -trans.pt_BR = library/xdrlib.po -source_file = cpython/Doc/locales/pot/library/xdrlib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--xml] -file_filter = .//LC_MESSAGES/library/xml.po -trans.pt_BR = library/xml.po -source_file = cpython/Doc/locales/pot/library/xml.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--xml_dom] -file_filter = .//LC_MESSAGES/library/xml.dom.po -trans.pt_BR = library/xml.dom.po -source_file = cpython/Doc/locales/pot/library/xml.dom.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--xml_dom_minidom] -file_filter = .//LC_MESSAGES/library/xml.dom.minidom.po -trans.pt_BR = library/xml.dom.minidom.po -source_file = cpython/Doc/locales/pot/library/xml.dom.minidom.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--xml_dom_pulldom] -file_filter = .//LC_MESSAGES/library/xml.dom.pulldom.po -trans.pt_BR = library/xml.dom.pulldom.po -source_file = cpython/Doc/locales/pot/library/xml.dom.pulldom.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--xml_etree_elementtree] -file_filter = .//LC_MESSAGES/library/xml.etree.elementtree.po -trans.pt_BR = library/xml.etree.elementtree.po -source_file = cpython/Doc/locales/pot/library/xml.etree.elementtree.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--xml_sax] -file_filter = .//LC_MESSAGES/library/xml.sax.po -trans.pt_BR = library/xml.sax.po -source_file = cpython/Doc/locales/pot/library/xml.sax.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--xml_sax_handler] -file_filter = .//LC_MESSAGES/library/xml.sax.handler.po -trans.pt_BR = library/xml.sax.handler.po -source_file = cpython/Doc/locales/pot/library/xml.sax.handler.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--xml_sax_reader] -file_filter = .//LC_MESSAGES/library/xml.sax.reader.po -trans.pt_BR = library/xml.sax.reader.po -source_file = cpython/Doc/locales/pot/library/xml.sax.reader.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--xml_sax_utils] -file_filter = .//LC_MESSAGES/library/xml.sax.utils.po -trans.pt_BR = library/xml.sax.utils.po -source_file = cpython/Doc/locales/pot/library/xml.sax.utils.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--xmlrpc] -file_filter = .//LC_MESSAGES/library/xmlrpc.po -trans.pt_BR = library/xmlrpc.po -source_file = cpython/Doc/locales/pot/library/xmlrpc.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--xmlrpc_client] -file_filter = .//LC_MESSAGES/library/xmlrpc.client.po -trans.pt_BR = library/xmlrpc.client.po -source_file = cpython/Doc/locales/pot/library/xmlrpc.client.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--xmlrpc_server] -file_filter = .//LC_MESSAGES/library/xmlrpc.server.po -trans.pt_BR = library/xmlrpc.server.po -source_file = cpython/Doc/locales/pot/library/xmlrpc.server.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--zipapp] -file_filter = .//LC_MESSAGES/library/zipapp.po -trans.pt_BR = library/zipapp.po -source_file = cpython/Doc/locales/pot/library/zipapp.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--zipfile] -file_filter = .//LC_MESSAGES/library/zipfile.po -trans.pt_BR = library/zipfile.po -source_file = cpython/Doc/locales/pot/library/zipfile.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--zipimport] -file_filter = .//LC_MESSAGES/library/zipimport.po -trans.pt_BR = library/zipimport.po -source_file = cpython/Doc/locales/pot/library/zipimport.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--zlib] -file_filter = .//LC_MESSAGES/library/zlib.po -trans.pt_BR = library/zlib.po -source_file = cpython/Doc/locales/pot/library/zlib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:library--zoneinfo] -file_filter = .//LC_MESSAGES/library/zoneinfo.po -trans.pt_BR = library/zoneinfo.po -source_file = cpython/Doc/locales/pot/library/zoneinfo.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:license] -file_filter = .//LC_MESSAGES/license.po -trans.pt_BR = license.po -source_file = cpython/Doc/locales/pot/license.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:reference--compound_stmts] -file_filter = .//LC_MESSAGES/reference/compound_stmts.po -trans.pt_BR = reference/compound_stmts.po -source_file = cpython/Doc/locales/pot/reference/compound_stmts.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:reference--datamodel] -file_filter = .//LC_MESSAGES/reference/datamodel.po -trans.pt_BR = reference/datamodel.po -source_file = cpython/Doc/locales/pot/reference/datamodel.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:reference--executionmodel] -file_filter = .//LC_MESSAGES/reference/executionmodel.po -trans.pt_BR = reference/executionmodel.po -source_file = cpython/Doc/locales/pot/reference/executionmodel.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:reference--expressions] -file_filter = .//LC_MESSAGES/reference/expressions.po -trans.pt_BR = reference/expressions.po -source_file = cpython/Doc/locales/pot/reference/expressions.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:reference--grammar] -file_filter = .//LC_MESSAGES/reference/grammar.po -trans.pt_BR = reference/grammar.po -source_file = cpython/Doc/locales/pot/reference/grammar.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:reference--import] -file_filter = .//LC_MESSAGES/reference/import.po -trans.pt_BR = reference/import.po -source_file = cpython/Doc/locales/pot/reference/import.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:reference--index] -file_filter = .//LC_MESSAGES/reference/index.po -trans.pt_BR = reference/index.po -source_file = cpython/Doc/locales/pot/reference/index.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:reference--introduction] -file_filter = .//LC_MESSAGES/reference/introduction.po -trans.pt_BR = reference/introduction.po -source_file = cpython/Doc/locales/pot/reference/introduction.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:reference--lexical_analysis] -file_filter = .//LC_MESSAGES/reference/lexical_analysis.po -trans.pt_BR = reference/lexical_analysis.po -source_file = cpython/Doc/locales/pot/reference/lexical_analysis.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:reference--simple_stmts] -file_filter = .//LC_MESSAGES/reference/simple_stmts.po -trans.pt_BR = reference/simple_stmts.po -source_file = cpython/Doc/locales/pot/reference/simple_stmts.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:reference--toplevel_components] -file_filter = .//LC_MESSAGES/reference/toplevel_components.po -trans.pt_BR = reference/toplevel_components.po -source_file = cpython/Doc/locales/pot/reference/toplevel_components.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:sphinx] -file_filter = .//LC_MESSAGES/sphinx.po -trans.pt_BR = sphinx.po -source_file = cpython/Doc/locales/pot/sphinx.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--appendix] -file_filter = .//LC_MESSAGES/tutorial/appendix.po -trans.pt_BR = tutorial/appendix.po -source_file = cpython/Doc/locales/pot/tutorial/appendix.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--appetite] -file_filter = .//LC_MESSAGES/tutorial/appetite.po -trans.pt_BR = tutorial/appetite.po -source_file = cpython/Doc/locales/pot/tutorial/appetite.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--classes] -file_filter = .//LC_MESSAGES/tutorial/classes.po -trans.pt_BR = tutorial/classes.po -source_file = cpython/Doc/locales/pot/tutorial/classes.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--controlflow] -file_filter = .//LC_MESSAGES/tutorial/controlflow.po -trans.pt_BR = tutorial/controlflow.po -source_file = cpython/Doc/locales/pot/tutorial/controlflow.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--datastructures] -file_filter = .//LC_MESSAGES/tutorial/datastructures.po -trans.pt_BR = tutorial/datastructures.po -source_file = cpython/Doc/locales/pot/tutorial/datastructures.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--errors] -file_filter = .//LC_MESSAGES/tutorial/errors.po -trans.pt_BR = tutorial/errors.po -source_file = cpython/Doc/locales/pot/tutorial/errors.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--floatingpoint] -file_filter = .//LC_MESSAGES/tutorial/floatingpoint.po -trans.pt_BR = tutorial/floatingpoint.po -source_file = cpython/Doc/locales/pot/tutorial/floatingpoint.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--index] -file_filter = .//LC_MESSAGES/tutorial/index.po -trans.pt_BR = tutorial/index.po -source_file = cpython/Doc/locales/pot/tutorial/index.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--inputoutput] -file_filter = .//LC_MESSAGES/tutorial/inputoutput.po -trans.pt_BR = tutorial/inputoutput.po -source_file = cpython/Doc/locales/pot/tutorial/inputoutput.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--interactive] -file_filter = .//LC_MESSAGES/tutorial/interactive.po -trans.pt_BR = tutorial/interactive.po -source_file = cpython/Doc/locales/pot/tutorial/interactive.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--interpreter] -file_filter = .//LC_MESSAGES/tutorial/interpreter.po -trans.pt_BR = tutorial/interpreter.po -source_file = cpython/Doc/locales/pot/tutorial/interpreter.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--introduction] -file_filter = .//LC_MESSAGES/tutorial/introduction.po -trans.pt_BR = tutorial/introduction.po -source_file = cpython/Doc/locales/pot/tutorial/introduction.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--modules] -file_filter = .//LC_MESSAGES/tutorial/modules.po -trans.pt_BR = tutorial/modules.po -source_file = cpython/Doc/locales/pot/tutorial/modules.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--stdlib] -file_filter = .//LC_MESSAGES/tutorial/stdlib.po -trans.pt_BR = tutorial/stdlib.po -source_file = cpython/Doc/locales/pot/tutorial/stdlib.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--stdlib2] -file_filter = .//LC_MESSAGES/tutorial/stdlib2.po -trans.pt_BR = tutorial/stdlib2.po -source_file = cpython/Doc/locales/pot/tutorial/stdlib2.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--venv] -file_filter = .//LC_MESSAGES/tutorial/venv.po -trans.pt_BR = tutorial/venv.po -source_file = cpython/Doc/locales/pot/tutorial/venv.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:tutorial--whatnow] -file_filter = .//LC_MESSAGES/tutorial/whatnow.po -trans.pt_BR = tutorial/whatnow.po -source_file = cpython/Doc/locales/pot/tutorial/whatnow.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:using--cmdline] -file_filter = .//LC_MESSAGES/using/cmdline.po -trans.pt_BR = using/cmdline.po -source_file = cpython/Doc/locales/pot/using/cmdline.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:using--configure] -file_filter = .//LC_MESSAGES/using/configure.po -trans.pt_BR = using/configure.po -source_file = cpython/Doc/locales/pot/using/configure.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:using--editors] -file_filter = .//LC_MESSAGES/using/editors.po -trans.pt_BR = using/editors.po -source_file = cpython/Doc/locales/pot/using/editors.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:using--index] -file_filter = .//LC_MESSAGES/using/index.po -trans.pt_BR = using/index.po -source_file = cpython/Doc/locales/pot/using/index.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:using--mac] -file_filter = .//LC_MESSAGES/using/mac.po -trans.pt_BR = using/mac.po -source_file = cpython/Doc/locales/pot/using/mac.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:using--unix] -file_filter = .//LC_MESSAGES/using/unix.po -trans.pt_BR = using/unix.po -source_file = cpython/Doc/locales/pot/using/unix.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:using--windows] -file_filter = .//LC_MESSAGES/using/windows.po -trans.pt_BR = using/windows.po -source_file = cpython/Doc/locales/pot/using/windows.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--2_0] -file_filter = .//LC_MESSAGES/whatsnew/2.0.po -trans.pt_BR = whatsnew/2.0.po -source_file = cpython/Doc/locales/pot/whatsnew/2.0.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--2_1] -file_filter = .//LC_MESSAGES/whatsnew/2.1.po -trans.pt_BR = whatsnew/2.1.po -source_file = cpython/Doc/locales/pot/whatsnew/2.1.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--2_2] -file_filter = .//LC_MESSAGES/whatsnew/2.2.po -trans.pt_BR = whatsnew/2.2.po -source_file = cpython/Doc/locales/pot/whatsnew/2.2.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--2_3] -file_filter = .//LC_MESSAGES/whatsnew/2.3.po -trans.pt_BR = whatsnew/2.3.po -source_file = cpython/Doc/locales/pot/whatsnew/2.3.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--2_4] -file_filter = .//LC_MESSAGES/whatsnew/2.4.po -trans.pt_BR = whatsnew/2.4.po -source_file = cpython/Doc/locales/pot/whatsnew/2.4.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--2_5] -file_filter = .//LC_MESSAGES/whatsnew/2.5.po -trans.pt_BR = whatsnew/2.5.po -source_file = cpython/Doc/locales/pot/whatsnew/2.5.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--2_6] -file_filter = .//LC_MESSAGES/whatsnew/2.6.po -trans.pt_BR = whatsnew/2.6.po -source_file = cpython/Doc/locales/pot/whatsnew/2.6.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--2_7] -file_filter = .//LC_MESSAGES/whatsnew/2.7.po -trans.pt_BR = whatsnew/2.7.po -source_file = cpython/Doc/locales/pot/whatsnew/2.7.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--3_0] -file_filter = .//LC_MESSAGES/whatsnew/3.0.po -trans.pt_BR = whatsnew/3.0.po -source_file = cpython/Doc/locales/pot/whatsnew/3.0.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--3_1] -file_filter = .//LC_MESSAGES/whatsnew/3.1.po -trans.pt_BR = whatsnew/3.1.po -source_file = cpython/Doc/locales/pot/whatsnew/3.1.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--3_10] -file_filter = .//LC_MESSAGES/whatsnew/3.10.po -trans.pt_BR = whatsnew/3.10.po -source_file = cpython/Doc/locales/pot/whatsnew/3.10.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--3_11] -file_filter = .//LC_MESSAGES/whatsnew/3.11.po -trans.pt_BR = whatsnew/3.11.po -source_file = cpython/Doc/locales/pot/whatsnew/3.11.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--3_2] -file_filter = .//LC_MESSAGES/whatsnew/3.2.po -trans.pt_BR = whatsnew/3.2.po -source_file = cpython/Doc/locales/pot/whatsnew/3.2.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--3_3] -file_filter = .//LC_MESSAGES/whatsnew/3.3.po -trans.pt_BR = whatsnew/3.3.po -source_file = cpython/Doc/locales/pot/whatsnew/3.3.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--3_4] -file_filter = .//LC_MESSAGES/whatsnew/3.4.po -trans.pt_BR = whatsnew/3.4.po -source_file = cpython/Doc/locales/pot/whatsnew/3.4.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--3_5] -file_filter = .//LC_MESSAGES/whatsnew/3.5.po -trans.pt_BR = whatsnew/3.5.po -source_file = cpython/Doc/locales/pot/whatsnew/3.5.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--3_6] -file_filter = .//LC_MESSAGES/whatsnew/3.6.po -trans.pt_BR = whatsnew/3.6.po -source_file = cpython/Doc/locales/pot/whatsnew/3.6.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--3_7] -file_filter = .//LC_MESSAGES/whatsnew/3.7.po -trans.pt_BR = whatsnew/3.7.po -source_file = cpython/Doc/locales/pot/whatsnew/3.7.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--3_8] -file_filter = .//LC_MESSAGES/whatsnew/3.8.po -trans.pt_BR = whatsnew/3.8.po -source_file = cpython/Doc/locales/pot/whatsnew/3.8.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--3_9] -file_filter = .//LC_MESSAGES/whatsnew/3.9.po -trans.pt_BR = whatsnew/3.9.po -source_file = cpython/Doc/locales/pot/whatsnew/3.9.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--changelog] -file_filter = .//LC_MESSAGES/whatsnew/changelog.po -trans.pt_BR = whatsnew/changelog.po -source_file = cpython/Doc/locales/pot/whatsnew/changelog.pot -type = PO -minimum_perc = 0 - -[o:python-doc:p:python-newest:r:whatsnew--index] -file_filter = .//LC_MESSAGES/whatsnew/index.po -trans.pt_BR = whatsnew/index.po -source_file = cpython/Doc/locales/pot/whatsnew/index.pot -type = PO -minimum_perc = 0 +[o:python-doc:p:python-311:r:about] +file_filter = about.po +type = PO +minimum_perc = 0 +resource_name = about +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:bugs] +file_filter = bugs.po +type = PO +minimum_perc = 0 +resource_name = bugs +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--abstract] +file_filter = c-api/abstract.po +type = PO +minimum_perc = 0 +resource_name = c-api--abstract +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--allocation] +file_filter = c-api/allocation.po +type = PO +minimum_perc = 0 +resource_name = c-api--allocation +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--apiabiversion] +file_filter = c-api/apiabiversion.po +type = PO +minimum_perc = 0 +resource_name = c-api--apiabiversion +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--arg] +file_filter = c-api/arg.po +type = PO +minimum_perc = 0 +resource_name = c-api--arg +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--bool] +file_filter = c-api/bool.po +type = PO +minimum_perc = 0 +resource_name = c-api--bool +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--buffer] +file_filter = c-api/buffer.po +type = PO +minimum_perc = 0 +resource_name = c-api--buffer +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--bytearray] +file_filter = c-api/bytearray.po +type = PO +minimum_perc = 0 +resource_name = c-api--bytearray +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--bytes] +file_filter = c-api/bytes.po +type = PO +minimum_perc = 0 +resource_name = c-api--bytes +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--call] +file_filter = c-api/call.po +type = PO +minimum_perc = 0 +resource_name = c-api--call +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--capsule] +file_filter = c-api/capsule.po +type = PO +minimum_perc = 0 +resource_name = c-api--capsule +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--cell] +file_filter = c-api/cell.po +type = PO +minimum_perc = 0 +resource_name = c-api--cell +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--code] +file_filter = c-api/code.po +type = PO +minimum_perc = 0 +resource_name = c-api--code +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--codec] +file_filter = c-api/codec.po +type = PO +minimum_perc = 0 +resource_name = c-api--codec +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--complex] +file_filter = c-api/complex.po +type = PO +minimum_perc = 0 +resource_name = c-api--complex +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--concrete] +file_filter = c-api/concrete.po +type = PO +minimum_perc = 0 +resource_name = c-api--concrete +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--contextvars] +file_filter = c-api/contextvars.po +type = PO +minimum_perc = 0 +resource_name = c-api--contextvars +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--conversion] +file_filter = c-api/conversion.po +type = PO +minimum_perc = 0 +resource_name = c-api--conversion +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--coro] +file_filter = c-api/coro.po +type = PO +minimum_perc = 0 +resource_name = c-api--coro +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--datetime] +file_filter = c-api/datetime.po +type = PO +minimum_perc = 0 +resource_name = c-api--datetime +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--descriptor] +file_filter = c-api/descriptor.po +type = PO +minimum_perc = 0 +resource_name = c-api--descriptor +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--dict] +file_filter = c-api/dict.po +type = PO +minimum_perc = 0 +resource_name = c-api--dict +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--exceptions] +file_filter = c-api/exceptions.po +type = PO +minimum_perc = 0 +resource_name = c-api--exceptions +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--file] +file_filter = c-api/file.po +type = PO +minimum_perc = 0 +resource_name = c-api--file +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--float] +file_filter = c-api/float.po +type = PO +minimum_perc = 0 +resource_name = c-api--float +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--frame] +file_filter = c-api/frame.po +type = PO +minimum_perc = 0 +resource_name = c-api--frame +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--function] +file_filter = c-api/function.po +type = PO +minimum_perc = 0 +resource_name = c-api--function +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--gcsupport] +file_filter = c-api/gcsupport.po +type = PO +minimum_perc = 0 +resource_name = c-api--gcsupport +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--gen] +file_filter = c-api/gen.po +type = PO +minimum_perc = 0 +resource_name = c-api--gen +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--hash] +file_filter = c-api/hash.po +type = PO +minimum_perc = 0 +resource_name = c-api--hash +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--import] +file_filter = c-api/import.po +type = PO +minimum_perc = 0 +resource_name = c-api--import +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--index] +file_filter = c-api/index.po +type = PO +minimum_perc = 0 +resource_name = c-api--index +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--init] +file_filter = c-api/init.po +type = PO +minimum_perc = 0 +resource_name = c-api--init +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--init_config] +file_filter = c-api/init_config.po +type = PO +minimum_perc = 0 +resource_name = c-api--init_config +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--intro] +file_filter = c-api/intro.po +type = PO +minimum_perc = 0 +resource_name = c-api--intro +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--iter] +file_filter = c-api/iter.po +type = PO +minimum_perc = 0 +resource_name = c-api--iter +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--iterator] +file_filter = c-api/iterator.po +type = PO +minimum_perc = 0 +resource_name = c-api--iterator +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--list] +file_filter = c-api/list.po +type = PO +minimum_perc = 0 +resource_name = c-api--list +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--long] +file_filter = c-api/long.po +type = PO +minimum_perc = 0 +resource_name = c-api--long +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--mapping] +file_filter = c-api/mapping.po +type = PO +minimum_perc = 0 +resource_name = c-api--mapping +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--marshal] +file_filter = c-api/marshal.po +type = PO +minimum_perc = 0 +resource_name = c-api--marshal +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--memory] +file_filter = c-api/memory.po +type = PO +minimum_perc = 0 +resource_name = c-api--memory +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--memoryview] +file_filter = c-api/memoryview.po +type = PO +minimum_perc = 0 +resource_name = c-api--memoryview +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--method] +file_filter = c-api/method.po +type = PO +minimum_perc = 0 +resource_name = c-api--method +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--module] +file_filter = c-api/module.po +type = PO +minimum_perc = 0 +resource_name = c-api--module +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--none] +file_filter = c-api/none.po +type = PO +minimum_perc = 0 +resource_name = c-api--none +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--number] +file_filter = c-api/number.po +type = PO +minimum_perc = 0 +resource_name = c-api--number +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--objbuffer] +file_filter = c-api/objbuffer.po +type = PO +minimum_perc = 0 +resource_name = c-api--objbuffer +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--object] +file_filter = c-api/object.po +type = PO +minimum_perc = 0 +resource_name = c-api--object +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--objimpl] +file_filter = c-api/objimpl.po +type = PO +minimum_perc = 0 +resource_name = c-api--objimpl +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--refcounting] +file_filter = c-api/refcounting.po +type = PO +minimum_perc = 0 +resource_name = c-api--refcounting +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--reflection] +file_filter = c-api/reflection.po +type = PO +minimum_perc = 0 +resource_name = c-api--reflection +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--sequence] +file_filter = c-api/sequence.po +type = PO +minimum_perc = 0 +resource_name = c-api--sequence +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--set] +file_filter = c-api/set.po +type = PO +minimum_perc = 0 +resource_name = c-api--set +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--slice] +file_filter = c-api/slice.po +type = PO +minimum_perc = 0 +resource_name = c-api--slice +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--stable] +file_filter = c-api/stable.po +type = PO +minimum_perc = 0 +resource_name = c-api--stable +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--structures] +file_filter = c-api/structures.po +type = PO +minimum_perc = 0 +resource_name = c-api--structures +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--sys] +file_filter = c-api/sys.po +type = PO +minimum_perc = 0 +resource_name = c-api--sys +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--tuple] +file_filter = c-api/tuple.po +type = PO +minimum_perc = 0 +resource_name = c-api--tuple +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--type] +file_filter = c-api/type.po +type = PO +minimum_perc = 0 +resource_name = c-api--type +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--typehints] +file_filter = c-api/typehints.po +type = PO +minimum_perc = 0 +resource_name = c-api--typehints +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--typeobj] +file_filter = c-api/typeobj.po +type = PO +minimum_perc = 0 +resource_name = c-api--typeobj +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--unicode] +file_filter = c-api/unicode.po +type = PO +minimum_perc = 0 +resource_name = c-api--unicode +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--utilities] +file_filter = c-api/utilities.po +type = PO +minimum_perc = 0 +resource_name = c-api--utilities +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--veryhigh] +file_filter = c-api/veryhigh.po +type = PO +minimum_perc = 0 +resource_name = c-api--veryhigh +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:c-api--weakref] +file_filter = c-api/weakref.po +type = PO +minimum_perc = 0 +resource_name = c-api--weakref +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:contents] +file_filter = contents.po +type = PO +minimum_perc = 0 +resource_name = contents +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:copyright] +file_filter = copyright.po +type = PO +minimum_perc = 0 +resource_name = copyright +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:distributing--index] +file_filter = distributing/index.po +type = PO +minimum_perc = 0 +resource_name = distributing--index +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:distutils--apiref] +file_filter = distutils/apiref.po +type = PO +minimum_perc = 0 +resource_name = distutils--apiref +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:distutils--builtdist] +file_filter = distutils/builtdist.po +type = PO +minimum_perc = 0 +resource_name = distutils--builtdist +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:distutils--commandref] +file_filter = distutils/commandref.po +type = PO +minimum_perc = 0 +resource_name = distutils--commandref +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:distutils--configfile] +file_filter = distutils/configfile.po +type = PO +minimum_perc = 0 +resource_name = distutils--configfile +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:distutils--examples] +file_filter = distutils/examples.po +type = PO +minimum_perc = 0 +resource_name = distutils--examples +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:distutils--extending] +file_filter = distutils/extending.po +type = PO +minimum_perc = 0 +resource_name = distutils--extending +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:distutils--index] +file_filter = distutils/index.po +type = PO +minimum_perc = 0 +resource_name = distutils--index +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:distutils--introduction] +file_filter = distutils/introduction.po +type = PO +minimum_perc = 0 +resource_name = distutils--introduction +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:distutils--packageindex] +file_filter = distutils/packageindex.po +type = PO +minimum_perc = 0 +resource_name = distutils--packageindex +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:distutils--setupscript] +file_filter = distutils/setupscript.po +type = PO +minimum_perc = 0 +resource_name = distutils--setupscript +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:distutils--_setuptools_disclaimer] +file_filter = distutils/_setuptools_disclaimer.po +type = PO +minimum_perc = 0 +resource_name = distutils--_setuptools_disclaimer +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:distutils--sourcedist] +file_filter = distutils/sourcedist.po +type = PO +minimum_perc = 0 +resource_name = distutils--sourcedist +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:distutils--uploading] +file_filter = distutils/uploading.po +type = PO +minimum_perc = 0 +resource_name = distutils--uploading +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:extending--building] +file_filter = extending/building.po +type = PO +minimum_perc = 0 +resource_name = extending--building +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:extending--embedding] +file_filter = extending/embedding.po +type = PO +minimum_perc = 0 +resource_name = extending--embedding +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:extending--extending] +file_filter = extending/extending.po +type = PO +minimum_perc = 0 +resource_name = extending--extending +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:extending--index] +file_filter = extending/index.po +type = PO +minimum_perc = 0 +resource_name = extending--index +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:extending--newtypes] +file_filter = extending/newtypes.po +type = PO +minimum_perc = 0 +resource_name = extending--newtypes +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:extending--newtypes_tutorial] +file_filter = extending/newtypes_tutorial.po +type = PO +minimum_perc = 0 +resource_name = extending--newtypes_tutorial +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:extending--windows] +file_filter = extending/windows.po +type = PO +minimum_perc = 0 +resource_name = extending--windows +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:faq--design] +file_filter = faq/design.po +type = PO +minimum_perc = 0 +resource_name = faq--design +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:faq--extending] +file_filter = faq/extending.po +type = PO +minimum_perc = 0 +resource_name = faq--extending +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:faq--general] +file_filter = faq/general.po +type = PO +minimum_perc = 0 +resource_name = faq--general +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:faq--gui] +file_filter = faq/gui.po +type = PO +minimum_perc = 0 +resource_name = faq--gui +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:faq--index] +file_filter = faq/index.po +type = PO +minimum_perc = 0 +resource_name = faq--index +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:faq--installed] +file_filter = faq/installed.po +type = PO +minimum_perc = 0 +resource_name = faq--installed +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:faq--library] +file_filter = faq/library.po +type = PO +minimum_perc = 0 +resource_name = faq--library +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:faq--programming] +file_filter = faq/programming.po +type = PO +minimum_perc = 0 +resource_name = faq--programming +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:faq--windows] +file_filter = faq/windows.po +type = PO +minimum_perc = 0 +resource_name = faq--windows +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:glossary_] +file_filter = glossary.po +type = PO +minimum_perc = 0 +resource_name = glossary_ +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--annotations] +file_filter = howto/annotations.po +type = PO +minimum_perc = 0 +resource_name = howto--annotations +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--argparse] +file_filter = howto/argparse.po +type = PO +minimum_perc = 0 +resource_name = howto--argparse +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--clinic] +file_filter = howto/clinic.po +type = PO +minimum_perc = 0 +resource_name = howto--clinic +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--cporting] +file_filter = howto/cporting.po +type = PO +minimum_perc = 0 +resource_name = howto--cporting +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--curses] +file_filter = howto/curses.po +type = PO +minimum_perc = 0 +resource_name = howto--curses +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--descriptor] +file_filter = howto/descriptor.po +type = PO +minimum_perc = 0 +resource_name = howto--descriptor +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--enum] +file_filter = howto/enum.po +type = PO +minimum_perc = 0 +resource_name = howto--enum +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--functional] +file_filter = howto/functional.po +type = PO +minimum_perc = 0 +resource_name = howto--functional +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--gdb_helpers] +file_filter = howto/gdb_helpers.po +type = PO +minimum_perc = 0 +resource_name = howto--gdb_helpers +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--index] +file_filter = howto/index.po +type = PO +minimum_perc = 0 +resource_name = howto--index +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--instrumentation] +file_filter = howto/instrumentation.po +type = PO +minimum_perc = 0 +resource_name = howto--instrumentation +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--ipaddress] +file_filter = howto/ipaddress.po +type = PO +minimum_perc = 0 +resource_name = howto--ipaddress +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--isolating-extensions] +file_filter = howto/isolating-extensions.po +type = PO +minimum_perc = 0 +resource_name = howto--isolating-extensions +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--logging] +file_filter = howto/logging.po +type = PO +minimum_perc = 0 +resource_name = howto--logging +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--logging-cookbook] +file_filter = howto/logging-cookbook.po +type = PO +minimum_perc = 0 +resource_name = howto--logging-cookbook +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--pyporting] +file_filter = howto/pyporting.po +type = PO +minimum_perc = 0 +resource_name = howto--pyporting +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--regex] +file_filter = howto/regex.po +type = PO +minimum_perc = 0 +resource_name = howto--regex +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--sockets] +file_filter = howto/sockets.po +type = PO +minimum_perc = 0 +resource_name = howto--sockets +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--sorting] +file_filter = howto/sorting.po +type = PO +minimum_perc = 0 +resource_name = howto--sorting +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--unicode] +file_filter = howto/unicode.po +type = PO +minimum_perc = 0 +resource_name = howto--unicode +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:howto--urllib2] +file_filter = howto/urllib2.po +type = PO +minimum_perc = 0 +resource_name = howto--urllib2 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:install--index] +file_filter = install/index.po +type = PO +minimum_perc = 0 +resource_name = install--index +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:installing--index] +file_filter = installing/index.po +type = PO +minimum_perc = 0 +resource_name = installing--index +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--2to3] +file_filter = library/2to3.po +type = PO +minimum_perc = 0 +resource_name = library--2to3 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--abc] +file_filter = library/abc.po +type = PO +minimum_perc = 0 +resource_name = library--abc +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--aifc] +file_filter = library/aifc.po +type = PO +minimum_perc = 0 +resource_name = library--aifc +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--allos] +file_filter = library/allos.po +type = PO +minimum_perc = 0 +resource_name = library--allos +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--archiving] +file_filter = library/archiving.po +type = PO +minimum_perc = 0 +resource_name = library--archiving +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--argparse] +file_filter = library/argparse.po +type = PO +minimum_perc = 0 +resource_name = library--argparse +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--array] +file_filter = library/array.po +type = PO +minimum_perc = 0 +resource_name = library--array +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--ast] +file_filter = library/ast.po +type = PO +minimum_perc = 0 +resource_name = library--ast +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asynchat] +file_filter = library/asynchat.po +type = PO +minimum_perc = 0 +resource_name = library--asynchat +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio] +file_filter = library/asyncio.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-api-index] +file_filter = library/asyncio-api-index.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-api-index +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-dev] +file_filter = library/asyncio-dev.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-dev +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-eventloop] +file_filter = library/asyncio-eventloop.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-eventloop +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-exceptions] +file_filter = library/asyncio-exceptions.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-exceptions +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-extending] +file_filter = library/asyncio-extending.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-extending +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-future] +file_filter = library/asyncio-future.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-future +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-llapi-index] +file_filter = library/asyncio-llapi-index.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-llapi-index +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-platforms] +file_filter = library/asyncio-platforms.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-platforms +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-policy] +file_filter = library/asyncio-policy.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-policy +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-protocol] +file_filter = library/asyncio-protocol.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-protocol +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-queue] +file_filter = library/asyncio-queue.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-queue +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-runner] +file_filter = library/asyncio-runner.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-runner +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-stream] +file_filter = library/asyncio-stream.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-stream +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-subprocess] +file_filter = library/asyncio-subprocess.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-subprocess +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-sync] +file_filter = library/asyncio-sync.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-sync +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncio-task] +file_filter = library/asyncio-task.po +type = PO +minimum_perc = 0 +resource_name = library--asyncio-task +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--asyncore] +file_filter = library/asyncore.po +type = PO +minimum_perc = 0 +resource_name = library--asyncore +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--atexit] +file_filter = library/atexit.po +type = PO +minimum_perc = 0 +resource_name = library--atexit +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--audioop] +file_filter = library/audioop.po +type = PO +minimum_perc = 0 +resource_name = library--audioop +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--audit_events] +file_filter = library/audit_events.po +type = PO +minimum_perc = 0 +resource_name = library--audit_events +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--base64] +file_filter = library/base64.po +type = PO +minimum_perc = 0 +resource_name = library--base64 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--bdb] +file_filter = library/bdb.po +type = PO +minimum_perc = 0 +resource_name = library--bdb +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--binary] +file_filter = library/binary.po +type = PO +minimum_perc = 0 +resource_name = library--binary +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--binascii] +file_filter = library/binascii.po +type = PO +minimum_perc = 0 +resource_name = library--binascii +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--bisect] +file_filter = library/bisect.po +type = PO +minimum_perc = 0 +resource_name = library--bisect +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--builtins] +file_filter = library/builtins.po +type = PO +minimum_perc = 0 +resource_name = library--builtins +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--bz2] +file_filter = library/bz2.po +type = PO +minimum_perc = 0 +resource_name = library--bz2 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--calendar] +file_filter = library/calendar.po +type = PO +minimum_perc = 0 +resource_name = library--calendar +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--cgi] +file_filter = library/cgi.po +type = PO +minimum_perc = 0 +resource_name = library--cgi +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--cgitb] +file_filter = library/cgitb.po +type = PO +minimum_perc = 0 +resource_name = library--cgitb +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--chunk] +file_filter = library/chunk.po +type = PO +minimum_perc = 0 +resource_name = library--chunk +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--cmath] +file_filter = library/cmath.po +type = PO +minimum_perc = 0 +resource_name = library--cmath +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--cmd] +file_filter = library/cmd.po +type = PO +minimum_perc = 0 +resource_name = library--cmd +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--cmdline] +file_filter = library/cmdline.po +type = PO +minimum_perc = 0 +resource_name = library--cmdline +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--code] +file_filter = library/code.po +type = PO +minimum_perc = 0 +resource_name = library--code +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--codecs] +file_filter = library/codecs.po +type = PO +minimum_perc = 0 +resource_name = library--codecs +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--codeop] +file_filter = library/codeop.po +type = PO +minimum_perc = 0 +resource_name = library--codeop +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--collections] +file_filter = library/collections.po +type = PO +minimum_perc = 0 +resource_name = library--collections +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--collections_abc] +file_filter = library/collections.abc.po +type = PO +minimum_perc = 0 +resource_name = library--collections_abc +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--colorsys] +file_filter = library/colorsys.po +type = PO +minimum_perc = 0 +resource_name = library--colorsys +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--compileall] +file_filter = library/compileall.po +type = PO +minimum_perc = 0 +resource_name = library--compileall +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--concurrency] +file_filter = library/concurrency.po +type = PO +minimum_perc = 0 +resource_name = library--concurrency +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--concurrent] +file_filter = library/concurrent.po +type = PO +minimum_perc = 0 +resource_name = library--concurrent +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--concurrent_futures] +file_filter = library/concurrent.futures.po +type = PO +minimum_perc = 0 +resource_name = library--concurrent_futures +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--configparser] +file_filter = library/configparser.po +type = PO +minimum_perc = 0 +resource_name = library--configparser +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--constants] +file_filter = library/constants.po +type = PO +minimum_perc = 0 +resource_name = library--constants +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--contextlib] +file_filter = library/contextlib.po +type = PO +minimum_perc = 0 +resource_name = library--contextlib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--contextvars] +file_filter = library/contextvars.po +type = PO +minimum_perc = 0 +resource_name = library--contextvars +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--copy] +file_filter = library/copy.po +type = PO +minimum_perc = 0 +resource_name = library--copy +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--copyreg] +file_filter = library/copyreg.po +type = PO +minimum_perc = 0 +resource_name = library--copyreg +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--crypt] +file_filter = library/crypt.po +type = PO +minimum_perc = 0 +resource_name = library--crypt +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--crypto] +file_filter = library/crypto.po +type = PO +minimum_perc = 0 +resource_name = library--crypto +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--csv] +file_filter = library/csv.po +type = PO +minimum_perc = 0 +resource_name = library--csv +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--ctypes] +file_filter = library/ctypes.po +type = PO +minimum_perc = 0 +resource_name = library--ctypes +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--curses] +file_filter = library/curses.po +type = PO +minimum_perc = 0 +resource_name = library--curses +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--curses_ascii] +file_filter = library/curses.ascii.po +type = PO +minimum_perc = 0 +resource_name = library--curses_ascii +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--curses_panel] +file_filter = library/curses.panel.po +type = PO +minimum_perc = 0 +resource_name = library--curses_panel +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--custominterp] +file_filter = library/custominterp.po +type = PO +minimum_perc = 0 +resource_name = library--custominterp +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--dataclasses] +file_filter = library/dataclasses.po +type = PO +minimum_perc = 0 +resource_name = library--dataclasses +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--datatypes] +file_filter = library/datatypes.po +type = PO +minimum_perc = 0 +resource_name = library--datatypes +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--datetime] +file_filter = library/datetime.po +type = PO +minimum_perc = 0 +resource_name = library--datetime +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--dbm] +file_filter = library/dbm.po +type = PO +minimum_perc = 0 +resource_name = library--dbm +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--debug] +file_filter = library/debug.po +type = PO +minimum_perc = 0 +resource_name = library--debug +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--decimal] +file_filter = library/decimal.po +type = PO +minimum_perc = 0 +resource_name = library--decimal +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--development] +file_filter = library/development.po +type = PO +minimum_perc = 0 +resource_name = library--development +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--devmode] +file_filter = library/devmode.po +type = PO +minimum_perc = 0 +resource_name = library--devmode +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--dialog] +file_filter = library/dialog.po +type = PO +minimum_perc = 0 +resource_name = library--dialog +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--difflib] +file_filter = library/difflib.po +type = PO +minimum_perc = 0 +resource_name = library--difflib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--dis] +file_filter = library/dis.po +type = PO +minimum_perc = 0 +resource_name = library--dis +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--distribution] +file_filter = library/distribution.po +type = PO +minimum_perc = 0 +resource_name = library--distribution +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--distutils] +file_filter = library/distutils.po +type = PO +minimum_perc = 0 +resource_name = library--distutils +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--doctest] +file_filter = library/doctest.po +type = PO +minimum_perc = 0 +resource_name = library--doctest +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email] +file_filter = library/email.po +type = PO +minimum_perc = 0 +resource_name = library--email +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_charset] +file_filter = library/email.charset.po +type = PO +minimum_perc = 0 +resource_name = library--email_charset +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_compat32-message] +file_filter = library/email.compat32-message.po +type = PO +minimum_perc = 0 +resource_name = library--email_compat32-message +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_contentmanager] +file_filter = library/email.contentmanager.po +type = PO +minimum_perc = 0 +resource_name = library--email_contentmanager +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_encoders] +file_filter = library/email.encoders.po +type = PO +minimum_perc = 0 +resource_name = library--email_encoders +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_errors] +file_filter = library/email.errors.po +type = PO +minimum_perc = 0 +resource_name = library--email_errors +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_examples] +file_filter = library/email.examples.po +type = PO +minimum_perc = 0 +resource_name = library--email_examples +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_generator] +file_filter = library/email.generator.po +type = PO +minimum_perc = 0 +resource_name = library--email_generator +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_header] +file_filter = library/email.header.po +type = PO +minimum_perc = 0 +resource_name = library--email_header +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_headerregistry] +file_filter = library/email.headerregistry.po +type = PO +minimum_perc = 0 +resource_name = library--email_headerregistry +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_iterators] +file_filter = library/email.iterators.po +type = PO +minimum_perc = 0 +resource_name = library--email_iterators +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_message] +file_filter = library/email.message.po +type = PO +minimum_perc = 0 +resource_name = library--email_message +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_mime] +file_filter = library/email.mime.po +type = PO +minimum_perc = 0 +resource_name = library--email_mime +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_parser] +file_filter = library/email.parser.po +type = PO +minimum_perc = 0 +resource_name = library--email_parser +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_policy] +file_filter = library/email.policy.po +type = PO +minimum_perc = 0 +resource_name = library--email_policy +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--email_utils] +file_filter = library/email.utils.po +type = PO +minimum_perc = 0 +resource_name = library--email_utils +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--ensurepip] +file_filter = library/ensurepip.po +type = PO +minimum_perc = 0 +resource_name = library--ensurepip +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--enum] +file_filter = library/enum.po +type = PO +minimum_perc = 0 +resource_name = library--enum +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--errno] +file_filter = library/errno.po +type = PO +minimum_perc = 0 +resource_name = library--errno +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--exceptions] +file_filter = library/exceptions.po +type = PO +minimum_perc = 0 +resource_name = library--exceptions +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--faulthandler] +file_filter = library/faulthandler.po +type = PO +minimum_perc = 0 +resource_name = library--faulthandler +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--fcntl] +file_filter = library/fcntl.po +type = PO +minimum_perc = 0 +resource_name = library--fcntl +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--filecmp] +file_filter = library/filecmp.po +type = PO +minimum_perc = 0 +resource_name = library--filecmp +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--fileformats] +file_filter = library/fileformats.po +type = PO +minimum_perc = 0 +resource_name = library--fileformats +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--fileinput] +file_filter = library/fileinput.po +type = PO +minimum_perc = 0 +resource_name = library--fileinput +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--filesys] +file_filter = library/filesys.po +type = PO +minimum_perc = 0 +resource_name = library--filesys +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--fnmatch] +file_filter = library/fnmatch.po +type = PO +minimum_perc = 0 +resource_name = library--fnmatch +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--fractions] +file_filter = library/fractions.po +type = PO +minimum_perc = 0 +resource_name = library--fractions +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--frameworks] +file_filter = library/frameworks.po +type = PO +minimum_perc = 0 +resource_name = library--frameworks +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--ftplib] +file_filter = library/ftplib.po +type = PO +minimum_perc = 0 +resource_name = library--ftplib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--functional] +file_filter = library/functional.po +type = PO +minimum_perc = 0 +resource_name = library--functional +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--functions] +file_filter = library/functions.po +type = PO +minimum_perc = 0 +resource_name = library--functions +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--functools] +file_filter = library/functools.po +type = PO +minimum_perc = 0 +resource_name = library--functools +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--__future__] +file_filter = library/__future__.po +type = PO +minimum_perc = 0 +resource_name = library--__future__ +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--gc] +file_filter = library/gc.po +type = PO +minimum_perc = 0 +resource_name = library--gc +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--getopt] +file_filter = library/getopt.po +type = PO +minimum_perc = 0 +resource_name = library--getopt +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--getpass] +file_filter = library/getpass.po +type = PO +minimum_perc = 0 +resource_name = library--getpass +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--gettext] +file_filter = library/gettext.po +type = PO +minimum_perc = 0 +resource_name = library--gettext +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--glob] +file_filter = library/glob.po +type = PO +minimum_perc = 0 +resource_name = library--glob +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--graphlib] +file_filter = library/graphlib.po +type = PO +minimum_perc = 0 +resource_name = library--graphlib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--grp] +file_filter = library/grp.po +type = PO +minimum_perc = 0 +resource_name = library--grp +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--gzip] +file_filter = library/gzip.po +type = PO +minimum_perc = 0 +resource_name = library--gzip +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--hashlib] +file_filter = library/hashlib.po +type = PO +minimum_perc = 0 +resource_name = library--hashlib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--heapq] +file_filter = library/heapq.po +type = PO +minimum_perc = 0 +resource_name = library--heapq +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--hmac] +file_filter = library/hmac.po +type = PO +minimum_perc = 0 +resource_name = library--hmac +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--html] +file_filter = library/html.po +type = PO +minimum_perc = 0 +resource_name = library--html +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--html_entities] +file_filter = library/html.entities.po +type = PO +minimum_perc = 0 +resource_name = library--html_entities +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--html_parser] +file_filter = library/html.parser.po +type = PO +minimum_perc = 0 +resource_name = library--html_parser +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--http] +file_filter = library/http.po +type = PO +minimum_perc = 0 +resource_name = library--http +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--http_client] +file_filter = library/http.client.po +type = PO +minimum_perc = 0 +resource_name = library--http_client +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--http_cookiejar] +file_filter = library/http.cookiejar.po +type = PO +minimum_perc = 0 +resource_name = library--http_cookiejar +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--http_cookies] +file_filter = library/http.cookies.po +type = PO +minimum_perc = 0 +resource_name = library--http_cookies +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--http_server] +file_filter = library/http.server.po +type = PO +minimum_perc = 0 +resource_name = library--http_server +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--i18n] +file_filter = library/i18n.po +type = PO +minimum_perc = 0 +resource_name = library--i18n +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--idle] +file_filter = library/idle.po +type = PO +minimum_perc = 0 +resource_name = library--idle +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--imaplib] +file_filter = library/imaplib.po +type = PO +minimum_perc = 0 +resource_name = library--imaplib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--imghdr] +file_filter = library/imghdr.po +type = PO +minimum_perc = 0 +resource_name = library--imghdr +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--imp] +file_filter = library/imp.po +type = PO +minimum_perc = 0 +resource_name = library--imp +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--importlib] +file_filter = library/importlib.po +type = PO +minimum_perc = 0 +resource_name = library--importlib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--importlib_metadata] +file_filter = library/importlib.metadata.po +type = PO +minimum_perc = 0 +resource_name = library--importlib_metadata +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--importlib_resources] +file_filter = library/importlib.resources.po +type = PO +minimum_perc = 0 +resource_name = library--importlib_resources +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--importlib_resources_abc] +file_filter = library/importlib.resources.abc.po +type = PO +minimum_perc = 0 +resource_name = library--importlib_resources_abc +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--index] +file_filter = library/index.po +type = PO +minimum_perc = 0 +resource_name = library--index +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--inspect] +file_filter = library/inspect.po +type = PO +minimum_perc = 0 +resource_name = library--inspect +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--internet] +file_filter = library/internet.po +type = PO +minimum_perc = 0 +resource_name = library--internet +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--intro] +file_filter = library/intro.po +type = PO +minimum_perc = 0 +resource_name = library--intro +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--io] +file_filter = library/io.po +type = PO +minimum_perc = 0 +resource_name = library--io +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--ipaddress] +file_filter = library/ipaddress.po +type = PO +minimum_perc = 0 +resource_name = library--ipaddress +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--ipc] +file_filter = library/ipc.po +type = PO +minimum_perc = 0 +resource_name = library--ipc +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--itertools] +file_filter = library/itertools.po +type = PO +minimum_perc = 0 +resource_name = library--itertools +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--json] +file_filter = library/json.po +type = PO +minimum_perc = 0 +resource_name = library--json +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--keyword] +file_filter = library/keyword.po +type = PO +minimum_perc = 0 +resource_name = library--keyword +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--language] +file_filter = library/language.po +type = PO +minimum_perc = 0 +resource_name = library--language +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--linecache] +file_filter = library/linecache.po +type = PO +minimum_perc = 0 +resource_name = library--linecache +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--locale] +file_filter = library/locale.po +type = PO +minimum_perc = 0 +resource_name = library--locale +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--logging] +file_filter = library/logging.po +type = PO +minimum_perc = 0 +resource_name = library--logging +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--logging_config] +file_filter = library/logging.config.po +type = PO +minimum_perc = 0 +resource_name = library--logging_config +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--logging_handlers] +file_filter = library/logging.handlers.po +type = PO +minimum_perc = 0 +resource_name = library--logging_handlers +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--lzma] +file_filter = library/lzma.po +type = PO +minimum_perc = 0 +resource_name = library--lzma +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--mailbox] +file_filter = library/mailbox.po +type = PO +minimum_perc = 0 +resource_name = library--mailbox +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--mailcap] +file_filter = library/mailcap.po +type = PO +minimum_perc = 0 +resource_name = library--mailcap +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--__main__] +file_filter = library/__main__.po +type = PO +minimum_perc = 0 +resource_name = library--__main__ +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--markup] +file_filter = library/markup.po +type = PO +minimum_perc = 0 +resource_name = library--markup +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--marshal] +file_filter = library/marshal.po +type = PO +minimum_perc = 0 +resource_name = library--marshal +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--math] +file_filter = library/math.po +type = PO +minimum_perc = 0 +resource_name = library--math +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--mimetypes] +file_filter = library/mimetypes.po +type = PO +minimum_perc = 0 +resource_name = library--mimetypes +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--mm] +file_filter = library/mm.po +type = PO +minimum_perc = 0 +resource_name = library--mm +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--mmap] +file_filter = library/mmap.po +type = PO +minimum_perc = 0 +resource_name = library--mmap +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--modulefinder] +file_filter = library/modulefinder.po +type = PO +minimum_perc = 0 +resource_name = library--modulefinder +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--modules] +file_filter = library/modules.po +type = PO +minimum_perc = 0 +resource_name = library--modules +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--msilib] +file_filter = library/msilib.po +type = PO +minimum_perc = 0 +resource_name = library--msilib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--msvcrt] +file_filter = library/msvcrt.po +type = PO +minimum_perc = 0 +resource_name = library--msvcrt +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--multiprocessing] +file_filter = library/multiprocessing.po +type = PO +minimum_perc = 0 +resource_name = library--multiprocessing +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--multiprocessing_shared_memory] +file_filter = library/multiprocessing.shared_memory.po +type = PO +minimum_perc = 0 +resource_name = library--multiprocessing_shared_memory +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--netdata] +file_filter = library/netdata.po +type = PO +minimum_perc = 0 +resource_name = library--netdata +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--netrc] +file_filter = library/netrc.po +type = PO +minimum_perc = 0 +resource_name = library--netrc +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--nis] +file_filter = library/nis.po +type = PO +minimum_perc = 0 +resource_name = library--nis +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--nntplib] +file_filter = library/nntplib.po +type = PO +minimum_perc = 0 +resource_name = library--nntplib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--numbers] +file_filter = library/numbers.po +type = PO +minimum_perc = 0 +resource_name = library--numbers +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--numeric] +file_filter = library/numeric.po +type = PO +minimum_perc = 0 +resource_name = library--numeric +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--operator] +file_filter = library/operator.po +type = PO +minimum_perc = 0 +resource_name = library--operator +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--optparse] +file_filter = library/optparse.po +type = PO +minimum_perc = 0 +resource_name = library--optparse +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--os] +file_filter = library/os.po +type = PO +minimum_perc = 0 +resource_name = library--os +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--os_path] +file_filter = library/os.path.po +type = PO +minimum_perc = 0 +resource_name = library--os_path +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--ossaudiodev] +file_filter = library/ossaudiodev.po +type = PO +minimum_perc = 0 +resource_name = library--ossaudiodev +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--pathlib] +file_filter = library/pathlib.po +type = PO +minimum_perc = 0 +resource_name = library--pathlib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--pdb] +file_filter = library/pdb.po +type = PO +minimum_perc = 0 +resource_name = library--pdb +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--persistence] +file_filter = library/persistence.po +type = PO +minimum_perc = 0 +resource_name = library--persistence +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--pickle] +file_filter = library/pickle.po +type = PO +minimum_perc = 0 +resource_name = library--pickle +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--pickletools] +file_filter = library/pickletools.po +type = PO +minimum_perc = 0 +resource_name = library--pickletools +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--pipes] +file_filter = library/pipes.po +type = PO +minimum_perc = 0 +resource_name = library--pipes +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--pkgutil] +file_filter = library/pkgutil.po +type = PO +minimum_perc = 0 +resource_name = library--pkgutil +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--platform] +file_filter = library/platform.po +type = PO +minimum_perc = 0 +resource_name = library--platform +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--plistlib] +file_filter = library/plistlib.po +type = PO +minimum_perc = 0 +resource_name = library--plistlib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--poplib] +file_filter = library/poplib.po +type = PO +minimum_perc = 0 +resource_name = library--poplib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--posix] +file_filter = library/posix.po +type = PO +minimum_perc = 0 +resource_name = library--posix +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--pprint] +file_filter = library/pprint.po +type = PO +minimum_perc = 0 +resource_name = library--pprint +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--profile] +file_filter = library/profile.po +type = PO +minimum_perc = 0 +resource_name = library--profile +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--pty] +file_filter = library/pty.po +type = PO +minimum_perc = 0 +resource_name = library--pty +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--pwd] +file_filter = library/pwd.po +type = PO +minimum_perc = 0 +resource_name = library--pwd +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--pyclbr] +file_filter = library/pyclbr.po +type = PO +minimum_perc = 0 +resource_name = library--pyclbr +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--py_compile] +file_filter = library/py_compile.po +type = PO +minimum_perc = 0 +resource_name = library--py_compile +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--pydoc] +file_filter = library/pydoc.po +type = PO +minimum_perc = 0 +resource_name = library--pydoc +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--pyexpat] +file_filter = library/pyexpat.po +type = PO +minimum_perc = 0 +resource_name = library--pyexpat +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--python] +file_filter = library/python.po +type = PO +minimum_perc = 0 +resource_name = library--python +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--queue] +file_filter = library/queue.po +type = PO +minimum_perc = 0 +resource_name = library--queue +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--quopri] +file_filter = library/quopri.po +type = PO +minimum_perc = 0 +resource_name = library--quopri +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--random] +file_filter = library/random.po +type = PO +minimum_perc = 0 +resource_name = library--random +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--re] +file_filter = library/re.po +type = PO +minimum_perc = 0 +resource_name = library--re +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--readline] +file_filter = library/readline.po +type = PO +minimum_perc = 0 +resource_name = library--readline +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--reprlib] +file_filter = library/reprlib.po +type = PO +minimum_perc = 0 +resource_name = library--reprlib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--resource] +file_filter = library/resource.po +type = PO +minimum_perc = 0 +resource_name = library--resource +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--rlcompleter] +file_filter = library/rlcompleter.po +type = PO +minimum_perc = 0 +resource_name = library--rlcompleter +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--runpy] +file_filter = library/runpy.po +type = PO +minimum_perc = 0 +resource_name = library--runpy +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--sched] +file_filter = library/sched.po +type = PO +minimum_perc = 0 +resource_name = library--sched +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--secrets] +file_filter = library/secrets.po +type = PO +minimum_perc = 0 +resource_name = library--secrets +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--security_warnings] +file_filter = library/security_warnings.po +type = PO +minimum_perc = 0 +resource_name = library--security_warnings +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--select] +file_filter = library/select.po +type = PO +minimum_perc = 0 +resource_name = library--select +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--selectors] +file_filter = library/selectors.po +type = PO +minimum_perc = 0 +resource_name = library--selectors +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--shelve] +file_filter = library/shelve.po +type = PO +minimum_perc = 0 +resource_name = library--shelve +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--shlex] +file_filter = library/shlex.po +type = PO +minimum_perc = 0 +resource_name = library--shlex +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--shutil] +file_filter = library/shutil.po +type = PO +minimum_perc = 0 +resource_name = library--shutil +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--signal] +file_filter = library/signal.po +type = PO +minimum_perc = 0 +resource_name = library--signal +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--site] +file_filter = library/site.po +type = PO +minimum_perc = 0 +resource_name = library--site +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--smtpd] +file_filter = library/smtpd.po +type = PO +minimum_perc = 0 +resource_name = library--smtpd +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--smtplib] +file_filter = library/smtplib.po +type = PO +minimum_perc = 0 +resource_name = library--smtplib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--sndhdr] +file_filter = library/sndhdr.po +type = PO +minimum_perc = 0 +resource_name = library--sndhdr +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--socket] +file_filter = library/socket.po +type = PO +minimum_perc = 0 +resource_name = library--socket +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--socketserver] +file_filter = library/socketserver.po +type = PO +minimum_perc = 0 +resource_name = library--socketserver +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--spwd] +file_filter = library/spwd.po +type = PO +minimum_perc = 0 +resource_name = library--spwd +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--sqlite3] +file_filter = library/sqlite3.po +type = PO +minimum_perc = 0 +resource_name = library--sqlite3 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--ssl] +file_filter = library/ssl.po +type = PO +minimum_perc = 0 +resource_name = library--ssl +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--stat] +file_filter = library/stat.po +type = PO +minimum_perc = 0 +resource_name = library--stat +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--statistics] +file_filter = library/statistics.po +type = PO +minimum_perc = 0 +resource_name = library--statistics +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--stdtypes] +file_filter = library/stdtypes.po +type = PO +minimum_perc = 0 +resource_name = library--stdtypes +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--string] +file_filter = library/string.po +type = PO +minimum_perc = 0 +resource_name = library--string +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--stringprep] +file_filter = library/stringprep.po +type = PO +minimum_perc = 0 +resource_name = library--stringprep +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--struct] +file_filter = library/struct.po +type = PO +minimum_perc = 0 +resource_name = library--struct +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--subprocess] +file_filter = library/subprocess.po +type = PO +minimum_perc = 0 +resource_name = library--subprocess +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--sunau] +file_filter = library/sunau.po +type = PO +minimum_perc = 0 +resource_name = library--sunau +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--superseded] +file_filter = library/superseded.po +type = PO +minimum_perc = 0 +resource_name = library--superseded +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--symtable] +file_filter = library/symtable.po +type = PO +minimum_perc = 0 +resource_name = library--symtable +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--sys] +file_filter = library/sys.po +type = PO +minimum_perc = 0 +resource_name = library--sys +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--sysconfig] +file_filter = library/sysconfig.po +type = PO +minimum_perc = 0 +resource_name = library--sysconfig +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--syslog] +file_filter = library/syslog.po +type = PO +minimum_perc = 0 +resource_name = library--syslog +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--sys_path_init] +file_filter = library/sys_path_init.po +type = PO +minimum_perc = 0 +resource_name = library--sys_path_init +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tabnanny] +file_filter = library/tabnanny.po +type = PO +minimum_perc = 0 +resource_name = library--tabnanny +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tarfile] +file_filter = library/tarfile.po +type = PO +minimum_perc = 0 +resource_name = library--tarfile +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--telnetlib] +file_filter = library/telnetlib.po +type = PO +minimum_perc = 0 +resource_name = library--telnetlib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tempfile] +file_filter = library/tempfile.po +type = PO +minimum_perc = 0 +resource_name = library--tempfile +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--termios] +file_filter = library/termios.po +type = PO +minimum_perc = 0 +resource_name = library--termios +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--test] +file_filter = library/test.po +type = PO +minimum_perc = 0 +resource_name = library--test +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--text] +file_filter = library/text.po +type = PO +minimum_perc = 0 +resource_name = library--text +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--textwrap] +file_filter = library/textwrap.po +type = PO +minimum_perc = 0 +resource_name = library--textwrap +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--_thread] +file_filter = library/_thread.po +type = PO +minimum_perc = 0 +resource_name = library--_thread +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--threading] +file_filter = library/threading.po +type = PO +minimum_perc = 0 +resource_name = library--threading +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--time] +file_filter = library/time.po +type = PO +minimum_perc = 0 +resource_name = library--time +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--timeit] +file_filter = library/timeit.po +type = PO +minimum_perc = 0 +resource_name = library--timeit +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tk] +file_filter = library/tk.po +type = PO +minimum_perc = 0 +resource_name = library--tk +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tkinter] +file_filter = library/tkinter.po +type = PO +minimum_perc = 0 +resource_name = library--tkinter +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tkinter_colorchooser] +file_filter = library/tkinter.colorchooser.po +type = PO +minimum_perc = 0 +resource_name = library--tkinter_colorchooser +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tkinter_dnd] +file_filter = library/tkinter.dnd.po +type = PO +minimum_perc = 0 +resource_name = library--tkinter_dnd +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tkinter_font] +file_filter = library/tkinter.font.po +type = PO +minimum_perc = 0 +resource_name = library--tkinter_font +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tkinter_messagebox] +file_filter = library/tkinter.messagebox.po +type = PO +minimum_perc = 0 +resource_name = library--tkinter_messagebox +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tkinter_scrolledtext] +file_filter = library/tkinter.scrolledtext.po +type = PO +minimum_perc = 0 +resource_name = library--tkinter_scrolledtext +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tkinter_tix] +file_filter = library/tkinter.tix.po +type = PO +minimum_perc = 0 +resource_name = library--tkinter_tix +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tkinter_ttk] +file_filter = library/tkinter.ttk.po +type = PO +minimum_perc = 0 +resource_name = library--tkinter_ttk +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--token] +file_filter = library/token.po +type = PO +minimum_perc = 0 +resource_name = library--token +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tokenize] +file_filter = library/tokenize.po +type = PO +minimum_perc = 0 +resource_name = library--tokenize +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tomllib] +file_filter = library/tomllib.po +type = PO +minimum_perc = 0 +resource_name = library--tomllib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--trace] +file_filter = library/trace.po +type = PO +minimum_perc = 0 +resource_name = library--trace +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--traceback] +file_filter = library/traceback.po +type = PO +minimum_perc = 0 +resource_name = library--traceback +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tracemalloc] +file_filter = library/tracemalloc.po +type = PO +minimum_perc = 0 +resource_name = library--tracemalloc +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--tty] +file_filter = library/tty.po +type = PO +minimum_perc = 0 +resource_name = library--tty +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--turtle] +file_filter = library/turtle.po +type = PO +minimum_perc = 0 +resource_name = library--turtle +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--types] +file_filter = library/types.po +type = PO +minimum_perc = 0 +resource_name = library--types +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--typing] +file_filter = library/typing.po +type = PO +minimum_perc = 0 +resource_name = library--typing +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--unicodedata] +file_filter = library/unicodedata.po +type = PO +minimum_perc = 0 +resource_name = library--unicodedata +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--unittest] +file_filter = library/unittest.po +type = PO +minimum_perc = 0 +resource_name = library--unittest +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--unittest_mock] +file_filter = library/unittest.mock.po +type = PO +minimum_perc = 0 +resource_name = library--unittest_mock +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--unittest_mock-examples] +file_filter = library/unittest.mock-examples.po +type = PO +minimum_perc = 0 +resource_name = library--unittest_mock-examples +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--unix] +file_filter = library/unix.po +type = PO +minimum_perc = 0 +resource_name = library--unix +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--urllib] +file_filter = library/urllib.po +type = PO +minimum_perc = 0 +resource_name = library--urllib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--urllib_error] +file_filter = library/urllib.error.po +type = PO +minimum_perc = 0 +resource_name = library--urllib_error +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--urllib_parse] +file_filter = library/urllib.parse.po +type = PO +minimum_perc = 0 +resource_name = library--urllib_parse +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--urllib_request] +file_filter = library/urllib.request.po +type = PO +minimum_perc = 0 +resource_name = library--urllib_request +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--urllib_robotparser] +file_filter = library/urllib.robotparser.po +type = PO +minimum_perc = 0 +resource_name = library--urllib_robotparser +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--uu] +file_filter = library/uu.po +type = PO +minimum_perc = 0 +resource_name = library--uu +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--uuid] +file_filter = library/uuid.po +type = PO +minimum_perc = 0 +resource_name = library--uuid +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--venv] +file_filter = library/venv.po +type = PO +minimum_perc = 0 +resource_name = library--venv +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--warnings] +file_filter = library/warnings.po +type = PO +minimum_perc = 0 +resource_name = library--warnings +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--wave] +file_filter = library/wave.po +type = PO +minimum_perc = 0 +resource_name = library--wave +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--weakref] +file_filter = library/weakref.po +type = PO +minimum_perc = 0 +resource_name = library--weakref +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--webbrowser] +file_filter = library/webbrowser.po +type = PO +minimum_perc = 0 +resource_name = library--webbrowser +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--windows] +file_filter = library/windows.po +type = PO +minimum_perc = 0 +resource_name = library--windows +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--winreg] +file_filter = library/winreg.po +type = PO +minimum_perc = 0 +resource_name = library--winreg +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--winsound] +file_filter = library/winsound.po +type = PO +minimum_perc = 0 +resource_name = library--winsound +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--wsgiref] +file_filter = library/wsgiref.po +type = PO +minimum_perc = 0 +resource_name = library--wsgiref +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--xdrlib] +file_filter = library/xdrlib.po +type = PO +minimum_perc = 0 +resource_name = library--xdrlib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--xml] +file_filter = library/xml.po +type = PO +minimum_perc = 0 +resource_name = library--xml +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--xml_dom] +file_filter = library/xml.dom.po +type = PO +minimum_perc = 0 +resource_name = library--xml_dom +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--xml_dom_minidom] +file_filter = library/xml.dom.minidom.po +type = PO +minimum_perc = 0 +resource_name = library--xml_dom_minidom +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--xml_dom_pulldom] +file_filter = library/xml.dom.pulldom.po +type = PO +minimum_perc = 0 +resource_name = library--xml_dom_pulldom +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--xml_etree_elementtree] +file_filter = library/xml.etree.elementtree.po +type = PO +minimum_perc = 0 +resource_name = library--xml_etree_elementtree +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--xmlrpc] +file_filter = library/xmlrpc.po +type = PO +minimum_perc = 0 +resource_name = library--xmlrpc +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--xmlrpc_client] +file_filter = library/xmlrpc.client.po +type = PO +minimum_perc = 0 +resource_name = library--xmlrpc_client +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--xmlrpc_server] +file_filter = library/xmlrpc.server.po +type = PO +minimum_perc = 0 +resource_name = library--xmlrpc_server +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--xml_sax] +file_filter = library/xml.sax.po +type = PO +minimum_perc = 0 +resource_name = library--xml_sax +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--xml_sax_handler] +file_filter = library/xml.sax.handler.po +type = PO +minimum_perc = 0 +resource_name = library--xml_sax_handler +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--xml_sax_reader] +file_filter = library/xml.sax.reader.po +type = PO +minimum_perc = 0 +resource_name = library--xml_sax_reader +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--xml_sax_utils] +file_filter = library/xml.sax.utils.po +type = PO +minimum_perc = 0 +resource_name = library--xml_sax_utils +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--zipapp] +file_filter = library/zipapp.po +type = PO +minimum_perc = 0 +resource_name = library--zipapp +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--zipfile] +file_filter = library/zipfile.po +type = PO +minimum_perc = 0 +resource_name = library--zipfile +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--zipimport] +file_filter = library/zipimport.po +type = PO +minimum_perc = 0 +resource_name = library--zipimport +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--zlib] +file_filter = library/zlib.po +type = PO +minimum_perc = 0 +resource_name = library--zlib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:library--zoneinfo] +file_filter = library/zoneinfo.po +type = PO +minimum_perc = 0 +resource_name = library--zoneinfo +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:license] +file_filter = license.po +type = PO +minimum_perc = 0 +resource_name = license +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:reference--compound_stmts] +file_filter = reference/compound_stmts.po +type = PO +minimum_perc = 0 +resource_name = reference--compound_stmts +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:reference--datamodel] +file_filter = reference/datamodel.po +type = PO +minimum_perc = 0 +resource_name = reference--datamodel +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:reference--executionmodel] +file_filter = reference/executionmodel.po +type = PO +minimum_perc = 0 +resource_name = reference--executionmodel +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:reference--expressions] +file_filter = reference/expressions.po +type = PO +minimum_perc = 0 +resource_name = reference--expressions +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:reference--grammar] +file_filter = reference/grammar.po +type = PO +minimum_perc = 0 +resource_name = reference--grammar +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:reference--import] +file_filter = reference/import.po +type = PO +minimum_perc = 0 +resource_name = reference--import +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:reference--index] +file_filter = reference/index.po +type = PO +minimum_perc = 0 +resource_name = reference--index +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:reference--introduction] +file_filter = reference/introduction.po +type = PO +minimum_perc = 0 +resource_name = reference--introduction +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:reference--lexical_analysis] +file_filter = reference/lexical_analysis.po +type = PO +minimum_perc = 0 +resource_name = reference--lexical_analysis +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:reference--simple_stmts] +file_filter = reference/simple_stmts.po +type = PO +minimum_perc = 0 +resource_name = reference--simple_stmts +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:reference--toplevel_components] +file_filter = reference/toplevel_components.po +type = PO +minimum_perc = 0 +resource_name = reference--toplevel_components +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:sphinx] +file_filter = sphinx.po +type = PO +minimum_perc = 0 +resource_name = sphinx +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--appendix] +file_filter = tutorial/appendix.po +type = PO +minimum_perc = 0 +resource_name = tutorial--appendix +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--appetite] +file_filter = tutorial/appetite.po +type = PO +minimum_perc = 0 +resource_name = tutorial--appetite +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--classes] +file_filter = tutorial/classes.po +type = PO +minimum_perc = 0 +resource_name = tutorial--classes +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--controlflow] +file_filter = tutorial/controlflow.po +type = PO +minimum_perc = 0 +resource_name = tutorial--controlflow +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--datastructures] +file_filter = tutorial/datastructures.po +type = PO +minimum_perc = 0 +resource_name = tutorial--datastructures +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--errors] +file_filter = tutorial/errors.po +type = PO +minimum_perc = 0 +resource_name = tutorial--errors +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--floatingpoint] +file_filter = tutorial/floatingpoint.po +type = PO +minimum_perc = 0 +resource_name = tutorial--floatingpoint +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--index] +file_filter = tutorial/index.po +type = PO +minimum_perc = 0 +resource_name = tutorial--index +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--inputoutput] +file_filter = tutorial/inputoutput.po +type = PO +minimum_perc = 0 +resource_name = tutorial--inputoutput +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--interactive] +file_filter = tutorial/interactive.po +type = PO +minimum_perc = 0 +resource_name = tutorial--interactive +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--interpreter] +file_filter = tutorial/interpreter.po +type = PO +minimum_perc = 0 +resource_name = tutorial--interpreter +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--introduction] +file_filter = tutorial/introduction.po +type = PO +minimum_perc = 0 +resource_name = tutorial--introduction +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--modules] +file_filter = tutorial/modules.po +type = PO +minimum_perc = 0 +resource_name = tutorial--modules +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--stdlib] +file_filter = tutorial/stdlib.po +type = PO +minimum_perc = 0 +resource_name = tutorial--stdlib +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--stdlib2] +file_filter = tutorial/stdlib2.po +type = PO +minimum_perc = 0 +resource_name = tutorial--stdlib2 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--venv] +file_filter = tutorial/venv.po +type = PO +minimum_perc = 0 +resource_name = tutorial--venv +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:tutorial--whatnow] +file_filter = tutorial/whatnow.po +type = PO +minimum_perc = 0 +resource_name = tutorial--whatnow +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:using--cmdline] +file_filter = using/cmdline.po +type = PO +minimum_perc = 0 +resource_name = using--cmdline +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:using--configure] +file_filter = using/configure.po +type = PO +minimum_perc = 0 +resource_name = using--configure +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:using--editors] +file_filter = using/editors.po +type = PO +minimum_perc = 0 +resource_name = using--editors +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:using--index] +file_filter = using/index.po +type = PO +minimum_perc = 0 +resource_name = using--index +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:using--mac] +file_filter = using/mac.po +type = PO +minimum_perc = 0 +resource_name = using--mac +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:using--unix] +file_filter = using/unix.po +type = PO +minimum_perc = 0 +resource_name = using--unix +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:using--windows] +file_filter = using/windows.po +type = PO +minimum_perc = 0 +resource_name = using--windows +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--2_0] +file_filter = whatsnew/2.0.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--2_0 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--2_1] +file_filter = whatsnew/2.1.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--2_1 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--2_2] +file_filter = whatsnew/2.2.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--2_2 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--2_3] +file_filter = whatsnew/2.3.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--2_3 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--2_4] +file_filter = whatsnew/2.4.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--2_4 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--2_5] +file_filter = whatsnew/2.5.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--2_5 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--2_6] +file_filter = whatsnew/2.6.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--2_6 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--2_7] +file_filter = whatsnew/2.7.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--2_7 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--3_0] +file_filter = whatsnew/3.0.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--3_0 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--3_1] +file_filter = whatsnew/3.1.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--3_1 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--3_10] +file_filter = whatsnew/3.10.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--3_10 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--3_11] +file_filter = whatsnew/3.11.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--3_11 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--3_2] +file_filter = whatsnew/3.2.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--3_2 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--3_3] +file_filter = whatsnew/3.3.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--3_3 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--3_4] +file_filter = whatsnew/3.4.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--3_4 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--3_5] +file_filter = whatsnew/3.5.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--3_5 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--3_6] +file_filter = whatsnew/3.6.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--3_6 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--3_7] +file_filter = whatsnew/3.7.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--3_7 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--3_8] +file_filter = whatsnew/3.8.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--3_8 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--3_9] +file_filter = whatsnew/3.9.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--3_9 +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--changelog] +file_filter = whatsnew/changelog.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--changelog +replace_edited_strings = false +keep_translations = false + +[o:python-doc:p:python-311:r:whatsnew--index] +file_filter = whatsnew/index.po +type = PO +minimum_perc = 0 +resource_name = whatsnew--index +replace_edited_strings = false +keep_translations = false diff --git a/Makefile b/Makefile deleted file mode 100644 index 4a7447e89..000000000 --- a/Makefile +++ /dev/null @@ -1,274 +0,0 @@ -# -# Makefile for Brazilian Portuguese Python Documentation -# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -# -# based on: https://github.com/python/python-docs-fr/blob/3.8/Makefile -# - -################# -# Configuration - -# Read environment variables from file to keep this clean move version -# changes elsewhere -include .env - -# Force the use of Bash -SHELL=/bin/bash - -# Time of starting this run -NOW := $(shell date +'%Y%m%-d-%H%M%Z') - -# Force realpath, not relative one -override CPYTHON_DIR := $(shell realpath $(CPYTHON_DIR)) - -override LOCALE_DIR := "$(CPYTHON_DIR)/$(LOCALE_DIR)" - -override LOGS_DIR := $(shell realpath $(LOGS_DIR)) - -override VENV_DIR := $(shell realpath $(VENV_DIR)) -# -################# - -.PHONY: build clean help htmlview lint merge po-install pot pull push setup spell tx-config tx-install venv - -help: - @echo "Please use 'make ' where is one of:" - @echo " build Build an local version in html; deps: 'setup' and 'po-install'" - @echo " push Commit and push translations; no deps" - @echo " pull Download translations from Transifex; deps: 'tx-config'" - @echo " tx-config Regenerate Transifex config; deps: 'pot' and 'tx-install'" - @echo " tx-install Install Transifex CLI client; deps: no deps" - @echo " pot Regenerate POT files from sources; deps: 'setup'" - @echo " htmlview View docs in a web browser; deps: build" - @echo " spell Check spelling, storing output in $(POSPELL_TMP_DIR)" - @echo " lint Do some linting in PO file's Sphinx syntax. deps: 'venv'" - @echo " merge Merge $(BRANCH) branch's .po files into older branches" - @echo " Defaults overwrite in: $(BUGFIXBRANCH)" - @echo " and NOT overwrite in: $(OLDERBRANCHES)" - @echo " clean Do some house cleaning" - @echo "" - - -# build: build the documentation using the translation files currently available -# at the moment. For most up-to-date docs, run "tx-config" and "pull" -# before this. If passing SPHINXERRORHANDLING='', warnings will not be -# treated as errors, which is good to skip simple Sphinx syntax mistakes. -build: setup po-install - @echo "Building Python $(BRANCH) Documentation in $(LANGUAGE) ..." - @mkdir -p "$(LOGS_DIR)/build" - @$(MAKE) -C $(CPYTHON_DIR)/Doc/ \ - PYTHON=$(PYTHON) \ - SPHINXERRORHANDLING=$(SPHINXERRORHANDLING) \ - SPHINXOPTS="--keep-going \ - -D gettext_compact=0 \ - -D language=$(LANGUAGE) \ - -D latex_engine=xelatex \ - -D latex_elements.inputenc= \ - -D latex_elements.fontenc=" \ - html \ - 2> >(tee -a $(LOGS_DIR)/build/err-$(NOW).txt >&2) - - -# push: Commit and push translation files and Transifex config file to repo. -# First it git-adds tracked file that doesn't exclusively match changes -# in POT-Creation-Date header field. Then it git-adds untracked PO files -# that might have been created in the update process, and the Transifex -# configuration. Finally, only commit and push only if any file was -# git-added (staged); otherwise, it does nothing. -# The MSG variable has a default commit message, but one can override it -# e.g. make push MSG='my message' -push: MSG := Update translations from Transifex -push: - @CHANGED=$(shell git diff -I'^"POT-Creation-Date: ' --numstat *.po **/*.po | cut -f3); \ - NEW=$(shell git ls-files -o *.po **/*.po); \ - if [[ "$$CHANGED$$NEW" != "" ]]; then \ - git commit -m '$(MSG)' $$CHANGED $$NEW .tx/config; \ - git push; \ - else \ - echo 'Nothing to commit'; \ - fi - - -# pull: Download translations files from Transifex, and apply line wrapping. -# For downloading new translation files, first run "tx-config" target -# to update the translation file mapping. -pull: tx-config - @"$(TX_CLI_DIR)/tx" pull -l pt_BR -t -f --use-git-timestamps - @"$(VENV_DIR)/bin/powrap" --quiet *.po **/*.po - - -# tx-config: Generate a new Transifex configuration file by reading -# the pot files generated by 'pot' target. The file is -# created in $(LOCALE_DIR)/.tx/config, and then is tweaked -# to fit the language's needs and then placed in .tx/config -# at the project's root directory. -tx-config: TRANSIFEX_PROJECT := python-newest -tx-config: LOCALE_RELATIVE := $(shell realpath --relative-to=. $(LOCALE_DIR)) -tx-config: pot tx-install - @cd $(LOCALE_DIR); \ - rm -rf .tx; \ - "$(VENV_DIR)/bin/sphinx-intl" create-txconfig; \ - "$(VENV_DIR)/bin/sphinx-intl" update-txconfig-resources \ - --transifex-organization-name python-doc \ - --transifex-project-name=$(TRANSIFEX_PROJECT) \ - --locale-dir . \ - --pot-dir pot - @mkdir -p .tx - @sed $(LOCALE_DIR)/.tx/config \ - -e "s|^file_filter = .*|&\nx&|;" \ - -e "s|^source_file = pot/|source_file = $(LOCALE_RELATIVE)/pot/|" \ - > .tx/config - @sed -i .tx/config \ - -e "s|^xfile_filter = .//LC_MESSAGES/|trans.$(LANGUAGE) = |;" - - -# tx-install: Install Transifex CLI client if not installed yet. Installs -# the TX_CLI_VERSION version into TX_CLI_DIR directory. If -# TX_CLI_VERSION not provided, uses the latest one. -tx-install: URL := https://raw.githubusercontent.com/transifex/cli/master/install.sh -tx-install: - @if [ ! -x "$(TX_CLI_DIR)/tx" ]; then \ - echo "Transifex TX Client not found, installing ..."; \ - cd "$(TX_CLI_DIR)"; \ - if [ -n "v$(TX_CLI_VERSION)" ]; then \ - curl -s -o- $(URL) | bash -s -- v$(TX_CLI_VERSION); \ - else \ - curl -s -o- $(URL) | bash; \ - fi; \ - fi - - -# pot: After running "setup" target, run sphinx-build's gettext target -# to generate .pot files under $(CPYTHON_DIR)/Doc/locales/pot. -pot: setup - @$(MAKE) -C $(CPYTHON_DIR)/Doc/ \ - VENVDIR=./venv \ - PYTHON=$(PYTHON) \ - ALLSPHINXOPTS='-E \ - -b gettext \ - -D gettext_compact=0 \ - -d build/.doctrees \ - . $(LOCALE_DIR)/pot' \ - build - - -# setup: After running "venv" target, prepare that virtual environment with -# a local clone of cpython repository and the translation files. -# If the directories exists, only update the cpython repository and -# the translation files copy which could have new/updated files. -setup: CPYTHON_URL := https://github.com/python/cpython -setup: venv - @if [ -z "$(BRANCH)" ]; then \ - echo "BRANCH is empty, should have git-branch. Unable to continue."; \ - exit 1; \ - fi - - @if ! [ -d "$(CPYTHON_DIR)" ]; then \ - echo "CPython repo not found; cloning ..."; \ - git clone --depth 1 --no-single-branch $(CPYTHON_URL) $(CPYTHON_DIR); \ - git -C "$(CPYTHON_DIR)" checkout $(BRANCH); \ - else \ - echo "CPython repo found; updating ..."; \ - git -C "$(CPYTHON_DIR)" checkout $(BRANCH); \ - git -C "$(CPYTHON_DIR)" pull --rebase; \ - fi - - @echo "Creating CPython's documentation virtual environment ..." - @if [ ! -d "$(CPYTHON_DIR)/Doc/venv" ]; then \ - $(MAKE) -C "$(CPYTHON_DIR)/Doc" PYTHON=$(PYTHON) venv; \ - fi - - -# po-install: Copy the project's PO files into CPython locales directory, -# to make it easier to run targets like build and gettext -po-install: - @echo "Setting up translation files in cpython's Doc ..." - @mkdir -p "$(LOCALE_DIR)/$(LANGUAGE)/LC_MESSAGES/" - @cp --parents *.po **/*.po "$(LOCALE_DIR)/$(LANGUAGE)/LC_MESSAGES/" - - -# venv: create a virtual environment which will be used by almost every -# other target of this script. CPython specific packages are installed -# in there specific venv (see 'setup' target). -venv: - @if [ ! -d "$(VENV_DIR)" ]; then \ - echo "Setting up language team's virtual environment ..."; \ - "$(PYTHON)" -m venv "$(VENV_DIR)"; \ - "$(VENV_DIR)/bin/python" -m pip install --upgrade pip; \ - mkdir -p "$(LOGS_DIR)"; \ - "$(VENV_DIR)/bin/pip" install --requirement requirements.txt \ - --log "$(LOGS_DIR)/venv-$(NOW).txt"; \ - fi - - -# htmlview: View the documentation locally, using Makefile's "htmlview" target. -# Run "build" before using this target. -htmlview: build - @INDEX="$(CPYTHON_DIR)/Doc/build/html/index.html"; \ - "$(PYTHON)" -c "import os, webbrowser; \ - webbrowser.open('file://' + os.path.realpath('$$INDEX'))" - - -# spell: run spell checking tool in all po files listed in SRCS variable, -# storing the output in text files DESTS for proofreading. The -# DESTS target run the spellchecking, while the typos.txt target -# gather all reported issues in one file, sorted without redundancy. -SRCS := $(wildcard *.po **/*.po) -DESTS := $(addprefix $(LOGS_DIR)/pospell-$(NOW)/out/,$(patsubst %.po,%.txt,$(SRCS))) -spell: venv $(DESTS) $(LOGS_DIR)/pospell-$(NOW)/all.txt - -$(LOGS_DIR)/pospell-$(NOW)/out/%.txt: %.po dict - @echo "Checking $< ..." - @mkdir -p $(@D) - @$(VENV_DIR)/bin/pospell -l "$(LANGUAGE)" -p dict $< > $@ || true - -$(LOGS_DIR)/pospell-$(NOW)/all.txt: - @echo "Gathering all typos in $(LOGS_DIR)/pospell-$(NOW)/all.txt ..." - @cut -d: -f3- $(DESTS) | sort -u > $@ - - -# merge: Merge translations from BRANCH (Python version currently aim of -# translation) into each branch listed by BUGFIXBRANCH and -# OLDERBRANCHES (branches of older Python versions) so that older -# versions of the Python Docs try make at least some use of the latest -# translations. OLDERBRANCHES has '--no-overwrite' flag so it does not -# overwrite translated strings, preserving history. -# After merging, only commit and push only if any file was git-added -# (staged) to the target branch; otherwise, it does nothing. -merge: venv $(BUGFIXBRANCH) $(OLDERBRANCHES) - -$(OLDERBRANCHES): OVERWRITEFLAG = --no-overwrite -$(BUGFIXBRANCH) $(OLDERBRANCHES): - @if [[ $@ == $(BRANCH) ]]; then \ - echo "Ignoring attempt to pomerge '$(BRANCH)' into itself."; \ - else \ - echo "Merging translations from $(BRANCH) branch into $@ ..."; \ - $(VENV_DIR)/bin/pomerge --from-files *.po **/*.po; \ - git checkout $@; \ - $(VENV_DIR)/bin/pomerge $(OVERWRITEFLAG) --to-files *.po **/*.po; \ - $(VENV_DIR)/bin/powrap --modified *.po **/*.po; \ - git add -u; \ - if [ -n "$(git diff --name-only --cached)" ]; then \ - git commit -m $(MSG); \ - git push; \ - else \ - echo 'Nothing to commit'; \ - fi; \ - git checkout $(BRANCH); \ - fi - - -# lint: Report reStructuredText syntax errors in the translation files -lint: venv - @mkdir -p "$(LOGS_DIR)" - @$(VENV_DIR)/bin/sphinx-lint *.po **/*.po |& \ - tee -a $(LOGS_DIR)/lint-$(NOW).txt || true - @echo "Lint output stored in $(LOGS_DIR)/lint-$(NOW).txt" - - -# clean: remove all .mo files and the venv directory that may exist and could -# have been created by the actions in other targets of this script. -clean: - rm -rf "$(VENV_DIR)" - rm -rf "$(LOCALE_DIR)" - [ -d "$(CPYTHON_DIR)" ] && $(MAKE) -C "$(CPYTHON_DIR)/Doc" clean-venv diff --git a/README.md b/README.md index 7a10e4bab..c9db500bd 100644 --- a/README.md +++ b/README.md @@ -1,51 +1,19 @@ # Brazilian Portuguese Translation of the Python Documentation -[![Update](https://github.com/python/python-docs-pt-br/actions/workflows/update.yml/badge.svg)](https://github.com/python/python-docs-pt-br/actions/workflows/update.yml) -[![Check](https://github.com/python/python-docs-pt-br/actions/workflows/check.yml/badge.svg)](https://github.com/python/python-docs-pt-br/actions/workflows/check.yml) +[![Workflow status badge][workflow_badge]][workflow_url] +[![Translation statistics badge][stats_badge]][transifex_url] -Check our [wiki](https://github.com/python/python-docs-pt-br/wiki) for more guidance on translating +Translation files for [Python 3.11 docs][docs_url]. -## Translation priorities +See list of incomplete translations in the [potodo.md][potodo] file. -The following modules we consider as priority targets, hence should -receive more attention than other modules/pages (0 has higher priority -than 2). Please helps assure they are a 100% translated. +See [main][main] branch for scripts, docs, license and more info. -### Priority 0 - - bugs - - glossary - - library/functions - - library/index - - library/introduction - - library/constants - - library/stdtypes - - library/exceptions - - sphinx - - tutorial/ (all!) +[main]: https://github.com/python/python-docs-pt-br/tree/main +[potodo]: potodo.md?plain=1 +[docs_url]: https://docs.python.org/pt-br/3.11/ +[workflow_badge]: https://github.com/python/python-docs-pt-br/workflows/python-311/badge.svg +[workflow_url]: https://github.com/python/python-docs-pt-br/actions?workflow=python-311 +[stats_badge]: https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fgithub.com%2Fpython%2Fpython-docs-pt-br%2Fraw%2F3.11%2Fstats.json&query=completion&label=pt_BR +[transifex_url]: https://app.transifex.com/python-doc/python-newest/ -### Priority 1 - - reference/ (all) - -### Priority 2 - - library/ (except the ones mentioned above) - -## Documentation Contribution Agreement - -NOTE REGARDING THE LICENSE FOR TRANSLATIONS: Python's documentation is -maintained using a global network of volunteers. By posting this -project on Transifex, GitHub, and other public places, and inviting -you to participate, we are proposing an agreement that you will -provide your improvements to Python's documentation or the translation -of Python's documentation for the PSF's use under the CC0 license -(available at -https://creativecommons.org/publicdomain/zero/1.0/legalcode). In -return, you may publicly claim credit for the portion of the -translation you contributed and if your translation is accepted by the -PSF, you may (but are not required to) submit a patch including an -appropriate annotation in the Misc/ACKS or TRANSLATORS file. Although -nothing in this Documentation Contribution Agreement obligates the PSF -to incorporate your textual contribution, your participation in the -Python community is welcomed and appreciated. - -You signify acceptance of this agreement by submitting your work to -the PSF for inclusion in the documentation. diff --git a/about.po b/about.po index 692ef0107..7b8ea4442 100644 --- a/about.po +++ b/about.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# André Girol , 2021 -# Amanda Savluchinske , 2021 -# Adorilson Bezerra , 2021 -# Clara Matos, 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-05-01 17:15+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -90,7 +86,7 @@ msgid "" "library, and the Python documentation. See :source:`Misc/ACKS` in the " "Python source distribution for a partial list of contributors." msgstr "" -"Muitas pessoas tem contribuído para a linguagem Python, sua biblioteca " +"Muitas pessoas têm contribuído para a linguagem Python, sua biblioteca " "padrão e sua documentação. Veja :source:`Misc/ACKS` na distribuição do " "código do Python para ver uma lista parcial de contribuidores." diff --git a/bugs.po b/bugs.po index 9eb716f42..57b66624c 100644 --- a/bugs.po +++ b/bugs.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Felipefpl, 2021 -# Adorilson Bezerra , 2022 -# Flávio Neves, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:48+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,17 +35,17 @@ msgid "" msgstr "" "O Python é uma linguagem de programação madura que estabeleceu uma reputação " "pela estabilidade. A fim de manter esta reputação os desenvolvedores " -"gostariam de saber de quaisquer deficiências que você achar no Python." +"gostariam de saber de quaisquer deficiências que você encontre no Python." #: ../../bugs.rst:11 msgid "" "It can be sometimes faster to fix bugs yourself and contribute patches to " -"Python as it streamlines the process and involves less people. Learn how to :" -"ref:`contribute `." +"Python as it streamlines the process and involves less people. Learn how " +"to :ref:`contribute `." msgstr "" -"Às vezes, pode ser mais rápido consertar os bugs você mesmo e contribuir " -"com patches para o Python como isso agiliza o processo e envolve menos " -"pessoas. Aprenda como :ref:`contribuir `." +"Às vezes, pode ser mais rápido consertar os bugs você mesmo e contribuir com " +"patches para o Python uma vez que isso agiliza o processo e envolve menos " +"pessoas. Veja aqui como :ref:`contribuir `." #: ../../bugs.rst:16 msgid "Documentation bugs" @@ -79,11 +76,11 @@ msgid "" "'docs@' is a mailing list run by volunteers; your request will be noticed, " "though it may take a while to be processed." msgstr "" -"Se você está com pouco tempo você também pode enviar por e-mail os " -"relatórios dos bugs na documentação para docs@python.org (erros " -"comportamentais podem ser enviados para python-list@python.org). O 'docs@' é " -"uma lista de e-mail mantida por voluntários; seu pedido será notado, embora " -"possa levar um tempo para ser processado." +"Se você está com pouco tempo, pode também enviar os relatórios de erros de " +"documentação para o e-mail docs@python.org (erros de funcionalidades podem " +"ser enviados para python-list@python.org). 'docs@' é uma lista de discussão " +"mantida por voluntários; seu pedido será recebido, embora possa levar um " +"tempo para ser processado." #: ../../bugs.rst:33 msgid "`Documentation bugs`_" @@ -112,7 +109,7 @@ msgid "" "`Helping with Documentation `_" msgstr "" -"`Ajudando com a Documentação `_" #: ../../bugs.rst:39 @@ -125,18 +122,18 @@ msgstr "" #: ../../bugs.rst:41 msgid "" -"`Documentation Translations `_" +"`Documentation Translations `_" msgstr "" -"`Tradução da documentação `_" +"`Traduções da documentação `_" #: ../../bugs.rst:42 msgid "" "A list of GitHub pages for documentation translation and their primary " "contacts." msgstr "" -"Uma lista de páginas no Github relacionadas à tradução da documentação e " +"Uma lista de páginas no GitHub relacionadas à tradução da documentação e " "respectivos contatos iniciais." #: ../../bugs.rst:48 @@ -150,10 +147,10 @@ msgid "" "tracker offers a web form which allows pertinent information to be entered " "and submitted to the developers." msgstr "" -"Relatórios de erros para o Python em si devem ser enviados pelo GitHub " -"Issues Tracker (https://github.com/python/cpython/issues). o GitHub issues " -"tracker oferece um formulário web que permite informações pertinentes serem " -"enviadas para os desenvolvedores." +"Relatórios de problemas do Python em si devem ser submetidos ao rastreador " +"de problemas do GitHub (https://github.com/python/cpython/issues). O " +"rastreador de problemas do GitHub oferece um formulário web que permite " +"informações pertinentes serem enviadas para os desenvolvedores." #: ../../bugs.rst:55 msgid "" @@ -182,7 +179,7 @@ msgid "" msgstr "" "Se o problema que você está relatando ainda não estiver na lista, faça login " "no GitHub. Se você ainda não tiver uma conta do GitHub, crie uma nova conta " -"usando o link \"Sing Up\". Não é possível enviar um relatório de bug " +"usando o link \"Sign Up\". Não é possível enviar um relatório de bug " "anonimamente." #: ../../bugs.rst:67 @@ -190,8 +187,9 @@ msgid "" "Being now logged in, you can submit an issue. Click on the \"New issue\" " "button in the top bar to report a new issue." msgstr "" -"Estando agora autenticado, você pode enviar um problema. Clique no botão " -"\"New issue\" na barra superior para relatar um novo problema." +"Estando agora autenticado, você pode submeter um relatório de problema. " +"Clique no botão \"New issue\" na barra superior para relatar um novo " +"problema." #: ../../bugs.rst:70 msgid "The submission form has two fields, \"Title\" and \"Comment\"." @@ -213,7 +211,7 @@ msgid "" "were using (including version information as appropriate)." msgstr "" "No campo \"Comment\", descreva o problema com detalhes, incluindo o que você " -"esperava que acontecesse e o que aconteceu. Esteja certo de incluir se " +"esperava que acontecesse e o que aconteceu. Certifique-se de incluir se " "quaisquer módulos de extensão estavam envolvidos, e qual hardware e " "plataforma de software você está usando (incluindo informações sobre a " "versão quando apropriado)." @@ -224,16 +222,16 @@ msgid "" "needs to be done to correct the problem. You will receive an update each " "time an action is taken on the issue." msgstr "" -"Cada relatorio de erro será revisado por um desenvolvedor que irá determinar " -"o que é necessario para solucionar o problema. Você receberá atualizações " -"para cada ação tomada para o erro." +"Cada relatório de problema será revisado por um desenvolvedor que irá " +"determinar o que é necessário para solucionar o problema. Você receberá " +"atualizações para cada ação tomada para o problema." #: ../../bugs.rst:89 msgid "" "`How to Report Bugs Effectively `_" msgstr "" -"`Como Reportar Bugs Eficientemente `_" #: ../../bugs.rst:88 @@ -272,9 +270,9 @@ msgid "" "the `core-mentorship mailing list`_ is a friendly place to get answers to " "any and all questions pertaining to the process of fixing issues in Python." msgstr "" -"Além de apenas reportar os bugs que você acha, você é bem-vindo para " -"submeter patches para consertá-los. Você pode achar mais informações sobre " -"como começar a fazer patches para o Python no `Python Developer's Guide`_. " -"Se você tem mais perguntas, a `core-mentorship mailing list`_ é um lugar " -"amigável para obter respostas para qualquer e todas as questões relativas " -"pertencentes ao processo de conserto de problemas no Python." +"Além de apenas reportar os bugs que você encontrar, você também é bem-vindo " +"para submeter patches para consertá-los. Você pode achar mais informações " +"sobre como começar a contribuir com patches para o Python no `Python " +"Developer's Guide`_. Se você tem mais perguntas, a `lista de discussão core-" +"mentorship`_ é um lugar amigável para obter respostas para qualquer questão " +"relativa ao processo de resolução de problemas no Python." diff --git a/c-api/abstract.po b/c-api/abstract.po index 4693d43dc..273ed82fb 100644 --- a/c-api/abstract.po +++ b/c-api/abstract.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Felipefpl, 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:48+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,20 +34,18 @@ msgid "" "or all sequence types). When used on object types for which they do not " "apply, they will raise a Python exception." msgstr "" -"As funções neste capítulo interagem com os objetos do Python " -"independentemente do tipo deles ou com classes amplas dos tipos de objetos " -"(por exemplo, todos os tipos numéricos ou todos os tipos de sequência). " -"Quando usado nos tipos de objetos pros quais eles não se aplicam eles " -"levantarão uma exceção no Python." +"As funções neste capítulo interagem com objetos Python independentemente do " +"seu tipo, ou com classes amplas de tipos de objetos (por exemplo, todos os " +"tipos numéricos ou todos os tipos de sequência). Quando usadas em tipos de " +"objetos para os quais não se aplicam, elas irão levantar uma exceção Python." #: ../../c-api/abstract.rst:14 msgid "" "It is not possible to use these functions on objects that are not properly " -"initialized, such as a list object that has been created by :c:func:" -"`PyList_New`, but whose items have not been set to some non-\\ ``NULL`` " -"value yet." +"initialized, such as a list object that has been created " +"by :c:func:`PyList_New`, but whose items have not been set to some non-\\ " +"``NULL`` value yet." msgstr "" -"Não é possível usar estas funções em objetos que não estão apropriadamente " -"inicializados, tal como uma objeto de lista que foi criado por :c:func:" -"`PyList_New`, mas cujos itens não foram definidos como algum valor não " -"``NULL`` ainda." +"Não é possível usar essas funções em objetos que não foram inicializados " +"corretamente, como um objeto de lista criado por :c:func:`PyList_New`, mas " +"cujos itens ainda não foram definidos para algum valor diferente de ``NULL``." diff --git a/c-api/allocation.po b/c-api/allocation.po index c31f1fced..e86b4e78c 100644 --- a/c-api/allocation.po +++ b/c-api/allocation.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Welington Carlos , 2021 -# Felipefpl, 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:48+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/allocation.rst:6 msgid "Allocating Objects on the Heap" -msgstr "Alocando Objetos na Pilha" +msgstr "Alocando objetos na heap" #: ../../c-api/allocation.rst:17 msgid "" @@ -53,53 +51,56 @@ msgstr "" #: ../../c-api/allocation.rst:32 msgid "" "Allocate a new Python object using the C structure type *TYPE* and the " -"Python type object *type*. Fields not defined by the Python object header " -"are not initialized; the object's reference count will be one. The size of " -"the memory allocation is determined from the :c:member:`~PyTypeObject." -"tp_basicsize` field of the type object." +"Python type object *typeobj* (``PyTypeObject*``). Fields not defined by the " +"Python object header are not initialized. The caller will own the only " +"reference to the object (i.e. its reference count will be one). The size of " +"the memory allocation is determined from " +"the :c:member:`~PyTypeObject.tp_basicsize` field of the type object." msgstr "" "Aloca um novo objeto Python usando o tipo de estrutura do C *TYPE* e o " -"objeto Python do tipo *type*. Campos não definidos pelo cabeçalho do objeto " -"Python não são inicializados; a contagem de referências do objeto será um. O " -"tamanho da alocação de memória é determinado do campo :c:member:" -"`~PyTypeObject.tp_basicsize` do objeto tipo." +"objeto Python do tipo *typeobj* (``PyTypeObject*``). Campos não definidos " +"pelo cabeçalho do objeto Python não são inicializados. O chamador será dono " +"da apenas a referência ao objeto (isto é, sua contagem de referências será " +"uma). O tamanho da alocação de memória é determinado do " +"campo :c:member:`~PyTypeObject.tp_basicsize` do objeto tipo." -#: ../../c-api/allocation.rst:41 +#: ../../c-api/allocation.rst:43 msgid "" "Allocate a new Python object using the C structure type *TYPE* and the " -"Python type object *type*. Fields not defined by the Python object header " -"are not initialized. The allocated memory allows for the *TYPE* structure " -"plus *size* fields of the size given by the :c:member:`~PyTypeObject." -"tp_itemsize` field of *type*. This is useful for implementing objects like " -"tuples, which are able to determine their size at construction time. " -"Embedding the array of fields into the same allocation decreases the number " -"of allocations, improving the memory management efficiency." +"Python type object *typeobj* (``PyTypeObject*``). Fields not defined by the " +"Python object header are not initialized. The allocated memory allows for " +"the *TYPE* structure plus *size* (``Py_ssize_t``) fields of the size given " +"by the :c:member:`~PyTypeObject.tp_itemsize` field of *typeobj*. This is " +"useful for implementing objects like tuples, which are able to determine " +"their size at construction time. Embedding the array of fields into the " +"same allocation decreases the number of allocations, improving the memory " +"management efficiency." msgstr "" "Aloca um novo objeto Python usando o tipo de estrutura do C *TYPE* e o " -"objeto Python do tipo *type*. Campos não definidos pelo cabeçalho do objeto " -"Python não são inicializados. A memória alocada permite a estrutura *TYPE* e " -"os campos *size* do tamanho dado pelo campo :c:member:`~PyTypeObject." -"tp_itemsize` do tipo *type*. Isto é útil para implementar objetos como " -"tuplas, as quais são capazes de determinar seu tamanho no tempo da " -"construção. Incorporando o vetor de campos dentro da mesma alocação " -"diminuindo o numero de alocações, melhorando a eficiência do gerenciamento " -"de memória." +"objeto Python do tipo *typeobj* (``PyTypeObject*``). Campos não definidos " +"pelo cabeçalho do objeto Python não são inicializados. A memória alocada " +"permite a estrutura *TYPE* e os campos *size* (``Py_ssize_t``) do tamanho " +"dado pelo campo :c:member:`~PyTypeObject.tp_itemsize` do tipo *typeobj*. " +"Isto é útil para implementar objetos como tuplas, as quais são capazes de " +"determinar seu tamanho no tempo da construção. Incorporando o vetor de " +"campos dentro da mesma alocação diminuindo o numero de alocações, melhorando " +"a eficiência do gerenciamento de memória." -#: ../../c-api/allocation.rst:53 +#: ../../c-api/allocation.rst:57 msgid "" -"Releases memory allocated to an object using :c:func:`PyObject_New` or :c:" -"func:`PyObject_NewVar`. This is normally called from the :c:member:" -"`~PyTypeObject.tp_dealloc` handler specified in the object's type. The " -"fields of the object should not be accessed after this call as the memory is " -"no longer a valid Python object." +"Releases memory allocated to an object using :c:macro:`PyObject_New` " +"or :c:macro:`PyObject_NewVar`. This is normally called from " +"the :c:member:`~PyTypeObject.tp_dealloc` handler specified in the object's " +"type. The fields of the object should not be accessed after this call as " +"the memory is no longer a valid Python object." msgstr "" -"Libera memória alocada a um objeto usando :c:func:`PyObject_New` ou :c:func:" -"`PyObject_NewVar`. Isto é normalmente chamado pelo :c:member:`~PyTypeObject." -"tp_dealloc` manipulador especificado no tipo do objeto. Os campos do objeto " -"não devem ser acessados após esta chamada como a memória não é mais um " -"objeto Python válido." +"Libera memória alocada a um objeto usando :c:macro:`PyObject_New` " +"ou :c:macro:`PyObject_NewVar`. Isto é normalmente chamado pelo manipulador " +"de :c:member:`~PyTypeObject.tp_dealloc` especificado no tipo do objeto. Os " +"campos do objeto não devem ser acessados após esta chamada como a memória " +"não é mais um objeto Python válido." -#: ../../c-api/allocation.rst:62 +#: ../../c-api/allocation.rst:66 msgid "" "Object which is visible in Python as ``None``. This should only be accessed " "using the :c:macro:`Py_None` macro, which evaluates to a pointer to this " @@ -109,10 +110,10 @@ msgstr "" "usando a macro :c:macro:`Py_None`, o qual avalia como um ponteiro para este " "objeto." -#: ../../c-api/allocation.rst:69 +#: ../../c-api/allocation.rst:73 msgid ":c:func:`PyModule_Create`" msgstr ":c:func:`PyModule_Create`" -#: ../../c-api/allocation.rst:70 +#: ../../c-api/allocation.rst:74 msgid "To allocate and create extension modules." msgstr "Para alocar e criar módulos de extensão." diff --git a/c-api/apiabiversion.po b/c-api/apiabiversion.po index 741ff8c3d..ab186dc5f 100644 --- a/c-api/apiabiversion.po +++ b/c-api/apiabiversion.po @@ -1,28 +1,25 @@ # 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: -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Felipefpl, 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -190,9 +187,9 @@ msgstr "" ">= ...``." #: ../../c-api/apiabiversion.rst:63 -msgid "This version is also available via the symbol :data:`Py_Version`." +msgid "This version is also available via the symbol :c:var:`Py_Version`." msgstr "" -"Esta versão também está disponível através do símbolo :data:`Py_Version`." +"Esta versão também está disponível através do símbolo :c:var:`Py_Version`." #: ../../c-api/apiabiversion.rst:67 msgid "" diff --git a/c-api/arg.po b/c-api/arg.po index aa203e69a..e54735ba4 100644 --- a/c-api/arg.po +++ b/c-api/arg.po @@ -1,35 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# Welington Carlos , 2021 -# Tiago Henrique , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Adson Rodrigues , 2021 -# Rafael Marques , 2021 -# Caio Carvalho , 2021 -# Julia Rizza , 2021 -# Adorilson Bezerra , 2022 -# Welliton Malta , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,8 +30,8 @@ msgstr "Análise de argumentos e construção de valores" #: ../../c-api/arg.rst:8 msgid "" "These functions are useful when creating your own extensions functions and " -"methods. Additional information and examples are available in :ref:" -"`extending-index`." +"methods. Additional information and examples are available " +"in :ref:`extending-index`." msgstr "" "Essas funções são úteis ao criar funções e métodos das suas extensões. " "Informações adicionais e exemplos estão disponíveis em :ref:`extending-" @@ -49,16 +39,17 @@ msgstr "" #: ../../c-api/arg.rst:12 msgid "" -"The first three of these functions described, :c:func:`PyArg_ParseTuple`, :c:" -"func:`PyArg_ParseTupleAndKeywords`, and :c:func:`PyArg_Parse`, all use " -"*format strings* which are used to tell the function about the expected " -"arguments. The format strings use the same syntax for each of these " -"functions." +"The first three of these functions " +"described, :c:func:`PyArg_ParseTuple`, :c:func:`PyArg_ParseTupleAndKeywords`, " +"and :c:func:`PyArg_Parse`, all use *format strings* which are used to tell " +"the function about the expected arguments. The format strings use the same " +"syntax for each of these functions." msgstr "" -"As três primeiras funções descritas, :c:func:`PyArg_ParseTuple`, :c:func:" -"`PyArg_ParseTupleAndKeywords`, e :c:func:`PyArg_Parse`, todas usam a *string " -"de formatação* que informam à função sobre os argumentos esperados. As " -"strings de formato usam a mesma sintaxe para cada uma dessas funções." +"As três primeiras funções " +"descritas, :c:func:`PyArg_ParseTuple`, :c:func:`PyArg_ParseTupleAndKeywords`, " +"e :c:func:`PyArg_Parse`, todas usam a *string de formatação* que informam à " +"função sobre os argumentos esperados. As strings de formato usam a mesma " +"sintaxe para cada uma dessas funções." #: ../../c-api/arg.rst:19 msgid "Parsing arguments" @@ -87,7 +78,7 @@ msgstr "" #: ../../c-api/arg.rst:31 msgid "Strings and buffers" -msgstr "Strings and buffers" +msgstr "Strings e buffers" #: ../../c-api/arg.rst:33 msgid "" @@ -117,6 +108,13 @@ msgid "" "call** :c:func:`PyBuffer_Release` after you have finished processing the " "data (or in any early abort case)." msgstr "" +"Formatos como ``y*`` e ``s*`` estão dentro de uma " +"estrutura :c:type:`Py_buffer`. Isso bloqueia o buffer subjacente para que " +"o chamador possa posteriormente usar o buffer, mesmo dentro de um " +"bloco :c:type:`Py_BEGIN_ALLOW_THREADS` sem que haja o risco de que dados " +"mutáveis sejam redimensionados ou destruídos. Dessa forma, **você precisa " +"chamar** :c:func:`PyBuffer_Release` depois de ter concluído o processamento " +"de dados (ou em qualquer caso de interrupção precoce)." #: ../../c-api/arg.rst:48 msgid "" @@ -124,6 +122,9 @@ msgid "" "**You have to call** :c:func:`PyMem_Free` after you have finished processing " "the data (or in any early abort case)." msgstr "" +"Os formatos ``es``, ``es#``, ``et`` e ``et#`` alocam o buffer resultante. " +"**Você precisa chamar** :c:func:`PyMem_Free` depois de ter concluído o " +"processamento de dados (ou em qualquer caso de interrupção precoce)." #: ../../c-api/arg.rst:54 msgid "" @@ -133,14 +134,24 @@ msgid "" "corresponding Python object, and shares the lifetime of this object. You " "won't have to release any memory yourself." msgstr "" +"Outros formatos usam um :class:`str` ou um :term:`objeto bytes ou similar` " +"somente leitura, como :class:`bytes`, e fornecem um ponteiro ``const char " +"*`` para seu buffer. Nesse caso, o buffer é \"emprestado\": ele é gerenciado " +"pelo objeto Python correspondente e compartilha o tempo de vida desse " +"objeto. Você mesmo não precisará liberar nenhuma memória." #: ../../c-api/arg.rst:61 msgid "" -"To ensure that the underlying buffer may be safely borrowed, the object's :c:" -"member:`PyBufferProcs.bf_releasebuffer` field must be ``NULL``. This " -"disallows common mutable objects such as :class:`bytearray`, but also some " -"read-only objects such as :class:`memoryview` of :class:`bytes`." +"To ensure that the underlying buffer may be safely borrowed, the " +"object's :c:member:`PyBufferProcs.bf_releasebuffer` field must be ``NULL``. " +"This disallows common mutable objects such as :class:`bytearray`, but also " +"some read-only objects such as :class:`memoryview` of :class:`bytes`." msgstr "" +"Para garantir que o buffer subjacente possa ser emprestado com segurança, o " +"campo :c:member:`PyBufferProcs.bf_releasebuffer` do objeto deve ser " +"``NULL``. Isso não permite objetos mutáveis comuns, como :class:`bytearray`, " +"mas também alguns objetos somente leitura, como :class:`memoryview` " +"ou :class:`bytes`." #: ../../c-api/arg.rst:67 msgid "" @@ -148,20 +159,23 @@ msgid "" "whether the input object is immutable (e.g. whether it would honor a request " "for a writable buffer, or whether another thread can mutate the data)." msgstr "" +"Além desse requisito ``bf_releasebuffer``, não há nenhuma verificação para " +"saber se o objeto de entrada é imutável (por exemplo, se ele atenderia a uma " +"solicitação de um buffer gravável ou se outro thread pode alterar os dados)." #: ../../c-api/arg.rst:73 msgid "" -"For all ``#`` variants of formats (``s#``, ``y#``, etc.), the macro :c:macro:" -"`PY_SSIZE_T_CLEAN` must be defined before including :file:`Python.h`. On " -"Python 3.9 and older, the type of the length argument is :c:type:" -"`Py_ssize_t` if the :c:macro:`PY_SSIZE_T_CLEAN` macro is defined, or int " -"otherwise." +"For all ``#`` variants of formats (``s#``, ``y#``, etc.), the " +"macro :c:macro:`PY_SSIZE_T_CLEAN` must be defined before " +"including :file:`Python.h`. On Python 3.9 and older, the type of the length " +"argument is :c:type:`Py_ssize_t` if the :c:macro:`PY_SSIZE_T_CLEAN` macro is " +"defined, or int otherwise." msgstr "" -"Para todas as variantes de formatos ``#`` (``s#``, ``y#``, etc.), a macro :c:" -"macro:`PY_SSIZE_T_CLEAN` deve ser definida antes de incluir :file:`Python." -"h`. No Python 3.9 e mais antigo, o tipo do argumento de comprimento é :c:" -"type:`Py_ssize_t` se a macro :c:macro:`PY_SSIZE_T_CLEAN` é definida, ou int " -"caso contrário." +"Para todas as variantes de formatos ``#`` (``s#``, ``y#``, etc.), a " +"macro :c:macro:`PY_SSIZE_T_CLEAN` deve ser definida antes de " +"incluir :file:`Python.h`. No Python 3.9 e mais antigo, o tipo do argumento " +"de comprimento é :c:type:`Py_ssize_t` se a macro :c:macro:`PY_SSIZE_T_CLEAN` " +"é definida, ou int caso contrário." #: ../../c-api/arg.rst:98 msgid "``s`` (:class:`str`) [const char \\*]" @@ -179,7 +193,7 @@ msgstr "" "Converte um objeto Unicode para um ponteiro em C para uma string. Um " "ponteiro para uma string existente é armazenado na variável do ponteiro do " "caractere cujo o endereço que você está passando. A string em C é terminada " -"em NULO. A string em Python não deve conter pontos de código nulo embutidos; " +"em NULO. A string no Python não deve conter pontos de código nulo embutidos; " "se isso acontecer, uma exceção :exc:`ValueError` é levantada. Objetos " "Unicode são convertidos para strings em C usando a codificação ``'utf-8'``. " "Se essa conversão falhar, uma exceção :exc:`UnicodeError` é levantada." @@ -188,13 +202,13 @@ msgstr "" msgid "" "This format does not accept :term:`bytes-like objects `. " "If you want to accept filesystem paths and convert them to C character " -"strings, it is preferable to use the ``O&`` format with :c:func:" -"`PyUnicode_FSConverter` as *converter*." +"strings, it is preferable to use the ``O&`` format " +"with :c:func:`PyUnicode_FSConverter` as *converter*." msgstr "" -"Esse formato não aceita :term:`objetos byte ou similar `. " -"Se você quer aceitar caminhos de arquivos do sistema e convertê-los para " -"strings em C, é preferível que use o formato ``O&`` com :c:func:" -"`PyUnicode_FSConverter` como *conversor*." +"Esse formato não aceita :term:`objetos bytes ou similares `. Se você quer aceitar caminhos de sistema de arquivos e convertê-" +"los para strings de caracteres em C, é preferível que use o formato ``O&`` " +"com :c:func:`PyUnicode_FSConverter` como *conversor*." #: ../../c-api/arg.rst:96 ../../c-api/arg.rst:164 msgid "" @@ -206,9 +220,7 @@ msgstr "" #: ../../c-api/arg.rst:104 msgid "``s*`` (:class:`str` or :term:`bytes-like object`) [Py_buffer]" -msgstr "" -"``s*`` (:class:`str` ou :term:`objeto byte ou similar `) " -"[Py_buffer]" +msgstr "``s*`` (:class:`str` ou :term:`objeto bytes ou similar`) [Py_buffer]" #: ../../c-api/arg.rst:101 msgid "" @@ -217,17 +229,17 @@ msgid "" "resulting C string may contain embedded NUL bytes. Unicode objects are " "converted to C strings using ``'utf-8'`` encoding." msgstr "" -"Esse formato aceita tanto objetos Unicode quanto objetos byte ou similar. " +"Esse formato aceita tanto objetos Unicode quanto objetos bytes ou similares. " "Preenche uma estrutura :c:type:`Py_buffer` fornecida pelo chamador. Nesse " "caso, a string em C resultante pode conter bytes NUL embutidos. Objetos " "Unicode são convertidos para strings em C usando codificação ``'utf-8'``." #: ../../c-api/arg.rst:111 msgid "" -"``s#`` (:class:`str`, read-only :term:`bytes-like object`) [const char \\*, :" -"c:type:`Py_ssize_t`]" +"``s#`` (:class:`str`, read-only :term:`bytes-like object`) [const char " +"\\*, :c:type:`Py_ssize_t`]" msgstr "" -"``s#`` (:class:`str`, :term:`objeto byte ou similar ` " +"``s#`` (:class:`str`, :term:`objeto bytes ou similar ` " "somente leitura) [const char \\*, :c:type:`Py_ssize_t`]" #: ../../c-api/arg.rst:107 @@ -238,8 +250,13 @@ msgid "" "null bytes. Unicode objects are converted to C strings using ``'utf-8'`` " "encoding." msgstr "" +"Como ``s*``, exceto que não fornece um :ref:`buffer emprestado `. O resultado é armazenado em duas variáveis em C, a " +"primeira é um ponteiro para uma string em C, a segunda é o tamanho. A string " +"pode conter bytes nulos embutidos. Objetos Unicode são convertidos para " +"strings em C usando codificação ``'utf-8'``." -#: ../../c-api/arg.rst:115 ../../c-api/arg.rst:581 +#: ../../c-api/arg.rst:115 ../../c-api/arg.rst:584 msgid "``z`` (:class:`str` or ``None``) [const char \\*]" msgstr "``z`` (:class:`str` ou ``None``) [const char \\*]" @@ -248,45 +265,44 @@ msgid "" "Like ``s``, but the Python object may also be ``None``, in which case the C " "pointer is set to ``NULL``." msgstr "" -"Como ``s``, mas o objeto Python também pode ser ``None``, nesse caso o " +"Como ``s``, mas o objeto Python também pode ser ``None``, caso em que o " "ponteiro C é definido como ``NULL``." #: ../../c-api/arg.rst:119 msgid "" "``z*`` (:class:`str`, :term:`bytes-like object` or ``None``) [Py_buffer]" msgstr "" -"``z*`` (:class:`str`, :term:`objeto byte ou similar ` ou " -"``None``) [Py_buffer]" +"``z*`` (:class:`str`, :term:`objeto bytes ou similar` ou ``None``) " +"[Py_buffer]" #: ../../c-api/arg.rst:118 msgid "" "Like ``s*``, but the Python object may also be ``None``, in which case the " "``buf`` member of the :c:type:`Py_buffer` structure is set to ``NULL``." msgstr "" -"Como ``s*``, mas o objeto Python também pode ser ``None``, nesse caso o " -"membro ``buf`` da estrutura :c:type:`Py_buffer` é definido como ``NULL``." +"Como ``s*``, mas o objeto Python também pode ser ``None``, caso em que o " +"membro ``buf`` da estrutura :c:type:`Py_buffer` é definida como ``NULL``." #: ../../c-api/arg.rst:123 msgid "" "``z#`` (:class:`str`, read-only :term:`bytes-like object` or ``None``) " "[const char \\*, :c:type:`Py_ssize_t`]" msgstr "" -"``z#`` (:class:`str`, :term:`objeto byte ou similar ` " -"somente leitura ou ``None``) [const char \\*, :c:type:`Py_ssize_t`]" +"``z#`` (:class:`str`, :term:`objeto bytes ou similar` somente leitura ou " +"``None``) [const char \\*, :c:type:`Py_ssize_t`]" #: ../../c-api/arg.rst:122 msgid "" "Like ``s#``, but the Python object may also be ``None``, in which case the C " "pointer is set to ``NULL``." msgstr "" -"Como ``s#``, mas o objeto Python também pode ser ``None``, nesse caso o " +"Como ``s#``, mas o objeto Python também pode ser ``None``, caso em que o " "ponteiro C é definido como ``NULL``." #: ../../c-api/arg.rst:134 msgid "``y`` (read-only :term:`bytes-like object`) [const char \\*]" msgstr "" -"``y`` (:term:`objeto byte ou similar ` somente leitura) " -"[const char \\*]" +"``y`` (:term:`objeto bytes ou similar` somente leitura) [const char \\*]" #: ../../c-api/arg.rst:126 msgid "" @@ -295,6 +311,10 @@ msgid "" "objects. The bytes buffer must not contain embedded null bytes; if it does, " "a :exc:`ValueError` exception is raised." msgstr "" +"Este formato converte um objeto bytes ou similar para um ponteiro C para uma " +"string de caracteres :ref:`emprestada `; não aceita " +"objetos Unicode. O buffer de bytes não pode conter bytes nulos embutidos; se " +"isso ocorrer uma exceção :exc:`ValueError` será levantada." #: ../../c-api/arg.rst:132 msgid "" @@ -306,32 +326,31 @@ msgstr "" #: ../../c-api/arg.rst:139 msgid "``y*`` (:term:`bytes-like object`) [Py_buffer]" -msgstr "" -"``y*`` (:term:`objeto byte ou similar `) [Py_buffer]" +msgstr "``y*`` (:term:`objeto bytes ou similar`) [Py_buffer]" #: ../../c-api/arg.rst:137 msgid "" "This variant on ``s*`` doesn't accept Unicode objects, only bytes-like " "objects. **This is the recommended way to accept binary data.**" msgstr "" -"Esta variante em ``s*`` não aceita objetos unicode, apenas objetos byte ou " -"similar. **Esta é a maneira recomendada para aceitar dados binários.**" +"Esta variante em ``s*`` não aceita objetos unicode, apenas objetos bytes ou " +"similares. **Esta é a maneira recomendada para aceitar dados binários.**" #: ../../c-api/arg.rst:143 msgid "" -"``y#`` (read-only :term:`bytes-like object`) [const char \\*, :c:type:" -"`Py_ssize_t`]" +"``y#`` (read-only :term:`bytes-like object`) [const char " +"\\*, :c:type:`Py_ssize_t`]" msgstr "" -"``y#`` (:term:`objeto byte ou similar ` somente leitura) " -"[const char \\*, :c:type:`Py_ssize_t`]" +"``y#`` (:term:`objeto bytes ou similar` somente leitura) [const char " +"\\*, :c:type:`Py_ssize_t`]" #: ../../c-api/arg.rst:142 msgid "" "This variant on ``s#`` doesn't accept Unicode objects, only bytes-like " "objects." msgstr "" -"Esta variação de ``s#`` não aceita objetos Unicode, apenas objetos byte ou " -"similar." +"Esta variação de ``s#`` não aceita objetos Unicode, apenas objetos bytes ou " +"similares." #: ../../c-api/arg.rst:148 msgid "``S`` (:class:`bytes`) [PyBytesObject \\*]" @@ -354,14 +373,14 @@ msgstr "``Y`` (:class:`bytearray`) [PyByteArrayObject \\*]" #: ../../c-api/arg.rst:151 msgid "" "Requires that the Python object is a :class:`bytearray` object, without " -"attempting any conversion. Raises :exc:`TypeError` if the object is not a :" -"class:`bytearray` object. The C variable may also be declared as :c:expr:" -"`PyObject*`." +"attempting any conversion. Raises :exc:`TypeError` if the object is not " +"a :class:`bytearray` object. The C variable may also be declared " +"as :c:expr:`PyObject*`." msgstr "" "Exige que o objeto Python seja um objeto :class:`bytearray`, sem aceitar " -"qualquer conversão. Levanta :exc:`TypeError` se o objeto não é um objeto :" -"class:`bytearray`. A variável C apenas pode ser declarada como :c:expr:" -"`PyObject*`." +"qualquer conversão. Levanta :exc:`TypeError` se o objeto não é um " +"objeto :class:`bytearray`. A variável C apenas pode ser declarada " +"como :c:expr:`PyObject*`." #: ../../c-api/arg.rst:170 msgid "``u`` (:class:`str`) [const Py_UNICODE \\*]" @@ -374,8 +393,8 @@ msgid "" "pointer variable, which will be filled with the pointer to an existing " "Unicode buffer. Please note that the width of a :c:type:`Py_UNICODE` " "character depends on compilation options (it is either 16 or 32 bits). The " -"Python string must not contain embedded null code points; if it does, a :exc:" -"`ValueError` exception is raised." +"Python string must not contain embedded null code points; if it does, " +"a :exc:`ValueError` exception is raised." msgstr "" "Converte um objeto Python Unicode para um ponteiro C para um buffer de " "caracteres Unicode terminado em NUL. Você deve passar o endereço de uma " @@ -388,11 +407,11 @@ msgstr "" #: ../../c-api/arg.rst:171 ../../c-api/arg.rst:180 ../../c-api/arg.rst:188 #: ../../c-api/arg.rst:196 msgid "" -"Part of the old-style :c:type:`Py_UNICODE` API; please migrate to using :c:" -"func:`PyUnicode_AsWideCharString`." +"Part of the old-style :c:type:`Py_UNICODE` API; please migrate to " +"using :c:func:`PyUnicode_AsWideCharString`." msgstr "" -"Parte do estilo antigo :c:type:`Py_UNICODE` API; por favor migre o uso para :" -"c:func:`PyUnicode_AsWideCharString`." +"Parte do estilo antigo :c:type:`Py_UNICODE` API; por favor migre o uso " +"para :c:func:`PyUnicode_AsWideCharString`." #: ../../c-api/arg.rst:179 msgid "``u#`` (:class:`str`) [const Py_UNICODE \\*, :c:type:`Py_ssize_t`]" @@ -414,24 +433,24 @@ msgstr "``Z`` (:class:`str` ou ``None``) [const Py_UNICODE \\*]" #: ../../c-api/arg.rst:182 msgid "" -"Like ``u``, but the Python object may also be ``None``, in which case the :c:" -"type:`Py_UNICODE` pointer is set to ``NULL``." +"Like ``u``, but the Python object may also be ``None``, in which case " +"the :c:type:`Py_UNICODE` pointer is set to ``NULL``." msgstr "" "Como ``u``, mas o objeto Python também pode ser ``None``, nesse caso o " "ponteiro :c:type:`Py_UNICODE` é definido como ``NULL``." #: ../../c-api/arg.rst:195 msgid "" -"``Z#`` (:class:`str` or ``None``) [const Py_UNICODE \\*, :c:type:" -"`Py_ssize_t`]" +"``Z#`` (:class:`str` or ``None``) [const Py_UNICODE " +"\\*, :c:type:`Py_ssize_t`]" msgstr "" -"``Z#`` (:class:`str` ou ``None``) [const Py_UNICODE \\*, :c:type:" -"`Py_ssize_t`]" +"``Z#`` (:class:`str` ou ``None``) [const Py_UNICODE " +"\\*, :c:type:`Py_ssize_t`]" #: ../../c-api/arg.rst:190 msgid "" -"Like ``u#``, but the Python object may also be ``None``, in which case the :" -"c:type:`Py_UNICODE` pointer is set to ``NULL``." +"Like ``u#``, but the Python object may also be ``None``, in which case " +"the :c:type:`Py_UNICODE` pointer is set to ``NULL``." msgstr "" "Como ``u#``, mas o objeto Python também pode ser ``None``, nesse caso o " "ponteiro :c:type:`Py_UNICODE` é definido como ``NULL``" @@ -453,15 +472,14 @@ msgstr "" #: ../../c-api/arg.rst:206 msgid "``w*`` (read-write :term:`bytes-like object`) [Py_buffer]" msgstr "" -"``w*`` (:term:`objeto byte ou similar ` de leitura e " -"escrita) [Py_buffer]" +"``w*`` (:term:`objeto bytes ou similar` de leitura e escrita) [Py_buffer]" #: ../../c-api/arg.rst:203 msgid "" "This format accepts any object which implements the read-write buffer " "interface. It fills a :c:type:`Py_buffer` structure provided by the caller. " -"The buffer may contain embedded null bytes. The caller have to call :c:func:" -"`PyBuffer_Release` when it is done with the buffer." +"The buffer may contain embedded null bytes. The caller have to " +"call :c:func:`PyBuffer_Release` when it is done with the buffer." msgstr "" "Este formato aceita qualquer objeto que implemente a interface do buffer de " "leitura e escrita. Ele preenche uma estrutura :c:type:`Py_buffer` fornecida " @@ -504,13 +522,13 @@ msgstr "" msgid "" ":c:func:`PyArg_ParseTuple` will allocate a buffer of the needed size, copy " "the encoded data into this buffer and adjust *\\*buffer* to reference the " -"newly allocated storage. The caller is responsible for calling :c:func:" -"`PyMem_Free` to free the allocated buffer after use." +"newly allocated storage. The caller is responsible for " +"calling :c:func:`PyMem_Free` to free the allocated buffer after use." msgstr "" ":c:func:`PyArg_ParseTuple` alocará um buffer do tamanho necessário, copiará " "os dados codificados nesse buffer e ajustará *\\*buffer* para referenciar o " -"armazenamento recém-alocado. O chamador é responsável por chamar :c:func:" -"`PyMem_Free` para liberar o buffer alocado após o uso." +"armazenamento recém-alocado. O chamador é responsável por " +"chamar :c:func:`PyMem_Free` para liberar o buffer alocado após o uso." #: ../../c-api/arg.rst:228 msgid "" @@ -526,17 +544,17 @@ msgid "" "recoding them. Instead, the implementation assumes that the byte string " "object uses the encoding passed in as parameter." msgstr "" -"O mesmo que ``es``, exceto que os objetos de cadeia de bytes são passados ​​" -"sem os recodificar. Em vez disso, a implementação assume que o objeto de " -"cadeia de bytes usa a codificação passada como parâmetro." +"O mesmo que ``es``, exceto que os objetos strings de bytes são passados sem " +"os recodificar. Em vez disso, a implementação presume que o objeto string de " +"bytes usa a codificação passada como parâmetro." #: ../../c-api/arg.rst:259 msgid "" -"``es#`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer, :c:type:" -"`Py_ssize_t` \\*buffer_length]" +"``es#`` (:class:`str`) [const char \\*encoding, char " +"\\*\\*buffer, :c:type:`Py_ssize_t` \\*buffer_length]" msgstr "" -"``es#`` (:class:`str`) [const char \\*encoding, char \\*\\*buffer, :c:type:" -"`Py_ssize_t` \\*buffer_length]" +"``es#`` (:class:`str`) [const char \\*encoding, char " +"\\*\\*buffer, :c:type:`Py_ssize_t` \\*buffer_length]" #: ../../c-api/arg.rst:231 msgid "" @@ -560,8 +578,8 @@ msgid "" "The third argument must be a pointer to an integer; the referenced integer " "will be set to the number of bytes in the output buffer." msgstr "" -"Exige três argumentos. O primeiro é usado apenas como entrada e deve ser a :" -"c:expr:`const char*` que aponta para o nome de uma codificação como uma " +"Exige três argumentos. O primeiro é usado apenas como entrada e deve ser " +"a :c:expr:`const char*` que aponta para o nome de uma codificação como uma " "string terminada em NUL ou ``NULL``, nesse caso a codificação ``'utf-8'`` é " "usada. Uma exceção será gerada se a codificação nomeada não for conhecida " "pelo Python. O segundo argumento deve ser um :c:expr:`char**`; o valor do " @@ -601,8 +619,8 @@ msgstr "" "alocado), :c:func:`PyArg_ParseTuple` irá usar essa localização como buffer e " "interpretar o valor inicial de *\\*buffer_length* como sendo o tamanho do " "buffer. Depois ela vai copiar os dados codificados para dentro do buffer e " -"terminá-lo com NUL. Se o buffer não for suficientemente grande, um :exc:" -"`ValueError` será definido." +"terminá-lo com NUL. Se o buffer não for suficientemente grande, " +"um :exc:`ValueError` será definido." #: ../../c-api/arg.rst:258 msgid "" @@ -626,9 +644,9 @@ msgid "" "recoding them. Instead, the implementation assumes that the byte string " "object uses the encoding passed in as parameter." msgstr "" -"O mesmo que ``es#``, exceto que os objetos de cadeia de bytes são passados ​​" -"sem que sejam recodificados. Em vez disso, a implementação assume que o " -"objeto de cadeia de bytes usa a codificação passada como parâmetro." +"O mesmo que ``es#``, exceto que os objetos strings de bytes são passados sem " +"que sejam recodificados. Em vez disso, a implementação presume que o objeto " +"string de bytes usa a codificação passada como parâmetro." #: ../../c-api/arg.rst:267 msgid "Numbers" @@ -640,13 +658,13 @@ msgstr "``b`` (:class:`int`) [unsigned char]" #: ../../c-api/arg.rst:270 msgid "" -"Convert a nonnegative Python integer to an unsigned tiny int, stored in a C :" -"c:expr:`unsigned char`." +"Convert a nonnegative Python integer to an unsigned tiny int, stored in a " +"C :c:expr:`unsigned char`." msgstr "" "Converte um inteiro Python não negativo em um inteiro pequeno sem sinal " "(unsigned tiny int), armazenado em um :c:expr:`unsigned char` do C." -#: ../../c-api/arg.rst:275 ../../c-api/arg.rst:615 +#: ../../c-api/arg.rst:275 ../../c-api/arg.rst:618 msgid "``B`` (:class:`int`) [unsigned char]" msgstr "``B`` (:class:`int`) [unsigned char]" @@ -658,7 +676,7 @@ msgstr "" "Converte um inteiro Python para um inteiro pequeno (tiny int) sem " "verificação de estouro, armazenado em um :c:expr:`unsigned char` do C." -#: ../../c-api/arg.rst:278 ../../c-api/arg.rst:609 +#: ../../c-api/arg.rst:278 ../../c-api/arg.rst:612 msgid "``h`` (:class:`int`) [short int]" msgstr "``h`` (:class:`int`) [short int]" @@ -666,7 +684,7 @@ msgstr "``h`` (:class:`int`) [short int]" msgid "Convert a Python integer to a C :c:expr:`short int`." msgstr "Converte um inteiro Python para um :c:expr:`short int` do C." -#: ../../c-api/arg.rst:282 ../../c-api/arg.rst:618 +#: ../../c-api/arg.rst:282 ../../c-api/arg.rst:621 msgid "``H`` (:class:`int`) [unsigned short int]" msgstr "``H`` (:class:`int`) [unsigned short int]" @@ -678,7 +696,7 @@ msgstr "" "Converte um inteiro Python para um :c:expr:`unsigned short int` do C, sem " "verificação de estouro." -#: ../../c-api/arg.rst:285 ../../c-api/arg.rst:603 +#: ../../c-api/arg.rst:285 ../../c-api/arg.rst:606 msgid "``i`` (:class:`int`) [int]" msgstr "``i`` (:class:`int`) [int]" @@ -686,7 +704,7 @@ msgstr "``i`` (:class:`int`) [int]" msgid "Convert a Python integer to a plain C :c:expr:`int`." msgstr "Converte um inteiro Python para um :c:expr:`int` simples do C." -#: ../../c-api/arg.rst:289 ../../c-api/arg.rst:621 +#: ../../c-api/arg.rst:289 ../../c-api/arg.rst:624 msgid "``I`` (:class:`int`) [unsigned int]" msgstr "``I`` (:class:`int`) [unsigned int]" @@ -698,7 +716,7 @@ msgstr "" "Converte um inteiro Python para um :c:expr:`unsigned int` do C, sem " "verificação de estouro." -#: ../../c-api/arg.rst:292 ../../c-api/arg.rst:612 +#: ../../c-api/arg.rst:292 ../../c-api/arg.rst:615 msgid "``l`` (:class:`int`) [long int]" msgstr "``l`` (:class:`int`) [long int]" @@ -706,7 +724,7 @@ msgstr "``l`` (:class:`int`) [long int]" msgid "Convert a Python integer to a C :c:expr:`long int`." msgstr "Converte um inteiro Python para um :c:expr:`long int` do C." -#: ../../c-api/arg.rst:296 ../../c-api/arg.rst:624 +#: ../../c-api/arg.rst:296 ../../c-api/arg.rst:627 msgid "``k`` (:class:`int`) [unsigned long]" msgstr "``k`` (:class:`int`) [unsigned long]" @@ -718,7 +736,7 @@ msgstr "" "Converte um inteiro Python para um :c:expr:`unsigned long` do C sem " "verificação de estouro." -#: ../../c-api/arg.rst:299 ../../c-api/arg.rst:627 +#: ../../c-api/arg.rst:299 ../../c-api/arg.rst:630 msgid "``L`` (:class:`int`) [long long]" msgstr "``L`` (:class:`int`) [longo longo]" @@ -726,7 +744,7 @@ msgstr "``L`` (:class:`int`) [longo longo]" msgid "Convert a Python integer to a C :c:expr:`long long`." msgstr "Converte um inteiro Python para um :c:expr:`long long` do C." -#: ../../c-api/arg.rst:303 ../../c-api/arg.rst:630 +#: ../../c-api/arg.rst:303 ../../c-api/arg.rst:633 msgid "``K`` (:class:`int`) [unsigned long long]" msgstr "``K`` (:class:`int`) [unsigned long long]" @@ -738,7 +756,7 @@ msgstr "" "Converte um inteiro Python para um :c:expr:`unsigned long long` do C sem " "verificação de estouro." -#: ../../c-api/arg.rst:306 ../../c-api/arg.rst:633 +#: ../../c-api/arg.rst:306 ../../c-api/arg.rst:636 msgid "``n`` (:class:`int`) [:c:type:`Py_ssize_t`]" msgstr "``n`` (:class:`int`) [:c:type:`Py_ssize_t`]" @@ -755,14 +773,14 @@ msgid "" "Convert a Python byte, represented as a :class:`bytes` or :class:`bytearray` " "object of length 1, to a C :c:expr:`char`." msgstr "" -"Converte um byte Python, representado com um objeto :class:`byte` ou :class:" -"`bytearray` de comprimento 1, para um :c:expr:`char` do C." +"Converte um byte Python, representado com um objeto :class:`bytes` " +"ou :class:`bytearray` de comprimento 1, para um :c:expr:`char` do C." #: ../../c-api/arg.rst:312 msgid "Allow :class:`bytearray` objects." msgstr "Permite objetos :class:`bytearray`." -#: ../../c-api/arg.rst:317 ../../c-api/arg.rst:641 +#: ../../c-api/arg.rst:317 ../../c-api/arg.rst:644 msgid "``C`` (:class:`str` of length 1) [int]" msgstr "``C`` (:class:`str` de comprimento 1) [int]" @@ -774,7 +792,7 @@ msgstr "" "Converte um caractere Python, representado como uma :class:`str` objeto de " "comprimento 1, para um :c:expr:`int` do C" -#: ../../c-api/arg.rst:320 ../../c-api/arg.rst:647 +#: ../../c-api/arg.rst:320 ../../c-api/arg.rst:650 msgid "``f`` (:class:`float`) [float]" msgstr "``f``` (:class:`float`) [float]" @@ -783,7 +801,7 @@ msgid "Convert a Python floating point number to a C :c:expr:`float`." msgstr "" "Converte um número de ponto flutuante Python para um :c:expr:`float` do C." -#: ../../c-api/arg.rst:323 ../../c-api/arg.rst:644 +#: ../../c-api/arg.rst:323 ../../c-api/arg.rst:647 msgid "``d`` (:class:`float`) [double]" msgstr "``d`` (:class:`float`) [double]" @@ -805,25 +823,27 @@ msgstr "" msgid "Other objects" msgstr "Outros objetos" -#: ../../c-api/arg.rst:334 ../../c-api/arg.rst:658 +#: ../../c-api/arg.rst:336 ../../c-api/arg.rst:663 msgid "``O`` (object) [PyObject \\*]" msgstr "``O`` (objeto) [PyObject\\*]" #: ../../c-api/arg.rst:332 msgid "" "Store a Python object (without any conversion) in a C object pointer. The C " -"program thus receives the actual object that was passed. The object's " -"reference count is not increased. The pointer stored is not ``NULL``." +"program thus receives the actual object that was passed. A " +"new :term:`strong reference` to the object is not created (i.e. its " +"reference count is not increased). The pointer stored is not ``NULL``." msgstr "" "Armazena um objeto Python (sem qualquer conversão) em um ponteiro de objeto " -"C. O programa C então recebe o objeto real que foi passado. A contagem de " -"referências do objeto não é aumentada. O ponteiro armazenado não é ``NULL``." +"C. O programa C então recebe o objeto real que foi passado. Uma " +"nova :term:`referência forte` ao objeto não é criado (isto é sua contagem de " +"referências não é aumentada). O ponteiro armazenado não é ``NULL``." -#: ../../c-api/arg.rst:341 +#: ../../c-api/arg.rst:343 msgid "``O!`` (object) [*typeobject*, PyObject \\*]" msgstr "``O!`` (objeto) [*typeobject*, PyObject \\*]" -#: ../../c-api/arg.rst:337 +#: ../../c-api/arg.rst:339 msgid "" "Store a Python object in a C object pointer. This is similar to ``O``, but " "takes two C arguments: the first is the address of a Python type object, the " @@ -833,15 +853,15 @@ msgid "" msgstr "" "Armazena um objeto Python em um ponteiro de objeto C. Isso é similar a " "``O``, mas usa dois argumentos C: o primeiro é o endereço de um objeto do " -"tipo Python, o segundo é um endereço da variável C (de tipo :c:expr:" -"`PyObject*`) no qual o ponteiro do objeto está armazenado. Se o objeto " -"Python não tiver o tipo necessário, :exc:`TypeError` é levantada." +"tipo Python, o segundo é um endereço da variável C (de " +"tipo :c:expr:`PyObject*`) no qual o ponteiro do objeto está armazenado. Se o " +"objeto Python não tiver o tipo necessário, :exc:`TypeError` é levantada." -#: ../../c-api/arg.rst:366 ../../c-api/arg.rst:672 +#: ../../c-api/arg.rst:368 ../../c-api/arg.rst:677 msgid "``O&`` (object) [*converter*, *anything*]" msgstr "``O&`` (objeto) [*converter*, *anything*]" -#: ../../c-api/arg.rst:346 +#: ../../c-api/arg.rst:348 msgid "" "Convert a Python object to a C variable through a *converter* function. " "This takes two arguments: the first is a function, the second is the address " @@ -850,25 +870,26 @@ msgid "" msgstr "" "Converte um objeto Python em uma variável C através de uma função " "*converter*. Isso leva dois argumentos: o primeiro é a função, o segundo é o " -"endereço da variável C (de tipo arbitrário), convertendo para :c:expr:" -"`void*`. A função *converter* por sua vez, é chamada da seguinte maneira::" - -#: ../../c-api/arg.rst:353 -msgid "" -"where *object* is the Python object to be converted and *address* is the :c:" -"expr:`void*` argument that was passed to the ``PyArg_Parse*`` function. The " -"returned *status* should be ``1`` for a successful conversion and ``0`` if " -"the conversion has failed. When the conversion fails, the *converter* " -"function should raise an exception and leave the content of *address* " -"unmodified." -msgstr "" -"onde *object* é o objeto Python a ser convertido e *address* é o argumento :" -"c:expr:`void*` que foi passado para a função ``PyArg_Parse*``. O *status* " -"retornado deve ser ``1`` para uma conversão bem-sucedida e ``0`` se a " -"conversão falhar. Quando a conversão falha, a função *converter* deve " +"endereço da variável C (de tipo arbitrário), convertendo " +"para :c:expr:`void*`. A função *converter* por sua vez, é chamada da " +"seguinte maneira::" + +#: ../../c-api/arg.rst:355 +msgid "" +"where *object* is the Python object to be converted and *address* is " +"the :c:expr:`void*` argument that was passed to the ``PyArg_Parse*`` " +"function. The returned *status* should be ``1`` for a successful conversion " +"and ``0`` if the conversion has failed. When the conversion fails, the " +"*converter* function should raise an exception and leave the content of " +"*address* unmodified." +msgstr "" +"onde *object* é o objeto Python a ser convertido e *address* é o " +"argumento :c:expr:`void*` que foi passado para a função ``PyArg_Parse*``. O " +"*status* retornado deve ser ``1`` para uma conversão bem-sucedida e ``0`` se " +"a conversão falhar. Quando a conversão falha, a função *converter* deve " "levantar uma exceção e deixar o conteúdo de *address* inalterado." -#: ../../c-api/arg.rst:359 +#: ../../c-api/arg.rst:361 msgid "" "If the *converter* returns ``Py_CLEANUP_SUPPORTED``, it may get called a " "second time if the argument parsing eventually fails, giving the converter a " @@ -882,15 +903,15 @@ msgstr "" "segunda chamada, o parâmetro *object* será ``NULL``; *address* terá o mesmo " "valor que na chamada original." -#: ../../c-api/arg.rst:365 +#: ../../c-api/arg.rst:367 msgid "``Py_CLEANUP_SUPPORTED`` was added." msgstr "109 ``Py_CLEANUP_SUPPORTED`` foi adicionado." -#: ../../c-api/arg.rst:375 +#: ../../c-api/arg.rst:377 msgid "``p`` (:class:`bool`) [int]" msgstr "``p`` (:class:`bool`) [int]" -#: ../../c-api/arg.rst:369 +#: ../../c-api/arg.rst:371 msgid "" "Tests the value passed in for truth (a boolean **p**\\ redicate) and " "converts the result to its equivalent C true/false integer value. Sets the " @@ -904,11 +925,11 @@ msgstr "" "Isso aceita qualquer valor válido do Python. Veja :ref:`truth` para obter " "mais informações sobre como o Python testa valores para a verdade." -#: ../../c-api/arg.rst:380 ../../c-api/arg.rst:675 +#: ../../c-api/arg.rst:382 ../../c-api/arg.rst:680 msgid "``(items)`` (:class:`tuple`) [*matching-items*]" msgstr "``(items)`` (:class:`tuple`) [*matching-items*]" -#: ../../c-api/arg.rst:378 +#: ../../c-api/arg.rst:380 msgid "" "The object must be a Python sequence whose length is the number of format " "units in *items*. The C arguments must correspond to the individual format " @@ -919,22 +940,22 @@ msgstr "" "unidades de formato individuais em *items*. As unidades de formato para " "sequências podem ser aninhadas." -#: ../../c-api/arg.rst:382 +#: ../../c-api/arg.rst:384 msgid "" "It is possible to pass \"long\" integers (integers whose value exceeds the " -"platform's :const:`LONG_MAX`) however no proper range checking is done --- " +"platform's :c:macro:`LONG_MAX`) however no proper range checking is done --- " "the most significant bits are silently truncated when the receiving field is " "too small to receive the value (actually, the semantics are inherited from " "downcasts in C --- your mileage may vary)." msgstr "" "É possível passar inteiros \"long\" (inteiros em que o valor excede a " -"constante da plataforma :const:`LONG_MAX`) contudo nenhuma checagem de " -"intervalo é propriamente feita --- os bits mais significativos são " +"constante da plataforma :c:macro:`LONG_MAX`) contudo nenhuma checagem de " +"intervalo é propriamente feita -- os bits mais significativos são " "silenciosamente truncados quando o campo de recebimento é muito pequeno para " -"receber o valor (na verdade, a semântica é herdada de downcasts no C --- seu " +"receber o valor (na verdade, a semântica é herdada de downcasts no C -- seu " "raio de ação pode variar)." -#: ../../c-api/arg.rst:388 +#: ../../c-api/arg.rst:390 msgid "" "A few other characters have a meaning in a format string. These may not " "occur inside nested parentheses. They are:" @@ -942,11 +963,11 @@ msgstr "" "Alguns outros caracteres possuem significados na string de formatação. Isso " "pode não ocorrer dentro de parênteses aninhados. Eles são:" -#: ../../c-api/arg.rst:396 +#: ../../c-api/arg.rst:398 msgid "``|``" msgstr "``|``" -#: ../../c-api/arg.rst:392 +#: ../../c-api/arg.rst:394 msgid "" "Indicates that the remaining arguments in the Python argument list are " "optional. The C variables corresponding to optional arguments should be " @@ -960,11 +981,11 @@ msgstr "" "é especificado, :c:func:`PyArg_ParseTuple` não toca no conteúdo da(s) " "variável(eis) C correspondente(s)." -#: ../../c-api/arg.rst:405 +#: ../../c-api/arg.rst:407 msgid "``$``" msgstr "``$``" -#: ../../c-api/arg.rst:399 +#: ../../c-api/arg.rst:401 msgid "" ":c:func:`PyArg_ParseTupleAndKeywords` only: Indicates that the remaining " "arguments in the Python argument list are keyword-only. Currently, all " @@ -977,11 +998,11 @@ msgstr "" "então ``|`` deve sempre ser especificado antes de ``$`` na string de " "formatação." -#: ../../c-api/arg.rst:410 +#: ../../c-api/arg.rst:412 msgid "``:``" msgstr "``:``" -#: ../../c-api/arg.rst:408 +#: ../../c-api/arg.rst:410 msgid "" "The list of format units ends here; the string after the colon is used as " "the function name in error messages (the \"associated value\" of the " @@ -991,30 +1012,31 @@ msgstr "" "usada como o nome da função nas mensagens de erro (o \"valor associado\" da " "exceção que :c:func:`PyArg_ParseTuple` levanta)." -#: ../../c-api/arg.rst:415 +#: ../../c-api/arg.rst:417 msgid "``;``" msgstr "``;``" -#: ../../c-api/arg.rst:413 +#: ../../c-api/arg.rst:415 msgid "" "The list of format units ends here; the string after the semicolon is used " -"as the error message *instead* of the default error message. ``:`` and ``;" -"`` mutually exclude each other." +"as the error message *instead* of the default error message. ``:`` and " +"``;`` mutually exclude each other." msgstr "" "A lista de unidades de formatação acaba aqui; a string após o ponto e " "vírgula é usada como a mensagem de erro *ao invés* da mensagem de erro " "padrão. ``:`` e ``;`` se excluem mutuamente." -#: ../../c-api/arg.rst:417 +#: ../../c-api/arg.rst:419 msgid "" "Note that any Python object references which are provided to the caller are " -"*borrowed* references; do not decrement their reference count!" +"*borrowed* references; do not release them (i.e. do not decrement their " +"reference count)!" msgstr "" "Note que quaisquer referências a objeto Python que são fornecidas ao " -"chamador são referências *emprestadas*; não decremente a contagem de " -"referências delas!" +"chamador são referências *emprestadas*; não libera-as (isto é, não " +"decremente a contagem de referências delas)!" -#: ../../c-api/arg.rst:420 +#: ../../c-api/arg.rst:423 msgid "" "Additional arguments passed to these functions must be addresses of " "variables whose type is determined by the format string; these are used to " @@ -1030,7 +1052,7 @@ msgstr "" "parâmetros são usados como valores de entrada; eles devem concordar com o " "que é especificado para a unidade de formatação correspondente nesse caso." -#: ../../c-api/arg.rst:426 +#: ../../c-api/arg.rst:429 msgid "" "For the conversion to succeed, the *arg* object must match the format and " "the format must be exhausted. On success, the ``PyArg_Parse*`` functions " @@ -1047,11 +1069,11 @@ msgstr "" "correspondentes àquela unidade e às unidades de formatação seguintes são " "deixadas intocadas." -#: ../../c-api/arg.rst:435 +#: ../../c-api/arg.rst:438 msgid "API Functions" msgstr "Funções da API" -#: ../../c-api/arg.rst:439 +#: ../../c-api/arg.rst:442 msgid "" "Parse the parameters of a function that takes only positional parameters " "into local variables. Returns true on success; on failure, it returns false " @@ -1061,7 +1083,7 @@ msgstr "" "em variáveis locais. Retorna verdadeiro em caso de sucesso; em caso de " "falha, retorna falso e levanta a exceção apropriada." -#: ../../c-api/arg.rst:446 +#: ../../c-api/arg.rst:449 msgid "" "Identical to :c:func:`PyArg_ParseTuple`, except that it accepts a va_list " "rather than a variable number of arguments." @@ -1069,13 +1091,14 @@ msgstr "" "Idêntico a :c:func:`PyArg_ParseTuple`, exceto que aceita uma va_list ao " "invés de um número variável de argumentos." -#: ../../c-api/arg.rst:452 +#: ../../c-api/arg.rst:455 msgid "" "Parse the parameters of a function that takes both positional and keyword " "parameters into local variables. The *keywords* argument is a ``NULL``-" -"terminated array of keyword parameter names. Empty names denote :ref:" -"`positional-only parameters `. Returns true on " -"success; on failure, it returns false and raises the appropriate exception." +"terminated array of keyword parameter names. Empty names " +"denote :ref:`positional-only parameters `. " +"Returns true on success; on failure, it returns false and raises the " +"appropriate exception." msgstr "" "Analisa os parâmetros de uma função que recebe ambos parâmetros posicionais " "e de palavra reservada em variáveis locais. O argumento *keywords* é um " @@ -1084,7 +1107,7 @@ msgstr "" "only_parameter>`. Retorna verdadeiro em caso de sucesso; em caso de falha, " "retorna falso e levanta a exceção apropriada." -#: ../../c-api/arg.rst:459 +#: ../../c-api/arg.rst:462 msgid "" "Added support for :ref:`positional-only parameters `." @@ -1092,7 +1115,7 @@ msgstr "" "Adicionado suporte para :ref:`positional-only parameters `." -#: ../../c-api/arg.rst:466 +#: ../../c-api/arg.rst:469 msgid "" "Identical to :c:func:`PyArg_ParseTupleAndKeywords`, except that it accepts a " "va_list rather than a variable number of arguments." @@ -1100,7 +1123,7 @@ msgstr "" "Idêntico a :c:func:`PyArg_ParseTupleAndKeywords`, exceto que aceita uma " "va_list ao invés de um número variável de argumentos." -#: ../../c-api/arg.rst:472 +#: ../../c-api/arg.rst:475 msgid "" "Ensure that the keys in the keywords argument dictionary are strings. This " "is only needed if :c:func:`PyArg_ParseTupleAndKeywords` is not used, since " @@ -1110,7 +1133,7 @@ msgstr "" "strings. Isso só é necessário se :c:func:`PyArg_ParseTupleAndKeywords` não é " "usado, já que o último já faz essa checagem." -#: ../../c-api/arg.rst:482 +#: ../../c-api/arg.rst:485 msgid "" "Function used to deconstruct the argument lists of \"old-style\" functions " "--- these are functions which use the :const:`METH_OLDARGS` parameter " @@ -1121,18 +1144,18 @@ msgid "" "continue to be used for that purpose." msgstr "" "Função usada para desconstruir as listas de argumento de funções \"old-" -"style\" --- estas são funções que usam o método de análise de parâmetro :" -"const:`METH_OLDARGS`, que foi removido no Python 3. Isso não é recomendado " -"para uso de análise de parâmetro em código novo, e a maior parte do código " -"no interpretador padrão foi modificada para não usar mais isso para esse " -"propósito. Ela continua um modo conveniente de decompor outras tuplas, " -"contudo, e pode continuar a ser usada para esse propósito." +"style\" --- estas são funções que usam o método de análise de " +"parâmetro :const:`METH_OLDARGS`, que foi removido no Python 3. Isso não é " +"recomendado para uso de análise de parâmetro em código novo, e a maior parte " +"do código no interpretador padrão foi modificada para não usar mais isso " +"para esse propósito. Ela continua um modo conveniente de decompor outras " +"tuplas, contudo, e pode continuar a ser usada para esse propósito." -#: ../../c-api/arg.rst:493 +#: ../../c-api/arg.rst:496 msgid "" "A simpler form of parameter retrieval which does not use a format string to " "specify the types of the arguments. Functions which use this method to " -"retrieve their parameters should be declared as :const:`METH_VARARGS` in " +"retrieve their parameters should be declared as :c:macro:`METH_VARARGS` in " "function or method tables. The tuple containing the actual parameters " "should be passed as *args*; it must actually be a tuple. The length of the " "tuple must be at least *min* and no more than *max*; *min* and *max* may be " @@ -1147,29 +1170,29 @@ msgid "" msgstr "" "Uma forma mais simples de recuperação de parâmetro que não usa uma string de " "formato para especificar os tipos de argumentos. Funções que usam este " -"método para recuperar seus parâmetros devem ser declaradas como :const:" -"`METH_VARARGS` em tabelas de função ou método. A tupla contendo os " -"parâmetros reais deve ser passada como *args*; deve realmente ser uma tupla. " -"O comprimento da tupla deve ser de pelo menos *min* e não mais do que *max*; " -"*min* e *max* podem ser iguais. Argumentos adicionais devem ser passados " -"para a função, cada um dos quais deve ser um ponteiro para uma variável :c:" -"expr:`PyObject*`; eles serão preenchidos com os valores de *args*; eles " -"conterão :term:`referências emprestadas `. As variáveis " -"que correspondem a parâmetros opcionais não fornecidos por *args* não serão " -"preenchidas; estes devem ser inicializados pelo chamador. Esta função " -"retorna verdadeiro em caso de sucesso e falso se *args* não for uma tupla ou " -"contiver o número incorreto de elementos; uma exceção será definida se " -"houver uma falha." - -#: ../../c-api/arg.rst:508 +"método para recuperar seus parâmetros devem ser declaradas " +"como :c:macro:`METH_VARARGS` em tabelas de função ou método. A tupla " +"contendo os parâmetros reais deve ser passada como *args*; deve realmente " +"ser uma tupla. O comprimento da tupla deve ser de pelo menos *min* e não " +"mais do que *max*; *min* e *max* podem ser iguais. Argumentos adicionais " +"devem ser passados para a função, cada um dos quais deve ser um ponteiro " +"para uma variável :c:expr:`PyObject*`; eles serão preenchidos com os valores " +"de *args*; eles conterão :term:`referências emprestadas `. As variáveis que correspondem a parâmetros opcionais não " +"fornecidos por *args* não serão preenchidas; estes devem ser inicializados " +"pelo chamador. Esta função retorna verdadeiro em caso de sucesso e falso se " +"*args* não for uma tupla ou contiver o número incorreto de elementos; uma " +"exceção será definida se houver uma falha." + +#: ../../c-api/arg.rst:511 msgid "" "This is an example of the use of this function, taken from the sources for " -"the :mod:`_weakref` helper module for weak references::" +"the :mod:`!_weakref` helper module for weak references::" msgstr "" "Este é um exemplo do uso dessa função, tirado das fontes do módulo auxiliar " -"para referências fracas :mod:`_weakref`::" +"para referências fracas :mod:`!_weakref`::" -#: ../../c-api/arg.rst:524 +#: ../../c-api/arg.rst:527 msgid "" "The call to :c:func:`PyArg_UnpackTuple` in this example is entirely " "equivalent to this call to :c:func:`PyArg_ParseTuple`::" @@ -1177,11 +1200,11 @@ msgstr "" "A chamada à :c:func:`PyArg_UnpackTuple` neste exemplo é inteiramente " "equivalente à chamada para :c:func:`PyArg_ParseTuple`::" -#: ../../c-api/arg.rst:532 +#: ../../c-api/arg.rst:535 msgid "Building values" msgstr "Construindo valores" -#: ../../c-api/arg.rst:536 +#: ../../c-api/arg.rst:539 msgid "" "Create a new value based on a format string similar to those accepted by the " "``PyArg_Parse*`` family of functions and a sequence of values. Returns the " @@ -1193,7 +1216,7 @@ msgstr "" "Retorna o valor ou ``NULL`` em caso de erro; uma exceção será levantada se " "``NULL`` for retornado." -#: ../../c-api/arg.rst:541 +#: ../../c-api/arg.rst:544 msgid "" ":c:func:`Py_BuildValue` does not always build a tuple. It builds a tuple " "only if its format string contains two or more format units. If the format " @@ -1209,26 +1232,26 @@ msgstr "" "retornar uma tupla de tamanho 0 ou um, use parênteses na string de " "formatação." -#: ../../c-api/arg.rst:547 +#: ../../c-api/arg.rst:550 msgid "" "When memory buffers are passed as parameters to supply data to build " "objects, as for the ``s`` and ``s#`` formats, the required data is copied. " "Buffers provided by the caller are never referenced by the objects created " -"by :c:func:`Py_BuildValue`. In other words, if your code invokes :c:func:" -"`malloc` and passes the allocated memory to :c:func:`Py_BuildValue`, your " -"code is responsible for calling :c:func:`free` for that memory once :c:func:" -"`Py_BuildValue` returns." +"by :c:func:`Py_BuildValue`. In other words, if your code " +"invokes :c:func:`malloc` and passes the allocated memory " +"to :c:func:`Py_BuildValue`, your code is responsible for " +"calling :c:func:`free` for that memory once :c:func:`Py_BuildValue` returns." msgstr "" "Quando buffers de memória são passados como parâmetros para fornecer dados " "para construir objetos, como nos formatos ``s`` e ``s#``, os dados " "necessários são copiados. Buffers fornecidos pelo chamador nunca são " "referenciados pelos objetos criados por :c:func:`Py_BuildValue`. Em outras " "palavras, se o seu código invoca :c:func:`malloc` e passa a memória alocada " -"para :c:func:`Py_BuildValue`, seu código é responsável por chamar :c:func:" -"`free` para aquela memória uma vez que :c:func:`Py_BuildValue` tiver " -"retornado." +"para :c:func:`Py_BuildValue`, seu código é responsável por " +"chamar :c:func:`free` para aquela memória uma vez " +"que :c:func:`Py_BuildValue` tiver retornado." -#: ../../c-api/arg.rst:555 +#: ../../c-api/arg.rst:558 msgid "" "In the following description, the quoted form is the format unit; the entry " "in (round) parentheses is the Python object type that the format unit will " @@ -1240,7 +1263,7 @@ msgstr "" "de formatação irá retornar; e a entrada em colchetes [quadrado] é o tipo " "do(s) valor(es) C a ser(em) passado(s)." -#: ../../c-api/arg.rst:559 +#: ../../c-api/arg.rst:562 msgid "" "The characters space, tab, colon and comma are ignored in format strings " "(but not within format units such as ``s#``). This can be used to make long " @@ -1251,11 +1274,11 @@ msgstr "" "pode ser usado para tornar strings de formatação longas um pouco mais " "legíveis." -#: ../../c-api/arg.rst:565 +#: ../../c-api/arg.rst:568 msgid "``s`` (:class:`str` or ``None``) [const char \\*]" msgstr "``s`` (:class:`str` ou ``None``) [const char \\*]" -#: ../../c-api/arg.rst:564 +#: ../../c-api/arg.rst:567 msgid "" "Convert a null-terminated C string to a Python :class:`str` object using " "``'utf-8'`` encoding. If the C string pointer is ``NULL``, ``None`` is used." @@ -1264,13 +1287,13 @@ msgstr "" "usando codificação ``'utf-8'``. Se o ponteiro da string C é ``NULL``, " "``None`` é usado." -#: ../../c-api/arg.rst:570 +#: ../../c-api/arg.rst:573 msgid "" "``s#`` (:class:`str` or ``None``) [const char \\*, :c:type:`Py_ssize_t`]" msgstr "" "``s#`` (:class:`str` ou ``None``) [const char \\*, :c:type:`Py_ssize_t`]" -#: ../../c-api/arg.rst:568 +#: ../../c-api/arg.rst:571 msgid "" "Convert a C string and its length to a Python :class:`str` object using " "``'utf-8'`` encoding. If the C string pointer is ``NULL``, the length is " @@ -1280,11 +1303,11 @@ msgstr "" "usando a codificação ``'utf-8'``. Se o ponteiro da string C é ``NULL``, o " "comprimento é ignorado e ``None`` é retornado." -#: ../../c-api/arg.rst:574 +#: ../../c-api/arg.rst:577 msgid "``y`` (:class:`bytes`) [const char \\*]" msgstr "``y`` (:class:`bytes`) [const char \\*]" -#: ../../c-api/arg.rst:573 +#: ../../c-api/arg.rst:576 msgid "" "This converts a C string to a Python :class:`bytes` object. If the C string " "pointer is ``NULL``, ``None`` is returned." @@ -1292,11 +1315,11 @@ msgstr "" "Isso converte uma string C para um objeto Python :class:`bytes`. Se o " "ponteiro da string C é ``NULL``, ``None`` é retornado." -#: ../../c-api/arg.rst:578 +#: ../../c-api/arg.rst:581 msgid "``y#`` (:class:`bytes`) [const char \\*, :c:type:`Py_ssize_t`]" msgstr "``y#`` (:class:`bytes`) [const char \\*, :c:type:`Py_ssize_t`]" -#: ../../c-api/arg.rst:577 +#: ../../c-api/arg.rst:580 msgid "" "This converts a C string and its lengths to a Python object. If the C " "string pointer is ``NULL``, ``None`` is returned." @@ -1304,39 +1327,39 @@ msgstr "" "Isso converte uma string C e seu comprimento para um objeto Python. Se o " "ponteiro da string C é ``NULL``, ``None`` é retornado." -#: ../../c-api/arg.rst:581 ../../c-api/arg.rst:597 +#: ../../c-api/arg.rst:584 ../../c-api/arg.rst:600 msgid "Same as ``s``." msgstr "O mesmo de ``s``." -#: ../../c-api/arg.rst:584 +#: ../../c-api/arg.rst:587 msgid "" "``z#`` (:class:`str` or ``None``) [const char \\*, :c:type:`Py_ssize_t`]" msgstr "" "``z#`` (:class:`str` ou ``None``) [const char \\*, :c:type:`Py_ssize_t`]" -#: ../../c-api/arg.rst:584 ../../c-api/arg.rst:600 +#: ../../c-api/arg.rst:587 ../../c-api/arg.rst:603 msgid "Same as ``s#``." msgstr "O mesmo de ``s#``." -#: ../../c-api/arg.rst:589 +#: ../../c-api/arg.rst:592 msgid "``u`` (:class:`str`) [const wchar_t \\*]" msgstr "``u`` (:class:`str`) [const wchar_t \\*]" -#: ../../c-api/arg.rst:587 +#: ../../c-api/arg.rst:590 msgid "" -"Convert a null-terminated :c:expr:`wchar_t` buffer of Unicode (UTF-16 or " +"Convert a null-terminated :c:type:`wchar_t` buffer of Unicode (UTF-16 or " "UCS-4) data to a Python Unicode object. If the Unicode buffer pointer is " "``NULL``, ``None`` is returned." msgstr "" -"Converte um buffer terminado por null :c:expr:`wchar_t` de dados Unicode " +"Converte um buffer terminado por null :c:type:`wchar_t` de dados Unicode " "(UTF-16 ou UCS-4) para um objeto Python Unicode. Se o ponteiro do buffer " "Unicode é ``NULL``, ``None`` é retornado." -#: ../../c-api/arg.rst:594 +#: ../../c-api/arg.rst:597 msgid "``u#`` (:class:`str`) [const wchar_t \\*, :c:type:`Py_ssize_t`]" msgstr "``u#`` (:class:`str`) [const wchar_t \\*, :c:type:`Py_ssize_t`]" -#: ../../c-api/arg.rst:592 +#: ../../c-api/arg.rst:595 msgid "" "Convert a Unicode (UTF-16 or UCS-4) data buffer and its length to a Python " "Unicode object. If the Unicode buffer pointer is ``NULL``, the length is " @@ -1346,162 +1369,163 @@ msgstr "" "um objeto Python Unicode. Se o ponteiro do buffer Unicode é ``NULL``, o " "comprimento é ignorado e ``None`` é retornado." -#: ../../c-api/arg.rst:597 +#: ../../c-api/arg.rst:600 msgid "``U`` (:class:`str` or ``None``) [const char \\*]" msgstr "``U`` (:class:`str` ou ``None``) [const char \\*]" -#: ../../c-api/arg.rst:600 +#: ../../c-api/arg.rst:603 msgid "" "``U#`` (:class:`str` or ``None``) [const char \\*, :c:type:`Py_ssize_t`]" msgstr "" "``U#`` (:class:`str` ou ``None``) [const char \\*, :c:type:`Py_ssize_t`]" -#: ../../c-api/arg.rst:603 +#: ../../c-api/arg.rst:606 msgid "Convert a plain C :c:expr:`int` to a Python integer object." msgstr "Converte um simples :c:expr:`int` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:606 +#: ../../c-api/arg.rst:609 msgid "``b`` (:class:`int`) [char]" msgstr "``b`` (:class:`int`) [char]" -#: ../../c-api/arg.rst:606 +#: ../../c-api/arg.rst:609 msgid "Convert a plain C :c:expr:`char` to a Python integer object." msgstr "" "Converte um simples :c:expr:`char` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:609 +#: ../../c-api/arg.rst:612 msgid "Convert a plain C :c:expr:`short int` to a Python integer object." msgstr "" "Converte um simples :c:expr:`short int` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:612 +#: ../../c-api/arg.rst:615 msgid "Convert a C :c:expr:`long int` to a Python integer object." msgstr "Converte um :c:expr:`long int` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:615 +#: ../../c-api/arg.rst:618 msgid "Convert a C :c:expr:`unsigned char` to a Python integer object." msgstr "" "Converte um :c:expr:`unsigned char` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:618 +#: ../../c-api/arg.rst:621 msgid "Convert a C :c:expr:`unsigned short int` to a Python integer object." msgstr "" "Converte um :c:expr:`unsigned short int` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:621 +#: ../../c-api/arg.rst:624 msgid "Convert a C :c:expr:`unsigned int` to a Python integer object." msgstr "" "Converte um :c:expr:`unsigned int` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:624 +#: ../../c-api/arg.rst:627 msgid "Convert a C :c:expr:`unsigned long` to a Python integer object." msgstr "" "Converte um :c:expr:`unsigned long` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:627 +#: ../../c-api/arg.rst:630 msgid "Convert a C :c:expr:`long long` to a Python integer object." msgstr "Converte um :c:expr:`long long` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:630 +#: ../../c-api/arg.rst:633 msgid "Convert a C :c:expr:`unsigned long long` to a Python integer object." msgstr "" "Converte um :c:expr:`unsigned long long` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:633 +#: ../../c-api/arg.rst:636 msgid "Convert a C :c:type:`Py_ssize_t` to a Python integer." msgstr "Converte um :c:type:`Py_ssize_t` do C em um objeto inteiro do Python." -#: ../../c-api/arg.rst:637 +#: ../../c-api/arg.rst:640 msgid "``c`` (:class:`bytes` of length 1) [char]" msgstr "``c`` (:class:`bytes` de comprimento 1) [char]" -#: ../../c-api/arg.rst:636 +#: ../../c-api/arg.rst:639 msgid "" "Convert a C :c:expr:`int` representing a byte to a Python :class:`bytes` " "object of length 1." msgstr "" -"Converte um :c:expr:`int` representando um byte do C em um objeto :class:" -"`bytes` de comprimento 1 do Python." +"Converte um :c:expr:`int` representando um byte do C em um " +"objeto :class:`bytes` de comprimento 1 do Python." -#: ../../c-api/arg.rst:640 +#: ../../c-api/arg.rst:643 msgid "" "Convert a C :c:expr:`int` representing a character to Python :class:`str` " "object of length 1." msgstr "" -"Converte um :c:expr:`int` representando um caractere do C em um objeto :" -"class:`str` de comprimento 1 do Python." +"Converte um :c:expr:`int` representando um caractere do C em um " +"objeto :class:`str` de comprimento 1 do Python." -#: ../../c-api/arg.rst:644 +#: ../../c-api/arg.rst:647 msgid "Convert a C :c:expr:`double` to a Python floating point number." msgstr "" "Converte um :c:expr:`double` do C em um número ponto flutuante do Python." -#: ../../c-api/arg.rst:647 +#: ../../c-api/arg.rst:650 msgid "Convert a C :c:expr:`float` to a Python floating point number." msgstr "" "Converte um :c:expr:`float` do C em um número ponto flutuante do Python." -#: ../../c-api/arg.rst:650 +#: ../../c-api/arg.rst:653 msgid "``D`` (:class:`complex`) [Py_complex \\*]" msgstr "``D`` (:class:`complex`) [Py_complex \\*]" -#: ../../c-api/arg.rst:650 +#: ../../c-api/arg.rst:653 msgid "Convert a C :c:type:`Py_complex` structure to a Python complex number." msgstr "" "Converte uma estrutura :c:type:`Py_complex` do C em um número complexo do " "Python." -#: ../../c-api/arg.rst:653 +#: ../../c-api/arg.rst:656 msgid "" -"Pass a Python object untouched (except for its reference count, which is " -"incremented by one). If the object passed in is a ``NULL`` pointer, it is " -"assumed that this was caused because the call producing the argument found " -"an error and set an exception. Therefore, :c:func:`Py_BuildValue` will " -"return ``NULL`` but won't raise an exception. If no exception has been " -"raised yet, :exc:`SystemError` is set." -msgstr "" -"Passa um objeto Python intocado (exceto por sua contagem de referências, que " -"é incrementada por um). Se o objeto passado é um ponteiro ``NULL``, assume-" -"se que isso foi causado porque a chamada que produziu o argumento encontrou " -"um erro e definiu uma exceção. Portanto, :c:func:`Py_BuildValue` irá " -"retornar ``NULL`` mas não irá levantar uma exceção. Se nenhuma exceção foi " -"levantada ainda, :exc:`SystemError` é definida." - -#: ../../c-api/arg.rst:661 +"Pass a Python object untouched but create a new :term:`strong reference` to " +"it (i.e. its reference count is incremented by one). If the object passed in " +"is a ``NULL`` pointer, it is assumed that this was caused because the call " +"producing the argument found an error and set an exception. " +"Therefore, :c:func:`Py_BuildValue` will return ``NULL`` but won't raise an " +"exception. If no exception has been raised yet, :exc:`SystemError` is set." +msgstr "" +"Passa um objeto Python intocado, mas cria uma nova :term:`referência forte` " +"a ele (isto é, sua contagem de referências é incrementada por um). Se o " +"objeto passado é um ponteiro ``NULL``, presume-se que isso foi causado " +"porque a chamada que produziu o argumento encontrou um erro e definiu uma " +"exceção. Portanto, :c:func:`Py_BuildValue` irá retornar ``NULL`` mas não irá " +"levantar uma exceção. Se nenhuma exceção foi levantada " +"ainda, :exc:`SystemError` é definida." + +#: ../../c-api/arg.rst:666 msgid "``S`` (object) [PyObject \\*]" msgstr "``S`` (objeto) [PyObject \\*]" -#: ../../c-api/arg.rst:661 +#: ../../c-api/arg.rst:666 msgid "Same as ``O``." msgstr "O mesmo que ``O``." -#: ../../c-api/arg.rst:666 +#: ../../c-api/arg.rst:671 msgid "``N`` (object) [PyObject \\*]" msgstr "``N`` (objeto) [PyObject \\*]" -#: ../../c-api/arg.rst:664 +#: ../../c-api/arg.rst:669 msgid "" -"Same as ``O``, except it doesn't increment the reference count on the " -"object. Useful when the object is created by a call to an object constructor " -"in the argument list." +"Same as ``O``, except it doesn't create a new :term:`strong reference`. " +"Useful when the object is created by a call to an object constructor in the " +"argument list." msgstr "" -"O mesmo que ``O``, exceto que não incrementa a contagem de referências do " -"objeto. Útil quando o objeto é criado por uma chamada a um construtor de " -"objeto na lista de argumento." +"O mesmo que ``O``, exceto que não cria uma nova :term:`referência forte`. " +"Útil quando o objeto é criado por uma chamada a um construtor de objeto na " +"lista de argumento." -#: ../../c-api/arg.rst:669 +#: ../../c-api/arg.rst:674 msgid "" "Convert *anything* to a Python object through a *converter* function. The " -"function is called with *anything* (which should be compatible with :c:expr:" -"`void*`) as its argument and should return a \"new\" Python object, or " -"``NULL`` if an error occurred." +"function is called with *anything* (which should be compatible " +"with :c:expr:`void*`) as its argument and should return a \"new\" Python " +"object, or ``NULL`` if an error occurred." msgstr "" "Converte *anything* para um objeto Python através de uma função *converter*. " -"A função é chamada com *anything* (que deve ser compatível com o :c:expr:" -"`void*`) como argumento e deve retornar um \"novo\" objeto Python, ou " -"``NULL`` se um erro ocorreu." +"A função é chamada com *anything* (que deve ser compatível com " +"o :c:expr:`void*`) como argumento e deve retornar um \"novo\" objeto Python, " +"ou ``NULL`` se um erro ocorreu." -#: ../../c-api/arg.rst:675 +#: ../../c-api/arg.rst:680 msgid "" "Convert a sequence of C values to a Python tuple with the same number of " "items." @@ -1509,11 +1533,11 @@ msgstr "" "Converte uma sequência de valores C para uma tupla Python com o mesmo número " "de itens." -#: ../../c-api/arg.rst:678 +#: ../../c-api/arg.rst:683 msgid "``[items]`` (:class:`list`) [*matching-items*]" msgstr "``[items]`` (:class:`list`) [*matching-items*]" -#: ../../c-api/arg.rst:678 +#: ../../c-api/arg.rst:683 msgid "" "Convert a sequence of C values to a Python list with the same number of " "items." @@ -1521,11 +1545,11 @@ msgstr "" "Converte uma sequência de valores C para uma lista Python com o mesmo número " "de itens." -#: ../../c-api/arg.rst:683 +#: ../../c-api/arg.rst:688 msgid "``{items}`` (:class:`dict`) [*matching-items*]" msgstr "``{items}`` (:class:`dict`) [*matching-items*]" -#: ../../c-api/arg.rst:681 +#: ../../c-api/arg.rst:686 msgid "" "Convert a sequence of C values to a Python dictionary. Each pair of " "consecutive C values adds one item to the dictionary, serving as key and " @@ -1535,7 +1559,7 @@ msgstr "" "valores consecutivos do C adiciona um item ao dicionário, servindo como " "chave e valor, respectivamente." -#: ../../c-api/arg.rst:685 +#: ../../c-api/arg.rst:690 msgid "" "If there is an error in the format string, the :exc:`SystemError` exception " "is set and ``NULL`` returned." @@ -1543,7 +1567,7 @@ msgstr "" "Se existir um erro na string de formatação, a exceção :exc:`SystemError` é " "definida e ``NULL`` é retornado." -#: ../../c-api/arg.rst:690 +#: ../../c-api/arg.rst:695 msgid "" "Identical to :c:func:`Py_BuildValue`, except that it accepts a va_list " "rather than a variable number of arguments." diff --git a/c-api/bool.po b/c-api/bool.po index 9963fb1ed..23c8b9b6c 100644 --- a/c-api/bool.po +++ b/c-api/bool.po @@ -1,26 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Italo Penaforte , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Italo Penaforte , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,13 +41,21 @@ msgstr "" #: ../../c-api/bool.rst:16 msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python boolean type; " +"it is the same object as :class:`bool` in the Python layer." +msgstr "" +"Este instância de :c:type:`PyTypeObject` representa o tipo booleano em " +"Python; é o mesmo objeto que :class:`bool` na camada Python." + +#: ../../c-api/bool.rst:22 +msgid "" "Return true if *o* is of type :c:data:`PyBool_Type`. This function always " "succeeds." msgstr "" "Retorna verdadeiro se *o* for do tipo :c:data:`PyBool_Type`. Esta função " "sempre tem sucesso." -#: ../../c-api/bool.rst:22 +#: ../../c-api/bool.rst:28 msgid "" "The Python ``False`` object. This object has no methods. It needs to be " "treated just like any other object with respect to reference counts." @@ -56,7 +63,7 @@ msgstr "" "O objeto Python ``False``. Este objeto não possui métodos. Ele precisa ser " "tratado como qualquer outro objeto em relação às contagens de referência." -#: ../../c-api/bool.rst:28 +#: ../../c-api/bool.rst:34 msgid "" "The Python ``True`` object. This object has no methods. It needs to be " "treated just like any other object with respect to reference counts." @@ -64,7 +71,7 @@ msgstr "" "O objeto Python ``True``. Este objeto não possui métodos. Ele precisa ser " "tratado como qualquer outro objeto em relação às contagens de referência." -#: ../../c-api/bool.rst:34 +#: ../../c-api/bool.rst:40 msgid "" "Return :const:`Py_False` from a function, properly incrementing its " "reference count." @@ -72,7 +79,7 @@ msgstr "" "Retornar :const:`Py_False` de uma função, incrementando adequadamente sua " "contagem de referência." -#: ../../c-api/bool.rst:40 +#: ../../c-api/bool.rst:46 msgid "" "Return :const:`Py_True` from a function, properly incrementing its reference " "count." @@ -80,7 +87,7 @@ msgstr "" "Retorna :const:`Py_True` de uma função, incrementando adequadamente sua " "contagem de referência." -#: ../../c-api/bool.rst:46 +#: ../../c-api/bool.rst:52 msgid "" "Return a new reference to :const:`Py_True` or :const:`Py_False` depending on " "the truth value of *v*." diff --git a/c-api/buffer.po b/c-api/buffer.po index d5bb04c7d..61780fee7 100644 --- a/c-api/buffer.po +++ b/c-api/buffer.po @@ -1,55 +1,46 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Julio Gadioli Soares , 2021 -# felipe caridade , 2021 -# Danielle Farias , 2021 -# Julia Rizza , 2021 -# Nícolas Prado , 2021 -# Leandro Braga , 2021 -# Ana Carolina Dias, 2022 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/buffer.rst:11 msgid "Buffer Protocol" -msgstr "Protocolo de Buffer" +msgstr "Protocolo de buffer" #: ../../c-api/buffer.rst:18 msgid "" "Certain objects available in Python wrap access to an underlying memory " -"array or *buffer*. Such objects include the built-in :class:`bytes` and :" -"class:`bytearray`, and some extension types like :class:`array.array`. Third-" -"party libraries may define their own types for special purposes, such as " -"image processing or numeric analysis." -msgstr "" -"Certos objetos disponíveis em Python envolvem o acesso a um vetor ou " -"*buffer* de memória subjacente. Esses objetos incluem as :class:`bytes` e :" -"class:`bytearray` embutidas, e alguns tipos de extensão como :class:`array." -"array`. As bibliotecas de terceiros podem definir seus próprios tipos para " -"fins especiais, como processamento de imagem ou análise numérica." +"array or *buffer*. Such objects include the built-in :class:`bytes` " +"and :class:`bytearray`, and some extension types like :class:`array.array`. " +"Third-party libraries may define their own types for special purposes, such " +"as image processing or numeric analysis." +msgstr "" +"Certos objetos disponíveis no Python envolvem o acesso a um vetor ou " +"*buffer* de memória subjacente. Esses objetos incluem as " +"classes :class:`bytes` e :class:`bytearray` embutidas, e alguns tipos de " +"extensão como :class:`array.array`. As bibliotecas de terceiros podem " +"definir seus próprios tipos para fins especiais, como processamento de " +"imagem ou análise numérica." #: ../../c-api/buffer.rst:24 msgid "" @@ -65,8 +56,8 @@ msgstr "" #: ../../c-api/buffer.rst:29 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 level in the form of " +"the :ref:`buffer protocol `. This protocol has two sides:" msgstr "" "Python fornece essa facilidade no nível C sob a forma de :ref:`protocolo de " "buffer `. Este protocolo tem dois lados:" @@ -103,44 +94,44 @@ msgstr "" #: ../../c-api/buffer.rst:45 msgid "" -"An example consumer of the buffer interface is the :meth:`~io.BufferedIOBase." -"write` method of file objects: any object that can export a series of bytes " -"through the buffer interface can be written to a file. While :meth:`write` " -"only needs read-only access to the internal contents of the object passed to " -"it, other methods such as :meth:`~io.BufferedIOBase.readinto` need write " -"access to the contents of their argument. The buffer interface allows " -"objects to selectively allow or reject exporting of read-write and read-only " -"buffers." -msgstr "" -"Um exemplo de consumidor da interface de buffer é o método :meth:`~io." -"BufferedIOBase.write` de objetos arquivo: qualquer objeto que pode exportar " -"uma série de bytes através da interface de buffer pode ser gravado em um " -"arquivo. Enquanto :meth:`write` só precisa de acesso somente leitura aos " -"conteúdos internos do objeto passado, outros métodos, tais como :meth:`~io." -"BufferedIOBase.readinto` precisam de acesso de gravação ao conteúdo de seu " -"argumento. A interface de buffer permite aos objetos permitir ou rejeitar " -"seletivamente a exportação de buffers de leitura e escrita e de somente " -"leitura." +"An example consumer of the buffer interface is " +"the :meth:`~io.BufferedIOBase.write` method of file objects: any object that " +"can export a series of bytes through the buffer interface can be written to " +"a file. While :meth:`!write` only needs read-only access to the internal " +"contents of the object passed to it, other methods such " +"as :meth:`~io.BufferedIOBase.readinto` need write access to the contents of " +"their argument. The buffer interface allows objects to selectively allow or " +"reject exporting of read-write and read-only buffers." +msgstr "" +"Um exemplo de interface de um consumidor de buffer é o " +"método :meth:`~io.BufferedIOBase.write` de objetos arquivo: qualquer objeto " +"que possa exportar uma série de bytes por meio da interface de buffer pode " +"ser gravado em um arquivo. Enquanto o :meth:`!write` precisa apenas de " +"acesso somente de leitura ao conteúdo interno do objeto passado, outros " +"métodos, como :meth:`~io.BufferedIOBase.readinto`, precisam de acesso " +"somente de escrita ao conteúdo interno. A interface de buffer permite que os " +"objetos possam permitir ou rejeitar a exportação para buffers de leitura e " +"escrita ou somente leitura." #: ../../c-api/buffer.rst:53 msgid "" "There are two ways for a consumer of the buffer interface to acquire a " "buffer over a target object:" msgstr "" -"Existem duas maneiras para um usuário da interface de buffer adquirir um " +"Existem duas maneiras para um consumidor da interface de buffer adquirir um " "buffer em um objeto alvo:" #: ../../c-api/buffer.rst:56 msgid "call :c:func:`PyObject_GetBuffer` with the right parameters;" -msgstr "chamada :c:func:`PyObject_GetBuffer` com os parâmetros certos;" +msgstr "chamar :c:func:`PyObject_GetBuffer` com os parâmetros certos;" #: ../../c-api/buffer.rst:58 msgid "" "call :c:func:`PyArg_ParseTuple` (or one of its siblings) with one of the " "``y*``, ``w*`` or ``s*`` :ref:`format codes `." msgstr "" -"chamada :c:func:`PyArg_ParseTuple` (ou um dos seus irmãos) com um dos " -"``y*``, ``w*`` ou ``s*`` :ref:`format codes `." +"chamar :c:func:`PyArg_ParseTuple` (ou um dos seus irmãos) com um " +"dos :ref:`códigos de formatação ` ``y*``, ``w*`` ou ``s*``." #: ../../c-api/buffer.rst:61 msgid "" @@ -149,7 +140,7 @@ msgid "" "resource leaks." msgstr "" "Em ambos os casos, :c:func:`PyBuffer_Release` deve ser chamado quando o " -"buffer não é mais necessário. A falta de tal pode levar a várias questões, " +"buffer não é mais necessário. A falta de tal pode levar a vários problemas, " "tais como vazamentos de recursos." #: ../../c-api/buffer.rst:69 @@ -175,7 +166,7 @@ msgstr "" "matriz grande e constante em uma extensão C, pode ser um bloco bruto de " "memória para manipulação antes de passar para uma biblioteca do sistema " "operacional, ou pode ser usado para transmitir dados estruturados no formato " -"nativo e formato de memória ." +"nativo e formato de memória." #: ../../c-api/buffer.rst:80 msgid "" @@ -194,8 +185,8 @@ msgstr "" #: ../../c-api/buffer.rst:86 msgid "" "For short instructions how to write an exporting object, see :ref:`Buffer " -"Object Structures `. For obtaining a buffer, see :c:func:" -"`PyObject_GetBuffer`." +"Object Structures `. For obtaining a buffer, " +"see :c:func:`PyObject_GetBuffer`." msgstr "" "Para obter instruções curtas sobre como escrever um objeto exportador, " "consulte :ref:`Buffer Object Structures `. Para obter um " @@ -210,8 +201,9 @@ msgid "" msgstr "" "Um ponteiro para o início da estrutura lógica descrita pelos campos do " "buffer. Este pode ser qualquer local dentro do bloco de memória física " -"subjacente do exportador. Por exemplo, com negativo :c:member:`~Py_buffer." -"strides` o valor pode apontar para o final do bloco de memória." +"subjacente do exportador. Por exemplo, com " +"negativo :c:member:`~Py_buffer.strides` o valor pode apontar para o final do " +"bloco de memória." #: ../../c-api/buffer.rst:99 msgid "" @@ -224,26 +216,27 @@ msgstr "" #: ../../c-api/buffer.rst:104 msgid "" "A new reference to the exporting object. The reference is owned by the " -"consumer and automatically decremented and set to ``NULL`` by :c:func:" -"`PyBuffer_Release`. The field is the equivalent of the return value of any " -"standard C-API function." +"consumer and automatically released (i.e. reference count decremented) and " +"set to ``NULL`` by :c:func:`PyBuffer_Release`. The field is the equivalent " +"of the return value of any standard C-API function." msgstr "" -"Uma nova referência ao objeto exportador. A referência é possuída pelo " -"consumidor e automaticamente decrementada e definida para ``NULL`` por :c:" -"func:`PyBuffer_Release`. O campo é o equivalente ao valor de retorno de " -"qualquer função padrão C-API." +"Uma nova referência ao objeto sendo exporta. A referência pertence ao " +"consumidor e é automaticamente liberada (por exemplo, a contagem de " +"referências é decrementada) e é atribuída para ``NULL`` " +"por :c:func:`PyBuffer_Release`. O campo equivale ao valor de retorno de " +"qualquer função padrão da API C." -#: ../../c-api/buffer.rst:109 +#: ../../c-api/buffer.rst:111 msgid "" -"As a special case, for *temporary* buffers that are wrapped by :c:func:" -"`PyMemoryView_FromBuffer` or :c:func:`PyBuffer_FillInfo` this field is " -"``NULL``. In general, exporting objects MUST NOT use this scheme." +"As a special case, for *temporary* buffers that are wrapped " +"by :c:func:`PyMemoryView_FromBuffer` or :c:func:`PyBuffer_FillInfo` this " +"field is ``NULL``. In general, exporting objects MUST NOT use this scheme." msgstr "" -"Como um caso especial, para buffers *temporários* que são encapsulados por :" -"c:func:`PyMemoryView_FromBuffer` ou :c:func:`PyBuffer_FillInfo` esse campo é " -"``NULL``. Em geral, objetos exportadores NÃO DEVEM usar esse esquema." +"Como um caso especial, para buffers *temporários* que são encapsulados " +"por :c:func:`PyMemoryView_FromBuffer` ou :c:func:`PyBuffer_FillInfo` esse " +"campo é ``NULL``. Em geral, objetos exportadores NÃO DEVEM usar esse esquema." -#: ../../c-api/buffer.rst:116 +#: ../../c-api/buffer.rst:118 msgid "" "``product(shape) * itemsize``. For contiguous arrays, this is the length of " "the underlying memory block. For non-contiguous arrays, it is the length " @@ -255,19 +248,19 @@ msgstr "" "que a estrutura lógica teria se fosse copiado para uma representação " "contígua." -#: ../../c-api/buffer.rst:121 +#: ../../c-api/buffer.rst:123 msgid "" "Accessing ``((char *)buf)[0] up to ((char *)buf)[len-1]`` is only valid if " "the buffer has been obtained by a request that guarantees contiguity. In " -"most cases such a request will be :c:macro:`PyBUF_SIMPLE` or :c:macro:" -"`PyBUF_WRITABLE`." +"most cases such a request will be :c:macro:`PyBUF_SIMPLE` " +"or :c:macro:`PyBUF_WRITABLE`." msgstr "" "Acessando ``((char *)buf)[0] up to ((char *)buf)[len-1]`` só é válido se o " "buffer tiver sido obtido por uma solicitação que garanta a contiguidade. Na " -"maioria dos casos, esse pedido será :c:macro:`PyBUF_SIMPLE` ou :c:macro:" -"`PyBUF_WRITABLE`." +"maioria dos casos, esse pedido será :c:macro:`PyBUF_SIMPLE` " +"ou :c:macro:`PyBUF_WRITABLE`." -#: ../../c-api/buffer.rst:127 +#: ../../c-api/buffer.rst:129 msgid "" "An indicator of whether the buffer is read-only. This field is controlled by " "the :c:macro:`PyBUF_WRITABLE` flag." @@ -275,48 +268,51 @@ msgstr "" "Um indicador de se o buffer é somente leitura. Este campo é controlado pelo " "sinalizador :c:macro:`PyBUF_WRITABLE`." -#: ../../c-api/buffer.rst:132 +#: ../../c-api/buffer.rst:134 msgid "" -"Item size in bytes of a single element. Same as the value of :func:`struct." -"calcsize` called on non-``NULL`` :c:member:`~Py_buffer.format` values." +"Item size in bytes of a single element. Same as the value " +"of :func:`struct.calcsize` called on non-" +"``NULL`` :c:member:`~Py_buffer.format` values." msgstr "" -"O tamanho do item em bytes de um único elemento. O mesmo que o valor de :" -"func:`struct.calcsize` chamado em valores não ``NULL`` de :c:member:" -"`~Py_buffer.format`." +"O tamanho do item em bytes de um único elemento. O mesmo que o valor " +"de :func:`struct.calcsize` chamado em valores não ``NULL`` " +"de :c:member:`~Py_buffer.format`." -#: ../../c-api/buffer.rst:135 +#: ../../c-api/buffer.rst:137 msgid "" -"Important exception: If a consumer requests a buffer without the :c:macro:" -"`PyBUF_FORMAT` flag, :c:member:`~Py_buffer.format` will be set to " -"``NULL``, but :c:member:`~Py_buffer.itemsize` still has the value for the " -"original format." +"Important exception: If a consumer requests a buffer without " +"the :c:macro:`PyBUF_FORMAT` flag, :c:member:`~Py_buffer.format` will be set " +"to ``NULL``, but :c:member:`~Py_buffer.itemsize` still has the value for " +"the original format." msgstr "" -"Exceção importante: Se um consumidor requisita um buffer sem sinalizador :c:" -"macro:`PyBUF_FORMAT`, :c:member:`~Py_buffer.format` será definido como " -"``NULL``, mas :c:member:`~Py_buffer.itemsize` ainda terá seu valor para o " -"formato original." +"Exceção importante: Se um consumidor requisita um buffer sem " +"sinalizador :c:macro:`PyBUF_FORMAT`, :c:member:`~Py_buffer.format` será " +"definido como ``NULL``, mas :c:member:`~Py_buffer.itemsize` ainda terá seu " +"valor para o formato original." -#: ../../c-api/buffer.rst:140 +#: ../../c-api/buffer.rst:142 msgid "" "If :c:member:`~Py_buffer.shape` is present, the equality ``product(shape) * " -"itemsize == len`` still holds and the consumer can use :c:member:`~Py_buffer." -"itemsize` to navigate the buffer." +"itemsize == len`` still holds and the consumer can " +"use :c:member:`~Py_buffer.itemsize` to navigate the buffer." msgstr "" "Se :c:member:`~Py_buffer.shape` está presente, a igualdade ``product(shape) " -"* itemsize == len`` ainda é válida e o usuário pode usar :c:member:" -"`~Py_buffer.itemsize` para navegar o buffer." +"* itemsize == len`` ainda é válida e o usuário pode " +"usar :c:member:`~Py_buffer.itemsize` para navegar o buffer." -#: ../../c-api/buffer.rst:144 +#: ../../c-api/buffer.rst:146 msgid "" -"If :c:member:`~Py_buffer.shape` is ``NULL`` as a result of a :c:macro:" -"`PyBUF_SIMPLE` or a :c:macro:`PyBUF_WRITABLE` request, the consumer must " -"disregard :c:member:`~Py_buffer.itemsize` and assume ``itemsize == 1``." +"If :c:member:`~Py_buffer.shape` is ``NULL`` as a result of " +"a :c:macro:`PyBUF_SIMPLE` or a :c:macro:`PyBUF_WRITABLE` request, the " +"consumer must disregard :c:member:`~Py_buffer.itemsize` and assume " +"``itemsize == 1``." msgstr "" -"Se :c:member:`~Py_buffer.shape` é ``NULL`` como resultado de uma :c:macro:" -"`PyBUF_SIMPLE` ou uma requisição :c:macro:`PyBUF_WRITABLE`, o consumidor " -"deve ignorar :c:member:`~Py_buffer.itemsize` e assumir ``itemsize == 1``." +"Se :c:member:`~Py_buffer.shape` é ``NULL`` como resultado de " +"uma :c:macro:`PyBUF_SIMPLE` ou uma requisição :c:macro:`PyBUF_WRITABLE`, o " +"consumidor deve ignorar :c:member:`~Py_buffer.itemsize` e presumir " +"``itemsize == 1``." -#: ../../c-api/buffer.rst:150 +#: ../../c-api/buffer.rst:152 msgid "" "A *NUL* terminated string in :mod:`struct` module style syntax describing " "the contents of a single item. If this is ``NULL``, ``\"B\"`` (unsigned " @@ -326,47 +322,39 @@ msgstr "" "descrevendo os conteúdos de um único item. Se isso é ``NULL``, ``\"B\"`` " "(unsigned bytes) é assumido." -#: ../../c-api/buffer.rst:154 +#: ../../c-api/buffer.rst:156 msgid "This field is controlled by the :c:macro:`PyBUF_FORMAT` flag." msgstr "Este campo é controlado pelo sinalizador :c:macro:`PyBUF_FORMAT`." -#: ../../c-api/buffer.rst:158 +#: ../../c-api/buffer.rst:160 msgid "" "The number of dimensions the memory represents as an n-dimensional array. If " "it is ``0``, :c:member:`~Py_buffer.buf` points to a single item representing " -"a scalar. In this case, :c:member:`~Py_buffer.shape`, :c:member:`~Py_buffer." -"strides` and :c:member:`~Py_buffer.suboffsets` MUST be ``NULL``." -msgstr "" -"O número de dimensões que a memória representa como um vetor n-dimensional. " -"Se é ``0``, :c:member:`~Py_buffer.buf` aponta para um único item " -"representando um escalar. Neste caso, :c:member:`~Py_buffer.shape`, :c:" -"member:`~Py_buffer.strides` e :c:member:`~Py_buffer.suboffsets` DEVEM ser " -"``NULL``." - -#: ../../c-api/buffer.rst:163 -msgid "" -"The macro :c:macro:`PyBUF_MAX_NDIM` limits the maximum number of dimensions " -"to 64. Exporters MUST respect this limit, consumers of multi-dimensional " -"buffers SHOULD be able to handle up to :c:macro:`PyBUF_MAX_NDIM` dimensions." +"a scalar. In this " +"case, :c:member:`~Py_buffer.shape`, :c:member:`~Py_buffer.strides` " +"and :c:member:`~Py_buffer.suboffsets` MUST be ``NULL``. The maximum number " +"of dimensions is given by :c:macro:`PyBUF_MAX_NDIM`." msgstr "" -"A macro :c:macro:`PyBUF_MAX_NDIM` limita o número máximo de dimensões a 64. " -"Os exportadores DEVEM respeitar esse limite, os consumidores de buffers " -"multidimensionais DEVEM ser capazes de lidar com dimensões :c:macro:" -"`PyBUF_MAX_NDIM`." +"O número de dimensões de memória representado como um array n-dimensional. " +"Se for ``0``, :c:member:`~Py_buffer.buf` aponta para um único elemento " +"representando um escalar. Neste " +"caso, :c:member:`~Py_buffer.shape`, :c:member:`~Py_buffer.strides` " +"e :c:member:`~Py_buffer.suboffsets` DEVEM ser ``NULL``. O número máximo de " +"dimensões é dado por :c:macro:`PyBUF_MAX_NDIM`." -#: ../../c-api/buffer.rst:169 +#: ../../c-api/buffer.rst:168 msgid "" "An array of :c:type:`Py_ssize_t` of length :c:member:`~Py_buffer.ndim` " "indicating the shape of the memory as an n-dimensional array. Note that " -"``shape[0] * ... * shape[ndim-1] * itemsize`` MUST be equal to :c:member:" -"`~Py_buffer.len`." +"``shape[0] * ... * shape[ndim-1] * itemsize`` MUST be equal " +"to :c:member:`~Py_buffer.len`." msgstr "" -"Uma matriz de :c:type:`Py_ssize_t` do comprimento :c:member:`~Py_buffer." -"ndim` indicando a forma da memória como uma matriz n-dimensional. Observe " -"que a forma ``shape[0] * ... * shape[ndim-1] * itemsize`` DEVE ser igual a :" -"c:member:`~Py_buffer.len`." +"Uma matriz de :c:type:`Py_ssize_t` do " +"comprimento :c:member:`~Py_buffer.ndim` indicando a forma da memória como " +"uma matriz n-dimensional. Observe que a forma ``shape[0] * ... * " +"shape[ndim-1] * itemsize`` DEVE ser igual a :c:member:`~Py_buffer.len`." -#: ../../c-api/buffer.rst:174 +#: ../../c-api/buffer.rst:173 msgid "" "Shape values are restricted to ``shape[n] >= 0``. The case ``shape[n] == 0`` " "requires special attention. See `complex arrays`_ for further information." @@ -374,11 +362,11 @@ msgstr "" "Os valores da forma são restritos a ``shape[n] >= 0``. The case ``shape[n] " "== 0`` requer atenção especial. Veja `complex arrays`_ para mais informações." -#: ../../c-api/buffer.rst:178 +#: ../../c-api/buffer.rst:177 msgid "The shape array is read-only for the consumer." msgstr "A forma de acesso a matriz é de somente leitura para o usuário." -#: ../../c-api/buffer.rst:182 +#: ../../c-api/buffer.rst:181 msgid "" "An array of :c:type:`Py_ssize_t` of length :c:member:`~Py_buffer.ndim` " "giving the number of bytes to skip to get to a new element in each dimension." @@ -387,7 +375,7 @@ msgstr "" "dando o número de bytes para saltar para obter um novo elemento em cada " "dimensão." -#: ../../c-api/buffer.rst:186 +#: ../../c-api/buffer.rst:185 msgid "" "Stride values can be any integer. For regular arrays, strides are usually " "positive, but a consumer MUST be able to handle the case ``strides[n] <= " @@ -398,11 +386,11 @@ msgstr "" "capaz de lidar com o caso ``strides[n] <= 0``. Veja `complex arrays`_ para " "mais informações." -#: ../../c-api/buffer.rst:190 +#: ../../c-api/buffer.rst:189 msgid "The strides array is read-only for the consumer." msgstr "A matriz de passos é somente leitura para o consumidor." -#: ../../c-api/buffer.rst:194 +#: ../../c-api/buffer.rst:193 msgid "" "An array of :c:type:`Py_ssize_t` of length :c:member:`~Py_buffer.ndim`. If " "``suboffsets[n] >= 0``, the values stored along the nth dimension are " @@ -410,14 +398,14 @@ msgid "" "pointer after de-referencing. A suboffset value that is negative indicates " "that no de-referencing should occur (striding in a contiguous memory block)." msgstr "" -"Uma matriz de :c:type:`Py_ssize_t` de comprimento :c:member:`~Py_buffer." -"ndim`. Se ``suboffsets[n] >= 0``, os valores armazenados ao longo da n-ésima " -"dimensão são ponteiros e o valor suboffset determina quantos bytes para " -"adicionar a cada ponteiro após desreferenciar. Um valor de suboffset que é " -"negativo indica que não deve ocorrer desreferenciação (caminhando em um " -"bloco de memória contíguo)." +"Uma matriz de :c:type:`Py_ssize_t` de " +"comprimento :c:member:`~Py_buffer.ndim`. Se ``suboffsets[n] >= 0``, os " +"valores armazenados ao longo da n-ésima dimensão são ponteiros e o valor " +"suboffset determina quantos bytes para adicionar a cada ponteiro após " +"desreferenciar. Um valor de suboffset que é negativo indica que não deve " +"ocorrer desreferenciação (caminhando em um bloco de memória contíguo)." -#: ../../c-api/buffer.rst:201 +#: ../../c-api/buffer.rst:200 msgid "" "If all suboffsets are negative (i.e. no de-referencing is needed), then this " "field must be ``NULL`` (the default value)." @@ -425,7 +413,7 @@ msgstr "" "Se todos os subconjuntos forem negativos (ou seja, não é necessário fazer " "referência), então este campo deve ser ``NULL`` (o valor padrão)." -#: ../../c-api/buffer.rst:204 +#: ../../c-api/buffer.rst:203 msgid "" "This type of array representation is used by the Python Imaging Library " "(PIL). See `complex arrays`_ for further information how to access elements " @@ -435,11 +423,11 @@ msgstr "" "(PIL). Veja `complex arrays`_ para obter mais informações sobre como acessar " "elementos dessa matriz.a matriz." -#: ../../c-api/buffer.rst:208 +#: ../../c-api/buffer.rst:207 msgid "The suboffsets array is read-only for the consumer." msgstr "A matriz de subconjuntos é somente leitura para o consumidor." -#: ../../c-api/buffer.rst:212 +#: ../../c-api/buffer.rst:211 msgid "" "This is for use internally by the exporting object. For example, this might " "be re-cast as an integer by the exporter and used to store flags about " @@ -452,11 +440,26 @@ msgstr "" "ser liberados quando o buffer é liberado. O consumidor NÃO DEVE alterar esse " "valor." -#: ../../c-api/buffer.rst:221 +#: ../../c-api/buffer.rst:218 +msgid "Constants:" +msgstr "Constantes:" + +#: ../../c-api/buffer.rst:222 +msgid "" +"The maximum number of dimensions the memory represents. Exporters MUST " +"respect this limit, consumers of multi-dimensional buffers SHOULD be able to " +"handle up to :c:macro:`!PyBUF_MAX_NDIM` dimensions. Currently set to 64." +msgstr "" +"O número máximo de dimensões que a memória representa. Exportadores DEVEM " +"respeitar esse limite, consumidores de buffers multidimensionais DEVEM ser " +"capazes de lidar com até :c:macro:`!PyBUF_MAX_NDIM` dimensões. Atualmente " +"definido como 64." + +#: ../../c-api/buffer.rst:231 msgid "Buffer request types" msgstr "Tipos de solicitação do buffer" -#: ../../c-api/buffer.rst:223 +#: ../../c-api/buffer.rst:233 msgid "" "Buffers are usually obtained by sending a buffer request to an exporting " "object via :c:func:`PyObject_GetBuffer`. Since the complexity of the logical " @@ -469,34 +472,32 @@ msgstr "" "consumidor usa o argumento *flags* para especificar o tipo de buffer exato " "que pode manipular." -#: ../../c-api/buffer.rst:228 +#: ../../c-api/buffer.rst:238 msgid "" -"All :c:data:`Py_buffer` fields are unambiguously defined by the request type." +"All :c:type:`Py_buffer` fields are unambiguously defined by the request type." msgstr "" -"Todos :c:data:`Py_buffer` são inequivocamente definidos pelo tipo de " -"solicitação." +"Todos os campos :c:type:`Py_buffer` são definidos de forma não-ambígua pelo " +"tipo de requisição." -#: ../../c-api/buffer.rst:232 +#: ../../c-api/buffer.rst:242 msgid "request-independent fields" msgstr "campos independentes do pedido" -#: ../../c-api/buffer.rst:233 +#: ../../c-api/buffer.rst:243 msgid "" "The following fields are not influenced by *flags* and must always be filled " -"in with the correct values: :c:member:`~Py_buffer.obj`, :c:member:" -"`~Py_buffer.buf`, :c:member:`~Py_buffer.len`, :c:member:`~Py_buffer." -"itemsize`, :c:member:`~Py_buffer.ndim`." +"in with the correct " +"values: :c:member:`~Py_buffer.obj`, :c:member:`~Py_buffer.buf`, :c:member:`~Py_buffer.len`, :c:member:`~Py_buffer.itemsize`, :c:member:`~Py_buffer.ndim`." msgstr "" "Os seguintes campos não são influenciados por *flags* e devem sempre ser " -"preenchidos com os valores corretos: :c:member:`~Py_buffer.obj`, :c:member:" -"`~Py_buffer.buf`, :c:member:`~Py_buffer.len`, :c:member:`~Py_buffer." -"itemsize`, :c:member:`~Py_buffer.ndim`." +"preenchidos com os valores " +"corretos: :c:member:`~Py_buffer.obj`, :c:member:`~Py_buffer.buf`, :c:member:`~Py_buffer.len`, :c:member:`~Py_buffer.itemsize`, :c:member:`~Py_buffer.ndim`." -#: ../../c-api/buffer.rst:239 +#: ../../c-api/buffer.rst:249 msgid "readonly, format" msgstr "apenas em formato" -#: ../../c-api/buffer.rst:243 +#: ../../c-api/buffer.rst:253 msgid "" "Controls the :c:member:`~Py_buffer.readonly` field. If set, the exporter " "MUST provide a writable buffer or else report failure. Otherwise, the " @@ -508,7 +509,7 @@ msgstr "" "contrário, o exportador pode fornecer um buffer de somente leitura ou " "gravável, mas a escolha DEVE ser consistente para todos os consumidores." -#: ../../c-api/buffer.rst:250 +#: ../../c-api/buffer.rst:260 msgid "" "Controls the :c:member:`~Py_buffer.format` field. If set, this field MUST be " "filled in correctly. Otherwise, this field MUST be ``NULL``." @@ -517,32 +518,33 @@ msgstr "" "DEVE ser preenchido corretamente. Caso contrário, este campo DEVE ser " "``NULL``." -#: ../../c-api/buffer.rst:254 +#: ../../c-api/buffer.rst:264 msgid "" ":c:macro:`PyBUF_WRITABLE` can be \\|'d to any of the flags in the next " -"section. Since :c:macro:`PyBUF_SIMPLE` is defined as 0, :c:macro:" -"`PyBUF_WRITABLE` can be used as a stand-alone flag to request a simple " -"writable buffer." +"section. Since :c:macro:`PyBUF_SIMPLE` is defined as " +"0, :c:macro:`PyBUF_WRITABLE` can be used as a stand-alone flag to request a " +"simple writable buffer." msgstr "" -"::c:macro:`PyBUF_WRITABLE` pode ser \\|'d para qualquer um dos sinalizadores " -"na próxima seção. Uma vez que :c:macro:`PyBUF_WRITABLE` é definido como 0, :" -"c:macro:`PyBUF_WRITABLE` pode ser usado como uma bandeira autônoma para " +":c:macro:`PyBUF_WRITABLE` pode ser \\|'d para qualquer um dos sinalizadores " +"na próxima seção. Uma vez que :c:macro:`PyBUF_SIMPLE` é definido como " +"0, :c:macro:`PyBUF_WRITABLE` pode ser usado como uma bandeira autônoma para " "solicitar um buffer simples gravável." -#: ../../c-api/buffer.rst:258 +#: ../../c-api/buffer.rst:268 msgid "" -":c:macro:`PyBUF_FORMAT` can be \\|'d to any of the flags except :c:macro:" -"`PyBUF_SIMPLE`. The latter already implies format ``B`` (unsigned bytes)." +":c:macro:`PyBUF_FORMAT` can be \\|'d to any of the flags " +"except :c:macro:`PyBUF_SIMPLE`. The latter already implies format ``B`` " +"(unsigned bytes)." msgstr "" ":c:macro:`PyBUF_FORMAT` pode ser \\|'d para qualquer um dos sinalizadores, " "exceto :c:macro:`PyBUF_SIMPLE`. O último já implica o formato ``B`` (bytes " "não assinados)." -#: ../../c-api/buffer.rst:263 +#: ../../c-api/buffer.rst:273 msgid "shape, strides, suboffsets" msgstr "forma, avanços, suboffsets" -#: ../../c-api/buffer.rst:265 +#: ../../c-api/buffer.rst:275 msgid "" "The flags that control the logical structure of the memory are listed in " "decreasing order of complexity. Note that each flag contains all bits of the " @@ -552,57 +554,57 @@ msgstr "" "ordem decrescente de complexidade. Observe que cada bandeira contém todos os " "bits das bandeiras abaixo." -#: ../../c-api/buffer.rst:272 ../../c-api/buffer.rst:296 -#: ../../c-api/buffer.rst:321 +#: ../../c-api/buffer.rst:282 ../../c-api/buffer.rst:306 +#: ../../c-api/buffer.rst:331 msgid "Request" msgstr "Solicitação" -#: ../../c-api/buffer.rst:272 ../../c-api/buffer.rst:296 -#: ../../c-api/buffer.rst:321 +#: ../../c-api/buffer.rst:282 ../../c-api/buffer.rst:306 +#: ../../c-api/buffer.rst:331 msgid "shape" msgstr "Forma" -#: ../../c-api/buffer.rst:272 ../../c-api/buffer.rst:296 -#: ../../c-api/buffer.rst:321 +#: ../../c-api/buffer.rst:282 ../../c-api/buffer.rst:306 +#: ../../c-api/buffer.rst:331 msgid "strides" msgstr "Avanços" -#: ../../c-api/buffer.rst:272 ../../c-api/buffer.rst:296 -#: ../../c-api/buffer.rst:321 +#: ../../c-api/buffer.rst:282 ../../c-api/buffer.rst:306 +#: ../../c-api/buffer.rst:331 msgid "suboffsets" msgstr "subconjuntos" -#: ../../c-api/buffer.rst:274 ../../c-api/buffer.rst:276 -#: ../../c-api/buffer.rst:278 ../../c-api/buffer.rst:298 -#: ../../c-api/buffer.rst:300 ../../c-api/buffer.rst:302 -#: ../../c-api/buffer.rst:304 ../../c-api/buffer.rst:323 -#: ../../c-api/buffer.rst:325 ../../c-api/buffer.rst:327 -#: ../../c-api/buffer.rst:329 ../../c-api/buffer.rst:331 -#: ../../c-api/buffer.rst:333 ../../c-api/buffer.rst:335 -#: ../../c-api/buffer.rst:337 +#: ../../c-api/buffer.rst:284 ../../c-api/buffer.rst:286 +#: ../../c-api/buffer.rst:288 ../../c-api/buffer.rst:308 +#: ../../c-api/buffer.rst:310 ../../c-api/buffer.rst:312 +#: ../../c-api/buffer.rst:314 ../../c-api/buffer.rst:333 +#: ../../c-api/buffer.rst:335 ../../c-api/buffer.rst:337 +#: ../../c-api/buffer.rst:339 ../../c-api/buffer.rst:341 +#: ../../c-api/buffer.rst:343 ../../c-api/buffer.rst:345 +#: ../../c-api/buffer.rst:347 msgid "yes" msgstr "sim" -#: ../../c-api/buffer.rst:274 ../../c-api/buffer.rst:323 -#: ../../c-api/buffer.rst:325 +#: ../../c-api/buffer.rst:284 ../../c-api/buffer.rst:333 +#: ../../c-api/buffer.rst:335 msgid "if needed" msgstr "se necessário" -#: ../../c-api/buffer.rst:276 ../../c-api/buffer.rst:278 -#: ../../c-api/buffer.rst:280 ../../c-api/buffer.rst:298 -#: ../../c-api/buffer.rst:300 ../../c-api/buffer.rst:302 -#: ../../c-api/buffer.rst:304 ../../c-api/buffer.rst:327 -#: ../../c-api/buffer.rst:329 ../../c-api/buffer.rst:331 -#: ../../c-api/buffer.rst:333 ../../c-api/buffer.rst:335 -#: ../../c-api/buffer.rst:337 +#: ../../c-api/buffer.rst:286 ../../c-api/buffer.rst:288 +#: ../../c-api/buffer.rst:290 ../../c-api/buffer.rst:308 +#: ../../c-api/buffer.rst:310 ../../c-api/buffer.rst:312 +#: ../../c-api/buffer.rst:314 ../../c-api/buffer.rst:337 +#: ../../c-api/buffer.rst:339 ../../c-api/buffer.rst:341 +#: ../../c-api/buffer.rst:343 ../../c-api/buffer.rst:345 +#: ../../c-api/buffer.rst:347 msgid "NULL" msgstr "NULL" -#: ../../c-api/buffer.rst:287 +#: ../../c-api/buffer.rst:297 msgid "contiguity requests" msgstr "requisições contíguas" -#: ../../c-api/buffer.rst:289 +#: ../../c-api/buffer.rst:299 msgid "" "C or Fortran :term:`contiguity ` can be explicitly requested, " "with and without stride information. Without stride information, the buffer " @@ -612,32 +614,32 @@ msgstr "" "solicitadas, com ou sem informação de avanço. Sem informação de avanço, o " "buffer deve ser C-contíguo." -#: ../../c-api/buffer.rst:296 ../../c-api/buffer.rst:321 +#: ../../c-api/buffer.rst:306 ../../c-api/buffer.rst:331 msgid "contig" msgstr "contig" -#: ../../c-api/buffer.rst:298 ../../c-api/buffer.rst:304 -#: ../../c-api/buffer.rst:335 ../../c-api/buffer.rst:337 +#: ../../c-api/buffer.rst:308 ../../c-api/buffer.rst:314 +#: ../../c-api/buffer.rst:345 ../../c-api/buffer.rst:347 msgid "C" msgstr "C" -#: ../../c-api/buffer.rst:300 +#: ../../c-api/buffer.rst:310 msgid "F" msgstr "F" -#: ../../c-api/buffer.rst:302 +#: ../../c-api/buffer.rst:312 msgid "C or F" msgstr "C ou F" -#: ../../c-api/buffer.rst:304 +#: ../../c-api/buffer.rst:314 msgid ":c:macro:`PyBUF_ND`" msgstr ":c:macro:`PyBUF_ND`" -#: ../../c-api/buffer.rst:309 +#: ../../c-api/buffer.rst:319 msgid "compound requests" msgstr "requisições compostas" -#: ../../c-api/buffer.rst:311 +#: ../../c-api/buffer.rst:321 msgid "" "All possible requests are fully defined by some combination of the flags in " "the previous section. For convenience, the buffer protocol provides " @@ -648,7 +650,7 @@ msgstr "" "protocolo do buffer fornece combinações frequentemente utilizadas como " "sinalizadores únicos." -#: ../../c-api/buffer.rst:315 +#: ../../c-api/buffer.rst:325 msgid "" "In the following table *U* stands for undefined contiguity. The consumer " "would have to call :c:func:`PyBuffer_IsContiguous` to determine contiguity." @@ -656,61 +658,63 @@ msgstr "" "Na seguinte tabela *U* significa contiguidade indefinida. O consumidor deve " "chamar :c:func:`PyBuffer_IsContiguous` para determinar a contiguidade." -#: ../../c-api/buffer.rst:321 +#: ../../c-api/buffer.rst:331 msgid "readonly" msgstr "readonly" -#: ../../c-api/buffer.rst:321 +#: ../../c-api/buffer.rst:331 msgid "format" -msgstr "formato" +msgstr "format" -#: ../../c-api/buffer.rst:323 ../../c-api/buffer.rst:325 -#: ../../c-api/buffer.rst:327 ../../c-api/buffer.rst:329 -#: ../../c-api/buffer.rst:331 ../../c-api/buffer.rst:333 +#: ../../c-api/buffer.rst:333 ../../c-api/buffer.rst:335 +#: ../../c-api/buffer.rst:337 ../../c-api/buffer.rst:339 +#: ../../c-api/buffer.rst:341 ../../c-api/buffer.rst:343 msgid "U" msgstr "U" -#: ../../c-api/buffer.rst:323 ../../c-api/buffer.rst:327 -#: ../../c-api/buffer.rst:331 ../../c-api/buffer.rst:335 +#: ../../c-api/buffer.rst:333 ../../c-api/buffer.rst:337 +#: ../../c-api/buffer.rst:341 ../../c-api/buffer.rst:345 msgid "0" msgstr "0" -#: ../../c-api/buffer.rst:325 ../../c-api/buffer.rst:329 -#: ../../c-api/buffer.rst:333 ../../c-api/buffer.rst:337 +#: ../../c-api/buffer.rst:335 ../../c-api/buffer.rst:339 +#: ../../c-api/buffer.rst:343 ../../c-api/buffer.rst:347 msgid "1 or 0" msgstr "1 ou 0" -#: ../../c-api/buffer.rst:342 +#: ../../c-api/buffer.rst:352 msgid "Complex arrays" msgstr "Vetores Complexos" -#: ../../c-api/buffer.rst:345 +#: ../../c-api/buffer.rst:355 msgid "NumPy-style: shape and strides" msgstr "Estilo NumPy: forma e avanços" -#: ../../c-api/buffer.rst:347 +#: ../../c-api/buffer.rst:357 msgid "" -"The logical structure of NumPy-style arrays is defined by :c:member:" -"`~Py_buffer.itemsize`, :c:member:`~Py_buffer.ndim`, :c:member:`~Py_buffer." -"shape` and :c:member:`~Py_buffer.strides`." +"The logical structure of NumPy-style arrays is defined " +"by :c:member:`~Py_buffer.itemsize`, :c:member:`~Py_buffer.ndim`, :c:member:`~Py_buffer.shape` " +"and :c:member:`~Py_buffer.strides`." msgstr "" -"A estrutura lógica de vetores do estilo NumPy é definida por :c:member:" -"`~Py_buffer.itemsize`, :c:member:`~Py_buffer.ndim`, :c:member:`~Py_buffer." -"shape` e :c:member:`~Py_buffer.strides`." +"A estrutura lógica de vetores do estilo NumPy é definida " +"por :c:member:`~Py_buffer.itemsize`, :c:member:`~Py_buffer.ndim`, :c:member:`~Py_buffer.shape` " +"e :c:member:`~Py_buffer.strides`." -#: ../../c-api/buffer.rst:350 +#: ../../c-api/buffer.rst:360 msgid "" -"If ``ndim == 0``, the memory location pointed to by :c:member:`~Py_buffer." -"buf` is interpreted as a scalar of size :c:member:`~Py_buffer.itemsize`. In " -"that case, both :c:member:`~Py_buffer.shape` and :c:member:`~Py_buffer." -"strides` are ``NULL``." +"If ``ndim == 0``, the memory location pointed to " +"by :c:member:`~Py_buffer.buf` is interpreted as a scalar of " +"size :c:member:`~Py_buffer.itemsize`. In that case, " +"both :c:member:`~Py_buffer.shape` and :c:member:`~Py_buffer.strides` are " +"``NULL``." msgstr "" -"Se ``ndim == 0``, a localização da memória apontada para :c:member:" -"`~Py_buffer.buf` é interpretada como um escalar de tamanho :c:member:" -"`~Py_buffer.itemsize`. Nesse caso, ambos :c:member:`~Py_buffer.shape` e :c:" -"member:`~Py_buffer.strides` são ``NULL``." +"Se ``ndim == 0``, a localização da memória apontada " +"para :c:member:`~Py_buffer.buf` é interpretada como um escalar de " +"tamanho :c:member:`~Py_buffer.itemsize`. Nesse caso, " +"ambos :c:member:`~Py_buffer.shape` e :c:member:`~Py_buffer.strides` são " +"``NULL``." -#: ../../c-api/buffer.rst:354 +#: ../../c-api/buffer.rst:364 msgid "" "If :c:member:`~Py_buffer.strides` is ``NULL``, the array is interpreted as a " "standard n-dimensional C-array. Otherwise, the consumer must access an n-" @@ -720,7 +724,7 @@ msgstr "" "vetor C n-dimensional padrão. Caso contrário, o consumidor deve acessar um " "vetor n-dimensional como a seguir:" -#: ../../c-api/buffer.rst:364 +#: ../../c-api/buffer.rst:374 msgid "" "As noted above, :c:member:`~Py_buffer.buf` can point to any location within " "the actual memory block. An exporter can check the validity of a buffer with " @@ -730,11 +734,11 @@ msgstr "" "localização dentro do bloco de memória em si. Um exportador pode verificar a " "validade de um buffer com essa função:" -#: ../../c-api/buffer.rst:398 +#: ../../c-api/buffer.rst:408 msgid "PIL-style: shape, strides and suboffsets" msgstr "Estilo-PIL: forma, avanços e suboffsets" -#: ../../c-api/buffer.rst:400 +#: ../../c-api/buffer.rst:410 msgid "" "In addition to the regular items, PIL-style arrays can contain pointers that " "must be followed in order to get to the next element in a dimension. For " @@ -753,7 +757,7 @@ msgstr "" "matrizes ``char x[2][3]`` que podem estar localizadas em qualquer lugar na " "memória." -#: ../../c-api/buffer.rst:409 +#: ../../c-api/buffer.rst:419 msgid "" "Here is a function that returns a pointer to the element in an N-D array " "pointed to by an N-dimensional index when there are both non-``NULL`` " @@ -763,11 +767,11 @@ msgstr "" "apontada por um índice N-dimensional onde existem ambos passos e " "subconjuntos não-``NULL``::" -#: ../../c-api/buffer.rst:428 +#: ../../c-api/buffer.rst:438 msgid "Buffer-related functions" msgstr "Funções relacionadas ao Buffer" -#: ../../c-api/buffer.rst:432 +#: ../../c-api/buffer.rst:442 msgid "" "Return ``1`` if *obj* supports the buffer interface otherwise ``0``. When " "``1`` is returned, it doesn't guarantee that :c:func:`PyObject_GetBuffer` " @@ -777,18 +781,18 @@ msgstr "" "Quando ``1`` é retornado, isso não garante que :c:func:`PyObject_GetBuffer` " "será bem sucedida. Esta função é sempre bem sucedida." -#: ../../c-api/buffer.rst:439 +#: ../../c-api/buffer.rst:449 msgid "" "Send a request to *exporter* to fill in *view* as specified by *flags*. If " -"the exporter cannot provide a buffer of the exact type, it MUST raise :c:" -"data:`PyExc_BufferError`, set ``view->obj`` to ``NULL`` and return ``-1``." +"the exporter cannot provide a buffer of the exact type, it MUST " +"raise :exc:`BufferError`, set ``view->obj`` to ``NULL`` and return ``-1``." msgstr "" -"Envia uma requisição para o *exporter* para preencher *view* como " -"especificado por *flags*. Se o exportador não consegue prover um buffer do " -"mesmo tipo, ele DEVE levantar :c:data:`PyExc_BufferError`, definir ``view-" +"Envia uma requisição ao *exporter* para preencher a *view* conforme " +"especificado por *flags*. Se o exporter não conseguir prover um buffer do " +"tipo especificado, ele DEVE levantar :exc:`BufferError`, definir ``view-" ">obj`` para ``NULL`` e retornar ``-1``." -#: ../../c-api/buffer.rst:444 +#: ../../c-api/buffer.rst:454 msgid "" "On success, fill in *view*, set ``view->obj`` to a new reference to " "*exporter* and return 0. In the case of chained buffer providers that " @@ -801,45 +805,48 @@ msgstr "" "DEVE se referir a este objeto em vez de *exporter* (Veja :ref:`Buffer Object " "Structures `)." -#: ../../c-api/buffer.rst:449 +#: ../../c-api/buffer.rst:459 msgid "" "Successful calls to :c:func:`PyObject_GetBuffer` must be paired with calls " -"to :c:func:`PyBuffer_Release`, similar to :c:func:`malloc` and :c:func:" -"`free`. Thus, after the consumer is done with the buffer, :c:func:" -"`PyBuffer_Release` must be called exactly once." +"to :c:func:`PyBuffer_Release`, similar to :c:func:`malloc` " +"and :c:func:`free`. Thus, after the consumer is done with the " +"buffer, :c:func:`PyBuffer_Release` must be called exactly once." msgstr "" "Chamadas bem sucedidas para :c:func:`PyObject_GetBuffer` devem ser " -"emparelhadas a chamadas para :c:func:`PyBuffer_Release`, similar para :c:" -"func:`malloc` e :c:func:`free`. Assim, após o consumidor terminar com o " -"buffer, :c:func:`PyBuffer_Release` deve ser chamado exatamente uma vez." +"emparelhadas a chamadas para :c:func:`PyBuffer_Release`, similar " +"para :c:func:`malloc` e :c:func:`free`. Assim, após o consumidor terminar " +"com o buffer, :c:func:`PyBuffer_Release` deve ser chamado exatamente uma vez." -#: ../../c-api/buffer.rst:457 +#: ../../c-api/buffer.rst:467 msgid "" -"Release the buffer *view* and decrement the reference count for ``view-" +"Release the buffer *view* and release the :term:`strong reference` (i.e. " +"decrement the reference count) to the view's supporting object, ``view-" ">obj``. This function MUST be called when the buffer is no longer being " "used, otherwise reference leaks may occur." msgstr "" -"Lança o buffer *view* e decrementa a contagem de referências para ``view-" -">obj``. Esta função DEVE ser chamada quando o buffer não está mais sendo " -"usado, senão podem ocorrer vazamentos de referência." +"Libera o buffer de *view* e libera o :term:`strong reference` (por exemplo, " +"decrementa o contador de referências) para o objeto de suporte da view, " +"``view->obj``. Esta função DEVE ser chamada quando o buffer não estiver mais " +"sendo usado, ou o vazamento de referências pode acontecer." -#: ../../c-api/buffer.rst:461 +#: ../../c-api/buffer.rst:472 msgid "" -"It is an error to call this function on a buffer that was not obtained via :" -"c:func:`PyObject_GetBuffer`." +"It is an error to call this function on a buffer that was not obtained " +"via :c:func:`PyObject_GetBuffer`." msgstr "" -"É um erro chamar essa função em um buffer que não foi obtido via :c:func:" -"`PyObject_GetBuffer`." +"É um erro chamar essa função em um buffer que não foi obtido " +"via :c:func:`PyObject_GetBuffer`." -#: ../../c-api/buffer.rst:467 +#: ../../c-api/buffer.rst:478 msgid "" -"Return the implied :c:data:`~Py_buffer.itemsize` from :c:data:`~Py_buffer." -"format`. On error, raise an exception and return -1." +"Return the implied :c:member:`~Py_buffer.itemsize` " +"from :c:member:`~Py_buffer.format`. On error, raise an exception and return " +"-1." msgstr "" -"Retorna o implícito :c:data:`~Py_buffer.itemsize` de :c:data:`~Py_buffer." -"format`. Se houver erro, levanta uma exceção e retorna -1." +"Retorna o :c:member:`~Py_buffer.itemsize` implícito " +"de :c:member:`~Py_buffer.format`. Em erro, levantar e exceção e retornar -1." -#: ../../c-api/buffer.rst:475 +#: ../../c-api/buffer.rst:486 msgid "" "Return ``1`` if the memory defined by the *view* is C-style (*order* is " "``'C'``) or Fortran-style (*order* is ``'F'``) :term:`contiguous` or either " @@ -851,7 +858,7 @@ msgstr "" "``'F'``) ou qualquer outra (*order* é ``'A'``). Retorna ``0`` caso " "contrário. Essa função é sempre bem sucedida." -#: ../../c-api/buffer.rst:482 +#: ../../c-api/buffer.rst:493 msgid "" "Get the memory area pointed to by the *indices* inside the given *view*. " "*indices* must point to an array of ``view->ndim`` indices." @@ -859,7 +866,7 @@ msgstr "" "Recebe a área de memória apontada pelos *indices* dentro da *view* dada. " "*indices* deve apontar para um array de ``view->ndim`` índices." -#: ../../c-api/buffer.rst:488 +#: ../../c-api/buffer.rst:499 msgid "" "Copy contiguous *len* bytes from *buf* to *view*. *fort* can be ``'C'`` or " "``'F'`` (for C-style or Fortran-style ordering). ``0`` is returned on " @@ -869,7 +876,7 @@ msgstr "" "``'F'`` (para ordenação estilo C ou estilo Fortran). Retorna ``0`` em caso " "de sucesso e ``-1`` em caso de erro." -#: ../../c-api/buffer.rst:495 +#: ../../c-api/buffer.rst:506 msgid "" "Copy *len* bytes from *src* to its contiguous representation in *buf*. " "*order* can be ``'C'`` or ``'F'`` or ``'A'`` (for C-style or Fortran-style " @@ -880,11 +887,11 @@ msgstr "" "qualquer uma). O retorno é ``0`` em caso de sucesso e ``-1`` em caso de " "falha." -#: ../../c-api/buffer.rst:499 +#: ../../c-api/buffer.rst:510 msgid "This function fails if *len* != *src->len*." msgstr "Esta função falha se *len* != *src->len*." -#: ../../c-api/buffer.rst:504 +#: ../../c-api/buffer.rst:515 msgid "" "Copy data from *src* to *dest* buffer. Can convert between C-style and or " "Fortran-style buffers." @@ -892,11 +899,11 @@ msgstr "" "Copia os dados do buffer *src* para o buffer *dest*. Pode converter entre " "buffers de estilo C e/ou estilo Fortran." -#: ../../c-api/buffer.rst:507 +#: ../../c-api/buffer.rst:518 msgid "``0`` is returned on success, ``-1`` on error." msgstr "``0`` é retornado em caso de sucesso, ``-1`` em caso de erro." -#: ../../c-api/buffer.rst:511 +#: ../../c-api/buffer.rst:522 msgid "" "Fill the *strides* array with byte-strides of a :term:`contiguous` (C-style " "if *order* is ``'C'`` or Fortran-style if *order* is ``'F'``) array of the " @@ -906,7 +913,7 @@ msgstr "" "(estilo C se *order* é ``'C'`` ou estilo Fortran se *order* for ``'F'``) da " "forma dada com o número dado de bytes por elemento." -#: ../../c-api/buffer.rst:518 +#: ../../c-api/buffer.rst:529 msgid "" "Handle buffer requests for an exporter that wants to expose *buf* of size " "*len* with writability set according to *readonly*. *buf* is interpreted as " @@ -916,7 +923,7 @@ msgstr "" "tamanho *len* com capacidade de escrita definida de acordo com *readonly*. " "*buf* é interpretada como uma sequência de bytes sem sinal." -#: ../../c-api/buffer.rst:522 +#: ../../c-api/buffer.rst:533 msgid "" "The *flags* argument indicates the request type. This function always fills " "in *view* as specified by flags, unless *buf* has been designated as read-" @@ -926,17 +933,17 @@ msgstr "" "*view* como especificado por *flags*, a não ser que *buf* seja designado " "como somente leitura e :c:macro:`PyBUF_WRITABLE` esteja definido em *flags*." -#: ../../c-api/buffer.rst:526 +#: ../../c-api/buffer.rst:537 msgid "" "On success, set ``view->obj`` to a new reference to *exporter* and return 0. " -"Otherwise, raise :c:data:`PyExc_BufferError`, set ``view->obj`` to ``NULL`` " -"and return ``-1``;" +"Otherwise, raise :exc:`BufferError`, set ``view->obj`` to ``NULL`` and " +"return ``-1``;" msgstr "" -"Em caso de sucesso, define ``view->obj`` para uma nova referência para " -"*exporter* e retorna 0. Caso contrário, levanta :c:data:`PyExc_BufferError`, " -"define ``view->obj`` para ``NULL`` e retorna ``-1``;" +"Em caso de sucesso, defina ``view->obj`` como um novo referência para " +"*exporter* e retorna 0. Caso contrário, levante :exc:`BufferError` , defina " +"``view->obj`` para ``NULL`` e retorne ``-1`` ;" -#: ../../c-api/buffer.rst:530 +#: ../../c-api/buffer.rst:541 msgid "" "If this function is used as part of a :ref:`getbufferproc `, " "*exporter* MUST be set to the exporting object and *flags* must be passed " @@ -949,32 +956,32 @@ msgstr "" #: ../../c-api/buffer.rst:3 msgid "buffer protocol" -msgstr "" +msgstr "protocolo de buffer" #: ../../c-api/buffer.rst:3 msgid "buffer interface" -msgstr "" +msgstr "interface de buffer" #: ../../c-api/buffer.rst:3 msgid "(see buffer protocol)" -msgstr "" +msgstr "(veja o protocolo de buffer)" #: ../../c-api/buffer.rst:3 msgid "buffer object" -msgstr "" +msgstr "objeto buffer" #: ../../c-api/buffer.rst:32 -msgid "PyBufferProcs" -msgstr "" +msgid "PyBufferProcs (C type)" +msgstr "PyBufferProcs (tipo C)" -#: ../../c-api/buffer.rst:284 +#: ../../c-api/buffer.rst:294 msgid "contiguous" msgstr "contíguo" -#: ../../c-api/buffer.rst:284 +#: ../../c-api/buffer.rst:294 msgid "C-contiguous" msgstr "contíguo C" -#: ../../c-api/buffer.rst:284 +#: ../../c-api/buffer.rst:294 msgid "Fortran contiguous" msgstr "contíguo Fortran" diff --git a/c-api/bytearray.po b/c-api/bytearray.po index 54da256f5..0f30abf56 100644 --- a/c-api/bytearray.po +++ b/c-api/bytearray.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# msilvavieira, 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/bytearray.rst:6 msgid "Byte Array Objects" -msgstr "Objetos Byte Array" +msgstr "Objetos byte array" #: ../../c-api/bytearray.rst:13 msgid "" @@ -69,8 +67,8 @@ msgstr "Funções diretas da API" #: ../../c-api/bytearray.rst:42 msgid "" -"Return a new bytearray object from any object, *o*, that implements the :ref:" -"`buffer protocol `." +"Return a new bytearray object from any object, *o*, that implements " +"the :ref:`buffer protocol `." msgstr "" "Retorna um novo objeto bytearray, *o*, que implementa o :ref:`protocolo de " "buffer`." @@ -101,7 +99,7 @@ msgid "" "``NULL`` pointer. The returned array always has an extra null byte appended." msgstr "" "Retorna o conteúdo de *bytearray* como uma matriz de caracteres após " -"verificar um ponteiro ``NULL``. A matriz retornada sempre tem um byte nulo " +"verificar um ponteiro ``NULL``. O array retornado sempre tem um byte nulo " "extra acrescentado." #: ../../c-api/bytearray.rst:71 @@ -131,4 +129,4 @@ msgstr "objeto" #: ../../c-api/bytearray.rst:8 msgid "bytearray" -msgstr "" +msgstr "bytearray" diff --git a/c-api/bytes.po b/c-api/bytes.po index 5640ad585..4a474bee1 100644 --- a/c-api/bytes.po +++ b/c-api/bytes.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Tiago Henrique , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Julio Gadioli Soares , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -118,8 +113,8 @@ msgid "Comment" msgstr "Comentário" #: ../../c-api/bytes.rst:70 -msgid ":attr:`%%`" -msgstr ":attr:`%%`" +msgid "``%%``" +msgstr "``%%``" #: ../../c-api/bytes.rst:70 msgid "*n/a*" @@ -130,8 +125,8 @@ msgid "The literal % character." msgstr "O caractere literal %." #: ../../c-api/bytes.rst:72 -msgid ":attr:`%c`" -msgstr ":attr:`%c`" +msgid "``%c``" +msgstr "``%c``" #: ../../c-api/bytes.rst:72 ../../c-api/bytes.rst:75 ../../c-api/bytes.rst:93 #: ../../c-api/bytes.rst:96 @@ -143,16 +138,16 @@ msgid "A single byte, represented as a C int." msgstr "Um único byte, representado como um C int." #: ../../c-api/bytes.rst:75 -msgid ":attr:`%d`" -msgstr ":attr:`%d`" +msgid "``%d``" +msgstr "``%d``" #: ../../c-api/bytes.rst:75 msgid "Equivalent to ``printf(\"%d\")``. [1]_" msgstr "Equivalente a ``printf(\"%d\")``. [1]_" #: ../../c-api/bytes.rst:78 -msgid ":attr:`%u`" -msgstr ":attr:`%u`" +msgid "``%u``" +msgstr "``%u``" #: ../../c-api/bytes.rst:78 msgid "unsigned int" @@ -163,8 +158,8 @@ msgid "Equivalent to ``printf(\"%u\")``. [1]_" msgstr "Equivalente a ``printf(\"%u\")``. [1]_" #: ../../c-api/bytes.rst:81 -msgid ":attr:`%ld`" -msgstr ":attr:`%ld`" +msgid "``%ld``" +msgstr "``%ld``" #: ../../c-api/bytes.rst:81 msgid "long" @@ -175,8 +170,8 @@ msgid "Equivalent to ``printf(\"%ld\")``. [1]_" msgstr "Equivalente a ``printf(\"%ld\")``. [1]_" #: ../../c-api/bytes.rst:84 -msgid ":attr:`%lu`" -msgstr ":attr:`%lu`" +msgid "``%lu``" +msgstr "``%lu``" #: ../../c-api/bytes.rst:84 msgid "unsigned long" @@ -187,8 +182,8 @@ msgid "Equivalent to ``printf(\"%lu\")``. [1]_" msgstr "Equivalente a ``printf(\"%lu\")``. [1]_" #: ../../c-api/bytes.rst:87 -msgid ":attr:`%zd`" -msgstr ":attr:`%zd`" +msgid "``%zd``" +msgstr "``%zd``" #: ../../c-api/bytes.rst:87 msgid ":c:type:`\\ Py_ssize_t`" @@ -199,8 +194,8 @@ msgid "Equivalent to ``printf(\"%zd\")``. [1]_" msgstr "Equivalente a ``printf(\"%zd\")``. [1]_" #: ../../c-api/bytes.rst:90 -msgid ":attr:`%zu`" -msgstr ":attr:`%zu`" +msgid "``%zu``" +msgstr "``%zu``" #: ../../c-api/bytes.rst:90 msgid "size_t" @@ -211,24 +206,24 @@ msgid "Equivalent to ``printf(\"%zu\")``. [1]_" msgstr "Equivalente a ``printf(\"%zu\")``. [1]_" #: ../../c-api/bytes.rst:93 -msgid ":attr:`%i`" -msgstr ":attr:`%i`" +msgid "``%i``" +msgstr "``%i``" #: ../../c-api/bytes.rst:93 msgid "Equivalent to ``printf(\"%i\")``. [1]_" msgstr "Equivalente a ``printf(\"%i\")``. [1]_" #: ../../c-api/bytes.rst:96 -msgid ":attr:`%x`" -msgstr ":attr:`%x`" +msgid "``%x``" +msgstr "``%x``" #: ../../c-api/bytes.rst:96 msgid "Equivalent to ``printf(\"%x\")``. [1]_" msgstr "Equivalente a ``printf(\"%x\")``. [1]_" #: ../../c-api/bytes.rst:99 -msgid ":attr:`%s`" -msgstr ":attr:`%s`" +msgid "``%s``" +msgstr "``%s``" #: ../../c-api/bytes.rst:99 msgid "const char\\*" @@ -239,8 +234,8 @@ msgid "A null-terminated C character array." msgstr "Uma matriz de caracteres C com terminação nula." #: ../../c-api/bytes.rst:102 -msgid ":attr:`%p`" -msgstr ":attr:`%p`" +msgid "``%p``" +msgstr "``%p``" #: ../../c-api/bytes.rst:102 msgid "const void\\*" @@ -304,8 +299,8 @@ msgid "" "buffer is always null, regardless of whether there are any other null " "bytes. The data must not be modified in any way, unless the object was just " "created using ``PyBytes_FromStringAndSize(NULL, size)``. It must not be " -"deallocated. If *o* is not a bytes object at all, :c:func:" -"`PyBytes_AsString` returns ``NULL`` and raises :exc:`TypeError`." +"deallocated. If *o* is not a bytes object at " +"all, :c:func:`PyBytes_AsString` returns ``NULL`` and raises :exc:`TypeError`." msgstr "" "Retorna um ponteiro para o conteúdo de *o*. O ponteiro se refere ao buffer " "interno de *o*, que consiste em ``len(o) + 1`` bytes. O último byte no " @@ -322,22 +317,22 @@ msgstr "Similar a :c:func:`PyBytes_AsString`, mas sem verificação de erro." #: ../../c-api/bytes.rst:159 msgid "" "Return the null-terminated contents of the object *obj* through the output " -"variables *buffer* and *length*." +"variables *buffer* and *length*. Returns ``0`` on success." msgstr "" "Retorna os conteúdos terminados nulos do objeto *obj* através das variáveis " -"de saída *buffer* e *length*." +"de saída *buffer* e *length*. Retorna ``0`` em caso de sucesso." -#: ../../c-api/bytes.rst:162 +#: ../../c-api/bytes.rst:163 msgid "" "If *length* is ``NULL``, the bytes object may not contain embedded null " "bytes; if it does, the function returns ``-1`` and a :exc:`ValueError` is " "raised." msgstr "" "Se *length* for ``NULL``, o objeto bytes não poderá conter bytes nulos " -"incorporados; se isso acontecer, a função retornará ``-1`` e a :exc:" -"`ValueError` será levantado." +"incorporados; se isso acontecer, a função retornará ``-1`` e " +"a :exc:`ValueError` será levantado." -#: ../../c-api/bytes.rst:166 +#: ../../c-api/bytes.rst:167 msgid "" "The buffer refers to an internal buffer of *obj*, which includes an " "additional null byte at the end (not counted in *length*). The data must " @@ -353,7 +348,7 @@ msgstr "" "Se *obj* não é um objeto bytes, :c:func:`PyBytes_AsStringAndSize` retorna " "``-1`` e levanta :exc:`TypeError`." -#: ../../c-api/bytes.rst:173 +#: ../../c-api/bytes.rst:174 msgid "" "Previously, :exc:`TypeError` was raised when embedded null bytes were " "encountered in the bytes object." @@ -361,7 +356,7 @@ msgstr "" "Anteriormente :exc:`TypeError` era levantado quando os bytes nulos " "incorporados eram encontrados no objeto bytes." -#: ../../c-api/bytes.rst:180 +#: ../../c-api/bytes.rst:181 msgid "" "Create a new bytes object in *\\*bytes* containing the contents of *newpart* " "appended to *bytes*; the caller will own the new reference. The reference " @@ -376,17 +371,17 @@ msgstr "" "valor de *\\*bytes* será definido como ``NULL``; a exceção apropriada será " "definida." -#: ../../c-api/bytes.rst:189 +#: ../../c-api/bytes.rst:190 msgid "" "Create a new bytes object in *\\*bytes* containing the contents of *newpart* " -"appended to *bytes*. This version decrements the reference count of " -"*newpart*." +"appended to *bytes*. This version releases the :term:`strong reference` to " +"*newpart* (i.e. decrements its reference count)." msgstr "" -"Cria um novo objeto bytes em *\\*bytes* contendo o conteúdo de *newpart* " -"anexado a *bytes*. Esta versão diminui a contagem de referências de " -"*newpart*." +"\"Crie um novo objeto bytes em *\\*bytes* contendo o conteúdo de newpart " +"anexado a bytes. Esta versão libera a :term:`strong reference` (referência " +"forte) para newpart (ou seja, decrementa a contagem de referências a ele).\"" -#: ../../c-api/bytes.rst:196 +#: ../../c-api/bytes.rst:197 msgid "" "A way to resize a bytes object even though it is \"immutable\". Only use " "this to build up a brand new bytes object; don't use this if the bytes may " @@ -416,4 +411,4 @@ msgstr "objeto" #: ../../c-api/bytes.rst:11 msgid "bytes" -msgstr "" +msgstr "bytes" diff --git a/c-api/call.po b/c-api/call.po index 2d0d9079b..d562a28a2 100644 --- a/c-api/call.po +++ b/c-api/call.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Alexandre B A Villares, 2021 -# Renan Lopes , 2021 -# Flávio Neves, 2022 -# Ana Carolina Dias, 2022 -# Mozart Dias Martins, 2023 -# Adorilson Bezerra , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -60,26 +53,27 @@ msgid "" msgstr "" "Uma chamada é feita usando uma tupla para os argumentos posicionais e um " "dicionário para os argumentos nomeados, similar a ``callable(*args, " -"**kwargs)`` em Python. *args* não pode ser nulo (utilize uma tupla vazia se " +"**kwargs)`` no Python. *args* não pode ser nulo (utilize uma tupla vazia se " "não houver argumentos), mas *kwargs* pode ser *NULL* se não houver " "argumentos nomeados." #: ../../c-api/call.rst:25 msgid "" -"This convention is not only used by *tp_call*: :c:member:`~PyTypeObject." -"tp_new` and :c:member:`~PyTypeObject.tp_init` also pass arguments this way." +"This convention is not only used by " +"*tp_call*: :c:member:`~PyTypeObject.tp_new` " +"and :c:member:`~PyTypeObject.tp_init` also pass arguments this way." msgstr "" -"Esta convenção não é somente usada por *tp_call*: :c:member:`~PyTypeObject." -"tp_new` e :c:member:`~PyTypeObject.tp_init` também passam argumento dessa " -"forma." +"Esta convenção não é somente usada por " +"*tp_call*: :c:member:`~PyTypeObject.tp_new` " +"e :c:member:`~PyTypeObject.tp_init` também passam argumento dessa forma." #: ../../c-api/call.rst:29 msgid "" "To call an object, use :c:func:`PyObject_Call` or another :ref:`call API " "`." msgstr "" -"Para chamar um objeto, use :c:func:`PyObject_Call` ou outra :ref:`call API " -"`." +"Para chamar um objeto, use :c:func:`PyObject_Call` ou outra :ref:`API de " +"chamada `." #: ../../c-api/call.rst:36 msgid "The Vectorcall Protocol" @@ -97,30 +91,31 @@ msgstr "" msgid "" "As rule of thumb, CPython will prefer the vectorcall for internal calls if " "the callable supports it. However, this is not a hard rule. Additionally, " -"some third-party extensions use *tp_call* directly (rather than using :c:" -"func:`PyObject_Call`). Therefore, a class supporting vectorcall must also " -"implement :c:member:`~PyTypeObject.tp_call`. Moreover, the callable must " -"behave the same regardless of which protocol is used. The recommended way to " -"achieve this is by setting :c:member:`~PyTypeObject.tp_call` to :c:func:" -"`PyVectorcall_Call`. This bears repeating:" -msgstr "" -"Como regra de bolso. CPython vai preferir o vectorcall para invocações " -"internas se o chamável suportar. Entretanto, isso não é uma regra rígida. " -"Ademais, alguma extensões de terceiros usam diretamente *tp_call* (em vez " -"de utilizar :c:func:`PyObject_Call`). Portanto, uma classe que suporta " +"some third-party extensions use *tp_call* directly (rather than " +"using :c:func:`PyObject_Call`). Therefore, a class supporting vectorcall " +"must also implement :c:member:`~PyTypeObject.tp_call`. Moreover, the " +"callable must behave the same regardless of which protocol is used. The " +"recommended way to achieve this is by " +"setting :c:member:`~PyTypeObject.tp_call` to :c:func:`PyVectorcall_Call`. " +"This bears repeating:" +msgstr "" +"Como regra de ouro, CPython vai preferir o vectorcall para chamadas internas " +"se o chamável suportar. Entretanto, isso não é uma regra rígida. Ademais, " +"alguma extensões de terceiros usam *tp_call* diretamente (em vez de " +"utilizar :c:func:`PyObject_Call`). Portanto, uma classe que suporta " "vectorcall precisa também implementar :c:member:`~PyTypeObject.tp_call`. " "Além disso, o chamável precisa se comportar da mesma forma independe de qual " -"protocolo é utilizado. A forma recomendada de alcançar isso é definindo :c:" -"member:`~PyTypeObject.tp_call` para :c:func:`PyVectorcall_Call`. Vale a pena " -"repetir:" +"protocolo é utilizado. A forma recomendada de alcançar isso é " +"definindo :c:member:`~PyTypeObject.tp_call` " +"para :c:func:`PyVectorcall_Call`. Vale a pena repetir:" #: ../../c-api/call.rst:57 msgid "" -"A class supporting vectorcall **must** also implement :c:member:" -"`~PyTypeObject.tp_call` with the same semantics." +"A class supporting vectorcall **must** also " +"implement :c:member:`~PyTypeObject.tp_call` with the same semantics." msgstr "" -"Uma classe que suporte vectorcall também **precisa** implementar :c:member:" -"`~PyTypeObject.tp_call` com a mesma semântica." +"Uma classe que suporte vectorcall também **precisa** " +"implementar :c:member:`~PyTypeObject.tp_call` com a mesma semântica." #: ../../c-api/call.rst:60 msgid "" @@ -136,17 +131,17 @@ msgstr "" #: ../../c-api/call.rst:65 msgid "" -"Classes can implement the vectorcall protocol by enabling the :const:" -"`Py_TPFLAGS_HAVE_VECTORCALL` flag and setting :c:member:`~PyTypeObject." -"tp_vectorcall_offset` to the offset inside the object structure where a " -"*vectorcallfunc* appears. This is a pointer to a function with the following " -"signature:" +"Classes can implement the vectorcall protocol by enabling " +"the :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` flag and " +"setting :c:member:`~PyTypeObject.tp_vectorcall_offset` to the offset inside " +"the object structure where a *vectorcallfunc* appears. This is a pointer to " +"a function with the following signature:" msgstr "" -"Classes podem implementar o protocolo vectorcall ativando o sinalizador :" -"const:`Py_TPFLAGS_HAVE_VECTORCALL` e configurando :c:member:`~PyTypeObject." -"tp_vectorcall_offset` para o offset dentro da estrutura do objeto onde uma " -"*vectorcallfunc* aparece. Este é um ponteiro para uma função com a seguinte " -"assinatura:" +"Classes podem implementar o protocolo vectorcall ativando o " +"sinalizador :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` e " +"configurando :c:member:`~PyTypeObject.tp_vectorcall_offset` para o offset " +"dentro da estrutura do objeto onde uma *vectorcallfunc* aparece. Este é um " +"ponteiro para uma função com a seguinte assinatura:" #: ../../c-api/call.rst:73 msgid "*callable* is the object being called." @@ -171,10 +166,10 @@ msgstr "*nargsf* é o número de argumentos posicionais somado á possível" #: ../../c-api/call.rst:78 msgid "" -":const:`PY_VECTORCALL_ARGUMENTS_OFFSET` flag. To get the actual number of " +":c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET` flag. To get the actual number of " "positional arguments from *nargsf*, use :c:func:`PyVectorcall_NARGS`." msgstr "" -"Sinalizador :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Para obter o número " +"Sinalizador :c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Para obter o número " "real de argumentos posicionais de *nargsf*, use :c:func:`PyVectorcall_NARGS`." #: ../../c-api/call.rst:85 @@ -214,26 +209,27 @@ msgstr "" #: ../../c-api/call.rst:97 msgid "" "Whenever they can do so cheaply (without additional allocation), callers are " -"encouraged to use :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Doing so will " +"encouraged to use :c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Doing so will " "allow callables such as bound methods to make their onward calls (which " "include a prepended *self* argument) very efficiently." msgstr "" "Sempre que podem realizar a um custo tão baixo (sem alocações adicionais), " -"invocadores são encorajados a usar :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`. " -"Isso permitirá invocados como métodos vinculados a instâncias fazerem suas " -"próprias invocações (o que inclui um argumento *self*) muito eficientemente." +"invocadores são encorajados a " +"usar :c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET`. Isso permitirá invocados " +"como métodos vinculados a instâncias fazerem suas próprias invocações (o que " +"inclui um argumento *self*) muito eficientemente." -#: ../../c-api/call.rst:102 +#: ../../c-api/call.rst:104 msgid "" "To call an object that implements vectorcall, use a :ref:`call API ` function as with any other callable. :c:func:`PyObject_Vectorcall` " "will usually be most efficient." msgstr "" -"Para invocar um objeto que implementa vectorcall, utilize a função :ref:" -"`call API ` como qualquer outra invocável. :c:func:" -"`PyObject_Vectorcall` será normalmente mais eficiente." +"Para invocar um objeto que implementa vectorcall, utilize a " +"função :ref:`call API ` como qualquer outra " +"invocável. :c:func:`PyObject_Vectorcall` será normalmente mais eficiente." -#: ../../c-api/call.rst:109 +#: ../../c-api/call.rst:111 msgid "" "In CPython 3.8, the vectorcall API and related functions were available " "provisionally under names with a leading underscore: " @@ -253,21 +249,22 @@ msgstr "" "estava disponível como ``_PyObject_FastCallDict``. Os nomes antigos ainda " "estão definidos como apelidos para os novos nomes sem o sublinhado." -#: ../../c-api/call.rst:121 +#: ../../c-api/call.rst:123 msgid "Recursion Control" msgstr "Controle de recursão" -#: ../../c-api/call.rst:123 +#: ../../c-api/call.rst:125 msgid "" "When using *tp_call*, callees do not need to worry about :ref:`recursion " -"`: CPython uses :c:func:`Py_EnterRecursiveCall` and :c:func:" -"`Py_LeaveRecursiveCall` for calls made using *tp_call*." +"`: CPython uses :c:func:`Py_EnterRecursiveCall` " +"and :c:func:`Py_LeaveRecursiveCall` for calls made using *tp_call*." msgstr "" -"Quando utilizando *tp_call*, invocadores não precisam se preocupar sobre :" -"ref:`recursão `: CPython usa :c:func:`Py_EnterRecursiveCall` e :c:" -"func:`Py_LeaveRecursiveCall` para chamadas utilizando *tp_call*." +"Quando utilizando *tp_call*, invocadores não precisam se preocupar " +"sobre :ref:`recursão `: CPython " +"usa :c:func:`Py_EnterRecursiveCall` e :c:func:`Py_LeaveRecursiveCall` para " +"chamadas utilizando *tp_call*." -#: ../../c-api/call.rst:128 +#: ../../c-api/call.rst:130 msgid "" "For efficiency, this is not the case for calls done using vectorcall: the " "callee should use *Py_EnterRecursiveCall* and *Py_LeaveRecursiveCall* if " @@ -277,11 +274,11 @@ msgstr "" "vectorcall: o que chama deve utilizar *Py_EnterRecursiveCall* e " "*Py_LeaveRecursiveCall* se necessário." -#: ../../c-api/call.rst:134 +#: ../../c-api/call.rst:136 msgid "Vectorcall Support API" msgstr "API de suporte à chamada de vetores" -#: ../../c-api/call.rst:138 +#: ../../c-api/call.rst:140 msgid "" "Given a vectorcall *nargsf* argument, return the actual number of arguments. " "Currently equivalent to::" @@ -289,7 +286,7 @@ msgstr "" "Dado um argumento de chamada de vetor *nargsf*, retorna o número real de " "argumentos. Atualmente equivalente a::" -#: ../../c-api/call.rst:144 +#: ../../c-api/call.rst:146 msgid "" "However, the function ``PyVectorcall_NARGS`` should be used to allow for " "future extensions." @@ -297,7 +294,7 @@ msgstr "" "Entretanto, a função ``PyVectorcall_NARGS`` deve ser usada para permitir " "para futuras extensões." -#: ../../c-api/call.rst:151 +#: ../../c-api/call.rst:153 msgid "" "If *op* does not support the vectorcall protocol (either because the type " "does not or because the specific instance does not), return *NULL*. " @@ -309,7 +306,7 @@ msgstr "" "ponteiro da função chamada de vetor armazenado em *op*. Esta função nunca " "levanta uma exceção." -#: ../../c-api/call.rst:156 +#: ../../c-api/call.rst:158 msgid "" "This is mostly useful to check whether or not *op* supports vectorcall, " "which can be done by checking ``PyVectorcall_Function(op) != NULL``." @@ -317,7 +314,7 @@ msgstr "" "É mais útil checar se *op* suporta ou não chamada de vetor, o que pode ser " "feito checando ``PyVectorcall_Function(op) != NULL``." -#: ../../c-api/call.rst:163 +#: ../../c-api/call.rst:165 msgid "" "Call *callable*'s :c:type:`vectorcallfunc` with positional and keyword " "arguments given in a tuple and dict, respectively." @@ -325,23 +322,24 @@ msgstr "" "Chama o :c:type:`vectorcallfunc` de *callable* com argumentos posicionais e " "nomeados dados em uma tupla e dicionário, respectivamente." -#: ../../c-api/call.rst:166 +#: ../../c-api/call.rst:168 msgid "" -"This is a specialized function, intended to be put in the :c:member:" -"`~PyTypeObject.tp_call` slot or be used in an implementation of ``tp_call``. " -"It does not check the :const:`Py_TPFLAGS_HAVE_VECTORCALL` flag and it does " -"not fall back to ``tp_call``." +"This is a specialized function, intended to be put in " +"the :c:member:`~PyTypeObject.tp_call` slot or be used in an implementation " +"of ``tp_call``. It does not check the :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` " +"flag and it does not fall back to ``tp_call``." msgstr "" -"Esta é uma função especializada, feita para ser colocada no slot :c:member:" -"`~PyTypeObject.tp_call` ou usada em uma implementação de ``tp_call``. Ela " -"não verifica o sinalizador :const:`Py_TPFLAGS_HAVE_VECTORCALL` e não retorna " -"para ``tp_call``." +"Esta é uma função especializada, feita para ser colocada no " +"slot :c:member:`~PyTypeObject.tp_call` ou usada em uma implementação de " +"``tp_call``. Ela não verifica o " +"sinalizador :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` e não retorna para " +"``tp_call``." -#: ../../c-api/call.rst:177 +#: ../../c-api/call.rst:179 msgid "Object Calling API" msgstr "API de chamada de objetos" -#: ../../c-api/call.rst:179 +#: ../../c-api/call.rst:181 msgid "" "Various functions are available for calling a Python object. Each converts " "its arguments to a convention supported by the called object – either " @@ -354,7 +352,7 @@ msgstr "" "conversões, escolha um que melhor se adapte ao formato de dados que você tem " "disponível." -#: ../../c-api/call.rst:185 +#: ../../c-api/call.rst:187 msgid "" "The following table summarizes the available functions; please see " "individual documentation for details." @@ -362,127 +360,127 @@ msgstr "" "A tabela a seguir resume as funções disponíveis; por favor, veja a " "documentação individual para detalhes." -#: ../../c-api/call.rst:189 +#: ../../c-api/call.rst:191 msgid "Function" msgstr "Função" -#: ../../c-api/call.rst:189 +#: ../../c-api/call.rst:191 msgid "callable" msgstr "chamável" -#: ../../c-api/call.rst:189 +#: ../../c-api/call.rst:191 msgid "args" msgstr "args" -#: ../../c-api/call.rst:189 +#: ../../c-api/call.rst:191 msgid "kwargs" msgstr "kwargs" -#: ../../c-api/call.rst:191 +#: ../../c-api/call.rst:193 msgid ":c:func:`PyObject_Call`" msgstr ":c:func:`PyObject_Call`" -#: ../../c-api/call.rst:191 ../../c-api/call.rst:193 ../../c-api/call.rst:195 -#: ../../c-api/call.rst:197 ../../c-api/call.rst:199 ../../c-api/call.rst:203 -#: ../../c-api/call.rst:211 ../../c-api/call.rst:213 +#: ../../c-api/call.rst:193 ../../c-api/call.rst:195 ../../c-api/call.rst:197 +#: ../../c-api/call.rst:199 ../../c-api/call.rst:201 ../../c-api/call.rst:205 +#: ../../c-api/call.rst:213 ../../c-api/call.rst:215 msgid "``PyObject *``" msgstr "``PyObject *``" -#: ../../c-api/call.rst:191 +#: ../../c-api/call.rst:193 msgid "tuple" msgstr "tupla" -#: ../../c-api/call.rst:191 ../../c-api/call.rst:213 +#: ../../c-api/call.rst:193 ../../c-api/call.rst:215 msgid "dict/``NULL``" msgstr "dict/``NULL``" -#: ../../c-api/call.rst:193 +#: ../../c-api/call.rst:195 msgid ":c:func:`PyObject_CallNoArgs`" msgstr ":c:func:`PyObject_CallNoArgs`" -#: ../../c-api/call.rst:193 ../../c-api/call.rst:195 ../../c-api/call.rst:197 -#: ../../c-api/call.rst:199 ../../c-api/call.rst:201 ../../c-api/call.rst:203 -#: ../../c-api/call.rst:205 ../../c-api/call.rst:207 ../../c-api/call.rst:209 +#: ../../c-api/call.rst:195 ../../c-api/call.rst:197 ../../c-api/call.rst:199 +#: ../../c-api/call.rst:201 ../../c-api/call.rst:203 ../../c-api/call.rst:205 +#: ../../c-api/call.rst:207 ../../c-api/call.rst:209 ../../c-api/call.rst:211 msgid "---" msgstr "---" -#: ../../c-api/call.rst:195 +#: ../../c-api/call.rst:197 msgid ":c:func:`PyObject_CallOneArg`" msgstr ":c:func:`PyObject_CallOneArg`" -#: ../../c-api/call.rst:195 ../../c-api/call.rst:209 +#: ../../c-api/call.rst:197 ../../c-api/call.rst:211 msgid "1 object" msgstr "1 objeto" -#: ../../c-api/call.rst:197 +#: ../../c-api/call.rst:199 msgid ":c:func:`PyObject_CallObject`" msgstr ":c:func:`PyObject_CallObject`" -#: ../../c-api/call.rst:197 +#: ../../c-api/call.rst:199 msgid "tuple/``NULL``" msgstr "tupla/``NULL``" -#: ../../c-api/call.rst:199 +#: ../../c-api/call.rst:201 msgid ":c:func:`PyObject_CallFunction`" msgstr ":c:func:`PyObject_CallFunction`" -#: ../../c-api/call.rst:199 ../../c-api/call.rst:201 +#: ../../c-api/call.rst:201 ../../c-api/call.rst:203 msgid "format" -msgstr "formato" +msgstr "format" -#: ../../c-api/call.rst:201 +#: ../../c-api/call.rst:203 msgid ":c:func:`PyObject_CallMethod`" msgstr ":c:func:`PyObject_CallMethod`" -#: ../../c-api/call.rst:201 +#: ../../c-api/call.rst:203 msgid "obj + ``char*``" msgstr "obj + ``char*``" -#: ../../c-api/call.rst:203 +#: ../../c-api/call.rst:205 msgid ":c:func:`PyObject_CallFunctionObjArgs`" msgstr ":c:func:`PyObject_CallFunctionObjArgs`" -#: ../../c-api/call.rst:203 ../../c-api/call.rst:205 +#: ../../c-api/call.rst:205 ../../c-api/call.rst:207 msgid "variadic" msgstr "variádica" -#: ../../c-api/call.rst:205 +#: ../../c-api/call.rst:207 msgid ":c:func:`PyObject_CallMethodObjArgs`" msgstr ":c:func:`PyObject_CallMethodObjArgs`" -#: ../../c-api/call.rst:205 ../../c-api/call.rst:207 ../../c-api/call.rst:209 +#: ../../c-api/call.rst:207 ../../c-api/call.rst:209 ../../c-api/call.rst:211 msgid "obj + name" msgstr "obj + nome" -#: ../../c-api/call.rst:207 +#: ../../c-api/call.rst:209 msgid ":c:func:`PyObject_CallMethodNoArgs`" msgstr ":c:func:`PyObject_CallMethodNoArgs`" -#: ../../c-api/call.rst:209 +#: ../../c-api/call.rst:211 msgid ":c:func:`PyObject_CallMethodOneArg`" msgstr ":c:func:`PyObject_CallMethodOneArg`" -#: ../../c-api/call.rst:211 +#: ../../c-api/call.rst:213 msgid ":c:func:`PyObject_Vectorcall`" msgstr ":c:func:`PyObject_Vectorcall`" -#: ../../c-api/call.rst:211 ../../c-api/call.rst:213 ../../c-api/call.rst:215 +#: ../../c-api/call.rst:213 ../../c-api/call.rst:215 ../../c-api/call.rst:217 msgid "vectorcall" msgstr "vectorcall" -#: ../../c-api/call.rst:213 +#: ../../c-api/call.rst:215 msgid ":c:func:`PyObject_VectorcallDict`" msgstr ":c:func:`PyObject_VectorcallDict`" -#: ../../c-api/call.rst:215 +#: ../../c-api/call.rst:217 msgid ":c:func:`PyObject_VectorcallMethod`" msgstr ":c:func:`PyObject_VectorcallMethod`" -#: ../../c-api/call.rst:215 +#: ../../c-api/call.rst:217 msgid "arg + name" msgstr "arg + nome" -#: ../../c-api/call.rst:221 +#: ../../c-api/call.rst:223 msgid "" "Call a callable Python object *callable*, with arguments given by the tuple " "*args*, and named arguments given by the dictionary *kwargs*." @@ -490,7 +488,7 @@ msgstr "" "Chama um objeto Python chamável de *callable*, com argumentos dados pela " "tupla *args*, e argumentos nomeados dados pelo dicionário *kwargs*." -#: ../../c-api/call.rst:224 +#: ../../c-api/call.rst:226 msgid "" "*args* must not be *NULL*; use an empty tuple if no arguments are needed. If " "no named arguments are needed, *kwargs* can be *NULL*." @@ -499,10 +497,10 @@ msgstr "" "argumentos. Se nenhum argumento nomeado é necessário, *kwargs* pode ser " "*NULL*." -#: ../../c-api/call.rst:227 ../../c-api/call.rst:239 ../../c-api/call.rst:250 -#: ../../c-api/call.rst:261 ../../c-api/call.rst:273 ../../c-api/call.rst:293 -#: ../../c-api/call.rst:312 ../../c-api/call.rst:326 ../../c-api/call.rst:335 -#: ../../c-api/call.rst:347 ../../c-api/call.rst:360 ../../c-api/call.rst:394 +#: ../../c-api/call.rst:229 ../../c-api/call.rst:241 ../../c-api/call.rst:252 +#: ../../c-api/call.rst:263 ../../c-api/call.rst:275 ../../c-api/call.rst:295 +#: ../../c-api/call.rst:314 ../../c-api/call.rst:328 ../../c-api/call.rst:337 +#: ../../c-api/call.rst:349 ../../c-api/call.rst:362 ../../c-api/call.rst:396 msgid "" "Return the result of the call on success, or raise an exception and return " "*NULL* on failure." @@ -510,14 +508,14 @@ msgstr "" "Retorna o resultado da chamada em sucesso, ou levanta uma exceção e retorna " "*NULL* em caso de falha." -#: ../../c-api/call.rst:230 +#: ../../c-api/call.rst:232 msgid "" "This is the equivalent of the Python expression: ``callable(*args, " "**kwargs)``." msgstr "" "Esse é o equivalente da expressão Python: ``callable(*args, **kwargs)``." -#: ../../c-api/call.rst:236 +#: ../../c-api/call.rst:238 msgid "" "Call a callable Python object *callable* without any arguments. It is the " "most efficient way to call a callable Python object without any argument." @@ -525,7 +523,7 @@ msgstr "" "Chama um objeto Python chamável de *callable* sem nenhum argumento. É o " "jeito mais eficiente de chamar um objeto Python sem nenhum argumento." -#: ../../c-api/call.rst:247 +#: ../../c-api/call.rst:249 msgid "" "Call a callable Python object *callable* with exactly 1 positional argument " "*arg* and no keyword arguments." @@ -533,7 +531,7 @@ msgstr "" "Chama um objeto Python chamável de *callable* com exatamente 1 argumento " "posicional *arg* e nenhum argumento nomeado." -#: ../../c-api/call.rst:258 +#: ../../c-api/call.rst:260 msgid "" "Call a callable Python object *callable*, with arguments given by the tuple " "*args*. If no arguments are needed, then *args* can be *NULL*." @@ -541,11 +539,11 @@ msgstr "" "Chama um objeto Python chamável de *callable* com argumentos dados pela " "tupla *args*. Se nenhum argumento é necessário, *args* pode ser *NULL*." -#: ../../c-api/call.rst:264 ../../c-api/call.rst:276 +#: ../../c-api/call.rst:266 ../../c-api/call.rst:278 msgid "This is the equivalent of the Python expression: ``callable(*args)``." msgstr "Este é o equivalente da expressão Python: ``callable(*args)``." -#: ../../c-api/call.rst:269 +#: ../../c-api/call.rst:271 msgid "" "Call a callable Python object *callable*, with a variable number of C " "arguments. The C arguments are described using a :c:func:`Py_BuildValue` " @@ -557,81 +555,81 @@ msgstr "" "formato :c:func:`Py_BuildValue`. O formato pode ser *NULL*, indicando que " "nenhum argumento foi provido." -#: ../../c-api/call.rst:278 +#: ../../c-api/call.rst:280 msgid "" -"Note that if you only pass :c:expr:`PyObject *` args, :c:func:" -"`PyObject_CallFunctionObjArgs` is a faster alternative." +"Note that if you only pass :c:expr:`PyObject *` " +"args, :c:func:`PyObject_CallFunctionObjArgs` is a faster alternative." msgstr "" -"Note que se você apenas passa argumentos :c:expr:`PyObject *`, :c:func:" -"`PyObject_CallFunctionObjArgs` é uma alternativa mais rápida." +"Note que se você apenas passa argumentos :c:expr:`PyObject " +"*`, :c:func:`PyObject_CallFunctionObjArgs` é uma alternativa mais rápida." -#: ../../c-api/call.rst:281 +#: ../../c-api/call.rst:283 msgid "The type of *format* was changed from ``char *``." msgstr "O tipo de *format* foi mudado de ``char *``." -#: ../../c-api/call.rst:287 +#: ../../c-api/call.rst:289 msgid "" "Call the method named *name* of object *obj* with a variable number of C " "arguments. The C arguments are described by a :c:func:`Py_BuildValue` " "format string that should produce a tuple." msgstr "" -"Chame o método chamado *name* do objeto *obj* com um número variável de " -"argumentos C. Os argumentos C são descritos com uma string de formato :c:" -"func:`Py_BuildValue` que deve produzir uma tupla." +"Chama o método chamado *name* do objeto *obj* com um número variável de " +"argumentos C. Os argumentos C são descritos com uma string de " +"formato :c:func:`Py_BuildValue` que deve produzir uma tupla." -#: ../../c-api/call.rst:291 +#: ../../c-api/call.rst:293 msgid "The format can be *NULL*, indicating that no arguments are provided." msgstr "O formato pode ser *NULL*, indicado que nenhum argumento foi provido." -#: ../../c-api/call.rst:296 +#: ../../c-api/call.rst:298 msgid "" "This is the equivalent of the Python expression: ``obj.name(arg1, " "arg2, ...)``." msgstr "" "Este é o equivalente da expressão Python: ``obj.name(arg1, arg2, ...)``." -#: ../../c-api/call.rst:299 +#: ../../c-api/call.rst:301 msgid "" -"Note that if you only pass :c:expr:`PyObject *` args, :c:func:" -"`PyObject_CallMethodObjArgs` is a faster alternative." +"Note that if you only pass :c:expr:`PyObject *` " +"args, :c:func:`PyObject_CallMethodObjArgs` is a faster alternative." msgstr "" -"Note que se você apenas passa argumentos :c:expr:`PyObject *`, :c:func:" -"`PyObject_CallMethodObjArgs` é uma alternativa mais rápida." +"Note que se você apenas passa argumentos :c:expr:`PyObject " +"*`, :c:func:`PyObject_CallMethodObjArgs` é uma alternativa mais rápida." -#: ../../c-api/call.rst:302 +#: ../../c-api/call.rst:304 msgid "The types of *name* and *format* were changed from ``char *``." msgstr "Os tipos de *name* e *format* foram mudados de ``char *``." -#: ../../c-api/call.rst:308 +#: ../../c-api/call.rst:310 msgid "" -"Call a callable Python object *callable*, with a variable number of :c:expr:" -"`PyObject *` arguments. The arguments are provided as a variable number of " -"parameters followed by *NULL*." +"Call a callable Python object *callable*, with a variable number " +"of :c:expr:`PyObject *` arguments. The arguments are provided as a variable " +"number of parameters followed by *NULL*." msgstr "" "Chama um objeto Python chamável de *callable*, com um número variável de " "argumentos :c:expr:`PyObject *`. Os argumentos são providos como um número " "variável de parâmetros seguidos por um *NULL*." -#: ../../c-api/call.rst:315 +#: ../../c-api/call.rst:317 msgid "" "This is the equivalent of the Python expression: ``callable(arg1, " "arg2, ...)``." msgstr "" "Este é o equivalente da expressão Python: ``callable(arg1, arg2, ...)``." -#: ../../c-api/call.rst:321 +#: ../../c-api/call.rst:323 msgid "" "Call a method of the Python object *obj*, where the name of the method is " "given as a Python string object in *name*. It is called with a variable " "number of :c:expr:`PyObject *` arguments. The arguments are provided as a " "variable number of parameters followed by *NULL*." msgstr "" -"Chame um método do objeto Python *obj*, onde o nome do método é dado como um " +"Chama um método do objeto Python *obj*, onde o nome do método é dado como um " "objeto string Python em *name*. É chamado com um número variável de " "argumentos :c:expr:`PyObject *`. Os argumentos são providos como um número " "variável de parâmetros seguidos por um *NULL*." -#: ../../c-api/call.rst:332 +#: ../../c-api/call.rst:334 msgid "" "Call a method of the Python object *obj* without arguments, where the name " "of the method is given as a Python string object in *name*." @@ -639,7 +637,7 @@ msgstr "" "Chama um método do objeto Python *obj* sem argumentos, onde o nome do método " "é fornecido como um objeto string do Python em *name*." -#: ../../c-api/call.rst:343 +#: ../../c-api/call.rst:345 msgid "" "Call a method of the Python object *obj* with a single positional argument " "*arg*, where the name of the method is given as a Python string object in " @@ -648,17 +646,17 @@ msgstr "" "Chama um método do objeto Python *obj* com um argumento posicional *arg*, " "onde o nome do método é fornecido como um objeto string do Python em *name*." -#: ../../c-api/call.rst:355 +#: ../../c-api/call.rst:357 msgid "" -"Call a callable Python object *callable*. The arguments are the same as for :" -"c:type:`vectorcallfunc`. If *callable* supports vectorcall_, this directly " -"calls the vectorcall function stored in *callable*." +"Call a callable Python object *callable*. The arguments are the same as " +"for :c:type:`vectorcallfunc`. If *callable* supports vectorcall_, this " +"directly calls the vectorcall function stored in *callable*." msgstr "" -"Chama um objeto Python chamável *callable*. Os argumentos são os mesmos de :" -"c:type:`vectorcallfunc`. Se *callable* tiver suporte a vectorcall_, isso " +"Chama um objeto Python chamável *callable*. Os argumentos são os mesmos " +"de :c:type:`vectorcallfunc`. Se *callable* tiver suporte a vectorcall_, isso " "chamará diretamente a função vectorcall armazenada em *callable*." -#: ../../c-api/call.rst:367 +#: ../../c-api/call.rst:369 msgid "" "Call *callable* with positional arguments passed exactly as in the " "vectorcall_ protocol, but with keyword arguments passed as a dictionary " @@ -668,7 +666,7 @@ msgstr "" "protocolo vectorcall_, mas com argumentos nomeados passados como um " "dicionário *kwdict*. O array *args* contém apenas os argumentos posicionais." -#: ../../c-api/call.rst:371 +#: ../../c-api/call.rst:373 msgid "" "Regardless of which protocol is used internally, a conversion of arguments " "needs to be done. Therefore, this function should only be used if the caller " @@ -680,40 +678,40 @@ msgstr "" "chamador já tiver um dicionário pronto para usar para os argumentos " "nomeados, mas não uma tupla para os argumentos posicionais." -#: ../../c-api/call.rst:381 +#: ../../c-api/call.rst:383 msgid "" "Call a method using the vectorcall calling convention. The name of the " "method is given as a Python string *name*. The object whose method is called " "is *args[0]*, and the *args* array starting at *args[1]* represents the " "arguments of the call. There must be at least one positional argument. " -"*nargsf* is the number of positional arguments including *args[0]*, plus :" -"const:`PY_VECTORCALL_ARGUMENTS_OFFSET` if the value of ``args[0]`` may " -"temporarily be changed. Keyword arguments can be passed just like in :c:func:" -"`PyObject_Vectorcall`." +"*nargsf* is the number of positional arguments including *args[0]*, " +"plus :c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET` if the value of ``args[0]`` " +"may temporarily be changed. Keyword arguments can be passed just like " +"in :c:func:`PyObject_Vectorcall`." msgstr "" "Chama um método usando a convenção de chamada vectorcall. O nome do método é " "dado como uma string Python *name*. O objeto cujo método é chamado é " "*args[0]*, e o array *args* começando em *args[1]* representa os argumentos " "da chamada. Deve haver pelo menos um argumento posicional. *nargsf* é o " -"número de argumentos posicionais incluindo *args[0]*, mais :const:" -"`PY_VECTORCALL_ARGUMENTS_OFFSET` se o valor de ``args[0]`` puder ser " -"alterado temporariamente. Argumentos nomeados podem ser passados como em :c:" -"func:`PyObject_Vectorcall`." +"número de argumentos posicionais incluindo *args[0]*, " +"mais :c:macro:`PY_VECTORCALL_ARGUMENTS_OFFSET` se o valor de ``args[0]`` " +"puder ser alterado temporariamente. Argumentos nomeados podem ser passados " +"como em :c:func:`PyObject_Vectorcall`." -#: ../../c-api/call.rst:390 +#: ../../c-api/call.rst:392 msgid "" -"If the object has the :const:`Py_TPFLAGS_METHOD_DESCRIPTOR` feature, this " +"If the object has the :c:macro:`Py_TPFLAGS_METHOD_DESCRIPTOR` feature, this " "will call the unbound method object with the full *args* vector as arguments." msgstr "" -"Se o objeto tem o recurso :const:`Py_TPFLAGS_METHOD_DESCRIPTOR`, isso irá " +"Se o objeto tem o recurso :c:macro:`Py_TPFLAGS_METHOD_DESCRIPTOR`, isso irá " "chamar o objeto de método não vinculado com o vetor *args* inteiro como " "argumentos." -#: ../../c-api/call.rst:401 +#: ../../c-api/call.rst:403 msgid "Call Support API" msgstr "API de suporte a chamadas" -#: ../../c-api/call.rst:405 +#: ../../c-api/call.rst:407 msgid "" "Determine if the object *o* is callable. Return ``1`` if the object is " "callable and ``0`` otherwise. This function always succeeds." diff --git a/c-api/capsule.po b/c-api/capsule.po index ddbe324fe..9ae1a5196 100644 --- a/c-api/capsule.po +++ b/c-api/capsule.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -45,8 +44,8 @@ msgid "" "loaded modules." msgstr "" "Este subtipo de :c:type:`PyObject` representa um valor opaco, útil para " -"módulos de extensão C que precisam passar um valor opaco (como ponteiro :c:" -"expr:`void*`) através do código Python para outro código C . É " +"módulos de extensão C que precisam passar um valor opaco (como " +"ponteiro :c:expr:`void*`) através do código Python para outro código C . É " "frequentemente usado para disponibilizar um ponteiro de função C definido em " "um módulo para outros módulos, para que o mecanismo de importação regular " "possa ser usado para acessar APIs C definidas em módulos carregados " @@ -125,12 +124,12 @@ msgstr "" msgid "" "The *name* parameter must compare exactly to the name stored in the capsule. " "If the name stored in the capsule is ``NULL``, the *name* passed in must " -"also be ``NULL``. Python uses the C function :c:func:`strcmp` to compare " +"also be ``NULL``. Python uses the C function :c:func:`!strcmp` to compare " "capsule names." msgstr "" "O parâmetro *name* deve ser comparado exatamente com o nome armazenado na " "cápsula. Se o nome armazenado na cápsula for ``NULL``, o *name* passado " -"também deve ser ``NULL``. Python usa a função C :c:func:`strcmp` para " +"também deve ser ``NULL``. Python usa a função C :c:func:`!strcmp` para " "comparar nomes de cápsulas." #: ../../c-api/capsule.rst:73 @@ -144,12 +143,12 @@ msgstr "" #: ../../c-api/capsule.rst:76 msgid "" "It is legal for a capsule to have a ``NULL`` destructor. This makes a " -"``NULL`` return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :" -"c:func:`PyErr_Occurred` to disambiguate." +"``NULL`` return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` " +"or :c:func:`PyErr_Occurred` to disambiguate." msgstr "" "É legal para uma cápsula ter um destruidor ``NULL``. Isso torna um código de " -"retorno ``NULL`` um tanto ambíguo; use :c:func:`PyCapsule_IsValid` ou :c:" -"func:`PyErr_Occurred` para desambiguar." +"retorno ``NULL`` um tanto ambíguo; use :c:func:`PyCapsule_IsValid` " +"ou :c:func:`PyErr_Occurred` para desambiguar." #: ../../c-api/capsule.rst:83 msgid "" @@ -162,12 +161,12 @@ msgstr "" #: ../../c-api/capsule.rst:86 msgid "" "It is legal for a capsule to have a ``NULL`` context. This makes a ``NULL`` " -"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :c:func:" -"`PyErr_Occurred` to disambiguate." +"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` " +"or :c:func:`PyErr_Occurred` to disambiguate." msgstr "" "É legal para uma cápsula ter um contexto ``NULL``. Isso torna um código de " -"retorno ``NULL`` um tanto ambíguo; use :c:func:`PyCapsule_IsValid` ou :c:" -"func:`PyErr_Occurred` para desambiguar." +"retorno ``NULL`` um tanto ambíguo; use :c:func:`PyCapsule_IsValid` " +"ou :c:func:`PyErr_Occurred` para desambiguar." #: ../../c-api/capsule.rst:93 msgid "" @@ -180,12 +179,12 @@ msgstr "" #: ../../c-api/capsule.rst:96 msgid "" "It is legal for a capsule to have a ``NULL`` name. This makes a ``NULL`` " -"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :c:func:" -"`PyErr_Occurred` to disambiguate." +"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` " +"or :c:func:`PyErr_Occurred` to disambiguate." msgstr "" "É legal para uma cápsula ter um nome ``NULL``. Isso torna um código de " -"retorno ``NULL`` um tanto ambíguo; use :c:func:`PyCapsule_IsValid` ou :c:" -"func:`PyErr_Occurred` para desambiguar." +"retorno ``NULL`` um tanto ambíguo; use :c:func:`PyCapsule_IsValid` " +"ou :c:func:`PyErr_Occurred` para desambiguar." #: ../../c-api/capsule.rst:103 msgid "" @@ -228,12 +227,12 @@ msgstr "" #: ../../c-api/capsule.rst:123 msgid "" "In other words, if :c:func:`PyCapsule_IsValid` returns a true value, calls " -"to any of the accessors (any function starting with :c:func:`PyCapsule_Get`) " -"are guaranteed to succeed." +"to any of the accessors (any function starting with ``PyCapsule_Get``) are " +"guaranteed to succeed." msgstr "" "Em outras palavras, se :c:func:`PyCapsule_IsValid` retornar um valor " "verdadeiro, as chamadas para qualquer um dos acessadores (qualquer função " -"que comece com :c:func:`PyCapsule_Get`) terão êxito garantido." +"que comece com ``PyCapsule_Get``) terão êxito garantido." #: ../../c-api/capsule.rst:127 msgid "" @@ -283,4 +282,4 @@ msgstr "objeto" #: ../../c-api/capsule.rst:8 msgid "Capsule" -msgstr "" +msgstr "Cápsula" diff --git a/c-api/cell.po b/c-api/cell.po index a81ac4a78..d476a9104 100644 --- a/c-api/cell.po +++ b/c-api/cell.po @@ -1,25 +1,25 @@ # 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: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,9 +38,9 @@ msgid "" "support from the generated byte-code; these are not automatically de-" "referenced when accessed. Cell objects are not likely to be useful elsewhere." msgstr "" -"Objetos \"cell\" são usados ​​para implementar variáveis ​​referenciadas por " +"Objetos \"cell\" são usados para implementar variáveis referenciadas por " "múltiplos escopos. Para cada variável, um objeto célula é criado para " -"armazenar o valor; as variáveis ​​locais de cada quadro de pilha que " +"armazenar o valor; as variáveis locais de cada quadro de pilha que " "referencia o valor contém uma referência para as células de escopos externos " "que também usam essa variável. Quando o valor é acessado, o valor contido na " "célula é usado em vez do próprio objeto da célula. Essa des-referência do " diff --git a/c-api/code.po b/c-api/code.po index 9ce200f2e..e69155bbc 100644 --- a/c-api/code.po +++ b/c-api/code.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Welliton Malta , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -49,25 +47,25 @@ msgstr "" #: ../../c-api/code.rst:24 msgid "" -"This is an instance of :c:type:`PyTypeObject` representing the Python :class:" -"`code` type." +"This is an instance of :c:type:`PyTypeObject` representing the " +"Python :ref:`code object `." msgstr "" -"Esta é uma instância de :c:type:`PyTypeObject` representando o tipo Python :" -"class:`code`." +"Esta é uma instância de :c:type:`PyTypeObject` representando o :ref:`objeto " +"código ` Python." #: ../../c-api/code.rst:30 msgid "" -"Return true if *co* is a :class:`code` object. This function always " -"succeeds." +"Return true if *co* is a :ref:`code object `. This function " +"always succeeds." msgstr "" -"Retorna verdadeiro se *co* for um objeto :class:`code`. Esta função sempre " -"tem sucesso." +"Retorna verdadeiro se *co* for um :ref:`objeto código `. Esta " +"função sempre tem sucesso." -#: ../../c-api/code.rst:34 +#: ../../c-api/code.rst:35 msgid "Return the number of free variables in *co*." msgstr "Retorna o número de variáveis livres em *co*." -#: ../../c-api/code.rst:38 +#: ../../c-api/code.rst:39 msgid "" "Return a new code object. If you need a dummy code object to create a " "frame, use :c:func:`PyCode_NewEmpty` instead. Calling :c:func:`PyCode_New` " @@ -78,18 +76,19 @@ msgid "" "extreme care." msgstr "" "Retorna um novo objeto código. Se você precisar de um objeto código fictício " -"para criar um quadro, use :c:func:`PyCode_NewEmpty`. Chamar :c:func:" -"`PyCode_New` diretamente irá vincular você a uma versão precisa do Python, " -"já que a definição do bytecode muda frequentemente. Os muitos argumentos " -"dessa função são interdependentes de maneiras complexas, o que significa que " -"alterações sutis nos valores provavelmente resultarão em execução incorreta " -"ou travamentos da VM. Use esta função apenas com extremo cuidado." +"para criar um quadro, use :c:func:`PyCode_NewEmpty`. " +"Chamar :c:func:`PyCode_New` diretamente irá vincular você a uma versão " +"precisa do Python, já que a definição do bytecode muda frequentemente. Os " +"muitos argumentos dessa função são interdependentes de maneiras complexas, o " +"que significa que alterações sutis nos valores provavelmente resultarão em " +"execução incorreta ou travamentos da VM. Use esta função apenas com extremo " +"cuidado." -#: ../../c-api/code.rst:45 ../../c-api/code.rst:55 -msgid "Added ``exceptiontable`` parameter." -msgstr "Adicionado parâmetro ``exceptiontable``." +#: ../../c-api/code.rst:46 +msgid "Added ``qualname`` and ``exceptiontable`` parameters." +msgstr "Adicionou os parâmetros ``qualname`` e ``exceptiontable``" -#: ../../c-api/code.rst:50 +#: ../../c-api/code.rst:51 msgid "" "Similar to :c:func:`PyCode_New`, but with an extra \"posonlyargcount\" for " "positional-only arguments. The same caveats that apply to ``PyCode_New`` " @@ -99,7 +98,11 @@ msgstr "" "argumentos somente posicionais. As mesmas advertências que se aplicam a " "``PyCode_New`` também se aplicam a esta função." -#: ../../c-api/code.rst:60 +#: ../../c-api/code.rst:56 +msgid "Added ``qualname`` and ``exceptiontable`` parameters." +msgstr "Adicionados os parâmetros ``qualname`` e ``exceptiontable``" + +#: ../../c-api/code.rst:61 msgid "" "Return a new empty code object with the specified filename, function name, " "and first line number. The resulting code object will raise an ``Exception`` " @@ -109,7 +112,7 @@ msgstr "" "número da primeira linha especificados. O objeto código resultante irá " "levantar uma ``Exception`` se executado." -#: ../../c-api/code.rst:66 +#: ../../c-api/code.rst:67 msgid "" "Return the line number of the instruction that occurs on or before " "``byte_offset`` and ends after it. If you just need the line number of a " @@ -119,7 +122,7 @@ msgstr "" "``byte_offset`` e termina depois disso. Se você só precisa do número da " "linha de um quadro, use :c:func:`PyFrame_GetLineNumber`." -#: ../../c-api/code.rst:69 +#: ../../c-api/code.rst:70 msgid "" "For efficiently iterating over the line numbers in a code object, use `the " "API described in PEP 626 `_ ." -#: ../../c-api/code.rst:74 +#: ../../c-api/code.rst:75 msgid "" "Sets the passed ``int`` pointers to the source code line and column numbers " "for the instruction at ``byte_offset``. Sets the value to ``0`` when " @@ -140,11 +143,11 @@ msgstr "" "``0`` quando as informações não estão disponíveis para nenhum elemento em " "particular." -#: ../../c-api/code.rst:78 +#: ../../c-api/code.rst:79 msgid "Returns ``1`` if the function succeeds and 0 otherwise." msgstr "Retorna ``1`` se a função for bem-sucedida e 0 caso contrário." -#: ../../c-api/code.rst:84 +#: ../../c-api/code.rst:85 msgid "" "Equivalent to the Python code ``getattr(co, 'co_code')``. Returns a strong " "reference to a :c:type:`PyBytesObject` representing the bytecode in a code " @@ -155,7 +158,7 @@ msgstr "" "objeto código. Em caso de erro, ``NULL`` é retornado e uma exceção é " "levantada." -#: ../../c-api/code.rst:89 +#: ../../c-api/code.rst:90 msgid "" "This ``PyBytesObject`` may be created on-demand by the interpreter and does " "not necessarily represent the bytecode actually executed by CPython. The " @@ -165,7 +168,7 @@ msgstr "" "representa necessariamente o bytecode realmente executado pelo CPython. O " "caso de uso primário para esta função são depuradores e criadores de perfil." -#: ../../c-api/code.rst:97 +#: ../../c-api/code.rst:98 msgid "" "Equivalent to the Python code ``getattr(co, 'co_varnames')``. Returns a new " "reference to a :c:type:`PyTupleObject` containing the names of the local " @@ -175,7 +178,7 @@ msgstr "" "nova referência a um :c:type:`PyTupleObject` contendo os nomes das variáveis " "locais. Em caso de erro, ``NULL`` é retornado e uma exceção é levantada." -#: ../../c-api/code.rst:106 +#: ../../c-api/code.rst:107 msgid "" "Equivalent to the Python code ``getattr(co, 'co_cellvars')``. Returns a new " "reference to a :c:type:`PyTupleObject` containing the names of the local " @@ -187,7 +190,7 @@ msgstr "" "locais referenciadas por funções aninhadas. Em caso de erro, ``NULL`` é " "retornado e uma exceção é levantada." -#: ../../c-api/code.rst:115 +#: ../../c-api/code.rst:116 msgid "" "Equivalent to the Python code ``getattr(co, 'co_freevars')``. Returns a new " "reference to a :c:type:`PyTupleObject` containing the names of the free " @@ -203,8 +206,8 @@ msgstr "objeto" #: ../../c-api/code.rst:3 msgid "code" -msgstr "" +msgstr "código" #: ../../c-api/code.rst:3 msgid "code object" -msgstr "" +msgstr "objeto código" diff --git a/c-api/codec.po b/c-api/codec.po index 1f9461a70..840c41ac6 100644 --- a/c-api/codec.po +++ b/c-api/codec.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Tiago Henrique , 2021 -# Hildeberto Abreu Magalhães , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,10 +33,10 @@ msgstr "Registra uma nova função de busca de codec." #: ../../c-api/codec.rst:10 msgid "" -"As side effect, this tries to load the :mod:`encodings` package, if not yet " +"As side effect, this tries to load the :mod:`!encodings` package, if not yet " "done, to make sure that it is always first in the list of search functions." msgstr "" -"Como efeito colateral, tenta carregar o pacote :mod:`encodings`, se isso " +"Como efeito colateral, tenta carregar o pacote :mod:`!encodings`, se isso " "ainda não tiver sido feito, com o propósito de garantir que ele sempre seja " "o primeiro na lista de funções de busca." @@ -68,8 +66,8 @@ msgstr "API de codificação baseada em codec genérico." msgid "" "*object* is passed through the encoder function found for the given " "*encoding* using the error handling method defined by *errors*. *errors* " -"may be ``NULL`` to use the default method defined for the codec. Raises a :" -"exc:`LookupError` if no encoder can be found." +"may be ``NULL`` to use the default method defined for the codec. Raises " +"a :exc:`LookupError` if no encoder can be found." msgstr "" "*object* é passado através da função de codificação encontrada para a " "codificação fornecida por meio de *encoding*, usando o método de tratamento " @@ -85,8 +83,8 @@ msgstr "API de decodificação baseada em decodificador genérico." msgid "" "*object* is passed through the decoder function found for the given " "*encoding* using the error handling method defined by *errors*. *errors* " -"may be ``NULL`` to use the default method defined for the codec. Raises a :" -"exc:`LookupError` if no encoder can be found." +"may be ``NULL`` to use the default method defined for the codec. Raises " +"a :exc:`LookupError` if no encoder can be found." msgstr "" "*object* é passado através da função de decodificação encontrada para a " "codificação fornecida por meio de *encoding*, usando o método de tratamento " @@ -102,8 +100,8 @@ msgstr "API de pesquisa de codec" msgid "" "In the following functions, the *encoding* string is looked up converted to " "all lower-case characters, which makes encodings looked up through this " -"mechanism effectively case-insensitive. If no codec is found, a :exc:" -"`KeyError` is set and ``NULL`` returned." +"mechanism effectively case-insensitive. If no codec is found, " +"a :exc:`KeyError` is set and ``NULL`` returned." msgstr "" "Nas funções a seguir, a string *encoding* é pesquisada com todos os " "caracteres sendo convertidos para minúsculo, o que faz com que as " @@ -165,9 +163,9 @@ msgstr "" #: ../../c-api/codec.rst:88 msgid "" -"The callback gets a single argument, an instance of :exc:" -"`UnicodeEncodeError`, :exc:`UnicodeDecodeError` or :exc:" -"`UnicodeTranslateError` that holds information about the problematic " +"The callback gets a single argument, an instance " +"of :exc:`UnicodeEncodeError`, :exc:`UnicodeDecodeError` " +"or :exc:`UnicodeTranslateError` that holds information about the problematic " "sequence of characters or bytes and their offset in the original string " "(see :ref:`unicodeexceptions` for functions to extract this information). " "The callback must either raise the given exception, or return a two-item " @@ -175,9 +173,9 @@ msgid "" "integer giving the offset in the original string at which encoding/decoding " "should be resumed." msgstr "" -"O retorno de chamada obtém um único argumento, uma instância de :exc:" -"`UnicodeEncodeError`, :exc:`UnicodeDecodeError` ou :exc:" -"`UnicodeTranslateError` que contém informações sobre a sequencia " +"O retorno de chamada obtém um único argumento, uma instância " +"de :exc:`UnicodeEncodeError`, :exc:`UnicodeDecodeError` " +"ou :exc:`UnicodeTranslateError` que contém informações sobre a sequencia " "problemática de caracteres ou bytes e seu deslocamento na string original " "(consulte :ref:`unicodeexceptions` para funções que extraem essa " "informação). A função de retorno de chamada deve levantar a exceção dada, ou " diff --git a/c-api/complex.po b/c-api/complex.po index d4cb95afa..a912212cf 100644 --- a/c-api/complex.po +++ b/c-api/complex.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Renan Lopes , 2021 -# Rafael Fontenelle , 2023 -# Marco Rougeth , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Marco Rougeth , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/complex.rst:6 msgid "Complex Number Objects" -msgstr "Objetos de números complexos" +msgstr "Objetos números complexos" #: ../../c-api/complex.rst:10 msgid "" @@ -36,7 +34,7 @@ msgid "" "and the other is a C structure which represents the actual complex number " "value. The API provides functions for working with both." msgstr "" -"Os objetos de números complexos do Python são implementados como dois tipos " +"Os objetos números complexos do Python são implementados como dois tipos " "distintos quando visualizados na API C: um é o objeto Python exposto aos " "programas Python e o outro é uma estrutura C que representa o valor real do " "número complexo. A API fornece funções para trabalhar com ambos." @@ -72,64 +70,64 @@ msgid "" "Return the sum of two complex numbers, using the C :c:type:`Py_complex` " "representation." msgstr "" -"Retorna a soma de dois números complexos, utilizando a representação C :c:" -"type:`Py_complex`." +"Retorna a soma de dois números complexos, utilizando a representação " +"C :c:type:`Py_complex`." #: ../../c-api/complex.rst:45 msgid "" -"Return the difference between two complex numbers, using the C :c:type:" -"`Py_complex` representation." +"Return the difference between two complex numbers, using the " +"C :c:type:`Py_complex` representation." msgstr "" "Retorna a diferença entre dois números complexos, utilizando a representação " "C :c:type:`Py_complex`." #: ../../c-api/complex.rst:51 msgid "" -"Return the negation of the complex number *num*, using the C :c:type:" -"`Py_complex` representation." +"Return the negation of the complex number *num*, using the " +"C :c:type:`Py_complex` representation." msgstr "" -"Retorna a negação do número complexo *num*, utilizando a representação C :c:" -"type:`Py_complex`." +"Retorna a negação do número complexo *num*, utilizando a representação " +"C :c:type:`Py_complex`." #: ../../c-api/complex.rst:57 msgid "" "Return the product of two complex numbers, using the C :c:type:`Py_complex` " "representation." msgstr "" -"Retorna o produto de dois números complexos, utilizando a representação C :c:" -"type:`Py_complex`." +"Retorna o produto de dois números complexos, utilizando a representação " +"C :c:type:`Py_complex`." #: ../../c-api/complex.rst:63 msgid "" "Return the quotient of two complex numbers, using the C :c:type:`Py_complex` " "representation." msgstr "" -"Retorna o quociente de dois números complexos, utilizando a representação C :" -"c:type:`Py_complex`." +"Retorna o quociente de dois números complexos, utilizando a representação " +"C :c:type:`Py_complex`." #: ../../c-api/complex.rst:66 msgid "" -"If *divisor* is null, this method returns zero and sets :c:data:`errno` to :" -"c:data:`EDOM`." +"If *divisor* is null, this method returns zero and sets :c:data:`errno` " +"to :c:macro:`!EDOM`." msgstr "" -"Se *divisor* é nulo, este método retorna zero e define :c:data:`errno` para :" -"c:data:`EDOM`." +"Se *divisor* é nulo, este método retorna zero e define :c:data:`errno` " +"para :c:macro:`!EDOM`." #: ../../c-api/complex.rst:72 msgid "" -"Return the exponentiation of *num* by *exp*, using the C :c:type:" -"`Py_complex` representation." +"Return the exponentiation of *num* by *exp*, using the " +"C :c:type:`Py_complex` representation." msgstr "" -"Retorna a exponenciação de *num* por *exp*, utilizando a representação C :c:" -"type:`Py_complex`" +"Retorna a exponenciação de *num* por *exp*, utilizando a representação " +"C :c:type:`Py_complex`" #: ../../c-api/complex.rst:75 msgid "" "If *num* is null and *exp* is not a positive real number, this method " -"returns zero and sets :c:data:`errno` to :c:data:`EDOM`." +"returns zero and sets :c:data:`errno` to :c:macro:`!EDOM`." msgstr "" "Se *num* for nulo e *exp* não for um número real positivo, este método " -"retorna zero e define :c:data:`errno` para :c:data:`EDOM`." +"retorna zero e define :c:data:`errno` para :c:macro:`!EDOM`." #: ../../c-api/complex.rst:80 msgid "Complex Numbers as Python Objects" @@ -152,8 +150,8 @@ msgstr "" #: ../../c-api/complex.rst:96 msgid "" -"Return true if its argument is a :c:type:`PyComplexObject` or a subtype of :" -"c:type:`PyComplexObject`. This function always succeeds." +"Return true if its argument is a :c:type:`PyComplexObject` or a subtype " +"of :c:type:`PyComplexObject`. This function always succeeds." msgstr "" "Retorna true se seu argumento é um :c:type:`PyComplexObject` ou um subtipo " "de :c:type:`PyComplexObject`. Esta função sempre tem sucesso." @@ -171,8 +169,8 @@ msgid "" "Create a new Python complex number object from a C :c:type:`Py_complex` " "value." msgstr "" -"Cria um novo objeto de número complexo Python a partir de um valor C :c:type:" -"`Py_complex`." +"Cria um novo objeto de número complexo Python a partir de um valor " +"C :c:type:`Py_complex`." #: ../../c-api/complex.rst:113 msgid "Return a new :c:type:`PyComplexObject` object from *real* and *imag*." @@ -192,23 +190,24 @@ msgstr "Retorna o valor :c:type:`Py_complex` do número complexo *op*." #: ../../c-api/complex.rst:130 msgid "" -"If *op* is not a Python complex number object but has a :meth:`__complex__` " -"method, this method will first be called to convert *op* to a Python complex " -"number object. If ``__complex__()`` is not defined then it falls back to :" -"meth:`__float__`. If ``__float__()`` is not defined then it falls back to :" -"meth:`__index__`. Upon failure, this method returns ``-1.0`` as a real " -"value." -msgstr "" -"Se *op* não é um objeto de número complexo Python, mas tem um método :meth:" -"`__complex__`, este método será primeiro chamado para converter *op* em um " -"objeto de número complexo Python. Se ``__complex__()`` não for definido, " -"então ele recorre a :meth:`__float__`. Se ``__float__()`` não estiver " -"definido, então ele volta para :meth:`__index__`. Em caso de falha, este " +"If *op* is not a Python complex number object but has " +"a :meth:`~object.__complex__` method, this method will first be called to " +"convert *op* to a Python complex number object. If :meth:`!__complex__` is " +"not defined then it falls back to :meth:`~object.__float__`. If :meth:`!" +"__float__` is not defined then it falls back to :meth:`~object.__index__`. " +"Upon failure, this method returns ``-1.0`` as a real value." +msgstr "" +"Se *op* não é um objeto de número complexo Python, mas tem um " +"método :meth:`~object.__complex__`, este método será primeiro chamado para " +"converter *op* em um objeto de número complexo Python. Se :meth:`!" +"__complex__` não for definido, então ele recorre " +"a :meth:`~object.__float__`. Se :meth:`!__float__` não estiver definido, " +"então ele volta para :meth:`~object.__index__`. Em caso de falha, este " "método retorna ``-1.0`` como um valor real." #: ../../c-api/complex.rst:137 -msgid "Use :meth:`__index__` if available." -msgstr "Usa :meth:`__index__`, se disponível." +msgid "Use :meth:`~object.__index__` if available." +msgstr "Usa :meth:`~object.__index__`, se disponível." #: ../../c-api/complex.rst:8 msgid "object" diff --git a/c-api/concrete.po b/c-api/concrete.po index a651c126f..44155aba1 100644 --- a/c-api/concrete.po +++ b/c-api/concrete.po @@ -1,27 +1,25 @@ # 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: -# Claudio Rogerio Carvalho Filho , 2021 -# Vinicius Gubiani Ferreira , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -93,7 +91,7 @@ msgstr "Coleções" #: ../../c-api/concrete.rst:91 msgid "Function Objects" -msgstr "Objetos Função" +msgstr "Objetos Function" #: ../../c-api/concrete.rst:102 msgid "Other Objects" @@ -106,7 +104,7 @@ msgstr "objeto" #: ../../c-api/concrete.rst:43 msgid "numeric" -msgstr "" +msgstr "numérico" #: ../../c-api/concrete.rst:58 msgid "sequence" diff --git a/c-api/contextvars.po b/c-api/contextvars.po index 2ca625e82..d7ac5b7b0 100644 --- a/c-api/contextvars.po +++ b/c-api/contextvars.po @@ -1,47 +1,45 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Alexsandro Matias de Almeida , 2021 -# Leandro Braga , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Leandro Braga , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/contextvars.rst:6 msgid "Context Variables Objects" -msgstr "Objetos de variáveis ​​de contexto" +msgstr "Objetos de variáveis de contexto" -#: ../../c-api/contextvars.rst:13 +#: ../../c-api/contextvars.rst:15 msgid "" "In Python 3.7.1 the signatures of all context variables C APIs were " -"**changed** to use :c:type:`PyObject` pointers instead of :c:type:" -"`PyContext`, :c:type:`PyContextVar`, and :c:type:`PyContextToken`, e.g.::" +"**changed** to use :c:type:`PyObject` pointers instead " +"of :c:type:`PyContext`, :c:type:`PyContextVar`, " +"and :c:type:`PyContextToken`, e.g.::" msgstr "" "No Python 3.7.1, as assinaturas de todas as APIs C de variáveis de contexto " -"foram **alteradas** para usar ponteiros :c:type:`PyObject` em vez de :c:type:" -"`PyContext`, :c:type:`PyContextVar` e :c:type:`PyContextToken`. Por exemplo::" +"foram **alteradas** para usar ponteiros :c:type:`PyObject` em vez " +"de :c:type:`PyContext`, :c:type:`PyContextVar` e :c:type:`PyContextToken`. " +"Por exemplo::" -#: ../../c-api/contextvars.rst:24 +#: ../../c-api/contextvars.rst:26 msgid "See :issue:`34762` for more details." msgstr "Veja :issue:`34762` para mais detalhes." @@ -60,8 +58,8 @@ msgstr "" msgid "" "The C structure used to represent a :class:`contextvars.ContextVar` object." msgstr "" -"A estrutura C usada para representar um objeto :class:`contextvars." -"ContextVar`." +"A estrutura C usada para representar um " +"objeto :class:`contextvars.ContextVar`." #: ../../c-api/contextvars.rst:43 msgid "The C structure used to represent a :class:`contextvars.Token` object." @@ -214,9 +212,9 @@ msgstr "" #: ../../c-api/contextvars.rst:136 msgid "" -"Reset the state of the *var* context variable to that it was in before :c:" -"func:`PyContextVar_Set` that returned the *token* was called. This function " -"returns ``0`` on success and ``-1`` on error." +"Reset the state of the *var* context variable to that it was in " +"before :c:func:`PyContextVar_Set` that returned the *token* was called. This " +"function returns ``0`` on success and ``-1`` on error." msgstr "" "Redefine o estado da variável de contexto *var* para o estado que anterior " "a :c:func:`PyContextVar_Set` que retornou o *token* foi chamado. Esta função " diff --git a/c-api/conversion.po b/c-api/conversion.po index 99caba842..8ccb79f25 100644 --- a/c-api/conversion.po +++ b/c-api/conversion.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -29,27 +29,27 @@ msgstr "Conversão e formação de strings" #: ../../c-api/conversion.rst:8 msgid "Functions for number conversion and formatted string output." -msgstr "Funções para conversão de números e saída formatada de Strings." +msgstr "Funções para conversão de números e saída formatada de strings." #: ../../c-api/conversion.rst:13 msgid "" "Output not more than *size* bytes to *str* according to the format string " -"*format* and the extra arguments. See the Unix man page :manpage:" -"`snprintf(3)`." +"*format* and the extra arguments. See the Unix man " +"page :manpage:`snprintf(3)`." msgstr "" "Saída não superior a *size* bytes para *str* de acordo com a string de " -"formato *format* e os argumentos extras. Veja a página man do Unix :manpage:" -"`snprintf(3)`." +"formato *format* e os argumentos extras. Veja a página man do " +"Unix :manpage:`snprintf(3)`." #: ../../c-api/conversion.rst:19 msgid "" "Output not more than *size* bytes to *str* according to the format string " -"*format* and the variable argument list *va*. Unix man page :manpage:" -"`vsnprintf(3)`." +"*format* and the variable argument list *va*. Unix man " +"page :manpage:`vsnprintf(3)`." msgstr "" -"Saída não superior a *size* bytes para *str* de acordo com o formato string " -"*format* e a variável argumento de lista *va*. Página man do Unix :manpage:" -"`vsnprintf(3)`." +"Saída não superior a *size* bytes para *str* de acordo com o string de " +"formato *format* e a variável argumento de lista *va*. Página man do " +"Unix :manpage:`vsnprintf(3)`." #: ../../c-api/conversion.rst:23 msgid "" @@ -58,10 +58,10 @@ msgid "" "is to guarantee consistent behavior in corner cases, which the Standard C " "functions do not." msgstr "" -":c:func:`PyOS_snprintf` e :c:func:`PyOS_vsnprintf` envolvem as funções :c:" -"func:`snprintf` e :c:func:`vsnprintf` da biblioteca Standard C. Seu objetivo " -"é garantir um comportamento consistente em casos extremos, o que as funções " -"do Standard C não garantem." +":c:func:`PyOS_snprintf` e :c:func:`PyOS_vsnprintf` envolvem as " +"funções :c:func:`snprintf` e :c:func:`vsnprintf` da biblioteca Standard C. " +"Seu objetivo é garantir um comportamento consistente em casos extremos, o " +"que as funções do Standard C não garantem." #: ../../c-api/conversion.rst:28 msgid "" @@ -126,6 +126,68 @@ msgstr "" #: ../../c-api/conversion.rst:53 msgid "" +"Convert the initial part of the string in ``str`` to an :c:expr:`unsigned " +"long` value according to the given ``base``, which must be between ``2`` and " +"``36`` inclusive, or be the special value ``0``." +msgstr "" +"Converte a parte inicial da string em ``str`` para um " +"valor :c:expr:`unsigned long` de acordo com a ``base`` fornecida, que deve " +"estar entre ``2`` e ``36`` inclusive, ou ser o valor especial ``0``." + +#: ../../c-api/conversion.rst:57 +msgid "" +"Leading white space and case of characters are ignored. If ``base`` is zero " +"it looks for a leading ``0b``, ``0o`` or ``0x`` to tell which base. If " +"these are absent it defaults to ``10``. Base must be 0 or between 2 and 36 " +"(inclusive). If ``ptr`` is non-``NULL`` it will contain a pointer to the " +"end of the scan." +msgstr "" +"Espaços em branco iniciais e diferenciação entre caracteres maiúsculos e " +"minúsculos são ignorados. Se ``base`` for zero, procura um ``0b``, ``0o`` ou " +"``0x`` inicial para informar qual base. Se estes estiverem ausentes, o " +"padrão é ``10``. Base deve ser 0 ou entre 2 e 36 (inclusive). Se ``ptr`` não " +"for ``NULL``, conterá um ponteiro para o fim da varredura." + +#: ../../c-api/conversion.rst:63 +msgid "" +"If the converted value falls out of range of corresponding return type, " +"range error occurs (:c:data:`errno` is set to :c:macro:`!ERANGE`) " +"and :c:macro:`!ULONG_MAX` is returned. If no conversion can be performed, " +"``0`` is returned." +msgstr "" +"Se o valor convertido ficar fora do intervalo do tipo de retorno " +"correspondente, ocorrerá um erro de intervalo (:c:data:`errno` é definido " +"como :c:macro:`!ERANGE`) e :c:macro:`!ULONG_MAX` será retornado. Se nenhuma " +"conversão puder ser realizada, ``0`` será retornado." + +#: ../../c-api/conversion.rst:68 +msgid "See also the Unix man page :manpage:`strtoul(3)`." +msgstr "Veja também a página man do Unix :manpage:`strtoul(3)`." + +#: ../../c-api/conversion.rst:75 +msgid "" +"Convert the initial part of the string in ``str`` to an :c:expr:`long` value " +"according to the given ``base``, which must be between ``2`` and ``36`` " +"inclusive, or be the special value ``0``." +msgstr "" +"Converte a parte inicial da string em ``str`` para um valor :c:expr:`long` " +"de acordo com a ``base`` fornecida, que deve estar entre ``2`` e ``36`` " +"inclusive, ou ser o valor especial ``0``." + +#: ../../c-api/conversion.rst:79 +msgid "" +"Same as :c:func:`PyOS_strtoul`, but return a :c:expr:`long` value instead " +"and :c:macro:`LONG_MAX` on overflows." +msgstr "" +"O mesmo que :c:func:`PyOS_strtoul`, mas retorna um valor :c:expr:`long` " +"e :c:macro:`LONG_MAX` em caso de estouro." + +#: ../../c-api/conversion.rst:82 +msgid "See also the Unix man page :manpage:`strtol(3)`." +msgstr "Veja também a página man do Unix :manpage:`strtol(3)`." + +#: ../../c-api/conversion.rst:89 +msgid "" "Convert a string ``s`` to a :c:expr:`double`, raising a Python exception on " "failure. The set of accepted strings corresponds to the set of strings " "accepted by Python's :func:`float` constructor, except that ``s`` must not " @@ -138,17 +200,17 @@ msgstr "" "deve ter espaços em branco à esquerda ou à direita. A conversão é " "independente da localidade atual." -#: ../../c-api/conversion.rst:59 +#: ../../c-api/conversion.rst:95 msgid "" -"If ``endptr`` is ``NULL``, convert the whole string. Raise :exc:" -"`ValueError` and return ``-1.0`` if the string is not a valid representation " -"of a floating-point number." +"If ``endptr`` is ``NULL``, convert the whole string. " +"Raise :exc:`ValueError` and return ``-1.0`` if the string is not a valid " +"representation of a floating-point number." msgstr "" -"Se ``endptr`` for ``NULL``, converte a string inteira. Levanta :exc:" -"`ValueError` e retorna ``-1.0`` se a string não for uma representação válida " -"de um número de ponto flutuante." +"Se ``endptr`` for ``NULL``, converte a string inteira. " +"Levanta :exc:`ValueError` e retorna ``-1.0`` se a string não for uma " +"representação válida de um número de ponto flutuante." -#: ../../c-api/conversion.rst:63 +#: ../../c-api/conversion.rst:99 msgid "" "If endptr is not ``NULL``, convert as much of the string as possible and set " "``*endptr`` to point to the first unconverted character. If no initial " @@ -156,13 +218,13 @@ msgid "" "number, set ``*endptr`` to point to the beginning of the string, raise " "ValueError, and return ``-1.0``." msgstr "" -"Se endptr não for ``NULL``, converte o máximo possível da string e defina " +"Se endptr não for ``NULL``, converte o máximo possível da string e define " "``*endptr`` para apontar para o primeiro caractere não convertido. Se nenhum " "segmento inicial da string for a representação válida de um número de ponto " "flutuante, define ``*endptr`` para apontar para o início da string, levanta " -"ValueError e retorne ``-1.0``." +"ValueError e retorna ``-1.0``." -#: ../../c-api/conversion.rst:70 +#: ../../c-api/conversion.rst:106 msgid "" "If ``s`` represents a value that is too large to store in a float (for " "example, ``\"1e500\"`` is such a string on many platforms) then if " @@ -177,10 +239,10 @@ msgstr "" "plataformas), então se ``overflow_exception`` for ``NULL`` retorna " "``Py_HUGE_VAL`` (com um sinal apropriado) e não define nenhuma exceção. Caso " "contrário, ``overflow_exception`` deve apontar para um objeto de exceção " -"Python; levantar essa exceção e retornar ``-1.0``. Em ambos os casos, define " +"Python; levanta essa exceção e retorna ``-1.0``. Em ambos os casos, define " "``*endptr`` para apontar para o primeiro caractere após o valor convertido." -#: ../../c-api/conversion.rst:78 +#: ../../c-api/conversion.rst:114 msgid "" "If any other error occurs during the conversion (for example an out-of-" "memory error), set the appropriate Python exception and return ``-1.0``." @@ -188,26 +250,26 @@ msgstr "" "Se qualquer outro erro ocorrer durante a conversão (por exemplo, um erro de " "falta de memória), define a exceção Python apropriada e retorna ``-1.0``." -#: ../../c-api/conversion.rst:87 +#: ../../c-api/conversion.rst:123 msgid "" "Convert a :c:expr:`double` *val* to a string using supplied *format_code*, " "*precision*, and *flags*." msgstr "" -"Converte um :c:expr:`double` *val* para uma string usando *format_code*, " +"Converte um *val* :c:expr:`double` para uma string usando *format_code*, " "*precision* e *flags* fornecidos." -#: ../../c-api/conversion.rst:90 +#: ../../c-api/conversion.rst:126 msgid "" "*format_code* must be one of ``'e'``, ``'E'``, ``'f'``, ``'F'``, ``'g'``, " "``'G'`` or ``'r'``. For ``'r'``, the supplied *precision* must be 0 and is " "ignored. The ``'r'`` format code specifies the standard :func:`repr` format." msgstr "" "*format_code* deve ser um entre ``'e'``, ``'E'``, ``'f'``, ``'F'``, ``'g'``, " -"``'G'`` ou ``'r'``. Para ``'r'``, a precisão *precision* fornecida deve ser " -"0 e é ignorada. O código de formato ``'r'`` especifica o formato padrão de :" -"func:`repr`." +"``'G'`` ou ``'r'``. Para ``'r'``, a precisão *precision* fornecida deve ser " +"0 e é ignorada. O código de formato ``'r'`` especifica o formato padrão " +"de :func:`repr`." -#: ../../c-api/conversion.rst:95 +#: ../../c-api/conversion.rst:131 msgid "" "*flags* can be zero or more of the values ``Py_DTSF_SIGN``, " "``Py_DTSF_ADD_DOT_0``, or ``Py_DTSF_ALT``, or-ed together:" @@ -215,7 +277,7 @@ msgstr "" "*flags* pode ser zero ou mais de valores ``Py_DTSF_SIGN``, " "``Py_DTSF_ADD_DOT_0`` ou ``Py_DTSF_ALT``, alternados por operador lógico OU:" -#: ../../c-api/conversion.rst:98 +#: ../../c-api/conversion.rst:134 msgid "" "``Py_DTSF_SIGN`` means to always precede the returned string with a sign " "character, even if *val* is non-negative." @@ -223,7 +285,7 @@ msgstr "" "``Py_DTSF_SIGN`` significa sempre preceder a string retornada com um " "caractere de sinal, mesmo se *val* não for negativo." -#: ../../c-api/conversion.rst:101 +#: ../../c-api/conversion.rst:137 msgid "" "``Py_DTSF_ADD_DOT_0`` means to ensure that the returned string will not look " "like an integer." @@ -231,7 +293,7 @@ msgstr "" "``Py_DTSF_ADD_DOT_0`` significa garantir que a string retornada não se " "pareça com um inteiro." -#: ../../c-api/conversion.rst:104 +#: ../../c-api/conversion.rst:140 msgid "" "``Py_DTSF_ALT`` means to apply \"alternate\" formatting rules. See the " "documentation for the :c:func:`PyOS_snprintf` ``'#'`` specifier for details." @@ -240,7 +302,7 @@ msgstr "" "Veja a documentação para o especificador ``'#'`` de :c:func:`PyOS_snprintf` " "para detalhes." -#: ../../c-api/conversion.rst:108 +#: ../../c-api/conversion.rst:144 msgid "" "If *ptype* is non-``NULL``, then the value it points to will be set to one " "of ``Py_DTST_FINITE``, ``Py_DTST_INFINITE``, or ``Py_DTST_NAN``, signifying " @@ -252,7 +314,7 @@ msgstr "" "``Py_DTST_NAN``, significando que *val* é um número finito, um número " "infinito ou não um número, respectivamente." -#: ../../c-api/conversion.rst:112 +#: ../../c-api/conversion.rst:148 msgid "" "The return value is a pointer to *buffer* with the converted string or " "``NULL`` if the conversion failed. The caller is responsible for freeing the " @@ -262,19 +324,20 @@ msgstr "" "``NULL`` se a conversão falhou. O chamador é responsável por liberar a " "string retornada chamando :c:func:`PyMem_Free`." -#: ../../c-api/conversion.rst:121 +#: ../../c-api/conversion.rst:157 msgid "" "Case insensitive comparison of strings. The function works almost " -"identically to :c:func:`strcmp` except that it ignores the case." +"identically to :c:func:`!strcmp` except that it ignores the case." msgstr "" "Comparação de strings sem diferença entre maiúsculas e minúsculas. A função " -"funciona quase de forma idêntica a :c:func:`strcmp` exceto que ignora o caso." +"funciona quase de forma idêntica a :c:func:`!strcmp` exceto que ignora a " +"diferença entre maiúsculas e minúsculas." -#: ../../c-api/conversion.rst:127 +#: ../../c-api/conversion.rst:163 msgid "" "Case insensitive comparison of strings. The function works almost " -"identically to :c:func:`strncmp` except that it ignores the case." +"identically to :c:func:`!strncmp` except that it ignores the case." msgstr "" "Comparação de strings sem diferença entre maiúsculas e minúsculas. A função " -"funciona quase de forma idêntica a :c:func:`strncmp` exceto que ignora o " -"caso." +"funciona quase de forma idêntica a :c:func:`!strncmp` exceto que ignora a " +"diferença entre maiúsculas e minúsculas." diff --git a/c-api/coro.po b/c-api/coro.po index f6ed8a2d0..a31124693 100644 --- a/c-api/coro.po +++ b/c-api/coro.po @@ -1,25 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/c-api/datetime.po b/c-api/datetime.po index 7eb83ae7f..e85f02101 100644 --- a/c-api/datetime.po +++ b/c-api/datetime.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Adjamilton Júnior , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,138 +31,206 @@ msgstr "Objetos DateTime" msgid "" "Various date and time objects are supplied by the :mod:`datetime` module. " "Before using any of these functions, the header file :file:`datetime.h` must " -"be included in your source (note that this is not included by :file:`Python." -"h`), and the macro :c:macro:`PyDateTime_IMPORT` must be invoked, usually as " -"part of the module initialisation function. The macro puts a pointer to a C " -"structure into a static variable, :c:data:`PyDateTimeAPI`, that is used by " -"the following macros." +"be included in your source (note that this is not included " +"by :file:`Python.h`), and the macro :c:macro:`!PyDateTime_IMPORT` must be " +"invoked, usually as part of the module initialisation function. The macro " +"puts a pointer to a C structure into a static variable, :c:data:`!" +"PyDateTimeAPI`, that is used by the following macros." msgstr "" "Vários objetos de data e hora são fornecidos pelo módulo :mod:`datetime`. " -"Antes de usar qualquer uma dessas funções, o arquivo de cabeçalho :file:" -"`datetime.h` deve ser incluído na sua fonte (observe que isso não é incluído " -"por :file:`Python.h`) e a macro :c:macro:`PyDateTime_IMPORT` deve ser " -"chamada, geralmente como parte da função de inicialização do módulo. A macro " -"coloca um ponteiro para uma estrutura C em uma variável estática, :c:data:" -"`PyDateTimeAPI`, usada pelas macros a seguir." - -#: ../../c-api/datetime.rst:16 +"Antes de usar qualquer uma dessas funções, o arquivo de " +"cabeçalho :file:`datetime.h` deve ser incluído na sua fonte (observe que " +"isso não é incluído por :file:`Python.h`) e a macro :c:macro:`!" +"PyDateTime_IMPORT` deve ser chamada, geralmente como parte da função de " +"inicialização do módulo. A macro coloca um ponteiro para uma estrutura C em " +"uma variável estática, :c:data:`!PyDateTimeAPI`, usada pelas macros a seguir." + +#: ../../c-api/datetime.rst:18 +msgid "This subtype of :c:type:`PyObject` represents a Python date object." +msgstr "" +"Esta é uma instância de :c:type:`PyObject` representando o objeto data do " +"Python." + +#: ../../c-api/datetime.rst:22 +msgid "This subtype of :c:type:`PyObject` represents a Python datetime object." +msgstr "" +"Esta é uma instância de :c:type:`PyObject` representando o objeto datetime " +"do Python." + +#: ../../c-api/datetime.rst:26 +msgid "This subtype of :c:type:`PyObject` represents a Python time object." +msgstr "" +"Esta é uma instância de :c:type:`PyObject` representando o objeto hora do " +"Python." + +#: ../../c-api/datetime.rst:30 +msgid "" +"This subtype of :c:type:`PyObject` represents the difference between two " +"datetime values." +msgstr "" +"Esta é uma instância de :c:type:`PyObject` representando a diferença entre " +"dois valores de datetime." + +#: ../../c-api/datetime.rst:34 +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python date type; it " +"is the same object as :class:`datetime.date` in the Python layer." +msgstr "" +"Esta instância de :c:type:`PyTypeObject` representa o tipo data do Python; é " +"o mesmo objeto que :class:`datetime.date` na camada de Python." + +#: ../../c-api/datetime.rst:39 +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python datetime type; " +"it is the same object as :class:`datetime.datetime` in the Python layer." +msgstr "" +"Esta instância de :c:type:`PyTypeObject` representa o tipo datetime do " +"Python; é o mesmo objeto que :class:`datetime.datetime` na camada de Python." + +#: ../../c-api/datetime.rst:44 +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python time type; it " +"is the same object as :class:`datetime.time` in the Python layer." +msgstr "" +"Esta instância de :c:type:`PyTypeObject` representa o tipo hora do Python; é " +"o mesmo objeto que :class:`datetime.time` na camada de Python." + +#: ../../c-api/datetime.rst:49 +msgid "" +"This instance of :c:type:`PyTypeObject` represents Python type for the " +"difference between two datetime values; it is the same object " +"as :class:`datetime.timedelta` in the Python layer." +msgstr "" +"Esta instância de :c:type:`PyTypeObject` representa o tipo Python para a " +"diferença entre dois valores de datetime; é o mesmo objeto " +"que :class:`datetime.timedelta` na camada de Python." + +#: ../../c-api/datetime.rst:55 +msgid "" +"This instance of :c:type:`PyTypeObject` represents the Python time zone info " +"type; it is the same object as :class:`datetime.tzinfo` in the Python layer." +msgstr "" +"Esta instância de :c:type:`PyTypeObject` representa o tipo fuso horário do " +"Python; é o mesmo objeto que :class:`datetime.tzinfo` na camada de Python." + +#: ../../c-api/datetime.rst:59 msgid "Macro for access to the UTC singleton:" msgstr "Macro para acesso ao singleton UTC:" -#: ../../c-api/datetime.rst:20 +#: ../../c-api/datetime.rst:63 msgid "" -"Returns the time zone singleton representing UTC, the same object as :attr:" -"`datetime.timezone.utc`." +"Returns the time zone singleton representing UTC, the same object " +"as :attr:`datetime.timezone.utc`." msgstr "" "Retorna um singleton do fuso horário representando o UTC, o mesmo objeto " "que :attr:`datetime.timezone.utc`." -#: ../../c-api/datetime.rst:26 +#: ../../c-api/datetime.rst:69 msgid "Type-check macros:" msgstr "Macros de verificação de tipo:" -#: ../../c-api/datetime.rst:30 +#: ../../c-api/datetime.rst:73 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateType` or a subtype " -"of :c:data:`PyDateTime_DateType`. *ob* must not be ``NULL``. This function " -"always succeeds." +"of :c:data:`!PyDateTime_DateType`. *ob* must not be ``NULL``. This " +"function always succeeds." msgstr "" -"Retorna true se *ob* for do tipo :c:data:`PyDateTime_DateType` ou um subtipo " -"de :c:data:`PyDateTime_DateType`. *ob* não deve ser ``NULL``. Esta função " -"sempre tem sucesso." +"Retorna verdadeiro se *ob* for do tipo :c:data:`PyDateTime_DateType` ou um " +"subtipo de :c:data:`!PyDateTime_DateType`. *ob* não deve ser ``NULL``. Esta " +"função sempre tem sucesso." -#: ../../c-api/datetime.rst:37 +#: ../../c-api/datetime.rst:80 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateType`. *ob* must not " "be ``NULL``. This function always succeeds." msgstr "" -"Retorna true se *ob* for do tipo :c:data:`PyDateTime_DateType`. *ob* não " -"deve ser ``NULL``. Esta função sempre tem sucesso." +"Retorna verdadeiro se *ob* for do tipo :c:data:`PyDateTime_DateType`. *ob* " +"não deve ser ``NULL``. Esta função sempre tem sucesso." -#: ../../c-api/datetime.rst:43 +#: ../../c-api/datetime.rst:86 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType` or a " -"subtype of :c:data:`PyDateTime_DateTimeType`. *ob* must not be ``NULL``. " +"subtype of :c:data:`!PyDateTime_DateTimeType`. *ob* must not be ``NULL``. " "This function always succeeds." msgstr "" -"Retorna true se *ob* é do tipo :c:data:`PyDateTime_DateTimeType` ou um " -"subtipo de :c:data:`PyDateTime_DateTimeType`. *ob* não deve ser ``NULL``. " +"Retorna verdadeiro se *ob* é do tipo :c:data:`PyDateTime_DateTimeType` ou um " +"subtipo de :c:data:`!PyDateTime_DateTimeType`. *ob* não deve ser ``NULL``. " "Esta função sempre tem sucesso." -#: ../../c-api/datetime.rst:50 +#: ../../c-api/datetime.rst:93 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DateTimeType`. *ob* must " "not be ``NULL``. This function always succeeds." msgstr "" -"Retorna true se *ob* for do tipo :c:data:`PyDateTime_DateTimeType`. *ob* não " -"deve ser ``NULL``. Esta função sempre tem sucesso." +"Retorna verdadeiro se *ob* for do tipo :c:data:`PyDateTime_DateTimeType`. " +"*ob* não deve ser ``NULL``. Esta função sempre tem sucesso." -#: ../../c-api/datetime.rst:56 +#: ../../c-api/datetime.rst:99 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TimeType` or a subtype " -"of :c:data:`PyDateTime_TimeType`. *ob* must not be ``NULL``. This function " -"always succeeds." +"of :c:data:`!PyDateTime_TimeType`. *ob* must not be ``NULL``. This " +"function always succeeds." msgstr "" -"Retorna true se *ob* é do tipo :c:data:`PyDateTime_TimeType` ou um subtipo " -"de :c:data:`PyDateTime_TimeType`. *ob* não deve ser ``NULL``. Esta função " -"sempre tem sucesso." +"Retorna verdadeiro se *ob* é do tipo :c:data:`PyDateTime_TimeType` ou um " +"subtipo de :c:data:`!PyDateTime_TimeType`. *ob* não deve ser ``NULL``. Esta " +"função sempre tem sucesso." -#: ../../c-api/datetime.rst:63 +#: ../../c-api/datetime.rst:106 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TimeType`. *ob* must not " "be ``NULL``. This function always succeeds." msgstr "" -"Retorna true se *ob* for do tipo :c:data:`PyDateTime_TimeType`. *ob* não " -"deve ser ``NULL``. Esta função sempre tem sucesso." +"Retorna verdadeiro se *ob* for do tipo :c:data:`PyDateTime_TimeType`. *ob* " +"não deve ser ``NULL``. Esta função sempre tem sucesso." -#: ../../c-api/datetime.rst:69 +#: ../../c-api/datetime.rst:112 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DeltaType` or a subtype " -"of :c:data:`PyDateTime_DeltaType`. *ob* must not be ``NULL``. This " +"of :c:data:`!PyDateTime_DeltaType`. *ob* must not be ``NULL``. This " "function always succeeds." msgstr "" -"Retorna true se *ob* é do tipo :c:data:`PyDateTime_DeltaType` ou um subtipo " -"de :c:data:`PyDateTime_DeltaType`. *ob* não deve ser ``NULL``. Esta função " -"sempre tem sucesso." +"Retorna verdadeiro se *ob* for do tipo :c:data:`PyDateTime_DeltaType` ou um " +"subtipo de :c:data:`!PyDateTime_DeltaType`. *ob* não pode ser ``NULL``. Esta " +"função sempre tem sucesso." -#: ../../c-api/datetime.rst:76 +#: ../../c-api/datetime.rst:119 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_DeltaType`. *ob* must not " "be ``NULL``. This function always succeeds." msgstr "" -"Retorna true se *ob* for do tipo :c:data:`PyDateTime_DeltaType`. *ob* não " -"deve ser ``NULL``. Esta função sempre tem sucesso." +"Retorna verdadeiro se *ob* for do tipo :c:data:`PyDateTime_DeltaType`. *ob* " +"não deve ser ``NULL``. Esta função sempre tem sucesso." -#: ../../c-api/datetime.rst:82 +#: ../../c-api/datetime.rst:125 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType` or a subtype " -"of :c:data:`PyDateTime_TZInfoType`. *ob* must not be ``NULL``. This " +"of :c:data:`!PyDateTime_TZInfoType`. *ob* must not be ``NULL``. This " "function always succeeds." msgstr "" -"Retorna true se *ob* é do tipo :c:data:`PyDateTime_TZInfoType` ou um subtipo " -"de :c:data:`PyDateTime_TZInfoType`. *ob* não deve ser ``NULL``. Esta função " -"sempre tem sucesso." +"Retorna verdadeiro se *ob* for do tipo :c:data:`PyDateTime_TZInfoType` ou um " +"subtipo de :c:data:`!PyDateTime_TZInfoType`. *ob* não pode ser ``NULL``. " +"Esta função sempre tem sucesso." -#: ../../c-api/datetime.rst:89 +#: ../../c-api/datetime.rst:132 msgid "" "Return true if *ob* is of type :c:data:`PyDateTime_TZInfoType`. *ob* must " "not be ``NULL``. This function always succeeds." msgstr "" -"Retorna true se *ob* for do tipo :c:data:`PyDateTime_TZInfoType`. *ob* não " -"deve ser ``NULL``. Esta função sempre tem sucesso." +"Retorna verdadeiro se *ob* for do tipo :c:data:`PyDateTime_TZInfoType`. *ob* " +"não deve ser ``NULL``. Esta função sempre tem sucesso." -#: ../../c-api/datetime.rst:93 +#: ../../c-api/datetime.rst:136 msgid "Macros to create objects:" msgstr "Macros para criar objetos:" -#: ../../c-api/datetime.rst:97 +#: ../../c-api/datetime.rst:140 msgid "" "Return a :class:`datetime.date` object with the specified year, month and " "day." msgstr "" "Retorna um objeto :class:`datetime.date` com o ano, mês e dia especificados." -#: ../../c-api/datetime.rst:102 +#: ../../c-api/datetime.rst:145 msgid "" "Return a :class:`datetime.datetime` object with the specified year, month, " "day, hour, minute, second and microsecond." @@ -172,7 +238,7 @@ msgstr "" "Retorna um objeto :class:`datetime.datetime` com o ano, mês, dia, hora, " "minuto, segundo, microssegundo especificados." -#: ../../c-api/datetime.rst:108 +#: ../../c-api/datetime.rst:151 msgid "" "Return a :class:`datetime.datetime` object with the specified year, month, " "day, hour, minute, second, microsecond and fold." @@ -180,7 +246,7 @@ msgstr "" "Retorna um objeto :class:`datetime.datetime` com o ano, mês, dia, hora, " "minuto, segundo, microssegundo e a dobra especificados." -#: ../../c-api/datetime.rst:116 +#: ../../c-api/datetime.rst:159 msgid "" "Return a :class:`datetime.time` object with the specified hour, minute, " "second and microsecond." @@ -188,7 +254,7 @@ msgstr "" "Retorna um objeto :class:`datetime.time` com a hora, minuto, segundo e " "microssegundo especificados." -#: ../../c-api/datetime.rst:122 +#: ../../c-api/datetime.rst:165 msgid "" "Return a :class:`datetime.time` object with the specified hour, minute, " "second, microsecond and fold." @@ -196,7 +262,7 @@ msgstr "" "Retorna um objeto :class:`datetime.time` com a hora, minuto, segundo, " "microssegundo e a dobra especificados." -#: ../../c-api/datetime.rst:130 +#: ../../c-api/datetime.rst:173 msgid "" "Return a :class:`datetime.timedelta` object representing the given number of " "days, seconds and microseconds. Normalization is performed so that the " @@ -208,7 +274,7 @@ msgstr "" "para que o número resultante de microssegundos e segundos esteja nos " "intervalos documentados para objetos de :class:`datetime.timedelta`." -#: ../../c-api/datetime.rst:138 +#: ../../c-api/datetime.rst:181 msgid "" "Return a :class:`datetime.timezone` object with an unnamed fixed offset " "represented by the *offset* argument." @@ -216,7 +282,7 @@ msgstr "" "Retorna um objeto :class:`datetime.timezone` com um deslocamento fixo sem " "nome representado pelo argumento *offset*." -#: ../../c-api/datetime.rst:146 +#: ../../c-api/datetime.rst:189 msgid "" "Return a :class:`datetime.timezone` object with a fixed offset represented " "by the *offset* argument and with tzname *name*." @@ -224,110 +290,110 @@ msgstr "" "Retorna um objeto :class:`datetime.timezone` com um deslocamento fixo " "representado pelo argumento *offset* e com tzname *name*." -#: ../../c-api/datetime.rst:152 +#: ../../c-api/datetime.rst:195 msgid "" "Macros to extract fields from date objects. The argument must be an " -"instance of :c:data:`PyDateTime_Date`, including subclasses (such as :c:data:" -"`PyDateTime_DateTime`). The argument must not be ``NULL``, and the type is " -"not checked:" +"instance of :c:type:`PyDateTime_Date`, including subclasses (such " +"as :c:type:`PyDateTime_DateTime`). The argument must not be ``NULL``, and " +"the type is not checked:" msgstr "" -"Macros para extrair campos de objetos de data. O argumento deve ser uma " -"instância de :c:data:`PyDateTime_Date`, incluindo subclasses (como :c:data:" -"`PyDateTime_DateTime`). O argumento não deve ser ``NULL`` e o tipo não está " -"marcado:" +"Macros para extrair campos de objetos *date*. O argumento deve ser uma " +"instância de :c:type:`PyDateTime_Date`, inclusive subclasses " +"(como :c:type:`PyDateTime_DateTime`). O argumento não deve ser ``NULL``, e o " +"tipo não é verificado:" -#: ../../c-api/datetime.rst:159 +#: ../../c-api/datetime.rst:202 msgid "Return the year, as a positive int." msgstr "Retorna o ano, como um inteiro positivo." -#: ../../c-api/datetime.rst:164 +#: ../../c-api/datetime.rst:207 msgid "Return the month, as an int from 1 through 12." msgstr "Retorna o mês, como um inteiro de 1 a 12." -#: ../../c-api/datetime.rst:169 +#: ../../c-api/datetime.rst:212 msgid "Return the day, as an int from 1 through 31." msgstr "Retorna o dia, como um inteiro de 1 a 31." -#: ../../c-api/datetime.rst:172 +#: ../../c-api/datetime.rst:215 msgid "" "Macros to extract fields from datetime objects. The argument must be an " -"instance of :c:data:`PyDateTime_DateTime`, including subclasses. The " +"instance of :c:type:`PyDateTime_DateTime`, including subclasses. The " "argument must not be ``NULL``, and the type is not checked:" msgstr "" -"Macros para extrair campos de objetos de data e hora. O argumento deve ser " -"uma instância de :c:data:`PyDateTime_DateTime`, incluindo subclasses. O " -"argumento não deve ser ``NULL`` e o tipo não é verificado:" +"Macros para extrair campos de objetos *datetime*. O argumento deve ser uma " +"instância de :c:type:`PyDateTime_DateTime`, inclusive subclasses. O " +"argumento não deve ser ``NULL``, e o tipo não é verificado:" -#: ../../c-api/datetime.rst:178 ../../c-api/datetime.rst:216 +#: ../../c-api/datetime.rst:221 ../../c-api/datetime.rst:259 msgid "Return the hour, as an int from 0 through 23." msgstr "Retorna a hora, como um inteiro de 0 a 23." -#: ../../c-api/datetime.rst:183 ../../c-api/datetime.rst:221 +#: ../../c-api/datetime.rst:226 ../../c-api/datetime.rst:264 msgid "Return the minute, as an int from 0 through 59." msgstr "Retorna o minuto, como um inteiro de 0 a 59." -#: ../../c-api/datetime.rst:188 ../../c-api/datetime.rst:226 +#: ../../c-api/datetime.rst:231 ../../c-api/datetime.rst:269 msgid "Return the second, as an int from 0 through 59." msgstr "Retorna o segundo, como um inteiro de 0 a 59." -#: ../../c-api/datetime.rst:193 ../../c-api/datetime.rst:231 +#: ../../c-api/datetime.rst:236 ../../c-api/datetime.rst:274 msgid "Return the microsecond, as an int from 0 through 999999." msgstr "Retorna o microssegundo, como um inteiro de 0 a 999999." -#: ../../c-api/datetime.rst:198 ../../c-api/datetime.rst:236 +#: ../../c-api/datetime.rst:241 ../../c-api/datetime.rst:279 msgid "Return the fold, as an int from 0 through 1." msgstr "Retorna a dobra, como um inteiro de 0 a 1." -#: ../../c-api/datetime.rst:205 ../../c-api/datetime.rst:243 +#: ../../c-api/datetime.rst:248 ../../c-api/datetime.rst:286 msgid "Return the tzinfo (which may be ``None``)." msgstr "Retorna o tzinfo (que pode ser ``None``)." -#: ../../c-api/datetime.rst:210 +#: ../../c-api/datetime.rst:253 msgid "" "Macros to extract fields from time objects. The argument must be an " -"instance of :c:data:`PyDateTime_Time`, including subclasses. The argument " +"instance of :c:type:`PyDateTime_Time`, including subclasses. The argument " "must not be ``NULL``, and the type is not checked:" msgstr "" -"Macros para extrair campos de objetos de tempo. O argumento deve ser uma " -"instância de :c:data:`PyDateTime_Time`, incluindo subclasses. O argumento " -"não deve ser ``NULL`` e o tipo não é verificado:" +"Macros para extrair campos de objetos *time*. O argumento deve ser uma " +"instância de :c:type:`PyDateTime_Time`, inclusive subclasses. O argumento " +"não deve ser ``NULL``, e o tipo não é verificado:" -#: ../../c-api/datetime.rst:248 +#: ../../c-api/datetime.rst:291 msgid "" "Macros to extract fields from time delta objects. The argument must be an " -"instance of :c:data:`PyDateTime_Delta`, including subclasses. The argument " +"instance of :c:type:`PyDateTime_Delta`, including subclasses. The argument " "must not be ``NULL``, and the type is not checked:" msgstr "" -"Macros para extrair campos de objetos time delta. O argumento deve ser uma " -"instância de :c:data:`PyDateTime_Delta`, incluindo subclasses. O argumento " -"não deve ser ``NULL``, e o tipo não é checado:" +"Macros para extrair campos de objetos *time delta*. O argumento deve ser uma " +"instância de :c:type:`PyDateTime_Delta`, inclusive subclasses. O argumento " +"não deve ser ``NULL``, e o tipo não é verificado:" -#: ../../c-api/datetime.rst:254 +#: ../../c-api/datetime.rst:297 msgid "Return the number of days, as an int from -999999999 to 999999999." msgstr "Retorna o número de dias, como um inteiro de -999999999 a 999999999." -#: ../../c-api/datetime.rst:261 +#: ../../c-api/datetime.rst:304 msgid "Return the number of seconds, as an int from 0 through 86399." msgstr "Retorna o número de segundos, como um inteiro de 0 a 86399." -#: ../../c-api/datetime.rst:268 +#: ../../c-api/datetime.rst:311 msgid "Return the number of microseconds, as an int from 0 through 999999." msgstr "Retorna o número de microssegundos, como um inteiro de 0 a 999999." -#: ../../c-api/datetime.rst:273 +#: ../../c-api/datetime.rst:316 msgid "Macros for the convenience of modules implementing the DB API:" msgstr "Macros para a conveniência de módulos implementando a API de DB:" -#: ../../c-api/datetime.rst:277 +#: ../../c-api/datetime.rst:320 msgid "" "Create and return a new :class:`datetime.datetime` object given an argument " "tuple suitable for passing to :meth:`datetime.datetime.fromtimestamp()`." msgstr "" "Cria e retorna um novo objeto :class:`datetime.datetime`, com uma tupla de " -"argumentos adequada para passar para :meth:`datetime.datetime." -"fromtimestamp()`." +"argumentos adequada para passar " +"para :meth:`datetime.datetime.fromtimestamp()`." -#: ../../c-api/datetime.rst:283 +#: ../../c-api/datetime.rst:326 msgid "" "Create and return a new :class:`datetime.date` object given an argument " "tuple suitable for passing to :meth:`datetime.date.fromtimestamp()`." diff --git a/c-api/descriptor.po b/c-api/descriptor.po index 4f3912147..0719d56e1 100644 --- a/c-api/descriptor.po +++ b/c-api/descriptor.po @@ -1,32 +1,31 @@ # 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: -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2025-11-01 16:25+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/descriptor.rst:6 msgid "Descriptor Objects" -msgstr "Objetos Descritores" +msgstr "Objetos descritores" #: ../../c-api/descriptor.rst:8 msgid "" diff --git a/c-api/dict.po b/c-api/dict.po index 19156b00b..ac42388be 100644 --- a/c-api/dict.po +++ b/c-api/dict.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Aline Balogh , 2021 -# felipe caridade , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -95,51 +92,49 @@ msgstr "Retorna um novo dicionário que contém o mesmo chave-valor como *p*." #: ../../c-api/dict.rst:65 msgid "" -"Insert *val* into the dictionary *p* with a key of *key*. *key* must be :" -"term:`hashable`; if it isn't, :exc:`TypeError` will be raised. Return ``0`` " -"on success or ``-1`` on failure. This function *does not* steal a reference " -"to *val*." +"Insert *val* into the dictionary *p* with a key of *key*. *key* must " +"be :term:`hashable`; if it isn't, :exc:`TypeError` will be raised. Return " +"``0`` on success or ``-1`` on failure. This function *does not* steal a " +"reference to *val*." msgstr "" -"Insere *val* no dicionário *p* com a tecla *key*. *key* deve ser :term:" -"`hasheável `; se não for, :exc:`TypeError` será levantada. Retorna " -"``0`` em caso de sucesso ou ``-1`` em caso de falha. Esta função *não* rouba " -"uma referência a *val*." +"Insere *val* no dicionário *p* com a tecla *key*. *key* deve " +"ser :term:`hasheável `; se não for, :exc:`TypeError` será " +"levantada. Retorna ``0`` em caso de sucesso ou ``-1`` em caso de falha. Esta " +"função *não* rouba uma referência a *val*." -#: ../../c-api/dict.rst:75 +#: ../../c-api/dict.rst:73 msgid "" -"Insert *val* into the dictionary *p* using *key* as a key. *key* should be " -"a :c:expr:`const char*`. The key object is created using " -"``PyUnicode_FromString(key)``. Return ``0`` on success or ``-1`` on " -"failure. This function *does not* steal a reference to *val*." +"This is the same as :c:func:`PyDict_SetItem`, but *key* is specified as " +"a :c:expr:`const char*` UTF-8 encoded bytes string, rather than " +"a :c:expr:`PyObject*`." msgstr "" -"Insere *val* no dicionário *p* usando *key* como uma chave. *key* deve ser " -"a :c:expr:`const char*`. O objeto chave é criado usando " -"``PyUnicode_FromString(key)``. Retorna ``0`` em caso de sucesso ou ``-1`` em " -"caso de falha. Esta função *não* rouba uma referência a *val*." +"É o mesmo que :c:func:`PyDict_SetItem`, mas *key* é especificada como uma " +"string de bytes :c:expr:`const char*` codificada em UTF-8, em vez de " +"um :c:expr:`PyObject*`." -#: ../../c-api/dict.rst:83 +#: ../../c-api/dict.rst:80 msgid "" -"Remove the entry in dictionary *p* with key *key*. *key* must be :term:" -"`hashable`; if it isn't, :exc:`TypeError` is raised. If *key* is not in the " -"dictionary, :exc:`KeyError` is raised. Return ``0`` on success or ``-1`` on " -"failure." +"Remove the entry in dictionary *p* with key *key*. *key* must " +"be :term:`hashable`; if it isn't, :exc:`TypeError` is raised. If *key* is " +"not in the dictionary, :exc:`KeyError` is raised. Return ``0`` on success or " +"``-1`` on failure." msgstr "" -"Remove a entrada no dicionário *p* com a chave *key*. *key* deve ser :term:" -"`hasheável`; se não for, :exc:`TypeError` é levantada. Se *key* não estiver " -"no dicionário, :exc:`KeyError` é levantada. Retorna ``0`` em caso de sucesso " -"ou ``-1`` em caso de falha." +"Remove a entrada no dicionário *p* com a chave *key*. *key* deve " +"ser :term:`hasheável`; se não for, :exc:`TypeError` é levantada. Se *key* " +"não estiver no dicionário, :exc:`KeyError` é levantada. Retorna ``0`` em " +"caso de sucesso ou ``-1`` em caso de falha." -#: ../../c-api/dict.rst:91 +#: ../../c-api/dict.rst:88 msgid "" -"Remove the entry in dictionary *p* which has a key specified by the string " -"*key*. If *key* is not in the dictionary, :exc:`KeyError` is raised. Return " -"``0`` on success or ``-1`` on failure." +"This is the same as :c:func:`PyDict_DelItem`, but *key* is specified as " +"a :c:expr:`const char*` UTF-8 encoded bytes string, rather than " +"a :c:expr:`PyObject*`." msgstr "" -"Remove a entrada no dicionário *p* que tem uma chave especificada pela " -"string *key*. Se *key* não estiver no dicionário, :exc:`KeyError` é " -"levantada. Retorna ``0`` em caso de sucesso ou ``-1`` em caso de falha." +"É o mesmo que :c:func:`PyDict_DelItem`, mas *key* é especificada como uma " +"string de bytes :c:expr:`const char*` codificada em UTF-8, em vez de " +"um :c:expr:`PyObject*`." -#: ../../c-api/dict.rst:98 +#: ../../c-api/dict.rst:95 msgid "" "Return the object from dictionary *p* which has a key *key*. Return " "``NULL`` if the key *key* is not present, but *without* setting an exception." @@ -148,25 +143,25 @@ msgstr "" "``NULL`` se a chave *key* não estiver presente, mas *sem* definir uma " "exceção." -#: ../../c-api/dict.rst:101 +#: ../../c-api/dict.rst:100 msgid "" -"Note that exceptions which occur while calling :meth:`__hash__` and :meth:" -"`__eq__` methods will get suppressed. To get error reporting use :c:func:" -"`PyDict_GetItemWithError()` instead." +"Exceptions that occur while this calls :meth:`~object.__hash__` " +"and :meth:`~object.__eq__` methods are silently ignored. Prefer " +"the :c:func:`PyDict_GetItemWithError` function instead." msgstr "" -"Observe que as exceções que ocorrem ao chamar os métodos :meth:`__hash__` e :" -"meth:`__eq__` serão suprimidas. Para obter o relatório de erros, use :c:func:" -"`PyDict_GetItemWithError()`." +"Exceções que ocorrem ao chamar os métodos :meth:`~object.__hash__` " +"e :meth:`~object.__eq__` são ignoradas silenciosamente. Ao invés disso, use " +"a função :c:func:`PyDict_GetItemWithError`." -#: ../../c-api/dict.rst:105 +#: ../../c-api/dict.rst:104 msgid "" "Calling this API without :term:`GIL` held had been allowed for historical " "reason. It is no longer allowed." msgstr "" -"Chamar esta API sem :term:`GIL` retido foi permitido por motivos históricos. " +"Chamar esta API sem :term:`GIL` retida era permitido por motivos históricos. " "Não é mais permitido." -#: ../../c-api/dict.rst:112 +#: ../../c-api/dict.rst:111 msgid "" "Variant of :c:func:`PyDict_GetItem` that does not suppress exceptions. " "Return ``NULL`` **with** an exception set if an exception occurred. Return " @@ -176,25 +171,31 @@ msgstr "" "``NULL`` **com** uma exceção definida se uma exceção ocorreu. Retorna " "``NULL`` ** sem ** uma exceção definida se a chave não estiver presente." -#: ../../c-api/dict.rst:120 +#: ../../c-api/dict.rst:119 msgid "" -"This is the same as :c:func:`PyDict_GetItem`, but *key* is specified as a :c:" -"expr:`const char*`, rather than a :c:expr:`PyObject*`." +"This is the same as :c:func:`PyDict_GetItem`, but *key* is specified as " +"a :c:expr:`const char*` UTF-8 encoded bytes string, rather than " +"a :c:expr:`PyObject*`." msgstr "" -"É o mesmo que :c:func:`PyDict_GetItem`, mas *key* é especificada como um :c:" -"expr:`const char*`, em vez de um :c:expr:`PyObject*`." +"É o mesmo que :c:func:`PyDict_GetItem`, mas *key* é especificada como uma " +"string de bytes :c:expr:`const char*` codificada em UTF-8, em vez de " +"um :c:expr:`PyObject*`." -#: ../../c-api/dict.rst:123 +#: ../../c-api/dict.rst:125 msgid "" -"Note that exceptions which occur while calling :meth:`__hash__` and :meth:" -"`__eq__` methods and creating a temporary string object will get suppressed. " -"To get error reporting use :c:func:`PyDict_GetItemWithError()` instead." +"Exceptions that occur while this calls :meth:`~object.__hash__` " +"and :meth:`~object.__eq__` methods or while creating the " +"temporary :class:`str` object are silently ignored. Prefer using " +"the :c:func:`PyDict_GetItemWithError` function with your " +"own :c:func:`PyUnicode_FromString` *key* instead." msgstr "" -"Observe que as exceções que ocorrem ao chamar os métodos :meth:`__hash__` e :" -"meth:`__eq__` e criar um objeto string temporário serão suprimidas. Para " -"obter o relatório de erros, use :c:func:`PyDict_GetItemWithError()`." +"Exceções que ocorrem ao chamar os métodos :meth:`~object.__hash__` " +"e :meth:`~object.__eq__` ou ao criar objetos temporários da " +"classe :class:`str` são ignoradas silenciosamente. Ao invés disso, prefira " +"usar a função :c:func:`PyDict_GetItemWithError` com sua própria *key* " +"de :c:func:`PyUnicode_FromString`." -#: ../../c-api/dict.rst:131 +#: ../../c-api/dict.rst:134 msgid "" "This is the same as the Python-level :meth:`dict.setdefault`. If present, " "it returns the value corresponding to *key* from the dictionary *p*. If the " @@ -209,19 +210,19 @@ msgstr "" "será retornado. Esta função avalia a função hash de *key* apenas uma vez, em " "vez de avaliá-la independentemente para a pesquisa e a inserção." -#: ../../c-api/dict.rst:141 +#: ../../c-api/dict.rst:144 msgid "" "Return a :c:type:`PyListObject` containing all the items from the dictionary." msgstr "" "Retorna um :c:type:`PyListObject` contendo todos os itens do dicionário." -#: ../../c-api/dict.rst:146 +#: ../../c-api/dict.rst:149 msgid "" "Return a :c:type:`PyListObject` containing all the keys from the dictionary." msgstr "" "Retorna um :c:type:`PyListObject` contendo todas as chaves do dicionário." -#: ../../c-api/dict.rst:151 +#: ../../c-api/dict.rst:154 msgid "" "Return a :c:type:`PyListObject` containing all the values from the " "dictionary *p*." @@ -229,7 +230,7 @@ msgstr "" "Retorna um :c:type:`PyListObject` contendo todos os valores do dicionário " "*p*." -#: ../../c-api/dict.rst:159 +#: ../../c-api/dict.rst:162 msgid "" "Return the number of items in the dictionary. This is equivalent to " "``len(p)`` on a dictionary." @@ -237,35 +238,35 @@ msgstr "" "Retorna o número de itens no dicionário. Isso é equivalente a ``len(p)`` em " "um dicionário." -#: ../../c-api/dict.rst:165 +#: ../../c-api/dict.rst:168 msgid "" -"Iterate over all key-value pairs in the dictionary *p*. The :c:type:" -"`Py_ssize_t` referred to by *ppos* must be initialized to ``0`` prior to the " -"first call to this function to start the iteration; the function returns " -"true for each pair in the dictionary, and false once all pairs have been " -"reported. The parameters *pkey* and *pvalue* should either point to :c:expr:" -"`PyObject*` variables that will be filled in with each key and value, " -"respectively, or may be ``NULL``. Any references returned through them are " -"borrowed. *ppos* should not be altered during iteration. Its value " -"represents offsets within the internal dictionary structure, and since the " -"structure is sparse, the offsets are not consecutive." +"Iterate over all key-value pairs in the dictionary *p*. " +"The :c:type:`Py_ssize_t` referred to by *ppos* must be initialized to ``0`` " +"prior to the first call to this function to start the iteration; the " +"function returns true for each pair in the dictionary, and false once all " +"pairs have been reported. The parameters *pkey* and *pvalue* should either " +"point to :c:expr:`PyObject*` variables that will be filled in with each key " +"and value, respectively, or may be ``NULL``. Any references returned " +"through them are borrowed. *ppos* should not be altered during iteration. " +"Its value represents offsets within the internal dictionary structure, and " +"since the structure is sparse, the offsets are not consecutive." msgstr "" -"Itera todos os pares de valores-chave no dicionário *p*. O :c:type:" -"`Py_ssize_t` referido por *ppos* deve ser inicializado para ``0`` antes da " -"primeira chamada para esta função para iniciar a iteração; a função retorna " -"true para cada par no dicionário e false quando todos os pares forem " -"relatados. Os parâmetros *pkey* e *pvalue* devem apontar para variáveis de :" -"c:expr:`PyObject*` que serão preenchidas com cada chave e valor, " +"Itera todos os pares de valores-chave no dicionário *p*. " +"O :c:type:`Py_ssize_t` referido por *ppos* deve ser inicializado para ``0`` " +"antes da primeira chamada para esta função para iniciar a iteração; a função " +"retorna true para cada par no dicionário e false quando todos os pares forem " +"relatados. Os parâmetros *pkey* e *pvalue* devem apontar para variáveis " +"de :c:expr:`PyObject*` que serão preenchidas com cada chave e valor, " "respectivamente, ou podem ser ``NULL``. Todas as referências retornadas por " "meio deles são emprestadas. *ppos* não deve ser alterado durante a iteração. " "Seu valor representa deslocamentos dentro da estrutura do dicionário interno " "e, como a estrutura é esparsa, os deslocamentos não são consecutivos." -#: ../../c-api/dict.rst:176 +#: ../../c-api/dict.rst:179 msgid "For example::" msgstr "Por exemplo::" -#: ../../c-api/dict.rst:186 +#: ../../c-api/dict.rst:189 msgid "" "The dictionary *p* should not be mutated during iteration. It is safe to " "modify the values of the keys as you iterate over the dictionary, but only " @@ -275,7 +276,7 @@ msgstr "" "modificar os valores das chaves à medida que você itera no dicionário, mas " "apenas enquanto o conjunto de chaves não mudar. Por exemplo::" -#: ../../c-api/dict.rst:211 +#: ../../c-api/dict.rst:214 msgid "" "Iterate over mapping object *b* adding key-value pairs to dictionary *a*. " "*b* may be a dictionary, or any object supporting :c:func:`PyMapping_Keys` " @@ -285,28 +286,28 @@ msgid "" "or ``-1`` if an exception was raised." msgstr "" "Itera sobre o objeto de mapeamento *b* adicionando pares de valores-chave ao " -"dicionário *a*. *b* pode ser um dicionário, ou qualquer objeto que suporte :" -"c:func:`PyMapping_Keys` e :c:func:`PyObject_GetItem`. Se *override* for " -"verdadeiro, os pares existentes em *a* serão substituídos se uma chave " +"dicionário *a*. *b* pode ser um dicionário, ou qualquer objeto que " +"suporte :c:func:`PyMapping_Keys` e :c:func:`PyObject_GetItem`. Se *override* " +"for verdadeiro, os pares existentes em *a* serão substituídos se uma chave " "correspondente for encontrada em *b*, caso contrário, os pares serão " "adicionados apenas se não houver uma chave correspondente em *a*. Retorna " "``0`` em caso de sucesso ou ``-1`` se uma exceção foi levantada." -#: ../../c-api/dict.rst:221 +#: ../../c-api/dict.rst:224 msgid "" -"This is the same as ``PyDict_Merge(a, b, 1)`` in C, and is similar to ``a." -"update(b)`` in Python except that :c:func:`PyDict_Update` doesn't fall back " -"to the iterating over a sequence of key value pairs if the second argument " -"has no \"keys\" attribute. Return ``0`` on success or ``-1`` if an " +"This is the same as ``PyDict_Merge(a, b, 1)`` in C, and is similar to " +"``a.update(b)`` in Python except that :c:func:`PyDict_Update` doesn't fall " +"back to the iterating over a sequence of key value pairs if the second " +"argument has no \"keys\" attribute. Return ``0`` on success or ``-1`` if an " "exception was raised." msgstr "" -"É o mesmo que ``PyDict_Merge(a, b, 1)`` em C, e é semelhante a ``a." -"update(b)`` em Python, exceto que :c:func:`PyDict_Update` não cai na " +"É o mesmo que ``PyDict_Merge(a, b, 1)`` em C, e é semelhante a " +"``a.update(b)`` em Python, exceto que :c:func:`PyDict_Update` não cai na " "iteração em uma sequência de pares de valores de chave se o segundo " "argumento não tiver o atributo \"keys\". Retorna ``0`` em caso de sucesso ou " "``-1`` se uma exceção foi levantada." -#: ../../c-api/dict.rst:230 +#: ../../c-api/dict.rst:233 msgid "" "Update or merge into dictionary *a*, from the key-value pairs in *seq2*. " "*seq2* must be an iterable object producing iterable objects of length 2, " @@ -329,14 +330,10 @@ msgstr "objeto" msgid "dictionary" msgstr "dicionário" -#: ../../c-api/dict.rst:73 -msgid "PyUnicode_FromString()" -msgstr "" - -#: ../../c-api/dict.rst:157 +#: ../../c-api/dict.rst:160 msgid "built-in function" msgstr "função embutida" -#: ../../c-api/dict.rst:157 +#: ../../c-api/dict.rst:160 msgid "len" -msgstr "" +msgstr "len" diff --git a/c-api/exceptions.po b/c-api/exceptions.po index 59308f5a1..493def6ac 100644 --- a/c-api/exceptions.po +++ b/c-api/exceptions.po @@ -1,39 +1,35 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Alexsandro Matias de Almeida , 2021 -# Misael borges , 2021 -# Richard Nixon , 2021 -# Renan Lopes , 2021 -# a76d6fb6142d7607ab0526dcbddb02d7_7bf0da0 <3b5fb0f281c8dfb4c0170f2ee2a6cfcf_843623>, 2021 -# i17obot , 2022 -# Rafael Fontenelle , 2023 -# Marco Rougeth , 2023 +# python-doc bot, 2025 +# Joao Roccella , 2025 +# Gustavo Reis, 2025 +# willian ohara, 2026 +# Rafael Fontenelle , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Marco Rougeth , 2023\n" +"POT-Creation-Date: 2026-10-21 21:52+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/exceptions.rst:8 msgid "Exception Handling" -msgstr "Manipulando Exceções" +msgstr "Tratamento de exceções" #: ../../c-api/exceptions.rst:10 msgid "" @@ -49,13 +45,13 @@ msgid "" msgstr "" "As funções descritas nesse capítulo permitem você tratar e gerar exceções em " "Python. É importante entender alguns princípios básicos no tratamento de " -"exceção no Python. Funciona de forma parecida com a variável POSIX :c:data:" -"`errno`: existe um indicador global (por thread) do último erro ocorrido. A " -"maioria das funções da API C não limpa isso com êxito, mas indica a causa do " -"erro na falha. A maioria das funções da API retorna um indicador de erro, " -"geralmente, ``NULL`` se eles devem retornar um ponteiro, ou ``-1`` se " -"retornarem um inteiro (exceção: as funções ``PyArg_*`` retornam ``1`` para " -"sucesso e ``0`` para falha)." +"exceções no Python. Funciona de forma parecida com a variável " +"POSIX :c:data:`errno`: existe um indicador global (por thread) do último " +"erro ocorrido. A maioria das funções da API C não o zera ao obter sucesso, " +"mas o define para indicar a causa do erro ao falhar. A maioria das funções " +"da API retorna um indicador de erro, geralmente, ``NULL`` se eles devem " +"retornar um ponteiro, ou ``-1`` se retornarem um inteiro (exceção: as " +"funções ``PyArg_*`` retornam ``1`` para sucesso e ``0`` para falha)." #: ../../c-api/exceptions.rst:20 msgid "" @@ -65,8 +61,8 @@ msgid "" "forbidden, for example you can't have a non-``NULL`` traceback if the " "exception type is ``NULL``)." msgstr "" -"Concretamente, o indicador de erro consiste em três ponteiros de objeto: o " -"tipo da exceção, o valor da exceção e o objeto de traceback. Qualquer um " +"De forma concreta, o indicador de erro consiste em três ponteiros de objeto: " +"o tipo da exceção, o valor da exceção e o objeto de traceback. Qualquer um " "desses ponteiros pode ser ``NULL`` se não definido (embora algumas " "combinações sejam proibidas, por exemplo, você não pode ter um retorno não " "``NULL`` se o tipo de exceção for ``NULL``)." @@ -101,6 +97,10 @@ msgid "" "still propagating), while the latter returns an exception after it is caught " "(and has therefore stopped propagating)." msgstr "" +"O indicador de erro **not** é resultado de :func:`sys.exc_info()`. O " +"primeiro corresponde a uma exceção que ainda não foi capturada (e, portanto, " +"ainda está se propagando), enquanto o segundo retorna uma exceção após ser " +"capturada (e, portanto, parou de se propagar)." #: ../../c-api/exceptions.rst:44 msgid "Printing and clearing" @@ -121,6 +121,10 @@ msgid "" "printed and the Python process will exit with the error code specified by " "the ``SystemExit`` instance." msgstr "" +"Exibe um traceback padrão para ``sys.stderr`` e limpe o indicador de erro. " +"**A menos que** o erro seja um ``SystemExit``, nesse caso, nenhum traceback " +"será impresso e o processo Python será encerrado com o código de erro " +"especificado pela instância ``SystemExit``." #: ../../c-api/exceptions.rst:60 msgid "" @@ -132,10 +136,15 @@ msgstr "" #: ../../c-api/exceptions.rst:63 msgid "" -"If *set_sys_last_vars* is nonzero, the variables :data:`sys.last_type`, :" -"data:`sys.last_value` and :data:`sys.last_traceback` will be set to the " -"type, value and traceback of the printed exception, respectively." +"If *set_sys_last_vars* is nonzero, the " +"variables :data:`sys.last_type`, :data:`sys.last_value` " +"and :data:`sys.last_traceback` will be set to the type, value and traceback " +"of the printed exception, respectively." msgstr "" +"Se *set_sys_last_vars* for diferente de zero, as " +"variáveis :data:`sys.last_type`, :data:`sys.last_value` " +"e :data:`sys.last_traceback` também são definidas para o tipo, valor e " +"traceback da exceção exibida respectivamente." #: ../../c-api/exceptions.rst:70 msgid "Alias for ``PyErr_PrintEx(1)``." @@ -146,15 +155,19 @@ msgid "" "Call :func:`sys.unraisablehook` using the current exception and *obj* " "argument." msgstr "" -"Chame :func:`sys.unraisablehook` usando a exceção atual e o argumento *obj*." +"Chama :func:`sys.unraisablehook` usando a exceção atual e o argumento *obj*." #: ../../c-api/exceptions.rst:78 msgid "" "This utility function prints a warning message to ``sys.stderr`` when an " "exception has been set but it is impossible for the interpreter to actually " "raise the exception. It is used, for example, when an exception occurs in " -"an :meth:`__del__` method." +"an :meth:`~object.__del__` method." msgstr "" +"Esta função utilitária imprime uma mensagem de aviso para ``sys.stderr`` " +"quando uma exceção foi definida, mas é impossível para o interpretador " +"realmente gerar a exceção. É usada, por exemplo, quando ocorre uma exceção " +"em um método :meth:`~object.__del__`." #: ../../c-api/exceptions.rst:83 msgid "" @@ -162,6 +175,9 @@ msgid "" "context in which the unraisable exception occurred. If possible, the repr of " "*obj* will be printed in the warning message." msgstr "" +"A função é chamada com um único argumento *obj* que identifica o contexto em " +"que ocorreu a exceção não levantável. Se possível, a repr do *obj* será " +"impresso na mensagem de alerta." #: ../../c-api/exceptions.rst:87 msgid "An exception must be set when calling this function." @@ -169,7 +185,7 @@ msgstr "Uma exceção deve ser definida ao chamar essa função." #: ../../c-api/exceptions.rst:91 msgid "Raising exceptions" -msgstr "Lançando exceções" +msgstr "Levantando exceções" #: ../../c-api/exceptions.rst:93 msgid "" @@ -185,12 +201,17 @@ msgstr "" msgid "" "This is the most common way to set the error indicator. The first argument " "specifies the exception type; it is normally one of the standard exceptions, " -"e.g. :c:data:`PyExc_RuntimeError`. You need not increment its reference " -"count. The second argument is an error message; it is decoded from " -"``'utf-8'``." +"e.g. :c:data:`PyExc_RuntimeError`. You need not create a new :term:`strong " +"reference` to it (e.g. with :c:func:`Py_INCREF`). The second argument is an " +"error message; it is decoded from ``'utf-8'``." msgstr "" +"Esse é o modo mais comum de definir o indicador de erro. O primeiro " +"argumento especifica o tipo da exceção; é normalmente uma das exceções " +"padrão, como :c:data:`PyExc_RuntimeError`. Você não precisa criar um " +"novo :term:`strong reference` para ela (como em :c:func:`Py_INCREF`). O " +"segundo argumento é uma mensagem de erro; ela é codificada com ``'utf-8'``." -#: ../../c-api/exceptions.rst:108 +#: ../../c-api/exceptions.rst:109 msgid "" "This function is similar to :c:func:`PyErr_SetString` but lets you specify " "an arbitrary Python object for the \"value\" of the exception." @@ -198,15 +219,20 @@ msgstr "" "Essa função é semelhante à :c:func:`PyErr_SetString` mas permite especificar " "um objeto Python arbitrário para o valor da exceção." -#: ../../c-api/exceptions.rst:114 +#: ../../c-api/exceptions.rst:115 msgid "" "This function sets the error indicator and returns ``NULL``. *exception* " "should be a Python exception class. The *format* and subsequent parameters " -"help format the error message; they have the same meaning and values as in :" -"c:func:`PyUnicode_FromFormat`. *format* is an ASCII-encoded string." +"help format the error message; they have the same meaning and values as " +"in :c:func:`PyUnicode_FromFormat`. *format* is an ASCII-encoded string." msgstr "" +"Essa função define o indicador de erro e retorna ``NULL``. *exception* deve " +"ser uma classe Python de exceção. O *format* e parâmetros subsequentes " +"ajudam a formatar a mensagem de erro; eles têm o mesmo significado e valores " +"que em :c:func:`PyUnicode_FromFormat`. *format* é uma string codificada em " +"ASCII." -#: ../../c-api/exceptions.rst:123 +#: ../../c-api/exceptions.rst:124 msgid "" "Same as :c:func:`PyErr_Format`, but taking a :c:type:`va_list` argument " "rather than a variable number of arguments." @@ -214,18 +240,21 @@ msgstr "" "Igual a :c:func:`PyErr_Format`, mas usando o argumento :c:type:`va_list` em " "vez de um número variável de argumentos." -#: ../../c-api/exceptions.rst:131 +#: ../../c-api/exceptions.rst:132 msgid "This is a shorthand for ``PyErr_SetObject(type, Py_None)``." msgstr "Isso é uma abreviação para ``PyErr_SetObject(type, Py_None)``." -#: ../../c-api/exceptions.rst:136 +#: ../../c-api/exceptions.rst:137 msgid "" "This is a shorthand for ``PyErr_SetString(PyExc_TypeError, message)``, where " "*message* indicates that a built-in operation was invoked with an illegal " "argument. It is mostly for internal use." msgstr "" +"Essa é uma abreviação de ``PyErr_SetString(PyExc_TypeError, message)``, na " +"qual *message* indica que uma operação embutida foi invocada com um " +"argumento ilegal. Ela é principalmente para uso interno." -#: ../../c-api/exceptions.rst:143 +#: ../../c-api/exceptions.rst:144 msgid "" "This is a shorthand for ``PyErr_SetNone(PyExc_MemoryError)``; it returns " "``NULL`` so an object allocation function can write ``return " @@ -235,84 +264,118 @@ msgstr "" "``NULL``  para que uma função de alocação de objeto possa escrever ``return " "PyErr_NoMemory();``  quando ficar sem memória." -#: ../../c-api/exceptions.rst:152 +#: ../../c-api/exceptions.rst:153 msgid "" "This is a convenience function to raise an exception when a C library " "function has returned an error and set the C variable :c:data:`errno`. It " "constructs a tuple object whose first item is the integer :c:data:`errno` " -"value and whose second item is the corresponding error message (gotten from :" -"c:func:`strerror`), and then calls ``PyErr_SetObject(type, object)``. On " -"Unix, when the :c:data:`errno` value is :const:`EINTR`, indicating an " -"interrupted system call, this calls :c:func:`PyErr_CheckSignals`, and if " -"that set the error indicator, leaves it set to that. The function always " -"returns ``NULL``, so a wrapper function around a system call can write " -"``return PyErr_SetFromErrno(type);`` when the system call returns an error." -msgstr "" - -#: ../../c-api/exceptions.rst:166 +"value and whose second item is the corresponding error message (gotten " +"from :c:func:`!strerror`), and then calls ``PyErr_SetObject(type, " +"object)``. On Unix, when the :c:data:`errno` value is :c:macro:`!EINTR`, " +"indicating an interrupted system call, this " +"calls :c:func:`PyErr_CheckSignals`, and if that set the error indicator, " +"leaves it set to that. The function always returns ``NULL``, so a wrapper " +"function around a system call can write ``return PyErr_SetFromErrno(type);`` " +"when the system call returns an error." +msgstr "" +"Esta é uma função conveniente para levantar uma exceção quando uma função da " +"biblioteca C retornou um erro e definir a variável C :c:data:`errno`. Ela " +"constrói um objeto tupla cujo primeiro item é o valor " +"inteiro :c:data:`errno` e cujo segundo item é a mensagem de erro " +"correspondente (obtida de :c:func:`!strerror`), e então chama " +"``PyErr_SetObject(type, object)``. No Unix, quando o valor :c:data:`errno` " +"é :c:macro:`!EINTR`, indicando uma chamada de sistema interrompida, isso " +"chama :c:func:`PyErr_CheckSignals`, e se isso definir o indicador de erro, " +"deixa-o definido como tal. A função retorna sempre ``NULL``, de forma que " +"uma função que envolve uma chamada de sistema pode retornar ``return " +"PyErr_SetFromErrno(type);`` quando a chamada de sistema retornar um erro." + +#: ../../c-api/exceptions.rst:167 msgid "" "Similar to :c:func:`PyErr_SetFromErrno`, with the additional behavior that " "if *filenameObject* is not ``NULL``, it is passed to the constructor of " "*type* as a third parameter. In the case of :exc:`OSError` exception, this " -"is used to define the :attr:`filename` attribute of the exception instance." +"is used to define the :attr:`!filename` attribute of the exception instance." msgstr "" +"Similar à :c:func:`PyErr_SetFromErrno`, com o comportamento adicional de " +"que, se *filenameObject* não é ``NULL``, ele é passado para o construtor de " +"*type* como um terceiro parâmetro. No caso da exceção :exc:`OSError`, isso é " +"usado para definir o atributo :attr:`!filename` da instância da exceção." -#: ../../c-api/exceptions.rst:175 +#: ../../c-api/exceptions.rst:176 msgid "" "Similar to :c:func:`PyErr_SetFromErrnoWithFilenameObject`, but takes a " "second filename object, for raising errors when a function that takes two " "filenames fails." msgstr "" +"Similar à :c:func:`PyErr_SetFromErrnoWithFilenameObject`, mas recebe um " +"segundo objeto filename, para levantar erros quando uma função que recebe " +"dois nomes de arquivos falha." -#: ../../c-api/exceptions.rst:184 +#: ../../c-api/exceptions.rst:185 msgid "" "Similar to :c:func:`PyErr_SetFromErrnoWithFilenameObject`, but the filename " "is given as a C string. *filename* is decoded from the :term:`filesystem " "encoding and error handler`." msgstr "" +"Similar à :c:func:`PyErr_SetFromErrnoWithFilenameObject`, mas o nome do " +"arquivo é fornecido como uma string C. *filename* é decodificado " +"do :term:`filesystem encoding and error handler`." -#: ../../c-api/exceptions.rst:191 +#: ../../c-api/exceptions.rst:192 msgid "" "This is a convenience function to raise :exc:`WindowsError`. If called with " -"*ierr* of ``0``, the error code returned by a call to :c:func:`GetLastError` " -"is used instead. It calls the Win32 function :c:func:`FormatMessage` to " -"retrieve the Windows description of error code given by *ierr* or :c:func:" -"`GetLastError`, then it constructs a tuple object whose first item is the " -"*ierr* value and whose second item is the corresponding error message " -"(gotten from :c:func:`FormatMessage`), and then calls " +"*ierr* of ``0``, the error code returned by a call to :c:func:`!" +"GetLastError` is used instead. It calls the Win32 function :c:func:`!" +"FormatMessage` to retrieve the Windows description of error code given by " +"*ierr* or :c:func:`!GetLastError`, then it constructs a tuple object whose " +"first item is the *ierr* value and whose second item is the corresponding " +"error message (gotten from :c:func:`!FormatMessage`), and then calls " "``PyErr_SetObject(PyExc_WindowsError, object)``. This function always " "returns ``NULL``." msgstr "" -#: ../../c-api/exceptions.rst:200 ../../c-api/exceptions.rst:208 -#: ../../c-api/exceptions.rst:217 ../../c-api/exceptions.rst:225 -#: ../../c-api/exceptions.rst:233 ../../c-api/exceptions.rst:243 +#: ../../c-api/exceptions.rst:201 ../../c-api/exceptions.rst:209 +#: ../../c-api/exceptions.rst:220 ../../c-api/exceptions.rst:230 +#: ../../c-api/exceptions.rst:238 ../../c-api/exceptions.rst:248 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." -#: ../../c-api/exceptions.rst:205 +#: ../../c-api/exceptions.rst:206 msgid "" "Similar to :c:func:`PyErr_SetFromWindowsErr`, with an additional parameter " "specifying the exception type to be raised." msgstr "" +"Semelhante a :c:func:`PyErr_SetFromWindowsErr`, com um parâmetro adicional " +"que especifica o tipo de exceção a ser levantada." -#: ../../c-api/exceptions.rst:213 +#: ../../c-api/exceptions.rst:214 msgid "" -"Similar to :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, but the " -"filename is given as a C string. *filename* is decoded from the filesystem " -"encoding (:func:`os.fsdecode`)." +"Similar to :c:func:`PyErr_SetFromWindowsErr`, with the additional behavior " +"that if *filename* is not ``NULL``, it is decoded from the filesystem " +"encoding (:func:`os.fsdecode`) and passed to the constructor " +"of :exc:`OSError` as a third parameter to be used to define the :attr:`!" +"filename` attribute of the exception instance." msgstr "" -"Similar à :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, mas o nome do " -"arquivo é dados como uma String C. O nome do arquivo é decodificado a partir " -"do sistema de arquivos (:func:`os.fsdecode`)." +"Semelhante a :c:func:`PyErr_SetFromWindowsErr`, com o comportamento " +"adicional de que, se *filename* não for ``NULL``, ele é decodificado a " +"partir da codificação do sistema de arquivos (:func:`os.fsdecode`) e passado " +"para o construtor de :exc:`OSError` como um terceiro parâmetro a ser usado " +"para definir o atributo :attr:`!filename` da instância da exceção." -#: ../../c-api/exceptions.rst:222 +#: ../../c-api/exceptions.rst:225 msgid "" -"Similar to :c:func:`PyErr_SetFromWindowsErrWithFilenameObject`, with an " -"additional parameter specifying the exception type to be raised." +"Similar to :c:func:`PyErr_SetExcFromWindowsErr`, with the additional " +"behavior that if *filename* is not ``NULL``, it is passed to the constructor " +"of :exc:`OSError` as a third parameter to be used to define the :attr:`!" +"filename` attribute of the exception instance." msgstr "" +"Semelhante a :c:func:`PyErr_SetExcFromWindowsErr`, com o comportamento " +"adicional de que, se *filename* não for ``NULL``, ele é passado para o " +"construtor de :exc:`OSError` como um terceiro parâmetro a ser usado para " +"definir o atributo :attr:`!filename` da instância da exceção." -#: ../../c-api/exceptions.rst:230 +#: ../../c-api/exceptions.rst:235 msgid "" "Similar to :c:func:`PyErr_SetExcFromWindowsErrWithFilenameObject`, but " "accepts a second filename object." @@ -320,7 +383,7 @@ msgstr "" "Similar à :c:func:`PyErr_SetExcFromWindowsErrWithFilenameObject`, mas aceita " "um segundo caminho do objeto." -#: ../../c-api/exceptions.rst:240 +#: ../../c-api/exceptions.rst:245 msgid "" "Similar to :c:func:`PyErr_SetFromWindowsErrWithFilename`, with an additional " "parameter specifying the exception type to be raised." @@ -328,15 +391,19 @@ msgstr "" "Similar à :c:func:`PyErr_SetFromWindowsErrWithFilename`, com um parâmetro " "adicional especificando o tipo de exceção a ser gerado." -#: ../../c-api/exceptions.rst:248 +#: ../../c-api/exceptions.rst:253 msgid "" "This is a convenience function to raise :exc:`ImportError`. *msg* will be " "set as the exception's message string. *name* and *path*, both of which can " "be ``NULL``, will be set as the :exc:`ImportError`'s respective ``name`` and " "``path`` attributes." msgstr "" +"Essa é uma função conveniente para levantar :exc:`ImportError`. *msg* será " +"definido como a string da mensagem de exceção. *name* e *path*, ambos os " +"quais podem ser ``NULL``, serão definidos como, respectivamente, os " +"atributos ``name`` e ``path`` de :exc:`ImportError`." -#: ../../c-api/exceptions.rst:258 +#: ../../c-api/exceptions.rst:263 msgid "" "Much like :c:func:`PyErr_SetImportError` but this function allows for " "specifying a subclass of :exc:`ImportError` to raise." @@ -344,39 +411,52 @@ msgstr "" "Muito parecido com :c:func:`PyErr_SetImportError` mas a função permite " "especificar uma subclasse de :exc:`ImportError` para levantar uma exceção." -#: ../../c-api/exceptions.rst:266 +#: ../../c-api/exceptions.rst:271 msgid "" "Set file, line, and offset information for the current exception. If the " "current exception is not a :exc:`SyntaxError`, then it sets additional " "attributes, which make the exception printing subsystem think the exception " "is a :exc:`SyntaxError`." msgstr "" +"Define informações de arquivo, linha e deslocamento para a atual exceção. Se " +"a exceção não é :exc:`SyntaxError`, define atributos adicionais, os quais " +"fazem o subsistema de impressão de exceções pensar que trata-se de " +"um :exc:`SyntaxError`." -#: ../../c-api/exceptions.rst:276 +#: ../../c-api/exceptions.rst:281 msgid "" "Like :c:func:`PyErr_SyntaxLocationObject`, but *filename* is a byte string " "decoded from the :term:`filesystem encoding and error handler`." msgstr "" +"Como :c:func:`PyErr_SyntaxLocationObject`, mas *filename* é uma bytestring " +"descodificada a partir do :term:`tratador de erros e codificação do sistema " +"de arquivos`." -#: ../../c-api/exceptions.rst:284 +#: ../../c-api/exceptions.rst:289 msgid "" "Like :c:func:`PyErr_SyntaxLocationEx`, but the *col_offset* parameter is " "omitted." msgstr "" +"Como :c:func:`PyErr_SyntaxLocationEx`, mas o parâmetro *col_offset* é " +"omitido." -#: ../../c-api/exceptions.rst:290 +#: ../../c-api/exceptions.rst:295 msgid "" "This is a shorthand for ``PyErr_SetString(PyExc_SystemError, message)``, " "where *message* indicates that an internal operation (e.g. a Python/C API " "function) was invoked with an illegal argument. It is mostly for internal " "use." msgstr "" +"Essa é uma abreviação de ``PyErr_SetString(PyExc_SystemError, message)``, " +"onde *message* indica que uma operação interna (por exemplo, uma função API " +"C/Python) foi invocada com um argumento ilegal. Ela é principalmente para " +"uso interno." -#: ../../c-api/exceptions.rst:297 +#: ../../c-api/exceptions.rst:302 msgid "Issuing warnings" -msgstr "Emitindo advertências" +msgstr "Emitindo avisos" -#: ../../c-api/exceptions.rst:299 +#: ../../c-api/exceptions.rst:304 msgid "" "Use these functions to issue warnings from C code. They mirror similar " "functions exported by the Python :mod:`warnings` module. They normally " @@ -391,94 +471,140 @@ msgid "" "exception handling (for example, :c:func:`Py_DECREF` owned references and " "return an error value)." msgstr "" - -#: ../../c-api/exceptions.rst:314 +"Use essas funções para emitir avisos a partir de código C. Elas espelham " +"funções semelhantes exportadas pelo módulo :mod:`warnings` do Python. " +"Normalmente, elas exibem uma mensagem de aviso em *sys.stderr*; no entanto, " +"também é possível que o usuário tenha especificado que os avisos devem ser " +"transformados em erros, e nesse caso, uma exceção será lançada. Também é " +"possível que as funções levantem uma exceção devido a um problema com o " +"mecanismo de avisos. O valor de retorno é ``0`` se nenhuma exceção for " +"lançada, ou ``-1`` se uma exceção for lançada. (Não é possível determinar se " +"uma mensagem de aviso é realmente impressa, nem qual é o motivo da exceção; " +"isso é intencional.) Se uma exceção for levantada, a função que chamou a " +"função deve realizar seu tratamento de exceções normal (por exemplo, liberar " +"as referências pertencentes a :c:func:`Py_DECREF` e retornar um valor de " +"erro)." + +#: ../../c-api/exceptions.rst:319 msgid "" "Issue a warning message. The *category* argument is a warning category (see " "below) or ``NULL``; the *message* argument is a UTF-8 encoded string. " "*stack_level* is a positive number giving a number of stack frames; the " "warning will be issued from the currently executing line of code in that " -"stack frame. A *stack_level* of 1 is the function calling :c:func:" -"`PyErr_WarnEx`, 2 is the function above that, and so forth." -msgstr "" - -#: ../../c-api/exceptions.rst:321 -msgid "" -"Warning categories must be subclasses of :c:data:`PyExc_Warning`; :c:data:" -"`PyExc_Warning` is a subclass of :c:data:`PyExc_Exception`; the default " -"warning category is :c:data:`PyExc_RuntimeWarning`. The standard Python " -"warning categories are available as global variables whose names are " -"enumerated at :ref:`standardwarningcategories`." -msgstr "" - -#: ../../c-api/exceptions.rst:327 -msgid "" -"For information about warning control, see the documentation for the :mod:" -"`warnings` module and the :option:`-W` option in the command line " +"stack frame. A *stack_level* of 1 is the function " +"calling :c:func:`PyErr_WarnEx`, 2 is the function above that, and so forth." +msgstr "" +"Emite uma mensagem de aviso. O argumento *category* é uma categoria de aviso " +"(veja abaixo) ou ``NULL``; o argumento *message* é uma string codificada em " +"UTF-8. *stack_level* é um número positivo que indica o número de quadros da " +"pilha; o aviso será emitido a partir da linha de código atualmente em " +"execução nesse quadro da pilha. Um *stack_level* de 1 é a função que " +"chama :c:func:`PyErr_WarnEx`, 2 é a função acima dessa e assim por diante." + +#: ../../c-api/exceptions.rst:326 +msgid "" +"Warning categories must be subclasses " +"of :c:data:`PyExc_Warning`; :c:data:`PyExc_Warning` is a subclass " +"of :c:data:`PyExc_Exception`; the default warning category " +"is :c:data:`PyExc_RuntimeWarning`. The standard Python warning categories " +"are available as global variables whose names are enumerated " +"at :ref:`standardwarningcategories`." +msgstr "" +"As categorias de aviso devem ser subclasses " +"de :c:data:`PyExc_Warning`; :c:data:`PyExc_Warning` é uma subclasse " +"de :c:data:`PyExc_Exception`; a categoria de aviso padrão " +"é :c:data:`PyExc_RuntimeWarning`. As categorias de aviso padrão do Python " +"estão disponíveis como variáveis globais cujos nomes estão enumerados " +"em :ref:`standardwarningcategories`." + +#: ../../c-api/exceptions.rst:332 +msgid "" +"For information about warning control, see the documentation for " +"the :mod:`warnings` module and the :option:`-W` option in the command line " "documentation. There is no C API for warning control." msgstr "" +"Para obter informações sobre o controle de avisos, consulte a documentação " +"do módulo :mod:`warnings` e a opção :option:`-W` na documentação da linha de " +"comando. Não existe uma API C para o controle de avisos." -#: ../../c-api/exceptions.rst:334 +#: ../../c-api/exceptions.rst:339 msgid "" "Issue a warning message with explicit control over all warning attributes. " -"This is a straightforward wrapper around the Python function :func:`warnings." -"warn_explicit`; see there for more information. The *module* and *registry* " -"arguments may be set to ``NULL`` to get the default effect described there." +"This is a straightforward wrapper around the Python " +"function :func:`warnings.warn_explicit`; see there for more information. " +"The *module* and *registry* arguments may be set to ``NULL`` to get the " +"default effect described there." msgstr "" +"Emite uma mensagem de aviso com controle explícito sobre todos os atributos " +"de aviso. Trata-se de um invólucro simples em torno da função " +"Python :func:`warnings.warn_explicit`; consulte-a para obter mais " +"informações. Os argumentos *module* e *registry* podem ser definidos como " +"``NULL`` para obter o efeito padrão descrito nessa função." -#: ../../c-api/exceptions.rst:345 +#: ../../c-api/exceptions.rst:350 msgid "" "Similar to :c:func:`PyErr_WarnExplicitObject` except that *message* and " -"*module* are UTF-8 encoded strings, and *filename* is decoded from the :term:" -"`filesystem encoding and error handler`." +"*module* are UTF-8 encoded strings, and *filename* is decoded from " +"the :term:`filesystem encoding and error handler`." msgstr "" +"Semelhante a :c:func:`PyErr_WarnExplicitObject`, exceto que *message* e " +"*module* são strings codificadas em UTF-8 e *filename* é decodificado a " +"partir do :term:`tratador de erros e codificação do sistema de arquivos`." -#: ../../c-api/exceptions.rst:352 +#: ../../c-api/exceptions.rst:357 msgid "" -"Function similar to :c:func:`PyErr_WarnEx`, but use :c:func:" -"`PyUnicode_FromFormat` to format the warning message. *format* is an ASCII-" -"encoded string." +"Function similar to :c:func:`PyErr_WarnEx`, but " +"use :c:func:`PyUnicode_FromFormat` to format the warning message. *format* " +"is an ASCII-encoded string." msgstr "" +"Função similar a :c:func:`PyErr_WarnEx`, mas " +"usa :c:func:`PyUnicode_FromFormat` para formatar a mensagem de warning. O " +"*format* é um string codificada em ASCII." -#: ../../c-api/exceptions.rst:361 +#: ../../c-api/exceptions.rst:366 msgid "" -"Function similar to :c:func:`PyErr_WarnFormat`, but *category* is :exc:" -"`ResourceWarning` and it passes *source* to :func:`warnings.WarningMessage`." +"Function similar to :c:func:`PyErr_WarnFormat`, but *category* " +"is :exc:`ResourceWarning` and it passes *source* to :class:`!" +"warnings.WarningMessage`." msgstr "" +"Função similar a :c:func:`PyErr_WarnFormat`, mas a *category* " +"é :exc:`ResourceWarning` e ela passa *source* para :class:`!" +"warnings.WarningMessage`." -#: ../../c-api/exceptions.rst:368 +#: ../../c-api/exceptions.rst:373 msgid "Querying the error indicator" msgstr "Consultando o indicador de erro" -#: ../../c-api/exceptions.rst:372 +#: ../../c-api/exceptions.rst:377 msgid "" "Test whether the error indicator is set. If set, return the exception " "*type* (the first argument to the last call to one of the ``PyErr_Set*`` " "functions or to :c:func:`PyErr_Restore`). If not set, return ``NULL``. You " -"do not own a reference to the return value, so you do not need to :c:func:" -"`Py_DECREF` it." +"do not own a reference to the return value, so you do not need " +"to :c:func:`Py_DECREF` it." msgstr "" -#: ../../c-api/exceptions.rst:378 +#: ../../c-api/exceptions.rst:383 msgid "The caller must hold the GIL." -msgstr "" +msgstr "O caller deve possuir o GIL." -#: ../../c-api/exceptions.rst:382 +#: ../../c-api/exceptions.rst:387 msgid "" -"Do not compare the return value to a specific exception; use :c:func:" -"`PyErr_ExceptionMatches` instead, shown below. (The comparison could easily " -"fail since the exception may be an instance instead of a class, in the case " -"of a class exception, or it may be a subclass of the expected exception.)" +"Do not compare the return value to a specific exception; " +"use :c:func:`PyErr_ExceptionMatches` instead, shown below. (The comparison " +"could easily fail since the exception may be an instance instead of a class, " +"in the case of a class exception, or it may be a subclass of the expected " +"exception.)" msgstr "" -#: ../../c-api/exceptions.rst:390 +#: ../../c-api/exceptions.rst:395 msgid "" "Equivalent to ``PyErr_GivenExceptionMatches(PyErr_Occurred(), exc)``. This " "should only be called when an exception is actually set; a memory access " "violation will occur if no exception has been raised." msgstr "" -#: ../../c-api/exceptions.rst:397 +#: ../../c-api/exceptions.rst:402 msgid "" "Return true if the *given* exception matches the exception type in *exc*. " "If *exc* is a class object, this also returns true when *given* is an " @@ -486,7 +612,7 @@ msgid "" "tuple (and recursively in subtuples) are searched for a match." msgstr "" -#: ../../c-api/exceptions.rst:405 +#: ../../c-api/exceptions.rst:410 msgid "" "Retrieve the error indicator into three variables whose addresses are " "passed. If the error indicator is not set, set all three variables to " @@ -495,17 +621,17 @@ msgid "" "the type object is not." msgstr "" -#: ../../c-api/exceptions.rst:412 +#: ../../c-api/exceptions.rst:417 msgid "" "This function is normally only used by code that needs to catch exceptions " -"or by code that needs to save and restore the error indicator temporarily, e." -"g.::" +"or by code that needs to save and restore the error indicator temporarily, " +"e.g.::" msgstr "" "Esta função, normalmente, é usada apenas pelo código que precisa capturar " "exceções ou pelo código que precisa salvar e restaurar temporariamente o " "indicador de erro. Por exemplo::" -#: ../../c-api/exceptions.rst:427 +#: ../../c-api/exceptions.rst:432 msgid "" "Set the error indicator from the three objects. If the error indicator is " "already set, it is cleared first. If the objects are ``NULL``, the error " @@ -518,14 +644,14 @@ msgid "" "function. I warned you.)" msgstr "" -#: ../../c-api/exceptions.rst:439 +#: ../../c-api/exceptions.rst:444 msgid "" "This function is normally only used by code that needs to save and restore " "the error indicator temporarily. Use :c:func:`PyErr_Fetch` to save the " "current error indicator." msgstr "" -#: ../../c-api/exceptions.rst:446 +#: ../../c-api/exceptions.rst:451 msgid "" "Under certain circumstances, the values returned by :c:func:`PyErr_Fetch` " "below can be \"unnormalized\", meaning that ``*exc`` is a class object but " @@ -535,22 +661,24 @@ msgid "" "improve performance." msgstr "" -#: ../../c-api/exceptions.rst:454 +#: ../../c-api/exceptions.rst:459 msgid "" -"This function *does not* implicitly set the ``__traceback__`` attribute on " -"the exception value. If setting the traceback appropriately is desired, the " -"following additional snippet is needed::" +"This function *does not* implicitly set " +"the :attr:`~BaseException.__traceback__` attribute on the exception value. " +"If setting the traceback appropriately is desired, the following additional " +"snippet is needed::" msgstr "" -#: ../../c-api/exceptions.rst:465 +#: ../../c-api/exceptions.rst:471 msgid "" -"Retrieve the active exception instance, as would be returned by :func:`sys." -"exception`. This refers to an exception that was *already caught*, not to an " -"exception that was freshly raised. Returns a new reference to the exception " -"or ``NULL``. Does not modify the interpreter's exception state." +"Retrieve the active exception instance, as would be returned " +"by :func:`sys.exception`. This refers to an exception that was *already " +"caught*, not to an exception that was freshly raised. Returns a new " +"reference to the exception or ``NULL``. Does not modify the interpreter's " +"exception state." msgstr "" -#: ../../c-api/exceptions.rst:472 +#: ../../c-api/exceptions.rst:478 msgid "" "This function is not normally used by code that wants to handle exceptions. " "Rather, it can be used when code needs to save and restore the exception " @@ -558,14 +686,14 @@ msgid "" "clear the exception state." msgstr "" -#: ../../c-api/exceptions.rst:481 +#: ../../c-api/exceptions.rst:487 msgid "" "Set the active exception, as known from ``sys.exception()``. This refers to " "an exception that was *already caught*, not to an exception that was freshly " "raised. To clear the exception state, pass ``NULL``." msgstr "" -#: ../../c-api/exceptions.rst:488 +#: ../../c-api/exceptions.rst:494 msgid "" "This function is not normally used by code that wants to handle exceptions. " "Rather, it can be used when code needs to save and restore the exception " @@ -573,17 +701,17 @@ msgid "" "exception state." msgstr "" -#: ../../c-api/exceptions.rst:497 +#: ../../c-api/exceptions.rst:503 msgid "" -"Retrieve the old-style representation of the exception info, as known from :" -"func:`sys.exc_info`. This refers to an exception that was *already caught*, " -"not to an exception that was freshly raised. Returns new references for the " -"three objects, any of which may be ``NULL``. Does not modify the exception " -"info state. This function is kept for backwards compatibility. Prefer " -"using :c:func:`PyErr_GetHandledException`." +"Retrieve the old-style representation of the exception info, as known " +"from :func:`sys.exc_info`. This refers to an exception that was *already " +"caught*, not to an exception that was freshly raised. Returns new " +"references for the three objects, any of which may be ``NULL``. Does not " +"modify the exception info state. This function is kept for backwards " +"compatibility. Prefer using :c:func:`PyErr_GetHandledException`." msgstr "" -#: ../../c-api/exceptions.rst:506 +#: ../../c-api/exceptions.rst:512 msgid "" "This function is not normally used by code that wants to handle exceptions. " "Rather, it can be used when code needs to save and restore the exception " @@ -591,17 +719,17 @@ msgid "" "exception state." msgstr "" -#: ../../c-api/exceptions.rst:516 +#: ../../c-api/exceptions.rst:522 msgid "" "Set the exception info, as known from ``sys.exc_info()``. This refers to an " "exception that was *already caught*, not to an exception that was freshly " "raised. This function steals the references of the arguments. To clear the " "exception state, pass ``NULL`` for all three arguments. This function is " -"kept for backwards compatibility. Prefer using :c:func:" -"`PyErr_SetHandledException`." +"kept for backwards compatibility. Prefer " +"using :c:func:`PyErr_SetHandledException`." msgstr "" -#: ../../c-api/exceptions.rst:525 +#: ../../c-api/exceptions.rst:531 msgid "" "This function is not normally used by code that wants to handle exceptions. " "Rather, it can be used when code needs to save and restore the exception " @@ -609,22 +737,22 @@ msgid "" "state." msgstr "" -#: ../../c-api/exceptions.rst:532 +#: ../../c-api/exceptions.rst:538 msgid "" "The ``type`` and ``traceback`` arguments are no longer used and can be NULL. " "The interpreter now derives them from the exception instance (the ``value`` " "argument). The function still steals references of all three arguments." msgstr "" -#: ../../c-api/exceptions.rst:540 +#: ../../c-api/exceptions.rst:546 msgid "Signal Handling" msgstr "Tratamento de sinal" -#: ../../c-api/exceptions.rst:550 +#: ../../c-api/exceptions.rst:556 msgid "This function interacts with Python's signal handling." -msgstr "" +msgstr "Essa função interage com o manipulador de sinais do Python." -#: ../../c-api/exceptions.rst:552 +#: ../../c-api/exceptions.rst:558 msgid "" "If the function is called from the main thread and under the main Python " "interpreter, it checks whether a signal has been sent to the processes and " @@ -632,53 +760,61 @@ msgid "" "module is supported, this can invoke a signal handler written in Python." msgstr "" -#: ../../c-api/exceptions.rst:557 +#: ../../c-api/exceptions.rst:563 msgid "" "The function attempts to handle all pending signals, and then returns ``0``. " "However, if a Python signal handler raises an exception, the error indicator " "is set and the function returns ``-1`` immediately (such that other pending " -"signals may not have been handled yet: they will be on the next :c:func:" -"`PyErr_CheckSignals()` invocation)." +"signals may not have been handled yet: they will be on the " +"next :c:func:`PyErr_CheckSignals()` invocation)." msgstr "" -#: ../../c-api/exceptions.rst:563 +#: ../../c-api/exceptions.rst:569 msgid "" "If the function is called from a non-main thread, or under a non-main Python " "interpreter, it does nothing and returns ``0``." msgstr "" +"Se a função for chamada a partir de um thread não principal ou sobre um " +"interpretador Python não principal, ela não fará nada e retornará ``0``." -#: ../../c-api/exceptions.rst:566 +#: ../../c-api/exceptions.rst:572 msgid "" "This function can be called by long-running C code that wants to be " "interruptible by user requests (such as by pressing Ctrl-C)." msgstr "" -#: ../../c-api/exceptions.rst:570 +#: ../../c-api/exceptions.rst:576 msgid "" -"The default Python signal handler for :const:`SIGINT` raises the :exc:" -"`KeyboardInterrupt` exception." +"The default Python signal handler for :c:macro:`!SIGINT` raises " +"the :exc:`KeyboardInterrupt` exception." msgstr "" +"O manipulador de sinal padrão Python para :c:macro:`!SIGINT` levanta a " +"exceção :exc:`KeyboardInterrupt`." -#: ../../c-api/exceptions.rst:581 +#: ../../c-api/exceptions.rst:587 msgid "" -"Simulate the effect of a :const:`SIGINT` signal arriving. This is equivalent " -"to ``PyErr_SetInterruptEx(SIGINT)``." +"Simulate the effect of a :c:macro:`!SIGINT` signal arriving. This is " +"equivalent to ``PyErr_SetInterruptEx(SIGINT)``." msgstr "" +"Simula o efeito de um sinal :c:macro:`!SIGINT` chegando. Isto é equivalente " +"a ``PyErr_SetInterruptEx(SIGINT)``." -#: ../../c-api/exceptions.rst:585 ../../c-api/exceptions.rst:612 +#: ../../c-api/exceptions.rst:591 ../../c-api/exceptions.rst:618 msgid "" -"This function is async-signal-safe. It can be called without the :term:" -"`GIL` and from a C signal handler." +"This function is async-signal-safe. It can be called without " +"the :term:`GIL` and from a C signal handler." msgstr "" +"Esta função é segura para sinais assíncronos. Pode ser chamada sem " +"um :term:`GIL` e a partir de um manipulador de sinais C." -#: ../../c-api/exceptions.rst:595 +#: ../../c-api/exceptions.rst:601 msgid "" -"Simulate the effect of a signal arriving. The next time :c:func:" -"`PyErr_CheckSignals` is called, the Python signal handler for the given " -"signal number will be called." +"Simulate the effect of a signal arriving. The next " +"time :c:func:`PyErr_CheckSignals` is called, the Python signal handler for " +"the given signal number will be called." msgstr "" -#: ../../c-api/exceptions.rst:599 +#: ../../c-api/exceptions.rst:605 msgid "" "This function can be called by C code that sets up its own signal handling " "and wants Python signal handlers to be invoked as expected when an " @@ -686,27 +822,31 @@ msgid "" "interrupt an operation)." msgstr "" -#: ../../c-api/exceptions.rst:604 +#: ../../c-api/exceptions.rst:610 msgid "" -"If the given signal isn't handled by Python (it was set to :data:`signal." -"SIG_DFL` or :data:`signal.SIG_IGN`), it will be ignored." +"If the given signal isn't handled by Python (it was set " +"to :py:const:`signal.SIG_DFL` or :py:const:`signal.SIG_IGN`), it will be " +"ignored." msgstr "" +"Se o sinal fornecido não for tratado pelo Python (foi definido " +"como :py:const:`signal.SIG_DFL` ou :py:const:`signal.SIG_IGN`), ele será " +"ignorado." -#: ../../c-api/exceptions.rst:607 +#: ../../c-api/exceptions.rst:613 msgid "" "If *signum* is outside of the allowed range of signal numbers, ``-1`` is " "returned. Otherwise, ``0`` is returned. The error indicator is never " "changed by this function." msgstr "" -#: ../../c-api/exceptions.rst:620 +#: ../../c-api/exceptions.rst:626 msgid "" "This utility function specifies a file descriptor to which the signal number " "is written as a single byte whenever a signal is received. *fd* must be non-" "blocking. It returns the previous such file descriptor." msgstr "" -#: ../../c-api/exceptions.rst:624 +#: ../../c-api/exceptions.rst:630 msgid "" "The value ``-1`` disables the feature; this is the initial state. This is " "equivalent to :func:`signal.set_wakeup_fd` in Python, but without any error " @@ -718,15 +858,15 @@ msgstr "" "verificação de erro. *fd* deve ser um descritor de arquivo válido. A função " "só deve ser chamada a partir da thread principal." -#: ../../c-api/exceptions.rst:629 +#: ../../c-api/exceptions.rst:635 msgid "On Windows, the function now also supports socket handles." msgstr "No Windows, a função agora também suporta manipuladores de socket." -#: ../../c-api/exceptions.rst:634 +#: ../../c-api/exceptions.rst:640 msgid "Exception Classes" msgstr "Classes de exceção" -#: ../../c-api/exceptions.rst:638 +#: ../../c-api/exceptions.rst:644 msgid "" "This utility function creates and returns a new exception class. The *name* " "argument must be the name of the new exception, a C string of the form " @@ -735,9 +875,9 @@ msgid "" "(accessible in C as :c:data:`PyExc_Exception`)." msgstr "" -#: ../../c-api/exceptions.rst:644 +#: ../../c-api/exceptions.rst:650 msgid "" -"The :attr:`__module__` attribute of the new class is set to the first part " +"The :attr:`!__module__` attribute of the new class is set to the first part " "(up to the last dot) of the *name* argument, and the class name is set to " "the last part (after the last dot). The *base* argument can be used to " "specify alternate base classes; it can either be only one class or a tuple " @@ -745,25 +885,25 @@ msgid "" "variables and methods." msgstr "" -#: ../../c-api/exceptions.rst:653 +#: ../../c-api/exceptions.rst:659 msgid "" "Same as :c:func:`PyErr_NewException`, except that the new exception class " "can easily be given a docstring: If *doc* is non-``NULL``, it will be used " "as the docstring for the exception class." msgstr "" -#: ../../c-api/exceptions.rst:661 +#: ../../c-api/exceptions.rst:667 msgid "Exception Objects" msgstr "Objeto Exceção" -#: ../../c-api/exceptions.rst:665 +#: ../../c-api/exceptions.rst:671 msgid "" "Return the traceback associated with the exception as a new reference, as " -"accessible from Python through :attr:`__traceback__`. If there is no " -"traceback associated, this returns ``NULL``." +"accessible from Python through the :attr:`~BaseException.__traceback__` " +"attribute. If there is no traceback associated, this returns ``NULL``." msgstr "" -#: ../../c-api/exceptions.rst:672 +#: ../../c-api/exceptions.rst:679 msgid "" "Set the traceback associated with the exception to *tb*. Use ``Py_None`` to " "clear it." @@ -771,69 +911,74 @@ msgstr "" "Defina o retorno traceback (situação da pilha de execução) associado à " "exceção como *tb*. Use ``Py_None`` para limpá-lo." -#: ../../c-api/exceptions.rst:678 +#: ../../c-api/exceptions.rst:685 msgid "" "Return the context (another exception instance during whose handling *ex* " "was raised) associated with the exception as a new reference, as accessible " -"from Python through :attr:`__context__`. If there is no context associated, " -"this returns ``NULL``." +"from Python through the :attr:`~BaseException.__context__` attribute. If " +"there is no context associated, this returns ``NULL``." msgstr "" -#: ../../c-api/exceptions.rst:686 +#: ../../c-api/exceptions.rst:693 msgid "" "Set the context associated with the exception to *ctx*. Use ``NULL`` to " "clear it. There is no type check to make sure that *ctx* is an exception " "instance. This steals a reference to *ctx*." msgstr "" -#: ../../c-api/exceptions.rst:693 +#: ../../c-api/exceptions.rst:700 msgid "" -"Return the cause (either an exception instance, or :const:`None`, set by " +"Return the cause (either an exception instance, or ``None``, set by " "``raise ... from ...``) associated with the exception as a new reference, as " -"accessible from Python through :attr:`__cause__`." +"accessible from Python through the :attr:`~BaseException.__cause__` " +"attribute." msgstr "" -#: ../../c-api/exceptions.rst:700 +#: ../../c-api/exceptions.rst:708 msgid "" "Set the cause associated with the exception to *cause*. Use ``NULL`` to " "clear it. There is no type check to make sure that *cause* is either an " -"exception instance or :const:`None`. This steals a reference to *cause*." +"exception instance or ``None``. This steals a reference to *cause*." msgstr "" -#: ../../c-api/exceptions.rst:704 +#: ../../c-api/exceptions.rst:712 msgid "" -":attr:`__suppress_context__` is implicitly set to ``True`` by this function." +"The :attr:`~BaseException.__suppress_context__` attribute is implicitly set " +"to ``True`` by this function." msgstr "" -":attr:`__suppress_context__` para essa função é definido ``True`` , " -"implicitamente." +"O atributo :attr:`~BaseException.__suppress_context__` é implicitamente " +"definido como ``True`` por esta função." -#: ../../c-api/exceptions.rst:710 +#: ../../c-api/exceptions.rst:719 msgid "Unicode Exception Objects" msgstr "Objetos de exceção Unicode" -#: ../../c-api/exceptions.rst:712 +#: ../../c-api/exceptions.rst:721 msgid "" "The following functions are used to create and modify Unicode exceptions " "from C." msgstr "" "As seguintes funções são usadas para criar e modificar exceções Unicode de C." -#: ../../c-api/exceptions.rst:716 +#: ../../c-api/exceptions.rst:725 msgid "" "Create a :class:`UnicodeDecodeError` object with the attributes *encoding*, " "*object*, *length*, *start*, *end* and *reason*. *encoding* and *reason* are " "UTF-8 encoded strings." msgstr "" +"Cria um objeto :class:`UnicodeDecodeError` com os atributos *encoding*, " +"*object*, *length*, *start*, *end* e *reason*. O *encoding* e *reason* são " +"strings codificadas em UTF-8." -#: ../../c-api/exceptions.rst:723 +#: ../../c-api/exceptions.rst:732 msgid "Return the *encoding* attribute of the given exception object." msgstr "Retorna o atributo * encoding* dado no objeto da exceção." -#: ../../c-api/exceptions.rst:729 +#: ../../c-api/exceptions.rst:738 msgid "Return the *object* attribute of the given exception object." msgstr "Retorna o atributo *object* dado no objeto da exceção." -#: ../../c-api/exceptions.rst:735 +#: ../../c-api/exceptions.rst:744 msgid "" "Get the *start* attribute of the given exception object and place it into " "*\\*start*. *start* must not be ``NULL``. Return ``0`` on success, ``-1`` " @@ -843,7 +988,7 @@ msgstr "" "*start* não deve ser ``NULL``. Retorna ``0`` se não der erro, ``-1`` caso dê " "erro." -#: ../../c-api/exceptions.rst:743 +#: ../../c-api/exceptions.rst:752 msgid "" "Set the *start* attribute of the given exception object to *start*. Return " "``0`` on success, ``-1`` on failure." @@ -851,7 +996,7 @@ msgstr "" "Define o atributo *start* dado no objeto de exceção *start*. Em caso de " "sucesso, retorna ``0``, em caso de falha, retorna ``-1``." -#: ../../c-api/exceptions.rst:750 +#: ../../c-api/exceptions.rst:759 msgid "" "Get the *end* attribute of the given exception object and place it into " "*\\*end*. *end* must not be ``NULL``. Return ``0`` on success, ``-1`` on " @@ -861,27 +1006,31 @@ msgstr "" "*end* não deve ser ``NULL``. Em caso de sucesso, retorna ``0``, em caso de " "falha, retorna ``-1``." -#: ../../c-api/exceptions.rst:758 +#: ../../c-api/exceptions.rst:767 msgid "" "Set the *end* attribute of the given exception object to *end*. Return " "``0`` on success, ``-1`` on failure." msgstr "" +"Defina o atributo *end* do objeto de exceção fornecido para *end*. Retorna " +"``0`` em caso de sucesso e ``-1`` em caso de falha." -#: ../../c-api/exceptions.rst:765 +#: ../../c-api/exceptions.rst:774 msgid "Return the *reason* attribute of the given exception object." msgstr "Retorna o atributo *reason* dado no objeto da exceção." -#: ../../c-api/exceptions.rst:771 +#: ../../c-api/exceptions.rst:780 msgid "" "Set the *reason* attribute of the given exception object to *reason*. " "Return ``0`` on success, ``-1`` on failure." msgstr "" +"Defina o atributo *reason* do objeto de exceção fornecido para *reason*. " +"Retorna ``0`` em caso de sucesso e ``-1`` em caso de falha." -#: ../../c-api/exceptions.rst:778 +#: ../../c-api/exceptions.rst:787 msgid "Recursion Control" msgstr "Controle de recursão" -#: ../../c-api/exceptions.rst:780 +#: ../../c-api/exceptions.rst:789 msgid "" "These two functions provide a way to perform safe recursive calls at the C " "level, both in the core and in extension modules. They are needed if the " @@ -891,53 +1040,59 @@ msgid "" "recursion handling." msgstr "" -#: ../../c-api/exceptions.rst:789 +#: ../../c-api/exceptions.rst:798 msgid "Marks a point where a recursive C-level call is about to be performed." msgstr "" "Marca um ponto em que a chamada recursiva em nível C está prestes a ser " "executada." -#: ../../c-api/exceptions.rst:791 +#: ../../c-api/exceptions.rst:800 msgid "" -"If :const:`USE_STACKCHECK` is defined, this function checks if the OS stack " -"overflowed using :c:func:`PyOS_CheckStack`. In this is the case, it sets a :" -"exc:`MemoryError` and returns a nonzero value." +"If :c:macro:`!USE_STACKCHECK` is defined, this function checks if the OS " +"stack overflowed using :c:func:`PyOS_CheckStack`. If this is the case, it " +"sets a :exc:`MemoryError` and returns a nonzero value." msgstr "" -#: ../../c-api/exceptions.rst:795 +#: ../../c-api/exceptions.rst:804 msgid "" "The function then checks if the recursion limit is reached. If this is the " "case, a :exc:`RecursionError` is set and a nonzero value is returned. " "Otherwise, zero is returned." msgstr "" -#: ../../c-api/exceptions.rst:799 +#: ../../c-api/exceptions.rst:808 msgid "" "*where* should be a UTF-8 encoded string such as ``\" in instance check\"`` " "to be concatenated to the :exc:`RecursionError` message caused by the " "recursion depth limit." msgstr "" -#: ../../c-api/exceptions.rst:803 ../../c-api/exceptions.rst:811 -msgid "This function is now also available in the limited API." +#: ../../c-api/exceptions.rst:812 ../../c-api/exceptions.rst:820 +msgid "" +"This function is now also available in the :ref:`limited API `." msgstr "" +"Esta função agora também está disponível na :ref:`API limitada `." -#: ../../c-api/exceptions.rst:808 +#: ../../c-api/exceptions.rst:817 msgid "" "Ends a :c:func:`Py_EnterRecursiveCall`. Must be called once for each " "*successful* invocation of :c:func:`Py_EnterRecursiveCall`." msgstr "" +"Termina com :c:func:`Py_EnterRecursiveCall`. Deve ser chamada uma vez para " +"cada invocação *successful* de :c:func:`Py_EnterRecursiveCall`." -#: ../../c-api/exceptions.rst:814 +#: ../../c-api/exceptions.rst:823 msgid "" "Properly implementing :c:member:`~PyTypeObject.tp_repr` for container types " -"requires special recursion handling. In addition to protecting the stack, :" -"c:member:`~PyTypeObject.tp_repr` also needs to track objects to prevent " -"cycles. The following two functions facilitate this functionality. " +"requires special recursion handling. In addition to protecting the " +"stack, :c:member:`~PyTypeObject.tp_repr` also needs to track objects to " +"prevent cycles. The following two functions facilitate this functionality. " "Effectively, these are the C equivalent to :func:`reprlib.recursive_repr`." msgstr "" -#: ../../c-api/exceptions.rst:822 +#: ../../c-api/exceptions.rst:831 msgid "" "Called at the beginning of the :c:member:`~PyTypeObject.tp_repr` " "implementation to detect cycles." @@ -945,15 +1100,16 @@ msgstr "" "Chamado no início da implementação :c:member:`~PyTypeObject.tp_repr` para " "detectar ciclos." -#: ../../c-api/exceptions.rst:825 +#: ../../c-api/exceptions.rst:834 msgid "" "If the object has already been processed, the function returns a positive " "integer. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " -"should return a string object indicating a cycle. As examples, :class:" -"`dict` objects return ``{...}`` and :class:`list` objects return ``[...]``." +"should return a string object indicating a cycle. As " +"examples, :class:`dict` objects return ``{...}`` and :class:`list` objects " +"return ``[...]``." msgstr "" -#: ../../c-api/exceptions.rst:831 +#: ../../c-api/exceptions.rst:840 msgid "" "The function will return a negative integer if the recursion limit is " "reached. In that case the :c:member:`~PyTypeObject.tp_repr` implementation " @@ -963,539 +1119,527 @@ msgstr "" "Nesse caso a implementação :c:member:`~PyTypeObject.tp_repr` deverá, " "normalmente,. retornar ``NULL``." -#: ../../c-api/exceptions.rst:835 +#: ../../c-api/exceptions.rst:844 msgid "" -"Otherwise, the function returns zero and the :c:member:`~PyTypeObject." -"tp_repr` implementation can continue normally." +"Otherwise, the function returns zero and " +"the :c:member:`~PyTypeObject.tp_repr` implementation can continue normally." msgstr "" -"Caso contrário, a função retorna zero e a implementação :c:member:" -"`~PyTypeObject.tp_repr` poderá continuar normalmente." +"Caso contrário, a função retorna zero e a " +"implementação :c:member:`~PyTypeObject.tp_repr` poderá continuar normalmente." -#: ../../c-api/exceptions.rst:840 +#: ../../c-api/exceptions.rst:849 msgid "" -"Ends a :c:func:`Py_ReprEnter`. Must be called once for each invocation of :" -"c:func:`Py_ReprEnter` that returns zero." +"Ends a :c:func:`Py_ReprEnter`. Must be called once for each invocation " +"of :c:func:`Py_ReprEnter` that returns zero." msgstr "" "Termina a :c:func:`Py_ReprEnter`. Deve ser chamado uma vez para cada chamada " "de :c:func:`Py_ReprEnter` que retorna zero." -#: ../../c-api/exceptions.rst:847 +#: ../../c-api/exceptions.rst:856 msgid "Standard Exceptions" msgstr "Exceções Padrão" -#: ../../c-api/exceptions.rst:849 +#: ../../c-api/exceptions.rst:858 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:" +"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:" msgstr "" -#: ../../c-api/exceptions.rst:910 ../../c-api/exceptions.rst:1043 -#: ../../c-api/exceptions.rst:1088 +#: ../../c-api/exceptions.rst:919 ../../c-api/exceptions.rst:1052 +#: ../../c-api/exceptions.rst:1097 msgid "C Name" msgstr "Nome C" -#: ../../c-api/exceptions.rst:910 ../../c-api/exceptions.rst:1088 +#: ../../c-api/exceptions.rst:919 ../../c-api/exceptions.rst:1097 msgid "Python Name" msgstr "Nome Python" -#: ../../c-api/exceptions.rst:910 ../../c-api/exceptions.rst:1043 -#: ../../c-api/exceptions.rst:1088 +#: ../../c-api/exceptions.rst:919 ../../c-api/exceptions.rst:1052 +#: ../../c-api/exceptions.rst:1097 msgid "Notes" msgstr "Notas" -#: ../../c-api/exceptions.rst:912 +#: ../../c-api/exceptions.rst:921 msgid ":c:data:`PyExc_BaseException`" msgstr ":c:data:`PyExc_BaseException`" -#: ../../c-api/exceptions.rst:912 +#: ../../c-api/exceptions.rst:921 msgid ":exc:`BaseException`" msgstr ":exc:`BaseException`" -#: ../../c-api/exceptions.rst:912 ../../c-api/exceptions.rst:914 -#: ../../c-api/exceptions.rst:916 ../../c-api/exceptions.rst:962 -#: ../../c-api/exceptions.rst:974 +#: ../../c-api/exceptions.rst:921 ../../c-api/exceptions.rst:923 +#: ../../c-api/exceptions.rst:925 ../../c-api/exceptions.rst:971 +#: ../../c-api/exceptions.rst:983 msgid "[1]_" msgstr "[1]_" -#: ../../c-api/exceptions.rst:914 +#: ../../c-api/exceptions.rst:923 msgid ":c:data:`PyExc_Exception`" msgstr ":c:data:`PyExc_Exception`" -#: ../../c-api/exceptions.rst:914 +#: ../../c-api/exceptions.rst:923 msgid ":exc:`Exception`" msgstr ":exc:`Exception`" -#: ../../c-api/exceptions.rst:916 +#: ../../c-api/exceptions.rst:925 msgid ":c:data:`PyExc_ArithmeticError`" msgstr ":c:data:`PyExc_ArithmeticError`" -#: ../../c-api/exceptions.rst:916 +#: ../../c-api/exceptions.rst:925 msgid ":exc:`ArithmeticError`" msgstr ":exc:`ArithmeticError`" -#: ../../c-api/exceptions.rst:918 +#: ../../c-api/exceptions.rst:927 msgid ":c:data:`PyExc_AssertionError`" msgstr ":c:data:`PyExc_AssertionError`" -#: ../../c-api/exceptions.rst:918 +#: ../../c-api/exceptions.rst:927 msgid ":exc:`AssertionError`" msgstr ":exc:`AssertionError`" -#: ../../c-api/exceptions.rst:920 +#: ../../c-api/exceptions.rst:929 msgid ":c:data:`PyExc_AttributeError`" msgstr ":c:data:`PyExc_AttributeError`" -#: ../../c-api/exceptions.rst:920 +#: ../../c-api/exceptions.rst:929 msgid ":exc:`AttributeError`" msgstr ":exc:`AttributeError`" -#: ../../c-api/exceptions.rst:922 +#: ../../c-api/exceptions.rst:931 msgid ":c:data:`PyExc_BlockingIOError`" msgstr ":c:data:`PyExc_BlockingIOError`" -#: ../../c-api/exceptions.rst:922 +#: ../../c-api/exceptions.rst:931 msgid ":exc:`BlockingIOError`" msgstr ":exc:`BlockingIOError`" -#: ../../c-api/exceptions.rst:924 +#: ../../c-api/exceptions.rst:933 msgid ":c:data:`PyExc_BrokenPipeError`" msgstr ":c:data:`PyExc_BrokenPipeError`" -#: ../../c-api/exceptions.rst:924 +#: ../../c-api/exceptions.rst:933 msgid ":exc:`BrokenPipeError`" msgstr ":exc:`BrokenPipeError`" -#: ../../c-api/exceptions.rst:926 +#: ../../c-api/exceptions.rst:935 msgid ":c:data:`PyExc_BufferError`" msgstr ":c:data:`PyExc_BufferError`" -#: ../../c-api/exceptions.rst:926 +#: ../../c-api/exceptions.rst:935 msgid ":exc:`BufferError`" msgstr ":exc:`BufferError`" -#: ../../c-api/exceptions.rst:928 +#: ../../c-api/exceptions.rst:937 msgid ":c:data:`PyExc_ChildProcessError`" msgstr ":c:data:`PyExc_ChildProcessError`" -#: ../../c-api/exceptions.rst:928 +#: ../../c-api/exceptions.rst:937 msgid ":exc:`ChildProcessError`" msgstr ":exc:`ChildProcessError`" -#: ../../c-api/exceptions.rst:930 +#: ../../c-api/exceptions.rst:939 msgid ":c:data:`PyExc_ConnectionAbortedError`" msgstr ":c:data:`PyExc_ConnectionAbortedError`" -#: ../../c-api/exceptions.rst:930 +#: ../../c-api/exceptions.rst:939 msgid ":exc:`ConnectionAbortedError`" msgstr ":exc:`ConnectionAbortedError`" -#: ../../c-api/exceptions.rst:932 +#: ../../c-api/exceptions.rst:941 msgid ":c:data:`PyExc_ConnectionError`" msgstr ":c:data:`PyExc_ConnectionError`" -#: ../../c-api/exceptions.rst:932 +#: ../../c-api/exceptions.rst:941 msgid ":exc:`ConnectionError`" msgstr ":exc:`ConnectionError`" -#: ../../c-api/exceptions.rst:934 +#: ../../c-api/exceptions.rst:943 msgid ":c:data:`PyExc_ConnectionRefusedError`" msgstr ":c:data:`PyExc_ConnectionRefusedError`" -#: ../../c-api/exceptions.rst:934 +#: ../../c-api/exceptions.rst:943 msgid ":exc:`ConnectionRefusedError`" msgstr ":exc:`ConnectionRefusedError`" -#: ../../c-api/exceptions.rst:936 +#: ../../c-api/exceptions.rst:945 msgid ":c:data:`PyExc_ConnectionResetError`" msgstr ":c:data:`PyExc_ConnectionResetError`" -#: ../../c-api/exceptions.rst:936 +#: ../../c-api/exceptions.rst:945 msgid ":exc:`ConnectionResetError`" msgstr ":exc:`ConnectionResetError`" -#: ../../c-api/exceptions.rst:938 +#: ../../c-api/exceptions.rst:947 msgid ":c:data:`PyExc_EOFError`" msgstr ":c:data:`PyExc_EOFError`" -#: ../../c-api/exceptions.rst:938 +#: ../../c-api/exceptions.rst:947 msgid ":exc:`EOFError`" msgstr ":exc:`EOFError`" -#: ../../c-api/exceptions.rst:940 +#: ../../c-api/exceptions.rst:949 msgid ":c:data:`PyExc_FileExistsError`" msgstr ":c:data:`PyExc_FileExistsError`" -#: ../../c-api/exceptions.rst:940 +#: ../../c-api/exceptions.rst:949 msgid ":exc:`FileExistsError`" msgstr ":exc:`FileExistsError`" -#: ../../c-api/exceptions.rst:942 +#: ../../c-api/exceptions.rst:951 msgid ":c:data:`PyExc_FileNotFoundError`" msgstr ":c:data:`PyExc_FileNotFoundError`" -#: ../../c-api/exceptions.rst:942 +#: ../../c-api/exceptions.rst:951 msgid ":exc:`FileNotFoundError`" msgstr ":exc:`FileNotFoundError`" -#: ../../c-api/exceptions.rst:944 +#: ../../c-api/exceptions.rst:953 msgid ":c:data:`PyExc_FloatingPointError`" msgstr ":c:data:`PyExc_FloatingPointError`" -#: ../../c-api/exceptions.rst:944 +#: ../../c-api/exceptions.rst:953 msgid ":exc:`FloatingPointError`" msgstr ":exc:`FloatingPointError`" -#: ../../c-api/exceptions.rst:946 +#: ../../c-api/exceptions.rst:955 msgid ":c:data:`PyExc_GeneratorExit`" msgstr ":c:data:`PyExc_GeneratorExit`" -#: ../../c-api/exceptions.rst:946 +#: ../../c-api/exceptions.rst:955 msgid ":exc:`GeneratorExit`" msgstr ":exc:`GeneratorExit`" -#: ../../c-api/exceptions.rst:948 +#: ../../c-api/exceptions.rst:957 msgid ":c:data:`PyExc_ImportError`" msgstr ":c:data:`PyExc_ImportError`" -#: ../../c-api/exceptions.rst:948 +#: ../../c-api/exceptions.rst:957 msgid ":exc:`ImportError`" msgstr ":exc:`ImportError`" -#: ../../c-api/exceptions.rst:950 +#: ../../c-api/exceptions.rst:959 msgid ":c:data:`PyExc_IndentationError`" msgstr ":c:data:`PyExc_IndentationError`" -#: ../../c-api/exceptions.rst:950 +#: ../../c-api/exceptions.rst:959 msgid ":exc:`IndentationError`" msgstr ":exc:`IndentationError`" -#: ../../c-api/exceptions.rst:952 +#: ../../c-api/exceptions.rst:961 msgid ":c:data:`PyExc_IndexError`" msgstr ":c:data:`PyExc_IndexError`" -#: ../../c-api/exceptions.rst:952 +#: ../../c-api/exceptions.rst:961 msgid ":exc:`IndexError`" msgstr ":exc:`IndexError`" -#: ../../c-api/exceptions.rst:954 +#: ../../c-api/exceptions.rst:963 msgid ":c:data:`PyExc_InterruptedError`" msgstr ":c:data:`PyExc_InterruptedError`" -#: ../../c-api/exceptions.rst:954 +#: ../../c-api/exceptions.rst:963 msgid ":exc:`InterruptedError`" msgstr ":exc:`InterruptedError`" -#: ../../c-api/exceptions.rst:956 +#: ../../c-api/exceptions.rst:965 msgid ":c:data:`PyExc_IsADirectoryError`" msgstr ":c:data:`PyExc_IsADirectoryError`" -#: ../../c-api/exceptions.rst:956 +#: ../../c-api/exceptions.rst:965 msgid ":exc:`IsADirectoryError`" msgstr ":exc:`IsADirectoryError`" -#: ../../c-api/exceptions.rst:958 +#: ../../c-api/exceptions.rst:967 msgid ":c:data:`PyExc_KeyError`" msgstr ":c:data:`PyExc_KeyError`" -#: ../../c-api/exceptions.rst:958 +#: ../../c-api/exceptions.rst:967 msgid ":exc:`KeyError`" msgstr ":exc:`KeyError`" -#: ../../c-api/exceptions.rst:960 +#: ../../c-api/exceptions.rst:969 msgid ":c:data:`PyExc_KeyboardInterrupt`" msgstr ":c:data:`PyExc_KeyboardInterrupt`" -#: ../../c-api/exceptions.rst:960 +#: ../../c-api/exceptions.rst:969 msgid ":exc:`KeyboardInterrupt`" msgstr ":exc:`KeyboardInterrupt`" -#: ../../c-api/exceptions.rst:962 +#: ../../c-api/exceptions.rst:971 msgid ":c:data:`PyExc_LookupError`" msgstr ":c:data:`PyExc_LookupError`" -#: ../../c-api/exceptions.rst:962 +#: ../../c-api/exceptions.rst:971 msgid ":exc:`LookupError`" msgstr ":exc:`LookupError`" -#: ../../c-api/exceptions.rst:964 +#: ../../c-api/exceptions.rst:973 msgid ":c:data:`PyExc_MemoryError`" msgstr ":c:data:`PyExc_MemoryError`" -#: ../../c-api/exceptions.rst:964 +#: ../../c-api/exceptions.rst:973 msgid ":exc:`MemoryError`" msgstr ":exc:`MemoryError`" -#: ../../c-api/exceptions.rst:966 +#: ../../c-api/exceptions.rst:975 msgid ":c:data:`PyExc_ModuleNotFoundError`" msgstr ":c:data:`PyExc_ModuleNotFoundError`" -#: ../../c-api/exceptions.rst:966 +#: ../../c-api/exceptions.rst:975 msgid ":exc:`ModuleNotFoundError`" msgstr ":exc:`ModuleNotFoundError`" -#: ../../c-api/exceptions.rst:968 +#: ../../c-api/exceptions.rst:977 msgid ":c:data:`PyExc_NameError`" msgstr ":c:data:`PyExc_NameError`" -#: ../../c-api/exceptions.rst:968 +#: ../../c-api/exceptions.rst:977 msgid ":exc:`NameError`" msgstr ":exc:`NameError`" -#: ../../c-api/exceptions.rst:970 +#: ../../c-api/exceptions.rst:979 msgid ":c:data:`PyExc_NotADirectoryError`" msgstr ":c:data:`PyExc_NotADirectoryError`" -#: ../../c-api/exceptions.rst:970 +#: ../../c-api/exceptions.rst:979 msgid ":exc:`NotADirectoryError`" msgstr ":exc:`NotADirectoryError`" -#: ../../c-api/exceptions.rst:972 +#: ../../c-api/exceptions.rst:981 msgid ":c:data:`PyExc_NotImplementedError`" msgstr ":c:data:`PyExc_NotImplementedError`" -#: ../../c-api/exceptions.rst:972 +#: ../../c-api/exceptions.rst:981 msgid ":exc:`NotImplementedError`" msgstr ":exc:`NotImplementedError`" -#: ../../c-api/exceptions.rst:974 +#: ../../c-api/exceptions.rst:983 msgid ":c:data:`PyExc_OSError`" msgstr ":c:data:`PyExc_OSError`" -#: ../../c-api/exceptions.rst:974 +#: ../../c-api/exceptions.rst:983 msgid ":exc:`OSError`" msgstr ":exc:`OSError`" -#: ../../c-api/exceptions.rst:976 +#: ../../c-api/exceptions.rst:985 msgid ":c:data:`PyExc_OverflowError`" msgstr ":c:data:`PyExc_OverflowError`" -#: ../../c-api/exceptions.rst:976 +#: ../../c-api/exceptions.rst:985 msgid ":exc:`OverflowError`" msgstr ":exc:`OverflowError`" -#: ../../c-api/exceptions.rst:978 +#: ../../c-api/exceptions.rst:987 msgid ":c:data:`PyExc_PermissionError`" msgstr ":c:data:`PyExc_PermissionError`" -#: ../../c-api/exceptions.rst:978 +#: ../../c-api/exceptions.rst:987 msgid ":exc:`PermissionError`" msgstr ":exc:`PermissionError`" -#: ../../c-api/exceptions.rst:980 +#: ../../c-api/exceptions.rst:989 msgid ":c:data:`PyExc_ProcessLookupError`" msgstr ":c:data:`PyExc_ProcessLookupError`" -#: ../../c-api/exceptions.rst:980 +#: ../../c-api/exceptions.rst:989 msgid ":exc:`ProcessLookupError`" msgstr ":exc:`ProcessLookupError`" -#: ../../c-api/exceptions.rst:982 +#: ../../c-api/exceptions.rst:991 msgid ":c:data:`PyExc_RecursionError`" msgstr ":c:data:`PyExc_RecursionError`" -#: ../../c-api/exceptions.rst:982 +#: ../../c-api/exceptions.rst:991 msgid ":exc:`RecursionError`" msgstr ":exc:`RecursionError`" -#: ../../c-api/exceptions.rst:984 +#: ../../c-api/exceptions.rst:993 msgid ":c:data:`PyExc_ReferenceError`" msgstr ":c:data:`PyExc_ReferenceError`" -#: ../../c-api/exceptions.rst:984 +#: ../../c-api/exceptions.rst:993 msgid ":exc:`ReferenceError`" msgstr ":exc:`ReferenceError`" -#: ../../c-api/exceptions.rst:986 +#: ../../c-api/exceptions.rst:995 msgid ":c:data:`PyExc_RuntimeError`" msgstr ":c:data:`PyExc_RuntimeError`" -#: ../../c-api/exceptions.rst:986 +#: ../../c-api/exceptions.rst:995 msgid ":exc:`RuntimeError`" msgstr ":exc:`RuntimeError`" -#: ../../c-api/exceptions.rst:988 +#: ../../c-api/exceptions.rst:997 msgid ":c:data:`PyExc_StopAsyncIteration`" msgstr ":c:data:`PyExc_StopAsyncIteration`" -#: ../../c-api/exceptions.rst:988 +#: ../../c-api/exceptions.rst:997 msgid ":exc:`StopAsyncIteration`" msgstr ":exc:`StopAsyncIteration`" -#: ../../c-api/exceptions.rst:990 +#: ../../c-api/exceptions.rst:999 msgid ":c:data:`PyExc_StopIteration`" msgstr ":c:data:`PyExc_StopIteration`" -#: ../../c-api/exceptions.rst:990 +#: ../../c-api/exceptions.rst:999 msgid ":exc:`StopIteration`" msgstr ":exc:`StopIteration`" -#: ../../c-api/exceptions.rst:992 +#: ../../c-api/exceptions.rst:1001 msgid ":c:data:`PyExc_SyntaxError`" msgstr ":c:data:`PyExc_SyntaxError`" -#: ../../c-api/exceptions.rst:992 +#: ../../c-api/exceptions.rst:1001 msgid ":exc:`SyntaxError`" msgstr ":exc:`SyntaxError`" -#: ../../c-api/exceptions.rst:994 +#: ../../c-api/exceptions.rst:1003 msgid ":c:data:`PyExc_SystemError`" msgstr ":c:data:`PyExc_SystemError`" -#: ../../c-api/exceptions.rst:994 +#: ../../c-api/exceptions.rst:1003 msgid ":exc:`SystemError`" msgstr ":exc:`SystemError`" -#: ../../c-api/exceptions.rst:996 +#: ../../c-api/exceptions.rst:1005 msgid ":c:data:`PyExc_SystemExit`" msgstr ":c:data:`PyExc_SystemExit`" -#: ../../c-api/exceptions.rst:996 +#: ../../c-api/exceptions.rst:1005 msgid ":exc:`SystemExit`" msgstr ":exc:`SystemExit`" -#: ../../c-api/exceptions.rst:998 +#: ../../c-api/exceptions.rst:1007 msgid ":c:data:`PyExc_TabError`" msgstr ":c:data:`PyExc_TabError`" -#: ../../c-api/exceptions.rst:998 +#: ../../c-api/exceptions.rst:1007 msgid ":exc:`TabError`" msgstr ":exc:`TabError`" -#: ../../c-api/exceptions.rst:1000 +#: ../../c-api/exceptions.rst:1009 msgid ":c:data:`PyExc_TimeoutError`" msgstr ":c:data:`PyExc_TimeoutError`" -#: ../../c-api/exceptions.rst:1000 +#: ../../c-api/exceptions.rst:1009 msgid ":exc:`TimeoutError`" msgstr ":exc:`TimeoutError`" -#: ../../c-api/exceptions.rst:1002 +#: ../../c-api/exceptions.rst:1011 msgid ":c:data:`PyExc_TypeError`" msgstr ":c:data:`PyExc_TypeError`" -#: ../../c-api/exceptions.rst:1002 +#: ../../c-api/exceptions.rst:1011 msgid ":exc:`TypeError`" msgstr ":exc:`TypeError`" -#: ../../c-api/exceptions.rst:1004 +#: ../../c-api/exceptions.rst:1013 msgid ":c:data:`PyExc_UnboundLocalError`" msgstr ":c:data:`PyExc_UnboundLocalError`" -#: ../../c-api/exceptions.rst:1004 +#: ../../c-api/exceptions.rst:1013 msgid ":exc:`UnboundLocalError`" msgstr ":exc:`UnboundLocalError`" -#: ../../c-api/exceptions.rst:1006 +#: ../../c-api/exceptions.rst:1015 msgid ":c:data:`PyExc_UnicodeDecodeError`" msgstr ":c:data:`PyExc_UnicodeDecodeError`" -#: ../../c-api/exceptions.rst:1006 +#: ../../c-api/exceptions.rst:1015 msgid ":exc:`UnicodeDecodeError`" msgstr ":exc:`UnicodeDecodeError`" -#: ../../c-api/exceptions.rst:1008 +#: ../../c-api/exceptions.rst:1017 msgid ":c:data:`PyExc_UnicodeEncodeError`" msgstr ":c:data:`PyExc_UnicodeEncodeError`" -#: ../../c-api/exceptions.rst:1008 +#: ../../c-api/exceptions.rst:1017 msgid ":exc:`UnicodeEncodeError`" msgstr ":exc:`UnicodeEncodeError`" -#: ../../c-api/exceptions.rst:1010 +#: ../../c-api/exceptions.rst:1019 msgid ":c:data:`PyExc_UnicodeError`" msgstr ":c:data:`PyExc_UnicodeError`" -#: ../../c-api/exceptions.rst:1010 +#: ../../c-api/exceptions.rst:1019 msgid ":exc:`UnicodeError`" msgstr ":exc:`UnicodeError`" -#: ../../c-api/exceptions.rst:1012 +#: ../../c-api/exceptions.rst:1021 msgid ":c:data:`PyExc_UnicodeTranslateError`" msgstr ":c:data:`PyExc_UnicodeTranslateError`" -#: ../../c-api/exceptions.rst:1012 +#: ../../c-api/exceptions.rst:1021 msgid ":exc:`UnicodeTranslateError`" msgstr ":exc:`UnicodeTranslateError`" -#: ../../c-api/exceptions.rst:1014 +#: ../../c-api/exceptions.rst:1023 msgid ":c:data:`PyExc_ValueError`" msgstr ":c:data:`PyExc_ValueError`" -#: ../../c-api/exceptions.rst:1014 +#: ../../c-api/exceptions.rst:1023 msgid ":exc:`ValueError`" msgstr ":exc:`ValueError`" -#: ../../c-api/exceptions.rst:1016 +#: ../../c-api/exceptions.rst:1025 msgid ":c:data:`PyExc_ZeroDivisionError`" msgstr ":c:data:`PyExc_ZeroDivisionError`" -#: ../../c-api/exceptions.rst:1016 +#: ../../c-api/exceptions.rst:1025 msgid ":exc:`ZeroDivisionError`" msgstr ":exc:`ZeroDivisionError`" -#: ../../c-api/exceptions.rst:1019 +#: ../../c-api/exceptions.rst:1028 msgid "" -":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, :c:data:" -"`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, :c:data:" -"`PyExc_ConnectionAbortedError`, :c:data:`PyExc_ConnectionRefusedError`, :c:" -"data:`PyExc_ConnectionResetError`, :c:data:`PyExc_FileExistsError`, :c:data:" -"`PyExc_FileNotFoundError`, :c:data:`PyExc_InterruptedError`, :c:data:" -"`PyExc_IsADirectoryError`, :c:data:`PyExc_NotADirectoryError`, :c:data:" -"`PyExc_PermissionError`, :c:data:`PyExc_ProcessLookupError` and :c:data:" -"`PyExc_TimeoutError` were introduced following :pep:`3151`." -msgstr "" -":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, :c:data:" -"`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, :c:data:" -"`PyExc_ConnectionAbortedError`, :c:data:`PyExc_ConnectionRefusedError`, :c:" -"data:`PyExc_ConnectionResetError`, :c:data:`PyExc_FileExistsError`, :c:data:" -"`PyExc_FileNotFoundError`, :c:data:`PyExc_InterruptedError`, :c:data:" -"`PyExc_IsADirectoryError`, :c:data:`PyExc_NotADirectoryError`, :c:data:" -"`PyExc_PermissionError`, :c:data:`PyExc_ProcessLookupError` and :c:data:" -"`PyExc_TimeoutError` were introduced following :pep:`3151`." - -#: ../../c-api/exceptions.rst:1029 +":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, :c:data:`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, :c:data:`PyExc_ConnectionAbortedError`, :c:data:`PyExc_ConnectionRefusedError`, :c:data:`PyExc_ConnectionResetError`, :c:data:`PyExc_FileExistsError`, :c:data:`PyExc_FileNotFoundError`, :c:data:`PyExc_InterruptedError`, :c:data:`PyExc_IsADirectoryError`, :c:data:`PyExc_NotADirectoryError`, :c:data:`PyExc_PermissionError`, :c:data:`PyExc_ProcessLookupError` " +"and :c:data:`PyExc_TimeoutError` were introduced following :pep:`3151`." +msgstr "" +":c:data:`PyExc_BlockingIOError`, :c:data:`PyExc_BrokenPipeError`, :c:data:`PyExc_ChildProcessError`, :c:data:`PyExc_ConnectionError`, :c:data:`PyExc_ConnectionAbortedError`, :c:data:`PyExc_ConnectionRefusedError`, :c:data:`PyExc_ConnectionResetError`, :c:data:`PyExc_FileExistsError`, :c:data:`PyExc_FileNotFoundError`, :c:data:`PyExc_InterruptedError`, :c:data:`PyExc_IsADirectoryError`, :c:data:`PyExc_NotADirectoryError`, :c:data:`PyExc_PermissionError`, :c:data:`PyExc_ProcessLookupError` " +"e :c:data:`PyExc_TimeoutError` foram introduzidos seguindo a :pep:`3151`." + +#: ../../c-api/exceptions.rst:1038 msgid ":c:data:`PyExc_StopAsyncIteration` and :c:data:`PyExc_RecursionError`." -msgstr ":c:data:`PyExc_StopAsyncIteration` and :c:data:`PyExc_RecursionError`." +msgstr ":c:data:`PyExc_StopAsyncIteration` e :c:data:`PyExc_RecursionError`." -#: ../../c-api/exceptions.rst:1032 +#: ../../c-api/exceptions.rst:1041 msgid ":c:data:`PyExc_ModuleNotFoundError`." msgstr ":c:data:`PyExc_ModuleNotFoundError`." -#: ../../c-api/exceptions.rst:1035 +#: ../../c-api/exceptions.rst:1044 msgid "These are compatibility aliases to :c:data:`PyExc_OSError`:" msgstr "Esses são os aliases de compatibilidade para :c:data:`PyExc_OSError`:" -#: ../../c-api/exceptions.rst:1045 -msgid ":c:data:`PyExc_EnvironmentError`" -msgstr ":c:data:`PyExc_EnvironmentError`" +#: ../../c-api/exceptions.rst:1054 +msgid ":c:data:`!PyExc_EnvironmentError`" +msgstr ":c:data:`!PyExc_EnvironmentError`" -#: ../../c-api/exceptions.rst:1047 -msgid ":c:data:`PyExc_IOError`" -msgstr ":c:data:`PyExc_IOError`" +#: ../../c-api/exceptions.rst:1056 +msgid ":c:data:`!PyExc_IOError`" +msgstr ":c:data:`!PyExc_IOError`" -#: ../../c-api/exceptions.rst:1049 -msgid ":c:data:`PyExc_WindowsError`" -msgstr ":c:data:`PyExc_WindowsError`" +#: ../../c-api/exceptions.rst:1058 +msgid ":c:data:`!PyExc_WindowsError`" +msgstr ":c:data:`!PyExc_WindowsError`" -#: ../../c-api/exceptions.rst:1049 +#: ../../c-api/exceptions.rst:1058 msgid "[2]_" msgstr "[2]_" -#: ../../c-api/exceptions.rst:1052 +#: ../../c-api/exceptions.rst:1061 msgid "These aliases used to be separate exception types." msgstr "Esses aliases costumavam ser tipos de exceção separados." -#: ../../c-api/exceptions.rst:1055 ../../c-api/exceptions.rst:1116 +#: ../../c-api/exceptions.rst:1064 ../../c-api/exceptions.rst:1125 msgid "Notes:" msgstr "Notas:" -#: ../../c-api/exceptions.rst:1058 +#: ../../c-api/exceptions.rst:1067 msgid "This is a base class for other standard exceptions." msgstr "Esta é uma classe base para outras exceções padrão." -#: ../../c-api/exceptions.rst:1061 +#: ../../c-api/exceptions.rst:1070 msgid "" "Only defined on Windows; protect code that uses this by testing that the " "preprocessor macro ``MS_WINDOWS`` is defined." @@ -1503,11 +1647,11 @@ msgstr "" "Defina apenas no Windows; proteja o código que usa isso testando se a macro " "do pré-processador ``MS_WINDOWS`` está definida." -#: ../../c-api/exceptions.rst:1067 +#: ../../c-api/exceptions.rst:1076 msgid "Standard Warning Categories" msgstr "Categorias de aviso padrão" -#: ../../c-api/exceptions.rst:1069 +#: ../../c-api/exceptions.rst:1078 msgid "" "All standard Python warning categories are available as global variables " "whose names are ``PyExc_`` followed by the Python exception name. These have " @@ -1515,393 +1659,393 @@ msgid "" "here are all the variables:" msgstr "" -#: ../../c-api/exceptions.rst:1090 +#: ../../c-api/exceptions.rst:1099 msgid ":c:data:`PyExc_Warning`" msgstr ":c:data:`PyExc_Warning`" -#: ../../c-api/exceptions.rst:1090 +#: ../../c-api/exceptions.rst:1099 msgid ":exc:`Warning`" msgstr ":exc:`Warning`" -#: ../../c-api/exceptions.rst:1090 +#: ../../c-api/exceptions.rst:1099 msgid "[3]_" -msgstr "" +msgstr "[3]_" -#: ../../c-api/exceptions.rst:1092 +#: ../../c-api/exceptions.rst:1101 msgid ":c:data:`PyExc_BytesWarning`" msgstr ":c:data:`PyExc_BytesWarning`" -#: ../../c-api/exceptions.rst:1092 +#: ../../c-api/exceptions.rst:1101 msgid ":exc:`BytesWarning`" msgstr ":exc:`BytesWarning`" -#: ../../c-api/exceptions.rst:1094 +#: ../../c-api/exceptions.rst:1103 msgid ":c:data:`PyExc_DeprecationWarning`" msgstr ":c:data:`PyExc_DeprecationWarning`" -#: ../../c-api/exceptions.rst:1094 +#: ../../c-api/exceptions.rst:1103 msgid ":exc:`DeprecationWarning`" msgstr ":exc:`DeprecationWarning`" -#: ../../c-api/exceptions.rst:1096 +#: ../../c-api/exceptions.rst:1105 msgid ":c:data:`PyExc_FutureWarning`" msgstr ":c:data:`PyExc_FutureWarning`" -#: ../../c-api/exceptions.rst:1096 +#: ../../c-api/exceptions.rst:1105 msgid ":exc:`FutureWarning`" msgstr ":exc:`FutureWarning`" -#: ../../c-api/exceptions.rst:1098 +#: ../../c-api/exceptions.rst:1107 msgid ":c:data:`PyExc_ImportWarning`" msgstr ":c:data:`PyExc_ImportWarning`" -#: ../../c-api/exceptions.rst:1098 +#: ../../c-api/exceptions.rst:1107 msgid ":exc:`ImportWarning`" msgstr ":exc:`ImportWarning`" -#: ../../c-api/exceptions.rst:1100 +#: ../../c-api/exceptions.rst:1109 msgid ":c:data:`PyExc_PendingDeprecationWarning`" msgstr ":c:data:`PyExc_PendingDeprecationWarning`" -#: ../../c-api/exceptions.rst:1100 +#: ../../c-api/exceptions.rst:1109 msgid ":exc:`PendingDeprecationWarning`" msgstr ":exc:`PendingDeprecationWarning`" -#: ../../c-api/exceptions.rst:1102 +#: ../../c-api/exceptions.rst:1111 msgid ":c:data:`PyExc_ResourceWarning`" msgstr ":c:data:`PyExc_ResourceWarning`" -#: ../../c-api/exceptions.rst:1102 +#: ../../c-api/exceptions.rst:1111 msgid ":exc:`ResourceWarning`" msgstr ":exc:`ResourceWarning`" -#: ../../c-api/exceptions.rst:1104 +#: ../../c-api/exceptions.rst:1113 msgid ":c:data:`PyExc_RuntimeWarning`" msgstr ":c:data:`PyExc_RuntimeWarning`" -#: ../../c-api/exceptions.rst:1104 +#: ../../c-api/exceptions.rst:1113 msgid ":exc:`RuntimeWarning`" msgstr ":exc:`RuntimeWarning`" -#: ../../c-api/exceptions.rst:1106 +#: ../../c-api/exceptions.rst:1115 msgid ":c:data:`PyExc_SyntaxWarning`" msgstr ":c:data:`PyExc_SyntaxWarning`" -#: ../../c-api/exceptions.rst:1106 +#: ../../c-api/exceptions.rst:1115 msgid ":exc:`SyntaxWarning`" msgstr ":exc:`SyntaxWarning`" -#: ../../c-api/exceptions.rst:1108 +#: ../../c-api/exceptions.rst:1117 msgid ":c:data:`PyExc_UnicodeWarning`" msgstr ":c:data:`PyExc_UnicodeWarning`" -#: ../../c-api/exceptions.rst:1108 +#: ../../c-api/exceptions.rst:1117 msgid ":exc:`UnicodeWarning`" msgstr ":exc:`UnicodeWarning`" -#: ../../c-api/exceptions.rst:1110 +#: ../../c-api/exceptions.rst:1119 msgid ":c:data:`PyExc_UserWarning`" msgstr ":c:data:`PyExc_UserWarning`" -#: ../../c-api/exceptions.rst:1110 +#: ../../c-api/exceptions.rst:1119 msgid ":exc:`UserWarning`" msgstr ":exc:`UserWarning`" -#: ../../c-api/exceptions.rst:1113 +#: ../../c-api/exceptions.rst:1122 msgid ":c:data:`PyExc_ResourceWarning`." msgstr ":c:data:`PyExc_ResourceWarning`." -#: ../../c-api/exceptions.rst:1119 +#: ../../c-api/exceptions.rst:1128 msgid "This is a base class for other standard warning categories." msgstr "Esta é uma classe base para outras categorias de aviso padrão." -#: ../../c-api/exceptions.rst:150 -msgid "strerror()" -msgstr "" +#: ../../c-api/exceptions.rst:151 +msgid "strerror (C function)" +msgstr "strerror (função C)" -#: ../../c-api/exceptions.rst:545 ../../c-api/exceptions.rst:576 -#: ../../c-api/exceptions.rst:591 +#: ../../c-api/exceptions.rst:551 ../../c-api/exceptions.rst:582 +#: ../../c-api/exceptions.rst:597 msgid "module" msgstr "módulo" -#: ../../c-api/exceptions.rst:545 ../../c-api/exceptions.rst:576 -#: ../../c-api/exceptions.rst:591 +#: ../../c-api/exceptions.rst:551 ../../c-api/exceptions.rst:582 +#: ../../c-api/exceptions.rst:597 msgid "signal" msgstr "signal" -#: ../../c-api/exceptions.rst:545 ../../c-api/exceptions.rst:576 -msgid "SIGINT" -msgstr "" +#: ../../c-api/exceptions.rst:551 ../../c-api/exceptions.rst:582 +msgid "SIGINT (C macro)" +msgstr "SIGINT (macro C)" -#: ../../c-api/exceptions.rst:545 ../../c-api/exceptions.rst:576 -#: ../../c-api/exceptions.rst:591 +#: ../../c-api/exceptions.rst:551 ../../c-api/exceptions.rst:582 +#: ../../c-api/exceptions.rst:597 msgid "KeyboardInterrupt (built-in exception)" -msgstr "" +msgstr "KeyboardInterrupt (exceção embutida)" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_BaseException" -msgstr "" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_BaseException (C var)" +msgstr "PyExc_BaseException (C var)" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_Exception" -msgstr "" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_Exception (C var)" +msgstr "PyExc_Exception (var C )" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_ArithmeticError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_ArithmeticError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_AssertionError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_AssertionError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_AttributeError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_AttributeError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_BlockingIOError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_BlockingIOError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_BrokenPipeError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_BrokenPipeError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_BufferError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_BufferError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_ChildProcessError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_ChildProcessError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_ConnectionAbortedError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_ConnectionAbortedError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_ConnectionError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_ConnectionError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_ConnectionRefusedError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_ConnectionRefusedError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_ConnectionResetError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_ConnectionResetError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_EOFError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_EOFError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_FileExistsError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_FileExistsError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_FileNotFoundError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_FileNotFoundError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_FloatingPointError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_FloatingPointError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_GeneratorExit" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_GeneratorExit (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_ImportError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_ImportError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_IndentationError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_IndentationError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_IndexError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_IndexError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_InterruptedError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_InterruptedError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_IsADirectoryError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_IsADirectoryError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_KeyError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_KeyError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_KeyboardInterrupt" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_KeyboardInterrupt (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_LookupError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_LookupError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_MemoryError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_MemoryError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_ModuleNotFoundError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_ModuleNotFoundError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_NameError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_NameError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_NotADirectoryError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_NotADirectoryError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_NotImplementedError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_NotImplementedError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_OSError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_OSError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_OverflowError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_OverflowError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_PermissionError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_PermissionError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_ProcessLookupError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_ProcessLookupError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_RecursionError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_RecursionError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_ReferenceError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_ReferenceError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_RuntimeError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_RuntimeError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_StopAsyncIteration" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_StopAsyncIteration (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_StopIteration" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_StopIteration (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_SyntaxError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_SyntaxError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_SystemError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_SystemError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_SystemExit" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_SystemExit (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_TabError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_TabError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_TimeoutError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_TimeoutError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_TypeError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_TypeError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_UnboundLocalError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_UnboundLocalError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_UnicodeDecodeError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_UnicodeDecodeError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_UnicodeEncodeError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_UnicodeEncodeError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_UnicodeError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_UnicodeError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_UnicodeTranslateError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_UnicodeTranslateError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_ValueError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_ValueError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:854 -msgid "PyExc_ZeroDivisionError" +#: ../../c-api/exceptions.rst:863 +msgid "PyExc_ZeroDivisionError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:1037 -msgid "PyExc_EnvironmentError" +#: ../../c-api/exceptions.rst:1046 +msgid "PyExc_EnvironmentError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:1037 -msgid "PyExc_IOError" +#: ../../c-api/exceptions.rst:1046 +msgid "PyExc_IOError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:1037 -msgid "PyExc_WindowsError" +#: ../../c-api/exceptions.rst:1046 +msgid "PyExc_WindowsError (C var)" msgstr "" -#: ../../c-api/exceptions.rst:1074 -msgid "PyExc_Warning" +#: ../../c-api/exceptions.rst:1083 +msgid "PyExc_Warning (C var)" msgstr "" -#: ../../c-api/exceptions.rst:1074 -msgid "PyExc_BytesWarning" +#: ../../c-api/exceptions.rst:1083 +msgid "PyExc_BytesWarning (C var)" msgstr "" -#: ../../c-api/exceptions.rst:1074 -msgid "PyExc_DeprecationWarning" +#: ../../c-api/exceptions.rst:1083 +msgid "PyExc_DeprecationWarning (C var)" msgstr "" -#: ../../c-api/exceptions.rst:1074 -msgid "PyExc_FutureWarning" +#: ../../c-api/exceptions.rst:1083 +msgid "PyExc_FutureWarning (C var)" msgstr "" -#: ../../c-api/exceptions.rst:1074 -msgid "PyExc_ImportWarning" +#: ../../c-api/exceptions.rst:1083 +msgid "PyExc_ImportWarning (C var)" msgstr "" -#: ../../c-api/exceptions.rst:1074 -msgid "PyExc_PendingDeprecationWarning" +#: ../../c-api/exceptions.rst:1083 +msgid "PyExc_PendingDeprecationWarning (C var)" msgstr "" -#: ../../c-api/exceptions.rst:1074 -msgid "PyExc_ResourceWarning" +#: ../../c-api/exceptions.rst:1083 +msgid "PyExc_ResourceWarning (C var)" msgstr "" -#: ../../c-api/exceptions.rst:1074 -msgid "PyExc_RuntimeWarning" +#: ../../c-api/exceptions.rst:1083 +msgid "PyExc_RuntimeWarning (C var)" msgstr "" -#: ../../c-api/exceptions.rst:1074 -msgid "PyExc_SyntaxWarning" +#: ../../c-api/exceptions.rst:1083 +msgid "PyExc_SyntaxWarning (C var)" msgstr "" -#: ../../c-api/exceptions.rst:1074 -msgid "PyExc_UnicodeWarning" +#: ../../c-api/exceptions.rst:1083 +msgid "PyExc_UnicodeWarning (C var)" msgstr "" -#: ../../c-api/exceptions.rst:1074 -msgid "PyExc_UserWarning" +#: ../../c-api/exceptions.rst:1083 +msgid "PyExc_UserWarning (C var)" msgstr "" diff --git a/c-api/file.po b/c-api/file.po index 076d03192..af3dee016 100644 --- a/c-api/file.po +++ b/c-api/file.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -31,21 +31,22 @@ msgstr "Objetos arquivos" msgid "" "These APIs are a minimal emulation of the Python 2 C API for built-in file " "objects, which used to rely on the buffered I/O (:c:expr:`FILE*`) support " -"from the C standard library. In Python 3, files and streams use the new :" -"mod:`io` module, which defines several layers over the low-level unbuffered " -"I/O of the operating system. The functions described below are convenience " -"C wrappers over these new APIs, and meant mostly for internal error " -"reporting in the interpreter; third-party code is advised to access the :mod:" -"`io` APIs instead." +"from the C standard library. In Python 3, files and streams use the " +"new :mod:`io` module, which defines several layers over the low-level " +"unbuffered I/O of the operating system. The functions described below are " +"convenience C wrappers over these new APIs, and meant mostly for internal " +"error reporting in the interpreter; third-party code is advised to access " +"the :mod:`io` APIs instead." msgstr "" "Essas APIs são uma emulação mínima da API C do Python 2 para objetos arquivo " -"embutidos, que costumavam depender do suporte de E/S em buffer (:c:expr:" -"`FILE*`) da biblioteca C padrão. No Python 3, arquivos e streams usam o novo " -"módulo :mod:`io`, que define várias camadas sobre a E/S sem buffer de baixo " -"nível do sistema operacional. As funções descritas a seguir são wrappers C " -"de conveniência sobre essas novas APIs e são destinadas principalmente para " -"relatórios de erros internos no interpretador; código de terceiros é " -"recomendado para acessar as APIs de :mod:`io`." +"embutidos, que costumavam depender do suporte de E/S em buffer " +"(:c:expr:`FILE*`) da biblioteca C padrão. No Python 3, arquivos e streams " +"usam o novo módulo :mod:`io`, que define várias camadas sobre a E/S sem " +"buffer de baixo nível do sistema operacional. As funções descritas a seguir " +"são invólucros de conveniência para o C sobre essas novas APIs e são " +"destinadas principalmente para relatórios de erros internos no " +"interpretador; código de terceiros é recomendado para acessar as APIs " +"de :mod:`io`." #: ../../c-api/file.rst:22 msgid "" @@ -80,34 +81,34 @@ msgstr "Ignora atributo *name*." #: ../../c-api/file.rst:41 msgid "" "Return the file descriptor associated with *p* as an :c:expr:`int`. If the " -"object is an integer, its value is returned. If not, the object's :meth:" -"`~io.IOBase.fileno` method is called if it exists; the method must return an " -"integer, which is returned as the file descriptor value. Sets an exception " -"and returns ``-1`` on failure." +"object is an integer, its value is returned. If not, the " +"object's :meth:`~io.IOBase.fileno` method is called if it exists; the method " +"must return an integer, which is returned as the file descriptor value. " +"Sets an exception and returns ``-1`` on failure." msgstr "" "Retorna o descritor de arquivo associado a *p* como um :c:expr:`int`. Se o " -"objeto for um inteiro, seu valor será retornado. Caso contrário, o método :" -"meth:`~io.IOBase.fileno` do objeto será chamado se existir; o método deve " -"retornar um inteiro, que é retornado como o valor do descritor de arquivo. " -"Define uma exceção e retorna ``-1`` em caso de falha." +"objeto for um inteiro, seu valor será retornado. Caso contrário, o " +"método :meth:`~io.IOBase.fileno` do objeto será chamado se existir; o método " +"deve retornar um inteiro, que é retornado como o valor do descritor de " +"arquivo. Define uma exceção e retorna ``-1`` em caso de falha." #: ../../c-api/file.rst:52 msgid "" "Equivalent to ``p.readline([n])``, this function reads one line from the " -"object *p*. *p* may be a file object or any object with a :meth:`~io.IOBase." -"readline` method. If *n* is ``0``, exactly one line is read, regardless of " -"the length of the line. If *n* is greater than ``0``, no more than *n* " -"bytes will be read from the file; a partial line can be returned. In both " -"cases, an empty string is returned if the end of the file is reached " -"immediately. If *n* is less than ``0``, however, one line is read " -"regardless of length, but :exc:`EOFError` is raised if the end of the file " -"is reached immediately." +"object *p*. *p* may be a file object or any object with " +"a :meth:`~io.IOBase.readline` method. If *n* is ``0``, exactly one line is " +"read, regardless of the length of the line. If *n* is greater than ``0``, " +"no more than *n* bytes will be read from the file; a partial line can be " +"returned. In both cases, an empty string is returned if the end of the file " +"is reached immediately. If *n* is less than ``0``, however, one line is " +"read regardless of length, but :exc:`EOFError` is raised if the end of the " +"file is reached immediately." msgstr "" "Equivalente a ``p.readline([n])``, esta função lê uma linha do objeto *p*. " -"*p* pode ser um objeto arquivo ou qualquer objeto com um método :meth:`~io." -"IOBase.readline`. Se *n* for ``0``, exatamente uma linha é lida, " -"independentemente do comprimento da linha. Se *n* for maior que ``0``, não " -"mais do que *n* bytes serão lidos do arquivo; uma linha parcial pode ser " +"*p* pode ser um objeto arquivo ou qualquer objeto com um " +"método :meth:`~io.IOBase.readline`. Se *n* for ``0``, exatamente uma linha é " +"lida, independentemente do comprimento da linha. Se *n* for maior que ``0``, " +"não mais do que *n* bytes serão lidos do arquivo; uma linha parcial pode ser " "retornada. Em ambos os casos, uma string vazia é retornada se o final do " "arquivo for alcançado imediatamente. Se *n* for menor que ``0``, entretanto, " "uma linha é lida independentemente do comprimento, mas :exc:`EOFError` é " @@ -122,15 +123,18 @@ msgstr "" "parâmetro por meio do manipulador fornecido." #: ../../c-api/file.rst:68 +msgid "The *handler* is a function of type:" +msgstr "O *handler* é uma função do tipo:" + +#: ../../c-api/file.rst:73 msgid "" -"The handler is a function of type :c:expr:`PyObject *(\\*)(PyObject *path, " -"void *userData)`, where *path* is guaranteed to be :c:type:`PyUnicodeObject`." +"Equivalent of :c:expr:`PyObject *(\\*)(PyObject *path, void *userData)`, " +"where *path* is guaranteed to be :c:type:`PyUnicodeObject`." msgstr "" -"O manipulador é uma função do tipo :c:expr:`PyObject *(\\*)(PyObject *path, " -"void *userData)`, sendo *path* garantido como sendo :c:type:" -"`PyUnicodeObject`." +"Equivalente de :c:expr:`PyObject *(\\*)(PyObject *path, void *userData)`, " +"sendo *path* garantido como sendo :c:type:`PyUnicodeObject`." -#: ../../c-api/file.rst:71 +#: ../../c-api/file.rst:77 msgid "" "The *userData* pointer is passed into the hook function. Since hook " "functions may be called from different runtimes, this pointer should not " @@ -140,7 +144,7 @@ msgstr "" "gancho podem ser chamadas de diferentes tempos de execução, esse ponteiro " "não deve se referir diretamente ao estado do Python." -#: ../../c-api/file.rst:75 +#: ../../c-api/file.rst:81 msgid "" "As this hook is intentionally used during import, avoid importing new " "modules during its execution unless they are known to be frozen or available " @@ -150,7 +154,7 @@ msgstr "" "importar novos módulos durante sua execução, a menos que eles estejam " "congelados ou disponíveis em ``sys.modules``." -#: ../../c-api/file.rst:79 +#: ../../c-api/file.rst:85 msgid "" "Once a hook has been set, it cannot be removed or replaced, and later calls " "to :c:func:`PyFile_SetOpenCodeHook` will fail. On failure, the function " @@ -161,31 +165,31 @@ msgstr "" "irão falhar. Em caso de falha, a função retorna -1 e define uma exceção se o " "interpretador foi inicializado." -#: ../../c-api/file.rst:83 +#: ../../c-api/file.rst:89 msgid "This function is safe to call before :c:func:`Py_Initialize`." msgstr "É seguro chamar esta função antes :c:func:`Py_Initialize`." -#: ../../c-api/file.rst:85 +#: ../../c-api/file.rst:91 msgid "" "Raises an :ref:`auditing event ` ``setopencodehook`` with no " "arguments." msgstr "" -"Levanta um :ref:`evento de auditoria` ``setopencodehook`` com " -"nenhum argumento." +"Levanta um :ref:`evento de auditoria` ``setopencodehook`` sem " +"argumentos." -#: ../../c-api/file.rst:95 +#: ../../c-api/file.rst:101 msgid "" "Write object *obj* to file object *p*. The only supported flag for *flags* " -"is :const:`Py_PRINT_RAW`; if given, the :func:`str` of the object is written " -"instead of the :func:`repr`. Return ``0`` on success or ``-1`` on failure; " -"the appropriate exception will be set." +"is :c:macro:`Py_PRINT_RAW`; if given, the :func:`str` of the object is " +"written instead of the :func:`repr`. Return ``0`` on success or ``-1`` on " +"failure; the appropriate exception will be set." msgstr "" "Escreve o objeto *obj* no objeto arquivo *p*. O único sinalizador suportado " -"para *flags* é :const:`Py_PRINT_RAW`; se fornecido, o :func:`str` do objeto " -"é escrito em vez de :func:`repr`. Retorna ``0`` em caso de sucesso ou ``-1`` " -"em caso de falha; a exceção apropriada será definida." +"para *flags* é :c:macro:`Py_PRINT_RAW`; se fornecido, o :func:`str` do " +"objeto é escrito em vez de :func:`repr`. Retorna ``0`` em caso de sucesso ou " +"``-1`` em caso de falha; a exceção apropriada será definida." -#: ../../c-api/file.rst:103 +#: ../../c-api/file.rst:109 msgid "" "Write string *s* to file object *p*. Return ``0`` on success or ``-1`` on " "failure; the appropriate exception will be set." @@ -203,8 +207,8 @@ msgstr "arquivo" #: ../../c-api/file.rst:50 msgid "EOFError (built-in exception)" -msgstr "" +msgstr "EOFError (exceção embutida)" -#: ../../c-api/file.rst:93 -msgid "Py_PRINT_RAW" -msgstr "" +#: ../../c-api/file.rst:99 +msgid "Py_PRINT_RAW (C macro)" +msgstr "Py_PRINT_RAW (macro C)" diff --git a/c-api/float.po b/c-api/float.po index ef60d6d2b..0413d7b47 100644 --- a/c-api/float.po +++ b/c-api/float.po @@ -1,25 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -45,11 +46,11 @@ msgstr "" #: ../../c-api/float.rst:24 msgid "" -"Return true if its argument is a :c:type:`PyFloatObject` or a subtype of :c:" -"type:`PyFloatObject`. This function always succeeds." +"Return true if its argument is a :c:type:`PyFloatObject` or a subtype " +"of :c:type:`PyFloatObject`. This function always succeeds." msgstr "" -"Retorna true se seu argumento é um :c:type:`PyFloatObject` ou um subtipo de :" -"c:type:`PyFloatObject`. Esta função sempre tem sucesso." +"Retorna true se seu argumento é um :c:type:`PyFloatObject` ou um subtipo " +"de :c:type:`PyFloatObject`. Esta função sempre tem sucesso." #: ../../c-api/float.rst:30 msgid "" @@ -75,22 +76,24 @@ msgstr "Cria um objeto :c:type:`PyFloatObject` de *v* ou ``NULL`` em falha." #: ../../c-api/float.rst:47 msgid "" "Return a C :c:expr:`double` representation of the contents of *pyfloat*. If " -"*pyfloat* is not a Python floating point object but has a :meth:`__float__` " -"method, this method will first be called to convert *pyfloat* into a float. " -"If ``__float__()`` is not defined then it falls back to :meth:`__index__`. " -"This method returns ``-1.0`` upon failure, so one should call :c:func:" -"`PyErr_Occurred` to check for errors." +"*pyfloat* is not a Python floating point object but has " +"a :meth:`~object.__float__` method, this method will first be called to " +"convert *pyfloat* into a float. If :meth:`!__float__` is not defined then it " +"falls back to :meth:`~object.__index__`. This method returns ``-1.0`` upon " +"failure, so one should call :c:func:`PyErr_Occurred` to check for errors." msgstr "" #: ../../c-api/float.rst:54 -msgid "Use :meth:`__index__` if available." -msgstr "Usa :meth:`__index__`, se disponível." +msgid "Use :meth:`~object.__index__` if available." +msgstr "Usa :meth:`~object.__index__`, se disponível." #: ../../c-api/float.rst:60 msgid "" "Return a C :c:expr:`double` representation of the contents of *pyfloat*, but " "without error checking." msgstr "" +"Retorna uma representação C :c:expr:`double` do conteúdo de *pyfloat*, mas " +"sem verificação de erro." #: ../../c-api/float.rst:66 msgid "" @@ -99,32 +102,42 @@ msgid "" "file :file:`float.h`." msgstr "" "Retorna uma instância de structseq que contém informações sobre a precisão, " -"os valores mínimo e máximo de um ponto flutuante. É um wrapper fino em torno " -"do arquivo de cabeçalho :file:`float.h`." +"os valores mínimo e máximo de um ponto flutuante. É um invólucro fino em " +"torno do arquivo de cabeçalho :file:`float.h`." #: ../../c-api/float.rst:73 msgid "" -"Return the maximum representable finite float *DBL_MAX* as C :c:expr:" -"`double`." +"Return the maximum representable finite float *DBL_MAX* as " +"C :c:expr:`double`." msgstr "" +"Retorna o ponto flutuante finito máximo representável *DBL_MAX* " +"como :c:expr:`double` do C." #: ../../c-api/float.rst:78 msgid "" "Return the minimum normalized positive float *DBL_MIN* as C :c:expr:`double`." msgstr "" +"Retorna o ponto flutuante positivo mínimo normalizado *DBL_MIN* " +"como :c:expr:`double` do C." #: ../../c-api/float.rst:82 msgid "Pack and Unpack functions" -msgstr "" +msgstr "As funções Pack e Unpack" #: ../../c-api/float.rst:84 msgid "" "The pack and unpack functions provide an efficient platform-independent way " "to store floating-point values as byte strings. The Pack routines produce a " -"bytes string from a C :c:expr:`double`, and the Unpack routines produce a C :" -"c:expr:`double` from such a bytes string. The suffix (2, 4 or 8) specifies " -"the number of bytes in the bytes string." +"bytes string from a C :c:expr:`double`, and the Unpack routines produce a " +"C :c:expr:`double` from such a bytes string. The suffix (2, 4 or 8) " +"specifies the number of bytes in the bytes string." msgstr "" +"As funções de empacotamento e desempacotamento, pack e unpack " +"respectivamente, fornecem uma maneira eficiente e independente de plataforma " +"de armazenar valores de ponto flutuante como strings de bytes. As rotinas de " +"Pack produzem uma string de bytes a partir de um C :c:expr:`double`, e as " +"rotinas de Unpack produzem um C :c:expr:`double` a partir dessa string de " +"bytes. O sufixo (2, 4 ou 8) especifica o número de bytes na string de bytes." #: ../../c-api/float.rst:90 msgid "" @@ -137,6 +150,14 @@ msgid "" "attempting to unpack a bytes string containing an IEEE INF or NaN will raise " "an exception." msgstr "" +"Em plataformas que parecem usar o formato IEEE 754, essas funções funcionam " +"copiando bits. Em outras plataformas, o formato de 2 bytes é idêntico ao " +"formato de meia precisão binário 16 do IEEE 754, o formato de 4 bytes (32 " +"bits) é idêntico ao formato de precisão simples binário 32 do IEEE 754 e o " +"formato de 8 bytes ao formato de precisão dupla binário 64 do IEEE 754, " +"embora o empacotamento de INFs e NaNs (se tais recursos existirem na " +"plataforma) não seja tratado corretamente, e tentar desempacotar uma string " +"de bytes contendo um INF ou NaN do IEEE levantará uma exceção." #: ../../c-api/float.rst:99 msgid "" @@ -145,89 +166,122 @@ msgid "" "less precision, or smaller dynamic range, not all values can be unpacked. " "What happens in such cases is partly accidental (alas)." msgstr "" +"Em plataformas que não aderem IEEE com maior precisão ou maior alcance " +"dinâmico do que o suportado pelo IEEE 754, nem todos os valores podem ser " +"empacotados; em plataformas que não aderem IEEE com menor precisão ou menor " +"alcance dinâmico, nem todos os valores podem ser desempacotados. O que " +"acontece nesses casos é em parte acidental (infelizmente)." #: ../../c-api/float.rst:107 msgid "Pack functions" -msgstr "" +msgstr "Funções Pack" #: ../../c-api/float.rst:109 msgid "" -"The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is an :c:expr:" -"`int` argument, non-zero if you want the bytes string in little-endian " -"format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` ``p+7``), zero if you " -"want big-endian format (exponent first, at *p*). The :c:data:`PY_BIG_ENDIAN` " -"constant can be used to use the native endian: it is equal to ``1`` on big " -"endian processor, or ``0`` on little endian processor." -msgstr "" +"The pack routines write 2, 4 or 8 bytes, starting at *p*. *le* is " +"an :c:expr:`int` argument, non-zero if you want the bytes string in little-" +"endian format (exponent last, at ``p+1``, ``p+3``, or ``p+6`` ``p+7``), zero " +"if you want big-endian format (exponent first, at *p*). " +"The :c:macro:`PY_BIG_ENDIAN` constant can be used to use the native endian: " +"it is equal to ``1`` on big endian processor, or ``0`` on little endian " +"processor." +msgstr "" +"As rotinas de empacotamento gravam 2, 4 ou 8 bytes, começando em *p*. *le* é " +"um argumento :c:expr:`int`, diferente de zero se você quiser a sequência de " +"bytes no formato little-endian (expoente por último, em ``p+1``, ``p+3`` ou " +"``p+6`` ``p+7``), zero se você quiser o formato big-endian (expoente " +"primeiro, em *p*). A constante :c:macro:`PY_BIG_ENDIAN` pode ser usada para " +"usar o endian nativo: é igual a ``1`` em processadores big-endian ou ``0`` " +"em processadores little-endian." #: ../../c-api/float.rst:116 msgid "" "Return value: ``0`` if all is OK, ``-1`` if error (and an exception is set, " "most likely :exc:`OverflowError`)." msgstr "" +"Valor de retorno: ``0`` se tudo estiver OK, ``-1`` se houver erro (e uma " +"exceção for definida, provavelmente :exc:`OverflowError`)." #: ../../c-api/float.rst:119 msgid "There are two problems on non-IEEE platforms:" -msgstr "" +msgstr "Existem dois problemas em plataformas não IEEE:" #: ../../c-api/float.rst:121 msgid "What this does is undefined if *x* is a NaN or infinity." -msgstr "" +msgstr "O que isso faz é indefinido se *x* é um NaN ou infinito." #: ../../c-api/float.rst:122 msgid "``-0.0`` and ``+0.0`` produce the same bytes string." -msgstr "" +msgstr "``-0.0`` e ``+0.0`` produzem a mesma sequência de bytes." #: ../../c-api/float.rst:126 msgid "Pack a C double as the IEEE 754 binary16 half-precision format." msgstr "" +"Empacota um C duplo como o formato de meia precisão binário16 IEEE 754." #: ../../c-api/float.rst:130 msgid "Pack a C double as the IEEE 754 binary32 single precision format." msgstr "" +"Empacota um C duplo como o formato de precisão simples binário32 IEEE 754." #: ../../c-api/float.rst:134 msgid "Pack a C double as the IEEE 754 binary64 double precision format." msgstr "" +"Empacota um C duplo como o formato de precisão dupla binária 64 IEEE 754." #: ../../c-api/float.rst:138 msgid "Unpack functions" -msgstr "" +msgstr "Funções de Unpack" #: ../../c-api/float.rst:140 msgid "" -"The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* is an :c:" -"expr:`int` argument, non-zero if the bytes string is in little-endian format " -"(exponent last, at ``p+1``, ``p+3`` or ``p+6`` and ``p+7``), zero if big-" -"endian (exponent first, at *p*). The :c:data:`PY_BIG_ENDIAN` constant can be " -"used to use the native endian: it is equal to ``1`` on big endian processor, " -"or ``0`` on little endian processor." -msgstr "" +"The unpack routines read 2, 4 or 8 bytes, starting at *p*. *le* is " +"an :c:expr:`int` argument, non-zero if the bytes string is in little-endian " +"format (exponent last, at ``p+1``, ``p+3`` or ``p+6`` and ``p+7``), zero if " +"big-endian (exponent first, at *p*). The :c:macro:`PY_BIG_ENDIAN` constant " +"can be used to use the native endian: it is equal to ``1`` on big endian " +"processor, or ``0`` on little endian processor." +msgstr "" +"As rotinas de desempacotamento leem 2, 4 ou 8 bytes, começando em *p*. *le* " +"é um argumento :c:expr:`int`, diferente de zero se a sequência de bytes " +"estiver no formato little-endian (expoente por último, em ``p+1``, ``p+3`` " +"ou ``p+6`` e ``p+7``), zero se big-endian (expoente primeiro, em *p*). A " +"constante :c:macro:`PY_BIG_ENDIAN` pode ser usada para usar o endian nativo: " +"é igual a ``1`` em processadores big-endian ou ``0`` em processadores little-" +"endian." #: ../../c-api/float.rst:147 msgid "" -"Return value: The unpacked double. On error, this is ``-1.0`` and :c:func:" -"`PyErr_Occurred` is true (and an exception is set, most likely :exc:" -"`OverflowError`)." +"Return value: The unpacked double. On error, this is ``-1.0`` " +"and :c:func:`PyErr_Occurred` is true (and an exception is set, most " +"likely :exc:`OverflowError`)." msgstr "" +"Valor de retorno: O double descompactado. Em caso de erro, é ``-1.0`` " +"e :c:func:`PyErr_Occurred` é verdadeiro (e uma exceção é definida, " +"provavelmente :exc:`OverflowError`)." #: ../../c-api/float.rst:151 msgid "" "Note that on a non-IEEE platform this will refuse to unpack a bytes string " "that represents a NaN or infinity." msgstr "" +"Observe que em uma plataforma que não adere IEEE isso se recusará a " +"descompactar uma sequência de bytes que representa um NaN ou infinito." #: ../../c-api/float.rst:156 msgid "Unpack the IEEE 754 binary16 half-precision format as a C double." msgstr "" +"Descompacta o formato de meia precisão IEEE 754 binary16 como um double C." #: ../../c-api/float.rst:160 msgid "Unpack the IEEE 754 binary32 single precision format as a C double." msgstr "" +"Descompacta o formato IEEE 754 binary32 de precisão simples como um C double." #: ../../c-api/float.rst:164 msgid "Unpack the IEEE 754 binary64 double precision format as a C double." msgstr "" +"Descompacta o formato IEEE 754 binary64 de precisão dupla como um C double." #: ../../c-api/float.rst:8 msgid "object" @@ -235,4 +289,4 @@ msgstr "objeto" #: ../../c-api/float.rst:8 msgid "floating point" -msgstr "" +msgstr "ponto flutuante" diff --git a/c-api/frame.po b/c-api/frame.po index ad67920d9..3607cdf8b 100644 --- a/c-api/frame.po +++ b/c-api/frame.po @@ -1,77 +1,87 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Ruan Aragão , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-07 14:12+0000\n" -"PO-Revision-Date: 2022-11-05 19:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/frame.rst:4 msgid "Frame Objects" -msgstr "" +msgstr "Objetos Frame" #: ../../c-api/frame.rst:8 msgid "The C structure of the objects used to describe frame objects." -msgstr "" +msgstr "A estrutura C dos objetos usados para descrever objetos frame." #: ../../c-api/frame.rst:10 msgid "There are no public members in this structure." -msgstr "" +msgstr "Não há membros públicos nesta estrutura." #: ../../c-api/frame.rst:12 msgid "" "The members of this structure were removed from the public C API. Refer to " "the :ref:`What's New entry ` for details." msgstr "" +"Os membros dessa estrutura foram removidos da API C pública. Consulte " +"a :ref:`entrada O Que há de Novo ` para detalhes." #: ../../c-api/frame.rst:17 msgid "" "The :c:func:`PyEval_GetFrame` and :c:func:`PyThreadState_GetFrame` functions " "can be used to get a frame object." msgstr "" +"As funções :c:func:`PyEval_GetFrame` e :c:func:`PyThreadState_GetFrame` " +"podem ser utilizadas para obter um objeto frame." #: ../../c-api/frame.rst:20 msgid "See also :ref:`Reflection `." -msgstr "" +msgstr "Veja também :ref:`Reflexão `." #: ../../c-api/frame.rst:24 msgid "" -"The type of frame objects. It is the same object as :py:class:`types." -"FrameType` in the Python layer." +"The type of frame objects. It is the same object " +"as :py:class:`types.FrameType` in the Python layer." msgstr "" +"O tipo de objetos frame. É o mesmo objeto que :py:class:`types.FrameType` na " +"camada Python." #: ../../c-api/frame.rst:29 msgid "" "Previously, this type was only available after including ````." msgstr "" +"Anteriormente, este tipo só estava disponível após incluir " +"````." #: ../../c-api/frame.rst:34 msgid "Return non-zero if *obj* is a frame object." -msgstr "" +msgstr "Retorna diferente de zero se *obj* é um objeto frame" #: ../../c-api/frame.rst:38 msgid "" -"Previously, this function was only available after including ````." +"Previously, this function was only available after including " +"````." msgstr "" +"Anteriormente, esta função só estava disponível após incluir " +"````." #: ../../c-api/frame.rst:43 msgid "Get the *frame* next outer frame." @@ -85,12 +95,13 @@ msgstr "" "externo." #: ../../c-api/frame.rst:53 -msgid "Get the *frame*'s ``f_builtins`` attribute." -msgstr "" +msgid "Get the *frame*'s :attr:`~frame.f_builtins` attribute." +msgstr "Obtém o atributo :attr:`~frame.f_builtins` do *frame*." #: ../../c-api/frame.rst:55 ../../c-api/frame.rst:86 msgid "Return a :term:`strong reference`. The result cannot be ``NULL``." msgstr "" +"Retorna uma :term:`referência forte`. O resultado não pode ser ``NULL``." #: ../../c-api/frame.rst:62 msgid "Get the *frame* code." @@ -102,7 +113,7 @@ msgstr "Retorna uma :term:`referência forte`." #: ../../c-api/frame.rst:66 msgid "The result (frame code) cannot be ``NULL``." -msgstr "" +msgstr "O resultado (código do frame) não pode ser ``NULL``." #: ../../c-api/frame.rst:73 msgid "" @@ -110,25 +121,28 @@ msgid "" "``NULL`` if this frame is not owned by a generator. Does not raise an " "exception, even if the return value is ``NULL``." msgstr "" +"Obtém o gerador, corrotina ou gerador assíncrono que possui este frame, ou " +"``NULL`` se o frame não pertence a um gerador. Não levanta exceção, mesmo " +"que o valor retornado seja ``NULL``." #: ../../c-api/frame.rst:77 msgid "Return a :term:`strong reference`, or ``NULL``." -msgstr "" +msgstr "Retorna uma :term:`referência forte`, ou ``NULL``." #: ../../c-api/frame.rst:84 -msgid "Get the *frame*'s ``f_globals`` attribute." -msgstr "" +msgid "Get the *frame*'s :attr:`~frame.f_globals` attribute." +msgstr "Obtenha o atributo :attr:`~frame.f_globals` do *frame*." #: ../../c-api/frame.rst:93 -msgid "Get the *frame*'s ``f_lasti`` attribute." -msgstr "" +msgid "Get the *frame*'s :attr:`~frame.f_lasti` attribute." +msgstr "Obtenha o atributo :attr:`~frame.f_lasti` do *frame*." #: ../../c-api/frame.rst:95 msgid "Returns -1 if ``frame.f_lasti`` is ``None``." -msgstr "" +msgstr "Retorna -1 se ``frame.f_lasti`` é ``None``." #: ../../c-api/frame.rst:102 -msgid "Get the *frame*'s ``f_locals`` attribute (:class:`dict`)." +msgid "Get the *frame*'s :attr:`~frame.f_locals` attribute (:class:`dict`)." msgstr "" #: ../../c-api/frame.rst:111 diff --git a/c-api/function.po b/c-api/function.po index 1255575a1..148cb8219 100644 --- a/c-api/function.po +++ b/c-api/function.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Italo Penaforte , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/function.rst:6 msgid "Function Objects" -msgstr "Objetos Função" +msgstr "Objetos Function" #: ../../c-api/function.rst:10 msgid "There are a few functions specific to Python functions." @@ -39,21 +38,21 @@ msgstr "A estrutura C usada para funções." #: ../../c-api/function.rst:22 msgid "" "This is an instance of :c:type:`PyTypeObject` and represents the Python " -"function type. It is exposed to Python programmers as ``types." -"FunctionType``." +"function type. It is exposed to Python programmers as " +"``types.FunctionType``." msgstr "" "Esta é uma instância de :c:type:`PyTypeObject` e representa o tipo de função " -"Python. Está exposto aos programadores Python como ``types.FunctionType``." +"Python. Está exposta a programadores Python como ``types.FunctionType``." #: ../../c-api/function.rst:28 msgid "" -"Return true if *o* is a function object (has type :c:data:" -"`PyFunction_Type`). The parameter must not be ``NULL``. This function " -"always succeeds." +"Return true if *o* is a function object (has " +"type :c:data:`PyFunction_Type`). The parameter must not be ``NULL``. This " +"function always succeeds." msgstr "" -"Retorna verdadeiro se *o* é um objeto de função (tem tipo :c:data:" -"`PyFunction_Type`). O parâmetro não deve ser ``NULL``. Esta função sempre " -"tem sucesso." +"Retorna verdadeiro se *o* for um objeto função (tem " +"tipo :c:data:`PyFunction_Type`). O parâmetro não deve ser ``NULL``. Esta " +"função sempre obtém sucesso." #: ../../c-api/function.rst:34 msgid "" @@ -61,87 +60,93 @@ msgid "" "*globals* must be a dictionary with the global variables accessible to the " "function." msgstr "" -"Retorna um novo objeto função associado ao código objeto *code*. *globals* " +"Retorna um novo objeto função associado ao objeto código *code*. *globals* " "deve ser um dicionário com as variáveis globais acessíveis à função." #: ../../c-api/function.rst:37 msgid "" -"The function's docstring and name are retrieved from the code object. " -"*__module__* is retrieved from *globals*. The argument defaults, annotations " -"and closure are set to ``NULL``. *__qualname__* is set to the same value as " -"the code object's ``co_qualname`` field." +"The function's docstring and name are retrieved from the code " +"object. :attr:`~function.__module__` is retrieved from *globals*. The " +"argument defaults, annotations and closure are set to " +"``NULL``. :attr:`~function.__qualname__` is set to the same value as the " +"code object's :attr:`~codeobject.co_qualname` field." msgstr "" -"A docstring e o nome da função são recuperados do objeto código. *__module__ " -"* é recuperado de *globals*. Os padrões de argumento, as anotações e o " -"encerramento são definidos como ``NULL``. *__qualname__* está definido para " -"o mesmo valor que o campo ``co_qualname`` do objeto código." +"O nome e *docstring* da função são adquiridos pelo objeto código. O " +"atributo :attr:`~function.__module__` é adquirido por meio de *globals*. Os " +"valores-padrão de argumentos, anotações, e fechamento são definidos como " +"``NULL``. O atributo :attr:`~function.__qualname__` é definido com o mesmo " +"valor do campo :attr:`~codeobject.co_qualname` de um objeto código." -#: ../../c-api/function.rst:45 +#: ../../c-api/function.rst:46 msgid "" -"As :c:func:`PyFunction_New`, but also allows setting the function object's " -"``__qualname__`` attribute. *qualname* should be a unicode object or " -"``NULL``; if ``NULL``, the ``__qualname__`` attribute is set to the same " -"value as the code object's ``co_qualname`` field." +"As :c:func:`PyFunction_New`, but also allows setting the function " +"object's :attr:`~function.__qualname__` attribute. *qualname* should be a " +"unicode object or ``NULL``; if ``NULL``, the :attr:`!__qualname__` attribute " +"is set to the same value as the code " +"object's :attr:`~codeobject.co_qualname` field." msgstr "" -"Como :c:func:`PyFunction_New`, mas também permite configurar o atributo " -"``__qualname__`` do objeto da função. *qualname* deve ser um objeto unicode " -"ou ``NULL``; Se ``NULL``, o atributo ``__qualname__`` é definido como o " -"mesmo valor que o campo ``co_qualname`` do objeto código." +"Similar a :c:func:`PyFunction_New`, mas também permite definir o " +"atributo :attr:`~function.__qualname__` do objeto função. *qualname* deve " +"ser um objeto Unicode ou ``NULL``. Se ``NULL``, o atributo :attr:`!" +"__qualname__` é definido com o mesmo valor do " +"campo :attr:`~codeobject.co_qualname` do objeto código." -#: ../../c-api/function.rst:55 +#: ../../c-api/function.rst:57 msgid "Return the code object associated with the function object *op*." -msgstr "Retorna o objeto de código associado ao objeto função *op*." +msgstr "Retorna o objeto código associado ao objeto função *op*." -#: ../../c-api/function.rst:60 +#: ../../c-api/function.rst:62 msgid "Return the globals dictionary associated with the function object *op*." msgstr "Retorna o dicionário global associado ao objeto função *op*." -#: ../../c-api/function.rst:65 +#: ../../c-api/function.rst:67 msgid "" -"Return a :term:`borrowed reference` to the *__module__* attribute of the " -"function object *op*. It can be *NULL*." +"Return a :term:`borrowed reference` to the :attr:`~function.__module__` " +"attribute of the :ref:`function object ` *op*. It can be " +"*NULL*." msgstr "" -"Retorna uma :term:`referência emprestada ` para o " -"atributo *__module__* do objeto função *op*. Pode ser *NULL*." +"Retorna uma :term:`referência emprestada` ao " +"atributo :attr:`~function.__module__` do :ref:`objeto função ` *op*. Pode ser `NULL`." -#: ../../c-api/function.rst:68 +#: ../../c-api/function.rst:71 msgid "" -"This is normally a string containing the module name, but can be set to any " -"other object by Python code." +"This is normally a :class:`string ` containing the module name, but can " +"be set to any other object by Python code." msgstr "" -"Esta é normalmente uma string contendo o nome do módulo, mas pode ser " -"configurada para qualquer outro objeto pelo código Python." +"Normalmente, trata-se de um :class:`string ` contendo o nome do módulo, " +"mas pode ser definido como qualquer outro objeto pelo código Python." -#: ../../c-api/function.rst:74 +#: ../../c-api/function.rst:77 msgid "" "Return the argument default values of the function object *op*. This can be " "a tuple of arguments or ``NULL``." msgstr "" -"Retorna o argumento os valores padrão do objeto função *op*. Isso pode ser " -"uma tupla de argumentos ou ``NULL``." +"Retorna os valores-padrão de argumentos do objeto função *op*. Pode ser uma " +"tupla de argumentos ou ``NULL``." -#: ../../c-api/function.rst:80 +#: ../../c-api/function.rst:83 msgid "" "Set the argument default values for the function object *op*. *defaults* " "must be ``Py_None`` or a tuple." msgstr "" -"Define o argumento valores padrão para o objeto função *op*. *defaults* deve " -"ser ``Py_None`` ou uma tupla." +"Define os valores-padrão dos argumentos do objeto função *op*. *defaults* " +"deve ser ``Py_None`` ou uma tupla." -#: ../../c-api/function.rst:83 ../../c-api/function.rst:97 -#: ../../c-api/function.rst:111 +#: ../../c-api/function.rst:86 ../../c-api/function.rst:100 +#: ../../c-api/function.rst:114 msgid "Raises :exc:`SystemError` and returns ``-1`` on failure." -msgstr "Levanta :exc:`SystemError` e retorna ``-1`` em falha." +msgstr "Levanta :exc:`SystemError` e retorna ``-1`` em caso de falha." -#: ../../c-api/function.rst:88 +#: ../../c-api/function.rst:91 msgid "" "Return the closure associated with the function object *op*. This can be " "``NULL`` or a tuple of cell objects." msgstr "" -"Retorna o fechamento associado ao objeto função *op*. Isso pode ser ``NULL`` " -"ou uma tupla de objetos de célula." +"Retorna o fechamento associado ao objeto função *op*. Pode ser ``NULL`` ou " +"uma tupla de objetos célula." -#: ../../c-api/function.rst:94 +#: ../../c-api/function.rst:97 msgid "" "Set the closure associated with the function object *op*. *closure* must be " "``Py_None`` or a tuple of cell objects." @@ -149,7 +154,7 @@ msgstr "" "Define o fechamento associado ao objeto função *op*. *closure* deve ser " "``Py_None`` ou uma tupla de objetos de célula." -#: ../../c-api/function.rst:102 +#: ../../c-api/function.rst:105 msgid "" "Return the annotations of the function object *op*. This can be a mutable " "dictionary or ``NULL``." @@ -157,7 +162,7 @@ msgstr "" "Retorna as anotações do objeto função *op*. Este pode ser um dicionário " "mutável ou ``NULL``." -#: ../../c-api/function.rst:108 +#: ../../c-api/function.rst:111 msgid "" "Set the annotations for the function object *op*. *annotations* must be a " "dictionary or ``Py_None``." @@ -175,4 +180,4 @@ msgstr "função" #: ../../c-api/function.rst:20 msgid "MethodType (in module types)" -msgstr "" +msgstr "MethodType (em tipos de módulos)" diff --git a/c-api/gcsupport.po b/c-api/gcsupport.po index 25132e8d6..dbff372d7 100644 --- a/c-api/gcsupport.po +++ b/c-api/gcsupport.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rodrigo Cândido, 2022 -# Andressa Lima Ferreira, 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,8 +37,8 @@ msgid "" "explicit support for garbage collection." msgstr "" "O suporte do Python para detectar e coletar o lixo, que envolve referencias " -"circulares, requer suporte dos tipos de objetos que são \"contêiners\" para " -"outros objetos que também podem ser contêiners. Tipos que não armazenam " +"circulares, requer suporte dos tipos de objetos que são \"contêineres\" para " +"outros objetos que também podem ser contêineres. Tipos que não armazenam " "referências a outros tipos de objetos, ou que apenas armazenam referências a " "tipos atômicos (como números ou strings), não precisam fornecer nenhum " "suporte explicito para coleta de lixo." @@ -48,18 +46,17 @@ msgstr "" #: ../../c-api/gcsupport.rst:15 msgid "" "To create a container type, the :c:member:`~PyTypeObject.tp_flags` field of " -"the type object must include the :const:`Py_TPFLAGS_HAVE_GC` and provide an " -"implementation of the :c:member:`~PyTypeObject.tp_traverse` handler. If " +"the type object must include the :c:macro:`Py_TPFLAGS_HAVE_GC` and provide " +"an implementation of the :c:member:`~PyTypeObject.tp_traverse` handler. If " "instances of the type are mutable, a :c:member:`~PyTypeObject.tp_clear` " "implementation must also be provided." msgstr "" -"Para criar um tipo container, o :c:member:`~PyTypeObject.tp_flags` campo do " -"tipo do objeto deve incluir o :const:`Py_TPFLAGS_HAVE_GC` e fornecer uma " -"implementação do manipulador :c:member:`~PyTypeObject.tp_traverse`. Se as " -"instâncias do tipo forem mutáveis, uma implementação :c:member:" -"`~PyTypeObject.tp_clear` também deverá ser fornecida." #: ../../c-api/gcsupport.rst:24 +msgid ":c:macro:`Py_TPFLAGS_HAVE_GC`" +msgstr "" + +#: ../../c-api/gcsupport.rst:22 msgid "" "Objects with a type with this flag set must conform with the rules " "documented here. For convenience these objects will be referred to as " @@ -69,27 +66,25 @@ msgstr "" "com regras documentadas aqui. Por conveniência esses objetos serão " "referenciados como objetos de contêiner." -#: ../../c-api/gcsupport.rst:28 +#: ../../c-api/gcsupport.rst:26 msgid "Constructors for container types must conform to two rules:" msgstr "Construtores para tipos de contêiner devem obedecer a duas regras:" -#: ../../c-api/gcsupport.rst:30 +#: ../../c-api/gcsupport.rst:28 msgid "" -"The memory for the object must be allocated using :c:func:`PyObject_GC_New` " -"or :c:func:`PyObject_GC_NewVar`." +"The memory for the object must be allocated using :c:macro:`PyObject_GC_New` " +"or :c:macro:`PyObject_GC_NewVar`." msgstr "" -"A memória para o objeto deve ser alocada usando :c:func:`PyObject_GC_New` " -"ou :c:func:`PyObject_GC_NewVar`." -#: ../../c-api/gcsupport.rst:33 +#: ../../c-api/gcsupport.rst:31 msgid "" "Once all the fields which may contain references to other containers are " "initialized, it must call :c:func:`PyObject_GC_Track`." msgstr "" -"Uma vez que todos os campos que podem conter referências a outros containers " -"foram inicializados, deve-se chamar :c:func:`PyObject_GC_Track`." +"Uma vez que todos os campos que podem conter referências a outros " +"contêineres foram inicializados, deve-se chamar :c:func:`PyObject_GC_Track`." -#: ../../c-api/gcsupport.rst:36 +#: ../../c-api/gcsupport.rst:34 msgid "" "Similarly, the deallocator for the object must conform to a similar pair of " "rules:" @@ -97,59 +92,65 @@ msgstr "" "Da mesma forma, o desalocador para o objeto deve estar em conformidade com " "regras semelhantes:" -#: ../../c-api/gcsupport.rst:39 +#: ../../c-api/gcsupport.rst:37 msgid "" -"Before fields which refer to other containers are invalidated, :c:func:" -"`PyObject_GC_UnTrack` must be called." +"Before fields which refer to other containers are " +"invalidated, :c:func:`PyObject_GC_UnTrack` must be called." msgstr "" -"Antes que os campos que fazer referência a outros containers sejam " +"Antes que os campos que fazer referência a outros contêineres sejam " "invalidados, :c:func:`PyObject_GC_UnTrack` deve ser chamado." -#: ../../c-api/gcsupport.rst:42 +#: ../../c-api/gcsupport.rst:40 msgid "" "The object's memory must be deallocated using :c:func:`PyObject_GC_Del`." msgstr "" -"A memória destinada ao objeto deve ser desalocada usando :c:func:" -"`PyObject_GC_Del`." +"A memória destinada ao objeto deve ser desalocada " +"usando :c:func:`PyObject_GC_Del`." -#: ../../c-api/gcsupport.rst:45 +#: ../../c-api/gcsupport.rst:43 msgid "" -"If a type adds the Py_TPFLAGS_HAVE_GC, then it *must* implement at least a :" -"c:member:`~PyTypeObject.tp_traverse` handler or explicitly use one from its " -"subclass or subclasses." +"If a type adds the Py_TPFLAGS_HAVE_GC, then it *must* implement at least " +"a :c:member:`~PyTypeObject.tp_traverse` handler or explicitly use one from " +"its subclass or subclasses." msgstr "" -#: ../../c-api/gcsupport.rst:49 +#: ../../c-api/gcsupport.rst:47 msgid "" "When calling :c:func:`PyType_Ready` or some of the APIs that indirectly call " "it like :c:func:`PyType_FromSpecWithBases` or :c:func:`PyType_FromSpec` the " -"interpreter will automatically populate the :c:member:`~PyTypeObject." -"tp_flags`, :c:member:`~PyTypeObject.tp_traverse` and :c:member:" -"`~PyTypeObject.tp_clear` fields if the type inherits from a class that " -"implements the garbage collector protocol and the child class does *not* " -"include the :const:`Py_TPFLAGS_HAVE_GC` flag." +"interpreter will automatically populate " +"the :c:member:`~PyTypeObject.tp_flags`, :c:member:`~PyTypeObject.tp_traverse` " +"and :c:member:`~PyTypeObject.tp_clear` fields if the type inherits from a " +"class that implements the garbage collector protocol and the child class " +"does *not* include the :c:macro:`Py_TPFLAGS_HAVE_GC` flag." msgstr "" -#: ../../c-api/gcsupport.rst:59 +#: ../../c-api/gcsupport.rst:57 msgid "" -"Analogous to :c:func:`PyObject_New` but for container objects with the :" -"const:`Py_TPFLAGS_HAVE_GC` flag set." +"Analogous to :c:macro:`PyObject_New` but for container objects with " +"the :c:macro:`Py_TPFLAGS_HAVE_GC` flag set." msgstr "" -#: ../../c-api/gcsupport.rst:65 +#: ../../c-api/gcsupport.rst:63 msgid "" -"Analogous to :c:func:`PyObject_NewVar` but for container objects with the :" -"const:`Py_TPFLAGS_HAVE_GC` flag set." +"Analogous to :c:macro:`PyObject_NewVar` but for container objects with " +"the :c:macro:`Py_TPFLAGS_HAVE_GC` flag set." msgstr "" -#: ../../c-api/gcsupport.rst:71 +#: ../../c-api/gcsupport.rst:69 msgid "" -"Resize an object allocated by :c:func:`PyObject_NewVar`. Returns the " -"resized object or ``NULL`` on failure. *op* must not be tracked by the " -"collector yet." +"Resize an object allocated by :c:macro:`PyObject_NewVar`. Returns the " +"resized object of type ``TYPE*`` (refers to any C type) or ``NULL`` on " +"failure." msgstr "" -#: ../../c-api/gcsupport.rst:77 +#: ../../c-api/gcsupport.rst:73 +msgid "" +"*op* must be of type :c:expr:`PyVarObject *` and must not be tracked by the " +"collector yet. *newsize* must be of type :c:type:`Py_ssize_t`." +msgstr "" + +#: ../../c-api/gcsupport.rst:80 msgid "" "Adds the object *op* to the set of container objects tracked by the " "collector. The collector can run at unexpected times so objects must be " @@ -158,83 +159,83 @@ msgid "" "usually near the end of the constructor." msgstr "" -#: ../../c-api/gcsupport.rst:86 +#: ../../c-api/gcsupport.rst:89 msgid "" "Returns non-zero if the object implements the garbage collector protocol, " "otherwise returns 0." msgstr "" -#: ../../c-api/gcsupport.rst:89 +#: ../../c-api/gcsupport.rst:92 msgid "" "The object cannot be tracked by the garbage collector if this function " "returns 0." msgstr "" -#: ../../c-api/gcsupport.rst:94 +#: ../../c-api/gcsupport.rst:97 msgid "" "Returns 1 if the object type of *op* implements the GC protocol and *op* is " "being currently tracked by the garbage collector and 0 otherwise." msgstr "" -#: ../../c-api/gcsupport.rst:97 +#: ../../c-api/gcsupport.rst:100 msgid "This is analogous to the Python function :func:`gc.is_tracked`." msgstr "" -#: ../../c-api/gcsupport.rst:104 +#: ../../c-api/gcsupport.rst:107 msgid "" "Returns 1 if the object type of *op* implements the GC protocol and *op* has " "been already finalized by the garbage collector and 0 otherwise." msgstr "" -#: ../../c-api/gcsupport.rst:107 +#: ../../c-api/gcsupport.rst:110 msgid "This is analogous to the Python function :func:`gc.is_finalized`." msgstr "" -#: ../../c-api/gcsupport.rst:114 +#: ../../c-api/gcsupport.rst:117 msgid "" -"Releases memory allocated to an object using :c:func:`PyObject_GC_New` or :c:" -"func:`PyObject_GC_NewVar`." +"Releases memory allocated to an object using :c:macro:`PyObject_GC_New` " +"or :c:macro:`PyObject_GC_NewVar`." msgstr "" -#: ../../c-api/gcsupport.rst:120 +#: ../../c-api/gcsupport.rst:123 msgid "" "Remove the object *op* from the set of container objects tracked by the " "collector. Note that :c:func:`PyObject_GC_Track` can be called again on " -"this object to add it back to the set of tracked objects. The deallocator (:" -"c:member:`~PyTypeObject.tp_dealloc` handler) should call this for the object " -"before any of the fields used by the :c:member:`~PyTypeObject.tp_traverse` " -"handler become invalid." +"this object to add it back to the set of tracked objects. The deallocator " +"(:c:member:`~PyTypeObject.tp_dealloc` handler) should call this for the " +"object before any of the fields used by " +"the :c:member:`~PyTypeObject.tp_traverse` handler become invalid." msgstr "" -#: ../../c-api/gcsupport.rst:129 +#: ../../c-api/gcsupport.rst:132 msgid "" -"The :c:func:`_PyObject_GC_TRACK` and :c:func:`_PyObject_GC_UNTRACK` macros " +"The :c:func:`!_PyObject_GC_TRACK` and :c:func:`!_PyObject_GC_UNTRACK` macros " "have been removed from the public C API." msgstr "" -#: ../../c-api/gcsupport.rst:132 +#: ../../c-api/gcsupport.rst:135 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` handler accepts a function " "parameter of this type:" msgstr "" -#: ../../c-api/gcsupport.rst:137 +#: ../../c-api/gcsupport.rst:140 msgid "" -"Type of the visitor function passed to the :c:member:`~PyTypeObject." -"tp_traverse` handler. The function should be called with an object to " -"traverse as *object* and the third parameter to the :c:member:`~PyTypeObject." -"tp_traverse` handler as *arg*. The Python core uses several visitor " -"functions to implement cyclic garbage detection; it's not expected that " -"users will need to write their own visitor functions." +"Type of the visitor function passed to " +"the :c:member:`~PyTypeObject.tp_traverse` handler. The function should be " +"called with an object to traverse as *object* and the third parameter to " +"the :c:member:`~PyTypeObject.tp_traverse` handler as *arg*. The Python core " +"uses several visitor functions to implement cyclic garbage detection; it's " +"not expected that users will need to write their own visitor functions." msgstr "" -#: ../../c-api/gcsupport.rst:144 +#: ../../c-api/gcsupport.rst:147 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` handler must have the following " "type:" msgstr "" -#: ../../c-api/gcsupport.rst:149 +#: ../../c-api/gcsupport.rst:152 msgid "" "Traversal function for a container object. Implementations must call the " "*visit* function for each object directly contained by *self*, with the " @@ -244,28 +245,28 @@ msgid "" "returned immediately." msgstr "" -#: ../../c-api/gcsupport.rst:156 +#: ../../c-api/gcsupport.rst:159 msgid "" -"To simplify writing :c:member:`~PyTypeObject.tp_traverse` handlers, a :c:" -"func:`Py_VISIT` macro is provided. In order to use this macro, the :c:" -"member:`~PyTypeObject.tp_traverse` implementation must name its arguments " -"exactly *visit* and *arg*:" +"To simplify writing :c:member:`~PyTypeObject.tp_traverse` handlers, " +"a :c:func:`Py_VISIT` macro is provided. In order to use this macro, " +"the :c:member:`~PyTypeObject.tp_traverse` implementation must name its " +"arguments exactly *visit* and *arg*:" msgstr "" -#: ../../c-api/gcsupport.rst:163 +#: ../../c-api/gcsupport.rst:166 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::" msgstr "" -#: ../../c-api/gcsupport.rst:176 +#: ../../c-api/gcsupport.rst:179 msgid "" -"The :c:member:`~PyTypeObject.tp_clear` handler must be of the :c:type:" -"`inquiry` type, or ``NULL`` if the object is immutable." +"The :c:member:`~PyTypeObject.tp_clear` handler must be of " +"the :c:type:`inquiry` type, or ``NULL`` if the object is immutable." msgstr "" -#: ../../c-api/gcsupport.rst:182 +#: ../../c-api/gcsupport.rst:185 msgid "" "Drop references that may have created reference cycles. Immutable objects " "do not have to define this method since they can never directly create " @@ -275,43 +276,43 @@ msgid "" "in a reference cycle." msgstr "" -#: ../../c-api/gcsupport.rst:191 +#: ../../c-api/gcsupport.rst:194 msgid "Controlling the Garbage Collector State" msgstr "Controlando o estado do coletor de lixo" -#: ../../c-api/gcsupport.rst:193 +#: ../../c-api/gcsupport.rst:196 msgid "" "The C-API provides the following functions for controlling garbage " "collection runs." msgstr "" -#: ../../c-api/gcsupport.rst:198 +#: ../../c-api/gcsupport.rst:201 msgid "" "Perform a full garbage collection, if the garbage collector is enabled. " "(Note that :func:`gc.collect` runs it unconditionally.)" msgstr "" -#: ../../c-api/gcsupport.rst:201 +#: ../../c-api/gcsupport.rst:204 msgid "" "Returns the number of collected + unreachable objects which cannot be " "collected. If the garbage collector is disabled or already collecting, " -"returns ``0`` immediately. Errors during garbage collection are passed to :" -"data:`sys.unraisablehook`. This function does not raise exceptions." +"returns ``0`` immediately. Errors during garbage collection are passed " +"to :data:`sys.unraisablehook`. This function does not raise exceptions." msgstr "" -#: ../../c-api/gcsupport.rst:211 +#: ../../c-api/gcsupport.rst:214 msgid "" "Enable the garbage collector: similar to :func:`gc.enable`. Returns the " "previous state, 0 for disabled and 1 for enabled." msgstr "" -#: ../../c-api/gcsupport.rst:219 +#: ../../c-api/gcsupport.rst:222 msgid "" "Disable the garbage collector: similar to :func:`gc.disable`. Returns the " "previous state, 0 for disabled and 1 for enabled." msgstr "" -#: ../../c-api/gcsupport.rst:227 +#: ../../c-api/gcsupport.rst:230 msgid "" "Query the state of the garbage collector: similar to :func:`gc.isenabled`. " "Returns the current state, 0 for disabled and 1 for enabled." diff --git a/c-api/gen.po b/c-api/gen.po index 05d028024..28bcdf04f 100644 --- a/c-api/gen.po +++ b/c-api/gen.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -31,13 +31,13 @@ msgstr "Objetos Geradores" msgid "" "Generator objects are what Python uses to implement generator iterators. " "They are normally created by iterating over a function that yields values, " -"rather than explicitly calling :c:func:`PyGen_New` or :c:func:" -"`PyGen_NewWithQualName`." +"rather than explicitly calling :c:func:`PyGen_New` " +"or :c:func:`PyGen_NewWithQualName`." msgstr "" "Objetos geradores são o que o Python usa para implementar iteradores " "geradores. Eles são normalmente criados por iteração sobre uma função que " -"produz valores, em vez de invocar explicitamente :c:func:`PyGen_New` ou :c:" -"func:`PyGen_NewWithQualName`." +"produz valores, em vez de invocar explicitamente :c:func:`PyGen_New` " +"ou :c:func:`PyGen_NewWithQualName`." #: ../../c-api/gen.rst:15 msgid "The C structure used for generator objects." diff --git a/c-api/hash.po b/c-api/hash.po new file mode 100644 index 000000000..f35336735 --- /dev/null +++ b/c-api/hash.po @@ -0,0 +1,64 @@ +# 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: +# python-doc bot, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" +"teams/5390/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" + +#: ../../c-api/hash.rst:4 +msgid "PyHash API" +msgstr "API do PyHash" + +#: ../../c-api/hash.rst:6 +msgid "See also the :c:member:`PyTypeObject.tp_hash` member." +msgstr "Veja também o membro :c:member:`PyTypeObject.tp_hash`." + +#: ../../c-api/hash.rst:10 +msgid "Hash value type: signed integer." +msgstr "Tipo de valor do hash: inteiro com sinal." + +#: ../../c-api/hash.rst:16 +msgid "Hash value type: unsigned integer." +msgstr "Tipo de valor do hash: inteiro sem sinal." + +#: ../../c-api/hash.rst:23 +msgid "Hash function definition used by :c:func:`PyHash_GetFuncDef`." +msgstr "Definição de função de hash usada por :c:func:`PyHash_GetFuncDef`." + +#: ../../c-api/hash.rst:31 +msgid "Hash function name (UTF-8 encoded string)." +msgstr "Nome de função hash (string codificada em UTF-8)." + +#: ../../c-api/hash.rst:35 +msgid "Internal size of the hash value in bits." +msgstr "Tamanho interno do valor do hash em bits." + +#: ../../c-api/hash.rst:39 +msgid "Size of seed input in bits." +msgstr "Tamanho da entrada de seed em bits." + +#: ../../c-api/hash.rst:46 +msgid "Get the hash function definition." +msgstr "Obtém a definição de função de hash." + +#: ../../c-api/hash.rst:49 +msgid ":pep:`456` \"Secure and interchangeable hash algorithm\"." +msgstr ":pep:`456` \"Algoritmo de hash seguro e intercambiável\"." diff --git a/c-api/import.po b/c-api/import.po index 3081f9a8d..d690a46a2 100644 --- a/c-api/import.po +++ b/c-api/import.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Ozeas Santos , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -30,53 +30,31 @@ msgstr "Importando módulos" #: ../../c-api/import.rst:16 msgid "" -"This is a simplified interface to :c:func:`PyImport_ImportModuleEx` below, " -"leaving the *globals* and *locals* arguments set to ``NULL`` and *level* set " -"to 0. When the *name* argument contains a dot (when it specifies a " -"submodule of a package), the *fromlist* argument is set to the list " -"``['*']`` so that the return value is the named module rather than the top-" -"level package containing it as would otherwise be the case. (Unfortunately, " -"this has an additional side effect when *name* in fact specifies a " -"subpackage instead of a submodule: the submodules specified in the package's " -"``__all__`` variable are loaded.) Return a new reference to the imported " -"module, or ``NULL`` with an exception set on failure. A failing import of a " -"module doesn't leave the module in :data:`sys.modules`." -msgstr "" -"Esta é uma interface simplificada para :c:func:`PyImport_ImportModuleEx` " -"abaixo, deixando os argumentos *globals* e *locals* definidos como ``NULL`` " -"e *level* definido como 0. Quando o argumento *name* contém um caractere de " -"ponto (quando especifica um submódulo de um pacote), o argumento *fromlist* " -"é definido para a lista ``['*']`` de modo que o valor de retorno é o módulo " -"nomeado em vez do pacote de nível superior que o contém como faria caso " -"contrário, seja o caso. (Infelizmente, isso tem um efeito colateral " -"adicional quando *name* de fato especifica um subpacote em vez de um " -"submódulo: os submódulos especificados na variável ``__all__`` do pacote são " -"carregados.) Retorna uma nova referência ao módulo importado, ou ``NULL`` " -"com uma exceção definida em caso de falha. Uma importação com falha de um " -"módulo não deixa o módulo em :data:`sys.modules`." - -#: ../../c-api/import.rst:28 ../../c-api/import.rst:89 -msgid "This function always uses absolute imports." -msgstr "Esta função sempre usa importações absolutas." +"This is a wrapper around :c:func:`PyImport_Import()` which takes " +"a :c:expr:`const char *` as an argument instead of a :c:expr:`PyObject *`." +msgstr "" +"Esta é uma função auxiliar em torno de :c:func:`PyImport_Import()`, que " +"recebe um :c:expr:`const char *` como argumento em vez de " +"um :c:expr:`PyObject *`." -#: ../../c-api/import.rst:33 +#: ../../c-api/import.rst:21 msgid "This function is a deprecated alias of :c:func:`PyImport_ImportModule`." msgstr "" "Esta função é um alias descontinuado de :c:func:`PyImport_ImportModule`." -#: ../../c-api/import.rst:35 +#: ../../c-api/import.rst:23 msgid "" "This function used to fail immediately when the import lock was held by " "another thread. In Python 3.3 though, the locking scheme switched to per-" "module locks for most purposes, so this function's special behaviour isn't " "needed anymore." msgstr "" -"Essa função falhava em alguns casos, quando o bloqueio de importação era " -"mantido por outra thread. No Python 3.3, no entanto, o esquema de bloqueio " -"mudou passando a ser por módulo na maior parte, dessa forma, o comportamento " -"especial dessa função não é mais necessário." +"Essa função falhava em alguns casos, quando a trava de importação era " +"mantida por outra thread. No Python 3.3, no entanto, o esquema de trava " +"mudou passando a ser de travas por módulo na maior parte, dessa forma, o " +"comportamento especial dessa função não é mais necessário." -#: ../../c-api/import.rst:46 +#: ../../c-api/import.rst:34 msgid "" "Import a module. This is best described by referring to the built-in Python " "function :func:`__import__`." @@ -84,12 +62,13 @@ msgstr "" "Importa um módulo. Isso é melhor descrito referindo-se à função embutida do " "Python :func:`__import__`." -#: ../../c-api/import.rst:49 ../../c-api/import.rst:65 +#: ../../c-api/import.rst:37 ../../c-api/import.rst:53 msgid "" "The return value is a new reference to the imported module or top-level " -"package, or ``NULL`` with an exception set on failure. Like for :func:" -"`__import__`, the return value when a submodule of a package was requested " -"is normally the top-level package, unless a non-empty *fromlist* was given." +"package, or ``NULL`` with an exception set on failure. Like " +"for :func:`__import__`, the return value when a submodule of a package was " +"requested is normally the top-level package, unless a non-empty *fromlist* " +"was given." msgstr "" "O valor de retorno é uma nova referência ao módulo importado ou pacote de " "nível superior, ou ``NULL`` com uma exceção definida em caso de falha. Como " @@ -97,15 +76,15 @@ msgstr "" "é solicitado é normalmente o pacote de nível superior, a menos que um " "*fromlist* não vazio seja fornecido." -#: ../../c-api/import.rst:55 +#: ../../c-api/import.rst:43 msgid "" -"Failing imports remove incomplete module objects, like with :c:func:" -"`PyImport_ImportModule`." +"Failing imports remove incomplete module objects, like " +"with :c:func:`PyImport_ImportModule`." msgstr "" -"As importações com falhas removem objetos incompletos do módulo, como em :c:" -"func:`PyImport_ImportModule`." +"As importações com falhas removem objetos incompletos do módulo, como " +"em :c:func:`PyImport_ImportModule`." -#: ../../c-api/import.rst:61 +#: ../../c-api/import.rst:49 msgid "" "Import a module. This is best described by referring to the built-in Python " "function :func:`__import__`, as the standard :func:`__import__` function " @@ -115,7 +94,7 @@ msgstr "" "Python :func:`__import__`, já que a função padrão :func:`__import__` chama " "essa função diretamente." -#: ../../c-api/import.rst:75 +#: ../../c-api/import.rst:63 msgid "" "Similar to :c:func:`PyImport_ImportModuleLevelObject`, but the name is a " "UTF-8 encoded string instead of a Unicode object." @@ -123,11 +102,11 @@ msgstr "" "Semelhante para :c:func:`PyImport_ImportModuleLevelObject`, mas o nome é uma " "string codificada em UTF-8 de um objeto Unicode." -#: ../../c-api/import.rst:78 +#: ../../c-api/import.rst:66 msgid "Negative values for *level* are no longer accepted." msgstr "Valores negativos para *level* não são mais aceitos." -#: ../../c-api/import.rst:83 +#: ../../c-api/import.rst:71 msgid "" "This is a higher-level interface that calls the current \"import hook " "function\" (with an explicit *level* of 0, meaning absolute import). It " @@ -141,7 +120,11 @@ msgstr "" "da global atual. Isso significa que a importação é feita usando quaisquer " "extras de importação instalados no ambiente atual." -#: ../../c-api/import.rst:94 +#: ../../c-api/import.rst:77 +msgid "This function always uses absolute imports." +msgstr "Esta função sempre usa importações absolutas." + +#: ../../c-api/import.rst:82 msgid "" "Reload a module. Return a new reference to the reloaded module, or ``NULL`` " "with an exception set on failure (the module still exists in this case)." @@ -150,7 +133,7 @@ msgstr "" "ou ``NULL`` com uma exceção definida em caso de falha (o módulo ainda existe " "neste caso)." -#: ../../c-api/import.rst:100 +#: ../../c-api/import.rst:88 msgid "" "Return the module object corresponding to a module name. The *name* " "argument may be of the form ``package.module``. First check the modules " @@ -163,13 +146,13 @@ msgstr "" "dicionário de módulos. Retorna ``NULL`` com uma exceção definida em caso de " "falha." -#: ../../c-api/import.rst:107 +#: ../../c-api/import.rst:95 msgid "" "This function does not load or import the module; if the module wasn't " -"already loaded, you will get an empty module object. Use :c:func:" -"`PyImport_ImportModule` or one of its variants to import a module. Package " -"structures implied by a dotted name for *name* are not created if not " -"already present." +"already loaded, you will get an empty module object. " +"Use :c:func:`PyImport_ImportModule` or one of its variants to import a " +"module. Package structures implied by a dotted name for *name* are not " +"created if not already present." msgstr "" "Esta função não carrega ou importa o módulo; se o módulo não foi carregado, " "você receberá um objeto de módulo vazio. Use :c:func:`PyImport_ImportModule` " @@ -177,7 +160,7 @@ msgstr "" "implícitos por um nome pontilhado para a *name* não são criados se não " "estiverem presentes." -#: ../../c-api/import.rst:117 +#: ../../c-api/import.rst:105 msgid "" "Similar to :c:func:`PyImport_AddModuleObject`, but the name is a UTF-8 " "encoded string instead of a Unicode object." @@ -185,60 +168,56 @@ msgstr "" "Semelhante para :c:func:`PyImport_AddModuleObject`, mas o nome é uma string " "codifica em UTF-8 em vez de um objeto Unicode." -#: ../../c-api/import.rst:125 +#: ../../c-api/import.rst:113 msgid "" "Given a module name (possibly of the form ``package.module``) and a code " "object read from a Python bytecode file or obtained from the built-in " "function :func:`compile`, load the module. Return a new reference to the " "module object, or ``NULL`` with an exception set if an error occurred. " -"*name* is removed from :attr:`sys.modules` in error cases, even if *name* " -"was already in :attr:`sys.modules` on entry to :c:func:" -"`PyImport_ExecCodeModule`. Leaving incompletely initialized modules in :" -"attr:`sys.modules` is dangerous, as imports of such modules have no way to " -"know that the module object is an unknown (and probably damaged with respect " -"to the module author's intents) state." -msgstr "" -"Dado um nome de módulo (possivelmente na forma ``package.module``) e um " -"objeto código lido de um arquivo de bytecode Python ou obtido da função " -"embutida :func:`compile`, carrega o módulo. Retorna uma nova referência ao " -"objeto do módulo, ou ``NULL`` com uma exceção definida se ocorrer um erro. " -"*name* é removido de :attr:`sys.modules` em casos de erro, mesmo se *name* " -"já estivesse em :attr:`sys.modules` na entrada para :c:func:" -"`PyImport_ExecCodeModule`. Deixar módulos incompletamente inicializados em :" -"attr:`sys.modules` é perigoso, pois as importações de tais módulos não têm " -"como saber se o objeto módulo é um estado desconhecido (e provavelmente " -"danificado em relação às intenções do autor do módulo)." +"*name* is removed from :data:`sys.modules` in error cases, even if *name* " +"was already in :data:`sys.modules` on entry " +"to :c:func:`PyImport_ExecCodeModule`. Leaving incompletely initialized " +"modules in :data:`sys.modules` is dangerous, as imports of such modules have " +"no way to know that the module object is an unknown (and probably damaged " +"with respect to the module author's intents) state." +msgstr "" +"Dado um nome de módulo (possivelmente no formato ``pacote.módulo``) e um " +"objeto código lido de um arquivo bytecode Python ou obtido da função " +"embutida :func:`compile`, carrea o módulo. Retorna uma nova referência ao " +"objeto do módulo ou ``NULL`` com uma exceção definida se ocorrer um erro. " +"*name* é removido de :data:`sys.modules` em casos de erro, mesmo que *name* " +"já estivesse em :data:`sys.modules` na entrada " +"de :c:func:`PyImport_ExecCodeModule`. Deixar módulos incompletamente " +"inicializados em :data:`sys.modules` é perigoso, pois as importações desses " +"módulos não têm como saber que o objeto do módulo está em um estado " +"desconhecido (e provavelmente corrompido em relação às intenções do autor do " +"módulo)." -#: ../../c-api/import.rst:135 +#: ../../c-api/import.rst:123 msgid "" "The module's :attr:`__spec__` and :attr:`__loader__` will be set, if not set " "already, with the appropriate values. The spec's loader will be set to the " -"module's ``__loader__`` (if set) and to an instance of :class:" -"`SourceFileLoader` otherwise." +"module's ``__loader__`` (if set) and to an instance " +"of :class:`~importlib.machinery.SourceFileLoader` otherwise." msgstr "" -"O :attr:`__spec__` e o :attr:`__loader__` do módulo serão definidos, se não " -"estiverem, com os valores apropriados. O carregador do spec será definido " -"para o ``__loader__`` do módulo (se definido) e para uma instância da " -"classe :class:`SourceFileLoader` em caso contrário." -#: ../../c-api/import.rst:140 +#: ../../c-api/import.rst:128 msgid "" -"The module's :attr:`__file__` attribute will be set to the code object's :c:" -"member:`co_filename`. If applicable, :attr:`__cached__` will also be set." +"The module's :attr:`__file__` attribute will be set to the code " +"object's :attr:`~codeobject.co_filename`. If applicable, :attr:`__cached__` " +"will also be set." msgstr "" -"O atributo :attr:`__file__` do módulo será definido para o :c:member:" -"`co_filename` do objeto código. Se aplicável, :attr:`__cached__` também será " -"definido." -#: ../../c-api/import.rst:144 +#: ../../c-api/import.rst:132 msgid "" -"This function will reload the module if it was already imported. See :c:" -"func:`PyImport_ReloadModule` for the intended way to reload a module." +"This function will reload the module if it was already imported. " +"See :c:func:`PyImport_ReloadModule` for the intended way to reload a module." msgstr "" -"Esta função recarregará o módulo se este já tiver sido importado. Veja :c:" -"func:`PyImport_ReloadModule` para forma desejada de recarregar um módulo." +"Esta função recarregará o módulo se este já tiver sido importado. " +"Veja :c:func:`PyImport_ReloadModule` para forma desejada de recarregar um " +"módulo." -#: ../../c-api/import.rst:147 +#: ../../c-api/import.rst:135 msgid "" "If *name* points to a dotted name of the form ``package.module``, any " "package structures not already created will still not be created." @@ -246,15 +225,15 @@ msgstr "" "Se *name* apontar para um nome pontilhado no formato de ``package.module``, " "quaisquer estruturas de pacote ainda não criadas ainda não serão criadas." -#: ../../c-api/import.rst:150 +#: ../../c-api/import.rst:138 msgid "" -"See also :c:func:`PyImport_ExecCodeModuleEx` and :c:func:" -"`PyImport_ExecCodeModuleWithPathnames`." +"See also :c:func:`PyImport_ExecCodeModuleEx` " +"and :c:func:`PyImport_ExecCodeModuleWithPathnames`." msgstr "" -"Veja também :c:func:`PyImport_ExecCodeModuleEx` e :c:func:" -"`PyImport_ExecCodeModuleWithPathnames`." +"Veja também :c:func:`PyImport_ExecCodeModuleEx` " +"e :c:func:`PyImport_ExecCodeModuleWithPathnames`." -#: ../../c-api/import.rst:156 +#: ../../c-api/import.rst:144 msgid "" "Like :c:func:`PyImport_ExecCodeModule`, but the :attr:`__file__` attribute " "of the module object is set to *pathname* if it is non-``NULL``." @@ -262,11 +241,11 @@ msgstr "" "Como :c:func:`PyImport_ExecCodeModule`, mas o atributo :attr:`__file__` do " "objeto módulo é definido como *pathname* se não for ``NULL``." -#: ../../c-api/import.rst:159 +#: ../../c-api/import.rst:147 msgid "See also :c:func:`PyImport_ExecCodeModuleWithPathnames`." msgstr "Veja também :c:func:`PyImport_ExecCodeModuleWithPathnames`." -#: ../../c-api/import.rst:164 +#: ../../c-api/import.rst:152 msgid "" "Like :c:func:`PyImport_ExecCodeModuleEx`, but the :attr:`__cached__` " "attribute of the module object is set to *cpathname* if it is non-``NULL``. " @@ -276,7 +255,7 @@ msgstr "" "do objeto módulo é definido como *cpathname* se não for ``NULL``. Das três " "funções, esta é a preferida para usar." -#: ../../c-api/import.rst:173 +#: ../../c-api/import.rst:161 msgid "" "Like :c:func:`PyImport_ExecCodeModuleObject`, but *name*, *pathname* and " "*cpathname* are UTF-8 encoded strings. Attempts are also made to figure out " @@ -288,7 +267,7 @@ msgstr "" "para descobrir qual valor para *pathname* deve ser de *cpathname* se o " "primeiro estiver definido como ``NULL``." -#: ../../c-api/import.rst:179 +#: ../../c-api/import.rst:167 msgid "" "Uses :func:`imp.source_from_cache()` in calculating the source path if only " "the bytecode path is provided." @@ -296,7 +275,7 @@ msgstr "" "Usa :func:`imp.source_from_cache()` no cálculo do caminho de origem se " "apenas o caminho do bytecode for fornecido." -#: ../../c-api/import.rst:186 +#: ../../c-api/import.rst:174 msgid "" "Return the magic number for Python bytecode files (a.k.a. :file:`.pyc` " "file). The magic number should be present in the first four bytes of the " @@ -307,29 +286,30 @@ msgstr "" "primeiros quatro bytes do arquivo bytecode, na ordem de bytes little-endian. " "Retorna ``-1`` em caso de erro." -#: ../../c-api/import.rst:190 +#: ../../c-api/import.rst:178 msgid "Return value of ``-1`` upon failure." msgstr "Retorna o valor de ``-1`` no caso de falha." -#: ../../c-api/import.rst:196 +#: ../../c-api/import.rst:184 msgid "" "Return the magic tag string for :pep:`3147` format Python bytecode file " "names. Keep in mind that the value at ``sys.implementation.cache_tag`` is " "authoritative and should be used instead of this function." msgstr "" "Retorna a string de tag mágica para nomes de arquivo de bytecode Python no " -"formato de :pep:`3147`. Tenha em mente que o valor em ``sys.implementation." -"cache_tag`` é autoritativo e deve ser usado no lugar desta função." +"formato de :pep:`3147`. Tenha em mente que o valor em " +"``sys.implementation.cache_tag`` é autoritativo e deve ser usado no lugar " +"desta função." -#: ../../c-api/import.rst:204 +#: ../../c-api/import.rst:192 msgid "" -"Return the dictionary used for the module administration (a.k.a. ``sys." -"modules``). Note that this is a per-interpreter variable." +"Return the dictionary used for the module administration (a.k.a. " +"``sys.modules``). Note that this is a per-interpreter variable." msgstr "" "Retorna o dicionário usado para a administração do módulo (também conhecido " "como ``sys.modules``). Observe que esta é uma variável por interpretador." -#: ../../c-api/import.rst:209 +#: ../../c-api/import.rst:197 msgid "" "Return the already imported module with the given name. If the module has " "not been imported yet then returns ``NULL`` but does not set an error. " @@ -339,33 +319,25 @@ msgstr "" "foi importado, retorna ``NULL``, mas não define um erro. Retorna ``NULL`` e " "define um erro se a pesquisa falhar." -#: ../../c-api/import.rst:217 +#: ../../c-api/import.rst:205 msgid "" -"Return a finder object for a :data:`sys.path`/:attr:`pkg.__path__` item " +"Return a finder object for a :data:`sys.path`/:attr:`!pkg.__path__` item " "*path*, possibly by fetching it from the :data:`sys.path_importer_cache` " "dict. If it wasn't yet cached, traverse :data:`sys.path_hooks` until a hook " "is found that can handle the path item. Return ``None`` if no hook could; " "this tells our caller that the :term:`path based finder` could not find a " -"finder for this path item. Cache the result in :data:`sys." -"path_importer_cache`. Return a new reference to the finder object." +"finder for this path item. Cache the result " +"in :data:`sys.path_importer_cache`. Return a new reference to the finder " +"object." msgstr "" -"Retorna um objeto localizador para o item *path* de :data:`sys.path`/:attr:" -"`pkg.__path__`, possivelmente obtendo-o do dicionário :data:`sys." -"path_importer_cache`. Se ainda não foi armazenado em cache, atravessa :data:" -"`sys.path_hooks` até que um gancho seja encontrado que possa lidar com o " -"item de caminho. Retorna ``None`` se nenhum gancho puder; isso diz ao nosso " -"chamador que o :term:`localizador baseado no caminho` não conseguiu " -"encontrar um localizador para este item de caminho. Armazena o resultado em :" -"data:`sys.path_importer_cache`. Retorna uma nova referência ao objeto " -"localizador." -#: ../../c-api/import.rst:228 +#: ../../c-api/import.rst:216 msgid "" "Load a frozen module named *name*. Return ``1`` for success, ``0`` if the " "module is not found, and ``-1`` with an exception set if the initialization " -"failed. To access the imported module on a successful load, use :c:func:" -"`PyImport_ImportModule`. (Note the misnomer --- this function would reload " -"the module if it was already imported.)" +"failed. To access the imported module on a successful load, " +"use :c:func:`PyImport_ImportModule`. (Note the misnomer --- this function " +"would reload the module if it was already imported.)" msgstr "" "Carrega um módulo congelado chamado *name*. Retorna ``1`` para sucesso, " "``0`` se o módulo não for encontrado e ``-1`` com uma exceção definida se a " @@ -373,11 +345,11 @@ msgstr "" "sucedido, use :c:func:`PyImport_ImportModule`. (Observe o nome incorreto --- " "esta função recarregaria o módulo se ele já tivesse sido importado.)" -#: ../../c-api/import.rst:236 +#: ../../c-api/import.rst:224 msgid "The ``__file__`` attribute is no longer set on the module." msgstr "O atributo ``__file__`` não está mais definido no módulo." -#: ../../c-api/import.rst:242 +#: ../../c-api/import.rst:230 msgid "" "Similar to :c:func:`PyImport_ImportFrozenModuleObject`, but the name is a " "UTF-8 encoded string instead of a Unicode object." @@ -385,19 +357,19 @@ msgstr "" "Semelhante a :c:func:`PyImport_ImportFrozenModuleObject`, mas o nome é uma " "string codificada em UTF-8 em vez de um objeto Unicode." -#: ../../c-api/import.rst:250 +#: ../../c-api/import.rst:238 msgid "" "This is the structure type definition for frozen module descriptors, as " "generated by the :program:`freeze` utility (see :file:`Tools/freeze/` in the " -"Python source distribution). Its definition, found in :file:`Include/import." -"h`, is::" +"Python source distribution). Its definition, found in :file:`Include/" +"import.h`, is::" msgstr "" "Esta é a definição do tipo de estrutura para descritores de módulo " -"congelados, conforme gerado pelo utilitário :program:`freeze` (veja :file:" -"`Tools/freeze/` na distribuição fonte do Python). Sua definição, encontrada " -"em :file:`Include/import.h`, é::" +"congelados, conforme gerado pelo utilitário :program:`freeze` " +"(veja :file:`Tools/freeze/` na distribuição fonte do Python). Sua definição, " +"encontrada em :file:`Include/import.h`, é::" -#: ../../c-api/import.rst:262 +#: ../../c-api/import.rst:250 msgid "" "The new ``is_package`` field indicates whether the module is a package or " "not. This replaces setting the ``size`` field to a negative value." @@ -405,7 +377,7 @@ msgstr "" "O novo campo ``is_package`` indica se o módulo é um pacote ou não. Isso " "substitui a configuração do campo ``size`` para um valor negativo." -#: ../../c-api/import.rst:268 +#: ../../c-api/import.rst:256 msgid "" "This pointer is initialized to point to an array of :c:struct:`_frozen` " "records, terminated by one whose members are all ``NULL`` or zero. When a " @@ -413,13 +385,13 @@ msgid "" "could play tricks with this to provide a dynamically created collection of " "frozen modules." msgstr "" -"Este ponteiro é inicializado para apontar para um vetor de registros de :c:" -"struct:`_frozen`, terminado por um cujos membros são todos ``NULL`` ou zero. " -"Quando um módulo congelado é importado, ele é pesquisado nesta tabela. O " -"código de terceiros pode fazer truques com isso para fornecer uma coleção " +"Este ponteiro é inicializado para apontar para um vetor de registros " +"de :c:struct:`_frozen`, terminado por um cujos membros são todos ``NULL`` ou " +"zero. Quando um módulo congelado é importado, ele é pesquisado nesta tabela. " +"O código de terceiros pode fazer truques com isso para fornecer uma coleção " "criada dinamicamente de módulos congelados." -#: ../../c-api/import.rst:276 +#: ../../c-api/import.rst:264 msgid "" "Add a single module to the existing table of built-in modules. This is a " "convenience wrapper around :c:func:`PyImport_ExtendInittab`, returning " @@ -432,52 +404,44 @@ msgstr "" "invólucro prático em torno de :c:func:`PyImport_ExtendInittab`, retornando " "``-1`` se a tabela não puder ser estendida. O novo módulo pode ser importado " "pelo nome *name* e usa a função *initfunc* como a função de inicialização " -"chamada na primeira tentativa de importação. Deve ser chamado antes de :c:" -"func:`Py_Initialize`." +"chamada na primeira tentativa de importação. Deve ser chamado antes " +"de :c:func:`Py_Initialize`." -#: ../../c-api/import.rst:286 +#: ../../c-api/import.rst:274 msgid "" -"Structure describing a single entry in the list of built-in modules. Each " -"of these structures gives the name and initialization function for a module " -"built into the interpreter. The name is an ASCII encoded string. Programs " -"which embed Python may use an array of these structures in conjunction with :" -"c:func:`PyImport_ExtendInittab` to provide additional built-in modules. The " -"structure is defined in :file:`Include/import.h` as::" +"Structure describing a single entry in the list of built-in modules. " +"Programs which embed Python may use an array of these structures in " +"conjunction with :c:func:`PyImport_ExtendInittab` to provide additional " +"built-in modules. The structure consists of two members:" +msgstr "" + +#: ../../c-api/import.rst:282 +msgid "The module name, as an ASCII encoded string." msgstr "" -"Estrutura que descreve uma única entrada na lista de módulos embutidos. Cada " -"uma dessas estruturas fornece o nome e a função de inicialização para um " -"módulo embutido ao interpretador. O nome é uma string codificada em ASCII. " -"Os programas que embutem Python podem usar um vetor dessas estruturas em " -"conjunto com :c:func:`PyImport_ExtendInittab` para fornecer módulos " -"embutidos adicionais. A estrutura é definida em :file:`Include/import.h` " -"como::" -#: ../../c-api/import.rst:301 +#: ../../c-api/import.rst:286 +msgid "Initialization function for a module built into the interpreter." +msgstr "" + +#: ../../c-api/import.rst:291 msgid "" "Add a collection of modules to the table of built-in modules. The *newtab* " -"array must end with a sentinel entry which contains ``NULL`` for the :attr:" -"`name` field; failure to provide the sentinel value can result in a memory " -"fault. Returns ``0`` on success or ``-1`` if insufficient memory could be " -"allocated to extend the internal table. In the event of failure, no modules " -"are added to the internal table. This must be called before :c:func:" -"`Py_Initialize`." -msgstr "" -"Adiciona uma coleção de módulos à tabela de módulos embutidos. O vetor " -"*newtab* deve terminar com uma entrada sentinela que contém ``NULL`` para o " -"campo :attr:`name`; a falha em fornecer o valor sentinela pode resultar em " -"uma falha de memória. Retorna ``0`` em caso de sucesso ou ``-1`` se memória " -"insuficiente puder ser alocada para estender a tabela interna. Em caso de " -"falha, nenhum módulo é adicionado à tabela interna. Deve ser chamado antes " -"de :c:func:`Py_Initialize`." +"array must end with a sentinel entry which contains ``NULL`` for " +"the :c:member:`~_inittab.name` field; failure to provide the sentinel value " +"can result in a memory fault. Returns ``0`` on success or ``-1`` if " +"insufficient memory could be allocated to extend the internal table. In the " +"event of failure, no modules are added to the internal table. This must be " +"called before :c:func:`Py_Initialize`." +msgstr "" -#: ../../c-api/import.rst:308 +#: ../../c-api/import.rst:298 msgid "" "If Python is initialized multiple times, :c:func:`PyImport_AppendInittab` " "or :c:func:`PyImport_ExtendInittab` must be called before each Python " "initialization." msgstr "" -"Se Python é inicializado várias vezes, :c:func:`PyImport_AppendInittab` ou :" -"c:func:`PyImport_ExtendInittab` devem ser chamados antes de cada " +"Se Python é inicializado várias vezes, :c:func:`PyImport_AppendInittab` " +"ou :c:func:`PyImport_ExtendInittab` devem ser chamados antes de cada " "inicialização do Python." #: ../../c-api/import.rst:11 @@ -496,18 +460,18 @@ msgstr "" msgid "modules (in module sys)" msgstr "" -#: ../../c-api/import.rst:44 ../../c-api/import.rst:123 +#: ../../c-api/import.rst:32 ../../c-api/import.rst:111 msgid "built-in function" msgstr "função embutida" -#: ../../c-api/import.rst:44 +#: ../../c-api/import.rst:32 msgid "__import__" msgstr "" -#: ../../c-api/import.rst:123 +#: ../../c-api/import.rst:111 msgid "compile" -msgstr "" +msgstr "compile" -#: ../../c-api/import.rst:248 +#: ../../c-api/import.rst:236 msgid "freeze utility" msgstr "" diff --git a/c-api/index.po b/c-api/index.po index 41d61396d..615d2f12d 100644 --- a/c-api/index.po +++ b/c-api/index.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Last-Translator: Marco Rougeth , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -31,11 +30,11 @@ msgstr "Manual de referência da API Python/C" #: ../../c-api/index.rst:7 msgid "" "This manual documents the API used by C and C++ programmers who want to " -"write extension modules or embed Python. It is a companion to :ref:" -"`extending-index`, which describes the general principles of extension " -"writing but does not document the API functions in detail." +"write extension modules or embed Python. It is a companion " +"to :ref:`extending-index`, which describes the general principles of " +"extension writing but does not document the API functions in detail." msgstr "" "Este manual documenta a API usada por programadores C e C++ que desejam " -"escrever módulos de extensões ou embutir Python. É um complemento para :ref:" -"`extending-index`, que descreve os princípios gerais da escrita de extensões " -"mas não documenta as funções da API em detalhes." +"escrever módulos de extensões ou embutir Python. É um complemento " +"para :ref:`extending-index`, que descreve os princípios gerais da escrita de " +"extensões mas não documenta as funções da API em detalhes." diff --git a/c-api/init.po b/c-api/init.po index 1ca21a389..685ba3637 100644 --- a/c-api/init.po +++ b/c-api/init.po @@ -1,38 +1,33 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Rafael Marques , 2021 -# a76d6fb6142d7607ab0526dcbddb02d7_7bf0da0 <3b5fb0f281c8dfb4c0170f2ee2a6cfcf_843623>, 2021 -# Andre Weber, 2021 -# Rodrigo Cândido, 2022 -# Claudio Rogerio Carvalho Filho , 2023 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 +# willian ohara, 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-11 21:10+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: willian ohara, 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/init.rst:8 msgid "Initialization, Finalization, and Threads" -msgstr "Inicialização, Finalização e Threads" +msgstr "Inicialização, finalização e threads" #: ../../c-api/init.rst:10 msgid "See also :ref:`Python Initialization Configuration `." @@ -41,7 +36,7 @@ msgstr "" #: ../../c-api/init.rst:15 msgid "Before Python Initialization" -msgstr "Antes da Inicialização do Python" +msgstr "Antes da inicialização do Python" #: ../../c-api/init.rst:17 msgid "" @@ -64,7 +59,7 @@ msgstr "" #: ../../c-api/init.rst:24 msgid "Configuration functions:" -msgstr "Funções de Configuração" +msgstr "Funções de configuração" #: ../../c-api/init.rst:26 msgid ":c:func:`PyImport_AppendInittab`" @@ -75,8 +70,8 @@ msgid ":c:func:`PyImport_ExtendInittab`" msgstr ":c:func:`PyImport_ExtendInittab`" #: ../../c-api/init.rst:28 -msgid ":c:func:`PyInitFrozenExtensions`" -msgstr ":c:func:`PyInitFrozenExtensions`" +msgid ":c:func:`!PyInitFrozenExtensions`" +msgstr ":c:func:`!PyInitFrozenExtensions`" #: ../../c-api/init.rst:29 msgid ":c:func:`PyMem_SetAllocator`" @@ -120,7 +115,7 @@ msgstr ":c:func:`PySys_ResetWarnOptions`" #: ../../c-api/init.rst:40 msgid "Informative functions:" -msgstr "Funções Informativas:" +msgstr "Funções informativas:" #: ../../c-api/init.rst:42 msgid ":c:func:`Py_IsInitialized`" @@ -184,17 +179,13 @@ msgstr ":c:func:`PyMem_RawFree`" #: ../../c-api/init.rst:64 msgid "" -"The following functions **should not be called** before :c:func:" -"`Py_Initialize`: :c:func:`Py_EncodeLocale`, :c:func:`Py_GetPath`, :c:func:" -"`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:func:" -"`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome`, :c:func:" -"`Py_GetProgramName` and :c:func:`PyEval_InitThreads`." +"The following functions **should not be called** " +"before :c:func:`Py_Initialize`: :c:func:`Py_EncodeLocale`, :c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome`, :c:func:`Py_GetProgramName` " +"and :c:func:`PyEval_InitThreads`." msgstr "" -"As seguintes funções **não devem ser chamadas** antes :c:func:" -"`Py_Initialize`: :c:func:`Py_EncodeLocale`, :c:func:`Py_GetPath`, :c:func:" -"`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:func:" -"`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome`, :c:func:" -"`Py_GetProgramName` e :c:func:`PyEval_InitThreads`." +"As seguintes funções **não devem ser chamadas** " +"antes :c:func:`Py_Initialize`: :c:func:`Py_EncodeLocale`, :c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome`, :c:func:`Py_GetProgramName` " +"e :c:func:`PyEval_InitThreads`." #: ../../c-api/init.rst:74 msgid "Global configuration variables" @@ -203,8 +194,8 @@ msgstr "Variáveis de configuração global" #: ../../c-api/init.rst:76 msgid "" "Python has variables for the global configuration to control different " -"features and options. By default, these flags are controlled by :ref:" -"`command line options `." +"features and options. By default, these flags are controlled " +"by :ref:`command line options `." msgstr "" "Python tem variáveis para a configuração global a fim de controlar " "diferentes características e opções. Por padrão, estes sinalizadores são " @@ -214,24 +205,24 @@ msgstr "" #: ../../c-api/init.rst:80 msgid "" "When a flag is set by an option, the value of the flag is the number of " -"times that the option was set. For example, ``-b`` sets :c:data:" -"`Py_BytesWarningFlag` to 1 and ``-bb`` sets :c:data:`Py_BytesWarningFlag` to " -"2." +"times that the option was set. For example, ``-b`` " +"sets :c:data:`Py_BytesWarningFlag` to 1 and ``-bb`` " +"sets :c:data:`Py_BytesWarningFlag` to 2." msgstr "" "Quando um sinalizador é definido por uma opção, o valor do sinalizador é o " -"número de vezes que a opção foi definida. Por exemplo,``-b`` define :c:data:" -"`Py_BytesWarningFlag` para 1 e ``-bb`` define :c:data:`Py_BytesWarningFlag` " -"para 2." +"número de vezes que a opção foi definida. Por exemplo, ``-b`` " +"define :c:data:`Py_BytesWarningFlag` para 1 e ``-bb`` " +"define :c:data:`Py_BytesWarningFlag` para 2." #: ../../c-api/init.rst:86 msgid "" -"Issue a warning when comparing :class:`bytes` or :class:`bytearray` with :" -"class:`str` or :class:`bytes` with :class:`int`. Issue an error if greater " -"or equal to ``2``." +"Issue a warning when comparing :class:`bytes` or :class:`bytearray` " +"with :class:`str` or :class:`bytes` with :class:`int`. Issue an error if " +"greater or equal to ``2``." msgstr "" -"Emite um aviso ao comparar :class:`bytes` ou :class:`bytearray` com :class:" -"`str` ou :class:`bytes` com :class:`int`. Emite um erro se for maior ou " -"igual a ``2``." +"Emite um aviso ao comparar :class:`bytes` ou :class:`bytearray` " +"com :class:`str` ou :class:`bytes` com :class:`int`. Emite um erro se for " +"maior ou igual a ``2``." #: ../../c-api/init.rst:90 msgid "Set by the :option:`-b` option." @@ -250,15 +241,15 @@ msgid "" "Set by the :option:`-d` option and the :envvar:`PYTHONDEBUG` environment " "variable." msgstr "" -"Definida pela a opção :option:`-d` e a variável de ambiente :envvar:" -"`PYTHONDEBUG`." +"Definida pela a opção :option:`-d` e a variável de " +"ambiente :envvar:`PYTHONDEBUG`." #: ../../c-api/init.rst:102 msgid "" "If set to non-zero, Python won't try to write ``.pyc`` files on the import " "of source modules." msgstr "" -"Se definido como diferente de zero, o Python não tentará escrever arquivos " +"Se definida como diferente de zero, o Python não tentará escrever arquivos " "``.pyc`` na importação de módulos fonte." #: ../../c-api/init.rst:105 @@ -266,20 +257,22 @@ msgid "" "Set by the :option:`-B` option and the :envvar:`PYTHONDONTWRITEBYTECODE` " "environment variable." msgstr "" -"Definida pela opção :option:`-B` e pela variável de ambiente :envvar:" -"`PYTHONDONTWRITEBYTECODE`." +"Definida pela opção :option:`-B` e pela variável de " +"ambiente :envvar:`PYTHONDONTWRITEBYTECODE`." #: ../../c-api/init.rst:110 msgid "" -"Suppress error messages when calculating the module search path in :c:func:" -"`Py_GetPath`." +"Suppress error messages when calculating the module search path " +"in :c:func:`Py_GetPath`." msgstr "" -"Suprime mensagens de erro ao calcular o caminho de pesquisa do módulo em :c:" -"func:`Py_GetPath`." +"Suprime mensagens de erro ao calcular o caminho de pesquisa do módulo " +"em :c:func:`Py_GetPath`." #: ../../c-api/init.rst:113 msgid "Private flag used by ``_freeze_module`` and ``frozenmain`` programs." msgstr "" +"Sinalizador privado usado pelos programas ``_freeze_module`` e " +"``frozenmain``." #: ../../c-api/init.rst:117 msgid "" @@ -294,16 +287,17 @@ msgid "" "If the flag is non-zero, read the :envvar:`PYTHONHASHSEED` environment " "variable to initialize the secret hash seed." msgstr "" -"Se o sinalizador for diferente de zero, lê a variável de ambiente :envvar:" -"`PYTHONHASHSEED` para inicializar a semente de hash secreta." +"Se o sinalizador for diferente de zero, lê a variável de " +"ambiente :envvar:`PYTHONHASHSEED` para inicializar a semente de hash secreta." #: ../../c-api/init.rst:125 msgid "" -"Ignore all :envvar:`PYTHON*` environment variables, e.g. :envvar:" -"`PYTHONPATH` and :envvar:`PYTHONHOME`, that might be set." +"Ignore all :envvar:`!PYTHON*` environment variables, " +"e.g. :envvar:`PYTHONPATH` and :envvar:`PYTHONHOME`, that might be set." msgstr "" -"Ignora todas as variáveis de ambiente :envvar:`PYTHON*`, por exemplo :envvar:" -"`PYTHONPATH` e :envvar:`PYTHONHOME`, que pode ser definido." +"Ignora todas as variáveis de ambiente :envvar:`!PYTHON*`, por " +"exemplo :envvar:`PYTHONPATH` e :envvar:`PYTHONHOME`, que podem estar " +"definidas." #: ../../c-api/init.rst:128 msgid "Set by the :option:`-E` and :option:`-I` options." @@ -324,8 +318,8 @@ msgid "" "Set by the :option:`-i` option and the :envvar:`PYTHONINSPECT` environment " "variable." msgstr "" -"Definida pela opção :option:`-i` e pela variável de ambiente :envvar:" -"`PYTHONINSPECT`." +"Definida pela opção :option:`-i` e pela variável de " +"ambiente :envvar:`PYTHONINSPECT`." #: ../../c-api/init.rst:141 msgid "Set by the :option:`-i` option." @@ -352,16 +346,17 @@ msgid "" msgstr "" "Se o sinalizador for diferente de zero, use a codificação ``mbcs`` com o " "tratador de erros ``replace``, em vez da codificação UTF-8 com o tratador de " -"erros ``surrogatepass``, para a codificação do sistema de arquivos e :term:" -"`tratador de erros e codificação do sistema de arquivos`." +"erros ``surrogatepass``, para a codificação do sistema de arquivos " +"e :term:`tratador de erros e codificação do sistema de arquivos`." #: ../../c-api/init.rst:158 msgid "" "Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` environment " "variable is set to a non-empty string." msgstr "" -"Definida como ``1`` se a variável de ambiente :envvar:" -"`PYTHONLEGACYWINDOWSFSENCODING` estiver definida como uma string não vazia." +"Definida como ``1`` se a variável de " +"ambiente :envvar:`PYTHONLEGACYWINDOWSFSENCODING` estiver definida como uma " +"string não vazia." #: ../../c-api/init.rst:161 msgid "See :pep:`529` for more details." @@ -373,35 +368,36 @@ msgstr ":ref:`Disponibilidade `: Windows." #: ../../c-api/init.rst:167 msgid "" -"If the flag is non-zero, use :class:`io.FileIO` instead of :class:" -"`WindowsConsoleIO` for :mod:`sys` standard streams." +"If the flag is non-zero, use :class:`io.FileIO` instead of :class:`!" +"io._WindowsConsoleIO` for :mod:`sys` standard streams." msgstr "" -"Se o sinalizador for diferente de zero, usa :class:`io.FileIO` em vez de :" -"class:`WindowsConsoleIO` para fluxos padrão :mod:`sys`." +"Se o sinalizador for diferente de zero, usa :class:`io.FileIO` em vez " +"de :class:`!io._WindowsConsoleIO` para fluxos padrão :mod:`sys`." #: ../../c-api/init.rst:170 msgid "" "Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSSTDIO` environment variable " "is set to a non-empty string." msgstr "" -"Definida como ``1`` se a variável de ambiente :envvar:" -"`PYTHONLEGACYWINDOWSSTDIO` estiver definida como uma string não vazia." +"Definida como ``1`` se a variável de " +"ambiente :envvar:`PYTHONLEGACYWINDOWSSTDIO` estiver definida como uma string " +"não vazia." #: ../../c-api/init.rst:173 msgid "See :pep:`528` for more details." -msgstr "Veja :pep:`528` para mais detalhes." +msgstr "Veja a :pep:`528` para mais detalhes." #: ../../c-api/init.rst:179 msgid "" "Disable the import of the module :mod:`site` and the site-dependent " "manipulations of :data:`sys.path` that it entails. Also disable these " -"manipulations if :mod:`site` is explicitly imported later (call :func:`site." -"main` if you want them to be triggered)." +"manipulations if :mod:`site` is explicitly imported later " +"(call :func:`site.main` if you want them to be triggered)." msgstr "" -"Desabilita a importação do módulo :mod:`site` e as manipulações dependentes " -"do site de :data:`sys.path` que isso acarreta. Também desabilita essas " -"manipulações se :mod:`site` for explicitamente importado mais tarde (chame :" -"func:`site.main` se você quiser que eles sejam acionados)." +"Desabilita a importação do módulo :mod:`site` e as manipulações " +"do :data:`sys.path` que isso acarreta. Também desabilita essas manipulações " +"se :mod:`site` for explicitamente importado mais tarde " +"(chame :func:`site.main` se você quiser que eles sejam acionados)." #: ../../c-api/init.rst:184 msgid "Set by the :option:`-S` option." @@ -409,16 +405,16 @@ msgstr "Definida pela opção :option:`-S`." #: ../../c-api/init.rst:188 msgid "" -"Don't add the :data:`user site-packages directory ` to :data:" -"`sys.path`." +"Don't add the :data:`user site-packages directory ` " +"to :data:`sys.path`." msgstr "" -"Não adiciona o :data:`diretório site-packages de usuário ` a :data:`sys.path`." +"Não adiciona o :data:`diretório site-packages do usuário ` " +"a :data:`sys.path`." #: ../../c-api/init.rst:191 msgid "" -"Set by the :option:`-s` and :option:`-I` options, and the :envvar:" -"`PYTHONNOUSERSITE` environment variable." +"Set by the :option:`-s` and :option:`-I` options, and " +"the :envvar:`PYTHONNOUSERSITE` environment variable." msgstr "" "Definida pelas opções :option:`-s` e :option:`-I`, e pela variável de " "ambiente :envvar:`PYTHONNOUSERSITE`." @@ -428,14 +424,14 @@ msgid "" "Set by the :option:`-O` option and the :envvar:`PYTHONOPTIMIZE` environment " "variable." msgstr "" -"Definida pela opção :option:`-O` e pela variável de ambiente :envvar:" -"`PYTHONOPTIMIZE`." +"Definida pela opção :option:`-O` e pela variável de " +"ambiente :envvar:`PYTHONOPTIMIZE`." #: ../../c-api/init.rst:201 msgid "" "Don't display the copyright and version messages even in interactive mode." msgstr "" -"Não exibe as mensagens de direito autoral e de versão nem mesmo no modo " +"Não exibe as mensagens de direitos autorais e de versão nem mesmo no modo " "interativo." #: ../../c-api/init.rst:203 @@ -451,8 +447,8 @@ msgid "" "Set by the :option:`-u` option and the :envvar:`PYTHONUNBUFFERED` " "environment variable." msgstr "" -"Definida pela opção :option:`-u` e pela variável de ambiente :envvar:" -"`PYTHONUNBUFFERED`." +"Definida pela opção :option:`-u` e pela variável de " +"ambiente :envvar:`PYTHONUNBUFFERED`." #: ../../c-api/init.rst:216 msgid "" @@ -472,8 +468,8 @@ msgid "" "Set by the :option:`-v` option and the :envvar:`PYTHONVERBOSE` environment " "variable." msgstr "" -"Definida pela a opção :option:`-v` e a variável de ambiente :envvar:" -"`PYTHONVERBOSE`." +"Definida pela a opção :option:`-v` e a variável de " +"ambiente :envvar:`PYTHONVERBOSE`." #: ../../c-api/init.rst:226 msgid "Initializing and finalizing the interpreter" @@ -482,8 +478,9 @@ msgstr "Inicializando e encerrando o interpretador" #: ../../c-api/init.rst:244 msgid "" "Initialize the Python interpreter. In an application embedding Python, " -"this should be called before using any other Python/C API functions; see :" -"ref:`Before Python Initialization ` for the few exceptions." +"this should be called before using any other Python/C API functions; " +"see :ref:`Before Python Initialization ` for the few " +"exceptions." msgstr "" "Inicializa o interpretador Python. Em uma aplicação que incorpora o Python, " "isto deve ser chamado antes do uso de qualquer outra função do Python/C API; " @@ -505,6 +502,8 @@ msgid "" "On Windows, changes the console mode from ``O_TEXT`` to ``O_BINARY``, which " "will also affect non-Python uses of the console using the C Runtime." msgstr "" +"No Windows, altera o modo do console de ``O_TEXT`` para ``O_BINARY``, o que " +"também afetará usos não Python do console usando o Runtime C." #: ../../c-api/init.rst:263 msgid "" @@ -519,17 +518,20 @@ msgid "" "false (zero) if not. After :c:func:`Py_FinalizeEx` is called, this returns " "false until :c:func:`Py_Initialize` is called again." msgstr "" +"Retorna verdadeiro (diferente de zero) quando o interpretador Python foi " +"inicializado, falso (zero) se não. Após :c:func:`Py_FinalizeEx` ser chamado, " +"isso retorna falso até que :c:func:`Py_Initialize` seja chamado novamente." #: ../../c-api/init.rst:277 msgid "" "Undo all initializations made by :c:func:`Py_Initialize` and subsequent use " -"of Python/C API functions, and destroy all sub-interpreters (see :c:func:" -"`Py_NewInterpreter` below) that were created and not yet destroyed since the " -"last call to :c:func:`Py_Initialize`. Ideally, this frees all memory " -"allocated by the Python interpreter. This is a no-op when called for a " -"second time (without calling :c:func:`Py_Initialize` again first). Normally " -"the return value is ``0``. If there were errors during finalization " -"(flushing buffered data), ``-1`` is returned." +"of Python/C API functions, and destroy all sub-interpreters " +"(see :c:func:`Py_NewInterpreter` below) that were created and not yet " +"destroyed since the last call to :c:func:`Py_Initialize`. Ideally, this " +"frees all memory allocated by the Python interpreter. This is a no-op when " +"called for a second time (without calling :c:func:`Py_Initialize` again " +"first). Normally the return value is ``0``. If there were errors during " +"finalization (flushing buffered data), ``-1`` is returned." msgstr "" #: ../../c-api/init.rst:286 @@ -542,43 +544,55 @@ msgid "" "in an application a developer might want to free all memory allocated by " "Python before exiting from the application." msgstr "" +"Esta função é fornecida por vários motivos. Uma aplicação de incorporação " +"pode querer reiniciar o Python sem precisar reiniciar a própria aplicação. " +"Uma aplicação que carregou o interpretador Python de uma biblioteca " +"carregável dinamicamente (ou DLL) pode querer liberar toda a memória alocada " +"pelo Python antes de descarregar a DLL. Durante uma busca por vazamentos de " +"memória em uma aplicação, um desenvolvedor pode querer liberar toda a " +"memória alocada pelo Python antes de sair da aplicação." #: ../../c-api/init.rst:294 msgid "" "**Bugs and caveats:** The destruction of modules and objects in modules is " -"done in random order; this may cause destructors (:meth:`__del__` methods) " -"to fail when they depend on other objects (even functions) or modules. " -"Dynamically loaded extension modules loaded by Python are not unloaded. " -"Small amounts of memory allocated by the Python interpreter may not be freed " -"(if you find a leak, please report it). Memory tied up in circular " -"references between objects is not freed. Some memory allocated by extension " -"modules may not be freed. Some extensions may not work properly if their " -"initialization routine is called more than once; this can happen if an " -"application calls :c:func:`Py_Initialize` and :c:func:`Py_FinalizeEx` more " -"than once." +"done in random order; this may cause destructors (:meth:`~object.__del__` " +"methods) to fail when they depend on other objects (even functions) or " +"modules. Dynamically loaded extension modules loaded by Python are not " +"unloaded. Small amounts of memory allocated by the Python interpreter may " +"not be freed (if you find a leak, please report it). Memory tied up in " +"circular references between objects is not freed. Some memory allocated by " +"extension modules may not be freed. Some extensions may not work properly " +"if their initialization routine is called more than once; this can happen if " +"an application calls :c:func:`Py_Initialize` and :c:func:`Py_FinalizeEx` " +"more than once." msgstr "" #: ../../c-api/init.rst:305 msgid "" -"Raises an :ref:`auditing event ` ``cpython." -"_PySys_ClearAuditHooks`` with no arguments." +"Raises an :ref:`auditing event ` " +"``cpython._PySys_ClearAuditHooks`` with no arguments." msgstr "" +"Levanta um :ref:`evento de auditoria ` " +"``cpython._PySys_ClearAuditHooks`` sem argumentos." #: ../../c-api/init.rst:311 msgid "" "This is a backwards-compatible version of :c:func:`Py_FinalizeEx` that " "disregards the return value." msgstr "" +"Esta é uma versão retrocompatível de :c:func:`Py_FinalizeEx` que " +"desconsidera o valor de retorno." #: ../../c-api/init.rst:316 msgid "Process-wide parameters" -msgstr "" +msgstr "Parâmetros de todo o processo" #: ../../c-api/init.rst:326 msgid "" -"This API is kept for backward compatibility: setting :c:member:`PyConfig." -"stdio_encoding` and :c:member:`PyConfig.stdio_errors` should be used " -"instead, see :ref:`Python Initialization Configuration `." +"This API is kept for backward compatibility: " +"setting :c:member:`PyConfig.stdio_encoding` " +"and :c:member:`PyConfig.stdio_errors` should be used instead, " +"see :ref:`Python Initialization Configuration `." msgstr "" #: ../../c-api/init.rst:331 @@ -620,10 +634,13 @@ msgstr "" #: ../../c-api/init.rst:363 msgid "" -"This API is kept for backward compatibility: setting :c:member:`PyConfig." -"program_name` should be used instead, see :ref:`Python Initialization " -"Configuration `." +"This API is kept for backward compatibility: " +"setting :c:member:`PyConfig.program_name` should be used instead, " +"see :ref:`Python Initialization Configuration `." msgstr "" +"Esta API é mantida para compatibilidade com versões anteriores: em vez " +"disso, deve-se usar a configuração :c:member:`PyConfig.program_name`, " +"consulte :ref:`Configuração de inicialização do Python `." #: ../../c-api/init.rst:367 msgid "" @@ -652,8 +669,8 @@ msgstr "" #: ../../c-api/init.rst:378 ../../c-api/init.rst:529 ../../c-api/init.rst:644 #: ../../c-api/init.rst:680 ../../c-api/init.rst:706 msgid "" -"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get a :c:expr:" -"`wchar_*` string." +"Use :c:func:`Py_DecodeLocale` to decode a bytes string to get " +"a :c:expr:`wchar_*` string." msgstr "" #: ../../c-api/init.rst:388 @@ -669,11 +686,14 @@ msgid "" "This function should not be called before :c:func:`Py_Initialize`, otherwise " "it returns ``NULL``." msgstr "" +"Esta função não deve ser chamada antes de :c:func:`Py_Initialize`, caso " +"contrário ela retorna ``NULL``." #: ../../c-api/init.rst:395 ../../c-api/init.rst:414 ../../c-api/init.rst:455 #: ../../c-api/init.rst:474 ../../c-api/init.rst:500 ../../c-api/init.rst:721 msgid "It now returns ``NULL`` if called before :c:func:`Py_Initialize`." msgstr "" +"Agora retorna ``NULL`` se for chamada antes de :c:func:`Py_Initialize`." #: ../../c-api/init.rst:401 msgid "" @@ -696,11 +716,11 @@ msgid "" "with :c:func:`Py_SetProgramName` and some environment variables; for " "example, if the program name is ``'/usr/local/bin/python'``, the exec-prefix " "is ``'/usr/local'``. The returned string points into static storage; the " -"caller should not modify its value. This corresponds to the :makevar:" -"`exec_prefix` variable in the top-level :file:`Makefile` and the ``--exec-" -"prefix`` argument to the :program:`configure` script at build time. The " -"value is available to Python code as ``sys.exec_prefix``. It is only useful " -"on Unix." +"caller should not modify its value. This corresponds to " +"the :makevar:`exec_prefix` variable in the top-level :file:`Makefile` and " +"the ``--exec-prefix`` argument to the :program:`configure` script at build " +"time. The value is available to Python code as ``sys.exec_prefix``. It is " +"only useful on Unix." msgstr "" #: ../../c-api/init.rst:430 @@ -711,6 +731,12 @@ msgid "" "files may be installed in the :file:`/usr/local/plat` subtree while platform " "independent may be installed in :file:`/usr/local`." msgstr "" +"Contexto: O exec-prefix difere do prefixo padrão quando arquivos dependentes " +"da plataforma (como executáveis e bibliotecas compartilhadas) são instalados " +"em uma árvore de diretórios diferente. Em uma instalação típica, arquivos " +"dependentes da plataforma podem ser instalados na subárvore :file:`/usr/" +"local/plat`, enquanto arquivos independentes da plataforma podem ser " +"instalados em :file:`/usr/local`." #: ../../c-api/init.rst:436 msgid "" @@ -725,14 +751,29 @@ msgid "" "Note that compiled Python bytecode files are platform independent (but not " "independent from the Python version by which they were compiled!)." msgstr "" +"De modo geral, uma plataforma é uma combinação de famílias de hardware e " +"software. Por exemplo, máquinas Sparc executando o sistema operacional " +"Solaris 2.x são consideradas a mesma plataforma, mas máquinas Intel " +"executando Solaris 2.x são outra plataforma, e máquinas Intel executando " +"Linux são uma terceira. Diferentes revisões principais do mesmo sistema " +"operacional geralmente também formam plataformas diferentes. Sistemas " +"operacionais não-Unix são um caso à parte; as estratégias de instalação " +"nesses sistemas são tão diferentes que o prefixo e o prefixo de execução são " +"irrelevantes e definidos como uma string vazia. Observe que arquivos de " +"bytecode Python compilados são independentes de plataforma (mas não " +"independentes da versão do Python com a qual foram compilados!)." #: ../../c-api/init.rst:447 msgid "" -"System administrators will know how to configure the :program:`mount` or :" -"program:`automount` programs to share :file:`/usr/local` between platforms " -"while having :file:`/usr/local/plat` be a different filesystem for each " -"platform." +"System administrators will know how to configure the :program:`mount` " +"or :program:`automount` programs to share :file:`/usr/local` between " +"platforms while having :file:`/usr/local/plat` be a different filesystem for " +"each platform." msgstr "" +"Os administradores de sistema saberão como configurar os " +"programas :program:`mount` ou :program:`automount` para compartilhar o " +"arquivo :file:`/usr/local` entre plataformas, mantendo o arquivo :file:`/usr/" +"local/plat` como um sistema de arquivos diferente para cada plataforma." #: ../../c-api/init.rst:465 msgid "" @@ -758,29 +799,29 @@ msgstr "" #: ../../c-api/init.rst:511 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 `." +"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 "" #: ../../c-api/init.rst:516 msgid "" -"Set the default module search path. If this function is called before :c:" -"func:`Py_Initialize`, then :c:func:`Py_GetPath` won't attempt to compute a " -"default search path but uses the one provided instead. This is useful if " -"Python is embedded by an application that has full knowledge of the location " -"of all modules. The path components should be separated by the platform " -"dependent delimiter character, which is ``':'`` on Unix and macOS, ``';'`` " -"on Windows." +"Set the default module search path. If this function is called " +"before :c:func:`Py_Initialize`, then :c:func:`Py_GetPath` won't attempt to " +"compute a default search path but uses the one provided instead. This is " +"useful if Python is embedded by an application that has full knowledge of " +"the location of all modules. The path components should be separated by the " +"platform dependent delimiter character, which is ``':'`` on Unix and macOS, " +"``';'`` on Windows." msgstr "" #: ../../c-api/init.rst:524 msgid "" "This also causes :data:`sys.executable` to be set to the program full path " -"(see :c:func:`Py_GetProgramFullPath`) and for :data:`sys.prefix` and :data:" -"`sys.exec_prefix` to be empty. It is up to the caller to modify these if " -"required after calling :c:func:`Py_Initialize`." +"(see :c:func:`Py_GetProgramFullPath`) and for :data:`sys.prefix` " +"and :data:`sys.exec_prefix` to be empty. It is up to the caller to modify " +"these if required after calling :c:func:`Py_Initialize`." msgstr "" #: ../../c-api/init.rst:532 @@ -796,8 +837,8 @@ msgid "" "The program full path is now used for :data:`sys.executable`, instead of the " "program name." msgstr "" -"O caminho completo do programa agora é utilizado para :data:`sys." -"executable`, em vez do nome do programa." +"O caminho completo do programa agora é utilizado " +"para :data:`sys.executable`, em vez do nome do programa." #: ../../c-api/init.rst:544 msgid "" @@ -812,13 +853,18 @@ msgid "" "The first word (up to the first space character) is the current Python " "version; the first characters are the major and minor version separated by a " "period. The returned string points into static storage; the caller should " -"not modify its value. The value is available to Python code as :data:`sys." -"version`." +"not modify its value. The value is available to Python code " +"as :data:`sys.version`." msgstr "" +"A primeira palavra (até o primeiro espaço em branco) representa a versão " +"atual do Python; os primeiros caracteres indicam a versão principal e a " +"versão secundária, separados por um ponto. A string retornada aponta para um " +"armazenamento estático; o chamador não deve modificar seu valor. O valor " +"fica disponível para o código Python como :data:`sys.version`." #: ../../c-api/init.rst:556 msgid "See also the :c:var:`Py_Version` constant." -msgstr "" +msgstr "Veja também a constante :c:var:`Py_Version`." #: ../../c-api/init.rst:563 msgid "" @@ -830,6 +876,13 @@ msgid "" "into static storage; the caller should not modify its value. The value is " "available to Python code as ``sys.platform``." msgstr "" +"Retorna o identificador da plataforma atual. No Unix, este identificador é " +"formado pelo nome \"oficial\" do sistema operacional, convertido para " +"minúsculas, seguido pelo número da revisão principal; por exemplo, para " +"Solaris 2.x, também conhecido como SunOS 5.x, o valor é ``'sunos5'``. No " +"macOS, é ``'darwin'``. No Windows, é ``'win'``. A string retornada aponta " +"para um armazenamento estático; o chamador não deve modificar seu valor. O " +"valor está disponível para o código Python como ``sys.platform``." #: ../../c-api/init.rst:574 msgid "" @@ -841,13 +894,16 @@ msgstr "" #: ../../c-api/init.rst:576 msgid "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``" -msgstr "" +msgstr "``'Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam'``" #: ../../c-api/init.rst:580 msgid "" "The returned string points into static storage; the caller should not modify " "its value. The value is available to Python code as ``sys.copyright``." msgstr "" +"A string retornada aponta para o armazenamento estático; o chamador não deve " +"modificar o seu valor. O valor está disponível para o código Python como " +"``sys.copyright``." #: ../../c-api/init.rst:586 msgid "" @@ -863,6 +919,9 @@ msgid "" "its value. The value is available to Python code as part of the variable " "``sys.version``." msgstr "" +"A string retornada aponta para o armazenamento estático; o chamador não deve " +"modificar o seu valor. O valor está disponível para o código Python como " +"``sys.version``." #: ../../c-api/init.rst:600 msgid "" @@ -874,11 +933,16 @@ msgstr "" #: ../../c-api/init.rst:619 msgid "" -"This API is kept for backward compatibility: setting :c:member:`PyConfig." -"argv`, :c:member:`PyConfig.parse_argv` and :c:member:`PyConfig.safe_path` " -"should be used instead, see :ref:`Python Initialization Configuration `." +"This API is kept for backward compatibility: " +"setting :c:member:`PyConfig.argv`, :c:member:`PyConfig.parse_argv` " +"and :c:member:`PyConfig.safe_path` should be used instead, see :ref:`Python " +"Initialization Configuration `." msgstr "" +"Esta API é mantida para compatibilidade com versões anteriores: em vez " +"disso, deve-se usar a " +"configuração :c:member:`PyConfig.argv`, :c:member:`PyConfig.parse_argv` " +"e :c:member:`PyConfig.safe_path`, consulte :ref:`Configuração de " +"inicialização do Python `." #: ../../c-api/init.rst:624 msgid "" @@ -890,6 +954,13 @@ msgid "" "empty string. If this function fails to initialize :data:`sys.argv`, a " "fatal condition is signalled using :c:func:`Py_FatalError`." msgstr "" +"Define :data:`sys.argv` com base em *argc* e *argv*. Esses parâmetros são " +"semelhantes aos passados para a função :c:func:`main` do programa, com a " +"diferença de que a primeira entrada deve se referir ao arquivo de script a " +"ser executado, em vez do executável que hospeda o interpretador Python. Se " +"não houver um script a ser executado, a primeira entrada em *argv* pode ser " +"uma string vazia. Se esta função falhar ao inicializar :data:`sys.argv`, uma " +"condição fatal será sinalizada usando :c:func:`Py_FatalError`." #: ../../c-api/init.rst:632 msgid "" @@ -904,9 +975,12 @@ msgstr "" #: ../../c-api/init.rst:636 msgid "" "If the name of an existing script is passed in ``argv[0]``, the absolute " -"path of the directory where the script is located is prepended to :data:`sys." -"path`." +"path of the directory where the script is located is prepended " +"to :data:`sys.path`." msgstr "" +"Se o nome de um script existente for passado em ``argv[0]``, o caminho " +"absoluto do diretório onde o script está localizado será adicionado " +"a :data:`sys.path`." #: ../../c-api/init.rst:639 msgid "" @@ -914,12 +988,19 @@ msgid "" "existing file name), an empty string is prepended to :data:`sys.path`, which " "is the same as prepending the current working directory (``\".\"``)." msgstr "" +"Caso contrário (isto é, se *argc* for ``0`` ou ``argv[0]`` não apontar para " +"um nome de arquivo existente), uma string vazia é adicionada ao início " +"de :data:`sys.path`, o que é o mesmo que adicionar o diretório de trabalho " +"atual (``\".\"``)." #: ../../c-api/init.rst:647 ../../c-api/init.rst:683 msgid "" "See also :c:member:`PyConfig.orig_argv` and :c:member:`PyConfig.argv` " "members of the :ref:`Python Initialization Configuration `." msgstr "" +"Veja também os membros :c:member:`PyConfig.orig_argv` " +"e :c:member:`PyConfig.argv` da :ref:`Configuração de inicialização do Python " +"`." #: ../../c-api/init.rst:651 msgid "" @@ -932,34 +1013,48 @@ msgstr "" #: ../../c-api/init.rst:656 msgid "" "On versions before 3.1.3, you can achieve the same effect by manually " -"popping the first :data:`sys.path` element after having called :c:func:" -"`PySys_SetArgv`, for example using::" +"popping the first :data:`sys.path` element after having " +"called :c:func:`PySys_SetArgv`, for example using::" msgstr "" +"Em versões anteriores à 3.1.3, você pode obter o mesmo efeito removendo " +"manualmente o primeiro elemento de :data:`sys.path` após ter " +"chamado :c:func:`PySys_SetArgv`, por exemplo, usando::" #: ../../c-api/init.rst:672 msgid "" -"This API is kept for backward compatibility: setting :c:member:`PyConfig." -"argv` and :c:member:`PyConfig.parse_argv` should be used instead, see :ref:" -"`Python Initialization Configuration `." +"This API is kept for backward compatibility: " +"setting :c:member:`PyConfig.argv` and :c:member:`PyConfig.parse_argv` should " +"be used instead, see :ref:`Python Initialization Configuration `." msgstr "" +"Esta API é mantida para retrocompatibilidade: em vez disso, devem ser usadas " +"as configurações :c:member:`PyConfig.argv` " +"e :c:member:`PyConfig.parse_argv`, consulte a :ref:`Configuração de " +"inicialização do Python `." #: ../../c-api/init.rst:676 msgid "" "This function works like :c:func:`PySys_SetArgvEx` with *updatepath* set to " -"``1`` unless the :program:`python` interpreter was started with the :option:" -"`-I`." +"``1`` unless the :program:`python` interpreter was started with " +"the :option:`-I`." msgstr "" +"Esta função funciona como :c:func:`PySys_SetArgvEx` com *updatepath* " +"definido como ``1`` a menos que o interpretador :program:`python` tenha sido " +"iniciado com a :option:`-I`." #: ../../c-api/init.rst:686 msgid "The *updatepath* value depends on :option:`-I`." -msgstr "" +msgstr "O valor *updatepath* depende de :option:`-I`." #: ../../c-api/init.rst:693 msgid "" -"This API is kept for backward compatibility: setting :c:member:`PyConfig." -"home` should be used instead, see :ref:`Python Initialization Configuration " -"`." +"This API is kept for backward compatibility: " +"setting :c:member:`PyConfig.home` should be used instead, see :ref:`Python " +"Initialization Configuration `." msgstr "" +"Esta API é mantida para retrocompatibilidade: em vez disso, deve-se usar a " +"configuração :c:member:`PyConfig.home`, consulte a :ref:`Configuração de " +"inicialização do Python `." #: ../../c-api/init.rst:697 msgid "" @@ -967,6 +1062,9 @@ msgid "" "Python libraries. See :envvar:`PYTHONHOME` for the meaning of the argument " "string." msgstr "" +"Define o diretório pessoal (\"home\") padrão, ou seja, o local das " +"bibliotecas padrão do Python. Consulte :envvar:`PYTHONHOME` para obter o " +"significado da string do argumento." #: ../../c-api/init.rst:701 msgid "" @@ -975,17 +1073,21 @@ msgid "" "execution. No code in the Python interpreter will change the contents of " "this storage." msgstr "" +"O argumento deve apontar para uma string terminada em zero em um " +"armazenamento estático, cujo conteúdo não será alterado durante a execução " +"do programa. Nenhum código no interpretador Python alterará o conteúdo desse " +"armazenamento." #: ../../c-api/init.rst:714 msgid "" -"Return the default \"home\", that is, the value set by a previous call to :c:" -"func:`Py_SetPythonHome`, or the value of the :envvar:`PYTHONHOME` " +"Return the default \"home\", that is, the value set by a previous call " +"to :c:func:`Py_SetPythonHome`, or the value of the :envvar:`PYTHONHOME` " "environment variable if it is set." msgstr "" #: ../../c-api/init.rst:728 msgid "Thread State and the Global Interpreter Lock" -msgstr "" +msgstr "Estado de thread e a trava global do interpretador" #: ../../c-api/init.rst:735 msgid "" @@ -1001,15 +1103,23 @@ msgstr "" #: ../../c-api/init.rst:745 msgid "" -"Therefore, the rule exists that only the thread that has acquired the :term:" -"`GIL` may operate on Python objects or call Python/C API functions. In order " -"to emulate concurrency of execution, the interpreter regularly tries to " -"switch threads (see :func:`sys.setswitchinterval`). The lock is also " -"released around potentially blocking I/O operations like reading or writing " -"a file, so that other Python threads can run in the meantime." +"Therefore, the rule exists that only the thread that has acquired " +"the :term:`GIL` may operate on Python objects or call Python/C API " +"functions. In order to emulate concurrency of execution, the interpreter " +"regularly tries to switch threads (see :func:`sys.setswitchinterval`). The " +"lock is also released around potentially blocking I/O operations like " +"reading or writing a file, so that other Python threads can run in the " +"meantime." msgstr "" +"Portanto, existe a regra de que somente a thread que adquiriu a :term:`GIL` " +"pode operar em objetos Python ou chamar funções da API C/Python. Para emular " +"a simultaneidade de execução, o interpretador tenta alternar threads " +"regularmente (consulte :func:`sys.setswitchinterval`). A trava também é " +"liberada em operações de E/S potencialmente bloqueantes, como ler ou " +"escrever um arquivo, para que outras threads Python possam ser executadas " +"enquanto isso." -#: ../../c-api/init.rst:756 +#: ../../c-api/init.rst:755 msgid "" "The Python interpreter keeps some thread-specific bookkeeping information " "inside a data structure called :c:type:`PyThreadState`. There's also one " @@ -1017,34 +1127,36 @@ msgid "" "retrieved using :c:func:`PyThreadState_Get`." msgstr "" -#: ../../c-api/init.rst:762 +#: ../../c-api/init.rst:761 msgid "Releasing the GIL from extension code" msgstr "" -#: ../../c-api/init.rst:764 +#: ../../c-api/init.rst:763 msgid "" "Most extension code manipulating the :term:`GIL` has the following simple " "structure::" msgstr "" -"A maioria dos códigos de extensão que manipulam o :term:`GIL` tem a seguinte " +"A maioria dos códigos de extensão que manipulam a :term:`GIL` tem a seguinte " "estrutura::" -#: ../../c-api/init.rst:773 +#: ../../c-api/init.rst:772 msgid "This is so common that a pair of macros exists to simplify it::" -msgstr "" +msgstr "Isso é tão comum que existe um par de macros para simplificá-lo::" -#: ../../c-api/init.rst:783 +#: ../../c-api/init.rst:782 msgid "" "The :c:macro:`Py_BEGIN_ALLOW_THREADS` macro opens a new block and declares a " "hidden local variable; the :c:macro:`Py_END_ALLOW_THREADS` macro closes the " "block." msgstr "" +"A macro :c:macro:`Py_BEGIN_ALLOW_THREADS` abre um novo bloco e declara uma " +"variável local oculta; a macro :c:macro:`Py_END_ALLOW_THREADS` fecha o bloco." -#: ../../c-api/init.rst:787 +#: ../../c-api/init.rst:786 msgid "The block above expands to the following code::" -msgstr "" +msgstr "O bloco acima se expande para o seguinte código::" -#: ../../c-api/init.rst:799 +#: ../../c-api/init.rst:798 msgid "" "Here is how these functions work: the global interpreter lock is used to " "protect the pointer to the current thread state. When releasing the lock " @@ -1055,7 +1167,7 @@ msgid "" "state, the lock must be acquired before storing the thread state pointer." msgstr "" -#: ../../c-api/init.rst:808 +#: ../../c-api/init.rst:807 msgid "" "Calling system I/O functions is the most common use case for releasing the " "GIL, but it can also be useful before calling long-running computations " @@ -1065,21 +1177,21 @@ msgid "" "compressing or hashing data." msgstr "" -#: ../../c-api/init.rst:819 +#: ../../c-api/init.rst:818 msgid "Non-Python created threads" -msgstr "" +msgstr "Threads não-Python criadas" -#: ../../c-api/init.rst:821 +#: ../../c-api/init.rst:820 msgid "" -"When threads are created using the dedicated Python APIs (such as the :mod:" -"`threading` module), a thread state is automatically associated to them and " -"the code showed above is therefore correct. However, when threads are " -"created from C (for example by a third-party library with its own thread " +"When threads are created using the dedicated Python APIs (such as " +"the :mod:`threading` module), a thread state is automatically associated to " +"them and the code showed above is therefore correct. However, when threads " +"are created from C (for example by a third-party library with its own thread " "management), they don't hold the GIL, nor is there a thread state structure " "for them." msgstr "" -#: ../../c-api/init.rst:828 +#: ../../c-api/init.rst:827 msgid "" "If you need to call Python code from these threads (often this will be part " "of a callback API provided by the aforementioned third-party library), you " @@ -1090,27 +1202,30 @@ msgid "" "finally free the thread state data structure." msgstr "" -#: ../../c-api/init.rst:836 +#: ../../c-api/init.rst:835 msgid "" "The :c:func:`PyGILState_Ensure` and :c:func:`PyGILState_Release` functions " "do all of the above automatically. The typical idiom for calling into " "Python from a C thread is::" msgstr "" +"As funções :c:func:`PyGILState_Ensure` e :c:func:`PyGILState_Release` fazem " +"tudo isso automaticamente. O padrão típico para chamar o Python a partir de " +"uma thread C é:" -#: ../../c-api/init.rst:850 +#: ../../c-api/init.rst:849 msgid "" "Note that the ``PyGILState_*`` functions assume there is only one global " "interpreter (created automatically by :c:func:`Py_Initialize`). Python " -"supports the creation of additional interpreters (using :c:func:" -"`Py_NewInterpreter`), but mixing multiple interpreters and the " -"``PyGILState_*`` API is unsupported." +"supports the creation of additional interpreters " +"(using :c:func:`Py_NewInterpreter`), but mixing multiple interpreters and " +"the ``PyGILState_*`` API is unsupported." msgstr "" -#: ../../c-api/init.rst:860 +#: ../../c-api/init.rst:859 msgid "Cautions about fork()" msgstr "Cuidados com o uso de fork()" -#: ../../c-api/init.rst:862 +#: ../../c-api/init.rst:861 msgid "" "Another important thing to note about threads is their behaviour in the face " "of the C :c:func:`fork` call. On most systems with :c:func:`fork`, after a " @@ -1118,8 +1233,14 @@ msgid "" "concrete impact both on how locks must be handled and on all stored state in " "CPython's runtime." msgstr "" +"Outro aspecto importante a observar sobre threads é o seu comportamento " +"diante da chamada de :c:func:`fork` da linguagem C. Na maioria dos sistemas " +"com :c:func:`fork`, após um processo ser criado (\"fork\"), apenas a thread " +"que emitiu o fork continuará existindo. Isso tem um impacto concreto tanto " +"na forma como as travas devem ser gerenciados quanto em todo o estado " +"armazenado no ambiente de execução do CPython." -#: ../../c-api/init.rst:868 +#: ../../c-api/init.rst:867 msgid "" "The fact that only the \"current\" thread remains means any locks held by " "other threads will never be released. Python solves this for :func:`os.fork` " @@ -1127,16 +1248,16 @@ msgid "" "them afterwards. In addition, it resets any :ref:`lock-objects` in the " "child. When extending or embedding Python, there is no way to inform Python " "of additional (non-Python) locks that need to be acquired before or reset " -"after a fork. OS facilities such as :c:func:`pthread_atfork` would need to " +"after a fork. OS facilities such as :c:func:`!pthread_atfork` would need to " "be used to accomplish the same thing. Additionally, when extending or " -"embedding Python, calling :c:func:`fork` directly rather than through :func:" -"`os.fork` (and returning to or calling into Python) may result in a deadlock " -"by one of Python's internal locks being held by a thread that is defunct " -"after the fork. :c:func:`PyOS_AfterFork_Child` tries to reset the necessary " -"locks, but is not always able to." +"embedding Python, calling :c:func:`fork` directly rather than " +"through :func:`os.fork` (and returning to or calling into Python) may result " +"in a deadlock by one of Python's internal locks being held by a thread that " +"is defunct after the fork. :c:func:`PyOS_AfterFork_Child` tries to reset the " +"necessary locks, but is not always able to." msgstr "" -#: ../../c-api/init.rst:883 +#: ../../c-api/init.rst:882 msgid "" "The fact that all other threads go away also means that CPython's runtime " "state there must be cleaned up properly, which :func:`os.fork` does. This " @@ -1149,11 +1270,11 @@ msgid "" "called immediately after." msgstr "" -#: ../../c-api/init.rst:896 +#: ../../c-api/init.rst:895 msgid "High-level API" msgstr "" -#: ../../c-api/init.rst:898 +#: ../../c-api/init.rst:897 msgid "" "These are the most commonly used types and functions when writing C " "extension code, or when embedding the Python interpreter:" @@ -1161,7 +1282,7 @@ msgstr "" "Estes são os tipos e as funções mais comumente usados na escrita de um " "código de extensão em C, ou ao incorporar o interpretador Python:" -#: ../../c-api/init.rst:903 +#: ../../c-api/init.rst:902 msgid "" "This data structure represents the state shared by a number of cooperating " "threads. Threads belonging to the same interpreter share their module " @@ -1169,7 +1290,7 @@ msgid "" "in this structure." msgstr "" -#: ../../c-api/init.rst:908 +#: ../../c-api/init.rst:907 msgid "" "Threads belonging to different interpreters initially share nothing, except " "process state like available memory, open file descriptors and such. The " @@ -1177,27 +1298,30 @@ msgid "" "which interpreter they belong." msgstr "" -#: ../../c-api/init.rst:916 +#: ../../c-api/init.rst:915 msgid "" "This data structure represents the state of a single thread. The only " -"public data member is :attr:`interp` (:c:expr:`PyInterpreterState *`), which " -"points to this thread's interpreter state." +"public data member is:" +msgstr "" + +#: ../../c-api/init.rst:920 +msgid "This thread's interpreter state." msgstr "" -#: ../../c-api/init.rst:929 +#: ../../c-api/init.rst:931 msgid "Deprecated function which does nothing." msgstr "Função descontinuada que não faz nada." -#: ../../c-api/init.rst:931 +#: ../../c-api/init.rst:933 msgid "" "In Python 3.6 and older, this function created the GIL if it didn't exist." msgstr "" -#: ../../c-api/init.rst:933 +#: ../../c-api/init.rst:935 msgid "The function now does nothing." msgstr "" -#: ../../c-api/init.rst:936 +#: ../../c-api/init.rst:938 msgid "" "This function is now called by :c:func:`Py_Initialize()`, so you don't have " "to call it yourself anymore." @@ -1205,24 +1329,24 @@ msgstr "" "Esta função agora é chamada por :c:func:`Py_Initialize()`, então não há mais " "necessidade de você chamá-la." -#: ../../c-api/init.rst:940 +#: ../../c-api/init.rst:942 msgid "" "This function cannot be called before :c:func:`Py_Initialize()` anymore." msgstr "" "Esta função não pode mais ser chamada antes de :c:func:`Py_Initialize()`." -#: ../../c-api/init.rst:950 +#: ../../c-api/init.rst:952 msgid "" "Returns a non-zero value if :c:func:`PyEval_InitThreads` has been called. " "This function can be called without holding the GIL, and therefore can be " "used to avoid calls to the locking API when running single-threaded." msgstr "" -#: ../../c-api/init.rst:954 +#: ../../c-api/init.rst:956 msgid "The :term:`GIL` is now initialized by :c:func:`Py_Initialize()`." msgstr "" -#: ../../c-api/init.rst:962 +#: ../../c-api/init.rst:964 msgid "" "Release the global interpreter lock (if it has been created) and reset the " "thread state to ``NULL``, returning the previous thread state (which is not " @@ -1230,7 +1354,7 @@ msgid "" "acquired it." msgstr "" -#: ../../c-api/init.rst:970 +#: ../../c-api/init.rst:972 msgid "" "Acquire the global interpreter lock (if it has been created) and set the " "thread state to *tstate*, which must not be ``NULL``. If the lock has been " @@ -1238,80 +1362,89 @@ msgid "" "ensues." msgstr "" -#: ../../c-api/init.rst:976 ../../c-api/init.rst:1022 ../../c-api/init.rst:1304 -#: ../../c-api/init.rst:1342 +#: ../../c-api/init.rst:978 ../../c-api/init.rst:1024 ../../c-api/init.rst:1306 msgid "" "Calling this function from a thread when the runtime is finalizing will " "terminate the thread, even if the thread was not created by Python. You can " -"use :c:func:`_Py_IsFinalizing` or :func:`sys.is_finalizing` to check if the " +"use :c:func:`!_Py_IsFinalizing` or :func:`sys.is_finalizing` to check if the " "interpreter is in process of being finalized before calling this function to " "avoid unwanted termination." msgstr "" -#: ../../c-api/init.rst:984 +#: ../../c-api/init.rst:986 msgid "" "Return the current thread state. The global interpreter lock must be held. " "When the current thread state is ``NULL``, this issues a fatal error (so " "that the caller needn't check for ``NULL``)." msgstr "" -#: ../../c-api/init.rst:991 +#: ../../c-api/init.rst:993 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." msgstr "" -#: ../../c-api/init.rst:996 +#: ../../c-api/init.rst:998 msgid "" "The following functions use thread-local storage, and are not compatible " "with sub-interpreters:" msgstr "" -#: ../../c-api/init.rst:1001 +#: ../../c-api/init.rst:1003 msgid "" "Ensure that the current thread is ready to call the Python C API regardless " "of the current state of Python, or of the global interpreter lock. This may " "be called as many times as desired by a thread as long as each call is " "matched with a call to :c:func:`PyGILState_Release`. In general, other " -"thread-related APIs may be used between :c:func:`PyGILState_Ensure` and :c:" -"func:`PyGILState_Release` calls as long as the thread state is restored to " -"its previous state before the Release(). For example, normal usage of the :" -"c:macro:`Py_BEGIN_ALLOW_THREADS` and :c:macro:`Py_END_ALLOW_THREADS` macros " -"is acceptable." -msgstr "" - -#: ../../c-api/init.rst:1011 -msgid "" -"The return value is an opaque \"handle\" to the thread state when :c:func:" -"`PyGILState_Ensure` was called, and must be passed to :c:func:" -"`PyGILState_Release` to ensure Python is left in the same state. Even though " -"recursive calls are allowed, these handles *cannot* be shared - each unique " -"call to :c:func:`PyGILState_Ensure` must save the handle for its call to :c:" -"func:`PyGILState_Release`." -msgstr "" - -#: ../../c-api/init.rst:1018 +"thread-related APIs may be used between :c:func:`PyGILState_Ensure` " +"and :c:func:`PyGILState_Release` calls as long as the thread state is " +"restored to its previous state before the Release(). For example, normal " +"usage of the :c:macro:`Py_BEGIN_ALLOW_THREADS` " +"and :c:macro:`Py_END_ALLOW_THREADS` macros is acceptable." +msgstr "" +"Certifique-se de que a thread atual esteja pronta para chamar a API Python " +"C, independentemente do estado atual do Python ou da trava global do " +"interpretador (GIL). Isso pode ser chamado quantas vezes desejar por uma " +"thread, desde que cada chamada corresponda a uma chamada " +"para :c:func:`PyGILState_Release`. Em geral, outras APIs relacionadas a " +"threads podem ser usadas entre chamadas :c:func:`PyGILState_Ensure` " +"e :c:func:`PyGILState_Release` desde que o estado da thread seja restaurado " +"ao seu estado anterior antes de Release(). Por exemplo, o uso normal das " +"macros :c:macro:`Py_BEGIN_ALLOW_THREADS` e :c:macro:`Py_END_ALLOW_THREADS` é " +"aceitável." + +#: ../../c-api/init.rst:1013 +msgid "" +"The return value is an opaque \"handle\" to the thread state " +"when :c:func:`PyGILState_Ensure` was called, and must be passed " +"to :c:func:`PyGILState_Release` to ensure Python is left in the same state. " +"Even though recursive calls are allowed, these handles *cannot* be shared - " +"each unique call to :c:func:`PyGILState_Ensure` must save the handle for its " +"call to :c:func:`PyGILState_Release`." +msgstr "" + +#: ../../c-api/init.rst:1020 msgid "" "When the function returns, the current thread will hold the GIL and be able " "to call arbitrary Python code. Failure is a fatal error." msgstr "" -#: ../../c-api/init.rst:1030 +#: ../../c-api/init.rst:1032 msgid "" "Release any resources previously acquired. After this call, Python's state " -"will be the same as it was prior to the corresponding :c:func:" -"`PyGILState_Ensure` call (but generally this state will be unknown to the " -"caller, hence the use of the GILState API)." +"will be the same as it was prior to the " +"corresponding :c:func:`PyGILState_Ensure` call (but generally this state " +"will be unknown to the caller, hence the use of the GILState API)." msgstr "" -#: ../../c-api/init.rst:1035 +#: ../../c-api/init.rst:1037 msgid "" -"Every call to :c:func:`PyGILState_Ensure` must be matched by a call to :c:" -"func:`PyGILState_Release` on the same thread." +"Every call to :c:func:`PyGILState_Ensure` must be matched by a call " +"to :c:func:`PyGILState_Release` on the same thread." msgstr "" -#: ../../c-api/init.rst:1041 +#: ../../c-api/init.rst:1043 msgid "" "Get the current thread state for this thread. May return ``NULL`` if no " "GILState API has been used on the current thread. Note that the main thread " @@ -1319,7 +1452,7 @@ msgid "" "made on the main thread. This is mainly a helper/diagnostic function." msgstr "" -#: ../../c-api/init.rst:1049 +#: ../../c-api/init.rst:1051 msgid "" "Return ``1`` if the current thread is holding the GIL and ``0`` otherwise. " "This function can be called from any thread at any time. Only if it has had " @@ -1330,233 +1463,250 @@ msgid "" "otherwise behave differently." msgstr "" -#: ../../c-api/init.rst:1061 +#: ../../c-api/init.rst:1063 msgid "" "The following macros are normally used without a trailing semicolon; look " "for example usage in the Python source distribution." msgstr "" -#: ../../c-api/init.rst:1067 +#: ../../c-api/init.rst:1069 msgid "" -"This macro expands to ``{ PyThreadState *_save; _save = PyEval_SaveThread();" -"``. Note that it contains an opening brace; it must be matched with a " -"following :c:macro:`Py_END_ALLOW_THREADS` macro. See above for further " -"discussion of this macro." +"This macro expands to ``{ PyThreadState *_save; _save = " +"PyEval_SaveThread();``. Note that it contains an opening brace; it must be " +"matched with a following :c:macro:`Py_END_ALLOW_THREADS` macro. See above " +"for further discussion of this macro." msgstr "" +"Esta macro se expande para ``{ PyThreadState *_save; _save = " +"PyEval_SaveThread();``. Observe que ele contém uma chave de abertura; ele " +"deve ser combinado com a seguinte macro :c:macro:`Py_END_ALLOW_THREADS`. " +"Veja acima para uma discussão mais aprofundada desta macro." -#: ../../c-api/init.rst:1075 +#: ../../c-api/init.rst:1077 msgid "" "This macro expands to ``PyEval_RestoreThread(_save); }``. Note that it " -"contains a closing brace; it must be matched with an earlier :c:macro:" -"`Py_BEGIN_ALLOW_THREADS` macro. See above for further discussion of this " -"macro." +"contains a closing brace; it must be matched with an " +"earlier :c:macro:`Py_BEGIN_ALLOW_THREADS` macro. See above for further " +"discussion of this macro." msgstr "" +"Esta macro se expande para ``PyEval_RestoreThread(_save); }``. Observe que " +"ele contém uma chave de fechamento; ele deve ser combinado com uma " +"macro :c:macro:`Py_BEGIN_ALLOW_THREADS` anterior. Veja acima para uma " +"discussão mais aprofundada desta macro." -#: ../../c-api/init.rst:1083 +#: ../../c-api/init.rst:1085 msgid "" -"This macro expands to ``PyEval_RestoreThread(_save);``: it is equivalent to :" -"c:macro:`Py_END_ALLOW_THREADS` without the closing brace." +"This macro expands to ``PyEval_RestoreThread(_save);``: it is equivalent " +"to :c:macro:`Py_END_ALLOW_THREADS` without the closing brace." msgstr "" +"Esta macro se expande para ``PyEval_RestoreThread(_save);``: é equivalente " +"a :c:macro:`Py_END_ALLOW_THREADS` sem a chave de fechamento." -#: ../../c-api/init.rst:1089 +#: ../../c-api/init.rst:1091 msgid "" -"This macro expands to ``_save = PyEval_SaveThread();``: it is equivalent to :" -"c:macro:`Py_BEGIN_ALLOW_THREADS` without the opening brace and variable " +"This macro expands to ``_save = PyEval_SaveThread();``: it is equivalent " +"to :c:macro:`Py_BEGIN_ALLOW_THREADS` without the opening brace and variable " "declaration." msgstr "" +"Esta macro se expande para ``_save = PyEval_SaveThread();``: é equivalente " +"a :c:macro:`Py_BEGIN_ALLOW_THREADS` sem a chave de abertura e declaração de " +"variável." -#: ../../c-api/init.rst:1095 +#: ../../c-api/init.rst:1097 msgid "Low-level API" msgstr "" -#: ../../c-api/init.rst:1097 +#: ../../c-api/init.rst:1099 msgid "" "All of the following functions must be called after :c:func:`Py_Initialize`." msgstr "" -#: ../../c-api/init.rst:1099 +#: ../../c-api/init.rst:1101 msgid ":c:func:`Py_Initialize()` now initializes the :term:`GIL`." msgstr "" -#: ../../c-api/init.rst:1105 +#: ../../c-api/init.rst:1107 msgid "" "Create a new interpreter state object. The global interpreter lock need not " "be held, but may be held if it is necessary to serialize calls to this " "function." msgstr "" -#: ../../c-api/init.rst:1109 +#: ../../c-api/init.rst:1111 msgid "" -"Raises an :ref:`auditing event ` ``cpython." -"PyInterpreterState_New`` with no arguments." +"Raises an :ref:`auditing event ` " +"``cpython.PyInterpreterState_New`` with no arguments." msgstr "" +"Levanta um :ref:`evento de auditoria ` " +"``cpython.PyInterpreterState_New`` sem argumentos." -#: ../../c-api/init.rst:1114 +#: ../../c-api/init.rst:1116 msgid "" "Reset all information in an interpreter state object. The global " "interpreter lock must be held." msgstr "" -#: ../../c-api/init.rst:1117 +#: ../../c-api/init.rst:1119 msgid "" -"Raises an :ref:`auditing event ` ``cpython." -"PyInterpreterState_Clear`` with no arguments." +"Raises an :ref:`auditing event ` " +"``cpython.PyInterpreterState_Clear`` with no arguments." msgstr "" +"Levanta um :ref:`evento de auditoria ` " +"``cpython.PyInterpreterState_Clear`` sem argumentos." -#: ../../c-api/init.rst:1122 +#: ../../c-api/init.rst:1124 msgid "" "Destroy an interpreter state object. The global interpreter lock need not " "be held. The interpreter state must have been reset with a previous call " "to :c:func:`PyInterpreterState_Clear`." msgstr "" -#: ../../c-api/init.rst:1129 +#: ../../c-api/init.rst:1131 msgid "" "Create a new thread state object belonging to the given interpreter object. " "The global interpreter lock need not be held, but may be held if it is " "necessary to serialize calls to this function." msgstr "" -#: ../../c-api/init.rst:1136 +#: ../../c-api/init.rst:1138 msgid "" "Reset all information in a thread state object. The global interpreter lock " "must be held." msgstr "" -#: ../../c-api/init.rst:1139 +#: ../../c-api/init.rst:1141 msgid "" "This function now calls the :c:member:`PyThreadState.on_delete` callback. " "Previously, that happened in :c:func:`PyThreadState_Delete`." msgstr "" -#: ../../c-api/init.rst:1146 +#: ../../c-api/init.rst:1148 msgid "" "Destroy a thread state object. The global interpreter lock need not be " -"held. The thread state must have been reset with a previous call to :c:func:" -"`PyThreadState_Clear`." +"held. The thread state must have been reset with a previous call " +"to :c:func:`PyThreadState_Clear`." msgstr "" -#: ../../c-api/init.rst:1153 +#: ../../c-api/init.rst:1155 msgid "" "Destroy the current thread state and release the global interpreter lock. " "Like :c:func:`PyThreadState_Delete`, the global interpreter lock need not be " -"held. The thread state must have been reset with a previous call to :c:func:" -"`PyThreadState_Clear`." +"held. The thread state must have been reset with a previous call " +"to :c:func:`PyThreadState_Clear`." msgstr "" -#: ../../c-api/init.rst:1161 +#: ../../c-api/init.rst:1163 msgid "Get the current frame of the Python thread state *tstate*." msgstr "" -#: ../../c-api/init.rst:1163 +#: ../../c-api/init.rst:1165 msgid "" "Return a :term:`strong reference`. Return ``NULL`` if no frame is currently " "executing." msgstr "" -#: ../../c-api/init.rst:1166 +#: ../../c-api/init.rst:1168 msgid "See also :c:func:`PyEval_GetFrame`." msgstr "" -#: ../../c-api/init.rst:1168 ../../c-api/init.rst:1177 -#: ../../c-api/init.rst:1186 +#: ../../c-api/init.rst:1170 ../../c-api/init.rst:1179 +#: ../../c-api/init.rst:1188 msgid "*tstate* must not be ``NULL``." msgstr "" -#: ../../c-api/init.rst:1175 +#: ../../c-api/init.rst:1177 msgid "" "Get the unique thread state identifier of the Python thread state *tstate*." msgstr "" -#: ../../c-api/init.rst:1184 +#: ../../c-api/init.rst:1186 msgid "Get the interpreter of the Python thread state *tstate*." msgstr "" -#: ../../c-api/init.rst:1193 +#: ../../c-api/init.rst:1195 msgid "Suspend tracing and profiling in the Python thread state *tstate*." msgstr "" -#: ../../c-api/init.rst:1195 +#: ../../c-api/init.rst:1197 msgid "Resume them using the :c:func:`PyThreadState_LeaveTracing` function." msgstr "" -#: ../../c-api/init.rst:1202 +#: ../../c-api/init.rst:1204 msgid "" "Resume tracing and profiling in the Python thread state *tstate* suspended " "by the :c:func:`PyThreadState_EnterTracing` function." msgstr "" -#: ../../c-api/init.rst:1205 +#: ../../c-api/init.rst:1207 msgid "" "See also :c:func:`PyEval_SetTrace` and :c:func:`PyEval_SetProfile` functions." msgstr "" -#: ../../c-api/init.rst:1213 +#: ../../c-api/init.rst:1215 msgid "Get the current interpreter." msgstr "" -#: ../../c-api/init.rst:1215 +#: ../../c-api/init.rst:1217 msgid "" "Issue a fatal error if there no current Python thread state or no current " "interpreter. It cannot return NULL." msgstr "" -#: ../../c-api/init.rst:1218 ../../c-api/init.rst:1228 +#: ../../c-api/init.rst:1220 ../../c-api/init.rst:1230 msgid "The caller must hold the GIL." -msgstr "" +msgstr "O caller deve possuir o GIL." -#: ../../c-api/init.rst:1225 +#: ../../c-api/init.rst:1227 msgid "" "Return the interpreter's unique ID. If there was any error in doing so then " "``-1`` is returned and an error is set." msgstr "" -#: ../../c-api/init.rst:1235 +#: ../../c-api/init.rst:1237 msgid "" "Return a dictionary in which interpreter-specific data may be stored. If " "this function returns ``NULL`` then no exception has been raised and the " "caller should assume no interpreter-specific dict is available." msgstr "" -#: ../../c-api/init.rst:1239 +#: ../../c-api/init.rst:1241 msgid "" "This is not a replacement for :c:func:`PyModule_GetState()`, which " "extensions should use to store interpreter-specific state information." msgstr "" -#: ../../c-api/init.rst:1246 +#: ../../c-api/init.rst:1248 msgid "Type of a frame evaluation function." msgstr "" -#: ../../c-api/init.rst:1248 +#: ../../c-api/init.rst:1250 msgid "" "The *throwflag* parameter is used by the ``throw()`` method of generators: " "if non-zero, handle the current exception." msgstr "" -#: ../../c-api/init.rst:1251 +#: ../../c-api/init.rst:1253 msgid "The function now takes a *tstate* parameter." msgstr "" -#: ../../c-api/init.rst:1254 +#: ../../c-api/init.rst:1256 msgid "" "The *frame* parameter changed from ``PyFrameObject*`` to " "``_PyInterpreterFrame*``." msgstr "" -#: ../../c-api/init.rst:1259 +#: ../../c-api/init.rst:1261 msgid "Get the frame evaluation function." msgstr "" -#: ../../c-api/init.rst:1261 ../../c-api/init.rst:1269 +#: ../../c-api/init.rst:1263 ../../c-api/init.rst:1271 msgid "See the :pep:`523` \"Adding a frame evaluation API to CPython\"." msgstr "" -#: ../../c-api/init.rst:1267 +#: ../../c-api/init.rst:1269 msgid "Set the frame evaluation function." msgstr "" -#: ../../c-api/init.rst:1276 +#: ../../c-api/init.rst:1278 msgid "" "Return a dictionary in which extensions can store thread-specific state " "information. Each extension should use a unique key to use to store state " @@ -1565,45 +1715,46 @@ msgid "" "raised and the caller should assume no current thread state is available." msgstr "" -#: ../../c-api/init.rst:1285 +#: ../../c-api/init.rst:1287 msgid "" "Asynchronously raise an exception in a thread. The *id* argument is the " "thread id of the target thread; *exc* is the exception object to be raised. " "This function does not steal any references to *exc*. To prevent naive " "misuse, you must write your own C extension to call this. Must be called " "with the GIL held. Returns the number of thread states modified; this is " -"normally one, but will be zero if the thread id isn't found. If *exc* is :" -"const:`NULL`, the pending exception (if any) for the thread is cleared. This " +"normally one, but will be zero if the thread id isn't found. If *exc* is " +"``NULL``, the pending exception (if any) for the thread is cleared. This " "raises no exceptions." msgstr "" -#: ../../c-api/init.rst:1293 +#: ../../c-api/init.rst:1295 msgid "" -"The type of the *id* parameter changed from :c:expr:`long` to :c:expr:" -"`unsigned long`." +"The type of the *id* parameter changed from :c:expr:`long` " +"to :c:expr:`unsigned long`." msgstr "" -#: ../../c-api/init.rst:1299 +#: ../../c-api/init.rst:1301 msgid "" "Acquire the global interpreter lock and set the current thread state to " "*tstate*, which must not be ``NULL``. The lock must have been created " "earlier. If this thread already has the lock, deadlock ensues." msgstr "" -#: ../../c-api/init.rst:1310 ../../c-api/init.rst:1348 +#: ../../c-api/init.rst:1312 ../../c-api/init.rst:1350 msgid "" -"Updated to be consistent with :c:func:`PyEval_RestoreThread`, :c:func:" -"`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`, and terminate the " -"current thread if called while the interpreter is finalizing." +"Updated to be consistent " +"with :c:func:`PyEval_RestoreThread`, :c:func:`Py_END_ALLOW_THREADS`, " +"and :c:func:`PyGILState_Ensure`, and terminate the current thread if called " +"while the interpreter is finalizing." msgstr "" -#: ../../c-api/init.rst:1315 +#: ../../c-api/init.rst:1317 msgid "" ":c:func:`PyEval_RestoreThread` is a higher-level function which is always " "available (even when threads have not been initialized)." msgstr "" -#: ../../c-api/init.rst:1321 +#: ../../c-api/init.rst:1323 msgid "" "Reset the current thread state to ``NULL`` and release the global " "interpreter lock. The lock must have been created earlier and must be held " @@ -1612,41 +1763,50 @@ msgid "" "isn't, a fatal error is reported." msgstr "" -#: ../../c-api/init.rst:1327 +#: ../../c-api/init.rst:1329 msgid "" ":c:func:`PyEval_SaveThread` is a higher-level function which is always " "available (even when threads have not been initialized)." msgstr "" -#: ../../c-api/init.rst:1333 +#: ../../c-api/init.rst:1335 msgid "" "Acquire the global interpreter lock. The lock must have been created " "earlier. If this thread already has the lock, a deadlock ensues." msgstr "" -#: ../../c-api/init.rst:1336 +#: ../../c-api/init.rst:1338 +msgid "" +"This function does not update the current thread state. Please " +"use :c:func:`PyEval_RestoreThread` or :c:func:`PyEval_AcquireThread` instead." +msgstr "" + +#: ../../c-api/init.rst:1344 msgid "" -"This function does not update the current thread state. Please use :c:func:" -"`PyEval_RestoreThread` or :c:func:`PyEval_AcquireThread` instead." +"Calling this function from a thread when the runtime is finalizing will " +"terminate the thread, even if the thread was not created by Python. You can " +"use :c:func:`_Py_IsFinalizing` or :func:`sys.is_finalizing` to check if the " +"interpreter is in process of being finalized before calling this function to " +"avoid unwanted termination." msgstr "" -#: ../../c-api/init.rst:1356 +#: ../../c-api/init.rst:1358 msgid "" "Release the global interpreter lock. The lock must have been created " "earlier." msgstr "" -#: ../../c-api/init.rst:1358 +#: ../../c-api/init.rst:1360 msgid "" -"This function does not update the current thread state. Please use :c:func:" -"`PyEval_SaveThread` or :c:func:`PyEval_ReleaseThread` instead." +"This function does not update the current thread state. Please " +"use :c:func:`PyEval_SaveThread` or :c:func:`PyEval_ReleaseThread` instead." msgstr "" -#: ../../c-api/init.rst:1367 +#: ../../c-api/init.rst:1369 msgid "Sub-interpreter support" msgstr "" -#: ../../c-api/init.rst:1369 +#: ../../c-api/init.rst:1371 msgid "" "While in most uses, you will only embed a single Python interpreter, there " "are cases where you need to create several independent interpreters in the " @@ -1654,7 +1814,7 @@ msgid "" "to do that." msgstr "" -#: ../../c-api/init.rst:1374 +#: ../../c-api/init.rst:1376 msgid "" "The \"main\" interpreter is the first one created when the runtime " "initializes. It is usually the only Python interpreter in a process. Unlike " @@ -1665,27 +1825,27 @@ msgid "" "returns a pointer to its state." msgstr "" -#: ../../c-api/init.rst:1381 +#: ../../c-api/init.rst:1383 msgid "" -"You can switch between sub-interpreters using the :c:func:" -"`PyThreadState_Swap` function. You can create and destroy them using the " -"following functions:" +"You can switch between sub-interpreters using " +"the :c:func:`PyThreadState_Swap` function. You can create and destroy them " +"using the following functions:" msgstr "" -#: ../../c-api/init.rst:1395 +#: ../../c-api/init.rst:1397 msgid "" "Create a new sub-interpreter. This is an (almost) totally separate " "environment for the execution of Python code. In particular, the new " "interpreter has separate, independent versions of all imported modules, " -"including the fundamental modules :mod:`builtins`, :mod:`__main__` and :mod:" -"`sys`. The table of loaded modules (``sys.modules``) and the module search " -"path (``sys.path``) are also separate. The new environment has no ``sys." -"argv`` variable. It has new standard I/O stream file objects ``sys.stdin``, " -"``sys.stdout`` and ``sys.stderr`` (however these refer to the same " -"underlying file descriptors)." +"including the fundamental modules :mod:`builtins`, :mod:`__main__` " +"and :mod:`sys`. The table of loaded modules (``sys.modules``) and the " +"module search path (``sys.path``) are also separate. The new environment " +"has no ``sys.argv`` variable. It has new standard I/O stream file objects " +"``sys.stdin``, ``sys.stdout`` and ``sys.stderr`` (however these refer to the " +"same underlying file descriptors)." msgstr "" -#: ../../c-api/init.rst:1405 +#: ../../c-api/init.rst:1407 msgid "" "The return value points to the first thread state created in the new sub-" "interpreter. This thread state is made in the current thread state. Note " @@ -1699,41 +1859,42 @@ msgid "" "state on entry.)" msgstr "" -#: ../../c-api/init.rst:1420 +#: ../../c-api/init.rst:1422 msgid "Extension modules are shared between (sub-)interpreters as follows:" msgstr "" -#: ../../c-api/init.rst:1422 +#: ../../c-api/init.rst:1424 msgid "" -"For modules using multi-phase initialization, e.g. :c:func:" -"`PyModule_FromDefAndSpec`, a separate module object is created and " -"initialized for each interpreter. Only C-level static and global variables " -"are shared between these module objects." +"For modules using multi-phase initialization, " +"e.g. :c:func:`PyModule_FromDefAndSpec`, a separate module object is created " +"and initialized for each interpreter. Only C-level static and global " +"variables are shared between these module objects." msgstr "" -#: ../../c-api/init.rst:1428 +#: ../../c-api/init.rst:1430 msgid "" -"For modules using single-phase initialization, e.g. :c:func:" -"`PyModule_Create`, the first time a particular extension is imported, it is " -"initialized normally, and a (shallow) copy of its module's dictionary is " -"squirreled away. When the same extension is imported by another " -"(sub-)interpreter, a new module is initialized and filled with the contents " -"of this copy; the extension's ``init`` function is not called. Objects in " -"the module's dictionary thus end up shared across (sub-)interpreters, which " -"might cause unwanted behavior (see `Bugs and caveats`_ below)." +"For modules using single-phase initialization, " +"e.g. :c:func:`PyModule_Create`, the first time a particular extension is " +"imported, it is initialized normally, and a (shallow) copy of its module's " +"dictionary is squirreled away. When the same extension is imported by " +"another (sub-)interpreter, a new module is initialized and filled with the " +"contents of this copy; the extension's ``init`` function is not called. " +"Objects in the module's dictionary thus end up shared across " +"(sub-)interpreters, which might cause unwanted behavior (see `Bugs and " +"caveats`_ below)." msgstr "" -#: ../../c-api/init.rst:1439 +#: ../../c-api/init.rst:1441 msgid "" "Note that this is different from what happens when an extension is imported " -"after the interpreter has been completely re-initialized by calling :c:func:" -"`Py_FinalizeEx` and :c:func:`Py_Initialize`; in that case, the extension's " -"``initmodule`` function *is* called again. As with multi-phase " -"initialization, this means that only C-level static and global variables are " -"shared between these modules." +"after the interpreter has been completely re-initialized by " +"calling :c:func:`Py_FinalizeEx` and :c:func:`Py_Initialize`; in that case, " +"the extension's ``initmodule`` function *is* called again. As with multi-" +"phase initialization, this means that only C-level static and global " +"variables are shared between these modules." msgstr "" -#: ../../c-api/init.rst:1453 +#: ../../c-api/init.rst:1455 msgid "" "Destroy the (sub-)interpreter represented by the given thread state. The " "given thread state must be the current thread state. See the discussion of " @@ -1745,11 +1906,11 @@ msgid "" "point." msgstr "" -#: ../../c-api/init.rst:1463 +#: ../../c-api/init.rst:1465 msgid "Bugs and caveats" msgstr "" -#: ../../c-api/init.rst:1465 +#: ../../c-api/init.rst:1467 msgid "" "Because sub-interpreters (and the main interpreter) are part of the same " "process, the insulation between them isn't perfect --- for example, using " @@ -1762,7 +1923,7 @@ msgid "" "should be avoided if possible." msgstr "" -#: ../../c-api/init.rst:1475 +#: ../../c-api/init.rst:1477 msgid "" "Special care should be taken to avoid sharing user-defined functions, " "methods, instances or classes between sub-interpreters, since import " @@ -1771,23 +1932,23 @@ msgid "" "objects from which the above are reachable." msgstr "" -#: ../../c-api/init.rst:1481 +#: ../../c-api/init.rst:1483 msgid "" "Also note that combining this functionality with ``PyGILState_*`` APIs is " "delicate, because these APIs assume a bijection between Python thread states " "and OS-level threads, an assumption broken by the presence of sub-" "interpreters. It is highly recommended that you don't switch sub-" -"interpreters between a pair of matching :c:func:`PyGILState_Ensure` and :c:" -"func:`PyGILState_Release` calls. Furthermore, extensions (such as :mod:" -"`ctypes`) using these APIs to allow calling of Python code from non-Python " -"created threads will probably be broken when using sub-interpreters." +"interpreters between a pair of matching :c:func:`PyGILState_Ensure` " +"and :c:func:`PyGILState_Release` calls. Furthermore, extensions (such " +"as :mod:`ctypes`) using these APIs to allow calling of Python code from non-" +"Python created threads will probably be broken when using sub-interpreters." msgstr "" -#: ../../c-api/init.rst:1492 +#: ../../c-api/init.rst:1494 msgid "Asynchronous Notifications" msgstr "Notificações assíncronas" -#: ../../c-api/init.rst:1494 +#: ../../c-api/init.rst:1496 msgid "" "A mechanism is provided to make asynchronous notifications to the main " "interpreter thread. These notifications take the form of a function pointer " @@ -1846,11 +2007,11 @@ msgid "" "no guarantee that *func* will be called as quick as possible. If the main " "thread is busy executing a system call, *func* won't be called before the " "system call returns. This function is generally **not** suitable for " -"calling Python code from arbitrary C threads. Instead, use the :ref:" -"`PyGILState API`." +"calling Python code from arbitrary C threads. Instead, use " +"the :ref:`PyGILState API`." msgstr "" -#: ../../c-api/init.rst:1536 +#: ../../c-api/init.rst:1538 msgid "" "If this function is called in a subinterpreter, the function *func* is now " "scheduled to be called from the subinterpreter, rather than being called " @@ -1884,10 +2045,9 @@ msgid "" "The type of the trace function registered using :c:func:`PyEval_SetProfile` " "and :c:func:`PyEval_SetTrace`. The first parameter is the object passed to " "the registration function as *obj*, *frame* is the frame object to which the " -"event pertains, *what* is one of the constants :const:`PyTrace_CALL`, :const:" -"`PyTrace_EXCEPTION`, :const:`PyTrace_LINE`, :const:`PyTrace_RETURN`, :const:" -"`PyTrace_C_CALL`, :const:`PyTrace_C_EXCEPTION`, :const:`PyTrace_C_RETURN`, " -"or :const:`PyTrace_OPCODE`, and *arg* depends on the value of *what*:" +"event pertains, *what* is one of the " +"constants :c:data:`PyTrace_CALL`, :c:data:`PyTrace_EXCEPTION`, :c:data:`PyTrace_LINE`, :c:data:`PyTrace_RETURN`, :c:data:`PyTrace_C_CALL`, :c:data:`PyTrace_C_EXCEPTION`, :c:data:`PyTrace_C_RETURN`, " +"or :c:data:`PyTrace_OPCODE`, and *arg* depends on the value of *what*:" msgstr "" #: ../../c-api/init.rst:1575 @@ -1899,8 +2059,8 @@ msgid "Meaning of *arg*" msgstr "" #: ../../c-api/init.rst:1577 -msgid ":const:`PyTrace_CALL`" -msgstr ":const:`PyTrace_CALL`" +msgid ":c:data:`PyTrace_CALL`" +msgstr "" #: ../../c-api/init.rst:1577 ../../c-api/init.rst:1582 #: ../../c-api/init.rst:1593 @@ -1908,20 +2068,20 @@ msgid "Always :c:data:`Py_None`." msgstr "" #: ../../c-api/init.rst:1579 -msgid ":const:`PyTrace_EXCEPTION`" -msgstr ":const:`PyTrace_EXCEPTION`" +msgid ":c:data:`PyTrace_EXCEPTION`" +msgstr "" #: ../../c-api/init.rst:1579 msgid "Exception information as returned by :func:`sys.exc_info`." msgstr "" #: ../../c-api/init.rst:1582 -msgid ":const:`PyTrace_LINE`" -msgstr ":const:`PyTrace_LINE`" +msgid ":c:data:`PyTrace_LINE`" +msgstr "" #: ../../c-api/init.rst:1584 -msgid ":const:`PyTrace_RETURN`" -msgstr ":const:`PyTrace_RETURN`" +msgid ":c:data:`PyTrace_RETURN`" +msgstr "" #: ../../c-api/init.rst:1584 msgid "" @@ -1929,8 +2089,8 @@ msgid "" msgstr "" #: ../../c-api/init.rst:1587 -msgid ":const:`PyTrace_C_CALL`" -msgstr ":const:`PyTrace_C_CALL`" +msgid ":c:data:`PyTrace_C_CALL`" +msgstr "" #: ../../c-api/init.rst:1587 ../../c-api/init.rst:1589 #: ../../c-api/init.rst:1591 @@ -1938,16 +2098,16 @@ msgid "Function object being called." msgstr "" #: ../../c-api/init.rst:1589 -msgid ":const:`PyTrace_C_EXCEPTION`" -msgstr ":const:`PyTrace_C_EXCEPTION`" +msgid ":c:data:`PyTrace_C_EXCEPTION`" +msgstr "" #: ../../c-api/init.rst:1591 -msgid ":const:`PyTrace_C_RETURN`" -msgstr ":const:`PyTrace_C_RETURN`" +msgid ":c:data:`PyTrace_C_RETURN`" +msgstr "" #: ../../c-api/init.rst:1593 -msgid ":const:`PyTrace_OPCODE`" -msgstr ":const:`PyTrace_OPCODE`" +msgid ":c:data:`PyTrace_OPCODE`" +msgstr "" #: ../../c-api/init.rst:1598 msgid "" @@ -1974,117 +2134,118 @@ msgstr "" msgid "" "The value passed as the *what* parameter to a :c:type:`Py_tracefunc` " "function (but not a profiling function) when a line-number event is being " -"reported. It may be disabled for a frame by setting :attr:`f_trace_lines` to " -"*0* on that frame." +"reported. It may be disabled for a frame by " +"setting :attr:`~frame.f_trace_lines` to *0* on that frame." msgstr "" -#: ../../c-api/init.rst:1625 +#: ../../c-api/init.rst:1626 msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " "a call is about to return." msgstr "" -#: ../../c-api/init.rst:1631 +#: ../../c-api/init.rst:1632 msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " "a C function is about to be called." msgstr "" -#: ../../c-api/init.rst:1637 +#: ../../c-api/init.rst:1638 msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " "a C function has raised an exception." msgstr "" -#: ../../c-api/init.rst:1643 +#: ../../c-api/init.rst:1644 msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions when " "a C function has returned." msgstr "" -#: ../../c-api/init.rst:1649 +#: ../../c-api/init.rst:1650 msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions (but " "not profiling functions) when a new opcode is about to be executed. This " -"event is not emitted by default: it must be explicitly requested by setting :" -"attr:`f_trace_opcodes` to *1* on the frame." +"event is not emitted by default: it must be explicitly requested by " +"setting :attr:`~frame.f_trace_opcodes` to *1* on the frame." msgstr "" -#: ../../c-api/init.rst:1657 +#: ../../c-api/init.rst:1658 msgid "" "Set the profiler function to *func*. The *obj* parameter is passed to the " "function as its first parameter, and may be any Python object, or ``NULL``. " "If the profile function needs to maintain state, using a different value for " "*obj* for each thread provides a convenient and thread-safe place to store " -"it. The profile function is called for all monitored events except :const:" -"`PyTrace_LINE` :const:`PyTrace_OPCODE` and :const:`PyTrace_EXCEPTION`." +"it. The profile function is called for all monitored events " +"except :c:data:`PyTrace_LINE` :c:data:`PyTrace_OPCODE` " +"and :c:data:`PyTrace_EXCEPTION`." msgstr "" -#: ../../c-api/init.rst:1664 +#: ../../c-api/init.rst:1665 msgid "See also the :func:`sys.setprofile` function." msgstr "" -#: ../../c-api/init.rst:1666 ../../c-api/init.rst:1680 +#: ../../c-api/init.rst:1667 ../../c-api/init.rst:1681 msgid "The caller must hold the :term:`GIL`." msgstr "" -#: ../../c-api/init.rst:1671 +#: ../../c-api/init.rst:1672 msgid "" -"Set the tracing function to *func*. This is similar to :c:func:" -"`PyEval_SetProfile`, except the tracing function does receive line-number " -"events and per-opcode events, but does not receive any event related to C " -"function objects being called. Any trace function registered using :c:func:" -"`PyEval_SetTrace` will not receive :const:`PyTrace_C_CALL`, :const:" -"`PyTrace_C_EXCEPTION` or :const:`PyTrace_C_RETURN` as a value for the *what* " -"parameter." +"Set the tracing function to *func*. This is similar " +"to :c:func:`PyEval_SetProfile`, except the tracing function does receive " +"line-number events and per-opcode events, but does not receive any event " +"related to C function objects being called. Any trace function registered " +"using :c:func:`PyEval_SetTrace` will not " +"receive :c:data:`PyTrace_C_CALL`, :c:data:`PyTrace_C_EXCEPTION` " +"or :c:data:`PyTrace_C_RETURN` as a value for the *what* parameter." msgstr "" -#: ../../c-api/init.rst:1678 +#: ../../c-api/init.rst:1679 msgid "See also the :func:`sys.settrace` function." msgstr "" -#: ../../c-api/init.rst:1686 +#: ../../c-api/init.rst:1687 msgid "Advanced Debugger Support" msgstr "" -#: ../../c-api/init.rst:1691 +#: ../../c-api/init.rst:1692 msgid "" "These functions are only intended to be used by advanced debugging tools." msgstr "" -#: ../../c-api/init.rst:1696 +#: ../../c-api/init.rst:1697 msgid "" "Return the interpreter state object at the head of the list of all such " "objects." msgstr "" -#: ../../c-api/init.rst:1701 +#: ../../c-api/init.rst:1702 msgid "Return the main interpreter state object." msgstr "" -#: ../../c-api/init.rst:1706 +#: ../../c-api/init.rst:1707 msgid "" "Return the next interpreter state object after *interp* from the list of all " "such objects." msgstr "" -#: ../../c-api/init.rst:1712 +#: ../../c-api/init.rst:1713 msgid "" "Return the pointer to the first :c:type:`PyThreadState` object in the list " "of threads associated with the interpreter *interp*." msgstr "" -#: ../../c-api/init.rst:1718 +#: ../../c-api/init.rst:1719 msgid "" "Return the next thread state object after *tstate* from the list of all such " "objects belonging to the same :c:type:`PyInterpreterState` object." msgstr "" -#: ../../c-api/init.rst:1725 +#: ../../c-api/init.rst:1726 msgid "Thread Local Storage Support" msgstr "" -#: ../../c-api/init.rst:1729 +#: ../../c-api/init.rst:1730 msgid "" "The Python interpreter provides low-level support for thread-local storage " "(TLS) which wraps the underlying native TLS implementation to support the " @@ -2094,42 +2255,42 @@ msgid "" "thread." msgstr "" -#: ../../c-api/init.rst:1736 +#: ../../c-api/init.rst:1737 msgid "" "The GIL does *not* need to be held when calling these functions; they supply " "their own locking." msgstr "" -#: ../../c-api/init.rst:1739 +#: ../../c-api/init.rst:1740 msgid "" "Note that :file:`Python.h` does not include the declaration of the TLS APIs, " "you need to include :file:`pythread.h` to use thread-local storage." msgstr "" -#: ../../c-api/init.rst:1743 +#: ../../c-api/init.rst:1744 msgid "" -"None of these API functions handle memory management on behalf of the :c:" -"expr:`void*` values. You need to allocate and deallocate them yourself. If " -"the :c:expr:`void*` values happen to be :c:expr:`PyObject*`, these functions " -"don't do refcount operations on them either." +"None of these API functions handle memory management on behalf of " +"the :c:expr:`void*` values. You need to allocate and deallocate them " +"yourself. If the :c:expr:`void*` values happen to be :c:expr:`PyObject*`, " +"these functions don't do refcount operations on them either." msgstr "" -#: ../../c-api/init.rst:1751 +#: ../../c-api/init.rst:1752 msgid "Thread Specific Storage (TSS) API" msgstr "" -#: ../../c-api/init.rst:1753 +#: ../../c-api/init.rst:1754 msgid "" "TSS API is introduced to supersede the use of the existing TLS API within " "the CPython interpreter. This API uses a new type :c:type:`Py_tss_t` " "instead of :c:expr:`int` to represent thread keys." msgstr "" -#: ../../c-api/init.rst:1759 +#: ../../c-api/init.rst:1760 msgid "\"A New C-API for Thread-Local Storage in CPython\" (:pep:`539`)" msgstr "" -#: ../../c-api/init.rst:1764 +#: ../../c-api/init.rst:1765 msgid "" "This data structure represents the state of a thread key, the definition of " "which may depend on the underlying TLS implementation, and it has an " @@ -2137,66 +2298,72 @@ msgid "" "public members in this structure." msgstr "" -#: ../../c-api/init.rst:1769 +#: ../../c-api/init.rst:1770 msgid "" "When :ref:`Py_LIMITED_API ` is not defined, static allocation of " "this type by :c:macro:`Py_tss_NEEDS_INIT` is allowed." msgstr "" +"Quando :ref:`Py_LIMITED_API ` não é definido, a alocação estática " +"deste tipo por :c:macro:`Py_tss_NEEDS_INIT` é permitida." -#: ../../c-api/init.rst:1775 +#: ../../c-api/init.rst:1776 msgid "" "This macro expands to the initializer for :c:type:`Py_tss_t` variables. Note " "that this macro won't be defined with :ref:`Py_LIMITED_API `." msgstr "" -#: ../../c-api/init.rst:1780 +#: ../../c-api/init.rst:1781 msgid "Dynamic Allocation" msgstr "Alocação dinâmica" -#: ../../c-api/init.rst:1782 +#: ../../c-api/init.rst:1783 msgid "" "Dynamic allocation of the :c:type:`Py_tss_t`, required in extension modules " "built with :ref:`Py_LIMITED_API `, where static allocation of this " "type is not possible due to its implementation being opaque at build time." msgstr "" -#: ../../c-api/init.rst:1789 +#: ../../c-api/init.rst:1790 msgid "" -"Return a value which is the same state as a value initialized with :c:macro:" -"`Py_tss_NEEDS_INIT`, or ``NULL`` in the case of dynamic allocation failure." +"Return a value which is the same state as a value initialized " +"with :c:macro:`Py_tss_NEEDS_INIT`, or ``NULL`` in the case of dynamic " +"allocation failure." msgstr "" +"Retorna um valor que é o mesmo estado de um valor inicializado " +"com :c:macro:`Py_tss_NEEDS_INIT`, ou ``NULL`` no caso de falha de alocação " +"dinâmica." -#: ../../c-api/init.rst:1796 +#: ../../c-api/init.rst:1797 msgid "" "Free the given *key* allocated by :c:func:`PyThread_tss_alloc`, after first " "calling :c:func:`PyThread_tss_delete` to ensure any associated thread locals " "have been unassigned. This is a no-op if the *key* argument is ``NULL``." msgstr "" -#: ../../c-api/init.rst:1802 +#: ../../c-api/init.rst:1803 msgid "" "A freed key becomes a dangling pointer. You should reset the key to ``NULL``." msgstr "" -#: ../../c-api/init.rst:1807 +#: ../../c-api/init.rst:1808 msgid "Methods" msgstr "Métodos" -#: ../../c-api/init.rst:1809 +#: ../../c-api/init.rst:1810 msgid "" "The parameter *key* of these functions must not be ``NULL``. Moreover, the " "behaviors of :c:func:`PyThread_tss_set` and :c:func:`PyThread_tss_get` are " -"undefined if the given :c:type:`Py_tss_t` has not been initialized by :c:" -"func:`PyThread_tss_create`." +"undefined if the given :c:type:`Py_tss_t` has not been initialized " +"by :c:func:`PyThread_tss_create`." msgstr "" -#: ../../c-api/init.rst:1817 +#: ../../c-api/init.rst:1818 msgid "" "Return a non-zero value if the given :c:type:`Py_tss_t` has been initialized " "by :c:func:`PyThread_tss_create`." msgstr "" -#: ../../c-api/init.rst:1823 +#: ../../c-api/init.rst:1824 msgid "" "Return a zero value on successful initialization of a TSS key. The behavior " "is undefined if the value pointed to by the *key* argument is not " @@ -2204,41 +2371,46 @@ msgid "" "repeatedly on the same key -- calling it on an already initialized key is a " "no-op and immediately returns success." msgstr "" +"Retorna um valor zero na inicialização bem-sucedida de uma chave TSS. O " +"comportamento é indefinido se o valor apontado pelo argumento *key* não for " +"inicializado por :c:macro:`Py_tss_NEEDS_INIT`. Essa função pode ser chamada " +"repetidamente na mesma tecla -- chamá-la em uma tecla já inicializada não " +"funciona e retorna imediatamente com sucesso." -#: ../../c-api/init.rst:1832 +#: ../../c-api/init.rst:1833 msgid "" "Destroy a TSS key to forget the values associated with the key across all " "threads, and change the key's initialization state to uninitialized. A " -"destroyed key is able to be initialized again by :c:func:" -"`PyThread_tss_create`. This function can be called repeatedly on the same " -"key -- calling it on an already destroyed key is a no-op." +"destroyed key is able to be initialized again " +"by :c:func:`PyThread_tss_create`. This function can be called repeatedly on " +"the same key -- calling it on an already destroyed key is a no-op." msgstr "" -#: ../../c-api/init.rst:1841 +#: ../../c-api/init.rst:1842 msgid "" "Return a zero value to indicate successfully associating a :c:expr:`void*` " "value with a TSS key in the current thread. Each thread has a distinct " "mapping of the key to a :c:expr:`void*` value." msgstr "" -#: ../../c-api/init.rst:1848 +#: ../../c-api/init.rst:1849 msgid "" "Return the :c:expr:`void*` value associated with a TSS key in the current " "thread. This returns ``NULL`` if no value is associated with the key in the " "current thread." msgstr "" -#: ../../c-api/init.rst:1856 +#: ../../c-api/init.rst:1857 msgid "Thread Local Storage (TLS) API" msgstr "" -#: ../../c-api/init.rst:1858 +#: ../../c-api/init.rst:1859 msgid "" "This API is superseded by :ref:`Thread Specific Storage (TSS) API `." msgstr "" -#: ../../c-api/init.rst:1863 +#: ../../c-api/init.rst:1864 msgid "" "This version of the API does not support platforms where the native TLS key " "is defined in a way that cannot be safely cast to ``int``. On such " @@ -2247,7 +2419,7 @@ msgid "" "platforms." msgstr "" -#: ../../c-api/init.rst:1868 +#: ../../c-api/init.rst:1869 msgid "" "Due to the compatibility problem noted above, this version of the API should " "not be used in new code." @@ -2267,22 +2439,22 @@ msgstr "" #: ../../c-api/init.rst:231 ../../c-api/init.rst:480 ../../c-api/init.rst:506 msgid "path (in module sys)" -msgstr "" +msgstr "path (no módulo sys)" #: ../../c-api/init.rst:231 ../../c-api/init.rst:480 ../../c-api/init.rst:506 -#: ../../c-api/init.rst:945 ../../c-api/init.rst:1387 +#: ../../c-api/init.rst:947 ../../c-api/init.rst:1389 msgid "module" msgstr "módulo" -#: ../../c-api/init.rst:231 ../../c-api/init.rst:1387 +#: ../../c-api/init.rst:231 ../../c-api/init.rst:1389 msgid "builtins" msgstr "builtins" -#: ../../c-api/init.rst:231 ../../c-api/init.rst:1387 +#: ../../c-api/init.rst:231 ../../c-api/init.rst:1389 msgid "__main__" -msgstr "" +msgstr "__main__" -#: ../../c-api/init.rst:231 ../../c-api/init.rst:1387 +#: ../../c-api/init.rst:231 ../../c-api/init.rst:1389 msgid "sys" msgstr "sys" @@ -2295,18 +2467,18 @@ msgid "path" msgstr "caminho" #: ../../c-api/init.rst:231 -msgid "PySys_SetArgv()" +msgid "PySys_SetArgv (C function)" msgstr "" #: ../../c-api/init.rst:231 -msgid "PySys_SetArgvEx()" +msgid "PySys_SetArgvEx (C function)" msgstr "" -#: ../../c-api/init.rst:231 ../../c-api/init.rst:1416 ../../c-api/init.rst:1451 -msgid "Py_FinalizeEx()" -msgstr "" +#: ../../c-api/init.rst:231 ../../c-api/init.rst:1418 ../../c-api/init.rst:1453 +msgid "Py_FinalizeEx (C function)" +msgstr "Py_FinalizeEx (função C)" -#: ../../c-api/init.rst:321 ../../c-api/init.rst:358 ../../c-api/init.rst:1416 +#: ../../c-api/init.rst:321 ../../c-api/init.rst:358 msgid "Py_Initialize()" msgstr "" @@ -2360,7 +2532,7 @@ msgstr "" #: ../../c-api/init.rst:730 msgid "global interpreter lock" -msgstr "bloqueio global do interpretador" +msgstr "trava global do interpretador" #: ../../c-api/init.rst:730 msgid "interpreter lock" @@ -2371,57 +2543,65 @@ msgid "lock, interpreter" msgstr "" #: ../../c-api/init.rst:743 -msgid "setswitchinterval() (in module sys)" +msgid "setswitchinterval (in module sys)" msgstr "" #: ../../c-api/init.rst:752 -msgid "PyThreadState" +msgid "PyThreadState (C type)" msgstr "" -#: ../../c-api/init.rst:779 -msgid "Py_BEGIN_ALLOW_THREADS" +#: ../../c-api/init.rst:778 +msgid "Py_BEGIN_ALLOW_THREADS (C macro)" msgstr "" -#: ../../c-api/init.rst:779 -msgid "Py_END_ALLOW_THREADS" +#: ../../c-api/init.rst:778 +msgid "Py_END_ALLOW_THREADS (C macro)" msgstr "" -#: ../../c-api/init.rst:795 ../../c-api/init.rst:923 -msgid "PyEval_RestoreThread()" +#: ../../c-api/init.rst:794 +msgid "PyEval_RestoreThread (C function)" msgstr "" -#: ../../c-api/init.rst:795 ../../c-api/init.rst:923 -msgid "PyEval_SaveThread()" +#: ../../c-api/init.rst:794 +msgid "PyEval_SaveThread (C function)" msgstr "" -#: ../../c-api/init.rst:923 +#: ../../c-api/init.rst:925 msgid "PyEval_AcquireThread()" msgstr "" -#: ../../c-api/init.rst:923 +#: ../../c-api/init.rst:925 msgid "PyEval_ReleaseThread()" msgstr "" -#: ../../c-api/init.rst:945 +#: ../../c-api/init.rst:925 +msgid "PyEval_SaveThread()" +msgstr "" + +#: ../../c-api/init.rst:925 +msgid "PyEval_RestoreThread()" +msgstr "" + +#: ../../c-api/init.rst:947 msgid "_thread" msgstr "_thread" -#: ../../c-api/init.rst:1387 +#: ../../c-api/init.rst:1389 msgid "stdout (in module sys)" -msgstr "" +msgstr "stdout (no módulo sys)" -#: ../../c-api/init.rst:1387 +#: ../../c-api/init.rst:1389 msgid "stderr (in module sys)" -msgstr "" +msgstr "stderr (no módulo sys)" -#: ../../c-api/init.rst:1387 +#: ../../c-api/init.rst:1389 msgid "stdin (in module sys)" -msgstr "" +msgstr "stdin (no módulo sys)" -#: ../../c-api/init.rst:1446 -msgid "close() (in module os)" -msgstr "" +#: ../../c-api/init.rst:1418 +msgid "Py_Initialize (C function)" +msgstr "Py_Initialize (função C)" -#: ../../c-api/init.rst:1501 -msgid "Py_AddPendingCall()" +#: ../../c-api/init.rst:1448 +msgid "close (in module os)" msgstr "" diff --git a/c-api/init_config.po b/c-api/init_config.po index d572717a9..8c4cba633 100644 --- a/c-api/init_config.po +++ b/c-api/init_config.po @@ -1,47 +1,42 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Italo Penaforte , 2021 -# And Past , 2021 -# Hélio Júnior , 2021 -# Rodrigo Cândido, 2022 -# Lívia Pavini Zeviani, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Gustavo Reis, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Gustavo Reis, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/init_config.rst:7 msgid "Python Initialization Configuration" -msgstr "Configuração de Inicialização do Python" +msgstr "Configuração de inicialização do Python" #: ../../c-api/init_config.rst:11 msgid "" -"Python can be initialized with :c:func:`Py_InitializeFromConfig` and the :c:" -"type:`PyConfig` structure. It can be preinitialized with :c:func:" -"`Py_PreInitialize` and the :c:type:`PyPreConfig` structure." +"Python can be initialized with :c:func:`Py_InitializeFromConfig` and " +"the :c:type:`PyConfig` structure. It can be preinitialized " +"with :c:func:`Py_PreInitialize` and the :c:type:`PyPreConfig` structure." msgstr "" "Python pode ser inicializado com :c:func:`Py_InitializeFromConfig` e a " -"estrutura :c:type:`PyConfig`. Pode ser pré-inicializado com :c:func:" -"`Py_PreInitialize` e a estrutura :c:type:`PyPreConfig`." +"estrutura :c:type:`PyConfig`. Pode ser pré-inicializado " +"com :c:func:`Py_PreInitialize` e a estrutura :c:type:`PyPreConfig`." #: ../../c-api/init_config.rst:15 msgid "There are two kinds of configuration:" @@ -114,23 +109,23 @@ msgstr "" "Se *length* é diferente de zero, *items* deve ser diferente de ``NULL`` e " "todas as strings devem ser diferentes de ``NULL``." -#: ../../c-api/init_config.rst:85 +#: ../../c-api/init_config.rst:87 msgid "Methods:" msgstr "Métodos:" -#: ../../c-api/init_config.rst:89 +#: ../../c-api/init_config.rst:91 msgid "Append *item* to *list*." msgstr "Anexa *item* a *list*." -#: ../../c-api/init_config.rst:91 ../../c-api/init_config.rst:102 +#: ../../c-api/init_config.rst:93 ../../c-api/init_config.rst:104 msgid "Python must be preinitialized to call this function." msgstr "Python deve ser inicializado previamente antes de chamar essa função." -#: ../../c-api/init_config.rst:95 +#: ../../c-api/init_config.rst:97 msgid "Insert *item* into *list* at *index*." msgstr "Insere *item* na *list* na posição *index*." -#: ../../c-api/init_config.rst:97 +#: ../../c-api/init_config.rst:99 msgid "" "If *index* is greater than or equal to *list* length, append *item* to " "*list*." @@ -138,79 +133,79 @@ msgstr "" "Se *index* for maior ou igual ao comprimento da *list*, anexa o *item* a " "*list*." -#: ../../c-api/init_config.rst:100 +#: ../../c-api/init_config.rst:102 msgid "*index* must be greater than or equal to ``0``." msgstr "*index* deve ser maior que ou igual a ``0``." -#: ../../c-api/init_config.rst:104 ../../c-api/init_config.rst:124 -#: ../../c-api/init_config.rst:225 ../../c-api/init_config.rst:530 +#: ../../c-api/init_config.rst:108 ../../c-api/init_config.rst:128 +#: ../../c-api/init_config.rst:235 ../../c-api/init_config.rst:544 msgid "Structure fields:" msgstr "Campos de estrutura:" -#: ../../c-api/init_config.rst:108 +#: ../../c-api/init_config.rst:112 msgid "List length." msgstr "Comprimento da lista." -#: ../../c-api/init_config.rst:112 +#: ../../c-api/init_config.rst:116 msgid "List items." msgstr "Itens da lista." -#: ../../c-api/init_config.rst:115 +#: ../../c-api/init_config.rst:119 msgid "PyStatus" msgstr "PyStatus" -#: ../../c-api/init_config.rst:119 +#: ../../c-api/init_config.rst:123 msgid "" "Structure to store an initialization function status: success, error or exit." msgstr "" "Estrutura para armazenar o status de uma função de inicialização: sucesso, " "erro ou saída." -#: ../../c-api/init_config.rst:122 +#: ../../c-api/init_config.rst:126 msgid "For an error, it can store the C function name which created the error." msgstr "Para um erro, ela pode armazenar o nome da função C que criou o erro." -#: ../../c-api/init_config.rst:128 +#: ../../c-api/init_config.rst:132 msgid "Exit code. Argument passed to ``exit()``." msgstr "Código de saída. Argumento passado para ``exit()``." -#: ../../c-api/init_config.rst:132 +#: ../../c-api/init_config.rst:136 msgid "Error message." msgstr "Mensagem de erro." -#: ../../c-api/init_config.rst:136 +#: ../../c-api/init_config.rst:140 msgid "Name of the function which created an error, can be ``NULL``." msgstr "Nome da função que criou um erro. Pode ser ``NULL``." -#: ../../c-api/init_config.rst:138 +#: ../../c-api/init_config.rst:144 msgid "Functions to create a status:" msgstr "Funções para criar um status:" -#: ../../c-api/init_config.rst:142 +#: ../../c-api/init_config.rst:148 msgid "Success." msgstr "Sucesso." -#: ../../c-api/init_config.rst:146 +#: ../../c-api/init_config.rst:152 msgid "Initialization error with a message." msgstr "Erro de inicialização com uma mensagem." -#: ../../c-api/init_config.rst:148 +#: ../../c-api/init_config.rst:154 msgid "*err_msg* must not be ``NULL``." msgstr "*err_msg* não deve ser ``NULL``." -#: ../../c-api/init_config.rst:152 +#: ../../c-api/init_config.rst:158 msgid "Memory allocation failure (out of memory)." msgstr "Falha de alocação de memória (sem memória)." -#: ../../c-api/init_config.rst:156 +#: ../../c-api/init_config.rst:162 msgid "Exit Python with the specified exit code." msgstr "Sai do Python com o código de saída especificado." -#: ../../c-api/init_config.rst:158 +#: ../../c-api/init_config.rst:164 msgid "Functions to handle a status:" msgstr "Funções para manipular um status:" -#: ../../c-api/init_config.rst:162 +#: ../../c-api/init_config.rst:168 msgid "" "Is the status an error or an exit? If true, the exception must be handled; " "by calling :c:func:`Py_ExitStatusException` for example." @@ -218,15 +213,15 @@ msgstr "" "O status é um erro ou uma saída? Se verdadeiro, a exceção deve ser tratada; " "chamando :c:func:`Py_ExitStatusException`, por exemplo." -#: ../../c-api/init_config.rst:167 +#: ../../c-api/init_config.rst:173 msgid "Is the result an error?" msgstr "O resultado é um erro?" -#: ../../c-api/init_config.rst:171 +#: ../../c-api/init_config.rst:177 msgid "Is the result an exit?" msgstr "O resultado é uma saída?" -#: ../../c-api/init_config.rst:175 +#: ../../c-api/init_config.rst:181 msgid "" "Call ``exit(exitcode)`` if *status* is an exit. Print the error message and " "exit with a non-zero exit code if *status* is an error. Must only be called " @@ -236,7 +231,7 @@ msgstr "" "e sai com um código de saída diferente de zero se *status* for um erro. Deve " "ser chamado apenas se ``PyStatus_Exception(status)`` for diferente de zero." -#: ../../c-api/init_config.rst:180 +#: ../../c-api/init_config.rst:186 msgid "" "Internally, Python uses macros which set ``PyStatus.func``, whereas " "functions to create a status set ``func`` to ``NULL``." @@ -244,23 +239,23 @@ msgstr "" "Internamente, Python usa macros que definem ``PyStatus.func``, enquanto " "funções para criar um status definem ``func`` para ``NULL``." -#: ../../c-api/init_config.rst:183 +#: ../../c-api/init_config.rst:189 msgid "Example::" msgstr "Exemplo::" -#: ../../c-api/init_config.rst:207 +#: ../../c-api/init_config.rst:213 msgid "PyPreConfig" msgstr "PyPreConfig" -#: ../../c-api/init_config.rst:211 +#: ../../c-api/init_config.rst:217 msgid "Structure used to preinitialize Python." msgstr "Estrutura usada para pré-inicializar o Python." -#: ../../c-api/init_config.rst:213 +#: ../../c-api/init_config.rst:221 msgid "Function to initialize a preconfiguration:" msgstr "A função para inicializar uma pré-configuração:" -#: ../../c-api/init_config.rst:217 +#: ../../c-api/init_config.rst:225 msgid "" "Initialize the preconfiguration with :ref:`Python Configuration `." @@ -268,7 +263,7 @@ msgstr "" "Inicializa a pré-configuração com :ref:`Configuração do Python `." -#: ../../c-api/init_config.rst:222 +#: ../../c-api/init_config.rst:230 msgid "" "Initialize the preconfiguration with :ref:`Isolated Configuration `." @@ -276,11 +271,11 @@ msgstr "" "Inicializa a pré-configuração com :ref:`Configuração isolada `." -#: ../../c-api/init_config.rst:229 +#: ../../c-api/init_config.rst:239 msgid "Name of the Python memory allocators:" msgstr "Nome de alocadores de memória em Python:" -#: ../../c-api/init_config.rst:231 +#: ../../c-api/init_config.rst:241 msgid "" "``PYMEM_ALLOCATOR_NOT_SET`` (``0``): don't change memory allocators (use " "defaults)." @@ -288,7 +283,7 @@ msgstr "" "``PYMEM_ALLOCATOR_NOT_SET`` (``0``): não altera os alocadores de memória " "(usa o padrão)." -#: ../../c-api/init_config.rst:233 +#: ../../c-api/init_config.rst:243 msgid "" "``PYMEM_ALLOCATOR_DEFAULT`` (``1``): :ref:`default memory allocators " "`." @@ -296,127 +291,150 @@ msgstr "" "``PYMEM_ALLOCATOR_DEFAULT`` (``1``): :ref:`alocadores de memória padrão " "`." -#: ../../c-api/init_config.rst:235 +#: ../../c-api/init_config.rst:245 msgid "" "``PYMEM_ALLOCATOR_DEBUG`` (``2``): :ref:`default memory allocators ` with :ref:`debug hooks `." msgstr "" +"``PYMEM_ALLOCATOR_DEBUG`` (``2``): :ref:`alocadores de memória padrão " +"` com :ref:`ganchos de depuração `." -#: ../../c-api/init_config.rst:238 +#: ../../c-api/init_config.rst:248 msgid "``PYMEM_ALLOCATOR_MALLOC`` (``3``): use ``malloc()`` of the C library." -msgstr "" +msgstr "``PYMEM_ALLOCATOR_MALLOC`` (``3``): usa ``malloc()`` da biblioteca C." -#: ../../c-api/init_config.rst:239 +#: ../../c-api/init_config.rst:249 msgid "" -"``PYMEM_ALLOCATOR_MALLOC_DEBUG`` (``4``): force usage of ``malloc()`` with :" -"ref:`debug hooks `." +"``PYMEM_ALLOCATOR_MALLOC_DEBUG`` (``4``): force usage of ``malloc()`` " +"with :ref:`debug hooks `." msgstr "" +"``PYMEM_ALLOCATOR_MALLOC_DEBUG`` (``4``): força uso de ``malloc()`` " +"com :ref:`ganchos de depuração `." -#: ../../c-api/init_config.rst:241 +#: ../../c-api/init_config.rst:251 msgid "" "``PYMEM_ALLOCATOR_PYMALLOC`` (``5``): :ref:`Python pymalloc memory allocator " "`." msgstr "" +"``PYMEM_ALLOCATOR_PYMALLOC`` (``5``): :ref:`alocador de memória do Python " +"pymalloc `." -#: ../../c-api/init_config.rst:243 +#: ../../c-api/init_config.rst:253 msgid "" "``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` (``6``): :ref:`Python pymalloc memory " "allocator ` with :ref:`debug hooks `." msgstr "" +"``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` (``6``): :ref:`alocador de memória deo " +"Python pymalloc ` com :ref:`ganchos de depuração `." -#: ../../c-api/init_config.rst:247 +#: ../../c-api/init_config.rst:257 msgid "" "``PYMEM_ALLOCATOR_PYMALLOC`` and ``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` are not " "supported if Python is :option:`configured using --without-pymalloc <--" "without-pymalloc>`." msgstr "" +"``PYMEM_ALLOCATOR_PYMALLOC`` e ``PYMEM_ALLOCATOR_PYMALLOC_DEBUG`` não são " +"suportados se o Python estiver :option:`configurado usando --without-" +"pymalloc <--without-pymalloc>`." -#: ../../c-api/init_config.rst:251 +#: ../../c-api/init_config.rst:261 msgid "See :ref:`Memory Management `." msgstr "Veja :ref:`Gerenciamento de memória `." -#: ../../c-api/init_config.rst:253 +#: ../../c-api/init_config.rst:263 msgid "Default: ``PYMEM_ALLOCATOR_NOT_SET``." msgstr "Padrão: ``PYMEM_ALLOCATOR_NOT_SET``." -#: ../../c-api/init_config.rst:257 +#: ../../c-api/init_config.rst:267 msgid "Set the LC_CTYPE locale to the user preferred locale." -msgstr "" +msgstr "Define a localidade LC_CTYPE para a localidade preferida do usuário." -#: ../../c-api/init_config.rst:259 +#: ../../c-api/init_config.rst:269 msgid "" -"If equals to ``0``, set :c:member:`~PyPreConfig.coerce_c_locale` and :c:" -"member:`~PyPreConfig.coerce_c_locale_warn` members to ``0``." +"If equals to ``0``, set :c:member:`~PyPreConfig.coerce_c_locale` " +"and :c:member:`~PyPreConfig.coerce_c_locale_warn` members to ``0``." msgstr "" +"Se igual a ``0``, define os membros :c:member:`~PyPreConfig.coerce_c_locale` " +"e :c:member:`~PyPreConfig.coerce_c_locale_warn` para ``0``." -#: ../../c-api/init_config.rst:262 ../../c-api/init_config.rst:273 +#: ../../c-api/init_config.rst:272 ../../c-api/init_config.rst:283 msgid "See the :term:`locale encoding`." -msgstr "" +msgstr "Veja a :term:`codificação da localidade`." -#: ../../c-api/init_config.rst:264 ../../c-api/init_config.rst:319 -#: ../../c-api/init_config.rst:670 +#: ../../c-api/init_config.rst:274 ../../c-api/init_config.rst:329 +#: ../../c-api/init_config.rst:684 msgid "Default: ``1`` in Python config, ``0`` in isolated config." msgstr "" +"Padrão: ``1`` na configuração do Python, ``0`` na configuração isolada." -#: ../../c-api/init_config.rst:268 +#: ../../c-api/init_config.rst:278 msgid "If equals to ``2``, coerce the C locale." -msgstr "" +msgstr "Se igual a ``2``, força a localidade para C." -#: ../../c-api/init_config.rst:270 +#: ../../c-api/init_config.rst:280 msgid "" "If equals to ``1``, read the LC_CTYPE locale to decide if it should be " "coerced." msgstr "" +"Se for igual a ``1``, lê a localidade LC_CTYPE para decidir se deve ser " +"forçado." -#: ../../c-api/init_config.rst:275 ../../c-api/init_config.rst:281 +#: ../../c-api/init_config.rst:285 ../../c-api/init_config.rst:291 msgid "Default: ``-1`` in Python config, ``0`` in isolated config." msgstr "" +"Padrão: ``-1`` na configuração do Python, ``0`` na configuração isolada." -#: ../../c-api/init_config.rst:279 +#: ../../c-api/init_config.rst:289 msgid "If non-zero, emit a warning if the C locale is coerced." msgstr "Se diferente de zero, emite um aviso se a localidade C for forçada." -#: ../../c-api/init_config.rst:285 +#: ../../c-api/init_config.rst:295 msgid "" ":ref:`Python Development Mode `: see :c:member:`PyConfig.dev_mode`." msgstr "" +":ref:`Modo de desenvolvimento do Python `: " +"veja :c:member:`PyConfig.dev_mode`." -#: ../../c-api/init_config.rst:288 ../../c-api/init_config.rst:679 -#: ../../c-api/init_config.rst:721 ../../c-api/init_config.rst:1150 +#: ../../c-api/init_config.rst:298 ../../c-api/init_config.rst:693 +#: ../../c-api/init_config.rst:735 ../../c-api/init_config.rst:1164 msgid "Default: ``-1`` in Python mode, ``0`` in isolated mode." -msgstr "" +msgstr "Padrão: ``-1`` no modo do Python, ``0`` no modo isolado." -#: ../../c-api/init_config.rst:292 +#: ../../c-api/init_config.rst:302 msgid "Isolated mode: see :c:member:`PyConfig.isolated`." -msgstr "" +msgstr "Modo isolado: veja :c:member:`PyConfig.isolated`." -#: ../../c-api/init_config.rst:294 ../../c-api/init_config.rst:846 +#: ../../c-api/init_config.rst:304 ../../c-api/init_config.rst:860 msgid "Default: ``0`` in Python mode, ``1`` in isolated mode." -msgstr "" +msgstr "Padrão: ``0`` no modo do Python, ``1`` no modo isolado." -#: ../../c-api/init_config.rst:298 +#: ../../c-api/init_config.rst:308 msgid "If non-zero:" -msgstr "" +msgstr "Se não zero:" -#: ../../c-api/init_config.rst:300 +#: ../../c-api/init_config.rst:310 msgid "Set :c:member:`PyPreConfig.utf8_mode` to ``0``," -msgstr "" +msgstr "Define :c:member:`PyPreConfig.utf8_mode` para ``0``," -#: ../../c-api/init_config.rst:301 +#: ../../c-api/init_config.rst:311 msgid "Set :c:member:`PyConfig.filesystem_encoding` to ``\"mbcs\"``," -msgstr "" +msgstr "Define :c:member:`PyConfig.filesystem_encoding` para ``\"mbcs\"``," -#: ../../c-api/init_config.rst:302 +#: ../../c-api/init_config.rst:312 msgid "Set :c:member:`PyConfig.filesystem_errors` to ``\"replace\"``." -msgstr "" +msgstr "Define :c:member:`PyConfig.filesystem_errors` para ``\"replace\"``." -#: ../../c-api/init_config.rst:304 +#: ../../c-api/init_config.rst:314 msgid "" "Initialized the from :envvar:`PYTHONLEGACYWINDOWSFSENCODING` environment " "variable value." msgstr "" +"Inicializado a partir do valor da variável de " +"ambiente :envvar:`PYTHONLEGACYWINDOWSFSENCODING`." -#: ../../c-api/init_config.rst:307 ../../c-api/init_config.rst:859 +#: ../../c-api/init_config.rst:317 ../../c-api/init_config.rst:873 msgid "" "Only available on Windows. ``#ifdef MS_WINDOWS`` macro can be used for " "Windows specific code." @@ -424,692 +442,734 @@ msgstr "" "Disponível apenas no Windows. A macro ``#ifdef MS_WINDOWS`` pode ser usada " "para código específico do Windows." -#: ../../c-api/init_config.rst:310 ../../c-api/init_config.rst:618 -#: ../../c-api/init_config.rst:625 ../../c-api/init_config.rst:692 -#: ../../c-api/init_config.rst:801 ../../c-api/init_config.rst:815 -#: ../../c-api/init_config.rst:829 ../../c-api/init_config.rst:862 -#: ../../c-api/init_config.rst:876 ../../c-api/init_config.rst:936 -#: ../../c-api/init_config.rst:985 ../../c-api/init_config.rst:1045 -#: ../../c-api/init_config.rst:1085 ../../c-api/init_config.rst:1114 -#: ../../c-api/init_config.rst:1187 +#: ../../c-api/init_config.rst:320 ../../c-api/init_config.rst:632 +#: ../../c-api/init_config.rst:639 ../../c-api/init_config.rst:706 +#: ../../c-api/init_config.rst:815 ../../c-api/init_config.rst:829 +#: ../../c-api/init_config.rst:843 ../../c-api/init_config.rst:876 +#: ../../c-api/init_config.rst:890 ../../c-api/init_config.rst:950 +#: ../../c-api/init_config.rst:999 ../../c-api/init_config.rst:1059 +#: ../../c-api/init_config.rst:1099 ../../c-api/init_config.rst:1128 +#: ../../c-api/init_config.rst:1201 msgid "Default: ``0``." msgstr "Padrão: ``0``." -#: ../../c-api/init_config.rst:314 +#: ../../c-api/init_config.rst:324 msgid "" -"If non-zero, :c:func:`Py_PreInitializeFromArgs` and :c:func:" -"`Py_PreInitializeFromBytesArgs` parse their ``argv`` argument the same way " -"the regular Python parses command line arguments: see :ref:`Command Line " -"Arguments `." +"If non-zero, :c:func:`Py_PreInitializeFromArgs` " +"and :c:func:`Py_PreInitializeFromBytesArgs` parse their ``argv`` argument " +"the same way the regular Python parses command line arguments: " +"see :ref:`Command Line Arguments `." msgstr "" -"Se diferente de zero, :c:func:`Py_PreInitializeFromArgs` e :c:func:" -"`Py_PreInitializeFromBytesArgs` analisam seu argumento ``argv`` da mesma " -"forma que o Python regular analisa argumentos de linha de comando: vej :ref:" -"`Argumentos de linha de comando `." +"Se diferente de zero, :c:func:`Py_PreInitializeFromArgs` " +"e :c:func:`Py_PreInitializeFromBytesArgs` analisam seu argumento ``argv`` da " +"mesma forma que o Python regular analisa argumentos de linha de comando: " +"veja :ref:`Argumentos de linha de comando `." -#: ../../c-api/init_config.rst:323 +#: ../../c-api/init_config.rst:333 msgid "" -"Use :ref:`environment variables `? See :c:member:`PyConfig." -"use_environment`." +"Use :ref:`environment variables `? " +"See :c:member:`PyConfig.use_environment`." msgstr "" +"Usar :ref:`variáveis de ambiente `? " +"Veja :c:member:`PyConfig.use_environment`." -#: ../../c-api/init_config.rst:326 ../../c-api/init_config.rst:1161 +#: ../../c-api/init_config.rst:336 ../../c-api/init_config.rst:1175 msgid "Default: ``1`` in Python config and ``0`` in isolated config." msgstr "" +"Padrão: ``1`` na configuração do Python e ``0`` na configuração isolada." -#: ../../c-api/init_config.rst:330 +#: ../../c-api/init_config.rst:340 msgid "If non-zero, enable the :ref:`Python UTF-8 Mode `." -msgstr "" +msgstr "Se não zero, habilita o :ref:`modo UTF-8 do Python `." -#: ../../c-api/init_config.rst:332 +#: ../../c-api/init_config.rst:342 msgid "" "Set to ``0`` or ``1`` by the :option:`-X utf8 <-X>` command line option and " "the :envvar:`PYTHONUTF8` environment variable." msgstr "" +"Define para ``0`` ou ``1`` pela opção de linha de comando :option:`-X utf8 <-" +"X>` e a variável de ambiente :envvar:`PYTHONUTF8`." -#: ../../c-api/init_config.rst:335 +#: ../../c-api/init_config.rst:345 msgid "Also set to ``1`` if the ``LC_CTYPE`` locale is ``C`` or ``POSIX``." msgstr "" +"Também define como ``1`` se a localidade ``LC_CTYPE`` for ``C`` ou ``POSIX``." -#: ../../c-api/init_config.rst:337 +#: ../../c-api/init_config.rst:347 msgid "Default: ``-1`` in Python config and ``0`` in isolated config." msgstr "" +"Padrão: ``-1`` na configuração do Python e ``0`` na configuração isolada." -#: ../../c-api/init_config.rst:343 +#: ../../c-api/init_config.rst:353 msgid "Preinitialize Python with PyPreConfig" -msgstr "" +msgstr "Pré-inicializar Python com PyPreConfig" -#: ../../c-api/init_config.rst:345 +#: ../../c-api/init_config.rst:355 msgid "The preinitialization of Python:" -msgstr "" +msgstr "A pré-inicialização do Python:" -#: ../../c-api/init_config.rst:347 +#: ../../c-api/init_config.rst:357 msgid "Set the Python memory allocators (:c:member:`PyPreConfig.allocator`)" msgstr "" +"Define os alocadores de memória Python (:c:member:`PyPreConfig.allocator`)" -#: ../../c-api/init_config.rst:348 +#: ../../c-api/init_config.rst:358 msgid "Configure the LC_CTYPE locale (:term:`locale encoding`)" -msgstr "" +msgstr "Configura a localidade LC_CTYPE (:term:`codificação da localidade`)" -#: ../../c-api/init_config.rst:349 +#: ../../c-api/init_config.rst:359 msgid "" -"Set the :ref:`Python UTF-8 Mode ` (:c:member:`PyPreConfig." -"utf8_mode`)" +"Set the :ref:`Python UTF-8 Mode ` " +"(:c:member:`PyPreConfig.utf8_mode`)" msgstr "" +"Define o :ref:`Modo UTF-8 do Python ` " +"(:c:member:`PyPreConfig.utf8_mode`)" -#: ../../c-api/init_config.rst:352 +#: ../../c-api/init_config.rst:362 msgid "" "The current preconfiguration (``PyPreConfig`` type) is stored in " "``_PyRuntime.preconfig``." msgstr "" +"A pré-configuração atual (tipo ``PyPreConfig``) é armazenada em " +"``_PyRuntime.preconfig``." -#: ../../c-api/init_config.rst:355 +#: ../../c-api/init_config.rst:365 msgid "Functions to preinitialize Python:" -msgstr "" +msgstr "Funções para pré-inicializar Python:" -#: ../../c-api/init_config.rst:359 ../../c-api/init_config.rst:365 -#: ../../c-api/init_config.rst:374 +#: ../../c-api/init_config.rst:369 ../../c-api/init_config.rst:375 +#: ../../c-api/init_config.rst:384 msgid "Preinitialize Python from *preconfig* preconfiguration." -msgstr "" +msgstr "Pré-inicializa o Python a partir da pré-configuração *preconfig*." -#: ../../c-api/init_config.rst:361 ../../c-api/init_config.rst:370 -#: ../../c-api/init_config.rst:379 +#: ../../c-api/init_config.rst:371 ../../c-api/init_config.rst:380 +#: ../../c-api/init_config.rst:389 msgid "*preconfig* must not be ``NULL``." -msgstr "" +msgstr "*preconfig* não pode ser ``NULL``.." -#: ../../c-api/init_config.rst:367 +#: ../../c-api/init_config.rst:377 msgid "" -"Parse *argv* command line arguments (bytes strings) if :c:member:" -"`~PyPreConfig.parse_argv` of *preconfig* is non-zero." +"Parse *argv* command line arguments (bytes strings) " +"if :c:member:`~PyPreConfig.parse_argv` of *preconfig* is non-zero." msgstr "" +"Analisa argumentos de linha de comando *argv* (strings de bytes) " +"se :c:member:`~PyPreConfig.parse_argv` de *preconfig* for diferente de zero." -#: ../../c-api/init_config.rst:376 +#: ../../c-api/init_config.rst:386 msgid "" -"Parse *argv* command line arguments (wide strings) if :c:member:" -"`~PyPreConfig.parse_argv` of *preconfig* is non-zero." +"Parse *argv* command line arguments (wide strings) " +"if :c:member:`~PyPreConfig.parse_argv` of *preconfig* is non-zero." msgstr "" +"Analisa argumentos de linha de comando *argv* (strings largas) " +"se :c:member:`~PyPreConfig.parse_argv` de *preconfig* for diferente de zero." -#: ../../c-api/init_config.rst:381 ../../c-api/init_config.rst:1249 +#: ../../c-api/init_config.rst:391 ../../c-api/init_config.rst:1263 msgid "" -"The caller is responsible to handle exceptions (error or exit) using :c:func:" -"`PyStatus_Exception` and :c:func:`Py_ExitStatusException`." +"The caller is responsible to handle exceptions (error or exit) " +"using :c:func:`PyStatus_Exception` and :c:func:`Py_ExitStatusException`." msgstr "" +"O chamador é responsável por manipular exceções (erro ou saída) " +"usando :c:func:`PyStatus_Exception` e :c:func:`Py_ExitStatusException`." -#: ../../c-api/init_config.rst:384 +#: ../../c-api/init_config.rst:394 msgid "" -"For :ref:`Python Configuration ` (:c:func:" -"`PyPreConfig_InitPythonConfig`), if Python is initialized with command line " -"arguments, the command line arguments must also be passed to preinitialize " -"Python, since they have an effect on the pre-configuration like encodings. " -"For example, the :option:`-X utf8 <-X>` command line option enables the :ref:" -"`Python UTF-8 Mode `." +"For :ref:`Python Configuration ` " +"(:c:func:`PyPreConfig_InitPythonConfig`), if Python is initialized with " +"command line arguments, the command line arguments must also be passed to " +"preinitialize Python, since they have an effect on the pre-configuration " +"like encodings. For example, the :option:`-X utf8 <-X>` command line option " +"enables the :ref:`Python UTF-8 Mode `." msgstr "" +"Para :ref:`configuração do Python ` " +"(:c:func:`PyPreConfig_InitPythonConfig`), se o Python for inicializado com " +"argumentos de linha de comando, os argumentos de linha de comando também " +"devem ser passados para pré-inicializar o Python, pois eles têm um efeito na " +"pré-configuração como codificações. Por exemplo, a opção de linha de " +"comando :option:`-X utf8 <-X>` habilita o :ref:`Modo UTF-8 do Python `." -#: ../../c-api/init_config.rst:391 +#: ../../c-api/init_config.rst:401 msgid "" "``PyMem_SetAllocator()`` can be called after :c:func:`Py_PreInitialize` and " "before :c:func:`Py_InitializeFromConfig` to install a custom memory " -"allocator. It can be called before :c:func:`Py_PreInitialize` if :c:member:" -"`PyPreConfig.allocator` is set to ``PYMEM_ALLOCATOR_NOT_SET``." +"allocator. It can be called before :c:func:`Py_PreInitialize` " +"if :c:member:`PyPreConfig.allocator` is set to ``PYMEM_ALLOCATOR_NOT_SET``." msgstr "" +"``PyMem_SetAllocator()`` pode ser chamado depois " +"de :c:func:`Py_PreInitialize` e antes de :c:func:`Py_InitializeFromConfig` " +"para instalar um alocador de memória personalizado. Ele pode ser chamado " +"antes de :c:func:`Py_PreInitialize` se :c:member:`PyPreConfig.allocator` " +"estiver definido como ``PYMEM_ALLOCATOR_NOT_SET``." -#: ../../c-api/init_config.rst:396 +#: ../../c-api/init_config.rst:406 msgid "" "Python memory allocation functions like :c:func:`PyMem_RawMalloc` must not " "be used before the Python preinitialization, whereas calling directly " "``malloc()`` and ``free()`` is always safe. :c:func:`Py_DecodeLocale` must " "not be called before the Python preinitialization." msgstr "" +"Funções de alocação de memória do Python como :c:func:`PyMem_RawMalloc` não " +"devem ser usadas antes da pré-inicialização do Python, enquanto chamar " +"diretamente ``malloc()`` e ``free()`` é sempre " +"seguro. :c:func:`Py_DecodeLocale` não deve ser chamado antes da pré-" +"inicialização do Python." -#: ../../c-api/init_config.rst:401 +#: ../../c-api/init_config.rst:411 msgid "" "Example using the preinitialization to enable the :ref:`Python UTF-8 Mode " "`::" msgstr "" +"Exemplo usando a pré-inicialização para habilitar o :ref:`modo UTF-8 do " +"Python `." -#: ../../c-api/init_config.rst:423 +#: ../../c-api/init_config.rst:433 msgid "PyConfig" msgstr "PyConfig" -#: ../../c-api/init_config.rst:427 +#: ../../c-api/init_config.rst:437 msgid "Structure containing most parameters to configure Python." -msgstr "" +msgstr "Estrutura contendo a maioria dos parâmetros para configurar o Python." -#: ../../c-api/init_config.rst:429 +#: ../../c-api/init_config.rst:439 msgid "" "When done, the :c:func:`PyConfig_Clear` function must be used to release the " "configuration memory." msgstr "" +"Ao terminar, a função :c:func:`PyConfig_Clear` deve ser usada para liberar a " +"memória de configuração." -#: ../../c-api/init_config.rst:432 +#: ../../c-api/init_config.rst:444 msgid "Structure methods:" msgstr "" -#: ../../c-api/init_config.rst:436 +#: ../../c-api/init_config.rst:448 msgid "" "Initialize configuration with the :ref:`Python Configuration `." msgstr "" -#: ../../c-api/init_config.rst:441 +#: ../../c-api/init_config.rst:453 msgid "" "Initialize configuration with the :ref:`Isolated Configuration `." msgstr "" -#: ../../c-api/init_config.rst:446 +#: ../../c-api/init_config.rst:458 msgid "Copy the wide character string *str* into ``*config_str``." msgstr "" -#: ../../c-api/init_config.rst:448 ../../c-api/init_config.rst:455 -#: ../../c-api/init_config.rst:462 ../../c-api/init_config.rst:470 -#: ../../c-api/init_config.rst:476 ../../c-api/init_config.rst:493 +#: ../../c-api/init_config.rst:460 ../../c-api/init_config.rst:467 +#: ../../c-api/init_config.rst:474 ../../c-api/init_config.rst:482 +#: ../../c-api/init_config.rst:488 ../../c-api/init_config.rst:505 msgid ":ref:`Preinitialize Python ` if needed." msgstr "" -#: ../../c-api/init_config.rst:452 +#: ../../c-api/init_config.rst:464 msgid "" "Decode *str* using :c:func:`Py_DecodeLocale` and set the result into " "``*config_str``." msgstr "" -#: ../../c-api/init_config.rst:459 +#: ../../c-api/init_config.rst:471 msgid "" "Set command line arguments (:c:member:`~PyConfig.argv` member of *config*) " "from the *argv* list of wide character strings." msgstr "" -#: ../../c-api/init_config.rst:466 +#: ../../c-api/init_config.rst:478 msgid "" "Set command line arguments (:c:member:`~PyConfig.argv` member of *config*) " -"from the *argv* list of bytes strings. Decode bytes using :c:func:" -"`Py_DecodeLocale`." +"from the *argv* list of bytes strings. Decode bytes " +"using :c:func:`Py_DecodeLocale`." msgstr "" -#: ../../c-api/init_config.rst:474 +#: ../../c-api/init_config.rst:486 msgid "Set the list of wide strings *list* to *length* and *items*." msgstr "" -#: ../../c-api/init_config.rst:480 +#: ../../c-api/init_config.rst:492 msgid "Read all Python configuration." -msgstr "" +msgstr "Lê toda a configuração do Python." -#: ../../c-api/init_config.rst:482 +#: ../../c-api/init_config.rst:494 msgid "Fields which are already initialized are left unchanged." -msgstr "" +msgstr "Campos que já estão inicializados permanecem inalterados." -#: ../../c-api/init_config.rst:484 +#: ../../c-api/init_config.rst:496 msgid "" "Fields for :ref:`path configuration ` are no longer " "calculated or modified when calling this function, as of Python 3.11." msgstr "" -#: ../../c-api/init_config.rst:487 ../../c-api/init_config.rst:965 +#: ../../c-api/init_config.rst:499 ../../c-api/init_config.rst:979 msgid "" "The :c:func:`PyConfig_Read` function only parses :c:member:`PyConfig.argv` " "arguments once: :c:member:`PyConfig.parse_argv` is set to ``2`` after " -"arguments are parsed. Since Python arguments are strippped from :c:member:" -"`PyConfig.argv`, parsing arguments twice would parse the application options " -"as Python options." +"arguments are parsed. Since Python arguments are strippped " +"from :c:member:`PyConfig.argv`, parsing arguments twice would parse the " +"application options as Python options." msgstr "" -#: ../../c-api/init_config.rst:495 +#: ../../c-api/init_config.rst:507 msgid "" -"The :c:member:`PyConfig.argv` arguments are now only parsed once, :c:member:" -"`PyConfig.parse_argv` is set to ``2`` after arguments are parsed, and " -"arguments are only parsed if :c:member:`PyConfig.parse_argv` equals ``1``." +"The :c:member:`PyConfig.argv` arguments are now only parsed " +"once, :c:member:`PyConfig.parse_argv` is set to ``2`` after arguments are " +"parsed, and arguments are only parsed if :c:member:`PyConfig.parse_argv` " +"equals ``1``." msgstr "" -#: ../../c-api/init_config.rst:501 +#: ../../c-api/init_config.rst:513 msgid "" ":c:func:`PyConfig_Read` no longer calculates all paths, and so fields listed " "under :ref:`Python Path Configuration ` may no longer be " "updated until :c:func:`Py_InitializeFromConfig` is called." msgstr "" -#: ../../c-api/init_config.rst:509 +#: ../../c-api/init_config.rst:521 msgid "Release configuration memory." -msgstr "" +msgstr "Libera memória de configuração." -#: ../../c-api/init_config.rst:511 +#: ../../c-api/init_config.rst:523 msgid "" "Most ``PyConfig`` methods :ref:`preinitialize Python ` if needed. " -"In that case, the Python preinitialization configuration (:c:type:" -"`PyPreConfig`) in based on the :c:type:`PyConfig`. If configuration fields " -"which are in common with :c:type:`PyPreConfig` are tuned, they must be set " -"before calling a :c:type:`PyConfig` method:" +"In that case, the Python preinitialization configuration " +"(:c:type:`PyPreConfig`) in based on the :c:type:`PyConfig`. If configuration " +"fields which are in common with :c:type:`PyPreConfig` are tuned, they must " +"be set before calling a :c:type:`PyConfig` method:" msgstr "" -#: ../../c-api/init_config.rst:517 +#: ../../c-api/init_config.rst:529 msgid ":c:member:`PyConfig.dev_mode`" -msgstr "" +msgstr ":c:member:`PyConfig.dev_mode`" -#: ../../c-api/init_config.rst:518 +#: ../../c-api/init_config.rst:530 msgid ":c:member:`PyConfig.isolated`" -msgstr "" +msgstr ":c:member:`PyConfig.isolated`" -#: ../../c-api/init_config.rst:519 +#: ../../c-api/init_config.rst:531 msgid ":c:member:`PyConfig.parse_argv`" -msgstr "" +msgstr ":c:member:`PyConfig.parse_argv`" -#: ../../c-api/init_config.rst:520 +#: ../../c-api/init_config.rst:532 msgid ":c:member:`PyConfig.use_environment`" -msgstr "" +msgstr ":c:member:`PyConfig.use_environment`" -#: ../../c-api/init_config.rst:522 +#: ../../c-api/init_config.rst:534 msgid "" "Moreover, if :c:func:`PyConfig_SetArgv` or :c:func:`PyConfig_SetBytesArgv` " "is used, this method must be called before other methods, since the " -"preinitialization configuration depends on command line arguments (if :c:" -"member:`parse_argv` is non-zero)." +"preinitialization configuration depends on command line arguments " +"(if :c:member:`~PyConfig.parse_argv` is non-zero)." msgstr "" -#: ../../c-api/init_config.rst:527 +#: ../../c-api/init_config.rst:539 msgid "" "The caller of these methods is responsible to handle exceptions (error or " "exit) using ``PyStatus_Exception()`` and ``Py_ExitStatusException()``." msgstr "" -#: ../../c-api/init_config.rst:534 +#: ../../c-api/init_config.rst:548 msgid "Command line arguments: :data:`sys.argv`." msgstr "" -#: ../../c-api/init_config.rst:536 +#: ../../c-api/init_config.rst:550 msgid "" -"Set :c:member:`~PyConfig.parse_argv` to ``1`` to parse :c:member:`~PyConfig." -"argv` the same way the regular Python parses Python command line arguments " -"and then to strip Python arguments from :c:member:`~PyConfig.argv`." +"Set :c:member:`~PyConfig.parse_argv` to ``1`` to " +"parse :c:member:`~PyConfig.argv` the same way the regular Python parses " +"Python command line arguments and then to strip Python arguments " +"from :c:member:`~PyConfig.argv`." msgstr "" -#: ../../c-api/init_config.rst:541 +#: ../../c-api/init_config.rst:555 msgid "" "If :c:member:`~PyConfig.argv` is empty, an empty string is added to ensure " "that :data:`sys.argv` always exists and is never empty." msgstr "" -#: ../../c-api/init_config.rst:544 ../../c-api/init_config.rst:571 -#: ../../c-api/init_config.rst:583 ../../c-api/init_config.rst:591 -#: ../../c-api/init_config.rst:699 ../../c-api/init_config.rst:708 -#: ../../c-api/init_config.rst:790 ../../c-api/init_config.rst:906 -#: ../../c-api/init_config.rst:1004 ../../c-api/init_config.rst:1022 -#: ../../c-api/init_config.rst:1036 ../../c-api/init_config.rst:1053 -#: ../../c-api/init_config.rst:1066 ../../c-api/init_config.rst:1074 +#: ../../c-api/init_config.rst:558 ../../c-api/init_config.rst:585 +#: ../../c-api/init_config.rst:597 ../../c-api/init_config.rst:605 +#: ../../c-api/init_config.rst:713 ../../c-api/init_config.rst:722 +#: ../../c-api/init_config.rst:804 ../../c-api/init_config.rst:920 +#: ../../c-api/init_config.rst:1018 ../../c-api/init_config.rst:1036 +#: ../../c-api/init_config.rst:1050 ../../c-api/init_config.rst:1067 +#: ../../c-api/init_config.rst:1080 ../../c-api/init_config.rst:1088 msgid "Default: ``NULL``." msgstr "Padrão: ``NULL``." -#: ../../c-api/init_config.rst:546 +#: ../../c-api/init_config.rst:560 msgid "See also the :c:member:`~PyConfig.orig_argv` member." msgstr "" -#: ../../c-api/init_config.rst:550 +#: ../../c-api/init_config.rst:564 msgid "" -"If equals to zero, ``Py_RunMain()`` prepends a potentially unsafe path to :" -"data:`sys.path` at startup:" +"If equals to zero, ``Py_RunMain()`` prepends a potentially unsafe path " +"to :data:`sys.path` at startup:" msgstr "" -#: ../../c-api/init_config.rst:553 +#: ../../c-api/init_config.rst:567 msgid "" "If :c:member:`argv[0] ` is equal to ``L\"-m\"`` (``python -m " "module``), prepend the current working directory." msgstr "" -#: ../../c-api/init_config.rst:555 +#: ../../c-api/init_config.rst:569 msgid "" "If running a script (``python script.py``), prepend the script's directory. " "If it's a symbolic link, resolve symbolic links." msgstr "" -#: ../../c-api/init_config.rst:557 +#: ../../c-api/init_config.rst:571 msgid "" "Otherwise (``python -c code`` and ``python``), prepend an empty string, " "which means the current working directory." msgstr "" -#: ../../c-api/init_config.rst:560 +#: ../../c-api/init_config.rst:574 msgid "" -"Set to ``1`` by the :option:`-P` command line option and the :envvar:" -"`PYTHONSAFEPATH` environment variable." +"Set to ``1`` by the :option:`-P` command line option and " +"the :envvar:`PYTHONSAFEPATH` environment variable." msgstr "" -#: ../../c-api/init_config.rst:563 +#: ../../c-api/init_config.rst:577 msgid "Default: ``0`` in Python config, ``1`` in isolated config." msgstr "" -#: ../../c-api/init_config.rst:569 +#: ../../c-api/init_config.rst:583 msgid ":data:`sys.base_exec_prefix`." -msgstr "" +msgstr ":data:`sys.base_exec_prefix`." -#: ../../c-api/init_config.rst:573 ../../c-api/init_config.rst:585 -#: ../../c-api/init_config.rst:593 ../../c-api/init_config.rst:701 -#: ../../c-api/init_config.rst:710 ../../c-api/init_config.rst:923 -#: ../../c-api/init_config.rst:1006 +#: ../../c-api/init_config.rst:587 ../../c-api/init_config.rst:599 +#: ../../c-api/init_config.rst:607 ../../c-api/init_config.rst:715 +#: ../../c-api/init_config.rst:724 ../../c-api/init_config.rst:937 +#: ../../c-api/init_config.rst:1020 msgid "Part of the :ref:`Python Path Configuration ` output." msgstr "" -#: ../../c-api/init_config.rst:577 +#: ../../c-api/init_config.rst:591 msgid "Python base executable: :data:`sys._base_executable`." msgstr "" -#: ../../c-api/init_config.rst:579 +#: ../../c-api/init_config.rst:593 msgid "Set by the :envvar:`__PYVENV_LAUNCHER__` environment variable." msgstr "" -#: ../../c-api/init_config.rst:581 +#: ../../c-api/init_config.rst:595 msgid "Set from :c:member:`PyConfig.executable` if ``NULL``." msgstr "" -#: ../../c-api/init_config.rst:589 +#: ../../c-api/init_config.rst:603 msgid ":data:`sys.base_prefix`." msgstr ":data:`sys.base_prefix`." -#: ../../c-api/init_config.rst:597 +#: ../../c-api/init_config.rst:611 msgid "" "If equals to ``0`` and :c:member:`~PyConfig.configure_c_stdio` is non-zero, " "disable buffering on the C streams stdout and stderr." msgstr "" -#: ../../c-api/init_config.rst:600 +#: ../../c-api/init_config.rst:614 msgid "" -"Set to ``0`` by the :option:`-u` command line option and the :envvar:" -"`PYTHONUNBUFFERED` environment variable." +"Set to ``0`` by the :option:`-u` command line option and " +"the :envvar:`PYTHONUNBUFFERED` environment variable." msgstr "" -#: ../../c-api/init_config.rst:603 +#: ../../c-api/init_config.rst:617 msgid "stdin is always opened in buffered mode." msgstr "" -#: ../../c-api/init_config.rst:605 ../../c-api/init_config.rst:638 -#: ../../c-api/init_config.rst:1102 ../../c-api/init_config.rst:1219 +#: ../../c-api/init_config.rst:619 ../../c-api/init_config.rst:652 +#: ../../c-api/init_config.rst:1116 ../../c-api/init_config.rst:1233 msgid "Default: ``1``." msgstr "Padrão: ``1``." -#: ../../c-api/init_config.rst:609 +#: ../../c-api/init_config.rst:623 msgid "" -"If equals to ``1``, issue a warning when comparing :class:`bytes` or :class:" -"`bytearray` with :class:`str`, or comparing :class:`bytes` with :class:`int`." +"If equals to ``1``, issue a warning when comparing :class:`bytes` " +"or :class:`bytearray` with :class:`str`, or comparing :class:`bytes` " +"with :class:`int`." msgstr "" -#: ../../c-api/init_config.rst:613 +#: ../../c-api/init_config.rst:627 msgid "" "If equal or greater to ``2``, raise a :exc:`BytesWarning` exception in these " "cases." msgstr "" -#: ../../c-api/init_config.rst:616 +#: ../../c-api/init_config.rst:630 msgid "Incremented by the :option:`-b` command line option." msgstr "" -#: ../../c-api/init_config.rst:622 +#: ../../c-api/init_config.rst:636 msgid "" -"If non-zero, emit a :exc:`EncodingWarning` warning when :class:`io." -"TextIOWrapper` uses its default encoding. See :ref:`io-encoding-warning` for " -"details." +"If non-zero, emit a :exc:`EncodingWarning` warning " +"when :class:`io.TextIOWrapper` uses its default encoding. See :ref:`io-" +"encoding-warning` for details." msgstr "" -#: ../../c-api/init_config.rst:631 +#: ../../c-api/init_config.rst:645 msgid "" "If equals to ``0``, disables the inclusion of the end line and column " "mappings in code objects. Also disables traceback printing carets to " "specific error locations." msgstr "" -#: ../../c-api/init_config.rst:635 +#: ../../c-api/init_config.rst:649 msgid "" "Set to ``0`` by the :envvar:`PYTHONNODEBUGRANGES` environment variable and " "by the :option:`-X no_debug_ranges <-X>` command line option." msgstr "" -#: ../../c-api/init_config.rst:644 +#: ../../c-api/init_config.rst:658 msgid "" -"Control the validation behavior of hash-based ``.pyc`` files: value of the :" -"option:`--check-hash-based-pycs` command line option." +"Control the validation behavior of hash-based ``.pyc`` files: value of " +"the :option:`--check-hash-based-pycs` command line option." msgstr "" -#: ../../c-api/init_config.rst:647 +#: ../../c-api/init_config.rst:661 msgid "Valid values:" msgstr "Valores válidos:" -#: ../../c-api/init_config.rst:649 +#: ../../c-api/init_config.rst:663 msgid "" "``L\"always\"``: Hash the source file for invalidation regardless of value " "of the 'check_source' flag." msgstr "" -#: ../../c-api/init_config.rst:651 +#: ../../c-api/init_config.rst:665 msgid "``L\"never\"``: Assume that hash-based pycs always are valid." msgstr "" -#: ../../c-api/init_config.rst:652 +#: ../../c-api/init_config.rst:666 msgid "" "``L\"default\"``: The 'check_source' flag in hash-based pycs determines " "invalidation." msgstr "" -#: ../../c-api/init_config.rst:655 +#: ../../c-api/init_config.rst:669 msgid "Default: ``L\"default\"``." msgstr "" -#: ../../c-api/init_config.rst:657 +#: ../../c-api/init_config.rst:671 msgid "See also :pep:`552` \"Deterministic pycs\"." msgstr "" -#: ../../c-api/init_config.rst:661 +#: ../../c-api/init_config.rst:675 msgid "If non-zero, configure C standard streams:" msgstr "" -#: ../../c-api/init_config.rst:663 +#: ../../c-api/init_config.rst:677 msgid "" "On Windows, set the binary mode (``O_BINARY``) on stdin, stdout and stderr." msgstr "" -#: ../../c-api/init_config.rst:665 +#: ../../c-api/init_config.rst:679 msgid "" "If :c:member:`~PyConfig.buffered_stdio` equals zero, disable buffering of " "stdin, stdout and stderr streams." msgstr "" -#: ../../c-api/init_config.rst:667 +#: ../../c-api/init_config.rst:681 msgid "" "If :c:member:`~PyConfig.interactive` is non-zero, enable stream buffering on " "stdin and stdout (only stdout on Windows)." msgstr "" -#: ../../c-api/init_config.rst:674 +#: ../../c-api/init_config.rst:688 msgid "If non-zero, enable the :ref:`Python Development Mode `." msgstr "" -#: ../../c-api/init_config.rst:676 +#: ../../c-api/init_config.rst:690 msgid "" -"Set to ``1`` by the :option:`-X dev <-X>` option and the :envvar:" -"`PYTHONDEVMODE` environment variable." +"Set to ``1`` by the :option:`-X dev <-X>` option and " +"the :envvar:`PYTHONDEVMODE` environment variable." msgstr "" -#: ../../c-api/init_config.rst:683 +#: ../../c-api/init_config.rst:697 msgid "Dump Python references?" msgstr "" -#: ../../c-api/init_config.rst:685 +#: ../../c-api/init_config.rst:699 msgid "If non-zero, dump all objects which are still alive at exit." msgstr "" -#: ../../c-api/init_config.rst:687 +#: ../../c-api/init_config.rst:701 msgid "Set to ``1`` by the :envvar:`PYTHONDUMPREFS` environment variable." msgstr "" -#: ../../c-api/init_config.rst:689 +#: ../../c-api/init_config.rst:703 msgid "" "Need a special build of Python with the ``Py_TRACE_REFS`` macro defined: see " "the :option:`configure --with-trace-refs option <--with-trace-refs>`." msgstr "" -#: ../../c-api/init_config.rst:696 +#: ../../c-api/init_config.rst:710 msgid "" "The site-specific directory prefix where the platform-dependent Python files " "are installed: :data:`sys.exec_prefix`." msgstr "" -#: ../../c-api/init_config.rst:705 +#: ../../c-api/init_config.rst:719 msgid "" -"The absolute path of the executable binary for the Python interpreter: :data:" -"`sys.executable`." +"The absolute path of the executable binary for the Python " +"interpreter: :data:`sys.executable`." msgstr "" -#: ../../c-api/init_config.rst:714 +#: ../../c-api/init_config.rst:728 msgid "Enable faulthandler?" msgstr "" -#: ../../c-api/init_config.rst:716 +#: ../../c-api/init_config.rst:730 msgid "If non-zero, call :func:`faulthandler.enable` at startup." msgstr "" -#: ../../c-api/init_config.rst:718 +#: ../../c-api/init_config.rst:732 msgid "" -"Set to ``1`` by :option:`-X faulthandler <-X>` and the :envvar:" -"`PYTHONFAULTHANDLER` environment variable." +"Set to ``1`` by :option:`-X faulthandler <-X>` and " +"the :envvar:`PYTHONFAULTHANDLER` environment variable." msgstr "" -#: ../../c-api/init_config.rst:725 +#: ../../c-api/init_config.rst:739 msgid "" -":term:`Filesystem encoding `: :func:" -"`sys.getfilesystemencoding`." +":term:`Filesystem encoding `: :func:`sys.getfilesystemencoding`." msgstr "" -#: ../../c-api/init_config.rst:728 +#: ../../c-api/init_config.rst:742 msgid "On macOS, Android and VxWorks: use ``\"utf-8\"`` by default." msgstr "" -#: ../../c-api/init_config.rst:730 +#: ../../c-api/init_config.rst:744 msgid "" -"On Windows: use ``\"utf-8\"`` by default, or ``\"mbcs\"`` if :c:member:" -"`~PyPreConfig.legacy_windows_fs_encoding` of :c:type:`PyPreConfig` is non-" -"zero." +"On Windows: use ``\"utf-8\"`` by default, or ``\"mbcs\"`` " +"if :c:member:`~PyPreConfig.legacy_windows_fs_encoding` " +"of :c:type:`PyPreConfig` is non-zero." msgstr "" -#: ../../c-api/init_config.rst:734 +#: ../../c-api/init_config.rst:748 msgid "Default encoding on other platforms:" msgstr "" -#: ../../c-api/init_config.rst:736 +#: ../../c-api/init_config.rst:750 msgid "``\"utf-8\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero." msgstr "" -#: ../../c-api/init_config.rst:737 +#: ../../c-api/init_config.rst:751 msgid "" "``\"ascii\"`` if Python detects that ``nl_langinfo(CODESET)`` announces the " "ASCII encoding, whereas the ``mbstowcs()`` function decodes from a different " "encoding (usually Latin1)." msgstr "" -#: ../../c-api/init_config.rst:740 +#: ../../c-api/init_config.rst:754 msgid "``\"utf-8\"`` if ``nl_langinfo(CODESET)`` returns an empty string." msgstr "" -#: ../../c-api/init_config.rst:741 +#: ../../c-api/init_config.rst:755 msgid "" "Otherwise, use the :term:`locale encoding`: ``nl_langinfo(CODESET)`` result." msgstr "" -#: ../../c-api/init_config.rst:744 +#: ../../c-api/init_config.rst:758 msgid "" "At Python startup, the encoding name is normalized to the Python codec name. " "For example, ``\"ANSI_X3.4-1968\"`` is replaced with ``\"ascii\"``." msgstr "" -#: ../../c-api/init_config.rst:747 +#: ../../c-api/init_config.rst:761 msgid "See also the :c:member:`~PyConfig.filesystem_errors` member." msgstr "" -#: ../../c-api/init_config.rst:751 +#: ../../c-api/init_config.rst:765 msgid "" -":term:`Filesystem error handler `: :" -"func:`sys.getfilesystemencodeerrors`." +":term:`Filesystem error handler `: :func:`sys.getfilesystemencodeerrors`." msgstr "" -#: ../../c-api/init_config.rst:754 +#: ../../c-api/init_config.rst:768 msgid "" -"On Windows: use ``\"surrogatepass\"`` by default, or ``\"replace\"`` if :c:" -"member:`~PyPreConfig.legacy_windows_fs_encoding` of :c:type:`PyPreConfig` is " -"non-zero." +"On Windows: use ``\"surrogatepass\"`` by default, or ``\"replace\"`` " +"if :c:member:`~PyPreConfig.legacy_windows_fs_encoding` " +"of :c:type:`PyPreConfig` is non-zero." msgstr "" -#: ../../c-api/init_config.rst:758 +#: ../../c-api/init_config.rst:772 msgid "On other platforms: use ``\"surrogateescape\"`` by default." msgstr "" -#: ../../c-api/init_config.rst:760 +#: ../../c-api/init_config.rst:774 msgid "Supported error handlers:" msgstr "" -#: ../../c-api/init_config.rst:762 +#: ../../c-api/init_config.rst:776 msgid "``\"strict\"``" -msgstr "" +msgstr "``\"strict\"``" -#: ../../c-api/init_config.rst:763 +#: ../../c-api/init_config.rst:777 msgid "``\"surrogateescape\"``" -msgstr "" +msgstr "``\"surrogateescape\"``" -#: ../../c-api/init_config.rst:764 +#: ../../c-api/init_config.rst:778 msgid "``\"surrogatepass\"`` (only supported with the UTF-8 encoding)" msgstr "" -#: ../../c-api/init_config.rst:766 +#: ../../c-api/init_config.rst:780 msgid "See also the :c:member:`~PyConfig.filesystem_encoding` member." msgstr "" -#: ../../c-api/init_config.rst:771 +#: ../../c-api/init_config.rst:785 msgid "Randomized hash function seed." msgstr "" -#: ../../c-api/init_config.rst:773 +#: ../../c-api/init_config.rst:787 msgid "" "If :c:member:`~PyConfig.use_hash_seed` is zero, a seed is chosen randomly at " "Python startup, and :c:member:`~PyConfig.hash_seed` is ignored." msgstr "" -#: ../../c-api/init_config.rst:776 +#: ../../c-api/init_config.rst:790 msgid "Set by the :envvar:`PYTHONHASHSEED` environment variable." msgstr "" -#: ../../c-api/init_config.rst:778 +#: ../../c-api/init_config.rst:792 msgid "" "Default *use_hash_seed* value: ``-1`` in Python mode, ``0`` in isolated mode." msgstr "" -#: ../../c-api/init_config.rst:783 +#: ../../c-api/init_config.rst:797 msgid "Python home directory." msgstr "" -#: ../../c-api/init_config.rst:785 +#: ../../c-api/init_config.rst:799 msgid "" "If :c:func:`Py_SetPythonHome` has been called, use its argument if it is not " "``NULL``." msgstr "" -#: ../../c-api/init_config.rst:788 +#: ../../c-api/init_config.rst:802 msgid "Set by the :envvar:`PYTHONHOME` environment variable." msgstr "" -#: ../../c-api/init_config.rst:792 ../../c-api/init_config.rst:888 -#: ../../c-api/init_config.rst:908 ../../c-api/init_config.rst:994 -#: ../../c-api/init_config.rst:1024 +#: ../../c-api/init_config.rst:806 ../../c-api/init_config.rst:902 +#: ../../c-api/init_config.rst:922 ../../c-api/init_config.rst:1008 +#: ../../c-api/init_config.rst:1038 msgid "Part of the :ref:`Python Path Configuration ` input." msgstr "" -#: ../../c-api/init_config.rst:796 +#: ../../c-api/init_config.rst:810 msgid "If non-zero, profile import time." msgstr "" -#: ../../c-api/init_config.rst:798 +#: ../../c-api/init_config.rst:812 msgid "" -"Set the ``1`` by the :option:`-X importtime <-X>` option and the :envvar:" -"`PYTHONPROFILEIMPORTTIME` environment variable." +"Set the ``1`` by the :option:`-X importtime <-X>` option and " +"the :envvar:`PYTHONPROFILEIMPORTTIME` environment variable." msgstr "" -#: ../../c-api/init_config.rst:805 +#: ../../c-api/init_config.rst:819 msgid "Enter interactive mode after executing a script or a command." msgstr "" -#: ../../c-api/init_config.rst:807 +#: ../../c-api/init_config.rst:821 msgid "" "If greater than ``0``, enable inspect: when a script is passed as first " "argument or the -c option is used, enter interactive mode after executing " @@ -1117,113 +1177,115 @@ msgid "" "a terminal." msgstr "" -#: ../../c-api/init_config.rst:812 +#: ../../c-api/init_config.rst:826 msgid "" -"Incremented by the :option:`-i` command line option. Set to ``1`` if the :" -"envvar:`PYTHONINSPECT` environment variable is non-empty." +"Incremented by the :option:`-i` command line option. Set to ``1`` if " +"the :envvar:`PYTHONINSPECT` environment variable is non-empty." msgstr "" -#: ../../c-api/init_config.rst:819 +#: ../../c-api/init_config.rst:833 msgid "Install Python signal handlers?" msgstr "" -#: ../../c-api/init_config.rst:821 ../../c-api/init_config.rst:971 -#: ../../c-api/init_config.rst:992 ../../c-api/init_config.rst:1171 +#: ../../c-api/init_config.rst:835 ../../c-api/init_config.rst:985 +#: ../../c-api/init_config.rst:1006 ../../c-api/init_config.rst:1185 msgid "Default: ``1`` in Python mode, ``0`` in isolated mode." msgstr "" -#: ../../c-api/init_config.rst:825 +#: ../../c-api/init_config.rst:839 msgid "If greater than ``0``, enable the interactive mode (REPL)." msgstr "" -#: ../../c-api/init_config.rst:827 +#: ../../c-api/init_config.rst:841 msgid "Incremented by the :option:`-i` command line option." msgstr "" -#: ../../c-api/init_config.rst:833 +#: ../../c-api/init_config.rst:847 msgid "If greater than ``0``, enable isolated mode:" msgstr "" -#: ../../c-api/init_config.rst:835 +#: ../../c-api/init_config.rst:849 msgid "" "Set :c:member:`~PyConfig.safe_path` to ``1``: don't prepend a potentially " "unsafe path to :data:`sys.path` at Python startup." msgstr "" -#: ../../c-api/init_config.rst:838 ../../c-api/init_config.rst:1469 +#: ../../c-api/init_config.rst:852 ../../c-api/init_config.rst:1483 msgid "Set :c:member:`~PyConfig.use_environment` to ``0``." msgstr "" -#: ../../c-api/init_config.rst:839 +#: ../../c-api/init_config.rst:853 msgid "" "Set :c:member:`~PyConfig.user_site_directory` to ``0``: don't add the user " "site directory to :data:`sys.path`." msgstr "" -#: ../../c-api/init_config.rst:841 +#: ../../c-api/init_config.rst:855 msgid "" "Python REPL doesn't import :mod:`readline` nor enable default readline " "configuration on interactive prompts." msgstr "" -#: ../../c-api/init_config.rst:844 +#: ../../c-api/init_config.rst:858 msgid "Set to ``1`` by the :option:`-I` command line option." msgstr "" -#: ../../c-api/init_config.rst:848 +#: ../../c-api/init_config.rst:862 msgid "See also :c:member:`PyPreConfig.isolated`." msgstr "Veja também :c:member:`PyPreConfig.isolated`." -#: ../../c-api/init_config.rst:852 +#: ../../c-api/init_config.rst:866 msgid "" -"If non-zero, use :class:`io.FileIO` instead of :class:`io.WindowsConsoleIO` " -"for :data:`sys.stdin`, :data:`sys.stdout` and :data:`sys.stderr`." +"If non-zero, use :class:`io.FileIO` instead of :class:`!" +"io._WindowsConsoleIO` for :data:`sys.stdin`, :data:`sys.stdout` " +"and :data:`sys.stderr`." msgstr "" -#: ../../c-api/init_config.rst:856 +#: ../../c-api/init_config.rst:870 msgid "" "Set to ``1`` if the :envvar:`PYTHONLEGACYWINDOWSSTDIO` environment variable " "is set to a non-empty string." msgstr "" -"Definida como ``1`` se a variável de ambiente :envvar:" -"`PYTHONLEGACYWINDOWSSTDIO` estiver definida como uma string não vazia." +"Definida como ``1`` se a variável de " +"ambiente :envvar:`PYTHONLEGACYWINDOWSSTDIO` estiver definida como uma string " +"não vazia." -#: ../../c-api/init_config.rst:864 +#: ../../c-api/init_config.rst:878 msgid "See also the :pep:`528` (Change Windows console encoding to UTF-8)." msgstr "" -#: ../../c-api/init_config.rst:868 +#: ../../c-api/init_config.rst:882 msgid "" "If non-zero, dump statistics on :ref:`Python pymalloc memory allocator " "` at exit." msgstr "" -#: ../../c-api/init_config.rst:871 +#: ../../c-api/init_config.rst:885 msgid "Set to ``1`` by the :envvar:`PYTHONMALLOCSTATS` environment variable." msgstr "" -#: ../../c-api/init_config.rst:873 +#: ../../c-api/init_config.rst:887 msgid "" "The option is ignored if Python is :option:`configured using the --without-" "pymalloc option <--without-pymalloc>`." msgstr "" -#: ../../c-api/init_config.rst:880 +#: ../../c-api/init_config.rst:894 msgid "Platform library directory name: :data:`sys.platlibdir`." msgstr "" -#: ../../c-api/init_config.rst:882 +#: ../../c-api/init_config.rst:896 msgid "Set by the :envvar:`PYTHONPLATLIBDIR` environment variable." msgstr "" -#: ../../c-api/init_config.rst:884 +#: ../../c-api/init_config.rst:898 msgid "" -"Default: value of the ``PLATLIBDIR`` macro which is set by the :option:" -"`configure --with-platlibdir option <--with-platlibdir>` (default: " -"``\"lib\"``, or ``\"DLLs\"`` on Windows)." +"Default: value of the ``PLATLIBDIR`` macro which is set by " +"the :option:`configure --with-platlibdir option <--with-platlibdir>` " +"(default: ``\"lib\"``, or ``\"DLLs\"`` on Windows)." msgstr "" -#: ../../c-api/init_config.rst:892 +#: ../../c-api/init_config.rst:906 msgid "" "This macro is now used on Windows to locate the standard library extension " "modules, typically under ``DLLs``. However, for compatibility, note that " @@ -1231,476 +1293,479 @@ msgid "" "and virtual environments." msgstr "" -#: ../../c-api/init_config.rst:901 +#: ../../c-api/init_config.rst:915 msgid "" -"Module search paths (:data:`sys.path`) as a string separated by ``DELIM`` (:" -"data:`os.path.pathsep`)." +"Module search paths (:data:`sys.path`) as a string separated by ``DELIM`` " +"(:data:`os.pathsep`)." msgstr "" -#: ../../c-api/init_config.rst:904 +#: ../../c-api/init_config.rst:918 msgid "Set by the :envvar:`PYTHONPATH` environment variable." msgstr "" -#: ../../c-api/init_config.rst:913 +#: ../../c-api/init_config.rst:927 msgid "Module search paths: :data:`sys.path`." msgstr "" -#: ../../c-api/init_config.rst:915 +#: ../../c-api/init_config.rst:929 msgid "" -"If :c:member:`~PyConfig.module_search_paths_set` is equal to ``0``, :c:func:" -"`Py_InitializeFromConfig` will replace :c:member:`~PyConfig." -"module_search_paths` and sets :c:member:`~PyConfig.module_search_paths_set` " -"to ``1``." +"If :c:member:`~PyConfig.module_search_paths_set` is equal to " +"``0``, :c:func:`Py_InitializeFromConfig` will " +"replace :c:member:`~PyConfig.module_search_paths` and " +"sets :c:member:`~PyConfig.module_search_paths_set` to ``1``." msgstr "" -#: ../../c-api/init_config.rst:920 +#: ../../c-api/init_config.rst:934 msgid "" "Default: empty list (``module_search_paths``) and ``0`` " "(``module_search_paths_set``)." msgstr "" -#: ../../c-api/init_config.rst:927 +#: ../../c-api/init_config.rst:941 msgid "Compilation optimization level:" msgstr "" -#: ../../c-api/init_config.rst:929 +#: ../../c-api/init_config.rst:943 msgid "``0``: Peephole optimizer, set ``__debug__`` to ``True``." msgstr "" -#: ../../c-api/init_config.rst:930 +#: ../../c-api/init_config.rst:944 msgid "``1``: Level 0, remove assertions, set ``__debug__`` to ``False``." msgstr "" -#: ../../c-api/init_config.rst:931 +#: ../../c-api/init_config.rst:945 msgid "``2``: Level 1, strip docstrings." msgstr "" -#: ../../c-api/init_config.rst:933 +#: ../../c-api/init_config.rst:947 msgid "" -"Incremented by the :option:`-O` command line option. Set to the :envvar:" -"`PYTHONOPTIMIZE` environment variable value." +"Incremented by the :option:`-O` command line option. Set to " +"the :envvar:`PYTHONOPTIMIZE` environment variable value." msgstr "" -#: ../../c-api/init_config.rst:940 +#: ../../c-api/init_config.rst:954 msgid "" "The list of the original command line arguments passed to the Python " "executable: :data:`sys.orig_argv`." msgstr "" -#: ../../c-api/init_config.rst:943 +#: ../../c-api/init_config.rst:957 msgid "" -"If :c:member:`~PyConfig.orig_argv` list is empty and :c:member:`~PyConfig." -"argv` is not a list only containing an empty string, :c:func:`PyConfig_Read` " -"copies :c:member:`~PyConfig.argv` into :c:member:`~PyConfig.orig_argv` " -"before modifying :c:member:`~PyConfig.argv` (if :c:member:`~PyConfig." -"parse_argv` is non-zero)." +"If :c:member:`~PyConfig.orig_argv` list is empty " +"and :c:member:`~PyConfig.argv` is not a list only containing an empty " +"string, :c:func:`PyConfig_Read` copies :c:member:`~PyConfig.argv` " +"into :c:member:`~PyConfig.orig_argv` before " +"modifying :c:member:`~PyConfig.argv` (if :c:member:`~PyConfig.parse_argv` is " +"non-zero)." msgstr "" -#: ../../c-api/init_config.rst:950 +#: ../../c-api/init_config.rst:964 msgid "" -"See also the :c:member:`~PyConfig.argv` member and the :c:func:" -"`Py_GetArgcArgv` function." +"See also the :c:member:`~PyConfig.argv` member and " +"the :c:func:`Py_GetArgcArgv` function." msgstr "" -#: ../../c-api/init_config.rst:953 ../../c-api/init_config.rst:1206 -#: ../../c-api/init_config.rst:1225 +#: ../../c-api/init_config.rst:967 ../../c-api/init_config.rst:1220 +#: ../../c-api/init_config.rst:1239 msgid "Default: empty list." msgstr "Padrão: lista vazia." -#: ../../c-api/init_config.rst:959 +#: ../../c-api/init_config.rst:973 msgid "Parse command line arguments?" msgstr "" -#: ../../c-api/init_config.rst:961 +#: ../../c-api/init_config.rst:975 msgid "" "If equals to ``1``, parse :c:member:`~PyConfig.argv` the same way the " "regular Python parses :ref:`command line arguments `, and " "strip Python arguments from :c:member:`~PyConfig.argv`." msgstr "" -#: ../../c-api/init_config.rst:973 +#: ../../c-api/init_config.rst:987 msgid "" -"The :c:member:`PyConfig.argv` arguments are now only parsed if :c:member:" -"`PyConfig.parse_argv` equals to ``1``." +"The :c:member:`PyConfig.argv` arguments are now only parsed " +"if :c:member:`PyConfig.parse_argv` equals to ``1``." msgstr "" -#: ../../c-api/init_config.rst:979 +#: ../../c-api/init_config.rst:993 msgid "" "Parser debug mode. If greater than ``0``, turn on parser debugging output " "(for expert only, depending on compilation options)." msgstr "" -#: ../../c-api/init_config.rst:982 +#: ../../c-api/init_config.rst:996 msgid "" -"Incremented by the :option:`-d` command line option. Set to the :envvar:" -"`PYTHONDEBUG` environment variable value." +"Incremented by the :option:`-d` command line option. Set to " +"the :envvar:`PYTHONDEBUG` environment variable value." msgstr "" -#: ../../c-api/init_config.rst:989 +#: ../../c-api/init_config.rst:1003 msgid "" "If non-zero, calculation of path configuration is allowed to log warnings " "into ``stderr``. If equals to ``0``, suppress these warnings." msgstr "" -#: ../../c-api/init_config.rst:996 +#: ../../c-api/init_config.rst:1010 msgid "Now also applies on Windows." msgstr "" -#: ../../c-api/init_config.rst:1001 +#: ../../c-api/init_config.rst:1015 msgid "" "The site-specific directory prefix where the platform independent Python " "files are installed: :data:`sys.prefix`." msgstr "" -#: ../../c-api/init_config.rst:1010 +#: ../../c-api/init_config.rst:1024 msgid "" "Program name used to initialize :c:member:`~PyConfig.executable` and in " "early error messages during Python initialization." msgstr "" -#: ../../c-api/init_config.rst:1013 +#: ../../c-api/init_config.rst:1027 msgid "If :func:`Py_SetProgramName` has been called, use its argument." msgstr "" -#: ../../c-api/init_config.rst:1014 +#: ../../c-api/init_config.rst:1028 msgid "On macOS, use :envvar:`PYTHONEXECUTABLE` environment variable if set." msgstr "" -#: ../../c-api/init_config.rst:1015 +#: ../../c-api/init_config.rst:1029 msgid "" -"If the ``WITH_NEXT_FRAMEWORK`` macro is defined, use :envvar:" -"`__PYVENV_LAUNCHER__` environment variable if set." +"If the ``WITH_NEXT_FRAMEWORK`` macro is defined, " +"use :envvar:`__PYVENV_LAUNCHER__` environment variable if set." msgstr "" -#: ../../c-api/init_config.rst:1017 +#: ../../c-api/init_config.rst:1031 msgid "" "Use ``argv[0]`` of :c:member:`~PyConfig.argv` if available and non-empty." msgstr "" -#: ../../c-api/init_config.rst:1019 +#: ../../c-api/init_config.rst:1033 msgid "" "Otherwise, use ``L\"python\"`` on Windows, or ``L\"python3\"`` on other " "platforms." msgstr "" -#: ../../c-api/init_config.rst:1028 +#: ../../c-api/init_config.rst:1042 msgid "" -"Directory where cached ``.pyc`` files are written: :data:`sys." -"pycache_prefix`." +"Directory where cached ``.pyc`` files are " +"written: :data:`sys.pycache_prefix`." msgstr "" -#: ../../c-api/init_config.rst:1031 +#: ../../c-api/init_config.rst:1045 msgid "" "Set by the :option:`-X pycache_prefix=PATH <-X>` command line option and " "the :envvar:`PYTHONPYCACHEPREFIX` environment variable." msgstr "" -#: ../../c-api/init_config.rst:1034 +#: ../../c-api/init_config.rst:1048 msgid "If ``NULL``, :data:`sys.pycache_prefix` is set to ``None``." msgstr "" -#: ../../c-api/init_config.rst:1040 +#: ../../c-api/init_config.rst:1054 msgid "" "Quiet mode. If greater than ``0``, don't display the copyright and version " "at Python startup in interactive mode." msgstr "" -#: ../../c-api/init_config.rst:1043 +#: ../../c-api/init_config.rst:1057 msgid "Incremented by the :option:`-q` command line option." msgstr "" -#: ../../c-api/init_config.rst:1049 +#: ../../c-api/init_config.rst:1063 msgid "Value of the :option:`-c` command line option." msgstr "" -#: ../../c-api/init_config.rst:1051 ../../c-api/init_config.rst:1072 +#: ../../c-api/init_config.rst:1065 ../../c-api/init_config.rst:1086 msgid "Used by :c:func:`Py_RunMain`." msgstr "" -#: ../../c-api/init_config.rst:1057 +#: ../../c-api/init_config.rst:1071 msgid "" -"Filename passed on the command line: trailing command line argument without :" -"option:`-c` or :option:`-m`. It is used by the :c:func:`Py_RunMain` function." +"Filename passed on the command line: trailing command line argument " +"without :option:`-c` or :option:`-m`. It is used by the :c:func:`Py_RunMain` " +"function." msgstr "" -#: ../../c-api/init_config.rst:1061 +#: ../../c-api/init_config.rst:1075 msgid "" "For example, it is set to ``script.py`` by the ``python3 script.py arg`` " "command line." msgstr "" -#: ../../c-api/init_config.rst:1064 +#: ../../c-api/init_config.rst:1078 msgid "See also the :c:member:`PyConfig.skip_source_first_line` option." msgstr "" -#: ../../c-api/init_config.rst:1070 +#: ../../c-api/init_config.rst:1084 msgid "Value of the :option:`-m` command line option." msgstr "" -#: ../../c-api/init_config.rst:1078 +#: ../../c-api/init_config.rst:1092 msgid "Show total reference count at exit?" msgstr "" -#: ../../c-api/init_config.rst:1080 +#: ../../c-api/init_config.rst:1094 msgid "Set to ``1`` by :option:`-X showrefcount <-X>` command line option." msgstr "" -#: ../../c-api/init_config.rst:1082 +#: ../../c-api/init_config.rst:1096 msgid "" "Need a :ref:`debug build of Python ` (the ``Py_REF_DEBUG`` " "macro must be defined)." msgstr "" -#: ../../c-api/init_config.rst:1089 +#: ../../c-api/init_config.rst:1103 msgid "Import the :mod:`site` module at startup?" msgstr "" -#: ../../c-api/init_config.rst:1091 +#: ../../c-api/init_config.rst:1105 msgid "" "If equal to zero, disable the import of the module site and the site-" "dependent manipulations of :data:`sys.path` that it entails." msgstr "" -#: ../../c-api/init_config.rst:1094 +#: ../../c-api/init_config.rst:1108 msgid "" "Also disable these manipulations if the :mod:`site` module is explicitly " "imported later (call :func:`site.main` if you want them to be triggered)." msgstr "" -#: ../../c-api/init_config.rst:1097 +#: ../../c-api/init_config.rst:1111 msgid "Set to ``0`` by the :option:`-S` command line option." msgstr "" -#: ../../c-api/init_config.rst:1099 +#: ../../c-api/init_config.rst:1113 msgid "" -":data:`sys.flags.no_site` is set to the inverted value of :c:member:" -"`~PyConfig.site_import`." +":data:`sys.flags.no_site ` is set to the inverted value " +"of :c:member:`~PyConfig.site_import`." msgstr "" -#: ../../c-api/init_config.rst:1106 +#: ../../c-api/init_config.rst:1120 msgid "" "If non-zero, skip the first line of the :c:member:`PyConfig.run_filename` " "source." msgstr "" -#: ../../c-api/init_config.rst:1109 +#: ../../c-api/init_config.rst:1123 msgid "" "It allows the usage of non-Unix forms of ``#!cmd``. This is intended for a " "DOS specific hack only." msgstr "" -#: ../../c-api/init_config.rst:1112 +#: ../../c-api/init_config.rst:1126 msgid "Set to ``1`` by the :option:`-x` command line option." msgstr "" -#: ../../c-api/init_config.rst:1119 +#: ../../c-api/init_config.rst:1133 msgid "" -"Encoding and encoding errors of :data:`sys.stdin`, :data:`sys.stdout` and :" -"data:`sys.stderr` (but :data:`sys.stderr` always uses " +"Encoding and encoding errors of :data:`sys.stdin`, :data:`sys.stdout` " +"and :data:`sys.stderr` (but :data:`sys.stderr` always uses " "``\"backslashreplace\"`` error handler)." msgstr "" -#: ../../c-api/init_config.rst:1123 +#: ../../c-api/init_config.rst:1137 msgid "" "If :c:func:`Py_SetStandardStreamEncoding` has been called, use its *error* " "and *errors* arguments if they are not ``NULL``." msgstr "" -#: ../../c-api/init_config.rst:1126 +#: ../../c-api/init_config.rst:1140 msgid "" "Use the :envvar:`PYTHONIOENCODING` environment variable if it is non-empty." msgstr "" -#: ../../c-api/init_config.rst:1129 +#: ../../c-api/init_config.rst:1143 msgid "Default encoding:" msgstr "Codificação padrão:" -#: ../../c-api/init_config.rst:1131 +#: ../../c-api/init_config.rst:1145 msgid "``\"UTF-8\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero." msgstr "" -#: ../../c-api/init_config.rst:1132 +#: ../../c-api/init_config.rst:1146 msgid "Otherwise, use the :term:`locale encoding`." msgstr "" -#: ../../c-api/init_config.rst:1134 +#: ../../c-api/init_config.rst:1148 msgid "Default error handler:" msgstr "Tratador de erros padrão:" -#: ../../c-api/init_config.rst:1136 +#: ../../c-api/init_config.rst:1150 msgid "On Windows: use ``\"surrogateescape\"``." msgstr "" -#: ../../c-api/init_config.rst:1137 +#: ../../c-api/init_config.rst:1151 msgid "" "``\"surrogateescape\"`` if :c:member:`PyPreConfig.utf8_mode` is non-zero, or " "if the LC_CTYPE locale is \"C\" or \"POSIX\"." msgstr "" -#: ../../c-api/init_config.rst:1139 +#: ../../c-api/init_config.rst:1153 msgid "``\"strict\"`` otherwise." msgstr "" -#: ../../c-api/init_config.rst:1143 +#: ../../c-api/init_config.rst:1157 msgid "Enable tracemalloc?" msgstr "" -#: ../../c-api/init_config.rst:1145 +#: ../../c-api/init_config.rst:1159 msgid "If non-zero, call :func:`tracemalloc.start` at startup." msgstr "" -#: ../../c-api/init_config.rst:1147 +#: ../../c-api/init_config.rst:1161 msgid "" -"Set by :option:`-X tracemalloc=N <-X>` command line option and by the :" -"envvar:`PYTHONTRACEMALLOC` environment variable." +"Set by :option:`-X tracemalloc=N <-X>` command line option and by " +"the :envvar:`PYTHONTRACEMALLOC` environment variable." msgstr "" -#: ../../c-api/init_config.rst:1154 +#: ../../c-api/init_config.rst:1168 msgid "Use :ref:`environment variables `?" msgstr "" -#: ../../c-api/init_config.rst:1156 +#: ../../c-api/init_config.rst:1170 msgid "" "If equals to zero, ignore the :ref:`environment variables `." msgstr "" -#: ../../c-api/init_config.rst:1159 +#: ../../c-api/init_config.rst:1173 msgid "Set to ``0`` by the :option:`-E` environment variable." msgstr "" -#: ../../c-api/init_config.rst:1165 +#: ../../c-api/init_config.rst:1179 msgid "If non-zero, add the user site directory to :data:`sys.path`." msgstr "" -#: ../../c-api/init_config.rst:1167 +#: ../../c-api/init_config.rst:1181 msgid "Set to ``0`` by the :option:`-s` and :option:`-I` command line options." msgstr "" -#: ../../c-api/init_config.rst:1169 +#: ../../c-api/init_config.rst:1183 msgid "Set to ``0`` by the :envvar:`PYTHONNOUSERSITE` environment variable." msgstr "" -#: ../../c-api/init_config.rst:1175 +#: ../../c-api/init_config.rst:1189 msgid "" "Verbose mode. If greater than ``0``, print a message each time a module is " "imported, showing the place (filename or built-in module) from which it is " "loaded." msgstr "" -#: ../../c-api/init_config.rst:1179 +#: ../../c-api/init_config.rst:1193 msgid "" "If greater or equal to ``2``, print a message for each file that is checked " "for when searching for a module. Also provides information on module cleanup " "at exit." msgstr "" -#: ../../c-api/init_config.rst:1183 +#: ../../c-api/init_config.rst:1197 msgid "Incremented by the :option:`-v` command line option." msgstr "" -#: ../../c-api/init_config.rst:1185 +#: ../../c-api/init_config.rst:1199 msgid "Set to the :envvar:`PYTHONVERBOSE` environment variable value." msgstr "" -#: ../../c-api/init_config.rst:1191 +#: ../../c-api/init_config.rst:1205 msgid "" "Options of the :mod:`warnings` module to build warnings filters, lowest to " "highest priority: :data:`sys.warnoptions`." msgstr "" -#: ../../c-api/init_config.rst:1194 +#: ../../c-api/init_config.rst:1208 msgid "" "The :mod:`warnings` module adds :data:`sys.warnoptions` in the reverse " "order: the last :c:member:`PyConfig.warnoptions` item becomes the first item " "of :data:`warnings.filters` which is checked first (highest priority)." msgstr "" -#: ../../c-api/init_config.rst:1199 +#: ../../c-api/init_config.rst:1213 msgid "" -"The :option:`-W` command line options adds its value to :c:member:`~PyConfig." -"warnoptions`, it can be used multiple times." +"The :option:`-W` command line options adds its value " +"to :c:member:`~PyConfig.warnoptions`, it can be used multiple times." msgstr "" -#: ../../c-api/init_config.rst:1202 +#: ../../c-api/init_config.rst:1216 msgid "" "The :envvar:`PYTHONWARNINGS` environment variable can also be used to add " -"warning options. Multiple options can be specified, separated by commas (``," -"``)." +"warning options. Multiple options can be specified, separated by commas " +"(``,``)." msgstr "" -#: ../../c-api/init_config.rst:1210 +#: ../../c-api/init_config.rst:1224 msgid "" "If equal to ``0``, Python won't try to write ``.pyc`` files on the import of " "source modules." msgstr "" -#: ../../c-api/init_config.rst:1213 +#: ../../c-api/init_config.rst:1227 msgid "" -"Set to ``0`` by the :option:`-B` command line option and the :envvar:" -"`PYTHONDONTWRITEBYTECODE` environment variable." +"Set to ``0`` by the :option:`-B` command line option and " +"the :envvar:`PYTHONDONTWRITEBYTECODE` environment variable." msgstr "" -#: ../../c-api/init_config.rst:1216 +#: ../../c-api/init_config.rst:1230 msgid "" -":data:`sys.dont_write_bytecode` is initialized to the inverted value of :c:" -"member:`~PyConfig.write_bytecode`." +":data:`sys.dont_write_bytecode` is initialized to the inverted value " +"of :c:member:`~PyConfig.write_bytecode`." msgstr "" -#: ../../c-api/init_config.rst:1223 +#: ../../c-api/init_config.rst:1237 msgid "Values of the :option:`-X` command line options: :data:`sys._xoptions`." msgstr "" -#: ../../c-api/init_config.rst:1227 +#: ../../c-api/init_config.rst:1241 msgid "" "If :c:member:`~PyConfig.parse_argv` is non-zero, :c:member:`~PyConfig.argv` " "arguments are parsed the same way the regular Python parses :ref:`command " -"line arguments `, and Python arguments are stripped from :" -"c:member:`~PyConfig.argv`." +"line arguments `, and Python arguments are stripped " +"from :c:member:`~PyConfig.argv`." msgstr "" -#: ../../c-api/init_config.rst:1232 +#: ../../c-api/init_config.rst:1246 msgid "" "The :c:member:`~PyConfig.xoptions` options are parsed to set other options: " "see the :option:`-X` command line option." msgstr "" -#: ../../c-api/init_config.rst:1237 +#: ../../c-api/init_config.rst:1251 msgid "The ``show_alloc_count`` field has been removed." msgstr "" -#: ../../c-api/init_config.rst:1241 +#: ../../c-api/init_config.rst:1255 msgid "Initialization with PyConfig" msgstr "" -#: ../../c-api/init_config.rst:1243 +#: ../../c-api/init_config.rst:1257 msgid "Function to initialize Python:" msgstr "" -#: ../../c-api/init_config.rst:1247 +#: ../../c-api/init_config.rst:1261 msgid "Initialize Python from *config* configuration." msgstr "" -#: ../../c-api/init_config.rst:1252 +#: ../../c-api/init_config.rst:1266 msgid "" -"If :c:func:`PyImport_FrozenModules`, :c:func:`PyImport_AppendInittab` or :c:" -"func:`PyImport_ExtendInittab` are used, they must be set or called after " -"Python preinitialization and before the Python initialization. If Python is " -"initialized multiple times, :c:func:`PyImport_AppendInittab` or :c:func:" -"`PyImport_ExtendInittab` must be called before each Python initialization." +"If :c:func:`PyImport_FrozenModules`, :c:func:`PyImport_AppendInittab` " +"or :c:func:`PyImport_ExtendInittab` are used, they must be set or called " +"after Python preinitialization and before the Python initialization. If " +"Python is initialized multiple times, :c:func:`PyImport_AppendInittab` " +"or :c:func:`PyImport_ExtendInittab` must be called before each Python " +"initialization." msgstr "" -#: ../../c-api/init_config.rst:1259 +#: ../../c-api/init_config.rst:1273 msgid "" "The current configuration (``PyConfig`` type) is stored in " "``PyInterpreterState.config``." msgstr "" -#: ../../c-api/init_config.rst:1262 +#: ../../c-api/init_config.rst:1276 msgid "Example setting the program name::" msgstr "" -#: ../../c-api/init_config.rst:1290 +#: ../../c-api/init_config.rst:1304 msgid "" "More complete example modifying the default configuration, read the " "configuration, and then override some parameters. Note that since 3.11, many " @@ -1709,18 +1774,19 @@ msgid "" "called will be left unchanged by initialization::" msgstr "" -#: ../../c-api/init_config.rst:1353 +#: ../../c-api/init_config.rst:1367 msgid "Isolated Configuration" msgstr "" -#: ../../c-api/init_config.rst:1355 +#: ../../c-api/init_config.rst:1369 msgid "" -":c:func:`PyPreConfig_InitIsolatedConfig` and :c:func:" -"`PyConfig_InitIsolatedConfig` functions create a configuration to isolate " -"Python from the system. For example, to embed Python into an application." +":c:func:`PyPreConfig_InitIsolatedConfig` " +"and :c:func:`PyConfig_InitIsolatedConfig` functions create a configuration " +"to isolate Python from the system. For example, to embed Python into an " +"application." msgstr "" -#: ../../c-api/init_config.rst:1360 +#: ../../c-api/init_config.rst:1374 msgid "" "This configuration ignores global configuration variables, environment " "variables, command line arguments (:c:member:`PyConfig.argv` is not parsed) " @@ -1728,136 +1794,133 @@ msgid "" "LC_CTYPE locale are left unchanged. Signal handlers are not installed." msgstr "" -#: ../../c-api/init_config.rst:1365 +#: ../../c-api/init_config.rst:1379 msgid "" "Configuration files are still used with this configuration to determine " "paths that are unspecified. Ensure :c:member:`PyConfig.home` is specified to " "avoid computing the default path configuration." msgstr "" -#: ../../c-api/init_config.rst:1373 +#: ../../c-api/init_config.rst:1387 msgid "Python Configuration" msgstr "Configuração do Python" -#: ../../c-api/init_config.rst:1375 +#: ../../c-api/init_config.rst:1389 msgid "" -":c:func:`PyPreConfig_InitPythonConfig` and :c:func:" -"`PyConfig_InitPythonConfig` functions create a configuration to build a " -"customized Python which behaves as the regular Python." +":c:func:`PyPreConfig_InitPythonConfig` " +"and :c:func:`PyConfig_InitPythonConfig` functions create a configuration to " +"build a customized Python which behaves as the regular Python." msgstr "" -#: ../../c-api/init_config.rst:1379 +#: ../../c-api/init_config.rst:1393 msgid "" "Environments variables and command line arguments are used to configure " "Python, whereas global configuration variables are ignored." msgstr "" -#: ../../c-api/init_config.rst:1382 +#: ../../c-api/init_config.rst:1396 msgid "" "This function enables C locale coercion (:pep:`538`) and :ref:`Python UTF-8 " -"Mode ` (:pep:`540`) depending on the LC_CTYPE locale, :envvar:" -"`PYTHONUTF8` and :envvar:`PYTHONCOERCECLOCALE` environment variables." +"Mode ` (:pep:`540`) depending on the LC_CTYPE " +"locale, :envvar:`PYTHONUTF8` and :envvar:`PYTHONCOERCECLOCALE` environment " +"variables." msgstr "" -#: ../../c-api/init_config.rst:1391 +#: ../../c-api/init_config.rst:1405 msgid "Python Path Configuration" msgstr "" -#: ../../c-api/init_config.rst:1393 +#: ../../c-api/init_config.rst:1407 msgid ":c:type:`PyConfig` contains multiple fields for the path configuration:" msgstr "" -#: ../../c-api/init_config.rst:1395 +#: ../../c-api/init_config.rst:1409 msgid "Path configuration inputs:" msgstr "" -#: ../../c-api/init_config.rst:1397 +#: ../../c-api/init_config.rst:1411 msgid ":c:member:`PyConfig.home`" msgstr ":c:member:`PyConfig.home`" -#: ../../c-api/init_config.rst:1398 +#: ../../c-api/init_config.rst:1412 msgid ":c:member:`PyConfig.platlibdir`" -msgstr "" +msgstr ":c:member:`PyConfig.platlibdir`" -#: ../../c-api/init_config.rst:1399 +#: ../../c-api/init_config.rst:1413 msgid ":c:member:`PyConfig.pathconfig_warnings`" msgstr ":c:member:`PyConfig.pathconfig_warnings`" -#: ../../c-api/init_config.rst:1400 +#: ../../c-api/init_config.rst:1414 msgid ":c:member:`PyConfig.program_name`" msgstr ":c:member:`PyConfig.program_name`" -#: ../../c-api/init_config.rst:1401 +#: ../../c-api/init_config.rst:1415 msgid ":c:member:`PyConfig.pythonpath_env`" msgstr ":c:member:`PyConfig.pythonpath_env`" -#: ../../c-api/init_config.rst:1402 +#: ../../c-api/init_config.rst:1416 msgid "current working directory: to get absolute paths" msgstr "" -#: ../../c-api/init_config.rst:1403 +#: ../../c-api/init_config.rst:1417 msgid "" -"``PATH`` environment variable to get the program full path (from :c:member:" -"`PyConfig.program_name`)" +"``PATH`` environment variable to get the program full path " +"(from :c:member:`PyConfig.program_name`)" msgstr "" -#: ../../c-api/init_config.rst:1405 +#: ../../c-api/init_config.rst:1419 msgid "``__PYVENV_LAUNCHER__`` environment variable" msgstr "" -#: ../../c-api/init_config.rst:1406 +#: ../../c-api/init_config.rst:1420 msgid "" "(Windows only) Application paths in the registry under " "\"Software\\Python\\PythonCore\\X.Y\\PythonPath\" of HKEY_CURRENT_USER and " "HKEY_LOCAL_MACHINE (where X.Y is the Python version)." msgstr "" -#: ../../c-api/init_config.rst:1410 +#: ../../c-api/init_config.rst:1424 msgid "Path configuration output fields:" msgstr "" -#: ../../c-api/init_config.rst:1412 +#: ../../c-api/init_config.rst:1426 msgid ":c:member:`PyConfig.base_exec_prefix`" msgstr ":c:member:`PyConfig.base_exec_prefix`" -#: ../../c-api/init_config.rst:1413 +#: ../../c-api/init_config.rst:1427 msgid ":c:member:`PyConfig.base_executable`" msgstr ":c:member:`PyConfig.base_executable`" -#: ../../c-api/init_config.rst:1414 +#: ../../c-api/init_config.rst:1428 msgid ":c:member:`PyConfig.base_prefix`" msgstr ":c:member:`PyConfig.base_prefix`" -#: ../../c-api/init_config.rst:1415 +#: ../../c-api/init_config.rst:1429 msgid ":c:member:`PyConfig.exec_prefix`" msgstr ":c:member:`PyConfig.exec_prefix`" -#: ../../c-api/init_config.rst:1416 +#: ../../c-api/init_config.rst:1430 msgid ":c:member:`PyConfig.executable`" msgstr ":c:member:`PyConfig.executable`" -#: ../../c-api/init_config.rst:1417 -msgid "" -":c:member:`PyConfig.module_search_paths_set`, :c:member:`PyConfig." -"module_search_paths`" -msgstr "" -":c:member:`PyConfig.module_search_paths_set`, :c:member:`PyConfig." -"module_search_paths`" +#: ../../c-api/init_config.rst:1431 +msgid ":c:member:`PyConfig.module_search_paths_set`, :c:member:`PyConfig.module_search_paths`" +msgstr ":c:member:`PyConfig.module_search_paths_set`, :c:member:`PyConfig.module_search_paths`" -#: ../../c-api/init_config.rst:1419 +#: ../../c-api/init_config.rst:1433 msgid ":c:member:`PyConfig.prefix`" msgstr ":c:member:`PyConfig.prefix`" -#: ../../c-api/init_config.rst:1421 +#: ../../c-api/init_config.rst:1435 msgid "" "If at least one \"output field\" is not set, Python calculates the path " -"configuration to fill unset fields. If :c:member:`~PyConfig." -"module_search_paths_set` is equal to ``0``, :c:member:`~PyConfig." -"module_search_paths` is overridden and :c:member:`~PyConfig." -"module_search_paths_set` is set to ``1``." +"configuration to fill unset fields. " +"If :c:member:`~PyConfig.module_search_paths_set` is equal to " +"``0``, :c:member:`~PyConfig.module_search_paths` is overridden " +"and :c:member:`~PyConfig.module_search_paths_set` is set to ``1``." msgstr "" -#: ../../c-api/init_config.rst:1427 +#: ../../c-api/init_config.rst:1441 msgid "" "It is possible to completely ignore the function calculating the default " "path configuration by setting explicitly all path configuration output " @@ -1867,226 +1930,229 @@ msgid "" "modification." msgstr "" -#: ../../c-api/init_config.rst:1434 +#: ../../c-api/init_config.rst:1448 msgid "" "Set :c:member:`~PyConfig.pathconfig_warnings` to ``0`` to suppress warnings " "when calculating the path configuration (Unix only, Windows does not log any " "warning)." msgstr "" -#: ../../c-api/init_config.rst:1437 +#: ../../c-api/init_config.rst:1451 msgid "" -"If :c:member:`~PyConfig.base_prefix` or :c:member:`~PyConfig." -"base_exec_prefix` fields are not set, they inherit their value from :c:" -"member:`~PyConfig.prefix` and :c:member:`~PyConfig.exec_prefix` respectively." +"If :c:member:`~PyConfig.base_prefix` " +"or :c:member:`~PyConfig.base_exec_prefix` fields are not set, they inherit " +"their value from :c:member:`~PyConfig.prefix` " +"and :c:member:`~PyConfig.exec_prefix` respectively." msgstr "" -#: ../../c-api/init_config.rst:1441 +#: ../../c-api/init_config.rst:1455 msgid ":c:func:`Py_RunMain` and :c:func:`Py_Main` modify :data:`sys.path`:" msgstr "" -#: ../../c-api/init_config.rst:1443 +#: ../../c-api/init_config.rst:1457 msgid "" "If :c:member:`~PyConfig.run_filename` is set and is a directory which " -"contains a ``__main__.py`` script, prepend :c:member:`~PyConfig." -"run_filename` to :data:`sys.path`." +"contains a ``__main__.py`` script, " +"prepend :c:member:`~PyConfig.run_filename` to :data:`sys.path`." msgstr "" -#: ../../c-api/init_config.rst:1446 +#: ../../c-api/init_config.rst:1460 msgid "If :c:member:`~PyConfig.isolated` is zero:" msgstr "" -#: ../../c-api/init_config.rst:1448 +#: ../../c-api/init_config.rst:1462 msgid "" "If :c:member:`~PyConfig.run_module` is set, prepend the current directory " "to :data:`sys.path`. Do nothing if the current directory cannot be read." msgstr "" -#: ../../c-api/init_config.rst:1450 +#: ../../c-api/init_config.rst:1464 msgid "" "If :c:member:`~PyConfig.run_filename` is set, prepend the directory of the " "filename to :data:`sys.path`." msgstr "" -#: ../../c-api/init_config.rst:1452 +#: ../../c-api/init_config.rst:1466 msgid "Otherwise, prepend an empty string to :data:`sys.path`." msgstr "" -#: ../../c-api/init_config.rst:1454 +#: ../../c-api/init_config.rst:1468 msgid "" "If :c:member:`~PyConfig.site_import` is non-zero, :data:`sys.path` can be " -"modified by the :mod:`site` module. If :c:member:`~PyConfig." -"user_site_directory` is non-zero and the user's site-package directory " -"exists, the :mod:`site` module appends the user's site-package directory to :" -"data:`sys.path`." +"modified by the :mod:`site` module. " +"If :c:member:`~PyConfig.user_site_directory` is non-zero and the user's site-" +"package directory exists, the :mod:`site` module appends the user's site-" +"package directory to :data:`sys.path`." msgstr "" -#: ../../c-api/init_config.rst:1460 +#: ../../c-api/init_config.rst:1474 msgid "The following configuration files are used by the path configuration:" msgstr "" -#: ../../c-api/init_config.rst:1462 +#: ../../c-api/init_config.rst:1476 msgid "``pyvenv.cfg``" msgstr "``pyvenv.cfg``" -#: ../../c-api/init_config.rst:1463 +#: ../../c-api/init_config.rst:1477 msgid "``._pth`` file (ex: ``python._pth``)" msgstr "" -#: ../../c-api/init_config.rst:1464 +#: ../../c-api/init_config.rst:1478 msgid "``pybuilddir.txt`` (Unix only)" msgstr "" -#: ../../c-api/init_config.rst:1466 +#: ../../c-api/init_config.rst:1480 msgid "If a ``._pth`` file is present:" msgstr "" -#: ../../c-api/init_config.rst:1468 +#: ../../c-api/init_config.rst:1482 msgid "Set :c:member:`~PyConfig.isolated` to ``1``." msgstr "" -#: ../../c-api/init_config.rst:1470 +#: ../../c-api/init_config.rst:1484 msgid "Set :c:member:`~PyConfig.site_import` to ``0``." msgstr "" -#: ../../c-api/init_config.rst:1471 +#: ../../c-api/init_config.rst:1485 msgid "Set :c:member:`~PyConfig.safe_path` to ``1``." msgstr "" -#: ../../c-api/init_config.rst:1473 +#: ../../c-api/init_config.rst:1487 msgid "" -"The ``__PYVENV_LAUNCHER__`` environment variable is used to set :c:member:" -"`PyConfig.base_executable`" +"The ``__PYVENV_LAUNCHER__`` environment variable is used to " +"set :c:member:`PyConfig.base_executable`" msgstr "" -#: ../../c-api/init_config.rst:1478 +#: ../../c-api/init_config.rst:1492 msgid "Py_RunMain()" -msgstr "" +msgstr "Py_RunMain()" -#: ../../c-api/init_config.rst:1482 +#: ../../c-api/init_config.rst:1496 msgid "" -"Execute the command (:c:member:`PyConfig.run_command`), the script (:c:" -"member:`PyConfig.run_filename`) or the module (:c:member:`PyConfig." -"run_module`) specified on the command line or in the configuration." +"Execute the command (:c:member:`PyConfig.run_command`), the script " +"(:c:member:`PyConfig.run_filename`) or the module " +"(:c:member:`PyConfig.run_module`) specified on the command line or in the " +"configuration." msgstr "" -#: ../../c-api/init_config.rst:1487 +#: ../../c-api/init_config.rst:1501 msgid "By default and when if :option:`-i` option is used, run the REPL." msgstr "" -#: ../../c-api/init_config.rst:1489 +#: ../../c-api/init_config.rst:1503 msgid "" "Finally, finalizes Python and returns an exit status that can be passed to " "the ``exit()`` function." msgstr "" -#: ../../c-api/init_config.rst:1492 +#: ../../c-api/init_config.rst:1506 msgid "" "See :ref:`Python Configuration ` for an example of " "customized Python always running in isolated mode using :c:func:`Py_RunMain`." msgstr "" -#: ../../c-api/init_config.rst:1498 +#: ../../c-api/init_config.rst:1512 msgid "Py_GetArgcArgv()" -msgstr "" +msgstr "Py_GetArgcArgv()" -#: ../../c-api/init_config.rst:1502 +#: ../../c-api/init_config.rst:1516 msgid "Get the original command line arguments, before Python modified them." msgstr "" -#: ../../c-api/init_config.rst:1504 +#: ../../c-api/init_config.rst:1518 msgid "See also :c:member:`PyConfig.orig_argv` member." msgstr "" -#: ../../c-api/init_config.rst:1508 +#: ../../c-api/init_config.rst:1522 msgid "Multi-Phase Initialization Private Provisional API" msgstr "" -#: ../../c-api/init_config.rst:1510 +#: ../../c-api/init_config.rst:1524 msgid "" "This section is a private provisional API introducing multi-phase " "initialization, the core feature of :pep:`432`:" msgstr "" -#: ../../c-api/init_config.rst:1513 +#: ../../c-api/init_config.rst:1527 msgid "\"Core\" initialization phase, \"bare minimum Python\":" msgstr "" -#: ../../c-api/init_config.rst:1515 +#: ../../c-api/init_config.rst:1529 msgid "Builtin types;" msgstr "" -#: ../../c-api/init_config.rst:1516 +#: ../../c-api/init_config.rst:1530 msgid "Builtin exceptions;" msgstr "" -#: ../../c-api/init_config.rst:1517 +#: ../../c-api/init_config.rst:1531 msgid "Builtin and frozen modules;" msgstr "" -#: ../../c-api/init_config.rst:1518 +#: ../../c-api/init_config.rst:1532 msgid "" "The :mod:`sys` module is only partially initialized (ex: :data:`sys.path` " "doesn't exist yet)." msgstr "" -#: ../../c-api/init_config.rst:1521 +#: ../../c-api/init_config.rst:1535 msgid "\"Main\" initialization phase, Python is fully initialized:" msgstr "" -#: ../../c-api/init_config.rst:1523 +#: ../../c-api/init_config.rst:1537 msgid "Install and configure :mod:`importlib`;" msgstr "" -#: ../../c-api/init_config.rst:1524 +#: ../../c-api/init_config.rst:1538 msgid "Apply the :ref:`Path Configuration `;" msgstr "" -#: ../../c-api/init_config.rst:1525 +#: ../../c-api/init_config.rst:1539 msgid "Install signal handlers;" msgstr "" -#: ../../c-api/init_config.rst:1526 +#: ../../c-api/init_config.rst:1540 msgid "" -"Finish :mod:`sys` module initialization (ex: create :data:`sys.stdout` and :" -"data:`sys.path`);" +"Finish :mod:`sys` module initialization (ex: create :data:`sys.stdout` " +"and :data:`sys.path`);" msgstr "" -#: ../../c-api/init_config.rst:1528 +#: ../../c-api/init_config.rst:1542 msgid "" "Enable optional features like :mod:`faulthandler` and :mod:`tracemalloc`;" msgstr "" -#: ../../c-api/init_config.rst:1529 +#: ../../c-api/init_config.rst:1543 msgid "Import the :mod:`site` module;" msgstr "" -#: ../../c-api/init_config.rst:1530 +#: ../../c-api/init_config.rst:1544 msgid "etc." msgstr "etc." -#: ../../c-api/init_config.rst:1532 +#: ../../c-api/init_config.rst:1546 msgid "Private provisional API:" msgstr "" -#: ../../c-api/init_config.rst:1534 +#: ../../c-api/init_config.rst:1548 msgid "" -":c:member:`PyConfig._init_main`: if set to ``0``, :c:func:" -"`Py_InitializeFromConfig` stops at the \"Core\" initialization phase." +":c:member:`PyConfig._init_main`: if set to " +"``0``, :c:func:`Py_InitializeFromConfig` stops at the \"Core\" " +"initialization phase." msgstr "" -#: ../../c-api/init_config.rst:1536 +#: ../../c-api/init_config.rst:1550 msgid "" ":c:member:`PyConfig._isolated_interpreter`: if non-zero, disallow threads, " "subprocesses and fork." msgstr "" -#: ../../c-api/init_config.rst:1541 +#: ../../c-api/init_config.rst:1555 msgid "" "Move to the \"Main\" initialization phase, finish the Python initialization." msgstr "" -#: ../../c-api/init_config.rst:1543 +#: ../../c-api/init_config.rst:1557 msgid "" "No module is imported during the \"Core\" phase and the ``importlib`` module " "is not configured: the :ref:`Path Configuration ` is only " @@ -2095,14 +2161,14 @@ msgid "" "maybe install a custom :data:`sys.meta_path` importer or an import hook, etc." msgstr "" -#: ../../c-api/init_config.rst:1549 +#: ../../c-api/init_config.rst:1563 msgid "" "It may become possible to calculatin the :ref:`Path Configuration ` in Python, after the Core phase and before the Main phase, which is " "one of the :pep:`432` motivation." msgstr "" -#: ../../c-api/init_config.rst:1553 +#: ../../c-api/init_config.rst:1567 msgid "" "The \"Core\" phase is not properly defined: what should be and what should " "not be available at this phase is not specified yet. The API is marked as " @@ -2110,7 +2176,7 @@ msgid "" "until a proper public API is designed." msgstr "" -#: ../../c-api/init_config.rst:1558 +#: ../../c-api/init_config.rst:1572 msgid "" "Example running Python code between \"Core\" and \"Main\" initialization " "phases::" diff --git a/c-api/intro.po b/c-api/intro.po index 6989fb905..3280e8296 100644 --- a/c-api/intro.po +++ b/c-api/intro.po @@ -1,31 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Ruan Aragão , 2021 -# Leticia Portella , 2021 -# Italo Penaforte , 2021 -# felipe caridade , 2021 -# Marco Rougeth , 2023 -# Claudio Rogerio Carvalho Filho , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,8 +37,8 @@ msgid "" "API. The first reason is to write *extension modules* for specific purposes; " "these are C modules that extend the Python interpreter. This is probably " "the most common use. The second reason is to use Python as a component in a " -"larger application; this technique is generally referred to as :dfn:" -"`embedding` Python in an application." +"larger application; this technique is generally referred to " +"as :dfn:`embedding` Python in an application." msgstr "" "A Interface de Programação de Aplicações (API) para Python fornece aos " "programadores C e C++ acesso ao interpretador Python em uma variedade de " @@ -118,12 +113,12 @@ msgstr "" #: ../../c-api/intro.rst:54 msgid "" "This implies inclusion of the following standard headers: ````, " -"````, ````, ````, ```` and ```` (if available)." +"````, ````, ````, ```` and " +"```` (if available)." msgstr "" "Isso implica a inclusão dos seguintes cabeçalhos padrão: ````, " -"````, ````, ````, ```` e ```` (se disponível)." +"````, ````, ````, ```` e " +"```` (se disponível)." #: ../../c-api/intro.rst:60 msgid "" @@ -132,16 +127,17 @@ msgid "" "any standard headers are included." msgstr "" "Uma vez que Python pode definir algumas definições de pré-processador que " -"afetam os cabeçalhos padrão em alguns sistemas, você *deve* incluir :file:" -"`Python.h` antes de quaisquer cabeçalhos padrão serem incluídos." +"afetam os cabeçalhos padrão em alguns sistemas, você *deve* " +"incluir :file:`Python.h` antes de quaisquer cabeçalhos padrão serem " +"incluídos." #: ../../c-api/intro.rst:64 msgid "" "It is recommended to always define ``PY_SSIZE_T_CLEAN`` before including " "``Python.h``. See :ref:`arg-parsing` for a description of this macro." msgstr "" -"É recomendável sempre definir ``PY_SSIZE_T_CLEAN`` antes de incluir ``Python." -"h``. Veja :ref:`arg-parsing` para uma descrição desta macro." +"É recomendável sempre definir ``PY_SSIZE_T_CLEAN`` antes de incluir " +"``Python.h``. Veja :ref:`arg-parsing` para uma descrição desta macro." #: ../../c-api/intro.rst:67 msgid "" @@ -172,13 +168,13 @@ msgstr "" #: ../../c-api/intro.rst:79 msgid "" "The header files are typically installed with Python. On Unix, these are " -"located in the directories :file:`{prefix}/include/pythonversion/` and :file:" -"`{exec_prefix}/include/pythonversion/`, where :option:`prefix <--prefix>` " -"and :option:`exec_prefix <--exec-prefix>` are defined by the corresponding " -"parameters to Python's :program:`configure` script and *version* is ``'%d." -"%d' % sys.version_info[:2]``. On Windows, the headers are installed in :" -"file:`{prefix}/include`, where ``prefix`` is the installation directory " -"specified to the installer." +"located in the directories :file:`{prefix}/include/pythonversion/` " +"and :file:`{exec_prefix}/include/pythonversion/`, where :option:`prefix <--" +"prefix>` and :option:`exec_prefix <--exec-prefix>` are defined by the " +"corresponding parameters to Python's :program:`configure` script and " +"*version* is ``'%d.%d' % sys.version_info[:2]``. On Windows, the headers " +"are installed in :file:`{prefix}/include`, where ``prefix`` is the " +"installation directory specified to the installer." msgstr "" "Os arquivos de cabeçalho são normalmente instalados com Python. No Unix, " "eles estão localizados nos diretórios :file:`{prefix}/include/pythonversion/" @@ -194,14 +190,14 @@ msgid "" "To include the headers, place both directories (if different) on your " "compiler's search path for includes. Do *not* place the parent directories " "on the search path and then use ``#include ``; this will " -"break on multi-platform builds since the platform independent headers under :" -"option:`prefix <--prefix>` include the platform specific headers from :" -"option:`exec_prefix <--exec-prefix>`." +"break on multi-platform builds since the platform independent headers " +"under :option:`prefix <--prefix>` include the platform specific headers " +"from :option:`exec_prefix <--exec-prefix>`." msgstr "" "Para incluir os cabeçalhos, coloque os dois diretórios (se diferentes) no " "caminho de pesquisa do compilador para as inclusões. *Não* coloque os " -"diretórios pais no caminho de busca e então use ``#include ``; isto irá quebrar em compilações multiplataforma, uma vez que os " +"diretórios pais no caminho de busca e então use ``#include ``; isto irá quebrar em compilações multiplataforma, uma vez que os " "cabeçalhos independentes da plataforma em :option:`prefix <--prefix>` " "incluem os cabeçalhos específicos da plataforma de :option:`exec_prefix <--" "exec-prefix>`." @@ -229,15 +225,37 @@ msgid "" "a complete listing." msgstr "" "Diversas macros úteis são definidas nos arquivos de cabeçalho do Python. " -"Muitas são definidas mais próximas de onde são úteis (por exemplo, :c:macro:" -"`Py_RETURN_NONE`). Outras de utilidade mais geral são definidas aqui. Esta " -"não é necessariamente uma lista completa." +"Muitas são definidas mais próximas de onde são úteis (por " +"exemplo, :c:macro:`Py_RETURN_NONE`). Outras de utilidade mais geral são " +"definidas aqui. Esta não é necessariamente uma lista completa." #: ../../c-api/intro.rst:110 +msgid "" +"Declare an extension module ``PyInit`` initialization function. The function " +"return type is :c:expr:`PyObject*`. The macro declares any special linkage " +"declarations required by the platform, and for C++ declares the function as " +"``extern \"C\"``." +msgstr "" +"Declara uma função de inicialização do módulo de extensão ``PyInit``. O tipo " +"de retorno da função é :c:expr:`PyObject*`. A macro declara quaisquer " +"declarações de ligação especial necessárias pela plataforma e, para C++, " +"declara a função como ``extern \"C\"``." + +#: ../../c-api/intro.rst:115 +msgid "" +"The initialization function must be named :samp:`PyInit_{name}`, where " +"*name* is the name of the module, and should be the only non-\\ ``static`` " +"item defined in the module file. Example::" +msgstr "" +"A função de inicialização deve ser nomeada :samp:`PyInit_{name}`, onde " +"*name* é o nome do módulo, e deve ser o único item não-\\ ``static`` " +"definido no arquivo do módulo. Exemplo::" + +#: ../../c-api/intro.rst:134 msgid "Return the absolute value of ``x``." msgstr "Retorna o valor absoluto de ``x``." -#: ../../c-api/intro.rst:116 +#: ../../c-api/intro.rst:140 msgid "" "Ask the compiler to always inline a static inline function. The compiler can " "ignore it and decides to not inline the function." @@ -245,7 +263,7 @@ msgstr "" "Pede ao compilador para sempre embutir uma função em linha estática. O " "compilador pode ignorá-lo e decide não inserir a função." -#: ../../c-api/intro.rst:119 +#: ../../c-api/intro.rst:143 msgid "" "It can be used to inline performance critical static inline functions when " "building Python in debug mode with function inlining disabled. For example, " @@ -256,7 +274,7 @@ msgstr "" "linha desabilitada. Por exemplo, o MSC desabilita a função de inserir em " "linha ao compilar no modo de depuração." -#: ../../c-api/intro.rst:123 +#: ../../c-api/intro.rst:147 msgid "" "Marking blindly a static inline function with Py_ALWAYS_INLINE can result in " "worse performances (due to increased code size for example). The compiler is " @@ -267,20 +285,21 @@ msgstr "" "exemplo). O compilador geralmente é mais inteligente que o desenvolvedor " "para a análise de custo/benefício." -#: ../../c-api/intro.rst:127 +#: ../../c-api/intro.rst:151 msgid "" -"If Python is :ref:`built in debug mode ` (if the ``Py_DEBUG`` " -"macro is defined), the :c:macro:`Py_ALWAYS_INLINE` macro does nothing." +"If Python is :ref:`built in debug mode ` (if " +"the :c:macro:`Py_DEBUG` macro is defined), the :c:macro:`Py_ALWAYS_INLINE` " +"macro does nothing." msgstr "" "Se o Python tiver sido :ref:`compilado em modo de depuração ` " -"(se a macro ``Py_DEBUG`` estiver definida), a macro :c:macro:" -"`Py_ALWAYS_INLINE` não fará nada." +"(se a macro :c:macro:`Py_DEBUG` estiver definida), a " +"macro :c:macro:`Py_ALWAYS_INLINE` não fará nada." -#: ../../c-api/intro.rst:130 +#: ../../c-api/intro.rst:154 msgid "It must be specified before the function return type. Usage::" msgstr "Deve ser especificado antes do tipo de retorno da função. Uso::" -#: ../../c-api/intro.rst:138 +#: ../../c-api/intro.rst:162 msgid "" "Argument must be a character or an integer in the range [-128, 127] or [0, " "255]. This macro returns ``c`` cast to an ``unsigned char``." @@ -289,7 +308,7 @@ msgstr "" "127] ou [0, 255]. Esta macro retorna ``c`` convertido em um ``unsigned " "char``." -#: ../../c-api/intro.rst:143 +#: ../../c-api/intro.rst:167 msgid "" "Use this for deprecated declarations. The macro must be placed before the " "symbol name." @@ -297,16 +316,16 @@ msgstr "" "Use isso para declarações descontinuadas. A macro deve ser colocada antes do " "nome do símbolo." -#: ../../c-api/intro.rst:146 ../../c-api/intro.rst:232 -#: ../../c-api/intro.rst:250 +#: ../../c-api/intro.rst:170 ../../c-api/intro.rst:256 +#: ../../c-api/intro.rst:274 msgid "Example::" msgstr "Exemplo::" -#: ../../c-api/intro.rst:150 +#: ../../c-api/intro.rst:174 msgid "MSVC support was added." msgstr "Suporte a MSVC foi adicionado." -#: ../../c-api/intro.rst:155 +#: ../../c-api/intro.rst:179 msgid "" "Like ``getenv(s)``, but returns ``NULL`` if :option:`-E` was passed on the " "command line (i.e. if ``Py_IgnoreEnvironmentFlag`` is set)." @@ -314,40 +333,40 @@ msgstr "" "Como ``getenv(s)``, mas retorna ``NULL`` se :option:`-E` foi passada na " "linha de comando (isto é, se ``Py_IgnoreEnvironmentFlag`` estiver definida)." -#: ../../c-api/intro.rst:160 +#: ../../c-api/intro.rst:184 msgid "Return the maximum value between ``x`` and ``y``." msgstr "Retorna o valor máximo entre ``x`` e ``y``." -#: ../../c-api/intro.rst:166 +#: ../../c-api/intro.rst:190 msgid "Return the size of a structure (``type``) ``member`` in bytes." msgstr "Retorna o tamanho do ``member`` de uma estrutura (``type``) em bytes." -#: ../../c-api/intro.rst:172 +#: ../../c-api/intro.rst:196 msgid "Return the minimum value between ``x`` and ``y``." msgstr "Retorna o valor mínimo entre ``x`` e ``y``." -#: ../../c-api/intro.rst:178 +#: ../../c-api/intro.rst:202 msgid "" "Disable inlining on a function. For example, it reduces the C stack " -"consumption: useful on LTO+PGO builds which heavily inline code (see :issue:" -"`33720`)." +"consumption: useful on LTO+PGO builds which heavily inline code " +"(see :issue:`33720`)." msgstr "" "Desabilita a inserção em linha em uma função. Por exemplo, isso reduz o " "consumo da pilha C: útil em compilações LTO+PGO que faz uso intenso de " "inserção em linha de código (veja :issue:`33720`)." -#: ../../c-api/intro.rst:182 +#: ../../c-api/intro.rst:206 msgid "Usage::" msgstr "Uso::" -#: ../../c-api/intro.rst:190 +#: ../../c-api/intro.rst:214 msgid "" "Convert ``x`` to a C string. E.g. ``Py_STRINGIFY(123)`` returns ``\"123\"``." msgstr "" "Converte ``x`` para uma string C. Por exemplo, ``Py_STRINGIFY(123)`` retorna " "``\"123\"``." -#: ../../c-api/intro.rst:197 +#: ../../c-api/intro.rst:221 msgid "" "Use this when you have a code path that cannot be reached by design. For " "example, in the ``default:`` clause in a ``switch`` statement for which all " @@ -360,7 +379,7 @@ msgstr "" "instruções ``case``. Use isto em lugares onde você pode ficar tentado a " "colocar uma chamada ``assert(0)`` ou ``abort()``." -#: ../../c-api/intro.rst:202 +#: ../../c-api/intro.rst:226 msgid "" "In release mode, the macro helps the compiler to optimize the code, and " "avoids a warning about unreachable code. For example, the macro is " @@ -370,7 +389,7 @@ msgstr "" "evita um aviso sobre código inacessível. Por exemplo, a macro é implementada " "com ``__builtin_unreachable()`` no GCC em modo de lançamento." -#: ../../c-api/intro.rst:206 +#: ../../c-api/intro.rst:230 msgid "" "A use for ``Py_UNREACHABLE()`` is following a call a function that never " "returns but that is not declared :c:macro:`_Py_NO_RETURN`." @@ -378,7 +397,7 @@ msgstr "" "Um uso para ``Py_UNREACHABLE()`` é seguir uma chamada de uma função que " "nunca retorna, mas que não é declarada com :c:macro:`_Py_NO_RETURN`." -#: ../../c-api/intro.rst:209 +#: ../../c-api/intro.rst:233 msgid "" "If a code path is very unlikely code but can be reached under exceptional " "case, this macro must not be used. For example, under low memory condition " @@ -393,7 +412,7 @@ msgstr "" "Se o erro não puder ser reportado ao chamador, :c:func:`Py_FatalError` pode " "ser usada." -#: ../../c-api/intro.rst:219 +#: ../../c-api/intro.rst:243 msgid "" "Use this for unused arguments in a function definition to silence compiler " "warnings. Example: ``int func(int a, int Py_UNUSED(b)) { return a; }``." @@ -402,7 +421,7 @@ msgstr "" "silenciar avisos do compilador. Exemplo: ``int func(int a, int Py_UNUSED(b)) " "{ return a; }``." -#: ../../c-api/intro.rst:226 +#: ../../c-api/intro.rst:250 msgid "" "Creates a variable with name ``name`` that can be used in docstrings. If " "Python is built without docstrings, the value will be empty." @@ -410,7 +429,7 @@ msgstr "" "Cria uma variável com o nome ``name`` que pode ser usada em docstrings. Se o " "Python for compilado sem docstrings, o valor estará vazio." -#: ../../c-api/intro.rst:229 +#: ../../c-api/intro.rst:253 msgid "" "Use :c:macro:`PyDoc_STRVAR` for docstrings to support building Python " "without docstrings, as specified in :pep:`7`." @@ -418,7 +437,7 @@ msgstr "" "Use :c:macro:`PyDoc_STRVAR` para docstrings para ter suporte à compilação do " "Python sem docstrings, conforme especificado em :pep:`7`." -#: ../../c-api/intro.rst:244 +#: ../../c-api/intro.rst:268 msgid "" "Creates a docstring for the given input string or an empty string if " "docstrings are disabled." @@ -426,7 +445,7 @@ msgstr "" "Cria uma docstring para a string de entrada fornecida ou uma string vazia se " "docstrings estiverem desabilitadas." -#: ../../c-api/intro.rst:247 +#: ../../c-api/intro.rst:271 msgid "" "Use :c:macro:`PyDoc_STR` in specifying docstrings to support building Python " "without docstrings, as specified in :pep:`7`." @@ -434,11 +453,11 @@ msgstr "" "Use :c:macro:`PyDoc_STR` ao especificar docstrings para ter suporte à " "compilação do Python sem docstrings, conforme especificado em :pep:`7`." -#: ../../c-api/intro.rst:262 +#: ../../c-api/intro.rst:286 msgid "Objects, Types and Reference Counts" msgstr "Objetos, tipos e contagens de referências" -#: ../../c-api/intro.rst:266 +#: ../../c-api/intro.rst:290 msgid "" "Most Python/C API functions have one or more arguments as well as a return " "value of type :c:expr:`PyObject*`. This type is a pointer to an opaque data " @@ -446,9 +465,9 @@ msgid "" "are treated the same way by the Python language in most situations (e.g., " "assignments, scope rules, and argument passing), it is only fitting that " "they should be represented by a single C type. Almost all Python objects " -"live on the heap: you never declare an automatic or static variable of type :" -"c:type:`PyObject`, only pointer variables of type :c:expr:`PyObject*` can " -"be declared. The sole exception are the type objects; since these must " +"live on the heap: you never declare an automatic or static variable of " +"type :c:type:`PyObject`, only pointer variables of type :c:expr:`PyObject*` " +"can be declared. The sole exception are the type objects; since these must " "never be deallocated, they are typically static :c:type:`PyTypeObject` " "objects." msgstr "" @@ -462,66 +481,69 @@ msgstr "" "declara uma variável automática ou estática do tipo :c:type:`PyObject`, " "variáveis de apenas ponteiro do tipo :c:expr:`PyObject*` podem ser " "declaradas. A única exceção são os objetos de tipo; uma vez que estes nunca " -"devem ser desalocados, eles são normalmente objetos estáticos :c:type:" -"`PyTypeObject`." +"devem ser desalocados, eles são normalmente objetos " +"estáticos :c:type:`PyTypeObject`." -#: ../../c-api/intro.rst:277 +#: ../../c-api/intro.rst:301 msgid "" -"All Python objects (even Python integers) have a :dfn:`type` and a :dfn:" -"`reference count`. An object's type determines what kind of object it is (e." -"g., an integer, a list, or a user-defined function; there are many more as " -"explained in :ref:`types`). For each of the well-known types there is a " -"macro to check whether an object is of that type; for instance, " +"All Python objects (even Python integers) have a :dfn:`type` and " +"a :dfn:`reference count`. An object's type determines what kind of object " +"it is (e.g., an integer, a list, or a user-defined function; there are many " +"more as explained in :ref:`types`). For each of the well-known types there " +"is a macro to check whether an object is of that type; for instance, " "``PyList_Check(a)`` is true if (and only if) the object pointed to by *a* is " "a Python list." msgstr "" -"Todos os objetos Python (mesmo inteiros Python) têm um :dfn:`tipo` e uma :" -"dfn:`contagem de referências`. O tipo de um objeto determina que tipo de " -"objeto ele é (por exemplo, um número inteiro, uma lista ou uma função " -"definida pelo usuário; existem muitos mais, conforme explicado em :ref:" -"`types`). Para cada um dos tipos conhecidos, há uma macro para verificar se " -"um objeto é desse tipo; por exemplo, ``PyList_Check(a)`` é verdadeiro se (e " -"somente se) o objeto apontado por *a* for uma lista Python." +"Todos os objetos Python (mesmo inteiros Python) têm um :dfn:`tipo` e " +"uma :dfn:`contagem de referências`. O tipo de um objeto determina que tipo " +"de objeto ele é (por exemplo, um número inteiro, uma lista ou uma função " +"definida pelo usuário; existem muitos mais, conforme explicado " +"em :ref:`types`). Para cada um dos tipos conhecidos, há uma macro para " +"verificar se um objeto é desse tipo; por exemplo, ``PyList_Check(a)`` é " +"verdadeiro se (e somente se) o objeto apontado por *a* for uma lista Python." -#: ../../c-api/intro.rst:288 +#: ../../c-api/intro.rst:312 msgid "Reference Counts" msgstr "Contagens de referências" -#: ../../c-api/intro.rst:290 +#: ../../c-api/intro.rst:314 msgid "" "The reference count is important because today's computers have a finite " -"(and often severely limited) memory size; it counts how many different " -"places there are that have a reference to an object. Such a place could be " -"another object, or a global (or static) C variable, or a local variable in " -"some C function. When an object's reference count becomes zero, the object " -"is deallocated. If it contains references to other objects, their " -"reference count is decremented. Those other objects may be deallocated in " -"turn, if this decrement makes their reference count become zero, and so on. " -"(There's an obvious problem with objects that reference each other here; " -"for now, the solution is \"don't do that.\")" -msgstr "" -"A contagem de referência é importante porque os computadores de hoje têm um " -"tamanho de memória finito (e geralmente muito limitado); Conta quantos " -"lugares diferentes existem que têm uma referência a um objeto. Esse local " -"poderia ser outro objeto, uma variável C global (ou estática) ou uma " -"variável local em alguma função C. Quando a contagem de referência de um " -"objeto se torna zero, o objeto é desalocado. Se contiver referências a " -"outros objetos, sua contagem de referência será diminuída. Esses outros " -"objetos podem ser desalocados, por sua vez, se esse decremento fizer com que " -"sua contagem de referência se torne zero e assim por diante. (Há um problema " -"óbvio com objetos que fazem referência um ao outro aqui; por enquanto, a " -"solução é \"não faça isso\")." - -#: ../../c-api/intro.rst:305 -msgid "" -"Reference counts are always manipulated explicitly. The normal way is to " -"use the macro :c:func:`Py_INCREF` to increment an object's reference count " -"by one, and :c:func:`Py_DECREF` to decrement it by one. The :c:func:" -"`Py_DECREF` macro is considerably more complex than the incref one, since it " -"must check whether the reference count becomes zero and then cause the " -"object's deallocator to be called. The deallocator is a function pointer " -"contained in the object's type structure. The type-specific deallocator " -"takes care of decrementing the reference counts for other objects contained " +"(and often severely limited) memory size; it counts how many different " +"places there are that have a :term:`strong reference` to an object. Such a " +"place could be another object, or a global (or static) C variable, or a " +"local variable in some C function. When the last :term:`strong reference` to " +"an object is released (i.e. its reference count becomes zero), the object is " +"deallocated. If it contains references to other objects, those references " +"are released. Those other objects may be deallocated in turn, if there are " +"no more references to them, and so on. (There's an obvious problem with " +"objects that reference each other here; for now, the solution is \"don't do " +"that.\")" +msgstr "" +"A contagem de referências é importante porque os computadores atuais têm um " +"tamanho de memória finito (e frequentemente severamente limitado); ela conta " +"quantos lugares diferentes existem que possuem uma :term:`referência forte` " +"a um objeto. Tal lugar pode ser outro objeto, ou uma variável C global (ou " +"estática), ou uma variável local em alguma função C. Quando a " +"última :term:`referência forte` a um objeto é liberada (ou seja, sua " +"contagem de referências se torna zero), o objeto é desalocado. Se ele " +"contiver referências a outros objetos, essas referências são liberadas. " +"Esses outros objetos podem ser desalocados por sua vez, se não houver mais " +"referências a eles, e assim por diante. (Há um problema óbvio com objetos " +"que referenciam uns aos outros aqui; por enquanto, a solução é \"não faça " +"isso\".)" + +#: ../../c-api/intro.rst:331 +msgid "" +"Reference counts are always manipulated explicitly. The normal way is to " +"use the macro :c:func:`Py_INCREF` to take a new reference to an object (i.e. " +"increment its reference count by one), and :c:func:`Py_DECREF` to release " +"that reference (i.e. decrement the reference count by one). " +"The :c:func:`Py_DECREF` macro is considerably more complex than the incref " +"one, since it must check whether the reference count becomes zero and then " +"cause the object's deallocator to be called. The deallocator is a function " +"pointer contained in the object's type structure. The type-specific " +"deallocator takes care of releasing references for other objects contained " "in the object if this is a compound object type, such as a list, as well as " "performing any additional finalization that's needed. There's no chance " "that the reference count can overflow; at least as many bits are used to " @@ -529,93 +551,96 @@ msgid "" "memory (assuming ``sizeof(Py_ssize_t) >= sizeof(void*)``). Thus, the " "reference count increment is a simple operation." msgstr "" -"As contagens de referências são sempre manipuladas explicitamente. A maneira " -"normal é usar a macro :c:func:`Py_INCREF` para incrementar a contagem de " -"referências de um objeto em um, e :c:func:`Py_DECREF` para diminuí-la em um. " -"A macro :c:func:`Py_DECREF` é consideravelmente mais complexa que a " -"\"incref\", uma vez que deve verificar se a contagem de referências torna-se " -"zero e então fazer com que o desalocador do objeto seja chamado. O " -"desalocador é um ponteiro de função contido na estrutura de tipo do objeto. " -"O desalocador específico do tipo se encarrega de diminuir as contagens de " -"referências para outros objetos contidos no objeto se este for um tipo de " -"objeto composto, como uma lista, bem como realizar qualquer finalização " -"adicional necessária. Não há chance de que a contagem de referências possa " -"estourar; pelo menos tantos bits são usados ​​para manter a contagem de " -"referência quanto há locais de memória distintos na memória virtual " -"(assumindo ``sizeof(Py_ssize_t) >= sizeof(void*)``). Portanto, o incremento " -"da contagem de referências é uma operação simples." - -#: ../../c-api/intro.rst:319 -msgid "" -"It is not necessary to increment an object's reference count for every " -"local variable that contains a pointer to an object. In theory, the " -"object's reference count goes up by one when the variable is made to point " -"to it and it goes down by one when the variable goes out of scope. " -"However, these two cancel each other out, so at the end the reference count " -"hasn't changed. The only real reason to use the reference count is to " -"prevent the object from being deallocated as long as our variable is " -"pointing to it. If we know that there is at least one other reference to " -"the object that lives at least as long as our variable, there is no need to " -"increment the reference count temporarily. An important situation where " -"this arises is in objects that are passed as arguments to C functions in an " -"extension module that are called from Python; the call mechanism guarantees " -"to hold a reference to every argument for the duration of the call." -msgstr "" -"Não é necessário incrementar a contagem de referências de um objeto para " -"cada variável local que contém um ponteiro para um objeto. Em teoria, a " -"contagem de referências do objeto aumenta em um quando a variável é feita " -"para apontar para ele e diminui em um quando a variável sai do escopo. No " -"entanto, esses dois se cancelam, portanto, no final, a contagem de " -"referências não mudou. A única razão real para usar a contagem de " -"referências é evitar que o objeto seja desalocado enquanto nossa variável " -"estiver apontando para ele. Se sabemos que existe pelo menos uma outra " -"referência ao objeto que vive pelo menos tanto quanto nossa variável, não há " -"necessidade de incrementar a contagem de referências temporariamente. Uma " -"situação importante em que isso ocorre é em objetos que são passados como " -"argumentos para funções C em um módulo de extensão que são chamados de " -"Python; o mecanismo de chamada garante manter uma referência a todos os " -"argumentos durante a chamada." - -#: ../../c-api/intro.rst:333 +"Contagens de referências são sempre manipuladas explicitamente. A maneira " +"normal é usar a macro :c:func:`Py_INCREF` para obter uma nova referência a " +"um objeto (ou seja, incrementar sua contagem de referências em um), " +"e :c:func:`Py_DECREF` para liberar essa referência (ou seja, decrementar a " +"contagem de referências em um). A macro :c:func:`Py_DECREF` é " +"consideravelmente mais complexa do que a incref, pois deve verificar se a " +"contagem de referências se torna zero e, em seguida, fazer com que o " +"desalocador do objeto seja chamado. O desalocador é um ponteiro para função " +"contido na estrutura de tipo do objeto. O desalocador específico do tipo " +"cuida da liberação de referências para outros objetos contidos no objeto se " +"este for um tipo de objeto composto, como uma lista, bem como de executar " +"qualquer finalização adicional necessária. Não há chance de a contagem de " +"referências transbordar; pelo menos tantos bits são usados para armazenar a " +"contagem de referência quantos forem os locais de memória distintos na " +"memória virtual (presumindo ``sizeof(Py_ssize_t) >= sizeof(void*)``). " +"Portanto, o incremento da contagem de referências é uma operação simples." + +#: ../../c-api/intro.rst:347 +msgid "" +"It is not necessary to hold a :term:`strong reference` (i.e. increment the " +"reference count) for every local variable that contains a pointer to an " +"object. In theory, the object's reference count goes up by one when the " +"variable is made to point to it and it goes down by one when the variable " +"goes out of scope. However, these two cancel each other out, so at the end " +"the reference count hasn't changed. The only real reason to use the " +"reference count is to prevent the object from being deallocated as long as " +"our variable is pointing to it. If we know that there is at least one " +"other reference to the object that lives at least as long as our variable, " +"there is no need to take a new :term:`strong reference` (i.e. increment the " +"reference count) temporarily. An important situation where this arises is in " +"objects that are passed as arguments to C functions in an extension module " +"that are called from Python; the call mechanism guarantees to hold a " +"reference to every argument for the duration of the call." +msgstr "" +"Não é necessário manter uma :term:`referência forte` (ou seja, incrementar a " +"contagem de referências) para cada variável local que contém um ponteiro " +"para um objeto. Em teoria, a contagem de referências do objeto aumenta em um " +"quando a variável é feita para apontar para ele e diminui em um quando a " +"variável sai do escopo. No entanto, esses dois se cancelam, portanto, no " +"final, a contagem de referências não mudou. A única razão real para usar a " +"contagem de referências é evitar que o objeto seja desalocado enquanto nossa " +"variável estiver apontando para ele. Se sabemos que existe pelo menos uma " +"outra referência ao objeto que vive pelo menos tanto quanto nossa variável, " +"não há necessidade de tomar uma nova :term:`referência forte` (ou seja, " +"incrementar a contagem de referências) temporariamente. Uma situação " +"importante em que isso ocorre é em objetos que são passados como argumentos " +"para funções C em um módulo de extensão que são chamados de Python; o " +"mecanismo de chamada garante manter uma referência a todos os argumentos " +"durante a chamada." + +#: ../../c-api/intro.rst:363 msgid "" "However, a common pitfall is to extract an object from a list and hold on to " -"it for a while without incrementing its reference count. Some other " -"operation might conceivably remove the object from the list, decrementing " -"its reference count and possibly deallocating it. The real danger is that " -"innocent-looking operations may invoke arbitrary Python code which could do " -"this; there is a code path which allows control to flow back to the user " -"from a :c:func:`Py_DECREF`, so almost any operation is potentially dangerous." +"it for a while without taking a new reference. Some other operation might " +"conceivably remove the object from the list, releasing that reference, and " +"possibly deallocating it. The real danger is that innocent-looking " +"operations may invoke arbitrary Python code which could do this; there is a " +"code path which allows control to flow back to the user from " +"a :c:func:`Py_DECREF`, so almost any operation is potentially dangerous." msgstr "" "No entanto, uma armadilha comum é extrair um objeto de uma lista e mantê-lo " -"por um tempo, sem incrementar sua contagem de referências. Alguma outra " -"operação poderia remover o objeto da lista, diminuindo sua contagem de " -"referências e possivelmente desalocando-o. O perigo real é que operações " -"aparentemente inocentes podem invocar código Python arbitrário que poderia " -"fazer isso; existe um caminho de código que permite que o controle flua de " -"volta para o usuário a partir de um :c:func:`Py_DECREF`, então quase " -"qualquer operação é potencialmente perigosa." +"por um tempo, sem tomar uma nova referência. Alguma outra operação poderia " +"remover o objeto da lista, liberando essa referência e possivelmente " +"desalocando-o. O perigo real é que operações aparentemente inocentes podem " +"invocar código Python arbitrário que poderia fazer isso; existe um caminho " +"de código que permite que o controle flua de volta para o usuário a partir " +"de um :c:func:`Py_DECREF`, então quase qualquer operação é potencialmente " +"perigosa." -#: ../../c-api/intro.rst:341 +#: ../../c-api/intro.rst:371 msgid "" "A safe approach is to always use the generic operations (functions whose " "name begins with ``PyObject_``, ``PyNumber_``, ``PySequence_`` or " -"``PyMapping_``). These operations always increment the reference count of " -"the object they return. This leaves the caller with the responsibility to " -"call :c:func:`Py_DECREF` when they are done with the result; this soon " -"becomes second nature." +"``PyMapping_``). These operations always create a new :term:`strong " +"reference` (i.e. increment the reference count) of the object they return. " +"This leaves the caller with the responsibility to call :c:func:`Py_DECREF` " +"when they are done with the result; this soon becomes second nature." msgstr "" "Uma abordagem segura é sempre usar as operações genéricas (funções cujo nome " "começa com ``PyObject_``, ``PyNumber_``, ``PySequence_`` ou ``PyMapping_``). " -"Essas operações sempre incrementam a contagem de referências do objeto que " -"retornam. Isso deixa o chamador com a responsabilidade de chamar :c:func:" -"`Py_DECREF` quando terminar com o resultado; isso logo se torna uma segunda " -"natureza." +"Essas operações sempre criam uma nova :term:`referência forte` (ou seja, " +"incrementam a contagem de referências) do objeto que retornam. Isso deixa o " +"chamador com a responsabilidade de chamar :c:func:`Py_DECREF` quando " +"terminar com o resultado; isso logo se torna uma segunda natureza." -#: ../../c-api/intro.rst:351 +#: ../../c-api/intro.rst:382 msgid "Reference Count Details" msgstr "Detalhes da contagem de referências" -#: ../../c-api/intro.rst:353 +#: ../../c-api/intro.rst:384 msgid "" "The reference count behavior of functions in the Python/C API is best " "explained in terms of *ownership of references*. Ownership pertains to " @@ -623,30 +648,30 @@ msgid "" "shared). \"Owning a reference\" means being responsible for calling " "Py_DECREF on it when the reference is no longer needed. Ownership can also " "be transferred, meaning that the code that receives ownership of the " -"reference then becomes responsible for eventually decref'ing it by calling :" -"c:func:`Py_DECREF` or :c:func:`Py_XDECREF` when it's no longer needed---or " -"passing on this responsibility (usually to its caller). When a function " -"passes ownership of a reference on to its caller, the caller is said to " -"receive a *new* reference. When no ownership is transferred, the caller is " -"said to *borrow* the reference. Nothing needs to be done for a :term:" -"`borrowed reference`." -msgstr "" -"O comportamento da contagem de referências de funções na API Python/C é " +"reference then becomes responsible for eventually releasing it by " +"calling :c:func:`Py_DECREF` or :c:func:`Py_XDECREF` when it's no longer " +"needed---or passing on this responsibility (usually to its caller). When a " +"function passes ownership of a reference on to its caller, the caller is " +"said to receive a *new* reference. When no ownership is transferred, the " +"caller is said to *borrow* the reference. Nothing needs to be done for " +"a :term:`borrowed reference`." +msgstr "" +"O comportamento da contagem de referências de funções na API C/Python é " "melhor explicado em termos de *propriedade de referências*. A propriedade " "pertence às referências, nunca aos objetos (os objetos não são possuídos: " "eles são sempre compartilhados). \"Possuir uma referência\" significa ser " "responsável por chamar Py_DECREF nela quando a referência não for mais " "necessária. A propriedade também pode ser transferida, o que significa que o " "código que recebe a propriedade da referência torna-se responsável por " -"eventualmente efetuar um decref nela chamando :c:func:`Py_DECREF` ou :c:func:" -"`Py_XDECREF` quando não é mais necessário -- ou passando essa " +"eventualmente efetuar um liberando ela chamando :c:func:`Py_DECREF` " +"ou :c:func:`Py_XDECREF` quando não é mais necessário -- ou passando essa " "responsabilidade (geralmente para o responsável pela chamada). Quando uma " "função passa a propriedade de uma referência para seu chamador, diz-se que o " "chamador recebe uma *nova* referência. Quando nenhuma propriedade é " "transferida, diz-se que o chamador *toma emprestado* a referência. Nada " "precisa ser feito para uma :term:`referência emprestada`." -#: ../../c-api/intro.rst:366 +#: ../../c-api/intro.rst:397 msgid "" "Conversely, when a calling function passes in a reference to an object, " "there are two possibilities: the function *steals* a reference to the " @@ -657,30 +682,30 @@ msgstr "" "Por outro lado, quando uma função de chamada passa uma referência a um " "objeto, há duas possibilidades: a função *rouba* uma referência ao objeto, " "ou não. *Roubar uma referência* significa que quando você passa uma " -"referência para uma função, essa função assume que agora ela possui essa " +"referência para uma função, essa função presume que agora ela possui essa " "referência e você não é mais responsável por ela." -#: ../../c-api/intro.rst:376 +#: ../../c-api/intro.rst:407 msgid "" -"Few functions steal references; the two notable exceptions are :c:func:" -"`PyList_SetItem` and :c:func:`PyTuple_SetItem`, which steal a reference to " -"the item (but not to the tuple or list into which the item is put!). These " -"functions were designed to steal a reference because of a common idiom for " -"populating a tuple or list with newly created objects; for example, the code " -"to create the tuple ``(1, 2, \"three\")`` could look like this (forgetting " -"about error handling for the moment; a better way to code this is shown " -"below)::" +"Few functions steal references; the two notable exceptions " +"are :c:func:`PyList_SetItem` and :c:func:`PyTuple_SetItem`, which steal a " +"reference to the item (but not to the tuple or list into which the item is " +"put!). These functions were designed to steal a reference because of a " +"common idiom for populating a tuple or list with newly created objects; for " +"example, the code to create the tuple ``(1, 2, \"three\")`` could look like " +"this (forgetting about error handling for the moment; a better way to code " +"this is shown below)::" msgstr "" -"Poucas funções roubam referências; as duas exceções notáveis são :c:func:" -"`PyList_SetItem` e :c:func:`PyTuple_SetItem`, que roubam uma referência para " -"o item (mas não para a tupla ou lista na qual o item é colocado!). Essas " -"funções foram projetadas para roubar uma referência devido a um idioma comum " -"para preencher uma tupla ou lista com objetos recém-criados; por exemplo, o " -"código para criar a tupla ``(1, 2, \"three\")`` pode ser parecido com isto " -"(esquecendo o tratamento de erros por enquanto; uma maneira melhor de " -"codificar isso é mostrada abaixo)::" +"Poucas funções roubam referências; as duas exceções notáveis " +"são :c:func:`PyList_SetItem` e :c:func:`PyTuple_SetItem`, que roubam uma " +"referência para o item (mas não para a tupla ou lista na qual o item é " +"colocado!). Essas funções foram projetadas para roubar uma referência devido " +"a um idioma comum para preencher uma tupla ou lista com objetos recém-" +"criados; por exemplo, o código para criar a tupla ``(1, 2, \"three\")`` pode " +"ser parecido com isto (esquecendo o tratamento de erros por enquanto; uma " +"maneira melhor de codificar isso é mostrada abaixo)::" -#: ../../c-api/intro.rst:391 +#: ../../c-api/intro.rst:422 msgid "" "Here, :c:func:`PyLong_FromLong` returns a new reference which is immediately " "stolen by :c:func:`PyTuple_SetItem`. When you want to keep using an object " @@ -689,65 +714,65 @@ msgid "" msgstr "" "Aqui, :c:func:`PyLong_FromLong` retorna uma nova referência que é " "imediatamente roubada por :c:func:`PyTuple_SetItem`. Quando você quiser " -"continuar usando um objeto, embora a referência a ele seja roubada, use :c:" -"func:`Py_INCREF` para obter outra referência antes de chamar a função de " -"roubo de referência." +"continuar usando um objeto, embora a referência a ele seja roubada, " +"use :c:func:`Py_INCREF` para obter outra referência antes de chamar a função " +"de roubo de referência." -#: ../../c-api/intro.rst:396 +#: ../../c-api/intro.rst:427 msgid "" "Incidentally, :c:func:`PyTuple_SetItem` is the *only* way to set tuple " "items; :c:func:`PySequence_SetItem` and :c:func:`PyObject_SetItem` refuse to " -"do this since tuples are an immutable data type. You should only use :c:" -"func:`PyTuple_SetItem` for tuples that you are creating yourself." +"do this since tuples are an immutable data type. You should only " +"use :c:func:`PyTuple_SetItem` for tuples that you are creating yourself." msgstr "" "A propósito, :c:func:`PyTuple_SetItem` é a *única* maneira de definir itens " "de tupla; :c:func:`PySequence_SetItem` e :c:func:`PyObject_SetItem` se " "recusam a fazer isso, pois tuplas são um tipo de dados imutável. Você só " "deve usar :c:func:`PyTuple_SetItem` para tuplas que você mesmo está criando." -#: ../../c-api/intro.rst:401 +#: ../../c-api/intro.rst:432 msgid "" -"Equivalent code for populating a list can be written using :c:func:" -"`PyList_New` and :c:func:`PyList_SetItem`." +"Equivalent code for populating a list can be written " +"using :c:func:`PyList_New` and :c:func:`PyList_SetItem`." msgstr "" -"O código equivalente para preencher uma lista pode ser escrita usando :c:" -"func:`PyList_New` e :c:func:`PyList_SetItem`." +"O código equivalente para preencher uma lista pode ser escrita " +"usando :c:func:`PyList_New` e :c:func:`PyList_SetItem`." -#: ../../c-api/intro.rst:404 +#: ../../c-api/intro.rst:435 msgid "" "However, in practice, you will rarely use these ways of creating and " -"populating a tuple or list. There's a generic function, :c:func:" -"`Py_BuildValue`, that can create most common objects from C values, directed " -"by a :dfn:`format string`. For example, the above two blocks of code could " -"be replaced by the following (which also takes care of the error checking)::" +"populating a tuple or list. There's a generic " +"function, :c:func:`Py_BuildValue`, that can create most common objects from " +"C values, directed by a :dfn:`format string`. For example, the above two " +"blocks of code could be replaced by the following (which also takes care of " +"the error checking)::" msgstr "" "No entanto, na prática, você raramente usará essas maneiras de criar e " -"preencher uma tupla ou lista. Existe uma função genérica, :c:func:" -"`Py_BuildValue`, que pode criar objetos mais comuns a partir de valores C, " -"dirigidos por uma :dfn:`string de formato`. Por exemplo, os dois blocos de " -"código acima podem ser substituídos pelos seguintes (que também cuidam da " -"verificação de erros)::" +"preencher uma tupla ou lista. Existe uma função " +"genérica, :c:func:`Py_BuildValue`, que pode criar objetos mais comuns a " +"partir de valores C, dirigidos por uma :dfn:`string de formato`. Por " +"exemplo, os dois blocos de código acima podem ser substituídos pelos " +"seguintes (que também cuidam da verificação de erros)::" -#: ../../c-api/intro.rst:415 +#: ../../c-api/intro.rst:446 msgid "" "It is much more common to use :c:func:`PyObject_SetItem` and friends with " "items whose references you are only borrowing, like arguments that were " "passed in to the function you are writing. In that case, their behaviour " -"regarding reference counts is much saner, since you don't have to increment " -"a reference count so you can give a reference away (\"have it be stolen\"). " +"regarding references is much saner, since you don't have to take a new " +"reference just so you can give that reference away (\"have it be stolen\"). " "For example, this function sets all items of a list (actually, any mutable " "sequence) to a given item::" msgstr "" "É muito mais comum usar :c:func:`PyObject_SetItem` e amigos com itens cujas " "referências você está apenas pegando emprestado, como argumentos que foram " "passados para a função que você está escrevendo. Nesse caso, o comportamento " -"deles em relação às contagens de referência é muito mais são, já que você " -"não precisa incrementar uma contagem de referências para que possa dar uma " -"referência (\"mande-a ser roubada\"). Por exemplo, esta função define todos " -"os itens de uma lista (na verdade, qualquer sequência mutável) para um " -"determinado item::" +"deles em relação às referências é muito mais são, já que você não precisa " +"tomar uma nova referência só para poder doá-la (\"mande-a ser roubada\"). " +"Por exemplo, esta função define todos os itens de uma lista (na verdade, " +"qualquer sequência mutável) para um determinado item::" -#: ../../c-api/intro.rst:445 +#: ../../c-api/intro.rst:476 msgid "" "The situation is slightly different for function return values. While " "passing a reference to most functions does not change your ownership " @@ -769,7 +794,7 @@ msgstr "" "como :c:func:`PyObject_GetItem` e :c:func:`PySequence_GetItem`, sempre " "retornam uma nova referência (o chamador torna-se o dono da referência)." -#: ../../c-api/intro.rst:454 +#: ../../c-api/intro.rst:485 msgid "" "It is important to realize that whether you own a reference returned by a " "function depends on which function you call only --- *the plumage* (the type " @@ -783,43 +808,44 @@ msgstr "" "função depende de qual função você chama apenas --- *a plumagem* (o tipo do " "objeto passado como um argumento para a função) *não entra nela!* Assim, se " "você extrair um item de uma lista usando :c:func:`PyList_GetItem`, você não " -"possui a referência --- mas se obtiver o mesmo item da mesma lista usando :c:" -"func:`PySequence_GetItem` (que leva exatamente os mesmos argumentos), você " -"possui uma referência ao objeto retornado." +"possui a referência --- mas se obtiver o mesmo item da mesma lista " +"usando :c:func:`PySequence_GetItem` (que leva exatamente os mesmos " +"argumentos), você possui uma referência ao objeto retornado." -#: ../../c-api/intro.rst:466 +#: ../../c-api/intro.rst:497 msgid "" "Here is an example of how you could write a function that computes the sum " "of the items in a list of integers; once using :c:func:`PyList_GetItem`, " "and once using :c:func:`PySequence_GetItem`. ::" msgstr "" "Aqui está um exemplo de como você poderia escrever uma função que calcula a " -"soma dos itens em uma lista de inteiros; uma vez usando :c:func:" -"`PyList_GetItem`, e uma vez usando :c:func:`PySequence_GetItem`. ::" +"soma dos itens em uma lista de inteiros; uma vez " +"usando :c:func:`PyList_GetItem`, e uma vez " +"usando :c:func:`PySequence_GetItem`. ::" -#: ../../c-api/intro.rst:530 +#: ../../c-api/intro.rst:561 msgid "Types" msgstr "Tipos" -#: ../../c-api/intro.rst:532 +#: ../../c-api/intro.rst:563 msgid "" "There are few other data types that play a significant role in the Python/C " -"API; most are simple C types such as :c:expr:`int`, :c:expr:`long`, :c:expr:" -"`double` and :c:expr:`char*`. A few structure types are used to describe " -"static tables used to list the functions exported by a module or the data " -"attributes of a new object type, and another is used to describe the value " -"of a complex number. These will be discussed together with the functions " -"that use them." +"API; most are simple C types such " +"as :c:expr:`int`, :c:expr:`long`, :c:expr:`double` and :c:expr:`char*`. A " +"few structure types are used to describe static tables used to list the " +"functions exported by a module or the data attributes of a new object type, " +"and another is used to describe the value of a complex number. These will " +"be discussed together with the functions that use them." msgstr "" "Existem alguns outros tipos de dados que desempenham um papel significativo " -"na API Python/C; a maioria são tipos C simples, como :c:expr:`int`, :c:expr:" -"`long`, :c:expr:`double` e :c:expr:`char*`. Alguns tipos de estrutura são " -"usados para descrever tabelas estáticas usadas para listar as funções " -"exportadas por um módulo ou os atributos de dados de um novo tipo de objeto, " -"e outro é usado para descrever o valor de um número complexo. Eles serão " -"discutidos junto com as funções que os utilizam." +"na API Python/C; a maioria são tipos C simples, " +"como :c:expr:`int`, :c:expr:`long`, :c:expr:`double` e :c:expr:`char*`. " +"Alguns tipos de estrutura são usados para descrever tabelas estáticas usadas " +"para listar as funções exportadas por um módulo ou os atributos de dados de " +"um novo tipo de objeto, e outro é usado para descrever o valor de um número " +"complexo. Eles serão discutidos junto com as funções que os utilizam." -#: ../../c-api/intro.rst:542 +#: ../../c-api/intro.rst:573 msgid "" "A signed integral type such that ``sizeof(Py_ssize_t) == sizeof(size_t)``. " "C99 doesn't define such a thing directly (size_t is an unsigned integral " @@ -831,11 +857,11 @@ msgstr "" "assinado). Veja :pep:`353` para mais detalhes. ``PY_SSIZE_T_MAX`` é o maior " "valor positivo do tipo :c:type:`Py_ssize_t`." -#: ../../c-api/intro.rst:551 +#: ../../c-api/intro.rst:582 msgid "Exceptions" msgstr "Exceções" -#: ../../c-api/intro.rst:553 +#: ../../c-api/intro.rst:584 msgid "" "The Python programmer only needs to deal with exceptions if specific error " "handling is required; unhandled exceptions are automatically propagated to " @@ -849,7 +875,7 @@ msgstr "" "até chegarem ao interpretador de nível superior, onde são relatadas ao " "usuário acompanhadas por um traceback (situação da pilha de execução)." -#: ../../c-api/intro.rst:561 +#: ../../c-api/intro.rst:592 msgid "" "For C programmers, however, error checking always has to be explicit. All " "functions in the Python/C API can raise exceptions, unless an explicit claim " @@ -876,17 +902,17 @@ msgstr "" "para erros com :c:func:`PyErr_Occurred`. Essas exceções são sempre " "documentadas explicitamente." -#: ../../c-api/intro.rst:576 +#: ../../c-api/intro.rst:607 msgid "" "Exception state is maintained in per-thread storage (this is equivalent to " "using global storage in an unthreaded application). A thread can be in one " -"of two states: an exception has occurred, or not. The function :c:func:" -"`PyErr_Occurred` can be used to check for this: it returns a borrowed " -"reference to the exception type object when an exception has occurred, and " -"``NULL`` otherwise. There are a number of functions to set the exception " -"state: :c:func:`PyErr_SetString` is the most common (though not the most " -"general) function to set the exception state, and :c:func:`PyErr_Clear` " -"clears the exception state." +"of two states: an exception has occurred, or not. The " +"function :c:func:`PyErr_Occurred` can be used to check for this: it returns " +"a borrowed reference to the exception type object when an exception has " +"occurred, and ``NULL`` otherwise. There are a number of functions to set " +"the exception state: :c:func:`PyErr_SetString` is the most common (though " +"not the most general) function to set the exception state, " +"and :c:func:`PyErr_Clear` clears the exception state." msgstr "" "O estado de exceção é mantido no armazenamento por thread (isso é " "equivalente a usar o armazenamento global em uma aplicação sem thread). Uma " @@ -895,57 +921,57 @@ msgstr "" "retorna uma referência emprestada ao objeto do tipo de exceção quando uma " "exceção ocorreu, e ``NULL`` caso contrário. Existem várias funções para " "definir o estado de exceção: :c:func:`PyErr_SetString` é a função mais comum " -"(embora não a mais geral) para definir o estado de exceção, e :c:func:" -"`PyErr_Clear` limpa o estado da exceção." +"(embora não a mais geral) para definir o estado de exceção, " +"e :c:func:`PyErr_Clear` limpa o estado da exceção." -#: ../../c-api/intro.rst:586 +#: ../../c-api/intro.rst:617 msgid "" "The full exception state consists of three objects (all of which can be " "``NULL``): the exception type, the corresponding exception value, and the " -"traceback. These have the same meanings as the Python result of ``sys." -"exc_info()``; however, they are not the same: the Python objects represent " -"the last exception being handled by a Python :keyword:`try` ... :keyword:" -"`except` statement, while the C level exception state only exists while an " -"exception is being passed on between C functions until it reaches the Python " -"bytecode interpreter's main loop, which takes care of transferring it to " -"``sys.exc_info()`` and friends." +"traceback. These have the same meanings as the Python result of " +"``sys.exc_info()``; however, they are not the same: the Python objects " +"represent the last exception being handled by a " +"Python :keyword:`try` ... :keyword:`except` statement, while the C level " +"exception state only exists while an exception is being passed on between C " +"functions until it reaches the Python bytecode interpreter's main loop, " +"which takes care of transferring it to ``sys.exc_info()`` and friends." msgstr "" "O estado de exceção completo consiste em três objetos (todos os quais podem " "ser ``NULL``): o tipo de exceção, o valor de exceção correspondente e o " -"traceback. Eles têm os mesmos significados que o resultado do Python de " +"traceback. Eles têm os mesmos significados que o resultado no Python de " "``sys.exc_info()``; no entanto, eles não são os mesmos: os objetos Python " -"representam a última exceção sendo tratada por uma instrução Python :keyword:" -"`try` ... :keyword:`except`, enquanto o estado de exceção de nível C só " -"existe enquanto uma exceção está sendo transmitido entre funções C até " -"atingir o loop principal do interpretador de bytecode Python, que se " -"encarrega de transferi-lo para ``sys.exc_info()`` e amigos." +"representam a última exceção sendo tratada por uma instrução " +"Python :keyword:`try` ... :keyword:`except`, enquanto o estado de exceção de " +"nível C só existe enquanto uma exceção está sendo transmitido entre funções " +"C até atingir o laço de repetição principal do interpretador de bytecode " +"Python, que se encarrega de transferi-lo para ``sys.exc_info()`` e amigos." -#: ../../c-api/intro.rst:598 +#: ../../c-api/intro.rst:629 msgid "" "Note that starting with Python 1.5, the preferred, thread-safe way to access " -"the exception state from Python code is to call the function :func:`sys." -"exc_info`, which returns the per-thread exception state for Python code. " -"Also, the semantics of both ways to access the exception state have changed " -"so that a function which catches an exception will save and restore its " -"thread's exception state so as to preserve the exception state of its " -"caller. This prevents common bugs in exception handling code caused by an " -"innocent-looking function overwriting the exception being handled; it also " -"reduces the often unwanted lifetime extension for objects that are " -"referenced by the stack frames in the traceback." +"the exception state from Python code is to call the " +"function :func:`sys.exc_info`, which returns the per-thread exception state " +"for Python code. Also, the semantics of both ways to access the exception " +"state have changed so that a function which catches an exception will save " +"and restore its thread's exception state so as to preserve the exception " +"state of its caller. This prevents common bugs in exception handling code " +"caused by an innocent-looking function overwriting the exception being " +"handled; it also reduces the often unwanted lifetime extension for objects " +"that are referenced by the stack frames in the traceback." msgstr "" "Observe que a partir do Python 1.5, a maneira preferida e segura para thread " -"para acessar o estado de exceção do código Python é chamar a função :func:" -"`sys.exc_info`, que retorna o estado de exceção por thread para o código " -"Python. Além disso, a semântica de ambas as maneiras de acessar o estado de " -"exceção mudou, de modo que uma função que captura uma exceção salvará e " -"restaurará o estado de exceção de seu segmento de modo a preservar o estado " -"de exceção de seu chamador. Isso evita bugs comuns no código de tratamento " -"de exceções causados por uma função aparentemente inocente sobrescrevendo a " -"exceção sendo tratada; também reduz a extensão da vida útil frequentemente " -"indesejada para objetos que são referenciados pelos quadros de pilha no " -"traceback." - -#: ../../c-api/intro.rst:609 +"para acessar o estado de exceção do código Python é chamar a " +"função :func:`sys.exc_info`, que retorna o estado de exceção por thread para " +"o código Python. Além disso, a semântica de ambas as maneiras de acessar o " +"estado de exceção mudou, de modo que uma função que captura uma exceção " +"salvará e restaurará o estado de exceção de seu segmento de modo a preservar " +"o estado de exceção de seu chamador. Isso evita bugs comuns no código de " +"tratamento de exceções causados por uma função aparentemente inocente " +"sobrescrevendo a exceção sendo tratada; também reduz a extensão da vida útil " +"frequentemente indesejada para objetos que são referenciados pelos quadros " +"de pilha no traceback." + +#: ../../c-api/intro.rst:640 msgid "" "As a general principle, a function that calls another function to perform " "some task should check whether the called function raised an exception, and " @@ -963,35 +989,35 @@ msgstr "" "acabou de ser gerada e perderia informações importantes sobre a causa exata " "do erro." -#: ../../c-api/intro.rst:618 +#: ../../c-api/intro.rst:649 msgid "" "A simple example of detecting exceptions and passing them on is shown in " -"the :c:func:`sum_sequence` example above. It so happens that this example " +"the :c:func:`!sum_sequence` example above. It so happens that this example " "doesn't need to clean up any owned references when it detects an error. The " "following example function shows some error cleanup. First, to remind you " "why you like Python, we show the equivalent Python code::" msgstr "" "Um exemplo simples de detecção de exceções e transmiti-las é mostrado no " -"exemplo :c:func:`sum_sequence` acima. Acontece que este exemplo não precisa " +"exemplo :c:func:`!sum_sequence` acima. Acontece que este exemplo não precisa " "limpar nenhuma referência de propriedade quando detecta um erro. A função de " "exemplo a seguir mostra alguma limpeza de erro. Primeiro, para lembrar por " "que você gosta de Python, mostramos o código Python equivalente::" -#: ../../c-api/intro.rst:633 +#: ../../c-api/intro.rst:664 msgid "Here is the corresponding C code, in all its glory::" msgstr "Aqui está o código C correspondente, em toda sua glória::" -#: ../../c-api/intro.rst:685 +#: ../../c-api/intro.rst:716 msgid "" "This example represents an endorsed use of the ``goto`` statement in C! It " -"illustrates the use of :c:func:`PyErr_ExceptionMatches` and :c:func:" -"`PyErr_Clear` to handle specific exceptions, and the use of :c:func:" -"`Py_XDECREF` to dispose of owned references that may be ``NULL`` (note the " -"``'X'`` in the name; :c:func:`Py_DECREF` would crash when confronted with a " -"``NULL`` reference). It is important that the variables used to hold owned " -"references are initialized to ``NULL`` for this to work; likewise, the " -"proposed return value is initialized to ``-1`` (failure) and only set to " -"success after the final call made is successful." +"illustrates the use of :c:func:`PyErr_ExceptionMatches` " +"and :c:func:`PyErr_Clear` to handle specific exceptions, and the use " +"of :c:func:`Py_XDECREF` to dispose of owned references that may be ``NULL`` " +"(note the ``'X'`` in the name; :c:func:`Py_DECREF` would crash when " +"confronted with a ``NULL`` reference). It is important that the variables " +"used to hold owned references are initialized to ``NULL`` for this to work; " +"likewise, the proposed return value is initialized to ``-1`` (failure) and " +"only set to success after the final call made is successful." msgstr "" "Este exemplo representa um uso endossado da instrução ``goto`` em C! Ele " "ilustra o uso de :c:func:`PyErr_ExceptionMatches` e :c:func:`PyErr_Clear` " @@ -1004,11 +1030,11 @@ msgstr "" "``-1`` (falha) e apenas definido para sucesso após a chamada final feita ser " "bem sucedida." -#: ../../c-api/intro.rst:699 +#: ../../c-api/intro.rst:730 msgid "Embedding Python" msgstr "Incorporando Python" -#: ../../c-api/intro.rst:701 +#: ../../c-api/intro.rst:732 msgid "" "The one important task that only embedders (as opposed to extension writers) " "of the Python interpreter have to worry about is the initialization, and " @@ -1021,7 +1047,7 @@ msgstr "" "maior parte da funcionalidade do interpretador só pode ser usada após a " "inicialização do interpretador." -#: ../../c-api/intro.rst:714 +#: ../../c-api/intro.rst:745 msgid "" "The basic initialization function is :c:func:`Py_Initialize`. This " "initializes the table of loaded modules, and creates the fundamental " @@ -1029,24 +1055,25 @@ msgid "" "initializes the module search path (``sys.path``)." msgstr "" "A função de inicialização básica é :c:func:`Py_Initialize`. Isso inicializa " -"a tabela de módulos carregados e cria os módulos fundamentais :mod:" -"`builtins`, :mod:`__main__` e :mod:`sys`. Ela também inicializa o caminho de " -"pesquisa de módulos (``sys.path``)." +"a tabela de módulos carregados e cria os módulos " +"fundamentais :mod:`builtins`, :mod:`__main__` e :mod:`sys`. Ela também " +"inicializa o caminho de pesquisa de módulos (``sys.path``)." -#: ../../c-api/intro.rst:719 +#: ../../c-api/intro.rst:750 msgid "" -":c:func:`Py_Initialize` does not set the \"script argument list\" (``sys." -"argv``). If this variable is needed by Python code that will be executed " -"later, setting :c:member:`PyConfig.argv` and :c:member:`PyConfig.parse_argv` " -"must be set: see :ref:`Python Initialization Configuration `." +":c:func:`Py_Initialize` does not set the \"script argument list\" " +"(``sys.argv``). If this variable is needed by Python code that will be " +"executed later, setting :c:member:`PyConfig.argv` " +"and :c:member:`PyConfig.parse_argv` must be set: see :ref:`Python " +"Initialization Configuration `." msgstr "" -":c:func:`Py_Initialize` não define a \"lista de argumentos de " -"script\" (``sys.argv``). Se esta variável for necessária para o código " -"Python que será executado posteriormente, :c:member:`PyConfig.argv` e :c:" -"member:`PyConfig.parse_argv` devem estar definidas; veja :ref:`Configuração " -"de inicialização do Python `." +":c:func:`Py_Initialize` não define a \"lista de argumentos de script\" " +"(``sys.argv``). Se esta variável for necessária para o código Python que " +"será executado posteriormente, :c:member:`PyConfig.argv` " +"e :c:member:`PyConfig.parse_argv` devem estar definidas; " +"veja :ref:`Configuração de inicialização do Python `." -#: ../../c-api/intro.rst:724 +#: ../../c-api/intro.rst:755 msgid "" "On most systems (in particular, on Unix and Windows, although the details " "are slightly different), :c:func:`Py_Initialize` calculates the module " @@ -1059,21 +1086,21 @@ msgid "" msgstr "" "Na maioria dos sistemas (em particular, no Unix e no Windows, embora os " "detalhes sejam ligeiramente diferentes), :c:func:`Py_Initialize` calcula o " -"caminho de pesquisa do módulo com base em sua melhor estimativa para a " -"localização do executável do interpretador Python padrão, assumindo que a " +"caminho de pesquisa de módulos com base em sua melhor estimativa para a " +"localização do executável do interpretador Python padrão, presumindo que a " "biblioteca Python é encontrada em um local fixo em relação ao executável do " -"interpretador Python. Em particular, ele procura por um diretório chamado :" -"file:`lib/python{X.Y}` relativo ao diretório pai onde o executável chamado :" -"file:`python` é encontrado no caminho de pesquisa de comandos do shell (a " -"variável de ambiente :envvar:`PATH`)." +"interpretador Python. Em particular, ele procura por um diretório " +"chamado :file:`lib/python{X.Y}` relativo ao diretório pai onde o executável " +"chamado :file:`python` é encontrado no caminho de pesquisa de comandos do " +"shell (a variável de ambiente :envvar:`PATH`)." -#: ../../c-api/intro.rst:733 +#: ../../c-api/intro.rst:764 msgid "" "For instance, if the Python executable is found in :file:`/usr/local/bin/" "python`, it will assume that the libraries are in :file:`/usr/local/lib/" "python{X.Y}`. (In fact, this particular path is also the \"fallback\" " -"location, used when no executable file named :file:`python` is found along :" -"envvar:`PATH`.) The user can override this behavior by setting the " +"location, used when no executable file named :file:`python` is found " +"along :envvar:`PATH`.) The user can override this behavior by setting the " "environment variable :envvar:`PYTHONHOME`, or insert additional directories " "in front of the standard path by setting :envvar:`PYTHONPATH`." msgstr "" @@ -1085,53 +1112,55 @@ msgstr "" "definindo a variável de ambiente :envvar:`PYTHONHOME`, ou insira diretórios " "adicionais na frente do caminho padrão definindo :envvar:`PYTHONPATH`." -#: ../../c-api/intro.rst:748 +#: ../../c-api/intro.rst:779 msgid "" "The embedding application can steer the search by calling " "``Py_SetProgramName(file)`` *before* calling :c:func:`Py_Initialize`. Note " "that :envvar:`PYTHONHOME` still overrides this and :envvar:`PYTHONPATH` is " "still inserted in front of the standard path. An application that requires " -"total control has to provide its own implementation of :c:func:" -"`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, and :c:" -"func:`Py_GetProgramFullPath` (all defined in :file:`Modules/getpath.c`)." +"total control has to provide its own implementation " +"of :c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, " +"and :c:func:`Py_GetProgramFullPath` (all defined in :file:`Modules/" +"getpath.c`)." msgstr "" "A aplicação de incorporação pode orientar a pesquisa chamando " "``Py_SetProgramName(file)`` *antes* de chamar :c:func:`Py_Initialize`. " "Observe que :envvar:`PYTHONHOME` ainda substitui isso e :envvar:`PYTHONPATH` " "ainda é inserido na frente do caminho padrão. Uma aplicação que requer " -"controle total deve fornecer sua própria implementação de :c:func:" -"`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix` e :c:func:" -"`Py_GetProgramFullPath` (todas definidas em :file:`Modules/getpath.c`)." +"controle total deve fornecer sua própria implementação " +"de :c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix` " +"e :c:func:`Py_GetProgramFullPath` (todas definidas em :file:`Modules/" +"getpath.c`)." -#: ../../c-api/intro.rst:758 +#: ../../c-api/intro.rst:789 msgid "" "Sometimes, it is desirable to \"uninitialize\" Python. For instance, the " -"application may want to start over (make another call to :c:func:" -"`Py_Initialize`) or the application is simply done with its use of Python " -"and wants to free memory allocated by Python. This can be accomplished by " -"calling :c:func:`Py_FinalizeEx`. The function :c:func:`Py_IsInitialized` " -"returns true if Python is currently in the initialized state. More " -"information about these functions is given in a later chapter. Notice that :" -"c:func:`Py_FinalizeEx` does *not* free all memory allocated by the Python " -"interpreter, e.g. memory allocated by extension modules currently cannot be " -"released." +"application may want to start over (make another call " +"to :c:func:`Py_Initialize`) or the application is simply done with its use " +"of Python and wants to free memory allocated by Python. This can be " +"accomplished by calling :c:func:`Py_FinalizeEx`. The " +"function :c:func:`Py_IsInitialized` returns true if Python is currently in " +"the initialized state. More information about these functions is given in a " +"later chapter. Notice that :c:func:`Py_FinalizeEx` does *not* free all " +"memory allocated by the Python interpreter, e.g. memory allocated by " +"extension modules currently cannot be released." msgstr "" "Às vezes, é desejável \"desinicializar\" o Python. Por exemplo, a aplicação " -"pode querer iniciar novamente (fazer outra chamada para :c:func:" -"`Py_Initialize`) ou a aplicação simplesmente termina com o uso de Python e " -"deseja liberar memória alocada pelo Python. Isso pode ser feito chamando :c:" -"func:`Py_FinalizeEx`. A função :c:func:`Py_IsInitialized` retorna verdadeiro " -"se o Python está atualmente no estado inicializado. Mais informações sobre " -"essas funções são fornecidas em um capítulo posterior. Observe que :c:func:" -"`Py_FinalizeEx` *não* libera toda a memória alocada pelo interpretador " -"Python, por exemplo, a memória alocada por módulos de extensão atualmente " -"não pode ser liberada." - -#: ../../c-api/intro.rst:772 +"pode querer iniciar novamente (fazer outra chamada " +"para :c:func:`Py_Initialize`) ou a aplicação simplesmente termina com o uso " +"de Python e deseja liberar memória alocada pelo Python. Isso pode ser feito " +"chamando :c:func:`Py_FinalizeEx`. A função :c:func:`Py_IsInitialized` " +"retorna verdadeiro se o Python está atualmente no estado inicializado. Mais " +"informações sobre essas funções são fornecidas em um capítulo posterior. " +"Observe que :c:func:`Py_FinalizeEx` *não* libera toda a memória alocada pelo " +"interpretador Python, por exemplo, a memória alocada por módulos de extensão " +"atualmente não pode ser liberada." + +#: ../../c-api/intro.rst:803 msgid "Debugging Builds" msgstr "Compilações de depuração" -#: ../../c-api/intro.rst:774 +#: ../../c-api/intro.rst:805 msgid "" "Python can be built with several macros to enable extra checks of the " "interpreter and extension modules. These checks tend to add a large amount " @@ -1142,13 +1171,13 @@ msgstr "" "adicionar uma grande quantidade de sobrecarga ao tempo de execução, " "portanto, não são habilitadas por padrão." -#: ../../c-api/intro.rst:778 +#: ../../c-api/intro.rst:809 msgid "" -"A full list of the various types of debugging builds is in the file :file:" -"`Misc/SpecialBuilds.txt` in the Python source distribution. Builds are " -"available that support tracing of reference counts, debugging the memory " -"allocator, or low-level profiling of the main interpreter loop. Only the " -"most frequently used builds will be described in the remainder of this " +"A full list of the various types of debugging builds is in the " +"file :file:`Misc/SpecialBuilds.txt` in the Python source distribution. " +"Builds are available that support tracing of reference counts, debugging the " +"memory allocator, or low-level profiling of the main interpreter loop. Only " +"the most frequently used builds will be described in the remainder of this " "section." msgstr "" "Uma lista completa dos vários tipos de compilações de depuração está no " @@ -1159,25 +1188,25 @@ msgstr "" "compilações usadas com mais frequência serão descritas no restante desta " "seção." -#: ../../c-api/intro.rst:784 +#: ../../c-api/intro.rst:817 msgid "" -"Compiling the interpreter with the :c:macro:`Py_DEBUG` macro defined " +"Compiling the interpreter with the :c:macro:`!Py_DEBUG` macro defined " "produces what is generally meant by :ref:`a debug build of Python `. :c:macro:`Py_DEBUG` is enabled in the Unix build by adding :option:" -"`--with-pydebug` to the :file:`./configure` command. It is also implied by " -"the presence of the not-Python-specific :c:macro:`_DEBUG` macro. When :c:" -"macro:`Py_DEBUG` is enabled in the Unix build, compiler optimization is " -"disabled." -msgstr "" -"Compilar o interpretador com a macro :c:macro:`Py_DEBUG` definida produz o " -"que geralmente se entende por :ref:`uma compilação de depuração do Python " -"`. :c:macro:`Py_DEBUG` é habilitada na compilação Unix " +"build>`. :c:macro:`!Py_DEBUG` is enabled in the Unix build by " +"adding :option:`--with-pydebug` to the :file:`./configure` command. It is " +"also implied by the presence of the not-Python-specific :c:macro:`!_DEBUG` " +"macro. When :c:macro:`!Py_DEBUG` is enabled in the Unix build, compiler " +"optimization is disabled." +msgstr "" +"Compilar o interpretador com a macro :c:macro:`!Py_DEBUG` definida produz o " +"que geralmente se entende por :ref:`uma construção de depuração do Python " +"`. :c:macro:`!Py_DEBUG` é habilitada na construção Unix " "adicionando :option:`--with-pydebug` ao comando :file:`./configure`. Também " -"está implícito na presença da macro não específica do Python :c:macro:" -"`_DEBUG`. Quando :c:macro:`Py_DEBUG` está habilitado na compilação do Unix, " +"está implícito na presença da macro não específica do Python :c:macro:`!" +"_DEBUG`. Quando :c:macro:`!Py_DEBUG` está habilitado na construção do Unix, " "a otimização do compilador é desabilitada." -#: ../../c-api/intro.rst:792 +#: ../../c-api/intro.rst:825 msgid "" "In addition to the reference count debugging described below, extra checks " "are performed, see :ref:`Python Debug Build `." @@ -1186,14 +1215,14 @@ msgstr "" "extras são realizadas, consulte :ref:`Compilação de Depuração do Python " "`." -#: ../../c-api/intro.rst:795 +#: ../../c-api/intro.rst:828 msgid "" -"Defining :c:macro:`Py_TRACE_REFS` enables reference tracing (see the :option:" -"`configure --with-trace-refs option <--with-trace-refs>`). When defined, a " -"circular doubly linked list of active objects is maintained by adding two " -"extra fields to every :c:type:`PyObject`. Total allocations are tracked as " -"well. Upon exit, all existing references are printed. (In interactive mode " -"this happens after every statement run by the interpreter.)" +"Defining :c:macro:`Py_TRACE_REFS` enables reference tracing (see " +"the :option:`configure --with-trace-refs option <--with-trace-refs>`). When " +"defined, a circular doubly linked list of active objects is maintained by " +"adding two extra fields to every :c:type:`PyObject`. Total allocations are " +"tracked as well. Upon exit, all existing references are printed. (In " +"interactive mode this happens after every statement run by the interpreter.)" msgstr "" "Definir :c:macro:`Py_TRACE_REFS` habilita o rastreamento de referência (veja " "a opção :option:`opção --with-trace-refs de configure <--with-trace-refs>`). " @@ -1203,7 +1232,7 @@ msgstr "" "existentes são impressas. (No modo interativo, isso acontece após cada " "instrução executada pelo interpretador.)" -#: ../../c-api/intro.rst:802 +#: ../../c-api/intro.rst:835 msgid "" "Please refer to :file:`Misc/SpecialBuilds.txt` in the Python source " "distribution for more detailed information." @@ -1211,130 +1240,130 @@ msgstr "" "Consulte :file:`Misc/SpecialBuilds.txt` na distribuição do código-fonte " "Python para informações mais detalhadas." -#: ../../c-api/intro.rst:264 +#: ../../c-api/intro.rst:288 msgid "object" msgstr "objeto" -#: ../../c-api/intro.rst:264 +#: ../../c-api/intro.rst:288 msgid "type" msgstr "tipo" -#: ../../c-api/intro.rst:301 -msgid "Py_INCREF()" -msgstr "" +#: ../../c-api/intro.rst:327 +msgid "Py_INCREF (C function)" +msgstr "Py_INCREF (função C)" -#: ../../c-api/intro.rst:301 -msgid "Py_DECREF()" -msgstr "" +#: ../../c-api/intro.rst:327 +msgid "Py_DECREF (C function)" +msgstr "Py_DECREF (função C)" -#: ../../c-api/intro.rst:372 -msgid "PyList_SetItem()" -msgstr "" +#: ../../c-api/intro.rst:403 +msgid "PyList_SetItem (C function)" +msgstr "PyList_SetItem (função C)" -#: ../../c-api/intro.rst:372 -msgid "PyTuple_SetItem()" -msgstr "" +#: ../../c-api/intro.rst:403 +msgid "PyTuple_SetItem (C function)" +msgstr "PyTuple_SetItem (função C)" -#: ../../c-api/intro.rst:443 +#: ../../c-api/intro.rst:474 msgid "set_all()" -msgstr "" +msgstr "set_all()" -#: ../../c-api/intro.rst:462 -msgid "PyList_GetItem()" -msgstr "" +#: ../../c-api/intro.rst:493 +msgid "PyList_GetItem (C function)" +msgstr "PyList_GetItem (função C)" -#: ../../c-api/intro.rst:462 -msgid "PySequence_GetItem()" -msgstr "" +#: ../../c-api/intro.rst:493 +msgid "PySequence_GetItem (C function)" +msgstr "PySequence_GetItem (função C)" -#: ../../c-api/intro.rst:492 +#: ../../c-api/intro.rst:523 msgid "sum_list()" -msgstr "" +msgstr "sum_list()" -#: ../../c-api/intro.rst:524 ../../c-api/intro.rst:616 +#: ../../c-api/intro.rst:555 ../../c-api/intro.rst:647 msgid "sum_sequence()" -msgstr "" +msgstr "sum_sequence()" -#: ../../c-api/intro.rst:559 -msgid "PyErr_Occurred()" -msgstr "" +#: ../../c-api/intro.rst:590 +msgid "PyErr_Occurred (C function)" +msgstr "PyErr_Occurred (função C)" -#: ../../c-api/intro.rst:572 -msgid "PyErr_SetString()" -msgstr "" +#: ../../c-api/intro.rst:603 +msgid "PyErr_SetString (C function)" +msgstr "PyErr_SetString (função C)" -#: ../../c-api/intro.rst:572 ../../c-api/intro.rst:680 -msgid "PyErr_Clear()" -msgstr "" +#: ../../c-api/intro.rst:603 ../../c-api/intro.rst:711 +msgid "PyErr_Clear (C function)" +msgstr "PyErr_Clear (função C)" -#: ../../c-api/intro.rst:596 -msgid "exc_info() (in module sys)" -msgstr "" +#: ../../c-api/intro.rst:627 +msgid "exc_info (in module sys)" +msgstr "exc_info (no módulo sys)" -#: ../../c-api/intro.rst:631 ../../c-api/intro.rst:678 +#: ../../c-api/intro.rst:662 ../../c-api/intro.rst:709 msgid "incr_item()" -msgstr "" +msgstr "incr_item()" -#: ../../c-api/intro.rst:680 -msgid "PyErr_ExceptionMatches()" -msgstr "" +#: ../../c-api/intro.rst:711 +msgid "PyErr_ExceptionMatches (C function)" +msgstr "PyErr_ExceptionMatches (função C)" -#: ../../c-api/intro.rst:680 -msgid "Py_XDECREF()" -msgstr "" +#: ../../c-api/intro.rst:711 +msgid "Py_XDECREF (C function)" +msgstr "Py_XDECREF (função C)" -#: ../../c-api/intro.rst:706 -msgid "Py_Initialize()" -msgstr "" +#: ../../c-api/intro.rst:737 +msgid "Py_Initialize (C function)" +msgstr "Py_Initialize (função C)" -#: ../../c-api/intro.rst:706 +#: ../../c-api/intro.rst:737 msgid "module" msgstr "módulo" -#: ../../c-api/intro.rst:706 +#: ../../c-api/intro.rst:737 msgid "builtins" msgstr "builtins" -#: ../../c-api/intro.rst:706 +#: ../../c-api/intro.rst:737 msgid "__main__" -msgstr "" +msgstr "__main__" -#: ../../c-api/intro.rst:706 +#: ../../c-api/intro.rst:737 msgid "sys" msgstr "sys" -#: ../../c-api/intro.rst:706 +#: ../../c-api/intro.rst:737 msgid "search" msgstr "pesquisa" -#: ../../c-api/intro.rst:706 +#: ../../c-api/intro.rst:737 msgid "path" msgstr "caminho" -#: ../../c-api/intro.rst:706 +#: ../../c-api/intro.rst:737 msgid "path (in module sys)" -msgstr "" +msgstr "path (no módulo sys)" -#: ../../c-api/intro.rst:741 -msgid "Py_SetProgramName()" -msgstr "" +#: ../../c-api/intro.rst:772 +msgid "Py_SetProgramName (C function)" +msgstr "Py_SetProgramName (função C)" -#: ../../c-api/intro.rst:741 -msgid "Py_GetPath()" -msgstr "" +#: ../../c-api/intro.rst:772 +msgid "Py_GetPath (C function)" +msgstr "Py_GetPath (função C)" -#: ../../c-api/intro.rst:741 -msgid "Py_GetPrefix()" -msgstr "" +#: ../../c-api/intro.rst:772 +msgid "Py_GetPrefix (C function)" +msgstr "Py_GetPrefix (função C)" -#: ../../c-api/intro.rst:741 -msgid "Py_GetExecPrefix()" -msgstr "" +#: ../../c-api/intro.rst:772 +msgid "Py_GetExecPrefix (C function)" +msgstr "Py_GetExecPrefix (função C)" -#: ../../c-api/intro.rst:741 -msgid "Py_GetProgramFullPath()" -msgstr "" +#: ../../c-api/intro.rst:772 +msgid "Py_GetProgramFullPath (C function)" +msgstr "Py_GetProgramFullPath (função C)" -#: ../../c-api/intro.rst:756 -msgid "Py_IsInitialized()" -msgstr "" +#: ../../c-api/intro.rst:787 +msgid "Py_IsInitialized (C function)" +msgstr "Py_IsInitialized (função C)" diff --git a/c-api/iter.po b/c-api/iter.po index de2dcbbd2..66cb3861f 100644 --- a/c-api/iter.po +++ b/c-api/iter.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Italo Penaforte , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,8 +33,9 @@ msgstr "Existem duas funções especificas para trabalhar com iteradores." #: ../../c-api/iter.rst:12 msgid "" -"Return non-zero if the object *o* can be safely passed to :c:func:" -"`PyIter_Next`, and ``0`` otherwise. This function always succeeds." +"Return non-zero if the object *o* can be safely passed " +"to :c:func:`PyIter_Next`, and ``0`` otherwise. This function always " +"succeeds." msgstr "" "Retorna valor diferente de zero se o objeto *o* puder ser passado com " "segurança para :c:func:`PyIter_Next`, e ``0`` caso contrário. Esta função " @@ -47,8 +46,9 @@ msgid "" "Return non-zero if the object *o* provides the :class:`AsyncIterator` " "protocol, and ``0`` otherwise. This function always succeeds." msgstr "" -"Retorna valor diferente de zero se o objeto *o* fornecer o protocolo :class:" -"`AsyncIterator` e ``0`` caso contrário. Esta função sempre é bem-sucedida." +"Retorna valor diferente de zero se o objeto *o* fornecer o " +"protocolo :class:`AsyncIterator` e ``0`` caso contrário. Esta função sempre " +"é bem-sucedida." #: ../../c-api/iter.rst:24 msgid "" @@ -75,8 +75,8 @@ msgstr "" msgid "" "The enum value used to represent different results of :c:func:`PyIter_Send`." msgstr "" -"O valor de enum usado para representar diferentes resultados de :c:func:" -"`PyIter_Send`." +"O valor de enum usado para representar diferentes resultados " +"de :c:func:`PyIter_Send`." #: ../../c-api/iter.rst:66 msgid "Sends the *arg* value into the iterator *iter*. Returns:" @@ -93,7 +93,7 @@ msgstr "" msgid "" "``PYGEN_NEXT`` if iterator yields. Yielded value is returned via *presult*." msgstr "" -"``PYGEN_NEXT`` se o iterador render. O valor preduzido é retornado via " +"``PYGEN_NEXT`` se o iterador render. O valor produzido é retornado via " "*presult*." #: ../../c-api/iter.rst:70 diff --git a/c-api/iterator.po b/c-api/iterator.po index 400c124f0..68b23bf23 100644 --- a/c-api/iterator.po +++ b/c-api/iterator.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Felipefpl, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -31,16 +30,16 @@ msgstr "Objetos Iteradores" #: ../../c-api/iterator.rst:8 msgid "" "Python provides two general-purpose iterator objects. The first, a sequence " -"iterator, works with an arbitrary sequence supporting the :meth:" -"`__getitem__` method. The second works with a callable object and a " -"sentinel value, calling the callable for each item in the sequence, and " -"ending the iteration when the sentinel value is returned." +"iterator, works with an arbitrary sequence supporting " +"the :meth:`~object.__getitem__` method. The second works with a callable " +"object and a sentinel value, calling the callable for each item in the " +"sequence, and ending the iteration when the sentinel value is returned." msgstr "" "O Python fornece dois objetos iteradores de propósito geral. O primeiro, um " "iterador de sequência, trabalha com uma sequência arbitrária suportando o " -"método :meth:`__getitem__`. O segundo trabalha com um objeto chamável e um " -"valor de sentinela, chamando o chamável para cada item na sequência e " -"finalizando a iteração quando o valor de sentinela é retornado." +"método :meth:`~object.__getitem__`. O segundo trabalha com um objeto " +"chamável e um valor de sentinela, chamando o chamável para cada item na " +"sequência e finalizando a iteração quando o valor de sentinela é retornado." #: ../../c-api/iterator.rst:17 msgid "" @@ -48,9 +47,9 @@ msgid "" "one-argument form of the :func:`iter` built-in function for built-in " "sequence types." msgstr "" -"Objeto de tipo para objetos iteradores retornados por :c:func:" -"`PySeqIter_New` e a forma de um argumento da função embutida :func:`iter` " -"para os tipos de sequência embutidos." +"Objeto de tipo para objetos iteradores retornados " +"por :c:func:`PySeqIter_New` e a forma de um argumento da função " +"embutida :func:`iter` para os tipos de sequência embutidos." #: ../../c-api/iterator.rst:24 msgid "" @@ -75,9 +74,9 @@ msgid "" "Type object for iterator objects returned by :c:func:`PyCallIter_New` and " "the two-argument form of the :func:`iter` built-in function." msgstr "" -"Objeto de tipo para objetos iteradores retornados por :c:func:" -"`PyCallIter_New` e a forma de dois argumentos da função embutida :func:" -"`iter`." +"Objeto de tipo para objetos iteradores retornados " +"por :c:func:`PyCallIter_New` e a forma de dois argumentos da função " +"embutida :func:`iter`." #: ../../c-api/iterator.rst:43 msgid "" diff --git a/c-api/list.po b/c-api/list.po index 8881363d4..c05401414 100644 --- a/c-api/list.po +++ b/c-api/list.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Livia Cavalcanti , 2021 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -68,9 +65,9 @@ msgstr "" #: ../../c-api/list.rst:40 msgid "" "If *len* is greater than zero, the returned list object's items are set to " -"``NULL``. Thus you cannot use abstract API functions such as :c:func:" -"`PySequence_SetItem` or expose the object to Python code before setting all " -"items to a real object with :c:func:`PyList_SetItem`." +"``NULL``. Thus you cannot use abstract API functions such " +"as :c:func:`PySequence_SetItem` or expose the object to Python code before " +"setting all items to a real object with :c:func:`PyList_SetItem`." msgstr "" "Se *len* for maior que zero, os itens do objeto de lista retornado são " "definidos como ``NULL``. Portanto, você não pode usar funções API abstratas, " @@ -134,13 +131,14 @@ msgstr "" #: ../../c-api/list.rst:91 msgid "" -"This macro \"steals\" a reference to *item*, and, unlike :c:func:" -"`PyList_SetItem`, does *not* discard a reference to any item that is being " -"replaced; any reference in *list* at position *i* will be leaked." +"This macro \"steals\" a reference to *item*, and, " +"unlike :c:func:`PyList_SetItem`, does *not* discard a reference to any item " +"that is being replaced; any reference in *list* at position *i* will be " +"leaked." msgstr "" -"Esta macro \"rouba\" uma referência para o *item* e, ao contrário de :c:func:" -"`PyList_SetItem`, *não* descarta uma referência para nenhum item que esteja " -"sendo substituído; qualquer referência em *list* será perdida." +"Esta macro \"rouba\" uma referência para o *item* e, ao contrário " +"de :c:func:`PyList_SetItem`, *não* descarta uma referência para nenhum item " +"que esteja sendo substituído; qualquer referência em *list* será perdida." #: ../../c-api/list.rst:99 msgid "" @@ -225,7 +223,7 @@ msgstr "função embutida" #: ../../c-api/list.rst:48 msgid "len" -msgstr "" +msgstr "len" #: ../../c-api/list.rst:141 msgid "tuple" diff --git a/c-api/long.po b/c-api/long.po index 11bea1ef5..6777fa5e4 100644 --- a/c-api/long.po +++ b/c-api/long.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,8 +41,8 @@ msgid "" "disambiguate." msgstr "" "Em caso de erro, a maioria das APIs ``PyLong_As*`` retorna ``(tipo de " -"retorno)-1`` que não pode ser distinguido de um número. Use :c:func:" -"`PyErr_Occurred` para desambiguar." +"retorno)-1`` que não pode ser distinguido de um número. " +"Use :c:func:`PyErr_Occurred` para desambiguar." #: ../../c-api/long.rst:18 msgid "This subtype of :c:type:`PyObject` represents a Python integer object." @@ -60,11 +59,11 @@ msgstr "" #: ../../c-api/long.rst:29 msgid "" -"Return true if its argument is a :c:type:`PyLongObject` or a subtype of :c:" -"type:`PyLongObject`. This function always succeeds." +"Return true if its argument is a :c:type:`PyLongObject` or a subtype " +"of :c:type:`PyLongObject`. This function always succeeds." msgstr "" -"Retorna true se seu argumento é um :c:type:`PyLongObject` ou um subtipo de :" -"c:type:`PyLongObject`. Esta função sempre tem sucesso." +"Retorna true se seu argumento é um :c:type:`PyLongObject` ou um subtipo " +"de :c:type:`PyLongObject`. Esta função sempre tem sucesso." #: ../../c-api/long.rst:35 msgid "" @@ -87,12 +86,17 @@ msgid "" "integers between ``-5`` and ``256``. When you create an int in that range " "you actually just get back a reference to the existing object." msgstr "" +"A implementação atual mantém um vetor de objetos inteiros para todos os " +"inteiros entre ``-5`` e ``256``. Quando você cria um int nesse intervalo, " +"você na verdade apenas obtém uma referência ao objeto existente." #: ../../c-api/long.rst:50 msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long`, " "or ``NULL`` on failure." msgstr "" +"Retorna um novo objeto :c:type:`PyLongObject` de um :c:expr:`unsigned long` " +"C ou ``NULL`` em caso de falha." #: ../../c-api/long.rst:56 msgid "" @@ -115,12 +119,16 @@ msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:expr:`long long`, or " "``NULL`` on failure." msgstr "" +"Retorna um novo objeto :c:type:`PyLongObject` de um :c:expr:`long long` C ou " +"``NULL`` em caso de falha." #: ../../c-api/long.rst:74 msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long " "long`, or ``NULL`` on failure." msgstr "" +"Retorna um novo objeto :c:type:`PyLongObject` de um :c:expr:`unsigned long " +"long` C ou ``NULL`` em caso de falha." #: ../../c-api/long.rst:80 msgid "" @@ -154,8 +162,8 @@ msgstr "" #: ../../c-api/long.rst:96 msgid "" -"Python methods :meth:`int.to_bytes` and :meth:`int.from_bytes` to convert a :" -"c:type:`PyLongObject` to/from an array of bytes in base ``256``. You can " +"Python methods :meth:`int.to_bytes` and :meth:`int.from_bytes` to convert " +"a :c:type:`PyLongObject` to/from an array of bytes in base ``256``. You can " "call those from C using :c:func:`PyObject_CallMethod`." msgstr "" @@ -178,14 +186,14 @@ msgstr "" #: ../../c-api/long.rst:122 ../../c-api/long.rst:140 msgid "" "Return a C :c:expr:`long` representation of *obj*. If *obj* is not an " -"instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method " -"(if present) to convert it to a :c:type:`PyLongObject`." +"instance of :c:type:`PyLongObject`, first call its :meth:`~object.__index__` " +"method (if present) to convert it to a :c:type:`PyLongObject`." msgstr "" #: ../../c-api/long.rst:126 msgid "" -"Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" -"expr:`long`." +"Raise :exc:`OverflowError` if the value of *obj* is out of range for " +"a :c:expr:`long`." msgstr "" #: ../../c-api/long.rst:129 ../../c-api/long.rst:149 ../../c-api/long.rst:170 @@ -197,52 +205,44 @@ msgstr "" #: ../../c-api/long.rst:131 ../../c-api/long.rst:151 ../../c-api/long.rst:172 #: ../../c-api/long.rst:194 ../../c-api/long.rst:278 ../../c-api/long.rst:298 -msgid "Use :meth:`__index__` if available." -msgstr "Usa :meth:`__index__`, se disponível." +msgid "Use :meth:`~object.__index__` if available." +msgstr "Usa :meth:`~object.__index__`, se disponível." #: ../../c-api/long.rst:134 ../../c-api/long.rst:154 ../../c-api/long.rst:175 #: ../../c-api/long.rst:197 ../../c-api/long.rst:281 ../../c-api/long.rst:301 -msgid "This function will no longer use :meth:`__int__`." +msgid "This function will no longer use :meth:`~object.__int__`." msgstr "" #: ../../c-api/long.rst:144 msgid "" -"If the value of *obj* is greater than :const:`LONG_MAX` or less than :const:" -"`LONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and return " -"``-1``; otherwise, set *\\*overflow* to ``0``. If any other exception " -"occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." +"If the value of *obj* is greater than :c:macro:`LONG_MAX` or less " +"than :c:macro:`LONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, " +"respectively, and return ``-1``; otherwise, set *\\*overflow* to ``0``. If " +"any other exception occurs set *\\*overflow* to ``0`` and return ``-1`` as " +"usual." msgstr "" -"Se o valor de *obj* for maior que :const:`LONG_MAX` ou menor que :const:" -"`LONG_MIN`, define *\\*overflow* para ``1`` ou ``-1``, respectivamente, e " -"retorna ``-1``; caso contrário, define *\\*overflow* para ``0``. Se qualquer " -"outra exceção ocorrer, define *\\*overflow* para ``0`` e retorne ``-1`` como " -"de costume." #: ../../c-api/long.rst:163 ../../c-api/long.rst:181 msgid "" "Return a C :c:expr:`long long` representation of *obj*. If *obj* is not an " -"instance of :c:type:`PyLongObject`, first call its :meth:`__index__` method " -"(if present) to convert it to a :c:type:`PyLongObject`." +"instance of :c:type:`PyLongObject`, first call its :meth:`~object.__index__` " +"method (if present) to convert it to a :c:type:`PyLongObject`." msgstr "" #: ../../c-api/long.rst:167 msgid "" -"Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" -"expr:`long long`." +"Raise :exc:`OverflowError` if the value of *obj* is out of range for " +"a :c:expr:`long long`." msgstr "" #: ../../c-api/long.rst:185 msgid "" -"If the value of *obj* is greater than :const:`LLONG_MAX` or less than :const:" -"`LLONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and return " -"``-1``; otherwise, set *\\*overflow* to ``0``. If any other exception " -"occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." +"If the value of *obj* is greater than :c:macro:`LLONG_MAX` or less " +"than :c:macro:`LLONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, " +"respectively, and return ``-1``; otherwise, set *\\*overflow* to ``0``. If " +"any other exception occurs set *\\*overflow* to ``0`` and return ``-1`` as " +"usual." msgstr "" -"Se o valor de *obj* for maior que :const:`LLONG_MAX` ou menor que :const:" -"`LLONG_MIN`, define *\\*overflow* para ``1`` ou ``-1``, respectivamente, e " -"retorna ``-1``; caso contrário, define *\\*overflow* para ``0``. Se qualquer " -"outra exceção ocorrer, define *\\*overflow* para ``0`` e retorne ``-1`` como " -"de costume." #: ../../c-api/long.rst:207 msgid "" @@ -254,8 +254,8 @@ msgstr "" #: ../../c-api/long.rst:210 msgid "" -"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" -"type:`Py_ssize_t`." +"Raise :exc:`OverflowError` if the value of *pylong* is out of range for " +"a :c:type:`Py_ssize_t`." msgstr "" "Levanta :exc:`OverflowError` se o valor de *pylong* estiver fora do " "intervalo de um :c:type:`Py_ssize_t`." @@ -268,8 +268,8 @@ msgstr "" #: ../../c-api/long.rst:225 msgid "" -"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" -"expr:`unsigned long`." +"Raise :exc:`OverflowError` if the value of *pylong* is out of range for " +"a :c:expr:`unsigned long`." msgstr "" #: ../../c-api/long.rst:228 @@ -290,8 +290,8 @@ msgstr "" #: ../../c-api/long.rst:241 msgid "" -"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" -"type:`size_t`." +"Raise :exc:`OverflowError` if the value of *pylong* is out of range for " +"a :c:type:`size_t`." msgstr "" "Levanta :exc:`OverflowError` se o valor de *pylong* estiver fora do " "intervalo de um :c:type:`size_t`." @@ -312,8 +312,8 @@ msgstr "" #: ../../c-api/long.rst:256 msgid "" -"Raise :exc:`OverflowError` if the value of *pylong* is out of range for an :" -"c:expr:`unsigned long long`." +"Raise :exc:`OverflowError` if the value of *pylong* is out of range for " +"an :c:expr:`unsigned long long`." msgstr "" #: ../../c-api/long.rst:259 @@ -321,21 +321,22 @@ msgid "" "Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` to " "disambiguate." msgstr "" -"Retorna ``(unsigned long long)-1`` no caso de erro. Use :c:func:" -"`PyErr_Occurred` para desambiguar." +"Retorna ``(unsigned long long)-1`` no caso de erro. " +"Use :c:func:`PyErr_Occurred` para desambiguar." #: ../../c-api/long.rst:262 msgid "" "A negative *pylong* now raises :exc:`OverflowError`, not :exc:`TypeError`." msgstr "" -"Um *pylong* negativo agora levanta :exc:`OverflowError`, não :exc:" -"`TypeError`." +"Um *pylong* negativo agora levanta :exc:`OverflowError`, " +"não :exc:`TypeError`." #: ../../c-api/long.rst:268 msgid "" "Return a C :c:expr:`unsigned long` representation of *obj*. If *obj* is not " -"an instance of :c:type:`PyLongObject`, first call its :meth:`__index__` " -"method (if present) to convert it to a :c:type:`PyLongObject`." +"an instance of :c:type:`PyLongObject`, first call " +"its :meth:`~object.__index__` method (if present) to convert it to " +"a :c:type:`PyLongObject`." msgstr "" #: ../../c-api/long.rst:272 @@ -355,8 +356,9 @@ msgstr "" #: ../../c-api/long.rst:287 msgid "" "Return a C :c:expr:`unsigned long long` representation of *obj*. If *obj* " -"is not an instance of :c:type:`PyLongObject`, first call its :meth:" -"`__index__` method (if present) to convert it to a :c:type:`PyLongObject`." +"is not an instance of :c:type:`PyLongObject`, first call " +"its :meth:`~object.__index__` method (if present) to convert it to " +"a :c:type:`PyLongObject`." msgstr "" #: ../../c-api/long.rst:292 @@ -370,8 +372,8 @@ msgid "" "Returns ``(unsigned long long)-1`` on error. Use :c:func:`PyErr_Occurred` " "to disambiguate." msgstr "" -"Retorna ``(unsigned long long)-1`` no caso de erro. Use :c:func:" -"`PyErr_Occurred` para desambiguar." +"Retorna ``(unsigned long long)-1`` no caso de erro. " +"Use :c:func:`PyErr_Occurred` para desambiguar." #: ../../c-api/long.rst:307 msgid "" @@ -381,8 +383,8 @@ msgstr "" #: ../../c-api/long.rst:310 msgid "" -"Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" -"expr:`double`." +"Raise :exc:`OverflowError` if the value of *pylong* is out of range for " +"a :c:expr:`double`." msgstr "" #: ../../c-api/long.rst:313 @@ -396,8 +398,8 @@ msgstr "" msgid "" "Convert a Python integer *pylong* to a C :c:expr:`void` pointer. If *pylong* " "cannot be converted, an :exc:`OverflowError` will be raised. This is only " -"assured to produce a usable :c:expr:`void` pointer for values created with :" -"c:func:`PyLong_FromVoidPtr`." +"assured to produce a usable :c:expr:`void` pointer for values created " +"with :c:func:`PyLong_FromVoidPtr`." msgstr "" #: ../../c-api/long.rst:323 @@ -420,7 +422,7 @@ msgid "integer" msgstr "inteiro" #: ../../c-api/long.rst:118 -msgid "LONG_MAX" +msgid "LONG_MAX (C macro)" msgstr "" #: ../../c-api/long.rst:118 ../../c-api/long.rst:160 ../../c-api/long.rst:203 @@ -429,13 +431,13 @@ msgid "OverflowError (built-in exception)" msgstr "" #: ../../c-api/long.rst:203 -msgid "PY_SSIZE_T_MAX" +msgid "PY_SSIZE_T_MAX (C macro)" msgstr "" #: ../../c-api/long.rst:218 -msgid "ULONG_MAX" +msgid "ULONG_MAX (C macro)" msgstr "" #: ../../c-api/long.rst:234 -msgid "SIZE_MAX" +msgid "SIZE_MAX (C macro)" msgstr "" diff --git a/c-api/mapping.po b/c-api/mapping.po index ba78a3c53..a9c93d460 100644 --- a/c-api/mapping.po +++ b/c-api/mapping.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -29,25 +29,25 @@ msgstr "Protocolo de mapeamento" #: ../../c-api/mapping.rst:8 msgid "" -"See also :c:func:`PyObject_GetItem`, :c:func:`PyObject_SetItem` and :c:func:" -"`PyObject_DelItem`." +"See also :c:func:`PyObject_GetItem`, :c:func:`PyObject_SetItem` " +"and :c:func:`PyObject_DelItem`." msgstr "" -"Veja também :c:func:`PyObject_GetItem`, :c:func:`PyObject_SetItem` e :c:func:" -"`PyObject_DelItem`." +"Veja também :c:func:`PyObject_GetItem`, :c:func:`PyObject_SetItem` " +"e :c:func:`PyObject_DelItem`." #: ../../c-api/mapping.rst:14 msgid "" "Return ``1`` if the object provides the mapping protocol or supports " "slicing, and ``0`` otherwise. Note that it returns ``1`` for Python classes " -"with a :meth:`__getitem__` method, since in general it is impossible to " -"determine what type of keys the class supports. This function always " +"with a :meth:`~object.__getitem__` method, since in general it is impossible " +"to determine what type of keys the class supports. This function always " "succeeds." msgstr "" "Retorna ``1`` se o objeto fornece protocolo de mapeamento ou suporta " "fatiamento e ``0`` caso contrário. Note que ele retorna ``1`` para classes " -"Python com um método :meth:`__getitem__` visto que geralmente é impossível " -"determinar a que tipo de chaves a classe tem suporte. Esta função sempre tem " -"sucesso." +"Python com um método :meth:`~object.__getitem__` visto que geralmente é " +"impossível determinar a que tipo de chaves a classe tem suporte. Esta função " +"sempre tem sucesso." #: ../../c-api/mapping.rst:25 msgid "" @@ -59,45 +59,39 @@ msgstr "" #: ../../c-api/mapping.rst:31 msgid "" -"Return element of *o* corresponding to the string *key* or ``NULL`` on " -"failure. This is the equivalent of the Python expression ``o[key]``. See " -"also :c:func:`PyObject_GetItem`." +"This is the same as :c:func:`PyObject_GetItem`, but *key* is specified as " +"a :c:expr:`const char*` UTF-8 encoded bytes string, rather than " +"a :c:expr:`PyObject*`." msgstr "" -"Retorna o elemento de *o* correspondente à string *key* ou ``NULL`` em caso " -"de falha. Este é o equivalente da expressão Python ``o[key]``. Veja também :" -"c:func:`PyObject_GetItem`." +"É o mesmo que :c:func:`PyObject_GetItem`, mas *key* é especificada como uma " +"string de bytes :c:expr:`const char*` codificada em UTF-8, em vez de " +"um :c:expr:`PyObject*`." #: ../../c-api/mapping.rst:38 msgid "" -"Map the string *key* to the value *v* in object *o*. Returns ``-1`` on " -"failure. This is the equivalent of the Python statement ``o[key] = v``. See " -"also :c:func:`PyObject_SetItem`. This function *does not* steal a reference " -"to *v*." +"This is the same as :c:func:`PyObject_SetItem`, but *key* is specified as " +"a :c:expr:`const char*` UTF-8 encoded bytes string, rather than " +"a :c:expr:`PyObject*`." msgstr "" -"Mapeia a string *key* para o valor *v* no objeto *o*. Retorna ``-1`` em caso " -"de falha. Este é o equivalente da instrução Python ``o[key] = v``. Veja " -"também :c:func:`PyObject_SetItem`. Esta função *não* rouba uma referência a " -"*v*." +"É o mesmo que :c:func:`PyObject_SetItem`, mas *key* é especificada como uma " +"string de bytes :c:expr:`const char*` codificada em UTF-8, em vez de " +"um :c:expr:`PyObject*`." -#: ../../c-api/mapping.rst:46 -msgid "" -"Remove the mapping for the object *key* from the object *o*. Return ``-1`` " -"on failure. This is equivalent to the Python statement ``del o[key]``. This " -"is an alias of :c:func:`PyObject_DelItem`." -msgstr "" -"Remove o mapeamento para o objeto *key* do objeto *o*. Retorna ``-1`` em " -"caso de falha. Isso é equivalente à instrução Python ``del o[key]``. Este é " -"um alias de :c:func:`PyObject_DelItem`." +#: ../../c-api/mapping.rst:45 +msgid "This is an alias of :c:func:`PyObject_DelItem`." +msgstr "Este é um apelido de :c:func:`PyObject_DelItem`." -#: ../../c-api/mapping.rst:53 +#: ../../c-api/mapping.rst:50 msgid "" -"Remove the mapping for the string *key* from the object *o*. Return ``-1`` " -"on failure. This is equivalent to the Python statement ``del o[key]``." +"This is the same as :c:func:`PyObject_DelItem`, but *key* is specified as " +"a :c:expr:`const char*` UTF-8 encoded bytes string, rather than " +"a :c:expr:`PyObject*`." msgstr "" -"Remove o mapeamento para a string *key* do objeto *o*. Retorna ``-1`` em " -"caso de falha. Isso é equivalente à instrução Python ``del o[key]``." +"É o mesmo que :c:func:`PyObject_DelItem`, mas *key* é especificada como uma " +"string de bytes :c:expr:`const char*` codificada em UTF-8, em vez de " +"um :c:expr:`PyObject*`." -#: ../../c-api/mapping.rst:59 ../../c-api/mapping.rst:70 +#: ../../c-api/mapping.rst:57 msgid "" "Return ``1`` if the mapping object has the key *key* and ``0`` otherwise. " "This is equivalent to the Python expression ``key in o``. This function " @@ -109,25 +103,36 @@ msgstr "" #: ../../c-api/mapping.rst:63 msgid "" -"Note that exceptions which occur while calling the :meth:`__getitem__` " -"method will get suppressed. To get error reporting use :c:func:" -"`PyObject_GetItem()` instead." +"Exceptions which occur when this calls :meth:`~object.__getitem__` method " +"are silently ignored. For proper error handling, " +"use :c:func:`PyObject_GetItem()` instead." msgstr "" -"Observe que as exceções que ocorrem ao chamar o método :meth:`__getitem__` " -"serão suprimidas. Para obter relatórios de erros, use :c:func:" -"`PyObject_GetItem()`." +"As exceções que ocorrem quando esse método chama :meth:`~object.__getitem__` " +"são silenciosamente ignoradas. Para o tratamento adequado de erros, " +"use :c:func:`PyObject_GetItem()` em vez disso." -#: ../../c-api/mapping.rst:74 +#: ../../c-api/mapping.rst:70 msgid "" -"Note that exceptions which occur while calling the :meth:`__getitem__` " -"method and creating a temporary string object will get suppressed. To get " -"error reporting use :c:func:`PyMapping_GetItemString()` instead." +"This is the same as :c:func:`PyMapping_HasKey`, but *key* is specified as " +"a :c:expr:`const char*` UTF-8 encoded bytes string, rather than " +"a :c:expr:`PyObject*`." msgstr "" -"Observe que as exceções que ocorrem ao chamar o método :meth:`__getitem__` e " -"criar um objeto string temporário serão suprimidas. Para obter relatórios de " -"erros, use :c:func:`PyMapping_GetItemString()`." +"É o mesmo que :c:func:`PyMapping_HasKey`, mas *key* é especificada como uma " +"string de bytes :c:expr:`const char*` codificada em UTF-8, em vez de " +"um :c:expr:`PyObject*`." -#: ../../c-api/mapping.rst:81 +#: ../../c-api/mapping.rst:76 +msgid "" +"Exceptions that occur when this calls :meth:`~object.__getitem__` method or " +"while creating the temporary :class:`str` object are silently ignored. For " +"proper error handling, use :c:func:`PyMapping_GetItemString` instead." +msgstr "" +"As exceções que ocorrem quando isso chama o " +"método :meth:`~object.__getitem__` ou durante a criação do objeto " +"temporário :class:`str` são silenciosamente ignoradas. Para o tratamento " +"adequado de erros, use :c:func:`PyMapping_GetItemString` em vez disso." + +#: ../../c-api/mapping.rst:84 msgid "" "On success, return a list of the keys in object *o*. On failure, return " "``NULL``." @@ -135,12 +140,12 @@ msgstr "" "Em caso de sucesso, retorna uma lista das chaves no objeto *o*. Em caso de " "falha, retorna ``NULL``." -#: ../../c-api/mapping.rst:84 ../../c-api/mapping.rst:93 -#: ../../c-api/mapping.rst:102 +#: ../../c-api/mapping.rst:87 ../../c-api/mapping.rst:96 +#: ../../c-api/mapping.rst:105 msgid "Previously, the function returned a list or a tuple." msgstr "Anteriormente, a função retornava uma lista ou tupla." -#: ../../c-api/mapping.rst:90 +#: ../../c-api/mapping.rst:93 msgid "" "On success, return a list of the values in object *o*. On failure, return " "``NULL``." @@ -148,7 +153,7 @@ msgstr "" "Em caso de sucesso, retorna uma lista dos valores no objeto *o*. Em caso de " "falha, retorna ``NULL``." -#: ../../c-api/mapping.rst:99 +#: ../../c-api/mapping.rst:102 msgid "" "On success, return a list of the items in object *o*, where each item is a " "tuple containing a key-value pair. On failure, return ``NULL``." @@ -163,4 +168,4 @@ msgstr "função embutida" #: ../../c-api/mapping.rst:23 msgid "len" -msgstr "" +msgstr "len" diff --git a/c-api/marshal.po b/c-api/marshal.po index 8dc289c98..22f254345 100644 --- a/c-api/marshal.po +++ b/c-api/marshal.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -70,7 +70,15 @@ msgstr "" "independentemente do tamanho do tipo nativo :c:expr:`long`. *version* indica " "o formato do arquivo." -#: ../../c-api/marshal.rst:31 +#: ../../c-api/marshal.rst:28 ../../c-api/marshal.rst:36 +msgid "" +"This function can fail, in which case it sets the error indicator. " +"Use :c:func:`PyErr_Occurred` to check for that." +msgstr "" +"Esta função pode falhar, caso em que define o indicador de erro. " +"Use :c:func:`PyErr_Occurred` para verificar isso." + +#: ../../c-api/marshal.rst:33 msgid "" "Marshal a Python object, *value*, to *file*. *version* indicates the file " "format." @@ -78,7 +86,7 @@ msgstr "" "Aplica *marshalling* em um objeto Python, *value*, para *file*. *version* " "indica o formato do arquivo." -#: ../../c-api/marshal.rst:37 +#: ../../c-api/marshal.rst:41 msgid "" "Return a bytes object containing the marshalled representation of *value*. " "*version* indicates the file format." @@ -86,13 +94,13 @@ msgstr "" "Retorna um objeto de bytes que contém a representação pós-*marshalling* de " "*value*. *version* indica o formato do arquivo." -#: ../../c-api/marshal.rst:41 +#: ../../c-api/marshal.rst:45 msgid "The following functions allow marshalled values to be read back in." msgstr "" "As seguintes funções permitem que os valores pós-*marshalling* sejam lidos " "novamente." -#: ../../c-api/marshal.rst:46 +#: ../../c-api/marshal.rst:50 msgid "" "Return a C :c:expr:`long` from the data stream in a :c:expr:`FILE*` opened " "for reading. Only a 32-bit value can be read in using this function, " @@ -102,7 +110,7 @@ msgstr "" "para leitura. Somente um valor de 32 bits pode ser lido usando essa função, " "independentemente do tamanho nativo de :c:expr:`long`." -#: ../../c-api/marshal.rst:50 ../../c-api/marshal.rst:60 +#: ../../c-api/marshal.rst:54 ../../c-api/marshal.rst:64 msgid "" "On error, sets the appropriate exception (:exc:`EOFError`) and returns " "``-1``." @@ -110,7 +118,7 @@ msgstr "" "Em caso de erro, define a exceção apropriada (:exc:`EOFError`) e retorna " "``-1``." -#: ../../c-api/marshal.rst:56 +#: ../../c-api/marshal.rst:60 msgid "" "Return a C :c:expr:`short` from the data stream in a :c:expr:`FILE*` opened " "for reading. Only a 16-bit value can be read in using this function, " @@ -120,7 +128,7 @@ msgstr "" "para leitura. Somente um valor de 16 bits pode ser lido usando essa função, " "independentemente do tamanho nativo de :c:expr:`short`." -#: ../../c-api/marshal.rst:66 +#: ../../c-api/marshal.rst:70 msgid "" "Return a Python object from the data stream in a :c:expr:`FILE*` opened for " "reading." @@ -128,16 +136,16 @@ msgstr "" "Retorna um objeto Python do fluxo de dados em um :c:expr:`FILE*` aberto para " "leitura." -#: ../../c-api/marshal.rst:69 ../../c-api/marshal.rst:83 -#: ../../c-api/marshal.rst:92 +#: ../../c-api/marshal.rst:73 ../../c-api/marshal.rst:87 +#: ../../c-api/marshal.rst:96 msgid "" "On error, sets the appropriate exception (:exc:`EOFError`, :exc:`ValueError` " "or :exc:`TypeError`) and returns ``NULL``." msgstr "" -"Em caso de erro, define a exceção apropriada (:exc:`EOFError`, :exc:" -"`ValueError` ou :exc:`TypeError`) e retorna ``NULL``." +"Em caso de erro, define a exceção apropriada " +"(:exc:`EOFError`, :exc:`ValueError` ou :exc:`TypeError`) e retorna ``NULL``." -#: ../../c-api/marshal.rst:75 +#: ../../c-api/marshal.rst:79 msgid "" "Return a Python object from the data stream in a :c:expr:`FILE*` opened for " "reading. Unlike :c:func:`PyMarshal_ReadObjectFromFile`, this function " @@ -155,7 +163,7 @@ msgstr "" "byte por vez do arquivo. Use essas variantes apenas se tiver certeza de que " "não estará lendo mais nada do arquivo." -#: ../../c-api/marshal.rst:89 +#: ../../c-api/marshal.rst:93 msgid "" "Return a Python object from the data stream in a byte buffer containing " "*len* bytes pointed to by *data*." diff --git a/c-api/memory.po b/c-api/memory.po index 8ab2fee19..86c85c2d6 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rodrigo Cândido, 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rodrigo Cândido, 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -44,6 +39,12 @@ msgid "" "different components which deal with various dynamic storage management " "aspects, like sharing, segmentation, preallocation or caching." msgstr "" +"O gerenciamento de memória em Python envolve um heap privado contendo todos " +"os objetos e estruturas de dados Python. O gerenciamento desse heap privado " +"é garantido internamente pelo *gerenciador de memória do Python*. O " +"gerenciador de memória do Python possui diferentes componentes que lidam com " +"diversos aspectos dinâmicos do gerenciamento de armazenamento, como " +"compartilhamento, segmentação, pré-alocação ou cache." #: ../../c-api/memory.rst:25 msgid "" @@ -58,6 +59,18 @@ msgid "" "manager thus delegates some of the work to the object-specific allocators, " "but ensures that the latter operate within the bounds of the private heap." msgstr "" +"No nível mais baixo, um alocador de memória bruta garante que haja espaço " +"suficiente no heap privado para armazenar todos os dados relacionados ao " +"Python, interagindo com o gerenciador de memória do sistema operacional. " +"Além do alocador de memória bruta, vários alocadores específicos de objeto " +"operam no mesmo heap e implementam políticas distintas de gerenciamento de " +"memória, adaptadas às peculiaridades de cada tipo de objeto. Por exemplo, " +"objetos inteiros são gerenciados dentro do heap de forma diferente de " +"strings, tuplas ou dicionários, pois inteiros implicam diferentes requisitos " +"de armazenamento e compensações entre velocidade e espaço. O gerenciador de " +"memória do Python, portanto, delega parte do trabalho aos alocadores " +"específicos de objeto, mas garante que estes operem dentro dos limites do " +"heap privado." #: ../../c-api/memory.rst:36 msgid "" @@ -72,13 +85,14 @@ msgstr "" #: ../../c-api/memory.rst:49 msgid "" "To avoid memory corruption, extension writers should never try to operate on " -"Python objects with the functions exported by the C library: :c:func:" -"`malloc`, :c:func:`calloc`, :c:func:`realloc` and :c:func:`free`. This will " -"result in mixed calls between the C allocator and the Python memory manager " -"with fatal consequences, because they implement different algorithms and " -"operate on different heaps. However, one may safely allocate and release " -"memory blocks with the C library allocator for individual purposes, as shown " -"in the following example::" +"Python objects with the functions exported by the C " +"library: :c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc` " +"and :c:func:`free`. This will result in mixed calls between the C " +"allocator and the Python memory manager with fatal consequences, because " +"they implement different algorithms and operate on different heaps. " +"However, one may safely allocate and release memory blocks with the C " +"library allocator for individual purposes, as shown in the following " +"example::" msgstr "" #: ../../c-api/memory.rst:68 @@ -135,8 +149,8 @@ msgid "" "allocation functions belonging to a given domain for only the purposes " "hinted by that domain (although this is the recommended practice). For " "example, one could use the memory returned by :c:func:`PyMem_RawMalloc` for " -"allocating Python objects or the memory returned by :c:func:" -"`PyObject_Malloc` for allocating memory for buffers." +"allocating Python objects or the memory returned " +"by :c:func:`PyObject_Malloc` for allocating memory for buffers." msgstr "" #: ../../c-api/memory.rst:112 @@ -187,8 +201,8 @@ msgstr "" msgid "" "The :ref:`default raw memory allocator ` uses the " "following functions: :c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc` " -"and :c:func:`free`; call ``malloc(1)`` (or ``calloc(1, 1)``) when requesting " -"zero bytes." +"and :c:func:`!free`; call ``malloc(1)`` (or ``calloc(1, 1)``) when " +"requesting zero bytes." msgstr "" #: ../../c-api/memory.rst:146 ../../c-api/memory.rst:217 @@ -236,9 +250,9 @@ msgstr "" #: ../../c-api/memory.rst:176 msgid "" -"Unless *p* is ``NULL``, it must have been returned by a previous call to :c:" -"func:`PyMem_RawMalloc`, :c:func:`PyMem_RawRealloc` or :c:func:" -"`PyMem_RawCalloc`." +"Unless *p* is ``NULL``, it must have been returned by a previous call " +"to :c:func:`PyMem_RawMalloc`, :c:func:`PyMem_RawRealloc` " +"or :c:func:`PyMem_RawCalloc`." msgstr "" #: ../../c-api/memory.rst:180 @@ -250,9 +264,9 @@ msgstr "" #: ../../c-api/memory.rst:186 msgid "" "Frees the memory block pointed to by *p*, which must have been returned by a " -"previous call to :c:func:`PyMem_RawMalloc`, :c:func:`PyMem_RawRealloc` or :c:" -"func:`PyMem_RawCalloc`. Otherwise, or if ``PyMem_RawFree(p)`` has been " -"called before, undefined behavior occurs." +"previous call to :c:func:`PyMem_RawMalloc`, :c:func:`PyMem_RawRealloc` " +"or :c:func:`PyMem_RawCalloc`. Otherwise, or if ``PyMem_RawFree(p)`` has " +"been called before, undefined behavior occurs." msgstr "" #: ../../c-api/memory.rst:191 ../../c-api/memory.rst:261 @@ -273,8 +287,8 @@ msgstr "" #: ../../c-api/memory.rst:203 msgid "" -"The :ref:`default memory allocator ` uses the :" -"ref:`pymalloc memory allocator `." +"The :ref:`default memory allocator ` uses " +"the :ref:`pymalloc memory allocator `." msgstr "" #: ../../c-api/memory.rst:208 ../../c-api/memory.rst:320 @@ -311,8 +325,8 @@ msgstr "" #: ../../c-api/memory.rst:247 msgid "" -"Unless *p* is ``NULL``, it must have been returned by a previous call to :c:" -"func:`PyMem_Malloc`, :c:func:`PyMem_Realloc` or :c:func:`PyMem_Calloc`." +"Unless *p* is ``NULL``, it must have been returned by a previous call " +"to :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc` or :c:func:`PyMem_Calloc`." msgstr "" #: ../../c-api/memory.rst:250 @@ -324,9 +338,9 @@ msgstr "" #: ../../c-api/memory.rst:256 msgid "" "Frees the memory block pointed to by *p*, which must have been returned by a " -"previous call to :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc` or :c:func:" -"`PyMem_Calloc`. Otherwise, or if ``PyMem_Free(p)`` has been called before, " -"undefined behavior occurs." +"previous call to :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc` " +"or :c:func:`PyMem_Calloc`. Otherwise, or if ``PyMem_Free(p)`` has been " +"called before, undefined behavior occurs." msgstr "" #: ../../c-api/memory.rst:263 @@ -338,16 +352,16 @@ msgstr "" #: ../../c-api/memory.rst:269 msgid "" "Same as :c:func:`PyMem_Malloc`, but allocates ``(n * sizeof(TYPE))`` bytes " -"of memory. Returns a pointer cast to :c:expr:`TYPE*`. The memory will not " -"have been initialized in any way." +"of memory. Returns a pointer cast to ``TYPE*``. The memory will not have " +"been initialized in any way." msgstr "" #: ../../c-api/memory.rst:276 msgid "" "Same as :c:func:`PyMem_Realloc`, but the memory block is resized to ``(n * " -"sizeof(TYPE))`` bytes. Returns a pointer cast to :c:expr:`TYPE*`. On " -"return, *p* will be a pointer to the new memory area, or ``NULL`` in the " -"event of failure." +"sizeof(TYPE))`` bytes. Returns a pointer cast to ``TYPE*``. On return, *p* " +"will be a pointer to the new memory area, or ``NULL`` in the event of " +"failure." msgstr "" #: ../../c-api/memory.rst:281 @@ -367,6 +381,11 @@ msgid "" "above. However, note that their use does not preserve binary compatibility " "across Python versions and is therefore deprecated in extension modules." msgstr "" +"Além disso, os seguintes conjuntos de macros são fornecidos para chamar o " +"alocador de memória do Python diretamente, sem envolver as funções da API C " +"listadas acima. No entanto, observe que seu uso não preserva a " +"compatibilidade binária entre as versões do Python e, portanto, está " +"descontinuado em módulos de extensão." #: ../../c-api/memory.rst:294 msgid "``PyMem_MALLOC(size)``" @@ -382,7 +401,7 @@ msgstr "``PyMem_REALLOC(ptr, size)``" #: ../../c-api/memory.rst:297 msgid "``PyMem_RESIZE(ptr, type, size)``" -msgstr "" +msgstr "``PyMem_RESIZE(ptr, type, size)``" #: ../../c-api/memory.rst:298 msgid "``PyMem_FREE(ptr)``" @@ -406,8 +425,8 @@ msgstr "" #: ../../c-api/memory.rst:315 msgid "" -"The :ref:`default object allocator ` uses the :" -"ref:`pymalloc memory allocator `." +"The :ref:`default object allocator ` uses " +"the :ref:`pymalloc memory allocator `." msgstr "" #: ../../c-api/memory.rst:328 @@ -433,9 +452,9 @@ msgstr "" #: ../../c-api/memory.rst:355 msgid "" -"Unless *p* is ``NULL``, it must have been returned by a previous call to :c:" -"func:`PyObject_Malloc`, :c:func:`PyObject_Realloc` or :c:func:" -"`PyObject_Calloc`." +"Unless *p* is ``NULL``, it must have been returned by a previous call " +"to :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc` " +"or :c:func:`PyObject_Calloc`." msgstr "" #: ../../c-api/memory.rst:358 @@ -447,9 +466,9 @@ msgstr "" #: ../../c-api/memory.rst:364 msgid "" "Frees the memory block pointed to by *p*, which must have been returned by a " -"previous call to :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc` or :c:" -"func:`PyObject_Calloc`. Otherwise, or if ``PyObject_Free(p)`` has been " -"called before, undefined behavior occurs." +"previous call to :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc` " +"or :c:func:`PyObject_Calloc`. Otherwise, or if ``PyObject_Free(p)`` has " +"been called before, undefined behavior occurs." msgstr "" #: ../../c-api/memory.rst:375 @@ -470,15 +489,15 @@ msgstr "Nome" #: ../../c-api/memory.rst:380 msgid "PyMem_RawMalloc" -msgstr "" +msgstr "PyMem_RawMalloc" #: ../../c-api/memory.rst:380 msgid "PyMem_Malloc" -msgstr "" +msgstr "PyMem_Malloc" #: ../../c-api/memory.rst:380 msgid "PyObject_Malloc" -msgstr "" +msgstr "PyObject_Malloc" #: ../../c-api/memory.rst:382 msgid "Release build" @@ -530,7 +549,7 @@ msgstr "``\"malloc_debug\"``" #: ../../c-api/memory.rst:388 msgid "Legend:" -msgstr "" +msgstr "Legenda:" #: ../../c-api/memory.rst:390 msgid "Name: value for :envvar:`PYTHONMALLOC` environment variable." @@ -538,8 +557,9 @@ msgstr "" #: ../../c-api/memory.rst:391 msgid "" -"``malloc``: system allocators from the standard C library, C functions: :c:" -"func:`malloc`, :c:func:`calloc`, :c:func:`realloc` and :c:func:`free`." +"``malloc``: system allocators from the standard C library, C " +"functions: :c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc` " +"and :c:func:`free`." msgstr "" #: ../../c-api/memory.rst:393 @@ -566,19 +586,19 @@ msgid "" "following fields:" msgstr "" -#: ../../c-api/memory.rst:411 ../../c-api/memory.rst:649 +#: ../../c-api/memory.rst:411 ../../c-api/memory.rst:652 msgid "Field" msgstr "Campo" -#: ../../c-api/memory.rst:411 ../../c-api/memory.rst:649 +#: ../../c-api/memory.rst:411 ../../c-api/memory.rst:652 msgid "Meaning" msgstr "Significado" -#: ../../c-api/memory.rst:413 ../../c-api/memory.rst:651 +#: ../../c-api/memory.rst:413 ../../c-api/memory.rst:654 msgid "``void *ctx``" msgstr "``void *ctx``" -#: ../../c-api/memory.rst:413 ../../c-api/memory.rst:651 +#: ../../c-api/memory.rst:413 ../../c-api/memory.rst:654 msgid "user context passed as first argument" msgstr "" @@ -616,154 +636,154 @@ msgstr "" #: ../../c-api/memory.rst:425 msgid "" -"The :c:type:`PyMemAllocator` structure was renamed to :c:type:" -"`PyMemAllocatorEx` and a new ``calloc`` field was added." +"The :c:type:`!PyMemAllocator` structure was renamed " +"to :c:type:`PyMemAllocatorEx` and a new ``calloc`` field was added." msgstr "" #: ../../c-api/memory.rst:432 msgid "Enum used to identify an allocator domain. Domains:" msgstr "" -#: ../../c-api/memory.rst:436 ../../c-api/memory.rst:445 -#: ../../c-api/memory.rst:454 +#: ../../c-api/memory.rst:438 ../../c-api/memory.rst:447 +#: ../../c-api/memory.rst:456 msgid "Functions:" msgstr "Funções:" -#: ../../c-api/memory.rst:438 +#: ../../c-api/memory.rst:440 msgid ":c:func:`PyMem_RawMalloc`" msgstr ":c:func:`PyMem_RawMalloc`" -#: ../../c-api/memory.rst:439 +#: ../../c-api/memory.rst:441 msgid ":c:func:`PyMem_RawRealloc`" msgstr ":c:func:`PyMem_RawRealloc`" -#: ../../c-api/memory.rst:440 +#: ../../c-api/memory.rst:442 msgid ":c:func:`PyMem_RawCalloc`" msgstr ":c:func:`PyMem_RawCalloc`" -#: ../../c-api/memory.rst:441 +#: ../../c-api/memory.rst:443 msgid ":c:func:`PyMem_RawFree`" msgstr ":c:func:`PyMem_RawFree`" -#: ../../c-api/memory.rst:447 +#: ../../c-api/memory.rst:449 msgid ":c:func:`PyMem_Malloc`," msgstr ":c:func:`PyMem_Malloc`," -#: ../../c-api/memory.rst:448 +#: ../../c-api/memory.rst:450 msgid ":c:func:`PyMem_Realloc`" msgstr ":c:func:`PyMem_Realloc`" -#: ../../c-api/memory.rst:449 +#: ../../c-api/memory.rst:451 msgid ":c:func:`PyMem_Calloc`" msgstr ":c:func:`PyMem_Calloc`" -#: ../../c-api/memory.rst:450 +#: ../../c-api/memory.rst:452 msgid ":c:func:`PyMem_Free`" msgstr ":c:func:`PyMem_Free`" -#: ../../c-api/memory.rst:456 +#: ../../c-api/memory.rst:458 msgid ":c:func:`PyObject_Malloc`" msgstr ":c:func:`PyObject_Malloc`" -#: ../../c-api/memory.rst:457 +#: ../../c-api/memory.rst:459 msgid ":c:func:`PyObject_Realloc`" msgstr ":c:func:`PyObject_Realloc`" -#: ../../c-api/memory.rst:458 +#: ../../c-api/memory.rst:460 msgid ":c:func:`PyObject_Calloc`" msgstr ":c:func:`PyObject_Calloc`" -#: ../../c-api/memory.rst:459 +#: ../../c-api/memory.rst:461 msgid ":c:func:`PyObject_Free`" msgstr ":c:func:`PyObject_Free`" -#: ../../c-api/memory.rst:463 +#: ../../c-api/memory.rst:465 msgid "Get the memory block allocator of the specified domain." msgstr "" -#: ../../c-api/memory.rst:468 +#: ../../c-api/memory.rst:470 msgid "Set the memory block allocator of the specified domain." msgstr "" -#: ../../c-api/memory.rst:470 +#: ../../c-api/memory.rst:472 msgid "" "The new allocator must return a distinct non-``NULL`` pointer when " "requesting zero bytes." msgstr "" -#: ../../c-api/memory.rst:473 +#: ../../c-api/memory.rst:475 msgid "" -"For the :c:data:`PYMEM_DOMAIN_RAW` domain, the allocator must be thread-" +"For the :c:macro:`PYMEM_DOMAIN_RAW` domain, the allocator must be thread-" "safe: the :term:`GIL ` is not held when the " "allocator is called." msgstr "" -#: ../../c-api/memory.rst:477 +#: ../../c-api/memory.rst:479 msgid "" "If the new allocator is not a hook (does not call the previous allocator), " "the :c:func:`PyMem_SetupDebugHooks` function must be called to reinstall the " "debug hooks on top on the new allocator." msgstr "" -#: ../../c-api/memory.rst:481 +#: ../../c-api/memory.rst:483 msgid "" "See also :c:member:`PyPreConfig.allocator` and :ref:`Preinitialize Python " "with PyPreConfig `." msgstr "" -#: ../../c-api/memory.rst:486 +#: ../../c-api/memory.rst:488 msgid ":c:func:`PyMem_SetAllocator` does have the following contract:" msgstr "" -#: ../../c-api/memory.rst:488 +#: ../../c-api/memory.rst:490 msgid "" -"It can be called after :c:func:`Py_PreInitialize` and before :c:func:" -"`Py_InitializeFromConfig` to install a custom memory allocator. There are no " -"restrictions over the installed allocator other than the ones imposed by the " -"domain (for instance, the Raw Domain allows the allocator to be called " -"without the GIL held). See :ref:`the section on allocator domains ` for more information." +"It can be called after :c:func:`Py_PreInitialize` and " +"before :c:func:`Py_InitializeFromConfig` to install a custom memory " +"allocator. There are no restrictions over the installed allocator other than " +"the ones imposed by the domain (for instance, the Raw Domain allows the " +"allocator to be called without the GIL held). See :ref:`the section on " +"allocator domains ` for more information." msgstr "" -#: ../../c-api/memory.rst:496 +#: ../../c-api/memory.rst:498 msgid "" -"If called after Python has finish initializing (after :c:func:" -"`Py_InitializeFromConfig` has been called) the allocator **must** wrap the " -"existing allocator. Substituting the current allocator for some other " -"arbitrary one is **not supported**." +"If called after Python has finish initializing " +"(after :c:func:`Py_InitializeFromConfig` has been called) the allocator " +"**must** wrap the existing allocator. Substituting the current allocator for " +"some other arbitrary one is **not supported**." msgstr "" -#: ../../c-api/memory.rst:505 +#: ../../c-api/memory.rst:507 msgid "" "Setup :ref:`debug hooks in the Python memory allocators ` " "to detect memory errors." msgstr "" -#: ../../c-api/memory.rst:512 +#: ../../c-api/memory.rst:514 msgid "Debug hooks on the Python memory allocators" msgstr "" -#: ../../c-api/memory.rst:514 +#: ../../c-api/memory.rst:516 msgid "" -"When :ref:`Python is built in debug mode `, the :c:func:" -"`PyMem_SetupDebugHooks` function is called at the :ref:`Python " +"When :ref:`Python is built in debug mode `, " +"the :c:func:`PyMem_SetupDebugHooks` function is called at the :ref:`Python " "preinitialization ` to setup debug hooks on Python memory " "allocators to detect memory errors." msgstr "" -#: ../../c-api/memory.rst:519 +#: ../../c-api/memory.rst:521 msgid "" "The :envvar:`PYTHONMALLOC` environment variable can be used to install debug " "hooks on a Python compiled in release mode (ex: ``PYTHONMALLOC=debug``)." msgstr "" -#: ../../c-api/memory.rst:522 +#: ../../c-api/memory.rst:524 msgid "" "The :c:func:`PyMem_SetupDebugHooks` function can be used to set debug hooks " "after calling :c:func:`PyMem_SetAllocator`." msgstr "" -#: ../../c-api/memory.rst:525 +#: ../../c-api/memory.rst:527 msgid "" "These debug hooks fill dynamically allocated memory blocks with special, " "recognizable bit patterns. Newly allocated memory is filled with the byte " @@ -773,35 +793,33 @@ msgid "" "these bytes are unlikely to be valid addresses, floats, or ASCII strings." msgstr "" -#: ../../c-api/memory.rst:532 +#: ../../c-api/memory.rst:534 msgid "Runtime checks:" msgstr "Checagens em Tempo de Execução:" -#: ../../c-api/memory.rst:534 +#: ../../c-api/memory.rst:536 msgid "" "Detect API violations. For example, detect if :c:func:`PyObject_Free` is " "called on a memory block allocated by :c:func:`PyMem_Malloc`." msgstr "" -#: ../../c-api/memory.rst:536 +#: ../../c-api/memory.rst:538 msgid "Detect write before the start of the buffer (buffer underflow)." msgstr "" -#: ../../c-api/memory.rst:537 +#: ../../c-api/memory.rst:539 msgid "Detect write after the end of the buffer (buffer overflow)." msgstr "" -#: ../../c-api/memory.rst:538 +#: ../../c-api/memory.rst:540 msgid "" "Check that the :term:`GIL ` is held when allocator " -"functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and :" -"c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are called." +"functions of :c:macro:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) " +"and :c:macro:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are " +"called." msgstr "" -"Check that the :term:`GIL ` is held when allocator " -"functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and :" -"c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are called." -#: ../../c-api/memory.rst:543 +#: ../../c-api/memory.rst:545 msgid "" "On error, the debug hooks use the :mod:`tracemalloc` module to get the " "traceback where a memory block was allocated. The traceback is only " @@ -809,7 +827,7 @@ msgid "" "memory block was traced." msgstr "" -#: ../../c-api/memory.rst:548 +#: ../../c-api/memory.rst:550 msgid "" "Let *S* = ``sizeof(size_t)``. ``2*S`` bytes are added at each end of each " "block of *N* bytes requested. The memory layout is like so, where p " @@ -819,49 +837,49 @@ msgid "" "from a Python slice):" msgstr "" -#: ../../c-api/memory.rst:555 +#: ../../c-api/memory.rst:557 msgid "``p[-2*S:-S]``" -msgstr "" +msgstr "``p[-2*S:-S]``" -#: ../../c-api/memory.rst:555 +#: ../../c-api/memory.rst:557 msgid "" "Number of bytes originally asked for. This is a size_t, big-endian (easier " "to read in a memory dump)." msgstr "" -#: ../../c-api/memory.rst:562 +#: ../../c-api/memory.rst:564 msgid "``p[-S]``" -msgstr "" +msgstr "``p[-S]``" -#: ../../c-api/memory.rst:558 +#: ../../c-api/memory.rst:560 msgid "API identifier (ASCII character):" msgstr "" -#: ../../c-api/memory.rst:560 -msgid "``'r'`` for :c:data:`PYMEM_DOMAIN_RAW`." +#: ../../c-api/memory.rst:562 +msgid "``'r'`` for :c:macro:`PYMEM_DOMAIN_RAW`." msgstr "" -#: ../../c-api/memory.rst:561 -msgid "``'m'`` for :c:data:`PYMEM_DOMAIN_MEM`." +#: ../../c-api/memory.rst:563 +msgid "``'m'`` for :c:macro:`PYMEM_DOMAIN_MEM`." msgstr "" -#: ../../c-api/memory.rst:562 -msgid "``'o'`` for :c:data:`PYMEM_DOMAIN_OBJ`." +#: ../../c-api/memory.rst:564 +msgid "``'o'`` for :c:macro:`PYMEM_DOMAIN_OBJ`." msgstr "" -#: ../../c-api/memory.rst:565 +#: ../../c-api/memory.rst:567 msgid "``p[-S+1:0]``" -msgstr "" +msgstr "``p[-S+1:0]``" -#: ../../c-api/memory.rst:565 +#: ../../c-api/memory.rst:567 msgid "Copies of PYMEM_FORBIDDENBYTE. Used to catch under- writes and reads." msgstr "" -#: ../../c-api/memory.rst:574 +#: ../../c-api/memory.rst:576 msgid "``p[0:N]``" -msgstr "" +msgstr "``p[0:N]``" -#: ../../c-api/memory.rst:568 +#: ../../c-api/memory.rst:570 msgid "" "The requested memory, filled with copies of PYMEM_CLEANBYTE, used to catch " "reference to uninitialized memory. When a realloc-like function is called " @@ -872,35 +890,35 @@ msgid "" "bytes are also filled with PYMEM_DEADBYTE." msgstr "" -#: ../../c-api/memory.rst:577 +#: ../../c-api/memory.rst:579 msgid "``p[N:N+S]``" -msgstr "" +msgstr "``p[N:N+S]``" -#: ../../c-api/memory.rst:577 +#: ../../c-api/memory.rst:579 msgid "Copies of PYMEM_FORBIDDENBYTE. Used to catch over- writes and reads." msgstr "" -#: ../../c-api/memory.rst:588 +#: ../../c-api/memory.rst:590 msgid "``p[N+S:N+2*S]``" -msgstr "" +msgstr "``p[N+S:N+2*S]``" -#: ../../c-api/memory.rst:580 +#: ../../c-api/memory.rst:582 msgid "" "Only used if the ``PYMEM_DEBUG_SERIALNO`` macro is defined (not defined by " "default)." msgstr "" -#: ../../c-api/memory.rst:583 +#: ../../c-api/memory.rst:585 msgid "" "A serial number, incremented by 1 on each call to a malloc-like or realloc-" -"like function. Big-endian ``size_t``. If \"bad memory\" is detected later, " -"the serial number gives an excellent way to set a breakpoint on the next " -"run, to capture the instant at which this block was passed out. The static " -"function bumpserialno() in obmalloc.c is the only place the serial number is " -"incremented, and exists so you can set such a breakpoint easily." +"like function. Big-endian :c:type:`size_t`. If \"bad memory\" is detected " +"later, the serial number gives an excellent way to set a breakpoint on the " +"next run, to capture the instant at which this block was passed out. The " +"static function bumpserialno() in obmalloc.c is the only place the serial " +"number is incremented, and exists so you can set such a breakpoint easily." msgstr "" -#: ../../c-api/memory.rst:590 +#: ../../c-api/memory.rst:592 msgid "" "A realloc-like or free-like function first checks that the " "PYMEM_FORBIDDENBYTE bytes at each end are intact. If they've been altered, " @@ -913,16 +931,17 @@ msgid "" "getting used)." msgstr "" -#: ../../c-api/memory.rst:599 +#: ../../c-api/memory.rst:601 msgid "" "The :c:func:`PyMem_SetupDebugHooks` function now also works on Python " -"compiled in release mode. On error, the debug hooks now use :mod:" -"`tracemalloc` to get the traceback where a memory block was allocated. The " -"debug hooks now also check if the GIL is held when functions of :c:data:" -"`PYMEM_DOMAIN_OBJ` and :c:data:`PYMEM_DOMAIN_MEM` domains are called." +"compiled in release mode. On error, the debug hooks now " +"use :mod:`tracemalloc` to get the traceback where a memory block was " +"allocated. The debug hooks now also check if the GIL is held when functions " +"of :c:macro:`PYMEM_DOMAIN_OBJ` and :c:macro:`PYMEM_DOMAIN_MEM` domains are " +"called." msgstr "" -#: ../../c-api/memory.rst:607 +#: ../../c-api/memory.rst:609 msgid "" "Byte patterns ``0xCB`` (``PYMEM_CLEANBYTE``), ``0xDB`` (``PYMEM_DEADBYTE``) " "and ``0xFB`` (``PYMEM_FORBIDDENBYTE``) have been replaced with ``0xCD``, " @@ -930,127 +949,128 @@ msgid "" "``malloc()`` and ``free()``." msgstr "" -#: ../../c-api/memory.rst:617 +#: ../../c-api/memory.rst:619 msgid "The pymalloc allocator" msgstr "" -#: ../../c-api/memory.rst:619 +#: ../../c-api/memory.rst:621 msgid "" "Python has a *pymalloc* allocator optimized for small objects (smaller or " "equal to 512 bytes) with a short lifetime. It uses memory mappings called " -"\"arenas\" with a fixed size of 256 KiB. It falls back to :c:func:" -"`PyMem_RawMalloc` and :c:func:`PyMem_RawRealloc` for allocations larger than " -"512 bytes." +"\"arenas\" with a fixed size of either 256 KiB on 32-bit platforms or 1 MiB " +"on 64-bit platforms. It falls back to :c:func:`PyMem_RawMalloc` " +"and :c:func:`PyMem_RawRealloc` for allocations larger than 512 bytes." msgstr "" -#: ../../c-api/memory.rst:624 +#: ../../c-api/memory.rst:627 msgid "" "*pymalloc* is the :ref:`default allocator ` of " -"the :c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) and :c:data:" -"`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) domains." +"the :c:macro:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) " +"and :c:macro:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) domains." msgstr "" -#: ../../c-api/memory.rst:628 +#: ../../c-api/memory.rst:631 msgid "The arena allocator uses the following functions:" msgstr "" -#: ../../c-api/memory.rst:630 -msgid ":c:func:`VirtualAlloc` and :c:func:`VirtualFree` on Windows," -msgstr ":c:func:`VirtualAlloc` e :c:func:`VirtualFree` no Windows," +#: ../../c-api/memory.rst:633 +msgid ":c:func:`!VirtualAlloc` and :c:func:`!VirtualFree` on Windows," +msgstr "" -#: ../../c-api/memory.rst:631 -msgid ":c:func:`mmap` and :c:func:`munmap` if available," -msgstr ":c:func:`mmap` e :c:func:`munmap` se disponível," +#: ../../c-api/memory.rst:634 +msgid ":c:func:`!mmap` and :c:func:`!munmap` if available," +msgstr "" -#: ../../c-api/memory.rst:632 +#: ../../c-api/memory.rst:635 msgid ":c:func:`malloc` and :c:func:`free` otherwise." msgstr ":c:func:`malloc` e :c:func:`free` do contrário." -#: ../../c-api/memory.rst:634 +#: ../../c-api/memory.rst:637 msgid "" "This allocator is disabled if Python is configured with the :option:`--" -"without-pymalloc` option. It can also be disabled at runtime using the :" -"envvar:`PYTHONMALLOC` environment variable (ex: ``PYTHONMALLOC=malloc``)." +"without-pymalloc` option. It can also be disabled at runtime using " +"the :envvar:`PYTHONMALLOC` environment variable (ex: " +"``PYTHONMALLOC=malloc``)." msgstr "" -#: ../../c-api/memory.rst:639 +#: ../../c-api/memory.rst:642 msgid "Customize pymalloc Arena Allocator" msgstr "" -#: ../../c-api/memory.rst:645 +#: ../../c-api/memory.rst:648 msgid "" "Structure used to describe an arena allocator. The structure has three " "fields:" msgstr "" -#: ../../c-api/memory.rst:653 +#: ../../c-api/memory.rst:656 msgid "``void* alloc(void *ctx, size_t size)``" msgstr "``void* alloc(void *ctx, size_t size)``" -#: ../../c-api/memory.rst:653 +#: ../../c-api/memory.rst:656 msgid "allocate an arena of size bytes" msgstr "" -#: ../../c-api/memory.rst:655 +#: ../../c-api/memory.rst:658 msgid "``void free(void *ctx, void *ptr, size_t size)``" -msgstr "" +msgstr "``void free(void *ctx, void *ptr, size_t size)``" -#: ../../c-api/memory.rst:655 +#: ../../c-api/memory.rst:658 msgid "free an arena" msgstr "" -#: ../../c-api/memory.rst:660 +#: ../../c-api/memory.rst:663 msgid "Get the arena allocator." msgstr "" -#: ../../c-api/memory.rst:664 +#: ../../c-api/memory.rst:667 msgid "Set the arena allocator." msgstr "" -#: ../../c-api/memory.rst:668 +#: ../../c-api/memory.rst:671 msgid "tracemalloc C API" msgstr "" -#: ../../c-api/memory.rst:674 +#: ../../c-api/memory.rst:677 msgid "Track an allocated memory block in the :mod:`tracemalloc` module." msgstr "" -#: ../../c-api/memory.rst:676 +#: ../../c-api/memory.rst:679 msgid "" "Return ``0`` on success, return ``-1`` on error (failed to allocate memory " "to store the trace). Return ``-2`` if tracemalloc is disabled." msgstr "" -#: ../../c-api/memory.rst:679 +#: ../../c-api/memory.rst:682 msgid "If memory block is already tracked, update the existing trace." msgstr "" -#: ../../c-api/memory.rst:683 +#: ../../c-api/memory.rst:686 msgid "" "Untrack an allocated memory block in the :mod:`tracemalloc` module. Do " "nothing if the block was not tracked." msgstr "" -#: ../../c-api/memory.rst:686 +#: ../../c-api/memory.rst:689 msgid "Return ``-2`` if tracemalloc is disabled, otherwise return ``0``." msgstr "" -#: ../../c-api/memory.rst:692 +#: ../../c-api/memory.rst:695 msgid "Examples" msgstr "Exemplos" -#: ../../c-api/memory.rst:694 +#: ../../c-api/memory.rst:697 msgid "" "Here is the example from section :ref:`memoryoverview`, rewritten so that " "the I/O buffer is allocated from the Python heap by using the first function " "set::" msgstr "" -#: ../../c-api/memory.rst:707 +#: ../../c-api/memory.rst:710 msgid "The same code using the type-oriented function set::" msgstr "" -#: ../../c-api/memory.rst:719 +#: ../../c-api/memory.rst:722 msgid "" "Note that in the two examples above, the buffer is always manipulated via " "functions belonging to the same set. Indeed, it is required to use the same " @@ -1060,31 +1080,32 @@ msgid "" "different allocators operating on different heaps. ::" msgstr "" -#: ../../c-api/memory.rst:734 +#: ../../c-api/memory.rst:737 msgid "" "In addition to the functions aimed at handling raw memory blocks from the " -"Python heap, objects in Python are allocated and released with :c:func:" -"`PyObject_New`, :c:func:`PyObject_NewVar` and :c:func:`PyObject_Del`." +"Python heap, objects in Python are allocated and released " +"with :c:macro:`PyObject_New`, :c:macro:`PyObject_NewVar` " +"and :c:func:`PyObject_Del`." msgstr "" -#: ../../c-api/memory.rst:738 +#: ../../c-api/memory.rst:741 msgid "" "These will be explained in the next chapter on defining and implementing new " "object types in C." msgstr "" #: ../../c-api/memory.rst:43 -msgid "malloc()" +msgid "malloc (C function)" msgstr "" #: ../../c-api/memory.rst:43 -msgid "calloc()" +msgid "calloc (C function)" msgstr "" #: ../../c-api/memory.rst:43 -msgid "realloc()" +msgid "realloc (C function)" msgstr "" #: ../../c-api/memory.rst:43 -msgid "free()" +msgid "free (C function)" msgstr "" diff --git a/c-api/memoryview.po b/c-api/memoryview.po index c3fa5bbba..5e962dc01 100644 --- a/c-api/memoryview.po +++ b/c-api/memoryview.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# willian ohara, 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-11 21:10+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: willian ohara, 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -50,7 +50,15 @@ msgstr "" "memoryview será de leitura/gravação; caso contrário, poderá ser somente " "leitura ou leitura/gravação, a critério do exportador." -#: ../../c-api/memoryview.rst:25 +#: ../../c-api/memoryview.rst:26 +msgid "Flag to request a readonly buffer." +msgstr "Sinalizador para solicitar um buffer de somente leitura." + +#: ../../c-api/memoryview.rst:31 +msgid "Flag to request a writable buffer." +msgstr "Sinalizador para solicitar um buffer gravável." + +#: ../../c-api/memoryview.rst:36 msgid "" "Create a memoryview object using *mem* as the underlying buffer. *flags* can " "be one of :c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE`." @@ -58,7 +66,7 @@ msgstr "" "Cria um objeto memoryview usando *mem* como o buffer subjacente. *flags* " "pode ser um dos seguintes :c:macro:`PyBUF_READ` ou :c:macro:`PyBUF_WRITE`." -#: ../../c-api/memoryview.rst:32 +#: ../../c-api/memoryview.rst:43 msgid "" "Create a memoryview object wrapping the given buffer structure *view*. For " "simple byte buffers, :c:func:`PyMemoryView_FromMemory` is the preferred " @@ -68,7 +76,7 @@ msgstr "" "fornecida. Para buffers de bytes simples, :c:func:`PyMemoryView_FromMemory` " "é a função preferida." -#: ../../c-api/memoryview.rst:38 +#: ../../c-api/memoryview.rst:49 msgid "" "Create a memoryview object to a :term:`contiguous` chunk of memory (in " "either 'C' or 'F'ortran *order*) from an object that defines the buffer " @@ -82,7 +90,14 @@ msgstr "" "memoryview apontará para a memória original. Caso contrário, é feita uma " "cópia e a visualização da memória aponta para um novo objeto bytes." -#: ../../c-api/memoryview.rst:47 +#: ../../c-api/memoryview.rst:55 +msgid "" +"*buffertype* can be one of :c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE`." +msgstr "" +"*buffertype* pode ser um entre :c:macro:`PyBUF_READ` " +"ou :c:macro:`PyBUF_WRITE`." + +#: ../../c-api/memoryview.rst:60 msgid "" "Return true if the object *obj* is a memoryview object. It is not currently " "allowed to create subclasses of :class:`memoryview`. This function always " @@ -92,7 +107,7 @@ msgstr "" "permitido criar subclasses de :class:`memoryview`. Esta função sempre tem " "sucesso." -#: ../../c-api/memoryview.rst:54 +#: ../../c-api/memoryview.rst:67 msgid "" "Return a pointer to the memoryview's private copy of the exporter's buffer. " "*mview* **must** be a memoryview instance; this macro doesn't check its " @@ -102,17 +117,19 @@ msgstr "" "*mview* **deve** ser uma instância de memoryview; Se essa macro não " "verificar seu tipo, faça você mesmo ou corre o risco de travar." -#: ../../c-api/memoryview.rst:60 +#: ../../c-api/memoryview.rst:73 msgid "" "Return either a pointer to the exporting object that the memoryview is based " -"on or ``NULL`` if the memoryview has been created by one of the functions :c:" -"func:`PyMemoryView_FromMemory` or :c:func:`PyMemoryView_FromBuffer`. *mview* " -"**must** be a memoryview instance." +"on or ``NULL`` if the memoryview has been created by one of the " +"functions :c:func:`PyMemoryView_FromMemory` " +"or :c:func:`PyMemoryView_FromBuffer`. *mview* **must** be a memoryview " +"instance." msgstr "" "Retorna um ponteiro para o objeto de exportação no qual a memória é baseada " -"ou ``NULL`` se a memória tiver sido criada por uma das funções :c:func:" -"`PyMemoryView_FromMemory` ou :c:func:`PyMemoryView_FromBuffer`. *mview* " -"**deve** ser uma instância de memoryview." +"ou ``NULL`` se a memória tiver sido criada por uma das " +"funções :c:func:`PyMemoryView_FromMemory` " +"ou :c:func:`PyMemoryView_FromBuffer`. *mview* **deve** ser uma instância de " +"memoryview." #: ../../c-api/memoryview.rst:5 msgid "object" @@ -120,4 +137,4 @@ msgstr "objeto" #: ../../c-api/memoryview.rst:5 msgid "memoryview" -msgstr "" +msgstr "memoryview" diff --git a/c-api/method.po b/c-api/method.po index 3fcb432ab..7316c9206 100644 --- a/c-api/method.po +++ b/c-api/method.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Adorilson Bezerra , 2021 -# Cássio Nomura , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -32,12 +29,12 @@ msgstr "Objetos de Método de Instância" #: ../../c-api/method.rst:10 msgid "" -"An instance method is a wrapper for a :c:data:`PyCFunction` and the new way " -"to bind a :c:data:`PyCFunction` to a class object. It replaces the former " +"An instance method is a wrapper for a :c:type:`PyCFunction` and the new way " +"to bind a :c:type:`PyCFunction` to a class object. It replaces the former " "call ``PyMethod_New(func, NULL, class)``." msgstr "" -"Um método de instância é um wrapper para um :c:data:`PyCFunction` e a nova " -"maneira de vincular um :c:data:`PyCFunction` a um objeto de classe. Ele " +"Um método de instância é um invólucro para um :c:type:`PyCFunction` e a nova " +"maneira de vincular um :c:type:`PyCFunction` a um objeto classe. Ele " "substitui a chamada anterior ``PyMethod_New(func, NULL, class)``." #: ../../c-api/method.rst:17 @@ -50,13 +47,13 @@ msgstr "" #: ../../c-api/method.rst:23 msgid "" -"Return true if *o* is an instance method object (has type :c:data:" -"`PyInstanceMethod_Type`). The parameter must not be ``NULL``. This function " -"always succeeds." +"Return true if *o* is an instance method object (has " +"type :c:data:`PyInstanceMethod_Type`). The parameter must not be ``NULL``. " +"This function always succeeds." msgstr "" -"Retorna verdadeiro se *o* é um objeto de método de instância (tem tipo :c:" -"data:`PyInstanceMethod_Type`). O parâmetro não deve ser ``NULL``. Esta " -"função sempre tem sucesso." +"Retorna verdadeiro se *o* é um objeto de método de instância (tem " +"tipo :c:data:`PyInstanceMethod_Type`). O parâmetro não deve ser ``NULL``. " +"Esta função sempre tem sucesso." #: ../../c-api/method.rst:30 msgid "" @@ -107,9 +104,9 @@ msgid "" "Return true if *o* is a method object (has type :c:data:`PyMethod_Type`). " "The parameter must not be ``NULL``. This function always succeeds." msgstr "" -"Retorna verdadeiro se *o* é um objeto de método (tem tipo :c:data:" -"`PyMethod_Type`). O parâmetro não deve ser ``NULL``. Esta função sempre tem " -"sucesso." +"Retorna verdadeiro se *o* é um objeto de método (tem " +"tipo :c:data:`PyMethod_Type`). O parâmetro não deve ser ``NULL``. Esta " +"função sempre tem sucesso." #: ../../c-api/method.rst:73 msgid "" @@ -146,7 +143,7 @@ msgstr "objeto" #: ../../c-api/method.rst:8 msgid "instancemethod" -msgstr "" +msgstr "instancemethod" #: ../../c-api/method.rst:50 msgid "method" @@ -154,4 +151,4 @@ msgstr "método" #: ../../c-api/method.rst:59 msgid "MethodType (in module types)" -msgstr "" +msgstr "MethodType (em tipos de módulos)" diff --git a/c-api/module.po b/c-api/module.po index db939b225..4a29fe45e 100644 --- a/c-api/module.po +++ b/c-api/module.po @@ -1,29 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Rodrigo Cândido, 2022 -# Welliton Malta , 2023 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# willian ohara, 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-11 21:10+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: willian ohara, 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -49,25 +46,26 @@ msgstr "" #: ../../c-api/module.rst:27 msgid "" -"Return true if *p* is a module object, but not a subtype of :c:data:" -"`PyModule_Type`. This function always succeeds." +"Return true if *p* is a module object, but not a subtype " +"of :c:data:`PyModule_Type`. This function always succeeds." msgstr "" -"Retorna true se *p* for um objeto de módulo, mas não um subtipo de :c:data:" -"`PyModule_Type`. Essa função é sempre bem-sucedida." +"Retorna true se *p* for um objeto de módulo, mas não um subtipo " +"de :c:data:`PyModule_Type`. Essa função é sempre bem-sucedida." #: ../../c-api/module.rst:40 msgid "" "Return a new module object with the :attr:`__name__` attribute set to " "*name*. The module's :attr:`__name__`, :attr:`__doc__`, :attr:`__package__`, " "and :attr:`__loader__` attributes are filled in (all but :attr:`__name__` " -"are set to ``None``); the caller is responsible for providing a :attr:" -"`__file__` attribute." +"are set to ``None``); the caller is responsible for providing " +"a :attr:`__file__` attribute." msgstr "" "Retorna um novo objeto de módulo com o atributo :attr:`__name__` definido " -"como *name*. Os atributos de módulo :attr:`__name__`, :attr:`__doc__`, :attr:" -"`__package__` e :attr:`__loader__` são preenchidos (todos exceto :attr:" -"`__name__` são definidos como ``None``); O chamador é responsásvel por " -"providenciar um atributo :attr:`__file__`." +"como *name*. Os atributos de " +"módulo :attr:`__name__`, :attr:`__doc__`, :attr:`__package__` " +"e :attr:`__loader__` são preenchidos (todos exceto :attr:`__name__` são " +"definidos como ``None``); O chamador é responsásvel por providenciar um " +"atributo :attr:`__file__`." #: ../../c-api/module.rst:48 msgid ":attr:`__package__` and :attr:`__loader__` are set to ``None``." @@ -88,13 +86,20 @@ msgid "" "object. If *module* is not a module object (or a subtype of a module " "object), :exc:`SystemError` is raised and ``NULL`` is returned." msgstr "" +"Retorna o objeto dicionário que implementa o espaço de nomes de *module*; " +"este objeto é o mesmo que o atributo :attr:`~object.__dict__` do objeto de " +"módulo. Se *module* não for um objeto de módulo (ou um subtipo de um objeto " +"de módulo), :exc:`SystemError` é levantada e ``NULL`` é retornado." #: ../../c-api/module.rst:67 msgid "" "It is recommended extensions use other ``PyModule_*`` and ``PyObject_*`` " -"functions rather than directly manipulate a module's :attr:`~object." -"__dict__`." +"functions rather than directly manipulate a " +"module's :attr:`~object.__dict__`." msgstr "" +"É recomendado que as extensões usem outras funções ``PyModule_*`` e " +"``PyObject_*`` em vez de manipular diretamente o :attr:`~object.__dict__` de " +"um módulo." #: ../../c-api/module.rst:78 msgid "" @@ -102,6 +107,9 @@ msgid "" "one, or if it is not a string, :exc:`SystemError` is raised and ``NULL`` is " "returned." msgstr "" +"Retorna o valor :attr:`__name__` do *módulo*. Se o módulo não fornecer um, " +"ou se não for uma string, :exc:`SystemError` é levantada e ``NULL`` é " +"retornado." #: ../../c-api/module.rst:86 msgid "" @@ -114,12 +122,12 @@ msgstr "" #: ../../c-api/module.rst:91 msgid "" "Return the \"state\" of the module, that is, a pointer to the block of " -"memory allocated at module creation time, or ``NULL``. See :c:member:" -"`PyModuleDef.m_size`." +"memory allocated at module creation time, or ``NULL``. " +"See :c:member:`PyModuleDef.m_size`." msgstr "" "Retorna o \"estado\" do módulo, ou seja, um ponteiro para o bloco de memória " -"alocado no momento de criação do módulo, ou ``NULL``. Ver :c:member:" -"`PyModuleDef.m_size`." +"alocado no momento de criação do módulo, ou ``NULL``. " +"Ver :c:member:`PyModuleDef.m_size`." #: ../../c-api/module.rst:98 msgid "" @@ -131,10 +139,10 @@ msgstr "" #: ../../c-api/module.rst:108 msgid "" -"Return the name of the file from which *module* was loaded using *module*'s :" -"attr:`__file__` attribute. If this is not defined, or if it is not a " -"unicode string, raise :exc:`SystemError` and return ``NULL``; otherwise " -"return a reference to a Unicode object." +"Return the name of the file from which *module* was loaded using " +"*module*'s :attr:`__file__` attribute. If this is not defined, or if it is " +"not a unicode string, raise :exc:`SystemError` and return ``NULL``; " +"otherwise return a reference to a Unicode object." msgstr "" "Retorna o nome do arquivo do qual o *módulo* foi carregado usando o " "atributo :attr:`__file__` do *módulo*. Se não estiver definido, ou se não " @@ -151,9 +159,11 @@ msgstr "" #: ../../c-api/module.rst:121 msgid "" -":c:func:`PyModule_GetFilename` raises :c:type:`UnicodeEncodeError` on " +":c:func:`PyModule_GetFilename` raises :exc:`UnicodeEncodeError` on " "unencodable filenames, use :c:func:`PyModule_GetFilenameObject` instead." msgstr "" +":c:func:`PyModule_GetFilename`: levanta :exc:`UnicodeEncodeError` quando há " +"nomes de arquivos não codificáveis, use :c:func:`PyModule_GetFilenameObject`." #: ../../c-api/module.rst:129 msgid "Initializing C modules" @@ -168,15 +178,16 @@ msgid "" msgstr "" "Objetos de módulos são geralmente criados a partir de módulos de extensão " "(bibliotecas compartilhadas que exportam uma função de inicialização), ou " -"módulos compilados (onde a função de inicialização é adicionada usando :c:" -"func:`PyImport_AppendInittab`). Ver :ref:`building` ou :ref:`extending-with-" -"embedding` para mais detalhes." +"módulos compilados (onde a função de inicialização é adicionada " +"usando :c:func:`PyImport_AppendInittab`). Ver :ref:`building` " +"ou :ref:`extending-with-embedding` para mais detalhes." #: ../../c-api/module.rst:136 msgid "" -"The initialization function can either pass a module definition instance to :" -"c:func:`PyModule_Create`, and return the resulting module object, or request " -"\"multi-phase initialization\" by returning the definition struct itself." +"The initialization function can either pass a module definition instance " +"to :c:func:`PyModule_Create`, and return the resulting module object, or " +"request \"multi-phase initialization\" by returning the definition struct " +"itself." msgstr "" "A função de inicialização pode passar uma instância de definição de módulo " "para :c:func:`PyModule_Create` e retornar o objeto de módulo resultante ou " @@ -194,8 +205,8 @@ msgstr "" "variável inicializada estaticamente desse tipo para cada módulo." #: ../../c-api/module.rst:148 -msgid "Always initialize this member to :const:`PyModuleDef_HEAD_INIT`." -msgstr "Sempre inicializa este membro para :const:`PyModuleDef_HEAD_INIT`." +msgid "Always initialize this member to :c:macro:`PyModuleDef_HEAD_INIT`." +msgstr "Sempre inicializa este membro para :c:macro:`PyModuleDef_HEAD_INIT`." #: ../../c-api/module.rst:152 msgid "Name for the new module." @@ -203,9 +214,11 @@ msgstr "Nome para o novo módulo." #: ../../c-api/module.rst:156 msgid "" -"Docstring for the module; usually a docstring variable created with :c:macro:" -"`PyDoc_STRVAR` is used." +"Docstring for the module; usually a docstring variable created " +"with :c:macro:`PyDoc_STRVAR` is used." msgstr "" +"Docstring para o módulo; geralmente uma variável docstring criada " +"com :c:macro:`PyDoc_STRVAR` é usada." #: ../../c-api/module.rst:161 msgid "" @@ -213,19 +226,28 @@ msgid "" "with :c:func:`PyModule_GetState`, rather than in static globals. This makes " "modules safe for use in multiple sub-interpreters." msgstr "" +"O estado do módulo pode ser mantido em uma área de memória por módulo que " +"pode ser recuperada com :c:func:`PyModule_GetState`, em vez de em globais " +"estáticos. Isso torna os módulos seguros para uso em vários " +"subinterpretadores." #: ../../c-api/module.rst:165 msgid "" "This memory area is allocated based on *m_size* on module creation, and " -"freed when the module object is deallocated, after the :c:member:`m_free` " -"function has been called, if present." +"freed when the module object is deallocated, after " +"the :c:member:`~PyModuleDef.m_free` function has been called, if present." msgstr "" +"Esta área de memória é alocada com base em *m_size* na criação do módulo e " +"liberada quando o objeto do módulo é desalocado, após a " +"função :c:member:`~PyModuleDef.m_free` ter sido chamada, se presente." #: ../../c-api/module.rst:169 msgid "" "Setting ``m_size`` to ``-1`` means that the module does not support sub-" "interpreters, because it has global state." msgstr "" +"Definir ``m_size`` como ``-1`` significa que o módulo não oferece suporte a " +"subinterpretadores, porque ele tem estado global." #: ../../c-api/module.rst:172 msgid "" @@ -245,9 +267,13 @@ msgstr "Ver :PEP:`3121` para mais detalhes." #: ../../c-api/module.rst:181 msgid "" -"A pointer to a table of module-level functions, described by :c:type:" -"`PyMethodDef` values. Can be ``NULL`` if no functions are present." +"A pointer to a table of module-level functions, described " +"by :c:type:`PyMethodDef` values. Can be ``NULL`` if no functions are " +"present." msgstr "" +"Um ponteiro para uma tabela de funções de nível de módulo, descritas por " +"valores :c:type:`PyMethodDef`. Pode ser ``NULL`` se nenhuma função estiver " +"presente." #: ../../c-api/module.rst:186 msgid "" @@ -255,18 +281,25 @@ msgid "" "``{0, NULL}`` entry. When using single-phase initialization, *m_slots* must " "be ``NULL``." msgstr "" +"Uma matriz de definições de slot para inicialização multifásica, terminada " +"por uma entrada ``{0, NULL}``. Ao usar inicialização monofásica, *m_slots* " +"deve ser ``NULL``." #: ../../c-api/module.rst:192 msgid "" "Prior to version 3.5, this member was always set to ``NULL``, and was " "defined as:" msgstr "" +"Antes da versão 3.5, esse membro era sempre definido como ``NULL`` e era " +"definido como:" #: ../../c-api/module.rst:199 msgid "" "A traversal function to call during GC traversal of the module object, or " "``NULL`` if not needed." msgstr "" +"Uma função de travessia para chamar durante a travessia do GC do objeto do " +"módulo, ou ``NULL`` se não for necessário." #: ../../c-api/module.rst:202 ../../c-api/module.rst:217 #: ../../c-api/module.rst:238 @@ -274,10 +307,16 @@ msgid "" "This function is not called if the module state was requested but is not " "allocated yet. This is the case immediately after the module is created and " "before the module is executed (:c:data:`Py_mod_exec` function). More " -"precisely, this function is not called if :c:member:`m_size` is greater than " -"0 and the module state (as returned by :c:func:`PyModule_GetState`) is " -"``NULL``." +"precisely, this function is not called if :c:member:`~PyModuleDef.m_size` is " +"greater than 0 and the module state (as returned " +"by :c:func:`PyModule_GetState`) is ``NULL``." msgstr "" +"Esta função não é mais chamada se o estado do módulo foi solicitado, mas " +"ainda não está alocado. Este é o caso imediatamente após o módulo ser criado " +"e antes de o módulo ser executado (função :c:data:`Py_mod_exec`). Mais " +"precisamente, esta função não é chamada se :c:member:`~PyModuleDef.m_size` " +"for maior que 0 e o estado do módulo (como retornado " +"por :c:func:`PyModule_GetState`) for ``NULL``." #: ../../c-api/module.rst:209 ../../c-api/module.rst:230 #: ../../c-api/module.rst:245 @@ -289,6 +328,8 @@ msgid "" "A clear function to call during GC clearing of the module object, or " "``NULL`` if not needed." msgstr "" +"Uma função de limpeza para chamar durante a limpeza do GC do objeto do " +"módulo, ou ``NULL`` se não for necessário." #: ../../c-api/module.rst:224 msgid "" @@ -298,6 +339,11 @@ msgid "" "collector is not involved and :c:member:`~PyModuleDef.m_free` is called " "directly." msgstr "" +"Assim como :c:member:`PyTypeObject.tp_clear`, esta função não é *sempre* " +"chamada antes de um módulo ser desalocado. Por exemplo, quando a contagem de " +"referências é suficiente para determinar que um objeto não é mais usado, o " +"coletor de lixo cíclico não é envolvido e :c:member:`~PyModuleDef.m_free` é " +"chamado diretamente." #: ../../c-api/module.rst:235 msgid "" @@ -324,12 +370,12 @@ msgstr "" #: ../../c-api/module.rst:257 msgid "" "Create a new module object, given the definition in *def*. This behaves " -"like :c:func:`PyModule_Create2` with *module_api_version* set to :const:" -"`PYTHON_API_VERSION`." +"like :c:func:`PyModule_Create2` with *module_api_version* set " +"to :c:macro:`PYTHON_API_VERSION`." msgstr "" "Cria um novo objeto de módulo, dada a definição em *def*. Isso se comporta " -"como :c:func:`PyModule_Create2` com *module_api_version* definido como :" -"const:`PYTHON_API_VERSION`" +"como :c:func:`PyModule_Create2` com *module_api_version* definido " +"como :c:macro:`PYTHON_API_VERSION`" #: ../../c-api/module.rst:264 msgid "" @@ -343,14 +389,14 @@ msgid "" "Most uses of this function should be using :c:func:`PyModule_Create` " "instead; only use this if you are sure you need it." msgstr "" -"A maioria dos usos dessa função deve ser feita com :c:func:" -"`PyModule_Create`; use-o apenas se tiver certeza de que precisa." +"A maioria dos usos dessa função deve ser feita " +"com :c:func:`PyModule_Create`; use-o apenas se tiver certeza de que precisa." #: ../../c-api/module.rst:273 msgid "" "Before it is returned from in the initialization function, the resulting " -"module object is typically populated using functions like :c:func:" -"`PyModule_AddObjectRef`." +"module object is typically populated using functions " +"like :c:func:`PyModule_AddObjectRef`." msgstr "" #: ../../c-api/module.rst:279 @@ -363,8 +409,8 @@ 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:`!__new__` and :py:meth:`!" +"__init__` methods of classes." msgstr "" #: ../../c-api/module.rst:288 @@ -375,9 +421,10 @@ msgid "" "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:`__dict__` " -"or individual classes created with :c:func:`PyType_FromSpec`)." +"specific to the module object (using e.g. " +"using :c:func:`PyModule_GetState`), or its contents (such as the " +"module's :attr:`~object.__dict__` or individual classes created " +"with :c:func:`PyType_FromSpec`)." msgstr "" #: ../../c-api/module.rst:298 @@ -390,9 +437,9 @@ msgstr "" #: ../../c-api/module.rst:302 msgid "" "To request multi-phase initialization, the initialization function " -"(PyInit_modulename) returns a :c:type:`PyModuleDef` instance with non-empty :" -"c:member:`~PyModuleDef.m_slots`. Before it is returned, the ``PyModuleDef`` " -"instance must be initialized with the following function:" +"(PyInit_modulename) returns a :c:type:`PyModuleDef` instance with non-" +"empty :c:member:`~PyModuleDef.m_slots`. Before it is returned, the " +"``PyModuleDef`` instance must be initialized with the following function:" msgstr "" #: ../../c-api/module.rst:309 @@ -436,21 +483,21 @@ msgid "" "*value* pointer of this slot must point to a function of the signature:" msgstr "" -#: ../../c-api/module.rst:342 +#: ../../c-api/module.rst:343 msgid "" "The function receives a :py:class:`~importlib.machinery.ModuleSpec` " "instance, as defined in :PEP:`451`, and the module definition. It should " "return a new module object, or set an error and return ``NULL``." msgstr "" -#: ../../c-api/module.rst:347 +#: ../../c-api/module.rst:348 msgid "" "This function should be kept minimal. In particular, it should not call " "arbitrary Python code, as trying to import the same module again may result " "in an infinite loop." msgstr "" -#: ../../c-api/module.rst:351 +#: ../../c-api/module.rst:352 msgid "" "Multiple ``Py_mod_create`` slots may not be specified in one module " "definition." @@ -458,7 +505,7 @@ msgstr "" "Múltiplos slots ``Py_mod_create`` podem não estar especificados em uma " "definição de módulo." -#: ../../c-api/module.rst:354 +#: ../../c-api/module.rst:355 msgid "" "If ``Py_mod_create`` is not specified, the import machinery will create a " "normal module object using :c:func:`PyModule_New`. The name is taken from " @@ -467,17 +514,17 @@ msgid "" "through symlinks, all while sharing a single module definition." msgstr "" -#: ../../c-api/module.rst:360 +#: ../../c-api/module.rst:361 msgid "" -"There is no requirement for the returned object to be an instance of :c:type:" -"`PyModule_Type`. Any type can be used, as long as it supports setting and " -"getting import-related attributes. However, only ``PyModule_Type`` instances " -"may be returned if the ``PyModuleDef`` has non-``NULL`` ``m_traverse``, " -"``m_clear``, ``m_free``; non-zero ``m_size``; or slots other than " -"``Py_mod_create``." +"There is no requirement for the returned object to be an instance " +"of :c:type:`PyModule_Type`. Any type can be used, as long as it supports " +"setting and getting import-related attributes. However, only " +"``PyModule_Type`` instances may be returned if the ``PyModuleDef`` has non-" +"``NULL`` ``m_traverse``, ``m_clear``, ``m_free``; non-zero ``m_size``; or " +"slots other than ``Py_mod_create``." msgstr "" -#: ../../c-api/module.rst:369 +#: ../../c-api/module.rst:370 msgid "" "Specifies a function that is called to *execute* the module. This is " "equivalent to executing the code of a Python module: typically, this " @@ -485,7 +532,7 @@ msgid "" "function is:" msgstr "" -#: ../../c-api/module.rst:376 +#: ../../c-api/module.rst:378 msgid "" "If multiple ``Py_mod_exec`` slots are specified, they are processed in the " "order they appear in the *m_slots* array." @@ -493,16 +540,16 @@ msgstr "" "Se vários slots ``Py_mod_exec`` forem especificados, eles serão processados " "na ordem em que aparecem no vetor *m_slots*." -#: ../../c-api/module.rst:379 +#: ../../c-api/module.rst:381 msgid "See :PEP:`489` for more details on multi-phase initialization." msgstr "" "Ver :PEP:`489` para obter mais detalhes sobre a inicialização multifásica." -#: ../../c-api/module.rst:382 +#: ../../c-api/module.rst:384 msgid "Low-level module creation functions" msgstr "Funções de criação de módulo de baixo nível" -#: ../../c-api/module.rst:384 +#: ../../c-api/module.rst:386 msgid "" "The following functions are called under the hood when using multi-phase " "initialization. They can be used directly, for example when creating module " @@ -510,14 +557,14 @@ msgid "" "``PyModule_ExecDef`` must be called to fully initialize a module." msgstr "" -#: ../../c-api/module.rst:391 +#: ../../c-api/module.rst:393 msgid "" "Create a new module object, given the definition in *def* and the ModuleSpec " "*spec*. This behaves like :c:func:`PyModule_FromDefAndSpec2` with " -"*module_api_version* set to :const:`PYTHON_API_VERSION`." +"*module_api_version* set to :c:macro:`PYTHON_API_VERSION`." msgstr "" -#: ../../c-api/module.rst:399 +#: ../../c-api/module.rst:401 msgid "" "Create a new module object, given the definition in *def* and the ModuleSpec " "*spec*, assuming the API version *module_api_version*. If that version does " @@ -525,24 +572,24 @@ msgid "" "emitted." msgstr "" -#: ../../c-api/module.rst:406 +#: ../../c-api/module.rst:408 msgid "" "Most uses of this function should be using :c:func:`PyModule_FromDefAndSpec` " "instead; only use this if you are sure you need it." msgstr "" -#: ../../c-api/module.rst:413 +#: ../../c-api/module.rst:415 msgid "Process any execution slots (:c:data:`Py_mod_exec`) given in *def*." msgstr "" -#: ../../c-api/module.rst:419 +#: ../../c-api/module.rst:421 msgid "" "Set the docstring for *module* to *docstring*. This function is called " "automatically when creating a module from ``PyModuleDef``, using either " "``PyModule_Create`` or ``PyModule_FromDefAndSpec``." msgstr "" -#: ../../c-api/module.rst:428 +#: ../../c-api/module.rst:430 msgid "" "Add the functions from the ``NULL`` terminated *functions* array to " "*module*. Refer to the :c:type:`PyMethodDef` documentation for details on " @@ -554,11 +601,11 @@ msgid "" "``PyModule_FromDefAndSpec``." msgstr "" -#: ../../c-api/module.rst:440 +#: ../../c-api/module.rst:442 msgid "Support functions" msgstr "" -#: ../../c-api/module.rst:442 +#: ../../c-api/module.rst:444 msgid "" "The module initialization function (if using single phase initialization) or " "a function called from a module execution slot (if using multi-phase " @@ -566,28 +613,28 @@ msgid "" "module state:" msgstr "" -#: ../../c-api/module.rst:449 +#: ../../c-api/module.rst:451 msgid "" "Add an object to *module* as *name*. This is a convenience function which " "can be used from the module's initialization function." msgstr "" -#: ../../c-api/module.rst:452 +#: ../../c-api/module.rst:454 msgid "" "On success, return ``0``. On error, raise an exception and return ``-1``." msgstr "" -#: ../../c-api/module.rst:454 +#: ../../c-api/module.rst:456 msgid "" "Return ``NULL`` if *value* is ``NULL``. It must be called with an exception " "raised in this case." msgstr "" -#: ../../c-api/module.rst:457 ../../c-api/module.rst:506 +#: ../../c-api/module.rst:459 ../../c-api/module.rst:508 msgid "Example usage::" msgstr "Exemplo de uso::" -#: ../../c-api/module.rst:471 ../../c-api/module.rst:524 +#: ../../c-api/module.rst:473 ../../c-api/module.rst:526 msgid "" "The example can also be written without checking explicitly if *obj* is " "``NULL``::" @@ -595,52 +642,52 @@ msgstr "" "O exemplo também pode ser escrito sem verificar explicitamente se *obj* é " "``NULL``::" -#: ../../c-api/module.rst:483 ../../c-api/module.rst:540 +#: ../../c-api/module.rst:485 ../../c-api/module.rst:542 msgid "" "Note that ``Py_XDECREF()`` should be used instead of ``Py_DECREF()`` in this " "case, since *obj* can be ``NULL``." msgstr "" -#: ../../c-api/module.rst:491 +#: ../../c-api/module.rst:493 msgid "" "Similar to :c:func:`PyModule_AddObjectRef`, but steals a reference to " "*value* on success (if it returns ``0``)." msgstr "" -#: ../../c-api/module.rst:494 +#: ../../c-api/module.rst:496 msgid "" "The new :c:func:`PyModule_AddObjectRef` function is recommended, since it is " -"easy to introduce reference leaks by misusing the :c:func:" -"`PyModule_AddObject` function." +"easy to introduce reference leaks by misusing " +"the :c:func:`PyModule_AddObject` function." msgstr "" -#: ../../c-api/module.rst:500 +#: ../../c-api/module.rst:502 msgid "" "Unlike other functions that steal references, ``PyModule_AddObject()`` only " -"decrements the reference count of *value* **on success**." +"releases the reference to *value* **on success**." msgstr "" -#: ../../c-api/module.rst:503 +#: ../../c-api/module.rst:505 msgid "" -"This means that its return value must be checked, and calling code must :c:" -"func:`Py_DECREF` *value* manually on error." +"This means that its return value must be checked, and calling code " +"must :c:func:`Py_DECREF` *value* manually on error." msgstr "" -#: ../../c-api/module.rst:546 +#: ../../c-api/module.rst:548 msgid "" "Add an integer constant to *module* as *name*. This convenience function " "can be used from the module's initialization function. Return ``-1`` on " "error, ``0`` on success." msgstr "" -#: ../../c-api/module.rst:553 +#: ../../c-api/module.rst:555 msgid "" "Add a string constant to *module* as *name*. This convenience function can " "be used from the module's initialization function. The string *value* must " "be ``NULL``-terminated. Return ``-1`` on error, ``0`` on success." msgstr "" -#: ../../c-api/module.rst:560 +#: ../../c-api/module.rst:562 msgid "" "Add an int constant to *module*. The name and the value are taken from " "*macro*. For example ``PyModule_AddIntMacro(module, AF_INET)`` adds the int " @@ -648,11 +695,11 @@ msgid "" "error, ``0`` on success." msgstr "" -#: ../../c-api/module.rst:568 +#: ../../c-api/module.rst:570 msgid "Add a string constant to *module*." msgstr "" -#: ../../c-api/module.rst:572 +#: ../../c-api/module.rst:574 msgid "" "Add a type object to *module*. The type object is finalized by calling " "internally :c:func:`PyType_Ready`. The name of the type object is taken from " @@ -660,25 +707,25 @@ msgid "" "``-1`` on error, ``0`` on success." msgstr "" -#: ../../c-api/module.rst:582 +#: ../../c-api/module.rst:584 msgid "Module lookup" msgstr "Pesquisa por módulos" -#: ../../c-api/module.rst:584 +#: ../../c-api/module.rst:586 msgid "" "Single-phase initialization creates singleton modules that can be looked up " "in the context of the current interpreter. This allows the module object to " "be retrieved later with only a reference to the module definition." msgstr "" -#: ../../c-api/module.rst:588 +#: ../../c-api/module.rst:590 msgid "" "These functions will not work on modules created using multi-phase " "initialization, since multiple such modules can be created from a single " "definition." msgstr "" -#: ../../c-api/module.rst:593 +#: ../../c-api/module.rst:595 msgid "" "Returns the module object that was created from *def* for the current " "interpreter. This method requires that the module object has been attached " @@ -687,18 +734,18 @@ msgid "" "to the interpreter state yet, it returns ``NULL``." msgstr "" -#: ../../c-api/module.rst:600 +#: ../../c-api/module.rst:602 msgid "" "Attaches the module object passed to the function to the interpreter state. " -"This allows the module object to be accessible via :c:func:" -"`PyState_FindModule`." +"This allows the module object to be accessible " +"via :c:func:`PyState_FindModule`." msgstr "" -#: ../../c-api/module.rst:603 +#: ../../c-api/module.rst:605 msgid "Only effective on modules created using single-phase initialization." msgstr "" -#: ../../c-api/module.rst:605 +#: ../../c-api/module.rst:607 msgid "" "Python calls ``PyState_AddModule`` automatically after importing a module, " "so it is unnecessary (but harmless) to call it from module initialization " @@ -709,15 +756,15 @@ msgid "" "state updates)." msgstr "" -#: ../../c-api/module.rst:613 ../../c-api/module.rst:624 +#: ../../c-api/module.rst:615 ../../c-api/module.rst:626 msgid "The caller must hold the GIL." -msgstr "" +msgstr "O caller deve possuir o GIL." -#: ../../c-api/module.rst:615 +#: ../../c-api/module.rst:617 msgid "Return 0 on success or -1 on failure." msgstr "" -#: ../../c-api/module.rst:621 +#: ../../c-api/module.rst:623 msgid "" "Removes the module object created from *def* from the interpreter state. " "Return 0 on success or -1 on failure." @@ -737,27 +784,27 @@ msgstr "" #: ../../c-api/module.rst:33 ../../c-api/module.rst:74 msgid "__name__ (module attribute)" -msgstr "" +msgstr "__name__ (atributo de módulo)" #: ../../c-api/module.rst:33 msgid "__doc__ (module attribute)" -msgstr "" +msgstr "__doc__ (atributo de módulo)" #: ../../c-api/module.rst:33 ../../c-api/module.rst:104 msgid "__file__ (module attribute)" -msgstr "" +msgstr "__file__ (atributo de módulo)" #: ../../c-api/module.rst:33 msgid "__package__ (module attribute)" -msgstr "" +msgstr "__package__ (atributo de módulo)" #: ../../c-api/module.rst:33 msgid "__loader__ (module attribute)" -msgstr "" +msgstr "__loader__ (atributo de módulo)" #: ../../c-api/module.rst:60 msgid "__dict__ (module attribute)" -msgstr "" +msgstr "__dict__ (atributo de módulo)" #: ../../c-api/module.rst:74 ../../c-api/module.rst:104 msgid "SystemError (built-in exception)" diff --git a/c-api/none.po b/c-api/none.po index db6be2133..04780ba9c 100644 --- a/c-api/none.po +++ b/c-api/none.po @@ -1,27 +1,25 @@ # 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: -# Rafael Fontenelle , 2023 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,13 +31,13 @@ msgstr "O Objeto ``None``" msgid "" "Note that the :c:type:`PyTypeObject` for ``None`` is not directly exposed in " "the Python/C API. Since ``None`` is a singleton, testing for object " -"identity (using ``==`` in C) is sufficient. There is no :c:func:" -"`PyNone_Check` function for the same reason." +"identity (using ``==`` in C) is sufficient. There is no :c:func:`!" +"PyNone_Check` function for the same reason." msgstr "" "Observe que o :c:type:`PyTypeObject` para ``None`` não está diretamente " "exposto pela API Python/C. Como ``None`` é um singleton, é suficiente testar " -"a identidade do objeto (usando ``==`` em C). Não há nenhuma função :c:func:" -"`PyNone_Check` pela mesma razão." +"a identidade do objeto (usando ``==`` em C). Não há nenhuma função :c:func:`!" +"PyNone_Check` pela mesma razão." #: ../../c-api/none.rst:18 msgid "" diff --git a/c-api/number.po b/c-api/number.po index 267a139b4..a3d44f5fa 100644 --- a/c-api/number.po +++ b/c-api/number.po @@ -1,26 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# willian ohara, 2026 +# Rafael Fontenelle , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-13 23:34+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -77,6 +78,8 @@ msgid "" "Return the floor of *o1* divided by *o2*, or ``NULL`` on failure. This is " "the equivalent of the Python expression ``o1 // o2``." msgstr "" +"Retorna o piso de *o1* dividido por *o2* ou ``NULL`` em caso de falha. Isso " +"é equivalente à expressão Python ``o1 // o2``." #: ../../c-api/number.rst:52 msgid "" @@ -93,12 +96,16 @@ msgid "" "Returns the remainder of dividing *o1* by *o2*, or ``NULL`` on failure. " "This is the equivalent of the Python expression ``o1 % o2``." msgstr "" +"Retorna o resto da divisão de *o1* por *o2* ou ``NULL`` em caso de falha. " +"Isso é equivalente à expressão Python ``o1 % o2``." #: ../../c-api/number.rst:69 msgid "" "See the built-in function :func:`divmod`. Returns ``NULL`` on failure. This " "is the equivalent of the Python expression ``divmod(o1, o2)``." msgstr "" +"Consulte a função embutida :func:`divmod`. Retorna ``NULL`` em caso de " +"falha. Isso é equivalente à expressão Python ``divmod(o1, o2)``." #: ../../c-api/number.rst:77 msgid "" @@ -107,60 +114,84 @@ msgid "" "optional. If *o3* is to be ignored, pass :c:data:`Py_None` in its place " "(passing ``NULL`` for *o3* would cause an illegal memory access)." msgstr "" +"Consulte a função embutida :func:`pow`. Retorna ``NULL`` em caso de falha. " +"Isso é equivalente à expressão Python ``pow(o1, o2, o3)``, na qual *o3* é " +"opcional. Se *o3* deve ser ignorado, passe :c:data:`Py_None` em seu lugar " +"(passar ``NULL`` para *o3* causaria um acesso ilegal à memória)." #: ../../c-api/number.rst:85 msgid "" "Returns the negation of *o* on success, or ``NULL`` on failure. This is the " "equivalent of the Python expression ``-o``." msgstr "" +"Retorna a negação de *o* em caso de sucesso ou ``NULL`` em caso de falha. " +"Isso é equivalente à expressão Python ``-o``." #: ../../c-api/number.rst:91 msgid "" "Returns *o* on success, or ``NULL`` on failure. This is the equivalent of " "the Python expression ``+o``." msgstr "" +"Retorna *o* em caso de sucesso ou ``NULL`` em caso de falha. Isso é " +"equivalente à expressão Python ``+o``." #: ../../c-api/number.rst:99 msgid "" "Returns the absolute value of *o*, or ``NULL`` on failure. This is the " "equivalent of the Python expression ``abs(o)``." msgstr "" +"Retorna o valor absoluto de *o* ou ``NULL`` em caso de falha. Isso é " +"equivalente à expressão Python ``abs(o)``." #: ../../c-api/number.rst:105 msgid "" "Returns the bitwise negation of *o* on success, or ``NULL`` on failure. " "This is the equivalent of the Python expression ``~o``." msgstr "" +"Retorna a negação bit a bit de *o* em caso de sucesso, ou ``NULL`` em caso " +"de falha. Isso é equivalente à expressão Python ``~o``." #: ../../c-api/number.rst:111 msgid "" "Returns the result of left shifting *o1* by *o2* on success, or ``NULL`` on " "failure. This is the equivalent of the Python expression ``o1 << o2``." msgstr "" +"Retorna o resultado do deslocamento à esquerda de *o1* por *o2* em caso de " +"sucesso ou ``NULL`` em caso de falha. Isso é equivalente à expressão Python " +"``o1 << o2``." #: ../../c-api/number.rst:117 msgid "" "Returns the result of right shifting *o1* by *o2* on success, or ``NULL`` on " "failure. This is the equivalent of the Python expression ``o1 >> o2``." msgstr "" +"Retorna o resultado do deslocamento à direita de *o1* por *o2* em caso de " +"sucesso ou ``NULL`` em caso de falha. Isso é equivalente à expressão Python " +"``o1 >> o2``." #: ../../c-api/number.rst:123 msgid "" "Returns the \"bitwise and\" of *o1* and *o2* on success and ``NULL`` on " "failure. This is the equivalent of the Python expression ``o1 & o2``." msgstr "" +"Retorna o bit a bit \"e\" de *o1* e *o2* em caso de sucesso e ``NULL`` em " +"caso de falha. Isso é equivalente à expressão Python ``o1 & o2``." #: ../../c-api/number.rst:129 msgid "" "Returns the \"bitwise exclusive or\" of *o1* by *o2* on success, or ``NULL`` " "on failure. This is the equivalent of the Python expression ``o1 ^ o2``." msgstr "" +"Retorna o bit a bit \"ou exclusivo\" de *o1* por *o2* em caso de sucesso ou " +"``NULL`` em caso de falha. Isso é equivalente à expressão Python ``o1 ^ o2``." #: ../../c-api/number.rst:135 msgid "" "Returns the \"bitwise or\" of *o1* and *o2* on success, or ``NULL`` on " "failure. This is the equivalent of the Python expression ``o1 | o2``." msgstr "" +"Retorna o bit a bit \"ou\" de *o1* e *o2* em caso de sucesso ou ``NULL`` em " +"caso de falha. Isto é equivalente à expressão Python ``o1 | o2``." #: ../../c-api/number.rst:141 msgid "" @@ -168,6 +199,9 @@ msgid "" "operation is done *in-place* when *o1* supports it. This is the equivalent " "of the Python statement ``o1 += o2``." msgstr "" +"Retorna o resultado da adição de *o1* e *o2* ou ``NULL`` em caso de falha. A " +"operação é feita *no local* quando *o1* dá suporte a isso. Isto é " +"equivalente à instrução Python ``o1 += o2``." #: ../../c-api/number.rst:148 msgid "" @@ -175,6 +209,9 @@ msgid "" "The operation is done *in-place* when *o1* supports it. This is the " "equivalent of the Python statement ``o1 -= o2``." msgstr "" +"Retorna o resultado da subtração de *o2* de *o1* ou ``NULL`` em caso de " +"falha. A operação é feita *no local* quando *o1* dá suporte a isso. Isto é " +"equivalente à instrução Python ``o1 -= o2``." #: ../../c-api/number.rst:155 msgid "" @@ -182,6 +219,9 @@ msgid "" "The operation is done *in-place* when *o1* supports it. This is the " "equivalent of the Python statement ``o1 *= o2``." msgstr "" +"Retorna o resultado da multiplicação de *o1* e *o2* ou ``NULL`` em caso de " +"falha. A operação é feita *no local* quando *o1* dá suporte a isso. Isto é " +"equivalente à instrução Python ``o1 *= o2``." #: ../../c-api/number.rst:162 msgid "" @@ -189,6 +229,9 @@ msgid "" "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 @= o2``." msgstr "" +"Retorna o resultado da multiplicação de matrizes entre *o1* e *o2*, ou " +"``NULL`` em caso de falha. A operação é realizada no local quando *o1* " +"oferece suporte a isso. Isso é equivalente à instrução Python ``o1 @= o2``." #: ../../c-api/number.rst:171 msgid "" @@ -196,6 +239,9 @@ msgid "" "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 //= o2``." msgstr "" +"Retorna o valor matemático mínimo da divisão de *o1* por *o2* ou ``NULL`` em " +"caso de falha. A operação é feita *no local* quando *o1* dá suporte a isso. " +"Isto é equivalente à instrução Python ``o1 //= o2``." #: ../../c-api/number.rst:178 msgid "" @@ -214,6 +260,9 @@ msgid "" "operation is done *in-place* when *o1* supports it. This is the equivalent " "of the Python statement ``o1 %= o2``." msgstr "" +"Retorna o resto da divisão de *o1* por *o2* ou ``NULL`` em caso de falha. A " +"operação é feita *no local* quando *o1* dá suporte a isso. Isto é " +"equivalente à instrução Python ``o1 %= o2``." #: ../../c-api/number.rst:197 msgid "" @@ -224,6 +273,12 @@ msgid "" "pass :c:data:`Py_None` in its place (passing ``NULL`` for *o3* would cause " "an illegal memory access)." msgstr "" +"Consulte a função embutida :func:`pow`. Retorna ``NULL`` em caso de falha. A " +"operação é feita no lugar quando *o1* oferece suporte a isso. Isso é " +"equivalente à instrução Python ``o1 **= o2`` quando o3 é :c:data:`Py_None` " +"ou, do contrário, uma variante no local ``pow(o1, o2, o3)``. Se *o3* deve " +"ser ignorado, passe :c:data:`Py_None` em seu lugar (passar ``NULL`` para " +"*o3* causaria um acesso ilegal à memória)." #: ../../c-api/number.rst:206 msgid "" @@ -231,6 +286,10 @@ msgid "" "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 <<= o2``." msgstr "" +"Retorna o resultado do deslocamento à esquerda de *o1* por *o2* em caso de " +"sucesso, ou ``NULL`` em caso de falha. A operação é feita no local quando " +"*o1* oferece suporte a isso. Isto é equivalente à instrução Python ``o1 <<= " +"o2``." #: ../../c-api/number.rst:213 msgid "" @@ -238,6 +297,10 @@ msgid "" "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 >>= o2``." msgstr "" +"Retorna o resultado do deslocamento à direita de *o1* por *o2* em caso de " +"sucesso, ou ``NULL`` em caso de falha. A operação é feita no local quando " +"*o1* oferece suporte a isso. Isto é equivalente à instrução Python ``o1 >>= " +"o2``." #: ../../c-api/number.rst:220 msgid "" @@ -245,6 +308,9 @@ msgid "" "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 &= o2``." msgstr "" +"Retorna o \"bitwise and\" de *o1* e *o2* em caso de sucesso e ``NULL`` em " +"caso de falha. A operação é feita no local quando *o1* oferece suporte a " +"isso. Isto é equivalente à instrução Python ``o1 &= o2``." #: ../../c-api/number.rst:227 msgid "" @@ -252,6 +318,9 @@ msgid "" "on failure. The operation is done *in-place* when *o1* supports it. This " "is the equivalent of the Python statement ``o1 ^= o2``." msgstr "" +"Retorna o \"bitwise exclusive or\" de *o1* por *o2* em caso de sucesso, ou " +"``NULL`` em caso de falha. A operação é feita no local quando *o1* oferece " +"suporte a isso. Isto é equivalente à instrução Python ``o1 ^= o2``." #: ../../c-api/number.rst:234 msgid "" @@ -259,24 +328,33 @@ msgid "" "failure. The operation is done *in-place* when *o1* supports it. This is " "the equivalent of the Python statement ``o1 |= o2``." msgstr "" +"Retorna o \"bitwise or\" de *o1* e *o2* em caso de sucesso, ou ``NULL`` em " +"caso de falha. A operação é feita no local quando *o1* oferece suporte a " +"isso. Isto é equivalente à instrução Python ``o1 |= o2``." #: ../../c-api/number.rst:243 msgid "" "Returns the *o* converted to an integer object on success, or ``NULL`` on " "failure. This is the equivalent of the Python expression ``int(o)``." msgstr "" +"Retorna o *o* convertido para um objeto inteiro em caso de sucesso ou " +"``NULL`` em caso de falha. Isto é equivalente à expressão Python ``int(o)``." #: ../../c-api/number.rst:251 msgid "" "Returns the *o* converted to a float object on success, or ``NULL`` on " "failure. This is the equivalent of the Python expression ``float(o)``." msgstr "" +"Retorna o *o* convertido para um objeto float em caso de sucesso ou ``NULL`` " +"em caso de falha. Isto é equivalente à expressão Python ``float(o)``." #: ../../c-api/number.rst:257 msgid "" -"Returns the *o* converted to a Python int on success or ``NULL`` with a :exc:" -"`TypeError` exception raised on failure." +"Returns the *o* converted to a Python int on success or ``NULL`` with " +"a :exc:`TypeError` exception raised on failure." msgstr "" +"Retorna *o* convertido para int Python em caso de sucesso ou ``NULL`` com " +"um :exc:`TypeError` exceção levantada ao falhar." #: ../../c-api/number.rst:260 msgid "" @@ -291,9 +369,14 @@ msgid "" "Returns the integer *n* converted to base *base* as a string. The *base* " "argument must be one of 2, 8, 10, or 16. For base 2, 8, or 16, the returned " "string is prefixed with a base marker of ``'0b'``, ``'0o'``, or ``'0x'``, " -"respectively. If *n* is not a Python int, it is converted with :c:func:" -"`PyNumber_Index` first." +"respectively. If *n* is not a Python int, it is converted " +"with :c:func:`PyNumber_Index` first." msgstr "" +"Retorna o inteiro *n* convertido para a base *base* como uma string. O " +"argumento *base* deve ser 2, 8, 10 ou 16. Para as bases 2, 8 ou 16, a string " +"retornada é prefixada com um marcador de base ``'0b'``, ``'0o'`` ou " +"``'0x'``, respectivamente. Se *n* não for um inteiro Python, ele é " +"convertido primeiro com :c:func:`PyNumber_Index`." #: ../../c-api/number.rst:276 msgid "" @@ -301,16 +384,26 @@ msgid "" "interpreted as an integer. If the call fails, an exception is raised and " "``-1`` is returned." msgstr "" +"Retorna *o* convertido para um valor :c:type:`Py_ssize_t` se *o* puder ser " +"interpretado como um inteiro. Se a chamada falhar, uma exceção é levantada e " +"``-1`` é retornado." #: ../../c-api/number.rst:279 msgid "" -"If *o* can be converted to a Python int but the attempt to convert to a :c:" -"type:`Py_ssize_t` value would raise an :exc:`OverflowError`, then the *exc* " -"argument is the type of exception that will be raised (usually :exc:" -"`IndexError` or :exc:`OverflowError`). If *exc* is ``NULL``, then the " -"exception is cleared and the value is clipped to ``PY_SSIZE_T_MIN`` for a " -"negative integer or ``PY_SSIZE_T_MAX`` for a positive integer." -msgstr "" +"If *o* can be converted to a Python int but the attempt to convert to " +"a :c:type:`Py_ssize_t` value would raise an :exc:`OverflowError`, then the " +"*exc* argument is the type of exception that will be raised " +"(usually :exc:`IndexError` or :exc:`OverflowError`). If *exc* is ``NULL``, " +"then the exception is cleared and the value is clipped to ``PY_SSIZE_T_MIN`` " +"for a negative integer or ``PY_SSIZE_T_MAX`` for a positive integer." +msgstr "" +"Se *o* puder ser convertido para um int Python, mas a tentativa de conversão " +"para um valor :c:type:`Py_ssize_t` levantar um :exc:`OverflowError`, então o " +"argumento *exc* é o tipo de exceção que será gerada " +"(geralmente :exc:`IndexError` ou :exc:`OverflowError`). Se *exc* for " +"``NULL``, então a exceção é limpa e o valor é cortado para " +"``PY_SSIZE_T_MIN`` para um inteiro negativo ou ``PY_SSIZE_T_MAX`` para um " +"inteiro positivo." #: ../../c-api/number.rst:289 msgid "" @@ -318,6 +411,9 @@ msgid "" "``tp_as_number`` structure filled in), and ``0`` otherwise. This function " "always succeeds." msgstr "" +"Retorna ``1`` se *o* for um índice inteiro (tem o slot ``nb_index`` da " +"estrutura ``tp_as_number`` preenchido) e ``0`` caso contrário. Esta função " +"sempre tem sucesso." #: ../../c-api/number.rst:67 ../../c-api/number.rst:75 #: ../../c-api/number.rst:97 ../../c-api/number.rst:195 @@ -327,15 +423,15 @@ msgstr "função embutida" #: ../../c-api/number.rst:67 msgid "divmod" -msgstr "" +msgstr "divmod" #: ../../c-api/number.rst:75 ../../c-api/number.rst:195 msgid "pow" -msgstr "" +msgstr "pow" #: ../../c-api/number.rst:97 msgid "abs" -msgstr "" +msgstr "abs" #: ../../c-api/number.rst:241 msgid "int" diff --git a/c-api/objbuffer.po b/c-api/objbuffer.po index 4858e94bc..cdb43637b 100644 --- a/c-api/objbuffer.po +++ b/c-api/objbuffer.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-07-29 13:25+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -48,23 +46,24 @@ msgstr "" #: ../../c-api/objbuffer.rst:15 msgid "" "Therefore, it is recommended that you call :c:func:`PyObject_GetBuffer` (or " -"the ``y*`` or ``w*`` :ref:`format codes ` with the :c:func:" -"`PyArg_ParseTuple` family of functions) to get a buffer view over an object, " -"and :c:func:`PyBuffer_Release` when the buffer view can be released." +"the ``y*`` or ``w*`` :ref:`format codes ` with " +"the :c:func:`PyArg_ParseTuple` family of functions) to get a buffer view " +"over an object, and :c:func:`PyBuffer_Release` when the buffer view can be " +"released." msgstr "" -"Portanto, é recomendável que você chame :c:func:`PyObject_GetBuffer` (ou os :" -"ref:`códigos de formatação ` ``y*`` ou ``w*`` com o família de " -"funções de :c:func:`PyArg_ParseTuple`) para obter uma visão de buffer sobre " -"um objeto e :c:func:`PyBuffer_Release` quando a visão de buffer puder ser " -"liberada." +"Portanto, é recomendável que você chame :c:func:`PyObject_GetBuffer` (ou " +"os :ref:`códigos de formatação ` ``y*`` ou ``w*`` com o família " +"de funções de :c:func:`PyArg_ParseTuple`) para obter uma visão de buffer " +"sobre um objeto e :c:func:`PyBuffer_Release` quando a visão de buffer puder " +"ser liberada." #: ../../c-api/objbuffer.rst:23 msgid "" "Returns a pointer to a read-only memory location usable as character-based " "input. The *obj* argument must support the single-segment character buffer " "interface. On success, returns ``0``, sets *buffer* to the memory location " -"and *buffer_len* to the buffer length. Returns ``-1`` and sets a :exc:" -"`TypeError` on error." +"and *buffer_len* to the buffer length. Returns ``-1`` and sets " +"a :exc:`TypeError` on error." msgstr "" "Retorna um ponteiro para um local de memória somente leitura utilizável como " "entrada baseada em caracteres. O argumento *obj* deve ter suporte a " @@ -78,8 +77,8 @@ msgid "" "Returns a pointer to a read-only memory location containing arbitrary data. " "The *obj* argument must support the single-segment readable buffer " "interface. On success, returns ``0``, sets *buffer* to the memory location " -"and *buffer_len* to the buffer length. Returns ``-1`` and sets a :exc:" -"`TypeError` on error." +"and *buffer_len* to the buffer length. Returns ``-1`` and sets " +"a :exc:`TypeError` on error." msgstr "" "Retorna um ponteiro para um local de memória somente leitura que contém " "dados arbitrários. O argumento *obj* deve ter suporte a interface de buffer " @@ -115,5 +114,5 @@ msgstr "" "Retorna um ponteiro para um local de memória gravável. O argumento *obj* " "deve ter suporte a interface de buffer de caracteres de segmento único. Em " "caso de sucesso, retorna ``0``, define *buffer* com o local da memória e " -"*buffer_len* com o comprimento do buffer. Retorna ``-1`` e define a :exc:" -"`TypeError` em caso de erro." +"*buffer_len* com o comprimento do buffer. Retorna ``-1`` e define " +"a :exc:`TypeError` em caso de erro." diff --git a/c-api/object.po b/c-api/object.po index 492954118..924d8e1b5 100644 --- a/c-api/object.po +++ b/c-api/object.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,88 +38,111 @@ msgstr "" #: ../../c-api/object.rst:17 msgid "" "Properly handle returning :c:data:`Py_NotImplemented` from within a C " -"function (that is, increment the reference count of NotImplemented and " -"return it)." +"function (that is, create a new :term:`strong reference` to NotImplemented " +"and return it)." msgstr "" -"Trata corretamente o retorno de :c:data:`Py_NotImplemented` de dentro de uma " -"função C (ou seja, incrementa a contagem de referências de NotImplemented e " -"retorna-a)." #: ../../c-api/object.rst:24 msgid "" +"Flag to be used with multiple functions that print the object " +"(like :c:func:`PyObject_Print` and :c:func:`PyFile_WriteObject`). If passed, " +"these function would use the :func:`str` of the object instead of " +"the :func:`repr`." +msgstr "" +"Sinaliza a ser usado com múltiplas funções que imprimem o objeto " +"(como :c:func:`PyObject_Print` e :c:func:`PyFile_WriteObject`). Se passada, " +"esta função usaria o :func:`str` do objeto em vez do :func:`repr`." + +#: ../../c-api/object.rst:32 +msgid "" "Print an object *o*, on file *fp*. Returns ``-1`` on error. The flags " "argument is used to enable certain printing options. The only option " -"currently supported is :const:`Py_PRINT_RAW`; if given, the :func:`str` of " +"currently supported is :c:macro:`Py_PRINT_RAW`; if given, the :func:`str` of " "the object is written instead of the :func:`repr`." msgstr "" -#: ../../c-api/object.rst:32 ../../c-api/object.rst:43 +#: ../../c-api/object.rst:40 msgid "" "Returns ``1`` if *o* has the attribute *attr_name*, and ``0`` otherwise. " "This is equivalent to the Python expression ``hasattr(o, attr_name)``. This " "function always succeeds." msgstr "" -#: ../../c-api/object.rst:36 +#: ../../c-api/object.rst:46 msgid "" -"Note that exceptions which occur while calling :meth:`__getattr__` and :meth:" -"`__getattribute__` methods will get suppressed. To get error reporting use :" -"c:func:`PyObject_GetAttr()` instead." +"Exceptions that occur when this calls :meth:`~object.__getattr__` " +"and :meth:`~object.__getattribute__` methods are silently ignored. For " +"proper error handling, use :c:func:`PyObject_GetAttr` instead." msgstr "" -#: ../../c-api/object.rst:47 +#: ../../c-api/object.rst:53 msgid "" -"Note that exceptions which occur while calling :meth:`__getattr__` and :meth:" -"`__getattribute__` methods and creating a temporary string object will get " -"suppressed. To get error reporting use :c:func:`PyObject_GetAttrString()` " -"instead." +"This is the same as :c:func:`PyObject_HasAttr`, but *attr_name* is specified " +"as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than " +"a :c:expr:`PyObject*`." msgstr "" -#: ../../c-api/object.rst:55 +#: ../../c-api/object.rst:59 +msgid "" +"Exceptions that occur when this calls :meth:`~object.__getattr__` " +"and :meth:`~object.__getattribute__` methods or while creating the " +"temporary :class:`str` object are silently ignored. For proper error " +"handling, use :c:func:`PyObject_GetAttrString` instead." +msgstr "" + +#: ../../c-api/object.rst:67 msgid "" "Retrieve an attribute named *attr_name* from object *o*. Returns the " "attribute value on success, or ``NULL`` on failure. This is the equivalent " "of the Python expression ``o.attr_name``." msgstr "" -#: ../../c-api/object.rst:62 +#: ../../c-api/object.rst:74 msgid "" -"Retrieve an attribute named *attr_name* from object *o*. Returns the " -"attribute value on success, or ``NULL`` on failure. This is the equivalent " -"of the Python expression ``o.attr_name``." +"This is the same as :c:func:`PyObject_GetAttr`, but *attr_name* is specified " +"as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than " +"a :c:expr:`PyObject*`." msgstr "" -#: ../../c-api/object.rst:69 +#: ../../c-api/object.rst:81 msgid "" "Generic attribute getter function that is meant to be put into a type " "object's ``tp_getattro`` slot. It looks for a descriptor in the dictionary " -"of classes in the object's MRO as well as an attribute in the object's :attr:" -"`~object.__dict__` (if present). As outlined in :ref:`descriptors`, data " -"descriptors take preference over instance attributes, while non-data " -"descriptors don't. Otherwise, an :exc:`AttributeError` is raised." +"of classes in the object's MRO as well as an attribute in the " +"object's :attr:`~object.__dict__` (if present). As outlined " +"in :ref:`descriptors`, data descriptors take preference over instance " +"attributes, while non-data descriptors don't. Otherwise, " +"an :exc:`AttributeError` is raised." msgstr "" -#: ../../c-api/object.rst:79 ../../c-api/object.rst:91 +#: ../../c-api/object.rst:91 msgid "" "Set the value of the attribute named *attr_name*, for object *o*, to the " "value *v*. Raise an exception and return ``-1`` on failure; return ``0`` on " "success. This is the equivalent of the Python statement ``o.attr_name = v``." msgstr "" -#: ../../c-api/object.rst:84 +#: ../../c-api/object.rst:96 msgid "" "If *v* is ``NULL``, the attribute is deleted. This behaviour is deprecated " "in favour of using :c:func:`PyObject_DelAttr`, but there are currently no " "plans to remove it." msgstr "" -#: ../../c-api/object.rst:96 +#: ../../c-api/object.rst:103 +msgid "" +"This is the same as :c:func:`PyObject_SetAttr`, but *attr_name* is specified " +"as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than " +"a :c:expr:`PyObject*`." +msgstr "" + +#: ../../c-api/object.rst:107 msgid "" "If *v* is ``NULL``, the attribute is deleted, but this feature is deprecated " "in favour of using :c:func:`PyObject_DelAttrString`." msgstr "" -#: ../../c-api/object.rst:102 +#: ../../c-api/object.rst:113 msgid "" "Generic attribute setter and deleter function that is meant to be put into a " "type object's :c:member:`~PyTypeObject.tp_setattro` slot. It looks for a " @@ -132,19 +154,26 @@ msgid "" "returned." msgstr "" -#: ../../c-api/object.rst:114 ../../c-api/object.rst:120 +#: ../../c-api/object.rst:125 msgid "" "Delete attribute named *attr_name*, for object *o*. Returns ``-1`` on " "failure. This is the equivalent of the Python statement ``del o.attr_name``." msgstr "" -#: ../../c-api/object.rst:126 +#: ../../c-api/object.rst:131 +msgid "" +"This is the same as :c:func:`PyObject_DelAttr`, but *attr_name* is specified " +"as a :c:expr:`const char*` UTF-8 encoded bytes string, rather than " +"a :c:expr:`PyObject*`." +msgstr "" + +#: ../../c-api/object.rst:138 msgid "" "A generic implementation for the getter of a ``__dict__`` descriptor. It " "creates the dictionary if necessary." msgstr "" -#: ../../c-api/object.rst:129 +#: ../../c-api/object.rst:141 msgid "" "This function may also be called to get the :py:attr:`~object.__dict__` of " "the object *o*. Pass ``NULL`` for *context* when calling it. Since this " @@ -153,71 +182,67 @@ msgid "" "the object." msgstr "" -#: ../../c-api/object.rst:135 +#: ../../c-api/object.rst:147 msgid "On failure, returns ``NULL`` with an exception set." msgstr "" -#: ../../c-api/object.rst:142 +#: ../../c-api/object.rst:154 msgid "" "A generic implementation for the setter of a ``__dict__`` descriptor. This " "implementation does not allow the dictionary to be deleted." msgstr "" -#: ../../c-api/object.rst:150 +#: ../../c-api/object.rst:162 msgid "" "Return a pointer to :py:attr:`~object.__dict__` of the object *obj*. If " "there is no ``__dict__``, return ``NULL`` without setting an exception." msgstr "" -#: ../../c-api/object.rst:153 +#: ../../c-api/object.rst:165 msgid "" "This function may need to allocate memory for the dictionary, so it may be " "more efficient to call :c:func:`PyObject_GetAttr` when accessing an " "attribute on the object." msgstr "" -#: ../../c-api/object.rst:160 +#: ../../c-api/object.rst:172 msgid "" "Compare the values of *o1* and *o2* using the operation specified by *opid*, " -"which must be one of :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:" -"`Py_NE`, :const:`Py_GT`, or :const:`Py_GE`, corresponding to ``<``, ``<=``, " -"``==``, ``!=``, ``>``, or ``>=`` respectively. This is the equivalent of the " -"Python expression ``o1 op o2``, where ``op`` is the operator corresponding " -"to *opid*. Returns the value of the comparison on success, or ``NULL`` on " -"failure." +"which must be one " +"of :c:macro:`Py_LT`, :c:macro:`Py_LE`, :c:macro:`Py_EQ`, :c:macro:`Py_NE`, :c:macro:`Py_GT`, " +"or :c:macro:`Py_GE`, corresponding to ``<``, ``<=``, ``==``, ``!=``, ``>``, " +"or ``>=`` respectively. This is the equivalent of the Python expression ``o1 " +"op o2``, where ``op`` is the operator corresponding to *opid*. Returns the " +"value of the comparison on success, or ``NULL`` on failure." msgstr "" -#: ../../c-api/object.rst:170 +#: ../../c-api/object.rst:182 msgid "" "Compare the values of *o1* and *o2* using the operation specified by *opid*, " -"which must be one of :const:`Py_LT`, :const:`Py_LE`, :const:`Py_EQ`, :const:" -"`Py_NE`, :const:`Py_GT`, or :const:`Py_GE`, corresponding to ``<``, ``<=``, " -"``==``, ``!=``, ``>``, or ``>=`` respectively. Returns ``-1`` on error, " -"``0`` if the result is false, ``1`` otherwise. This is the equivalent of the " -"Python expression ``o1 op o2``, where ``op`` is the operator corresponding " -"to *opid*." +"like :c:func:`PyObject_RichCompare`, but returns ``-1`` on error, ``0`` if " +"the result is false, ``1`` otherwise." msgstr "" -#: ../../c-api/object.rst:179 +#: ../../c-api/object.rst:187 msgid "" "If *o1* and *o2* are the same object, :c:func:`PyObject_RichCompareBool` " -"will always return ``1`` for :const:`Py_EQ` and ``0`` for :const:`Py_NE`." +"will always return ``1`` for :c:macro:`Py_EQ` and ``0`` for :c:macro:`Py_NE`." msgstr "" -#: ../../c-api/object.rst:184 +#: ../../c-api/object.rst:192 msgid "" "Format *obj* using *format_spec*. This is equivalent to the Python " "expression ``format(obj, format_spec)``." msgstr "" -#: ../../c-api/object.rst:187 +#: ../../c-api/object.rst:195 msgid "" "*format_spec* may be ``NULL``. In this case the call is equivalent to " "``format(obj)``. Returns the formatted string on success, ``NULL`` on " "failure." msgstr "" -#: ../../c-api/object.rst:195 +#: ../../c-api/object.rst:203 msgid "" "Compute a string representation of object *o*. Returns the string " "representation on success, ``NULL`` on failure. This is the equivalent of " @@ -225,22 +250,24 @@ msgid "" "function." msgstr "" -#: ../../c-api/object.rst:199 ../../c-api/object.rst:223 +#: ../../c-api/object.rst:207 ../../c-api/object.rst:231 msgid "" "This function now includes a debug assertion to help ensure that it does not " "silently discard an active exception." msgstr "" +"Essa função agora inclui uma asserção de depuração para ajudar a garantir " +"que ela não descarte silenciosamente uma exceção ativa." -#: ../../c-api/object.rst:207 +#: ../../c-api/object.rst:215 msgid "" "As :c:func:`PyObject_Repr`, compute a string representation of object *o*, " -"but escape the non-ASCII characters in the string returned by :c:func:" -"`PyObject_Repr` with ``\\x``, ``\\u`` or ``\\U`` escapes. This generates a " -"string similar to that returned by :c:func:`PyObject_Repr` in Python 2. " -"Called by the :func:`ascii` built-in function." +"but escape the non-ASCII characters in the string returned " +"by :c:func:`PyObject_Repr` with ``\\x``, ``\\u`` or ``\\U`` escapes. This " +"generates a string similar to that returned by :c:func:`PyObject_Repr` in " +"Python 2. Called by the :func:`ascii` built-in function." msgstr "" -#: ../../c-api/object.rst:218 +#: ../../c-api/object.rst:226 msgid "" "Compute a string representation of object *o*. Returns the string " "representation on success, ``NULL`` on failure. This is the equivalent of " @@ -248,7 +275,7 @@ msgid "" "function and, therefore, by the :func:`print` function." msgstr "" -#: ../../c-api/object.rst:232 +#: ../../c-api/object.rst:240 msgid "" "Compute a bytes representation of object *o*. ``NULL`` is returned on " "failure and a bytes object on success. This is equivalent to the Python " @@ -257,73 +284,73 @@ msgid "" "bytes object." msgstr "" -#: ../../c-api/object.rst:241 +#: ../../c-api/object.rst:249 msgid "" "Return ``1`` if the class *derived* is identical to or derived from the " "class *cls*, otherwise return ``0``. In case of an error, return ``-1``." msgstr "" -#: ../../c-api/object.rst:244 ../../c-api/object.rst:263 +#: ../../c-api/object.rst:252 ../../c-api/object.rst:271 msgid "" "If *cls* is a tuple, the check will be done against every entry in *cls*. " "The result will be ``1`` when at least one of the checks returns ``1``, " "otherwise it will be ``0``." msgstr "" -#: ../../c-api/object.rst:248 +#: ../../c-api/object.rst:256 msgid "" "If *cls* has a :meth:`~class.__subclasscheck__` method, it will be called to " "determine the subclass status as described in :pep:`3119`. Otherwise, " -"*derived* is a subclass of *cls* if it is a direct or indirect subclass, i." -"e. contained in ``cls.__mro__``." +"*derived* is a subclass of *cls* if it is a direct or indirect subclass, " +"i.e. contained in ``cls.__mro__``." msgstr "" -#: ../../c-api/object.rst:253 +#: ../../c-api/object.rst:261 msgid "" "Normally only class objects, i.e. instances of :class:`type` or a derived " "class, are considered classes. However, objects can override this by having " -"a :attr:`__bases__` attribute (which must be a tuple of base classes)." +"a :attr:`~class.__bases__` attribute (which must be a tuple of base classes)." msgstr "" -#: ../../c-api/object.rst:260 +#: ../../c-api/object.rst:268 msgid "" "Return ``1`` if *inst* is an instance of the class *cls* or a subclass of " "*cls*, or ``0`` if not. On error, returns ``-1`` and sets an exception." msgstr "" -#: ../../c-api/object.rst:267 +#: ../../c-api/object.rst:275 msgid "" "If *cls* has a :meth:`~class.__instancecheck__` method, it will be called to " "determine the subclass status as described in :pep:`3119`. Otherwise, " "*inst* is an instance of *cls* if its class is a subclass of *cls*." msgstr "" -#: ../../c-api/object.rst:271 +#: ../../c-api/object.rst:279 msgid "" -"An instance *inst* can override what is considered its class by having a :" -"attr:`__class__` attribute." +"An instance *inst* can override what is considered its class by having " +"a :attr:`~instance.__class__` attribute." msgstr "" -#: ../../c-api/object.rst:274 +#: ../../c-api/object.rst:282 msgid "" "An object *cls* can override if it is considered a class, and what its base " -"classes are, by having a :attr:`__bases__` attribute (which must be a tuple " -"of base classes)." +"classes are, by having a :attr:`~class.__bases__` attribute (which must be a " +"tuple of base classes)." msgstr "" -#: ../../c-api/object.rst:283 +#: ../../c-api/object.rst:291 msgid "" "Compute and return the hash value of an object *o*. On failure, return " "``-1``. This is the equivalent of the Python expression ``hash(o)``." msgstr "" -#: ../../c-api/object.rst:286 +#: ../../c-api/object.rst:294 msgid "" "The return type is now Py_hash_t. This is a signed integer the same size " "as :c:type:`Py_ssize_t`." msgstr "" -#: ../../c-api/object.rst:293 +#: ../../c-api/object.rst:301 msgid "" "Set a :exc:`TypeError` indicating that ``type(o)`` is not :term:`hashable` " "and return ``-1``. This function receives special treatment when stored in a " @@ -331,38 +358,38 @@ msgid "" "that it is not hashable." msgstr "" -#: ../../c-api/object.rst:301 +#: ../../c-api/object.rst:309 msgid "" "Returns ``1`` if the object *o* is considered to be true, and ``0`` " "otherwise. This is equivalent to the Python expression ``not not o``. On " "failure, return ``-1``." msgstr "" -#: ../../c-api/object.rst:308 +#: ../../c-api/object.rst:316 msgid "" "Returns ``0`` if the object *o* is considered to be true, and ``1`` " "otherwise. This is equivalent to the Python expression ``not o``. On " "failure, return ``-1``." msgstr "" -#: ../../c-api/object.rst:317 +#: ../../c-api/object.rst:325 msgid "" "When *o* is non-``NULL``, returns a type object corresponding to the object " "type of object *o*. On failure, raises :exc:`SystemError` and returns " "``NULL``. This is equivalent to the Python expression ``type(o)``. This " -"function increments the reference count of the return value. There's really " -"no reason to use this function instead of the :c:func:`Py_TYPE()` function, " -"which returns a pointer of type :c:expr:`PyTypeObject*`, except when the " -"incremented reference count is needed." +"function creates a new :term:`strong reference` to the return value. There's " +"really no reason to use this function instead of the :c:func:`Py_TYPE()` " +"function, which returns a pointer of type :c:expr:`PyTypeObject*`, except " +"when a new :term:`strong reference` is needed." msgstr "" -#: ../../c-api/object.rst:328 +#: ../../c-api/object.rst:337 msgid "" "Return non-zero if the object *o* is of type *type* or a subtype of *type*, " "and ``0`` otherwise. Both parameters must be non-``NULL``." msgstr "" -#: ../../c-api/object.rst:337 +#: ../../c-api/object.rst:346 msgid "" "Return the length of object *o*. If the object *o* provides either the " "sequence and mapping protocols, the sequence length is returned. On error, " @@ -370,7 +397,7 @@ msgid "" "``len(o)``." msgstr "" -#: ../../c-api/object.rst:344 +#: ../../c-api/object.rst:353 msgid "" "Return an estimated length for the object *o*. First try to return its " "actual length, then an estimate using :meth:`~object.__length_hint__`, and " @@ -379,36 +406,36 @@ msgid "" "defaultvalue)``." msgstr "" -#: ../../c-api/object.rst:354 +#: ../../c-api/object.rst:363 msgid "" "Return element of *o* corresponding to the object *key* or ``NULL`` on " "failure. This is the equivalent of the Python expression ``o[key]``." msgstr "" -#: ../../c-api/object.rst:360 +#: ../../c-api/object.rst:369 msgid "" "Map the object *key* to the value *v*. Raise an exception and return ``-1`` " "on failure; return ``0`` on success. This is the equivalent of the Python " "statement ``o[key] = v``. This function *does not* steal a reference to *v*." msgstr "" -#: ../../c-api/object.rst:368 +#: ../../c-api/object.rst:377 msgid "" "Remove the mapping for the object *key* from the object *o*. Return ``-1`` " "on failure. This is equivalent to the Python statement ``del o[key]``." msgstr "" -#: ../../c-api/object.rst:374 +#: ../../c-api/object.rst:383 msgid "" "This is equivalent to the Python expression ``dir(o)``, returning a " "(possibly empty) list of strings appropriate for the object argument, or " "``NULL`` if there was an error. If the argument is ``NULL``, this is like " "the Python ``dir()``, returning the names of the current locals; in this " -"case, if no execution frame is active then ``NULL`` is returned but :c:func:" -"`PyErr_Occurred` will return false." +"case, if no execution frame is active then ``NULL`` is returned " +"but :c:func:`PyErr_Occurred` will return false." msgstr "" -#: ../../c-api/object.rst:383 +#: ../../c-api/object.rst:392 msgid "" "This is equivalent to the Python expression ``iter(o)``. It returns a new " "iterator for the object argument, or the object itself if the object is " @@ -416,49 +443,49 @@ msgid "" "object cannot be iterated." msgstr "" -#: ../../c-api/object.rst:391 +#: ../../c-api/object.rst:400 msgid "" -"This is the equivalent to the Python expression ``aiter(o)``. Takes an :" -"class:`AsyncIterable` object and returns an :class:`AsyncIterator` for it. " -"This is typically a new iterator but if the argument is an :class:" -"`AsyncIterator`, this returns itself. Raises :exc:`TypeError` and returns " -"``NULL`` if the object cannot be iterated." +"This is the equivalent to the Python expression ``aiter(o)``. Takes " +"an :class:`AsyncIterable` object and returns an :class:`AsyncIterator` for " +"it. This is typically a new iterator but if the argument is " +"an :class:`AsyncIterator`, this returns itself. Raises :exc:`TypeError` and " +"returns ``NULL`` if the object cannot be iterated." msgstr "" -#: ../../c-api/object.rst:193 ../../c-api/object.rst:205 -#: ../../c-api/object.rst:230 ../../c-api/object.rst:281 -#: ../../c-api/object.rst:315 ../../c-api/object.rst:335 +#: ../../c-api/object.rst:201 ../../c-api/object.rst:213 +#: ../../c-api/object.rst:238 ../../c-api/object.rst:289 +#: ../../c-api/object.rst:323 ../../c-api/object.rst:344 msgid "built-in function" msgstr "função embutida" -#: ../../c-api/object.rst:193 +#: ../../c-api/object.rst:201 msgid "repr" msgstr "repr" -#: ../../c-api/object.rst:205 +#: ../../c-api/object.rst:213 msgid "ascii" -msgstr "" +msgstr "ascii" -#: ../../c-api/object.rst:213 +#: ../../c-api/object.rst:221 msgid "string" msgstr "string" -#: ../../c-api/object.rst:213 +#: ../../c-api/object.rst:221 msgid "PyObject_Str (C function)" msgstr "" -#: ../../c-api/object.rst:230 +#: ../../c-api/object.rst:238 msgid "bytes" -msgstr "" +msgstr "bytes" -#: ../../c-api/object.rst:281 +#: ../../c-api/object.rst:289 msgid "hash" -msgstr "" +msgstr "hash" -#: ../../c-api/object.rst:315 +#: ../../c-api/object.rst:323 msgid "type" msgstr "tipo" -#: ../../c-api/object.rst:335 +#: ../../c-api/object.rst:344 msgid "len" -msgstr "" +msgstr "len" diff --git a/c-api/objimpl.po b/c-api/objimpl.po index 9d22c9f0b..fd65161cb 100644 --- a/c-api/objimpl.po +++ b/c-api/objimpl.po @@ -1,27 +1,25 @@ # 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: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/c-api/refcounting.po b/c-api/refcounting.po index 69459f880..ade222b4f 100644 --- a/c-api/refcounting.po +++ b/c-api/refcounting.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/refcounting.rst:8 msgid "Reference Counting" -msgstr "Contagem de Referências" +msgstr "Contagem de referências" #: ../../c-api/refcounting.rst:10 msgid "" @@ -38,170 +36,167 @@ msgstr "" "objetos Python." #: ../../c-api/refcounting.rst:16 -msgid "Increment the reference count for object *o*." +msgid "" +"Indicate taking a new :term:`strong reference` to object *o*, indicating it " +"is in use and should not be destroyed." msgstr "" -#: ../../c-api/refcounting.rst:18 +#: ../../c-api/refcounting.rst:19 msgid "" -"This function is usually used to convert a :term:`borrowed reference` to a :" -"term:`strong reference` in-place. The :c:func:`Py_NewRef` function can be " +"This function is usually used to convert a :term:`borrowed reference` to " +"a :term:`strong reference` in-place. The :c:func:`Py_NewRef` function can be " "used to create a new :term:`strong reference`." msgstr "" +"Esta função é geralmente usada para transformar uma :term:`referência " +"emprestada` em uma :term:`referência forte` local. A " +"função :c:func:`Py_NewRef` pode ser usada para criar uma " +"nova :term:`referência forte`." -#: ../../c-api/refcounting.rst:22 +#: ../../c-api/refcounting.rst:23 +msgid "When done using the object, release it by calling :c:func:`Py_DECREF`." +msgstr "" + +#: ../../c-api/refcounting.rst:25 msgid "" "The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, " "use :c:func:`Py_XINCREF`." msgstr "" -#: ../../c-api/refcounting.rst:28 -msgid "" -"Increment the reference count for object *o*. The object may be ``NULL``, " -"in which case the macro has no effect." +#: ../../c-api/refcounting.rst:28 ../../c-api/refcounting.rst:89 +msgid "Do not expect this function to actually modify *o* in any way." msgstr "" -"Aumenta a contagem de referências para o objeto *o*. O objeto pode ser " -"``NULL``, caso em que a macro não tem efeito." -#: ../../c-api/refcounting.rst:31 -msgid "See also :c:func:`Py_XNewRef`." +#: ../../c-api/refcounting.rst:33 +msgid "" +"Similar to :c:func:`Py_INCREF`, but the object *o* can be ``NULL``, in which " +"case this has no effect." msgstr "" +"Semelhante a :c:func:`Py_INCREF`, mas o objeto *o* pode ser ``NULL``, caso " +"em que isso não tem efeito." #: ../../c-api/refcounting.rst:36 +msgid "See also :c:func:`Py_XNewRef`." +msgstr "Veja também :c:func:`Py_XNewRef`." + +#: ../../c-api/refcounting.rst:41 msgid "" -"Create a new :term:`strong reference` to an object: increment the reference " -"count of the object *o* and return the object *o*." +"Create a new :term:`strong reference` to an object: call :c:func:`Py_INCREF` " +"on *o* and return the object *o*." msgstr "" -#: ../../c-api/refcounting.rst:39 +#: ../../c-api/refcounting.rst:44 msgid "" "When the :term:`strong reference` is no longer needed, :c:func:`Py_DECREF` " -"should be called on it to decrement the object reference count." +"should be called on it to release the reference." msgstr "" -#: ../../c-api/refcounting.rst:42 +#: ../../c-api/refcounting.rst:47 msgid "" "The object *o* must not be ``NULL``; use :c:func:`Py_XNewRef` if *o* can be " "``NULL``." msgstr "" -#: ../../c-api/refcounting.rst:45 +#: ../../c-api/refcounting.rst:50 msgid "For example::" msgstr "Por exemplo::" -#: ../../c-api/refcounting.rst:50 +#: ../../c-api/refcounting.rst:55 msgid "can be written as::" msgstr "" -#: ../../c-api/refcounting.rst:54 +#: ../../c-api/refcounting.rst:59 msgid "See also :c:func:`Py_INCREF`." msgstr "" -#: ../../c-api/refcounting.rst:61 +#: ../../c-api/refcounting.rst:66 msgid "Similar to :c:func:`Py_NewRef`, but the object *o* can be NULL." -msgstr "" +msgstr "Semelhante a :c:func:`Py_NewRef`, mas o objeto *o* pode ser NULL." -#: ../../c-api/refcounting.rst:63 +#: ../../c-api/refcounting.rst:68 msgid "If the object *o* is ``NULL``, the function just returns ``NULL``." -msgstr "" +msgstr "Se o objeto *o* é ``NULL``, a função apenas retorna ``NULL``." -#: ../../c-api/refcounting.rst:70 -msgid "Decrement the reference count for object *o*." +#: ../../c-api/refcounting.rst:75 +msgid "" +"Release a :term:`strong reference` to object *o*, indicating the reference " +"is no longer used." msgstr "" -#: ../../c-api/refcounting.rst:72 +#: ../../c-api/refcounting.rst:78 msgid "" -"If the reference count reaches zero, the object's type's deallocation " -"function (which must not be ``NULL``) is invoked." +"Once the last :term:`strong reference` is released (i.e. the object's " +"reference count reaches 0), the object's type's deallocation function (which " +"must not be ``NULL``) is invoked." msgstr "" -#: ../../c-api/refcounting.rst:75 +#: ../../c-api/refcounting.rst:83 msgid "" "This function is usually used to delete a :term:`strong reference` before " "exiting its scope." msgstr "" -#: ../../c-api/refcounting.rst:78 +#: ../../c-api/refcounting.rst:86 msgid "" "The object must not be ``NULL``; if you aren't sure that it isn't ``NULL``, " "use :c:func:`Py_XDECREF`." msgstr "" -#: ../../c-api/refcounting.rst:83 +#: ../../c-api/refcounting.rst:93 msgid "" -"The deallocation function can cause arbitrary Python code to be invoked (e." -"g. when a class instance with a :meth:`__del__` method is deallocated). " -"While exceptions in such code are not propagated, the executed code has free " -"access to all Python global variables. This means that any object that is " -"reachable from a global variable should be in a consistent state before :c:" -"func:`Py_DECREF` is invoked. For example, code to delete an object from a " -"list should copy a reference to the deleted object in a temporary variable, " -"update the list data structure, and then call :c:func:`Py_DECREF` for the " -"temporary variable." +"The deallocation function can cause arbitrary Python code to be invoked " +"(e.g. when a class instance with a :meth:`~object.__del__` method is " +"deallocated). While exceptions in such code are not propagated, the " +"executed code has free access to all Python global variables. This means " +"that any object that is reachable from a global variable should be in a " +"consistent state before :c:func:`Py_DECREF` is invoked. For example, code " +"to delete an object from a list should copy a reference to the deleted " +"object in a temporary variable, update the list data structure, and then " +"call :c:func:`Py_DECREF` for the temporary variable." msgstr "" -"A função de desalocação pode fazer com que o código Python arbitrário seja " -"invocado (por exemplo, quando uma instância de classe com um método :meth:" -"`__del__` é desalocada). Embora as exceções em tal código não sejam " -"propagadas, o código executado tem acesso livre a todas as variáveis globais " -"do Python. Isso significa que qualquer objeto que é alcançável de uma " -"variável global deve estar em um estado consistente antes de :c:func:" -"`Py_DECREF` ser invocado. Por exemplo, o código para excluir um objeto de " -"uma lista deve copiar uma referência ao objeto excluído em uma variável " -"temporária, atualizar a estrutura de dados da lista e então chamar :c:func:" -"`Py_DECREF` para a variável temporária." -#: ../../c-api/refcounting.rst:95 +#: ../../c-api/refcounting.rst:105 msgid "" -"Decrement the reference count for object *o*. The object may be ``NULL``, " -"in which case the macro has no effect; otherwise the effect is the same as " -"for :c:func:`Py_DECREF`, and the same warning applies." +"Similar to :c:func:`Py_DECREF`, but the object *o* can be ``NULL``, in which " +"case this has no effect. The same warning from :c:func:`Py_DECREF` applies " +"here as well." msgstr "" -"Diminui a contagem de referências para o objeto *o*. O objeto pode ser " -"``NULL``, caso em que a macro não tem efeito; caso contrário, o efeito é o " -"mesmo de :c:func:`Py_DECREF`, e o mesmo aviso se aplica." -#: ../../c-api/refcounting.rst:102 +#: ../../c-api/refcounting.rst:112 msgid "" -"Decrement the reference count for object *o*. The object may be ``NULL``, " -"in which case the macro has no effect; otherwise the effect is the same as " -"for :c:func:`Py_DECREF`, except that the argument is also set to ``NULL``. " -"The warning for :c:func:`Py_DECREF` does not apply with respect to the " -"object passed because the macro carefully uses a temporary variable and sets " -"the argument to ``NULL`` before decrementing its reference count." +"Release a :term:`strong reference` for object *o*. The object may be " +"``NULL``, in which case the macro has no effect; otherwise the effect is the " +"same as for :c:func:`Py_DECREF`, except that the argument is also set to " +"``NULL``. The warning for :c:func:`Py_DECREF` does not apply with respect " +"to the object passed because the macro carefully uses a temporary variable " +"and sets the argument to ``NULL`` before releasing the reference." msgstr "" -"Diminui a contagem de referências para o objeto *o*. O objeto pode ser " -"``NULL``, caso em que a macro não tem efeito; caso contrário, o efeito é o " -"mesmo de :c:func:`Py_DECREF`, exceto que o argumento também é definido como " -"``NULL``. O aviso para :c:func:`Py_DECREF` não se aplica em relação ao " -"objeto passado porque a macro usa cuidadosamente uma variável temporária e " -"define o argumento como ``NULL`` antes de diminuir sua contagem de " -"referências." -#: ../../c-api/refcounting.rst:109 +#: ../../c-api/refcounting.rst:120 msgid "" -"It is a good idea to use this macro whenever decrementing the reference " -"count of an object that might be traversed during garbage collection." +"It is a good idea to use this macro whenever releasing a reference to an " +"object that might be traversed during garbage collection." msgstr "" -"É uma boa ideia usar essa macro sempre que diminuir a contagem de " -"referências de um objeto que pode ser percorrido durante a coleta de lixo." -#: ../../c-api/refcounting.rst:114 +#: ../../c-api/refcounting.rst:125 msgid "" -"Increment the reference count for object *o*. A function version of :c:func:" -"`Py_XINCREF`. It can be used for runtime dynamic embedding of Python." +"Indicate taking a new :term:`strong reference` to object *o*. A function " +"version of :c:func:`Py_XINCREF`. It can be used for runtime dynamic " +"embedding of Python." msgstr "" -#: ../../c-api/refcounting.rst:120 +#: ../../c-api/refcounting.rst:132 msgid "" -"Decrement the reference count for object *o*. A function version of :c:func:" -"`Py_XDECREF`. It can be used for runtime dynamic embedding of Python." +"Release a :term:`strong reference` to object *o*. A function version " +"of :c:func:`Py_XDECREF`. It can be used for runtime dynamic embedding of " +"Python." msgstr "" -#: ../../c-api/refcounting.rst:124 +#: ../../c-api/refcounting.rst:137 msgid "" "The following functions or macros are only for use within the interpreter " -"core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:" -"`_Py_NewReference`, as well as the global variable :c:data:`_Py_RefTotal`." +"core: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:`_Py_NewReference`, " +"as well as the global variable :c:data:`_Py_RefTotal`." msgstr "" "As seguintes funções ou macros são apenas para uso dentro do núcleo do " -"interpretador: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:" -"`_Py_NewReference`, bem como a variável global :c:data:`_Py_RefTotal`." +"interpretador: :c:func:`_Py_Dealloc`, :c:func:`_Py_ForgetReference`, :c:func:`_Py_NewReference`, " +"bem como a variável global :c:data:`_Py_RefTotal`." diff --git a/c-api/reflection.po b/c-api/reflection.po index 8e12b44e2..0b68a9fba 100644 --- a/c-api/reflection.po +++ b/c-api/reflection.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,9 +32,9 @@ msgid "" "Return a dictionary of the builtins in the current execution frame, or the " "interpreter of the thread state if no frame is currently executing." msgstr "" -"Retorna um dicionário dos componentes internos no quadro de execução atual " -"ou o interpretador do estado do encadeamento, se nenhum quadro estiver em " -"execução no momento." +"Retorna um dicionário dos componentes embutidos no quadro de execução atual " +"ou o interpretador do estado da thread, se nenhum quadro estiver em execução " +"no momento." #: ../../c-api/reflection.rst:16 msgid "" @@ -77,10 +76,10 @@ msgstr "" msgid "" "Return a description string, depending on the type of *func*. Return values " "include \"()\" for functions and methods, \" constructor\", \" instance\", " -"and \" object\". Concatenated with the result of :c:func:" -"`PyEval_GetFuncName`, the result will be a description of *func*." +"and \" object\". Concatenated with the result " +"of :c:func:`PyEval_GetFuncName`, the result will be a description of *func*." msgstr "" "Retorna uma sequência de caracteres de descrição, dependendo do tipo de " -"*func*. Os valores de retorno incluem \"()\" para funções e métodos, " -"\"construtor\", \"instância\" e \"objeto\". Concatenado com o resultado de :" -"c:func:`PyEval_GetFuncName`, o resultado será uma descrição de *func*." +"*func*. Os valores de retorno incluem \"()\" para funções e métodos, \" " +"constructor\", \" instance\" e \" object\".. Concatenado com o resultado " +"de :c:func:`PyEval_GetFuncName`, o resultado será uma descrição de *func*." diff --git a/c-api/sequence.po b/c-api/sequence.po index 9d29e8b86..202d24793 100644 --- a/c-api/sequence.po +++ b/c-api/sequence.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Adorilson Bezerra , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -31,19 +30,24 @@ msgstr "Protocolo de sequência" #: ../../c-api/sequence.rst:11 msgid "" "Return ``1`` if the object provides the sequence protocol, and ``0`` " -"otherwise. Note that it returns ``1`` for Python classes with a :meth:" -"`__getitem__` method, unless they are :class:`dict` subclasses, since in " -"general it is impossible to determine what type of keys the class supports. " -"This function always succeeds." +"otherwise. Note that it returns ``1`` for Python classes with " +"a :meth:`~object.__getitem__` method, unless they are :class:`dict` " +"subclasses, since in general it is impossible to determine what type of keys " +"the class supports. This function always succeeds." msgstr "" +"Retorna ``1`` se o objeto fornecer o protocolo de sequência e ``0`` caso " +"contrário. Note que ele retorna ``1`` para classes Python com um " +"método :meth:`~object.__getitem__` a menos que sejam subclasses " +"de :class:`dict` já que no caso geral é impossível determinar que tipo de " +"chaves a classe provê. Esta função sempre obtém sucesso." #: ../../c-api/sequence.rst:23 msgid "" "Returns the number of objects in sequence *o* on success, and ``-1`` on " "failure. This is equivalent to the Python expression ``len(o)``." msgstr "" -"Retorna o número de objetos em sequência *o* em caso de sucesso e ``-1`` em " -"caso de falha. Isso é equivalente à expressão Python ``len(o)``." +"Retorna o número de objetos na sequência *o* em caso de sucesso, ou ``-1`` " +"em caso de falha. Equivale à expressão Python ``len(o)``." #: ../../c-api/sequence.rst:29 msgid "" @@ -51,7 +55,7 @@ msgid "" "failure. This is the equivalent of the Python expression ``o1 + o2``." msgstr "" "Retorna a concatenação de *o1* e *o2* em caso de sucesso, e ``NULL`` em caso " -"de falha. Este é o equivalente da expressão Python ``o1 + o2``." +"de falha. Equivale à expressão Python ``o1 + o2``." #: ../../c-api/sequence.rst:35 msgid "" @@ -60,8 +64,7 @@ msgid "" "count``." msgstr "" "Retorna o resultado da repetição do objeto sequência *o* *count* vezes ou " -"``NULL`` em caso de falha. Este é o equivalente da expressão Python ``o * " -"count``." +"``NULL`` em caso de falha. Equivale à expressão Python ``o * count``." #: ../../c-api/sequence.rst:41 msgid "" @@ -70,8 +73,8 @@ msgid "" "the equivalent of the Python expression ``o1 += o2``." msgstr "" "Retorna a concatenação de *o1* e *o2* em caso de sucesso, e ``NULL`` em caso " -"de falha. A operação é feita *no local* quando *o1* suportar. Este é o " -"equivalente da expressão Python ``o1 += o2``." +"de falha. A operação é feita *localmente* se *o1* permitir. Equivale à " +"expressão Python ``o1 += o2``." #: ../../c-api/sequence.rst:48 msgid "" @@ -80,16 +83,16 @@ msgid "" "it. This is the equivalent of the Python expression ``o *= count``." msgstr "" "Retorna o resultado da repetição do objeto sequência *o* *count* vezes ou " -"``NULL`` em caso de falha. A operação é feita *localmente* quando *o* " -"suportar. Este é o equivalente da expressão Python ``o *= count``." +"``NULL`` em caso de falha. A operação é feita *localmente* se *o* permitir. " +"Equivale à expressão Python ``o *= count``." #: ../../c-api/sequence.rst:55 msgid "" "Return the *i*\\ th element of *o*, or ``NULL`` on failure. This is the " "equivalent of the Python expression ``o[i]``." msgstr "" -"Retorna o elemento *i* de *o* ou ``NULL`` em caso de falha. Este é o " -"equivalente da expressão Python ``o[i]``." +"Retorna o elemento *i* de *o* ou ``NULL`` em caso de falha. Equivale à " +"expressão Python ``o[i]``." #: ../../c-api/sequence.rst:61 msgid "" @@ -97,7 +100,7 @@ msgid "" "on failure. This is the equivalent of the Python expression ``o[i1:i2]``." msgstr "" "Retorna a fatia do objeto sequência *o* entre *i1* e *i2*, ou ``NULL`` em " -"caso de falha. Este é o equivalente da expressão Python ``o[i1:i2]``." +"caso de falha. Equivale à expressão Python ``o[i1:i2]``." #: ../../c-api/sequence.rst:67 msgid "" @@ -107,23 +110,24 @@ msgid "" "reference to *v*." msgstr "" "Atribui o objeto *v* ao elemento *i* de *o*. Levanta uma exceção e retorna " -"``-1`` em caso de falha; retorna ``0`` em caso de sucesso. Isso é " -"equivalente à instrução Python ``o[i]=v``. Esta função *não* rouba uma " -"referência a *v*." +"``-1`` em caso de falha; retorna ``0`` em caso de sucesso. Esta função *não* " +"rouba uma referência a *v*. Equivale à instrução Python ``o[i]=v``." #: ../../c-api/sequence.rst:72 msgid "" "If *v* is ``NULL``, the element is deleted, but this feature is deprecated " "in favour of using :c:func:`PySequence_DelItem`." msgstr "" +"Se *v* for ``NULL``, o elemento será removido, mas este recurso foi " +"descontinuado em favor do uso de :c:func:`PySequence_DelItem`." #: ../../c-api/sequence.rst:78 msgid "" "Delete the *i*\\ th element of object *o*. Returns ``-1`` on failure. This " "is the equivalent of the Python statement ``del o[i]``." msgstr "" -"Exclui o elemento *i* do objeto *o*. Retorna ``-1`` em caso de falha. Isso é " -"equivalente à instrução Python ``del o[i]``." +"Exclui o elemento *i* do objeto *o*. Retorna ``-1`` em caso de falha. " +"Equivale à instrução Python ``del o[i]``." #: ../../c-api/sequence.rst:84 msgid "" @@ -131,7 +135,7 @@ msgid "" "to *i2*. This is the equivalent of the Python statement ``o[i1:i2] = v``." msgstr "" "Atribui o objeto sequência *v* à fatia no objeto sequência *o* de *i1* a " -"*i2*. Isso é equivalente à instrução Python ``o[i1:i2] = v``." +"*i2*. Equivale à instrução Python ``o[i1:i2] = v``." #: ../../c-api/sequence.rst:90 msgid "" @@ -139,7 +143,7 @@ msgid "" "on failure. This is the equivalent of the Python statement ``del o[i1:i2]``." msgstr "" "Exclui a fatia no objeto sequência *o* de *i1* a *i2*. Retorna ``-1`` em " -"caso de falha. Isso é equivalente à instrução Python ``del o[i1:i2]``." +"caso de falha. Equivale à instrução Python ``del o[i1:i2]``." #: ../../c-api/sequence.rst:96 msgid "" @@ -147,6 +151,9 @@ msgid "" "number of keys for which ``o[key] == value``. On failure, return ``-1``. " "This is equivalent to the Python expression ``o.count(value)``." msgstr "" +"Retorna a quantidade de ocorrências de *value* em *o*, isto é, retorna a " +"quantidade de chaves onde ``o[key] == value``. Em caso de falha, retorna " +"``-1``. Equivale à expressão Python ``o.count(value)``." #: ../../c-api/sequence.rst:103 msgid "" @@ -154,12 +161,17 @@ msgid "" "return ``1``, otherwise return ``0``. On error, return ``-1``. This is " "equivalent to the Python expression ``value in o``." msgstr "" +"Determina se *o* contém *value*. Se um item em *o* for igual a *value*, " +"retorna ``1``, senão, retorna ``0``. Em caso de erro, retorna ``-1``. " +"Equivale à expressão Python ``value in o``." #: ../../c-api/sequence.rst:110 msgid "" "Return the first index *i* for which ``o[i] == value``. On error, return " "``-1``. This is equivalent to the Python expression ``o.index(value)``." msgstr "" +"Retorna o primeiro índice *i* tal que ``o[i] == value``. Em caso de erro, " +"retorna ``-1``. Equivale à expressão Python ``o.index(value)``." #: ../../c-api/sequence.rst:116 msgid "" @@ -167,6 +179,9 @@ msgid "" "or ``NULL`` on failure. The returned list is guaranteed to be new. This is " "equivalent to the Python expression ``list(o)``." msgstr "" +"Retorna um objeto lista com o mesmo conteúdo da sequência ou iterável *o*, " +"ou ``NULL`` em caso de falha. Garante-se que a lista retornada será nova. " +"Equivale à expressão Python ``list(o)``." #: ../../c-api/sequence.rst:125 msgid "" @@ -175,6 +190,10 @@ msgid "" "returned, otherwise a tuple will be constructed with the appropriate " "contents. This is equivalent to the Python expression ``tuple(o)``." msgstr "" +"Retorna o objeto tupla com o mesmo conteúdo da sequência ou iterável *o*, ou " +"``NULL`` em caso de falha. Se *o* for uma tupla, retorna uma nova " +"referência. Senão, uma tupla será construída com o conteúdo apropriado. " +"Equivale à expressão Python ``tuple(o)``." #: ../../c-api/sequence.rst:133 msgid "" @@ -183,6 +202,10 @@ msgid "" "iterable, raises :exc:`TypeError` with *m* as the message text. Returns " "``NULL`` on failure." msgstr "" +"Retorna a sequência ou iterável *o* como um objeto usável por outras funções " +"da família ``PySequence_Fast*``. Se o objeto não for uma sequência ou " +"iterável, levanta :exc:`TypeError` com *m* sendo o texto da mensagem. " +"Retorna ``NULL`` em caso de falha." #: ../../c-api/sequence.rst:138 msgid "" @@ -190,33 +213,49 @@ msgid "" "a :c:type:`PyTupleObject` or a :c:type:`PyListObject` and access the data " "fields of *o* directly." msgstr "" +"As funções ``PySequence_Fast*`` têm esse nome porque presumem que *o* é " +"um :c:type:`PyTupleObject` ou um :c:type:`PyListObject` e porque acessam os " +"campos de dados de *o* diretamente." #: ../../c-api/sequence.rst:142 msgid "" "As a CPython implementation detail, if *o* is already a sequence or list, it " "will be returned." msgstr "" +"Como detalhe de implementação de CPython, se *o* já for uma sequência ou " +"lista, ele será retornado." #: ../../c-api/sequence.rst:148 msgid "" -"Returns the length of *o*, assuming that *o* was returned by :c:func:" -"`PySequence_Fast` and that *o* is not ``NULL``. The size can also be " -"retrieved by calling :c:func:`PySequence_Size` on *o*, but :c:func:" -"`PySequence_Fast_GET_SIZE` is faster because it can assume *o* is a list or " -"tuple." +"Returns the length of *o*, assuming that *o* was returned " +"by :c:func:`PySequence_Fast` and that *o* is not ``NULL``. The size can " +"also be retrieved by calling :c:func:`PySequence_Size` on *o*, " +"but :c:func:`PySequence_Fast_GET_SIZE` is faster because it can assume *o* " +"is a list or tuple." msgstr "" +"Retorna o comprimento de *o*, presumindo que *o* foi retornado " +"por :c:func:`PySequence_Fast` e que *o* não seja ``NULL``. O tamanho também " +"pode ser obtido ao chamar :c:func:`PySequence_Size` em *o*, " +"mas :c:func:`PySequence_Fast_GET_SIZE` é mais rápida, ao supor que *o* é uma " +"lista ou tupla." #: ../../c-api/sequence.rst:157 msgid "" -"Return the *i*\\ th element of *o*, assuming that *o* was returned by :c:" -"func:`PySequence_Fast`, *o* is not ``NULL``, and that *i* is within bounds." +"Return the *i*\\ th element of *o*, assuming that *o* was returned " +"by :c:func:`PySequence_Fast`, *o* is not ``NULL``, and that *i* is within " +"bounds." msgstr "" +"Retorna o elemento *i* de *o*, presumindo que *o* foi retornado " +"por :c:func:`PySequence_Fast`, que *o* seja ``NULL``, e que *i* esteja nos " +"limites." #: ../../c-api/sequence.rst:163 msgid "" "Return the underlying array of PyObject pointers. Assumes that *o* was " "returned by :c:func:`PySequence_Fast` and *o* is not ``NULL``." msgstr "" +"Retorna o vetor subjacente de ponteiros PyObject. Presume que *o* foi " +"retornado por :c:func:`PySequence_Fast` e que *o* não seja ``NULL``." #: ../../c-api/sequence.rst:166 msgid "" @@ -224,14 +263,21 @@ msgid "" "So, only use the underlying array pointer in contexts where the sequence " "cannot change." msgstr "" +"Note que, se uma lista for redimensionada, a realocação poderá reposicionar " +"o vetor de itens. Portanto, só use o ponteiro de vetor subjacente em " +"contextos onde a sequência não mudará." #: ../../c-api/sequence.rst:173 msgid "" -"Return the *i*\\ th element of *o* or ``NULL`` on failure. Faster form of :c:" -"func:`PySequence_GetItem` but without checking that :c:func:" -"`PySequence_Check` on *o* is true and without adjustment for negative " -"indices." +"Return the *i*\\ th element of *o* or ``NULL`` on failure. Faster form " +"of :c:func:`PySequence_GetItem` but without checking " +"that :c:func:`PySequence_Check` on *o* is true and without adjustment for " +"negative indices." msgstr "" +"Retorna o elemento *i* de *o*, ou ``NULL`` em caso de falha. É uma forma " +"mais rápida de :c:func:`PySequence_GetItem`, mas sem verificar " +"se :c:func:`PySequence_Check` em *o* é verdadeiro e sem ajustar índices " +"negativos." #: ../../c-api/sequence.rst:21 ../../c-api/sequence.rst:123 msgid "built-in function" @@ -239,7 +285,7 @@ msgstr "função embutida" #: ../../c-api/sequence.rst:21 msgid "len" -msgstr "" +msgstr "len" #: ../../c-api/sequence.rst:123 msgid "tuple" diff --git a/c-api/set.po b/c-api/set.po index b321fe186..c0862c79f 100644 --- a/c-api/set.po +++ b/c-api/set.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Vitor Buxbaum Orlandi, 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,62 +31,56 @@ msgstr "Objeto Set" msgid "" "This section details the public API for :class:`set` and :class:`frozenset` " "objects. Any functionality not listed below is best accessed using either " -"the abstract object protocol (including :c:func:`PyObject_CallMethod`, :c:" -"func:`PyObject_RichCompareBool`, :c:func:`PyObject_Hash`, :c:func:" -"`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:func:`PyObject_Print`, and :c:" -"func:`PyObject_GetIter`) or the abstract number protocol (including :c:func:" -"`PyNumber_And`, :c:func:`PyNumber_Subtract`, :c:func:`PyNumber_Or`, :c:func:" -"`PyNumber_Xor`, :c:func:`PyNumber_InPlaceAnd`, :c:func:" -"`PyNumber_InPlaceSubtract`, :c:func:`PyNumber_InPlaceOr`, and :c:func:" -"`PyNumber_InPlaceXor`)." +"the abstract object protocol " +"(including :c:func:`PyObject_CallMethod`, :c:func:`PyObject_RichCompareBool`, :c:func:`PyObject_Hash`, :c:func:`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:func:`PyObject_Print`, " +"and :c:func:`PyObject_GetIter`) or the abstract number protocol " +"(including :c:func:`PyNumber_And`, :c:func:`PyNumber_Subtract`, :c:func:`PyNumber_Or`, :c:func:`PyNumber_Xor`, :c:func:`PyNumber_InPlaceAnd`, :c:func:`PyNumber_InPlaceSubtract`, :c:func:`PyNumber_InPlaceOr`, " +"and :c:func:`PyNumber_InPlaceXor`)." msgstr "" -"Esta seção detalha a API pública para os objetos :class:`set` e :class:" -"`frozenset`. Qualquer funcionalidade não listada abaixo é melhor acessada " -"usando o protocolo de objeto abstrato (incluindo :c:func:" -"`PyObject_CallMethod`, :c:func:`PyObject_RichCompareBool`, :c:func:" -"`PyObject_Hash`, :c:func:`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:func:" -"`PyObject_Print` e :c:func:`PyObject_GetIter`) ou o protocolo abstrato de " -"número (incluindo :c:func:`PyNumber_And`, :c:func:`PyNumber_Subtract`, :c:" -"func:`PyNumber_Or`, :c:func:`PyNumber_Xor`, :c:func:`PyNumber_InPlaceAnd`, :" -"c:func:`PyNumber_InPlaceSubtract`, :c:func:`PyNumber_InPlaceOr` e :c:func:" -"`PyNumber_InPlaceXor`)." +"Esta seção detalha a API pública para os objetos :class:`set` " +"e :class:`frozenset`. Qualquer funcionalidade não listada abaixo é melhor " +"acessada usando o protocolo de objeto abstrato " +"(incluindo :c:func:`PyObject_CallMethod`, :c:func:`PyObject_RichCompareBool`, :c:func:`PyObject_Hash`, :c:func:`PyObject_Repr`, :c:func:`PyObject_IsTrue`, :c:func:`PyObject_Print` " +"e :c:func:`PyObject_GetIter`) ou o protocolo abstrato de número " +"(incluindo :c:func:`PyNumber_And`, :c:func:`PyNumber_Subtract`, :c:func:`PyNumber_Or`, :c:func:`PyNumber_Xor`, :c:func:`PyNumber_InPlaceAnd`, :c:func:`PyNumber_InPlaceSubtract`, :c:func:`PyNumber_InPlaceOr` " +"e :c:func:`PyNumber_InPlaceXor`)." #: ../../c-api/set.rst:29 msgid "" "This subtype of :c:type:`PyObject` is used to hold the internal data for " -"both :class:`set` and :class:`frozenset` objects. It is like a :c:type:" -"`PyDictObject` in that it is a fixed size for small sets (much like tuple " -"storage) and will point to a separate, variable sized block of memory for " -"medium and large sized sets (much like list storage). None of the fields of " -"this structure should be considered public and all are subject to change. " -"All access should be done through the documented API rather than by " +"both :class:`set` and :class:`frozenset` objects. It is like " +"a :c:type:`PyDictObject` in that it is a fixed size for small sets (much " +"like tuple storage) and will point to a separate, variable sized block of " +"memory for medium and large sized sets (much like list storage). None of the " +"fields of this structure should be considered public and all are subject to " +"change. All access should be done through the documented API rather than by " "manipulating the values in the structure." msgstr "" "Este subtipo de :c:type:`PyObject` é usado para manter os dados internos " -"para ambos os objetos :class:`set` e :class:`frozenset`. É como um :c:type:" -"`PyDictObject` em que tem um tamanho fixo para conjuntos pequenos (muito " -"parecido com o armazenamento de tupla) e apontará para um bloco de memória " -"de tamanho variável separado para conjuntos de tamanho médio e grande (muito " -"parecido com lista armazenamento). Nenhum dos campos desta estrutura deve " -"ser considerado público e todos estão sujeitos a alterações. Todo o acesso " -"deve ser feito por meio da API documentada, em vez de manipular os valores " -"na estrutura." +"para ambos os objetos :class:`set` e :class:`frozenset`. É como " +"um :c:type:`PyDictObject` em que tem um tamanho fixo para conjuntos pequenos " +"(muito parecido com o armazenamento de tupla) e apontará para um bloco de " +"memória de tamanho variável separado para conjuntos de tamanho médio e " +"grande (muito parecido com lista armazenamento). Nenhum dos campos desta " +"estrutura deve ser considerado público e todos estão sujeitos a alterações. " +"Todo o acesso deve ser feito por meio da API documentada, em vez de " +"manipular os valores na estrutura." #: ../../c-api/set.rst:40 msgid "" -"This is an instance of :c:type:`PyTypeObject` representing the Python :class:" -"`set` type." +"This is an instance of :c:type:`PyTypeObject` representing the " +"Python :class:`set` type." msgstr "" -"Essa é uma instância de :c:type:`PyTypeObject` representando o tipo Python :" -"class:`set`" +"Essa é uma instância de :c:type:`PyTypeObject` representando o tipo " +"Python :class:`set`" #: ../../c-api/set.rst:46 msgid "" -"This is an instance of :c:type:`PyTypeObject` representing the Python :class:" -"`frozenset` type." +"This is an instance of :c:type:`PyTypeObject` representing the " +"Python :class:`frozenset` type." msgstr "" -"Esta é uma instância de :c:type:`PyTypeObject` representando o tipo Python :" -"class:`frozenset`." +"Esta é uma instância de :c:type:`PyTypeObject` representando o tipo " +"Python :class:`frozenset`." #: ../../c-api/set.rst:49 msgid "" @@ -120,8 +112,9 @@ msgid "" "Return true if *p* is a :class:`set` object, a :class:`frozenset` object, or " "an instance of a subtype. This function always succeeds." msgstr "" -"Retorna verdadeiro se *p* for um objeto :class:`set`, um objeto :class:" -"`frozenset` ou uma instância de um subtipo. Esta função sempre tem sucesso." +"Retorna verdadeiro se *p* for um objeto :class:`set`, um " +"objeto :class:`frozenset` ou uma instância de um subtipo. Esta função sempre " +"tem sucesso." #: ../../c-api/set.rst:70 msgid "" @@ -136,9 +129,9 @@ msgid "" "Return true if *p* is a :class:`set` object or a :class:`frozenset` object " "but not an instance of a subtype. This function always succeeds." msgstr "" -"Retorna verdadeiro se *p* for um objeto :class:`set` ou um objeto :class:" -"`frozenset`, mas não uma instância de um subtipo. Esta função sempre tem " -"sucesso." +"Retorna verdadeiro se *p* for um objeto :class:`set` ou um " +"objeto :class:`frozenset`, mas não uma instância de um subtipo. Esta função " +"sempre tem sucesso." #: ../../c-api/set.rst:83 msgid "" @@ -166,8 +159,8 @@ msgstr "" msgid "" "Return a new :class:`frozenset` containing objects returned by the " "*iterable*. The *iterable* may be ``NULL`` to create a new empty frozenset. " -"Return the new set on success or ``NULL`` on failure. Raise :exc:" -"`TypeError` if *iterable* is not actually iterable." +"Return the new set on success or ``NULL`` on failure. " +"Raise :exc:`TypeError` if *iterable* is not actually iterable." msgstr "" "Retorna uma nova :class:`frozenset` contendo objetos retornados pelo " "iterável *iterable*. O *iterable* pode ser ``NULL`` para criar um novo " @@ -177,22 +170,21 @@ msgstr "" #: ../../c-api/set.rst:104 msgid "" -"The following functions and macros are available for instances of :class:" -"`set` or :class:`frozenset` or instances of their subtypes." +"The following functions and macros are available for instances " +"of :class:`set` or :class:`frozenset` or instances of their subtypes." msgstr "" -"As seguintes funções e macros estão disponíveis para instâncias de :class:" -"`set` ou :class:`frozenset` ou instâncias de seus subtipos." +"As seguintes funções e macros estão disponíveis para instâncias " +"de :class:`set` ou :class:`frozenset` ou instâncias de seus subtipos." #: ../../c-api/set.rst:112 msgid "" "Return the length of a :class:`set` or :class:`frozenset` object. Equivalent " -"to ``len(anyset)``. Raises a :exc:`PyExc_SystemError` if *anyset* is not a :" -"class:`set`, :class:`frozenset`, or an instance of a subtype." +"to ``len(anyset)``. Raises a :exc:`SystemError` if *anyset* is not " +"a :class:`set`, :class:`frozenset`, or an instance of a subtype." msgstr "" "Retorna o comprimento de um objeto :class:`set` ou :class:`frozenset`. " -"Equivalente a ``len(anyset)``. Levanta um :exc:`PyExc_SystemError` se " -"*anyset* não for um :class:`set`, :class:`frozenset`, ou uma instância de um " -"subtipo." +"Equivalente a ``len(anyset)``. Levanta um :exc:`SystemError` se *anyset* não " +"for um :class:`set`, :class:`frozenset`, ou uma instância de um subtipo." #: ../../c-api/set.rst:119 msgid "Macro form of :c:func:`PySet_Size` without error checking." @@ -201,18 +193,18 @@ msgstr "Forma macro de :c:func:`PySet_Size` sem verificação de erros." #: ../../c-api/set.rst:124 msgid "" "Return ``1`` if found, ``0`` if not found, and ``-1`` if an error is " -"encountered. Unlike the Python :meth:`__contains__` method, this function " -"does not automatically convert unhashable sets into temporary frozensets. " -"Raise a :exc:`TypeError` if the *key* is unhashable. Raise :exc:" -"`PyExc_SystemError` if *anyset* is not a :class:`set`, :class:`frozenset`, " -"or an instance of a subtype." +"encountered. Unlike the Python :meth:`~object.__contains__` method, this " +"function does not automatically convert unhashable sets into temporary " +"frozensets. Raise a :exc:`TypeError` if the *key* is unhashable. " +"Raise :exc:`SystemError` if *anyset* is not " +"a :class:`set`, :class:`frozenset`, or an instance of a subtype." msgstr "" "Retorna ``1`` se encontrado, ``0`` se não encontrado, e ``-1`` se um erro é " -"encontrado. Ao contrário do método Python :meth:`__contains__`, esta função " -"não converte automaticamente conjuntos não hasheáveis em frozensets " +"encontrado. Ao contrário do método Python :meth:`~object.__contains__`, esta " +"função não converte automaticamente conjuntos não hasheáveis em frozensets " "temporários. Levanta um :exc:`TypeError` se a *key* não for hasheável. " -"Levanta :exc:`PyExc_SystemError` se *anyset* não é um :class:`set`, :class:" -"`frozenset`, ou uma instância de um subtipo." +"Levanta :exc:`SystemError` se *anyset* não é " +"um :class:`set`, :class:`frozenset`, ou uma instância de um subtipo." #: ../../c-api/set.rst:133 msgid "" @@ -221,8 +213,8 @@ msgid "" "values of brand new frozensets before they are exposed to other code). " "Return ``0`` on success or ``-1`` on failure. Raise a :exc:`TypeError` if " "the *key* is unhashable. Raise a :exc:`MemoryError` if there is no room to " -"grow. Raise a :exc:`SystemError` if *set* is not an instance of :class:" -"`set` or its subtype." +"grow. Raise a :exc:`SystemError` if *set* is not an instance " +"of :class:`set` or its subtype." msgstr "" "Adiciona *key* a uma instância de :class:`set`. Também funciona com " "instâncias de :class:`frozenset` (como :c:func:`PyTuple_SetItem`, ele pode " @@ -230,8 +222,8 @@ msgstr "" "antes que eles sejam expostos a outro código). Retorna ``0`` em caso de " "sucesso ou ``-1`` em caso de falha. Levanta um :exc:`TypeError` se a *key* " "não for hasheável. Levanta uma :exc:`MemoryError` se não houver espaço para " -"crescer. Levanta uma :exc:`SystemError` se *set* não for uma instância de :" -"class:`set` ou seu subtipo." +"crescer. Levanta uma :exc:`SystemError` se *set* não for uma instância " +"de :class:`set` ou seu subtipo." #: ../../c-api/set.rst:142 msgid "" @@ -247,18 +239,19 @@ msgid "" "Return ``1`` if found and removed, ``0`` if not found (no action taken), and " "``-1`` if an error is encountered. Does not raise :exc:`KeyError` for " "missing keys. Raise a :exc:`TypeError` if the *key* is unhashable. Unlike " -"the Python :meth:`~set.discard` method, this function does not automatically " -"convert unhashable sets into temporary frozensets. Raise :exc:" -"`PyExc_SystemError` if *set* is not an instance of :class:`set` or its " +"the Python :meth:`~frozenset.discard` method, this function does not " +"automatically convert unhashable sets into temporary frozensets. " +"Raise :exc:`SystemError` if *set* is not an instance of :class:`set` or its " "subtype." msgstr "" "Retorna ``1`` se encontrado e removido, ``0`` se não encontrado (nenhuma " -"ação realizada) e ``-1`` se um erro for encontrado. Não levanta :exc:" -"`KeyError` para chaves ausentes. Levanta uma :exc:`TypeError` se a *key* não " -"for hasheável. Ao contrário do método Python :meth:`~set.discard`, esta " -"função não converte automaticamente conjuntos não hasheáveis em frozensets " -"temporários. Levanta :exc:`PyExc_SystemError` se *set* não é uma instância " -"de :class:`set` ou seu subtipo." +"ação realizada) e ``-1`` se um erro for encontrado. Não " +"levanta :exc:`KeyError` para chaves ausentes. Levanta uma :exc:`TypeError` " +"se a *key* não for hasheável. Ao contrário do método " +"Python :meth:`~frozenset.discard`, esta função não converte automaticamente " +"conjuntos não hasheáveis em frozensets temporários. " +"Levanta :exc:`SystemError` se *set* não é uma instância de :class:`set` ou " +"seu subtipo." #: ../../c-api/set.rst:158 msgid "" @@ -273,8 +266,14 @@ msgstr "" "uma instância de :class:`set` ou seu subtipo." #: ../../c-api/set.rst:166 -msgid "Empty an existing set of all elements." -msgstr "Limpa todos os elementos de um conjunto existente" +msgid "" +"Empty an existing set of all elements. Return ``0`` on success. Return " +"``-1`` and raise :exc:`SystemError` if *set* is not an instance " +"of :class:`set` or its subtype." +msgstr "" +"Esvazia um conjunto existente de todos os elementos. Retorna ``0`` em caso " +"de sucesso. Retorna ``-1`` e levanta :exc:`SystemError` se *set* não for uma " +"instância de :class:`set` ou seu subtipo." #: ../../c-api/set.rst:11 msgid "object" @@ -282,11 +281,11 @@ msgstr "objeto" #: ../../c-api/set.rst:11 msgid "set" -msgstr "" +msgstr "set" #: ../../c-api/set.rst:11 msgid "frozenset" -msgstr "" +msgstr "frozenset" #: ../../c-api/set.rst:110 msgid "built-in function" @@ -294,4 +293,4 @@ msgstr "função embutida" #: ../../c-api/set.rst:110 msgid "len" -msgstr "" +msgstr "len" diff --git a/c-api/slice.po b/c-api/slice.po index d1607d298..1ee8cdec5 100644 --- a/c-api/slice.po +++ b/c-api/slice.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -72,11 +70,11 @@ msgstr "" #: ../../c-api/slice.rst:36 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 "" "Retorna ``0`` em caso de sucesso e ``-1`` em caso de erro sem exceção " -"definida (a menos que um dos índices não fosse :const:`None` e falhou ao ser " +"definida (a menos que um dos índices não fosse ``None`` e falhou ao ser " "convertido para um inteiro, neste caso ``-1`` é retornado com uma exceção " "definida)." @@ -113,12 +111,12 @@ msgstr "" #: ../../c-api/slice.rst:58 msgid "" "This function is considered not safe for resizable sequences. Its invocation " -"should be replaced by a combination of :c:func:`PySlice_Unpack` and :c:func:" -"`PySlice_AdjustIndices` where ::" +"should be replaced by a combination of :c:func:`PySlice_Unpack` " +"and :c:func:`PySlice_AdjustIndices` where ::" msgstr "" "Esta função não é considerada segura para sequências redimensionáveis. Sua " -"invocação deve ser substituída por uma combinação de :c:func:" -"`PySlice_Unpack` e :c:func:`PySlice_AdjustIndices` sendo ::" +"invocação deve ser substituída por uma combinação " +"de :c:func:`PySlice_Unpack` e :c:func:`PySlice_AdjustIndices` sendo ::" #: ../../c-api/slice.rst:66 msgid "is replaced by ::" @@ -145,8 +143,8 @@ msgid "" "PySlice_GetIndicesEx` is a deprecated function." msgstr "" "Se ``Py_LIMITED_API`` estiver definido para um valor menor que " -"``0x03050400`` ou entre ``0x03060000`` e ``0x03060100`` (não incluso), :c:" -"func:`!PySlice_GetIndicesEx` é uma função descontinuada." +"``0x03050400`` ou entre ``0x03060000`` e ``0x03060100`` (não " +"incluso), :c:func:`!PySlice_GetIndicesEx` é uma função descontinuada." #: ../../c-api/slice.rst:92 msgid "" @@ -192,8 +190,8 @@ msgstr "Objeto Ellipsis" #: ../../c-api/slice.rst:121 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." +"treated just like any other object with respect to reference counts. " +"Like :c:data:`Py_None` it is a singleton object." msgstr "" "O objeto Python ``Ellipsis``. Este objeto não possui métodos. Ele precisa " "ser tratado como qualquer outro objeto no que diz respeito às contagens de " diff --git a/c-api/stable.po b/c-api/stable.po index 4b23112f4..a59e9248c 100644 --- a/c-api/stable.po +++ b/c-api/stable.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/stable.rst:7 msgid "C API Stability" -msgstr "" +msgstr "Estabilidade da API C" #: ../../c-api/stable.rst:9 msgid "" @@ -40,11 +39,16 @@ msgstr "" #: ../../c-api/stable.rst:15 msgid "" "CPython's Application Binary Interface (ABI) is forward- and backwards-" -"compatible across a minor release (if these are compiled the same way; see :" -"ref:`stable-abi-platform` below). So, code compiled for Python 3.10.0 will " -"work on 3.10.8 and vice versa, but will need to be compiled separately for " -"3.9.x and 3.10.x." +"compatible across a minor release (if these are compiled the same way; " +"see :ref:`stable-abi-platform` below). So, code compiled for Python 3.10.0 " +"will work on 3.10.8 and vice versa, but will need to be compiled separately " +"for 3.9.x and 3.11.x." msgstr "" +"A Interface Binária de Aplicação (ABI) do CPython é compatível para frente e " +"para trás através de uma versão menor (se elas forem compiladas da mesma " +"maneira; veja :ref:`stable-abi-platform` abaixo). Portanto, o código " +"compilado para Python 3.10.0 funcionará em 3.10.8 e vice-versa, mas " +"precisará ser compilado separadamente para 3.9.x e 3.11.x." #: ../../c-api/stable.rst:21 msgid "" @@ -54,45 +58,55 @@ msgstr "" #: ../../c-api/stable.rst:26 msgid "Stable Application Binary Interface" -msgstr "Interface binária de aplicativo estável" +msgstr "Interface Binária de Aplicação Estável" #: ../../c-api/stable.rst:28 msgid "" -"Python 3.2 introduced the *Limited API*, a subset of Python's C API. " -"Extensions that only use the Limited API can be compiled once and work with " -"multiple versions of Python. Contents of the Limited API are :ref:`listed " -"below `." +"For simplicity, this document talks about *extensions*, but the Limited API " +"and Stable ABI work the same way for all uses of the API – for example, " +"embedding Python." msgstr "" +"Para simplificar, este documento fala sobre *extensões*, mas a API Limitada " +"e a ABI Estável funcionam da mesma maneira para todos os usos da API -- por " +"exemplo, embutir o Python." -#: ../../c-api/stable.rst:33 -msgid "" -"To enable this, Python provides a *Stable ABI*: a set of symbols that will " -"remain compatible across Python 3.x versions. The Stable ABI contains " -"symbols exposed in the Limited API, but also other ones – for example, " -"functions necessary to support older versions of the Limited API." -msgstr "" +#: ../../c-api/stable.rst:35 +msgid "Limited C API" +msgstr "API C Limitada" -#: ../../c-api/stable.rst:38 +#: ../../c-api/stable.rst:37 msgid "" -"(For simplicity, this document talks about *extensions*, but the Limited API " -"and Stable ABI work the same way for all uses of the API – for example, " -"embedding Python.)" +"Python 3.2 introduced the *Limited API*, a subset of Python's C API. " +"Extensions that only use the Limited API can be compiled once and work with " +"multiple versions of Python. Contents of the Limited API are :ref:`listed " +"below `." msgstr "" +"Python 3.2 introduziu a *API Limitada*, um subconjunto da API C do Python. " +"Extensões que apenas usam o Limited API podem ser compiladas uma vez e " +"funcionar com várias versões do Python. Os conteúdos da API Limitada " +"estão :ref:`listados abaixo `." #: ../../c-api/stable.rst:44 msgid "" "Define this macro before including ``Python.h`` to opt in to only use the " "Limited API, and to select the Limited API version." msgstr "" +"Defina essa macro antes de incluir ``Python.h`` para optar por usar apenas a " +"API Limitada e selecionar a versão da API Limitada." #: ../../c-api/stable.rst:47 msgid "" -"Define ``Py_LIMITED_API`` to the value of :c:data:`PY_VERSION_HEX` " +"Define ``Py_LIMITED_API`` to the value of :c:macro:`PY_VERSION_HEX` " "corresponding to the lowest Python version your extension supports. The " "extension will work without recompilation with all Python 3 releases from " "the specified one onward, and can use Limited API introduced up to that " "version." msgstr "" +"Defina ``Py_LIMITED_API`` com o valor de :c:macro:`PY_VERSION_HEX` " +"correspondente à versão mais baixa do Python que sua extensão suporta. A " +"extensão funcionará sem recompilação com todas as versões do Python 3 a " +"partir da especificada e poderá usar a API Limitada introduzida até aquela " +"versão." #: ../../c-api/stable.rst:53 msgid "" @@ -100,21 +114,52 @@ msgid "" "minor version (e.g. ``0x030A0000`` for Python 3.10) for stability when " "compiling with future Python versions." msgstr "" +"Em vez de usar diretamente a macro ``PY_VERSION_HEX``, codifique uma versão " +"menor mínima (por exemplo, ``0x030A0000`` para o Python 3.10) para garantir " +"estabilidade ao compilar com versões futuras do Python." #: ../../c-api/stable.rst:57 msgid "" "You can also define ``Py_LIMITED_API`` to ``3``. This works the same as " "``0x03020000`` (Python 3.2, the version that introduced Limited API)." msgstr "" +"Você também pode definir ``Py_LIMITED_API`` como ``3``. Isso funciona da " +"mesma forma que ``0x03020000`` (Python 3.2, a versão que introduziu a API " +"Limitada)." -#: ../../c-api/stable.rst:60 +#: ../../c-api/stable.rst:64 +msgid "Stable ABI" +msgstr "ABI Estável" + +#: ../../c-api/stable.rst:66 +msgid "" +"To enable this, Python provides a *Stable ABI*: a set of symbols that will " +"remain compatible across Python 3.x versions." +msgstr "" +"Para habilitar isso, o Python fornece uma *ABI estável*: um conjunto de " +"símbolos que permanecerão compatíveis em todas as versões do Python 3.x." + +#: ../../c-api/stable.rst:69 +msgid "" +"The Stable ABI contains symbols exposed in the :ref:`Limited API `, but also other ones – for example, functions necessary to support " +"older versions of the Limited API." +msgstr "" +"A ABI Estável contém símbolos expostos na :ref:`API Limitada `, mas também outros -- por exemplo, funções necessárias para suportar " +"versões mais antigas da API Limitada." + +#: ../../c-api/stable.rst:73 msgid "" "On Windows, extensions that use the Stable ABI should be linked against " -"``python3.dll`` rather than a version-specific library such as ``python39." -"dll``." +"``python3.dll`` rather than a version-specific library such as " +"``python39.dll``." msgstr "" +"No Windows, as extensões que usam a ABI Estável devem ser vinculadas a " +"``python3.dll`` em vez de uma biblioteca específica de versão, como " +"``python39.dll``." -#: ../../c-api/stable.rst:64 +#: ../../c-api/stable.rst:77 msgid "" "On some platforms, Python will look for and load shared library files named " "with the ``abi3`` tag (e.g. ``mymodule.abi3.so``). It does not check if such " @@ -122,40 +167,60 @@ msgid "" "to ensure that, for example, extensions built with the 3.10+ Limited API are " "not installed for lower versions of Python." msgstr "" +"Em algumas plataformas, o Python procurará e carregará arquivos de " +"biblioteca compartilhada com o nome marcado como ``abi3`` (por exemplo, " +"``meumódulo.abi3.so``). Ele não verifica se essas extensões estão em " +"conformidade com uma ABI Estável. O usuário (ou suas ferramentas de " +"empacotamento) precisa garantir que, por exemplo, as extensões construídas " +"com a API Limitada 3.10+ não sejam instaladas em versões mais baixas do " +"Python." -#: ../../c-api/stable.rst:71 +#: ../../c-api/stable.rst:84 msgid "" "All functions in the Stable ABI are present as functions in Python's shared " "library, not solely as macros. This makes them usable from languages that " "don't use the C preprocessor." msgstr "" +"Todas as funções na ABI estável estão presentes como funções na biblioteca " +"compartilhada do Python, não apenas como macros. Isso as torna utilizáveis " +"em linguagens que não utilizam o pré-processador C." -#: ../../c-api/stable.rst:77 +#: ../../c-api/stable.rst:90 msgid "Limited API Scope and Performance" -msgstr "" +msgstr "Escopo e Desempenho da API Limitada" -#: ../../c-api/stable.rst:79 +#: ../../c-api/stable.rst:92 msgid "" "The goal for the Limited API is to allow everything that is possible with " "the full C API, but possibly with a performance penalty." msgstr "" +"O objetivo da API Limitada é permitir tudo o que é possível com a API C " +"completa, mas possivelmente com uma penalidade de desempenho." -#: ../../c-api/stable.rst:82 +#: ../../c-api/stable.rst:95 msgid "" "For example, while :c:func:`PyList_GetItem` is available, its “unsafe” macro " "variant :c:func:`PyList_GET_ITEM` is not. The macro can be faster because it " "can rely on version-specific implementation details of the list object." msgstr "" +"Por exemplo, enquanto :c:func:`PyList_GetItem` está disponível, sua variante " +"de macro \"insegura\" :c:func:`PyList_GET_ITEM` não está. A macro pode ser " +"mais rápida porque pode depender de detalhes de implementação específicos da " +"versão do objeto da lista." -#: ../../c-api/stable.rst:87 +#: ../../c-api/stable.rst:100 msgid "" "Without ``Py_LIMITED_API`` defined, some C API functions are inlined or " "replaced by macros. Defining ``Py_LIMITED_API`` disables this inlining, " "allowing stability as Python's data structures are improved, but possibly " "reducing performance." msgstr "" +"Sem a definição de ``Py_LIMITED_API``, algumas funções da API C são " +"colocadas \"inline\" ou substituídas por macros. Definir ``Py_LIMITED_API`` " +"desativa esse inline, permitindo estabilidade à medida que as estruturas de " +"dados do Python são aprimoradas, mas possivelmente reduzindo o desempenho." -#: ../../c-api/stable.rst:92 +#: ../../c-api/stable.rst:105 msgid "" "By leaving out the ``Py_LIMITED_API`` definition, it is possible to compile " "a Limited API extension with a version-specific ABI. This can improve " @@ -164,20 +229,33 @@ msgid "" "where a version-specific one is not available – for example, for prereleases " "of an upcoming Python version." msgstr "" +"Ao deixar de fora a definição ``Py_LIMITED_API``, é possível compilar uma " +"extensão da API Limitada com uma ABI específica da versão. Isso pode " +"melhorar o desempenho para essa versão do Python, mas limitará a " +"compatibilidade. Compilar com ``Py_LIMITED_API`` vai produzir uma extensão " +"que pode ser distribuída quando uma específica da versão não estiver " +"disponível -- por exemplo, para pré-lançamentos de uma próxima versão do " +"Python." -#: ../../c-api/stable.rst:101 +#: ../../c-api/stable.rst:114 msgid "Limited API Caveats" -msgstr "" +msgstr "Limitações da API Limitada" -#: ../../c-api/stable.rst:103 +#: ../../c-api/stable.rst:116 msgid "" "Note that compiling with ``Py_LIMITED_API`` is *not* a complete guarantee " -"that code conforms to the Limited API or the Stable ABI. ``Py_LIMITED_API`` " -"only covers definitions, but an API also includes other issues, such as " -"expected semantics." +"that code conforms to the :ref:`Limited API ` or " +"the :ref:`Stable ABI `. ``Py_LIMITED_API`` only covers " +"definitions, but an API also includes other issues, such as expected " +"semantics." msgstr "" +"Observe que compilar com ``Py_LIMITED_API`` *não* é uma garantia completa de " +"que o código esteja em conformidade com a :ref:`API Limitada ` ou com a :ref:`ABI Estável `. ``Py_LIMITED_API`` abrange " +"apenas definições, mas uma API também inclui outras questões, como semântica " +"esperada." -#: ../../c-api/stable.rst:108 +#: ../../c-api/stable.rst:121 msgid "" "One issue that ``Py_LIMITED_API`` does not guard against is calling a " "function with arguments that are invalid in a lower Python version. For " @@ -186,28 +264,44 @@ msgid "" "the argument will be used directly, causing a ``NULL`` dereference and " "crash. A similar argument works for fields of structs." msgstr "" +"Uma questão que ``Py_LIMITED_API`` não protege é a chamada de uma função com " +"argumentos inválidos em uma versão inferior do Python. Por exemplo, " +"considere uma função que começa a aceitar ``NULL`` como argumento. No Python " +"3.9, ``NULL`` agora seleciona um comportamento padrão, mas no Python 3.8, o " +"argumento será usado diretamente, causando uma referência ``NULL`` e uma " +"falha. Um argumento similar funciona para campos de estruturas." -#: ../../c-api/stable.rst:115 +#: ../../c-api/stable.rst:128 msgid "" "Another issue is that some struct fields are currently not hidden when " "``Py_LIMITED_API`` is defined, even though they're part of the Limited API." msgstr "" +"Outra questão é que alguns campos de estrutura não estão atualmente ocultos " +"quando ``Py_LIMITED_API`` é definido, mesmo que eles façam parte da API " +"Limitada." -#: ../../c-api/stable.rst:118 +#: ../../c-api/stable.rst:131 msgid "" "For these reasons, we recommend testing an extension with *all* minor Python " "versions it supports, and preferably to build with the *lowest* such version." msgstr "" +"Por esses motivos, recomendamos testar uma extensão com *todas* as versões " +"menores do Python que ela oferece suporte e, preferencialmente, construir " +"com a versão *mais baixa* dessas." -#: ../../c-api/stable.rst:121 +#: ../../c-api/stable.rst:134 msgid "" "We also recommend reviewing documentation of all used API to check if it is " "explicitly part of the Limited API. Even with ``Py_LIMITED_API`` defined, a " "few private declarations are exposed for technical reasons (or even " "unintentionally, as bugs)." msgstr "" +"Também recomendamos revisar a documentação de todas as APIs utilizadas para " +"verificar se ela faz parte explicitamente da API Limitada. Mesmo com a " +"definição de ``Py_LIMITED_API``, algumas declarações privadas são expostas " +"por razões técnicas (ou até mesmo acidentalmente, como bugs)." -#: ../../c-api/stable.rst:126 +#: ../../c-api/stable.rst:139 msgid "" "Also note that the Limited API is not necessarily stable: compiling with " "``Py_LIMITED_API`` with Python 3.8 means that the extension will run with " @@ -215,31 +309,49 @@ msgid "" "particular, parts of the Limited API may be deprecated and removed, provided " "that the Stable ABI stays stable." msgstr "" +"Também observe que a API Limitada não é necessariamente estável: compilar " +"com ``Py_LIMITED_API`` com Python 3.8 significa que a extensão será " +"executada com Python 3.12, mas não necessariamente será *compilada* com " +"Python 3.12. Em particular, partes da API Limitada podem ser descontinuadas " +"e removidas, desde que a ABI Estável permaneça estável." -#: ../../c-api/stable.rst:136 +#: ../../c-api/stable.rst:149 msgid "Platform Considerations" -msgstr "" +msgstr "Considerações da plataforma" -#: ../../c-api/stable.rst:138 +#: ../../c-api/stable.rst:151 msgid "" "ABI stability depends not only on Python, but also on the compiler used, " -"lower-level libraries and compiler options. For the purposes of the Stable " -"ABI, these details define a “platform”. They usually depend on the OS type " -"and processor architecture" +"lower-level libraries and compiler options. For the purposes of " +"the :ref:`Stable ABI `, these details define a “platform”. They " +"usually depend on the OS type and processor architecture" msgstr "" +"A estabilidade da ABI depende não apenas do Python, mas também do compilador " +"utilizado, das bibliotecas de nível inferior e das opções do compilador. " +"Para os fins da :ref:`ABI Estável`, esses detalhes definem uma " +"\"plataforma\". Geralmente, eles dependem do tipo de sistema operacional e " +"da arquitetura do processador." -#: ../../c-api/stable.rst:143 +#: ../../c-api/stable.rst:156 msgid "" "It is the responsibility of each particular distributor of Python to ensure " "that all Python versions on a particular platform are built in a way that " "does not break the Stable ABI. This is the case with Windows and macOS " "releases from ``python.org`` and many third-party distributors." msgstr "" +"É responsabilidade de cada distribuidor particular do Python garantir que " +"todas as versões do Python em uma plataforma específica sejam construídas de " +"forma a não quebrar a ABI estável. Isso é válido para as versões do Windows " +"e macOS disponibilizadas pela ``python.org`` e por muitos distribuidores " +"terceiros." -#: ../../c-api/stable.rst:153 +#: ../../c-api/stable.rst:166 msgid "Contents of Limited API" -msgstr "" +msgstr "Conteúdo da API Limitada" -#: ../../c-api/stable.rst:156 -msgid "Currently, the Limited API includes the following items:" +#: ../../c-api/stable.rst:169 +msgid "" +"Currently, the :ref:`Limited API ` includes the following " +"items:" msgstr "" +"Atualmente, a :ref:`API Limitada ` inclui os seguintes itens:" diff --git a/c-api/structures.po b/c-api/structures.po index 85f294f4f..5430bfed9 100644 --- a/c-api/structures.po +++ b/c-api/structures.po @@ -1,35 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Juliana Karoline , 2021 -# Claudio Rogerio Carvalho Filho , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/structures.rst:6 msgid "Common Object Structures" -msgstr "Estruturas Comuns de Objetos" +msgstr "Estruturas comuns de objetos" #: ../../c-api/structures.rst:8 msgid "" @@ -37,10 +34,12 @@ msgid "" "object types for Python. This section describes these structures and how " "they are used." msgstr "" +"Existe um grande número de estruturas usadas para a definição de tipos " +"objeto para o Python. Esta seção descreve essas estruturas e como são usadas." #: ../../c-api/structures.rst:14 msgid "Base object types and macros" -msgstr "" +msgstr "Macros e tipos de objetos base" #: ../../c-api/structures.rst:16 msgid "" @@ -64,22 +63,29 @@ msgstr "" #: ../../c-api/structures.rst:37 msgid "" -"This is an extension of :c:type:`PyObject` that adds the :attr:`ob_size` " -"field. This is only used for objects that have some notion of *length*. " -"This type does not often appear in the Python/C API. Access to the members " -"must be done by using the macros :c:macro:`Py_REFCNT`, :c:macro:`Py_TYPE`, " -"and :c:macro:`Py_SIZE`." +"This is an extension of :c:type:`PyObject` that adds " +"the :c:member:`~PyVarObject.ob_size` field. This is only used for objects " +"that have some notion of *length*. This type does not often appear in the " +"Python/C API. Access to the members must be done by using the " +"macros :c:macro:`Py_REFCNT`, :c:macro:`Py_TYPE`, and :c:macro:`Py_SIZE`." msgstr "" +"Esta é uma extensão de :c:type:`PyObject` que adiciona o " +"campo :c:member:`~PyVarObject.ob_size`. Isso é usado apenas para objetos que " +"têm alguma noção de *comprimento*. Esse tipo não costuma aparecer na API " +"Python/C. O acesso aos membros deve ser feito através das " +"macros :c:macro:`Py_REFCNT`, :c:macro:`Py_TYPE`, e :c:macro:`Py_SIZE`." #: ../../c-api/structures.rst:46 msgid "" "This is a macro used when declaring new types which represent objects " "without a varying length. The PyObject_HEAD macro expands to::" msgstr "" +"Este é um macro usado ao declarar novos tipos que representam objetos sem " +"comprimento variável. O macro PyObject_HEAD se expande para::" #: ../../c-api/structures.rst:51 msgid "See documentation of :c:type:`PyObject` above." -msgstr "" +msgstr "Veja documentação de :c:type:`PyObject` acima." #: ../../c-api/structures.rst:56 msgid "" @@ -87,15 +93,19 @@ msgid "" "length that varies from instance to instance. The PyObject_VAR_HEAD macro " "expands to::" msgstr "" +"Esta é uma macro usada ao declarar novos tipos que representam objetos com " +"um comprimento que varia de instância para instância. A macro " +"PyObject_VAR_HEAD se expande para::" #: ../../c-api/structures.rst:62 msgid "See documentation of :c:type:`PyVarObject` above." -msgstr "" +msgstr "Veja documentação de :c:type:`PyVarObject` acima." #: ../../c-api/structures.rst:67 msgid "" "Test if the *x* object is the *y* object, the same as ``x is y`` in Python." msgstr "" +"Testa se o objeto *x* é o objeto *y*, o mesmo que ``x is y`` em Python." #: ../../c-api/structures.rst:74 msgid "" @@ -145,12 +155,14 @@ msgstr "" #: ../../c-api/structures.rst:126 msgid "Get the reference count of the Python object *o*." -msgstr "" +msgstr "Obtêm a contagem de referências do objeto Python *o*." #: ../../c-api/structures.rst:128 msgid "" "Use the :c:func:`Py_SET_REFCNT()` function to set an object reference count." msgstr "" +"Use a função :c:func:`Py_SET_REFCNT()` para definir uma contagem de " +"referências de um objeto." #: ../../c-api/structures.rst:130 msgid "The parameter type is no longer :c:expr:`const PyObject*`." @@ -184,15 +196,15 @@ msgstr "" #: ../../c-api/structures.rst:164 msgid "" -"This is a macro which expands to initialization values for a new :c:type:" -"`PyObject` type. This macro expands to::" +"This is a macro which expands to initialization values for a " +"new :c:type:`PyObject` type. This macro expands to::" msgstr "" #: ../../c-api/structures.rst:173 msgid "" -"This is a macro which expands to initialization values for a new :c:type:" -"`PyVarObject` type, including the :attr:`ob_size` field. This macro expands " -"to::" +"This is a macro which expands to initialization values for a " +"new :c:type:`PyVarObject` type, including " +"the :c:member:`~PyVarObject.ob_size` field. This macro expands to::" msgstr "" #: ../../c-api/structures.rst:182 @@ -211,31 +223,33 @@ msgstr "" #: ../../c-api/structures.rst:193 msgid "The function signature is::" -msgstr "" +msgstr "A assinatura da função é::" #: ../../c-api/structures.rst:200 msgid "" "Type of the functions used to implement Python callables in C with " -"signature :const:`METH_VARARGS | METH_KEYWORDS`. The function signature is::" +"signature :ref:`METH_VARARGS | METH_KEYWORDS `. " +"The function signature is::" msgstr "" #: ../../c-api/structures.rst:211 msgid "" "Type of the functions used to implement Python callables in C with " -"signature :const:`METH_FASTCALL`. The function signature is::" +"signature :c:macro:`METH_FASTCALL`. The function signature is::" msgstr "" #: ../../c-api/structures.rst:221 msgid "" "Type of the functions used to implement Python callables in C with " -"signature :const:`METH_FASTCALL | METH_KEYWORDS`. The function signature is::" +"signature :ref:`METH_FASTCALL | METH_KEYWORDS `. The function signature is::" msgstr "" #: ../../c-api/structures.rst:232 msgid "" "Type of the functions used to implement Python callables in C with " -"signature :const:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`. The function " -"signature is::" +"signature :ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS `. The function signature is::" msgstr "" #: ../../c-api/structures.rst:247 @@ -245,53 +259,67 @@ msgid "" msgstr "" #: ../../c-api/structures.rst:252 -msgid "name of the method" -msgstr "" +msgid "Name of the method." +msgstr "Nome do método." #: ../../c-api/structures.rst:256 -msgid "pointer to the C implementation" +msgid "Pointer to the C implementation." msgstr "" #: ../../c-api/structures.rst:260 -msgid "flags bits indicating how the call should be constructed" +msgid "Flags bits indicating how the call should be constructed." msgstr "" -#: ../../c-api/structures.rst:264 ../../c-api/structures.rst:426 -msgid "points to the contents of the docstring" +#: ../../c-api/structures.rst:264 +msgid "Points to the contents of the docstring." msgstr "" #: ../../c-api/structures.rst:266 msgid "" -"The :c:member:`ml_meth` is a C function pointer. The functions may be of " -"different types, but they always return :c:expr:`PyObject*`. If the " -"function is not of the :c:type:`PyCFunction`, the compiler will require a " -"cast in the method table. Even though :c:type:`PyCFunction` defines the " +"The :c:member:`~PyMethodDef.ml_meth` is a C function pointer. The functions " +"may be of different types, but they always return :c:expr:`PyObject*`. If " +"the function is not of the :c:type:`PyCFunction`, the compiler will require " +"a cast in the method table. Even though :c:type:`PyCFunction` defines the " "first parameter as :c:expr:`PyObject*`, it is common that the method " "implementation uses the specific C type of the *self* object." msgstr "" -#: ../../c-api/structures.rst:273 +#: ../../c-api/structures.rst:274 msgid "" -"The :c:member:`ml_flags` field is a bitfield which can include the following " -"flags. The individual flags indicate either a calling convention or a " -"binding convention." +"The :c:member:`~PyMethodDef.ml_flags` field is a bitfield which can include " +"the following flags. The individual flags indicate either a calling " +"convention or a binding convention." msgstr "" -#: ../../c-api/structures.rst:277 +#: ../../c-api/structures.rst:279 msgid "There are these calling conventions:" msgstr "" -#: ../../c-api/structures.rst:281 +#: ../../c-api/structures.rst:283 msgid "" -"This is the typical calling convention, where the methods have the type :c:" -"type:`PyCFunction`. The function expects two :c:expr:`PyObject*` values. The " -"first one is the *self* object for methods; for module functions, it is the " -"module object. The second parameter (often called *args*) is a tuple object " -"representing all arguments. This parameter is typically processed using :c:" -"func:`PyArg_ParseTuple` or :c:func:`PyArg_UnpackTuple`." +"This is the typical calling convention, where the methods have the " +"type :c:type:`PyCFunction`. The function expects two :c:expr:`PyObject*` " +"values. The first one is the *self* object for methods; for module " +"functions, it is the module object. The second parameter (often called " +"*args*) is a tuple object representing all arguments. This parameter is " +"typically processed using :c:func:`PyArg_ParseTuple` " +"or :c:func:`PyArg_UnpackTuple`." msgstr "" -#: ../../c-api/structures.rst:291 +#: ../../c-api/structures.rst:293 +msgid "" +"Can only be used in certain combinations with other " +"flags: :ref:`METH_VARARGS | METH_KEYWORDS `, :ref:`METH_FASTCALL | METH_KEYWORDS ` and :ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS " +"`." +msgstr "" + +#: ../../c-api/structures.rst:307 +msgid ":c:expr:`METH_VARARGS | METH_KEYWORDS`" +msgstr ":c:expr:`METH_VARARGS | METH_KEYWORDS`" + +#: ../../c-api/structures.rst:302 msgid "" "Methods with these flags must be of type :c:type:`PyCFunctionWithKeywords`. " "The function expects three parameters: *self*, *args*, *kwargs* where " @@ -300,7 +328,7 @@ msgid "" "using :c:func:`PyArg_ParseTupleAndKeywords`." msgstr "" -#: ../../c-api/structures.rst:300 +#: ../../c-api/structures.rst:311 msgid "" "Fast calling convention supporting only positional arguments. The methods " "have the type :c:type:`_PyCFunctionFast`. The first parameter is *self*, the " @@ -309,61 +337,76 @@ msgid "" "the array)." msgstr "" -#: ../../c-api/structures.rst:310 -msgid "``METH_FASTCALL`` is now part of the stable ABI." +#: ../../c-api/structures.rst:321 +msgid "``METH_FASTCALL`` is now part of the :ref:`stable ABI `." +msgstr "" + +#: ../../c-api/structures.rst:338 +msgid ":c:expr:`METH_FASTCALL | METH_KEYWORDS`" +msgstr ":c:expr:`METH_FASTCALL | METH_KEYWORDS`" + +#: ../../c-api/structures.rst:327 +msgid "" +"Extension of :c:macro:`METH_FASTCALL` supporting also keyword arguments, " +"with methods of type :c:type:`_PyCFunctionFastWithKeywords`. Keyword " +"arguments are passed the same way as in the :ref:`vectorcall protocol " +"`: there is an additional fourth :c:expr:`PyObject*` parameter " +"which is a tuple representing the names of the keyword arguments (which are " +"guaranteed to be strings) or possibly ``NULL`` if there are no keywords. " +"The values of the keyword arguments are stored in the *args* array, after " +"the positional arguments." msgstr "" -#: ../../c-api/structures.rst:315 +#: ../../c-api/structures.rst:342 msgid "" -"Extension of :const:`METH_FASTCALL` supporting also keyword arguments, with " -"methods of type :c:type:`_PyCFunctionFastWithKeywords`. Keyword arguments " -"are passed the same way as in the :ref:`vectorcall protocol `: " -"there is an additional fourth :c:expr:`PyObject*` parameter which is a tuple " -"representing the names of the keyword arguments (which are guaranteed to be " -"strings) or possibly ``NULL`` if there are no keywords. The values of the " -"keyword arguments are stored in the *args* array, after the positional " -"arguments." +"Can only be used in the combination with other flags: :ref:`METH_METHOD | " +"METH_FASTCALL | METH_KEYWORDS `." msgstr "" -#: ../../c-api/structures.rst:330 +#: ../../c-api/structures.rst:359 +msgid ":c:expr:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`" +msgstr ":c:expr:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS`" + +#: ../../c-api/structures.rst:349 msgid "" -"Extension of :const:`METH_FASTCALL | METH_KEYWORDS` supporting the *defining " -"class*, that is, the class that contains the method in question. The " -"defining class might be a superclass of ``Py_TYPE(self)``." +"Extension of :ref:`METH_FASTCALL | METH_KEYWORDS ` supporting the *defining class*, that is, the class that " +"contains the method in question. The defining class might be a superclass of " +"``Py_TYPE(self)``." msgstr "" -#: ../../c-api/structures.rst:334 +#: ../../c-api/structures.rst:354 msgid "" "The method needs to be of type :c:type:`PyCMethod`, the same as for " "``METH_FASTCALL | METH_KEYWORDS`` with ``defining_class`` argument added " "after ``self``." msgstr "" -#: ../../c-api/structures.rst:343 +#: ../../c-api/structures.rst:363 msgid "" "Methods without parameters don't need to check whether arguments are given " -"if they are listed with the :const:`METH_NOARGS` flag. They need to be of " +"if they are listed with the :c:macro:`METH_NOARGS` flag. They need to be of " "type :c:type:`PyCFunction`. The first parameter is typically named *self* " "and will hold a reference to the module or object instance. In all cases " "the second parameter will be ``NULL``." msgstr "" -#: ../../c-api/structures.rst:349 +#: ../../c-api/structures.rst:369 msgid "" -"The function must have 2 parameters. Since the second parameter is unused, :" -"c:macro:`Py_UNUSED` can be used to prevent a compiler warning." +"The function must have 2 parameters. Since the second parameter is " +"unused, :c:macro:`Py_UNUSED` can be used to prevent a compiler warning." msgstr "" -#: ../../c-api/structures.rst:355 +#: ../../c-api/structures.rst:375 msgid "" -"Methods with a single object argument can be listed with the :const:`METH_O` " -"flag, instead of invoking :c:func:`PyArg_ParseTuple` with a ``\"O\"`` " -"argument. They have the type :c:type:`PyCFunction`, with the *self* " -"parameter, and a :c:expr:`PyObject*` parameter representing the single " -"argument." +"Methods with a single object argument can be listed with " +"the :c:macro:`METH_O` flag, instead of invoking :c:func:`PyArg_ParseTuple` " +"with a ``\"O\"`` argument. They have the type :c:type:`PyCFunction`, with " +"the *self* parameter, and a :c:expr:`PyObject*` parameter representing the " +"single argument." msgstr "" -#: ../../c-api/structures.rst:361 +#: ../../c-api/structures.rst:381 msgid "" "These two constants are not used to indicate the calling convention but the " "binding when use with methods of classes. These may not be used for " @@ -371,385 +414,428 @@ msgid "" "any given method." msgstr "" -#: ../../c-api/structures.rst:371 +#: ../../c-api/structures.rst:391 msgid "" "The method will be passed the type object as the first parameter rather than " "an instance of the type. This is used to create *class methods*, similar to " "what is created when using the :func:`classmethod` built-in function." msgstr "" -#: ../../c-api/structures.rst:381 +#: ../../c-api/structures.rst:401 msgid "" "The method will be passed ``NULL`` as the first parameter rather than an " "instance of the type. This is used to create *static methods*, similar to " "what is created when using the :func:`staticmethod` built-in function." msgstr "" -#: ../../c-api/structures.rst:385 +#: ../../c-api/structures.rst:405 msgid "" "One other constant controls whether a method is loaded in place of another " "definition with the same method name." msgstr "" -#: ../../c-api/structures.rst:391 +#: ../../c-api/structures.rst:411 msgid "" "The method will be loaded in place of existing definitions. Without " "*METH_COEXIST*, the default is to skip repeated definitions. Since slot " "wrappers are loaded before the method table, the existence of a " -"*sq_contains* slot, for example, would generate a wrapped method named :meth:" -"`__contains__` and preclude the loading of a corresponding PyCFunction with " -"the same name. With the flag defined, the PyCFunction will be loaded in " -"place of the wrapper object and will co-exist with the slot. This is " -"helpful because calls to PyCFunctions are optimized more than wrapper object " -"calls." +"*sq_contains* slot, for example, would generate a wrapped method " +"named :meth:`~object.__contains__` and preclude the loading of a " +"corresponding PyCFunction with the same name. With the flag defined, the " +"PyCFunction will be loaded in place of the wrapper object and will co-exist " +"with the slot. This is helpful because calls to PyCFunctions are optimized " +"more than wrapper object calls." msgstr "" -#: ../../c-api/structures.rst:403 +#: ../../c-api/structures.rst:423 +msgid "" +"Turn *ml* into a Python :term:`callable` object. The caller must ensure that " +"*ml* outlives the :term:`callable`. Typically, *ml* is defined as a static " +"variable." +msgstr "" + +#: ../../c-api/structures.rst:427 +msgid "" +"The *self* parameter will be passed as the *self* argument to the C function " +"in ``ml->ml_meth`` when invoked. *self* can be ``NULL``." +msgstr "" + +#: ../../c-api/structures.rst:431 +msgid "" +"The :term:`callable` object's ``__module__`` attribute can be set from the " +"given *module* argument. *module* should be a Python string, which will be " +"used as name of the module the function is defined in. If unavailable, it " +"can be set to :const:`None` or ``NULL``." +msgstr "" + +#: ../../c-api/structures.rst:437 +msgid ":attr:`function.__module__`" +msgstr ":attr:`function.__module__`" + +#: ../../c-api/structures.rst:439 +msgid "" +"The *cls* parameter will be passed as the *defining_class* argument to the C " +"function. Must be set if :c:macro:`METH_METHOD` is set on ``ml->ml_flags``." +msgstr "" + +#: ../../c-api/structures.rst:448 +msgid "Equivalent to ``PyCMethod_New(ml, self, module, NULL)``." +msgstr "Equivalente a ``PyCMethod_New(ml, self, module, NULL)``." + +#: ../../c-api/structures.rst:453 +msgid "Equivalent to ``PyCMethod_New(ml, self, NULL, NULL)``." +msgstr "Equivalente a ``PyCMethod_New(ml, self, NULL, NULL)``." + +#: ../../c-api/structures.rst:457 msgid "Accessing attributes of extension types" msgstr "" -#: ../../c-api/structures.rst:407 +#: ../../c-api/structures.rst:461 msgid "" "Structure which describes an attribute of a type which corresponds to a C " "struct member. Its fields are:" msgstr "" -#: ../../c-api/structures.rst:411 ../../c-api/structures.rst:507 +#: ../../c-api/structures.rst:465 ../../c-api/structures.rst:561 msgid "Field" msgstr "Campo" -#: ../../c-api/structures.rst:411 ../../c-api/structures.rst:507 +#: ../../c-api/structures.rst:465 ../../c-api/structures.rst:561 msgid "C Type" msgstr "Tipo em C" -#: ../../c-api/structures.rst:411 ../../c-api/structures.rst:507 +#: ../../c-api/structures.rst:465 ../../c-api/structures.rst:561 msgid "Meaning" msgstr "Significado" -#: ../../c-api/structures.rst:413 +#: ../../c-api/structures.rst:467 msgid ":attr:`name`" msgstr ":attr:`name`" -#: ../../c-api/structures.rst:413 ../../c-api/structures.rst:426 -#: ../../c-api/structures.rst:442 ../../c-api/structures.rst:509 -#: ../../c-api/structures.rst:517 +#: ../../c-api/structures.rst:467 ../../c-api/structures.rst:480 +#: ../../c-api/structures.rst:496 ../../c-api/structures.rst:563 +#: ../../c-api/structures.rst:571 msgid "const char \\*" msgstr "" -#: ../../c-api/structures.rst:413 +#: ../../c-api/structures.rst:467 msgid "name of the member" msgstr "" -#: ../../c-api/structures.rst:415 +#: ../../c-api/structures.rst:469 msgid ":attr:`!type`" msgstr ":attr:`!type`" -#: ../../c-api/structures.rst:415 ../../c-api/structures.rst:422 -#: ../../c-api/structures.rst:438 +#: ../../c-api/structures.rst:469 ../../c-api/structures.rst:476 +#: ../../c-api/structures.rst:492 msgid "int" msgstr "int" -#: ../../c-api/structures.rst:415 +#: ../../c-api/structures.rst:469 msgid "the type of the member in the C struct" msgstr "" -#: ../../c-api/structures.rst:418 +#: ../../c-api/structures.rst:472 msgid ":attr:`offset`" msgstr ":attr:`offset`" -#: ../../c-api/structures.rst:418 ../../c-api/structures.rst:454 +#: ../../c-api/structures.rst:472 ../../c-api/structures.rst:508 msgid "Py_ssize_t" msgstr "Py_ssize_t" -#: ../../c-api/structures.rst:418 +#: ../../c-api/structures.rst:472 msgid "" "the offset in bytes that the member is located on the type's object struct" msgstr "" -#: ../../c-api/structures.rst:422 +#: ../../c-api/structures.rst:476 msgid ":attr:`flags`" msgstr ":attr:`flags`" -#: ../../c-api/structures.rst:422 +#: ../../c-api/structures.rst:476 msgid "flag bits indicating if the field should be read-only or writable" msgstr "" -#: ../../c-api/structures.rst:426 +#: ../../c-api/structures.rst:480 msgid ":attr:`doc`" msgstr ":attr:`doc`" -#: ../../c-api/structures.rst:430 +#: ../../c-api/structures.rst:480 +msgid "points to the contents of the docstring" +msgstr "" + +#: ../../c-api/structures.rst:484 msgid "" ":attr:`!type` can be one of many ``T_`` macros corresponding to various C " "types. When the member is accessed in Python, it will be converted to the " "equivalent Python type." msgstr "" -#: ../../c-api/structures.rst:435 +#: ../../c-api/structures.rst:489 msgid "Macro name" msgstr "" -#: ../../c-api/structures.rst:435 +#: ../../c-api/structures.rst:489 msgid "C type" -msgstr "C type" +msgstr "Tipo em C" -#: ../../c-api/structures.rst:437 +#: ../../c-api/structures.rst:491 msgid "T_SHORT" -msgstr "" +msgstr "T_SHORT" -#: ../../c-api/structures.rst:437 +#: ../../c-api/structures.rst:491 msgid "short" msgstr "" -#: ../../c-api/structures.rst:438 +#: ../../c-api/structures.rst:492 msgid "T_INT" -msgstr "" +msgstr "T_INT" -#: ../../c-api/structures.rst:439 +#: ../../c-api/structures.rst:493 msgid "T_LONG" -msgstr "" +msgstr "T_LONG" -#: ../../c-api/structures.rst:439 +#: ../../c-api/structures.rst:493 msgid "long" msgstr "long" -#: ../../c-api/structures.rst:440 +#: ../../c-api/structures.rst:494 msgid "T_FLOAT" -msgstr "" +msgstr "T_FLOAT" -#: ../../c-api/structures.rst:440 +#: ../../c-api/structures.rst:494 msgid "float" -msgstr "float" +msgstr "ponto flutuante" -#: ../../c-api/structures.rst:441 +#: ../../c-api/structures.rst:495 msgid "T_DOUBLE" -msgstr "" +msgstr "T_DOUBLE" -#: ../../c-api/structures.rst:441 +#: ../../c-api/structures.rst:495 msgid "double" msgstr "double" -#: ../../c-api/structures.rst:442 +#: ../../c-api/structures.rst:496 msgid "T_STRING" -msgstr "" +msgstr "T_STRING" -#: ../../c-api/structures.rst:443 +#: ../../c-api/structures.rst:497 msgid "T_OBJECT" msgstr "" -#: ../../c-api/structures.rst:443 ../../c-api/structures.rst:444 +#: ../../c-api/structures.rst:497 ../../c-api/structures.rst:498 msgid "PyObject \\*" msgstr "" -#: ../../c-api/structures.rst:444 +#: ../../c-api/structures.rst:498 msgid "T_OBJECT_EX" -msgstr "" +msgstr "T_OBJECT_EX" -#: ../../c-api/structures.rst:445 +#: ../../c-api/structures.rst:499 msgid "T_CHAR" msgstr "T_CHAR" -#: ../../c-api/structures.rst:445 ../../c-api/structures.rst:446 -#: ../../c-api/structures.rst:451 +#: ../../c-api/structures.rst:499 ../../c-api/structures.rst:500 +#: ../../c-api/structures.rst:505 msgid "char" msgstr "char" -#: ../../c-api/structures.rst:446 +#: ../../c-api/structures.rst:500 msgid "T_BYTE" msgstr "T_BYTE" -#: ../../c-api/structures.rst:447 +#: ../../c-api/structures.rst:501 msgid "T_UBYTE" msgstr "T_UBYTE" -#: ../../c-api/structures.rst:447 +#: ../../c-api/structures.rst:501 msgid "unsigned char" msgstr "unsigned char" -#: ../../c-api/structures.rst:448 +#: ../../c-api/structures.rst:502 msgid "T_UINT" msgstr "T_UINT" -#: ../../c-api/structures.rst:448 +#: ../../c-api/structures.rst:502 msgid "unsigned int" msgstr "unsigned int" -#: ../../c-api/structures.rst:449 +#: ../../c-api/structures.rst:503 msgid "T_USHORT" msgstr "T_USHORT" -#: ../../c-api/structures.rst:449 +#: ../../c-api/structures.rst:503 msgid "unsigned short" msgstr "unsigned short" -#: ../../c-api/structures.rst:450 +#: ../../c-api/structures.rst:504 msgid "T_ULONG" msgstr "T_ULONG" -#: ../../c-api/structures.rst:450 +#: ../../c-api/structures.rst:504 msgid "unsigned long" msgstr "unsigned long" -#: ../../c-api/structures.rst:451 +#: ../../c-api/structures.rst:505 msgid "T_BOOL" msgstr "T_BOOL" -#: ../../c-api/structures.rst:452 +#: ../../c-api/structures.rst:506 msgid "T_LONGLONG" -msgstr "" +msgstr "T_LONGLONG" -#: ../../c-api/structures.rst:452 +#: ../../c-api/structures.rst:506 msgid "long long" msgstr "long long" -#: ../../c-api/structures.rst:453 +#: ../../c-api/structures.rst:507 msgid "T_ULONGLONG" msgstr "" -#: ../../c-api/structures.rst:453 +#: ../../c-api/structures.rst:507 msgid "unsigned long long" msgstr "unsigned long long" -#: ../../c-api/structures.rst:454 +#: ../../c-api/structures.rst:508 msgid "T_PYSSIZET" -msgstr "" +msgstr "T_PYSSIZET" -#: ../../c-api/structures.rst:457 +#: ../../c-api/structures.rst:511 msgid "" -":c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` differ in that :c:macro:" -"`T_OBJECT` returns ``None`` if the member is ``NULL`` and :c:macro:" -"`T_OBJECT_EX` raises an :exc:`AttributeError`. Try to use :c:macro:" -"`T_OBJECT_EX` over :c:macro:`T_OBJECT` because :c:macro:`T_OBJECT_EX` " -"handles use of the :keyword:`del` statement on that attribute more correctly " -"than :c:macro:`T_OBJECT`." +":c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` differ in " +"that :c:macro:`T_OBJECT` returns ``None`` if the member is ``NULL`` " +"and :c:macro:`T_OBJECT_EX` raises an :exc:`AttributeError`. Try to " +"use :c:macro:`T_OBJECT_EX` over :c:macro:`T_OBJECT` " +"because :c:macro:`T_OBJECT_EX` handles use of the :keyword:`del` statement " +"on that attribute more correctly than :c:macro:`T_OBJECT`." msgstr "" -#: ../../c-api/structures.rst:464 +#: ../../c-api/structures.rst:518 msgid "" ":attr:`flags` can be ``0`` for write and read access or :c:macro:`READONLY` " -"for read-only access. Using :c:macro:`T_STRING` for :attr:`type` implies :c:" -"macro:`READONLY`. :c:macro:`T_STRING` data is interpreted as UTF-8. Only :c:" -"macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` members can be deleted. (They " -"are set to ``NULL``)." +"for read-only access. Using :c:macro:`T_STRING` for :attr:`type` " +"implies :c:macro:`READONLY`. :c:macro:`T_STRING` data is interpreted as " +"UTF-8. Only :c:macro:`T_OBJECT` and :c:macro:`T_OBJECT_EX` members can be " +"deleted. (They are set to ``NULL``)." msgstr "" -#: ../../c-api/structures.rst:472 +#: ../../c-api/structures.rst:526 msgid "" "Heap allocated types (created using :c:func:`PyType_FromSpec` or similar), " "``PyMemberDef`` may contain definitions for the special members " "``__dictoffset__``, ``__weaklistoffset__`` and ``__vectorcalloffset__``, " -"corresponding to :c:member:`~PyTypeObject.tp_dictoffset`, :c:member:" -"`~PyTypeObject.tp_weaklistoffset` and :c:member:`~PyTypeObject." -"tp_vectorcall_offset` in type objects. These must be defined with " -"``T_PYSSIZET`` and ``READONLY``, for example::" +"corresponding " +"to :c:member:`~PyTypeObject.tp_dictoffset`, :c:member:`~PyTypeObject.tp_weaklistoffset` " +"and :c:member:`~PyTypeObject.tp_vectorcall_offset` in type objects. These " +"must be defined with ``T_PYSSIZET`` and ``READONLY``, for example::" msgstr "" -#: ../../c-api/structures.rst:489 +#: ../../c-api/structures.rst:543 msgid "" "Get an attribute belonging to the object at address *obj_addr*. The " "attribute is described by ``PyMemberDef`` *m*. Returns ``NULL`` on error." msgstr "" -#: ../../c-api/structures.rst:496 +#: ../../c-api/structures.rst:550 msgid "" "Set an attribute belonging to the object at address *obj_addr* to object " "*o*. The attribute to set is described by ``PyMemberDef`` *m*. Returns " "``0`` if successful and a negative value on failure." msgstr "" -#: ../../c-api/structures.rst:503 +#: ../../c-api/structures.rst:557 msgid "" "Structure to define property-like access for a type. See also description of " "the :c:member:`PyTypeObject.tp_getset` slot." msgstr "" -#: ../../c-api/structures.rst:509 +#: ../../c-api/structures.rst:563 msgid "name" msgstr "nome" -#: ../../c-api/structures.rst:509 +#: ../../c-api/structures.rst:563 msgid "attribute name" msgstr "" -#: ../../c-api/structures.rst:511 +#: ../../c-api/structures.rst:565 msgid "get" msgstr "" -#: ../../c-api/structures.rst:511 +#: ../../c-api/structures.rst:565 msgid "getter" msgstr "" -#: ../../c-api/structures.rst:511 +#: ../../c-api/structures.rst:565 msgid "C function to get the attribute" msgstr "" -#: ../../c-api/structures.rst:513 +#: ../../c-api/structures.rst:567 msgid "set" -msgstr "" +msgstr "set" -#: ../../c-api/structures.rst:513 +#: ../../c-api/structures.rst:567 msgid "setter" msgstr "" -#: ../../c-api/structures.rst:513 +#: ../../c-api/structures.rst:567 msgid "" "optional C function to set or delete the attribute, if omitted the attribute " "is readonly" msgstr "" -#: ../../c-api/structures.rst:517 +#: ../../c-api/structures.rst:571 msgid "doc" msgstr "" -#: ../../c-api/structures.rst:517 +#: ../../c-api/structures.rst:571 msgid "optional docstring" msgstr "" -#: ../../c-api/structures.rst:519 +#: ../../c-api/structures.rst:573 msgid "closure" msgstr "" -#: ../../c-api/structures.rst:519 +#: ../../c-api/structures.rst:573 msgid "void \\*" msgstr "" -#: ../../c-api/structures.rst:519 +#: ../../c-api/structures.rst:573 msgid "" -"optional function pointer, providing additional data for getter and setter" +"optional user data pointer, providing additional data for getter and setter" msgstr "" -#: ../../c-api/structures.rst:524 +#: ../../c-api/structures.rst:578 msgid "" "The ``get`` function takes one :c:expr:`PyObject*` parameter (the instance) " -"and a function pointer (the associated ``closure``)::" +"and a user data pointer (the associated ``closure``)::" msgstr "" -#: ../../c-api/structures.rst:529 +#: ../../c-api/structures.rst:583 msgid "" "It should return a new reference on success or ``NULL`` with a set exception " "on failure." msgstr "" -#: ../../c-api/structures.rst:532 +#: ../../c-api/structures.rst:586 msgid "" "``set`` functions take two :c:expr:`PyObject*` parameters (the instance and " -"the value to be set) and a function pointer (the associated ``closure``)::" +"the value to be set) and a user data pointer (the associated ``closure``)::" msgstr "" -#: ../../c-api/structures.rst:537 +#: ../../c-api/structures.rst:591 msgid "" "In case the attribute should be deleted the second parameter is ``NULL``. " "Should return ``0`` on success or ``-1`` with a set exception on failure." msgstr "" -#: ../../c-api/structures.rst:369 ../../c-api/structures.rst:379 +#: ../../c-api/structures.rst:389 ../../c-api/structures.rst:399 msgid "built-in function" msgstr "função embutida" -#: ../../c-api/structures.rst:369 +#: ../../c-api/structures.rst:389 msgid "classmethod" msgstr "classmethod" -#: ../../c-api/structures.rst:379 +#: ../../c-api/structures.rst:399 msgid "staticmethod" msgstr "staticmethod" diff --git a/c-api/sys.po b/c-api/sys.po index 016f4a0ed..b95410785 100644 --- a/c-api/sys.po +++ b/c-api/sys.po @@ -1,69 +1,82 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Italo Penaforte , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/sys.rst:6 msgid "Operating System Utilities" -msgstr "Utilitários do Sistema Operacional" +msgstr "Utilitários do sistema operacional" -#: ../../c-api/sys.rst:10 +#: ../../c-api/sys.rst:11 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." +"Return the file system representation for *path*. If the object is " +"a :class:`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 "" +"Retorna a representação do sistema de arquivos para *path*. Se o objeto for " +"um objeto :class:`str` ou :class:`bytes`, então uma nova :term:`referência " +"forte` é retornada. Se o objeto implementa a interface :class:`os.PathLike`, " +"então :meth:`~os.PathLike.__fspath__` é retornado desde que seja um " +"objeto :class:`str` ou :class:`bytes`. Caso contrário, :exc:`TypeError` é " +"levantada e ``NULL`` é retornado." -#: ../../c-api/sys.rst:22 +#: ../../c-api/sys.rst:24 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 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 ``'???'``." msgstr "" -#: ../../c-api/sys.rst:31 +#: ../../c-api/sys.rst:33 msgid "" "Function to prepare some internal state before a process fork. This should " "be called before calling :c:func:`fork` or any similar function that clones " "the current process. Only available on systems where :c:func:`fork` is " "defined." msgstr "" +"Função para preparar algum estado interno antes de ser feito um fork do " +"processo. Isso deve ser chamado antes de chamar :c:func:`fork` ou qualquer " +"função semelhante que clone o processo atual. Disponível apenas em sistemas " +"onde :c:func:`fork` é definido." -#: ../../c-api/sys.rst:37 +#: ../../c-api/sys.rst:39 msgid "" "The C :c:func:`fork` call should only be made from the :ref:`\"main\" thread " "` (of the :ref:`\"main\" interpreter `). The same is true for ``PyOS_BeforeFork()``." msgstr "" +"A chamada C :c:func:`fork` só deve ser feita a partir da :ref:`thread " +"\"main\" ` (do :ref:`interpretador \"main\" `). O mesmo vale para ``PyOS_BeforeFork()``." -#: ../../c-api/sys.rst:47 +#: ../../c-api/sys.rst:49 msgid "" "Function to update some internal state after a process fork. This should be " "called from the parent process after calling :c:func:`fork` or any similar " @@ -71,15 +84,23 @@ msgid "" "cloning was successful. Only available on systems where :c:func:`fork` is " "defined." msgstr "" +"Função para atualizar algum estado interno depois de ser feito um fork do " +"processo. Isso deve ser chamado a partir do processo pai depois de " +"chamar :c:func:`fork` ou qualquer função semelhante que clone o processo " +"atual, independentemente da clonagem do processo ter sido bem-sucedida ou " +"não. Disponível apenas em sistemas onde :c:func:`fork` é definido." -#: ../../c-api/sys.rst:54 +#: ../../c-api/sys.rst:56 msgid "" "The C :c:func:`fork` call should only be made from the :ref:`\"main\" thread " "` (of the :ref:`\"main\" interpreter `). The same is true for ``PyOS_AfterFork_Parent()``." msgstr "" +"A chamada C :c:func:`fork` só deve ser feita a partir da :ref:`thread " +"\"main\" ` (do :ref:`interpretador \"main\" `). O mesmo vale para ``PyOS_AfterFork_Parent()``." -#: ../../c-api/sys.rst:64 +#: ../../c-api/sys.rst:66 msgid "" "Function to update internal interpreter state after a process fork. This " "must be called from the child process after calling :c:func:`fork`, or any " @@ -87,77 +108,105 @@ msgid "" "process will call back into the Python interpreter. Only available on " "systems where :c:func:`fork` is defined." msgstr "" +"Função para atualizar o estado interno do interpretador depois de ser feito " +"um fork do processo. Isso deve ser chamado a partir do processo filho depois " +"de chamar :c:func:`fork` ou qualquer função semelhante que clone o processo " +"atual, se houver alguma chance do processo ter uma chamada de retorno para o " +"interpretador Python. Disponível apenas em sistemas onde :c:func:`fork` é " +"definido." -#: ../../c-api/sys.rst:71 +#: ../../c-api/sys.rst:73 msgid "" "The C :c:func:`fork` call should only be made from the :ref:`\"main\" thread " "` (of the :ref:`\"main\" interpreter `). The same is true for ``PyOS_AfterFork_Child()``." msgstr "" +"A chamada C :c:func:`fork` só deve ser feita a partir da :ref:`thread " +"\"main\" ` (do :ref:`interpretador \"main\" `). O mesmo vale para ``PyOS_AfterFork_Child()``." -#: ../../c-api/sys.rst:79 +#: ../../c-api/sys.rst:81 msgid "" ":func:`os.register_at_fork` allows registering custom Python functions to be " -"called by :c:func:`PyOS_BeforeFork()`, :c:func:`PyOS_AfterFork_Parent` and :" -"c:func:`PyOS_AfterFork_Child`." +"called by :c:func:`PyOS_BeforeFork()`, :c:func:`PyOS_AfterFork_Parent` " +"and :c:func:`PyOS_AfterFork_Child`." msgstr "" +":func:`os.register_at_fork` permite registrar funções personalizadas do " +"Python para serem chamadas " +"por :c:func:`PyOS_BeforeFork()`, :c:func:`PyOS_AfterFork_Parent` " +"e :c:func:`PyOS_AfterFork_Child`." -#: ../../c-api/sys.rst:86 +#: ../../c-api/sys.rst:88 msgid "" "Function to update some internal state after a process fork; this should be " "called in the new process if the Python interpreter will continue to be " "used. If a new executable is loaded into the new process, this function does " "not need to be called." msgstr "" -"Função para atualizar algum estado interno após uma bifurcação de processo; " -"isso deve ser chamado no novo processo se o interpretador do Python " -"continuar a ser usado. Se um novo executável é carregado no novo processo, " -"esta função não precisa ser chamada." +"Função para atualizar algum estado interno após ser feito um fork de " +"processo; isso deve ser chamado no novo processo se o interpretador do " +"Python continuar a ser usado. Se um novo executável é carregado no novo " +"processo, esta função não precisa ser chamada." -#: ../../c-api/sys.rst:91 +#: ../../c-api/sys.rst:93 msgid "This function is superseded by :c:func:`PyOS_AfterFork_Child()`." -msgstr "" +msgstr "Esta função foi sucedida por :c:func:`PyOS_AfterFork_Child()`." -#: ../../c-api/sys.rst:97 +#: ../../c-api/sys.rst:101 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 "" +"Retorna verdadeiro quando o interpretador fica sem espaço na pilha. Esta é " +"uma verificação confiável, mas só está disponível quando :c:macro:`!" +"USE_STACKCHECK` é definido (atualmente em certas versões do Windows usando o " +"compilador Microsoft Visual C++). :c:macro:`!USE_STACKCHECK` será definido " +"automaticamente; você nunca deve alterar a definição em seu próprio código." -#: ../../c-api/sys.rst:106 +#: ../../c-api/sys.rst:113 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 "" +"Retorna o manipulador de sinal atual para o sinal *i*. Este é um invólucro " +"fino em torno de :c:func:`!sigaction` ou :c:func:`!signal`. Não chame essas " +"funções diretamente!" -#: ../../c-api/sys.rst:114 +#: ../../c-api/sys.rst:120 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 "" +"Define o manipulador de sinal para o sinal *i* como *h*; retornar o " +"manipulador de sinal antigo. Este é um invólucro fino em torno de :c:func:`!" +"sigaction` ou :c:func:`!signal`. Não chame essas funções diretamente!" -#: ../../c-api/sys.rst:122 +#: ../../c-api/sys.rst:127 msgid "" "This function should not be called directly: use the :c:type:`PyConfig` API " -"with the :c:func:`PyConfig_SetBytesString` function which ensures that :ref:" -"`Python is preinitialized `." +"with the :c:func:`PyConfig_SetBytesString` function which ensures " +"that :ref:`Python is preinitialized `." msgstr "" +"Esta função não deve ser chamada diretamente: use a API :c:type:`PyConfig` " +"com a função :c:func:`PyConfig_SetBytesString` que garante que :ref:`Python " +"esteja pré-inicializado `." -#: ../../c-api/sys.rst:126 ../../c-api/sys.rst:193 +#: ../../c-api/sys.rst:131 ../../c-api/sys.rst:198 msgid "" "This function must not be called before :ref:`Python is preinitialized ` and so that the LC_CTYPE locale is properly configured: see the :c:" -"func:`Py_PreInitialize` function." +"preinit>` and so that the LC_CTYPE locale is properly configured: see " +"the :c:func:`Py_PreInitialize` function." msgstr "" +"Esta função não deve ser chamada antes de :ref:`Python estar pré-" +"inicializado ` e para que a localidade LC_CTYPE seja configurada " +"corretamente: consulte a função :c:func:`Py_PreInitialize`." -#: ../../c-api/sys.rst:130 +#: ../../c-api/sys.rst:135 msgid "" "Decode a byte string from the :term:`filesystem encoding and error handler`. " "If the error handler is :ref:`surrogateescape error handler " @@ -166,175 +215,229 @@ msgid "" "character, the bytes are escaped using the surrogateescape error handler " "instead of decoding them." msgstr "" +"Decodifica uma string de bytes do :term:`tratador de erros e codificação do " +"sistema de arquivos`. Se o tratador de erros for o :ref:`tratador de errors " +"surrogateescape `, bytes não decodificáveis são " +"decodificados como caracteres no intervalo U+DC80..U+DCFF; e se uma string " +"de bytes puder ser decodificada como um caractere substituto, os bytes são " +"escapados usando o tratador de erros surrogateescape em vez de decodificá-" +"los." -#: ../../c-api/sys.rst:137 +#: ../../c-api/sys.rst:142 msgid "" -"Return a pointer to a newly allocated wide character string, use :c:func:" -"`PyMem_RawFree` to free the memory. If size is not ``NULL``, write the " -"number of wide characters excluding the null character into ``*size``" +"Return a pointer to a newly allocated wide character string, " +"use :c:func:`PyMem_RawFree` to free the memory. If size is not ``NULL``, " +"write the number of wide characters excluding the null character into " +"``*size``" msgstr "" +"Retorna um ponteiro para uma string de caracteres largos recém-alocada, " +"usa :c:func:`PyMem_RawFree` para liberar a memória. Se o tamanho não for " +"``NULL``, escreve o número de caracteres largos excluindo o caractere nulo " +"em ``*size``" -#: ../../c-api/sys.rst:141 +#: ../../c-api/sys.rst:146 msgid "" "Return ``NULL`` on decoding error or memory allocation error. If *size* is " "not ``NULL``, ``*size`` is set to ``(size_t)-1`` on memory error or set to " "``(size_t)-2`` on decoding error." msgstr "" +"Retorna ``NULL`` em erro de decodificação ou erro de alocação de memória. Se " +"*size* não for ``NULL``, ``*size`` é definido como ``(size_t)-1`` em erro de " +"memória ou definido como ``(size_t)-2`` em erro de decodificação." -#: ../../c-api/sys.rst:145 ../../c-api/sys.rst:185 +#: ../../c-api/sys.rst:150 ../../c-api/sys.rst:190 msgid "" -"The :term:`filesystem encoding and error handler` are selected by :c:func:" -"`PyConfig_Read`: see :c:member:`~PyConfig.filesystem_encoding` and :c:member:" -"`~PyConfig.filesystem_errors` members of :c:type:`PyConfig`." +"The :term:`filesystem encoding and error handler` are selected " +"by :c:func:`PyConfig_Read`: see :c:member:`~PyConfig.filesystem_encoding` " +"and :c:member:`~PyConfig.filesystem_errors` members of :c:type:`PyConfig`." msgstr "" +":term:`tratador de erros e codificação do sistema de arquivos` são " +"selecionados por :c:func:`PyConfig_Read`: veja os " +"membros :c:member:`~PyConfig.filesystem_encoding` " +"e :c:member:`~PyConfig.filesystem_errors` de :c:type:`PyConfig`." -#: ../../c-api/sys.rst:149 +#: ../../c-api/sys.rst:154 msgid "" "Decoding errors should never happen, unless there is a bug in the C library." msgstr "" +"Erros de decodificação nunca devem acontecer, a menos que haja um bug na " +"biblioteca C." -#: ../../c-api/sys.rst:152 +#: ../../c-api/sys.rst:157 msgid "" "Use the :c:func:`Py_EncodeLocale` function to encode the character string " "back to a byte string." msgstr "" +"Use a função :c:func:`Py_EncodeLocale` para codificar a string de caracteres " +"de volta para uma string de bytes." -#: ../../c-api/sys.rst:157 +#: ../../c-api/sys.rst:162 msgid "" -"The :c:func:`PyUnicode_DecodeFSDefaultAndSize` and :c:func:" -"`PyUnicode_DecodeLocaleAndSize` functions." +"The :c:func:`PyUnicode_DecodeFSDefaultAndSize` " +"and :c:func:`PyUnicode_DecodeLocaleAndSize` functions." msgstr "" +"As funções :c:func:`PyUnicode_DecodeFSDefaultAndSize` " +"e :c:func:`PyUnicode_DecodeLocaleAndSize`." -#: ../../c-api/sys.rst:162 ../../c-api/sys.rst:204 +#: ../../c-api/sys.rst:167 ../../c-api/sys.rst:209 msgid "" "The function now uses the UTF-8 encoding in the :ref:`Python UTF-8 Mode " "`." msgstr "" +"A função agora usa a codificação UTF-8 no :ref:`Modo UTF-8 do Python `." -#: ../../c-api/sys.rst:166 +#: ../../c-api/sys.rst:171 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:data:`Py_LegacyWindowsFSEncodingFlag` is zero;" msgstr "" -#: ../../c-api/sys.rst:173 +#: ../../c-api/sys.rst:178 msgid "" "Encode a wide character string to the :term:`filesystem encoding and error " "handler`. If the error handler is :ref:`surrogateescape error handler " "`, surrogate characters in the range U+DC80..U+DCFF are " "converted to bytes 0x80..0xFF." msgstr "" +"Codifica uma string de caracteres largos para o :term:`tratador de erros e " +"codificação do sistema de arquivos`. Se o tratador de erros for " +"um :ref:`tratador de erros substituto `, os caracteres " +"substitutos no intervalo U+DC80..U+DCFF são convertidos em bytes 0x80..0xFF." -#: ../../c-api/sys.rst:178 +#: ../../c-api/sys.rst:183 msgid "" "Return a pointer to a newly allocated byte string, use :c:func:`PyMem_Free` " "to free the memory. Return ``NULL`` on encoding error or memory allocation " "error." msgstr "" +"Retorna um ponteiro para uma string de bytes recém-alocada; " +"use :c:func:`PyMem_Free` para liberar a memória. Retorna ``NULL`` em caso de " +"erro de codificação ou de erro de alocação de memória." -#: ../../c-api/sys.rst:182 +#: ../../c-api/sys.rst:187 msgid "" "If error_pos is not ``NULL``, ``*error_pos`` is set to ``(size_t)-1`` on " "success, or set to the index of the invalid character on encoding error." msgstr "" +"Se error_pos não for ``NULL``, ``*error_pos`` será definido como " +"``(size_t)-1`` em caso de sucesso, ou definido como o índice do caractere " +"inválido em caso de erro de codificação." -#: ../../c-api/sys.rst:189 +#: ../../c-api/sys.rst:194 msgid "" "Use the :c:func:`Py_DecodeLocale` function to decode the bytes string back " "to a wide character string." msgstr "" +"Use a função :c:func:`Py_DecodeLocale` para decodificar a string de bytes de " +"volta para uma string de caracteres largos." -#: ../../c-api/sys.rst:199 +#: ../../c-api/sys.rst:204 msgid "" "The :c:func:`PyUnicode_EncodeFSDefault` and :c:func:`PyUnicode_EncodeLocale` " "functions." msgstr "" +"As funções :c:func:`PyUnicode_EncodeFSDefault` " +"e :c:func:`PyUnicode_EncodeLocale`." -#: ../../c-api/sys.rst:208 +#: ../../c-api/sys.rst:213 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:data:`Py_LegacyWindowsFSEncodingFlag` is zero." msgstr "" -#: ../../c-api/sys.rst:216 +#: ../../c-api/sys.rst:221 msgid "System Functions" -msgstr "" +msgstr "Funções de sistema" -#: ../../c-api/sys.rst:218 +#: ../../c-api/sys.rst:223 msgid "" "These are utility functions that make functionality from the :mod:`sys` " "module accessible to C code. They all work with the current interpreter " "thread's :mod:`sys` module's dict, which is contained in the internal thread " "state structure." msgstr "" +"Essas são funções utilitárias que tornam a funcionalidade do " +"módulo :mod:`sys` acessível ao código C. Todas elas funcionam com o " +"dicionário do módulo :mod:`sys` da thread do interpretador atual, que está " +"contido na estrutura interna do estado de thread." -#: ../../c-api/sys.rst:224 +#: ../../c-api/sys.rst:229 msgid "" "Return the object *name* from the :mod:`sys` module or ``NULL`` if it does " "not exist, without setting an exception." msgstr "" +"Retorna o objeto *name* do módulo :mod:`sys` ou ``NULL`` se ele não existir, " +"sem lançar uma exceção." -#: ../../c-api/sys.rst:229 +#: ../../c-api/sys.rst:234 msgid "" "Set *name* in the :mod:`sys` module to *v* unless *v* is ``NULL``, in which " "case *name* is deleted from the sys module. Returns ``0`` on success, ``-1`` " "on error." msgstr "" +"Define *name* no módulo :mod:`sys` como *v*, a menos que *v* seja ``NULL``, " +"caso em que *name* é excluído do módulo sys. Retorna ``0`` em caso de " +"sucesso e ``-1`` em caso de erro." -#: ../../c-api/sys.rst:235 +#: ../../c-api/sys.rst:240 msgid "" "Reset :data:`sys.warnoptions` to an empty list. This function may be called " "prior to :c:func:`Py_Initialize`." msgstr "" +"Redefine :data:`sys.warnoptions` para uma lista vazia. Esta função pode ser " +"chamada antes de :c:func:`Py_Initialize`." -#: ../../c-api/sys.rst:240 ../../c-api/sys.rst:251 +#: ../../c-api/sys.rst:245 ../../c-api/sys.rst:256 msgid "" -"This API is kept for backward compatibility: setting :c:member:`PyConfig." -"warnoptions` should be used instead, see :ref:`Python Initialization " -"Configuration `." +"This API is kept for backward compatibility: " +"setting :c:member:`PyConfig.warnoptions` should be used instead, " +"see :ref:`Python Initialization Configuration `." msgstr "" -#: ../../c-api/sys.rst:244 +#: ../../c-api/sys.rst:249 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 "" -#: ../../c-api/sys.rst:255 +#: ../../c-api/sys.rst:260 msgid "Append *unicode* to :data:`sys.warnoptions`." msgstr "" -#: ../../c-api/sys.rst:257 +#: ../../c-api/sys.rst:262 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." +"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 "" -#: ../../c-api/sys.rst:267 +#: ../../c-api/sys.rst:272 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 `." +"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 "" -#: ../../c-api/sys.rst:272 +#: ../../c-api/sys.rst:277 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)." +"be a list of paths separated with the platform's search path delimiter " +"(``:`` on Unix, ``;`` on Windows)." msgstr "" -#: ../../c-api/sys.rst:280 +#: ../../c-api/sys.rst:285 msgid "" "Write the output string described by *format* to :data:`sys.stdout`. No " "exceptions are raised, even if truncation occurs (see below)." msgstr "" +"Escreve a string de saída descrita por *format* em :data:`sys.stdout`. " +"Nenhuma exceção será levantada, mesmo que ocorra truncamento (veja abaixo)." -#: ../../c-api/sys.rst:283 +#: ../../c-api/sys.rst:288 msgid "" "*format* should limit the total size of the formatted output string to 1000 " "bytes or less -- after 1000 bytes, the output string is truncated. In " @@ -344,59 +447,82 @@ msgid "" "not exceed 1000 bytes. Also watch out for \"%f\", which can print hundreds " "of digits for very large numbers." msgstr "" +"*format* deve limitar o tamanho total da string de saída formatada a 1000 " +"bytes ou menos -- após 1000 bytes, a string de saída é truncada. Em " +"particular, isso significa que não devem ocorrer formatos \"%s\" " +"irrestritos; estes devem ser limitados usando \"%.1s\", onde 2 é um número " +"decimal calculado de forma que 3 mais o tamanho máximo de outros textos " +"formatados não exceda 1000 bytes. Também fique atento a \"%f\", que pode " +"exibir centenas de dígitos para números muito grandes." -#: ../../c-api/sys.rst:291 +#: ../../c-api/sys.rst:296 msgid "" "If a problem occurs, or :data:`sys.stdout` is unset, the formatted message " "is written to the real (C level) *stdout*." msgstr "" +"Se ocorrer um problema, ou se :data:`sys.stdout` não estiver definido, a " +"mensagem formatada será escrita na saída padrão (nível C) *stdout*." -#: ../../c-api/sys.rst:296 +#: ../../c-api/sys.rst:301 msgid "" "As :c:func:`PySys_WriteStdout`, but write to :data:`sys.stderr` or *stderr* " "instead." msgstr "" +"Como :c:func:`PySys_WriteStdout`, mas escreve em :data:`sys.stderr` ou " +"*stderr* em vez disso." -#: ../../c-api/sys.rst:301 +#: ../../c-api/sys.rst:306 msgid "" -"Function similar to PySys_WriteStdout() but format the message using :c:func:" -"`PyUnicode_FromFormatV` and don't truncate the message to an arbitrary " -"length." +"Function similar to PySys_WriteStdout() but format the message " +"using :c:func:`PyUnicode_FromFormatV` and don't truncate the message to an " +"arbitrary length." msgstr "" +"Função semelhante a PySys_WriteStdout(), mas formata a mensagem " +"usando :c:func:`PyUnicode_FromFormatV` e não trunca a mensagem para um " +"comprimento arbitrário." -#: ../../c-api/sys.rst:309 +#: ../../c-api/sys.rst:314 msgid "" "As :c:func:`PySys_FormatStdout`, but write to :data:`sys.stderr` or *stderr* " "instead." msgstr "" +"Como :c:func:`PySys_FormatStdout`, mas escreve em :data:`sys.stderr` ou " +"*stderr* em vez disso." -#: ../../c-api/sys.rst:316 +#: ../../c-api/sys.rst:321 msgid "" -"This API is kept for backward compatibility: setting :c:member:`PyConfig." -"xoptions` should be used instead, see :ref:`Python Initialization " -"Configuration `." +"This API is kept for backward compatibility: " +"setting :c:member:`PyConfig.xoptions` should be used instead, " +"see :ref:`Python Initialization Configuration `." msgstr "" -#: ../../c-api/sys.rst:320 +#: ../../c-api/sys.rst:325 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 "" -#: ../../c-api/sys.rst:330 +#: ../../c-api/sys.rst:335 msgid "" -"Return the current dictionary of :option:`-X` options, similarly to :data:" -"`sys._xoptions`. On error, ``NULL`` is returned and an exception is set." +"Return the current dictionary of :option:`-X` options, similarly " +"to :data:`sys._xoptions`. On error, ``NULL`` is returned and an exception " +"is set." msgstr "" +"Retorna o dicionário atual de opções :option:`-X`, de forma semelhante " +"a :data:`sys._xoptions`. Em caso de erro, retorna ``NULL`` e uma exceção é " +"definida." -#: ../../c-api/sys.rst:339 +#: ../../c-api/sys.rst:344 msgid "" "Raise an auditing event with any active hooks. Return zero for success and " "non-zero with an exception set on failure." msgstr "" +"Levanta um evento de auditoria com todos os ganchos ativos. Retorna zero em " +"caso de sucesso e um valor diferente de zero com uma exceção definida em " +"caso de falha." -#: ../../c-api/sys.rst:342 +#: ../../c-api/sys.rst:347 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 " @@ -407,31 +533,42 @@ msgid "" "leaks.)" msgstr "" -#: ../../c-api/sys.rst:350 +#: ../../c-api/sys.rst:355 msgid "" -"Note that ``#`` format characters should always be treated as :c:type:" -"`Py_ssize_t`, regardless of whether ``PY_SSIZE_T_CLEAN`` was defined." +"Note that ``#`` format characters should always be treated " +"as :c:type:`Py_ssize_t`, regardless of whether ``PY_SSIZE_T_CLEAN`` was " +"defined." msgstr "" +"Observe que os caracteres de formato ``#`` devem sempre ser tratados " +"como :c:type:`Py_ssize_t`, independentemente de ``PY_SSIZE_T_CLEAN`` ter " +"sido definido." -#: ../../c-api/sys.rst:353 +#: ../../c-api/sys.rst:358 msgid ":func:`sys.audit` performs the same function from Python code." -msgstr "" +msgstr ":func:`sys.audit` executa a mesma função a partir do código Python." -#: ../../c-api/sys.rst:359 +#: ../../c-api/sys.rst:364 msgid "" "Require :c:type:`Py_ssize_t` for ``#`` format characters. Previously, an " "unavoidable deprecation warning was raised." msgstr "" +"É necessário o tipo :c:type:`Py_ssize_t` para caracteres de formato ``#``. " +"Anteriormente, um aviso de descontinuação era levantado." -#: ../../c-api/sys.rst:365 +#: ../../c-api/sys.rst:370 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, " "also set an error on failure. Hooks added through this API are called for " "all interpreters created by the runtime." msgstr "" +"Adiciona o *gancho* chamável à lista de ganchos de auditoria ativos. Retorna " +"zero em caso de sucesso e um valor diferente de zero em caso de falha. Se o " +"ambiente de execução já tiver sido inicializado, também define um erro em " +"caso de falha. Os ganchos adicionados por meio desta API são chamados para " +"todos os interpretadores criados pelo ambiente de execução." -#: ../../c-api/sys.rst:371 +#: ../../c-api/sys.rst:376 msgid "" "The *userData* pointer is passed into the hook function. Since hook " "functions may be called from different runtimes, this pointer should not " @@ -441,83 +578,109 @@ msgstr "" "gancho podem ser chamadas de diferentes tempos de execução, esse ponteiro " "não deve se referir diretamente ao estado do Python." -#: ../../c-api/sys.rst:375 +#: ../../c-api/sys.rst:380 msgid "" "This function is safe to call before :c:func:`Py_Initialize`. When called " "after runtime initialization, existing audit hooks are notified and may " -"silently abort the operation by raising an error subclassed from :class:" -"`Exception` (other errors will not be silenced)." +"silently abort the operation by raising an error subclassed " +"from :class:`Exception` (other errors will not be silenced)." msgstr "" +"Esta função pode ser chamada com segurança antes de :c:func:`Py_Initialize`. " +"Quando chamada após a inicialização em tempo de execução, os ganchos de " +"auditoria existentes são notificados e podem abortar silenciosamente a " +"operação, levantando um erro da classe :class:`Exception` (outros erros não " +"serão silenciados)." -#: ../../c-api/sys.rst:380 +#: ../../c-api/sys.rst:385 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 "" -#: ../../c-api/sys.rst:385 +#: ../../c-api/sys.rst:388 msgid "" "See :pep:`578` for a detailed description of auditing. Functions in the " "runtime and standard library that raise events are listed in the :ref:`audit " "events table `. Details are in each function's documentation." msgstr "" +"Consulte a :pep:`578` para uma descrição detalhada da auditoria. As funções " +"no ambiente de execução e na biblioteca padrão que levantam eventos estão " +"listadas na :ref:`tabela de eventos de auditoria `. Os " +"detalhes estão na documentação de cada função." -#: ../../c-api/sys.rst:390 -msgid "" -"Raises an :ref:`auditing event ` ``sys.addaudithook`` with no " -"arguments." -msgstr "" -"Levanta um :ref:`evento de auditoria ` ``sys.addaudithook`` com " -"nenhum argumento." - -#: ../../c-api/sys.rst:392 +#: ../../c-api/sys.rst:395 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 "" +"Se o interpretador estiver inicializado, esta função levanta um evento de " +"auditoria ``sys.addaudithook`` sem argumentos. Se algum gancho existente " +"levantar uma exceção derivada de :class:`Exception`, o novo gancho não será " +"adicionado e a exceção será tratada. Consequentemente, os chamadores não " +"podem presumir que seu gancho foi adicionado, a menos que controlem todos os " +"ganchos existentes." #: ../../c-api/sys.rst:404 -msgid "Process Control" +msgid "" +"The type of the hook function. *event* is the C string event argument passed " +"to :c:func:`PySys_Audit`. *args* is guaranteed to be " +"a :c:type:`PyTupleObject`. *userData* is the argument passed to " +"PySys_AddAuditHook()." msgstr "" -#: ../../c-api/sys.rst:411 +#: ../../c-api/sys.rst:415 +msgid "Process Control" +msgstr "Controle de processos" + +#: ../../c-api/sys.rst:422 msgid "" "Print a fatal error message and kill the process. No cleanup is performed. " "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 :" -"file:`core` file." +"library function :c:func:`!abort` is called which will attempt to produce " +"a :file:`core` file." msgstr "" +"Exibe uma mensagem de erro fatal e encerra forçadamente o processo. Nenhuma " +"limpeza é realizada. Esta função só deve ser invocada quando uma condição " +"for detectada que torne perigoso continuar usando o interpretador Python; " +"por exemplo, quando a administração de objetos parecer estar corrompida. No " +"Unix, a função da biblioteca padrão C :c:func:`!abort` é chamada, que " +"tentará produzir um arquivo :file:`core`." -#: ../../c-api/sys.rst:418 +#: ../../c-api/sys.rst:429 msgid "" "The ``Py_FatalError()`` function is replaced with a macro which logs " "automatically the name of the current function, unless the " "``Py_LIMITED_API`` macro is defined." msgstr "" +"A função ``Py_FatalError()`` é substituída por uma macro que registra " +"automaticamente o nome da função atual, a menos que a macro " +"``Py_LIMITED_API`` esteja definida." -#: ../../c-api/sys.rst:422 +#: ../../c-api/sys.rst:433 msgid "Log the function name automatically." -msgstr "" +msgstr "Registra o nome da função automaticamente." -#: ../../c-api/sys.rst:432 +#: ../../c-api/sys.rst:443 msgid "" "Exit the current process. This calls :c:func:`Py_FinalizeEx` and then calls " -"the standard C library function ``exit(status)``. If :c:func:" -"`Py_FinalizeEx` indicates an error, the exit status is set to 120." +"the standard C library function ``exit(status)``. " +"If :c:func:`Py_FinalizeEx` indicates an error, the exit status is set to 120." msgstr "" +"Encerra o processo atual. Isso chama :c:func:`Py_FinalizeEx` e, em seguida, " +"chama a função da biblioteca padrão C ``exit(status)``. " +"Se :c:func:`Py_FinalizeEx` indicar um erro, o código de status de saída será " +"definido como 120." -#: ../../c-api/sys.rst:436 +#: ../../c-api/sys.rst:447 msgid "Errors from finalization no longer ignored." -msgstr "" +msgstr "Erros da finalização não são mais ignorados." -#: ../../c-api/sys.rst:446 +#: ../../c-api/sys.rst:457 msgid "" "Register a cleanup function to be called by :c:func:`Py_FinalizeEx`. The " "cleanup function will be called with no arguments and should return no " @@ -528,19 +691,31 @@ msgid "" "finalization will have completed before the cleanup function, no Python APIs " "should be called by *func*." msgstr "" +"Registra uma função de limpeza para ser chamada por :c:func:`Py_FinalizeEx`. " +"A função de limpeza será chamada sem argumentos e não deve retornar nenhum " +"valor. No máximo 32 funções de limpeza podem ser registradas. Quando o " +"registro for bem-sucedido, :c:func:`Py_AtExit` retorna ``0``; em caso de " +"falha, retorna ``-1``. A última função de limpeza registrada é chamada " +"primeiro. Cada função de limpeza será chamada no máximo uma vez. Como a " +"finalização interna do Python terá sido concluída antes da função de " +"limpeza, nenhuma API do Python deve ser chamada por *func*." -#: ../../c-api/sys.rst:409 -msgid "abort()" -msgstr "" +#: ../../c-api/sys.rst:99 +msgid "USE_STACKCHECK (C macro)" +msgstr "USE_STACKCHECK (macro C)" -#: ../../c-api/sys.rst:428 ../../c-api/sys.rst:442 -msgid "Py_FinalizeEx()" -msgstr "" +#: ../../c-api/sys.rst:420 +msgid "abort (C function)" +msgstr "abort (função C)" -#: ../../c-api/sys.rst:428 -msgid "exit()" -msgstr "" +#: ../../c-api/sys.rst:439 ../../c-api/sys.rst:453 +msgid "Py_FinalizeEx (C function)" +msgstr "Py_FinalizeEx (função C)" -#: ../../c-api/sys.rst:442 +#: ../../c-api/sys.rst:439 +msgid "exit (C function)" +msgstr "exit (função C)" + +#: ../../c-api/sys.rst:453 msgid "cleanup functions" -msgstr "" +msgstr "funções de limpeza" diff --git a/c-api/tuple.po b/c-api/tuple.po index 9f886876e..b2fafc61d 100644 --- a/c-api/tuple.po +++ b/c-api/tuple.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Juliana Karoline , 2021 -# Alexandre B A Villares, 2021 -# Vitor Buxbaum Orlandi, 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -71,8 +65,8 @@ msgstr "" msgid "" "Return a new tuple object of size *n*, or ``NULL`` on failure. The tuple " "values are initialized to the subsequent *n* C arguments pointing to Python " -"objects. ``PyTuple_Pack(2, a, b)`` is equivalent to " -"``Py_BuildValue(\"(OO)\", a, b)``." +"objects. ``PyTuple_Pack(2, a, b)`` is equivalent to ``Py_BuildValue(\"(OO)" +"\", a, b)``." msgstr "" "Retorna um novo objeto tupla de tamanho *n*, ou ``NULL`` em caso de falha. " "Os valores da tupla são inicializados para os *n* argumentos C subsequentes " @@ -94,12 +88,12 @@ msgstr "" #: ../../c-api/tuple.rst:59 msgid "" "Return the object at position *pos* in the tuple pointed to by *p*. If " -"*pos* is negative or out of bounds, return ``NULL`` and set an :exc:" -"`IndexError` exception." +"*pos* is negative or out of bounds, return ``NULL`` and set " +"an :exc:`IndexError` exception." msgstr "" "Retorna o objeto na posição *pos* na tupla apontada por *p*. Se *pos* " -"estiver fora dos limites, retorna ``NULL`` e define uma exceção :exc:" -"`IndexError`." +"estiver fora dos limites, retorna ``NULL`` e define uma " +"exceção :exc:`IndexError`." #: ../../c-api/tuple.rst:65 msgid "Like :c:func:`PyTuple_GetItem`, but does no checking of its arguments." @@ -145,14 +139,15 @@ msgstr "" #: ../../c-api/tuple.rst:94 msgid "" -"This function \"steals\" a reference to *o*, and, unlike :c:func:" -"`PyTuple_SetItem`, does *not* discard a reference to any item that is being " -"replaced; any reference in the tuple at position *pos* will be leaked." +"This function \"steals\" a reference to *o*, and, " +"unlike :c:func:`PyTuple_SetItem`, does *not* discard a reference to any item " +"that is being replaced; any reference in the tuple at position *pos* will be " +"leaked." msgstr "" -"Esta função \"rouba\" uma referência para *o* e, ao contrário de :c:func:" -"`PyTuple_SetItem`, *não* descarta uma referência para nenhum item que esteja " -"sendo substituído; qualquer referência na tupla na posição *pos* será " -"perdida." +"Esta função \"rouba\" uma referência para *o* e, ao contrário " +"de :c:func:`PyTuple_SetItem`, *não* descarta uma referência para nenhum item " +"que esteja sendo substituído; qualquer referência na tupla na posição *pos* " +"será perdida." #: ../../c-api/tuple.rst:102 msgid "" @@ -165,8 +160,8 @@ msgid "" "Client code should never assume that the resulting value of ``*p`` will be " "the same as before calling this function. If the object referenced by ``*p`` " "is replaced, the original ``*p`` is destroyed. On failure, returns ``-1`` " -"and sets ``*p`` to ``NULL``, and raises :exc:`MemoryError` or :exc:" -"`SystemError`." +"and sets ``*p`` to ``NULL``, and raises :exc:`MemoryError` " +"or :exc:`SystemError`." msgstr "" "Pode ser usado para redimensionar uma tupla. *newsize* será o novo " "comprimento da tupla. Como as tuplas são *supostamente* imutáveis, isso só " @@ -174,44 +169,45 @@ msgstr "" "a tupla já for conhecida por alguma outra parte do código. A tupla sempre " "aumentará ou diminuirá no final. Pense nisso como destruir a tupla antiga e " "criar uma nova, mas com mais eficiência. Retorna ``0`` em caso de sucesso. O " -"código do cliente nunca deve assumir que o valor resultante de ``*p`` será o " -"mesmo de antes de chamar esta função. Se o objeto referenciado por ``*p`` " +"código do cliente nunca deve presumir que o valor resultante de ``*p`` será " +"o mesmo de antes de chamar esta função. Se o objeto referenciado por ``*p`` " "for substituído, o ``*p`` original será destruído. Em caso de falha, retorna " -"``-1`` e define ``*p`` para ``NULL``, e levanta :exc:`MemoryError` ou :exc:" -"`SystemError`." +"``-1`` e define ``*p`` para ``NULL``, e levanta :exc:`MemoryError` " +"ou :exc:`SystemError`." -#: ../../c-api/tuple.rst:115 +#: ../../c-api/tuple.rst:117 msgid "Struct Sequence Objects" msgstr "Objetos sequência de estrutura" -#: ../../c-api/tuple.rst:117 +#: ../../c-api/tuple.rst:119 msgid "" -"Struct sequence objects are the C equivalent of :func:`~collections." -"namedtuple` objects, i.e. a sequence whose items can also be accessed " -"through attributes. To create a struct sequence, you first have to create a " -"specific struct sequence type." +"Struct sequence objects are the C equivalent " +"of :func:`~collections.namedtuple` objects, i.e. a sequence whose items can " +"also be accessed through attributes. To create a struct sequence, you first " +"have to create a specific struct sequence type." msgstr "" -"Objetos sequência de estrutura são o equivalente em C dos objetos :func:" -"`~Collections.namedtuple`, ou seja, uma sequência cujos itens também podem " -"ser acessados por meio de atributos. Para criar uma sequência de estrutura, " -"você primeiro precisa criar um tipo de sequência de estrutura específico." +"Objetos sequência de estrutura são o equivalente em C dos " +"objetos :func:`~Collections.namedtuple`, ou seja, uma sequência cujos itens " +"também podem ser acessados por meio de atributos. Para criar uma sequência " +"de estrutura, você primeiro precisa criar um tipo de sequência de estrutura " +"específico." -#: ../../c-api/tuple.rst:124 +#: ../../c-api/tuple.rst:126 msgid "" "Create a new struct sequence type from the data in *desc*, described below. " -"Instances of the resulting type can be created with :c:func:" -"`PyStructSequence_New`." +"Instances of the resulting type can be created " +"with :c:func:`PyStructSequence_New`." msgstr "" "Cria um novo tipo de sequência de estrutura a partir dos dados em *desc*, " -"descrito abaixo. Instâncias do tipo resultante podem ser criadas com :c:func:" -"`PyStructSequence_New`." +"descrito abaixo. Instâncias do tipo resultante podem ser criadas " +"com :c:func:`PyStructSequence_New`." -#: ../../c-api/tuple.rst:130 +#: ../../c-api/tuple.rst:132 msgid "Initializes a struct sequence type *type* from *desc* in place." msgstr "" "Inicializa um tipo de sequência de estrutura *type* de *desc* no lugar." -#: ../../c-api/tuple.rst:135 +#: ../../c-api/tuple.rst:137 msgid "" "The same as ``PyStructSequence_InitType``, but returns ``0`` on success and " "``-1`` on failure." @@ -219,111 +215,72 @@ msgstr "" "O mesmo que ``PyStructSequence_InitType``, mas retorna ``0`` em caso de " "sucesso e ``-1`` em caso de falha." -#: ../../c-api/tuple.rst:143 +#: ../../c-api/tuple.rst:145 msgid "Contains the meta information of a struct sequence type to create." msgstr "" "Contém as metainformações de um tipo de sequência de estrutura a ser criado." -#: ../../c-api/tuple.rst:146 ../../c-api/tuple.rst:169 -msgid "Field" -msgstr "Campo" - -#: ../../c-api/tuple.rst:146 ../../c-api/tuple.rst:169 -msgid "C Type" -msgstr "Tipo em C" - -#: ../../c-api/tuple.rst:146 ../../c-api/tuple.rst:169 -msgid "Meaning" -msgstr "Significado" - -#: ../../c-api/tuple.rst:148 ../../c-api/tuple.rst:171 -msgid "``name``" -msgstr "``name``" - -#: ../../c-api/tuple.rst:148 ../../c-api/tuple.rst:150 -#: ../../c-api/tuple.rst:171 ../../c-api/tuple.rst:176 -msgid "``const char *``" -msgstr "``const char *``" - -#: ../../c-api/tuple.rst:148 -msgid "name of the struct sequence type" -msgstr "nome do tipo sequência de estrutura" - -#: ../../c-api/tuple.rst:150 ../../c-api/tuple.rst:176 -msgid "``doc``" -msgstr "``doc``" - -#: ../../c-api/tuple.rst:150 -msgid "pointer to docstring for the type or ``NULL`` to omit" -msgstr "ponteiro para docstring para o tipo ou ``NULL`` para omitir" - -#: ../../c-api/tuple.rst:153 -msgid "``fields``" -msgstr "``fields``" +#: ../../c-api/tuple.rst:149 +msgid "Name of the struct sequence type." +msgstr "" #: ../../c-api/tuple.rst:153 -msgid "``PyStructSequence_Field *``" -msgstr "``PyStructSequence_Field *``" +msgid "Pointer to docstring for the type or ``NULL`` to omit." +msgstr "Ponteiro para docstring para o tipo ou ``NULL`` para omitir" -#: ../../c-api/tuple.rst:153 -msgid "pointer to ``NULL``-terminated array with field names of the new type" +#: ../../c-api/tuple.rst:157 +msgid "Pointer to ``NULL``-terminated array with field names of the new type." msgstr "" -"ponteiro para um vetor terminado em ``NULL`` com nomes de campos do novo tipo" - -#: ../../c-api/tuple.rst:156 -msgid "``n_in_sequence``" -msgstr "``n_in_sequence``" - -#: ../../c-api/tuple.rst:156 -msgid "``int``" -msgstr "``int``" +"Ponteiro para um vetor terminado em ``NULL`` com nomes de campos do novo tipo" -#: ../../c-api/tuple.rst:156 -msgid "number of fields visible to the Python side (if used as tuple)" -msgstr "número de campos visíveis para o lado Python (se usado como tupla)" +#: ../../c-api/tuple.rst:161 +msgid "Number of fields visible to the Python side (if used as tuple)." +msgstr "Número de campos visíveis para o lado Python (se usado como tupla)" -#: ../../c-api/tuple.rst:163 +#: ../../c-api/tuple.rst:166 msgid "" "Describes a field of a struct sequence. As a struct sequence is modeled as a " -"tuple, all fields are typed as :c:expr:`PyObject*`. The index in the :attr:" -"`fields` array of the :c:type:`PyStructSequence_Desc` determines which field " -"of the struct sequence is described." +"tuple, all fields are typed as :c:expr:`PyObject*`. The index in " +"the :c:member:`~PyStructSequence_Desc.fields` array of " +"the :c:type:`PyStructSequence_Desc` determines which field of the struct " +"sequence is described." msgstr "" "Descreve um campo de uma sequência de estrutura. Como uma sequência de " -"estrutura é modelada como uma tupla, todos os campos são digitados como :c:" -"expr:`PyObject*`. O índice no vetor :attr:`fields` do :c:type:" -"`PyStructSequence_Desc` determina qual campo da sequência de estrutura é " -"descrito." +"estrutura é modelada como uma tupla, todos os campos são digitados " +"como :c:expr:`PyObject*`. O índice no " +"vetor :c:member:`~PyStructSequence_Desc.fields` " +"do :c:type:`PyStructSequence_Desc` determina qual campo da sequência de " +"estrutura é descrito." -#: ../../c-api/tuple.rst:171 +#: ../../c-api/tuple.rst:174 msgid "" -"name for the field or ``NULL`` to end the list of named fields, set to :c:" -"data:`PyStructSequence_UnnamedField` to leave unnamed" +"Name for the field or ``NULL`` to end the list of named fields, set " +"to :c:data:`PyStructSequence_UnnamedField` to leave unnamed." msgstr "" -"nome do campo ou ``NULL`` para terminar a lista de campos nomeados; definida " -"para :c:data:`PyStructSequence_UnnamedField` para deixar sem nome" +"Nome do campo ou ``NULL`` para terminar a lista de campos nomeados; definida " +"para :c:data:`PyStructSequence_UnnamedField` para deixar sem nome." -#: ../../c-api/tuple.rst:176 -msgid "field docstring or ``NULL`` to omit" -msgstr "campo docstring ou ``NULL`` para omitir" +#: ../../c-api/tuple.rst:179 +msgid "Field docstring or ``NULL`` to omit." +msgstr "Campo docstring ou ``NULL`` para omitir." -#: ../../c-api/tuple.rst:182 +#: ../../c-api/tuple.rst:184 msgid "Special value for a field name to leave it unnamed." msgstr "Valor especial para um nome de campo para deixá-lo sem nome." -#: ../../c-api/tuple.rst:184 +#: ../../c-api/tuple.rst:186 msgid "The type was changed from ``char *``." msgstr "O tipo foi alterado de ``char *``." -#: ../../c-api/tuple.rst:190 +#: ../../c-api/tuple.rst:192 msgid "" -"Creates an instance of *type*, which must have been created with :c:func:" -"`PyStructSequence_NewType`." +"Creates an instance of *type*, which must have been created " +"with :c:func:`PyStructSequence_NewType`." msgstr "" -"Cria um instância de *type*, que deve ser criada com :c:func:" -"`PyStructSequence_NewType`." +"Cria um instância de *type*, que deve ser criada " +"com :c:func:`PyStructSequence_NewType`." -#: ../../c-api/tuple.rst:196 +#: ../../c-api/tuple.rst:198 msgid "" "Return the object at position *pos* in the struct sequence pointed to by " "*p*. No bounds checking is performed." @@ -331,11 +288,11 @@ msgstr "" "Retorna o objeto na posição *pos* na sequência de estrutura apontada por " "*p*. Nenhuma verificação de limites é executada." -#: ../../c-api/tuple.rst:202 +#: ../../c-api/tuple.rst:204 msgid "Macro equivalent of :c:func:`PyStructSequence_GetItem`." msgstr "Macro equivalente de :c:func:`PyStructSequence_GetItem`." -#: ../../c-api/tuple.rst:207 +#: ../../c-api/tuple.rst:209 msgid "" "Sets the field at index *pos* of the struct sequence *p* to value *o*. " "Like :c:func:`PyTuple_SET_ITEM`, this should only be used to fill in brand " @@ -345,11 +302,11 @@ msgstr "" "*o*. Como :c:func:`PyTuple_SET_ITEM`, isto só deve ser usado para preencher " "novas instâncias." -#: ../../c-api/tuple.rst:213 ../../c-api/tuple.rst:223 +#: ../../c-api/tuple.rst:215 ../../c-api/tuple.rst:225 msgid "This function \"steals\" a reference to *o*." msgstr "Esta função \"rouba\" uma referência a *o*." -#: ../../c-api/tuple.rst:218 +#: ../../c-api/tuple.rst:220 msgid "" "Similar to :c:func:`PyStructSequence_SetItem`, but implemented as a static " "inlined function." diff --git a/c-api/type.po b/c-api/type.po index 5f7db5415..99f84d7ca 100644 --- a/c-api/type.po +++ b/c-api/type.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Gustavo Reis, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Gustavo Reis, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -34,11 +34,11 @@ msgstr "A estrutura C dos objetos usados para descrever tipos embutidos." #: ../../c-api/type.rst:18 msgid "" -"This is the type object for type objects; it is the same object as :class:" -"`type` in the Python layer." +"This is the type object for type objects; it is the same object " +"as :class:`type` in the Python layer." msgstr "" -"Este é o objeto de tipo para objetos tipo; é o mesmo objeto que :class:" -"`type` na camada Python." +"Este é o objeto de tipo para objetos tipo; é o mesmo objeto " +"que :class:`type` na camada Python." #: ../../c-api/type.rst:24 msgid "" @@ -68,8 +68,9 @@ msgstr "Limpa o cache de pesquisa interno. Retorna a marcação de versão atual msgid "" "Return the :c:member:`~PyTypeObject.tp_flags` member of *type*. This " "function is primarily meant for use with ``Py_LIMITED_API``; the individual " -"flag bits are guaranteed to be stable across Python releases, but access to :" -"c:member:`~PyTypeObject.tp_flags` itself is not part of the limited API." +"flag bits are guaranteed to be stable across Python releases, but access " +"to :c:member:`~PyTypeObject.tp_flags` itself is not part of " +"the :ref:`limited API `." msgstr "" #: ../../c-api/type.rst:49 @@ -97,10 +98,8 @@ msgstr "" #: ../../c-api/type.rst:68 msgid "" "Return true if the type object includes support for the cycle detector; this " -"tests the type flag :const:`Py_TPFLAGS_HAVE_GC`." +"tests the type flag :c:macro:`Py_TPFLAGS_HAVE_GC`." msgstr "" -"Retorna verdadeiro se o objeto tipo incluir suporte para o detector de " -"ciclo; isso testa o sinalizador de tipo :const:`Py_TPFLAGS_HAVE_GC`." #: ../../c-api/type.rst:74 msgid "Return true if *a* is a subtype of *b*." @@ -108,14 +107,15 @@ msgstr "Retorna verdadeiro se *a* for um subtipo de *b*." #: ../../c-api/type.rst:76 msgid "" -"This function only checks for actual subtypes, which means that :meth:" -"`~class.__subclasscheck__` is not called on *b*. Call :c:func:" -"`PyObject_IsSubclass` to do the same check that :func:`issubclass` would do." +"This function only checks for actual subtypes, which means " +"that :meth:`~class.__subclasscheck__` is not called on *b*. " +"Call :c:func:`PyObject_IsSubclass` to do the same check " +"that :func:`issubclass` would do." msgstr "" -"Esta função só verifica pelos subtipos, o que significa que :meth:`~class." -"__subclasscheck__` não é chamado em *b*. Chame :c:func:" -"`PyObject_IsSubclass` para fazer a mesma verificação que :func:`issubclass` " -"faria." +"Esta função só verifica pelos subtipos, o que significa " +"que :meth:`~class.__subclasscheck__` não é chamado em *b*. " +"Chame :c:func:`PyObject_IsSubclass` para fazer a mesma verificação " +"que :func:`issubclass` faria." #: ../../c-api/type.rst:84 msgid "" @@ -130,12 +130,12 @@ msgstr "" #: ../../c-api/type.rst:90 msgid "" "Generic handler for the :c:member:`~PyTypeObject.tp_new` slot of a type " -"object. Create a new instance using the type's :c:member:`~PyTypeObject." -"tp_alloc` slot." +"object. Create a new instance using the " +"type's :c:member:`~PyTypeObject.tp_alloc` slot." msgstr "" "Manipulador genérico para o slot :c:member:`~PyTypeObject.tp_new` de um " -"objeto tipo. Cria uma nova instância usando o slot :c:member:`~PyTypeObject." -"tp_alloc` do tipo." +"objeto tipo. Cria uma nova instância usando o " +"slot :c:member:`~PyTypeObject.tp_alloc` do tipo." #: ../../c-api/type.rst:95 msgid "" @@ -152,11 +152,12 @@ msgstr "" #: ../../c-api/type.rst:101 msgid "" "If some of the base classes implements the GC protocol and the provided type " -"does not include the :const:`Py_TPFLAGS_HAVE_GC` in its flags, then the GC " +"does not include the :c:macro:`Py_TPFLAGS_HAVE_GC` in its flags, then the GC " "protocol will be automatically implemented from its parents. On the " -"contrary, if the type being created does include :const:`Py_TPFLAGS_HAVE_GC` " -"in its flags then it **must** implement the GC protocol itself by at least " -"implementing the :c:member:`~PyTypeObject.tp_traverse` handle." +"contrary, if the type being created does " +"include :c:macro:`Py_TPFLAGS_HAVE_GC` in its flags then it **must** " +"implement the GC protocol itself by at least implementing " +"the :c:member:`~PyTypeObject.tp_traverse` handle." msgstr "" #: ../../c-api/type.rst:111 @@ -194,6 +195,8 @@ msgid "" ":c:func:`PyType_GetSlot` can now accept all types. Previously, it was " "limited to :ref:`heap types `." msgstr "" +":c:func:`PyType_GetSlot` agora aceita todos os tipos. Antes, estava limitada " +"a :ref:`tipos heap `." #: ../../c-api/type.rst:140 msgid "" @@ -208,8 +211,8 @@ msgid "" "If no module is associated with the given type, sets :py:class:`TypeError` " "and returns ``NULL``." msgstr "" -"Se nenhum módulo estiver associado com o tipo fornecido, define :py:class:" -"`TypeError` e retorna ``NULL``." +"Se nenhum módulo estiver associado com o tipo fornecido, " +"define :py:class:`TypeError` e retorna ``NULL``." #: ../../c-api/type.rst:146 msgid "" @@ -218,15 +221,15 @@ msgid "" "not return the intended result. ``Py_TYPE(self)`` may be a *subclass* of the " "intended class, and subclasses are not necessarily defined in the same " "module as their superclass. See :c:type:`PyCMethod` to get the class that " -"defines the method. See :c:func:`PyType_GetModuleByDef` for cases when " -"``PyCMethod`` cannot be used." +"defines the method. See :c:func:`PyType_GetModuleByDef` for cases " +"when :c:type:`!PyCMethod` cannot be used." msgstr "" #: ../../c-api/type.rst:159 msgid "" "Return the state of the module object associated with the given type. This " -"is a shortcut for calling :c:func:`PyModule_GetState()` on the result of :c:" -"func:`PyType_GetModule`." +"is a shortcut for calling :c:func:`PyModule_GetState()` on the result " +"of :c:func:`PyType_GetModule`." msgstr "" #: ../../c-api/type.rst:166 @@ -234,25 +237,32 @@ msgid "" "If the *type* has an associated module but its state is ``NULL``, returns " "``NULL`` without setting an exception." msgstr "" +"Se o *tipo* tem um módulo associado mas o seu estado é ``NULL``, retorna " +"``NULL`` sem definir uma exceção." #: ../../c-api/type.rst:173 msgid "" -"Find the first superclass whose module was created from the given :c:type:" -"`PyModuleDef` *def*, and return that module." +"Find the first superclass whose module was created from the " +"given :c:type:`PyModuleDef` *def*, and return that module." msgstr "" +"Encontra a primeira super-classe da qual o módulo foi criado " +"por :c:type:`PyModuleDef` *def*, e retorna esse módulo." #: ../../c-api/type.rst:176 msgid "" "If no module is found, raises a :py:class:`TypeError` and returns ``NULL``." msgstr "" +"Se nenhum módulo é encontrado, levanta um :py:class:`TypeError` e retorna " +"``NULL``." #: ../../c-api/type.rst:178 msgid "" -"This function is intended to be used together with :c:func:" -"`PyModule_GetState()` to get module state from slot methods (such as :c:" -"member:`~PyTypeObject.tp_init` or :c:member:`~PyNumberMethods.nb_add`) and " -"other places where a method's defining class cannot be passed using the :c:" -"type:`PyCMethod` calling convention." +"This function is intended to be used together " +"with :c:func:`PyModule_GetState()` to get module state from slot methods " +"(such as :c:member:`~PyTypeObject.tp_init` " +"or :c:member:`~PyNumberMethods.nb_add`) and other places where a method's " +"defining class cannot be passed using the :c:type:`PyCMethod` calling " +"convention." msgstr "" #: ../../c-api/type.rst:188 @@ -267,8 +277,8 @@ msgstr "" #: ../../c-api/type.rst:195 msgid "" -"Creates and returns a :ref:`heap type ` from the *spec* (:const:" -"`Py_TPFLAGS_HEAPTYPE`)." +"Creates and returns a :ref:`heap type ` from the *spec* " +"(:c:macro:`Py_TPFLAGS_HEAPTYPE`)." msgstr "" #: ../../c-api/type.rst:198 @@ -284,8 +294,8 @@ msgstr "" msgid "" "The *module* argument can be used to record the module in which the new " "class is defined. It must be a module object or ``NULL``. If not ``NULL``, " -"the module is associated with the new type and can later be retrieved with :" -"c:func:`PyType_GetModule`. The associated module is not inherited by " +"the module is associated with the new type and can later be retrieved " +"with :c:func:`PyType_GetModule`. The associated module is not inherited by " "subclasses; it must be specified for each class individually." msgstr "" @@ -317,8 +327,9 @@ msgstr "" #: ../../c-api/type.rst:241 msgid "" -"Size of the instance in bytes, used to set :c:member:`PyTypeObject." -"tp_basicsize` and :c:member:`PyTypeObject.tp_itemsize`." +"Size of the instance in bytes, used to " +"set :c:member:`PyTypeObject.tp_basicsize` " +"and :c:member:`PyTypeObject.tp_itemsize`." msgstr "" #: ../../c-api/type.rst:247 @@ -327,8 +338,8 @@ msgstr "" #: ../../c-api/type.rst:249 msgid "" -"If the ``Py_TPFLAGS_HEAPTYPE`` flag is not set, :c:func:" -"`PyType_FromSpecWithBases` sets it automatically." +"If the ``Py_TPFLAGS_HEAPTYPE`` flag is not " +"set, :c:func:`PyType_FromSpecWithBases` sets it automatically." msgstr "" #: ../../c-api/type.rst:254 @@ -349,10 +360,9 @@ msgstr "" #: ../../c-api/type.rst:266 msgid "" -"Slot IDs are named like the field names of the structures :c:type:" -"`PyTypeObject`, :c:type:`PyNumberMethods`, :c:type:`PySequenceMethods`, :c:" -"type:`PyMappingMethods` and :c:type:`PyAsyncMethods` with an added ``Py_`` " -"prefix. For example, use:" +"Slot IDs are named like the field names of the " +"structures :c:type:`PyTypeObject`, :c:type:`PyNumberMethods`, :c:type:`PySequenceMethods`, :c:type:`PyMappingMethods` " +"and :c:type:`PyAsyncMethods` with an added ``Py_`` prefix. For example, use:" msgstr "" #: ../../c-api/type.rst:272 @@ -369,8 +379,8 @@ msgstr "" #: ../../c-api/type.rst:276 msgid "" -"The following fields cannot be set at all using :c:type:`PyType_Spec` and :c:" -"type:`PyType_Slot`:" +"The following fields cannot be set at all using :c:type:`PyType_Spec` " +"and :c:type:`PyType_Slot`:" msgstr "" #: ../../c-api/type.rst:279 @@ -418,8 +428,8 @@ msgstr "" #: ../../c-api/type.rst:292 msgid "" "Setting :c:data:`Py_tp_bases` or :c:data:`Py_tp_base` may be problematic on " -"some platforms. To avoid issues, use the *bases* argument of :py:func:" -"`PyType_FromSpecWithBases` instead." +"some platforms. To avoid issues, use the *bases* argument " +"of :c:func:`PyType_FromSpecWithBases` instead." msgstr "" #: ../../c-api/type.rst:299 @@ -428,8 +438,9 @@ msgstr "" #: ../../c-api/type.rst:301 msgid "" -":c:member:`~PyBufferProcs.bf_getbuffer` and :c:member:`~PyBufferProcs." -"bf_releasebuffer` are now available under the limited API." +":c:member:`~PyBufferProcs.bf_getbuffer` " +"and :c:member:`~PyBufferProcs.bf_releasebuffer` are now available under " +"the :ref:`limited API `." msgstr "" #: ../../c-api/type.rst:308 diff --git a/c-api/typehints.po b/c-api/typehints.po index ceb025a13..004cbeb1b 100644 --- a/c-api/typehints.po +++ b/c-api/typehints.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Vitor Buxbaum Orlandi, 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -43,39 +42,40 @@ msgid "" "Create a :ref:`GenericAlias ` object. Equivalent to " "calling the Python class :class:`types.GenericAlias`. The *origin* and " "*args* arguments set the ``GenericAlias``\\ 's ``__origin__`` and " -"``__args__`` attributes respectively. *origin* should be a :c:expr:" -"`PyTypeObject*`, and *args* can be a :c:expr:`PyTupleObject*` or any " -"``PyObject*``. If *args* passed is not a tuple, a 1-tuple is automatically " -"constructed and ``__args__`` is set to ``(args,)``. Minimal checking is done " -"for the arguments, so the function will succeed even if *origin* is not a " -"type. The ``GenericAlias``\\ 's ``__parameters__`` attribute is constructed " -"lazily from ``__args__``. On failure, an exception is raised and ``NULL`` " -"is returned." +"``__args__`` attributes respectively. *origin* should be " +"a :c:expr:`PyTypeObject*`, and *args* can be a :c:expr:`PyTupleObject*` or " +"any ``PyObject*``. If *args* passed is not a tuple, a 1-tuple is " +"automatically constructed and ``__args__`` is set to ``(args,)``. Minimal " +"checking is done for the arguments, so the function will succeed even if " +"*origin* is not a type. The ``GenericAlias``\\ 's ``__parameters__`` " +"attribute is constructed lazily from ``__args__``. On failure, an exception " +"is raised and ``NULL`` is returned." msgstr "" -"Cria um objeto :ref:`GenericAlias ​​`. Equivalente a " +"Cria um objeto :ref:`GenericAlias `. Equivalente a " "chamar a classe Python :class:`types.GenericAlias`. Os argumentos *origin* e " "*args* definem os atributos ``__origin__`` e ``__args__`` de " -"``GenericAlias`` respectivamente. *origin* deve ser um :c:expr:" -"`PyTypeObject*`, e *args* pode ser um :c:expr:`PyTupleObject*` ou qualquer " -"``PyObject*``. Se *args* passado não for uma tupla, uma tupla de 1 elemento " -"é construída automaticamente e ``__args__`` é definido como ``(args,)``. A " -"verificação mínima é feita para os argumentos, então a função terá sucesso " -"mesmo se *origin* não for um tipo. O atributo ``__parameters__`` de " -"``GenericAlias`` é construído lentamente a partir de ``__args__``. Em caso " -"de falha, uma exceção é levantada e ``NULL`` é retornado." +"``GenericAlias`` respectivamente. *origin* deve ser " +"um :c:expr:`PyTypeObject*`, e *args* pode ser um :c:expr:`PyTupleObject*` ou " +"qualquer ``PyObject*``. Se *args* passado não for uma tupla, uma tupla de 1 " +"elemento é construída automaticamente e ``__args__`` é definido como " +"``(args,)``. A verificação mínima é feita para os argumentos, então a função " +"terá sucesso mesmo se *origin* não for um tipo. O atributo " +"``__parameters__`` de ``GenericAlias`` é construído lentamente a partir de " +"``__args__``. Em caso de falha, uma exceção é levantada e ``NULL`` é " +"retornado." #: ../../c-api/typehints.rst:28 msgid "Here's an example of how to make an extension type generic::" msgstr "Aqui está um exemplo de como tornar um tipo de extensão genérico::" #: ../../c-api/typehints.rst:38 -msgid "The data model method :meth:`__class_getitem__`." -msgstr "O método de modelo de dados :meth:`__class_getitem__`." +msgid "The data model method :meth:`~object.__class_getitem__`." +msgstr "O método de modelo de dados :meth:`~object.__class_getitem__`." #: ../../c-api/typehints.rst:44 msgid "" "The C type of the object returned by :c:func:`Py_GenericAlias`. Equivalent " "to :class:`types.GenericAlias` in Python." msgstr "" -"O tipo C do objeto retornado por :c:func:`Py_GenericAlias`. Equivalente a :" -"class:`types.GenericAlias` no Python." +"O tipo C do objeto retornado por :c:func:`Py_GenericAlias`. Equivalente " +"a :class:`types.GenericAlias` no Python." diff --git a/c-api/typeobj.po b/c-api/typeobj.po index fbe6eec24..7cc7d03a7 100644 --- a/c-api/typeobj.po +++ b/c-api/typeobj.po @@ -1,29 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# (Douglas da Silva) , 2021 -# Claudio Rogerio Carvalho Filho , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,6 +38,13 @@ msgid "" "they are very important to the interpreter itself and to any extension " "module that implements new types." msgstr "" +"Talvez uma das estruturas mais importantes do sistema de objetos Python seja " +"a estrutura que define um novo tipo: a estrutura :c:type:`PyTypeObject`. " +"Objetos tipo podem ser manipulados usando qualquer uma das funções " +"``PyObject_*`` ou ``PyType_*``, mas não oferecem muito de interessante para " +"a maioria das aplicações Python. Esses objetos são fundamentais para o " +"comportamento dos objetos, portanto, são muito importantes para o próprio " +"interpretador e para qualquer módulo de extensão que implemente novos tipos." #: ../../c-api/typeobj.rst:16 msgid "" @@ -51,18 +55,18 @@ msgid "" "detail in this section. The fields will be described in the order in which " "they occur in the structure." msgstr "" -"Os objetos de tipo são bastante grandes em comparação com a maioria dos " -"tipos padrão. A razão para o tamanho é que cada objeto de tipo armazena um " -"grande número de valores, principalmente indicadores de função C, cada um " -"dos quais implementa uma pequena parte da funcionalidade do tipo. Os campos " -"do objeto de tipo são examinados em detalhes nesta seção. Os campos serão " -"descritos na ordem em que ocorrem na estrutura." +"Os objetos tipo são bastante grandes em comparação com a maioria dos tipos " +"padrão. A razão para o tamanho é que cada objeto de tipo armazena um grande " +"número de valores, principalmente indicadores de função C, cada um dos quais " +"implementa uma pequena parte da funcionalidade do tipo. Os campos do objeto " +"de tipo são examinados em detalhes nesta seção. Os campos serão descritos na " +"ordem em que ocorrem na estrutura." #: ../../c-api/typeobj.rst:23 msgid "" "In addition to the following quick reference, the :ref:`typedef-examples` " -"section provides at-a-glance insight into the meaning and use of :c:type:" -"`PyTypeObject`." +"section provides at-a-glance insight into the meaning and use " +"of :c:type:`PyTypeObject`." msgstr "" "Além da referência rápida a seguir, a seção :ref:`typedef-examples` fornece " "uma visão geral do significado e uso de :c:type:`PyTypeObject`." @@ -81,7 +85,7 @@ msgstr "Slot de PyTypeObject [#slots]_" #: ../../c-api/typeobj.rst:40 ../../c-api/typeobj.rst:199 msgid ":ref:`Type `" -msgstr ":ref:`Type `" +msgstr ":ref:`Tipo `" #: ../../c-api/typeobj.rst:40 msgid "special methods/attrs" @@ -111,8 +115,8 @@ msgstr "I" msgid " :c:member:`~PyTypeObject.tp_name`" msgstr " :c:member:`~PyTypeObject.tp_name`" -#: ../../c-api/typeobj.rst:44 ../../c-api/typeobj.rst:86 -#: ../../c-api/typeobj.rst:0 +#: ../../c-api/typeobj.rst:0 ../../c-api/typeobj.rst:44 +#: ../../c-api/typeobj.rst:86 msgid "const char *" msgstr "const char *" @@ -143,12 +147,12 @@ msgstr "X" msgid ":c:member:`~PyTypeObject.tp_basicsize`" msgstr ":c:member:`~PyTypeObject.tp_basicsize`" -#: ../../c-api/typeobj.rst:46 ../../c-api/typeobj.rst:48 -#: ../../c-api/typeobj.rst:52 ../../c-api/typeobj.rst:99 -#: ../../c-api/typeobj.rst:120 ../../c-api/typeobj.rst:0 +#: ../../c-api/typeobj.rst:0 ../../c-api/typeobj.rst:46 +#: ../../c-api/typeobj.rst:48 ../../c-api/typeobj.rst:52 +#: ../../c-api/typeobj.rst:99 ../../c-api/typeobj.rst:120 #: ../../c-api/typeobj.rst:414 msgid ":c:type:`Py_ssize_t`" -msgstr "" +msgstr ":c:type:`Py_ssize_t`" #: ../../c-api/typeobj.rst:48 msgid ":c:member:`~PyTypeObject.tp_itemsize`" @@ -419,7 +423,7 @@ msgstr ":c:type:`PyGetSetDef` []" msgid ":c:member:`~PyTypeObject.tp_base`" msgstr ":c:member:`~PyTypeObject.tp_base`" -#: ../../c-api/typeobj.rst:111 ../../c-api/typeobj.rst:0 +#: ../../c-api/typeobj.rst:0 ../../c-api/typeobj.rst:111 msgid ":c:type:`PyTypeObject` *" msgstr ":c:type:`PyTypeObject` *" @@ -431,15 +435,16 @@ msgstr "__base__" msgid ":c:member:`~PyTypeObject.tp_dict`" msgstr ":c:member:`~PyTypeObject.tp_dict`" -#: ../../c-api/typeobj.rst:113 ../../c-api/typeobj.rst:132 -#: ../../c-api/typeobj.rst:134 ../../c-api/typeobj.rst:136 -#: ../../c-api/typeobj.rst:138 ../../c-api/typeobj.rst:140 -#: ../../c-api/typeobj.rst:339 ../../c-api/typeobj.rst:0 -#: ../../c-api/typeobj.rst:354 ../../c-api/typeobj.rst:366 -#: ../../c-api/typeobj.rst:368 ../../c-api/typeobj.rst:379 -#: ../../c-api/typeobj.rst:390 ../../c-api/typeobj.rst:402 -#: ../../c-api/typeobj.rst:404 ../../c-api/typeobj.rst:410 -#: ../../c-api/typeobj.rst:412 ../../c-api/typeobj.rst:414 +#: ../../c-api/typeobj.rst:0 ../../c-api/typeobj.rst:113 +#: ../../c-api/typeobj.rst:132 ../../c-api/typeobj.rst:134 +#: ../../c-api/typeobj.rst:136 ../../c-api/typeobj.rst:138 +#: ../../c-api/typeobj.rst:140 ../../c-api/typeobj.rst:339 +#: ../../c-api/typeobj.rst:344 ../../c-api/typeobj.rst:354 +#: ../../c-api/typeobj.rst:366 ../../c-api/typeobj.rst:368 +#: ../../c-api/typeobj.rst:379 ../../c-api/typeobj.rst:390 +#: ../../c-api/typeobj.rst:402 ../../c-api/typeobj.rst:404 +#: ../../c-api/typeobj.rst:410 ../../c-api/typeobj.rst:412 +#: ../../c-api/typeobj.rst:414 ../../c-api/typeobj.rst:427 #: ../../c-api/typeobj.rst:429 ../../c-api/typeobj.rst:433 #: ../../c-api/typeobj.rst:438 ../../c-api/typeobj.rst:444 msgid ":c:type:`PyObject` *" @@ -547,23 +552,23 @@ msgstr "[:c:member:`~PyTypeObject.tp_cache`]" #: ../../c-api/typeobj.rst:138 msgid "[:c:member:`~PyTypeObject.tp_subclasses`]" -msgstr "" +msgstr "[:c:member:`~PyTypeObject.tp_subclasses`]" #: ../../c-api/typeobj.rst:138 msgid "__subclasses__" -msgstr "" +msgstr "__subclasses__" #: ../../c-api/typeobj.rst:140 msgid "[:c:member:`~PyTypeObject.tp_weaklist`]" -msgstr "" +msgstr "[:c:member:`~PyTypeObject.tp_weaklist`]" #: ../../c-api/typeobj.rst:142 msgid "(:c:member:`~PyTypeObject.tp_del`)" -msgstr "" +msgstr "(:c:member:`~PyTypeObject.tp_del`)" #: ../../c-api/typeobj.rst:144 msgid "[:c:member:`~PyTypeObject.tp_version_tag`]" -msgstr "" +msgstr "[:c:member:`~PyTypeObject.tp_version_tag`]" #: ../../c-api/typeobj.rst:144 msgid "unsigned int" @@ -575,7 +580,7 @@ msgstr ":c:member:`~PyTypeObject.tp_finalize`" #: ../../c-api/typeobj.rst:146 msgid "__del__" -msgstr "" +msgstr "__del__" #: ../../c-api/typeobj.rst:148 msgid ":c:member:`~PyTypeObject.tp_vectorcall`" @@ -583,12 +588,14 @@ msgstr ":c:member:`~PyTypeObject.tp_vectorcall`" #: ../../c-api/typeobj.rst:148 msgid ":c:type:`vectorcallfunc`" -msgstr "" +msgstr ":c:type:`vectorcallfunc`" #: ../../c-api/typeobj.rst:153 msgid "" "**()**: A slot name in parentheses indicates it is (effectively) deprecated." msgstr "" +"**()**: Um nome de slot entre parênteses indica que está (efetivamente) " +"descontinuado." #: ../../c-api/typeobj.rst:155 msgid "" @@ -610,11 +617,11 @@ msgid "Columns:" msgstr "" #: ../../c-api/typeobj.rst:164 -msgid "**\"O\"**: set on :c:type:`PyBaseObject_Type`" +msgid "**\"O\"**: set on :c:data:`PyBaseObject_Type`" msgstr "" #: ../../c-api/typeobj.rst:166 -msgid "**\"T\"**: set on :c:type:`PyType_Type`" +msgid "**\"T\"**: set on :c:data:`PyType_Type`" msgstr "" #: ../../c-api/typeobj.rst:168 @@ -658,7 +665,7 @@ msgstr ":c:type:`unaryfunc`" #: ../../c-api/typeobj.rst:202 msgid "__await__" -msgstr "" +msgstr "__await__" #: ../../c-api/typeobj.rst:204 msgid ":c:member:`~PyAsyncMethods.am_aiter`" @@ -666,7 +673,7 @@ msgstr ":c:member:`~PyAsyncMethods.am_aiter`" #: ../../c-api/typeobj.rst:204 msgid "__aiter__" -msgstr "" +msgstr "__aiter__" #: ../../c-api/typeobj.rst:206 msgid ":c:member:`~PyAsyncMethods.am_anext`" @@ -674,15 +681,15 @@ msgstr ":c:member:`~PyAsyncMethods.am_anext`" #: ../../c-api/typeobj.rst:206 msgid "__anext__" -msgstr "" +msgstr "__anext__" #: ../../c-api/typeobj.rst:208 msgid ":c:member:`~PyAsyncMethods.am_send`" -msgstr "" +msgstr ":c:member:`~PyAsyncMethods.am_send`" #: ../../c-api/typeobj.rst:208 msgid ":c:type:`sendfunc`" -msgstr "" +msgstr ":c:type:`sendfunc`" #: ../../c-api/typeobj.rst:212 msgid ":c:member:`~PyNumberMethods.nb_add`" @@ -716,7 +723,7 @@ msgstr ":c:member:`~PyNumberMethods.nb_inplace_add`" #: ../../c-api/typeobj.rst:215 ../../c-api/typeobj.rst:320 msgid "__iadd__" -msgstr "" +msgstr "__iadd__" #: ../../c-api/typeobj.rst:217 msgid ":c:member:`~PyNumberMethods.nb_subtract`" @@ -748,7 +755,7 @@ msgstr ":c:member:`~PyNumberMethods.nb_inplace_multiply`" #: ../../c-api/typeobj.rst:225 ../../c-api/typeobj.rst:322 msgid "__imul__" -msgstr "" +msgstr "__imul__" #: ../../c-api/typeobj.rst:227 msgid ":c:member:`~PyNumberMethods.nb_remainder`" @@ -796,7 +803,7 @@ msgstr ":c:member:`~PyNumberMethods.nb_negative`" #: ../../c-api/typeobj.rst:240 msgid "__neg__" -msgstr "" +msgstr "__neg__" #: ../../c-api/typeobj.rst:242 msgid ":c:member:`~PyNumberMethods.nb_positive`" @@ -804,7 +811,7 @@ msgstr ":c:member:`~PyNumberMethods.nb_positive`" #: ../../c-api/typeobj.rst:242 msgid "__pos__" -msgstr "" +msgstr "__pos__" #: ../../c-api/typeobj.rst:244 msgid ":c:member:`~PyNumberMethods.nb_absolute`" @@ -812,7 +819,7 @@ msgstr ":c:member:`~PyNumberMethods.nb_absolute`" #: ../../c-api/typeobj.rst:244 msgid "__abs__" -msgstr "" +msgstr "__abs__" #: ../../c-api/typeobj.rst:246 msgid ":c:member:`~PyNumberMethods.nb_bool`" @@ -820,7 +827,7 @@ msgstr ":c:member:`~PyNumberMethods.nb_bool`" #: ../../c-api/typeobj.rst:246 msgid "__bool__" -msgstr "" +msgstr "__bool__" #: ../../c-api/typeobj.rst:248 msgid ":c:member:`~PyNumberMethods.nb_invert`" @@ -828,7 +835,7 @@ msgstr ":c:member:`~PyNumberMethods.nb_invert`" #: ../../c-api/typeobj.rst:248 msgid "__invert__" -msgstr "" +msgstr "__invert__" #: ../../c-api/typeobj.rst:250 msgid ":c:member:`~PyNumberMethods.nb_lshift`" @@ -916,17 +923,16 @@ msgstr ":c:member:`~PyNumberMethods.nb_int`" #: ../../c-api/typeobj.rst:275 msgid "__int__" -msgstr "" +msgstr "__int__" #: ../../c-api/typeobj.rst:277 msgid ":c:member:`~PyNumberMethods.nb_reserved`" msgstr ":c:member:`~PyNumberMethods.nb_reserved`" -#: ../../c-api/typeobj.rst:277 ../../c-api/typeobj.rst:344 -#: ../../c-api/typeobj.rst:346 ../../c-api/typeobj.rst:0 -#: ../../c-api/typeobj.rst:427 +#: ../../c-api/typeobj.rst:0 ../../c-api/typeobj.rst:277 +#: ../../c-api/typeobj.rst:346 msgid "void *" -msgstr "" +msgstr "void *" #: ../../c-api/typeobj.rst:279 msgid ":c:member:`~PyNumberMethods.nb_float`" @@ -934,7 +940,7 @@ msgstr ":c:member:`~PyNumberMethods.nb_float`" #: ../../c-api/typeobj.rst:279 msgid "__float__" -msgstr "" +msgstr "__float__" #: ../../c-api/typeobj.rst:281 msgid ":c:member:`~PyNumberMethods.nb_floor_divide`" @@ -942,7 +948,7 @@ msgstr ":c:member:`~PyNumberMethods.nb_floor_divide`" #: ../../c-api/typeobj.rst:281 msgid "__floordiv__" -msgstr "" +msgstr "__floordiv__" #: ../../c-api/typeobj.rst:283 msgid ":c:member:`~PyNumberMethods.nb_inplace_floor_divide`" @@ -958,7 +964,7 @@ msgstr ":c:member:`~PyNumberMethods.nb_true_divide`" #: ../../c-api/typeobj.rst:285 msgid "__truediv__" -msgstr "" +msgstr "__truediv__" #: ../../c-api/typeobj.rst:287 msgid ":c:member:`~PyNumberMethods.nb_inplace_true_divide`" @@ -974,7 +980,7 @@ msgstr ":c:member:`~PyNumberMethods.nb_index`" #: ../../c-api/typeobj.rst:289 msgid "__index__" -msgstr "" +msgstr "__index__" #: ../../c-api/typeobj.rst:291 msgid ":c:member:`~PyNumberMethods.nb_matrix_multiply`" @@ -1003,7 +1009,7 @@ msgstr ":c:type:`lenfunc`" #: ../../c-api/typeobj.rst:298 ../../c-api/typeobj.rst:307 msgid "__len__" -msgstr "" +msgstr "__len__" #: ../../c-api/typeobj.rst:300 msgid ":c:member:`~PyMappingMethods.mp_subscript`" @@ -1011,7 +1017,7 @@ msgstr ":c:member:`~PyMappingMethods.mp_subscript`" #: ../../c-api/typeobj.rst:300 ../../c-api/typeobj.rst:313 msgid "__getitem__" -msgstr "" +msgstr "__getitem__" #: ../../c-api/typeobj.rst:302 msgid ":c:member:`~PyMappingMethods.mp_ass_subscript`" @@ -1035,7 +1041,7 @@ msgstr ":c:member:`~PySequenceMethods.sq_concat`" #: ../../c-api/typeobj.rst:309 msgid "__add__" -msgstr "" +msgstr "__add__" #: ../../c-api/typeobj.rst:311 msgid ":c:member:`~PySequenceMethods.sq_repeat`" @@ -1048,7 +1054,7 @@ msgstr ":c:type:`ssizeargfunc`" #: ../../c-api/typeobj.rst:311 msgid "__mul__" -msgstr "" +msgstr "__mul__" #: ../../c-api/typeobj.rst:313 msgid ":c:member:`~PySequenceMethods.sq_item`" @@ -1076,7 +1082,7 @@ msgstr ":c:type:`objobjproc`" #: ../../c-api/typeobj.rst:318 msgid "__contains__" -msgstr "" +msgstr "__contains__" #: ../../c-api/typeobj.rst:320 msgid ":c:member:`~PySequenceMethods.sq_inplace_concat`" @@ -1108,7 +1114,7 @@ msgstr "" #: ../../c-api/typeobj.rst:337 msgid "typedef" -msgstr "" +msgstr "typedef" #: ../../c-api/typeobj.rst:337 msgid "Parameter Types" @@ -1121,15 +1127,15 @@ msgstr "" #: ../../c-api/typeobj.rst:344 ../../c-api/typeobj.rst:346 #: ../../c-api/typeobj.rst:422 msgid "void" -msgstr "" +msgstr "void" #: ../../c-api/typeobj.rst:0 msgid ":c:type:`visitproc`" msgstr ":c:type:`visitproc`" -#: ../../c-api/typeobj.rst:348 ../../c-api/typeobj.rst:360 -#: ../../c-api/typeobj.rst:373 ../../c-api/typeobj.rst:384 -#: ../../c-api/typeobj.rst:396 ../../c-api/typeobj.rst:0 +#: ../../c-api/typeobj.rst:0 ../../c-api/typeobj.rst:348 +#: ../../c-api/typeobj.rst:360 ../../c-api/typeobj.rst:373 +#: ../../c-api/typeobj.rst:384 ../../c-api/typeobj.rst:396 #: ../../c-api/typeobj.rst:416 ../../c-api/typeobj.rst:427 #: ../../c-api/typeobj.rst:449 ../../c-api/typeobj.rst:455 #: ../../c-api/typeobj.rst:460 @@ -1138,7 +1144,7 @@ msgstr "int" #: ../../c-api/typeobj.rst:402 msgid "Py_hash_t" -msgstr "" +msgstr "Py_hash_t" #: ../../c-api/typeobj.rst:416 msgid ":c:type:`getbufferproc`" @@ -1162,8 +1168,8 @@ msgstr "" #: ../../c-api/typeobj.rst:473 msgid "" -"The structure definition for :c:type:`PyTypeObject` can be found in :file:" -"`Include/object.h`. For convenience of reference, this repeats the " +"The structure definition for :c:type:`PyTypeObject` can be found " +"in :file:`Include/object.h`. For convenience of reference, this repeats the " "definition found there:" msgstr "" @@ -1173,54 +1179,56 @@ msgstr "" #: ../../c-api/typeobj.rst:485 msgid "" -"The type object structure extends the :c:type:`PyVarObject` structure. The :" -"attr:`ob_size` field is used for dynamic types (created by :func:`type_new`, " -"usually called from a class statement). Note that :c:data:`PyType_Type` (the " -"metatype) initializes :c:member:`~PyTypeObject.tp_itemsize`, which means " -"that its instances (i.e. type objects) *must* have the :attr:`ob_size` field." +"The type object structure extends the :c:type:`PyVarObject` structure. " +"The :c:member:`~PyVarObject.ob_size` field is used for dynamic types " +"(created by :c:func:`!type_new`, usually called from a class statement). " +"Note that :c:data:`PyType_Type` (the metatype) " +"initializes :c:member:`~PyTypeObject.tp_itemsize`, which means that its " +"instances (i.e. type objects) *must* have " +"the :c:member:`~PyVarObject.ob_size` field." msgstr "" #: ../../c-api/typeobj.rst:494 msgid "" "This is the type object's reference count, initialized to ``1`` by the " "``PyObject_HEAD_INIT`` macro. Note that for :ref:`statically allocated type " -"objects `, the type's instances (objects whose :attr:`ob_type` " -"points back to the type) do *not* count as references. But for :ref:" -"`dynamically allocated type objects `, the instances *do* count " -"as references." +"objects `, the type's instances (objects " +"whose :c:member:`~PyObject.ob_type` points back to the type) do *not* count " +"as references. But for :ref:`dynamically allocated type objects `, the instances *do* count as references." msgstr "" #: ../../c-api/typeobj.rst:501 ../../c-api/typeobj.rst:524 #: ../../c-api/typeobj.rst:546 ../../c-api/typeobj.rst:560 #: ../../c-api/typeobj.rst:604 ../../c-api/typeobj.rst:647 -#: ../../c-api/typeobj.rst:705 ../../c-api/typeobj.rst:743 -#: ../../c-api/typeobj.rst:763 ../../c-api/typeobj.rst:780 -#: ../../c-api/typeobj.rst:798 ../../c-api/typeobj.rst:822 -#: ../../c-api/typeobj.rst:839 ../../c-api/typeobj.rst:851 -#: ../../c-api/typeobj.rst:863 ../../c-api/typeobj.rst:896 -#: ../../c-api/typeobj.rst:914 ../../c-api/typeobj.rst:934 -#: ../../c-api/typeobj.rst:955 ../../c-api/typeobj.rst:981 -#: ../../c-api/typeobj.rst:1000 ../../c-api/typeobj.rst:1016 -#: ../../c-api/typeobj.rst:1053 ../../c-api/typeobj.rst:1064 -#: ../../c-api/typeobj.rst:1074 ../../c-api/typeobj.rst:1084 -#: ../../c-api/typeobj.rst:1098 ../../c-api/typeobj.rst:1116 -#: ../../c-api/typeobj.rst:1139 ../../c-api/typeobj.rst:1186 -#: ../../c-api/typeobj.rst:1201 ../../c-api/typeobj.rst:1220 -#: ../../c-api/typeobj.rst:1250 ../../c-api/typeobj.rst:1272 -#: ../../c-api/typeobj.rst:1288 ../../c-api/typeobj.rst:1356 -#: ../../c-api/typeobj.rst:1423 ../../c-api/typeobj.rst:1482 -#: ../../c-api/typeobj.rst:1512 ../../c-api/typeobj.rst:1544 -#: ../../c-api/typeobj.rst:1567 ../../c-api/typeobj.rst:1580 -#: ../../c-api/typeobj.rst:1595 ../../c-api/typeobj.rst:1609 -#: ../../c-api/typeobj.rst:1639 ../../c-api/typeobj.rst:1659 -#: ../../c-api/typeobj.rst:1685 ../../c-api/typeobj.rst:1703 -#: ../../c-api/typeobj.rst:1736 ../../c-api/typeobj.rst:1787 -#: ../../c-api/typeobj.rst:1804 ../../c-api/typeobj.rst:1845 -#: ../../c-api/typeobj.rst:1867 ../../c-api/typeobj.rst:1899 -#: ../../c-api/typeobj.rst:1927 ../../c-api/typeobj.rst:1940 -#: ../../c-api/typeobj.rst:1950 ../../c-api/typeobj.rst:1959 -#: ../../c-api/typeobj.rst:1969 ../../c-api/typeobj.rst:1983 -#: ../../c-api/typeobj.rst:2029 ../../c-api/typeobj.rst:2052 +#: ../../c-api/typeobj.rst:706 ../../c-api/typeobj.rst:744 +#: ../../c-api/typeobj.rst:764 ../../c-api/typeobj.rst:781 +#: ../../c-api/typeobj.rst:799 ../../c-api/typeobj.rst:823 +#: ../../c-api/typeobj.rst:840 ../../c-api/typeobj.rst:852 +#: ../../c-api/typeobj.rst:864 ../../c-api/typeobj.rst:897 +#: ../../c-api/typeobj.rst:915 ../../c-api/typeobj.rst:935 +#: ../../c-api/typeobj.rst:956 ../../c-api/typeobj.rst:982 +#: ../../c-api/typeobj.rst:1001 ../../c-api/typeobj.rst:1017 +#: ../../c-api/typeobj.rst:1056 ../../c-api/typeobj.rst:1067 +#: ../../c-api/typeobj.rst:1077 ../../c-api/typeobj.rst:1087 +#: ../../c-api/typeobj.rst:1101 ../../c-api/typeobj.rst:1119 +#: ../../c-api/typeobj.rst:1142 ../../c-api/typeobj.rst:1189 +#: ../../c-api/typeobj.rst:1204 ../../c-api/typeobj.rst:1223 +#: ../../c-api/typeobj.rst:1253 ../../c-api/typeobj.rst:1275 +#: ../../c-api/typeobj.rst:1291 ../../c-api/typeobj.rst:1359 +#: ../../c-api/typeobj.rst:1427 ../../c-api/typeobj.rst:1488 +#: ../../c-api/typeobj.rst:1518 ../../c-api/typeobj.rst:1550 +#: ../../c-api/typeobj.rst:1573 ../../c-api/typeobj.rst:1586 +#: ../../c-api/typeobj.rst:1601 ../../c-api/typeobj.rst:1615 +#: ../../c-api/typeobj.rst:1645 ../../c-api/typeobj.rst:1665 +#: ../../c-api/typeobj.rst:1691 ../../c-api/typeobj.rst:1709 +#: ../../c-api/typeobj.rst:1742 ../../c-api/typeobj.rst:1793 +#: ../../c-api/typeobj.rst:1810 ../../c-api/typeobj.rst:1851 +#: ../../c-api/typeobj.rst:1873 ../../c-api/typeobj.rst:1905 +#: ../../c-api/typeobj.rst:1933 ../../c-api/typeobj.rst:1946 +#: ../../c-api/typeobj.rst:1956 ../../c-api/typeobj.rst:1965 +#: ../../c-api/typeobj.rst:1975 ../../c-api/typeobj.rst:1989 +#: ../../c-api/typeobj.rst:2035 ../../c-api/typeobj.rst:2058 msgid "**Inheritance:**" msgstr "" @@ -1243,18 +1251,19 @@ msgstr "" #: ../../c-api/typeobj.rst:519 msgid "" -"This should be done before any instances of the type are created. :c:func:" -"`PyType_Ready` checks if :attr:`ob_type` is ``NULL``, and if so, initializes " -"it to the :attr:`ob_type` field of the base class. :c:func:`PyType_Ready` " -"will not change this field if it is non-zero." +"This should be done before any instances of the type are " +"created. :c:func:`PyType_Ready` checks if :c:member:`~PyObject.ob_type` is " +"``NULL``, and if so, initializes it to the :c:member:`~PyObject.ob_type` " +"field of the base class. :c:func:`PyType_Ready` will not change this field " +"if it is non-zero." msgstr "" -#: ../../c-api/typeobj.rst:526 ../../c-api/typeobj.rst:707 -#: ../../c-api/typeobj.rst:824 ../../c-api/typeobj.rst:916 -#: ../../c-api/typeobj.rst:936 ../../c-api/typeobj.rst:1546 -#: ../../c-api/typeobj.rst:1569 ../../c-api/typeobj.rst:1687 -#: ../../c-api/typeobj.rst:1705 ../../c-api/typeobj.rst:1789 -#: ../../c-api/typeobj.rst:1901 ../../c-api/typeobj.rst:2031 +#: ../../c-api/typeobj.rst:526 ../../c-api/typeobj.rst:708 +#: ../../c-api/typeobj.rst:825 ../../c-api/typeobj.rst:917 +#: ../../c-api/typeobj.rst:937 ../../c-api/typeobj.rst:1552 +#: ../../c-api/typeobj.rst:1575 ../../c-api/typeobj.rst:1693 +#: ../../c-api/typeobj.rst:1711 ../../c-api/typeobj.rst:1795 +#: ../../c-api/typeobj.rst:1907 ../../c-api/typeobj.rst:2037 msgid "This field is inherited by subtypes." msgstr "" @@ -1277,8 +1286,8 @@ msgstr "" msgid "" "This could be used for various debugging purposes; currently the only uses " "are the :func:`sys.getobjects` function and to print the objects that are " -"still alive at the end of a run when the environment variable :envvar:" -"`PYTHONDUMPREFS` is set." +"still alive at the end of a run when the environment " +"variable :envvar:`PYTHONDUMPREFS` is set." msgstr "" #: ../../c-api/typeobj.rst:548 @@ -1304,8 +1313,9 @@ msgstr "" msgid "" "Each slot has a section describing inheritance. If :c:func:`PyType_Ready` " "may set a value when the field is set to ``NULL`` then there will also be a " -"\"Default\" section. (Note that many fields set on :c:type:" -"`PyBaseObject_Type` and :c:type:`PyType_Type` effectively act as defaults.)" +"\"Default\" section. (Note that many fields set " +"on :c:data:`PyBaseObject_Type` and :c:data:`PyType_Type` effectively act as " +"defaults.)" msgstr "" #: ../../c-api/typeobj.rst:575 @@ -1315,9 +1325,9 @@ msgid "" "module name, followed by a dot, followed by the type name; for built-in " "types, it should be just the type name. If the module is a submodule of a " "package, the full package name is part of the full module name. For " -"example, a type named :class:`T` defined in module :mod:`M` in subpackage :" -"mod:`Q` in package :mod:`P` should have the :c:member:`~PyTypeObject." -"tp_name` initializer ``\"P.Q.M.T\"``." +"example, a type named :class:`!T` defined in module :mod:`!M` in " +"subpackage :mod:`!Q` in package :mod:`!P` should have " +"the :c:member:`~PyTypeObject.tp_name` initializer ``\"P.Q.M.T\"``." msgstr "" #: ../../c-api/typeobj.rst:583 @@ -1338,8 +1348,8 @@ msgstr "" #: ../../c-api/typeobj.rst:594 msgid "" "If no dot is present, the entire :c:member:`~PyTypeObject.tp_name` field is " -"made accessible as the :attr:`~definition.__name__` attribute, and the :attr:" -"`__module__` attribute is undefined (unless explicitly set in the " +"made accessible as the :attr:`~definition.__name__` attribute, and " +"the :attr:`__module__` attribute is undefined (unless explicitly set in the " "dictionary, as explained above). This means your type will be impossible to " "pickle. Additionally, it will not be listed in module documentations " "created with pydoc." @@ -1347,9 +1357,9 @@ msgstr "" #: ../../c-api/typeobj.rst:600 msgid "" -"This field must not be ``NULL``. It is the only required field in :c:func:" -"`PyTypeObject` (other than potentially :c:member:`~PyTypeObject." -"tp_itemsize`)." +"This field must not be ``NULL``. It is the only required field " +"in :c:func:`PyTypeObject` (other than " +"potentially :c:member:`~PyTypeObject.tp_itemsize`)." msgstr "" #: ../../c-api/typeobj.rst:612 @@ -1359,8 +1369,8 @@ msgstr "" #: ../../c-api/typeobj.rst:614 msgid "" -"There are two kinds of types: types with fixed-length instances have a zero :" -"c:member:`~PyTypeObject.tp_itemsize` field, types with variable-length " +"There are two kinds of types: types with fixed-length instances have a " +"zero :c:member:`~PyTypeObject.tp_itemsize` field, types with variable-length " "instances have a non-zero :c:member:`~PyTypeObject.tp_itemsize` field. For " "a type with fixed-length instances, all instances have the same size, given " "in :c:member:`~PyTypeObject.tp_basicsize`." @@ -1368,39 +1378,42 @@ msgstr "" #: ../../c-api/typeobj.rst:619 msgid "" -"For a type with variable-length instances, the instances must have an :attr:" -"`ob_size` field, and the instance size is :c:member:`~PyTypeObject." -"tp_basicsize` plus N times :c:member:`~PyTypeObject.tp_itemsize`, where N is " -"the \"length\" of the object. The value of N is typically stored in the " -"instance's :attr:`ob_size` field. There are exceptions: for example, ints " -"use a negative :attr:`ob_size` to indicate a negative number, and N is " -"``abs(ob_size)`` there. Also, the presence of an :attr:`ob_size` field in " -"the instance layout doesn't mean that the instance structure is variable-" -"length (for example, the structure for the list type has fixed-length " -"instances, yet those instances have a meaningful :attr:`ob_size` field)." +"For a type with variable-length instances, the instances must have " +"an :c:member:`~PyVarObject.ob_size` field, and the instance size " +"is :c:member:`~PyTypeObject.tp_basicsize` plus N " +"times :c:member:`~PyTypeObject.tp_itemsize`, where N is the \"length\" of " +"the object. The value of N is typically stored in the " +"instance's :c:member:`~PyVarObject.ob_size` field. There are exceptions: " +"for example, ints use a negative :c:member:`~PyVarObject.ob_size` to " +"indicate a negative number, and N is ``abs(ob_size)`` there. Also, the " +"presence of an :c:member:`~PyVarObject.ob_size` field in the instance layout " +"doesn't mean that the instance structure is variable-length (for example, " +"the structure for the list type has fixed-length instances, yet those " +"instances have a meaningful :c:member:`~PyVarObject.ob_size` field)." msgstr "" #: ../../c-api/typeobj.rst:630 msgid "" -"The basic size includes the fields in the instance declared by the macro :c:" -"macro:`PyObject_HEAD` or :c:macro:`PyObject_VAR_HEAD` (whichever is used to " -"declare the instance struct) and this in turn includes the :attr:`_ob_prev` " -"and :attr:`_ob_next` fields if they are present. This means that the only " -"correct way to get an initializer for the :c:member:`~PyTypeObject." -"tp_basicsize` is to use the ``sizeof`` operator on the struct used to " -"declare the instance layout. The basic size does not include the GC header " -"size." +"The basic size includes the fields in the instance declared by the " +"macro :c:macro:`PyObject_HEAD` or :c:macro:`PyObject_VAR_HEAD` (whichever is " +"used to declare the instance struct) and this in turn includes " +"the :c:member:`~PyObject._ob_prev` and :c:member:`~PyObject._ob_next` " +"fields if they are present. This means that the only correct way to get an " +"initializer for the :c:member:`~PyTypeObject.tp_basicsize` is to use the " +"``sizeof`` operator on the struct used to declare the instance layout. The " +"basic size does not include the GC header size." msgstr "" #: ../../c-api/typeobj.rst:638 msgid "" "A note about alignment: if the variable items require a particular " -"alignment, this should be taken care of by the value of :c:member:" -"`~PyTypeObject.tp_basicsize`. Example: suppose a type implements an array " -"of ``double``. :c:member:`~PyTypeObject.tp_itemsize` is ``sizeof(double)``. " -"It is the programmer's responsibility that :c:member:`~PyTypeObject." -"tp_basicsize` is a multiple of ``sizeof(double)`` (assuming this is the " -"alignment requirement for ``double``)." +"alignment, this should be taken care of by the value " +"of :c:member:`~PyTypeObject.tp_basicsize`. Example: suppose a type " +"implements an array of ``double``. :c:member:`~PyTypeObject.tp_itemsize` is " +"``sizeof(double)``. It is the programmer's responsibility " +"that :c:member:`~PyTypeObject.tp_basicsize` is a multiple of " +"``sizeof(double)`` (assuming this is the alignment requirement for " +"``double``)." msgstr "" #: ../../c-api/typeobj.rst:645 @@ -1426,67 +1439,69 @@ msgstr "" #: ../../c-api/typeobj.rst:663 msgid "" -"The destructor function is called by the :c:func:`Py_DECREF` and :c:func:" -"`Py_XDECREF` macros when the new reference count is zero. At this point, " -"the instance is still in existence, but there are no references to it. The " -"destructor function should free all references which the instance owns, free " -"all memory buffers owned by the instance (using the freeing function " -"corresponding to the allocation function used to allocate the buffer), and " -"call the type's :c:member:`~PyTypeObject.tp_free` function. If the type is " -"not subtypable (doesn't have the :const:`Py_TPFLAGS_BASETYPE` flag bit set), " -"it is permissible to call the object deallocator directly instead of via :c:" -"member:`~PyTypeObject.tp_free`. The object deallocator should be the one " -"used to allocate the instance; this is normally :c:func:`PyObject_Del` if " -"the instance was allocated using :c:func:`PyObject_New` or :c:func:" -"`PyObject_VarNew`, or :c:func:`PyObject_GC_Del` if the instance was " -"allocated using :c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar`." +"The destructor function is called by the :c:func:`Py_DECREF` " +"and :c:func:`Py_XDECREF` macros when the new reference count is zero. At " +"this point, the instance is still in existence, but there are no references " +"to it. The destructor function should free all references which the " +"instance owns, free all memory buffers owned by the instance (using the " +"freeing function corresponding to the allocation function used to allocate " +"the buffer), and call the type's :c:member:`~PyTypeObject.tp_free` " +"function. If the type is not subtypable (doesn't have " +"the :c:macro:`Py_TPFLAGS_BASETYPE` flag bit set), it is permissible to call " +"the object deallocator directly instead of " +"via :c:member:`~PyTypeObject.tp_free`. The object deallocator should be the " +"one used to allocate the instance; this is normally :c:func:`PyObject_Del` " +"if the instance was allocated using :c:macro:`PyObject_New` " +"or :c:macro:`PyObject_NewVar`, or :c:func:`PyObject_GC_Del` if the instance " +"was allocated using :c:macro:`PyObject_GC_New` " +"or :c:macro:`PyObject_GC_NewVar`." msgstr "" #: ../../c-api/typeobj.rst:678 msgid "" -"If the type supports garbage collection (has the :const:`Py_TPFLAGS_HAVE_GC` " -"flag bit set), the destructor should call :c:func:`PyObject_GC_UnTrack` " -"before clearing any member fields." +"If the type supports garbage collection (has " +"the :c:macro:`Py_TPFLAGS_HAVE_GC` flag bit set), the destructor should " +"call :c:func:`PyObject_GC_UnTrack` before clearing any member fields." msgstr "" #: ../../c-api/typeobj.rst:690 msgid "" -"Finally, if the type is heap allocated (:const:`Py_TPFLAGS_HEAPTYPE`), the " -"deallocator should decrement the reference count for its type object after " -"calling the type deallocator. In order to avoid dangling pointers, the " -"recommended way to achieve this is:" +"Finally, if the type is heap allocated (:c:macro:`Py_TPFLAGS_HEAPTYPE`), the " +"deallocator should release the owned reference to its type object " +"(via :c:func:`Py_DECREF`) after calling the type deallocator. In order to " +"avoid dangling pointers, the recommended way to achieve this is:" msgstr "" -#: ../../c-api/typeobj.rst:712 +#: ../../c-api/typeobj.rst:713 msgid "" "An optional offset to a per-instance function that implements calling the " "object using the :ref:`vectorcall protocol `, a more efficient " "alternative of the simpler :c:member:`~PyTypeObject.tp_call`." msgstr "" -#: ../../c-api/typeobj.rst:717 +#: ../../c-api/typeobj.rst:718 msgid "" -"This field is only used if the flag :const:`Py_TPFLAGS_HAVE_VECTORCALL` is " +"This field is only used if the flag :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` is " "set. If so, this must be a positive integer containing the offset in the " "instance of a :c:type:`vectorcallfunc` pointer." msgstr "" -#: ../../c-api/typeobj.rst:721 +#: ../../c-api/typeobj.rst:722 msgid "" "The *vectorcallfunc* pointer may be ``NULL``, in which case the instance " -"behaves as if :const:`Py_TPFLAGS_HAVE_VECTORCALL` was not set: calling the " +"behaves as if :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` was not set: calling the " "instance falls back to :c:member:`~PyTypeObject.tp_call`." msgstr "" -#: ../../c-api/typeobj.rst:725 +#: ../../c-api/typeobj.rst:726 msgid "" -"Any class that sets ``Py_TPFLAGS_HAVE_VECTORCALL`` must also set :c:member:" -"`~PyTypeObject.tp_call` and make sure its behaviour is consistent with the " -"*vectorcallfunc* function. This can be done by setting *tp_call* to :c:func:" -"`PyVectorcall_Call`." +"Any class that sets ``Py_TPFLAGS_HAVE_VECTORCALL`` must also " +"set :c:member:`~PyTypeObject.tp_call` and make sure its behaviour is " +"consistent with the *vectorcallfunc* function. This can be done by setting " +"*tp_call* to :c:func:`PyVectorcall_Call`." msgstr "" -#: ../../c-api/typeobj.rst:732 +#: ../../c-api/typeobj.rst:733 msgid "" "It is not recommended for :ref:`mutable heap types ` to " "implement the vectorcall protocol. When a user sets :attr:`__call__` in " @@ -1494,27 +1509,27 @@ msgid "" "the vectorcall function." msgstr "" -#: ../../c-api/typeobj.rst:739 +#: ../../c-api/typeobj.rst:740 msgid "" "Before version 3.8, this slot was named ``tp_print``. In Python 2.x, it was " "used for printing to a file. In Python 3.0 to 3.7, it was unused." msgstr "" -#: ../../c-api/typeobj.rst:745 +#: ../../c-api/typeobj.rst:746 msgid "" -"This field is always inherited. However, the :const:" -"`Py_TPFLAGS_HAVE_VECTORCALL` flag is not always inherited. If it's not, then " -"the subclass won't use :ref:`vectorcall `, except when :c:func:" -"`PyVectorcall_Call` is explicitly called. This is in particular the case for " -"types without the :const:`Py_TPFLAGS_IMMUTABLETYPE` flag set (including " -"subclasses defined in Python)." +"This field is always inherited. However, " +"the :c:macro:`Py_TPFLAGS_HAVE_VECTORCALL` flag is not always inherited. If " +"it's not, then the subclass won't use :ref:`vectorcall `, except " +"when :c:func:`PyVectorcall_Call` is explicitly called. This is in particular " +"the case for types without the :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` flag set " +"(including subclasses defined in Python)." msgstr "" -#: ../../c-api/typeobj.rst:757 +#: ../../c-api/typeobj.rst:758 msgid "An optional pointer to the get-attribute-string function." msgstr "" -#: ../../c-api/typeobj.rst:759 +#: ../../c-api/typeobj.rst:760 msgid "" "This field is deprecated. When it is defined, it should point to a function " "that acts the same as the :c:member:`~PyTypeObject.tp_getattro` function, " @@ -1522,25 +1537,26 @@ msgid "" "attribute name." msgstr "" -#: ../../c-api/typeobj.rst:765 ../../c-api/typeobj.rst:957 -msgid "Group: :attr:`tp_getattr`, :attr:`tp_getattro`" +#: ../../c-api/typeobj.rst:766 ../../c-api/typeobj.rst:958 +msgid "Group: :c:member:`~PyTypeObject.tp_getattr`, :c:member:`~PyTypeObject.tp_getattro`" msgstr "" -#: ../../c-api/typeobj.rst:767 +#: ../../c-api/typeobj.rst:768 msgid "" -"This field is inherited by subtypes together with :c:member:`~PyTypeObject." -"tp_getattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` " +"This field is inherited by subtypes together " +"with :c:member:`~PyTypeObject.tp_getattro`: a subtype inherits " +"both :c:member:`~PyTypeObject.tp_getattr` " "and :c:member:`~PyTypeObject.tp_getattro` from its base type when the " -"subtype's :c:member:`~PyTypeObject.tp_getattr` and :c:member:`~PyTypeObject." -"tp_getattro` are both ``NULL``." +"subtype's :c:member:`~PyTypeObject.tp_getattr` " +"and :c:member:`~PyTypeObject.tp_getattro` are both ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:774 ../../c-api/typeobj.rst:970 +#: ../../c-api/typeobj.rst:775 ../../c-api/typeobj.rst:971 msgid "" "An optional pointer to the function for setting and deleting attributes." msgstr "" -#: ../../c-api/typeobj.rst:776 +#: ../../c-api/typeobj.rst:777 msgid "" "This field is deprecated. When it is defined, it should point to a function " "that acts the same as the :c:member:`~PyTypeObject.tp_setattro` function, " @@ -1548,47 +1564,48 @@ msgid "" "attribute name." msgstr "" -#: ../../c-api/typeobj.rst:782 ../../c-api/typeobj.rst:983 -msgid "Group: :attr:`tp_setattr`, :attr:`tp_setattro`" +#: ../../c-api/typeobj.rst:783 ../../c-api/typeobj.rst:984 +msgid "Group: :c:member:`~PyTypeObject.tp_setattr`, :c:member:`~PyTypeObject.tp_setattro`" msgstr "" -#: ../../c-api/typeobj.rst:784 +#: ../../c-api/typeobj.rst:785 msgid "" -"This field is inherited by subtypes together with :c:member:`~PyTypeObject." -"tp_setattro`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` " +"This field is inherited by subtypes together " +"with :c:member:`~PyTypeObject.tp_setattro`: a subtype inherits " +"both :c:member:`~PyTypeObject.tp_setattr` " "and :c:member:`~PyTypeObject.tp_setattro` from its base type when the " -"subtype's :c:member:`~PyTypeObject.tp_setattr` and :c:member:`~PyTypeObject." -"tp_setattro` are both ``NULL``." +"subtype's :c:member:`~PyTypeObject.tp_setattr` " +"and :c:member:`~PyTypeObject.tp_setattro` are both ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:791 +#: ../../c-api/typeobj.rst:792 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement :term:`awaitable` and :term:`asynchronous iterator` " "protocols at the C-level. See :ref:`async-structs` for details." msgstr "" -#: ../../c-api/typeobj.rst:795 +#: ../../c-api/typeobj.rst:796 msgid "Formerly known as ``tp_compare`` and ``tp_reserved``." msgstr "" -#: ../../c-api/typeobj.rst:800 +#: ../../c-api/typeobj.rst:801 msgid "" "The :c:member:`~PyTypeObject.tp_as_async` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: ../../c-api/typeobj.rst:808 +#: ../../c-api/typeobj.rst:809 msgid "" -"An optional pointer to a function that implements the built-in function :" -"func:`repr`." +"An optional pointer to a function that implements the built-in " +"function :func:`repr`." msgstr "" -#: ../../c-api/typeobj.rst:811 +#: ../../c-api/typeobj.rst:812 msgid "The signature is the same as for :c:func:`PyObject_Repr`::" msgstr "" -#: ../../c-api/typeobj.rst:815 +#: ../../c-api/typeobj.rst:816 msgid "" "The function must return a string or a Unicode object. Ideally, this " "function should return a string that, when passed to :func:`eval`, given a " @@ -1597,131 +1614,133 @@ msgid "" "``'>'`` from which both the type and the value of the object can be deduced." msgstr "" -#: ../../c-api/typeobj.rst:826 ../../c-api/typeobj.rst:938 -#: ../../c-api/typeobj.rst:963 ../../c-api/typeobj.rst:989 -#: ../../c-api/typeobj.rst:1031 ../../c-api/typeobj.rst:1491 -#: ../../c-api/typeobj.rst:1643 ../../c-api/typeobj.rst:1664 -#: ../../c-api/typeobj.rst:1755 ../../c-api/typeobj.rst:1791 -#: ../../c-api/typeobj.rst:1809 ../../c-api/typeobj.rst:1851 -#: ../../c-api/typeobj.rst:1872 ../../c-api/typeobj.rst:1903 +#: ../../c-api/typeobj.rst:827 ../../c-api/typeobj.rst:939 +#: ../../c-api/typeobj.rst:964 ../../c-api/typeobj.rst:990 +#: ../../c-api/typeobj.rst:1032 ../../c-api/typeobj.rst:1497 +#: ../../c-api/typeobj.rst:1649 ../../c-api/typeobj.rst:1670 +#: ../../c-api/typeobj.rst:1761 ../../c-api/typeobj.rst:1797 +#: ../../c-api/typeobj.rst:1815 ../../c-api/typeobj.rst:1857 +#: ../../c-api/typeobj.rst:1878 ../../c-api/typeobj.rst:1909 msgid "**Default:**" -msgstr "" +msgstr "**Padrão:**" -#: ../../c-api/typeobj.rst:828 +#: ../../c-api/typeobj.rst:829 msgid "" "When this field is not set, a string of the form ``<%s object at %p>`` is " "returned, where ``%s`` is replaced by the type name, and ``%p`` by the " "object's memory address." msgstr "" -#: ../../c-api/typeobj.rst:835 +#: ../../c-api/typeobj.rst:836 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the number protocol. These fields are documented " "in :ref:`number-structs`." msgstr "" -#: ../../c-api/typeobj.rst:841 +#: ../../c-api/typeobj.rst:842 msgid "" "The :c:member:`~PyTypeObject.tp_as_number` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: ../../c-api/typeobj.rst:847 +#: ../../c-api/typeobj.rst:848 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the sequence protocol. These fields are documented " "in :ref:`sequence-structs`." msgstr "" -#: ../../c-api/typeobj.rst:853 +#: ../../c-api/typeobj.rst:854 msgid "" "The :c:member:`~PyTypeObject.tp_as_sequence` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: ../../c-api/typeobj.rst:859 +#: ../../c-api/typeobj.rst:860 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the mapping protocol. These fields are documented " "in :ref:`mapping-structs`." msgstr "" -#: ../../c-api/typeobj.rst:865 +#: ../../c-api/typeobj.rst:866 msgid "" "The :c:member:`~PyTypeObject.tp_as_mapping` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: ../../c-api/typeobj.rst:873 +#: ../../c-api/typeobj.rst:874 msgid "" -"An optional pointer to a function that implements the built-in function :" -"func:`hash`." +"An optional pointer to a function that implements the built-in " +"function :func:`hash`." msgstr "" -#: ../../c-api/typeobj.rst:876 +#: ../../c-api/typeobj.rst:877 msgid "The signature is the same as for :c:func:`PyObject_Hash`::" msgstr "" -#: ../../c-api/typeobj.rst:880 +#: ../../c-api/typeobj.rst:881 msgid "" "The value ``-1`` should not be returned as a normal return value; when an " "error occurs during the computation of the hash value, the function should " "set an exception and return ``-1``." msgstr "" -#: ../../c-api/typeobj.rst:884 +#: ../../c-api/typeobj.rst:885 msgid "" -"When this field is not set (*and* :attr:`tp_richcompare` is not set), an " -"attempt to take the hash of the object raises :exc:`TypeError`. This is the " -"same as setting it to :c:func:`PyObject_HashNotImplemented`." +"When this field is not set (*and* :c:member:`~PyTypeObject.tp_richcompare` " +"is not set), an attempt to take the hash of the object " +"raises :exc:`TypeError`. This is the same as setting it " +"to :c:func:`PyObject_HashNotImplemented`." msgstr "" -#: ../../c-api/typeobj.rst:888 +#: ../../c-api/typeobj.rst:889 msgid "" "This field can be set explicitly to :c:func:`PyObject_HashNotImplemented` to " "block inheritance of the hash method from a parent type. This is interpreted " "as the equivalent of ``__hash__ = None`` at the Python level, causing " "``isinstance(o, collections.Hashable)`` to correctly return ``False``. Note " "that the converse is also true - setting ``__hash__ = None`` on a class at " -"the Python level will result in the ``tp_hash`` slot being set to :c:func:" -"`PyObject_HashNotImplemented`." +"the Python level will result in the ``tp_hash`` slot being set " +"to :c:func:`PyObject_HashNotImplemented`." msgstr "" -#: ../../c-api/typeobj.rst:898 ../../c-api/typeobj.rst:1484 -msgid "Group: :attr:`tp_hash`, :attr:`tp_richcompare`" +#: ../../c-api/typeobj.rst:899 ../../c-api/typeobj.rst:1490 +msgid "Group: :c:member:`~PyTypeObject.tp_hash`, :c:member:`~PyTypeObject.tp_richcompare`" msgstr "" -#: ../../c-api/typeobj.rst:900 +#: ../../c-api/typeobj.rst:901 msgid "" -"This field is inherited by subtypes together with :c:member:`~PyTypeObject." -"tp_richcompare`: a subtype inherits both of :c:member:`~PyTypeObject." -"tp_richcompare` and :c:member:`~PyTypeObject.tp_hash`, when the subtype's :c:" -"member:`~PyTypeObject.tp_richcompare` and :c:member:`~PyTypeObject.tp_hash` " -"are both ``NULL``." +"This field is inherited by subtypes together " +"with :c:member:`~PyTypeObject.tp_richcompare`: a subtype inherits both " +"of :c:member:`~PyTypeObject.tp_richcompare` " +"and :c:member:`~PyTypeObject.tp_hash`, when the " +"subtype's :c:member:`~PyTypeObject.tp_richcompare` " +"and :c:member:`~PyTypeObject.tp_hash` are both ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:908 +#: ../../c-api/typeobj.rst:909 msgid "" "An optional pointer to a function that implements calling the object. This " "should be ``NULL`` if the object is not callable. The signature is the same " "as for :c:func:`PyObject_Call`::" msgstr "" -#: ../../c-api/typeobj.rst:921 +#: ../../c-api/typeobj.rst:922 msgid "" -"An optional pointer to a function that implements the built-in operation :" -"func:`str`. (Note that :class:`str` is a type now, and :func:`str` calls " -"the constructor for that type. This constructor calls :c:func:" -"`PyObject_Str` to do the actual work, and :c:func:`PyObject_Str` will call " -"this handler.)" +"An optional pointer to a function that implements the built-in " +"operation :func:`str`. (Note that :class:`str` is a type now, " +"and :func:`str` calls the constructor for that type. This constructor " +"calls :c:func:`PyObject_Str` to do the actual work, " +"and :c:func:`PyObject_Str` will call this handler.)" msgstr "" -#: ../../c-api/typeobj.rst:926 +#: ../../c-api/typeobj.rst:927 msgid "The signature is the same as for :c:func:`PyObject_Str`::" msgstr "" -#: ../../c-api/typeobj.rst:930 +#: ../../c-api/typeobj.rst:931 msgid "" "The function must return a string or a Unicode object. It should be a " "\"friendly\" string representation of the object, as this is the " @@ -1729,311 +1748,318 @@ msgid "" "function." msgstr "" -#: ../../c-api/typeobj.rst:940 +#: ../../c-api/typeobj.rst:941 msgid "" "When this field is not set, :c:func:`PyObject_Repr` is called to return a " "string representation." msgstr "" -#: ../../c-api/typeobj.rst:946 +#: ../../c-api/typeobj.rst:947 msgid "An optional pointer to the get-attribute function." msgstr "" -#: ../../c-api/typeobj.rst:948 +#: ../../c-api/typeobj.rst:949 msgid "The signature is the same as for :c:func:`PyObject_GetAttr`::" msgstr "" -#: ../../c-api/typeobj.rst:952 +#: ../../c-api/typeobj.rst:953 msgid "" -"It is usually convenient to set this field to :c:func:" -"`PyObject_GenericGetAttr`, which implements the normal way of looking for " -"object attributes." +"It is usually convenient to set this field " +"to :c:func:`PyObject_GenericGetAttr`, which implements the normal way of " +"looking for object attributes." msgstr "" -#: ../../c-api/typeobj.rst:959 +#: ../../c-api/typeobj.rst:960 msgid "" -"This field is inherited by subtypes together with :c:member:`~PyTypeObject." -"tp_getattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_getattr` " +"This field is inherited by subtypes together " +"with :c:member:`~PyTypeObject.tp_getattr`: a subtype inherits " +"both :c:member:`~PyTypeObject.tp_getattr` " "and :c:member:`~PyTypeObject.tp_getattro` from its base type when the " -"subtype's :c:member:`~PyTypeObject.tp_getattr` and :c:member:`~PyTypeObject." -"tp_getattro` are both ``NULL``." +"subtype's :c:member:`~PyTypeObject.tp_getattr` " +"and :c:member:`~PyTypeObject.tp_getattro` are both ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:965 -msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericGetAttr`." +#: ../../c-api/typeobj.rst:966 +msgid ":c:data:`PyBaseObject_Type` uses :c:func:`PyObject_GenericGetAttr`." msgstr "" -#: ../../c-api/typeobj.rst:972 +#: ../../c-api/typeobj.rst:973 msgid "The signature is the same as for :c:func:`PyObject_SetAttr`::" msgstr "" -#: ../../c-api/typeobj.rst:976 +#: ../../c-api/typeobj.rst:977 msgid "" "In addition, setting *value* to ``NULL`` to delete an attribute must be " -"supported. It is usually convenient to set this field to :c:func:" -"`PyObject_GenericSetAttr`, which implements the normal way of setting object " -"attributes." +"supported. It is usually convenient to set this field " +"to :c:func:`PyObject_GenericSetAttr`, which implements the normal way of " +"setting object attributes." msgstr "" -#: ../../c-api/typeobj.rst:985 +#: ../../c-api/typeobj.rst:986 msgid "" -"This field is inherited by subtypes together with :c:member:`~PyTypeObject." -"tp_setattr`: a subtype inherits both :c:member:`~PyTypeObject.tp_setattr` " +"This field is inherited by subtypes together " +"with :c:member:`~PyTypeObject.tp_setattr`: a subtype inherits " +"both :c:member:`~PyTypeObject.tp_setattr` " "and :c:member:`~PyTypeObject.tp_setattro` from its base type when the " -"subtype's :c:member:`~PyTypeObject.tp_setattr` and :c:member:`~PyTypeObject." -"tp_setattro` are both ``NULL``." +"subtype's :c:member:`~PyTypeObject.tp_setattr` " +"and :c:member:`~PyTypeObject.tp_setattro` are both ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:991 -msgid ":c:type:`PyBaseObject_Type` uses :c:func:`PyObject_GenericSetAttr`." +#: ../../c-api/typeobj.rst:992 +msgid ":c:data:`PyBaseObject_Type` uses :c:func:`PyObject_GenericSetAttr`." msgstr "" -#: ../../c-api/typeobj.rst:996 +#: ../../c-api/typeobj.rst:997 msgid "" "Pointer to an additional structure that contains fields relevant only to " "objects which implement the buffer interface. These fields are documented " "in :ref:`buffer-structs`." msgstr "" -#: ../../c-api/typeobj.rst:1002 +#: ../../c-api/typeobj.rst:1003 msgid "" "The :c:member:`~PyTypeObject.tp_as_buffer` field is not inherited, but the " "contained fields are inherited individually." msgstr "" -#: ../../c-api/typeobj.rst:1008 +#: ../../c-api/typeobj.rst:1009 msgid "" "This field is a bit mask of various flags. Some flags indicate variant " "semantics for certain situations; others are used to indicate that certain " -"fields in the type object (or in the extension structures referenced via :c:" -"member:`~PyTypeObject.tp_as_number`, :c:member:`~PyTypeObject." -"tp_as_sequence`, :c:member:`~PyTypeObject.tp_as_mapping`, and :c:member:" -"`~PyTypeObject.tp_as_buffer`) that were historically not always present are " -"valid; if such a flag bit is clear, the type fields it guards must not be " -"accessed and must be considered to have a zero or ``NULL`` value instead." +"fields in the type object (or in the extension structures referenced " +"via :c:member:`~PyTypeObject.tp_as_number`, :c:member:`~PyTypeObject.tp_as_sequence`, :c:member:`~PyTypeObject.tp_as_mapping`, " +"and :c:member:`~PyTypeObject.tp_as_buffer`) that were historically not " +"always present are valid; if such a flag bit is clear, the type fields it " +"guards must not be accessed and must be considered to have a zero or " +"``NULL`` value instead." msgstr "" -#: ../../c-api/typeobj.rst:1018 +#: ../../c-api/typeobj.rst:1019 msgid "" "Inheritance of this field is complicated. Most flag bits are inherited " "individually, i.e. if the base type has a flag bit set, the subtype inherits " "this flag bit. The flag bits that pertain to extension structures are " "strictly inherited if the extension structure is inherited, i.e. the base " "type's value of the flag bit is copied into the subtype together with a " -"pointer to the extension structure. The :const:`Py_TPFLAGS_HAVE_GC` flag " +"pointer to the extension structure. The :c:macro:`Py_TPFLAGS_HAVE_GC` flag " "bit is inherited together with the :c:member:`~PyTypeObject.tp_traverse` " -"and :c:member:`~PyTypeObject.tp_clear` fields, i.e. if the :const:" -"`Py_TPFLAGS_HAVE_GC` flag bit is clear in the subtype and the :c:member:" -"`~PyTypeObject.tp_traverse` and :c:member:`~PyTypeObject.tp_clear` fields in " -"the subtype exist and have ``NULL`` values." +"and :c:member:`~PyTypeObject.tp_clear` fields, i.e. if " +"the :c:macro:`Py_TPFLAGS_HAVE_GC` flag bit is clear in the subtype and " +"the :c:member:`~PyTypeObject.tp_traverse` " +"and :c:member:`~PyTypeObject.tp_clear` fields in the subtype exist and have " +"``NULL`` values." msgstr "" -#: ../../c-api/typeobj.rst:1033 +#: ../../c-api/typeobj.rst:1034 msgid "" -":c:type:`PyBaseObject_Type` uses ``Py_TPFLAGS_DEFAULT | " +":c:data:`PyBaseObject_Type` uses ``Py_TPFLAGS_DEFAULT | " "Py_TPFLAGS_BASETYPE``." msgstr "" -#: ../../c-api/typeobj.rst:1036 +#: ../../c-api/typeobj.rst:1037 msgid "**Bit Masks:**" msgstr "" -#: ../../c-api/typeobj.rst:1038 +#: ../../c-api/typeobj.rst:1041 msgid "" "The following bit masks are currently defined; these can be ORed together " -"using the ``|`` operator to form the value of the :c:member:`~PyTypeObject." -"tp_flags` field. The macro :c:func:`PyType_HasFeature` takes a type and a " -"flags value, *tp* and *f*, and checks whether ``tp->tp_flags & f`` is non-" -"zero." +"using the ``|`` operator to form the value of " +"the :c:member:`~PyTypeObject.tp_flags` field. The " +"macro :c:func:`PyType_HasFeature` takes a type and a flags value, *tp* and " +"*f*, and checks whether ``tp->tp_flags & f`` is non-zero." msgstr "" -#: ../../c-api/typeobj.rst:1045 +#: ../../c-api/typeobj.rst:1048 msgid "" "This bit is set when the type object itself is allocated on the heap, for " "example, types created dynamically using :c:func:`PyType_FromSpec`. In this " -"case, the :attr:`ob_type` field of its instances is considered a reference " -"to the type, and the type object is INCREF'ed when a new instance is " -"created, and DECREF'ed when an instance is destroyed (this does not apply to " -"instances of subtypes; only the type referenced by the instance's ob_type " -"gets INCREF'ed or DECREF'ed)." +"case, the :c:member:`~PyObject.ob_type` field of its instances is considered " +"a reference to the type, and the type object is INCREF'ed when a new " +"instance is created, and DECREF'ed when an instance is destroyed (this does " +"not apply to instances of subtypes; only the type referenced by the " +"instance's ob_type gets INCREF'ed or DECREF'ed)." msgstr "" -#: ../../c-api/typeobj.rst:1055 ../../c-api/typeobj.rst:1066 -#: ../../c-api/typeobj.rst:1076 ../../c-api/typeobj.rst:1086 -#: ../../c-api/typeobj.rst:1118 +#: ../../c-api/typeobj.rst:1058 ../../c-api/typeobj.rst:1069 +#: ../../c-api/typeobj.rst:1079 ../../c-api/typeobj.rst:1089 +#: ../../c-api/typeobj.rst:1121 msgid "???" -msgstr "" +msgstr "???" -#: ../../c-api/typeobj.rst:1060 +#: ../../c-api/typeobj.rst:1063 msgid "" "This bit is set when the type can be used as the base type of another type. " "If this bit is clear, the type cannot be subtyped (similar to a \"final\" " "class in Java)." msgstr "" -#: ../../c-api/typeobj.rst:1071 +#: ../../c-api/typeobj.rst:1074 msgid "" -"This bit is set when the type object has been fully initialized by :c:func:" -"`PyType_Ready`." +"This bit is set when the type object has been fully initialized " +"by :c:func:`PyType_Ready`." msgstr "" -#: ../../c-api/typeobj.rst:1081 +#: ../../c-api/typeobj.rst:1084 msgid "" "This bit is set while :c:func:`PyType_Ready` is in the process of " "initializing the type object." msgstr "" -#: ../../c-api/typeobj.rst:1091 +#: ../../c-api/typeobj.rst:1094 msgid "" "This bit is set when the object supports garbage collection. If this bit is " -"set, instances must be created using :c:func:`PyObject_GC_New` and destroyed " -"using :c:func:`PyObject_GC_Del`. More information in section :ref:" -"`supporting-cycle-detection`. This bit also implies that the GC-related " -"fields :c:member:`~PyTypeObject.tp_traverse` and :c:member:`~PyTypeObject." -"tp_clear` are present in the type object." +"set, instances must be created using :c:macro:`PyObject_GC_New` and " +"destroyed using :c:func:`PyObject_GC_Del`. More information in " +"section :ref:`supporting-cycle-detection`. This bit also implies that the " +"GC-related fields :c:member:`~PyTypeObject.tp_traverse` " +"and :c:member:`~PyTypeObject.tp_clear` are present in the type object." msgstr "" -#: ../../c-api/typeobj.rst:1100 ../../c-api/typeobj.rst:1358 -#: ../../c-api/typeobj.rst:1425 -msgid "" -"Group: :const:`Py_TPFLAGS_HAVE_GC`, :attr:`tp_traverse`, :attr:`tp_clear`" +#: ../../c-api/typeobj.rst:1103 ../../c-api/typeobj.rst:1361 +#: ../../c-api/typeobj.rst:1429 +msgid "Group: :c:macro:`Py_TPFLAGS_HAVE_GC`, :c:member:`~PyTypeObject.tp_traverse`, :c:member:`~PyTypeObject.tp_clear`" msgstr "" -#: ../../c-api/typeobj.rst:1102 +#: ../../c-api/typeobj.rst:1105 msgid "" -"The :const:`Py_TPFLAGS_HAVE_GC` flag bit is inherited together with the :" -"attr:`tp_traverse` and :attr:`tp_clear` fields, i.e. if the :const:" -"`Py_TPFLAGS_HAVE_GC` flag bit is clear in the subtype and the :attr:" -"`tp_traverse` and :attr:`tp_clear` fields in the subtype exist and have " +"The :c:macro:`Py_TPFLAGS_HAVE_GC` flag bit is inherited together with " +"the :c:member:`~PyTypeObject.tp_traverse` " +"and :c:member:`~PyTypeObject.tp_clear` fields, i.e. if " +"the :c:macro:`Py_TPFLAGS_HAVE_GC` flag bit is clear in the subtype and " +"the :c:member:`~PyTypeObject.tp_traverse` " +"and :c:member:`~PyTypeObject.tp_clear` fields in the subtype exist and have " "``NULL`` values." msgstr "" -#: ../../c-api/typeobj.rst:1112 +#: ../../c-api/typeobj.rst:1115 msgid "" "This is a bitmask of all the bits that pertain to the existence of certain " "fields in the type object and its extension structures. Currently, it " -"includes the following bits: :const:`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`." +"includes the following bits: :c:macro:`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`." msgstr "" -#: ../../c-api/typeobj.rst:1123 +#: ../../c-api/typeobj.rst:1126 msgid "This bit indicates that objects behave like unbound methods." msgstr "" -#: ../../c-api/typeobj.rst:1125 +#: ../../c-api/typeobj.rst:1128 msgid "If this flag is set for ``type(meth)``, then:" msgstr "" -#: ../../c-api/typeobj.rst:1127 +#: ../../c-api/typeobj.rst:1130 msgid "" "``meth.__get__(obj, cls)(*args, **kwds)`` (with ``obj`` not None) must be " "equivalent to ``meth(obj, *args, **kwds)``." msgstr "" -#: ../../c-api/typeobj.rst:1130 +#: ../../c-api/typeobj.rst:1133 msgid "" "``meth.__get__(None, cls)(*args, **kwds)`` must be equivalent to " "``meth(*args, **kwds)``." msgstr "" -#: ../../c-api/typeobj.rst:1133 +#: ../../c-api/typeobj.rst:1136 msgid "" -"This flag enables an optimization for typical method calls like ``obj." -"meth()``: it avoids creating a temporary \"bound method\" object for ``obj." -"meth``." +"This flag enables an optimization for typical method calls like " +"``obj.meth()``: it avoids creating a temporary \"bound method\" object for " +"``obj.meth``." msgstr "" -#: ../../c-api/typeobj.rst:1141 +#: ../../c-api/typeobj.rst:1144 msgid "" -"This flag is never inherited by types without the :const:" -"`Py_TPFLAGS_IMMUTABLETYPE` flag set. For extension types, it is inherited " -"whenever :c:member:`~PyTypeObject.tp_descr_get` is inherited." +"This flag is never inherited by types without " +"the :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` flag set. For extension types, it " +"is inherited whenever :c:member:`~PyTypeObject.tp_descr_get` is inherited." msgstr "" -#: ../../c-api/typeobj.rst:1158 +#: ../../c-api/typeobj.rst:1161 msgid "" "These flags are used by functions such as :c:func:`PyLong_Check` to quickly " "determine if a type is a subclass of a built-in type; such specific checks " "are faster than a generic check, like :c:func:`PyObject_IsInstance`. Custom " -"types that inherit from built-ins should have their :c:member:`~PyTypeObject." -"tp_flags` set appropriately, or the code that interacts with such types will " -"behave differently depending on what kind of check is used." +"types that inherit from built-ins should have " +"their :c:member:`~PyTypeObject.tp_flags` set appropriately, or the code that " +"interacts with such types will behave differently depending on what kind of " +"check is used." msgstr "" -#: ../../c-api/typeobj.rst:1169 +#: ../../c-api/typeobj.rst:1172 msgid "" "This bit is set when the :c:member:`~PyTypeObject.tp_finalize` slot is " "present in the type structure." msgstr "" -#: ../../c-api/typeobj.rst:1174 +#: ../../c-api/typeobj.rst:1177 msgid "" -"This flag isn't necessary anymore, as the interpreter assumes the :c:member:" -"`~PyTypeObject.tp_finalize` slot is always present in the type structure." +"This flag isn't necessary anymore, as the interpreter assumes " +"the :c:member:`~PyTypeObject.tp_finalize` slot is always present in the type " +"structure." msgstr "" -#: ../../c-api/typeobj.rst:1182 +#: ../../c-api/typeobj.rst:1185 msgid "" "This bit is set when the class implements the :ref:`vectorcall protocol " "`. See :c:member:`~PyTypeObject.tp_vectorcall_offset` for " "details." msgstr "" -#: ../../c-api/typeobj.rst:1188 +#: ../../c-api/typeobj.rst:1191 msgid "" -"This bit is inherited for types with the :const:`Py_TPFLAGS_IMMUTABLETYPE` " +"This bit is inherited for types with the :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` " "flag set, if :c:member:`~PyTypeObject.tp_call` is also inherited." msgstr "" -#: ../../c-api/typeobj.rst:1196 +#: ../../c-api/typeobj.rst:1199 msgid "" "This bit is set for type objects that are immutable: type attributes cannot " "be set nor deleted." msgstr "" -#: ../../c-api/typeobj.rst:1198 +#: ../../c-api/typeobj.rst:1201 msgid "" ":c:func:`PyType_Ready` automatically applies this flag to :ref:`static types " "`." msgstr "" -#: ../../c-api/typeobj.rst:1203 +#: ../../c-api/typeobj.rst:1206 msgid "This flag is not inherited." msgstr "" -#: ../../c-api/typeobj.rst:1209 +#: ../../c-api/typeobj.rst:1212 msgid "" -"Disallow creating instances of the type: set :c:member:`~PyTypeObject." -"tp_new` to NULL and don't create the ``__new__`` key in the type dictionary." +"Disallow creating instances of the type: " +"set :c:member:`~PyTypeObject.tp_new` to NULL and don't create the " +"``__new__`` key in the type dictionary." msgstr "" -#: ../../c-api/typeobj.rst:1213 +#: ../../c-api/typeobj.rst:1216 msgid "" "The flag must be set before creating the type, not after. For example, it " "must be set before :c:func:`PyType_Ready` is called on the type." msgstr "" -#: ../../c-api/typeobj.rst:1216 +#: ../../c-api/typeobj.rst:1219 msgid "" -"The flag is set automatically on :ref:`static types ` if :c:" -"member:`~PyTypeObject.tp_base` is NULL or ``&PyBaseObject_Type`` and :c:" -"member:`~PyTypeObject.tp_new` is NULL." +"The flag is set automatically on :ref:`static types ` " +"if :c:member:`~PyTypeObject.tp_base` is NULL or ``&PyBaseObject_Type`` " +"and :c:member:`~PyTypeObject.tp_new` is NULL." msgstr "" -#: ../../c-api/typeobj.rst:1222 +#: ../../c-api/typeobj.rst:1225 msgid "" "This flag is not inherited. However, subclasses will not be instantiable " "unless they provide a non-NULL :c:member:`~PyTypeObject.tp_new` (which is " "only possible via the C API)." msgstr "" -#: ../../c-api/typeobj.rst:1229 +#: ../../c-api/typeobj.rst:1232 msgid "" "To disallow instantiating a class directly but allow instantiating its " "subclasses (e.g. for an :term:`abstract base class`), do not use this flag. " "Instead, make :c:member:`~PyTypeObject.tp_new` only succeed for subclasses." msgstr "" -#: ../../c-api/typeobj.rst:1240 +#: ../../c-api/typeobj.rst:1243 msgid "" "This bit indicates that instances of the class may match mapping patterns " "when used as the subject of a :keyword:`match` block. It is automatically " @@ -2041,23 +2067,23 @@ msgid "" "unset when registering :class:`collections.abc.Sequence`." msgstr "" -#: ../../c-api/typeobj.rst:1247 ../../c-api/typeobj.rst:1269 +#: ../../c-api/typeobj.rst:1250 ../../c-api/typeobj.rst:1272 msgid "" -":const:`Py_TPFLAGS_MAPPING` and :const:`Py_TPFLAGS_SEQUENCE` are mutually " -"exclusive; it is an error to enable both flags simultaneously." +":c:macro:`Py_TPFLAGS_MAPPING` and :c:macro:`Py_TPFLAGS_SEQUENCE` are " +"mutually exclusive; it is an error to enable both flags simultaneously." msgstr "" -#: ../../c-api/typeobj.rst:1252 +#: ../../c-api/typeobj.rst:1255 msgid "" -"This flag is inherited by types that do not already set :const:" -"`Py_TPFLAGS_SEQUENCE`." +"This flag is inherited by types that do not already " +"set :c:macro:`Py_TPFLAGS_SEQUENCE`." msgstr "" -#: ../../c-api/typeobj.rst:1255 ../../c-api/typeobj.rst:1277 +#: ../../c-api/typeobj.rst:1258 ../../c-api/typeobj.rst:1280 msgid ":pep:`634` -- Structural Pattern Matching: Specification" -msgstr "" +msgstr ":pep:`634` -- Structural Pattern Matching: Specification" -#: ../../c-api/typeobj.rst:1262 +#: ../../c-api/typeobj.rst:1265 msgid "" "This bit indicates that instances of the class may match sequence patterns " "when used as the subject of a :keyword:`match` block. It is automatically " @@ -2065,47 +2091,47 @@ msgid "" "unset when registering :class:`collections.abc.Mapping`." msgstr "" -#: ../../c-api/typeobj.rst:1274 +#: ../../c-api/typeobj.rst:1277 msgid "" -"This flag is inherited by types that do not already set :const:" -"`Py_TPFLAGS_MAPPING`." +"This flag is inherited by types that do not already " +"set :c:macro:`Py_TPFLAGS_MAPPING`." msgstr "" -#: ../../c-api/typeobj.rst:1284 +#: ../../c-api/typeobj.rst:1287 msgid "" "An optional pointer to a NUL-terminated C string giving the docstring for " "this type object. This is exposed as the :attr:`__doc__` attribute on the " "type and instances of the type." msgstr "" -#: ../../c-api/typeobj.rst:1290 +#: ../../c-api/typeobj.rst:1293 msgid "This field is *not* inherited by subtypes." msgstr "" -#: ../../c-api/typeobj.rst:1295 +#: ../../c-api/typeobj.rst:1298 msgid "" "An optional pointer to a traversal function for the garbage collector. This " -"is only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set. The " +"is only used if the :c:macro:`Py_TPFLAGS_HAVE_GC` flag bit is set. The " "signature is::" msgstr "" -#: ../../c-api/typeobj.rst:1300 ../../c-api/typeobj.rst:1420 +#: ../../c-api/typeobj.rst:1303 ../../c-api/typeobj.rst:1424 msgid "" "More information about Python's garbage collection scheme can be found in " "section :ref:`supporting-cycle-detection`." msgstr "" -#: ../../c-api/typeobj.rst:1303 +#: ../../c-api/typeobj.rst:1306 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` pointer is used by the garbage " -"collector to detect reference cycles. A typical implementation of a :c:" -"member:`~PyTypeObject.tp_traverse` function simply calls :c:func:`Py_VISIT` " -"on each of the instance's members that are Python objects that the instance " -"owns. For example, this is function :c:func:`local_traverse` from the :mod:" -"`_thread` extension module::" +"collector to detect reference cycles. A typical implementation of " +"a :c:member:`~PyTypeObject.tp_traverse` function simply " +"calls :c:func:`Py_VISIT` on each of the instance's members that are Python " +"objects that the instance owns. For example, this is function :c:func:`!" +"local_traverse` from the :mod:`!_thread` extension module::" msgstr "" -#: ../../c-api/typeobj.rst:1318 +#: ../../c-api/typeobj.rst:1321 msgid "" "Note that :c:func:`Py_VISIT` is called only on those members that can " "participate in reference cycles. Although there is also a ``self->key`` " @@ -2113,14 +2139,14 @@ msgid "" "part of a reference cycle." msgstr "" -#: ../../c-api/typeobj.rst:1322 +#: ../../c-api/typeobj.rst:1325 msgid "" "On the other hand, even if you know a member can never be part of a cycle, " "as a debugging aid you may want to visit it anyway just so the :mod:`gc` " "module's :func:`~gc.get_referents` function will include it." msgstr "" -#: ../../c-api/typeobj.rst:1327 +#: ../../c-api/typeobj.rst:1330 msgid "" "When implementing :c:member:`~PyTypeObject.tp_traverse`, only the members " "that the instance *owns* (by having :term:`strong references ` hold a reference to " -"their type. Their traversal function must therefore either visit :c:func:" -"`Py_TYPE(self) `, or delegate this responsibility by calling " -"``tp_traverse`` of another heap-allocated type (such as a heap-allocated " -"superclass). If they do not, the type object may not be garbage-collected." +"their type. Their traversal function must therefore either " +"visit :c:func:`Py_TYPE(self) `, or delegate this responsibility by " +"calling ``tp_traverse`` of another heap-allocated type (such as a heap-" +"allocated superclass). If they do not, the type object may not be garbage-" +"collected." msgstr "" -#: ../../c-api/typeobj.rst:1351 +#: ../../c-api/typeobj.rst:1354 msgid "" "Heap-allocated types are expected to visit ``Py_TYPE(self)`` in " "``tp_traverse``. In earlier versions of Python, due to `bug 40217 `_, doing this may lead to crashes in subclasses." msgstr "" -#: ../../c-api/typeobj.rst:1360 +#: ../../c-api/typeobj.rst:1363 msgid "" -"This field is inherited by subtypes together with :c:member:`~PyTypeObject." -"tp_clear` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:" -"member:`~PyTypeObject.tp_traverse`, and :c:member:`~PyTypeObject.tp_clear` " -"are all inherited from the base type if they are all zero in the subtype." +"This field is inherited by subtypes together " +"with :c:member:`~PyTypeObject.tp_clear` and " +"the :c:macro:`Py_TPFLAGS_HAVE_GC` flag bit: the flag " +"bit, :c:member:`~PyTypeObject.tp_traverse`, " +"and :c:member:`~PyTypeObject.tp_clear` are all inherited from the base type " +"if they are all zero in the subtype." msgstr "" -#: ../../c-api/typeobj.rst:1368 +#: ../../c-api/typeobj.rst:1371 msgid "" "An optional pointer to a clear function for the garbage collector. This is " -"only used if the :const:`Py_TPFLAGS_HAVE_GC` flag bit is set. The signature " -"is::" +"only used if the :c:macro:`Py_TPFLAGS_HAVE_GC` flag bit is set. The " +"signature is::" msgstr "" -#: ../../c-api/typeobj.rst:1373 +#: ../../c-api/typeobj.rst:1376 msgid "" "The :c:member:`~PyTypeObject.tp_clear` member function is used to break " "reference cycles in cyclic garbage detected by the garbage collector. Taken " @@ -2180,13 +2209,14 @@ msgid "" "doubt supply a :c:member:`~PyTypeObject.tp_clear` function. For example, " "the tuple type does not implement a :c:member:`~PyTypeObject.tp_clear` " "function, because it's possible to prove that no reference cycle can be " -"composed entirely of tuples. Therefore the :c:member:`~PyTypeObject." -"tp_clear` functions of other types must be sufficient to break any cycle " -"containing a tuple. This isn't immediately obvious, and there's rarely a " -"good reason to avoid implementing :c:member:`~PyTypeObject.tp_clear`." +"composed entirely of tuples. Therefore " +"the :c:member:`~PyTypeObject.tp_clear` functions of other types must be " +"sufficient to break any cycle containing a tuple. This isn't immediately " +"obvious, and there's rarely a good reason to avoid " +"implementing :c:member:`~PyTypeObject.tp_clear`." msgstr "" -#: ../../c-api/typeobj.rst:1383 +#: ../../c-api/typeobj.rst:1386 msgid "" "Implementations of :c:member:`~PyTypeObject.tp_clear` should drop the " "instance's references to those of its members that may be Python objects, " @@ -2194,22 +2224,22 @@ msgid "" "example::" msgstr "" -#: ../../c-api/typeobj.rst:1397 +#: ../../c-api/typeobj.rst:1400 msgid "" "The :c:func:`Py_CLEAR` macro should be used, because clearing references is " -"delicate: the reference to the contained object must not be decremented " -"until after the pointer to the contained object is set to ``NULL``. This is " -"because decrementing the reference count may cause the contained object to " -"become trash, triggering a chain of reclamation activity that may include " -"invoking arbitrary Python code (due to finalizers, or weakref callbacks, " -"associated with the contained object). If it's possible for such code to " -"reference *self* again, it's important that the pointer to the contained " -"object be ``NULL`` at that time, so that *self* knows the contained object " -"can no longer be used. The :c:func:`Py_CLEAR` macro performs the operations " -"in a safe order." +"delicate: the reference to the contained object must not be released " +"(via :c:func:`Py_DECREF`) until after the pointer to the contained object is " +"set to ``NULL``. This is because releasing the reference may cause the " +"contained object to become trash, triggering a chain of reclamation activity " +"that may include invoking arbitrary Python code (due to finalizers, or " +"weakref callbacks, associated with the contained object). If it's possible " +"for such code to reference *self* again, it's important that the pointer to " +"the contained object be ``NULL`` at that time, so that *self* knows the " +"contained object can no longer be used. The :c:func:`Py_CLEAR` macro " +"performs the operations in a safe order." msgstr "" -#: ../../c-api/typeobj.rst:1408 +#: ../../c-api/typeobj.rst:1412 msgid "" "Note that :c:member:`~PyTypeObject.tp_clear` is not *always* called before " "an instance is deallocated. For example, when reference counting is enough " @@ -2217,7 +2247,7 @@ msgid "" "is not involved and :c:member:`~PyTypeObject.tp_dealloc` is called directly." msgstr "" -#: ../../c-api/typeobj.rst:1414 +#: ../../c-api/typeobj.rst:1418 msgid "" "Because the goal of :c:member:`~PyTypeObject.tp_clear` functions is to break " "reference cycles, it's not necessary to clear contained objects like Python " @@ -2227,26 +2257,28 @@ msgid "" "invoke :c:member:`~PyTypeObject.tp_clear`." msgstr "" -#: ../../c-api/typeobj.rst:1427 +#: ../../c-api/typeobj.rst:1431 msgid "" -"This field is inherited by subtypes together with :c:member:`~PyTypeObject." -"tp_traverse` and the :const:`Py_TPFLAGS_HAVE_GC` flag bit: the flag bit, :c:" -"member:`~PyTypeObject.tp_traverse`, and :c:member:`~PyTypeObject.tp_clear` " -"are all inherited from the base type if they are all zero in the subtype." +"This field is inherited by subtypes together " +"with :c:member:`~PyTypeObject.tp_traverse` and " +"the :c:macro:`Py_TPFLAGS_HAVE_GC` flag bit: the flag " +"bit, :c:member:`~PyTypeObject.tp_traverse`, " +"and :c:member:`~PyTypeObject.tp_clear` are all inherited from the base type " +"if they are all zero in the subtype." msgstr "" -#: ../../c-api/typeobj.rst:1435 +#: ../../c-api/typeobj.rst:1439 msgid "" "An optional pointer to the rich comparison function, whose signature is::" msgstr "" -#: ../../c-api/typeobj.rst:1439 +#: ../../c-api/typeobj.rst:1443 msgid "" "The first parameter is guaranteed to be an instance of the type that is " "defined by :c:type:`PyTypeObject`." msgstr "" -#: ../../c-api/typeobj.rst:1442 +#: ../../c-api/typeobj.rst:1446 msgid "" "The function should return the result of the comparison (usually ``Py_True`` " "or ``Py_False``). If the comparison is undefined, it must return " @@ -2254,74 +2286,51 @@ msgid "" "set an exception condition." msgstr "" -#: ../../c-api/typeobj.rst:1447 +#: ../../c-api/typeobj.rst:1451 msgid "" -"The following constants are defined to be used as the third argument for :c:" -"member:`~PyTypeObject.tp_richcompare` and for :c:func:`PyObject_RichCompare`:" +"The following constants are defined to be used as the third argument " +"for :c:member:`~PyTypeObject.tp_richcompare` and " +"for :c:func:`PyObject_RichCompare`:" msgstr "" -#: ../../c-api/typeobj.rst:1451 +#: ../../c-api/typeobj.rst:1457 msgid "Constant" msgstr "Constante" -#: ../../c-api/typeobj.rst:1451 +#: ../../c-api/typeobj.rst:1457 msgid "Comparison" msgstr "Comparação" -#: ../../c-api/typeobj.rst:1453 -msgid ":const:`Py_LT`" -msgstr ":const:`Py_LT`" - -#: ../../c-api/typeobj.rst:1453 +#: ../../c-api/typeobj.rst:1459 msgid "``<``" msgstr "``<``" -#: ../../c-api/typeobj.rst:1455 -msgid ":const:`Py_LE`" -msgstr ":const:`Py_LE`" - -#: ../../c-api/typeobj.rst:1455 +#: ../../c-api/typeobj.rst:1461 msgid "``<=``" msgstr "``<=``" -#: ../../c-api/typeobj.rst:1457 -msgid ":const:`Py_EQ`" -msgstr ":const:`Py_EQ`" - -#: ../../c-api/typeobj.rst:1457 +#: ../../c-api/typeobj.rst:1463 msgid "``==``" msgstr "``==``" -#: ../../c-api/typeobj.rst:1459 -msgid ":const:`Py_NE`" -msgstr ":const:`Py_NE`" - -#: ../../c-api/typeobj.rst:1459 +#: ../../c-api/typeobj.rst:1465 msgid "``!=``" msgstr "``!=``" -#: ../../c-api/typeobj.rst:1461 -msgid ":const:`Py_GT`" -msgstr ":const:`Py_GT`" - -#: ../../c-api/typeobj.rst:1461 +#: ../../c-api/typeobj.rst:1467 msgid "``>``" msgstr "``>``" -#: ../../c-api/typeobj.rst:1463 -msgid ":const:`Py_GE`" -msgstr ":const:`Py_GE`" - -#: ../../c-api/typeobj.rst:1463 +#: ../../c-api/typeobj.rst:1469 msgid "``>=``" msgstr "``>=``" -#: ../../c-api/typeobj.rst:1466 +#: ../../c-api/typeobj.rst:1472 msgid "" "The following macro is defined to ease writing rich comparison functions:" msgstr "" -#: ../../c-api/typeobj.rst:1470 +#: ../../c-api/typeobj.rst:1476 msgid "" "Return ``Py_True`` or ``Py_False`` from the function, depending on the " "result of a comparison. VAL_A and VAL_B must be orderable by C comparison " @@ -2329,47 +2338,50 @@ msgid "" "specifies the requested operation, as for :c:func:`PyObject_RichCompare`." msgstr "" -#: ../../c-api/typeobj.rst:1476 -msgid "The return value's reference count is properly incremented." +#: ../../c-api/typeobj.rst:1482 +msgid "The returned value is a new :term:`strong reference`." msgstr "" -#: ../../c-api/typeobj.rst:1478 +#: ../../c-api/typeobj.rst:1484 msgid "On error, sets an exception and returns ``NULL`` from the function." msgstr "" -#: ../../c-api/typeobj.rst:1486 +#: ../../c-api/typeobj.rst:1492 msgid "" -"This field is inherited by subtypes together with :c:member:`~PyTypeObject." -"tp_hash`: a subtype inherits :c:member:`~PyTypeObject.tp_richcompare` and :c:" -"member:`~PyTypeObject.tp_hash` when the subtype's :c:member:`~PyTypeObject." -"tp_richcompare` and :c:member:`~PyTypeObject.tp_hash` are both ``NULL``." +"This field is inherited by subtypes together " +"with :c:member:`~PyTypeObject.tp_hash`: a subtype " +"inherits :c:member:`~PyTypeObject.tp_richcompare` " +"and :c:member:`~PyTypeObject.tp_hash` when the " +"subtype's :c:member:`~PyTypeObject.tp_richcompare` " +"and :c:member:`~PyTypeObject.tp_hash` are both ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:1493 +#: ../../c-api/typeobj.rst:1499 msgid "" -":c:type:`PyBaseObject_Type` provides a :attr:`tp_richcompare` " -"implementation, which may be inherited. However, if only :attr:`tp_hash` is " -"defined, not even the inherited function is used and instances of the type " -"will not be able to participate in any comparisons." +":c:data:`PyBaseObject_Type` provides " +"a :c:member:`~PyTypeObject.tp_richcompare` implementation, which may be " +"inherited. However, if only :c:member:`~PyTypeObject.tp_hash` is defined, " +"not even the inherited function is used and instances of the type will not " +"be able to participate in any comparisons." msgstr "" -#: ../../c-api/typeobj.rst:1502 +#: ../../c-api/typeobj.rst:1508 msgid "" "If the instances of this type are weakly referenceable, this field is " "greater than zero and contains the offset in the instance structure of the " "weak reference list head (ignoring the GC header, if present); this offset " "is used by :c:func:`PyObject_ClearWeakRefs` and the ``PyWeakref_*`` " -"functions. The instance structure needs to include a field of type :c:expr:" -"`PyObject*` which is initialized to ``NULL``." +"functions. The instance structure needs to include a field of " +"type :c:expr:`PyObject*` which is initialized to ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:1509 +#: ../../c-api/typeobj.rst:1515 msgid "" "Do not confuse this field with :c:member:`~PyTypeObject.tp_weaklist`; that " "is the list head for weak references to the type object itself." msgstr "" -#: ../../c-api/typeobj.rst:1514 +#: ../../c-api/typeobj.rst:1520 msgid "" "This field is inherited by subtypes, but see the rules listed below. A " "subtype may override this offset; this means that the subtype uses a " @@ -2378,123 +2390,124 @@ msgid "" "not be a problem." msgstr "" -#: ../../c-api/typeobj.rst:1519 +#: ../../c-api/typeobj.rst:1525 msgid "" "When a type defined by a class statement has no :attr:`~object.__slots__` " "declaration, and none of its base types are weakly referenceable, the type " "is made weakly referenceable by adding a weak reference list head slot to " -"the instance layout and setting the :c:member:`~PyTypeObject." -"tp_weaklistoffset` of that slot's offset." +"the instance layout and setting " +"the :c:member:`~PyTypeObject.tp_weaklistoffset` of that slot's offset." msgstr "" -#: ../../c-api/typeobj.rst:1524 +#: ../../c-api/typeobj.rst:1530 msgid "" -"When a type's :attr:`__slots__` declaration contains a slot named :attr:" -"`__weakref__`, that slot becomes the weak reference list head for instances " -"of the type, and the slot's offset is stored in the type's :c:member:" -"`~PyTypeObject.tp_weaklistoffset`." +"When a type's :attr:`__slots__` declaration contains a slot " +"named :attr:`__weakref__`, that slot becomes the weak reference list head " +"for instances of the type, and the slot's offset is stored in the " +"type's :c:member:`~PyTypeObject.tp_weaklistoffset`." msgstr "" -#: ../../c-api/typeobj.rst:1529 +#: ../../c-api/typeobj.rst:1535 msgid "" -"When a type's :attr:`__slots__` declaration does not contain a slot named :" -"attr:`__weakref__`, the type inherits its :c:member:`~PyTypeObject." -"tp_weaklistoffset` from its base type." +"When a type's :attr:`__slots__` declaration does not contain a slot " +"named :attr:`__weakref__`, the type inherits " +"its :c:member:`~PyTypeObject.tp_weaklistoffset` from its base type." msgstr "" -#: ../../c-api/typeobj.rst:1536 +#: ../../c-api/typeobj.rst:1542 msgid "" "An optional pointer to a function that returns an :term:`iterator` for the " -"object. Its presence normally signals that the instances of this type are :" -"term:`iterable` (although sequences may be iterable without this function)." +"object. Its presence normally signals that the instances of this type " +"are :term:`iterable` (although sequences may be iterable without this " +"function)." msgstr "" -#: ../../c-api/typeobj.rst:1540 +#: ../../c-api/typeobj.rst:1546 msgid "This function has the same signature as :c:func:`PyObject_GetIter`::" msgstr "" -#: ../../c-api/typeobj.rst:1551 +#: ../../c-api/typeobj.rst:1557 msgid "" -"An optional pointer to a function that returns the next item in an :term:" -"`iterator`. The signature is::" +"An optional pointer to a function that returns the next item in " +"an :term:`iterator`. The signature is::" msgstr "" -#: ../../c-api/typeobj.rst:1556 +#: ../../c-api/typeobj.rst:1562 msgid "" -"When the iterator is exhausted, it must return ``NULL``; a :exc:" -"`StopIteration` exception may or may not be set. When another error occurs, " -"it must return ``NULL`` too. Its presence signals that the instances of " -"this type are iterators." +"When the iterator is exhausted, it must return ``NULL``; " +"a :exc:`StopIteration` exception may or may not be set. When another error " +"occurs, it must return ``NULL`` too. Its presence signals that the " +"instances of this type are iterators." msgstr "" -#: ../../c-api/typeobj.rst:1561 +#: ../../c-api/typeobj.rst:1567 msgid "" "Iterator types should also define the :c:member:`~PyTypeObject.tp_iter` " "function, and that function should return the iterator instance itself (not " "a new iterator instance)." msgstr "" -#: ../../c-api/typeobj.rst:1565 +#: ../../c-api/typeobj.rst:1571 msgid "This function has the same signature as :c:func:`PyIter_Next`." msgstr "" -#: ../../c-api/typeobj.rst:1574 +#: ../../c-api/typeobj.rst:1580 msgid "" -"An optional pointer to a static ``NULL``-terminated array of :c:type:" -"`PyMethodDef` structures, declaring regular methods of this type." +"An optional pointer to a static ``NULL``-terminated array " +"of :c:type:`PyMethodDef` structures, declaring regular methods of this type." msgstr "" -#: ../../c-api/typeobj.rst:1577 +#: ../../c-api/typeobj.rst:1583 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a method descriptor." msgstr "" -#: ../../c-api/typeobj.rst:1582 +#: ../../c-api/typeobj.rst:1588 msgid "" "This field is not inherited by subtypes (methods are inherited through a " "different mechanism)." msgstr "" -#: ../../c-api/typeobj.rst:1588 +#: ../../c-api/typeobj.rst:1594 msgid "" -"An optional pointer to a static ``NULL``-terminated array of :c:type:" -"`PyMemberDef` structures, declaring regular data members (fields or slots) " -"of instances of this type." +"An optional pointer to a static ``NULL``-terminated array " +"of :c:type:`PyMemberDef` structures, declaring regular data members (fields " +"or slots) of instances of this type." msgstr "" -#: ../../c-api/typeobj.rst:1592 +#: ../../c-api/typeobj.rst:1598 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a member descriptor." msgstr "" -#: ../../c-api/typeobj.rst:1597 +#: ../../c-api/typeobj.rst:1603 msgid "" "This field is not inherited by subtypes (members are inherited through a " "different mechanism)." msgstr "" -#: ../../c-api/typeobj.rst:1603 +#: ../../c-api/typeobj.rst:1609 msgid "" -"An optional pointer to a static ``NULL``-terminated array of :c:type:" -"`PyGetSetDef` structures, declaring computed attributes of instances of this " -"type." +"An optional pointer to a static ``NULL``-terminated array " +"of :c:type:`PyGetSetDef` structures, declaring computed attributes of " +"instances of this type." msgstr "" -#: ../../c-api/typeobj.rst:1606 +#: ../../c-api/typeobj.rst:1612 msgid "" "For each entry in the array, an entry is added to the type's dictionary " "(see :c:member:`~PyTypeObject.tp_dict` below) containing a getset descriptor." msgstr "" -#: ../../c-api/typeobj.rst:1611 +#: ../../c-api/typeobj.rst:1617 msgid "" "This field is not inherited by subtypes (computed attributes are inherited " "through a different mechanism)." msgstr "" -#: ../../c-api/typeobj.rst:1617 +#: ../../c-api/typeobj.rst:1623 msgid "" "An optional pointer to a base type from which type properties are " "inherited. At this level, only single inheritance is supported; multiple " @@ -2502,7 +2515,7 @@ msgid "" "metatype." msgstr "" -#: ../../c-api/typeobj.rst:1625 +#: ../../c-api/typeobj.rst:1631 msgid "" "Slot initialization is subject to the rules of initializing globals. C99 " "requires the initializers to be \"address constants\". Function designators " @@ -2510,96 +2523,97 @@ msgid "" "valid C99 address constants." msgstr "" -#: ../../c-api/typeobj.rst:1630 +#: ../../c-api/typeobj.rst:1636 msgid "" -"However, the unary '&' operator applied to a non-static variable like :c:" -"func:`PyBaseObject_Type` is not required to produce an address constant. " -"Compilers may support this (gcc does), MSVC does not. Both compilers are " -"strictly standard conforming in this particular behavior." +"However, the unary '&' operator applied to a non-static variable " +"like :c:data:`PyBaseObject_Type` is not required to produce an address " +"constant. Compilers may support this (gcc does), MSVC does not. Both " +"compilers are strictly standard conforming in this particular behavior." msgstr "" -#: ../../c-api/typeobj.rst:1636 +#: ../../c-api/typeobj.rst:1642 msgid "" "Consequently, :c:member:`~PyTypeObject.tp_base` should be set in the " "extension module's init function." msgstr "" -#: ../../c-api/typeobj.rst:1641 +#: ../../c-api/typeobj.rst:1647 msgid "This field is not inherited by subtypes (obviously)." msgstr "" -#: ../../c-api/typeobj.rst:1645 +#: ../../c-api/typeobj.rst:1651 msgid "" "This field defaults to ``&PyBaseObject_Type`` (which to Python programmers " "is known as the type :class:`object`)." msgstr "" -#: ../../c-api/typeobj.rst:1651 +#: ../../c-api/typeobj.rst:1657 msgid "The type's dictionary is stored here by :c:func:`PyType_Ready`." msgstr "" -#: ../../c-api/typeobj.rst:1653 +#: ../../c-api/typeobj.rst:1659 msgid "" "This field should normally be initialized to ``NULL`` before PyType_Ready is " "called; it may also be initialized to a dictionary containing initial " "attributes for the type. Once :c:func:`PyType_Ready` has initialized the " "type, extra attributes for the type may be added to this dictionary only if " -"they don't correspond to overloaded operations (like :meth:`__add__`)." +"they don't correspond to overloaded operations " +"(like :meth:`~object.__add__`)." msgstr "" -#: ../../c-api/typeobj.rst:1661 +#: ../../c-api/typeobj.rst:1667 msgid "" "This field is not inherited by subtypes (though the attributes defined in " "here are inherited through a different mechanism)." msgstr "" -#: ../../c-api/typeobj.rst:1666 +#: ../../c-api/typeobj.rst:1672 msgid "" "If this field is ``NULL``, :c:func:`PyType_Ready` will assign a new " "dictionary to it." msgstr "" -#: ../../c-api/typeobj.rst:1671 +#: ../../c-api/typeobj.rst:1677 msgid "" -"It is not safe to use :c:func:`PyDict_SetItem` on or otherwise modify :c:" -"member:`~PyTypeObject.tp_dict` with the dictionary C-API." +"It is not safe to use :c:func:`PyDict_SetItem` on or otherwise " +"modify :c:member:`~PyTypeObject.tp_dict` with the dictionary C-API." msgstr "" -#: ../../c-api/typeobj.rst:1677 +#: ../../c-api/typeobj.rst:1683 msgid "An optional pointer to a \"descriptor get\" function." msgstr "" -#: ../../c-api/typeobj.rst:1679 ../../c-api/typeobj.rst:1695 -#: ../../c-api/typeobj.rst:1770 ../../c-api/typeobj.rst:1800 -#: ../../c-api/typeobj.rst:1824 +#: ../../c-api/typeobj.rst:1685 ../../c-api/typeobj.rst:1701 +#: ../../c-api/typeobj.rst:1776 ../../c-api/typeobj.rst:1806 +#: ../../c-api/typeobj.rst:1830 msgid "The function signature is::" -msgstr "" +msgstr "A assinatura da função é::" -#: ../../c-api/typeobj.rst:1692 +#: ../../c-api/typeobj.rst:1698 msgid "" "An optional pointer to a function for setting and deleting a descriptor's " "value." msgstr "" -#: ../../c-api/typeobj.rst:1699 +#: ../../c-api/typeobj.rst:1705 msgid "The *value* argument is set to ``NULL`` to delete the value." msgstr "" -#: ../../c-api/typeobj.rst:1710 +#: ../../c-api/typeobj.rst:1716 msgid "" "If the instances of this type have a dictionary containing instance " "variables, this field is non-zero and contains the offset in the instances " -"of the type of the instance variable dictionary; this offset is used by :c:" -"func:`PyObject_GenericGetAttr`." +"of the type of the instance variable dictionary; this offset is used " +"by :c:func:`PyObject_GenericGetAttr`." msgstr "" -#: ../../c-api/typeobj.rst:1715 +#: ../../c-api/typeobj.rst:1721 msgid "" "Do not confuse this field with :c:member:`~PyTypeObject.tp_dict`; that is " "the dictionary for attributes of the type object itself." msgstr "" -#: ../../c-api/typeobj.rst:1718 +#: ../../c-api/typeobj.rst:1724 msgid "" "If the value of this field is greater than zero, it specifies the offset " "from the start of the instance structure. If the value is less than zero, " @@ -2610,21 +2624,22 @@ msgid "" "or :class:`tuple`. Note that the :c:member:`~PyTypeObject.tp_basicsize` " "field should account for the dictionary added to the end in that case, even " "though the dictionary is not included in the basic object layout. On a " -"system with a pointer size of 4 bytes, :c:member:`~PyTypeObject." -"tp_dictoffset` should be set to ``-4`` to indicate that the dictionary is at " -"the very end of the structure." +"system with a pointer size of 4 " +"bytes, :c:member:`~PyTypeObject.tp_dictoffset` should be set to ``-4`` to " +"indicate that the dictionary is at the very end of the structure." msgstr "" -#: ../../c-api/typeobj.rst:1730 +#: ../../c-api/typeobj.rst:1736 msgid "" "The :c:member:`~PyTypeObject.tp_dictoffset` should be regarded as write-" -"only. To get the pointer to the dictionary call :c:func:" -"`PyObject_GenericGetDict`. Calling :c:func:`PyObject_GenericGetDict` may " -"need to allocate memory for the dictionary, so it is may be more efficient " -"to call :c:func:`PyObject_GetAttr` when accessing an attribute on the object." +"only. To get the pointer to the dictionary " +"call :c:func:`PyObject_GenericGetDict`. " +"Calling :c:func:`PyObject_GenericGetDict` may need to allocate memory for " +"the dictionary, so it is may be more efficient to " +"call :c:func:`PyObject_GetAttr` when accessing an attribute on the object." msgstr "" -#: ../../c-api/typeobj.rst:1738 +#: ../../c-api/typeobj.rst:1744 msgid "" "This field is inherited by subtypes, but see the rules listed below. A " "subtype may override this offset; this means that the subtype instances " @@ -2633,22 +2648,22 @@ msgid "" "should not be a problem." msgstr "" -#: ../../c-api/typeobj.rst:1743 +#: ../../c-api/typeobj.rst:1749 msgid "" "When a type defined by a class statement has no :attr:`~object.__slots__` " "declaration, and none of its base types has an instance variable dictionary, " -"a dictionary slot is added to the instance layout and the :c:member:" -"`~PyTypeObject.tp_dictoffset` is set to that slot's offset." +"a dictionary slot is added to the instance layout and " +"the :c:member:`~PyTypeObject.tp_dictoffset` is set to that slot's offset." msgstr "" -#: ../../c-api/typeobj.rst:1748 +#: ../../c-api/typeobj.rst:1754 msgid "" "When a type defined by a class statement has a :attr:`__slots__` " "declaration, the type inherits its :c:member:`~PyTypeObject.tp_dictoffset` " "from its base type." msgstr "" -#: ../../c-api/typeobj.rst:1751 +#: ../../c-api/typeobj.rst:1757 msgid "" "(Adding a slot named :attr:`~object.__dict__` to the :attr:`__slots__` " "declaration does not have the expected effect, it just causes confusion. " @@ -2656,114 +2671,117 @@ msgid "" "though.)" msgstr "" -#: ../../c-api/typeobj.rst:1757 +#: ../../c-api/typeobj.rst:1763 msgid "" "This slot has no default. For :ref:`static types `, if the " -"field is ``NULL`` then no :attr:`__dict__` gets created for instances." +"field is ``NULL`` then no :attr:`~object.__dict__` gets created for " +"instances." msgstr "" -#: ../../c-api/typeobj.rst:1763 +#: ../../c-api/typeobj.rst:1769 msgid "An optional pointer to an instance initialization function." msgstr "" -#: ../../c-api/typeobj.rst:1765 +#: ../../c-api/typeobj.rst:1771 msgid "" -"This function corresponds to the :meth:`__init__` method of classes. Like :" -"meth:`__init__`, it is possible to create an instance without calling :meth:" -"`__init__`, and it is possible to reinitialize an instance by calling its :" -"meth:`__init__` method again." +"This function corresponds to the :meth:`~object.__init__` method of " +"classes. Like :meth:`!__init__`, it is possible to create an instance " +"without calling :meth:`!__init__`, and it is possible to reinitialize an " +"instance by calling its :meth:`!__init__` method again." msgstr "" -#: ../../c-api/typeobj.rst:1774 +#: ../../c-api/typeobj.rst:1780 msgid "" "The self argument is the instance to be initialized; the *args* and *kwds* " -"arguments represent positional and keyword arguments of the call to :meth:" -"`__init__`." +"arguments represent positional and keyword arguments of the call " +"to :meth:`~object.__init__`." msgstr "" -#: ../../c-api/typeobj.rst:1778 +#: ../../c-api/typeobj.rst:1784 msgid "" "The :c:member:`~PyTypeObject.tp_init` function, if not ``NULL``, is called " -"when an instance is created normally by calling its type, after the type's :" -"c:member:`~PyTypeObject.tp_new` function has returned an instance of the " -"type. If the :c:member:`~PyTypeObject.tp_new` function returns an instance " -"of some other type that is not a subtype of the original type, no :c:member:" -"`~PyTypeObject.tp_init` function is called; if :c:member:`~PyTypeObject." -"tp_new` returns an instance of a subtype of the original type, the " -"subtype's :c:member:`~PyTypeObject.tp_init` is called." +"when an instance is created normally by calling its type, after the " +"type's :c:member:`~PyTypeObject.tp_new` function has returned an instance of " +"the type. If the :c:member:`~PyTypeObject.tp_new` function returns an " +"instance of some other type that is not a subtype of the original type, " +"no :c:member:`~PyTypeObject.tp_init` function is called; " +"if :c:member:`~PyTypeObject.tp_new` returns an instance of a subtype of the " +"original type, the subtype's :c:member:`~PyTypeObject.tp_init` is called." msgstr "" -#: ../../c-api/typeobj.rst:1785 +#: ../../c-api/typeobj.rst:1791 msgid "Returns ``0`` on success, ``-1`` and sets an exception on error." msgstr "" -#: ../../c-api/typeobj.rst:1793 +#: ../../c-api/typeobj.rst:1799 msgid "" "For :ref:`static types ` this field does not have a default." msgstr "" -#: ../../c-api/typeobj.rst:1798 +#: ../../c-api/typeobj.rst:1804 msgid "An optional pointer to an instance allocation function." msgstr "" -#: ../../c-api/typeobj.rst:1806 +#: ../../c-api/typeobj.rst:1812 msgid "" "This field is inherited by static subtypes, but not by dynamic subtypes " "(subtypes created by a class statement)." msgstr "" -#: ../../c-api/typeobj.rst:1811 +#: ../../c-api/typeobj.rst:1817 msgid "" -"For dynamic subtypes, this field is always set to :c:func:" -"`PyType_GenericAlloc`, to force a standard heap allocation strategy." +"For dynamic subtypes, this field is always set " +"to :c:func:`PyType_GenericAlloc`, to force a standard heap allocation " +"strategy." msgstr "" -#: ../../c-api/typeobj.rst:1815 +#: ../../c-api/typeobj.rst:1821 msgid "" -"For static subtypes, :c:type:`PyBaseObject_Type` uses :c:func:" -"`PyType_GenericAlloc`. That is the recommended value for all statically " -"defined types." +"For static subtypes, :c:data:`PyBaseObject_Type` " +"uses :c:func:`PyType_GenericAlloc`. That is the recommended value for all " +"statically defined types." msgstr "" -#: ../../c-api/typeobj.rst:1822 +#: ../../c-api/typeobj.rst:1828 msgid "An optional pointer to an instance creation function." msgstr "" -#: ../../c-api/typeobj.rst:1828 +#: ../../c-api/typeobj.rst:1834 msgid "" "The *subtype* argument is the type of the object being created; the *args* " "and *kwds* arguments represent positional and keyword arguments of the call " -"to the type. Note that *subtype* doesn't have to equal the type whose :c:" -"member:`~PyTypeObject.tp_new` function is called; it may be a subtype of " -"that type (but not an unrelated type)." +"to the type. Note that *subtype* doesn't have to equal the type " +"whose :c:member:`~PyTypeObject.tp_new` function is called; it may be a " +"subtype of that type (but not an unrelated type)." msgstr "" -#: ../../c-api/typeobj.rst:1834 +#: ../../c-api/typeobj.rst:1840 msgid "" "The :c:member:`~PyTypeObject.tp_new` function should call ``subtype-" ">tp_alloc(subtype, nitems)`` to allocate space for the object, and then do " "only as much further initialization as is absolutely necessary. " "Initialization that can safely be ignored or repeated should be placed in " "the :c:member:`~PyTypeObject.tp_init` handler. A good rule of thumb is that " -"for immutable types, all initialization should take place in :c:member:" -"`~PyTypeObject.tp_new`, while for mutable types, most initialization should " -"be deferred to :c:member:`~PyTypeObject.tp_init`." +"for immutable types, all initialization should take place " +"in :c:member:`~PyTypeObject.tp_new`, while for mutable types, most " +"initialization should be deferred to :c:member:`~PyTypeObject.tp_init`." msgstr "" -#: ../../c-api/typeobj.rst:1842 +#: ../../c-api/typeobj.rst:1848 msgid "" -"Set the :const:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag to disallow creating " -"instances of the type in Python." +"Set the :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag to disallow " +"creating instances of the type in Python." msgstr "" -#: ../../c-api/typeobj.rst:1847 +#: ../../c-api/typeobj.rst:1853 msgid "" -"This field is inherited by subtypes, except it is not inherited by :ref:" -"`static types ` whose :c:member:`~PyTypeObject.tp_base` is " -"``NULL`` or ``&PyBaseObject_Type``." +"This field is inherited by subtypes, except it is not inherited " +"by :ref:`static types ` " +"whose :c:member:`~PyTypeObject.tp_base` is ``NULL`` or " +"``&PyBaseObject_Type``." msgstr "" -#: ../../c-api/typeobj.rst:1853 +#: ../../c-api/typeobj.rst:1859 msgid "" "For :ref:`static types ` this field has no default. This means " "if the slot is defined as ``NULL``, the type cannot be called to create new " @@ -2771,134 +2789,135 @@ msgid "" "factory function." msgstr "" -#: ../../c-api/typeobj.rst:1861 +#: ../../c-api/typeobj.rst:1867 msgid "" "An optional pointer to an instance deallocation function. Its signature is::" msgstr "" -#: ../../c-api/typeobj.rst:1865 +#: ../../c-api/typeobj.rst:1871 msgid "" -"An initializer that is compatible with this signature is :c:func:" -"`PyObject_Free`." +"An initializer that is compatible with this signature " +"is :c:func:`PyObject_Free`." msgstr "" -#: ../../c-api/typeobj.rst:1869 +#: ../../c-api/typeobj.rst:1875 msgid "" "This field is inherited by static subtypes, but not by dynamic subtypes " "(subtypes created by a class statement)" msgstr "" -#: ../../c-api/typeobj.rst:1874 +#: ../../c-api/typeobj.rst:1880 msgid "" -"In dynamic subtypes, this field is set to a deallocator suitable to match :c:" -"func:`PyType_GenericAlloc` and the value of the :const:`Py_TPFLAGS_HAVE_GC` " -"flag bit." +"In dynamic subtypes, this field is set to a deallocator suitable to " +"match :c:func:`PyType_GenericAlloc` and the value of " +"the :c:macro:`Py_TPFLAGS_HAVE_GC` flag bit." msgstr "" -#: ../../c-api/typeobj.rst:1878 -msgid "For static subtypes, :c:type:`PyBaseObject_Type` uses PyObject_Del." +#: ../../c-api/typeobj.rst:1884 +msgid "" +"For static subtypes, :c:data:`PyBaseObject_Type` uses :c:func:`PyObject_Del`." msgstr "" -#: ../../c-api/typeobj.rst:1883 +#: ../../c-api/typeobj.rst:1889 msgid "An optional pointer to a function called by the garbage collector." msgstr "" -#: ../../c-api/typeobj.rst:1885 +#: ../../c-api/typeobj.rst:1891 msgid "" "The garbage collector needs to know whether a particular object is " "collectible or not. Normally, it is sufficient to look at the object's " -"type's :c:member:`~PyTypeObject.tp_flags` field, and check the :const:" -"`Py_TPFLAGS_HAVE_GC` flag bit. But some types have a mixture of statically " -"and dynamically allocated instances, and the statically allocated instances " -"are not collectible. Such types should define this function; it should " -"return ``1`` for a collectible instance, and ``0`` for a non-collectible " -"instance. The signature is::" +"type's :c:member:`~PyTypeObject.tp_flags` field, and check " +"the :c:macro:`Py_TPFLAGS_HAVE_GC` flag bit. But some types have a mixture " +"of statically and dynamically allocated instances, and the statically " +"allocated instances are not collectible. Such types should define this " +"function; it should return ``1`` for a collectible instance, and ``0`` for a " +"non-collectible instance. The signature is::" msgstr "" -#: ../../c-api/typeobj.rst:1895 +#: ../../c-api/typeobj.rst:1901 msgid "" -"(The only example of this are types themselves. The metatype, :c:data:" -"`PyType_Type`, defines this function to distinguish between statically and :" -"ref:`dynamically allocated types `.)" +"(The only example of this are types themselves. The " +"metatype, :c:data:`PyType_Type`, defines this function to distinguish " +"between statically and :ref:`dynamically allocated types `.)" msgstr "" -#: ../../c-api/typeobj.rst:1905 +#: ../../c-api/typeobj.rst:1911 msgid "" -"This slot has no default. If this field is ``NULL``, :const:" -"`Py_TPFLAGS_HAVE_GC` is used as the functional equivalent." +"This slot has no default. If this field is " +"``NULL``, :c:macro:`Py_TPFLAGS_HAVE_GC` is used as the functional equivalent." msgstr "" -#: ../../c-api/typeobj.rst:1911 +#: ../../c-api/typeobj.rst:1917 msgid "Tuple of base types." msgstr "" -#: ../../c-api/typeobj.rst:1913 ../../c-api/typeobj.rst:1937 +#: ../../c-api/typeobj.rst:1919 ../../c-api/typeobj.rst:1943 msgid "" "This field should be set to ``NULL`` and treated as read-only. Python will " "fill it in when the type is :c:func:`initialized `." msgstr "" -#: ../../c-api/typeobj.rst:1916 +#: ../../c-api/typeobj.rst:1922 msgid "" "For dynamically created classes, the ``Py_tp_bases`` :c:type:`slot " -"` can be used instead of the *bases* argument of :c:func:" -"`PyType_FromSpecWithBases`. The argument form is preferred." +"` can be used instead of the *bases* argument " +"of :c:func:`PyType_FromSpecWithBases`. The argument form is preferred." msgstr "" -#: ../../c-api/typeobj.rst:1923 +#: ../../c-api/typeobj.rst:1929 msgid "" "Multiple inheritance does not work well for statically defined types. If you " "set ``tp_bases`` to a tuple, Python will not raise an error, but some slots " "will only be inherited from the first base." msgstr "" -#: ../../c-api/typeobj.rst:1929 ../../c-api/typeobj.rst:1952 -#: ../../c-api/typeobj.rst:1961 ../../c-api/typeobj.rst:1971 -#: ../../c-api/typeobj.rst:1985 +#: ../../c-api/typeobj.rst:1935 ../../c-api/typeobj.rst:1958 +#: ../../c-api/typeobj.rst:1967 ../../c-api/typeobj.rst:1977 +#: ../../c-api/typeobj.rst:1991 msgid "This field is not inherited." msgstr "" -#: ../../c-api/typeobj.rst:1934 +#: ../../c-api/typeobj.rst:1940 msgid "" "Tuple containing the expanded set of base types, starting with the type " "itself and ending with :class:`object`, in Method Resolution Order." msgstr "" -#: ../../c-api/typeobj.rst:1942 +#: ../../c-api/typeobj.rst:1948 msgid "" -"This field is not inherited; it is calculated fresh by :c:func:" -"`PyType_Ready`." +"This field is not inherited; it is calculated fresh " +"by :c:func:`PyType_Ready`." msgstr "" -#: ../../c-api/typeobj.rst:1948 +#: ../../c-api/typeobj.rst:1954 msgid "Unused. Internal use only." msgstr "" -#: ../../c-api/typeobj.rst:1957 +#: ../../c-api/typeobj.rst:1963 msgid "List of weak references to subclasses. Internal use only." msgstr "" -#: ../../c-api/typeobj.rst:1966 +#: ../../c-api/typeobj.rst:1972 msgid "" "Weak reference list head, for weak references to this type object. Not " "inherited. Internal use only." msgstr "" -#: ../../c-api/typeobj.rst:1976 +#: ../../c-api/typeobj.rst:1982 msgid "" "This field is deprecated. Use :c:member:`~PyTypeObject.tp_finalize` instead." msgstr "" -#: ../../c-api/typeobj.rst:1981 +#: ../../c-api/typeobj.rst:1987 msgid "Used to index into the method cache. Internal use only." msgstr "" -#: ../../c-api/typeobj.rst:1990 +#: ../../c-api/typeobj.rst:1996 msgid "" "An optional pointer to an instance finalization function. Its signature is::" msgstr "" -#: ../../c-api/typeobj.rst:1994 +#: ../../c-api/typeobj.rst:2000 msgid "" "If :c:member:`~PyTypeObject.tp_finalize` is set, the interpreter calls it " "once when finalizing an instance. It is called either from the garbage " @@ -2908,130 +2927,131 @@ msgid "" "object in a sane state." msgstr "" -#: ../../c-api/typeobj.rst:2001 +#: ../../c-api/typeobj.rst:2007 msgid "" ":c:member:`~PyTypeObject.tp_finalize` should not mutate the current " "exception status; therefore, a recommended way to write a non-trivial " "finalizer is::" msgstr "" -#: ../../c-api/typeobj.rst:2018 +#: ../../c-api/typeobj.rst:2024 msgid "" -"Also, note that, in a garbage collected Python, :c:member:`~PyTypeObject." -"tp_dealloc` may be called from any Python thread, not just the thread which " -"created the object (if the object becomes part of a refcount cycle, that " -"cycle might be collected by a garbage collection on any thread). This is " -"not a problem for Python API calls, since the thread on which tp_dealloc is " -"called will own the Global Interpreter Lock (GIL). However, if the object " -"being destroyed in turn destroys objects from some other C or C++ library, " -"care should be taken to ensure that destroying those objects on the thread " -"which called tp_dealloc will not violate any assumptions of the library." +"Also, note that, in a garbage collected " +"Python, :c:member:`~PyTypeObject.tp_dealloc` may be called from any Python " +"thread, not just the thread which created the object (if the object becomes " +"part of a refcount cycle, that cycle might be collected by a garbage " +"collection on any thread). This is not a problem for Python API calls, " +"since the thread on which tp_dealloc is called will own the Global " +"Interpreter Lock (GIL). However, if the object being destroyed in turn " +"destroys objects from some other C or C++ library, care should be taken to " +"ensure that destroying those objects on the thread which called tp_dealloc " +"will not violate any assumptions of the library." msgstr "" -#: ../../c-api/typeobj.rst:2037 +#: ../../c-api/typeobj.rst:2043 msgid "" -"Before version 3.8 it was necessary to set the :const:" -"`Py_TPFLAGS_HAVE_FINALIZE` flags bit in order for this field to be used. " -"This is no longer required." +"Before version 3.8 it was necessary to set " +"the :c:macro:`Py_TPFLAGS_HAVE_FINALIZE` flags bit in order for this field to " +"be used. This is no longer required." msgstr "" -#: ../../c-api/typeobj.rst:2041 +#: ../../c-api/typeobj.rst:2047 msgid "\"Safe object finalization\" (:pep:`442`)" -msgstr "\"Safe object finalization\" (:pep:`442`)" +msgstr "\"Finalização segura de objetos\" (:pep:`442`)" -#: ../../c-api/typeobj.rst:2046 +#: ../../c-api/typeobj.rst:2052 msgid "" "Vectorcall function to use for calls of this type object. In other words, it " "is used to implement :ref:`vectorcall ` for ``type.__call__``. " -"If ``tp_vectorcall`` is ``NULL``, the default call implementation using :" -"attr:`__new__` and :attr:`__init__` is used." +"If ``tp_vectorcall`` is ``NULL``, the default call implementation " +"using :meth:`~object.__new__` and :meth:`~object.__init__` is used." msgstr "" -#: ../../c-api/typeobj.rst:2054 +#: ../../c-api/typeobj.rst:2060 msgid "This field is never inherited." msgstr "" -#: ../../c-api/typeobj.rst:2056 +#: ../../c-api/typeobj.rst:2062 msgid "(the field exists since 3.8 but it's only used since 3.9)" msgstr "" -#: ../../c-api/typeobj.rst:2062 +#: ../../c-api/typeobj.rst:2068 msgid "Static Types" msgstr "" -#: ../../c-api/typeobj.rst:2064 +#: ../../c-api/typeobj.rst:2070 msgid "" -"Traditionally, types defined in C code are *static*, that is, a static :c:" -"type:`PyTypeObject` structure is defined directly in code and initialized " -"using :c:func:`PyType_Ready`." +"Traditionally, types defined in C code are *static*, that is, a " +"static :c:type:`PyTypeObject` structure is defined directly in code and " +"initialized using :c:func:`PyType_Ready`." msgstr "" -#: ../../c-api/typeobj.rst:2068 +#: ../../c-api/typeobj.rst:2074 msgid "" "This results in types that are limited relative to types defined in Python:" msgstr "" -#: ../../c-api/typeobj.rst:2070 +#: ../../c-api/typeobj.rst:2076 msgid "" "Static types are limited to one base, i.e. they cannot use multiple " "inheritance." msgstr "" -#: ../../c-api/typeobj.rst:2072 +#: ../../c-api/typeobj.rst:2078 msgid "" "Static type objects (but not necessarily their instances) are immutable. It " "is not possible to add or modify the type object's attributes from Python." msgstr "" -#: ../../c-api/typeobj.rst:2074 +#: ../../c-api/typeobj.rst:2080 msgid "" "Static type objects are shared across :ref:`sub-interpreters `, so they should not include any subinterpreter-" "specific state." msgstr "" -#: ../../c-api/typeobj.rst:2078 +#: ../../c-api/typeobj.rst:2084 msgid "" "Also, since :c:type:`PyTypeObject` is only part of the :ref:`Limited API " -"` as an opaque struct, any extension modules using static types must " -"be compiled for a specific Python minor version." +"` as an opaque struct, any extension modules using static " +"types must be compiled for a specific Python minor version." msgstr "" -#: ../../c-api/typeobj.rst:2086 +#: ../../c-api/typeobj.rst:2092 msgid "Heap Types" -msgstr "" +msgstr "Tipos no heap" -#: ../../c-api/typeobj.rst:2088 +#: ../../c-api/typeobj.rst:2094 msgid "" "An alternative to :ref:`static types ` is *heap-allocated " "types*, or *heap types* for short, which correspond closely to classes " -"created by Python's ``class`` statement. Heap types have the :const:" -"`Py_TPFLAGS_HEAPTYPE` flag set." +"created by Python's ``class`` statement. Heap types have " +"the :c:macro:`Py_TPFLAGS_HEAPTYPE` flag set." msgstr "" -#: ../../c-api/typeobj.rst:2093 +#: ../../c-api/typeobj.rst:2099 msgid "" -"This is done by filling a :c:type:`PyType_Spec` structure and calling :c:" -"func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases`, or :c:func:" -"`PyType_FromModuleAndSpec`." +"This is done by filling a :c:type:`PyType_Spec` structure and " +"calling :c:func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases`, " +"or :c:func:`PyType_FromModuleAndSpec`." msgstr "" -#: ../../c-api/typeobj.rst:2101 +#: ../../c-api/typeobj.rst:2107 msgid "Number Object Structures" msgstr "" -#: ../../c-api/typeobj.rst:2108 +#: ../../c-api/typeobj.rst:2114 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the number protocol. Each function is used by the function of " "similar name documented in the :ref:`number` section." msgstr "" -#: ../../c-api/typeobj.rst:2114 ../../c-api/typeobj.rst:2438 +#: ../../c-api/typeobj.rst:2120 ../../c-api/typeobj.rst:2444 msgid "Here is the structure definition::" msgstr "" -#: ../../c-api/typeobj.rst:2161 +#: ../../c-api/typeobj.rst:2167 msgid "" "Binary and ternary functions must check the type of all their operands, and " "implement the necessary conversions (at least one of the operands is an " @@ -3041,80 +3061,82 @@ msgid "" "and set an exception." msgstr "" -#: ../../c-api/typeobj.rst:2170 +#: ../../c-api/typeobj.rst:2176 msgid "" -"The :c:data:`nb_reserved` field should always be ``NULL``. It was " -"previously called :c:data:`nb_long`, and was renamed in Python 3.0.1." +"The :c:member:`~PyNumberMethods.nb_reserved` field should always be " +"``NULL``. It was previously called :c:member:`!nb_long`, and was renamed in " +"Python 3.0.1." msgstr "" -#: ../../c-api/typeobj.rst:2215 +#: ../../c-api/typeobj.rst:2221 msgid "Mapping Object Structures" msgstr "" -#: ../../c-api/typeobj.rst:2222 +#: ../../c-api/typeobj.rst:2228 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the mapping protocol. It has three members:" msgstr "" -#: ../../c-api/typeobj.rst:2227 +#: ../../c-api/typeobj.rst:2233 msgid "" -"This function is used by :c:func:`PyMapping_Size` and :c:func:" -"`PyObject_Size`, and has the same signature. This slot may be set to " -"``NULL`` if the object has no defined length." +"This function is used by :c:func:`PyMapping_Size` " +"and :c:func:`PyObject_Size`, and has the same signature. This slot may be " +"set to ``NULL`` if the object has no defined length." msgstr "" -#: ../../c-api/typeobj.rst:2233 +#: ../../c-api/typeobj.rst:2239 msgid "" -"This function is used by :c:func:`PyObject_GetItem` and :c:func:" -"`PySequence_GetSlice`, and has the same signature as :c:func:`!" -"PyObject_GetItem`. This slot must be filled for the :c:func:" -"`PyMapping_Check` function to return ``1``, it can be ``NULL`` otherwise." +"This function is used by :c:func:`PyObject_GetItem` " +"and :c:func:`PySequence_GetSlice`, and has the same signature as :c:func:`!" +"PyObject_GetItem`. This slot must be filled for " +"the :c:func:`PyMapping_Check` function to return ``1``, it can be ``NULL`` " +"otherwise." msgstr "" -#: ../../c-api/typeobj.rst:2241 +#: ../../c-api/typeobj.rst:2247 msgid "" -"This function is used by :c:func:`PyObject_SetItem`, :c:func:" -"`PyObject_DelItem`, :c:func:`PyObject_SetSlice` and :c:func:" -"`PyObject_DelSlice`. It has the same signature as :c:func:`!" +"This function is used " +"by :c:func:`PyObject_SetItem`, :c:func:`PyObject_DelItem`, :c:func:`PySequence_SetSlice` " +"and :c:func:`PySequence_DelSlice`. It has the same signature as :c:func:`!" "PyObject_SetItem`, but *v* can also be set to ``NULL`` to delete an item. " "If this slot is ``NULL``, the object does not support item assignment and " "deletion." msgstr "" -#: ../../c-api/typeobj.rst:2252 +#: ../../c-api/typeobj.rst:2258 msgid "Sequence Object Structures" msgstr "" -#: ../../c-api/typeobj.rst:2259 +#: ../../c-api/typeobj.rst:2265 msgid "" "This structure holds pointers to the functions which an object uses to " "implement the sequence protocol." msgstr "" -#: ../../c-api/typeobj.rst:2264 +#: ../../c-api/typeobj.rst:2270 msgid "" -"This function is used by :c:func:`PySequence_Size` and :c:func:" -"`PyObject_Size`, and has the same signature. It is also used for handling " -"negative indices via the :c:member:`~PySequenceMethods.sq_item` and the :c:" -"member:`~PySequenceMethods.sq_ass_item` slots." +"This function is used by :c:func:`PySequence_Size` " +"and :c:func:`PyObject_Size`, and has the same signature. It is also used " +"for handling negative indices via the :c:member:`~PySequenceMethods.sq_item` " +"and the :c:member:`~PySequenceMethods.sq_ass_item` slots." msgstr "" -#: ../../c-api/typeobj.rst:2271 +#: ../../c-api/typeobj.rst:2277 msgid "" "This function is used by :c:func:`PySequence_Concat` and has the same " "signature. It is also used by the ``+`` operator, after trying the numeric " "addition via the :c:member:`~PyNumberMethods.nb_add` slot." msgstr "" -#: ../../c-api/typeobj.rst:2277 +#: ../../c-api/typeobj.rst:2283 msgid "" "This function is used by :c:func:`PySequence_Repeat` and has the same " "signature. It is also used by the ``*`` operator, after trying numeric " "multiplication via the :c:member:`~PyNumberMethods.nb_multiply` slot." msgstr "" -#: ../../c-api/typeobj.rst:2283 +#: ../../c-api/typeobj.rst:2289 msgid "" "This function is used by :c:func:`PySequence_GetItem` and has the same " "signature. It is also used by :c:func:`PyObject_GetItem`, after trying the " @@ -3123,41 +3145,43 @@ msgid "" "``1``, it can be ``NULL`` otherwise." msgstr "" -#: ../../c-api/typeobj.rst:2289 +#: ../../c-api/typeobj.rst:2295 msgid "" -"Negative indexes are handled as follows: if the :attr:`sq_length` slot is " -"filled, it is called and the sequence length is used to compute a positive " -"index which is passed to :attr:`sq_item`. If :attr:`sq_length` is ``NULL``, " -"the index is passed as is to the function." +"Negative indexes are handled as follows: if " +"the :c:member:`~PySequenceMethods.sq_length` slot is filled, it is called " +"and the sequence length is used to compute a positive index which is passed " +"to :c:member:`~PySequenceMethods.sq_item`. If :c:member:`!sq_length` is " +"``NULL``, the index is passed as is to the function." msgstr "" -#: ../../c-api/typeobj.rst:2296 +#: ../../c-api/typeobj.rst:2302 msgid "" "This function is used by :c:func:`PySequence_SetItem` and has the same " -"signature. It is also used by :c:func:`PyObject_SetItem` and :c:func:" -"`PyObject_DelItem`, after trying the item assignment and deletion via the :c:" -"member:`~PyMappingMethods.mp_ass_subscript` slot. This slot may be left to " -"``NULL`` if the object does not support item assignment and deletion." +"signature. It is also used by :c:func:`PyObject_SetItem` " +"and :c:func:`PyObject_DelItem`, after trying the item assignment and " +"deletion via the :c:member:`~PyMappingMethods.mp_ass_subscript` slot. This " +"slot may be left to ``NULL`` if the object does not support item assignment " +"and deletion." msgstr "" -#: ../../c-api/typeobj.rst:2305 +#: ../../c-api/typeobj.rst:2311 msgid "" "This function may be used by :c:func:`PySequence_Contains` and has the same " "signature. This slot may be left to ``NULL``, in this case :c:func:`!" "PySequence_Contains` simply traverses the sequence until it finds a match." msgstr "" -#: ../../c-api/typeobj.rst:2312 +#: ../../c-api/typeobj.rst:2318 msgid "" "This function is used by :c:func:`PySequence_InPlaceConcat` and has the same " "signature. It should modify its first operand, and return it. This slot " "may be left to ``NULL``, in this case :c:func:`!PySequence_InPlaceConcat` " "will fall back to :c:func:`PySequence_Concat`. It is also used by the " -"augmented assignment ``+=``, after trying numeric in-place addition via the :" -"c:member:`~PyNumberMethods.nb_inplace_add` slot." +"augmented assignment ``+=``, after trying numeric in-place addition via " +"the :c:member:`~PyNumberMethods.nb_inplace_add` slot." msgstr "" -#: ../../c-api/typeobj.rst:2321 +#: ../../c-api/typeobj.rst:2327 msgid "" "This function is used by :c:func:`PySequence_InPlaceRepeat` and has the same " "signature. It should modify its first operand, and return it. This slot " @@ -3167,72 +3191,72 @@ msgid "" "via the :c:member:`~PyNumberMethods.nb_inplace_multiply` slot." msgstr "" -#: ../../c-api/typeobj.rst:2332 +#: ../../c-api/typeobj.rst:2338 msgid "Buffer Object Structures" msgstr "" -#: ../../c-api/typeobj.rst:2340 +#: ../../c-api/typeobj.rst:2346 msgid "" "This structure holds pointers to the functions required by the :ref:`Buffer " "protocol `. The protocol defines how an exporter object can " "expose its internal data to consumer objects." msgstr "" -#: ../../c-api/typeobj.rst:2346 ../../c-api/typeobj.rst:2395 -#: ../../c-api/typeobj.rst:2449 ../../c-api/typeobj.rst:2460 -#: ../../c-api/typeobj.rst:2472 ../../c-api/typeobj.rst:2481 +#: ../../c-api/typeobj.rst:2352 ../../c-api/typeobj.rst:2401 +#: ../../c-api/typeobj.rst:2455 ../../c-api/typeobj.rst:2466 +#: ../../c-api/typeobj.rst:2478 ../../c-api/typeobj.rst:2488 msgid "The signature of this function is::" msgstr "" -#: ../../c-api/typeobj.rst:2350 +#: ../../c-api/typeobj.rst:2356 msgid "" "Handle a request to *exporter* to fill in *view* as specified by *flags*. " "Except for point (3), an implementation of this function MUST take these " "steps:" msgstr "" -#: ../../c-api/typeobj.rst:2354 +#: ../../c-api/typeobj.rst:2360 msgid "" -"Check if the request can be met. If not, raise :c:data:`PyExc_BufferError`, " +"Check if the request can be met. If not, raise :exc:`BufferError`, " "set :c:expr:`view->obj` to ``NULL`` and return ``-1``." msgstr "" -#: ../../c-api/typeobj.rst:2357 +#: ../../c-api/typeobj.rst:2363 msgid "Fill in the requested fields." msgstr "" -#: ../../c-api/typeobj.rst:2359 +#: ../../c-api/typeobj.rst:2365 msgid "Increment an internal counter for the number of exports." msgstr "" -#: ../../c-api/typeobj.rst:2361 +#: ../../c-api/typeobj.rst:2367 msgid "" "Set :c:expr:`view->obj` to *exporter* and increment :c:expr:`view->obj`." msgstr "" -#: ../../c-api/typeobj.rst:2363 +#: ../../c-api/typeobj.rst:2369 msgid "Return ``0``." msgstr "Retorna ``0``." -#: ../../c-api/typeobj.rst:2365 +#: ../../c-api/typeobj.rst:2371 msgid "" "If *exporter* is part of a chain or tree of buffer providers, two main " "schemes can be used:" msgstr "" -#: ../../c-api/typeobj.rst:2368 +#: ../../c-api/typeobj.rst:2374 msgid "" -"Re-export: Each member of the tree acts as the exporting object and sets :c:" -"expr:`view->obj` to a new reference to itself." +"Re-export: Each member of the tree acts as the exporting object and " +"sets :c:expr:`view->obj` to a new reference to itself." msgstr "" -#: ../../c-api/typeobj.rst:2371 +#: ../../c-api/typeobj.rst:2377 msgid "" "Redirect: The buffer request is redirected to the root object of the tree. " "Here, :c:expr:`view->obj` will be a new reference to the root object." msgstr "" -#: ../../c-api/typeobj.rst:2375 +#: ../../c-api/typeobj.rst:2381 msgid "" "The individual fields of *view* are described in section :ref:`Buffer " "structure `, the rules how an exporter must react to " @@ -3240,28 +3264,27 @@ msgid "" "types>`." msgstr "" -#: ../../c-api/typeobj.rst:2380 +#: ../../c-api/typeobj.rst:2386 msgid "" "All memory pointed to in the :c:type:`Py_buffer` structure belongs to the " -"exporter and must remain valid until there are no consumers left. :c:member:" -"`~Py_buffer.format`, :c:member:`~Py_buffer.shape`, :c:member:`~Py_buffer." -"strides`, :c:member:`~Py_buffer.suboffsets` and :c:member:`~Py_buffer." -"internal` are read-only for the consumer." +"exporter and must remain valid until there are no consumers " +"left. :c:member:`~Py_buffer.format`, :c:member:`~Py_buffer.shape`, :c:member:`~Py_buffer.strides`, :c:member:`~Py_buffer.suboffsets` " +"and :c:member:`~Py_buffer.internal` are read-only for the consumer." msgstr "" -#: ../../c-api/typeobj.rst:2387 +#: ../../c-api/typeobj.rst:2393 msgid "" ":c:func:`PyBuffer_FillInfo` provides an easy way of exposing a simple bytes " "buffer while dealing correctly with all request types." msgstr "" -#: ../../c-api/typeobj.rst:2390 +#: ../../c-api/typeobj.rst:2396 msgid "" ":c:func:`PyObject_GetBuffer` is the interface for the consumer that wraps " "this function." msgstr "" -#: ../../c-api/typeobj.rst:2399 +#: ../../c-api/typeobj.rst:2405 msgid "" "Handle a request to release the resources of the buffer. If no resources " "need to be released, :c:member:`PyBufferProcs.bf_releasebuffer` may be " @@ -3269,15 +3292,15 @@ msgid "" "these optional steps:" msgstr "" -#: ../../c-api/typeobj.rst:2404 +#: ../../c-api/typeobj.rst:2410 msgid "Decrement an internal counter for the number of exports." msgstr "" -#: ../../c-api/typeobj.rst:2406 +#: ../../c-api/typeobj.rst:2412 msgid "If the counter is ``0``, free all memory associated with *view*." msgstr "" -#: ../../c-api/typeobj.rst:2408 +#: ../../c-api/typeobj.rst:2414 msgid "" "The exporter MUST use the :c:member:`~Py_buffer.internal` field to keep " "track of buffer-specific resources. This field is guaranteed to remain " @@ -3285,155 +3308,156 @@ msgid "" "*view* argument." msgstr "" -#: ../../c-api/typeobj.rst:2414 +#: ../../c-api/typeobj.rst:2420 msgid "" "This function MUST NOT decrement :c:expr:`view->obj`, since that is done " "automatically in :c:func:`PyBuffer_Release` (this scheme is useful for " "breaking reference cycles)." msgstr "" -#: ../../c-api/typeobj.rst:2419 +#: ../../c-api/typeobj.rst:2425 msgid "" ":c:func:`PyBuffer_Release` is the interface for the consumer that wraps this " "function." msgstr "" -#: ../../c-api/typeobj.rst:2427 +#: ../../c-api/typeobj.rst:2433 msgid "Async Object Structures" msgstr "" -#: ../../c-api/typeobj.rst:2435 +#: ../../c-api/typeobj.rst:2441 msgid "" -"This structure holds pointers to the functions required to implement :term:" -"`awaitable` and :term:`asynchronous iterator` objects." +"This structure holds pointers to the functions required to " +"implement :term:`awaitable` and :term:`asynchronous iterator` objects." msgstr "" -#: ../../c-api/typeobj.rst:2453 +#: ../../c-api/typeobj.rst:2459 msgid "" "The returned object must be an :term:`iterator`, i.e. :c:func:`PyIter_Check` " "must return ``1`` for it." msgstr "" -#: ../../c-api/typeobj.rst:2456 +#: ../../c-api/typeobj.rst:2462 msgid "" "This slot may be set to ``NULL`` if an object is not an :term:`awaitable`." msgstr "" -#: ../../c-api/typeobj.rst:2464 +#: ../../c-api/typeobj.rst:2470 msgid "" -"Must return an :term:`asynchronous iterator` object. See :meth:`__anext__` " -"for details." +"Must return an :term:`asynchronous iterator` object. " +"See :meth:`~object.__anext__` for details." msgstr "" -#: ../../c-api/typeobj.rst:2467 +#: ../../c-api/typeobj.rst:2473 msgid "" "This slot may be set to ``NULL`` if an object does not implement " "asynchronous iteration protocol." msgstr "" -#: ../../c-api/typeobj.rst:2476 +#: ../../c-api/typeobj.rst:2482 msgid "" -"Must return an :term:`awaitable` object. See :meth:`__anext__` for details. " -"This slot may be set to ``NULL``." +"Must return an :term:`awaitable` object. See :meth:`~object.__anext__` for " +"details. This slot may be set to ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:2485 +#: ../../c-api/typeobj.rst:2492 msgid "" "See :c:func:`PyIter_Send` for details. This slot may be set to ``NULL``." msgstr "" -#: ../../c-api/typeobj.rst:2494 +#: ../../c-api/typeobj.rst:2501 msgid "Slot Type typedefs" msgstr "" -#: ../../c-api/typeobj.rst:2498 +#: ../../c-api/typeobj.rst:2505 msgid "" "The purpose of this function is to separate memory allocation from memory " "initialization. It should return a pointer to a block of memory of adequate " "length for the instance, suitably aligned, and initialized to zeros, but " -"with :attr:`ob_refcnt` set to ``1`` and :attr:`ob_type` set to the type " -"argument. If the type's :c:member:`~PyTypeObject.tp_itemsize` is non-zero, " -"the object's :attr:`ob_size` field should be initialized to *nitems* and the " -"length of the allocated memory block should be ``tp_basicsize + " -"nitems*tp_itemsize``, rounded up to a multiple of ``sizeof(void*)``; " -"otherwise, *nitems* is not used and the length of the block should be :c:" -"member:`~PyTypeObject.tp_basicsize`." +"with :c:member:`~PyObject.ob_refcnt` set to ``1`` " +"and :c:member:`~PyObject.ob_type` set to the type argument. If the " +"type's :c:member:`~PyTypeObject.tp_itemsize` is non-zero, the " +"object's :c:member:`~PyVarObject.ob_size` field should be initialized to " +"*nitems* and the length of the allocated memory block should be " +"``tp_basicsize + nitems*tp_itemsize``, rounded up to a multiple of " +"``sizeof(void*)``; otherwise, *nitems* is not used and the length of the " +"block should be :c:member:`~PyTypeObject.tp_basicsize`." msgstr "" -#: ../../c-api/typeobj.rst:2508 +#: ../../c-api/typeobj.rst:2515 msgid "" "This function should not do any other instance initialization, not even to " -"allocate additional memory; that should be done by :c:member:`~PyTypeObject." -"tp_new`." +"allocate additional memory; that should be done " +"by :c:member:`~PyTypeObject.tp_new`." msgstr "" -#: ../../c-api/typeobj.rst:2515 +#: ../../c-api/typeobj.rst:2522 msgid "See :c:member:`~PyTypeObject.tp_free`." msgstr "" -#: ../../c-api/typeobj.rst:2519 +#: ../../c-api/typeobj.rst:2526 msgid "See :c:member:`~PyTypeObject.tp_new`." msgstr "" -#: ../../c-api/typeobj.rst:2523 +#: ../../c-api/typeobj.rst:2530 msgid "See :c:member:`~PyTypeObject.tp_init`." msgstr "" -#: ../../c-api/typeobj.rst:2527 +#: ../../c-api/typeobj.rst:2534 msgid "See :c:member:`~PyTypeObject.tp_repr`." msgstr "" -#: ../../c-api/typeobj.rst:2531 ../../c-api/typeobj.rst:2540 +#: ../../c-api/typeobj.rst:2538 ../../c-api/typeobj.rst:2547 msgid "Return the value of the named attribute for the object." msgstr "" -#: ../../c-api/typeobj.rst:2535 ../../c-api/typeobj.rst:2546 +#: ../../c-api/typeobj.rst:2542 ../../c-api/typeobj.rst:2553 msgid "" "Set the value of the named attribute for the object. The value argument is " "set to ``NULL`` to delete the attribute." msgstr "" -#: ../../c-api/typeobj.rst:2542 +#: ../../c-api/typeobj.rst:2549 msgid "See :c:member:`~PyTypeObject.tp_getattro`." msgstr "" -#: ../../c-api/typeobj.rst:2549 +#: ../../c-api/typeobj.rst:2556 msgid "See :c:member:`~PyTypeObject.tp_setattro`." msgstr "" -#: ../../c-api/typeobj.rst:2553 +#: ../../c-api/typeobj.rst:2560 msgid "See :c:member:`~PyTypeObject.tp_descr_get`." msgstr "" -#: ../../c-api/typeobj.rst:2557 +#: ../../c-api/typeobj.rst:2564 msgid "See :c:member:`~PyTypeObject.tp_descr_set`." msgstr "" -#: ../../c-api/typeobj.rst:2561 +#: ../../c-api/typeobj.rst:2568 msgid "See :c:member:`~PyTypeObject.tp_hash`." msgstr "" -#: ../../c-api/typeobj.rst:2565 +#: ../../c-api/typeobj.rst:2572 msgid "See :c:member:`~PyTypeObject.tp_richcompare`." msgstr "" -#: ../../c-api/typeobj.rst:2569 +#: ../../c-api/typeobj.rst:2576 msgid "See :c:member:`~PyTypeObject.tp_iter`." msgstr "" -#: ../../c-api/typeobj.rst:2573 +#: ../../c-api/typeobj.rst:2580 msgid "See :c:member:`~PyTypeObject.tp_iternext`." msgstr "" -#: ../../c-api/typeobj.rst:2587 +#: ../../c-api/typeobj.rst:2594 msgid "See :c:member:`~PyAsyncMethods.am_send`." msgstr "" -#: ../../c-api/typeobj.rst:2603 +#: ../../c-api/typeobj.rst:2610 msgid "Examples" msgstr "Exemplos" -#: ../../c-api/typeobj.rst:2605 +#: ../../c-api/typeobj.rst:2612 msgid "" "The following are simple examples of Python type definitions. They include " "common usage you may encounter. Some demonstrate tricky corner cases. For " @@ -3441,46 +3465,46 @@ msgid "" "and :ref:`new-types-topics`." msgstr "" -#: ../../c-api/typeobj.rst:2610 +#: ../../c-api/typeobj.rst:2617 msgid "A basic :ref:`static type `::" msgstr "" -#: ../../c-api/typeobj.rst:2627 +#: ../../c-api/typeobj.rst:2634 msgid "" "You may also find older code (especially in the CPython code base) with a " "more verbose initializer::" msgstr "" -#: ../../c-api/typeobj.rst:2671 +#: ../../c-api/typeobj.rst:2678 msgid "A type that supports weakrefs, instance dicts, and hashing::" msgstr "" -#: ../../c-api/typeobj.rst:2698 +#: ../../c-api/typeobj.rst:2705 msgid "" "A str subclass that cannot be subclassed and cannot be called to create " -"instances (e.g. uses a separate factory func) using :c:data:" -"`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag::" +"instances (e.g. uses a separate factory func) " +"using :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag::" msgstr "" -#: ../../c-api/typeobj.rst:2717 +#: ../../c-api/typeobj.rst:2724 msgid "" "The simplest :ref:`static type ` with fixed-length instances::" msgstr "" -#: ../../c-api/typeobj.rst:2728 +#: ../../c-api/typeobj.rst:2735 msgid "" "The simplest :ref:`static type ` with variable-length " "instances::" msgstr "" -#: ../../c-api/typeobj.rst:806 ../../c-api/typeobj.rst:871 +#: ../../c-api/typeobj.rst:807 ../../c-api/typeobj.rst:872 msgid "built-in function" msgstr "função embutida" -#: ../../c-api/typeobj.rst:806 +#: ../../c-api/typeobj.rst:807 msgid "repr" msgstr "repr" -#: ../../c-api/typeobj.rst:871 +#: ../../c-api/typeobj.rst:872 msgid "hash" -msgstr "" +msgstr "hash" diff --git a/c-api/unicode.po b/c-api/unicode.po index 1f41cb01b..50f91a3b3 100644 --- a/c-api/unicode.po +++ b/c-api/unicode.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Juliana Karoline , 2021 -# Marco Rougeth , 2021 -# Tiago Henrique , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Julio Gadioli Soares , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,7 +29,7 @@ msgstr "Objetos Unicode e Codecs" #: ../../c-api/unicode.rst:12 msgid "Unicode Objects" -msgstr "" +msgstr "Objetos Unicode" #: ../../c-api/unicode.rst:14 msgid "" @@ -46,6 +40,12 @@ msgid "" "65536; otherwise, code points must be below 1114112 (which is the full " "Unicode range)." msgstr "" +"Desde a implementação da :pep:`393` no Python 3.3, os objetos Unicode usam " +"internamente uma variedade de representações para permitir o processamento " +"de toda a gama de caracteres Unicode, mantendo a eficiência de memória. Há " +"casos especiais para strings em que todos os pontos de código estão abaixo " +"de 128, 256 ou 65536; caso contrário, os pontos de código devem estar abaixo " +"de 1114112 (que é a gama completa de caracteres Unicode)." #: ../../c-api/unicode.rst:20 msgid "" @@ -70,9 +70,9 @@ msgstr "" #: ../../c-api/unicode.rst:31 msgid "" "\"legacy\" Unicode objects have been created through one of the deprecated " -"APIs (typically :c:func:`PyUnicode_FromUnicode`) and only bear the :c:expr:" -"`Py_UNICODE*` representation; you will have to call :c:func:" -"`PyUnicode_READY` on them before calling any other API." +"APIs (typically :c:func:`PyUnicode_FromUnicode`) and only bear " +"the :c:expr:`Py_UNICODE*` representation; you will have to " +"call :c:func:`PyUnicode_READY` on them before calling any other API." msgstr "" #: ../../c-api/unicode.rst:37 @@ -84,13 +84,15 @@ msgstr "" #: ../../c-api/unicode.rst:43 msgid "Unicode Type" -msgstr "" +msgstr "Tipo Unicode" #: ../../c-api/unicode.rst:45 msgid "" "These are the basic Unicode object types used for the Unicode implementation " "in Python:" msgstr "" +"Estes são os tipos básicos de objetos Unicode usados para a implementação " +"Unicode em Python:" #: ../../c-api/unicode.rst:52 msgid "" @@ -98,12 +100,18 @@ msgid "" "characters of 32 bits, 16 bits and 8 bits, respectively. When dealing with " "single Unicode characters, use :c:type:`Py_UCS4`." msgstr "" +"Esses tipos são definições de tipo para tipos inteiros sem sinal, amplos o " +"suficiente para conter caracteres de 32 bits, 16 bits e 8 bits, " +"respectivamente. Ao lidar com caracteres Unicode simples, " +"use :c:type:`Py_UCS4`." #: ../../c-api/unicode.rst:61 msgid "" -"This is a typedef of :c:expr:`wchar_t`, which is a 16-bit type or 32-bit " +"This is a typedef of :c:type:`wchar_t`, which is a 16-bit type or 32-bit " "type depending on the platform." msgstr "" +"Este é um typedef de :c:type:`wchar_t`, que é um tipo de 16 bits ou 32 bits, " +"dependendo da plataforma." #: ../../c-api/unicode.rst:64 msgid "" @@ -111,6 +119,9 @@ msgid "" "whether you selected a \"narrow\" or \"wide\" Unicode version of Python at " "build time." msgstr "" +"Em versões anteriores, esse era um tipo de 16 bits ou de 32 bits, dependendo " +"se você selecionava uma versão Unicode \"estreita\" ou \"ampla\" do Python " +"no momento da construção." #: ../../c-api/unicode.rst:74 msgid "" @@ -118,6 +129,10 @@ msgid "" "almost all cases, they shouldn't be used directly, since all API functions " "that deal with Unicode objects take and return :c:type:`PyObject` pointers." msgstr "" +"Esses subtipos de :c:type:`PyObject` representam um objeto Unicode do " +"Python. Em quase todos os casos, eles não devem ser usados diretamente, pois " +"todas as funções da API que lidam com objetos Unicode recebem e retornam " +"ponteiros :c:type:`PyObject`." #: ../../c-api/unicode.rst:83 msgid "" @@ -130,18 +145,25 @@ msgid "" "The following APIs are C macros and static inlined functions for fast checks " "and access to internal read-only data of Unicode objects:" msgstr "" +"As seguintes APIs são macros C e funções estáticas embutidas para " +"verificações rápidas e acesso a dados internos somente leitura de objetos " +"Unicode:" #: ../../c-api/unicode.rst:92 msgid "" -"Return true if the object *o* is a Unicode object or an instance of a " +"Return true if the object *obj* is a Unicode object or an instance of a " "Unicode subtype. This function always succeeds." msgstr "" +"Retorna verdadeiro se o objeto *obj* for um objeto Unicode ou uma instância " +"de um subtipo Unicode. Esta função sempre tem sucesso." #: ../../c-api/unicode.rst:98 msgid "" -"Return true if the object *o* is a Unicode object, but not an instance of a " -"subtype. This function always succeeds." +"Return true if the object *obj* is a Unicode object, but not an instance of " +"a subtype. This function always succeeds." msgstr "" +"Retorna verdadeiro se o objeto *obj* for um objeto Unicode, mas não uma " +"instância de um subtipo. Esta função sempre tem sucesso." #: ../../c-api/unicode.rst:104 msgid "" @@ -161,22 +183,24 @@ msgstr "" #: ../../c-api/unicode.rst:120 msgid "" -"Return the length of the Unicode string, in code points. *o* has to be a " -"Unicode object in the \"canonical\" representation (not checked)." +"Return the length of the Unicode string, in code points. *unicode* has to " +"be a Unicode object in the \"canonical\" representation (not checked)." msgstr "" +"Retorna o comprimento da string Unicode, em pontos de código. *unicode* deve " +"ser um objeto Unicode na representação \"canônica\" (não marcado)." #: ../../c-api/unicode.rst:130 msgid "" "Return a pointer to the canonical representation cast to UCS1, UCS2 or UCS4 " "integer types for direct character access. No checks are performed if the " -"canonical representation has the correct character size; use :c:func:" -"`PyUnicode_KIND` to select the right macro. Make sure :c:func:" -"`PyUnicode_READY` has been called before accessing this." +"canonical representation has the correct character size; " +"use :c:func:`PyUnicode_KIND` to select the right macro. Make " +"sure :c:func:`PyUnicode_READY` has been called before accessing this." msgstr "" #: ../../c-api/unicode.rst:144 msgid "Return values of the :c:func:`PyUnicode_KIND` macro." -msgstr "" +msgstr "Valores de retorno da macro :c:func:`PyUnicode_KIND`." #: ../../c-api/unicode.rst:149 msgid "``PyUnicode_WCHAR_KIND`` is deprecated." @@ -185,64 +209,86 @@ msgstr "" #: ../../c-api/unicode.rst:154 msgid "" "Return one of the PyUnicode kind constants (see above) that indicate how " -"many bytes per character this Unicode object uses to store its data. *o* " -"has to be a Unicode object in the \"canonical\" representation (not checked)." +"many bytes per character this Unicode object uses to store its data. " +"*unicode* has to be a Unicode object in the \"canonical\" representation " +"(not checked)." msgstr "" +"Retorna uma das constantes do tipo PyUnicode (veja acima) que indicam " +"quantos bytes por caractere este objeto Unicode usa para armazenar seus " +"dados. *unicode* precisa ser um objeto Unicode na representação \"canônica\" " +"(não marcado)." #: ../../c-api/unicode.rst:165 msgid "" -"Return a void pointer to the raw Unicode buffer. *o* has to be a Unicode " -"object in the \"canonical\" representation (not checked)." +"Return a void pointer to the raw Unicode buffer. *unicode* has to be a " +"Unicode object in the \"canonical\" representation (not checked)." msgstr "" +"Retorna um ponteiro vazio para o buffer Unicode bruto. *unicode* deve ser um " +"objeto Unicode na representação \"canônica\" (não marcado)." #: ../../c-api/unicode.rst:174 msgid "" -"Write into a canonical representation *data* (as obtained with :c:func:" -"`PyUnicode_DATA`). This function performs no sanity checks, and is intended " -"for usage in loops. The caller should cache the *kind* value and *data* " -"pointer as obtained from other calls. *index* is the index in the string " -"(starts at 0) and *value* is the new code point value which should be " -"written to that location." +"Write into a canonical representation *data* (as obtained " +"with :c:func:`PyUnicode_DATA`). This function performs no sanity checks, " +"and is intended for usage in loops. The caller should cache the *kind* " +"value and *data* pointer as obtained from other calls. *index* is the index " +"in the string (starts at 0) and *value* is the new code point value which " +"should be written to that location." msgstr "" +"Escreva em uma representação canônica *data* (conforme obtido " +"com :c:func:`PyUnicode_DATA`). Esta função não realiza verificações de " +"sanidade e destina-se ao uso em laços. O chamador deve armazenar em cache o " +"valor de *type* e o ponteiro *data* conforme obtidos de outras chamadas. " +"*índice* é o índice na string (começa em 0) e *value* é o novo valor do " +"ponto de código que deve ser escrito naquele local." #: ../../c-api/unicode.rst:187 msgid "" -"Read a code point from a canonical representation *data* (as obtained with :" -"c:func:`PyUnicode_DATA`). No checks or ready calls are performed." +"Read a code point from a canonical representation *data* (as obtained " +"with :c:func:`PyUnicode_DATA`). No checks or ready calls are performed." msgstr "" +"Lê um ponto de código de uma representação canônica *data* (conforme obtido " +"com :c:func:`PyUnicode_DATA`). Nenhuma verificação ou chamada pronta é " +"realizada." #: ../../c-api/unicode.rst:195 msgid "" -"Read a character from a Unicode object *o*, which must be in the " -"\"canonical\" representation. This is less efficient than :c:func:" -"`PyUnicode_READ` if you do multiple consecutive reads." +"Read a character from a Unicode object *unicode*, which must be in the " +"\"canonical\" representation. This is less efficient " +"than :c:func:`PyUnicode_READ` if you do multiple consecutive reads." msgstr "" +"Lê um caractere de um objeto Unicode *unicode*, que deve estar na " +"representação \"canônica\". Isso é menos eficiente do " +"que :c:func:`PyUnicode_READ` se você fizer várias leituras consecutivas." #: ../../c-api/unicode.rst:204 msgid "" "Return the maximum code point that is suitable for creating another string " -"based on *o*, which must be in the \"canonical\" representation. This is " -"always an approximation but more efficient than iterating over the string." +"based on *unicode*, which must be in the \"canonical\" representation. This " +"is always an approximation but more efficient than iterating over the string." msgstr "" +"Retorna o ponto de código máximo adequado para criar outra string baseada em " +"*unicode*, que deve estar na representação \"canônica\". Isso é sempre uma " +"aproximação, mas é mais eficiente do que iterar sobre a string." #: ../../c-api/unicode.rst:213 msgid "" "Return the size of the deprecated :c:type:`Py_UNICODE` representation, in " -"code units (this includes surrogate pairs as 2 units). *o* has to be a " -"Unicode object (not checked)." +"code units (this includes surrogate pairs as 2 units). *unicode* has to be " +"a Unicode object (not checked)." msgstr "" #: ../../c-api/unicode.rst:219 ../../c-api/unicode.rst:229 #: ../../c-api/unicode.rst:761 msgid "" -"Part of the old-style Unicode API, please migrate to using :c:func:" -"`PyUnicode_GET_LENGTH`." +"Part of the old-style Unicode API, please migrate to " +"using :c:func:`PyUnicode_GET_LENGTH`." msgstr "" #: ../../c-api/unicode.rst:224 msgid "" "Return the size of the deprecated :c:type:`Py_UNICODE` representation in " -"bytes. *o* has to be a Unicode object (not checked)." +"bytes. *unicode* has to be a Unicode object (not checked)." msgstr "" #: ../../c-api/unicode.rst:235 @@ -251,23 +297,23 @@ msgid "" "The returned buffer is always terminated with an extra null code point. It " "may also contain embedded null code points, which would cause the string to " "be truncated when used in most C functions. The ``AS_DATA`` form casts the " -"pointer to :c:expr:`const char *`. The *o* argument has to be a Unicode " -"object (not checked)." +"pointer to :c:expr:`const char *`. The *unicode* argument has to be a " +"Unicode object (not checked)." msgstr "" #: ../../c-api/unicode.rst:242 msgid "" -"This function is now inefficient -- because in many cases the :c:type:" -"`Py_UNICODE` representation does not exist and needs to be created -- and " -"can fail (return ``NULL`` with an exception set). Try to port the code to " -"use the new :c:func:`PyUnicode_nBYTE_DATA` macros or use :c:func:" -"`PyUnicode_WRITE` or :c:func:`PyUnicode_READ`." +"This function is now inefficient -- because in many cases " +"the :c:type:`Py_UNICODE` representation does not exist and needs to be " +"created -- and can fail (return ``NULL`` with an exception set). Try to " +"port the code to use the new :c:func:`PyUnicode_nBYTE_DATA` macros or " +"use :c:func:`PyUnicode_WRITE` or :c:func:`PyUnicode_READ`." msgstr "" #: ../../c-api/unicode.rst:251 msgid "" -"Part of the old-style Unicode API, please migrate to using the :c:func:" -"`PyUnicode_nBYTE_DATA` family of macros." +"Part of the old-style Unicode API, please migrate to using " +"the :c:func:`PyUnicode_nBYTE_DATA` family of macros." msgstr "" #: ../../c-api/unicode.rst:256 @@ -275,16 +321,20 @@ msgid "" "Return ``1`` if the string is a valid identifier according to the language " "definition, section :ref:`identifiers`. Return ``0`` otherwise." msgstr "" +"Retorna ``1`` se a string é um identificador válido conforme a definição da " +"linguagem, seção :ref:`identifiers`. Do contrário, retorna ``0``." #: ../../c-api/unicode.rst:259 msgid "" "The function does not call :c:func:`Py_FatalError` anymore if the string is " "not ready." msgstr "" +"A função não chama mais :c:func:`Py_FatalError` se a string não estiver " +"pronta." #: ../../c-api/unicode.rst:265 msgid "Unicode Character Properties" -msgstr "" +msgstr "Propriedade de caracteres Unicode" #: ../../c-api/unicode.rst:267 msgid "" @@ -292,53 +342,58 @@ msgid "" "ones are available through these macros which are mapped to C functions " "depending on the Python configuration." msgstr "" +"O Unicode fornece muitas propriedades de caracteres diferentes. As mais " +"frequentemente necessárias estão disponíveis por meio destas macros, que são " +"mapeadas para funções C, dependendo da configuração do Python." #: ../../c-api/unicode.rst:274 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is a whitespace character." msgstr "" +"Retorna ``1`` ou ``0`` dependendo se *ch* é um caractere de espaço em branco." #: ../../c-api/unicode.rst:279 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is a lowercase character." -msgstr "" +msgstr "Retorna ``1`` ou ``0`` dependendo se *ch* é um caractere minúsculo." #: ../../c-api/unicode.rst:284 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is an uppercase character." -msgstr "" +msgstr "Retorna ``1`` ou ``0`` dependendo se *ch* é um caractere maiúsculo." #: ../../c-api/unicode.rst:289 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is a titlecase character." -msgstr "" +msgstr "Retorna ``1`` ou ``0`` dependendo se *ch* é um caractere em TitleCase." #: ../../c-api/unicode.rst:294 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is a linebreak character." msgstr "" +"Retorna ``1`` ou ``0`` dependendo se *ch* é um caractere de quebra de linha." #: ../../c-api/unicode.rst:299 msgid "Return ``1`` or ``0`` depending on whether *ch* is a decimal character." -msgstr "" +msgstr "Retorna ``1`` ou ``0`` dependendo se *ch* é um caractere decimal." #: ../../c-api/unicode.rst:304 msgid "Return ``1`` or ``0`` depending on whether *ch* is a digit character." -msgstr "" +msgstr "Retorna ``1`` ou ``0`` dependendo se *ch* é um caractere de dígito." #: ../../c-api/unicode.rst:309 msgid "Return ``1`` or ``0`` depending on whether *ch* is a numeric character." -msgstr "" +msgstr "Retorna ``1`` ou ``0`` dependendo se *ch* é um caractere numérico." #: ../../c-api/unicode.rst:314 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is an alphabetic character." -msgstr "" +msgstr "Retorna ``1`` ou ``0`` dependendo se *ch* é um caractere alfabético." #: ../../c-api/unicode.rst:319 msgid "" "Return ``1`` or ``0`` depending on whether *ch* is an alphanumeric character." -msgstr "" +msgstr "Retorna ``1`` ou ``0`` dependendo se *ch* é um caractere alfanumérico." #: ../../c-api/unicode.rst:324 msgid "" @@ -438,23 +493,29 @@ msgstr "" #: ../../c-api/unicode.rst:420 msgid "" -"Create a new Unicode object with the given *kind* (possible values are :c:" -"macro:`PyUnicode_1BYTE_KIND` etc., as returned by :c:func:" -"`PyUnicode_KIND`). The *buffer* must point to an array of *size* units of " -"1, 2 or 4 bytes per character, as given by the kind." +"Create a new Unicode object with the given *kind* (possible values " +"are :c:macro:`PyUnicode_1BYTE_KIND` etc., as returned " +"by :c:func:`PyUnicode_KIND`). The *buffer* must point to an array of *size* " +"units of 1, 2 or 4 bytes per character, as given by the kind." msgstr "" +"Cria um novo objeto Unicode com o tipo *type* fornecido (os valores " +"possíveis são :c:macro:`PyUnicode_1BYTE_KIND` etc., conforme retornado " +"por :c:func:`PyUnicode_KIND`). O *buffer* deve apontar para um array de " +"unidades com *size* de 1, 2 ou 4 bytes por caractere, conforme fornecido " +"pelo tipo." #: ../../c-api/unicode.rst:425 msgid "" "If necessary, the input *buffer* is copied and transformed into the " -"canonical representation. For example, if the *buffer* is a UCS4 string (:c:" -"macro:`PyUnicode_4BYTE_KIND`) and it consists only of codepoints in the UCS1 " -"range, it will be transformed into UCS1 (:c:macro:`PyUnicode_1BYTE_KIND`)." +"canonical representation. For example, if the *buffer* is a UCS4 string " +"(:c:macro:`PyUnicode_4BYTE_KIND`) and it consists only of codepoints in the " +"UCS1 range, it will be transformed into UCS1 " +"(:c:macro:`PyUnicode_1BYTE_KIND`)." msgstr "" #: ../../c-api/unicode.rst:436 msgid "" -"Create a Unicode object from the char buffer *u*. The bytes will be " +"Create a Unicode object from the char buffer *str*. The bytes will be " "interpreted as being UTF-8 encoded. The buffer is copied into the new " "object. If the buffer is not ``NULL``, the return value might be a shared " "object, i.e. modification of the data is not allowed." @@ -462,15 +523,16 @@ msgstr "" #: ../../c-api/unicode.rst:441 msgid "" -"If *u* is ``NULL``, this function behaves like :c:func:" -"`PyUnicode_FromUnicode` with the buffer set to ``NULL``. This usage is " -"deprecated in favor of :c:func:`PyUnicode_New`, and will be removed in " -"Python 3.12." +"If *str* is ``NULL``, this function behaves " +"like :c:func:`PyUnicode_FromUnicode` with the buffer set to ``NULL``. This " +"usage is deprecated in favor of :c:func:`PyUnicode_New`, and will be removed " +"in Python 3.12." msgstr "" #: ../../c-api/unicode.rst:448 msgid "" -"Create a Unicode object from a UTF-8 encoded null-terminated char buffer *u*." +"Create a Unicode object from a UTF-8 encoded null-terminated char buffer " +"*str*." msgstr "" #: ../../c-api/unicode.rst:454 @@ -557,7 +619,7 @@ msgstr ":attr:`%li`" #: ../../c-api/unicode.rst:485 msgid "Equivalent to ``printf(\"%li\")``. [1]_" -msgstr "" +msgstr "Equivalente a ``printf(\"%li\")``. [1]_" #: ../../c-api/unicode.rst:488 msgid ":attr:`%lu`" @@ -581,7 +643,7 @@ msgstr "long long" #: ../../c-api/unicode.rst:491 msgid "Equivalent to ``printf(\"%lld\")``. [1]_" -msgstr "" +msgstr "Equivalente a ``printf(\"%lld\")``. [1]_" #: ../../c-api/unicode.rst:494 msgid ":attr:`%lli`" @@ -589,7 +651,7 @@ msgstr ":attr:`%lli`" #: ../../c-api/unicode.rst:494 msgid "Equivalent to ``printf(\"%lli\")``. [1]_" -msgstr "" +msgstr "Equivalente a ``printf(\"%lli\")``. [1]_" #: ../../c-api/unicode.rst:497 msgid ":attr:`%llu`" @@ -601,7 +663,7 @@ msgstr "unsigned long long" #: ../../c-api/unicode.rst:497 msgid "Equivalent to ``printf(\"%llu\")``. [1]_" -msgstr "" +msgstr "Equivalente a ``printf(\"%llu\")``. [1]_" #: ../../c-api/unicode.rst:500 msgid ":attr:`%zd`" @@ -621,7 +683,7 @@ msgstr ":attr:`%zi`" #: ../../c-api/unicode.rst:503 msgid "Equivalent to ``printf(\"%zi\")``. [1]_" -msgstr "" +msgstr "Equivalente a ``printf(\"%zi\")``. [1]_" #: ../../c-api/unicode.rst:506 msgid ":attr:`%zu`" @@ -778,7 +840,7 @@ msgstr "" msgid "" "Copy an instance of a Unicode subtype to a new true Unicode object if " "necessary. If *obj* is already a true Unicode object (not a subtype), return " -"the reference with incremented refcount." +"a new :term:`strong reference` to the object." msgstr "" #: ../../c-api/unicode.rst:581 @@ -817,15 +879,15 @@ msgstr "" #: ../../c-api/unicode.rst:615 msgid "" "Copy characters from one Unicode object into another. This function " -"performs character conversion when necessary and falls back to :c:func:" -"`memcpy` if possible. Returns ``-1`` and sets an exception on error, " +"performs character conversion when necessary and falls back to :c:func:`!" +"memcpy` if possible. Returns ``-1`` and sets an exception on error, " "otherwise returns the number of copied characters." msgstr "" #: ../../c-api/unicode.rst:626 msgid "" -"Fill a string with a character: write *fill_char* into ``unicode[start:" -"start+length]``." +"Fill a string with a character: write *fill_char* into " +"``unicode[start:start+length]``." msgstr "" #: ../../c-api/unicode.rst:629 @@ -842,9 +904,9 @@ msgstr "" #: ../../c-api/unicode.rst:641 msgid "" -"Write a character to a string. The string must have been created through :c:" -"func:`PyUnicode_New`. Since Unicode strings are supposed to be immutable, " -"the string must not be shared, or have been hashed yet." +"Write a character to a string. The string must have been created " +"through :c:func:`PyUnicode_New`. Since Unicode strings are supposed to be " +"immutable, the string must not be shared, or have been hashed yet." msgstr "" #: ../../c-api/unicode.rst:645 @@ -857,30 +919,30 @@ msgstr "" #: ../../c-api/unicode.rst:654 msgid "" "Read a character from a string. This function checks that *unicode* is a " -"Unicode object and the index is not out of bounds, in contrast to :c:func:" -"`PyUnicode_READ_CHAR`, which performs no error checking." +"Unicode object and the index is not out of bounds, in contrast " +"to :c:func:`PyUnicode_READ_CHAR`, which performs no error checking." msgstr "" #: ../../c-api/unicode.rst:664 msgid "" -"Return a substring of *str*, from character index *start* (included) to " +"Return a substring of *unicode*, from character index *start* (included) to " "character index *end* (excluded). Negative indices are not supported." msgstr "" #: ../../c-api/unicode.rst:673 msgid "" -"Copy the string *u* into a UCS4 buffer, including a null character, if " +"Copy the string *unicode* into a UCS4 buffer, including a null character, if " "*copy_null* is set. Returns ``NULL`` and sets an exception on error (in " "particular, a :exc:`SystemError` if *buflen* is smaller than the length of " -"*u*). *buffer* is returned on success." +"*unicode*). *buffer* is returned on success." msgstr "" #: ../../c-api/unicode.rst:683 msgid "" -"Copy the string *u* into a new UCS4 buffer that is allocated using :c:func:" -"`PyMem_Malloc`. If this fails, ``NULL`` is returned with a :exc:" -"`MemoryError` set. The returned buffer always has an extra null code point " -"appended." +"Copy the string *unicode* into a new UCS4 buffer that is allocated " +"using :c:func:`PyMem_Malloc`. If this fails, ``NULL`` is returned with " +"a :exc:`MemoryError` set. The returned buffer always has an extra null code " +"point appended." msgstr "" #: ../../c-api/unicode.rst:692 @@ -919,27 +981,27 @@ msgstr "" #: ../../c-api/unicode.rst:719 msgid "" -"Part of the old-style Unicode API, please migrate to using :c:func:" -"`PyUnicode_FromKindAndData`, :c:func:`PyUnicode_FromWideChar`, or :c:func:" -"`PyUnicode_New`." +"Part of the old-style Unicode API, please migrate to " +"using :c:func:`PyUnicode_FromKindAndData`, :c:func:`PyUnicode_FromWideChar`, " +"or :c:func:`PyUnicode_New`." msgstr "" #: ../../c-api/unicode.rst:724 msgid "" -"Return a read-only pointer to the Unicode object's internal :c:type:" -"`Py_UNICODE` buffer, or ``NULL`` on error. This will create the :c:expr:" -"`Py_UNICODE*` representation of the object if it is not yet available. The " -"buffer is always terminated with an extra null code point. Note that the " -"resulting :c:type:`Py_UNICODE` string may also contain embedded null code " -"points, which would cause the string to be truncated when used in most C " -"functions." +"Return a read-only pointer to the Unicode object's " +"internal :c:type:`Py_UNICODE` buffer, or ``NULL`` on error. This will create " +"the :c:expr:`Py_UNICODE*` representation of the object if it is not yet " +"available. The buffer is always terminated with an extra null code point. " +"Note that the resulting :c:type:`Py_UNICODE` string may also contain " +"embedded null code points, which would cause the string to be truncated when " +"used in most C functions." msgstr "" #: ../../c-api/unicode.rst:735 ../../c-api/unicode.rst:751 msgid "" -"Part of the old-style Unicode API, please migrate to using :c:func:" -"`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsWideChar`, :c:func:" -"`PyUnicode_ReadChar` or similar new APIs." +"Part of the old-style Unicode API, please migrate to " +"using :c:func:`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsWideChar`, :c:func:`PyUnicode_ReadChar` " +"or similar new APIs." msgstr "" #: ../../c-api/unicode.rst:740 @@ -978,9 +1040,9 @@ msgstr "" #: ../../c-api/unicode.rst:781 msgid "" -"Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` to decode a string from :c:" -"data:`Py_FileSystemDefaultEncoding` (the locale encoding read at Python " -"startup)." +"Use :c:func:`PyUnicode_DecodeFSDefaultAndSize` to decode a string " +"from :c:data:`Py_FileSystemDefaultEncoding` (the locale encoding read at " +"Python startup)." msgstr "" #: ../../c-api/unicode.rst:785 ../../c-api/unicode.rst:821 @@ -994,15 +1056,15 @@ msgstr "" #: ../../c-api/unicode.rst:793 msgid "" "The function now also uses the current locale encoding for the " -"``surrogateescape`` error handler, except on Android. Previously, :c:func:" -"`Py_DecodeLocale` was used for the ``surrogateescape``, and the current " -"locale encoding was used for ``strict``." +"``surrogateescape`` error handler, except on Android. " +"Previously, :c:func:`Py_DecodeLocale` was used for the ``surrogateescape``, " +"and the current locale encoding was used for ``strict``." msgstr "" #: ../../c-api/unicode.rst:802 msgid "" "Similar to :c:func:`PyUnicode_DecodeLocaleAndSize`, but compute the string " -"length using :c:func:`strlen`." +"length using :c:func:`!strlen`." msgstr "" #: ../../c-api/unicode.rst:810 @@ -1010,14 +1072,15 @@ msgid "" "Encode a Unicode object to UTF-8 on Android and VxWorks, or to the current " "locale encoding on other platforms. The supported error handlers are " "``\"strict\"`` and ``\"surrogateescape\"`` (:pep:`383`). The encoder uses " -"``\"strict\"`` error handler if *errors* is ``NULL``. Return a :class:" -"`bytes` object. *unicode* cannot contain embedded null characters." +"``\"strict\"`` error handler if *errors* is ``NULL``. Return " +"a :class:`bytes` object. *unicode* cannot contain embedded null characters." msgstr "" #: ../../c-api/unicode.rst:817 msgid "" -"Use :c:func:`PyUnicode_EncodeFSDefault` to encode a string to :c:data:" -"`Py_FileSystemDefaultEncoding` (the locale encoding read at Python startup)." +"Use :c:func:`PyUnicode_EncodeFSDefault` to encode a string " +"to :c:data:`Py_FileSystemDefaultEncoding` (the locale encoding read at " +"Python startup)." msgstr "" #: ../../c-api/unicode.rst:825 ../../c-api/unicode.rst:928 @@ -1027,9 +1090,9 @@ msgstr "" #: ../../c-api/unicode.rst:829 msgid "" "The function now also uses the current locale encoding for the " -"``surrogateescape`` error handler, except on Android. Previously, :c:func:" -"`Py_EncodeLocale` was used for the ``surrogateescape``, and the current " -"locale encoding was used for ``strict``." +"``surrogateescape`` error handler, except on Android. " +"Previously, :c:func:`Py_EncodeLocale` was used for the ``surrogateescape``, " +"and the current locale encoding was used for ``strict``." msgstr "" #: ../../c-api/unicode.rst:838 @@ -1038,21 +1101,21 @@ msgstr "" #: ../../c-api/unicode.rst:840 msgid "" -"To encode and decode file names and other environment strings, :c:data:" -"`Py_FileSystemDefaultEncoding` should be used as the encoding, and :c:data:" -"`Py_FileSystemDefaultEncodeErrors` should be used as the error handler (:pep:" -"`383` and :pep:`529`). To encode file names to :class:`bytes` during " -"argument parsing, the ``\"O&\"`` converter should be used, passing :c:func:" -"`PyUnicode_FSConverter` as the conversion function:" +"To encode and decode file names and other environment " +"strings, :c:data:`Py_FileSystemDefaultEncoding` should be used as the " +"encoding, and :c:data:`Py_FileSystemDefaultEncodeErrors` should be used as " +"the error handler (:pep:`383` and :pep:`529`). To encode file names " +"to :class:`bytes` during argument parsing, the ``\"O&\"`` converter should " +"be used, passing :c:func:`PyUnicode_FSConverter` as the conversion function:" msgstr "" #: ../../c-api/unicode.rst:849 msgid "" "ParseTuple converter: encode :class:`str` objects -- obtained directly or " -"through the :class:`os.PathLike` interface -- to :class:`bytes` using :c:" -"func:`PyUnicode_EncodeFSDefault`; :class:`bytes` objects are output as-is. " -"*result* must be a :c:expr:`PyBytesObject*` which must be released when it " -"is no longer used." +"through the :class:`os.PathLike` interface -- to :class:`bytes` " +"using :c:func:`PyUnicode_EncodeFSDefault`; :class:`bytes` objects are output " +"as-is. *result* must be a :c:expr:`PyBytesObject*` which must be released " +"when it is no longer used." msgstr "" #: ../../c-api/unicode.rst:857 ../../c-api/unicode.rst:874 @@ -1069,10 +1132,11 @@ msgstr "" #: ../../c-api/unicode.rst:866 msgid "" "ParseTuple converter: decode :class:`bytes` objects -- obtained either " -"directly or indirectly through the :class:`os.PathLike` interface -- to :" -"class:`str` using :c:func:`PyUnicode_DecodeFSDefaultAndSize`; :class:`str` " -"objects are output as-is. *result* must be a :c:expr:`PyUnicodeObject*` " -"which must be released when it is no longer used." +"directly or indirectly through the :class:`os.PathLike` interface -- " +"to :class:`str` " +"using :c:func:`PyUnicode_DecodeFSDefaultAndSize`; :class:`str` objects are " +"output as-is. *result* must be a :c:expr:`PyUnicodeObject*` which must be " +"released when it is no longer used." msgstr "" #: ../../c-api/unicode.rst:880 @@ -1090,8 +1154,8 @@ msgstr "" msgid "" ":c:data:`Py_FileSystemDefaultEncoding` is initialized at startup from the " "locale encoding and cannot be modified later. If you need to decode a string " -"from the current locale encoding, use :c:func:" -"`PyUnicode_DecodeLocaleAndSize`." +"from the current locale encoding, " +"use :c:func:`PyUnicode_DecodeLocaleAndSize`." msgstr "" #: ../../c-api/unicode.rst:894 ../../c-api/unicode.rst:908 @@ -1112,10 +1176,10 @@ msgstr "" #: ../../c-api/unicode.rst:914 msgid "" -"Encode a Unicode object to :c:data:`Py_FileSystemDefaultEncoding` with the :" -"c:data:`Py_FileSystemDefaultEncodeErrors` error handler, and return :class:" -"`bytes`. Note that the resulting :class:`bytes` object may contain null " -"bytes." +"Encode a Unicode object to :c:data:`Py_FileSystemDefaultEncoding` with " +"the :c:data:`Py_FileSystemDefaultEncodeErrors` error handler, and " +"return :class:`bytes`. Note that the resulting :class:`bytes` object may " +"contain null bytes." msgstr "" #: ../../c-api/unicode.rst:922 @@ -1130,113 +1194,125 @@ msgid "wchar_t Support" msgstr "" #: ../../c-api/unicode.rst:938 -msgid ":c:expr:`wchar_t` support for platforms which support it:" +msgid ":c:type:`wchar_t` support for platforms which support it:" msgstr "" #: ../../c-api/unicode.rst:942 msgid "" -"Create a Unicode object from the :c:expr:`wchar_t` buffer *w* of the given " -"*size*. Passing ``-1`` as the *size* indicates that the function must itself " -"compute the length, using wcslen. Return ``NULL`` on failure." +"Create a Unicode object from the :c:type:`wchar_t` buffer *wstr* of the " +"given *size*. Passing ``-1`` as the *size* indicates that the function must " +"itself compute the length, using :c:func:`!wcslen`. Return ``NULL`` on " +"failure." msgstr "" #: ../../c-api/unicode.rst:950 msgid "" -"Copy the Unicode object contents into the :c:expr:`wchar_t` buffer *w*. At " -"most *size* :c:expr:`wchar_t` characters are copied (excluding a possibly " -"trailing null termination character). Return the number of :c:expr:" -"`wchar_t` characters copied or ``-1`` in case of an error. Note that the " -"resulting :c:expr:`wchar_t*` string may or may not be null-terminated. It " -"is the responsibility of the caller to make sure that the :c:expr:`wchar_t*` " -"string is null-terminated in case this is required by the application. Also, " -"note that the :c:expr:`wchar_t*` string might contain null characters, which " -"would cause the string to be truncated when used with most C functions." +"Copy the Unicode object contents into the :c:type:`wchar_t` buffer *wstr*. " +"At most *size* :c:type:`wchar_t` characters are copied (excluding a possibly " +"trailing null termination character). Return the number " +"of :c:type:`wchar_t` characters copied or ``-1`` in case of an error." +msgstr "" + +#: ../../c-api/unicode.rst:955 +msgid "" +"When *wstr* is ``NULL``, instead return the *size* that would be required to " +"store all of *unicode* including a terminating null." msgstr "" -#: ../../c-api/unicode.rst:963 +#: ../../c-api/unicode.rst:958 +msgid "" +"Note that the resulting :c:expr:`wchar_t*` string may or may not be null-" +"terminated. It is the responsibility of the caller to make sure that " +"the :c:expr:`wchar_t*` string is null-terminated in case this is required by " +"the application. Also, note that the :c:expr:`wchar_t*` string might contain " +"null characters, which would cause the string to be truncated when used with " +"most C functions." +msgstr "" + +#: ../../c-api/unicode.rst:968 msgid "" "Convert the Unicode object to a wide character string. The output string " "always ends with a null character. If *size* is not ``NULL``, write the " "number of wide characters (excluding the trailing null termination " -"character) into *\\*size*. Note that the resulting :c:expr:`wchar_t` string " +"character) into *\\*size*. Note that the resulting :c:type:`wchar_t` string " "might contain null characters, which would cause the string to be truncated " -"when used with most C functions. If *size* is ``NULL`` and the :c:expr:" -"`wchar_t*` string contains null characters a :exc:`ValueError` is raised." +"when used with most C functions. If *size* is ``NULL`` and " +"the :c:expr:`wchar_t*` string contains null characters a :exc:`ValueError` " +"is raised." msgstr "" -#: ../../c-api/unicode.rst:971 +#: ../../c-api/unicode.rst:976 msgid "" -"Returns a buffer allocated by :c:func:`PyMem_Alloc` (use :c:func:" -"`PyMem_Free` to free it) on success. On error, returns ``NULL`` and " -"*\\*size* is undefined. Raises a :exc:`MemoryError` if memory allocation is " -"failed." +"Returns a buffer allocated by :c:macro:`PyMem_New` (use :c:func:`PyMem_Free` " +"to free it) on success. On error, returns ``NULL`` and *\\*size* is " +"undefined. Raises a :exc:`MemoryError` if memory allocation is failed." msgstr "" -#: ../../c-api/unicode.rst:978 +#: ../../c-api/unicode.rst:983 msgid "" "Raises a :exc:`ValueError` if *size* is ``NULL`` and the :c:expr:`wchar_t*` " "string contains null characters." msgstr "" -#: ../../c-api/unicode.rst:986 +#: ../../c-api/unicode.rst:991 msgid "Built-in Codecs" msgstr "" -#: ../../c-api/unicode.rst:988 +#: ../../c-api/unicode.rst:993 msgid "" "Python provides a set of built-in codecs which are written in C for speed. " "All of these codecs are directly usable via the following functions." msgstr "" -#: ../../c-api/unicode.rst:991 +#: ../../c-api/unicode.rst:996 msgid "" "Many of the following APIs take two arguments encoding and errors, and they " "have the same semantics as the ones of the built-in :func:`str` string " "object constructor." msgstr "" -#: ../../c-api/unicode.rst:995 +#: ../../c-api/unicode.rst:1000 msgid "" "Setting encoding to ``NULL`` causes the default encoding to be used which is " "UTF-8. The file system calls should use :c:func:`PyUnicode_FSConverter` for " -"encoding file names. This uses the variable :c:data:" -"`Py_FileSystemDefaultEncoding` internally. This variable should be treated " -"as read-only: on some systems, it will be a pointer to a static string, on " -"others, it will change at run-time (such as when the application invokes " -"setlocale)." +"encoding file names. This uses the " +"variable :c:data:`Py_FileSystemDefaultEncoding` internally. This variable " +"should be treated as read-only: on some systems, it will be a pointer to a " +"static string, on others, it will change at run-time (such as when the " +"application invokes setlocale)." msgstr "" -#: ../../c-api/unicode.rst:1003 +#: ../../c-api/unicode.rst:1008 msgid "" "Error handling is set by errors which may also be set to ``NULL`` meaning to " "use the default handling defined for the codec. Default error handling for " "all built-in codecs is \"strict\" (:exc:`ValueError` is raised)." msgstr "" -#: ../../c-api/unicode.rst:1007 +#: ../../c-api/unicode.rst:1012 msgid "" "The codecs all use a similar interface. Only deviations from the following " "generic ones are documented for simplicity." msgstr "" -#: ../../c-api/unicode.rst:1012 +#: ../../c-api/unicode.rst:1017 msgid "Generic Codecs" msgstr "" -#: ../../c-api/unicode.rst:1014 +#: ../../c-api/unicode.rst:1019 msgid "These are the generic codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1020 +#: ../../c-api/unicode.rst:1025 msgid "" -"Create a Unicode object by decoding *size* bytes of the encoded string *s*. " -"*encoding* and *errors* have the same meaning as the parameters of the same " -"name in the :func:`str` built-in function. The codec to be used is looked " -"up using the Python codec registry. Return ``NULL`` if an exception was " -"raised by the codec." +"Create a Unicode object by decoding *size* bytes of the encoded string " +"*str*. *encoding* and *errors* have the same meaning as the parameters of " +"the same name in the :func:`str` built-in function. The codec to be used is " +"looked up using the Python codec registry. Return ``NULL`` if an exception " +"was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1030 +#: ../../c-api/unicode.rst:1035 msgid "" "Encode a Unicode object and return the result as Python bytes object. " "*encoding* and *errors* have the same meaning as the parameters of the same " @@ -1245,21 +1321,21 @@ msgid "" "was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1038 +#: ../../c-api/unicode.rst:1043 msgid "UTF-8 Codecs" msgstr "" -#: ../../c-api/unicode.rst:1040 +#: ../../c-api/unicode.rst:1045 msgid "These are the UTF-8 codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1045 +#: ../../c-api/unicode.rst:1050 msgid "" "Create a Unicode object by decoding *size* bytes of the UTF-8 encoded string " -"*s*. Return ``NULL`` if an exception was raised by the codec." +"*str*. Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1052 +#: ../../c-api/unicode.rst:1057 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF8`. If " "*consumed* is not ``NULL``, trailing incomplete UTF-8 byte sequences will " @@ -1267,14 +1343,14 @@ msgid "" "of bytes that have been decoded will be stored in *consumed*." msgstr "" -#: ../../c-api/unicode.rst:1060 +#: ../../c-api/unicode.rst:1065 msgid "" "Encode a Unicode object using UTF-8 and return the result as Python bytes " "object. Error handling is \"strict\". Return ``NULL`` if an exception was " "raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1067 +#: ../../c-api/unicode.rst:1072 msgid "" "Return a pointer to the UTF-8 encoding of the Unicode object, and store the " "size of the encoded representation (in bytes) in *size*. The *size* " @@ -1283,13 +1359,13 @@ msgid "" "regardless of whether there are any other null code points." msgstr "" -#: ../../c-api/unicode.rst:1073 +#: ../../c-api/unicode.rst:1078 msgid "" "In the case of an error, ``NULL`` is returned with an exception set and no " "*size* is stored." msgstr "" -#: ../../c-api/unicode.rst:1076 +#: ../../c-api/unicode.rst:1081 msgid "" "This caches the UTF-8 representation of the string in the Unicode object, " "and subsequent calls will return a pointer to the same buffer. The caller " @@ -1298,40 +1374,40 @@ msgid "" "collected." msgstr "" -#: ../../c-api/unicode.rst:1083 ../../c-api/unicode.rst:1096 +#: ../../c-api/unicode.rst:1088 ../../c-api/unicode.rst:1101 msgid "The return type is now ``const char *`` rather of ``char *``." msgstr "" -#: ../../c-api/unicode.rst:1086 -msgid "This function is a part of the :ref:`limited API `." +#: ../../c-api/unicode.rst:1091 +msgid "This function is a part of the :ref:`limited API `." msgstr "" -#: ../../c-api/unicode.rst:1092 +#: ../../c-api/unicode.rst:1097 msgid "As :c:func:`PyUnicode_AsUTF8AndSize`, but does not store the size." msgstr "" -#: ../../c-api/unicode.rst:1101 +#: ../../c-api/unicode.rst:1106 msgid "UTF-32 Codecs" msgstr "" -#: ../../c-api/unicode.rst:1103 +#: ../../c-api/unicode.rst:1108 msgid "These are the UTF-32 codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1109 +#: ../../c-api/unicode.rst:1114 msgid "" "Decode *size* bytes from a UTF-32 encoded buffer string and return the " "corresponding Unicode object. *errors* (if non-``NULL``) defines the error " "handling. It defaults to \"strict\"." msgstr "" -#: ../../c-api/unicode.rst:1113 ../../c-api/unicode.rst:1163 +#: ../../c-api/unicode.rst:1118 ../../c-api/unicode.rst:1168 msgid "" "If *byteorder* is non-``NULL``, the decoder starts decoding using the given " "byte order::" msgstr "" -#: ../../c-api/unicode.rst:1120 +#: ../../c-api/unicode.rst:1125 msgid "" "If ``*byteorder`` is zero, and the first four bytes of the input data are a " "byte order mark (BOM), the decoder switches to this byte order and the BOM " @@ -1339,21 +1415,21 @@ msgid "" "``-1`` or ``1``, any byte order mark is copied to the output." msgstr "" -#: ../../c-api/unicode.rst:1125 +#: ../../c-api/unicode.rst:1130 msgid "" "After completion, *\\*byteorder* is set to the current byte order at the end " "of input data." msgstr "" -#: ../../c-api/unicode.rst:1128 ../../c-api/unicode.rst:1179 +#: ../../c-api/unicode.rst:1133 ../../c-api/unicode.rst:1184 msgid "If *byteorder* is ``NULL``, the codec starts in native order mode." msgstr "" -#: ../../c-api/unicode.rst:1130 ../../c-api/unicode.rst:1181 +#: ../../c-api/unicode.rst:1135 ../../c-api/unicode.rst:1186 msgid "Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1136 +#: ../../c-api/unicode.rst:1141 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF32`. If " "*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeUTF32Stateful` will not " @@ -1362,29 +1438,29 @@ msgid "" "number of bytes that have been decoded will be stored in *consumed*." msgstr "" -#: ../../c-api/unicode.rst:1145 +#: ../../c-api/unicode.rst:1150 msgid "" "Return a Python byte string using the UTF-32 encoding in native byte order. " "The string always starts with a BOM mark. Error handling is \"strict\". " "Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1151 +#: ../../c-api/unicode.rst:1156 msgid "UTF-16 Codecs" msgstr "" -#: ../../c-api/unicode.rst:1153 +#: ../../c-api/unicode.rst:1158 msgid "These are the UTF-16 codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1159 +#: ../../c-api/unicode.rst:1164 msgid "" "Decode *size* bytes from a UTF-16 encoded buffer string and return the " "corresponding Unicode object. *errors* (if non-``NULL``) defines the error " "handling. It defaults to \"strict\"." msgstr "" -#: ../../c-api/unicode.rst:1170 +#: ../../c-api/unicode.rst:1175 msgid "" "If ``*byteorder`` is zero, and the first two bytes of the input data are a " "byte order mark (BOM), the decoder switches to this byte order and the BOM " @@ -1393,13 +1469,13 @@ msgid "" "result in either a ``\\ufeff`` or a ``\\ufffe`` character)." msgstr "" -#: ../../c-api/unicode.rst:1176 +#: ../../c-api/unicode.rst:1181 msgid "" "After completion, ``*byteorder`` is set to the current byte order at the end " "of input data." msgstr "" -#: ../../c-api/unicode.rst:1187 +#: ../../c-api/unicode.rst:1192 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF16`. If " "*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeUTF16Stateful` will not " @@ -1409,28 +1485,28 @@ msgid "" "*consumed*." msgstr "" -#: ../../c-api/unicode.rst:1196 +#: ../../c-api/unicode.rst:1201 msgid "" "Return a Python byte string using the UTF-16 encoding in native byte order. " "The string always starts with a BOM mark. Error handling is \"strict\". " "Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1202 +#: ../../c-api/unicode.rst:1207 msgid "UTF-7 Codecs" msgstr "" -#: ../../c-api/unicode.rst:1204 +#: ../../c-api/unicode.rst:1209 msgid "These are the UTF-7 codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1209 +#: ../../c-api/unicode.rst:1214 msgid "" "Create a Unicode object by decoding *size* bytes of the UTF-7 encoded string " -"*s*. Return ``NULL`` if an exception was raised by the codec." +"*str*. Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1216 +#: ../../c-api/unicode.rst:1221 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeUTF7`. If " "*consumed* is not ``NULL``, trailing incomplete UTF-7 base-64 sections will " @@ -1438,120 +1514,122 @@ msgid "" "of bytes that have been decoded will be stored in *consumed*." msgstr "" -#: ../../c-api/unicode.rst:1223 +#: ../../c-api/unicode.rst:1228 msgid "Unicode-Escape Codecs" msgstr "" -#: ../../c-api/unicode.rst:1225 +#: ../../c-api/unicode.rst:1230 msgid "These are the \"Unicode Escape\" codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1231 +#: ../../c-api/unicode.rst:1236 msgid "" "Create a Unicode object by decoding *size* bytes of the Unicode-Escape " -"encoded string *s*. Return ``NULL`` if an exception was raised by the codec." +"encoded string *str*. Return ``NULL`` if an exception was raised by the " +"codec." msgstr "" -#: ../../c-api/unicode.rst:1237 +#: ../../c-api/unicode.rst:1242 msgid "" "Encode a Unicode object using Unicode-Escape and return the result as a " "bytes object. Error handling is \"strict\". Return ``NULL`` if an " "exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1243 +#: ../../c-api/unicode.rst:1248 msgid "Raw-Unicode-Escape Codecs" msgstr "" -#: ../../c-api/unicode.rst:1245 +#: ../../c-api/unicode.rst:1250 msgid "These are the \"Raw Unicode Escape\" codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1251 +#: ../../c-api/unicode.rst:1256 msgid "" "Create a Unicode object by decoding *size* bytes of the Raw-Unicode-Escape " -"encoded string *s*. Return ``NULL`` if an exception was raised by the codec." +"encoded string *str*. Return ``NULL`` if an exception was raised by the " +"codec." msgstr "" -#: ../../c-api/unicode.rst:1257 +#: ../../c-api/unicode.rst:1262 msgid "" "Encode a Unicode object using Raw-Unicode-Escape and return the result as a " "bytes object. Error handling is \"strict\". Return ``NULL`` if an " "exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1263 +#: ../../c-api/unicode.rst:1268 msgid "Latin-1 Codecs" msgstr "" -#: ../../c-api/unicode.rst:1265 +#: ../../c-api/unicode.rst:1270 msgid "" "These are the Latin-1 codec APIs: Latin-1 corresponds to the first 256 " "Unicode ordinals and only these are accepted by the codecs during encoding." msgstr "" -#: ../../c-api/unicode.rst:1271 +#: ../../c-api/unicode.rst:1276 msgid "" "Create a Unicode object by decoding *size* bytes of the Latin-1 encoded " -"string *s*. Return ``NULL`` if an exception was raised by the codec." +"string *str*. Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1277 +#: ../../c-api/unicode.rst:1282 msgid "" "Encode a Unicode object using Latin-1 and return the result as Python bytes " "object. Error handling is \"strict\". Return ``NULL`` if an exception was " "raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1283 +#: ../../c-api/unicode.rst:1288 msgid "ASCII Codecs" msgstr "" -#: ../../c-api/unicode.rst:1285 +#: ../../c-api/unicode.rst:1290 msgid "" "These are the ASCII codec APIs. Only 7-bit ASCII data is accepted. All " "other codes generate errors." msgstr "" -#: ../../c-api/unicode.rst:1291 +#: ../../c-api/unicode.rst:1296 msgid "" "Create a Unicode object by decoding *size* bytes of the ASCII encoded string " -"*s*. Return ``NULL`` if an exception was raised by the codec." +"*str*. Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1297 +#: ../../c-api/unicode.rst:1302 msgid "" "Encode a Unicode object using ASCII and return the result as Python bytes " "object. Error handling is \"strict\". Return ``NULL`` if an exception was " "raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1303 +#: ../../c-api/unicode.rst:1308 msgid "Character Map Codecs" msgstr "" -#: ../../c-api/unicode.rst:1305 +#: ../../c-api/unicode.rst:1310 msgid "" "This codec is special in that it can be used to implement many different " "codecs (and this is in fact what was done to obtain most of the standard " -"codecs included in the :mod:`encodings` package). The codec uses mappings to " -"encode and decode characters. The mapping objects provided must support " -"the :meth:`__getitem__` mapping interface; dictionaries and sequences work " -"well." +"codecs included in the :mod:`!encodings` package). The codec uses mappings " +"to encode and decode characters. The mapping objects provided must support " +"the :meth:`~object.__getitem__` mapping interface; dictionaries and " +"sequences work well." msgstr "" -#: ../../c-api/unicode.rst:1311 +#: ../../c-api/unicode.rst:1316 msgid "These are the mapping codec APIs:" msgstr "" -#: ../../c-api/unicode.rst:1316 +#: ../../c-api/unicode.rst:1321 msgid "" -"Create a Unicode object by decoding *size* bytes of the encoded string *s* " +"Create a Unicode object by decoding *size* bytes of the encoded string *str* " "using the given *mapping* object. Return ``NULL`` if an exception was " "raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1320 +#: ../../c-api/unicode.rst:1325 msgid "" "If *mapping* is ``NULL``, Latin-1 decoding will be applied. Else *mapping* " "must map bytes ordinals (integers in the range from 0 to 255) to Unicode " @@ -1561,14 +1639,14 @@ msgid "" "treated as undefined mappings and cause an error." msgstr "" -#: ../../c-api/unicode.rst:1331 +#: ../../c-api/unicode.rst:1336 msgid "" "Encode a Unicode object using the given *mapping* object and return the " "result as a bytes object. Error handling is \"strict\". Return ``NULL`` if " "an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1335 +#: ../../c-api/unicode.rst:1340 msgid "" "The *mapping* object must map Unicode ordinal integers to bytes objects, " "integers in the range from 0 to 255 or ``None``. Unmapped character " @@ -1576,41 +1654,41 @@ msgid "" "``None`` are treated as \"undefined mapping\" and cause an error." msgstr "" -#: ../../c-api/unicode.rst:1341 +#: ../../c-api/unicode.rst:1346 msgid "The following codec API is special in that maps Unicode to Unicode." msgstr "" -#: ../../c-api/unicode.rst:1345 +#: ../../c-api/unicode.rst:1350 msgid "" "Translate a string by applying a character mapping table to it and return " "the resulting Unicode object. Return ``NULL`` if an exception was raised by " "the codec." msgstr "" -#: ../../c-api/unicode.rst:1349 +#: ../../c-api/unicode.rst:1354 msgid "" "The mapping table must map Unicode ordinal integers to Unicode ordinal " "integers or ``None`` (causing deletion of the character)." msgstr "" -#: ../../c-api/unicode.rst:1352 +#: ../../c-api/unicode.rst:1357 msgid "" -"Mapping tables need only provide the :meth:`__getitem__` interface; " +"Mapping tables need only provide the :meth:`~object.__getitem__` interface; " "dictionaries and sequences work well. Unmapped character ordinals (ones " "which cause a :exc:`LookupError`) are left untouched and are copied as-is." msgstr "" -#: ../../c-api/unicode.rst:1356 +#: ../../c-api/unicode.rst:1361 msgid "" "*errors* has the usual meaning for codecs. It may be ``NULL`` which " "indicates to use the default error handling." msgstr "" -#: ../../c-api/unicode.rst:1361 +#: ../../c-api/unicode.rst:1366 msgid "MBCS codecs for Windows" msgstr "" -#: ../../c-api/unicode.rst:1363 +#: ../../c-api/unicode.rst:1368 msgid "" "These are the MBCS codec APIs. They are currently only available on Windows " "and use the Win32 MBCS converters to implement the conversions. Note that " @@ -1618,13 +1696,13 @@ msgid "" "is defined by the user settings on the machine running the codec." msgstr "" -#: ../../c-api/unicode.rst:1370 +#: ../../c-api/unicode.rst:1375 msgid "" "Create a Unicode object by decoding *size* bytes of the MBCS encoded string " -"*s*. Return ``NULL`` if an exception was raised by the codec." +"*str*. Return ``NULL`` if an exception was raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1377 +#: ../../c-api/unicode.rst:1382 msgid "" "If *consumed* is ``NULL``, behave like :c:func:`PyUnicode_DecodeMBCS`. If " "*consumed* is not ``NULL``, :c:func:`PyUnicode_DecodeMBCSStateful` will not " @@ -1632,44 +1710,44 @@ msgid "" "will be stored in *consumed*." msgstr "" -#: ../../c-api/unicode.rst:1385 +#: ../../c-api/unicode.rst:1390 msgid "" "Encode a Unicode object using MBCS and return the result as Python bytes " "object. Error handling is \"strict\". Return ``NULL`` if an exception was " "raised by the codec." msgstr "" -#: ../../c-api/unicode.rst:1392 +#: ../../c-api/unicode.rst:1397 msgid "" "Encode the Unicode object using the specified code page and return a Python " -"bytes object. Return ``NULL`` if an exception was raised by the codec. Use :" -"c:data:`CP_ACP` code page to get the MBCS encoder." +"bytes object. Return ``NULL`` if an exception was raised by the codec. " +"Use :c:macro:`!CP_ACP` code page to get the MBCS encoder." msgstr "" -#: ../../c-api/unicode.rst:1400 +#: ../../c-api/unicode.rst:1405 msgid "Methods & Slots" msgstr "" -#: ../../c-api/unicode.rst:1406 +#: ../../c-api/unicode.rst:1411 msgid "Methods and Slot Functions" msgstr "" -#: ../../c-api/unicode.rst:1408 +#: ../../c-api/unicode.rst:1413 msgid "" "The following APIs are capable of handling Unicode objects and strings on " "input (we refer to them as strings in the descriptions) and return Unicode " "objects or integers as appropriate." msgstr "" -#: ../../c-api/unicode.rst:1412 +#: ../../c-api/unicode.rst:1417 msgid "They all return ``NULL`` or ``-1`` if an exception occurs." msgstr "" -#: ../../c-api/unicode.rst:1417 +#: ../../c-api/unicode.rst:1422 msgid "Concat two strings giving a new Unicode string." msgstr "" -#: ../../c-api/unicode.rst:1422 +#: ../../c-api/unicode.rst:1427 msgid "" "Split a string giving a list of Unicode strings. If *sep* is ``NULL``, " "splitting will be done at all whitespace substrings. Otherwise, splits " @@ -1678,142 +1756,146 @@ msgid "" "list." msgstr "" -#: ../../c-api/unicode.rst:1430 +#: ../../c-api/unicode.rst:1435 msgid "" "Split a Unicode string at line breaks, returning a list of Unicode strings. " -"CRLF is considered to be one line break. If *keepend* is ``0``, the line " +"CRLF is considered to be one line break. If *keepends* is ``0``, the Line " "break characters are not included in the resulting strings." msgstr "" -#: ../../c-api/unicode.rst:1437 +#: ../../c-api/unicode.rst:1442 msgid "" "Join a sequence of strings using the given *separator* and return the " "resulting Unicode string." msgstr "" -#: ../../c-api/unicode.rst:1444 +#: ../../c-api/unicode.rst:1449 msgid "" -"Return ``1`` if *substr* matches ``str[start:end]`` at the given tail end " -"(*direction* == ``-1`` means to do a prefix match, *direction* == ``1`` a " -"suffix match), ``0`` otherwise. Return ``-1`` if an error occurred." +"Return ``1`` if *substr* matches ``unicode[start:end]`` at the given tail " +"end (*direction* == ``-1`` means to do a prefix match, *direction* == ``1`` " +"a suffix match), ``0`` otherwise. Return ``-1`` if an error occurred." msgstr "" -#: ../../c-api/unicode.rst:1452 +#: ../../c-api/unicode.rst:1457 msgid "" -"Return the first position of *substr* in ``str[start:end]`` using the given " -"*direction* (*direction* == ``1`` means to do a forward search, *direction* " -"== ``-1`` a backward search). The return value is the index of the first " -"match; a value of ``-1`` indicates that no match was found, and ``-2`` " -"indicates that an error occurred and an exception has been set." -msgstr "" - -#: ../../c-api/unicode.rst:1462 -msgid "" -"Return the first position of the character *ch* in ``str[start:end]`` using " -"the given *direction* (*direction* == ``1`` means to do a forward search, " +"Return the first position of *substr* in ``unicode[start:end]`` using the " +"given *direction* (*direction* == ``1`` means to do a forward search, " "*direction* == ``-1`` a backward search). The return value is the index of " "the first match; a value of ``-1`` indicates that no match was found, and " "``-2`` indicates that an error occurred and an exception has been set." msgstr "" -#: ../../c-api/unicode.rst:1470 -msgid "*start* and *end* are now adjusted to behave like ``str[start:end]``." +#: ../../c-api/unicode.rst:1467 +msgid "" +"Return the first position of the character *ch* in ``unicode[start:end]`` " +"using the given *direction* (*direction* == ``1`` means to do a forward " +"search, *direction* == ``-1`` a backward search). The return value is the " +"index of the first match; a value of ``-1`` indicates that no match was " +"found, and ``-2`` indicates that an error occurred and an exception has been " +"set." +msgstr "" + +#: ../../c-api/unicode.rst:1475 +msgid "" +"*start* and *end* are now adjusted to behave like ``unicode[start:end]``." msgstr "" -#: ../../c-api/unicode.rst:1477 +#: ../../c-api/unicode.rst:1482 msgid "" -"Return the number of non-overlapping occurrences of *substr* in ``str[start:" -"end]``. Return ``-1`` if an error occurred." +"Return the number of non-overlapping occurrences of *substr* in " +"``unicode[start:end]``. Return ``-1`` if an error occurred." msgstr "" -#: ../../c-api/unicode.rst:1484 +#: ../../c-api/unicode.rst:1489 msgid "" -"Replace at most *maxcount* occurrences of *substr* in *str* with *replstr* " -"and return the resulting Unicode object. *maxcount* == ``-1`` means replace " -"all occurrences." +"Replace at most *maxcount* occurrences of *substr* in *unicode* with " +"*replstr* and return the resulting Unicode object. *maxcount* == ``-1`` " +"means replace all occurrences." msgstr "" -#: ../../c-api/unicode.rst:1491 +#: ../../c-api/unicode.rst:1496 msgid "" "Compare two strings and return ``-1``, ``0``, ``1`` for less than, equal, " "and greater than, respectively." msgstr "" -#: ../../c-api/unicode.rst:1494 +#: ../../c-api/unicode.rst:1499 msgid "" -"This function returns ``-1`` upon failure, so one should call :c:func:" -"`PyErr_Occurred` to check for errors." +"This function returns ``-1`` upon failure, so one should " +"call :c:func:`PyErr_Occurred` to check for errors." msgstr "" -#: ../../c-api/unicode.rst:1500 +#: ../../c-api/unicode.rst:1505 msgid "" -"Compare a Unicode object, *uni*, with *string* and return ``-1``, ``0``, " +"Compare a Unicode object, *unicode*, with *string* and return ``-1``, ``0``, " "``1`` for less than, equal, and greater than, respectively. It is best to " "pass only ASCII-encoded strings, but the function interprets the input " "string as ISO-8859-1 if it contains non-ASCII characters." msgstr "" -#: ../../c-api/unicode.rst:1505 +#: ../../c-api/unicode.rst:1510 msgid "This function does not raise exceptions." msgstr "" -#: ../../c-api/unicode.rst:1510 +#: ../../c-api/unicode.rst:1515 msgid "Rich compare two Unicode strings and return one of the following:" msgstr "" -#: ../../c-api/unicode.rst:1512 +#: ../../c-api/unicode.rst:1517 msgid "``NULL`` in case an exception was raised" msgstr "" -#: ../../c-api/unicode.rst:1513 -msgid ":const:`Py_True` or :const:`Py_False` for successful comparisons" +#: ../../c-api/unicode.rst:1518 +msgid ":c:data:`Py_True` or :c:data:`Py_False` for successful comparisons" msgstr "" -#: ../../c-api/unicode.rst:1514 -msgid ":const:`Py_NotImplemented` in case the type combination is unknown" +#: ../../c-api/unicode.rst:1519 +msgid ":c:data:`Py_NotImplemented` in case the type combination is unknown" msgstr "" -#: ../../c-api/unicode.rst:1516 +#: ../../c-api/unicode.rst:1521 msgid "" -"Possible values for *op* are :const:`Py_GT`, :const:`Py_GE`, :const:" -"`Py_EQ`, :const:`Py_NE`, :const:`Py_LT`, and :const:`Py_LE`." +"Possible values for *op* " +"are :c:macro:`Py_GT`, :c:macro:`Py_GE`, :c:macro:`Py_EQ`, :c:macro:`Py_NE`, :c:macro:`Py_LT`, " +"and :c:macro:`Py_LE`." msgstr "" -#: ../../c-api/unicode.rst:1522 +#: ../../c-api/unicode.rst:1527 msgid "" "Return a new string object from *format* and *args*; this is analogous to " "``format % args``." msgstr "" -#: ../../c-api/unicode.rst:1528 +#: ../../c-api/unicode.rst:1533 msgid "" -"Check whether *element* is contained in *container* and return true or false " +"Check whether *substr* is contained in *unicode* and return true or false " "accordingly." msgstr "" -#: ../../c-api/unicode.rst:1531 +#: ../../c-api/unicode.rst:1536 msgid "" -"*element* has to coerce to a one element Unicode string. ``-1`` is returned " +"*substr* has to coerce to a one element Unicode string. ``-1`` is returned " "if there was an error." msgstr "" -#: ../../c-api/unicode.rst:1537 +#: ../../c-api/unicode.rst:1542 msgid "" -"Intern the argument *\\*string* in place. The argument must be the address " -"of a pointer variable pointing to a Python Unicode string object. If there " -"is an existing interned string that is the same as *\\*string*, it sets " -"*\\*string* to it (decrementing the reference count of the old string object " -"and incrementing the reference count of the interned string object), " -"otherwise it leaves *\\*string* alone and interns it (incrementing its " -"reference count). (Clarification: even though there is a lot of talk about " -"reference counts, think of this function as reference-count-neutral; you own " +"Intern the argument :c:expr:`*p_unicode` in place. The argument must be the " +"address of a pointer variable pointing to a Python Unicode string object. " +"If there is an existing interned string that is the same " +"as :c:expr:`*p_unicode`, it sets :c:expr:`*p_unicode` to it (releasing the " +"reference to the old string object and creating a new :term:`strong " +"reference` to the interned string object), otherwise it " +"leaves :c:expr:`*p_unicode` alone and interns it (creating a " +"new :term:`strong reference`). (Clarification: even though there is a lot of " +"talk about references, think of this function as reference-neutral; you own " "the object after the call if and only if you owned it before the call.)" msgstr "" -#: ../../c-api/unicode.rst:1550 +#: ../../c-api/unicode.rst:1555 msgid "" -"A combination of :c:func:`PyUnicode_FromString` and :c:func:" -"`PyUnicode_InternInPlace`, returning either a new Unicode string object that " -"has been interned, or a new (\"owned\") reference to an earlier interned " -"string object with the same value." +"A combination of :c:func:`PyUnicode_FromString` " +"and :c:func:`PyUnicode_InternInPlace`, returning either a new Unicode string " +"object that has been interned, or a new (\"owned\") reference to an earlier " +"interned string object with the same value." msgstr "" diff --git a/c-api/utilities.po b/c-api/utilities.po index 9f5b397bd..94c7ac060 100644 --- a/c-api/utilities.po +++ b/c-api/utilities.po @@ -1,26 +1,25 @@ # 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: -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/c-api/veryhigh.po b/c-api/veryhigh.po index 12594a92b..c9879100f 100644 --- a/c-api/veryhigh.po +++ b/c-api/veryhigh.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/veryhigh.rst:8 msgid "The Very High Level Layer" -msgstr "A camada de Mais Alto Nível" +msgstr "A camada de nível muito alto" #: ../../c-api/veryhigh.rst:10 msgid "" @@ -34,26 +33,43 @@ msgid "" "in a file or a buffer, but they will not let you interact in a more detailed " "way with the interpreter." msgstr "" +"As funções neste capítulo permitirão que você execute um código-fonte Python " +"fornecido em um arquivo ou buffer, mas não permitirão que você interaja de " +"forma mais detalhada com o interpretador." #: ../../c-api/veryhigh.rst:14 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 " -"following the functions which accept them as parameters." +"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 "" +"Várias dessas funções aceitam um símbolo de início da gramática como " +"parâmetro. Os símbolos de início disponíveis " +"são :c:data:`Py_eval_input`, :c:data:`Py_file_input` " +"e :c:data:`Py_single_input`. Eles são descritos seguindo as funções que os " +"aceitam como parâmetros." #: ../../c-api/veryhigh.rst:19 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:" -"`FILE` structure for different C libraries can be different and " +"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 " "taken that :c:expr:`FILE*` parameters are only passed to these functions if " "it is certain that they were created by the same library that the Python " "runtime is using." msgstr "" +"Note também que várias dessas funções aceitam parâmetros :c:expr:`FILE*`. Um " +"problema específico que precisa ser tratado com cuidado é que a " +"estrutura :c:type:`FILE` para diferentes bibliotecas C pode ser diferente e " +"incompatível. No Windows (pelo menos), é possível que extensões vinculadas " +"dinamicamente usem bibliotecas diferentes, então deve-se tomar cuidado para " +"que os parâmetros :c:expr:`FILE*` sejam passados para essas funções somente " +"se for certo que elas foram criadas pela mesma biblioteca que o tempo de " +"execução do Python está usando." #: ../../c-api/veryhigh.rst:30 msgid "" @@ -84,35 +100,53 @@ msgid "" "This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, " "leaving *closeit* set to ``0`` and *flags* set to ``NULL``." msgstr "" +"Esta é uma interface simplificada para :c:func:`PyRun_AnyFileExFlags` " +"abaixo, deixando *closeit* definido como ``0`` e *flags* definido como " +"``NULL``." #: ../../c-api/veryhigh.rst:60 msgid "" "This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, " "leaving the *closeit* argument set to ``0``." msgstr "" +"Esta é uma interface simplificada para :c:func:`PyRun_AnyFileExFlags` " +"abaixo, deixando o argumento *closeit* definido como ``0``." #: ../../c-api/veryhigh.rst:66 msgid "" "This is a simplified interface to :c:func:`PyRun_AnyFileExFlags` below, " "leaving the *flags* argument set to ``NULL``." msgstr "" +"Esta é uma interface simplificada para :c:func:`PyRun_AnyFileExFlags` " +"abaixo, deixando o argumento *flags* definido como ``NULL``." #: ../../c-api/veryhigh.rst:72 msgid "" "If *fp* refers to a file associated with an interactive device (console or " -"terminal input or Unix pseudo-terminal), return the value of :c:func:" -"`PyRun_InteractiveLoop`, otherwise return the result of :c:func:" -"`PyRun_SimpleFile`. *filename* is decoded from the filesystem encoding (:" -"func:`sys.getfilesystemencoding`). If *filename* is ``NULL``, this function " -"uses ``\"???\"`` as the filename. If *closeit* is true, the file is closed " -"before ``PyRun_SimpleFileExFlags()`` returns." -msgstr "" +"terminal input or Unix pseudo-terminal), return the value " +"of :c:func:`PyRun_InteractiveLoop`, otherwise return the result " +"of :c:func:`PyRun_SimpleFile`. *filename* is decoded from the filesystem " +"encoding (:func:`sys.getfilesystemencoding`). If *filename* is ``NULL``, " +"this function uses ``\"???\"`` as the filename. If *closeit* is true, the " +"file is closed before ``PyRun_SimpleFileExFlags()`` returns." +msgstr "" +"Se *fp* se referir a um arquivo associado a um dispositivo interativo " +"(entrada de console ou terminal ou pseudo-terminal Unix), retorna o valor " +"de :c:func:`PyRun_InteractiveLoop`, caso contrário, retorna o resultado " +"de :c:func:`PyRun_SimpleFile`. *filename* é decodificado da codificação do " +"sistema de arquivos (:func:`sys.getfilesystemencoding`). Se *filename* for " +"``NULL``, esta função usa ``\"???\"`` como o nome do arquivo. Se *closeit* " +"for verdadeiro, o arquivo será fechado antes de " +"``PyRun_SimpleFileExFlags()`` retornar." #: ../../c-api/veryhigh.rst:84 msgid "" "This is a simplified interface to :c:func:`PyRun_SimpleStringFlags` below, " "leaving the :c:struct:`PyCompilerFlags`\\* argument set to ``NULL``." msgstr "" +"Esta é uma interface simplificada para :c:func:`PyRun_SimpleStringFlags` " +"abaixo, deixando o argumento :c:struct:`PyCompilerFlags`\\* definido como " +"``NULL``." #: ../../c-api/veryhigh.rst:90 msgid "" @@ -122,6 +156,11 @@ msgid "" "was raised. If there was an error, there is no way to get the exception " "information. For the meaning of *flags*, see below." msgstr "" +"Executa o código-fonte Python de *command* no módulo :mod:`__main__` de " +"acordo com o argumento *flags*. Se :mod:`__main__` ainda não existir, ele " +"será criado. Retorna ``0`` em caso de sucesso ou ``-1`` se uma exceção foi " +"gerada. Se houve um erro, não há como obter as informações da exceção. Para " +"o significado de *flags*, veja abaixo." #: ../../c-api/veryhigh.rst:96 msgid "" @@ -135,12 +174,17 @@ msgid "" "This is a simplified interface to :c:func:`PyRun_SimpleFileExFlags` below, " "leaving *closeit* set to ``0`` and *flags* set to ``NULL``." msgstr "" +"Esta é uma interface simplificada para :c:func:`PyRun_SimpleFileExFlags` " +"abaixo, deixando *closeit* definido como ``0`` e *flags* definido como " +"``NULL``." #: ../../c-api/veryhigh.rst:109 msgid "" "This is a simplified interface to :c:func:`PyRun_SimpleFileExFlags` below, " "leaving *flags* set to ``NULL``." msgstr "" +"Esta é uma interface simplificada para :c:func:`PyRun_SimpleFileExFlags` " +"abaixo, deixando o *flags* definido como ``NULL``." #: ../../c-api/veryhigh.rst:115 msgid "" @@ -150,6 +194,11 @@ msgid "" "handler`. If *closeit* is true, the file is closed before " "``PyRun_SimpleFileExFlags()`` returns." msgstr "" +"Semelhante a :c:func:`PyRun_SimpleStringFlags`, mas o código-fonte Python é " +"lido de *fp* em vez de uma string na memória. *filename* deve ser o nome do " +"arquivo, ele é decodificado a partir do :term:`tratador de erros e " +"codificação do sistema de arquivos`. Se *closeit* for true, o arquivo será " +"fechado antes que ``PyRun_SimpleFileExFlags()`` retorne." #: ../../c-api/veryhigh.rst:122 msgid "" @@ -157,35 +206,51 @@ msgid "" "\"rb\")``). Otherwise, Python may not handle script file with LF line ending " "correctly." msgstr "" +"No Windows, *fp* deve ser aberto como modo binário (por exemplo, " +"``fopen(filename, \"rb\")``). Caso contrário, o Python pode não manipular " +"corretamente o arquivo de script com final de linha LF." #: ../../c-api/veryhigh.rst:128 msgid "" "This is a simplified interface to :c:func:`PyRun_InteractiveOneFlags` below, " "leaving *flags* set to ``NULL``." msgstr "" +"Esta é uma interface simplificada para :c:func:`PyRun_InteractiveOneFlags` " +"abaixo, deixando *flags* definido como ``NULL``." #: ../../c-api/veryhigh.rst:134 msgid "" "Read and execute a single statement from a file associated with an " "interactive device according to the *flags* argument. The user will be " -"prompted using ``sys.ps1`` and ``sys.ps2``. *filename* is decoded from the :" -"term:`filesystem encoding and error handler`." +"prompted using ``sys.ps1`` and ``sys.ps2``. *filename* is decoded from " +"the :term:`filesystem encoding and error handler`." msgstr "" +"Lê e executa uma única instrução de um arquivo associado a um dispositivo " +"interativo de acordo com o argumento *flags*. O usuário será solicitado " +"usando ``sys.ps1`` e ``sys.ps2``. *filename* é decodificado a partir " +"do :term:`tratador de erros e codificação do sistema de arquivos`." #: ../../c-api/veryhigh.rst:139 msgid "" "Returns ``0`` when the input was executed successfully, ``-1`` if there was " "an exception, or an error code from the :file:`errcode.h` include file " -"distributed as part of Python if there was a parse error. (Note that :file:" -"`errcode.h` is not included by :file:`Python.h`, so must be included " -"specifically if needed.)" +"distributed as part of Python if there was a parse error. (Note " +"that :file:`errcode.h` is not included by :file:`Python.h`, so must be " +"included specifically if needed.)" msgstr "" +"Retorna ``0`` quando a entrada foi executada com sucesso, ``-1`` se houve " +"uma exceção ou um código de erro do arquivo de inclusão :file:`errcode.h` " +"distribuído como parte do Python se houve um erro de análise. (Observe " +"que :file:`errcode.h` não é incluído por :file:`Python.h`, então deve ser " +"incluído especificamente se necessário.)" #: ../../c-api/veryhigh.rst:148 msgid "" "This is a simplified interface to :c:func:`PyRun_InteractiveLoopFlags` " "below, leaving *flags* set to ``NULL``." msgstr "" +"Esta é uma interface simplificada para :c:func:`PyRun_InteractiveLoopFlags` " +"abaixo, deixando *flags* definido como ``NULL``." #: ../../c-api/veryhigh.rst:154 msgid "" @@ -194,6 +259,11 @@ msgid "" "and ``sys.ps2``. *filename* is decoded from the :term:`filesystem encoding " "and error handler`. Returns ``0`` at EOF or a negative number upon failure." msgstr "" +"Lê e executa instruções de um arquivo associado a um dispositivo interativo " +"até que o EOF seja atingido. O usuário será consultado usando ``sys.ps1`` e " +"``sys.ps2``. *filename* é decodificado a partir do :term:`tratador de erros " +"e codificação do sistema de arquivos`. Retorna ``0`` no EOF ou um número " +"negativo em caso de falha." #: ../../c-api/veryhigh.rst:162 msgid "" @@ -204,6 +274,12 @@ msgid "" "prompt with other event loops, as done in the :file:`Modules/_tkinter.c` in " "the Python source code." msgstr "" +"Pode ser definido para apontar para uma função com o protótipo ``int " +"func(void)``. A função será chamada quando o prompt do interpretador do " +"Python estiver prestes a ficar ocioso e aguardar a entrada do usuário no " +"terminal. O valor de retorno é ignorado. A substituição deste hook pode ser " +"usada para integrar o prompt do interpretador com outros laços de eventos, " +"como feito em :file:`Modules/_tkinter.c` no código-fonte do Python." #: ../../c-api/veryhigh.rst:173 msgid "" @@ -215,25 +291,40 @@ msgid "" "string. For example, The :mod:`readline` module sets this hook to provide " "line-editing and tab-completion features." msgstr "" +"Pode ser definido para apontar para uma função com o protótipo ``char " +"*func(FILE *stdin, FILE *stdout, char *prompt)``, substituindo a função " +"padrão usada para ler uma única linha de entrada no prompt do interpretador. " +"Espera-se que a função produza a string *prompt* se não for ``NULL`` e, em " +"seguida, leia uma linha de entrada do arquivo de entrada padrão fornecido, " +"retornando a string resultante. Por exemplo, o módulo :mod:`readline` define " +"este gancho para fornecer recursos de edição de linha e preenchimento de " +"tabulação." #: ../../c-api/veryhigh.rst:182 msgid "" -"The result must be a string allocated by :c:func:`PyMem_RawMalloc` or :c:" -"func:`PyMem_RawRealloc`, or ``NULL`` if an error occurred." +"The result must be a string allocated by :c:func:`PyMem_RawMalloc` " +"or :c:func:`PyMem_RawRealloc`, or ``NULL`` if an error occurred." msgstr "" +"O resultado deve ser uma string alocada por :c:func:`PyMem_RawMalloc` " +"ou :c:func:`PyMem_RawRealloc`, ou ``NULL`` se ocorrer um erro." #: ../../c-api/veryhigh.rst:185 msgid "" -"The result must be allocated by :c:func:`PyMem_RawMalloc` or :c:func:" -"`PyMem_RawRealloc`, instead of being allocated by :c:func:`PyMem_Malloc` or :" -"c:func:`PyMem_Realloc`." +"The result must be allocated by :c:func:`PyMem_RawMalloc` " +"or :c:func:`PyMem_RawRealloc`, instead of being allocated " +"by :c:func:`PyMem_Malloc` or :c:func:`PyMem_Realloc`." msgstr "" +"O resultado deve ser alocado por :c:func:`PyMem_RawMalloc` " +"ou :c:func:`PyMem_RawRealloc`, em vez de ser alocado " +"por :c:func:`PyMem_Malloc` ou :c:func:`PyMem_Realloc`." #: ../../c-api/veryhigh.rst:192 msgid "" "This is a simplified interface to :c:func:`PyRun_StringFlags` below, leaving " "*flags* set to ``NULL``." msgstr "" +"Esta é uma interface simplificada para :c:func:`PyRun_StringFlags` abaixo, " +"deixando *flags* definido como ``NULL``." #: ../../c-api/veryhigh.rst:198 msgid "" @@ -243,62 +334,94 @@ msgid "" "implements the mapping protocol. The parameter *start* specifies the start " "token that should be used to parse the source code." msgstr "" +"Executa o código-fonte Python de *str* no contexto especificado pelos " +"objetos *globals* e *locals* com os sinalizadores do compilador " +"especificados por *flags*. *globals* deve ser um dicionário; *locals* pode " +"ser qualquer objeto que implemente o protocolo de mapeamento. O parâmetro " +"*start* especifica o token de início que deve ser usado para analisar o " +"código-fonte." #: ../../c-api/veryhigh.rst:204 msgid "" "Returns the result of executing the code as a Python object, or ``NULL`` if " "an exception was raised." msgstr "" +"Retorna o resultado da execução do código como um objeto Python, ou ``NULL`` " +"se uma exceção foi levantada." #: ../../c-api/veryhigh.rst:210 msgid "" "This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving " "*closeit* set to ``0`` and *flags* set to ``NULL``." msgstr "" +"Esta é uma interface simplificada para :c:func:`PyRun_FileExFlags` abaixo, " +"deixando *closeit* definido como ``0`` e *flags* definido como ``NULL``." #: ../../c-api/veryhigh.rst:216 msgid "" "This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving " "*flags* set to ``NULL``." msgstr "" +"Esta é uma interface simplificada para :c:func:`PyRun_FileExFlags` abaixo, " +"deixando *flags* definido como ``NULL``." #: ../../c-api/veryhigh.rst:222 msgid "" "This is a simplified interface to :c:func:`PyRun_FileExFlags` below, leaving " "*closeit* set to ``0``." msgstr "" +"Esta é uma interface simplificada para :c:func:`PyRun_FileExFlags` abaixo, " +"deixando *closeit* definido como ``0``." #: ../../c-api/veryhigh.rst:228 msgid "" "Similar to :c:func:`PyRun_StringFlags`, but the Python source code is read " "from *fp* instead of an in-memory string. *filename* should be the name of " "the file, it is decoded from the :term:`filesystem encoding and error " -"handler`. If *closeit* is true, the file is closed before :c:func:" -"`PyRun_FileExFlags` returns." +"handler`. If *closeit* is true, the file is closed " +"before :c:func:`PyRun_FileExFlags` returns." msgstr "" +"Semelhante a :c:func:`PyRun_StringFlags`, mas o código-fonte Python é lido " +"de *fp* em vez de uma string na memória. *filename* deve ser o nome do " +"arquivo, ele é decodificado a partir do :term:`tratador de erros e " +"codificação do sistema de arquivos`. Se *closeit* for true, o arquivo será " +"fechado antes que :c:func:`PyRun_FileExFlags` retorne." #: ../../c-api/veryhigh.rst:237 msgid "" "This is a simplified interface to :c:func:`Py_CompileStringFlags` below, " "leaving *flags* set to ``NULL``." msgstr "" +"Esta é uma interface simplificada para :c:func:`Py_CompileStringFlags` " +"abaixo, deixando *flags* definido como ``NULL``." #: ../../c-api/veryhigh.rst:243 msgid "" "This is a simplified interface to :c:func:`Py_CompileStringExFlags` below, " "with *optimize* set to ``-1``." msgstr "" +"Esta é uma interface simplificada para :c:func:`Py_CompileStringExFlags` " +"abaixo, com *optimize* definido como ``-1``." #: ../../c-api/veryhigh.rst:249 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 " -"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." -msgstr "" +"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." +msgstr "" +"Analisa e compila o código-fonte Python em *str*, retornando o objeto de " +"código resultante. O token inicial é fornecido por *start*; isso pode ser " +"usado para restringir o código que pode ser compilado e deve " +"ser :c:data:`Py_eval_input`, :c:data:`Py_file_input` " +"ou :c:data:`Py_single_input`. O nome do arquivo especificado por *filename* " +"é usado para construir o objeto de código e pode aparecer em tracebacks ou " +"mensagens de exceção :exc:`SyntaxError`. Isso retorna ``NULL`` se o código " +"não puder ser analisado ou compilado." #: ../../c-api/veryhigh.rst:257 msgid "" @@ -308,12 +431,21 @@ msgid "" "``__debug__`` is true), ``1`` (asserts are removed, ``__debug__`` is false) " "or ``2`` (docstrings are removed too)." msgstr "" +"O inteiro *optimize* especifica o nível de otimização do compilador; um " +"valor de ``-1`` seleciona o nível de otimização do interpretador dado pela " +"opção :option:`-O`. Níveis explícitos são ``0`` (nenhuma otimização; " +"``__debug__`` é verdadeiro), ``1`` (instruções ``assert`` são removidas, " +"``__debug__`` é falso) ou ``2`` (strings de documentação também são " +"removidas)." #: ../../c-api/veryhigh.rst:268 msgid "" "Like :c:func:`Py_CompileStringObject`, but *filename* is a byte string " "decoded from the :term:`filesystem encoding and error handler`." msgstr "" +"Como :c:func:`Py_CompileStringObject`, mas *filename* é uma string de bytes " +"decodificada a partir do :term:`tratador de erros e codificação do sistema " +"de arquivos`." #: ../../c-api/veryhigh.rst:275 msgid "" @@ -321,6 +453,9 @@ msgid "" "code object, and global and local variables. The other arguments are set to " "``NULL``." msgstr "" +"Esta é uma interface simplificada para :c:func:`PyEval_EvalCodeEx`, com " +"apenas o objeto código e variáveis locais e globais. Os outros argumentos " +"são definidos como ``NULL``." #: ../../c-api/veryhigh.rst:282 msgid "" @@ -330,12 +465,19 @@ msgid "" "defaults, a dictionary of default values for :ref:`keyword-only ` arguments and a closure tuple of cells." msgstr "" +"Avalia um objeto código pré-compilado, dado um ambiente particular para sua " +"avaliação. Este ambiente consiste em um dicionário de variáveis globais, um " +"objeto mapeamento de variáveis locais, vetores de argumentos, nomeados e " +"padrões, um dicionário de valores padrões para argumentos :ref:`somente-" +"nomeados ` e uma tupla de clausura de células." #: ../../c-api/veryhigh.rst:291 msgid "" -"Evaluate an execution frame. This is a simplified interface to :c:func:" -"`PyEval_EvalFrameEx`, for backward compatibility." +"Evaluate an execution frame. This is a simplified interface " +"to :c:func:`PyEval_EvalFrameEx`, for backward compatibility." msgstr "" +"Avalia um quadro de execução. Esta é uma interface simplificada " +"para :c:func:`PyEval_EvalFrameEx`, para retrocompatibilidade." #: ../../c-api/veryhigh.rst:297 msgid "" @@ -346,24 +488,36 @@ msgid "" "immediately be thrown; this is used for the :meth:`~generator.throw` methods " "of generator objects." msgstr "" +"Esta é a função principal e sem retoques da interpretação Python. O objeto " +"código associado ao quadro de execução *f* é executado, interpretando " +"bytecode e executando chamadas conforme necessário. O parâmetro adicional " +"*throwflag* pode ser ignorado na maioria das vezes - se verdadeiro, ele faz " +"com que uma exceção seja levantada imediatamente; isso é usado para os " +"métodos :meth:`~generator.throw` de objetos geradores." #: ../../c-api/veryhigh.rst:304 msgid "" "This function now includes a debug assertion to help ensure that it does not " "silently discard an active exception." msgstr "" +"Essa função agora inclui uma asserção de depuração para ajudar a garantir " +"que ela não descarte silenciosamente uma exceção ativa." #: ../../c-api/veryhigh.rst:311 msgid "" "This function changes the flags of the current evaluation frame, and returns " "true on success, false on failure." msgstr "" +"Esta função altera os sinalizadores do quadro de avaliação atual e retorna " +"verdadeiro em caso de sucesso e falso em caso de falha." #: ../../c-api/veryhigh.rst:319 msgid "" "The start symbol from the Python grammar for isolated expressions; for use " "with :c:func:`Py_CompileString`." msgstr "" +"O símbolo inicial da gramática Python para expressões isoladas; para uso " +"com :c:func:`Py_CompileString`." #: ../../c-api/veryhigh.rst:327 msgid "" @@ -371,6 +525,10 @@ msgid "" "from a file or other source; for use with :c:func:`Py_CompileString`. This " "is the symbol to use when compiling arbitrarily long Python source code." msgstr "" +"O símbolo de início da gramática Python para sequências de instruções " +"conforme lidas de um arquivo ou outra fonte; para uso " +"com :c:func:`Py_CompileString`. Este é o símbolo a ser usado ao compilar " +"código-fonte Python arbitrariamente longo." #: ../../c-api/veryhigh.rst:336 msgid "" @@ -378,6 +536,9 @@ msgid "" "with :c:func:`Py_CompileString`. This is the symbol used for the interactive " "interpreter loop." msgstr "" +"O símbolo de início da gramática Python para uma única declaração; para uso " +"com :c:func:`Py_CompileString`. Este é o símbolo usado para o laço do " +"interpretador interativo." #: ../../c-api/veryhigh.rst:343 msgid "" @@ -386,41 +547,57 @@ msgid "" "is being executed, it is passed as ``PyCompilerFlags *flags``. In this " "case, ``from __future__ import`` can modify *flags*." msgstr "" +"Esta é a estrutura usada para manter os sinalizadores do compilador. Em " +"casos onde o código está apenas sendo compilado, ele é passado como ``int " +"flags``, e em casos onde o código está sendo executado, ele é passado como " +"``PyCompilerFlags *flags``. Neste caso, ``from __future__ import`` pode " +"modificar *flags*." #: ../../c-api/veryhigh.rst:348 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 "" +"Sempre que ``PyCompilerFlags *flags`` for " +"``NULL``, :c:member:`~PyCompilerFlags.cf_flags` é tratado como igual a " +"``0``, e qualquer modificação devido a ``from __future__ import`` é " +"descartada." #: ../../c-api/veryhigh.rst:354 msgid "Compiler flags." -msgstr "" +msgstr "Sinalizadores do compilador." #: ../../c-api/veryhigh.rst:358 msgid "" "*cf_feature_version* is the minor Python version. It should be initialized " "to ``PY_MINOR_VERSION``." msgstr "" +"*cf_feature_version* é a versão secundária do Python. Deve ser inicializada " +"como ``PY_MINOR_VERSION``." #: ../../c-api/veryhigh.rst:361 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 "" +"O campo é ignorado por padrão, ele é usado se e somente se o sinalizador " +"``PyCF_ONLY_AST`` estiver definido em :c:member:`~PyCompilerFlags.cf_flags`." #: ../../c-api/veryhigh.rst:364 msgid "Added *cf_feature_version* field." -msgstr "" +msgstr "Adicionado campo *cf_feature_version*." #: ../../c-api/veryhigh.rst:370 msgid "" "This bit can be set in *flags* to cause division operator ``/`` to be " "interpreted as \"true division\" according to :pep:`238`." msgstr "" +"Este bit pode ser definido em *flags* para fazer com que o operador de " +"divisão ``/`` seja interpretado como \"divisão verdadeira\" de acordo com " +"a :pep:`238`." #: ../../c-api/veryhigh.rst:317 ../../c-api/veryhigh.rst:325 #: ../../c-api/veryhigh.rst:334 -msgid "Py_CompileString()" -msgstr "" +msgid "Py_CompileString (C function)" +msgstr "Py_CompileString (função C)" diff --git a/c-api/weakref.po b/c-api/weakref.po index 09c51e63c..1cd0b3ff4 100644 --- a/c-api/weakref.po +++ b/c-api/weakref.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-05-01 17:15+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../c-api/weakref.rst:6 msgid "Weak Reference Objects" -msgstr "Objetos de referência fraca" +msgstr "Objetos referência fraca" #: ../../c-api/weakref.rst:8 msgid "" @@ -35,11 +34,11 @@ msgid "" "is a simple reference object, and the second acts as a proxy for the " "original object as much as it can." msgstr "" -"O Python oferece suporte a *referências fracas* como objetos de primeira " +"Python oferece suporte a *referências fracas* como objetos de primeira " "classe. Existem dois tipos de objetos específicos que implementam " "diretamente referências fracas. O primeiro é um objeto de referência " -"simples, e o segundo atua como um intermediário ao objeto original tanto " -"quanto ele pode." +"simples, e o segundo atua como um intermediário entre o objeto original e o " +"primeiro, tanto quanto possível." #: ../../c-api/weakref.rst:16 msgid "" @@ -107,10 +106,10 @@ msgstr "" #: ../../c-api/weakref.rst:56 msgid "" "Return the referenced object from a weak reference, *ref*. If the referent " -"is no longer live, returns :const:`Py_None`." +"is no longer live, returns ``Py_None``." msgstr "" "Retorna o objeto referenciado de uma referência fraca, *ref*. Se o referente " -"não estiver mais em tempo real, retorna :const:`Py_None`." +"não estiver mais em tempo real, retorna ``Py_None``." #: ../../c-api/weakref.rst:61 msgid "" @@ -142,6 +141,6 @@ msgid "" "for those references which have one. It returns when all callbacks have been " "attempted." msgstr "" -"Isso itera pelas referências fracas para *object* e chama retornos de " -"chamada para as referências que possuem um. Ele retorna quando todos os " -"retornos de chamada foram tentados." +"Isso itera pelas referências fracas para *object* e chama as funções de " +"retorno para as referências que possuem um. Ele retorna quando todas as " +"funções de retorno tiverem sido executadas." diff --git a/contents.po b/contents.po index ac77c6b40..96a030b1d 100644 --- a/contents.po +++ b/contents.po @@ -1,25 +1,25 @@ # 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: -# Erick Simões , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Erick Simões , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/copyright.po b/copyright.po index db1511246..f92285dfa 100644 --- a/copyright.po +++ b/copyright.po @@ -1,27 +1,25 @@ # 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: -# Raphael Mendonça, 2021 -# Ademar Nowasky Junior , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/dict b/dict deleted file mode 100644 index 13d5b70be..000000000 --- a/dict +++ /dev/null @@ -1,427 +0,0 @@ -Aahz -Abelson -ActivePython -Andrew -Android -Apple -Argparse -args -ArgumentParser -array -arrays -ascii -Ascii -async -asyncio -autoinicialização -aux -await -backend -backends -backport -bash -Bash -Beck -BeOpen -Bernstein -Bicking -bignum -binutils -bitbucket -Black -Blackbox -Blake Winton -Boddie -Boer -booleana -booleanas -Booleanas -booleano -booleanos -Borland -Bourne -breadth -buffer -buffers -bug -bugs -bytearray -bytearrays -bytecode -bytecodes -bzip -carregável -Cédric -Centrum -cfuhash -chamável -Changelog -Chapman -char -Christian -Circus -class -codec -Codecs -Coghlan -Collin -Compaq -const -contrabarra -Cookbook -cookies -Corporation -corrotina -corrotinas -ctypes -curl -currying -Cynthia -Cython -Dalke -Dan -D'Aprano -datetime -DateTime -deadlock -def -Delphi -desserialização -desserializar -dict -dicts -distutils -Distutils -dll -doc -docstring -docstrings -doctest -doctests -Docutils -Drake -dtoa -dunder -Efford -egid -ElementTree -elif -else -Emacs -email -Emily -emoji -emojis -Eric -Éric -errno -euid -Excel -except -exe -exec -execv -exp -false -float -Flying -foo -fork -Foundation -framework -frameworks -François -Fred -Fredrik -freeware -genexp -genexps -Gerald -gettext -Giampolo -GiB -git -Git -github -GitHub -glob -Gnumeric -Golden -Gordin -Gordon -Gregory -Grönholm -gzip -Hammond -Harold -hash -Haskell -Heimes -Heller -Henstridge -Hettinger -Hewlett -Hilbert -host -Hylton -HyperText -Ian -ids -if -import -index -Index -initgroups -Initiatives -int -Irix -IronPython -Jay -Jelke -Jeremy -Jewett -Jr -Julie -Jython -Kent -kernel -Kernel -kernels -KiB -kqueue -Krell -Kuchling -Language -len -libffi -libmpdec -libtclsam -libtksam -Lisp -listcomp -listcomps -localtime -log -logger -Logger -loggers -Loggers -logging -Logging -logs -loop -loops -Ltd -Ltda -Lucasfilm -Lundh -lzma -Mac -MacAfee -Macintosh -mail -mailheader -Majkowski -Marek -Mark -Markup -marshal -Mathematisch -McAfee -McMillan -memoizar -memoryview -MemoryView -Mertz -metacaractere -Metacaractere -metacaracteres -Metacaracteres -metaclasse -metaclasses -Microsoft -Minus -Mitch -mixin -mmap -Monty -Moshe -multithread -NaN -NaNs -National -ncurses -netrc -Neumann -Nick -numpy -NumPy -NxN -Object -OpenSolaris -OpenSuse -OverflowError -Packaging -Packard -patches -Patterns -pdb -PEP -Perl -Pillow -Pinard -pip -plugin -plugins -popen -PowerShell -printf -prompt -proxy -pty -PureProxy -py -Py -pyc -PyChecker -Pydb -Pylint -PyObject -PyPy -PyQt -PySide -python -Python -Pythônico -PythonLabs -Pythonwin -PythonWin -PyUnit -pyvenv -PyWin -PyZipFile -qNaN -Qt -Queens -Randal -Raymond -read -referenciável -regex -repr -Research -Reston -reStructuredText -rfc -rgid -root -Rossum -Roundup -Ruby -ruid -runner -Salmela -Sauvage -scanf -Scheme -Scintilla -scipy -script -scripts -Sébastien -self -serialização -setgroups -setup -setuptools -sgid -shareware -shebang -Shebang -shell -shells -Singleton -SipHash -Slice -slot -slots -smalltalk -sNaN -Snow -so -Solaris -SourceForge -spec -Sphinx -sscanf -Standard -stderr -stdin -stdout -Stichting -str -streams -Streams -stride -string -strtod -Studio -subcontexto -subcontextos -subpacote -subpacotes -subst -substring -subteste -suid -Sussman -switch -sys -tar -Tcl -Telnet -termcap -thread -threading -threads -Tix -Tk -Tkinter -token -tokens -traceback -true -try -tty -Tuininga -typedef -unicode -Unicode -unittest -upload -urllib -Usenet -User -ValueError -voltage -VxWorks -Water -wchar -while -widgets -Win -Windows -Winter -Winton -www -wxPython -wxwidgets -wxWidgets -WxWidgets -Xt -Yellow -Zadka -zipfile -ZipFile -zlib -Zope diff --git a/distributing/index.po b/distributing/index.po index 436bcb7d0..f28ec39b2 100644 --- a/distributing/index.po +++ b/distributing/index.po @@ -1,367 +1,38 @@ # 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: -# Hildeberto Abreu Magalhães , 2021 -# Ruan Aragão , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" -#: ../../distributing/index.rst:5 +#: ../../distributing/index.rst:11 msgid "Distributing Python Modules" msgstr "Distribuindo módulos Python" -#: ../../distributing/index.rst:0 -msgid "Email" -msgstr "E-mail" - -#: ../../distributing/index.rst:7 -msgid "distutils-sig@python.org" -msgstr "distutils-sig@python.org" - -#: ../../distributing/index.rst:10 -msgid "" -"As a popular open source development project, Python has an active " -"supporting community of contributors and users that also make their software " -"available for other Python developers to use under open source license terms." -msgstr "" -"Como um projeto popular de desenvolvimento de código aberto, Python tem uma " -"comunidade de apoio ativa de colaboradores e usuários, que também fazem o " -"seu software disponível para outros desenvolvedores de Python para usar sob " -"os termos da licença de código aberto." - -#: ../../distributing/index.rst:14 -msgid "" -"This allows Python users to share and collaborate effectively, benefiting " -"from the solutions others have already created to common (and sometimes even " -"rare!) problems, as well as potentially contributing their own solutions to " -"the common pool." -msgstr "" -"Isso permite aos usuários Python compartilhar e colaborar efetivamente, se " -"beneficiando das soluções que outros já tenham criado para os problemas mais " -"comuns (em alguns casos até mesmo os raros), bem como potencialmente " -"contribuindo com suas próprias soluções para o conjunto de soluções comuns." - -#: ../../distributing/index.rst:19 -msgid "" -"This guide covers the distribution part of the process. For a guide to " -"installing other Python projects, refer to the :ref:`installation guide " -"`." -msgstr "" -"Este guia cobre a parte de distribuição do processo. Para um guia de " -"instalação de outros projetos Python, consulte :ref:`installation guide " -"`." - -#: ../../distributing/index.rst:25 -msgid "" -"For corporate and other institutional users, be aware that many " -"organisations have their own policies around using and contributing to open " -"source software. Please take such policies into account when making use of " -"the distribution and installation tools provided with Python." -msgstr "" -"Para corporações e outros usuários institucionais, esteja ciente que muitas " -"organizações têm suas próprias políticas em relação ao uso e contribuição " -"para o software de código aberto. Por favor, leve em conta essas políticas " -"ao usar as ferramentas de distribuição e instalação fornecidas com o Python." - -#: ../../distributing/index.rst:32 -msgid "Key terms" -msgstr "Termos chave" - -#: ../../distributing/index.rst:34 -msgid "" -"the `Python Package Index `__ is a public repository of " -"open source licensed packages made available for use by other Python users" -msgstr "" -"`Python Package Index `__ é um repositório público de " -"pacotes licenciados como código aberto e disponíveis para uso de outros " -"usuários Python" - -#: ../../distributing/index.rst:37 -msgid "" -"the `Python Packaging Authority `__ are the group of " -"developers and documentation authors responsible for the maintenance and " -"evolution of the standard packaging tools and the associated metadata and " -"file format standards. They maintain a variety of tools, documentation and " -"issue trackers on both `GitHub `__ and `Bitbucket " -"`__." -msgstr "" -"o `Python Packaging Authority `__ é o grupo de " -"desenvolvedores e autores de documentação responsáveis pela manutenção e " -"evolução das ferramentas de empacotamento padrão e pelos padrões de " -"metadados e formato de arquivo associados. Eles mantêm uma variedade de " -"ferramentas, documentação e rastreadores de problemas no `GitHub `__ e `Bitbucket `__." - -#: ../../distributing/index.rst:44 -msgid "" -":mod:`distutils` is the original build and distribution system first added " -"to the Python standard library in 1998. While direct use of :mod:`distutils` " -"is being phased out, it still laid the foundation for the current packaging " -"and distribution infrastructure, and it not only remains part of the " -"standard library, but its name lives on in other ways (such as the name of " -"the mailing list used to coordinate Python packaging standards development)." -msgstr "" -":mod:`distutils` é o primeiro sistema de construção e distribuição " -"adicionado na biblioteca padrão do Python, em 1998. Embora o uso direto do :" -"mod:`distutils` esteja sendo eliminado, ele estabelece as bases para a " -"infraestrutura atual de empacotamento e distribuição, e não somente " -"permanece como parte da biblioteca padrão, mas seu nome continua sendo usado " -"de outras maneiras (como o nome da lista de e-mail usada para coordenar o " -"desenvolvimento dos padrões de empacotamento Python)." - -#: ../../distributing/index.rst:51 -msgid "" -"`setuptools`_ is a (largely) drop-in replacement for :mod:`distutils` first " -"published in 2004. Its most notable addition over the unmodified :mod:" -"`distutils` tools was the ability to declare dependencies on other packages. " -"It is currently recommended as a more regularly updated alternative to :mod:" -"`distutils` that offers consistent support for more recent packaging " -"standards across a wide range of Python versions." -msgstr "" -"`setuptools`_ é um substituto (em grande parte) para :mod:`distutils`, " -"publicado pela primeira vez em 2004. Sua adição mais notável sobre as " -"ferramentas :mod:`distutils` originais foi a capacidade de declarar " -"dependências em outros pacotes. Atualmente é recomendado como uma " -"alternativa, mais regularmente atualizada, para :mod:`distutils`, que " -"oferece suporte consistente para padrões de empacotamento mais recentes, em " -"uma ampla gama de versões do Python." - -#: ../../distributing/index.rst:57 -msgid "" -"`wheel`_ (in this context) is a project that adds the ``bdist_wheel`` " -"command to :mod:`distutils`/`setuptools`_. This produces a cross platform " -"binary packaging format (called \"wheels\" or \"wheel files\" and defined " -"in :pep:`427`) that allows Python libraries, even those including binary " -"extensions, to be installed on a system without needing to be built locally." -msgstr "" -"`wheel`_ (nesse contexto) é um projeto que adiciona o comando " -"``bdist_wheel`` ao :mod:`distutils`/`setuptools`_. Isso produz um formato de " -"pacote binário, portável entre várias plataformas (chamado \"wheels\" ou " -"\"wheel files\" e definido no :pep:`427`), permitindo que bibliotecas " -"Python, mesmo aquelas incluindo extensões binárias, sejam instaladas em um " -"sistema, sem precisarem ser construídas localmente." - -#: ../../distributing/index.rst:68 -msgid "Open source licensing and collaboration" -msgstr "Licenciamento de código aberto e colaboração" - -#: ../../distributing/index.rst:70 -msgid "" -"In most parts of the world, software is automatically covered by copyright. " -"This means that other developers require explicit permission to copy, use, " -"modify and redistribute the software." -msgstr "" -"Na maior parte do mundo, o software é automaticamente coberto por direitos " -"autorais. Isso significa que outros desenvolvedores precisam de permissão " -"explícita para copiar, usar, modificar e redistribuir o software." - -#: ../../distributing/index.rst:74 -msgid "" -"Open source licensing is a way of explicitly granting such permission in a " -"relatively consistent way, allowing developers to share and collaborate " -"efficiently by making common solutions to various problems freely available. " -"This leaves many developers free to spend more time focusing on the problems " -"that are relatively unique to their specific situation." -msgstr "" -"O licenciamento de código aberto é uma forma de conceder explicitamente tal " -"permissão, de maneira relativamente consistente, permitindo aos " -"desenvolvedores compartilhar e colaborar de forma eficiente, criando " -"soluções comuns para vários problemas disponíveis gratuitamente. Isso " -"permite que os desenvolvedores dediquem mais tempo focados nos problemas que " -"são relativamente exclusivos para sua situação específica." - -#: ../../distributing/index.rst:80 -msgid "" -"The distribution tools provided with Python are designed to make it " -"reasonably straightforward for developers to make their own contributions " -"back to that common pool of software if they choose to do so." -msgstr "" -"As ferramentas de distribuição fornecidas com o Python são projetadas para " -"tornar razoavelmente simples, para os desenvolvedores, fazerem suas próprias " -"contribuições, de volta para esse conjunto comum de software, se optarem por " -"fazê-lo." - -#: ../../distributing/index.rst:84 -msgid "" -"The same distribution tools can also be used to distribute software within " -"an organisation, regardless of whether that software is published as open " -"source software or not." -msgstr "" -"As mesmas ferramentas de distribuição também podem ser usadas para " -"distribuir software dentro de uma organização, independentemente de esse " -"software ser publicado como software de código aberto ou não." - -#: ../../distributing/index.rst:90 -msgid "Installing the tools" -msgstr "Instalando as ferramentas" - -#: ../../distributing/index.rst:92 +#: ../../distributing/index.rst:15 msgid "" -"The standard library does not include build tools that support modern Python " -"packaging standards, as the core development team has found that it is " -"important to have standard tools that work consistently, even on older " -"versions of Python." -msgstr "" -"A biblioteca padrão não inclui ferramentas de construção que suportem " -"padrões de empacotamento modernos do Python, pois a equipe de " -"desenvolvimento principal achou que é importante ter ferramentas padrão que " -"funcionem consistentemente, mesmo em versões mais antigas do Python." - -#: ../../distributing/index.rst:97 -msgid "" -"The currently recommended build and distribution tools can be installed by " -"invoking the ``pip`` module at the command line::" -msgstr "" -"As ferramentas de construção e distribuição, recomendadas atualmente, podem " -"ser instaladas chamando o módulo ``pip`` na linha de comando::" - -#: ../../distributing/index.rst:104 -msgid "" -"For POSIX users (including macOS and Linux users), these instructions assume " -"the use of a :term:`virtual environment`." -msgstr "" -"Para usuários POSIX (incluindo usuários macOS e Linux), essas instruções " -"assumem o uso de um :term:`ambiente virtual`." - -#: ../../distributing/index.rst:107 -msgid "" -"For Windows users, these instructions assume that the option to adjust the " -"system PATH environment variable was selected when installing Python." -msgstr "" -"Para usuários Windows, essas instruções assumem que a opção de ajustar a " -"variável de ambiente do sistema, PATH, foi selecionado durante a instalação " -"do Python." - -#: ../../distributing/index.rst:111 -msgid "" -"The Python Packaging User Guide includes more details on the `currently " -"recommended tools`_." -msgstr "" -"O \"Python Packaging User Guide\" inclui mais detalhes sobre `currently " -"recommended tools`_." - -#: ../../distributing/index.rst:123 -msgid "Reading the Python Packaging User Guide" -msgstr "Lendo o \"Python Packaging User Guide\"" - -#: ../../distributing/index.rst:125 -msgid "" -"The Python Packaging User Guide covers the various key steps and elements " -"involved in creating and publishing a project:" -msgstr "" -"O \"Python Packaging User Guide\" abrange as várias etapas e elementos-chave " -"envolvidos na criação e publicação de um projeto:" - -#: ../../distributing/index.rst:128 -msgid "`Project structure`_" -msgstr "`Estrutura do projeto`_" - -#: ../../distributing/index.rst:129 -msgid "`Building and packaging the project`_" -msgstr "`Compilando e empacotando o projeto`_" - -#: ../../distributing/index.rst:130 -msgid "`Uploading the project to the Python Package Index`_" -msgstr "`Enviando o projeto para o Python Package Index`_" - -#: ../../distributing/index.rst:131 -msgid "`The .pypirc file`_" -msgstr "`O arquivo .pypirc`_" - -#: ../../distributing/index.rst:140 -msgid "How do I...?" -msgstr "Como eu...?" - -#: ../../distributing/index.rst:142 -msgid "These are quick answers or links for some common tasks." -msgstr "Estas são respostas rápidas ou links para algumas tarefas comuns." - -#: ../../distributing/index.rst:145 -msgid "... choose a name for my project?" -msgstr "... escolho um nome para meu projeto?" - -#: ../../distributing/index.rst:147 -msgid "This isn't an easy topic, but here are a few tips:" -msgstr "Não é um tema fácil, mas aqui estão algumas dicas:" - -#: ../../distributing/index.rst:149 -msgid "check the Python Package Index to see if the name is already in use" -msgstr "verifique o \"Python Package Index\" para ver se o nome já está em uso" - -#: ../../distributing/index.rst:150 -msgid "" -"check popular hosting sites like GitHub, Bitbucket, etc to see if there is " -"already a project with that name" -msgstr "" -"verifique sites de hospedagem populares como GitHub, Bitbucket etc. para ver " -"se já existe um projeto com esse nome" - -#: ../../distributing/index.rst:152 -msgid "check what comes up in a web search for the name you're considering" -msgstr "" -"verifique o que surge, em uma pesquisa na Web, para o nome que você está " -"considerando" - -#: ../../distributing/index.rst:153 -msgid "" -"avoid particularly common words, especially ones with multiple meanings, as " -"they can make it difficult for users to find your software when searching " -"for it" -msgstr "" -"evite palavras particularmente comuns, especialmente aquelas com vários " -"significados, pois elas podem dificultar que os usuários encontrem o seu " -"software ao procurá-lo" - -#: ../../distributing/index.rst:159 -msgid "... create and distribute binary extensions?" -msgstr "... crio e distribuo extensões binárias?" - -#: ../../distributing/index.rst:161 -msgid "" -"This is actually quite a complex topic, with a variety of alternatives " -"available depending on exactly what you're aiming to achieve. See the Python " -"Packaging User Guide for more information and recommendations." -msgstr "" -"Este é realmente um tema bastante complexo, com uma variedade de " -"alternativas disponíveis, dependendo exatamente do que você pretende " -"alcançar. Veja \"Python Packaging User Guide\" para mais informação e " -"recomendações." - -#: ../../distributing/index.rst:167 -msgid "" -"`Python Packaging User Guide: Binary Extensions `__" -msgstr "" -"`Python Packaging User Guide: Binary Extensions `__" - -#: ../../distributing/index.rst:116 -msgid "Python Package Index (PyPI)" -msgstr "" - -#: ../../distributing/index.rst:116 -msgid "PyPI" -msgstr "" - -#: ../../distributing/index.rst:116 -msgid "(see Python Package Index (PyPI))" +"Information and guidance on distributing Python modules and packages has " +"been moved to the `Python Packaging User Guide`_, and the tutorial on " +"`packaging Python projects`_." msgstr "" +"Informações e orientações sobre distribuição de módulos e pacotes Python " +"foram movidas para o `Guia de Usuário para Empacotamento de Python`_ e o " +"tutorial sobre `empacotamento de projetos Python`_." diff --git a/distutils/_setuptools_disclaimer.po b/distutils/_setuptools_disclaimer.po index 52a3827d6..58d2b3b24 100644 --- a/distutils/_setuptools_disclaimer.po +++ b/distutils/_setuptools_disclaimer.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -30,6 +30,6 @@ msgid "" "independently covers all of the relevant information currently included here." msgstr "" "Este documento está sendo mantido apenas até que a documentação do " -"``setuptools`` em https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra independentemente todas as informações relevantes atualmente " -"incluídas aqui." +"``setuptools`` em https://setuptools.readthedocs.io/en/latest/" +"setuptools.html cubra independentemente todas as informações relevantes " +"atualmente incluídas aqui." diff --git a/distutils/apiref.po b/distutils/apiref.po index 6f326e9e8..70dec2689 100644 --- a/distutils/apiref.po +++ b/distutils/apiref.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# And Past , 2021 -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Augusta Carla Klug , 2021 -# Hildeberto Abreu Magalhães , 2021 -# Ricardo Cappellano , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -52,9 +45,9 @@ msgid "" "independently covers all of the relevant information currently included here." msgstr "" "Este documento está sendo mantido apenas até que a documentação do " -"``setuptools`` em https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra independentemente todas as informações relevantes atualmente " -"incluídas aqui." +"``setuptools`` em https://setuptools.readthedocs.io/en/latest/" +"setuptools.html cubra independentemente todas as informações relevantes " +"atualmente incluídas aqui." #: ../../distutils/apiref.rst:19 msgid ":mod:`distutils.core` --- Core Distutils functionality" @@ -64,8 +57,9 @@ msgstr ":mod:`distutils.core` --- funcionalidade principal Distutils" msgid "" "The :mod:`distutils.core` module is the only module that needs to be " "installed to use the Distutils. It provides the :func:`setup` (which is " -"called from the setup script). Indirectly provides the :class:`distutils." -"dist.Distribution` and :class:`distutils.cmd.Command` class." +"called from the setup script). Indirectly provides " +"the :class:`distutils.dist.Distribution` and :class:`distutils.cmd.Command` " +"class." msgstr "" "O módulo :mod:`distutils.core` é o único módulo que necessita ser instalado " "para usar Distutils. Provê a função :func:`setup` (que é chamada do script " @@ -95,7 +89,7 @@ msgstr "nome do argumento" #: ../../distutils/apiref.rst:42 ../../distutils/apiref.rst:143 #: ../../distutils/apiref.rst:185 msgid "value" -msgstr "value" +msgstr "valor" #: ../../distutils/apiref.rst:42 ../../distutils/apiref.rst:185 msgid "type" @@ -166,12 +160,12 @@ msgstr "*maintainer*" #: ../../distutils/apiref.rst:61 msgid "" "The name of the current maintainer, if different from the author. Note that " -"if the maintainer is provided, distutils will use it as the author in :file:" -"`PKG-INFO`" +"if the maintainer is provided, distutils will use it as the author " +"in :file:`PKG-INFO`" msgstr "" "O nome do mantenedor atual, se for diferente do autor. Observe que s o " -"mantenedor for fornecido, distutils vai usá-lo como autor, no arquivo :file:" -"`PKG-INFO`" +"mantenedor for fornecido, distutils vai usá-lo como autor, no " +"arquivo :file:`PKG-INFO`" #: ../../distutils/apiref.rst:68 msgid "*maintainer_email*" @@ -356,19 +350,19 @@ msgstr "Um mapeamento do pacote para nomes de diretórios" #: ../../distutils/apiref.rst:127 msgid "" -"Run a setup script in a somewhat controlled environment, and return the :" -"class:`distutils.dist.Distribution` instance that drives things. This is " -"useful if you need to find out the distribution meta-data (passed as " +"Run a setup script in a somewhat controlled environment, and return " +"the :class:`distutils.dist.Distribution` instance that drives things. This " +"is useful if you need to find out the distribution meta-data (passed as " "keyword args from *script* to :func:`setup`), or the contents of the config " "files or command-line." msgstr "" #: ../../distutils/apiref.rst:133 msgid "" -"*script_name* is a file that will be read and run with :func:`exec`. ``sys." -"argv[0]`` will be replaced with *script* for the duration of the call. " -"*script_args* is a list of strings; if supplied, ``sys.argv[1:]`` will be " -"replaced by *script_args* for the duration of the call." +"*script_name* is a file that will be read and run with :func:`exec`. " +"``sys.argv[0]`` will be replaced with *script* for the duration of the " +"call. *script_args* is a list of strings; if supplied, ``sys.argv[1:]`` " +"will be replaced by *script_args* for the duration of the call." msgstr "" #: ../../distutils/apiref.rst:138 @@ -397,8 +391,8 @@ msgstr "*config*" #: ../../distutils/apiref.rst:149 msgid "" -"Stop after config files have been parsed (and their data stored in the :" -"class:`Distribution` instance)" +"Stop after config files have been parsed (and their data stored in " +"the :class:`Distribution` instance)" msgstr "" #: ../../distutils/apiref.rst:153 @@ -606,7 +600,7 @@ msgstr "" #: ../../distutils/apiref.rst:284 msgid "a boolean" -msgstr "" +msgstr "um valor booleano" #: ../../distutils/apiref.rst:292 msgid "" @@ -684,8 +678,8 @@ msgstr "" #: ../../distutils/apiref.rst:356 msgid "" "*osname* should be one of the standard Python OS names (i.e. the ones " -"returned by ``os.name``) and *platform* the common value returned by ``sys." -"platform`` for the platform in question." +"returned by ``os.name``) and *platform* the common value returned by " +"``sys.platform`` for the platform in question." msgstr "" #: ../../distutils/apiref.rst:360 @@ -700,11 +694,11 @@ msgid "" "supplied platform/compiler combination. *plat* defaults to ``os.name`` (eg. " "``'posix'``, ``'nt'``), and *compiler* defaults to the default compiler for " "that platform. Currently only ``'posix'`` and ``'nt'`` are supported, and " -"the default compilers are \"traditional Unix interface\" (:class:" -"`UnixCCompiler` class) and Visual C++ (:class:`MSVCCompiler` class). Note " -"that it's perfectly possible to ask for a Unix compiler object under " -"Windows, and a Microsoft compiler object under Unix---if you supply a value " -"for *compiler*, *plat* is ignored." +"the default compilers are \"traditional Unix interface\" " +"(:class:`UnixCCompiler` class) and Visual C++ (:class:`MSVCCompiler` " +"class). Note that it's perfectly possible to ask for a Unix compiler object " +"under Windows, and a Microsoft compiler object under Unix---if you supply a " +"value for *compiler*, *plat* is ignored." msgstr "" #: ../../distutils/apiref.rst:382 @@ -759,9 +753,9 @@ msgstr "" msgid "" "Set the list of directories that will be searched to *dirs* (a list of " "strings). Overrides any preceding calls to :meth:`add_include_dir`; " -"subsequent calls to :meth:`add_include_dir` add to the list passed to :meth:" -"`set_include_dirs`. This does not affect any list of standard include " -"directories that the compiler may search by default." +"subsequent calls to :meth:`add_include_dir` add to the list passed " +"to :meth:`set_include_dirs`. This does not affect any list of standard " +"include directories that the compiler may search by default." msgstr "" #: ../../distutils/apiref.rst:429 @@ -792,8 +786,8 @@ msgstr "" msgid "" "Add *dir* to the list of directories that will be searched for libraries " "specified to :meth:`add_library` and :meth:`set_libraries`. The linker will " -"be instructed to search for libraries in the order they are supplied to :" -"meth:`add_library_dir` and/or :meth:`set_library_dirs`." +"be instructed to search for libraries in the order they are supplied " +"to :meth:`add_library_dir` and/or :meth:`set_library_dirs`." msgstr "" #: ../../distutils/apiref.rst:458 @@ -1024,9 +1018,10 @@ msgstr "" msgid "" "Link a bunch of stuff together to create a static library file. The \"bunch " "of stuff\" consists of the list of object files supplied as *objects*, the " -"extra object files supplied to :meth:`add_link_object` and/or :meth:" -"`set_link_objects`, the libraries supplied to :meth:`add_library` and/or :" -"meth:`set_libraries`, and the libraries supplied as *libraries* (if any)." +"extra object files supplied to :meth:`add_link_object` and/" +"or :meth:`set_link_objects`, the libraries supplied to :meth:`add_library` " +"and/or :meth:`set_libraries`, and the libraries supplied as *libraries* (if " +"any)." msgstr "" #: ../../distutils/apiref.rst:635 @@ -1081,8 +1076,8 @@ msgstr "" msgid "" "*library_dirs*, if supplied, should be a list of directories to search for " "libraries that were specified as bare library names (ie. no directory " -"component). These are on top of the system default and those supplied to :" -"meth:`add_library_dir` and/or :meth:`set_library_dirs`. " +"component). These are on top of the system default and those supplied " +"to :meth:`add_library_dir` and/or :meth:`set_library_dirs`. " "*runtime_library_dirs* is a list of directories that will be embedded into " "the shared library and used to search for other shared libraries that " "\\*it\\* depends on at run-time. (This may only be relevant on Unix.)" @@ -1139,9 +1134,10 @@ msgid "" "Preprocess a single C/C++ source file, named in *source*. Output will be " "written to file named *output_file*, or *stdout* if *output_file* not " "supplied. *macros* is a list of macro definitions as for :meth:`compile`, " -"which will augment the macros set with :meth:`define_macro` and :meth:" -"`undefine_macro`. *include_dirs* is a list of directory names that will be " -"added to the default list, in the same way as :meth:`add_include_dir`." +"which will augment the macros set with :meth:`define_macro` " +"and :meth:`undefine_macro`. *include_dirs* is a list of directory names that " +"will be added to the default list, in the same way " +"as :meth:`add_include_dir`." msgstr "" #: ../../distutils/apiref.rst:723 @@ -1223,8 +1219,9 @@ msgstr "" #: ../../distutils/apiref.rst:809 msgid "" -"This module provides the :class:`UnixCCompiler` class, a subclass of :class:" -"`CCompiler` that handles the typical Unix-style command-line C compiler:" +"This module provides the :class:`UnixCCompiler` class, a subclass " +"of :class:`CCompiler` that handles the typical Unix-style command-line C " +"compiler:" msgstr "" #: ../../distutils/apiref.rst:812 @@ -1255,8 +1252,8 @@ msgstr "" #: ../../distutils/apiref.rst:825 msgid "" -"link static library handled by :program:`ar` command (possibly with :program:" -"`ranlib`)" +"link static library handled by :program:`ar` command (possibly " +"with :program:`ranlib`)" msgstr "" #: ../../distutils/apiref.rst:828 @@ -1293,8 +1290,8 @@ msgstr "" #: ../../distutils/apiref.rst:860 msgid "" -"This module provides :class:`BorlandCCompiler`, a subclass of the abstract :" -"class:`CCompiler` class for the Borland C++ compiler." +"This module provides :class:`BorlandCCompiler`, a subclass of the " +"abstract :class:`CCompiler` class for the Borland C++ compiler." msgstr "" #: ../../distutils/apiref.rst:865 @@ -1303,9 +1300,9 @@ msgstr "" #: ../../distutils/apiref.rst:870 msgid "" -"This module provides the :class:`CygwinCCompiler` class, a subclass of :" -"class:`UnixCCompiler` that handles the Cygwin port of the GNU C compiler to " -"Windows. It also contains the Mingw32CCompiler class which handles the " +"This module provides the :class:`CygwinCCompiler` class, a subclass " +"of :class:`UnixCCompiler` that handles the Cygwin port of the GNU C compiler " +"to Windows. It also contains the Mingw32CCompiler class which handles the " "mingw32 port of GCC (same as cygwin in no-cygwin mode)." msgstr "" @@ -1355,11 +1352,11 @@ msgstr "" #: ../../distutils/apiref.rst:920 msgid "" "Create a zip file from all files in and under *base_dir*. The output zip " -"file will be named *base_name* + :file:`.zip`. Uses either the :mod:" -"`zipfile` Python module (if available) or the InfoZIP :file:`zip` utility " -"(if installed and found on the default search path). If neither tool is " -"available, raises :exc:`DistutilsExecError`. Returns the name of the " -"output zip file." +"file will be named *base_name* + :file:`.zip`. Uses either " +"the :mod:`zipfile` Python module (if available) or the InfoZIP :file:`zip` " +"utility (if installed and found on the default search path). If neither " +"tool is available, raises :exc:`DistutilsExecError`. Returns the name of " +"the output zip file." msgstr "" #: ../../distutils/apiref.rst:928 @@ -1377,16 +1374,16 @@ msgstr "" msgid "" "Return true if *source* exists and is more recently modified than *target*, " "or if *source* exists and *target* doesn't. Return false if both exist and " -"*target* is the same age or newer than *source*. Raise :exc:" -"`DistutilsFileError` if *source* does not exist." +"*target* is the same age or newer than *source*. " +"Raise :exc:`DistutilsFileError` if *source* does not exist." msgstr "" #: ../../distutils/apiref.rst:949 msgid "" "Walk two filename lists in parallel, testing if each source is newer than " "its corresponding target. Return a pair of lists (*sources*, *targets*) " -"where source is newer than target, according to the semantics of :func:" -"`newer`." +"where source is newer than target, according to the semantics " +"of :func:`newer`." msgstr "" #: ../../distutils/apiref.rst:958 @@ -1417,11 +1414,11 @@ msgstr "" msgid "" "Create a directory and any missing ancestor directories. If the directory " "already exists (or if *name* is the empty string, which means the current " -"directory, which of course exists), then do nothing. Raise :exc:" -"`DistutilsFileError` if unable to create some directory along the way (eg. " -"some sub-path exists, but is a file rather than a directory). If *verbose* " -"is true, print a one-line summary of each mkdir to stdout. Return the list " -"of directories actually created." +"directory, which of course exists), then do nothing. " +"Raise :exc:`DistutilsFileError` if unable to create some directory along the " +"way (eg. some sub-path exists, but is a file rather than a directory). If " +"*verbose* is true, print a one-line summary of each mkdir to stdout. Return " +"the list of directories actually created." msgstr "" #: ../../distutils/apiref.rst:994 @@ -1437,31 +1434,31 @@ msgstr "" #: ../../distutils/apiref.rst:1004 msgid "" "Copy an entire directory tree *src* to a new location *dst*. Both *src* and " -"*dst* must be directory names. If *src* is not a directory, raise :exc:" -"`DistutilsFileError`. If *dst* does not exist, it is created with :func:" -"`mkpath`. The end result of the copy is that every file in *src* is copied " -"to *dst*, and directories under *src* are recursively copied to *dst*. " -"Return the list of files that were copied or might have been copied, using " -"their output name. The return value is unaffected by *update* or *dry_run*: " -"it is simply the list of all files under *src*, with the names changed to be " -"under *dst*." +"*dst* must be directory names. If *src* is not a directory, " +"raise :exc:`DistutilsFileError`. If *dst* does not exist, it is created " +"with :func:`mkpath`. The end result of the copy is that every file in " +"*src* is copied to *dst*, and directories under *src* are recursively " +"copied to *dst*. Return the list of files that were copied or might have " +"been copied, using their output name. The return value is unaffected by " +"*update* or *dry_run*: it is simply the list of all files under *src*, with " +"the names changed to be under *dst*." msgstr "" #: ../../distutils/apiref.rst:1014 msgid "" -"*preserve_mode* and *preserve_times* are the same as for :func:`distutils." -"file_util.copy_file`; note that they only apply to regular files, not to " -"directories. If *preserve_symlinks* is true, symlinks will be copied as " -"symlinks (on platforms that support them!); otherwise (the default), the " -"destination of the symlink will be copied. *update* and *verbose* are the " -"same as for :func:`copy_file`." +"*preserve_mode* and *preserve_times* are the same as " +"for :func:`distutils.file_util.copy_file`; note that they only apply to " +"regular files, not to directories. If *preserve_symlinks* is true, symlinks " +"will be copied as symlinks (on platforms that support them!); otherwise (the " +"default), the destination of the symlink will be copied. *update* and " +"*verbose* are the same as for :func:`copy_file`." msgstr "" #: ../../distutils/apiref.rst:1022 msgid "" "Files in *src* that begin with :file:`.nfs` are skipped (more information on " -"these files is available in answer D2 of the `NFS FAQ page `_)." +"these files is available in answer D2 of the `NFS FAQ page `_)." msgstr "" #: ../../distutils/apiref.rst:1026 @@ -1685,11 +1682,11 @@ msgstr "" msgid "" "Perform shell/Perl-style variable substitution on *s*. Every occurrence of " "``$`` followed by a name is considered a variable, and variable is " -"substituted by the value found in the *local_vars* dictionary, or in ``os." -"environ`` if it's not in *local_vars*. *os.environ* is first checked/" -"augmented to guarantee that it contains certain values: see :func:" -"`check_environ`. Raise :exc:`ValueError` for any variables not found in " -"either *local_vars* or ``os.environ``." +"substituted by the value found in the *local_vars* dictionary, or in " +"``os.environ`` if it's not in *local_vars*. *os.environ* is first checked/" +"augmented to guarantee that it contains certain values: " +"see :func:`check_environ`. Raise :exc:`ValueError` for any variables not " +"found in either *local_vars* or ``os.environ``." msgstr "" #: ../../distutils/apiref.rst:1201 @@ -1727,16 +1724,17 @@ msgstr "" #: ../../distutils/apiref.rst:1232 msgid "" "True values are ``y``, ``yes``, ``t``, ``true``, ``on`` and ``1``; false " -"values are ``n``, ``no``, ``f``, ``false``, ``off`` and ``0``. Raises :exc:" -"`ValueError` if *val* is anything else." +"values are ``n``, ``no``, ``f``, ``false``, ``off`` and ``0``. " +"Raises :exc:`ValueError` if *val* is anything else." msgstr "" #: ../../distutils/apiref.rst:1239 msgid "" -"Byte-compile a collection of Python source files to :file:`.pyc` files in a :" -"file:`__pycache__` subdirectory (see :pep:`3147` and :pep:`488`). *py_files* " -"is a list of files to compile; any files that don't end in :file:`.py` are " -"silently skipped. *optimize* must be one of the following:" +"Byte-compile a collection of Python source files to :file:`.pyc` files in " +"a :file:`__pycache__` subdirectory (see :pep:`3147` and :pep:`488`). " +"*py_files* is a list of files to compile; any files that don't end " +"in :file:`.py` are silently skipped. *optimize* must be one of the " +"following:" msgstr "" #: ../../distutils/apiref.rst:1244 @@ -1880,12 +1878,12 @@ msgstr "" #: ../../distutils/apiref.rst:1362 msgid "" "Wrapper function. *options* is a list of ``(long_option, short_option, " -"help_string)`` 3-tuples as described in the constructor for :class:" -"`FancyGetopt`. *negative_opt* should be a dictionary mapping option names to " -"option names, both the key and value should be in the *options* list. " -"*object* is an object which will be used to store values (see the :meth:" -"`getopt` method of the :class:`FancyGetopt` class). *args* is the argument " -"list. Will use ``sys.argv[1:]`` if you pass ``None`` as *args*." +"help_string)`` 3-tuples as described in the constructor " +"for :class:`FancyGetopt`. *negative_opt* should be a dictionary mapping " +"option names to option names, both the key and value should be in the " +"*options* list. *object* is an object which will be used to store values " +"(see the :meth:`getopt` method of the :class:`FancyGetopt` class). *args* is " +"the argument list. Will use ``sys.argv[1:]`` if you pass ``None`` as *args*." msgstr "" #: ../../distutils/apiref.rst:1373 @@ -2043,8 +2041,8 @@ msgid "" "Return the directory for either the general or platform-dependent C include " "files. If *plat_specific* is true, the platform-dependent include directory " "is returned; if false or omitted, the platform-independent directory is " -"returned. If *prefix* is given, it is used as either the prefix instead of :" -"const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if " +"returned. If *prefix* is given, it is used as either the prefix instead " +"of :const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if " "*plat_specific* is true." msgstr "" @@ -2054,10 +2052,10 @@ msgid "" "installation. If *plat_specific* is true, the platform-dependent include " "directory is returned; if false or omitted, the platform-independent " "directory is returned. If *prefix* is given, it is used as either the " -"prefix instead of :const:`PREFIX`, or as the exec-prefix instead of :const:" -"`EXEC_PREFIX` if *plat_specific* is true. If *standard_lib* is true, the " -"directory for the standard library is returned rather than the directory for " -"the installation of third-party extensions." +"prefix instead of :const:`PREFIX`, or as the exec-prefix instead " +"of :const:`EXEC_PREFIX` if *plat_specific* is true. If *standard_lib* is " +"true, the directory for the standard library is returned rather than the " +"directory for the installation of third-party extensions." msgstr "" #: ../../distutils/apiref.rst:1540 @@ -2068,8 +2066,8 @@ msgstr "" #: ../../distutils/apiref.rst:1546 msgid "" -"Do any platform-specific customization of a :class:`distutils.ccompiler." -"CCompiler` instance." +"Do any platform-specific customization of " +"a :class:`distutils.ccompiler.CCompiler` instance." msgstr "" #: ../../distutils/apiref.rst:1549 @@ -2128,17 +2126,17 @@ msgstr "" msgid "" ":class:`TextFile` instances are create with either *filename*, *file*, or " "both. :exc:`RuntimeError` is raised if both are ``None``. *filename* should " -"be a string, and *file* a file object (or something that provides :meth:" -"`readline` and :meth:`close` methods). It is recommended that you supply " -"at least *filename*, so that :class:`TextFile` can include it in warning " -"messages. If *file* is not supplied, :class:`TextFile` creates its own " -"using the :func:`open` built-in function." +"be a string, and *file* a file object (or something that " +"provides :meth:`readline` and :meth:`close` methods). It is recommended " +"that you supply at least *filename*, so that :class:`TextFile` can include " +"it in warning messages. If *file* is not supplied, :class:`TextFile` " +"creates its own using the :func:`open` built-in function." msgstr "" #: ../../distutils/apiref.rst:1601 msgid "" -"The options are all boolean, and affect the values returned by :meth:" -"`readline`" +"The options are all boolean, and affect the values returned " +"by :meth:`readline`" msgstr "" #: ../../distutils/apiref.rst:1606 @@ -2224,10 +2222,10 @@ msgstr "" #: ../../distutils/apiref.rst:1650 msgid "" "Note that since *rstrip_ws* can strip the trailing newline, the semantics " -"of :meth:`readline` must differ from those of the built-in file object's :" -"meth:`readline` method! In particular, :meth:`readline` returns ``None`` " -"for end-of-file: an empty string might just be a blank line (or an all-" -"whitespace line), if *rstrip_ws* is true but *skip_blanks* is not." +"of :meth:`readline` must differ from those of the built-in file " +"object's :meth:`readline` method! In particular, :meth:`readline` returns " +"``None`` for end-of-file: an empty string might just be a blank line (or an " +"all-whitespace line), if *rstrip_ws* is true but *skip_blanks* is not." msgstr "" #: ../../distutils/apiref.rst:1659 @@ -2255,13 +2253,13 @@ msgstr "" #: ../../distutils/apiref.rst:1681 msgid "" "Read and return a single logical line from the current file (or from an " -"internal buffer if lines have previously been \"unread\" with :meth:" -"`unreadline`). If the *join_lines* option is true, this may involve " -"reading multiple physical lines concatenated into a single string. Updates " -"the current line number, so calling :meth:`warn` after :meth:`readline` " -"emits a warning about the physical line(s) just read. Returns ``None`` on " -"end-of-file, since the empty string can occur if *rstrip_ws* is true but " -"*strip_blanks* is not." +"internal buffer if lines have previously been \"unread\" " +"with :meth:`unreadline`). If the *join_lines* option is true, this may " +"involve reading multiple physical lines concatenated into a single string. " +"Updates the current line number, so calling :meth:`warn` " +"after :meth:`readline` emits a warning about the physical line(s) just " +"read. Returns ``None`` on end-of-file, since the empty string can occur if " +"*rstrip_ws* is true but *strip_blanks* is not." msgstr "" #: ../../distutils/apiref.rst:1692 @@ -2274,11 +2272,11 @@ msgstr "" msgid "" "Push *line* (a string) onto an internal buffer that will be checked by " "future :meth:`readline` calls. Handy for implementing a parser with line-at-" -"a-time lookahead. Note that lines that are \"unread\" with :meth:" -"`unreadline` are not subsequently re-cleansed (whitespace stripped, or " -"whatever) when read with :meth:`readline`. If multiple calls are made to :" -"meth:`unreadline` before a call to :meth:`readline`, the lines will be " -"returned most in most recent first order." +"a-time lookahead. Note that lines that are \"unread\" " +"with :meth:`unreadline` are not subsequently re-cleansed (whitespace " +"stripped, or whatever) when read with :meth:`readline`. If multiple calls " +"are made to :meth:`unreadline` before a call to :meth:`readline`, the lines " +"will be returned most in most recent first order." msgstr "" #: ../../distutils/apiref.rst:1707 @@ -2298,8 +2296,8 @@ msgid "" "Abstract base class for defining command classes, the \"worker bees\" of the " "Distutils. A useful analogy for command classes is to think of them as " "subroutines with local variables called *options*. The options are declared " -"in :meth:`initialize_options` and defined (given their final values) in :" -"meth:`finalize_options`, both of which must be defined by every command " +"in :meth:`initialize_options` and defined (given their final values) " +"in :meth:`finalize_options`, both of which must be defined by every command " "class. The distinction between the two is necessary because option values " "might come from the outside world (command line, config file, ...), and any " "options dependent on other options must be computed after these outside " @@ -2311,8 +2309,8 @@ msgstr "" #: ../../distutils/apiref.rst:1747 msgid "" -"The class constructor takes a single argument *dist*, a :class:`~distutils." -"core.Distribution` instance." +"The class constructor takes a single argument *dist*, " +"a :class:`~distutils.core.Distribution` instance." msgstr "" #: ../../distutils/apiref.rst:1752 @@ -2326,14 +2324,15 @@ msgstr "" #: ../../distutils/apiref.rst:1756 msgid "" "A new command lives in a module in the :mod:`distutils.command` package. " -"There is a sample template in that directory called :file:" -"`command_template`. Copy this file to a new module with the same name as " -"the new command you're implementing. This module should implement a class " -"with the same name as the module (and the command). So, for instance, to " -"create the command ``peel_banana`` (so that users can run ``setup.py " -"peel_banana``), you'd copy :file:`command_template` to :file:`distutils/" -"command/peel_banana.py`, then edit it so that it's implementing the class :" -"class:`peel_banana`, a subclass of :class:`distutils.cmd.Command`." +"There is a sample template in that directory " +"called :file:`command_template`. Copy this file to a new module with the " +"same name as the new command you're implementing. This module should " +"implement a class with the same name as the module (and the command). So, " +"for instance, to create the command ``peel_banana`` (so that users can run " +"``setup.py peel_banana``), you'd copy :file:`command_template` " +"to :file:`distutils/command/peel_banana.py`, then edit it so that it's " +"implementing the class :class:`peel_banana`, a subclass " +"of :class:`distutils.cmd.Command`." msgstr "" #: ../../distutils/apiref.rst:1766 @@ -2345,9 +2344,9 @@ msgid "" "Set default values for all the options that this command supports. Note " "that these defaults may be overridden by other commands, by the setup " "script, by config files, or by the command-line. Thus, this is not the " -"place to code dependencies between options; generally, :meth:" -"`initialize_options` implementations are just a bunch of ``self.foo = None`` " -"assignments." +"place to code dependencies between options; " +"generally, :meth:`initialize_options` implementations are just a bunch of " +"``self.foo = None`` assignments." msgstr "" #: ../../distutils/apiref.rst:1779 @@ -2440,8 +2439,8 @@ msgstr "" msgid "" "Alternative implementation of build_py which also runs the 2to3 conversion " "library on each .py file that is going to be installed. To use this in a " -"setup.py file for a distribution that is designed to run with both Python 2." -"x and 3.x, add::" +"setup.py file for a distribution that is designed to run with both Python " +"2.x and 3.x, add::" msgstr "" #: ../../distutils/apiref.rst:1926 diff --git a/distutils/builtdist.po b/distutils/builtdist.po index 36bf671e7..b4e635130 100644 --- a/distutils/builtdist.po +++ b/distutils/builtdist.po @@ -1,31 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 -# i17obot , 2021 -# Danilo Lima , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,9 +35,9 @@ msgid "" "independently covers all of the relevant information currently included here." msgstr "" "Este documento está sendo mantido apenas até que a documentação do " -"``setuptools`` em https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra independentemente todas as informações relevantes atualmente " -"incluídas aqui." +"``setuptools`` em https://setuptools.readthedocs.io/en/latest/" +"setuptools.html cubra independentemente todas as informações relevantes " +"atualmente incluídas aqui." #: ../../distutils/builtdist.rst:9 msgid "" @@ -98,10 +93,10 @@ msgstr "" #: ../../distutils/builtdist.rst:46 msgid "" -"Thus, the above command on a Unix system creates :file:`Distutils-1.0.{plat}." -"tar.gz`; unpacking this tarball from the right place installs the Distutils " -"just as though you had downloaded the source distribution and run ``python " -"setup.py install``. (The \"right place\" is either the root of the " +"Thus, the above command on a Unix system creates :file:`Distutils-1.0." +"{plat}.tar.gz`; unpacking this tarball from the right place installs the " +"Distutils just as though you had downloaded the source distribution and run " +"``python setup.py install``. (The \"right place\" is either the root of the " "filesystem or Python's :file:`{prefix}` directory, depending on the options " "given to the :command:`bdist_dumb` command; the default is to make dumb " "distributions relative to :file:`{prefix}`.)" @@ -281,11 +276,11 @@ msgid "" "You don't have to use the :command:`bdist` command with the :option:`!--" "formats` option; you can also use the command that directly implements the " "format you're interested in. Some of these :command:`bdist` \"sub-" -"commands\" actually generate several similar formats; for instance, the :" -"command:`bdist_dumb` command generates all the \"dumb\" archive formats " -"(``tar``, ``gztar``, ``bztar``, ``xztar``, ``ztar``, and ``zip``), and :" -"command:`bdist_rpm` generates both binary and source RPMs. The :command:" -"`bdist` sub-commands, and the formats generated by each, are:" +"commands\" actually generate several similar formats; for instance, " +"the :command:`bdist_dumb` command generates all the \"dumb\" archive formats " +"(``tar``, ``gztar``, ``bztar``, ``xztar``, ``ztar``, and ``zip``), " +"and :command:`bdist_rpm` generates both binary and source RPMs. " +"The :command:`bdist` sub-commands, and the formats generated by each, are:" msgstr "" #: ../../distutils/builtdist.rst:135 @@ -335,8 +330,8 @@ msgstr "" #: ../../distutils/builtdist.rst:167 msgid "" -"The usual way to create an RPM of your module distribution is to run the :" -"command:`bdist_rpm` command::" +"The usual way to create an RPM of your module distribution is to run " +"the :command:`bdist_rpm` command::" msgstr "" #: ../../distutils/builtdist.rst:172 @@ -354,11 +349,12 @@ msgstr "" #: ../../distutils/builtdist.rst:182 msgid "" "Creating RPM packages is driven by a :file:`.spec` file, much as using the " -"Distutils is driven by the setup script. To make your life easier, the :" -"command:`bdist_rpm` command normally creates a :file:`.spec` file based on " -"the information you supply in the setup script, on the command line, and in " -"any Distutils configuration files. Various options and sections in the :" -"file:`.spec` file are derived from options in the setup script as follows:" +"Distutils is driven by the setup script. To make your life easier, " +"the :command:`bdist_rpm` command normally creates a :file:`.spec` file based " +"on the information you supply in the setup script, on the command line, and " +"in any Distutils configuration files. Various options and sections in " +"the :file:`.spec` file are derived from options in the setup script as " +"follows:" msgstr "" #: ../../distutils/builtdist.rst:190 ../../distutils/builtdist.rst:214 @@ -488,7 +484,7 @@ msgstr "``packager``" #: ../../distutils/builtdist.rst:231 ../../distutils/builtdist.rst:233 #: ../../distutils/builtdist.rst:235 ../../distutils/builtdist.rst:237 msgid "(none)" -msgstr "" +msgstr "(nenhuma)" #: ../../distutils/builtdist.rst:225 msgid "Provides" @@ -554,8 +550,8 @@ msgid "" "If you distribute or package many Python module distributions, you might " "want to put options that apply to all of them in your personal Distutils " "configuration file (:file:`~/.pydistutils.cfg`). If you want to temporarily " -"disable this file, you can pass the :option:`!--no-user-cfg` option to :file:" -"`setup.py`." +"disable this file, you can pass the :option:`!--no-user-cfg` option " +"to :file:`setup.py`." msgstr "" #: ../../distutils/builtdist.rst:248 @@ -589,13 +585,13 @@ msgstr "" #: ../../distutils/builtdist.rst:263 msgid "" -"If you wish, you can separate these three steps. You can use the :option:" -"`!--spec-only` option to make :command:`bdist_rpm` just create the :file:`." -"spec` file and exit; in this case, the :file:`.spec` file will be written to " -"the \"distribution directory\"---normally :file:`dist/`, but customizable " -"with the :option:`!--dist-dir` option. (Normally, the :file:`.spec` file " -"winds up deep in the \"build tree,\" in a temporary directory created by :" -"command:`bdist_rpm`.)" +"If you wish, you can separate these three steps. You can use " +"the :option:`!--spec-only` option to make :command:`bdist_rpm` just create " +"the :file:`.spec` file and exit; in this case, the :file:`.spec` file will " +"be written to the \"distribution directory\"---normally :file:`dist/`, but " +"customizable with the :option:`!--dist-dir` option. (Normally, " +"the :file:`.spec` file winds up deep in the \"build tree,\" in a temporary " +"directory created by :command:`bdist_rpm`.)" msgstr "" #: ../../distutils/builtdist.rst:291 @@ -714,6 +710,6 @@ msgid "" "specifies the command line arguments, if any. *workdir* is the working " "directory for the program. *iconpath* is the file containing the icon for " "the shortcut, and *iconindex* is the index of the icon in the file " -"*iconpath*. Again, for details consult the Microsoft documentation for the :" -"class:`IShellLink` interface." +"*iconpath*. Again, for details consult the Microsoft documentation for " +"the :class:`IShellLink` interface." msgstr "" diff --git a/distutils/commandref.po b/distutils/commandref.po index 66c8b33e2..3125bd804 100644 --- a/distutils/commandref.po +++ b/distutils/commandref.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Danilo Lima , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Danilo Lima , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -36,9 +34,9 @@ msgid "" "independently covers all of the relevant information currently included here." msgstr "" "Este documento está sendo mantido apenas até que a documentação do " -"``setuptools`` em https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra independentemente todas as informações relevantes atualmente " -"incluídas aqui." +"``setuptools`` em https://setuptools.readthedocs.io/en/latest/" +"setuptools.html cubra independentemente todas as informações relevantes " +"atualmente incluídas aqui." #: ../../distutils/commandref.rst:24 msgid "Installing modules: the :command:`install` command family" @@ -47,12 +45,13 @@ msgstr "Instalando módulos modules: a família de comandos :command:`install`" #: ../../distutils/commandref.rst:26 msgid "" "The install command ensures that the build commands have been run and then " -"runs the subcommands :command:`install_lib`, :command:`install_data` and :" -"command:`install_scripts`." +"runs the subcommands :command:`install_lib`, :command:`install_data` " +"and :command:`install_scripts`." msgstr "" "O comando de instalação garante que os comandos de compilação tenha sido " -"executado e, então, executa os subcomandos :command:`install_lib`, :command:" -"`install_data` e :command:`install_scripts`." +"executado e, então, executa os " +"subcomandos :command:`install_lib`, :command:`install_data` " +"e :command:`install_scripts`." #: ../../distutils/commandref.rst:37 msgid ":command:`install_data`" diff --git a/distutils/configfile.po b/distutils/configfile.po index 15dfef1a1..72113b072 100644 --- a/distutils/configfile.po +++ b/distutils/configfile.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,9 +34,9 @@ msgid "" "independently covers all of the relevant information currently included here." msgstr "" "Este documento está sendo mantido apenas até que a documentação do " -"``setuptools`` em https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra independentemente todas as informações relevantes atualmente " -"incluídas aqui." +"``setuptools`` em https://setuptools.readthedocs.io/en/latest/" +"setuptools.html cubra independentemente todas as informações relevantes " +"atualmente incluídas aqui." #: ../../distutils/configfile.rst:9 msgid "" @@ -45,11 +44,11 @@ msgid "" "distribution *a priori*: you may need to get some information from the user, " "or from the user's system, in order to proceed. As long as that information " "is fairly simple---a list of directories to search for C header files or " -"libraries, for example---then providing a configuration file, :file:`setup." -"cfg`, for users to edit is a cheap and easy way to solicit it. " -"Configuration files also let you provide default values for any command " -"option, which the installer can then override either on the command-line or " -"by editing the config file." +"libraries, for example---then providing a configuration " +"file, :file:`setup.cfg`, for users to edit is a cheap and easy way to " +"solicit it. Configuration files also let you provide default values for any " +"command option, which the installer can then override either on the command-" +"line or by editing the config file." msgstr "" "Frequentemente, não é possível escrever tudo o que é necessário para " "construir uma distribuição *a priori*: você pode precisar obter algumas " @@ -83,11 +82,11 @@ msgstr "" #: ../../distutils/configfile.rst:32 msgid "" -"installers can override some of what you put in :file:`setup.py` by editing :" -"file:`setup.cfg`" +"installers can override some of what you put in :file:`setup.py` by " +"editing :file:`setup.cfg`" msgstr "" -"os instaladores podem substituir parte do que você colocou em :file:`setup." -"py` editando :file:`setup.cfg`" +"os instaladores podem substituir parte do que você colocou " +"em :file:`setup.py` editando :file:`setup.cfg`" #: ../../distutils/configfile.rst:35 msgid "" @@ -111,21 +110,22 @@ msgstr "A sintaxe básica do arquivo de configuração é simples:" #: ../../distutils/configfile.rst:49 msgid "" -"where *command* is one of the Distutils commands (e.g. :command:`build_py`, :" -"command:`install`), and *option* is one of the options that command " -"supports. Any number of options can be supplied for each command, and any " -"number of command sections can be included in the file. Blank lines are " -"ignored, as are comments, which run from a ``'#'`` character until the end " -"of the line. Long option values can be split across multiple lines simply " -"by indenting the continuation lines." -msgstr "" -"sendo *command* um dos comandos Distutils (por exemplo :command:`build_py`, :" -"command:`install`) e *option* uma das opções as quais o comando tem suporte. " -"Qualquer número de opções pode ser fornecido para cada comando e qualquer " -"número de seções de comando pode ser incluído no arquivo. As linhas em " -"branco são ignoradas, assim como os comentários, que vão de um caractere " -"``'#'`` até o final da linha. Valores de opção longas podem ser divididos em " -"várias linhas simplesmente indentando as linhas de continuação." +"where *command* is one of the Distutils commands " +"(e.g. :command:`build_py`, :command:`install`), and *option* is one of the " +"options that command supports. Any number of options can be supplied for " +"each command, and any number of command sections can be included in the " +"file. Blank lines are ignored, as are comments, which run from a ``'#'`` " +"character until the end of the line. Long option values can be split across " +"multiple lines simply by indenting the continuation lines." +msgstr "" +"sendo *command* um dos comandos Distutils (por " +"exemplo :command:`build_py`, :command:`install`) e *option* uma das opções " +"as quais o comando tem suporte. Qualquer número de opções pode ser fornecido " +"para cada comando e qualquer número de seções de comando pode ser incluído " +"no arquivo. As linhas em branco são ignoradas, assim como os comentários, " +"que vão de um caractere ``'#'`` até o final da linha. Valores de opção " +"longas podem ser divididos em várias linhas simplesmente indentando as " +"linhas de continuação." #: ../../distutils/configfile.rst:57 msgid "" @@ -155,9 +155,9 @@ msgstr "" "Por exemplo, digamos que você queira que suas extensões sejam construídas " "\"localmente\" -- isto é, você tem uma extensão :mod:`pkg.ext`, e deseja o " "arquivo de extensão compilado (:file:`ext.so` no Unix, digamos) para serem " -"colocados no mesmo diretório fonte de seus módulos Python puros :mod:`pkg." -"mod1` e :mod:`pkg.mod2`. Você sempre pode usar a opção :option:`!--inplace` " -"na linha de comando para garantir isso:" +"colocados no mesmo diretório fonte de seus módulos Python " +"puros :mod:`pkg.mod1` e :mod:`pkg.mod2`. Você sempre pode usar a " +"opção :option:`!--inplace` na linha de comando para garantir isso:" #: ../../distutils/configfile.rst:90 msgid "" @@ -168,8 +168,8 @@ msgid "" msgstr "" "Mas isso requer que você sempre especifique o comando :command:`build_ext` " "explicitamente, e que lembre-se de fornecer :option:`!--inplace`. Uma " -"maneira mais fácil é \"definir e esquecer\" esta opção, codificando-a em :" -"file:`setup.cfg`, o arquivo de configuração para esta distribuição:" +"maneira mais fácil é \"definir e esquecer\" esta opção, codificando-a " +"em :file:`setup.cfg`, o arquivo de configuração para esta distribuição:" #: ../../distutils/configfile.rst:100 msgid "" @@ -184,8 +184,8 @@ msgid "" "always a bad idea, though.)" msgstr "" "Isso afetará todas as construções desta distribuição de módulo, quer você " -"especifique explicitamente ou não :command:`build_ext`. Se você incluir um :" -"file:`setup.cfg` em sua distribuição fonte, isso também afetará as " +"especifique explicitamente ou não :command:`build_ext`. Se você incluir " +"um :file:`setup.cfg` em sua distribuição fonte, isso também afetará as " "construções do usuário final -- o que provavelmente é uma má ideia para esta " "opção, já que sempre construir extensões localmente interromperia a " "instalação da distribuição de módulo. Em certos casos peculiares, porém, os " @@ -210,10 +210,10 @@ msgstr "" "o que é necessário para gerar um arquivo \"spec\" para criar uma " "distribuição RPM. Algumas dessas informações vêm do script de configuração e " "outras são geradas automaticamente pelo Distutils (como a lista de arquivos " -"instalados). Mas algumas delas devem ser fornecidas como opções para :" -"command:`bdist_rpm`, o que seria muito tedioso de fazer na linha de comando " -"para cada execução. Portanto, aqui está um trecho de código do :file:`setup." -"cfg` do próprio Distutils:" +"instalados). Mas algumas delas devem ser fornecidas como opções " +"para :command:`bdist_rpm`, o que seria muito tedioso de fazer na linha de " +"comando para cada execução. Portanto, aqui está um trecho de código " +"do :file:`setup.cfg` do próprio Distutils:" #: ../../distutils/configfile.rst:129 msgid "" diff --git a/distutils/examples.po b/distutils/examples.po index f8d8c7806..b70352206 100644 --- a/distutils/examples.po +++ b/distutils/examples.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Richard Nixon , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Richard Nixon , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,9 +34,9 @@ msgid "" "independently covers all of the relevant information currently included here." msgstr "" "Este documento está sendo mantido apenas até que a documentação do " -"``setuptools`` em https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra independentemente todas as informações relevantes atualmente " -"incluídas aqui." +"``setuptools`` em https://setuptools.readthedocs.io/en/latest/" +"setuptools.html cubra independentemente todas as informações relevantes " +"atualmente incluídas aqui." #: ../../distutils/examples.rst:9 msgid "" @@ -80,8 +79,8 @@ msgid "" "and the single module you're distributing, :file:`foo.py` in this example::" msgstr "" "No caso mais simples, você terá dois arquivos com os quais se preocupar: um " -"script de instalação e o único módulo que você está distribuindo :file:`foo." -"py` neste exemplo::" +"script de instalação e o único módulo que você está " +"distribuindo :file:`foo.py` neste exemplo::" #: ../../distutils/examples.rst:36 msgid "" @@ -114,8 +113,8 @@ msgid "" "might look like this::" msgstr "" "Como ``py_modules`` é uma lista, é claro que você pode especificar vários " -"módulos, por exemplo. se você estiver distribuindo os módulos :mod:`foo` e :" -"mod:`bar`, sua configuração poderá ser assim::" +"módulos, por exemplo. se você estiver distribuindo os módulos :mod:`foo` " +"e :mod:`bar`, sua configuração poderá ser assim::" #: ../../distutils/examples.rst:60 msgid "and the setup script might be ::" @@ -149,8 +148,8 @@ msgstr "" "pacotes inteiros do que módulos individuais. Isso funciona mesmo que seus " "módulos não estejam em um pacote; você pode simplesmente dizer ao Distutils " "para processar os módulos do pacote raiz, e isso funciona da mesma forma que " -"em qualquer outro pacote (exceto que você não precisa ter um arquivo :file:" -"`__init__.py`)." +"em qualquer outro pacote (exceto que você não precisa ter um " +"arquivo :file:`__init__.py`)." #: ../../distutils/examples.rst:85 msgid "The setup script from the last example could also be written as ::" @@ -180,14 +179,14 @@ msgstr "" #: ../../distutils/examples.rst:113 msgid "" "More typically, though, you will want to distribute multiple modules in the " -"same package (or in sub-packages). For example, if the :mod:`foo` and :mod:" -"`bar` modules belong in package :mod:`foobar`, one way to layout your source " -"tree is ::" +"same package (or in sub-packages). For example, if the :mod:`foo` " +"and :mod:`bar` modules belong in package :mod:`foobar`, one way to layout " +"your source tree is ::" msgstr "" "Mais tipicamente, porém, você deseja distribuir vários módulos no mesmo " -"pacote (ou em subpacotes). Por exemplo, se os módulos :mod:`foo` e :mod:" -"`bar` pertencem ao pacote :mod:`foobar`, uma maneira de fazer o layout da " -"sua árvore de fontes é ::" +"pacote (ou em subpacotes). Por exemplo, se os módulos :mod:`foo` " +"e :mod:`bar` pertencem ao pacote :mod:`foobar`, uma maneira de fazer o " +"layout da sua árvore de fontes é ::" #: ../../distutils/examples.rst:125 msgid "" @@ -200,8 +199,8 @@ msgstr "" #: ../../distutils/examples.rst:134 msgid "" "If you want to put modules in directories not named for their package, then " -"you need to use the ``package_dir`` option again. For example, if the :file:" -"`src` directory holds modules in the :mod:`foobar` package::" +"you need to use the ``package_dir`` option again. For example, if " +"the :file:`src` directory holds modules in the :mod:`foobar` package::" msgstr "" "Se você quiser colocar módulos em diretórios não nomeados para o pacote, " "precisará usar a opção ``package_dir`` novamente. Por exemplo, se o " @@ -232,8 +231,9 @@ msgid "" "If you have sub-packages, they must be explicitly listed in ``packages``, " "but any entries in ``package_dir`` automatically extend to sub-packages. (In " "other words, the Distutils does *not* scan your source tree, trying to " -"figure out which directories correspond to Python packages by looking for :" -"file:`__init__.py` files.) Thus, if the default layout grows a sub-package::" +"figure out which directories correspond to Python packages by looking " +"for :file:`__init__.py` files.) Thus, if the default layout grows a sub-" +"package::" msgstr "" "Se você possui subpacotes, eles devem ser listados explicitamente em " "``packages``, mas qualquer entrada em ``package_dir`` se estende " @@ -277,8 +277,8 @@ msgstr "" #: ../../distutils/examples.rst:225 msgid "" -"With exactly the same source tree layout, this extension can be put in the :" -"mod:`foopkg` package simply by changing the name of the extension::" +"With exactly the same source tree layout, this extension can be put in " +"the :mod:`foopkg` package simply by changing the name of the extension::" msgstr "" "Com exatamente o mesmo layout da árvore de fontes, esta extensão pode ser " "colocada no pacote :mod:`foopkg` simplesmente alterando o nome da extensão::" @@ -349,32 +349,35 @@ msgstr "" #: ../../distutils/examples.rst:302 msgid "" -"This call reads the ``name`` metadata by running the :func:`distutils.core." -"setup` function. Although, when a source or binary distribution is created " -"with Distutils, the metadata fields are written in a static file called :" -"file:`PKG-INFO`. When a Distutils-based project is installed in Python, the :" -"file:`PKG-INFO` file is copied alongside the modules and packages of the " -"distribution under :file:`NAME-VERSION-pyX.X.egg-info`, where ``NAME`` is " -"the name of the project, ``VERSION`` its version as defined in the Metadata, " -"and ``pyX.X`` the major and minor version of Python like ``2.7`` or ``3.2``." -msgstr "" -"Essa chamada lê os metadados ``name`` executando a função :func:`distutils." -"core.setup`. Embora, quando uma distribuição de origem ou binária é criada " -"com o Distutils, os campos de metadados sejam gravados em um arquivo " -"estático chamado :file:`PKG-INFO`. Quando um projeto baseado no Distutils é " -"instalado no Python, o arquivo :file:`PKG-INFO` é copiado juntamente com os " -"módulos e pacotes da distribuição em :file:`NOME-VERSÃO-pyX.X.egg-info`, em " -"que ``NOME`` é o nome do projeto, ``VERSÃO`` sua versão conforme definida " -"nos metadados e ``pyX.X`` a versão principal e secundária do Python, como " -"``2.7`` ou ``3.2``." +"This call reads the ``name`` metadata by running " +"the :func:`distutils.core.setup` function. Although, when a source or " +"binary distribution is created with Distutils, the metadata fields are " +"written in a static file called :file:`PKG-INFO`. When a Distutils-based " +"project is installed in Python, the :file:`PKG-INFO` file is copied " +"alongside the modules and packages of the distribution under :file:`NAME-" +"VERSION-pyX.X.egg-info`, where ``NAME`` is the name of the project, " +"``VERSION`` its version as defined in the Metadata, and ``pyX.X`` the major " +"and minor version of Python like ``2.7`` or ``3.2``." +msgstr "" +"Essa chamada lê os metadados ``name`` executando a " +"função :func:`distutils.core.setup`. Embora, quando uma distribuição de " +"origem ou binária é criada com o Distutils, os campos de metadados sejam " +"gravados em um arquivo estático chamado :file:`PKG-INFO`. Quando um projeto " +"baseado no Distutils é instalado no Python, o arquivo :file:`PKG-INFO` é " +"copiado juntamente com os módulos e pacotes da distribuição em :file:`NOME-" +"VERSÃO-pyX.X.egg-info`, em que ``NOME`` é o nome do projeto, ``VERSÃO`` sua " +"versão conforme definida nos metadados e ``pyX.X`` a versão principal e " +"secundária do Python, como ``2.7`` ou ``3.2``." #: ../../distutils/examples.rst:312 msgid "" -"You can read back this static file, by using the :class:`distutils.dist." -"DistributionMetadata` class and its :func:`read_pkg_file` method::" +"You can read back this static file, by using " +"the :class:`distutils.dist.DistributionMetadata` class and " +"its :func:`read_pkg_file` method::" msgstr "" -"Você pode ler novamente esse arquivo estático usando a classe :class:" -"`distutils.dist.DistributionMetadata` e seu método :func:`read_pkg_file`::" +"Você pode ler novamente esse arquivo estático usando a " +"classe :class:`distutils.dist.DistributionMetadata` e seu " +"método :func:`read_pkg_file`::" #: ../../distutils/examples.rst:326 msgid "" diff --git a/distutils/extending.po b/distutils/extending.po index ac00d3d50..125218115 100644 --- a/distutils/extending.po +++ b/distutils/extending.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-07 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,9 +34,9 @@ msgid "" "independently covers all of the relevant information currently included here." msgstr "" "Este documento está sendo mantido apenas até que a documentação do " -"``setuptools`` em https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra independentemente todas as informações relevantes atualmente " -"incluídas aqui." +"``setuptools`` em https://setuptools.readthedocs.io/en/latest/" +"setuptools.html cubra independentemente todas as informações relevantes " +"atualmente incluídas aqui." #: ../../distutils/extending.rst:9 msgid "" @@ -61,25 +60,25 @@ msgid "" "that should be copied into packages in addition to :file:`.py` files as a " "convenience." msgstr "" -"A maioria das extensões dos distutils é feita dentro de scripts :file:`setup." -"py` que desejam modificar comandos existentes; muitos simplesmente adicionam " -"algumas extensões de arquivo que devem ser copiadas em pacotes, além de :" -"file:`.py` como uma conveniência." +"A maioria das extensões dos distutils é feita dentro de " +"scripts :file:`setup.py` que desejam modificar comandos existentes; muitos " +"simplesmente adicionam algumas extensões de arquivo que devem ser copiadas " +"em pacotes, além de :file:`.py` como uma conveniência." #: ../../distutils/extending.rst:20 msgid "" -"Most distutils command implementations are subclasses of the :class:" -"`distutils.cmd.Command` class. New commands may directly inherit from :" -"class:`Command`, while replacements often derive from :class:`Command` " +"Most distutils command implementations are subclasses of " +"the :class:`distutils.cmd.Command` class. New commands may directly inherit " +"from :class:`Command`, while replacements often derive from :class:`Command` " "indirectly, directly subclassing the command they are replacing. Commands " "are required to derive from :class:`Command`." msgstr "" -"A maioria das implementações de comando distutils são subclasses da classe :" -"class:`distutils.cmd.Command`. Novos comandos podem herdar diretamente de :" -"class:`Command`, enquanto substituições geralmente derivam de :class:" -"`Command` indiretamente, criando subclasses diretamente do comando que eles " -"estão substituindo. Os comandos são necessários para derivar de :class:" -"`Command`." +"A maioria das implementações de comando distutils são subclasses da " +"classe :class:`distutils.cmd.Command`. Novos comandos podem herdar " +"diretamente de :class:`Command`, enquanto substituições geralmente derivam " +"de :class:`Command` indiretamente, criando subclasses diretamente do comando " +"que eles estão substituindo. Os comandos são necessários para derivar " +"de :class:`Command`." #: ../../distutils/extending.rst:35 msgid "Integrating new commands" @@ -104,8 +103,9 @@ msgid "" "the :func:`distutils.core.setup` function use them::" msgstr "" "O mais comum, e possivelmente o mais razoável para a maioria das " -"necessidades, é incluir as novas implementações com o script :file:`setup." -"py` e fazer com que a função :func:`distutils.core.setup` use-as::" +"necessidades, é incluir as novas implementações com o " +"script :file:`setup.py` e fazer com que a " +"função :func:`distutils.core.setup` use-as::" #: ../../distutils/extending.rst:57 msgid "" @@ -139,10 +139,10 @@ msgstr "" "scripts :file:`setup.py` existentes sem exigir modificações na instalação do " "Python. Espera-se que isso permita que extensões de terceiros forneçam " "suporte a sistemas de empacotamento adicionais, mas os comandos podem ser " -"usados ​​para qualquer coisa em que os comandos distutils possam ser usados. " +"usados para qualquer coisa em que os comandos distutils possam ser usados. " "Uma nova opção de configuração, ``command_packages`` (opção da linha de " "comando :option:`!--command-packages`), pode ser usada para especificar " -"pacotes adicionais a serem pesquisados ​​por módulos que implementam comandos. " +"pacotes adicionais a serem pesquisados por módulos que implementam comandos. " "Como todas as opções do distutils, isso pode ser especificado na linha de " "comando ou em um arquivo de configuração. Esta opção só pode ser definida na " "seção ``[global]`` de um arquivo de configuração ou antes de qualquer " @@ -157,26 +157,28 @@ msgid "" "packages searched for command implementations; multiple package names should " "be separated by commas. When not specified, the search is only performed in " "the :mod:`distutils.command` package. When :file:`setup.py` is run with the " -"option ``--command-packages distcmds,buildcmds``, however, the packages :mod:" -"`distutils.command`, :mod:`distcmds`, and :mod:`buildcmds` will be searched " -"in that order. New commands are expected to be implemented in modules of " -"the same name as the command by classes sharing the same name. Given the " -"example command line option above, the command :command:`bdist_openpkg` " -"could be implemented by the class :class:`distcmds.bdist_openpkg." -"bdist_openpkg` or :class:`buildcmds.bdist_openpkg.bdist_openpkg`." +"option ``--command-packages distcmds,buildcmds``, however, the " +"packages :mod:`distutils.command`, :mod:`distcmds`, and :mod:`buildcmds` " +"will be searched in that order. New commands are expected to be implemented " +"in modules of the same name as the command by classes sharing the same " +"name. Given the example command line option above, the " +"command :command:`bdist_openpkg` could be implemented by the " +"class :class:`distcmds.bdist_openpkg.bdist_openpkg` " +"or :class:`buildcmds.bdist_openpkg.bdist_openpkg`." msgstr "" "Esta nova opção pode ser usada para adicionar qualquer número de pacotes à " "lista de pacotes pesquisados para implementações de comandos; vários nomes " "de pacotes devem ser separados por vírgulas. Quando não especificada, a " -"pesquisa é realizada apenas no pacote :mod:`distutils.command`. Quando :file:" -"`setup.py` é executado com a opção ``--command-packages distcmds," -"buildcmds``, no entanto, os pacotes :mod:`distutils.command`, :mod:" -"`distcmds` e :mod:`buildcmds` será pesquisado nessa ordem. Espera-se que " -"novos comandos sejam implementados em módulos com o mesmo nome que o comando " -"por classes que compartilham o mesmo nome. Dada a opção de linha de comando " -"de exemplo acima, o comando :command:`bdist_openpkg` pode ser implementado " -"pela classe :class:`distcmds.bdist_openpkg.bdist_openpkg` ou :class:" -"`buildcmds.bdist_openpkg.bdist_openpkg`." +"pesquisa é realizada apenas no pacote :mod:`distutils.command`. " +"Quando :file:`setup.py` é executado com a opção ``--command-packages " +"distcmds,buildcmds``, no entanto, os " +"pacotes :mod:`distutils.command`, :mod:`distcmds` e :mod:`buildcmds` será " +"pesquisado nessa ordem. Espera-se que novos comandos sejam implementados em " +"módulos com o mesmo nome que o comando por classes que compartilham o mesmo " +"nome. Dada a opção de linha de comando de exemplo acima, o " +"comando :command:`bdist_openpkg` pode ser implementado pela " +"classe :class:`distcmds.bdist_openpkg.bdist_openpkg` " +"ou :class:`buildcmds.bdist_openpkg.bdist_openpkg`." #: ../../distutils/extending.rst:90 msgid "Adding new distribution types" @@ -185,15 +187,15 @@ msgstr "Adicionando novos tipos de distribuição" #: ../../distutils/extending.rst:92 msgid "" "Commands that create distributions (files in the :file:`dist/` directory) " -"need to add ``(command, filename)`` pairs to ``self.distribution." -"dist_files`` so that :command:`upload` can upload it to PyPI. The " -"*filename* in the pair contains no path information, only the name of the " -"file itself. In dry-run mode, pairs should still be added to represent what " -"would have been created." +"need to add ``(command, filename)`` pairs to " +"``self.distribution.dist_files`` so that :command:`upload` can upload it to " +"PyPI. The *filename* in the pair contains no path information, only the " +"name of the file itself. In dry-run mode, pairs should still be added to " +"represent what would have been created." msgstr "" "Os comandos que criam distribuições (arquivos no diretório :file:`dist/`) " -"precisam adicionar pares ``(command, filename)`` ao ``self.distribution." -"dist_files`` para que :command:`upload` possa ser carregado para o PyPI. O " -"*nome do arquivo* no par não contém informações de caminho, apenas o nome do " -"próprio arquivo. No modo de execução a seco, os pares ainda devem ser " -"adicionados para representar o que teria sido criado." +"precisam adicionar pares ``(command, filename)`` ao " +"``self.distribution.dist_files`` para que :command:`upload` possa ser " +"carregado para o PyPI. O *nome do arquivo* no par não contém informações de " +"caminho, apenas o nome do próprio arquivo. No modo de execução a seco, os " +"pares ainda devem ser adicionados para representar o que teria sido criado." diff --git a/distutils/index.po b/distutils/index.po index 3ff95f08d..93cd89088 100644 --- a/distutils/index.po +++ b/distutils/index.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -72,9 +70,9 @@ msgid "" "independently covers all of the relevant information currently included here." msgstr "" "Este documento está sendo mantido apenas até que a documentação do " -"``setuptools`` em https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra independentemente todas as informações relevantes atualmente " -"incluídas aqui." +"``setuptools`` em https://setuptools.readthedocs.io/en/latest/" +"setuptools.html cubra independentemente todas as informações relevantes " +"atualmente incluídas aqui." #: ../../distutils/index.rst:26 msgid "" diff --git a/distutils/introduction.po b/distutils/introduction.po index bbe8f058a..b607c6935 100644 --- a/distutils/introduction.po +++ b/distutils/introduction.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Bruno Caldas , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -37,16 +34,16 @@ msgid "" "independently covers all of the relevant information currently included here." msgstr "" "Este documento está sendo mantido apenas até que a documentação do " -"``setuptools`` em https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra independentemente todas as informações relevantes atualmente " -"incluídas aqui." +"``setuptools`` em https://setuptools.readthedocs.io/en/latest/" +"setuptools.html cubra independentemente todas as informações relevantes " +"atualmente incluídas aqui." #: ../../distutils/introduction.rst:9 msgid "" "This document covers using the Distutils to distribute your Python modules, " "concentrating on the role of developer/distributor: if you're looking for " -"information on installing Python modules, you should refer to the :ref:" -"`install-index` chapter." +"information on installing Python modules, you should refer to " +"the :ref:`install-index` chapter." msgstr "" "Este documento trata do uso do Distutils tornando possível a distribuição " "dos seus módulos Python, podendo assim, concentrar-se no seu papel de " @@ -180,8 +177,8 @@ msgid "" "script` for an example)" msgstr "" "é recomendável que você forneça um pouco mais de metadados, em particular " -"seu nome, endereço de e-mail e uma URL para o projeto (consulte a seção :ref:" -"`setup-script` por exemplo)" +"seu nome, endereço de e-mail e uma URL para o projeto (consulte a " +"seção :ref:`setup-script` por exemplo)" #: ../../distutils/introduction.rst:83 msgid "" @@ -210,8 +207,8 @@ msgid "" msgstr "" ":command:`sdist` criará um arquivo (por exemplo, tarball no Unix, arquivo " "ZIP no Windows) contendo seu script de instalação :file:`setup.py` e seu " -"módulo :file:`foo.py`. O arquivo será nomeado :file:`foo-1.0.tar.gz` (ou :" -"file:`.zip`) e será descompactado em um diretório :file:`foo-1.0`." +"módulo :file:`foo.py`. O arquivo será nomeado :file:`foo-1.0.tar.gz` " +"(ou :file:`.zip`) e será descompactado em um diretório :file:`foo-1.0`." #: ../../distutils/introduction.rst:99 msgid "" @@ -234,11 +231,11 @@ msgstr "" #: ../../distutils/introduction.rst:108 msgid "" "This simple example demonstrates some fundamental concepts of the Distutils. " -"First, both developers and installers have the same basic user interface, i." -"e. the setup script. The difference is which Distutils *commands* they use: " -"the :command:`sdist` command is almost exclusively for module developers, " -"while :command:`install` is more often for installers (although most " -"developers will want to install their own code occasionally)." +"First, both developers and installers have the same basic user interface, " +"i.e. the setup script. The difference is which Distutils *commands* they " +"use: the :command:`sdist` command is almost exclusively for module " +"developers, while :command:`install` is more often for installers (although " +"most developers will want to install their own code occasionally)." msgstr "" "Este exemplo simples demonstra alguns conceitos fundamentais dos Distutils. " "Primeiro, desenvolvedores e instaladores têm a mesma interface de usuário " @@ -250,16 +247,17 @@ msgstr "" #: ../../distutils/introduction.rst:115 msgid "" -"Other useful built distribution formats are RPM, implemented by the :command:" -"`bdist_rpm` command, Solaris :program:`pkgtool` (:command:`bdist_pkgtool`), " -"and HP-UX :program:`swinstall` (:command:`bdist_sdux`). For example, the " -"following command will create an RPM file called :file:`foo-1.0.noarch.rpm`::" +"Other useful built distribution formats are RPM, implemented by " +"the :command:`bdist_rpm` command, Solaris :program:`pkgtool` " +"(:command:`bdist_pkgtool`), and HP-UX :program:`swinstall` " +"(:command:`bdist_sdux`). For example, the following command will create an " +"RPM file called :file:`foo-1.0.noarch.rpm`::" msgstr "" "Outros formatos de distribuição úteis úteis são o RPM, implementado pelo " -"comando :command:`bdist_rpm`, :program:`pkgtool` do Solaris (:command:" -"`bdist_pkgtool`) e :program:`swinstall` do HP-UX (:command:`bdist_sdux`). " -"Por exemplo, o seguinte comando criará um arquivo RPM chamado :file:`foo-1.0." -"noarch.rpm`::" +"comando :command:`bdist_rpm`, :program:`pkgtool` do Solaris " +"(:command:`bdist_pkgtool`) e :program:`swinstall` do HP-UX " +"(:command:`bdist_sdux`). Por exemplo, o seguinte comando criará um arquivo " +"RPM chamado :file:`foo-1.0.noarch.rpm`::" #: ../../distutils/introduction.rst:123 msgid "" @@ -437,7 +435,7 @@ msgstr "" "uma distribuição de módulo que contém pelo menos um módulo de extensão. Às " "vezes chamada de \"distribuição não pura\"." -#: ../../distutils/introduction.rst:202 +#: ../../distutils/introduction.rst:204 msgid "distribution root" msgstr "distribution root (raiz da distribuição)" @@ -448,5 +446,5 @@ msgid "" "be run from this directory." msgstr "" "o diretório de nível superior de sua árvore de fontes (ou distribuição " -"fonte); o diretório onde existe :file:`setup.py`. Geralmente, :file:`setup." -"py` vai ser executado a partir deste diretório." +"fonte); o diretório onde existe :file:`setup.py`. " +"Geralmente, :file:`setup.py` vai ser executado a partir deste diretório." diff --git a/distutils/packageindex.po b/distutils/packageindex.po index f54983645..e4498157b 100644 --- a/distutils/packageindex.po +++ b/distutils/packageindex.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -44,5 +42,5 @@ msgid "" "References to up to date PyPI documentation can be found at :ref:`publishing-" "python-packages`." msgstr "" -"As referências à documentação atualizada do PyPI podem ser encontradas em :" -"ref:`publishing-python-packages`." +"As referências à documentação atualizada do PyPI podem ser encontradas " +"em :ref:`publishing-python-packages`." diff --git a/distutils/setupscript.po b/distutils/setupscript.po index 874133b0c..f372355e3 100644 --- a/distutils/setupscript.po +++ b/distutils/setupscript.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 -# Danilo Lima , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Danilo Lima , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,9 +34,9 @@ msgid "" "independently covers all of the relevant information currently included here." msgstr "" "Este documento está sendo mantido apenas até que a documentação do " -"``setuptools`` em https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra independentemente todas as informações relevantes atualmente " -"incluídas aqui." +"``setuptools`` em https://setuptools.readthedocs.io/en/latest/" +"setuptools.html cubra independentemente todas as informações relevantes " +"atualmente incluídas aqui." #: ../../distutils/setupscript.rst:9 msgid "" @@ -51,8 +46,8 @@ msgid "" "various commands that operate on your modules do the right thing. As we saw " "in section :ref:`distutils-simple-example` above, the setup script consists " "mainly of a call to :func:`setup`, and most information supplied to the " -"Distutils by the module developer is supplied as keyword arguments to :func:" -"`setup`." +"Distutils by the module developer is supplied as keyword arguments " +"to :func:`setup`." msgstr "" #: ../../distutils/setupscript.rst:17 @@ -105,14 +100,14 @@ msgid "" "install, etc.) all pure Python modules found in each package mentioned in " "the ``packages`` list. In order to do this, of course, there has to be a " "correspondence between package names and directories in the filesystem. The " -"default correspondence is the most obvious one, i.e. package :mod:" -"`distutils` is found in the directory :file:`distutils` relative to the " -"distribution root. Thus, when you say ``packages = ['foo']`` in your setup " -"script, you are promising that the Distutils will find a file :file:`foo/" -"__init__.py` (which might be spelled differently on your system, but you get " -"the idea) relative to the directory where your setup script lives. If you " -"break this promise, the Distutils will issue a warning but still process the " -"broken package anyway." +"default correspondence is the most obvious one, i.e. " +"package :mod:`distutils` is found in the directory :file:`distutils` " +"relative to the distribution root. Thus, when you say ``packages = ['foo']`` " +"in your setup script, you are promising that the Distutils will find a " +"file :file:`foo/__init__.py` (which might be spelled differently on your " +"system, but you get the idea) relative to the directory where your setup " +"script lives. If you break this promise, the Distutils will issue a warning " +"but still process the broken package anyway." msgstr "" #: ../../distutils/setupscript.rst:79 @@ -136,9 +131,9 @@ msgstr "" #: ../../distutils/setupscript.rst:93 msgid "" -"Another possible convention is to put the :mod:`foo` package right in :file:" -"`lib`, the :mod:`foo.bar` package in :file:`lib/bar`, etc. This would be " -"written in the setup script as ::" +"Another possible convention is to put the :mod:`foo` package right " +"in :file:`lib`, the :mod:`foo.bar` package in :file:`lib/bar`, etc. This " +"would be written in the setup script as ::" msgstr "" #: ../../distutils/setupscript.rst:99 @@ -146,11 +141,11 @@ msgid "" "A ``package: dir`` entry in the ``package_dir`` dictionary implicitly " "applies to all packages below *package*, so the :mod:`foo.bar` case is " "automatically handled here. In this example, having ``packages = ['foo', " -"'foo.bar']`` tells the Distutils to look for :file:`lib/__init__.py` and :" -"file:`lib/bar/__init__.py`. (Keep in mind that although ``package_dir`` " -"applies recursively, you must explicitly list all packages in ``packages``: " -"the Distutils will *not* recursively scan your source tree looking for any " -"directory with an :file:`__init__.py` file.)" +"'foo.bar']`` tells the Distutils to look for :file:`lib/__init__.py` " +"and :file:`lib/bar/__init__.py`. (Keep in mind that although " +"``package_dir`` applies recursively, you must explicitly list all packages " +"in ``packages``: the Distutils will *not* recursively scan your source tree " +"looking for any directory with an :file:`__init__.py` file.)" msgstr "" #: ../../distutils/setupscript.rst:112 @@ -170,9 +165,9 @@ msgstr "" msgid "" "This describes two modules, one of them in the \"root\" package, the other " "in the :mod:`pkg` package. Again, the default package/directory layout " -"implies that these two modules can be found in :file:`mod1.py` and :file:" -"`pkg/mod2.py`, and that :file:`pkg/__init__.py` exists as well. And again, " -"you can override the package/directory correspondence using the " +"implies that these two modules can be found in :file:`mod1.py` " +"and :file:`pkg/mod2.py`, and that :file:`pkg/__init__.py` exists as well. " +"And again, you can override the package/directory correspondence using the " "``package_dir`` option." msgstr "" @@ -193,12 +188,12 @@ msgstr "" #: ../../distutils/setupscript.rst:142 msgid "" "All of this is done through another keyword argument to :func:`setup`, the " -"``ext_modules`` option. ``ext_modules`` is just a list of :class:" -"`~distutils.core.Extension` instances, each of which describes a single " -"extension module. Suppose your distribution includes a single extension, " -"called :mod:`foo` and implemented by :file:`foo.c`. If no additional " -"instructions to the compiler/linker are needed, describing this extension is " -"quite simple::" +"``ext_modules`` option. ``ext_modules`` is just a list " +"of :class:`~distutils.core.Extension` instances, each of which describes a " +"single extension module. Suppose your distribution includes a single " +"extension, called :mod:`foo` and implemented by :file:`foo.c`. If no " +"additional instructions to the compiler/linker are needed, describing this " +"extension is quite simple::" msgstr "" #: ../../distutils/setupscript.rst:152 @@ -242,14 +237,14 @@ msgstr "" #: ../../distutils/setupscript.rst:185 msgid "" "If you have a number of extensions all in the same package (or all under the " -"same base package), use the ``ext_package`` keyword argument to :func:" -"`setup`. For example, ::" +"same base package), use the ``ext_package`` keyword argument " +"to :func:`setup`. For example, ::" msgstr "" #: ../../distutils/setupscript.rst:195 msgid "" -"will compile :file:`foo.c` to the extension :mod:`pkg.foo`, and :file:`bar." -"c` to :mod:`pkg.subpkg.bar`." +"will compile :file:`foo.c` to the extension :mod:`pkg.foo`, " +"and :file:`bar.c` to :mod:`pkg.subpkg.bar`." msgstr "" #: ../../distutils/setupscript.rst:200 @@ -288,9 +283,9 @@ msgstr "" msgid "" "On some platforms, you can include non-source files that are processed by " "the compiler and included in your extension. Currently, this just means " -"Windows message text (:file:`.mc`) files and resource definition (:file:`." -"rc`) files for Visual C++. These will be compiled to binary resource (:file:" -"`.res`) files and linked into the executable." +"Windows message text (:file:`.mc`) files and resource definition " +"(:file:`.rc`) files for Visual C++. These will be compiled to binary " +"resource (:file:`.res`) files and linked into the executable." msgstr "" #: ../../distutils/setupscript.rst:237 @@ -339,8 +334,8 @@ msgstr "" #: ../../distutils/setupscript.rst:271 msgid "" "If you must put the :file:`Numerical` include directory right into your " -"header search path, though, you can find that directory using the Distutils :" -"mod:`distutils.sysconfig` module::" +"header search path, though, you can find that directory using the " +"Distutils :mod:`distutils.sysconfig` module::" msgstr "" #: ../../distutils/setupscript.rst:281 @@ -469,8 +464,8 @@ msgstr "Isso pode ser pacotes ou módulos obsoletos." #: ../../distutils/setupscript.rst:374 msgid "" -"These relationships can be specified using keyword arguments to the :func:" -"`distutils.core.setup` function." +"These relationships can be specified using keyword arguments to " +"the :func:`distutils.core.setup` function." msgstr "" #: ../../distutils/setupscript.rst:377 @@ -512,7 +507,7 @@ msgstr "Expressão Requerida" #: ../../distutils/setupscript.rst:400 ../../distutils/setupscript.rst:418 msgid "Explanation" -msgstr "Explanação" +msgstr "Explicação" #: ../../distutils/setupscript.rst:402 msgid "``==1.0``" @@ -599,9 +594,9 @@ msgid "" "complicated. The only clever feature is that if the first line of the script " "starts with ``#!`` and contains the word \"python\", the Distutils will " "adjust the first line to refer to the current interpreter location. By " -"default, it is replaced with the current interpreter location. The :option:" -"`!--executable` (or :option:`!-e`) option will allow the interpreter path to " -"be explicitly overridden." +"default, it is replaced with the current interpreter location. " +"The :option:`!--executable` (or :option:`!-e`) option will allow the " +"interpreter path to be explicitly overridden." msgstr "" #: ../../distutils/setupscript.rst:454 @@ -706,10 +701,10 @@ msgstr "" #: ../../distutils/setupscript.rst:547 msgid "" "You can specify the ``data_files`` options as a simple sequence of files " -"without specifying a target directory, but this is not recommended, and the :" -"command:`install` command will print a warning in this case. To install data " -"files directly in the target directory, an empty string should be given as " -"the directory." +"without specifying a target directory, but this is not recommended, and " +"the :command:`install` command will print a warning in this case. To install " +"data files directly in the target directory, an empty string should be given " +"as the directory." msgstr "" #: ../../distutils/setupscript.rst:553 diff --git a/distutils/sourcedist.po b/distutils/sourcedist.po index 7d4ddcece..6abbecfdb 100644 --- a/distutils/sourcedist.po +++ b/distutils/sourcedist.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Misael borges , 2021 -# i17obot , 2021 -# Danilo Lima , 2021 -# (Douglas da Silva) , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,14 +34,15 @@ msgid "" "independently covers all of the relevant information currently included here." msgstr "" "Este documento está sendo mantido apenas até que a documentação do " -"``setuptools`` em https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra independentemente todas as informações relevantes atualmente " -"incluídas aqui." +"``setuptools`` em https://setuptools.readthedocs.io/en/latest/" +"setuptools.html cubra independentemente todas as informações relevantes " +"atualmente incluídas aqui." #: ../../distutils/sourcedist.rst:9 msgid "" -"As shown in section :ref:`distutils-simple-example`, you use the :command:" -"`sdist` command to create a source distribution. In the simplest case, ::" +"As shown in section :ref:`distutils-simple-example`, you use " +"the :command:`sdist` command to create a source distribution. In the " +"simplest case, ::" msgstr "" "Conforme mostrado na seção :ref:`distutils-simple-example`, você usa o " "comando :command:`sdist` para criar uma distribuição fonte. No caso mais " @@ -57,8 +52,8 @@ msgstr "" msgid "" "(assuming you haven't specified any :command:`sdist` options in the setup " "script or config file), :command:`sdist` creates the archive of the default " -"format for the current platform. The default format is a gzip'ed tar file (:" -"file:`.tar.gz`) on Unix, and ZIP file on Windows." +"format for the current platform. The default format is a gzip'ed tar file " +"(:file:`.tar.gz`) on Unix, and ZIP file on Windows." msgstr "" #: ../../distutils/sourcedist.rst:19 @@ -242,8 +237,8 @@ msgstr "" #: ../../distutils/sourcedist.rst:103 msgid "" -"Any of the standard README files (:file:`README`, :file:`README.txt`, or :" -"file:`README.rst`), :file:`setup.py` (or whatever you called your setup " +"Any of the standard README files (:file:`README`, :file:`README.txt`, " +"or :file:`README.rst`), :file:`setup.py` (or whatever you called your setup " "script), and :file:`setup.cfg`." msgstr "" @@ -264,10 +259,10 @@ msgid "" "Sometimes this is enough, but usually you will want to specify additional " "files to distribute. The typical way to do this is to write a *manifest " "template*, called :file:`MANIFEST.in` by default. The manifest template is " -"just a list of instructions for how to generate your manifest file, :file:" -"`MANIFEST`, which is the exact list of files to include in your source " -"distribution. The :command:`sdist` command processes this template and " -"generates a manifest based on its instructions and what it finds in the " +"just a list of instructions for how to generate your manifest " +"file, :file:`MANIFEST`, which is the exact list of files to include in your " +"source distribution. The :command:`sdist` command processes this template " +"and generates a manifest based on its instructions and what it finds in the " "filesystem." msgstr "" "Às vezes, isso é suficiente, mas normalmente você deseja especificar " @@ -289,9 +284,9 @@ msgstr "" #: ../../distutils/sourcedist.rst:126 msgid "" -"An existing generated :file:`MANIFEST` will be regenerated without :command:" -"`sdist` comparing its modification time to the one of :file:`MANIFEST.in` " -"or :file:`setup.py`." +"An existing generated :file:`MANIFEST` will be regenerated " +"without :command:`sdist` comparing its modification time to the one " +"of :file:`MANIFEST.in` or :file:`setup.py`." msgstr "" #: ../../distutils/sourcedist.rst:131 @@ -354,8 +349,9 @@ msgstr "" #: ../../distutils/sourcedist.rst:171 msgid "" -"all files in directories named :file:`RCS`, :file:`CVS`, :file:`.svn`, :file:" -"`.hg`, :file:`.git`, :file:`.bzr` or :file:`_darcs`" +"all files in directories " +"named :file:`RCS`, :file:`CVS`, :file:`.svn`, :file:`.hg`, :file:`.git`, :file:`.bzr` " +"or :file:`_darcs`" msgstr "" #: ../../distutils/sourcedist.rst:174 @@ -370,15 +366,15 @@ msgstr "" #: ../../distutils/sourcedist.rst:177 msgid "" "You can disable the default set of included files with the :option:`!--no-" -"defaults` option, and you can disable the standard exclude set with :option:" -"`!--no-prune`." +"defaults` option, and you can disable the standard exclude set " +"with :option:`!--no-prune`." msgstr "" #: ../../distutils/sourcedist.rst:181 msgid "" -"Following the Distutils' own manifest template, let's trace how the :command:" -"`sdist` command builds the list of files to include in the Distutils source " -"distribution:" +"Following the Distutils' own manifest template, let's trace how " +"the :command:`sdist` command builds the list of files to include in the " +"Distutils source distribution:" msgstr "" "Seguindo o modelo de manifesto do próprio Distutils, vamos rastrear como o " "comando :command:`sdist` constrói a lista de arquivos a serem incluídos na " @@ -386,13 +382,13 @@ msgstr "" #: ../../distutils/sourcedist.rst:185 msgid "" -"include all Python source files in the :file:`distutils` and :file:" -"`distutils/command` subdirectories (because packages corresponding to those " -"two directories were mentioned in the ``packages`` option in the setup " -"script---see section :ref:`setup-script`)" +"include all Python source files in the :file:`distutils` " +"and :file:`distutils/command` subdirectories (because packages corresponding " +"to those two directories were mentioned in the ``packages`` option in the " +"setup script---see section :ref:`setup-script`)" msgstr "" -"inclua todos os arquivos fonte Python nos subdiretórios :file:`distutils` e :" -"file:`distutils/command` (porque os pacotes correspondentes a esses dois " +"inclua todos os arquivos fonte Python nos subdiretórios :file:`distutils` " +"e :file:`distutils/command` (porque os pacotes correspondentes a esses dois " "diretórios foram mencionados na opção ``packages`` no script de configuração " "-- consulte a seção :ref:`setup-script`)" @@ -408,8 +404,9 @@ msgstr "" #: ../../distutils/sourcedist.rst:195 msgid "" -"include :file:`\\*.txt` in the distribution root (this will find :file:" -"`README.txt` a second time, but such redundancies are weeded out later)" +"include :file:`\\*.txt` in the distribution root (this will " +"find :file:`README.txt` a second time, but such redundancies are weeded out " +"later)" msgstr "" #: ../../distutils/sourcedist.rst:198 @@ -420,17 +417,17 @@ msgstr "" #: ../../distutils/sourcedist.rst:201 msgid "" -"exclude all files in the sub-trees starting at directories matching :file:" -"`examples/sample?/build`\\ ---this may exclude files included by the " -"previous two steps, so it's important that the ``prune`` command in the " -"manifest template comes after the ``recursive-include`` command" +"exclude all files in the sub-trees starting at directories " +"matching :file:`examples/sample?/build`\\ ---this may exclude files included " +"by the previous two steps, so it's important that the ``prune`` command in " +"the manifest template comes after the ``recursive-include`` command" msgstr "" #: ../../distutils/sourcedist.rst:206 msgid "" -"exclude the entire :file:`build` tree, and any :file:`RCS`, :file:`CVS`, :" -"file:`.svn`, :file:`.hg`, :file:`.git`, :file:`.bzr` and :file:`_darcs` " -"directories" +"exclude the entire :file:`build` tree, and " +"any :file:`RCS`, :file:`CVS`, :file:`.svn`, :file:`.hg`, :file:`.git`, :file:`.bzr` " +"and :file:`_darcs` directories" msgstr "" #: ../../distutils/sourcedist.rst:210 @@ -478,9 +475,9 @@ msgstr "" #: ../../distutils/sourcedist.rst:236 msgid "" -"There are a couple of options that modify this behaviour. First, use the :" -"option:`!--no-defaults` and :option:`!--no-prune` to disable the standard " -"\"include\" and \"exclude\" sets." +"There are a couple of options that modify this behaviour. First, use " +"the :option:`!--no-defaults` and :option:`!--no-prune` to disable the " +"standard \"include\" and \"exclude\" sets." msgstr "" #: ../../distutils/sourcedist.rst:240 diff --git a/distutils/uploading.po b/distutils/uploading.po index 6c7e80d47..9ec4528a5 100644 --- a/distutils/uploading.po +++ b/distutils/uploading.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -34,5 +32,5 @@ msgid "" "References to up to date PyPI documentation can be found at :ref:`publishing-" "python-packages`." msgstr "" -"As referências à documentação atualizada do PyPI podem ser encontradas em :" -"ref:`publishing-python-packages`." +"As referências à documentação atualizada do PyPI podem ser encontradas " +"em :ref:`publishing-python-packages`." diff --git a/extending/building.po b/extending/building.po index f2aea630e..974fc79ef 100644 --- a/extending/building.po +++ b/extending/building.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,13 +38,13 @@ msgstr "" #: ../../extending/building.rst:12 msgid "" -"To be importable, the shared library must be available on :envvar:" -"`PYTHONPATH`, and must be named after the module name, with an appropriate " -"extension. When using distutils, the correct filename is generated " -"automatically." +"To be importable, the shared library must be available " +"on :envvar:`PYTHONPATH`, and must be named after the module name, with an " +"appropriate extension. When using distutils, the correct filename is " +"generated automatically." msgstr "" -"Para ser importável, a biblioteca compartilhada deve estar disponível em :" -"envvar:`PYTHONPATH`, e deve ser nomeada após o nome do módulo, com uma " +"Para ser importável, a biblioteca compartilhada deve estar disponível " +"em :envvar:`PYTHONPATH`, e deve ser nomeada após o nome do módulo, com uma " "extensão apropriada. Ao usar distutils, o nome do arquivo correto é gerado " "automaticamente." @@ -57,8 +57,8 @@ msgid "" "It returns either a fully initialized module, or a :c:type:`PyModuleDef` " "instance. See :ref:`initializing-modules` for details." msgstr "" -"Ela retorna um módulo totalmente inicializado ou uma instância de :c:type:" -"`PyModuleDef`. Veja :ref:`initializing-modules` para detalhes." +"Ela retorna um módulo totalmente inicializado ou uma instância " +"de :c:type:`PyModuleDef`. Veja :ref:`initializing-modules` para detalhes." #: ../../extending/building.rst:25 msgid "" @@ -154,16 +154,16 @@ msgstr "" #: ../../extending/building.rst:91 msgid "" "It is common to pre-compute arguments to :func:`setup`, to better structure " -"the driver script. In the example above, the ``ext_modules`` argument to :" -"func:`~distutils.core.setup` is a list of extension modules, each of which " -"is an instance of the :class:`~distutils.extension.Extension`. In the " +"the driver script. In the example above, the ``ext_modules`` argument " +"to :func:`~distutils.core.setup` is a list of extension modules, each of " +"which is an instance of the :class:`~distutils.extension.Extension`. In the " "example, the instance defines an extension named ``demo`` which is build by " "compiling a single source file, :file:`demo.c`." msgstr "" "É comum pré-computar argumentos para :func:`setup`, para melhor estruturar o " -"script guia. No exemplo acima, o argumento ``ext_modules`` para :func:" -"`~distutils.core.setup` é uma lista de módulos de extensão, cada um dos " -"quais é uma instância de :class:`~distutils.extension.Extension`. No " +"script guia. No exemplo acima, o argumento ``ext_modules`` " +"para :func:`~distutils.core.setup` é uma lista de módulos de extensão, cada " +"um dos quais é uma instância de :class:`~distutils.extension.Extension`. No " "exemplo, a instância define uma extensão chamada ``demo`` que é construída " "compilando um único arquivo fonte, :file:`demo.c`." @@ -230,8 +230,8 @@ msgstr "" #: ../../extending/building.rst:158 msgid "" "In some cases, additional files need to be included in a source " -"distribution; this is done through a :file:`MANIFEST.in` file; see :ref:" -"`manifest` for details." +"distribution; this is done through a :file:`MANIFEST.in` file; " +"see :ref:`manifest` for details." msgstr "" "Em alguns casos, arquivos adicionais precisam ser incluídos em uma " "distribuição fonte; isso é feito através de um arquivo :file:`MANIFEST.in`; " diff --git a/extending/embedding.po b/extending/embedding.po index b7ff72f4b..5eac11a17 100644 --- a/extending/embedding.po +++ b/extending/embedding.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,6 +39,15 @@ msgid "" "writing some scripts in Python. You can also use it yourself if some of the " "functionality can be written in Python more easily." msgstr "" +"Os capítulos anteriores discutiram como estender o Python, ou seja, como " +"expandir a funcionalidade do Python anexando uma biblioteca de funções em C " +"a ele. Também é possível fazer o inverso: enriquecer sua aplicação em C/C++ " +"incorporando o Python nela. A incorporação fornece à sua aplicação a " +"capacidade de implementar parte da funcionalidade da aplicação em Python em " +"vez de C ou C++. Isso pode ser usado para diversos propósitos; um exemplo " +"seria permitir que os usuários personalizem a aplicação de acordo com suas " +"necessidades escrevendo alguns scripts em Python. Você também pode usá-la se " +"parte da funcionalidade puder ser escrita em Python mais facilmente." #: ../../extending/embedding.rst:20 msgid "" @@ -50,15 +57,21 @@ msgid "" "nothing to do with Python --- instead, some parts of the application " "occasionally call the Python interpreter to run some Python code." msgstr "" +"Incorporar o Python é semelhante a estendê-lo, mas não exatamente. A " +"diferença é que, ao estender o Python, o programa principal da aplicação " +"ainda é o interpretador Python, enquanto que, se você incorporar o Python, o " +"programa principal pode não ter nada a ver com o Python — em vez disso, " +"algumas partes da aplicação chamam ocasionalmente o interpretador Python " +"para executar algum código Python." #: ../../extending/embedding.rst:26 msgid "" "So if you are embedding Python, you are providing your own main program. " "One of the things this main program has to do is initialize the Python " -"interpreter. At the very least, you have to call the function :c:func:" -"`Py_Initialize`. There are optional calls to pass command line arguments to " -"Python. Then later you can call the interpreter from any part of the " -"application." +"interpreter. At the very least, you have to call the " +"function :c:func:`Py_Initialize`. There are optional calls to pass command " +"line arguments to Python. Then later you can call the interpreter from any " +"part of the application." msgstr "" #: ../../extending/embedding.rst:32 @@ -95,17 +108,17 @@ msgstr "" #: ../../extending/embedding.rst:78 msgid "" -"The :c:func:`Py_SetProgramName` function should be called before :c:func:" -"`Py_Initialize` to inform the interpreter about paths to Python run-time " -"libraries. Next, the Python interpreter is initialized with :c:func:" -"`Py_Initialize`, followed by the execution of a hard-coded Python script " -"that prints the date and time. Afterwards, the :c:func:`Py_FinalizeEx` call " -"shuts the interpreter down, followed by the end of the program. In a real " -"program, you may want to get the Python script from another source, perhaps " -"a text-editor routine, a file, or a database. Getting the Python code from " -"a file can better be done by using the :c:func:`PyRun_SimpleFile` function, " -"which saves you the trouble of allocating memory space and loading the file " -"contents." +"The :c:func:`Py_SetProgramName` function should be called " +"before :c:func:`Py_Initialize` to inform the interpreter about paths to " +"Python run-time libraries. Next, the Python interpreter is initialized " +"with :c:func:`Py_Initialize`, followed by the execution of a hard-coded " +"Python script that prints the date and time. Afterwards, " +"the :c:func:`Py_FinalizeEx` call shuts the interpreter down, followed by the " +"end of the program. In a real program, you may want to get the Python " +"script from another source, perhaps a text-editor routine, a file, or a " +"database. Getting the Python code from a file can better be done by using " +"the :c:func:`PyRun_SimpleFile` function, which saves you the trouble of " +"allocating memory space and loading the file contents." msgstr "" #: ../../extending/embedding.rst:93 @@ -213,19 +226,19 @@ msgstr "" #: ../../extending/embedding.rst:178 msgid "" -"After initializing the interpreter, the script is loaded using :c:func:" -"`PyImport_Import`. This routine needs a Python string as its argument, " -"which is constructed using the :c:func:`PyUnicode_FromString` data " +"After initializing the interpreter, the script is loaded " +"using :c:func:`PyImport_Import`. This routine needs a Python string as its " +"argument, which is constructed using the :c:func:`PyUnicode_FromString` data " "conversion routine. ::" msgstr "" #: ../../extending/embedding.rst:191 msgid "" -"Once the script is loaded, the name we're looking for is retrieved using :c:" -"func:`PyObject_GetAttrString`. If the name exists, and the object returned " -"is callable, you can safely assume that it is a function. The program then " -"proceeds by constructing a tuple of arguments as normal. The call to the " -"Python function is then made with::" +"Once the script is loaded, the name we're looking for is retrieved " +"using :c:func:`PyObject_GetAttrString`. If the name exists, and the object " +"returned is callable, you can safely assume that it is a function. The " +"program then proceeds by constructing a tuple of arguments as normal. The " +"call to the Python function is then made with::" msgstr "" #: ../../extending/embedding.rst:199 @@ -259,9 +272,9 @@ msgstr "" #: ../../extending/embedding.rst:252 msgid "" -"These two lines initialize the ``numargs`` variable, and make the :func:`emb." -"numargs` function accessible to the embedded Python interpreter. With these " -"extensions, the Python script can do things like" +"These two lines initialize the ``numargs`` variable, and make the :func:`!" +"emb.numargs` function accessible to the embedded Python interpreter. With " +"these extensions, the Python script can do things like" msgstr "" #: ../../extending/embedding.rst:261 @@ -269,6 +282,7 @@ msgid "" "In a real application, the methods will expose an API of the application to " "Python." msgstr "" +"Em uma aplicação real, os métodos exporão uma API da aplicação para Python." #: ../../extending/embedding.rst:271 msgid "Embedding Python in C++" @@ -297,8 +311,8 @@ msgstr "" #: ../../extending/embedding.rst:290 msgid "" -"To find out the required compiler and linker flags, you can execute the :" -"file:`python{X.Y}-config` script which is generated as part of the " +"To find out the required compiler and linker flags, you can execute " +"the :file:`python{X.Y}-config` script which is generated as part of the " "installation process (a :file:`python3-config` script may also be " "available). This script has several options, of which the following will be " "directly useful to you:" @@ -329,9 +343,9 @@ msgid "" "If this procedure doesn't work for you (it is not guaranteed to work for all " "Unix-like platforms; however, we welcome :ref:`bug reports `) you will have to read your system's documentation about dynamic " -"linking and/or examine Python's :file:`Makefile` (use :func:`sysconfig." -"get_makefile_filename` to find its location) and compilation options. In " -"this case, the :mod:`sysconfig` module is a useful tool to programmatically " -"extract the configuration values that you will want to combine together. " -"For example:" +"linking and/or examine Python's :file:`Makefile` " +"(use :func:`sysconfig.get_makefile_filename` to find its location) and " +"compilation options. In this case, the :mod:`sysconfig` module is a useful " +"tool to programmatically extract the configuration values that you will want " +"to combine together. For example:" msgstr "" diff --git a/extending/extending.po b/extending/extending.po index 19661fe41..4ea12c10e 100644 --- a/extending/extending.po +++ b/extending/extending.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Mariana Costa , 2021 -# Julia Rizza , 2021 -# Melissa Weber Mendonça , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -110,9 +106,9 @@ msgstr "" #: ../../extending/extending.rst:53 msgid "" "Begin by creating a file :file:`spammodule.c`. (Historically, if a module " -"is called ``spam``, the C file containing its implementation is called :file:" -"`spammodule.c`; if the module name is very long, like ``spammify``, the " -"module name can be just :file:`spammify.c`.)" +"is called ``spam``, the C file containing its implementation is " +"called :file:`spammodule.c`; if the module name is very long, like " +"``spammify``, the module name can be just :file:`spammify.c`.)" msgstr "" "Comece criando um arquivo chamado :file:`spammodule.c`. (Historicamente, se " "um módulo for chamado ``spam``, o arquivo C contendo sua implementação é " @@ -138,26 +134,27 @@ msgid "" "any standard headers are included." msgstr "" "Uma vez que Python pode definir algumas definições de pré-processador que " -"afetam os cabeçalhos padrão em alguns sistemas, você *deve* incluir :file:" -"`Python.h` antes de quaisquer cabeçalhos padrão serem incluídos." +"afetam os cabeçalhos padrão em alguns sistemas, você *deve* " +"incluir :file:`Python.h` antes de quaisquer cabeçalhos padrão serem " +"incluídos." #: ../../extending/extending.rst:72 msgid "" "It is recommended to always define ``PY_SSIZE_T_CLEAN`` before including " "``Python.h``. See :ref:`parsetuple` for a description of this macro." msgstr "" -"É recomendado sempre definir ``PY_SSIZE_T_CLEAN`` antes de incluir ``Python." -"h``. Veja :ref:`parsetuple` para uma descrição desse macro." +"É recomendado sempre definir ``PY_SSIZE_T_CLEAN`` antes de incluir " +"``Python.h``. Veja :ref:`parsetuple` para uma descrição desse macro." #: ../../extending/extending.rst:75 msgid "" "All user-visible symbols defined by :file:`Python.h` have a prefix of ``Py`` " "or ``PY``, except those defined in standard header files. For convenience, " -"and since they are used extensively by the Python interpreter, ``\"Python." -"h\"`` includes a few standard header files: ````, ````, " -"````, and ````. If the latter header file does not exist " -"on your system, it declares the functions :c:func:`malloc`, :c:func:`free` " -"and :c:func:`realloc` directly." +"and since they are used extensively by the Python interpreter, " +"``\"Python.h\"`` includes a few standard header files: ````, " +"````, ````, and ````. If the latter header " +"file does not exist on your system, it declares the " +"functions :c:func:`malloc`, :c:func:`free` and :c:func:`realloc` directly." msgstr "" #: ../../extending/extending.rst:83 @@ -166,6 +163,9 @@ msgid "" "called when the Python expression ``spam.system(string)`` is evaluated " "(we'll see shortly how it ends up being called)::" msgstr "" +"A próxima coisa que adicionamos ao nosso arquivo de módulo é a função C que " +"será chamada quando a expressão Python ``spam.system(string)`` for avaliada " +"(veremos em breve como ela acaba sendo chamada)::" #: ../../extending/extending.rst:99 msgid "" @@ -180,6 +180,8 @@ msgid "" "The *self* argument points to the module object for module-level functions; " "for a method it would point to the object instance." msgstr "" +"O argumento *self* aponta para o objeto do módulo para funções de nível de " +"módulo; para um método, ele apontaria para a instância do objeto." #: ../../extending/extending.rst:107 msgid "" @@ -205,7 +207,7 @@ msgstr "" #: ../../extending/extending.rst:126 msgid "Intermezzo: Errors and Exceptions" -msgstr "" +msgstr "Intermezzo: erros e exceções" #: ../../extending/extending.rst:128 msgid "" @@ -224,6 +226,8 @@ msgid "" "The Python API defines a number of functions to set various types of " "exceptions." msgstr "" +"A API Python define uma série de funções para definir vários tipos de " +"exceções." #: ../../extending/extending.rst:139 msgid "" @@ -238,19 +242,19 @@ msgstr "" msgid "" "Another useful function is :c:func:`PyErr_SetFromErrno`, which only takes an " "exception argument and constructs the associated value by inspection of the " -"global variable :c:data:`errno`. The most general function is :c:func:" -"`PyErr_SetObject`, which takes two object arguments, the exception and its " -"associated value. You don't need to :c:func:`Py_INCREF` the objects passed " -"to any of these functions." +"global variable :c:data:`errno`. The most general function " +"is :c:func:`PyErr_SetObject`, which takes two object arguments, the " +"exception and its associated value. You don't need to :c:func:`Py_INCREF` " +"the objects passed to any of these functions." msgstr "" #: ../../extending/extending.rst:152 msgid "" -"You can test non-destructively whether an exception has been set with :c:" -"func:`PyErr_Occurred`. This returns the current exception object, or " -"``NULL`` if no exception has occurred. You normally don't need to call :c:" -"func:`PyErr_Occurred` to see whether an error occurred in a function call, " -"since you should be able to tell from the return value." +"You can test non-destructively whether an exception has been set " +"with :c:func:`PyErr_Occurred`. This returns the current exception object, " +"or ``NULL`` if no exception has occurred. You normally don't need to " +"call :c:func:`PyErr_Occurred` to see whether an error occurred in a function " +"call, since you should be able to tell from the return value." msgstr "" #: ../../extending/extending.rst:158 @@ -287,10 +291,11 @@ msgstr "" #: ../../extending/extending.rst:180 msgid "" "Every failing :c:func:`malloc` call must be turned into an exception --- the " -"direct caller of :c:func:`malloc` (or :c:func:`realloc`) must call :c:func:" -"`PyErr_NoMemory` and return a failure indicator itself. All the object-" -"creating functions (for example, :c:func:`PyLong_FromLong`) already do this, " -"so this note is only relevant to those who call :c:func:`malloc` directly." +"direct caller of :c:func:`malloc` (or :c:func:`realloc`) must " +"call :c:func:`PyErr_NoMemory` and return a failure indicator itself. All " +"the object-creating functions (for example, :c:func:`PyLong_FromLong`) " +"already do this, so this note is only relevant to those who " +"call :c:func:`malloc` directly." msgstr "" #: ../../extending/extending.rst:186 @@ -303,8 +308,8 @@ msgstr "" #: ../../extending/extending.rst:190 msgid "" -"Finally, be careful to clean up garbage (by making :c:func:`Py_XDECREF` or :" -"c:func:`Py_DECREF` calls for objects you have already created) when you " +"Finally, be careful to clean up garbage (by making :c:func:`Py_XDECREF` " +"or :c:func:`Py_DECREF` calls for objects you have already created) when you " "return an error indicator!" msgstr "" @@ -314,11 +319,12 @@ msgid "" "predeclared C objects corresponding to all built-in Python exceptions, such " "as :c:data:`PyExc_ZeroDivisionError`, which you can use directly. Of course, " "you should choose exceptions wisely --- don't use :c:data:`PyExc_TypeError` " -"to mean that a file couldn't be opened (that should probably be :c:data:" -"`PyExc_IOError`). If something's wrong with the argument list, the :c:func:" -"`PyArg_ParseTuple` function usually raises :c:data:`PyExc_TypeError`. If " -"you have an argument whose value must be in a particular range or must " -"satisfy other conditions, :c:data:`PyExc_ValueError` is appropriate." +"to mean that a file couldn't be opened (that should probably " +"be :c:data:`PyExc_OSError`). If something's wrong with the argument list, " +"the :c:func:`PyArg_ParseTuple` function usually " +"raises :c:data:`PyExc_TypeError`. If you have an argument whose value must " +"be in a particular range or must satisfy other " +"conditions, :c:data:`PyExc_ValueError` is appropriate." msgstr "" #: ../../extending/extending.rst:204 @@ -329,13 +335,13 @@ msgstr "" #: ../../extending/extending.rst:209 msgid "" -"and initialize it in your module's initialization function (:c:func:" -"`PyInit_spam`) with an exception object::" +"and initialize it in your module's initialization function (:c:func:`!" +"PyInit_spam`) with an exception object::" msgstr "" #: ../../extending/extending.rst:233 msgid "" -"Note that the Python name for the exception object is :exc:`spam.error`. " +"Note that the Python name for the exception object is :exc:`!spam.error`. " "The :c:func:`PyErr_NewException` function may create a class with the base " "class being :exc:`Exception` (unless another class is passed in instead of " "``NULL``), described in :ref:`bltin-exceptions`." @@ -343,30 +349,30 @@ msgstr "" #: ../../extending/extending.rst:238 msgid "" -"Note also that the :c:data:`SpamError` variable retains a reference to the " +"Note also that the :c:data:`!SpamError` variable retains a reference to the " "newly created exception class; this is intentional! Since the exception " "could be removed from the module by external code, an owned reference to the " -"class is needed to ensure that it will not be discarded, causing :c:data:" -"`SpamError` to become a dangling pointer. Should it become a dangling " +"class is needed to ensure that it will not be discarded, causing :c:data:`!" +"SpamError` to become a dangling pointer. Should it become a dangling " "pointer, C code which raises the exception could cause a core dump or other " "unintended side effects." msgstr "" #: ../../extending/extending.rst:245 msgid "" -"We discuss the use of ``PyMODINIT_FUNC`` as a function return type later in " -"this sample." +"We discuss the use of :c:macro:`PyMODINIT_FUNC` as a function return type " +"later in this sample." msgstr "" #: ../../extending/extending.rst:248 msgid "" -"The :exc:`spam.error` exception can be raised in your extension module using " -"a call to :c:func:`PyErr_SetString` as shown below::" +"The :exc:`!spam.error` exception can be raised in your extension module " +"using a call to :c:func:`PyErr_SetString` as shown below::" msgstr "" #: ../../extending/extending.rst:271 msgid "Back to the Example" -msgstr "" +msgstr "De volta ao exemplo" #: ../../extending/extending.rst:273 msgid "" @@ -379,9 +385,9 @@ msgid "" "It returns ``NULL`` (the error indicator for functions returning object " "pointers) if an error is detected in the argument list, relying on the " "exception set by :c:func:`PyArg_ParseTuple`. Otherwise the string value of " -"the argument has been copied to the local variable :c:data:`command`. This " +"the argument has been copied to the local variable :c:data:`!command`. This " "is a pointer assignment and you are not supposed to modify the string to " -"which it points (so in Standard C, the variable :c:data:`command` should " +"which it points (so in Standard C, the variable :c:data:`!command` should " "properly be declared as ``const char *command``)." msgstr "" @@ -393,8 +399,9 @@ msgstr "" #: ../../extending/extending.rst:292 msgid "" -"Our :func:`spam.system` function must return the value of :c:data:`sts` as a " -"Python object. This is done using the function :c:func:`PyLong_FromLong`. ::" +"Our :func:`!spam.system` function must return the value of :c:data:`!sts` as " +"a Python object. This is done using the " +"function :c:func:`PyLong_FromLong`. ::" msgstr "" #: ../../extending/extending.rst:297 @@ -402,13 +409,15 @@ msgid "" "In this case, it will return an integer object. (Yes, even integers are " "objects on the heap in Python!)" msgstr "" +"Neste caso, ele retornará um objeto inteiro (sim, até mesmo inteiros são " +"objetos no heap em Python!)" #: ../../extending/extending.rst:300 msgid "" "If you have a C function that returns no useful argument (a function " "returning :c:expr:`void`), the corresponding Python function must return " -"``None``. You need this idiom to do so (which is implemented by the :c:" -"macro:`Py_RETURN_NONE` macro)::" +"``None``. You need this idiom to do so (which is implemented by " +"the :c:macro:`Py_RETURN_NONE` macro)::" msgstr "" #: ../../extending/extending.rst:308 @@ -420,12 +429,12 @@ msgstr "" #: ../../extending/extending.rst:316 msgid "The Module's Method Table and Initialization Function" -msgstr "" +msgstr "A tabela de métodos e a função de inicialização do módulo" #: ../../extending/extending.rst:318 msgid "" -"I promised to show how :c:func:`spam_system` is called from Python programs. " -"First, we need to list its name and address in a \"method table\"::" +"I promised to show how :c:func:`!spam_system` is called from Python " +"programs. First, we need to list its name and address in a \"method table\"::" msgstr "" #: ../../extending/extending.rst:329 @@ -440,13 +449,14 @@ msgstr "" #: ../../extending/extending.rst:334 msgid "" "When using only ``METH_VARARGS``, the function should expect the Python-" -"level parameters to be passed in as a tuple acceptable for parsing via :c:" -"func:`PyArg_ParseTuple`; more information on this function is provided below." +"level parameters to be passed in as a tuple acceptable for parsing " +"via :c:func:`PyArg_ParseTuple`; more information on this function is " +"provided below." msgstr "" #: ../../extending/extending.rst:338 msgid "" -"The :const:`METH_KEYWORDS` bit may be set in the third field if keyword " +"The :c:macro:`METH_KEYWORDS` bit may be set in the third field if keyword " "arguments should be passed to the function. In this case, the C function " "should accept a third ``PyObject *`` parameter which will be a dictionary of " "keywords. Use :c:func:`PyArg_ParseTupleAndKeywords` to parse the arguments " @@ -457,42 +467,45 @@ msgstr "" msgid "" "The method table must be referenced in the module definition structure::" msgstr "" +"A tabela de métodos deve ser referenciada na estrutura de definição do " +"módulo::" #: ../../extending/extending.rst:355 msgid "" "This structure, in turn, must be passed to the interpreter in the module's " -"initialization function. The initialization function must be named :c:func:" -"`PyInit_name`, where *name* is the name of the module, and should be the " -"only non-\\ ``static`` item defined in the module file::" +"initialization function. The initialization function must be " +"named :c:func:`!PyInit_name`, where *name* is the name of the module, and " +"should be the only non-\\ ``static`` item defined in the module file::" msgstr "" #: ../../extending/extending.rst:366 msgid "" -"Note that PyMODINIT_FUNC declares the function as ``PyObject *`` return " -"type, declares any special linkage declarations required by the platform, " -"and for C++ declares the function as ``extern \"C\"``." +"Note that :c:macro:`PyMODINIT_FUNC` declares the function as ``PyObject *`` " +"return type, declares any special linkage declarations required by the " +"platform, and for C++ declares the function as ``extern \"C\"``." msgstr "" #: ../../extending/extending.rst:370 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``." +"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``." msgstr "" #: ../../extending/extending.rst:381 msgid "" -"When embedding Python, the :c:func:`PyInit_spam` function is not called " +"When embedding Python, the :c:func:`!PyInit_spam` function is not called " "automatically unless there's an entry in the :c:data:`PyImport_Inittab` " -"table. To add the module to the initialization table, use :c:func:" -"`PyImport_AppendInittab`, optionally followed by an import of the module::" +"table. To add the module to the initialization table, " +"use :c:func:`PyImport_AppendInittab`, optionally followed by an import of " +"the module::" msgstr "" #: ../../extending/extending.rst:425 @@ -521,17 +534,25 @@ msgstr "" #: ../../extending/extending.rst:446 msgid "Compilation and Linkage" -msgstr "" +msgstr "Compilação e vinculação" #: ../../extending/extending.rst:448 msgid "" "There are two more things to do before you can use your new extension: " "compiling and linking it with the Python system. If you use dynamic " "loading, the details may depend on the style of dynamic loading your system " -"uses; see the chapters about building extension modules (chapter :ref:" -"`building`) and additional information that pertains only to building on " -"Windows (chapter :ref:`building-on-windows`) for more information about this." -msgstr "" +"uses; see the chapters about building extension modules " +"(chapter :ref:`building`) and additional information that pertains only to " +"building on Windows (chapter :ref:`building-on-windows`) for more " +"information about this." +msgstr "" +"Há mais duas coisas a fazer antes de usar sua nova extensão: compilá-la e " +"vinculá-la ao sistema Python. Se você usa carregamento dinâmico, os detalhes " +"podem depender do estilo de carregamento dinâmico que seu sistema utiliza; " +"consulte os capítulos sobre construção de módulos de extensão " +"(capítulo :ref:`building`) e informações adicionais referentes apenas à " +"construção no Windows (capítulo :ref:`building-on-windows`) para obter mais " +"informações sobre isso." #: ../../extending/extending.rst:455 msgid "" @@ -560,7 +581,7 @@ msgstr "" #: ../../extending/extending.rst:483 msgid "Calling Python Functions from C" -msgstr "" +msgstr "Chamando funções Python de C" #: ../../extending/extending.rst:485 msgid "" @@ -572,6 +593,14 @@ msgid "" "will require calling the Python callback functions from a C callback. Other " "uses are also imaginable." msgstr "" +"Até agora, nos concentramos em tornar funções C chamáveis a partir de " +"Python. O inverso também é útil: chamar funções Python a partir de C. Isso é " +"especialmente verdadeiro para bibliotecas que oferecem suporte às chamadas " +"funções de \"callback\". Se uma interface C utiliza callbacks, o Python " +"equivalente frequentemente precisa fornecer um mecanismo de callback ao " +"programador Python; a implementação exigirá a chamada das funções de " +"callback Python a partir de um callback C. Outros usos também são " +"imagináveis." #: ../../extending/extending.rst:493 msgid "" @@ -581,6 +610,12 @@ msgid "" "interested, have a look at the implementation of the :option:`-c` command " "line option in :file:`Modules/main.c` from the Python source code.)" msgstr "" +"Felizmente, o interpretador Python é facilmente chamado recursivamente, e há " +"uma interface padrão para chamar uma função Python. (Não vou me aprofundar " +"em como chamar o analisador sintático do Python com uma string específica " +"como entrada --- se você estiver interessado, dê uma olhada na implementação " +"da opção de linha de comando :option:`-c` em :file:`Modules/main.c` do " +"código-fonte Python.)" #: ../../extending/extending.rst:499 msgid "" @@ -594,10 +629,10 @@ msgstr "" #: ../../extending/extending.rst:529 msgid "" -"This function must be registered with the interpreter using the :const:" -"`METH_VARARGS` flag; this is described in section :ref:`methodtable`. The :" -"c:func:`PyArg_ParseTuple` function and its arguments are documented in " -"section :ref:`parsetuple`." +"This function must be registered with the interpreter using " +"the :c:macro:`METH_VARARGS` flag; this is described in " +"section :ref:`methodtable`. The :c:func:`PyArg_ParseTuple` function and its " +"arguments are documented in section :ref:`parsetuple`." msgstr "" #: ../../extending/extending.rst:534 @@ -610,14 +645,15 @@ msgstr "" #: ../../extending/extending.rst:541 msgid "" -"Later, when it is time to call the function, you call the C function :c:func:" -"`PyObject_CallObject`. This function has two arguments, both pointers to " -"arbitrary Python objects: the Python function, and the argument list. The " -"argument list must always be a tuple object, whose length is the number of " -"arguments. To call the Python function with no arguments, pass in ``NULL``, " -"or an empty tuple; to call it with one argument, pass a singleton tuple. :c:" -"func:`Py_BuildValue` returns a tuple when its format string consists of zero " -"or more format codes between parentheses. For example::" +"Later, when it is time to call the function, you call the C " +"function :c:func:`PyObject_CallObject`. This function has two arguments, " +"both pointers to arbitrary Python objects: the Python function, and the " +"argument list. The argument list must always be a tuple object, whose " +"length is the number of arguments. To call the Python function with no " +"arguments, pass in ``NULL``, or an empty tuple; to call it with one " +"argument, pass a singleton tuple. :c:func:`Py_BuildValue` returns a tuple " +"when its format string consists of zero or more format codes between " +"parentheses. For example::" msgstr "" #: ../../extending/extending.rst:561 @@ -625,8 +661,9 @@ msgid "" ":c:func:`PyObject_CallObject` returns a Python object pointer: this is the " "return value of the Python function. :c:func:`PyObject_CallObject` is " "\"reference-count-neutral\" with respect to its arguments. In the example a " -"new tuple was created to serve as the argument list, which is :c:func:" -"`Py_DECREF`\\ -ed immediately after the :c:func:`PyObject_CallObject` call." +"new tuple was created to serve as the argument list, which " +"is :c:func:`Py_DECREF`\\ -ed immediately after " +"the :c:func:`PyObject_CallObject` call." msgstr "" #: ../../extending/extending.rst:568 @@ -671,14 +708,15 @@ msgstr "" #: ../../extending/extending.rst:610 msgid "" -"You may also call a function with keyword arguments by using :c:func:" -"`PyObject_Call`, which supports arguments and keyword arguments. As in the " -"above example, we use :c:func:`Py_BuildValue` to construct the dictionary. ::" +"You may also call a function with keyword arguments by " +"using :c:func:`PyObject_Call`, which supports arguments and keyword " +"arguments. As in the above example, we use :c:func:`Py_BuildValue` to " +"construct the dictionary. ::" msgstr "" #: ../../extending/extending.rst:628 msgid "Extracting Parameters in Extension Functions" -msgstr "" +msgstr "Extraindo parâmetros em funções de extensão" #: ../../extending/extending.rst:632 msgid "The :c:func:`PyArg_ParseTuple` function is declared as follows::" @@ -692,6 +730,11 @@ msgid "" "Reference Manual. The remaining arguments must be addresses of variables " "whose type is determined by the format string." msgstr "" +"O argumento *arg* deve ser um objeto tupla contendo uma lista de argumentos " +"passada de Python para uma função C. O argumento *format* deve ser uma " +"string de formato, cuja sintaxe é explicada em :ref:`arg-parsing` no Manual " +"de Referência da API C/Python. Os argumentos restantes devem ser endereços " +"de variáveis cujo tipo é determinado pela string de formato." #: ../../extending/extending.rst:642 msgid "" @@ -712,11 +755,11 @@ msgstr "" #: ../../extending/extending.rst:650 msgid "Some example calls::" -msgstr "" +msgstr "Alguns exemplos de chamadas::" #: ../../extending/extending.rst:720 msgid "Keyword Parameters for Extension Functions" -msgstr "" +msgstr "Parâmetros nomeados para funções de extensão" #: ../../extending/extending.rst:724 msgid "" @@ -725,21 +768,21 @@ msgstr "" #: ../../extending/extending.rst:729 msgid "" -"The *arg* and *format* parameters are identical to those of the :c:func:" -"`PyArg_ParseTuple` function. The *kwdict* parameter is the dictionary of " -"keywords received as the third parameter from the Python runtime. The " -"*kwlist* parameter is a ``NULL``-terminated list of strings which identify " -"the parameters; the names are matched with the type information from " -"*format* from left to right. On success, :c:func:" -"`PyArg_ParseTupleAndKeywords` returns true, otherwise it returns false and " -"raises an appropriate exception." +"The *arg* and *format* parameters are identical to those of " +"the :c:func:`PyArg_ParseTuple` function. The *kwdict* parameter is the " +"dictionary of keywords received as the third parameter from the Python " +"runtime. The *kwlist* parameter is a ``NULL``-terminated list of strings " +"which identify the parameters; the names are matched with the type " +"information from *format* from left to right. On " +"success, :c:func:`PyArg_ParseTupleAndKeywords` returns true, otherwise it " +"returns false and raises an appropriate exception." msgstr "" #: ../../extending/extending.rst:739 msgid "" "Nested tuples cannot be parsed when using keyword arguments! Keyword " -"parameters passed in which are not present in the *kwlist* will cause :exc:" -"`TypeError` to be raised." +"parameters passed in which are not present in the *kwlist* will " +"cause :exc:`TypeError` to be raised." msgstr "" #: ../../extending/extending.rst:745 @@ -747,10 +790,12 @@ msgid "" "Here is an example module which uses keywords, based on an example by Geoff " "Philbrick (philbrick@hks.com)::" msgstr "" +"Aqui está um módulo de exemplo que usa parâmetros nomeados, baseado em um " +"exemplo de Geoff Philbrick (philbrick@hks.com)::" #: ../../extending/extending.rst:800 msgid "Building Arbitrary Values" -msgstr "" +msgstr "Construindo valores arbitrários" #: ../../extending/extending.rst:802 msgid "" @@ -760,10 +805,10 @@ msgstr "" #: ../../extending/extending.rst:807 msgid "" -"It recognizes a set of format units similar to the ones recognized by :c:" -"func:`PyArg_ParseTuple`, but the arguments (which are input to the function, " -"not output) must not be pointers, just values. It returns a new Python " -"object, suitable for returning from a C function called from Python." +"It recognizes a set of format units similar to the ones recognized " +"by :c:func:`PyArg_ParseTuple`, but the arguments (which are input to the " +"function, not output) must not be pointers, just values. It returns a new " +"Python object, suitable for returning from a C function called from Python." msgstr "" #: ../../extending/extending.rst:812 @@ -799,16 +844,16 @@ msgstr "" #: ../../extending/extending.rst:854 msgid "" "Every block of memory allocated with :c:func:`malloc` should eventually be " -"returned to the pool of available memory by exactly one call to :c:func:" -"`free`. It is important to call :c:func:`free` at the right time. If a " -"block's address is forgotten but :c:func:`free` is not called for it, the " -"memory it occupies cannot be reused until the program terminates. This is " -"called a :dfn:`memory leak`. On the other hand, if a program calls :c:func:" -"`free` for a block and then continues to use the block, it creates a " -"conflict with re-use of the block through another :c:func:`malloc` call. " -"This is called :dfn:`using freed memory`. It has the same bad consequences " -"as referencing uninitialized data --- core dumps, wrong results, mysterious " -"crashes." +"returned to the pool of available memory by exactly one call " +"to :c:func:`free`. It is important to call :c:func:`free` at the right " +"time. If a block's address is forgotten but :c:func:`free` is not called " +"for it, the memory it occupies cannot be reused until the program " +"terminates. This is called a :dfn:`memory leak`. On the other hand, if a " +"program calls :c:func:`free` for a block and then continues to use the " +"block, it creates a conflict with re-use of the block through " +"another :c:func:`malloc` call. This is called :dfn:`using freed memory`. It " +"has the same bad consequences as referencing uninitialized data --- core " +"dumps, wrong results, mysterious crashes." msgstr "" #: ../../extending/extending.rst:865 @@ -827,6 +872,20 @@ msgid "" "happening by having a coding convention or strategy that minimizes this kind " "of errors." msgstr "" +"Causas comuns de vazamentos de memória são caminhos incomuns no código. Por " +"exemplo, uma função pode alocar um bloco de memória, executar algum cálculo " +"e, em seguida, liberar o bloco novamente. Agora, uma alteração nos " +"requisitos da função pode adicionar um teste ao cálculo que detecta uma " +"condição de erro e pode retornar prematuramente da função. É fácil esquecer " +"de liberar o bloco de memória alocado ao executar essa saída prematura, " +"especialmente quando ela é adicionada posteriormente ao código. Esses " +"vazamentos, uma vez introduzidos, geralmente passam despercebidos por um " +"longo tempo: a saída de erro é executada apenas em uma pequena fração de " +"todas as chamadas, e a maioria das máquinas modernas tem bastante memória " +"virtual, portanto, o vazamento só se torna aparente em um processo de longa " +"duração que usa a função com vazamento com frequência. Portanto, é " +"importante evitar que vazamentos aconteçam por meio de uma convenção ou " +"estratégia de codificação que minimize esse tipo de erro." #: ../../extending/extending.rst:878 msgid "" @@ -868,28 +927,40 @@ msgid "" "in a reference cycle, or referenced from the objects in the cycle, even " "though there are no further references to the cycle itself." msgstr "" +"Embora o Python utilize a implementação tradicional de contagem de " +"referências, ele também oferece um detector de ciclos que funciona para " +"detectar ciclos de referência. Isso permite que as aplicações não se " +"preocupem em criar referências circulares diretas ou indiretas; esses são os " +"pontos fracos da coleta de lixo implementada usando apenas a contagem de " +"referências. Ciclos de referência consistem em objetos que contêm " +"referências (possivelmente indiretas) a si mesmos, de modo que cada objeto " +"no ciclo tem uma contagem de referências diferente de zero. Implementações " +"típicas de contagem de referências não são capazes de recuperar a memória " +"pertencente a nenhum objeto em um ciclo de referência, ou referenciada a " +"partir dos objetos no ciclo, mesmo que não haja mais referências ao próprio " +"ciclo." #: ../../extending/extending.rst:909 msgid "" "The cycle detector is able to detect garbage cycles and can reclaim them. " -"The :mod:`gc` module exposes a way to run the detector (the :func:`~gc." -"collect` function), as well as configuration interfaces and the ability to " -"disable the detector at runtime." +"The :mod:`gc` module exposes a way to run the detector " +"(the :func:`~gc.collect` function), as well as configuration interfaces and " +"the ability to disable the detector at runtime." msgstr "" #: ../../extending/extending.rst:918 msgid "Reference Counting in Python" -msgstr "" +msgstr "Contagem de referências no Python" #: ../../extending/extending.rst:920 msgid "" "There are two macros, ``Py_INCREF(x)`` and ``Py_DECREF(x)``, which handle " -"the incrementing and decrementing of the reference count. :c:func:" -"`Py_DECREF` also frees the object when the count reaches zero. For " -"flexibility, it doesn't call :c:func:`free` directly --- rather, it makes a " -"call through a function pointer in the object's :dfn:`type object`. For " -"this purpose (and others), every object also contains a pointer to its type " -"object." +"the incrementing and decrementing of the reference " +"count. :c:func:`Py_DECREF` also frees the object when the count reaches " +"zero. For flexibility, it doesn't call :c:func:`free` directly --- rather, " +"it makes a call through a function pointer in the object's :dfn:`type " +"object`. For this purpose (and others), every object also contains a " +"pointer to its type object." msgstr "" #: ../../extending/extending.rst:927 @@ -927,16 +998,16 @@ msgstr "" #: ../../extending/extending.rst:950 msgid "" -"A borrowed reference can be changed into an owned reference by calling :c:" -"func:`Py_INCREF`. This does not affect the status of the owner from which " -"the reference was borrowed --- it creates a new owned reference, and gives " -"full owner responsibilities (the new owner must dispose of the reference " -"properly, as well as the previous owner)." +"A borrowed reference can be changed into an owned reference by " +"calling :c:func:`Py_INCREF`. This does not affect the status of the owner " +"from which the reference was borrowed --- it creates a new owned reference, " +"and gives full owner responsibilities (the new owner must dispose of the " +"reference properly, as well as the previous owner)." msgstr "" #: ../../extending/extending.rst:960 msgid "Ownership Rules" -msgstr "" +msgstr "Regras de propriedade" #: ../../extending/extending.rst:962 msgid "" @@ -944,6 +1015,9 @@ msgid "" "of the function's interface specification whether ownership is transferred " "with the reference or not." msgstr "" +"Sempre que uma referência de objeto é passada para dentro ou para fora de " +"uma função, faz parte da especificação da interface da função se a " +"propriedade é transferida com a referência ou não." #: ../../extending/extending.rst:966 msgid "" @@ -951,20 +1025,20 @@ msgid "" "the reference. In particular, all functions whose function it is to create " "a new object, such as :c:func:`PyLong_FromLong` and :c:func:`Py_BuildValue`, " "pass ownership to the receiver. Even if the object is not actually new, you " -"still receive ownership of a new reference to that object. For instance, :c:" -"func:`PyLong_FromLong` maintains a cache of popular values and can return a " -"reference to a cached item." +"still receive ownership of a new reference to that object. For " +"instance, :c:func:`PyLong_FromLong` maintains a cache of popular values and " +"can return a reference to a cached item." msgstr "" #: ../../extending/extending.rst:974 msgid "" "Many functions that extract objects from other objects also transfer " -"ownership with the reference, for instance :c:func:" -"`PyObject_GetAttrString`. The picture is less clear, here, however, since a " -"few common routines are exceptions: :c:func:`PyTuple_GetItem`, :c:func:" -"`PyList_GetItem`, :c:func:`PyDict_GetItem`, and :c:func:" -"`PyDict_GetItemString` all return references that you borrow from the tuple, " -"list or dictionary." +"ownership with the reference, for " +"instance :c:func:`PyObject_GetAttrString`. The picture is less clear, here, " +"however, since a few common routines are " +"exceptions: :c:func:`PyTuple_GetItem`, :c:func:`PyList_GetItem`, :c:func:`PyDict_GetItem`, " +"and :c:func:`PyDict_GetItemString` all return references that you borrow " +"from the tuple, list or dictionary." msgstr "" #: ../../extending/extending.rst:981 @@ -979,10 +1053,11 @@ msgid "" "When you pass an object reference into another function, in general, the " "function borrows the reference from you --- if it needs to store it, it will " "use :c:func:`Py_INCREF` to become an independent owner. There are exactly " -"two important exceptions to this rule: :c:func:`PyTuple_SetItem` and :c:func:" -"`PyList_SetItem`. These functions take over ownership of the item passed to " -"them --- even if they fail! (Note that :c:func:`PyDict_SetItem` and friends " -"don't take over ownership --- they are \"normal.\")" +"two important exceptions to this rule: :c:func:`PyTuple_SetItem` " +"and :c:func:`PyList_SetItem`. These functions take over ownership of the " +"item passed to them --- even if they fail! (Note " +"that :c:func:`PyDict_SetItem` and friends don't take over ownership --- they " +"are \"normal.\")" msgstr "" #: ../../extending/extending.rst:993 @@ -1000,10 +1075,13 @@ msgid "" "must be an owned reference --- ownership is transferred from the function to " "its caller." msgstr "" +"A referência de objeto retornada de uma função C chamada do Python deve ser " +"uma referência própria --- a propriedade é transferida da função para seu " +"chamador." #: ../../extending/extending.rst:1007 msgid "Thin Ice" -msgstr "" +msgstr "Gelo fino" #: ../../extending/extending.rst:1009 msgid "" @@ -1026,6 +1104,9 @@ msgid "" "``list[1]`` with the value ``0``, and finally prints the borrowed reference. " "Looks harmless, right? But it's not!" msgstr "" +"Esta função primeiro toma emprestada uma referência a ``list[0]``, depois " +"substitui ``list[1]`` pelo valor ``0`` e, por fim, imprime a referência " +"emprestada. Parece inofensivo, certo? Mas não é!" #: ../../extending/extending.rst:1029 msgid "" @@ -1033,16 +1114,16 @@ msgid "" "references to all its items, so when item 1 is replaced, it has to dispose " "of the original item 1. Now let's suppose the original item 1 was an " "instance of a user-defined class, and let's further suppose that the class " -"defined a :meth:`__del__` method. If this class instance has a reference " -"count of 1, disposing of it will call its :meth:`__del__` method." +"defined a :meth:`!__del__` method. If this class instance has a reference " +"count of 1, disposing of it will call its :meth:`!__del__` method." msgstr "" #: ../../extending/extending.rst:1036 msgid "" -"Since it is written in Python, the :meth:`__del__` method can execute " +"Since it is written in Python, the :meth:`!__del__` method can execute " "arbitrary Python code. Could it perhaps do something to invalidate the " -"reference to ``item`` in :c:func:`bug`? You bet! Assuming that the list " -"passed into :c:func:`bug` is accessible to the :meth:`__del__` method, it " +"reference to ``item`` in :c:func:`!bug`? You bet! Assuming that the list " +"passed into :c:func:`!bug` is accessible to the :meth:`!__del__` method, it " "could execute a statement to the effect of ``del list[0]``, and assuming " "this was the last reference to that object, it would free the memory " "associated with it, thereby invalidating ``item``." @@ -1053,12 +1134,14 @@ msgid "" "The solution, once you know the source of the problem, is easy: temporarily " "increment the reference count. The correct version of the function reads::" msgstr "" +"A solução, depois de descobrir a origem do problema, é fácil: incrementar " +"temporariamente a contagem de referências. A versão correta da função é:" #: ../../extending/extending.rst:1058 msgid "" "This is a true story. An older version of Python contained variants of this " "bug and someone spent a considerable amount of time in a C debugger to " -"figure out why his :meth:`__del__` methods would fail..." +"figure out why his :meth:`!__del__` methods would fail..." msgstr "" #: ../../extending/extending.rst:1062 @@ -1076,7 +1159,7 @@ msgstr "" #: ../../extending/extending.rst:1085 msgid "NULL Pointers" -msgstr "" +msgstr "Ponteiros NULL" #: ../../extending/extending.rst:1087 msgid "" @@ -1100,8 +1183,8 @@ msgstr "" #: ../../extending/extending.rst:1099 msgid "" "The macros :c:func:`Py_INCREF` and :c:func:`Py_DECREF` do not check for " -"``NULL`` pointers --- however, their variants :c:func:`Py_XINCREF` and :c:" -"func:`Py_XDECREF` do." +"``NULL`` pointers --- however, their variants :c:func:`Py_XINCREF` " +"and :c:func:`Py_XDECREF` do." msgstr "" #: ../../extending/extending.rst:1103 @@ -1128,7 +1211,7 @@ msgstr "" #: ../../extending/extending.rst:1124 msgid "Writing Extensions in C++" -msgstr "" +msgstr "Escrevendo extensões em C++" #: ../../extending/extending.rst:1126 msgid "" @@ -1142,10 +1225,20 @@ msgid "" "`` --- they use this form already if the symbol ``__cplusplus`` is defined " "(all recent C++ compilers define this symbol)." msgstr "" +"É possível escrever módulos de extensão em C++. Algumas restrições se " +"aplicam. Se o programa principal (o interpretador Python) for compilado e " +"vinculado pelo compilador C, objetos globais ou estáticos com construtores " +"não poderão ser usados. Isso não é um problema se o programa principal for " +"vinculado pelo compilador C++. Funções que serão chamadas pelo interpretador " +"Python (em particular, funções de inicialização de módulos) devem ser " +"declaradas usando ``extern \"C\"``. Não é necessário incluir os arquivos de " +"cabeçalho Python entre ``extern \"C\" {...}`` --- eles já usam esta forma se " +"o símbolo ``__cplusplus`` estiver definido (todos os compiladores C++ " +"recentes definem este símbolo)." #: ../../extending/extending.rst:1140 msgid "Providing a C API for an Extension Module" -msgstr "" +msgstr "Fornecendo uma API C para um módulo de extensão" #: ../../extending/extending.rst:1145 msgid "" @@ -1157,6 +1250,14 @@ msgid "" "create and manipulate lists, this new collection type should have a set of C " "functions for direct manipulation from other extension modules." msgstr "" +"Muitos módulos de extensão apenas fornecem novas funções e tipos para serem " +"usados em Python, mas às vezes o código em um módulo de extensão pode ser " +"útil para outros módulos de extensão. Por exemplo, um módulo de extensão " +"poderia implementar um tipo \"collection\", que funciona como listas sem " +"ordem. Assim como o tipo de lista padrão do Python possui uma API C que " +"permite que os módulos de extensão criem e manipulem listas, esse novo tipo " +"de coleção deve ter um conjunto de funções em C para manipulação direta de " +"outros módulos de extensão." #: ../../extending/extending.rst:1153 msgid "" @@ -1173,6 +1274,19 @@ msgid "" "if symbols are globally visible, the module whose functions one wishes to " "call might not have been loaded yet!" msgstr "" +"À primeira vista, isso parece fácil: basta escrever as funções (sem declará-" +"las ``static``, é claro), fornecer um arquivo de cabeçalho apropriado e " +"documentar a API C. E, de fato, isso funcionaria se todos os módulos de " +"extensão estivessem sempre vinculados estaticamente ao interpretador Python. " +"Quando os módulos são usados como bibliotecas compartilhadas, no entanto, os " +"símbolos definidos em um módulo podem não ser visíveis para outro módulo. Os " +"detalhes de visibilidade dependem do sistema operacional; alguns sistemas " +"usam um espaço de nomes global para o interpretador Python e todos os " +"módulos de extensão (Windows, por exemplo), enquanto outros exigem uma lista " +"explícita de símbolos importados no momento da vinculação do módulo (AIX é " +"um exemplo) ou oferecem uma escolha de estratégias diferentes (a maioria dos " +"Unices). E mesmo que os símbolos sejam globalmente visíveis, o módulo cujas " +"funções se deseja chamar pode não ter sido carregado ainda!" #: ../../extending/extending.rst:1165 msgid "" @@ -1183,6 +1297,13 @@ msgid "" "section :ref:`methodtable`). And it means that symbols that *should* be " "accessible from other extension modules must be exported in a different way." msgstr "" +"A portabilidade, portanto, exige que não se façam suposições sobre a " +"visibilidade dos símbolos. Isso significa que todos os símbolos em módulos " +"de extensão devem ser declarados ``static``, exceto a função de " +"inicialização do módulo, a fim de evitar conflitos de nomes com outros " +"módulos de extensão (conforme discutido na seção :ref:`methodtable`). E " +"significa que os símbolos que *deveriam* ser acessíveis a partir de outros " +"módulos de extensão devem ser exportados de uma maneira diferente." #: ../../extending/extending.rst:1172 msgid "" @@ -1205,6 +1326,12 @@ msgid "" "distributed in different ways between the module providing the code and the " "client modules." msgstr "" +"Existem muitas maneiras de usar Cápsulas para exportar a API C de um módulo " +"de extensão. Cada função pode obter sua própria Cápsula, ou todos os " +"ponteiros da API C podem ser armazenados em um array cujo endereço é " +"publicado em uma Cápsula. E as diversas tarefas de armazenamento e " +"recuperação dos ponteiros podem ser distribuídas de diferentes maneiras " +"entre o módulo que fornece o código e os módulos clientes." #: ../../extending/extending.rst:1186 msgid "" @@ -1221,6 +1348,8 @@ msgid "" "In particular, Capsules used to expose C APIs should be given a name " "following this convention::" msgstr "" +"Em particular, as Cápsulas usadas para expor APIs C devem receber um nome " +"seguindo esta convenção:" #: ../../extending/extending.rst:1198 msgid "" @@ -1243,31 +1372,32 @@ msgstr "" #: ../../extending/extending.rst:1211 msgid "" -"The exporting module is a modification of the :mod:`spam` module from " -"section :ref:`extending-simpleexample`. The function :func:`spam.system` " +"The exporting module is a modification of the :mod:`!spam` module from " +"section :ref:`extending-simpleexample`. The function :func:`!spam.system` " "does not call the C library function :c:func:`system` directly, but a " -"function :c:func:`PySpam_System`, which would of course do something more " +"function :c:func:`!PySpam_System`, which would of course do something more " "complicated in reality (such as adding \"spam\" to every command). This " -"function :c:func:`PySpam_System` is also exported to other extension modules." +"function :c:func:`!PySpam_System` is also exported to other extension " +"modules." msgstr "" #: ../../extending/extending.rst:1218 msgid "" -"The function :c:func:`PySpam_System` is a plain C function, declared " +"The function :c:func:`!PySpam_System` is a plain C function, declared " "``static`` like everything else::" msgstr "" #: ../../extending/extending.rst:1227 -msgid "The function :c:func:`spam_system` is modified in a trivial way::" +msgid "The function :c:func:`!spam_system` is modified in a trivial way::" msgstr "" #: ../../extending/extending.rst:1241 msgid "In the beginning of the module, right after the line ::" -msgstr "" +msgstr "No início do módulo, logo após a linha ::" #: ../../extending/extending.rst:1245 msgid "two more lines must be added::" -msgstr "" +msgstr "mais duas linhas devem ser adicionadas::" #: ../../extending/extending.rst:1250 msgid "" @@ -1280,7 +1410,7 @@ msgstr "" #: ../../extending/extending.rst:1280 msgid "" "Note that ``PySpam_API`` is declared ``static``; otherwise the pointer array " -"would disappear when :func:`PyInit_spam` terminates!" +"would disappear when :c:func:`!PyInit_spam` terminates!" msgstr "" #: ../../extending/extending.rst:1283 @@ -1288,12 +1418,14 @@ msgid "" "The bulk of the work is in the header file :file:`spammodule.h`, which looks " "like this::" msgstr "" +"A maior parte do trabalho está no arquivo de cabeçalho :file:`spammodule.h`, " +"que se parece com isso::" #: ../../extending/extending.rst:1334 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::" +"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::" msgstr "" #: ../../extending/extending.rst:1352 @@ -1312,6 +1444,12 @@ msgid "" "Capsules (files :file:`Include/pycapsule.h` and :file:`Objects/pycapsule.c` " "in the Python source code distribution)." msgstr "" +"Por fim, vale mencionar que as Cápsulas oferecem funcionalidades adicionais, " +"especialmente úteis para alocação e desalocação de memória do ponteiro " +"armazenado em uma Cápsula. Os detalhes são descritos no Manual de Referência " +"da API Python/C, na seção :ref:`capsules` e na implementação das Cápsulas " +"(arquivos :file:`Include/pycapsule.h` e :file:`Objects/pycapsule.c` na " +"distribuição do código-fonte Python)." #: ../../extending/extending.rst:1364 msgid "Footnotes" @@ -1319,15 +1457,19 @@ msgstr "Notas de rodapé" #: ../../extending/extending.rst:1365 msgid "" -"An interface for this function already exists in the standard module :mod:" -"`os` --- it was chosen as a simple and straightforward example." +"An interface for this function already exists in the standard " +"module :mod:`os` --- it was chosen as a simple and straightforward example." msgstr "" +"Uma interface para esta função já existe no módulo padrão :mod:`os` --- ela " +"foi escolhida como um exemplo simples e direto." #: ../../extending/extending.rst:1368 msgid "" "The metaphor of \"borrowing\" a reference is not completely correct: the " "owner still has a copy of the reference." msgstr "" +"A metáfora de \"pegar emprestado\" uma referência não é completamente " +"correta: o proprietário ainda tem uma cópia da referência." #: ../../extending/extending.rst:1371 msgid "" @@ -1343,15 +1485,15 @@ msgid "" msgstr "" #: ../../extending/extending.rst:539 -msgid "PyObject_CallObject()" +msgid "PyObject_CallObject (C function)" msgstr "" #: ../../extending/extending.rst:630 -msgid "PyArg_ParseTuple()" +msgid "PyArg_ParseTuple (C function)" msgstr "" #: ../../extending/extending.rst:722 -msgid "PyArg_ParseTupleAndKeywords()" +msgid "PyArg_ParseTupleAndKeywords (C function)" msgstr "" #: ../../extending/extending.rst:743 diff --git a/extending/index.po b/extending/index.po index ea2febfe8..29edc1476 100644 --- a/extending/index.po +++ b/extending/index.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../extending/index.rst:5 msgid "Extending and Embedding the Python Interpreter" -msgstr "Estendendo e Incorporando o Interpretador Python" +msgstr "Estendendo e incorporando o interpretador Python" #: ../../extending/index.rst:7 msgid "" @@ -42,10 +42,10 @@ msgstr "" "módulos podem não somente definir novas funções, mas também novos tipos de " "objetos e seu conjunto de métodos. O documento também descreve como " "incorporar o interpretador Python em outro aplicativo, de forma a utilizá-lo " -"como sendo um idiota estendido. Por fim, estudaremos como podemos compilar e " -"fazer a vinculação dos módulos de extensão para que estes possam ser " -"carregados dinamicamente (em tempo de execução) pelo interpretador, caso o " -"sistema operacional subjacente suportar esse recurso." +"como sendo uma extensão da linguagem. Por fim, estudaremos como podemos " +"compilar e fazer a vinculação dos módulos de extensão para que estes possam " +"ser carregados dinamicamente (em tempo de execução) pelo interpretador, caso " +"o sistema operacional subjacente suportar esse recurso." #: ../../extending/index.rst:15 msgid "" @@ -56,16 +56,16 @@ msgid "" "and written in Python) that give the language its wide application range." msgstr "" "Este documento pressupõe conhecimentos básicos sobre Python. Para uma " -"introdução informal à linguagem, consulte :ref:`tutorial-index`. :ref:" -"`reference-index` fornece uma definição mais formal da linguagem. :ref:" -"`library-index` documenta os tipos, funções e módulos de objetos existentes " -"(embutidos e escritos em Python) que dão à linguagem sua ampla gama de " -"aplicações." +"introdução informal à linguagem, consulte :ref:`tutorial-" +"index`. :ref:`reference-index` fornece uma definição mais formal da " +"linguagem. :ref:`library-index` documenta os tipos, funções e módulos de " +"objetos existentes (embutidos e escritos em Python) que dão à linguagem sua " +"ampla gama de aplicações." #: ../../extending/index.rst:21 msgid "" -"For a detailed description of the whole Python/C API, see the separate :ref:" -"`c-api-index`." +"For a detailed description of the whole Python/C API, see the " +"separate :ref:`c-api-index`." msgstr "" "Para uma descrição detalhada de toda a API Python/C, consulte o :ref:`c-api-" "index` separado." @@ -78,9 +78,10 @@ msgstr "Ferramentas de terceiros recomendadas" 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." +"cython.org/>`_, `cffi `_, `SWIG `_ and `Numba `_ offer both simpler " +"and more sophisticated approaches to creating C and C++ extensions for " +"Python." msgstr "" "Esse guia cobre apenas as ferramentas básicas para a criação de extensões " "fornecidas como parte desta versão do CPython. Ferramentas de terceiros como " @@ -91,8 +92,8 @@ msgstr "" #: ../../extending/index.rst:40 msgid "" -"`Python Packaging User Guide: Binary Extensions `_" +"`Python Packaging User Guide: Binary Extensions `_" msgstr "" "`Guia do Usuário de Empacotamento do Python: Extensões Binárias `_" diff --git a/extending/newtypes.po b/extending/newtypes.po index 02414208d..e0f7a1215 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -70,9 +67,9 @@ msgstr "" msgid "" "These fields tell the runtime how much memory to allocate when new objects " "of this type are created. Python has some built-in support for variable " -"length structures (think: strings, tuples) which is where the :c:member:" -"`~PyTypeObject.tp_itemsize` field comes in. This will be dealt with " -"later. ::" +"length structures (think: strings, tuples) which is where " +"the :c:member:`~PyTypeObject.tp_itemsize` field comes in. This will be " +"dealt with later. ::" msgstr "" #: ../../extending/newtypes.rst:46 @@ -102,8 +99,8 @@ msgstr "" #: ../../extending/newtypes.rst:79 msgid "" -"If your type supports garbage collection, the destructor should call :c:func:" -"`PyObject_GC_UnTrack` before clearing any member fields::" +"If your type supports garbage collection, the destructor should " +"call :c:func:`PyObject_GC_UnTrack` before clearing any member fields::" msgstr "" #: ../../extending/newtypes.rst:95 @@ -117,21 +114,23 @@ msgid "" "additional Python code to be executed may detect that an exception has been " "set. This can lead to misleading errors from the interpreter. The proper " "way to protect against this is to save a pending exception before performing " -"the unsafe action, and restoring it when done. This can be done using the :" -"c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` functions::" +"the unsafe action, and restoring it when done. This can be done using " +"the :c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` functions::" msgstr "" #: ../../extending/newtypes.rst:134 msgid "" "There are limitations to what you can safely do in a deallocator function. " -"First, if your type supports garbage collection (using :c:member:" -"`~PyTypeObject.tp_traverse` and/or :c:member:`~PyTypeObject.tp_clear`), some " -"of the object's members can have been cleared or finalized by the time :c:" -"member:`~PyTypeObject.tp_dealloc` is called. Second, in :c:member:" -"`~PyTypeObject.tp_dealloc`, your object is in an unstable state: its " -"reference count is equal to zero. Any call to a non-trivial object or API " -"(as in the example above) might end up calling :c:member:`~PyTypeObject." -"tp_dealloc` again, causing a double free and a crash." +"First, if your type supports garbage collection " +"(using :c:member:`~PyTypeObject.tp_traverse` and/" +"or :c:member:`~PyTypeObject.tp_clear`), some of the object's members can " +"have been cleared or finalized by the " +"time :c:member:`~PyTypeObject.tp_dealloc` is called. Second, " +"in :c:member:`~PyTypeObject.tp_dealloc`, your object is in an unstable " +"state: its reference count is equal to zero. Any call to a non-trivial " +"object or API (as in the example above) might end up " +"calling :c:member:`~PyTypeObject.tp_dealloc` again, causing a double free " +"and a crash." msgstr "" #: ../../extending/newtypes.rst:143 @@ -152,8 +151,9 @@ msgstr "" #: ../../extending/newtypes.rst:157 msgid "" "In Python, there are two ways to generate a textual representation of an " -"object: the :func:`repr` function, and the :func:`str` function. (The :func:" -"`print` function just calls :func:`str`.) These handlers are both optional." +"object: the :func:`repr` function, and the :func:`str` function. " +"(The :func:`print` function just calls :func:`str`.) These handlers are " +"both optional." msgstr "" #: ../../extending/newtypes.rst:166 @@ -166,19 +166,20 @@ msgstr "" #: ../../extending/newtypes.rst:177 msgid "" "If no :c:member:`~PyTypeObject.tp_repr` handler is specified, the " -"interpreter will supply a representation that uses the type's :c:member:" -"`~PyTypeObject.tp_name` and a uniquely identifying value for the object." +"interpreter will supply a representation that uses the " +"type's :c:member:`~PyTypeObject.tp_name` and a uniquely identifying value " +"for the object." msgstr "" #: ../../extending/newtypes.rst:181 msgid "" -"The :c:member:`~PyTypeObject.tp_str` handler is to :func:`str` what the :c:" -"member:`~PyTypeObject.tp_repr` handler described above is to :func:`repr`; " -"that is, it is called when Python code calls :func:`str` on an instance of " -"your object. Its implementation is very similar to the :c:member:" -"`~PyTypeObject.tp_repr` function, but the resulting string is intended for " -"human consumption. If :c:member:`~PyTypeObject.tp_str` is not specified, " -"the :c:member:`~PyTypeObject.tp_repr` handler is used instead." +"The :c:member:`~PyTypeObject.tp_str` handler is to :func:`str` what " +"the :c:member:`~PyTypeObject.tp_repr` handler described above is " +"to :func:`repr`; that is, it is called when Python code calls :func:`str` on " +"an instance of your object. Its implementation is very similar to " +"the :c:member:`~PyTypeObject.tp_repr` function, but the resulting string is " +"intended for human consumption. If :c:member:`~PyTypeObject.tp_str` is not " +"specified, the :c:member:`~PyTypeObject.tp_repr` handler is used instead." msgstr "" #: ../../extending/newtypes.rst:188 @@ -203,9 +204,10 @@ msgstr "" msgid "" "Python supports two pairs of attribute handlers; a type that supports " "attributes only needs to implement the functions for one pair. The " -"difference is that one pair takes the name of the attribute as a :c:expr:" -"`char\\*`, while the other accepts a :c:expr:`PyObject*`. Each type can use " -"whichever pair makes more sense for the implementation's convenience. ::" +"difference is that one pair takes the name of the attribute as " +"a :c:expr:`char\\*`, while the other accepts a :c:expr:`PyObject*`. Each " +"type can use whichever pair makes more sense for the implementation's " +"convenience. ::" msgstr "" #: ../../extending/newtypes.rst:220 @@ -254,9 +256,10 @@ msgid "" "dictionary of the type object. Each descriptor controls access to one " "attribute of the instance object. Each of the tables is optional; if all " "three are ``NULL``, instances of the type will only have attributes that are " -"inherited from their base type, and should leave the :c:member:" -"`~PyTypeObject.tp_getattro` and :c:member:`~PyTypeObject.tp_setattro` fields " -"``NULL`` as well, allowing the base type to handle attributes." +"inherited from their base type, and should leave " +"the :c:member:`~PyTypeObject.tp_getattro` " +"and :c:member:`~PyTypeObject.tp_setattro` fields ``NULL`` as well, allowing " +"the base type to handle attributes." msgstr "" #: ../../extending/newtypes.rst:253 @@ -274,8 +277,8 @@ msgstr "" msgid "" "One entry should be defined for each method provided by the type; no entries " "are needed for methods inherited from a base type. One additional entry is " -"needed at the end; it is a sentinel that marks the end of the array. The :" -"attr:`ml_name` field of the sentinel must be ``NULL``." +"needed at the end; it is a sentinel that marks the end of the array. " +"The :c:member:`~PyMethodDef.ml_name` field of the sentinel must be ``NULL``." msgstr "" #: ../../extending/newtypes.rst:275 @@ -290,11 +293,11 @@ msgstr "" msgid "" "For each entry in the table, a :term:`descriptor` will be constructed and " "added to the type which will be able to extract a value from the instance " -"structure. The :attr:`type` field should contain one of the type codes " -"defined in the :file:`structmember.h` header; the value will be used to " -"determine how to convert Python values to and from C values. The :attr:" -"`flags` field is used to store flags which control how the attribute can be " -"accessed." +"structure. The :c:member:`~PyMemberDef.type` field should contain one of " +"the type codes defined in the :file:`structmember.h` header; the value will " +"be used to determine how to convert Python values to and from C values. " +"The :c:member:`~PyMemberDef.flags` field is used to store flags which " +"control how the attribute can be accessed." msgstr "" #: ../../extending/newtypes.rst:294 @@ -331,10 +334,12 @@ msgstr "" #: ../../extending/newtypes.rst:307 msgid "" -":const:`RESTRICTED`, :const:`READ_RESTRICTED` and :const:`WRITE_RESTRICTED` " -"are deprecated. However, :const:`READ_RESTRICTED` is an alias for :const:" -"`PY_AUDIT_READ`, so fields that specify either :const:`RESTRICTED` or :const:" -"`READ_RESTRICTED` will also raise an audit event." +":c:macro:`RESTRICTED`, :c:macro:`READ_RESTRICTED` " +"and :c:macro:`WRITE_RESTRICTED` are deprecated. " +"However, :c:macro:`READ_RESTRICTED` is an alias " +"for :c:macro:`PY_AUDIT_READ`, so fields that specify " +"either :c:macro:`RESTRICTED` or :c:macro:`READ_RESTRICTED` will also raise " +"an audit event." msgstr "" #: ../../extending/newtypes.rst:320 @@ -343,14 +348,14 @@ msgid "" "table to build descriptors that are used at runtime is that any attribute " "defined this way can have an associated doc string simply by providing the " "text in the table. An application can use the introspection API to retrieve " -"the descriptor from the class object, and get the doc string using its :attr:" -"`__doc__` attribute." +"the descriptor from the class object, and get the doc string using " +"its :attr:`!__doc__` attribute." msgstr "" #: ../../extending/newtypes.rst:326 msgid "" "As with the :c:member:`~PyTypeObject.tp_methods` table, a sentinel entry " -"with a :attr:`name` value of ``NULL`` is required." +"with a :c:member:`~PyMethodDef.ml_name` value of ``NULL`` is required." msgstr "" #: ../../extending/newtypes.rst:340 @@ -360,8 +365,8 @@ msgstr "" #: ../../extending/newtypes.rst:342 msgid "" "For simplicity, only the :c:expr:`char\\*` version will be demonstrated " -"here; the type of the name parameter is the only difference between the :c:" -"expr:`char\\*` and :c:expr:`PyObject*` flavors of the interface. This " +"here; the type of the name parameter is the only difference between " +"the :c:expr:`char\\*` and :c:expr:`PyObject*` flavors of the interface. This " "example effectively does the same thing as the generic example above, but " "does not use the generic support added in Python 2.2. It explains how the " "handler functions are called, so that if you do need to extend their " @@ -372,7 +377,7 @@ msgstr "" msgid "" "The :c:member:`~PyTypeObject.tp_getattr` handler is called when the object " "requires an attribute look-up. It is called in the same situations where " -"the :meth:`__getattr__` method of a class would be called." +"the :meth:`~object.__getattr__` method of a class would be called." msgstr "" #: ../../extending/newtypes.rst:354 @@ -381,12 +386,13 @@ msgstr "Aqui está um exemplo::" #: ../../extending/newtypes.rst:370 msgid "" -"The :c:member:`~PyTypeObject.tp_setattr` handler is called when the :meth:" -"`__setattr__` or :meth:`__delattr__` method of a class instance would be " -"called. When an attribute should be deleted, the third parameter will be " -"``NULL``. Here is an example that simply raises an exception; if this were " -"really all you wanted, the :c:member:`~PyTypeObject.tp_setattr` handler " -"should be set to ``NULL``. ::" +"The :c:member:`~PyTypeObject.tp_setattr` handler is called when " +"the :meth:`~object.__setattr__` or :meth:`~object.__delattr__` method of a " +"class instance would be called. When an attribute should be deleted, the " +"third parameter will be ``NULL``. Here is an example that simply raises an " +"exception; if this were really all you wanted, " +"the :c:member:`~PyTypeObject.tp_setattr` handler should be set to " +"``NULL``. ::" msgstr "" #: ../../extending/newtypes.rst:384 @@ -397,8 +403,8 @@ msgstr "" msgid "" "The :c:member:`~PyTypeObject.tp_richcompare` handler is called when " "comparisons are needed. It is analogous to the :ref:`rich comparison " -"methods `, like :meth:`__lt__`, and also called by :c:func:" -"`PyObject_RichCompare` and :c:func:`PyObject_RichCompareBool`." +"methods `, like :meth:`!__lt__`, and also called " +"by :c:func:`PyObject_RichCompare` and :c:func:`PyObject_RichCompareBool`." msgstr "" #: ../../extending/newtypes.rst:395 @@ -447,8 +453,8 @@ msgstr "" msgid "" "If you wish your object to be able to act like a number, a sequence, or a " "mapping object, then you place the address of a structure that implements " -"the C type :c:type:`PyNumberMethods`, :c:type:`PySequenceMethods`, or :c:" -"type:`PyMappingMethods`, respectively. It is up to you to fill in this " +"the C type :c:type:`PyNumberMethods`, :c:type:`PySequenceMethods`, " +"or :c:type:`PyMappingMethods`, respectively. It is up to you to fill in this " "structure with appropriate values. You can find examples of the use of each " "of these in the :file:`Objects` directory of the Python source " "distribution. ::" @@ -462,7 +468,7 @@ msgstr "" #: ../../extending/newtypes.rst:476 msgid "" -":c:type:`Py_hash_t` is a signed integer type with a platform-varying width. " +":c:type:`!Py_hash_t` is a signed integer type with a platform-varying width. " "Returning ``-1`` from :c:member:`~PyTypeObject.tp_hash` indicates an error, " "which is why you should be careful to avoid returning it when hash " "computation is successful, as seen above." @@ -488,17 +494,18 @@ msgstr "" #: ../../extending/newtypes.rst:494 msgid "" -"*args* is a tuple containing the arguments to the call. You can use :c:func:" -"`PyArg_ParseTuple` to extract the arguments." +"*args* is a tuple containing the arguments to the call. You can " +"use :c:func:`PyArg_ParseTuple` to extract the arguments." msgstr "" #: ../../extending/newtypes.rst:497 msgid "" "*kwds* is a dictionary of keyword arguments that were passed. If this is non-" -"``NULL`` and you support keyword arguments, use :c:func:" -"`PyArg_ParseTupleAndKeywords` to extract the arguments. If you do not want " -"to support keyword arguments and this is non-``NULL``, raise a :exc:" -"`TypeError` with a message saying that keyword arguments are not supported." +"``NULL`` and you support keyword arguments, " +"use :c:func:`PyArg_ParseTupleAndKeywords` to extract the arguments. If you " +"do not want to support keyword arguments and this is non-``NULL``, raise " +"a :exc:`TypeError` with a message saying that keyword arguments are not " +"supported." msgstr "" #: ../../extending/newtypes.rst:503 @@ -511,16 +518,17 @@ msgid "" "take exactly one parameter, the instance for which they are being called, " "and return a new reference. In the case of an error, they should set an " "exception and return ``NULL``. :c:member:`~PyTypeObject.tp_iter` " -"corresponds to the Python :meth:`__iter__` method, while :c:member:" -"`~PyTypeObject.tp_iternext` corresponds to the Python :meth:`~iterator." -"__next__` method." +"corresponds to the Python :meth:`~object.__iter__` method, " +"while :c:member:`~PyTypeObject.tp_iternext` corresponds to the " +"Python :meth:`~iterator.__next__` method." msgstr "" #: ../../extending/newtypes.rst:536 msgid "" -"Any :term:`iterable` object must implement the :c:member:`~PyTypeObject." -"tp_iter` handler, which must return an :term:`iterator` object. Here the " -"same guidelines apply as for Python classes:" +"Any :term:`iterable` object must implement " +"the :c:member:`~PyTypeObject.tp_iter` handler, which must return " +"an :term:`iterator` object. Here the same guidelines apply as for Python " +"classes:" msgstr "" #: ../../extending/newtypes.rst:540 @@ -533,24 +541,27 @@ msgstr "" #: ../../extending/newtypes.rst:543 msgid "" "Objects which can only be iterated over once (usually due to side effects of " -"iteration, such as file objects) can implement :c:member:`~PyTypeObject." -"tp_iter` by returning a new reference to themselves -- and should also " -"therefore implement the :c:member:`~PyTypeObject.tp_iternext` handler." +"iteration, such as file objects) can " +"implement :c:member:`~PyTypeObject.tp_iter` by returning a new reference to " +"themselves -- and should also therefore implement " +"the :c:member:`~PyTypeObject.tp_iternext` handler." msgstr "" #: ../../extending/newtypes.rst:548 msgid "" -"Any :term:`iterator` object should implement both :c:member:`~PyTypeObject." -"tp_iter` and :c:member:`~PyTypeObject.tp_iternext`. An iterator's :c:member:" -"`~PyTypeObject.tp_iter` handler should return a new reference to the " -"iterator. Its :c:member:`~PyTypeObject.tp_iternext` handler should return a " -"new reference to the next object in the iteration, if there is one. If the " -"iteration has reached the end, :c:member:`~PyTypeObject.tp_iternext` may " -"return ``NULL`` without setting an exception, or it may set :exc:" -"`StopIteration` *in addition* to returning ``NULL``; avoiding the exception " -"can yield slightly better performance. If an actual error occurs, :c:member:" -"`~PyTypeObject.tp_iternext` should always set an exception and return " -"``NULL``." +"Any :term:`iterator` object should implement " +"both :c:member:`~PyTypeObject.tp_iter` " +"and :c:member:`~PyTypeObject.tp_iternext`. An " +"iterator's :c:member:`~PyTypeObject.tp_iter` handler should return a new " +"reference to the iterator. Its :c:member:`~PyTypeObject.tp_iternext` " +"handler should return a new reference to the next object in the iteration, " +"if there is one. If the iteration has reached the " +"end, :c:member:`~PyTypeObject.tp_iternext` may return ``NULL`` without " +"setting an exception, or it may set :exc:`StopIteration` *in addition* to " +"returning ``NULL``; avoiding the exception can yield slightly better " +"performance. If an actual error " +"occurs, :c:member:`~PyTypeObject.tp_iternext` should always set an exception " +"and return ``NULL``." msgstr "" #: ../../extending/newtypes.rst:564 @@ -566,7 +577,7 @@ msgstr "" #: ../../extending/newtypes.rst:571 msgid "Documentation for the :mod:`weakref` module." -msgstr "" +msgstr "Documentação do módulo :mod:`weakref`." #: ../../extending/newtypes.rst:573 msgid "" @@ -578,8 +589,8 @@ msgstr "" msgid "" "Include a :c:expr:`PyObject*` field in the C object structure dedicated to " "the weak reference mechanism. The object's constructor should leave it " -"``NULL`` (which is automatic when using the default :c:member:`~PyTypeObject." -"tp_alloc`)." +"``NULL`` (which is automatic when using the " +"default :c:member:`~PyTypeObject.tp_alloc`)." msgstr "" #: ../../extending/newtypes.rst:580 @@ -632,7 +643,7 @@ msgstr "" #: ../../extending/newtypes.rst:635 msgid "https://www.python.org/downloads/source/" -msgstr "" +msgstr "https://www.python.org/downloads/source/" #: ../../extending/newtypes.rst:637 msgid "" @@ -641,7 +652,7 @@ msgstr "" #: ../../extending/newtypes.rst:638 msgid "https://github.com/python/cpython" -msgstr "" +msgstr "https://github.com/python/cpython" #: ../../extending/newtypes.rst:56 msgid "object" @@ -664,11 +675,11 @@ msgid "finalization, of objects" msgstr "" #: ../../extending/newtypes.rst:91 -msgid "PyErr_Fetch()" +msgid "PyErr_Fetch (C function)" msgstr "" #: ../../extending/newtypes.rst:91 -msgid "PyErr_Restore()" +msgid "PyErr_Restore (C function)" msgstr "" #: ../../extending/newtypes.rst:150 diff --git a/extending/newtypes_tutorial.po b/extending/newtypes_tutorial.po index 00fdbcbb6..7a5c6b839 100644 --- a/extending/newtypes_tutorial.po +++ b/extending/newtypes_tutorial.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# felipe caridade , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Rainer Terroso, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -37,11 +37,12 @@ msgid "" "pattern, but there are some details that you need to understand before you " "can get started. This document is a gentle introduction to the topic." msgstr "" -"O Python permite que o gravador de um módulo de extensão C defina novos " -"tipos que podem ser manipulados a partir do código Python, da mesma forma " -"que os tipos embutidos :class:`str` e :class:`list`. O código para todos os " -"tipos de extensão segue um padrão, mas há alguns detalhes que você precisa " -"entender antes de começar. Este documento é uma introdução suave ao tópico." +"O Python permite que o desenvolvedor de um módulo de extensão em C defina " +"novos tipos que podem ser manipulados a partir do código Python, da mesma " +"forma que os tipos embutidos :class:`str` e :class:`list`. O código para de " +"todos tipos de extensão segue um padrão, mas há alguns detalhes que você " +"precisa entender antes de começar. Este documento é uma introdução suave ao " +"tópico." #: ../../extending/newtypes_tutorial.rst:24 msgid "The Basics" @@ -49,15 +50,23 @@ msgstr "O básico" #: ../../extending/newtypes_tutorial.rst:26 msgid "" -"The :term:`CPython` runtime sees all Python objects as variables of type :c:" -"expr:`PyObject*`, which serves as a \"base type\" for all Python objects. " -"The :c:type:`PyObject` structure itself only contains the object's :term:" -"`reference count` and a pointer to the object's \"type object\". This is " -"where the action is; the type object determines which (C) functions get " -"called by the interpreter when, for instance, an attribute gets looked up on " -"an object, a method called, or it is multiplied by another object. These C " -"functions are called \"type methods\"." -msgstr "" +"The :term:`CPython` runtime sees all Python objects as variables of " +"type :c:expr:`PyObject*`, which serves as a \"base type\" for all Python " +"objects. The :c:type:`PyObject` structure itself only contains the " +"object's :term:`reference count` and a pointer to the object's \"type " +"object\". This is where the action is; the type object determines which (C) " +"functions get called by the interpreter when, for instance, an attribute " +"gets looked up on an object, a method called, or it is multiplied by another " +"object. These C functions are called \"type methods\"." +msgstr "" +"O tempo de execução do :term:`CPython` trata todos os objetos Python como " +"variáveis do tipo :c:expr:`PyObject*`, que funciona como um “tipo base” para " +"todos os objetos Python. A estrutura :c:type:`PyObject` em si contém apenas " +"a :term:`contagem de referências` do objeto e um ponteiro para o “objeto de " +"tipo” correspondente. É nesse objeto de tipo que tudo acontece: ele " +"determina quais funções em C o interpretador chama quando, por exemplo, um " +"atributo é acessado em um objeto, um método é chamado ou o objeto é " +"multiplicado por outro. Essas funções em C são chamadas de “métodos de tipo”." #: ../../extending/newtypes_tutorial.rst:35 msgid "" @@ -70,43 +79,56 @@ msgstr "" #: ../../extending/newtypes_tutorial.rst:38 msgid "" "This sort of thing can only be explained by example, so here's a minimal, " -"but complete, module that defines a new type named :class:`Custom` inside a " -"C extension module :mod:`custom`:" +"but complete, module that defines a new type named :class:`!Custom` inside a " +"C extension module :mod:`!custom`:" msgstr "" +"Esse tipo de coisa só pode ser explicado com exemplo, então aqui está um " +"módulo mínimo, mas completo, que define um novo tipo nomeado :class:`!" +"Custom` dentro de um módulo de extensão C :mod:`!custom`:" #: ../../extending/newtypes_tutorial.rst:43 msgid "" "What we're showing here is the traditional way of defining *static* " "extension types. It should be adequate for most uses. The C API also " -"allows defining heap-allocated extension types using the :c:func:" -"`PyType_FromSpec` function, which isn't covered in this tutorial." +"allows defining heap-allocated extension types using " +"the :c:func:`PyType_FromSpec` function, which isn't covered in this tutorial." msgstr "" +"O que estamos mostrando aqui é a maneira tradicional de definir tipos de " +"extensão *estáticos*. Deve ser adequada para a maioria dos usos. A API C " +"também permite definir tipos de extensão alocados em heap usando a " +"função :c:func:`PyType_FromSpec`, que não é abordada neste tutorial." #: ../../extending/newtypes_tutorial.rst:50 msgid "" "Now that's quite a bit to take in at once, but hopefully bits will seem " "familiar from the previous chapter. This file defines three things:" msgstr "" -"Agora isso é um pouco para ser absorvido de uma só vez, mas esperamos que os " -"bits pareçam familiares no capítulo anterior. Este arquivo define três " -"coisas:" +"Isso é bastante informação para assimilar de uma só vez, mas algumas partes " +"devem parecer familiares pelo que foi visto no capítulo anterior. Este " +"arquivo define três elementos:" #: ../../extending/newtypes_tutorial.rst:53 msgid "" -"What a :class:`Custom` **object** contains: this is the ``CustomObject`` " -"struct, which is allocated once for each :class:`Custom` instance." +"What a :class:`!Custom` **object** contains: this is the ``CustomObject`` " +"struct, which is allocated once for each :class:`!Custom` instance." msgstr "" +"O que um **objeto** :class:`!Custom` contém: esta é uma estrutura " +"``CustomObject``, alocada uma vez para cada instância de :class:`!Custom`." #: ../../extending/newtypes_tutorial.rst:55 msgid "" -"How the :class:`Custom` **type** behaves: this is the ``CustomType`` struct, " -"which defines a set of flags and function pointers that the interpreter " -"inspects when specific operations are requested." +"How the :class:`!Custom` **type** behaves: this is the ``CustomType`` " +"struct, which defines a set of flags and function pointers that the " +"interpreter inspects when specific operations are requested." msgstr "" +"Como o **tipo** :class:`!Custom` se comporta: esta é a estrutura " +"``CustomType``, que define um conjunto de sinalizadores e ponteiros de " +"função que o interpretador inspeciona quando operações específicas são " +"solicitadas." #: ../../extending/newtypes_tutorial.rst:58 msgid "" -"How to initialize the :mod:`custom` module: this is the ``PyInit_custom`` " +"How to initialize the :mod:`!custom` module: this is the ``PyInit_custom`` " "function and the associated ``custommodule`` struct." msgstr "" @@ -124,12 +146,22 @@ msgid "" "abstract away the layout and to enable additional fields in :ref:`debug " "builds `." msgstr "" +"Isto é o que um objeto Custom conterá. ``PyObject_HEAD`` é obrigatório no " +"início de cada estrutura de objeto e define um campo chamado ``ob_base`` do " +"tipo :c:type:`PyObject`, contendo um ponteiro para um objeto de tipo e uma " +"contagem de referências (esses podem ser acessados usando os " +"macros :c:macro:`Py_TYPE` e :c:macro:`Py_REFCNT`, respectivamente). O " +"objetivo do macro é abstrair o layout e permitir campos adicionais " +"em :ref:`construções de depuração `." #: ../../extending/newtypes_tutorial.rst:76 msgid "" "There is no semicolon above after the :c:macro:`PyObject_HEAD` macro. Be " "wary of adding one by accident: some compilers will complain." msgstr "" +"Não há ponto e vírgula acima após o macro :c:macro:`PyObject_HEAD`. Tenha " +"cuidado para não adicionar um por engano: alguns compiladores podem emitir " +"erros." #: ../../extending/newtypes_tutorial.rst:79 msgid "" @@ -137,6 +169,9 @@ msgid "" "``PyObject_HEAD`` boilerplate; for example, here is the definition for " "standard Python floats::" msgstr "" +"Obviamente, objetos geralmente armazenam dados adicionais além do padrão " +"``PyObject_HEAD`` boilerplate; por exemplo, aqui está a definição do padrão " +"Python floats::" #: ../../extending/newtypes_tutorial.rst:88 msgid "The second bit is the definition of the type object. ::" @@ -148,6 +183,10 @@ msgid "" "listing all the :c:type:`PyTypeObject` fields that you don't care about and " "also to avoid caring about the fields' declaration order." msgstr "" +"Recomendamos usar inicializadores nomeados no estilo C99, como mostrado " +"acima, para evitar listar todos os campos de :c:type:`PyTypeObject` com os " +"quais você não precisa se preocupar e também para não depender da ordem de " +"declaração desses campos" #: ../../extending/newtypes_tutorial.rst:105 msgid "" @@ -156,6 +195,10 @@ msgid "" "fields will be filled with zeros by the C compiler, and it's common practice " "to not specify them explicitly unless you need them." msgstr "" +"A definição real de :c:type:`PyTypeObject` no :file:`object.h` possui muito " +"mais :ref:`campos ` do que a definição acima. Os campos " +"restantes serão preenchidos com zeros pelo compilador C, e é prática comum " +"não especificá-los explicitamente, a menos que sejam necessários." #: ../../extending/newtypes_tutorial.rst:110 msgid "We're going to pick it apart, one field at a time::" @@ -166,28 +209,43 @@ msgid "" "This line is mandatory boilerplate to initialize the ``ob_base`` field " "mentioned above. ::" msgstr "" +"Essa linha é um boilerplate obrigatório para inicializar o campo ``ob_base`` " +"mencionado acima. ::" #: ../../extending/newtypes_tutorial.rst:119 msgid "" "The name of our type. This will appear in the default textual " "representation of our objects and in some error messages, for example:" msgstr "" +"O nome do nosso tipo. Ele aparecerá na representação textual padrão do " +"nosso objeto e em algumas mensagens erro, por exemplo:" #: ../../extending/newtypes_tutorial.rst:129 msgid "" "Note that the name is a dotted name that includes both the module name and " -"the name of the type within the module. The module in this case is :mod:" -"`custom` and the type is :class:`Custom`, so we set the type name to :class:" -"`custom.Custom`. Using the real dotted import path is important to make your " -"type compatible with the :mod:`pydoc` and :mod:`pickle` modules. ::" -msgstr "" +"the name of the type within the module. The module in this case is :mod:`!" +"custom` and the type is :class:`!Custom`, so we set the type name " +"to :class:`!custom.Custom`. Using the real dotted import path is important " +"to make your type compatible with the :mod:`pydoc` and :mod:`pickle` " +"modules. ::" +msgstr "" +"Observe que o nome é um nome pontilhado que inclui o nome módulo e o nome do " +"tipo dentro do módulo. O módulo, neste caso, é :mod:`!custom` e o tipo " +"é :class:`!Custom`, portanto, definimos o nome do tipo como :class:`!" +"custom.Custom`. O uso do pontilhado real caminho de importação é importante " +"para tornar seu tipo compatível com o :mod:`pydoc` e os " +"módulos :mod:`pickle`. ::" #: ../../extending/newtypes_tutorial.rst:138 msgid "" -"This is so that Python knows how much memory to allocate when creating new :" -"class:`Custom` instances. :c:member:`~PyTypeObject.tp_itemsize` is only " -"used for variable-sized objects and should otherwise be zero." +"This is so that Python knows how much memory to allocate when creating " +"new :class:`!Custom` instances. :c:member:`~PyTypeObject.tp_itemsize` is " +"only used for variable-sized objects and should otherwise be zero." msgstr "" +"Isso serve para que o Python saiba quanta memória deve ser alocada ao criar " +"novas instâncias do :class:`!Custom`. " +"O :c:member:`~PyTypeObject.tp_itemsize` é usado somente para objeto de " +"tamanho variável e, caso contrário, deve ser zero." #: ../../extending/newtypes_tutorial.rst:144 msgid "" @@ -195,17 +253,18 @@ msgid "" "same :c:member:`~PyTypeObject.tp_basicsize` as its base type, you may have " "problems with multiple inheritance. A Python subclass of your type will " "have to list your type first in its :attr:`~class.__bases__`, or else it " -"will not be able to call your type's :meth:`__new__` method without getting " -"an error. You can avoid this problem by ensuring that your type has a " -"larger value for :c:member:`~PyTypeObject.tp_basicsize` than its base type " +"will not be able to call your type's :meth:`~object.__new__` method without " +"getting an error. You can avoid this problem by ensuring that your type has " +"a larger value for :c:member:`~PyTypeObject.tp_basicsize` than its base type " "does. Most of the time, this will be true anyway, because either your base " "type will be :class:`object`, or else you will be adding data members to " "your base type, and therefore increasing its size." msgstr "" #: ../../extending/newtypes_tutorial.rst:154 -msgid "We set the class flags to :const:`Py_TPFLAGS_DEFAULT`. ::" +msgid "We set the class flags to :c:macro:`Py_TPFLAGS_DEFAULT`. ::" msgstr "" +"Definimos os sinalizadores da classe como :c:macro:`Py_TPFLAGS_DEFAULT`. ::" #: ../../extending/newtypes_tutorial.rst:158 msgid "" @@ -213,39 +272,56 @@ msgid "" "the members defined until at least Python 3.3. If you need further members, " "you will need to OR the corresponding flags." msgstr "" +"Todos os tipos devem incluir essa constante em seus sinalizadores. Ela " +"habilita todos os membros definidos até pelo menos o Python 3.3. Se você " +"precisar de membros adicionais, será necessário fazer um OR com os " +"sinalizadores correspondentes." #: ../../extending/newtypes_tutorial.rst:162 msgid "" "We provide a doc string for the type in :c:member:`~PyTypeObject.tp_doc`. ::" msgstr "" +"Fornecemos uma docstring para o tipo em " +"tp_doc :c:member:`~PyTypeObject.tp_doc`. ::" #: ../../extending/newtypes_tutorial.rst:166 msgid "" -"To enable object creation, we have to provide a :c:member:`~PyTypeObject." -"tp_new` handler. This is the equivalent of the Python method :meth:" -"`__new__`, but has to be specified explicitly. In this case, we can just " -"use the default implementation provided by the API function :c:func:" -"`PyType_GenericNew`. ::" +"To enable object creation, we have to provide " +"a :c:member:`~PyTypeObject.tp_new` handler. This is the equivalent of the " +"Python method :meth:`~object.__new__`, but has to be specified explicitly. " +"In this case, we can just use the default implementation provided by the API " +"function :c:func:`PyType_GenericNew`. ::" msgstr "" +"Para habilitar a criação de objetos, precisamos fornecer um manipulador " +"para :c:member:`~PyTypeObject.tp_new`. Esse é o equivalente ao método " +"Python :meth:`~object.__new__`, mas precisa ser especificado explicitamente. " +"Neste caso, podemos simplesmente usar a implementação padrão fornecida pela " +"função da API :c:func:`PyType_GenericNew`. ::" #: ../../extending/newtypes_tutorial.rst:173 msgid "" -"Everything else in the file should be familiar, except for some code in :c:" -"func:`PyInit_custom`::" +"Everything else in the file should be familiar, except for some code " +"in :c:func:`!PyInit_custom`::" msgstr "" #: ../../extending/newtypes_tutorial.rst:179 msgid "" -"This initializes the :class:`Custom` type, filling in a number of members to " -"the appropriate default values, including :attr:`ob_type` that we initially " -"set to ``NULL``. ::" +"This initializes the :class:`!Custom` type, filling in a number of members " +"to the appropriate default values, including :c:member:`~PyObject.ob_type` " +"that we initially set to ``NULL``. ::" msgstr "" +"Isso inicializa o tipo :class:`!Custom`, preenchendo vários membros com os " +"valores padrão apropriados, incluindo :c:member:`~PyObject.ob_type`, que " +"definimos inicialmente como ``NULL``. ::" #: ../../extending/newtypes_tutorial.rst:190 msgid "" -"This adds the type to the module dictionary. This allows us to create :" -"class:`Custom` instances by calling the :class:`Custom` class:" +"This adds the type to the module dictionary. This allows us to " +"create :class:`!Custom` instances by calling the :class:`!Custom` class:" msgstr "" +"Isso adiciona o tipo ao dicionário do módulo.\n" +"Isso nos permite criar instâncias de :class:`!Custom` chamando a " +"classe :class:`!Custom`:" #: ../../extending/newtypes_tutorial.rst:198 msgid "" @@ -255,7 +331,7 @@ msgstr "" #: ../../extending/newtypes_tutorial.rst:207 msgid "in a file called :file:`setup.py`; then typing" -msgstr "" +msgstr "Em um arquivo chamado :file:`setup.py`; e então digitando" #: ../../extending/newtypes_tutorial.rst:213 msgid "" @@ -273,12 +349,12 @@ msgid "" "Of course, the current Custom type is pretty uninteresting. It has no data " "and doesn't do anything. It can't even be subclassed." msgstr "" -"Naturalmente, o tipo personalizado atual é bastante desinteressante. Não tem " -"dados e não faz nada. Não pode nem ser subclassificado." +"Naturalmente, o tipo Custom atual é bastante desinteressante. Não tem dados " +"e não faz nada. Não pode nem ser subclassificado." #: ../../extending/newtypes_tutorial.rst:223 msgid "" -"While this documentation showcases the standard :mod:`distutils` module for " +"While this documentation showcases the standard :mod:`!distutils` module for " "building C extensions, it is recommended in real-world use cases to use the " "newer and better-maintained ``setuptools`` library. Documentation on how to " "do this is out of scope for this document and can be found in the `Python " @@ -293,9 +369,12 @@ msgstr "Adicionando dados e métodos ao exemplo básico" #: ../../extending/newtypes_tutorial.rst:233 msgid "" "Let's extend the basic example to add some data and methods. Let's also " -"make the type usable as a base class. We'll create a new module, :mod:" -"`custom2` that adds these capabilities:" +"make the type usable as a base class. We'll create a new module, :mod:`!" +"custom2` that adds these capabilities:" msgstr "" +"Vamos estender o exemplo básico para adicionar alguns dados e métodos. " +"Também vamos tornar o tipo utilizável como uma classe base. Iremos criar um " +"novo módulo, :mod:`!custom2`, que adiciona esses recursos:" #: ../../extending/newtypes_tutorial.rst:240 msgid "This version of the module has a number of changes." @@ -315,11 +394,15 @@ msgstr "" #: ../../extending/newtypes_tutorial.rst:249 msgid "" -"The :class:`Custom` type now has three data attributes in its C struct, " +"The :class:`!Custom` type now has three data attributes in its C struct, " "*first*, *last*, and *number*. The *first* and *last* variables are Python " "strings containing first and last names. The *number* attribute is a C " "integer." msgstr "" +"O tipo :class:`!Custom` agora possui três atributos de dados em sua " +"estrutura C: first, last e number. As variáveis first e last são strings " +"Python contendo o primeiro e o último nome. O atributo number é um inteiro " +"em C." #: ../../extending/newtypes_tutorial.rst:253 msgid "The object structure is updated accordingly::" @@ -330,21 +413,32 @@ msgid "" "Because we now have data to manage, we have to be more careful about object " "allocation and deallocation. At a minimum, we need a deallocation method::" msgstr "" +"Como agora temos dados para gerenciar, precisamos ter mais cuidado com a " +"alocação e a desalocação do objeto. No mínimo, precisamos de método de " +"desalocação::" #: ../../extending/newtypes_tutorial.rst:273 msgid "which is assigned to the :c:member:`~PyTypeObject.tp_dealloc` member::" -msgstr "" +msgstr "que é atribuído ao membro :c:member:`~PyTypeObject.tp_dealloc`::" #: ../../extending/newtypes_tutorial.rst:277 msgid "" -"This method first clears the reference counts of the two Python attributes. :" -"c:func:`Py_XDECREF` correctly handles the case where its argument is " -"``NULL`` (which might happen here if ``tp_new`` failed midway). It then " -"calls the :c:member:`~PyTypeObject.tp_free` member of the object's type " -"(computed by ``Py_TYPE(self)``) to free the object's memory. Note that the " -"object's type might not be :class:`CustomType`, because the object may be an " -"instance of a subclass." -msgstr "" +"This method first clears the reference counts of the two Python " +"attributes. :c:func:`Py_XDECREF` correctly handles the case where its " +"argument is ``NULL`` (which might happen here if ``tp_new`` failed midway). " +"It then calls the :c:member:`~PyTypeObject.tp_free` member of the object's " +"type (computed by ``Py_TYPE(self)``) to free the object's memory. Note that " +"the object's type might not be :class:`!CustomType`, because the object may " +"be an instance of a subclass." +msgstr "" +"Esse método primeiro limpa a contagem de referências dos dois atributos " +"Python. :c:func:`Py_XDECREF` lida corretamente com o caso em que seu " +"argumento é ``NULL`` (o que pode acontecer aqui se ``tp_new`` falhou no meio " +"do processo). Em seguida, ele chama o " +"membro :c:member:`~PyTypeObject.tp_free` do tipo do objeto (obtido por " +"``Py_TYPE(self)``) para liberar a memória do objeto. Observe que o tipo do " +"objeto pode não ser :class:`!CustomType`, pois o objeto pode ser uma " +"instância de uma subclasse." #: ../../extending/newtypes_tutorial.rst:286 msgid "" @@ -360,21 +454,33 @@ msgid "" "We want to make sure that the first and last names are initialized to empty " "strings, so we provide a ``tp_new`` implementation::" msgstr "" +"Queremos nos certificar de que o primeiro e o último nome sejam " +"inicializados como strings vazias, portanto, fornecemos uma implementação:: " +"``tp_new``::" #: ../../extending/newtypes_tutorial.rst:316 msgid "and install it in the :c:member:`~PyTypeObject.tp_new` member::" -msgstr "" +msgstr "e instale-o no membro:: :c:member:`~PyTypeObject.tp_new`" #: ../../extending/newtypes_tutorial.rst:320 msgid "" "The ``tp_new`` handler is responsible for creating (as opposed to " -"initializing) objects of the type. It is exposed in Python as the :meth:" -"`__new__` method. It is not required to define a ``tp_new`` member, and " -"indeed many extension types will simply reuse :c:func:`PyType_GenericNew` as " -"done in the first version of the ``Custom`` type above. In this case, we " -"use the ``tp_new`` handler to initialize the ``first`` and ``last`` " -"attributes to non-``NULL`` default values." -msgstr "" +"initializing) objects of the type. It is exposed in Python as " +"the :meth:`~object.__new__` method. It is not required to define a " +"``tp_new`` member, and indeed many extension types will simply " +"reuse :c:func:`PyType_GenericNew` as done in the first version of " +"the :class:`!Custom` type above. In this case, we use the ``tp_new`` " +"handler to initialize the ``first`` and ``last`` attributes to non-``NULL`` " +"default values." +msgstr "" +"O manipulador ``tp_new`` é responsável por criar (em oposição a inicializar) " +"os objetos do tipo. Ele é exposto no Python como o " +"método :meth:`~object.__new__`. Não é obrigatório definir um membro " +"``tp_new`` e, de fato, muitos tipos de extensão simplesmente " +"reutilizam :c:func:`PyType_GenericNew`, como na primeira versão do " +"tipo :class:`!Custom` acima. Neste caso, usamos o manipulador ``tp_new`` " +"para inicializar os atributos ``first`` e ``last`` com valores padrão que " +"não sejam ``NULL``." #: ../../extending/newtypes_tutorial.rst:328 msgid "" @@ -382,27 +488,41 @@ msgid "" "``CustomType``, if a subclass is instantiated) and any arguments passed when " "the type was called, and is expected to return the instance created. " "``tp_new`` handlers always accept positional and keyword arguments, but they " -"often ignore the arguments, leaving the argument handling to initializer (a." -"k.a. ``tp_init`` in C or ``__init__`` in Python) methods." +"often ignore the arguments, leaving the argument handling to initializer " +"(a.k.a. ``tp_init`` in C or ``__init__`` in Python) methods." msgstr "" +"O ``tp_new`` recebe o tipo que está sendo instanciado (não necessariamente " +"``CustomType``, caso uma subclasse esteja sendo instanciada) e quaisquer " +"argumentos passados quando o tipo foi chamado, e deve retornar a instância " +"criada. Manipuladores ``tp_new`` sempre aceitam argumentos posicionais e " +"argumentos nomeados, mas frequentemente os ignoram, deixando o tratamento " +"dos argumentos para os métodos inicializadores (ou seja, ``tp_init`` em C ou " +"``__init__`` em Python)." #: ../../extending/newtypes_tutorial.rst:336 msgid "" "``tp_new`` shouldn't call ``tp_init`` explicitly, as the interpreter will do " "it itself." msgstr "" +"``tp_new`` não deve chamar ``tp_init`` explicitamente, pois o interpretador " +"fará isso por conta própria." #: ../../extending/newtypes_tutorial.rst:339 msgid "" "The ``tp_new`` implementation calls the :c:member:`~PyTypeObject.tp_alloc` " "slot to allocate memory::" msgstr "" +"A implementação de ``tp_new`` chama o " +"slot :c:member:`~PyTypeObject.tp_alloc` para alocar memória::" #: ../../extending/newtypes_tutorial.rst:344 msgid "" -"Since memory allocation may fail, we must check the :c:member:`~PyTypeObject." -"tp_alloc` result against ``NULL`` before proceeding." +"Since memory allocation may fail, we must check " +"the :c:member:`~PyTypeObject.tp_alloc` result against ``NULL`` before " +"proceeding." msgstr "" +"Como a alocação de memória pode falhar, precisamos verificar se o resultado " +"de :c:member:`~PyTypeObject.tp_alloc` é ``NULL`` antes de prosseguir." #: ../../extending/newtypes_tutorial.rst:348 msgid "" @@ -411,48 +531,77 @@ msgid "" "class, which is :class:`object` by default. Most types use the default " "allocation strategy." msgstr "" +"Nós não preenchemos o slot :c:member:`~PyTypeObject.tp_alloc` por conta " +"própria. Em vez disso, :c:func:`PyType_Ready` o preenche herdando-o da nossa " +"classe base, que por padrão é :class:`object`. A maioria dos tipos usa a " +"estratégia de alocação padrão." #: ../../extending/newtypes_tutorial.rst:354 msgid "" "If you are creating a co-operative :c:member:`~PyTypeObject.tp_new` (one " -"that calls a base type's :c:member:`~PyTypeObject.tp_new` or :meth:" -"`__new__`), you must *not* try to determine what method to call using method " -"resolution order at runtime. Always statically determine what type you are " -"going to call, and call its :c:member:`~PyTypeObject.tp_new` directly, or " -"via ``type->tp_base->tp_new``. If you do not do this, Python subclasses of " -"your type that also inherit from other Python-defined classes may not work " -"correctly. (Specifically, you may not be able to create instances of such " -"subclasses without getting a :exc:`TypeError`.)" -msgstr "" +"that calls a base type's :c:member:`~PyTypeObject.tp_new` " +"or :meth:`~object.__new__`), you must *not* try to determine what method to " +"call using method resolution order at runtime. Always statically determine " +"what type you are going to call, and call " +"its :c:member:`~PyTypeObject.tp_new` directly, or via ``type->tp_base-" +">tp_new``. If you do not do this, Python subclasses of your type that also " +"inherit from other Python-defined classes may not work correctly. " +"(Specifically, you may not be able to create instances of such subclasses " +"without getting a :exc:`TypeError`.)" +msgstr "" +"Se você estiver criando um :c:member:`~PyTypeObject.tp_new` cooperativo (um " +"que chama o :c:member:`~PyTypeObject.tp_new` ou :meth:`~object.__new__` de " +"um tipo base), você *não* deve tentar determinar qual método chamar usando a " +"ordem de resolução de métodos em tempo de execução. Sempre determine " +"estaticamente qual tipo você vai chamar e chame " +"seu :c:member:`~PyTypeObject.tp_new` diretamente ou via ``type->tp_base-" +">tp_new``. Se você não fizer isso, as subclasses Python do seu tipo que " +"também herdam de outras classes definidas em Python podem não funcionar " +"corretamente. (Especificamente, você pode não conseguir criar instâncias " +"dessas subclasses sem receber um :exc:`TypeError`.)" #: ../../extending/newtypes_tutorial.rst:364 msgid "" "We also define an initialization function which accepts arguments to provide " "initial values for our instance::" msgstr "" +"Também definimos uma função de inicialização que aceita argumentos para " +"fornecer valores iniciais para nosso instância::" #: ../../extending/newtypes_tutorial.rst:393 msgid "by filling the :c:member:`~PyTypeObject.tp_init` slot. ::" -msgstr "" +msgstr "preenchendo o slot :: :c:member:`~PyTypeObject.tp_init`." #: ../../extending/newtypes_tutorial.rst:397 msgid "" -"The :c:member:`~PyTypeObject.tp_init` slot is exposed in Python as the :meth:" -"`__init__` method. It is used to initialize an object after it's created. " -"Initializers always accept positional and keyword arguments, and they should " -"return either ``0`` on success or ``-1`` on error." +"The :c:member:`~PyTypeObject.tp_init` slot is exposed in Python as " +"the :meth:`~object.__init__` method. It is used to initialize an object " +"after it's created. Initializers always accept positional and keyword " +"arguments, and they should return either ``0`` on success or ``-1`` on error." msgstr "" +"O slot :c:member:`~PyTypeObject.tp_init` é exposto em Python como o " +"método :meth:`~object.__init__`. Ele é usado para inicializar um objeto " +"depois que ele é criado. Inicializadores sempre aceitam argumentos " +"posicionais e argumentos nomeados, e devem retornar ``0`` em caso de sucesso " +"ou ``-1`` em caso de erro." #: ../../extending/newtypes_tutorial.rst:402 msgid "" "Unlike the ``tp_new`` handler, there is no guarantee that ``tp_init`` is " "called at all (for example, the :mod:`pickle` module by default doesn't " -"call :meth:`__init__` on unpickled instances). It can also be called " -"multiple times. Anyone can call the :meth:`__init__` method on our " +"call :meth:`~object.__init__` on unpickled instances). It can also be " +"called multiple times. Anyone can call the :meth:`!__init__` method on our " "objects. For this reason, we have to be extra careful when assigning the " "new attribute values. We might be tempted, for example to assign the " "``first`` member like this::" msgstr "" +"Ao contrário do manipulador ``tp_new``, não há garantia de que seja chamado " +"(por exemplo, o módulo :mod:`pickle` por padrão não " +"chama :meth:`~object.__init__` em instâncias desserializadas). Além disso, " +"``tp_init`` pode ser chamado várias vezes. Qualquer um pode chamar o " +"método :meth:`!__init__` em nossos objetos. Por esse motivo, precisamos ter " +"cuidado redobrado ao atribuir os novos valores de atributos. Poderíamos " +"ficar tentados, por exemplo, a atribuir o membro ``first`` assim::" #: ../../extending/newtypes_tutorial.rst:416 msgid "" @@ -470,9 +619,9 @@ msgid "" "always reassign members before decrementing their reference counts. When " "don't we have to do this?" msgstr "" -"Para sermos paranoicos e nos protegermos contra essa possibilidade, quase " -"sempre realocamos os membros antes de decrementar suas contagens de " -"referência. Quando não temos que fazer isso?" +"Para sermos extremamente cautelosos e nos proteger dessa possibilidade, " +"quase sempre atribuímos novamente os membros antes de decrementar a contagem " +"de referências. Quando não precisamos fazer isso?" #: ../../extending/newtypes_tutorial.rst:427 msgid "when we absolutely know that the reference count is greater than 1;" @@ -481,27 +630,33 @@ msgstr "" #: ../../extending/newtypes_tutorial.rst:429 msgid "" -"when we know that deallocation of the object [#]_ will neither release the :" -"term:`GIL` nor cause any calls back into our type's code;" +"when we know that deallocation of the object [#]_ will neither release " +"the :term:`GIL` nor cause any calls back into our type's code;" msgstr "" #: ../../extending/newtypes_tutorial.rst:432 msgid "" -"when decrementing a reference count in a :c:member:`~PyTypeObject." -"tp_dealloc` handler on a type which doesn't support cyclic garbage " -"collection [#]_." +"when decrementing a reference count in " +"a :c:member:`~PyTypeObject.tp_dealloc` handler on a type which doesn't " +"support cyclic garbage collection [#]_." msgstr "" +"quando estamos decrementando uma contagem de referências em um " +"manipulador :c:member:`~PyTypeObject.tp_dealloc` de um tipo que não oferece " +"suporte à coleta de lixo cíclica [#]_." #: ../../extending/newtypes_tutorial.rst:435 msgid "" "We want to expose our instance variables as attributes. There are a number " "of ways to do that. The simplest way is to define member definitions::" msgstr "" +"Queremos expor nossas variáveis de instância como atributos. Há várias " +"maneiras de fazer isso. A forma mais simples é estabelecer definições de " +"membros::" #: ../../extending/newtypes_tutorial.rst:448 msgid "" "and put the definitions in the :c:member:`~PyTypeObject.tp_members` slot::" -msgstr "" +msgstr "e colocar as definições no slot :c:member:`~PyTypeObject.tp_members`::" #: ../../extending/newtypes_tutorial.rst:452 msgid "" @@ -509,6 +664,9 @@ msgid "" "documentation string. See the :ref:`Generic-Attribute-Management` section " "below for details." msgstr "" +"Cada definição de membro possui um nome de membro, um tipo, um deslocamento, " +"sinalizadores de acesso e uma string de documentação. Consulte a " +"seção :ref:`Generic-Attribute-Management` abaixo para mais detalhes." #: ../../extending/newtypes_tutorial.rst:456 msgid "" @@ -520,31 +678,52 @@ msgid "" "``NULL`` values, the members can be set to ``NULL`` if the attributes are " "deleted." msgstr "" +"Uma desvantagem dessa abordagem é que ela não fornece uma forma de " +"restringir os tipos de objetos que podem ser atribuídos aos atributos em " +"Python. Esperamos que os nomes first e last sejam strings, mas qualquer " +"objeto Python pode ser atribuído. Além disso, os atributos podem ser " +"excluídos, fazendo com que os ponteiros em C sejam definidos como ``NULL``. " +"Mesmo que possamos garantir que os membros sejam inicializados com valores " +"não ``NULL``, eles ainda podem acabar sendo definidos como ``NULL`` caso os " +"atributos sejam apagados." #: ../../extending/newtypes_tutorial.rst:463 msgid "" -"We define a single method, :meth:`Custom.name()`, that outputs the objects " +"We define a single method, :meth:`!Custom.name()`, that outputs the objects " "name as the concatenation of the first and last names. ::" msgstr "" #: ../../extending/newtypes_tutorial.rst:480 msgid "" -"The method is implemented as a C function that takes a :class:`Custom` (or :" -"class:`Custom` subclass) instance as the first argument. Methods always " -"take an instance as the first argument. Methods often take positional and " -"keyword arguments as well, but in this case we don't take any and don't need " -"to accept a positional argument tuple or keyword argument dictionary. This " -"method is equivalent to the Python method:" -msgstr "" +"The method is implemented as a C function that takes a :class:`!Custom` " +"(or :class:`!Custom` subclass) instance as the first argument. Methods " +"always take an instance as the first argument. Methods often take positional " +"and keyword arguments as well, but in this case we don't take any and don't " +"need to accept a positional argument tuple or keyword argument dictionary. " +"This method is equivalent to the Python method:" +msgstr "" +"O método é implementado como uma função em C que recebe uma instância " +"de :class:`!Custom` (ou de uma subclasse de :class:`!Custom`) como primeiro " +"argumento. Métodos sempre recebem a instância como primeiro argumento. Eles " +"também costumam aceitar argumentos posicionais e nomeados, mas, neste caso, " +"não recebemos nenhum e não precisamos aceitar uma tupla de argumentos " +"posicionais nem um dicionário de argumentos nomeados. Este método equivale " +"ao método Python:" #: ../../extending/newtypes_tutorial.rst:492 msgid "" -"Note that we have to check for the possibility that our :attr:`first` and :" -"attr:`last` members are ``NULL``. This is because they can be deleted, in " -"which case they are set to ``NULL``. It would be better to prevent deletion " -"of these attributes and to restrict the attribute values to be strings. " -"We'll see how to do that in the next section." +"Note that we have to check for the possibility that our :attr:`!first` " +"and :attr:`!last` members are ``NULL``. This is because they can be " +"deleted, in which case they are set to ``NULL``. It would be better to " +"prevent deletion of these attributes and to restrict the attribute values to " +"be strings. We'll see how to do that in the next section." msgstr "" +"Observe que precisamos verificar a possibilidade de que nossos " +"atributos :attr:`!first` e :attr:`!last` estejam com valor ``NULL``. Isso " +"ocorre porque eles podem ser excluídos e, nesse caso, ficam definidos como " +"``NULL``. Seria melhor impedir a exclusão desses atributos e restringir seus " +"valores para que sejam sempre strings. Veremos como fazer isso na próxima " +"seção." #: ../../extending/newtypes_tutorial.rst:498 msgid "" @@ -556,28 +735,39 @@ msgstr "" #: ../../extending/newtypes_tutorial.rst:508 msgid "" -"(note that we used the :const:`METH_NOARGS` flag to indicate that the method " -"is expecting no arguments other than *self*)" +"(note that we used the :c:macro:`METH_NOARGS` flag to indicate that the " +"method is expecting no arguments other than *self*)" msgstr "" +"note que usamos o sinalizador :c:macro:`METH_NOARGS` para indicar que o " +"método não espera argumentos além de *self*)" #: ../../extending/newtypes_tutorial.rst:511 msgid "and assign it to the :c:member:`~PyTypeObject.tp_methods` slot::" -msgstr "" +msgstr "e atribuí-lo para o slot:: :c:member:`~PyTypeObject.tp_methods`" #: ../../extending/newtypes_tutorial.rst:515 msgid "" "Finally, we'll make our type usable as a base class for subclassing. We've " "written our methods carefully so far so that they don't make any assumptions " "about the type of the object being created or used, so all we need to do is " -"to add the :const:`Py_TPFLAGS_BASETYPE` to our class flag definition::" +"to add the :c:macro:`Py_TPFLAGS_BASETYPE` to our class flag definition::" msgstr "" +"Por fim, tornaremos nosso tipo utilizável como classe base para herança. " +"Escrevemos nossos métodos com cuidado até agora, garantindo que eles não " +"façam suposições sobre o tipo do objeto que está sendo criado ou utilizado; " +"portanto, tudo o que precisamos fazer é adicionar " +"a :c:macro:`Py_TPFLAGS_BASETYPE` à definição dos sinalizadores da nossa " +"classe::" #: ../../extending/newtypes_tutorial.rst:522 msgid "" -"We rename :c:func:`PyInit_custom` to :c:func:`PyInit_custom2`, update the " +"We rename :c:func:`!PyInit_custom` to :c:func:`!PyInit_custom2`, update the " "module name in the :c:type:`PyModuleDef` struct, and update the full class " "name in the :c:type:`PyTypeObject` struct." msgstr "" +"Renomeamos :c:func:`!PyInit_custom` para :c:func:`!PyInit_custom2`, " +"atualizamos o nome do módulo na estrutura :c:type:`PyModuleDef`, e " +"atualizamos o nome completo da classe na estrutura :c:type:`PyTypeObject`." #: ../../extending/newtypes_tutorial.rst:526 msgid "Finally, we update our :file:`setup.py` file to build the new module:" @@ -589,41 +779,61 @@ msgstr "Fornecendo controle mais preciso sobre atributos de dados" #: ../../extending/newtypes_tutorial.rst:541 msgid "" -"In this section, we'll provide finer control over how the :attr:`first` and :" -"attr:`last` attributes are set in the :class:`Custom` example. In the " -"previous version of our module, the instance variables :attr:`first` and :" -"attr:`last` could be set to non-string values or even deleted. We want to " -"make sure that these attributes always contain strings." +"In this section, we'll provide finer control over how the :attr:`!first` " +"and :attr:`!last` attributes are set in the :class:`!Custom` example. In the " +"previous version of our module, the instance variables :attr:`!first` " +"and :attr:`!last` could be set to non-string values or even deleted. We want " +"to make sure that these attributes always contain strings." msgstr "" +"Nesta seção, forneceremos um controle mais preciso sobre como os " +"atributos :attr:`!first` e :attr:`!last` são definidos no exemplo :class:`!" +"Custom`. Na versão anterior do nosso módulo, as variáveis de " +"instância :attr:`!first` e :attr:`!last` podiam receber valores que não " +"fossem strings ou até mesmo ser excluídas. Queremos garantir que esses " +"atributos sempre contenham strings." #: ../../extending/newtypes_tutorial.rst:550 msgid "" -"To provide greater control, over the :attr:`first` and :attr:`last` " +"To provide greater control, over the :attr:`!first` and :attr:`!last` " "attributes, we'll use custom getter and setter functions. Here are the " -"functions for getting and setting the :attr:`first` attribute::" +"functions for getting and setting the :attr:`!first` attribute::" msgstr "" +"Para oferecer um controle maior sobre os atributos :attr:`!first` e :attr:`!" +"last`, usaremos funções personalizadas de acesso (getters) e modificação " +"(setters). A seguir estão as funções para obter e definir o atributo :attr:`!" +"first`::" #: ../../extending/newtypes_tutorial.rst:581 msgid "" -"The getter function is passed a :class:`Custom` object and a \"closure\", " +"The getter function is passed a :class:`!Custom` object and a \"closure\", " "which is a void pointer. In this case, the closure is ignored. (The " "closure supports an advanced usage in which definition data is passed to the " "getter and setter. This could, for example, be used to allow a single set of " "getter and setter functions that decide the attribute to get or set based on " "data in the closure.)" msgstr "" +"A função getter recebe um objeto :class:`!Custom` e um closure, que é um " +"ponteiro para void. Neste caso, o closure é ignorado. (O closure oferece " +"suporte a um modo de usar mais avançado, no qual dados de definição são " +"passados ao getter e ao setter. Isso pode, por exemplo, permitir que um " +"único conjunto de funções getter e setter decida qual atributo obter ou " +"definir com base nos dados presentes no closure.)" #: ../../extending/newtypes_tutorial.rst:587 msgid "" -"The setter function is passed the :class:`Custom` object, the new value, and " -"the closure. The new value may be ``NULL``, in which case the attribute is " -"being deleted. In our setter, we raise an error if the attribute is deleted " -"or if its new value is not a string." +"The setter function is passed the :class:`!Custom` object, the new value, " +"and the closure. The new value may be ``NULL``, in which case the attribute " +"is being deleted. In our setter, we raise an error if the attribute is " +"deleted or if its new value is not a string." msgstr "" +"A função setter recebe o objeto :class:`!Custom`, o novo valor e o closure. " +"O novo valor pode ser ``NULL``, caso em que o atributo está sendo excluído. " +"No nosso setter, levantamos um erro se o atributo for excluído ou se o novo " +"valor não for uma string." #: ../../extending/newtypes_tutorial.rst:592 msgid "We create an array of :c:type:`PyGetSetDef` structures::" -msgstr "" +msgstr "Nós criamos um vetor de estruturas :c:type:`PyGetSetDef`::" #: ../../extending/newtypes_tutorial.rst:602 msgid "and register it in the :c:member:`~PyTypeObject.tp_getset` slot::" @@ -635,6 +845,9 @@ msgid "" "mentioned above. In this case, we aren't using a closure, so we just pass " "``NULL``." msgstr "" +"A última entrada em uma estrutura :c:type:`PyGetSetDef` é o “closure” " +"mencionado acima. Neste caso, não estamos usando um closure, então " +"simplesmente passamos ``NULL``." #: ../../extending/newtypes_tutorial.rst:609 msgid "We also remove the member definitions for these attributes::" @@ -645,6 +858,8 @@ msgid "" "We also need to update the :c:member:`~PyTypeObject.tp_init` handler to only " "allow strings [#]_ to be passed::" msgstr "" +"Também precisamos atualizar o manipulador :c:member:`~PyTypeObject.tp_init` " +"para permitir apenas strings [#]_ como valores passados::" #: ../../extending/newtypes_tutorial.rst:646 msgid "" @@ -655,6 +870,13 @@ msgid "" "these calls is in the ``tp_dealloc`` implementation, where there is the " "possibility that the initialization of these members failed in ``tp_new``." msgstr "" +"Com essas alterações, podemos garantir que os membros ``first`` e ``last`` " +"nunca sejam ``NULL``, de modo que podemos remover quase todas as " +"verificações de valores ``NULL``. Isso significa que a maioria das chamadas " +"para :c:func:`Py_XDECREF` pode ser substituída por chamadas " +"para :c:func:`Py_DECREF`. O único lugar em que não podemos substituir essas " +"chamadas é na implementação de ``tp_dealloc``, onde existe a possibilidade " +"de que a inicialização desses membros tenha falhado em ``tp_new``." #: ../../extending/newtypes_tutorial.rst:653 msgid "" @@ -662,6 +884,9 @@ msgid "" "initialization function, as we did before, and we add an extra definition to " "the :file:`setup.py` file." msgstr "" +"Também renomeamos a função de inicialização do módulo e o nome do módulo " +"dentro da função de inicialização, como fizemos anteriormente, e adicionamos " +"uma definição extra ao arquivo :file:`setup.py`." #: ../../extending/newtypes_tutorial.rst:659 msgid "Supporting cyclic garbage collection" @@ -673,6 +898,10 @@ msgid "" "can identify unneeded objects even when their reference counts are not zero. " "This can happen when objects are involved in cycles. For example, consider:" msgstr "" +"O Python possui um :term:`coletor de lixo (GC) cíclico ` " +"que pode identificar objetos que não são mais necessários mesmo quando suas " +"contagens de referências não são zero. Isso pode acontecer quando os objetos " +"participam de ciclos. Por exemplo, considere:" #: ../../extending/newtypes_tutorial.rst:671 msgid "" @@ -681,38 +910,60 @@ msgid "" "zero. Fortunately, Python's cyclic garbage collector will eventually figure " "out that the list is garbage and free it." msgstr "" +"Neste exemplo, criamos uma lista que contém a si mesma. Quando a apagamos, " +"ela ainda possui uma referência apontando para si própria. Sua contagem de " +"referências não cai para zero. Felizmente, o coletor de lixo cíclico do " +"Python acabará percebendo que a lista é lixo e irá liberá-la." #: ../../extending/newtypes_tutorial.rst:676 msgid "" -"In the second version of the :class:`Custom` example, we allowed any kind of " -"object to be stored in the :attr:`first` or :attr:`last` attributes [#]_. " -"Besides, in the second and third versions, we allowed subclassing :class:" -"`Custom`, and subclasses may add arbitrary attributes. For any of those two " -"reasons, :class:`Custom` objects can participate in cycles:" +"In the second version of the :class:`!Custom` example, we allowed any kind " +"of object to be stored in the :attr:`!first` or :attr:`!last` attributes " +"[#]_. Besides, in the second and third versions, we allowed " +"subclassing :class:`!Custom`, and subclasses may add arbitrary attributes. " +"For any of those two reasons, :class:`!Custom` objects can participate in " +"cycles:" msgstr "" +"No segunda versão do exemplo de :class:`!Custom`, permitimos que qualquer " +"tipo de objeto fosse armazenado nos atributos :attr:`!first` ou :attr:`!" +"last` [#]_. Além disso, na segunda e na terceira versões, permitimos " +"estender :class:`!Custom`, e subclasses podem adicionar atributos " +"arbitrários. Por qualquer um desses dois motivos, instâncias de :class:`!" +"Custom` podem participar de ciclos:" #: ../../extending/newtypes_tutorial.rst:690 msgid "" -"To allow a :class:`Custom` instance participating in a reference cycle to be " -"properly detected and collected by the cyclic GC, our :class:`Custom` type " -"needs to fill two additional slots and to enable a flag that enables these " -"slots:" +"To allow a :class:`!Custom` instance participating in a reference cycle to " +"be properly detected and collected by the cyclic GC, our :class:`!Custom` " +"type needs to fill two additional slots and to enable a flag that enables " +"these slots:" msgstr "" +"Para permitir que uma instância de :class:`!Custom` que participa de um " +"ciclo de referência seja corretamente detectada e coletada pelo coletor de " +"lixo cíclico, nosso tipo :class:`!Custom` precisa preencher dois slots " +"adicionais e ativar um sinalizador que habilita esses slots:" #: ../../extending/newtypes_tutorial.rst:697 msgid "" "First, the traversal method lets the cyclic GC know about subobjects that " "could participate in cycles::" msgstr "" +"Primeiro, o método de travessia informa ao coletor de lixo cíclico quais " +"subobjetos podem participar de ciclos::" #: ../../extending/newtypes_tutorial.rst:717 msgid "" -"For each subobject that can participate in cycles, we need to call the :c:" -"func:`visit` function, which is passed to the traversal method. The :c:func:" -"`visit` function takes as arguments the subobject and the extra argument " -"*arg* passed to the traversal method. It returns an integer value that must " -"be returned if it is non-zero." +"For each subobject that can participate in cycles, we need to call " +"the :c:func:`!visit` function, which is passed to the traversal method. " +"The :c:func:`!visit` function takes as arguments the subobject and the extra " +"argument *arg* passed to the traversal method. It returns an integer value " +"that must be returned if it is non-zero." msgstr "" +"Para cada subobjeto que pode participar de ciclos, precisamos chamar a " +"função :c:func:`!visit`, que é passada para o método de travessia. A " +"função :c:func:`!visit` recebe como argumentos o subobjeto e o argumento " +"extra *arg* fornecido ao método de travessia. Ela retorna um valor inteiro " +"que deve ser retornado se for diferente de zero." #: ../../extending/newtypes_tutorial.rst:723 msgid "" @@ -720,18 +971,26 @@ msgid "" "functions. With :c:func:`Py_VISIT`, we can minimize the amount of " "boilerplate in ``Custom_traverse``::" msgstr "" +"O Python fornece o macro :c:func:`Py_VISIT`, que automatiza as chamadas às " +"funções visit. Com :c:func:`Py_VISIT`, podemos minimizar a quantidade de " +"boilerplate em ``Custom_traverse``::" #: ../../extending/newtypes_tutorial.rst:736 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` implementation must name its " "arguments exactly *visit* and *arg* in order to use :c:func:`Py_VISIT`." msgstr "" +"A implementação de :c:member:`~PyTypeObject.tp_traverse` deve nomear seus " +"argumentos exatamente como *visit* e *arg* para que seja possível " +"usar :c:func:`Py_VISIT`." #: ../../extending/newtypes_tutorial.rst:739 msgid "" "Second, we need to provide a method for clearing any subobjects that can " "participate in cycles::" msgstr "" +"Segundo, precisamos fornecer um método para limpar quaisquer subobjetos que " +"possam participar de ciclos::" #: ../../extending/newtypes_tutorial.rst:750 msgid "" @@ -742,17 +1001,26 @@ msgid "" "attribute's destructor would call back into code that reads the attribute " "again (*especially* if there is a reference cycle)." msgstr "" +"Observe o uso do macro :c:func:`Py_CLEAR`. Ele é a forma recomendada e " +"segura de limpar atributos de dados de tipos arbitrários enquanto decrementa " +"suas contagens de referências. Se você chamasse :c:func:`Py_XDECREF` no " +"atributo antes de defini-lo como ``NULL``, haveria a possibilidade de que o " +"destrutor do atributo chamasse novamente algum código que lesse o atributo " +"(especialmente se houver um ciclo de referência)." #: ../../extending/newtypes_tutorial.rst:758 msgid "You could emulate :c:func:`Py_CLEAR` by writing::" -msgstr "" +msgstr "Você poderia emular :c:func:`Py_CLEAR` ao escrever::" #: ../../extending/newtypes_tutorial.rst:765 msgid "" -"Nevertheless, it is much easier and less error-prone to always use :c:func:" -"`Py_CLEAR` when deleting an attribute. Don't try to micro-optimize at the " -"expense of robustness!" +"Nevertheless, it is much easier and less error-prone to always " +"use :c:func:`Py_CLEAR` when deleting an attribute. Don't try to micro-" +"optimize at the expense of robustness!" msgstr "" +"Apesar disso, é muito mais fácil e menos propenso a erros, usar " +"sempre :c:func:`Py_CLEAR` ao excluir um atributo. Não tente micro‐otimizar " +"às custas da robustez!" #: ../../extending/newtypes_tutorial.rst:769 msgid "" @@ -760,22 +1028,36 @@ msgid "" "attributes. It means the circular GC can be triggered inside the function. " "Since the GC assumes reference count is not zero, we need to untrack the " "object from the GC by calling :c:func:`PyObject_GC_UnTrack` before clearing " -"members. Here is our reimplemented deallocator using :c:func:" -"`PyObject_GC_UnTrack` and ``Custom_clear``::" +"members. Here is our reimplemented deallocator " +"using :c:func:`PyObject_GC_UnTrack` and ``Custom_clear``::" msgstr "" +"O desalocador ``Custom_dealloc`` pode executar código arbitrário ao limpar " +"atributos. Isso significa que o GC pode ser acionado dentro da função. Como " +"o GC presume que a contagem de referências não é zero, precisamos remover o " +"objeto do rastreamento do GC chamando :c:func:`PyObject_GC_UnTrack` antes de " +"limpar os membros. A seguir está nossa versão reimplementada do desalocador " +"usando :c:func:`PyObject_GC_UnTrack` e ``Custom_clear``::" #: ../../extending/newtypes_tutorial.rst:784 msgid "" -"Finally, we add the :const:`Py_TPFLAGS_HAVE_GC` flag to the class flags::" +"Finally, we add the :c:macro:`Py_TPFLAGS_HAVE_GC` flag to the class flags::" msgstr "" +"Por fim, adicionamos o macro :c:macro:`Py_TPFLAGS_HAVE_GC` aos sinalizadores " +"da classe::" #: ../../extending/newtypes_tutorial.rst:788 msgid "" -"That's pretty much it. If we had written custom :c:member:`~PyTypeObject." -"tp_alloc` or :c:member:`~PyTypeObject.tp_free` handlers, we'd need to modify " -"them for cyclic garbage collection. Most extensions will use the versions " +"That's pretty much it. If we had written " +"custom :c:member:`~PyTypeObject.tp_alloc` " +"or :c:member:`~PyTypeObject.tp_free` handlers, we'd need to modify them for " +"cyclic garbage collection. Most extensions will use the versions " "automatically provided." msgstr "" +"Isso é praticamente tudo. Se tivéssemos escrito manipuladores personalizados " +"para :c:member:`~PyTypeObject.tp_alloc` " +"ou :c:member:`~PyTypeObject.tp_free`, precisaríamos adaptá-los para a coleta " +"de lixo cíclica. A maior parte das extensões usará as versões fornecidas " +"automaticamente." #: ../../extending/newtypes_tutorial.rst:794 msgid "Subclassing other types" @@ -788,21 +1070,33 @@ msgid "" "can easily use the :c:type:`PyTypeObject` it needs. It can be difficult to " "share these :c:type:`PyTypeObject` structures between extension modules." msgstr "" +"É possível criar novos tipos de extensão derivados de tipos já existentes. É " +"mais fácil herdar dos tipos embutidos, já que uma extensão pode usar " +"diretamente o :c:type:`PyTypeObject` de que precisa. Pode ser difícil " +"compartilhar essas estruturas :c:type:`PyTypeObject` entre módulos de " +"extensão distintos." #: ../../extending/newtypes_tutorial.rst:801 msgid "" -"In this example we will create a :class:`SubList` type that inherits from " +"In this example we will create a :class:`!SubList` type that inherits from " "the built-in :class:`list` type. The new type will be completely compatible " -"with regular lists, but will have an additional :meth:`increment` method " +"with regular lists, but will have an additional :meth:`!increment` method " "that increases an internal counter:" msgstr "" +"Neste exemplo, criaremos um tipo :class:`!SubList` que herda do tipo " +"embutido :class:`list`. O novo tipo será totalmente compatível com listas " +"comuns, mas terá um método adicional, :meth:`!increment`, que incrementa um " +"contador interno:" #: ../../extending/newtypes_tutorial.rst:821 msgid "" -"As you can see, the source code closely resembles the :class:`Custom` " +"As you can see, the source code closely resembles the :class:`!Custom` " "examples in previous sections. We will break down the main differences " "between them. ::" msgstr "" +"Como você pode consultar, o código-fonte se assemelha bastante aos exemplos " +"de :class:`!Custom` das seções anteriores. Vamos detalhar as principais " +"diferenças entre eles. ::" #: ../../extending/newtypes_tutorial.rst:829 msgid "" @@ -810,52 +1104,74 @@ msgid "" "object structure must be the first value. The base type will already " "include the :c:func:`PyObject_HEAD` at the beginning of its structure." msgstr "" +"A diferença principal para objetos de tipos derivados é que a estrutura de " +"objeto do tipo base deve ser o primeiro valor. O tipo base já inclui " +"o :c:func:`PyObject_HEAD` no início de sua própria estrutura." #: ../../extending/newtypes_tutorial.rst:833 msgid "" -"When a Python object is a :class:`SubList` instance, its ``PyObject *`` " +"When a Python object is a :class:`!SubList` instance, its ``PyObject *`` " "pointer can be safely cast to both ``PyListObject *`` and ``SubListObject " "*``::" msgstr "" +"Quando um objeto Python é uma instância de :class:`!SubList`, seu ponteiro " +"``PyObject *`` pode ser convertido com segurança tanto para ``PyListObject " +"*`` quanto para ``SubListObject *``::" #: ../../extending/newtypes_tutorial.rst:845 msgid "" -"We see above how to call through to the :attr:`__init__` method of the base " -"type." +"We see above how to call through to the :meth:`~object.__init__` method of " +"the base type." msgstr "" +"Vemos acima como chamar o método :meth:`~object.__init__` do tipo base." #: ../../extending/newtypes_tutorial.rst:848 msgid "" -"This pattern is important when writing a type with custom :c:member:" -"`~PyTypeObject.tp_new` and :c:member:`~PyTypeObject.tp_dealloc` members. " +"This pattern is important when writing a type with " +"custom :c:member:`~PyTypeObject.tp_new` " +"and :c:member:`~PyTypeObject.tp_dealloc` members. " "The :c:member:`~PyTypeObject.tp_new` handler should not actually create the " "memory for the object with its :c:member:`~PyTypeObject.tp_alloc`, but let " "the base class handle it by calling its own :c:member:`~PyTypeObject.tp_new`." msgstr "" +"Esse padrão é importante ao escrever um tipo que possui membros " +"personalizados em :c:member:`~PyTypeObject.tp_new` " +"e :c:member:`~PyTypeObject.tp_dealloc`. O " +"manipulador :c:member:`~PyTypeObject.tp_new` não deve realmente criar a " +"memória do objeto usando o seu próprio :c:member:`~PyTypeObject.tp_alloc`; " +"em vez disso, deve permitir que a classe base faça isso, chamando o seu " +"próprio :c:member:`~PyTypeObject.tp_new`." #: ../../extending/newtypes_tutorial.rst:854 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::" +"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::" msgstr "" #: ../../extending/newtypes_tutorial.rst:882 msgid "" -"Before calling :c:func:`PyType_Ready`, the type structure must have the :c:" -"member:`~PyTypeObject.tp_base` slot filled in. When we are deriving an " -"existing type, it is not necessary to fill out the :c:member:`~PyTypeObject." -"tp_alloc` slot with :c:func:`PyType_GenericNew` -- the allocation function " -"from the base type will be inherited." +"Before calling :c:func:`PyType_Ready`, the type structure must have " +"the :c:member:`~PyTypeObject.tp_base` slot filled in. When we are deriving " +"an existing type, it is not necessary to fill out " +"the :c:member:`~PyTypeObject.tp_alloc` slot with :c:func:`PyType_GenericNew` " +"-- the allocation function from the base type will be inherited." msgstr "" +"Antes de chamar :c:func:`PyType_Ready`, a estrutura do tipo deve ter o " +"slot :c:member:`~PyTypeObject.tp_base` preenchido. Ao derivarmos um tipo " +"existente, não é necessário preencher o " +"slot :c:member:`~PyTypeObject.tp_alloc` com :c:func:`PyType_GenericNew` — a " +"função de alocação do tipo base será herdada." #: ../../extending/newtypes_tutorial.rst:888 msgid "" "After that, calling :c:func:`PyType_Ready` and adding the type object to the " -"module is the same as with the basic :class:`Custom` examples." +"module is the same as with the basic :class:`!Custom` examples." msgstr "" +"Depois disso, chamar :c:func:`PyType_Ready` e adicionar o objeto de tipo ao " +"módulo é o mesmo processo usado nos exemplos básicos com :class:`!Custom`." #: ../../extending/newtypes_tutorial.rst:893 msgid "Footnotes" @@ -874,6 +1190,8 @@ msgid "" "We relied on this in the :c:member:`~PyTypeObject.tp_dealloc` handler in " "this example, because our type doesn't support garbage collection." msgstr "" +"Confiamos nisso no manipulador :c:member:`~PyTypeObject.tp_dealloc` neste " +"exemplo, porque o nosso tipo não oferece suporte à coleta de lixo." #: ../../extending/newtypes_tutorial.rst:900 msgid "" @@ -887,7 +1205,7 @@ msgstr "" "Agora sabemos que o primeiro e último membros são strings, então talvez " "pudéssemos ter menos cuidado com a diminuição de suas contagens de " "referência, no entanto, aceitamos instâncias de subclasses de string. Mesmo " -"que a desalocação de cadeias normais não retorne aos nossos objetos, não " +"que a desalocação de strings normais não retorne aos nossos objetos, não " "podemos garantir que a desalocação de uma instância de uma subclasse de " "cadeias de caracteres não retornará aos nossos objetos." diff --git a/extending/windows.po b/extending/windows.po index 4626a0e21..a0d187bdf 100644 --- a/extending/windows.po +++ b/extending/windows.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# felipe caridade , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -92,10 +90,10 @@ msgstr "" "como no Unix: use o pacote :mod:`distutils` para controlar o processo de " "construção ou faça as coisas manualmente. A abordagem distutils funciona bem " "para a maioria das extensões; documentação sobre o uso de :mod:`distutils` " -"para construir e empacotar módulos de extensão está disponível em :ref:" -"`distutils-index`. Se você achar que realmente precisa fazer as coisas " -"manualmente, pode ser instrutivo estudar o arquivo do projeto para o módulo " -"de biblioteca padrão :source:`winsound `." +"para construir e empacotar módulos de extensão está disponível " +"em :ref:`distutils-index`. Se você achar que realmente precisa fazer as " +"coisas manualmente, pode ser instrutivo estudar o arquivo do projeto para o " +"módulo de biblioteca padrão :source:`winsound `." #: ../../extending/windows.rst:48 msgid "Differences Between Unix and Windows" @@ -163,15 +161,15 @@ msgstr "" #: ../../extending/windows.rst:76 msgid "" "In Windows, there are two types of library, a static library and an import " -"library (both called :file:`.lib`). A static library is like a Unix :file:`." -"a` file; it contains code to be included as necessary. An import library is " -"basically used only to reassure the linker that a certain identifier is " -"legal, and will be present in the program when the DLL is loaded. So the " -"linker uses the information from the import library to build the lookup " -"table for using identifiers that are not included in the DLL. When an " -"application or a DLL is linked, an import library may be generated, which " -"will need to be used for all future DLLs that depend on the symbols in the " -"application or DLL." +"library (both called :file:`.lib`). A static library is like a " +"Unix :file:`.a` file; it contains code to be included as necessary. An " +"import library is basically used only to reassure the linker that a certain " +"identifier is legal, and will be present in the program when the DLL is " +"loaded. So the linker uses the information from the import library to build " +"the lookup table for using identifiers that are not included in the DLL. " +"When an application or a DLL is linked, an import library may be generated, " +"which will need to be used for all future DLLs that depend on the symbols in " +"the application or DLL." msgstr "" "No Windows, existem dois tipos de biblioteca, uma biblioteca estática e uma " "biblioteca de importação (ambas chamadas :file:`.lib`). Uma biblioteca " @@ -191,18 +189,19 @@ msgid "" "share another block of code A. On Unix, you would *not* pass :file:`A.a` to " "the linker for :file:`B.so` and :file:`C.so`; that would cause it to be " "included twice, so that B and C would each have their own copy. In Windows, " -"building :file:`A.dll` will also build :file:`A.lib`. You *do* pass :file:" -"`A.lib` to the linker for B and C. :file:`A.lib` does not contain code; it " -"just contains information which will be used at runtime to access A's code." +"building :file:`A.dll` will also build :file:`A.lib`. You *do* " +"pass :file:`A.lib` to the linker for B and C. :file:`A.lib` does not " +"contain code; it just contains information which will be used at runtime to " +"access A's code." msgstr "" "Suponha que você esteja construindo dois módulos de carregamento dinâmico, B " "e C, que devem compartilhar outro bloco de código A. No Unix, você *não* " -"passaria :file:`A.a` ao vinculador para :file:`B.so` e :file:`C.so`; isso " -"faria com que fosse incluído duas vezes, para que B e C tivessem sua própria " -"cópia. No Windows, a construção :file:`A.dll` também construirá :file:`A." -"lib`. Você *passa* :file:`A.lib` ao vinculador para B e C. :file:`A.lib` não " -"contém código; apenas contém informações que serão usadas em tempo de " -"execução para acessar o código de A." +"passaria :file:`A.a` ao ligador para :file:`B.so` e :file:`C.so`; isso faria " +"com que fosse incluído duas vezes, para que B e C tivessem sua própria " +"cópia. No Windows, a construção :file:`A.dll` também " +"construirá :file:`A.lib`. Você *passa* :file:`A.lib` ao ligador para B e " +"C. :file:`A.lib` não contém código; apenas contém informações que serão " +"usadas em tempo de execução para acessar o código de A." #: ../../extending/windows.rst:94 msgid "" @@ -236,8 +235,8 @@ msgid "" "spam), you could use these commands::" msgstr "" "Ao criar DLLs no Windows, você deve passar :file:`pythonXY.lib` para o " -"vinculador. Para construir duas DLLs, spam e ni (que usa funções C " -"encontradas em spam), você pode usar estes comandos::" +"ligador. Para construir duas DLLs, spam e ni (que usa funções C encontradas " +"em spam), você pode usar estes comandos::" #: ../../extending/windows.rst:118 msgid "" @@ -253,9 +252,9 @@ msgstr "" #: ../../extending/windows.rst:123 msgid "" -"The second command created :file:`ni.dll` (and :file:`.obj` and :file:`." -"lib`), which knows how to find the necessary functions from spam, and also " -"from the Python executable." +"The second command created :file:`ni.dll` (and :file:`.obj` " +"and :file:`.lib`), which knows how to find the necessary functions from " +"spam, and also from the Python executable." msgstr "" "O segundo comando criou :file:`ni.dll` (e :file:`.obj` e :file:`.lib`), que " "sabe como encontrar as funções necessárias do spam e também do executável do " @@ -279,10 +278,10 @@ msgid "" "Developer Studio will throw in a lot of import libraries that you do not " "really need, adding about 100K to your executable. To get rid of them, use " "the Project Settings dialog, Link tab, to specify *ignore default " -"libraries*. Add the correct :file:`msvcrtxx.lib` to the list of libraries." +"libraries*. Add the correct :file:`msvcrt{xx}.lib` to the list of libraries." msgstr "" -"O Developer Studio jogará muitas bibliotecas de importação que você " -"realmente não precisa, adicionando cerca de 100K ao seu executável. Para se " -"livrar delas, use a caixa de diálogo Project Settings, aba Link, para " -"especificar *ignore default libraries*. Adicione o :file:`msvcrtxx.lib` " -"correto à lista de bibliotecas." +"O Developer Studio incluirá muitas bibliotecas importadas que você realmente " +"não precisa, adicionando cerca de 100K ao seu executável. Para se livrar " +"delas, use a caixa de diálogo de configurações do projeto, na aba vincular, " +"para especificar *ignorar bibliotecas padrão*. Adicione " +"o :file:`msvcrt{xx}.lib` correto à lista de bibliotecas." diff --git a/faq/design.po b/faq/design.po index accf075b4..d00686911 100644 --- a/faq/design.po +++ b/faq/design.po @@ -1,37 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Fernando, 2021 -# Aline Balogh , 2021 -# Amanda Savluchinske , 2021 -# Alexsandro Matias de Almeida , 2021 -# Mariana Talaisys, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../faq/design.rst:3 msgid "Design and History FAQ" -msgstr "Design e Histórico FAQ" +msgstr "FAQ sobre design e histórico" #: ../../faq/design.rst:6 msgid "Contents" @@ -39,7 +33,7 @@ msgstr "Conteúdo" #: ../../faq/design.rst:11 msgid "Why does Python use indentation for grouping of statements?" -msgstr "Por que o Python usa indentação para agrupamento de declarações?" +msgstr "Por que o Python usa indentação para agrupamento de instruções?" #: ../../faq/design.rst:13 msgid "" @@ -58,9 +52,9 @@ msgid "" "programmers will encounter a fragment of code like this::" msgstr "" "Uma vez que não há colchetes de início / fim, não pode haver um desacordo " -"entre o agrupamento percebido pelo analisador e pelo leitor humano. " -"Ocasionalmente, programadores C irão encontrar um fragmento de código como " -"este::" +"entre o agrupamento percebido pelo analisador sintático e pelo leitor " +"humano. Ocasionalmente, programadores C irão encontrar um fragmento de " +"código como este::" #: ../../faq/design.rst:26 msgid "" @@ -99,6 +93,14 @@ msgid "" "brackets -- the lack of declarations and the high-level data types are also " "responsible -- but the indentation-based syntax certainly helps." msgstr "" +"Muitos estilos de codificação colocam chaves de início / fim em uma linha " +"sozinhos. Isto torna os programas consideravelmente mais longos e desperdiça " +"espaço valioso na tela, dificultando a obtenção de uma boa visão geral de um " +"programa. Idealmente, uma função deve caber em uma tela (digamos, 20 a 30 " +"linhas). 20 linhas de Python podem fazer muito mais trabalho do que 20 " +"linhas de C. Isso não se deve apenas à falta de colchetes de início/fim -- a " +"falta de declarações e os tipos de dados de alto nível também são " +"responsáveis -- mas a sintaxe baseada em indentação certamente ajuda." #: ../../faq/design.rst:48 msgid "Why am I getting strange results with simple arithmetic operations?" @@ -112,7 +114,7 @@ msgstr "Veja a próxima questão." #: ../../faq/design.rst:54 msgid "Why are floating-point calculations so inaccurate?" -msgstr "Por que o calculo de pontos flutuantes são tão imprecisos?" +msgstr "Por que o cálculo de pontos flutuantes são tão imprecisos?" #: ../../faq/design.rst:56 msgid "Users are often surprised by results like this::" @@ -130,13 +132,21 @@ msgstr "" #: ../../faq/design.rst:65 msgid "" -"The :class:`float` type in CPython uses a C ``double`` for storage. A :" -"class:`float` object's value is stored in binary floating-point with a fixed " -"precision (typically 53 bits) and Python uses C operations, which in turn " -"rely on the hardware implementation in the processor, to perform floating-" -"point operations. This means that as far as floating-point operations are " -"concerned, Python behaves like many popular languages including C and Java." -msgstr "" +"The :class:`float` type in CPython uses a C ``double`` for storage. " +"A :class:`float` object's value is stored in binary floating-point with a " +"fixed precision (typically 53 bits) and Python uses C operations, which in " +"turn rely on the hardware implementation in the processor, to perform " +"floating-point operations. This means that as far as floating-point " +"operations are concerned, Python behaves like many popular languages " +"including C and Java." +msgstr "" +"O tipo :class:`float` no CPython usa um ``double`` do C para armazenamento. " +"O valor de um objeto :class:`float` é armazenado em ponto flutuante binário " +"com uma precisão fixa (normalmente 53 bits) e Python usa operações C, que " +"por sua vez dependem da implementação de hardware no processador, para " +"realizar operações de ponto flutuante. Isso significa que, no que diz " +"respeito às operações de ponto flutuante, Python se comporta como muitas " +"linguagens populares, incluindo C e Java." #: ../../faq/design.rst:72 msgid "" @@ -166,12 +176,16 @@ msgid "" "The typical precision of 53 bits provides Python floats with 15--16 decimal " "digits of accuracy." msgstr "" +"A precisão típica de 53 bits fornece floats do Python com precisão de 15 a " +"16 dígitos decimais." #: ../../faq/design.rst:90 msgid "" "For a fuller explanation, please see the :ref:`floating point arithmetic " "` chapter in the Python tutorial." msgstr "" +"Para uma explicação mais completa, consulte o capítulo de :ref:`aritmética " +"de ponto flutuante ` no tutorial Python." #: ../../faq/design.rst:95 msgid "Why are Python strings immutable?" @@ -188,6 +202,10 @@ msgid "" "unchanging. This is also one of the reasons for the distinction between " "tuples and lists." msgstr "" +"Uma delas é o desempenho: saber que uma string é imutável significa que " +"podemos alocar espaço para ela no momento da criação, e os requisitos de " +"armazenamento são fixos e imutáveis. Esta é também uma das razões para a " +"distinção entre tuplas e listas." #: ../../faq/design.rst:104 msgid "" @@ -196,6 +214,10 @@ msgid "" "and in Python, no amount of activity will change the string \"eight\" to " "anything else." msgstr "" +"Outra vantagem é que strings em Python são consideradas tão “elementares” " +"quanto números. Nenhuma atividade alterará o valor 8 para qualquer outra " +"coisa e, em Python, nenhuma atividade alterará a string “oito” para qualquer " +"outra coisa." #: ../../faq/design.rst:112 msgid "Why must 'self' be used explicitly in method definitions and calls?" @@ -223,6 +245,16 @@ msgid "" "Some C++ and Java coding standards call for instance attributes to have an " "``m_`` prefix, so this explicitness is still useful in those languages, too." msgstr "" +"Primeiro, é mais óbvio que você está usando um método ou atributo de " +"instância em vez de uma variável local. Ler ``self.x`` ou ``self.meth()`` " +"deixa absolutamente claro que uma variável de instância ou método é usado " +"mesmo se você não souber a definição da classe de cor. Em C++, você pode " +"perceber pela falta de uma declaração de variável local (presumindo que " +"globais são raras ou facilmente reconhecíveis) -- mas no Python não há " +"declarações de variáveis locais, então você teria que procurar a definição " +"de classe para tenha certeza. Alguns padrões de codificação C++ e Java " +"exigem que atributos de instância tenham um prefixo ``m_``, portanto, essa " +"explicitação ainda é útil nessas linguagens também." #: ../../faq/design.rst:127 msgid "" @@ -253,6 +285,21 @@ msgid "" "instance variables live in two different namespaces, and you need to tell " "Python which namespace to use." msgstr "" +"Finalmente, por exemplo, variáveis, ele resolve um problema sintático com " +"atribuição: uma vez que variáveis locais em Python são (por definição!) " +"aquelas variáveis às quais um valor é atribuído em um corpo de função (e que " +"não são explicitamente declaradas globais), é necessário deve haver alguma " +"forma de dizer ao interpretador que uma atribuição deveria ser atribuída a " +"uma variável de instância em vez de a uma variável local, e deve ser " +"preferencialmente sintática (por razões de eficiência). C++ faz isso através " +"de declarações, mas Python não possui declarações e seria uma pena ter que " +"introduzi-las apenas para esse fim. Usar o ``self.var`` explícito resolve " +"isso muito bem. Da mesma forma, para usar variáveis de instância, ter que " +"escrever ``self.var`` significa que referências a nomes não qualificados " +"dentro de um método não precisam pesquisar nos diretórios da instância. Em " +"outras palavras, variáveis locais e variáveis de instância residem em dois " +"espaço de nomes diferentes, e você precisa informar ao Python qual espaço de " +"nomes usar." #: ../../faq/design.rst:154 msgid "Why can't I use an assignment in an expression?" @@ -267,18 +314,20 @@ msgid "" "Assignment expressions using the walrus operator ``:=`` assign a variable in " "an expression::" msgstr "" +"Expressões de atribuição usando o operador morsa ``:=`` atribuem uma " +"variável em uma expressão::" #: ../../faq/design.rst:164 msgid "See :pep:`572` for more information." -msgstr "Veja \\:pep\\:`572` para mais informações." +msgstr "Veja :pep:`572` para mais informações." #: ../../faq/design.rst:169 msgid "" "Why does Python use methods for some functionality (e.g. list.index()) but " "functions for other (e.g. len(list))?" msgstr "" -"Por que o Python usa métodos para algumas funcionalidades (ex: lista." -"index()) mas funções para outras (ex: len(lista))?" +"Por que o Python usa métodos para algumas funcionalidades (ex: " +"lista.index()) mas funções para outras (ex: len(lista))?" #: ../../faq/design.rst:171 msgid "As Guido said:" @@ -292,22 +341,37 @@ msgid "" "problem. Compare the easy with which we rewrite a formula like x*(a+b) into " "x*a + x*b to the clumsiness of doing the same thing using a raw OO notation." msgstr "" +"(a) Para algumas operações, a notação de prefixo é melhor lida do que as " +"operações de prefixo (e infixo!) têm uma longa tradição em matemática que " +"gosta de notações onde os recursos visuais ajudam o matemático a pensar " +"sobre um problema. Compare a facilidade com que reescrevemos uma fórmula " +"como x*(a+b) em x*a + x*b com a falta de jeito de fazer a mesma coisa usando " +"uma notação OO bruta." #: ../../faq/design.rst:180 msgid "" "(b) When I read code that says len(x) I *know* that it is asking for the " "length of something. This tells me two things: the result is an integer, and " -"the argument is some kind of container. To the contrary, when I read x." -"len(), I have to already know that x is some kind of container implementing " -"an interface or inheriting from a class that has a standard len(). Witness " -"the confusion we occasionally have when a class that is not implementing a " -"mapping has a get() or keys() method, or something that isn't a file has a " -"write() method." -msgstr "" - -#: ../../faq/design.rst:207 +"the argument is some kind of container. To the contrary, when I read " +"x.len(), I have to already know that x is some kind of container " +"implementing an interface or inheriting from a class that has a standard " +"len(). Witness the confusion we occasionally have when a class that is not " +"implementing a mapping has a get() or keys() method, or something that isn't " +"a file has a write() method." +msgstr "" +"(b) Quando leio o código que diz len(x) eu *sei* que ele está perguntando o " +"comprimento de alguma coisa. Isso me diz duas coisas: o resultado é um " +"número inteiro e o argumento é algum tipo de contêiner. Pelo contrário, " +"quando leio x.len(), já devo saber que x é algum tipo de contêiner " +"implementando uma interface ou herdando de uma classe que possui um len() " +"padrão. Veja a confusão que ocasionalmente temos quando uma classe que não " +"está implementando um mapeamento tem um método get() ou keys(), ou algo que " +"não é um arquivo tem um método write()." + +#: ../../faq/design.rst:189 msgid "https://mail.python.org/pipermail/python-3000/2006-November/004643.html" msgstr "" +"https://mail.python.org/pipermail/python-3000/2006-November/004643.html" #: ../../faq/design.rst:193 msgid "Why is join() a string method instead of a list or tuple method?" @@ -345,20 +409,34 @@ msgid "" "on names bound to strings there is no logical reason to make them " "unavailable on literals." msgstr "" +"O primeiro segue as linhas de: \"Parece muito feio usar um método de uma " +"string literal (constante de string)\", para o qual a resposta é que pode, " +"mas uma string literal é apenas um valor fixo. Se os métodos devem ser " +"permitidos em nomes vinculados a strings, não há razão lógica para torná-los " +"indisponíveis em literais." #: ../../faq/design.rst:215 msgid "" "The second objection is typically cast as: \"I am really telling a sequence " "to join its members together with a string constant\". Sadly, you aren't. " -"For some reason there seems to be much less difficulty with having :meth:" -"`~str.split` as a string method, since in that case it is easy to see that ::" +"For some reason there seems to be much less difficulty with " +"having :meth:`~str.split` as a string method, since in that case it is easy " +"to see that ::" msgstr "" +"A segunda objeção é normalmente formulada como: \"Na verdade, estou dizendo " +"a uma sequência para unir seus membros com uma constante de string\". " +"Infelizmente, você não está. Por alguma razão parece haver muito menos " +"dificuldade em ter :meth:`~str.split` como um método string, já que nesse " +"caso é fácil ver que ::" #: ../../faq/design.rst:222 msgid "" "is an instruction to a string literal to return the substrings delimited by " "the given separator (or, by default, arbitrary runs of white space)." msgstr "" +"é uma instrução para uma string literal para retornar as substrings " +"delimitadas pelo separador fornecido (ou, por padrão, execuções arbitrárias " +"de espaço em branco)." #: ../../faq/design.rst:225 msgid "" @@ -368,10 +446,16 @@ msgid "" "obeys the rules for sequence objects, including any new classes you might " "define yourself. Similar methods exist for bytes and bytearray objects." msgstr "" +":meth:`~str.join` é um método de string porque ao usá-lo você está dizendo à " +"string separadora para iterar sobre uma sequência de strings e se inserir " +"entre elementos adjacentes. Este método pode ser usado com qualquer " +"argumento que obedeça às regras para objetos sequência, incluindo quaisquer " +"novas classes que você mesmo possa definir. Existem métodos semelhantes para " +"bytes e objetos bytearray." #: ../../faq/design.rst:233 msgid "How fast are exceptions?" -msgstr "O quão rápidas são as exceções?" +msgstr "Quão rápidas são as exceções?" #: ../../faq/design.rst:235 msgid "" @@ -398,6 +482,10 @@ msgid "" "getvalue(key))``, but only if the ``getvalue()`` call is cheap enough " "because it is evaluated in all cases." msgstr "" +"Para este caso específico, você também pode usar ``value = " +"dict.setdefault(key, getvalue(key))``, mas apenas se a chamada " +"``getvalue()`` tiver pouco custosa o suficiente porque é avaliada em todos " +"os casos." #: ../../faq/design.rst:259 msgid "Why isn't there a switch or case statement in Python?" @@ -405,58 +493,93 @@ msgstr "Por que não existe uma instrução de switch ou case no Python?" #: ../../faq/design.rst:261 msgid "" -"You can do this easily enough with a sequence of ``if... elif... elif... " -"else``. For literal values, or constants within a namespace, you can also " -"use a ``match ... case`` statement." +"In general, structured switch statements execute one block of code when an " +"expression has a particular value or set of values. Since Python 3.10 one " +"can easily match literal values, or constants within a namespace, with a " +"``match ... case`` statement. An older alternative is a sequence of ``if... " +"elif... elif... else``." msgstr "" +"Em geral, as instruções switch estruturadas executam um bloco de código " +"quando uma expressão possui um valor ou conjunto de valores específico. " +"Desde o Python 3.10 é possível combinar facilmente valores literais, ou " +"constantes dentro de um espaço de nomes, com uma instrução ``match ... " +"case``. Uma alternativa mais antiga é uma sequência de ``if... elif... " +"elif... else``." -#: ../../faq/design.rst:265 +#: ../../faq/design.rst:267 msgid "" "For cases where you need to choose from a very large number of " "possibilities, you can create a dictionary mapping case values to functions " "to call. For example::" msgstr "" +"Para casos em que você precisa escolher entre um grande número de " +"possibilidades, você pode criar um dicionário mapeando valores de caso para " +"funções a serem chamadas. Por exemplo::" -#: ../../faq/design.rst:276 +#: ../../faq/design.rst:278 msgid "" -"For calling methods on objects, you can simplify yet further by using the :" -"func:`getattr` built-in to retrieve methods with a particular name::" +"For calling methods on objects, you can simplify yet further by using " +"the :func:`getattr` built-in to retrieve methods with a particular name::" msgstr "" +"Para chamar métodos em objetos, você pode simplificar ainda mais usando olá " +"função embutida :func:`getattr` para recuperar métodos com um nome " +"específico::" -#: ../../faq/design.rst:288 +#: ../../faq/design.rst:290 msgid "" "It's suggested that you use a prefix for the method names, such as " "``visit_`` in this example. Without such a prefix, if values are coming " "from an untrusted source, an attacker would be able to call any method on " "your object." msgstr "" +"É sugerido que você use um prefixo para os nomes dos métodos, como " +"``visit_`` neste exemplo. Sem esse prefixo, se os valores vierem de uma " +"fonte não confiável, um invasor poderá chamar qualquer método no seu objeto." #: ../../faq/design.rst:294 msgid "" +"Imitating switch with fallthrough, as with C's switch-case-default, is " +"possible, much harder, and less needed." +msgstr "" +"Imitar o comportamento do switch no C, em que a execução atravessa as " +"instruções de um case para outro caso não seja interrompida, é possível, " +"mais difícil, e menos necessário." + +#: ../../faq/design.rst:299 +msgid "" "Can't you emulate threads in the interpreter instead of relying on an OS-" "specific thread implementation?" msgstr "" +"Você não pode emular threads no interpretador em vez de confiar em uma " +"implementação de thread específica do sistema operacional?" -#: ../../faq/design.rst:296 +#: ../../faq/design.rst:301 msgid "" "Answer 1: Unfortunately, the interpreter pushes at least one C stack frame " "for each Python stack frame. Also, extensions can call back into Python at " "almost random moments. Therefore, a complete threads implementation " "requires thread support for C." msgstr "" +"Resposta 1: Infelizmente, o interpretador envia pelo menos um quadro de " +"pilha C para cada quadro de pilha Python. Além disso, as extensões podem " +"retornar ao Python em momentos quase aleatórios. Portanto, uma implementação " +"completa de threads requer suporte de thread para C." -#: ../../faq/design.rst:301 +#: ../../faq/design.rst:306 msgid "" "Answer 2: Fortunately, there is `Stackless Python `_, which has a completely redesigned " "interpreter loop that avoids the C stack." msgstr "" +"Resposta 2: Felizmente, existe o `Stackless Python `_, que tem um laço de interpretador " +"completamente redesenhado que evita a pilha C." -#: ../../faq/design.rst:306 +#: ../../faq/design.rst:311 msgid "Why can't lambda expressions contain statements?" msgstr "Por que expressões lambda não podem conter instruções?" -#: ../../faq/design.rst:308 +#: ../../faq/design.rst:313 msgid "" "Python lambda expressions cannot contain statements because Python's " "syntactic framework can't handle statements nested inside expressions. " @@ -471,7 +594,7 @@ msgstr "" "adicionam funcionalidade, lambdas de Python são apenas notações " "simplificadas se você tiver muita preguiça de definir uma função." -#: ../../faq/design.rst:314 +#: ../../faq/design.rst:319 msgid "" "Functions are already first class objects in Python, and can be declared in " "a local scope. Therefore the only advantage of using a lambda instead of a " @@ -480,26 +603,36 @@ msgid "" "(which is exactly the same type of object that a lambda expression yields) " "is assigned!" msgstr "" +"Funções já são objetos de primeira classe em Python, e podem ser declaradas " +"em um escopo local. Portanto a única vantagem de usar um lambda em vez de " +"uma função definida localmente é que você não precisa inventar um nome para " +"a função -- mas esta só é uma variável local para a qual o objeto da função " +"(que é exatamente do mesmo tipo de um objeto que uma expressão lambda " +"carrega) é atribuído!" -#: ../../faq/design.rst:322 +#: ../../faq/design.rst:327 msgid "Can Python be compiled to machine code, C or some other language?" msgstr "" "O Python pode ser compilado para linguagem de máquina, C ou alguma outra " "linguagem?" -#: ../../faq/design.rst:324 +#: ../../faq/design.rst:329 msgid "" "`Cython `_ compiles a modified version of Python with " "optional annotations into C extensions. `Nuitka `_ " "is an up-and-coming compiler of Python into C++ code, aiming to support the " "full Python language." msgstr "" +"`Cython `_ compila uma versão modificada do Python com " +"anotações opcionais em extensões C. `Nuitka `_ é um " +"compilador emergente de Python em código C++, com o objetivo de oferecer " +"suporte à linguagem Python completa." -#: ../../faq/design.rst:331 +#: ../../faq/design.rst:336 msgid "How does Python manage memory?" msgstr "Como o Python gerencia memória?" -#: ../../faq/design.rst:333 +#: ../../faq/design.rst:338 msgid "" "The details of Python memory management depend on the implementation. The " "standard implementation of Python, :term:`CPython`, uses reference counting " @@ -509,8 +642,15 @@ msgid "" "provides functions to perform a garbage collection, obtain debugging " "statistics, and tune the collector's parameters." msgstr "" +"Os detalhes do gerenciamento de memória Python dependem da implementação. A " +"implementação padrão do Python, :term:`CPython`, usa contagem de referências " +"para detectar objetos inacessíveis, e outro mecanismo para coletar ciclos de " +"referência, executando periodicamente um algoritmo de detecção de ciclo que " +"procura por ciclos inacessíveis e exclui os objetos envolvidos. O " +"módulo :mod:`gc` fornece funções para realizar uma coleta de lixo, obter " +"estatísticas de depuração e ajustar os parâmetros do coletor." -#: ../../faq/design.rst:341 +#: ../../faq/design.rst:346 msgid "" "Other implementations (such as `Jython `_ or `PyPy " "`_), however, can rely on a different mechanism such " @@ -518,14 +658,21 @@ msgid "" "porting problems if your Python code depends on the behavior of the " "reference counting implementation." msgstr "" +"Outras implementações (como `Jython `_ ou `PyPy " +"`_), no entanto, podem contar com um mecanismo " +"diferente, como um coletor de lixo maduro. Essa diferença pode causar alguns " +"problemas sutis de portabilidade se o seu código Python depender do " +"comportamento da implementação de contagem de referências." -#: ../../faq/design.rst:347 +#: ../../faq/design.rst:352 msgid "" "In some Python implementations, the following code (which is fine in " "CPython) will probably run out of file descriptors::" msgstr "" +"Em algumas implementações do Python, o código a seguir (que funciona bem no " +"CPython) provavelmente ficará sem descritores de arquivo:" -#: ../../faq/design.rst:354 +#: ../../faq/design.rst:359 msgid "" "Indeed, using CPython's reference counting and destructor scheme, each new " "assignment to *f* closes the previous file. With a traditional GC, however, " @@ -533,20 +680,24 @@ msgid "" "possibly long intervals." msgstr "" -#: ../../faq/design.rst:359 +#: ../../faq/design.rst:364 msgid "" "If you want to write code that will work with any Python implementation, you " "should explicitly close the file or use the :keyword:`with` statement; this " "will work regardless of memory management scheme::" msgstr "" +"Se você quiser escrever um código que funcione com qualquer implementação " +"Python, você deve fechar explicitamente o arquivo ou usar a " +"instrução :keyword:`with`; isso funcionará independentemente do esquema de " +"gerenciamento de memória::" -#: ../../faq/design.rst:369 +#: ../../faq/design.rst:374 msgid "Why doesn't CPython use a more traditional garbage collection scheme?" msgstr "" "Por que o CPython não usa uma forma mais tradicional de esquema de coleta de " "lixo?" -#: ../../faq/design.rst:371 +#: ../../faq/design.rst:376 msgid "" "For one thing, this is not a C standard feature and hence it's not portable. " "(Yes, we know about the Boehm GC library. It has bits of assembler code for " @@ -554,8 +705,13 @@ msgid "" "transparent, it isn't completely transparent; patches are required to get " "Python to work with it.)" msgstr "" +"Por um lado, este não é um recurso padrão C e, portanto, não é portátil. " +"(Sim, sabemos sobre a biblioteca Boehm GC. Ela possui pedaços de código " +"assembler para a *maioria* das plataformas comuns, não para todas elas, e " +"embora seja em sua maioria transparente, não é completamente transparente; " +"são necessários patches para obter Python para trabalhar com isso.)" -#: ../../faq/design.rst:377 +#: ../../faq/design.rst:382 msgid "" "Traditional GC also becomes a problem when Python is embedded into other " "applications. While in a standalone Python it's fine to replace the " @@ -565,11 +721,11 @@ msgid "" "with anything that implements malloc() and free() properly." msgstr "" -#: ../../faq/design.rst:386 +#: ../../faq/design.rst:391 msgid "Why isn't all memory freed when CPython exits?" msgstr "Por que toda memória não é liberada quando o CPython fecha?" -#: ../../faq/design.rst:388 +#: ../../faq/design.rst:393 msgid "" "Objects referenced from the global namespaces of Python modules are not " "always deallocated when Python exits. This may happen if there are circular " @@ -578,18 +734,26 @@ msgid "" "about these). Python is, however, aggressive about cleaning up memory on " "exit and does try to destroy every single object." msgstr "" +"Os objetos referenciados nos espaço de nomes globais dos módulos Python nem " +"sempre são desalocados quando o Python é encerrado. Isso pode acontecer se " +"houver referências circulares. Existem também certos bits de memória " +"alocados pela biblioteca C que são impossíveis de liberar (por exemplo, uma " +"ferramenta como o Purify reclamará disso). Python é, no entanto, agressivo " +"quanto à limpeza de memória na saída e tenta destruir todos os objetos." -#: ../../faq/design.rst:395 +#: ../../faq/design.rst:400 msgid "" "If you want to force Python to delete certain things on deallocation use " "the :mod:`atexit` module to run a function that will force those deletions." msgstr "" +"Se você quiser forçar o Python a excluir certas coisas na desalocação, use o " +"módulo :mod:`atexit` para executar uma função que forçará essas exclusões." -#: ../../faq/design.rst:400 +#: ../../faq/design.rst:405 msgid "Why are there separate tuple and list data types?" msgstr "Por que existem tipos de dados separados para tuplas e listas?" -#: ../../faq/design.rst:402 +#: ../../faq/design.rst:407 msgid "" "Lists and tuples, while similar in many respects, are generally used in " "fundamentally different ways. Tuples can be thought of as being similar to " @@ -599,7 +763,7 @@ msgid "" "numbers." msgstr "" -#: ../../faq/design.rst:409 +#: ../../faq/design.rst:414 msgid "" "Lists, on the other hand, are more like arrays in other languages. They " "tend to hold a varying number of objects all of which have the same type and " @@ -609,7 +773,7 @@ msgid "" "added another file or two to the directory." msgstr "" -#: ../../faq/design.rst:416 +#: ../../faq/design.rst:421 msgid "" "Tuples are immutable, meaning that once a tuple has been created, you can't " "replace any of its elements with a new value. Lists are mutable, meaning " @@ -617,46 +781,67 @@ msgid "" "be used as dictionary keys, and hence only tuples and not lists can be used " "as keys." msgstr "" +"As tuplas são imutáveis, o que significa que, uma vez criada uma tupla, você " +"não pode substituir nenhum de seus elementos por um novo valor. As listas " +"são mutáveis, o que significa que você sempre pode alterar os elementos de " +"uma lista. Somente elementos imutáveis podem ser usados como chaves de " +"dicionário e, portanto, apenas tuplas e não listas podem ser usadas como " +"chaves." -#: ../../faq/design.rst:423 +#: ../../faq/design.rst:428 msgid "How are lists implemented in CPython?" msgstr "Como as listas são implementadas no CPython?" -#: ../../faq/design.rst:425 +#: ../../faq/design.rst:430 msgid "" "CPython's lists are really variable-length arrays, not Lisp-style linked " "lists. The implementation uses a contiguous array of references to other " "objects, and keeps a pointer to this array and the array's length in a list " "head structure." msgstr "" +"As listas do CPython são, na verdade, vetores de comprimento variável, " +"listas vinculadas não no estilo Lisp. A implementação usa um vetor contíguo " +"de referências a outros objetos e mantém um ponteiro para esse vetor e o " +"comprimento de vetor em uma estrutura de cabeçalho de lista." -#: ../../faq/design.rst:429 +#: ../../faq/design.rst:434 msgid "" "This makes indexing a list ``a[i]`` an operation whose cost is independent " "of the size of the list or the value of the index." msgstr "" +"Isso torna a indexação de uma lista ``a[i]`` uma operação cujo custo é " +"independente do tamanho da lista ou do valor do índice." -#: ../../faq/design.rst:432 +#: ../../faq/design.rst:437 msgid "" "When items are appended or inserted, the array of references is resized. " "Some cleverness is applied to improve the performance of appending items " "repeatedly; when the array must be grown, some extra space is allocated so " "the next few times don't require an actual resize." msgstr "" +"Quando itens são anexados ou inseridos, o vetor de referências é " +"redimensionado. Alguma inteligência é aplicada para melhorar o desempenho de " +"anexar itens repetidamente; quando o vetor precisa ser aumentado, algum " +"espaço extra é alocado para que as próximas vezes não exijam um " +"redimensionamento real." -#: ../../faq/design.rst:439 +#: ../../faq/design.rst:444 msgid "How are dictionaries implemented in CPython?" msgstr "Como são os dicionários implementados no CPython?" -#: ../../faq/design.rst:441 +#: ../../faq/design.rst:446 msgid "" "CPython's dictionaries are implemented as resizable hash tables. Compared " "to B-trees, this gives better performance for lookup (the most common " "operation by far) under most circumstances, and the implementation is " "simpler." msgstr "" +"Os dicionários do CPython são implementados como tabelas hash " +"redimensionáveis. Em comparação com árvores B, isso oferece melhor " +"desempenho para pesquisa (de longe a operação mais comum) na maioria das " +"circunstâncias, e a implementação é mais simples." -#: ../../faq/design.rst:445 +#: ../../faq/design.rst:450 msgid "" "Dictionaries work by computing a hash code for each key stored in the " "dictionary using the :func:`hash` built-in function. The hash code varies " @@ -665,15 +850,15 @@ msgid "" "bit, could hash to 1142331976. The hash code is then used to calculate a " "location in an internal array where the value will be stored. Assuming that " "you're storing keys that all have different hash values, this means that " -"dictionaries take constant time -- O(1), in Big-O notation -- to retrieve a " -"key." +"dictionaries take constant time -- *O*\\ (1), in Big-O notation -- to " +"retrieve a key." msgstr "" -#: ../../faq/design.rst:456 +#: ../../faq/design.rst:461 msgid "Why must dictionary keys be immutable?" msgstr "Por que chaves de dicionário devem ser imutáveis?" -#: ../../faq/design.rst:458 +#: ../../faq/design.rst:463 msgid "" "The hash table implementation of dictionaries uses a hash value calculated " "from the key value to find the key. If the key were a mutable object, its " @@ -685,49 +870,77 @@ msgid "" "be found either, because the value of the object found in that hash bin " "would be different." msgstr "" +"A implementação da tabela hash de dicionários usa um valor hash calculado a " +"partir do valor da chave para encontrar a chave. Se a chave fosse um objeto " +"mutável, seu valor poderia mudar e, portanto, seu hash também poderia mudar. " +"Mas como quem altera o objeto-chave não pode saber que ele estava sendo " +"usado como chave de dicionário, ele não pode mover a entrada no dicionário. " +"Então, quando você tentar procurar o mesmo objeto no dicionário, ele não " +"será encontrado porque seu valor de hash é diferente. Se você tentasse " +"procurar o valor antigo, ele também não seria encontrado, porque o valor do " +"objeto encontrado naquele hash seria diferente." -#: ../../faq/design.rst:467 +#: ../../faq/design.rst:472 msgid "" "If you want a dictionary indexed with a list, simply convert the list to a " "tuple first; the function ``tuple(L)`` creates a tuple with the same entries " "as the list ``L``. Tuples are immutable and can therefore be used as " "dictionary keys." msgstr "" +"Se você deseja que um dicionário seja indexado com uma lista, simplesmente " +"converta primeiro a lista em uma tupla; a função ``tuple(L)`` cria uma tupla " +"com as mesmas entradas da lista ``L``. As tuplas são imutáveis e, portanto, " +"podem ser usadas como chaves de dicionário." -#: ../../faq/design.rst:471 +#: ../../faq/design.rst:476 msgid "Some unacceptable solutions that have been proposed:" msgstr "Algumas soluções inaceitáveis que foram propostas:" -#: ../../faq/design.rst:473 +#: ../../faq/design.rst:478 msgid "" "Hash lists by their address (object ID). This doesn't work because if you " "construct a new list with the same value it won't be found; e.g.::" msgstr "" +"Listas de hash por endereço (ID do objeto). Isto não funciona porque se você " +"construir uma nova lista com o mesmo valor ela não será encontrada; por " +"exemplo.::" -#: ../../faq/design.rst:479 +#: ../../faq/design.rst:484 msgid "" "would raise a :exc:`KeyError` exception because the id of the ``[1, 2]`` " "used in the second line differs from that in the first line. In other " -"words, dictionary keys should be compared using ``==``, not using :keyword:" -"`is`." +"words, dictionary keys should be compared using ``==``, not " +"using :keyword:`is`." msgstr "" +"levantaria uma exceção :exc:`KeyError` porque o id do ``[1, 2]`` usado na " +"segunda linha difere daquele da primeira linha. Em outras palavras, as " +"chaves de dicionário devem ser comparadas usando ``==``, não " +"usando :keyword:`is`." -#: ../../faq/design.rst:483 +#: ../../faq/design.rst:488 msgid "" "Make a copy when using a list as a key. This doesn't work because the list, " "being a mutable object, could contain a reference to itself, and then the " "copying code would run into an infinite loop." msgstr "" +"Fazer uma cópia ao usar uma lista como chave. Isso não funciona porque a " +"lista, sendo um objeto mutável, poderia conter uma referência a si mesma e " +"então o código copiado entraria em um laço infinito." -#: ../../faq/design.rst:487 +#: ../../faq/design.rst:492 msgid "" "Allow lists as keys but tell the user not to modify them. This would allow " "a class of hard-to-track bugs in programs when you forgot or modified a list " "by accident. It also invalidates an important invariant of dictionaries: " "every value in ``d.keys()`` is usable as a key of the dictionary." msgstr "" +"Permitir listas como chaves, mas dizer ao usuário para não modificá-las. " +"Isso permitiria uma classe de bugs difíceis de rastrear em programas quando " +"você esquecesse ou modificasse uma lista por acidente. Também invalida uma " +"importante invariante dos dicionários: todo valor em ``d.keys()`` pode ser " +"usado como chave do dicionário." -#: ../../faq/design.rst:492 +#: ../../faq/design.rst:497 msgid "" "Mark lists as read-only once they are used as a dictionary key. The problem " "is that it's not just the top-level object that could change its value; you " @@ -736,8 +949,14 @@ msgid "" "read-only -- and again, self-referential objects could cause an infinite " "loop." msgstr "" +"Marcar listas como somente leitura quando forem usadas como chave de " +"dicionário. O problema é que não é apenas o objeto de nível superior que " +"pode alterar seu valor; você poderia usar uma tupla contendo uma lista como " +"chave. Inserir qualquer coisa como chave em um dicionário exigiria marcar " +"todos os objetos acessíveis a partir daí como somente leitura -- e, " +"novamente, objetos autorreferenciais poderiam causar um laço infinito." -#: ../../faq/design.rst:498 +#: ../../faq/design.rst:503 msgid "" "There is a trick to get around this if you need to, but use it at your own " "risk: You can wrap a mutable structure inside a class instance which has " @@ -747,23 +966,31 @@ msgid "" "in the dictionary (or other structure). ::" msgstr "" -#: ../../faq/design.rst:522 +#: ../../faq/design.rst:527 msgid "" "Note that the hash computation is complicated by the possibility that some " "members of the list may be unhashable and also by the possibility of " "arithmetic overflow." msgstr "" +"Observe que o cálculo do hash é complicado pela possibilidade de que alguns " +"membros da lista possam ser não não-hasheável e também pela possibilidade de " +"estouro aritmético." -#: ../../faq/design.rst:526 +#: ../../faq/design.rst:531 msgid "" -"Furthermore it must always be the case that if ``o1 == o2`` (ie ``o1." -"__eq__(o2) is True``) then ``hash(o1) == hash(o2)`` (ie, ``o1.__hash__() == " -"o2.__hash__()``), regardless of whether the object is in a dictionary or " -"not. If you fail to meet these restrictions dictionaries and other hash " -"based structures will misbehave." +"Furthermore it must always be the case that if ``o1 == o2`` (ie " +"``o1.__eq__(o2) is True``) then ``hash(o1) == hash(o2)`` (ie, " +"``o1.__hash__() == o2.__hash__()``), regardless of whether the object is in " +"a dictionary or not. If you fail to meet these restrictions dictionaries " +"and other hash based structures will misbehave." msgstr "" +"Além disso, deve ser sempre o caso que se ``o1 == o2`` (ou seja, " +"``o1.__eq__(o2) is True``) então ``hash(o1) == hash(o2)`` (ou seja, " +"``o1.__hash__() == o2.__hash__()``), independentemente de o objeto estar em " +"um dicionário ou não. Se você não cumprir essas restrições, os dicionários e " +"outras estruturas baseadas em hash se comportarão mal." -#: ../../faq/design.rst:531 +#: ../../faq/design.rst:536 msgid "" "In the case of ListWrapper, whenever the wrapper object is in a dictionary " "the wrapped list must not change to avoid anomalies. Don't do this unless " @@ -771,11 +998,11 @@ msgid "" "of not meeting them correctly. Consider yourself warned." msgstr "" -#: ../../faq/design.rst:538 +#: ../../faq/design.rst:543 msgid "Why doesn't list.sort() return the sorted list?" msgstr "Por que lista.sort() não retorna a lista ordenada?" -#: ../../faq/design.rst:540 +#: ../../faq/design.rst:545 msgid "" "In situations where performance matters, making a copy of the list just to " "sort it would be wasteful. Therefore, :meth:`list.sort` sorts the list in " @@ -785,13 +1012,13 @@ msgid "" "around." msgstr "" "Em situações nas quais desempenho importa, fazer uma cópia da lista só para " -"ordenar seria desperdício. Portanto, :meth:`lista.sort` ordena a lista. De " +"ordenar seria desperdício. Portanto, :meth:`list.sort` ordena a lista. De " "forma a lembrá-lo desse fato, isso não retorna a lista ordenada. Desta " "forma, você não vai ser confundido a acidentalmente sobrescrever uma lista " "quando você precisar de uma cópia ordenada mas também precisar manter a " "versão não ordenada." -#: ../../faq/design.rst:546 +#: ../../faq/design.rst:551 msgid "" "If you want to return a new list, use the built-in :func:`sorted` function " "instead. This function creates a new list from a provided iterable, sorts " @@ -803,58 +1030,89 @@ msgstr "" "ordena e retorna. Por exemplo, aqui é como se itera em cima das chaves de um " "dicionário de maneira ordenada::" -#: ../../faq/design.rst:556 +#: ../../faq/design.rst:561 msgid "How do you specify and enforce an interface spec in Python?" -msgstr "" +msgstr "Como você especifica e aplica um spec de interface no Python?" -#: ../../faq/design.rst:558 +#: ../../faq/design.rst:563 msgid "" "An interface specification for a module as provided by languages such as C++ " "and Java describes the prototypes for the methods and functions of the " "module. Many feel that compile-time enforcement of interface specifications " "helps in the construction of large programs." msgstr "" +"Uma especificação de interface para um módulo fornecida por linguagens como " +"C++ e Java descreve os protótipos para os métodos e funções do módulo. " +"Muitos acham que a aplicação de especificações de interface em tempo de " +"compilação ajuda na construção de programas grandes." -#: ../../faq/design.rst:563 +#: ../../faq/design.rst:568 msgid "" "Python 2.6 adds an :mod:`abc` module that lets you define Abstract Base " "Classes (ABCs). You can then use :func:`isinstance` and :func:`issubclass` " -"to check whether an instance or a class implements a particular ABC. The :" -"mod:`collections.abc` module defines a set of useful ABCs such as :class:" -"`~collections.abc.Iterable`, :class:`~collections.abc.Container`, and :class:" -"`~collections.abc.MutableMapping`." +"to check whether an instance or a class implements a particular ABC. " +"The :mod:`collections.abc` module defines a set of useful ABCs such " +"as :class:`~collections.abc.Iterable`, :class:`~collections.abc.Container`, " +"and :class:`~collections.abc.MutableMapping`." msgstr "" +"Python 2.6 adiciona um módulo :mod:`abc` que permite definir Classes Base " +"Abstratas (ABCs). Você pode então usar :func:`isinstance` " +"e :func:`issubclass` para verificar se uma instância ou classe implementa um " +"ABC específico. O módulo :mod:`collections.abc` define um conjunto de ABCs " +"úteis " +"como :class:`~collections.abc.Iterable`, :class:`~collections.abc.Container` " +"e :class:`~collections.abc.MutableMapping`" -#: ../../faq/design.rst:570 +#: ../../faq/design.rst:575 msgid "" "For Python, many of the advantages of interface specifications can be " "obtained by an appropriate test discipline for components." msgstr "" +"Para Python, muitas das vantagens das especificações de interface podem ser " +"obtidas por uma disciplina de teste apropriada para componentes." -#: ../../faq/design.rst:573 +#: ../../faq/design.rst:578 msgid "" "A good test suite for a module can both provide a regression test and serve " "as a module interface specification and a set of examples. Many Python " "modules can be run as a script to provide a simple \"self test.\" Even " "modules which use complex external interfaces can often be tested in " -"isolation using trivial \"stub\" emulations of the external interface. The :" -"mod:`doctest` and :mod:`unittest` modules or third-party test frameworks can " -"be used to construct exhaustive test suites that exercise every line of code " -"in a module." -msgstr "" - -#: ../../faq/design.rst:581 +"isolation using trivial \"stub\" emulations of the external interface. " +"The :mod:`doctest` and :mod:`unittest` modules or third-party test " +"frameworks can be used to construct exhaustive test suites that exercise " +"every line of code in a module." +msgstr "" +"Um bom conjunto de testes para um módulo pode fornecer um teste de regressão " +"e servir como uma especificação de interface do módulo e um conjunto de " +"exemplos. Muitos módulos Python podem ser executados como um script para " +"fornecer um simples \"autoteste\". Mesmo módulos que usam interfaces " +"externas complexas muitas vezes podem ser testados isoladamente usando " +"emulações triviais da interface externa. Os módulos :mod:`doctest` " +"e :mod:`unittest` ou estruturas de teste de terceiros podem ser usados para " +"construir conjuntos de testes exaustivos que exercitam cada linha de código " +"em um módulo." + +#: ../../faq/design.rst:586 msgid "" "An appropriate testing discipline can help build large complex applications " "in Python as well as having interface specifications would. In fact, it can " "be better because an interface specification cannot test certain properties " -"of a program. For example, the :meth:`append` method is expected to add new " -"elements to the end of some internal list; an interface specification cannot " -"test that your :meth:`append` implementation will actually do this " -"correctly, but it's trivial to check this property in a test suite." -msgstr "" - -#: ../../faq/design.rst:589 +"of a program. For example, the :meth:`!list.append` method is expected to " +"add new elements to the end of some internal list; an interface " +"specification cannot test that your :meth:`!list.append` implementation will " +"actually do this correctly, but it's trivial to check this property in a " +"test suite." +msgstr "" +"Uma disciplina de teste apropriada pode ajudar a construir aplicações " +"grandes e complexas no Python, assim como ter especificações de interface. " +"Na verdade, pode ser melhor porque uma especificação de interface não pode " +"testar certas propriedades de um programa. Por exemplo, espera-se que o " +"método :meth:`!list.append` adicione novos elementos ao final de alguma " +"lista interna; uma especificação de interface não pode testar se sua " +"implementação :meth:`!list.append` realmente fará isso corretamente, mas é " +"trivial verificar esta propriedade em um conjunto de testes." + +#: ../../faq/design.rst:594 msgid "" "Writing test suites is very helpful, and you might want to design your code " "to make it easily tested. One increasingly popular technique, test-driven " @@ -862,12 +1120,17 @@ msgid "" "write any of the actual code. Of course Python allows you to be sloppy and " "not write test cases at all." msgstr "" +"Escrever conjuntos de testes é muito útil e você pode querer projetar seu " +"código para torná-lo facilmente testável. Uma técnica cada vez mais popular, " +"o desenvolvimento orientado a testes, exige a escrita de partes do conjunto " +"de testes primeiro, antes de escrever qualquer parte do código real. É claro " +"que o Python permite que você seja desleixado e nem escreva casos de teste." -#: ../../faq/design.rst:597 +#: ../../faq/design.rst:602 msgid "Why is there no goto?" -msgstr "" +msgstr "Por que não há goto?" -#: ../../faq/design.rst:599 +#: ../../faq/design.rst:604 msgid "" "In the 1970s people realized that unrestricted goto could lead to messy " "\"spaghetti\" code that was hard to understand and revise. In a high-level " @@ -877,7 +1140,7 @@ msgid "" "containing ``continue`` and ``break``)." msgstr "" -#: ../../faq/design.rst:606 +#: ../../faq/design.rst:611 msgid "" "One can also use exceptions to provide a \"structured goto\" that works even " "across function calls. Many feel that exceptions can conveniently emulate " @@ -885,25 +1148,28 @@ msgid "" "other languages. For example::" msgstr "" -#: ../../faq/design.rst:622 +#: ../../faq/design.rst:627 msgid "" "This doesn't allow you to jump into the middle of a loop, but that's usually " "considered an abuse of goto anyway. Use sparingly." msgstr "" -#: ../../faq/design.rst:627 +#: ../../faq/design.rst:632 msgid "Why can't raw strings (r-strings) end with a backslash?" msgstr "" "Por que strings brutas (r-strings) não podem terminar com uma contrabarra?" -#: ../../faq/design.rst:629 +#: ../../faq/design.rst:634 msgid "" "More precisely, they can't end with an odd number of backslashes: the " "unpaired backslash at the end escapes the closing quote character, leaving " "an unterminated string." msgstr "" +"Mais precisamente, eles não podem terminar com um número ímpar de " +"contrabarras: a contrabarra não pareada no final escapa do caractere de aspa " +"de fechamento, deixando uma string não terminada." -#: ../../faq/design.rst:633 +#: ../../faq/design.rst:638 msgid "" "Raw strings were designed to ease creating input for processors (chiefly " "regular expression engines) that want to do their own backslash escape " @@ -912,35 +1178,47 @@ msgid "" "pass on the string quote character by escaping it with a backslash. These " "rules work well when r-strings are used for their intended purpose." msgstr "" +"Strings brutas foram projetadas para facilitar a criação de entrada para " +"processadores (principalmente mecanismos de expressão regular) que desejam " +"fazer seu próprio processamento de escape de contrabarra. De qualquer forma, " +"esses processadores consideram uma contrabarra incomparável como um erro, " +"portanto, as strings brutas não permitem isso. Em troca, eles permitem que " +"você transmita o caractere de aspas da string escapando dele com uma " +"contrabarra. Essas regras funcionam bem quando r-strings são usadas para a " +"finalidade pretendida." -#: ../../faq/design.rst:640 +#: ../../faq/design.rst:645 msgid "" "If you're trying to build Windows pathnames, note that all Windows system " "calls accept forward slashes too::" msgstr "" +"Se você estiver tentando criar nomes de caminho do Windows, observe que " +"todas as chamadas do sistema do Windows também aceitam barras::" -#: ../../faq/design.rst:645 +#: ../../faq/design.rst:650 msgid "" "If you're trying to build a pathname for a DOS command, try e.g. one of ::" msgstr "" +"Se você estiver tentando construir um nome de caminho para um comando DOS, " +"tente, por exemplo, algum desses ::" -#: ../../faq/design.rst:653 +#: ../../faq/design.rst:658 msgid "Why doesn't Python have a \"with\" statement for attribute assignments?" msgstr "" "Por que o Python não tem uma instrução \"with\" para atribuição de atributos?" -#: ../../faq/design.rst:655 +#: ../../faq/design.rst:660 msgid "" "Python has a 'with' statement that wraps the execution of a block, calling " "code on the entrance and exit from the block. Some languages have a " "construct that looks like this::" msgstr "" -#: ../../faq/design.rst:663 +#: ../../faq/design.rst:668 msgid "In Python, such a construct would be ambiguous." -msgstr "" +msgstr "Em Python, tal construção seria ambígua." -#: ../../faq/design.rst:665 +#: ../../faq/design.rst:670 msgid "" "Other languages, such as Object Pascal, Delphi, and C++, use static types, " "so it's possible to know, in an unambiguous way, what member is being " @@ -952,7 +1230,7 @@ msgstr "" "atribuído. Esse é o principal ponto da tipagem estática -- o compilador " "*sempre* sabe o escopo de toda variável em tempo de compilação." -#: ../../faq/design.rst:670 +#: ../../faq/design.rst:675 msgid "" "Python uses dynamic types. It is impossible to know in advance which " "attribute will be referenced at runtime. Member attributes may be added or " @@ -966,11 +1244,11 @@ msgstr "" "saber, de uma leitura simples, que atributo está sendo referenciado: um " "atributo local, um atributo global ou um atributo membro?" -#: ../../faq/design.rst:676 +#: ../../faq/design.rst:681 msgid "For instance, take the following incomplete snippet::" -msgstr "" +msgstr "Por exemplo, pegue o seguinte trecho incompleto::" -#: ../../faq/design.rst:682 +#: ../../faq/design.rst:687 msgid "" "The snippet assumes that \"a\" must have a member attribute called \"x\". " "However, there is nothing in Python that tells the interpreter this. What " @@ -979,7 +1257,7 @@ msgid "" "the dynamic nature of Python makes such choices much harder." msgstr "" -#: ../../faq/design.rst:688 +#: ../../faq/design.rst:693 msgid "" "The primary benefit of \"with\" and similar language features (reduction of " "code volume) can, however, easily be achieved in Python by assignment. " @@ -989,25 +1267,25 @@ msgstr "" "(redução de volume de código) pode, entretanto, ser facilmente alcançado no " "Python por atribuição. Em vez de::" -#: ../../faq/design.rst:695 +#: ../../faq/design.rst:700 msgid "write this::" msgstr "escreva isso::" -#: ../../faq/design.rst:702 +#: ../../faq/design.rst:707 msgid "" "This also has the side-effect of increasing execution speed because name " "bindings are resolved at run-time in Python, and the second version only " "needs to perform the resolution once." msgstr "" -"Isso também tem o efeito colateral de aumentar a velocidade de execução por " -"que ligações de nome são resolvidas a tempo de execução em Python, e a " +"Isso também tem o efeito colateral de aumentar a velocidade de execução " +"porque as ligações de nome são resolvidas a tempo de execução em Python, e a " "segunda versão só precisa performar a resolução uma vez." -#: ../../faq/design.rst:708 +#: ../../faq/design.rst:713 msgid "Why don't generators support the with statement?" msgstr "Por que os geradores não suportam a instrução with?" -#: ../../faq/design.rst:710 +#: ../../faq/design.rst:715 msgid "" "For technical reasons, a generator used directly as a context manager would " "not work correctly. When, as is most common, a generator is used as an " @@ -1015,12 +1293,12 @@ msgid "" "\"contextlib.closing(generator)\" in the 'with' statement." msgstr "" -#: ../../faq/design.rst:717 +#: ../../faq/design.rst:722 msgid "Why are colons required for the if/while/def/class statements?" msgstr "" "Por que dois pontos são necessários para as instruções de if/while/def/class?" -#: ../../faq/design.rst:719 +#: ../../faq/design.rst:724 msgid "" "The colon is required primarily to enhance readability (one of the results " "of the experimental ABC language). Consider this::" @@ -1028,21 +1306,21 @@ msgstr "" "Os dois pontos são obrigatórios primeiramente para melhorar a leitura (um " "dos resultados da linguagem experimental ABC). Considere isso::" -#: ../../faq/design.rst:725 +#: ../../faq/design.rst:730 msgid "versus ::" msgstr "versus ::" -#: ../../faq/design.rst:730 +#: ../../faq/design.rst:735 msgid "" "Notice how the second one is slightly easier to read. Notice further how a " "colon sets off the example in this FAQ answer; it's a standard usage in " "English." msgstr "" "Note como a segunda é ligeiramente mais fácil de ler. Note com mais atenção " -"como os dois pontos iniciam o exemplo nessa resposta de perguntas " -"frequentes; é um uso padrão em Português." +"como os dois pontos iniciam o exemplo nessa resposta de FAQ; é um uso padrão " +"em inglês." -#: ../../faq/design.rst:733 +#: ../../faq/design.rst:738 msgid "" "Another minor reason is that the colon makes it easier for editors with " "syntax highlighting; they can look for colons to decide when indentation " @@ -1054,11 +1332,11 @@ msgstr "" "quando a recuo precisa ser aumentada em vez de precisarem fazer uma análise " "mais elaborada do texto do programa." -#: ../../faq/design.rst:739 +#: ../../faq/design.rst:744 msgid "Why does Python allow commas at the end of lists and tuples?" msgstr "Por que o Python permite vírgulas ao final de listas e tuplas?" -#: ../../faq/design.rst:741 +#: ../../faq/design.rst:746 msgid "" "Python lets you add a trailing comma at the end of lists, tuples, and " "dictionaries::" @@ -1066,11 +1344,11 @@ msgstr "" "O Python deixa você adicionar uma vírgula ao final de listas, tuplas e " "dicionários::" -#: ../../faq/design.rst:752 +#: ../../faq/design.rst:757 msgid "There are several reasons to allow this." msgstr "Existem várias razões para permitir isso." -#: ../../faq/design.rst:754 +#: ../../faq/design.rst:759 msgid "" "When you have a literal value for a list, tuple, or dictionary spread across " "multiple lines, it's easier to add more elements because you don't have to " @@ -1082,7 +1360,7 @@ msgstr "" "porque você não precisa lembrar de adicionar uma vírgula na linha anterior. " "As linhas também podem ser reordenadas sem criar um erro de sintaxe." -#: ../../faq/design.rst:759 +#: ../../faq/design.rst:764 msgid "" "Accidentally omitting the comma can lead to errors that are hard to " "diagnose. For example::" @@ -1090,7 +1368,7 @@ msgstr "" "Acidentalmente omitir a vírgula pode levar a erros que são difíceis de " "diagnosticar. Por exemplo::" -#: ../../faq/design.rst:769 +#: ../../faq/design.rst:774 msgid "" "This list looks like it has four elements, but it actually contains three: " "\"fee\", \"fiefoo\" and \"fum\". Always adding the comma avoids this source " @@ -1099,7 +1377,7 @@ msgstr "" "Essa lista parece ter quatro elementos, mas na verdade contém três: \"fee\", " "\"fiefoo\" e \"fum\". Sempre adicionar a vírgula evita essa fonte de erro." -#: ../../faq/design.rst:772 +#: ../../faq/design.rst:777 msgid "" "Allowing the trailing comma may also make programmatic code generation " "easier." diff --git a/faq/extending.po b/faq/extending.po index 12cd1c6ad..aed1951de 100644 --- a/faq/extending.po +++ b/faq/extending.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# mvpetri , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rogério Araújo , 2021 -# Alexsandro Matias de Almeida , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Alexsandro Matias de Almeida , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -43,12 +38,12 @@ msgstr "Posso criar minhas próprias funções em C?" #: ../../faq/extending.rst:18 msgid "" "Yes, you can create built-in modules containing functions, variables, " -"exceptions and even new types in C. This is explained in the document :ref:" -"`extending-index`." +"exceptions and even new types in C. This is explained in the " +"document :ref:`extending-index`." msgstr "" "Sim, você pode construir módulos embutidos contendo funções, variáveis, " -"exceções e até mesmo novos tipos em C. Isso é explicado no documento :ref:" -"`extending-index`." +"exceções e até mesmo novos tipos em C. Isso é explicado no " +"documento :ref:`extending-index`." #: ../../faq/extending.rst:22 msgid "Most intermediate or advanced Python books will also cover this topic." @@ -62,10 +57,10 @@ msgstr "Posso criar minhas próprias funções em C++?" #: ../../faq/extending.rst:28 msgid "" -"Yes, using the C compatibility features found in C++. Place ``extern " -"\"C\" { ... }`` around the Python include files and put ``extern \"C\"`` " -"before each function that is going to be called by the Python interpreter. " -"Global or static C++ objects with constructors are probably not a good idea." +"Yes, using the C compatibility features found in C++. Place ``extern \"C\" " +"{ ... }`` around the Python include files and put ``extern \"C\"`` before " +"each function that is going to be called by the Python interpreter. Global " +"or static C++ objects with constructors are probably not a good idea." msgstr "" "Sim, usando recursos de compatibilidade encontrados em C++. Coloque ``extern " "\"C\" { ... }`` em torno dos arquivos de inclusão do Python e coloque " @@ -75,7 +70,7 @@ msgstr "" #: ../../faq/extending.rst:37 msgid "Writing C is hard; are there any alternatives?" -msgstr "A escrita em C é difícil, Há algumas alternativas?" +msgstr "Escrever C é difícil; há alguma alternativa?" #: ../../faq/extending.rst:39 msgid "" @@ -87,23 +82,35 @@ msgstr "" #: ../../faq/extending.rst:44 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." +"`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 "" +"O `Cython `_ e o seu parente `Pyrex `_ são compiladores que " +"aceitam uma forma de Python levemente modificada e geram o código C " +"correspondente. Cython e Pyrex possibilitam escrever extensões sem que seja " +"necessário aprender a usar a API C do Python." #: ../../faq/extending.rst:50 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." -msgstr "" +"`__, `CXX `_ `Boost `_, or `Weave " +"`_ are also alternatives for wrapping C++ " +"libraries." +msgstr "" +"Se você precisar interagir com alguma biblioteca C ou C++ que não é " +"suportada por nenhuma extensão do Python no momento, você pode tentar " +"envolver os tipos de dados e funções da biblioteca usando uma ferramenta " +"como o `SWIG `_. `SIP `__, `CXX `_ `Boost `_, e `Weave `_ " +"são outras alternativas para criar invólucros de bibliotecas C++." #: ../../faq/extending.rst:61 msgid "How can I execute arbitrary Python statements from C?" @@ -114,14 +121,22 @@ msgid "" "The highest-level function to do this is :c:func:`PyRun_SimpleString` which " "takes a single string argument to be executed in the context of the module " "``__main__`` and returns ``0`` for success and ``-1`` when an exception " -"occurred (including :exc:`SyntaxError`). If you want more control, use :c:" -"func:`PyRun_String`; see the source for :c:func:`PyRun_SimpleString` in " -"``Python/pythonrun.c``." +"occurred (including :exc:`SyntaxError`). If you want more control, " +"use :c:func:`PyRun_String`; see the source for :c:func:`PyRun_SimpleString` " +"in ``Python/pythonrun.c``." msgstr "" +"A função mais alto-nível para isso é a :c:func:`PyRun_SimpleString`, que " +"recebe como único argumento uma string a ser executada no contexto do módulo " +"``__main__`` e retorna ``0`` para sucesso e ``-1`` quando uma exceção " +"ocorrer (incluindo :exc:`SyntaxError`). Se quiser mais controle, " +"use :c:func:`PyRun_String`; veja o código-fonte " +"de :c:func:`PyRun_SimpleString` em ``Python/pythonrun.c``." #: ../../faq/extending.rst:72 msgid "How can I evaluate an arbitrary Python expression from C?" msgstr "" +"Como posso executar e obter o resultado de uma expressão Python arbitrária a " +"partir de C?" #: ../../faq/extending.rst:74 msgid "" @@ -129,6 +144,9 @@ msgid "" "start symbol :c:data:`Py_eval_input`; it parses an expression, evaluates it " "and returns its value." msgstr "" +"Chame a função :c:func:`PyRun_String` da pergunta anterior " +"passando :c:data:`Py_eval_input` como o símbolo de início; ela faz a análise " +"sintática de uma expressão, a executa, e retorna o seu valor." #: ../../faq/extending.rst:80 msgid "How do I extract C values from a Python object?" @@ -138,24 +156,36 @@ msgstr "Como extraio valores em C a partir de um objeto Python?" msgid "" "That depends on the object's type. If it's a tuple, :c:func:`PyTuple_Size` " "returns its length and :c:func:`PyTuple_GetItem` returns the item at a " -"specified index. Lists have similar functions, :c:func:`PyListSize` and :c:" -"func:`PyList_GetItem`." +"specified index. Lists have similar functions, :c:func:`PyList_Size` " +"and :c:func:`PyList_GetItem`." msgstr "" +"Depende do tipo do objeto. Se for uma tupla, a :c:func:`PyTuple_Size` " +"retorna o seu comprimento e a :c:func:`PyTuple_GetItem` retorna o item em um " +"determinado índice. Listas têm funções similares, :c:func:`PyList_Size` " +"e :c:func:`PyList_GetItem`." #: ../../faq/extending.rst:87 msgid "" -"For bytes, :c:func:`PyBytes_Size` returns its length and :c:func:" -"`PyBytes_AsStringAndSize` provides a pointer to its value and its length. " -"Note that Python bytes objects may contain null bytes so C's :c:func:" -"`strlen` should not be used." +"For bytes, :c:func:`PyBytes_Size` returns its length " +"and :c:func:`PyBytes_AsStringAndSize` provides a pointer to its value and " +"its length. Note that Python bytes objects may contain null bytes so " +"C's :c:func:`!strlen` should not be used." msgstr "" +"Para bytes, a :c:func:`PyBytes_Size` retorna o comprimento e " +"a :c:func:`PyBytes_AsStringAndSize` fornece um ponteiro para o seu valor e o " +"seu comprimento. Note que objetos bytes em Python podem conter bytes nulos, " +"de forma que a :c:func:`!strlen` do C não deve ser usada." #: ../../faq/extending.rst:92 msgid "" "To test the type of an object, first make sure it isn't ``NULL``, and then " -"use :c:func:`PyBytes_Check`, :c:func:`PyTuple_Check`, :c:func:" -"`PyList_Check`, etc." +"use :c:func:`PyBytes_Check`, :c:func:`PyTuple_Check`, :c:func:`PyList_Check`, " +"etc." msgstr "" +"Para testar o tipo de um objeto, primeiramente se certifique de que ele não " +"é ``NULL``, e então " +"use :c:func:`PyBytes_Check`, :c:func:`PyTuple_Check`, :c:func:`PyList_Check`, " +"etc." #: ../../faq/extending.rst:95 msgid "" @@ -166,6 +196,12 @@ msgid "" "as many other useful protocols such as numbers (:c:func:`PyNumber_Index` et " "al.) and mappings in the PyMapping APIs." msgstr "" +"Também existe uma API alto-nível para objetos Python fornecida pela chamada " +"interface \"abstrata\" -- leia ``Include/abstract.h`` para mais detalhes. " +"Ela permite interagir com qualquer tipo de sequência Python usando chamadas " +"como :c:func:`PySequence_Length`, :c:func:`PySequence_GetItem`, etc, além de " +"vários outros protocolos úteis tais como números (:c:func:`PyNumber_Index` e " +"outros) e mapeamentos nas APIs PyMapping." #: ../../faq/extending.rst:104 msgid "How do I use Py_BuildValue() to create a tuple of arbitrary length?" @@ -175,11 +211,11 @@ msgstr "" #: ../../faq/extending.rst:106 msgid "You can't. Use :c:func:`PyTuple_Pack` instead." -msgstr "" +msgstr "Não é possível. Use a função :c:func:`PyTuple_Pack` para isso." #: ../../faq/extending.rst:110 msgid "How do I call an object's method from C?" -msgstr "" +msgstr "Como eu chamo um método de um objeto a partir do C?" #: ../../faq/extending.rst:112 msgid "" @@ -188,6 +224,10 @@ msgid "" "to call, a format string like that used with :c:func:`Py_BuildValue`, and " "the argument values::" msgstr "" +"A função :c:func:`PyObject_CallMethod` pode ser usada para chamar um método " +"arbitrário de um objeto. Os parâmetros são o objeto, o nome do método a ser " +"chamado, uma string de formato como a usada em :c:func:`Py_BuildValue`, e os " +"valores dos argumentos::" #: ../../faq/extending.rst:121 msgid "" @@ -195,12 +235,17 @@ msgid "" "defined. You are responsible for eventually :c:func:`Py_DECREF`\\ 'ing the " "return value." msgstr "" +"Isso funciona para qualquer objeto que tenha métodos -- sejam eles embutidos " +"ou definidos por usuário. Você fica então responsável por " +"chamar :c:func:`Py_DECREF` no valor de retorno." #: ../../faq/extending.rst:124 msgid "" "To call, e.g., a file object's \"seek\" method with arguments 10, 0 " "(assuming the file object pointer is \"f\")::" msgstr "" +"Para chamar, por exemplo, o método \"seek\" de um objeto arquivo com " +"argumentos 10, 0 (presumindo que \"f\" é o ponteiro para o objeto arquivo)::" #: ../../faq/extending.rst:135 msgid "" @@ -209,12 +254,18 @@ msgid "" "format, and to call a function with one argument, surround the argument in " "parentheses, e.g. \"(i)\"." msgstr "" +"Note que a função :c:func:`PyObject_CallObject` *sempre* recebe os " +"argumentos da chamada como uma tupla, de forma que para chamar uma função " +"sem argumentos deve-se passar \"()\" como formato, e para chamar uma função " +"com 1 argumento, coloque-o entre parênteses, por exemplo \"(i)\"." #: ../../faq/extending.rst:142 msgid "" "How do I catch the output from PyErr_Print() (or anything that prints to " "stdout/stderr)?" msgstr "" +"Como posso capturar a saída da função PyErr_Print() (ou qualquer outra coisa " +"que escreva para stdout/stderr)?" #: ../../faq/extending.rst:144 msgid "" @@ -223,10 +274,15 @@ msgid "" "print_error, or just allow the standard traceback mechanism to work. Then, " "the output will go wherever your ``write()`` method sends it." msgstr "" +"Com código Python, defina um objeto que suporte o método ``write()``. " +"Atribua esse objeto a :data:`sys.stdout` e :data:`sys.stderr`. Chame " +"print_error, or simplesmente deixe o mecanismo padrão de traceback " +"acontecer. Assim, a saída irá para onde quer que o seu método ``write()`` a " +"envie." #: ../../faq/extending.rst:149 msgid "The easiest way to do this is to use the :class:`io.StringIO` class:" -msgstr "" +msgstr "O jeito mais fácil de fazer isso é usar a classe :class:`io.StringIO`:" #: ../../faq/extending.rst:161 msgid "A custom object to do the same would look like this:" @@ -234,36 +290,47 @@ msgstr "Um objeto personalizado para fazer a mesma coisa seria esse:" #: ../../faq/extending.rst:182 msgid "How do I access a module written in Python from C?" -msgstr "" +msgstr "Como faço para acessar a partir do C um módulo escrito em Python?" #: ../../faq/extending.rst:184 msgid "You can get a pointer to the module object as follows::" msgstr "" +"Você pode obter um pointeiro para o objeto de módulo da seguinte maneira::" #: ../../faq/extending.rst:188 msgid "" -"If the module hasn't been imported yet (i.e. it is not yet present in :data:" -"`sys.modules`), this initializes the module; otherwise it simply returns the " -"value of ``sys.modules[\"\"]``. Note that it doesn't enter the " -"module into any namespace -- it only ensures it has been initialized and is " -"stored in :data:`sys.modules`." +"If the module hasn't been imported yet (i.e. it is not yet present " +"in :data:`sys.modules`), this initializes the module; otherwise it simply " +"returns the value of ``sys.modules[\"\"]``. Note that it " +"doesn't enter the module into any namespace -- it only ensures it has been " +"initialized and is stored in :data:`sys.modules`." msgstr "" +"Se o módulo ainda não foi importado (isto é, ainda não aparece " +"no :data:`sys.modules`), essa função vai inicializar o módulo; caso " +"contrário, ela vai simplesmente retornar o valor de " +"``sys.modules[\"\"]``. Note que ela não adiciona o módulo a " +"nenhum espaço de nomes -- ela simplesmente garante que ele foi inicializado " +"e colocado no :data:`sys.modules`." #: ../../faq/extending.rst:194 msgid "" "You can then access the module's attributes (i.e. any name defined in the " "module) as follows::" msgstr "" +"Você pode então acessar os atributos do módulo (isto é, qualquer nome " +"definido no módulo) assim::" #: ../../faq/extending.rst:199 msgid "" "Calling :c:func:`PyObject_SetAttrString` to assign to variables in the " "module also works." msgstr "" +"Chamar :c:func:`PyObject_SetAttrString` para definir variáveis no módulo " +"também funciona." #: ../../faq/extending.rst:204 msgid "How do I interface to C++ objects from Python?" -msgstr "" +msgstr "Como posso interagir com objetos C++ a partir do Python?" #: ../../faq/extending.rst:206 msgid "" @@ -274,14 +341,20 @@ msgid "" "building a new Python type around a C structure (pointer) type will also " "work for C++ objects." msgstr "" +"Dependendo das suas necessidades, há diversas abordagens. Para fazer isso " +"manualmente, comece lendo :ref:`o documento \"Estendendo e Incorporando\" " +"`. Note que, para o sistema Python em tempo de execução, " +"não há muita diferença entre C e C++ -- de forma que a estratégia de " +"construir um novo tipo Python ao redor de uma estrutura C (ou ponteiro para " +"uma) também funciona para objetos C++." #: ../../faq/extending.rst:212 msgid "For C++ libraries, see :ref:`c-wrapper-software`." -msgstr "" +msgstr "Para bibliotecas C++, veja :ref:`c-wrapper-software`." #: ../../faq/extending.rst:216 msgid "I added a module using the Setup file and the make fails; why?" -msgstr "" +msgstr "Adicionei um módulo usando o arquivo de Setup e o make falha; por quê?" #: ../../faq/extending.rst:218 msgid "" @@ -289,30 +362,39 @@ msgid "" "fails. (Fixing this requires some ugly shell script hackery, and this bug " "is so minor that it doesn't seem worth the effort.)" msgstr "" +"O Setup deve terminar com uma quebra de linha; se não houver uma quebra de " +"linha no final, o processo de compilação falha. (Consertar isso requer umas " +"gambiarras feias em shell script, e esse bug é tão pequeno que o esforço não " +"parece valer a pena.)" #: ../../faq/extending.rst:224 msgid "How do I debug an extension?" -msgstr "" +msgstr "Como eu depuro uma extensão?" #: ../../faq/extending.rst:226 msgid "" "When using GDB with dynamically loaded extensions, you can't set a " "breakpoint in your extension until your extension is loaded." msgstr "" +"Ao usar o GDB com extensões carregadas dinamicamente, você não consegue " +"definir um ponto de interrupção antes da sua extensão ser carregada." #: ../../faq/extending.rst:229 msgid "In your ``.gdbinit`` file (or interactively), add the command:" msgstr "" +"No seu arquivo ``.gdbinit`` (ou então interativamente), adicione o comando:" #: ../../faq/extending.rst:235 msgid "Then, when you run GDB:" -msgstr "" +msgstr "Então, ao executar o GDB:" #: ../../faq/extending.rst:247 msgid "" "I want to compile a Python module on my Linux system, but some files are " "missing. Why?" msgstr "" +"Quero compilar um módulo Python no meu sistema Linux, mas alguns arquivos " +"estão faltando. Por quê?" #: ../../faq/extending.rst:249 msgid "" @@ -331,7 +413,7 @@ msgstr "" #: ../../faq/extending.rst:258 msgid "How do I tell \"incomplete input\" from \"invalid input\"?" -msgstr "" +msgstr "Como posso distinguir \"entrada incompleta\" de \"entrada inválida\"?" #: ../../faq/extending.rst:260 msgid "" @@ -341,12 +423,20 @@ msgid "" "parentheses or triple string quotes), but it gives you a syntax error " "message immediately when the input is invalid." msgstr "" +"Às vezes você quer emular o comportamento do interpretador interativo do " +"Python, que te dá um prompt de continuação quando a entrada está incompleta " +"(por exemplo, você digitou o início de uma instrução \"if\", ou então não " +"fechou os parênteses ou aspas triplas), mas que te dá um mensagem de erro de " +"sintaxe imediatamente se a entrada for inválida." #: ../../faq/extending.rst:266 msgid "" "In Python you can use the :mod:`codeop` module, which approximates the " "parser's behavior sufficiently. IDLE uses this, for example." msgstr "" +"Em Python você pode usar o módulo :mod:`codeop`, que aproxima " +"suficientemente o comportamento do analisador sintático. Por exemplo, o " +"IDLE o usa." #: ../../faq/extending.rst:269 msgid "" @@ -356,10 +446,18 @@ msgid "" "to point at your custom input function. See ``Modules/readline.c`` and " "``Parser/myreadline.c`` for more hints." msgstr "" +"Em C, a forma mais fácil de fazer isso é " +"chamar :c:func:`PyRun_InteractiveLoop` (talvez em uma thread separada) e " +"deixar o interpretador do Python tratar a entrada para você. Você também " +"pode apontar o :c:func:`PyOS_ReadlineFunctionPointer` para a sua função de " +"entrada personalizada. Consulte ``Modules/readline.c`` e ``Parser/" +"myreadline.c`` para mais dicas." #: ../../faq/extending.rst:276 msgid "How do I find undefined g++ symbols __builtin_new or __pure_virtual?" msgstr "" +"Como encontro os símbolos __builtin_new ou __pure_virtual não-definidos no g+" +"+?" #: ../../faq/extending.rst:278 msgid "" @@ -367,22 +465,33 @@ msgid "" "it using g++ (change LINKCC in the Python Modules Makefile), and link your " "extension module using g++ (e.g., ``g++ -shared -o mymodule.so mymodule.o``)." msgstr "" +"Para carregar dinamicamente módulos de extensão feitos com g++, você precisa " +"recompilar o Python, usando o g++ como ligador (mude a constante LINKCC no " +"Makefile dos módulos de extensão do Python), e use o g++ também como ligador " +"do seu módulo (por exemplo, ``g++ -shared -o mymodule.so mymodule.o``)." #: ../../faq/extending.rst:284 msgid "" "Can I create an object class with some methods implemented in C and others " "in Python (e.g. through inheritance)?" msgstr "" +"Posso criar uma classe de objetos com alguns métodos implementados em C e " +"outros em Python (por exemplo, via herança)?" #: ../../faq/extending.rst:286 msgid "" -"Yes, you can inherit from built-in classes such as :class:`int`, :class:" -"`list`, :class:`dict`, etc." +"Yes, you can inherit from built-in classes such " +"as :class:`int`, :class:`list`, :class:`dict`, etc." msgstr "" +"Sim, você pode herdar de classes embutidas " +"como :class:`int`, :class:`list`, :class:`dict` etc." #: ../../faq/extending.rst:289 msgid "" -"The Boost Python Library (BPL, https://www.boost.org/libs/python/doc/index." -"html) provides a way of doing this from C++ (i.e. you can inherit from an " -"extension class written in C++ using the BPL)." +"The Boost Python Library (BPL, https://www.boost.org/libs/python/doc/" +"index.html) provides a way of doing this from C++ (i.e. you can inherit from " +"an extension class written in C++ using the BPL)." msgstr "" +"A Boost Python Library (BPL, https://www.boost.org/libs/python/doc/" +"index.html) fornece uma forma de fazer isso a partir do C++ (quer dizer, " +"você consegue herdar de uma classe de extensão escrita em C++ usando a BPL)." diff --git a/faq/general.po b/faq/general.po index e504d04fb..6a726f49d 100644 --- a/faq/general.po +++ b/faq/general.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Bruno Leuenroth , 2021 -# Adorilson Bezerra , 2021 -# felipe caridade , 2021 -# Nicolas Evangelista, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -102,12 +97,12 @@ msgstr "" #: ../../faq/general.rst:42 msgid "" "Donations to the PSF are tax-exempt in the US. If you use Python and find " -"it helpful, please contribute via `the PSF donation page `_." +"it helpful, please contribute via `the PSF donation page `_." msgstr "" "Doações para o PSF estão isentas de impostos nos EUA. Se utilizares o Python " -"e achares útil, contribua através da `página de doação da PSF `_." +"e achares útil, contribua através da `página de doação da PSF `_." #: ../../faq/general.rst:48 msgid "Are there copyright restrictions on the use of Python?" @@ -137,6 +132,8 @@ msgid "" "See `the license page `_ to find " "further explanations and the full text of the PSF License." msgstr "" +"Veja `a página da licença `_ para " +"encontrar mais explicações e um link para o texto completo da licença." #: ../../faq/general.rst:60 msgid "" @@ -217,7 +214,7 @@ msgid "" "would be foolish to write an Amoeba-specific language, so I decided that I " "needed a language that was generally extensible." msgstr "" -"Percebi que uma linguagem de script com uma sintaxe semelhante a do ABC, mas " +"Percebi que uma linguagem de script com uma sintaxe semelhante a da ABC, mas " "com acesso às chamadas do sistema Amoeba, preencheria a necessidade. Percebi " "também que seria uma boa escrever uma linguagem específica para o Amoeba, " "então, decidi que precisava de uma linguagem realmente extensível." @@ -276,7 +273,7 @@ msgstr "" "operacional (chamadas de sistema, sistemas de arquivos, soquetes TCP/IP). " "Veja o sumário de :ref:`library-index` para ter uma ideia do que está " "disponível. Uma ampla variedade de extensões de terceiros também está " -"disponível. Consulte `the Python Package Index `_ para " +"disponível. Consulte `o Python Package Index `_ para " "encontrar pacotes de seu interesse." #: ../../faq/general.rst:126 @@ -311,56 +308,56 @@ msgstr "" "lançamento com correção de bugs." #: ../../faq/general.rst:136 -msgid "See :pep:`6` for more information about bugfix releases." -msgstr "" -"Veja a :pep:`6` para mais informações sobre lançamentos de correção de bugs." - -#: ../../faq/general.rst:138 msgid "" -"Not all releases are bugfix releases. In the run-up to a new major release, " -"a series of development releases are made, denoted as alpha, beta, or " -"release candidate. Alphas are early releases in which interfaces aren't yet " -"finalized; it's not unexpected to see an interface change between two alpha " -"releases. Betas are more stable, preserving existing interfaces but possibly " -"adding new modules, and release candidates are frozen, making no changes " -"except as needed to fix critical bugs." +"Not all releases are bugfix releases. In the run-up to a new feature " +"release, a series of development releases are made, denoted as alpha, beta, " +"or release candidate. Alphas are early releases in which interfaces aren't " +"yet finalized; it's not unexpected to see an interface change between two " +"alpha releases. Betas are more stable, preserving existing interfaces but " +"possibly adding new modules, and release candidates are frozen, making no " +"changes except as needed to fix critical bugs." msgstr "" "Nem todos as versões são lançamentos de correções de erros. Na corrida por " -"uma nova versão principal, uma série de lançamentos de desenvolvimento são " -"feitas, denotadas como alfa, beta ou candidata. As versões alfas são " -"lançamentos iniciais (early releases) em que as interfaces ainda não estão " -"finalizadas; não é inesperado ver uma mudança de interface entre duas " -"versões alfa. As betas são mais estáveis, preservando as interfaces " -"existentes, mas possivelmente adicionando novos módulos, e as candidatas a " -"lançamento são congeladas, sem alterações, exceto quando necessário para " -"corrigir erros críticos." - -#: ../../faq/general.rst:146 +"um novo lançamento de funcionalidade, uma série de versões de " +"desenvolvimento são feitas, denotadas como alfa, beta ou candidata. As " +"versões alfa são lançamentos iniciais (early releases) em que as interfaces " +"ainda não estão finalizadas; não é inesperado ver uma mudança de interface " +"entre duas versões alfa. As betas são mais estáveis, preservando as " +"interfaces existentes, mas possivelmente adicionando novos módulos, e as " +"candidatas a lançamento são congeladas, sem alterações, exceto quando " +"necessário para corrigir erros críticos." + +#: ../../faq/general.rst:144 msgid "Alpha, beta and release candidate versions have an additional suffix:" msgstr "" "As versões alpha, beta e candidata a lançamento possuem um sufixo adicional:" -#: ../../faq/general.rst:148 +#: ../../faq/general.rst:146 msgid "The suffix for an alpha version is \"aN\" for some small number *N*." -msgstr "" +msgstr "O sufixo para uma versão alfa é \"aN\" para algum número pequeno *N*." -#: ../../faq/general.rst:149 +#: ../../faq/general.rst:147 msgid "The suffix for a beta version is \"bN\" for some small number *N*." -msgstr "" +msgstr "O sufixo para uma versão beta é \"bN\" para algum número pequeno *N*." -#: ../../faq/general.rst:150 +#: ../../faq/general.rst:148 msgid "" "The suffix for a release candidate version is \"rcN\" for some small number " "*N*." msgstr "" +"O sufixo para um lançamento em versão candidata é \"rcN\" para algum número " +"pequeno *N*." -#: ../../faq/general.rst:152 +#: ../../faq/general.rst:150 msgid "" "In other words, all versions labeled *2.0aN* precede the versions labeled " "*2.0bN*, which precede versions labeled *2.0rcN*, and *those* precede 2.0." msgstr "" +"Em outras palavras, todas as versões rotuladas como *2.0aN* precedem as " +"versões rotuladas como *2.0bN*, que por sua vez precedem versões rotuladas " +"como *2.0rcN*, e *estas* precedem 2.0." -#: ../../faq/general.rst:155 +#: ../../faq/general.rst:153 msgid "" "You may also find version numbers with a \"+\" suffix, e.g. \"2.2+\". These " "are unreleased versions, built directly from the CPython development " @@ -374,19 +371,25 @@ msgstr "" "versão menor, a versão é incrementada para a próxima versão secundária, que " "se torna a versão \"a0\", por exemplo, \"2.4a0\"." -#: ../../faq/general.rst:160 +#: ../../faq/general.rst:158 msgid "" +"See the `Developer's Guide `__ for more information about the development cycle, " +"and :pep:`387` to learn more about Python's backward compatibility policy. " "See also the documentation for :data:`sys.version`, :data:`sys.hexversion`, " "and :data:`sys.version_info`." msgstr "" -"Veja também a documentação para :data:`sys.version`, :data:`sys.hexversion`, " -"e :data:`sys.version_info`." +"Veja o `Developer's Guide `__ para mais informações sobre o ciclo de " +"desenvolvimento, e a :pep:`387` para aprender mais sobre a política de " +"compatibilidade com versões anteriores do Python. Veja também a documentação " +"para :data:`sys.version`, :data:`sys.hexversion`, e :data:`sys.version_info`." -#: ../../faq/general.rst:165 +#: ../../faq/general.rst:167 msgid "How do I obtain a copy of the Python source?" msgstr "Como faço para obter uma cópia dos fonte do Python?" -#: ../../faq/general.rst:167 +#: ../../faq/general.rst:169 msgid "" "The latest Python source distribution is always available from python.org, " "at https://www.python.org/downloads/. The latest development sources can be " @@ -396,7 +399,7 @@ msgstr "" "em https://www.python.org/downloads/. As últimas fontes de desenvolvimento " "podem ser obtidas em https://github.com/python/cpython/." -#: ../../faq/general.rst:171 +#: ../../faq/general.rst:173 msgid "" "The source distribution is a gzipped tar file containing the complete C " "source, Sphinx-formatted documentation, Python library modules, example " @@ -409,7 +412,7 @@ msgstr "" "distribuível. A fonte compilará e executará sem a necessidade de " "configurações extras na maioria das plataformas UNIX." -#: ../../faq/general.rst:176 +#: ../../faq/general.rst:178 msgid "" "Consult the `Getting Started section of the Python Developer's Guide " "`__ for more information on getting the " @@ -419,11 +422,11 @@ msgstr "" "devguide.python.org/setup/>`__ para obter mais informações sobre como obter " "o código-fonte e compilá-lo." -#: ../../faq/general.rst:182 +#: ../../faq/general.rst:184 msgid "How do I get documentation on Python?" msgstr "Como faço para obter a documentação do Python?" -#: ../../faq/general.rst:186 +#: ../../faq/general.rst:188 msgid "" "The standard documentation for the current stable version of Python is " "available at https://docs.python.org/3/. PDF, plain text, and downloadable " @@ -434,19 +437,23 @@ msgstr "" "HTML para download também estão disponíveis em https://docs.python.org/3/" "download.html." -#: ../../faq/general.rst:190 +#: ../../faq/general.rst:192 msgid "" "The documentation is written in reStructuredText and processed by `the " "Sphinx documentation tool `__. The " "reStructuredText source for the documentation is part of the Python source " "distribution." msgstr "" +"A documentação é escrita em reStructuredText e processada pela `ferramenta " +"de documentação Sphinx `__. Os fonte do " +"reStructuredText para documentação fazem parte da distribuição fonte do " +"Python." -#: ../../faq/general.rst:196 +#: ../../faq/general.rst:198 msgid "I've never programmed before. Is there a Python tutorial?" msgstr "Eu nunca programei antes. Existe um tutorial básico do Python?" -#: ../../faq/general.rst:198 +#: ../../faq/general.rst:200 msgid "" "There are numerous tutorials and books available. The standard " "documentation includes :ref:`tutorial-index`." @@ -454,7 +461,7 @@ msgstr "" "Existem inúmeros tutoriais e livros disponíveis. A documentação padrão " "inclui :ref:`tutorial-index`." -#: ../../faq/general.rst:201 +#: ../../faq/general.rst:203 msgid "" "Consult `the Beginner's Guide `_ to find information for beginning Python programmers, " @@ -464,18 +471,19 @@ msgstr "" "BeginnersGuide>`_ para encontrar informações para quem está começando agora " "na programação Python, incluindo uma lista com tutoriais." -#: ../../faq/general.rst:206 +#: ../../faq/general.rst:208 msgid "Is there a newsgroup or mailing list devoted to Python?" msgstr "Existe um grupo de discussão ou lista de discussão dedicada ao Python?" -#: ../../faq/general.rst:208 +#: ../../faq/general.rst:210 msgid "" "There is a newsgroup, :newsgroup:`comp.lang.python`, and a mailing list, " "`python-list `_. The " "newsgroup and mailing list are gatewayed into each other -- if you can read " -"news it's unnecessary to subscribe to the mailing list. :newsgroup:`comp." -"lang.python` is high-traffic, receiving hundreds of postings every day, and " -"Usenet readers are often more able to cope with this volume." +"news it's unnecessary to subscribe to the mailing " +"list. :newsgroup:`comp.lang.python` is high-traffic, receiving hundreds of " +"postings every day, and Usenet readers are often more able to cope with this " +"volume." msgstr "" "Existe um grupo de notícias :newsgroup:`comp.lang.python`, e uma lista de " "discussão, `python-list `_." msgstr "" +"Os anúncios de novas versões do software e eventos podem ser encontrados em " +"comp.lang.python.announce, uma lista moderada de baixo tráfego que recebe " +"cerca de cinco postagens por dia. Está disponível como `a lista de discussão " +"python-announce `_." -#: ../../faq/general.rst:220 +#: ../../faq/general.rst:222 msgid "" "More info about other mailing lists and newsgroups can be found at https://" "www.python.org/community/lists/." @@ -501,23 +514,23 @@ msgstr "" "Mais informações sobre outras listas de discussão e grupos de notícias podem " "ser encontradas em https://www.python.org/community/lists/." -#: ../../faq/general.rst:225 +#: ../../faq/general.rst:227 msgid "How do I get a beta test version of Python?" msgstr "Como faço para obter uma versão de teste beta do Python?" -#: ../../faq/general.rst:227 +#: ../../faq/general.rst:229 msgid "" "Alpha and beta releases are available from https://www.python.org/" -"downloads/. All releases are announced on the comp.lang.python and comp." -"lang.python.announce newsgroups and on the Python home page at https://www." -"python.org/; an RSS feed of news is available." +"downloads/. All releases are announced on the comp.lang.python and " +"comp.lang.python.announce newsgroups and on the Python home page at https://" +"www.python.org/; an RSS feed of news is available." msgstr "" "As versões alfa e beta estão disponíveis em https://www.python.org/" -"downloads/. Todos os lançamentos são anunciados nos grupos de notícias comp." -"lang.python e comp.lang.python.announce e na página inicial do Python em " -"https://www.python.org/; um feed RSS de notícias está disponível." +"downloads/. Todos os lançamentos são anunciados nos grupos de notícias " +"comp.lang.python e comp.lang.python.announce e na página inicial do Python " +"em https://www.python.org/; um feed RSS de notícias está disponível." -#: ../../faq/general.rst:232 +#: ../../faq/general.rst:234 msgid "" "You can also access the development version of Python through Git. See `The " "Python Developer's Guide `_ for details." @@ -526,17 +539,19 @@ msgstr "" "Git. Veja `O Guia do Desenvolvedor Python `_ " "para detalhes." -#: ../../faq/general.rst:237 +#: ../../faq/general.rst:239 msgid "How do I submit bug reports and patches for Python?" msgstr "Como eu envio um relatório de erros e correções para o Python?" -#: ../../faq/general.rst:239 +#: ../../faq/general.rst:241 msgid "" -"To report a bug or submit a patch, use the issue tracker at https://github." -"com/python/cpython/issues." +"To report a bug or submit a patch, use the issue tracker at https://" +"github.com/python/cpython/issues." msgstr "" +"Para relatar um bug ou enviar um patch, use o rastreador de problemas em " +"https://github.com/python/cpython/issues." -#: ../../faq/general.rst:242 +#: ../../faq/general.rst:244 msgid "" "For more information on how Python is developed, consult `the Python " "Developer's Guide `_." @@ -544,23 +559,25 @@ msgstr "" "Para mais informações sobre como o Python é desenvolvido, consulte `o Guia " "do Desenvolvedor Python `_." -#: ../../faq/general.rst:247 +#: ../../faq/general.rst:249 msgid "Are there any published articles about Python that I can reference?" msgstr "" "Existem alguns artigos publicados sobre o Python para que eu possa fazer " "referência?" -#: ../../faq/general.rst:249 +#: ../../faq/general.rst:251 msgid "It's probably best to cite your favorite book about Python." msgstr "Provavelmente será melhor citar o seu livro favorito sobre o Python." -#: ../../faq/general.rst:251 +#: ../../faq/general.rst:253 msgid "" "The `very first article `_ about Python was " "written in 1991 and is now quite outdated." msgstr "" +"O `primeiro artigo `_ sobre Python foi escrito " +"em 1991 e atualmente se encontra bastante desatualizado." -#: ../../faq/general.rst:254 +#: ../../faq/general.rst:256 msgid "" "Guido van Rossum and Jelke de Boer, \"Interactively Testing Remote Servers " "Using the Python Programming Language\", CWI Quarterly, Volume 4, Issue 4 " @@ -570,11 +587,11 @@ msgstr "" "Using the Python Programming Language\", CWI Quarterly, Volume 4, Edição 4 " "(dezembro de 1991), Amsterdam, pp. 283--303.q" -#: ../../faq/general.rst:260 +#: ../../faq/general.rst:262 msgid "Are there any books on Python?" msgstr "Existem alguns livros sobre o Python?" -#: ../../faq/general.rst:262 +#: ../../faq/general.rst:264 msgid "" "Yes, there are many, and more are being published. See the python.org wiki " "at https://wiki.python.org/moin/PythonBooks for a list." @@ -583,7 +600,7 @@ msgstr "" "escritos!! Veja o wiki python.org em https://wiki.python.org/moin/" "PythonBooks para obter uma listagem." -#: ../../faq/general.rst:265 +#: ../../faq/general.rst:267 msgid "" "You can also search online bookstores for \"Python\" and filter out the " "Monty Python references; or perhaps search for \"Python\" and \"language\"." @@ -592,26 +609,29 @@ msgstr "" "referências a respeito do Monty Python; ou talvez procure por \"Python\" e " "\"linguagem\"." -#: ../../faq/general.rst:270 +#: ../../faq/general.rst:272 msgid "Where in the world is www.python.org located?" msgstr "Onde está armazenado o site www.python.org?" -#: ../../faq/general.rst:272 +#: ../../faq/general.rst:274 msgid "" "The Python project's infrastructure is located all over the world and is " -"managed by the Python Infrastructure Team. Details `here `__." +"managed by the Python Infrastructure Team. Details `here `__." msgstr "" +"A infraestrutura do projeto Python está localizada em todo o mundo e é " +"gerenciada pela equipe de infraestrutura do Python. Detalhes `aqui `__." -#: ../../faq/general.rst:277 +#: ../../faq/general.rst:279 msgid "Why is it called Python?" msgstr "Por que o nome Python?" -#: ../../faq/general.rst:279 +#: ../../faq/general.rst:281 msgid "" "When he began implementing Python, Guido van Rossum was also reading the " -"published scripts from `\"Monty Python's Flying Circus\" `__, a BBC comedy series from the 1970s. " +"published scripts from `\"Monty Python's Flying Circus\" `__, a BBC comedy series from the 1970s. " "Van Rossum thought he needed a name that was short, unique, and slightly " "mysterious, so he decided to call the language Python." msgstr "" @@ -621,50 +641,50 @@ msgstr "" "da década de 1970. Van Rossum pensou que precisava de um nome curto, único e " "ligeiramente misterioso, então resolveu chamar a sua linguagem de Python." -#: ../../faq/general.rst:287 +#: ../../faq/general.rst:289 msgid "Do I have to like \"Monty Python's Flying Circus\"?" msgstr "Eu tenho que gostar de \"Monty Python's Flying Circus\"?" -#: ../../faq/general.rst:289 +#: ../../faq/general.rst:291 msgid "No, but it helps. :)" msgstr "Não, mas isso ajuda. :)" -#: ../../faq/general.rst:293 +#: ../../faq/general.rst:295 msgid "Python in the real world" msgstr "Python no mundo real" -#: ../../faq/general.rst:296 +#: ../../faq/general.rst:298 msgid "How stable is Python?" msgstr "Quão estável é o Python?" -#: ../../faq/general.rst:298 +#: ../../faq/general.rst:300 msgid "" "Very stable. New, stable releases have been coming out roughly every 6 to " "18 months since 1991, and this seems likely to continue. As of version 3.9, " -"Python will have a major new release every 12 months (:pep:`602`)." +"Python will have a new feature release every 12 months (:pep:`602`)." msgstr "" "Muito estável. Novos lançamentos estáveis são divulgados aproximadamente de " "6 a 18 meses desde 1991, e isso provavelmente continuará. A partir da versão " -"3.9, o Python terá uma nova versão importante a cada 12 meses (:pep:`602`)." +"3.9, o Python terá um novo grande lançamento a cada 12 meses (:pep:`602`)." -#: ../../faq/general.rst:302 +#: ../../faq/general.rst:304 msgid "" -"The developers issue \"bugfix\" releases of older versions, so the stability " -"of existing releases gradually improves. Bugfix releases, indicated by a " -"third component of the version number (e.g. 3.5.3, 3.6.2), are managed for " +"The developers issue bugfix releases of older versions, so the stability of " +"existing releases gradually improves. Bugfix releases, indicated by a third " +"component of the version number (e.g. 3.5.3, 3.6.2), are managed for " "stability; only fixes for known problems are included in a bugfix release, " "and it's guaranteed that interfaces will remain the same throughout a series " "of bugfix releases." msgstr "" -"Os desenvolvedores lançam versões \"bugfix\" de versões mais antigas, então " -"a estabilidade dos lançamentos existentes melhora gradualmente. As " -"liberações de correções de erros, indicadas por um terceiro componente do " -"número da versão (por exemplo, 3.5.3, 3.6.2), são gerenciadas para " -"estabilidade; somente correções para problemas conhecidos são incluídas em " -"uma versão de correções de erros, e é garantido que as interfaces " -"permanecerão as mesmas durante uma série de liberações de correções de erros." +"Os desenvolvedores lançam versões bugfix de versões mais antigas, então a " +"estabilidade dos lançamentos existentes melhora gradualmente. As liberações " +"de correções de erros, indicadas por um terceiro componente do número da " +"versão (por exemplo, 3.5.3, 3.6.2), são gerenciadas para estabilidade; " +"somente correções para problemas conhecidos são incluídas em uma versão de " +"correções de erros, e é garantido que as interfaces permanecerão as mesmas " +"durante uma série de liberações de correções de erros." -#: ../../faq/general.rst:309 +#: ../../faq/general.rst:311 msgid "" "The latest stable releases can always be found on the `Python download page " "`_. There are two production-ready " @@ -672,12 +692,18 @@ msgid "" "supported by most widely used libraries. Although 2.x is still widely used, " "`it is not maintained anymore `_." msgstr "" +"As últimas versões estáveis sempre podem ser encontradas na `página de " +"download do Python `_. Existem duas " +"versões prontas para produção do Python: 2.x e 3.x. A versão recomendada é " +"3.x, que é suportada pelas bibliotecas mais usadas. Embora 2.x ainda seja " +"amplamente utilizado, `não é mais mantido `_." -#: ../../faq/general.rst:316 +#: ../../faq/general.rst:318 msgid "How many people are using Python?" msgstr "Quantas pessoas usam o Python?" -#: ../../faq/general.rst:318 +#: ../../faq/general.rst:320 msgid "" "There are probably millions of users, though it's difficult to obtain an " "exact count." @@ -685,7 +711,7 @@ msgstr "" "Provavelmente existem milhões de usuários, embora seja difícil obter uma " "contagem exata." -#: ../../faq/general.rst:321 +#: ../../faq/general.rst:323 msgid "" "Python is available for free download, so there are no sales figures, and " "it's available from many different sites and packaged with many Linux " @@ -696,7 +722,7 @@ msgstr "" "em muitas distribuições Linux, portanto, utilizar as estatísticas de " "downloads não seria a melhor forma para contabilizarmos a base de usuários." -#: ../../faq/general.rst:325 +#: ../../faq/general.rst:327 msgid "" "The comp.lang.python newsgroup is very active, but not all Python users post " "to the group or even read it." @@ -704,15 +730,15 @@ msgstr "" "O grupo de notícias comp.lang.python é bastante ativo, mas nem todos os " "usuários Python postam no grupo ou mesmo o leem regularmente." -#: ../../faq/general.rst:330 +#: ../../faq/general.rst:332 msgid "Have any significant projects been done in Python?" msgstr "Existe algum projeto significativo feito em Python?" -#: ../../faq/general.rst:332 +#: ../../faq/general.rst:334 msgid "" "See https://www.python.org/about/success for a list of projects that use " -"Python. Consulting the proceedings for `past Python conferences `_ will reveal contributions from many " +"Python. Consulting the proceedings for `past Python conferences `_ will reveal contributions from many " "different companies and organizations." msgstr "" "Veja a lista em https://www.python.org/about/success para obter uma listagem " @@ -720,21 +746,27 @@ msgstr "" "`_ revelará as contribuições de " "várias empresas e de diferentes organizações." -#: ../../faq/general.rst:337 +#: ../../faq/general.rst:339 msgid "" "High-profile Python projects include `the Mailman mailing list manager " -"`_ and `the Zope application server `_. Several Linux distributions, most notably `Red Hat `_, have written part or all of their installer and system " -"administration software in Python. Companies that use Python internally " -"include Google, Yahoo, and Lucasfilm Ltd." -msgstr "" +"`_ and `the Zope application server `_. Several Linux distributions, most notably `Red Hat " +"`_, have written part or all of their installer and " +"system administration software in Python. Companies that use Python " +"internally include Google, Yahoo, and Lucasfilm Ltd." +msgstr "" +"Os projetos Python de alto perfil incluem o `gerenciador de lista de e-mail " +"Mailman `_ e `o servidor de aplicativos Zope `_. Várias distribuições Linux, mais notavelmente o `Red Hat " +"`_, escreveram parte ou a totalidade dos seus " +"instaladores e software de administração do sistema em Python. Empresas que " +"usam Python internamente incluem Google, Yahoo e Lucasfilm Ltd." -#: ../../faq/general.rst:346 +#: ../../faq/general.rst:348 msgid "What new developments are expected for Python in the future?" msgstr "Quais são os novos desenvolvimentos esperados para o Python no futuro?" -#: ../../faq/general.rst:348 +#: ../../faq/general.rst:350 msgid "" "See https://peps.python.org/ for the Python Enhancement Proposals (PEPs). " "PEPs are design documents describing a suggested new feature for Python, " @@ -742,18 +774,26 @@ msgid "" "titled \"Python X.Y Release Schedule\", where X.Y is a version that hasn't " "been publicly released yet." msgstr "" +"Consulte https://peps.python.org/ para ver a lista de propostas de " +"aprimoramento do python (PEPs). As PEPs são documentos de design que " +"descrevem novos recursos que foram sugeridos para o Python, fornecendo uma " +"especificação técnica concisa e a sua lógica. Procure uma PEP intitulado de " +"\"Python X.Y Release Schedule\", onde X.Y é uma versão que ainda não foi " +"lançada publicamente." -#: ../../faq/general.rst:354 +#: ../../faq/general.rst:356 msgid "" -"New development is discussed on `the python-dev mailing list `_." +"New development is discussed on `the python-dev mailing list `_." msgstr "" +"Novos desenvolvimentos são discutidos na `lista de discussão python-dev " +"`_." -#: ../../faq/general.rst:359 +#: ../../faq/general.rst:361 msgid "Is it reasonable to propose incompatible changes to Python?" msgstr "É razoável propor mudanças incompatíveis com o Python?" -#: ../../faq/general.rst:361 +#: ../../faq/general.rst:363 msgid "" "In general, no. There are already millions of lines of Python code around " "the world, so any change in the language that invalidates more than a very " @@ -769,7 +809,7 @@ msgstr "" "atualizar toda a documentação; muitos livros foram escritos sobre o Python, " "e não queremos invalidá-los todos de uma vez só." -#: ../../faq/general.rst:368 +#: ../../faq/general.rst:370 msgid "" "Providing a gradual upgrade path is necessary if a feature has to be " "changed. :pep:`5` describes the procedure followed for introducing backward-" @@ -780,16 +820,16 @@ msgstr "" "introduz alterações incompatíveis com versões anteriores ao mesmo tempo em " "que minimiza a interrupção dos usuários." -#: ../../faq/general.rst:374 +#: ../../faq/general.rst:376 msgid "Is Python a good language for beginning programmers?" msgstr "" "O Python é uma boa linguagem para quem está começando na programação agora?" -#: ../../faq/general.rst:376 +#: ../../faq/general.rst:378 msgid "Yes." msgstr "Sim." -#: ../../faq/general.rst:378 +#: ../../faq/general.rst:380 msgid "" "It is still common to start students with a procedural and statically typed " "language such as Pascal, C, or a subset of C++ or Java. Students may be " @@ -813,7 +853,7 @@ msgstr "" "procedimentos. Provavelmente os mesmos até poderão trabalhar com objetos " "definidos por ele mesmos logo em seu primeiro curso." -#: ../../faq/general.rst:388 +#: ../../faq/general.rst:390 msgid "" "For a student who has never programmed before, using a statically typed " "language seems unnatural. It presents additional complexity that the " @@ -833,7 +873,7 @@ msgstr "" "prazo, não é necessariamente o melhor tópico a ser abordado no primeiro " "momento de um curso de programação." -#: ../../faq/general.rst:396 +#: ../../faq/general.rst:398 msgid "" "Many other aspects of Python make it a good first language. Like Java, " "Python has a large standard library so that students can be assigned " @@ -856,7 +896,7 @@ msgstr "" "alunos sobre a reutilização de código. Os módulos de terceiros, como o " "PyGame, também são úteis para ampliar o alcance dos estudantes." -#: ../../faq/general.rst:405 +#: ../../faq/general.rst:407 msgid "" "Python's interactive interpreter enables students to test language features " "while they're programming. They can keep a window with the interpreter " @@ -869,7 +909,7 @@ msgstr "" "outra janela. Se eles não conseguirem se lembrar dos métodos de uma lista, " "eles podem fazer algo assim::" -#: ../../faq/general.rst:434 +#: ../../faq/general.rst:436 msgid "" "With the interpreter, documentation is never far from the student as they " "are programming." @@ -877,7 +917,7 @@ msgstr "" "Com o interpretador, a documentação nunca está longe do aluno quando estão " "programando." -#: ../../faq/general.rst:437 +#: ../../faq/general.rst:439 msgid "" "There are also good IDEs for Python. IDLE is a cross-platform IDE for " "Python that is written in Python using Tkinter. Emacs users will be happy to " @@ -887,13 +927,21 @@ msgid "" "wiki `_ for a full list of " "Python editing environments." msgstr "" +"Há também boas IDEs para o Python. O IDLE é uma IDE multiplataforma para o " +"Python e que foi escrito em Python usando o Tkinter. Os usuários do Emacs " +"estarão felizes em saber que existe um ótimo modo Python para Emacs. Todos " +"esses ambientes de programação fornecem destaque de sintaxe, recuo " +"automático e acesso ao interpretador interativo durante o tempo de " +"desenvolvimento. Consulte `o wiki do Python `_ para obter uma lista completa dos ambientes de " +"desenvolvimento para o Python." -#: ../../faq/general.rst:445 +#: ../../faq/general.rst:447 msgid "" "If you want to discuss Python's use in education, you may be interested in " "joining `the edu-sig mailing list `_." msgstr "" "Se você quiser discutir o uso do Python na educação, poderás estar " -"interessado em se juntar à `lista de discussão edu-sig `_." +"interessado em se juntar à `lista de discussão edu-sig `_." diff --git a/faq/gui.po b/faq/gui.po index 11a8502e4..14a06d4a0 100644 --- a/faq/gui.po +++ b/faq/gui.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Italo Penaforte , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -48,8 +45,9 @@ msgid "" "widget set, called :ref:`tkinter `. This is probably the easiest " "to install (since it comes included with most `binary distributions `_ of Python) and use. For more info about Tk, " -"including pointers to the source, see the `Tcl/Tk home page `_. Tcl/Tk is fully portable to the macOS, Windows, and Unix platforms." +"including pointers to the source, see the `Tcl/Tk home page `_. Tcl/Tk is fully portable to the macOS, Windows, and Unix " +"platforms." msgstr "" "As versões padrão do Python incluem uma interface orientada a objetos para o " "conjunto de widgets Tcl/Tk, chamado :ref:`tkinter `. Este é " @@ -95,12 +93,12 @@ msgstr "" #: ../../faq/gui.rst:45 msgid "" "One solution is to ship the application with the Tcl and Tk libraries, and " -"point to them at run-time using the :envvar:`TCL_LIBRARY` and :envvar:" -"`TK_LIBRARY` environment variables." +"point to them at run-time using the :envvar:`!TCL_LIBRARY` and :envvar:`!" +"TK_LIBRARY` environment variables." msgstr "" -"Uma solução é enviar o aplicativo com as bibliotecas Tcl e Tk e apontá-las " -"em tempo de execução usando as variáveis de ambiente :envvar:`TCL_LIBRARY` " -"e :envvar:`TK_LIBRARY`." +"Uma solução é enviar a aplicação com as bibliotecas Tcl e Tk e apontá-las em " +"tempo de execução usando as variáveis de ambiente :envvar:`!TCL_LIBRARY` " +"e :envvar:`!TK_LIBRARY`." #: ../../faq/gui.rst:49 msgid "" @@ -116,13 +114,15 @@ msgstr "" #: ../../faq/gui.rst:54 msgid "" -"Build Tix with SAM enabled, perform the appropriate call to :c:func:" -"`Tclsam_init`, etc. inside Python's :file:`Modules/tkappinit.c`, and link " -"with libtclsam and libtksam (you might include the Tix libraries as well)." +"Build Tix with SAM enabled, perform the appropriate call " +"to :c:func:`Tclsam_init`, etc. inside Python's :file:`Modules/tkappinit.c`, " +"and link with libtclsam and libtksam (you might include the Tix libraries as " +"well)." msgstr "" -"Compile o Tix com SAM habilitado, execute a chamada apropriada para :c:func:" -"`Tclsam_init` etc. dentro do :file:`Modules/tkappinit.c` do Python e faça um " -"link com libtclsam e libtksam (você também pode incluir as bibliotecas Tix)." +"Compile o Tix com SAM habilitado, execute a chamada apropriada " +"para :c:func:`Tclsam_init` etc. dentro do :file:`Modules/tkappinit.c` do " +"Python e faça um link com libtclsam e libtksam (você também pode incluir as " +"bibliotecas Tix)." #: ../../faq/gui.rst:61 msgid "Can I have Tk events handled while waiting for I/O?" @@ -132,16 +132,16 @@ msgstr "Posso ter eventos Tk manipulados enquanto aguardo pelo E/S?" msgid "" "On platforms other than Windows, yes, and you don't even need threads! But " "you'll have to restructure your I/O code a bit. Tk has the equivalent of " -"Xt's :c:func:`XtAddInput()` call, which allows you to register a callback " +"Xt's :c:func:`!XtAddInput` call, which allows you to register a callback " "function which will be called from the Tk mainloop when I/O is possible on a " "file descriptor. See :ref:`tkinter-file-handlers`." msgstr "" "Em plataformas diferentes do Windows, sim, e você nem precisa de threads! " "Mas você terá que reestruturar seu código de E/S um pouco. O Tk tem o " -"equivalente à chamada :c:func:`XtAddInput()` do Xt, que permite que você " -"registre uma função de retorno de chamada que será chamada a partir do loop " -"principal do Tk quando E/S é possível em um descritor de arquivo. Consulte :" -"ref:`tkinter-file-handlers`." +"equivalente à chamada :c:func:`!XtAddInput` do Xt, que permite que você " +"registre uma função de retorno de chamada que será chamada a partir do laço " +"de repetição principal do Tk quando E/S é possível em um descritor de " +"arquivo. Consulte :ref:`tkinter-file-handlers`." #: ../../faq/gui.rst:71 msgid "I can't get key bindings to work in Tkinter: why?" @@ -150,15 +150,16 @@ msgstr "" #: ../../faq/gui.rst:73 msgid "" -"An often-heard complaint is that event handlers bound to events with the :" -"meth:`bind` method don't get handled even when the appropriate key is " -"pressed." +"An often-heard complaint is that event handlers :ref:`bound ` to events with the :meth:`!bind` method don't get handled even when " +"the appropriate key is pressed." msgstr "" -"Uma queixa frequentemente ouvida é que os manipuladores de eventos " -"vinculados a eventos com o método :meth:`bind` não são manipulados mesmo " -"quando a tecla apropriada é pressionada." +"Uma queixa frequentemente ouvida é que os manipuladores de " +"eventos :ref:`vinculados ` a eventos com o " +"método :meth:`!bind` não são manipulados mesmo quando a tecla apropriada é " +"pressionada." -#: ../../faq/gui.rst:76 +#: ../../faq/gui.rst:77 msgid "" "The most common cause is that the widget to which the binding applies " "doesn't have \"keyboard focus\". Check out the Tk documentation for the " diff --git a/faq/index.po b/faq/index.po index 5e74a0638..5774e8920 100644 --- a/faq/index.po +++ b/faq/index.po @@ -1,25 +1,25 @@ # 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: -# Ruan Aragão , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Ruan Aragão , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/faq/installed.po b/faq/installed.po index e56f30a1c..4086a7123 100644 --- a/faq/installed.po +++ b/faq/installed.po @@ -1,28 +1,25 @@ # 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: -# Tiago Henrique , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Bruno Leuenroth , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/faq/library.po b/faq/library.po index 3d7dfdfe3..9d9f56a6d 100644 --- a/faq/library.po +++ b/faq/library.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Adson Rodrigues , 2021 -# Alexandre B A Villares, 2021 -# Mariana Costa , 2021 -# a76d6fb6142d7607ab0526dcbddb02d7_7bf0da0 <3b5fb0f281c8dfb4c0170f2ee2a6cfcf_843623>, 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -57,11 +51,15 @@ msgstr "" #: ../../faq/library.rst:21 msgid "" -"For third-party packages, search the `Python Package Index `_ or try `Google `_ or another web search " +"For third-party packages, search the `Python Package Index `_ or try `Google `_ or another web search " "engine. Searching for \"Python\" plus a keyword or two for your topic of " "interest will usually find something helpful." msgstr "" +"Para pacotes de terceiros, pesquise no `Python Package Index `_ ou tente no `Google `_ ou outro buscador " +"na web. Pesquisando por \"Python\" mais uma ou dois argumentos nomeados do " +"seu tópico de interesse geralmente encontrará algo útil." #: ../../faq/library.rst:28 msgid "Where is the math.py (socket.py, regex.py, etc.) source file?" @@ -71,9 +69,9 @@ msgstr "Onde está o código-fonte do math.py (socket.py, regex.py, etc.)?" msgid "" "If you can't find a source file for a module it may be a built-in or " "dynamically loaded module implemented in C, C++ or other compiled language. " -"In this case you may not have the source file or it may be something like :" -"file:`mathmodule.c`, somewhere in a C source directory (not on the Python " -"Path)." +"In this case you may not have the source file or it may be something " +"like :file:`mathmodule.c`, somewhere in a C source directory (not on the " +"Python Path)." msgstr "" "Se você não conseguir encontrar um arquivo de origem para um módulo, ele " "pode ser um módulo embutido ou carregado dinamicamente, implementado em C, C+" @@ -115,7 +113,7 @@ msgid "" "interpreter." msgstr "" "Você precisa fazer duas coisas: o arquivo do script deve ser executável e a " -"primeira linha deve começar com \"#!\" seguido do caminho do interpretador " +"primeira linha deve começar com ``#!`` seguido do caminho do interpretador " "Python." #: ../../faq/library.rst:53 @@ -151,7 +149,7 @@ msgid "" msgstr "" "Se você deseja que o script seja independente de onde o interpretador Python " "mora, você pode usar o programa :program:`env`. Quase todas as variantes do " -"Unix suportam o seguinte, assumindo que o interpretador Python esteja em um " +"Unix suportam o seguinte, presumindo que o interpretador Python esteja em um " "diretório no :envvar:`PATH` do usuário::" #: ../../faq/library.rst:71 @@ -170,6 +168,9 @@ msgid "" "env` program fails; or there's no env program at all. In that case, you can " "try the following hack (due to Alex Rezinsky):" msgstr "" +"Ocasionalmente, o ambiente de um usuário está tão cheio que o " +"programa :program:`/usr/bin/env` falha; ou não há nenhum programa env. Nesse " +"caso, você pode tentar o seguinte hack (graças a Alex Rezinsky):" #: ../../faq/library.rst:86 msgid "" @@ -190,6 +191,10 @@ msgid "" "compiled by default. (Note that this is not available in the Windows " "distribution -- there is no curses module for Windows.)" msgstr "" +"Para variantes Unix: A distribuição fonte padrão do Python vem com um módulo " +"do curses no subdiretório :source:`Modules`, embora não seja compilado por " +"padrão. (Observe que isso não está disponível na distribuição do Windows -- " +"não há módulo curses para o Windows.)" #: ../../faq/library.rst:103 msgid "" @@ -200,6 +205,12 @@ msgid "" "but there don't seem to be any currently maintained OSes that fall into this " "category." msgstr "" +"O módulo :mod:`curses` provê recursos básicos de curses, bem como muitas " +"funções adicionais de ncurses e curses SYSV, como cor, suporte a conjuntos " +"de caracteres alternativos, pads e suporte a mouse. Isso significa que o " +"módulo não é compatível com sistemas operacionais que possuem apenas " +"maldições BSD, mas não parece haver nenhum sistema operacional mantido " +"atualmente que se enquadre nesta categoria." #: ../../faq/library.rst:111 msgid "Is there an equivalent to C's onexit() in Python?" @@ -208,10 +219,10 @@ msgstr "Existe a função onexit() equivalente ao C no Python?" #: ../../faq/library.rst:113 msgid "" "The :mod:`atexit` module provides a register function that is similar to " -"C's :c:func:`onexit`." +"C's :c:func:`!onexit`." msgstr "" -"O módulo :mod:`atexit` fornece uma função de registro similar ao :c:func:" -"`onexit` do C." +"O módulo :mod:`atexit` fornece uma função de registro similar ao :c:func:`!" +"onexit` do C." #: ../../faq/library.rst:118 msgid "Why don't my signal handlers work?" @@ -227,7 +238,7 @@ msgstr "" #: ../../faq/library.rst:125 msgid "so it should be declared with two parameters::" -msgstr "" +msgstr "portanto, isso deve ser declarado com dois parâmetros::" #: ../../faq/library.rst:132 msgid "Common tasks" @@ -243,7 +254,7 @@ msgid "" "examples in the docstrings for a module and runs them, comparing the output " "with the expected output given in the docstring." msgstr "" -"A Python vem com dois frameworks de teste. O :mod:`doctest` busca por " +"A Python vem com dois frameworks de teste. O módulo :mod:`doctest` busca por " "exemplos nas docstrings de um módulo e os executa, comparando o resultado " "com a saída esperada informada na docstring." @@ -265,6 +276,13 @@ msgid "" "avoid depending on mutating global variables, since this makes testing much " "more difficult to do." msgstr "" +"Para facilitar os testes, você deve usar um bom design modular em seu " +"programa. Seu programa deve ter quase todas as funcionalidades encapsuladas " +"em funções ou métodos de classe -- e isso às vezes tem o efeito " +"surpreendente e agradável de fazer o programa executar mais rápido (porque " +"os acessos às variáveis locais são mais rápidos que os acessos globais). " +"Além disso, o programa deve evitar depender de variáveis globais mutantes, " +"pois isso torna os testes muito mais difíceis de serem realizados." #: ../../faq/library.rst:152 msgid "The \"global main logic\" of your program may be as simple as ::" @@ -285,12 +303,23 @@ msgid "" "the \"production code\", since this makes it easy to find bugs and even " "design flaws earlier." msgstr "" +"Depois que seu programa estiver organizado como uma coleção tratável de " +"comportamentos de funções e classes, você deverá escrever funções de teste " +"que exercitem os comportamentos. Um conjunto de testes que automatiza uma " +"sequência de testes pode ser associado a cada módulo. Parece muito " +"trabalhoso, mas como o Python é tão conciso e flexível, é surpreendentemente " +"fácil. Você pode tornar a codificação muito mais agradável e divertida " +"escrevendo suas funções de teste em paralelo com o \"código de produção\", " +"pois isso torna mais fácil encontrar bugs e até mesmo falhas de design mais " +"cedo." #: ../../faq/library.rst:167 msgid "" "\"Support modules\" that are not intended to be the main module of a program " "may include a self-test of the module. ::" msgstr "" +"Os \"módulos de suporte\" que não se destinam a ser o módulo principal de um " +"programa podem incluir um autoteste do módulo. ::" #: ../../faq/library.rst:173 msgid "" @@ -313,6 +342,11 @@ msgid "" "docstrings is `epydoc `_. `Sphinx `_ can also include docstring content." msgstr "" +"O módulo :mod:`pydoc` pode criar HTML a partir das strings de documentos em " +"seu código-fonte Python. Uma alternativa para criar documentação de API " +"puramente a partir de docstrings é `epydoc `_. `Sphinx `_ também pode incluir conteúdo " +"docstring." #: ../../faq/library.rst:188 msgid "How do I get a single keypress at a time?" @@ -340,10 +374,14 @@ msgid "" "module. The :mod:`threading` module builds convenient abstractions on top of " "the low-level primitives provided by the :mod:`_thread` module." msgstr "" +"Certifique-se de usar o módulo :mod:`threading` e não o " +"módulo :mod:`_thread`. O módulo :mod:`threading` constrói abstrações " +"convenientes sobre as primitivas de baixo nível fornecidas pelo " +"módulo :mod:`_thread`." #: ../../faq/library.rst:245 msgid "None of my threads seem to run: why?" -msgstr "Nenhuma de minhas threads parece funcionar, por quê?" +msgstr "Nenhuma de minhas threads parece funcionar, por que?" #: ../../faq/library.rst:247 msgid "" @@ -368,6 +406,10 @@ msgid "" "run sequentially, one at a time! The reason is that the OS thread scheduler " "doesn't start a new thread until the previous thread is blocked." msgstr "" +"Mas agora (em muitas plataformas) as threads não funcionam em paralelo, mas " +"parecem funcionar sequencialmente, um de cada vez! O motivo é que o " +"agendador de threads do sistema operacional não inicia uma nova thread até " +"que a thread anterior seja bloqueada." #: ../../faq/library.rst:269 msgid "A simple fix is to add a tiny sleep to the start of the run function::" @@ -378,21 +420,28 @@ msgstr "" #: ../../faq/library.rst:282 msgid "" "Instead of trying to guess a good delay value for :func:`time.sleep`, it's " -"better to use some kind of semaphore mechanism. One idea is to use the :mod:" -"`queue` module to create a queue object, let each thread append a token to " -"the queue when it finishes, and let the main thread read as many tokens from " -"the queue as there are threads." +"better to use some kind of semaphore mechanism. One idea is to use " +"the :mod:`queue` module to create a queue object, let each thread append a " +"token to the queue when it finishes, and let the main thread read as many " +"tokens from the queue as there are threads." msgstr "" +"Em vez de tentar adivinhar um bom valor de atraso para :func:`time.sleep`, é " +"melhor usar algum tipo de mecanismo de semáforo. Uma ideia é usar o " +"módulo :mod:`queue` para criar um objeto fila, deixar cada thread anexar um " +"token à fila quando terminar e deixar a thread principal ler tantos tokens " +"da fila quantos threads houver." #: ../../faq/library.rst:290 msgid "How do I parcel out work among a bunch of worker threads?" -msgstr "" +msgstr "Como distribuo o trabalho entre várias threads de trabalho?" #: ../../faq/library.rst:292 msgid "" "The easiest way is to use the :mod:`concurrent.futures` module, especially " "the :mod:`~concurrent.futures.ThreadPoolExecutor` class." msgstr "" +"A maneira mais fácil é usar o módulo :mod:`concurrent.futures`, " +"especialmente a classe :mod:`~concurrent.futures.ThreadPoolExecutor`." #: ../../faq/library.rst:295 msgid "" @@ -403,6 +452,13 @@ msgid "" "``.get()`` method to return them. The class will take care of the locking " "necessary to ensure that each job is handed out exactly once." msgstr "" +"Ou, se quiser um controle preciso sobre o algoritmo de despacho, você pode " +"escrever sua própria lógica manualmente. Use o módulo :mod:`queue` para " +"criar uma fila contendo uma lista de tarefas. A classe :class:`~queue.Queue` " +"mantém uma lista de objetos e possui um método ``.put(obj)`` que adiciona " +"itens à fila e um método ``.get()`` para retorná-los. A classe cuidará da " +"trava necessário para garantir que cada trabalho seja entregue exatamente " +"uma vez." #: ../../faq/library.rst:302 msgid "Here's a trivial example::" @@ -414,11 +470,11 @@ msgstr "Quando executado, isso produzirá a seguinte saída:" #: ../../faq/library.rst:358 msgid "" -"Consult the module's documentation for more details; the :class:`~queue." -"Queue` class provides a featureful interface." +"Consult the module's documentation for more details; " +"the :class:`~queue.Queue` class provides a featureful interface." msgstr "" -"Consulte a documentação dos módulos para mais detalhes; a classe :class:" -"`~queue.Queue` fornece uma interface com recursos." +"Consulte a documentação do módulo para mais detalhes; a " +"classe :class:`~queue.Queue` fornece uma interface com recursos." #: ../../faq/library.rst:363 msgid "What kinds of global value mutation are thread-safe?" @@ -433,6 +489,13 @@ msgid "" "instruction and therefore all the C implementation code reached from each " "instruction is therefore atomic from the point of view of a Python program." msgstr "" +"Uma :term:`trava global do interpretador` (GIL) é usada internamente para " +"garantir que apenas um thread seja executado na VM Python por vez. Em geral, " +"Python oferece alternar entre threads apenas entre instruções de bytecode; a " +"frequência com que ele muda pode ser definida " +"via :func:`sys.setswitchinterval`. Cada instrução de bytecode e, portanto, " +"todo o código de implementação C alcançado por cada instrução é, portanto, " +"atômico do ponto de vista de um programa Python." #: ../../faq/library.rst:372 msgid "" @@ -441,12 +504,18 @@ msgid "" "shared variables of built-in data types (ints, lists, dicts, etc) that " "\"look atomic\" really are." msgstr "" +"Em teoria, isso significa que uma contabilidade exata requer um entendimento " +"exato da implementação do bytecode PVM. Na prática, isso significa que as " +"operações em variáveis compartilhadas de tipos de dados integrados " +"(inteiros, listas, dicionários, etc.) que \"parecem atômicas\" realmente são." #: ../../faq/library.rst:377 msgid "" "For example, the following operations are all atomic (L, L1, L2 are lists, " "D, D1, D2 are dicts, x, y are objects, i, j are ints)::" msgstr "" +"Por exemplo, as seguintes operações são todas atômicas (L, L1, L2 são " +"listas, D, D1, D2 são dicionários, x, y são objetos, i, j são inteiros)::" #: ../../faq/library.rst:392 msgid "These aren't::" @@ -454,15 +523,20 @@ msgstr "Esses não são::" #: ../../faq/library.rst:399 msgid "" -"Operations that replace other objects may invoke those other objects' :meth:" -"`__del__` method when their reference count reaches zero, and that can " -"affect things. This is especially true for the mass updates to dictionaries " -"and lists. When in doubt, use a mutex!" +"Operations that replace other objects may invoke those other " +"objects' :meth:`~object.__del__` method when their reference count reaches " +"zero, and that can affect things. This is especially true for the mass " +"updates to dictionaries and lists. When in doubt, use a mutex!" msgstr "" +"Operações que substituem outros objetos podem invocar o " +"método :meth:`~object.__del__` desses outros objetos quando sua contagem de " +"referências chega a zero, e isso pode afetar as coisas. Isto é especialmente " +"verdadeiro para as atualizações em massa de dicionários e listas. Em caso de " +"dúvida, use um mutex!" #: ../../faq/library.rst:406 msgid "Can't we get rid of the Global Interpreter Lock?" -msgstr "Não podemos remover o Bloqueio Global do interpretador?" +msgstr "Não podemos remover a Trava Global do interpretador?" #: ../../faq/library.rst:410 msgid "" @@ -471,6 +545,11 @@ msgid "" "multi-threaded Python program effectively only uses one CPU, due to the " "insistence that (almost) all Python code can only run while the GIL is held." msgstr "" +"A :term:`trava global do interpretador` (GIL) é frequentemente vista como um " +"obstáculo para a implantação do Python em máquinas servidoras " +"multiprocessadas de ponta, porque um programa Python multi-threaded " +"efetivamente usa apenas uma CPU, devido à insistência de que (quase) todo " +"código Python só pode ser executado enquanto a GIL é mantida." #: ../../faq/library.rst:415 msgid "" @@ -483,26 +562,46 @@ msgid "" "due to the amount of fine-grained locking necessary to compensate for the " "removal of the GIL." msgstr "" +"Na época do Python 1.5, Greg Stein implementou um conjunto abrangente de " +"patches (os patches de \"threading livre\") que removeu o GIL e o substituiu " +"por bloqueio refinado. Adam Olsen recentemente fez um experimento semelhante " +"em seu projeto `python-safethread `_. Infelizmente, ambos os experimentos exibiram uma queda " +"acentuada no desempenho de thread único (pelo menos 30% mais lento), devido " +"à quantidade de bloqueio de granulação fina necessária para compensar a " +"remoção do GIL." #: ../../faq/library.rst:423 msgid "" "This doesn't mean that you can't make good use of Python on multi-CPU " "machines! You just have to be creative with dividing the work up between " -"multiple *processes* rather than multiple *threads*. The :class:" -"`~concurrent.futures.ProcessPoolExecutor` class in the new :mod:`concurrent." -"futures` module provides an easy way of doing so; the :mod:`multiprocessing` " -"module provides a lower-level API in case you want more control over " -"dispatching of tasks." -msgstr "" +"multiple *processes* rather than multiple *threads*. " +"The :class:`~concurrent.futures.ProcessPoolExecutor` class in the " +"new :mod:`concurrent.futures` module provides an easy way of doing so; " +"the :mod:`multiprocessing` module provides a lower-level API in case you " +"want more control over dispatching of tasks." +msgstr "" +"Isso não significa que você não possa fazer bom uso do Python em máquinas " +"com várias CPUs! Você só precisa ser criativo ao dividir o trabalho entre " +"vários *processos* em vez de vários *threads*. A " +"classe :class:`~concurrent.futures.ProcessPoolExecutor` no novo " +"módulo :mod:`concurrent.futures` fornece uma maneira fácil de fazer isso; o " +"módulo :mod:`multiprocessing` fornece uma API de nível inferior caso você " +"queira mais controle sobre o envio de tarefas." #: ../../faq/library.rst:431 msgid "" "Judicious use of C extensions will also help; if you use a C extension to " "perform a time-consuming task, the extension can release the GIL while the " "thread of execution is in the C code and allow other threads to get some " -"work done. Some standard library modules such as :mod:`zlib` and :mod:" -"`hashlib` already do this." +"work done. Some standard library modules such as :mod:`zlib` " +"and :mod:`hashlib` already do this." msgstr "" +"O uso criterioso de extensões C também ajudará; se você usar uma extensão C " +"para executar uma tarefa demorada, a extensão poderá liberar a GIL enquanto " +"o thread de execução estiver no código C e permitir que outros threads " +"realizem algum trabalho. Alguns módulos de biblioteca padrão " +"como :mod:`zlib` e :mod:`hashlib` já fazem isso." #: ../../faq/library.rst:437 msgid "" @@ -515,6 +614,15 @@ msgid "" "types have their own free list; these free lists would have to be moved to " "the interpreter state. And so on." msgstr "" +"Foi sugerido que o GIL deveria ser um bloqueio por estado por interpretador, " +"em vez de verdadeiramente global; os interpretadores não seriam capazes de " +"compartilhar objetos. Infelizmente, isso também não é provável que aconteça. " +"Seria uma quantidade enorme de trabalho, porque muitas implementações de " +"objetos atualmente possuem estado global. Por exemplo, inteiros pequenos e " +"strings curtas são armazenados em cache; esses caches teriam que ser movidos " +"para o estado de interpretador. Outros tipos de objetos possuem sua própria " +"lista livre; essas listas livres teriam que ser movidas para o estado de " +"interpretador. E assim por diante." #: ../../faq/library.rst:446 msgid "" @@ -523,6 +631,10 @@ msgid "" "extensions are being written at a faster rate than you can convert them to " "store all their global state in the interpreter state." msgstr "" +"E duvido que isso possa ser feito em tempo finito, porque o mesmo problema " +"existe para extensões de terceiros. É provável que extensões de terceiros " +"estejam sendo gravadas em uma taxa mais rápida do que você pode convertê-las " +"para armazenar todo o seu estado global no estado do interpretador." #: ../../faq/library.rst:451 msgid "" @@ -544,10 +656,11 @@ msgstr "Como faço para excluir um arquivo? (E outras perguntas sobre arquivos)" #: ../../faq/library.rst:461 msgid "" "Use ``os.remove(filename)`` or ``os.unlink(filename)``; for documentation, " -"see the :mod:`os` module. The two functions are identical; :func:`~os." -"unlink` is simply the name of the Unix system call for this function." +"see the :mod:`os` module. The two functions are " +"identical; :func:`~os.unlink` is simply the name of the Unix system call for " +"this function." msgstr "" -"Use ``os.remove(filename)`` ou ``os.unlink(filename)``;para documentação, " +"Use ``os.remove(arquivo)`` ou ``os.unlink(arquivo)``; para documentação, " "veja o módulo :mod:`os`. As duas funções são idênticas; :func:`~os.unlink` é " "simplesmente o nome da chamada do sistema para esta função no Unix." @@ -559,25 +672,39 @@ msgid "" "directories as long as they're empty; if you want to delete an entire " "directory tree and its contents, use :func:`shutil.rmtree`." msgstr "" +"Para remover um diretório, use :func:`os.rmdir`; use :func:`os.mkdir` para " +"criar um. ``os.makedirs(caminho)`` criará quaisquer diretórios " +"intermediários em ``path`` que não existam. ``os.removedirs(caminho)`` " +"removerá diretórios intermediários, desde que estejam vazios; se quiser " +"excluir toda uma árvore de diretórios e seu conteúdo, " +"use :func:`shutil.rmtree`." #: ../../faq/library.rst:471 msgid "To rename a file, use ``os.rename(old_path, new_path)``." -msgstr "Para renomear um arquivos, use ``os.rename(old_path, new_path)``." +msgstr "" +"Para renomear um arquivos, use ``os.rename(caminho_antigo, caminho_novo)``." #: ../../faq/library.rst:473 msgid "" "To truncate a file, open it using ``f = open(filename, \"rb+\")``, and use " "``f.truncate(offset)``; offset defaults to the current seek position. " -"There's also ``os.ftruncate(fd, offset)`` for files opened with :func:`os." -"open`, where *fd* is the file descriptor (a small integer)." +"There's also ``os.ftruncate(fd, offset)`` for files opened " +"with :func:`os.open`, where *fd* is the file descriptor (a small integer)." msgstr "" +"Para truncar um arquivo, abra-o usando ``f = open(arquivo, \"rb+\")``, e use " +"``f.truncate(posição)``; a posição tem como padrão a posição atual de busca. " +"Há também ``os.ftruncate(fd, posição)`` para arquivos abertos " +"com :func:`os.open`, onde *fd* é o descritor de arquivo (um pequeno inteiro)." #: ../../faq/library.rst:478 msgid "" "The :mod:`shutil` module also contains a number of functions to work on " -"files including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, and :" -"func:`~shutil.rmtree`." +"files including :func:`~shutil.copyfile`, :func:`~shutil.copytree`, " +"and :func:`~shutil.rmtree`." msgstr "" +"O módulo :mod:`shutil` também contém uma série de funções para trabalhar em " +"arquivos, incluindo :func:`~shutil.copyfile`, :func:`~shutil.copytree` " +"e :func:`~shutil.rmtree`." #: ../../faq/library.rst:484 msgid "How do I copy a file?" @@ -593,6 +720,14 @@ msgid "" "permissions and metadata, though using :func:`shutil.copy2` instead will " "preserve most (though not all) of it." msgstr "" +"O módulo :mod:`shutil` contém uma função :func:`~shutil.copyfile`. Observe " +"que em volumes NTFS do Windows, ele não copia `fluxos de dados alternativos " +"`_ nem " +"`forks de recursos `__ em " +"volumes HFS+ do macOS, embora ambos sejam raramente usados agora. Ele também " +"não copia permissões de arquivo e metadados, embora " +"usar :func:`shutil.copy2` em vez disso preserve a maioria (embora não todos) " +"deles." #: ../../faq/library.rst:497 msgid "How do I read (or write) binary data?" @@ -600,16 +735,21 @@ msgstr "Como leio (ou escrevo) dados binários?" #: ../../faq/library.rst:499 msgid "" -"To read or write complex binary data formats, it's best to use the :mod:" -"`struct` module. It allows you to take a string containing binary data " -"(usually numbers) and convert it to Python objects; and vice versa." +"To read or write complex binary data formats, it's best to use " +"the :mod:`struct` module. It allows you to take a string containing binary " +"data (usually numbers) and convert it to Python objects; and vice versa." msgstr "" +"Para ler ou escrever formatos de dados binários complexos, é melhor usar o " +"módulo :mod:`struct`. Ele permite que você pegue uma string contendo dados " +"binários (geralmente números) e a converta em objetos Python; e vice-versa." #: ../../faq/library.rst:503 msgid "" "For example, the following code reads two 2-byte integers and one 4-byte " "integer in big-endian format from a file::" msgstr "" +"Por exemplo, o código a seguir lê dois inteiros de 2 bytes e um inteiro de 4 " +"bytes no formato big-endian de um arquivo:" #: ../../faq/library.rst:512 msgid "" @@ -617,12 +757,17 @@ msgid "" "one \"short integer\" (2 bytes), and 'l' reads one \"long integer\" (4 " "bytes) from the string." msgstr "" +"O '>' na string de formato força dados big-endian; a letra 'h' lê um " +"\"inteiro curto\" (2 bytes) e 'l' lê um \"inteiro longo\" (4 bytes) da " +"string." #: ../../faq/library.rst:516 msgid "" "For data that is more regular (e.g. a homogeneous list of ints or floats), " "you can also use the :mod:`array` module." msgstr "" +"Para dados mais regulares (por exemplo, uma lista homogênea de ints ou " +"floats), você também pode usar o módulo :mod:`array`." #: ../../faq/library.rst:521 msgid "" @@ -631,6 +776,10 @@ msgid "" "instead (the default), the file will be open in text mode and ``f.read()`` " "will return :class:`str` objects rather than :class:`bytes` objects." msgstr "" +"Para ler e escrever dados binários, é obrigatório abrir o arquivo no modo " +"binário (aqui, passando ``\"rb\"`` para :func:`open`). Se você usar " +"``\"r\"`` em vez disso (o padrão), o arquivo será aberto no modo texto e " +"``f.read()`` retornará objetos :class:`str` em vez de objetos :class:`bytes`." #: ../../faq/library.rst:529 msgid "I can't seem to use os.read() on a pipe created with os.popen(); why?" @@ -641,9 +790,14 @@ msgid "" ":func:`os.read` is a low-level function which takes a file descriptor, a " "small integer representing the opened file. :func:`os.popen` creates a high-" "level file object, the same type returned by the built-in :func:`open` " -"function. Thus, to read *n* bytes from a pipe *p* created with :func:`os." -"popen`, you need to use ``p.read(n)``." +"function. Thus, to read *n* bytes from a pipe *p* created " +"with :func:`os.popen`, you need to use ``p.read(n)``." msgstr "" +":func:`os.read` é uma função de baixo nível que pega um descritor de " +"arquivo, um pequeno inteiro representando o arquivo aberto. :func:`os.popen` " +"cria um objeto arquivo de alto nível, o mesmo tipo retornado pela função " +"embutida :func:`open`. Assim, para ler *n* bytes de um pipe *p* criado " +"com :func:`os.popen`, você precisa usar ``p.read(n)``." #: ../../faq/library.rst:618 msgid "How do I access the serial (RS232) port?" @@ -651,7 +805,7 @@ msgstr "Como acesso a porta serial (RS232)?" #: ../../faq/library.rst:620 msgid "For Win32, OSX, Linux, BSD, Jython, IronPython:" -msgstr "" +msgstr "Para Win32, OSX, Linux, BSD, Jython, IronPython:" #: ../../faq/library.rst:622 msgid "https://pypi.org/project/pyserial/" @@ -674,6 +828,8 @@ msgid "" "Python :term:`file objects ` are a high-level layer of " "abstraction on low-level C file descriptors." msgstr "" +"Os :term:`objetos arquivos ` do Python são uma camada de alto " +"nível de abstração em descritores de arquivo C de baixo nível." #: ../../faq/library.rst:635 msgid "" @@ -683,6 +839,11 @@ msgid "" "descriptor. This also happens automatically in ``f``'s destructor, when " "``f`` becomes garbage." msgstr "" +"Para a maioria dos objetos arquivo que você cria em Python por meio da " +"função embutida :func:`open`, ``f.close()`` marca o objeto arquivo Python " +"como fechado do ponto de vista do Python e também organiza o fechamento do " +"descritor de arquivo C subjacente. Isso também acontece automaticamente no " +"destrutor de ``f``, quando ``f`` se torna lixo." #: ../../faq/library.rst:641 msgid "" @@ -691,6 +852,10 @@ msgid "" "marks the Python-level file object as being closed, but does *not* close the " "associated C file descriptor." msgstr "" +"Mas stdin, stdout e stderr são tratados de forma especial pelo Python, " +"devido ao status especial que também lhes é dado pelo C. Executar " +"``sys.stdout.close()`` marca o objeto arquivo de nível Python como fechado, " +"mas *não* fecha o descritor de arquivo C associado." #: ../../faq/library.rst:646 msgid "" @@ -698,10 +863,14 @@ msgid "" "first be sure that's what you really want to do (e.g., you may confuse " "extension modules trying to do I/O). If it is, use :func:`os.close`::" msgstr "" +"Para fechar o descritor de arquivo C subjacente para um desses três, você " +"deve primeiro ter certeza de que é isso que você realmente quer fazer (por " +"exemplo, você pode confundir módulos de extensão tentando fazer E/S). Se " +"for, use :func:`os.close`::" #: ../../faq/library.rst:654 msgid "Or you can use the numeric constants 0, 1 and 2, respectively." -msgstr "Ou você pode usar as constantes numérias 0, 1 e 2, respectivamente." +msgstr "Ou você pode usar as constantes numéricas 0, 1 e 2, respectivamente." #: ../../faq/library.rst:658 msgid "Network/Internet Programming" @@ -709,7 +878,7 @@ msgstr "Programação Rede / Internet" #: ../../faq/library.rst:661 msgid "What WWW tools are there for Python?" -msgstr "Quais ferramentas WWW existem no Python?" +msgstr "Quais ferramentas para WWW existem no Python?" #: ../../faq/library.rst:663 msgid "" @@ -717,6 +886,9 @@ msgid "" "Reference Manual. Python has many modules that will help you build server-" "side and client-side web systems." msgstr "" +"Veja os capítulos intitulados :ref:`internet` e :ref:`netdata` no Manual de " +"Referência da Biblioteca. Python tem muitos módulos que ajudarão você a " +"construir sistemas web do lado do servidor e do lado do cliente." #: ../../faq/library.rst:669 msgid "" @@ -729,8 +901,8 @@ msgstr "" #: ../../faq/library.rst:672 msgid "" "Cameron Laird maintains a useful set of pages about Python web technologies " -"at https://web.archive.org/web/20210224183619/http://phaseit.net/claird/comp." -"lang.python/web_python." +"at https://web.archive.org/web/20210224183619/http://phaseit.net/claird/" +"comp.lang.python/web_python." msgstr "" #: ../../faq/library.rst:677 @@ -795,10 +967,14 @@ msgid "" "usr/sbin/sendmail``. The sendmail manual page will help you out. Here's " "some sample code::" msgstr "" +"Uma alternativa somente para Unix usa o sendmail. A localização do programa " +"sendmail varia entre os sistemas; às vezes é ``/usr/lib/sendmail``, às vezes " +"``/usr/sbin/sendmail``. A página de manual do sendmail vai ajudar você. Aqui " +"está um código de exemplo::" #: ../../faq/library.rst:762 msgid "How do I avoid blocking in the connect() method of a socket?" -msgstr "Como evito o bloqueio no método connect() de um soquete?" +msgstr "Como evito um bloqueio no método connect() de um soquete?" #: ../../faq/library.rst:764 msgid "" @@ -811,81 +987,107 @@ msgstr "" #: ../../faq/library.rst:767 msgid "" "To prevent the TCP connect from blocking, you can set the socket to non-" -"blocking mode. Then when you do the :meth:`socket.connect`, you will either " -"connect immediately (unlikely) or get an exception that contains the error " -"number as ``.errno``. ``errno.EINPROGRESS`` indicates that the connection is " -"in progress, but hasn't finished yet. Different OSes will return different " -"values, so you're going to have to check what's returned on your system." -msgstr "" - -#: ../../faq/library.rst:774 -msgid "" -"You can use the :meth:`socket.connect_ex` method to avoid creating an " -"exception. It will just return the errno value. To poll, you can call :" -"meth:`socket.connect_ex` again later -- ``0`` or ``errno.EISCONN`` indicate " -"that you're connected -- or you can pass this socket to :meth:`select." -"select` to check if it's writable." -msgstr "" - -#: ../../faq/library.rst:780 +"blocking mode. Then when you do the :meth:`~socket.socket.connect`, you " +"will either connect immediately (unlikely) or get an exception that contains " +"the error number as ``.errno``. ``errno.EINPROGRESS`` indicates that the " +"connection is in progress, but hasn't finished yet. Different OSes will " +"return different values, so you're going to have to check what's returned on " +"your system." +msgstr "" +"Para evitar que a conexão TCP bloqueie, você pode definir o soquete para o " +"modo sem bloqueio. Então, quando você fizer " +"o :meth:`~socket.socket.connect`, você se conectará imediatamente " +"(improvável) ou obterá uma exceção que contém o número de erro como " +"``.errno``. ``errno.EINPROGRESS`` indica que a conexão está em andamento, " +"mas ainda não terminou. Diferentes sistemas operacionais retornarão valores " +"diferentes, então você terá que verificar o que é retornado no seu sistema." + +#: ../../faq/library.rst:775 +msgid "" +"You can use the :meth:`~socket.socket.connect_ex` method to avoid creating " +"an exception. It will just return the errno value. To poll, you can " +"call :meth:`~socket.socket.connect_ex` again later -- ``0`` or " +"``errno.EISCONN`` indicate that you're connected -- or you can pass this " +"socket to :meth:`select.select` to check if it's writable." +msgstr "" +"Você pode usar o método :meth:`~socket.socket.connect_ex` para evitar criar " +"uma exceção. Ele retornará apenas o valor de errno. Para pesquisar, você " +"pode chamar :meth:`~socket.socket.connect_ex` novamente mais tarde -- ``0`` " +"ou ``errno.EISCONN`` indicam que você está conectado -- ou você pode passar " +"este soquete para :meth:`select.select` para verificar se ele é gravável." + +#: ../../faq/library.rst:783 msgid "" "The :mod:`asyncio` module provides a general purpose single-threaded and " "concurrent asynchronous library, which can be used for writing non-blocking " "network code. The third-party `Twisted `_ library is a " "popular and feature-rich alternative." msgstr "" +"O módulo :mod:`asyncio` fornece uma biblioteca assíncrona de thread única e " +"concorrente de propósito geral, que pode ser usada para escrever código de " +"rede não bloqueante. A biblioteca de terceiros `Twisted `_ é uma alternativa popular e rica em recursos." -#: ../../faq/library.rst:788 +#: ../../faq/library.rst:791 msgid "Databases" msgstr "Base de Dados" -#: ../../faq/library.rst:791 +#: ../../faq/library.rst:794 msgid "Are there any interfaces to database packages in Python?" msgstr "Existem interfaces para banco de dados em Python?" -#: ../../faq/library.rst:793 +#: ../../faq/library.rst:796 msgid "Yes." msgstr "Sim." -#: ../../faq/library.rst:795 +#: ../../faq/library.rst:798 msgid "" "Interfaces to disk-based hashes such as :mod:`DBM ` and :mod:`GDBM " -"` are also included with standard Python. There is also the :mod:" -"`sqlite3` module, which provides a lightweight disk-based relational " -"database." +"` are also included with standard Python. There is also " +"the :mod:`sqlite3` module, which provides a lightweight disk-based " +"relational database." msgstr "" +"Interfaces para hashes baseados em disco, como :mod:`DBM ` " +"e :mod:`GDBM ` também estão incluídas no Python padrão. Há também o " +"módulo :mod:`sqlite3`, que fornece um banco de dados relacional baseado em " +"disco leve." -#: ../../faq/library.rst:800 +#: ../../faq/library.rst:803 msgid "" "Support for most relational databases is available. See the " "`DatabaseProgramming wiki page `_ for details." msgstr "" "Suporte para a maioria dos bancos de dados relacionais está disponível. Para " -"mais detalhes, veja a `página wiki DatabaseProgramming `_ para detalhes." +"mais detalhes, veja a `página wiki DatabaseProgramming `_ para detalhes." -#: ../../faq/library.rst:806 +#: ../../faq/library.rst:809 msgid "How do you implement persistent objects in Python?" msgstr "Como você implementa objetos persistentes no Python?" -#: ../../faq/library.rst:808 +#: ../../faq/library.rst:811 msgid "" "The :mod:`pickle` library module solves this in a very general way (though " -"you still can't store things like open files, sockets or windows), and the :" -"mod:`shelve` library module uses pickle and (g)dbm to create persistent " +"you still can't store things like open files, sockets or windows), and " +"the :mod:`shelve` library module uses pickle and (g)dbm to create persistent " "mappings containing arbitrary Python objects." msgstr "" +"O módulo de biblioteca :mod:`pickle` resolve isso de uma maneira muito geral " +"(embora você ainda não possa armazenar coisas como arquivos abertos, " +"soquetes ou janelas), e o módulo de biblioteca :mod:`shelve` usa pickle e " +"(g)dbm para criar mapeamentos persistentes contendo objetos Python " +"arbitrários." -#: ../../faq/library.rst:815 +#: ../../faq/library.rst:818 msgid "Mathematics and Numerics" msgstr "Matemáticos e Numéricos" -#: ../../faq/library.rst:818 +#: ../../faq/library.rst:821 msgid "How do I generate random numbers in Python?" msgstr "Como gero número aleatórios no Python?" -#: ../../faq/library.rst:820 +#: ../../faq/library.rst:823 msgid "" "The standard module :mod:`random` implements a random number generator. " "Usage is simple::" @@ -893,43 +1095,48 @@ msgstr "" "O módulo padrão :mod:`random` implementa um gerador de números aleatórios. O " "uso é simples::" -#: ../../faq/library.rst:826 +#: ../../faq/library.rst:829 msgid "This returns a random floating point number in the range [0, 1)." msgstr "Isso retorna um número flutuante aleatório no intervalo [0, 1)." -#: ../../faq/library.rst:828 +#: ../../faq/library.rst:831 msgid "" "There are also many other specialized generators in this module, such as:" msgstr "Existem também muitos outros geradores aleatórios neste módulo, como:" -#: ../../faq/library.rst:830 +#: ../../faq/library.rst:833 msgid "``randrange(a, b)`` chooses an integer in the range [a, b)." msgstr "" "``randrange(a, b)`` escolhe um número inteiro no intervalo entre [a, b)." -#: ../../faq/library.rst:831 +#: ../../faq/library.rst:834 msgid "``uniform(a, b)`` chooses a floating point number in the range [a, b)." msgstr "``uniform(a, b)`` escolhe um número float no intervalo [a, b)." -#: ../../faq/library.rst:832 +#: ../../faq/library.rst:835 msgid "" "``normalvariate(mean, sdev)`` samples the normal (Gaussian) distribution." msgstr "" +"``normalvariate(mean, sdev)`` gera números pseudoaleatórios que seguem uma " +"distribuição normal (Gaussiana)." -#: ../../faq/library.rst:834 +#: ../../faq/library.rst:837 msgid "Some higher-level functions operate on sequences directly, such as:" msgstr "" "Algumas funções de nível elevado operam diretamente em sequencia, como:" -#: ../../faq/library.rst:836 +#: ../../faq/library.rst:839 msgid "``choice(S)`` chooses a random element from a given sequence." msgstr "" +"``choice(S)`` escolhe um elemento aleatório de uma determinada sequência." -#: ../../faq/library.rst:837 +#: ../../faq/library.rst:840 msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly." msgstr "" +"``shuffle(L)`` embaralha uma lista internamente, ou seja permuta seus " +"elementos aleatoriamente." -#: ../../faq/library.rst:839 +#: ../../faq/library.rst:842 msgid "" "There's also a ``Random`` class you can instantiate to create independent " "multiple random number generators." diff --git a/faq/programming.po b/faq/programming.po index 58545b230..7dfe8b2b9 100644 --- a/faq/programming.po +++ b/faq/programming.po @@ -1,38 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Tiago Henrique , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Aline Balogh , 2021 -# Augusta Carla Klug , 2021 -# Leonardo Mendes, 2021 -# Rafael Fontenelle , 2023 -# Adorilson Bezerra , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Adorilson Bezerra , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../faq/programming.rst:5 msgid "Programming FAQ" -msgstr "FAQ referente a Programação" +msgstr "FAQ sobre programação" #: ../../faq/programming.rst:8 msgid "Contents" @@ -40,15 +33,15 @@ msgstr "Conteúdo" #: ../../faq/programming.rst:12 msgid "General Questions" -msgstr "Questões Gerais" +msgstr "Perguntas gerais" #: ../../faq/programming.rst:15 msgid "" "Is there a source code level debugger with breakpoints, single-stepping, " "etc.?" msgstr "" -"Existe um depurador a nível de código-fonte que possuo pontos de interrupção " -"(breakpoints), single-stepping etc.?" +"Existe um depurador a nível de código-fonte que possua pontos de interrupção " +"(*breakpoints*), single-stepping, etc.?" #: ../../faq/programming.rst:17 ../../faq/programming.rst:58 msgid "Yes." @@ -56,11 +49,12 @@ msgstr "Sim." #: ../../faq/programming.rst:19 msgid "" -"Several debuggers for Python are described below, and the built-in function :" -"func:`breakpoint` allows you to drop into any of them." +"Several debuggers for Python are described below, and the built-in " +"function :func:`breakpoint` allows you to drop into any of them." msgstr "" -"Vários depuradores para Python estão descritos abaixo, e a função embutida :" -"func:`breakpoint` permite que você caia em qualquer um deles." +"Vários depuradores para Python estão descritos abaixo, e a função " +"embutida :func:`breakpoint` permite que você caia em qualquer um desses " +"pontos." #: ../../faq/programming.rst:22 msgid "" @@ -69,11 +63,10 @@ msgid "" "Library Reference Manual `. You can also write your own debugger by " "using the code for pdb as an example." msgstr "" -"O módulo pdb é um depurador cujo funcionamento ocorre em modo Console " -"simples mas, adequado para o Python. Faz parte da biblioteca padrão do " -"Python e está documentado em :mod:`documented in the Library Reference " -"Manual 1`. Caso necessário, também é possível a construção do seu próprio " -"depurador usando o código do pdb como um exemplo." +"O módulo pdb é um depurador em modo Console simples, mas adequado, para o " +"Python. Faz parte da biblioteca padrão do Python e está documentado " +"no :mod:`manual de referencia da biblioteca `. Você também pode " +"construir do seu próprio depurador usando o código do pdb como um exemplo." #: ../../faq/programming.rst:27 msgid "" @@ -82,6 +75,10 @@ msgid "" "github.com/python/cpython/blob/main/Tools/scripts/idle3>`_), includes a " "graphical debugger." msgstr "" +"O IDLE é um ambiente interativo de desenvolvimento que faz parte da " +"distribuição padrão do Python (normalmente acessível como `Tools/scripts/" +"idle3 `_), " +"e inclui um depurador gráfico." #: ../../faq/programming.rst:32 msgid "" @@ -92,18 +89,20 @@ msgid "" "the `ActivePython `_ " "distribution." msgstr "" -"O PythonWin é uma IDE feita para o Python que inclui um depurador de GUI " -"baseado no pdb. O depurador PythonWin colora os pontos de interrupção e tem " -"alguns recursos legais, como a depuração de programas que não são PythonWin. " -"O PythonWin está disponível como parte do projeto `pywin32 `_ e como parte da distribuição `ActivePython `_." +"O PythonWin é uma IDE feita para o Python que inclui um depurador gráfico " +"baseado no pdb. O depurador do PythonWin colore os pontos de interrupção e " +"tem alguns recursos legais, como a depuração de programas que não são " +"PythonWin. O PythonWin está disponível como parte do projeto `pywin32 " +"`_ e como parte da distribuição " +"`ActivePython `_." #: ../../faq/programming.rst:39 msgid "" "`Eric `_ is an IDE built on PyQt and " "the Scintilla editing component." msgstr "" +"`Eric `_ é uma IDE construída com " +"PyQt e o componente de edição Scintilla." #: ../../faq/programming.rst:42 msgid "" @@ -119,14 +118,14 @@ msgid "" "debugging tools that integrates with version-control software." msgstr "" "`Visual Studio Code `_ é uma IDE com " -"ferramentas de depuração que integra com softwares de controle de versão." +"ferramentas de depuração integrada com softwares de controle de versão." #: ../../faq/programming.rst:47 msgid "" "There are a number of commercial Python IDEs that include graphical " "debuggers. They include:" msgstr "" -"Há uma série de IDE comerciais para desenvolvimento com o Python que incluem " +"Há uma série de IDE comerciais para desenvolvimento com o Python que inclui " "depuradores gráficos. Dentre tantas temos:" #: ../../faq/programming.rst:50 @@ -153,6 +152,9 @@ msgid "" "`_ do basic checking that will help you " "catch bugs sooner." msgstr "" +"`Pylint `_ e `Pyflakes " +"`_ fazem verificações básicas que te " +"ajudarão a encontrar erros mais cedo." #: ../../faq/programming.rst:64 msgid "" @@ -160,6 +162,9 @@ msgid "" "`_, and `Pytype `_ can check type hints in Python source code." msgstr "" +"Verificadores de tipo estático como `Mypy `_, `Pyre " +"`_ e `Pytype `_ " +"conseguem verificar dicas de tipo em código-fonte Python." #: ../../faq/programming.rst:73 msgid "How can I create a stand-alone binary from a Python script?" @@ -177,7 +182,7 @@ msgstr "" "o que deseja é um programa autônomo que os usuários possam baixar e executar " "sem ter que instalar a distribuição Python primeiro. Existem várias " "ferramentas que determinam o conjunto de módulos exigidos por um programa e " -"vinculam esses módulos junto com o binário do Python para produzir um único " +"vinculam esses módulos ao binário do Python para produzir um único " "executável." #: ../../faq/programming.rst:81 @@ -188,6 +193,11 @@ msgid "" "can embed all your modules into a new program, which is then linked with the " "standard Python modules." msgstr "" +"Uma delas é usar a ferramenta *freeze*, que está incluída na árvore de " +"código-fonte Python como `Tools/freeze `_. Ela converte o *bytecode* de Python em vetores de " +"C. Com um compilador de C, você consegue incorporar todos os seus módulos em " +"um novo programa, que é então vinculado aos módulos-padrão de Python." #: ../../faq/programming.rst:87 msgid "" @@ -201,15 +211,16 @@ msgid "" "rest of the Python interpreter to form a self-contained binary which acts " "exactly like your script." msgstr "" -"Ela funciona escaneando seu código recursivamente pelas instruções de " -"importação (ambas as formas) e procurando pelos módulos no caminho padrão do " -"Python e também no diretório fonte (para módulos embutidos). Então torna o " -"bytecode de módulos escritos em Python em código C (inicializadores de vetor " -"que podem ser transformado em objetos código usando o módulo marshal) e cria " -"um arquivo de configurações customizado que só contém aqueles módulos " -"embutidos que são na realidade usados no programa. A ferramenta então " -"compila os códigos gerados em C e liga como o resto do interpretador Python " -"para formar um binário autônomo que age exatamente como seu script." +"A *freeze* trabalha percorrendo seu código recursivamente, procurando por " +"instruções de importação (ambas as formas), e procurando por módulos tanto " +"no caminho padrão do Python, quanto por módulos embutidos no diretório " +"fonte. Ela então transforma o *bytecode* de módulos Python em código C " +"(inicializadores de vetor que podem ser transformados em objetos código " +"usando o módulo `marshal`), e depois cria um arquivo de configurações " +"personalizado que só contém os módulos embutidos usados no programa. A " +"ferramenta então compila os códigos C e os vincula como o resto do " +"interpretador Python, formando um binário autônomo que funciona exatamente " +"como seu *script*." #: ../../faq/programming.rst:96 msgid "" @@ -225,7 +236,7 @@ msgstr "`Nuitka `_ (Multiplataforma)" #: ../../faq/programming.rst:100 msgid "`PyInstaller `_ (Cross-platform)" -msgstr "" +msgstr "`PyInstaller `_ (Multiplataforma)" #: ../../faq/programming.rst:101 msgid "" @@ -246,7 +257,7 @@ msgstr "`py2app `_ (somente macOS)" #: ../../faq/programming.rst:104 msgid "`py2exe `_ (Windows only)" -msgstr "" +msgstr "`py2exe `_ (somente Windows)" #: ../../faq/programming.rst:107 msgid "Are there coding standards or a style guide for Python programs?" @@ -260,17 +271,17 @@ msgid "" "as :pep:`8`." msgstr "" "Sim. O guia de estilo esperado para módulos e biblioteca padrão possui o " -"nome de PEP8 e podes acessar a sua documentação em :pep:`8`." +"nome de PEP8 e você pode acessar a sua documentação em :pep:`8`." #: ../../faq/programming.rst:114 msgid "Core Language" -msgstr "Núcleo da Linguagem" +msgstr "Núcleo da linguagem" #: ../../faq/programming.rst:119 msgid "Why am I getting an UnboundLocalError when the variable has a value?" msgstr "" -"Porque estou recebo o erro UnboundLocalError quando a variável possui um " -"valor associado?" +"Porque recebo o erro UnboundLocalError quando a variável possui um valor " +"associado?" #: ../../faq/programming.rst:121 msgid "" @@ -278,6 +289,9 @@ msgid "" "working code when it is modified by adding an assignment statement somewhere " "in the body of a function." msgstr "" +"Pode ser uma surpresa obter a exceção :exc:`UnboundLocalError` em um código " +"previamente funcional quando adicionamos uma instrução de atribuição em " +"algum lugar no corpo de uma função." #: ../../faq/programming.rst:125 msgid "This code:" @@ -289,7 +303,7 @@ msgstr "funciona, mas este código:" #: ../../faq/programming.rst:141 msgid "results in an :exc:`!UnboundLocalError`:" -msgstr "" +msgstr "resulta em uma :exc:`!UnboundLocalError`:" #: ../../faq/programming.rst:148 msgid "" @@ -300,21 +314,20 @@ msgid "" "Consequently when the earlier ``print(x)`` attempts to print the " "uninitialized local variable and an error results." msgstr "" -"Isso acontece devido ao fato de que quando realizamos uma tarefa numa " -"variável de um determinado escopo, essa variável torna-se-á local desse " -"escopo acabando por esconder qualquer variável similar que foi mencionada no " -"escopo externo. Uma vez que a última declaração de foo atribuir um novo " -"valor a ``x``, o compilador o reconhecera como uma variável local. " -"Consequentemente, quando o ``print(x)`` anterior tentar imprimir a variável " -"local não inicializada acabará resultando num." +"Isso acontece porque, quando atribuímos um valor a uma variável em " +"determinado escopo, essa variável torna-se local desse escopo, acabando por " +"esconder qualquer outra variável de mesmo nome no escopo externo. Como a " +"última instrução em foo atribui um novo valor a ``x``, o interpretador a " +"reconhece como uma variável local. Consequentemente, quando o ``print(x)`` " +"anterior tentar exibir a variável local não inicializada, um erro aparece." #: ../../faq/programming.rst:155 msgid "" "In the example above you can access the outer scope variable by declaring it " "global:" msgstr "" -"No exemplo acima, podemos acessar a variável do escopo externo declarando-o " -"globalmente:" +"No exemplo acima, podemos acessar a variável do escopo externo declarando-a " +"como global:" #: ../../faq/programming.rst:167 msgid "" @@ -322,17 +335,17 @@ msgid "" "the superficially analogous situation with class and instance variables) you " "are actually modifying the value of the variable in the outer scope:" msgstr "" -"Esta declaração explícita é necessária para lembrá-lo de que (ao contrário " -"da situação superficialmente análoga com variáveis de classe e instância), " -"você realmente está modificando o valor da variável no escopo externo:" +"Esta declaração explícita é necessária para lembrarmos que estamos " +"modificando o valor da variável no escopo externo (ao contrário da situação " +"superficialmente análoga com variáveis de classe e instância):" #: ../../faq/programming.rst:174 msgid "" "You can do a similar thing in a nested scope using the :keyword:`nonlocal` " "keyword:" msgstr "" -"Você pode fazer uma coisa semelhante num escopo aninhado usando o argumento " -"nomeado :keyword:`nonlocal`:" +"Podemos fazer algo parecido num escopo aninhado usando a palavra " +"reservada :keyword:`nonlocal`:" #: ../../faq/programming.rst:192 msgid "What are the rules for local and global variables in Python?" @@ -347,8 +360,8 @@ msgid "" msgstr "" "Em Python, as variáveis que são apenas utilizadas (referenciadas) dentro de " "uma função são implicitamente globais. Se uma variável for associada a um " -"valor em qualquer lugar dentro do corpo da função, assume-se que a mesma " -"será local, a menos que seja explicitamente declarado como global." +"valor em qualquer lugar dentro do corpo da função, presume-se que a mesma " +"seja local, a menos que seja explicitamente declarada como global." #: ../../faq/programming.rst:198 msgid "" @@ -374,7 +387,7 @@ msgid "" "Why do lambdas defined in a loop with different values all return the same " "result?" msgstr "" -"Por que os lambdas definidos em um loop com valores diferentes retornam o " +"Por que os lambdas definidos em um laço com valores diferentes retornam o " "mesmo resultado?" #: ../../faq/programming.rst:210 @@ -382,8 +395,8 @@ msgid "" "Assume you use a for loop to define a few different lambdas (or even plain " "functions), e.g.::" msgstr "" -"Suponha que utilizes um loop for para definir algumas funções lambdas (ou " -"mesmo funções simples), por exemplo.::" +"Suponha que se utilize um laço `for` para definir algumas funções lambdas " +"(ou mesmo funções simples), por exemplo.::" #: ../../faq/programming.rst:217 msgid "" @@ -392,9 +405,9 @@ msgid "" "``1``, ``4``, ``9``, and ``16``. However, when you actually try you will " "see that they all return ``16``::" msgstr "" -"Isso oferece uma lista que contém 5 lambdas que calculam ``x**2``. Poderás " -"esperar que, quando invocado, os mesmo retornem, respectivamente, ``0``, " -"``1``, ``4``, ``9``, e ``16``. No entanto, quando realmente tentares, verás " +"Isso oferece uma lista que contém 5 lambdas que calculam ``x**2``. Você " +"pensar que, quando invocado, os mesmos retornam, respectivamente, ``0``, " +"``1``, ``4``, ``9``, e ``16``. No entanto, quando realmente tentar, vai ver " "que todos retornam ``16``::" #: ../../faq/programming.rst:227 @@ -405,20 +418,20 @@ msgid "" "the functions now return ``4**2``, i.e. ``16``. You can also verify this by " "changing the value of ``x`` and see how the results of the lambdas change::" msgstr "" -"Isso acontece porque ``x`` não é local para o lambdas, mas é definido no " +"Isso acontece porque ``x`` não é local para os lambdas, mas é definido no " "escopo externo, e é acessado quando o lambda for chamado --- não quando é " -"definido. No final do loop, o valor de ``x`` será ``4``, e então, todas as " -"funções agora retornarão ``4**2``, ou seja, ``16``. Também poderás verificar " -"isso alterando o valor de ``x`` e vendo como os resultados dos lambdas " -"mudam::" +"definido. No final do laço, o valor de ``x`` será ``4``, e então, todas as " +"funções agora retornarão ``4**2``, ou seja, ``16``. Também é possível " +"verificar isso alterando o valor de ``x`` e vendo como os resultados dos " +"lambdas mudam::" #: ../../faq/programming.rst:237 msgid "" "In order to avoid this, you need to save the values in variables local to " "the lambdas, so that they don't rely on the value of the global ``x``::" msgstr "" -"Para evitar isso, precisarás salvar os valores nas variáveis locais para os " -"lambdas, para que eles não dependam do valor de ``x`` global::" +"Para evitar isso, é necessário salvar os valores nas variáveis locais para " +"os lambdas, para que eles não dependam do valor de ``x`` global::" #: ../../faq/programming.rst:244 msgid "" @@ -428,9 +441,9 @@ msgid "" "the first lambda, ``1`` in the second, ``2`` in the third, and so on. " "Therefore each lambda will now return the correct result::" msgstr "" -"Aqui, ``n=x`` cria uma nova variável ``n`` local para o lambda e calculada " -"quando o lambda será definido para que ele tenha o mesmo valor que ``x`` " -"tenha nesse ponto no loop. Isso significa que o valor de ``n`` será ``0`` no " +"Aqui, ``n=x`` cria uma nova variável ``n`` local para o lambda e é calculada " +"quando o lambda é definido para que ele tenha o mesmo valor que ``x`` tem " +"nesse ponto no laço. Isso significa que o valor de ``n`` será ``0`` no " "primeiro \"ciclo\" do lambda, ``1`` no segundo \"ciclo\", ``2`` no terceiro, " "e assim por diante. Portanto, cada lambda agora retornará o resultado " "correto::" @@ -459,7 +472,7 @@ msgstr "" "A maneira canônica de compartilhar informações entre módulos dentro de um " "único programa é criando um módulo especial (geralmente chamado de config ou " "cfg). Basta importar o módulo de configuração em todos os módulos da sua " -"aplicação; O módulo ficará disponível como um nome global. Como há apenas " +"aplicação; o módulo ficará disponível como um nome global. Como há apenas " "uma instância de cada módulo, todas as alterações feitas no objeto do módulo " "se refletem em todos os lugares. Por exemplo:" @@ -480,6 +493,8 @@ msgid "" "Note that using a module is also the basis for implementing the singleton " "design pattern, for the same reason." msgstr "" +"Note que usar um módulo também é a base para a implementação do padrão de " +"projeto Singleton, pela mesma razão." #: ../../faq/programming.rst:288 msgid "What are the \"best practices\" for using import in a module?" @@ -493,9 +508,9 @@ msgid "" "importer's namespace, and makes it much harder for linters to detect " "undefined names." msgstr "" -"Em geral, não use ``from modulename import *``. Ao fazê-lo, o espaço de " -"nomes do importador é mais difícil e torna muito mais difícil para as " -"ferramentas linters detectar nomes indefinidos." +"Em geral, não use ``from nomemódulo import *``. Isso desorganiza o espaço de " +"nomes do importador e torna muito mais difícil para as ferramentas de " +"análise estática detectarem nomes indefinidos." #: ../../faq/programming.rst:294 msgid "" @@ -505,7 +520,7 @@ msgid "" "module imports, but using multiple imports per line uses less screen space." msgstr "" "Faça a importação de módulos na parte superior do arquivo. Isso deixa claro " -"quais outros módulos nosso código necessita e evita dúvidas sobre por " +"quais outros módulos nosso código necessita e evita dúvidas sobre, por " "exemplo, se o nome do módulo está no escopo. Usar uma importação por linha " "facilita a adição e exclusão de importações de módulos, porém, usar várias " "importações num única linha, ocupa menos espaço da tela." @@ -516,19 +531,24 @@ msgstr "É uma boa prática importar os módulos na seguinte ordem:" #: ../../faq/programming.rst:301 msgid "" -"standard library modules -- e.g. :mod:`sys`, :mod:`os`, :mod:`argparse`, :" -"mod:`re`" +"standard library modules -- " +"e.g. :mod:`sys`, :mod:`os`, :mod:`argparse`, :mod:`re`" msgstr "" +"módulos da biblioteca padrão -- por " +"exemplo: :mod:`sys`, :mod:`os`, :mod:`argparse` e :mod:`re`" #: ../../faq/programming.rst:302 msgid "" "third-party library modules (anything installed in Python's site-packages " "directory) -- e.g. :mod:`!dateutil`, :mod:`!requests`, :mod:`!PIL.Image`" msgstr "" +"módulos de biblioteca de terceiros (qualquer instalação feita contida no " +"repositório de códigos na pasta site-packages) -- por exemplo: :mod:`!" +"dateutil`, :mod:`!requests` e :mod:`!PIL.Image`" #: ../../faq/programming.rst:304 msgid "locally developed modules" -msgstr "" +msgstr "módulos desenvolvidos localmente" #: ../../faq/programming.rst:306 msgid "" @@ -546,11 +566,11 @@ msgid "" "That's because names in the 1st are not yet available, because the first " "module is busy importing the 2nd." msgstr "" -"As importações circulares estão bem onde ambos os módulos utilizam a forma " -"de importação \"import 1\". Eles falham quando o 2º módulo quer pegar um " -"nome do primeiro (\"from module import name\") e a importação está no nível " +"As importações circulares vão bem onde ambos os módulos utilizam a forma de " +"importação \"import \". Elas falham quando o 2º módulo quer pegar um " +"nome do primeiro (\"from módulo import nome\") e a importação está no nível " "superior. Isso porque os nomes no primeiro ainda não estão disponíveis, " -"porque o primeiro módulo está ocupado importando o 2º." +"porque o 1º módulo está ocupado importando o 2º." #: ../../faq/programming.rst:315 msgid "" @@ -594,16 +614,16 @@ msgid "" "of scope, the module is probably available in :data:`sys.modules`." msgstr "" "Apenas mova as importações para um escopo local, como dentro da definição de " -"função, se for necessário resolver algum tipo de problema, como exemplo, " -"evitar importações circulares ou tentar reduzir o tempo de inicialização do " -"módulo. Esta técnica é especialmente útil se muitas das importações forem " -"desnecessárias, dependendo de como o programa é executado. Também podemos " -"desejar mover as importações para uma função se os módulos forem usados " -"somente nessa função. Note que carregar um módulo pela primeira vez pode ser " -"demorado devido ao tempo de inicialização de cada módulo, no entanto, " -"carregar um módulo várias vezes é praticamente imperceptível, tendo somente " -"o custo de processamento de pesquisas no dicionário de nomes. Mesmo que o " -"nome do módulo tenha saído do escopo, o módulo provavelmente estará " +"função, se for necessário resolver algum tipo de problema, como, por " +"exemplo, evitar importações circulares ou tentar reduzir o tempo de " +"inicialização do módulo. Esta técnica é especialmente útil se muitas das " +"importações forem desnecessárias, dependendo de como o programa é executado. " +"Também podemos desejar mover as importações para uma função se os módulos " +"forem usados somente nessa função. Note que carregar um módulo pela primeira " +"vez pode ser demorado devido ao tempo de inicialização de cada módulo, no " +"entanto, carregar um módulo várias vezes é praticamente imperceptível, tendo " +"somente o custo de processamento de pesquisas no dicionário de nomes. Mesmo " +"que o nome do módulo tenha saído do escopo, o módulo provavelmente estará " "disponível em :data:`sys.modules`." #: ../../faq/programming.rst:338 @@ -624,9 +644,9 @@ msgid "" "The second time, ``mydict`` contains two items because when ``foo()`` begins " "executing, ``mydict`` starts out with an item already in it." msgstr "" -"A primeira vez que chamares essa função, ``mydict`` irá conter um único " -"item. A segunda vez, ``mydict`` irá conter dois itens, porque quando " -"``foo()`` começar a ser executado, ``mydict`` começará com um item já " +"Na primeira vez que chamar essa função, ``meudict`` vai conter um único " +"item. Na segunda vez, ``meudict`` vai conter dois itens porque, quando " +"``foo()`` começar a ser executado, ``meudict`` começará com um item já " "existente." #: ../../faq/programming.rst:351 @@ -637,10 +657,10 @@ msgid "" "dictionary in this example, subsequent calls to the function will refer to " "this changed object." msgstr "" -"Muitas vezes, espera-se que ao invocar uma função seja criado novos objetos " -"referente aos valores padrão. Isso não é o que acontecerá. Os valores padrão " -"são criados exatamente uma vez, quando a função está sendo definida. Se esse " -"objeto for alterado, como o dicionário neste exemplo, as chamadas " +"Muitas vezes, espera-se que ao invocar uma função sejam criados novos " +"objetos referente aos valores padrão. Isso não é o que acontece. Os valores " +"padrão são criados exatamente uma vez, quando a função está sendo definida. " +"Se esse objeto for alterado, como o dicionário neste exemplo, as chamadas " "subsequentes para a essa função se referirão a este objeto alterado." #: ../../faq/programming.rst:356 @@ -664,8 +684,8 @@ msgstr "" "Por causa desse recurso, é uma boa prática de programação para evitar o uso " "de objetos mutáveis contendo valores padrão. Em vez disso, utilize ``None`` " "como o valor padrão e dentro da função, verifique se o parâmetro é ``None`` " -"e crie uma nova lista /dicionário/ o que quer que seja. Por exemplo, escreva " -"o seguinte código::" +"e crie uma nova lista, dicionário ou o que quer que seja. Por exemplo, " +"escreva o seguinte código::" #: ../../faq/programming.rst:368 msgid "but::" @@ -679,9 +699,9 @@ msgid "" "value is requested again. This is called \"memoizing\", and can be " "implemented like this::" msgstr "" -"Esse recurso pode ser útil. Quando tiveres uma função que consome muito " -"tempo para calcular, uma técnica comum é armazenar em cache os parâmetros e " -"o valor resultante de cada chamada para a função e retornar o valor em cache " +"Esse recurso pode ser útil. Quando se tem uma função que consome muito tempo " +"para calcular, uma técnica comum é armazenar em cache os parâmetros e o " +"valor resultante de cada chamada para a função e retornar o valor em cache " "se o mesmo valor for solicitado novamente. Isso se chama \"memoizar\", e " "pode ser implementado da seguinte forma::" @@ -690,15 +710,15 @@ msgid "" "You could use a global variable containing a dictionary instead of the " "default value; it's a matter of taste." msgstr "" -"Poderias usar uma variável global contendo um dicionário ao invés do valor " +"Pode-se usar uma variável global contendo um dicionário ao invés do valor " "padrão; isso é uma questão de gosto." #: ../../faq/programming.rst:394 msgid "" "How can I pass optional or keyword parameters from one function to another?" msgstr "" -"Como passar parâmetros opcionais ou parâmetros na forma de keyword de uma " -"função a outra?" +"Como passo parâmetros opcionais ou parâmetros nomeados de uma função para " +"outra?" #: ../../faq/programming.rst:396 msgid "" @@ -721,10 +741,16 @@ msgstr "Qual a diferença entre argumentos e parâmetros?" msgid "" ":term:`Parameters ` are defined by the names that appear in a " "function definition, whereas :term:`arguments ` are the values " -"actually passed to a function when calling it. Parameters define what :term:" -"`kind of arguments ` a function can accept. For example, given " -"the function definition::" -msgstr "" +"actually passed to a function when calling it. Parameters define " +"what :term:`kind of arguments ` a function can accept. For " +"example, given the function definition::" +msgstr "" +":term:`Parâmetros ` são definidos pelos nomes que aparecem na " +"definição da função, enquanto :term:`argumentos ` são os valores " +"que serão passados para a função no momento em que esta estiver sendo " +"invocada. Os parâmetros irão definir quais os :term:`tipos de argumentos " +"` que uma função pode receber. Por exemplo, dada a definição da " +"função::" #: ../../faq/programming.rst:426 msgid "" @@ -736,7 +762,7 @@ msgstr "" #: ../../faq/programming.rst:431 msgid "the values ``42``, ``314``, and ``somevar`` are arguments." -msgstr "os valores ``42``, ``314``, e ``somevar`` são os argumentos." +msgstr "os valores ``42``, ``314``, e ``algumvalor`` são os argumentos." #: ../../faq/programming.rst:435 msgid "Why did changing list 'y' also change list 'x'?" @@ -744,18 +770,18 @@ msgstr "Por que ao alterar a lista 'y' também altera a lista 'x'?" #: ../../faq/programming.rst:437 msgid "If you wrote code like::" -msgstr "Se escreveres um código como::" +msgstr "Se você escreveu um código como::" #: ../../faq/programming.rst:447 msgid "" "you might be wondering why appending an element to ``y`` changed ``x`` too." msgstr "" -"Poderás estar se perguntando por que acrescentar um elemento a ``y`` também " +"pode estar se perguntando por que acrescentar um elemento a ``y`` também " "mudou ``x``." #: ../../faq/programming.rst:449 msgid "There are two factors that produce this result:" -msgstr "Há 2 fatores que produzem esse resultado, são eles:" +msgstr "Há dois fatores que produzem esse resultado:" #: ../../faq/programming.rst:451 msgid "" @@ -764,11 +790,11 @@ msgid "" "the same object ``x`` refers to. This means that there is only one object " "(the list), and both ``x`` and ``y`` refer to it." msgstr "" -"As variáveis são simplesmente nomes que referem-se a objetos. Ao escrevermos " -"``y = x`` não criará uma cópia da lista -- criará uma nova variável ``y`` " -"que irá se referir ao mesmo objeto que ``x`` está se referindo. Isso " -"significa que existe apenas um objeto (lista), e ambos nomes (variáveis) " -"``x`` e ``y`` estão associados ao mesmo." +"As variáveis são simplesmente nomes que referem-se a objetos. Usar ``y = x`` " +"não cria uma cópia da lista. Isso cria uma nova variável ``y`` que faz " +"referência ao mesmo objeto ao qual ``x`` está se referindo. Isso significa " +"que existe apenas um objeto (a lista) e que ambos ``x`` e ``y`` fazem " +"referência a ele." #: ../../faq/programming.rst:455 msgid "" @@ -779,12 +805,12 @@ msgstr "" #: ../../faq/programming.rst:457 msgid "" -"After the call to :meth:`~list.append`, the content of the mutable object " -"has changed from ``[]`` to ``[10]``. Since both the variables refer to the " -"same object, using either name accesses the modified value ``[10]``." +"After the call to :meth:`!append`, the content of the mutable object has " +"changed from ``[]`` to ``[10]``. Since both the variables refer to the same " +"object, using either name accesses the modified value ``[10]``." msgstr "" -"Após invocar para :meth:`~list.append`, o conteúdo do objeto mutável mudou " -"de ``[]`` para ``[10]``. Uma vez que ambas as variáveis referem-se ao mesmo " +"Após a chamada para :meth:`!append`, o conteúdo do objeto mutável mudou de " +"``[]`` para ``[10]``. Uma vez que ambas as variáveis referem-se ao mesmo " "objeto, usar qualquer um dos nomes acessará o valor modificado ``[10]``." #: ../../faq/programming.rst:461 @@ -801,14 +827,14 @@ msgid "" "objects (the ints ``6`` and ``5``) and two variables that refer to them " "(``x`` now refers to ``6`` but ``y`` still refers to ``5``)." msgstr "" -"veremos que nesse caso ``x`` e ``y`` não são mais iguais. Isso ocorre porque " -"os números inteiros são :term:`imutáveis `, e quando fizermos ``x " -"= x + 1`` não estaremos mudando o int ``5`` e incrementando o seu valor; em " -"vez disso, estamos criando um novo objeto (o int ``6``) e associando ``x`` " -"(isto é, mudando para o objeto no qual ``x`` se refere). Após esta " -"atribuição, temos dois objetos (os ints ``6`` e ``5``) e duas variáveis que " -"referem-se a elas (``x`` agora se refere a ``6`` mas ``y`` ainda refere-se a " -"``5``)." +"podemos ver que nesse caso ``x`` e ``y`` não são mais iguais. Isso ocorre " +"porque os números inteiros são :term:`imutáveis `, e quando " +"fazemos ``x = x + 1`` não estamos mudando o int ``5`` e incrementando o seu " +"valor. Em vez disso, estamos criando um novo objeto (o int ``6``) e " +"atribuindo-o a ``x`` (isto é, mudando para o objeto no qual ``x`` se " +"refere). Após esta atribuição, temos dois objetos (os ints ``6`` e ``5``) e " +"duas variáveis que referem-se a elas (``x`` agora se refere a ``6``, mas " +"``y`` ainda refere-se a ``5``)." #: ../../faq/programming.rst:479 msgid "" @@ -821,6 +847,15 @@ msgid "" "will give you a sorted copy of ``y``, you'll instead end up with ``None``, " "which will likely cause your program to generate an easily diagnosed error." msgstr "" +"Algumas operações (por exemplo, ``y.append(10)`` e ``y.sort()``) alteram o " +"objeto, enquanto operações superficialmente semelhantes (por exemplo, ``y = " +"y + [10]`` e :func:`sorted(y) `) criam um novo objeto. Em geral, em " +"Python (e em todos os casos na biblioteca padrão) um método que causa " +"mutação em um objeto retornará ``None`` para ajudar a evitar confundir os " +"dois tipos de operações. Portanto, se você escrever por engano ``y.sort()`` " +"pensando que lhe dará uma cópia ordenada de ``y``, você terminará com " +"``None``, o que provavelmente fará com que seu programa gere um erro " +"facilmente diagnosticado." #: ../../faq/programming.rst:488 msgid "" @@ -834,9 +869,9 @@ msgstr "" "No entanto, há uma classe de operações em que a mesma operação às vezes tem " "comportamentos diferentes com tipos diferentes: os operadores de atribuição " "aumentada. Por exemplo, ``+=`` transforma listas, mas não tuplas ou ints " -"(``a_list += [1, 2, 3]`` é equivalente a ``a_list.extend([1, 2, 3])`` a " -"altera ``a_list``, sendo que ``some_tuple += (1, 2, 3)`` e ``some_int += 1`` " -"cria novos objetos)." +"(``uma_lista += [1, 2, 3]`` equivale a ``uma_lista.extend([1, 2, 3])`` a " +"transforma ``uma_lista``, sendo que ``alguma_tupla += (1, 2, 3)`` e " +"``algum_int += 1`` cria novos objetos)." #: ../../faq/programming.rst:495 msgid "In other words:" @@ -848,9 +883,9 @@ msgid "" "etc.), we can use some specific operations to mutate it and all the " "variables that refer to it will see the change." msgstr "" -"Se tivermos objetos mutáveis (:class:`list`, :class:`dict`, :class:`set`, " -"etc.), podemos usar algumas operações específicas para altera-lo e todas as " -"variáveis que se referem a ela sofreram também a mudança." +"Se tivermos um objeto mutável (:class:`list`, :class:`dict`, :class:`set`, " +"etc.), podemos usar algumas operações específicas para alterá-lo e todas as " +"variáveis que fazem referência a ele verão também a mudança." #: ../../faq/programming.rst:500 msgid "" @@ -859,23 +894,23 @@ msgid "" "but operations that transform that value into a new value always return a " "new object." msgstr "" -"Caso tenhamos um objeto imutável (:class:`str`, :class:`int`, :class:" -"`tuple`, etc.), todas as variáveis que se referem as mesmas sempre verão o " -"mesmo valor, mas as operações que transformam-se nesses valores sempre " -"retornarão novos objetos." +"Caso tenhamos um objeto imutável " +"(:class:`str`, :class:`int`, :class:`tuple`, etc.), todas as variáveis que " +"se referem a ele sempre verão o mesmo valor, mas as operações que " +"transformam-se nesses valores sempre retornarão novos objetos." #: ../../faq/programming.rst:505 msgid "" "If you want to know if two variables refer to the same object or not, you " "can use the :keyword:`is` operator, or the built-in function :func:`id`." msgstr "" -"Se quiseres saber se duas variáveis se referem ao mesmo objeto ou não, podes " -"usar a palavra-chave :keyword:`is`, ou a função embutida :func:`id`." +"Caso queira saber se duas variáveis fazem referência ao mesmo objeto ou não, " +"pode-se usar o operador :keyword:`is` ou a função embutida :func:`id`." #: ../../faq/programming.rst:510 msgid "How do I write a function with output parameters (call by reference)?" msgstr "" -"Como escrever uma função com parâmetros de saída (invocada por referência)?" +"Como escrevo uma função com parâmetros de saída (chamada por referência)?" #: ../../faq/programming.rst:512 msgid "" @@ -885,25 +920,25 @@ msgid "" "You can achieve the desired effect in a number of ways." msgstr "" "Lembre-se de que os argumentos são passados por atribuição em Python. Uma " -"vez que a tarefa apenas cria referências a objetos, não existe \"alias\" " -"entre um nome de argumento naquele que invocado e o destinatário, portanto, " -"não há referência de chamada por si. Podes alcançar o efeito desejado de " +"vez que a atribuição apenas cria referências a objetos, não existe apelido " +"entre um nome de argumento no chamador e no chamado e, portanto, não há " +"referência de chamada por si. É possível alcançar o efeito desejado de " "várias maneiras." #: ../../faq/programming.rst:517 msgid "By returning a tuple of the results::" -msgstr "Retornando um Tupla com os resultados::" +msgstr "Retornando um tupla com os resultados::" #: ../../faq/programming.rst:528 msgid "This is almost always the clearest solution." -msgstr "Esta quase sempre é a solução mais clara." +msgstr "Esta é quase sempre a solução mais clara." #: ../../faq/programming.rst:530 msgid "" "By using global variables. This isn't thread-safe, and is not recommended." msgstr "" -"Utilizando variáveis globais. Essa forma de trabalho não é segura para uso " -"com thread e portanto, a mesma não é recomendada." +"Utilizando variáveis globais. Essa forma não é segura para thread e, " +"portanto, não é recomendada." #: ../../faq/programming.rst:532 msgid "By passing a mutable (changeable in-place) object::" @@ -912,7 +947,7 @@ msgstr "" #: ../../faq/programming.rst:543 msgid "By passing in a dictionary that gets mutated::" -msgstr "Pela passagem de um dicionário que seja mutável::" +msgstr "Pela passagem de um dicionário que sofra mutação::" #: ../../faq/programming.rst:554 msgid "Or bundle up values in a class instance::" @@ -925,7 +960,7 @@ msgstr "Quase nunca existe uma boa razão para complicar isso." #: ../../faq/programming.rst:573 msgid "Your best choice is to return a tuple containing the multiple results." msgstr "" -"A sua melhor escolha será retornar uma Tupla contendo os múltiplos " +"A sua melhor escolha será retornar uma tupla contendo os múltiplos " "resultados." #: ../../faq/programming.rst:577 @@ -939,14 +974,14 @@ msgid "" "returns a function ``f(x)`` that computes the value ``a*x+b``. Using nested " "scopes::" msgstr "" -"Existem duas opções: podes usar escopos aninhados ou poderás usar objetos " -"chamáveis. Por exemplo, suponha que desejasses definir que ``linear(a,b)`` " -"retorne uma função ``f(x)`` que calcule o valor ``a*x+b``. Usando escopos " +"Existem duas opções: pode-se usar escopos aninhados ou usar objetos " +"chamáveis. Por exemplo, suponha que queira definir ``linear(a,b)``, o qual " +"retorna uma função ``f(x)`` que calcula o valor ``a*x+b``. Usando escopos " "aninhados, temos::" #: ../../faq/programming.rst:588 msgid "Or using a callable object::" -msgstr "Ou utilizando objetos chamáveis::" +msgstr "Ou utilizando um objeto chamável::" #: ../../faq/programming.rst:598 msgid "In both cases, ::" @@ -954,7 +989,7 @@ msgstr "Em ambos os casos::" #: ../../faq/programming.rst:602 msgid "gives a callable object where ``taxes(10e6) == 0.3 * 10e6 + 2``." -msgstr "dado um objeto chamável, onde ``taxes(10e6) == 0.3 * 10e6 + 2``." +msgstr "resulta em um objeto chamável, onde ``taxes(10e6) == 0.3 * 10e6 + 2``." #: ../../faq/programming.rst:604 msgid "" @@ -963,7 +998,7 @@ msgid "" "callables can share their signature via inheritance::" msgstr "" "A abordagem do objeto chamável tem a desvantagem de que é um pouco mais " -"lento e resulta num código ligeiramente mais longo. No entanto, note que uma " +"lenta e resulta num código ligeiramente mais longo. No entanto, note que uma " "coleção de chamáveis pode compartilhar sua assinatura via herança::" #: ../../faq/programming.rst:613 @@ -987,14 +1022,14 @@ msgid "" "In general, try :func:`copy.copy` or :func:`copy.deepcopy` for the general " "case. Not all objects can be copied, but most can." msgstr "" -"Basicamente, tente utilizar a função :func:`copy.copy` ou a função :func:" -"`copy.deepcopy` para casos gerais. Nem todos os objetos podem ser copiados, " -"mas a maioria poderá." +"Basicamente, tente utilizar a função :func:`copy.copy` ou a " +"função :func:`copy.deepcopy` para casos gerais. Nem todos os objetos podem " +"ser copiados, mas a maioria poderá." #: ../../faq/programming.rst:641 msgid "" -"Some objects can be copied more easily. Dictionaries have a :meth:`~dict." -"copy` method::" +"Some objects can be copied more easily. Dictionaries have " +"a :meth:`~dict.copy` method::" msgstr "" "Alguns objetos podem ser copiados com mais facilidade. Os dicionários têm um " "método :meth:`~dict.copy`::" @@ -1013,6 +1048,9 @@ msgid "" "an alphabetized list of the names containing the instance attributes and " "methods and attributes defined by its class." msgstr "" +"Para uma instância ``x`` de uma classe definida pelo usuário, :func:`dir(x) " +"` retorna uma lista organizada alfabeticamente dos nomes contidos, os " +"atributos da instância e os métodos e atributos definidos por sua classe." #: ../../faq/programming.rst:660 msgid "How can my code discover the name of an object?" @@ -1038,6 +1076,11 @@ msgid "" "instance's name is ``a`` or ``b``, since both names are bound to the same " "value." msgstr "" +"Provavelmente, a classe tem um nome: mesmo que seja vinculada a dois nomes e " +"invocada através do nome ``B``, a instância criada ainda é relatada como uma " +"instância da classe ``A``. No entanto, é impossível dizer se o nome da " +"instância é ``a`` ou ``b``, uma vez que ambos os nomes estão vinculados ao " +"mesmo valor." #: ../../faq/programming.rst:683 msgid "" @@ -1047,7 +1090,7 @@ msgid "" "approach might be beneficial." msgstr "" "De um modo geral, não deveria ser necessário que o seu código \"conheça os " -"nomes\" de valores específicos. A menos que escrevas deliberadamente " +"nomes\" de valores específicos. A menos que se escreva deliberadamente " "programas introspectivos, isso geralmente é uma indicação de que uma mudança " "de abordagem pode ser benéfica." @@ -1068,7 +1111,7 @@ msgid "" msgstr "" "Da mesma forma que você pega o nome daquele gato que encontrou na sua " "varanda: o próprio gato (objeto) não pode lhe dizer o seu nome, e ele " -"realmente não se importa -- então a única maneira de descobrir como ele se " +"realmente não se importa -- então, a única maneira de descobrir como ele se " "chama é perguntar a todos os seus vizinhos (espaços de nomes) se é o gato " "deles (objeto)..." @@ -1077,7 +1120,7 @@ msgid "" "....and don't be surprised if you'll find that it's known by many names, or " "no name at all!" msgstr "" -"....e não fique surpreso se você encontrar que é conhecido por muitos nomes, " +"....e não fique surpreso se você descobrir que é conhecido por muitos nomes, " "ou até mesmo nenhum nome." #: ../../faq/programming.rst:701 @@ -1112,19 +1155,19 @@ msgstr "" #: ../../faq/programming.rst:722 msgid "Is there an equivalent of C's \"?:\" ternary operator?" -msgstr "Existe um equivalente ao operador \"?:\" ternário do C?" +msgstr "Existe um equivalente ao operador ternário \"?:\" do C?" #: ../../faq/programming.rst:724 msgid "Yes, there is. The syntax is as follows::" -msgstr "Sim existe. A sintaxe é a seguinte::" +msgstr "Sim, existe. A sintaxe é a seguinte::" #: ../../faq/programming.rst:731 msgid "" "Before this syntax was introduced in Python 2.5, a common idiom was to use " "logical operators::" msgstr "" -"Antes que essa sintaxe fosse introduzida no Python 2.5, um idioma comum era " -"usar operadores lógicos::" +"Antes que essa sintaxe fosse introduzida no Python 2.5, uma expressão comum " +"era usar operadores lógicos::" #: ../../faq/programming.rst:736 msgid "" @@ -1133,8 +1176,8 @@ msgid "" "if ... else ...`` form." msgstr "" "No entanto, essa forma não é segura, pois pode dar resultados inesperados " -"quando *on_true* possuir um valor booleano falso. Portanto, é sempre melhor " -"usar a forma ``... if ... else ...``." +"quando *quando_verdadeiro* tiver um valor booleano falso. Portanto, é sempre " +"melhor usar a forma ``... if ... else ...``." #: ../../faq/programming.rst:742 msgid "Is it possible to write obfuscated one-liners in Python?" @@ -1146,6 +1189,9 @@ msgid "" "lambda`. See the following three examples, slightly adapted from Ulf " "Bartelt::" msgstr "" +"Sim. Normalmente, isso é feito aninhando :keyword:`lambda` dentro " +"de :keyword:`!lambda`. Veja os três exemplos a seguir, ligeiramente " +"adaptados de Ulf Bartelt::" #: ../../faq/programming.rst:771 msgid "Don't try this at home, kids!" @@ -1164,6 +1210,13 @@ msgid "" "position. For example, :func:`divmod` is a function that accepts positional-" "only parameters. Its documentation looks like this::" msgstr "" +"Uma barra na lista de argumentos de uma função indica que os parâmetros " +"anteriores a ela são somente-posicionais. Os parâmetros somente-posicionais " +"são aqueles que não têm nome utilizável externamente. Ao chamar uma função " +"que aceita parâmetros somente-posicionais, os argumentos são mapeados para " +"parâmetros com base apenas em sua posição. Por exemplo, :func:`divmod` é uma " +"função que aceita parâmetros somente-posicionais. Sua documentação tem esta " +"forma::" #: ../../faq/programming.rst:792 msgid "" @@ -1177,11 +1230,11 @@ msgstr "" #: ../../faq/programming.rst:803 msgid "Numbers and strings" -msgstr "Números e Strings" +msgstr "Números e strings" #: ../../faq/programming.rst:806 msgid "How do I specify hexadecimal and octal integers?" -msgstr "Como faço para especificar números inteiros hexadecimais e octal?" +msgstr "Como faço para especificar números inteiros hexadecimais e octais?" #: ../../faq/programming.rst:808 msgid "" @@ -1213,8 +1266,8 @@ msgid "" "It's primarily driven by the desire that ``i % j`` have the same sign as " "``j``. If you want that, and also want::" msgstr "" -"É principalmente direcionado pelo desejo de que ``i % j`` possui o mesmo " -"sinal que ``j``. Se quiseres isso, e também se desejares::" +"Esta dúvida é primariamente direcionado pelo desejo de que ``i % j`` tenha o " +"mesmo sinal que ``j``. Se quiser isso, e também quiser::" #: ../../faq/programming.rst:836 msgid "" @@ -1242,23 +1295,25 @@ msgstr "" #: ../../faq/programming.rst:848 msgid "How do I get int literal attribute instead of SyntaxError?" -msgstr "" +msgstr "Como obtenho um atributo de um literal int em vez de SyntaxError?" #: ../../faq/programming.rst:850 msgid "" -"Trying to lookup an ``int`` literal attribute in the normal manner gives a :" -"exc:`SyntaxError` because the period is seen as a decimal point::" +"Trying to lookup an ``int`` literal attribute in the normal manner gives " +"a :exc:`SyntaxError` because the period is seen as a decimal point::" msgstr "" +"Tentar obter um atributo de um literal ``int`` da maneira normal retorna " +"um :exc:`SyntaxError` porque o ponto é visto como um ponto decimal::" #: ../../faq/programming.rst:859 msgid "" "The solution is to separate the literal from the period with either a space " "or parentheses." -msgstr "" +msgstr "A solução é separar o literal do ponto com um espaço ou parênteses." #: ../../faq/programming.rst:869 msgid "How do I convert a string to a number?" -msgstr "Como faço para converter uma String em um número?" +msgstr "Como faço para converter uma string em um número?" #: ../../faq/programming.rst:871 msgid "" @@ -1280,11 +1335,12 @@ msgid "" "octal, and '0x' indicates a hex number." msgstr "" "Por padrão, eles interpretam o número como decimal, de modo que " -"``int('0144') == 144`` é verdadeiro e ``int('0x144')`` levanta :exc:" -"`ValueError`. ``int(string, base)`` toma a base para converter como um " -"segundo argumento opcional, então ``int( '0x144', 16) == 324``. Se a base " -"for especificada como 0, o número é interpretado usando as regras do Python: " -"um \"0o\" à esquerda indica octal e \"0x\" indica um número hexadecimal." +"``int('0144') == 144`` é verdadeiro e ``int('0x144')`` " +"levanta :exc:`ValueError`. ``int(string, base)`` toma a base para converter " +"como um segundo argumento opcional, então ``int( '0x144', 16) == 324``. Se a " +"base for especificada como 0, o número é interpretado usando as regras do " +"Python: um \"0o\" à esquerda indica octal e \"0x\" indica um número " +"hexadecimal." #: ../../faq/programming.rst:882 msgid "" @@ -1309,12 +1365,13 @@ msgid "" "does not allow leading '0' in a decimal number (except '0')." msgstr "" ":func:`eval` também tem o efeito de interpretar números como expressões " -"Python, para que, por exemplo, ``eval('09')`` dá um erro de sintaxe porque " -"Python não permite '0' inicial em um número decimal (exceto '0')." +"Python, de forma que, por exemplo, ``eval('09')`` resulta em um erro de " +"sintaxe porque Python não permite '0' inicial em um número decimal (exceto " +"'0')." #: ../../faq/programming.rst:895 msgid "How do I convert a number to a string?" -msgstr "Como faço para converter um número numa string?" +msgstr "Como faço para converter um número em uma string?" #: ../../faq/programming.rst:897 msgid "" @@ -1322,13 +1379,19 @@ msgid "" "in type constructor :func:`str`. If you want a hexadecimal or octal " "representation, use the built-in functions :func:`hex` or :func:`oct`. For " "fancy formatting, see the :ref:`f-strings` and :ref:`formatstrings` " -"sections, e.g. ``\"{:04d}\".format(144)`` yields ``'0144'`` and ``\"{:.3f}\"." -"format(1.0/3.0)`` yields ``'0.333'``." +"sections, e.g. ``\"{:04d}\".format(144)`` yields ``'0144'`` and ``\"{:.3f}" +"\".format(1.0/3.0)`` yields ``'0.333'``." msgstr "" +"Para converter, por exemplo, o número ``144`` para a string ``'144'``, use o " +"construtor do tipo embutido :func:`str`. Caso queira uma representação " +"hexadecimal ou octal, use as funções embutidas :func:`hex` ou :func:`oct`. " +"Para a formatação sofisticada, veja as seções :ref:`f-strings` " +"e :ref:`formatstrings`, por exemplo, ``\"{:04d}\".format(144)`` produz " +"``'0144'`` e ``\"{:.3f}\".format(1.0/3.0)`` produz ``'0.333'``." #: ../../faq/programming.rst:906 msgid "How do I modify a string in place?" -msgstr "Como faço para modificar uma string no lugar?" +msgstr "Como faço para modificar uma string internamente?" #: ../../faq/programming.rst:908 msgid "" @@ -1338,16 +1401,15 @@ msgid "" "unicode data, try using an :class:`io.StringIO` object or the :mod:`array` " "module::" msgstr "" -"Você não poder fazer isso as Strings são objetos imutáveis. Na maioria das " -"situações, você simplesmente deve construir uma nova string a partir das " -"várias partes das quais desejas que a sua nova String tenha. No entanto, se " -"precisares de um objeto com a capacidade de modificar dados Unicode " -"internamente, tente usar a classe :class:`io.StringIO` ou o módulo :mod:" -"`array`::" +"Você não pode fazer isso porque as strings são objetos imutáveis. Na maioria " +"das situações, você simplesmente deve construir uma nova string a partir das " +"várias partes das quais deseja montá-la. No entanto, caso precise de um " +"objeto com a capacidade de modificar dados Unicode internamente, tente usar " +"a classe :class:`io.StringIO` ou o módulo :mod:`array`::" #: ../../faq/programming.rst:938 msgid "How do I use strings to call functions/methods?" -msgstr "Como faço para invocar funções/métodos através de uma String?" +msgstr "Como faço para invocar funções/métodos através de strings?" #: ../../faq/programming.rst:940 msgid "There are various techniques." @@ -1360,14 +1422,14 @@ msgid "" "names of the functions. This is also the primary technique used to emulate " "a case construct::" msgstr "" -"A melhor forma é usar um dicionário que mapeie a Strings para funções. A " -"principal vantagem desta técnica é que as Strings não precisam combinar os " -"nomes das funções. Esta é também a principal técnica utilizada para emular " -"uma construção de maiúsculas e minúsculas ::" +"A melhor forma é usar um dicionário que mapeie strings para funções. A " +"principal vantagem desta técnica é que estas strings não precisam " +"corresponder aos nomes das funções. Esta é também a principal técnica " +"utilizada para emular uma construção de instrução estilo *case*::" #: ../../faq/programming.rst:957 msgid "Use the built-in function :func:`getattr`::" -msgstr "Utilize a função embutida :func:`getattr`::" +msgstr "Usar a função embutida :func:`getattr`::" #: ../../faq/programming.rst:962 msgid "" @@ -1390,8 +1452,8 @@ msgid "" "Is there an equivalent to Perl's chomp() for removing trailing newlines from " "strings?" msgstr "" -"Existe um equivalente em Perl ``chomp()`` para remover linhas novas de uma " -"String?" +"Existe um equivalente em Perl chomp() para remover linhas novas ao final de " +"strings?" #: ../../faq/programming.rst:992 msgid "" @@ -1401,19 +1463,19 @@ msgid "" "empty lines at the end, the line terminators for all the blank lines will be " "removed::" msgstr "" -"Podes utilizar ``S.rstrip(\"\\r\\n\")`` para remover todas as ocorrência de " -"qualquer terminador de linha que esteja no final da string ``S`` sem remover " -"os espaços em branco. Se a string ``S`` representar mais de uma linha, " -"contendo várias linhas vazias no final, os terminadores de linha de todas " -"linhas em branco serão removidos::" +"Pode-se utilizar ``S.rstrip(\"\\r\\n\")`` para remover todas as ocorrência " +"de qualquer terminador de linha que esteja no final da string ``S`` sem " +"remover os espaços em branco. Se a string ``S`` representar mais de uma " +"linha, contendo várias linhas vazias no final, os terminadores de linha de " +"todas linhas em branco serão removidos::" #: ../../faq/programming.rst:1004 msgid "" "Since this is typically only desired when reading text one line at a time, " "using ``S.rstrip()`` this way works well." msgstr "" -"Geralmente isso só é desejado ao ler um texto linha por linha, usando ``S." -"rstrip()`` dessa maneira funciona bem." +"Geralmente isso só é desejado ao ler um texto linha por linha, usando " +"``S.rstrip()`` dessa maneira funciona bem." #: ../../faq/programming.rst:1009 msgid "Is there a scanf() or sscanf() equivalent?" @@ -1427,17 +1489,27 @@ msgstr "Não como tal." msgid "" "For simple input parsing, the easiest approach is usually to split the line " "into whitespace-delimited words using the :meth:`~str.split` method of " -"string objects and then convert decimal strings to numeric values using :" -"func:`int` or :func:`float`. :meth:`!split()` supports an optional \"sep\" " -"parameter which is useful if the line uses something other than whitespace " -"as a separator." -msgstr "" +"string objects and then convert decimal strings to numeric values " +"using :func:`int` or :func:`float`. :meth:`!split()` supports an optional " +"\"sep\" parameter which is useful if the line uses something other than " +"whitespace as a separator." +msgstr "" +"Para a análise de entrada simples, a abordagem mais fácil geralmente é " +"dividir a linha em palavras delimitadas por espaços em branco usando o " +"método :meth:`str.split` de objetos Strings e, em seguida, converter as " +"Strings decimais para valores numéricos usando a função :func:`int` ou a " +"função :func:`float`. A função :meth:`!split()` aceita um parâmetro \"sep\" " +"opcional que é útil se a linha utilizar algo diferente de espaço em branco " +"como separador." #: ../../faq/programming.rst:1019 msgid "" "For more complicated input parsing, regular expressions are more powerful " "than C's ``sscanf`` and better suited for the task." msgstr "" +"Para análise de entradas de textos mais complicadas, as expressões regulares " +"são mais poderosas do que a ``sscanf`` do C e mais adequadas para essa " +"tarefa." #: ../../faq/programming.rst:1024 msgid "What does 'UnicodeDecodeError' or 'UnicodeEncodeError' error mean?" @@ -1449,31 +1521,39 @@ msgstr "Consulte :ref:`unicode-howto`." #: ../../faq/programming.rst:1032 msgid "Can I end a raw string with an odd number of backslashes?" -msgstr "" +msgstr "Posso terminar uma string bruta com um número ímpar de contrabarras?" #: ../../faq/programming.rst:1034 msgid "" "A raw string ending with an odd number of backslashes will escape the " "string's quote::" msgstr "" +"Uma string bruta terminando com um número ímpar de contrabarras vai escapar " +"as aspas da string::" #: ../../faq/programming.rst:1042 msgid "" "There are several workarounds for this. One is to use regular strings and " "double the backslashes::" msgstr "" +"Há várias soluções alternativas para isso. Uma delas é usar strings " +"regulares e duplicar as contrabarras::" #: ../../faq/programming.rst:1048 msgid "" "Another is to concatenate a regular string containing an escaped backslash " "to the raw string::" msgstr "" +"Outra é concatenar uma string regular contendo uma contrabarra de escape à " +"string bruta::" #: ../../faq/programming.rst:1054 msgid "" "It is also possible to use :func:`os.path.join` to append a backslash on " "Windows::" msgstr "" +"Também é possível usar :func:`os.path.join` para acrescentar uma contrabarra " +"no Windows::" #: ../../faq/programming.rst:1059 msgid "" @@ -1482,18 +1562,23 @@ msgid "" "the value of the raw string. That is, the backslash remains present in the " "value of the raw string::" msgstr "" +"Note que, embora uma contrabarra vai \"escapar\" uma aspa para fins de " +"determinar onde a string bruta termina, nenhum escape ocorre ao interpretar " +"o valor da string bruta. Ou seja, a contrabarra permanece presente no valor " +"da string bruta::" #: ../../faq/programming.rst:1067 msgid "Also see the specification in the :ref:`language reference `." msgstr "" +"Veja também a especificação na :ref:`referência da linguagem `." #: ../../faq/programming.rst:1070 msgid "Performance" -msgstr "Performance" +msgstr "Desempenho" #: ../../faq/programming.rst:1073 msgid "My program is too slow. How do I speed it up?" -msgstr "Meu programa está muito lento. Como faço para melhorar a performance?" +msgstr "Meu programa está muito lento. Como faço para melhorar o desempenho?" #: ../../faq/programming.rst:1075 msgid "" @@ -1501,7 +1586,7 @@ msgid "" "remember before diving further:" msgstr "" "Isso geralmente é algo difícil de conseguir. Primeiro, aqui está uma lista " -"de situações que devemos lembrar para melhorar a performance da nossa " +"de situações que devemos lembrar para melhorar o desempenho da nossa " "aplicação antes de buscarmos outras soluções:" #: ../../faq/programming.rst:1078 @@ -1510,15 +1595,15 @@ msgid "" "focuses on :term:`CPython`." msgstr "" "As características da desempenho podem variar conforme a implementação do " -"Python. Esse FAQ foca em :term:`CPython`." +"Python. Esse FAQ se concentra no :term:`CPython`." #: ../../faq/programming.rst:1080 msgid "" "Behaviour can vary across operating systems, especially when talking about I/" "O or multi-threading." msgstr "" -"O comportamento pode variar em cada Sistemas Operacionais, especialmente " -"quando estivermos tratando de I/o ou multi-threading." +"O comportamento pode variar em cada sistemas operacionais, especialmente " +"quando estivermos tratando de E/S ou multi-threading." #: ../../faq/programming.rst:1082 msgid "" @@ -1533,7 +1618,7 @@ msgid "" "Writing benchmark scripts will allow you to iterate quickly when searching " "for improvements (see the :mod:`timeit` module)." msgstr "" -"Escrever Scripts de benchmark permitirá iterar rapidamente buscando " +"Escrever scripts de benchmark permitirá iterar rapidamente buscando " "melhorias (veja o módulo :mod:`timeit`)." #: ../../faq/programming.rst:1086 @@ -1571,7 +1656,7 @@ msgid "" "Use the right data structures. Study documentation for the :ref:`bltin-" "types` and the :mod:`collections` module." msgstr "" -"Use as estruturas de dados corretas. Documentação de estudo para :ref:`bltin-" +"Usar as estruturas de dados corretas. Estude a documentação para :ref:`bltin-" "types` e o módulo :mod:`collections`." #: ../../faq/programming.rst:1101 @@ -1579,18 +1664,18 @@ msgid "" "When the standard library provides a primitive for doing something, it is " "likely (although not guaranteed) to be faster than any alternative you may " "come up with. This is doubly true for primitives written in C, such as " -"builtins and some extension types. For example, be sure to use either the :" -"meth:`list.sort` built-in method or the related :func:`sorted` function to " -"do sorting (and see the :ref:`sortinghowto` for examples of moderately " +"builtins and some extension types. For example, be sure to use either " +"the :meth:`list.sort` built-in method or the related :func:`sorted` function " +"to do sorting (and see the :ref:`sortinghowto` for examples of moderately " "advanced usage)." msgstr "" "Quando a biblioteca padrão fornecer um tipo primitivo para fazer algo, é " -"provável (embora não garantido) que este seja mais rápido do que qualquer " +"provável (embora não garantido) que isso seja mais rápido do que qualquer " "alternativa que possa surgir. Isso geralmente é verdade para os tipos " "primitivos escritos em C, como os embutidos e alguns tipos de extensão. Por " "exemplo, certifique-se de usar o método embutido :meth:`list.sort` ou a " -"função relacionada :func:`sorted` para fazer a ordenação (e veja :ref:" -"`sortinghowto` para exemplos de uso moderadamente avançado)." +"função relacionada :func:`sorted` para fazer a ordenação (e " +"veja :ref:`sortinghowto` para exemplos de uso moderadamente avançado)." #: ../../faq/programming.rst:1109 msgid "" @@ -1617,18 +1702,26 @@ msgid "" "skills, you can also :ref:`write a C extension module ` " "yourself." msgstr "" +"Se você atingiu o limite do que Python puro pode permitir, existem " +"ferramentas para levá-lo mais longe. Por exemplo, o `Cython `_ pode compilar uma versão ligeiramente modificada do código " +"Python numa extensão C e pode ser usado em muitas plataformas diferentes. O " +"Cython pode tirar proveito da compilação (e anotações tipo opcional) para " +"tornar o seu código significativamente mais rápido do que quando " +"interpretado. Se você está confiante em suas habilidades de programação C, " +"também pode :ref:`escrever um módulo de extensão de C `." #: ../../faq/programming.rst:1125 msgid "" "The wiki page devoted to `performance tips `_." msgstr "" -"A página wiki dedicada a dicas de performance `performance tips `_." +"A página wiki dedicada a `dicas de desempenho `_." #: ../../faq/programming.rst:1131 msgid "What is the most efficient way to concatenate many strings together?" -msgstr "Qual é a maneira mais eficiente de concatenar muitas Strings?" +msgstr "Qual é a maneira mais eficiente de concatenar muitas strings?" #: ../../faq/programming.rst:1133 msgid "" @@ -1637,10 +1730,10 @@ msgid "" "creates a new object. In the general case, the total runtime cost is " "quadratic in the total string length." msgstr "" -"A classe :class:`str` e a classe :class:`bytes` são objetos imutáveis, " -"portanto, concatenar muitas Strings em é ineficiente, pois cada concatenação " -"criará um novo objeto String. No caso geral, o custo total do tempo de " -"execução é quadrático no comprimento total da String." +"Objetos das classes :class:`str` e :class:`bytes` são imutáveis e, portanto, " +"concatenar muitas strings é ineficiente, pois cada concatenação criará um " +"novo objeto. No caso geral, o custo total do tempo de execução é quadrático " +"no comprimento total da string." #: ../../faq/programming.rst:1138 msgid "" @@ -1667,7 +1760,7 @@ msgstr "" #: ../../faq/programming.rst:1157 msgid "Sequences (Tuples/Lists)" -msgstr "Sequencias (Tuples/Lists)" +msgstr "Sequencias (Tuplas/Listas)" #: ../../faq/programming.rst:1160 msgid "How do I convert between tuples and lists?" @@ -1690,9 +1783,9 @@ msgid "" msgstr "" "Por exemplo, ``tuple([1, 2, 3])`` produz ``(1, 2, 3)`` e ``tuple('abc')`` " "produz ``('a', 'b', 'c')``. Se o argumento for uma tupla, a mesma não faz " -"uma cópia, mas retorna o mesmo objeto, por isso é barato invocar a função :" -"func:`tuple` quando você não tiver certeza que determinado objeto já é uma " -"tupla." +"uma cópia, mas retorna o mesmo objeto, por isso é barato invocar a " +"função :func:`tuple` quando você não tiver certeza que determinado objeto já " +"é uma tupla." #: ../../faq/programming.rst:1170 msgid "" @@ -1718,6 +1811,11 @@ msgid "" "(next to last) index and so forth. Think of ``seq[-n]`` as the same as " "``seq[len(seq)-n]``." msgstr "" +"Sequências em Python são indexadas com números positivos e números " +"negativos. Para números positivos, 0 é o índice do primeiro elemento, 1 é o " +"índice do segundo elemento e assim por diante. Para números negativos, -1 é " +"índice do último elemento e -2 é o penúltimo (anterior ao último) índice e " +"assim por diante. Pense em ``seq[-n]`` como o mesmo que ``seq[len(seq)-n]``." #: ../../faq/programming.rst:1184 msgid "" @@ -1725,6 +1823,9 @@ msgid "" "all of the string except for its last character, which is useful for " "removing the trailing newline from a string." msgstr "" +"Usar índices negativos pode ser muito conveniente. Por exemplo, ``S[:-1]`` é " +"a string inteira exceto pelo seu último caractere, o que é útil para remover " +"o caractere de nova linha no final de uma string." #: ../../faq/programming.rst:1190 msgid "How do I iterate over a sequence in reverse order?" @@ -1744,11 +1845,13 @@ msgstr "" #: ../../faq/programming.rst:1202 msgid "How do you remove duplicates from a list?" -msgstr "Como que remove itens duplicados de uma lista?" +msgstr "Como que removo itens duplicados de uma lista?" #: ../../faq/programming.rst:1204 msgid "See the Python Cookbook for a long discussion of many ways to do this:" msgstr "" +"Veja o Python Cookbook para uma longa discussão de várias formas de fazer " +"isso:" #: ../../faq/programming.rst:1206 msgid "https://code.activestate.com/recipes/52560/" @@ -1759,11 +1862,13 @@ msgid "" "If you don't mind reordering the list, sort it and then scan from the end of " "the list, deleting duplicates as you go::" msgstr "" +"Se você não se importar em reordenar a lista, ordene-a e depois examine a " +"partir do final da lista, excluindo duplicatas conforme avança::" #: ../../faq/programming.rst:1220 msgid "" -"If all elements of the list may be used as set keys (i.e. they are all :term:" -"`hashable`) this is often faster ::" +"If all elements of the list may be used as set keys (i.e. they are " +"all :term:`hashable`) this is often faster ::" msgstr "" "Se todos os elementos da lista podem ser usados como chaves de conjunto " "(isto é, eles são todos :term:`hasheáveis `) isso é muitas vezes " @@ -1779,7 +1884,7 @@ msgstr "" #: ../../faq/programming.rst:1230 msgid "How do you remove multiple items from a list" -msgstr "Como remover múltiplos itens de uma lista" +msgstr "Como remover múltiplos itens de uma lista?" #: ../../faq/programming.rst:1232 msgid "" @@ -1788,6 +1893,10 @@ msgid "" "replacement with an implicit or explicit forward iteration. Here are three " "variations.::" msgstr "" +"Assim como para remover valores duplicados, explicitamente iterar em uma " +"lista reversa com uma condição de remoção é uma possibilidade. Contudo, é " +"mais fácil e rápido usar substituição de fatias com um iteração reversa " +"implícita ou explícita. Aqui estão três variações.::" #: ../../faq/programming.rst:1241 msgid "The list comprehension may be fastest." @@ -1807,6 +1916,9 @@ msgid "" "primary difference is that a Python list can contain objects of many " "different types." msgstr "" +"Listas são equivalentes aos vetores de C ou Pascal em termos de complexidade " +"de tempo; a diferença primária é que uma lista em Python pode conter objetos " +"de tipos diferentes." #: ../../faq/programming.rst:1254 msgid "" @@ -1815,11 +1927,18 @@ msgid "" "lists. Also note that `NumPy `_ and other third party " "packages define array-like structures with various characteristics as well." msgstr "" +"O módulo ``array`` também provê métodos para criar vetores de tipos fixos " +"com representações compactas, mas eles são mais lentos para indexar que " +"listas. Observe também que `NumPy `_ e outros pacotes " +"de terceiros definem estruturas semelhantes a arrays com várias " +"características." #: ../../faq/programming.rst:1260 msgid "" "To get Lisp-style linked lists, you can emulate *cons cells* using tuples::" msgstr "" +"Para obter listas ligadas no estilo Lisp, você pode emular *células cons* " +"usando tuplas::" #: ../../faq/programming.rst:1264 msgid "" @@ -1828,6 +1947,10 @@ msgid "" "``lisp_list[1]``. Only do this if you're sure you really need to, because " "it's usually a lot slower than using Python lists." msgstr "" +"Se mutabilidade é desejada, você pode usar listas no lugar de tuplas. Aqui " +"o análogo de um *car* Lisp é ``lista_lisp[0]`` e o análogo de *cdr* é " +"``lista_lisp[1]``. Faça isso somente se você tem certeza que precisa disso, " +"porque isso é usualmente muito mais lento que usar listas Python." #: ../../faq/programming.rst:1273 msgid "How do I create a multidimensional list?" @@ -1835,7 +1958,7 @@ msgstr "Como faço para criar uma lista multidimensional?" #: ../../faq/programming.rst:1275 msgid "You probably tried to make a multidimensional array like this::" -msgstr "Você provavelmente tentou fazer um Array multidimensional como isso::" +msgstr "Você provavelmente tentou fazer um vetor multidimensional assim::" #: ../../faq/programming.rst:1279 msgid "This looks correct if you print it:" @@ -1862,44 +1985,50 @@ msgid "" "The suggested approach is to create a list of the desired length first and " "then fill in each element with a newly created list::" msgstr "" -"A abordagem sugerida é criar uma lista de comprimento desejado primeiro e, " -"em seguida, preencher cada elemento com uma lista recém-criada::" +"A abordagem sugerida é criar uma lista com o comprimento desejado primeiro " +"e, em seguida, preencher cada elemento com uma lista recém-criada::" #: ../../faq/programming.rst:1314 msgid "" "This generates a list containing 3 different lists of length two. You can " "also use a list comprehension::" msgstr "" -"Isso gera uma lista contendo 3 listas diferentes contendo 2 itens cadas. " -"Você também pode usar uma compreensão de lista::" +"Isso gera uma lista contendo 3 listas diferentes contendo 2 itens cada. Você " +"também pode usar uma compreensão de lista::" #: ../../faq/programming.rst:1320 msgid "" "Or, you can use an extension that provides a matrix datatype; `NumPy " "`_ is the best known." msgstr "" +"Ou você pode usar uma extensão que provê um tipo de dados matrix; `NumPy " +"`_ é o mais conhecido." #: ../../faq/programming.rst:1325 msgid "How do I apply a method or function to a sequence of objects?" -msgstr "" +msgstr "Como eu aplico um método ou função para uma sequência de objetos?" #: ../../faq/programming.rst:1327 msgid "" -"To call a method or function and accumulate the return values is a list, a :" -"term:`list comprehension` is an elegant solution::" +"To call a method or function and accumulate the return values is a list, " +"a :term:`list comprehension` is an elegant solution::" msgstr "" +"Para chamar um método ou função e acumular os valores retornados como uma " +"lista, uma :term:`compreensão de lista` é uma solução elegante::" #: ../../faq/programming.rst:1334 msgid "" "To just run the method or function without saving the return values, a " "plain :keyword:`for` loop will suffice::" msgstr "" +"Para apenas chamar o método ou função sem salvar os valores retornados, um " +"laço :keyword:`for` será o suficiente::" #: ../../faq/programming.rst:1346 msgid "" "Why does a_tuple[i] += ['item'] raise an exception when the addition works?" msgstr "" -"Porque a_tuple[i] += ['item'] levanta uma exceção quando a adição funciona?" +"Porque uma_tupla[i] += ['item'] levanta uma exceção quando a adição funciona?" #: ../../faq/programming.rst:1348 msgid "" @@ -1907,6 +2036,9 @@ msgid "" "operators are *assignment* operators, and the difference between mutable and " "immutable objects in Python." msgstr "" +"Isso se deve a uma combinação do fato de que os operadores de atribuição " +"aumentada são operadores de *atribuição* e à diferença entre objetos " +"mutáveis e imutáveis no Python." #: ../../faq/programming.rst:1352 msgid "" @@ -1914,6 +2046,9 @@ msgid "" "applied to elements of a tuple that point to mutable objects, but we'll use " "a ``list`` and ``+=`` as our exemplar." msgstr "" +"Essa discussão se aplica em geral quando operadores de atribuição aumentada " +"são aplicados a elementos de uma tupla que aponta para objetos mutáveis, mas " +"usaremos uma ``lista`` e ``+=`` como exemplo." #: ../../faq/programming.rst:1356 msgid "If you wrote::" @@ -1927,6 +2062,11 @@ msgid "" "to element ``0`` of the tuple, we get an error because we can't change what " "an element of a tuple points to." msgstr "" +"O motivo da exceção deve ser imediatamente claro: ``1`` é adicionado ao " +"objeto que ``a_tuple[0]`` aponta para (``1``), produzindo o objeto de " +"resultado, ``2``, mas quando tentamos atribuir o resultado do cálculo, " +"``2``, ao elemento ``0`` da tupla, recebemos um erro porque não podemos " +"alterar o que um elemento de uma tupla aponta." #: ../../faq/programming.rst:1370 msgid "" @@ -1941,7 +2081,7 @@ msgid "" "It is the assignment part of the operation that produces the error, since a " "tuple is immutable." msgstr "" -"A parte da atribuição da operação que produz o erro, já que a tupla é " +"Essa é a parte da atribuição da operação que produz o erro, já que a tupla é " "imutável." #: ../../faq/programming.rst:1382 @@ -1953,6 +2093,8 @@ msgid "" "The exception is a bit more surprising, and even more surprising is the fact " "that even though there was an error, the append worked::" msgstr "" +"A exceção é um pouco mais surpreendente, e ainda mais surpreendente é o fato " +"de que, embora tenha havido um erro, o acréscimo à lista funcionou::" #: ../../faq/programming.rst:1396 msgid "" @@ -1960,10 +2102,16 @@ msgid "" "an :meth:`~object.__iadd__` magic method, it gets called when the ``+=`` " "augmented assignment is executed, and its return value is what gets used in " "the assignment statement; and (b) for lists, :meth:`!__iadd__` is equivalent " -"to calling :meth:`~list.extend` on the list and returning the list. That's " -"why we say that for lists, ``+=`` is a \"shorthand\" for :meth:`!list." -"extend`::" +"to calling :meth:`!extend` on the list and returning the list. That's why " +"we say that for lists, ``+=`` is a \"shorthand\" for :meth:`!list.extend`::" msgstr "" +"Para entender por que isso acontece, você precisa saber que (a) se um objeto " +"implementa um método mágico :meth:`~object.__iadd__`, ele é chamado quando a " +"atribuição aumentada ``+=`` é executada, e seu valor de retorno é o que é " +"usado na instrução de atribuição; e (b) para listas, :meth:`!__iadd__` é " +"equivalente a chamar :meth:`!extend` na lista e retornar a lista. É por isso " +"que dizemos que, para listas, ``+=`` é uma “abreviação” para :meth:`!" +"list.extend`::" #: ../../faq/programming.rst:1409 msgid "This is equivalent to::" @@ -1976,10 +2124,15 @@ msgid "" "assignment is a no-op, since it is a pointer to the same object that " "``a_list`` was previously pointing to, but the assignment still happens." msgstr "" +"O objeto apontado por a_list foi alterado e o ponteiro para o objeto " +"alterado é atribuído novamente a ``a_list``. O resultado final da atribuição " +"é um no-op, pois é um ponteiro para o mesmo objeto para o qual ``a_list`` " +"estava apontando anteriormente, mas a atribuição ainda acontece." #: ../../faq/programming.rst:1419 msgid "Thus, in our tuple example what is happening is equivalent to::" msgstr "" +"Portanto, em nosso exemplo da tupla, o que está acontecendo é equivalente a:" #: ../../faq/programming.rst:1427 msgid "" @@ -1988,12 +2141,18 @@ msgid "" "points to, that final assignment still results in an error, because tuples " "are immutable." msgstr "" +"O :meth:`!__iadd__` é bem-sucedido e, portanto, a lista é estendida, mas " +"mesmo que ``result`` aponte para o mesmo objeto para o qual ``a_tuple[0]`` " +"já aponta, essa atribuição final ainda resulta em um erro, pois as tuplas " +"são imutáveis." #: ../../faq/programming.rst:1433 msgid "" "I want to do a complicated sort: can you do a Schwartzian Transform in " "Python?" msgstr "" +"Quero fazer uma ordenação confusa: você pode fazer uma transformação " +"schwartziana em Python?" #: ../../faq/programming.rst:1435 msgid "" @@ -2002,6 +2161,10 @@ msgid "" "value\". In Python, use the ``key`` argument for the :meth:`list.sort` " "method::" msgstr "" +"A técnica, atribuída a Randal Schwartz da comunidade Perl, ordena os " +"elementos de uma lista por uma métrica que mapeia cada elemento para seu " +"“valor de ordem”. Em Python, use o argumento ``key`` para o " +"método :meth:`list.sort`::" #: ../../faq/programming.rst:1444 msgid "How can I sort one list by values from another list?" @@ -2012,6 +2175,8 @@ msgid "" "Merge them into an iterator of tuples, sort the resulting list, and then " "pick out the element you want. ::" msgstr "" +"Combine-as em um iterador de tuplas, ordene a lista resultante e, em " +"seguida, escolha o elemento desejado:" #: ../../faq/programming.rst:1461 msgid "Objects" @@ -2028,6 +2193,10 @@ msgid "" "which embody both the data (attributes) and code (methods) specific to a " "datatype." msgstr "" +"Uma classe é o tipo de objeto específico criado pela execução da instrução " +"class. Os objetos classe são usados como modelos para criar objetos " +"instância, que incorporam os dados (atributos) e o código (métodos) " +"específicos de um tipo de dado." #: ../../faq/programming.rst:1470 msgid "" @@ -2038,6 +2207,13 @@ msgid "" "for a mailbox, and subclasses such as ``MboxMailbox``, ``MaildirMailbox``, " "``OutlookMailbox`` that handle various specific mailbox formats." msgstr "" +"Uma classe pode ser baseada em uma ou mais outras classes, chamadas de " +"classe(s) base(s), herdando seus atributos e métodos. Isso permite que um " +"modelo de objeto seja sucessivamente refinado por herança. Você pode ter " +"uma classe genérica ``Mailbox`` que fornece métodos básicos para uma caixa " +"de correio e subclasses como ``MboxMailbox``, ``MaildirMailbox``, " +"``OutlookMailbox`` que manipula vários formatos específicos de caixa de " +"correio." #: ../../faq/programming.rst:1479 msgid "What is a method?" @@ -2045,10 +2221,13 @@ msgstr "O que é um método?" #: ../../faq/programming.rst:1481 msgid "" -"A method is a function on some object ``x`` that you normally call as ``x." -"name(arguments...)``. Methods are defined as functions inside the class " +"A method is a function on some object ``x`` that you normally call as " +"``x.name(arguments...)``. Methods are defined as functions inside the class " "definition::" msgstr "" +"Um método é uma função em algum objeto ``x`` que você normalmente chama com " +"``x.name(arguments...)``. Métodos são definidos como funções dentro da " +"definição da classe::" #: ../../faq/programming.rst:1491 msgid "What is self?" @@ -2061,6 +2240,10 @@ msgid "" "c)`` for some instance ``x`` of the class in which the definition occurs; " "the called method will think it is called as ``meth(x, a, b, c)``." msgstr "" +"Self é apenas um nome convencional para o primeiro argumento de um método. " +"Um método definido como ``meth(self, a, b, c)`` deve ser chamado com " +"``x.meth(a, b, c)`` para alguma instância ``x`` da classe em que a definição " +"ocorre; o método chamado pensará que é chamado com ``meth(x, a, b, c)``." #: ../../faq/programming.rst:1498 msgid "See also :ref:`why-self`." @@ -2083,14 +2266,25 @@ msgid "" "built-in types, e.g. ``isinstance(obj, str)`` or ``isinstance(obj, (int, " "float, complex))``." msgstr "" +"Use a função embutida :func:`isinstance(obj, cls) `. Você pode " +"verificar se um objeto é uma instância de qualquer uma de várias classes " +"fornecendo um tupla em vez de uma única classe, por exemplo, " +"``isinstance(obj, (class1, class2, ...))``, e também pode verificar se um " +"objeto é de um dos tipos embutidos no Python, por exemplo, ``isinstance(obj, " +"str)`` ou ``isinstance(obj, (int, float, complex))``." #: ../../faq/programming.rst:1511 msgid "" -"Note that :func:`isinstance` also checks for virtual inheritance from an :" -"term:`abstract base class`. So, the test will return ``True`` for a " +"Note that :func:`isinstance` also checks for virtual inheritance from " +"an :term:`abstract base class`. So, the test will return ``True`` for a " "registered class even if hasn't directly or indirectly inherited from it. " "To test for \"true inheritance\", scan the :term:`MRO` of the class:" msgstr "" +"Observe que :func:`isinstance` também verifica se há herança virtual de " +"uma :term:`classe base abstrata`. Portanto, o teste retorna ``True`` para " +"uma classe registrada, mesmo que não tenha herdado direta ou indiretamente " +"dela. Para testar a \"herança verdadeira\", verifique o :term:`MRO` da " +"classe:" #: ../../faq/programming.rst:1546 msgid "" @@ -2101,16 +2295,24 @@ msgid "" "and doing a different thing based on what class it is. For example, if you " "have a function that does something::" msgstr "" +"Observe que a maioria dos programas não usa :func:`isinstance` em classes " +"definidas pelo usuário com muita frequência. Se você estiver desenvolvendo " +"as classes por conta própria, um estilo orientado a objetos mais adequado é " +"definir métodos nas classes que encapsulam um comportamento específico, em " +"vez de verificar a classe do objeto e fazer uma coisa diferente com base na " +"classe que ele é. Por exemplo, se você tiver uma função que faz algo::" #: ../../faq/programming.rst:1560 msgid "" "A better approach is to define a ``search()`` method on all the classes and " "just call it::" msgstr "" +"Uma abordagem melhor é definir um método ``search()`` em todas as classes e " +"apenas chamá-lo::" #: ../../faq/programming.rst:1575 msgid "What is delegation?" -msgstr "O que é delegation?" +msgstr "O que é delegação?" #: ../../faq/programming.rst:1577 msgid "" @@ -2120,6 +2322,11 @@ msgid "" "implementation of the method you're interested in changing and delegates all " "other methods to the corresponding method of ``x``." msgstr "" +"A delegação é uma técnica orientada a objetos (também chamada de padrão de " +"projeto). Digamos que você tenha um objeto ``x`` e queira alterar o " +"comportamento de apenas um de seus métodos. Você pode criar uma nova classe " +"que forneça uma nova implementação do método que você está interessado em " +"alterar e delegar todos os outros métodos ao método correspondente de ``x``." #: ../../faq/programming.rst:1583 msgid "" @@ -2127,25 +2334,40 @@ msgid "" "following class implements a class that behaves like a file but converts all " "written data to uppercase::" msgstr "" +"Com Python, você pode implementar delegação facilmente. Por exemplo, o " +"trecho de código a seguir implementa uma classe que se comporta como um " +"arquivo, mas converte todos os dados gravados em letras maiúsculas::" #: ../../faq/programming.rst:1598 msgid "" "Here the ``UpperOut`` class redefines the ``write()`` method to convert the " -"argument string to uppercase before calling the underlying ``self._outfile." -"write()`` method. All other methods are delegated to the underlying ``self." -"_outfile`` object. The delegation is accomplished via the :meth:`~object." -"__getattr__` method; consult :ref:`the language reference ` for more information about controlling attribute access." -msgstr "" +"argument string to uppercase before calling the underlying " +"``self._outfile.write()`` method. All other methods are delegated to the " +"underlying ``self._outfile`` object. The delegation is accomplished via " +"the :meth:`~object.__getattr__` method; consult :ref:`the language reference " +"` for more information about controlling attribute access." +msgstr "" +"Aqui, a classe ``UpperOut`` redefine o método ``write()`` para converter o " +"argumento string em maiúsculas antes de chamar o método " +"``self._outfile.write()`` subjacente. Todos os outros métodos são delegados " +"ao objeto ``self._outfile`` subjacente. A delegação é realizada por meio do " +"método :meth:`~object.__getattr__`; consulte :ref:`a referência da linguagem " +"` para obter mais informações sobre o controle de acesso a " +"atributo." #: ../../faq/programming.rst:1605 msgid "" "Note that for more general cases delegation can get trickier. When " -"attributes must be set as well as retrieved, the class must define a :meth:" -"`~object.__setattr__` method too, and it must do so carefully. The basic " -"implementation of :meth:`!__setattr__` is roughly equivalent to the " +"attributes must be set as well as retrieved, the class must define " +"a :meth:`~object.__setattr__` method too, and it must do so carefully. The " +"basic implementation of :meth:`!__setattr__` is roughly equivalent to the " "following::" msgstr "" +"Observe que, em casos mais gerais, a delegação pode se tornar mais " +"complicada. Quando o atributo precisa ser definido e recuperado, a classe " +"deve definir um método :meth:`~object.__setattr__` também, e deve fazê-lo " +"com cuidado. A implementação básica do :meth:`!__setattr__` é " +"aproximadamente equivalente ao seguinte::" #: ../../faq/programming.rst:1616 msgid "" @@ -2159,8 +2381,8 @@ msgid "" "How do I call a method defined in a base class from a derived class that " "extends it?" msgstr "" -"Como eu chamo um método definido numa classe base derivada de uma classe que " -"estende ela?" +"Como eu chamo um método definido em uma classe base a partir de uma classe " +"derivada que a estende?" #: ../../faq/programming.rst:1624 msgid "Use the built-in :func:`super` function::" @@ -2173,6 +2395,10 @@ msgid "" "resolution order` (MRO) with ``type(self).__mro__``, and return the next in " "line after ``Derived`` in the MRO: ``Base``." msgstr "" +"No exemplo, :func:`super` determinará automaticamente a instância da qual " +"foi chamado (o valor de ``self``), procura a :term:`ordem de resolução de " +"métodos` (MRO) com ``type(self).__mro__`` e então retorna o próximo na linha " +"após ``Derived`` no MRO: ``Base``." #: ../../faq/programming.rst:1637 msgid "How can I organize my code to make it easier to change the base class?" @@ -2186,22 +2412,33 @@ msgid "" "this trick is also handy if you want to decide dynamically (e.g. depending " "on availability of resources) which base class to use. Example::" msgstr "" +"Você poderia atribuir a classe base a um apelido e derivar do apelido. " +"Então, tudo o que você precisa alterar é o valor atribuído ao apelido. " +"Aliás, esse truque também é útil se você quiser decidir dinamicamente (por " +"exemplo, dependendo do disponibilidade de recursos) qual classe base usar. " +"Exemplo::" #: ../../faq/programming.rst:1654 msgid "How do I create static class data and static class methods?" msgstr "" +"Como faço para criar dados de classe estáticos e métodos de classe estáticos?" #: ../../faq/programming.rst:1656 msgid "" "Both static data and static methods (in the sense of C++ or Java) are " "supported in Python." msgstr "" +"Tanto dados estáticos quanto métodos estáticos (no sentido de C++ ou Java) " +"são possíveis com Python." #: ../../faq/programming.rst:1659 msgid "" "For static data, simply define a class attribute. To assign a new value to " "the attribute, you have to explicitly use the class name in the assignment::" msgstr "" +"Para dados estáticos, basta definir um atributo de classe. Para atribuir um " +"novo valor ao atributo, você precisa usar explicitamente o nome da classe na " +"atribuição::" #: ../../faq/programming.rst:1671 msgid "" @@ -2209,6 +2446,10 @@ msgid "" "``isinstance(c, C)`` holds, unless overridden by ``c`` itself or by some " "class on the base-class search path from ``c.__class__`` back to ``C``." msgstr "" +"``c.count`` também se refere a ``C.count`` para qualquer ``c`` de modo que " +"``isinstance(c, C)`` seja válido, a menos que seja substituído pelo próprio " +"``c`` ou por alguma classe no caminho de busca da classe base de " +"``c.__class__`` até ``C``." #: ../../faq/programming.rst:1675 msgid "" @@ -2217,6 +2458,10 @@ msgid "" "dict. Rebinding of a class-static data name must always specify the class " "whether inside a method or not::" msgstr "" +"Cuidado: em um método de C, uma atribuição como ``self.count = 42`` cria uma " +"instância nova e não-relacionada chamada \"count\" no próprio dicionário de " +"``self``. A revinculação de um nome de dado de classe estático deve sempre " +"especificar a classe, seja dentro de um método ou não::" #: ../../faq/programming.rst:1682 msgid "Static methods are possible::" @@ -2227,12 +2472,17 @@ msgid "" "However, a far more straightforward way to get the effect of a static method " "is via a simple module-level function::" msgstr "" +"No entanto, uma maneira muito mais direta de obter o efeito de um método " +"estático é por meio de uma simples função em nível de módulo::" #: ../../faq/programming.rst:1696 msgid "" "If your code is structured so as to define one class (or tightly related " "class hierarchy) per module, this supplies the desired encapsulation." msgstr "" +"Se o seu código está estruturado de modo a definir uma classe (ou uma " +"hierarquia de classes estreitamente relacionada) por módulo, isso fornecerá " +"o encapsulamento desejado." #: ../../faq/programming.rst:1701 msgid "How can I overload constructors (or methods) in Python?" @@ -2255,7 +2505,7 @@ msgid "" "In Python you have to write a single constructor that catches all cases " "using default arguments. For example::" msgstr "" -"Em Python você tem que escrever um único construtor que pega todos os casos " +"Em Python, você tem que escrever um único construtor que pega todos os casos " "usando argumentos padrão. Por exemplo::" #: ../../faq/programming.rst:1725 @@ -2285,6 +2535,12 @@ msgid "" "``classname`` is the current class name with any leading underscores " "stripped." msgstr "" +"Os nomes de variáveis com dois sublinhados à esquerda são \"manipulados\" " +"para fornecer uma maneira simples, mas eficaz, de definir variáveis privadas " +"de classe. Qualquer identificador no formato ``__spam`` (pelo menos dois " +"sublinhados à esquerda, no máximo um sublinhado à direita) é textualmente " +"substituído por ``_classname__spam``, em que ``classname`` é o nome da " +"classe atual sem nenhum sublinhado à esquerda." #: ../../faq/programming.rst:1744 msgid "" @@ -2306,10 +2562,13 @@ msgstr "Há várias razões possíveis para isto." #: ../../faq/programming.rst:1755 msgid "" -"The :keyword:`del` statement does not necessarily call :meth:`~object." -"__del__` -- it simply decrements the object's reference count, and if this " -"reaches zero :meth:`!__del__` is called." +"The :keyword:`del` statement does not necessarily " +"call :meth:`~object.__del__` -- it simply decrements the object's reference " +"count, and if this reaches zero :meth:`!__del__` is called." msgstr "" +"A instrução :keyword:`del` não necessariamente chama o " +"método :meth:`~object.__del__` - ele simplesmente diminui o contagem de " +"referências do objeto e, se ele chegar a zero, o :meth:`!__del__` é chamado." #: ../../faq/programming.rst:1759 msgid "" @@ -2324,6 +2583,18 @@ msgid "" "run :func:`gc.collect` to force a collection, but there *are* pathological " "cases where objects will never be collected." msgstr "" +"Se suas estruturas de dados contiverem links circulares (por exemplo, uma " +"árvore em que cada filho tem uma referência para o pai e cada pai tem uma " +"lista de filhos), a contagem de referências nunca voltará a zero. De vez em " +"quando, o Python executa um algoritmo para detectar esses ciclos, mas o " +"coletor de lixo pode ser executado algum tempo depois que a última " +"referência da sua estrutura de dados desaparecer, de modo que o seu " +"método :meth:`!__del__` pode ser chamado em um momento inconveniente e " +"aleatório. Isso é inconveniente se você estiver tentando reproduzir um " +"problema. Pior ainda, a ordem em quais objetos o métodos :meth:`!__del__` " +"são executados é arbitrária. Você pode executar :func:`gc.collect` para " +"forçar um coleção, mas *há* casos patológicos em que os objetos nunca serão " +"coletados." #: ../../faq/programming.rst:1770 msgid "" @@ -2334,6 +2605,12 @@ msgid "" "``close()`` and ``close()`` should make sure that it can be called more than " "once for the same object." msgstr "" +"Apesar do coletor de ciclos, ainda é uma boa ideia definir um método " +"``close()`` explícito nos objetos a ser chamado sempre que você terminar de " +"usá-los. O método ``close()`` pode então remover o atributo que se refere a " +"subobjetos. Não chame :meth:`!__del__` diretamente - :meth:`!__del__` deve " +"chamar ``close()`` e ``close()`` deve garantir que ele possa ser chamado " +"mais de uma vez para o mesmo objeto." #: ../../faq/programming.rst:1777 msgid "" @@ -2342,12 +2619,18 @@ msgid "" "reference count. Tree data structures, for instance, should use weak " "references for their parent and sibling references (if they need them!)." msgstr "" +"Outra forma de evitar referências cíclicas é usar o módulo :mod:`weakref`, " +"que permite apontar para objetos sem incrementar o contagem de referências. " +"As estruturas de dados em árvore, por exemplo, devem usar o referência fraca " +"para referenciar seus pais e irmãos (se precisarem deles!)." #: ../../faq/programming.rst:1790 msgid "" "Finally, if your :meth:`!__del__` method raises an exception, a warning " "message is printed to :data:`sys.stderr`." msgstr "" +"Por fim, se seu método :meth:`!__del__` levanta uma exceção, uma mensagem de " +"alerta será enviada para :data:`sys.stderr`." #: ../../faq/programming.rst:1795 msgid "How do I get a list of all instances of a given class?" @@ -2360,6 +2643,10 @@ msgid "" "type). You can program the class's constructor to keep track of all " "instances by keeping a list of weak references to each instance." msgstr "" +"Python não mantém o controle de todas as instâncias de uma classe (ou de um " +"tipo embutido). Você pode programar o construtor da classe para manter o " +"controle de todas as instâncias, mantendo uma lista de referências fracas " +"para cada instância." #: ../../faq/programming.rst:1803 msgid "Why does the result of ``id()`` appear to be not unique?" @@ -2373,6 +2660,11 @@ msgid "" "memory, the next freshly created object is allocated at the same position in " "memory. This is illustrated by this example:" msgstr "" +"A função embutida :func:`id` retorna um inteiro que é garantido ser único " +"durante a vida útil do objeto. Como em CPython esse número é o endereço de " +"memória do objeto, acontece com frequência que, depois que um objeto é " +"excluído da memória, o próximo objeto recém-criado é alocado na mesma " +"posição na memória. Isso é ilustrado por este exemplo:" #: ../../faq/programming.rst:1816 msgid "" @@ -2381,6 +2673,10 @@ msgid "" "objects whose id you want to examine are still alive, create another " "reference to the object:" msgstr "" +"Os dois ids pertencem a diferentes objetos inteiros que são criados antes e " +"excluídos imediatamente após a execução da chamada de ``id()``. Para ter " +"certeza de que os objetos cujo id você deseja examinar ainda estão vivos, " +"crie outra referencia para o objeto:" #: ../../faq/programming.rst:1829 msgid "When can I rely on identity tests with the *is* operator?" @@ -2391,6 +2687,8 @@ msgid "" "The ``is`` operator tests for object identity. The test ``a is b`` is " "equivalent to ``id(a) == id(b)``." msgstr "" +"O operador ``is`` testa a identidade do objeto. O teste ``a is b`` equivale " +"a ``id(a) == id(b)``." #: ../../faq/programming.rst:1834 msgid "" @@ -2399,6 +2697,11 @@ msgid "" "usually faster than equality tests. And unlike equality tests, identity " "tests are guaranteed to return a boolean ``True`` or ``False``." msgstr "" +"A propriedade mais importante de um teste de identidade é que um objeto é " +"sempre idêntico a si mesmo, ``a is a`` sempre retorna ``True``. Testes de " +"identidade são geralmente mais rápidos do que os testes de igualdade. E, ao " +"contrário dos testes de igualdade, teste de identidade garante que retorno " +"seja um booleano ``True`` ou ``False``." #: ../../faq/programming.rst:1839 msgid "" @@ -2406,12 +2709,17 @@ msgid "" "object identity is assured. Generally, there are three circumstances where " "identity is guaranteed:" msgstr "" +"Entretanto, o teste de identidade *somente* pode ser substituído por testes " +"de igualdade quando a identidade do objeto é garantida. Em geral, há três " +"circunstâncias em que a identidade é garantida:" #: ../../faq/programming.rst:1843 msgid "" "1) Assignments create new names but do not change object identity. After " "the assignment ``new = old``, it is guaranteed that ``new is old``." msgstr "" +"1) Atribuições criam novos nomes, mas não alteram a identidade do objeto. " +"Após a atribuição ``new = old``, é garantido que ``new is old``." #: ../../faq/programming.rst:1846 msgid "" @@ -2419,6 +2727,9 @@ msgid "" "change object identity. After the list assignment ``s[0] = x``, it is " "guaranteed that ``s[0] is x``." msgstr "" +"2) Colocar um objeto em um contêiner que armazena referências de objetos não " +"altera a identidade do objeto. Após a lista atribuição ``s[0] = x``, é " +"garantido que ``s[0] is x``." #: ../../faq/programming.rst:1850 msgid "" @@ -2426,6 +2737,9 @@ msgid "" "object can exist. After the assignments ``a = None`` and ``b = None``, it " "is guaranteed that ``a is b`` because ``None`` is a singleton." msgstr "" +"3) Se um objeto for um Singleton, isso significa que só pode existir uma " +"instância desse objeto. Depois de atribuição ``a = None`` e ``b = None``, é " +"garantido que ``a is b`` porque ``None`` é um Singleton." #: ../../faq/programming.rst:1854 msgid "" @@ -2434,6 +2748,10 @@ msgid "" "check constants such as :class:`int` and :class:`str` which aren't " "guaranteed to be singletons::" msgstr "" +"Na maioria das outras circunstâncias, o teste de identidade é " +"desaconselhável e os testes de igualdade são preferíveis. Em particular, " +"teste de identidade não deve ser usado para verificar constantes, " +"como :class:`int` e :class:`str`, que não têm garantia de serem Singletons::" #: ../../faq/programming.rst:1871 msgid "Likewise, new instances of mutable containers are never identical::" @@ -2446,6 +2764,8 @@ msgid "" "In the standard library code, you will see several common patterns for " "correctly using identity tests:" msgstr "" +"No código da biblioteca padrão, você encontrará vários padrões comuns para " +"usar corretamente o teste de identidade:" #: ../../faq/programming.rst:1881 msgid "" @@ -2454,6 +2774,10 @@ msgid "" "confusion with other objects that may have boolean values that evaluate to " "false." msgstr "" +"1) Conforme recomendado por :pep:`8`, um teste de identidade é a maneira " +"preferida de verificar ``None``. Isso é lido como se fosse inglês simples " +"no código e evita confusão com outros objetos que podem ter valor booleano " +"avaliado para falso." #: ../../faq/programming.rst:1885 msgid "" @@ -2462,6 +2786,11 @@ msgid "" "guaranteed to be distinct from other objects. For example, here is how to " "implement a method that behaves like :meth:`dict.pop`::" msgstr "" +"2) A detecção de argumento opcional pode ser complicada quando ``None`` é " +"uma valor de entrada válido. Nessas situações, você pode criar um objeto " +"Singleton sinalizador com garantia de ser distinto de outros objetos. Por " +"exemplo, veja como implementar um método que se comporta " +"como :meth:`dict.pop`::" #: ../../faq/programming.rst:1901 msgid "" @@ -2469,17 +2798,24 @@ msgid "" "identity tests. This prevents the code from being confused by objects such " "as ``float('NaN')`` that are not equal to themselves." msgstr "" +"3) Implementações de contêiner às vezes precisam combinar testes de " +"igualdade com testes de identidade. Isso evita que o código seja confundido " +"por objetos como ``float('NaN')`` que não são iguais a si mesmos." #: ../../faq/programming.rst:1905 msgid "" -"For example, here is the implementation of :meth:`collections.abc.Sequence." -"__contains__`::" +"For example, here is the implementation of :meth:`!" +"collections.abc.Sequence.__contains__`::" msgstr "" +"Por exemplo, aqui está a implementação de :meth:`!" +"collections.abc.Sequence.__contains__`::" #: ../../faq/programming.rst:1916 msgid "" "How can a subclass control what data is stored in an immutable instance?" msgstr "" +"Como uma subclasse pode controlar quais dados são armazenados em uma " +"instância imutável?" #: ../../faq/programming.rst:1918 msgid "" @@ -2488,27 +2824,37 @@ msgid "" "*after* an instance is created, which is too late to alter data in an " "immutable instance." msgstr "" +"Quando estender um tipo imutável, sobrescreva o " +"método :meth:`~object.__new__` em vez do método :meth:`~object.__init__`. O " +"último só é executado *depois* que uma instância é criada, o que é tarde " +"demais para alterar os dados em uma instância imutável." #: ../../faq/programming.rst:1923 msgid "" "All of these immutable classes have a different signature than their parent " "class:" msgstr "" +"Todas essas classes imutáveis têm um assinatura diferente da sua classe base:" #: ../../faq/programming.rst:1949 msgid "The classes can be used like this:" -msgstr "" +msgstr "As classes podem ser usadas da seguinte forma:" #: ../../faq/programming.rst:1966 msgid "How do I cache method calls?" -msgstr "" +msgstr "Como faço para armazenar em cache as chamadas de um método?" #: ../../faq/programming.rst:1968 msgid "" -"The two principal tools for caching methods are :func:`functools." -"cached_property` and :func:`functools.lru_cache`. The former stores results " -"at the instance level and the latter at the class level." +"The two principal tools for caching methods " +"are :func:`functools.cached_property` and :func:`functools.lru_cache`. The " +"former stores results at the instance level and the latter at the class " +"level." msgstr "" +"As duas principais ferramentas para armazenamento em cache de métodos " +"são :func:`functools.cached_property` e :func:`functools.lru_cache`. A " +"primeira armazena resultados no nível de instância e a segunda no nível de " +"classe." #: ../../faq/programming.rst:1973 msgid "" @@ -2516,6 +2862,9 @@ msgid "" "arguments. It does not create a reference to the instance. The cached " "method result will be kept only as long as the instance is alive." msgstr "" +"A abordagem *cached_property* funciona somente com métodos que não aceitam " +"nenhum argumento. Ela não cria uma referência para a instância. O resultado " +"do método será mantido em cache somente enquanto a instância estiver ativa." #: ../../faq/programming.rst:1977 msgid "" @@ -2524,6 +2873,10 @@ msgid "" "accumulate, so too will the accumulated method results. They can grow " "without bound." msgstr "" +"A vantagem é que, quando um instância não for mais usada, o resultado do " +"método armazenado em cache será liberado imediatamente. A desvantagem é " +"que, se as instâncias se acumularem, os resultados do método também serão " +"acumulados. Eles podem crescer sem limites." #: ../../faq/programming.rst:1982 msgid "" @@ -2531,6 +2884,9 @@ msgid "" "arguments. It creates a reference to the instance unless special efforts " "are made to pass in weak references." msgstr "" +"A abordagem *lru_cache* funciona com métodos que têm " +"argumento :term:`hasheável`. Ele cria uma referência para a instância, a " +"menos que sejam feitos esforços especiais para passar referências fracas." #: ../../faq/programming.rst:1986 msgid "" @@ -2538,6 +2894,9 @@ msgid "" "bounded by the specified *maxsize*. The disadvantage is that instances are " "kept alive until they age out of the cache or until the cache is cleared." msgstr "" +"A vantagem do algoritmo menos recentemente usado é que o cache é limitado " +"pelo *maxsize* especificado. A desvantagem é que as instâncias são mantidas " +"vivas até que saiam do cache ou até que o cache seja limpo." #: ../../faq/programming.rst:1991 msgid "This example shows the various techniques::" @@ -2549,13 +2908,21 @@ msgid "" "relevant instance attributes are mutable, the *cached_property* approach " "can't be made to work because it cannot detect changes to the attributes." msgstr "" +"O exemplo acima presume que o *station_id* nunca muda. Se os atributos " +"relevantes da instância forem mutáveis, a abordagem *cached_property* não " +"poderá usada porque não é capaz de detectar alterações no atributo." #: ../../faq/programming.rst:2020 msgid "" "To make the *lru_cache* approach work when the *station_id* is mutable, the " -"class needs to define the :meth:`~object.__eq__` and :meth:`~object." -"__hash__` methods so that the cache can detect relevant attribute updates::" +"class needs to define the :meth:`~object.__eq__` " +"and :meth:`~object.__hash__` methods so that the cache can detect relevant " +"attribute updates::" msgstr "" +"Para que a abordagem *lru_cache* funcione quando *station_id* for mutável, a " +"classe precisa definir os métodos :meth:`~object.__eq__` " +"e :meth:`~object.__hash__` para que o cache possa detectar atualizações " +"relevantes do atributo::" #: ../../faq/programming.rst:2046 msgid "Modules" @@ -2575,6 +2942,14 @@ msgid "" "file, and ends with ``.pyc``, with a middle component that depends on the " "particular ``python`` binary that created it. (See :pep:`3147` for details.)" msgstr "" +"Quando um módulo é importado pela primeira vez (ou quando o arquivo de " +"origem foi alterado desde que o arquivo compilado atual foi criado), um " +"arquivo ``.pyc`` contendo o código compilado deve ser criado em um " +"subdiretório ``__pycache__`` do diretório que contém o arquivo ``.py``. O " +"arquivo ``.pyc`` terá um nome de arquivo que começa com o mesmo nome do " +"arquivo ``.py`` e termina com ``.pyc``, com um componente intermediário que " +"depende do binário ``python`` específico que o criou. (Consulte :pep:`3147` " +"para obter detalhes.)" #: ../../faq/programming.rst:2059 msgid "" @@ -2584,6 +2959,11 @@ msgid "" "example, if you develop as one user but run as another, such as if you are " "testing with a web server." msgstr "" +"Um dos motivos pelos quais um arquivo ``.pyc`` pode não ser criado é um " +"problema de permissões no diretório que contém o arquivo de origem, o que " +"significa que o subdiretório ``__pycache__`` não pode ser criado. Isso pode " +"acontecer, por exemplo, se você desenvolver como um usuário, mas executar " +"como outro, como se estivesse testando em um servidor web." #: ../../faq/programming.rst:2064 msgid "" @@ -2593,29 +2973,46 @@ msgid "" "``__pycache__`` subdirectory and write the compiled module to that " "subdirectory." msgstr "" +"A menos que a variável de ambiente :envvar:`PYTHONDONTWRITEBYTECODE` esteja " +"definida, a criação de um arquivo .pyc será automática se você estiver " +"importando um módulo e o Python tiver a capacidade (permissões, espaço livre " +"etc.) de criar um subdiretório ``__pycache__`` e gravar o módulo compilado " +"nesse subdiretório." #: ../../faq/programming.rst:2069 msgid "" -"Running Python on a top level script is not considered an import and no ``." -"pyc`` will be created. For example, if you have a top-level module ``foo." -"py`` that imports another module ``xyz.py``, when you run ``foo`` (by typing " -"``python foo.py`` as a shell command), a ``.pyc`` will be created for " +"Running Python on a top level script is not considered an import and no " +"``.pyc`` will be created. For example, if you have a top-level module " +"``foo.py`` that imports another module ``xyz.py``, when you run ``foo`` (by " +"typing ``python foo.py`` as a shell command), a ``.pyc`` will be created for " "``xyz`` because ``xyz`` is imported, but no ``.pyc`` file will be created " "for ``foo`` since ``foo.py`` isn't being imported." msgstr "" +"A execução do Python em um script de nível superior não é considerada uma " +"importação e nenhum ``.pyc`` será criado. Por exemplo, se você tiver um " +"módulo de nível superior ``foo.py`` que importa outro módulo ``xyz.py`` , ao " +"executar ``foo`` (digitando ``python foo.py`` no console do sistema " +"operacional (SO)), um ``.pyc`` será criado para ``xyz`` porque ``xyz`` é " +"importado, mas nenhum arquivo ``.pyc`` será criado para ``foo``, pois " +"``foo.py`` não está sendo importado." #: ../../faq/programming.rst:2076 msgid "" -"If you need to create a ``.pyc`` file for ``foo`` -- that is, to create a ``." -"pyc`` file for a module that is not imported -- you can, using the :mod:" -"`py_compile` and :mod:`compileall` modules." +"If you need to create a ``.pyc`` file for ``foo`` -- that is, to create a " +"``.pyc`` file for a module that is not imported -- you can, using " +"the :mod:`py_compile` and :mod:`compileall` modules." msgstr "" +"Se você precisar criar um arquivo ``.pyc`` para ``foo``, ou seja, criar um " +"arquivo ``.pyc`` para um módulo que não é importado, você pode usar os " +"módulos :mod:`py_compile` e :mod:`compileall`." #: ../../faq/programming.rst:2080 msgid "" "The :mod:`py_compile` module can manually compile any module. One way is to " "use the ``compile()`` function in that module interactively::" msgstr "" +"O módulo :mod:`py_compile` pode compilar manualmente qualquer módulo. Uma " +"maneira é usar interativamente a função ``compile()`` nesse módulo::" #: ../../faq/programming.rst:2086 msgid "" @@ -2623,6 +3020,9 @@ msgid "" "location as ``foo.py`` (or you can override that with the optional parameter " "``cfile``)." msgstr "" +"Isso gravará o ``.pyc`` em um subdiretório ``__pycache__`` no mesmo local " +"que ``foo.py`` (ou você pode substituir isso com o parâmetro opcional " +"``cfile`` )." #: ../../faq/programming.rst:2090 msgid "" @@ -2631,6 +3031,10 @@ msgid "" "running ``compileall.py`` and providing the path of a directory containing " "Python files to compile::" msgstr "" +"Você também pode compilar automaticamente todos os arquivos em um diretório " +"ou diretórios usando o módulo :mod:`compileall`. Você pode fazer isso no " +"console do SO executando ``compileall.py`` e fornecendo o caminho de um " +"diretório que contenha os arquivos Python a serem compilados::" #: ../../faq/programming.rst:2099 msgid "How do I find the current module name?" @@ -2644,10 +3048,15 @@ msgid "" "importing them also provide a command-line interface or a self-test, and " "only execute this code after checking ``__name__``::" msgstr "" +"Um módulo pode descobrir seu próprio nome consultando a variável global " +"predefinida ``__name__`` . Se ela tiver o valor ``'__main__'`` , o programa " +"estará sendo executado como um script. Muitos módulos que são normalmente " +"usados ao serem importados também fornecem uma interface de linha de comando " +"ou um autoteste, e só executam esse código depois de verificar ``__name__``::" #: ../../faq/programming.rst:2116 msgid "How can I have modules that mutually import each other?" -msgstr "" +msgstr "Como posso ter módulos que se importam mutuamente?" #: ../../faq/programming.rst:2118 msgid "Suppose you have the following modules:" @@ -2655,11 +3064,11 @@ msgstr "Suponha que tenhas os seguintes módulos:" #: ../../faq/programming.rst:2120 msgid ":file:`foo.py`::" -msgstr "" +msgstr ":file:`foo.py`::" #: ../../faq/programming.rst:2125 msgid ":file:`bar.py`::" -msgstr "" +msgstr ":file:`bar.py`::" #: ../../faq/programming.rst:2130 msgid "The problem is that the interpreter will perform the following steps:" @@ -2667,79 +3076,96 @@ msgstr "O problema é que o interpretador vai realizar os seguintes passos:" #: ../../faq/programming.rst:2132 msgid "main imports ``foo``" -msgstr "" +msgstr "Programa principal importa ``foo``" #: ../../faq/programming.rst:2133 msgid "Empty globals for ``foo`` are created" -msgstr "" +msgstr "São criados globais vazios para ``foo``" #: ../../faq/programming.rst:2134 msgid "``foo`` is compiled and starts executing" -msgstr "" +msgstr "``foo`` é compilado e começa a ser executado" #: ../../faq/programming.rst:2135 msgid "``foo`` imports ``bar``" -msgstr "" +msgstr "``foo`` importa ``bar``" #: ../../faq/programming.rst:2136 msgid "Empty globals for ``bar`` are created" -msgstr "" +msgstr "São criados globais vazios para ``bar``" #: ../../faq/programming.rst:2137 msgid "``bar`` is compiled and starts executing" -msgstr "" +msgstr "``bar`` é compilado e começa a ser executado" #: ../../faq/programming.rst:2138 msgid "" "``bar`` imports ``foo`` (which is a no-op since there already is a module " "named ``foo``)" msgstr "" +"``bar`` importa ``foo`` (o que não é executado de fato, pois já existe um " +"módulo chamado ``foo``)" #: ../../faq/programming.rst:2139 msgid "" "The import mechanism tries to read ``foo_var`` from ``foo`` globals, to set " "``bar.foo_var = foo.foo_var``" msgstr "" +"O mecanismo de importação tenta ler ``foo_var`` do ``foo`` em globais, para " +"definir ``bar.foo_var = foo.foo_var``" #: ../../faq/programming.rst:2141 msgid "" "The last step fails, because Python isn't done with interpreting ``foo`` yet " "and the global symbol dictionary for ``foo`` is still empty." msgstr "" +"A última etapa falha, pois Python ainda não terminou de interpretar ``foo`` " +"e o dicionário de símbolos global para ``foo`` ainda está vazio." #: ../../faq/programming.rst:2144 msgid "" "The same thing happens when you use ``import foo``, and then try to access " "``foo.foo_var`` in global code." msgstr "" +"O mesmo acontece quando você usa ``import foo`` e, em seguida, tenta acessar " +"``foo.foo_var`` no código global." #: ../../faq/programming.rst:2147 msgid "There are (at least) three possible workarounds for this problem." msgstr "" +"Há (pelo menos) três possíveis soluções alternativas para esse problema." #: ../../faq/programming.rst:2149 msgid "" -"Guido van Rossum recommends avoiding all uses of ``from import ..." -"``, and placing all code inside functions. Initializations of global " -"variables and class variables should use constants or built-in functions " -"only. This means everything from an imported module is referenced as " -"``.``." +"Guido van Rossum recommends avoiding all uses of ``from " +"import ...``, and placing all code inside functions. Initializations of " +"global variables and class variables should use constants or built-in " +"functions only. This means everything from an imported module is referenced " +"as ``.``." msgstr "" +"Guido van Rossum recomenda evitar todos os usos de ``from " +"import ...`` e colocar todo o código dentro de funções. As inicializações " +"de variáveis globais e variáveis de classe devem usar apenas constantes ou " +"funções embutidas. Isso significa que tudo de um módulo importado é " +"referenciado como ``.``." #: ../../faq/programming.rst:2154 msgid "" "Jim Roskind suggests performing steps in the following order in each module:" msgstr "" +"Jim Roskind sugere a execução das etapas na seguinte ordem em cada módulo:" #: ../../faq/programming.rst:2156 msgid "" "exports (globals, functions, and classes that don't need imported base " "classes)" msgstr "" +"exportações (globais, função e classes que não precisam de classes base " +"importadas)" #: ../../faq/programming.rst:2158 msgid "``import`` statements" -msgstr "Declaração ``import``" +msgstr "instruções ``import``" #: ../../faq/programming.rst:2159 msgid "" @@ -2752,26 +3178,32 @@ msgid "" "Van Rossum doesn't like this approach much because the imports appear in a " "strange place, but it does work." msgstr "" +"Van Rossum não gosta muito dessa abordagem porque a importação aparece em um " +"lugar estranho, mas ela funciona." #: ../../faq/programming.rst:2164 msgid "" "Matthias Urlichs recommends restructuring your code so that the recursive " "import is not necessary in the first place." msgstr "" +"Matthias Urlichs recomenda reestruturar seu código para que importação " +"recursiva não seja necessária em primeiro lugar." #: ../../faq/programming.rst:2167 msgid "These solutions are not mutually exclusive." -msgstr "Essas soluções não são mutualmente exclusivas." +msgstr "Essas soluções não são mutuamente exclusivas." #: ../../faq/programming.rst:2171 msgid "__import__('x.y.z') returns ; how do I get z?" -msgstr "__import__('x.y.z') returns ; how do I get z?" +msgstr "__import__('x.y.z') retorna ; como faço para obter z?" #: ../../faq/programming.rst:2173 msgid "" "Consider using the convenience function :func:`~importlib.import_module` " "from :mod:`importlib` instead::" msgstr "" +"Em vez disso, considere usar a conveniente " +"função :func:`~importlib.import_module` de :mod:`importlib`::" #: ../../faq/programming.rst:2180 msgid "" @@ -2789,13 +3221,18 @@ msgid "" "module, the basic module would be parsed and re-parsed many times. To force " "re-reading of a changed module, do this::" msgstr "" +"Por motivos de eficiência e consistência, o Python só lê o arquivo do módulo " +"na primeira vez em que um módulo é importado. Caso contrário, em um " +"programa que consiste em muitos módulos em que cada um importa o mesmo " +"módulo básico, o módulo básico seria analisado e reanalisado várias vezes. " +"Para forçar a releitura de um módulo alterado, faça o seguinte::" #: ../../faq/programming.rst:2192 msgid "" "Warning: this technique is not 100% fool-proof. In particular, modules " "containing statements like ::" msgstr "" -"Aviso: essa técnica não é 100% a prova de falhas. Em particular, módulos " +"Aviso: essa técnica não é 100% à prova de falhas. Em particular, módulos " "contendo instruções como ::" #: ../../faq/programming.rst:2197 @@ -2805,6 +3242,10 @@ msgid "" "updated to use the new class definition. This can result in the following " "paradoxical behaviour::" msgstr "" +"continuará com a versão antiga dos objetos importados. Se o módulo contiver " +"definições de classe, as instâncias de classe existentes *não* serão " +"atualizadas para usar a nova definição da classe. Isso pode resultar no " +"seguinte comportamento paradoxal::" #: ../../faq/programming.rst:2210 msgid "" @@ -2820,7 +3261,7 @@ msgstr "argumento" #: ../../faq/programming.rst:408 msgid "difference from parameter" -msgstr "" +msgstr "diferença de parâmetro" #: ../../faq/programming.rst:408 msgid "parameter" @@ -2828,4 +3269,4 @@ msgstr "parâmetro" #: ../../faq/programming.rst:408 msgid "difference from argument" -msgstr "" +msgstr "diferença de argumento" diff --git a/faq/windows.po b/faq/windows.po index 15b4cbe38..1ef2a5fc3 100644 --- a/faq/windows.po +++ b/faq/windows.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 -# Adorilson Bezerra , 2021 -# Amanda Savluchinske , 2021 -# Raul Lima , 2021 -# Hortencia_Arliane , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -66,7 +60,7 @@ msgstr "" "do DOS\" ou \"janela do prompt de comando\". Geralmente você pode abrir " "essas janelas procurando na barra de pesquisa por ``cmd``. Você deverá " "reconhecer quando iniciar porque você verá um \"Prompt de Comando do " -"Windows\", que geralmente parece com isso:" +"Windows\", que geralmente tem esta forma:" #: ../../faq/windows.rst:39 msgid "" @@ -130,33 +124,33 @@ msgstr "" #: ../../faq/windows.rst:84 msgid "" "Many people use the interactive mode as a convenient yet highly programmable " -"calculator. When you want to end your interactive Python session, call the :" -"func:`exit` function or hold the :kbd:`Ctrl` key down while you enter a :kbd:" -"`Z`, then hit the \":kbd:`Enter`\" key to get back to your Windows command " -"prompt." +"calculator. When you want to end your interactive Python session, call " +"the :func:`exit` function or hold the :kbd:`Ctrl` key down while you enter " +"a :kbd:`Z`, then hit the \":kbd:`Enter`\" key to get back to your Windows " +"command prompt." msgstr "" "Muitas pessoas usam o modo interativo como uma calculadora conveniente, mas " "altamente programável. Quando quiser encerrar sua sessão interativa do " -"Python, chame a função :func:`exit` ou mantenha pressionada a tecla :kbd:" -"`Ctrl` enquanto você digita a :kbd:`Z` e pressione a tecla \":kbd:`Enter`\" " -"para voltar ao prompt de comando do Windows." +"Python, chame a função :func:`exit` ou mantenha pressionada a " +"tecla :kbd:`Ctrl` enquanto você digita a :kbd:`Z` e pressione a tecla " +"\":kbd:`Enter`\" para voltar ao prompt de comando do Windows." #: ../../faq/windows.rst:90 msgid "" -"You may also find that you have a Start-menu entry such as :menuselection:" -"`Start --> Programs --> Python 3.x --> Python (command line)` that results " -"in you seeing the ``>>>`` prompt in a new window. If so, the window will " -"disappear after you call the :func:`exit` function or enter the :kbd:`Ctrl-" -"Z` character; Windows is running a single \"python\" command in the window, " -"and closes it when you terminate the interpreter." -msgstr "" -"Você também pode descobrir que você tem um item no Menu Iniciar como :" -"menuselection:`Iniciar --> Programas--> Python 3.x --> Python (linha de " -"comando)` que resultará em você vendo o prompt ``>>>`` em uma nova janela. " -"Se acontecer isso, a janela desaparecerá depois que você chamar a função :" -"func:`exit` ou inserir o caractere :kbd:`Ctrl-Z`; o Windows está executando " -"um único comando \"python\" na janela, e fecha quando você termina o " -"interpretador." +"You may also find that you have a Start-menu entry such " +"as :menuselection:`Start --> Programs --> Python 3.x --> Python (command " +"line)` that results in you seeing the ``>>>`` prompt in a new window. If " +"so, the window will disappear after you call the :func:`exit` function or " +"enter the :kbd:`Ctrl-Z` character; Windows is running a single \"python\" " +"command in the window, and closes it when you terminate the interpreter." +msgstr "" +"Você também pode descobrir que você tem um item no Menu Iniciar " +"como :menuselection:`Iniciar --> Programas--> Python 3.x --> Python (linha " +"de comando)` que resultará em você vendo o prompt ``>>>`` em uma nova " +"janela. Se acontecer isso, a janela desaparecerá depois que você chamar a " +"função :func:`exit` ou inserir o caractere :kbd:`Ctrl-Z`; o Windows está " +"executando um único comando \"python\" na janela, e fecha quando você " +"termina o interpretador." #: ../../faq/windows.rst:97 msgid "" @@ -169,7 +163,7 @@ msgstr "" "Agora que sabemos que o comando ``py`` é reconhecido, você pode dar seu " "script Python para ele. Você terá que dar um caminho absoluto ou relativo " "para o script Python. Vamos dizer que seu script Python está localizado na " -"sua área de trabalho e se chama ``hello.py``, e seu prompt de comando está " +"sua área de trabalho e se chama ``oi.py``, e seu prompt de comando está " "aberto no seu diretório raiz de forma que você está vendo algo similar a::" #: ../../faq/windows.rst:106 @@ -263,8 +257,8 @@ msgid "" msgstr "" "Sim, os arquivos .pyd são dll, mas existem algumas diferenças. Se você " "possui uma DLL chamada ``foo.pyd``, ela deve ter a função ``PyInit_foo()``. " -"Você pode escrever \"import foo\" do Python, e o Python procurará por foo." -"pyd (assim como foo.py, foo.pyc) e, se o encontrar, tentará chamar " +"Você pode escrever \"import foo\" do Python, e o Python procurará por " +"foo.pyd (assim como foo.py, foo.pyc) e, se o encontrar, tentará chamar " "``PyInit_foo()`` para inicializá-lo. Você não vincula seu arquivo .exe ao " "arquivo foo.lib, pois isso faria com que o Windows exigisse a presença da " "DLL." @@ -303,9 +297,10 @@ msgstr "" msgid "" "Do **not** build Python into your .exe file directly. On Windows, Python " "must be a DLL to handle importing modules that are themselves DLL's. (This " -"is the first key undocumented fact.) Instead, link to :file:`python{NN}." -"dll`; it is typically installed in ``C:\\Windows\\System``. *NN* is the " -"Python version, a number such as \"33\" for Python 3.3." +"is the first key undocumented fact.) Instead, link " +"to :file:`python{NN}.dll`; it is typically installed in ``C:" +"\\Windows\\System``. *NN* is the Python version, a number such as \"33\" " +"for Python 3.3." msgstr "" "**Não** compile o Python diretamente em seu arquivo .exe. No Windows, o " "Python deve ser uma DLL para manipular os módulos de importação que são eles " @@ -324,10 +319,10 @@ msgid "" msgstr "" "Você pode vincular ao Python de duas maneiras diferentes. A vinculação em " "tempo de carregamento significa vincular contra :file:`python{NN}.lib`, " -"enquanto a vinculação em tempo de execução significa vincular a :file:" -"`python{NN}.dll`. (Nota geral: :file:`python{NN}.lib` é a chamada \"import " -"lib\" correspondente a :file:`python{NN}.dll`. Apenas define símbolos para o " -"vinculador.)" +"enquanto a vinculação em tempo de execução significa vincular " +"a :file:`python{NN}.dll`. (Nota geral: :file:`python{NN}.lib` é a chamada " +"\"import lib\" correspondente a :file:`python{NN}.dll`. Apenas define " +"símbolos para o ligador.)" #: ../../faq/windows.rst:182 msgid "" @@ -340,13 +335,13 @@ msgid "" "API." msgstr "" "A vinculação em tempo de execução simplifica bastante as opções de " -"vinculação; tudo acontece em tempo de execução. Seu código deve carregar :" -"file:`python{NN}.dll` usando a rotina ``LoadLibraryEx()`` do Windows. O " -"código também deve usar rotinas de acesso e dados em :file:`python{NN}.dll` " -"(ou seja, as APIs C do Python) usando ponteiros obtidos pela rotina " -"``GetProcAddress()`` do Windows. As macros podem tornar o uso desses " -"ponteiros transparente para qualquer código C que chama rotinas na API C do " -"Python." +"vinculação; tudo acontece em tempo de execução. Seu código deve " +"carregar :file:`python{NN}.dll` usando a rotina ``LoadLibraryEx()`` do " +"Windows. O código também deve usar rotinas de acesso e dados " +"em :file:`python{NN}.dll` (ou seja, as APIs C do Python) usando ponteiros " +"obtidos pela rotina ``GetProcAddress()`` do Windows. As macros podem tornar " +"o uso desses ponteiros transparente para qualquer código C que chama rotinas " +"na API C do Python." #: ../../faq/windows.rst:191 msgid "" @@ -382,9 +377,9 @@ msgid "" "calling the initialization function is equivalent to importing the module " "into Python! (This is the second key undocumented fact.)" msgstr "" -"O motivo pelo qual você pode vincular o código C na etapa 2 ao seu arquivo ." -"exe é que chamar a função de inicialização equivale a importar o módulo para " -"o Python! (Este é o segundo fato chave não documentado.)" +"O motivo pelo qual você pode vincular o código C na etapa 2 ao seu " +"arquivo .exe é que chamar a função de inicialização equivale a importar o " +"módulo para o Python! (Este é o segundo fato chave não documentado.)" #: ../../faq/windows.rst:207 msgid "" @@ -420,7 +415,7 @@ msgid "" "Problem 2: SWIG generates the following code when generating wrappers to " "void functions:" msgstr "" -"Problema 2: SWIG gera o seguinte código ao gerar envólucros para funções sem " +"Problema 2: SWIG gera o seguinte código ao gerar invólucros para funções sem " "retorno:" #: ../../faq/windows.rst:235 @@ -482,10 +477,10 @@ msgstr "" #: ../../faq/windows.rst:262 msgid "" "Under any editor, mixing tabs and spaces is a bad idea. MSVC is no " -"different in this respect, and is easily configured to use spaces: Take :" -"menuselection:`Tools --> Options --> Tabs`, and for file type \"Default\" " -"set \"Tab size\" and \"Indent size\" to 4, and select the \"Insert spaces\" " -"radio button." +"different in this respect, and is easily configured to use spaces: " +"Take :menuselection:`Tools --> Options --> Tabs`, and for file type " +"\"Default\" set \"Tab size\" and \"Indent size\" to 4, and select the " +"\"Insert spaces\" radio button." msgstr "" "Sob qualquer editor, misturar tabulações e espaços é uma má ideia. O MSVC " "não é diferente nesse aspecto e é facilmente configurado para usar espaços: " @@ -496,8 +491,8 @@ msgstr "" #: ../../faq/windows.rst:267 msgid "" "Python raises :exc:`IndentationError` or :exc:`TabError` if mixed tabs and " -"spaces are causing problems in leading whitespace. You may also run the :mod:" -"`tabnanny` module to check a directory tree in batch mode." +"spaces are causing problems in leading whitespace. You may also run " +"the :mod:`tabnanny` module to check a directory tree in batch mode." msgstr "" "O Python levanta :exc:`IndentationError` ou :exc:`TabError` se tabulações e " "espaços misturados estiverem causando problemas no espaço em branco à " diff --git a/glossary.po b/glossary.po index 69b733f30..3a6b63fa4 100644 --- a/glossary.po +++ b/glossary.po @@ -1,34 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# felipe caridade , 2021 -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Alexandre B A Villares, 2021 -# Vinicius Gubiani Ferreira , 2021 -# yyyyyyyan , 2021 -# Adorilson Bezerra , 2021 -# David Macedo, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -106,24 +97,25 @@ msgid "" "define interfaces when other techniques like :func:`hasattr` would be clumsy " "or subtly wrong (for example with :ref:`magic methods `). " "ABCs introduce virtual subclasses, which are classes that don't inherit from " -"a class but are still recognized by :func:`isinstance` and :func:" -"`issubclass`; see the :mod:`abc` module documentation. Python comes with " -"many built-in ABCs for data structures (in the :mod:`collections.abc` " -"module), numbers (in the :mod:`numbers` module), streams (in the :mod:`io` " -"module), import finders and loaders (in the :mod:`importlib.abc` module). " -"You can create your own ABCs with the :mod:`abc` module." -msgstr "" -"Classes bases abstratas complementam :term:`tipagem pato `, " -"fornecendo uma maneira de definir interfaces quando outras técnicas, como :" -"func:`hasattr`, seriam desajeitadas ou sutilmente erradas (por exemplo, com :" -"ref:`métodos mágicos `). CBAs introduzem subclasses " -"virtuais, classes que não herdam de uma classe mas ainda são reconhecidas " -"por :func:`isinstance` e :func:`issubclass`; veja a documentação do módulo :" -"mod:`abc`. Python vem com muitas CBAs embutidas para estruturas de dados (no " -"módulo :mod:`collections.abc`), números (no módulo :mod:`numbers`), fluxos " -"(no módulo :mod:`io`), localizadores e carregadores de importação (no " -"módulo :mod:`importlib.abc`). Você pode criar suas próprias CBAs com o " -"módulo :mod:`abc`." +"a class but are still recognized by :func:`isinstance` " +"and :func:`issubclass`; see the :mod:`abc` module documentation. Python " +"comes with many built-in ABCs for data structures (in " +"the :mod:`collections.abc` module), numbers (in the :mod:`numbers` module), " +"streams (in the :mod:`io` module), import finders and loaders (in " +"the :mod:`importlib.abc` module). You can create your own ABCs with " +"the :mod:`abc` module." +msgstr "" +"Classes bases abstratas (ABCs, do inglês *abstract base class*) complementam " +"a :term:`tipagem pato`, fornecendo uma maneira de definir interfaces quando " +"outras técnicas, como :func:`hasattr`, seriam desajeitadas ou sutilmente " +"erradas (por exemplo, com :ref:`métodos mágicos `). ABCs " +"introduzem subclasses virtuais, classes que não herdam de uma classe mas " +"ainda são reconhecidas por :func:`isinstance` e :func:`issubclass`; veja a " +"documentação do módulo :mod:`abc`. Python vem com muitas ABCs embutidas para " +"estruturas de dados (no módulo :mod:`collections.abc`), números (no " +"módulo :mod:`numbers`), fluxos (no módulo :mod:`io`), localizadores e " +"carregadores de importação (no módulo :mod:`importlib.abc`). Você pode criar " +"suas próprias ABCs com o módulo :mod:`abc`." #: ../../glossary.rst:46 msgid "annotation" @@ -145,20 +137,21 @@ msgid "" "in the :attr:`__annotations__` special attribute of modules, classes, and " "functions, respectively." msgstr "" -"Anotações de variáveis ​​locais não podem ser acessadas em tempo de execução, " -"mas anotações de variáveis ​​globais, atributos de classe e funções são " +"Anotações de variáveis locais não podem ser acessadas em tempo de execução, " +"mas anotações de variáveis globais, atributos de classe e funções são " "armazenadas no atributo especial :attr:`__annotations__` de módulos, classes " "e funções, respectivamente." #: ../../glossary.rst:58 msgid "" "See :term:`variable annotation`, :term:`function annotation`, :pep:`484` " -"and :pep:`526`, which describe this functionality. Also see :ref:" -"`annotations-howto` for best practices on working with annotations." +"and :pep:`526`, which describe this functionality. Also " +"see :ref:`annotations-howto` for best practices on working with annotations." msgstr "" -"Veja :term:`anotação de variável`, :term:`anotação de função`, :pep:`484` e :" -"pep:`526`, que descrevem esta funcionalidade. Veja também :ref:`annotations-" -"howto` para as melhores práticas sobre como trabalhar com anotações." +"Veja :term:`anotação de variável`, :term:`anotação de função`, :pep:`484` " +"e :pep:`526`, que descrevem esta funcionalidade. Veja " +"também :ref:`annotations-howto` para as melhores práticas sobre como " +"trabalhar com anotações." #: ../../glossary.rst:62 msgid "argument" @@ -169,8 +162,9 @@ msgid "" "A value passed to a :term:`function` (or :term:`method`) when calling the " "function. There are two kinds of argument:" msgstr "" -"Um valor passado para uma :term:`função` (ou :term:" -"`método`) ao chamar a função. Existem dois tipos de argumento:" +"Um valor passado para uma :term:`função` " +"(ou :term:`método`) ao chamar a função. Existem dois tipos de " +"argumento:" #: ../../glossary.rst:67 msgid "" @@ -180,9 +174,9 @@ msgid "" "following calls to :func:`complex`::" msgstr "" ":dfn:`argumento nomeado`: um argumento precedido por um identificador (por " -"exemplo, ``name=``) na chamada de uma função ou passada como um valor em um " +"exemplo, ``name=``) na chamada de uma função ou passado como um valor em um " "dicionário precedido por ``**``. Por exemplo, ``3`` e ``5`` são ambos " -"argumentos nomeados na chamada da função :func:`complex` a seguir::" +"argumentos nomeados nas chamadas da função :func:`complex` a seguir::" #: ../../glossary.rst:75 msgid "" @@ -193,8 +187,8 @@ msgid "" msgstr "" ":dfn:`argumento posicional`: um argumento que não é um argumento nomeado. " "Argumentos posicionais podem aparecer no início da lista de argumentos e/ou " -"podem ser passados com elementos de um :term:`iterável` precedido " -"por ``*``. Por exemplo, ``3`` e ``5`` são ambos argumentos posicionais nas " +"podem ser passados como elementos de um :term:`iterável` precedidos por " +"``*``. Por exemplo, ``3`` e ``5`` são ambos argumentos posicionais nas " "chamadas a seguir::" #: ../../glossary.rst:84 @@ -206,8 +200,8 @@ msgid "" msgstr "" "Argumentos são atribuídos às variáveis locais nomeadas no corpo da função. " "Veja a seção :ref:`calls` para as regras de atribuição. Sintaticamente, " -"qualquer expressão pode ser usada para representar um argumento; avaliada a " -"expressão, o valor é atribuído à variável local." +"qualquer expressão pode ser usada para representar um argumento; após a " +"expressão ser avaliada, o valor resultante é atribuído à variável local." #: ../../glossary.rst:89 msgid "" @@ -215,9 +209,9 @@ msgid "" "difference between arguments and parameters `, " "and :pep:`362`." msgstr "" -"Veja também o termo :term:`parâmetro` no glossário, a pergunta no FAQ sobre :" -"ref:`a diferença entre argumentos e parâmetros ` " -"e :pep:`362`." +"Veja também o termo :term:`parâmetro` no glossário, a pergunta no FAQ " +"sobre :ref:`a diferença entre argumentos e parâmetros ` e :pep:`362`." #: ../../glossary.rst:92 msgid "asynchronous context manager" @@ -226,12 +220,12 @@ msgstr "gerenciador de contexto assíncrono" #: ../../glossary.rst:94 msgid "" "An object which controls the environment seen in an :keyword:`async with` " -"statement by defining :meth:`__aenter__` and :meth:`__aexit__` methods. " -"Introduced by :pep:`492`." +"statement by defining :meth:`~object.__aenter__` " +"and :meth:`~object.__aexit__` methods. Introduced by :pep:`492`." msgstr "" -"Um objeto que controla o ambiente visto numa instrução :keyword:`async with` " -"por meio da definição dos métodos :meth:`__aenter__` e :meth:`__aexit__`. " -"Introduzido pela :pep:`492`." +"Um objeto que controla o ambiente envolto numa instrução :keyword:`async " +"with` por meio da definição dos métodos :meth:`~object.__aenter__` " +"e :meth:`~object.__aexit__`. Introduzido pela :pep:`492`." #: ../../glossary.rst:97 msgid "asynchronous generator" @@ -279,28 +273,29 @@ msgstr "" #: ../../glossary.rst:115 msgid "" -"This is an :term:`asynchronous iterator` which when called using the :meth:" -"`__anext__` method returns an awaitable object which will execute the body " -"of the asynchronous generator function until the next :keyword:`yield` " -"expression." +"This is an :term:`asynchronous iterator` which when called using " +"the :meth:`~object.__anext__` method returns an awaitable object which will " +"execute the body of the asynchronous generator function until the " +"next :keyword:`yield` expression." msgstr "" -"Este é um :term:`iterador assíncrono` que, quando chamado usando o método :" -"meth:`__anext__`, retorna um objeto aguardável que executará o corpo da " -"função geradora assíncrona até a próxima expressão :keyword:`yield`." +"Este é um :term:`iterador assíncrono` que, quando chamado usando o " +"método :meth:`~object.__anext__`, retorna um objeto aguardável que executará " +"o corpo da função geradora assíncrona até a próxima " +"expressão :keyword:`yield`." #: ../../glossary.rst:120 msgid "" "Each :keyword:`yield` temporarily suspends processing, remembering the " "location execution state (including local variables and pending try-" "statements). When the *asynchronous generator iterator* effectively resumes " -"with another awaitable returned by :meth:`__anext__`, it picks up where it " -"left off. See :pep:`492` and :pep:`525`." +"with another awaitable returned by :meth:`~object.__anext__`, it picks up " +"where it left off. See :pep:`492` and :pep:`525`." msgstr "" "Cada :keyword:`yield` suspende temporariamente o processamento, lembrando o " "estado de execução do local (incluindo variáveis locais e instruções ``try`` " "pendentes). Quando o *iterador gerador assíncrono* é efetivamente retomado " -"com outro aguardável retornado por :meth:`__anext__`, ele inicia de onde " -"parou. Veja :pep:`492` e :pep:`525`." +"com outro aguardável retornado por :meth:`~object.__anext__`, ele inicia de " +"onde parou. Veja :pep:`492` e :pep:`525`." #: ../../glossary.rst:125 msgid "asynchronous iterable" @@ -309,12 +304,12 @@ msgstr "iterável assíncrono" #: ../../glossary.rst:127 msgid "" "An object, that can be used in an :keyword:`async for` statement. Must " -"return an :term:`asynchronous iterator` from its :meth:`__aiter__` method. " -"Introduced by :pep:`492`." +"return an :term:`asynchronous iterator` from its :meth:`~object.__aiter__` " +"method. Introduced by :pep:`492`." msgstr "" "Um objeto que pode ser usado em uma instrução :keyword:`async for`. Deve " -"retornar um :term:`iterador assíncrono` do seu método :meth:`__aiter__`. " -"Introduzido por :pep:`492`." +"retornar um :term:`iterador assíncrono` do seu " +"método :meth:`~object.__aiter__`. Introduzido por :pep:`492`." #: ../../glossary.rst:130 msgid "asynchronous iterator" @@ -322,17 +317,19 @@ msgstr "iterador assíncrono" #: ../../glossary.rst:132 msgid "" -"An object that implements the :meth:`__aiter__` and :meth:`__anext__` " -"methods. ``__anext__`` must return an :term:`awaitable` object. :keyword:" -"`async for` resolves the awaitables returned by an asynchronous iterator's :" -"meth:`__anext__` method until it raises a :exc:`StopAsyncIteration` " -"exception. Introduced by :pep:`492`." -msgstr "" -"Um objeto que implementa os métodos :meth:`__aiter__` e :meth:`__anext__`. " -"``__anext__`` deve retornar um objeto :term:`aguardável `. :" -"keyword:`async for` resolve os aguardáveis retornados por um método :meth:" -"`__anext__` do iterador assíncrono até que ele levante uma exceção :exc:" -"`StopAsyncIteration`. Introduzido pela :pep:`492`." +"An object that implements the :meth:`~object.__aiter__` " +"and :meth:`~object.__anext__` methods. :meth:`~object.__anext__` must " +"return an :term:`awaitable` object. :keyword:`async for` resolves the " +"awaitables returned by an asynchronous iterator's :meth:`~object.__anext__` " +"method until it raises a :exc:`StopAsyncIteration` exception. Introduced " +"by :pep:`492`." +msgstr "" +"Um objeto que implementa os métodos :meth:`~object.__aiter__` " +"e :meth:`~object.__anext__`. :meth:`~object.__anext__` deve retornar um " +"objeto :term:`aguardável `. :keyword:`async for` resolve os " +"aguardáveis retornados por um método :meth:`~object.__anext__` do iterador " +"assíncrono até que ele levante uma exceção :exc:`StopAsyncIteration`. " +"Introduzido pela :pep:`492`." #: ../../glossary.rst:137 msgid "attribute" @@ -351,16 +348,16 @@ msgstr "" #: ../../glossary.rst:144 msgid "" "It is possible to give an object an attribute whose name is not an " -"identifier as defined by :ref:`identifiers`, for example using :func:" -"`setattr`, if the object allows it. Such an attribute will not be accessible " -"using a dotted expression, and would instead need to be retrieved with :func:" -"`getattr`." +"identifier as defined by :ref:`identifiers`, for example " +"using :func:`setattr`, if the object allows it. Such an attribute will not " +"be accessible using a dotted expression, and would instead need to be " +"retrieved with :func:`getattr`." msgstr "" "É possível dar a um objeto um atributo cujo nome não seja um identificador " -"conforme definido por :ref:`identifiers`, por exemplo usando :func:" -"`setattr`, se o objeto permitir. Tal atributo não será acessível usando uma " -"expressão pontilhada e, em vez disso, precisaria ser recuperado com :func:" -"`getattr`." +"conforme definido por :ref:`identifiers`, por exemplo " +"usando :func:`setattr`, se o objeto permitir. Tal atributo não será " +"acessível usando uma expressão pontilhada e, em vez disso, precisaria ser " +"recuperado com :func:`getattr`." #: ../../glossary.rst:149 msgid "awaitable" @@ -368,13 +365,13 @@ msgstr "aguardável" #: ../../glossary.rst:151 msgid "" -"An object that can be used in an :keyword:`await` expression. Can be a :" -"term:`coroutine` or an object with an :meth:`__await__` method. See also :" -"pep:`492`." +"An object that can be used in an :keyword:`await` expression. Can be " +"a :term:`coroutine` or an object with an :meth:`~object.__await__` method. " +"See also :pep:`492`." msgstr "" "Um objeto que pode ser usado em uma expressão :keyword:`await`. Pode ser " -"uma :term:`corrotina` ou um objeto com um método :meth:`__await__`. Veja " -"também a :pep:`492`." +"uma :term:`corrotina` ou um objeto com um método :meth:`~object.__await__`. " +"Veja também a :pep:`492`." #: ../../glossary.rst:154 msgid "BDFL" @@ -382,12 +379,12 @@ msgstr "BDFL" #: ../../glossary.rst:156 msgid "" -"Benevolent Dictator For Life, a.k.a. `Guido van Rossum `_, Python's creator." +"Benevolent Dictator For Life, a.k.a. `Guido van Rossum `_, Python's creator." msgstr "" -"Abreviação da expressão da língua inglesa \"Benevolent Dictator for " -"Life\" (em português, \"Ditador Benevolente Vitalício\"), referindo-se a " -"`Guido van Rossum `_, criador do Python." +"Abreviação da expressão da língua inglesa \"Benevolent Dictator for Life\" " +"(em português, \"Ditador Benevolente Vitalício\"), referindo-se a `Guido van " +"Rossum `_, criador do Python." #: ../../glossary.rst:158 msgid "binary file" @@ -397,20 +394,21 @@ msgstr "arquivo binário" msgid "" "A :term:`file object` able to read and write :term:`bytes-like objects " "`. Examples of binary files are files opened in binary " -"mode (``'rb'``, ``'wb'`` or ``'rb+'``), :data:`sys.stdin.buffer`, :data:`sys." -"stdout.buffer`, and instances of :class:`io.BytesIO` and :class:`gzip." -"GzipFile`." +"mode (``'rb'``, ``'wb'`` or ``'rb+'``), :data:`sys.stdin.buffer " +"`, :data:`sys.stdout.buffer `, and instances " +"of :class:`io.BytesIO` and :class:`gzip.GzipFile`." msgstr "" -"Um :term:`objeto arquivo ` capaz de ler e gravar em :term:" -"`objetos byte ou similar `. Exemplos de arquivos binários " -"são arquivos abertos no modo binário (``'rb'``, ``'wb'`` ou ``'rb+'``), :" -"data:`sys.stdin.buffer`, :data:`sys.stdout.buffer` e instâncias de :class:" -"`io.BytesIO` e :class:`gzip.GzipFile`." +"Um :term:`objeto arquivo ` capaz de ler e gravar " +"em :term:`objetos bytes ou similares `. Exemplos de " +"arquivos binários são arquivos abertos no modo binário (``'rb'``, ``'wb'`` " +"ou ``'rb+'``), :data:`sys.stdin.buffer " +"`, :data:`sys.stdout.buffer `, e instâncias " +"de :class:`io.BytesIO` e :class:`gzip.GzipFile`." #: ../../glossary.rst:167 msgid "" -"See also :term:`text file` for a file object able to read and write :class:" -"`str` objects." +"See also :term:`text file` for a file object able to read and " +"write :class:`str` objects." msgstr "" "Veja também :term:`arquivo texto ` para um objeto arquivo capaz " "de ler e gravar em objetos :class:`str`." @@ -421,73 +419,73 @@ msgstr "referência emprestada" #: ../../glossary.rst:171 msgid "" -"In Python's C API, a borrowed reference is a reference to an object. It does " -"not modify the object reference count. It becomes a dangling pointer if the " -"object is destroyed. For example, a garbage collection can remove the last :" -"term:`strong reference` to the object and so destroy it." +"In Python's C API, a borrowed reference is a reference to an object, where " +"the code using the object does not own the reference. It becomes a dangling " +"pointer if the object is destroyed. For example, a garbage collection can " +"remove the last :term:`strong reference` to the object and so destroy it." msgstr "" -"Na API C do Python, uma referência emprestada é uma referência a um objeto. " -"Ela não modifica a contagem de referências do objeto. Ela se torna um " -"ponteiro pendente se o objeto for destruído. Por exemplo, uma coleta de lixo " -"pode remover a última :term:`referência forte` para o objeto e assim destruí-" -"lo." +"Na API C do Python, uma referência emprestada é uma referência a um objeto " +"que não é dona da referência. Ela se torna um ponteiro solto se o objeto for " +"destruído. Por exemplo, uma coleta de lixo pode remover a " +"última :term:`referência forte` para o objeto e assim destruí-lo." -#: ../../glossary.rst:176 +#: ../../glossary.rst:177 msgid "" "Calling :c:func:`Py_INCREF` on the :term:`borrowed reference` is recommended " "to convert it to a :term:`strong reference` in-place, except when the object " -"cannot be destroyed before the last usage of the borrowed reference. The :c:" -"func:`Py_NewRef` function can be used to create a new :term:`strong " +"cannot be destroyed before the last usage of the borrowed reference. " +"The :c:func:`Py_NewRef` function can be used to create a new :term:`strong " "reference`." msgstr "" "Chamar :c:func:`Py_INCREF` na :term:`referência emprestada` é recomendado " "para convertê-lo, internamente, em uma :term:`referência forte`, exceto " "quando o objeto não pode ser destruído antes do último uso da referência " -"emprestada. A função :c:func:`Py_NewRef` pode ser usada para criar uma nova :" -"term:`referência forte`." +"emprestada. A função :c:func:`Py_NewRef` pode ser usada para criar uma " +"nova :term:`referência forte`." -#: ../../glossary.rst:181 +#: ../../glossary.rst:182 msgid "bytes-like object" -msgstr "objeto byte ou similar" +msgstr "objeto bytes ou similar" -#: ../../glossary.rst:183 +#: ../../glossary.rst:184 msgid "" -"An object that supports the :ref:`bufferobjects` and can export a C-:term:" -"`contiguous` buffer. This includes all :class:`bytes`, :class:`bytearray`, " -"and :class:`array.array` objects, as well as many common :class:`memoryview` " -"objects. Bytes-like objects can be used for various operations that work " -"with binary data; these include compression, saving to a binary file, and " -"sending over a socket." +"An object that supports the :ref:`bufferobjects` and can export a " +"C-:term:`contiguous` buffer. This includes " +"all :class:`bytes`, :class:`bytearray`, and :class:`array.array` objects, as " +"well as many common :class:`memoryview` objects. Bytes-like objects can be " +"used for various operations that work with binary data; these include " +"compression, saving to a binary file, and sending over a socket." msgstr "" -"Um objeto com suporte ao o :ref:`bufferobjects` e que pode exportar um " -"buffer C :term:`contíguo `. Isso inclui todos os objetos :class:" -"`bytes`, :class:`bytearray` e :class:`array.array`, além de muitos objetos :" -"class:`memoryview` comuns. Objetos byte ou similar podem ser usados para " -"várias operações que funcionam com dados binários; isso inclui compactação, " -"salvamento em um arquivo binário e envio por um soquete." +"Um objeto com suporte ao :ref:`bufferobjects` e que pode exportar um buffer " +"C :term:`contíguo`. Isso inclui todos os " +"objetos :class:`bytes`, :class:`bytearray` e :class:`array.array`, além de " +"muitos objetos :class:`memoryview` comuns. Objetos bytes ou similares podem " +"ser usados para várias operações que funcionam com dados binários; isso " +"inclui compactação, salvamento em um arquivo binário e envio por um soquete." -#: ../../glossary.rst:190 +#: ../../glossary.rst:191 msgid "" "Some operations need the binary data to be mutable. The documentation often " "refers to these as \"read-write bytes-like objects\". Example mutable " -"buffer objects include :class:`bytearray` and a :class:`memoryview` of a :" -"class:`bytearray`. Other operations require the binary data to be stored in " -"immutable objects (\"read-only bytes-like objects\"); examples of these " +"buffer objects include :class:`bytearray` and a :class:`memoryview` of " +"a :class:`bytearray`. Other operations require the binary data to be stored " +"in immutable objects (\"read-only bytes-like objects\"); examples of these " "include :class:`bytes` and a :class:`memoryview` of a :class:`bytes` object." msgstr "" "Algumas operações precisam que os dados binários sejam mutáveis. A " -"documentação geralmente se refere a eles como \"objetos byte ou similar para " -"leitura e escrita\". Exemplos de objetos de buffer mutável incluem :class:" -"`bytearray` e um :class:`memoryview` de um :class:`bytearray`. Outras " -"operações exigem que os dados binários sejam armazenados em objetos " -"imutáveis (\"objetos byte ou similar para somente leitura\"); exemplos disso " -"incluem :class:`bytes` e a :class:`memoryview` de um objeto :class:`bytes`." - -#: ../../glossary.rst:198 +"documentação geralmente se refere a eles como \"objetos bytes ou similares " +"para leitura e escrita\". Exemplos de objetos de buffer mutável " +"incluem :class:`bytearray` e um :class:`memoryview` de " +"um :class:`bytearray`. Outras operações exigem que os dados binários sejam " +"armazenados em objetos imutáveis (\"objetos bytes ou similares para somente " +"leitura\"); exemplos disso incluem :class:`bytes` e a :class:`memoryview` de " +"um objeto :class:`bytes`." + +#: ../../glossary.rst:199 msgid "bytecode" msgstr "bytecode" -#: ../../glossary.rst:200 +#: ../../glossary.rst:201 msgid "" "Python source code is compiled into bytecode, the internal representation of " "a Python program in the CPython interpreter. The bytecode is also cached in " @@ -508,19 +506,19 @@ msgstr "" "bytecodes sejam executados entre máquinas virtuais Python diferentes, nem " "que se mantenham estáveis entre versões de Python." -#: ../../glossary.rst:210 +#: ../../glossary.rst:211 msgid "" -"A list of bytecode instructions can be found in the documentation for :ref:" -"`the dis module `." +"A list of bytecode instructions can be found in the documentation " +"for :ref:`the dis module `." msgstr "" -"Uma lista de instruções bytecode pode ser encontrada na documentação para :" -"ref:`o módulo dis `." +"Uma lista de instruções bytecode pode ser encontrada na documentação " +"para :ref:`o módulo dis `." -#: ../../glossary.rst:212 +#: ../../glossary.rst:213 msgid "callable" msgstr "chamável" -#: ../../glossary.rst:214 +#: ../../glossary.rst:215 msgid "" "A callable is an object that can be called, possibly with a set of arguments " "(see :term:`argument`), with the following syntax::" @@ -528,7 +526,7 @@ msgstr "" "Um chamável é um objeto que pode ser chamado, possivelmente com um conjunto " "de argumentos (veja :term:`argumento`), com a seguinte sintaxe::" -#: ../../glossary.rst:219 +#: ../../glossary.rst:220 msgid "" "A :term:`function`, and by extension a :term:`method`, is a callable. An " "instance of a class that implements the :meth:`~object.__call__` method is " @@ -538,11 +536,11 @@ msgstr "" "instância de uma classe que implementa o método :meth:`~object.__call__` " "também é um chamável." -#: ../../glossary.rst:222 +#: ../../glossary.rst:223 msgid "callback" msgstr "função de retorno" -#: ../../glossary.rst:224 +#: ../../glossary.rst:225 msgid "" "A subroutine function which is passed as an argument to be executed at some " "point in the future." @@ -550,11 +548,11 @@ msgstr "" "Também conhecida como callback, é uma função sub-rotina que é passada como " "um argumento a ser executado em algum ponto no futuro." -#: ../../glossary.rst:226 +#: ../../glossary.rst:227 msgid "class" msgstr "classe" -#: ../../glossary.rst:228 +#: ../../glossary.rst:229 msgid "" "A template for creating user-defined objects. Class definitions normally " "contain method definitions which operate on instances of the class." @@ -563,11 +561,11 @@ msgstr "" "classe normalmente contém definições de métodos que operam sobre instâncias " "da classe." -#: ../../glossary.rst:231 +#: ../../glossary.rst:232 msgid "class variable" msgstr "variável de classe" -#: ../../glossary.rst:233 +#: ../../glossary.rst:234 msgid "" "A variable defined in a class and intended to be modified only at class " "level (i.e., not in an instance of the class)." @@ -575,11 +573,11 @@ msgstr "" "Uma variável definida em uma classe e destinada a ser modificada apenas no " "nível da classe (ou seja, não em uma instância da classe)." -#: ../../glossary.rst:235 +#: ../../glossary.rst:236 msgid "complex number" msgstr "número complexo" -#: ../../glossary.rst:237 +#: ../../glossary.rst:238 msgid "" "An extension of the familiar real number system in which all numbers are " "expressed as a sum of a real part and an imaginary part. Imaginary numbers " @@ -603,24 +601,25 @@ msgstr "" "sabe se irá precisar deles, é quase certo que você pode ignorá-los sem " "problemas." -#: ../../glossary.rst:247 +#: ../../glossary.rst:248 msgid "context manager" msgstr "gerenciador de contexto" -#: ../../glossary.rst:249 +#: ../../glossary.rst:250 msgid "" "An object which controls the environment seen in a :keyword:`with` statement " -"by defining :meth:`__enter__` and :meth:`__exit__` methods. See :pep:`343`." +"by defining :meth:`~object.__enter__` and :meth:`~object.__exit__` methods. " +"See :pep:`343`." msgstr "" "Um objeto que controla o ambiente visto numa instrução :keyword:`with` por " -"meio da definição dos métodos :meth:`__enter__` e :meth:`__exit__`. Veja :" -"pep:`343`." +"meio da definição dos métodos :meth:`~object.__enter__` " +"e :meth:`~object.__exit__`. Veja :pep:`343`." -#: ../../glossary.rst:252 +#: ../../glossary.rst:253 msgid "context variable" msgstr "variável de contexto" -#: ../../glossary.rst:254 +#: ../../glossary.rst:255 msgid "" "A variable which can have different values depending on its context. This is " "similar to Thread-Local Storage in which each execution thread may have a " @@ -636,11 +635,11 @@ msgstr "" "variáveis de contexto é acompanhar as variáveis em tarefas assíncronas " "simultâneas. Veja :mod:`contextvars`." -#: ../../glossary.rst:261 +#: ../../glossary.rst:262 msgid "contiguous" msgstr "contíguo" -#: ../../glossary.rst:265 +#: ../../glossary.rst:266 msgid "" "A buffer is considered contiguous exactly if it is either *C-contiguous* or " "*Fortran contiguous*. Zero-dimensional buffers are C and Fortran " @@ -658,11 +657,11 @@ msgstr "" "visitar itens em ordem de endereço de memória. No entanto, nos vetores " "contíguos do Fortran, o primeiro índice varia mais rapidamente." -#: ../../glossary.rst:273 +#: ../../glossary.rst:274 msgid "coroutine" msgstr "corrotina" -#: ../../glossary.rst:275 +#: ../../glossary.rst:276 msgid "" "Coroutines are a more generalized form of subroutines. Subroutines are " "entered at one point and exited at another point. Coroutines can be " @@ -674,27 +673,27 @@ msgstr "" "entrar, sair, e continuar em muitos pontos diferentes. Elas podem ser " "implementadas com a instrução :keyword:`async def`. Veja também :pep:`492`." -#: ../../glossary.rst:280 +#: ../../glossary.rst:281 msgid "coroutine function" msgstr "função de corrotina" -#: ../../glossary.rst:282 +#: ../../glossary.rst:283 msgid "" "A function which returns a :term:`coroutine` object. A coroutine function " -"may be defined with the :keyword:`async def` statement, and may contain :" -"keyword:`await`, :keyword:`async for`, and :keyword:`async with` keywords. " -"These were introduced by :pep:`492`." +"may be defined with the :keyword:`async def` statement, and may " +"contain :keyword:`await`, :keyword:`async for`, and :keyword:`async with` " +"keywords. These were introduced by :pep:`492`." msgstr "" "Uma função que retorna um objeto do tipo :term:`corrotina`. Uma função de " "corrotina pode ser definida com a instrução :keyword:`async def`, e pode " -"conter as palavras chaves :keyword:`await`, :keyword:`async for`, e :keyword:" -"`async with`. Isso foi introduzido pela :pep:`492`." +"conter as palavras chaves :keyword:`await`, :keyword:`async for`, " +"e :keyword:`async with`. Isso foi introduzido pela :pep:`492`." -#: ../../glossary.rst:287 +#: ../../glossary.rst:288 msgid "CPython" msgstr "CPython" -#: ../../glossary.rst:289 +#: ../../glossary.rst:290 msgid "" "The canonical implementation of the Python programming language, as " "distributed on `python.org `_. The term \"CPython\" " @@ -706,11 +705,11 @@ msgstr "" "\"CPython\" é usado quando necessário distinguir esta implementação de " "outras como Jython ou IronPython." -#: ../../glossary.rst:293 +#: ../../glossary.rst:294 msgid "decorator" msgstr "decorador" -#: ../../glossary.rst:295 +#: ../../glossary.rst:296 msgid "" "A function returning another function, usually applied as a function " "transformation using the ``@wrapper`` syntax. Common examples for " @@ -720,7 +719,7 @@ msgstr "" "transformação de função usando a sintaxe ``@wrapper``. Exemplos comuns para " "decoradores são :func:`classmethod` e :func:`staticmethod`." -#: ../../glossary.rst:299 +#: ../../glossary.rst:300 msgid "" "The decorator syntax is merely syntactic sugar, the following two function " "definitions are semantically equivalent::" @@ -728,7 +727,7 @@ msgstr "" "A sintaxe do decorador é meramente um açúcar sintático, as duas definições " "de funções a seguir são semanticamente equivalentes::" -#: ../../glossary.rst:310 +#: ../../glossary.rst:311 msgid "" "The same concept exists for classes, but is less commonly used there. See " "the documentation for :ref:`function definitions ` and :ref:`class " @@ -738,25 +737,27 @@ msgstr "" "a documentação de :ref:`definições de função ` e :ref:`definições " "de classe ` para obter mais informações sobre decoradores." -#: ../../glossary.rst:313 +#: ../../glossary.rst:314 msgid "descriptor" msgstr "descritor" -#: ../../glossary.rst:315 +#: ../../glossary.rst:316 msgid "" -"Any object which defines the methods :meth:`__get__`, :meth:`__set__`, or :" -"meth:`__delete__`. When a class attribute is a descriptor, its special " -"binding behavior is triggered upon attribute lookup. Normally, using *a.b* " -"to get, set or delete an attribute looks up the object named *b* in the " -"class dictionary for *a*, but if *b* is a descriptor, the respective " +"Any object which defines the " +"methods :meth:`~object.__get__`, :meth:`~object.__set__`, " +"or :meth:`~object.__delete__`. When a class attribute is a descriptor, its " +"special binding behavior is triggered upon attribute lookup. Normally, " +"using *a.b* to get, set or delete an attribute looks up the object named *b* " +"in the class dictionary for *a*, but if *b* is a descriptor, the respective " "descriptor method gets called. Understanding descriptors is a key to a deep " "understanding of Python because they are the basis for many features " "including functions, methods, properties, class methods, static methods, and " "reference to super classes." msgstr "" -"Qualquer objeto que define os métodos :meth:`__get__`, :meth:`__set__` ou :" -"meth:`__delete__`. Quando um atributo de classe é um descritor, seu " -"comportamento de associação especial é acionado no acesso a um atributo. " +"Qualquer objeto que define os " +"métodos :meth:`~object.__get__`, :meth:`~object.__set__` " +"ou :meth:`~object.__delete__`. Quando um atributo de classe é um descritor, " +"seu comportamento de associação especial é acionado no acesso a um atributo. " "Normalmente, ao se utilizar *a.b* para se obter, definir ou excluir, um " "atributo dispara uma busca no objeto chamado *b* no dicionário de classe de " "*a*, mas se *b* for um descritor, o respectivo método descritor é chamado. " @@ -765,34 +766,34 @@ msgstr "" "propriedades, métodos de classe, métodos estáticos e referências para " "superclasses." -#: ../../glossary.rst:325 +#: ../../glossary.rst:327 msgid "" "For more information about descriptors' methods, see :ref:`descriptors` or " "the :ref:`Descriptor How To Guide `." msgstr "" -"Para obter mais informações sobre os métodos dos descritores, veja: :ref:" -"`descriptors` ou o :ref:`Guia de Descritores `." +"Para obter mais informações sobre os métodos dos descritores, " +"veja: :ref:`descriptors` ou o :ref:`Guia de Descritores `." -#: ../../glossary.rst:327 +#: ../../glossary.rst:329 msgid "dictionary" msgstr "dicionário" -#: ../../glossary.rst:329 +#: ../../glossary.rst:331 msgid "" "An associative array, where arbitrary keys are mapped to values. The keys " -"can be any object with :meth:`__hash__` and :meth:`__eq__` methods. Called a " -"hash in Perl." +"can be any object with :meth:`~object.__hash__` and :meth:`~object.__eq__` " +"methods. Called a hash in Perl." msgstr "" "Um vetor associativo em que chaves arbitrárias são mapeadas para valores. As " -"chaves podem ser quaisquer objetos que possuam os métodos :meth:`__hash__` " -"e :meth:`__eq__`. Dicionários são estruturas chamadas de hash na linguagem " -"Perl." +"chaves podem ser quaisquer objetos que possuam os " +"métodos :meth:`~object.__hash__` e :meth:`~object.__eq__`. Isso é chamado de " +"hash em Perl." -#: ../../glossary.rst:332 +#: ../../glossary.rst:335 msgid "dictionary comprehension" msgstr "compreensão de dicionário" -#: ../../glossary.rst:334 +#: ../../glossary.rst:337 msgid "" "A compact way to process all or part of the elements in an iterable and " "return a dictionary with the results. ``results = {n: n ** 2 for n in " @@ -804,59 +805,59 @@ msgstr "" "for n in range(10)}`` gera um dicionário contendo a chave ``n`` mapeada para " "o valor ``n ** 2``. Veja :ref:`comprehensions`." -#: ../../glossary.rst:338 +#: ../../glossary.rst:341 msgid "dictionary view" msgstr "visão de dicionário" -#: ../../glossary.rst:340 +#: ../../glossary.rst:343 msgid "" -"The objects returned from :meth:`dict.keys`, :meth:`dict.values`, and :meth:" -"`dict.items` are called dictionary views. They provide a dynamic view on the " -"dictionary’s entries, which means that when the dictionary changes, the view " -"reflects these changes. To force the dictionary view to become a full list " -"use ``list(dictview)``. See :ref:`dict-views`." +"The objects returned from :meth:`dict.keys`, :meth:`dict.values`, " +"and :meth:`dict.items` are called dictionary views. They provide a dynamic " +"view on the dictionary’s entries, which means that when the dictionary " +"changes, the view reflects these changes. To force the dictionary view to " +"become a full list use ``list(dictview)``. See :ref:`dict-views`." msgstr "" -"Os objetos retornados por :meth:`dict.keys`, :meth:`dict.values` e :meth:" -"`dict.items` são chamados de visões de dicionário. Eles fornecem uma visão " -"dinâmica das entradas do dicionário, o que significa que quando o dicionário " -"é alterado, a visão reflete essas alterações. Para forçar a visão de " -"dicionário a se tornar uma lista completa use ``list(dictview)``. Veja :ref:" -"`dict-views`." +"Os objetos retornados por :meth:`dict.keys`, :meth:`dict.values` " +"e :meth:`dict.items` são chamados de visões de dicionário. Eles fornecem uma " +"visão dinâmica das entradas do dicionário, o que significa que quando o " +"dicionário é alterado, a visão reflete essas alterações. Para forçar a visão " +"de dicionário a se tornar uma lista completa use ``list(dictview)``. " +"Veja :ref:`dict-views`." -#: ../../glossary.rst:346 +#: ../../glossary.rst:349 msgid "docstring" msgstr "docstring" -#: ../../glossary.rst:348 +#: ../../glossary.rst:351 msgid "" "A string literal which appears as the first expression in a class, function " "or module. While ignored when the suite is executed, it is recognized by " -"the compiler and put into the :attr:`__doc__` attribute of the enclosing " +"the compiler and put into the :attr:`!__doc__` attribute of the enclosing " "class, function or module. Since it is available via introspection, it is " "the canonical place for documentation of the object." msgstr "" "Abreviatura de \"documentation string\" (string de documentação). Uma string " "literal que aparece como primeira expressão numa classe, função ou módulo. " "Ainda que sejam ignoradas quando a suíte é executada, é reconhecida pelo " -"compilador que a coloca no atributo :attr:`__doc__` da classe, função ou " +"compilador que a coloca no atributo :attr:`!__doc__` da classe, função ou " "módulo que a encapsula. Como ficam disponíveis por meio de introspecção, " "docstrings são o lugar canônico para documentação do objeto." -#: ../../glossary.rst:354 +#: ../../glossary.rst:357 msgid "duck-typing" msgstr "tipagem pato" -#: ../../glossary.rst:356 +#: ../../glossary.rst:359 msgid "" "A programming style which does not look at an object's type to determine if " "it has the right interface; instead, the method or attribute is simply " "called or used (\"If it looks like a duck and quacks like a duck, it must be " "a duck.\") By emphasizing interfaces rather than specific types, well-" "designed code improves its flexibility by allowing polymorphic " -"substitution. Duck-typing avoids tests using :func:`type` or :func:" -"`isinstance`. (Note, however, that duck-typing can be complemented with :" -"term:`abstract base classes `.) Instead, it typically " -"employs :func:`hasattr` tests or :term:`EAFP` programming." +"substitution. Duck-typing avoids tests using :func:`type` " +"or :func:`isinstance`. (Note, however, that duck-typing can be complemented " +"with :term:`abstract base classes `.) Instead, it " +"typically employs :func:`hasattr` tests or :term:`EAFP` programming." msgstr "" "Também conhecida como *duck-typing*, é um estilo de programação que não " "verifica o tipo do objeto para determinar se ele possui a interface correta; " @@ -864,17 +865,17 @@ msgstr "" "se parece com um pato e grasna como um pato, então deve ser um pato.\") " "Enfatizando interfaces ao invés de tipos específicos, o código bem " "desenvolvido aprimora sua flexibilidade por permitir substituição " -"polimórfica. Tipagem pato evita necessidade de testes que usem :func:`type` " -"ou :func:`isinstance`. (Note, porém, que a tipagem pato pode ser " -"complementada com o uso de :term:`classes base abstratas `.) Ao invés disso, são normalmente empregados testes :func:`hasattr` " -"ou programação :term:`EAFP`." +"polimórfica. Tipagem pato evita a necessidade de testes que " +"usem :func:`type` ou :func:`isinstance`. (Note, porém, que a tipagem pato " +"pode ser complementada pelo uso de :term:`classes base abstratas `. Em vez disso, normalmente são empregados " +"testes :func:`hasattr` ou a programação :term:`EAFP`." -#: ../../glossary.rst:365 +#: ../../glossary.rst:368 msgid "EAFP" msgstr "EAFP" -#: ../../glossary.rst:367 +#: ../../glossary.rst:370 msgid "" "Easier to ask for forgiveness than permission. This common Python coding " "style assumes the existence of valid keys or attributes and catches " @@ -885,17 +886,17 @@ msgid "" msgstr "" "Iniciais da expressão em inglês \"easier to ask for forgiveness than " "permission\" que significa \"é mais fácil pedir perdão que permissão\". Este " -"estilo de codificação comum em Python assume a existência de chaves ou " +"estilo de codificação comum no Python presume a existência de chaves ou " "atributos válidos e captura exceções caso essa premissa se prove falsa. Este " -"estilo limpo e rápido se caracteriza pela presença de várias instruções :" -"keyword:`try` e :keyword:`except`. A técnica diverge do estilo :term:`LBYL`, " -"comum em outras linguagens como C, por exemplo." +"estilo limpo e rápido se caracteriza pela presença de várias " +"instruções :keyword:`try` e :keyword:`except`. A técnica diverge do " +"estilo :term:`LBYL`, comum em outras linguagens como C, por exemplo." -#: ../../glossary.rst:373 +#: ../../glossary.rst:376 msgid "expression" msgstr "expressão" -#: ../../glossary.rst:375 +#: ../../glossary.rst:378 msgid "" "A piece of syntax which can be evaluated to some value. In other words, an " "expression is an accumulation of expression elements like literals, names, " @@ -909,16 +910,16 @@ msgstr "" "palavras, uma expressão é a acumulação de elementos de expressão como " "literais, nomes, atributos de acesso, operadores ou chamadas de funções, " "todos os quais retornam um valor. Em contraste com muitas outras linguagens, " -"nem todas as construções de linguagem são expressões. Também existem :term:" -"`instruções `, as quais não podem ser usadas como expressões, " -"como, por exemplo, :keyword:`while`. Atribuições também são instruções, não " -"expressões." +"nem todas as construções de linguagem são expressões. Também " +"existem :term:`instruções `, as quais não podem ser usadas como " +"expressões, como, por exemplo, :keyword:`while`. Atribuições também são " +"instruções, não expressões." -#: ../../glossary.rst:382 +#: ../../glossary.rst:385 msgid "extension module" msgstr "módulo de extensão" -#: ../../glossary.rst:384 +#: ../../glossary.rst:387 msgid "" "A module written in C or C++, using Python's C API to interact with the core " "and with user code." @@ -926,11 +927,11 @@ msgstr "" "Um módulo escrito em C ou C++, usando a API C do Python para interagir tanto " "com código de usuário quanto do núcleo." -#: ../../glossary.rst:386 +#: ../../glossary.rst:389 msgid "f-string" msgstr "f-string" -#: ../../glossary.rst:388 +#: ../../glossary.rst:391 msgid "" "String literals prefixed with ``'f'`` or ``'F'`` are commonly called \"f-" "strings\" which is short for :ref:`formatted string literals `. " @@ -940,28 +941,28 @@ msgstr "" "strings\" que é uma abreviação de :ref:`formatted string literals `. Veja também :pep:`498`." -#: ../../glossary.rst:391 +#: ../../glossary.rst:394 msgid "file object" msgstr "objeto arquivo" -#: ../../glossary.rst:393 +#: ../../glossary.rst:396 msgid "" -"An object exposing a file-oriented API (with methods such as :meth:`read()` " -"or :meth:`write()`) to an underlying resource. Depending on the way it was " +"An object exposing a file-oriented API (with methods such as :meth:`!read` " +"or :meth:`!write`) to an underlying resource. Depending on the way it was " "created, a file object can mediate access to a real on-disk file or to " "another type of storage or communication device (for example standard input/" "output, in-memory buffers, sockets, pipes, etc.). File objects are also " "called :dfn:`file-like objects` or :dfn:`streams`." msgstr "" -"Um objeto que expõe uma API orientada a arquivos (com métodos tais como :" -"meth:`read()` ou :meth:`write()`) para um recurso subjacente. Dependendo da " -"maneira como foi criado, um objeto arquivo pode mediar o acesso a um arquivo " -"real no disco ou outro tipo de dispositivo de armazenamento ou de " +"Um objeto que expõe uma API orientada a arquivos (com métodos tais " +"como :meth:`!read` ou :meth:`!write`) para um recurso subjacente. Dependendo " +"da maneira como foi criado, um objeto arquivo pode mediar o acesso a um " +"arquivo real no disco ou outro tipo de dispositivo de armazenamento ou de " "comunicação (por exemplo a entrada/saída padrão, buffers em memória, " "soquetes, pipes, etc.). Objetos arquivo também são chamados de :dfn:`objetos " "arquivo ou similares` ou :dfn:`fluxos`." -#: ../../glossary.rst:401 +#: ../../glossary.rst:404 msgid "" "There are actually three categories of file objects: raw :term:`binary files " "`, buffered :term:`binary files ` and :term:`text " @@ -970,24 +971,24 @@ msgid "" "function." msgstr "" "Atualmente há três categorias de objetos arquivo: :term:`arquivos binários " -"` brutos, :term:`arquivos binários ` em buffer e :" -"term:`arquivos textos `. Suas interfaces estão definidas no " +"` brutos, :term:`arquivos binários ` em buffer " +"e :term:`arquivos textos `. Suas interfaces estão definidas no " "módulo :mod:`io`. A forma canônica para criar um objeto arquivo é usando a " "função :func:`open`." -#: ../../glossary.rst:406 +#: ../../glossary.rst:409 msgid "file-like object" msgstr "objeto arquivo ou similar" -#: ../../glossary.rst:408 +#: ../../glossary.rst:411 msgid "A synonym for :term:`file object`." msgstr "Um sinônimo do termo :term:`objeto arquivo`." -#: ../../glossary.rst:409 +#: ../../glossary.rst:412 msgid "filesystem encoding and error handler" msgstr "tratador de erros e codificação do sistema de arquivos" -#: ../../glossary.rst:411 +#: ../../glossary.rst:414 msgid "" "Encoding and error handler used by Python to decode bytes from the operating " "system and encode Unicode to the operating system." @@ -995,7 +996,7 @@ msgstr "" "Tratador de erros e codificação usado pelo Python para decodificar bytes do " "sistema operacional e codificar Unicode para o sistema operacional." -#: ../../glossary.rst:414 +#: ../../glossary.rst:417 msgid "" "The filesystem encoding must guarantee to successfully decode all bytes " "below 128. If the file system encoding fails to provide this guarantee, API " @@ -1003,40 +1004,40 @@ msgid "" msgstr "" "A codificação do sistema de arquivos deve garantir a decodificação bem-" "sucedida de todos os bytes abaixo de 128. Se a codificação do sistema de " -"arquivos falhar em fornecer essa garantia, as funções da API podem levantar :" -"exc:`UnicodeError`." +"arquivos falhar em fornecer essa garantia, as funções da API podem " +"levantar :exc:`UnicodeError`." -#: ../../glossary.rst:418 +#: ../../glossary.rst:421 msgid "" -"The :func:`sys.getfilesystemencoding` and :func:`sys." -"getfilesystemencodeerrors` functions can be used to get the filesystem " -"encoding and error handler." +"The :func:`sys.getfilesystemencoding` " +"and :func:`sys.getfilesystemencodeerrors` functions can be used to get the " +"filesystem encoding and error handler." msgstr "" -"As funções :func:`sys.getfilesystemencoding` e :func:`sys." -"getfilesystemencodeerrors` podem ser usadas para obter o tratador de erros e " -"codificação do sistema de arquivos." +"As funções :func:`sys.getfilesystemencoding` " +"e :func:`sys.getfilesystemencodeerrors` podem ser usadas para obter o " +"tratador de erros e codificação do sistema de arquivos." -#: ../../glossary.rst:422 +#: ../../glossary.rst:425 msgid "" "The :term:`filesystem encoding and error handler` are configured at Python " -"startup by the :c:func:`PyConfig_Read` function: see :c:member:`~PyConfig." -"filesystem_encoding` and :c:member:`~PyConfig.filesystem_errors` members of :" -"c:type:`PyConfig`." +"startup by the :c:func:`PyConfig_Read` function: " +"see :c:member:`~PyConfig.filesystem_encoding` " +"and :c:member:`~PyConfig.filesystem_errors` members of :c:type:`PyConfig`." msgstr "" "O :term:`tratador de erros e codificação do sistema de arquivos` são " "configurados na inicialização do Python pela função :c:func:`PyConfig_Read`: " -"veja os membros :c:member:`~PyConfig.filesystem_encoding` e :c:member:" -"`~PyConfig.filesystem_errors` do :c:type:`PyConfig`." +"veja os membros :c:member:`~PyConfig.filesystem_encoding` " +"e :c:member:`~PyConfig.filesystem_errors` do :c:type:`PyConfig`." -#: ../../glossary.rst:427 +#: ../../glossary.rst:430 msgid "See also the :term:`locale encoding`." msgstr "Veja também :term:`codificação da localidade`." -#: ../../glossary.rst:428 +#: ../../glossary.rst:431 msgid "finder" msgstr "localizador" -#: ../../glossary.rst:430 +#: ../../glossary.rst:433 msgid "" "An object that tries to find the :term:`loader` for a module that is being " "imported." @@ -1044,26 +1045,26 @@ msgstr "" "Um objeto que tenta encontrar o :term:`carregador` para um módulo que está " "sendo importado." -#: ../../glossary.rst:433 +#: ../../glossary.rst:436 msgid "" "Since Python 3.3, there are two types of finder: :term:`meta path finders " "` for use with :data:`sys.meta_path`, and :term:`path " "entry finders ` for use with :data:`sys.path_hooks`." msgstr "" "Desde o Python 3.3, existem dois tipos de localizador: :term:`localizadores " -"de metacaminho ` para uso com :data:`sys.meta_path`, e :" -"term:`localizadores de entrada de caminho ` para uso com :" -"data:`sys.path_hooks`." +"de metacaminho ` para uso com :data:`sys.meta_path`, " +"e :term:`localizadores de entrada de caminho ` para uso " +"com :data:`sys.path_hooks`." -#: ../../glossary.rst:437 +#: ../../glossary.rst:440 msgid "See :pep:`302`, :pep:`420` and :pep:`451` for much more detail." msgstr "Veja :pep:`302`, :pep:`420` e :pep:`451` para mais informações." -#: ../../glossary.rst:438 +#: ../../glossary.rst:441 msgid "floor division" msgstr "divisão pelo piso" -#: ../../glossary.rst:440 +#: ../../glossary.rst:443 msgid "" "Mathematical division that rounds down to nearest integer. The floor " "division operator is ``//``. For example, the expression ``11 // 4`` " @@ -1077,31 +1078,31 @@ msgstr "" "de ponto flutuante. Note que ``(-11) // 4`` é ``-3`` porque é ``-2.75`` " "arredondado *para baixo*. Consulte a :pep:`238`." -#: ../../glossary.rst:445 +#: ../../glossary.rst:448 msgid "function" msgstr "função" -#: ../../glossary.rst:447 +#: ../../glossary.rst:450 msgid "" "A series of statements which returns some value to a caller. It can also be " "passed zero or more :term:`arguments ` which may be used in the " -"execution of the body. See also :term:`parameter`, :term:`method`, and the :" -"ref:`function` section." +"execution of the body. See also :term:`parameter`, :term:`method`, and " +"the :ref:`function` section." msgstr "" "Uma série de instruções que retorna algum valor para um chamador. Também " "pode ser passado zero ou mais :term:`argumentos ` que podem ser " "usados na execução do corpo. Veja também :term:`parâmetro`, :term:`método` e " "a seção :ref:`function`." -#: ../../glossary.rst:451 +#: ../../glossary.rst:454 msgid "function annotation" msgstr "anotação de função" -#: ../../glossary.rst:453 +#: ../../glossary.rst:456 msgid "An :term:`annotation` of a function parameter or return value." msgstr "Uma :term:`anotação` de um parâmetro de função ou valor de retorno." -#: ../../glossary.rst:455 +#: ../../glossary.rst:458 msgid "" "Function annotations are usually used for :term:`type hints `: " "for example, this function is expected to take two :class:`int` arguments " @@ -1111,11 +1112,11 @@ msgstr "" "hint>`: por exemplo, essa função espera receber dois argumentos :class:`int` " "e também é esperado que devolva um valor :class:`int`::" -#: ../../glossary.rst:463 +#: ../../glossary.rst:466 msgid "Function annotation syntax is explained in section :ref:`function`." msgstr "A sintaxe de anotação de função é explicada na seção :ref:`function`." -#: ../../glossary.rst:465 +#: ../../glossary.rst:468 msgid "" "See :term:`variable annotation` and :pep:`484`, which describe this " "functionality. Also see :ref:`annotations-howto` for best practices on " @@ -1125,16 +1126,16 @@ msgstr "" "funcionalidade. Veja também :ref:`annotations-howto` para as melhores " "práticas sobre como trabalhar com anotações." -#: ../../glossary.rst:469 +#: ../../glossary.rst:472 msgid "__future__" msgstr "__future__" -#: ../../glossary.rst:471 +#: ../../glossary.rst:474 msgid "" "A :ref:`future statement `, ``from __future__ import ``, " "directs the compiler to compile the current module using syntax or semantics " -"that will become standard in a future release of Python. The :mod:" -"`__future__` module documents the possible values of *feature*. By " +"that will become standard in a future release of Python. " +"The :mod:`__future__` module documents the possible values of *feature*. By " "importing this module and evaluating its variables, you can see when a new " "feature was first added to the language and when it will (or did) become the " "default::" @@ -1146,11 +1147,11 @@ msgstr "" "avaliando suas variáveis, você pode ver quando um novo recurso foi " "inicialmente adicionado à linguagem e quando será (ou se já é) o padrão::" -#: ../../glossary.rst:482 +#: ../../glossary.rst:485 msgid "garbage collection" msgstr "coleta de lixo" -#: ../../glossary.rst:484 +#: ../../glossary.rst:487 msgid "" "The process of freeing memory when it is not used anymore. Python performs " "garbage collection via reference counting and a cyclic garbage collector " @@ -1163,11 +1164,11 @@ msgstr "" "é capaz de detectar e interromper referências cíclicas. O coletor de lixo " "pode ser controlado usando o módulo :mod:`gc`." -#: ../../glossary.rst:490 ../../glossary.rst:489 +#: ../../glossary.rst:492 ../../glossary.rst:493 msgid "generator" msgstr "gerador" -#: ../../glossary.rst:492 +#: ../../glossary.rst:495 msgid "" "A function which returns a :term:`generator iterator`. It looks like a " "normal function except that it contains :keyword:`yield` expressions for " @@ -1175,12 +1176,12 @@ msgid "" "one at a time with the :func:`next` function." msgstr "" "Uma função que retorna um :term:`iterador gerador `. É " -"parecida com uma função normal, exceto pelo fato de conter expressões :" -"keyword:`yield` para produzir uma série de valores que podem ser usados em " -"um laço \"for\" ou que podem ser obtidos um de cada vez com a função :func:" -"`next`." +"parecida com uma função normal, exceto pelo fato de conter " +"expressões :keyword:`yield` para produzir uma série de valores que podem ser " +"usados em um laço \"for\" ou que podem ser obtidos um de cada vez com a " +"função :func:`next`." -#: ../../glossary.rst:497 +#: ../../glossary.rst:500 msgid "" "Usually refers to a generator function, but may refer to a *generator " "iterator* in some contexts. In cases where the intended meaning isn't " @@ -1190,15 +1191,15 @@ msgstr "" "*iterador gerador* em alguns contextos. Em alguns casos onde o significado " "desejado não está claro, usar o termo completo evita ambiguidade." -#: ../../glossary.rst:500 +#: ../../glossary.rst:503 msgid "generator iterator" msgstr "iterador gerador" -#: ../../glossary.rst:502 +#: ../../glossary.rst:505 msgid "An object created by a :term:`generator` function." msgstr "Um objeto criado por uma função :term:`geradora `." -#: ../../glossary.rst:504 +#: ../../glossary.rst:507 msgid "" "Each :keyword:`yield` temporarily suspends processing, remembering the " "location execution state (including local variables and pending try-" @@ -1211,11 +1212,11 @@ msgstr "" "ponto onde estava (em contrapartida as funções que iniciam uma nova execução " "a cada vez que são invocadas)." -#: ../../glossary.rst:511 ../../glossary.rst:510 +#: ../../glossary.rst:513 ../../glossary.rst:514 msgid "generator expression" msgstr "expressão geradora" -#: ../../glossary.rst:513 +#: ../../glossary.rst:516 msgid "" "An expression that returns an iterator. It looks like a normal expression " "followed by a :keyword:`!for` clause defining a loop variable, range, and an " @@ -1227,11 +1228,11 @@ msgstr "" "uma cláusula :keyword:`!if` opcional. A expressão combinada gera valores " "para uma função encapsuladora::" -#: ../../glossary.rst:520 +#: ../../glossary.rst:523 msgid "generic function" msgstr "função genérica" -#: ../../glossary.rst:522 +#: ../../glossary.rst:525 msgid "" "A function composed of multiple functions implementing the same operation " "for different types. Which implementation should be used during a call is " @@ -1241,49 +1242,50 @@ msgstr "" "diferentes tipos. Qual implementação deverá ser usada durante a execução é " "determinada pelo algoritmo de despacho." -#: ../../glossary.rst:526 +#: ../../glossary.rst:529 msgid "" -"See also the :term:`single dispatch` glossary entry, the :func:`functools." -"singledispatch` decorator, and :pep:`443`." +"See also the :term:`single dispatch` glossary entry, " +"the :func:`functools.singledispatch` decorator, and :pep:`443`." msgstr "" -"Veja também a entrada :term:`despacho único` no glossário, o decorador :func:" -"`functools.singledispatch`, e a :pep:`443`." +"Veja também a entrada :term:`despacho único` no glossário, o " +"decorador :func:`functools.singledispatch`, e a :pep:`443`." -#: ../../glossary.rst:528 +#: ../../glossary.rst:531 msgid "generic type" msgstr "tipo genérico" -#: ../../glossary.rst:530 +#: ../../glossary.rst:533 msgid "" "A :term:`type` that can be parameterized; typically a :ref:`container " -"class` such as :class:`list` or :class:`dict`. Used for :" -"term:`type hints ` and :term:`annotations `." +"class` such as :class:`list` or :class:`dict`. Used " +"for :term:`type hints ` and :term:`annotations `." msgstr "" "Um :term:`tipo` que pode ser parametrizado; tipicamente uma :ref:`classe " "contêiner` tal como :class:`list` ou :class:`dict`. Usado " "para :term:`dicas de tipo ` e :term:`anotações `." -#: ../../glossary.rst:535 +#: ../../glossary.rst:538 msgid "" -"For more details, see :ref:`generic alias types`, :pep:" -"`483`, :pep:`484`, :pep:`585`, and the :mod:`typing` module." +"For more details, see :ref:`generic alias types`, :pep:`483`, :pep:`484`, :pep:`585`, and the :mod:`typing` " +"module." msgstr "" -"Para mais detalhes, veja :ref:`tipo apelido genérico `, :" -"pep:`483`, :pep:`484`, :pep:`585`, e o módulo :mod:`typing`." +"Para mais detalhes, veja :ref:`tipo apelido genérico `, :pep:`483`, :pep:`484`, :pep:`585`, e o módulo :mod:`typing`." -#: ../../glossary.rst:537 +#: ../../glossary.rst:540 msgid "GIL" msgstr "GIL" -#: ../../glossary.rst:539 +#: ../../glossary.rst:542 msgid "See :term:`global interpreter lock`." -msgstr "Veja :term:`bloqueio global do interpretador`." +msgstr "Veja :term:`trava global do interpretador`." -#: ../../glossary.rst:540 +#: ../../glossary.rst:543 msgid "global interpreter lock" -msgstr "bloqueio global do interpretador" +msgstr "trava global do interpretador" -#: ../../glossary.rst:542 +#: ../../glossary.rst:545 msgid "" "The mechanism used by the :term:`CPython` interpreter to assure that only " "one thread executes Python :term:`bytecode` at a time. This simplifies the " @@ -1298,10 +1300,10 @@ msgstr "" "a implementação do CPython ao fazer com que o modelo de objetos (incluindo " "tipos embutidos críticos como o :class:`dict`) ganhem segurança implícita " "contra acesso concorrente. Travar todo o interpretador facilita que o " -"interpretador em si seja multitarefa, às custas de muito do paralelismo já " -"provido por máquinas multiprocessador." +"interpretador em si seja multithread, às custas de muito do paralelismo já " +"provido por máquinas com multiprocessadores." -#: ../../glossary.rst:551 +#: ../../glossary.rst:554 msgid "" "However, some extension modules, either standard or third-party, are " "designed so as to release the GIL when doing computationally intensive tasks " @@ -1309,11 +1311,12 @@ msgid "" "I/O." msgstr "" "No entanto, alguns módulos de extensão, tanto da biblioteca padrão quanto de " -"terceiros, são desenvolvidos de forma a liberar o GIL ao realizar tarefas " -"computacionalmente muito intensas, como compactação ou cálculos de hash. " -"Além disso, o GIL é sempre liberado nas operações de E/S." +"terceiros, são desenvolvidos de forma a liberar a GIL (do inglês, global " +"interpreter lock) ao realizar tarefas computacionalmente muito intensas, " +"como compactação ou cálculos de hash. Além disso, a GIL é sempre liberada " +"nas operações de E/S." -#: ../../glossary.rst:556 +#: ../../glossary.rst:559 msgid "" "Past efforts to create a \"free-threaded\" interpreter (one which locks " "shared data at a much finer granularity) have not been successful because " @@ -1328,11 +1331,11 @@ msgstr "" "desempenho acabaria tornando a implementação muito mais complicada e bem " "mais difícil de manter." -#: ../../glossary.rst:562 +#: ../../glossary.rst:565 msgid "hash-based pyc" msgstr "pyc baseado em hash" -#: ../../glossary.rst:564 +#: ../../glossary.rst:567 msgid "" "A bytecode cache file that uses the hash rather than the last-modified time " "of the corresponding source file to determine its validity. See :ref:`pyc-" @@ -1342,23 +1345,24 @@ msgstr "" "arquivo de código-fonte foi modificado pela última vez, para determinar a " "sua validade. Veja :ref:`pyc-invalidation`." -#: ../../glossary.rst:567 +#: ../../glossary.rst:570 msgid "hashable" msgstr "hasheável" -#: ../../glossary.rst:569 +#: ../../glossary.rst:572 msgid "" "An object is *hashable* if it has a hash value which never changes during " -"its lifetime (it needs a :meth:`__hash__` method), and can be compared to " -"other objects (it needs an :meth:`__eq__` method). Hashable objects which " -"compare equal must have the same hash value." +"its lifetime (it needs a :meth:`~object.__hash__` method), and can be " +"compared to other objects (it needs an :meth:`~object.__eq__` method). " +"Hashable objects which compare equal must have the same hash value." msgstr "" "Um objeto é *hasheável* se tem um valor de hash que nunca muda durante seu " -"ciclo de vida (precisa ter um método :meth:`__hash__`) e pode ser comparado " -"com outros objetos (precisa ter um método :meth:`__eq__`). Objetos " -"hasheáveis que são comparados como iguais devem ter o mesmo valor de hash." +"ciclo de vida (precisa ter um método :meth:`~object.__hash__`) e pode ser " +"comparado com outros objetos (precisa ter um método :meth:`~object.__eq__`). " +"Objetos hasheáveis que são comparados como iguais devem ter o mesmo valor de " +"hash." -#: ../../glossary.rst:574 +#: ../../glossary.rst:578 msgid "" "Hashability makes an object usable as a dictionary key and a set member, " "because these data structures use the hash value internally." @@ -1367,7 +1371,7 @@ msgstr "" "dicionário e como um membro de conjunto, pois estas estruturas de dados " "utilizam os valores de hash internamente." -#: ../../glossary.rst:577 +#: ../../glossary.rst:581 msgid "" "Most of Python's immutable built-in objects are hashable; mutable containers " "(such as lists or dictionaries) are not; immutable containers (such as " @@ -1376,33 +1380,32 @@ msgid "" "default. They all compare unequal (except with themselves), and their hash " "value is derived from their :func:`id`." msgstr "" -"A maioria dos objetos embutidos imutáveis do Python são hasheáveis; " -"containers mutáveis (tais como listas ou dicionários) não são; containers " -"imutáveis (tais como tuplas e frozensets) são hasheáveis apenas se os seus " -"elementos são hasheáveis. Objetos que são instâncias de classes definidas " -"pelo usuário são hasheáveis por padrão. Todos eles comparam de forma " -"desigual (exceto entre si mesmos), e o seu valor hash é derivado a partir do " -"seu :func:`id`." +"A maioria dos objetos embutidos imutáveis do Python é hasheável; contêineres " +"mutáveis (tais como listas ou dicionários) não são; contêineres imutáveis " +"(tais como tuplas e frozensets) são hasheáveis apenas se seus elementos " +"também o são. Objetos que são instâncias de classes definidas pelo usuário " +"são hasheáveis por padrão. Todos eles comparam de forma desigual (exceto " +"entre si mesmos), e o valor de hash é derivado do :func:`id`." -#: ../../glossary.rst:584 +#: ../../glossary.rst:588 msgid "IDLE" msgstr "IDLE" -#: ../../glossary.rst:586 +#: ../../glossary.rst:590 msgid "" "An Integrated Development and Learning Environment for Python. :ref:`idle` " "is a basic editor and interpreter environment which ships with the standard " "distribution of Python." msgstr "" -"Um ambiente de desenvolvimento e aprendizado integrado para Python. :ref:" -"`idle` é um editor básico e um ambiente interpretador que vem junto com a " -"distribuição padrão do Python." +"Um ambiente de desenvolvimento e aprendizado integrado para " +"Python. :ref:`idle` é um editor básico e um ambiente interpretador que vem " +"junto com a distribuição padrão do Python." -#: ../../glossary.rst:589 +#: ../../glossary.rst:593 msgid "immutable" msgstr "imutável" -#: ../../glossary.rst:591 +#: ../../glossary.rst:595 msgid "" "An object with a fixed value. Immutable objects include numbers, strings " "and tuples. Such an object cannot be altered. A new object has to be " @@ -1416,11 +1419,11 @@ msgstr "" "têm um papel importante em lugares onde um valor constante de hash seja " "necessário, como por exemplo uma chave em um dicionário." -#: ../../glossary.rst:596 +#: ../../glossary.rst:600 msgid "import path" msgstr "caminho de importação" -#: ../../glossary.rst:598 +#: ../../glossary.rst:602 msgid "" "A list of locations (or :term:`path entries `) that are searched " "by the :term:`path based finder` for modules to import. During import, this " @@ -1433,11 +1436,11 @@ msgstr "" "partir de :data:`sys.path`, mas para subpacotes ela também pode vir do " "atributo ``__path__`` de pacotes-pai." -#: ../../glossary.rst:603 +#: ../../glossary.rst:607 msgid "importing" msgstr "importação" -#: ../../glossary.rst:605 +#: ../../glossary.rst:609 msgid "" "The process by which Python code in one module is made available to Python " "code in another module." @@ -1445,23 +1448,23 @@ msgstr "" "O processo pelo qual o código Python em um módulo é disponibilizado para o " "código Python em outro módulo." -#: ../../glossary.rst:607 +#: ../../glossary.rst:611 msgid "importer" msgstr "importador" -#: ../../glossary.rst:609 +#: ../../glossary.rst:613 msgid "" -"An object that both finds and loads a module; both a :term:`finder` and :" -"term:`loader` object." +"An object that both finds and loads a module; both a :term:`finder` " +"and :term:`loader` object." msgstr "" "Um objeto que localiza e carrega um módulo; Tanto um :term:`localizador` e o " "objeto :term:`carregador`." -#: ../../glossary.rst:611 +#: ../../glossary.rst:615 msgid "interactive" msgstr "interativo" -#: ../../glossary.rst:613 +#: ../../glossary.rst:617 msgid "" "Python has an interactive interpreter which means you can enter statements " "and expressions at the interpreter prompt, immediately execute them and see " @@ -1477,11 +1480,11 @@ msgstr "" "de testar novas ideias ou aprender mais sobre módulos e pacotes (lembre-se " "do comando ``help(x)``)." -#: ../../glossary.rst:619 +#: ../../glossary.rst:623 msgid "interpreted" msgstr "interpretado" -#: ../../glossary.rst:621 +#: ../../glossary.rst:625 msgid "" "Python is an interpreted language, as opposed to a compiled one, though the " "distinction can be blurry because of the presence of the bytecode compiler. " @@ -1499,20 +1502,20 @@ msgstr "" "geralmente serem executados mais lentamente. Veja também :term:`interativo " "`." -#: ../../glossary.rst:628 +#: ../../glossary.rst:632 msgid "interpreter shutdown" msgstr "desligamento do interpretador" -#: ../../glossary.rst:630 +#: ../../glossary.rst:634 msgid "" "When asked to shut down, the Python interpreter enters a special phase where " "it gradually releases all allocated resources, such as modules and various " -"critical internal structures. It also makes several calls to the :term:" -"`garbage collector `. This can trigger the execution of " -"code in user-defined destructors or weakref callbacks. Code executed during " -"the shutdown phase can encounter various exceptions as the resources it " -"relies on may not function anymore (common examples are library modules or " -"the warnings machinery)." +"critical internal structures. It also makes several calls to " +"the :term:`garbage collector `. This can trigger the " +"execution of code in user-defined destructors or weakref callbacks. Code " +"executed during the shutdown phase can encounter various exceptions as the " +"resources it relies on may not function anymore (common examples are library " +"modules or the warnings machinery)." msgstr "" "Quando solicitado para desligar, o interpretador Python entra em uma fase " "especial, onde ele gradualmente libera todos os recursos alocados, tais como " @@ -1524,7 +1527,7 @@ msgstr "" "depende podem não funcionar mais (exemplos comuns são os módulos de " "bibliotecas, ou os mecanismos de avisos)." -#: ../../glossary.rst:639 +#: ../../glossary.rst:643 msgid "" "The main reason for interpreter shutdown is that the ``__main__`` module or " "the script being run has finished executing." @@ -1532,102 +1535,107 @@ msgstr "" "A principal razão para o interpretador desligar, é que o módulo ``__main__`` " "ou o script sendo executado terminou sua execução." -#: ../../glossary.rst:641 +#: ../../glossary.rst:645 msgid "iterable" msgstr "iterável" -#: ../../glossary.rst:643 +#: ../../glossary.rst:647 msgid "" "An object capable of returning its members one at a time. Examples of " "iterables include all sequence types (such as :class:`list`, :class:`str`, " -"and :class:`tuple`) and some non-sequence types like :class:`dict`, :term:" -"`file objects `, and objects of any classes you define with an :" -"meth:`__iter__` method or with a :meth:`__getitem__` method that implements :" -"term:`sequence` semantics." +"and :class:`tuple`) and some non-sequence types " +"like :class:`dict`, :term:`file objects `, and objects of any " +"classes you define with an :meth:`~iterator.__iter__` method or with " +"a :meth:`~object.__getitem__` method that implements :term:`sequence` " +"semantics." msgstr "" "Um objeto capaz de retornar seus membros um de cada vez. Exemplos de " -"iteráveis incluem todos os tipos de sequência (tais como :class:`list`, :" -"class:`str` e :class:`tuple`) e alguns tipos de não-sequência, como o :class:" -"`dict`, :term:`objetos arquivos `, além dos objetos de " -"quaisquer classes que você definir com um método :meth:`__iter__` ou :meth:" -"`__getitem__` que implementam a semântica de :term:`sequência` ." +"iteráveis incluem todos os tipos de sequência (tais " +"como :class:`list`, :class:`str` e :class:`tuple`) e alguns tipos de não-" +"sequência, como o :class:`dict`, :term:`objetos arquivos `, " +"além dos objetos de quaisquer classes que você definir com um " +"método :meth:`~iterator.__iter__` ou :meth:`~object.__getitem__` que " +"implementam a semântica de :term:`sequência` ." -#: ../../glossary.rst:650 +#: ../../glossary.rst:655 msgid "" "Iterables can be used in a :keyword:`for` loop and in many other places " "where a sequence is needed (:func:`zip`, :func:`map`, ...). When an " -"iterable object is passed as an argument to the built-in function :func:" -"`iter`, it returns an iterator for the object. This iterator is good for " -"one pass over the set of values. When using iterables, it is usually not " -"necessary to call :func:`iter` or deal with iterator objects yourself. The " -"``for`` statement does that automatically for you, creating a temporary " -"unnamed variable to hold the iterator for the duration of the loop. See " -"also :term:`iterator`, :term:`sequence`, and :term:`generator`." +"iterable object is passed as an argument to the built-in " +"function :func:`iter`, it returns an iterator for the object. This iterator " +"is good for one pass over the set of values. When using iterables, it is " +"usually not necessary to call :func:`iter` or deal with iterator objects " +"yourself. The :keyword:`for` statement does that automatically for you, " +"creating a temporary unnamed variable to hold the iterator for the duration " +"of the loop. See also :term:`iterator`, :term:`sequence`, " +"and :term:`generator`." msgstr "" "Iteráveis podem ser usados em um laço :keyword:`for` e em vários outros " "lugares em que uma sequência é necessária (:func:`zip`, :func:`map`, ...). " -"Quando um objeto iterável é passado como argumento para a função nativa :" -"func:`iter`, ela retorna um iterador para o objeto. Este iterador é adequado " -"para se varrer todo o conjunto de valores. Ao usar iteráveis, normalmente " -"não é necessário chamar :func:`iter` ou lidar com os objetos iteradores em " -"si. A instrução ``for`` faz isso automaticamente para você, criando uma " -"variável temporária para armazenar o iterador durante a execução do laço. " -"Veja também :term:`iterador`, :term:`sequência`, e :term:`gerador`." - -#: ../../glossary.rst:660 +"Quando um objeto iterável é passado como argumento para a função " +"embutida :func:`iter`, ela retorna um iterador para o objeto. Este iterador " +"é adequado para se varrer todo o conjunto de valores. Ao usar iteráveis, " +"normalmente não é necessário chamar :func:`iter` ou lidar com os objetos " +"iteradores em si. A instrução :keyword:`for` faz isso automaticamente para " +"você, criando uma variável temporária para armazenar o iterador durante a " +"execução do laço. Veja também :term:`iterador`, :term:`sequência`, " +"e :term:`gerador`." + +#: ../../glossary.rst:665 msgid "iterator" msgstr "iterador" -#: ../../glossary.rst:662 -msgid "" -"An object representing a stream of data. Repeated calls to the iterator's :" -"meth:`~iterator.__next__` method (or passing it to the built-in function :" -"func:`next`) return successive items in the stream. When no more data are " -"available a :exc:`StopIteration` exception is raised instead. At this " -"point, the iterator object is exhausted and any further calls to its :meth:" -"`__next__` method just raise :exc:`StopIteration` again. Iterators are " -"required to have an :meth:`__iter__` method that returns the iterator object " -"itself so every iterator is also iterable and may be used in most places " -"where other iterables are accepted. One notable exception is code which " -"attempts multiple iteration passes. A container object (such as a :class:" -"`list`) produces a fresh new iterator each time you pass it to the :func:" -"`iter` function or use it in a :keyword:`for` loop. Attempting this with an " -"iterator will just return the same exhausted iterator object used in the " -"previous iteration pass, making it appear like an empty container." -msgstr "" -"Um objeto que representa um fluxo de dados. Repetidas chamadas ao método :" -"meth:`~iterator.__next__` de um iterador (ou passando o objeto para a função " -"embutida :func:`next`) vão retornar itens sucessivos do fluxo. Quando não " -"houver mais dados disponíveis uma exceção :exc:`StopIteration` será " -"levantada. Neste ponto, o objeto iterador se esgotou e quaisquer chamadas " -"subsequentes a seu método :meth:`__next__` vão apenas levantar a exceção :" -"exc:`StopIteration` novamente. Iteradores precisam ter um método :meth:" -"`__iter__` que retorne o objeto iterador em si, de forma que todo iterador " -"também é iterável e pode ser usado na maioria dos lugares em que um iterável " -"é requerido. Uma notável exceção é código que tenta realizar passagens em " -"múltiplas iterações. Um objeto contêiner (como uma :class:`list`) produz um " -"novo iterador a cada vez que você passá-lo para a função :func:`iter` ou " -"utilizá-lo em um laço :keyword:`for`. Tentar isso com o mesmo iterador " -"apenas iria retornar o mesmo objeto iterador esgotado já utilizado na " -"iteração anterior, como se fosse um contêiner vazio." - -#: ../../glossary.rst:677 +#: ../../glossary.rst:667 +msgid "" +"An object representing a stream of data. Repeated calls to the " +"iterator's :meth:`~iterator.__next__` method (or passing it to the built-in " +"function :func:`next`) return successive items in the stream. When no more " +"data are available a :exc:`StopIteration` exception is raised instead. At " +"this point, the iterator object is exhausted and any further calls to " +"its :meth:`!__next__` method just raise :exc:`StopIteration` again. " +"Iterators are required to have an :meth:`~iterator.__iter__` method that " +"returns the iterator object itself so every iterator is also iterable and " +"may be used in most places where other iterables are accepted. One notable " +"exception is code which attempts multiple iteration passes. A container " +"object (such as a :class:`list`) produces a fresh new iterator each time you " +"pass it to the :func:`iter` function or use it in a :keyword:`for` loop. " +"Attempting this with an iterator will just return the same exhausted " +"iterator object used in the previous iteration pass, making it appear like " +"an empty container." +msgstr "" +"Um objeto que representa um fluxo de dados. Repetidas chamadas ao " +"método :meth:`~iterator.__next__` de um iterador (ou passando o objeto para " +"a função embutida :func:`next`) vão retornar itens sucessivos do fluxo. " +"Quando não houver mais dados disponíveis uma exceção :exc:`StopIteration` " +"será levantada. Neste ponto, o objeto iterador se esgotou e quaisquer " +"chamadas subsequentes a seu método :meth:`!__next__` vão apenas levantar a " +"exceção :exc:`StopIteration` novamente. Iteradores precisam ter um " +"método :meth:`~iterator.__iter__` que retorne o objeto iterador em si, de " +"forma que todo iterador também é iterável e pode ser usado na maioria dos " +"lugares em que um iterável é requerido. Uma notável exceção é código que " +"tenta realizar passagens em múltiplas iterações. Um objeto contêiner (como " +"uma :class:`list`) produz um novo iterador a cada vez que você passá-lo para " +"a função :func:`iter` ou utilizá-lo em um laço :keyword:`for`. Tentar isso " +"com o mesmo iterador apenas iria retornar o mesmo objeto iterador esgotado " +"já utilizado na iteração anterior, como se fosse um contêiner vazio." + +#: ../../glossary.rst:682 msgid "More information can be found in :ref:`typeiter`." msgstr "Mais informações podem ser encontradas em :ref:`typeiter`." -#: ../../glossary.rst:681 +#: ../../glossary.rst:686 msgid "" -"CPython does not consistently apply the requirement that an iterator define :" -"meth:`__iter__`." +"CPython does not consistently apply the requirement that an iterator " +"define :meth:`~iterator.__iter__`." msgstr "" -"O CPython não aplica consistentemente o requisito que um iterador define :" -"meth:`__iter__`." +"O CPython não aplica consistentemente o requisito que um iterador " +"define :meth:`~iterator.__iter__`." -#: ../../glossary.rst:683 +#: ../../glossary.rst:688 msgid "key function" msgstr "função chave" -#: ../../glossary.rst:685 +#: ../../glossary.rst:690 msgid "" "A key function or collation function is a callable that returns a value used " "for sorting or ordering. For example, :func:`locale.strxfrm` is used to " @@ -1638,50 +1646,52 @@ msgstr "" "para produzir uma chave de ordenação que leva o locale em consideração para " "fins de ordenação." -#: ../../glossary.rst:690 +#: ../../glossary.rst:695 msgid "" "A number of tools in Python accept key functions to control how elements are " -"ordered or grouped. They include :func:`min`, :func:`max`, :func:`sorted`, :" -"meth:`list.sort`, :func:`heapq.merge`, :func:`heapq.nsmallest`, :func:`heapq." -"nlargest`, and :func:`itertools.groupby`." -msgstr "" -"Uma porção de ferramentas em Python aceitam funções chave para controlar " -"como os elementos são ordenados ou agrupados. Algumas delas incluem :func:" -"`min`, :func:`max`, :func:`sorted`, :meth:`list.sort`, :func:`heapq.merge`, :" -"func:`heapq.nsmallest`, :func:`heapq.nlargest` e :func:`itertools.groupby`." - -#: ../../glossary.rst:696 -msgid "" -"There are several ways to create a key function. For example. the :meth:" -"`str.lower` method can serve as a key function for case insensitive sorts. " -"Alternatively, a key function can be built from a :keyword:`lambda` " -"expression such as ``lambda r: (r[0], r[2])``. Also, :func:`operator." -"attrgetter`, :func:`operator.itemgetter`, and :func:`operator.methodcaller` " -"are three key function constructors. See the :ref:`Sorting HOW TO " -"` for examples of how to create and use key functions." -msgstr "" -"Há várias maneiras de se criar funções chave. Por exemplo, o método :meth:" -"`str.lower` pode servir como uma função chave para ordenações insensíveis à " -"caixa. Alternativamente, uma função chave ad-hoc pode ser construída a " -"partir de uma expressão :keyword:`lambda`, como ``lambda r: (r[0], r[2])``. " -"Além disso, :func:`operator.attrgetter`, :func:`operator.itemgetter` e :func:" -"`operator.methodcaller` são três construtores de função chave. Consulte o :" -"ref:`HowTo de Ordenação ` para ver exemplos de como criar e " -"utilizar funções chave." - -#: ../../glossary.rst:703 +"ordered or grouped. They " +"include :func:`min`, :func:`max`, :func:`sorted`, :meth:`list.sort`, :func:`heapq.merge`, :func:`heapq.nsmallest`, :func:`heapq.nlargest`, " +"and :func:`itertools.groupby`." +msgstr "" +"Uma porção de ferramentas no Python aceitam funções chave para controlar " +"como os elementos são ordenados ou agrupados. Algumas delas " +"incluem :func:`min`, :func:`max`, :func:`sorted`, :meth:`list.sort`, :func:`heapq.merge`, :func:`heapq.nsmallest`, :func:`heapq.nlargest` " +"e :func:`itertools.groupby`." + +#: ../../glossary.rst:701 +msgid "" +"There are several ways to create a key function. For example. " +"the :meth:`str.lower` method can serve as a key function for case " +"insensitive sorts. Alternatively, a key function can be built from " +"a :keyword:`lambda` expression such as ``lambda r: (r[0], r[2])``. " +"Also, :func:`operator.attrgetter`, :func:`operator.itemgetter`, " +"and :func:`operator.methodcaller` are three key function constructors. See " +"the :ref:`Sorting HOW TO ` for examples of how to create and " +"use key functions." +msgstr "" +"Há várias maneiras de se criar funções chave. Por exemplo, o " +"método :meth:`str.lower` pode servir como uma função chave para ordenações " +"insensíveis à caixa. Alternativamente, uma função chave ad-hoc pode ser " +"construída a partir de uma expressão :keyword:`lambda`, como ``lambda r: " +"(r[0], r[2])``. Além " +"disso, :func:`operator.attrgetter`, :func:`operator.itemgetter` " +"e :func:`operator.methodcaller` são três construtores de função chave. " +"Consulte o guia de :ref:`Ordenação ` para ver exemplos de como " +"criar e utilizar funções chave." + +#: ../../glossary.rst:708 msgid "keyword argument" msgstr "argumento nomeado" -#: ../../glossary.rst:705 ../../glossary.rst:994 +#: ../../glossary.rst:710 ../../glossary.rst:1001 msgid "See :term:`argument`." msgstr "Veja :term:`argumento`." -#: ../../glossary.rst:706 +#: ../../glossary.rst:711 msgid "lambda" msgstr "lambda" -#: ../../glossary.rst:708 +#: ../../glossary.rst:713 msgid "" "An anonymous inline function consisting of a single :term:`expression` which " "is evaluated when the function is called. The syntax to create a lambda " @@ -1691,11 +1701,11 @@ msgstr "" "é avaliada quando a função é chamada. A sintaxe para criar uma função lambda " "é ``lambda [parameters]: expression``" -#: ../../glossary.rst:711 +#: ../../glossary.rst:716 msgid "LBYL" msgstr "LBYL" -#: ../../glossary.rst:713 +#: ../../glossary.rst:718 msgid "" "Look before you leap. This coding style explicitly tests for pre-conditions " "before making calls or lookups. This style contrasts with the :term:`EAFP` " @@ -1708,7 +1718,7 @@ msgstr "" "contrasta com a abordagem :term:`EAFP` e é caracterizada pela presença de " "muitas instruções :keyword:`if`." -#: ../../glossary.rst:718 +#: ../../glossary.rst:723 msgid "" "In a multi-threaded environment, the LBYL approach can risk introducing a " "race condition between \"the looking\" and \"the leaping\". For example, " @@ -1720,61 +1730,27 @@ msgstr "" "uma condição de corrida entre \"o olhar\" e \"o pisar\". Por exemplo, o " "código ``if key in mapping: return mapping[key]`` pode falhar se outra " "thread remover *key* do *mapping* após o teste, mas antes da olhada. Esse " -"problema pode ser resolvido com bloqueios ou usando a abordagem EAFP." - -#: ../../glossary.rst:723 -msgid "locale encoding" -msgstr "codificação da localidade" - -#: ../../glossary.rst:725 -msgid "" -"On Unix, it is the encoding of the LC_CTYPE locale. It can be set with :func:" -"`locale.setlocale(locale.LC_CTYPE, new_locale) `." -msgstr "" -"No Unix, é a codificação da localidade do LC_CTYPE, que pode ser definida " -"com :func:`locale.setlocale(locale.LC_CTYPE, new_locale) `." +"problema pode ser resolvido com travas ou usando a abordagem EAFP." #: ../../glossary.rst:728 -msgid "On Windows, it is the ANSI code page (ex: ``\"cp1252\"``)." -msgstr "No Windows, é a página de código ANSI (ex: ``\"cp1252\"``)." - -#: ../../glossary.rst:730 -msgid "" -"On Android and VxWorks, Python uses ``\"utf-8\"`` as the locale encoding." -msgstr "" -"No Android e no VxWorks, o Python usa ``\"utf-8\"`` como a codificação da " -"localidade." - -#: ../../glossary.rst:732 -msgid "``locale.getencoding()`` can be used to get the locale encoding." -msgstr "" -"``locale.getencoding()`` pode ser usado para obter da codificação da " -"localidade." - -#: ../../glossary.rst:734 -msgid "See also the :term:`filesystem encoding and error handler`." -msgstr "" -"Veja também :term:`tratador de erros e codificação do sistema de arquivos`." - -#: ../../glossary.rst:735 msgid "list" msgstr "lista" -#: ../../glossary.rst:737 +#: ../../glossary.rst:730 msgid "" "A built-in Python :term:`sequence`. Despite its name it is more akin to an " "array in other languages than to a linked list since access to elements is " -"O(1)." +"*O*\\ (1)." msgstr "" "Uma :term:`sequência` embutida no Python. Apesar do seu nome, é mais próximo " "de um vetor em outras linguagens do que uma lista encadeada, como o acesso " -"aos elementos é da ordem O(1)." +"aos elementos é da ordem *O*\\ (1)." -#: ../../glossary.rst:740 +#: ../../glossary.rst:733 msgid "list comprehension" msgstr "compreensão de lista" -#: ../../glossary.rst:742 +#: ../../glossary.rst:735 msgid "" "A compact way to process all or part of the elements in a sequence and " "return a list with the results. ``result = ['{:#04x}'.format(x) for x in " @@ -1783,71 +1759,106 @@ msgid "" "optional. If omitted, all elements in ``range(256)`` are processed." msgstr "" "Uma maneira compacta de processar todos ou parte dos elementos de uma " -"sequência e retornar os resultados em uma lista. ``result = ['{:#04x}'." -"format(x) for x in range(256) if x % 2 == 0]`` gera uma lista de strings " -"contendo números hexadecimais (0x..) no intervalo de 0 a 255. A cláusula :" -"keyword:`if` é opcional. Se omitida, todos os elementos no ``range(256)`` " -"serão processados." +"sequência e retornar os resultados em uma lista. ``result = " +"['{:#04x}'.format(x) for x in range(256) if x % 2 == 0]`` gera uma lista de " +"strings contendo números hexadecimais (0x..) no intervalo de 0 a 255. A " +"cláusula :keyword:`if` é opcional. Se omitida, todos os elementos no " +"``range(256)`` serão processados." -#: ../../glossary.rst:748 +#: ../../glossary.rst:741 msgid "loader" msgstr "carregador" -#: ../../glossary.rst:750 +#: ../../glossary.rst:743 +msgid "" +"An object that loads a module. It must define a method " +"named :meth:`load_module`. A loader is typically returned by " +"a :term:`finder`. See :pep:`302` for details " +"and :class:`importlib.abc.Loader` for an :term:`abstract base class`." +msgstr "" +"Um objeto que carrega um módulo. Deve definir um método " +"chamado :meth:`load_module`. Um carregador é normalmente devolvido por " +"um :term:`localizador`. Veja a :pep:`302` para detalhes " +"e :class:`importlib.abc.Loader` para um :term:`classe base abstrata`." + +#: ../../glossary.rst:747 +msgid "locale encoding" +msgstr "codificação da localidade" + +#: ../../glossary.rst:749 msgid "" -"An object that loads a module. It must define a method named :meth:" -"`load_module`. A loader is typically returned by a :term:`finder`. See :pep:" -"`302` for details and :class:`importlib.abc.Loader` for an :term:`abstract " -"base class`." +"On Unix, it is the encoding of the LC_CTYPE locale. It can be set " +"with :func:`locale.setlocale(locale.LC_CTYPE, new_locale) " +"`." msgstr "" -"Um objeto que carrega um módulo. Deve definir um método chamado :meth:" -"`load_module`. Um carregador é normalmente devolvido por um :term:" -"`localizador`. Veja a :pep:`302` para detalhes e :class:`importlib.abc." -"Loader` para um :term:`classe base abstrata`." +"No Unix, é a codificação da localidade do LC_CTYPE, que pode ser definida " +"com :func:`locale.setlocale(locale.LC_CTYPE, new_locale) `." + +#: ../../glossary.rst:752 +msgid "On Windows, it is the ANSI code page (ex: ``\"cp1252\"``)." +msgstr "No Windows, é a página de código ANSI (ex: ``\"cp1252\"``)." #: ../../glossary.rst:754 +msgid "" +"On Android and VxWorks, Python uses ``\"utf-8\"`` as the locale encoding." +msgstr "" +"No Android e no VxWorks, o Python usa ``\"utf-8\"`` como a codificação da " +"localidade." + +#: ../../glossary.rst:756 +msgid ":func:`locale.getencoding` can be used to get the locale encoding." +msgstr "" +":func:`locale.getencoding` pode ser usado para obter a codificação da " +"localidade." + +#: ../../glossary.rst:758 +msgid "See also the :term:`filesystem encoding and error handler`." +msgstr "" +"Veja também :term:`tratador de erros e codificação do sistema de arquivos`." + +#: ../../glossary.rst:759 msgid "magic method" msgstr "método mágico" -#: ../../glossary.rst:758 +#: ../../glossary.rst:763 msgid "An informal synonym for :term:`special method`." msgstr "Um sinônimo informal para um :term:`método especial`." -#: ../../glossary.rst:759 +#: ../../glossary.rst:764 msgid "mapping" msgstr "mapeamento" -#: ../../glossary.rst:761 +#: ../../glossary.rst:766 msgid "" "A container object that supports arbitrary key lookups and implements the " -"methods specified in the :class:`collections.abc.Mapping` or :class:" -"`collections.abc.MutableMapping` :ref:`abstract base classes `. Examples include :class:`dict`, :class:" -"`collections.defaultdict`, :class:`collections.OrderedDict` and :class:" -"`collections.Counter`." -msgstr "" -"Um objeto contêiner que tem suporte a pesquisas de chave arbitrária e " -"implementa os métodos especificados nas :class:`collections.abc.Mapping` ou :" -"class:`collections.abc.MutableMapping` :ref:`classes base abstratas " -"`. Exemplos incluem :class:`dict`, :class:" -"`collections.defaultdict`, :class:`collections.OrderedDict` e :class:" -"`collections.Counter`." - -#: ../../glossary.rst:767 +"methods specified in the :class:`collections.abc.Mapping` " +"or :class:`collections.abc.MutableMapping` :ref:`abstract base classes " +"`. Examples " +"include :class:`dict`, :class:`collections.defaultdict`, :class:`collections.OrderedDict` " +"and :class:`collections.Counter`." +msgstr "" +"Um objeto contêiner com suporte a pesquisas de chave arbitrária e que " +"implementa os métodos especificados nas :ref:`classes base abstratas " +"` :class:`collections.abc.Mapping` " +"ou :class:`collections.abc.MutableMapping`. Exemplos " +"incluem :class:`dict`, :class:`collections.defaultdict`, :class:`collections.OrderedDict` " +"e :class:`collections.Counter`." + +#: ../../glossary.rst:772 msgid "meta path finder" msgstr "localizador de metacaminho" -#: ../../glossary.rst:769 +#: ../../glossary.rst:774 msgid "" "A :term:`finder` returned by a search of :data:`sys.meta_path`. Meta path " "finders are related to, but different from :term:`path entry finders `." msgstr "" "Um :term:`localizador` retornado por uma busca de :data:`sys.meta_path`. " -"Localizadores de metacaminho são relacionados a, mas diferentes de, :term:" -"`localizadores de entrada de caminho `." +"Localizadores de metacaminho são relacionados a, mas diferentes " +"de, :term:`localizadores de entrada de caminho `." -#: ../../glossary.rst:773 +#: ../../glossary.rst:778 msgid "" "See :class:`importlib.abc.MetaPathFinder` for the methods that meta path " "finders implement." @@ -1855,11 +1866,11 @@ msgstr "" "Veja :class:`importlib.abc.MetaPathFinder` para os métodos que localizadores " "de metacaminho implementam." -#: ../../glossary.rst:775 +#: ../../glossary.rst:780 msgid "metaclass" msgstr "metaclasse" -#: ../../glossary.rst:777 +#: ../../glossary.rst:782 msgid "" "The class of a class. Class definitions create a class name, a class " "dictionary, and a list of base classes. The metaclass is responsible for " @@ -1882,31 +1893,31 @@ msgstr "" "atributos, para incluir proteção contra acesso concorrente, rastrear a " "criação de objetos, implementar singletons, dentre muitas outras tarefas." -#: ../../glossary.rst:787 +#: ../../glossary.rst:792 msgid "More information can be found in :ref:`metaclasses`." msgstr "Mais informações podem ser encontradas em :ref:`metaclasses`." -#: ../../glossary.rst:788 ../../glossary.rst:756 ../../glossary.rst:1120 +#: ../../glossary.rst:761 ../../glossary.rst:793 ../../glossary.rst:1129 msgid "method" msgstr "método" -#: ../../glossary.rst:790 +#: ../../glossary.rst:795 msgid "" "A function which is defined inside a class body. If called as an attribute " "of an instance of that class, the method will get the instance object as its " -"first :term:`argument` (which is usually called ``self``). See :term:" -"`function` and :term:`nested scope`." +"first :term:`argument` (which is usually called ``self``). " +"See :term:`function` and :term:`nested scope`." msgstr "" "Uma função que é definida dentro do corpo de uma classe. Se chamada como um " "atributo de uma instância daquela classe, o método receberá a instância do " "objeto como seu primeiro :term:`argumento` (que comumente é chamado de " "``self``). Veja :term:`função` e :term:`escopo aninhado`." -#: ../../glossary.rst:794 +#: ../../glossary.rst:799 msgid "method resolution order" msgstr "ordem de resolução de métodos" -#: ../../glossary.rst:796 +#: ../../glossary.rst:801 msgid "" "Method Resolution Order is the order in which base classes are searched for " "a member during lookup. See `The Python 2.3 Method Resolution Order `_ para " "detalhes do algoritmo usado pelo interpretador do Python desde a versão 2.3." -#: ../../glossary.rst:800 +#: ../../glossary.rst:805 msgid "module" msgstr "módulo" -#: ../../glossary.rst:802 +#: ../../glossary.rst:807 msgid "" "An object that serves as an organizational unit of Python code. Modules " "have a namespace containing arbitrary Python objects. Modules are loaded " @@ -1930,51 +1941,51 @@ msgid "" msgstr "" "Um objeto que serve como uma unidade organizacional de código Python. Os " "módulos têm um espaço de nomes contendo objetos Python arbitrários. Os " -"módulos são carregados pelo Python através do processo de :term:" -"`importação`." +"módulos são carregados pelo Python através do processo " +"de :term:`importação`." -#: ../../glossary.rst:806 +#: ../../glossary.rst:811 msgid "See also :term:`package`." msgstr "Veja também :term:`pacote`." -#: ../../glossary.rst:807 +#: ../../glossary.rst:812 msgid "module spec" -msgstr "módulo spec" +msgstr "spec de módulo" -#: ../../glossary.rst:809 +#: ../../glossary.rst:814 msgid "" "A namespace containing the import-related information used to load a module. " "An instance of :class:`importlib.machinery.ModuleSpec`." msgstr "" "Um espaço de nomes que contém as informações relacionadas à importação " -"usadas para carregar um módulo. Uma instância de :class:`importlib.machinery." -"ModuleSpec`." +"usadas para carregar um módulo. Uma instância " +"de :class:`importlib.machinery.ModuleSpec`." -#: ../../glossary.rst:811 +#: ../../glossary.rst:816 msgid "MRO" msgstr "MRO" -#: ../../glossary.rst:813 +#: ../../glossary.rst:818 msgid "See :term:`method resolution order`." msgstr "Veja :term:`ordem de resolução de métodos`." -#: ../../glossary.rst:814 +#: ../../glossary.rst:819 msgid "mutable" msgstr "mutável" -#: ../../glossary.rst:816 +#: ../../glossary.rst:821 msgid "" -"Mutable objects can change their value but keep their :func:`id`. See also :" -"term:`immutable`." +"Mutable objects can change their value but keep their :func:`id`. See " +"also :term:`immutable`." msgstr "" -"Objeto mutável é aquele que pode modificar seus valor mas manter seu :func:" -"`id`. Veja também :term:`imutável`." +"Objeto mutável é aquele que pode modificar seus valor mas manter " +"seu :func:`id`. Veja também :term:`imutável`." -#: ../../glossary.rst:818 +#: ../../glossary.rst:823 msgid "named tuple" msgstr "tupla nomeada" -#: ../../glossary.rst:820 +#: ../../glossary.rst:825 msgid "" "The term \"named tuple\" applies to any type or class that inherits from " "tuple and whose indexable elements are also accessible using named " @@ -1984,65 +1995,69 @@ msgstr "" "tupla e cujos elementos indexáveis também são acessíveis usando atributos " "nomeados. O tipo ou classe pode ter outras funcionalidades também." -#: ../../glossary.rst:824 +#: ../../glossary.rst:829 msgid "" -"Several built-in types are named tuples, including the values returned by :" -"func:`time.localtime` and :func:`os.stat`. Another example is :data:`sys." -"float_info`::" +"Several built-in types are named tuples, including the values returned " +"by :func:`time.localtime` and :func:`os.stat`. Another example " +"is :data:`sys.float_info`::" msgstr "" "Diversos tipos embutidos são tuplas nomeadas, incluindo os valores " -"retornados por :func:`time.localtime` e :func:`os.stat`. Outro exemplo é :" -"data:`sys.float_info`::" +"retornados por :func:`time.localtime` e :func:`os.stat`. Outro exemplo " +"é :data:`sys.float_info`::" -#: ../../glossary.rst:835 +#: ../../glossary.rst:840 msgid "" "Some named tuples are built-in types (such as the above examples). " "Alternatively, a named tuple can be created from a regular class definition " "that inherits from :class:`tuple` and that defines named fields. Such a " -"class can be written by hand or it can be created with the factory function :" -"func:`collections.namedtuple`. The latter technique also adds some extra " -"methods that may not be found in hand-written or built-in named tuples." +"class can be written by hand, or it can be created by " +"inheriting :class:`typing.NamedTuple`, or with the factory " +"function :func:`collections.namedtuple`. The latter techniques also add " +"some extra methods that may not be found in hand-written or built-in named " +"tuples." msgstr "" "Algumas tuplas nomeadas são tipos embutidos (tal como os exemplos acima). " "Alternativamente, uma tupla nomeada pode ser criada a partir de uma " "definição de classe regular, que herde de :class:`tuple` e que defina campos " -"nomeados. Tal classe pode ser escrita a mão, ou ela pode ser criada com uma " -"função fábrica :func:`collections.namedtuple`. A segunda técnica também " -"adiciona alguns métodos extras, que podem não ser encontrados quando foi " +"nomeados. Tal classe pode ser escrita a mão, ou ela pode ser criada " +"herdando :class:`typing.NamedTuple` ou com uma função " +"fábrica :func:`collections.namedtuple`. As duas últimas técnicas também " +"adicionam alguns métodos extras, que podem não ser encontrados quando foi " "escrita manualmente, ou em tuplas nomeadas embutidas." -#: ../../glossary.rst:842 +#: ../../glossary.rst:848 msgid "namespace" msgstr "espaço de nomes" -#: ../../glossary.rst:844 +#: ../../glossary.rst:850 msgid "" "The place where a variable is stored. Namespaces are implemented as " "dictionaries. There are the local, global and built-in namespaces as well " "as nested namespaces in objects (in methods). Namespaces support modularity " -"by preventing naming conflicts. For instance, the functions :func:`builtins." -"open <.open>` and :func:`os.open` are distinguished by their namespaces. " -"Namespaces also aid readability and maintainability by making it clear which " -"module implements a function. For instance, writing :func:`random.seed` or :" -"func:`itertools.islice` makes it clear that those functions are implemented " -"by the :mod:`random` and :mod:`itertools` modules, respectively." +"by preventing naming conflicts. For instance, the " +"functions :func:`builtins.open <.open>` and :func:`os.open` are " +"distinguished by their namespaces. Namespaces also aid readability and " +"maintainability by making it clear which module implements a function. For " +"instance, writing :func:`random.seed` or :func:`itertools.islice` makes it " +"clear that those functions are implemented by the :mod:`random` " +"and :mod:`itertools` modules, respectively." msgstr "" "O lugar em que uma variável é armazenada. Espaços de nomes são implementados " "como dicionários. Existem os espaços de nomes local, global e nativo, bem " "como espaços de nomes aninhados em objetos (em métodos). Espaços de nomes " "suportam modularidade ao prevenir conflitos de nomes. Por exemplo, as " -"funções :func:`__builtin__.open` e :func:`os.open` são diferenciadas por " -"seus espaços de nomes. Espaços de nomes também auxiliam na legibilidade e na " -"manutenibilidade ao torar mais claro quais módulos implementam uma função. " -"Escrever :func:`random.seed` ou :func:`itertools.izip`, por exemplo, deixa " -"claro que estas funções são implementadas pelos módulos :mod:`random` e :mod:" -"`itertools` respectivamente." - -#: ../../glossary.rst:854 +"funções :func:`builtins.open <.open>` e :func:`os.open` são diferenciadas " +"por seus espaços de nomes. Espaços de nomes também auxiliam na legibilidade " +"e na manutenibilidade ao torar mais claro quais módulos implementam uma " +"função. Escrever :func:`random.seed` ou :func:`itertools.islice`, por " +"exemplo, deixa claro que estas funções são implementadas pelos " +"módulos :mod:`random` e :mod:`itertools` respectivamente." + +#: ../../glossary.rst:860 msgid "namespace package" msgstr "pacote de espaço de nomes" -#: ../../glossary.rst:856 +#: ../../glossary.rst:862 msgid "" "A :pep:`420` :term:`package` which serves only as a container for " "subpackages. Namespace packages may have no physical representation, and " @@ -2054,15 +2069,15 @@ msgstr "" "especificamente não são como um :term:`pacote regular` porque eles não tem " "um arquivo ``__init__.py``." -#: ../../glossary.rst:861 +#: ../../glossary.rst:867 msgid "See also :term:`module`." msgstr "Veja também :term:`módulo`." -#: ../../glossary.rst:862 +#: ../../glossary.rst:868 msgid "nested scope" msgstr "escopo aninhado" -#: ../../glossary.rst:864 +#: ../../glossary.rst:870 msgid "" "The ability to refer to a variable in an enclosing definition. For " "instance, a function defined inside another function can refer to variables " @@ -2079,28 +2094,30 @@ msgstr "" "escrever para o espaço de nomes global. O :keyword:`nonlocal` permite " "escrita para escopos externos." -#: ../../glossary.rst:871 +#: ../../glossary.rst:877 msgid "new-style class" msgstr "classe estilo novo" -#: ../../glossary.rst:873 +#: ../../glossary.rst:879 msgid "" "Old name for the flavor of classes now used for all class objects. In " "earlier Python versions, only new-style classes could use Python's newer, " -"versatile features like :attr:`~object.__slots__`, descriptors, properties, :" -"meth:`__getattribute__`, class methods, and static methods." +"versatile features like :attr:`~object.__slots__`, descriptors, " +"properties, :meth:`~object.__getattribute__`, class methods, and static " +"methods." msgstr "" "Antigo nome para o tipo de classes agora usado para todos os objetos de " -"classes. Em versões anteriores do Python, apenas classes estilo podiam usar " -"recursos novos e versáteis do Python, tais como :attr:`~object.__slots__`, " -"descritores, propriedades, :meth:`__getattribute__`, métodos de classe, e " -"métodos estáticos." +"classes. Em versões anteriores do Python, apenas classes estilo novo podiam " +"usar recursos novos e versáteis do Python, tais " +"como :attr:`~object.__slots__`, descritores, " +"propriedades, :meth:`~object.__getattribute__`, métodos de classe e métodos " +"estáticos." -#: ../../glossary.rst:877 +#: ../../glossary.rst:884 msgid "object" msgstr "objeto" -#: ../../glossary.rst:879 +#: ../../glossary.rst:886 msgid "" "Any data with state (attributes or value) and defined behavior (methods). " "Also the ultimate base class of any :term:`new-style class`." @@ -2109,11 +2126,11 @@ msgstr "" "definidos (métodos). Também a última classe base de qualquer :term:`classe " "estilo novo`." -#: ../../glossary.rst:882 +#: ../../glossary.rst:889 msgid "package" msgstr "pacote" -#: ../../glossary.rst:884 +#: ../../glossary.rst:891 msgid "" "A Python :term:`module` which can contain submodules or recursively, " "subpackages. Technically, a package is a Python module with a ``__path__`` " @@ -2123,16 +2140,16 @@ msgstr "" "subpacotes. Tecnicamente, um pacote é um módulo Python com um atributo " "``__path__``." -#: ../../glossary.rst:888 +#: ../../glossary.rst:895 msgid "See also :term:`regular package` and :term:`namespace package`." msgstr "" "Veja também :term:`pacote regular` e :term:`pacote de espaço de nomes`." -#: ../../glossary.rst:889 +#: ../../glossary.rst:896 msgid "parameter" msgstr "parâmetro" -#: ../../glossary.rst:891 +#: ../../glossary.rst:898 msgid "" "A named entity in a :term:`function` (or method) definition that specifies " "an :term:`argument` (or in some cases, arguments) that the function can " @@ -2142,18 +2159,18 @@ msgstr "" "método) que específica um :term:`argumento` (ou em alguns casos, " "argumentos) que a função pode receber. Existem cinco tipos de parâmetros:" -#: ../../glossary.rst:895 +#: ../../glossary.rst:902 msgid "" ":dfn:`positional-or-keyword`: specifies an argument that can be passed " "either :term:`positionally ` or as a :term:`keyword argument " "`. This is the default kind of parameter, for example *foo* and " "*bar* in the following::" msgstr "" -":dfn:`posicional-ou-nomeado`: especifica um argumento que pode ser tanto :" -"term:`posicional ` quanto :term:`nomeado `. Esse é o " -"tipo padrão de parâmetro, por exemplo *foo* e *bar* a seguir::" +":dfn:`posicional-ou-nomeado`: especifica um argumento que pode ser " +"tanto :term:`posicional ` quanto :term:`nomeado `. Esse " +"é o tipo padrão de parâmetro, por exemplo *foo* e *bar* a seguir::" -#: ../../glossary.rst:904 +#: ../../glossary.rst:911 msgid "" ":dfn:`positional-only`: specifies an argument that can be supplied only by " "position. Positional-only parameters can be defined by including a ``/`` " @@ -2163,9 +2180,9 @@ msgstr "" ":dfn:`somente-posicional`: especifica um argumento que pode ser fornecido " "apenas por posição. Parâmetros somente-posicionais podem ser definidos " "incluindo o caractere ``/`` na lista de parâmetros da definição da função " -"após eles, por exemplo *posonly1* e *posonly2* a seguir::" +"após eles, por exemplo *somentepos1* e *somentepos2* a seguir::" -#: ../../glossary.rst:913 +#: ../../glossary.rst:920 msgid "" ":dfn:`keyword-only`: specifies an argument that can be supplied only by " "keyword. Keyword-only parameters can be defined by including a single var-" @@ -2176,10 +2193,10 @@ msgstr "" ":dfn:`somente-nomeado`: especifica um argumento que pode ser passado para a " "função somente por nome. Parâmetros somente-nomeados podem ser definidos com " "um simples parâmetro var-posicional ou um ``*`` antes deles na lista de " -"parâmetros na definição da função, por exemplo *kw_only1* and *kw_only2* a " -"seguir::" +"parâmetros na definição da função, por exemplo *somente_nom1* and " +"*somente_nom2* a seguir::" -#: ../../glossary.rst:921 +#: ../../glossary.rst:928 msgid "" ":dfn:`var-positional`: specifies that an arbitrary sequence of positional " "arguments can be provided (in addition to any positional arguments already " @@ -2192,7 +2209,7 @@ msgstr "" "aceito por outros parâmetros). Tal parâmetro pode ser definido colocando um " "``*`` antes do nome do parâmetro, por exemplo *args* a seguir::" -#: ../../glossary.rst:929 +#: ../../glossary.rst:936 msgid "" ":dfn:`var-keyword`: specifies that arbitrarily many keyword arguments can be " "provided (in addition to any keyword arguments already accepted by other " @@ -2200,11 +2217,11 @@ msgid "" "name with ``**``, for example *kwargs* in the example above." msgstr "" ":dfn:`var-nomeado`: especifica que, arbitrariamente, muitos argumentos " -"nomeados podem ser fornecidos (em adição a qualquer argumento nomeado já " -"aceito por outros parâmetros). Tal parâmetro pode definido colocando-se " -"``**`` antes do nome, por exemplo *kwargs* no exemplo acima." +"nomeados podem ser fornecidos (em adição a quaisquer argumentos nomeados já " +"aceitos por outros parâmetros). Tal parâmetro pode ser definido colocando-se " +"``**`` antes do nome, por exemplo, *kwargs* no exemplo acima." -#: ../../glossary.rst:935 +#: ../../glossary.rst:942 msgid "" "Parameters can specify both optional and required arguments, as well as " "default values for some optional arguments." @@ -2212,22 +2229,23 @@ msgstr "" "Parâmetros podem especificar tanto argumentos opcionais quanto obrigatórios, " "assim como valores padrão para alguns argumentos opcionais." -#: ../../glossary.rst:938 +#: ../../glossary.rst:945 msgid "" "See also the :term:`argument` glossary entry, the FAQ question on :ref:`the " "difference between arguments and parameters `, " -"the :class:`inspect.Parameter` class, the :ref:`function` section, and :pep:" -"`362`." +"the :class:`inspect.Parameter` class, the :ref:`function` section, " +"and :pep:`362`." msgstr "" -"Veja o termo :term:`argumento` no glossário, a pergunta sobre :ref:`a " -"diferença entre argumentos e parâmetros `, a " -"classe :class:`inspect.Parameter`, a seção :ref:`function` e a :pep:`362`." +"Veja também o termo :term:`argumento` no glossário, a pergunta do FAQ " +"sobre :ref:`a diferença entre argumentos e parâmetros `, a classe :class:`inspect.Parameter`, a seção :ref:`function` e " +"a :pep:`362`." -#: ../../glossary.rst:942 +#: ../../glossary.rst:949 msgid "path entry" msgstr "entrada de caminho" -#: ../../glossary.rst:944 +#: ../../glossary.rst:951 msgid "" "A single location on the :term:`import path` which the :term:`path based " "finder` consults to find modules for importing." @@ -2235,21 +2253,21 @@ msgstr "" "Um local único no :term:`caminho de importação` que o :term:`localizador " "baseado no caminho` consulta para encontrar módulos a serem importados." -#: ../../glossary.rst:946 +#: ../../glossary.rst:953 msgid "path entry finder" msgstr "localizador de entrada de caminho" -#: ../../glossary.rst:948 +#: ../../glossary.rst:955 msgid "" -"A :term:`finder` returned by a callable on :data:`sys.path_hooks` (i.e. a :" -"term:`path entry hook`) which knows how to locate modules given a :term:" -"`path entry`." +"A :term:`finder` returned by a callable on :data:`sys.path_hooks` (i.e. " +"a :term:`path entry hook`) which knows how to locate modules given " +"a :term:`path entry`." msgstr "" "Um :term:`localizador` retornado por um chamável em :data:`sys.path_hooks` " "(ou seja, um :term:`gancho de entrada de caminho`) que sabe como localizar " "os módulos :term:`entrada de caminho`." -#: ../../glossary.rst:952 +#: ../../glossary.rst:959 msgid "" "See :class:`importlib.abc.PathEntryFinder` for the methods that path entry " "finders implement." @@ -2257,61 +2275,61 @@ msgstr "" "Veja :class:`importlib.abc.PathEntryFinder` para os métodos que " "localizadores de entrada de caminho implementam." -#: ../../glossary.rst:954 +#: ../../glossary.rst:961 msgid "path entry hook" msgstr "gancho de entrada de caminho" -#: ../../glossary.rst:956 +#: ../../glossary.rst:963 msgid "" -"A callable on the :data:`sys.path_hook` list which returns a :term:`path " +"A callable on the :data:`sys.path_hooks` list which returns a :term:`path " "entry finder` if it knows how to find modules on a specific :term:`path " "entry`." msgstr "" -"Um chamável na lista :data:`sys.path_hook` que retorna um :term:`localizador " -"de entrada de caminho` caso saiba como localizar módulos em uma :term:" -"`entrada de caminho` específica." +"Um chamável na lista :data:`sys.path_hooks` que retorna " +"um :term:`localizador de entrada de caminho` caso saiba como localizar " +"módulos em uma :term:`entrada de caminho` específica." -#: ../../glossary.rst:959 +#: ../../glossary.rst:966 msgid "path based finder" msgstr "localizador baseado no caminho" -#: ../../glossary.rst:961 +#: ../../glossary.rst:968 msgid "" "One of the default :term:`meta path finders ` which " "searches an :term:`import path` for modules." msgstr "" -"Um dos :term:`localizadores de metacaminho ` que procura " -"por um :term:`caminho de importação` de módulos." +"Um dos :term:`localizadores de metacaminho ` padrão que " +"procura por um :term:`caminho de importação` de módulos." -#: ../../glossary.rst:963 +#: ../../glossary.rst:970 msgid "path-like object" msgstr "objeto caminho ou similar" -#: ../../glossary.rst:965 +#: ../../glossary.rst:972 msgid "" -"An object representing a file system path. A path-like object is either a :" -"class:`str` or :class:`bytes` object representing a path, or an object " -"implementing the :class:`os.PathLike` protocol. An object that supports the :" -"class:`os.PathLike` protocol can be converted to a :class:`str` or :class:" -"`bytes` file system path by calling the :func:`os.fspath` function; :func:" -"`os.fsdecode` and :func:`os.fsencode` can be used to guarantee a :class:" -"`str` or :class:`bytes` result instead, respectively. Introduced by :pep:" -"`519`." +"An object representing a file system path. A path-like object is either " +"a :class:`str` or :class:`bytes` object representing a path, or an object " +"implementing the :class:`os.PathLike` protocol. An object that supports " +"the :class:`os.PathLike` protocol can be converted to a :class:`str` " +"or :class:`bytes` file system path by calling the :func:`os.fspath` " +"function; :func:`os.fsdecode` and :func:`os.fsencode` can be used to " +"guarantee a :class:`str` or :class:`bytes` result instead, respectively. " +"Introduced by :pep:`519`." msgstr "" "Um objeto representando um caminho de sistema de arquivos. Um objeto caminho " "ou similar é ou um objeto :class:`str` ou :class:`bytes` representando um " "caminho, ou um objeto implementando o protocolo :class:`os.PathLike`. Um " "objeto que suporta o protocolo :class:`os.PathLike` pode ser convertido para " "um arquivo de caminho do sistema :class:`str` ou :class:`bytes`, através da " -"chamada da função :func:`os.fspath`; :func:`os.fsdecode` e :func:`os." -"fsencode` podem ser usadas para garantir um :class:`str` ou :class:`bytes` " -"como resultado, respectivamente. Introduzido na :pep:`519`." +"chamada da função :func:`os.fspath`; :func:`os.fsdecode` " +"e :func:`os.fsencode` podem ser usadas para garantir um :class:`str` " +"ou :class:`bytes` como resultado, respectivamente. Introduzido na :pep:`519`." -#: ../../glossary.rst:973 +#: ../../glossary.rst:980 msgid "PEP" msgstr "PEP" -#: ../../glossary.rst:975 +#: ../../glossary.rst:982 msgid "" "Python Enhancement Proposal. A PEP is a design document providing " "information to the Python community, or describing a new feature for Python " @@ -2323,7 +2341,7 @@ msgstr "" "para o Python ou seus predecessores ou ambientes. PEPs devem prover uma " "especificação técnica concisa e um racional para funcionalidades propostas." -#: ../../glossary.rst:981 +#: ../../glossary.rst:988 msgid "" "PEPs are intended to be the primary mechanisms for proposing major new " "features, for collecting community input on an issue, and for documenting " @@ -2337,15 +2355,15 @@ msgstr "" "Python. O autor da PEP é responsável por construir um consenso dentro da " "comunidade e documentar opiniões dissidentes." -#: ../../glossary.rst:987 +#: ../../glossary.rst:994 msgid "See :pep:`1`." msgstr "Veja :pep:`1`." -#: ../../glossary.rst:988 +#: ../../glossary.rst:995 msgid "portion" msgstr "porção" -#: ../../glossary.rst:990 +#: ../../glossary.rst:997 msgid "" "A set of files in a single directory (possibly stored in a zip file) that " "contribute to a namespace package, as defined in :pep:`420`." @@ -2354,15 +2372,15 @@ msgstr "" "um arquivo zip) que contribuem para um pacote de espaço de nomes, conforme " "definido em :pep:`420`." -#: ../../glossary.rst:992 +#: ../../glossary.rst:999 msgid "positional argument" msgstr "argumento posicional" -#: ../../glossary.rst:995 +#: ../../glossary.rst:1002 msgid "provisional API" msgstr "API provisória" -#: ../../glossary.rst:997 +#: ../../glossary.rst:1004 msgid "" "A provisional API is one which has been deliberately excluded from the " "standard library's backwards compatibility guarantees. While major changes " @@ -2381,7 +2399,7 @@ msgstr "" "gratuitamente -- elas irão ocorrer apenas se sérias falhas fundamentais " "forem descobertas, que foram esquecidas anteriormente a inclusão da API." -#: ../../glossary.rst:1006 +#: ../../glossary.rst:1013 msgid "" "Even for provisional APIs, backwards incompatible changes are seen as a " "\"solution of last resort\" - every attempt will still be made to find a " @@ -2392,7 +2410,7 @@ msgstr "" "encontrar uma resolução retroativa compatível para quaisquer problemas " "encontrados." -#: ../../glossary.rst:1010 +#: ../../glossary.rst:1017 msgid "" "This process allows the standard library to continue to evolve over time, " "without locking in problematic design errors for extended periods of time. " @@ -2402,19 +2420,19 @@ msgstr "" "passar do tempo, sem se prender em erros de design problemáticos por " "períodos de tempo prolongados. Veja :pep:`411` para mais detalhes." -#: ../../glossary.rst:1013 +#: ../../glossary.rst:1020 msgid "provisional package" msgstr "pacote provisório" -#: ../../glossary.rst:1015 +#: ../../glossary.rst:1022 msgid "See :term:`provisional API`." msgstr "Veja :term:`API provisória`." -#: ../../glossary.rst:1016 +#: ../../glossary.rst:1023 msgid "Python 3000" msgstr "Python 3000" -#: ../../glossary.rst:1018 +#: ../../glossary.rst:1025 msgid "" "Nickname for the Python 3.x release line (coined long ago when the release " "of version 3 was something in the distant future.) This is also abbreviated " @@ -2424,11 +2442,11 @@ msgstr "" "tempo, quando o lançamento da versão 3 era algo em um futuro muito " "distante.) Esse termo possui a seguinte abreviação: \"Py3k\"." -#: ../../glossary.rst:1021 +#: ../../glossary.rst:1028 msgid "Pythonic" msgstr "Pythônico" -#: ../../glossary.rst:1023 +#: ../../glossary.rst:1030 msgid "" "An idea or piece of code which closely follows the most common idioms of the " "Python language, rather than implementing code using concepts common to " @@ -2437,22 +2455,23 @@ msgid "" "languages don't have this type of construct, so people unfamiliar with " "Python sometimes use a numerical counter instead::" msgstr "" -"Uma ideia ou um pedaço de código que segue de perto os idiomas mais comuns " -"da linguagem Python, ao invés de implementar códigos usando conceitos comuns " -"a outros idiomas. Por exemplo, um idioma comum em Python é fazer um loop " -"sobre todos os elementos de uma iterável usando a instrução :keyword:`for`. " -"Muitas outras linguagens não têm esse tipo de construção, então as pessoas " -"que não estão familiarizadas com o Python usam um contador numérico::" +"Uma ideia ou um pedaço de código que segue de perto as formas de escritas " +"mais comuns da linguagem Python, ao invés de implementar códigos usando " +"conceitos comuns a outras linguagens. Por exemplo, um formato comum em " +"Python é fazer um laço sobre todos os elementos de uma iterável usando a " +"instrução :keyword:`for`. Muitas outras linguagens não têm esse tipo de " +"construção, então as pessoas que não estão familiarizadas com o Python usam " +"um contador numérico::" -#: ../../glossary.rst:1033 +#: ../../glossary.rst:1040 msgid "As opposed to the cleaner, Pythonic method::" -msgstr "Ao contrário do método limpo, ou então, Pythônico::" +msgstr "Ao contrário do método mais limpo, Pythônico::" -#: ../../glossary.rst:1037 +#: ../../glossary.rst:1044 msgid "qualified name" msgstr "nome qualificado" -#: ../../glossary.rst:1039 +#: ../../glossary.rst:1046 msgid "" "A dotted name showing the \"path\" from a module's global scope to a class, " "function or method defined in that module, as defined in :pep:`3155`. For " @@ -2465,21 +2484,21 @@ msgstr "" "funções e classes de nível superior, o nome qualificado é o mesmo que o nome " "do objeto::" -#: ../../glossary.rst:1056 +#: ../../glossary.rst:1063 msgid "" "When used to refer to modules, the *fully qualified name* means the entire " -"dotted path to the module, including any parent packages, e.g. ``email.mime." -"text``::" +"dotted path to the module, including any parent packages, e.g. " +"``email.mime.text``::" msgstr "" "Quando usado para se referir a módulos, o *nome totalmente qualificado* " "significa todo o caminho pontilhado para o módulo, incluindo quaisquer " "pacotes pai, por exemplo: ``email.mime.text``::" -#: ../../glossary.rst:1063 +#: ../../glossary.rst:1070 msgid "reference count" msgstr "contagem de referências" -#: ../../glossary.rst:1065 +#: ../../glossary.rst:1072 msgid "" "The number of references to an object. When the reference count of an " "object drops to zero, it is deallocated. Reference counting is generally " @@ -2490,31 +2509,31 @@ msgstr "" "O número de referências a um objeto. Quando a contagem de referências de um " "objeto cai para zero, ele é desalocado. A contagem de referências geralmente " "não é visível para o código Python, mas é um elemento-chave da implementação " -"do :term:`CPython`. Os programadores podem chamar a função :func:`sys." -"getrefcount` para retornar a contagem de referências para um objeto " -"específico." +"do :term:`CPython`. Os programadores podem chamar a " +"função :func:`sys.getrefcount` para retornar a contagem de referências para " +"um objeto específico." -#: ../../glossary.rst:1071 +#: ../../glossary.rst:1078 msgid "regular package" msgstr "pacote regular" -#: ../../glossary.rst:1073 +#: ../../glossary.rst:1080 msgid "" -"A traditional :term:`package`, such as a directory containing an ``__init__." -"py`` file." +"A traditional :term:`package`, such as a directory containing an " +"``__init__.py`` file." msgstr "" "Um :term:`pacote` tradicional, como um diretório contendo um arquivo " "``__init__.py``." -#: ../../glossary.rst:1076 +#: ../../glossary.rst:1083 msgid "See also :term:`namespace package`." msgstr "Veja também :term:`pacote de espaço de nomes`." -#: ../../glossary.rst:1077 +#: ../../glossary.rst:1084 msgid "__slots__" msgstr "__slots__" -#: ../../glossary.rst:1079 +#: ../../glossary.rst:1086 msgid "" "A declaration inside a class that saves memory by pre-declaring space for " "instance attributes and eliminating instance dictionaries. Though popular, " @@ -2528,64 +2547,70 @@ msgstr "" "melhor se for reservada para casos raros, onde existe uma grande quantidade " "de instâncias em uma aplicação onde a memória é crítica." -#: ../../glossary.rst:1084 +#: ../../glossary.rst:1091 msgid "sequence" msgstr "sequência" -#: ../../glossary.rst:1086 +#: ../../glossary.rst:1093 msgid "" "An :term:`iterable` which supports efficient element access using integer " -"indices via the :meth:`__getitem__` special method and defines a :meth:" -"`__len__` method that returns the length of the sequence. Some built-in " -"sequence types are :class:`list`, :class:`str`, :class:`tuple`, and :class:" -"`bytes`. Note that :class:`dict` also supports :meth:`__getitem__` and :meth:" -"`__len__`, but is considered a mapping rather than a sequence because the " +"indices via the :meth:`~object.__getitem__` special method and defines " +"a :meth:`~object.__len__` method that returns the length of the sequence. " +"Some built-in sequence types " +"are :class:`list`, :class:`str`, :class:`tuple`, and :class:`bytes`. Note " +"that :class:`dict` also supports :meth:`~object.__getitem__` and :meth:`!" +"__len__`, but is considered a mapping rather than a sequence because the " "lookups use arbitrary :term:`immutable` keys rather than integers." msgstr "" "Um :term:`iterável` com suporte para acesso eficiente a seus elementos " -"através de índices inteiros via método especial :meth:`__getitem__` e que " -"define o método :meth:`__len__` que devolve o tamanho da sequência. Alguns " -"tipos de sequência embutidos são: :class:`list`, :class:`str`, :class:" -"`tuple`, e :class:`bytes`. Note que :class:`dict` também tem suporte para :" -"meth:`__getitem__` e :meth:`__len__`, mas é considerado um mapa e não uma " -"sequência porque a busca usa uma chave :term:`imutável` arbitrária em vez de " -"inteiros." +"através de índices inteiros via método especial :meth:`~object.__getitem__` " +"e que define o método :meth:`~object.__len__` que devolve o tamanho da " +"sequência. Alguns tipos de sequência embutidos " +"são: :class:`list`, :class:`str`, :class:`tuple`, e :class:`bytes`. Note " +"que :class:`dict` também tem suporte para :meth:`~object.__getitem__` " +"e :meth:`!__len__`, mas é considerado um mapeamento e não uma sequência " +"porque a busca usa uma chave :term:`imutável` arbitrária em vez de inteiros." -#: ../../glossary.rst:1095 +#: ../../glossary.rst:1102 msgid "" "The :class:`collections.abc.Sequence` abstract base class defines a much " -"richer interface that goes beyond just :meth:`__getitem__` and :meth:" -"`__len__`, adding :meth:`count`, :meth:`index`, :meth:`__contains__`, and :" -"meth:`__reversed__`. Types that implement this expanded interface can be " -"registered explicitly using :func:`~abc.ABCMeta.register`." +"richer interface that goes beyond just :meth:`~object.__getitem__` " +"and :meth:`~object.__len__`, adding :meth:`!count`, :meth:`!" +"index`, :meth:`~object.__contains__`, and :meth:`~object.__reversed__`. " +"Types that implement this expanded interface can be registered explicitly " +"using :func:`~abc.ABCMeta.register`. For more documentation on sequence " +"methods generally, see :ref:`Common Sequence Operations `." msgstr "" "A classe base abstrata :class:`collections.abc.Sequence` define uma " -"interface mais rica que vai além de apenas :meth:`__getitem__` e :meth:" -"`__len__`, adicionando :meth:`count`, :meth:`index`, :meth:`__contains__`, " -"e :meth:`__reversed__`. Tipos que implementam essa interface podem ser " -"explicitamente registrados usando :func:`~abc.ABCMeta.register`." - -#: ../../glossary.rst:1102 +"interface mais rica que vai além de apenas :meth:`~object.__getitem__` " +"e :meth:`~object.__len__`, adicionando :meth:`!count`, :meth:`!" +"index`, :meth:`~object.__contains__`, e :meth:`~object.__reversed__`. Tipos " +"que implementam essa interface podem ser explicitamente registrados " +"usando :func:`~abc.ABCMeta.register`. Para mais documentação sobre métodos " +"de sequências em geral, veja :ref:`Operações comuns de sequências `." + +#: ../../glossary.rst:1111 msgid "set comprehension" msgstr "compreensão de conjunto" -#: ../../glossary.rst:1104 +#: ../../glossary.rst:1113 msgid "" "A compact way to process all or part of the elements in an iterable and " "return a set with the results. ``results = {c for c in 'abracadabra' if c " -"not in 'abc'}`` generates the set of strings ``{'r', 'd'}``. See :ref:" -"`comprehensions`." +"not in 'abc'}`` generates the set of strings ``{'r', 'd'}``. " +"See :ref:`comprehensions`." msgstr "" "Uma maneira compacta de processar todos ou parte dos elementos em iterável e " "retornar um conjunto com os resultados. ``results = {c for c in " "'abracadabra' if c not in 'abc'}`` gera um conjunto de strings ``{'r', 'd'}" "``. Veja :ref:`comprehensions`." -#: ../../glossary.rst:1108 +#: ../../glossary.rst:1117 msgid "single dispatch" msgstr "despacho único" -#: ../../glossary.rst:1110 +#: ../../glossary.rst:1119 msgid "" "A form of :term:`generic function` dispatch where the implementation is " "chosen based on the type of a single argument." @@ -2593,11 +2618,11 @@ msgstr "" "Uma forma de despacho de :term:`função genérica` onde a implementação é " "escolhida com base no tipo de um único argumento." -#: ../../glossary.rst:1112 +#: ../../glossary.rst:1121 msgid "slice" msgstr "fatia" -#: ../../glossary.rst:1114 +#: ../../glossary.rst:1123 msgid "" "An object usually containing a portion of a :term:`sequence`. A slice is " "created using the subscript notation, ``[]`` with colons between numbers " @@ -2609,51 +2634,67 @@ msgstr "" "pontos entre números, como em ``variable_name[1:3:5]``. A notação de suporte " "(subscrito) utiliza objetos :class:`slice` internamente." -#: ../../glossary.rst:1118 +#: ../../glossary.rst:1127 msgid "special method" msgstr "método especial" -#: ../../glossary.rst:1122 +#: ../../glossary.rst:1131 msgid "" "A method that is called implicitly by Python to execute a certain operation " "on a type, such as addition. Such methods have names starting and ending " -"with double underscores. Special methods are documented in :ref:" -"`specialnames`." +"with double underscores. Special methods are documented " +"in :ref:`specialnames`." msgstr "" "Um método que é chamado implicitamente pelo Python para executar uma certa " "operação em um tipo, como uma adição por exemplo. Tais métodos tem nomes " "iniciando e terminando com dois underscores. Métodos especiais estão " "documentados em :ref:`specialnames`." -#: ../../glossary.rst:1126 +#: ../../glossary.rst:1135 msgid "statement" msgstr "instrução" -#: ../../glossary.rst:1128 +#: ../../glossary.rst:1137 msgid "" "A statement is part of a suite (a \"block\" of code). A statement is either " -"an :term:`expression` or one of several constructs with a keyword, such as :" -"keyword:`if`, :keyword:`while` or :keyword:`for`." +"an :term:`expression` or one of several constructs with a keyword, such " +"as :keyword:`if`, :keyword:`while` or :keyword:`for`." msgstr "" "Uma instrução é parte de uma suíte (um \"bloco\" de código). Uma instrução é " "ou uma :term:`expressão` ou uma de várias construções com uma palavra " "reservada, tal como :keyword:`if`, :keyword:`while` ou :keyword:`for`." -#: ../../glossary.rst:1131 +#: ../../glossary.rst:1140 +msgid "static type checker" +msgstr "verificador de tipo estático" + +#: ../../glossary.rst:1142 +msgid "" +"An external tool that reads Python code and analyzes it, looking for issues " +"such as incorrect types. See also :term:`type hints ` and " +"the :mod:`typing` module." +msgstr "" +"Uma ferramenta externa que lê código Python e o analisa, procurando por " +"problemas como tipos incorretos. Consulte também :term:`dicas de tipo ` e o módulo :mod:`typing`." + +#: ../../glossary.rst:1145 msgid "strong reference" msgstr "referência forte" -#: ../../glossary.rst:1133 +#: ../../glossary.rst:1147 msgid "" -"In Python's C API, a strong reference is a reference to an object which " -"increments the object's reference count when it is created and decrements " -"the object's reference count when it is deleted." +"In Python's C API, a strong reference is a reference to an object which is " +"owned by the code holding the reference. The strong reference is taken by " +"calling :c:func:`Py_INCREF` when the reference is created and released " +"with :c:func:`Py_DECREF` when the reference is deleted." msgstr "" "Na API C do Python, uma referência forte é uma referência a um objeto que " -"aumenta a contagem de referências do objeto quando ele é criado e diminui a " -"contagem de referências do objeto quando ele é excluído." +"pertence ao código que contém a referência. A referência forte é obtida " +"chamando :c:func:`Py_INCREF` quando a referência é criada e liberada " +"com :c:func:`Py_DECREF` quando a referência é excluída." -#: ../../glossary.rst:1137 +#: ../../glossary.rst:1153 msgid "" "The :c:func:`Py_NewRef` function can be used to create a strong reference to " "an object. Usually, the :c:func:`Py_DECREF` function must be called on the " @@ -2665,15 +2706,15 @@ msgstr "" "na referência forte antes de sair do escopo da referência forte, para evitar " "o vazamento de uma referência." -#: ../../glossary.rst:1142 +#: ../../glossary.rst:1158 msgid "See also :term:`borrowed reference`." msgstr "Veja também :term:`referência emprestada`." -#: ../../glossary.rst:1143 +#: ../../glossary.rst:1159 msgid "text encoding" -msgstr "codificador de texto" +msgstr "codificação do texto" -#: ../../glossary.rst:1145 +#: ../../glossary.rst:1161 msgid "" "A string in Python is a sequence of Unicode code points (in range " "``U+0000``--``U+10FFFF``). To store or transfer a string, it needs to be " @@ -2683,7 +2724,7 @@ msgstr "" "intervalo ``U+0000``--``U+10FFFF``). Para armazenar ou transferir uma " "string, ela precisa ser serializada como uma sequência de bytes." -#: ../../glossary.rst:1149 +#: ../../glossary.rst:1165 msgid "" "Serializing a string into a sequence of bytes is known as \"encoding\", and " "recreating the string from the sequence of bytes is known as \"decoding\"." @@ -2692,46 +2733,47 @@ msgstr "" "\"codificação\" e a recriação da string a partir de uma sequência de bytes é " "conhecida como \"decodificação\"." -#: ../../glossary.rst:1152 +#: ../../glossary.rst:1168 msgid "" "There are a variety of different text serialization :ref:`codecs `, which are collectively referred to as \"text encodings\"." msgstr "" "Há uma variedade de diferentes serializações de texto :ref:`codecs `, que são coletivamente chamadas de \"codificações de texto\"." +"encodings>`, que são coletivamente chamadas de \"codificações do texto\"." -#: ../../glossary.rst:1155 +#: ../../glossary.rst:1171 msgid "text file" msgstr "arquivo texto" -#: ../../glossary.rst:1157 +#: ../../glossary.rst:1173 msgid "" "A :term:`file object` able to read and write :class:`str` objects. Often, a " -"text file actually accesses a byte-oriented datastream and handles the :term:" -"`text encoding` automatically. Examples of text files are files opened in " -"text mode (``'r'`` or ``'w'``), :data:`sys.stdin`, :data:`sys.stdout`, and " -"instances of :class:`io.StringIO`." +"text file actually accesses a byte-oriented datastream and handles " +"the :term:`text encoding` automatically. Examples of text files are files " +"opened in text mode (``'r'`` or " +"``'w'``), :data:`sys.stdin`, :data:`sys.stdout`, and instances " +"of :class:`io.StringIO`." msgstr "" -"Um :term:`objeto arquivo` apto a ler e escrever objetos :class:`str`. " +"Um :term:`objeto arquivo` apto a ler e escrever objetos :class:`str`. " "Geralmente, um arquivo texto, na verdade, acessa um fluxo de dados de bytes " -"e captura o :term:`codificador de texto ` automaticamente. " -"Exemplos de arquivos texto são: arquivos abertos em modo texto (``'r'`` or " -"``'w'``), :data:`sys.stdin`, :data:`sys.stdout`, e instâncias de :class:`io." -"StringIO`." +"e captura a :term:`codificação do texto` automaticamente. Exemplos de " +"arquivos texto são: arquivos abertos em modo texto (``'r'`` or " +"``'w'``), :data:`sys.stdin`, :data:`sys.stdout`, e instâncias " +"de :class:`io.StringIO`." -#: ../../glossary.rst:1164 +#: ../../glossary.rst:1180 msgid "" -"See also :term:`binary file` for a file object able to read and write :term:" -"`bytes-like objects `." +"See also :term:`binary file` for a file object able to read and " +"write :term:`bytes-like objects `." msgstr "" -"Veja também :term:`arquivo binário ` para um objeto arquivo " -"apto a ler e escrever :term:`objetos byte ou similar `." +"Veja também :term:`arquivo binário` para um objeto arquivo apto a ler e " +"escrever :term:`objetos bytes ou similares `." -#: ../../glossary.rst:1166 +#: ../../glossary.rst:1182 msgid "triple-quoted string" msgstr "aspas triplas" -#: ../../glossary.rst:1168 +#: ../../glossary.rst:1184 msgid "" "A string which is bound by three instances of either a quotation mark (\") " "or an apostrophe ('). While they don't provide any functionality not " @@ -2749,111 +2791,113 @@ msgstr "" "caractere de continuação, fazendo-as especialmente úteis quando escrevemos " "documentação em docstrings." -#: ../../glossary.rst:1175 +#: ../../glossary.rst:1191 msgid "type" msgstr "tipo" -#: ../../glossary.rst:1177 +#: ../../glossary.rst:1193 msgid "" "The type of a Python object determines what kind of object it is; every " -"object has a type. An object's type is accessible as its :attr:`~instance." -"__class__` attribute or can be retrieved with ``type(obj)``." +"object has a type. An object's type is accessible as " +"its :attr:`~instance.__class__` attribute or can be retrieved with " +"``type(obj)``." msgstr "" "O tipo de um objeto Python determina qual tipo de objeto ele é; cada objeto " -"tem um tipo. Um tipo de objeto é acessível pelo atributo :attr:`~instância." -"__class__` ou pode ser recuperado com ``type(obj)``." +"tem um tipo. Um tipo de objeto é acessível pelo " +"atributo :attr:`~instância.__class__` ou pode ser recuperado com " +"``type(obj)``." -#: ../../glossary.rst:1181 +#: ../../glossary.rst:1197 msgid "type alias" -msgstr "tipo alias" +msgstr "apelido de tipo" -#: ../../glossary.rst:1183 +#: ../../glossary.rst:1199 msgid "A synonym for a type, created by assigning the type to an identifier." msgstr "" "Um sinônimo para um tipo, criado através da atribuição do tipo para um " "identificador." -#: ../../glossary.rst:1185 +#: ../../glossary.rst:1201 msgid "" "Type aliases are useful for simplifying :term:`type hints `. For " "example::" msgstr "" -"Tipos alias são úteis para simplificar :term:`dicas de tipo `. " -"Por exemplo::" +"Apelidos de tipo são úteis para simplificar :term:`dicas de tipo `. Por exemplo::" -#: ../../glossary.rst:1192 +#: ../../glossary.rst:1208 msgid "could be made more readable like this::" msgstr "pode tornar-se mais legível desta forma::" -#: ../../glossary.rst:1199 ../../glossary.rst:1213 +#: ../../glossary.rst:1215 ../../glossary.rst:1229 msgid "See :mod:`typing` and :pep:`484`, which describe this functionality." -msgstr "Veja :mod:`typing` e :pep:`484`, a qual descreve esta funcionalidade." +msgstr "Veja :mod:`typing` e :pep:`484`, que descreve esta funcionalidade." -#: ../../glossary.rst:1200 +#: ../../glossary.rst:1216 msgid "type hint" msgstr "dica de tipo" -#: ../../glossary.rst:1202 +#: ../../glossary.rst:1218 msgid "" "An :term:`annotation` that specifies the expected type for a variable, a " "class attribute, or a function parameter or return value." msgstr "" -"Uma :term:`anotação` que especifica o tipo esperado para uma variável, um " -"atributo de classe, ou um parâmetro de função ou um valor de retorno." +"Uma :term:`anotação` que especifica o tipo esperado de uma variável, de um " +"atributo de classe, de um parâmetro ou de um valor de retorno de uma função." -#: ../../glossary.rst:1205 +#: ../../glossary.rst:1221 msgid "" "Type hints are optional and are not enforced by Python but they are useful " -"to static type analysis tools, and aid IDEs with code completion and " -"refactoring." +"to :term:`static type checkers `. They can also aid " +"IDEs with code completion and refactoring." msgstr "" -"Dicas de tipo são opcionais e não são forçadas pelo Python, mas elas são " -"úteis para ferramentas de análise de tipos estático, e ajudam IDEs a " -"completar e refatorar código." +"Dicas de tipo são opcionais e não são forçadas pelo Python, mas são úteis " +"para :term:`verificadores de tipo estático `. Eles " +"também ajudam IDEs a completar e refatorar código." -#: ../../glossary.rst:1209 +#: ../../glossary.rst:1225 msgid "" "Type hints of global variables, class attributes, and functions, but not " "local variables, can be accessed using :func:`typing.get_type_hints`." msgstr "" -"Dicas de tipos de variáveis globais, atributos de classes, e funções, mas " -"não de variáveis locais, podem ser acessadas usando :func:`typing." -"get_type_hints`." +"Dicas de tipos de variáveis globais, atributos de classes e funções, mas não " +"de variáveis locais, podem ser acessadas " +"usando :func:`typing.get_type_hints`." -#: ../../glossary.rst:1214 +#: ../../glossary.rst:1230 msgid "universal newlines" msgstr "novas linhas universais" -#: ../../glossary.rst:1216 +#: ../../glossary.rst:1232 msgid "" "A manner of interpreting text streams in which all of the following are " "recognized as ending a line: the Unix end-of-line convention ``'\\n'``, the " "Windows convention ``'\\r\\n'``, and the old Macintosh convention " -"``'\\r'``. See :pep:`278` and :pep:`3116`, as well as :func:`bytes." -"splitlines` for an additional use." +"``'\\r'``. See :pep:`278` and :pep:`3116`, as well " +"as :func:`bytes.splitlines` for an additional use." msgstr "" "Uma maneira de interpretar fluxos de textos, na qual todos estes são " "reconhecidos como caracteres de fim de linha: a convenção para fim de linha " "no Unix ``'\\n'``, a convenção no Windows ``'\\r\\n'``, e a antiga convenção " -"no Macintosh ``'\\r'``. Veja :pep:`278` e :pep:`3116`, bem como :func:`bytes." -"splitlines` para uso adicional." +"no Macintosh ``'\\r'``. Veja :pep:`278` e :pep:`3116`, bem " +"como :func:`bytes.splitlines` para uso adicional." -#: ../../glossary.rst:1221 +#: ../../glossary.rst:1237 msgid "variable annotation" msgstr "anotação de variável" -#: ../../glossary.rst:1223 +#: ../../glossary.rst:1239 msgid "An :term:`annotation` of a variable or a class attribute." msgstr "Uma :term:`anotação` de uma variável ou um atributo de classe." -#: ../../glossary.rst:1225 +#: ../../glossary.rst:1241 msgid "" "When annotating a variable or a class attribute, assignment is optional::" msgstr "" "Ao fazer uma anotação de uma variável ou um atributo de classe, a atribuição " "é opcional::" -#: ../../glossary.rst:1230 +#: ../../glossary.rst:1246 msgid "" "Variable annotations are usually used for :term:`type hints `: " "for example this variable is expected to take :class:`int` values::" @@ -2862,12 +2906,12 @@ msgstr "" "`: por exemplo, espera-se que esta variável receba valores do " "tipo :class:`int`::" -#: ../../glossary.rst:1236 +#: ../../glossary.rst:1252 msgid "Variable annotation syntax is explained in section :ref:`annassign`." msgstr "" "A sintaxe de anotação de variável é explicada na seção :ref:`annassign`." -#: ../../glossary.rst:1238 +#: ../../glossary.rst:1254 msgid "" "See :term:`function annotation`, :pep:`484` and :pep:`526`, which describe " "this functionality. Also see :ref:`annotations-howto` for best practices on " @@ -2877,11 +2921,11 @@ msgstr "" "funcionalidade. Veja também :ref:`annotations-howto` para as melhores " "práticas sobre como trabalhar com anotações." -#: ../../glossary.rst:1242 +#: ../../glossary.rst:1258 msgid "virtual environment" msgstr "ambiente virtual" -#: ../../glossary.rst:1244 +#: ../../glossary.rst:1260 msgid "" "A cooperatively isolated runtime environment that allows Python users and " "applications to install and upgrade Python distribution packages without " @@ -2892,15 +2936,15 @@ msgstr "" "instalarem e atualizarem pacotes Python sem interferir no comportamento de " "outras aplicações Python em execução no mesmo sistema." -#: ../../glossary.rst:1249 +#: ../../glossary.rst:1265 msgid "See also :mod:`venv`." msgstr "Veja também :mod:`venv`." -#: ../../glossary.rst:1250 +#: ../../glossary.rst:1266 msgid "virtual machine" msgstr "máquina virtual" -#: ../../glossary.rst:1252 +#: ../../glossary.rst:1268 msgid "" "A computer defined entirely in software. Python's virtual machine executes " "the :term:`bytecode` emitted by the bytecode compiler." @@ -2908,11 +2952,11 @@ msgstr "" "Um computador definido inteiramente em software. A máquina virtual de Python " "executa o :term:`bytecode` emitido pelo compilador de bytecode." -#: ../../glossary.rst:1254 +#: ../../glossary.rst:1270 msgid "Zen of Python" msgstr "Zen do Python" -#: ../../glossary.rst:1256 +#: ../../glossary.rst:1272 msgid "" "Listing of Python design principles and philosophies that are helpful in " "understanding and using the language. The listing can be found by typing " @@ -2922,18 +2966,18 @@ msgstr "" "compreensão e uso da linguagem. A lista é exibida quando se digita " "\"``import this``\" no console interativo." -#: ../../glossary.rst:263 +#: ../../glossary.rst:264 msgid "C-contiguous" msgstr "contíguo C" -#: ../../glossary.rst:263 +#: ../../glossary.rst:264 msgid "Fortran contiguous" msgstr "contíguo Fortran" -#: ../../glossary.rst:756 +#: ../../glossary.rst:761 msgid "magic" msgstr "mágico" -#: ../../glossary.rst:1120 +#: ../../glossary.rst:1129 msgid "special" msgstr "especial" diff --git a/howto/annotations.po b/howto/annotations.po index d2cf80ae5..dd56db0df 100644 --- a/howto/annotations.po +++ b/howto/annotations.po @@ -1,35 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Hemílio Lauro , 2021 -# Flávio Neves, 2022 -# Nicolas Evangelista, 2022 -# Ruan Aragão , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Ruan Aragão , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../howto/annotations.rst:5 msgid "Annotations Best Practices" -msgstr "Boas Práticas de Anotação" +msgstr "Boas práticas para anotações" #: ../../howto/annotations.rst:0 msgid "author" @@ -39,7 +35,7 @@ msgstr "autor" msgid "Larry Hastings" msgstr "Larry Hastings" -#: ../../howto/annotations.rstNone +#: ../../howto/annotations.rst-1 msgid "Abstract" msgstr "Resumo" @@ -74,53 +70,67 @@ msgstr "" msgid "" "Note that this document is specifically about working with " "``__annotations__``, not uses *for* annotations. If you're looking for " -"information on how to use \"type hints\" in your code, please see the :mod:" -"`typing` module." +"information on how to use \"type hints\" in your code, please see " +"the :mod:`typing` module." msgstr "" "Note que este documento é específico sobre trabalhar com " -"``__annotations__``, não usa para anotações. Se você está procurando por " -"informações sobre como usar \"type hints\" no seu código, por favor veja o " -"módulo :mod:`typing`" +"``__annotations__``, não para o uso *de* anotações. Se você está procurando " +"por informações sobre como usar \"type hints\" no seu código, por favor veja " +"o módulo :mod:`typing`" #: ../../howto/annotations.rst:33 msgid "Accessing The Annotations Dict Of An Object In Python 3.10 And Newer" msgstr "" -"Acessando O Dicionário De Anotações De Um Objeto No Python 3.10 E Nas " -"Versões Mais Recente." +"Acessando o dicionário de anotações de um objeto no Python 3.10 e nas " +"versões mais recentes" #: ../../howto/annotations.rst:35 msgid "" -"Python 3.10 adds a new function to the standard library: :func:`inspect." -"get_annotations`. In Python versions 3.10 and newer, calling this function " -"is the best practice for accessing the annotations dict of any object that " -"supports annotations. This function can also \"un-stringize\" stringized " -"annotations for you." +"Python 3.10 adds a new function to the standard " +"library: :func:`inspect.get_annotations`. In Python versions 3.10 and " +"newer, calling this function is the best practice for accessing the " +"annotations dict of any object that supports annotations. This function can " +"also \"un-stringize\" stringized annotations for you." msgstr "" -"O Python 3.10 adicionou uma nova função para a biblioteca padrão: :func:" -"`inspect.get_annotations`. No Python 3.10 e nas versões mais recentes, " -"chamando esta função é a melhor pratica para acessar o dicionário de " -"anotações de qualquer objeto que suporta anotações. Esta função pode até " +"O Python 3.10 adicionou uma nova função para a biblioteca " +"padrão: :func:`inspect.get_annotations`. No Python 3.10 e nas versões mais " +"recentes, chamar esta função é a melhor prática para acessar o dicionário de " +"anotações de qualquer objeto com suporte a anotações. Esta função pode até " "\"destextualizar\" anotações textualizadas para você." #: ../../howto/annotations.rst:42 msgid "" "If for some reason :func:`inspect.get_annotations` isn't viable for your use " "case, you may access the ``__annotations__`` data member manually. Best " -"practice for this changed in Python 3.10 as well: as of Python 3.10, ``o." -"__annotations__`` is guaranteed to *always* work on Python functions, " +"practice for this changed in Python 3.10 as well: as of Python 3.10, " +"``o.__annotations__`` is guaranteed to *always* work on Python functions, " "classes, and modules. If you're certain the object you're examining is one " "of these three *specific* objects, you may simply use ``o.__annotations__`` " "to get at the object's annotations dict." msgstr "" +"Se por alguma razão :func:`inspect.get_annotations` não for viável para o " +"seu caso de uso, você pode acessar o membro de dados ``__annotations__`` " +"manualmente. As melhores práticas para isto também mudaram no Python 3.10: a " +"partir do Python 3.10, ``o.__annotations__`` é garantido *sempre* funcionar " +"em funções, classes e módulos Python. Se você tem certeza que o objeto que " +"você está examinando é um desses três *exatos* objetos, pode simplesmente " +"usar ``o.__annotations__`` para chegar no dicionário de anotações do objeto." #: ../../howto/annotations.rst:52 msgid "" -"However, other types of callables--for example, callables created by :func:" -"`functools.partial`--may not have an ``__annotations__`` attribute defined. " -"When accessing the ``__annotations__`` of a possibly unknown object, best " -"practice in Python versions 3.10 and newer is to call :func:`getattr` with " -"three arguments, for example ``getattr(o, '__annotations__', None)``." +"However, other types of callables--for example, callables created " +"by :func:`functools.partial`--may not have an ``__annotations__`` attribute " +"defined. When accessing the ``__annotations__`` of a possibly unknown " +"object, best practice in Python versions 3.10 and newer is to " +"call :func:`getattr` with three arguments, for example ``getattr(o, " +"'__annotations__', None)``." msgstr "" +"Contudo, outros tipos de chamáveis -- por exemplo, chamáveis criados " +"por :func:`functools.partial` -- podem não ter um atributo " +"``__annotations__`` definido. Ao acessar o ``__annotations__`` de um objeto " +"possivelmente desconhecido, as melhores práticas nas versões de Python 3.10 " +"e mais novas é chamar :func:`getattr` com três argumentos, por exemplo " +"``getattr(o, '__annotations__', None)``." #: ../../howto/annotations.rst:60 msgid "" @@ -129,12 +139,16 @@ msgid "" "parent's ``__annotations__``. In Python 3.10 and newer, the child class's " "annotations will be an empty dict instead." msgstr "" +"Antes de Python 3.10, acessar ``__annotations__`` numa classe que não define " +"anotações mas que possui uma classe base com anotações retorna o " +"``__annotations__`` da classe pai. A partir do Python 3.10, a anotação da " +"classe filha será um dicionário vazio." #: ../../howto/annotations.rst:68 msgid "Accessing The Annotations Dict Of An Object In Python 3.9 And Older" msgstr "" -"Acessando O Dicionário De Anotações De Um Objeto No Python 3.9 E Nas Versões " -"Mais Antigas." +"Acessando o dicionário de anotações de um objeto no Python 3.9 e nas versões " +"mais antigas" #: ../../howto/annotations.rst:70 msgid "" @@ -142,6 +156,10 @@ msgid "" "more complicated than in newer versions. The problem is a design flaw in " "these older versions of Python, specifically to do with class annotations." msgstr "" +"Em Python 3.9 e versões mais antigas, acessar o dicionário de anotações de " +"um objeto é muito mais complicado que em versões mais novas. O problema é " +"uma falha de design em versões mais antigas do Python, especificamente a " +"respeito de anotações de classe." #: ../../howto/annotations.rst:75 msgid "" @@ -151,6 +169,12 @@ msgid "" "should use three-argument :func:`getattr` to access the object's " "``__annotations__`` attribute." msgstr "" +"As melhores práticas para acessar os dicionários de anotações de outros " +"objetos, funções, outros chamáveis e módulos - são as mesmas melhores " +"práticas para 3.10, supondo que você não esteja " +"chamando :func:`inspect.get_annotations`: você deve usar a " +"função :func:`getattr` com três argumentos para acessar os atributos do " +"objeto ``__annotations__``." #: ../../howto/annotations.rst:82 msgid "" @@ -160,10 +184,16 @@ msgid "" "``__annotations__`` attribute of a class may inadvertently return the " "annotations dict of a *base class.* As an example::" msgstr "" +"Infelizmente, essas não são as melhores práticas para classes. O problema é " +"que, como ``__annotations__`` é opcional nas classes, e posto que classes " +"podem herdar atributos das suas classes base, acessar o atributo " +"``__annotations__`` de uma classe pode inesperadamente retornar o dicionário " +"de anotações de uma *classe base.* Por exemplo::" #: ../../howto/annotations.rst:98 msgid "This will print the annotations dict from ``Base``, not ``Derived``." msgstr "" +"Isso mostrará o dicionário de anotações de ``Base``, não de ``Derived``." #: ../../howto/annotations.rst:101 msgid "" @@ -174,6 +204,13 @@ msgid "" "dictionary. Since the class may or may not have annotations defined, best " "practice is to call the ``get`` method on the class dict." msgstr "" +"Seu código deve seguir uma abordagem diferente caso o objeto que você esteja " +"examinando seja uma classe (``isinstance(o, type)``). Nesse caso, a melhor " +"prática está ligada a um detalhe de implementação do Python 3.9 e " +"anteriores: se a classe possui anotações definidas, elas são armazenadas no " +"dicionário ``__dict__`` da classe. Como a classe pode ou não ter anotações " +"definidas, a melhor prática é chamar o método ``get`` no dicionário da " +"classe." #: ../../howto/annotations.rst:109 msgid "" @@ -181,13 +218,19 @@ msgid "" "``__annotations__`` attribute on an arbitrary object in Python 3.9 and " "before::" msgstr "" +"Considerando tudo isso, aqui está um exemplo de código que acessa de forma " +"segura o atributo ``__annotations__`` em um objeto arbitrário em Python 3.9 " +"e anteriores::" #: ../../howto/annotations.rst:118 msgid "" "After running this code, ``ann`` should be either a dictionary or ``None``. " -"You're encouraged to double-check the type of ``ann`` using :func:" -"`isinstance` before further examination." +"You're encouraged to double-check the type of ``ann`` " +"using :func:`isinstance` before further examination." msgstr "" +"Após executar este código, ``ann`` deve ser um dicionário ou ``None``. Você " +"é encorajado a fazer uma checagem dupla do tipo de ``ann`` " +"utilizando :func:`isinstance` antes de uma análise mais aprofundada." #: ../../howto/annotations.rst:123 msgid "" @@ -195,10 +238,13 @@ msgid "" "attribute, so for extra safety you may also wish to use :func:`getattr` to " "access ``__dict__``." msgstr "" +"Note que alguns tipos de objetos exóticos ou mal formatados podem não " +"possuir um atributo ``__dict__``, então por precaução você também pode " +"querer usar :func:`getattr` para acessar ``__dict__``." #: ../../howto/annotations.rst:129 msgid "Manually Un-Stringizing Stringized Annotations" -msgstr "" +msgstr "Recuperando manualmente anotações transformadas em strings" #: ../../howto/annotations.rst:131 msgid "" @@ -207,49 +253,72 @@ msgid "" "really is best to call :func:`inspect.get_annotations` to do this work for " "you." msgstr "" +"Em situações em que as anotações podem ter sido transformadas em strings, e " +"caso queira avaliar essas strings para produzir os valores de Python que " +"elas representam, é melhor chamar :func:`inspect.get_annotations` para fazer " +"isto por você." #: ../../howto/annotations.rst:137 msgid "" -"If you're using Python 3.9 or older, or if for some reason you can't use :" -"func:`inspect.get_annotations`, you'll need to duplicate its logic. You're " -"encouraged to examine the implementation of :func:`inspect.get_annotations` " -"in the current Python version and follow a similar approach." +"If you're using Python 3.9 or older, or if for some reason you can't " +"use :func:`inspect.get_annotations`, you'll need to duplicate its logic. " +"You're encouraged to examine the implementation " +"of :func:`inspect.get_annotations` in the current Python version and follow " +"a similar approach." msgstr "" +"Se estiver usando Python 3.9 ou anterior, ou por algum motivo não puder " +"usar :func:`inspect.get_annotations`, será necessário replicar sua lógica. " +"Considere examinar a implementação de :func:`inspect.get_annotations` na " +"versão de Python atual e seguir uma abordagem similar." #: ../../howto/annotations.rst:143 msgid "" "In a nutshell, if you wish to evaluate a stringized annotation on an " "arbitrary object ``o``:" msgstr "" +"Resumindo, caso deseje avaliar uma anotação transformada em string em um " +"objeto arbitrário ``o``:" #: ../../howto/annotations.rst:146 msgid "" -"If ``o`` is a module, use ``o.__dict__`` as the ``globals`` when calling :" -"func:`eval`." +"If ``o`` is a module, use ``o.__dict__`` as the ``globals`` when " +"calling :func:`eval`." msgstr "" +"Se ``o`` for um módulo, use ``o.__dict__`` como ``globals`` ao " +"chamar :func:`eval`." #: ../../howto/annotations.rst:148 msgid "" "If ``o`` is a class, use ``sys.modules[o.__module__].__dict__`` as the " -"``globals``, and ``dict(vars(o))`` as the ``locals``, when calling :func:" -"`eval`." +"``globals``, and ``dict(vars(o))`` as the ``locals``, when " +"calling :func:`eval`." msgstr "" +"Se ``o`` for uma classe, use ``sys.modules[o.__module__].__dict__`` como " +"``globals``, e ``dict(vars(o))`` como ``locals``, quando chamar :func:`eval`." #: ../../howto/annotations.rst:151 msgid "" -"If ``o`` is a wrapped callable using :func:`functools.update_wrapper`, :func:" -"`functools.wraps`, or :func:`functools.partial`, iteratively unwrap it by " -"accessing either ``o.__wrapped__`` or ``o.func`` as appropriate, until you " -"have found the root unwrapped function." +"If ``o`` is a wrapped callable " +"using :func:`functools.update_wrapper`, :func:`functools.wraps`, " +"or :func:`functools.partial`, iteratively unwrap it by accessing either " +"``o.__wrapped__`` or ``o.func`` as appropriate, until you have found the " +"root unwrapped function." msgstr "" +"Se ``o`` for um chamável envolto em um invólucro " +"usando :func:`functools.update_wrapper`, :func:`functools.wraps` " +"ou :func:`functools.partial`, desenvolva-o iterativamente acessando " +"``o.__wrapped__`` ou ``o.func`` conforme apropriado, até encontrar a função " +"raiz." #: ../../howto/annotations.rst:155 msgid "" -"If ``o`` is a callable (but not a class), use ``o.__globals__`` as the " -"globals when calling :func:`eval`." +"If ``o`` is a callable (but not a class), use :attr:`o.__globals__ " +"` as the globals when calling :func:`eval`." msgstr "" +"Caso ``o`` seja chamável (mas não uma classe), use :attr:`o.__globals__ " +"` como globals quando chamar :func:`eval`." -#: ../../howto/annotations.rst:158 +#: ../../howto/annotations.rst:159 msgid "" "However, not all string values used as annotations can be successfully " "turned into Python values by :func:`eval`. String values could theoretically " @@ -257,64 +326,84 @@ msgid "" "hints that require annotating with string values that specifically *can't* " "be evaluated. For example:" msgstr "" +"Contudo, nem todas strings usadas como anotações podem ser convertidas em " +"valores de Python utilizando :func:`eval`. Valores de string poderiam " +"teoricamente conter qualquer string válida, e na prática existem casos " +"válidos para dicas de tipo que requerem anotar com valores de strings que " +"*não* podem ser executados. Por exemplo:" -#: ../../howto/annotations.rst:165 +#: ../../howto/annotations.rst:166 msgid "" ":pep:`604` union types using ``|``, before support for this was added to " "Python 3.10." msgstr "" +"Tipos de união :pep:`604` usando ``|``, antes do suporte a isso ser " +"adicionado em Python 3.10." -#: ../../howto/annotations.rst:167 +#: ../../howto/annotations.rst:168 msgid "" -"Definitions that aren't needed at runtime, only imported when :const:`typing." -"TYPE_CHECKING` is true." +"Definitions that aren't needed at runtime, only imported " +"when :const:`typing.TYPE_CHECKING` is true." msgstr "" +"Definições que não são necessárias no ambiente de execução, apenas " +"importadas quando :const:`typing.TYPE_CHECKING` é verdadeiro." -#: ../../howto/annotations.rst:170 +#: ../../howto/annotations.rst:171 msgid "" "If :func:`eval` attempts to evaluate such values, it will fail and raise an " "exception. So, when designing a library API that works with annotations, " "it's recommended to only attempt to evaluate string values when explicitly " "requested to by the caller." msgstr "" +"Caso :func:`eval` tente executar tais valores, levantará uma exceção. Então, " +"quando projetar uma biblioteca API que trabalha com anotações, é recomendado " +"que tente executar os valores das strings apenas quando for solicitado " +"explicitamente." -#: ../../howto/annotations.rst:178 +#: ../../howto/annotations.rst:179 msgid "Best Practices For ``__annotations__`` In Any Python Version" -msgstr "Melhores Prática Para ``__annotations__`` Em Qualquer Versão Python" +msgstr "Melhores práticas para ``__annotations__`` em qualquer versão Python" -#: ../../howto/annotations.rst:180 +#: ../../howto/annotations.rst:181 msgid "" "You should avoid assigning to the ``__annotations__`` member of objects " "directly. Let Python manage setting ``__annotations__``." msgstr "" +"Evite atribuir diretamente ao membro ``__annotations__`` dos objetos. Deixe " +"que Python gerenciar a configuração de ``__annotations__``." -#: ../../howto/annotations.rst:183 +#: ../../howto/annotations.rst:184 msgid "" "If you do assign directly to the ``__annotations__`` member of an object, " "you should always set it to a ``dict`` object." msgstr "" +"Se você atribuir diretamente ao membro ``__annotations__`` do objeto, sempre " +"o defina como um objeto ``dict``." -#: ../../howto/annotations.rst:186 +#: ../../howto/annotations.rst:187 msgid "" "If you directly access the ``__annotations__`` member of an object, you " "should ensure that it's a dictionary before attempting to examine its " "contents." msgstr "" +"Caso acesse diretamente o membro ``__annotations__`` de um objeto, " +"certifique-se de que ele é um dicionário antes de tentar examinar seu " +"conteúdo." -#: ../../howto/annotations.rst:190 +#: ../../howto/annotations.rst:191 msgid "You should avoid modifying ``__annotations__`` dicts." -msgstr "Você deve evitar modificar ``__annotations__`` dicts." +msgstr "Evite modificar o dicionário ``__annotations__``." -#: ../../howto/annotations.rst:192 +#: ../../howto/annotations.rst:193 msgid "" "You should avoid deleting the ``__annotations__`` attribute of an object." -msgstr "" +msgstr "Evite deletar o atributo ``__annotations__`` de um objeto." -#: ../../howto/annotations.rst:197 +#: ../../howto/annotations.rst:198 msgid "``__annotations__`` Quirks" -msgstr "" +msgstr "Peculiaridades de ``__annotations__``" -#: ../../howto/annotations.rst:199 +#: ../../howto/annotations.rst:200 msgid "" "In all versions of Python 3, function objects lazy-create an annotations " "dict if no annotations are defined on that object. You can delete the " @@ -325,14 +414,26 @@ msgid "" "an ``AttributeError``; using ``del fn.__annotations__`` twice in a row is " "guaranteed to always throw an ``AttributeError``." msgstr "" +"Em todas as versões de Python 3, objetos de função criam preguiçosamente um " +"dicionário de anotações caso nenhuma anotação seja definida nesse objeto. " +"Você pode deletar o atributo ``__annotations__`` utilizando ``del " +"fn.__annotations__``, mas ao acessar ``fn.__annotations__`` o objeto criará " +"um novo dicionário vazio que será armazenado e retornado como suas " +"anotações.\n" +"Apagar as anotações de uma função antes que ela tenha criado preguiçosamente " +"seu dicionário de anotações irá produzir um ``AttributeError``; ao utilizar " +"``del fn.__annotations__`` duas vezes em sequência, é garantido que será " +"produzido um ``AttributeError``." -#: ../../howto/annotations.rst:209 +#: ../../howto/annotations.rst:210 msgid "" "Everything in the above paragraph also applies to class and module objects " "in Python 3.10 and newer." msgstr "" +"O citado no parágrafo acima também se aplica para classes e objetos de " +"módulo em Python 3.10 e posteriores." -#: ../../howto/annotations.rst:212 +#: ../../howto/annotations.rst:213 msgid "" "In all versions of Python 3, you can set ``__annotations__`` on a function " "object to ``None``. However, subsequently accessing the annotations on that " @@ -342,17 +443,31 @@ msgid "" "``__annotations__`` to any Python value, and will retain whatever value is " "set." msgstr "" +"Em todas as versões de Python 3, você pode definir ``__annotations__`` como " +"``None`` em um objeto de função. Contudo, acessar em sequência as anotações " +"nesse objeto utilizando ``fn.__annotations__`` irá criar preguiçosamente um " +"dicionário vazio como descrito no primeiro parágrafo dessa seção. Isso *não* " +"é válido para módulos e classes, em qualquer versão de Python; esses objetos " +"permitem atribuir ``__annotations__`` a qualquer valor de Python, e " +"armazenam qualquer valor atribuído." -#: ../../howto/annotations.rst:220 +#: ../../howto/annotations.rst:221 msgid "" "If Python stringizes your annotations for you (using ``from __future__ " "import annotations``), and you specify a string as an annotation, the string " "will itself be quoted. In effect the annotation is quoted *twice.* For " "example::" msgstr "" +"Se Python transformar sua anotação em string (utilizando ``from __future__ " +"import annotations``), e você especificar uma string como anotação, essa " +"string será posta entre aspas. Na prática a anotação receberá aspas " +"*duplas*. Por exemplo::" -#: ../../howto/annotations.rst:231 +#: ../../howto/annotations.rst:232 msgid "" "This prints ``{'a': \"'str'\"}``. This shouldn't really be considered a " "\"quirk\"; it's mentioned here simply because it might be surprising." msgstr "" +"Isso exibe ``{'a': \"'str'\"}``. Não considere isso como uma " +"\"peculiaridade\"; foi mencionado aqui simplesmente porque pode ser " +"surpreendente." diff --git a/howto/argparse.po b/howto/argparse.po index 3c33af0ff..c7c40dc37 100644 --- a/howto/argparse.po +++ b/howto/argparse.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Humberto Rocha , 2021 -# Hemílio Lauro , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -50,15 +47,15 @@ msgstr "" #: ../../howto/argparse.rst:16 msgid "" "There are two other modules that fulfill the same task, namely :mod:`getopt` " -"(an equivalent for ``getopt()`` from the C language) and the deprecated :mod:" -"`optparse`. Note also that :mod:`argparse` is based on :mod:`optparse`, and " -"therefore very similar in terms of usage." +"(an equivalent for ``getopt()`` from the C language) and the " +"deprecated :mod:`optparse`. Note also that :mod:`argparse` is based " +"on :mod:`optparse`, and therefore very similar in terms of usage." msgstr "" -"Existem outros dois módulos que cumprem esta mesma tarefa, chamados :mod:" -"`getopt` (equivalente ao ``getopt()`` da linguagem C) e outro que hoje está " -"descontinuado :mod:`optparse`. Note também que o :mod:`argparse` é baseado " -"no módulo :mod:`optparse`, e, portanto, possui bastante similaridade em " -"termos de uso." +"Existem outros dois módulos que cumprem esta mesma tarefa, " +"chamados :mod:`getopt` (equivalente ao ``getopt()`` da linguagem C) e outro " +"que hoje está descontinuado :mod:`optparse`. Note também que " +"o :mod:`argparse` é baseado no módulo :mod:`optparse`, e, portanto, possui " +"bastante similaridade em termos de uso." #: ../../howto/argparse.rst:24 msgid "Concepts" @@ -249,8 +246,8 @@ msgstr "Agora, que tal fazer algo ainda mais útil::" #: ../../howto/argparse.rst:198 msgid "" "That didn't go so well. That's because :mod:`argparse` treats the options we " -"give it as strings, unless we tell it otherwise. So, let's tell :mod:" -"`argparse` to treat that input as an integer::" +"give it as strings, unless we tell it otherwise. So, let's " +"tell :mod:`argparse` to treat that input as an integer::" msgstr "" "Isso não correu tão bem. Isso porque :mod:`argparse` trata as opções que " "damos a ele como strings, a menos que digamos o contrário. Então, vamos " @@ -294,14 +291,14 @@ msgid "" "To show that the option is actually optional, there is no error when running " "the program without it. Note that by default, if an optional argument isn't " "used, the relevant variable, in this case ``args.verbosity``, is given " -"``None`` as a value, which is the reason it fails the truth test of the :" -"keyword:`if` statement." +"``None`` as a value, which is the reason it fails the truth test of " +"the :keyword:`if` statement." msgstr "" "Para mostrar que a opção é realmente opcional, não há erro ao executar o " "programa sem ela. Observe que, por padrão, se um argumento opcional não for " "usado, a variável relevante, neste caso ``args.verbosity``, recebe ``None`` " -"como valor, razão pela qual falha no teste de verdade da instrução :keyword:" -"`if`." +"como valor, razão pela qual falha no teste de verdade da " +"instrução :keyword:`if`." #: ../../howto/argparse.rst:265 msgid "The help message is a bit different." @@ -518,8 +515,8 @@ msgid "" "We've just introduced yet another keyword, ``default``. We've set it to " "``0`` in order to make it comparable to the other int values. Remember that " "by default, if an optional argument isn't specified, it gets the ``None`` " -"value, and that cannot be compared to an int value (hence the :exc:" -"`TypeError` exception)." +"value, and that cannot be compared to an int value (hence " +"the :exc:`TypeError` exception)." msgstr "" "Acabamos de introduzir outra palavra reservada, ``default``. Nós o " "configuramos como ``0`` para torná-lo comparável aos outros valores int. " @@ -572,19 +569,21 @@ msgstr "Opções conflitantes" #: ../../howto/argparse.rst:672 msgid "" -"So far, we have been working with two methods of an :class:`argparse." -"ArgumentParser` instance. Let's introduce a third one, :meth:" -"`~ArgumentParser.add_mutually_exclusive_group`. It allows for us to specify " -"options that conflict with each other. Let's also change the rest of the " -"program so that the new functionality makes more sense: we'll introduce the " -"``--quiet`` option, which will be the opposite of the ``--verbose`` one::" -msgstr "" -"Até agora, trabalhamos com dois métodos de uma instância :class:`argparse." -"ArgumentParser`. Vamos apresentar um terceiro, :meth:`~ArgumentParser." -"add_mutually_exclusive_group`. Ele nos permite especificar opções que entram " -"em conflito umas com as outras. Vamos também alterar o resto do programa " -"para que a nova funcionalidade faça mais sentido: vamos introduzir a opção " -"``--quiet``, que será o oposto da opção ``--verbose``::" +"So far, we have been working with two methods of " +"an :class:`argparse.ArgumentParser` instance. Let's introduce a third " +"one, :meth:`~ArgumentParser.add_mutually_exclusive_group`. It allows for us " +"to specify options that conflict with each other. Let's also change the rest " +"of the program so that the new functionality makes more sense: we'll " +"introduce the ``--quiet`` option, which will be the opposite of the ``--" +"verbose`` one::" +msgstr "" +"Até agora, trabalhamos com dois métodos de uma " +"instância :class:`argparse.ArgumentParser`. Vamos apresentar um " +"terceiro, :meth:`~ArgumentParser.add_mutually_exclusive_group`. Ele nos " +"permite especificar opções que entram em conflito umas com as outras. Vamos " +"também alterar o resto do programa para que a nova funcionalidade faça mais " +"sentido: vamos introduzir a opção ``--quiet``, que será o oposto da opção " +"``--verbose``::" #: ../../howto/argparse.rst:698 msgid "" @@ -622,10 +621,84 @@ msgstr "" "nos diz que podemos usar ``-v`` ou ``-q``, mas não ambos ao mesmo tempo:" #: ../../howto/argparse.rst:763 +msgid "How to translate the argparse output" +msgstr "Como traduzir a saída do argparse" + +#: ../../howto/argparse.rst:765 +msgid "" +"The output of the :mod:`argparse` module such as its help text and error " +"messages are all made translatable using the :mod:`gettext` module. This " +"allows applications to easily localize messages produced by :mod:`argparse`. " +"See also :ref:`i18n-howto`." +msgstr "" +"A saída do módulo :mod:`argparse`, como seu texto de ajuda e mensagens de " +"erro, são todos traduzidos usando o módulo :mod:`gettext`. Isso permite que " +"os aplicativos localizem facilmente as mensagens produzidas " +"por :mod:`argparse`. Veja também :ref:`i18n-howto`." + +#: ../../howto/argparse.rst:770 +msgid "For instance, in this :mod:`argparse` output:" +msgstr "Por exemplo, nesta saída :mod:`argparse`:" + +#: ../../howto/argparse.rst:788 +msgid "" +"The strings ``usage:``, ``positional arguments:``, ``options:`` and ``show " +"this help message and exit`` are all translatable." +msgstr "" +"As strings ``usage:``, ``positional arguments:``, ``options:`` e ``show this " +"help message and exit`` são todos traduzíveis." + +#: ../../howto/argparse.rst:791 +msgid "" +"In order to translate these strings, they must first be extracted into a " +"``.po`` file. For example, using `Babel `__, run " +"this command:" +msgstr "" +"Para traduzir essas strings, elas devem primeiro ser extraídas em um arquivo " +"``.po``. Por exemplo, usando `Babel `__, execute " +"este comando:" + +#: ../../howto/argparse.rst:799 +msgid "" +"This command will extract all translatable strings from the :mod:`argparse` " +"module and output them into a file named ``messages.po``. This command " +"assumes that your Python installation is in ``/usr/lib``." +msgstr "" +"Este comando extrairá todas as strings traduzíveis do módulo :mod:`argparse` " +"e as enviará para um arquivo chamado ``messages.po``. Este comando presume " +"que sua instalação do Python está em ``/usr/lib``." + +#: ../../howto/argparse.rst:803 +msgid "" +"You can find out the location of the :mod:`argparse` module on your system " +"using this script::" +msgstr "" +"Você pode descobrir a localização do módulo :mod:`argparse` em seu sistema " +"usando este script::" + +#: ../../howto/argparse.rst:809 +msgid "" +"Once the messages in the ``.po`` file are translated and the translations " +"are installed using :mod:`gettext`, :mod:`argparse` will be able to display " +"the translated messages." +msgstr "" +"Uma vez que as mensagens no arquivo ``.po`` sejam traduzidas e as traduções " +"instaladas usando :mod:`gettext`, :mod:`argparse` será capaz de exibir as " +"mensagens traduzidas." + +#: ../../howto/argparse.rst:813 +msgid "" +"To translate your own strings in the :mod:`argparse` output, " +"use :mod:`gettext`." +msgstr "" +"Para traduzir suas próprias strings na saída :mod:`argparse`, " +"use :mod:`gettext`." + +#: ../../howto/argparse.rst:816 msgid "Conclusion" msgstr "Conclusão" -#: ../../howto/argparse.rst:765 +#: ../../howto/argparse.rst:818 msgid "" "The :mod:`argparse` module offers a lot more than shown here. Its docs are " "quite detailed and thorough, and full of examples. Having gone through this " diff --git a/howto/clinic.po b/howto/clinic.po index 2304eedb1..3758af308 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -1,2522 +1,36 @@ # 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: -# Misael borges , 2021 -# Hemílio Lauro , 2021 -# (Douglas da Silva) , 2021 -# Juliana Karoline , 2021 -# i17obot , 2021 -# Marco Rougeth , 2021 -# Rafael Fontenelle , 2021 -# Flávio Neves, 2022 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" -#: ../../howto/clinic.rst:7 +#: ../../howto/clinic.rst:8 msgid "Argument Clinic How-To" msgstr "How-To - Clínica de Argumento" -#: ../../howto/clinic.rst:0 -msgid "author" -msgstr "autor" - -#: ../../howto/clinic.rst:9 -msgid "Larry Hastings" -msgstr "Larry Hastings" - -#: ../../howto/clinic.rstNone -msgid "Abstract" -msgstr "Resumo" - -#: ../../howto/clinic.rst:14 -msgid "" -"Argument Clinic is a preprocessor for CPython C files. Its purpose is to " -"automate all the boilerplate involved with writing argument parsing code for " -"\"builtins\". This document shows you how to convert your first C function " -"to work with Argument Clinic, and then introduces some advanced topics on " -"Argument Clinic usage." -msgstr "" - -#: ../../howto/clinic.rst:21 -msgid "" -"Currently Argument Clinic is considered internal-only for CPython. Its use " -"is not supported for files outside CPython, and no guarantees are made " -"regarding backwards compatibility for future versions. In other words: if " -"you maintain an external C extension for CPython, you're welcome to " -"experiment with Argument Clinic in your own code. But the version of " -"Argument Clinic that ships with the next version of CPython *could* be " -"totally incompatible and break all your code." -msgstr "" - -#: ../../howto/clinic.rst:31 -msgid "The Goals Of Argument Clinic" -msgstr "" - -#: ../../howto/clinic.rst:33 -msgid "" -"Argument Clinic's primary goal is to take over responsibility for all " -"argument parsing code inside CPython. This means that, when you convert a " -"function to work with Argument Clinic, that function should no longer do any " -"of its own argument parsing—the code generated by Argument Clinic should be " -"a \"black box\" to you, where CPython calls in at the top, and your code " -"gets called at the bottom, with ``PyObject *args`` (and maybe ``PyObject " -"*kwargs``) magically converted into the C variables and types you need." -msgstr "" - -#: ../../howto/clinic.rst:43 -msgid "" -"In order for Argument Clinic to accomplish its primary goal, it must be easy " -"to use. Currently, working with CPython's argument parsing library is a " -"chore, requiring maintaining redundant information in a surprising number of " -"places. When you use Argument Clinic, you don't have to repeat yourself." -msgstr "" - -#: ../../howto/clinic.rst:49 -msgid "" -"Obviously, no one would want to use Argument Clinic unless it's solving " -"their problem—and without creating new problems of its own. So it's " -"paramount that Argument Clinic generate correct code. It'd be nice if the " -"code was faster, too, but at the very least it should not introduce a major " -"speed regression. (Eventually Argument Clinic *should* make a major speedup " -"possible—we could rewrite its code generator to produce tailor-made argument " -"parsing code, rather than calling the general-purpose CPython argument " -"parsing library. That would make for the fastest argument parsing possible!)" -msgstr "" - -#: ../../howto/clinic.rst:61 -msgid "" -"Additionally, Argument Clinic must be flexible enough to work with any " -"approach to argument parsing. Python has some functions with some very " -"strange parsing behaviors; Argument Clinic's goal is to support all of them." -msgstr "" - -#: ../../howto/clinic.rst:66 -msgid "" -"Finally, the original motivation for Argument Clinic was to provide " -"introspection \"signatures\" for CPython builtins. It used to be, the " -"introspection query functions would throw an exception if you passed in a " -"builtin. With Argument Clinic, that's a thing of the past!" -msgstr "" - -#: ../../howto/clinic.rst:72 -msgid "" -"One idea you should keep in mind, as you work with Argument Clinic: the more " -"information you give it, the better job it'll be able to do. Argument Clinic " -"is admittedly relatively simple right now. But as it evolves it will get " -"more sophisticated, and it should be able to do many interesting and smart " -"things with all the information you give it." -msgstr "" - -#: ../../howto/clinic.rst:82 -msgid "Basic Concepts And Usage" -msgstr "" - -#: ../../howto/clinic.rst:84 -msgid "" -"Argument Clinic ships with CPython; you'll find it in ``Tools/clinic/clinic." -"py``. If you run that script, specifying a C file as an argument:" -msgstr "" - -#: ../../howto/clinic.rst:91 -msgid "" -"Argument Clinic will scan over the file looking for lines that look exactly " -"like this:" -msgstr "" - -#: ../../howto/clinic.rst:98 -msgid "" -"When it finds one, it reads everything up to a line that looks exactly like " -"this:" -msgstr "" - -#: ../../howto/clinic.rst:105 -msgid "" -"Everything in between these two lines is input for Argument Clinic. All of " -"these lines, including the beginning and ending comment lines, are " -"collectively called an Argument Clinic \"block\"." -msgstr "" - -#: ../../howto/clinic.rst:109 -msgid "" -"When Argument Clinic parses one of these blocks, it generates output. This " -"output is rewritten into the C file immediately after the block, followed by " -"a comment containing a checksum. The Argument Clinic block now looks like " -"this:" -msgstr "" - -#: ../../howto/clinic.rst:122 -msgid "" -"If you run Argument Clinic on the same file a second time, Argument Clinic " -"will discard the old output and write out the new output with a fresh " -"checksum line. However, if the input hasn't changed, the output won't " -"change either." -msgstr "" - -#: ../../howto/clinic.rst:126 -msgid "" -"You should never modify the output portion of an Argument Clinic block. " -"Instead, change the input until it produces the output you want. (That's " -"the purpose of the checksum—to detect if someone changed the output, as " -"these edits would be lost the next time Argument Clinic writes out fresh " -"output.)" -msgstr "" - -#: ../../howto/clinic.rst:131 -msgid "" -"For the sake of clarity, here's the terminology we'll use with Argument " -"Clinic:" -msgstr "" - -#: ../../howto/clinic.rst:133 -msgid "" -"The first line of the comment (``/*[clinic input]``) is the *start line*." -msgstr "" - -#: ../../howto/clinic.rst:134 -msgid "" -"The last line of the initial comment (``[clinic start generated code]*/``) " -"is the *end line*." -msgstr "" - -#: ../../howto/clinic.rst:135 -msgid "" -"The last line (``/*[clinic end generated code: checksum=...]*/``) is the " -"*checksum line*." -msgstr "" - -#: ../../howto/clinic.rst:136 -msgid "In between the start line and the end line is the *input*." -msgstr "" - -#: ../../howto/clinic.rst:137 -msgid "In between the end line and the checksum line is the *output*." -msgstr "" - -#: ../../howto/clinic.rst:138 -msgid "" -"All the text collectively, from the start line to the checksum line " -"inclusively, is the *block*. (A block that hasn't been successfully " -"processed by Argument Clinic yet doesn't have output or a checksum line, but " -"it's still considered a block.)" -msgstr "" - -#: ../../howto/clinic.rst:145 -msgid "Converting Your First Function" -msgstr "" - -#: ../../howto/clinic.rst:147 -msgid "" -"The best way to get a sense of how Argument Clinic works is to convert a " -"function to work with it. Here, then, are the bare minimum steps you'd need " -"to follow to convert a function to work with Argument Clinic. Note that for " -"code you plan to check in to CPython, you really should take the conversion " -"farther, using some of the advanced concepts you'll see later on in the " -"document (like \"return converters\" and \"self converters\"). But we'll " -"keep it simple for this walkthrough so you can learn." -msgstr "" - -#: ../../howto/clinic.rst:156 -msgid "Let's dive in!" -msgstr "" - -#: ../../howto/clinic.rst:158 -msgid "" -"Make sure you're working with a freshly updated checkout of the CPython " -"trunk." -msgstr "" - -#: ../../howto/clinic.rst:161 -msgid "" -"Find a Python builtin that calls either :c:func:`PyArg_ParseTuple` or :c:" -"func:`PyArg_ParseTupleAndKeywords`, and hasn't been converted to work with " -"Argument Clinic yet. For my example I'm using ``_pickle.Pickler.dump()``." -msgstr "" - -#: ../../howto/clinic.rst:166 -msgid "" -"If the call to the ``PyArg_Parse`` function uses any of the following format " -"units:" -msgstr "" - -#: ../../howto/clinic.rst:178 -msgid "" -"or if it has multiple calls to :c:func:`PyArg_ParseTuple`, you should choose " -"a different function. Argument Clinic *does* support all of these " -"scenarios. But these are advanced topics—let's do something simpler for " -"your first function." -msgstr "" - -#: ../../howto/clinic.rst:183 -msgid "" -"Also, if the function has multiple calls to :c:func:`PyArg_ParseTuple` or :c:" -"func:`PyArg_ParseTupleAndKeywords` where it supports different types for the " -"same argument, or if the function uses something besides PyArg_Parse " -"functions to parse its arguments, it probably isn't suitable for conversion " -"to Argument Clinic. Argument Clinic doesn't support generic functions or " -"polymorphic parameters." -msgstr "" - -#: ../../howto/clinic.rst:190 -msgid "Add the following boilerplate above the function, creating our block::" -msgstr "" - -#: ../../howto/clinic.rst:195 -msgid "" -"Cut the docstring and paste it in between the ``[clinic]`` lines, removing " -"all the junk that makes it a properly quoted C string. When you're done you " -"should have just the text, based at the left margin, with no line wider than " -"80 characters. (Argument Clinic will preserve indents inside the docstring.)" -msgstr "" - -#: ../../howto/clinic.rst:201 -msgid "" -"If the old docstring had a first line that looked like a function signature, " -"throw that line away. (The docstring doesn't need it anymore—when you use " -"``help()`` on your builtin in the future, the first line will be built " -"automatically based on the function's signature.)" -msgstr "" - -#: ../../howto/clinic.rst:207 ../../howto/clinic.rst:228 -#: ../../howto/clinic.rst:252 ../../howto/clinic.rst:310 -#: ../../howto/clinic.rst:350 ../../howto/clinic.rst:377 -#: ../../howto/clinic.rst:483 ../../howto/clinic.rst:535 -msgid "Sample::" -msgstr "" - -#: ../../howto/clinic.rst:213 -msgid "" -"If your docstring doesn't have a \"summary\" line, Argument Clinic will " -"complain. So let's make sure it has one. The \"summary\" line should be a " -"paragraph consisting of a single 80-column line at the beginning of the " -"docstring." -msgstr "" - -#: ../../howto/clinic.rst:218 -msgid "" -"(Our example docstring consists solely of a summary line, so the sample code " -"doesn't have to change for this step.)" -msgstr "" - -#: ../../howto/clinic.rst:221 -msgid "" -"Above the docstring, enter the name of the function, followed by a blank " -"line. This should be the Python name of the function, and should be the " -"full dotted path to the function—it should start with the name of the " -"module, include any sub-modules, and if the function is a method on a class " -"it should include the class name too." -msgstr "" - -#: ../../howto/clinic.rst:236 -msgid "" -"If this is the first time that module or class has been used with Argument " -"Clinic in this C file, you must declare the module and/or class. Proper " -"Argument Clinic hygiene prefers declaring these in a separate block " -"somewhere near the top of the C file, in the same way that include files and " -"statics go at the top. (In our sample code we'll just show the two blocks " -"next to each other.)" -msgstr "" - -#: ../../howto/clinic.rst:244 -msgid "" -"The name of the class and module should be the same as the one seen by " -"Python. Check the name defined in the :c:type:`PyModuleDef` or :c:type:" -"`PyTypeObject` as appropriate." -msgstr "" - -#: ../../howto/clinic.rst:248 -msgid "" -"When you declare a class, you must also specify two aspects of its type in " -"C: the type declaration you'd use for a pointer to an instance of this " -"class, and a pointer to the :c:type:`PyTypeObject` for this class." -msgstr "" - -#: ../../howto/clinic.rst:268 -msgid "" -"Declare each of the parameters to the function. Each parameter should get " -"its own line. All the parameter lines should be indented from the function " -"name and the docstring." -msgstr "" - -#: ../../howto/clinic.rst:272 -msgid "The general form of these parameter lines is as follows:" -msgstr "" - -#: ../../howto/clinic.rst:278 -msgid "If the parameter has a default value, add that after the converter:" -msgstr "" - -#: ../../howto/clinic.rst:285 -msgid "" -"Argument Clinic's support for \"default values\" is quite sophisticated; " -"please see :ref:`the section below on default values ` for " -"more information." -msgstr "" - -#: ../../howto/clinic.rst:289 -msgid "Add a blank line below the parameters." -msgstr "" - -#: ../../howto/clinic.rst:291 -msgid "" -"What's a \"converter\"? It establishes both the type of the variable used " -"in C, and the method to convert the Python value into a C value at runtime. " -"For now you're going to use what's called a \"legacy converter\"—a " -"convenience syntax intended to make porting old code into Argument Clinic " -"easier." -msgstr "" - -#: ../../howto/clinic.rst:298 -msgid "" -"For each parameter, copy the \"format unit\" for that parameter from the " -"``PyArg_Parse()`` format argument and specify *that* as its converter, as a " -"quoted string. (\"format unit\" is the formal name for the one-to-three " -"character substring of the ``format`` parameter that tells the argument " -"parsing function what the type of the variable is and how to convert it. " -"For more on format units please see :ref:`arg-parsing`.)" -msgstr "" - -#: ../../howto/clinic.rst:307 -msgid "" -"For multicharacter format units like ``z#``, use the entire two-or-three " -"character string." -msgstr "" - -#: ../../howto/clinic.rst:325 -msgid "" -"If your function has ``|`` in the format string, meaning some parameters " -"have default values, you can ignore it. Argument Clinic infers which " -"parameters are optional based on whether or not they have default values." -msgstr "" - -#: ../../howto/clinic.rst:330 -msgid "" -"If your function has ``$`` in the format string, meaning it takes keyword-" -"only arguments, specify ``*`` on a line by itself before the first keyword-" -"only argument, indented the same as the parameter lines." -msgstr "" - -#: ../../howto/clinic.rst:335 -msgid "(``_pickle.Pickler.dump`` has neither, so our sample is unchanged.)" -msgstr "" - -#: ../../howto/clinic.rst:338 -msgid "" -"If the existing C function calls :c:func:`PyArg_ParseTuple` (as opposed to :" -"c:func:`PyArg_ParseTupleAndKeywords`), then all its arguments are positional-" -"only." -msgstr "" - -#: ../../howto/clinic.rst:342 -msgid "" -"To mark all parameters as positional-only in Argument Clinic, add a ``/`` on " -"a line by itself after the last parameter, indented the same as the " -"parameter lines." -msgstr "" - -#: ../../howto/clinic.rst:346 -msgid "" -"Currently this is all-or-nothing; either all parameters are positional-only, " -"or none of them are. (In the future Argument Clinic may relax this " -"restriction.)" -msgstr "" - -#: ../../howto/clinic.rst:366 -msgid "" -"It's helpful to write a per-parameter docstring for each parameter. But per-" -"parameter docstrings are optional; you can skip this step if you prefer." -msgstr "" - -#: ../../howto/clinic.rst:370 -msgid "" -"Here's how to add a per-parameter docstring. The first line of the per-" -"parameter docstring must be indented further than the parameter definition. " -"The left margin of this first line establishes the left margin for the whole " -"per-parameter docstring; all the text you write will be outdented by this " -"amount. You can write as much text as you like, across multiple lines if " -"you wish." -msgstr "" - -#: ../../howto/clinic.rst:394 -msgid "" -"Save and close the file, then run ``Tools/clinic/clinic.py`` on it. With " -"luck everything worked---your block now has output, and a ``.c.h`` file has " -"been generated! Reopen the file in your text editor to see::" -msgstr "" - -#: ../../howto/clinic.rst:413 -msgid "" -"Obviously, if Argument Clinic didn't produce any output, it's because it " -"found an error in your input. Keep fixing your errors and retrying until " -"Argument Clinic processes your file without complaint." -msgstr "" - -#: ../../howto/clinic.rst:417 -msgid "" -"For readability, most of the glue code has been generated to a ``.c.h`` " -"file. You'll need to include that in your original ``.c`` file, typically " -"right after the clinic module block::" -msgstr "" - -#: ../../howto/clinic.rst:423 -msgid "" -"Double-check that the argument-parsing code Argument Clinic generated looks " -"basically the same as the existing code." -msgstr "" - -#: ../../howto/clinic.rst:426 -msgid "" -"First, ensure both places use the same argument-parsing function. The " -"existing code must call either :c:func:`PyArg_ParseTuple` or :c:func:" -"`PyArg_ParseTupleAndKeywords`; ensure that the code generated by Argument " -"Clinic calls the *exact* same function." -msgstr "" - -#: ../../howto/clinic.rst:432 -msgid "" -"Second, the format string passed in to :c:func:`PyArg_ParseTuple` or :c:func:" -"`PyArg_ParseTupleAndKeywords` should be *exactly* the same as the hand-" -"written one in the existing function, up to the colon or semi-colon." -msgstr "" - -#: ../../howto/clinic.rst:437 -msgid "" -"(Argument Clinic always generates its format strings with a ``:`` followed " -"by the name of the function. If the existing code's format string ends with " -"``;``, to provide usage help, this change is harmless—don't worry about it.)" -msgstr "" - -#: ../../howto/clinic.rst:442 -msgid "" -"Third, for parameters whose format units require two arguments (like a " -"length variable, or an encoding string, or a pointer to a conversion " -"function), ensure that the second argument is *exactly* the same between the " -"two invocations." -msgstr "" - -#: ../../howto/clinic.rst:447 -msgid "" -"Fourth, inside the output portion of the block you'll find a preprocessor " -"macro defining the appropriate static :c:type:`PyMethodDef` structure for " -"this builtin::" -msgstr "" - -#: ../../howto/clinic.rst:454 -msgid "" -"This static structure should be *exactly* the same as the existing static :c:" -"type:`PyMethodDef` structure for this builtin." -msgstr "" - -#: ../../howto/clinic.rst:457 -msgid "" -"If any of these items differ in *any way*, adjust your Argument Clinic " -"function specification and rerun ``Tools/clinic/clinic.py`` until they *are* " -"the same." -msgstr "" - -#: ../../howto/clinic.rst:462 -msgid "" -"Notice that the last line of its output is the declaration of your \"impl\" " -"function. This is where the builtin's implementation goes. Delete the " -"existing prototype of the function you're modifying, but leave the opening " -"curly brace. Now delete its argument parsing code and the declarations of " -"all the variables it dumps the arguments into. Notice how the Python " -"arguments are now arguments to this impl function; if the implementation " -"used different names for these variables, fix it." -msgstr "" - -#: ../../howto/clinic.rst:470 -msgid "" -"Let's reiterate, just because it's kind of weird. Your code should now look " -"like this::" -msgstr "" - -#: ../../howto/clinic.rst:479 -msgid "" -"Argument Clinic generated the checksum line and the function prototype just " -"above it. You should write the opening (and closing) curly braces for the " -"function, and the implementation inside." -msgstr "" - -#: ../../howto/clinic.rst:524 -msgid "" -"Remember the macro with the :c:type:`PyMethodDef` structure for this " -"function? Find the existing :c:type:`PyMethodDef` structure for this " -"function and replace it with a reference to the macro. (If the builtin is " -"at module scope, this will probably be very near the end of the file; if the " -"builtin is a class method, this will probably be below but relatively near " -"to the implementation.)" -msgstr "" - -#: ../../howto/clinic.rst:531 -msgid "" -"Note that the body of the macro contains a trailing comma. So when you " -"replace the existing static :c:type:`PyMethodDef` structure with the macro, " -"*don't* add a comma to the end." -msgstr "" - -#: ../../howto/clinic.rst:544 -msgid "" -"Compile, then run the relevant portions of the regression-test suite. This " -"change should not introduce any new compile-time warnings or errors, and " -"there should be no externally visible change to Python's behavior." -msgstr "" - -#: ../../howto/clinic.rst:548 -msgid "" -"Well, except for one difference: ``inspect.signature()`` run on your " -"function should now provide a valid signature!" -msgstr "" - -#: ../../howto/clinic.rst:551 -msgid "" -"Congratulations, you've ported your first function to work with Argument " -"Clinic!" -msgstr "" - -#: ../../howto/clinic.rst:554 -msgid "Advanced Topics" -msgstr "Tópicos Avançados" - -#: ../../howto/clinic.rst:556 -msgid "" -"Now that you've had some experience working with Argument Clinic, it's time " -"for some advanced topics." -msgstr "" - -#: ../../howto/clinic.rst:561 -msgid "Symbolic default values" -msgstr "" - -#: ../../howto/clinic.rst:563 -msgid "" -"The default value you provide for a parameter can't be any arbitrary " -"expression. Currently the following are explicitly supported:" -msgstr "" - -#: ../../howto/clinic.rst:566 -msgid "Numeric constants (integer and float)" -msgstr "" - -#: ../../howto/clinic.rst:567 -msgid "String constants" -msgstr "Constantes de strings" - -#: ../../howto/clinic.rst:568 -msgid "``True``, ``False``, and ``None``" -msgstr "" - -#: ../../howto/clinic.rst:569 -msgid "" -"Simple symbolic constants like ``sys.maxsize``, which must start with the " -"name of the module" -msgstr "" - -#: ../../howto/clinic.rst:572 -msgid "" -"(In the future, this may need to get even more elaborate, to allow full " -"expressions like ``CONSTANT - 1``.)" -msgstr "" - -#: ../../howto/clinic.rst:577 -msgid "Renaming the C functions and variables generated by Argument Clinic" -msgstr "" - -#: ../../howto/clinic.rst:579 -msgid "" -"Argument Clinic automatically names the functions it generates for you. " -"Occasionally this may cause a problem, if the generated name collides with " -"the name of an existing C function. There's an easy solution: override the " -"names used for the C functions. Just add the keyword ``\"as\"`` to your " -"function declaration line, followed by the function name you wish to use. " -"Argument Clinic will use that function name for the base (generated) " -"function, then add ``\"_impl\"`` to the end and use that for the name of the " -"impl function." -msgstr "" - -#: ../../howto/clinic.rst:587 -msgid "" -"For example, if we wanted to rename the C function names generated for " -"``pickle.Pickler.dump``, it'd look like this::" -msgstr "" - -#: ../../howto/clinic.rst:595 -msgid "" -"The base function would now be named ``pickler_dumper()``, and the impl " -"function would now be named ``pickler_dumper_impl()``." -msgstr "" - -#: ../../howto/clinic.rst:599 -msgid "" -"Similarly, you may have a problem where you want to give a parameter a " -"specific Python name, but that name may be inconvenient in C. Argument " -"Clinic allows you to give a parameter different names in Python and in C, " -"using the same ``\"as\"`` syntax::" -msgstr "" - -#: ../../howto/clinic.rst:613 -msgid "" -"Here, the name used in Python (in the signature and the ``keywords`` array) " -"would be ``file``, but the C variable would be named ``file_obj``." -msgstr "" - -#: ../../howto/clinic.rst:616 -msgid "You can use this to rename the ``self`` parameter too!" -msgstr "" - -#: ../../howto/clinic.rst:620 -msgid "Converting functions using PyArg_UnpackTuple" -msgstr "" - -#: ../../howto/clinic.rst:622 -msgid "" -"To convert a function parsing its arguments with :c:func:" -"`PyArg_UnpackTuple`, simply write out all the arguments, specifying each as " -"an ``object``. You may specify the ``type`` argument to cast the type as " -"appropriate. All arguments should be marked positional-only (add a ``/`` on " -"a line by itself after the last argument)." -msgstr "" - -#: ../../howto/clinic.rst:628 -msgid "" -"Currently the generated code will use :c:func:`PyArg_ParseTuple`, but this " -"will change soon." -msgstr "" - -#: ../../howto/clinic.rst:632 -msgid "Optional Groups" -msgstr "" - -#: ../../howto/clinic.rst:634 -msgid "" -"Some legacy functions have a tricky approach to parsing their arguments: " -"they count the number of positional arguments, then use a ``switch`` " -"statement to call one of several different :c:func:`PyArg_ParseTuple` calls " -"depending on how many positional arguments there are. (These functions " -"cannot accept keyword-only arguments.) This approach was used to simulate " -"optional arguments back before :c:func:`PyArg_ParseTupleAndKeywords` was " -"created." -msgstr "" - -#: ../../howto/clinic.rst:641 -msgid "" -"While functions using this approach can often be converted to use :c:func:" -"`PyArg_ParseTupleAndKeywords`, optional arguments, and default values, it's " -"not always possible. Some of these legacy functions have behaviors :c:func:" -"`PyArg_ParseTupleAndKeywords` doesn't directly support. The most obvious " -"example is the builtin function ``range()``, which has an optional argument " -"on the *left* side of its required argument! Another example is ``curses." -"window.addch()``, which has a group of two arguments that must always be " -"specified together. (The arguments are called ``x`` and ``y``; if you call " -"the function passing in ``x``, you must also pass in ``y``—and if you don't " -"pass in ``x`` you may not pass in ``y`` either.)" -msgstr "" - -#: ../../howto/clinic.rst:653 -msgid "" -"In any case, the goal of Argument Clinic is to support argument parsing for " -"all existing CPython builtins without changing their semantics. Therefore " -"Argument Clinic supports this alternate approach to parsing, using what are " -"called *optional groups*. Optional groups are groups of arguments that must " -"all be passed in together. They can be to the left or the right of the " -"required arguments. They can *only* be used with positional-only parameters." -msgstr "" - -#: ../../howto/clinic.rst:661 -msgid "" -"Optional groups are *only* intended for use when converting functions that " -"make multiple calls to :c:func:`PyArg_ParseTuple`! Functions that use *any* " -"other approach for parsing arguments should *almost never* be converted to " -"Argument Clinic using optional groups. Functions using optional groups " -"currently cannot have accurate signatures in Python, because Python just " -"doesn't understand the concept. Please avoid using optional groups wherever " -"possible." -msgstr "" - -#: ../../howto/clinic.rst:670 -msgid "" -"To specify an optional group, add a ``[`` on a line by itself before the " -"parameters you wish to group together, and a ``]`` on a line by itself after " -"these parameters. As an example, here's how ``curses.window.addch`` uses " -"optional groups to make the first two parameters and the last parameter " -"optional::" -msgstr "" - -#: ../../howto/clinic.rst:699 -msgid "Notes:" -msgstr "Notas:" - -#: ../../howto/clinic.rst:701 -msgid "" -"For every optional group, one additional parameter will be passed into the " -"impl function representing the group. The parameter will be an int named " -"``group_{direction}_{number}``, where ``{direction}`` is either ``right`` or " -"``left`` depending on whether the group is before or after the required " -"parameters, and ``{number}`` is a monotonically increasing number (starting " -"at 1) indicating how far away the group is from the required parameters. " -"When the impl is called, this parameter will be set to zero if this group " -"was unused, and set to non-zero if this group was used. (By used or unused, " -"I mean whether or not the parameters received arguments in this invocation.)" -msgstr "" - -#: ../../howto/clinic.rst:712 -msgid "" -"If there are no required arguments, the optional groups will behave as if " -"they're to the right of the required arguments." -msgstr "" - -#: ../../howto/clinic.rst:715 -msgid "" -"In the case of ambiguity, the argument parsing code favors parameters on the " -"left (before the required parameters)." -msgstr "" - -#: ../../howto/clinic.rst:718 -msgid "Optional groups can only contain positional-only parameters." -msgstr "" - -#: ../../howto/clinic.rst:720 -msgid "" -"Optional groups are *only* intended for legacy code. Please do not use " -"optional groups for new code." -msgstr "" - -#: ../../howto/clinic.rst:725 -msgid "Using real Argument Clinic converters, instead of \"legacy converters\"" -msgstr "" - -#: ../../howto/clinic.rst:727 -msgid "" -"To save time, and to minimize how much you need to learn to achieve your " -"first port to Argument Clinic, the walkthrough above tells you to use " -"\"legacy converters\". \"Legacy converters\" are a convenience, designed " -"explicitly to make porting existing code to Argument Clinic easier. And to " -"be clear, their use is acceptable when porting code for Python 3.4." -msgstr "" - -#: ../../howto/clinic.rst:734 -msgid "" -"However, in the long term we probably want all our blocks to use Argument " -"Clinic's real syntax for converters. Why? A couple reasons:" -msgstr "" - -#: ../../howto/clinic.rst:738 -msgid "" -"The proper converters are far easier to read and clearer in their intent." -msgstr "" - -#: ../../howto/clinic.rst:739 -msgid "" -"There are some format units that are unsupported as \"legacy converters\", " -"because they require arguments, and the legacy converter syntax doesn't " -"support specifying arguments." -msgstr "" - -#: ../../howto/clinic.rst:742 -msgid "" -"In the future we may have a new argument parsing library that isn't " -"restricted to what :c:func:`PyArg_ParseTuple` supports; this flexibility " -"won't be available to parameters using legacy converters." -msgstr "" - -#: ../../howto/clinic.rst:746 -msgid "" -"Therefore, if you don't mind a little extra effort, please use the normal " -"converters instead of legacy converters." -msgstr "" - -#: ../../howto/clinic.rst:749 -msgid "" -"In a nutshell, the syntax for Argument Clinic (non-legacy) converters looks " -"like a Python function call. However, if there are no explicit arguments to " -"the function (all functions take their default values), you may omit the " -"parentheses. Thus ``bool`` and ``bool()`` are exactly the same converters." -msgstr "" - -#: ../../howto/clinic.rst:755 -msgid "" -"All arguments to Argument Clinic converters are keyword-only. All Argument " -"Clinic converters accept the following arguments:" -msgstr "" - -#: ../../howto/clinic.rst:763 ../../howto/clinic.rst:1328 -msgid "``c_default``" -msgstr "``c_default``" - -#: ../../howto/clinic.rst:759 -msgid "" -"The default value for this parameter when defined in C. Specifically, this " -"will be the initializer for the variable declared in the \"parse " -"function\". See :ref:`the section on default values ` for " -"how to use this. Specified as a string." -msgstr "" - -#: ../../howto/clinic.rst:768 -msgid "``annotation``" -msgstr "``annotation``" - -#: ../../howto/clinic.rst:766 -msgid "" -"The annotation value for this parameter. Not currently supported, because :" -"pep:`8` mandates that the Python library may not use annotations." -msgstr "" - -#: ../../howto/clinic.rst:770 -msgid "" -"In addition, some converters accept additional arguments. Here is a list of " -"these arguments, along with their meanings:" -msgstr "" - -#: ../../howto/clinic.rst:779 -msgid "``accept``" -msgstr "``accept``" - -#: ../../howto/clinic.rst:774 -msgid "" -"A set of Python types (and possibly pseudo-types); this restricts the " -"allowable Python argument to values of these types. (This is not a general-" -"purpose facility; as a rule it only supports specific lists of types as " -"shown in the legacy converter table.)" -msgstr "" - -#: ../../howto/clinic.rst:779 -msgid "To accept ``None``, add ``NoneType`` to this set." -msgstr "" - -#: ../../howto/clinic.rst:784 -msgid "``bitwise``" -msgstr "``bitwise``" - -#: ../../howto/clinic.rst:782 -msgid "" -"Only supported for unsigned integers. The native integer value of this " -"Python argument will be written to the parameter without any range checking, " -"even for negative values." -msgstr "" - -#: ../../howto/clinic.rst:789 ../../howto/clinic.rst:1342 -msgid "``converter``" -msgstr "``converter``" - -#: ../../howto/clinic.rst:787 -msgid "" -"Only supported by the ``object`` converter. Specifies the name of a :ref:`C " -"\"converter function\" ` to use to convert this object to a " -"native type." -msgstr "" - -#: ../../howto/clinic.rst:794 -msgid "``encoding``" -msgstr "``encoding``" - -#: ../../howto/clinic.rst:792 -msgid "" -"Only supported for strings. Specifies the encoding to use when converting " -"this string from a Python str (Unicode) value into a C ``char *`` value." -msgstr "" - -#: ../../howto/clinic.rst:798 -msgid "``subclass_of``" -msgstr "``subclass_of``" - -#: ../../howto/clinic.rst:797 -msgid "" -"Only supported for the ``object`` converter. Requires that the Python value " -"be a subclass of a Python type, as expressed in C." -msgstr "" - -#: ../../howto/clinic.rst:803 ../../howto/clinic.rst:1314 -msgid "``type``" -msgstr "``type``" - -#: ../../howto/clinic.rst:801 -msgid "" -"Only supported for the ``object`` and ``self`` converters. Specifies the C " -"type that will be used to declare the variable. Default value is " -"``\"PyObject *\"``." -msgstr "" - -#: ../../howto/clinic.rst:809 -msgid "``zeroes``" -msgstr "``zeroes``" - -#: ../../howto/clinic.rst:806 -msgid "" -"Only supported for strings. If true, embedded NUL bytes (``'\\\\0'``) are " -"permitted inside the value. The length of the string will be passed in to " -"the impl function, just after the string parameter, as a parameter named " -"``_length``." -msgstr "" - -#: ../../howto/clinic.rst:811 -msgid "" -"Please note, not every possible combination of arguments will work. Usually " -"these arguments are implemented by specific ``PyArg_ParseTuple`` *format " -"units*, with specific behavior. For example, currently you cannot call " -"``unsigned_short`` without also specifying ``bitwise=True``. Although it's " -"perfectly reasonable to think this would work, these semantics don't map to " -"any existing format unit. So Argument Clinic doesn't support it. (Or, at " -"least, not yet.)" -msgstr "" - -#: ../../howto/clinic.rst:819 -msgid "" -"Below is a table showing the mapping of legacy converters into real Argument " -"Clinic converters. On the left is the legacy converter, on the right is the " -"text you'd replace it with." -msgstr "" - -#: ../../howto/clinic.rst:824 -msgid "``'B'``" -msgstr "``'B'``" - -#: ../../howto/clinic.rst:824 -msgid "``unsigned_char(bitwise=True)``" -msgstr "``unsigned_char(bitwise=True)``" - -#: ../../howto/clinic.rst:825 -msgid "``'b'``" -msgstr "``'b'``" - -#: ../../howto/clinic.rst:825 -msgid "``unsigned_char``" -msgstr "``unsigned_char``" - -#: ../../howto/clinic.rst:826 -msgid "``'c'``" -msgstr "``'c'``" - -#: ../../howto/clinic.rst:826 -msgid "``char``" -msgstr "``char``" - -#: ../../howto/clinic.rst:827 -msgid "``'C'``" -msgstr "``'C'``" - -#: ../../howto/clinic.rst:827 -msgid "``int(accept={str})``" -msgstr "``int(accept={str})``" - -#: ../../howto/clinic.rst:828 -msgid "``'d'``" -msgstr "``'d'``" - -#: ../../howto/clinic.rst:828 -msgid "``double``" -msgstr "``double``" - -#: ../../howto/clinic.rst:829 -msgid "``'D'``" -msgstr "``'D'``" - -#: ../../howto/clinic.rst:829 -msgid "``Py_complex``" -msgstr "``Py_complex``" - -#: ../../howto/clinic.rst:830 -msgid "``'es'``" -msgstr "``'es'``" - -#: ../../howto/clinic.rst:830 -msgid "``str(encoding='name_of_encoding')``" -msgstr "``str(encoding='name_of_encoding')``" - -#: ../../howto/clinic.rst:831 -msgid "``'es#'``" -msgstr "``'es#'``" - -#: ../../howto/clinic.rst:831 -msgid "``str(encoding='name_of_encoding', zeroes=True)``" -msgstr "" - -#: ../../howto/clinic.rst:832 -msgid "``'et'``" -msgstr "``'et'``" - -#: ../../howto/clinic.rst:832 -msgid "``str(encoding='name_of_encoding', accept={bytes, bytearray, str})``" -msgstr "" - -#: ../../howto/clinic.rst:833 -msgid "``'et#'``" -msgstr "``'et#'``" - -#: ../../howto/clinic.rst:833 -msgid "" -"``str(encoding='name_of_encoding', accept={bytes, bytearray, str}, " -"zeroes=True)``" -msgstr "" - -#: ../../howto/clinic.rst:834 -msgid "``'f'``" -msgstr "``'f'``" - -#: ../../howto/clinic.rst:834 -msgid "``float``" -msgstr "``float``" - -#: ../../howto/clinic.rst:835 -msgid "``'h'``" -msgstr "``'h'``" - -#: ../../howto/clinic.rst:835 -msgid "``short``" -msgstr "``short``" - -#: ../../howto/clinic.rst:836 -msgid "``'H'``" -msgstr "``'H'``" - -#: ../../howto/clinic.rst:836 -msgid "``unsigned_short(bitwise=True)``" -msgstr "``unsigned_short(bitwise=True)``" - -#: ../../howto/clinic.rst:837 -msgid "``'i'``" -msgstr "``'i'``" - -#: ../../howto/clinic.rst:837 -msgid "``int``" -msgstr "``int``" - -#: ../../howto/clinic.rst:838 -msgid "``'I'``" -msgstr "``'I'``" - -#: ../../howto/clinic.rst:838 -msgid "``unsigned_int(bitwise=True)``" -msgstr "``unsigned_int(bitwise=True)``" - -#: ../../howto/clinic.rst:839 -msgid "``'k'``" -msgstr "``'k'``" - -#: ../../howto/clinic.rst:839 -msgid "``unsigned_long(bitwise=True)``" -msgstr "``unsigned_long(bitwise=True)``" - -#: ../../howto/clinic.rst:840 -msgid "``'K'``" -msgstr "``'K'``" - -#: ../../howto/clinic.rst:840 -msgid "``unsigned_long_long(bitwise=True)``" -msgstr "``unsigned_long_long(bitwise=True)``" - -#: ../../howto/clinic.rst:841 -msgid "``'l'``" -msgstr "``'l'``" - -#: ../../howto/clinic.rst:841 -msgid "``long``" -msgstr "``long``" - -#: ../../howto/clinic.rst:842 -msgid "``'L'``" -msgstr "``'L'``" - -#: ../../howto/clinic.rst:842 -msgid "``long long``" -msgstr "" - -#: ../../howto/clinic.rst:843 -msgid "``'n'``" -msgstr "``'n'``" - -#: ../../howto/clinic.rst:843 -msgid "``Py_ssize_t``" -msgstr "``Py_ssize_t``" - -#: ../../howto/clinic.rst:844 -msgid "``'O'``" -msgstr "``'O'``" - -#: ../../howto/clinic.rst:844 -msgid "``object``" -msgstr "``object``" - -#: ../../howto/clinic.rst:845 -msgid "``'O!'``" -msgstr "``'O!'``" - -#: ../../howto/clinic.rst:845 -msgid "``object(subclass_of='&PySomething_Type')``" -msgstr "``object(subclass_of='&PySomething_Type')``" - -#: ../../howto/clinic.rst:846 -msgid "``'O&'``" -msgstr "``'O&'``" - -#: ../../howto/clinic.rst:846 -msgid "``object(converter='name_of_c_function')``" -msgstr "``object(converter='name_of_c_function')``" - -#: ../../howto/clinic.rst:847 -msgid "``'p'``" -msgstr "``'p'``" - -#: ../../howto/clinic.rst:847 -msgid "``bool``" -msgstr "``bool``" - -#: ../../howto/clinic.rst:848 -msgid "``'S'``" -msgstr "``'S'``" - -#: ../../howto/clinic.rst:848 -msgid "``PyBytesObject``" -msgstr "``PyBytesObject``" - -#: ../../howto/clinic.rst:849 -msgid "``'s'``" -msgstr "``'s'``" - -#: ../../howto/clinic.rst:849 -msgid "``str``" -msgstr "``str``" - -#: ../../howto/clinic.rst:850 -msgid "``'s#'``" -msgstr "``'s#'``" - -#: ../../howto/clinic.rst:850 -msgid "``str(zeroes=True)``" -msgstr "``str(zeroes=True)``" - -#: ../../howto/clinic.rst:851 -msgid "``'s*'``" -msgstr "``'s*'``" - -#: ../../howto/clinic.rst:851 -msgid "``Py_buffer(accept={buffer, str})``" -msgstr "" - -#: ../../howto/clinic.rst:852 -msgid "``'U'``" -msgstr "``'U'``" - -#: ../../howto/clinic.rst:852 -msgid "``unicode``" -msgstr "``unicode``" - -#: ../../howto/clinic.rst:853 -msgid "``'u'``" -msgstr "``'u'``" - -#: ../../howto/clinic.rst:853 -msgid "``Py_UNICODE``" -msgstr "``Py_UNICODE``" - -#: ../../howto/clinic.rst:854 -msgid "``'u#'``" -msgstr "``'u#'``" - -#: ../../howto/clinic.rst:854 -msgid "``Py_UNICODE(zeroes=True)``" -msgstr "``Py_UNICODE(zeroes=True)``" - -#: ../../howto/clinic.rst:855 -msgid "``'w*'``" -msgstr "``'w*'``" - -#: ../../howto/clinic.rst:855 -msgid "``Py_buffer(accept={rwbuffer})``" -msgstr "``Py_buffer(accept={rwbuffer})``" - -#: ../../howto/clinic.rst:856 -msgid "``'Y'``" -msgstr "``'Y'``" - -#: ../../howto/clinic.rst:856 -msgid "``PyByteArrayObject``" -msgstr "``PyByteArrayObject``" - -#: ../../howto/clinic.rst:857 -msgid "``'y'``" -msgstr "``'y'``" - -#: ../../howto/clinic.rst:857 -msgid "``str(accept={bytes})``" -msgstr "``str(accept={bytes})``" - -#: ../../howto/clinic.rst:858 -msgid "``'y#'``" -msgstr "``'y#'``" - -#: ../../howto/clinic.rst:858 -msgid "``str(accept={robuffer}, zeroes=True)``" -msgstr "" - -#: ../../howto/clinic.rst:859 -msgid "``'y*'``" -msgstr "``'y*'``" - -#: ../../howto/clinic.rst:859 -msgid "``Py_buffer``" -msgstr "``Py_buffer``" - -#: ../../howto/clinic.rst:860 -msgid "``'Z'``" -msgstr "``'Z'``" - -#: ../../howto/clinic.rst:860 -msgid "``Py_UNICODE(accept={str, NoneType})``" -msgstr "" - -#: ../../howto/clinic.rst:861 -msgid "``'Z#'``" -msgstr "``'Z#'``" - -#: ../../howto/clinic.rst:861 -msgid "``Py_UNICODE(accept={str, NoneType}, zeroes=True)``" -msgstr "" - -#: ../../howto/clinic.rst:862 -msgid "``'z'``" -msgstr "``'z'``" - -#: ../../howto/clinic.rst:862 -msgid "``str(accept={str, NoneType})``" -msgstr "" - -#: ../../howto/clinic.rst:863 -msgid "``'z#'``" -msgstr "``'z#'``" - -#: ../../howto/clinic.rst:863 -msgid "``str(accept={str, NoneType}, zeroes=True)``" -msgstr "" - -#: ../../howto/clinic.rst:864 -msgid "``'z*'``" -msgstr "``'z*'``" - -#: ../../howto/clinic.rst:864 -msgid "``Py_buffer(accept={buffer, str, NoneType})``" -msgstr "" - -#: ../../howto/clinic.rst:867 -msgid "" -"As an example, here's our sample ``pickle.Pickler.dump`` using the proper " -"converter::" -msgstr "" - -#: ../../howto/clinic.rst:880 -msgid "" -"One advantage of real converters is that they're more flexible than legacy " -"converters. For example, the ``unsigned_int`` converter (and all the " -"``unsigned_`` converters) can be specified without ``bitwise=True``. Their " -"default behavior performs range checking on the value, and they won't accept " -"negative numbers. You just can't do that with a legacy converter!" -msgstr "" - -#: ../../howto/clinic.rst:886 -msgid "" -"Argument Clinic will show you all the converters it has available. For each " -"converter it'll show you all the parameters it accepts, along with the " -"default value for each parameter. Just run ``Tools/clinic/clinic.py --" -"converters`` to see the full list." -msgstr "" - -#: ../../howto/clinic.rst:892 -msgid "Py_buffer" -msgstr "" - -#: ../../howto/clinic.rst:894 -msgid "" -"When using the ``Py_buffer`` converter (or the ``'s*'``, ``'w*'``, ``'*y'``, " -"or ``'z*'`` legacy converters), you *must* not call :c:func:" -"`PyBuffer_Release` on the provided buffer. Argument Clinic generates code " -"that does it for you (in the parsing function)." -msgstr "" - -#: ../../howto/clinic.rst:902 -msgid "Advanced converters" -msgstr "" - -#: ../../howto/clinic.rst:904 -msgid "" -"Remember those format units you skipped for your first time because they " -"were advanced? Here's how to handle those too." -msgstr "" - -#: ../../howto/clinic.rst:907 -msgid "" -"The trick is, all those format units take arguments—either conversion " -"functions, or types, or strings specifying an encoding. (But \"legacy " -"converters\" don't support arguments. That's why we skipped them for your " -"first function.) The argument you specified to the format unit is now an " -"argument to the converter; this argument is either ``converter`` (for " -"``O&``), ``subclass_of`` (for ``O!``), or ``encoding`` (for all the format " -"units that start with ``e``)." -msgstr "" - -#: ../../howto/clinic.rst:915 -msgid "" -"When using ``subclass_of``, you may also want to use the other custom " -"argument for ``object()``: ``type``, which lets you set the type actually " -"used for the parameter. For example, if you want to ensure that the object " -"is a subclass of ``PyUnicode_Type``, you probably want to use the converter " -"``object(type='PyUnicodeObject *', subclass_of='&PyUnicode_Type')``." -msgstr "" - -#: ../../howto/clinic.rst:921 -msgid "" -"One possible problem with using Argument Clinic: it takes away some possible " -"flexibility for the format units starting with ``e``. When writing a " -"``PyArg_Parse`` call by hand, you could theoretically decide at runtime what " -"encoding string to pass in to :c:func:`PyArg_ParseTuple`. But now this " -"string must be hard-coded at Argument-Clinic-preprocessing-time. This " -"limitation is deliberate; it made supporting this format unit much easier, " -"and may allow for future optimizations. This restriction doesn't seem " -"unreasonable; CPython itself always passes in static hard-coded encoding " -"strings for parameters whose format units start with ``e``." -msgstr "" - -#: ../../howto/clinic.rst:934 -msgid "Parameter default values" -msgstr "" - -#: ../../howto/clinic.rst:936 -msgid "" -"Default values for parameters can be any of a number of values. At their " -"simplest, they can be string, int, or float literals:" -msgstr "" - -#: ../../howto/clinic.rst:945 -msgid "They can also use any of Python's built-in constants:" -msgstr "" - -#: ../../howto/clinic.rst:953 -msgid "" -"There's also special support for a default value of ``NULL``, and for simple " -"expressions, documented in the following sections." -msgstr "" - -#: ../../howto/clinic.rst:958 -msgid "The ``NULL`` default value" -msgstr "" - -#: ../../howto/clinic.rst:960 -msgid "" -"For string and object parameters, you can set them to ``None`` to indicate " -"that there's no default. However, that means the C variable will be " -"initialized to ``Py_None``. For convenience's sakes, there's a special " -"value called ``NULL`` for just this reason: from Python's perspective it " -"behaves like a default value of ``None``, but the C variable is initialized " -"with ``NULL``." -msgstr "" - -#: ../../howto/clinic.rst:968 -msgid "Expressions specified as default values" -msgstr "" - -#: ../../howto/clinic.rst:970 -msgid "" -"The default value for a parameter can be more than just a literal value. It " -"can be an entire expression, using math operators and looking up attributes " -"on objects. However, this support isn't exactly simple, because of some non-" -"obvious semantics." -msgstr "" - -#: ../../howto/clinic.rst:975 -msgid "Consider the following example:" -msgstr "" - -#: ../../howto/clinic.rst:981 -msgid "" -"``sys.maxsize`` can have different values on different platforms. Therefore " -"Argument Clinic can't simply evaluate that expression locally and hard-code " -"it in C. So it stores the default in such a way that it will get evaluated " -"at runtime, when the user asks for the function's signature." -msgstr "" - -#: ../../howto/clinic.rst:986 -msgid "" -"What namespace is available when the expression is evaluated? It's " -"evaluated in the context of the module the builtin came from. So, if your " -"module has an attribute called \"``max_widgets``\", you may simply use it:" -msgstr "" - -#: ../../howto/clinic.rst:994 -msgid "" -"If the symbol isn't found in the current module, it fails over to looking in " -"``sys.modules``. That's how it can find ``sys.maxsize`` for example. " -"(Since you don't know in advance what modules the user will load into their " -"interpreter, it's best to restrict yourself to modules that are preloaded by " -"Python itself.)" -msgstr "" - -#: ../../howto/clinic.rst:999 -msgid "" -"Evaluating default values only at runtime means Argument Clinic can't " -"compute the correct equivalent C default value. So you need to tell it " -"explicitly. When you use an expression, you must also specify the equivalent " -"expression in C, using the ``c_default`` parameter to the converter:" -msgstr "" - -#: ../../howto/clinic.rst:1008 -msgid "" -"Another complication: Argument Clinic can't know in advance whether or not " -"the expression you supply is valid. It parses it to make sure it looks " -"legal, but it can't *actually* know. You must be very careful when using " -"expressions to specify values that are guaranteed to be valid at runtime!" -msgstr "" - -#: ../../howto/clinic.rst:1013 -msgid "" -"Finally, because expressions must be representable as static C values, there " -"are many restrictions on legal expressions. Here's a list of Python " -"features you're not permitted to use:" -msgstr "" - -#: ../../howto/clinic.rst:1017 -msgid "Function calls." -msgstr "" - -#: ../../howto/clinic.rst:1018 -msgid "Inline if statements (``3 if foo else 5``)." -msgstr "" - -#: ../../howto/clinic.rst:1019 -msgid "Automatic sequence unpacking (``*[1, 2, 3]``)." -msgstr "" - -#: ../../howto/clinic.rst:1020 -msgid "List/set/dict comprehensions and generator expressions." -msgstr "" - -#: ../../howto/clinic.rst:1021 -msgid "Tuple/list/set/dict literals." -msgstr "" - -#: ../../howto/clinic.rst:1026 -msgid "Using a return converter" -msgstr "" - -#: ../../howto/clinic.rst:1028 -msgid "" -"By default, the impl function Argument Clinic generates for you returns :c:" -"type:`PyObject * `. But your C function often computes some C " -"type, then converts it into the :c:type:`!PyObject *` at the last moment. " -"Argument Clinic handles converting your inputs from Python types into native " -"C types—why not have it convert your return value from a native C type into " -"a Python type too?" -msgstr "" - -#: ../../howto/clinic.rst:1036 -msgid "" -"That's what a \"return converter\" does. It changes your impl function to " -"return some C type, then adds code to the generated (non-impl) function to " -"handle converting that value into the appropriate :c:type:`!PyObject *`." -msgstr "" - -#: ../../howto/clinic.rst:1040 -msgid "" -"The syntax for return converters is similar to that of parameter converters. " -"You specify the return converter like it was a return annotation on the " -"function itself, using ``->`` notation." -msgstr "" - -#: ../../howto/clinic.rst:1044 -msgid "For example:" -msgstr "Por exemplo:" - -#: ../../howto/clinic.rst:1057 -msgid "" -"Return converters behave much the same as parameter converters; they take " -"arguments, the arguments are all keyword-only, and if you're not changing " -"any of the default arguments you can omit the parentheses." -msgstr "" - -#: ../../howto/clinic.rst:1061 -msgid "" -"(If you use both ``\"as\"`` *and* a return converter for your function, the " -"``\"as\"`` should come before the return converter.)" -msgstr "" - -#: ../../howto/clinic.rst:1064 -msgid "" -"There's one additional complication when using return converters: how do you " -"indicate an error has occurred? Normally, a function returns a valid (non-" -"``NULL``) pointer for success, and ``NULL`` for failure. But if you use an " -"integer return converter, all integers are valid. How can Argument Clinic " -"detect an error? Its solution: each return converter implicitly looks for a " -"special value that indicates an error. If you return that value, and an " -"error has been set (``PyErr_Occurred()`` returns a true value), then the " -"generated code will propagate the error. Otherwise it will encode the value " -"you return like normal." -msgstr "" - -#: ../../howto/clinic.rst:1073 -msgid "Currently Argument Clinic supports only a few return converters:" -msgstr "" - -#: ../../howto/clinic.rst:1087 -msgid "" -"None of these take parameters. For all of these, return ``-1`` to indicate " -"error." -msgstr "" - -#: ../../howto/clinic.rst:1090 -msgid "" -"(There's also an experimental ``NoneType`` converter, which lets you return " -"``Py_None`` on success or ``NULL`` on failure, without having to increment " -"the reference count on ``Py_None``. I'm not sure it adds enough clarity to " -"be worth using.)" -msgstr "" - -#: ../../howto/clinic.rst:1095 -msgid "" -"To see all the return converters Argument Clinic supports, along with their " -"parameters (if any), just run ``Tools/clinic/clinic.py --converters`` for " -"the full list." -msgstr "" - -#: ../../howto/clinic.rst:1101 -msgid "Cloning existing functions" -msgstr "" - -#: ../../howto/clinic.rst:1103 -msgid "" -"If you have a number of functions that look similar, you may be able to use " -"Clinic's \"clone\" feature. When you clone an existing function, you reuse:" -msgstr "" - -#: ../../howto/clinic.rst:1107 -msgid "its parameters, including" -msgstr "" - -#: ../../howto/clinic.rst:1109 -msgid "their names," -msgstr "" - -#: ../../howto/clinic.rst:1111 -msgid "their converters, with all parameters," -msgstr "" - -#: ../../howto/clinic.rst:1113 -msgid "their default values," -msgstr "" - -#: ../../howto/clinic.rst:1115 -msgid "their per-parameter docstrings," -msgstr "" - -#: ../../howto/clinic.rst:1117 -msgid "" -"their *kind* (whether they're positional only, positional or keyword, or " -"keyword only), and" -msgstr "" - -#: ../../howto/clinic.rst:1120 -msgid "its return converter." -msgstr "" - -#: ../../howto/clinic.rst:1122 -msgid "" -"The only thing not copied from the original function is its docstring; the " -"syntax allows you to specify a new docstring." -msgstr "" - -#: ../../howto/clinic.rst:1125 -msgid "Here's the syntax for cloning a function::" -msgstr "" - -#: ../../howto/clinic.rst:1133 -msgid "" -"(The functions can be in different modules or classes. I wrote ``module." -"class`` in the sample just to illustrate that you must use the full path to " -"*both* functions.)" -msgstr "" - -#: ../../howto/clinic.rst:1137 -msgid "" -"Sorry, there's no syntax for partially cloning a function, or cloning a " -"function then modifying it. Cloning is an all-or nothing proposition." -msgstr "" - -#: ../../howto/clinic.rst:1140 -msgid "" -"Also, the function you are cloning from must have been previously defined in " -"the current file." -msgstr "" - -#: ../../howto/clinic.rst:1144 -msgid "Calling Python code" -msgstr "" - -#: ../../howto/clinic.rst:1146 -msgid "" -"The rest of the advanced topics require you to write Python code which lives " -"inside your C file and modifies Argument Clinic's runtime state. This is " -"simple: you simply define a Python block." -msgstr "" - -#: ../../howto/clinic.rst:1150 -msgid "" -"A Python block uses different delimiter lines than an Argument Clinic " -"function block. It looks like this::" -msgstr "" - -#: ../../howto/clinic.rst:1157 -msgid "" -"All the code inside the Python block is executed at the time it's parsed. " -"All text written to stdout inside the block is redirected into the " -"\"output\" after the block." -msgstr "" - -#: ../../howto/clinic.rst:1161 -msgid "" -"As an example, here's a Python block that adds a static integer variable to " -"the C code::" -msgstr "" - -#: ../../howto/clinic.rst:1172 -msgid "Using a \"self converter\"" -msgstr "Usando um \"auto conversor\"" - -#: ../../howto/clinic.rst:1174 -msgid "" -"Argument Clinic automatically adds a \"self\" parameter for you using a " -"default converter. It automatically sets the ``type`` of this parameter to " -"the \"pointer to an instance\" you specified when you declared the type. " -"However, you can override Argument Clinic's converter and specify one " -"yourself. Just add your own ``self`` parameter as the first parameter in a " -"block, and ensure that its converter is an instance of ``self_converter`` or " -"a subclass thereof." -msgstr "" - -#: ../../howto/clinic.rst:1183 -msgid "" -"What's the point? This lets you override the type of ``self``, or give it a " -"different default name." -msgstr "" - -#: ../../howto/clinic.rst:1186 -msgid "" -"How do you specify the custom type you want to cast ``self`` to? If you only " -"have one or two functions with the same type for ``self``, you can directly " -"use Argument Clinic's existing ``self`` converter, passing in the type you " -"want to use as the ``type`` parameter::" -msgstr "" - -#: ../../howto/clinic.rst:1202 -msgid "" -"On the other hand, if you have a lot of functions that will use the same " -"type for ``self``, it's best to create your own converter, subclassing " -"``self_converter`` but overwriting the ``type`` member::" -msgstr "" - -#: ../../howto/clinic.rst:1224 -msgid "Using a \"defining class\" converter" -msgstr "" - -#: ../../howto/clinic.rst:1226 -msgid "" -"Argument Clinic facilitates gaining access to the defining class of a " -"method. This is useful for :ref:`heap type ` methods that need " -"to fetch module level state. Use :c:func:`PyType_FromModuleAndSpec` to " -"associate a new heap type with a module. You can now use :c:func:" -"`PyType_GetModuleState` on the defining class to fetch the module state, for " -"example from a module method." -msgstr "" - -#: ../../howto/clinic.rst:1232 -msgid "" -"Example from ``Modules/zlibmodule.c``. First, ``defining_class`` is added " -"to the clinic input::" -msgstr "" - -#: ../../howto/clinic.rst:1244 -msgid "" -"After running the Argument Clinic tool, the following function signature is " -"generated::" -msgstr "" - -#: ../../howto/clinic.rst:1254 -msgid "" -"The following code can now use ``PyType_GetModuleState(cls)`` to fetch the " -"module state::" -msgstr "" - -#: ../../howto/clinic.rst:1260 -msgid "" -"Each method may only have one argument using this converter, and it must " -"appear after ``self``, or, if ``self`` is not used, as the first argument. " -"The argument will be of type ``PyTypeObject *``. The argument will not " -"appear in the ``__text_signature__``." -msgstr "" - -#: ../../howto/clinic.rst:1265 -msgid "" -"The ``defining_class`` converter is not compatible with ``__init__`` and " -"``__new__`` methods, which cannot use the ``METH_METHOD`` convention." -msgstr "" - -#: ../../howto/clinic.rst:1268 -msgid "" -"It is not possible to use ``defining_class`` with slot methods. In order to " -"fetch the module state from such methods, use :c:func:" -"`PyType_GetModuleByDef` to look up the module and then :c:func:" -"`PyModule_GetState` to fetch the module state. Example from the " -"``setattro`` slot method in ``Modules/_threadmodule.c``::" -msgstr "" - -#: ../../howto/clinic.rst:1283 -msgid "See also :pep:`573`." -msgstr "" - -#: ../../howto/clinic.rst:1287 -msgid "Writing a custom converter" -msgstr "" - -#: ../../howto/clinic.rst:1289 -msgid "" -"As we hinted at in the previous section... you can write your own " -"converters! A converter is simply a Python class that inherits from " -"``CConverter``. The main purpose of a custom converter is if you have a " -"parameter using the ``O&`` format unit—parsing this parameter means calling " -"a :c:func:`PyArg_ParseTuple` \"converter function\"." -msgstr "" - -#: ../../howto/clinic.rst:1295 -msgid "" -"Your converter class should be named ``*something*_converter``. If the name " -"follows this convention, then your converter class will be automatically " -"registered with Argument Clinic; its name will be the name of your class " -"with the ``_converter`` suffix stripped off. (This is accomplished with a " -"metaclass.)" -msgstr "" - -#: ../../howto/clinic.rst:1301 -msgid "" -"You shouldn't subclass ``CConverter.__init__``. Instead, you should write a " -"``converter_init()`` function. ``converter_init()`` always accepts a " -"``self`` parameter; after that, all additional parameters *must* be keyword-" -"only. Any arguments passed in to the converter in Argument Clinic will be " -"passed along to your ``converter_init()``." -msgstr "" - -#: ../../howto/clinic.rst:1308 -msgid "" -"There are some additional members of ``CConverter`` you may wish to specify " -"in your subclass. Here's the current list:" -msgstr "" - -#: ../../howto/clinic.rst:1312 -msgid "" -"The C type to use for this variable. ``type`` should be a Python string " -"specifying the type, e.g. ``int``. If this is a pointer type, the type " -"string should end with ``' *'``." -msgstr "" - -#: ../../howto/clinic.rst:1318 -msgid "``default``" -msgstr "``default``" - -#: ../../howto/clinic.rst:1317 -msgid "" -"The Python default value for this parameter, as a Python value. Or the magic " -"value ``unspecified`` if there is no default." -msgstr "" - -#: ../../howto/clinic.rst:1323 -msgid "``py_default``" -msgstr "``py_default``" - -#: ../../howto/clinic.rst:1321 -msgid "" -"``default`` as it should appear in Python code, as a string. Or ``None`` if " -"there is no default." -msgstr "" - -#: ../../howto/clinic.rst:1326 -msgid "" -"``default`` as it should appear in C code, as a string. Or ``None`` if there " -"is no default." -msgstr "" - -#: ../../howto/clinic.rst:1339 -msgid "``c_ignored_default``" -msgstr "``c_ignored_default``" - -#: ../../howto/clinic.rst:1331 -msgid "" -"The default value used to initialize the C variable when there is no " -"default, but not specifying a default may result in an \"uninitialized " -"variable\" warning. This can easily happen when using option groups—" -"although properly written code will never actually use this value, the " -"variable does get passed in to the impl, and the C compiler will complain " -"about the \"use\" of the uninitialized value. This value should always be a " -"non-empty string." -msgstr "" - -#: ../../howto/clinic.rst:1342 -msgid "The name of the C converter function, as a string." -msgstr "" - -#: ../../howto/clinic.rst:1347 -msgid "``impl_by_reference``" -msgstr "``impl_by_reference``" - -#: ../../howto/clinic.rst:1345 -msgid "" -"A boolean value. If true, Argument Clinic will add a ``&`` in front of the " -"name of the variable when passing it into the impl function." -msgstr "" - -#: ../../howto/clinic.rst:1353 -msgid "``parse_by_reference``" -msgstr "``parse_by_reference``" - -#: ../../howto/clinic.rst:1350 -msgid "" -"A boolean value. If true, Argument Clinic will add a ``&`` in front of the " -"name of the variable when passing it into :c:func:`PyArg_ParseTuple`." -msgstr "" - -#: ../../howto/clinic.rst:1355 -msgid "" -"Here's the simplest example of a custom converter, from ``Modules/zlibmodule." -"c``::" -msgstr "" - -#: ../../howto/clinic.rst:1366 -msgid "" -"This block adds a converter to Argument Clinic named ``ssize_t``. " -"Parameters declared as ``ssize_t`` will be declared as type :c:type:" -"`Py_ssize_t`, and will be parsed by the ``'O&'`` format unit, which will " -"call the ``ssize_t_converter`` converter function. ``ssize_t`` variables " -"automatically support default values." -msgstr "" - -#: ../../howto/clinic.rst:1372 -msgid "" -"More sophisticated custom converters can insert custom C code to handle " -"initialization and cleanup. You can see more examples of custom converters " -"in the CPython source tree; grep the C files for the string ``CConverter``." -msgstr "" - -#: ../../howto/clinic.rst:1378 -msgid "Writing a custom return converter" -msgstr "" - -#: ../../howto/clinic.rst:1380 -msgid "" -"Writing a custom return converter is much like writing a custom converter. " -"Except it's somewhat simpler, because return converters are themselves much " -"simpler." -msgstr "" - -#: ../../howto/clinic.rst:1384 -msgid "" -"Return converters must subclass ``CReturnConverter``. There are no examples " -"yet of custom return converters, because they are not widely used yet. If " -"you wish to write your own return converter, please read ``Tools/clinic/" -"clinic.py``, specifically the implementation of ``CReturnConverter`` and all " -"its subclasses." -msgstr "" - -#: ../../howto/clinic.rst:1392 -msgid "METH_O and METH_NOARGS" -msgstr "" - -#: ../../howto/clinic.rst:1394 -msgid "" -"To convert a function using ``METH_O``, make sure the function's single " -"argument is using the ``object`` converter, and mark the arguments as " -"positional-only::" -msgstr "" - -#: ../../howto/clinic.rst:1406 -msgid "" -"To convert a function using ``METH_NOARGS``, just don't specify any " -"arguments." -msgstr "" - -#: ../../howto/clinic.rst:1409 -msgid "" -"You can still use a self converter, a return converter, and specify a " -"``type`` argument to the object converter for ``METH_O``." -msgstr "" - -#: ../../howto/clinic.rst:1413 -msgid "tp_new and tp_init functions" -msgstr "" - -#: ../../howto/clinic.rst:1415 -msgid "" -"You can convert ``tp_new`` and ``tp_init`` functions. Just name them " -"``__new__`` or ``__init__`` as appropriate. Notes:" -msgstr "" - -#: ../../howto/clinic.rst:1418 -msgid "" -"The function name generated for ``__new__`` doesn't end in ``__new__`` like " -"it would by default. It's just the name of the class, converted into a " -"valid C identifier." -msgstr "" - -#: ../../howto/clinic.rst:1422 -msgid "No ``PyMethodDef`` ``#define`` is generated for these functions." -msgstr "" - -#: ../../howto/clinic.rst:1424 -msgid "``__init__`` functions return ``int``, not ``PyObject *``." -msgstr "" - -#: ../../howto/clinic.rst:1426 -msgid "Use the docstring as the class docstring." -msgstr "" - -#: ../../howto/clinic.rst:1428 -msgid "" -"Although ``__new__`` and ``__init__`` functions must always accept both the " -"``args`` and ``kwargs`` objects, when converting you may specify any " -"signature for these functions that you like. (If your function doesn't " -"support keywords, the parsing function generated will throw an exception if " -"it receives any.)" -msgstr "" - -#: ../../howto/clinic.rst:1435 -msgid "Changing and redirecting Clinic's output" -msgstr "" - -#: ../../howto/clinic.rst:1437 -msgid "" -"It can be inconvenient to have Clinic's output interspersed with your " -"conventional hand-edited C code. Luckily, Clinic is configurable: you can " -"buffer up its output for printing later (or earlier!), or write its output " -"to a separate file. You can also add a prefix or suffix to every line of " -"Clinic's generated output." -msgstr "" - -#: ../../howto/clinic.rst:1443 -msgid "" -"While changing Clinic's output in this manner can be a boon to readability, " -"it may result in Clinic code using types before they are defined, or your " -"code attempting to use Clinic-generated code before it is defined. These " -"problems can be easily solved by rearranging the declarations in your file, " -"or moving where Clinic's generated code goes. (This is why the default " -"behavior of Clinic is to output everything into the current block; while " -"many people consider this hampers readability, it will never require " -"rearranging your code to fix definition-before-use problems.)" -msgstr "" - -#: ../../howto/clinic.rst:1452 -msgid "Let's start with defining some terminology:" -msgstr "" - -#: ../../howto/clinic.rst:1479 -msgid "*field*" -msgstr "" - -#: ../../howto/clinic.rst:1455 -msgid "" -"A field, in this context, is a subsection of Clinic's output. For example, " -"the ``#define`` for the ``PyMethodDef`` structure is a field, called " -"``methoddef_define``. Clinic has seven different fields it can output per " -"function definition:" -msgstr "" - -#: ../../howto/clinic.rst:1470 -msgid "" -"All the names are of the form ``\"_\"``, where ``\"\"`` is the " -"semantic object represented (the parsing function, the impl function, the " -"docstring, or the methoddef structure) and ``\"\"`` represents what kind " -"of statement the field is. Field names that end in ``\"_prototype\"`` " -"represent forward declarations of that thing, without the actual body/data " -"of the thing; field names that end in ``\"_definition\"`` represent the " -"actual definition of the thing, with the body/data of the thing. " -"(``\"methoddef\"`` is special, it's the only one that ends with " -"``\"_define\"``, representing that it's a preprocessor #define.)" -msgstr "" - -#: ../../howto/clinic.rst:1513 -msgid "*destination*" -msgstr "" - -#: ../../howto/clinic.rst:1482 -msgid "" -"A destination is a place Clinic can write output to. There are five built-" -"in destinations:" -msgstr "" - -#: ../../howto/clinic.rst:1487 ../../howto/clinic.rst:1562 -#: ../../howto/clinic.rst:1640 -msgid "``block``" -msgstr "``block``" - -#: ../../howto/clinic.rst:1486 -msgid "" -"The default destination: printed in the output section of the current Clinic " -"block." -msgstr "" - -#: ../../howto/clinic.rst:1493 ../../howto/clinic.rst:1589 -#: ../../howto/clinic.rst:1643 -msgid "``buffer``" -msgstr "``buffer``" - -#: ../../howto/clinic.rst:1490 -msgid "" -"A text buffer where you can save text for later. Text sent here is appended " -"to the end of any existing text. It's an error to have any text left in the " -"buffer when Clinic finishes processing a file." -msgstr "" - -#: ../../howto/clinic.rst:1504 ../../howto/clinic.rst:1575 -#: ../../howto/clinic.rst:1669 -msgid "``file``" -msgstr "``file``" - -#: ../../howto/clinic.rst:1496 -msgid "" -"A separate \"clinic file\" that will be created automatically by Clinic. The " -"filename chosen for the file is ``{basename}.clinic{extension}``, where " -"``basename`` and ``extension`` were assigned the output from ``os.path." -"splitext()`` run on the current file. (Example: the ``file`` destination " -"for ``_pickle.c`` would be written to ``_pickle.clinic.c``.)" -msgstr "" - -#: ../../howto/clinic.rst:1503 -msgid "" -"**Important: When using a** ``file`` **destination, you** *must check in* " -"**the generated file!**" -msgstr "" - -#: ../../howto/clinic.rst:1509 ../../howto/clinic.rst:1602 -#: ../../howto/clinic.rst:1673 -msgid "``two-pass``" -msgstr "``two-pass``" - -#: ../../howto/clinic.rst:1507 -msgid "" -"A buffer like ``buffer``. However, a two-pass buffer can only be dumped " -"once, and it prints out all text sent to it during all processing, even from " -"Clinic blocks *after* the dumping point." -msgstr "" - -#: ../../howto/clinic.rst:1513 ../../howto/clinic.rst:1636 -msgid "``suppress``" -msgstr "``suppress``" - -#: ../../howto/clinic.rst:1512 -msgid "The text is suppressed—thrown away." -msgstr "" - -#: ../../howto/clinic.rst:1515 -msgid "Clinic defines five new directives that let you reconfigure its output." -msgstr "" - -#: ../../howto/clinic.rst:1517 -msgid "The first new directive is ``dump``:" -msgstr "" - -#: ../../howto/clinic.rst:1523 -msgid "" -"This dumps the current contents of the named destination into the output of " -"the current block, and empties it. This only works with ``buffer`` and " -"``two-pass`` destinations." -msgstr "" - -#: ../../howto/clinic.rst:1527 -msgid "" -"The second new directive is ``output``. The most basic form of ``output`` " -"is like this:" -msgstr "" - -#: ../../howto/clinic.rst:1534 -msgid "" -"This tells Clinic to output *field* to *destination*. ``output`` also " -"supports a special meta-destination, called ``everything``, which tells " -"Clinic to output *all* fields to that *destination*." -msgstr "" - -#: ../../howto/clinic.rst:1538 -msgid "``output`` has a number of other functions:" -msgstr "" - -#: ../../howto/clinic.rst:1547 -msgid "" -"``output push`` and ``output pop`` allow you to push and pop configurations " -"on an internal configuration stack, so that you can temporarily modify the " -"output configuration, then easily restore the previous configuration. " -"Simply push before your change to save the current configuration, then pop " -"when you wish to restore the previous configuration." -msgstr "" - -#: ../../howto/clinic.rst:1554 -msgid "" -"``output preset`` sets Clinic's output to one of several built-in preset " -"configurations, as follows:" -msgstr "" - -#: ../../howto/clinic.rst:1558 -msgid "" -"Clinic's original starting configuration. Writes everything immediately " -"after the input block." -msgstr "" - -#: ../../howto/clinic.rst:1561 -msgid "" -"Suppress the ``parser_prototype`` and ``docstring_prototype``, write " -"everything else to ``block``." -msgstr "" - -#: ../../howto/clinic.rst:1565 -msgid "" -"Designed to write everything to the \"clinic file\" that it can. You then " -"``#include`` this file near the top of your file. You may need to rearrange " -"your file to make this work, though usually this just means creating forward " -"declarations for various ``typedef`` and ``PyTypeObject`` definitions." -msgstr "" - -#: ../../howto/clinic.rst:1571 -msgid "" -"Suppress the ``parser_prototype`` and ``docstring_prototype``, write the " -"``impl_definition`` to ``block``, and write everything else to ``file``." -msgstr "" - -#: ../../howto/clinic.rst:1575 -msgid "The default filename is ``\"{dirname}/clinic/{basename}.h\"``." -msgstr "" - -#: ../../howto/clinic.rst:1578 -msgid "" -"Save up most of the output from Clinic, to be written into your file near " -"the end. For Python files implementing modules or builtin types, it's " -"recommended that you dump the buffer just above the static structures for " -"your module or builtin type; these are normally very near the end. Using " -"``buffer`` may require even more editing than ``file``, if your file has " -"static ``PyMethodDef`` arrays defined in the middle of the file." -msgstr "" - -#: ../../howto/clinic.rst:1587 -msgid "" -"Suppress the ``parser_prototype``, ``impl_prototype``, and " -"``docstring_prototype``, write the ``impl_definition`` to ``block``, and " -"write everything else to ``file``." -msgstr "" - -#: ../../howto/clinic.rst:1592 -msgid "" -"Similar to the ``buffer`` preset, but writes forward declarations to the " -"``two-pass`` buffer, and definitions to the ``buffer``. This is similar to " -"the ``buffer`` preset, but may require less editing than ``buffer``. Dump " -"the ``two-pass`` buffer near the top of your file, and dump the ``buffer`` " -"near the end just like you would when using the ``buffer`` preset." -msgstr "" - -#: ../../howto/clinic.rst:1599 -msgid "" -"Suppresses the ``impl_prototype``, write the ``impl_definition`` to " -"``block``, write ``docstring_prototype``, ``methoddef_define``, and " -"``parser_prototype`` to ``two-pass``, write everything else to ``buffer``." -msgstr "" - -#: ../../howto/clinic.rst:1613 -msgid "``partial-buffer``" -msgstr "``partial-buffer``" - -#: ../../howto/clinic.rst:1605 -msgid "" -"Similar to the ``buffer`` preset, but writes more things to ``block``, only " -"writing the really big chunks of generated code to ``buffer``. This avoids " -"the definition-before-use problem of ``buffer`` completely, at the small " -"cost of having slightly more stuff in the block's output. Dump the " -"``buffer`` near the end, just like you would when using the ``buffer`` " -"preset." -msgstr "" - -#: ../../howto/clinic.rst:1612 -msgid "" -"Suppresses the ``impl_prototype``, write the ``docstring_definition`` and " -"``parser_definition`` to ``buffer``, write everything else to ``block``." -msgstr "" - -#: ../../howto/clinic.rst:1615 -msgid "The third new directive is ``destination``:" -msgstr "" - -#: ../../howto/clinic.rst:1621 -msgid "This performs an operation on the destination named ``name``." -msgstr "" - -#: ../../howto/clinic.rst:1623 -msgid "There are two defined subcommands: ``new`` and ``clear``." -msgstr "" - -#: ../../howto/clinic.rst:1625 -msgid "The ``new`` subcommand works like this:" -msgstr "" - -#: ../../howto/clinic.rst:1631 -msgid "" -"This creates a new destination with name ```` and type ````." -msgstr "" - -#: ../../howto/clinic.rst:1633 -msgid "There are five destination types:" -msgstr "" - -#: ../../howto/clinic.rst:1636 -msgid "Throws the text away." -msgstr "" - -#: ../../howto/clinic.rst:1639 -msgid "" -"Writes the text to the current block. This is what Clinic originally did." -msgstr "" - -#: ../../howto/clinic.rst:1643 -msgid "A simple text buffer, like the \"buffer\" builtin destination above." -msgstr "" - -#: ../../howto/clinic.rst:1646 -msgid "" -"A text file. The file destination takes an extra argument, a template to " -"use for building the filename, like so:" -msgstr "" - -#: ../../howto/clinic.rst:1649 -msgid "destination new " -msgstr "" - -#: ../../howto/clinic.rst:1651 -msgid "" -"The template can use three strings internally that will be replaced by bits " -"of the filename:" -msgstr "" - -#: ../../howto/clinic.rst:1654 -msgid "{path}" -msgstr "{path}" - -#: ../../howto/clinic.rst:1655 -msgid "The full path to the file, including directory and full filename." -msgstr "" - -#: ../../howto/clinic.rst:1656 -msgid "{dirname}" -msgstr "" - -#: ../../howto/clinic.rst:1657 -msgid "The name of the directory the file is in." -msgstr "" - -#: ../../howto/clinic.rst:1658 -msgid "{basename}" -msgstr "" - -#: ../../howto/clinic.rst:1659 -msgid "Just the name of the file, not including the directory." -msgstr "" - -#: ../../howto/clinic.rst:1661 -msgid "{basename_root}" -msgstr "" - -#: ../../howto/clinic.rst:1661 -msgid "" -"Basename with the extension clipped off (everything up to but not including " -"the last '.')." -msgstr "" - -#: ../../howto/clinic.rst:1665 -msgid "{basename_extension}" -msgstr "" - -#: ../../howto/clinic.rst:1664 -msgid "" -"The last '.' and everything after it. If the basename does not contain a " -"period, this will be the empty string." -msgstr "" - -#: ../../howto/clinic.rst:1667 -msgid "" -"If there are no periods in the filename, {basename} and {filename} are the " -"same, and {extension} is empty. \"{basename}{extension}\" is always exactly " -"the same as \"{filename}\".\"" -msgstr "" - -#: ../../howto/clinic.rst:1672 -msgid "A two-pass buffer, like the \"two-pass\" builtin destination above." -msgstr "" - -#: ../../howto/clinic.rst:1675 -msgid "The ``clear`` subcommand works like this:" -msgstr "" - -#: ../../howto/clinic.rst:1681 -msgid "" -"It removes all the accumulated text up to this point in the destination. (I " -"don't know what you'd need this for, but I thought maybe it'd be useful " -"while someone's experimenting.)" -msgstr "" - -#: ../../howto/clinic.rst:1685 -msgid "The fourth new directive is ``set``:" -msgstr "" - -#: ../../howto/clinic.rst:1692 -msgid "" -"``set`` lets you set two internal variables in Clinic. ``line_prefix`` is a " -"string that will be prepended to every line of Clinic's output; " -"``line_suffix`` is a string that will be appended to every line of Clinic's " -"output." -msgstr "" - -#: ../../howto/clinic.rst:1696 -msgid "Both of these support two format strings:" -msgstr "" - -#: ../../howto/clinic.rst:1699 -msgid "``{block comment start}``" -msgstr "" - -#: ../../howto/clinic.rst:1699 -msgid "" -"Turns into the string ``/*``, the start-comment text sequence for C files." -msgstr "" - -#: ../../howto/clinic.rst:1702 -msgid "``{block comment end}``" -msgstr "" - -#: ../../howto/clinic.rst:1702 -msgid "" -"Turns into the string ``*/``, the end-comment text sequence for C files." -msgstr "" - -#: ../../howto/clinic.rst:1704 -msgid "" -"The final new directive is one you shouldn't need to use directly, called " -"``preserve``:" -msgstr "" - -#: ../../howto/clinic.rst:1711 -msgid "" -"This tells Clinic that the current contents of the output should be kept, " -"unmodified. This is used internally by Clinic when dumping output into " -"``file`` files; wrapping it in a Clinic block lets Clinic use its existing " -"checksum functionality to ensure the file was not modified by hand before it " -"gets overwritten." -msgstr "" - -#: ../../howto/clinic.rst:1718 -msgid "The #ifdef trick" -msgstr "O truque de #ifdef" - -#: ../../howto/clinic.rst:1720 -msgid "" -"If you're converting a function that isn't available on all platforms, " -"there's a trick you can use to make life a little easier. The existing code " -"probably looks like this::" -msgstr "" - -#: ../../howto/clinic.rst:1731 -msgid "" -"And then in the ``PyMethodDef`` structure at the bottom the existing code " -"will have:" -msgstr "" - -#: ../../howto/clinic.rst:1740 -msgid "" -"In this scenario, you should enclose the body of your impl function inside " -"the ``#ifdef``, like so::" -msgstr "" - -#: ../../howto/clinic.rst:1754 -msgid "" -"Then, remove those three lines from the ``PyMethodDef`` structure, replacing " -"them with the macro Argument Clinic generated:" -msgstr "" - -#: ../../howto/clinic.rst:1761 -msgid "" -"(You can find the real name for this macro inside the generated code. Or you " -"can calculate it yourself: it's the name of your function as defined on the " -"first line of your block, but with periods changed to underscores, " -"uppercased, and ``\"_METHODDEF\"`` added to the end.)" -msgstr "" - -#: ../../howto/clinic.rst:1766 -msgid "" -"Perhaps you're wondering: what if ``HAVE_FUNCTIONNAME`` isn't defined? The " -"``MODULE_FUNCTIONNAME_METHODDEF`` macro won't be defined either!" -msgstr "" - -#: ../../howto/clinic.rst:1769 -msgid "" -"Here's where Argument Clinic gets very clever. It actually detects that the " -"Argument Clinic block might be deactivated by the ``#ifdef``. When that " -"happens, it generates a little extra code that looks like this::" -msgstr "" - -#: ../../howto/clinic.rst:1777 -msgid "" -"That means the macro always works. If the function is defined, this turns " -"into the correct structure, including the trailing comma. If the function " -"is undefined, this turns into nothing." -msgstr "" - -#: ../../howto/clinic.rst:1781 -msgid "" -"However, this causes one ticklish problem: where should Argument Clinic put " -"this extra code when using the \"block\" output preset? It can't go in the " -"output block, because that could be deactivated by the ``#ifdef``. (That's " -"the whole point!)" -msgstr "" - -#: ../../howto/clinic.rst:1785 -msgid "" -"In this situation, Argument Clinic writes the extra code to the \"buffer\" " -"destination. This may mean that you get a complaint from Argument Clinic:" -msgstr "" - -#: ../../howto/clinic.rst:1793 -msgid "" -"When this happens, just open your file, find the ``dump buffer`` block that " -"Argument Clinic added to your file (it'll be at the very bottom), then move " -"it above the ``PyMethodDef`` structure where that macro is used." -msgstr "" - -#: ../../howto/clinic.rst:1800 -msgid "Using Argument Clinic in Python files" -msgstr "" - -#: ../../howto/clinic.rst:1802 -msgid "" -"It's actually possible to use Argument Clinic to preprocess Python files. " -"There's no point to using Argument Clinic blocks, of course, as the output " -"wouldn't make any sense to the Python interpreter. But using Argument " -"Clinic to run Python blocks lets you use Python as a Python preprocessor!" -msgstr "" - -#: ../../howto/clinic.rst:1807 +#: ../../howto/clinic.rst:13 msgid "" -"Since Python comments are different from C comments, Argument Clinic blocks " -"embedded in Python files look slightly different. They look like this:" +"The Argument Clinic How-TO has been moved to the `Python Developer's Guide " +"`__." msgstr "" +"O How-TO da Clínica de Argumento foi movido para o `Python Developer's Guide " +"`__." diff --git a/howto/cporting.po b/howto/cporting.po index 2fc7349ba..d05a943a8 100644 --- a/howto/cporting.po +++ b/howto/cporting.po @@ -1,25 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/howto/curses.po b/howto/curses.po index c4d600204..7890e68e8 100644 --- a/howto/curses.po +++ b/howto/curses.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Marciel Leal , 2021 -# Aline Balogh , 2021 -# 82596da39877db21448335599650eb68_ac09920 <1d2e18e2f37f0ba6c4f06b239e0670bd_848591>, 2021 -# Danilo Lima , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -49,7 +43,7 @@ msgstr "Versão" msgid "2.04" msgstr "2.04" -#: ../../howto/curses.rstNone +#: ../../howto/curses.rst-1 msgid "Abstract" msgstr "Resumo" @@ -59,7 +53,7 @@ msgid "" "control text-mode displays." msgstr "" "Este documento descreve como usar o módulo de extensão :mod:`curses` para " -"controlar visualização em modo texto." +"controlar visualizações em modo texto." #: ../../howto/curses.rst:20 msgid "What is curses?" @@ -76,12 +70,12 @@ msgid "" "own minor quirks." msgstr "" "A biblioteca curses fornece formas que facilitam a impressão no terminal e o " -"tratamento de entrada do teclado para interfaces baseados em texto; tais " -"como interfaces produzidas para terminais incluindo VT100s, o console Linux, " -"e terminais fornecidos por vários programas. Terminais visuais suportam " -"vários códigos de controle para executar várias operações comuns como mover " -"o cursor, apagar áreas e rolagem de tela. Diferentes terminais usam uma gama " -"de diferentes códigos, e frequentemente têm suas próprias peculiaridades." +"tratamento de entrada via teclado para interfaces de terminal baseadas em " +"texto, tais como VT100s, o console Linux, e emuladores de terminais " +"fornecidos por vários programas. Terminais visuais suportam vários códigos " +"de controle para executar várias operações comuns como mover o cursor, " +"apagar áreas e rolagem de tela. Diferentes terminais usam uma gama de " +"diferentes códigos, e frequentemente têm suas próprias peculiaridades." #: ../../howto/curses.rst:30 msgid "" @@ -95,11 +89,11 @@ msgstr "" "No mundo dos displays gráficos, uma pergunta pode vir à tona \"por que isso, " "jovem?\". É verdade que os terminais de exibição de caracteres são uma " "tecnologia obsoleta, mas há nichos nos quais a capacidade de fazer coisas " -"sofisticadas com eles continua sendo valorizada. Um nicho são os programas " -"de small-footprint ou os Unixes embarcados, os quais não rodas um servidor " -"X, ou seja, não possuem interface gráfica. Outro nicho são o de ferramentas " -"como instaladores de sistemas operacionais e configurações de kernels que " -"devem rodar antes que qualquer suporte para interfaces gráficas esteja " +"sofisticadas com eles continua sendo valorizada. Um nicho são os Unixes de " +"baixa pegada de recursos ou embarcados, que não rodam um servidor X, ou " +"seja, não possuem interface gráfica. Outro nicho é o de ferramentas como " +"instaladores de sistemas operacionais e configurações de kernels que podem " +"precisar rodar antes que qualquer suporte a interfaces gráficas esteja " "disponível." #: ../../howto/curses.rst:38 @@ -137,16 +131,16 @@ msgid "" "older versions of curses carried by some proprietary Unixes may not support " "everything, though." msgstr "" -"A biblioteca curses foi originalmente escrita para BSD Unix; as versões mais " -"recentes do System V do Unix da AT&T adicionaram muitos aprimoramentos e " -"novas funções. BSD curses não é mais mantida, tendo sido substituída por " -"ncursess, que é uma implementação de código aberto da interface da AT&T. Se " -"você estiver usando um sistema operacional de código aberto baseado em Unix, " -"tal como Linux ou FreeBSD, seu sistema provavelmente usa ncurses. Uma vez " -"que a maioria das versões comerciais do Unix são baseadas no código do " -"sistema V, todas as funções descritas aqui provavelmente estarão " +"A biblioteca curses foi originalmente escrita para o BSD Unix; as versões " +"mais recentes do System V do Unix da AT&T adicionaram muitos aprimoramentos " +"e novas funções. A BSD curses não é mais mantida, tendo sido substituída " +"pela ncursess, que é uma implementação de código aberto da interface da " +"AT&T. Se você estiver usando um sistema operacional de código aberto baseado " +"em Unix, tal como Linux ou FreeBSD, seu sistema provavelmente usa ncurses. " +"Uma vez que a maioria das versões comerciais do Unix são baseadas no código " +"do System V, todas as funções descritas aqui provavelmente estarão " "disponíveis. No entanto, as versões antigas de curses carregadas por alguns " -"Unixes proprietários podem não suportar tudo." +"Unixes proprietários podem não prover tudo." #: ../../howto/curses.rst:58 msgid "" @@ -169,6 +163,13 @@ msgid "" "mvwaddstr` into a single :meth:`~curses.window.addstr` method. You'll see " "this covered in more detail later." msgstr "" +"O módulo Python é um invólucro razoavelmente simples sobre as funções C " +"disponibilizadas pela curses; Se você já estiver familiarizado com " +"programação curses em C, é bem fácil transmitir esse conhecimento para o " +"Python. A maior diferença é que a interface Python simplifica as coisas ao " +"juntar diferentes funções C como :c:func:`!addstr`, :c:func:`!mvaddstr` " +"e :c:func:`!mvwaddstr` em um único método :meth:`~curses.window.addstr`. " +"Veremos isso mais adiante." #: ../../howto/curses.rst:74 msgid "" @@ -177,10 +178,10 @@ msgid "" "that, see the Python library guide's section on ncurses, and the C manual " "pages for ncurses. It will, however, give you the basic ideas." msgstr "" -"Este HOWTO é uma introdução à escrita de programas em modo texto com curses " -"e Python. Isto não pretende ser um guia completo da PAI curses; para isso, " -"veja a seção ncurses no guia da biblioteca Python, e o manual de ncurses. " -"Isto, no entanto, lhe dará uma ideia básica." +"Este documento é uma introdução à escrita de programas em modo texto com " +"curses e Python. Isto não pretende ser um guia completo da API curses; para " +"isso, veja a seção ncurses no guia da biblioteca Python, e o manual de " +"ncurses. Isto, no entanto, lhe dará uma ideia básica." #: ../../howto/curses.rst:81 msgid "Starting and ending a curses application" @@ -195,6 +196,12 @@ msgid "" "object representing the entire screen; this is usually called ``stdscr`` " "after the name of the corresponding C variable. ::" msgstr "" +"Antes de qualquer coisas, a curses precisa ser inicializada. Para isso, " +"chame a função :func:`~curses.initscr`, que vai determinar o tipo do " +"terminal, enviar para ele quaisquer códigos de inicialização necessários, e " +"criar várias estruturas de dados internas. Se bem-sucedida, a :func:`!" +"initscr` retorna um objeto de janela representando a tela inteira; ele é " +"comumente chamado ``stdscr`` por causa da variável C correspondente. ::" #: ../../howto/curses.rst:94 msgid "" @@ -203,7 +210,7 @@ msgid "" "circumstances. This requires calling the :func:`~curses.noecho` function. ::" msgstr "" "Geralmente aplicações curses desativam o envio automático de teclas para a " -"tela, para que seja possível ler chaves e somente exibi-las sob certas " +"tela, para que seja possível ler teclas e exibi-las somente sob certas " "circunstâncias. Isto requer a chamada da função :func:`~curses.noecho`. ::" #: ../../howto/curses.rst:101 @@ -221,9 +228,9 @@ msgid "" "Terminals usually return special keys, such as the cursor keys or navigation " "keys such as Page Up and Home, as a multibyte escape sequence. While you " "could write your application to expect such sequences and process them " -"accordingly, curses can do it for you, returning a special value such as :" -"const:`curses.KEY_LEFT`. To get curses to do the job, you'll have to enable " -"keypad mode. ::" +"accordingly, curses can do it for you, returning a special value such " +"as :const:`curses.KEY_LEFT`. To get curses to do the job, you'll have to " +"enable keypad mode. ::" msgstr "" "Terminais geralmente retornam teclas especiais, como as teclas de cursor ou " "de navegação como Page Up e Home, como uma sequência de escape mutibyte. " @@ -242,13 +249,13 @@ msgstr "" #: ../../howto/curses.rst:123 msgid "" -"to reverse the curses-friendly terminal settings. Then call the :func:" -"`~curses.endwin` function to restore the terminal to its original operating " -"mode. ::" +"to reverse the curses-friendly terminal settings. Then call " +"the :func:`~curses.endwin` function to restore the terminal to its original " +"operating mode. ::" msgstr "" -"para reverter as configurações de terminal amigáveis da curses. Então chame " -"a função :func:`~curses.endwin` para restaurar o terminal para seu modo de " -"operação original. ::" +"para reverter as configurações de terminal usadas pela biblioteca curses. " +"Então, chame a função :func:`~curses.endwin` para restaurar o terminal para " +"seu modo de operação original. ::" #: ../../howto/curses.rst:129 msgid "" @@ -258,12 +265,12 @@ msgid "" "raises an uncaught exception. Keys are no longer echoed to the screen when " "you type them, for example, which makes using the shell difficult." msgstr "" -"Um problema comum ao debugar uma aplicação curses é deixar seu terminal " +"Um problema comum ao depurar uma aplicação curses é deixar seu terminal " "bagunçado quando a aplicação para sem restaurar o terminal ao seu estado " "anterior. Em Python isto comumente acontece quando seu código está com " -"problemas e eleva uma exceção não capturada. As teclas não são mais enviadas " -"para a tela quando você as digita, por exemplo, o que torna difícil utilizar " -"o shell." +"problemas e levanta uma exceção não capturada. As teclas não são mais " +"enviadas para a tela quando você as digita, por exemplo, o que torna difícil " +"utilizar o shell." #: ../../howto/curses.rst:135 msgid "" @@ -280,12 +287,20 @@ msgid "" "initializations described above, also initializing colors if color support " "is present. :func:`!wrapper` then runs your provided callable. Once the " "callable returns, :func:`!wrapper` will restore the original state of the " -"terminal. The callable is called inside a :keyword:`try`...\\ :keyword:" -"`except` that catches exceptions, restores the state of the terminal, and " -"then re-raises the exception. Therefore your terminal won't be left in a " -"funny state on exception and you'll be able to read the exception's message " -"and traceback." -msgstr "" +"terminal. The callable is called inside a :keyword:`try`..." +"\\ :keyword:`except` that catches exceptions, restores the state of the " +"terminal, and then re-raises the exception. Therefore your terminal won't " +"be left in a funny state on exception and you'll be able to read the " +"exception's message and traceback." +msgstr "" +"A função :func:`~curses.wrapper` leva um objeto chamável e faz as " +"inicializações descritas acima, inicializando também as cores se o terminal " +"as prover. A :func:`!wrapper` então roda o chamável. Quando ele retornar, " +"a :func:`!wrapper` vai restaurar o estado original do terminal. O chamável é " +"chamado dentro de um bloco :keyword:`try`...\\ :keyword:`except` que captura " +"exceções, restaura o estado do terminal, e então as levanta novamente. Dessa " +"forma, o seu terminal não vai ser deixado em nenhum estado engraçadinho caso " +"haja qualquer erro, e você poderá ler a mensagem e o traceback da exceção." #: ../../howto/curses.rst:166 msgid "Windows and Pads" @@ -298,24 +313,24 @@ msgid "" "it, allow the user to input strings, and so forth." msgstr "" "Janelas são a abstração mais básica em curses. Uma objeto janela representa " -"uma área retangular da tela, e suporta métodos para exibir texto, apagá-lo, " -"e permitir ai usuário inserir strings, e assim por diante." +"uma área retangular da tela, e provê métodos para exibir texto, apagá-lo, e " +"permitir ao usuário inserir strings, e assim por diante." #: ../../howto/curses.rst:172 msgid "" "The ``stdscr`` object returned by the :func:`~curses.initscr` function is a " "window object that covers the entire screen. Many programs may need only " "this single window, but you might wish to divide the screen into smaller " -"windows, in order to redraw or clear them separately. The :func:`~curses." -"newwin` function creates a new window of a given size, returning the new " -"window object. ::" +"windows, in order to redraw or clear them separately. " +"The :func:`~curses.newwin` function creates a new window of a given size, " +"returning the new window object. ::" msgstr "" "O objeto ``stdscr`` retornado pela função :func:`~curses.initscr` é um " "objeto janela que cobre a tela inteira. Muitos programas podem precisar " "apenas desta janela única, mas você poderia desejar dividir a tela em " -"janelas menores, a fim de redefini-las ou limpá-las separadamente. A função :" -"func:`~curses.newwin` cria uma nova janela de um dado tamanho, retornando o " -"novo objeto janela. ::" +"janelas menores, a fim de redefini-las ou limpá-las separadamente. A " +"função :func:`~curses.newwin` cria uma nova janela de um dado tamanho, " +"retornando o novo objeto janela. ::" #: ../../howto/curses.rst:183 msgid "" @@ -335,36 +350,45 @@ msgstr "" #: ../../howto/curses.rst:191 msgid "" -"Your application can determine the size of the screen by using the :data:" -"`curses.LINES` and :data:`curses.COLS` variables to obtain the *y* and *x* " -"sizes. Legal coordinates will then extend from ``(0,0)`` to ``(curses.LINES " -"- 1, curses.COLS - 1)``." +"Your application can determine the size of the screen by using " +"the :data:`curses.LINES` and :data:`curses.COLS` variables to obtain the *y* " +"and *x* sizes. Legal coordinates will then extend from ``(0,0)`` to " +"``(curses.LINES - 1, curses.COLS - 1)``." msgstr "" -"Sua aplicação pode determinar o tamanho da tela usando as variáveis :data:" -"`curses.LINES` e :data:`curses.COLS` para obter os tamanhos *y* e *x*. " -"Coordenadas legais estenderão de ``(0,0)`` a ``(curses.LINES - 1, curses." -"COLS - 1)``." +"Sua aplicação pode determinar o tamanho da tela usando as " +"variáveis :data:`curses.LINES` e :data:`curses.COLS` para obter os tamanhos " +"*y* e *x*. Coordenadas válidas vão variar de ``(0,0)`` até ``(curses.LINES - " +"1, curses.COLS - 1)``." #: ../../howto/curses.rst:196 msgid "" "When you call a method to display or erase text, the effect doesn't " -"immediately show up on the display. Instead you must call the :meth:" -"`~curses.window.refresh` method of window objects to update the screen." +"immediately show up on the display. Instead you must call " +"the :meth:`~curses.window.refresh` method of window objects to update the " +"screen." msgstr "" "Quando você chamar um método para exibir ou apagar texto, o efeito não é " -"exibido imediatamente na tela. Em vez disso você deve chamar o método :meth:" -"`~curses.window.refresh` dos objetos janela para atualizar a tela." +"exibido imediatamente na tela. Em vez disso você deve chamar o " +"método :meth:`~curses.window.refresh` dos objetos janela para atualizar a " +"tela." #: ../../howto/curses.rst:201 msgid "" "This is because curses was originally written with slow 300-baud terminal " "connections in mind; with these terminals, minimizing the time required to " "redraw the screen was very important. Instead curses accumulates changes to " -"the screen and displays them in the most efficient manner when you call :" -"meth:`!refresh`. For example, if your program displays some text in a " +"the screen and displays them in the most efficient manner when you " +"call :meth:`!refresh`. For example, if your program displays some text in a " "window and then clears the window, there's no need to send the original text " "because they're never visible." msgstr "" +"Isso é porque a curses foi desenvolvida originalmente no contexto de " +"conexões lentas de até 300 Bauds com o terminal; para esses terminais, " +"minimizar o tempo necessário para redesenhar a tela era importantíssimo. No " +"lugar disso, a curses acumula mudanças na tela, e as exibe da forma mais " +"eficiente possível quando você chama :meth:`!refresh`. Por exemplo, se o seu " +"programa mostra um texto em uma janela e então limpa a janela, não tem " +"porque enviar o texto original já que ele nunca seria visível." #: ../../howto/curses.rst:210 msgid "" @@ -375,6 +399,13 @@ msgid "" "redrawn before pausing to wait for user input, by first calling :meth:`!" "stdscr.refresh` or the :meth:`!refresh` method of some other relevant window." msgstr "" +"Na prática, ficar pedindo ao curses explicitamente para redesenhar a tela " +"não torna a programação com ele tão complicada assim. A maioria dos " +"programas faz uma enxurrada de atividades, e então pausa esperando uma tecla " +"digitada ou alguma outra ação por parte do usuário. Tudo que você deve fazer " +"é garantir que a tela foi redesenhada antes de pausar esperando pela entrada " +"do usuário, chamando antes a :meth:`!stdscr.refresh` ou o método :meth:`!" +"refresh` de alguma outra janela apropriada." #: ../../howto/curses.rst:218 msgid "" @@ -397,6 +428,10 @@ msgid "" "Beyond that difference, pads are exactly like ordinary windows and support " "the same methods." msgstr "" +"A chamada da :meth:`!refresh` exibe um pedaço do pad no retângulo que vai da " +"coordenada (5,5) à coordenada (20,75) da tela; o canto superior esquerdo do " +"pedaço exibido corresponde à coordenada (0,0) do pad. Fora essa diferença, " +"pads são exatamente como janelas comuns, e provêm os mesmos métodos." #: ../../howto/curses.rst:245 msgid "" @@ -404,6 +439,10 @@ msgid "" "way to update the screen and prevent annoying screen flicker as each part of " "the screen gets updated. :meth:`!refresh` actually does two things:" msgstr "" +"Se você tem múltiplas janelas e pads na tela, existe um modo mais eficiente " +"de atualizar a tela que evita as cintilações irritantes que ocorrem à medida " +"que cada parte da tela vai sendo atualizada. O :meth:`!refresh` na verdade " +"faz duas coisas:" #: ../../howto/curses.rst:250 msgid "" @@ -420,13 +459,16 @@ msgid "" "screen to match the desired state recorded in the data structure." msgstr "" "Chama a função :func:`~curses.doupdate` para modificar a tela física para " -"corresponder com o estado original na estrutura de dados." +"corresponder com o estado desejado presente na estrutura de dados." #: ../../howto/curses.rst:256 msgid "" "Instead you can call :meth:`!noutrefresh` on a number of windows to update " "the data structure, and then call :func:`!doupdate` to update the screen." msgstr "" +"Em vez disso você pode chamar :meth:`!noutrefresh` em várias janelas para " +"atualizar a estrutura de dados, e então chamar :func:`!doupdate` para " +"atualizar a tela." #: ../../howto/curses.rst:262 msgid "Displaying Text" @@ -443,17 +485,25 @@ msgid "" "default. :c:func:`!mvwaddstr` allows specifying both a window and a " "coordinate." msgstr "" +"Do ponto de vista de um programador C, a curses à vezes pode parecer como um " +"labirinto sinuoso de funções, todas ligeiramente diferentes. Por " +"exemplo, :c:func:`!addstr` exibe uma string na posição atual do cursor na " +"janela ``stdscr``, enquanto :c:func:`!mvaddstr` primeiro move o cursor para " +"uma dada coordenada y,x antes de exibir a string. A :c:func:`!waddstr` é " +"como a :c:func:`!addstr`, mas permite especificar uma janela para utilizar " +"em vez de usar a ``stdscr`` por padrão. A :c:func:`!mvwaddstr` permite " +"especificar tanto uma janela quanto uma coordenada." #: ../../howto/curses.rst:273 msgid "" "Fortunately the Python interface hides all these details. ``stdscr`` is a " -"window object like any other, and methods such as :meth:`~curses.window." -"addstr` accept multiple argument forms. Usually there are four different " -"forms." +"window object like any other, and methods such " +"as :meth:`~curses.window.addstr` accept multiple argument forms. Usually " +"there are four different forms." msgstr "" "Felizmente, a interface do Python oculta todos estes detalhes. ``stdscr`` é " -"um objeto de janela como qualquer outro, e métodos como :meth:`~curses." -"window.addstr` aceitam múltiplas formas de argumentos." +"um objeto de janela como qualquer outro, e métodos " +"como :meth:`~curses.window.addstr` aceitam múltiplas formas de argumentos." #: ../../howto/curses.rst:279 msgid "Form" @@ -521,6 +571,11 @@ msgid "" "window's :attr:`~window.encoding` attribute; this defaults to the default " "system encoding as returned by :func:`locale.getencoding`." msgstr "" +"O método :meth:`~curses.window.addstr` recebe uma string ou bytestring " +"Python como valor a ser exibido. os conteúdos de bytestrings são enviados ao " +"terminal tais como estão. Strings são codificadas em bytes usando o valor do " +"atributo :attr:`~window.encoding` da janela; o valor padrão usado é a " +"codificação padrão do sistema como retornado por :func:`locale.getencoding`." #: ../../howto/curses.rst:306 msgid "" @@ -565,8 +620,8 @@ msgstr "" msgid "" "If your application doesn't need a blinking cursor at all, you can call " "``curs_set(False)`` to make it invisible. For compatibility with older " -"curses versions, there's a ``leaveok(bool)`` function that's a synonym for :" -"func:`~curses.curs_set`. When *bool* is true, the curses library will " +"curses versions, there's a ``leaveok(bool)`` function that's a synonym " +"for :func:`~curses.curs_set`. When *bool* is true, the curses library will " "attempt to suppress the flashing cursor, and you won't need to worry about " "leaving it in odd locations." msgstr "" @@ -588,6 +643,11 @@ msgid "" "to highlight certain words. curses supports this by allowing you to specify " "an attribute for each cell on the screen." msgstr "" +"Caracteres podem ser exibidos de diferentes formas. Linhas de status em " +"aplicações baseadas em texto são tradicionalmente exibidas em vídeo reverso, " +"ou um visualizador de texto pode precisar destacar certas palavras. Para " +"isso, a curses permite que você especifique um atributo para cada célula na " +"tela." #: ../../howto/curses.rst:339 msgid "" @@ -598,6 +658,12 @@ msgid "" "being used, so it's safest to stick to the most commonly available " "attributes, listed here." msgstr "" +"Um atributo é um inteiro em que cada bit representa um atributo diferente. " +"Você sempre pode tentar exibir texto com múltiplos bits de atributo ligados " +"ao mesmo tempo, mas a curses não garante que todas as combinações possíveis " +"estarão disponíveis, ou que elas são todas visualmente distintas. Isso " +"depende da habilidade do terminal sendo usado, de forma que é mais seguro se " +"ater aos atributos mais comumente disponíveis, listados aqui." #: ../../howto/curses.rst:347 msgid "Attribute" @@ -609,7 +675,7 @@ msgstr ":const:`A_BLINK`" #: ../../howto/curses.rst:349 msgid "Blinking text" -msgstr "" +msgstr "Texto piscante" #: ../../howto/curses.rst:351 msgid ":const:`A_BOLD`" @@ -617,7 +683,7 @@ msgstr ":const:`A_BOLD`" #: ../../howto/curses.rst:351 msgid "Extra bright or bold text" -msgstr "" +msgstr "Texto em negrito ou brilho extra" #: ../../howto/curses.rst:353 msgid ":const:`A_DIM`" @@ -625,7 +691,7 @@ msgstr ":const:`A_DIM`" #: ../../howto/curses.rst:353 msgid "Half bright text" -msgstr "" +msgstr "Texto em brilho médio" #: ../../howto/curses.rst:355 msgid ":const:`A_REVERSE`" @@ -633,7 +699,7 @@ msgstr ":const:`A_REVERSE`" #: ../../howto/curses.rst:355 msgid "Reverse-video text" -msgstr "" +msgstr "Texto em vídeo reverso" #: ../../howto/curses.rst:357 msgid ":const:`A_STANDOUT`" @@ -641,7 +707,7 @@ msgstr ":const:`A_STANDOUT`" #: ../../howto/curses.rst:357 msgid "The best highlighting mode available" -msgstr "" +msgstr "O modo mais destacado disponível" #: ../../howto/curses.rst:359 msgid ":const:`A_UNDERLINE`" @@ -656,6 +722,8 @@ msgid "" "So, to display a reverse-video status line on the top line of the screen, " "you could code::" msgstr "" +"Assim, pra exibir uma linha de status em vídeo reverso na linha no topo da " +"tela, você poderia escrever::" #: ../../howto/curses.rst:369 msgid "" @@ -663,6 +731,9 @@ msgid "" "The most common such terminal is probably the Linux console, followed by " "color xterms." msgstr "" +"A biblioteca curses também permite o uso de cores nos terminais que as " +"provêm. Destes, o terminal mais comum é provavelmente o console Linux, " +"seguido pelos xterms com cores." #: ../../howto/curses.rst:373 msgid "" @@ -675,20 +746,34 @@ msgid "" "to the British spelling, you'll have to resign yourself to misspelling it " "for the sake of these functions.)" msgstr "" +"Para usar cores, você deve chamar a função :func:`~curses.start_color` logo " +"depois de chamar :func:`~curses.initscr`, para inicializar a paleta de cores " +"padrão (a função :func:`curses.wrapper` faz isso automaticamente.) Uma vez " +"feito isso, a função :func:`~curses.has_colors` retorna True se o terminal " +"em uso de fato suportar cores. (Nota: a curses usa a grafia Americana " +"'color' ao invés da grafia Britânica/Canadense 'colour.' Se você estiver " +"acostumado com a grafia Britânica, você terá que se resignar a escrever com " +"a grafia trocada ao chamar essas funções.)" #: ../../howto/curses.rst:383 msgid "" "The curses library maintains a finite number of color pairs, containing a " "foreground (or text) color and a background color. You can get the " -"attribute value corresponding to a color pair with the :func:`~curses." -"color_pair` function; this can be bitwise-OR'ed with other attributes such " -"as :const:`A_REVERSE`, but again, such combinations are not guaranteed to " -"work on all terminals." -msgstr "" +"attribute value corresponding to a color pair with " +"the :func:`~curses.color_pair` function; this can be bitwise-OR'ed with " +"other attributes such as :const:`A_REVERSE`, but again, such combinations " +"are not guaranteed to work on all terminals." +msgstr "" +"A biblioteca curses mantém uma quantidade finita de pares de cores, contendo " +"uma cor de primeiro plano (ou de texto) e uma de fundo. Você pode obter o " +"valor do atributo correspondente a um par de cores com a " +"função :func:`~curses.color_pair`; esse valor pode ser combinado com OU (OR) " +"bit a bit com outros atributos como :const:`A_REVERSE`, mas, novamente, não " +"é garantido que tais combinações vão funcionar em todos os terminais." #: ../../howto/curses.rst:390 msgid "An example, which displays a line of text using color pair 1::" -msgstr "" +msgstr "Um exemplo, exibindo uma linha de texto com o par de cores 1::" #: ../../howto/curses.rst:395 msgid "" @@ -697,21 +782,33 @@ msgid "" "pair *n*, to foreground color f and background color b. Color pair 0 is " "hard-wired to white on black, and cannot be changed." msgstr "" +"Como dito anteriormente, um par de cores consiste de uma cor de primeiro " +"plano e uma cor de fundo. A função ``init_pair(n, f, b)`` muda a definição " +"do par de cores *n* para a cor de primeiro plano *f* e cor de fundo *b*. O " +"par 0 é pré-definido como branco sobre preto, e não pode ser mudado." #: ../../howto/curses.rst:400 msgid "" "Colors are numbered, and :func:`start_color` initializes 8 basic colors when " -"it activates color mode. They are: 0:black, 1:red, 2:green, 3:yellow, 4:" -"blue, 5:magenta, 6:cyan, and 7:white. The :mod:`curses` module defines " -"named constants for each of these colors: :const:`curses.COLOR_BLACK`, :" -"const:`curses.COLOR_RED`, and so forth." -msgstr "" +"it activates color mode. They are: 0:black, 1:red, 2:green, 3:yellow, " +"4:blue, 5:magenta, 6:cyan, and 7:white. The :mod:`curses` module defines " +"named constants for each of these " +"colors: :const:`curses.COLOR_BLACK`, :const:`curses.COLOR_RED`, and so forth." +msgstr "" +"As cores são numeradas, e a :func:`start_color` inicializa 8 cores básicas " +"ao ativar o modo colorido. São elas: 0:preto, 1:vermelho, 2:verde, " +"3:amarelo, 4:azul, 5:magenta, 6:ciano e 7:branco. O módulo :mod:`curses` " +"define constantes nomeadas para cada uma dessas " +"cores: :const:`curses.COLOR_BLACK`, :const:`curses.COLOR_RED`, e assim por " +"diante." #: ../../howto/curses.rst:406 msgid "" "Let's put all this together. To change color 1 to red text on a white " "background, you would call::" msgstr "" +"Vamos juntar tudo isso. Para redefinir a cor 1 como texto vermelho sobre " +"fundo branco, você chamaria::" #: ../../howto/curses.rst:411 msgid "" @@ -719,6 +816,9 @@ msgid "" "pair will change to the new colors. You can also display new text in this " "color with::" msgstr "" +"Quando você redefine um par de cores, qualquer texto que já tenha sido " +"exibido usando esse par de cores vai mudar para a nova definição. Você pode " +"também exibir mais texto nessa nova cor com::" #: ../../howto/curses.rst:417 msgid "" @@ -726,11 +826,20 @@ msgid "" "given RGB value. This lets you change color 1, which is usually red, to " "purple or blue or any other color you like. Unfortunately, the Linux " "console doesn't support this, so I'm unable to try it out, and can't provide " -"any examples. You can check if your terminal can do this by calling :func:" -"`~curses.can_change_color`, which returns ``True`` if the capability is " -"there. If you're lucky enough to have such a talented terminal, consult " -"your system's man pages for more information." -msgstr "" +"any examples. You can check if your terminal can do this by " +"calling :func:`~curses.can_change_color`, which returns ``True`` if the " +"capability is there. If you're lucky enough to have such a talented " +"terminal, consult your system's man pages for more information." +msgstr "" +"Terminais super sofisticados podem trocar as definições das cores em si para " +"um dado valor RGB. Isso permite que você troque a cor 1, que geralmente é " +"vermelha, para roxo ou azul ou qualquer outra cor que você queira. " +"Infelizmente, o terminal Linux não provê essa funcionalidade, de forma que " +"eu não consigo testá-la para fornecer exemplos. Você pode verificar se o seu " +"terminal tem esse recurso chamando a " +"função :func:`~curses.can_change_color`, que retorna ``True`` se o recurso " +"existir. Se por ventura o seu terminal for talentoso assim, consulte as " +"páginas man do seu sistema para mais informações." #: ../../howto/curses.rst:428 msgid "User Input" @@ -738,15 +847,15 @@ msgstr "Entrada de usuário" #: ../../howto/curses.rst:430 msgid "" -"The C curses library offers only very simple input mechanisms. Python's :mod:" -"`curses` module adds a basic text-input widget. (Other libraries such as " -"`Urwid `_ have more extensive collections " -"of widgets.)" +"The C curses library offers only very simple input mechanisms. " +"Python's :mod:`curses` module adds a basic text-input widget. (Other " +"libraries such as `Urwid `_ have more " +"extensive collections of widgets.)" msgstr "" #: ../../howto/curses.rst:435 msgid "There are two methods for getting input from a window:" -msgstr "" +msgstr "Há dois métodos para capturar entrada de uma janela:" #: ../../howto/curses.rst:437 msgid "" @@ -755,6 +864,10 @@ msgid "" "called earlier. You can optionally specify a coordinate to which the cursor " "should be moved before pausing." msgstr "" +"O :meth:`~curses.window.getch` atualiza a tela e então espera o usuário " +"apertar alguma tecla, exibindo o valor dela caso :func:`~curses.echo` tenha " +"sido chamada anteriormente. Opcionalmente, você pode especificar a " +"coordenada onde o cursor deve ser posicionado antes de pausar." #: ../../howto/curses.rst:442 msgid "" @@ -763,28 +876,50 @@ msgid "" "special keys such as function keys return longer strings containing a key " "name such as ``KEY_UP`` or ``^G``." msgstr "" +"O :meth:`~curses.window.getkey` faz a mesma coisa, mas converte o inteiro " +"para string. Caracteres individuais são retorndos como strings de 1 " +"caractere, e teclas especiais como teclas funcionais retornam strings " +"maiores contendo nomes de teclas como ``KEY_UP`` ou ``^G``." #: ../../howto/curses.rst:447 msgid "" -"It's possible to not wait for the user using the :meth:`~curses.window." -"nodelay` window method. After ``nodelay(True)``, :meth:`!getch` and :meth:`!" -"getkey` for the window become non-blocking. To signal that no input is " -"ready, :meth:`!getch` returns ``curses.ERR`` (a value of -1) and :meth:`!" -"getkey` raises an exception. There's also a :func:`~curses.halfdelay` " -"function, which can be used to (in effect) set a timer on each :meth:`!" -"getch`; if no input becomes available within a specified delay (measured in " -"tenths of a second), curses raises an exception." -msgstr "" +"It's possible to not wait for the user using " +"the :meth:`~curses.window.nodelay` window method. After " +"``nodelay(True)``, :meth:`!getch` and :meth:`!getkey` for the window become " +"non-blocking. To signal that no input is ready, :meth:`!getch` returns " +"``curses.ERR`` (a value of -1) and :meth:`!getkey` raises an exception. " +"There's also a :func:`~curses.halfdelay` function, which can be used to (in " +"effect) set a timer on each :meth:`!getch`; if no input becomes available " +"within a specified delay (measured in tenths of a second), curses raises an " +"exception." +msgstr "" +"É possível não esperar pelo usuário usando o " +"método :meth:`~curses.window.nodelay` das janelas. Após ``nodelay(True)``, " +"os métodos :meth:`!getch` e :meth:`!getkey` da janela viram não-bloqueantes. " +"Para sinalizar que não há entrada disponível, o :meth:`!getch` retorna " +"``curses.ERR`` (com valor de -1) e o :meth:`!getkey` levanta uma exceção. " +"Também há uma função :func:`~curses.halfdelay`, que pode ser usada para " +"(efetivamente) definit um temporizador em cada :meth:`!getch`; se nenhuma " +"entrada estiver disponível após um intervalo de espera especificado (medido " +"em décimos de segundo), a curses levanta uma exceção." #: ../../howto/curses.rst:457 msgid "" "The :meth:`!getch` method returns an integer; if it's between 0 and 255, it " "represents the ASCII code of the key pressed. Values greater than 255 are " "special keys such as Page Up, Home, or the cursor keys. You can compare the " -"value returned to constants such as :const:`curses.KEY_PPAGE`, :const:" -"`curses.KEY_HOME`, or :const:`curses.KEY_LEFT`. The main loop of your " -"program may look something like this::" -msgstr "" +"value returned to constants such " +"as :const:`curses.KEY_PPAGE`, :const:`curses.KEY_HOME`, " +"or :const:`curses.KEY_LEFT`. The main loop of your program may look " +"something like this::" +msgstr "" +"O método :meth:`!getch` retorna um inteiro. Se ele estiver entre 0 e 255, " +"ele representa o código ASCII da tecla digitada. Valores maiores que 255 são " +"teclas especiais como Page Up, Home, ou as teclas de seta. Você pode " +"comparar o valor retornado com constantes " +"como :const:`curses.KEY_PPAGE`, :const:`curses.KEY_HOME` " +"ou :const:`curses.KEY_LEFT`. O laço principal do seu programa pode ser algo " +"como::" #: ../../howto/curses.rst:473 msgid "" @@ -795,28 +930,48 @@ msgid "" "arguments and return the same type. For example, :func:`curses.ascii.ctrl` " "returns the control character corresponding to its argument." msgstr "" +"O módulo :mod:`curses.ascii` fornece funções de teste de pertencimento que " +"levam como argumento tanto inteiros quanto strings de 1 caractere; elas " +"podem ser úteis para escrever testes mais legíveis para tais laços. Ele " +"também fornece funções de conversão que levam como argumento tanto inteiros " +"quanto strings de 1 caractere, e retornam objetos do mesmo tipo. Por " +"exemplo, :func:`curses.ascii.ctrl` retorna o caractere de controle " +"correspondente ao argumento." #: ../../howto/curses.rst:480 msgid "" -"There's also a method to retrieve an entire string, :meth:`~curses.window." -"getstr`. It isn't used very often, because its functionality is quite " -"limited; the only editing keys available are the backspace key and the Enter " -"key, which terminates the string. It can optionally be limited to a fixed " -"number of characters. ::" +"There's also a method to retrieve an entire " +"string, :meth:`~curses.window.getstr`. It isn't used very often, because " +"its functionality is quite limited; the only editing keys available are the " +"backspace key and the Enter key, which terminates the string. It can " +"optionally be limited to a fixed number of characters. ::" msgstr "" +"Também há um método para pegar uma string " +"inteira, :meth:`~curses.window.getstr`. Ele não costuma ser usado porque a " +"sua funcionalidade é um pouco limitada: as únicas teclas de edição " +"disponíveis são o Backspace e o Enter, que termina a string. Ele pode " +"opcionalmente limitado a um número fixo de caracteres. ::" #: ../../howto/curses.rst:491 msgid "" "The :mod:`curses.textpad` module supplies a text box that supports an Emacs-" -"like set of keybindings. Various methods of the :class:`~curses.textpad." -"Textbox` class support editing with input validation and gathering the edit " -"results either with or without trailing spaces. Here's an example::" +"like set of keybindings. Various methods of " +"the :class:`~curses.textpad.Textbox` class support editing with input " +"validation and gathering the edit results either with or without trailing " +"spaces. Here's an example::" msgstr "" +"O módulo :mod:`curses.textpad` fornece uma caixa de texto que provê um " +"conjunto de atalhos de teclado estilo Emacs. Vários métodos da " +"classe :class:`~curses.textpad.Textbox` provêm edição com validação de " +"entrada e recuperação dos resultados da edição com ou sem espaços em branco " +"no final." #: ../../howto/curses.rst:515 msgid "" "See the library documentation on :mod:`curses.textpad` for more details." msgstr "" +"Consulte a documentação de biblioteca do :mod:`curses.textpad` para mais " +"detalhes." #: ../../howto/curses.rst:519 msgid "For More Information" @@ -829,15 +984,25 @@ msgid "" "Python library page for the :mod:`curses` module is now reasonably " "complete. You should browse it next." msgstr "" +"Este COMOFAZER não cobre alguns tópicos avançados, como ler o conteúdo da " +"tela ou capturar eventos de mouse de uma instância xterm, mas a página de " +"biblioteca Python para o módulo :mod:`curses` está agora razoavelmente " +"completa. Ela deve ser o seu próximo destino." #: ../../howto/curses.rst:526 msgid "" "If you're in doubt about the detailed behavior of the curses functions, " "consult the manual pages for your curses implementation, whether it's " "ncurses or a proprietary Unix vendor's. The manual pages will document any " -"quirks, and provide complete lists of all the functions, attributes, and :" -"const:`ACS_\\*` characters available to you." +"quirks, and provide complete lists of all the functions, attributes, " +"and :ref:`ACS_\\* ` characters available to you." msgstr "" +"Se estiver em dúvida quanto aos detalhes do comportamento das funções " +"curses, consulte as páginas de manual para a sua implementação curses, seja " +"ela o ncurses ou de algum fornecedor Unix proprietário. As páginas de manual " +"vão documentar quaisquer peculiaridades, e prover listas completas de todas " +"as funções, atributos e caracteres :ref:`ACS_\\* ` " +"disponíveis para você." #: ../../howto/curses.rst:533 msgid "" @@ -845,24 +1010,34 @@ msgid "" "Python interface. Often this isn't because they're difficult to implement, " "but because no one has needed them yet. Also, Python doesn't yet support " "the menu library associated with ncurses. Patches adding support for these " -"would be welcome; see `the Python Developer's Guide `_ to learn more about submitting patches to Python." +"would be welcome; see `the Python Developer's Guide `_ to learn more about submitting patches to Python." msgstr "" +"Devido à API da curses ser tão grande, algumas funções não são providas pela " +"interface Python. Muitas vezes isso não é por dificuldade de implementação, " +"e sim porque ninguém precisou delas ainda. Além disso, o Python ainda não " +"suporta a biblioteca de menus associada à ncurses. Patches que adicionem " +"suporte a essas funcionalidades seriam bem-vindos; veja `o Guia do " +"Desenvolvedor do Python `_ para aprender " +"melhor sobre como submeter patches ao Python." #: ../../howto/curses.rst:541 msgid "" "`Writing Programs with NCURSES `_: a lengthy tutorial for C programmers." msgstr "" +"`Writing Programs with NCURSES `_: um tutorial comprido para programadores C." #: ../../howto/curses.rst:543 msgid "`The ncurses man page `_" -msgstr "" +msgstr "`Página man do ncurses `_" #: ../../howto/curses.rst:544 msgid "" "`The ncurses FAQ `_" msgstr "" +"`FAQ do ncurses `_" #: ../../howto/curses.rst:545 msgid "" @@ -870,6 +1045,9 @@ msgid "" "v=eN1eZtjLEnU>`_: video of a PyCon 2013 talk on controlling terminals using " "curses or Urwid." msgstr "" +"`\"Use curses... don't swear\" `_: vídeo de uma palestra na PyCon 2013 sobre controle de " +"terminais usando curses ou Urwid." #: ../../howto/curses.rst:547 msgid "" @@ -877,3 +1055,6 @@ msgid "" "applications-with-urwid>`_: video of a PyCon CA 2012 talk demonstrating some " "applications written using Urwid." msgstr "" +"`\"Console Applications with Urwid\" `_: vídeo de uma palestra na PyCon CA 2012 " +"demonstrando algumas aplicações escritas com Urwid." diff --git a/howto/descriptor.po b/howto/descriptor.po index 8e49916c3..95c96ff01 100644 --- a/howto/descriptor.po +++ b/howto/descriptor.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -67,9 +64,9 @@ msgid "" "The \"primer\" gives a basic overview, moving gently from simple examples, " "adding one feature at a time. Start here if you're new to descriptors." msgstr "" -"O \"primer\" oferece uma visão geral básica, movendo-se suavemente a partir " -"de exemplos simples, adicionando um recurso de cada vez. Comece aqui se você " -"for novo em descritores." +"A \"introdução\" oferece uma visão geral básica, movendo-se suavemente a " +"partir de exemplos simples, adicionando um recurso de cada vez. Comece aqui " +"se você for novo em descritores." #: ../../howto/descriptor.rst:21 msgid "" @@ -93,26 +90,27 @@ msgstr "" msgid "" "The last section has pure Python equivalents for built-in descriptors that " "are written in C. Read this if you're curious about how functions turn into " -"bound methods or about the implementation of common tools like :func:" -"`classmethod`, :func:`staticmethod`, :func:`property`, and :term:`__slots__`." +"bound methods or about the implementation of common tools " +"like :func:`classmethod`, :func:`staticmethod`, :func:`property`, " +"and :term:`__slots__`." msgstr "" "A última seção tem equivalentes puros de Python para descritores embutidos " "que são escritos em C. Leia isto se estiver curioso sobre como as funções se " "transformam em métodos vinculados ou sobre a implementação de ferramentas " -"comuns como :func:`classmethod`, :func:`staticmethod`, :func:`property` e :" -"term:`__slots__`." +"comuns como :func:`classmethod`, :func:`staticmethod`, :func:`property` " +"e :term:`__slots__`." #: ../../howto/descriptor.rst:36 msgid "Primer" -msgstr "Primer" +msgstr "Introdução" #: ../../howto/descriptor.rst:38 msgid "" "In this primer, we start with the most basic possible example and then we'll " "add new capabilities one by one." msgstr "" -"Neste primer, começamos com o exemplo mais básico possível e, em seguida, " -"adicionaremos novos recursos um por um." +"Nesta introdução, começamos com o exemplo mais básico possível e, em " +"seguida, adicionaremos novos recursos um por um." #: ../../howto/descriptor.rst:43 msgid "Simple example: A descriptor that returns a constant" @@ -147,6 +145,10 @@ msgid "" "descriptor instance, recognized by its ``__get__`` method. Calling that " "method returns ``10``." msgstr "" +"Na pesquisa de atributo ``a.x``, o operador ponto encontra ``'x': 5`` no " +"dicionário de classe. Na pesquisa ``a.y``, o operador ponto encontra uma " +"instância de descritor, reconhecida por seu método ``__get__``. Chamar esse " +"método retorna ``10``." #: ../../howto/descriptor.rst:78 msgid "" @@ -282,13 +284,13 @@ msgstr "" #: ../../howto/descriptor.rst:256 msgid "" -"An interactive session shows that the :class:`Person` class has called :meth:" -"`__set_name__` so that the field names would be recorded. Here we call :" -"func:`vars` to look up the descriptor without triggering it:" +"An interactive session shows that the :class:`Person` class has " +"called :meth:`__set_name__` so that the field names would be recorded. Here " +"we call :func:`vars` to look up the descriptor without triggering it:" msgstr "" -"Uma sessão interativa mostra que a classe :class:`Person` chamou :meth:" -"`__set_name__` para que os nomes dos campos fossem registrados. Aqui " -"chamamos :func:`vars` para pesquisar o descritor sem acioná-lo:" +"Uma sessão interativa mostra que a classe :class:`Person` " +"chamou :meth:`__set_name__` para que os nomes dos campos fossem registrados. " +"Aqui chamamos :func:`vars` para pesquisar o descritor sem acioná-lo:" #: ../../howto/descriptor.rst:267 msgid "The new class now logs access to both *name* and *age*:" @@ -296,7 +298,7 @@ msgstr "A nova classe agora registra acesso a *name* e *age*:" #: ../../howto/descriptor.rst:284 msgid "The two *Person* instances contain only the private names:" -msgstr "" +msgstr "As duas instâncias *Person* contêm apenas os nomes privados:" #: ../../howto/descriptor.rst:295 msgid "Closing thoughts" @@ -304,11 +306,11 @@ msgstr "Pensamentos finais" #: ../../howto/descriptor.rst:297 msgid "" -"A :term:`descriptor` is what we call any object that defines :meth:" -"`__get__`, :meth:`__set__`, or :meth:`__delete__`." +"A :term:`descriptor` is what we call any object that " +"defines :meth:`__get__`, :meth:`__set__`, or :meth:`__delete__`." msgstr "" -"Um :term:`descritor` é o que chamamos de qualquer objeto que define :meth:" -"`__get__`, :meth:`__set__` ou :meth:`__delete__`." +"Um :term:`descritor` é o que chamamos de qualquer objeto que " +"define :meth:`__get__`, :meth:`__set__` ou :meth:`__delete__`." #: ../../howto/descriptor.rst:300 msgid "" @@ -324,18 +326,26 @@ msgid "" "descriptor is accessed indirectly with ``vars(some_class)" "[descriptor_name]``, the descriptor instance is returned without invoking it." msgstr "" +"Descritores são invocados pelo operador ponto durante a pesquisa de " +"atributos. Se um descritor for acessado indiretamente com ``vars(some_class)" +"[descriptor_name]``, a instância do descritor é retornada sem invocá-lo." #: ../../howto/descriptor.rst:309 msgid "" "Descriptors only work when used as class variables. When put in instances, " "they have no effect." msgstr "" +"Descritores só funcionam quando usados como variáveis de classe. Quando " +"colocados em instâncias, eles não têm efeito." #: ../../howto/descriptor.rst:312 msgid "" "The main motivation for descriptors is to provide a hook allowing objects " "stored in class variables to control what happens during attribute lookup." msgstr "" +"A principal motivação para descritores é fornecer um gancho permitindo que " +"objetos armazenados em variáveis de classe controlem o que acontece durante " +"a pesquisa de atributos." #: ../../howto/descriptor.rst:315 msgid "" @@ -343,28 +353,37 @@ msgid "" "Descriptors invert that relationship and allow the data being looked-up to " "have a say in the matter." msgstr "" +"Tradicionalmente, a classe de chamada controla o que acontece durante a " +"pesquisa. Descritores invertem esse relacionamento e permitem que os dados " +"pesquisados tenham uma palavra a dizer sobre o assunto." #: ../../howto/descriptor.rst:319 msgid "" "Descriptors are used throughout the language. It is how functions turn into " -"bound methods. Common tools like :func:`classmethod`, :func:" -"`staticmethod`, :func:`property`, and :func:`functools.cached_property` are " -"all implemented as descriptors." +"bound methods. Common tools " +"like :func:`classmethod`, :func:`staticmethod`, :func:`property`, " +"and :func:`functools.cached_property` are all implemented as descriptors." msgstr "" +"Descritores são usados em toda a linguagem. É como funções se transformam em " +"métodos vinculados. Ferramentas comuns " +"como :func:`classmethod`, :func:`staticmethod`, :func:`property` " +"e :func:`functools.cached_property` são todas implementadas como descritores." #: ../../howto/descriptor.rst:326 msgid "Complete Practical Example" -msgstr "" +msgstr "Exemplo completamente prático" #: ../../howto/descriptor.rst:328 msgid "" "In this example, we create a practical and powerful tool for locating " "notoriously hard to find data corruption bugs." msgstr "" +"Neste exemplo, criamos uma ferramenta prática e poderosa para localizar bugs " +"de corrupção de dados notoriamente difíceis de encontrar." #: ../../howto/descriptor.rst:333 msgid "Validator class" -msgstr "" +msgstr "Classe Validator" #: ../../howto/descriptor.rst:335 msgid "" @@ -373,6 +392,10 @@ msgid "" "restrictions. If those restrictions aren't met, it raises an exception to " "prevent data corruption at its source." msgstr "" +"Um validador é um descritor para acesso de atributo gerenciado. Antes de " +"armazenar quaisquer dados, ele verifica se o novo valor atende a várias " +"restrições de tipo e intervalo. Se essas restrições não forem atendidas, ele " +"levanta uma exceção para evitar corrupção de dados em sua origem." #: ../../howto/descriptor.rst:340 msgid "" @@ -382,17 +405,17 @@ msgstr "" #: ../../howto/descriptor.rst:363 msgid "" -"Custom validators need to inherit from :class:`Validator` and must supply a :" -"meth:`validate` method to test various restrictions as needed." +"Custom validators need to inherit from :class:`Validator` and must supply " +"a :meth:`validate` method to test various restrictions as needed." msgstr "" #: ../../howto/descriptor.rst:368 msgid "Custom validators" -msgstr "" +msgstr "Validadores personalizados" #: ../../howto/descriptor.rst:370 msgid "Here are three practical data validation utilities:" -msgstr "" +msgstr "Vemos aqui três utilitários práticos de validação de dados:" #: ../../howto/descriptor.rst:372 msgid "" @@ -401,9 +424,9 @@ msgstr "" #: ../../howto/descriptor.rst:374 msgid "" -":class:`Number` verifies that a value is either an :class:`int` or :class:" -"`float`. Optionally, it verifies that a value is between a given minimum or " -"maximum." +":class:`Number` verifies that a value is either an :class:`int` " +"or :class:`float`. Optionally, it verifies that a value is between a given " +"minimum or maximum." msgstr "" #: ../../howto/descriptor.rst:378 @@ -416,25 +439,27 @@ msgstr "" #: ../../howto/descriptor.rst:437 msgid "Practical application" -msgstr "" +msgstr "Aplicação prática" #: ../../howto/descriptor.rst:439 msgid "Here's how the data validators can be used in a real class:" -msgstr "" +msgstr "Veja como os validadores de dados podem ser usados em uma classe real:" #: ../../howto/descriptor.rst:454 msgid "The descriptors prevent invalid instances from being created:" -msgstr "" +msgstr "Os descritores impedem que instâncias inválidas sejam criadas:" #: ../../howto/descriptor.rst:481 msgid "Technical Tutorial" -msgstr "" +msgstr "Tutorial técnico" #: ../../howto/descriptor.rst:483 msgid "" "What follows is a more technical tutorial for the mechanics and details of " "how descriptors work." msgstr "" +"O que se segue é um tutorial mais técnico sobre a mecânica e os detalhes de " +"como os descritores funcionam." #: ../../howto/descriptor.rst:488 msgid "Abstract" @@ -445,23 +470,30 @@ msgid "" "Defines descriptors, summarizes the protocol, and shows how descriptors are " "called. Provides an example showing how object relational mappings work." msgstr "" +"Define descritores, resume o protocolo e mostra como os descritores são " +"chamados. Fornece um exemplo mostrando como mapeamentos relacionais de " +"objetos funcionam." #: ../../howto/descriptor.rst:493 msgid "" "Learning about descriptors not only provides access to a larger toolset, it " "creates a deeper understanding of how Python works." msgstr "" +"Aprender sobre descritores não apenas fornece acesso a um conjunto de " +"ferramentas maior, mas também cria uma compreensão mais profunda de como o " +"Python funciona." #: ../../howto/descriptor.rst:498 msgid "Definition and introduction" -msgstr "" +msgstr "Definição e introdução" #: ../../howto/descriptor.rst:500 msgid "" "In general, a descriptor is an attribute value that has one of the methods " -"in the descriptor protocol. Those methods are :meth:`__get__`, :meth:" -"`__set__`, and :meth:`__delete__`. If any of those methods are defined for " -"an attribute, it is said to be a :term:`descriptor`." +"in the descriptor protocol. Those methods " +"are :meth:`__get__`, :meth:`__set__`, and :meth:`__delete__`. If any of " +"those methods are defined for an attribute, it is said to be " +"a :term:`descriptor`." msgstr "" #: ../../howto/descriptor.rst:505 @@ -475,31 +507,39 @@ msgid "" "Where this occurs in the precedence chain depends on which descriptor " "methods were defined." msgstr "" +"O comportamento padrão para acesso a atributos é obter, definir ou excluir o " +"atributo do dicionário de um objeto. Por exemplo, ``a.x`` tem uma cadeia de " +"pesquisa começando com ``a.__dict__['x']``, depois ``type(a).__dict__['x']`` " +"e continuando pela ordem de resolução de métodos de ``type(a)``. Se o valor " +"pesquisado for um objeto que define um dos métodos descritores, o Python " +"pode substituir o comportamento padrão e invocar o método descritor. Onde " +"isso ocorre na cadeia de precedência depende de quais métodos descritores " +"foram definidos." #: ../../howto/descriptor.rst:514 msgid "" "Descriptors are a powerful, general purpose protocol. They are the " -"mechanism behind properties, methods, static methods, class methods, and :" -"func:`super()`. They are used throughout Python itself. Descriptors " +"mechanism behind properties, methods, static methods, class methods, " +"and :func:`super()`. They are used throughout Python itself. Descriptors " "simplify the underlying C code and offer a flexible set of new tools for " "everyday Python programs." msgstr "" #: ../../howto/descriptor.rst:522 msgid "Descriptor protocol" -msgstr "" +msgstr "Protocolo Descriptor" #: ../../howto/descriptor.rst:524 -msgid "``descr.__get__(self, obj, type=None) -> value``" -msgstr "" +msgid "``descr.__get__(self, obj, type=None)``" +msgstr "``descr.__get__(self, obj, type=None)``" #: ../../howto/descriptor.rst:526 -msgid "``descr.__set__(self, obj, value) -> None``" -msgstr "`descr.__set__(self, obj, value) -> None`" +msgid "``descr.__set__(self, obj, value)``" +msgstr "``descr.__set__(self, obj, value)``" #: ../../howto/descriptor.rst:528 -msgid "``descr.__delete__(self, obj) -> None``" -msgstr "" +msgid "``descr.__delete__(self, obj)``" +msgstr "``descr.__delete__(self, obj)``" #: ../../howto/descriptor.rst:530 msgid "" @@ -507,6 +547,9 @@ msgid "" "considered a descriptor and can override default behavior upon being looked " "up as an attribute." msgstr "" +"É só isso. Defina qualquer um desses métodos e um objeto é considerado um " +"descritor e pode substituir o comportamento padrão ao ser pesquisado como um " +"atributo." #: ../../howto/descriptor.rst:534 msgid "" @@ -524,30 +567,40 @@ msgid "" "takes precedence. If an instance's dictionary has an entry with the same " "name as a non-data descriptor, the dictionary entry takes precedence." msgstr "" +"Descritores de dados e não dados diferem em como as substituições são " +"calculadas com relação às entradas no dicionário de uma instância. Se o " +"dicionário de uma instância tiver uma entrada com o mesmo nome de um " +"descritor de dados, o descritor de dados terá precedência. Se o dicionário " +"de uma instância tiver uma entrada com o mesmo nome de um descritor não " +"dados, a entrada do dicionário terá precedência." #: ../../howto/descriptor.rst:545 msgid "" -"To make a read-only data descriptor, define both :meth:`__get__` and :meth:" -"`__set__` with the :meth:`__set__` raising an :exc:`AttributeError` when " -"called. Defining the :meth:`__set__` method with an exception raising " -"placeholder is enough to make it a data descriptor." +"To make a read-only data descriptor, define both :meth:`__get__` " +"and :meth:`__set__` with the :meth:`__set__` raising " +"an :exc:`AttributeError` when called. Defining the :meth:`__set__` method " +"with an exception raising placeholder is enough to make it a data descriptor." msgstr "" #: ../../howto/descriptor.rst:552 msgid "Overview of descriptor invocation" -msgstr "" +msgstr "Visão geral da invocação do descritor" #: ../../howto/descriptor.rst:554 msgid "" -"A descriptor can be called directly with ``desc.__get__(obj)`` or ``desc." -"__get__(None, cls)``." +"A descriptor can be called directly with ``desc.__get__(obj)`` or " +"``desc.__get__(None, cls)``." msgstr "" +"Um descritor pode ser chamado diretamente com ``desc.__get__(obj)`` ou " +"``desc.__get__(None, cls)``." #: ../../howto/descriptor.rst:557 msgid "" "But it is more common for a descriptor to be invoked automatically from " "attribute access." msgstr "" +"Mas é mais comum que um descritor seja invocado automaticamente a partir do " +"acesso ao atributo." #: ../../howto/descriptor.rst:560 msgid "" @@ -562,10 +615,12 @@ msgid "" "The details of invocation depend on whether ``obj`` is an object, class, or " "instance of super." msgstr "" +"Os detalhes da invocação dependem se ``obj`` é um objeto, classe ou " +"instância de super." #: ../../howto/descriptor.rst:570 msgid "Invocation from an instance" -msgstr "" +msgstr "Invocação de uma instância" #: ../../howto/descriptor.rst:572 msgid "" @@ -577,15 +632,19 @@ msgstr "" #: ../../howto/descriptor.rst:577 msgid "" -"If a descriptor is found for ``a.x``, then it is invoked with: ``desc." -"__get__(a, type(a))``." +"If a descriptor is found for ``a.x``, then it is invoked with: " +"``desc.__get__(a, type(a))``." msgstr "" +"Se um descritor for encontrado para ``a.x``, ele será invocado com: " +"``desc.__get__(a, type(a))``." #: ../../howto/descriptor.rst:580 msgid "" "The logic for a dotted lookup is in :meth:`object.__getattribute__`. Here " "is a pure Python equivalent:" msgstr "" +"A lógica para uma pesquisa pontilhada está " +"em :meth:`object.__getattribute__`. Aqui está um equivalente Python puro:" #: ../../howto/descriptor.rst:719 msgid "" @@ -597,36 +656,40 @@ msgstr "" #: ../../howto/descriptor.rst:723 msgid "" "Instead, it is the dot operator and the :func:`getattr` function that are " -"responsible for invoking :meth:`__getattr__` whenever :meth:" -"`__getattribute__` raises an :exc:`AttributeError`. Their logic is " -"encapsulated in a helper function:" +"responsible for invoking :meth:`__getattr__` " +"whenever :meth:`__getattribute__` raises an :exc:`AttributeError`. Their " +"logic is encapsulated in a helper function:" msgstr "" #: ../../howto/descriptor.rst:773 msgid "Invocation from a class" -msgstr "" +msgstr "Invocação de uma classe" #: ../../howto/descriptor.rst:775 msgid "" -"The logic for a dotted lookup such as ``A.x`` is in :meth:`type." -"__getattribute__`. The steps are similar to those for :meth:`object." -"__getattribute__` but the instance dictionary lookup is replaced by a search " -"through the class's :term:`method resolution order`." +"The logic for a dotted lookup such as ``A.x`` is " +"in :meth:`type.__getattribute__`. The steps are similar to those " +"for :meth:`object.__getattribute__` but the instance dictionary lookup is " +"replaced by a search through the class's :term:`method resolution order`." msgstr "" #: ../../howto/descriptor.rst:780 msgid "If a descriptor is found, it is invoked with ``desc.__get__(None, A)``." msgstr "" +"Se um descritor for encontrado, ele será invocado com ``desc.__get__(None, " +"A)``." #: ../../howto/descriptor.rst:782 msgid "" -"The full C implementation can be found in :c:func:`type_getattro()` and :c:" -"func:`_PyType_Lookup()` in :source:`Objects/typeobject.c`." +"The full C implementation can be found in :c:func:`!type_getattro` " +"and :c:func:`!_PyType_Lookup` in :source:`Objects/typeobject.c`." msgstr "" +"A implementação completa em C pode ser encontrada em :c:func:`!" +"type_getattro` e :c:func:`!_PyType_Lookup` em :source:`Objects/typeobject.c`." #: ../../howto/descriptor.rst:787 msgid "Invocation from super" -msgstr "" +msgstr "Invocação de super" #: ../../howto/descriptor.rst:789 msgid "" @@ -636,23 +699,31 @@ msgstr "" #: ../../howto/descriptor.rst:792 msgid "" -"A dotted lookup such as ``super(A, obj).m`` searches ``obj.__class__." -"__mro__`` for the base class ``B`` immediately following ``A`` and then " -"returns ``B.__dict__['m'].__get__(obj, A)``. If not a descriptor, ``m`` is " -"returned unchanged." +"A dotted lookup such as ``super(A, obj).m`` searches " +"``obj.__class__.__mro__`` for the base class ``B`` immediately following " +"``A`` and then returns ``B.__dict__['m'].__get__(obj, A)``. If not a " +"descriptor, ``m`` is returned unchanged." msgstr "" +"Uma pesquisa pontilhada como ``super(A, obj).m`` pesquisa " +"``obj.__class__.__mro__`` para a classe base ``B`` imediatamente após ``A`` " +"e então retorna ``B.__dict__['m'].__get__(obj, A)``. Se não for um " +"descritor, ``m`` é retornado inalterado." #: ../../howto/descriptor.rst:797 msgid "" -"The full C implementation can be found in :c:func:`super_getattro()` in :" -"source:`Objects/typeobject.c`. A pure Python equivalent can be found in " +"The full C implementation can be found in :c:func:`!super_getattro` " +"in :source:`Objects/typeobject.c`. A pure Python equivalent can be found in " "`Guido's Tutorial `_." msgstr "" +"A implementação completa em C pode ser encontrada em :c:func:`!" +"super_getattro` em :source:`Objects/typeobject.c`. Um equivalente em Python " +"puro pode ser encontrado no `Tutorial do Guido `_." #: ../../howto/descriptor.rst:804 msgid "Summary of invocation logic" -msgstr "" +msgstr "Resumo da lógica de invocação" #: ../../howto/descriptor.rst:806 msgid "" @@ -662,7 +733,7 @@ msgstr "" #: ../../howto/descriptor.rst:809 msgid "The important points to remember are:" -msgstr "" +msgstr "Os pontos importantes para lembrar são:" #: ../../howto/descriptor.rst:811 msgid "Descriptors are invoked by the :meth:`__getattribute__` method." @@ -670,9 +741,11 @@ msgstr "" #: ../../howto/descriptor.rst:813 msgid "" -"Classes inherit this machinery from :class:`object`, :class:`type`, or :func:" -"`super`." +"Classes inherit this machinery from :class:`object`, :class:`type`, " +"or :func:`super`." msgstr "" +"As classes herdam esse maquinário de :class:`object`, :class:`type` " +"ou :func:`super`." #: ../../howto/descriptor.rst:816 msgid "" @@ -690,15 +763,17 @@ msgstr "" #: ../../howto/descriptor.rst:824 msgid "Data descriptors always override instance dictionaries." -msgstr "" +msgstr "Os descritores de dados sempre substituem os dicionários de instância." #: ../../howto/descriptor.rst:826 msgid "Non-data descriptors may be overridden by instance dictionaries." msgstr "" +"Descritores de não-dados podem ser substituídos pelos dicionários de " +"instância." #: ../../howto/descriptor.rst:830 msgid "Automatic name notification" -msgstr "" +msgstr "Notificação automática de nome" #: ../../howto/descriptor.rst:832 msgid "" @@ -712,9 +787,11 @@ msgstr "" #: ../../howto/descriptor.rst:839 msgid "" -"The implementation details are in :c:func:`type_new()` and :c:func:" -"`set_names()` in :source:`Objects/typeobject.c`." +"The implementation details are in :c:func:`!type_new` and :c:func:`!" +"set_names` in :source:`Objects/typeobject.c`." msgstr "" +"Os detalhes de implementações estão em :c:func:`!type_new` e :c:func:`!" +"set_names` em :source:`Objects/typeobject.c`." #: ../../howto/descriptor.rst:842 msgid "" @@ -725,14 +802,17 @@ msgstr "" #: ../../howto/descriptor.rst:848 msgid "ORM example" -msgstr "" +msgstr "Exemplo de ORM" #: ../../howto/descriptor.rst:850 msgid "" "The following code is a simplified skeleton showing how data descriptors " -"could be used to implement an `object relational mapping `_." +"could be used to implement an `object relational mapping `_." msgstr "" +"O código a seguir é um esqueleto simplificado que mostra como os descritores " +"de dados podem ser usados para implementar um `mapeamento relacional de " +"objetos `_." #: ../../howto/descriptor.rst:854 msgid "" @@ -740,66 +820,83 @@ msgid "" "Python instances only hold keys to the database's tables. Descriptors take " "care of lookups or updates:" msgstr "" +"A ideia essencial é que os dados sejam armazenados em um banco de dados " +"externo. As instâncias do Python só guardam chaves para as tabelas do banco " +"de dados. Descritores cuidam de pesquisas ou atualizações:" #: ../../howto/descriptor.rst:873 msgid "" -"We can use the :class:`Field` class to define `models `_ that describe the schema for each table in a " -"database:" +"We can use the :class:`Field` class to define `models `_ that describe the schema for each " +"table in a database:" msgstr "" #: ../../howto/descriptor.rst:898 msgid "To use the models, first connect to the database::" -msgstr "" +msgstr "Para usar os modelos, primeiro conecte ao banco de dados::" #: ../../howto/descriptor.rst:903 msgid "" "An interactive session shows how data is retrieved from the database and how " "it can be updated:" msgstr "" +"Uma sessão interativa mostra como os dados são recuperados do banco de dados " +"e como eles podem ser atualizados:" -#: ../../howto/descriptor.rst:948 +#: ../../howto/descriptor.rst:952 msgid "Pure Python Equivalents" -msgstr "" +msgstr "Equivalentes de Python puro" -#: ../../howto/descriptor.rst:950 +#: ../../howto/descriptor.rst:954 msgid "" "The descriptor protocol is simple and offers exciting possibilities. " "Several use cases are so common that they have been prepackaged into built-" "in tools. Properties, bound methods, static methods, class methods, and " "\\_\\_slots\\_\\_ are all based on the descriptor protocol." msgstr "" +"O protocolo descritor é simples e oferece possibilidades interessantes. " +"Vários casos de uso são tão comuns que foram pré-empacotados em ferramentas " +"embutidas. Propriedades, métodos vinculados, métodos estáticos, métodos de " +"classe e \\_\\_slots\\_\\_ são todos baseados no protocolo descritor." -#: ../../howto/descriptor.rst:957 +#: ../../howto/descriptor.rst:961 msgid "Properties" msgstr "Propriedades" -#: ../../howto/descriptor.rst:959 +#: ../../howto/descriptor.rst:963 msgid "" "Calling :func:`property` is a succinct way of building a data descriptor " "that triggers a function call upon access to an attribute. Its signature " "is::" msgstr "" +"Chamar :func:`property` é uma maneira sucinta de construir um descritor de " +"dados que dispara uma chamada de função ao acessar um atributo. Sua " +"assinatura é::" -#: ../../howto/descriptor.rst:964 +#: ../../howto/descriptor.rst:968 msgid "" "The documentation shows a typical use to define a managed attribute ``x``:" msgstr "" +"A documentação mostra um uso típico para definir um atributo gerenciado " +"``x``:" -#: ../../howto/descriptor.rst:988 +#: ../../howto/descriptor.rst:992 msgid "" "To see how :func:`property` is implemented in terms of the descriptor " "protocol, here is a pure Python equivalent:" msgstr "" -#: ../../howto/descriptor.rst:1091 +#: ../../howto/descriptor.rst:1095 msgid "" "The :func:`property` builtin helps whenever a user interface has granted " "attribute access and then subsequent changes require the intervention of a " "method." msgstr "" +"O recurso embutido :func:`property` ajuda sempre que uma interface de " +"usuário concede acesso a atributos e alterações subsequentes exigem a " +"intervenção de um método." -#: ../../howto/descriptor.rst:1095 +#: ../../howto/descriptor.rst:1099 msgid "" "For instance, a spreadsheet class may grant access to a cell value through " "``Cell('b10').value``. Subsequent improvements to the program require the " @@ -808,168 +905,195 @@ msgid "" "solution is to wrap access to the value attribute in a property data " "descriptor:" msgstr "" +"Por exemplo, uma classe de planilha pode conceder acesso a um valor de " +"célula por meio de ``Cell('b10').value``. Melhorias subsequentes no programa " +"exigem que a célula seja recalculada em cada acesso; no entanto, o " +"programador não quer afetar o código do cliente existente acessando o " +"atributo diretamente. A solução é encapsular o acesso ao atributo de valor " +"em um descritor de dados de propriedade:" -#: ../../howto/descriptor.rst:1112 +#: ../../howto/descriptor.rst:1116 msgid "" "Either the built-in :func:`property` or our :func:`Property` equivalent " "would work in this example." msgstr "" -#: ../../howto/descriptor.rst:1117 +#: ../../howto/descriptor.rst:1121 msgid "Functions and methods" -msgstr "" +msgstr "Funções e métodos" -#: ../../howto/descriptor.rst:1119 +#: ../../howto/descriptor.rst:1123 msgid "" "Python's object oriented features are built upon a function based " "environment. Using non-data descriptors, the two are merged seamlessly." msgstr "" +"Os recursos orientados a objetos do Python são construídos sobre um ambiente " +"baseado em funções. Usando descritores de não-dados, os dois são mesclados " +"perfeitamente." -#: ../../howto/descriptor.rst:1122 +#: ../../howto/descriptor.rst:1126 msgid "" "Functions stored in class dictionaries get turned into methods when invoked. " "Methods only differ from regular functions in that the object instance is " "prepended to the other arguments. By convention, the instance is called " "*self* but could be called *this* or any other variable name." msgstr "" +"Funções armazenadas em dicionários de classe são transformadas em métodos " +"quando invocadas. Métodos diferem de funções regulares apenas porque a " +"instância do objeto é prefixada aos outros argumentos. Por convenção, a " +"instância é chamada *self*, mas poderia ser chamada *this* ou qualquer outro " +"nome de variável.trabalhar" -#: ../../howto/descriptor.rst:1127 +#: ../../howto/descriptor.rst:1131 msgid "" "Methods can be created manually with :class:`types.MethodType` which is " "roughly equivalent to:" msgstr "" +"Os métodos podem ser criados manualmente com :class:`types.MethodType`, que " +"é aproximadamente equivalente a:" -#: ../../howto/descriptor.rst:1144 +#: ../../howto/descriptor.rst:1148 msgid "" -"To support automatic creation of methods, functions include the :meth:" -"`__get__` method for binding methods during attribute access. This means " -"that functions are non-data descriptors that return bound methods during " -"dotted lookup from an instance. Here's how it works:" +"To support automatic creation of methods, functions include " +"the :meth:`__get__` method for binding methods during attribute access. " +"This means that functions are non-data descriptors that return bound methods " +"during dotted lookup from an instance. Here's how it works:" msgstr "" -#: ../../howto/descriptor.rst:1160 +#: ../../howto/descriptor.rst:1164 msgid "" "Running the following class in the interpreter shows how the function " "descriptor works in practice:" msgstr "" +"A execução da classe a seguir no interpretador mostra como o descritor de " +"função funciona na prática:" -#: ../../howto/descriptor.rst:1169 +#: ../../howto/descriptor.rst:1173 msgid "" "The function has a :term:`qualified name` attribute to support introspection:" msgstr "" +"A função tem um atributo :term:`nome qualificado` para dar suporte à " +"introspecção:" -#: ../../howto/descriptor.rst:1176 +#: ../../howto/descriptor.rst:1180 msgid "" -"Accessing the function through the class dictionary does not invoke :meth:" -"`__get__`. Instead, it just returns the underlying function object::" +"Accessing the function through the class dictionary does not " +"invoke :meth:`__get__`. Instead, it just returns the underlying function " +"object::" msgstr "" -#: ../../howto/descriptor.rst:1182 +#: ../../howto/descriptor.rst:1186 msgid "" "Dotted access from a class calls :meth:`__get__` which just returns the " "underlying function unchanged::" msgstr "" -#: ../../howto/descriptor.rst:1188 +#: ../../howto/descriptor.rst:1192 msgid "" "The interesting behavior occurs during dotted access from an instance. The " "dotted lookup calls :meth:`__get__` which returns a bound method object::" msgstr "" -#: ../../howto/descriptor.rst:1195 +#: ../../howto/descriptor.rst:1199 msgid "" "Internally, the bound method stores the underlying function and the bound " "instance::" msgstr "" +"Internamente, o método vinculado armazena a função subjacente e a instância " +"vinculada::" -#: ../../howto/descriptor.rst:1204 +#: ../../howto/descriptor.rst:1208 msgid "" "If you have ever wondered where *self* comes from in regular methods or " "where *cls* comes from in class methods, this is it!" msgstr "" +"Se você já se perguntou de onde vem *self* em métodos regulares ou de onde " +"vem *cls* em métodos de classe, é isso!" -#: ../../howto/descriptor.rst:1209 +#: ../../howto/descriptor.rst:1213 msgid "Kinds of methods" -msgstr "" +msgstr "Tipos de métodos" -#: ../../howto/descriptor.rst:1211 +#: ../../howto/descriptor.rst:1215 msgid "" "Non-data descriptors provide a simple mechanism for variations on the usual " "patterns of binding functions into methods." msgstr "" +"Descritores de não-dados fornecem um mecanismo simples para variações nos " +"padrões usuais de vinculação de funções em métodos." -#: ../../howto/descriptor.rst:1214 +#: ../../howto/descriptor.rst:1218 msgid "" "To recap, functions have a :meth:`__get__` method so that they can be " "converted to a method when accessed as attributes. The non-data descriptor " -"transforms an ``obj.f(*args)`` call into ``f(obj, *args)``. Calling ``cls." -"f(*args)`` becomes ``f(*args)``." +"transforms an ``obj.f(*args)`` call into ``f(obj, *args)``. Calling " +"``cls.f(*args)`` becomes ``f(*args)``." msgstr "" -#: ../../howto/descriptor.rst:1219 +#: ../../howto/descriptor.rst:1223 msgid "This chart summarizes the binding and its two most useful variants:" -msgstr "" +msgstr "Este gráfico resume a ligação e suas duas variantes mais úteis:" -#: ../../howto/descriptor.rst:1222 +#: ../../howto/descriptor.rst:1226 msgid "Transformation" msgstr "Transformação" -#: ../../howto/descriptor.rst:1222 +#: ../../howto/descriptor.rst:1226 msgid "Called from an object" -msgstr "" +msgstr "Chamada de um objeto" -#: ../../howto/descriptor.rst:1222 +#: ../../howto/descriptor.rst:1226 msgid "Called from a class" -msgstr "" +msgstr "Chamada de uma classe" -#: ../../howto/descriptor.rst:1225 +#: ../../howto/descriptor.rst:1229 msgid "function" msgstr "função" -#: ../../howto/descriptor.rst:1225 +#: ../../howto/descriptor.rst:1229 msgid "f(obj, \\*args)" msgstr "f(obj, \\*args)" -#: ../../howto/descriptor.rst:1225 ../../howto/descriptor.rst:1227 +#: ../../howto/descriptor.rst:1229 ../../howto/descriptor.rst:1231 msgid "f(\\*args)" msgstr "f(\\*args)" -#: ../../howto/descriptor.rst:1227 +#: ../../howto/descriptor.rst:1231 msgid "staticmethod" msgstr "staticmethod" -#: ../../howto/descriptor.rst:1229 +#: ../../howto/descriptor.rst:1233 msgid "classmethod" msgstr "classmethod" -#: ../../howto/descriptor.rst:1229 +#: ../../howto/descriptor.rst:1233 msgid "f(type(obj), \\*args)" msgstr "f(type(obj), \\*args)" -#: ../../howto/descriptor.rst:1229 +#: ../../howto/descriptor.rst:1233 msgid "f(cls, \\*args)" -msgstr "" +msgstr "f(cls, \\*args)" -#: ../../howto/descriptor.rst:1234 +#: ../../howto/descriptor.rst:1238 msgid "Static methods" -msgstr "" +msgstr "Métodos estáticos" -#: ../../howto/descriptor.rst:1236 +#: ../../howto/descriptor.rst:1240 msgid "" "Static methods return the underlying function without changes. Calling " -"either ``c.f`` or ``C.f`` is the equivalent of a direct lookup into ``object." -"__getattribute__(c, \"f\")`` or ``object.__getattribute__(C, \"f\")``. As a " -"result, the function becomes identically accessible from either an object or " -"a class." +"either ``c.f`` or ``C.f`` is the equivalent of a direct lookup into " +"``object.__getattribute__(c, \"f\")`` or ``object.__getattribute__(C, " +"\"f\")``. As a result, the function becomes identically accessible from " +"either an object or a class." msgstr "" -#: ../../howto/descriptor.rst:1242 +#: ../../howto/descriptor.rst:1246 msgid "" "Good candidates for static methods are methods that do not reference the " "``self`` variable." msgstr "" -#: ../../howto/descriptor.rst:1245 +#: ../../howto/descriptor.rst:1249 msgid "" "For instance, a statistics package may include a container class for " "experimental data. The class provides normal methods for computing the " @@ -981,38 +1105,39 @@ msgid "" "``s.erf(1.5) --> .9332`` or ``Sample.erf(1.5) --> .9332``." msgstr "" -#: ../../howto/descriptor.rst:1254 +#: ../../howto/descriptor.rst:1258 msgid "" "Since static methods return the underlying function with no changes, the " "example calls are unexciting:" msgstr "" -#: ../../howto/descriptor.rst:1271 +#: ../../howto/descriptor.rst:1275 msgid "" -"Using the non-data descriptor protocol, a pure Python version of :func:" -"`staticmethod` would look like this:" +"Using the non-data descriptor protocol, a pure Python version " +"of :func:`staticmethod` would look like this:" msgstr "" -#: ../../howto/descriptor.rst:1291 +#: ../../howto/descriptor.rst:1295 msgid "" "The :func:`functools.update_wrapper` call adds a ``__wrapped__`` attribute " "that refers to the underlying function. Also it carries forward the " -"attributes necessary to make the wrapper look like the wrapped function: " -"``__name__``, ``__qualname__``, ``__doc__``, and ``__annotations__``." +"attributes necessary to make the wrapper look like the wrapped " +"function: :attr:`~function.__name__`, :attr:`~function.__qualname__`, :attr:`~function.__doc__`, " +"and :attr:`~function.__annotations__`." msgstr "" -#: ../../howto/descriptor.rst:1359 +#: ../../howto/descriptor.rst:1364 msgid "Class methods" -msgstr "" +msgstr "Métodos de classe" -#: ../../howto/descriptor.rst:1361 +#: ../../howto/descriptor.rst:1366 msgid "" "Unlike static methods, class methods prepend the class reference to the " "argument list before calling the function. This format is the same for " "whether the caller is an object or a class:" msgstr "" -#: ../../howto/descriptor.rst:1379 +#: ../../howto/descriptor.rst:1384 msgid "" "This behavior is useful whenever the method only needs to have a class " "reference and does not rely on data stored in a specific instance. One use " @@ -1021,17 +1146,17 @@ msgid "" "of keys. The pure Python equivalent is:" msgstr "" -#: ../../howto/descriptor.rst:1396 +#: ../../howto/descriptor.rst:1401 msgid "Now a new dictionary of unique keys can be constructed like this:" msgstr "" -#: ../../howto/descriptor.rst:1406 +#: ../../howto/descriptor.rst:1411 msgid "" -"Using the non-data descriptor protocol, a pure Python version of :func:" -"`classmethod` would look like this:" +"Using the non-data descriptor protocol, a pure Python version " +"of :func:`classmethod` would look like this:" msgstr "" -#: ../../howto/descriptor.rst:1484 +#: ../../howto/descriptor.rst:1489 msgid "" "The code path for ``hasattr(type(self.f), '__get__')`` was added in Python " "3.9 and makes it possible for :func:`classmethod` to support chained " @@ -1039,39 +1164,40 @@ msgid "" "together. In Python 3.11, this functionality was deprecated." msgstr "" -#: ../../howto/descriptor.rst:1502 +#: ../../howto/descriptor.rst:1507 msgid "" "The :func:`functools.update_wrapper` call in ``ClassMethod`` adds a " "``__wrapped__`` attribute that refers to the underlying function. Also it " "carries forward the attributes necessary to make the wrapper look like the " -"wrapped function: ``__name__``, ``__qualname__``, ``__doc__``, and " -"``__annotations__``." +"wrapped " +"function: :attr:`~function.__name__`, :attr:`~function.__qualname__`, :attr:`~function.__doc__`, " +"and :attr:`~function.__annotations__`." msgstr "" -#: ../../howto/descriptor.rst:1510 +#: ../../howto/descriptor.rst:1516 msgid "Member objects and __slots__" msgstr "" -#: ../../howto/descriptor.rst:1512 +#: ../../howto/descriptor.rst:1518 msgid "" "When a class defines ``__slots__``, it replaces instance dictionaries with a " "fixed-length array of slot values. From a user point of view that has " "several effects:" msgstr "" -#: ../../howto/descriptor.rst:1516 +#: ../../howto/descriptor.rst:1522 msgid "" "1. Provides immediate detection of bugs due to misspelled attribute " "assignments. Only attribute names specified in ``__slots__`` are allowed:" msgstr "" -#: ../../howto/descriptor.rst:1532 +#: ../../howto/descriptor.rst:1538 msgid "" "2. Helps create immutable objects where descriptors manage access to private " "attributes stored in ``__slots__``:" msgstr "" -#: ../../howto/descriptor.rst:1567 +#: ../../howto/descriptor.rst:1573 msgid "" "3. Saves memory. On a 64-bit Linux build, an instance with two attributes " "takes 48 bytes with ``__slots__`` and 152 bytes without. This `flyweight " @@ -1079,19 +1205,19 @@ msgid "" "only matters when a large number of instances are going to be created." msgstr "" -#: ../../howto/descriptor.rst:1572 +#: ../../howto/descriptor.rst:1578 msgid "" "4. Improves speed. Reading instance variables is 35% faster with " "``__slots__`` (as measured with Python 3.10 on an Apple M1 processor)." msgstr "" -#: ../../howto/descriptor.rst:1575 +#: ../../howto/descriptor.rst:1581 msgid "" "5. Blocks tools like :func:`functools.cached_property` which require an " "instance dictionary to function correctly:" msgstr "" -#: ../../howto/descriptor.rst:1597 +#: ../../howto/descriptor.rst:1603 msgid "" "It is not possible to create an exact drop-in pure Python version of " "``__slots__`` because it requires direct access to C structures and control " @@ -1101,36 +1227,36 @@ msgid "" "managed by member descriptors:" msgstr "" -#: ../../howto/descriptor.rst:1642 +#: ../../howto/descriptor.rst:1648 msgid "" "The :meth:`type.__new__` method takes care of adding member objects to class " "variables:" msgstr "" -#: ../../howto/descriptor.rst:1658 +#: ../../howto/descriptor.rst:1664 msgid "" "The :meth:`object.__new__` method takes care of creating instances that have " "slots instead of an instance dictionary. Here is a rough simulation in pure " "Python:" msgstr "" -#: ../../howto/descriptor.rst:1693 +#: ../../howto/descriptor.rst:1699 msgid "" "To use the simulation in a real class, just inherit from :class:`Object` and " "set the :term:`metaclass` to :class:`Type`:" msgstr "" -#: ../../howto/descriptor.rst:1707 +#: ../../howto/descriptor.rst:1713 msgid "" "At this point, the metaclass has loaded member objects for *x* and *y*::" msgstr "" -#: ../../howto/descriptor.rst:1728 +#: ../../howto/descriptor.rst:1734 msgid "" "When instances are created, they have a ``slot_values`` list where the " "attributes are stored:" msgstr "" -#: ../../howto/descriptor.rst:1740 +#: ../../howto/descriptor.rst:1746 msgid "Misspelled or unassigned attributes will raise an exception:" msgstr "" diff --git a/howto/enum.po b/howto/enum.po index e81be14a5..00b4eb89b 100644 --- a/howto/enum.po +++ b/howto/enum.po @@ -1,45 +1,42 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Misael borges , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Marcos Moraes, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Marcos Moraes, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../howto/enum.rst:3 msgid "Enum HOWTO" -msgstr "HOWTO Enum" +msgstr "Enum" #: ../../howto/enum.rst:9 msgid "" "An :class:`Enum` is a set of symbolic names bound to unique values. They " -"are similar to global variables, but they offer a more useful :func:" -"`repr()`, grouping, type-safety, and a few other features." +"are similar to global variables, but they offer a more " +"useful :func:`repr()`, grouping, type-safety, and a few other features." msgstr "" "Uma classe :class:`Enum` é um conjunto de nomes simbólicos vinculados a " -"valores únicos. Eles são semelhantes às variáveis globais, mas oferecem um :" -"func:`repr()` mais útil, agrupamento, segurança de tipo e alguns outros " +"valores únicos. Eles são semelhantes às variáveis globais, mas oferecem " +"um :func:`repr()` mais útil, agrupamento, segurança de tipo e alguns outros " "recursos." #: ../../howto/enum.rst:13 @@ -64,7 +61,7 @@ msgstr "" #: ../../howto/enum.rst:37 msgid "Case of Enum Members" -msgstr "Caso de membros de Enums" +msgstr "Maiúsculas em membros de Enums" #: ../../howto/enum.rst:39 msgid "" @@ -82,7 +79,7 @@ msgid "" "member::" msgstr "" "Dependendo da natureza do enum, o valor de um membro pode ou não ser " -"importante, mas de qualquer forma esse valor pode ser usado para obter o " +"importante. Mas, de qualquer forma, esse valor pode ser usado para obter o " "membro correspondente::" #: ../../howto/enum.rst:49 @@ -112,11 +109,11 @@ msgstr "Da mesma forma, eles têm um atributo para seu :attr:`value`::" msgid "" "Unlike many languages that treat enumerations solely as name/value pairs, " "Python Enums can have behavior added. For example, :class:`datetime.date` " -"has two methods for returning the weekday: :meth:`weekday` and :meth:" -"`isoweekday`. The difference is that one of them counts from 0-6 and the " -"other from 1-7. Rather than keep track of that ourselves we can add a method " -"to the :class:`Weekday` enum to extract the day from the :class:`date` " -"instance and return the matching enum member::" +"has two methods for returning the weekday: :meth:`weekday` " +"and :meth:`isoweekday`. The difference is that one of them counts from 0-6 " +"and the other from 1-7. Rather than keep track of that ourselves we can add " +"a method to the :class:`Weekday` enum to extract the day from " +"the :class:`date` instance and return the matching enum member::" msgstr "" "Ao contrário de muitas linguagens que tratam enumerações apenas como pares " "de nome/valor, Enums do Python podem ter comportamento adicionado. Por " @@ -128,18 +125,19 @@ msgstr "" #: ../../howto/enum.rst:86 msgid "The complete :class:`Weekday` enum now looks like this::" -msgstr "O enum de :class:`Weekday` completa agora se parece com isso::" +msgstr "O enum de :class:`Weekday` completa agora tem esta forma::" #: ../../howto/enum.rst:101 msgid "Now we can find out what today is! Observe::" -msgstr "Agora podemos descobrir o que é hoje! Observar::" +msgstr "Agora podemos descobrir que dia é hoje! Observe::" #: ../../howto/enum.rst:107 msgid "" "Of course, if you're reading this on some other day, you'll see that day " "instead." msgstr "" -"Claro, se você estiver lendo isso em algum outro dia, você verá esse dia." +"Claro, se você estiver lendo isso em outro dia da semana, você verá esse " +"respectivo dia." #: ../../howto/enum.rst:109 msgid "" @@ -158,63 +156,78 @@ msgid "" "We've changed two things: we're inherited from :class:`Flag`, and the values " "are all powers of 2." msgstr "" +"Nós mudamos duas coisas: estamos herdando de :class:`Flag` (sinalizador), e " +"os valores são todos potências de 2." #: ../../howto/enum.rst:127 msgid "" "Just like the original :class:`Weekday` enum above, we can have a single " "selection::" msgstr "" +"Assim como o enum :class:`Weekday` original acima, podemos ter uma seleção " +"única:" #: ../../howto/enum.rst:133 msgid "" "But :class:`Flag` also allows us to combine several members into a single " "variable::" msgstr "" +"Porém, a :class:`Flag` também nos permite combinar vários membros em uma " +"única variável::" #: ../../howto/enum.rst:140 msgid "You can even iterate over a :class:`Flag` variable::" -msgstr "" +msgstr "Você pode até mesmo iterar sobre uma variável :class:`Flag`::" #: ../../howto/enum.rst:147 msgid "Okay, let's get some chores set up::" -msgstr "" +msgstr "Certo, vamos configurar algumas tarefas domésticas:" #: ../../howto/enum.rst:155 msgid "And a function to display the chores for a given day::" -msgstr "" +msgstr "E a função para mostrar as tarefas domésticas para um determinado dia:" #: ../../howto/enum.rst:164 msgid "" "In cases where the actual values of the members do not matter, you can save " "yourself some work and use :func:`auto()` for the values::" msgstr "" +"Nos casos onde os valores reais dos membros não importam, você pode " +"economizar trabalho e usar :func:`auto()` para os valores:" #: ../../howto/enum.rst:183 msgid "Programmatic access to enumeration members and their attributes" -msgstr "" +msgstr "Acesso programático aos membros da enumeração e seus atributos." #: ../../howto/enum.rst:185 msgid "" -"Sometimes it's useful to access members in enumerations programmatically (i." -"e. situations where ``Color.RED`` won't do because the exact color is not " +"Sometimes it's useful to access members in enumerations programmatically " +"(i.e. situations where ``Color.RED`` won't do because the exact color is not " "known at program-writing time). ``Enum`` allows such access::" msgstr "" +"Em alguns momentos, é util ter acesso aos membros na enumeração de forma " +"programática (ou seja, em situações em que ``Cor.RED`` não é adequado porque " +"a cor exata não é conhecida no momento da escrita do programa). Classes " +"``Enum`` permitem esse tipo de acesso::" #: ../../howto/enum.rst:194 msgid "If you want to access enum members by *name*, use item access::" msgstr "" +"Se você deseja ter acesso aos membros do enum pelo *nome*, use o acesso por " +"itens:" #: ../../howto/enum.rst:201 msgid "If you have an enum member and need its :attr:`name` or :attr:`value`::" msgstr "" +"Se você tem um membro do enum e precisa do seu :attr:`name` ou :attr:`value`:" #: ../../howto/enum.rst:211 msgid "Duplicating enum members and values" -msgstr "" +msgstr "Membros e valores duplicados em enums" #: ../../howto/enum.rst:213 msgid "Having two enum members with the same name is invalid::" -msgstr "" +msgstr "Ter dois membros de um enum com o mesmo nome é inválido:" #: ../../howto/enum.rst:223 msgid "" @@ -224,6 +237,12 @@ msgid "" "will return the member ``A``. By-name lookup of ``A`` will return the " "member ``A``. By-name lookup of ``B`` will also return the member ``A``::" msgstr "" +"Porém, um membro do enum pode ter outros nomes associados a ele. Dados dois " +"membros ``A`` e ``B`` com o mesmo valor (e ``A`` definido primeiro), ``B`` é " +"um apelido para o membro ``A``. A busca pelo membro associado ao valor de " +"``A`` retorna o membro ``A``. A busca pelo membro com o nome de ``A`` " +"retorna o membro ``A``. A busca pelo membro com o nome de ``B`` também " +"retorna o membro ``A``::" #: ../../howto/enum.rst:244 msgid "" @@ -231,16 +250,22 @@ msgid "" "attribute (another member, a method, etc.) or attempting to create an " "attribute with the same name as a member is not allowed." msgstr "" +"Tentar criar um membro com o mesmo nome de um atributo já definido (outro " +"membro, um método, etc.) ou tentar criar um atributo com o mesmo nome de um " +"membro não é permitido." #: ../../howto/enum.rst:250 msgid "Ensuring unique enumeration values" -msgstr "" +msgstr "Garantindo valores únicos na enumeração" #: ../../howto/enum.rst:252 msgid "" "By default, enumerations allow multiple names as aliases for the same value. " "When this behavior isn't desired, you can use the :func:`unique` decorator::" msgstr "" +"Por padrão, enumerações permitem múltiplos nomes como apelidos para o mesmo " +"valor. Quando esse comportamento não é desejado, você pode usar o " +"decorador :func:`unique`:" #: ../../howto/enum.rst:269 msgid "Using automatic values" @@ -248,18 +273,22 @@ msgstr "Usando valores automáticos" #: ../../howto/enum.rst:271 msgid "If the exact value is unimportant you can use :class:`auto`::" -msgstr "" +msgstr "Se o valor em si não é importante, você pode usar :class:`auto`::" #: ../../howto/enum.rst:282 msgid "" "The values are chosen by :func:`_generate_next_value_`, which can be " "overridden::" msgstr "" +"Os valores são escolhidos por :func:`_generate_next_value_`, o qual pode ser " +"substituído:" #: ../../howto/enum.rst:300 msgid "" "The :meth:`_generate_next_value_` method must be defined before any members." msgstr "" +"O método :meth:`_generate_next_value_` deve ser definido antes de qualquer " +"membro." #: ../../howto/enum.rst:303 msgid "Iteration" @@ -267,13 +296,15 @@ msgstr "Iteração" #: ../../howto/enum.rst:305 msgid "Iterating over the members of an enum does not provide the aliases::" -msgstr "" +msgstr "Iterar sobre os membros de um enum não fornece os apelidos::" #: ../../howto/enum.rst:312 msgid "" "Note that the aliases ``Shape.ALIAS_FOR_SQUARE`` and ``Weekday.WEEKEND`` " "aren't shown." msgstr "" +"Note que os apelidos ``Forma.APELIDO_PARA_O_QUADRADO`` e " +"``DiaDaSemana.FIM_DE_SEMANA`` não são mostrados." #: ../../howto/enum.rst:314 msgid "" @@ -281,18 +312,25 @@ msgid "" "names to members. It includes all names defined in the enumeration, " "including the aliases::" msgstr "" +"O atributo especial ``__members__`` é um mapeamento ordenado de somente " +"leitura dos nomes para os membros. Isso inclui todos os nomes definidos na " +"enumeração, incluindo os apelidos::" #: ../../howto/enum.rst:326 msgid "" "The ``__members__`` attribute can be used for detailed programmatic access " "to the enumeration members. For example, finding all the aliases::" msgstr "" +"O atributo ``__members__`` pode ser usado para um acesso programático " +"detalhado aos membros da enumeração. Por exemplo, achar todos os apelidos::" #: ../../howto/enum.rst:334 msgid "" "Aliases for flags include values with multiple flags set, such as ``3``, and " "no flags set, i.e. ``0``." msgstr "" +"Apelidos em sinalizadores incluem valores com múltiplos itens ao mesmo " +"tempo, como ``3``, e nenhum item definido, isto é, ``0``." #: ../../howto/enum.rst:339 msgid "Comparisons" @@ -300,17 +338,19 @@ msgstr "Comparações" #: ../../howto/enum.rst:341 msgid "Enumeration members are compared by identity::" -msgstr "" +msgstr "Membros de uma enumeração são comparados por identidade::" #: ../../howto/enum.rst:350 msgid "" "Ordered comparisons between enumeration values are *not* supported. Enum " "members are not integers (but see `IntEnum`_ below)::" msgstr "" +"Comparações ordenadas entre valores de enumerações *não* são suportadas. " +"Membros Enum não são inteiros (porém, veja `IntEnum`_ abaixo)::" #: ../../howto/enum.rst:358 msgid "Equality comparisons are defined though::" -msgstr "" +msgstr "Entretanto, comparações de igualdade são definidas::" #: ../../howto/enum.rst:367 msgid "" @@ -318,6 +358,9 @@ msgid "" "(again, :class:`IntEnum` was explicitly designed to behave differently, see " "below)::" msgstr "" +"Comparações com valores que não sejam de enumeração sempre resultarão em " +"\"não igual\" (novamente, :class:`IntEnum` foi explicitamente projetado para " +"se comportar de maneira diferente, veja abaixo)::" #: ../../howto/enum.rst:376 msgid "" @@ -325,10 +368,13 @@ msgid "" "they will be recreated, and the new members may not compare identical/equal " "to the original members." msgstr "" +"É possivel recarregar módulos -- se um módulo recarregado contém enums, eles " +"serão recriados, e os novos membros não podem ser comparados de forma " +"identifica/igual a membros originais." #: ../../howto/enum.rst:381 msgid "Allowed members and attributes of enumerations" -msgstr "" +msgstr "Membros e atributos permitidos em enumerações" #: ../../howto/enum.rst:383 msgid "" @@ -338,106 +384,141 @@ msgid "" "doesn't care what the actual value of an enumeration is. But if the value " "*is* important, enumerations can have arbitrary values." msgstr "" +"A maioria dos exemplos acima usa inteiros como valores para os enums. Usar " +"inteiros é simples e prático (isso é disponibilizado como padrão pela `API " +"funcional`_), mas não é a única aplicação. Na grande maioria dos caso de " +"uso, não importa o valor de fato que um enum possui. Mas se o valor *é* " +"importante, enums podem ser valores arbitrários." #: ../../howto/enum.rst:389 msgid "" "Enumerations are Python classes, and can have methods and special methods as " "usual. If we have this enumeration::" msgstr "" +"Enumerações são classes Python, e podem ter métodos e até mesmo métodos " +"especiais como de usual. Se temos essa enumeração::" #: ../../howto/enum.rst:409 msgid "Then::" -msgstr "" +msgstr "Então::" #: ../../howto/enum.rst:418 msgid "" "The rules for what is allowed are as follows: names that start and end with " "a single underscore are reserved by enum and cannot be used; all other " "attributes defined within an enumeration will become members of this " -"enumeration, with the exception of special methods (:meth:`__str__`, :meth:" -"`__add__`, etc.), descriptors (methods are also descriptors), and variable " -"names listed in :attr:`_ignore_`." +"enumeration, with the exception of special methods " +"(:meth:`__str__`, :meth:`__add__`, etc.), descriptors (methods are also " +"descriptors), and variable names listed in :attr:`_ignore_`." msgstr "" #: ../../howto/enum.rst:425 msgid "" -"Note: if your enumeration defines :meth:`__new__` and/or :meth:`__init__` " -"then any value(s) given to the enum member will be passed into those " -"methods. See `Planet`_ for an example." +"Note: if your enumeration defines :meth:`__new__` and/or :meth:`__init__`, " +"any value(s) given to the enum member will be passed into those methods. See " +"`Planet`_ for an example." msgstr "" #: ../../howto/enum.rst:431 -msgid "Restricted Enum subclassing" +msgid "" +"The :meth:`__new__` method, if defined, is used during creation of the Enum " +"members; it is then replaced by Enum's :meth:`__new__` which is used after " +"class creation for lookup of existing members. See :ref:`new-vs-init` for " +"more details." msgstr "" -#: ../../howto/enum.rst:433 +#: ../../howto/enum.rst:438 +msgid "Restricted Enum subclassing" +msgstr "Herança restrita de Enum" + +#: ../../howto/enum.rst:440 msgid "" "A new :class:`Enum` class must have one base enum class, up to one concrete " "data type, and as many :class:`object`-based mixin classes as needed. The " "order of these base classes is::" msgstr "" +"Uma nova classe :class:`Enum` deve ter uma classe enum base, até um tipo de " +"dado concreto, e quantas classes mixin baseadas em :class:`object` forem " +"necessárias. A ordem dessas classes base é::" -#: ../../howto/enum.rst:440 +#: ../../howto/enum.rst:447 msgid "" "Also, subclassing an enumeration is allowed only if the enumeration does not " "define any members. So this is forbidden::" msgstr "" +"Além disso, criar uma subclasse de uma enumeração é permitido apenas se a " +"enumeração não define nenhum membro. Portanto is,so é proibido::" -#: ../../howto/enum.rst:450 +#: ../../howto/enum.rst:457 msgid "But this is allowed::" -msgstr "" +msgstr "Mas isso é permitido::" -#: ../../howto/enum.rst:461 +#: ../../howto/enum.rst:468 msgid "" "Allowing subclassing of enums that define members would lead to a violation " "of some important invariants of types and instances. On the other hand, it " "makes sense to allow sharing some common behavior between a group of " "enumerations. (See `OrderedEnum`_ for an example.)" msgstr "" +"Permitir a criação de subclasses de enums que definem membros levaria a " +"violação de alguns invariantes importantes de tipos e instâncias. Por outro " +"lado, faz sentido permitir o compartilhamento de algum comportamento comum " +"entre um grupo de enumerações. (Veja `OrderedEnum`_, por exemplo.)" -#: ../../howto/enum.rst:468 +#: ../../howto/enum.rst:475 msgid "Pickling" -msgstr "" +msgstr "Pickling" -#: ../../howto/enum.rst:470 +#: ../../howto/enum.rst:477 msgid "Enumerations can be pickled and unpickled::" -msgstr "" +msgstr "Enumerações podem ser serializadas e desserializadas." -#: ../../howto/enum.rst:477 +#: ../../howto/enum.rst:484 msgid "" "The usual restrictions for pickling apply: picklable enums must be defined " "in the top level of a module, since unpickling requires them to be " "importable from that module." msgstr "" +"As restrições usuais para serialização se aplicam: enums serializáveis devem " +"ser definidas no nível mais alto de um módulo, já que para fazer a " +"desserialização eles devem ser importados daquele módulo." -#: ../../howto/enum.rst:483 +#: ../../howto/enum.rst:490 msgid "" "With pickle protocol version 4 it is possible to easily pickle enums nested " "in other classes." msgstr "" -#: ../../howto/enum.rst:486 +#: ../../howto/enum.rst:493 msgid "" -"It is possible to modify how enum members are pickled/unpickled by defining :" -"meth:`__reduce_ex__` in the enumeration class." +"It is possible to modify how enum members are pickled/unpickled by " +"defining :meth:`__reduce_ex__` in the enumeration class. The default method " +"is by-value, but enums with complicated values may want to use by-name::" msgstr "" -#: ../../howto/enum.rst:491 +#: ../../howto/enum.rst:503 +msgid "" +"Using by-name for flags is not recommended, as unnamed aliases will not " +"unpickle." +msgstr "" + +#: ../../howto/enum.rst:508 msgid "Functional API" msgstr "API funcional" -#: ../../howto/enum.rst:493 +#: ../../howto/enum.rst:510 msgid "" "The :class:`Enum` class is callable, providing the following functional API::" msgstr "" +"A classe :class:`Enum` é chamável, fornecendo a API funcional a seguir::" -#: ../../howto/enum.rst:503 +#: ../../howto/enum.rst:520 msgid "" "The semantics of this API resemble :class:`~collections.namedtuple`. The " "first argument of the call to :class:`Enum` is the name of the enumeration." msgstr "" -#: ../../howto/enum.rst:506 +#: ../../howto/enum.rst:523 msgid "" "The second argument is the *source* of enumeration member names. It can be " "a whitespace-separated string of names, a sequence of names, a sequence of 2-" @@ -449,14 +530,14 @@ msgid "" "assignment to :class:`Animal` is equivalent to::" msgstr "" -#: ../../howto/enum.rst:522 +#: ../../howto/enum.rst:539 msgid "" "The reason for defaulting to ``1`` as the starting number and not ``0`` is " "that ``0`` is ``False`` in a boolean sense, but by default enum members all " "evaluate to ``True``." msgstr "" -#: ../../howto/enum.rst:526 +#: ../../howto/enum.rst:543 msgid "" "Pickling enums created with the functional API can be tricky as frame stack " "implementation details are used to try and figure out which module the " @@ -465,123 +546,99 @@ msgid "" "Jython). The solution is to specify the module name explicitly as follows::" msgstr "" -#: ../../howto/enum.rst:536 +#: ../../howto/enum.rst:553 msgid "" "If ``module`` is not supplied, and Enum cannot determine what it is, the new " "Enum members will not be unpicklable; to keep errors closer to the source, " "pickling will be disabled." msgstr "" -#: ../../howto/enum.rst:540 +#: ../../howto/enum.rst:557 msgid "" -"The new pickle protocol 4 also, in some circumstances, relies on :attr:" -"`~definition.__qualname__` being set to the location where pickle will be " -"able to find the class. For example, if the class was made available in " -"class SomeData in the global scope::" +"The new pickle protocol 4 also, in some circumstances, relies " +"on :attr:`~definition.__qualname__` being set to the location where pickle " +"will be able to find the class. For example, if the class was made " +"available in class SomeData in the global scope::" msgstr "" -#: ../../howto/enum.rst:547 +#: ../../howto/enum.rst:564 msgid "The complete signature is::" -msgstr "" - -#: ../../howto/enum.rst:0 -msgid "value" -msgstr "value" +msgstr "A assinatura completa é::" -#: ../../howto/enum.rst:559 -msgid "What the new enum class will record as its name." +#: ../../howto/enum.rst:576 +msgid "*value*: What the new enum class will record as its name." msgstr "" -#: ../../howto/enum.rst:0 -msgid "names" -msgstr "nomes" - -#: ../../howto/enum.rst:561 +#: ../../howto/enum.rst:578 msgid "" -"The enum members. This can be a whitespace- or comma-separated string " -"(values will start at 1 unless otherwise specified)::" +"*names*: The enum members. This can be a whitespace- or comma-separated " +"string (values will start at 1 unless otherwise specified)::" msgstr "" -#: ../../howto/enum.rst:566 +#: ../../howto/enum.rst:583 msgid "or an iterator of names::" msgstr "" -#: ../../howto/enum.rst:570 +#: ../../howto/enum.rst:587 msgid "or an iterator of (name, value) pairs::" msgstr "" -#: ../../howto/enum.rst:574 +#: ../../howto/enum.rst:591 msgid "or a mapping::" msgstr "" -#: ../../howto/enum.rst:0 -msgid "module" -msgstr "módulo" - -#: ../../howto/enum.rst:578 -msgid "name of module where new enum class can be found." +#: ../../howto/enum.rst:595 +msgid "*module*: name of module where new enum class can be found." msgstr "" -#: ../../howto/enum.rst:0 -msgid "qualname" +#: ../../howto/enum.rst:597 +msgid "*qualname*: where in module new enum class can be found." msgstr "" -#: ../../howto/enum.rst:580 -msgid "where in module new enum class can be found." -msgstr "" - -#: ../../howto/enum.rst:0 -msgid "type" -msgstr "tipo" - -#: ../../howto/enum.rst:582 -msgid "type to mix in to new enum class." +#: ../../howto/enum.rst:599 +msgid "*type*: type to mix in to new enum class." msgstr "" -#: ../../howto/enum.rst:0 -msgid "start" +#: ../../howto/enum.rst:601 +msgid "*start*: number to start counting at if only names are passed in." msgstr "" -#: ../../howto/enum.rst:584 -msgid "number to start counting at if only names are passed in." -msgstr "" - -#: ../../howto/enum.rst:586 +#: ../../howto/enum.rst:603 msgid "The *start* parameter was added." msgstr "" -#: ../../howto/enum.rst:591 +#: ../../howto/enum.rst:608 msgid "Derived Enumerations" msgstr "" -#: ../../howto/enum.rst:594 +#: ../../howto/enum.rst:611 msgid "IntEnum" msgstr "IntEnum" -#: ../../howto/enum.rst:596 +#: ../../howto/enum.rst:613 msgid "" -"The first variation of :class:`Enum` that is provided is also a subclass of :" -"class:`int`. Members of an :class:`IntEnum` can be compared to integers; by " -"extension, integer enumerations of different types can also be compared to " -"each other::" +"The first variation of :class:`Enum` that is provided is also a subclass " +"of :class:`int`. Members of an :class:`IntEnum` can be compared to " +"integers; by extension, integer enumerations of different types can also be " +"compared to each other::" msgstr "" -#: ../../howto/enum.rst:617 +#: ../../howto/enum.rst:634 msgid "" "However, they still can't be compared to standard :class:`Enum` " "enumerations::" msgstr "" -#: ../../howto/enum.rst:630 +#: ../../howto/enum.rst:647 msgid "" ":class:`IntEnum` values behave like integers in other ways you'd expect::" msgstr "" -#: ../../howto/enum.rst:641 +#: ../../howto/enum.rst:658 msgid "StrEnum" -msgstr "" +msgstr "StrEnum" -#: ../../howto/enum.rst:643 +#: ../../howto/enum.rst:660 msgid "" "The second variation of :class:`Enum` that is provided is also a subclass " "of :class:`str`. Members of a :class:`StrEnum` can be compared to strings; " @@ -589,314 +646,337 @@ msgid "" "each other." msgstr "" -#: ../../howto/enum.rst:652 +#: ../../howto/enum.rst:669 msgid "IntFlag" -msgstr "" +msgstr "IntFlag" -#: ../../howto/enum.rst:654 +#: ../../howto/enum.rst:671 msgid "" "The next variation of :class:`Enum` provided, :class:`IntFlag`, is also " "based on :class:`int`. The difference being :class:`IntFlag` members can be " "combined using the bitwise operators (&, \\|, ^, ~) and the result is still " -"an :class:`IntFlag` member, if possible. Like :class:`IntEnum`, :class:" -"`IntFlag` members are also integers and can be used wherever an :class:`int` " -"is used." +"an :class:`IntFlag` member, if possible. " +"Like :class:`IntEnum`, :class:`IntFlag` members are also integers and can be " +"used wherever an :class:`int` is used." msgstr "" -#: ../../howto/enum.rst:662 +#: ../../howto/enum.rst:679 msgid "" "Any operation on an :class:`IntFlag` member besides the bit-wise operations " "will lose the :class:`IntFlag` membership." msgstr "" -#: ../../howto/enum.rst:665 +#: ../../howto/enum.rst:682 msgid "" "Bit-wise operations that result in invalid :class:`IntFlag` values will lose " "the :class:`IntFlag` membership. See :class:`FlagBoundary` for details." msgstr "" -#: ../../howto/enum.rst:672 +#: ../../howto/enum.rst:689 msgid "Sample :class:`IntFlag` class::" msgstr "" -#: ../../howto/enum.rst:688 +#: ../../howto/enum.rst:705 msgid "It is also possible to name the combinations::" msgstr "" -#: ../../howto/enum.rst:704 +#: ../../howto/enum.rst:721 msgid "" "Named combinations are considered aliases. Aliases do not show up during " "iteration, but can be returned from by-value lookups." msgstr "" +"Combinações nomeadas são consideradas apelidos. Apelidos não aparecem " +"durante uma iteração, mas podem ser retornados por pesquisas por valor." -#: ../../howto/enum.rst:709 +#: ../../howto/enum.rst:726 msgid "" "Another important difference between :class:`IntFlag` and :class:`Enum` is " -"that if no flags are set (the value is 0), its boolean evaluation is :data:" -"`False`::" +"that if no flags are set (the value is 0), its boolean evaluation " +"is :data:`False`::" msgstr "" -#: ../../howto/enum.rst:717 +#: ../../howto/enum.rst:734 msgid "" "Because :class:`IntFlag` members are also subclasses of :class:`int` they " "can be combined with them (but may lose :class:`IntFlag` membership::" msgstr "" -#: ../../howto/enum.rst:728 +#: ../../howto/enum.rst:745 msgid "" "The negation operator, ``~``, always returns an :class:`IntFlag` member with " "a positive value::" msgstr "" -#: ../../howto/enum.rst:734 +#: ../../howto/enum.rst:751 msgid ":class:`IntFlag` members can also be iterated over::" msgstr "" -#: ../../howto/enum.rst:743 +#: ../../howto/enum.rst:760 msgid "Flag" msgstr "Sinalizador" -#: ../../howto/enum.rst:745 +#: ../../howto/enum.rst:762 msgid "" "The last variation is :class:`Flag`. Like :class:`IntFlag`, :class:`Flag` " -"members can be combined using the bitwise operators (&, \\|, ^, ~). Unlike :" -"class:`IntFlag`, they cannot be combined with, nor compared against, any " -"other :class:`Flag` enumeration, nor :class:`int`. While it is possible to " -"specify the values directly it is recommended to use :class:`auto` as the " +"members can be combined using the bitwise operators (&, \\|, ^, ~). " +"Unlike :class:`IntFlag`, they cannot be combined with, nor compared against, " +"any other :class:`Flag` enumeration, nor :class:`int`. While it is possible " +"to specify the values directly it is recommended to use :class:`auto` as the " "value and let :class:`Flag` select an appropriate value." msgstr "" -#: ../../howto/enum.rst:754 +#: ../../howto/enum.rst:771 msgid "" "Like :class:`IntFlag`, if a combination of :class:`Flag` members results in " "no flags being set, the boolean evaluation is :data:`False`::" msgstr "" -#: ../../howto/enum.rst:768 +#: ../../howto/enum.rst:785 msgid "" "Individual flags should have values that are powers of two (1, 2, 4, " "8, ...), while combinations of flags will not::" msgstr "" -#: ../../howto/enum.rst:780 +#: ../../howto/enum.rst:797 msgid "" "Giving a name to the \"no flags set\" condition does not change its boolean " "value::" msgstr "" -#: ../../howto/enum.rst:794 +#: ../../howto/enum.rst:811 msgid ":class:`Flag` members can also be iterated over::" msgstr "" -#: ../../howto/enum.rst:804 +#: ../../howto/enum.rst:821 msgid "" "For the majority of new code, :class:`Enum` and :class:`Flag` are strongly " "recommended, since :class:`IntEnum` and :class:`IntFlag` break some semantic " "promises of an enumeration (by being comparable to integers, and thus by " -"transitivity to other unrelated enumerations). :class:`IntEnum` and :class:" -"`IntFlag` should be used only in cases where :class:`Enum` and :class:`Flag` " -"will not do; for example, when integer constants are replaced with " -"enumerations, or for interoperability with other systems." +"transitivity to other unrelated enumerations). :class:`IntEnum` " +"and :class:`IntFlag` should be used only in cases where :class:`Enum` " +"and :class:`Flag` will not do; for example, when integer constants are " +"replaced with enumerations, or for interoperability with other systems." msgstr "" -#: ../../howto/enum.rst:814 +#: ../../howto/enum.rst:831 msgid "Others" -msgstr "" +msgstr "Outros" -#: ../../howto/enum.rst:816 +#: ../../howto/enum.rst:833 msgid "" "While :class:`IntEnum` is part of the :mod:`enum` module, it would be very " "simple to implement independently::" msgstr "" -#: ../../howto/enum.rst:822 +#: ../../howto/enum.rst:839 msgid "" "This demonstrates how similar derived enumerations can be defined; for " -"example a :class:`FloatEnum` that mixes in :class:`float` instead of :class:" -"`int`." +"example a :class:`FloatEnum` that mixes in :class:`float` instead " +"of :class:`int`." msgstr "" -#: ../../howto/enum.rst:825 +#: ../../howto/enum.rst:842 msgid "Some rules:" -msgstr "" +msgstr "Algumas regras:" -#: ../../howto/enum.rst:827 +#: ../../howto/enum.rst:844 msgid "" -"When subclassing :class:`Enum`, mix-in types must appear before :class:" -"`Enum` itself in the sequence of bases, as in the :class:`IntEnum` example " -"above." +"When subclassing :class:`Enum`, mix-in types must appear " +"before :class:`Enum` itself in the sequence of bases, as in " +"the :class:`IntEnum` example above." msgstr "" -#: ../../howto/enum.rst:830 +#: ../../howto/enum.rst:847 msgid "" -"Mix-in types must be subclassable. For example, :class:`bool` and :class:" -"`range` are not subclassable and will throw an error during Enum creation if " -"used as the mix-in type." +"Mix-in types must be subclassable. For example, :class:`bool` " +"and :class:`range` are not subclassable and will throw an error during Enum " +"creation if used as the mix-in type." msgstr "" -#: ../../howto/enum.rst:833 +#: ../../howto/enum.rst:850 msgid "" "While :class:`Enum` can have members of any type, once you mix in an " -"additional type, all the members must have values of that type, e.g. :class:" -"`int` above. This restriction does not apply to mix-ins which only add " -"methods and don't specify another type." +"additional type, all the members must have values of that type, " +"e.g. :class:`int` above. This restriction does not apply to mix-ins which " +"only add methods and don't specify another type." msgstr "" -#: ../../howto/enum.rst:837 +#: ../../howto/enum.rst:854 msgid "" "When another data type is mixed in, the :attr:`value` attribute is *not the " "same* as the enum member itself, although it is equivalent and will compare " "equal." msgstr "" -#: ../../howto/enum.rst:840 +#: ../../howto/enum.rst:857 msgid "A ``data type`` is a mixin that defines :meth:`__new__`." msgstr "" -#: ../../howto/enum.rst:841 +#: ../../howto/enum.rst:858 msgid "" -"%-style formatting: ``%s`` and ``%r`` call the :class:`Enum` class's :meth:" -"`__str__` and :meth:`__repr__` respectively; other codes (such as ``%i`` or " -"``%h`` for IntEnum) treat the enum member as its mixed-in type." +"%-style formatting: ``%s`` and ``%r`` call the :class:`Enum` " +"class's :meth:`__str__` and :meth:`__repr__` respectively; other codes (such " +"as ``%i`` or ``%h`` for IntEnum) treat the enum member as its mixed-in type." msgstr "" -#: ../../howto/enum.rst:844 +#: ../../howto/enum.rst:861 msgid "" -":ref:`Formatted string literals `, :meth:`str.format`, and :func:" -"`format` will use the enum's :meth:`__str__` method." +":ref:`Formatted string literals `, :meth:`str.format`, " +"and :func:`format` will use the enum's :meth:`__str__` method." msgstr "" -#: ../../howto/enum.rst:849 +#: ../../howto/enum.rst:866 msgid "" "Because :class:`IntEnum`, :class:`IntFlag`, and :class:`StrEnum` are " -"designed to be drop-in replacements for existing constants, their :meth:" -"`__str__` method has been reset to their data types' :meth:`__str__` method." +"designed to be drop-in replacements for existing constants, " +"their :meth:`__str__` method has been reset to their data " +"types' :meth:`__str__` method." msgstr "" -#: ../../howto/enum.rst:855 +#: ../../howto/enum.rst:874 msgid "When to use :meth:`__new__` vs. :meth:`__init__`" -msgstr "" +msgstr "Quando usar :meth:`__new__` vs. :meth:`__init__`" -#: ../../howto/enum.rst:857 +#: ../../howto/enum.rst:876 msgid "" ":meth:`__new__` must be used whenever you want to customize the actual value " -"of the :class:`Enum` member. Any other modifications may go in either :meth:" -"`__new__` or :meth:`__init__`, with :meth:`__init__` being preferred." +"of the :class:`Enum` member. Any other modifications may go in " +"either :meth:`__new__` or :meth:`__init__`, with :meth:`__init__` being " +"preferred." msgstr "" -#: ../../howto/enum.rst:861 +#: ../../howto/enum.rst:880 msgid "" "For example, if you want to pass several items to the constructor, but only " "want one of them to be the value::" msgstr "" -#: ../../howto/enum.rst:888 +#: ../../howto/enum.rst:907 +msgid "" +"*Do not* call ``super().__new__()``, as the lookup-only ``__new__`` is the " +"one that is found; instead, use the data type directly." +msgstr "" + +#: ../../howto/enum.rst:912 msgid "Finer Points" msgstr "" -#: ../../howto/enum.rst:891 +#: ../../howto/enum.rst:915 msgid "Supported ``__dunder__`` names" -msgstr "" +msgstr "Nomes ``__dunder__`` suportados" -#: ../../howto/enum.rst:893 +#: ../../howto/enum.rst:917 msgid "" -":attr:`__members__` is a read-only ordered mapping of ``member_name``:" -"``member`` items. It is only available on the class." +":attr:`__members__` is a read-only ordered mapping of " +"``member_name``:``member`` items. It is only available on the class." msgstr "" -#: ../../howto/enum.rst:896 +#: ../../howto/enum.rst:920 msgid "" ":meth:`__new__`, if specified, must create and return the enum members; it " "is also a very good idea to set the member's :attr:`_value_` appropriately. " "Once all the members are created it is no longer used." msgstr "" -#: ../../howto/enum.rst:902 +#: ../../howto/enum.rst:926 msgid "Supported ``_sunder_`` names" -msgstr "" +msgstr "Nomes ``_sunder_`` suportados" -#: ../../howto/enum.rst:904 +#: ../../howto/enum.rst:928 msgid "``_name_`` -- name of the member" -msgstr "" +msgstr "``_name_`` -- nome do membro" -#: ../../howto/enum.rst:905 +#: ../../howto/enum.rst:929 msgid "" "``_value_`` -- value of the member; can be set / modified in ``__new__``" msgstr "" +"``_value_`` -- valor do membro; pode ser definido / modificado em ``__new__``" -#: ../../howto/enum.rst:907 +#: ../../howto/enum.rst:931 msgid "" "``_missing_`` -- a lookup function used when a value is not found; may be " "overridden" msgstr "" +"``_missing_`` -- uma função de pesquisa usada quando um valor não é " +"encontrado; pode ser substituída" -#: ../../howto/enum.rst:909 +#: ../../howto/enum.rst:933 msgid "" -"``_ignore_`` -- a list of names, either as a :class:`list` or a :class:" -"`str`, that will not be transformed into members, and will be removed from " -"the final class" +"``_ignore_`` -- a list of names, either as a :class:`list` or " +"a :class:`str`, that will not be transformed into members, and will be " +"removed from the final class" msgstr "" +"``_ignore_`` -- uma lista de nomes, seja como :class:`list` ou :class:`str`, " +"que não serão transformados em membros e serão removidos da classe final" -#: ../../howto/enum.rst:912 +#: ../../howto/enum.rst:936 msgid "" "``_order_`` -- used in Python 2/3 code to ensure member order is consistent " "(class attribute, removed during class creation)" msgstr "" +"``_order_`` -- usado no código Python 2/3 para garantir que a ordem dos " +"membros seja consistente (atributo de classe, removido durante a criação da " +"classe)" -#: ../../howto/enum.rst:914 +#: ../../howto/enum.rst:938 msgid "" -"``_generate_next_value_`` -- used by the `Functional API`_ and by :class:" -"`auto` to get an appropriate value for an enum member; may be overridden" +"``_generate_next_value_`` -- used by the `Functional API`_ and " +"by :class:`auto` to get an appropriate value for an enum member; may be " +"overridden" msgstr "" -#: ../../howto/enum.rst:920 +#: ../../howto/enum.rst:944 msgid "" "For standard :class:`Enum` classes the next value chosen is the last value " "seen incremented by one." msgstr "" +"Para classes :class:`Enum` padrão, o próximo valor escolhido é o último " +"valor visto incrementado em um." -#: ../../howto/enum.rst:923 +#: ../../howto/enum.rst:947 msgid "" "For :class:`Flag` classes the next value chosen will be the next highest " "power-of-two, regardless of the last value seen." msgstr "" +"Para as classes :class:`Flag` o próximo valor escolhido será a próxima " +"potência de dois mais alta, independentemente do último valor visto." -#: ../../howto/enum.rst:926 +#: ../../howto/enum.rst:950 msgid "``_missing_``, ``_order_``, ``_generate_next_value_``" msgstr "``_missing_``, ``_order_``, ``_generate_next_value_``" -#: ../../howto/enum.rst:927 +#: ../../howto/enum.rst:951 msgid "``_ignore_``" msgstr "``_ignore_``" -#: ../../howto/enum.rst:929 +#: ../../howto/enum.rst:953 msgid "" "To help keep Python 2 / Python 3 code in sync an :attr:`_order_` attribute " "can be provided. It will be checked against the actual order of the " "enumeration and raise an error if the two do not match::" msgstr "" -#: ../../howto/enum.rst:947 +#: ../../howto/enum.rst:971 msgid "" "In Python 2 code the :attr:`_order_` attribute is necessary as definition " "order is lost before it can be recorded." msgstr "" -#: ../../howto/enum.rst:952 +#: ../../howto/enum.rst:976 msgid "_Private__names" msgstr "" -#: ../../howto/enum.rst:954 +#: ../../howto/enum.rst:978 msgid "" ":ref:`Private names ` are not converted to enum " "members, but remain normal attributes." msgstr "" -#: ../../howto/enum.rst:961 +#: ../../howto/enum.rst:985 msgid "``Enum`` member type" msgstr "" -#: ../../howto/enum.rst:963 +#: ../../howto/enum.rst:987 msgid "" "Enum members are instances of their enum class, and are normally accessed as " "``EnumClass.member``. In certain situations, such as writing custom enum " @@ -904,378 +984,386 @@ msgid "" "and is supported." msgstr "" -#: ../../howto/enum.rst:972 +#: ../../howto/enum.rst:996 msgid "Creating members that are mixed with other data types" msgstr "" -#: ../../howto/enum.rst:974 +#: ../../howto/enum.rst:998 msgid "" "When subclassing other data types, such as :class:`int` or :class:`str`, " "with an :class:`Enum`, all values after the ``=`` are passed to that data " "type's constructor. For example::" msgstr "" -#: ../../howto/enum.rst:986 +#: ../../howto/enum.rst:1010 msgid "Boolean value of ``Enum`` classes and members" msgstr "" -#: ../../howto/enum.rst:988 +#: ../../howto/enum.rst:1012 msgid "" -"Enum classes that are mixed with non-:class:`Enum` types (such as :class:" -"`int`, :class:`str`, etc.) are evaluated according to the mixed-in type's " -"rules; otherwise, all members evaluate as :data:`True`. To make your own " -"enum's boolean evaluation depend on the member's value add the following to " -"your class::" +"Enum classes that are mixed with non-:class:`Enum` types (such " +"as :class:`int`, :class:`str`, etc.) are evaluated according to the mixed-in " +"type's rules; otherwise, all members evaluate as :data:`True`. To make your " +"own enum's boolean evaluation depend on the member's value add the following " +"to your class::" msgstr "" -#: ../../howto/enum.rst:997 +#: ../../howto/enum.rst:1021 msgid "Plain :class:`Enum` classes always evaluate as :data:`True`." msgstr "" -#: ../../howto/enum.rst:1001 +#: ../../howto/enum.rst:1025 msgid "``Enum`` classes with methods" msgstr "" -#: ../../howto/enum.rst:1003 +#: ../../howto/enum.rst:1027 msgid "" "If you give your enum subclass extra methods, like the `Planet`_ class " "below, those methods will show up in a :func:`dir` of the member, but not of " "the class::" msgstr "" -#: ../../howto/enum.rst:1014 +#: ../../howto/enum.rst:1038 msgid "Combining members of ``Flag``" msgstr "" -#: ../../howto/enum.rst:1016 +#: ../../howto/enum.rst:1040 msgid "" "Iterating over a combination of :class:`Flag` members will only return the " "members that are comprised of a single bit::" msgstr "" -#: ../../howto/enum.rst:1034 +#: ../../howto/enum.rst:1058 msgid "``Flag`` and ``IntFlag`` minutia" msgstr "" -#: ../../howto/enum.rst:1036 +#: ../../howto/enum.rst:1060 msgid "Using the following snippet for our examples::" msgstr "" -#: ../../howto/enum.rst:1047 +#: ../../howto/enum.rst:1071 msgid "the following are true:" msgstr "" -#: ../../howto/enum.rst:1049 +#: ../../howto/enum.rst:1073 msgid "single-bit flags are canonical" msgstr "" -#: ../../howto/enum.rst:1050 +#: ../../howto/enum.rst:1074 msgid "multi-bit and zero-bit flags are aliases" msgstr "" -#: ../../howto/enum.rst:1051 +#: ../../howto/enum.rst:1075 msgid "only canonical flags are returned during iteration::" msgstr "" -#: ../../howto/enum.rst:1056 +#: ../../howto/enum.rst:1080 msgid "" "negating a flag or flag set returns a new flag/flag set with the " "corresponding positive integer value::" msgstr "" -#: ../../howto/enum.rst:1065 +#: ../../howto/enum.rst:1089 msgid "names of pseudo-flags are constructed from their members' names::" msgstr "" -#: ../../howto/enum.rst:1070 +#: ../../howto/enum.rst:1094 msgid "multi-bit flags, aka aliases, can be returned from operations::" msgstr "" -#: ../../howto/enum.rst:1081 +#: ../../howto/enum.rst:1105 msgid "" "membership / containment checking: zero-valued flags are always considered " "to be contained::" msgstr "" -#: ../../howto/enum.rst:1087 +#: ../../howto/enum.rst:1111 msgid "" "otherwise, only if all bits of one flag are in the other flag will True be " "returned::" msgstr "" -#: ../../howto/enum.rst:1096 +#: ../../howto/enum.rst:1120 msgid "" "There is a new boundary mechanism that controls how out-of-range / invalid " "bits are handled: ``STRICT``, ``CONFORM``, ``EJECT``, and ``KEEP``:" msgstr "" -#: ../../howto/enum.rst:1099 +#: ../../howto/enum.rst:1123 msgid "STRICT --> raises an exception when presented with invalid values" msgstr "" -#: ../../howto/enum.rst:1100 +#: ../../howto/enum.rst:1124 msgid "CONFORM --> discards any invalid bits" msgstr "" -#: ../../howto/enum.rst:1101 +#: ../../howto/enum.rst:1125 msgid "EJECT --> lose Flag status and become a normal int with the given value" msgstr "" -#: ../../howto/enum.rst:1105 +#: ../../howto/enum.rst:1126 msgid "KEEP --> keep the extra bits" msgstr "" -#: ../../howto/enum.rst:1103 +#: ../../howto/enum.rst:1128 msgid "keeps Flag status and extra bits" msgstr "" -#: ../../howto/enum.rst:1104 +#: ../../howto/enum.rst:1129 msgid "extra bits do not show up in iteration" msgstr "" -#: ../../howto/enum.rst:1105 +#: ../../howto/enum.rst:1130 msgid "extra bits do show up in repr() and str()" msgstr "" -#: ../../howto/enum.rst:1107 +#: ../../howto/enum.rst:1132 msgid "" "The default for Flag is ``STRICT``, the default for ``IntFlag`` is " -"``EJECT``, and the default for ``_convert_`` is ``KEEP`` (see ``ssl." -"Options`` for an example of when ``KEEP`` is needed)." +"``EJECT``, and the default for ``_convert_`` is ``KEEP`` (see " +"``ssl.Options`` for an example of when ``KEEP`` is needed)." msgstr "" -#: ../../howto/enum.rst:1115 +#: ../../howto/enum.rst:1140 msgid "How are Enums and Flags different?" msgstr "" -#: ../../howto/enum.rst:1117 +#: ../../howto/enum.rst:1142 msgid "" -"Enums have a custom metaclass that affects many aspects of both derived :" -"class:`Enum` classes and their instances (members)." +"Enums have a custom metaclass that affects many aspects of both " +"derived :class:`Enum` classes and their instances (members)." msgstr "" -#: ../../howto/enum.rst:1122 +#: ../../howto/enum.rst:1147 msgid "Enum Classes" msgstr "" -#: ../../howto/enum.rst:1124 +#: ../../howto/enum.rst:1149 msgid "" -"The :class:`EnumType` metaclass is responsible for providing the :meth:" -"`__contains__`, :meth:`__dir__`, :meth:`__iter__` and other methods that " -"allow one to do things with an :class:`Enum` class that fail on a typical " -"class, such as ``list(Color)`` or ``some_enum_var in Color``. :class:" -"`EnumType` is responsible for ensuring that various other methods on the " -"final :class:`Enum` class are correct (such as :meth:`__new__`, :meth:" -"`__getnewargs__`, :meth:`__str__` and :meth:`__repr__`)." +"The :class:`EnumType` metaclass is responsible for providing " +"the :meth:`__contains__`, :meth:`__dir__`, :meth:`__iter__` and other " +"methods that allow one to do things with an :class:`Enum` class that fail on " +"a typical class, such as ``list(Color)`` or ``some_enum_var in " +"Color``. :class:`EnumType` is responsible for ensuring that various other " +"methods on the final :class:`Enum` class are correct (such " +"as :meth:`__new__`, :meth:`__getnewargs__`, :meth:`__str__` " +"and :meth:`__repr__`)." msgstr "" -#: ../../howto/enum.rst:1133 +#: ../../howto/enum.rst:1158 msgid "Flag Classes" msgstr "" -#: ../../howto/enum.rst:1135 +#: ../../howto/enum.rst:1160 msgid "" "Flags have an expanded view of aliasing: to be canonical, the value of a " "flag needs to be a power-of-two value, and not a duplicate name. So, in " -"addition to the :class:`Enum` definition of alias, a flag with no value (a.k." -"a. ``0``) or with more than one power-of-two value (e.g. ``3``) is " +"addition to the :class:`Enum` definition of alias, a flag with no value " +"(a.k.a. ``0``) or with more than one power-of-two value (e.g. ``3``) is " "considered an alias." msgstr "" -#: ../../howto/enum.rst:1141 +#: ../../howto/enum.rst:1166 msgid "Enum Members (aka instances)" msgstr "" -#: ../../howto/enum.rst:1143 +#: ../../howto/enum.rst:1168 msgid "" -"The most interesting thing about enum members is that they are singletons. :" -"class:`EnumType` creates them all while it is creating the enum class " -"itself, and then puts a custom :meth:`__new__` in place to ensure that no " -"new ones are ever instantiated by returning only the existing member " +"The most interesting thing about enum members is that they are " +"singletons. :class:`EnumType` creates them all while it is creating the enum " +"class itself, and then puts a custom :meth:`__new__` in place to ensure that " +"no new ones are ever instantiated by returning only the existing member " "instances." msgstr "" -#: ../../howto/enum.rst:1149 +#: ../../howto/enum.rst:1174 msgid "Flag Members" msgstr "" -#: ../../howto/enum.rst:1151 +#: ../../howto/enum.rst:1176 msgid "" "Flag members can be iterated over just like the :class:`Flag` class, and " "only the canonical members will be returned. For example::" msgstr "" -#: ../../howto/enum.rst:1157 +#: ../../howto/enum.rst:1182 msgid "(Note that ``BLACK``, ``PURPLE``, and ``WHITE`` do not show up.)" msgstr "" -#: ../../howto/enum.rst:1159 +#: ../../howto/enum.rst:1184 msgid "" "Inverting a flag member returns the corresponding positive value, rather " "than a negative value --- for example::" msgstr "" -#: ../../howto/enum.rst:1165 +#: ../../howto/enum.rst:1190 msgid "" "Flag members have a length corresponding to the number of power-of-two " "values they contain. For example::" msgstr "" -#: ../../howto/enum.rst:1175 +#: ../../howto/enum.rst:1200 msgid "Enum Cookbook" msgstr "" -#: ../../howto/enum.rst:1178 +#: ../../howto/enum.rst:1203 msgid "" -"While :class:`Enum`, :class:`IntEnum`, :class:`StrEnum`, :class:`Flag`, and :" -"class:`IntFlag` are expected to cover the majority of use-cases, they cannot " -"cover them all. Here are recipes for some different types of enumerations " -"that can be used directly, or as examples for creating one's own." +"While :class:`Enum`, :class:`IntEnum`, :class:`StrEnum`, :class:`Flag`, " +"and :class:`IntFlag` are expected to cover the majority of use-cases, they " +"cannot cover them all. Here are recipes for some different types of " +"enumerations that can be used directly, or as examples for creating one's " +"own." msgstr "" -#: ../../howto/enum.rst:1185 +#: ../../howto/enum.rst:1210 msgid "Omitting values" msgstr "" -#: ../../howto/enum.rst:1187 +#: ../../howto/enum.rst:1212 msgid "" "In many use-cases, one doesn't care what the actual value of an enumeration " "is. There are several ways to define this type of simple enumeration:" msgstr "" -#: ../../howto/enum.rst:1190 +#: ../../howto/enum.rst:1215 msgid "use instances of :class:`auto` for the value" msgstr "" -#: ../../howto/enum.rst:1191 +#: ../../howto/enum.rst:1216 msgid "use instances of :class:`object` as the value" msgstr "" -#: ../../howto/enum.rst:1192 +#: ../../howto/enum.rst:1217 msgid "use a descriptive string as the value" msgstr "" -#: ../../howto/enum.rst:1193 +#: ../../howto/enum.rst:1218 msgid "" "use a tuple as the value and a custom :meth:`__new__` to replace the tuple " "with an :class:`int` value" msgstr "" -#: ../../howto/enum.rst:1196 +#: ../../howto/enum.rst:1221 msgid "" "Using any of these methods signifies to the user that these values are not " "important, and also enables one to add, remove, or reorder members without " "having to renumber the remaining members." msgstr "" -#: ../../howto/enum.rst:1202 +#: ../../howto/enum.rst:1227 msgid "Using :class:`auto`" msgstr "" -#: ../../howto/enum.rst:1204 +#: ../../howto/enum.rst:1229 msgid "Using :class:`auto` would look like::" msgstr "" -#: ../../howto/enum.rst:1216 +#: ../../howto/enum.rst:1241 msgid "Using :class:`object`" msgstr "" -#: ../../howto/enum.rst:1218 +#: ../../howto/enum.rst:1243 msgid "Using :class:`object` would look like::" msgstr "" -#: ../../howto/enum.rst:1228 +#: ../../howto/enum.rst:1253 msgid "" -"This is also a good example of why you might want to write your own :meth:" -"`__repr__`::" +"This is also a good example of why you might want to write your " +"own :meth:`__repr__`::" msgstr "" -#: ../../howto/enum.rst:1244 +#: ../../howto/enum.rst:1269 msgid "Using a descriptive string" msgstr "" -#: ../../howto/enum.rst:1246 +#: ../../howto/enum.rst:1271 msgid "Using a string as the value would look like::" msgstr "" -#: ../../howto/enum.rst:1258 +#: ../../howto/enum.rst:1283 msgid "Using a custom :meth:`__new__`" msgstr "Usando um :meth:`__new__` personalizado" -#: ../../howto/enum.rst:1260 +#: ../../howto/enum.rst:1285 msgid "Using an auto-numbering :meth:`__new__` would look like::" msgstr "" -#: ../../howto/enum.rst:1277 +#: ../../howto/enum.rst:1302 msgid "" "To make a more general purpose ``AutoNumber``, add ``*args`` to the " "signature::" msgstr "" -#: ../../howto/enum.rst:1287 +#: ../../howto/enum.rst:1312 msgid "" "Then when you inherit from ``AutoNumber`` you can write your own " "``__init__`` to handle any extra arguments::" msgstr "" -#: ../../howto/enum.rst:1306 +#: ../../howto/enum.rst:1331 msgid "" "The :meth:`__new__` method, if defined, is used during creation of the Enum " "members; it is then replaced by Enum's :meth:`__new__` which is used after " "class creation for lookup of existing members." msgstr "" -#: ../../howto/enum.rst:1312 -msgid "OrderedEnum" +#: ../../howto/enum.rst:1337 +msgid "" +"*Do not* call ``super().__new__()``, as the lookup-only ``__new__`` is the " +"one that is found; instead, use the data type directly -- e.g.::" msgstr "" -#: ../../howto/enum.rst:1314 +#: ../../howto/enum.rst:1344 +msgid "OrderedEnum" +msgstr "OrderedEnum" + +#: ../../howto/enum.rst:1346 msgid "" "An ordered enumeration that is not based on :class:`IntEnum` and so " "maintains the normal :class:`Enum` invariants (such as not being comparable " "to other enumerations)::" msgstr "" -#: ../../howto/enum.rst:1348 +#: ../../howto/enum.rst:1380 msgid "DuplicateFreeEnum" msgstr "DuplicateFreeEnum" -#: ../../howto/enum.rst:1350 +#: ../../howto/enum.rst:1382 msgid "" "Raises an error if a duplicate member value is found instead of creating an " "alias::" msgstr "" -#: ../../howto/enum.rst:1375 +#: ../../howto/enum.rst:1407 msgid "" "This is a useful example for subclassing Enum to add or change other " "behaviors as well as disallowing aliases. If the only desired change is " "disallowing aliases, the :func:`unique` decorator can be used instead." msgstr "" -#: ../../howto/enum.rst:1381 +#: ../../howto/enum.rst:1413 msgid "Planet" msgstr "" -#: ../../howto/enum.rst:1383 +#: ../../howto/enum.rst:1415 msgid "" "If :meth:`__new__` or :meth:`__init__` is defined, the value of the enum " "member will be passed to those methods::" msgstr "" -#: ../../howto/enum.rst:1412 +#: ../../howto/enum.rst:1444 msgid "TimePeriod" -msgstr "" +msgstr "TimePeriod" -#: ../../howto/enum.rst:1414 +#: ../../howto/enum.rst:1446 msgid "An example to show the :attr:`_ignore_` attribute in use::" msgstr "" -#: ../../howto/enum.rst:1433 +#: ../../howto/enum.rst:1465 msgid "Subclassing EnumType" msgstr "" -#: ../../howto/enum.rst:1435 +#: ../../howto/enum.rst:1467 msgid "" "While most enum needs can be met by customizing :class:`Enum` subclasses, " "either with class decorators or custom functions, :class:`EnumType` can be " diff --git a/howto/functional.po b/howto/functional.po index 79a27d1a7..9291180aa 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -1,39 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 -# ApenasRR Mesmo , 2021 -# Raphael Mendonça, 2021 -# Italo Penaforte , 2021 -# Rafael Fontenelle , 2021 -# Alexandre B A Villares, 2022 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Alexandre B A Villares, 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../howto/functional.rst:3 msgid "Functional Programming HOWTO" -msgstr "Programação Funcional COMO FAZER" +msgstr "Programação Funcional" #: ../../howto/functional.rst:0 msgid "Author" @@ -55,15 +48,16 @@ msgstr "0.32" msgid "" "In this document, we'll take a tour of Python's features suitable for " "implementing programs in a functional style. After an introduction to the " -"concepts of functional programming, we'll look at language features such as :" -"term:`iterator`\\s and :term:`generator`\\s and relevant library modules " +"concepts of functional programming, we'll look at language features such " +"as :term:`iterator`\\s and :term:`generator`\\s and relevant library modules " "such as :mod:`itertools` and :mod:`functools`." msgstr "" "Nesse documento, nós vamos passear pelos recursos do Python que servem para " "implementar programas de forma funcional. Após uma introdução dos conceitos " -"da programação funcional, nós veremos as propriedades da linguagem como :" -"term:`iteradores ` e :term:`geradores ` e bibliotecas " -"de módulos relevantes como um :mod:`itertools` e :mod:`functools`." +"da programação funcional, nós veremos as propriedades da linguagem " +"como :term:`iteradores ` e :term:`geradores ` e " +"bibliotecas de módulos relevantes como um :mod:`itertools` " +"e :mod:`functools`." #: ../../howto/functional.rst:16 msgid "Introduction" @@ -195,12 +189,13 @@ msgid "" "for a second." msgstr "" "Algumas linguagens são muito estritas a respeito da pureza e não tem nem " -"instruções de atribuição como por exemplo ``a=3`` ou ``c = a + b``, mas é " -"difícil evitar todos os efeitos colateirais, como exibir valores na tela ou " -"escrever em um arquivo em disco. Um outro exemplo é a chamada da função :" -"func:`print` ou da função :func:`time.sleep`, nenhuma das quais devolve um " -"valor útil. Ambas são chamadas apenas por conta do efeito colateral de " -"mandar algum texto para a tela ou pausar a execução por um segundo." +"instruções de atribuição como, por exemplo, ``a=3`` ou ``c = a + b``, mas é " +"difícil evitar todos os efeitos colaterais, como exibir valores na tela ou " +"escrever em um arquivo em disco. Um outro exemplo é a chamada da " +"função :func:`print` ou da função :func:`time.sleep`, nenhuma das quais " +"retorna um valor útil. Ambas são chamadas apenas por conta do efeito " +"colateral de mandar algum texto para a tela ou pausar a execução por um " +"segundo." #: ../../howto/functional.rst:73 msgid "" @@ -455,10 +450,11 @@ msgstr "" "Um iterador é um objeto que representa um fluxo de dados; este objeto " "retorna os dados um elemento por vez. Um iterador Python deve suportar um " "método chamado :meth:`iterator.__next__` que não leva argumentos e sempre " -"retorna o próximo elemento do fluxo. Se não houver mais elementos no fluxo, :" -"meth:`iterator.__next__` deve aumentar a exceção :exc:`StopIteration`. Os " -"iteradores não precisam ser finitos; no entanto, é perfeitamente razoável " -"escrever um iterador que produza um fluxo infinito de dados." +"retorna o próximo elemento do fluxo. Se não houver mais elementos no " +"fluxo, :meth:`iterator.__next__` deve aumentar a " +"exceção :exc:`StopIteration`. Os iteradores não precisam ser finitos; no " +"entanto, é perfeitamente razoável escrever um iterador que produza um fluxo " +"infinito de dados." #: ../../howto/functional.rst:191 msgid "" @@ -505,8 +501,8 @@ msgid "" "Sequence unpacking also supports iterators: if you know an iterator will " "return N elements, you can unpack them into an N-tuple:" msgstr "" -"A descompilação de sequência também suporta iteradores: se você sabe que um " -"iterador retornará N elementos, você pode descompactá-los em uma N-tupla:" +"O desempacotamento de sequência também suporta iteradores: se você sabe que " +"um iterador retornará N elementos, você pode desempacotá-los em uma N-tupla:" #: ../../howto/functional.rst:246 msgid "" @@ -514,17 +510,19 @@ msgid "" "iterator argument and will return the largest or smallest element. The " "``\"in\"`` and ``\"not in\"`` operators also support iterators: ``X in " "iterator`` is true if X is found in the stream returned by the iterator. " -"You'll run into obvious problems if the iterator is infinite; :func:`max`, :" -"func:`min` will never return, and if the element X never appears in the " -"stream, the ``\"in\"`` and ``\"not in\"`` operators won't return either." +"You'll run into obvious problems if the iterator is " +"infinite; :func:`max`, :func:`min` will never return, and if the element X " +"never appears in the stream, the ``\"in\"`` and ``\"not in\"`` operators " +"won't return either." msgstr "" "Funções embutidas, tais como :func:`max` e :func:`min` podem ter um único " "argumento de iterador e retornarão o elemento maior ou menor. Os operadores " "``\"in\"`` e ``\"not in\"`` também aceitam iteradores: ``X in iterator`` é " "verdadeiro se X for encontrado no fluxo retornado pelo iterador. Você " -"enfrentará problemas óbvios se o iterador for infinito; :func:`max`, :func:" -"`min` nunca retornará, e se o elemento X nunca aparecer no fluxo, os " -"operadores ``\"in\"`` e ``\"not in\"`` não retornarão também." +"enfrentará problemas óbvios se o iterador for " +"infinito; :func:`max`, :func:`min` nunca retornará, e se o elemento X nunca " +"aparecer no fluxo, os operadores ``\"in\"`` e ``\"not in\"`` não retornarão " +"também." #: ../../howto/functional.rst:254 msgid "" @@ -580,8 +578,9 @@ msgstr "" msgid "" "Applying :func:`iter` to a dictionary always loops over the keys, but " "dictionaries have methods that return other iterators. If you want to " -"iterate over values or key/value pairs, you can explicitly call the :meth:" -"`~dict.values` or :meth:`~dict.items` methods to get an appropriate iterator." +"iterate over values or key/value pairs, you can explicitly call " +"the :meth:`~dict.values` or :meth:`~dict.items` methods to get an " +"appropriate iterator." msgstr "" "Aplicando :func:`iter` para um dicionário sempre percorre as teclas, mas os " "dicionários têm métodos que retornam outros iteradores. Se você deseja " @@ -603,9 +602,10 @@ msgid "" "method until there are no more lines in the file. This means you can read " "each line of a file like this::" msgstr "" -"Os arquivos também suportam a iteração chamando o método :meth:`~io." -"TextIOBase.readline` até que não haja mais linhas no arquivo. Isso significa " -"que você pode ler cada linha de um arquivo como este::" +"Os arquivos também suportam a iteração chamando o " +"método :meth:`~io.TextIOBase.readline` até que não haja mais linhas no " +"arquivo. Isso significa que você pode ler cada linha de um arquivo como " +"este::" #: ../../howto/functional.rst:315 msgid "" @@ -641,10 +641,10 @@ msgid "" "functional programming language Haskell (https://www.haskell.org/). You can " "strip all the whitespace from a stream of strings with the following code::" msgstr "" -"As compreensões da lista e as expressões do gerador (forma curta: " +"As compreensões de lista e as expressões do gerador (forma curta: " "\"listcomps\" e \"genexps\") são uma notação concisa para tais operações, " -"emprestado da linguagem de programação funcional Haskell (https://www." -"haskell.org/). Você pode tirar todos os espaços em branco de um fluxo de " +"emprestado da linguagem de programação funcional Haskell (https://" +"www.haskell.org/). Você pode tirar todos os espaços em branco de um fluxo de " "strings com o seguinte código::" #: ../../howto/functional.rst:352 @@ -852,10 +852,10 @@ msgid "" "procession of values ends and the generator cannot yield any further values." msgstr "" "Dentro de uma função de gerador, ``return value`` faz com que " -"``StopIteration(value)`` seja gerado a partir do método :meth:`~generator." -"__next__`. Uma vez que isso acontece, ou a parte inferior da função é " -"alcançada, a procissão dos valores termina e o gerador não pode render mais " -"valores." +"``StopIteration(value)`` seja gerado a partir do " +"método :meth:`~generator.__next__`. Uma vez que isso acontece, ou a parte " +"inferior da função é alcançada, a procissão dos valores termina e o gerador " +"não pode render mais valores." #: ../../howto/functional.rst:496 msgid "" @@ -869,10 +869,10 @@ msgstr "" "Você pode conseguir o efeito de geradores manualmente, escrevendo sua " "própria classe e armazenando todas as variáveis locais do gerador como " "variáveis de instância. Por exemplo, retornar uma lista de inteiros pode ser " -"feito configurando ``self.count`` para 0, e tendo o :meth:`iterator." -"__next__` incrementar o método ``self.count`` e devolvê-lo. No entanto, para " -"um gerador moderadamente complicado, escrever uma classe correspondente pode " -"ser muito mais complicado." +"feito configurando ``self.count`` para 0, e tendo " +"o :meth:`iterator.__next__` incrementar o método ``self.count`` e devolvê-" +"lo. No entanto, para um gerador moderadamente complicado, escrever uma " +"classe correspondente pode ser muito mais complicado." #: ../../howto/functional.rst:504 msgid "" @@ -922,13 +922,13 @@ msgstr "" #: ../../howto/functional.rst:537 msgid "" -"In Python 2.5 there's a simple way to pass values into a generator. :keyword:" -"`yield` became an expression, returning a value that can be assigned to a " -"variable or otherwise operated on::" +"In Python 2.5 there's a simple way to pass values into a " +"generator. :keyword:`yield` became an expression, returning a value that can " +"be assigned to a variable or otherwise operated on::" msgstr "" -"No Python 2.5 há uma maneira simples de passar valores para um gerador. :" -"keyword:`yield` tornou-se uma expressão, retornando um valor que pode ser " -"atribuído a uma variável ou operado de outra forma::" +"No Python 2.5 há uma maneira simples de passar valores para um " +"gerador. :keyword:`yield` tornou-se uma expressão, retornando um valor que " +"pode ser atribuído a uma variável ou operado de outra forma::" #: ../../howto/functional.rst:543 msgid "" @@ -960,13 +960,15 @@ msgstr "" msgid "" "Values are sent into a generator by calling its :meth:`send(value) " "` method. This method resumes the generator's code and the " -"``yield`` expression returns the specified value. If the regular :meth:" -"`~generator.__next__` method is called, the ``yield`` returns ``None``." +"``yield`` expression returns the specified value. If the " +"regular :meth:`~generator.__next__` method is called, the ``yield`` returns " +"``None``." msgstr "" -"Os valores são enviados para um gerador chamando seu método :meth:" -"`send(value) `. Este método retoma o código do gerador e a " -"expressão ``yield`` retorna o valor especificado. Se o método regular :meth:" -"`~generator.__next__` for chamado, o ``yield`` retorna ``None``." +"Os valores são enviados para um gerador chamando seu " +"método :meth:`send(value) `. Este método retoma o código do " +"gerador e a expressão ``yield`` retorna o valor especificado. Se o método " +"regular :meth:`~generator.__next__` for chamado, o ``yield`` retorna " +"``None``." #: ../../howto/functional.rst:559 msgid "" @@ -996,7 +998,7 @@ msgstr "" msgid "" "In addition to :meth:`~generator.send`, there are two other methods on " "generators:" -msgstr "" +msgstr "Além de :meth:`~generator.send`, há dois outros métodos em geradores:" #: ../../howto/functional.rst:599 msgid "" @@ -1004,30 +1006,38 @@ msgid "" "the generator; the exception is raised by the ``yield`` expression where the " "generator's execution is paused." msgstr "" +":meth:`throw(value) ` é usado para gerar uma exceção dentro " +"do gerador; a exceção é levantada pela expressão ``yield`` onde a execução " +"do gerador é pausada." #: ../../howto/functional.rst:603 msgid "" ":meth:`~generator.close` raises a :exc:`GeneratorExit` exception inside 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 " -"and will trigger a :exc:`RuntimeError`. :meth:`~generator.close` will also " -"be called by Python's garbage collector when the generator is garbage-" -"collected." +"generator's code must either raise :exc:`GeneratorExit` " +"or :exc:`StopIteration`; catching the exception and doing anything else is " +"illegal and will trigger a :exc:`RuntimeError`. :meth:`~generator.close` " +"will also be called by Python's garbage collector when the generator is " +"garbage-collected." msgstr "" #: ../../howto/functional.rst:611 msgid "" "If you need to run cleanup code when a :exc:`GeneratorExit` occurs, I " -"suggest using a ``try: ... finally:`` suite instead of catching :exc:" -"`GeneratorExit`." +"suggest using a ``try: ... finally:`` suite instead of " +"catching :exc:`GeneratorExit`." msgstr "" +"Se você precisar executar um código de limpeza quando ocorrer " +"um :exc:`GeneratorExit`, sugiro usar um conjunto ``try: ... finally:`` em " +"vez de capturar :exc:`GeneratorExit`." #: ../../howto/functional.rst:614 msgid "" "The cumulative effect of these changes is to turn generators from one-way " "producers of information into both producers and consumers." msgstr "" +"The cumulative effect of these changes is to turn generators from one-way " +"producers of information into both producers and consumers." #: ../../howto/functional.rst:617 msgid "" @@ -1037,6 +1047,11 @@ msgid "" "can be entered, exited, and resumed at many different points (the ``yield`` " "statements)." msgstr "" +"Geradores também se tornam **corrotinas**, uma forma mais generalizada de " +"subrotinas. As subrotinas são inseridas em um ponto e encerradas em outro (o " +"topo da função e uma instrução ``return``), mas as corrotinas podem ser " +"inseridas, encerradas e retomadas em muitos pontos diferentes (as instruções " +"``yield``)." #: ../../howto/functional.rst:624 msgid "Built-in functions" @@ -1046,22 +1061,28 @@ msgstr "Funções embutidas" msgid "" "Let's look in more detail at built-in functions often used with iterators." msgstr "" +"Vamos ver com maiores detalhes as funções embutidas que são comumente usadas " +"com iteradores." #: ../../howto/functional.rst:628 msgid "" "Two of Python's built-in functions, :func:`map` and :func:`filter` duplicate " "the features of generator expressions:" msgstr "" +"Duas das funções embutidas do Python, :func:`map` e :func:`filter` duplicam " +"os recursos das expressões geradoras:" #: ../../howto/functional.rst:640 msgid "" ":func:`map(f, iterA, iterB, ...) ` returns an iterator over the sequence" msgstr "" +":func:`map(f, iterA, iterB, ...) ` retorna um iterador sobre a sequência" #: ../../howto/functional.rst:632 msgid "" "``f(iterA[0], iterB[0]), f(iterA[1], iterB[1]), f(iterA[2], iterB[2]), ...``." msgstr "" +"``f(iterA[0], iterB[0]), f(iterA[1], iterB[1]), f(iterA[2], iterB[2]), ...``." #: ../../howto/functional.rst:642 msgid "You can of course achieve the same effect with a list comprehension." @@ -1076,6 +1097,11 @@ msgid "" "truth value of some condition; for use with :func:`filter`, the predicate " "must take a single value." msgstr "" +":func:`filter(predicate, iter) ` retorna um iterador sobre todos os " +"elementos da sequência que atendem a uma determinada condição, e é " +"similarmente duplicada por compreensões de lista. Um **predicate** é uma " +"função que retorna o valor lógico de alguma condição; para uso " +"com :func:`filter`, o predicado deve receber um único valor." #: ../../howto/functional.rst:657 msgid "This can also be written as a list comprehension:" @@ -1238,10 +1264,11 @@ msgstr "" #: ../../howto/functional.rst:827 msgid "" "The :mod:`operator` module contains a set of functions corresponding to " -"Python's operators. Some examples are :func:`operator.add(a, b) ` (adds two values), :func:`operator.ne(a, b) ` (same as " -"``a != b``), and :func:`operator.attrgetter('id') ` " -"(returns a callable that fetches the ``.id`` attribute)." +"Python's operators. Some examples are :func:`operator.add(a, b) " +"` (adds two values), :func:`operator.ne(a, b) ` " +"(same as ``a != b``), and :func:`operator.attrgetter('id') " +"` (returns a callable that fetches the ``.id`` " +"attribute)." msgstr "" #: ../../howto/functional.rst:833 @@ -1305,9 +1332,10 @@ msgstr "" msgid "" "The elements within each tuple remain in the same order as *iterable* " "returned them. For example, the number 1 is always before 2, 3, 4, or 5 in " -"the examples above. A similar function, :func:`itertools." -"permutations(iterable, r=None) `, removes this " -"constraint on the order, returning all possible arrangements of length *r*::" +"the examples above. A similar " +"function, :func:`itertools.permutations(iterable, r=None) " +"`, removes this constraint on the order, returning " +"all possible arrangements of length *r*::" msgstr "" #: ../../howto/functional.rst:925 @@ -1330,11 +1358,11 @@ msgstr "" #: ../../howto/functional.rst:938 msgid "" -"The :func:`itertools.combinations_with_replacement(iterable, r) ` function relaxes a different constraint: " -"elements can be repeated within a single tuple. Conceptually an element is " -"selected for the first position of each tuple and then is replaced before " -"the second element is selected. ::" +"The :func:`itertools.combinations_with_replacement(iterable, r) " +"` function relaxes a different " +"constraint: elements can be repeated within a single tuple. Conceptually an " +"element is selected for the first position of each tuple and then is " +"replaced before the second element is selected. ::" msgstr "" #: ../../howto/functional.rst:953 @@ -1373,8 +1401,8 @@ msgstr "O módulo functools" msgid "" "The :mod:`functools` module contains some higher-order functions. A **higher-" "order function** takes one or more functions as input and returns a new " -"function. The most useful tool in this module is the :func:`functools." -"partial` function." +"function. The most useful tool in this module is " +"the :func:`functools.partial` function." msgstr "" #: ../../howto/functional.rst:1002 @@ -1404,14 +1432,14 @@ msgid "" ":func:`functools.reduce(func, iter, [initial_value]) ` " "cumulatively performs an operation on all the iterable's elements and, " "therefore, can't be applied to infinite iterables. *func* must be a function " -"that takes two elements and returns a single value. :func:`functools." -"reduce` takes the first two elements A and B returned by the iterator and " -"calculates ``func(A, B)``. It then requests the third element, C, " -"calculates ``func(func(A, B), C)``, combines this result with the fourth " -"element returned, and continues until the iterable is exhausted. If the " -"iterable returns no values at all, a :exc:`TypeError` exception is raised. " -"If the initial value is supplied, it's used as a starting point and " -"``func(initial_value, A)`` is the first calculation. ::" +"that takes two elements and returns a single " +"value. :func:`functools.reduce` takes the first two elements A and B " +"returned by the iterator and calculates ``func(A, B)``. It then requests " +"the third element, C, calculates ``func(func(A, B), C)``, combines this " +"result with the fourth element returned, and continues until the iterable is " +"exhausted. If the iterable returns no values at all, a :exc:`TypeError` " +"exception is raised. If the initial value is supplied, it's used as a " +"starting point and ``func(initial_value, A)`` is the first calculation. ::" msgstr "" #: ../../howto/functional.rst:1049 @@ -1429,10 +1457,11 @@ msgstr "" #: ../../howto/functional.rst:1073 msgid "" -"A related function is :func:`itertools.accumulate(iterable, func=operator." -"add) `. It performs the same calculation, but instead " -"of returning only the final result, :func:`accumulate` returns an iterator " -"that also yields each partial result::" +"A related function is :func:`itertools.accumulate(iterable, " +"func=operator.add) `. It performs the same " +"calculation, but instead of returning only the final " +"result, :func:`~itertools.accumulate` returns an iterator that also yields " +"each partial result::" msgstr "" #: ../../howto/functional.rst:1086 @@ -1558,7 +1587,7 @@ msgid "" "loops." msgstr "" "Muitas utilizações de :func:`functools.reduce` são mais claras quando " -"escritas como loops ``for``." +"escritas como laços ``for``." #: ../../howto/functional.rst:1169 msgid "" diff --git a/howto/gdb_helpers.po b/howto/gdb_helpers.po new file mode 100644 index 000000000..9bef00095 --- /dev/null +++ b/howto/gdb_helpers.po @@ -0,0 +1,500 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2001-2026, Python Software Foundation +# This file is distributed under the same license as the Python package. +# FIRST AUTHOR , YEAR. +# +# Translators: +# python-doc bot, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" +"teams/5390/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" + +#: ../../howto/gdb_helpers.rst:5 +msgid "Debugging C API extensions and CPython Internals with GDB" +msgstr "Depurando extensões de API C e internos do CPython com GDB" + +#: ../../howto/gdb_helpers.rst:9 +msgid "" +"This document explains how the Python GDB extension, ``python-gdb.py``, can " +"be used with the GDB debugger to debug CPython extensions and the CPython " +"interpreter itself." +msgstr "" +"Este documento explica como a extensão GDB do Python, ``python-gdb.py``, " +"pode ser usada com o depurador GDB para depurar extensões CPython e o " +"próprio interpretador CPython." + +#: ../../howto/gdb_helpers.rst:13 +msgid "" +"When debugging low-level problems such as crashes or deadlocks, a low-level " +"debugger, such as GDB, is useful to diagnose and correct the issue. By " +"default, GDB (or any of its front-ends) doesn't support high-level " +"information specific to the CPython interpreter." +msgstr "" +"Ao depurar problemas de baixo nível, como falhas ou impasses, um depurador " +"de baixo nível, como o GDB, é útil para diagnosticar e corrigir o problema. " +"Por padrão, o GDB (ou qualquer uma de suas interfaces) não oferece suporte a " +"informações de alto nível específicas do interpretador CPython." + +#: ../../howto/gdb_helpers.rst:18 +msgid "" +"The ``python-gdb.py`` extension adds CPython interpreter information to GDB. " +"The extension helps introspect the stack of currently executing Python " +"functions. Given a Python object represented by a :c:expr:`PyObject *` " +"pointer, the extension surfaces the type and value of the object." +msgstr "" +"A extensão ``python-gdb.py`` adiciona informações do interpretador CPython " +"ao GDB. A extensão ajuda a inspecionar a pilha de funções Python atualmente " +"em execução. Dado um objeto Python representado por um " +"ponteiro :c:expr:`PyObject *`, a extensão mostra o tipo e o valor do objeto." + +#: ../../howto/gdb_helpers.rst:23 +msgid "" +"Developers who are working on CPython extensions or tinkering with parts of " +"CPython that are written in C can use this document to learn how to use the " +"``python-gdb.py`` extension with GDB." +msgstr "" +"Desenvolvedores que estão trabalhando em extensões CPython ou mexendo com " +"partes do CPython escritas em C podem usar este documento para aprender como " +"usar a extensão ``python-gdb.py`` com o GDB." + +#: ../../howto/gdb_helpers.rst:29 +msgid "" +"This document assumes that you are familiar with the basics of GDB and the " +"CPython C API. It consolidates guidance from the `devguide `_ and the `Python wiki `_." +msgstr "" +"Este documento pressupõe que você esteja familiarizado com o básico do GDB e " +"da API C do CPython. Ele consolida orientações do `devguide `_ e da `wiki do Python `_." + +#: ../../howto/gdb_helpers.rst:36 +msgid "Prerequisites" +msgstr "Pré-requisitos" + +#: ../../howto/gdb_helpers.rst:38 +msgid "You need to have:" +msgstr "Você precisa ter:" + +#: ../../howto/gdb_helpers.rst:40 +msgid "" +"GDB 7 or later. (For earlier versions of GDB, see ``Misc/gdbinit`` in the " +"CPython sources. Note that this file will be removed in Python 3.12.)" +msgstr "" +"GDB 7 ou posterior. (Para versões anteriores do GDB, consulte ``Misc/" +"gdbinit`` nas fontes do CPython. Observe que este arquivo será removido no " +"Python 3.12.)" + +#: ../../howto/gdb_helpers.rst:42 +msgid "" +"GDB-compatible debugging information for Python and any extension you are " +"debugging." +msgstr "" +"Informações de depuração compatíveis com GDB para Python e qualquer extensão " +"que você esteja depurando." + +#: ../../howto/gdb_helpers.rst:44 +msgid "The ``python-gdb.py`` extension." +msgstr "A extensão ``python-gdb.py``." + +#: ../../howto/gdb_helpers.rst:46 +msgid "" +"The extension is built with Python, but might be distributed separately or " +"not at all. Below, we include tips for a few common systems as examples. " +"Note that even if the instructions match your system, they might be outdated." +msgstr "" +"A extensão é construída com Python, mas pode ser distribuída separadamente " +"ou não ser distribuída. Abaixo, incluímos dicas para alguns sistemas comuns " +"como exemplos. Note que mesmo se as instruções corresponderem ao seu " +"sistema, elas podem estar desatualizadas." + +#: ../../howto/gdb_helpers.rst:52 +msgid "Setup with Python built from source" +msgstr "Configuração com Python construído a partir do código-fonte" + +#: ../../howto/gdb_helpers.rst:54 +msgid "" +"When you build CPython from source, debugging information should be " +"available, and the build should add a ``python-gdb.py`` file to the root " +"directory of your repository." +msgstr "" +"Quando você compila o CPython a partir do código-fonte, as informações de " +"depuração devem estar disponíveis, e a compilação deve adicionar um arquivo " +"``python-gdb.py`` ao diretório raiz do seu repositório." + +#: ../../howto/gdb_helpers.rst:58 +msgid "" +"To activate support, you must add the directory containing ``python-gdb.py`` " +"to GDB's \"auto-load-safe-path\". If you haven't done this, recent versions " +"of GDB will print out a warning with instructions on how to do this." +msgstr "" +"Para ativar o suporte, você deve adicionar o diretório que contém ``python-" +"gdb.py`` ao \"auto-load-safe-path\" do GDB. Se você ainda não fez isso, as " +"versões recentes do GDB imprimirão um aviso com instruções sobre como fazer " +"isso." + +#: ../../howto/gdb_helpers.rst:65 +msgid "" +"If you do not see instructions for your version of GDB, put this in your " +"configuration file (``~/.gdbinit`` or ``~/.config/gdb/gdbinit``)::" +msgstr "" +"Se você não encontrar instruções para a sua versão do GDB, coloque isso no " +"seu arquivo de configuração (``~/.gdbinit`` ou ``~/.config/gdb/gdbinit``)::" + +#: ../../howto/gdb_helpers.rst:70 +msgid "You can also add multiple paths, separated by ``:``." +msgstr "Você também pode adicionar vários caminhos, separados por ``:``." + +#: ../../howto/gdb_helpers.rst:74 +msgid "Setup for Python from a Linux distro" +msgstr "Configuração para Python a partir de uma distribuição Linux" + +#: ../../howto/gdb_helpers.rst:76 +msgid "" +"Most Linux systems provide debug information for the system Python in a " +"package called ``python-debuginfo``, ``python-dbg`` or similar. For example:" +msgstr "" +"A maioria dos sistemas Linux fornece informações de depuração para o Python " +"do sistema em um pacote chamado ``python-debuginfo``, ``python-dbg`` ou " +"similar. Por exemplo:" + +#: ../../howto/gdb_helpers.rst:80 +msgid "Fedora:" +msgstr "Fedora:" + +#: ../../howto/gdb_helpers.rst:87 +msgid "Ubuntu:" +msgstr "Ubuntu:" + +#: ../../howto/gdb_helpers.rst:93 +msgid "" +"On several recent Linux systems, GDB can download debugging symbols " +"automatically using *debuginfod*. However, this will not install the " +"``python-gdb.py`` extension; you generally do need to install the debug info " +"package separately." +msgstr "" +"Em vários sistemas Linux recentes, o GDB pode baixar automaticamente " +"símbolos de depuração usando *debuginfod*. No entanto, isso não instalará a " +"extensão ``python-gdb.py``; geralmente é necessário instalar separadamente o " +"pacote de informações de depuração." + +#: ../../howto/gdb_helpers.rst:100 +msgid "Using the Debug build and Development mode" +msgstr "Usando a compilação de depuração e o modo de desenvolvimento" + +#: ../../howto/gdb_helpers.rst:102 +msgid "For easier debugging, you might want to:" +msgstr "Para facilitar a depuração, você pode querer:" + +#: ../../howto/gdb_helpers.rst:104 +msgid "" +"Use a :ref:`debug build ` of Python. (When building from " +"source, use ``configure --with-pydebug``. On Linux distros, install and run " +"a package like ``python-debug`` or ``python-dbg``, if available.)" +msgstr "" +"Use a :ref:`compilação de depuração ` do Python. (Ao compilar a " +"partir do código-fonte, use ``configure --with-pydebug``. Em distribuições " +"Linux, instale e execute um pacote como ``python-debug`` ou ``python-dbg``, " +"se disponível.)" + +#: ../../howto/gdb_helpers.rst:107 +msgid "Use the runtime :ref:`development mode ` (``-X dev``)." +msgstr "" +"Use o :ref:`modo de desenvolvimento ` de tempo de execução (``-X " +"dev``)." + +#: ../../howto/gdb_helpers.rst:109 +msgid "" +"Both enable extra assertions and disable some optimizations. Sometimes this " +"hides the bug you are trying to find, but in most cases they make the " +"process easier." +msgstr "" +"Ambos habilitam assertivas extras e desabilitam algumas otimizações. Às " +"vezes isso esconde o bug que você está tentando encontrar, mas na maioria " +"dos casos eles facilitam o processo." + +#: ../../howto/gdb_helpers.rst:115 +msgid "Using the ``python-gdb`` extension" +msgstr "Usando a extensão ``python-gdb``" + +#: ../../howto/gdb_helpers.rst:117 +msgid "" +"When the extension is loaded, it provides two main features: pretty printers " +"for Python values, and additional commands." +msgstr "" +"Quando a extensão é carregada, ela fornece duas principais funcionalidades: " +"impressões bonitas para valores Python e comandos adicionais." + +#: ../../howto/gdb_helpers.rst:121 +msgid "Pretty-printers" +msgstr "Pretty-printers" + +#: ../../howto/gdb_helpers.rst:123 +msgid "" +"This is what a GDB backtrace looks like (truncated) when this extension is " +"enabled::" +msgstr "" +"Este é o aspecto de um backtrace do GDB (truncado) quando esta extensão está " +"habilitada:" + +#: ../../howto/gdb_helpers.rst:142 +msgid "" +"Notice how the dictionary argument to ``PyDict_GetItemString`` is displayed " +"as its ``repr()``, rather than an opaque ``PyObject *`` pointer." +msgstr "" +"Observe como o argumento do dicionário para ``PyDict_GetItemString`` é " +"exibido como seu ``repr()``, em vez de um ponteiro ``PyObject *`` opaco." + +#: ../../howto/gdb_helpers.rst:145 +msgid "" +"The extension works by supplying a custom printing routine for values of " +"type ``PyObject *``. If you need to access lower-level details of an " +"object, then cast the value to a pointer of the appropriate type. For " +"example::" +msgstr "" +"A extensão funciona fornecendo uma rotina de impressão personalizada para " +"valores do tipo ``PyObject *``. Se você precisar acessar detalhes de nível " +"inferior de um objeto, então converta o valor para um ponteiro do tipo " +"apropriado. Por exemplo:" + +#: ../../howto/gdb_helpers.rst:168 +msgid "" +"Note that the pretty-printers do not actually call ``repr()``. For basic " +"types, they try to match its result closely." +msgstr "" +"Observe que os pretty-printers não chamam realmente ``repr()``. Para tipos " +"básicos, eles tentam corresponder ao seu resultado de perto." + +#: ../../howto/gdb_helpers.rst:171 +msgid "" +"An area that can be confusing is that the custom printer for some types look " +"a lot like GDB's built-in printer for standard types. For example, the " +"pretty-printer for a Python ``int`` (:c:expr:`PyLongObject *`) gives a " +"representation that is not distinguishable from one of a regular machine-" +"level integer::" +msgstr "" +"Uma área que pode ser confusa é que a impressão personalizada para alguns " +"tipos se parece muito com a impressão embutida do GDB para tipos padrão. Por " +"exemplo, a impressora bonita para um ``int`` do Python " +"(:c:expr:`PyLongObject *`) fornece uma representação que não é distinguível " +"de um inteiro de nível de máquina regular." + +#: ../../howto/gdb_helpers.rst:183 +msgid "" +"The internal structure can be revealed with a cast to :c:expr:`PyLongObject " +"*`:" +msgstr "" +"A estrutura interna pode ser revelada com um elenco " +"para :c:expr:`PyLongObject *`." + +#: ../../howto/gdb_helpers.rst:185 +msgid "" +"(gdb) p *(PyLongObject*)some_python_integer $5 = {ob_base = {ob_base = " +"{ob_refcnt = 8, ob_type = 0x3dad39f5e0}, ob_size = 1}, ob_digit = {42}}" +msgstr "" +"(gdb) p *(PyLongObject*)some_python_integer $5 = {ob_base = {ob_base = " +"{ob_refcnt = 8, ob_type = 0x3dad39f5e0}, ob_size = 1}, ob_digit = {42}}" + +#: ../../howto/gdb_helpers.rst:189 +msgid "" +"A similar confusion can arise with the ``str`` type, where the output looks " +"a lot like gdb's built-in printer for ``char *``::" +msgstr "" +"Uma confusão semelhante pode surgir com o tipo ``str``, onde a saída se " +"parece muito com a a impressão embutida do gdb para ``char *``." + +#: ../../howto/gdb_helpers.rst:195 +msgid "" +"The pretty-printer for ``str`` instances defaults to using single-quotes (as " +"does Python's ``repr`` for strings) whereas the standard printer for ``char " +"*`` values uses double-quotes and contains a hexadecimal address::" +msgstr "" +"O pretty-printer para instâncias de ``str`` tem como padrão o uso de aspas " +"simples (assim como o ``repr`` do Python para strings), enquanto o printer " +"padrão para valores de ``char *`` usa aspas duplas e contém um endereço " +"hexadecimal." + +#: ../../howto/gdb_helpers.rst:202 +msgid "" +"Again, the implementation details can be revealed with a cast " +"to :c:expr:`PyUnicodeObject *`::" +msgstr "" +"Novamente, os detalhes de implementação podem ser revelados com um chamada " +"a :c:expr:`PyUnicodeObject *`::." + +#: ../../howto/gdb_helpers.rst:210 +msgid "``py-list``" +msgstr "``py-list``" + +#: ../../howto/gdb_helpers.rst:212 +msgid "" +"The extension adds a ``py-list`` command, which lists the Python source code " +"(if any) for the current frame in the selected thread. The current line is " +"marked with a \">\"::" +msgstr "" +"A extensão adiciona um comando ``py-list``, que lista o código-fonte Python " +"(se houver) para o quadro atual na thread selecionada. A linha atual é " +"marcada com um \">\"::" + +#: ../../howto/gdb_helpers.rst:229 +msgid "" +"Use ``py-list START`` to list at a different line number within the Python " +"source, and ``py-list START,END`` to list a specific range of lines within " +"the Python source." +msgstr "" +"Use ``py-list START`` para listar em um número de linha diferente dentro do " +"código Python, e ``py-list START,END`` para listar um intervalo específico " +"de linhas dentro do código Python." + +#: ../../howto/gdb_helpers.rst:234 +msgid "``py-up`` and ``py-down``" +msgstr "``py-up`` e ``py-down``" + +#: ../../howto/gdb_helpers.rst:236 +msgid "" +"The ``py-up`` and ``py-down`` commands are analogous to GDB's regular ``up`` " +"and ``down`` commands, but try to move at the level of CPython frames, " +"rather than C frames." +msgstr "" +"Os comandos ``py-up`` e ``py-down`` são análogos aos comandos regulares " +"``up`` e ``down`` do GDB, mas tentam se mover no nível dos quadros do " +"CPython, em vez dos quadros do C." + +#: ../../howto/gdb_helpers.rst:240 +msgid "" +"GDB is not always able to read the relevant frame information, depending on " +"the optimization level with which CPython was compiled. Internally, the " +"commands look for C frames that are executing the default frame evaluation " +"function (that is, the core bytecode interpreter loop within CPython) and " +"look up the value of the related ``PyFrameObject *``." +msgstr "" +"GDB nem sempre consegue ler as informações relevantes do quadro, dependendo " +"do nível de otimização com o qual o CPython foi compilado. Internamente, os " +"comandos procuram por quadros C que estão executando a função de avaliação " +"de quadro padrão (ou seja, o laço do interpretador de bytecode principal " +"dentro do CPython) e procuram o valor do ``PyFrameObject *`` relacionado." + +#: ../../howto/gdb_helpers.rst:246 +msgid "They emit the frame number (at the C level) within the thread." +msgstr "Eles emitem o número do quadro (no nível C) dentro da thread." + +#: ../../howto/gdb_helpers.rst:248 ../../howto/gdb_helpers.rst:298 +msgid "For example::" +msgstr "Por exemplo::" + +#: ../../howto/gdb_helpers.rst:261 +msgid "so we're at the top of the Python stack." +msgstr "de forma estamos no topo da pilha do Python." + +#: ../../howto/gdb_helpers.rst:263 +msgid "" +"The frame numbers correspond to those displayed by GDB's standard " +"``backtrace`` command. The command skips C frames which are not executing " +"Python code." +msgstr "" +"Os números de quadro correspondem aos exibidos pelo comando padrão " +"``backtrace`` do GDB. O comando ignora os quadros C que não estão executando " +"código Python." + +#: ../../howto/gdb_helpers.rst:267 +msgid "Going back down::" +msgstr "Voltando para baixo::" + +#: ../../howto/gdb_helpers.rst:289 +msgid "and we're at the bottom of the Python stack." +msgstr "e estamos na parte inferior da pilha do Python." + +#: ../../howto/gdb_helpers.rst:293 +msgid "``py-bt``" +msgstr "``py-bt``" + +#: ../../howto/gdb_helpers.rst:295 +msgid "" +"The ``py-bt`` command attempts to display a Python-level backtrace of the " +"current thread." +msgstr "" +"O comando ``py-bt`` tenta mostrar uma rastreabilidade em nível Python da " +"thread atual." + +#: ../../howto/gdb_helpers.rst:314 +msgid "" +"The frame numbers correspond to those displayed by GDB's standard " +"``backtrace`` command." +msgstr "" +"Os números de quadro correspondem aos exibidos pelo comando padrão " +"``backtrace`` do GDB." + +#: ../../howto/gdb_helpers.rst:318 +msgid "``py-print``" +msgstr "``py-print``" + +#: ../../howto/gdb_helpers.rst:320 +msgid "" +"The ``py-print`` command looks up a Python name and tries to print it. It " +"looks in locals within the current thread, then globals, then finally " +"builtins::" +msgstr "" +"O comando ``py-print`` procura um nome em Python e tenta imprimi-lo. Ele " +"procura em locais dentro da thread atual, depois em globais e, finalmente, " +"em embutidos::" + +#: ../../howto/gdb_helpers.rst:335 +msgid "``py-locals``" +msgstr "``py-locals``" + +#: ../../howto/gdb_helpers.rst:337 +msgid "" +"The ``py-locals`` command looks up all Python locals within the current " +"Python frame in the selected thread, and prints their representations::" +msgstr "" +"O comando ``py-locals`` busca todas as variáveis locais do Python no quadro " +"Python atual na thread selecionada e imprime suas representações::" + +#: ../../howto/gdb_helpers.rst:347 +msgid "Use with GDB commands" +msgstr "Uso com comandos do GDB" + +#: ../../howto/gdb_helpers.rst:349 +msgid "" +"The extension commands complement GDB's built-in commands. For example, you " +"can use a frame numbers shown by ``py-bt`` with the ``frame`` command to go " +"a specific frame within the selected thread, like this::" +msgstr "" +"Os comandos de extensão complementam os comandos embutidos do GDB. Por " +"exemplo, você pode usar os números de quadro mostrados por ``py-bt`` com o " +"comando ``frame`` para ir a um quadro específico dentro da thread " +"selecionada, assim::" + +#: ../../howto/gdb_helpers.rst:368 +msgid "" +"The ``info threads`` command will give you a list of the threads within the " +"process, and you can use the ``thread`` command to select a different one::" +msgstr "" +"O comando ``info threads`` fornecerá uma lista das threads dentro do " +"processo, e você pode usar o comando ``thread`` para selecionar uma " +"diferente::" + +#: ../../howto/gdb_helpers.rst:376 +msgid "" +"You can use ``thread apply all COMMAND`` or (``t a a COMMAND`` for short) to " +"run a command on all threads. With ``py-bt``, this lets you see what every " +"thread is doing at the Python level::" +msgstr "" +"Você pode usar ``thread apply all COMANDO`` ou (``t a a COMANDO`` para " +"abreviar) para executar um comando em todas as threads. Com ``py-bt``, isso " +"permite que você veja o que cada thread está fazendo no nível do Python::" diff --git a/howto/index.po b/howto/index.po index 603898b3e..bedfcca70 100644 --- a/howto/index.po +++ b/howto/index.po @@ -1,27 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/howto/instrumentation.po b/howto/instrumentation.po index ed595cd11..8ccd3d02a 100644 --- a/howto/instrumentation.po +++ b/howto/instrumentation.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Hemílio Lauro , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -49,18 +45,22 @@ msgid "" "what the processes on a computer system are doing. They both use domain-" "specific languages allowing a user to write scripts which:" msgstr "" +"DTrace e SystemTap são ferramentas de monitoramento, cada uma fornecendo uma " +"maneira de inspecionar o que os processos em um sistema de computador estão " +"fazendo. Ambas usam linguagens específicas de domínio, permitindo que um " +"usuário escreva scripts que:" #: ../../howto/instrumentation.rst:16 msgid "filter which processes are to be observed" -msgstr "" +msgstr "filtrar quais processos devem ser observados" #: ../../howto/instrumentation.rst:17 msgid "gather data from the processes of interest" -msgstr "" +msgstr "coletem dados dos processos de interesse" #: ../../howto/instrumentation.rst:18 msgid "generate reports on the data" -msgstr "" +msgstr "gerem relatórios sobre os dados" #: ../../howto/instrumentation.rst:20 msgid "" @@ -68,6 +68,10 @@ msgid "" "as \"probes\", that can be observed by a DTrace or SystemTap script, making " "it easier to monitor what the CPython processes on a system are doing." msgstr "" +"A partir do Python 3.6, o CPython pode ser criado com \"marcadores\" " +"incorporados, também conhecidos como \"sondas\" (*probes*), que podem ser " +"observados por um script DTrace ou SystemTap, facilitando o monitoramento do " +"que os processos CPython em um sistema estão fazendo." #: ../../howto/instrumentation.rst:27 msgid "" @@ -76,10 +80,14 @@ msgid "" "DTrace scripts can stop working or work incorrectly without warning when " "changing CPython versions." msgstr "" +"Os marcadores DTrace são detalhes de implementação do interpretador CPython. " +"Não há garantias sobre a compatibilidade de sondas entre versões do CPython. " +"Os scripts DTrace podem parar de funcionar ou funcionar incorretamente sem " +"aviso ao alterar as versões do CPython." #: ../../howto/instrumentation.rst:34 msgid "Enabling the static markers" -msgstr "" +msgstr "Habilitando os marcadores estáticos" #: ../../howto/instrumentation.rst:36 msgid "" @@ -87,20 +95,25 @@ msgid "" "CPython with the embedded markers for SystemTap, the SystemTap development " "tools must be installed." msgstr "" +"O macOS vem com suporte embutido para DTrace. No Linux, para construir o " +"CPython com os marcadores incorporados para SystemTap, as ferramentas de " +"desenvolvimento SystemTap devem ser instaladas." #: ../../howto/instrumentation.rst:40 msgid "On a Linux machine, this can be done via::" -msgstr "" +msgstr "Em uma máquina Linux, isso pode ser feito via:" #: ../../howto/instrumentation.rst:44 msgid "or::" -msgstr "or::" +msgstr "ou::" #: ../../howto/instrumentation.rst:49 msgid "" "CPython must then be :option:`configured with the --with-dtrace option <--" "with-dtrace>`:" msgstr "" +"O CPython deve então ser :option:`configurado com a opção --with-dtrace <--" +"with-dtrace>`:" #: ../../howto/instrumentation.rst:56 msgid "" @@ -108,12 +121,18 @@ msgid "" "in the background and listing all probes made available by the Python " "provider::" msgstr "" +"No macOS, você pode listar as sondas DTrace disponíveis executando um " +"processo Python em segundo plano e listando todas as sondas disponibilizadas " +"pelo provedor Python::" #: ../../howto/instrumentation.rst:73 msgid "" "On Linux, you can verify if the SystemTap static markers are present in the " "built binary by seeing if it contains a \".note.stapsdt\" section." msgstr "" +"No Linux, você pode verificar se os marcadores estáticos do SystemTap estão " +"presentes no binário compilado, observando se ele contém uma seção " +"\".note.stapsdt\"." #: ../../howto/instrumentation.rst:81 msgid "" @@ -121,10 +140,13 @@ msgid "" "shared` configure option), you need to look instead within the shared " "library. For example::" msgstr "" +"Se você construiu o Python como uma biblioteca compartilhada (com a opção de " +"configuração :option:`--enable-shared`), você precisa procurar dentro da " +"biblioteca compartilhada. Por exemplo::" #: ../../howto/instrumentation.rst:88 msgid "Sufficiently modern readelf can print the metadata::" -msgstr "" +msgstr "Um readelf moderno o suficiente pode exibir os metadados::" #: ../../howto/instrumentation.rst:125 msgid "" @@ -132,10 +154,13 @@ msgid "" "patch strategically placed machine code instructions to enable the tracing " "hooks used by a SystemTap script." msgstr "" +"Os metadados acima contêm informações sobre o SystemTap descrevendo como ele " +"pode corrigir instruções de código de máquina estrategicamente posicionadas " +"para habilitar os ganchos de rastreamento usados por um script do SystemTap." #: ../../howto/instrumentation.rst:131 msgid "Static DTrace probes" -msgstr "" +msgstr "Sondas estáticas do DTtrace" #: ../../howto/instrumentation.rst:133 msgid "" @@ -144,18 +169,22 @@ msgid "" "function called \"start\". In other words, import-time function invocations " "are not going to be listed:" msgstr "" +"O script DTrace de exemplo a seguir pode ser usado para mostrar a hierarquia " +"de chamada/retorno de um script Python, rastreando apenas dentro da " +"invocação de uma função chamada \"start\". Em outras palavras, invocações de " +"função em tempo de importação não serão listadas:" #: ../../howto/instrumentation.rst:172 ../../howto/instrumentation.rst:230 msgid "It can be invoked like this::" -msgstr "" +msgstr "Pode ser invocado assim::" #: ../../howto/instrumentation.rst:176 ../../howto/instrumentation.rst:236 msgid "The output looks like this:" -msgstr "" +msgstr "O resultado deve ser algo assim:" #: ../../howto/instrumentation.rst:201 msgid "Static SystemTap markers" -msgstr "" +msgstr "Marcadores estáticos do SystemTap" #: ../../howto/instrumentation.rst:203 msgid "" @@ -163,184 +192,239 @@ msgid "" "markers directly. This requires you to explicitly state the binary file " "containing them." msgstr "" +"A maneira de baixo nível de usar a integração do SystemTap é usar os " +"marcadores estáticos diretamente. Isso requer que você declare " +"explicitamente o arquivo binário que os contém." #: ../../howto/instrumentation.rst:207 msgid "" "For example, this SystemTap script can be used to show the call/return " "hierarchy of a Python script:" msgstr "" +"Por exemplo, este script SystemTap pode ser usado para mostrar a hierarquia " +"de chamada/retorno de um script Python:" #: ../../howto/instrumentation.rst:247 msgid "where the columns are:" -msgstr "" +msgstr "sendo as colunas:" #: ../../howto/instrumentation.rst:249 msgid "time in microseconds since start of script" -msgstr "" +msgstr "tempo em microssegundos desde o início do script" -#: ../../howto/instrumentation.rst:251 +#: ../../howto/instrumentation.rst:250 msgid "name of executable" -msgstr "" +msgstr "nome do executável" -#: ../../howto/instrumentation.rst:253 +#: ../../howto/instrumentation.rst:251 msgid "PID of process" -msgstr "" +msgstr "PID do processo" -#: ../../howto/instrumentation.rst:255 +#: ../../howto/instrumentation.rst:253 msgid "" "and the remainder indicates the call/return hierarchy as the script executes." msgstr "" +"e o restante indica a hierarquia de chamada/retorno conforme o script é " +"executado." -#: ../../howto/instrumentation.rst:257 +#: ../../howto/instrumentation.rst:255 msgid "" "For a :option:`--enable-shared` build of CPython, the markers are contained " "within the libpython shared library, and the probe's dotted path needs to " "reflect this. For example, this line from the above example:" msgstr "" +"Para uma construção com :option:`--enable-shared` do CPython, os marcadores " +"estão contidos na biblioteca compartilhada libpython, e o caminho pontilhado " +"da sonda precisa refletir isso. Por exemplo, esta linha do exemplo acima:" -#: ../../howto/instrumentation.rst:265 +#: ../../howto/instrumentation.rst:263 msgid "should instead read:" -msgstr "" +msgstr "deve ler-se em vez disso:" -#: ../../howto/instrumentation.rst:271 +#: ../../howto/instrumentation.rst:269 msgid "(assuming a :ref:`debug build ` of CPython 3.6)" msgstr "" +"(presumindo uma :ref:`construção de depuração ` do CPython 3.6)" -#: ../../howto/instrumentation.rst:275 +#: ../../howto/instrumentation.rst:273 msgid "Available static markers" -msgstr "" +msgstr "Marcadores estáticos disponíveis" -#: ../../howto/instrumentation.rst:279 +#: ../../howto/instrumentation.rst:277 msgid "" "This marker indicates that execution of a Python function has begun. It is " "only triggered for pure-Python (bytecode) functions." msgstr "" +"Este marcador indica que a execução de uma função Python começou. Ele é " +"acionado somente para funções Python puro (bytecode)." -#: ../../howto/instrumentation.rst:282 +#: ../../howto/instrumentation.rst:280 msgid "" "The filename, function name, and line number are provided back to the " "tracing script as positional arguments, which must be accessed using " "``$arg1``, ``$arg2``, ``$arg3``:" msgstr "" +"O nome do arquivo, o nome da função e o número da linha são fornecidos de " +"volta ao script de rastreamento como argumentos posicionais, que devem ser " +"acessados usando ``$arg1``, ``$arg2``, ``$arg3``:" -#: ../../howto/instrumentation.rst:286 +#: ../../howto/instrumentation.rst:284 msgid "" "``$arg1`` : ``(const char *)`` filename, accessible using " "``user_string($arg1)``" msgstr "" +"``$arg1`` : nome de arquivo como ``(const char *)``, acessível usando " +"``user_string($arg1)``" -#: ../../howto/instrumentation.rst:288 +#: ../../howto/instrumentation.rst:286 msgid "" "``$arg2`` : ``(const char *)`` function name, accessible using " "``user_string($arg2)``" msgstr "" +"``$arg2`` : nome da função como ``(const char *)``, acessível usando " +"``user_string($arg2)``" -#: ../../howto/instrumentation.rst:291 +#: ../../howto/instrumentation.rst:289 msgid "``$arg3`` : ``int`` line number" -msgstr "" +msgstr "``$arg3`` : número da linha como ``int``" -#: ../../howto/instrumentation.rst:295 +#: ../../howto/instrumentation.rst:293 msgid "" -"This marker is the converse of :c:func:`function__entry`, and indicates that " -"execution of a Python function has ended (either via ``return``, or via an " -"exception). It is only triggered for pure-Python (bytecode) functions." +"This marker is the converse of :c:func:`!function__entry`, and indicates " +"that execution of a Python function has ended (either via ``return``, or via " +"an exception). It is only triggered for pure-Python (bytecode) functions." msgstr "" +"Este marcador é o inverso de :c:func:`!function__entry`, e indica que a " +"execução de uma função Python terminou (seja via ``return``, ou via uma " +"exceção). Ele é acionado somente para funções Python puro (bytecode)." -#: ../../howto/instrumentation.rst:299 -msgid "The arguments are the same as for :c:func:`function__entry`" -msgstr "" +#: ../../howto/instrumentation.rst:297 +msgid "The arguments are the same as for :c:func:`!function__entry`" +msgstr "Os argumentos são os mesmos de :c:func:`!function__entry`" -#: ../../howto/instrumentation.rst:303 +#: ../../howto/instrumentation.rst:301 msgid "" "This marker indicates a Python line is about to be executed. It is the " "equivalent of line-by-line tracing with a Python profiler. It is not " "triggered within C functions." msgstr "" +"Este marcador indica que uma linha Python está prestes a ser executada. É o " +"equivalente ao rastreamento linha por linha com um perfilador Python. Ele " +"não é acionado dentro de funções C." -#: ../../howto/instrumentation.rst:307 -msgid "The arguments are the same as for :c:func:`function__entry`." -msgstr "" +#: ../../howto/instrumentation.rst:305 +msgid "The arguments are the same as for :c:func:`!function__entry`." +msgstr "Os argumentos são os mesmos de :c:func:`!function__entry`." -#: ../../howto/instrumentation.rst:311 +#: ../../howto/instrumentation.rst:309 msgid "" "Fires when the Python interpreter starts a garbage collection cycle. " "``arg0`` is the generation to scan, like :func:`gc.collect()`." msgstr "" -#: ../../howto/instrumentation.rst:316 +#: ../../howto/instrumentation.rst:314 msgid "" "Fires when the Python interpreter finishes a garbage collection cycle. " "``arg0`` is the number of collected objects." msgstr "" +"Dispara quando o interpretador Python termina um ciclo de coleta de lixo. " +"``arg0`` é o número de objetos coletados." -#: ../../howto/instrumentation.rst:321 +#: ../../howto/instrumentation.rst:319 msgid "" "Fires before :mod:`importlib` attempts to find and load the module. ``arg0`` " "is the module name." msgstr "" +"Dispara antes de :mod:`importlib` tentar encontrar e carregar o módulo. " +"``arg0`` é o nome do módulo." -#: ../../howto/instrumentation.rst:328 +#: ../../howto/instrumentation.rst:326 msgid "" "Fires after :mod:`importlib`'s find_and_load function is called. ``arg0`` is " "the module name, ``arg1`` indicates if module was successfully loaded." msgstr "" +"Dispara após a função find_and_load do :mod:`importlib` ser chamada. " +"``arg0`` é o nome do módulo, ``arg1`` indica se o módulo foi carregado com " +"sucesso." -#: ../../howto/instrumentation.rst:337 +#: ../../howto/instrumentation.rst:335 msgid "" "Fires when :func:`sys.audit` or :c:func:`PySys_Audit` is called. ``arg0`` is " "the event name as C string, ``arg1`` is a :c:type:`PyObject` pointer to a " "tuple object." msgstr "" +"Dispara quando :func:`sys.audit` ou :c:func:`PySys_Audit` é chamada. " +"``arg0`` é o nome do evento como string C, ``arg1`` é um " +"ponteiro :c:type:`PyObject` para um objeto tupla." -#: ../../howto/instrumentation.rst:345 +#: ../../howto/instrumentation.rst:343 msgid "SystemTap Tapsets" -msgstr "" +msgstr "Tapsets de SystemTap" -#: ../../howto/instrumentation.rst:347 +#: ../../howto/instrumentation.rst:345 msgid "" "The higher-level way to use the SystemTap integration is to use a " "\"tapset\": SystemTap's equivalent of a library, which hides some of the " "lower-level details of the static markers." msgstr "" +"A maneira mais avançada de usar a integração do SystemTap é usar um " +"\"tapset\": o equivalente do SystemTap a uma biblioteca, que oculta alguns " +"dos detalhes de nível inferior dos marcadores estáticos." -#: ../../howto/instrumentation.rst:351 +#: ../../howto/instrumentation.rst:349 msgid "Here is a tapset file, based on a non-shared build of CPython:" msgstr "" +"Aqui está um arquivo tapset, baseado em uma construção não compartilhada do " +"CPython:" -#: ../../howto/instrumentation.rst:374 +#: ../../howto/instrumentation.rst:372 msgid "" "If this file is installed in SystemTap's tapset directory (e.g. ``/usr/share/" "systemtap/tapset``), then these additional probepoints become available:" msgstr "" +"Se este arquivo for instalado no diretório de tapsets do SystemTap (por " +"exemplo, ``/usr/share/systemtap/tapset``), estes pontos de sondagem " +"adicionais ficarão disponíveis:" -#: ../../howto/instrumentation.rst:380 +#: ../../howto/instrumentation.rst:378 msgid "" "This probe point indicates that execution of a Python function has begun. It " "is only triggered for pure-Python (bytecode) functions." msgstr "" +"Este ponto de sondagem indica que a execução de uma função Python começou. " +"Ele é acionado somente para funções Python puro (bytecode)." -#: ../../howto/instrumentation.rst:385 +#: ../../howto/instrumentation.rst:383 msgid "" "This probe point is the converse of ``python.function.return``, and " "indicates that execution of a Python function has ended (either via " "``return``, or via an exception). It is only triggered for pure-Python " "(bytecode) functions." msgstr "" +"Este ponto de sondagem é o inverso de ``python.function.return``, e indica " +"que a execução de uma função Python terminou (seja via ``return``, ou via " +"uma exceção). Ele é acionado somente para funções Python puro (bytecode)." -#: ../../howto/instrumentation.rst:392 +#: ../../howto/instrumentation.rst:390 msgid "Examples" msgstr "Exemplos" -#: ../../howto/instrumentation.rst:393 +#: ../../howto/instrumentation.rst:391 msgid "" "This SystemTap script uses the tapset above to more cleanly implement the " "example given above of tracing the Python function-call hierarchy, without " "needing to directly name the static markers:" msgstr "" +"Este script SystemTap usa o tapset acima para implementar de forma mais " +"limpa o exemplo dado acima de rastreamento da hierarquia de chamada de " +"função Python, sem precisar na diretamente" -#: ../../howto/instrumentation.rst:412 +#: ../../howto/instrumentation.rst:410 msgid "" "The following script uses the tapset above to provide a top-like view of all " "running CPython code, showing the top 20 most frequently entered bytecode " "frames, each second, across the whole system:" msgstr "" +"O script a seguir usa o tapset acima para fornecer uma visão geral de todo o " +"código CPython em execução, mostrando os 20 quadros de bytecode mais " +"frequentemente inseridos, a cada segundo, em todo o sistema:" diff --git a/howto/ipaddress.po b/howto/ipaddress.po index 870d12228..aa3f3b798 100644 --- a/howto/ipaddress.po +++ b/howto/ipaddress.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Cauê Baasch de Souza , 2021 -# Misael borges , 2021 -# Hemílio Lauro , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -44,7 +39,7 @@ msgstr "Peter Moody" msgid "Nick Coghlan" msgstr "Nick Coghlan" -#: ../../howto/ipaddress.rstNone +#: ../../howto/ipaddress.rst-1 msgid "Overview" msgstr "Visão Geral" @@ -56,11 +51,11 @@ msgid "" "an overview of how :mod:`ipaddress` represents IP network addressing " "concepts." msgstr "" -"Este documento tem como objetivo prover uma suave introdução ao módulo :mod:" -"`ipaddress`. Ele é direcionado primeiramente para usuários que ainda não são " -"familiarizados com a terminologia de rede IP, mas também pode ser útil para " -"engenheiros de rede que querem uma visão geral de como :mod:`ipaddress` " -"representa os conceitos de endereçamento de rede IP." +"Este documento tem como objetivo prover uma suave introdução ao " +"módulo :mod:`ipaddress`. Ele é direcionado primeiramente para usuários que " +"ainda não são familiarizados com a terminologia de rede IP, mas também pode " +"ser útil para engenheiros de rede que querem uma visão geral de " +"como :mod:`ipaddress` representa os conceitos de endereçamento de rede IP." #: ../../howto/ipaddress.rst:24 msgid "Creating Address/Network/Interface objects" @@ -72,10 +67,13 @@ msgid "" "addresses, the first thing you'll want to do is create some objects. You " "can use :mod:`ipaddress` to create objects from strings and integers." msgstr "" +"Como :mod:`ipaddress` é um módulo para inspecionar e manipular endereços IP, " +"a primeira coisa que você deseja fazer é criar alguns objetos. Você pode " +"usar :mod:`ipaddress` para criar objetos a partir de strings e inteiros." #: ../../howto/ipaddress.rst:32 msgid "A Note on IP Versions" -msgstr "" +msgstr "Uma observação sobre versões do IP" #: ../../howto/ipaddress.rst:34 msgid "" @@ -87,6 +85,13 @@ msgid "" "given the increasing number of devices with direct connections to the " "internet." msgstr "" +"Para leitores que não estão particularmente familiarizados com o " +"endereçamento IP, é importante saber que o Protocolo de Internet (IP) está " +"atualmente em processo de mudança da versão 4 do protocolo para a versão 6. " +"Esta transição está ocorrendo em grande parte porque a versão 4 do protocolo " +"não fornece endereços suficientes para atender às necessidades do mundo " +"inteiro, principalmente devido ao crescente número de dispositivos com " +"conexões diretas à Internet." #: ../../howto/ipaddress.rst:41 msgid "" @@ -95,10 +100,14 @@ msgid "" "least be aware that these two versions exist, and it will sometimes be " "necessary to force the use of one version or the other." msgstr "" +"Explicar os detalhes das diferenças entre as duas versões do protocolo está " +"além do escopo desta introdução, mas os leitores precisam pelo menos estar " +"cientes de que essas duas versões existem, e às vezes será necessário forçar " +"o uso de uma versão ou do outro." #: ../../howto/ipaddress.rst:48 msgid "IP Host Addresses" -msgstr "" +msgstr "Endereços IP de host" #: ../../howto/ipaddress.rst:50 msgid "" @@ -108,12 +117,19 @@ msgid "" "determines whether to create an IPv4 or IPv6 address based on the passed in " "value:" msgstr "" +"Os endereços, muitas vezes chamados de “endereços de host”, são a unidade " +"mais básica ao trabalhar com endereçamento IP. A maneira mais simples de " +"criar endereços é usar a função de fábrica :func:`ipaddress.ip_address`, que " +"determina automaticamente se deve ser criado um endereço IPv4 ou IPv6 com " +"base no valor passado:" #: ../../howto/ipaddress.rst:61 msgid "" "Addresses can also be created directly from integers. Values that will fit " "within 32 bits are assumed to be IPv4 addresses::" msgstr "" +"Os endereços também podem ser criados diretamente a partir de números " +"inteiros. Os valores que cabem em 32 bits são considerados endereços IPv4::" #: ../../howto/ipaddress.rst:69 msgid "" @@ -121,15 +137,18 @@ msgid "" "invoked directly. This is particularly useful to force creation of IPv6 " "addresses for small integers::" msgstr "" +"Para forçar o uso de endereços IPv4 ou IPv6, as classes relevantes podem ser " +"invocadas diretamente. Isto é particularmente útil para forçar a criação de " +"endereços IPv6 para números inteiros pequenos:" #: ../../howto/ipaddress.rst:82 msgid "Defining Networks" -msgstr "" +msgstr "Definindo redes" #: ../../howto/ipaddress.rst:84 msgid "" -"Host addresses are usually grouped together into IP networks, so :mod:" -"`ipaddress` provides a way to create, inspect and manipulate network " +"Host addresses are usually grouped together into IP networks, " +"so :mod:`ipaddress` provides a way to create, inspect and manipulate network " "definitions. IP network objects are constructed from strings that define the " "range of host addresses that are part of that network. The simplest form for " "that information is a \"network address/network prefix\" pair, where the " @@ -137,12 +156,22 @@ msgid "" "whether or not an address is part of the network and the network address " "defines the expected value of those bits." msgstr "" +"Endereços de host geralmente são agrupados em redes IP, " +"então :mod:`ipaddress` fornece uma maneira de criar, inspecionar e manipular " +"definições de rede. Os objetos de rede IP são construídos a partir de " +"strings que definem o intervalo de endereços de host que fazem parte dessa " +"rede. A forma mais simples para essa informação é um par de \"endereço de " +"rede/prefixo de rede\", onde o prefixo define o número de bits iniciais que " +"são comparados para determinar se um endereço faz ou não parte da rede e o " +"endereço de rede define o valor esperado daqueles bits." #: ../../howto/ipaddress.rst:93 msgid "" "As for addresses, a factory function is provided that determines the correct " "IP version automatically::" msgstr "" +"Quanto aos endereços, é fornecida uma função de fábrica que determina " +"automaticamente a versão correta do IP:" #: ../../howto/ipaddress.rst:101 msgid "" @@ -152,6 +181,11 @@ msgid "" "commonly used to describe network interfaces of a computer on a given " "network and are described further in the next section." msgstr "" +"Os objetos de rede não podem ter nenhum bit de host definido. O efeito " +"prático disso é que ``192.0.2.1/24`` não descreve uma rede. Tais definições " +"são chamadas de objetos interface, uma vez que a notação \"ip-em-uma-rede\" " +"é comumente usada para descrever interfaces de rede de um computador em uma " +"determinada rede e é descrita mais detalhadamente na próxima seção." #: ../../howto/ipaddress.rst:107 msgid "" @@ -160,6 +194,10 @@ msgid "" "bits instead be coerced to zero, the flag ``strict=False`` can be passed to " "the constructor::" msgstr "" +"Por padrão, tentar criar um objeto rede com bits de host definidos resultará " +"na exceção :exc:`ValueError` ser levantada. Para solicitar que os bits " +"adicionais sejam forçados a zero, o sinalizador ``strict=False`` pode ser " +"passada para o construtor::" #: ../../howto/ipaddress.rst:119 msgid "" @@ -168,16 +206,24 @@ msgid "" "network is considered to contain only the single address identified by the " "integer, so the network prefix includes the entire network address::" msgstr "" +"Embora o formato string ofereça significativamente mais flexibilidade, as " +"redes também podem ser definidas com números inteiros, assim como os " +"endereços de host. Neste caso, considera-se que a rede contém apenas o " +"endereço único identificado pelo número inteiro, portanto o prefixo da rede " +"inclui todo o endereço da rede::" #: ../../howto/ipaddress.rst:129 msgid "" "As with addresses, creation of a particular kind of network can be forced by " "calling the class constructor directly instead of using the factory function." msgstr "" +"Tal como acontece com os endereços, a criação de um tipo específico de rede " +"pode ser forçada chamando diretamente o construtor da classe em vez de usar " +"a função de fábrica." #: ../../howto/ipaddress.rst:135 msgid "Host Interfaces" -msgstr "" +msgstr "Interfaces do host" #: ../../howto/ipaddress.rst:137 msgid "" @@ -185,55 +231,73 @@ msgid "" "network, neither the address nor the network classes are sufficient. " "Notation like ``192.0.2.1/24`` is commonly used by network engineers and the " "people who write tools for firewalls and routers as shorthand for \"the host " -"``192.0.2.1`` on the network ``192.0.2.0/24``\", Accordingly, :mod:" -"`ipaddress` provides a set of hybrid classes that associate an address with " -"a particular network. The interface for creation is identical to that for " -"defining network objects, except that the address portion isn't constrained " -"to being a network address." -msgstr "" +"``192.0.2.1`` on the network ``192.0.2.0/24``\", " +"Accordingly, :mod:`ipaddress` provides a set of hybrid classes that " +"associate an address with a particular network. The interface for creation " +"is identical to that for defining network objects, except that the address " +"portion isn't constrained to being a network address." +msgstr "" +"Conforme mencionado acima, se você precisar descrever um endereço em uma " +"rede específica, nem o endereço nem as classes de rede serão suficientes. " +"Notação como ``192.0.2.1/24`` é comumente usada por engenheiros de rede e " +"pessoas que escrevem ferramentas para firewalls e roteadores como uma " +"abreviação para \"o host ``192.0.2.1`` na rede ``192.0.2.0/24``\", " +"Consequentemente, :mod:`ipaddress` fornece um conjunto de classes híbridas " +"que associam um endereço a uma rede específica. A interface para criação é " +"idêntica àquela para definição de objetos de rede, exceto que a parte do " +"endereço não está restrita a ser um endereço de rede." #: ../../howto/ipaddress.rst:152 msgid "" "Integer inputs are accepted (as with networks), and use of a particular IP " "version can be forced by calling the relevant constructor directly." msgstr "" +"Entradas de inteiros são aceitas (como acontece com redes), e o uso de uma " +"versão IP específica pode ser forçado chamando diretamente o construtor " +"relevante." #: ../../howto/ipaddress.rst:157 msgid "Inspecting Address/Network/Interface Objects" -msgstr "" +msgstr "Inspecionando objetos endereço/rede/interface" #: ../../howto/ipaddress.rst:159 msgid "" "You've gone to the trouble of creating an IPv(4|6)(Address|Network|" -"Interface) object, so you probably want to get information about it. :mod:" -"`ipaddress` tries to make doing this easy and intuitive." +"Interface) object, so you probably want to get information about " +"it. :mod:`ipaddress` tries to make doing this easy and intuitive." msgstr "" +"Você se deu ao trabalho de criar um objeto IPv(4|6)(Address|Network|" +"Interface) e provavelmente deseja obter informações sobre " +"ele. :mod:`ipaddress` tenta tornar isso fácil e intuitivo." #: ../../howto/ipaddress.rst:163 msgid "Extracting the IP version::" -msgstr "" +msgstr "Extraindo a versão do IP::" #: ../../howto/ipaddress.rst:172 msgid "Obtaining the network from an interface::" -msgstr "" +msgstr "Obtendo a rede de uma interface::" #: ../../howto/ipaddress.rst:181 msgid "Finding out how many individual addresses are in a network::" -msgstr "" +msgstr "Descobrindo quantos endereços individuais estão em uma rede::" #: ../../howto/ipaddress.rst:190 msgid "Iterating through the \"usable\" addresses on a network::" -msgstr "" +msgstr "Iterando através dos endereços \"utilizáveis\" em uma rede::" #: ../../howto/ipaddress.rst:205 msgid "" "Obtaining the netmask (i.e. set bits corresponding to the network prefix) or " "the hostmask (any bits that are not part of the netmask):" msgstr "" +"Obtendo a máscara de rede (ou seja, definir bits correspondentes ao prefixo " +"da rede) ou a máscara de host (qualquer bit que não faça parte da máscara de " +"rede):" #: ../../howto/ipaddress.rst:220 msgid "Exploding or compressing the address::" -msgstr "" +msgstr "Explodindo ou compactando o endereço::" #: ../../howto/ipaddress.rst:231 msgid "" @@ -242,26 +306,36 @@ msgid "" "easily ensure the most concise or most verbose form is used for IPv6 " "addresses while still correctly handling IPv4 addresses." msgstr "" +"Embora o IPv4 não tenha suporte a explosão ou compactação, os objetos " +"associados ainda fornecem as propriedades relevantes para que o código de " +"versão neutra possa facilmente garantir que o formato mais conciso ou mais " +"detalhado seja usado para endereços IPv6, ao mesmo tempo que manipula " +"corretamente os endereços IPv4." #: ../../howto/ipaddress.rst:238 msgid "Networks as lists of Addresses" -msgstr "" +msgstr "Redes como listas de Addresses" #: ../../howto/ipaddress.rst:240 msgid "" "It's sometimes useful to treat networks as lists. This means it is possible " "to index them like this::" msgstr "" +"Às vezes é útil tratar redes como listas. Isso significa que é possível " +"indexá-las assim::" #: ../../howto/ipaddress.rst:253 msgid "" "It also means that network objects lend themselves to using the list " "membership test syntax like this::" msgstr "" +"Isso também significa que os objetos de rede se prestam ao uso da sintaxe de " +"teste de pertinência de lista como esta:" #: ../../howto/ipaddress.rst:259 msgid "Containment testing is done efficiently based on the network prefix::" msgstr "" +"O teste de contenção é feito de forma eficiente com base no prefixo de rede::" #: ../../howto/ipaddress.rst:269 msgid "Comparisons" @@ -272,16 +346,20 @@ msgid "" ":mod:`ipaddress` provides some simple, hopefully intuitive ways to compare " "objects, where it makes sense::" msgstr "" +":mod:`ipaddress` fornece algumas maneiras simples e, esperançosamente, " +"intuitivas de comparar objetos, onde faz sentido::" #: ../../howto/ipaddress.rst:277 msgid "" "A :exc:`TypeError` exception is raised if you try to compare objects of " "different versions or different types." msgstr "" +"Uma exceção :exc:`TypeError` é levantada se você tentar comparar objetos de " +"versões ou tipos diferentes." #: ../../howto/ipaddress.rst:282 msgid "Using IP Addresses with other modules" -msgstr "" +msgstr "Usando endereços IP com outros módulos" #: ../../howto/ipaddress.rst:284 msgid "" @@ -289,10 +367,13 @@ msgid "" "accept objects from this module directly. Instead, they must be coerced to " "an integer or string that the other module will accept::" msgstr "" +"Outros módulos que usam endereços IP (como :mod:`socket`) geralmente não " +"aceitam objetos deste módulo diretamente. Em vez disso, eles devem ser " +"convertidos para um inteiro ou string que o outro módulo aceitará::" #: ../../howto/ipaddress.rst:296 msgid "Getting more detail when instance creation fails" -msgstr "" +msgstr "Obtendo mais detalhes quando a criação da instância falha" #: ../../howto/ipaddress.rst:298 msgid "" @@ -303,21 +384,34 @@ msgid "" "because it's necessary to know whether the value is *supposed* to be IPv4 or " "IPv6 in order to provide more detail on why it has been rejected." msgstr "" +"Ao criar objetos de endereço/rede/interface usando as funções de fábrica " +"agnósticas de versão, quaisquer erros serão relatados como :exc:`ValueError` " +"com uma mensagem de erro genérica que simplesmente diz que o valor passado " +"não foi reconhecido como um objeto daquele tipo. A falta de um erro " +"específico é porque é necessário saber se o valor *supõe* ser IPv4 ou IPv6 " +"para fornecer mais detalhes sobre o motivo de sua rejeição." #: ../../howto/ipaddress.rst:305 msgid "" "To support use cases where it is useful to have access to this additional " -"detail, the individual class constructors actually raise the :exc:" -"`ValueError` subclasses :exc:`ipaddress.AddressValueError` and :exc:" -"`ipaddress.NetmaskValueError` to indicate exactly which part of the " +"detail, the individual class constructors actually raise " +"the :exc:`ValueError` subclasses :exc:`ipaddress.AddressValueError` " +"and :exc:`ipaddress.NetmaskValueError` to indicate exactly which part of the " "definition failed to parse correctly." msgstr "" +"Para dar suporte a casos de uso em que é útil ter acesso a esse detalhe " +"adicional, os construtores de classe individuais na verdade geram as " +"subclasses :exc:`ValueError` :exc:`ipaddress.AddressValueError` " +"e :exc:`ipaddress.NetmaskValueError` para indicar exatamente qual parte da " +"definição falhou ao ser analisada corretamente." #: ../../howto/ipaddress.rst:311 msgid "" "The error messages are significantly more detailed when using the class " "constructors directly. For example::" msgstr "" +"As mensagens de erro são significativamente mais detalhadas ao usar os " +"construtores de classe diretamente. Por exemplo::" #: ../../howto/ipaddress.rst:332 msgid "" @@ -325,3 +419,6 @@ msgid "" "their parent class, so if you're not concerned with the particular type of " "error, you can still write code like the following::" msgstr "" +"Entretanto, ambas as exceções específicas do módulo têm :exc:`ValueError` " +"como classe pai, então se você não estiver preocupado com o tipo específico " +"de erro, você ainda pode escrever código como o seguinte::" diff --git a/howto/isolating-extensions.po b/howto/isolating-extensions.po index c971ff1c9..47daf6cfd 100644 --- a/howto/isolating-extensions.po +++ b/howto/isolating-extensions.po @@ -1,35 +1,33 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2022 -# Claudio Rogerio Carvalho Filho , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2022-11-05 19:48+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../howto/isolating-extensions.rst:5 msgid "Isolating Extension Modules" -msgstr "" +msgstr "Isolando módulos de extensão" -#: ../../howto/isolating-extensions.rstNone +#: ../../howto/isolating-extensions.rst-1 msgid "Abstract" msgstr "Resumo" @@ -39,6 +37,10 @@ msgid "" "``static`` variables, which have process-wide scope. This document describes " "problems of such per-process state and shows a safer way: per-module state." msgstr "" +"Tradicionalmente, o estado que pertence a módulos de extensão do Python era " +"mantido em variáveis ``static`` em C, que têm escopo em todo o processo. " +"Este documento descreve problemas de tal estado por processo e apresenta um " +"modo mais seguro: o estado por módulo." #: ../../howto/isolating-extensions.rst:14 msgid "" @@ -47,10 +49,14 @@ msgid "" "potentially switching from static types to heap types, and—perhaps most " "importantly—accessing per-module state from code." msgstr "" +"O documento também descreve como migrar para o uso do estado por módulo onde " +"for possível. Essa transição envolve alocar espaço para este estado, " +"potencialmente trocar tipos estáticos por tipos no heap, e—talvez o mais " +"importante—acessar o estado por módulo a partir do código." #: ../../howto/isolating-extensions.rst:21 msgid "Who should read this" -msgstr "" +msgstr "Quem deveria ler isto" #: ../../howto/isolating-extensions.rst:23 msgid "" @@ -58,10 +64,13 @@ msgid "" "extensions who would like to make that extension safer to use in " "applications where Python itself is used as a library." msgstr "" +"Este guia é escrito para mantenedores de extensões que usam a :ref:`API C ` que desejam torná-las mais seguras para o uso em aplicações onde " +"o Python em si é usado como uma biblioteca." #: ../../howto/isolating-extensions.rst:29 msgid "Background" -msgstr "" +msgstr "Contexto" #: ../../howto/isolating-extensions.rst:31 msgid "" @@ -69,24 +78,34 @@ msgid "" "configuration (e.g. the import path) and runtime state (e.g. the set of " "imported modules)." msgstr "" +"Um *interpretador* é o contexto no qual o código Python é executado. Ele " +"contém estado de configuração (por exemplo o caminho de importação) e de " +"tempo de execução (por exemplo o conjunto de módulos importados)." #: ../../howto/isolating-extensions.rst:35 msgid "" "Python supports running multiple interpreters in one process. There are two " "cases to think about—users may run interpreters:" msgstr "" +"O Python provê suporte para executar múltiplos interpretadores em um " +"processo. Dois casos devem ser considerados—usuários podem executar " +"interpretadores:" #: ../../howto/isolating-extensions.rst:38 msgid "" "in sequence, with several :c:func:`Py_InitializeEx`/:c:func:`Py_FinalizeEx` " "cycles, and" msgstr "" +"em sequência, com vários ciclos " +"de :c:func:`Py_InitializeEx`/:c:func:`Py_FinalizeEx`, e" #: ../../howto/isolating-extensions.rst:40 msgid "" -"in parallel, managing \"sub-interpreters\" using :c:func:" -"`Py_NewInterpreter`/:c:func:`Py_EndInterpreter`." +"in parallel, managing \"sub-interpreters\" " +"using :c:func:`Py_NewInterpreter`/:c:func:`Py_EndInterpreter`." msgstr "" +"em paralelo, gerenciando \"sub-interpretadores\" " +"usando :c:func:`Py_NewInterpreter`/:c:func:`Py_EndInterpreter`." #: ../../howto/isolating-extensions.rst:43 msgid "" @@ -95,6 +114,10 @@ msgid "" "about the application that uses them, which include assuming a process-wide " "\"main Python interpreter\"." msgstr "" +"Ambos os casos (e combinações deles) são muito úteis ao embutir o Python em " +"uma biblioteca. Bibliotecas geralmente não devem fazer suposições sobre a " +"aplicação que as usa, o que inclui supor um \"interpretador Python " +"principal\" para o processo inteiro." #: ../../howto/isolating-extensions.rst:48 msgid "" @@ -106,6 +129,14 @@ msgid "" "introduce edge cases that lead to crashes when a module is loaded in more " "than one interpreter in the same process." msgstr "" +"Historicamente, módulos de extensão do Python não lidam bem com este caso de " +"uso. Muitos módulos de extensão (e até alguns módulos da biblioteca padrão) " +"usam estado global *por processo*, uma vez que variáveis ``static`` do C são " +"extremamente fáceis de se usar. Assim, dados que deveriam ser específicos " +"para um interpretador acabam sendo compartilhados entre interpretadores. A " +"menos que o desenvolvedor da extensão tenha cuidado, é muito fácil criar " +"casos particulares que acabam quebrando o processo quando um módulo é " +"carregado em mais de um interpretador no mesmo processo." #: ../../howto/isolating-extensions.rst:56 msgid "" @@ -113,10 +144,13 @@ msgid "" "authors tend to not keep multiple interpreters in mind when developing, and " "it is currently cumbersome to test the behavior." msgstr "" +"Infelizmente, não é fácil fazer o estado por interpretador. Autores de " +"extensões tendem a não ter múltiplos interpretadores em mente ao " +"desenvolver, e no momento é complicado testar este comportamento." #: ../../howto/isolating-extensions.rst:61 msgid "Enter Per-Module State" -msgstr "" +msgstr "Entra o estado por módulo" #: ../../howto/isolating-extensions.rst:63 msgid "" @@ -136,6 +170,11 @@ msgid "" "any other :c:expr:`PyObject *`; there are no \"on interpreter shutdown\" " "hooks to think—or forget—about." msgstr "" +"O estado por módulo fornece um modo fácil de pensar sobre tempos de vida e " +"posse de recursos: o módulo de extensão será inicializado quando um objeto " +"de módulo for criado, e limpado quando ele for liberado. Nesse sentido, um " +"módulo funciona como qualquer outro :c:expr:`PyObject *`; não há ganchos " +"\"de desligamento do interpretador\" a serem considerados—ou esquecidos." #: ../../howto/isolating-extensions.rst:76 msgid "" @@ -145,10 +184,16 @@ msgid "" "exceptional cases: if you need them, you should give them additional care " "and testing. (Note that this guide does not cover them.)" msgstr "" +"Note que há casos de uso para diferentes tipos de \"objetos globais\": " +"estado por processo, por interpretador, por thread, ou por tarefa. Com o " +"estado por módulo como padrão, as outras formas ainda são possíveis, mas " +"devem ser tratadas como casos excepcionais: se você precisar delas, você " +"deve tomar cuidados adicionais e escrever mais testes. (Note que este guia " +"não cobre tais medidas.)" #: ../../howto/isolating-extensions.rst:85 msgid "Isolated Module Objects" -msgstr "" +msgstr "Objetos de módulo isolados" #: ../../howto/isolating-extensions.rst:87 msgid "" @@ -156,6 +201,9 @@ msgid "" "several module objects can be created from a single shared library. For " "example:" msgstr "" +"O ponto chave de se manter em mente ao desenvolver um módulo de extensão é " +"que vários objetos de módulo podem ser criados a partir de uma única " +"biblioteca compartilhada. Por exemplo:" #: ../../howto/isolating-extensions.rst:101 msgid "" @@ -166,6 +214,13 @@ msgid "" "are possible (see `Managing Global State`_), but they will need more thought " "and attention to edge cases." msgstr "" +"Como regra geral, os dois módulos devem ser completamente independentes. " +"Todos os objetos e o estado específicos do módulo devem ser encapsulados no " +"objeto de módulo, não devem ser compartilhados com outros objetos de módulo, " +"e devem ser limpados quando o objeto de módulo for desalocado. Uma vez que " +"esta é somente uma regra geral, exceções são possíveis (veja `Gerenciando " +"estado global`_), mas elas necessitam mais cuidado e atenção a casos " +"especiais." #: ../../howto/isolating-extensions.rst:109 msgid "" @@ -173,10 +228,13 @@ msgid "" "modules make it easier to set clear expectations and guidelines that work " "across a variety of use cases." msgstr "" +"Enquanto alguns módulos funcionariam bem com restrições menos rigorosas, " +"isolar os módulos torna mais fácil definir expectativas claras e diretrizes " +"que dão certo em uma variedade de casos de uso." #: ../../howto/isolating-extensions.rst:115 msgid "Surprising Edge Cases" -msgstr "" +msgstr "Casos particulares surpreendentes" #: ../../howto/isolating-extensions.rst:117 msgid "" @@ -187,26 +245,37 @@ msgid "" "``binascii.Error`` are separate objects. In the following code, the " "exception is *not* caught:" msgstr "" +"Note que módulos isolados criam alguns casos particulares que podem acabar " +"surpreendendo. O mais notável é que, tipicamente, cada objeto de módulo não " +"vai compartilhar as suas classes e exceções com outros módulos similares. " +"Continuando o `exemplo acima `__, note " +"``old_binascii.Error`` e ``binascii.Error`` são objetos separados. No código " +"a seguir, a exceção *não* é capturada:" #: ../../howto/isolating-extensions.rst:137 msgid "" "This is expected. Notice that pure-Python modules behave the same way: it is " "a part of how Python works." msgstr "" +"Isso é esperado. Repare que módulos Python-puro se comportam do mesmo jeito: " +"isso é parte de como o Python funciona." #: ../../howto/isolating-extensions.rst:140 msgid "" "The goal is to make extension modules safe at the C level, not to make hacks " "behave intuitively. Mutating ``sys.modules`` \"manually\" counts as a hack." msgstr "" +"O objetivo é fazer módulos de extensão seguros no nível do C, e não fazer " +"gambiarras se comportarem de forma intuitiva. Modificar o ``sys.modules`` " +"\"manualmente\" conta como uma gambiarra." #: ../../howto/isolating-extensions.rst:146 msgid "Making Modules Safe with Multiple Interpreters" -msgstr "" +msgstr "Fazendo módulos seguros com múltiplos interpretadores" #: ../../howto/isolating-extensions.rst:150 msgid "Managing Global State" -msgstr "" +msgstr "Gerenciando estado global" #: ../../howto/isolating-extensions.rst:152 msgid "" @@ -214,15 +283,20 @@ msgid "" "module, but to the entire process (or something else \"more global\" than a " "module). For example:" msgstr "" +"Às vezes, o estado associado a um módulo Python não é específico àquele " +"módulo, mas ao processo inteiro (ou a alguma outra coisa \"mais global\" que " +"um módulo). Por exemplo:" #: ../../howto/isolating-extensions.rst:156 msgid "The ``readline`` module manages *the* terminal." -msgstr "" +msgstr "O módulo ``readline`` gerencia *o* terminal." #: ../../howto/isolating-extensions.rst:157 msgid "" "A module running on a circuit board wants to control *the* on-board LED." msgstr "" +"Um módulo executando em uma placa de circuito quer controlar *o* componente " +"LED." #: ../../howto/isolating-extensions.rst:160 msgid "" @@ -232,6 +306,11 @@ msgid "" "whether for Python or other languages). If that is not possible, consider " "explicit locking." msgstr "" +"Nestes casos, o módulo Python deve prover *acesso* ao estado global, ao " +"invés de *possuí-lo*. Se possível, escreva o módulo de forma que múltiplas " +"cópias dele possam acessar o estado independentemente (junto com outras " +"bibliotecas, sejam elas do Python ou de outras linguagens). Se isso não for " +"possível, considere usar travas explícitas." #: ../../howto/isolating-extensions.rst:166 msgid "" @@ -240,10 +319,14 @@ msgid "" "being loaded more than once per process—see `Opt-Out: Limiting to One Module " "Object per Process`_." msgstr "" +"Se for necessário usar estado global para o processo, o jeito mais simples " +"de evitar problemas com múltiplos interpretadores é prevenir explicitamente " +"que o módulo seja carregado mais de uma vez por processo—veja `Exclusão " +"voluntária: limitando a um objeto de módulo por processo`_." #: ../../howto/isolating-extensions.rst:173 msgid "Managing Per-Module State" -msgstr "" +msgstr "Gerenciando estado por módulo" #: ../../howto/isolating-extensions.rst:175 msgid "" @@ -251,6 +334,9 @@ msgid "" "initialization `. This signals that your module " "supports multiple interpreters correctly." msgstr "" +"Para usar estado por módulo, use :ref:`inicialização multifásica de módulos " +"de extensão `. Assim, você sinaliza que o seu " +"módulo suporta múltiplos interpretadores corretamente." #: ../../howto/isolating-extensions.rst:179 msgid "" @@ -262,6 +348,13 @@ msgid "" "``csv``'s :py:data:`~csv.field_size_limit`) which the C code needs to " "function." msgstr "" +"Defina ``PyModuleDef.m_size`` como um número positivo *N* para requerer *N* " +"bytes de armazenamento local para o módulo. Geralmente, *N* será o tamanho " +"de alguma ``struct`` específica para o módulo, a qual pode guardar todo o " +"estado a nível de C do módulo. Em particular, é nela que você deve colocar " +"ponteiros para classes (incluindo exceções, mas excluindo tipos estáticos) e " +"configurações (por exemplo, :py:data:`~csv.field_size_limit` no módulo " +"``csv``) que o código C precisa para funcionar." #: ../../howto/isolating-extensions.rst:188 msgid "" @@ -270,12 +363,19 @@ msgid "" "means error- and type-checking at the C level, which is easy to get wrong " "and hard to test sufficiently." msgstr "" +"Outra opção é guardar estado no ``__dict__`` do módulo, mas você deve evitar " +"quebrar quando usuários modificarem o ``__dict__`` a partir do código " +"Python. Isso geralmente significa verificar tipos e erros no nível do C, o " +"que é fácil de ser feito incorretamente e difícil de se testar " +"suficientemente." #: ../../howto/isolating-extensions.rst:193 msgid "" "However, if module state is not needed in C code, storing it in ``__dict__`` " "only is a good idea." msgstr "" +"Entretanto, se o estado do módulo não for necessário para o código C, guardá-" +"lo somente no ``__dict__`` é uma boa ideia." #: ../../howto/isolating-extensions.rst:196 msgid "" @@ -286,17 +386,28 @@ msgid "" "and make the code longer; this is the price for modules which can be " "unloaded cleanly." msgstr "" +"Se o estado do módulo inclui ponteiros para ``PyObject``, o objeto de módulo " +"deve conter referências a tais objetos e implementar os ganchos a nível de " +"módulo ``m_traverse``, ``m_clear`` e ``m_free``. Eles funcionam como os " +"``tp_traverse``, ``tp_clear`` e ``tp_free`` de uma classe. Adicioná-los " +"requer algum trabalho e torna o código mais longo; é o preço de módulos que " +"podem ser descarregados de forma limpa." #: ../../howto/isolating-extensions.rst:203 msgid "" "An example of a module with per-module state is currently available as " -"`xxlimited `__; example module initialization shown at the bottom of the file." +"`xxlimited `__; example module initialization shown at the bottom of the " +"file." msgstr "" +"Um exemplo de módulo com estado por módulo está disponível atualmente como " +"`xxlimited `__; há um exemplo de inicialização do módulo no final do " +"arquivo." #: ../../howto/isolating-extensions.rst:209 msgid "Opt-Out: Limiting to One Module Object per Process" -msgstr "" +msgstr "Exclusão voluntária: limitando a um objeto de módulo por processo" #: ../../howto/isolating-extensions.rst:211 msgid "" @@ -305,10 +416,14 @@ msgid "" "module, you can explicitly make your module loadable only once per process. " "For example::" msgstr "" +"Um ``PyModuleDef.m_size`` não-negativo sinaliza que um módulo admite " +"múltiplos interpretadores corretamente. Se este ainda não é o caso para o " +"seu módulo, you pode explicitamente torná-lo carregável somente uma vez por " +"processo. Por exemplo::" #: ../../howto/isolating-extensions.rst:232 msgid "Module State Access from Functions" -msgstr "" +msgstr "Acesso ao estado de módulo a partir de funções" #: ../../howto/isolating-extensions.rst:234 msgid "" @@ -316,6 +431,9 @@ msgid "" "Functions get the module object as their first argument; for extracting the " "state, you can use ``PyModule_GetState``::" msgstr "" +"É trivial acessar o estado a partir de funções a nível do módulo. Funções " +"recebem o objeto de módulo como o primeiro argumento; para extrair o estado, " +"você pode usar ``PyModule_GetState``::" #: ../../howto/isolating-extensions.rst:249 msgid "" @@ -323,10 +441,14 @@ msgid "" "there is no module state, i.e. ``PyModuleDef.m_size`` was zero. In your own " "module, you're in control of ``m_size``, so this is easy to prevent." msgstr "" +"``PyModule_GetState`` pode retornar ``NULL`` sem definir uma exceção se não " +"houver estado de módulo, ou seja se ``PyModuleDef.m_size`` for zero. No seu " +"próprio módulo, você controla o ``m_size``, de forma que isso é fácil de " +"prevenir." #: ../../howto/isolating-extensions.rst:256 msgid "Heap Types" -msgstr "" +msgstr "Tipos no heap" #: ../../howto/isolating-extensions.rst:258 msgid "" @@ -334,6 +456,9 @@ msgid "" "PyTypeObject`` structures defined directly in code and initialized using " "``PyType_Ready()``." msgstr "" +"Tradicionalmente, tipos definidos em C são *estáticos*; isto é, estruturas " +"``static PyTypeObject`` definidas diretamente em código e inicializadas " +"usando ``PyType_Ready()``." #: ../../howto/isolating-extensions.rst:262 msgid "" @@ -342,6 +467,11 @@ msgid "" "limit the possible issues, static types are immutable at the Python level: " "for example, you can't set ``str.myattribute = 123``." msgstr "" +"Tais tipos são necessariamente compartilhados pelo processo inteiro. " +"Compartilhá-los entre objetos de módulo requer atenção a qualquer estado que " +"eles possuam ou acessem. Para limitar potenciais problemas, tipos estáticos " +"são imutáveis a nível do Python: por exemplo, você não pode atribuir " +"``str.meuatributo = 123``." #: ../../howto/isolating-extensions.rst:268 msgid "" @@ -352,6 +482,13 @@ msgid "" "Python objects across interpreters implicitly depends on CPython's current, " "process-wide GIL." msgstr "" +"Não há problema em compartilhar objetos verdadeiramente imutáveis entre " +"interpretadores, desde que através deles não seja possível acessar outros " +"objetos mutáveis. De toda forma, no CPython, todo objeto Python tem um " +"detalhe de implementação mutável: o contador de referências. Mudanças no " +"refcount são protegidas pelo GIL. Logo, todo código que compartilha um " +"objeto Python entre interpretadores depende implicitamente do atual GIL do " +"CPython (que é global a nível de processo)." #: ../../howto/isolating-extensions.rst:275 msgid "" @@ -361,14 +498,20 @@ msgid "" "*heap type* for short. These correspond more closely to classes created by " "Python's ``class`` statement." msgstr "" +"Por ser imutável e global no processo, um tipo estático não pode acessar o " +"estado do \"seu\" módulo. Se um método de tal tipo precisar de acesso ao " +"estado do módulo, o tipo precisa ser convertido para um *tipo alocado no " +"heap*, ou, abreviando, *tipo no heap*. Tipos no heap correspondem mais " +"fielmente a classes criadas pela instrução ``class`` do Python." #: ../../howto/isolating-extensions.rst:282 msgid "For new modules, using heap types by default is a good rule of thumb." msgstr "" +"Para módulos novos, usar tipos no heap por padrão é uma boa regra geral." #: ../../howto/isolating-extensions.rst:286 msgid "Changing Static Types to Heap Types" -msgstr "" +msgstr "Mudando tipos estáticos para tipos no heap" #: ../../howto/isolating-extensions.rst:288 msgid "" @@ -379,36 +522,55 @@ msgid "" "unintentionally change a few details (e.g. pickleability or inherited " "slots). Always test the details that are important to you." msgstr "" +"Tipos estáticos podem ser convertidos para tipos no heap, mas note que a API " +"de tipos no heap não foi projetada para conversão \"sem perda\" de tipos " +"estáticos—isto é, para criar um tipo que funciona exatamente como um dado " +"tipo estático. Então, ao reescrever a definição de classe em uma nova API, é " +"provável que você altere alguns detalhes sem querer (por exemplo, se o tipo " +"é serializável em pickle ou não, ou slots herdados). Sempre teste os " +"detalhes que são importantes para você." #: ../../howto/isolating-extensions.rst:297 msgid "" "Watch out for the following two points in particular (but note that this is " "not a comprehensive list):" msgstr "" +"Fique atento em particular aos dois pontos a seguir (mas note the esta não é " +"uma lista completa):" #: ../../howto/isolating-extensions.rst:300 msgid "" -"Unlike static types, heap type objects are mutable by default. Use the :c:" -"data:`Py_TPFLAGS_IMMUTABLETYPE` flag to prevent mutability." +"Unlike static types, heap type objects are mutable by default. Use " +"the :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` flag to prevent mutability." msgstr "" +"Ao contrário de tipos estáticos, tipos no heap são mutáveis por padrão. Use " +"o sinalizador :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` para impedir a " +"mutabilidade." #: ../../howto/isolating-extensions.rst:302 msgid "" "Heap types inherit :c:member:`~PyTypeObject.tp_new` by default, so it may " "become possible to instantiate them from Python code. You can prevent this " -"with the :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag." +"with the :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag." msgstr "" +"Tipos no heap herdam :c:member:`~PyTypeObject.tp_new` por padrão, e portanto " +"eles podem passar a ser instanciáveis a partir de código Python. Você pode " +"impedir isso com o sinalizador :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION`." #: ../../howto/isolating-extensions.rst:308 msgid "Defining Heap Types" -msgstr "" +msgstr "Definindo tipos no heap" #: ../../howto/isolating-extensions.rst:310 msgid "" "Heap types can be created by filling a :c:struct:`PyType_Spec` structure, a " -"description or \"blueprint\" of a class, and calling :c:func:" -"`PyType_FromModuleAndSpec` to construct a new class object." +"description or \"blueprint\" of a class, and " +"calling :c:func:`PyType_FromModuleAndSpec` to construct a new class object." msgstr "" +"Tipos no heap podem ser criados preenchendo uma " +"estrutura :c:struct:`PyType_Spec`, uma descrição ou \"diagrama\" de uma " +"classe, e chamando :c:func:`PyType_FromModuleAndSpec` para construir um novo " +"objeto classe." #: ../../howto/isolating-extensions.rst:315 msgid "" @@ -416,16 +578,22 @@ msgid "" "but :c:func:`PyType_FromModuleAndSpec` associates the module with the class, " "allowing access to the module state from methods." msgstr "" +"Outras funções, como :c:func:`PyType_FromSpec`, também podem criar tipos no " +"heap, mas :c:func:`PyType_FromModuleAndSpec` associa a classe ao módulo, " +"permitindo acesso ao estado do módulo a partir dos métodos." #: ../../howto/isolating-extensions.rst:319 msgid "" "The class should generally be stored in *both* the module state (for safe " "access from C) and the module's ``__dict__`` (for access from Python code)." msgstr "" +"A classe deve em geral ser guardada *tanto* no estado do módulo (para acesso " +"seguro a partir do C) *quanto* no ``__dict__`` do módulo (para acesso a " +"partir de código Python)." #: ../../howto/isolating-extensions.rst:325 msgid "Garbage-Collection Protocol" -msgstr "" +msgstr "Protocolo de recolhimento de lixo" #: ../../howto/isolating-extensions.rst:327 msgid "" @@ -433,209 +601,430 @@ msgid "" "the type isn't destroyed before all its instances are, but may result in " "reference cycles that need to be broken by the garbage collector." msgstr "" +"Instâncias de tipos no heap contêm referências aos seus tipos. Isso garante " +"que o tipo não é destruído antes que todas as suas instâncias sejam, mas " +"pode resultar em ciclos de referência que precisam ser quebrados pelo " +"coletor de lixo." #: ../../howto/isolating-extensions.rst:332 msgid "" "To avoid memory leaks, instances of heap types must implement the garbage " "collection protocol. That is, heap types should:" msgstr "" +"Para evitar vazamentos de memória, instâncias de tipos no heap precisam " +"implementar o protocolo de recolhimento de lixo. Isto é, tipos no heap devem:" #: ../../howto/isolating-extensions.rst:336 -msgid "Have the :c:data:`Py_TPFLAGS_HAVE_GC` flag." -msgstr "" +msgid "Have the :c:macro:`Py_TPFLAGS_HAVE_GC` flag." +msgstr "Ter o sinalizador :c:macro:`Py_TPFLAGS_HAVE_GC`." #: ../../howto/isolating-extensions.rst:337 msgid "" "Define a traverse function using ``Py_tp_traverse``, which visits the type " -"(e.g. using :c:expr:`Py_VISIT(Py_TYPE(self))`)." +"(e.g. using ``Py_VISIT(Py_TYPE(self))``)." msgstr "" +"Definir uma função de travessia usando ``Py_tp_traverse``, que visita o tipo " +"(por exemplo, usando ``Py_VISIT(Py_TYPE(self))``)." #: ../../howto/isolating-extensions.rst:340 msgid "" -"Please refer to the :ref:`the documentation ` of :c:data:" -"`Py_TPFLAGS_HAVE_GC` and :c:member:`~PyTypeObject.tp_traverse` for " -"additional considerations." +"Please refer to the the documentation of :c:macro:`Py_TPFLAGS_HAVE_GC` " +"and :c:member:`~PyTypeObject.tp_traverse` for additional considerations." msgstr "" +"Por favor veja as documentações de :c:macro:`Py_TPFLAGS_HAVE_GC` e " +"de :c:member:`~PyTypeObject.tp_traverse` para considerações adicionais." #: ../../howto/isolating-extensions.rst:344 msgid "" -"If your traverse function delegates to the ``tp_traverse`` of its base class " -"(or another type), ensure that ``Py_TYPE(self)`` is visited only once. Note " -"that only heap type are expected to visit the type in ``tp_traverse``." +"The API for defining heap types grew organically, leaving it somewhat " +"awkward to use in its current state. The following sections will guide you " +"through common issues." msgstr "" +"A API para definir tipos no heap cresceu organicamente, o que resultou em um " +"status quo no qual usá-la pode ser um pouco confuso. As seções a seguir vão " +"lhe guiar pelos problemas mais comuns." -#: ../../howto/isolating-extensions.rst:348 -msgid "For example, if your traverse function includes::" -msgstr "" +#: ../../howto/isolating-extensions.rst:350 +msgid "``tp_traverse`` in Python 3.8 and lower" +msgstr "``tp_traverse`` no Python 3.8 e anteriores" #: ../../howto/isolating-extensions.rst:352 +msgid "" +"The requirement to visit the type from ``tp_traverse`` was added in Python " +"3.9. If you support Python 3.8 and lower, the traverse function must *not* " +"visit the type, so it must be more complicated::" +msgstr "" +"O requerimento de o ``tp_traverse`` visitar o tipo foi adicionado no Python " +"3.9. Se você suporta Python 3.8 e anteriores, a função de travessia *não* " +"deve visitar o tipo, de forma que ela precisa ser mais complicada::" + +#: ../../howto/isolating-extensions.rst:364 +msgid "" +"Unfortunately, :c:data:`Py_Version` was only added in Python 3.11. As a " +"replacement, use:" +msgstr "" +"Infelizmente, o símbolo :c:data:`Py_Version` foi adicionado somente no " +"Python 3.11. Para substituí-lo, use::" + +#: ../../howto/isolating-extensions.rst:367 +msgid ":c:macro:`PY_VERSION_HEX`, if not using the stable ABI, or" +msgstr ":c:macro:`PY_VERSION_HEX`, caso não esteja usando a ABI estável, ou" + +#: ../../howto/isolating-extensions.rst:368 +msgid "" +":py:data:`sys.version_info` (via :c:func:`PySys_GetObject` " +"and :c:func:`PyArg_ParseTuple`)." +msgstr "" +":py:data:`sys.version_info` (via :c:func:`PySys_GetObject` " +"e :c:func:`PyArg_ParseTuple`)." + +#: ../../howto/isolating-extensions.rst:373 +msgid "Delegating ``tp_traverse``" +msgstr "Delegando a função ``tp_traverse``" + +#: ../../howto/isolating-extensions.rst:375 +msgid "" +"If your traverse function delegates to " +"the :c:member:`~PyTypeObject.tp_traverse` of its base class (or another " +"type), ensure that ``Py_TYPE(self)`` is visited only once. Note that only " +"heap type are expected to visit the type in ``tp_traverse``." +msgstr "" +"Se a sua função de travessia delega para " +"a :c:member:`~PyTypeObject.tp_traverse` da sua classe base (ou de outro " +"tipo), certifique-se de que ``Py_TYPE(self)`` seja visitado apenas uma vez. " +"Observe que somente tipos no heap devem visitar o tipo em ``tp_traverse``." + +#: ../../howto/isolating-extensions.rst:380 +msgid "For example, if your traverse function includes::" +msgstr "Por exemplo, se a sua função de travessia incluir::" + +#: ../../howto/isolating-extensions.rst:384 msgid "...and ``base`` may be a static type, then it should also include::" msgstr "" +"...e ``base`` puder ser um tipo estático, então ela também precisa incluir::" -#: ../../howto/isolating-extensions.rst:360 +#: ../../howto/isolating-extensions.rst:394 msgid "" -"It is not necessary to handle the type's reference count in ``tp_new`` and " -"``tp_clear``." +"It is not necessary to handle the type's reference count " +"in :c:member:`~PyTypeObject.tp_new` and :c:member:`~PyTypeObject.tp_clear`." msgstr "" +"Não é necessário mexer na contagem de referências do tipo " +"em :c:member:`~PyTypeObject.tp_new` e :c:member:`~PyTypeObject.tp_clear`." -#: ../../howto/isolating-extensions.rst:365 -msgid "Module State Access from Classes" +#: ../../howto/isolating-extensions.rst:399 +msgid "Defining ``tp_dealloc``" +msgstr "Definindo ``tp_dealloc``" + +#: ../../howto/isolating-extensions.rst:401 +msgid "" +"If your type has a custom :c:member:`~PyTypeObject.tp_dealloc` function, it " +"needs to:" msgstr "" +"Se o seu tipo tem uma função :c:member:`~PyTypeObject.tp_dealloc` " +"customizada, ele precisa:" -#: ../../howto/isolating-extensions.rst:367 +#: ../../howto/isolating-extensions.rst:404 +msgid "" +"call :c:func:`PyObject_GC_UnTrack` before any fields are invalidated, and" +msgstr "" +"chamar :c:func:`PyObject_GC_UnTrack` antes que quaisquer campos sejam " +"invalidados, e" + +#: ../../howto/isolating-extensions.rst:405 +msgid "decrement the reference count of the type." +msgstr "decrementar o contador de referências do tipo." + +#: ../../howto/isolating-extensions.rst:407 +msgid "" +"To keep the type valid while ``tp_free`` is called, the type's refcount " +"needs to be decremented *after* the instance is deallocated. For example::" +msgstr "" +"Para que o tipo permaneça válido durante o ``tp_free``, o refcount do tipo " +"precisa ser decrementado *depois* de a instância ser liberada. Por exemplo::" + +#: ../../howto/isolating-extensions.rst:419 +msgid "" +"The default ``tp_dealloc`` function does this, so if your type does *not* " +"override ``tp_dealloc`` you don't need to add it." +msgstr "" +"A função ``tp_dealloc`` padrão faz isso, de forma que se o seu tipo *não* a " +"substitui você não precisa se preocupar." + +#: ../../howto/isolating-extensions.rst:425 +msgid "Not overriding ``tp_free``" +msgstr "Evitar substituir ``tp_free``" + +#: ../../howto/isolating-extensions.rst:427 +msgid "" +"The :c:member:`~PyTypeObject.tp_free` slot of a heap type must be set " +"to :c:func:`PyObject_GC_Del`. This is the default; do not override it." +msgstr "" +"O slot :c:member:`~PyTypeObject.tp_free` de um tipo no heap deve " +"ser :c:func:`PyObject_GC_Del`. Este é o padráo; não o substitua." + +#: ../../howto/isolating-extensions.rst:433 +msgid "Avoiding ``PyObject_New``" +msgstr "Evitar ``PyObject_New``" + +#: ../../howto/isolating-extensions.rst:435 +msgid "GC-tracked objects need to be allocated using GC-aware functions." +msgstr "" +"Objetos rastreados pelo GC precisam ser alocados usando funções que " +"reconheçam o GC." + +#: ../../howto/isolating-extensions.rst:437 +msgid "If you use use :c:func:`PyObject_New` or :c:func:`PyObject_NewVar`:" +msgstr "Se você usaria :c:func:`PyObject_New` ou :c:func:`PyObject_NewVar`:" + +#: ../../howto/isolating-extensions.rst:439 +msgid "" +"Get and call type's :c:member:`~PyTypeObject.tp_alloc` slot, if possible. " +"That is, replace ``TYPE *o = PyObject_New(TYPE, typeobj)`` with::" +msgstr "" +"Se possível, chame o slot :c:member:`~PyTypeObject.tp_alloc` do tipo. Isto " +"é, troque ``TYPE *o = PyObject_New(TYPE, typeobj)`` por::" + +#: ../../howto/isolating-extensions.rst:444 +msgid "" +"Replace ``o = PyObject_NewVar(TYPE, typeobj, size)`` with the same, but use " +"size instead of the 0." +msgstr "" +"No lugar de ``o = PyObject_NewVar(TYPE, typeobj, size)``, use também a forma " +"acima, mas com ``size`` ao invés do ``0``." + +#: ../../howto/isolating-extensions.rst:447 +msgid "" +"If the above is not possible (e.g. inside a custom ``tp_alloc``), " +"call :c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar`::" +msgstr "" +"Se isso não for possível (por exemplo, dentro de um ``tp_alloc`` " +"customizado), chame :c:func:`PyObject_GC_New` " +"or :c:func:`PyObject_GC_NewVar`::" + +#: ../../howto/isolating-extensions.rst:456 +msgid "Module State Access from Classes" +msgstr "Acessando o estado do módulo a partir de classes" + +#: ../../howto/isolating-extensions.rst:458 msgid "" "If you have a type object defined with :c:func:`PyType_FromModuleAndSpec`, " "you can call :c:func:`PyType_GetModule` to get the associated module, and " "then :c:func:`PyModule_GetState` to get the module's state." msgstr "" +"Dado um objeto de tipo definido com :c:func:`PyType_FromModuleAndSpec`, você " +"pode chamar :c:func:`PyType_GetModule` para acessar o módulo associado, e " +"então :c:func:`PyModule_GetState` para acessar o estado do módulo." -#: ../../howto/isolating-extensions.rst:371 +#: ../../howto/isolating-extensions.rst:462 msgid "" "To save a some tedious error-handling boilerplate code, you can combine " "these two steps with :c:func:`PyType_GetModuleState`, resulting in::" msgstr "" +"Para evitar o tedioso código de tratamento de erros de sempre, você pode " +"combinar essas duas etapas com o :c:func:`PyType_GetModuleState` assim::" -#: ../../howto/isolating-extensions.rst:381 +#: ../../howto/isolating-extensions.rst:472 msgid "Module State Access from Regular Methods" -msgstr "" +msgstr "Acesso ao estado do módulo a partir de métodos regulares" -#: ../../howto/isolating-extensions.rst:383 +#: ../../howto/isolating-extensions.rst:474 msgid "" "Accessing the module-level state from methods of a class is somewhat more " "complicated, but is possible thanks to API introduced in Python 3.9. To get " "the state, you need to first get the *defining class*, and then get the " "module state from it." msgstr "" +"Acessar o estado do módulo a partir de métodos de uma classe já é um pouco " +"mais complicado, mas passou a ser possível graças à API introduzida no " +"Python 3.9. Para conseguir o estado, é necessário primeiro acessar a *classe " +"definidora*, e então obter o estado do módulo a partir dela." -#: ../../howto/isolating-extensions.rst:388 +#: ../../howto/isolating-extensions.rst:479 msgid "" "The largest roadblock is getting *the class a method was defined in*, or " "that method's \"defining class\" for short. The defining class can have a " "reference to the module it is part of." msgstr "" +"O maior obstáculo é encontrar *a classe na qual um método foi definido*, ou, " +"abreviando, a *classe definidora* desse método. A classe definidora pode " +"guardar uma referência para o módulo do qual ela é parte." -#: ../../howto/isolating-extensions.rst:392 +#: ../../howto/isolating-extensions.rst:483 msgid "" -"Do not confuse the defining class with :c:expr:`Py_TYPE(self)`. If the " -"method is called on a *subclass* of your type, ``Py_TYPE(self)`` will refer " -"to that subclass, which may be defined in different module than yours." +"Do not confuse the defining class with ``Py_TYPE(self)``. If the method is " +"called on a *subclass* of your type, ``Py_TYPE(self)`` will refer to that " +"subclass, which may be defined in different module than yours." msgstr "" +"Não confunda a classe definidora com ``Py_TYPE(self)``. Se o método for " +"chamado em uma *subclasse* do seu tipo, ``Py_TYPE(self)`` será uma " +"referência àquela subclasse, a qual pode ter sido definida em um módulo " +"diferente do seu." -#: ../../howto/isolating-extensions.rst:397 +#: ../../howto/isolating-extensions.rst:488 msgid "" -"The following Python code can illustrate the concept. ``Base." -"get_defining_class`` returns ``Base`` even if ``type(self) == Sub``:" +"The following Python code can illustrate the concept. " +"``Base.get_defining_class`` returns ``Base`` even if ``type(self) == Sub``:" msgstr "" +"O código Python a seguir ilustra esse conceito. ``Base.get_defining_class`` " +"retorna ``Base`` mesmo quando ``type(self) == Sub``:" -#: ../../howto/isolating-extensions.rst:413 +#: ../../howto/isolating-extensions.rst:504 msgid "" -"For a method to get its \"defining class\", it must use the :data:" -"`METH_METHOD | METH_FASTCALL | METH_KEYWORDS` :c:type:`calling convention " -"` and the corresponding :c:type:`PyCMethod` signature::" +"For a method to get its \"defining class\", it must use " +"the :ref:`METH_METHOD | METH_FASTCALL | METH_KEYWORDS ` :c:type:`calling convention ` and " +"the corresponding :c:type:`PyCMethod` signature::" msgstr "" +"Para um método acessar a sua \"classe definidora\", ele precisa usar " +"a :c:type:`convenção de chamada ` :ref:`METH_METHOD | " +"METH_FASTCALL | METH_KEYWORDS ` e a " +"assinatura :c:type:`PyCMethod` correspondente:" -#: ../../howto/isolating-extensions.rst:425 +#: ../../howto/isolating-extensions.rst:516 msgid "" "Once you have the defining class, call :c:func:`PyType_GetModuleState` to " "get the state of its associated module." msgstr "" +"Uma vez que vc tem a classe definidora, " +"chame :c:func:`PyType_GetModuleState` para obter o estado do módulo " +"associado a ela." -#: ../../howto/isolating-extensions.rst:428 +#: ../../howto/isolating-extensions.rst:519 msgid "For example::" msgstr "Por exemplo::" -#: ../../howto/isolating-extensions.rst:456 +#: ../../howto/isolating-extensions.rst:547 msgid "Module State Access from Slot Methods, Getters and Setters" -msgstr "" +msgstr "Acesso ao estado do módulo a partir de métodos slot, getters e setters" -#: ../../howto/isolating-extensions.rst:460 +#: ../../howto/isolating-extensions.rst:551 msgid "This is new in Python 3.11." -msgstr "" +msgstr "Adicionado na versão 3.11" -#: ../../howto/isolating-extensions.rst:468 +#: ../../howto/isolating-extensions.rst:559 msgid "" -"Slot methods—the fast C equivalents for special methods, such as :c:member:" -"`~PyNumberMethods.nb_add` for :py:attr:`~object.__add__` or :c:member:" -"`~PyType.tp_new` for initialization—have a very simple API that doesn't " -"allow passing in the defining class, unlike with :c:type:`PyCMethod`. The " -"same goes for getters and setters defined with :c:type:`PyGetSetDef`." +"Slot methods—the fast C equivalents for special methods, such " +"as :c:member:`~PyNumberMethods.nb_add` for :py:attr:`~object.__add__` " +"or :c:member:`~PyTypeObject.tp_new` for initialization—have a very simple " +"API that doesn't allow passing in the defining class, unlike " +"with :c:type:`PyCMethod`. The same goes for getters and setters defined " +"with :c:type:`PyGetSetDef`." msgstr "" +"Métodos slot—os métodos rápidos em C equivalentes aos métodos especiais, " +"como :c:member:`~PyNumberMethods.nb_add` para :py:attr:`~object.__add__` " +"ou :c:member:`~PyTypeObject.tp_new` para inicialização—têm uma API muito " +"simples que não permite passar a classe definidora, ao contrário " +"do :c:type:`PyCMethod`. O mesmo vale para getters e setters definidos " +"com :c:type:`PyGetSetDef`." -#: ../../howto/isolating-extensions.rst:475 +#: ../../howto/isolating-extensions.rst:566 msgid "" -"To access the module state in these cases, use the :c:func:" -"`PyType_GetModuleByDef` function, and pass in the module definition. Once " -"you have the module, call :c:func:`PyModule_GetState` to get the state::" +"To access the module state in these cases, use " +"the :c:func:`PyType_GetModuleByDef` function, and pass in the module " +"definition. Once you have the module, call :c:func:`PyModule_GetState` to " +"get the state::" msgstr "" +"Para acessar o estado do módulo nesses casos, use a " +"função :c:func:`PyType_GetModuleByDef`, e passe a definição do módulo. Uma " +"vez encontrado o módulo, chame :c:func:`PyModule_GetState` para obter o " +"estado::" -#: ../../howto/isolating-extensions.rst:486 +#: ../../howto/isolating-extensions.rst:577 msgid "" -"``PyType_GetModuleByDef`` works by searching the :term:`method resolution " -"order` (i.e. all superclasses) for the first superclass that has a " -"corresponding module." +":c:func:`!PyType_GetModuleByDef` works by searching the :term:`method " +"resolution order` (i.e. all superclasses) for the first superclass that has " +"a corresponding module." msgstr "" +"Essa função :c:func:`!PyType_GetModuleByDef` funciona procurando " +"na :term:`ordem de resolução de métodos` (isto é, todas as superclasses) a " +"primeira superclasse que tem um módulo correspondente." -#: ../../howto/isolating-extensions.rst:492 +#: ../../howto/isolating-extensions.rst:583 msgid "" "In very exotic cases (inheritance chains spanning multiple modules created " -"from the same definition), ``PyType_GetModuleByDef`` might not return the " -"module of the true defining class. However, it will always return a module " -"with the same definition, ensuring a compatible C memory layout." +"from the same definition), :c:func:`!PyType_GetModuleByDef` might not return " +"the module of the true defining class. However, it will always return a " +"module with the same definition, ensuring a compatible C memory layout." msgstr "" +"Em casos muito exóticos (cadeias hereditárias espalhadas através de " +"múltiplos módulos criados a partir da mesma definição), a :c:func:`!" +"PyType_GetModuleByDef` pode não retornar o módulo da classe definidora " +"correta. De todo modo, essa função sempre vai retornar um módulo com a mesma " +"definição, garantindo um layout de memória C compatível." -#: ../../howto/isolating-extensions.rst:500 +#: ../../howto/isolating-extensions.rst:591 msgid "Lifetime of the Module State" -msgstr "" +msgstr "Tempo de vida do estado do módulo" -#: ../../howto/isolating-extensions.rst:502 +#: ../../howto/isolating-extensions.rst:593 msgid "" "When a module object is garbage-collected, its module state is freed. For " "each pointer to (a part of) the module state, you must hold a reference to " "the module object." msgstr "" +"Quando um objeto de módulo é coletado como lixo, o seu estado de módulo é " +"liberado. Para cada ponteiro para o estado do módulo (ou uma parte dele), é " +"necessário possuir uma referência ao objeto de módulo." -#: ../../howto/isolating-extensions.rst:506 +#: ../../howto/isolating-extensions.rst:597 msgid "" -"Usually this is not an issue, because types created with :c:func:" -"`PyType_FromModuleAndSpec`, and their instances, hold a reference to the " -"module. However, you must be careful in reference counting when you " -"reference module state from other places, such as callbacks for external " -"libraries." +"Usually this is not an issue, because types created " +"with :c:func:`PyType_FromModuleAndSpec`, and their instances, hold a " +"reference to the module. However, you must be careful in reference counting " +"when you reference module state from other places, such as callbacks for " +"external libraries." msgstr "" +"Isso não costuma ser um problema, dado que tipos criados " +"com :c:func:`PyType_FromModuleAndSpec`, bem como suas instâncias, guardam " +"referências ao módulo. Mesmo assim, é necessário tomar cuidado com a " +"contagem de referências ao referenciar o estado do módulo a partir de outros " +"lugares, como funções de retorno para bibliotecas externas." -#: ../../howto/isolating-extensions.rst:515 +#: ../../howto/isolating-extensions.rst:606 msgid "Open Issues" -msgstr "" +msgstr "Problemas em aberto" -#: ../../howto/isolating-extensions.rst:517 +#: ../../howto/isolating-extensions.rst:608 msgid "Several issues around per-module state and heap types are still open." msgstr "" +"Vários problemas relacionados aos estados por módulo e aos tipos no heap " +"ainda estão em aberto." -#: ../../howto/isolating-extensions.rst:519 +#: ../../howto/isolating-extensions.rst:610 msgid "" "Discussions about improving the situation are best held on the `capi-sig " "mailing list `__." msgstr "" +"O melhor lugar para discussões sobre como melhorar a situação é a `lista de " +"discussão do capi-sig `__." -#: ../../howto/isolating-extensions.rst:524 +#: ../../howto/isolating-extensions.rst:615 msgid "Per-Class Scope" -msgstr "" +msgstr "Escopo por classe" -#: ../../howto/isolating-extensions.rst:526 +#: ../../howto/isolating-extensions.rst:617 msgid "" "It is currently (as of Python 3.11) not possible to attach state to " "individual *types* without relying on CPython implementation details (which " "may change in the future—perhaps, ironically, to allow a proper solution for " "per-class scope)." msgstr "" +"Atualmente (desde o Python 3.11) não é possível anexar estado a *tipos* " +"individuais sem depender de detalhes de implementação do CPython (os quais " +"podem mudar no futuro—talvez, ironicamente, para possibilitar uma solução " +"adequada para o escopo por classe)." -#: ../../howto/isolating-extensions.rst:533 +#: ../../howto/isolating-extensions.rst:624 msgid "Lossless Conversion to Heap Types" -msgstr "" +msgstr "Conversão sem perdas para tipos no heap" -#: ../../howto/isolating-extensions.rst:535 +#: ../../howto/isolating-extensions.rst:626 msgid "" "The heap type API was not designed for \"lossless\" conversion from static " "types; that is, creating a type that works exactly like a given static type." msgstr "" +"A API de tipos no heap não foi projetada para conversão \"sem perdas\" de " +"tipos estáticos. isto é, para criar um tipo que funciona exatamente como um " +"dado tipo estático." diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 85bb93391..fcc195fec 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -1,35 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Katyanna Moura , 2021 -# Marco Rougeth , 2021 -# Hildeberto Abreu Magalhães , 2022 -# Claudio Rogerio Carvalho Filho , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../howto/logging-cookbook.rst:5 msgid "Logging Cookbook" -msgstr "Livro de Receitas do Logging" +msgstr "Livro de receitas do logging" #: ../../howto/logging-cookbook.rst:0 msgid "Author" @@ -45,6 +41,9 @@ msgid "" "found useful in the past. For links to tutorial and reference information, " "please see :ref:`cookbook-ref-links`." msgstr "" +"Esta página contém uma série de receitas relacionadas ao registro de " +"eventos, que foram considerados úteis no passado. Para obter links para " +"tutoriais e outras referências, veja :ref:`cookbook-ref-links`" #: ../../howto/logging-cookbook.rst:16 msgid "Using logging in multiple modules" @@ -61,38 +60,51 @@ msgid "" "logger calls to the child will pass up to the parent. Here is a main " "module::" msgstr "" +"Várias chamadas para ``logging.getLogger('someLogger')`` retorna a " +"referência para o mesmo objeto logger. Isso é verdadeiro não apenas dentro " +"do mesmo módulo, mas também entre módulo, desde que esteja no mesmo processo " +"do interpretador Python. Isso é verdadeiro para referências do mesmo objeto; " +"além disso, o código da aplicação pode definir e configurar um logger pai em " +"um módulo e criar (mas não configurar) um logger filho em um módulo " +"separado, e todas as chamadas de logger para o filho passarão para o pai. " +"Aqui está um módulo principal::" #: ../../howto/logging-cookbook.rst:56 msgid "Here is the auxiliary module::" -msgstr "" +msgstr "Aqui está o módulo auxiliar::" #: ../../howto/logging-cookbook.rst:76 msgid "The output looks like this:" -msgstr "" +msgstr "O resultado deve ser algo assim:" #: ../../howto/logging-cookbook.rst:102 msgid "Logging from multiple threads" -msgstr "" +msgstr "Registro de eventos de várias threads" #: ../../howto/logging-cookbook.rst:104 msgid "" "Logging from multiple threads requires no special effort. The following " "example shows logging from the main (initial) thread and another thread::" msgstr "" +"O registro de eventos de várias threads não requer nenhum esforço especial. " +"O exemplo a seguir mostra o registro de eventos da thread principal " +"(inicial) thread e de outra thread::" #: ../../howto/logging-cookbook.rst:133 msgid "When run, the script should print something like the following:" -msgstr "" +msgstr "Quando executado, o script deve exibir algo como o seguinte:" #: ../../howto/logging-cookbook.rst:155 msgid "" "This shows the logging output interspersed as one might expect. This " "approach works for more threads than shown here, of course." msgstr "" +"Isso mostra a saída de registro intercalada, como seria de se esperar. Essa " +"abordagem funciona para mais thread do que o mostrado aqui, é claro." #: ../../howto/logging-cookbook.rst:159 msgid "Multiple handlers and formatters" -msgstr "" +msgstr "Múltiplos manipuladores e formatadores" #: ../../howto/logging-cookbook.rst:161 msgid "" @@ -105,6 +117,15 @@ msgid "" "slight modification to the previous simple module-based configuration " "example::" msgstr "" +"Registradores (loggers) são objetos Python simples. O " +"método :meth:`~Logger.addHandler` não tem cota mínima ou máxima para o " +"número de manipuladores que podem ser adicionados. Às vezes, é vantajoso " +"para um aplicação registrar todas as mensagens de todas as gravidades em um " +"arquivo texto e, ao mesmo tempo, registrar erro ou superior no console. " +"Para definir isso, basta configurar os manipuladores apropriados. As " +"chamadas de registro no código da aplicação permanecerão inalteradas. Aqui " +"está uma pequena modificação no exemplo anterior de configuração simples " +"baseada em módulo::" #: ../../howto/logging-cookbook.rst:194 msgid "" @@ -112,6 +133,9 @@ msgid "" "All that changed was the addition and configuration of a new handler named " "*fh*." msgstr "" +"Observe que o código da 'aplicação' não se preocupa com vários " +"manipuladores. Tudo o que mudou foi a adição e a configuração de um novo " +"manipulador nomeado *fh*." #: ../../howto/logging-cookbook.rst:197 msgid "" @@ -124,6 +148,15 @@ msgid "" "to happen is to modify the severity level of the logger and/or handler to " "debug." msgstr "" +"A capacidade de criar novos manipuladores com filtros de severidade " +"superiores ou inferiores pode ser muito útil ao escrever e testar um " +"aplicação. Em vez de usar muitas instruções instrução para depuração, use " +"``logger.debug``: diferentemente da instrução print, que você terá de " +"excluir ou comentar posteriormente, a instrução logger.debug pode " +"permanecer intacta no código-fonte e ficar inativo até que você precise dela " +"novamente. Nesse momento, a única alteração que precisa ser feita é " +"modificar o nível de severidade do registrador e/ou manipulador para " +"depuração." #: ../../howto/logging-cookbook.rst:208 msgid "Logging to multiple destinations" @@ -220,9 +253,9 @@ msgid "" "a function which only returns ``True`` if the level of the passed in record " "is at or below the specified level. Note that in this example I have defined " "the ``filter_maker`` in a test script ``main.py`` that I run from the " -"command line, so its module will be ``__main__`` - hence the ``__main__." -"filter_maker`` in the filter configuration. You will need to change that if " -"you define it in a different module." +"command line, so its module will be ``__main__`` - hence the " +"``__main__.filter_maker`` in the filter configuration. You will need to " +"change that if you define it in a different module." msgstr "" #: ../../howto/logging-cookbook.rst:387 @@ -265,13 +298,13 @@ msgstr "" #: ../../howto/logging-cookbook.rst:555 msgid "" -"A common culprit which demonstrates sluggish behaviour is the :class:" -"`SMTPHandler`: sending emails can take a long time, for a number of reasons " -"outside the developer's control (for example, a poorly performing mail or " -"network infrastructure). But almost any network-based handler can block: " -"Even a :class:`SocketHandler` operation may do a DNS query under the hood " -"which is too slow (and this query can be deep in the socket library code, " -"below the Python layer, and outside your control)." +"A common culprit which demonstrates sluggish behaviour is " +"the :class:`SMTPHandler`: sending emails can take a long time, for a number " +"of reasons outside the developer's control (for example, a poorly performing " +"mail or network infrastructure). But almost any network-based handler can " +"block: Even a :class:`SocketHandler` operation may do a DNS query under the " +"hood which is too slow (and this query can be deep in the socket library " +"code, below the Python layer, and outside your control)." msgstr "" #: ../../howto/logging-cookbook.rst:563 @@ -291,12 +324,12 @@ msgstr "" #: ../../howto/logging-cookbook.rst:574 msgid "" "The second part of the solution is :class:`QueueListener`, which has been " -"designed as the counterpart to :class:`QueueHandler`. A :class:" -"`QueueListener` is very simple: it's passed a queue and some handlers, and " -"it fires up an internal thread which listens to its queue for LogRecords " -"sent from ``QueueHandlers`` (or any other source of ``LogRecords``, for that " -"matter). The ``LogRecords`` are removed from the queue and passed to the " -"handlers for processing." +"designed as the counterpart to :class:`QueueHandler`. " +"A :class:`QueueListener` is very simple: it's passed a queue and some " +"handlers, and it fires up an internal thread which listens to its queue for " +"LogRecords sent from ``QueueHandlers`` (or any other source of " +"``LogRecords``, for that matter). The ``LogRecords`` are removed from the " +"queue and passed to the handlers for processing." msgstr "" #: ../../howto/logging-cookbook.rst:582 @@ -321,10 +354,10 @@ msgid "" "Although the earlier discussion wasn't specifically talking about async " "code, but rather about slow logging handlers, it should be noted that when " "logging from async code, network and even file handlers could lead to " -"problems (blocking the event loop) because some logging is done from :mod:" -"`asyncio` internals. It might be best, if any async code is used in an " -"application, to use the above approach for logging, so that any blocking " -"code runs only in the ``QueueListener`` thread." +"problems (blocking the event loop) because some logging is done " +"from :mod:`asyncio` internals. It might be best, if any async code is used " +"in an application, to use the above approach for logging, so that any " +"blocking code runs only in the ``QueueListener`` thread." msgstr "" #: ../../howto/logging-cookbook.rst:619 @@ -346,14 +379,14 @@ msgstr "" #: ../../howto/logging-cookbook.rst:634 msgid "" "Let's say you want to send logging events across a network, and handle them " -"at the receiving end. A simple way of doing this is attaching a :class:" -"`SocketHandler` instance to the root logger at the sending end::" +"at the receiving end. A simple way of doing this is attaching " +"a :class:`SocketHandler` instance to the root logger at the sending end::" msgstr "" #: ../../howto/logging-cookbook.rst:662 msgid "" -"At the receiving end, you can set up a receiver using the :mod:" -"`socketserver` module. Here is a basic working example::" +"At the receiving end, you can set up a receiver using " +"the :mod:`socketserver` module. Here is a basic working example::" msgstr "" #: ../../howto/logging-cookbook.rst:750 @@ -366,9 +399,9 @@ msgstr "" msgid "" "Note that there are some security issues with pickle in some scenarios. If " "these affect you, you can use an alternative serialization scheme by " -"overriding the :meth:`~handlers.SocketHandler.makePickle` method and " -"implementing your alternative there, as well as adapting the above script to " -"use your alternative serialization." +"overriding the :meth:`~SocketHandler.makePickle` method and implementing " +"your alternative there, as well as adapting the above script to use your " +"alternative serialization." msgstr "" #: ../../howto/logging-cookbook.rst:770 @@ -470,8 +503,8 @@ msgstr "" #: ../../howto/logging-cookbook.rst:811 msgid "" -"Download `the Gist `__ as a ZIP archive using the :" -"guilabel:`Download ZIP` button." +"Download `the Gist `__ as a ZIP archive using " +"the :guilabel:`Download ZIP` button." msgstr "" #: ../../howto/logging-cookbook.rst:814 @@ -518,11 +551,11 @@ msgid "" "configured ports clash with something else in your test environment." msgstr "" -#: ../../howto/logging-cookbook.rst:841 +#: ../../howto/logging-cookbook.rst:843 msgid "Adding contextual information to your logging output" msgstr "" -#: ../../howto/logging-cookbook.rst:843 +#: ../../howto/logging-cookbook.rst:845 msgid "" "Sometimes you want logging output to contain contextual information in " "addition to the parameters passed to the logging call. For example, in a " @@ -534,37 +567,37 @@ msgid "" "is not a good idea because these instances are not garbage collected. While " "this is not a problem in practice, when the number of :class:`Logger` " "instances is dependent on the level of granularity you want to use in " -"logging an application, it could be hard to manage if the number of :class:" -"`Logger` instances becomes effectively unbounded." +"logging an application, it could be hard to manage if the number " +"of :class:`Logger` instances becomes effectively unbounded." msgstr "" -#: ../../howto/logging-cookbook.rst:858 +#: ../../howto/logging-cookbook.rst:860 msgid "Using LoggerAdapters to impart contextual information" msgstr "" -#: ../../howto/logging-cookbook.rst:860 +#: ../../howto/logging-cookbook.rst:862 msgid "" "An easy way in which you can pass contextual information to be output along " "with logging event information is to use the :class:`LoggerAdapter` class. " -"This class is designed to look like a :class:`Logger`, so that you can call :" -"meth:`debug`, :meth:`info`, :meth:`warning`, :meth:`error`, :meth:" -"`exception`, :meth:`critical` and :meth:`log`. These methods have the same " -"signatures as their counterparts in :class:`Logger`, so you can use the two " -"types of instances interchangeably." +"This class is designed to look like a :class:`Logger`, so that you can " +"call :meth:`debug`, :meth:`info`, :meth:`warning`, :meth:`error`, :meth:`exception`, :meth:`critical` " +"and :meth:`log`. These methods have the same signatures as their " +"counterparts in :class:`Logger`, so you can use the two types of instances " +"interchangeably." msgstr "" -#: ../../howto/logging-cookbook.rst:868 +#: ../../howto/logging-cookbook.rst:870 msgid "" -"When you create an instance of :class:`LoggerAdapter`, you pass it a :class:" -"`Logger` instance and a dict-like object which contains your contextual " -"information. When you call one of the logging methods on an instance of :" -"class:`LoggerAdapter`, it delegates the call to the underlying instance of :" -"class:`Logger` passed to its constructor, and arranges to pass the " -"contextual information in the delegated call. Here's a snippet from the code " -"of :class:`LoggerAdapter`::" +"When you create an instance of :class:`LoggerAdapter`, you pass it " +"a :class:`Logger` instance and a dict-like object which contains your " +"contextual information. When you call one of the logging methods on an " +"instance of :class:`LoggerAdapter`, it delegates the call to the underlying " +"instance of :class:`Logger` passed to its constructor, and arranges to pass " +"the contextual information in the delegated call. Here's a snippet from the " +"code of :class:`LoggerAdapter`::" msgstr "" -#: ../../howto/logging-cookbook.rst:884 +#: ../../howto/logging-cookbook.rst:886 msgid "" "The :meth:`~LoggerAdapter.process` method of :class:`LoggerAdapter` is where " "the contextual information is added to the logging output. It's passed the " @@ -577,32 +610,33 @@ msgid "" "be silently overwritten." msgstr "" -#: ../../howto/logging-cookbook.rst:893 +#: ../../howto/logging-cookbook.rst:895 msgid "" "The advantage of using 'extra' is that the values in the dict-like object " "are merged into the :class:`LogRecord` instance's __dict__, allowing you to " "use customized strings with your :class:`Formatter` instances which know " "about the keys of the dict-like object. If you need a different method, e.g. " "if you want to prepend or append the contextual information to the message " -"string, you just need to subclass :class:`LoggerAdapter` and override :meth:" -"`~LoggerAdapter.process` to do what you need. Here is a simple example::" +"string, you just need to subclass :class:`LoggerAdapter` and " +"override :meth:`~LoggerAdapter.process` to do what you need. Here is a " +"simple example::" msgstr "" -#: ../../howto/logging-cookbook.rst:909 +#: ../../howto/logging-cookbook.rst:911 msgid "which you can use like this::" msgstr "" -#: ../../howto/logging-cookbook.rst:914 +#: ../../howto/logging-cookbook.rst:916 msgid "" "Then any events that you log to the adapter will have the value of " "``some_conn_id`` prepended to the log messages." msgstr "" -#: ../../howto/logging-cookbook.rst:918 +#: ../../howto/logging-cookbook.rst:920 msgid "Using objects other than dicts to pass contextual information" msgstr "" -#: ../../howto/logging-cookbook.rst:920 +#: ../../howto/logging-cookbook.rst:922 msgid "" "You don't need to pass an actual dict to a :class:`LoggerAdapter` - you " "could pass an instance of a class which implements ``__getitem__`` and " @@ -611,40 +645,40 @@ msgid "" "would be constant)." msgstr "" -#: ../../howto/logging-cookbook.rst:929 +#: ../../howto/logging-cookbook.rst:931 msgid "Using Filters to impart contextual information" msgstr "" -#: ../../howto/logging-cookbook.rst:931 +#: ../../howto/logging-cookbook.rst:933 msgid "" -"You can also add contextual information to log output using a user-defined :" -"class:`Filter`. ``Filter`` instances are allowed to modify the " +"You can also add contextual information to log output using a user-" +"defined :class:`Filter`. ``Filter`` instances are allowed to modify the " "``LogRecords`` passed to them, including adding additional attributes which " -"can then be output using a suitable format string, or if needed a custom :" -"class:`Formatter`." +"can then be output using a suitable format string, or if needed a " +"custom :class:`Formatter`." msgstr "" -#: ../../howto/logging-cookbook.rst:936 +#: ../../howto/logging-cookbook.rst:938 msgid "" "For example in a web application, the request being processed (or at least, " -"the interesting parts of it) can be stored in a threadlocal (:class:" -"`threading.local`) variable, and then accessed from a ``Filter`` to add, " -"say, information from the request - say, the remote IP address and remote " -"user's username - to the ``LogRecord``, using the attribute names 'ip' and " -"'user' as in the ``LoggerAdapter`` example above. In that case, the same " -"format string can be used to get similar output to that shown above. Here's " -"an example script::" +"the interesting parts of it) can be stored in a threadlocal " +"(:class:`threading.local`) variable, and then accessed from a ``Filter`` to " +"add, say, information from the request - say, the remote IP address and " +"remote user's username - to the ``LogRecord``, using the attribute names " +"'ip' and 'user' as in the ``LoggerAdapter`` example above. In that case, the " +"same format string can be used to get similar output to that shown above. " +"Here's an example script::" msgstr "" -#: ../../howto/logging-cookbook.rst:982 +#: ../../howto/logging-cookbook.rst:984 msgid "which, when run, produces something like:" msgstr "" -#: ../../howto/logging-cookbook.rst:1000 +#: ../../howto/logging-cookbook.rst:1002 msgid "Use of ``contextvars``" msgstr "" -#: ../../howto/logging-cookbook.rst:1002 +#: ../../howto/logging-cookbook.rst:1004 msgid "" "Since Python 3.7, the :mod:`contextvars` module has provided context-local " "storage which works for both :mod:`threading` and :mod:`asyncio` processing " @@ -654,7 +688,7 @@ msgid "" "attributes handled by web applications." msgstr "" -#: ../../howto/logging-cookbook.rst:1008 +#: ../../howto/logging-cookbook.rst:1010 msgid "" "For the purposes of illustration, say that you have different web " "applications, each independent of the other but running in the same Python " @@ -665,18 +699,18 @@ msgid "" "information such as client IP, HTTP request method and client username?" msgstr "" -#: ../../howto/logging-cookbook.rst:1015 +#: ../../howto/logging-cookbook.rst:1017 msgid "Let's assume that the library can be simulated by the following code:" msgstr "" -#: ../../howto/logging-cookbook.rst:1031 +#: ../../howto/logging-cookbook.rst:1033 msgid "" "We can simulate the multiple web applications by means of two simple " "classes, ``Request`` and ``WebApp``. These simulate how real threaded web " "applications work - each request is handled by a thread:" msgstr "" -#: ../../howto/logging-cookbook.rst:1175 +#: ../../howto/logging-cookbook.rst:1177 msgid "" "If you run the above, you should find that roughly half the requests go " "into :file:`app1.log` and the rest into :file:`app2.log`, and the all the " @@ -687,11 +721,11 @@ msgid "" "illustrated by the following shell output:" msgstr "" -#: ../../howto/logging-cookbook.rst:1222 +#: ../../howto/logging-cookbook.rst:1224 msgid "Imparting contextual information in handlers" msgstr "" -#: ../../howto/logging-cookbook.rst:1224 +#: ../../howto/logging-cookbook.rst:1226 msgid "" "Each :class:`~Handler` has its own chain of filters. If you want to add " "contextual information to a :class:`LogRecord` without leaking it to other " @@ -699,11 +733,11 @@ msgid "" "instead of modifying it in-place, as shown in the following script::" msgstr "" -#: ../../howto/logging-cookbook.rst:1251 +#: ../../howto/logging-cookbook.rst:1253 msgid "Logging to a single file from multiple processes" msgstr "" -#: ../../howto/logging-cookbook.rst:1253 +#: ../../howto/logging-cookbook.rst:1255 msgid "" "Although logging is thread-safe, and logging to a single file from multiple " "threads in a single process *is* supported, logging to a single file from " @@ -713,24 +747,25 @@ msgid "" "this is to have all the processes log to a :class:`~handlers.SocketHandler`, " "and have a separate process which implements a socket server which reads " "from the socket and logs to file. (If you prefer, you can dedicate one " -"thread in one of the existing processes to perform this function.) :ref:" -"`This section ` documents this approach in more detail and " -"includes a working socket receiver which can be used as a starting point for " -"you to adapt in your own applications." +"thread in one of the existing processes to perform this " +"function.) :ref:`This section ` documents this approach in " +"more detail and includes a working socket receiver which can be used as a " +"starting point for you to adapt in your own applications." msgstr "" -#: ../../howto/logging-cookbook.rst:1266 +#: ../../howto/logging-cookbook.rst:1268 msgid "" -"You could also write your own handler which uses the :class:" -"`~multiprocessing.Lock` class from the :mod:`multiprocessing` module to " -"serialize access to the file from your processes. The existing :class:" -"`FileHandler` and subclasses do not make use of :mod:`multiprocessing` at " -"present, though they may do so in the future. Note that at present, the :mod:" -"`multiprocessing` module does not provide working lock functionality on all " -"platforms (see https://bugs.python.org/issue3770)." +"You could also write your own handler which uses " +"the :class:`~multiprocessing.Lock` class from the :mod:`multiprocessing` " +"module to serialize access to the file from your processes. The " +"existing :class:`FileHandler` and subclasses do not make use " +"of :mod:`multiprocessing` at present, though they may do so in the future. " +"Note that at present, the :mod:`multiprocessing` module does not provide " +"working lock functionality on all platforms (see https://bugs.python.org/" +"issue3770)." msgstr "" -#: ../../howto/logging-cookbook.rst:1276 +#: ../../howto/logging-cookbook.rst:1278 msgid "" "Alternatively, you can use a ``Queue`` and a :class:`QueueHandler` to send " "all logging events to one of the processes in your multi-process " @@ -745,13 +780,13 @@ msgid "" "requirements::" msgstr "" -#: ../../howto/logging-cookbook.rst:1392 +#: ../../howto/logging-cookbook.rst:1394 msgid "" "A variant of the above script keeps the logging in the main process, in a " "separate thread::" msgstr "" -#: ../../howto/logging-cookbook.rst:1487 +#: ../../howto/logging-cookbook.rst:1489 msgid "" "This variant shows how you can e.g. apply configuration for particular " "loggers - e.g. the ``foo`` logger has a special handler which stores all " @@ -761,34 +796,34 @@ msgid "" "appropriate destinations." msgstr "" -#: ../../howto/logging-cookbook.rst:1494 +#: ../../howto/logging-cookbook.rst:1496 msgid "Using concurrent.futures.ProcessPoolExecutor" msgstr "" -#: ../../howto/logging-cookbook.rst:1496 +#: ../../howto/logging-cookbook.rst:1498 msgid "" "If you want to use :class:`concurrent.futures.ProcessPoolExecutor` to start " "your worker processes, you need to create the queue slightly differently. " "Instead of" msgstr "" -#: ../../howto/logging-cookbook.rst:1504 +#: ../../howto/logging-cookbook.rst:1506 msgid "you should use" msgstr "" -#: ../../howto/logging-cookbook.rst:1510 +#: ../../howto/logging-cookbook.rst:1512 msgid "and you can then replace the worker creation from this::" msgstr "" -#: ../../howto/logging-cookbook.rst:1521 +#: ../../howto/logging-cookbook.rst:1523 msgid "to this (remembering to first import :mod:`concurrent.futures`)::" msgstr "" -#: ../../howto/logging-cookbook.rst:1528 +#: ../../howto/logging-cookbook.rst:1530 msgid "Deploying Web applications using Gunicorn and uWSGI" msgstr "" -#: ../../howto/logging-cookbook.rst:1530 +#: ../../howto/logging-cookbook.rst:1532 msgid "" "When deploying Web applications using `Gunicorn `_ or " "`uWSGI `_ (or similar), " @@ -800,27 +835,26 @@ msgid "" "listener in production`_ for more details." msgstr "" -#: ../../howto/logging-cookbook.rst:1540 +#: ../../howto/logging-cookbook.rst:1542 msgid "Using file rotation" msgstr "" -#: ../../howto/logging-cookbook.rst:1545 +#: ../../howto/logging-cookbook.rst:1547 msgid "" "Sometimes you want to let a log file grow to a certain size, then open a new " "file and log to that. You may want to keep a certain number of these files, " "and when that many files have been created, rotate the files so that the " "number of files and the size of the files both remain bounded. For this " -"usage pattern, the logging package provides a :class:`~handlers." -"RotatingFileHandler`::" +"usage pattern, the logging package provides a :class:`RotatingFileHandler`::" msgstr "" -#: ../../howto/logging-cookbook.rst:1577 +#: ../../howto/logging-cookbook.rst:1579 msgid "" "The result should be 6 separate files, each with part of the log history for " "the application:" msgstr "" -#: ../../howto/logging-cookbook.rst:1589 +#: ../../howto/logging-cookbook.rst:1591 msgid "" "The most current file is always :file:`logging_rotatingfile_example.out`, " "and each time it reaches the size limit it is renamed with the suffix " @@ -828,26 +862,26 @@ msgid "" "(``.1`` becomes ``.2``, etc.) and the ``.6`` file is erased." msgstr "" -#: ../../howto/logging-cookbook.rst:1594 +#: ../../howto/logging-cookbook.rst:1596 msgid "" "Obviously this example sets the log length much too small as an extreme " "example. You would want to set *maxBytes* to an appropriate value." msgstr "" -#: ../../howto/logging-cookbook.rst:1600 +#: ../../howto/logging-cookbook.rst:1604 msgid "Use of alternative formatting styles" msgstr "" -#: ../../howto/logging-cookbook.rst:1602 +#: ../../howto/logging-cookbook.rst:1606 msgid "" "When logging was added to the Python standard library, the only way of " "formatting messages with variable content was to use the %-formatting " -"method. Since then, Python has gained two new formatting approaches: :class:" -"`string.Template` (added in Python 2.4) and :meth:`str.format` (added in " -"Python 2.6)." +"method. Since then, Python has gained two new formatting " +"approaches: :class:`string.Template` (added in Python 2.4) " +"and :meth:`str.format` (added in Python 2.6)." msgstr "" -#: ../../howto/logging-cookbook.rst:1608 +#: ../../howto/logging-cookbook.rst:1612 msgid "" "Logging (as of 3.2) provides improved support for these two additional " "formatting styles. The :class:`Formatter` class been enhanced to take an " @@ -855,19 +889,19 @@ msgid "" "``'%'``, but other possible values are ``'{'`` and ``'$'``, which correspond " "to the other two formatting styles. Backwards compatibility is maintained by " "default (as you would expect), but by explicitly specifying a style " -"parameter, you get the ability to specify format strings which work with :" -"meth:`str.format` or :class:`string.Template`. Here's an example console " -"session to show the possibilities:" +"parameter, you get the ability to specify format strings which work " +"with :meth:`str.format` or :class:`string.Template`. Here's an example " +"console session to show the possibilities:" msgstr "" -#: ../../howto/logging-cookbook.rst:1642 +#: ../../howto/logging-cookbook.rst:1646 msgid "" "Note that the formatting of logging messages for final output to logs is " "completely independent of how an individual logging message is constructed. " "That can still use %-formatting, as shown here::" msgstr "" -#: ../../howto/logging-cookbook.rst:1650 +#: ../../howto/logging-cookbook.rst:1654 msgid "" "Logging calls (``logger.debug()``, ``logger.info()`` etc.) only take " "positional parameters for the actual logging message itself, with keyword " @@ -875,15 +909,15 @@ msgid "" "logging call (e.g. the ``exc_info`` keyword parameter to indicate that " "traceback information should be logged, or the ``extra`` keyword parameter " "to indicate additional contextual information to be added to the log). So " -"you cannot directly make logging calls using :meth:`str.format` or :class:" -"`string.Template` syntax, because internally the logging package uses %-" -"formatting to merge the format string and the variable arguments. There " -"would be no changing this while preserving backward compatibility, since all " -"logging calls which are out there in existing code will be using %-format " -"strings." +"you cannot directly make logging calls using :meth:`str.format` " +"or :class:`string.Template` syntax, because internally the logging package " +"uses %-formatting to merge the format string and the variable arguments. " +"There would be no changing this while preserving backward compatibility, " +"since all logging calls which are out there in existing code will be using %-" +"format strings." msgstr "" -#: ../../howto/logging-cookbook.rst:1663 +#: ../../howto/logging-cookbook.rst:1667 msgid "" "There is, however, a way that you can use {}- and $- formatting to construct " "your individual log messages. Recall that for a message you can use an " @@ -892,7 +926,7 @@ msgid "" "the following two classes::" msgstr "" -#: ../../howto/logging-cookbook.rst:1687 +#: ../../howto/logging-cookbook.rst:1691 msgid "" "Either of these can be used in place of a format string, to allow {}- or $-" "formatting to be used to build the actual \"message\" part which appears in " @@ -903,21 +937,21 @@ msgid "" "used as a synonym/alias for :func:`gettext.gettext` or its brethren)." msgstr "" -#: ../../howto/logging-cookbook.rst:1695 +#: ../../howto/logging-cookbook.rst:1699 msgid "" "The above classes are not included in Python, though they're easy enough to " "copy and paste into your own code. They can be used as follows (assuming " "that they're declared in a module called ``wherever``):" msgstr "" -#: ../../howto/logging-cookbook.rst:1717 +#: ../../howto/logging-cookbook.rst:1721 msgid "" "While the above examples use ``print()`` to show how the formatting works, " "you would of course use ``logger.debug()`` or similar to actually log using " "this approach." msgstr "" -#: ../../howto/logging-cookbook.rst:1721 +#: ../../howto/logging-cookbook.rst:1725 msgid "" "One thing to note is that you pay no significant performance penalty with " "this approach: the actual formatting happens not when you make the logging " @@ -925,72 +959,73 @@ msgid "" "a log by a handler. So the only slightly unusual thing which might trip you " "up is that the parentheses go around the format string and the arguments, " "not just the format string. That's because the __ notation is just syntax " -"sugar for a constructor call to one of the XXXMessage classes." +"sugar for a constructor call to one of the :samp:`{XXX}Message` classes." msgstr "" -#: ../../howto/logging-cookbook.rst:1729 +#: ../../howto/logging-cookbook.rst:1733 msgid "" "If you prefer, you can use a :class:`LoggerAdapter` to achieve a similar " "effect to the above, as in the following example::" msgstr "" -#: ../../howto/logging-cookbook.rst:1760 +#: ../../howto/logging-cookbook.rst:1762 msgid "" "The above script should log the message ``Hello, world!`` when run with " -"Python 3.2 or later." +"Python 3.8 or later." msgstr "" -#: ../../howto/logging-cookbook.rst:1769 +#: ../../howto/logging-cookbook.rst:1771 msgid "Customizing ``LogRecord``" msgstr "Personalizando o ``LogRecord``" -#: ../../howto/logging-cookbook.rst:1771 +#: ../../howto/logging-cookbook.rst:1773 msgid "" "Every logging event is represented by a :class:`LogRecord` instance. When an " -"event is logged and not filtered out by a logger's level, a :class:" -"`LogRecord` is created, populated with information about the event and then " -"passed to the handlers for that logger (and its ancestors, up to and " -"including the logger where further propagation up the hierarchy is " +"event is logged and not filtered out by a logger's level, " +"a :class:`LogRecord` is created, populated with information about the event " +"and then passed to the handlers for that logger (and its ancestors, up to " +"and including the logger where further propagation up the hierarchy is " "disabled). Before Python 3.2, there were only two places where this creation " "was done:" msgstr "" -#: ../../howto/logging-cookbook.rst:1778 +#: ../../howto/logging-cookbook.rst:1780 msgid "" ":meth:`Logger.makeRecord`, which is called in the normal process of logging " "an event. This invoked :class:`LogRecord` directly to create an instance." msgstr "" -#: ../../howto/logging-cookbook.rst:1781 +#: ../../howto/logging-cookbook.rst:1783 msgid "" ":func:`makeLogRecord`, which is called with a dictionary containing " "attributes to be added to the LogRecord. This is typically invoked when a " "suitable dictionary has been received over the network (e.g. in pickle form " -"via a :class:`~handlers.SocketHandler`, or in JSON form via an :class:" -"`~handlers.HTTPHandler`)." +"via a :class:`~handlers.SocketHandler`, or in JSON form via " +"an :class:`~handlers.HTTPHandler`)." msgstr "" -#: ../../howto/logging-cookbook.rst:1787 +#: ../../howto/logging-cookbook.rst:1789 msgid "" -"This has usually meant that if you need to do anything special with a :class:" -"`LogRecord`, you've had to do one of the following." +"This has usually meant that if you need to do anything special with " +"a :class:`LogRecord`, you've had to do one of the following." msgstr "" -#: ../../howto/logging-cookbook.rst:1790 +#: ../../howto/logging-cookbook.rst:1792 msgid "" -"Create your own :class:`Logger` subclass, which overrides :meth:`Logger." -"makeRecord`, and set it using :func:`~logging.setLoggerClass` before any " -"loggers that you care about are instantiated." +"Create your own :class:`Logger` subclass, which " +"overrides :meth:`Logger.makeRecord`, and set it " +"using :func:`~logging.setLoggerClass` before any loggers that you care about " +"are instantiated." msgstr "" -#: ../../howto/logging-cookbook.rst:1793 +#: ../../howto/logging-cookbook.rst:1795 msgid "" "Add a :class:`Filter` to a logger or handler, which does the necessary " "special manipulation you need when its :meth:`~Filter.filter` method is " "called." msgstr "" -#: ../../howto/logging-cookbook.rst:1797 +#: ../../howto/logging-cookbook.rst:1799 msgid "" "The first approach would be a little unwieldy in the scenario where (say) " "several different libraries wanted to do different things. Each would " @@ -998,7 +1033,7 @@ msgid "" "last would win." msgstr "" -#: ../../howto/logging-cookbook.rst:1802 +#: ../../howto/logging-cookbook.rst:1804 msgid "" "The second approach works reasonably well for many cases, but does not allow " "you to e.g. use a specialized subclass of :class:`LogRecord`. Library " @@ -1007,7 +1042,7 @@ msgid "" "would do simply by adding new packages or modules and doing ::" msgstr "" -#: ../../howto/logging-cookbook.rst:1810 +#: ../../howto/logging-cookbook.rst:1812 msgid "" "at module level). It's probably one too many things to think about. " "Developers could also add the filter to a :class:`~logging.NullHandler` " @@ -1017,17 +1052,17 @@ msgid "" "developer." msgstr "" -#: ../../howto/logging-cookbook.rst:1816 +#: ../../howto/logging-cookbook.rst:1818 msgid "" "In Python 3.2 and later, :class:`~logging.LogRecord` creation is done " "through a factory, which you can specify. The factory is just a callable you " -"can set with :func:`~logging.setLogRecordFactory`, and interrogate with :" -"func:`~logging.getLogRecordFactory`. The factory is invoked with the same " -"signature as the :class:`~logging.LogRecord` constructor, as :class:" -"`LogRecord` is the default setting for the factory." +"can set with :func:`~logging.setLogRecordFactory`, and interrogate " +"with :func:`~logging.getLogRecordFactory`. The factory is invoked with the " +"same signature as the :class:`~logging.LogRecord` constructor, " +"as :class:`LogRecord` is the default setting for the factory." msgstr "" -#: ../../howto/logging-cookbook.rst:1823 +#: ../../howto/logging-cookbook.rst:1825 msgid "" "This approach allows a custom factory to control all aspects of LogRecord " "creation. For example, you could return a subclass, or just add some " @@ -1035,7 +1070,7 @@ msgid "" "this::" msgstr "" -#: ../../howto/logging-cookbook.rst:1836 +#: ../../howto/logging-cookbook.rst:1838 msgid "" "This pattern allows different libraries to chain factories together, and as " "long as they don't overwrite each other's attributes or unintentionally " @@ -1045,104 +1080,94 @@ msgid "" "used when the use of a :class:`Filter` does not provide the desired result." msgstr "" -#: ../../howto/logging-cookbook.rst:1847 -msgid "Subclassing QueueHandler - a ZeroMQ example" +#: ../../howto/logging-cookbook.rst:1850 +msgid "Subclassing QueueHandler and QueueListener- a ZeroMQ example" msgstr "" -#: ../../howto/logging-cookbook.rst:1849 +#: ../../howto/logging-cookbook.rst:1853 ../../howto/logging-cookbook.rst:1985 +msgid "Subclass ``QueueHandler``" +msgstr "" + +#: ../../howto/logging-cookbook.rst:1855 msgid "" "You can use a :class:`QueueHandler` subclass to send messages to other kinds " "of queues, for example a ZeroMQ 'publish' socket. In the example below,the " "socket is created separately and passed to the handler (as its 'queue')::" msgstr "" -#: ../../howto/logging-cookbook.rst:1868 +#: ../../howto/logging-cookbook.rst:1874 msgid "" "Of course there are other ways of organizing this, for example passing in " "the data needed by the handler to create the socket::" msgstr "" -#: ../../howto/logging-cookbook.rst:1886 -msgid "Subclassing QueueListener - a ZeroMQ example" +#: ../../howto/logging-cookbook.rst:1892 ../../howto/logging-cookbook.rst:1922 +msgid "Subclass ``QueueListener``" msgstr "" -#: ../../howto/logging-cookbook.rst:1888 +#: ../../howto/logging-cookbook.rst:1894 msgid "" "You can also subclass :class:`QueueListener` to get messages from other " "kinds of queues, for example a ZeroMQ 'subscribe' socket. Here's an example::" msgstr "" -#: ../../howto/logging-cookbook.rst:1907 ../../howto/logging-cookbook.rst:3948 -msgid "Module :mod:`logging`" -msgstr "Módulo :mod:`logging`" - -#: ../../howto/logging-cookbook.rst:1907 ../../howto/logging-cookbook.rst:3948 -msgid "API reference for the logging module." -msgstr "Referência da API para o módulo de logging." - -#: ../../howto/logging-cookbook.rst:1910 ../../howto/logging-cookbook.rst:3951 -msgid "Module :mod:`logging.config`" -msgstr "Módulo :mod:`logging.config`" - -#: ../../howto/logging-cookbook.rst:1910 ../../howto/logging-cookbook.rst:3951 -msgid "Configuration API for the logging module." -msgstr "API de configuração para o módulo logging." - -#: ../../howto/logging-cookbook.rst:1913 ../../howto/logging-cookbook.rst:3954 -msgid "Module :mod:`logging.handlers`" -msgstr "Módulo :mod:`logging.handlers`" - -#: ../../howto/logging-cookbook.rst:1913 ../../howto/logging-cookbook.rst:3954 -msgid "Useful handlers included with the logging module." +#: ../../howto/logging-cookbook.rst:1912 +msgid "Subclassing QueueHandler and QueueListener- a ``pynng`` example" msgstr "" -#: ../../howto/logging-cookbook.rst:1915 -msgid ":ref:`A basic logging tutorial `" -msgstr ":ref:`A basic logging tutorial `" +#: ../../howto/logging-cookbook.rst:1914 +msgid "" +"In a similar way to the above section, we can implement a listener and " +"handler using `pynng `_, which is a Python " +"binding to `NNG `_, billed as a spiritual " +"successor to ZeroMQ. The following snippets illustrate -- you can test them " +"in an environment which has ``pynng`` installed. Juat for variety, we " +"present the listener first." +msgstr "" -#: ../../howto/logging-cookbook.rst:1917 -msgid ":ref:`A more advanced logging tutorial `" -msgstr ":ref:`A more advanced logging tutorial `" +#: ../../howto/logging-cookbook.rst:2034 +msgid "You can run the above two snippets in separate command shells." +msgstr "" -#: ../../howto/logging-cookbook.rst:1921 +#: ../../howto/logging-cookbook.rst:2038 msgid "An example dictionary-based configuration" msgstr "" -#: ../../howto/logging-cookbook.rst:1923 +#: ../../howto/logging-cookbook.rst:2040 msgid "" "Below is an example of a logging configuration dictionary - it's taken from " "the `documentation on the Django project `_. This dictionary is passed to :" -"func:`~config.dictConfig` to put the configuration into effect::" +"stable/topics/logging/#configuring-logging>`_. This dictionary is passed " +"to :func:`~config.dictConfig` to put the configuration into effect::" msgstr "" -#: ../../howto/logging-cookbook.rst:1979 +#: ../../howto/logging-cookbook.rst:2093 msgid "" "For more information about this configuration, you can see the `relevant " "section `_ of the Django documentation." msgstr "" -#: ../../howto/logging-cookbook.rst:1986 +#: ../../howto/logging-cookbook.rst:2100 msgid "Using a rotator and namer to customize log rotation processing" msgstr "" -#: ../../howto/logging-cookbook.rst:1988 +#: ../../howto/logging-cookbook.rst:2102 msgid "" "An example of how you can define a namer and rotator is given in the " "following runnable script, which shows gzip compression of the log file::" msgstr "" -#: ../../howto/logging-cookbook.rst:2019 +#: ../../howto/logging-cookbook.rst:2133 msgid "" "After running this, you will see six new files, five of which are compressed:" msgstr "" -#: ../../howto/logging-cookbook.rst:2032 +#: ../../howto/logging-cookbook.rst:2146 msgid "A more elaborate multiprocessing example" msgstr "" -#: ../../howto/logging-cookbook.rst:2034 +#: ../../howto/logging-cookbook.rst:2148 msgid "" "The following working example shows how logging can be used with " "multiprocessing using configuration files. The configurations are fairly " @@ -1150,7 +1175,7 @@ msgid "" "in a real multiprocessing scenario." msgstr "" -#: ../../howto/logging-cookbook.rst:2039 +#: ../../howto/logging-cookbook.rst:2153 msgid "" "In the example, the main process spawns a listener process and some worker " "processes. Each of the main process, the listener and the workers have three " @@ -1163,17 +1188,17 @@ msgid "" "own scenario." msgstr "" -#: ../../howto/logging-cookbook.rst:2049 +#: ../../howto/logging-cookbook.rst:2163 msgid "" "Here's the script - the docstrings and the comments hopefully explain how it " "works::" msgstr "" -#: ../../howto/logging-cookbook.rst:2261 +#: ../../howto/logging-cookbook.rst:2375 msgid "Inserting a BOM into messages sent to a SysLogHandler" msgstr "" -#: ../../howto/logging-cookbook.rst:2263 +#: ../../howto/logging-cookbook.rst:2377 msgid "" ":rfc:`5424` requires that a Unicode message be sent to a syslog daemon as a " "set of bytes which have the following structure: an optional pure-ASCII " @@ -1182,7 +1207,7 @@ msgid "" "<5424#section-6>`.)" msgstr "" -#: ../../howto/logging-cookbook.rst:2269 +#: ../../howto/logging-cookbook.rst:2383 msgid "" "In Python 3.1, code was added to :class:`~logging.handlers.SysLogHandler` to " "insert a BOM into the message, but unfortunately, it was implemented " @@ -1190,7 +1215,7 @@ msgid "" "hence not allowing any pure-ASCII component to appear before it." msgstr "" -#: ../../howto/logging-cookbook.rst:2275 +#: ../../howto/logging-cookbook.rst:2389 msgid "" "As this behaviour is broken, the incorrect BOM insertion code is being " "removed from Python 3.2.4 and later. However, it is not being replaced, and " @@ -1199,33 +1224,34 @@ msgid "" "encoded using UTF-8, then you need to do the following:" msgstr "" -#: ../../howto/logging-cookbook.rst:2281 +#: ../../howto/logging-cookbook.rst:2395 msgid "" -"Attach a :class:`~logging.Formatter` instance to your :class:`~logging." -"handlers.SysLogHandler` instance, with a format string such as::" +"Attach a :class:`~logging.Formatter` instance to " +"your :class:`~logging.handlers.SysLogHandler` instance, with a format string " +"such as::" msgstr "" -#: ../../howto/logging-cookbook.rst:2287 +#: ../../howto/logging-cookbook.rst:2401 msgid "" "The Unicode code point U+FEFF, when encoded using UTF-8, will be encoded as " "a UTF-8 BOM -- the byte-string ``b'\\xef\\xbb\\xbf'``." msgstr "" -#: ../../howto/logging-cookbook.rst:2290 +#: ../../howto/logging-cookbook.rst:2404 msgid "" "Replace the ASCII section with whatever placeholders you like, but make sure " "that the data that appears in there after substitution is always ASCII (that " "way, it will remain unchanged after UTF-8 encoding)." msgstr "" -#: ../../howto/logging-cookbook.rst:2294 +#: ../../howto/logging-cookbook.rst:2408 msgid "" "Replace the Unicode section with whatever placeholders you like; if the data " "which appears there after substitution contains characters outside the ASCII " "range, that's fine -- it will be encoded using UTF-8." msgstr "" -#: ../../howto/logging-cookbook.rst:2298 +#: ../../howto/logging-cookbook.rst:2412 msgid "" "The formatted message *will* be encoded using UTF-8 encoding by " "``SysLogHandler``. If you follow the above rules, you should be able to " @@ -1234,11 +1260,11 @@ msgid "" "daemon may complain." msgstr "" -#: ../../howto/logging-cookbook.rst:2305 +#: ../../howto/logging-cookbook.rst:2419 msgid "Implementing structured logging" msgstr "" -#: ../../howto/logging-cookbook.rst:2307 +#: ../../howto/logging-cookbook.rst:2421 msgid "" "Although most logging messages are intended for reading by humans, and thus " "not readily machine-parseable, there might be circumstances where you want " @@ -1250,31 +1276,31 @@ msgid "" "machine-parseable manner::" msgstr "" -#: ../../howto/logging-cookbook.rst:2331 +#: ../../howto/logging-cookbook.rst:2445 msgid "If the above script is run, it prints:" msgstr "" -#: ../../howto/logging-cookbook.rst:2337 ../../howto/logging-cookbook.rst:2379 +#: ../../howto/logging-cookbook.rst:2451 ../../howto/logging-cookbook.rst:2493 msgid "" "Note that the order of items might be different according to the version of " "Python used." msgstr "" -#: ../../howto/logging-cookbook.rst:2340 +#: ../../howto/logging-cookbook.rst:2454 msgid "" "If you need more specialised processing, you can use a custom JSON encoder, " "as in the following complete example::" msgstr "" -#: ../../howto/logging-cookbook.rst:2373 +#: ../../howto/logging-cookbook.rst:2487 msgid "When the above script is run, it prints:" msgstr "" -#: ../../howto/logging-cookbook.rst:2388 +#: ../../howto/logging-cookbook.rst:2502 msgid "Customizing handlers with :func:`dictConfig`" msgstr "" -#: ../../howto/logging-cookbook.rst:2390 +#: ../../howto/logging-cookbook.rst:2504 msgid "" "There are times when you want to customize logging handlers in particular " "ways, and if you use :func:`dictConfig` you may be able to do this without " @@ -1284,43 +1310,44 @@ msgid "" "customize handler creation using a plain function such as::" msgstr "" -#: ../../howto/logging-cookbook.rst:2404 +#: ../../howto/logging-cookbook.rst:2518 msgid "" -"You can then specify, in a logging configuration passed to :func:" -"`dictConfig`, that a logging handler be created by calling this function::" +"You can then specify, in a logging configuration passed " +"to :func:`dictConfig`, that a logging handler be created by calling this " +"function::" msgstr "" -#: ../../howto/logging-cookbook.rst:2437 +#: ../../howto/logging-cookbook.rst:2551 msgid "" "In this example I am setting the ownership using the ``pulse`` user and " "group, just for the purposes of illustration. Putting it together into a " "working script, ``chowntest.py``::" msgstr "" -#: ../../howto/logging-cookbook.rst:2484 +#: ../../howto/logging-cookbook.rst:2598 msgid "To run this, you will probably need to run as ``root``:" msgstr "" -#: ../../howto/logging-cookbook.rst:2494 +#: ../../howto/logging-cookbook.rst:2608 msgid "" -"Note that this example uses Python 3.3 because that's where :func:`shutil." -"chown` makes an appearance. This approach should work with any Python " -"version that supports :func:`dictConfig` - namely, Python 2.7, 3.2 or later. " -"With pre-3.3 versions, you would need to implement the actual ownership " -"change using e.g. :func:`os.chown`." +"Note that this example uses Python 3.3 because that's " +"where :func:`shutil.chown` makes an appearance. This approach should work " +"with any Python version that supports :func:`dictConfig` - namely, Python " +"2.7, 3.2 or later. With pre-3.3 versions, you would need to implement the " +"actual ownership change using e.g. :func:`os.chown`." msgstr "" -#: ../../howto/logging-cookbook.rst:2500 +#: ../../howto/logging-cookbook.rst:2614 msgid "" "In practice, the handler-creating function may be in a utility module " "somewhere in your project. Instead of the line in the configuration::" msgstr "" -#: ../../howto/logging-cookbook.rst:2505 +#: ../../howto/logging-cookbook.rst:2619 msgid "you could use e.g.::" msgstr "" -#: ../../howto/logging-cookbook.rst:2509 +#: ../../howto/logging-cookbook.rst:2623 msgid "" "where ``project.util`` can be replaced with the actual name of the package " "where the function resides. In the above working script, using ``'ext://" @@ -1328,25 +1355,25 @@ msgid "" "resolved by :func:`dictConfig` from the ``ext://`` specification." msgstr "" -#: ../../howto/logging-cookbook.rst:2514 +#: ../../howto/logging-cookbook.rst:2628 msgid "" "This example hopefully also points the way to how you could implement other " "types of file change - e.g. setting specific POSIX permission bits - in the " "same way, using :func:`os.chmod`." msgstr "" -#: ../../howto/logging-cookbook.rst:2518 +#: ../../howto/logging-cookbook.rst:2632 msgid "" "Of course, the approach could also be extended to types of handler other " "than a :class:`~logging.FileHandler` - for example, one of the rotating file " "handlers, or a different type of handler altogether." msgstr "" -#: ../../howto/logging-cookbook.rst:2528 +#: ../../howto/logging-cookbook.rst:2642 msgid "Using particular formatting styles throughout your application" msgstr "" -#: ../../howto/logging-cookbook.rst:2530 +#: ../../howto/logging-cookbook.rst:2644 msgid "" "In Python 3.2, the :class:`~logging.Formatter` gained a ``style`` keyword " "parameter which, while defaulting to ``%`` for backward compatibility, " @@ -1357,7 +1384,7 @@ msgid "" "is constructed." msgstr "" -#: ../../howto/logging-cookbook.rst:2537 +#: ../../howto/logging-cookbook.rst:2651 msgid "" "Logging calls (:meth:`~Logger.debug`, :meth:`~Logger.info` etc.) only take " "positional parameters for the actual logging message itself, with keyword " @@ -1365,14 +1392,15 @@ msgid "" "call (e.g. the ``exc_info`` keyword parameter to indicate that traceback " "information should be logged, or the ``extra`` keyword parameter to indicate " "additional contextual information to be added to the log). So you cannot " -"directly make logging calls using :meth:`str.format` or :class:`string." -"Template` syntax, because internally the logging package uses %-formatting " -"to merge the format string and the variable arguments. There would be no " -"changing this while preserving backward compatibility, since all logging " -"calls which are out there in existing code will be using %-format strings." +"directly make logging calls using :meth:`str.format` " +"or :class:`string.Template` syntax, because internally the logging package " +"uses %-formatting to merge the format string and the variable arguments. " +"There would be no changing this while preserving backward compatibility, " +"since all logging calls which are out there in existing code will be using %-" +"format strings." msgstr "" -#: ../../howto/logging-cookbook.rst:2549 +#: ../../howto/logging-cookbook.rst:2663 msgid "" "There have been suggestions to associate format styles with specific " "loggers, but that approach also runs into backward compatibility problems " @@ -1380,7 +1408,7 @@ msgid "" "formatting." msgstr "" -#: ../../howto/logging-cookbook.rst:2553 +#: ../../howto/logging-cookbook.rst:2667 msgid "" "For logging to work interoperably between any third-party libraries and your " "code, decisions about formatting need to be made at the level of the " @@ -1388,11 +1416,11 @@ msgid "" "formatting styles can be accommodated." msgstr "" -#: ../../howto/logging-cookbook.rst:2560 +#: ../../howto/logging-cookbook.rst:2674 msgid "Using LogRecord factories" msgstr "" -#: ../../howto/logging-cookbook.rst:2562 +#: ../../howto/logging-cookbook.rst:2676 msgid "" "In Python 3.2, along with the :class:`~logging.Formatter` changes mentioned " "above, the logging package gained the ability to allow users to set their " @@ -1407,27 +1435,27 @@ msgid "" "implementation does." msgstr "" -#: ../../howto/logging-cookbook.rst:2573 +#: ../../howto/logging-cookbook.rst:2687 msgid "" -"Refer to the reference documentation on :func:`setLogRecordFactory` and :" -"class:`LogRecord` for more information." +"Refer to the reference documentation on :func:`setLogRecordFactory` " +"and :class:`LogRecord` for more information." msgstr "" -#: ../../howto/logging-cookbook.rst:2578 +#: ../../howto/logging-cookbook.rst:2692 msgid "Using custom message objects" msgstr "" -#: ../../howto/logging-cookbook.rst:2580 +#: ../../howto/logging-cookbook.rst:2694 msgid "" "There is another, perhaps simpler way that you can use {}- and $- formatting " -"to construct your individual log messages. You may recall (from :ref:" -"`arbitrary-object-messages`) that when logging you can use an arbitrary " -"object as a message format string, and that the logging package will call :" -"func:`str` on that object to get the actual format string. Consider the " -"following two classes::" +"to construct your individual log messages. You may recall " +"(from :ref:`arbitrary-object-messages`) that when logging you can use an " +"arbitrary object as a message format string, and that the logging package " +"will call :func:`str` on that object to get the actual format string. " +"Consider the following two classes::" msgstr "" -#: ../../howto/logging-cookbook.rst:2605 +#: ../../howto/logging-cookbook.rst:2719 msgid "" "Either of these can be used in place of a format string, to allow {}- or $-" "formatting to be used to build the actual \"message\" part which appears in " @@ -1438,17 +1466,17 @@ msgid "" "using ``_`` for localization)." msgstr "" -#: ../../howto/logging-cookbook.rst:2613 +#: ../../howto/logging-cookbook.rst:2727 msgid "" -"Examples of this approach are given below. Firstly, formatting with :meth:" -"`str.format`::" +"Examples of this approach are given below. Firstly, formatting " +"with :meth:`str.format`::" msgstr "" -#: ../../howto/logging-cookbook.rst:2627 +#: ../../howto/logging-cookbook.rst:2741 msgid "Secondly, formatting with :class:`string.Template`::" msgstr "" -#: ../../howto/logging-cookbook.rst:2634 +#: ../../howto/logging-cookbook.rst:2748 msgid "" "One thing to note is that you pay no significant performance penalty with " "this approach: the actual formatting happens not when you make the logging " @@ -1456,45 +1484,45 @@ msgid "" "a log by a handler. So the only slightly unusual thing which might trip you " "up is that the parentheses go around the format string and the arguments, " "not just the format string. That’s because the __ notation is just syntax " -"sugar for a constructor call to one of the ``XXXMessage`` classes shown " -"above." +"sugar for a constructor call to one of the :samp:`{XXX}Message` classes " +"shown above." msgstr "" -#: ../../howto/logging-cookbook.rst:2648 +#: ../../howto/logging-cookbook.rst:2762 msgid "Configuring filters with :func:`dictConfig`" msgstr "" -#: ../../howto/logging-cookbook.rst:2650 +#: ../../howto/logging-cookbook.rst:2764 msgid "" "You *can* configure filters using :func:`~logging.config.dictConfig`, though " "it might not be obvious at first glance how to do it (hence this recipe). " "Since :class:`~logging.Filter` is the only filter class included in the " "standard library, and it is unlikely to cater to many requirements (it's " -"only there as a base class), you will typically need to define your own :" -"class:`~logging.Filter` subclass with an overridden :meth:`~logging.Filter." -"filter` method. To do this, specify the ``()`` key in the configuration " -"dictionary for the filter, specifying a callable which will be used to " -"create the filter (a class is the most obvious, but you can provide any " -"callable which returns a :class:`~logging.Filter` instance). Here is a " -"complete example::" +"only there as a base class), you will typically need to define your " +"own :class:`~logging.Filter` subclass with an " +"overridden :meth:`~logging.Filter.filter` method. To do this, specify the " +"``()`` key in the configuration dictionary for the filter, specifying a " +"callable which will be used to create the filter (a class is the most " +"obvious, but you can provide any callable which returns " +"a :class:`~logging.Filter` instance). Here is a complete example::" msgstr "" -#: ../../howto/logging-cookbook.rst:2703 +#: ../../howto/logging-cookbook.rst:2817 msgid "" "This example shows how you can pass configuration data to the callable which " "constructs the instance, in the form of keyword parameters. When run, the " "above script will print:" msgstr "" -#: ../../howto/logging-cookbook.rst:2711 +#: ../../howto/logging-cookbook.rst:2825 msgid "which shows that the filter is working as configured." msgstr "" -#: ../../howto/logging-cookbook.rst:2713 +#: ../../howto/logging-cookbook.rst:2827 msgid "A couple of extra points to note:" msgstr "" -#: ../../howto/logging-cookbook.rst:2715 +#: ../../howto/logging-cookbook.rst:2829 msgid "" "If you can't refer to the callable directly in the configuration (e.g. if it " "lives in a different module, and you can't import it directly where the " @@ -1504,7 +1532,7 @@ msgid "" "the above example." msgstr "" -#: ../../howto/logging-cookbook.rst:2722 +#: ../../howto/logging-cookbook.rst:2836 msgid "" "As well as for filters, this technique can also be used to configure custom " "handlers and formatters. See :ref:`logging-config-dict-userdef` for more " @@ -1513,11 +1541,11 @@ msgid "" "above." msgstr "" -#: ../../howto/logging-cookbook.rst:2731 +#: ../../howto/logging-cookbook.rst:2845 msgid "Customized exception formatting" msgstr "" -#: ../../howto/logging-cookbook.rst:2733 +#: ../../howto/logging-cookbook.rst:2847 msgid "" "There might be times when you want to do customized exception formatting - " "for argument's sake, let's say you want exactly one line per logged event, " @@ -1525,56 +1553,56 @@ msgid "" "formatter class, as shown in the following example::" msgstr "" -#: ../../howto/logging-cookbook.rst:2774 +#: ../../howto/logging-cookbook.rst:2888 msgid "When run, this produces a file with exactly two lines:" msgstr "" -#: ../../howto/logging-cookbook.rst:2781 +#: ../../howto/logging-cookbook.rst:2895 msgid "" "While the above treatment is simplistic, it points the way to how exception " "information can be formatted to your liking. The :mod:`traceback` module may " "be helpful for more specialized needs." msgstr "" -#: ../../howto/logging-cookbook.rst:2788 +#: ../../howto/logging-cookbook.rst:2902 msgid "Speaking logging messages" msgstr "" -#: ../../howto/logging-cookbook.rst:2790 +#: ../../howto/logging-cookbook.rst:2904 msgid "" "There might be situations when it is desirable to have logging messages " "rendered in an audible rather than a visible format. This is easy to do if " "you have text-to-speech (TTS) functionality available in your system, even " "if it doesn't have a Python binding. Most TTS systems have a command line " -"program you can run, and this can be invoked from a handler using :mod:" -"`subprocess`. It's assumed here that TTS command line programs won't expect " -"to interact with users or take a long time to complete, and that the " -"frequency of logged messages will be not so high as to swamp the user with " -"messages, and that it's acceptable to have the messages spoken one at a time " -"rather than concurrently, The example implementation below waits for one " -"message to be spoken before the next is processed, and this might cause " -"other handlers to be kept waiting. Here is a short example showing the " +"program you can run, and this can be invoked from a handler " +"using :mod:`subprocess`. It's assumed here that TTS command line programs " +"won't expect to interact with users or take a long time to complete, and " +"that the frequency of logged messages will be not so high as to swamp the " +"user with messages, and that it's acceptable to have the messages spoken one " +"at a time rather than concurrently, The example implementation below waits " +"for one message to be spoken before the next is processed, and this might " +"cause other handlers to be kept waiting. Here is a short example showing the " "approach, which assumes that the ``espeak`` TTS package is available::" msgstr "" -#: ../../howto/logging-cookbook.rst:2832 +#: ../../howto/logging-cookbook.rst:2946 msgid "" "When run, this script should say \"Hello\" and then \"Goodbye\" in a female " "voice." msgstr "" -#: ../../howto/logging-cookbook.rst:2834 +#: ../../howto/logging-cookbook.rst:2948 msgid "" "The above approach can, of course, be adapted to other TTS systems and even " "other systems altogether which can process messages via external programs " "run from a command line." msgstr "" -#: ../../howto/logging-cookbook.rst:2842 +#: ../../howto/logging-cookbook.rst:2956 msgid "Buffering logging messages and outputting them conditionally" msgstr "" -#: ../../howto/logging-cookbook.rst:2844 +#: ../../howto/logging-cookbook.rst:2958 msgid "" "There might be situations where you want to log messages in a temporary area " "and only output them if a certain condition occurs. For example, you may " @@ -1584,7 +1612,7 @@ msgid "" "debug information to be output as well as the error." msgstr "" -#: ../../howto/logging-cookbook.rst:2851 +#: ../../howto/logging-cookbook.rst:2965 msgid "" "Here is an example which shows how you could do this using a decorator for " "your functions where you want logging to behave this way. It makes use of " @@ -1597,7 +1625,7 @@ msgid "" "subclass of ``MemoryHandler`` if you want custom flushing behavior." msgstr "" -#: ../../howto/logging-cookbook.rst:2861 +#: ../../howto/logging-cookbook.rst:2975 msgid "" "The example script has a simple function, ``foo``, which just cycles through " "all the logging levels, writing to ``sys.stderr`` to say what level it's " @@ -1606,53 +1634,54 @@ msgid "" "levels - otherwise, it only logs at DEBUG, INFO and WARNING levels." msgstr "" -#: ../../howto/logging-cookbook.rst:2867 +#: ../../howto/logging-cookbook.rst:2981 msgid "" "The script just arranges to decorate ``foo`` with a decorator which will do " "the conditional logging that's required. The decorator takes a logger as a " "parameter and attaches a memory handler for the duration of the call to the " "decorated function. The decorator can be additionally parameterised using a " "target handler, a level at which flushing should occur, and a capacity for " -"the buffer (number of records buffered). These default to a :class:`~logging." -"StreamHandler` which writes to ``sys.stderr``, ``logging.ERROR`` and ``100`` " -"respectively." +"the buffer (number of records buffered). These default to " +"a :class:`~logging.StreamHandler` which writes to ``sys.stderr``, " +"``logging.ERROR`` and ``100`` respectively." msgstr "" -#: ../../howto/logging-cookbook.rst:2875 +#: ../../howto/logging-cookbook.rst:2989 msgid "Here's the script::" msgstr "" -#: ../../howto/logging-cookbook.rst:2938 +#: ../../howto/logging-cookbook.rst:3052 msgid "When this script is run, the following output should be observed:" msgstr "" -#: ../../howto/logging-cookbook.rst:2968 +#: ../../howto/logging-cookbook.rst:3082 msgid "" "As you can see, actual logging output only occurs when an event is logged " "whose severity is ERROR or greater, but in that case, any previous events at " "lower severities are also logged." msgstr "" -#: ../../howto/logging-cookbook.rst:2972 +#: ../../howto/logging-cookbook.rst:3086 msgid "You can of course use the conventional means of decoration::" msgstr "" -#: ../../howto/logging-cookbook.rst:2982 +#: ../../howto/logging-cookbook.rst:3096 msgid "Sending logging messages to email, with buffering" msgstr "" -#: ../../howto/logging-cookbook.rst:2984 +#: ../../howto/logging-cookbook.rst:3098 msgid "" "To illustrate how you can send log messages via email, so that a set number " -"of messages are sent per email, you can subclass :class:`~logging.handlers." -"BufferingHandler`. In the following example, which you can adapt to suit " -"your specific needs, a simple test harness is provided which allows you to " -"run the script with command line arguments specifying what you typically " -"need to send things via SMTP. (Run the downloaded script with the ``-h`` " -"argument to see the required and optional arguments.)" +"of messages are sent per email, you can " +"subclass :class:`~logging.handlers.BufferingHandler`. In the following " +"example, which you can adapt to suit your specific needs, a simple test " +"harness is provided which allows you to run the script with command line " +"arguments specifying what you typically need to send things via SMTP. (Run " +"the downloaded script with the ``-h`` argument to see the required and " +"optional arguments.)" msgstr "" -#: ../../howto/logging-cookbook.rst:3056 +#: ../../howto/logging-cookbook.rst:3170 msgid "" "If you run this script and your SMTP server is correctly set up, you should " "find that it sends eleven emails to the addressee you specify. The first ten " @@ -1660,39 +1689,39 @@ msgid "" "messages. That makes up 102 messages as specified in the script." msgstr "" -#: ../../howto/logging-cookbook.rst:3064 +#: ../../howto/logging-cookbook.rst:3178 msgid "Formatting times using UTC (GMT) via configuration" msgstr "" -#: ../../howto/logging-cookbook.rst:3066 +#: ../../howto/logging-cookbook.rst:3180 msgid "" "Sometimes you want to format times using UTC, which can be done using a " "class such as ``UTCFormatter``, shown below::" msgstr "" -#: ../../howto/logging-cookbook.rst:3075 +#: ../../howto/logging-cookbook.rst:3189 msgid "" -"and you can then use the ``UTCFormatter`` in your code instead of :class:" -"`~logging.Formatter`. If you want to do that via configuration, you can use " -"the :func:`~logging.config.dictConfig` API with an approach illustrated by " -"the following complete example::" +"and you can then use the ``UTCFormatter`` in your code instead " +"of :class:`~logging.Formatter`. If you want to do that via configuration, " +"you can use the :func:`~logging.config.dictConfig` API with an approach " +"illustrated by the following complete example::" msgstr "" -#: ../../howto/logging-cookbook.rst:3118 +#: ../../howto/logging-cookbook.rst:3232 msgid "When this script is run, it should print something like:" msgstr "" -#: ../../howto/logging-cookbook.rst:3125 +#: ../../howto/logging-cookbook.rst:3239 msgid "" "showing how the time is formatted both as local time and UTC, one for each " "handler." msgstr "" -#: ../../howto/logging-cookbook.rst:3132 +#: ../../howto/logging-cookbook.rst:3246 msgid "Using a context manager for selective logging" msgstr "" -#: ../../howto/logging-cookbook.rst:3134 +#: ../../howto/logging-cookbook.rst:3248 msgid "" "There are times when it would be useful to temporarily change the logging " "configuration and revert it back after doing something. For this, a context " @@ -1702,7 +1731,7 @@ msgid "" "scope of the context manager::" msgstr "" -#: ../../howto/logging-cookbook.rst:3167 +#: ../../howto/logging-cookbook.rst:3281 msgid "" "If you specify a level value, the logger's level is set to that value in the " "scope of the with block covered by the context manager. If you specify a " @@ -1711,13 +1740,13 @@ msgid "" "block exit - you could do this if you don't need the handler any more." msgstr "" -#: ../../howto/logging-cookbook.rst:3173 +#: ../../howto/logging-cookbook.rst:3287 msgid "" "To illustrate how it works, we can add the following block of code to the " "above::" msgstr "" -#: ../../howto/logging-cookbook.rst:3191 +#: ../../howto/logging-cookbook.rst:3305 msgid "" "We initially set the logger's level to ``INFO``, so message #1 appears and " "message #2 doesn't. We then change the level to ``DEBUG`` temporarily in the " @@ -1730,113 +1759,113 @@ msgid "" "(like message #1) whereas message #7 doesn't (just like message #2)." msgstr "" -#: ../../howto/logging-cookbook.rst:3201 +#: ../../howto/logging-cookbook.rst:3315 msgid "If we run the resulting script, the result is as follows:" msgstr "" -#: ../../howto/logging-cookbook.rst:3212 +#: ../../howto/logging-cookbook.rst:3326 msgid "" "If we run it again, but pipe ``stderr`` to ``/dev/null``, we see the " "following, which is the only message written to ``stdout``:" msgstr "" -#: ../../howto/logging-cookbook.rst:3220 +#: ../../howto/logging-cookbook.rst:3334 msgid "Once again, but piping ``stdout`` to ``/dev/null``, we get:" msgstr "" -#: ../../howto/logging-cookbook.rst:3230 +#: ../../howto/logging-cookbook.rst:3344 msgid "" "In this case, the message #5 printed to ``stdout`` doesn't appear, as " "expected." msgstr "" -#: ../../howto/logging-cookbook.rst:3232 +#: ../../howto/logging-cookbook.rst:3346 msgid "" "Of course, the approach described here can be generalised, for example to " "attach logging filters temporarily. Note that the above code works in Python " "2 as well as Python 3." msgstr "" -#: ../../howto/logging-cookbook.rst:3240 +#: ../../howto/logging-cookbook.rst:3354 msgid "A CLI application starter template" msgstr "" -#: ../../howto/logging-cookbook.rst:3242 +#: ../../howto/logging-cookbook.rst:3356 msgid "Here's an example which shows how you can:" msgstr "" -#: ../../howto/logging-cookbook.rst:3244 +#: ../../howto/logging-cookbook.rst:3358 msgid "Use a logging level based on command-line arguments" msgstr "" -#: ../../howto/logging-cookbook.rst:3245 +#: ../../howto/logging-cookbook.rst:3359 msgid "" "Dispatch to multiple subcommands in separate files, all logging at the same " "level in a consistent way" msgstr "" -#: ../../howto/logging-cookbook.rst:3247 +#: ../../howto/logging-cookbook.rst:3361 msgid "Make use of simple, minimal configuration" msgstr "" -#: ../../howto/logging-cookbook.rst:3249 +#: ../../howto/logging-cookbook.rst:3363 msgid "" "Suppose we have a command-line application whose job is to stop, start or " "restart some services. This could be organised for the purposes of " "illustration as a file ``app.py`` that is the main script for the " -"application, with individual commands implemented in ``start.py``, ``stop." -"py`` and ``restart.py``. Suppose further that we want to control the " +"application, with individual commands implemented in ``start.py``, " +"``stop.py`` and ``restart.py``. Suppose further that we want to control the " "verbosity of the application via a command-line argument, defaulting to " "``logging.INFO``. Here's one way that ``app.py`` could be written::" msgstr "" -#: ../../howto/logging-cookbook.rst:3298 +#: ../../howto/logging-cookbook.rst:3412 msgid "" "And the ``start``, ``stop`` and ``restart`` commands can be implemented in " "separate modules, like so for starting::" msgstr "" -#: ../../howto/logging-cookbook.rst:3311 +#: ../../howto/logging-cookbook.rst:3425 msgid "and thus for stopping::" msgstr "" -#: ../../howto/logging-cookbook.rst:3332 +#: ../../howto/logging-cookbook.rst:3446 msgid "and similarly for restarting::" msgstr "" -#: ../../howto/logging-cookbook.rst:3353 +#: ../../howto/logging-cookbook.rst:3467 msgid "" "If we run this application with the default log level, we get output like " "this:" msgstr "" -#: ../../howto/logging-cookbook.rst:3366 +#: ../../howto/logging-cookbook.rst:3480 msgid "" "The first word is the logging level, and the second word is the module or " "package name of the place where the event was logged." msgstr "" -#: ../../howto/logging-cookbook.rst:3369 +#: ../../howto/logging-cookbook.rst:3483 msgid "" "If we change the logging level, then we can change the information sent to " "the log. For example, if we want more information:" msgstr "" -#: ../../howto/logging-cookbook.rst:3386 +#: ../../howto/logging-cookbook.rst:3500 msgid "And if we want less:" msgstr "" -#: ../../howto/logging-cookbook.rst:3394 +#: ../../howto/logging-cookbook.rst:3508 msgid "" "In this case, the commands don't print anything to the console, since " "nothing at ``WARNING`` level or above is logged by them." msgstr "" -#: ../../howto/logging-cookbook.rst:3400 +#: ../../howto/logging-cookbook.rst:3514 msgid "A Qt GUI for logging" msgstr "" -#: ../../howto/logging-cookbook.rst:3402 +#: ../../howto/logging-cookbook.rst:3516 msgid "" "A question that comes up from time to time is about how to log to a GUI " "application. The `Qt `_ framework is a popular cross-" @@ -1844,7 +1873,7 @@ msgid "" "project/PySide2/>`_ or `PyQt5 `_ libraries." msgstr "" -#: ../../howto/logging-cookbook.rst:3408 +#: ../../howto/logging-cookbook.rst:3522 msgid "" "The following example shows how to log to a Qt GUI. This introduces a simple " "``QtHandler`` class which takes a callable, which should be a slot in the " @@ -1854,43 +1883,44 @@ msgid "" "logging messages at random levels with random short delays in between)." msgstr "" -#: ../../howto/logging-cookbook.rst:3415 +#: ../../howto/logging-cookbook.rst:3529 msgid "" "The worker thread is implemented using Qt's ``QThread`` class rather than " "the :mod:`threading` module, as there are circumstances where one has to use " "``QThread``, which offers better integration with other ``Qt`` components." msgstr "" -#: ../../howto/logging-cookbook.rst:3419 +#: ../../howto/logging-cookbook.rst:3533 msgid "" -"The code should work with recent releases of either ``PySide2`` or " -"``PyQt5``. You should be able to adapt the approach to earlier versions of " -"Qt. Please refer to the comments in the code snippet for more detailed " -"information." +"The code should work with recent releases of any of ``PySide6``, ``PyQt6``, " +"``PySide2`` or ``PyQt5``. You should be able to adapt the approach to " +"earlier versions of Qt. Please refer to the comments in the code snippet for " +"more detailed information." msgstr "" -#: ../../howto/logging-cookbook.rst:3633 +#: ../../howto/logging-cookbook.rst:3770 msgid "Logging to syslog with RFC5424 support" msgstr "" -#: ../../howto/logging-cookbook.rst:3635 +#: ../../howto/logging-cookbook.rst:3772 msgid "" "Although :rfc:`5424` dates from 2009, most syslog servers are configured by " "detault to use the older :rfc:`3164`, which hails from 2001. When " "``logging`` was added to Python in 2003, it supported the earlier (and only " "existing) protocol at the time. Since RFC5424 came out, as there has not " -"been widespread deployment of it in syslog servers, the :class:`~logging." -"handlers.SysLogHandler` functionality has not been updated." +"been widespread deployment of it in syslog servers, " +"the :class:`~logging.handlers.SysLogHandler` functionality has not been " +"updated." msgstr "" -#: ../../howto/logging-cookbook.rst:3642 +#: ../../howto/logging-cookbook.rst:3779 msgid "" "RFC 5424 contains some useful features such as support for structured data, " "and if you need to be able to log to a syslog server with support for it, " "you can do so with a subclassed handler which looks something like this::" msgstr "" -#: ../../howto/logging-cookbook.rst:3708 +#: ../../howto/logging-cookbook.rst:3845 msgid "" "You'll need to be familiar with RFC 5424 to fully understand the above code, " "and it may be that you have slightly different needs (e.g. for how you pass " @@ -1899,11 +1929,11 @@ msgid "" "using something like this::" msgstr "" -#: ../../howto/logging-cookbook.rst:3722 +#: ../../howto/logging-cookbook.rst:3859 msgid "How to treat a logger like an output stream" msgstr "" -#: ../../howto/logging-cookbook.rst:3724 +#: ../../howto/logging-cookbook.rst:3861 msgid "" "Sometimes, you need to interface to a third-party API which expects a file-" "like object to write to, but you want to direct the API's output to a " @@ -1911,43 +1941,43 @@ msgid "" "API. Here's a short script illustrating such a class:" msgstr "" -#: ../../howto/logging-cookbook.rst:3764 +#: ../../howto/logging-cookbook.rst:3901 msgid "When this script is run, it prints" msgstr "" -#: ../../howto/logging-cookbook.rst:3771 +#: ../../howto/logging-cookbook.rst:3908 msgid "" -"You could also use ``LoggerWriter`` to redirect ``sys.stdout`` and ``sys." -"stderr`` by doing something like this:" +"You could also use ``LoggerWriter`` to redirect ``sys.stdout`` and " +"``sys.stderr`` by doing something like this:" msgstr "" -#: ../../howto/logging-cookbook.rst:3781 +#: ../../howto/logging-cookbook.rst:3918 msgid "" "You should do this *after* configuring logging for your needs. In the above " -"example, the :func:`~logging.basicConfig` call does this (using the ``sys." -"stderr`` value *before* it is overwritten by a ``LoggerWriter`` instance). " -"Then, you'd get this kind of result:" +"example, the :func:`~logging.basicConfig` call does this (using the " +"``sys.stderr`` value *before* it is overwritten by a ``LoggerWriter`` " +"instance). Then, you'd get this kind of result:" msgstr "" -#: ../../howto/logging-cookbook.rst:3794 +#: ../../howto/logging-cookbook.rst:3931 msgid "" -"Of course, the examples above show output according to the format used by :" -"func:`~logging.basicConfig`, but you can use a different formatter when you " -"configure logging." +"Of course, the examples above show output according to the format used " +"by :func:`~logging.basicConfig`, but you can use a different formatter when " +"you configure logging." msgstr "" -#: ../../howto/logging-cookbook.rst:3798 +#: ../../howto/logging-cookbook.rst:3935 msgid "" "Note that with the above scheme, you are somewhat at the mercy of buffering " "and the sequence of write calls which you are intercepting. For example, " "with the definition of ``LoggerWriter`` above, if you have the snippet" msgstr "" -#: ../../howto/logging-cookbook.rst:3807 +#: ../../howto/logging-cookbook.rst:3944 msgid "then running the script results in" msgstr "" -#: ../../howto/logging-cookbook.rst:3825 +#: ../../howto/logging-cookbook.rst:3962 msgid "" "As you can see, this output isn't ideal. That's because the underlying code " "which writes to ``sys.stderr`` makes mutiple writes, each of which results " @@ -1957,17 +1987,17 @@ msgid "" "``LoggerWriter``:" msgstr "" -#: ../../howto/logging-cookbook.rst:3850 +#: ../../howto/logging-cookbook.rst:3987 msgid "" "This just buffers up stuff until a newline is seen, and then logs complete " "lines. With this approach, you get better output:" msgstr "" -#: ../../howto/logging-cookbook.rst:3866 +#: ../../howto/logging-cookbook.rst:4003 msgid "Patterns to avoid" msgstr "" -#: ../../howto/logging-cookbook.rst:3868 +#: ../../howto/logging-cookbook.rst:4005 msgid "" "Although the preceding sections have described ways of doing things you " "might need to do or deal with, it is worth mentioning some usage patterns " @@ -1975,11 +2005,11 @@ msgid "" "The following sections are in no particular order." msgstr "" -#: ../../howto/logging-cookbook.rst:3874 +#: ../../howto/logging-cookbook.rst:4011 msgid "Opening the same log file multiple times" msgstr "" -#: ../../howto/logging-cookbook.rst:3876 +#: ../../howto/logging-cookbook.rst:4013 msgid "" "On Windows, you will generally not be able to open the same file multiple " "times as this will lead to a \"file is in use by another process\" error. " @@ -1987,32 +2017,32 @@ msgid "" "file multiple times. This could be done accidentally, for example by:" msgstr "" -#: ../../howto/logging-cookbook.rst:3881 +#: ../../howto/logging-cookbook.rst:4018 msgid "" "Adding a file handler more than once which references the same file (e.g. by " "a copy/paste/forget-to-change error)." msgstr "" -#: ../../howto/logging-cookbook.rst:3884 +#: ../../howto/logging-cookbook.rst:4021 msgid "" "Opening two files that look different, as they have different names, but are " "the same because one is a symbolic link to the other." msgstr "" -#: ../../howto/logging-cookbook.rst:3887 +#: ../../howto/logging-cookbook.rst:4024 msgid "" "Forking a process, following which both parent and child have a reference to " "the same file. This might be through use of the :mod:`multiprocessing` " "module, for example." msgstr "" -#: ../../howto/logging-cookbook.rst:3891 +#: ../../howto/logging-cookbook.rst:4028 msgid "" "Opening a file multiple times might *appear* to work most of the time, but " "can lead to a number of problems in practice:" msgstr "" -#: ../../howto/logging-cookbook.rst:3894 +#: ../../howto/logging-cookbook.rst:4031 msgid "" "Logging output can be garbled because multiple threads or processes try to " "write to the same file. Although logging guards against concurrent use of " @@ -2021,7 +2051,7 @@ msgid "" "different handler instances which happen to point to the same file." msgstr "" -#: ../../howto/logging-cookbook.rst:3900 +#: ../../howto/logging-cookbook.rst:4037 msgid "" "An attempt to delete a file (e.g. during file rotation) silently fails, " "because there is another reference pointing to it. This can lead to " @@ -2031,17 +2061,17 @@ msgid "" "being supposedly in place." msgstr "" -#: ../../howto/logging-cookbook.rst:3907 +#: ../../howto/logging-cookbook.rst:4044 msgid "" "Use the techniques outlined in :ref:`multiple-processes` to circumvent such " "issues." msgstr "" -#: ../../howto/logging-cookbook.rst:3911 +#: ../../howto/logging-cookbook.rst:4048 msgid "Using loggers as attributes in a class or passing them as parameters" msgstr "" -#: ../../howto/logging-cookbook.rst:3913 +#: ../../howto/logging-cookbook.rst:4050 msgid "" "While there might be unusual cases where you'll need to do this, in general " "there is no point because loggers are singletons. Code can always access a " @@ -2052,12 +2082,13 @@ msgid "" "module (and not the class) is the unit of software decomposition." msgstr "" -#: ../../howto/logging-cookbook.rst:3922 +#: ../../howto/logging-cookbook.rst:4059 msgid "" -"Adding handlers other than :class:`NullHandler` to a logger in a library" +"Adding handlers other than :class:`~logging.NullHandler` to a logger in a " +"library" msgstr "" -#: ../../howto/logging-cookbook.rst:3924 +#: ../../howto/logging-cookbook.rst:4061 msgid "" "Configuring logging by adding handlers, formatters and filters is the " "responsibility of the application developer, not the library developer. If " @@ -2065,11 +2096,11 @@ msgid "" "your loggers other than a :class:`~logging.NullHandler` instance." msgstr "" -#: ../../howto/logging-cookbook.rst:3930 +#: ../../howto/logging-cookbook.rst:4067 msgid "Creating a lot of loggers" msgstr "" -#: ../../howto/logging-cookbook.rst:3932 +#: ../../howto/logging-cookbook.rst:4069 msgid "" "Loggers are singletons that are never freed during a script execution, and " "so creating lots of loggers will use up memory which can't then be freed. " @@ -2080,14 +2111,38 @@ msgid "" "occasionally slightly more fine-grained than that)." msgstr "" -#: ../../howto/logging-cookbook.rst:3943 +#: ../../howto/logging-cookbook.rst:4080 msgid "Other resources" msgstr "Outros recursos" -#: ../../howto/logging-cookbook.rst:3956 +#: ../../howto/logging-cookbook.rst:4085 +msgid "Module :mod:`logging`" +msgstr "Módulo :mod:`logging`" + +#: ../../howto/logging-cookbook.rst:4085 +msgid "API reference for the logging module." +msgstr "Referência da API para o módulo de logging." + +#: ../../howto/logging-cookbook.rst:4088 +msgid "Module :mod:`logging.config`" +msgstr "Módulo :mod:`logging.config`" + +#: ../../howto/logging-cookbook.rst:4088 +msgid "Configuration API for the logging module." +msgstr "API de configuração para o módulo logging." + +#: ../../howto/logging-cookbook.rst:4091 +msgid "Module :mod:`logging.handlers`" +msgstr "Módulo :mod:`logging.handlers`" + +#: ../../howto/logging-cookbook.rst:4091 +msgid "Useful handlers included with the logging module." +msgstr "Tratadores úteis incluídos no módulo logging." + +#: ../../howto/logging-cookbook.rst:4093 msgid ":ref:`Basic Tutorial `" -msgstr ":ref:`Basic Tutorial `" +msgstr ":ref:`Tutorial básico `" -#: ../../howto/logging-cookbook.rst:3958 +#: ../../howto/logging-cookbook.rst:4095 msgid ":ref:`Advanced Tutorial `" -msgstr ":ref:`Advanced Tutorial `" +msgstr ":ref:`Tutorial avançado `" diff --git a/howto/logging.po b/howto/logging.po index f7857aed7..963ace21e 100644 --- a/howto/logging.po +++ b/howto/logging.po @@ -1,39 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Hildeberto Abreu Magalhães , 2021 -# Leticia Portella , 2021 -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Katyanna Moura , 2021 -# Aline Balogh , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../howto/logging.rst:3 msgid "Logging HOWTO" -msgstr "HowTo - Logging" +msgstr "Logging" #: ../../howto/logging.rst:0 msgid "Author" @@ -58,12 +51,12 @@ msgid "" "the *level* or *severity*." msgstr "" "Logging é uma maneira de rastrear eventos que acontecem quando algum " -"software executa. O desenvolvedor de software adiciona chamadas de logging " -"no código para indicar que determinado evento ocorreu. Um evento é descrito " -"por uma mensagem descritiva que pode opcionalmente conter o dado de uma " -"variável (ex.: dado que é potencialmente diferente pra cada ocorrência do " -"evento). Eventos também tem um peso que o desenvolvedor atribui para o " -"evento; o peso pode também ser chamada de *níveis* ou *severidade*." +"software é executado. O desenvolvedor de software adiciona chamadas de " +"logging no código para indicar que determinado evento ocorreu. Um evento é " +"definido por uma mensagem descritiva que pode opcionalmente conter o valor " +"de uma variável (ex.: um dado que é potencialmente diferente pra cada " +"ocorrência do evento). Eventos também possuem importâncias atribuídas pelo " +"desenvolvedor; esta importância pode ser chamada de *nível* ou *severidade*." #: ../../howto/logging.rst:23 msgid "When to use logging" @@ -71,152 +64,163 @@ msgstr "Quando usar logging" #: ../../howto/logging.rst:25 msgid "" -"Logging provides a set of convenience functions for simple logging usage. " -"These are :func:`debug`, :func:`info`, :func:`warning`, :func:`error` and :" -"func:`critical`. To determine when to use logging, see the table below, " -"which states, for each of a set of common tasks, the best tool to use for it." +"You can access logging functionality by creating a logger via ``logger = " +"getLogger(__name__)``, and then calling the " +"logger's :meth:`~Logger.debug`, :meth:`~Logger.info`, :meth:`~Logger.warning`, :meth:`~Logger.error` " +"and :meth:`~Logger.critical` methods. To determine when to use logging, and " +"to see which logger methods to use when, see the table below. It states, for " +"each of a set of common tasks, the best tool to use for that task." msgstr "" -"Logging provê um conjunto de funções convenientes para o uso simples de " -"logging. Estas funções são :func:`debug`, :func:`info`, :func:`warning`, :" -"func:`error` and :func:`critical`. Para determinar quando usar logging, " -"consulte a tabela abaixo, qual estado, para cada conjunto de tarefas comuns, " -"qual a melhor ferramenta para usar." +"Você pode instanciar loggers com ``logger = getLogger(__name__)`` e, em " +"seguida, chamar os " +"métodos :meth:`~Logger.debug`, :meth:`~Logger.info`, :meth:`~Logger.warning`, :meth:`~Logger.error` " +"e :meth:`~Logger.critical`. Para determinar a necessidade ou não de usar " +"logging, e escolher o método adequado, consulte a tabela abaixo. Ela indica, " +"para cada conjunto de tarefas comuns, a melhor ferramenta a ser usada." -#: ../../howto/logging.rst:31 +#: ../../howto/logging.rst:33 msgid "Task you want to perform" -msgstr "Tarefa que você quer performar" +msgstr "Tarefa que você deseja executar" -#: ../../howto/logging.rst:31 +#: ../../howto/logging.rst:33 msgid "The best tool for the task" msgstr "A melhor ferramenta para a tarefa" -#: ../../howto/logging.rst:33 +#: ../../howto/logging.rst:35 msgid "" "Display console output for ordinary usage of a command line script or program" msgstr "" -"Exibir saída do console para uso ordinário de um script de linha de comando " -"ou programa." +"Exibir uma mensagem na saída do console para uso ordinário de um script de " +"linha de comando (CLI) ou programa." -#: ../../howto/logging.rst:33 +#: ../../howto/logging.rst:35 msgid ":func:`print`" msgstr ":func:`print`" -#: ../../howto/logging.rst:37 +#: ../../howto/logging.rst:39 msgid "" "Report events that occur during normal operation of a program (e.g. for " "status monitoring or fault investigation)" msgstr "" -"Relata eventos que podem ocorrer durante a operação normal de um programa " -"(ex: para monitoramento do status ou investigação de falha)" +"Expor eventos que possam ocorrer durante a operação normal de um programa " +"(por exemplo, para monitorar o estado atual de execução ou poder investigar " +"falhas)" -#: ../../howto/logging.rst:37 +#: ../../howto/logging.rst:39 msgid "" -":func:`logging.info` (or :func:`logging.debug` for very detailed output for " -"diagnostic purposes)" +"A logger's :meth:`~Logger.info` (or :meth:`~Logger.debug` method for very " +"detailed output for diagnostic purposes)" msgstr "" -":func:`logging.info` (ou :func:`logging.debug` para output bastante " -"detalhado para fins diagnósticos)" +"Utilize o método :meth:`~Logger.info` de um registrador (ou o " +"método :meth:`~Logger.debug`, no caso de mensagens mais detalhadas para " +"diagnóstico e investigação de erros)" -#: ../../howto/logging.rst:42 +#: ../../howto/logging.rst:44 msgid "Issue a warning regarding a particular runtime event" -msgstr "Emite um aviso sobre um evento de tempo de execução específico" +msgstr "" +"Emitir um aviso sobre um evento que ocorre em um ambiente de execução " +"específico" -#: ../../howto/logging.rst:42 +#: ../../howto/logging.rst:44 msgid "" ":func:`warnings.warn` in library code if the issue is avoidable and the " "client application should be modified to eliminate the warning" msgstr "" -":func:`warnings.warn` na biblioteca de código se o problema é evitável e a " -"aplicação cliente deve ser modificada para eliminar o alerta." +"Utilize a função :func:`warnings.warn` da biblioteca padrão se o problema " +"for evitável, e caso a aplicação deva ser modificada pelo usuário para " +"eliminar o alerta." -#: ../../howto/logging.rst:47 +#: ../../howto/logging.rst:49 msgid "" -":func:`logging.warning` if there is nothing the client application can do " -"about the situation, but the event should still be noted" +"A logger's :meth:`~Logger.warning` method if there is nothing the client " +"application can do about the situation, but the event should still be noted" msgstr "" -":func:`logging.warning` se nada pode ser feito pela aplicação cliente sobre " -"o ocorrido, mas mesmo assim o evento deve ser notificado" +"Utilize o método :meth:`~Logger.warning` de um registrador, caso não haja " +"nada que o usuário possa fazer na aplicação, mas o evento ainda deva ser " +"registrado" -#: ../../howto/logging.rst:52 +#: ../../howto/logging.rst:55 msgid "Report an error regarding a particular runtime event" -msgstr "Relata um erro sobre um evento de tempo de execução específico" +msgstr "Expor um erro sobre um evento em um ambiente de execução específico" -#: ../../howto/logging.rst:52 +#: ../../howto/logging.rst:55 msgid "Raise an exception" -msgstr "Levantando uma exceção" +msgstr "Levante uma exceção" -#: ../../howto/logging.rst:55 +#: ../../howto/logging.rst:58 msgid "" "Report suppression of an error without raising an exception (e.g. error " "handler in a long-running server process)" msgstr "" -"Relatar supressão de um erro sem levantar uma exceção (ex: manipulador de " -"erros em um processo de servidor em longa execução)" +"Expor a supressão de um erro sem levantar uma exceção (por exemplo, ao " +"utilizar um tratador de erro em um processo de longa execução)" -#: ../../howto/logging.rst:55 +#: ../../howto/logging.rst:58 msgid "" -":func:`logging.error`, :func:`logging.exception` or :func:`logging.critical` " -"as appropriate for the specific error and application domain" +"A logger's :meth:`~Logger.error`, :meth:`~Logger.exception` " +"or :meth:`~Logger.critical` method as appropriate for the specific error and " +"application domain" msgstr "" -":func:`logging.error`, :func:`logging.exception` ou :func:`logging.critical` " -"conforme apropriado para o erro especifico e domínio da aplicação" +"Um dos métodos :meth:`~Logger.error`, :meth:`~Logger.exception` " +"ou :meth:`~Logger.critical` do registrador, conforme apropriado para o erro " +"específico e domínio da aplicação" -#: ../../howto/logging.rst:62 +#: ../../howto/logging.rst:65 msgid "" -"The logging functions are named after the level or severity of the events " -"they are used to track. The standard levels and their applicability are " -"described below (in increasing order of severity):" +"The logger methods are named after the level or severity of the events they " +"are used to track. The standard levels and their applicability are described " +"below (in increasing order of severity):" msgstr "" -"As funções logging são nomeadas por nível ou severidade dos eventos que eles " -"costumam rastrear. Os níveis padrões e suas aplicações são descritas abaixo " -"(em ordem crescente de severidade):" +"Os métodos dos registradores são nomeados de acordo com o nível ou grau de " +"severidade dos eventos que são rastreados. Os níveis padrão e sua " +"aplicabilidade são descritos abaixo (em ordem crescente de severidade):" -#: ../../howto/logging.rst:69 ../../howto/logging.rst:863 +#: ../../howto/logging.rst:72 ../../howto/logging.rst:827 msgid "Level" msgstr "Nível" -#: ../../howto/logging.rst:69 +#: ../../howto/logging.rst:72 msgid "When it's used" msgstr "Quando é usado" -#: ../../howto/logging.rst:71 ../../howto/logging.rst:873 +#: ../../howto/logging.rst:74 ../../howto/logging.rst:837 msgid "``DEBUG``" msgstr "``DEBUG``" -#: ../../howto/logging.rst:71 +#: ../../howto/logging.rst:74 msgid "" "Detailed information, typically of interest only when diagnosing problems." msgstr "" -"Informação detalhada, tipicamente de interesse apenas quando diagnosticando " +"Informação detalhada, tipicamente utilizável apenas para diagnosticar " "problemas." -#: ../../howto/logging.rst:74 ../../howto/logging.rst:871 +#: ../../howto/logging.rst:77 ../../howto/logging.rst:835 msgid "``INFO``" msgstr "``INFO``" -#: ../../howto/logging.rst:74 +#: ../../howto/logging.rst:77 msgid "Confirmation that things are working as expected." msgstr "Confirmação de que as coisas estão funcionando como esperado." -#: ../../howto/logging.rst:77 ../../howto/logging.rst:869 +#: ../../howto/logging.rst:80 ../../howto/logging.rst:833 msgid "``WARNING``" msgstr "``WARNING``" -#: ../../howto/logging.rst:77 +#: ../../howto/logging.rst:80 msgid "" "An indication that something unexpected happened, or indicative of some " "problem in the near future (e.g. 'disk space low'). The software is still " "working as expected." msgstr "" -"Uma indicação que algo inesperado aconteceu, ou um indicativo que algum " -"problema em um futuro próximo (ex.: 'pouco espaço em disco'). O software " -"está ainda funcionando como esperado." +"Uma indicação de que algo inesperado aconteceu ou de que poderá haver algum " +"problema em um futuro próximo (por exemplo: 'pouco espaço em disco'). O " +"software ainda está funcionando como esperado." -#: ../../howto/logging.rst:82 ../../howto/logging.rst:867 +#: ../../howto/logging.rst:85 ../../howto/logging.rst:831 msgid "``ERROR``" msgstr "``ERROR``" -#: ../../howto/logging.rst:82 +#: ../../howto/logging.rst:85 msgid "" "Due to a more serious problem, the software has not been able to perform " "some function." @@ -224,18 +228,18 @@ msgstr "" "Por conta de um problema mais grave, o software não conseguiu executar " "alguma função." -#: ../../howto/logging.rst:85 ../../howto/logging.rst:865 +#: ../../howto/logging.rst:88 ../../howto/logging.rst:829 msgid "``CRITICAL``" msgstr "``CRITICAL``" -#: ../../howto/logging.rst:85 +#: ../../howto/logging.rst:88 msgid "" "A serious error, indicating that the program itself may be unable to " "continue running." msgstr "" "Um erro grave, indicando que o programa pode não conseguir continuar rodando." -#: ../../howto/logging.rst:89 +#: ../../howto/logging.rst:92 msgid "" "The default level is ``WARNING``, which means that only events of this level " "and above will be tracked, unless the logging package is configured to do " @@ -245,57 +249,79 @@ msgstr "" "acima serão rastreados, a não ser que o pacote logging esteja configurado " "para fazer de outra forma." -#: ../../howto/logging.rst:93 +#: ../../howto/logging.rst:96 msgid "" "Events that are tracked can be handled in different ways. The simplest way " "of handling tracked events is to print them to the console. Another common " "way is to write them to a disk file." msgstr "" -"Eventos que são rastreados podem ser tratados de diferentes formas. O jeito " -"mais simples de lidar com eventos rastreados é exibi-los no console. Outra " +"Eventos rastreados podem ser tratados de diferentes formas. O jeito mais " +"simples de lidar com eventos rastreados é exibi-los no console. Outra " "maneira comum é gravá-los em um arquivo de disco." -#: ../../howto/logging.rst:101 +#: ../../howto/logging.rst:104 msgid "A simple example" msgstr "Um exemplo simples" -#: ../../howto/logging.rst:103 +#: ../../howto/logging.rst:106 msgid "A very simple example is::" msgstr "Um exemplo bastante simples é::" -#: ../../howto/logging.rst:109 +#: ../../howto/logging.rst:112 msgid "If you type these lines into a script and run it, you'll see:" -msgstr "Se você digitar essas linhas no script e executá-lo, você verá:" +msgstr "Se você colocar essas linhas no script e executá-lo, você verá:" -#: ../../howto/logging.rst:115 +#: ../../howto/logging.rst:118 msgid "" "printed out on the console. The ``INFO`` message doesn't appear because the " "default level is ``WARNING``. The printed message includes the indication of " -"the level and the description of the event provided in the logging call, i." -"e. 'Watch out!'. Don't worry about the 'root' part for now: it will be " -"explained later. The actual output can be formatted quite flexibly if you " +"the level and the description of the event provided in the logging call, " +"i.e. 'Watch out!'. The actual output can be formatted quite flexibly if you " "need that; formatting options will also be explained later." msgstr "" -"exibido no console. A mensagem ``INFO`` não aparece porque o nível padrão é " -"``WARNING``. A mensagem exibida inclui a indicação do nível e uma descrição " -"do evento informado na chamada ao logging, ex.: \"Cuidado!\". Não se " -"preocupe sobre entender tudo agora. Isto será explicado mais tarde. A saída " -"pode ser formatada de forma bastante flexível se você precisar; opções de " -"formatação serão também explicadas posteriormente." +"no console. A mensagem ``INFO`` não aparece porque o nível padrão de logging " +"é ``WARNING`` . A mensagem exibida inclui a indicação do nível e a descrição " +"do evento fornecido na chamada de logging. Ou seja, 'Cuidado!'. A saída pode " +"ser formatada de maneira bastante flexível, se necessário; as opções de " +"formatação também serão explicadas mais tarde." #: ../../howto/logging.rst:124 +msgid "" +"Notice that in this example, we use functions directly on the ``logging`` " +"module, like ``logging.debug``, rather than creating a logger and calling " +"functions on it. These functions operation on the root logger, but can be " +"useful as they will call :func:`~logging.basicConfig` for you if it has not " +"been called yet, like in this example. In larger programs you'll usually " +"want to control the logging configuration explicitly however - so for that " +"reason as well as others, it's better to create loggers and call their " +"methods." +msgstr "" +"Observe que neste exemplo, usamos funções diretamente no módulo ``logging``, " +"como ``logging.debug``, ao invés de criar um logger e chamar funções nele. " +"Essas funções operam no logger raiz, mas podem ser úteis, pois " +"chamarão :func:`~logging.basicConfig` para você se ele ainda não tiver sido " +"chamado, como neste exemplo. Em programas maiores, você geralmente desejará " +"controlar explicitamente a configuração de logging, no entanto - então, por " +"esse motivo, assim como por outros, é melhor criar loggers e chamar seus " +"métodos." + +#: ../../howto/logging.rst:133 msgid "Logging to a file" msgstr "Logging em um arquivo" -#: ../../howto/logging.rst:126 +#: ../../howto/logging.rst:135 msgid "" "A very common situation is that of recording logging events in a file, so " "let's look at that next. Be sure to try the following in a newly started " "Python interpreter, and don't just continue from the session described " "above::" msgstr "" +"Uma situação muito comum é a de registrar eventos de log em um arquivo, " +"então vamos dar uma olhada nisso a seguir. Teste o código a seguir em um " +"interpretador Python recém-iniciado. Não continue a partir da sessão usada " +"para o código anterior." -#: ../../howto/logging.rst:137 +#: ../../howto/logging.rst:147 msgid "" "The *encoding* argument was added. In earlier Python versions, or if not " "specified, the encoding used is the default value used by :func:`open`. " @@ -303,8 +329,14 @@ msgid "" "passed, which determines how encoding errors are handled. For available " "values and the default, see the documentation for :func:`open`." msgstr "" +"O argumento de codificação *encoding* foi adicionado. Em versões anteriores " +"do Python, a codificação utilizada por padrão seria definida " +"em :func:`open`. Embora não seja mostrado no exemplo acima, um argumento de " +"*erro* pode ser utilizado, o que determina como o codificação de erros são " +"tratadas. Para saber mais sobre essas possibilidades, consulte a " +"documentação de :func:`open`." -#: ../../howto/logging.rst:144 +#: ../../howto/logging.rst:154 msgid "" "And now if we open the file and look at what we have, we should find the log " "messages:" @@ -312,51 +344,53 @@ msgstr "" "E agora se nós abrirmos o arquivo e olharmos o que temos, deveremos " "encontrar essas mensagens de log:" -#: ../../howto/logging.rst:154 +#: ../../howto/logging.rst:164 msgid "" "This example also shows how you can set the logging level which acts as the " "threshold for tracking. In this case, because we set the threshold to " "``DEBUG``, all of the messages were printed." msgstr "" -"Este exemplo também mostra como você pode configurar o nível do logging que " -"age como um limiar para o rastreamento. Neste caso, por causa que definimos " -"o limiar como ``DEBUG``, todas as mensagens foram exibidas." +"Este exemplo também mostra como você pode configurar o nível do logging , " +"que funcionará como um limite para o rastreamento. Neste caso, como " +"definimos o nível limite como ``DEBUG``, todas as mensagens foram exibidas." -#: ../../howto/logging.rst:158 +#: ../../howto/logging.rst:168 msgid "" "If you want to set the logging level from a command-line option such as:" msgstr "" -"Se você quer definir o nível de logging a partir de uma opção da linha de " -"comando como:" +"Você também pode definir o nível de logging a partir de um parâmetro pela " +"linha de comando (CLI):" -#: ../../howto/logging.rst:164 +#: ../../howto/logging.rst:174 msgid "" "and you have the value of the parameter passed for ``--log`` in some " "variable *loglevel*, you can use::" msgstr "" -"e você tem o valor do parâmetro passado pelo ``--log`` em alguma variável " -"*loglevel*, você pode usar::" +"e se você quiser obter o valor do parâmetro ``--log`` em algum ponto do " +"código, você pode usar:" -#: ../../howto/logging.rst:169 +#: ../../howto/logging.rst:179 msgid "" "to get the value which you'll pass to :func:`basicConfig` via the *level* " "argument. You may want to error check any user input value, perhaps as in " "the following example::" msgstr "" -"para obter o valor que você passará para a :func:`basicConfig` via o *level* " -"argumento. Você pode querer verificar qualquer erros introduzidos pelo " -"usuário, talvez como no exemplo a seguir::" +"para obter o valor que você passará para a :func:`basicConfig` pelo " +"argumento de nível *level*. Isso pode ser útil para verificar erros " +"introduzidos pelo usuário, como no exemplo a seguir:" -#: ../../howto/logging.rst:181 +#: ../../howto/logging.rst:191 msgid "" -"The call to :func:`basicConfig` should come *before* any calls to :func:" -"`debug`, :func:`info`, etc. Otherwise, those functions will call :func:" -"`basicConfig` for you with the default options. As it's intended as a one-" -"off simple configuration facility, only the first call will actually do " -"anything: subsequent calls are effectively no-ops." +"The call to :func:`basicConfig` should come *before* any calls to a logger's " +"methods such as :meth:`~Logger.debug`, :meth:`~Logger.info`, etc. Otherwise, " +"that logging event may not be handled in the desired manner." msgstr "" +"A chamada para :func:`basicConfig` deve vir *antes* de qualquer chamada para " +"métodos de um logger, como :meth:`~Logger.debug`, :meth:`~Logger.info`, etc. " +"Caso contrário, o logging deste evento pode não ser tratado da forma " +"desejada." -#: ../../howto/logging.rst:187 +#: ../../howto/logging.rst:195 msgid "" "If you run the above script several times, the messages from successive runs " "are appended to the file *example.log*. If you want each run to start " @@ -364,59 +398,25 @@ msgid "" "*filemode* argument, by changing the call in the above example to::" msgstr "" "Se você executar o script acima diversas vezes, as mensagens das sucessivas " -"execuções serão acrescentadas ao arquivo *example.log*. Se você quer que " +"execuções serão acrescentadas ao arquivo *exemplo.log*. Se você quiser que " "cada execução seja iniciada novamente, não guardando as mensagens das " -"execuções anteriores, você pode especificar o *filemode* argumento, mudando " -"a chamada no exemplo acima::" +"execuções anteriores, você pode definir o argumento *filemode*, mudando a " +"chamada no exemplo acima para:" -#: ../../howto/logging.rst:194 +#: ../../howto/logging.rst:202 msgid "" "The output will be the same as before, but the log file is no longer " "appended to, so the messages from earlier runs are lost." msgstr "" "A saída será a mesma de antes, mas o arquivo de log não será mais " -"incrementado, desta forma as mensagens de execuções anteriores serão " +"incrementado. Desta forma, as mensagens de execuções anteriores serão " "perdidas." -#: ../../howto/logging.rst:199 -msgid "Logging from multiple modules" -msgstr "Logging de múltiplos módulos" - -#: ../../howto/logging.rst:201 -msgid "" -"If your program consists of multiple modules, here's an example of how you " -"could organize logging in it::" -msgstr "" -"Se seu programa tem múltiplos módulos, aqui está um exemplo de como você " -"pode organizar o logging nele::" - -#: ../../howto/logging.rst:225 -msgid "If you run *myapp.py*, you should see this in *myapp.log*:" -msgstr "Se você executar *myapp.py*, deverá ver isso em *myapp.log*:" - -#: ../../howto/logging.rst:233 -msgid "" -"which is hopefully what you were expecting to see. You can generalize this " -"to multiple modules, using the pattern in *mylib.py*. Note that for this " -"simple usage pattern, you won't know, by looking in the log file, *where* in " -"your application your messages came from, apart from looking at the event " -"description. If you want to track the location of your messages, you'll need " -"to refer to the documentation beyond the tutorial level -- see :ref:`logging-" -"advanced-tutorial`." -msgstr "" -"que é com sorte o que você espera ver. Você pode generalizar isto para " -"múltiplos módulos, usando o padrão da *mylib.py*. Note que para este uso " -"deste simples padrão, você não saberá, olhando no arquivo de log, onde na " -"sua aplicação suas mensagens vieram, independente de olhar a descrição do " -"evento. Se você quer rastrear a localização das suas mensagens, você " -"precisará consultar a documentação além do tutorial de níveis -- veja :ref:" -"`logging-advanced-tutorial`." - -#: ../../howto/logging.rst:243 +#: ../../howto/logging.rst:207 msgid "Logging variable data" -msgstr "Logging dados de uma variável" +msgstr "Logging de variáveis dinâmicas" -#: ../../howto/logging.rst:245 +#: ../../howto/logging.rst:209 msgid "" "To log variable data, use a format string for the event description message " "and append the variable data as arguments. For example::" @@ -424,11 +424,11 @@ msgstr "" "Para logar o dado de uma variável, use o formato string para a mensagem " "descritiva do evento e adicione a variável como argumento. Exemplo::" -#: ../../howto/logging.rst:251 +#: ../../howto/logging.rst:215 msgid "will display:" msgstr "exibirá:" -#: ../../howto/logging.rst:257 +#: ../../howto/logging.rst:221 msgid "" "As you can see, merging of variable data into the event description message " "uses the old, %-style of string formatting. This is for backwards " @@ -438,18 +438,18 @@ msgid "" "tutorial: see :ref:`formatting-styles` for more information." msgstr "" "Como você pode ver, para combinar uma variável de dados na mensagem " -"descritiva do evento usamos o velho, %-s estilo de formatação de string. " -"Isto é usado para garantir compatibilidade com as versões anteriores: o " -"pacote logging pré-data novas opções de formatação como :meth:`str.format` " -"e :class:`string.Template`. Estas novas opções de formatação são suportadas, " -"mas explorá-las esta fora do escopo deste tutorial: veja :ref:`formatting-" -"styles`  para mais informações." - -#: ../../howto/logging.rst:266 +"descritiva do evento usamos o velho operador %, formatador de strings. Isto " +"é usado para garantir compatibilidade com as versões anteriores: os pacotes " +"logging mais recentes contam com opções de formatação " +"como :meth:`str.format` e :class:`string.Template`. Mas explorar estes " +"métodos está fora do escopo deste tutorial. Veja :ref:`formatting-styles` " +"para mais informações." + +#: ../../howto/logging.rst:230 msgid "Changing the format of displayed messages" msgstr "Alterar o formato das mensagens exibidas" -#: ../../howto/logging.rst:268 +#: ../../howto/logging.rst:232 msgid "" "To change the format which is used to display messages, you need to specify " "the format you want to use::" @@ -457,11 +457,11 @@ msgstr "" "Para mudar o formato usado para exibir mensagens, você precisa especificar o " "formato que quer usar::" -#: ../../howto/logging.rst:277 +#: ../../howto/logging.rst:241 msgid "which would print:" msgstr "que vai exibir:" -#: ../../howto/logging.rst:285 +#: ../../howto/logging.rst:249 msgid "" "Notice that the 'root' which appeared in earlier examples has disappeared. " "For a full set of things that can appear in format strings, you can refer to " @@ -477,49 +477,50 @@ msgstr "" "do evento, incluindo a variável com dados) e talvez exibir quando o evento " "ocorreu. Isto esta descrito na próxima seção." -#: ../../howto/logging.rst:294 +#: ../../howto/logging.rst:258 msgid "Displaying the date/time in messages" msgstr "Exibindo data/hora em mensagens" -#: ../../howto/logging.rst:296 +#: ../../howto/logging.rst:260 msgid "" "To display the date and time of an event, you would place '%(asctime)s' in " "your format string::" msgstr "" -"Para exibir a data e hora de um evento, você pode colocar '%(asctime)s' no " -"seu formato string::" +"Para exibir a data e hora de um evento, você pode colocar `%(asctime)s` na " +"sua string de formato:" -#: ../../howto/logging.rst:303 +#: ../../howto/logging.rst:267 msgid "which should print something like this:" msgstr "que deve exibir algo assim:" -#: ../../howto/logging.rst:309 +#: ../../howto/logging.rst:273 msgid "" -"The default format for date/time display (shown above) is like ISO8601 or :" -"rfc:`3339`. If you need more control over the formatting of the date/time, " -"provide a *datefmt* argument to ``basicConfig``, as in this example::" +"The default format for date/time display (shown above) is like ISO8601 " +"or :rfc:`3339`. If you need more control over the formatting of the date/" +"time, provide a *datefmt* argument to ``basicConfig``, as in this example::" msgstr "" -"O formato padrão para data/hora (mostrado abaixo) é como a ISO8601 ou :rfc:" -"`3339`. Se você precisa de mais controle sobre a formatação de data/hora, " -"informe o *datefmt* argumento para ``basicConfig``, como neste exemplo::" +"O formato padrão para data/hora (mostrado abaixo) é a ISO8601 ou " +"a :rfc:`3339`. Se você precisar de mais controle sobre a formatação de data/" +"hora, defina o argumento *datefmt* na função ``basicConfig``, como neste " +"exemplo:" -#: ../../howto/logging.rst:317 +#: ../../howto/logging.rst:281 msgid "which would display something like this:" msgstr "que deve exibir algo assim:" -#: ../../howto/logging.rst:323 +#: ../../howto/logging.rst:287 msgid "" -"The format of the *datefmt* argument is the same as supported by :func:`time." -"strftime`." +"The format of the *datefmt* argument is the same as supported " +"by :func:`time.strftime`." msgstr "" -"O formato do argumento *datefmt* é o mesmo suportado por :func:`time." -"strftime`." +"O formato do argumento *datefmt* é o mesmo suportado " +"por :func:`time.strftime`." -#: ../../howto/logging.rst:328 +#: ../../howto/logging.rst:292 msgid "Next Steps" msgstr "Próximos Passos" -#: ../../howto/logging.rst:330 +#: ../../howto/logging.rst:294 msgid "" "That concludes the basic tutorial. It should be enough to get you up and " "running with logging. There's a lot more that the logging package offers, " @@ -533,7 +534,7 @@ msgstr "" "mais do seu tempo lendo as próximas seções. Se você está pronto para isso, " "pegue sua bebida favorita e continue." -#: ../../howto/logging.rst:336 +#: ../../howto/logging.rst:300 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 " @@ -541,8 +542,13 @@ msgid "" "group (available at https://groups.google.com/g/comp.lang.python) and you " "should receive help before too long." msgstr "" +"Se sua necessidade de logging é simples, então use os exemplos acima para " +"incorporar o logging nos seus scripts, se você encontrar algum problema ou " +"não entender algo, por favor envie um pergunta no comp.lang.python Usenet " +"grupo (disponível em https://groups.google.com/g/comp.lang.python) e você " +"deverá receber ajuda assim que possível." -#: ../../howto/logging.rst:342 +#: ../../howto/logging.rst:306 msgid "" "Still here? You can carry on reading the next few sections, which provide a " "slightly more advanced/in-depth tutorial than the basic one above. After " @@ -552,23 +558,23 @@ msgstr "" "tutorial mais avançado que o básico acima. Depois disso, você pode dar uma " "olhada no :ref:`logging-cookbook`." -#: ../../howto/logging.rst:350 +#: ../../howto/logging.rst:314 msgid "Advanced Logging Tutorial" msgstr "Tutorial Avançado do Logging" -#: ../../howto/logging.rst:352 +#: ../../howto/logging.rst:316 msgid "" "The logging library takes a modular approach and offers several categories " "of components: loggers, handlers, filters, and formatters." msgstr "" "A biblioteca de logging tem uma abordagem modular e oferece algumas " -"categorias de componentes: loggers, handlers, filters, e formatters." +"categorias de componentes: loggers, manipuladores, filtros, e formatadores." -#: ../../howto/logging.rst:355 +#: ../../howto/logging.rst:319 msgid "Loggers expose the interface that application code directly uses." msgstr "Loggers expõem a interface que o código da aplicação usa diretamente." -#: ../../howto/logging.rst:356 +#: ../../howto/logging.rst:320 msgid "" "Handlers send the log records (created by loggers) to the appropriate " "destination." @@ -576,7 +582,7 @@ msgstr "" "Handlers enviam os registros do evento (criados por loggers) aos destinos " "apropriados." -#: ../../howto/logging.rst:358 +#: ../../howto/logging.rst:322 msgid "" "Filters provide a finer grained facility for determining which log records " "to output." @@ -584,20 +590,20 @@ msgstr "" "Filters fornecem uma facilidade granular para determinar quais registros de " "eventos enviar à saída." -#: ../../howto/logging.rst:360 +#: ../../howto/logging.rst:324 msgid "Formatters specify the layout of log records in the final output." msgstr "" "Formatters especificam o layout dos registros de eventos na saída final." -#: ../../howto/logging.rst:362 +#: ../../howto/logging.rst:326 msgid "" "Log event information is passed between loggers, handlers, filters and " "formatters in a :class:`LogRecord` instance." msgstr "" -"Uma informação de um evento de log é passada entre loggers, handlers, " -"filters e formatters em uma instância de uma :class:`LogRecord`" +"Um evento, quando registrado, passa por loggers, manipuladores, filtros e " +"formatadores através de uma instância de :class:`LogRecord`" -#: ../../howto/logging.rst:365 +#: ../../howto/logging.rst:329 msgid "" "Logging is performed by calling methods on instances of the :class:`Logger` " "class (hereafter called :dfn:`loggers`). Each instance has a name, and they " @@ -607,41 +613,49 @@ msgid "" "want, and indicate the area of an application in which a logged message " "originates." msgstr "" -"Logging é executada chamando métodos nas instâncias da :class:`Logger` " -"classe, também chamado de :dfn:`loggers`. Cada instância tem um nome, e eles " -"são conceitualmente organizados em uma hierarquia de espaço de nomes usando " -"pontos como separadores. Por exemplo, um logger nomeado com 'scan' é o pai " -"do logger 'scan.text', 'scan.html' e 'scan.pdf'. Você pode nomear o logger " -"do jeito que preferir, e indicar a área de uma aplicação em que uma mensagem " -"de log origina." +"Para executar uma ação de logging, é necessário criar instâncias da " +"classe :class:`Logger` (também chamadas de :dfn:`loggers`), e invocar seus " +"métodos. Cada instância tem um nome, e elas são conceitualmente organizadas " +"em uma hierarquia de espaço de nomes utilizando pontos como separadores. Por " +"exemplo, um logger nomeado como 'leitor' é o pai do logger 'leitor.texto', " +"'leitor.html' e 'leitor.pdf'. Você pode nomear o logger do jeito que " +"preferir, e indicar o trecho da aplicação que origina a mensagem de log." -#: ../../howto/logging.rst:372 +#: ../../howto/logging.rst:336 msgid "" "A good convention to use when naming loggers is to use a module-level " "logger, in each module which uses logging, named as follows::" msgstr "" -"Uma boa convenção para usar quando nomear loggers é usar um módulo-nível " -"logger, em cada módulo que usa o logging, nomeado como sugerido abaixo::" +"Uma boa prática ao nomear loggers é criar, em cada módulo que usa logging, " +"um logger definido no mesmo nível do módulo. Como no exemplo abaixo:" -#: ../../howto/logging.rst:377 +#: ../../howto/logging.rst:341 msgid "" "This means that logger names track the package/module hierarchy, and it's " "intuitively obvious where events are logged just from the logger name." msgstr "" -"Isto significa que o nome de um logger rastreia a hierarquia do pacote/" -"módulo, e isto é obviamente intuitivo onde os eventos estão sendo " -"registrados apenas pelo nome do logger." +"Isso significa que os nomes dos loggers acompanham a hierarquia de pacotes e " +"módulos, tornando intuitivo saber de onde os eventos foram registrados " +"apenas olhando o nome do logger." -#: ../../howto/logging.rst:380 +#: ../../howto/logging.rst:344 msgid "" "The root of the hierarchy of loggers is called the root logger. That's the " -"logger used by the functions :func:`debug`, :func:`info`, :func:`warning`, :" -"func:`error` and :func:`critical`, which just call the same-named method of " -"the root logger. The functions and the methods have the same signatures. The " -"root logger's name is printed as 'root' in the logged output." -msgstr "" +"logger used by the " +"functions :func:`debug`, :func:`info`, :func:`warning`, :func:`error` " +"and :func:`critical`, which just call the same-named method of the root " +"logger. The functions and the methods have the same signatures. The root " +"logger's name is printed as 'root' in the logged output." +msgstr "" +"O início da hierarquia de loggers é chamado de logger raiz. É ele que é " +"usado pelas " +"funções :func:`debug`, :func:`info`, :func:`warning`, :func:`error` " +"e :func:`critical`, que apenas chamam o método de mesmo nome dentro do " +"logger raiz. Essas funções, e seus métodos correspondentes, têm a mesma " +"assinatura (mesmos parâmetros aceitos). Na saída do log, o nome do logger " +"raiz aparece como 'root'." -#: ../../howto/logging.rst:386 +#: ../../howto/logging.rst:350 msgid "" "It is, of course, possible to log messages to different destinations. " "Support is included in the package for writing log messages to files, HTTP " @@ -651,45 +665,66 @@ msgid "" "destination class if you have special requirements not met by any of the " "built-in handler classes." msgstr "" +"É possível registrar mensagens de log em diferentes destinos. O pacote já " +"traz suporte para enviar logs para arquivos, URLs via HTTP GET/POST, e-mails " +"via SMTP, soquetes genéricos, filas ou mecanismos de log específicos do " +"sistema operacional, como o syslog no Unix/Linux ou o Event Log do Windows " +"NT. Esses destinos são gerenciados por classes chamadas manipuladores. Se " +"precisar de um destino especial que não seja atendido pelos manipuladores " +"embutidos, você poderá criar sua própria classe manipuladora para destinar " +"corretamente o log." -#: ../../howto/logging.rst:393 +#: ../../howto/logging.rst:357 msgid "" "By default, no destination is set for any logging messages. You can specify " "a destination (such as console or file) by using :func:`basicConfig` as in " -"the tutorial examples. If you call the functions :func:`debug`, :func:" -"`info`, :func:`warning`, :func:`error` and :func:`critical`, they will check " -"to see if no destination is set; and if one is not set, they will set a " -"destination of the console (``sys.stderr``) and a default format for the " -"displayed message before delegating to the root logger to do the actual " -"message output." -msgstr "" +"the tutorial examples. If you call the " +"functions :func:`debug`, :func:`info`, :func:`warning`, :func:`error` " +"and :func:`critical`, they will check to see if no destination is set; and " +"if one is not set, they will set a destination of the console " +"(``sys.stderr``) and a default format for the displayed message before " +"delegating to the root logger to do the actual message output." +msgstr "" +"Por padrão, nenhum destino é definido para nenhuma mensagem de registro. É " +"possível especificar um destino (como console, ou arquivo) " +"usando :func:`basicConfig`, como nos exemplos do tutorial. Se você chamar as " +"funções :func:`debug` , :func:`info`, :func:`warning`, :func:`error` " +"e :func:`critical`, elas verificarão se o destino está definido; e, caso não " +"esteja, elas definirão o console como o destino (``sys.stderr``) e definirão " +"o formato utilizando um formato padrão. Só então, enviarão a mensagem ao " +"logger raiz, para que seja registrada na saída." -#: ../../howto/logging.rst:401 +#: ../../howto/logging.rst:365 msgid "The default format set by :func:`basicConfig` for messages is:" msgstr "O formato padrão definido por :func:`basicConfig` para mensagens é:" -#: ../../howto/logging.rst:407 +#: ../../howto/logging.rst:371 msgid "" "You can change this by passing a format string to :func:`basicConfig` with " "the *format* keyword argument. For all options regarding how a format string " "is constructed, see :ref:`formatter-objects`." msgstr "" +"Você pode alterar isso passando uma string de formato " +"para :func:`basicConfig`, através do argumento nomeado *format*. Para sobre " +"como uma string de formato é construída, consulte :ref:`formatter-objects`." -#: ../../howto/logging.rst:412 +#: ../../howto/logging.rst:376 msgid "Logging Flow" -msgstr "" +msgstr "Fluxo de Logging" -#: ../../howto/logging.rst:414 +#: ../../howto/logging.rst:378 msgid "" "The flow of log event information in loggers and handlers is illustrated in " "the following diagram." msgstr "" +"O fluxo dos eventos de log em loggers e manipuladores é ilustrado no " +"diagrama a seguir." -#: ../../howto/logging.rst:421 +#: ../../howto/logging.rst:385 msgid "Loggers" -msgstr "" +msgstr "Registradores" -#: ../../howto/logging.rst:423 +#: ../../howto/logging.rst:387 msgid "" ":class:`Logger` objects have a threefold job. First, they expose several " "methods to application code so that applications can log messages at " @@ -698,20 +733,26 @@ msgid "" "Third, logger objects pass along relevant log messages to all interested log " "handlers." msgstr "" +"Objetos :class:`Logger` têm três funções principais. Primeiro, eles expõem " +"vários métodos para que o código da aplicação possa registrar mensagens " +"durante a execução. Segundo, eles decidem quais mensagens de log devem ser " +"processadas, com base no nível de severidade (é o filtro padrão) ou em " +"objetos filtro. Terceiro, eles encaminham as mensagens de log relevantes " +"para todos os manipuladores de log interessados." -#: ../../howto/logging.rst:429 +#: ../../howto/logging.rst:393 msgid "" "The most widely used methods on logger objects fall into two categories: " "configuration and message sending." msgstr "" -"Os métodos mais usados em objetos logger se enquadram em duas categorias: " -"configuração e envio de mensagem." +"Os métodos mais utilizados em objetos logger se enquadram em duas " +"categorias: configuração e envio de mensagem." -#: ../../howto/logging.rst:432 +#: ../../howto/logging.rst:396 msgid "These are the most common configuration methods:" msgstr "Esses são os métodos de configuração mais comuns:" -#: ../../howto/logging.rst:434 +#: ../../howto/logging.rst:398 msgid "" ":meth:`Logger.setLevel` specifies the lowest-severity log message a logger " "will handle, where debug is the lowest built-in severity level and critical " @@ -719,61 +760,94 @@ msgid "" "INFO, the logger will handle only INFO, WARNING, ERROR, and CRITICAL " "messages and will ignore DEBUG messages." msgstr "" +":meth:`Logger.setLevel` especifica o nível mínimo de severidade que um " +"logger vai lidar. O nível DEBUG é o mais baixo, e o CRITICAL é o mais alto " +"entre os níveis padrão. Por exemplo, se o nível do logger for INFO, ele vai " +"processar apenas mensagens de nível INFO, WARNING, ERROR e CRITICAL, e vai " +"ignorar mensagens DEBUG." -#: ../../howto/logging.rst:440 +#: ../../howto/logging.rst:404 msgid "" ":meth:`Logger.addHandler` and :meth:`Logger.removeHandler` add and remove " "handler objects from the logger object. Handlers are covered in more detail " "in :ref:`handler-basic`." msgstr "" +":meth:`Logger.addHandler` e :meth:`Logger.removeHandler` adicionam e removem " +"objetos manipuladores do objeto logger. Manipuladores serão aprofundados " +"em :ref:`handler-basic`." -#: ../../howto/logging.rst:444 +#: ../../howto/logging.rst:408 msgid "" ":meth:`Logger.addFilter` and :meth:`Logger.removeFilter` add and remove " "filter objects from the logger object. Filters are covered in more detail " "in :ref:`filter`." msgstr "" +":meth:`Logger.addFilter` e :meth:`Logger.removeFilter` adicionam e removem " +"objetos filtros do objeto logger. Filtros serão aprofundados " +"em :ref:`filter`." -#: ../../howto/logging.rst:448 +#: ../../howto/logging.rst:412 msgid "" "You don't need to always call these methods on every logger you create. See " "the last two paragraphs in this section." msgstr "" +"Você não precisa sempre invocar esses métodos em cada logger que criar. " +"Consulte os últimos dois paragrafos nessa mesma seção." -#: ../../howto/logging.rst:451 +#: ../../howto/logging.rst:415 msgid "" "With the logger object configured, the following methods create log messages:" msgstr "" - -#: ../../howto/logging.rst:453 -msgid "" -":meth:`Logger.debug`, :meth:`Logger.info`, :meth:`Logger.warning`, :meth:" -"`Logger.error`, and :meth:`Logger.critical` all create log records with a " -"message and a level that corresponds to their respective method names. The " -"message is actually a format string, which may contain the standard string " -"substitution syntax of ``%s``, ``%d``, ``%f``, and so on. The rest of their " -"arguments is a list of objects that correspond with the substitution fields " -"in the message. With regard to ``**kwargs``, the logging methods care only " -"about a keyword of ``exc_info`` and use it to determine whether to log " -"exception information." -msgstr "" - -#: ../../howto/logging.rst:463 -msgid "" -":meth:`Logger.exception` creates a log message similar to :meth:`Logger." -"error`. The difference is that :meth:`Logger.exception` dumps a stack trace " -"along with it. Call this method only from an exception handler." -msgstr "" - -#: ../../howto/logging.rst:467 +"Com o objeto logger configurado, os seguintes métodos criam mensagens de log:" + +#: ../../howto/logging.rst:417 +msgid "" +":meth:`Logger.debug`, :meth:`Logger.info`, :meth:`Logger.warning`, :meth:`Logger.error`, " +"and :meth:`Logger.critical` all create log records with a message and a " +"level that corresponds to their respective method names. The message is " +"actually a format string, which may contain the standard string substitution " +"syntax of ``%s``, ``%d``, ``%f``, and so on. The rest of their arguments is " +"a list of objects that correspond with the substitution fields in the " +"message. With regard to ``**kwargs``, the logging methods care only about a " +"keyword of ``exc_info`` and use it to determine whether to log exception " +"information." +msgstr "" +":meth:`Logger.debug`, :meth:`Logger.info`, :meth:`Logger.warning`, :meth:`Logger.error` " +"e :meth:`Logger.critical` criam logs com uma mensagem em um nível " +"correspondente ao respectivo nome do método. A mensagem é uma string de " +"formato, que pode conter a sintaxe padrão de substituições como ``%s``, " +"``%d`` e ``%f``. O restante dos argumentos são uma lista de objetos que " +"correspondem aos campos de substituição da mensagem. No caso do parâmetro " +"``**kwargs``, os métodos de logging cuidam apenas da chave ``exc_info``. É " +"essa chave que eles usam para decidir se devem ou não registrar os detalhes " +"de uma exceção." + +#: ../../howto/logging.rst:427 +msgid "" +":meth:`Logger.exception` creates a log message similar " +"to :meth:`Logger.error`. The difference is that :meth:`Logger.exception` " +"dumps a stack trace along with it. Call this method only from an exception " +"handler." +msgstr "" +":meth:`Logger.exception` cria uma mensagem de log parecida " +"com :meth:`Logger.error`. A diferença é que, além da " +"mensagem, :meth:`Logger.exception` também registra o stack trace (situação " +"da pilha de execução). Chame este método apenas a partir de um manipulador " +"de exceção." + +#: ../../howto/logging.rst:431 msgid "" ":meth:`Logger.log` takes a log level as an explicit argument. This is a " "little more verbose for logging messages than using the log level " "convenience methods listed above, but this is how to log at custom log " "levels." msgstr "" +":meth:`Logger.log` recebe o nível de log como um argumento explícito. Isso " +"torna o registro de mensagens um pouco mais verboso do que usar os métodos " +"prontos para cada nível, com os métodos listados anteriormente, mas é uma " +"forma de registrar mensagens em níveis de log personalizados." -#: ../../howto/logging.rst:471 +#: ../../howto/logging.rst:435 msgid "" ":func:`getLogger` returns a reference to a logger instance with the " "specified name if it is provided, or ``root`` if not. The names are period-" @@ -784,8 +858,17 @@ msgid "" "loggers with names of ``foo.bar``, ``foo.bar.baz``, and ``foo.bam`` are all " "descendants of ``foo``." msgstr "" +":func:`getLogger` retorna uma referência para uma instância de um logger com " +"o nome especificado, caso informado, ou para o logger raiz (caso nenhum nome " +"seja passado). Os nomes seguem uma estrutura hierárquica separada por " +"pontos. Chamadas repetidas a :func:`getLogger` com o mesmo nome retornam " +"sempre uma referência para a mesma instância do objeto logger. Loggers que " +"aparecem mais embaixo na hierarquia são filhos dos loggers que estão mais " +"acima nessa lista. Por exemplo, dado um logger com nome ``foo``, loggers com " +"os nomes ``foo.bar``, ``foo.bar.baz`` e ``foo.bam`` serão todos descendentes " +"de ``foo``." -#: ../../howto/logging.rst:479 +#: ../../howto/logging.rst:443 msgid "" "Loggers have a concept of *effective level*. If a level is not explicitly " "set on a logger, the level of its parent is used instead as its effective " @@ -796,8 +879,16 @@ msgid "" "the logger is used to determine whether the event is passed to the logger's " "handlers." msgstr "" +"Loggers têm o conceito de nível efetivo. Se um logger não tiver um nível " +"definido explicitamente, ele herdará o nível do seu logger pai. Caso o pai " +"também não tenha um nível definido, o processo continua subindo na " +"hierarquia, examinando cada ancestral, até encontrar um logger com nível " +"configurado. O logger raiz sempre terá um nível explícito configurado (por " +"padrão, ``WARNING``). Ao decidir se um evento será processado, o logger usa " +"o seu nível efetivo para determinar se o evento deve ser repassado para os " +"manipuladores responsáveis." -#: ../../howto/logging.rst:487 +#: ../../howto/logging.rst:451 msgid "" "Child loggers propagate messages up to the handlers associated with their " "ancestor loggers. Because of this, it is unnecessary to define and configure " @@ -806,12 +897,18 @@ msgid "" "needed. (You can, however, turn off propagation by setting the *propagate* " "attribute of a logger to ``False``.)" msgstr "" +"Loggers filhos propagam suas mensagens para os manipuladores associados aos " +"seus loggers ancestrais. Por causa disso, não é necessário definir e " +"configurar manipuladores para todos os loggers usados em uma aplicação. " +"Basta configurar os manipuladores em um logger de nível superior, e criar " +"loggers filhos conforme a necessidade. No entanto, é possível desativar essa " +"propagação definindo o atributo *propagate* do logger como ``False``." -#: ../../howto/logging.rst:498 +#: ../../howto/logging.rst:462 msgid "Handlers" -msgstr "" +msgstr "Manipuladores" -#: ../../howto/logging.rst:500 +#: ../../howto/logging.rst:464 msgid "" ":class:`~logging.Handler` objects are responsible for dispatching the " "appropriate log messages (based on the log messages' severity) to the " @@ -823,57 +920,90 @@ msgid "" "individual handlers where each handler is responsible for sending messages " "of a specific severity to a specific location." msgstr "" +"Objetos :class:`~logging.Handler` são responsáveis por enviar as mensagens " +"de log apropriadas (com base na severidade de cada mensagem) para o destino " +"especificado do manipulador. Objetos :class:`Logger` podem adicionar um ou " +"mais manipuladores a si mesmos usando o método :meth:`~Logger.addHandler`. " +"Em um cenário hipotético, uma aplicação pode querer \"enviar todas as " +"mensagens de log para um arquivo\", \"enviar apenas mensagens de erro ou " +"mais graves para o `stdout`\" e \"enviar apenas mensagens críticas para um " +"endereço de e-mail\". Esse cenário exigiria três manipuladores diferentes, " +"cada um responsável por encaminhar mensagens de uma determinada gravidade " +"para um destino específico." -#: ../../howto/logging.rst:510 +#: ../../howto/logging.rst:474 msgid "" "The standard library includes quite a few handler types (see :ref:`useful-" -"handlers`); the tutorials use mainly :class:`StreamHandler` and :class:" -"`FileHandler` in its examples." +"handlers`); the tutorials use mainly :class:`StreamHandler` " +"and :class:`FileHandler` in its examples." msgstr "" +"A biblioteca padrão possui alguns tipos de manipuladores (veja :ref:`useful-" +"handlers`); os tutoriais usam principalmente :class:`StreamHandler` " +"e :class:`FileHandler` em seus exemplos." -#: ../../howto/logging.rst:514 +#: ../../howto/logging.rst:478 msgid "" "There are very few methods in a handler for application developers to " "concern themselves with. The only handler methods that seem relevant for " "application developers who are using the built-in handler objects (that is, " "not creating custom handlers) are the following configuration methods:" msgstr "" +"Existem pouquíssimos métodos em um manipulador com os quais desenvolvedores " +"de aplicações precisam se preocupar. Para quem está usando manipuladores já " +"inclusos na biblioteca (ou seja, sem criar manipuladores personalizados), os " +"únicos métodos realmente relevantes são os métodos de configuração a seguir:" -#: ../../howto/logging.rst:519 +#: ../../howto/logging.rst:483 msgid "" "The :meth:`~Handler.setLevel` method, just as in logger objects, specifies " "the lowest severity that will be dispatched to the appropriate destination. " -"Why are there two :func:`setLevel` methods? The level set in the logger " -"determines which severity of messages it will pass to its handlers. The " -"level set in each handler determines which messages that handler will send " -"on." +"Why are there two :meth:`~Handler.setLevel` methods? The level set in the " +"logger determines which severity of messages it will pass to its handlers. " +"The level set in each handler determines which messages that handler will " +"send on." msgstr "" +"O método :meth:`~Handler.setLevel`, assim como acontece nos objetos " +"logger, , define o menor nível de severidade das mensagens que serão " +"encaminhadas para o destino adequado. Mas por que existem dois " +"métodos :meth:`~Handler.setLevel`? Isso acontece porque o nível configurado " +"no logger define quais mensagens ele vai repassar para seus manipuladores. " +"Já o nível configurado em cada manipulador define, entre as mensagens " +"recebidas, quais realmente serão enviadas adiante." -#: ../../howto/logging.rst:525 +#: ../../howto/logging.rst:489 msgid "" ":meth:`~Handler.setFormatter` selects a Formatter object for this handler to " "use." msgstr "" +":meth:`~Handler.setFormatter` define um objeto Formatador para que o " +"manipulador utilize." -#: ../../howto/logging.rst:528 +#: ../../howto/logging.rst:492 msgid "" ":meth:`~Handler.addFilter` and :meth:`~Handler.removeFilter` respectively " "configure and deconfigure filter objects on handlers." msgstr "" +":meth:`~Handler.addFilter` e :meth:`~Handler.removeFilter`, respectivamente, " +"adicionam e removem objetos filtros nos manipuladores." -#: ../../howto/logging.rst:531 +#: ../../howto/logging.rst:495 msgid "" -"Application code should not directly instantiate and use instances of :class:" -"`Handler`. Instead, the :class:`Handler` class is a base class that defines " -"the interface that all handlers should have and establishes some default " -"behavior that child classes can use (or override)." +"Application code should not directly instantiate and use instances " +"of :class:`Handler`. Instead, the :class:`Handler` class is a base class " +"that defines the interface that all handlers should have and establishes " +"some default behavior that child classes can use (or override)." msgstr "" +"O código da aplicação não deve instanciar nem usar diretamente objetos da " +"classe :class:`Handler`. Na verdade, :class:`Handler` é uma classe base que " +"define a interface que todos os manipuladores devem implementar e estabelece " +"um comportamento padrão que pode ser aproveitado (ou sobrescrito) pelas " +"classes filhas." -#: ../../howto/logging.rst:538 +#: ../../howto/logging.rst:502 msgid "Formatters" -msgstr "" +msgstr "Formatadores" -#: ../../howto/logging.rst:540 +#: ../../howto/logging.rst:504 msgid "" "Formatter objects configure the final order, structure, and contents of the " "log message. Unlike the base :class:`logging.Handler` class, application " @@ -882,42 +1012,64 @@ msgid "" "takes three optional arguments -- a message format string, a date format " "string and a style indicator." msgstr "" +"Objetos Formatadores definem a ordem, a estrutura e o conteúdo final da " +"mensagem de log. Diferentemente da classe base :class:`logging.Handler`, o " +"código da aplicação pode instanciar classes de formatadores — embora também " +"seja possível criar subclasses, caso sua aplicação precise de um " +"comportamento específico. O construtor aceita três argumentos opcionais: uma " +"string de formato da mensagem, uma string de formatação da data e um " +"indicador de estilo." -#: ../../howto/logging.rst:549 +#: ../../howto/logging.rst:513 msgid "" "If there is no message format string, the default is to use the raw " "message. If there is no date format string, the default date format is:" msgstr "" +"Se nenhuma string de formato for fornecida na mensagem, o padrão é usar a " +"mensagem bruta. Se nenhuma string de formato de data for definida, o formato " +"de data padrão será:" -#: ../../howto/logging.rst:556 +#: ../../howto/logging.rst:520 msgid "" "with the milliseconds tacked on at the end. The ``style`` is one of ``'%'``, " "``'{'``, or ``'$'``. If one of these is not specified, then ``'%'`` will be " "used." msgstr "" +"com os milissegundos acrescentados ao final. O parâmetro ``style`` pode ser " +"``'%'``, ``'{'`` ou ``'$'``. Se nenhum deles for especificado, o padrão " +"utilizado será ``'%'``." -#: ../../howto/logging.rst:559 +#: ../../howto/logging.rst:523 msgid "" "If the ``style`` is ``'%'``, the message format string uses ``%()s`` styled string substitution; the possible keys are documented in :" -"ref:`logrecord-attributes`. If the style is ``'{'``, the message format " +"key>)s`` styled string substitution; the possible keys are documented " +"in :ref:`logrecord-attributes`. If the style is ``'{'``, the message format " "string is assumed to be compatible with :meth:`str.format` (using keyword " "arguments), while if the style is ``'$'`` then the message format string " "should conform to what is expected by :meth:`string.Template.substitute`." msgstr "" +"Se o o parâmetro ``style`` for ``'%'``, a string de formato da mensagem " +"substituirá a string usando o estilo ``%()s``; as " +"chaves possíveis estão documentadas em :ref:`logrecord-attributes`. Se o " +"estilo for ``'{'``, a string de formato é presumida como compatível " +"com :meth:`str.format` (usando argumentos nomeados). Já se o estilo for " +"``'$'``, a string de formato deverá seguir o que é esperado " +"por :meth:`string.Template.substitute`." -#: ../../howto/logging.rst:566 +#: ../../howto/logging.rst:530 msgid "Added the ``style`` parameter." msgstr "Adicionado o parâmetro ``style``." -#: ../../howto/logging.rst:569 +#: ../../howto/logging.rst:533 msgid "" "The following message format string will log the time in a human-readable " "format, the severity of the message, and the contents of the message, in " "that order::" msgstr "" +"A string de formato a seguir vai escrever o tempo em um formato legível para " +"humanos, a severidade da mensagem, e o conteúdo da mensagem, nessa ordem::" -#: ../../howto/logging.rst:575 +#: ../../howto/logging.rst:539 msgid "" "Formatters use a user-configurable function to convert the creation time of " "a record to a tuple. By default, :func:`time.localtime` is used; to change " @@ -927,69 +1079,98 @@ msgid "" "want all logging times to be shown in GMT, set the ``converter`` attribute " "in the Formatter class (to ``time.gmtime`` for GMT display)." msgstr "" +"Formatadores usam uma função configurável pelo usuário para converter o " +"horário de criação de um registro em uma tupla. Por padrão, é utilizada a " +"função :func:`time.localtime`; Se você quiser alterar isso apenas para uma " +"instância específica de formatador, basta definir o atributo ``converter`` " +"dessa instância para uma função com a mesma assinatura " +"de :func:`time.localtime` ou :func:`time.gmtime`. Já se a ideia for alterar " +"o comportamento para todos os formatadores (por exemplo, para exibir todos " +"os horários de log em GMT), defina o atributo ``converter`` diretamente na " +"classe Formatadora (usando, por exemplo, ``time.gmtime`` para exibição em " +"GMT)." -#: ../../howto/logging.rst:585 +#: ../../howto/logging.rst:549 msgid "Configuring Logging" msgstr "Configurando Logging" -#: ../../howto/logging.rst:589 +#: ../../howto/logging.rst:553 msgid "Programmers can configure logging in three ways:" msgstr "Programadores podem configurar logging de três formas:" -#: ../../howto/logging.rst:591 +#: ../../howto/logging.rst:555 msgid "" "Creating loggers, handlers, and formatters explicitly using Python code that " "calls the configuration methods listed above." msgstr "" +"Criando loggers, manipuladores e formatadores de forma explícita, usando " +"código Python que invoca os métodos de configuração mencionados acima." -#: ../../howto/logging.rst:593 +#: ../../howto/logging.rst:557 msgid "" "Creating a logging config file and reading it using the :func:`fileConfig` " "function." msgstr "" +"Criando um arquivo de configuração de logging e lendo-o usando a " +"função :func:`fileConfig`." -#: ../../howto/logging.rst:595 +#: ../../howto/logging.rst:559 msgid "" -"Creating a dictionary of configuration information and passing it to the :" -"func:`dictConfig` function." +"Creating a dictionary of configuration information and passing it to " +"the :func:`dictConfig` function." msgstr "" +"Criando um dicionário com as informações de configuração e passando-o para a " +"função :func:`dictConfig`." -#: ../../howto/logging.rst:598 +#: ../../howto/logging.rst:562 msgid "" "For the reference documentation on the last two options, see :ref:`logging-" "config-api`. The following example configures a very simple logger, a " "console handler, and a simple formatter using Python code::" msgstr "" +"Para a documentação de referência sobre as duas últimas opções, " +"consulte :ref:`logging-config-api`. O exemplo a seguir configura um logger " +"bem simples, um manipulador de console e um formatador simples utilizando " +"código Python:" -#: ../../howto/logging.rst:628 +#: ../../howto/logging.rst:592 msgid "" "Running this module from the command line produces the following output:" -msgstr "" +msgstr "A execução deste módulo pela linha de comando produz a seguinte saída:" -#: ../../howto/logging.rst:639 +#: ../../howto/logging.rst:603 msgid "" "The following Python module creates a logger, handler, and formatter nearly " "identical to those in the example listed above, with the only difference " "being the names of the objects::" msgstr "" +"O módulo Python a seguir cria um logger, um manipulador e um formatador " +"quase idênticos aos do exemplo mostrado acima, sendo a única diferença os " +"nomes dos objetos::" -#: ../../howto/logging.rst:658 +#: ../../howto/logging.rst:622 msgid "Here is the logging.conf file:" -msgstr "Aqui está o arquivo logging.cong:" +msgstr "Aqui está o arquivo logging.conf:" -#: ../../howto/logging.rst:690 +#: ../../howto/logging.rst:654 msgid "" "The output is nearly identical to that of the non-config-file-based example:" msgstr "" +"A saída é quase idêntica à do exemplo não baseado em arquivo de configuração:" -#: ../../howto/logging.rst:701 +#: ../../howto/logging.rst:665 msgid "" "You can see that the config file approach has a few advantages over the " "Python code approach, mainly separation of configuration and code and the " "ability of noncoders to easily modify the logging properties." msgstr "" +"A abordagem de usar um arquivo de configuração oferece algumas vantagens em " +"relação ao uso direto de código Python. Ela permite separar a configuração " +"do código, facilitando a manutenção, e também possibilita que pessoas sem " +"conhecimentos de programação modifiquem facilmente as propriedades de " +"logging apenas editando o arquivo de configuração." -#: ../../howto/logging.rst:705 +#: ../../howto/logging.rst:669 msgid "" "The :func:`fileConfig` function takes a default parameter, " "``disable_existing_loggers``, which defaults to ``True`` for reasons of " @@ -999,8 +1180,17 @@ msgid "" "configuration. Please refer to the reference documentation for more " "information, and specify ``False`` for this parameter if you wish." msgstr "" +"A função :func:`fileConfig` possui um parâmetro chamado " +"``disable_existing_loggers``, que por padrão é definido como ``True`` por " +"questões de retrocompatibilidade. No entanto, esse comportamento pode não " +"ser o desejado, pois todos os loggers que não o raiz que já existiam antes " +"da chamada de :func:`fileConfig` serão desativados, a menos que eles (ou " +"algum de seus ancestrais) sejam explicitamente nomeados na configuração. " +"Caso queira manter os loggers preexistentes ativos, basta definir esse " +"parâmetro como ``False``. Para maiores detalhes, consulte a documentação " +"oficial de referência." -#: ../../howto/logging.rst:713 +#: ../../howto/logging.rst:677 msgid "" "The dictionary passed to :func:`dictConfig` can also specify a Boolean value " "with key ``disable_existing_loggers``, which if not specified explicitly in " @@ -1008,19 +1198,32 @@ msgid "" "the logger-disabling behaviour described above, which may not be what you " "want - in which case, provide the key explicitly with a value of ``False``." msgstr "" +"O dicionário passado para :func:`dictConfig` também pode especificar um " +"valor booleano com a chave ``disable_existing_loggers``. Se essa chave não " +"for definida explicitamente no dicionário, o valor padrão será interpretado " +"como ``True``. Isso resulta no mesmo comportamento de desativação de loggers " +"descrito anteriormente, o que pode não ser o desejado. Nesse caso, basta " +"informar a chave no dicionário com o valor ``False``." -#: ../../howto/logging.rst:723 +#: ../../howto/logging.rst:687 msgid "" "Note that the class names referenced in config files need to be either " "relative to the logging module, or absolute values which can be resolved " -"using normal import mechanisms. Thus, you could use either :class:`~logging." -"handlers.WatchedFileHandler` (relative to the logging module) or ``mypackage." -"mymodule.MyHandler`` (for a class defined in package ``mypackage`` and " -"module ``mymodule``, where ``mypackage`` is available on the Python import " -"path)." -msgstr "" - -#: ../../howto/logging.rst:731 +"using normal import mechanisms. Thus, you could use " +"either :class:`~logging.handlers.WatchedFileHandler` (relative to the " +"logging module) or ``mypackage.mymodule.MyHandler`` (for a class defined in " +"package ``mypackage`` and module ``mymodule``, where ``mypackage`` is " +"available on the Python import path)." +msgstr "" +"Observe que os nomes de classe referenciados em arquivos de configuração " +"precisam ser relativos ao módulo logging, ou valores absolutos que possam " +"ser resolvidos pelos mecanismos normais de importação do Python. Por " +"exemplo, você pode usar :class:`~logging.handlers.WatchedFileHandler` " +"(relativo ao módulo logging) ou ``mypackage.mymodule.MyHandler`` (para uma " +"classe definida no pacote ``mypackage`` e no módulo ``mymodule``, desde que " +"``mypackage`` esteja disponível no caminho de importação do Python)." + +#: ../../howto/logging.rst:695 msgid "" "In Python 3.2, a new means of configuring logging has been introduced, using " "dictionaries to hold configuration information. This provides a superset of " @@ -1034,74 +1237,103 @@ msgid "" "can construct the dictionary in Python code, receive it in pickled form over " "a socket, or use whatever approach makes sense for your application." msgstr "" - -#: ../../howto/logging.rst:743 +"A partir do Python 3.2, foi introduzida uma nova forma de configurar o " +"logging, utilizando dicionários para armazenar as informações de " +"configuração. Essa abordagem oferece um conjunto ampliado de funcionalidades " +"em relação ao método baseado em arquivos de configuração mencionado " +"anteriormente, sendo, portanto, a forma recomendada de configuração para " +"novas aplicações e implantações. Como a configuração é mantida em um " +"dicionário Python, há maior flexibilidade sobre as opções de como esse " +"dicionário pode ser construído. É possível, por exemplo, utilizar um arquivo " +"em formato JSON ou YAML, construir o dicionário diretamente em código " +"Python, recebê-lo em forma serializada com pickle por meio de um soquete, ou " +"ainda empregar qualquer outro método que faça sentido para a aplicação em " +"questão." + +#: ../../howto/logging.rst:707 msgid "" "Here's an example of the same configuration as above, in YAML format for the " "new dictionary-based approach:" msgstr "" +"Aqui está um exemplo da mesma configuração acima, em formato YAML, para a " +"nova abordagem baseada em dicionário:" -#: ../../howto/logging.rst:767 +#: ../../howto/logging.rst:731 msgid "" "For more information about logging using a dictionary, see :ref:`logging-" "config-api`." msgstr "" +"Para mais informações sobre logging com dicionário, consulte :ref:`logging-" +"config-api`." -#: ../../howto/logging.rst:771 +#: ../../howto/logging.rst:735 msgid "What happens if no configuration is provided" msgstr "O que acontece se nenhuma configuração é fornecida" -#: ../../howto/logging.rst:773 +#: ../../howto/logging.rst:737 msgid "" "If no logging configuration is provided, it is possible to have a situation " "where a logging event needs to be output, but no handlers can be found to " -"output the event. The behaviour of the logging package in these " -"circumstances is dependent on the Python version." +"output the event." msgstr "" +"Se nenhuma configuração de logging for fornecida, pode ocorrer uma situação " +"em que um evento de logging precise ser registrado, mas nenhum manipulador " +"esteja disponível para processar e exibir esse evento." -#: ../../howto/logging.rst:778 +#: ../../howto/logging.rst:741 +msgid "" +"The event is output using a 'handler of last resort', stored " +"in :data:`lastResort`. This internal handler is not associated with any " +"logger, and acts like a :class:`~logging.StreamHandler` which writes the " +"event description message to the current value of ``sys.stderr`` (therefore " +"respecting any redirections which may be in effect). No formatting is done " +"on the message - just the bare event description message is printed. The " +"handler's level is set to ``WARNING``, so all events at this and greater " +"severities will be output." +msgstr "" +"O evento é exibido utilizando um “manipulador de último recurso”, armazenado " +"em :data:`lastResort`. Esse manipulador interno não está associado a nenhum " +"logger e funciona como um :class:`~logging.StreamHandler`, enviando a " +"mensagem de descrição do evento para o valor atual de ``sys.stderr`` " +"(espeitando, portanto, quaisquer redirecionamentos que estejam em vigor). " +"Nenhuma formatação é aplicada à mensagem — apenas a descrição bruta do " +"evento é impressa. O nível desse manipulador é definido como ``WARNING``, de " +"forma que todos os eventos nesse nível ou em níveis mais severos serão " +"exibidos." + +#: ../../howto/logging.rst:752 msgid "For versions of Python prior to 3.2, the behaviour is as follows:" msgstr "Para versões do Python anteriores à 3.2, o comportamento é o seguinte:" -#: ../../howto/logging.rst:780 +#: ../../howto/logging.rst:754 msgid "" -"If *logging.raiseExceptions* is ``False`` (production mode), the event is " +"If :data:`raiseExceptions` is ``False`` (production mode), the event is " "silently dropped." msgstr "" +"Se :data:`raiseExceptions` for ``False`` (modo em produção), o evento será " +"silenciosamente descartado." -#: ../../howto/logging.rst:783 +#: ../../howto/logging.rst:757 msgid "" -"If *logging.raiseExceptions* is ``True`` (development mode), a message 'No " +"If :data:`raiseExceptions` is ``True`` (development mode), a message 'No " "handlers could be found for logger X.Y.Z' is printed once." msgstr "" +"Se :data:`raiseExceptions` for definido como ``True`` (modo de " +"desenvolvimento), a mensagem 'No handlers could be found for logger X.Y.Z' " +"será exibida uma vez." -#: ../../howto/logging.rst:786 -msgid "In Python 3.2 and later, the behaviour is as follows:" -msgstr "No Python 3.2 e posteriores, o comportamento é como o seguinte:" - -#: ../../howto/logging.rst:788 +#: ../../howto/logging.rst:760 msgid "" -"The event is output using a 'handler of last resort', stored in ``logging." -"lastResort``. This internal handler is not associated with any logger, and " -"acts like a :class:`~logging.StreamHandler` which writes the event " -"description message to the current value of ``sys.stderr`` (therefore " -"respecting any redirections which may be in effect). No formatting is done " -"on the message - just the bare event description message is printed. The " -"handler's level is set to ``WARNING``, so all events at this and greater " -"severities will be output." -msgstr "" - -#: ../../howto/logging.rst:797 -msgid "" -"To obtain the pre-3.2 behaviour, ``logging.lastResort`` can be set to " -"``None``." +"To obtain the pre-3.2 behaviour, :data:`lastResort` can be set to ``None``." msgstr "" +"Para obter o comportamento pré-versão-3.2, :data:`lastResort` pode ser " +"definido como ``None``." -#: ../../howto/logging.rst:802 +#: ../../howto/logging.rst:766 msgid "Configuring Logging for a Library" -msgstr "" +msgstr "Configurando logging para uma biblioteca" -#: ../../howto/logging.rst:804 +#: ../../howto/logging.rst:768 msgid "" "When developing a library which uses logging, you should take care to " "document how the library uses logging - for example, the names of loggers " @@ -1111,8 +1343,17 @@ msgid "" "of severity ``WARNING`` and greater will be printed to ``sys.stderr``. This " "is regarded as the best default behaviour." msgstr "" +"Ao desenvolver um biblioteca que usa logging, é importante documentar como a " +"biblioteca usa o recurso - por exemplo, os nomes dos loggers usados. Também " +"é necessário levar em consideração a configuração de logging. Caso a " +"aplicação que utiliza a biblioteca não faça uso de logging e o código da " +"biblioteca execute chamadas de logging, então os eventos de severidade " +"``WARNING`` e níveis mais severos serão impressos em ``sys.stderr`` ." +"(conforme descrito na seção anterior). Isso garante que mensagens " +"importantes não sejam perdidas, como comportamento padrão, mesmo que a " +"aplicação principal não configure explicitamente o sistema de logging." -#: ../../howto/logging.rst:812 +#: ../../howto/logging.rst:776 msgid "" "If for some reason you *don't* want these messages printed in the absence of " "any logging configuration, you can attach a do-nothing handler to the top-" @@ -1123,26 +1364,47 @@ msgid "" "suitably configured then logging calls made in library code will send output " "to those handlers, as normal." msgstr "" - -#: ../../howto/logging.rst:821 -msgid "" -"A do-nothing handler is included in the logging package: :class:`~logging." -"NullHandler` (since Python 3.1). An instance of this handler could be added " -"to the top-level logger of the logging namespace used by the library (*if* " -"you want to prevent your library's logged events being output to ``sys." -"stderr`` in the absence of logging configuration). If all logging by a " -"library *foo* is done using loggers with names matching 'foo.x', 'foo.x.y', " -"etc. then the code::" -msgstr "" - -#: ../../howto/logging.rst:832 +"Se, por algum motivo, você *não* quiser que essas mensagens sejam exibidas " +"na ausência de qualquer configuração de logging, pode anexar um manipulador " +"que não faz nada ao logger de nível superior da sua biblioteca. Dessa forma, " +"evita-se que a mensagem seja impressa, já que sempre haverá um manipulador " +"associado aos eventos da biblioteca — apenas não produzirá saída. Caso o " +"usuário da biblioteca configure o logging para uso na aplicação, essa " +"configuração provavelmente incluirá alguns manipuladores adicionais e, se os " +"níveis forem configurados adequadamente, as chamadas de logging feitas no " +"código da biblioteca enviarão a saída para esses manipuladores, funcionando " +"normalmente." + +#: ../../howto/logging.rst:785 +msgid "" +"A do-nothing handler is included in the logging " +"package: :class:`~logging.NullHandler` (since Python 3.1). An instance of " +"this handler could be added to the top-level logger of the logging namespace " +"used by the library (*if* you want to prevent your library's logged events " +"being output to ``sys.stderr`` in the absence of logging configuration). If " +"all logging by a library *foo* is done using loggers with names matching " +"'foo.x', 'foo.x.y', etc. then the code::" +msgstr "" +"Um manipulador-que-não-faz-nada já está incluso no " +"pacote :class:`~logging.NullHandler` (desde Python 3.1). Uma instância desse " +"manipulador poderia ser adicionado ao logger de nível superior do espaço de " +"nomes de logging usado pelo biblioteca (*se* você quiser evitar que os " +"eventos registrados do biblioteca sejam enviados para ``sys.stderr``, na " +"ausência de configuração de logging). Se todo registro em log de uma " +"biblioteca *foo* for feito usando loggers com nomes correspondente 'foo.x', " +"'foo.x.y' etc., então o código::" + +#: ../../howto/logging.rst:796 msgid "" "should have the desired effect. If an organisation produces a number of " "libraries, then the logger name specified can be 'orgname.foo' rather than " "just 'foo'." msgstr "" +"deve resultar no efeito desejado. Se uma organização produzir vários " +"bibliotecas, o nome do logger especificado poderá ser 'orgname.foo' em vez " +"de apenas 'foo'." -#: ../../howto/logging.rst:836 +#: ../../howto/logging.rst:800 msgid "" "It is strongly advised that you *do not log to the root logger* in your " "library. Instead, use a logger with a unique and easily identifiable name, " @@ -1151,23 +1413,37 @@ msgid "" "application developer to configure the logging verbosity or handlers of your " "library as they wish." msgstr "" - -#: ../../howto/logging.rst:843 -msgid "" -"It is strongly advised that you *do not add any handlers other than* :class:" -"`~logging.NullHandler` *to your library's loggers*. This is because the " -"configuration of handlers is the prerogative of the application developer " -"who uses your library. The application developer knows their target audience " -"and what handlers are most appropriate for their application: if you add " -"handlers 'under the hood', you might well interfere with their ability to " -"carry out unit tests and deliver logs which suit their requirements." -msgstr "" - -#: ../../howto/logging.rst:854 +"É altamente recomendável que você *não registre logs no logger raiz* do seu " +"biblioteca. Em vez disso, use um logger com um nome exclusivo e facilmente " +"identificável, como o ``__name__`` do nível superior do seu pacote/módulo da " +"biblioteca. O registro em log no logger raiz dificultará, ou mesmo tornará " +"impossível que o desenvolvedor da aplicação personalize o manipulador e a " +"verbosidade de logging." + +#: ../../howto/logging.rst:807 +msgid "" +"It is strongly advised that you *do not add any handlers other " +"than* :class:`~logging.NullHandler` *to your library's loggers*. This is " +"because the configuration of handlers is the prerogative of the application " +"developer who uses your library. The application developer knows their " +"target audience and what handlers are most appropriate for their " +"application: if you add handlers 'under the hood', you might well interfere " +"with their ability to carry out unit tests and deliver logs which suit their " +"requirements." +msgstr "" +"É altamente recomendável que você *não adicione outros manipuladores além " +"de* :class:`~logging.NullHandler` *nos loggers da sua biblioteca*. Isso " +"porque a configuração de manipuladores é responsabilidade do desenvolvedor " +"da aplicação que utilizará ela. O desenvolvedor sabe o público-alvo da " +"aplicação final, e, portanto, sabe também quais são os manipuladores mais " +"adequados para o caso. Se você adicionar manipuladores 'ocultos', poderá " +"interferir na criação de testes unitários e na entrega de logs úteis." + +#: ../../howto/logging.rst:818 msgid "Logging Levels" -msgstr "" +msgstr "Níveis de Logging" -#: ../../howto/logging.rst:856 +#: ../../howto/logging.rst:820 msgid "" "The numeric values of logging levels are given in the following table. These " "are primarily of interest if you want to define your own levels, and need " @@ -1175,40 +1451,45 @@ msgid "" "define a level with the same numeric value, it overwrites the predefined " "value; the predefined name is lost." msgstr "" +"Os valores numéricos dos níveis de logging estão listados na tabela abaixo. " +"Eles são principalmente de interesse se você quiser definir seus próprios " +"níveis, e precisa deles para definir seus valores específicos relativos aos " +"níveis predefinidos. Se você define um nível com o mesmo valor numérico, ele " +"sobrescreve o valor predefinido; o nome predefinido é perdido." -#: ../../howto/logging.rst:863 +#: ../../howto/logging.rst:827 msgid "Numeric value" msgstr "Valor numérico" -#: ../../howto/logging.rst:865 +#: ../../howto/logging.rst:829 msgid "50" msgstr "50" -#: ../../howto/logging.rst:867 +#: ../../howto/logging.rst:831 msgid "40" msgstr "40" -#: ../../howto/logging.rst:869 +#: ../../howto/logging.rst:833 msgid "30" msgstr "30" -#: ../../howto/logging.rst:871 +#: ../../howto/logging.rst:835 msgid "20" msgstr "20" -#: ../../howto/logging.rst:873 +#: ../../howto/logging.rst:837 msgid "10" msgstr "10" -#: ../../howto/logging.rst:875 +#: ../../howto/logging.rst:839 msgid "``NOTSET``" msgstr "``NOTSET``" -#: ../../howto/logging.rst:875 +#: ../../howto/logging.rst:839 msgid "0" msgstr "0" -#: ../../howto/logging.rst:878 +#: ../../howto/logging.rst:842 msgid "" "Levels can also be associated with loggers, being set either by the " "developer or through loading a saved logging configuration. When a logging " @@ -1217,46 +1498,77 @@ msgid "" "the method call's, no logging message is actually generated. This is the " "basic mechanism controlling the verbosity of logging output." msgstr "" +"Os níveis também podem ser associados aos registradores, sendo definidos " +"pelo desenvolvedor ou por meio do carregamento de uma configuração salva. " +"Quando um método de logging é invocado em um logger, o logger compara o seu " +"próprio nível com o nível associado à chamada do método. Se o nível do " +"logger for maior do que o da chamada do método, nenhuma mensagem será " +"gerada. Esse é o mecanismo básico que controla a verbosidade da saída de " +"logging." -#: ../../howto/logging.rst:885 +#: ../../howto/logging.rst:849 msgid "" "Logging messages are encoded as instances of the :class:`~logging.LogRecord` " -"class. When a logger decides to actually log an event, a :class:`~logging." -"LogRecord` instance is created from the logging message." -msgstr "" - -#: ../../howto/logging.rst:889 -msgid "" -"Logging messages are subjected to a dispatch mechanism through the use of :" -"dfn:`handlers`, which are instances of subclasses of the :class:`Handler` " -"class. Handlers are responsible for ensuring that a logged message (in the " -"form of a :class:`LogRecord`) ends up in a particular location (or set of " -"locations) which is useful for the target audience for that message (such as " -"end users, support desk staff, system administrators, developers). Handlers " -"are passed :class:`LogRecord` instances intended for particular " -"destinations. Each logger can have zero, one or more handlers associated " -"with it (via the :meth:`~Logger.addHandler` method of :class:`Logger`). In " -"addition to any handlers directly associated with a logger, *all handlers " -"associated with all ancestors of the logger* are called to dispatch the " -"message (unless the *propagate* flag for a logger is set to a false value, " -"at which point the passing to ancestor handlers stops)." -msgstr "" +"class. When a logger decides to actually log an event, " +"a :class:`~logging.LogRecord` instance is created from the logging message." +msgstr "" +"As mensagens de logging são representadas como instâncias da " +"classe :class:`~logging.LogRecord`. Quando um logger decide registrar um " +"evento, uma instância de :class:`~logging.LogRecord` é criada a partir da " +"mensagem de logging." + +#: ../../howto/logging.rst:853 +msgid "" +"Logging messages are subjected to a dispatch mechanism through the use " +"of :dfn:`handlers`, which are instances of subclasses of " +"the :class:`Handler` class. Handlers are responsible for ensuring that a " +"logged message (in the form of a :class:`LogRecord`) ends up in a particular " +"location (or set of locations) which is useful for the target audience for " +"that message (such as end users, support desk staff, system administrators, " +"developers). Handlers are passed :class:`LogRecord` instances intended for " +"particular destinations. Each logger can have zero, one or more handlers " +"associated with it (via the :meth:`~Logger.addHandler` method " +"of :class:`Logger`). In addition to any handlers directly associated with a " +"logger, *all handlers associated with all ancestors of the logger* are " +"called to dispatch the message (unless the *propagate* flag for a logger is " +"set to a false value, at which point the passing to ancestor handlers stops)." +msgstr "" +"As mensagens de logging passam por um mecanismo de despacho que " +"utiliza :dfn:`manipuladores`, que são instâncias de subclasses da " +"classe :class:`Handler`. Manipuladores são responsáveis por assegurar que " +"uma mensagem registrada em log (na forma de :class:`LogRecord`) seja " +"encaminhada para um determinado destino (ou conjunto de destinos) que serão " +"úteis para o público-alvo daquela mensagem (como usuários finais, equipe de " +"suporte, administradores do sistema e desenvolvedores). Manipuladores " +"transmitem :class:`LogRecord` para destinos específicos. Cada logger pode " +"ter zero, um ou mais manipuladores associados à ele (através do " +"método :meth:`~Logger.addHandler` de :class:`Logger`). Além disso, não são " +"apenas os manipuladores diretamente associados a um logger que processam a " +"mensagem. Por padrão, os manipuladores de todos os loggers ancestrais também " +"participam do despacho. Essa propagação só é interrompida se o atributo " +"*propagate* do logger estiver definido como ``False``." -#: ../../howto/logging.rst:903 +#: ../../howto/logging.rst:867 msgid "" "Just as for loggers, handlers can have levels associated with them. A " "handler's level acts as a filter in the same way as a logger's level does. " -"If a handler decides to actually dispatch an event, the :meth:`~Handler." -"emit` method is used to send the message to its destination. Most user-" -"defined subclasses of :class:`Handler` will need to override this :meth:" -"`~Handler.emit`." -msgstr "" - -#: ../../howto/logging.rst:912 +"If a handler decides to actually dispatch an event, " +"the :meth:`~Handler.emit` method is used to send the message to its " +"destination. Most user-defined subclasses of :class:`Handler` will need to " +"override this :meth:`~Handler.emit`." +msgstr "" +"Assim como os loggers, os manipuladores também podem ter níveis associados. " +"O nível de um manipulador funciona como um filtro, do mesmo modo que o nível " +"de um logger. Quando um manipulador decide processar um evento, ele utiliza " +"o método :meth:`~Handler.emit` para enviar a mensagem ao seu destino. Na " +"maioria dos casos, subclasses personalizadas de :class:`Handler` precisarão " +"substituir esse método :meth:`~Handler.emit`." + +#: ../../howto/logging.rst:876 msgid "Custom Levels" -msgstr "" +msgstr "Níveis personalizados" -#: ../../howto/logging.rst:914 +#: ../../howto/logging.rst:878 msgid "" "Defining your own levels is possible, but should not be necessary, as the " "existing levels have been chosen on the basis of practical experience. " @@ -1268,12 +1580,21 @@ msgid "" "difficult for the using developer to control and/or interpret, because a " "given numeric value might mean different things for different libraries." msgstr "" - -#: ../../howto/logging.rst:927 +"Criar seus próprios níveis é possível, mas não deve ser necessário, pois os " +"níveis existentes foram escolhidos com base na experiência prática. No " +"entanto, se for estritamente necessário, tome cuidado para fazer. E se você " +"está *desenvolvendo uma biblioteca, não é recomendado que defina níveis " +"personalizados*. Isso porque, se vários autores de biblioteca definirem seus " +"próprios níveis personalizados, as saídas de logging das bibliotecas em " +"conjunto serão orquestradas com maior dificuldade pelo desenvolvedor, pois " +"um determinado valor numérico poderá significar coisas diferentes para " +"diferentes bibliotecas." + +#: ../../howto/logging.rst:891 msgid "Useful Handlers" -msgstr "" +msgstr "Handlers úteis" -#: ../../howto/logging.rst:929 +#: ../../howto/logging.rst:893 msgid "" "In addition to the base :class:`Handler` class, many useful subclasses are " "provided:" @@ -1281,223 +1602,326 @@ msgstr "" "Em adição à classe base :class:`Handler`, muitas subclasses úteis são " "fornecidas:" -#: ../../howto/logging.rst:932 +#: ../../howto/logging.rst:896 msgid "" ":class:`StreamHandler` instances send messages to streams (file-like " "objects)." msgstr "" +":class:`StreamHandler`, quando instanciadas, enviam mensagens para streams " +"(objeto arquivo ou similar)." -#: ../../howto/logging.rst:935 +#: ../../howto/logging.rst:899 msgid ":class:`FileHandler` instances send messages to disk files." msgstr "" +":class:`FileHandler`, quando instanciadas, enviam mensagens para arquivos " +"locais de disco." -#: ../../howto/logging.rst:937 +#: ../../howto/logging.rst:901 msgid "" ":class:`~handlers.BaseRotatingHandler` is the base class for handlers that " "rotate log files at a certain point. It is not meant to be instantiated " -"directly. Instead, use :class:`~handlers.RotatingFileHandler` or :class:" -"`~handlers.TimedRotatingFileHandler`." +"directly. Instead, use :class:`~handlers.RotatingFileHandler` " +"or :class:`~handlers.TimedRotatingFileHandler`." msgstr "" +":class:`~handlers.BaseRotatingHandler` é a classe base para objetos handler " +"que rotacionam os arquivos de logging em um determinado ponto. Não é feita " +"para ser instanciada diretamente. Em vez disso, " +"use :class:`~handlers.RotatingFileHandler` " +"ou :class:`~handlers.TimedRotatingFileHandler`." -#: ../../howto/logging.rst:942 +#: ../../howto/logging.rst:906 msgid "" ":class:`~handlers.RotatingFileHandler` instances send messages to disk " "files, with support for maximum log file sizes and log file rotation." msgstr "" +":class:`~handlers.RotatingFileHandler`, quando instanciadas, enviam " +"mensagens para arquivos locais de disco. Permite definir o tamanho máximo do " +"arquivo de log e configurar rotação." -#: ../../howto/logging.rst:945 +#: ../../howto/logging.rst:909 msgid "" ":class:`~handlers.TimedRotatingFileHandler` instances send messages to disk " "files, rotating the log file at certain timed intervals." msgstr "" +":class:`~handlers.TimedRotatingFileHandler`, quando instanciadas, enviam " +"mensagens para arquivos locais de disco, rotacionando o arquivo de log em " +"certos intervalos de tempo." -#: ../../howto/logging.rst:948 +#: ../../howto/logging.rst:912 msgid "" ":class:`~handlers.SocketHandler` instances send messages to TCP/IP sockets. " "Since 3.4, Unix domain sockets are also supported." msgstr "" +":class:`~handlers.SocketHandler`, quando instanciadas, enviam mensagens para " +"soquetes TCP/IP. Desde a versão 3.4, os soquetes de domínio Unix também são " +"suportados." -#: ../../howto/logging.rst:951 +#: ../../howto/logging.rst:915 msgid "" ":class:`~handlers.DatagramHandler` instances send messages to UDP sockets. " "Since 3.4, Unix domain sockets are also supported." msgstr "" +":class:`~handlers.DatagramHandler`, quando instanciadas, enviam mensagens " +"para soquetes UDP. Desde a versão 3.4, os soquetes de domínio Unix também " +"são suportados." -#: ../../howto/logging.rst:954 +#: ../../howto/logging.rst:918 msgid "" ":class:`~handlers.SMTPHandler` instances send messages to a designated email " "address." msgstr "" +":class:`~handlers.SMTPHandler`, quando instanciadas, enviam mensagens para " +"endereços de e-mail pré-definidos." -#: ../../howto/logging.rst:957 +#: ../../howto/logging.rst:921 msgid "" ":class:`~handlers.SysLogHandler` instances send messages to a Unix syslog " "daemon, possibly on a remote machine." msgstr "" +":class:`~handlers.SysLogHandler`, quando instanciadas, enviam mensagens para " +"um daemon syslog Unix, normalmente em um computador remoto." -#: ../../howto/logging.rst:960 +#: ../../howto/logging.rst:924 msgid "" -":class:`~handlers.NTEventLogHandler` instances send messages to a Windows " -"NT/2000/XP event log." +":class:`~handlers.NTEventLogHandler` instances send messages to a Windows NT/" +"2000/XP event log." msgstr "" +":class:`~handlers.NTEventLogHandler`, quando instanciadas, enviam mensagens " +"para um registro de log do Windows NT/2000/XP." -#: ../../howto/logging.rst:963 +#: ../../howto/logging.rst:927 msgid "" ":class:`~handlers.MemoryHandler` instances send messages to a buffer in " "memory, which is flushed whenever specific criteria are met." msgstr "" +":class:`~handlers.MemoryHandler`, quando instanciadas, enviam mensagens para " +"um buffer na memória, que é liberado sempre que alguns critérios específicos " +"são atendidos." -#: ../../howto/logging.rst:966 +#: ../../howto/logging.rst:930 msgid "" ":class:`~handlers.HTTPHandler` instances send messages to an HTTP server " "using either ``GET`` or ``POST`` semantics." msgstr "" +":class:`~handlers.HTTPHandler`, quando instanciadas, enviam mensagens para " +"um servidor HTTP, utilizando os métodos ``GET`` ou ``POST``." -#: ../../howto/logging.rst:969 +#: ../../howto/logging.rst:933 msgid "" ":class:`~handlers.WatchedFileHandler` instances watch the file they are " "logging to. If the file changes, it is closed and reopened using the file " "name. This handler is only useful on Unix-like systems; Windows does not " "support the underlying mechanism used." msgstr "" +":class:`~handlers.WatchedFileHandler`, quando instanciadas, observam o " +"arquivo que estão fazendo logging. Se o arquivo for alterado, ele será " +"fechado e reaberto com o mesmo nome. Este manipulador só é funcional em " +"sistemas Unix ou similares; o Windows não oferece suporte ao mecanismo " +"subjacente utilizado." -#: ../../howto/logging.rst:974 +#: ../../howto/logging.rst:938 msgid "" ":class:`~handlers.QueueHandler` instances send messages to a queue, such as " "those implemented in the :mod:`queue` or :mod:`multiprocessing` modules." msgstr "" +":class:`~handlers.QueueHandler`, quando instanciadas, enviam mensagem para " +"uma fila, que pode ser implementada com o módulo :mod:`queue` ou com o " +"módulo :mod:`multiprocessing`." -#: ../../howto/logging.rst:977 +#: ../../howto/logging.rst:941 msgid "" ":class:`NullHandler` instances do nothing with error messages. They are used " "by library developers who want to use logging, but want to avoid the 'No " -"handlers could be found for logger XXX' message which can be displayed if " +"handlers could be found for logger *XXX*' message which can be displayed if " "the library user has not configured logging. See :ref:`library-config` for " "more information." msgstr "" +":class:`NullHandler`, quando instanciadas, não fazem nada com as mensagens " +"de erro. Elas são usadas por desenvolvedores da biblioteca que precisam usar " +"o logging, mas querem evitar o aviso 'No handlers could be found for logger " +"*XXX*', que pode ser exibido quando o logging não é configurado. " +"Veja :ref:`library-config` para mais informações." -#: ../../howto/logging.rst:983 +#: ../../howto/logging.rst:947 msgid "The :class:`NullHandler` class." msgstr "A classe :class:`NullHandler`." -#: ../../howto/logging.rst:986 +#: ../../howto/logging.rst:950 msgid "The :class:`~handlers.QueueHandler` class." msgstr "A classe :class:`~handlers.QueueHandler`." -#: ../../howto/logging.rst:989 +#: ../../howto/logging.rst:953 msgid "" "The :class:`NullHandler`, :class:`StreamHandler` and :class:`FileHandler` " "classes are defined in the core logging package. The other handlers are " "defined in a sub-module, :mod:`logging.handlers`. (There is also another sub-" "module, :mod:`logging.config`, for configuration functionality.)" msgstr "" +"As subclasses :class:`NullHandler`, :class:`StreamHandler` " +"e :class:`FileHandler` são definidas no pacote base de logging. Os outros " +"manipuladores são definidos no submódulo :mod:`logging.handlers`. (Existe " +"também outro submódulo, :mod:`logging.config`, para configurar as " +"funcionalidades)." -#: ../../howto/logging.rst:994 +#: ../../howto/logging.rst:958 msgid "" -"Logged messages are formatted for presentation through instances of the :" -"class:`Formatter` class. They are initialized with a format string suitable " -"for use with the % operator and a dictionary." +"Logged messages are formatted for presentation through instances of " +"the :class:`Formatter` class. They are initialized with a format string " +"suitable for use with the % operator and a dictionary." msgstr "" +"As mensagens de log são formatadas por meio de instâncias da " +"classe :class:`Formatter`. Elas são inicializadas com uma string de formato, " +"que pode ser usada junto com o operador % e um dicionário para substituir os " +"valores na mensagem." -#: ../../howto/logging.rst:998 +#: ../../howto/logging.rst:962 msgid "" -"For formatting multiple messages in a batch, instances of :class:`~handlers." -"BufferingFormatter` can be used. In addition to the format string (which is " -"applied to each message in the batch), there is provision for header and " -"trailer format strings." +"For formatting multiple messages in a batch, instances " +"of :class:`BufferingFormatter` can be used. In addition to the format string " +"(which is applied to each message in the batch), there is provision for " +"header and trailer format strings." msgstr "" +"Para formatar várias mensagens em um lote, podem ser usadas instâncias " +"de :class:`BufferingFormatter`. Além de aplicar string de formato em cada " +"mensagem do lote, é possível definir strings de formato para o cabeçalho e o " +"rodapé do lote." -#: ../../howto/logging.rst:1003 +#: ../../howto/logging.rst:967 msgid "" "When filtering based on logger level and/or handler level is not enough, " -"instances of :class:`Filter` can be added to both :class:`Logger` and :class:" -"`Handler` instances (through their :meth:`~Handler.addFilter` method). " -"Before deciding to process a message further, both loggers and handlers " -"consult all their filters for permission. If any filter returns a false " -"value, the message is not processed further." -msgstr "" +"instances of :class:`Filter` can be added to both :class:`Logger` " +"and :class:`Handler` instances (through their :meth:`~Handler.addFilter` " +"method). Before deciding to process a message further, both loggers and " +"handlers consult all their filters for permission. If any filter returns a " +"false value, the message is not processed further." +msgstr "" +"Quando não for suficiente fazer a filtragem baseada no nível do logger e/ou " +"no nível de manipulador, instâncias de :class:`Filter` poderão ser " +"adicionadas às instâncias de :class:`Logger` e :class:`Handler` (por meio do " +"método :meth:`~Handler.addFilter`). Antes de processar uma mensagem, os " +"loggers e manipuladores consultam todos os seus filtros para obter " +"permissão. Se algum filtro retornar um valor falso, a mensagem não é " +"processada." -#: ../../howto/logging.rst:1010 +#: ../../howto/logging.rst:974 msgid "" "The basic :class:`Filter` functionality allows filtering by specific logger " "name. If this feature is used, messages sent to the named logger and its " "children are allowed through the filter, and all others dropped." msgstr "" +"A funcionalidade básica do :class:`Filter` permite a filtragem por um nome " +"específico de logger. Se este recurso for usado, as mensagens enviadas para " +"o logger com esse nome, ou seus descendentes, serão permitidas pelo filtro. " +"E todas as outras são descartadas." -#: ../../howto/logging.rst:1018 +#: ../../howto/logging.rst:982 msgid "Exceptions raised during logging" msgstr "Exceções levantadas durante logging" -#: ../../howto/logging.rst:1020 +#: ../../howto/logging.rst:984 msgid "" "The logging package is designed to swallow exceptions which occur while " "logging in production. This is so that errors which occur while handling " "logging events - such as logging misconfiguration, network or other similar " "errors - do not cause the application using logging to terminate prematurely." msgstr "" +"O pacote de logging foi projetado para inibir exceções que possam ocorrer " +"quando os registros forem feitos em produção. Desta forma, a aplicação que " +"está utilizando logging não encerrará abruptamente caso hajam erros nos " +"eventos de logging - devido a problemas como má configuração, rede ou " +"outros." -#: ../../howto/logging.rst:1025 +#: ../../howto/logging.rst:989 msgid "" ":class:`SystemExit` and :class:`KeyboardInterrupt` exceptions are never " "swallowed. Other exceptions which occur during the :meth:`~Handler.emit` " -"method of a :class:`Handler` subclass are passed to its :meth:`~Handler." -"handleError` method." +"method of a :class:`Handler` subclass are passed to " +"its :meth:`~Handler.handleError` method." msgstr "" +"As exceções :class:`SystemExit` e :class:`KeyboardInterrupt` nunca são " +"inibidas. Outras exceções que possam ocorrem durante o " +"método :meth:`~Handler.emit` de uma subclasse de :class:`Handler` são " +"passadas para seus respectivos métodos :meth:`~Handler.handleError`." -#: ../../howto/logging.rst:1030 +#: ../../howto/logging.rst:994 msgid "" -"The default implementation of :meth:`~Handler.handleError` in :class:" -"`Handler` checks to see if a module-level variable, :data:`raiseExceptions`, " -"is set. If set, a traceback is printed to :data:`sys.stderr`. If not set, " -"the exception is swallowed." +"The default implementation of :meth:`~Handler.handleError` " +"in :class:`Handler` checks to see if a module-level " +"variable, :data:`raiseExceptions`, is set. If set, a traceback is printed " +"to :data:`sys.stderr`. If not set, the exception is swallowed." msgstr "" +"A implementação padrão de :meth:`~Handler.handleError` em :class:`Handler` " +"verifica se uma variável de módulo, :data:`raiseExceptions`, está definida. " +"Caso esteja, um traceback (situação da pilha de execução) é exibido " +"em :data:`sys.stderr`. Se não, a exceção é inibida." -#: ../../howto/logging.rst:1035 +#: ../../howto/logging.rst:1000 msgid "" "The default value of :data:`raiseExceptions` is ``True``. This is because " "during development, you typically want to be notified of any exceptions that " "occur. It's advised that you set :data:`raiseExceptions` to ``False`` for " "production usage." msgstr "" +"O valor padrão de :data:`raiseExceptions` é ``verdadeiro``. Isso ocorre " +"porque, durante o desenvolvimento, você normalmente desejará ser notificado " +"sobre qualquer exceção que ocorra. É recomendável que você " +"defina :data:`raiseExceptions` como ``falso`` para usos em produção." -#: ../../howto/logging.rst:1045 +#: ../../howto/logging.rst:1010 msgid "Using arbitrary objects as messages" msgstr "Usando objetos arbitrários como mensagens" -#: ../../howto/logging.rst:1047 +#: ../../howto/logging.rst:1012 msgid "" "In the preceding sections and examples, it has been assumed that the message " "passed when logging the event is a string. However, this is not the only " -"possibility. You can pass an arbitrary object as a message, and its :meth:" -"`~object.__str__` method will be called when the logging system needs to " -"convert it to a string representation. In fact, if you want to, you can " -"avoid computing a string representation altogether - for example, the :class:" -"`~handlers.SocketHandler` emits an event by pickling it and sending it over " -"the wire." -msgstr "" - -#: ../../howto/logging.rst:1058 +"possibility. You can pass an arbitrary object as a message, and " +"its :meth:`~object.__str__` method will be called when the logging system " +"needs to convert it to a string representation. In fact, if you want to, you " +"can avoid computing a string representation altogether - for example, " +"the :class:`~handlers.SocketHandler` emits an event by pickling it and " +"sending it over the wire." +msgstr "" +"Nas seções e exemplos anteriores, todas as mensagens criadas ao realizar o " +"logging de um evento foram instanciadas como string. No entanto, essa não é " +"a única possibilidade. Você pode passar um objeto arbitrário como mensagem, " +"e seu método :meth:`~object.__str__` será chamado quando o sistema de " +"logging precisar convertê-lo em uma string. Inclusive, é possível evitar " +"totalmente o uso de uma representação em string - por exemplo, a " +"classe :class:`~handlers.SocketHandler` emite a mensagem enviando pela rede " +"sua respectiva serialização com pickle." + +#: ../../howto/logging.rst:1023 msgid "Optimization" msgstr "Optimização" -#: ../../howto/logging.rst:1060 +#: ../../howto/logging.rst:1025 msgid "" "Formatting of message arguments is deferred until it cannot be avoided. " "However, computing the arguments passed to the logging method can also be " "expensive, and you may want to avoid doing it if the logger will just throw " -"away your event. To decide what to do, you can call the :meth:`~Logger." -"isEnabledFor` method which takes a level argument and returns true if the " -"event would be created by the Logger for that level of call. You can write " -"code like this::" +"away your event. To decide what to do, you can call " +"the :meth:`~Logger.isEnabledFor` method which takes a level argument and " +"returns true if the event would be created by the Logger for that level of " +"call. You can write code like this::" msgstr "" +"A formatação dos argumentos das mensagem é adiada até o quanto for possível. " +"No entanto, o processamento dos argumentos para o método de logging pode ser " +"custoso, e talvez você queira evitar fazê-lo, se o logging for descartar o " +"evento. Para decidir o que fazer, você pode chamar o " +"método :meth:`~Logger.isEnabledFor`, que recebe um nível como argumento e " +"retorna verdadeiro apenas se o evento tiver sido criado pelo logger para " +"esse nível em específico. Desta forma, você pode escrever algo como:" -#: ../../howto/logging.rst:1072 +#: ../../howto/logging.rst:1037 msgid "" -"so that if the logger's threshold is set above ``DEBUG``, the calls to :func:" -"`expensive_func1` and :func:`expensive_func2` are never made." +"so that if the logger's threshold is set above ``DEBUG``, the calls to " +"``expensive_func1`` and ``expensive_func2`` are never made." msgstr "" +"desta forma, se o limite do logger for definido acima de ``DEBUG``, as " +"chamadas para ``func_custosa1`` e ``func_custosa2`` nunca serão feitas." -#: ../../howto/logging.rst:1075 +#: ../../howto/logging.rst:1040 msgid "" "In some cases, :meth:`~Logger.isEnabledFor` can itself be more expensive " "than you'd like (e.g. for deeply nested loggers where an explicit level is " @@ -1508,91 +1932,115 @@ msgid "" "need to be recomputed when the logging configuration changes dynamically " "while the application is running (which is not all that common)." msgstr "" +"Em alguns casos, o próprio :meth:`~Logger.isEnabledFor` pode ser mais " +"custoso do que você gostaria (por exemplo, para loggers profundamente " +"aninhados, em que um nível explícito só é definido no logger mais alto da " +"hierarquia). Nesses casos (ou se você quiser evitar chamar um método em um " +"laço), é possível cachear o resultado de uma chamada " +"para :meth:`~Logger.isEnabledFor` em uma variável local ou instância, e usá-" +"lo em vez de chamar o método todas as vezes. Este valor armazenado só " +"precisaria ser recalculado se a configuração do logger fosse alterada " +"dinamicamente, com a aplicação em execução (o que não é comum)." -#: ../../howto/logging.rst:1084 +#: ../../howto/logging.rst:1049 msgid "" "There are other optimizations which can be made for specific applications " "which need more precise control over what logging information is collected. " "Here's a list of things you can do to avoid processing during logging which " "you don't need:" msgstr "" +"Existem outras otimizações que podem ser feitas para aplicação específicas " +"que precisam de um controle mais preciso sobre quais informações de logging " +"são registradas. Abaixo encontra-se uma lista de coisas que você pode fazer " +"para evitar o processamento desnecessário para loggings que serão " +"descartados:" -#: ../../howto/logging.rst:1090 +#: ../../howto/logging.rst:1055 msgid "What you don't want to collect" -msgstr "O que você não quer coletar" +msgstr "O que você não quer registrar" -#: ../../howto/logging.rst:1090 +#: ../../howto/logging.rst:1055 msgid "How to avoid collecting it" -msgstr "" +msgstr "Como evitar o registro" -#: ../../howto/logging.rst:1092 +#: ../../howto/logging.rst:1057 msgid "Information about where calls were made from." -msgstr "" +msgstr "Informações sobre o ponto em que as chamadas foram feitas." -#: ../../howto/logging.rst:1092 +#: ../../howto/logging.rst:1057 msgid "" -"Set ``logging._srcfile`` to ``None``. This avoids calling :func:`sys." -"_getframe`, which may help to speed up your code in environments like PyPy " -"(which can't speed up code that uses :func:`sys._getframe`)." +"Set ``logging._srcfile`` to ``None``. This avoids " +"calling :func:`sys._getframe`, which may help to speed up your code in " +"environments like PyPy (which can't speed up code that " +"uses :func:`sys._getframe`)." msgstr "" +"Defina ``logging._srcfile`` como ``None``. Isso evita " +"chamar :func:`sys._getframe`, o que pode acelerar seu código em ambientes " +"como o PyPy (que não consegue acelerar códigos que " +"usam :func:`sys._getframe`)." -#: ../../howto/logging.rst:1098 +#: ../../howto/logging.rst:1063 msgid "Threading information." -msgstr "" +msgstr "Informações sobre threading." -#: ../../howto/logging.rst:1098 +#: ../../howto/logging.rst:1063 msgid "Set ``logging.logThreads`` to ``False``." -msgstr "" +msgstr "Defina ``logging.logThreads`` como ``False``." -#: ../../howto/logging.rst:1100 +#: ../../howto/logging.rst:1065 msgid "Current process ID (:func:`os.getpid`)" -msgstr "" +msgstr "ID do processo atual (:func:`os.getpid`)" -#: ../../howto/logging.rst:1100 +#: ../../howto/logging.rst:1065 msgid "Set ``logging.logProcesses`` to ``False``." -msgstr "" +msgstr "Defina ``logging.logProcesses`` como ``False``." -#: ../../howto/logging.rst:1102 +#: ../../howto/logging.rst:1067 msgid "" "Current process name when using ``multiprocessing`` to manage multiple " "processes." msgstr "" +"Nome do processo atual, ao utilizar o módulo ``multiprocessing`` para " +"gerenciar múltiplos processamentos." -#: ../../howto/logging.rst:1102 +#: ../../howto/logging.rst:1067 msgid "Set ``logging.logMultiprocessing`` to ``False``." -msgstr "" +msgstr "Defina ``logging.logMultiprocessing`` como ``False``." -#: ../../howto/logging.rst:1106 +#: ../../howto/logging.rst:1071 msgid "" "Also note that the core logging module only includes the basic handlers. If " "you don't import :mod:`logging.handlers` and :mod:`logging.config`, they " "won't take up any memory." msgstr "" +"Observe também que o módulo base de logging inclui apenas o manipulador " +"básico. Se você não importar :mod:`logging.handlers` " +"e :mod:`logging.config`, eles não ocuparão nenhum espaço da memória." -#: ../../howto/logging.rst:1113 +#: ../../howto/logging.rst:1078 msgid "Module :mod:`logging`" msgstr "Módulo :mod:`logging`" -#: ../../howto/logging.rst:1113 +#: ../../howto/logging.rst:1078 msgid "API reference for the logging module." msgstr "Referência da API para o módulo de logging." -#: ../../howto/logging.rst:1116 +#: ../../howto/logging.rst:1081 msgid "Module :mod:`logging.config`" msgstr "Módulo :mod:`logging.config`" -#: ../../howto/logging.rst:1116 +#: ../../howto/logging.rst:1081 msgid "Configuration API for the logging module." msgstr "API de configuração para o módulo logging." -#: ../../howto/logging.rst:1119 +#: ../../howto/logging.rst:1084 msgid "Module :mod:`logging.handlers`" msgstr "Módulo :mod:`logging.handlers`" -#: ../../howto/logging.rst:1119 +#: ../../howto/logging.rst:1084 msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Tratadores úteis incluídos no módulo logging." -#: ../../howto/logging.rst:1121 +#: ../../howto/logging.rst:1086 msgid ":ref:`A logging cookbook `" -msgstr ":ref:`A logging cookbook `" +msgstr ":ref:`Um livro de receitas do logging `" diff --git a/howto/pyporting.po b/howto/pyporting.po index f8d3f9ed6..05c33eabb 100644 --- a/howto/pyporting.po +++ b/howto/pyporting.po @@ -1,739 +1,106 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Marcos Wenneton Araújo , 2021 -# Hemílio Lauro , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" -#: ../../howto/pyporting.rst:5 -msgid "Porting Python 2 Code to Python 3" -msgstr "Portando códigos do Python 2 para o Python 3" +#: ../../howto/pyporting.rst:7 +msgid "How to port Python 2 Code to Python 3" +msgstr "Como portar códigos do Python 2 para o Python 3" #: ../../howto/pyporting.rst:0 msgid "author" msgstr "autor" -#: ../../howto/pyporting.rst:7 +#: ../../howto/pyporting.rst:9 msgid "Brett Cannon" msgstr "Brett Cannon" -#: ../../howto/pyporting.rstNone -msgid "Abstract" -msgstr "Resumo" - #: ../../howto/pyporting.rst:11 msgid "" -"With Python 3 being the future of Python while Python 2 is still in active " -"use, it is good to have your project available for both major releases of " -"Python. This guide is meant to help you figure out how best to support both " -"Python 2 & 3 simultaneously." +"Python 2 reached its official end-of-life at the start of 2020. This means " +"that no new bug reports, fixes, or changes will be made to Python 2 - it's " +"no longer supported: see :pep:`373` and `status of Python versions `_." msgstr "" -"Com o Python 3 sendo o futuro do Python, enquanto o Python 2 ainda está em " -"uso ativo, é bom ter seu projeto disponível para ambos os principais " -"lançamentos do Python. Este guia destina-se a ajudá-lo a descobrir como " -"melhor para dar suporte a tanto Python 2 & 3 simultaneamente." +"O Python 2 atingiu seu fim de vida oficial no início de 2020. Isso significa " +"que nenhum novo relatório de bug, correção ou alteração será feito no Python " +"2 - ele não é mais compatível: consulte a :pep:`373` e o `status das versões " +"do Python `_." #: ../../howto/pyporting.rst:16 msgid "" "If you are looking to port an extension module instead of pure Python code, " "please see :ref:`cporting-howto`." msgstr "" -"Se você está pensando wm portar um módulo de extensão em vez de puro código " +"Se você está pensando em portar um módulo de extensão em vez de puro código " "Python, veja :ref:`cporting-howto`." #: ../../howto/pyporting.rst:19 msgid "" -"If you would like to read one core Python developer's take on why Python 3 " -"came into existence, you can read Nick Coghlan's `Python 3 Q & A`_ or Brett " -"Cannon's `Why Python 3 exists`_." +"The archived python-porting_ mailing list may contain some useful guidance." msgstr "" -"Se você gostaria de ler algo do ponto de vista de um desenvolvedor core do " -"Python sobre por que Python 3 veio à existência, você pode ler `Python 3 Q & " -"A`_ de Nick Coghlan ou `Why Python 3 exists`_ de Brett Cannon." +"A lista de discussão python-porting_ arquivada pode conter algumas " +"orientações úteis." -#: ../../howto/pyporting.rst:24 +#: ../../howto/pyporting.rst:21 msgid "" -"For help with porting, you can view the archived python-porting_ mailing " -"list." +"Since Python 3.13 the original porting guide was discontinued. You can find " +"the old guide in the `archive `_." msgstr "" -"Para ajuda com o port, você pode ver a lista de discussão python-porting_ " -"arquivado." +"Desde o Python 3.13, o guia de portabilidade original foi descontinuado. " +"Você pode encontrar o guia antigo no `arquivo `_." #: ../../howto/pyporting.rst:27 -msgid "The Short Explanation" -msgstr "A explicação breve" +msgid "Third-party guides" +msgstr "Guias de terceiros" #: ../../howto/pyporting.rst:29 -msgid "" -"To make your project be single-source Python 2/3 compatible, the basic steps " -"are:" -msgstr "" -"Para tornar seu projeto compatível com Python 2/3 de código único, as etapas " -"básicas são:" - -#: ../../howto/pyporting.rst:32 -msgid "Only worry about supporting Python 2.7" -msgstr "Apenas se preocupe com suporte ao Python 2.7" - -#: ../../howto/pyporting.rst:33 -msgid "" -"Make sure you have good test coverage (coverage.py_ can help; ``python -m " -"pip install coverage``)" -msgstr "" -"Certifique-se de ter uma boa cobertura de teste (coverage.py_ pode ajudar; " -"``python -m pip install coverage``)" - -#: ../../howto/pyporting.rst:35 ../../howto/pyporting.rst:122 -msgid "Learn the differences between Python 2 & 3" -msgstr "Aprenda as diferenças entre Python 2 e 3" - -#: ../../howto/pyporting.rst:36 -msgid "" -"Use Futurize_ (or Modernize_) to update your code (e.g. ``python -m pip " -"install future``)" -msgstr "" -"Use Futurize_ (ou Modernize_) para atualizar o seu código (por exemplo, " -"``python -m pip install future``)" - -#: ../../howto/pyporting.rst:37 -msgid "" -"Use Pylint_ to help make sure you don't regress on your Python 3 support " -"(``python -m pip install pylint``)" -msgstr "" -"Use Pylint_ para ajudar a garantir que você não regresse em seu suporte a " -"Python 3 (``python -m pip install pylint``)" - -#: ../../howto/pyporting.rst:39 -msgid "" -"Use caniusepython3_ to find out which of your dependencies are blocking your " -"use of Python 3 (``python -m pip install caniusepython3``)" -msgstr "" -"Use caniusepython3_ para descobrir qual de suas dependências está bloqueando " -"seu uso de Python 3 (``python -m pip install caniusepython3``)" - -#: ../../howto/pyporting.rst:41 -msgid "" -"Once your dependencies are no longer blocking you, use continuous " -"integration to make sure you stay compatible with Python 2 & 3 (tox_ can " -"help test against multiple versions of Python; ``python -m pip install tox``)" -msgstr "" -"Uma vez que suas dependências não estão bloqueando, use a integração " -"contínua para garantir que você fique compatível com Python 2 e 3 (tox_ pode " -"ajudar a testar contra várias versões do Python; ``python -m pip install " -"tox``)" - -#: ../../howto/pyporting.rst:44 -msgid "" -"Consider using optional static type checking to make sure your type usage " -"works in both Python 2 & 3 (e.g. use mypy_ to check your typing under both " -"Python 2 & Python 3; ``python -m pip install mypy``)." -msgstr "" -"Considere o uso de verificação de tipo estático opcional para garantir que " -"seu uso de tipo funciona em ambos Python 2 e 3 (por exemplo, use mypy_ para " -"verificar sua tipagem em ambos Python 2 e Python 3; ``python -m pip install " -"mypy``)." - -#: ../../howto/pyporting.rst:50 -msgid "" -"Note: Using ``python -m pip install`` guarantees that the ``pip`` you invoke " -"is the one installed for the Python currently in use, whether it be a system-" -"wide ``pip`` or one installed within a :ref:`virtual environment `." -msgstr "" -"Nota: Usar ``python -m pip install`` garante que o ``pip`` que você invoca é " -"o instalado para o Python atualmente em uso, seja um ``pip`` em todo o " -"sistema ou um instalado dentro de um :ref:`ambiente virtual `." +msgid "There are also multiple third-party guides that might be useful:" +msgstr "Existem também vários guias de terceiros que podem ser úteis:" -#: ../../howto/pyporting.rst:56 -msgid "Details" -msgstr "Detalhes" - -#: ../../howto/pyporting.rst:58 -msgid "" -"A key point about supporting Python 2 & 3 simultaneously is that you can " -"start **today**! Even if your dependencies are not supporting Python 3 yet " -"that does not mean you can't modernize your code **now** to support Python " -"3. Most changes required to support Python 3 lead to cleaner code using " -"newer practices even in Python 2 code." -msgstr "" -"Um ponto-chave sobre o suporte ao Python 2 e 3 simultaneamente é que você " -"pode começar hoje! Mesmo que suas dependências não tenham suporte ao Python " -"3 ainda isso não significa que você não pode modernizar seu código agora " -"para apoiar o Python 3. A maioria das alterações necessárias para dar " -"suportea o Python 3 levam ao código mais limpo usando práticas mais " -"recentes, mesmo no código Python 2." - -#: ../../howto/pyporting.rst:64 -msgid "" -"Another key point is that modernizing your Python 2 code to also support " -"Python 3 is largely automated for you. While you might have to make some API " -"decisions thanks to Python 3 clarifying text data versus binary data, the " -"lower-level work is now mostly done for you and thus can at least benefit " -"from the automated changes immediately." -msgstr "" -"Outro ponto-chave é que modernizar seu código Python 2 para também dar " -"suporte a Python 3 é amplamente automatizado para você. Embora você possa " -"ter que tomar algumas decisões da API graças ao Python 3 esclarecendo dados " -"de texto versus dados binários, o trabalho de nível inferior agora é feito " -"principalmente para você e, portanto, pode pelo menos beneficiar das " -"mudanças automatizadas imediatamente." +#: ../../howto/pyporting.rst:31 +msgid "`Guide by Fedora `_" +msgstr "`Guia por Fedora `_" -#: ../../howto/pyporting.rst:70 -msgid "" -"Keep those key points in mind while you read on about the details of porting " -"your code to support Python 2 & 3 simultaneously." -msgstr "" -"Mantenha esses pontos-chave em mente enquanto você lê sobre os detalhes de " -"portar seu código para dar suporte a Python 2 e 3 simultaneamente." - -#: ../../howto/pyporting.rst:75 -msgid "Drop support for Python 2.6 and older" -msgstr "Desativa suporte para Python 2.6 e anteriores" - -#: ../../howto/pyporting.rst:77 -msgid "" -"While you can make Python 2.5 work with Python 3, it is **much** easier if " -"you only have to work with Python 2.7. If dropping Python 2.5 is not an " -"option then the six_ project can help you support Python 2.5 & 3 " -"simultaneously (``python -m pip install six``). Do realize, though, that " -"nearly all the projects listed in this HOWTO will not be available to you." -msgstr "" -"Enquanto você pode fazer Python 2.5 funcionar com Python 3, é **muito** mais " -"fácil se você só tem que fazer funcionar com Python 2.7. Se descartar Python " -"2.5 não é uma opção, então o projeto six_ pode lhe ajudar a dar suporte a " -"Python 2.5 e 3 simultaneamente (``python -m pip install six``). Note, porém, " -"que quase todos os projetos listados neste HOWTO não estarão disponíveis " -"para você." - -#: ../../howto/pyporting.rst:83 -msgid "" -"If you are able to skip Python 2.5 and older, then the required changes to " -"your code should continue to look and feel like idiomatic Python code. At " -"worst you will have to use a function instead of a method in some instances " -"or have to import a function instead of using a built-in one, but otherwise " -"the overall transformation should not feel foreign to you." -msgstr "" -"Se você puder ignorar o Python 2.5 e versões mais antigas, então as " -"alterações necessárias para o seu código devem continuar a olhar e sentir " -"como código Python idiomático. Na pior das hipóteses você terá que usar uma " -"função em vez de um método em algumas instâncias ou tem que importar uma " -"função em vez de usar uma embutida, mas de outra forma a transformação geral " -"não deve se sentir estranha para você." - -#: ../../howto/pyporting.rst:89 -msgid "" -"But you should aim for only supporting Python 2.7. Python 2.6 is no longer " -"freely supported and thus is not receiving bugfixes. This means **you** will " -"have to work around any issues you come across with Python 2.6. There are " -"also some tools mentioned in this HOWTO which do not support Python 2.6 (e." -"g., Pylint_), and this will become more commonplace as time goes on. It will " -"simply be easier for you if you only support the versions of Python that you " -"have to support." -msgstr "" -"Mas você deve visar apenas dar suporte ao Python 2.7. Python 2.6 não é mais " -"suportado e, portanto, não está recebendo correções de bugs. Isso significa " -"que você terá que contornar qualquer problema que você se deparar com Python " -"2.6. Há também algumas ferramentas mencionadas neste HOWTO que não tem " -"suporte ao Python 2.6 (por exemplo, Pylint_,) e isso vai se tornar mais " -"comum à medida que o tempo passa. Será simplesmente mais fácil para você se " -"você só provê suporte às versões do Python que você tem que dar suporte." - -#: ../../howto/pyporting.rst:98 -msgid "" -"Make sure you specify the proper version support in your ``setup.py`` file" -msgstr "" -"Certifique-se de especificar o suporte de versão adequado no seu arquivo " -"``setup.py``" - -#: ../../howto/pyporting.rst:100 -msgid "" -"In your ``setup.py`` file you should have the proper `trove classifier`_ " -"specifying what versions of Python you support. As your project does not " -"support Python 3 yet you should at least have ``Programming Language :: " -"Python :: 2 :: Only`` specified. Ideally you should also specify each major/" -"minor version of Python that you do support, e.g. ``Programming Language :: " -"Python :: 2.7``." -msgstr "" -"Em seu arquivo ``setup.py``, você deve ter o `trove classifier`_ " -"(classificador de Trove) apropriado especificando que versões do Python você " -"dá suporte. Como seu projeto ainda não tem suporte a Python 3, você deve " -"pelo menos ter ``Programming Language :: Python :: 2 :: Only`` especificado. " -"Idealmente, você também deve especificar cada versão principal/menor do " -"Python que você dá suporte, por exemplo, ``Programming Language :: Python :: " -"2.7``." - -#: ../../howto/pyporting.rst:109 -msgid "Have good test coverage" -msgstr "Tenha uma boa cobertura de testes" - -#: ../../howto/pyporting.rst:111 -msgid "" -"Once you have your code supporting the oldest version of Python 2 you want " -"it to, you will want to make sure your test suite has good coverage. A good " -"rule of thumb is that if you want to be confident enough in your test suite " -"that any failures that appear after having tools rewrite your code are " -"actual bugs in the tools and not in your code. If you want a number to aim " -"for, try to get over 80% coverage (and don't feel bad if you find it hard to " -"get better than 90% coverage). If you don't already have a tool to measure " -"test coverage then coverage.py_ is recommended." -msgstr "" -"Uma vez que você tenha seu código suportando a versão mais antiga do Python " -"2 que você quer, você vai querer ter certeza de que seu conjunto de teste " -"tem boa cobertura. Uma boa regra de ouro é que se você quiser estar " -"confiante o suficiente em seu conjunto de teste que quaisquer falhas que " -"aparecem após ter ferramentas reescrever seu código são bugs reais nas " -"ferramentas e não em seu código. Se você quiser um número como meta, tente " -"obter mais de 80% de cobertura (e não se sinta mal se você achar difícil " -"obter melhor que 90% de cobertura). Se você já não tem uma ferramenta para " -"medir a cobertura do teste, então coverage.py_ é recomendada." - -#: ../../howto/pyporting.rst:124 -msgid "" -"Once you have your code well-tested you are ready to begin porting your code " -"to Python 3! But to fully understand how your code is going to change and " -"what you want to look out for while you code, you will want to learn what " -"changes Python 3 makes in terms of Python 2. Typically the two best ways of " -"doing that is reading the :ref:`\"What's New\" ` doc for " -"each release of Python 3 and the `Porting to Python 3`_ book (which is free " -"online). There is also a handy `cheat sheet`_ from the Python-Future project." -msgstr "" - -#: ../../howto/pyporting.rst:134 -msgid "Update your code" -msgstr "" - -#: ../../howto/pyporting.rst:136 -msgid "" -"Once you feel like you know what is different in Python 3 compared to Python " -"2, it's time to update your code! You have a choice between two tools in " -"porting your code automatically: Futurize_ and Modernize_. Which tool you " -"choose will depend on how much like Python 3 you want your code to be. " -"Futurize_ does its best to make Python 3 idioms and practices exist in " -"Python 2, e.g. backporting the ``bytes`` type from Python 3 so that you have " -"semantic parity between the major versions of Python. Modernize_, on the " -"other hand, is more conservative and targets a Python 2/3 subset of Python, " -"directly relying on six_ to help provide compatibility. As Python 3 is the " -"future, it might be best to consider Futurize to begin adjusting to any new " -"practices that Python 3 introduces which you are not accustomed to yet." -msgstr "" - -#: ../../howto/pyporting.rst:148 -msgid "" -"Regardless of which tool you choose, they will update your code to run under " -"Python 3 while staying compatible with the version of Python 2 you started " -"with. Depending on how conservative you want to be, you may want to run the " -"tool over your test suite first and visually inspect the diff to make sure " -"the transformation is accurate. After you have transformed your test suite " -"and verified that all the tests still pass as expected, then you can " -"transform your application code knowing that any tests which fail is a " -"translation failure." -msgstr "" - -#: ../../howto/pyporting.rst:156 -msgid "" -"Unfortunately the tools can't automate everything to make your code work " -"under Python 3 and so there are a handful of things you will need to update " -"manually to get full Python 3 support (which of these steps are necessary " -"vary between the tools). Read the documentation for the tool you choose to " -"use to see what it fixes by default and what it can do optionally to know " -"what will (not) be fixed for you and what you may have to fix on your own (e." -"g. using ``io.open()`` over the built-in ``open()`` function is off by " -"default in Modernize). Luckily, though, there are only a couple of things to " -"watch out for which can be considered large issues that may be hard to debug " -"if not watched for." -msgstr "" - -#: ../../howto/pyporting.rst:168 -msgid "Division" -msgstr "Divisão" - -#: ../../howto/pyporting.rst:170 -msgid "" -"In Python 3, ``5 / 2 == 2.5`` and not ``2``; all division between ``int`` " -"values result in a ``float``. This change has actually been planned since " -"Python 2.2 which was released in 2002. Since then users have been encouraged " -"to add ``from __future__ import division`` to any and all files which use " -"the ``/`` and ``//`` operators or to be running the interpreter with the ``-" -"Q`` flag. If you have not been doing this then you will need to go through " -"your code and do two things:" -msgstr "" - -#: ../../howto/pyporting.rst:178 -msgid "Add ``from __future__ import division`` to your files" -msgstr "" - -#: ../../howto/pyporting.rst:179 -msgid "" -"Update any division operator as necessary to either use ``//`` to use floor " -"division or continue using ``/`` and expect a float" -msgstr "" - -#: ../../howto/pyporting.rst:182 -msgid "" -"The reason that ``/`` isn't simply translated to ``//`` automatically is " -"that if an object defines a ``__truediv__`` method but not ``__floordiv__`` " -"then your code would begin to fail (e.g. a user-defined class that uses ``/" -"`` to signify some operation but not ``//`` for the same thing or at all)." -msgstr "" - -#: ../../howto/pyporting.rst:189 -msgid "Text versus binary data" -msgstr "" - -#: ../../howto/pyporting.rst:191 -msgid "" -"In Python 2 you could use the ``str`` type for both text and binary data. " -"Unfortunately this confluence of two different concepts could lead to " -"brittle code which sometimes worked for either kind of data, sometimes not. " -"It also could lead to confusing APIs if people didn't explicitly state that " -"something that accepted ``str`` accepted either text or binary data instead " -"of one specific type. This complicated the situation especially for anyone " -"supporting multiple languages as APIs wouldn't bother explicitly supporting " -"``unicode`` when they claimed text data support." -msgstr "" - -#: ../../howto/pyporting.rst:200 -msgid "" -"To make the distinction between text and binary data clearer and more " -"pronounced, Python 3 did what most languages created in the age of the " -"internet have done and made text and binary data distinct types that cannot " -"blindly be mixed together (Python predates widespread access to the " -"internet). For any code that deals only with text or only binary data, this " -"separation doesn't pose an issue. But for code that has to deal with both, " -"it does mean you might have to now care about when you are using text " -"compared to binary data, which is why this cannot be entirely automated." -msgstr "" - -#: ../../howto/pyporting.rst:209 -msgid "" -"To start, you will need to decide which APIs take text and which take binary " -"(it is **highly** recommended you don't design APIs that can take both due " -"to the difficulty of keeping the code working; as stated earlier it is " -"difficult to do well). In Python 2 this means making sure the APIs that take " -"text can work with ``unicode`` and those that work with binary data work " -"with the ``bytes`` type from Python 3 (which is a subset of ``str`` in " -"Python 2 and acts as an alias for ``bytes`` type in Python 2). Usually the " -"biggest issue is realizing which methods exist on which types in Python 2 & " -"3 simultaneously (for text that's ``unicode`` in Python 2 and ``str`` in " -"Python 3, for binary that's ``str``/``bytes`` in Python 2 and ``bytes`` in " -"Python 3). The following table lists the **unique** methods of each data " -"type across Python 2 & 3 (e.g., the ``decode()`` method is usable on the " -"equivalent binary data type in either Python 2 or 3, but it can't be used by " -"the textual data type consistently between Python 2 and 3 because ``str`` in " -"Python 3 doesn't have the method). Do note that as of Python 3.5 the " -"``__mod__`` method was added to the bytes type." -msgstr "" - -#: ../../howto/pyporting.rst:226 -msgid "**Text data**" -msgstr "" - -#: ../../howto/pyporting.rst:226 -msgid "**Binary data**" -msgstr "" - -#: ../../howto/pyporting.rst:228 -msgid "\\" -msgstr "" - -#: ../../howto/pyporting.rst:228 -msgid "decode" -msgstr "" - -#: ../../howto/pyporting.rst:230 -msgid "encode" -msgstr "" - -#: ../../howto/pyporting.rst:232 -msgid "format" -msgstr "formato" - -#: ../../howto/pyporting.rst:234 -msgid "isdecimal" -msgstr "" - -#: ../../howto/pyporting.rst:236 -msgid "isnumeric" -msgstr "" - -#: ../../howto/pyporting.rst:239 -msgid "" -"Making the distinction easier to handle can be accomplished by encoding and " -"decoding between binary data and text at the edge of your code. This means " -"that when you receive text in binary data, you should immediately decode it. " -"And if your code needs to send text as binary data then encode it as late as " -"possible. This allows your code to work with only text internally and thus " -"eliminates having to keep track of what type of data you are working with." -msgstr "" - -#: ../../howto/pyporting.rst:246 -msgid "" -"The next issue is making sure you know whether the string literals in your " -"code represent text or binary data. You should add a ``b`` prefix to any " -"literal that presents binary data. For text you should add a ``u`` prefix to " -"the text literal. (there is a :mod:`__future__` import to force all " -"unspecified literals to be Unicode, but usage has shown it isn't as " -"effective as adding a ``b`` or ``u`` prefix to all literals explicitly)" -msgstr "" - -#: ../../howto/pyporting.rst:253 -msgid "" -"As part of this dichotomy you also need to be careful about opening files. " -"Unless you have been working on Windows, there is a chance you have not " -"always bothered to add the ``b`` mode when opening a binary file (e.g., " -"``rb`` for binary reading). Under Python 3, binary files and text files are " -"clearly distinct and mutually incompatible; see the :mod:`io` module for " -"details. Therefore, you **must** make a decision of whether a file will be " -"used for binary access (allowing binary data to be read and/or written) or " -"textual access (allowing text data to be read and/or written). You should " -"also use :func:`io.open` for opening files instead of the built-in :func:" -"`open` function as the :mod:`io` module is consistent from Python 2 to 3 " -"while the built-in :func:`open` function is not (in Python 3 it's actually :" -"func:`io.open`). Do not bother with the outdated practice of using :func:" -"`codecs.open` as that's only necessary for keeping compatibility with Python " -"2.5." -msgstr "" - -#: ../../howto/pyporting.rst:267 -msgid "" -"The constructors of both ``str`` and ``bytes`` have different semantics for " -"the same arguments between Python 2 & 3. Passing an integer to ``bytes`` in " -"Python 2 will give you the string representation of the integer: ``bytes(3) " -"== '3'``. But in Python 3, an integer argument to ``bytes`` will give you a " -"bytes object as long as the integer specified, filled with null bytes: " -"``bytes(3) == b'\\x00\\x00\\x00'``. A similar worry is necessary when " -"passing a bytes object to ``str``. In Python 2 you just get the bytes object " -"back: ``str(b'3') == b'3'``. But in Python 3 you get the string " -"representation of the bytes object: ``str(b'3') == \"b'3'\"``." -msgstr "" - -#: ../../howto/pyporting.rst:277 -msgid "" -"Finally, the indexing of binary data requires careful handling (slicing does " -"**not** require any special handling). In Python 2, ``b'123'[1] == b'2'`` " -"while in Python 3 ``b'123'[1] == 50``. Because binary data is simply a " -"collection of binary numbers, Python 3 returns the integer value for the " -"byte you index on. But in Python 2 because ``bytes == str``, indexing " -"returns a one-item slice of bytes. The six_ project has a function named " -"``six.indexbytes()`` which will return an integer like in Python 3: ``six." -"indexbytes(b'123', 1)``." -msgstr "" - -#: ../../howto/pyporting.rst:286 -msgid "To summarize:" -msgstr "" - -#: ../../howto/pyporting.rst:288 -msgid "Decide which of your APIs take text and which take binary data" -msgstr "" - -#: ../../howto/pyporting.rst:289 -msgid "" -"Make sure that your code that works with text also works with ``unicode`` " -"and code for binary data works with ``bytes`` in Python 2 (see the table " -"above for what methods you cannot use for each type)" -msgstr "" - -#: ../../howto/pyporting.rst:292 -msgid "" -"Mark all binary literals with a ``b`` prefix, textual literals with a ``u`` " -"prefix" -msgstr "" - -#: ../../howto/pyporting.rst:294 -msgid "" -"Decode binary data to text as soon as possible, encode text as binary data " -"as late as possible" -msgstr "" - -#: ../../howto/pyporting.rst:296 -msgid "" -"Open files using :func:`io.open` and make sure to specify the ``b`` mode " -"when appropriate" -msgstr "" - -#: ../../howto/pyporting.rst:298 -msgid "Be careful when indexing into binary data" -msgstr "" - -#: ../../howto/pyporting.rst:302 -msgid "Use feature detection instead of version detection" -msgstr "" - -#: ../../howto/pyporting.rst:304 -msgid "" -"Inevitably you will have code that has to choose what to do based on what " -"version of Python is running. The best way to do this is with feature " -"detection of whether the version of Python you're running under supports " -"what you need. If for some reason that doesn't work then you should make the " -"version check be against Python 2 and not Python 3. To help explain this, " -"let's look at an example." -msgstr "" - -#: ../../howto/pyporting.rst:311 -msgid "" -"Let's pretend that you need access to a feature of :mod:`importlib` that is " -"available in Python's standard library since Python 3.3 and available for " -"Python 2 through importlib2_ on PyPI. You might be tempted to write code to " -"access e.g. the :mod:`importlib.abc` module by doing the following::" -msgstr "" - -#: ../../howto/pyporting.rst:323 -msgid "" -"The problem with this code is what happens when Python 4 comes out? It would " -"be better to treat Python 2 as the exceptional case instead of Python 3 and " -"assume that future Python versions will be more compatible with Python 3 " -"than Python 2::" -msgstr "" - -#: ../../howto/pyporting.rst:335 -msgid "" -"The best solution, though, is to do no version detection at all and instead " -"rely on feature detection. That avoids any potential issues of getting the " -"version detection wrong and helps keep you future-compatible::" -msgstr "" - -#: ../../howto/pyporting.rst:346 -msgid "Prevent compatibility regressions" -msgstr "" - -#: ../../howto/pyporting.rst:348 -msgid "" -"Once you have fully translated your code to be compatible with Python 3, you " -"will want to make sure your code doesn't regress and stop working under " -"Python 3. This is especially true if you have a dependency which is blocking " -"you from actually running under Python 3 at the moment." -msgstr "" - -#: ../../howto/pyporting.rst:353 -msgid "" -"To help with staying compatible, any new modules you create should have at " -"least the following block of code at the top of it::" -msgstr "" - -#: ../../howto/pyporting.rst:360 -msgid "" -"You can also run Python 2 with the ``-3`` flag to be warned about various " -"compatibility issues your code triggers during execution. If you turn " -"warnings into errors with ``-Werror`` then you can make sure that you don't " -"accidentally miss a warning." -msgstr "" - -#: ../../howto/pyporting.rst:365 -msgid "" -"You can also use the Pylint_ project and its ``--py3k`` flag to lint your " -"code to receive warnings when your code begins to deviate from Python 3 " -"compatibility. This also prevents you from having to run Modernize_ or " -"Futurize_ over your code regularly to catch compatibility regressions. This " -"does require you only support Python 2.7 and Python 3.4 or newer as that is " -"Pylint's minimum Python version support." -msgstr "" - -#: ../../howto/pyporting.rst:374 -msgid "Check which dependencies block your transition" -msgstr "" - -#: ../../howto/pyporting.rst:376 -msgid "" -"**After** you have made your code compatible with Python 3 you should begin " -"to care about whether your dependencies have also been ported. The " -"caniusepython3_ project was created to help you determine which projects -- " -"directly or indirectly -- are blocking you from supporting Python 3. There " -"is both a command-line tool as well as a web interface at https://" -"caniusepython3.com." -msgstr "" - -#: ../../howto/pyporting.rst:383 -msgid "" -"The project also provides code which you can integrate into your test suite " -"so that you will have a failing test when you no longer have dependencies " -"blocking you from using Python 3. This allows you to avoid having to " -"manually check your dependencies and to be notified quickly when you can " -"start running on Python 3." -msgstr "" - -#: ../../howto/pyporting.rst:390 -msgid "Update your ``setup.py`` file to denote Python 3 compatibility" -msgstr "" - -#: ../../howto/pyporting.rst:392 -msgid "" -"Once your code works under Python 3, you should update the classifiers in " -"your ``setup.py`` to contain ``Programming Language :: Python :: 3`` and to " -"not specify sole Python 2 support. This will tell anyone using your code " -"that you support Python 2 **and** 3. Ideally you will also want to add " -"classifiers for each major/minor version of Python you now support." -msgstr "" - -#: ../../howto/pyporting.rst:400 -msgid "Use continuous integration to stay compatible" -msgstr "" - -#: ../../howto/pyporting.rst:402 -msgid "" -"Once you are able to fully run under Python 3 you will want to make sure " -"your code always works under both Python 2 & 3. Probably the best tool for " -"running your tests under multiple Python interpreters is tox_. You can then " -"integrate tox with your continuous integration system so that you never " -"accidentally break Python 2 or 3 support." -msgstr "" - -#: ../../howto/pyporting.rst:408 -msgid "" -"You may also want to use the ``-bb`` flag with the Python 3 interpreter to " -"trigger an exception when you are comparing bytes to strings or bytes to an " -"int (the latter is available starting in Python 3.5). By default type-" -"differing comparisons simply return ``False``, but if you made a mistake in " -"your separation of text/binary data handling or indexing on bytes you " -"wouldn't easily find the mistake. This flag will raise an exception when " -"these kinds of comparisons occur, making the mistake much easier to track " -"down." +#: ../../howto/pyporting.rst:32 +msgid "`PyCon 2020 tutorial `_" msgstr "" +"`Tutorial da PyCon 2020 `_" -#: ../../howto/pyporting.rst:416 +#: ../../howto/pyporting.rst:33 msgid "" -"And that's mostly it! At this point your code base is compatible with both " -"Python 2 and 3 simultaneously. Your testing will also be set up so that you " -"don't accidentally break Python 2 or 3 compatibility regardless of which " -"version you typically run your tests under while developing." -msgstr "" - -#: ../../howto/pyporting.rst:423 -msgid "Consider using optional static type checking" +"`Guide by DigitalOcean `_" msgstr "" +"`Guia por DigitalOcean `_" -#: ../../howto/pyporting.rst:425 +#: ../../howto/pyporting.rst:34 msgid "" -"Another way to help port your code is to use a static type checker like " -"mypy_ or pytype_ on your code. These tools can be used to analyze your code " -"as if it's being run under Python 2, then you can run the tool a second time " -"as if your code is running under Python 3. By running a static type checker " -"twice like this you can discover if you're e.g. misusing binary data type in " -"one version of Python compared to another. If you add optional type hints to " -"your code you can also explicitly state whether your APIs use textual or " -"binary data, helping to make sure everything functions as expected in both " -"versions of Python." +"`Guide by ActiveState `_" msgstr "" +"`Guia por ActiveState `_" diff --git a/howto/regex.po b/howto/regex.po index 11ecf2c62..4bab30bdc 100644 --- a/howto/regex.po +++ b/howto/regex.po @@ -1,38 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Ruan Aragão , 2021 -# i17obot , 2021 -# Denis Vicentainer , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../howto/regex.rst:5 msgid "Regular Expression HOWTO" -msgstr "Expressões Regulares HOWTO" +msgstr "Expressões Regulares" #: ../../howto/regex.rst:0 msgid "Author" @@ -42,7 +35,7 @@ msgstr "Autor" msgid "A.M. Kuchling " msgstr "A.M. Kuchling " -#: ../../howto/regex.rstNone +#: ../../howto/regex.rst-1 msgid "Abstract" msgstr "Resumo" @@ -76,8 +69,8 @@ msgstr "" "essencialmente uma mini linguagem de programação altamente especializada " "incluída dentro do Python e disponível através do módulo :mod:`re`. Usando " "esta pequena linguagem, você especifica as regras para o conjunto de strings " -"possíveis que você quer combinar; esse conjunto pode conter sentenças em " -"inglês, endereços de e-mail, ou comandos TeX ou qualquer coisa que você " +"possíveis que você quer corresponder; esse conjunto pode conter sentenças em " +"português, endereços de e-mail, comandos TeX ou qualquer coisa que você " "queira. Você poderá então perguntar coisas como \"Essa string se enquadra " "dentro do padrão?\" ou \"Existe alguma parte da string que se enquadra nesse " "padrão?\". Você também pode usar as REs para modificar uma string ou dividi-" @@ -94,12 +87,12 @@ msgid "" "internals." msgstr "" "Os padrões das expressões regulares são compilados em uma série de bytecodes " -"que são então executadas por um mecanismo de combinação escrito em C. Para " -"usos avançados, talvez seja necessário prestar atenção em como o mecanismo " -"irá executar uma dada RE, e escrever a RE de forma que os bytecodes executem " -"de forma mais rápida. Otimização é um tema que não será visto neste " -"documento, porque ele requer que você tenha um bom entendimento dos " -"mecanismos de combinação internos." +"que são então executadas por um mecanismo de correspondência escrito em C. " +"Para usos avançados, talvez seja necessário prestar atenção em como o " +"mecanismo irá executar uma dada RE, e escrever a RE de forma que os " +"bytecodes executem de forma mais rápida. Otimização é um tema que não será " +"visto neste documento, porque ele requer que você tenha um bom entendimento " +"dos mecanismos de combinação internos." #: ../../howto/regex.rst:42 msgid "" @@ -112,21 +105,17 @@ msgid "" "more understandable." msgstr "" "A linguagem de expressão regular é relativamente pequena e restrita, por " -"isso nem\n" -"todas as tarefas de processamento de strings possíveis podem ser feitas " -"usando\n" -"expressões regulares. Existem também tarefas que podem ser feitas com " -"expressões\n" -"regulares, mas as expressões acabam por ser tornar muito complicadas. Nestes " -"casos, pode\n" -"ser melhor para você escrever um código Python para fazer o processamento;\n" -"embora um código Python seja mais lento do que uma expressão regular " -"elaborada,\n" -"ele provavelmente será mais compreensível." +"isso nem todas as tarefas de processamento de strings possíveis podem ser " +"feitas usando expressões regulares. Existem também tarefas que podem ser " +"feitas com expressões regulares, mas as expressões acabam por se tornarem " +"muito complicadas. Nestes casos, pode ser melhor para você escrever um " +"código Python para fazer o processamento; embora um código Python seja mais " +"lento do que uma expressão regular elaborada, ele provavelmente será mais " +"compreensível." #: ../../howto/regex.rst:51 msgid "Simple Patterns" -msgstr "Padrões Simples" +msgstr "Padrões simples" #: ../../howto/regex.rst:53 msgid "" @@ -138,7 +127,7 @@ msgstr "" "possíveis.\n" "Como as expressões regulares são usadas para operar em strings, vamos " "começar\n" -"com a tarefa mais comum: de correspondência caracteres." +"com a tarefa mais comum: correspondência de caracteres." #: ../../howto/regex.rst:57 msgid "" @@ -147,14 +136,13 @@ msgid "" "refer to almost any textbook on writing compilers." msgstr "" "Para uma explicação detalhada da ciência da computação referente a " -"expressões\n" -"regulares (autômatos finitos determinísticos e não-determinístico), você " -"pode consultar\n" -"a praticamente qualquer livro sobre a escrita de compiladores." +"expressões regulares (autômatos finitos determinísticos e não " +"determinístico), você pode consultara praticamente qualquer livro sobre a " +"escrita de compiladores." #: ../../howto/regex.rst:63 msgid "Matching Characters" -msgstr "Caracteres Correspondentes" +msgstr "Correspondendo caracteres" #: ../../howto/regex.rst:65 msgid "" @@ -164,30 +152,25 @@ msgid "" "``TEST`` as well; more about this later.)" msgstr "" "A maioria das letras e caracteres simplesmente irão corresponder entre si. " -"Por exemplo, a expressão regular ``teste``\n" -"irá combinar com a string ``teste`` totalmente. (Você pode habilitar o modo " -"de maiúsculas e minúsculas que faria com que\n" -"a RE corresponder com ``Test`` ou ``TEST`` também; veremos mais sobre isso " -"mais adiante.)" +"Por exemplo, a expressão regular ``teste`` irá combinar totalmente com a " +"string ``teste``. (Você pode habilitar o modo de maiúsculas e minúsculas que " +"faria a RE corresponder com ``Test`` ou ``TEST`` também; veremos mais sobre " +"isso mais adiante.)" #: ../../howto/regex.rst:70 msgid "" -"There are exceptions to this rule; some characters are special :dfn:" -"`metacharacters`, and don't match themselves. Instead, they signal that " -"some out-of-the-ordinary thing should be matched, or they affect other " -"portions of the RE by repeating them or changing their meaning. Much of " -"this document is devoted to discussing various metacharacters and what they " -"do." +"There are exceptions to this rule; some characters are " +"special :dfn:`metacharacters`, and don't match themselves. Instead, they " +"signal that some out-of-the-ordinary thing should be matched, or they affect " +"other portions of the RE by repeating them or changing their meaning. Much " +"of this document is devoted to discussing various metacharacters and what " +"they do." msgstr "" "Há exceções a essa regra, alguns caracteres são metacaracteres especiais, e " -"não se\n" -"correspondem. Em vez disso, eles sinalizam que alguma coisa fora do normal " -"deve\n" -"ser correspondida, ou eles afetam outras partes da RE, repetindo-as ou " -"alterando seus\n" -"significados. Grande parte deste documento é dedicada à discussão de vários " -"metacaracteres\n" -"e o que eles fazem." +"não se correspondem. Em vez disso, eles sinalizam que alguma coisa fora do " +"normal deve ser correspondida, ou eles afetam outras partes da RE, repetindo-" +"as ou alterando seus significados. Grande parte deste documento é dedicada à " +"discussão de vários metacaracteres e o que eles fazem." #: ../../howto/regex.rst:76 msgid "" @@ -208,14 +191,14 @@ msgid "" "characters. If you wanted to match only lowercase letters, your RE would be " "``[a-z]``." msgstr "" -"O primeiro metacaractere que vamos estudos é o ``[`` e o ``]``.  Eles são " +"O primeiro metacaractere que vamos estudar é o ``[`` e o ``]``. Eles são " "usados para especificar uma classe de caracteres, que é um conjunto de " "caracteres que você deseja combinar. Caracteres podem ser listados " -"individualmente ou um range de caracteres pode ser indicado dando dois " -"caracteres e separando-os por um ``'-'``.  Por exemplo, ``[abc]`` irá " +"individualmente ou um intervalo de caracteres pode ser indicado fornecendo " +"dois caracteres e separando-os por um ``'-'``. Por exemplo, ``[abc]`` irá " "encontrar qualquer caractere ``a``, ``b``, ou ``c``; isso é o mesmo que " -"escrever ``[a-c]``, que usa um range para expressar o mesmo conjunto de " -"caracteres, Se você deseja encontrar apenas letras minúsculas, sua RE seria " +"escrever ``[a-c]``, que usa um intervalo para expressar o mesmo conjunto de " +"caracteres. Se você deseja encontrar apenas letras minúsculas, sua RE seria " "``[a-z]``." #: ../../howto/regex.rst:92 @@ -225,20 +208,24 @@ msgid "" "``'$'``; ``'$'`` is usually a metacharacter, but inside a character class " "it's stripped of its special nature." msgstr "" +"Metacaracteres (exceto ``\\``) não são ativos dentro de classes. Por " +"exemplo, ``[akm$]`` irá corresponder com qualquer dos caracteres ``'a'``, " +"``'k'``, ``'m'`` ou ``'$'``; ``'$'`` é normalmente um metacaractere, mas " +"dentro de uma classe de caracteres ele perde sua natureza especial." #: ../../howto/regex.rst:97 msgid "" -"You can match the characters not listed within the class by :dfn:" -"`complementing` the set. This is indicated by including a ``'^'`` as the " -"first character of the class. For example, ``[^5]`` will match any character " -"except ``'5'``. If the caret appears elsewhere in a character class, it " -"does not have special meaning. For example: ``[5^]`` will match either a " -"``'5'`` or a ``'^'``." -msgstr "" -"Você pode combinar os caracteres não listados na classe :dfn:" -"`complementando` o conjunto. Isso é indicado pela inclusão de um ``'^'`` " -"como o primeiro caractere da classe. Por exemplo, ``[^5]`` combinará a " -"qualquer caractere, exceto ``'5'``. Se o sinal de intercalação aparecer em " +"You can match the characters not listed within the class " +"by :dfn:`complementing` the set. This is indicated by including a ``'^'`` " +"as the first character of the class. For example, ``[^5]`` will match any " +"character except ``'5'``. If the caret appears elsewhere in a character " +"class, it does not have special meaning. For example: ``[5^]`` will match " +"either a ``'5'`` or a ``'^'``." +msgstr "" +"Você pode combinar os caracteres não listados na " +"classe :dfn:`complementando` o conjunto. Isso é indicado pela inclusão de um " +"``'^'`` como o primeiro caractere da classe. Por exemplo, ``[^5]`` combinará " +"a qualquer caractere, exceto ``'5'``. Se o sinal de intercalação aparecer em " "outro lugar da classe de caracteres, ele não terá um significado especial. " "Por exemplo: ``[5^]`` corresponderá a um ``'5'`` ou a ``'^'``." @@ -251,7 +238,7 @@ msgid "" "need to match a ``[`` or ``\\``, you can precede them with a backslash to " "remove their special meaning: ``\\[`` or ``\\\\``." msgstr "" -"Talvez o metacaractere mais importante é a contrabarra, ``\\``. Como as " +"Talvez o metacaractere mais importante seja a contrabarra, ``\\``. Como as " "strings literais em Python, a barra invertida pode ser seguida por vários " "caracteres para sinalizar várias sequências especiais. Ela também é usada " "para *escapar* todos os metacaracteres, e assim, você poder combiná-los em " @@ -275,10 +262,10 @@ msgid "" "Let's take an example: ``\\w`` matches any alphanumeric character. If the " "regex pattern is expressed in bytes, this is equivalent to the class ``[a-zA-" "Z0-9_]``. If the regex pattern is a string, ``\\w`` will match all the " -"characters marked as letters in the Unicode database provided by the :mod:" -"`unicodedata` module. You can use the more restricted definition of ``\\w`` " -"in a string pattern by supplying the :const:`re.ASCII` flag when compiling " -"the regular expression." +"characters marked as letters in the Unicode database provided by " +"the :mod:`unicodedata` module. You can use the more restricted definition " +"of ``\\w`` in a string pattern by supplying the :const:`re.ASCII` flag when " +"compiling the regular expression." msgstr "" "Vejamos um exemplo: ``\\w`` corresponde a qualquer caractere alfanumérico. " "Se o padrão regex for expresso em bytes, isso é equivalente à classe ``[a-zA-" @@ -298,7 +285,7 @@ msgid "" msgstr "" "A lista a seguir de sequências especiais não está completa. Para obter uma " "lista completa das sequências e definições de classe expandidas para padrões " -"de Strings Unicode, veja a última parte de :ref:`Sintaxe de Expressão " +"de strings Unicode, veja a última parte de :ref:`Sintaxe de Expressão " "Regular ` na referência da Biblioteca Padrão. Em geral, as " "versões Unicode correspondem a qualquer caractere que esteja na categoria " "apropriada do banco de dados Unicode." @@ -378,16 +365,16 @@ msgid "" "``[\\s,.]`` is a character class that will match any whitespace character, " "or ``','`` or ``'.'``." msgstr "" -"Estas sequências podem ser incluídas dentro de uma classe caractere. Por " -"exemplo, ``[\\s,.]`` É uma classe caractere que irá corresponder a qualquer " -"caractere ``espaço-em-branco``, ou ``,`` ou ``.``." +"Estas sequências podem ser incluídas dentro de uma classe de caractere. Por " +"exemplo, ``[\\s,.]`` É uma classe de caractere que irá corresponder a " +"qualquer caractere ``espaço-em-branco``, ou ``,`` ou ``.``." #: ../../howto/regex.rst:156 msgid "" "The final metacharacter in this section is ``.``. It matches anything " -"except a newline character, and there's an alternate mode (:const:`re." -"DOTALL`) where it will match even a newline. ``.`` is often used where you " -"want to match \"any character\"." +"except a newline character, and there's an alternate mode " +"(:const:`re.DOTALL`) where it will match even a newline. ``.`` is often " +"used where you want to match \"any character\"." msgstr "" "O metacaractere final desta seção é o ``.``. Ele encontra tudo, exceto um " "caractere de nova linha, e existe um modo alternativo (:const:`re.DOTALL`), " @@ -397,7 +384,7 @@ msgstr "" #: ../../howto/regex.rst:163 msgid "Repeating Things" -msgstr "Repetindo Coisas" +msgstr "Repetindo coisas" #: ../../howto/regex.rst:165 msgid "" @@ -431,8 +418,8 @@ msgid "" "For example, ``ca*t`` will match ``'ct'`` (0 ``'a'`` characters), ``'cat'`` " "(1 ``'a'``), ``'caaat'`` (3 ``'a'`` characters), and so forth." msgstr "" -"Por exemplo, ``ca*t`` vai corresponder ``'ct'`` (0 ``'a'`` caracteres), " -"``'cat'`` (1 ``'a'``), ``'caaat'`` (3 ``'a'`` caracteres), e assim por " +"Por exemplo, ``ca*t`` vai corresponder ``'ct'`` (0 caracteres ``'a'``), " +"``'cat'`` (1 ``'a'``), ``'caaat'`` (3 caracteres ``'a'``), e assim por " "diante." #: ../../howto/regex.rst:178 @@ -442,10 +429,10 @@ msgid "" "portions of the pattern don't match, the matching engine will then back up " "and try again with fewer repetitions." msgstr "" -"Repetições, tais como ``*`` são gananciosas; ao repetir a RE, o motor de " +"Repetições tais como ``*`` são gulosas; ao repetir a RE, o motor de " "correspondência vai tentar repeti-la tantas vezes quanto possível. Se " "porções posteriores do padrão não corresponderem, o motor de " -"correspondência, em seguida, volta e tenta novamente com algumas repetições." +"correspondência, em seguida, volta e tenta novamente com menos repetições." #: ../../howto/regex.rst:183 msgid "" @@ -469,7 +456,7 @@ msgstr "Correspondência" #: ../../howto/regex.rst:189 msgid "Explanation" -msgstr "Explanação" +msgstr "Explicação" #: ../../howto/regex.rst:191 msgid "1" @@ -496,8 +483,8 @@ msgid "" "The engine matches ``[bcd]*``, going as far as it can, which is to the end " "of the string." msgstr "" -"O motor corresponde com [bcd]*, indo tão longe quanto possível, que é o fim " -"do string." +"O motor corresponde com ``[bcd]*``, indo tão longe quanto possível, que é o " +"fim do string." #: ../../howto/regex.rst:197 msgid "3" @@ -505,7 +492,7 @@ msgstr "3" #: ../../howto/regex.rst:197 ../../howto/regex.rst:205 msgid "*Failure*" -msgstr "*Failure*" +msgstr "*Falha*" #: ../../howto/regex.rst:197 msgid "" @@ -537,7 +524,7 @@ msgid "" "a ``'d'``." msgstr "" "Tenta ``b`` novamente, mas a posição corrente é a do último caractere, que é " -"um ``d``." +"um ``'d'``." #: ../../howto/regex.rst:209 ../../howto/regex.rst:213 msgid "6" @@ -550,7 +537,7 @@ msgstr "``abc``" #: ../../howto/regex.rst:209 msgid "Back up again, so that ``[bcd]*`` is only matching ``bc``." msgstr "" -"Voltando novamente, de modo que [bcd]* está correspondendo com ``bc`` " +"Voltando novamente, de modo que ``[bcd]*`` está correspondendo com ``bc`` " "somente." #: ../../howto/regex.rst:213 @@ -558,7 +545,7 @@ msgid "" "Try ``b`` again. This time the character at the current position is " "``'b'``, so it succeeds." msgstr "" -"Tenta ``b`` novamente. Desta vez, o caractere na posição corrente é ``b``, " +"Tenta ``b`` novamente. Desta vez, o caractere na posição corrente é ``'b'``, " "por isso sucesso." #: ../../howto/regex.rst:219 @@ -572,8 +559,8 @@ msgid "" msgstr "" "O final da RE foi atingido e correspondeu a ``'abcb'``. Isso demonstra como " "o mecanismo de correspondência vai tão longe quanto pode no início e, se " -"nenhuma correspondência for encontrada, ele fará o backup progressivamente e " -"tentará novamente o restante da RE. Ele fará backup até que tenha tentado " +"nenhuma correspondência for encontrada, ele fará a volta progressivamente e " +"tentará novamente o restante da RE. Ele fará voltas até que tenha tentado " "zero correspondências para ``[bcd]*``, e se isso falhar subsequentemente, o " "mecanismo concluirá que a string não corresponde a RE de forma alguma." @@ -586,6 +573,13 @@ msgid "" "similar example, ``ca+t`` will match ``'cat'`` (1 ``'a'``), ``'caaat'`` (3 " "``'a'``\\ s), but won't match ``'ct'``." msgstr "" +"Outro metacaractere de repetição é o ``+``, que corresponde a uma ou mais " +"vezes. Preste muita atenção para a diferença entre ``*`` e ``+``; ``*`` " +"corresponde com zero ou mais vezes, assim, o que quer que esteja sendo " +"repetido pode não estar presente, enquanto que ``+`` requer pelo menos uma " +"ocorrência. Para usar um exemplo similar, ``ca+t`` vai corresponder a " +"``'cat'``, (1 ``'a'``), ``'caaat'`` (3 ``'a'``\\ s), mas não corresponde com " +"``'ct'``." #: ../../howto/regex.rst:233 msgid "" @@ -594,6 +588,10 @@ msgid "" "marking something as being optional. For example, ``home-?brew`` matches " "either ``'homebrew'`` or ``'home-brew'``." msgstr "" +"Existem mais dois quantificadores ou operadores de repetição. O caractere de " +"ponto de interrogação, ``?``, corresponde a uma ou zero vez; você pode " +"pensar nisso como a marcação de algo sendo opcional. Por exemplo, ``home-?" +"brew`` corresponde tanto a ``'homebrew'`` quanto a ``'home-brew'``." #: ../../howto/regex.rst:238 msgid "" @@ -603,6 +601,11 @@ msgid "" "and ``'a///b'``. It won't match ``'ab'``, which has no slashes, or ``'a////" "b'``, which has four." msgstr "" +"O qualificador mais complicado é o ``{m,n}``, no qual *m* e *n* são números " +"inteiros decimais. Este qualificador significa que deve haver pelo menos *m* " +"repetições, e no máximo *n*. Por exemplo, ``a/{1,3}b`` irá corresponder a " +"``'a/b'``, ``'a//b'`` e ``'a///b'``. Não vai corresponder a ``'ab'``, que " +"não tem barras ou a ``'a////b'``, que tem quatro." #: ../../howto/regex.rst:244 msgid "" @@ -610,21 +613,38 @@ msgid "" "for the missing value. Omitting *m* is interpreted as a lower limit of 0, " "while omitting *n* results in an upper bound of infinity." msgstr "" +"Você pode omitir tanto *m* quanto *n*; nesse caso, um valor razoável é " +"presumido para o valor em falta. A omissão de *m* é interpretada como o " +"limite inferior de 0, enquanto a omissão de *n* resulta como limite superior " +"o infinito." #: ../../howto/regex.rst:248 msgid "" +"The simplest case ``{m}`` matches the preceding item exactly *m* times. For " +"example, ``a/{2}b`` will only match ``'a//b'``." +msgstr "" +"O caso mais simples ``{m}`` corresponde ao item precedente exatamente *m* " +"vezes. Por exemplo, ``a/{2}b`` corresponderá somente a ``'a//b'``." + +#: ../../howto/regex.rst:251 +msgid "" "Readers of a reductionist bent may notice that the three other quantifiers " "can all be expressed using this notation. ``{0,}`` is the same as ``*``, " "``{1,}`` is equivalent to ``+``, and ``{0,1}`` is the same as ``?``. It's " "better to use ``*``, ``+``, or ``?`` when you can, simply because they're " "shorter and easier to read." msgstr "" +"Os leitores de uma inclinação reducionista podem notar que os três outros " +"quantificadores podem todos serem expressos utilizando esta notação. ``{0,}" +"`` é o mesmo que ``*``, ``{1,}`` é equivalente a ``+``, e ``{0,1}`` é o " +"mesmo que ``?``. É melhor usar ``*``, ``+`` ou ``?`` quando puder, " +"simplesmente porque eles são mais curtos e fáceis de ler." -#: ../../howto/regex.rst:256 +#: ../../howto/regex.rst:259 msgid "Using Regular Expressions" msgstr "Usando expressões regulares" -#: ../../howto/regex.rst:258 +#: ../../howto/regex.rst:261 msgid "" "Now that we've looked at some simple regular expressions, how do we actually " "use them in Python? The :mod:`re` module provides an interface to the " @@ -636,11 +656,11 @@ msgstr "" "mecanismo de expressão regular, permitindo compilar REs em objetos e, em " "seguida, executar comparações com eles." -#: ../../howto/regex.rst:265 +#: ../../howto/regex.rst:268 msgid "Compiling Regular Expressions" -msgstr "Compilando Expressões Regulares" +msgstr "Compilando expressões regulares" -#: ../../howto/regex.rst:267 +#: ../../howto/regex.rst:270 msgid "" "Regular expressions are compiled into pattern objects, which have methods " "for various operations such as searching for pattern matches or performing " @@ -650,26 +670,26 @@ msgstr "" "para várias operações, tais como a procura por padrões de correspondência ou " "realizar substituições de strings. ::" -#: ../../howto/regex.rst:276 +#: ../../howto/regex.rst:279 msgid "" ":func:`re.compile` also accepts an optional *flags* argument, used to enable " "various special features and syntax variations. We'll go over the available " "settings later, but for now a single example will do::" msgstr "" -":func:`re.compile()` também aceita um argumento opcional *flags*, utilizados " +":func:`re.compile` também aceita um argumento opcional *flags*, utilizado " "para habilitar vários recursos especiais e variações de sintaxe. Nós vamos " "ver todas as configurações disponíveis mais tarde, mas por agora, um único " "exemplo vai servir::" -#: ../../howto/regex.rst:282 +#: ../../howto/regex.rst:285 msgid "" "The RE is passed to :func:`re.compile` as a string. REs are handled as " "strings because regular expressions aren't part of the core Python language, " "and no special syntax was created for expressing them. (There are " "applications that don't need REs at all, so there's no need to bloat the " "language specification by including them.) Instead, the :mod:`re` module is " -"simply a C extension module included with Python, just like the :mod:" -"`socket` or :mod:`zlib` modules." +"simply a C extension module included with Python, just like " +"the :mod:`socket` or :mod:`zlib` modules." msgstr "" "A RE é passada para :func:`re.compile` como uma string. REs são tratadas " "como strings porque as expressões regulares não são parte do núcleo da " @@ -679,7 +699,7 @@ msgstr "" "disso, o módulo :mod:`re` é simplesmente um módulo de extensão C incluído no " "Python, assim como os módulos de :mod:`socket` ou :mod:`zlib`." -#: ../../howto/regex.rst:289 +#: ../../howto/regex.rst:292 msgid "" "Putting REs in strings keeps the Python language simpler, but has one " "disadvantage which is the topic of the next section." @@ -687,24 +707,24 @@ msgstr "" "Colocando REs em strings mantém a linguagem Python mais simples, mas tem uma " "desvantagem, que é o tema da próxima seção." -#: ../../howto/regex.rst:296 +#: ../../howto/regex.rst:299 msgid "The Backslash Plague" -msgstr "A praga da barra invertida" +msgstr "A praga da contrabarra" -#: ../../howto/regex.rst:298 +#: ../../howto/regex.rst:301 msgid "" "As stated earlier, regular expressions use the backslash character " "(``'\\'``) to indicate special forms or to allow special characters to be " "used without invoking their special meaning. This conflicts with Python's " "usage of the same character for the same purpose in string literals." msgstr "" -"Como afirmado anteriormente, expressões regulares usam o caractere de barra " -"invertida (``\\``) para indicar formas especiais ou para permitir que " +"Como afirmado anteriormente, expressões regulares usam o caractere de " +"contrabarra (``\\``) para indicar formas especiais ou para permitir que " "caracteres especiais sejam usados sem invocar o seu significado especial. " "Isso entra em conflito com o uso pelo Python do mesmo caractere para o mesmo " "propósito nas strings literais." -#: ../../howto/regex.rst:303 +#: ../../howto/regex.rst:306 msgid "" "Let's say you want to write a RE that matches the string ``\\section``, " "which might be found in a LaTeX file. To figure out what to write in the " @@ -718,46 +738,46 @@ msgstr "" "Vamos dizer que você quer escrever uma RE que corresponde com a string " "``\\section``, que pode ser encontrada em um arquivo LaTeX. Para descobrir o " "que escrever no código do programa, comece com a string que se deseja " -"corresponder. Em seguida, você deve preceder qualquer barra invertida e " -"outros metacaracteres com uma barra invertida, tendo como resultado a string " -"``\\\\section``. A string resultante que deve ser passada para :func:`re." -"compile` deve ser ``\\\\section``. No entanto, para expressar isso como uma " -"string literal Python, ambas as barras invertidas devem ser precedidas com " -"uma barra invertida novamente." - -#: ../../howto/regex.rst:312 +"corresponder. Em seguida, você deve preceder qualquer contrabarra e outros " +"metacaracteres com uma contrabarra, tendo como resultado a string ``\\" +"\\section``. A string resultante que deve ser passada " +"para :func:`re.compile` deve ser ``\\\\section``. No entanto, para expressar " +"isso como uma string literal Python, ambas as contrabarras devem ser " +"precedidas com uma contrabarra novamente." + +#: ../../howto/regex.rst:315 msgid "Characters" msgstr "Caracteres" -#: ../../howto/regex.rst:312 +#: ../../howto/regex.rst:315 msgid "Stage" msgstr "Etapa" -#: ../../howto/regex.rst:314 +#: ../../howto/regex.rst:317 msgid "``\\section``" msgstr "``\\section``" -#: ../../howto/regex.rst:314 +#: ../../howto/regex.rst:317 msgid "Text string to be matched" -msgstr "string de texto a ser correspondida" +msgstr "String de texto a ser correspondida" -#: ../../howto/regex.rst:316 +#: ../../howto/regex.rst:319 msgid "``\\\\section``" msgstr "``\\\\section``" -#: ../../howto/regex.rst:316 +#: ../../howto/regex.rst:319 msgid "Escaped backslash for :func:`re.compile`" -msgstr "preceder com barra invertida para :func:`re.compile`" +msgstr "Preceder com contrabarra para :func:`re.compile`" -#: ../../howto/regex.rst:318 ../../howto/regex.rst:345 +#: ../../howto/regex.rst:321 ../../howto/regex.rst:348 msgid "``\"\\\\\\\\section\"``" msgstr "``\"\\\\\\\\section\"``" -#: ../../howto/regex.rst:318 +#: ../../howto/regex.rst:321 msgid "Escaped backslashes for a string literal" -msgstr "barras invertidas precedidas novamente para uma string literal" +msgstr "Contrabarras precedidas novamente para uma string literal" -#: ../../howto/regex.rst:321 +#: ../../howto/regex.rst:324 msgid "" "In short, to match a literal backslash, one has to write ``'\\\\\\\\'`` as " "the RE string, because the regular expression must be ``\\\\``, and each " @@ -765,14 +785,14 @@ msgid "" "literal. In REs that feature backslashes repeatedly, this leads to lots of " "repeated backslashes and makes the resulting strings difficult to understand." msgstr "" -"Em suma, para corresponder com uma barra invertida literal, tem de se " -"escrever ``'\\\\\\\\'`` como a string da RE, porque a expressão regular deve " -"ser ``\\\\``, e cada barra invertida deve ser expressa como ``\\\\`` dentro " -"de uma string literal Python normal. Em REs que apresentam barras invertidas " -"repetidas vezes, isso leva a um monte de barras invertidas repetidas e faz " -"as strings resultantes difíceis de entender." +"Em suma, para corresponder com uma contrabarra literal, tem de se escrever " +"``'\\\\\\\\'`` como a string da RE, porque a expressão regular deve ser ``\\" +"\\``, e cada contrabarra deve ser expressa como ``\\\\`` dentro de uma " +"string literal Python normal. Em REs que apresentam contrabarras repetidas " +"vezes, isso leva a um monte de contrabarras repetidas e faz as strings " +"resultantes difíceis de entender." -#: ../../howto/regex.rst:327 +#: ../../howto/regex.rst:330 msgid "" "The solution is to use Python's raw string notation for regular expressions; " "backslashes are not handled in any special way in a string literal prefixed " @@ -781,56 +801,61 @@ msgid "" "newline. Regular expressions will often be written in Python code using this " "raw string notation." msgstr "" -"A solução é usar a notação de string crua (raw) do Python para expressões " -"regulares; barras invertidas não são tratadas de nenhuma forma especial em " -"uma string literal se prefixada com ``r``, então ``r\"\\n\"`` é uma string " -"de dois caracteres contendo ``\\`` e ``n``, enquanto ``\"\\n\"`` é uma " -"string de um único caractere contendo uma nova linha. As expressões " -"regulares, muitas vezes, são escritas no código Python usando esta notação " -"de string crua (raw)." +"A solução é usar a notação de string bruta (raw) do Python para expressões " +"regulares; contrabarras não são tratadas de nenhuma forma especial em uma " +"string literal se prefixada com ``r``, então ``r\"\\n\"`` é uma string de " +"dois caracteres contendo ``\\`` e ``n``, enquanto ``\"\\n\"`` é uma string " +"de um único caractere contendo uma nova linha. As expressões regulares, " +"muitas vezes, são escritas no código Python usando esta notação de string " +"bruta (raw)." -#: ../../howto/regex.rst:333 +#: ../../howto/regex.rst:336 msgid "" "In addition, special escape sequences that are valid in regular expressions, " -"but not valid as Python string literals, now result in a :exc:" -"`DeprecationWarning` and will eventually become a :exc:`SyntaxError`, which " -"means the sequences will be invalid if raw string notation or escaping the " -"backslashes isn't used." -msgstr "" - -#: ../../howto/regex.rst:341 +"but not valid as Python string literals, now result in " +"a :exc:`DeprecationWarning` and will eventually become a :exc:`SyntaxError`, " +"which means the sequences will be invalid if raw string notation or escaping " +"the backslashes isn't used." +msgstr "" +"Além disso, sequências de escape especiais que são válidas em expressões " +"regulares, mas não válidas como literais de string do Python, agora resultam " +"em uma :exc:`DeprecationWarning` e eventualmente se tornarão " +"uma :exc:`SyntaxError`, o que significa que as sequências serão inválidas se " +"a notação de string bruta ou o escape das contrabarras não forem usados." + +#: ../../howto/regex.rst:344 msgid "Regular String" -msgstr "String Regular" +msgstr "String regular" -#: ../../howto/regex.rst:341 +#: ../../howto/regex.rst:344 msgid "Raw string" -msgstr "**String Crua**" +msgstr "**String bruta**" -#: ../../howto/regex.rst:343 +#: ../../howto/regex.rst:346 msgid "``\"ab*\"``" msgstr "``\"ab*\"``" -#: ../../howto/regex.rst:343 +#: ../../howto/regex.rst:346 msgid "``r\"ab*\"``" msgstr "``r\"ab*\"``" -#: ../../howto/regex.rst:345 +#: ../../howto/regex.rst:348 msgid "``r\"\\\\section\"``" msgstr "``r\"\\\\section\"``" -#: ../../howto/regex.rst:347 +#: ../../howto/regex.rst:350 msgid "``\"\\\\w+\\\\s+\\\\1\"``" msgstr "``\"\\\\w+\\\\s+\\\\1\"``" -#: ../../howto/regex.rst:347 +#: ../../howto/regex.rst:350 msgid "``r\"\\w+\\s+\\1\"``" msgstr "``r\"\\w+\\s+\\1\"``" -#: ../../howto/regex.rst:352 +#: ../../howto/regex.rst:355 msgid "Performing Matches" -msgstr "Executando Comparações" +msgstr "Executando correspondências" -#: ../../howto/regex.rst:354 +#: ../../howto/regex.rst:357 msgid "" "Once you have an object representing a compiled regular expression, what do " "you do with it? Pattern objects have several methods and attributes. Only " @@ -838,88 +863,93 @@ msgid "" "for a complete listing." msgstr "" "Uma vez que você tem um objeto que representa uma expressão regular " -"compilada, o que você faz com ele? Objetos padrão têm vários métodos e " +"compilada, o que você faz com ele? Objetos Pattern têm vários métodos e " "atributos. Apenas os mais significativos serão vistos aqui; consulte a " "documentação do módulo :mod:`re` para uma lista completa." -#: ../../howto/regex.rst:360 ../../howto/regex.rst:418 -#: ../../howto/regex.rst:1064 +#: ../../howto/regex.rst:363 ../../howto/regex.rst:421 +#: ../../howto/regex.rst:1069 msgid "Method/Attribute" msgstr "Método/Atributo" -#: ../../howto/regex.rst:360 ../../howto/regex.rst:418 -#: ../../howto/regex.rst:1064 +#: ../../howto/regex.rst:363 ../../howto/regex.rst:421 +#: ../../howto/regex.rst:1069 msgid "Purpose" msgstr "Propósito" -#: ../../howto/regex.rst:362 +#: ../../howto/regex.rst:365 msgid "``match()``" msgstr "``match()``" -#: ../../howto/regex.rst:362 +#: ../../howto/regex.rst:365 msgid "Determine if the RE matches at the beginning of the string." msgstr "Determina se a RE combina com o início da string." -#: ../../howto/regex.rst:365 +#: ../../howto/regex.rst:368 msgid "``search()``" msgstr "``search()``" -#: ../../howto/regex.rst:365 +#: ../../howto/regex.rst:368 msgid "Scan through a string, looking for any location where this RE matches." msgstr "" "Varre toda a string, procurando qualquer local onde esta RE tem " "correspondência." -#: ../../howto/regex.rst:368 +#: ../../howto/regex.rst:371 msgid "``findall()``" msgstr "``findall()``" -#: ../../howto/regex.rst:368 +#: ../../howto/regex.rst:371 msgid "Find all substrings where the RE matches, and returns them as a list." msgstr "" "Encontra todas as substrings onde a RE corresponde, e as retorna como uma " "lista." -#: ../../howto/regex.rst:371 +#: ../../howto/regex.rst:374 msgid "``finditer()``" msgstr "``finditer()``" -#: ../../howto/regex.rst:371 +#: ../../howto/regex.rst:374 msgid "" -"Find all substrings where the RE matches, and returns them as an :term:" -"`iterator`." +"Find all substrings where the RE matches, and returns them as " +"an :term:`iterator`." msgstr "" -"Encontra todas as substrings onde a RE corresponde, e as retorna como um :" -"term:`iterador `." +"Encontra todas as substrings onde a RE corresponde, e as retorna como " +"um :term:`iterador `." -#: ../../howto/regex.rst:375 +#: ../../howto/regex.rst:378 msgid "" ":meth:`~re.Pattern.match` and :meth:`~re.Pattern.search` return ``None`` if " "no match can be found. If they're successful, a :ref:`match object ` instance is returned, containing information about the match: " "where it starts and ends, the substring it matched, and more." msgstr "" +":meth:`~re.Pattern.match` e :meth:`~re.Pattern.search` retornam ``None`` se " +"não existir nenhuma correspondência encontrada. Se tiveram sucesso, uma " +"instância de :ref:`objeto correspondência ` é retornada, " +"contendo informações sobre a correspondência: onde ela começa e termina, a " +"substring com a qual ela teve correspondência, e mais." -#: ../../howto/regex.rst:380 +#: ../../howto/regex.rst:383 msgid "" "You can learn about this by interactively experimenting with the :mod:`re` " -"module. If you have :mod:`tkinter` available, you may also want to look at :" -"source:`Tools/demo/redemo.py`, a demonstration program included with the " +"module. If you have :mod:`tkinter` available, you may also want to look " +"at :source:`Tools/demo/redemo.py`, a demonstration program included with the " "Python distribution. It allows you to enter REs and strings, and displays " "whether the RE matches or fails. :file:`redemo.py` can be quite useful when " "trying to debug a complicated RE." msgstr "" -#: ../../howto/regex.rst:387 +#: ../../howto/regex.rst:390 msgid "" "This HOWTO uses the standard Python interpreter for its examples. First, run " "the Python interpreter, import the :mod:`re` module, and compile a RE::" msgstr "" -"Este HOWTO usa o interpretador Python padrão para seus exemplos. Primeiro, " -"execute o interpretador Python, importe o modulo :mod:`re`, e compile uma " -"RE::" +"Este documento usa o interpretador Python padrão para seus exemplos. " +"Primeiro, execute o interpretador Python, importe o módulo :mod:`re`, e " +"compile uma RE::" -#: ../../howto/regex.rst:395 +#: ../../howto/regex.rst:398 msgid "" "Now, you can try matching various strings against the RE ``[a-z]+``. An " "empty string shouldn't match at all, since ``+`` means 'one or more " @@ -927,159 +957,210 @@ msgid "" "which will cause the interpreter to print no output. You can explicitly " "print the result of :meth:`!match` to make this clear. ::" msgstr "" +"Agora, você pode tentar corresponder várias strings com a RE ``[a-z]+``. Mas " +"uma string vazia não deveria corresponder com nada, uma vez que ``+`` " +"significa 'uma ou mais repetições'. :meth:`~re.Pattern.match` deve retornar " +"``None`` neste caso, o que fará com que o interpretador não imprima nenhuma " +"saída. Você pode imprimir explicitamente o resultado de :meth:`!match` para " +"deixar isso claro." -#: ../../howto/regex.rst:405 +#: ../../howto/regex.rst:408 msgid "" "Now, let's try it on a string that it should match, such as ``tempo``. In " "this case, :meth:`~re.Pattern.match` will return a :ref:`match object `, so you should store the result in a variable for later use. ::" msgstr "" +"Agora, vamos experimentá-la em uma string que ela deve corresponder, como " +"``tempo``. Neste caso, :meth:`~re.Pattern.match` irá retornar " +"um :ref:`objeto correspondência `, assim você deve armazenar " +"o resultado em uma variável para uso posterior." -#: ../../howto/regex.rst:413 +#: ../../howto/regex.rst:416 msgid "" "Now you can query the :ref:`match object ` for information " "about the matching string. Match object instances also have several methods " "and attributes; the most important ones are:" msgstr "" +"Agora você pode consultar o :ref:`objeto correspondência ` " +"para obter informações sobre a string correspondente. Instâncias do objeto " +"correspondência também tem vários métodos e atributos; os mais importantes " +"são os seguintes:" -#: ../../howto/regex.rst:420 +#: ../../howto/regex.rst:423 msgid "``group()``" msgstr "``group()``" -#: ../../howto/regex.rst:420 +#: ../../howto/regex.rst:423 msgid "Return the string matched by the RE" msgstr "Retorna a string que corresponde com a RE" -#: ../../howto/regex.rst:422 +#: ../../howto/regex.rst:425 msgid "``start()``" msgstr "``start()``" -#: ../../howto/regex.rst:422 +#: ../../howto/regex.rst:425 msgid "Return the starting position of the match" msgstr "Retorna a posição inicial da string correspondente" -#: ../../howto/regex.rst:424 +#: ../../howto/regex.rst:427 msgid "``end()``" msgstr "``end()``" -#: ../../howto/regex.rst:424 +#: ../../howto/regex.rst:427 msgid "Return the ending position of the match" msgstr "Retorna a posição final da string correspondente" -#: ../../howto/regex.rst:426 +#: ../../howto/regex.rst:429 msgid "``span()``" msgstr "``span()``" -#: ../../howto/regex.rst:426 +#: ../../howto/regex.rst:429 msgid "Return a tuple containing the (start, end) positions of the match" msgstr "" -"Retorna uma tupla contendo as posições (inicial, final) da string combinada" +"Retorna uma tupla contendo as posições (inicial, final) da string " +"correspondente" -#: ../../howto/regex.rst:430 +#: ../../howto/regex.rst:433 msgid "Trying these methods will soon clarify their meaning::" msgstr "Experimentando estes métodos teremos seus significado esclarecidos::" -#: ../../howto/regex.rst:439 +#: ../../howto/regex.rst:442 msgid "" -":meth:`~re.Match.group` returns the substring that was matched by the RE. :" -"meth:`~re.Match.start` and :meth:`~re.Match.end` return the starting and " -"ending index of the match. :meth:`~re.Match.span` returns both start and end " -"indexes in a single tuple. Since the :meth:`~re.Pattern.match` method only " -"checks if the RE matches at the start of a string, :meth:`!start` will " +":meth:`~re.Match.group` returns the substring that was matched by the " +"RE. :meth:`~re.Match.start` and :meth:`~re.Match.end` return the starting " +"and ending index of the match. :meth:`~re.Match.span` returns both start and " +"end indexes in a single tuple. Since the :meth:`~re.Pattern.match` method " +"only checks if the RE matches at the start of a string, :meth:`!start` will " "always be zero. However, the :meth:`~re.Pattern.search` method of patterns " "scans through the string, so the match may not start at zero in that " "case. ::" msgstr "" +":meth:`~re.Match.group` retorna a substring que correspondeu com a " +"RE. :meth:`~re.Match.start` e :meth:`~re.Match.end` retornam os índices " +"inicial e o final da substring correspondente. :meth:`~re.Match.span` " +"retorna tanto os índices inicial e final em uma única tupla. Como o " +"método :meth:`~re.Pattern.match` somente verifica se a RE corresponde ao " +"início de uma string, :meth:`!start` será sempre zero. No entanto, o " +"método :meth:`~re.Pattern.search` dos objetos padrão, varre toda a string, " +"de modo que a substring correspondente pode não iniciar em zero nesse caso." -#: ../../howto/regex.rst:456 +#: ../../howto/regex.rst:459 msgid "" "In actual programs, the most common style is to store the :ref:`match object " "` in a variable, and then check if it was ``None``. This " "usually looks like::" msgstr "" -"Nos programas reais, o estilo mais comum é armazenar o :ref:`objeto Match " -"` em uma variável e, em seguida, verificar se ela é ``None``. " -"Isso geralmente se parece com::" +"Nos programas reais, o estilo mais comum é armazenar o :ref:`objeto " +"correspondência ` em uma variável e, em seguida, verificar se " +"ela é ``None``. Isso geralmente se parece com::" -#: ../../howto/regex.rst:467 +#: ../../howto/regex.rst:470 msgid "" -"Two pattern methods return all of the matches for a pattern. :meth:`~re." -"Pattern.findall` returns a list of matching strings::" +"Two pattern methods return all of the matches for a " +"pattern. :meth:`~re.Pattern.findall` returns a list of matching strings::" msgstr "" +"Dois métodos padrão retornam todas as correspondências de um " +"padrão. :meth:`~re.Pattern.findall` retorna uma lista de strings " +"correspondentes:" -#: ../../howto/regex.rst:474 +#: ../../howto/regex.rst:477 msgid "" "The ``r`` prefix, making the literal a raw string literal, is needed in this " "example because escape sequences in a normal \"cooked\" string literal that " "are not recognized by Python, as opposed to regular expressions, now result " -"in a :exc:`DeprecationWarning` and will eventually become a :exc:" -"`SyntaxError`. See :ref:`the-backslash-plague`." +"in a :exc:`DeprecationWarning` and will eventually become " +"a :exc:`SyntaxError`. See :ref:`the-backslash-plague`." msgstr "" +"O prefixo ``r``, tornando literal uma literal de string bruta, é necessário " +"neste exemplo porque sequências de escape em uma literal de string " +"\"cozida\" normal que não são reconhecidas pelo Python, ao contrário de " +"expressões regulares, agora resultam em uma :exc:`DeprecationWarning` e " +"eventualmente se tornarão uma :exc:`SyntaxError`. Veja :ref:`the-backslash-" +"plague`." -#: ../../howto/regex.rst:480 +#: ../../howto/regex.rst:483 msgid "" ":meth:`~re.Pattern.findall` has to create the entire list before it can be " "returned as the result. The :meth:`~re.Pattern.finditer` method returns a " -"sequence of :ref:`match object ` instances as an :term:" -"`iterator`::" +"sequence of :ref:`match object ` instances as " +"an :term:`iterator`::" msgstr "" +":meth:`~re.Pattern.findall` tem que criar a lista inteira antes de poder " +"devolvê-la como resultado. O método :meth:`~re.Pattern.finditer` retorna uma " +"sequência de instâncias :ref:`objeto correspondência ` como " +"um :term:`iterator`::" -#: ../../howto/regex.rst:496 +#: ../../howto/regex.rst:499 msgid "Module-Level Functions" -msgstr "Funções de Nível de Módulo" +msgstr "Funções de nível de módulo" -#: ../../howto/regex.rst:498 +#: ../../howto/regex.rst:501 msgid "" -"You don't have to create a pattern object and call its methods; the :mod:" -"`re` module also provides top-level functions called :func:`~re.match`, :" -"func:`~re.search`, :func:`~re.findall`, :func:`~re.sub`, and so forth. " -"These functions take the same arguments as the corresponding pattern method " -"with the RE string added as the first argument, and still return either " -"``None`` or a :ref:`match object ` instance. ::" +"You don't have to create a pattern object and call its methods; " +"the :mod:`re` module also provides top-level functions " +"called :func:`~re.match`, :func:`~re.search`, :func:`~re.findall`, :func:`~re.sub`, " +"and so forth. These functions take the same arguments as the corresponding " +"pattern method with the RE string added as the first argument, and still " +"return either ``None`` or a :ref:`match object ` instance. ::" msgstr "" +"Você não tem que criar um objeto padrão e chamar seus métodos; o " +"módulo :mod:`re` também fornece funções de nível superior " +"chamadas :func:`~re.match`, :func:`~re.search`, :func:`~re.findall`, :func:`~re.sub`, " +"e assim por diante. Estas funções recebem os mesmos argumentos que o método " +"correspondente do objeto padrão, com a string RE adicionada como o primeiro " +"argumento, e ainda retornam ``None`` ou uma instância :ref:`objeto " +"correspondência `. ::" -#: ../../howto/regex.rst:510 +#: ../../howto/regex.rst:513 msgid "" "Under the hood, these functions simply create a pattern object for you and " "call the appropriate method on it. They also store the compiled object in a " "cache, so future calls using the same RE won't need to parse the pattern " "again and again." msgstr "" +"Sob o capô, estas funções simplesmente criam um objeto padrão para você e " +"chamam o método apropriado para ele. Elas também armazenam o objeto " +"compilado em um cache, para que futuras chamadas usando a mesma RE não " +"precisem analisar o padrão de novo e de novo." -#: ../../howto/regex.rst:515 +#: ../../howto/regex.rst:518 msgid "" "Should you use these module-level functions, or should you get the pattern " "and call its methods yourself? If you're accessing a regex within a loop, " "pre-compiling it will save a few function calls. Outside of loops, there's " "not much difference thanks to the internal cache." msgstr "" +"Você deve usar essas funções de nível de módulo ou deve obter o padrão e " +"chamar seus métodos você mesmo? Se estiver acessando uma expressão regular " +"dentro de um laço de repetição, pré-compilá-la economizará algumas chamadas " +"de função. Fora dos laços, não há muita diferença graças ao cache interno." -#: ../../howto/regex.rst:523 +#: ../../howto/regex.rst:526 msgid "Compilation Flags" -msgstr "Sinalizadores de Compilação" +msgstr "Sinalizadores de compilação" -#: ../../howto/regex.rst:525 +#: ../../howto/regex.rst:530 msgid "" "Compilation flags let you modify some aspects of how regular expressions " "work. Flags are available in the :mod:`re` module under two names, a long " -"name such as :const:`IGNORECASE` and a short, one-letter form such as :const:" -"`I`. (If you're familiar with Perl's pattern modifiers, the one-letter " -"forms use the same letters; the short form of :const:`re.VERBOSE` is :const:" -"`re.X`, for example.) Multiple flags can be specified by bitwise OR-ing " -"them; ``re.I | re.M`` sets both the :const:`I` and :const:`M` flags, for " -"example." +"name such as :const:`IGNORECASE` and a short, one-letter form such " +"as :const:`I`. (If you're familiar with Perl's pattern modifiers, the one-" +"letter forms use the same letters; the short form of :const:`re.VERBOSE` " +"is :const:`re.X`, for example.) Multiple flags can be specified by bitwise " +"OR-ing them; ``re.I | re.M`` sets both the :const:`I` and :const:`M` flags, " +"for example." msgstr "" "Sinalizadores de compilação permitem modificar alguns aspectos de como as " -"expressões regulares funcionam. Sinalizadores estão disponíveis no módulo :" -"mod:`re` sob dois nomes, um nome longo, tal como :const:`IGNORECASE` e um " -"curto, na forma de uma letra, como :const:`I`. (Se você estiver " +"expressões regulares funcionam. Sinalizadores estão disponíveis no " +"módulo :mod:`re` sob dois nomes, um nome longo, tal como :const:`IGNORECASE` " +"e um curto, na forma de uma letra, como :const:`I`. (Se você estiver " "familiarizado com o padrão dos modificadores do Perl, o nome curto usa as " "mesmas letras; o forma abreviada de :const:`re.VERBOSE` é :const:`re.X`, por " "exemplo). Vários sinalizadores podem ser especificados aplicando um ``OU`` " -"bit a bit nelas; ``re.I | re.M`` define os sinalizadores :const:`I` e :const:" -"`M`, por exemplo." +"bit a bit nelas; ``re.I | re.M`` define os sinalizadores :const:`I` " +"e :const:`M`, por exemplo." -#: ../../howto/regex.rst:533 +#: ../../howto/regex.rst:538 msgid "" "Here's a table of the available flags, followed by a more detailed " "explanation of each one." @@ -1087,90 +1168,110 @@ msgstr "" "Aqui está uma tabela dos sinalizadores disponíveis, seguida por uma " "explicação mais detalhada de cada um:" -#: ../../howto/regex.rst:537 +#: ../../howto/regex.rst:542 msgid "Flag" msgstr "Sinalizador" -#: ../../howto/regex.rst:537 +#: ../../howto/regex.rst:542 msgid "Meaning" msgstr "Significado" -#: ../../howto/regex.rst:539 +#: ../../howto/regex.rst:544 msgid ":const:`ASCII`, :const:`A`" msgstr ":const:`ASCII`, :const:`A`" -#: ../../howto/regex.rst:539 +#: ../../howto/regex.rst:544 msgid "" "Makes several escapes like ``\\w``, ``\\b``, ``\\s`` and ``\\d`` match only " "on ASCII characters with the respective property." msgstr "" +"Faz com que vários escapes como ``\\w``, ``\\b``, ``\\s`` e ``\\d`` " +"correspondam apenas a caracteres ASCII com a respectiva propriedade." -#: ../../howto/regex.rst:543 +#: ../../howto/regex.rst:548 msgid ":const:`DOTALL`, :const:`S`" msgstr ":const:`DOTALL`, :const:`S`" -#: ../../howto/regex.rst:543 +#: ../../howto/regex.rst:548 msgid "Make ``.`` match any character, including newlines." -msgstr "" +msgstr "Faz o ``.`` corresponder a qualquer caractere, incluindo novas linhas." -#: ../../howto/regex.rst:546 +#: ../../howto/regex.rst:551 msgid ":const:`IGNORECASE`, :const:`I`" msgstr ":const:`IGNORECASE`, :const:`I`" -#: ../../howto/regex.rst:546 +#: ../../howto/regex.rst:551 msgid "Do case-insensitive matches." -msgstr "Faz combinações sem diferenciar maiúsculo de minúsculo" +msgstr "Faz combinações sem diferenciar maiúsculo de minúsculo." -#: ../../howto/regex.rst:548 +#: ../../howto/regex.rst:553 msgid ":const:`LOCALE`, :const:`L`" msgstr ":const:`LOCALE`, :const:`L`" -#: ../../howto/regex.rst:548 +#: ../../howto/regex.rst:553 msgid "Do a locale-aware match." msgstr "Faz uma correspondência considerando a localidade." -#: ../../howto/regex.rst:550 +#: ../../howto/regex.rst:555 msgid ":const:`MULTILINE`, :const:`M`" msgstr ":const:`MULTILINE`, :const:`M`" -#: ../../howto/regex.rst:550 +#: ../../howto/regex.rst:555 msgid "Multi-line matching, affecting ``^`` and ``$``." msgstr "Correspondência multilinha, afetando ``^`` e ``$``." -#: ../../howto/regex.rst:553 +#: ../../howto/regex.rst:558 msgid ":const:`VERBOSE`, :const:`X` (for 'extended')" -msgstr "" +msgstr ":const:`VERBOSE`, :const:`X` (de 'extended'; estendido em inglês)" -#: ../../howto/regex.rst:553 +#: ../../howto/regex.rst:558 msgid "" "Enable verbose REs, which can be organized more cleanly and understandably." msgstr "" "Habilita REs detalhadas, que podem ser organizadas de forma mais clara e " "compreensível." -#: ../../howto/regex.rst:562 +#: ../../howto/regex.rst:567 msgid "" "Perform case-insensitive matching; character class and literal strings will " "match letters by ignoring case. For example, ``[A-Z]`` will match lowercase " "letters, too. Full Unicode matching also works unless the :const:`ASCII` " "flag is used to disable non-ASCII matches. When the Unicode patterns ``[a-" "z]`` or ``[A-Z]`` are used in combination with the :const:`IGNORECASE` flag, " -"they will match the 52 ASCII letters and 4 additional non-ASCII letters: " -"'İ' (U+0130, Latin capital letter I with dot above), 'ı' (U+0131, Latin " -"small letter dotless i), 'ſ' (U+017F, Latin small letter long s) and " -"'K' (U+212A, Kelvin sign). ``Spam`` will match ``'Spam'``, ``'spam'``, " -"``'spAM'``, or ``'ſpam'`` (the latter is matched only in Unicode mode). This " -"lowercasing doesn't take the current locale into account; it will if you " -"also set the :const:`LOCALE` flag." -msgstr "" - -#: ../../howto/regex.rst:580 +"they will match the 52 ASCII letters and 4 additional non-ASCII letters: 'İ' " +"(U+0130, Latin capital letter I with dot above), 'ı' (U+0131, Latin small " +"letter dotless i), 'ſ' (U+017F, Latin small letter long s) and 'K' (U+212A, " +"Kelvin sign). ``Spam`` will match ``'Spam'``, ``'spam'``, ``'spAM'``, or " +"``'ſpam'`` (the latter is matched only in Unicode mode). This lowercasing " +"doesn't take the current locale into account; it will if you also set " +"the :const:`LOCALE` flag." +msgstr "" +"Faz correspondência sem distinção entre maiúsculas e minúsculas; a classe de " +"caracteres e as strings literais corresponderão às letras ignorando " +"maiúsculas e minúsculas. Por exemplo, ``[A-Z]`` corresponderá às letras " +"minúsculas também. A correspondência Unicode completa também funciona, a " +"menos que o sinalizador :const:`ASCII` seja usado para desabilitar " +"correspondências não ASCII. Quando os padrões Unicode ``[a-z]`` ou ``[A-Z]`` " +"são usados em combinação com o sinalizador :const:`IGNORECASE`, eles " +"corresponderão às 52 letras ASCII e 4 letras não ASCII adicionais: 'İ' " +"(U+0130, letra maiúscula latina I com ponto acima), 'ı' (U+0131, letra " +"minúscula latina i sem ponto), 'ſ' (U+017F, letra minúscula latina s longo) " +"e 'K' (U+212A, sinal Kelvin). ``Spam`` corresponderá a ``'Spam'``, " +"``'spam'``, ``'spAM'`` ou ``'ſpam'`` (o último é correspondido apenas no " +"modo Unicode). Essa capitalização em minúsculas não leva em conta a " +"localidade atual; levará se você também definir o " +"sinalizador :const:`LOCALE`." + +#: ../../howto/regex.rst:585 msgid "" "Make ``\\w``, ``\\W``, ``\\b``, ``\\B`` and case-insensitive matching " "dependent on the current locale instead of the Unicode database." msgstr "" +"Faz com que ``\\w``, ``\\W``, ``\\b``, ``\\B`` e a correspondência sem " +"diferenciação de maiúsculas e minúsculas dependam da localidade atual em vez " +"do banco de dados Unicode." -#: ../../howto/regex.rst:583 +#: ../../howto/regex.rst:588 msgid "" "Locales are a feature of the C library intended to help in writing programs " "that take account of language differences. For example, if you're " @@ -1188,16 +1289,33 @@ msgid "" "matching is already enabled by default in Python 3 for Unicode (str) " "patterns, and it is able to handle different locales/languages." msgstr "" - -#: ../../howto/regex.rst:605 +"Localidades são um recurso da biblioteca C destinado a ajudar na escrita de " +"programas que levam em conta as diferenças de idioma. Por exemplo, se você " +"estiver processando texto codificado em francês, você gostaria de ser capaz " +"de escrever ``\\w+`` para corresponder a palavras, mas ``\\w`` corresponde " +"apenas à classe de caracteres ``[A-Za-z]`` em padrões de bytes; ele não " +"corresponderá a bytes correspondentes a ``é`` ou ``ç``. Se seu sistema " +"estiver configurado corretamente e uma localidade francesa for selecionada, " +"certas funções C dirão ao programa que o byte correspondente a ``é`` também " +"deve ser considerado uma letra. Definir o sinalizador :const:`LOCALE` ao " +"compilar uma expressão regular fará com que o objeto compilado resultante " +"use essas funções C para ``\\w``; isso é mais lento, mas também permite que " +"``\\w+`` corresponda a palavras francesas como você esperaria. O uso deste " +"sinalizador é desencorajado no Python 3, pois o mecanismo de localidade é " +"muito pouco confiável, ele só manipula uma \"cultura\" por vez e só funciona " +"com localidades de 8 bits. A correspondência Unicode já está habilitada por " +"padrão no Python 3 para padrões Unicode (str), e é capaz de manipular " +"diferentes localidades/idiomas." + +#: ../../howto/regex.rst:610 msgid "" "(``^`` and ``$`` haven't been explained yet; they'll be introduced in " "section :ref:`more-metacharacters`.)" msgstr "" -"(``^`` e ``$`` ainda não foram explicados, eles serão comentados na seção :" -"ref:`more-metacharacters`.)" +"(``^`` e ``$`` ainda não foram explicados, eles serão comentados na " +"seção :ref:`more-metacharacters`.)" -#: ../../howto/regex.rst:608 +#: ../../howto/regex.rst:613 msgid "" "Usually ``^`` matches only at the beginning of the string, and ``$`` matches " "only at the end of the string and immediately before the newline (if any) at " @@ -1215,23 +1333,27 @@ msgstr "" "corresponde tanto ao final da string e ao final de cada linha (imediatamente " "antes de cada nova linha)." -#: ../../howto/regex.rst:621 +#: ../../howto/regex.rst:626 msgid "" "Makes the ``'.'`` special character match any character at all, including a " "newline; without this flag, ``'.'`` will match anything *except* a newline." msgstr "" "Faz o caractere especial ``.`` corresponder com qualquer caractere que seja, " -"incluindo o nova linha; sem este sinalizador, ``.`` irá corresponder a " -"qualquer coisa, exceto o nova linha." +"incluindo uma nova linha; sem este sinalizador, ``.`` irá corresponder a " +"qualquer coisa, exceto uma nova linha." -#: ../../howto/regex.rst:629 +#: ../../howto/regex.rst:634 msgid "" "Make ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\s`` and ``\\S`` perform ASCII-" "only matching instead of full Unicode matching. This is only meaningful for " "Unicode patterns, and is ignored for byte patterns." msgstr "" +"Faz com que ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\s`` e ``\\S`` executem " +"a correspondência somente ASCII em vez da correspondência Unicode completa. " +"Isso é significativo apenas para padrões Unicode e é ignorado para padrões " +"de bytes." -#: ../../howto/regex.rst:638 +#: ../../howto/regex.rst:643 msgid "" "This flag allows you to write regular expressions that are more readable by " "granting you more flexibility in how you can format them. When this flag " @@ -1250,23 +1372,21 @@ msgstr "" "organizar e formatar a RE de maneira mais clara. Este sinalizador também " "permite que se coloque comentários dentro de uma RE que serão ignorados pelo " "mecanismo; os comentários são marcados por um \"#\" que não está nem em uma " -"classe de caracteres nem precedido por uma barra invertida não \"escapada\". " -"Por exemplo, aqui está uma RE que usa re.VERBOSE; veja, o quanto mais fácil " -"de ler é ?" +"classe de caracteres nem precedido por uma barra invertida não \"escapada\"." -#: ../../howto/regex.rst:647 +#: ../../howto/regex.rst:652 msgid "" "For example, here's a RE that uses :const:`re.VERBOSE`; see how much easier " "it is to read? ::" msgstr "" -"Por exemplo, aqui está uma RE que usa :const:`re.VERBOSE`; veja, o quanto " -"mais fácil de ler é? ::" +"Por exemplo, aqui está uma RE que usa :const:`re.VERBOSE`; consegue ver o " +"quanto mais fácil de ler é? ::" -#: ../../howto/regex.rst:660 +#: ../../howto/regex.rst:665 msgid "Without the verbose setting, the RE would look like this::" msgstr "Sem o \"verbose\" definido, A RE iria se parecer como isto::" -#: ../../howto/regex.rst:666 +#: ../../howto/regex.rst:671 msgid "" "In the above example, Python's automatic concatenation of string literals " "has been used to break up the RE into smaller pieces, but it's still more " @@ -1276,11 +1396,11 @@ msgstr "" "foi usada para quebrar a RE em partes menores, mas ainda é mais difícil de " "entender do que a versão que usa :const:`re.VERBOSE`." -#: ../../howto/regex.rst:672 +#: ../../howto/regex.rst:677 msgid "More Pattern Power" -msgstr "Mais Poder dos Padrões" +msgstr "Mais poder dos padrões" -#: ../../howto/regex.rst:674 +#: ../../howto/regex.rst:679 msgid "" "So far we've only covered a part of the features of regular expressions. In " "this section, we'll cover some new metacharacters, and how to use groups to " @@ -1290,11 +1410,11 @@ msgstr "" "Nesta seção, vamos abordar alguns metacaracteres novos, e como usar grupos " "para recuperar partes do texto que teve correspondência." -#: ../../howto/regex.rst:682 +#: ../../howto/regex.rst:687 msgid "More Metacharacters" -msgstr "Mais Metacaracteres" +msgstr "Mais metacaracteres" -#: ../../howto/regex.rst:684 +#: ../../howto/regex.rst:689 msgid "" "There are some metacharacters that we haven't covered yet. Most of them " "will be covered in this section." @@ -1302,7 +1422,7 @@ msgstr "" "Existem alguns metacaracteres que nós ainda não vimos. A maioria deles serão " "referenciados nesta seção." -#: ../../howto/regex.rst:687 +#: ../../howto/regex.rst:692 msgid "" "Some of the remaining metacharacters to be discussed are :dfn:`zero-width " "assertions`. They don't cause the engine to advance through the string; " @@ -1313,9 +1433,9 @@ msgid "" "once at a given location, they can obviously be matched an infinite number " "of times." msgstr "" -"Alguns dos metacaracteres restantes a serem discutidos são como uma " -"afirmação de ``largura zero`` (zero-width assertions). Eles não fazem com " -"que o mecanismo avance pela string; ao contrário, eles não consomem nenhum " +"Alguns dos metacaracteres restantes a serem discutidos são como uma asserção " +"de ``largura zero`` (zero-width assertions). Eles não fazem com que o " +"mecanismo avance pela string; ao contrário, eles não consomem nenhum " "caractere, e simplesmente tem sucesso ou falha. Por exemplo, ``\\b`` é uma " "afirmação de que a posição atual está localizada nas bordas de uma palavra; " "a posição não é alterada de nenhuma maneira por ``\\b``. Isto significa que " @@ -1323,11 +1443,11 @@ msgstr "" "combinam uma vez em um determinado local, elas podem, obviamente, combinar " "um número infinito de vezes." -#: ../../howto/regex.rst:703 +#: ../../howto/regex.rst:708 msgid "``|``" msgstr "``|``" -#: ../../howto/regex.rst:696 +#: ../../howto/regex.rst:701 msgid "" "Alternation, or the \"or\" operator. If *A* and *B* are regular " "expressions, ``A|B`` will match any string that matches either *A* or *B*. " @@ -1336,8 +1456,14 @@ msgid "" "``'Crow'`` or ``'Servo'``, not ``'Cro'``, a ``'w'`` or an ``'S'``, and " "``'ervo'``." msgstr "" +"Alternância, ou operador \"or\". Se *A* e *B* são expressões regulares, ``A|" +"B`` irá corresponder com qualquer string que corresponder com *A* ou *B*. ``|" +"`` tem uma prioridade muito baixa, a fim de fazê-lo funcionar razoavelmente " +"quando você está alternando entre strings de vários caracteres. ``Crow|" +"Servo`` irá corresponder tanto com ``'Crow'`` quanto com ``'Servo'``, e não " +"com ``'Cro'``, ``'w'`` ou ``'S'``, e ``'ervo'``." -#: ../../howto/regex.rst:702 +#: ../../howto/regex.rst:707 msgid "" "To match a literal ``'|'``, use ``\\|``, or enclose it inside a character " "class, as in ``[|]``." @@ -1345,39 +1471,39 @@ msgstr "" "Para corresponder com um ``'|'`` literal, use ``\\|``, ou coloque ele dentro " "de uma classe de caracteres, como em ``[|]``." -#: ../../howto/regex.rst:718 +#: ../../howto/regex.rst:723 msgid "``^``" msgstr "``^``" -#: ../../howto/regex.rst:706 +#: ../../howto/regex.rst:711 msgid "" "Matches at the beginning of lines. Unless the :const:`MULTILINE` flag has " -"been set, this will only match at the beginning of the string. In :const:" -"`MULTILINE` mode, this also matches immediately after each newline within " -"the string." +"been set, this will only match at the beginning of the string. " +"In :const:`MULTILINE` mode, this also matches immediately after each newline " +"within the string." msgstr "" "Corresponde ao início de linha. A menos que o sinalizador :const:`MULTILINE` " -"tenha sido definido, isso só irá corresponder ao início da string. No modo :" -"const:`MULTILINE`, isso também corresponde imediatamente após cada nova " -"linha de dentro da string." +"tenha sido definido, isso só irá corresponder ao início da string. No " +"modo :const:`MULTILINE`, isso também corresponde imediatamente após cada " +"nova linha de dentro da string." -#: ../../howto/regex.rst:710 +#: ../../howto/regex.rst:715 msgid "" "For example, if you wish to match the word ``From`` only at the beginning of " "a line, the RE to use is ``^From``. ::" msgstr "" "Por exemplo, para ter correspondência com a palavra ``From`` apenas no " -"início de uma linha, aRE a ser usada é ``^From``. ::" +"início de uma linha, a RE a ser usada é ``^From``. ::" -#: ../../howto/regex.rst:718 +#: ../../howto/regex.rst:723 msgid "To match a literal ``'^'``, use ``\\^``." -msgstr "" +msgstr "Para corresponder a um ``'^'`` literal, use ``\\^``." -#: ../../howto/regex.rst:732 +#: ../../howto/regex.rst:737 msgid "``$``" msgstr "``$``" -#: ../../howto/regex.rst:721 +#: ../../howto/regex.rst:726 msgid "" "Matches at the end of a line, which is defined as either the end of the " "string, or any location followed by a newline character. ::" @@ -1385,19 +1511,19 @@ msgstr "" "Corresponde ao fim de uma linha, que tanto é definido como o fim de uma " "string, ou qualquer local seguido por um caractere de nova linha. ::" -#: ../../howto/regex.rst:731 +#: ../../howto/regex.rst:736 msgid "" "To match a literal ``'$'``, use ``\\$`` or enclose it inside a character " "class, as in ``[$]``." msgstr "" -"Para corresponder com um ``$`` literal, use ``\\$`` ou coloque-o dentro de " +"Para corresponder com um ``'$'`` literal, use ``\\$`` ou coloque-o dentro de " "uma classe de caracteres, como em ``[$]``." -#: ../../howto/regex.rst:738 +#: ../../howto/regex.rst:743 msgid "``\\A``" msgstr "``\\A``" -#: ../../howto/regex.rst:735 +#: ../../howto/regex.rst:740 msgid "" "Matches only at the start of the string. When not in :const:`MULTILINE` " "mode, ``\\A`` and ``^`` are effectively the same. In :const:`MULTILINE` " @@ -1405,37 +1531,38 @@ msgid "" "string, but ``^`` may match at any location inside the string that follows a " "newline character." msgstr "" -"Corresponde apenas com o início da string. Quando não estiver em modo :const:" -"`MULTILINE`, ``\\A`` e ``^`` são efetivamente a mesma coisa. No modo :const:" -"`MULTILINE`, eles são diferentes: ``\\A`` continua a corresponder apenas com " -"o início da string, mas ``^`` pode corresponder com qualquer localização de " -"dentro da string, que seja posterior a um caractere nova linha." +"Corresponde apenas com o início da string. Quando não estiver em " +"modo :const:`MULTILINE`, ``\\A`` e ``^`` são efetivamente a mesma coisa. No " +"modo :const:`MULTILINE`, eles são diferentes: ``\\A`` continua a " +"corresponder apenas com o início da string, mas ``^`` pode corresponder com " +"qualquer localização de dentro da string, que seja posterior a um caractere " +"nova linha." -#: ../../howto/regex.rst:741 +#: ../../howto/regex.rst:746 msgid "``\\Z``" msgstr "``\\Z``" -#: ../../howto/regex.rst:741 +#: ../../howto/regex.rst:746 msgid "Matches only at the end of the string." msgstr "Corresponde apenas ao final da string." -#: ../../howto/regex.rst:776 +#: ../../howto/regex.rst:781 msgid "``\\b``" msgstr "``\\b``" -#: ../../howto/regex.rst:744 +#: ../../howto/regex.rst:749 msgid "" "Word boundary. This is a zero-width assertion that matches only at the " "beginning or end of a word. A word is defined as a sequence of alphanumeric " "characters, so the end of a word is indicated by whitespace or a non-" "alphanumeric character." msgstr "" -"Borda de palavra. Esta é uma afirmação de ``largura zero`` que corresponde " -"apenas ao início ou ao final de uma palavra. Uma palavra é definida como uma " -"sequência de caracteres alfanuméricos, de modo que o fim de uma palavra é " -"indicado por espaços em branco ou um caractere não alfanumérico." +"Borda de palavra. Esta é uma asserção de largura zero que corresponde apenas " +"ao início ou ao fim de uma palavra. Uma palavra é definida como uma " +"sequência de caracteres alfanuméricos, então o fim de uma palavra é indicado " +"por espaço em branco ou um caractere não alfanumérico." -#: ../../howto/regex.rst:749 +#: ../../howto/regex.rst:754 msgid "" "The following example matches ``class`` only when it's a complete word; it " "won't match when it's contained inside another word. ::" @@ -1443,7 +1570,7 @@ msgstr "" "O exemplo a seguir corresponde a ``class`` apenas quando é a palavra exata; " "ele não irá corresponder quando for contido dentro de uma outra palavra. ::" -#: ../../howto/regex.rst:760 +#: ../../howto/regex.rst:765 msgid "" "There are two subtleties you should remember when using this special " "sequence. First, this is the worst collision between Python's string " @@ -1453,42 +1580,41 @@ msgid "" "won't match as you expect it to. The following example looks the same as our " "previous RE, but omits the ``'r'`` in front of the RE string. ::" msgstr "" -"Há duas sutilezas você deve lembrar ao usar essa sequência especial. Em " +"Há duas sutilezas que você deve lembrar ao usar essa sequência especial. Em " "primeiro lugar, esta é a pior colisão entre strings literais do Python e " "sequências de expressão regular. Nas strings literais do Python, ``\\b`` é o " "caractere backspace, o valor ASCII 8. Se você não estiver usando strings " -"cruas (raw), então Python irá converter o ``\\b`` em um backspace e sua RE " -"não irá funcionar da maneira que você espera. O exemplo a seguir parece " -"igual a nossa RE anterior, mas omite o ``r`` na frente da string RE. ::" +"brutas, então Python irá converter o ``\\b`` em um backspace e sua RE não " +"irá funcionar da maneira que você espera. O exemplo a seguir parece igual a " +"nossa RE anterior, mas omite o ``'r'`` na frente da string RE. ::" -#: ../../howto/regex.rst:774 +#: ../../howto/regex.rst:779 msgid "" "Second, inside a character class, where there's no use for this assertion, " "``\\b`` represents the backspace character, for compatibility with Python's " "string literals." msgstr "" "Além disso, dentro de uma classe de caracteres, onde não há nenhum uso para " -"esta afirmação, ``\\b`` representa o caractere backspace, para " +"esta asserção, ``\\b`` representa o caractere backspace, para " "compatibilidade com strings literais do Python" -#: ../../howto/regex.rst:781 +#: ../../howto/regex.rst:786 msgid "``\\B``" msgstr "``\\B``" -#: ../../howto/regex.rst:779 +#: ../../howto/regex.rst:784 msgid "" "Another zero-width assertion, this is the opposite of ``\\b``, only matching " "when the current position is not at a word boundary." msgstr "" -"Outra afirmação de ``largura zero``; isto é o oposto de ``\\b``, " -"correspondendo apenas quando a posição corrente não é de uma borda de " -"palavra." +"Outra asserção de largura zero; isto é o oposto de ``\\b``, correspondendo " +"apenas quando a posição corrente não é de uma borda de palavra." -#: ../../howto/regex.rst:784 +#: ../../howto/regex.rst:789 msgid "Grouping" msgstr "Agrupamento" -#: ../../howto/regex.rst:786 +#: ../../howto/regex.rst:791 msgid "" "Frequently you need to obtain more information than just whether the RE " "matched or not. Regular expressions are often used to dissect strings by " @@ -1496,24 +1622,24 @@ msgid "" "of interest. For example, an RFC-822 header line is divided into a header " "name and a value, separated by a ``':'``, like this:" msgstr "" +"Frequentemente é necessário obter mais informações do que apenas se a RE " +"teve correspondência ou não. As expressões regulares são muitas vezes " +"utilizadas para dissecar strings escrevendo uma RE dividida em vários " +"subgrupos que correspondem a diferentes componentes de interesse. Por " +"exemplo, uma linha de cabeçalho RFC-822 é dividida em um nome de cabeçalho e " +"um valor, separados por um ``':'``, como essa:" -#: ../../howto/regex.rst:799 +#: ../../howto/regex.rst:804 msgid "" "This can be handled by writing a regular expression which matches an entire " "header line, and has one group which matches the header name, and another " "group which matches the header's value." msgstr "" -"Isto pode ser gerenciado ao escrever uma expressão regular que corresponde " -"com uma linha inteira de cabeçalho, e tem um grupo que corresponde ao nome " -"do cabeçalho, e um outro grupo, que corresponde ao valor do cabeçalho. Os " -"grupos são marcados pelos metacaracteres ``(`` e ``)``. ``(`` e ``)`` têm " -"muito do mesmo significado que eles têm em expressões matemáticas; eles " -"agrupam as expressões contidas dentro deles, e você pode repetir o conteúdo " -"de um grupo com um qualificador de repetição, como ``*``, ``+``, ``?``, ou " -"``{m,n}``. Por exemplo, ``(ab)*`` irá corresponder a zero ou mais repetições " -"de ``ab``." +"Isto pode ser tratado escrevendo uma expressão regular que corresponde com " +"uma linha inteira de cabeçalho, e tem um grupo que corresponde ao nome do " +"cabeçalho, e um outro grupo, que corresponde ao valor do cabeçalho." -#: ../../howto/regex.rst:803 +#: ../../howto/regex.rst:808 msgid "" "Groups are marked by the ``'('``, ``')'`` metacharacters. ``'('`` and " "``')'`` have much the same meaning as they do in mathematical expressions; " @@ -1522,20 +1648,35 @@ msgid "" "``, or ``{m,n}``. For example, ``(ab)*`` will match zero or more " "repetitions of ``ab``. ::" msgstr "" +"Os grupos são marcados pelos metacaracteres ``'('`` e ``')'``. ``'('`` e " +"``')'`` têm muito do mesmo significado que eles têm em expressões " +"matemáticas; eles agrupam as expressões contidas dentro deles, e você pode " +"repetir o conteúdo de um grupo com um qualificador de repetição, como ``*``, " +"``+``, ``?``, ou ``{m,n}``. Por exemplo, ``(ab)*`` irá corresponder a zero " +"ou mais repetições de ``ab``." -#: ../../howto/regex.rst:814 +#: ../../howto/regex.rst:819 msgid "" "Groups indicated with ``'('``, ``')'`` also capture the starting and ending " "index of the text that they match; this can be retrieved by passing an " -"argument to :meth:`~re.Match.group`, :meth:`~re.Match.start`, :meth:`~re." -"Match.end`, and :meth:`~re.Match.span`. Groups are numbered starting with " -"0. Group 0 is always present; it's the whole RE, so :ref:`match object " -"` methods all have group 0 as their default argument. Later " -"we'll see how to express groups that don't capture the span of text that " -"they match. ::" -msgstr "" - -#: ../../howto/regex.rst:830 +"argument " +"to :meth:`~re.Match.group`, :meth:`~re.Match.start`, :meth:`~re.Match.end`, " +"and :meth:`~re.Match.span`. Groups are numbered starting with 0. Group 0 " +"is always present; it's the whole RE, so :ref:`match object ` " +"methods all have group 0 as their default argument. Later we'll see how to " +"express groups that don't capture the span of text that they match. ::" +msgstr "" +"Grupos indicados com ``'('`` e ``')'`` também capturam o índice inicial e " +"final do texto que eles correspondem; isso pode ser obtido por meio da " +"passagem de um argumento " +"para :meth:`~re.Match.group`, :meth:`~re.Match.start`, :meth:`~re.Match.end` " +"e :meth:`~re.Match.span`. Os grupos são numerados começando com 0. O grupo 0 " +"está sempre presente; é toda a RE, de forma que os métodos de :ref:`objeto " +"de correspondência ` têm todos o grupo 0 como seu argumento " +"padrão. Mais tarde veremos como expressar grupos que não capturam a extensão " +"de texto com a qual eles correspondem. ::" + +#: ../../howto/regex.rst:835 msgid "" "Subgroups are numbered from left to right, from 1 upward. Groups can be " "nested; to determine the number, just count the opening parenthesis " @@ -1543,23 +1684,28 @@ msgid "" msgstr "" "Subgrupos são numerados a partir da esquerda para a direita, de forma " "crescente a partir de 1. Os grupos podem ser aninhados; para determinar o " -"número, basta contar os caracteres de abertura de parêntese - ``(``, indo da " +"número, basta contar os caracteres de abertura de parêntese ``(``, indo da " "esquerda para a direita. ::" -#: ../../howto/regex.rst:843 +#: ../../howto/regex.rst:848 msgid "" ":meth:`~re.Match.group` can be passed multiple group numbers at a time, in " "which case it will return a tuple containing the corresponding values for " "those groups. ::" msgstr "" +":meth:`~re.Match.group` pode receber vários números de grupos de uma vez, e " +"nesse caso ele irá retornar uma tupla contendo os valores correspondentes " +"desses grupos. ::" -#: ../../howto/regex.rst:849 +#: ../../howto/regex.rst:854 msgid "" "The :meth:`~re.Match.groups` method returns a tuple containing the strings " "for all the subgroups, from 1 up to however many there are. ::" msgstr "" +"O método :meth:`~re.Match.groups` retorna uma tupla contendo as strings de " +"todos os subgrupos, de 1 até o último. ::" -#: ../../howto/regex.rst:855 +#: ../../howto/regex.rst:860 msgid "" "Backreferences in a pattern allow you to specify that the contents of an " "earlier capturing group must also be found at the current location in the " @@ -1572,18 +1718,18 @@ msgstr "" "Referências anteriores em um padrão permitem que você especifique que o " "conteúdo de um grupo capturado anteriormente também deve ser encontrado na " "posição atual na sequência. Por exemplo, ``\\1`` terá sucesso se o conteúdo " -"exato do grupo 1 puder ser encontrado na posição atual, e falhar caso " -"contrário. Lembre-se que as strings literais do Python também usam a barra " -"invertida seguida por números para permitir a inclusão de caracteres " -"arbitrários em uma string, por isso certifique-se de usar strings cruas " -"(raw) ao incorporar referências anteriores em uma RE." +"exato do grupo 1 puder ser encontrado na posição atual, e falha caso " +"contrário. Lembre-se que as strings literais do Python também usam a " +"contrabarra seguida por números para permitir a inclusão de caracteres " +"arbitrários em uma string, por isso certifique-se de usar strings brutas ao " +"incorporar referências anteriores em uma RE." -#: ../../howto/regex.rst:863 +#: ../../howto/regex.rst:868 msgid "For example, the following RE detects doubled words in a string. ::" msgstr "" "Por exemplo, a seguinte RE detecta palavras duplicadas em uma string. ::" -#: ../../howto/regex.rst:869 +#: ../../howto/regex.rst:874 msgid "" "Backreferences like this aren't often useful for just searching through a " "string --- there are few text formats which repeat data in this way --- but " @@ -1591,15 +1737,15 @@ msgid "" "substitutions." msgstr "" "Referências anteriores como esta não são, geralmente, muito úteis apenas " -"para fazer pesquisa percorrendo uma string — existem alguns formatos de " -"texto que repetem dados dessa forma — mas em breve você irá descobrir que " -"elas são muito úteis para realizar substituições de strings." +"para fazer pesquisa em uma string --- existem alguns formatos de texto que " +"repetem dados dessa forma --- mas em breve você irá descobrir que elas são " +"muito úteis para realizar substituições de strings." -#: ../../howto/regex.rst:875 +#: ../../howto/regex.rst:880 msgid "Non-capturing and Named Groups" -msgstr "Não captura e Grupos Nomeados" +msgstr "Não captura e grupos nomeados" -#: ../../howto/regex.rst:877 +#: ../../howto/regex.rst:882 msgid "" "Elaborate REs may use many groups, both to capture substrings of interest, " "and to group and structure the RE itself. In complex REs, it becomes " @@ -1611,10 +1757,9 @@ msgstr "" "interesse, quanto para agrupar e estruturar a própria RE. Em REs complexas, " "torna-se difícil manter o controle dos números dos grupos. Existem dois " "recursos que ajudam a lidar com esse problema. Ambos usam uma sintaxe comum " -"para extensões de expressão regular, então vamos olhar para isso em primeiro " -"lugar." +"para extensões de expressão regular, então vamos olhar primeiro para isso." -#: ../../howto/regex.rst:883 +#: ../../howto/regex.rst:888 msgid "" "Perl 5 is well known for its powerful additions to standard regular " "expressions. For these new features the Perl developers couldn't choose new " @@ -1624,8 +1769,16 @@ msgid "" "expressions would be assuming that ``&`` was a regular character and " "wouldn't have escaped it by writing ``\\&`` or ``[&]``." msgstr "" +"O Perl 5 é bem conhecido por suas poderosas adições às expressões regulares " +"padrão. Para esses novos recursos, os desenvolvedores do Perl não podiam " +"escolher novos metacaracteres de um único caractere ou novas sequências " +"especiais começando com ``\\`` sem tornar as expressões regulares do Perl " +"confusamente diferentes das REs padrão. Se eles escolhessem ``&`` como um " +"novo metacaractere, por exemplo, as expressões antigas estariam presumindo " +"que ``&`` era um caractere regular e não teriam escapado dele escrevendo " +"``\\&`` ou ``[&]``." -#: ../../howto/regex.rst:890 +#: ../../howto/regex.rst:895 msgid "" "The solution chosen by the Perl developers was to use ``(?...)`` as the " "extension syntax. ``?`` immediately after a parenthesis was a syntax error " @@ -1640,31 +1793,42 @@ msgstr "" "erro de sintaxe porque o ``?`` não teria nada a repetir, de modo que isso " "não introduz quaisquer problemas de compatibilidade. Os caracteres " "imediatamente após um ``?`` indicam que a extensão está sendo usada, então " -"``(?=foo)`` é uma coisa (uma afirmação ``lookahead`` positiva) e ``(?:foo)`` " -"é outra coisa (um grupo de não captura contendo a subexpressão ``foo``)." +"``(?=foo)`` é uma coisa (uma asserção ``lookahead`` positiva) e ``(?:foo)`` " +"é outra coisa (um grupo de não-captura contendo a subexpressão ``foo``)." -#: ../../howto/regex.rst:898 +#: ../../howto/regex.rst:903 msgid "" "Python supports several of Perl's extensions and adds an extension syntax to " "Perl's extension syntax. If the first character after the question mark is " "a ``P``, you know that it's an extension that's specific to Python." msgstr "" +"Python oferece suporte a diversas extensões do Perl e adiciona uma sintaxe " +"de extensão à sintaxe de extensão do Perl. Se o primeiro caractere após o " +"ponto de interrogação for um ``P``, você sabe que se trata de uma extensão " +"específica do Python." -#: ../../howto/regex.rst:903 +#: ../../howto/regex.rst:908 msgid "" "Now that we've looked at the general extension syntax, we can return to the " "features that simplify working with groups in complex REs." msgstr "" +"Agora que vimos a sintaxe geral da extensão, podemos retornar aos recursos " +"que simplificam o trabalho com grupos em REs complexas." -#: ../../howto/regex.rst:906 +#: ../../howto/regex.rst:911 msgid "" "Sometimes you'll want to use a group to denote a part of a regular " "expression, but aren't interested in retrieving the group's contents. You " "can make this fact explicit by using a non-capturing group: ``(?:...)``, " "where you can replace the ``...`` with any other regular expression. ::" msgstr "" +"Às vezes você vai querer usar um grupo para representar uma parte de uma " +"expressão regular, mas não está interessado em recuperar o conteúdo do " +"grupo. Você pode tornar isso explícito usando um grupo de não-captura: " +"``(?:...)``, onde você pode substituir o ``...`` por qualquer outra " +"expressão regular. ::" -#: ../../howto/regex.rst:918 +#: ../../howto/regex.rst:923 msgid "" "Except for the fact that you can't retrieve the contents of what the group " "matched, a non-capturing group behaves exactly the same as a capturing " @@ -1677,16 +1841,17 @@ msgid "" "groups; neither form is any faster than the other." msgstr "" "Exceto pelo fato de que não é possível recuperar o conteúdo sobre o qual o " -"grupo corresponde, um grupo de não captura se comporta exatamente da mesma " +"grupo corresponde, um grupo de não-captura se comporta exatamente da mesma " "forma que um grupo de captura; você pode colocar qualquer coisa dentro dele, " -"repeti-lo com um metacaractere de repetição, como o '*', e aninhá-lo dentro " -"de outros grupos (de captura ou não captura). ``(?:...)`` é particularmente " -"útil para modificar um padrão existente, já que você pode adicionar novos " -"grupos sem alterar a forma como todos os outros grupos estão numerados. Deve " -"ser mencionado que não há diferença de desempenho na busca entre grupos de " -"captura e grupos de não captura; uma forma não é mais rápida que outra." +"repeti-lo com um metacaractere de repetição, como o ``*``, e aninhá-lo " +"dentro de outros grupos (de captura ou não-captura). ``(?:...)`` é " +"particularmente útil para modificar um padrão existente, já que você pode " +"adicionar novos grupos sem alterar a forma como todos os outros grupos estão " +"numerados. Deve ser mencionado que não há diferença de desempenho na busca " +"entre grupos de captura e grupos de não-captura; uma forma não é mais rápida " +"que outra." -#: ../../howto/regex.rst:927 +#: ../../howto/regex.rst:932 msgid "" "A more significant feature is named groups: instead of referring to them by " "numbers, groups can be referenced by a name." @@ -1694,7 +1859,7 @@ msgstr "" "Uma característica mais significativa são os grupos nomeados: em vez de se " "referir a eles por números, os grupos podem ser referenciados por um nome." -#: ../../howto/regex.rst:930 +#: ../../howto/regex.rst:935 msgid "" "The syntax for a named group is one of the Python-specific extensions: ``(?" "P...)``. *name* is, obviously, the name of the group. Named groups " @@ -1705,21 +1870,34 @@ msgid "" "still given numbers, so you can retrieve information about a group in two " "ways::" msgstr "" +"A sintaxe de um grupo nomeado é uma das extensões específicas do Python: ``(?" +"P...)``. *name* é, obviamente, o nome do grupo. Os grupos nomeados se " +"comportam exatamente como os grupos de captura, e, adicionalmente, associam " +"um nome a um grupo. Todos os métodos de :ref:`objeto correspondência ` que lidam com grupos de captura aceitam tanto inteiros que se " +"referem ao grupo por número ou strings que contêm o nome do grupo desejado. " +"Os grupos nomeados ainda recebem números, então você pode recuperar " +"informações sobre um grupo de duas maneiras::" -#: ../../howto/regex.rst:945 +#: ../../howto/regex.rst:950 msgid "" -"Additionally, you can retrieve named groups as a dictionary with :meth:`~re." -"Match.groupdict`::" +"Additionally, you can retrieve named groups as a dictionary " +"with :meth:`~re.Match.groupdict`::" msgstr "" +"Além disso, você pode recuperar grupos nomeados como um dicionário " +"com :meth:`~re.Match.groupdict`::" -#: ../../howto/regex.rst:952 +#: ../../howto/regex.rst:957 msgid "" "Named groups are handy because they let you use easily remembered names, " -"instead of having to remember numbers. Here's an example RE from the :mod:" -"`imaplib` module::" +"instead of having to remember numbers. Here's an example RE from " +"the :mod:`imaplib` module::" msgstr "" +"Os grupos nomeados são úteis porque eles permitem que você use nomes de " +"fácil lembrança, em vez de ter que lembrar de números. Aqui está um exemplo " +"de RE usando o módulo :mod:`imaplib`::" -#: ../../howto/regex.rst:963 +#: ../../howto/regex.rst:968 msgid "" "It's obviously much easier to retrieve ``m.group('zonem')``, instead of " "having to remember to retrieve group 9." @@ -1727,36 +1905,43 @@ msgstr "" "É obviamente muito mais fácil fazer referência a ``m.group('zonem')``, do " "que ter que se lembrar de capturar o grupo 9." -#: ../../howto/regex.rst:966 +#: ../../howto/regex.rst:971 msgid "" "The syntax for backreferences in an expression such as ``(...)\\1`` refers " "to the number of the group. There's naturally a variant that uses the group " "name instead of the number. This is another Python extension: ``(?P=name)`` " "indicates that the contents of the group called *name* should again be " "matched at the current point. The regular expression for finding doubled " -"words, ``\\b(\\w+)\\s+\\1\\b`` can also be written as ``\\b(?" -"P\\w+)\\s+(?P=word)\\b``::" -msgstr "" - -#: ../../howto/regex.rst:979 +"words, ``\\b(\\w+)\\s+\\1\\b`` can also be written as ``\\b(?P\\w+)\\s+" +"(?P=word)\\b``::" +msgstr "" +"A sintaxe para referências anteriores em uma expressão, tal como ``(...)" +"\\1``, faz referência ao número do grupo. Existe, naturalmente, uma variante " +"que usa o nome do grupo em vez do número. Isto é outra extensão Python: ``(?" +"P=name)`` indica que o conteúdo do grupo chamado *name* deve, novamente, ser " +"correspondido no ponto atual. A expressão regular para encontrar palavras " +"duplicadas, ``(\\b\\w+)\\s+\\1``, também pode ser escrita como ``(?" +"P\\b\\w+)\\s+(?P=word)``::" + +#: ../../howto/regex.rst:984 msgid "Lookahead Assertions" -msgstr "Afirmação Lookahead" +msgstr "Asserções lookahead" -#: ../../howto/regex.rst:981 +#: ../../howto/regex.rst:986 msgid "" "Another zero-width assertion is the lookahead assertion. Lookahead " "assertions are available in both positive and negative form, and look like " "this:" msgstr "" -"Outra afirmação de \"largura zero\" é a afirmação lookahead. Afirmações " -"LookAhead estão disponíveis tanto na forma positiva quanto na negativa, e se " +"Outra asserção de \"largura zero\" é a asserção lookahead. Asserções " +"lookahead estão disponíveis tanto na forma positiva quanto na negativa, e se " "parece com isto:" -#: ../../howto/regex.rst:989 +#: ../../howto/regex.rst:994 msgid "``(?=...)``" msgstr "``(?=...)``" -#: ../../howto/regex.rst:985 +#: ../../howto/regex.rst:990 msgid "" "Positive lookahead assertion. This succeeds if the contained regular " "expression, represented here by ``...``, successfully matches at the current " @@ -1764,49 +1949,49 @@ msgid "" "tried, the matching engine doesn't advance at all; the rest of the pattern " "is tried right where the assertion started." msgstr "" -"Afirmação lookahead positiva. Retorna sucesso se a expressão regular " +"Asserção lookahead positiva. É bem-sucedida se a expressão regular " "informada, aqui representada por ``...``, corresponde com o conteúdo da " -"localização atual, e retorna falha caso contrário. Mas, uma vez que a " -"expressão informada tenha sido testada, o mecanismo de correspondência não " -"faz qualquer avanço; o resto do padrão é tentado no mesmo local de onde a " -"afirmação foi iniciada." +"localização atual, e falha caso contrário. Mas, uma vez que a expressão " +"informada tenha sido testada, o mecanismo de correspondência não faz " +"qualquer avanço; o resto do padrão é tentado no mesmo local de onde a " +"asserção foi iniciada." -#: ../../howto/regex.rst:994 +#: ../../howto/regex.rst:999 msgid "``(?!...)``" msgstr "``(?!...)``" -#: ../../howto/regex.rst:992 +#: ../../howto/regex.rst:997 msgid "" "Negative lookahead assertion. This is the opposite of the positive " "assertion; it succeeds if the contained expression *doesn't* match at the " "current position in the string." msgstr "" -"Afirmação lookahead negativa. É o oposto da afirmação positiva; será bem-" +"Asserção lookahead negativa. É o oposto da asserção positiva; será bem-" "sucedida se a expressão informada não corresponder com o conteúdo da posição " "atual na string." -#: ../../howto/regex.rst:996 +#: ../../howto/regex.rst:1001 msgid "" "To make this concrete, let's look at a case where a lookahead is useful. " "Consider a simple pattern to match a filename and split it apart into a base " "name and an extension, separated by a ``.``. For example, in ``news.rc``, " "``news`` is the base name, and ``rc`` is the filename's extension." msgstr "" -"Para tornar isto concreto, vamos olhar para um caso em que um lookahead é " +"Para tornar isto concreto, vamos olhar para um caso em que uma lookahead é " "útil. Considere um padrão simples para corresponder com um nome de arquivo e " -"divida-o em pedaços, um nome base e uma extensão, separados por um ``.``. " -"Por exemplo, em ``news.rc,news`` é o nome base, e ``rc`` é a extensão do " -"nome de arquivo." +"dividi-lo em pedaços, um nome base e uma extensão, separados por um ``.``. " +"Por exemplo, em ``news.rc``, ``news`` é o nome base, e ``rc`` é a extensão " +"do nome de arquivo." -#: ../../howto/regex.rst:1001 +#: ../../howto/regex.rst:1006 msgid "The pattern to match this is quite simple:" msgstr "O padrão para corresponder com isso é muito simples:" -#: ../../howto/regex.rst:1003 +#: ../../howto/regex.rst:1008 msgid "``.*[.].*$``" msgstr "``.*[.].*$``" -#: ../../howto/regex.rst:1005 +#: ../../howto/regex.rst:1010 msgid "" "Notice that the ``.`` needs to be treated specially because it's a " "metacharacter, so it's inside a character class to only match that specific " @@ -1815,8 +2000,14 @@ msgid "" "expression matches ``foo.bar`` and ``autoexec.bat`` and ``sendmail.cf`` and " "``printers.conf``." msgstr "" +"Observe que o ``.`` precisa ser tratado de forma especial, pois é um " +"metacaractere e, portanto, está dentro de uma classe de caracteres para " +"corresponder apenas a esse caractere específico. Observe também o ``$`` ao " +"final; ele é adicionado para garantir que todo o restante da string seja " +"incluído na extensão. Esta expressão regular corresponde a ``foo.bar``, " +"``autoexec.bat``, ``sendmail.cf`` e ``printers.conf``." -#: ../../howto/regex.rst:1012 +#: ../../howto/regex.rst:1017 msgid "" "Now, consider complicating the problem a bit; what if you want to match " "filenames where the extension is not ``bat``? Some incorrect attempts:" @@ -1825,7 +2016,7 @@ msgstr "" "corresponder com nomes de arquivos onde a extensão não é ``bat``? Algumas " "tentativas incorretas:" -#: ../../howto/regex.rst:1015 +#: ../../howto/regex.rst:1020 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 " @@ -1835,19 +2026,19 @@ msgstr "" "o primeiro caractere da extensão não é um b. Isso é errado, porque o padrão " "também não corresponde a ``foo.bar``." -#: ../../howto/regex.rst:1019 +#: ../../howto/regex.rst:1024 msgid "``.*[.]([^b]..|.[^a].|..[^t])$``" msgstr "``.*[.]([^b]..|.[^a].|..[^t])$``" -#: ../../howto/regex.rst:1021 +#: ../../howto/regex.rst:1026 msgid "" "The expression gets messier when you try to patch up the first solution by " "requiring one of the following cases to match: the first character of the " "extension isn't ``b``; the second character isn't ``a``; or the third " -"character isn't ``t``. This accepts ``foo.bar`` and rejects ``autoexec." -"bat``, but it requires a three-letter extension and won't accept a filename " -"with a two-letter extension such as ``sendmail.cf``. We'll complicate the " -"pattern again in an effort to fix it." +"character isn't ``t``. This accepts ``foo.bar`` and rejects " +"``autoexec.bat``, but it requires a three-letter extension and won't accept " +"a filename with a two-letter extension such as ``sendmail.cf``. We'll " +"complicate the pattern again in an effort to fix it." msgstr "" "A expressão fica mais confusa se você tentar remendar a primeira solução, " "exigindo que uma das seguintes situações corresponda: o primeiro caractere " @@ -1857,11 +2048,11 @@ msgstr "" "uma extensão de duas letras, tal como ``sendmail.cf``. Nós iremos complicar " "o padrão novamente em um esforço para corrigi-lo." -#: ../../howto/regex.rst:1029 +#: ../../howto/regex.rst:1034 msgid "``.*[.]([^b].?.?|.[^a]?.?|..?[^t]?)$``" msgstr "``.*[.]([^b].?.?|.[^a]?.?|..?[^t]?)$``" -#: ../../howto/regex.rst:1031 +#: ../../howto/regex.rst:1036 msgid "" "In the third attempt, the second and third letters are all made optional in " "order to allow matching extensions shorter than three characters, such as " @@ -1871,23 +2062,23 @@ msgstr "" "opcionais, a fim de permitir correspondência com as extensões mais curtas do " "que três caracteres, tais como ``sendmail.cf``." -#: ../../howto/regex.rst:1035 +#: ../../howto/regex.rst:1040 msgid "" "The pattern's getting really complicated now, which makes it hard to read " "and understand. Worse, if the problem changes and you want to exclude both " "``bat`` and ``exe`` as extensions, the pattern would get even more " "complicated and confusing." msgstr "" -"O padrão está ficando realmente muito complicado agora, o que faz com que " +"Agora, o padrão está ficando realmente muito complicado, o que faz com que " "seja difícil de ler e compreender. Pior ainda, se o problema mudar e você " "quiser excluir tanto ``bat`` quanto ``exe`` como extensões, o padrão iria " "ficar ainda mais complicado e confuso." -#: ../../howto/regex.rst:1040 +#: ../../howto/regex.rst:1045 msgid "A negative lookahead cuts through all this confusion:" -msgstr "Um lookahead negativo elimina toda esta confusão:" +msgstr "Uma lookahead negativo elimina toda esta confusão:" -#: ../../howto/regex.rst:1042 +#: ../../howto/regex.rst:1047 msgid "" "``.*[.](?!bat$)[^.]*$`` The negative lookahead means: if the expression " "``bat`` doesn't match at this point, try the rest of the pattern; if " @@ -1902,25 +2093,25 @@ msgstr "" "garantir que algo como ``sample.batch``, onde a extensão só começa com o " "``bat``, será permitido." -#: ../../howto/regex.rst:1049 +#: ../../howto/regex.rst:1054 msgid "" "Excluding another filename extension is now easy; simply add it as an " "alternative inside the assertion. The following pattern excludes filenames " "that end in either ``bat`` or ``exe``:" msgstr "" "Excluir uma outra extensão de nome de arquivo agora é fácil; basta fazer a " -"adição de uma alternativa dentro da afirmação. O padrão a seguir exclui os " +"adição de uma alternativa dentro da asserção. O padrão a seguir exclui os " "nomes de arquivos que terminam com ``bat`` ou ``exe``:" -#: ../../howto/regex.rst:1053 +#: ../../howto/regex.rst:1058 msgid "``.*[.](?!bat$|exe$)[^.]*$``" msgstr "``.*[.](?!bat$|exe$)[^.]*$``" -#: ../../howto/regex.rst:1057 +#: ../../howto/regex.rst:1062 msgid "Modifying Strings" -msgstr "Modificando Strings" +msgstr "Modificando strings" -#: ../../howto/regex.rst:1059 +#: ../../howto/regex.rst:1064 msgid "" "Up to this point, we've simply performed searches against a static string. " "Regular expressions are also commonly used to modify strings in various " @@ -1930,21 +2121,21 @@ msgstr "" "estática. As expressões regulares também são comumente usadas para modificar " "strings através de várias maneiras, usando os seguintes métodos padrão:" -#: ../../howto/regex.rst:1066 +#: ../../howto/regex.rst:1071 msgid "``split()``" msgstr "``split()``" -#: ../../howto/regex.rst:1066 +#: ../../howto/regex.rst:1071 msgid "Split the string into a list, splitting it wherever the RE matches" msgstr "" "Divide a string em uma lista, dividindo-a onde quer que haja correspondência " "com a RE" -#: ../../howto/regex.rst:1069 +#: ../../howto/regex.rst:1074 msgid "``sub()``" msgstr "``sub()``" -#: ../../howto/regex.rst:1069 +#: ../../howto/regex.rst:1074 msgid "" "Find all substrings where the RE matches, and replace them with a different " "string" @@ -1952,21 +2143,23 @@ msgstr "" "Encontra todas as substrings que correspondem com a RE e faz a substituição " "por uma string diferente" -#: ../../howto/regex.rst:1072 +#: ../../howto/regex.rst:1077 msgid "``subn()``" msgstr "``subn()``" -#: ../../howto/regex.rst:1072 +#: ../../howto/regex.rst:1077 msgid "" "Does the same thing as :meth:`!sub`, but returns the new string and the " "number of replacements" msgstr "" +"Faz a mesma coisa que :meth:`!sub`, mas retorna a nova string e o número de " +"substituições" -#: ../../howto/regex.rst:1079 +#: ../../howto/regex.rst:1084 msgid "Splitting Strings" -msgstr "Dividindo as Strings" +msgstr "Dividindo as strings" -#: ../../howto/regex.rst:1081 +#: ../../howto/regex.rst:1086 msgid "" "The :meth:`~re.Pattern.split` method of a pattern splits a string apart " "wherever the RE matches, returning a list of the pieces. It's similar to " @@ -1975,20 +2168,27 @@ msgid "" "splitting by whitespace or by a fixed string. As you'd expect, there's a " "module-level :func:`re.split` function, too." msgstr "" +"O método :meth:`~re.Pattern.split` de um padrão divide uma string em pedaços " +"onde quer que a RE corresponda, retornando uma lista formada por esses " +"pedaços. É semelhante ao método :meth:`~str.split` de strings, mas oferece " +"muito mais generalidade nos delimitadores que pode usar para fazer a " +"divisão; :meth:`!split` só implementa a divisão por espaço em branco ou por " +"uma string fixa. Como você deve deduzir, existe também uma função a nível de " +"módulo :func:`re.split`." -#: ../../howto/regex.rst:1092 +#: ../../howto/regex.rst:1097 msgid "" "Split *string* by the matches of the regular expression. If capturing " "parentheses are used in the RE, then their contents will also be returned as " "part of the resulting list. If *maxsplit* is nonzero, at most *maxsplit* " "splits are performed." msgstr "" -"Divide a string usando a correspondência com uma expressão regular. Se os " +"Divide *string* usando a correspondência com uma expressão regular. Se os " "parênteses de captura forem utilizados na RE, então seu conteúdo também será " -"retornado como parte da lista resultante. Se maxsplit é diferente de zero, " -"um número de divisões ``maxsplit`` será executado." +"retornado como parte da lista resultante. Se *maxsplit* é diferente de zero, " +"serão feitas no máximo *maxplit* divisões." -#: ../../howto/regex.rst:1097 +#: ../../howto/regex.rst:1102 msgid "" "You can limit the number of splits made, by passing a value for *maxsplit*. " "When *maxsplit* is nonzero, at most *maxsplit* splits will be made, and the " @@ -1997,84 +2197,94 @@ msgid "" "characters. ::" msgstr "" "Você pode limitar o número de divisões feitas, passando um valor para " -"maxsplit. Quando ``maxsplit`` é diferente de zero, um determinado número de " -"divisões ``maxsplit`` será executado, e o restante da string é retornado " -"como o elemento final da lista. No exemplo a seguir, o delimitador é " -"qualquer sequência de caracteres não alfanuméricos. ::" +"*maxsplit*. Quando *maxsplit* é diferente de zero, serão feita no máximo " +"``maxsplit`` divisões, e o restante da string é retornado como o elemento " +"final da lista. No exemplo a seguir, o delimitador é qualquer sequência de " +"caracteres não alfanuméricos. ::" -#: ../../howto/regex.rst:1109 +#: ../../howto/regex.rst:1114 msgid "" "Sometimes you're not only interested in what the text between delimiters is, " "but also need to know what the delimiter was. If capturing parentheses are " "used in the RE, then their values are also returned as part of the list. " "Compare the following calls::" msgstr "" -"Às vezes, você não está apenas interessado no que o texto que está entre " -"delimitadores contém, mas também precisa saber qual o delimitador foi usado. " -"Se os parênteses de captura são utilizados na RE, então os respectivos " -"valores são também retornados como parte da lista. Compare as seguintes " -"chamadas::" +"Às vezes, você não está interessado apenas no texto que está entre os " +"delimitadores, mas também precisa saber qual o delimitador foi usado. Se os " +"parênteses de captura são utilizados na RE, então os respectivos valores são " +"também retornados como parte da lista. Compare as seguintes chamadas::" -#: ../../howto/regex.rst:1121 +#: ../../howto/regex.rst:1126 msgid "" "The module-level function :func:`re.split` adds the RE to be used as the " "first argument, but is otherwise the same. ::" msgstr "" "A função de nível de módulo :func:`re.split` adiciona a RE a ser utilizada " -"como o primeiro argumento, mas é, em determinadas circunstâncias, a mesma. ::" +"como o primeiro argumento, mas, fora isso, é a mesma. ::" -#: ../../howto/regex.rst:1133 +#: ../../howto/regex.rst:1138 msgid "Search and Replace" -msgstr "Busca e Substituição" +msgstr "Busca e substituição" -#: ../../howto/regex.rst:1135 +#: ../../howto/regex.rst:1140 msgid "" "Another common task is to find all the matches for a pattern, and replace " "them with a different string. The :meth:`~re.Pattern.sub` method takes a " "replacement value, which can be either a string or a function, and the " "string to be processed." msgstr "" +"Outra tarefa comum é encontrar todas as combinações para um padrão e " +"substituí-las por uma string diferente. O método :meth:`~re.Pattern.sub` " +"recebe um valor de substituição, que pode ser uma string ou uma função, e a " +"string a ser processada." -#: ../../howto/regex.rst:1142 +#: ../../howto/regex.rst:1147 msgid "" "Returns the string obtained by replacing the leftmost non-overlapping " "occurrences of the RE in *string* by the replacement *replacement*. If the " "pattern isn't found, *string* is returned unchanged." msgstr "" "Retorna a string obtida substituindo as ocorrências mais à esquerda não " -"sobrepostas da RE em ``string`` pela substituição ``replacement``. Se o " -"padrão não for encontrado, a ``string`` é retornada inalterada." +"sobrepostas da RE em ``string`` pelo valor de substituição ``replacement``. " +"Se o padrão não for encontrado, a ``string`` é retornada inalterada." -#: ../../howto/regex.rst:1146 +#: ../../howto/regex.rst:1151 msgid "" "The optional argument *count* is the maximum number of pattern occurrences " "to be replaced; *count* must be a non-negative integer. The default value " "of 0 means to replace all occurrences." 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. O valor " -"padrão ``0`` significa para substituir todas as ocorrências." +"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. O valor " +"padrão 0 significa substituir todas as ocorrências." -#: ../../howto/regex.rst:1150 +#: ../../howto/regex.rst:1155 msgid "" "Here's a simple example of using the :meth:`~re.Pattern.sub` method. It " "replaces colour names with the word ``colour``::" msgstr "" +"Aqui está um exemplo simples do uso do método :meth:`~re.Pattern.sub`. Ele " +"substitui nomes de cores pela palavra ``colour``::" -#: ../../howto/regex.rst:1159 +#: ../../howto/regex.rst:1164 msgid "" "The :meth:`~re.Pattern.subn` method does the same work, but returns a 2-" "tuple containing the new string value and the number of replacements that " "were performed::" msgstr "" +"O método :meth:`~re.Pattern.subn` faz o mesmo trabalho, mas retorna uma " +"tupla com duas informações: uma string com novo valor e o número de " +"substituições que foram realizadas:" -#: ../../howto/regex.rst:1168 +#: ../../howto/regex.rst:1173 msgid "" "Empty matches are replaced only when they're not adjacent to a previous " "empty match. ::" msgstr "" +"Correspondências vazias somente são substituídas quando não estão adjacente " +"(próxima) a uma correspondência vazia anterior." -#: ../../howto/regex.rst:1175 +#: ../../howto/regex.rst:1180 msgid "" "If *replacement* is a string, any backslash escapes in it are processed. " "That is, ``\\n`` is converted to a single newline character, ``\\r`` is " @@ -2084,16 +2294,23 @@ msgid "" "incorporate portions of the original text in the resulting replacement " "string." msgstr "" +"Se o valor de substituição (*replacement*) é uma string, qualquer barra " +"invertida é interpretada e processada. Isto é, ``\\n`` é convertido a um " +"único caractere de nova linha, ``\\r`` é convertido em um retorno do carro, " +"e assim por diante. Casos desconhecidos, como ``\\&`` são ignorados. " +"Referências anteriores, como ``\\6``, são substituídas com a substring " +"correspondida pelo grupo correspondente na RE. Isso permite que você " +"incorpore partes do texto original na string de substituição resultante." -#: ../../howto/regex.rst:1182 +#: ../../howto/regex.rst:1187 msgid "" "This example matches the word ``section`` followed by a string enclosed in " "``{``, ``}``, and changes ``section`` to ``subsection``::" msgstr "" "Este exemplo corresponde com a palavra ``section``, seguida por uma string " -"colocada entre ``{, }`` e altera ``section`` para ``subsection``::" +"colocada entre ``{``, ``}``, e altera ``section`` para ``subsection``::" -#: ../../howto/regex.rst:1189 +#: ../../howto/regex.rst:1194 msgid "" "There's also a syntax for referring to named groups as defined by the ``(?" "P...)`` syntax. ``\\g`` will use the substring matched by the " @@ -2107,14 +2324,14 @@ msgstr "" "Há também uma sintaxe para se referir a grupos nomeados como definido pela " "sintaxe ``(?P...)``. ``\\g`` usará a substring correspondida " "pelo grupo com nome ``name`` e ``\\g`` utiliza o número do grupo " -"correspondente. ``.\\g<2>`` é, portanto, equivalente a ``\\2``, mas não é " -"ambígua em uma string de substituição (replacement), tal como ``\\g<2>0``. " -"(``\\20`` seria interpretado como uma referência ao grupo de ``20``, e não " -"uma referência ao grupo ``2`` seguido pelo caractere literal ``0``). As " -"substituições a seguir são todas equivalentes, mas usam todas as três " -"variações da string de substituição. ::" +"correspondente. ``\\g<2>`` é, portanto, equivalente a ``\\2``, mas não é " +"ambígua em uma string de substituição, tal como ``\\g<2>0``. (``\\20`` seria " +"interpretado como uma referência ao grupo de 20, e não uma referência ao " +"grupo 2 seguido pelo caractere literal ``'0'``). As substituições a seguir " +"são todas equivalentes, mas usam todas as três variações da string de " +"substituição. ::" -#: ../../howto/regex.rst:1206 +#: ../../howto/regex.rst:1211 msgid "" "*replacement* can also be a function, which gives you even more control. If " "*replacement* is a function, the function is called for every non-" @@ -2129,7 +2346,7 @@ msgstr "" "pode usar essas informações para calcular a string de substituição desejada " "e retorná-la." -#: ../../howto/regex.rst:1212 +#: ../../howto/regex.rst:1217 msgid "" "In the following example, the replacement function translates decimals into " "hexadecimal::" @@ -2137,7 +2354,7 @@ msgstr "" "No exemplo a seguir, a função de substituição traduz decimais em " "hexadecimal::" -#: ../../howto/regex.rst:1224 +#: ../../howto/regex.rst:1229 msgid "" "When using the module-level :func:`re.sub` function, the pattern is passed " "as the first argument. The pattern may be provided as an object or as a " @@ -2153,11 +2370,11 @@ msgstr "" "usar modificadores embutidos na string padrão, por exemplo, ``sub(\"(?i)b+" "\", \"x\", \"bbbb BBBB\")`` retorna ``'x x'``." -#: ../../howto/regex.rst:1232 +#: ../../howto/regex.rst:1237 msgid "Common Problems" -msgstr "Problemas Comuns" +msgstr "Problemas comuns" -#: ../../howto/regex.rst:1234 +#: ../../howto/regex.rst:1239 msgid "" "Regular expressions are a powerful tool for some applications, but in some " "ways their behaviour isn't intuitive and at times they don't behave the way " @@ -2169,23 +2386,32 @@ msgstr "" "não se comportam da maneira que você espera que elas se comportem. Esta " "seção irá apontar algumas das armadilhas mais comuns." -#: ../../howto/regex.rst:1240 +#: ../../howto/regex.rst:1245 msgid "Use String Methods" -msgstr "Usando String Methods" +msgstr "Usando métodos de string" -#: ../../howto/regex.rst:1242 +#: ../../howto/regex.rst:1247 msgid "" "Sometimes using the :mod:`re` module is a mistake. If you're matching a " -"fixed string, or a single character class, and you're not using any :mod:" -"`re` features such as the :const:`~re.IGNORECASE` flag, then the full power " -"of regular expressions may not be required. Strings have several methods for " -"performing operations with fixed strings and they're usually much faster, " -"because the implementation is a single small C loop that's been optimized " -"for the purpose, instead of the large, more generalized regular expression " -"engine." -msgstr "" - -#: ../../howto/regex.rst:1250 +"fixed string, or a single character class, and you're not using " +"any :mod:`re` features such as the :const:`~re.IGNORECASE` flag, then the " +"full power of regular expressions may not be required. Strings have several " +"methods for performing operations with fixed strings and they're usually " +"much faster, because the implementation is a single small C loop that's been " +"optimized for the purpose, instead of the large, more generalized regular " +"expression engine." +msgstr "" +"Às vezes, usar o módulo :mod:`re` é um equívoco. Se você está fazendo " +"correspondência com uma string fixa, ou uma classe de caractere única, e " +"você não está usando nenhum recurso de :mod:`re` como o " +"sinalizador :const:`~re.IGNORECASE`, então pode não ser necessário todo o " +"poder das expressões regulares. Strings possuem vários métodos para executar " +"operações com strings fixas e eles são, geralmente, muito mais rápidos, " +"porque a implementação é um único e pequeno laço de repetição em C que foi " +"otimizado para esse propósito, em vez do grande e mais generalizado " +"mecanismo das expressões regulares." + +#: ../../howto/regex.rst:1255 msgid "" "One example might be replacing a single fixed string with another one; for " "example, you might replace ``word`` with ``deed``. :func:`re.sub` seems " @@ -2194,11 +2420,20 @@ msgid "" "turning ``swordfish`` into ``sdeedfish``, but the naive RE ``word`` would " "have done that, too. (To avoid performing the substitution on parts of " "words, the pattern would have to be ``\\bword\\b``, in order to require that " -"``word`` have a word boundary on either side. This takes the job beyond :" -"meth:`!replace`'s abilities.)" +"``word`` have a word boundary on either side. This takes the job " +"beyond :meth:`!replace`'s abilities.)" msgstr "" +"Um exemplo pode ser a substituição de uma string fixa única por outra; por " +"exemplo, você pode substituir ``word`` por ``deed``. :func:`re.sub` parece " +"ser a função a ser usada para isso, mas considere o " +"método :meth:`~str.replace`. Note que :meth:`!replace` também irá substituir " +"``word`` dentro de palavras, transformando ``swordfish`` em ``sdeedfish``, " +"mas uma RE ingênua teria feito isso também. (Para evitar a realização da " +"substituição de partes de palavras, o padrão teria que ser ``\\bword\\b``, a " +"fim de exigir que ``word`` tenha um delimitador de palavra em ambos os " +"lados. Isso leva a tarefa para além da capacidade de :meth:`!replace`.)" -#: ../../howto/regex.rst:1259 +#: ../../howto/regex.rst:1264 msgid "" "Another common task is deleting every occurrence of a single character from " "a string or replacing it with another single character. You might do this " @@ -2206,20 +2441,26 @@ msgid "" "capable of doing both tasks and will be faster than any regular expression " "operation can be." msgstr "" +"Outra tarefa comum é apagar todas as ocorrências de um único caractere de " +"uma string ou substituí-lo por um outro caractere único. Você pode fazer " +"isso com algo como ``re.sub('\\n', ' ', S)``, mas :meth:`~str.translate` é " +"capaz de fazer ambas as tarefas e será mais rápida do que qualquer operação " +"de expressão regular pode ser." -#: ../../howto/regex.rst:1265 +#: ../../howto/regex.rst:1270 msgid "" "In short, before turning to the :mod:`re` module, consider whether your " "problem can be solved with a faster and simpler string method." msgstr "" "Em suma, antes de recorrer ao o módulo :mod:`re`, considere se o seu " -"problema pode ser resolvido com um método string mais rápido e mais simples." +"problema pode ser resolvido com um método de string mais rápido e mais " +"simples." -#: ../../howto/regex.rst:1270 +#: ../../howto/regex.rst:1275 msgid "match() versus search()" msgstr "match() versus search()" -#: ../../howto/regex.rst:1272 +#: ../../howto/regex.rst:1277 msgid "" "The :func:`~re.match` function only checks if the RE matches at the " "beginning of the string while :func:`~re.search` will scan forward through " @@ -2228,28 +2469,37 @@ msgid "" "start at 0; if the match wouldn't start at zero, :func:`!match` will *not* " "report it. ::" msgstr "" +"A função :func:`~re.match` somente verifica se a RE corresponde ao início " +"da string, enquanto :func:`~re.search` fará a varredura percorrendo a string " +"procurando por uma correspondência. É importante manter esta distinção em " +"mente. Lembre-se, :func:`!match` só irá relatar uma correspondência bem-" +"sucedida que começa em 0; se a correspondência não começar em zero, :func:`!" +"match` *não* vai reportá-la." -#: ../../howto/regex.rst:1283 +#: ../../howto/regex.rst:1288 msgid "" "On the other hand, :func:`~re.search` will scan forward through the string, " "reporting the first match it finds. ::" msgstr "" +"Por outro lado, :func:`~re.search` fará a varredura percorrendo a string e " +"relatando a primeira correspondência que encontrar." -#: ../../howto/regex.rst:1291 +#: ../../howto/regex.rst:1296 msgid "" -"Sometimes you'll be tempted to keep using :func:`re.match`, and just add ``." -"*`` to the front of your RE. Resist this temptation and use :func:`re." -"search` instead. The regular expression compiler does some analysis of REs " -"in order to speed up the process of looking for a match. One such analysis " -"figures out what the first character of a match must be; for example, a " -"pattern starting with ``Crow`` must match starting with a ``'C'``. The " -"analysis lets the engine quickly scan through the string looking for the " -"starting character, only trying the full match if a ``'C'`` is found." +"Sometimes you'll be tempted to keep using :func:`re.match`, and just add " +"``.*`` to the front of your RE. Resist this temptation and " +"use :func:`re.search` instead. The regular expression compiler does some " +"analysis of REs in order to speed up the process of looking for a match. " +"One such analysis figures out what the first character of a match must be; " +"for example, a pattern starting with ``Crow`` must match starting with a " +"``'C'``. The analysis lets the engine quickly scan through the string " +"looking for the starting character, only trying the full match if a ``'C'`` " +"is found." msgstr "" "Às vezes, você vai ficar tentado a continuar usando :func:`re.match`, e " -"apenas adicionar ``.*`` ao início de sua RE. Resista a essa tentação e use :" -"func:`re.search` em vez disso. O compilador de expressão regular faz alguma " -"análise das REs, a fim de acelerar o processo de procura de uma " +"apenas adicionar ``.*`` ao início de sua RE. Resista a essa tentação e " +"use :func:`re.search` em vez disso. O compilador de expressão regular faz " +"alguma análise das REs, a fim de acelerar o processo de procura de uma " "correspondência. Tal análise descobre o que o primeiro caractere de uma " "string deve ser; por exemplo, um padrão começando com ``Crow`` deve " "corresponder com algo iniciando com ``'C'``. A análise permite que o " @@ -2257,7 +2507,7 @@ msgstr "" "caractere inicial, apenas tentando a combinação completa se um ``'C'`` for " "encontrado." -#: ../../howto/regex.rst:1300 +#: ../../howto/regex.rst:1305 msgid "" "Adding ``.*`` defeats this optimization, requiring scanning to the end of " "the string and then backtracking to find a match for the rest of the RE. " @@ -2267,11 +2517,11 @@ msgstr "" "o final da string e, em seguida, retroceder para encontrar uma " "correspondência para o resto da RE. Use :func:`re.search` em vez disso." -#: ../../howto/regex.rst:1306 +#: ../../howto/regex.rst:1311 msgid "Greedy versus Non-Greedy" -msgstr "Gulosos versus não Gulosos" +msgstr "Gulosos versus não-gulosos" -#: ../../howto/regex.rst:1308 +#: ../../howto/regex.rst:1313 msgid "" "When repeating a regular expression, as in ``a*``, the resulting action is " "to consume as much of the pattern as possible. This fact often bites you " @@ -2286,7 +2536,7 @@ msgstr "" "para combinar uma única tag HTML não funciona por causa da natureza gulosa " "de ``.*``. ::" -#: ../../howto/regex.rst:1322 +#: ../../howto/regex.rst:1327 msgid "" "The RE matches the ``'<'`` in ``''``, and the ``.*`` consumes the rest " "of the string. There's still more left in the RE, though, and the ``>`` " @@ -2295,8 +2545,14 @@ msgid "" "The final match extends from the ``'<'`` in ``''`` to the ``'>'`` in " "``''``, which isn't what you want." msgstr "" +"A RE corresponde a ``'<'`` em ``''``, e o ``.*`` consome o resto da " +"string. Existe ainda mais coisa existente na RE, no entanto, e o ``>`` pode " +"não corresponder com o final da string, de modo que o mecanismo de expressão " +"regular tem que recuar caractere por caractere até encontrar uma " +"correspondência para ``>``. A correspondência final se estende do ``'<'`` em " +"``''`` ao ``'>'`` em ``''``, que não é o que você quer." -#: ../../howto/regex.rst:1329 +#: ../../howto/regex.rst:1334 msgid "" "In this case, the solution is to use the non-greedy quantifiers ``*?``, ``+?" "``, ``??``, or ``{m,n}?``, which match as *little* text as possible. In the " @@ -2304,8 +2560,14 @@ msgid "" "matches, and when it fails, the engine advances a character at a time, " "retrying the ``'>'`` at every step. This produces just the right result::" msgstr "" +"Neste caso, a solução é usar os quantificadores não-gulosos ``*?``, ``+?``, " +"``??`` ou ``{m,n}?``, que corresponde com o mínimo de texto possível. No " +"exemplo acima, o ``'>'`` é tentado imediatamente após a primeira " +"correspondência de ``'<'``, e quando ele falhar, o mecanismo avança um " +"caractere de cada vez, experimentado ``'>'`` a cada passo. Isso produz " +"justamente o resultado correto::" -#: ../../howto/regex.rst:1338 +#: ../../howto/regex.rst:1343 msgid "" "(Note that parsing HTML or XML with regular expressions is painful. Quick-" "and-dirty patterns will handle common cases, but HTML and XML have special " @@ -2321,11 +2583,11 @@ msgstr "" "possíveis, se tornarão um padrão muito complicado. Use um módulo de análise " "de HTML ou XML para tais tarefas.)" -#: ../../howto/regex.rst:1346 +#: ../../howto/regex.rst:1351 msgid "Using re.VERBOSE" msgstr "Usando re.VERBOSE" -#: ../../howto/regex.rst:1348 +#: ../../howto/regex.rst:1353 msgid "" "By now you've probably noticed that regular expressions are a very compact " "notation, but they're not terribly readable. REs of moderate complexity can " @@ -2338,14 +2600,17 @@ msgstr "" "de barras invertidas, parênteses e metacaracteres, fazendo com que se tornem " "difíceis de ler e compreender." -#: ../../howto/regex.rst:1353 +#: ../../howto/regex.rst:1358 msgid "" "For such REs, specifying the :const:`re.VERBOSE` flag when compiling the " "regular expression can be helpful, because it allows you to format the " "regular expression more clearly." msgstr "" +"Para tais REs, especificar a flag :const:`re.VERBOSE` ao compilar a " +"expressão regular pode ser útil, porque permite que você formate a expressão " +"regular de forma mais clara." -#: ../../howto/regex.rst:1357 +#: ../../howto/regex.rst:1362 msgid "" "The ``re.VERBOSE`` flag has several effects. Whitespace in the regular " "expression that *isn't* inside a character class is ignored. This means " @@ -2360,19 +2625,19 @@ msgstr "" "ignorado. Isto significa que uma expressão como ``dog | cat`` é equivalente " "ao menos legível ``dog|cat``, mas ``[a b]`` ainda vai coincidir com os " "caracteres ``a``, ``b``, ou um ``espaço``. Além disso, você também pode " -"colocar comentários dentro de uma RE; comentários se estendem de um " -"caractere ``#`` até a próxima nova linha. Quando usados junto com strings de " -"aspas triplas, isso permite as REs serem formatadas mais ordenadamente::" +"colocar comentários dentro de uma RE, que se estendem de um caractere ``#`` " +"até a próxima nova linha. Quando usados junto com strings de aspas triplas, " +"isso permite as REs serem formatadas mais ordenadamente::" -#: ../../howto/regex.rst:1374 +#: ../../howto/regex.rst:1379 msgid "This is far more readable than::" msgstr "Isso é muito mais legível do que::" -#: ../../howto/regex.rst:1380 +#: ../../howto/regex.rst:1385 msgid "Feedback" msgstr "Comentários" -#: ../../howto/regex.rst:1382 +#: ../../howto/regex.rst:1387 msgid "" "Regular expressions are a complicated topic. Did this document help you " "understand them? Were there parts that were unclear, or Problems you " @@ -2384,7 +2649,7 @@ msgstr "" "vivenciou que não foram abordadas aqui? Se assim for, por favor, envie " "sugestões de melhorias para o autor." -#: ../../howto/regex.rst:1387 +#: ../../howto/regex.rst:1392 msgid "" "The most complete book on regular expressions is almost certainly Jeffrey " "Friedl's Mastering Regular Expressions, published by O'Reilly. " @@ -2394,3 +2659,11 @@ msgid "" "edition covered Python's now-removed :mod:`!regex` module, which won't help " "you much.) Consider checking it out from your library." msgstr "" +"O livro mais completo sobre expressões regulares é quase certamente o " +"Mastering Regular Expressions de Jeffrey Friedl’s, publicado pela O'Reilly. " +"Infelizmente, ele se concentra exclusivamente em sabores de expressões " +"regulares do Perl e do Java, e não contém qualquer material relativo a " +"Python, por isso não vai ser útil como uma referência para a programação em " +"Python. (A primeira edição cobre o módulo :mod:`!regex` agora removido do " +"Python, o que não vai te ajudar muito.) Considere removê-lo de sua " +"biblioteca." diff --git a/howto/sockets.po b/howto/sockets.po index 0d77f61f4..c28d3fa59 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -1,34 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../howto/sockets.rst:5 msgid "Socket Programming HOWTO" -msgstr "HOWTO sobre a Programação de Soquetes" +msgstr "Programação de Soquetes" #: ../../howto/sockets.rst:0 msgid "Author" @@ -38,7 +35,7 @@ msgstr "Autor" msgid "Gordon McMillan" msgstr "Gordon McMillan" -#: ../../howto/sockets.rstNone +#: ../../howto/sockets.rst-1 msgid "Abstract" msgstr "Resumo" @@ -76,13 +73,13 @@ msgstr "" "Só trataremos dos soquetes INET (ou seja, IPv4), no entanto, os mesmos " "representam ao menos 99% dos soquetes que estão atualmente em uso. Só " "estudaremos os soquetes STREAM (ou seja, TCP) - a menos que você realmente " -"saiba o que está fazendo (nesse caso, este HOWTO não é para você!), terás um " -"melhor conhecimento sobre o comportamento e o desempenho dos soquetes STREAM " -"do que qualquer outra coisa. Tentarei aclarar o mistério sobre o que " -"realmente é um soquete, bem como, apresentarei dicas de como trabalhar com " -"soquetes bloqueantes e os não bloqueantes. Começaremos o estudo falando da " -"razão pela qual bloquear um soquete. Precisas saber como os mesmos (os " -"soquetes bloqueantes) antes de estudar os não bloqueantes" +"saiba o que está fazendo (nesse caso, este documento não é para você!), " +"terás um melhor conhecimento sobre o comportamento e o desempenho dos " +"soquetes STREAM do que qualquer outra coisa. Tentarei aclarar o mistério " +"sobre o que realmente é um soquete, bem como, apresentarei dicas de como " +"trabalhar com soquetes bloqueantes e os não bloqueantes. Começaremos o " +"estudo falando da razão pela qual bloquear um soquete. Precisas saber como " +"os mesmos (os soquetes bloqueantes) antes de estudar os não bloqueantes" #: ../../howto/sockets.rst:31 msgid "" @@ -163,19 +160,19 @@ msgstr "" #: ../../howto/sockets.rst:80 msgid "" "A couple things to notice: we used ``socket.gethostname()`` so that the " -"socket would be visible to the outside world. If we had used ``s." -"bind(('localhost', 80))`` or ``s.bind(('127.0.0.1', 80))`` we would still " -"have a \"server\" socket, but one that was only visible within the same " -"machine. ``s.bind(('', 80))`` specifies that the socket is reachable by any " -"address the machine happens to have." +"socket would be visible to the outside world. If we had used " +"``s.bind(('localhost', 80))`` or ``s.bind(('127.0.0.1', 80))`` we would " +"still have a \"server\" socket, but one that was only visible within the " +"same machine. ``s.bind(('', 80))`` specifies that the socket is reachable " +"by any address the machine happens to have." msgstr "" "Algumas coisas que deves observar: usamos ``socket.gethostname()`` para que " -"o soquete esteja visível ao mundo exterior. Se tivéssemos usado ``s." -"bind(('localhost', 80))`` ou ``s.bind(('127.0.0.1', 80))`` ainda teríamos um " -"soquete do tipo \"servidor\", mas o mesmo só estaria visível dentro do " -"computador em que está sendo executado. ``s.bind(('', 80))`` determina que o " -"soquete estará acessível por qualquer computador que possuas o endereço IP " -"do computador." +"o soquete esteja visível ao mundo exterior. Se tivéssemos usado " +"``s.bind(('localhost', 80))`` ou ``s.bind(('127.0.0.1', 80))`` ainda " +"teríamos um soquete do tipo \"servidor\", mas o mesmo só estaria visível " +"dentro do computador em que está sendo executado. ``s.bind(('', 80))`` " +"determina que o soquete estará acessível por qualquer computador que possuas " +"o endereço IP do computador." #: ../../howto/sockets.rst:87 msgid "" @@ -206,7 +203,7 @@ msgid "" "mainloop of the web server::" msgstr "" "Agora que temos um soquete tipo \"servidor\", que está ouvindo a porta 80, " -"podemos entrar no mainloop do servidor web::" +"podemos entrar no laço de repetição principal do servidor web::" #: ../../howto/sockets.rst:106 msgid "" @@ -263,7 +260,7 @@ msgid "" "API." msgstr "" "A módulo :mod:`multiprocessing` faz a integração do IPC de forma " -"multiplataforma numa API de nível superior." +"multiplataforma numa API de nível mais alto." #: ../../howto/sockets.rst:134 msgid "Using a Socket" diff --git a/howto/sorting.po b/howto/sorting.po index 2530f4bb0..6e1b0b764 100644 --- a/howto/sorting.po +++ b/howto/sorting.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Lucas Sanches , 2021 -# Henrique Junqueira, 2022 -# Hildeberto Abreu Magalhães , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -67,15 +63,15 @@ msgstr "" #: ../../howto/sorting.rst:18 msgid "Sorting Basics" -msgstr "Básico de Ordenação" +msgstr "Básico de ordenação" #: ../../howto/sorting.rst:20 msgid "" "A simple ascending sort is very easy: just call the :func:`sorted` function. " "It returns a new sorted list:" msgstr "" -"Uma ordenação ascendente simples é muito fácil: apenas chame a função :func:" -"`sorted`. Retorna uma nova lista ordenada:" +"Uma ordenação ascendente simples é muito fácil: apenas chame a " +"função :func:`sorted`. Você terá como retorno uma nova lista ordenada:" #: ../../howto/sorting.rst:28 msgid "" @@ -84,10 +80,11 @@ msgid "" "than :func:`sorted` - but if you don't need the original list, it's slightly " "more efficient." msgstr "" -"Você também pode utilizar o método :meth:`list.sort`. Isso modifica a lista " -"em si (e retorna ``None`` para evitar confusão). Usualmente este método é " -"menos conveniente que a função :func:`sorted` - mas se você não precisará da " -"lista original, esta maneira é levemente mais eficiente." +"Você também pode utilizar o método :meth:`list.sort`. Ele modificará a lista " +"localmente (e retornará ``None`` para evitar confusão). Usualmente este " +"método é menos conveniente que a função :func:`sorted` - mas, se a lista " +"original não for posteriormente útil, esta maneira será levemente mais " +"eficiente." #: ../../howto/sorting.rst:40 msgid "" @@ -99,7 +96,7 @@ msgstr "" #: ../../howto/sorting.rst:49 msgid "Key Functions" -msgstr "Funções Chave" +msgstr "Funções chave" #: ../../howto/sorting.rst:51 msgid "" @@ -123,16 +120,16 @@ msgid "" "each input record." msgstr "" "O valor do parâmetro *key* deve ser uma função (ou outro chamável) que " -"recebe um único argumento e retorna uma chave à ser utilizada com o " -"propósito de ordenação. Esta técnica é rápida porque a função chave é " -"chamada exatamente uma vez para cada entrada de registro." +"recebe um único argumento e retorna uma chave à ser utilizada na ordenação. " +"Como a função chave é chamada exatamente uma vez para cada elemento, esta " +"técnica é rápida." #: ../../howto/sorting.rst:67 msgid "" "A common pattern is to sort complex objects using some of the object's " "indices as keys. For example:" msgstr "" -"Uma padrão comum é ordenar objetos complexos utilizando algum índice do " +"Um padrão comum é ordenar objetos complexos utilizando um dos índices do " "objeto como chave. Por exemplo:" #: ../../howto/sorting.rst:80 @@ -149,14 +146,16 @@ msgstr "Funções do Módulo Operator" #: ../../howto/sorting.rst:103 msgid "" "The key-function patterns shown above are very common, so Python provides " -"convenience functions to make accessor functions easier and faster. The :mod:" -"`operator` module has :func:`~operator.itemgetter`, :func:`~operator." -"attrgetter`, and a :func:`~operator.methodcaller` function." +"convenience functions to make accessor functions easier and faster. " +"The :mod:`operator` module " +"has :func:`~operator.itemgetter`, :func:`~operator.attrgetter`, and " +"a :func:`~operator.methodcaller` function." msgstr "" "O padrão de chave-função mostrado acima é muito comum, por isso, Python " "provê funções convenientes para tornar as funções de acesso mais fáceis e " -"rápidas. O módulo :mod:`operator` tem as funções :func:`~operator." -"itemgetter`, :func:`~operator.attrgetter`, e :func:`~operator.methodcaller`" +"rápidas. O módulo :mod:`operator` tem as " +"funções :func:`~operator.itemgetter`, :func:`~operator.attrgetter`, " +"e :func:`~operator.methodcaller`" #: ../../howto/sorting.rst:108 msgid "Using those functions, the above examples become simpler and faster:" @@ -174,7 +173,7 @@ msgstr "" #: ../../howto/sorting.rst:132 msgid "Ascending and Descending" -msgstr "Ascendente e Descendente" +msgstr "Ascendente e descendente" #: ../../howto/sorting.rst:134 msgid "" @@ -225,8 +224,8 @@ msgid "" "This can be abstracted out into a wrapper function that can take a list and " "tuples of field and order to sort them on multiple passes." msgstr "" -"Isso pode ser abstrato no caso das funções encapsuladoras que podem receber " -"uma lista e uma tupla com o campos e então ordená-los em múltiplos passos." +"Isso pode ser abstrato no caso das funções invólucros que podem receber uma " +"lista e uma tupla com o campos e então ordená-los em múltiplos passos." #: ../../howto/sorting.rst:185 msgid "" @@ -315,12 +314,12 @@ msgstr "" #: ../../howto/sorting.rst:223 msgid "" -"Another name for this idiom is `Schwartzian transform `_\\, after Randal L. Schwartz, who " -"popularized it among Perl programmers." +"Another name for this idiom is `Schwartzian transform `_\\, after Randal L. Schwartz, " +"who popularized it among Perl programmers." msgstr "" -"Outro nome para este padrão idiomático é `Schwartzian transform `_ de Randal L. Schwartz, que " +"Outro nome para este padrão idiomático é `Schwartzian transform `_ de Randal L. Schwartz, que " "popularizou isto entre os programadores Perl." #: ../../howto/sorting.rst:227 @@ -333,7 +332,7 @@ msgstr "" #: ../../howto/sorting.rst:230 msgid "Comparison Functions" -msgstr "" +msgstr "Funções de comparação" #: ../../howto/sorting.rst:232 msgid "" @@ -360,9 +359,9 @@ msgstr "" #: ../../howto/sorting.rst:246 msgid "" -"To accommodate those situations, Python provides :class:`functools." -"cmp_to_key` to wrap the comparison function to make it usable as a key " -"function::" +"To accommodate those situations, Python " +"provides :class:`functools.cmp_to_key` to wrap the comparison function to " +"make it usable as a key function::" msgstr "" #: ../../howto/sorting.rst:253 @@ -371,9 +370,9 @@ msgstr "Curiosidades e conclusões" #: ../../howto/sorting.rst:255 msgid "" -"For locale aware sorting, use :func:`locale.strxfrm` for a key function or :" -"func:`locale.strcoll` for a comparison function. This is necessary because " -"\"alphabetical\" sort orderings can vary across cultures even if the " +"For locale aware sorting, use :func:`locale.strxfrm` for a key function " +"or :func:`locale.strcoll` for a comparison function. This is necessary " +"because \"alphabetical\" sort orderings can vary across cultures even if the " "underlying alphabet is the same." msgstr "" @@ -386,26 +385,24 @@ msgid "" msgstr "" "O parâmetro *reverse* ainda mantém a estabilidade da ordenação (para que os " "registros com chaves iguais mantenham a ordem original). Curiosamente, esse " -"efeito pode ser simulado sem o parâmetro usando a função embutida :func:" -"`reversed` duas vezes:" +"efeito pode ser simulado sem o parâmetro usando a função " +"embutida :func:`reversed` duas vezes:" #: ../../howto/sorting.rst:274 msgid "" "The sort routines use ``<`` when making comparisons between two objects. So, " -"it is easy to add a standard sort order to a class by defining an :meth:" -"`__lt__` method:" +"it is easy to add a standard sort order to a class by defining " +"an :meth:`~object.__lt__` method:" msgstr "" "As rotinas de classificação usam ``<`` ao fazer comparações entre dois " "objetos. Portanto, é fácil adicionar uma ordem de classificação padrão a uma " -"classe definindo um método :meth:`__lt__`:" +"classe definindo um método :meth:`~object.__lt__`:" #: ../../howto/sorting.rst:284 msgid "" -"However, note that ``<`` can fall back to using :meth:`__gt__` if :meth:" -"`__lt__` is not implemented (see :func:`object.__lt__`)." +"However, note that ``<`` can fall back to using :meth:`~object.__gt__` " +"if :meth:`~object.__lt__` is not implemented (see :func:`object.__lt__`)." msgstr "" -"No entanto, note que pode voltar a usar :meth:`__gt__` se :meth:`__lt__` não " -"estiver implementado (veja :func:`object.__lt__`)." #: ../../howto/sorting.rst:287 msgid "" diff --git a/howto/unicode.po b/howto/unicode.po index 075f4ed25..a5d017b91 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -1,37 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# Otávio Carneiro , 2021 -# Victor Matheus Castro , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../howto/unicode.rst:5 msgid "Unicode HOWTO" -msgstr "Unicode HOWTO" +msgstr "Unicode" #: ../../howto/unicode.rst:0 msgid "Release" @@ -105,10 +99,10 @@ msgstr "" msgid "" "The Unicode standard describes how characters are represented by **code " "points**. A code point value is an integer in the range 0 to 0x10FFFF " -"(about 1.1 million values, the `actual number assigned `_ is less than that). In the standard and in " -"this document, a code point is written using the notation ``U+265E`` to mean " -"the character with value ``0x265e`` (9,822 in decimal)." +"(about 1.1 million values, the `actual number assigned `_ is less than that). In the " +"standard and in this document, a code point is written using the notation " +"``U+265E`` to mean the character with value ``0x265e`` (9,822 in decimal)." msgstr "" #: ../../howto/unicode.rst:50 @@ -147,7 +141,7 @@ msgstr "" #: ../../howto/unicode.rst:87 msgid "Encodings" -msgstr "Encodings" +msgstr "Codificações" #: ../../howto/unicode.rst:89 msgid "" @@ -303,8 +297,8 @@ msgstr "" #: ../../howto/unicode.rst:173 msgid "" -"Another `good introductory article `_ was " "written by Joel Spolsky. If this introduction didn't make things clear to " "you, you should try reading this alternate article before continuing." @@ -407,10 +401,10 @@ msgstr "" #: ../../howto/unicode.rst:272 msgid "" -"The *errors* parameter is the same as the parameter of the :meth:`~bytes." -"decode` method but supports a few more possible handlers. As well as " -"``'strict'``, ``'ignore'``, and ``'replace'`` (which in this case inserts a " -"question mark instead of the unencodable character), there is also " +"The *errors* parameter is the same as the parameter of " +"the :meth:`~bytes.decode` method but supports a few more possible handlers. " +"As well as ``'strict'``, ``'ignore'``, and ``'replace'`` (which in this case " +"inserts a question mark instead of the unencodable character), there is also " "``'xmlcharrefreplace'`` (inserts an XML character reference), " "``backslashreplace`` (inserts a ``\\uNNNN`` escape sequence) and " "``namereplace`` (inserts a ``\\N{...}`` escape sequence)." @@ -516,9 +510,9 @@ msgid "" "subcategories. To take the codes from the above output, ``'Ll'`` means " "'Letter, lowercase', ``'No'`` means \"Number, other\", ``'Mn'`` is \"Mark, " "nonspacing\", and ``'So'`` is \"Symbol, other\". See `the General Category " -"Values section of the Unicode Character Database documentation `_ for a list of category " -"codes." +"Values section of the Unicode Character Database documentation `_ for a list of " +"category codes." msgstr "" #: ../../howto/unicode.rst:402 @@ -546,12 +540,12 @@ msgstr "" #: ../../howto/unicode.rst:425 msgid "" -"A second tool is the :mod:`unicodedata` module's :func:`~unicodedata." -"normalize` function that converts strings to one of several normal forms, " -"where letters followed by a combining character are replaced with single " -"characters. :func:`normalize` can be used to perform string comparisons " -"that won't falsely report inequality if two strings use combining characters " -"differently:" +"A second tool is the :mod:`unicodedata` " +"module's :func:`~unicodedata.normalize` function that converts strings to " +"one of several normal forms, where letters followed by a combining character " +"are replaced with single characters. :func:`~unicodedata.normalize` can be " +"used to perform string comparisons that won't falsely report inequality if " +"two strings use combining characters differently:" msgstr "" #: ../../howto/unicode.rst:448 @@ -571,10 +565,10 @@ msgstr "" #: ../../howto/unicode.rst:477 msgid "" -"This will print ``True``. (Why is :func:`NFD` invoked twice? Because there " -"are a few characters that make :meth:`casefold` return a non-normalized " -"string, so the result needs to be normalized again. See section 3.13 of the " -"Unicode Standard for a discussion and an example.)" +"This will print ``True``. (Why is :func:`!NFD` invoked twice? Because " +"there are a few characters that make :meth:`~str.casefold` return a non-" +"normalized string, so the result needs to be normalized again. See section " +"3.13 of the Unicode Standard for a discussion and an example.)" msgstr "" #: ../../howto/unicode.rst:484 @@ -617,8 +611,9 @@ msgstr "" #: ../../howto/unicode.rst:520 msgid "" -"`Processing Text Files in Python 3 `_, by Nick Coghlan." +"`Processing Text Files in Python 3 `_, " +"by Nick Coghlan." msgstr "" #: ../../howto/unicode.rst:521 @@ -629,8 +624,8 @@ msgstr "" #: ../../howto/unicode.rst:523 msgid "" -"The :class:`str` type is described in the Python library reference at :ref:" -"`textseq`." +"The :class:`str` type is described in the Python library reference " +"at :ref:`textseq`." msgstr "" #: ../../howto/unicode.rst:526 @@ -701,8 +696,8 @@ msgid "" "object that assumes the file's contents are in a specified encoding and " "accepts Unicode parameters for methods such as :meth:`~io.TextIOBase.read` " "and :meth:`~io.TextIOBase.write`. This works through :func:`open`\\'s " -"*encoding* and *errors* parameters which are interpreted just like those in :" -"meth:`str.encode` and :meth:`bytes.decode`." +"*encoding* and *errors* parameters which are interpreted just like those " +"in :meth:`str.encode` and :meth:`bytes.decode`." msgstr "" #: ../../howto/unicode.rst:574 @@ -880,8 +875,8 @@ msgstr "" #: ../../howto/unicode.rst:737 msgid "" -"One section of `Mastering Python 3 Input/Output `_, a PyCon 2010 talk by David " +"One section of `Mastering Python 3 Input/Output `_, a PyCon 2010 talk by David " "Beazley, discusses text processing and binary data handling." msgstr "" diff --git a/howto/urllib2.po b/howto/urllib2.po index 43cba8b44..b48592e63 100644 --- a/howto/urllib2.po +++ b/howto/urllib2.po @@ -1,36 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 -# Otávio Carneiro , 2021 -# Adorilson Bezerra , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../howto/urllib2.rst:5 msgid "HOWTO Fetch Internet Resources Using The urllib Package" -msgstr "Como Buscar Recursos Da Internet Usando O Pacote urllib" +msgstr "Como buscar recursos da Internet usando o pacote urllib" #: ../../howto/urllib2.rst:0 msgid "Author" @@ -41,22 +37,10 @@ msgid "`Michael Foord `_" msgstr "`Michael Foord `_" #: ../../howto/urllib2.rst:11 -msgid "" -"There is a French translation of an earlier revision of this HOWTO, " -"available at `urllib2 - Le Manuel manquant `_." -msgstr "" -"Há uma tradução francesa de uma revisão anterior deste COMO FAZER, " -"disponível em `urllib2 - Le Manuel manquant `_." - -#: ../../howto/urllib2.rst:18 msgid "Introduction" msgstr "Introdução" -#: ../../howto/urllib2.rst:22 +#: ../../howto/urllib2.rst:15 msgid "" "You may also find useful the following article on fetching web resources " "with Python:" @@ -64,19 +48,19 @@ msgstr "" "Você também pode achar útil o seguinte artigo na busca de recursos da web " "com Python:" -#: ../../howto/urllib2.rst:25 +#: ../../howto/urllib2.rst:18 msgid "" -"`Basic Authentication `_" +"`Basic Authentication `_" msgstr "" -"`Autenticação Básica `_" +"`Autenticação Básica `_" -#: ../../howto/urllib2.rst:27 +#: ../../howto/urllib2.rst:20 msgid "A tutorial on *Basic Authentication*, with examples in Python." msgstr "Um tutorial sobre *Autenticação Básica*, com exemplos em Python." -#: ../../howto/urllib2.rst:29 +#: ../../howto/urllib2.rst:22 msgid "" "**urllib.request** is a Python module for fetching URLs (Uniform Resource " "Locators). It offers a very simple interface, in the form of the *urlopen* " @@ -93,7 +77,7 @@ msgstr "" "assim por diante. Estes são fornecidos por objetos chamados handlers " "(manipuladores) e openers (abridores)." -#: ../../howto/urllib2.rst:36 +#: ../../howto/urllib2.rst:29 msgid "" "urllib.request supports fetching URLs for many \"URL schemes\" (identified " "by the string before the ``\":\"`` in URL - for example ``\"ftp\"`` is the " @@ -107,7 +91,7 @@ msgstr "" "protocolo de rede associado a ele (como FTP e HTTP). Este tutorial foca no " "caso mais comum, HTTP." -#: ../../howto/urllib2.rst:41 +#: ../../howto/urllib2.rst:34 msgid "" "For straightforward situations *urlopen* is very easy to use. But as soon as " "you encounter errors or non-trivial cases when opening HTTP URLs, you will " @@ -122,30 +106,30 @@ msgstr "" "se depara com erros ou casos não triviais ao abrir URLs HTTP, você vai " "precisar entender um pouco mais do HyperText Transfer Protocol. A literatura " "de referência mais reconhecida e compreensível para o HTTP é :rfc:`2616`. " -"Ela é um documento técnico e não foi feita para ser fácil de ler. Este HOWTO " -"busca ilustrar o uso de *urllib* com detalhes suficientes sobre HTTP para te " -"permitir seguir adiante. Ele não tem a intenção de substituir a documentação " -"do :mod:`urllib.request`, mas é suplementar a ela." +"Ela é um documento técnico e não foi feita para ser fácil de ler. Este " +"documento busca ilustrar o uso de *urllib* com detalhes suficientes sobre " +"HTTP para te permitir seguir adiante. Ele não tem a intenção de substituir a " +"documentação do :mod:`urllib.request`, mas é suplementar a ela." -#: ../../howto/urllib2.rst:51 +#: ../../howto/urllib2.rst:44 msgid "Fetching URLs" msgstr "Acessando URLs" -#: ../../howto/urllib2.rst:53 +#: ../../howto/urllib2.rst:46 msgid "The simplest way to use urllib.request is as follows::" msgstr "O modo mais simples de usar urllib.request é o seguinte::" -#: ../../howto/urllib2.rst:59 +#: ../../howto/urllib2.rst:52 msgid "" "If you wish to retrieve a resource via URL and store it in a temporary " -"location, you can do so via the :func:`shutil.copyfileobj` and :func:" -"`tempfile.NamedTemporaryFile` functions::" +"location, you can do so via the :func:`shutil.copyfileobj` " +"and :func:`tempfile.NamedTemporaryFile` functions::" msgstr "" "Se você deseja obter um recurso via URL e guardá-lo em uma localização " -"temporária, você pode fazê-lo com as funções :func:`shutil.copyfileobj` e :" -"func:`tempfile.NamedTemporaryFile`::" +"temporária, você pode fazê-lo com as funções :func:`shutil.copyfileobj` " +"e :func:`tempfile.NamedTemporaryFile`::" -#: ../../howto/urllib2.rst:74 +#: ../../howto/urllib2.rst:67 msgid "" "Many uses of urllib will be that simple (note that instead of an 'http:' URL " "we could have used a URL starting with 'ftp:', 'file:', etc.). However, " @@ -157,7 +141,7 @@ msgstr "" "'file:', etc.).. No entanto, o propósito deste tutorial é explicar casos " "mais complicados, concentrando em HTTP." -#: ../../howto/urllib2.rst:79 +#: ../../howto/urllib2.rst:72 msgid "" "HTTP is based on requests and responses - the client makes requests and " "servers send responses. urllib.request mirrors this with a ``Request`` " @@ -176,7 +160,7 @@ msgstr "" "resposta é um objeto arquivo ou similar, o que significa que você pode, por " "exemplo, chamar ``.read()`` na resposta::" -#: ../../howto/urllib2.rst:93 +#: ../../howto/urllib2.rst:86 msgid "" "Note that urllib.request makes use of the same Request interface to handle " "all URL schemes. For example, you can make an FTP request like so::" @@ -185,7 +169,7 @@ msgstr "" "esquemas URL. Por exemplo, você pode fazer uma solicitação FTP da seguinte " "forma::" -#: ../../howto/urllib2.rst:98 +#: ../../howto/urllib2.rst:91 msgid "" "In the case of HTTP, there are two extra things that Request objects allow " "you to do: First, you can pass data to be sent to the server. Second, you " @@ -193,12 +177,18 @@ msgid "" "request itself, to the server - this information is sent as HTTP " "\"headers\". Let's look at each of these in turn." msgstr "" +"No caso do HTTP, há duas coisas extras que os objetos Request permitem que " +"você faça: primeiro, você pode passar dados a serem enviados ao servidor. " +"Segundo, você pode passar informações extras (\"metadados\") *sobre* os " +"dados ou sobre a própria solicitação para o servidor — essas informações são " +"enviadas como \"cabeçalhos\" HTTP. Vamos analisar cada um deles " +"separadamente." -#: ../../howto/urllib2.rst:105 +#: ../../howto/urllib2.rst:98 msgid "Data" -msgstr "" +msgstr "Dados" -#: ../../howto/urllib2.rst:107 +#: ../../howto/urllib2.rst:100 msgid "" "Sometimes you want to send data to a URL (often the URL will refer to a CGI " "(Common Gateway Interface) script or other web application). With HTTP, this " @@ -210,15 +200,29 @@ msgid "" "Request object as the ``data`` argument. The encoding is done using a " "function from the :mod:`urllib.parse` library. ::" msgstr "" +"Às vezes, você deseja enviar dados para uma URL (geralmente a URL se refere " +"a um script CGI (Common Gateway Interface) ou outra aplicação web). Com " +"HTTP, isso geralmente é feito usando o que é conhecido como uma solicitação " +"**POST**. Isso geralmente é o que seu navegador faz quando você envia um " +"formulário HTML preenchido na web. Nem todos os POSTs precisam vir de " +"formulários: você pode usar um POST para transmitir dados arbitrários para " +"sua própria aplicação. No caso comum de formulários HTML, os dados precisam " +"ser codificados de forma padrão e, em seguida, passados para o objeto " +"Request como o argumento ``data``. A codificação é feita usando uma função " +"da biblioteca :mod:`urllib.parse`. ::" -#: ../../howto/urllib2.rst:131 +#: ../../howto/urllib2.rst:124 msgid "" "Note that other encodings are sometimes required (e.g. for file upload from " "HTML forms - see `HTML Specification, Form Submission `_ for more details)." msgstr "" +"Observe que outras codificações às vezes são necessárias (por exemplo, para " +"envio de arquivos de formulários HTML - consulte `HTML Specification, Form " +"Submission `_ " +"para mais detalhes)." -#: ../../howto/urllib2.rst:136 +#: ../../howto/urllib2.rst:129 msgid "" "If you do not pass the ``data`` argument, urllib uses a **GET** request. One " "way in which GET and POST requests differ is that POST requests often have " @@ -230,12 +234,22 @@ msgid "" "side-effects, nor a POST requests from having no side-effects. Data can also " "be passed in an HTTP GET request by encoding it in the URL itself." msgstr "" - -#: ../../howto/urllib2.rst:146 +"Se você não passar o argumento ``data``, o urllib usará uma requisição " +"**GET**. Uma diferença entre requisições GET e POST é que as requisições " +"POST frequentemente têm \"efeitos colaterais\": elas alteram o estado do " +"sistema de alguma forma (por exemplo, ao fazer um pedido ao site para que " +"cem libras de spam enlatado sejam entregues em sua porta). Embora o padrão " +"HTTP deixe claro que os POSTs devem *sempre* causar efeitos colaterais, e as " +"requisições GET *nunca* causar efeitos colaterais, nada impede que uma " +"requisição GET tenha efeitos colaterais, nem que uma requisição POST não " +"tenha efeitos colaterais. Dados também podem ser passados em uma requisição " +"HTTP GET codificando-os na própria URL." + +#: ../../howto/urllib2.rst:139 msgid "This is done as follows::" msgstr "Isso é feito como abaixo::" -#: ../../howto/urllib2.rst:161 +#: ../../howto/urllib2.rst:154 msgid "" "Notice that the full URL is created by adding a ``?`` to the URL, followed " "by the encoded values." @@ -243,17 +257,19 @@ msgstr "" "Observe que o URL completo é criado adicionando um ``?`` ao URL, seguido " "pelos valores codificados." -#: ../../howto/urllib2.rst:165 +#: ../../howto/urllib2.rst:158 msgid "Headers" -msgstr "" +msgstr "Cabeçalhos" -#: ../../howto/urllib2.rst:167 +#: ../../howto/urllib2.rst:160 msgid "" "We'll discuss here one particular HTTP header, to illustrate how to add " "headers to your HTTP request." msgstr "" +"Discutiremos aqui um cabeçalho HTTP específico para ilustrar como adicionar " +"cabeçalhos à sua solicitação HTTP." -#: ../../howto/urllib2.rst:170 +#: ../../howto/urllib2.rst:163 msgid "" "Some websites [#]_ dislike being browsed by programs, or send different " "versions to different browsers [#]_. By default urllib identifies itself as " @@ -265,168 +281,233 @@ msgid "" "the same request as above, but identifies itself as a version of Internet " "Explorer [#]_. ::" msgstr "" +"Alguns sites [#]_ não gostam de ser navegados por programas ou enviam " +"versões diferentes para navegadores diferentes [#]_. Por padrão, urllib se " +"identifica como ``Python-urllib/x.y`` (onde ``x`` e ``y`` são os números de " +"versão principal e secundária da versão do Python, por exemplo, ``Python-" +"urllib/2.5``), o que pode confundir o site ou simplesmente não funcionar. A " +"forma como um navegador se identifica é através do cabeçalho ``User-Agent`` " +"[#]_. Ao criar um objeto Request, você pode passar um dicionário de " +"cabeçalhos. O exemplo a seguir faz a mesma solicitação acima, mas se " +"identifica como uma versão do Internet Explorer [#]_. ::" -#: ../../howto/urllib2.rst:197 +#: ../../howto/urllib2.rst:190 msgid "" "The response also has two useful methods. See the section on `info and " "geturl`_ which comes after we have a look at what happens when things go " "wrong." msgstr "" +"A resposta também possui dois métodos úteis. Veja a seção sobre `info e " +"geturl`_, que vem depois de analisarmos o que acontece quando as coisas dão " +"errado." -#: ../../howto/urllib2.rst:202 +#: ../../howto/urllib2.rst:195 msgid "Handling Exceptions" msgstr "Tratamento de exceções" -#: ../../howto/urllib2.rst:204 +#: ../../howto/urllib2.rst:197 msgid "" -"*urlopen* raises :exc:`URLError` when it cannot handle a response (though as " -"usual with Python APIs, built-in exceptions such as :exc:`ValueError`, :exc:" -"`TypeError` etc. may also be raised)." +"*urlopen* raises :exc:`~urllib.error.URLError` when it cannot handle a " +"response (though as usual with Python APIs, built-in exceptions such " +"as :exc:`ValueError`, :exc:`TypeError` etc. may also be raised)." msgstr "" +"*urlopen* levanta :exc:`~urllib.error.URLError` quando não consegue tratar " +"uma resposta (embora, como de costume com APIs Python, exceções embutidas " +"como :exc:`ValueError`, :exc:`TypeError` etc. também possam ser levantadas)." -#: ../../howto/urllib2.rst:208 +#: ../../howto/urllib2.rst:201 msgid "" -":exc:`HTTPError` is the subclass of :exc:`URLError` raised in the specific " -"case of HTTP URLs." +":exc:`~urllib.error.HTTPError` is the subclass " +"of :exc:`~urllib.error.URLError` raised in the specific case of HTTP URLs." msgstr "" +":exc:`~urllib.error.HTTPError` é a subclasse " +"de :exc:`~urllib.error.URLError` levantada no caso específico de URLs HTTP." -#: ../../howto/urllib2.rst:211 +#: ../../howto/urllib2.rst:204 msgid "The exception classes are exported from the :mod:`urllib.error` module." -msgstr "" +msgstr "As classes de exceção são exportadas do módulo :mod:`urllib.error`." -#: ../../howto/urllib2.rst:214 +#: ../../howto/urllib2.rst:207 msgid "URLError" -msgstr "" +msgstr "URLError" -#: ../../howto/urllib2.rst:216 +#: ../../howto/urllib2.rst:209 msgid "" "Often, URLError is raised because there is no network connection (no route " "to the specified server), or the specified server doesn't exist. In this " "case, the exception raised will have a 'reason' attribute, which is a tuple " "containing an error code and a text error message." msgstr "" +"Frequentemente, URLError é levantada porque não há conexão de rede (nenhuma " +"rota para o servidor especificado) ou o servidor especificado não existe. " +"Nesse caso, a exceção gerada terá um atributo \"reason\", que é uma tupla " +"contendo um código de erro e uma mensagem de erro em texto." -#: ../../howto/urllib2.rst:221 +#: ../../howto/urllib2.rst:214 msgid "e.g. ::" -msgstr "" +msgstr "Por exemplo ::" -#: ../../howto/urllib2.rst:232 +#: ../../howto/urllib2.rst:225 msgid "HTTPError" msgstr "HTTPError" -#: ../../howto/urllib2.rst:234 +#: ../../howto/urllib2.rst:227 msgid "" "Every HTTP response from the server contains a numeric \"status code\". " "Sometimes the status code indicates that the server is unable to fulfil the " "request. The default handlers will handle some of these responses for you " "(for example, if the response is a \"redirection\" that requests the client " "fetch the document from a different URL, urllib will handle that for you). " -"For those it can't handle, urlopen will raise an :exc:`HTTPError`. Typical " -"errors include '404' (page not found), '403' (request forbidden), and " -"'401' (authentication required)." -msgstr "" - -#: ../../howto/urllib2.rst:242 +"For those it can't handle, urlopen will raise " +"an :exc:`~urllib.error.HTTPError`. Typical errors include '404' (page not " +"found), '403' (request forbidden), and '401' (authentication required)." +msgstr "" +"Cada resposta HTTP do servidor contém um \"código de status\" numérico. Às " +"vezes, o código de status indica que o servidor não consegue atender à " +"solicitação. Os manipuladores padrão lidarão com algumas dessas respostas " +"para você (por exemplo, se a resposta for um \"redirecionamento\" que " +"solicita que o cliente busque o documento de uma URL diferente, o urllib " +"cuidará disso para você). Para aquelas que ele não consegue tratar, o " +"urlopen lançará um :exc:`~urllib.error.HTTPError`. Erros típicos incluem " +"'404' (página não encontrada), '403' (solicitação proibida) e '401' " +"(autenticação necessária)." + +#: ../../howto/urllib2.rst:235 msgid "" "See section 10 of :rfc:`2616` for a reference on all the HTTP error codes." msgstr "" +"Veja a seção 10 de :rfc:`2616` para uma referência sobre todos os códigos de " +"erro HTTP." -#: ../../howto/urllib2.rst:244 +#: ../../howto/urllib2.rst:237 msgid "" -"The :exc:`HTTPError` instance raised will have an integer 'code' attribute, " -"which corresponds to the error sent by the server." +"The :exc:`~urllib.error.HTTPError` instance raised will have an integer " +"'code' attribute, which corresponds to the error sent by the server." msgstr "" +"A instância :exc:`~urllib.error.HTTPError` levantada terá um atributo " +"inteiro 'code', que corresponde ao erro enviado pelo servidor." -#: ../../howto/urllib2.rst:248 +#: ../../howto/urllib2.rst:241 msgid "Error Codes" -msgstr "" +msgstr "Códigos de erro" -#: ../../howto/urllib2.rst:250 +#: ../../howto/urllib2.rst:243 msgid "" "Because the default handlers handle redirects (codes in the 300 range), and " "codes in the 100--299 range indicate success, you will usually only see " "error codes in the 400--599 range." msgstr "" +"Como os tratadores padrão controlam redirecionamentos (códigos no intervalo " +"300) e códigos no intervalo 100-299 indicam sucesso, normalmente você verá " +"apenas códigos de erro no intervalo 400-599." -#: ../../howto/urllib2.rst:254 +#: ../../howto/urllib2.rst:247 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 ::" msgstr "" +":attr:`http.server.BaseHTTPRequestHandler.responses` é um dicionário útil de " +"códigos de resposta que mostra todos os códigos de resposta usados " +"pela :rfc:`2616`. O dicionário é reproduzido aqui para sua conveniência." -#: ../../howto/urllib2.rst:326 +#: ../../howto/urllib2.rst:319 msgid "" "When an error is raised the server responds by returning an HTTP error code " -"*and* an error page. You can use the :exc:`HTTPError` instance as a response " -"on the page returned. This means that as well as the code attribute, it also " -"has read, geturl, and info, methods as returned by the ``urllib.response`` " -"module::" -msgstr "" - -#: ../../howto/urllib2.rst:346 +"*and* an error page. You can use the :exc:`~urllib.error.HTTPError` instance " +"as a response on the page returned. This means that as well as the code " +"attribute, it also has read, geturl, and info, methods as returned by the " +"``urllib.response`` module::" +msgstr "" +"Quando um erro é levantado, o servidor responde retornando um código de erro " +"HTTP *e* uma página de erro. Você pode usar a " +"instância :exc:`~urllib.error.HTTPError` como resposta na página retornada. " +"Isso significa que, além do atributo code, ela também possui os métodos " +"read, geturl e info, conforme retornados pelo módulo ``urllib.response``::" + +#: ../../howto/urllib2.rst:339 msgid "Wrapping it Up" -msgstr "" +msgstr "Resumindo" -#: ../../howto/urllib2.rst:348 +#: ../../howto/urllib2.rst:341 msgid "" -"So if you want to be prepared for :exc:`HTTPError` *or* :exc:`URLError` " -"there are two basic approaches. I prefer the second approach." +"So if you want to be prepared for :exc:`~urllib.error.HTTPError` " +"*or* :exc:`~urllib.error.URLError` there are two basic approaches. I prefer " +"the second approach." msgstr "" +"Então, se você quiser se preparar para :exc:`~urllib.error.HTTPError` " +"*ou* :exc:`~urllib.error.URLError`, existem duas abordagens básicas. Eu " +"prefiro a segunda." -#: ../../howto/urllib2.rst:352 +#: ../../howto/urllib2.rst:345 msgid "Number 1" -msgstr "" +msgstr "Número 1" -#: ../../howto/urllib2.rst:374 +#: ../../howto/urllib2.rst:367 msgid "" "The ``except HTTPError`` *must* come first, otherwise ``except URLError`` " -"will *also* catch an :exc:`HTTPError`." +"will *also* catch an :exc:`~urllib.error.HTTPError`." msgstr "" +"O ``except HTTPError`` *deve* vir primeiro, caso contrário, ``except " +"URLError`` *também* capturará uma :exc:`~urllib.error.HTTPError`." -#: ../../howto/urllib2.rst:378 +#: ../../howto/urllib2.rst:371 msgid "Number 2" -msgstr "" +msgstr "Número 2" -#: ../../howto/urllib2.rst:399 +#: ../../howto/urllib2.rst:392 msgid "info and geturl" -msgstr "" +msgstr "info e geturl" -#: ../../howto/urllib2.rst:401 +#: ../../howto/urllib2.rst:394 msgid "" -"The response returned by urlopen (or the :exc:`HTTPError` instance) has two " -"useful methods :meth:`info` and :meth:`geturl` and is defined in the module :" -"mod:`urllib.response`.." +"The response returned by urlopen (or the :exc:`~urllib.error.HTTPError` " +"instance) has two useful methods :meth:`!info` and :meth:`!geturl` and is " +"defined in the module :mod:`urllib.response`." msgstr "" +"A resposta retornada por urlopen (ou a " +"instância :exc:`~urllib.error.HTTPError`) tem dois métodos úteis :meth:`!" +"info` e :meth:`!geturl` e é definida no módulo :mod:`urllib.response`." -#: ../../howto/urllib2.rst:405 +#: ../../howto/urllib2.rst:398 msgid "" "**geturl** - this returns the real URL of the page fetched. This is useful " "because ``urlopen`` (or the opener object used) may have followed a " "redirect. The URL of the page fetched may not be the same as the URL " "requested." msgstr "" +"**geturl** - Isso retorna a URL real da página recuperada. Isso é útil " +"porque ``urlopen`` (ou o objeto de abertura utilizado) pode ter seguido um " +"redirecionamento. A URL da página recuperada pode não ser a mesma que a URL " +"solicitada." -#: ../../howto/urllib2.rst:409 +#: ../../howto/urllib2.rst:402 msgid "" "**info** - this returns a dictionary-like object that describes the page " -"fetched, particularly the headers sent by the server. It is currently an :" -"class:`http.client.HTTPMessage` instance." +"fetched, particularly the headers sent by the server. It is currently " +"an :class:`http.client.HTTPMessage` instance." msgstr "" +"**info** - Isso retorna um objeto semelhante a um dicionário que descreve a " +"página recuperada, particularmente os cabeçalhos enviados pelo servidor. " +"Atualmente, é uma instância de :class:`http.client.HTTPMessage`." -#: ../../howto/urllib2.rst:413 +#: ../../howto/urllib2.rst:406 msgid "" "Typical headers include 'Content-length', 'Content-type', and so on. See the " "`Quick Reference to HTTP Headers `_ for a " "useful listing of HTTP headers with brief explanations of their meaning and " "use." msgstr "" +"Cabeçalhos típicos incluem 'Content-length', 'Content-type' e assim por " +"diante. Consulte a \"Referência rápida para cabeçalhos HTTP \" para obter uma lista útil de cabeçalhos HTTP com " +"breves explicações sobre seu significado e uso." -#: ../../howto/urllib2.rst:420 +#: ../../howto/urllib2.rst:413 msgid "Openers and Handlers" -msgstr "" +msgstr "Abridores e tratadores" -#: ../../howto/urllib2.rst:422 +#: ../../howto/urllib2.rst:415 msgid "" "When you fetch a URL you use an opener (an instance of the perhaps " "confusingly named :class:`urllib.request.OpenerDirector`). Normally we have " @@ -436,53 +517,77 @@ msgid "" "(http, ftp, etc.), or how to handle an aspect of URL opening, for example " "HTTP redirections or HTTP cookies." msgstr "" +"Ao buscar uma URL, você usa um abridor (uma instância do talvez confuso " +"nome :class:`urllib.request.OpenerDirector`). Normalmente, usamos o abridor " +"padrão - via ``urlopen`` -, mas você pode criar abridores personalizados. Os " +"abridores usam manipuladores. Todo o \"trabalho pesado\" é feito pelos " +"manipuladores. Cada manipulador sabe como abrir URLs para um esquema de URL " +"específico (http, ftp, etc.) ou como lidar com um aspecto da abertura de " +"URL, por exemplo, redirecionamentos HTTP ou cookies HTTP." -#: ../../howto/urllib2.rst:430 +#: ../../howto/urllib2.rst:423 msgid "" "You will want to create openers if you want to fetch URLs with specific " "handlers installed, for example to get an opener that handles cookies, or to " "get an opener that does not handle redirections." msgstr "" +"Você vai querer criar abridores se quiser buscar URLs com manipuladores " +"específicos instalados, por exemplo, para obter um abridor que manipule " +"cookies ou para obter um abridor que não manipule redirecionamentos." -#: ../../howto/urllib2.rst:434 +#: ../../howto/urllib2.rst:427 msgid "" -"To create an opener, instantiate an ``OpenerDirector``, and then call ``." -"add_handler(some_handler_instance)`` repeatedly." +"To create an opener, instantiate an ``OpenerDirector``, and then call " +"``.add_handler(some_handler_instance)`` repeatedly." msgstr "" +"Para criar um abridor, instancie um ``OpenerDirector`` e então chame " +"``.add_handler(some_handler_instance)`` repetidamente." -#: ../../howto/urllib2.rst:437 +#: ../../howto/urllib2.rst:430 msgid "" "Alternatively, you can use ``build_opener``, which is a convenience function " "for creating opener objects with a single function call. ``build_opener`` " "adds several handlers by default, but provides a quick way to add more and/" "or override the default handlers." msgstr "" +"Como alternativa, você pode usar ``build_opener``, que é uma função " +"conveniente para criar objetos de abertura com uma única chamada de função. " +"``build_opener`` adiciona vários tratadores por padrão, mas fornece uma " +"maneira rápida de adicionar mais e/ou substituir os tratadores padrão." -#: ../../howto/urllib2.rst:442 +#: ../../howto/urllib2.rst:435 msgid "" "Other sorts of handlers you might want to can handle proxies, " "authentication, and other common but slightly specialised situations." msgstr "" +"Outros tipos de manipuladores que você pode querer podem lidar com proxies, " +"autenticação e outras situações comuns, mas um pouco especializadas." -#: ../../howto/urllib2.rst:445 +#: ../../howto/urllib2.rst:438 msgid "" "``install_opener`` can be used to make an ``opener`` object the (global) " "default opener. This means that calls to ``urlopen`` will use the opener you " "have installed." msgstr "" +"``install_opener`` pode ser usado para tornar um objeto ``opener`` o abridor " +"padrão (global). Isso significa que chamadas para ``urlopen`` usarão o " +"abridor que você instalou." -#: ../../howto/urllib2.rst:449 +#: ../../howto/urllib2.rst:442 msgid "" "Opener objects have an ``open`` method, which can be called directly to " "fetch urls in the same way as the ``urlopen`` function: there's no need to " "call ``install_opener``, except as a convenience." msgstr "" +"Objetos abridores têm um método ``open``, que pode ser chamado diretamente " +"para buscar URLs da mesma forma que a função ``urlopen``: não há necessidade " +"de chamar ``install_opener``, exceto por conveniência." -#: ../../howto/urllib2.rst:455 +#: ../../howto/urllib2.rst:448 msgid "Basic Authentication" -msgstr "" +msgstr "Autenticação básica" -#: ../../howto/urllib2.rst:457 +#: ../../howto/urllib2.rst:450 msgid "" "To illustrate creating and installing a handler we will use the " "``HTTPBasicAuthHandler``. For a more detailed discussion of this subject -- " @@ -490,28 +595,42 @@ msgid "" "Authentication Tutorial `__." msgstr "" +"Para ilustrar a criação e instalação de um manipulador, usaremos o " +"``HTTPBasicAuthHandler``. Para uma discussão mais detalhada sobre este " +"assunto — incluindo uma explicação de como funciona a autenticação básica — " +"consulte este `tutorial de autenticação básica `__." -#: ../../howto/urllib2.rst:463 +#: ../../howto/urllib2.rst:456 msgid "" "When authentication is required, the server sends a header (as well as the " "401 error code) requesting authentication. This specifies the " "authentication scheme and a 'realm'. The header looks like: ``WWW-" "Authenticate: SCHEME realm=\"REALM\"``." msgstr "" +"Quando a autenticação é necessária, o servidor envia um cabeçalho (e o " +"código de erro 401) solicitando autenticação. Isso especifica o esquema de " +"autenticação e um \"domínio\". O cabeçalho se parece com: ``WWW-" +"Authenticate: SCHEME realm=\"REALM\"``." -#: ../../howto/urllib2.rst:468 +#: ../../howto/urllib2.rst:461 msgid "e.g." -msgstr "" +msgstr "Por exemplo:" -#: ../../howto/urllib2.rst:475 +#: ../../howto/urllib2.rst:468 msgid "" "The client should then retry the request with the appropriate name and " "password for the realm included as a header in the request. This is 'basic " "authentication'. In order to simplify this process we can create an instance " "of ``HTTPBasicAuthHandler`` and an opener to use this handler." msgstr "" +"O cliente deve então tentar a solicitação novamente com o nome e a senha " +"apropriados para o domínio incluídos como cabeçalho na solicitação. Isso é " +"\"autenticação básica\". Para simplificar esse processo, podemos criar uma " +"instância de ``HTTPBasicAuthHandler`` e um opener para usar esse manipulador." -#: ../../howto/urllib2.rst:480 +#: ../../howto/urllib2.rst:473 msgid "" "The ``HTTPBasicAuthHandler`` uses an object called a password manager to " "handle the mapping of URLs and realms to passwords and usernames. If you " @@ -523,24 +642,44 @@ msgid "" "providing an alternative combination for a specific realm. We indicate this " "by providing ``None`` as the realm argument to the ``add_password`` method." msgstr "" +"O ``HTTPBasicAuthHandler`` usa um objeto chamado gerenciador de senhas para " +"manipular o mapeamento de URLs e domínios para senhas e nomes de usuário. Se " +"você souber qual é o domínio (a partir do cabeçalho de autenticação enviado " +"pelo servidor), poderá usar um ``HTTPPasswordMgr``. Frequentemente, não " +"importa qual seja o domínio. Nesse caso, é conveniente usar " +"``HTTPPasswordMgrWithDefaultRealm``. Isso permite que você especifique um " +"nome de usuário e uma senha padrão para uma URL. Isso será fornecido caso " +"você não forneça uma combinação alternativa para um domínio específico. " +"Indicamos isso fornecendo ``None`` como argumento de domínio para o método " +"``add_password``." -#: ../../howto/urllib2.rst:490 +#: ../../howto/urllib2.rst:483 msgid "" "The top-level URL is the first URL that requires authentication. URLs " "\"deeper\" than the URL you pass to .add_password() will also match. ::" msgstr "" +"A URL de nível superior é a primeira URL que requer autenticação. URLs " +"\"mais profundas\" que a URL que você passa para .add_password() também " +"corresponderão. ::" -#: ../../howto/urllib2.rst:515 +#: ../../howto/urllib2.rst:508 msgid "" "In the above example we only supplied our ``HTTPBasicAuthHandler`` to " "``build_opener``. By default openers have the handlers for normal situations " -"-- ``ProxyHandler`` (if a proxy setting such as an :envvar:`http_proxy` " +"-- ``ProxyHandler`` (if a proxy setting such as an :envvar:`!http_proxy` " "environment variable is set), ``UnknownHandler``, ``HTTPHandler``, " "``HTTPDefaultErrorHandler``, ``HTTPRedirectHandler``, ``FTPHandler``, " "``FileHandler``, ``DataHandler``, ``HTTPErrorProcessor``." msgstr "" +"No exemplo acima, fornecemos apenas nosso ``HTTPBasicAuthHandler`` para " +"``build_opener``. Por padrão, os \"openers\" possuem os manipuladores para " +"situações normais: ``ProxyHandler`` (se uma configuração de proxy, como uma " +"variável de ambiente :envvar:`!http_proxy`, estiver definida), " +"``UnknownHandler``, ``HTTPHandler``, ``HTTPDefaultErrorHandler``, " +"``HTTPRedirectHandler``, ``FTPHandler``, ``FileHandler``, ``DataHandler``, " +"``HTTPErrorProcessor``." -#: ../../howto/urllib2.rst:522 +#: ../../howto/urllib2.rst:515 msgid "" "``top_level_url`` is in fact *either* a full URL (including the 'http:' " "scheme component and the hostname and optionally the port number) e.g. " @@ -550,12 +689,20 @@ msgid "" "authority, if present, must NOT contain the \"userinfo\" component - for " "example ``\"joe:password@example.com\"`` is not correct." msgstr "" +"``top_level_url`` é, na verdade, *ou* uma URL completa (incluindo o " +"componente do esquema 'http:', o nome do host e, opcionalmente, o número da " +"porta), por exemplo, ``\"http://example.com/\"``, *ou* uma \"autoridade\" " +"(ou seja, o nome do host, incluindo, opcionalmente, o número da porta), por " +"exemplo, ``\"example.com\"`` ou ``\"example.com:8080\"`` (este último " +"exemplo inclui um número de porta). A autoridade, se presente, NÃO deve " +"conter o componente \"userinfo\" - por exemplo, " +"``\"joe:senha@example.com\"`` não está correto." -#: ../../howto/urllib2.rst:532 +#: ../../howto/urllib2.rst:525 msgid "Proxies" msgstr "Proxies" -#: ../../howto/urllib2.rst:534 +#: ../../howto/urllib2.rst:527 msgid "" "**urllib** will auto-detect your proxy settings and use those. This is " "through the ``ProxyHandler``, which is part of the normal handler chain when " @@ -564,80 +711,112 @@ msgid "" "our own ``ProxyHandler``, with no proxies defined. This is done using " "similar steps to setting up a `Basic Authentication`_ handler: ::" msgstr "" +"**urllib** detectará automaticamente suas configurações de proxy e as " +"utilizará. Isso ocorre por meio do ``ProxyHandler``, que faz parte da cadeia " +"de manipuladores normal quando uma configuração de proxy é detectada. " +"Normalmente, isso é bom, mas há ocasiões em que pode não ser útil [#]_. Uma " +"maneira de fazer isso é configurar nosso próprio ``ProxyHandler``, sem " +"proxies definidos. Isso é feito seguindo etapas semelhantes à configuração " +"de um manipulador de `autenticação básica`_: ::" -#: ../../howto/urllib2.rst:547 +#: ../../howto/urllib2.rst:540 msgid "" "Currently ``urllib.request`` *does not* support fetching of ``https`` " -"locations through a proxy. However, this can be enabled by extending urllib." -"request as shown in the recipe [#]_." +"locations through a proxy. However, this can be enabled by extending " +"urllib.request as shown in the recipe [#]_." msgstr "" +"Atualmente, ``urllib.request`` *não* oferece suporte à busca de locais " +"``https`` por meio de um proxy. No entanto, isso pode ser habilitado " +"estendendo urllib.request, conforme mostrado na receita [#]_." -#: ../../howto/urllib2.rst:553 +#: ../../howto/urllib2.rst:546 msgid "" "``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; see " "the documentation on :func:`~urllib.request.getproxies`." msgstr "" +"``HTTP_PROXY`` será ignorado se uma variável ``REQUEST_METHOD`` estiver " +"definida; veja a documentação em :func:`~urllib.request.getproxies`." -#: ../../howto/urllib2.rst:558 +#: ../../howto/urllib2.rst:551 msgid "Sockets and Layers" -msgstr "" +msgstr "Socekts e camadas" -#: ../../howto/urllib2.rst:560 +#: ../../howto/urllib2.rst:553 msgid "" "The Python support for fetching resources from the web is layered. urllib " "uses the :mod:`http.client` library, which in turn uses the socket library." msgstr "" +"O suporte do Python para buscar recursos web é em camadas. urllib usa a " +"biblioteca :mod:`http.client`, que por sua vez usa a biblioteca de sockets." -#: ../../howto/urllib2.rst:563 +#: ../../howto/urllib2.rst:556 msgid "" "As of Python 2.3 you can specify how long a socket should wait for a " "response before timing out. This can be useful in applications which have to " "fetch web pages. By default the socket module has *no timeout* and can hang. " -"Currently, the socket timeout is not exposed at the http.client or urllib." -"request levels. However, you can set the default timeout globally for all " -"sockets using ::" -msgstr "" - -#: ../../howto/urllib2.rst:586 +"Currently, the socket timeout is not exposed at the http.client or " +"urllib.request levels. However, you can set the default timeout globally for " +"all sockets using ::" +msgstr "" +"A partir do Python 2.3, você pode especificar quanto tempo um soquete deve " +"aguardar por uma resposta antes de atingir o tempo limite. Isso pode ser " +"útil em aplicações que precisam buscar páginas web. Por padrão, o módulo " +"socket *não tem tempo limite* e pode travar. Atualmente, o tempo limite do " +"soquete não é exposto nos níveis http.client ou urllib.request. No entanto, " +"você pode definir o tempo limite padrão globalmente para todos os soquetes " +"usando ::" + +#: ../../howto/urllib2.rst:579 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../howto/urllib2.rst:588 +#: ../../howto/urllib2.rst:581 msgid "This document was reviewed and revised by John Lee." -msgstr "" +msgstr "Este documento foi revisado e revisado por John Lee." -#: ../../howto/urllib2.rst:590 +#: ../../howto/urllib2.rst:583 msgid "Google for example." msgstr "Google, por exemplo." -#: ../../howto/urllib2.rst:591 +#: ../../howto/urllib2.rst:584 msgid "" "Browser sniffing is a very bad practice for website design - building sites " "using web standards is much more sensible. Unfortunately a lot of sites " "still send different versions to different browsers." msgstr "" +"A detecção de navegadores é uma prática muito ruim para o design de sites; " +"construir sites usando padrões web é muito mais sensato. Infelizmente, " +"muitos sites ainda enviam versões diferentes para navegadores diferentes." -#: ../../howto/urllib2.rst:594 +#: ../../howto/urllib2.rst:587 msgid "" "The user agent for MSIE 6 is *'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT " "5.1; SV1; .NET CLR 1.1.4322)'*" msgstr "" +"O user agent para MSIE 6 é *'Mozilla/4.0 (compatível; MSIE 6.0; Windows NT " +"5.1; SV1; .NET CLR 1.1.4322)'*" -#: ../../howto/urllib2.rst:596 +#: ../../howto/urllib2.rst:589 msgid "" "For details of more HTTP request headers, see `Quick Reference to HTTP " "Headers`_." msgstr "" +"Para obter detalhes sobre mais cabeçalhos de solicitação HTTP, consulte " +"`Referência rápida para cabeçalhos HTTP`_." -#: ../../howto/urllib2.rst:598 +#: ../../howto/urllib2.rst:591 msgid "" "In my case I have to use a proxy to access the internet at work. If you " "attempt to fetch *localhost* URLs through this proxy it blocks them. IE is " "set to use the proxy, which urllib picks up on. In order to test scripts " "with a localhost server, I have to prevent urllib from using the proxy." msgstr "" +"No meu caso, preciso usar um proxy para acessar a internet no trabalho. Se " +"você tentar buscar URLs *localhost* por meio desse proxy, ele as bloqueia. O " +"IE está configurado para usar o proxy, que o urllib detecta. Para testar " +"scripts com um servidor localhost, preciso impedir que o urllib use o proxy." -#: ../../howto/urllib2.rst:603 +#: ../../howto/urllib2.rst:596 msgid "" "urllib opener for SSL proxy (CONNECT method): `ASPN Cookbook Recipe `_." diff --git a/includes/wasm-notavail.po b/includes/wasm-notavail.po deleted file mode 100644 index 55936d454..000000000 --- a/includes/wasm-notavail.po +++ /dev/null @@ -1,38 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Rafael Fontenelle , 2022 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.11\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-03-24 14:14+0000\n" -"PO-Revision-Date: 2022-11-05 19:48+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" -"teams/5390/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " -"1000000 == 0 ? 1 : 2;\n" - -#: ../../includes/wasm-notavail.rst:3 -msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr ":ref:`Disponibilidade `: não Emscripten, não WASI." - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly platforms " -"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " -"more information." -msgstr "" -"Este módulo não funciona ou não está disponível em plataformas WebAssembly " -"``wasm32-emscripten`` e ``wasm32-wasi``. Veja :ref:`wasm-availability` para " -"mais informações." diff --git a/install/index.po b/install/index.po index a7e7fd384..14013d214 100644 --- a/install/index.po +++ b/install/index.po @@ -1,33 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Ruan Aragão , 2021 -# Misael borges , 2021 -# Risaffi , 2021 -# felipe caridade , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:53+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -74,9 +66,9 @@ msgid "" "independently covers all of the relevant information currently included here." msgstr "" "Este documento está sendo mantido apenas até que a documentação do " -"``setuptools`` em https://setuptools.readthedocs.io/en/latest/setuptools." -"html cubra independentemente todas as informações relevantes atualmente " -"incluídas aqui." +"``setuptools`` em https://setuptools.readthedocs.io/en/latest/" +"setuptools.html cubra independentemente todas as informações relevantes " +"atualmente incluídas aqui." #: ../../install/index.rst:30 msgid "" @@ -148,19 +140,31 @@ msgid "" "If you download a module source distribution, you can tell pretty quickly if " "it was packaged and distributed in the standard way, i.e. using the " "Distutils. First, the distribution's name and version number will be " -"featured prominently in the name of the downloaded archive, e.g. :file:" -"`foo-1.0.tar.gz` or :file:`widget-0.9.7.zip`. Next, the archive will unpack " -"into a similarly named directory: :file:`foo-1.0` or :file:`widget-0.9.7`. " -"Additionally, the distribution will contain a setup script :file:`setup.py`, " -"and a file named :file:`README.txt` or possibly just :file:`README`, which " -"should explain that building and installing the module distribution is a " -"simple matter of running one command from a terminal::" +"featured prominently in the name of the downloaded archive, " +"e.g. :file:`foo-1.0.tar.gz` or :file:`widget-0.9.7.zip`. Next, the archive " +"will unpack into a similarly named directory: :file:`foo-1.0` " +"or :file:`widget-0.9.7`. Additionally, the distribution will contain a " +"setup script :file:`setup.py`, and a file named :file:`README.txt` or " +"possibly just :file:`README`, which should explain that building and " +"installing the module distribution is a simple matter of running one command " +"from a terminal::" msgstr "" +"Se você fizer o download de uma distribuição fonte do módulo, poderá saber " +"rapidamente se ele foi empacotado e distribuído da maneira padrão, ou seja, " +"usando o Distutils. Primeiro, o nome da distribuição e o número da versão " +"aparecerão de forma proeminente no nome do arquivo baixado, por " +"exemplo, :file:`foo-1.0.tar.gz` ou :file:`widget-0.9.7.zip`. Em seguida, o " +"arquivo será descompactado em um diretório com nome " +"semelhante: :file:`foo-1.0` ou :file:`widget-0.9.7`. Além disso, a " +"distribuição conterá um script de configuração :file:`setup.py`, e um " +"arquivo chamado :file:`README.txt` ou possivelmente apenas :file:`README`, " +"que deve explicar a construção e instalação da distribuição de módulo é uma " +"simples questão de executar um comando de um terminal::" #: ../../install/index.rst:77 msgid "" -"For Windows, this command should be run from a command prompt window (:" -"menuselection:`Start --> Accessories`)::" +"For Windows, this command should be run from a command prompt window " +"(:menuselection:`Start --> Accessories`)::" msgstr "" "Para Windows, este comando deve ser executado de uma janela de prompt de " "comando (:menuselection:`Iniciar --> Acessórios`)::" @@ -216,9 +220,9 @@ msgid "" "On Windows, you'd probably download :file:`foo-1.0.zip`. If you downloaded " "the archive file to :file:`C:\\\\Temp`, then it would unpack into :file:`C:\\" "\\Temp\\\\foo-1.0`; you can use either an archive manipulator with a " -"graphical user interface (such as WinZip) or a command-line tool (such as :" -"program:`unzip` or :program:`pkunzip`) to unpack the archive. Then, open a " -"command prompt window and run::" +"graphical user interface (such as WinZip) or a command-line tool (such " +"as :program:`unzip` or :program:`pkunzip`) to unpack the archive. Then, " +"open a command prompt window and run::" msgstr "" "No Windows, você provavelmente baixaria :file:`foo-1.0.zip`. Se você baixou " "o arquivo para :file:`C:\\\\Temp`, então ele seria descompactado em :file:`C:" @@ -269,8 +273,8 @@ msgid "" msgstr "" "Se você fizer isso, você notará que executar o comando :command:`install` " "primeiro executa o comando :command:`build`, que -- neste caso -- " -"rapidamente nota que não tem nada a fazer, já que tudo no diretório :file:" -"`build` está atualizado." +"rapidamente nota que não tem nada a fazer, já que tudo no " +"diretório :file:`build` está atualizado." #: ../../install/index.rst:150 msgid "" @@ -292,10 +296,11 @@ msgstr "Como a construção funciona" #: ../../install/index.rst:161 msgid "" "As implied above, the :command:`build` command is responsible for putting " -"the files to install into a *build directory*. By default, this is :file:" -"`build` under the distribution root; if you're excessively concerned with " -"speed, or want to keep the source tree pristine, you can change the build " -"directory with the :option:`!--build-base` option. For example::" +"the files to install into a *build directory*. By default, this " +"is :file:`build` under the distribution root; if you're excessively " +"concerned with speed, or want to keep the source tree pristine, you can " +"change the build directory with the :option:`!--build-base` option. For " +"example::" msgstr "" "Como implícito acima, o comando :command:`build` é responsável por colocar " "os arquivos a serem instalados em um *diretório de construção*. Por padrão, " @@ -325,11 +330,11 @@ msgid "" "directory, is used for \"pure module distributions\"---that is, module " "distributions that include only pure Python modules. If a module " "distribution contains any extensions (modules written in C/C++), then the " -"second form, with two ```` directories, is used. In that case, the :" -"file:`temp.{plat}` directory holds temporary files generated by the compile/" -"link process that don't actually get installed. In either case, the :file:" -"`lib` (or :file:`lib.{plat}`) directory contains all Python modules (pure " -"Python and extensions) that will be installed." +"second form, with two ```` directories, is used. In that case, " +"the :file:`temp.{plat}` directory holds temporary files generated by the " +"compile/link process that don't actually get installed. In either case, " +"the :file:`lib` (or :file:`lib.{plat}`) directory contains all Python " +"modules (pure Python and extensions) that will be installed." msgstr "" "onde ```` expande-se para uma breve descrição do sistema operacional/" "plataforma de hardware atual e versão Python. A primeira forma, com apenas " @@ -359,10 +364,10 @@ msgstr "Como a instalação funciona" #: ../../install/index.rst:200 msgid "" "After the :command:`build` command runs (whether you run it explicitly, or " -"the :command:`install` command does it for you), the work of the :command:" -"`install` command is relatively simple: all it has to do is copy everything " -"under :file:`build/lib` (or :file:`build/lib.{plat}`) to your chosen " -"installation directory." +"the :command:`install` command does it for you), the work of " +"the :command:`install` command is relatively simple: all it has to do is " +"copy everything under :file:`build/lib` (or :file:`build/lib.{plat}`) to " +"your chosen installation directory." msgstr "" "Depois que o comando :command:`build` é executado (se você o executa " "explicitamente ou o comando :command:`install` faz isso por você), o " @@ -380,6 +385,13 @@ msgid "" "distribution being installed is pure Python or contains extensions (\"non-" "pure\"):" msgstr "" +"Se você não escolher um diretório de instalação -- ou seja, se você apenas " +"executar ``setup.py install``\\ -- então o comando :command:`install` " +"instala no local padrão para módulos Python de terceiros . Esse local varia " +"de acordo com a plataforma e como você construiu/instalou o próprio Python. " +"No Unix (e no macOS, que também é baseado no Unix), também depende se a " +"distribuição de módulo que está sendo instalada é Python puro ou contém " +"extensões (\"não puras\"):" #: ../../install/index.rst:216 msgid "Platform" @@ -452,10 +464,10 @@ msgid "" "local`." msgstr "" "A maioria das distribuições Linux inclui Python como uma parte padrão do " -"sistema, então :file:`{prefix}` e :file:`{exec-prefix}` são geralmente :file:" -"`/usr` no Linux. Se você construir Python no Linux (ou qualquer sistema " -"semelhante ao Unix), o padrão de :file:`{prefix}` e :file:`{exec-prefix}` é :" -"file:`/usr/local`." +"sistema, então :file:`{prefix}` e :file:`{exec-prefix}` são " +"geralmente :file:`/usr` no Linux. Se você construir Python no Linux (ou " +"qualquer sistema semelhante ao Unix), o padrão de :file:`{prefix}` " +"e :file:`{exec-prefix}` é :file:`/usr/local`." #: ../../install/index.rst:234 msgid "" @@ -470,15 +482,27 @@ msgid "" ":file:`{prefix}` and :file:`{exec-prefix}` stand for the directories that " "Python is installed to, and where it finds its libraries at run-time. They " "are always the same under Windows, and very often the same under Unix and " -"macOS. You can find out what your Python installation uses for :file:" -"`{prefix}` and :file:`{exec-prefix}` by running Python in interactive mode " -"and typing a few simple commands. Under Unix, just type ``python`` at the " -"shell prompt. Under Windows, choose :menuselection:`Start --> Programs --> " -"Python X.Y --> Python (command line)`. Once the interpreter is started, " -"you type Python code at the prompt. For example, on my Linux system, I type " -"the three Python statements shown below, and get the output as shown, to " -"find out my :file:`{prefix}` and :file:`{exec-prefix}`:" -msgstr "" +"macOS. You can find out what your Python installation uses " +"for :file:`{prefix}` and :file:`{exec-prefix}` by running Python in " +"interactive mode and typing a few simple commands. Under Unix, just type " +"``python`` at the shell prompt. Under Windows, choose :menuselection:`Start " +"--> Programs --> Python X.Y --> Python (command line)`. Once the " +"interpreter is started, you type Python code at the prompt. For example, on " +"my Linux system, I type the three Python statements shown below, and get the " +"output as shown, to find out my :file:`{prefix}` and :file:`{exec-prefix}`:" +msgstr "" +":file:`{prefix}` e :file:`{exec-prefix}` representam os diretórios nos quais " +"o Python é instalado e onde ele encontra suas bibliotecas em tempo de " +"execução. Eles são sempre os mesmos no Windows, e muitas vezes os mesmos no " +"Unix e macOS. Você pode descobrir o que sua instalação Python usa " +"para :file:`{prefix}` e :file:`{exec-prefix}` executando Python no modo " +"interativo e digitando alguns comandos simples. No Unix, apenas digite " +"``python`` no prompt do shell. No Windows, escolha :menuselection:`Iniciar --" +"> Programas --> Python X.Y --> Python (command line)`. Depois que o " +"interpretador é iniciado, você digita o código Python no prompt. Por " +"exemplo, em meu sistema Linux, eu digito as três instruções Python mostradas " +"abaixo e obtenho a saída conforme mostrado, para descobrir " +"meu :file:`{prefix}` e :file:`{exec-prefix}`:" #: ../../install/index.rst:259 msgid "" @@ -582,11 +606,16 @@ msgstr "" #: ../../install/index.rst:312 msgid "" -"Files will be installed into subdirectories of :data:`site.USER_BASE` " +"Files will be installed into subdirectories of :const:`site.USER_BASE` " "(written as :file:`{userbase}` hereafter). This scheme installs pure Python " -"modules and extension modules in the same location (also known as :data:" -"`site.USER_SITE`). Here are the values for UNIX, including macOS:" +"modules and extension modules in the same location (also known " +"as :const:`site.USER_SITE`). Here are the values for UNIX, including macOS:" msgstr "" +"Os arquivos serão instalados em subdiretórios de :const:`site.USER_BASE` " +"(escrito como :file:`{userbase}` daqui em diante). Este esquema instala " +"módulos Python puros e módulos de extensão no mesmo local (também conhecido " +"como :const:`site.USER_SITE`). Aqui estão os valores para UNIX, incluindo " +"macOS:" #: ../../install/index.rst:318 ../../install/index.rst:329 #: ../../install/index.rst:380 ../../install/index.rst:429 @@ -661,8 +690,8 @@ msgid "" "The advantage of using this scheme compared to the other ones described " "below is that the user site-packages directory is under normal conditions " "always included in :data:`sys.path` (see :mod:`site` for more information), " -"which means that there is no additional step to perform after running the :" -"file:`setup.py` script to finalize the installation." +"which means that there is no additional step to perform after running " +"the :file:`setup.py` script to finalize the installation." msgstr "" "A vantagem de usar este esquema em comparação com os outros descritos abaixo " "é que o diretório de pacotes do site do usuário está, em condições normais, " @@ -672,10 +701,10 @@ msgstr "" #: ../../install/index.rst:343 msgid "" -"The :command:`build_ext` command also has a ``--user`` option to add :file:" -"`{userbase}/include` to the compiler search path for header files and :file:" -"`{userbase}/lib` to the compiler search path for libraries as well as to the " -"runtime search path for shared C libraries (rpath)." +"The :command:`build_ext` command also has a ``--user`` option to " +"add :file:`{userbase}/include` to the compiler search path for header files " +"and :file:`{userbase}/lib` to the compiler search path for libraries as well " +"as to the runtime search path for shared C libraries (rpath)." msgstr "" "O comando :command:`build_ext` também tem uma opção ``--user`` para " "adicionar :file:`{userbase}/include` ao caminho de pesquisa do compilador " @@ -692,15 +721,15 @@ msgid "" "The idea behind the \"home scheme\" is that you build and maintain a " "personal stash of Python modules. This scheme's name is derived from the " "idea of a \"home\" directory on Unix, since it's not unusual for a Unix user " -"to make their home directory have a layout similar to :file:`/usr/` or :file:" -"`/usr/local/`. This scheme can be used by anyone, regardless of the " +"to make their home directory have a layout similar to :file:`/usr/` " +"or :file:`/usr/local/`. This scheme can be used by anyone, regardless of the " "operating system they are installing for." msgstr "" "A ideia por trás do \"esquema home\" é que você construa e mantenha um " "estoque pessoal de módulos Python. O nome deste esquema é derivado da ideia " "de um diretório \"home\" no Unix, uma vez que não é incomum para um usuário " -"Unix fazer seu diretório home ter um layout semelhante a :file:`/usr/` ou :" -"file:`/usr/local/`. Este esquema pode ser usado por qualquer pessoa, " +"Unix fazer seu diretório home ter um layout semelhante a :file:`/usr/` " +"ou :file:`/usr/local/`. Este esquema pode ser usado por qualquer pessoa, " "independentemente do sistema operacional para o qual está instalando." #: ../../install/index.rst:361 @@ -710,25 +739,21 @@ msgstr "Instalando uma nova distribuição de módulo é tão simples quanto ::" #: ../../install/index.rst:365 msgid "" "where you can supply any directory you like for the :option:`!--home` " -"option. On Unix, lazy typists can just type a tilde (``~``); the :command:" -"`install` command will expand this to your home directory::" +"option. On Unix, lazy typists can just type a tilde (``~``); " +"the :command:`install` command will expand this to your home directory::" msgstr "" -"onde você pode fornecer qualquer diretório que desejar para a opção :option:" -"`!--home`. No Unix, digitadores preguiçosos podem simplesmente digitar um " -"til (``~``); o comando :command:`install` vai expandir isso para o seu " -"diretório home::" +"onde você pode fornecer qualquer diretório que desejar para a " +"opção :option:`!--home`. No Unix, digitadores preguiçosos podem simplesmente " +"digitar um til (``~``); o comando :command:`install` vai expandir isso para " +"o seu diretório home::" #: ../../install/index.rst:371 msgid "" "To make Python find the distributions installed with this scheme, you may " -"have to :ref:`modify Python's search path ` or edit :mod:" -"`sitecustomize` (see :mod:`site`) to call :func:`site.addsitedir` or edit :" -"data:`sys.path`." +"have to :ref:`modify Python's search path ` or edit :mod:`!" +"sitecustomize` (see :mod:`site`) to call :func:`site.addsitedir` or " +"edit :data:`sys.path`." msgstr "" -"Para fazer o Python encontrar as distribuições instaladas com este esquema, " -"você deve :ref:`modificar o caminho de pesquisa do Python ` ou editar :mod:`sitecustomize` (veja :mod:`site`) para chamar :func:" -"`site.additedir` ou editar :data:`sys.path`." #: ../../install/index.rst:376 msgid "" @@ -830,9 +855,9 @@ msgstr "" "e a opção :option:`!--exec-prefix` define a base de instalação específica da " "plataforma, que é usada para arquivos específicos da plataforma. " "(Atualmente, isso significa apenas distribuições de módulos não puros, mas " -"pode ser expandido para bibliotecas C, executáveis binários, etc.) Se :" -"option:`!--exec-prefix` não for fornecido, o padrão é :option:`!--prefix`. " -"Os arquivos são instalados da seguinte forma:" +"pode ser expandido para bibliotecas C, executáveis binários, etc.) " +"Se :option:`!--exec-prefix` não for fornecido, o padrão é :option:`!--" +"prefix`. Os arquivos são instalados da seguinte forma:" #: ../../install/index.rst:431 ../../install/index.rst:508 msgid "Python modules" @@ -869,17 +894,17 @@ msgstr "" msgid "" "Incidentally, the real reason the prefix scheme is important is simply that " "a standard Unix installation uses the prefix scheme, but with :option:`!--" -"prefix` and :option:`!--exec-prefix` supplied by Python itself as ``sys." -"prefix`` and ``sys.exec_prefix``. Thus, you might think you'll never use " -"the prefix scheme, but every time you run ``python setup.py install`` " +"prefix` and :option:`!--exec-prefix` supplied by Python itself as " +"``sys.prefix`` and ``sys.exec_prefix``. Thus, you might think you'll never " +"use the prefix scheme, but every time you run ``python setup.py install`` " "without any other options, you're using it." msgstr "" "A propósito, a verdadeira razão pela qual o esquema prefixo é importante é " -"simplesmente que uma instalação Unix padrão usa o esquema prefixo, mas com :" -"option:`!--prefix` e :option:`!--exec-prefix` fornecidos pelo próprio Python " -"como ``sys.prefix`` e ``sys.exec_prefix``. Portanto, você pode pensar que " -"nunca usará o esquema prefixo, mas toda vez que executa ``python setup.py " -"install`` sem qualquer outra opção, você o está usando." +"simplesmente que uma instalação Unix padrão usa o esquema prefixo, mas " +"com :option:`!--prefix` e :option:`!--exec-prefix` fornecidos pelo próprio " +"Python como ``sys.prefix`` e ``sys.exec_prefix``. Portanto, você pode pensar " +"que nunca usará o esquema prefixo, mas toda vez que executa ``python " +"setup.py install`` sem qualquer outra opção, você o está usando." #: ../../install/index.rst:449 msgid "" @@ -915,9 +940,9 @@ msgstr "Instalação alternativa: Windows (o esquema prefixo)" #: ../../install/index.rst:466 msgid "" "Windows has no concept of a user's home directory, and since the standard " -"Python installation under Windows is simpler than under Unix, the :option:" -"`!--prefix` option has traditionally been used to install additional " -"packages in separate locations on Windows. ::" +"Python installation under Windows is simpler than under Unix, " +"the :option:`!--prefix` option has traditionally been used to install " +"additional packages in separate locations on Windows. ::" msgstr "" "O Windows não tem o conceito de diretório pessoal do usuário e, como a " "instalação padrão do Python no Windows é mais simples do que no Unix, a " @@ -934,15 +959,15 @@ msgstr "" #: ../../install/index.rst:475 msgid "" -"The installation base is defined by the :option:`!--prefix` option; the :" -"option:`!--exec-prefix` option is not supported under Windows, which means " -"that pure Python modules and extension modules are installed into the same " -"location. Files are installed as follows:" +"The installation base is defined by the :option:`!--prefix` option; " +"the :option:`!--exec-prefix` option is not supported under Windows, which " +"means that pure Python modules and extension modules are installed into the " +"same location. Files are installed as follows:" msgstr "" -"A base de instalação é definida pela opção :option:`!--prefix`; a opção :" -"option:`!--exec-prefix` não é suportada no Windows, o que significa que " -"módulos Python puros e módulos de extensão são instalados no mesmo local. Os " -"arquivos são instalados da seguinte forma:" +"A base de instalação é definida pela opção :option:`!--prefix`; a " +"opção :option:`!--exec-prefix` não é suportada no Windows, o que significa " +"que módulos Python puros e módulos de extensão são instalados no mesmo " +"local. Os arquivos são instalados da seguinte forma:" #: ../../install/index.rst:484 msgid ":file:`{prefix}\\\\Scripts`" @@ -958,18 +983,18 @@ msgstr "Instalação personalizada" #: ../../install/index.rst:495 msgid "" -"Sometimes, the alternate installation schemes described in section :ref:" -"`inst-alt-install` just don't do what you want. You might want to tweak " -"just one or two directories while keeping everything under the same base " -"directory, or you might want to completely redefine the installation " +"Sometimes, the alternate installation schemes described in " +"section :ref:`inst-alt-install` just don't do what you want. You might want " +"to tweak just one or two directories while keeping everything under the same " +"base directory, or you might want to completely redefine the installation " "scheme. In either case, you're creating a *custom installation scheme*." msgstr "" -"Às vezes, os esquemas de instalação alternativos descritos na seção :ref:" -"`inst-alt-install` simplesmente não fazem o que você quer. Você pode querer " -"ajustar apenas um ou dois diretórios enquanto mantém tudo sob o mesmo " -"diretório base, ou você pode querer redefinir completamente o esquema de " -"instalação. Em ambos os casos, você está criando um *esquema de instalação " -"personalizada*." +"Às vezes, os esquemas de instalação alternativos descritos na " +"seção :ref:`inst-alt-install` simplesmente não fazem o que você quer. Você " +"pode querer ajustar apenas um ou dois diretórios enquanto mantém tudo sob o " +"mesmo diretório base, ou você pode querer redefinir completamente o esquema " +"de instalação. Em ambos os casos, você está criando um *esquema de " +"instalação personalizada*." #: ../../install/index.rst:501 msgid "" @@ -1044,11 +1069,12 @@ msgid "" "case)::" msgstr "" "Por exemplo, digamos que você esteja instalando uma distribuição de módulo " -"em seu diretório pessoal no Unix -- mas deseja que os scripts estejam em :" -"file:`~/scripts` em vez de :file:`~/bin`. Como você pode esperar, você pode " -"substituir este diretório com a opção :option:`!--install-scripts`; neste " -"caso, faz mais sentido fornecer um caminho relativo, que será interpretado " -"em relação ao diretório base da instalação (seu diretório home, neste caso):" +"em seu diretório pessoal no Unix -- mas deseja que os scripts estejam " +"em :file:`~/scripts` em vez de :file:`~/bin`. Como você pode esperar, você " +"pode substituir este diretório com a opção :option:`!--install-scripts`; " +"neste caso, faz mais sentido fornecer um caminho relativo, que será " +"interpretado em relação ao diretório base da instalação (seu diretório home, " +"neste caso):" #: ../../install/index.rst:534 msgid "" @@ -1077,18 +1103,18 @@ msgstr "" #: ../../install/index.rst:546 msgid "" "If you maintain Python on Windows, you might want third-party modules to " -"live in a subdirectory of :file:`{prefix}`, rather than right in :file:" -"`{prefix}` itself. This is almost as easy as customizing the script " -"installation directory---you just have to remember that there are two types " -"of modules to worry about, Python and extension modules, which can " +"live in a subdirectory of :file:`{prefix}`, rather than right " +"in :file:`{prefix}` itself. This is almost as easy as customizing the " +"script installation directory---you just have to remember that there are two " +"types of modules to worry about, Python and extension modules, which can " "conveniently be both controlled by one option::" msgstr "" "Se você mantém o Python no Windows, pode querer que os módulos de terceiros " -"fiquem em um subdiretório de :file:`{prefix}`, ao invés do próprio :file:" -"`{prefix}`. Isso é quase tão fácil quanto personalizar o diretório de " -"instalação do script -- você apenas tem que lembrar que há dois tipos de " -"módulos com os quais se preocupar, Python e módulos de extensão, que podem " -"ser convenientemente controlados por uma opção::" +"fiquem em um subdiretório de :file:`{prefix}`, ao invés do " +"próprio :file:`{prefix}`. Isso é quase tão fácil quanto personalizar o " +"diretório de instalação do script -- você apenas tem que lembrar que há dois " +"tipos de módulos com os quais se preocupar, Python e módulos de extensão, " +"que podem ser convenientemente controlados por uma opção::" #: ../../install/index.rst:555 msgid "" @@ -1100,9 +1126,10 @@ msgid "" msgstr "" "O diretório de instalação especificado é relativo a :file:`{prefix}`. " "Obviamente, você também deve garantir que esse diretório esteja no caminho " -"de pesquisa do módulo do Python, por exemplo, colocando um arquivo :file:`." -"pth` em um diretório de site (consulte :mod:`site`). Veja a seção :ref:`inst-" -"search-path` para descobrir como modificar o caminho de pesquisa do Python." +"de pesquisa do módulo do Python, por exemplo, colocando um " +"arquivo :file:`.pth` em um diretório de site (consulte :mod:`site`). Veja a " +"seção :ref:`inst-search-path` para descobrir como modificar o caminho de " +"pesquisa do Python." #: ../../install/index.rst:561 msgid "" @@ -1165,9 +1192,9 @@ msgid "" "to :file:`/tmp/lib` in the second case. (For the second case, you probably " "want to supply an installation base of :file:`/tmp/python`.)" msgstr "" -"instalaria módulos puros em :file:`/tmp/python/lib` no primeiro caso e em :" -"file:`/tmp/lib` no segundo caso. (Para o segundo caso, você provavelmente " -"deseja fornecer uma base de instalação de :file:`/tmp/python`.)" +"instalaria módulos puros em :file:`/tmp/python/lib` no primeiro caso e " +"em :file:`/tmp/lib` no segundo caso. (Para o segundo caso, você " +"provavelmente deseja fornecer uma base de instalação de :file:`/tmp/python`.)" #: ../../install/index.rst:619 msgid "" @@ -1233,18 +1260,18 @@ msgid "" "The expected convention for locally installed packages is to put them in " "the :file:`{...}/site-packages/` directory, but you may want to install " "Python modules into some arbitrary directory. For example, your site may " -"have a convention of keeping all software related to the web server under :" -"file:`/www`. Add-on Python modules might then belong in :file:`/www/python`, " -"and in order to import them, this directory must be added to ``sys.path``. " -"There are several different ways to add the directory." +"have a convention of keeping all software related to the web server " +"under :file:`/www`. Add-on Python modules might then belong in :file:`/www/" +"python`, and in order to import them, this directory must be added to " +"``sys.path``. There are several different ways to add the directory." msgstr "" "A convenção esperada para pacotes instalados localmente é colocá-los no " "diretório :file:`{...}/site-packages/`, mas você pode querer instalar " "módulos Python em algum diretório arbitrário. Por exemplo, seu site pode ter " "uma convenção de manter todos os softwares relacionados ao servidor da web " "em :file:`/www`. Módulos add-on Python podem então pertencer a :file:`/www/" -"python`, e para importá-los, este diretório deve ser adicionado a ``sys." -"path``. Existem várias maneiras de adicionar o diretório." +"python`, e para importá-los, este diretório deve ser adicionado a " +"``sys.path``. Existem várias maneiras de adicionar o diretório." #: ../../install/index.rst:672 msgid "" @@ -1268,8 +1295,8 @@ msgstr "" #: ../../install/index.rst:680 msgid "" "Paths can be absolute or relative, in which case they're relative to the " -"directory containing the :file:`.pth` file. See the documentation of the :" -"mod:`site` module for more information." +"directory containing the :file:`.pth` file. See the documentation of " +"the :mod:`site` module for more information." msgstr "" "Os caminhos podem ser absolutos ou relativos, nesse caso eles são relativos " "ao diretório que contém o arquivo :file:`.pth`. Veja a documentação do " @@ -1279,9 +1306,9 @@ msgstr "" msgid "" "A slightly less convenient way is to edit the :file:`site.py` file in " "Python's standard library, and modify ``sys.path``. :file:`site.py` is " -"automatically imported when the Python interpreter is executed, unless the :" -"option:`-S` switch is supplied to suppress this behaviour. So you could " -"simply edit :file:`site.py` and add two lines to it:" +"automatically imported when the Python interpreter is executed, unless " +"the :option:`-S` switch is supplied to suppress this behaviour. So you " +"could simply edit :file:`site.py` and add two lines to it:" msgstr "" "Uma maneira um pouco menos conveniente é editar o arquivo :file:`site.py` " "na biblioteca padrão do Python e modificar ``sys.path``. :file:`site.py` é " @@ -1292,45 +1319,42 @@ msgstr "" #: ../../install/index.rst:695 msgid "" -"However, if you reinstall the same major version of Python (perhaps when " +"However, if you reinstall the same minor version of Python (perhaps when " "upgrading from 2.2 to 2.2.2, for example) :file:`site.py` will be " "overwritten by the stock version. You'd have to remember that it was " "modified and save a copy before doing the installation." msgstr "" -"No entanto, se você reinstalar a mesma versão principal do Python (talvez ao " -"atualizar de 2.2 para 2.2.2, por exemplo) :file:`site.py` será substituído " -"pela versão padrão. Você teria que lembrar que ele foi modificado e salvar " -"uma cópia antes de fazer a instalação." #: ../../install/index.rst:700 msgid "" -"There are two environment variables that can modify ``sys.path``. :envvar:" -"`PYTHONHOME` sets an alternate value for the prefix of the Python " -"installation. For example, if :envvar:`PYTHONHOME` is set to ``/www/" -"python``, the search path will be set to ``['', '/www/python/lib/pythonX." -"Y/', '/www/python/lib/pythonX.Y/plat-linux2', ...]``." -msgstr "" -"Existem duas variáveis de ambiente que podem modificar ``sys.path``. :envvar:" -"`PYTHONHOME` define um valor alternativo para o prefixo da instalação do " -"Python. Por exemplo, se :envvar:`PYTHONHOME` estiver definida como ``/www/" -"python``, o caminho de pesquisa será definido como ``['', '/www/python/lib/" +"There are two environment variables that can modify " +"``sys.path``. :envvar:`PYTHONHOME` sets an alternate value for the prefix of " +"the Python installation. For example, if :envvar:`PYTHONHOME` is set to ``/" +"www/python``, the search path will be set to ``['', '/www/python/lib/" "pythonX.Y/', '/www/python/lib/pythonX.Y/plat-linux2', ...]``." +msgstr "" +"Existem duas variáveis de ambiente que podem modificar " +"``sys.path``. :envvar:`PYTHONHOME` define um valor alternativo para o " +"prefixo da instalação do Python. Por exemplo, se :envvar:`PYTHONHOME` " +"estiver definida como ``/www/python``, o caminho de pesquisa será definido " +"como ``['', '/www/python/lib/pythonX.Y/', '/www/python/lib/pythonX.Y/plat-" +"linux2', ...]``." #: ../../install/index.rst:706 msgid "" "The :envvar:`PYTHONPATH` variable can be set to a list of paths that will be " -"added to the beginning of ``sys.path``. For example, if :envvar:" -"`PYTHONPATH` is set to ``/www/python:/opt/py``, the search path will begin " -"with ``['/www/python', '/opt/py']``. (Note that directories must exist in " -"order to be added to ``sys.path``; the :mod:`site` module removes paths that " -"don't exist.)" +"added to the beginning of ``sys.path``. For example, " +"if :envvar:`PYTHONPATH` is set to ``/www/python:/opt/py``, the search path " +"will begin with ``['/www/python', '/opt/py']``. (Note that directories must " +"exist in order to be added to ``sys.path``; the :mod:`site` module removes " +"paths that don't exist.)" msgstr "" "A variável :envvar:`PYTHONPATH` pode ser definida como uma lista de caminhos " -"que serão adicionados ao início de ``sys.path``. Por exemplo, se :envvar:" -"`PYTHONPATH` estiver definida como ``/www/python:/opt/py``, o caminho de " -"pesquisa começará com ``['/www/python', '/opt/py']``. (Observe que os " -"diretórios devem existir para serem adicionados ao ``sys.path``; o módulo :" -"mod:`site` remove caminhos que não existem.)" +"que serão adicionados ao início de ``sys.path``. Por exemplo, " +"se :envvar:`PYTHONPATH` estiver definida como ``/www/python:/opt/py``, o " +"caminho de pesquisa começará com ``['/www/python', '/opt/py']``. (Observe " +"que os diretórios devem existir para serem adicionados ao ``sys.path``; o " +"módulo :mod:`site` remove caminhos que não existem.)" #: ../../install/index.rst:713 msgid "" @@ -1439,8 +1463,8 @@ msgstr "" msgid "" "Strictly speaking, the system-wide configuration file lives in the directory " "where the Distutils are installed; under Python 1.6 and later on Unix, this " -"is as shown. For Python 1.5.2, the Distutils will normally be installed to :" -"file:`{prefix}/lib/python1.5/site-packages/distutils`, so the system " +"is as shown. For Python 1.5.2, the Distutils will normally be installed " +"to :file:`{prefix}/lib/python1.5/site-packages/distutils`, so the system " "configuration file should be put there under Python 1.5.2." msgstr "" "Estritamente falando, o arquivo de configuração de todo o sistema reside no " @@ -1452,14 +1476,10 @@ msgstr "" #: ../../install/index.rst:776 msgid "" "On Unix, if the :envvar:`HOME` environment variable is not defined, the " -"user's home directory will be determined with the :func:`getpwuid` function " -"from the standard :mod:`pwd` module. This is done by the :func:`os.path." -"expanduser` function used by Distutils." +"user's home directory will be determined with the :func:`~pwd.getpwuid` " +"function from the standard :mod:`pwd` module. This is done by " +"the :func:`os.path.expanduser` function used by Distutils." msgstr "" -"No Unix, se a variável de ambiente :envvar:`HOME` não estiver definida, o " -"diretório home do usuário será determinado com a função :func:`getpwuid` do " -"módulo padrão :mod:`pwd`. Isso é feito pela função :func:`os.path." -"expanduser` usada pelo Distutils." #: ../../install/index.rst:782 msgid "" @@ -1482,23 +1502,23 @@ msgstr "" "(Consulte também a nota (1).) No Python 1.6 e posterior, o \"prefixo de " "instalação\" padrão do Python é :file:`C:\\\\Python`, então o arquivo de " "configuração do sistema é normalmente :file:`C:\\\\Python\\\\Lib\\" -"\\distutils\\\\distutils.cfg`. No Python 1.5.2, o prefixo padrão era :file:" -"`C:\\\\Arquivos de programas\\\\Python`, e os Distutils não faziam parte da " -"biblioteca padrão -- de forma que o arquivo de configuração do sistema " -"seria :file:`C:\\\\Arquivos de programas\\\\Python\\\\distutils\\\\distutils." -"cfg` em uma instalação padrão do Python 1.5.2 no Windows." +"\\distutils\\\\distutils.cfg`. No Python 1.5.2, o prefixo padrão " +"era :file:`C:\\\\Arquivos de programas\\\\Python`, e os Distutils não faziam " +"parte da biblioteca padrão -- de forma que o arquivo de configuração do " +"sistema seria :file:`C:\\\\Arquivos de programas\\\\Python\\\\distutils\\" +"\\distutils.cfg` em uma instalação padrão do Python 1.5.2 no Windows." #: ../../install/index.rst:794 msgid "" -"On Windows, if the :envvar:`HOME` environment variable is not defined, :" -"envvar:`USERPROFILE` then :envvar:`HOMEDRIVE` and :envvar:`HOMEPATH` will be " -"tried. This is done by the :func:`os.path.expanduser` function used by " -"Distutils." +"On Windows, if the :envvar:`HOME` environment variable is not " +"defined, :envvar:`USERPROFILE` then :envvar:`HOMEDRIVE` " +"and :envvar:`HOMEPATH` will be tried. This is done by " +"the :func:`os.path.expanduser` function used by Distutils." msgstr "" -"No Windows, Se a variável de ambiente :envvar:`HOME` não estiver definida, :" -"envvar:`USERPROFILE`, então :envvar:`HOMEDRIVE` e, por fim, :envvar:" -"`HOMEPATH` serão tentados. Isso é feito pela função :func:`os.path." -"expanduser` usada pelo Distutils." +"No Windows, Se a variável de ambiente :envvar:`HOME` não estiver " +"definida, :envvar:`USERPROFILE`, então :envvar:`HOMEDRIVE` e, por " +"fim, :envvar:`HOMEPATH` serão tentados. Isso é feito pela " +"função :func:`os.path.expanduser` usada pelo Distutils." #: ../../install/index.rst:803 msgid "Syntax of config files" @@ -1531,8 +1551,8 @@ msgstr "" #: ../../install/index.rst:825 msgid "" -"You could override the default \"build base\" directory and make the :" -"command:`build\\*` commands always forcibly rebuild all files with the " +"You could override the default \"build base\" directory and make " +"the :command:`build\\*` commands always forcibly rebuild all files with the " "following:" msgstr "" @@ -1551,14 +1571,14 @@ msgstr "" #: ../../install/index.rst:845 msgid "" -"You can find out the complete list of options for any command using the :" -"option:`!--help` option, e.g.::" +"You can find out the complete list of options for any command using " +"the :option:`!--help` option, e.g.::" msgstr "" #: ../../install/index.rst:850 msgid "" -"and you can find out the complete list of global options by using :option:" -"`!--help` without a command::" +"and you can find out the complete list of global options by " +"using :option:`!--help` without a command::" msgstr "" #: ../../install/index.rst:855 @@ -1666,11 +1686,11 @@ msgstr "" msgid "" "The next option after :option:`!-Xcompiler` and :option:`!-Xlinker` will be " "appended to the proper command line, so in the above example the compiler " -"will be passed the :option:`!-o32` option, and the linker will be passed :" -"option:`!-shared`. If a compiler option requires an argument, you'll have " -"to supply multiple :option:`!-Xcompiler` options; for example, to pass ``-x " -"c++`` the :file:`Setup` file would have to contain ``-Xcompiler -x -" -"Xcompiler c++``." +"will be passed the :option:`!-o32` option, and the linker will be " +"passed :option:`!-shared`. If a compiler option requires an argument, " +"you'll have to supply multiple :option:`!-Xcompiler` options; for example, " +"to pass ``-x c++`` the :file:`Setup` file would have to contain ``-Xcompiler " +"-x -Xcompiler c++``." msgstr "" #: ../../install/index.rst:936 @@ -1695,14 +1715,15 @@ msgid "" "object file format (OMF) is different from the format used by the Python " "version you can download from the Python or ActiveState web site. (Python " "is built with Microsoft Visual C++, which uses COFF as the object file " -"format.) For this reason you have to convert Python's library :file:" -"`python25.lib` into the Borland format. You can do this as follows:" +"format.) For this reason you have to convert Python's " +"library :file:`python25.lib` into the Borland format. You can do this as " +"follows:" msgstr "" #: ../../install/index.rst:968 msgid "" -"The :file:`coff2omf` program comes with the Borland compiler. The file :" -"file:`python25.lib` is in the :file:`Libs` directory of your Python " +"The :file:`coff2omf` program comes with the Borland compiler. The " +"file :file:`python25.lib` is in the :file:`Libs` directory of your Python " "installation. If your extension uses other libraries (zlib, ...) you have " "to convert them too." msgstr "" @@ -1747,8 +1768,8 @@ msgstr "" #: ../../install/index.rst:998 msgid "" -"`Creating Python Extensions Using Borland's Free Compiler `_" +"`Creating Python Extensions Using Borland's Free Compiler `_" msgstr "" #: ../../install/index.rst:998 @@ -1827,9 +1848,9 @@ msgstr "" #: ../../install/index.rst:1054 msgid "" -"The resulting library has to be placed in the same directory as :file:" -"`python25.lib`. (Should be the :file:`libs` directory under your Python " -"installation directory.)" +"The resulting library has to be placed in the same directory " +"as :file:`python25.lib`. (Should be the :file:`libs` directory under your " +"Python installation directory.)" msgstr "" #: ../../install/index.rst:1058 @@ -1841,8 +1862,8 @@ msgstr "" #: ../../install/index.rst:1065 msgid "" -"`Building Python modules on MS Windows platform with MinGW `_" +"`Building Python modules on MS Windows platform with MinGW `_" msgstr "" #: ../../install/index.rst:1066 @@ -1866,6 +1887,6 @@ msgstr "" #: ../../install/index.rst:1076 msgid "" -"Then you have no POSIX emulation available, but you also don't need :file:" -"`cygwin1.dll`." +"Then you have no POSIX emulation available, but you also don't " +"need :file:`cygwin1.dll`." msgstr "" diff --git a/installing/index.po b/installing/index.po index 9579c914b..8463feb40 100644 --- a/installing/index.po +++ b/installing/index.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# Ruan Aragão , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -63,14 +61,14 @@ msgstr "" #: ../../installing/index.rst:20 msgid "" "This guide covers the installation part of the process. For a guide to " -"creating and sharing your own Python projects, refer to the :ref:" -"`distribution guide `." +"creating and sharing your own Python projects, refer to the `Python " +"packaging user guide`_." msgstr "" "Este guia cobre a parte do processo de instalação. Para um guia sobre criar " -"e compartilhar seus próprios projetos Python, refira-se à :ref:`guia de " -"distribuição `." +"e compartilhar seus próprios projetos Python, confira o `Guia de Usuário " +"para Empacotamento de Python`_." -#: ../../installing/index.rst:26 +#: ../../installing/index.rst:28 msgid "" "For corporate and other institutional users, be aware that many " "organisations have their own policies around using and contributing to open " @@ -82,11 +80,11 @@ msgstr "" "para o software de código aberto. Por favor, leve em conta essas políticas " "ao usar as ferramentas de distribuição e instalação fornecidas com o Python." -#: ../../installing/index.rst:33 +#: ../../installing/index.rst:35 msgid "Key terms" msgstr "Termos chave" -#: ../../installing/index.rst:35 +#: ../../installing/index.rst:37 msgid "" "``pip`` is the preferred installer program. Starting with Python 3.4, it is " "included by default with the Python binary installers." @@ -94,7 +92,7 @@ msgstr "" "``pip`` é o programa de instalação preferido. A partir do Python 3.4, ele é " "incluído por padrão com os instaladores binários do Python." -#: ../../installing/index.rst:37 +#: ../../installing/index.rst:39 msgid "" "A *virtual environment* is a semi-isolated Python environment that allows " "packages to be installed for use by a particular application, rather than " @@ -104,7 +102,7 @@ msgstr "" "pacotes sejam instalados para uso por uma aplicação específica, em vez de " "serem instaladas em todo o sistema." -#: ../../installing/index.rst:40 +#: ../../installing/index.rst:42 msgid "" "``venv`` is the standard tool for creating virtual environments, and has " "been part of Python since Python 3.3. Starting with Python 3.4, it defaults " @@ -114,7 +112,7 @@ msgstr "" "Python desde o Python 3.3. A partir do Python 3.4, o padrão é instalar " "``pip`` em todos os ambientes virtuais criados." -#: ../../installing/index.rst:43 +#: ../../installing/index.rst:45 msgid "" "``virtualenv`` is a third party alternative (and predecessor) to ``venv``. " "It allows virtual environments to be used on versions of Python prior to " @@ -126,7 +124,7 @@ msgstr "" "anteriores a 3.4, que não fornecem ``venv`` de forma alguma, ou não são " "capazes de instalar automaticamente o ``pip`` nos ambientes criados." -#: ../../installing/index.rst:47 +#: ../../installing/index.rst:49 msgid "" "The `Python Package Index `__ is a public repository of " "open source licensed packages made available for use by other Python users." @@ -135,7 +133,7 @@ msgstr "" "pacotes licenciados como código aberto e disponíveis para uso de outros " "usuários Python" -#: ../../installing/index.rst:50 +#: ../../installing/index.rst:52 msgid "" "the `Python Packaging Authority `__ is the group of " "developers and documentation authors responsible for the maintenance and " @@ -151,7 +149,7 @@ msgstr "" "documentação e rastreadores de problemas no `GitHub `__ e no `Bitbucket `__." -#: ../../installing/index.rst:57 +#: ../../installing/index.rst:59 msgid "" "``distutils`` is the original build and distribution system first added to " "the Python standard library in 1998. While direct use of ``distutils`` is " @@ -168,25 +166,26 @@ msgstr "" "da lista de e-mails usada para coordenar o desenvolvimento de padrões de " "empacotamento Python)." -#: ../../installing/index.rst:65 +#: ../../installing/index.rst:67 msgid "" "The use of ``venv`` is now recommended for creating virtual environments." msgstr "" "O uso de ``venv`` agora é recomendado para a criação de ambientes virtuais." -#: ../../installing/index.rst:70 +#: ../../installing/index.rst:72 msgid "" "`Python Packaging User Guide: Creating and using virtual environments " "`__" msgstr "" -"`Python Packaging User Guide: Creating and using virtual environments " -"`__" +"`Guia de Usuário para Empacotamento de Python: Criando e usando ambientes " +"virtuais `__" -#: ../../installing/index.rst:75 +#: ../../installing/index.rst:77 msgid "Basic usage" msgstr "Uso básico" -#: ../../installing/index.rst:77 +#: ../../installing/index.rst:79 msgid "" "The standard packaging tools are all designed to be used from the command " "line." @@ -194,7 +193,7 @@ msgstr "" "As ferramentas de empacotamento padrão são todas projetadas para serem " "usadas na linha de comando." -#: ../../installing/index.rst:80 +#: ../../installing/index.rst:82 msgid "" "The following command will install the latest version of a module and its " "dependencies from the Python Package Index::" @@ -202,7 +201,7 @@ msgstr "" "O comando a seguir instalará a versão mais recente de um módulo e suas " "dependências do Python Package Index::" -#: ../../installing/index.rst:87 +#: ../../installing/index.rst:89 msgid "" "For POSIX users (including macOS and Linux users), the examples in this " "guide assume the use of a :term:`virtual environment`." @@ -210,7 +209,7 @@ msgstr "" "Para usuários POSIX (incluindo usuários macOS e Linux), os exemplos neste " "guia presumem o uso de um :term:`ambiente virtual`." -#: ../../installing/index.rst:90 +#: ../../installing/index.rst:92 msgid "" "For Windows users, the examples in this guide assume that the option to " "adjust the system PATH environment variable was selected when installing " @@ -220,7 +219,7 @@ msgstr "" "ajustar a variável de ambiente PATH do sistema foi selecionada durante a " "instalação do Python." -#: ../../installing/index.rst:94 +#: ../../installing/index.rst:96 msgid "" "It's also possible to specify an exact or minimum version directly on the " "command line. When using comparator operators such as ``>``, ``<`` or some " @@ -232,7 +231,7 @@ msgstr "" "algum outro caractere especial que é interpretado pelo shell, o nome do " "pacote e a versão devem ser colocados entre aspas duplas::" -#: ../../installing/index.rst:102 +#: ../../installing/index.rst:104 msgid "" "Normally, if a suitable module is already installed, attempting to install " "it again will have no effect. Upgrading existing modules must be requested " @@ -242,16 +241,16 @@ msgstr "" "novamente não terá efeito. A atualização de módulos existentes deve ser " "solicitada explicitamente::" -#: ../../installing/index.rst:108 +#: ../../installing/index.rst:110 msgid "" "More information and resources regarding ``pip`` and its capabilities can be " "found in the `Python Packaging User Guide `__." msgstr "" "Mais informações e recursos sobre o ``pip`` e seus recursos podem ser " -"encontrados no `Python Packaging User Guide `__." +"encontrados no `Python Packaging User Guide `__." -#: ../../installing/index.rst:111 +#: ../../installing/index.rst:113 msgid "" "Creation of virtual environments is done through the :mod:`venv` module. " "Installing packages into an active virtual environment uses the commands " @@ -261,27 +260,28 @@ msgstr "" "instalação de pacotes em um ambiente virtual ativo usa os comandos mostrados " "acima." -#: ../../installing/index.rst:117 +#: ../../installing/index.rst:119 msgid "" "`Python Packaging User Guide: Installing Python Distribution Packages " "`__" msgstr "" -"`Python Packaging User Guide: Installing Python Distribution Packages " -"`__" +"`Guia de Usuário para Empacotamento de Python: Instalando pacotes Python de " +"distribuição `__" -#: ../../installing/index.rst:122 +#: ../../installing/index.rst:124 msgid "How do I ...?" msgstr "Como eu ...?" -#: ../../installing/index.rst:124 +#: ../../installing/index.rst:126 msgid "These are quick answers or links for some common tasks." msgstr "Estas são respostas rápidas ou links para algumas tarefas comuns." -#: ../../installing/index.rst:127 +#: ../../installing/index.rst:129 msgid "... install ``pip`` in versions of Python prior to Python 3.4?" msgstr "... instalo ``pip`` em versões do Python anteriores ao Python 3.4?" -#: ../../installing/index.rst:129 +#: ../../installing/index.rst:131 msgid "" "Python only started bundling ``pip`` with Python 3.4. For earlier versions, " "``pip`` needs to be \"bootstrapped\" as described in the Python Packaging " @@ -291,19 +291,20 @@ msgstr "" "anteriores, o ``pip`` precisa ser \"inicializado\" conforme descrito no " "Python Packaging User Guide." -#: ../../installing/index.rst:135 +#: ../../installing/index.rst:137 msgid "" "`Python Packaging User Guide: Requirements for Installing Packages `__" msgstr "" -"`Python Packaging User Guide: Requirements for Installing Packages `__" +"`Python Packaging User Guide: Requisitos para instalar pacotes `__" -#: ../../installing/index.rst:142 +#: ../../installing/index.rst:144 msgid "... install packages just for the current user?" msgstr "... instalo pacotes apenas para o usuário atual?" -#: ../../installing/index.rst:144 +#: ../../installing/index.rst:146 msgid "" "Passing the ``--user`` option to ``python -m pip install`` will install a " "package just for the current user, rather than for all users of the system." @@ -312,11 +313,11 @@ msgstr "" "pacote apenas para o usuário atual, ao invés de para todos os usuários do " "sistema." -#: ../../installing/index.rst:149 +#: ../../installing/index.rst:151 msgid "... install scientific Python packages?" msgstr "... instalo pacotes científicos do Python?" -#: ../../installing/index.rst:151 +#: ../../installing/index.rst:153 msgid "" "A number of scientific Python packages have complex binary dependencies, and " "aren't currently easy to install using ``pip`` directly. At this point in " @@ -330,19 +331,20 @@ msgstr "" "pacotes por `outros meios `__ ao " "invés de tentar instalá-los com ``pip``." -#: ../../installing/index.rst:159 +#: ../../installing/index.rst:161 msgid "" "`Python Packaging User Guide: Installing Scientific Packages `__" msgstr "" -"`Python Packaging User Guide: Installing Scientific Packages `__" +"`Guia de Usuário para Empacotamento de Python: Instalando pacotes " +"científicos `__" -#: ../../installing/index.rst:164 +#: ../../installing/index.rst:166 msgid "... work with multiple versions of Python installed in parallel?" msgstr "... trabalho com várias versões do Python instaladas em paralelo?" -#: ../../installing/index.rst:166 +#: ../../installing/index.rst:168 msgid "" "On Linux, macOS, and other POSIX systems, use the versioned Python commands " "in combination with the ``-m`` switch to run the appropriate copy of " @@ -352,26 +354,26 @@ msgstr "" "em combinação com a opção ``-m`` para executar a cópia apropriada de " "``pip`` ::" -#: ../../installing/index.rst:175 +#: ../../installing/index.rst:177 msgid "Appropriately versioned ``pip`` commands may also be available." msgstr "Comandos ``pip`` com versão apropriada também podem estar disponíveis." -#: ../../installing/index.rst:177 +#: ../../installing/index.rst:179 msgid "" "On Windows, use the ``py`` Python launcher in combination with the ``-m`` " "switch::" msgstr "" "No Windows, use o iniciador Python ``py`` em combinação com a opção ``-m``::" -#: ../../installing/index.rst:194 +#: ../../installing/index.rst:196 msgid "Common installation issues" msgstr "Problemas comuns de instalação" -#: ../../installing/index.rst:197 +#: ../../installing/index.rst:199 msgid "Installing into the system Python on Linux" msgstr "Instalando no sistema Python no Linux" -#: ../../installing/index.rst:199 +#: ../../installing/index.rst:201 msgid "" "On Linux systems, a Python installation will typically be included as part " "of the distribution. Installing into this Python installation requires root " @@ -385,7 +387,7 @@ msgstr "" "sistema e outros componentes do sistema se um componente for atualizado " "inesperadamente usando ``pip``." -#: ../../installing/index.rst:205 +#: ../../installing/index.rst:207 msgid "" "On such systems, it is often better to use a virtual environment or a per-" "user installation when installing packages with ``pip``." @@ -393,11 +395,11 @@ msgstr "" "Em tais sistemas, geralmente é melhor usar um ambiente virtual ou uma " "instalação por usuário ao instalar pacotes com ``pip``." -#: ../../installing/index.rst:210 +#: ../../installing/index.rst:212 msgid "Pip not installed" msgstr "Pip não instalado" -#: ../../installing/index.rst:212 +#: ../../installing/index.rst:214 msgid "" "It is possible that ``pip`` does not get installed by default. One potential " "fix is::" @@ -405,21 +407,21 @@ msgstr "" "É possível que o ``pip`` não seja instalado por padrão. Uma solução " "potencial é::" -#: ../../installing/index.rst:216 +#: ../../installing/index.rst:218 msgid "" -"There are also additional resources for `installing pip. `__" +"There are also additional resources for `installing pip. `__" msgstr "" -"Existem também recursos adicionais para `instalar pip. `__" +"Existem também recursos adicionais para `instalar pip. `__" -#: ../../installing/index.rst:221 +#: ../../installing/index.rst:223 msgid "Installing binary extensions" msgstr "Instalando extensões binárias" -#: ../../installing/index.rst:223 +#: ../../installing/index.rst:225 msgid "" "Python has typically relied heavily on source based distribution, with end " "users being expected to compile extension modules from source as part of the " @@ -429,7 +431,7 @@ msgstr "" "com os usuários finais sendo esperados para compilar os módulos de extensão " "da fonte como parte do processo de instalação." -#: ../../installing/index.rst:227 +#: ../../installing/index.rst:229 msgid "" "With the introduction of support for the binary ``wheel`` format, and the " "ability to publish wheels for at least Windows and macOS through the Python " @@ -443,22 +445,22 @@ msgstr "" "usuários são mais capazes para instalar extensões pré-construídas em vez de " "precisar construí-las eles próprios." -#: ../../installing/index.rst:233 +#: ../../installing/index.rst:235 msgid "" -"Some of the solutions for installing `scientific software `__ that are not yet available as pre-built ``wheel`` " -"files may also help with obtaining other binary extensions without needing " -"to build them locally." +"Some of the solutions for installing `scientific software `__ that are not yet available as pre-built " +"``wheel`` files may also help with obtaining other binary extensions without " +"needing to build them locally." msgstr "" -"Algumas das soluções para instalar `softwares científicos `__ que ainda não estão disponíveis como arquivos " -"``wheel`` pré-construídos também podem ajudar a obter outras extensões " -"binárias sem a necessidade para construí-los localmente." +"Algumas das soluções para instalar `softwares científicos `__ que ainda não estão disponíveis como " +"arquivos ``wheel`` pré-construídos também podem ajudar a obter outras " +"extensões binárias sem a necessidade para construí-los localmente." -#: ../../installing/index.rst:240 +#: ../../installing/index.rst:242 msgid "" -"`Python Packaging User Guide: Binary Extensions `__" +"`Python Packaging User Guide: Binary Extensions `__" msgstr "" -"`Python Packaging User Guide: Binary Extensions `__" +"`Guia de Usuário para Empacotamento de Python: Extensões binárias `__" diff --git a/library/2to3.po b/library/2to3.po index 56f923e9c..9f555289b 100644 --- a/library/2to3.po +++ b/library/2to3.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Octavio von Sydow , 2021 -# Loyanne Cristine , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -119,11 +115,11 @@ msgstr "" #: ../../library/2to3.rst:64 msgid "" -"By default, 2to3 runs a set of :ref:`predefined fixers <2to3-fixers>`. The :" -"option:`!-l` flag lists all available fixers. An explicit set of fixers to " -"run can be given with :option:`!-f`. Likewise the :option:`!-x` explicitly " -"disables a fixer. The following example runs only the ``imports`` and " -"``has_key`` fixers:" +"By default, 2to3 runs a set of :ref:`predefined fixers <2to3-fixers>`. " +"The :option:`!-l` flag lists all available fixers. An explicit set of " +"fixers to run can be given with :option:`!-f`. Likewise the :option:`!-x` " +"explicitly disables a fixer. The following example runs only the " +"``imports`` and ``has_key`` fixers:" msgstr "" "Por padrão, 2to3 executa um conjunto de :ref:`fixadores predefinidos <2to3-" "fixers>`. O sinalizador :option:`!-l` lista todos os fixadores disponíveis. " @@ -189,28 +185,29 @@ msgid "" "Since some print statements can be parsed as function calls or statements, " "2to3 cannot always read files containing the print function. When 2to3 " "detects the presence of the ``from __future__ import print_function`` " -"compiler directive, it modifies its internal grammar to interpret :func:" -"`print` as a function. This change can also be enabled manually with the :" -"option:`!-p` flag. Use :option:`!-p` to run fixers on code that already has " -"had its print statements converted. Also :option:`!-e` can be used to make :" -"func:`exec` a function." +"compiler directive, it modifies its internal grammar to " +"interpret :func:`print` as a function. This change can also be enabled " +"manually with the :option:`!-p` flag. Use :option:`!-p` to run fixers on " +"code that already has had its print statements converted. Also :option:`!-e` " +"can be used to make :func:`exec` a function." msgstr "" "Uma vez que algumas instruções de impressão podem ser analisadas como " "chamadas de função ou instruções, 2to3 nem sempre pode ler arquivos que " "contêm a função de impressão. Quando 2to3 detecta a presença da diretiva de " "compilação ``from __future__ import print_function``, ele modifica sua " "gramática interna para interpretar funções :func:`print` como uma função. " -"Esta alteração também pode ser ativada manualmente com o sinalizador :option:" -"`!-p`. Use o sinalizador :option:`!-p` para executar fixadores no código que " -"já tiveram suas instruções impressas convertidas. Além disso, :option:`!-e` " -"pode ser usado para aplicar :func:`exec` em uma função." +"Esta alteração também pode ser ativada manualmente com o " +"sinalizador :option:`!-p`. Use o sinalizador :option:`!-p` para executar " +"fixadores no código que já tiveram suas instruções impressas convertidas. " +"Além disso, :option:`!-e` pode ser usado para aplicar :func:`exec` em uma " +"função." #: ../../library/2to3.rst:110 msgid "" "The :option:`!-o` or :option:`!--output-dir` option allows specification of " -"an alternate directory for processed output files to be written to. The :" -"option:`!-n` flag is required when using this as backup files do not make " -"sense when not overwriting the input files." +"an alternate directory for processed output files to be written to. " +"The :option:`!-n` flag is required when using this as backup files do not " +"make sense when not overwriting the input files." msgstr "" "A opção :option:`!-o` ou :option:`!--output-dir` permite especificar um " "diretório alternativo para a escrita dos arquivos de saída processados. O " @@ -395,22 +392,23 @@ msgstr "" #: ../../library/2to3.rst:207 msgid "" -"Fixes dictionary iteration methods. :meth:`dict.iteritems` is converted to :" -"meth:`dict.items`, :meth:`dict.iterkeys` to :meth:`dict.keys`, and :meth:" -"`dict.itervalues` to :meth:`dict.values`. Similarly, :meth:`dict." -"viewitems`, :meth:`dict.viewkeys` and :meth:`dict.viewvalues` are converted " -"respectively to :meth:`dict.items`, :meth:`dict.keys` and :meth:`dict." -"values`. It also wraps existing usages of :meth:`dict.items`, :meth:`dict." -"keys`, and :meth:`dict.values` in a call to :class:`list`." +"Fixes dictionary iteration methods. :meth:`dict.iteritems` is converted " +"to :meth:`dict.items`, :meth:`dict.iterkeys` to :meth:`dict.keys`, " +"and :meth:`dict.itervalues` to :meth:`dict.values`. " +"Similarly, :meth:`dict.viewitems`, :meth:`dict.viewkeys` " +"and :meth:`dict.viewvalues` are converted respectively " +"to :meth:`dict.items`, :meth:`dict.keys` and :meth:`dict.values`. It also " +"wraps existing usages of :meth:`dict.items`, :meth:`dict.keys`, " +"and :meth:`dict.values` in a call to :class:`list`." msgstr "" "Corrige os métodos de iteração de dicionário. :meth:`dict.iteritems` é " -"convertido para :meth:`dict.items`, :meth:`dict.iterkeys` para :meth:`dict." -"keys`, e :meth:`dict.itervalues` para :meth:`dict.values`. Similarmente " -"temos o método, :meth:`dict.viewitems`, :meth:`dict.viewkeys` e :meth:`dict." -"viewvalues` que são convertidos respectivamente para :meth:`dict.items`, :" -"meth:`dict.keys` e :meth:`dict.values`. Também encapsula os usos existentes " -"de :meth:`dict.items`, :meth:`dict.keys`, e :meth:`dict.values` em uma " -"chamada para :class:`list`." +"convertido para :meth:`dict.items`, :meth:`dict.iterkeys` " +"para :meth:`dict.keys`, e :meth:`dict.itervalues` para :meth:`dict.values`. " +"Similarmente temos o método, :meth:`dict.viewitems`, :meth:`dict.viewkeys` " +"e :meth:`dict.viewvalues` que são convertidos respectivamente " +"para :meth:`dict.items`, :meth:`dict.keys` e :meth:`dict.values`. Também " +"encapsula os usos existentes de :meth:`dict.items`, :meth:`dict.keys`, " +"e :meth:`dict.values` em uma chamada para :class:`list`." #: ../../library/2to3.rst:217 msgid "Converts ``except X, T`` to ``except X as T``." @@ -433,14 +431,14 @@ msgid "" "Changes assignment of :attr:`sys.exitfunc` to use of the :mod:`atexit` " "module." msgstr "" -"Mudança de declaração de :attr:`sys.exitfunc` para usar o módulo :mod:" -"`atexit`." +"Mudança de declaração de :attr:`sys.exitfunc` para usar o " +"módulo :mod:`atexit`." #: ../../library/2to3.rst:235 msgid "Wraps :func:`filter` usage in a :class:`list` call." msgstr "" -"Encapsula a função :func:`filter` usando uma chamada para a classe :class:" -"`list`." +"Encapsula a função :func:`filter` usando uma chamada para a " +"classe :class:`list`." #: ../../library/2to3.rst:239 msgid "" @@ -467,14 +465,14 @@ msgid "" "This optional fixer performs several transformations that make Python code " "more idiomatic. Type comparisons like ``type(x) is SomeClass`` and " "``type(x) == SomeClass`` are converted to ``isinstance(x, SomeClass)``. " -"``while 1`` becomes ``while True``. This fixer also tries to make use of :" -"func:`sorted` in appropriate places. For example, this block ::" +"``while 1`` becomes ``while True``. This fixer also tries to make use " +"of :func:`sorted` in appropriate places. For example, this block ::" msgstr "" "Este fixador opcional executa várias transformações que tornam o código " "Python mais idiomático. Comparações de tipo como ``type(x) is SomeClass`` e " "``type(x) == SomeClass`` são convertidas para ``isinstance(x, SomeClass)``. " -"``while 1`` vira ``while True``. Este fixador também tenta usar :func:" -"`sorted` nos lugares apropriados. Por exemplo, este bloco ::" +"``while 1`` vira ``while True``. Este fixador também tenta " +"usar :func:`sorted` nos lugares apropriados. Por exemplo, este bloco ::" #: ../../library/2to3.rst:265 msgid "is changed to ::" @@ -518,23 +516,25 @@ msgstr "" #: ../../library/2to3.rst:299 msgid "" -"Removes imports of :func:`itertools.ifilter`, :func:`itertools.izip`, and :" -"func:`itertools.imap`. Imports of :func:`itertools.ifilterfalse` are also " -"changed to :func:`itertools.filterfalse`." +"Removes imports of :func:`itertools.ifilter`, :func:`itertools.izip`, " +"and :func:`itertools.imap`. Imports of :func:`itertools.ifilterfalse` are " +"also changed to :func:`itertools.filterfalse`." msgstr "" -"Remove importações de :func:`itertools.ifilter`, :func:`itertools.izip`, e :" -"func:`itertools.imap`. Importações de :func:`itertools.ifilterfalse` também " -"são alteradas para :func:`itertools.filterfalse`." +"Remove importações de :func:`itertools.ifilter`, :func:`itertools.izip`, " +"e :func:`itertools.imap`. Importações de :func:`itertools.ifilterfalse` " +"também são alteradas para :func:`itertools.filterfalse`." #: ../../library/2to3.rst:305 msgid "" -"Changes usage of :func:`itertools.ifilter`, :func:`itertools.izip`, and :" -"func:`itertools.imap` to their built-in equivalents. :func:`itertools." -"ifilterfalse` is changed to :func:`itertools.filterfalse`." +"Changes usage of :func:`itertools.ifilter`, :func:`itertools.izip`, " +"and :func:`itertools.imap` to their built-in " +"equivalents. :func:`itertools.ifilterfalse` is changed " +"to :func:`itertools.filterfalse`." msgstr "" -"Altera o uso de :func:`itertools.ifilter`, :func:`itertools.izip`, e :func:" -"`itertools.imap` para os seus equivalentes embutidos. :func:`itertools." -"ifilterfalse` é alterado para :func:`itertools.filterfalse`." +"Altera o uso de :func:`itertools.ifilter`, :func:`itertools.izip`, " +"e :func:`itertools.imap` para os seus equivalentes " +"embutidos. :func:`itertools.ifilterfalse` é alterado " +"para :func:`itertools.filterfalse`." #: ../../library/2to3.rst:311 msgid "Renames :class:`long` to :class:`int`." @@ -572,21 +572,21 @@ msgstr "Converte a sintaxe antiga \"diferente\", ``<>``, para ``!=``." #: ../../library/2to3.rst:335 msgid "" -"Converts the use of iterator's :meth:`~iterator.next` methods to the :func:" -"`next` function. It also renames :meth:`next` methods to :meth:`~iterator." -"__next__`." +"Converts the use of iterator's :meth:`~iterator.next` methods to " +"the :func:`next` function. It also renames :meth:`next` methods " +"to :meth:`~iterator.__next__`." msgstr "" -"Converte o uso de métodos de iterador :meth:`~iterator.next` para a função :" -"func:`next`. Também renomeia métodos :meth:`next` para :meth:`~iterator." -"__next__`." +"Converte o uso de métodos de iterador :meth:`~iterator.next` para a " +"função :func:`next`. Também renomeia métodos :meth:`next` " +"para :meth:`~iterator.__next__`." #: ../../library/2to3.rst:341 msgid "" -"Renames definitions of methods called :meth:`__nonzero__` to :meth:`~object." -"__bool__`." +"Renames definitions of methods called :meth:`__nonzero__` " +"to :meth:`~object.__bool__`." msgstr "" -"Renomeia as definições de métodos chamados :meth:`__nonzero__` para :meth:" -"`~object.__bool__`." +"Renomeia as definições de métodos chamados :meth:`__nonzero__` " +"para :meth:`~object.__bool__`." #: ../../library/2to3.rst:346 msgid "Converts octal literals into the new syntax." @@ -718,11 +718,13 @@ msgstr "Renomeia :exc:`StandardError` para :exc:`Exception`." #: ../../library/2to3.rst:413 msgid "" -"Changes the deprecated :data:`sys.exc_value`, :data:`sys.exc_type`, :data:" -"`sys.exc_traceback` to use :func:`sys.exc_info`." +"Changes the " +"deprecated :data:`sys.exc_value`, :data:`sys.exc_type`, :data:`sys.exc_traceback` " +"to use :func:`sys.exc_info`." msgstr "" -"Altera os descontinuados :data:`sys.exc_value`, :data:`sys.exc_type`, :data:" -"`sys.exc_traceback` para utilizar agora a função :func:`sys.exc_info`." +"Altera os " +"descontinuados :data:`sys.exc_value`, :data:`sys.exc_type`, :data:`sys.exc_traceback` " +"para utilizar agora a função :func:`sys.exc_info`." #: ../../library/2to3.rst:418 msgid "Fixes the API change in generator's :meth:`throw` method." @@ -741,8 +743,8 @@ msgid "" "Fixes code broken from the removal of some members in the :mod:`types` " "module." msgstr "" -"Corrige o código quebrado pela remoção de alguns membros no módulo :mod:" -"`types`." +"Corrige o código quebrado pela remoção de alguns membros no " +"módulo :mod:`types`." #: ../../library/2to3.rst:432 msgid "Renames :class:`unicode` to :class:`str`." @@ -797,21 +799,21 @@ msgid "" "Python 3.9 switched to a PEG parser (see :pep:`617`) while lib2to3 is using " "a less flexible LL(1) parser. Python 3.10 includes new language syntax that " "is not parsable by lib2to3's LL(1) parser (see :pep:`634`). The ``lib2to3`` " -"module was marked pending for deprecation in Python 3.9 (raising :exc:" -"`PendingDeprecationWarning` on import) and fully deprecated in Python 3.11 " -"(raising :exc:`DeprecationWarning`). It will be removed from the standard " -"library in Python 3.13. Consider third-party alternatives such as `LibCST`_ " -"or `parso`_." +"module was marked pending for deprecation in Python 3.9 " +"(raising :exc:`PendingDeprecationWarning` on import) and fully deprecated in " +"Python 3.11 (raising :exc:`DeprecationWarning`). It will be removed from the " +"standard library in Python 3.13. Consider third-party alternatives such as " +"`LibCST`_ or `parso`_." msgstr "" "Python 3.9 mudou para um analisador GASE (veja :pep:`617`) enquanto lib2to3 " "está usando um analisador LL(1) menos flexível. Python 3.10 inclui uma nova " "sintaxe de linguagem não analisável pelo analisador sintático LL(1) da " "lib2to3 (veja :pep:`634`). O módulo ``lib2to3`` foi marcado como pendente " -"para descontinuação na versão Python 3.9 (levantando :exc:" -"`PendingDeprecationWarning` na importação) e totalmente descontinuado na " -"versão Python 3.11 (levantando :exc:`DeprecationWarning`). Ele será removido " -"da biblioteca padrão na versão Python 3.13. Considere alternativas de " -"terceiros como `LibCST`_ ou `parso`_." +"para descontinuação na versão Python 3.9 " +"(levantando :exc:`PendingDeprecationWarning` na importação) e totalmente " +"descontinuado na versão Python 3.11 (levantando :exc:`DeprecationWarning`). " +"Ele será removido da biblioteca padrão na versão Python 3.13. Considere " +"alternativas de terceiros como `LibCST`_ ou `parso`_." #: ../../library/2to3.rst:485 msgid "" diff --git a/library/__future__.po b/library/__future__.po index 06211d452..16020eb38 100644 --- a/library/__future__.po +++ b/library/__future__.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Italo Penaforte , 2021 -# Octavio von Sydow , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -31,32 +29,44 @@ msgstr ":mod:`__future__` --- Definições de instruções de future" #: ../../library/__future__.rst:7 msgid "**Source code:** :source:`Lib/__future__.py`" -msgstr "**Código-fonte:** :source:`Lib/__ future __.py`" +msgstr "**Código-fonte:** :source:`Lib/__future__.py`" #: ../../library/__future__.rst:11 -msgid ":mod:`__future__` is a real module, and serves three purposes:" -msgstr ":mod:`__future__` é um módulo real, e serve a três propósitos:" - -#: ../../library/__future__.rst:13 msgid "" -"To avoid confusing existing tools that analyze import statements and expect " -"to find the modules they're importing." +"Imports of the form ``from __future__ import feature`` are " +"called :ref:`future statements `. These are special-cased by the " +"Python compiler to allow the use of new Python features in modules " +"containing the future statement before the release in which the feature " +"becomes standard." msgstr "" -"Para evitar confundir as ferramentas existentes que analisam as instruções " -"de importação e esperam encontrar os módulos que estão importando." +"Instruções do tipo ``from __future__ import feature`` são chamadas " +"de :ref:`instruções future `. Esses são casos especiais do " +"compilador do Python para permitir o uso de novos recursos do Python em " +"módulos que contêm a instrução future antes da versão em que o recurso se " +"torna padrão." #: ../../library/__future__.rst:16 msgid "" -"To ensure that :ref:`future statements ` run under releases prior to " -"2.1 at least yield runtime exceptions (the import of :mod:`__future__` will " -"fail, because there was no module of that name prior to 2.1)." +"While these future statements are given additional special meaning by the " +"Python compiler, they are still executed like any other import statement and " +"the :mod:`__future__` exists and is handled by the import system the same " +"way any other Python module would be. This design serves three purposes:" +msgstr "" +"Embora o compilador Python dê um significado especial adicional a essas " +"instruções future, elas ainda são executadas como qualquer outra instrução " +"de importação, o módulo :mod:`__future__` existe e é tratado pelo sistema de " +"importação da mesma forma que qualquer outro módulo Python. Isso serve a " +"três propósitos:" + +#: ../../library/__future__.rst:21 +msgid "" +"To avoid confusing existing tools that analyze import statements and expect " +"to find the modules they're importing." msgstr "" -"Para garantir que :ref:`instruções futuras ` sejam executadas em " -"versões anteriores a 2.1, pelo menos, processe exceções de tempo de execução " -"(a importação de :mod:`__future__` falhará, porque não havia nenhum módulo " -"desse nome antes de 2.1)." +"Para evitar confundir as ferramentas existentes que analisam as instruções " +"de importação e esperam encontrar os módulos sendo importados." -#: ../../library/__future__.rst:20 +#: ../../library/__future__.rst:24 msgid "" "To document when incompatible changes were introduced, and when they will be " "--- or were --- made mandatory. This is a form of executable documentation, " @@ -68,76 +78,23 @@ msgstr "" "documentação executável e pode ser inspecionada programaticamente através da " "importação :mod:`__future__` e examinando seus conteúdos." -#: ../../library/__future__.rst:25 -msgid "Each statement in :file:`__future__.py` is of the form::" -msgstr "Cada instrução em :file:`__future__.py` é da forma::" - -#: ../../library/__future__.rst:31 -msgid "" -"where, normally, *OptionalRelease* is less than *MandatoryRelease*, and both " -"are 5-tuples of the same form as :data:`sys.version_info`::" -msgstr "" -"Onde, normalmente, *OptionalRelease* é inferior a *MandatoryRelease*, e " -"ambos são tuplas de 5 entradas da mesma forma que :data:`sys.version_info`::" - -#: ../../library/__future__.rst:41 -msgid "" -"*OptionalRelease* records the first release in which the feature was " -"accepted." -msgstr "" -"*OptionalRelease* registra o primeiro lançamento no qual o recurso foi " -"aceito." - -#: ../../library/__future__.rst:43 -msgid "" -"In the case of a *MandatoryRelease* that has not yet occurred, " -"*MandatoryRelease* predicts the release in which the feature will become " -"part of the language." -msgstr "" -"No caso de um *MandatoryRelease* que ainda não ocorreu, *MandatoryRelease* " -"prevê o lançamento em que o recurso se tornará parte da linguagem." - -#: ../../library/__future__.rst:47 -msgid "" -"Else *MandatoryRelease* records when the feature became part of the " -"language; in releases at or after that, modules no longer need a future " -"statement to use the feature in question, but may continue to use such " -"imports." -msgstr "" -"Senão *MandatoryRelease* registra quando o recurso se tornou parte do " -"idioma; Em versões em ou depois disso, os módulos não precisam mais de uma " -"instrução de future para usar o recurso em questão, mas podem continuar a " -"usar essas importações." - -#: ../../library/__future__.rst:51 -msgid "" -"*MandatoryRelease* may also be ``None``, meaning that a planned feature got " -"dropped." -msgstr "" -"*MandatoryRelease* também pode ser ``None``, o que significa que uma " -"característica planejada foi descartada." - -#: ../../library/__future__.rst:54 +#: ../../library/__future__.rst:29 msgid "" -"Instances of class :class:`_Feature` have two corresponding methods, :meth:" -"`getOptionalRelease` and :meth:`getMandatoryRelease`." +"To ensure that :ref:`future statements ` run under releases prior to " +"Python 2.1 at least yield runtime exceptions (the import " +"of :mod:`__future__` will fail, because there was no module of that name " +"prior to 2.1)." msgstr "" -"Instâncias de classe :class:`_Feature` têm dois métodos correspondentes, :" -"meth:`getOptionalRelease` e :meth:`getMandatoryRelease`." +"Para garantir que :ref:`instruções future ` sejam executadas em " +"versões anteriores a Python 2.1, pelo menos, processe exceções de tempo de " +"execução (a importação de :mod:`__future__` falhará, porque não havia nenhum " +"módulo desse nome antes de 2.1)." -#: ../../library/__future__.rst:57 -msgid "" -"*CompilerFlag* is the (bitfield) flag that should be passed in the fourth " -"argument to the built-in function :func:`compile` to enable the feature in " -"dynamically compiled code. This flag is stored in the :attr:`compiler_flag` " -"attribute on :class:`_Feature` instances." -msgstr "" -"*CompilerFlag* é o sinalizador (bitfield) que deve ser passado no quarto " -"argumento para a função embutida :func:`compile` para habilitar o recurso no " -"código compilado dinamicamente. Este sinalizador é armazenado no atributo :" -"attr:`compiler_flag` em instâncias de :class:`_Feature`." +#: ../../library/__future__.rst:34 +msgid "Module Contents" +msgstr "Conteúdo do módulo" -#: ../../library/__future__.rst:62 +#: ../../library/__future__.rst:36 msgid "" "No feature description will ever be deleted from :mod:`__future__`. Since " "its introduction in Python 2.1 the following features have found their way " @@ -147,148 +104,209 @@ msgstr "" "Desde a sua introdução no Python 2.1, os seguintes recursos encontraram o " "caminho para o idioma usando esse mecanismo:" -#: ../../library/__future__.rst:67 +#: ../../library/__future__.rst:41 msgid "feature" msgstr "característica" -#: ../../library/__future__.rst:67 +#: ../../library/__future__.rst:41 msgid "optional in" msgstr "opcional em" -#: ../../library/__future__.rst:67 +#: ../../library/__future__.rst:41 msgid "mandatory in" msgstr "obrigatório em" -#: ../../library/__future__.rst:67 +#: ../../library/__future__.rst:41 msgid "effect" msgstr "efeito" -#: ../../library/__future__.rst:69 +#: ../../library/__future__.rst:43 msgid "nested_scopes" msgstr "nested_scopes" -#: ../../library/__future__.rst:69 +#: ../../library/__future__.rst:43 msgid "2.1.0b1" msgstr "2.1.0b1" -#: ../../library/__future__.rst:69 +#: ../../library/__future__.rst:43 msgid "2.2" msgstr "2.2" -#: ../../library/__future__.rst:69 +#: ../../library/__future__.rst:43 msgid ":pep:`227`: *Statically Nested Scopes*" msgstr ":pep:`227`: *Statically Nested Scopes*" -#: ../../library/__future__.rst:72 +#: ../../library/__future__.rst:46 msgid "generators" -msgstr "geradores" +msgstr "generators" -#: ../../library/__future__.rst:72 +#: ../../library/__future__.rst:46 msgid "2.2.0a1" msgstr "2.2.0a1" -#: ../../library/__future__.rst:72 +#: ../../library/__future__.rst:46 msgid "2.3" msgstr "2.3" -#: ../../library/__future__.rst:72 +#: ../../library/__future__.rst:46 msgid ":pep:`255`: *Simple Generators*" msgstr ":pep:`255`: *Simple Generators*" -#: ../../library/__future__.rst:75 +#: ../../library/__future__.rst:49 msgid "division" msgstr "divisão" -#: ../../library/__future__.rst:75 +#: ../../library/__future__.rst:49 msgid "2.2.0a2" msgstr "2.2.0a2" -#: ../../library/__future__.rst:75 ../../library/__future__.rst:78 -#: ../../library/__future__.rst:84 ../../library/__future__.rst:87 +#: ../../library/__future__.rst:49 ../../library/__future__.rst:52 +#: ../../library/__future__.rst:58 ../../library/__future__.rst:61 msgid "3.0" msgstr "3.0" -#: ../../library/__future__.rst:75 +#: ../../library/__future__.rst:49 msgid ":pep:`238`: *Changing the Division Operator*" msgstr ":pep:`238`: *Changing the Division Operator*" -#: ../../library/__future__.rst:78 +#: ../../library/__future__.rst:52 msgid "absolute_import" msgstr "absolute_import" -#: ../../library/__future__.rst:78 ../../library/__future__.rst:81 +#: ../../library/__future__.rst:52 ../../library/__future__.rst:55 msgid "2.5.0a1" msgstr "2.5.0a1" -#: ../../library/__future__.rst:78 +#: ../../library/__future__.rst:52 msgid ":pep:`328`: *Imports: Multi-Line and Absolute/Relative*" msgstr ":pep: `328`: *Imports: Multi-Line e Absolute/Relative*" -#: ../../library/__future__.rst:81 +#: ../../library/__future__.rst:55 msgid "with_statement" msgstr "with_statement" -#: ../../library/__future__.rst:81 +#: ../../library/__future__.rst:55 msgid "2.6" msgstr "2.6" -#: ../../library/__future__.rst:81 +#: ../../library/__future__.rst:55 msgid ":pep:`343`: *The \"with\" Statement*" msgstr ":pep:`343`: *The \"with\" Statement*" -#: ../../library/__future__.rst:84 +#: ../../library/__future__.rst:58 msgid "print_function" msgstr "print_function" -#: ../../library/__future__.rst:84 ../../library/__future__.rst:87 +#: ../../library/__future__.rst:58 ../../library/__future__.rst:61 msgid "2.6.0a2" msgstr "2.6.0a2" -#: ../../library/__future__.rst:84 +#: ../../library/__future__.rst:58 msgid ":pep:`3105`: *Make print a function*" msgstr ":pep:`3105`: *Make print a function*" -#: ../../library/__future__.rst:87 +#: ../../library/__future__.rst:61 msgid "unicode_literals" msgstr "unicode_literals" -#: ../../library/__future__.rst:87 +#: ../../library/__future__.rst:61 msgid ":pep:`3112`: *Bytes literals in Python 3000*" msgstr ":pep:`3112`: *Bytes literals in Python 3000*" -#: ../../library/__future__.rst:90 +#: ../../library/__future__.rst:64 msgid "generator_stop" msgstr "generator_stop" -#: ../../library/__future__.rst:90 +#: ../../library/__future__.rst:64 msgid "3.5.0b1" msgstr "3.5.0b1" -#: ../../library/__future__.rst:90 +#: ../../library/__future__.rst:64 msgid "3.7" msgstr "3.7" -#: ../../library/__future__.rst:90 +#: ../../library/__future__.rst:64 msgid ":pep:`479`: *StopIteration handling inside generators*" msgstr ":pep:`479`: *StopIteration handling inside generators*" -#: ../../library/__future__.rst:93 +#: ../../library/__future__.rst:67 msgid "annotations" msgstr "annotations" -#: ../../library/__future__.rst:93 +#: ../../library/__future__.rst:67 msgid "3.7.0b1" msgstr "3.7.0b1" -#: ../../library/__future__.rst:93 +#: ../../library/__future__.rst:67 msgid "TBD [1]_" msgstr "Para ser feito [1]_" -#: ../../library/__future__.rst:93 +#: ../../library/__future__.rst:67 msgid ":pep:`563`: *Postponed evaluation of annotations*" msgstr ":pep:`563`: *Postponed evaluation of annotations*" -#: ../../library/__future__.rst:100 +#: ../../library/__future__.rst:77 +msgid "Each statement in :file:`__future__.py` is of the form::" +msgstr "Cada instrução em :file:`__future__.py` é da forma::" + +#: ../../library/__future__.rst:82 +msgid "" +"where, normally, *OptionalRelease* is less than *MandatoryRelease*, and both " +"are 5-tuples of the same form as :data:`sys.version_info`::" +msgstr "" +"Onde, normalmente, *OptionalRelease* é inferior a *MandatoryRelease*, e " +"ambos são tuplas de 5 entradas da mesma forma que :data:`sys.version_info`::" + +#: ../../library/__future__.rst:94 +msgid "" +"*OptionalRelease* records the first release in which the feature was " +"accepted." +msgstr "" +"*OptionalRelease* registra o primeiro lançamento no qual o recurso foi " +"aceito." + +#: ../../library/__future__.rst:98 +msgid "" +"In the case of a *MandatoryRelease* that has not yet occurred, " +"*MandatoryRelease* predicts the release in which the feature will become " +"part of the language." +msgstr "" +"No caso de um *MandatoryRelease* que ainda não ocorreu, *MandatoryRelease* " +"prevê o lançamento em que o recurso se tornará parte da linguagem." + +#: ../../library/__future__.rst:102 +msgid "" +"Else *MandatoryRelease* records when the feature became part of the " +"language; in releases at or after that, modules no longer need a future " +"statement to use the feature in question, but may continue to use such " +"imports." +msgstr "" +"Senão *MandatoryRelease* registra quando o recurso se tornou parte do " +"idioma; Em versões em ou depois disso, os módulos não precisam mais de uma " +"instrução future para usar o recurso em questão, mas podem continuar a usar " +"essas importações." + +#: ../../library/__future__.rst:106 +msgid "" +"*MandatoryRelease* may also be ``None``, meaning that a planned feature got " +"dropped or that it is not yet decided." +msgstr "" +"*MandatoryRelease* também pode ser ``None``, o que significa que uma " +"característica planejada foi descartada ou que isso ainda não está decidido." + +#: ../../library/__future__.rst:111 +msgid "" +"*CompilerFlag* is the (bitfield) flag that should be passed in the fourth " +"argument to the built-in function :func:`compile` to enable the feature in " +"dynamically compiled code. This flag is stored in " +"the :attr:`_Feature.compiler_flag` attribute on :class:`_Feature` instances." +msgstr "" +"*CompilerFlag* é o sinalizador (bitfield) que deve ser passado no quarto " +"argumento para a função embutida :func:`compile` para habilitar o recurso no " +"código compilado dinamicamente. Este sinalizador é armazenado no " +"atributo :attr:`_Feature.compiler_flag` em instâncias de :class:`_Feature`." + +#: ../../library/__future__.rst:117 msgid "" "``from __future__ import annotations`` was previously scheduled to become " "mandatory in Python 3.10, but the Python Steering Council twice decided to " @@ -300,17 +318,25 @@ msgid "" msgstr "" "``from __future__ import annotations`` foi programado anteriormente para se " "tornar obrigatório no Python 3.10, mas o Python Steering Council decidiu " -"duas vezes adiar a mudança (`announcement for Python 3.10 `__; `announcement for Python 3.11 " -"`__; `anúncio para o Python 3.11 `__). Nenhuma decisão final foi tomada " "ainda. Veja também :pep:`563` e :pep:`649`." -#: ../../library/__future__.rst:110 +#: ../../library/__future__.rst:128 msgid ":ref:`future`" msgstr ":ref:`future`" -#: ../../library/__future__.rst:111 +#: ../../library/__future__.rst:128 msgid "How the compiler treats future imports." msgstr "Como o compilador trata as importações de future." + +#: ../../library/__future__.rst:130 +msgid ":pep:`236` - Back to the __future__" +msgstr ":pep:`236` - De volta ao __future__" + +#: ../../library/__future__.rst:131 +msgid "The original proposal for the __future__ mechanism." +msgstr "A proposta original para o mecanismo do __future__." diff --git a/library/__main__.po b/library/__main__.po index 6717a76e4..56eb33307 100644 --- a/library/__main__.po +++ b/library/__main__.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Henrique Junqueira, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -52,13 +51,13 @@ msgstr "o arquivo ``__main__.py`` em pacotes Python." msgid "" "Both of these mechanisms are related to Python modules; how users interact " "with them and how they interact with each other. They are explained in " -"detail below. If you're new to Python modules, see the tutorial section :" -"ref:`tut-modules` for an introduction." +"detail below. If you're new to Python modules, see the tutorial " +"section :ref:`tut-modules` for an introduction." msgstr "" "Ambas as formas estão relacionadas aos módulos Python; como os usuários " "interagem com eles e como eles interagem entre si. Eles serão explicados em " -"detalhes abaixo. Se você ainda não conhece módulos Python, veja a seção :ref:" -"`tut-modules` para uma introdução." +"detalhes abaixo. Se você ainda não conhece módulos Python, veja a " +"seção :ref:`tut-modules` para uma introdução." #: ../../library/__main__.rst:25 msgid "``__name__ == '__main__'``" @@ -124,8 +123,8 @@ msgstr "" #: ../../library/__main__.rst:67 msgid "" -"the Python module or package passed to the Python interpreter with the :" -"option:`-m` argument:" +"the Python module or package passed to the Python interpreter with " +"the :option:`-m` argument:" msgstr "" "o módulo ou pacote Python passado ao interpretador do Python com o " "argumento :option:`-m`:" @@ -248,7 +247,7 @@ msgid "" "pip.pypa.io/>`_ inserts the function call into a template script, where the " "return value of ``main`` is passed into :func:`sys.exit`. For example::" msgstr "" -"``main`` são funções frequentemente usadas ​​para criar ferramentas de linha " +"``main`` são funções frequentemente usadas para criar ferramentas de linha " "de comando especificando-as como pontos de entrada para scripts de console. " "Quando isto é feito, `pip `_ insere a chamada da " "função em um modelo de script, onde o valor de retorno de ``main`` é passado " @@ -257,14 +256,14 @@ msgstr "" #: ../../library/__main__.rst:175 msgid "" "Since the call to ``main`` is wrapped in :func:`sys.exit`, the expectation " -"is that your function will return some value acceptable as an input to :func:" -"`sys.exit`; typically, an integer or ``None`` (which is implicitly returned " -"if your function does not have a return statement)." +"is that your function will return some value acceptable as an input " +"to :func:`sys.exit`; typically, an integer or ``None`` (which is implicitly " +"returned if your function does not have a return statement)." msgstr "" "Uma vez que a chamada à ``main`` está embutida dentro de :func:`sys.exit`, a " -"expectativa é que a sua função retorne somente valores aceitável para :func:" -"`sys.exit`; normalmente um inteiro ou ``None`` (retornado de forma " -"implícita, caso a sua função não tenha uma instrução de retorno)." +"expectativa é que a sua função retorne somente valores aceitável " +"para :func:`sys.exit`; normalmente um inteiro ou ``None`` (retornado de " +"forma implícita, caso a sua função não tenha uma instrução de retorno)." #: ../../library/__main__.rst:180 msgid "" @@ -283,15 +282,15 @@ msgid "" "In particular, be careful about returning strings from your ``main`` " "function. :func:`sys.exit` will interpret a string argument as a failure " "message, so your program will have an exit code of ``1``, indicating " -"failure, and the string will be written to :data:`sys.stderr`. The ``echo." -"py`` example from earlier exemplifies using the ``sys.exit(main())`` " +"failure, and the string will be written to :data:`sys.stderr`. The " +"``echo.py`` example from earlier exemplifies using the ``sys.exit(main())`` " "convention." msgstr "" -"Em particular, tenha cuidado ao retornar strings de sua função ``main``. :" -"func:`sys.exit` interpretará um argumento de string como uma mensagem de " -"falha, então seu programa terá um código de saída ``1``, indicando falha, e " -"a string será escrita em :data:`sys.stderr`. O exemplo anterior de ``echo." -"py`` exemplifica o uso da convenção ``sys.exit(main())``." +"Em particular, tenha cuidado ao retornar strings de sua função " +"``main``. :func:`sys.exit` interpretará um argumento de string como uma " +"mensagem de falha, então seu programa terá um código de saída ``1``, " +"indicando falha, e a string será escrita em :data:`sys.stderr`. O exemplo " +"anterior de ``echo.py`` exemplifica o uso da convenção ``sys.exit(main())``." #: ../../library/__main__.rst:193 msgid "" @@ -299,9 +298,9 @@ msgid "" "collection of tutorials and references on how to distribute and install " "Python packages with modern tools." msgstr "" -"O `Guia de Usuário para Empacotamento de Python `_ contém uma coleção de tutoriais e referências sobre como distribuir " -"e instalar pacotes Python com ferramentas modernas." +"O `Guia de Usuário para Empacotamento de Python `_ contém uma coleção de tutoriais e referências sobre " +"como distribuir e instalar pacotes Python com ferramentas modernas." #: ../../library/__main__.rst:199 msgid "``__main__.py`` in Python Packages" @@ -354,16 +353,16 @@ msgstr "" #: ../../library/__main__.rst:241 msgid "" -"The contents of ``__main__.py`` typically isn't fenced with ``if __name__ == " -"'__main__'`` blocks. Instead, those files are kept short, functions to " -"execute from other modules. Those other modules can then be easily unit-" -"tested and are properly reusable." +"The content of ``__main__.py`` typically isn't fenced with an ``if __name__ " +"== '__main__'`` block. Instead, those files are kept short and import " +"functions to execute from other modules. Those other modules can then be " +"easily unit-tested and are properly reusable." msgstr "" -"O conteúdo de ``__main__.py`` normalmente não contém o bloco condicional " -"``if __name__ == '__main__'``. Em vez disso, esses arquivos são curtos, " -"apenas com funções a serem executadas a partir de outros módulos. Esses " -"outros módulos podem ser facilmente testados com testes unitários e também " -"são passíveis de reutilização​." +"O conteúdo do ``__main__.py`` normalmente não é protegido por um bloco ``if " +"__name__ == '__main__'`` . Em vez disso, esses arquivos são mantidos curtos " +"e importa funções para serem executados a partir de outros módulos. Esses " +"outros módulos podem então ter suas unidades facilmente testadas e são " +"adequadamente reutilizáveis." #: ../../library/__main__.rst:246 msgid "" @@ -378,12 +377,12 @@ msgstr "" #: ../../library/__main__.rst:254 msgid "" "This won't work for ``__main__.py`` files in the root directory of a .zip " -"file though. Hence, for consistency, minimal ``__main__.py`` like the :mod:" -"`venv` one mentioned below are preferred." +"file though. Hence, for consistency, minimal ``__main__.py`` like " +"the :mod:`venv` one mentioned below are preferred." msgstr "" "Isso não funcionará para arquivos ``__main__.py`` no diretório raiz de um " -"arquivo .zip. Portanto, para consistência, dê preferência para ``__main__." -"py`` minimalistas, como o :mod:`venv` mencionado abaixo." +"arquivo .zip. Portanto, para consistência, dê preferência para " +"``__main__.py`` minimalistas, como o :mod:`venv` mencionado abaixo." #: ../../library/__main__.rst:260 msgid "" @@ -468,25 +467,25 @@ msgstr "" #: ../../library/__main__.rst:339 msgid "" -"Python inserts an empty ``__main__`` module in :attr:`sys.modules` at " +"Python inserts an empty ``__main__`` module in :data:`sys.modules` at " "interpreter startup, and populates it by running top-level code. In our " "example this is the ``start`` module which runs line by line and imports " "``namely``. In turn, ``namely`` imports ``__main__`` (which is really " "``start``). That's an import cycle! Fortunately, since the partially " -"populated ``__main__`` module is present in :attr:`sys.modules`, Python " +"populated ``__main__`` module is present in :data:`sys.modules`, Python " "passes that to ``namely``. See :ref:`Special considerations for __main__ " "` in the import system's reference for details on how " "this works." msgstr "" -"O Python insere um módulo ``__main__`` vazio em :attr:`sys.modules` na " +"O Python insere um módulo ``__main__`` vazio em :data:`sys.modules` na " "inicialização do interpretador e o preenche executando o código principal. " "Em nosso exemplo, este é o módulo ``start`` que executa linha por linha e " "importa ``namely``. Por sua vez, ``namely`` importa ``__main__`` (que é " "realmente ``start``). Isso é um ciclo de importação! Felizmente, como o " -"módulo ``__main__`` parcialmente preenchido está presente em :attr:`sys." -"modules`, o Python o passa para ``namely``. Veja :ref:`Considerações " -"especiais sobre __main__ ` na referência do sistema de " -"importação para detalhes sobre como isso funciona." +"módulo ``__main__`` parcialmente preenchido está presente " +"em :data:`sys.modules`, o Python o passa para ``namely``. " +"Veja :ref:`Considerações especiais sobre __main__ ` na " +"referência do sistema de importação para detalhes sobre como isso funciona." #: ../../library/__main__.rst:348 msgid "" @@ -506,8 +505,8 @@ msgstr "" #: ../../library/__main__.rst:367 msgid "" -"The ``__main__`` scope is used in the implementation of :mod:`pdb` and :mod:" -"`rlcompleter`." +"The ``__main__`` scope is used in the implementation of :mod:`pdb` " +"and :mod:`rlcompleter`." msgstr "" -"O escopo ``__main__`` é usado na implementação de :mod:`pdb` e :mod:" -"`rlcompleter`." +"O escopo ``__main__`` é usado na implementação de :mod:`pdb` " +"e :mod:`rlcompleter`." diff --git a/library/_dummy_thread.po b/library/_dummy_thread.po deleted file mode 100644 index 27007607a..000000000 --- a/library/_dummy_thread.po +++ /dev/null @@ -1,61 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2020, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Rafael Fontenelle , 2019 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.8\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-02-09 12:40+0000\n" -"PO-Revision-Date: 2017-02-16 17:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2019\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" -"teams/5390/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: ../../library/_dummy_thread.rst:2 -msgid "" -":mod:`_dummy_thread` --- Drop-in replacement for the :mod:`_thread` module" -msgstr "" -":mod:`_dummy_thread` --- Substituição direta para o módulo :mod:`_thread`" - -#: ../../library/_dummy_thread.rst:7 -msgid "**Source code:** :source:`Lib/_dummy_thread.py`" -msgstr "**Código-fonte:** :source:`Lib/_dummy_thread.py`" - -#: ../../library/_dummy_thread.rst:9 -msgid "" -"Python now always has threading enabled. Please use :mod:`_thread` (or, " -"better, :mod:`threading`) instead." -msgstr "" -"O Python agora sempre tem a segmentação ativada. Por favor, use :mod:" -"`_thread` (ou. melhor, :mod:`threading`)." - -#: ../../library/_dummy_thread.rst:15 -msgid "" -"This module provides a duplicate interface to the :mod:`_thread` module. It " -"was meant to be imported when the :mod:`_thread` module was not provided on " -"a platform." -msgstr "" -"Este módulo fornece uma interface duplicada para o módulo :mod:`_thread`. A " -"ideia era ele ser importado quando o módulo :mod:`_thread` não fosse " -"fornecido em uma plataforma." - -#: ../../library/_dummy_thread.rst:19 -msgid "" -"Be careful to not use this module where deadlock might occur from a thread " -"being created that blocks waiting for another thread to be created. This " -"often occurs with blocking I/O." -msgstr "" -"Tenha cuidado para não usar este módulo onde o deadlock pode ocorrer a " -"partir de uma segmento que está sendo criado, bloqueando a espera pela " -"criação de outro segmento. Isso geralmente ocorre com o bloqueio de E/S." diff --git a/library/_thread.po b/library/_thread.po index 0e15bd27e..781b49861 100644 --- a/library/_thread.po +++ b/library/_thread.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Sheila Gomes , 2021 -# Jose Rafael Amaral , 2021 -# Octavio von Sydow , 2021 -# Marcos Jurach , 2021 -# Fabio Aragao , 2021 -# Loyanne Cristine , 2022 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -44,12 +37,12 @@ msgid "" "level threading API built on top of this module." msgstr "" "Este módulo fornece primitivos de baixo nível para trabalhar com vários " -"encadeamentos (também chamados :dfn:`processos leves` ou :dfn:`tarefas`) --- " -"vários encadeamentos de controle compartilhando seu espaço de dados global. " -"Para sincronização, bloqueios simples (também chamados de :dfn:`mutexes`, :" -"dfn:`exclusão mútua` ou :dfn:`semáforos binários`) são fornecidos. O módulo :" -"mod:`threading` fornece uma API de segmentação mais fácil de usar e de nível " -"mais alto, construída sobre este módulo." +"threads (também chamados :dfn:`processos leves` ou :dfn:`tarefas`) --- " +"vários threads de controle compartilhando seu espaço de dados global. Para " +"sincronização, travas simples (também chamadas " +"de :dfn:`mutexes`, :dfn:`exclusão mútua` ou :dfn:`semáforos binários`) são " +"fornecidas. O módulo :mod:`threading` fornece uma API de segmentação mais " +"fácil de usar e de nível mais alto, construída sobre este módulo." #: ../../library/_thread.rst:26 msgid "This module used to be optional, it is now always available." @@ -65,11 +58,11 @@ msgstr "Gerado em erros específicos de segmento." #: ../../library/_thread.rst:35 msgid "This is now a synonym of the built-in :exc:`RuntimeError`." -msgstr "Este é agora um sinônimo do componente embutido :exc:`RuntimeError`." +msgstr "Agora este é um sinônimo da exceção embutida :exc:`RuntimeError`." #: ../../library/_thread.rst:41 msgid "This is the type of lock objects." -msgstr "Este é o tipo de objetos de bloqueio." +msgstr "Este é o tipo de objetos de trava." #: ../../library/_thread.rst:46 msgid "" @@ -77,27 +70,28 @@ msgid "" "function *function* with the argument list *args* (which must be a tuple). " "The optional *kwargs* argument specifies a dictionary of keyword arguments." msgstr "" -"Começa um novo tópico e retorna seu identificador. O tópico executa a função " -"*function* com a lista de argumentos *args* (que deve ser uma tupla). O " -"argumento opcional *kwargs* despecifica um dicionário de argumentos palavras-" -"chave" +"Começa uma nova thread e retorna seu identificador. A thread executa a " +"função *function* com a lista de argumentos *args* (que deve ser uma tupla). " +"O argumento opcional *kwargs* especifica um dicionário de argumentos " +"nomeados." #: ../../library/_thread.rst:50 msgid "When the function returns, the thread silently exits." -msgstr "Quando a função retorna, o tópico fecha silenciosamente." +msgstr "Quando a função retorna, a thread termina silenciosamente." #: ../../library/_thread.rst:52 msgid "" -"When the function terminates with an unhandled exception, :func:`sys." -"unraisablehook` is called to handle the exception. The *object* attribute of " -"the hook argument is *function*. By default, a stack trace is printed and " -"then the thread exits (but other threads continue to run)." -msgstr "" -"Quando a função termina com uma exceção não processada, :func:`sys." -"unraisablehook` é chamada para lidar com a exceção. O atributo *object* do " -"argumento do hook é *function*. Por padrão, um stack trace (situação da " -"pilha de execução) é impresso e, em seguida, o thread sai (mas outros " -"threads continuam a ser executados)." +"When the function terminates with an unhandled " +"exception, :func:`sys.unraisablehook` is called to handle the exception. The " +"*object* attribute of the hook argument is *function*. By default, a stack " +"trace is printed and then the thread exits (but other threads continue to " +"run)." +msgstr "" +"Quando a função termina com uma exceção não " +"processada, :func:`sys.unraisablehook` é chamada para lidar com a exceção. O " +"atributo *object* do argumento do hook é *function*. Por padrão, um stack " +"trace (situação da pilha de execução) é exibido e, em seguida, a thread " +"termina (mas outras threads continuam a ser executadas)." #: ../../library/_thread.rst:57 msgid "" @@ -108,7 +102,7 @@ msgstr "Quando a função gera uma exceção :exc:`SystemExit`, ela é ignorada. #: ../../library/_thread.rst:60 msgid ":func:`sys.unraisablehook` is now used to handle unhandled exceptions." msgstr "" -":func:`sys.unraisablehook` agora é usada para lidar com exceções não lidadas." +":func:`sys.unraisablehook` agora é usada para tratar exceções não tratadas." #: ../../library/_thread.rst:66 msgid "" @@ -116,25 +110,27 @@ msgid "" "use this function to interrupt the main thread, though there is no guarantee " "that the interruption will happen immediately." msgstr "" -"Simule o efeito de um sinal chegando na thread principal. Uma thread pode " +"Simula o efeito de um sinal chegando na thread principal. Uma thread pode " "usar esta função para interromper a thread principal, embora não haja " "garantia de que a interrupção ocorrerá imediatamente." #: ../../library/_thread.rst:70 msgid "" "If given, *signum* is the number of the signal to simulate. If *signum* is " -"not given, :data:`signal.SIGINT` is simulated." +"not given, :const:`signal.SIGINT` is simulated." msgstr "" "Se fornecido, *signum* é o número do sinal a ser simulado. Se *signum* não " -"for fornecido, :data:`signal.SIGINT` será simulado." +"for fornecido, :const:`signal.SIGINT` será simulado." #: ../../library/_thread.rst:73 msgid "" -"If the given signal isn't handled by Python (it was set to :data:`signal." -"SIG_DFL` or :data:`signal.SIG_IGN`), this function does nothing." +"If the given signal isn't handled by Python (it was set " +"to :const:`signal.SIG_DFL` or :const:`signal.SIG_IGN`), this function does " +"nothing." msgstr "" -"Se o sinal fornecido não for tratado por Python (foi definido como :data:" -"`signal.SIG_DFL` ou :data:`signal.SIG_IGN`), esta função não faz nada." +"Se o sinal fornecido não for tratado pelo Python (o sinal foi definido " +"como :const:`signal.SIG_DFL` ou :const:`signal.SIG_IGN`), esta função faz " +"nada." #: ../../library/_thread.rst:77 msgid "The *signum* argument is added to customize the signal number." @@ -147,24 +143,24 @@ msgid "" "use :func:`signal.raise_signal`." msgstr "" "Isso não emite o sinal correspondente, mas agenda uma chamada para o " -"tratador associado (se existir). Se você quer realmente emitir o sinal, use :" -"func:`signal.raise_signal`." +"tratador associado (se existir). Se você quer realmente emitir o sinal, " +"use :func:`signal.raise_signal`." #: ../../library/_thread.rst:88 msgid "" "Raise the :exc:`SystemExit` exception. When not caught, this will cause the " "thread to exit silently." msgstr "" -"Levanta a exceção :exc:`SystemExit`. Quando não for detectada, o thread " -"sairá silenciosamente." +"Levanta a exceção :exc:`SystemExit`. Quando não for detectada, a thread " +"terminará silenciosamente." #: ../../library/_thread.rst:102 msgid "" "Return a new lock object. Methods of locks are described below. The lock " "is initially unlocked." msgstr "" -"Retorna um novo objeto de bloqueio. Métodos de bloqueio são descritos " -"abaixo. O bloqueio é desativado inicialmente." +"Retorna um novo objeto de trava. Métodos de trava são descritos abaixo. A " +"trava é desativada inicialmente." #: ../../library/_thread.rst:108 msgid "" @@ -207,9 +203,9 @@ msgid "" "*size* argument specifies the stack size to be used for subsequently created " "threads, and must be 0 (use platform or configured default) or a positive " "integer value of at least 32,768 (32 KiB). If *size* is not specified, 0 is " -"used. If changing the thread stack size is unsupported, a :exc:" -"`RuntimeError` is raised. If the specified stack size is invalid, a :exc:" -"`ValueError` is raised and the stack size is unmodified. 32 KiB is " +"used. If changing the thread stack size is unsupported, " +"a :exc:`RuntimeError` is raised. If the specified stack size is invalid, " +"a :exc:`ValueError` is raised and the stack size is unmodified. 32 KiB is " "currently the minimum supported stack size value to guarantee sufficient " "stack space for the interpreter itself. Note that some platforms may have " "particular restrictions on values for the stack size, such as requiring a " @@ -242,21 +238,21 @@ msgstr ":ref:`Disponibilidade `: Windows, pthreads." #: ../../library/_thread.rst:145 msgid "Unix platforms with POSIX threads support." -msgstr "" +msgstr "Plataformas Unix com suporte a threads POSIX." #: ../../library/_thread.rst:150 msgid "" -"The maximum value allowed for the *timeout* parameter of :meth:`Lock." -"acquire`. Specifying a timeout greater than this value will raise an :exc:" -"`OverflowError`." +"The maximum value allowed for the *timeout* parameter of :meth:`Lock.acquire " +"`. Specifying a timeout greater than this value will " +"raise an :exc:`OverflowError`." msgstr "" -"O valor máximo permitido para o parâmetro *timeout* de :meth:`Lock.acquire`. " -"A especificação de um tempo limite maior que esse valor vai levantar um :exc:" -"`OverflowError`." +"O valor máximo permitido para o parâmetro *timeout* de :meth:`Lock.acquire " +"`. A especificação de um tempo limite maior que esse " +"valor vai levantar um :exc:`OverflowError`." #: ../../library/_thread.rst:157 msgid "Lock objects have the following methods:" -msgstr "Os objetos de bloqueio têm os seguintes métodos:" +msgstr "Os objetos de trava têm os seguintes métodos:" #: ../../library/_thread.rst:162 msgid "" @@ -265,10 +261,10 @@ msgid "" "(only one thread at a time can acquire a lock --- that's their reason for " "existence)." msgstr "" -"Sem nenhum argumento opcional, esse método adquire o bloqueio " -"incondicionalmente, se necessário, aguardando até que seja liberado por " -"outro encadeamento (apenas um encadeamento por vez pode adquirir um bloqueio " -"--- esse é o motivo da sua existência)." +"Sem nenhum argumento opcional, esse método adquire a trava " +"incondicionalmente, se necessário, aguardando até que seja liberada por " +"outra thread (apenas uma thread por vez pode adquirir uma trava --- esse é o " +"motivo da sua existência)." #: ../../library/_thread.rst:166 msgid "" @@ -291,8 +287,8 @@ msgid "" "The return value is ``True`` if the lock is acquired successfully, ``False`` " "if not." msgstr "" -"O valor de retorno é ``True`` se o bloqueio for adquirido com sucesso, se " -"não ``False``." +"O valor de retorno é ``True`` se a trava for adquirida com sucesso, se não " +"``False``." #: ../../library/_thread.rst:179 msgid "The *timeout* parameter is new." @@ -301,14 +297,14 @@ msgstr "O parâmetro *timeout* é novo." #: ../../library/_thread.rst:182 msgid "Lock acquires can now be interrupted by signals on POSIX." msgstr "" -"As aquisições de bloqueio agora podem ser interrompidas por sinais no POSIX." +"As aquisições de trava agora podem ser interrompidas por sinais no POSIX." #: ../../library/_thread.rst:188 msgid "" "Releases the lock. The lock must have been acquired earlier, but not " "necessarily by the same thread." msgstr "" -"Libera o bloqueio. O bloqueio deve ter sido adquirido anteriormente, mas não " +"Libera a trava. A trava deve ter sido adquirido anteriormente, mas não " "necessariamente pela mesma thread." #: ../../library/_thread.rst:194 @@ -316,16 +312,16 @@ msgid "" "Return the status of the lock: ``True`` if it has been acquired by some " "thread, ``False`` if not." msgstr "" -"Retorna o status do bloqueio: ``True`` se tiver sido adquirido por alguma " +"Retorna o status da trava: ``True`` se tiver sido adquirida por alguma " "thread, ``False`` se não for o caso." #: ../../library/_thread.rst:197 msgid "" -"In addition to these methods, lock objects can also be used via the :keyword:" -"`with` statement, e.g.::" +"In addition to these methods, lock objects can also be used via " +"the :keyword:`with` statement, e.g.::" msgstr "" -"Além desses métodos, os objetos de bloqueio também podem ser usados através " -"da instrução :keyword:`with`, por exemplo::" +"Além desses métodos, os objetos de trava também podem ser usados através da " +"instrução :keyword:`with`, por exemplo::" #: ../../library/_thread.rst:207 msgid "**Caveats:**" @@ -337,10 +333,10 @@ msgid "" "exception will be received by an arbitrary thread. (When the :mod:`signal` " "module is available, interrupts always go to the main thread.)" msgstr "" -"Threads interagem estranhamente com interrupções: a exceção :exc:" -"`KeyboardInterrupt` será recebida por uma thread arbitrário. (Quando o " -"módulo :mod:`signal` está disponível, as interrupções sempre vão para a " -"thread principal.)" +"Threads interagem estranhamente com interrupções: a " +"exceção :exc:`KeyboardInterrupt` será recebida por uma thread arbitrário. " +"(Quando o módulo :mod:`signal` está disponível, as interrupções sempre vão " +"para a thread principal.)" #: ../../library/_thread.rst:215 msgid "" @@ -352,25 +348,27 @@ msgstr "" #: ../../library/_thread.rst:218 msgid "" -"It is not possible to interrupt the :meth:`acquire` method on a lock --- " -"the :exc:`KeyboardInterrupt` exception will happen after the lock has been " -"acquired." +"It is not possible to interrupt the :meth:`~threading.Lock.acquire` method " +"on a lock --- the :exc:`KeyboardInterrupt` exception will happen after the " +"lock has been acquired." msgstr "" -"Não é possível interromper o método :meth:`acquire` em um bloqueio --- a " -"exceção :exc:`KeyboardInterrupt` ocorrerá após o bloqueio ter sido adquirido." +"Não é possível interromper o método :meth:`~threading.Lock.acquire` em uma " +"trava --- a exceção :exc:`KeyboardInterrupt` ocorrerá após a trava ter sido " +"adquirida." -#: ../../library/_thread.rst:221 +#: ../../library/_thread.rst:222 msgid "" "When the main thread exits, it is system defined whether the other threads " -"survive. On most systems, they are killed without executing :keyword:" -"`try` ... :keyword:`finally` clauses or executing object destructors." +"survive. On most systems, they are killed without " +"executing :keyword:`try` ... :keyword:`finally` clauses or executing object " +"destructors." msgstr "" -"Quando a thread principal se encerra, é definido pelo sistema se as outras " -"threads sobrevivem. Na maioria dos sistemas, elas são eliminadas sem " -"executar cláusulas :keyword:`try` ... :keyword:`finally` ou executar " -"destruidores de objetos." +"Quando a thread principal se encerra, o fato de outras threads sobreviverem " +"depende do sistema. Na maioria dos sistemas, elas são eliminadas sem " +"executar cláusulas :keyword:`try` ... :keyword:`finally` ou destruidores de " +"objetos." -#: ../../library/_thread.rst:226 +#: ../../library/_thread.rst:227 msgid "" "When the main thread exits, it does not do any of its usual cleanup (except " "that :keyword:`try` ... :keyword:`finally` clauses are honored), and the " @@ -382,27 +380,27 @@ msgstr "" #: ../../library/_thread.rst:7 msgid "light-weight processes" -msgstr "" +msgstr "processos leves" #: ../../library/_thread.rst:7 msgid "processes, light-weight" -msgstr "" +msgstr "leves, processos" #: ../../library/_thread.rst:7 msgid "binary semaphores" -msgstr "" +msgstr "semáforos binários" #: ../../library/_thread.rst:7 msgid "semaphores, binary" -msgstr "" +msgstr "binários, semáforos" #: ../../library/_thread.rst:22 msgid "pthreads" -msgstr "" +msgstr "pthreads" #: ../../library/_thread.rst:22 msgid "threads" -msgstr "" +msgstr "threads" #: ../../library/_thread.rst:22 msgid "POSIX" diff --git a/library/abc.po b/library/abc.po index b2d5b5cce..de2e43ab4 100644 --- a/library/abc.po +++ b/library/abc.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Bonifacio de Oliveira , 2021 -# Lilian Corrêa , 2021 -# Alexsandro Felix , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,66 +35,68 @@ msgstr "**Código-fonte:** :source:`Lib/abc.py`" msgid "" "This module provides the infrastructure for defining :term:`abstract base " "classes ` (ABCs) in Python, as outlined in :pep:`3119`; " -"see the PEP for why this was added to Python. (See also :pep:`3141` and the :" -"mod:`numbers` module regarding a type hierarchy for numbers based on ABCs.)" +"see the PEP for why this was added to Python. (See also :pep:`3141` and " +"the :mod:`numbers` module regarding a type hierarchy for numbers based on " +"ABCs.)" msgstr "" "Este módulo fornece a infraestrutura para definir :term:`classes base " -"abstratas ` (CBAs. Sigla em inglês ABC, de abstract " -"base class) em Python, como delineado em :pep:`3119`; veja o PEP para " -"entender o porquê isto foi adicionado ao Python. (Veja também :pep:`3141` e " -"o módulo :mod:`numbers` sobre uma hierarquia de tipo para números baseado " -"nas CBAs.)" +"abstratas ` (ABCs, do inglês *abstract base class*) em " +"Python, como delineado em :pep:`3119`; veja o PEP para entender o porquê " +"isto foi adicionado ao Python. (Veja também :pep:`3141` e o " +"módulo :mod:`numbers` sobre uma hierarquia de tipo para números baseado nas " +"ABCs.)" #: ../../library/abc.rst:20 msgid "" "The :mod:`collections` module has some concrete classes that derive from " -"ABCs; these can, of course, be further derived. In addition, the :mod:" -"`collections.abc` submodule has some ABCs that can be used to test whether a " -"class or instance provides a particular interface, for example, if it is :" -"term:`hashable` or if it is a mapping." +"ABCs; these can, of course, be further derived. In addition, " +"the :mod:`collections.abc` submodule has some ABCs that can be used to test " +"whether a class or instance provides a particular interface, for example, if " +"it is :term:`hashable` or if it is a :term:`mapping`." msgstr "" "O módulo :mod:`collections` tem algumas classes concretas que derivam de " -"CBAs; essas podem, evidentemente, ser ainda mais derivadas. Além disso, o " -"submódulo :mod:`collections.abc` tem algumas CBAs que podem ser usadas para " +"ABCs; essas podem, evidentemente, ser ainda mais derivadas. Além disso, o " +"submódulo :mod:`collections.abc` tem algumas ABCs que podem ser usadas para " "testar se uma classe ou instância oferece uma interface particular, por " -"exemplo, se é :term:`hasheável` ou se é um mapeamento." +"exemplo, se é :term:`hasheável` ou se é um :term:`mapeamento`." #: ../../library/abc.rst:27 msgid "" "This module provides the metaclass :class:`ABCMeta` for defining ABCs and a " "helper class :class:`ABC` to alternatively define ABCs through inheritance:" msgstr "" -"Este módulo fornece a metaclasse :class:`ABCMeta` para definir CBAs e uma " -"classe auxiliar :class:`ABC` para alternativamente definir CBAs através de " +"Este módulo fornece a metaclasse :class:`ABCMeta` para definir ABCs e uma " +"classe auxiliar :class:`ABC` para alternativamente definir ABCs através de " "herança:" #: ../../library/abc.rst:32 msgid "" "A helper class that has :class:`ABCMeta` as its metaclass. With this class, " -"an abstract base class can be created by simply deriving from :class:`ABC` " +"an abstract base class can be created by simply deriving from :class:`!ABC` " "avoiding sometimes confusing metaclass usage, for example::" msgstr "" "Uma classe auxiliar que tem :class:`ABCMeta` como sua metaclasse. Com essa " -"classe, uma classe base abstrata pode ser criada simplesmente derivando da :" -"class:`ABC` evitando às vezes confundir o uso da metaclasse, por exemplo::" +"classe, uma classe base abstrata pode ser criada simplesmente derivando " +"da :class:`!ABC` evitando às vezes confundir o uso da metaclasse, por " +"exemplo::" #: ../../library/abc.rst:41 msgid "" -"Note that the type of :class:`ABC` is still :class:`ABCMeta`, therefore " -"inheriting from :class:`ABC` requires the usual precautions regarding " +"Note that the type of :class:`!ABC` is still :class:`ABCMeta`, therefore " +"inheriting from :class:`!ABC` requires the usual precautions regarding " "metaclass usage, as multiple inheritance may lead to metaclass conflicts. " "One may also define an abstract base class by passing the metaclass keyword " -"and using :class:`ABCMeta` directly, for example::" +"and using :class:`!ABCMeta` directly, for example::" msgstr "" -"Note que o tipo da classe :class:`ABC` ainda é :class:`ABCMeta`, portanto " -"herdar da :class:`ABC` requer as precauções usuais a respeito do uso da " +"Note que o tipo da classe :class:`!ABC` ainda é :class:`ABCMeta`, portanto " +"herdar da :class:`!ABC` requer as precauções usuais a respeito do uso da " "metaclasse, pois herança múltipla pode levar a conflitos de metaclasse. Pode-" "se também definir uma classe base abstrata ao passar a palavra reservada " -"metaclasse e usar :class:`ABCMeta` diretamente, por exemplo::" +"metaclasse e usar :class:`!ABCMeta` diretamente, por exemplo::" #: ../../library/abc.rst:57 msgid "Metaclass for defining Abstract Base Classes (ABCs)." -msgstr "Metaclasse para definir Classe Base Abstrata (CBAs)." +msgstr "Metaclasse para definir Classe Base Abstrata (ABCs)." #: ../../library/abc.rst:59 msgid "" @@ -110,27 +109,27 @@ msgid "" "will method implementations defined by the registering ABC be callable (not " "even via :func:`super`). [#]_" msgstr "" -"Use esta metaclasse para criar uma CBA. Uma CBA pode ser diretamente " -"subclasseada, e então agir como uma classe misturada. Você também pode " +"Use esta metaclasse para criar uma ABC. Uma ABC pode ser diretamente " +"estendida, e então agir como uma classe misturada. Você também pode " "registrar classes concretas não relacionadas (até mesmo classes embutidas) e " -"CBAs não relacionadas como \"subclasses virtuais\" -- estas e suas " -"descendentes serão consideradas subclasses da CBA de registro pela função " -"embutida :func:`issubclass`, mas a CBA de registro não irá aparecer na ORM " +"ABCs não relacionadas como \"subclasses virtuais\" -- estas e suas " +"descendentes serão consideradas subclasses da ABC de registro pela função " +"embutida :func:`issubclass`, mas a ABC de registro não irá aparecer na MRO " "(Ordem de Resolução do Método) e nem as implementações do método definidas " -"pela CBA de registro será chamável (nem mesmo via :func:`super`). [#]_" +"pela ABC de registro será chamável (nem mesmo via :func:`super`). [#]_" #: ../../library/abc.rst:68 msgid "" -"Classes created with a metaclass of :class:`ABCMeta` have the following " +"Classes created with a metaclass of :class:`!ABCMeta` have the following " "method:" msgstr "" -"Classes criadas com a metaclasse de :class:`ABCMeta` tem o seguinte método:" +"Classes criadas com a metaclasse de :class:`!ABCMeta` tem o seguinte método:" #: ../../library/abc.rst:72 msgid "" "Register *subclass* as a \"virtual subclass\" of this ABC. For example::" msgstr "" -"Registrar *subclasse* como uma \"subclasse virtual\" desta CBA. Por exemplo::" +"Registra *subclass* como uma \"subclasse virtual\" desta ABC. Por exemplo::" #: ../../library/abc.rst:85 msgid "Returns the registered subclass, to allow usage as a class decorator." @@ -140,11 +139,11 @@ msgstr "" #: ../../library/abc.rst:88 msgid "" -"To detect calls to :meth:`register`, you can use the :func:`get_cache_token` " -"function." +"To detect calls to :meth:`!register`, you can use " +"the :func:`get_cache_token` function." msgstr "" -"Para detectar chamadas para :meth:`register`, você pode usar a função :func:" -"`get_cache_token`." +"Para detectar chamadas para :meth:`!register`, você pode usar a " +"função :func:`get_cache_token`." #: ../../library/abc.rst:92 msgid "You can also override this method in an abstract base class:" @@ -157,80 +156,78 @@ msgstr "(Deve obrigatoriamente ser definido como um método de classe.)" #: ../../library/abc.rst:98 msgid "" "Check whether *subclass* is considered a subclass of this ABC. This means " -"that you can customize the behavior of ``issubclass`` further without the " -"need to call :meth:`register` on every class you want to consider a subclass " -"of the ABC. (This class method is called from the :meth:`__subclasscheck__` " -"method of the ABC.)" +"that you can customize the behavior of :func:`issubclass` further without " +"the need to call :meth:`register` on every class you want to consider a " +"subclass of the ABC. (This class method is called from " +"the :meth:`~class.__subclasscheck__` method of the ABC.)" msgstr "" -"Cheque se a *subclasse* é considerada uma subclasse desta CBA. Isto " -"significa que você pode customizar ainda mais o comportamento da " -"``issubclass`` sem a necessidade de chamar :meth:`register` em toda classe " -"que você queira considerar uma subclasse da CBA. (Este método de classe é " -"chamado do método da CBA :meth:`__subclasscheck__` .)" #: ../../library/abc.rst:104 msgid "" -"This method should return ``True``, ``False`` or ``NotImplemented``. If it " -"returns ``True``, the *subclass* is considered a subclass of this ABC. If it " -"returns ``False``, the *subclass* is not considered a subclass of this ABC, " -"even if it would normally be one. If it returns ``NotImplemented``, the " -"subclass check is continued with the usual mechanism." +"This method should return ``True``, ``False`` or :data:`NotImplemented`. If " +"it returns ``True``, the *subclass* is considered a subclass of this ABC. If " +"it returns ``False``, the *subclass* is not considered a subclass of this " +"ABC, even if it would normally be one. If it returns :data:`!" +"NotImplemented`, the subclass check is continued with the usual mechanism." msgstr "" -"Este método deve retornar ``True``, ``False`` ou ``NotImplemented``. Se " -"retornar ``True``, a *subclasse* é considerada uma subclasse desta CBA. Se " -"retornar ``False``, a *subclasse* não é considerada uma subclasse desta CBA, " -"mesmo que normalmente seria uma. Se retornar ``NotImplemented``, a " +"Este método deve retornar ``True``, ``False`` ou :data:`NotImplemented`. Se " +"retornar ``True``, *subclass* é considerada uma subclasse desta ABC. Se " +"retornar ``False``, *subclass* não é considerada uma subclasse desta ABC, " +"mesmo que normalmente seria uma. Se retornar :data:`!NotImplemented`, a " "verificação da subclasse é continuada com o mecanismo usual." #: ../../library/abc.rst:114 msgid "" "For a demonstration of these concepts, look at this example ABC definition::" msgstr "" -"Para uma demonstração destes conceitos, veja este exemplo de definição CBA::" +"Para uma demonstração destes conceitos, veja este exemplo de definição ABC::" #: ../../library/abc.rst:143 msgid "" -"The ABC ``MyIterable`` defines the standard iterable method, :meth:" -"`~iterator.__iter__`, as an abstract method. The implementation given here " -"can still be called from subclasses. The :meth:`get_iterator` method is " -"also part of the ``MyIterable`` abstract base class, but it does not have to " -"be overridden in non-abstract derived classes." +"The ABC ``MyIterable`` defines the standard iterable " +"method, :meth:`~iterator.__iter__`, as an abstract method. The " +"implementation given here can still be called from subclasses. The :meth:`!" +"get_iterator` method is also part of the ``MyIterable`` abstract base class, " +"but it does not have to be overridden in non-abstract derived classes." msgstr "" -"A ``Mylterable`` da CBA define o método iterável padrão, :meth:`~iterador." -"__iter__`, como um método abstrato. A implementação dada aqui pode ainda ser " -"chamada da subclasse. O método :meth:`get_iterator` é também parte da classe " -"base abstrata ``MyIterable`` , mas não precisa ser substituído nas classes " -"derivadas não abstratas." +"A ``MyIterable`` da ABC define o método iterável " +"padrão, :meth:`~iterator.__iter__`, como um método abstrato. A implementação " +"dada aqui pode ainda ser chamada da subclasse. O método :meth:`!" +"get_iterator` é também parte da classe base abstrata ``MyIterable`` , mas " +"não precisa ser substituído nas classes derivadas não abstratas." #: ../../library/abc.rst:149 msgid "" "The :meth:`__subclasshook__` class method defined here says that any class " -"that has an :meth:`~iterator.__iter__` method in its :attr:`~object." -"__dict__` (or in that of one of its base classes, accessed via the :attr:" -"`~class.__mro__` list) is considered a ``MyIterable`` too." +"that has an :meth:`~iterator.__iter__` method in " +"its :attr:`~object.__dict__` (or in that of one of its base classes, " +"accessed via the :attr:`~class.__mro__` list) is considered a ``MyIterable`` " +"too." msgstr "" "O método de classe :meth:`__subclasshook__` definido aqui diz que qualquer " -"classe que tenha um método :meth:`~iterador.__iter__` em seu :attr:`~objeto." -"__dict__` (ou no de uma de suas classes base, acessados via lista :attr:" -"`~classe.__mro__`) é considerada uma ``MyIterable`` também." +"classe que tenha um método :meth:`~iterador.__iter__` em " +"seu :attr:`~objeto.__dict__` (ou no de uma de suas classes base, acessados " +"via lista :attr:`~classe.__mro__`) é considerada uma ``MyIterable`` também." #: ../../library/abc.rst:154 msgid "" "Finally, the last line makes ``Foo`` a virtual subclass of ``MyIterable``, " "even though it does not define an :meth:`~iterator.__iter__` method (it uses " -"the old-style iterable protocol, defined in terms of :meth:`__len__` and :" -"meth:`__getitem__`). Note that this will not make ``get_iterator`` " -"available as a method of ``Foo``, so it is provided separately." +"the old-style iterable protocol, defined in terms of :meth:`~object.__len__` " +"and :meth:`~object.__getitem__`). Note that this will not make " +"``get_iterator`` available as a method of ``Foo``, so it is provided " +"separately." msgstr "" "Finalmente, a última linha faz de ``Foo`` uma subclasse virtual da " -"``MyIterable``, apesar de não definir um método :meth:`~iterador.__iter__` " -"(ela usa o protocolo iterável antigo, definido em termos de :meth:`__len__` " -"e :meth:`__getitem__`). Note que isto não fará o ``get_iterator`` disponível " -"como um método de ``Foo``, então ele é fornecido separadamente." +"``MyIterable``, apesar de não definir um método :meth:`~iterator.__iter__` " +"(ela usa o protocolo iterável antigo, definido em termos " +"de :meth:`~object.__len__` e :meth:`~object.__getitem__`). Note que isto não " +"fará o ``get_iterator`` disponível como um método de ``Foo``, então ele é " +"fornecido separadamente." #: ../../library/abc.rst:163 -msgid "The :mod:`abc` module also provides the following decorator:" -msgstr "O módulo :mod:`abc` também fornece o seguinte decorador:" +msgid "The :mod:`!abc` module also provides the following decorator:" +msgstr "O módulo :mod:`!abc` também fornece o seguinte decorador:" #: ../../library/abc.rst:167 msgid "A decorator indicating abstract methods." @@ -239,59 +236,59 @@ msgstr "Um decorador indicando métodos abstratos." #: ../../library/abc.rst:169 msgid "" "Using this decorator requires that the class's metaclass is :class:`ABCMeta` " -"or is derived from it. A class that has a metaclass derived from :class:" -"`ABCMeta` cannot be instantiated unless all of its abstract methods and " +"or is derived from it. A class that has a metaclass derived from :class:`!" +"ABCMeta` cannot be instantiated unless all of its abstract methods and " "properties are overridden. The abstract methods can be called using any of " -"the normal 'super' call mechanisms. :func:`abstractmethod` may be used to " +"the normal 'super' call mechanisms. :func:`!abstractmethod` may be used to " "declare abstract methods for properties and descriptors." msgstr "" "Usar este decorador requer que a metaclasse da classe seja :class:`ABCMeta` " -"ou seja derivada desta. Uma classe que tem uma metaclasse derivada de :class:" -"`ABCMeta` não pode ser instanciada, a menos que todos os seus métodos " -"abstratos e propriedades estejam substituídos. Os métodos abstratos podem " -"ser chamados usando qualquer um dos mecanismos normais de 'super' chamadas. :" -"func:`abstractmethod` pode ser usado para declarar métodos abstratos para " -"propriedades e descritores." +"ou seja derivada desta. Uma classe que tem uma metaclasse derivada " +"de :class:`!ABCMeta` não pode ser instanciada, a menos que todos os seus " +"métodos abstratos e propriedades estejam substituídos. Os métodos abstratos " +"podem ser chamados usando qualquer um dos mecanismos normais de chamadas a " +"'super'. :func:`!abstractmethod` pode ser usado para declarar métodos " +"abstratos para propriedades e descritores." #: ../../library/abc.rst:176 msgid "" "Dynamically adding abstract methods to a class, or attempting to modify the " "abstraction status of a method or class once it is created, are only " -"supported using the :func:`update_abstractmethods` function. The :func:" -"`abstractmethod` only affects subclasses derived using regular inheritance; " -"\"virtual subclasses\" registered with the ABC's :meth:`register` method are " -"not affected." +"supported using the :func:`update_abstractmethods` function. The :func:`!" +"abstractmethod` only affects subclasses derived using regular inheritance; " +"\"virtual subclasses\" registered with the ABC's :meth:`~ABCMeta.register` " +"method are not affected." msgstr "" "Adicionar dinamicamente métodos abstratos a uma classe, ou tentar modificar " "o status de abstração de um método ou classe uma vez que estejam criados, só " -"é suportado usando a função :func:`update_abstractmethods`. A :func:" -"`abstractmethod` afeta apenas subclasses derivadas usando herança regular; " -"\"subclasses virtuais\" registradas com o método da CBA :meth:`register` não " -"são afetadas." +"é suportado usando a função :func:`update_abstractmethods`. A :func:`!" +"abstractmethod` afeta apenas subclasses derivadas usando herança regular; " +"\"subclasses virtuais\" registradas com o método :meth:`~ABCMeta.register` " +"da ABC não são afetadas." #: ../../library/abc.rst:183 msgid "" -"When :func:`abstractmethod` is applied in combination with other method " +"When :func:`!abstractmethod` is applied in combination with other method " "descriptors, it should be applied as the innermost decorator, as shown in " "the following usage examples::" msgstr "" -"Quando :func:`abstractmethod` é aplicado em combinação com outros " +"Quando :func:`!abstractmethod` é aplicado em combinação com outros " "descritores de método, ele deve ser aplicado como o decorador mais interno, " "como mostrado nos seguintes exemplos de uso::" #: ../../library/abc.rst:217 msgid "" "In order to correctly interoperate with the abstract base class machinery, " -"the descriptor must identify itself as abstract using :attr:" -"`__isabstractmethod__`. In general, this attribute should be ``True`` if any " +"the descriptor must identify itself as abstract using :attr:`!" +"__isabstractmethod__`. In general, this attribute should be ``True`` if any " "of the methods used to compose the descriptor are abstract. For example, " "Python's built-in :class:`property` does the equivalent of::" msgstr "" "Para que interopere corretamente com o maquinário da classe base abstrata, o " -"descritor precisa identificar-se como abstrato usando :attr:" -"`__isabstractmethod__`. No geral, este atributo deve ser ``True`` se algum " -"dos métodos usados para compor o descritor for abstrato. Por exemplo, a :" -"class:`property` embutida do Python faz o equivalente a::" +"descritor precisa identificar-se como abstrato usando :attr:`!" +"__isabstractmethod__`. No geral, este atributo deve ser ``True`` se algum " +"dos métodos usados para compor o descritor for abstrato. Por exemplo, " +"a :class:`property` embutida do Python faz o equivalente a::" #: ../../library/abc.rst:232 msgid "" @@ -302,13 +299,14 @@ msgid "" "inheritance." msgstr "" "Diferente de métodos abstratos Java, esses métodos abstratos podem ter uma " -"implementação. Esta implementação pode ser chamada via mecanismo da :func:" -"`super` da classe que a substitui. Isto pode ser útil como um ponto final " -"para uma super chamada em um framework que usa herança múltipla cooperativa." +"implementação. Esta implementação pode ser chamada via mecanismo " +"da :func:`super` da classe que a substitui. Isto pode ser útil como um ponto " +"final para uma super chamada em um framework que usa herança múltipla " +"cooperativa." #: ../../library/abc.rst:239 -msgid "The :mod:`abc` module also supports the following legacy decorators:" -msgstr "O módulo :mod:`abc` também suporta os seguintes decoradores herdados:" +msgid "The :mod:`!abc` module also supports the following legacy decorators:" +msgstr "O módulo :mod:`!abc` também suporta os seguintes decoradores herdados:" #: ../../library/abc.rst:244 msgid "" @@ -331,9 +329,9 @@ msgid "" "This special case is deprecated, as the :func:`classmethod` decorator is now " "correctly identified as abstract when applied to an abstract method::" msgstr "" -"Este caso especial está descontinuado, pois o decorador da :func:" -"`classmethod` está agora corretamente identificado como abstrato quando " -"aplicado a um método abstrato::" +"Este caso especial está descontinuado, pois o decorador " +"da :func:`classmethod` está agora corretamente identificado como abstrato " +"quando aplicado a um método abstrato::" #: ../../library/abc.rst:265 msgid "" @@ -356,19 +354,21 @@ msgid "" "This special case is deprecated, as the :func:`staticmethod` decorator is " "now correctly identified as abstract when applied to an abstract method::" msgstr "" -"Este caso especial está descontinuado, pois o decorador da :func:" -"`staticmethod` está agora corretamente identificado como abstrato quando " -"aplicado a um método abstrato::" +"Este caso especial está descontinuado, pois o decorador " +"da :func:`staticmethod` está agora corretamente identificado como abstrato " +"quando aplicado a um método abstrato::" #: ../../library/abc.rst:285 msgid "" -"It is now possible to use :class:`property`, :meth:`property.getter`, :meth:" -"`property.setter` and :meth:`property.deleter` with :func:`abstractmethod`, " -"making this decorator redundant." +"It is now possible to " +"use :class:`property`, :meth:`property.getter`, :meth:`property.setter` " +"and :meth:`property.deleter` with :func:`abstractmethod`, making this " +"decorator redundant." msgstr "" -"Agora é possível usar :class:`property`, :meth:`property.getter`, :meth:" -"`property.setter` e :meth:`property.deleter` com :func:`abstractmethod`, " -"tornando redundante este decorador." +"Agora é possível " +"usar :class:`property`, :meth:`property.getter`, :meth:`property.setter` " +"e :meth:`property.deleter` com :func:`abstractmethod`, tornando redundante " +"este decorador." #: ../../library/abc.rst:290 msgid "" @@ -406,8 +406,8 @@ msgstr "" "subclasse::" #: ../../library/abc.rst:326 -msgid "The :mod:`abc` module also provides the following functions:" -msgstr "O módulo :mod:`abc` também fornece as seguintes funções:" +msgid "The :mod:`!abc` module also provides the following functions:" +msgstr "O módulo :mod:`!abc` também fornece as seguintes funções:" #: ../../library/abc.rst:330 msgid "Returns the current abstract base class cache token." diff --git a/library/aifc.po b/library/aifc.po index 20e21698d..e90912af2 100644 --- a/library/aifc.po +++ b/library/aifc.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Henrique Junqueira, 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Henrique Junqueira, 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -37,7 +36,7 @@ msgid "" "The :mod:`aifc` module is deprecated (see :pep:`PEP 594 <594#aifc>` for " "details)." msgstr "" -"O módulo :mod:`aifc` foi desccontinuado (veja :pep:`PEP 594 <594#aifc>` para " +"O módulo :mod:`aifc` foi descontinuado (veja :pep:`PEP 594 <594#aifc>` para " "mais detalhes)." #: ../../library/aifc.rst:22 @@ -95,21 +94,22 @@ msgid "" "opened for writing. If omitted, ``file.mode`` is used if it exists, " "otherwise ``'rb'`` is used. When used for writing, the file object should " "be seekable, unless you know ahead of time how many samples you are going to " -"write in total and use :meth:`writeframesraw` and :meth:`setnframes`. The :" -"func:`.open` function may be used in a :keyword:`with` statement. When the :" -"keyword:`!with` block completes, the :meth:`~aifc.close` method is called." +"write in total and use :meth:`writeframesraw` and :meth:`setnframes`. " +"The :func:`.open` function may be used in a :keyword:`with` statement. When " +"the :keyword:`!with` block completes, the :meth:`~aifc.close` method is " +"called." msgstr "" "Abre um arquivo AIFF ou AIFF-C e retorna uma instância de objeto com os " "métodos descritos abaixo. O argumento *file* é uma string nomeando um " "arquivo ou um :term:`objeto arquivo `. *mode* deve ser ``'r'`` " "ou ``'rb'`` quando o arquivo deve ser aberto para leitura, ou ``'w'`` ou " -"``'wb'`` quando o arquivo deve ser aberto para escrita. Se omitido, ``file." -"mode`` é usado se existir, caso contrário ``'rb'`` é usado. Quando usado " -"para escrita, o objeto arquivo deve ser pesquisável, a menos que você saiba " -"com antecedência quantas amostras você irá escrever no total e usar :meth:" -"`writeframesraw` e :meth:`setnframes`. A função :func:`.open` pode ser usada " -"em um bloco de instrução :keyword:`with`. Quando o bloco :keyword:`!with` é " -"concluído, o método :meth:`~aifc.close` é chamado." +"``'wb'`` quando o arquivo deve ser aberto para escrita. Se omitido, " +"``file.mode`` é usado se existir, caso contrário ``'rb'`` é usado. Quando " +"usado para escrita, o objeto arquivo deve ser pesquisável, a menos que você " +"saiba com antecedência quantas amostras você irá escrever no total e " +"usar :meth:`writeframesraw` e :meth:`setnframes`. A função :func:`.open` " +"pode ser usada em um bloco de instrução :keyword:`with`. Quando o " +"bloco :keyword:`!with` é concluído, o método :meth:`~aifc.close` é chamado." #: ../../library/aifc.rst:56 msgid "Support for the :keyword:`with` statement was added." @@ -161,12 +161,12 @@ msgstr "" #: ../../library/aifc.rst:99 msgid "" "Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth, " -"framerate, nframes, comptype, compname)``, equivalent to output of the :meth:" -"`get\\*` methods." +"framerate, nframes, comptype, compname)``, equivalent to output of " +"the :meth:`get\\*` methods." msgstr "" "Retorna uma :func:`~collections.namedtuple` ``(nchannels, sampwidth, " -"framerate, nframes, comptype, compname)``, equivalente à saída dos métodos :" -"meth:`get\\*`." +"framerate, nframes, comptype, compname)``, equivalente à saída dos " +"métodos :meth:`get\\*`." #: ../../library/aifc.rst:106 msgid "" @@ -304,8 +304,8 @@ msgid "" msgstr "" "Define todos os parâmetros acima de uma só vez. O argumento é uma tupla que " "consiste em vários parâmetros. Isto significa que é possível usar o " -"resultado de uma chamada de :meth:`getparams` como argumento para :meth:" -"`setparams`." +"resultado de uma chamada de :meth:`getparams` como argumento " +"para :meth:`setparams`." #: ../../library/aifc.rst:212 msgid "" @@ -313,8 +313,8 @@ msgid "" "given position. This method can be called at any time before :meth:`close`." msgstr "" "Adiciona uma marca com o ID fornecido (maior que 0) e o nome dado na posição " -"determinada. Este método pode ser chamado a qualquer momento antes de :meth:" -"`close`." +"determinada. Este método pode ser chamado a qualquer momento antes " +"de :meth:`close`." #: ../../library/aifc.rst:219 msgid "" @@ -334,8 +334,7 @@ msgstr "" #: ../../library/aifc.rst:228 ../../library/aifc.rst:237 msgid "Any :term:`bytes-like object` is now accepted." -msgstr "" -"Todo :term:`objeto byte ou similar ` agora é aceito." +msgstr "Todo :term:`objeto bytes ou similar` agora é aceito." #: ../../library/aifc.rst:234 msgid "" @@ -357,24 +356,24 @@ msgstr "" #: ../../library/aifc.rst:10 msgid "Audio Interchange File Format" -msgstr "" +msgstr "Audio Interchange File Format" #: ../../library/aifc.rst:10 msgid "AIFF" -msgstr "" +msgstr "AIFF" #: ../../library/aifc.rst:10 msgid "AIFF-C" -msgstr "" +msgstr "AIFF-C" #: ../../library/aifc.rst:190 msgid "u-LAW" -msgstr "" +msgstr "u-LAW" #: ../../library/aifc.rst:190 msgid "A-LAW" -msgstr "" +msgstr "A-LAW" #: ../../library/aifc.rst:190 msgid "G.722" -msgstr "" +msgstr "G.722" diff --git a/library/allos.po b/library/allos.po index e17a4feb6..60aa6ef18 100644 --- a/library/allos.po +++ b/library/allos.po @@ -1,26 +1,25 @@ # 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: -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/archiving.po b/library/archiving.po index 8507183e5..f480e9133 100644 --- a/library/archiving.po +++ b/library/archiving.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,10 +31,10 @@ msgstr "Compressão de Dados e Arquivamento" msgid "" "The modules described in this chapter support data compression with the " "zlib, gzip, bzip2 and lzma algorithms, and the creation of ZIP- and tar-" -"format archives. See also :ref:`archiving-operations` provided by the :mod:" -"`shutil` module." +"format archives. See also :ref:`archiving-operations` provided by " +"the :mod:`shutil` module." msgstr "" "Os módulos descritos neste capítulo suportam a compressão de dados com os " "algoritmos zlib, gzip, bzip2 e lzma e a criação de arquivos ZIP e tar. " -"Consulte também :ref:`archiving-operations` fornecido pelo módulo :mod:" -"`shutil`." +"Consulte também :ref:`archiving-operations` fornecido pelo " +"módulo :mod:`shutil`." diff --git a/library/argparse.po b/library/argparse.po index 7ea9a44f6..a330cf25b 100644 --- a/library/argparse.po +++ b/library/argparse.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# And Past , 2021 -# Alexandre B A Villares, 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 -# Danilo Lima , 2022 -# mvpetri , 2022 -# Marco Rougeth , 2022 -# Leticia Portella , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Leticia Portella , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,33 +35,39 @@ msgstr "" msgid "**Source code:** :source:`Lib/argparse.py`" msgstr "**Código-fonte:** :source:`Lib/argparse.py`" -#: ../../library/argparse.rstNone +#: ../../library/argparse.rst-1 msgid "Tutorial" msgstr "Tutorial" #: ../../library/argparse.rst:18 msgid "" "This page contains the API reference information. For a more gentle " -"introduction to Python command-line parsing, have a look at the :ref:" -"`argparse tutorial `." +"introduction to Python command-line parsing, have a look at " +"the :ref:`argparse tutorial `." msgstr "" "Esta página contém informações da API de Referência. Para uma introdução " -"mais prática para o parser de linha de comando Python, acesse o :ref:" -"`tutorial do argparse `." +"mais prática para o parser de linha de comando Python, acesse " +"o :ref:`tutorial do argparse `." #: ../../library/argparse.rst:22 msgid "" "The :mod:`argparse` module makes it easy to write user-friendly command-line " -"interfaces. The program defines what arguments it requires, and :mod:" -"`argparse` will figure out how to parse those out of :data:`sys.argv`. The :" -"mod:`argparse` module also automatically generates help and usage messages. " -"The module will also issue errors when users give the program invalid " -"arguments." -msgstr "" +"interfaces. The program defines what arguments it requires, " +"and :mod:`argparse` will figure out how to parse those out " +"of :data:`sys.argv`. The :mod:`argparse` module also automatically " +"generates help and usage messages. The module will also issue errors when " +"users give the program invalid arguments." +msgstr "" +"O módulo :mod:`argparse` torna fácil a escrita de interfaces de linha de " +"comando amigáveis. O programa define quais argumentos são necessários " +"e :mod:`argparse` descobrirá como analisá-lo e interpretá-los a partir " +"do :data:`sys.argv`. O módulo :mod:`argparse` também gera automaticamente o " +"texto ajuda e mensagens de uso. O módulo também vai emitir erros quando o " +"usuário prover argumentos inválidos para o programa." #: ../../library/argparse.rst:30 msgid "Core Functionality" -msgstr "" +msgstr "Funcionalidade central" #: ../../library/argparse.rst:32 msgid "" @@ -83,16 +82,21 @@ msgid "" "specifications to the parser. It supports positional arguments, options " "that accept values, and on/off flags::" msgstr "" +"O método :meth:`ArgumentParser.add_argument` anexa especificações de " +"argumentos individuais ao analisador. Ele oferece suporte a argumentos " +"posicionais, opções que aceitam valores e sinalizadores de ligar/desligar::" #: ../../library/argparse.rst:50 msgid "" "The :meth:`ArgumentParser.parse_args` method runs the parser and places the " "extracted data in a :class:`argparse.Namespace` object::" msgstr "" +"O método :meth:`ArgumentParser.parse_args` executa o analisador e coloca os " +"dados extraídos em um objeto :class:`argparse.Namespace`::" #: ../../library/argparse.rst:58 msgid "Quick Links for add_argument()" -msgstr "" +msgstr "Links rápidos para add_argument()" #: ../../library/argparse.rst:61 msgid "Name" @@ -108,99 +112,104 @@ msgstr "Valores" #: ../../library/argparse.rst:63 msgid "action_" -msgstr "" +msgstr "action_" #: ../../library/argparse.rst:63 msgid "Specify how an argument should be handled" -msgstr "" +msgstr "Especifica como um argumento deve ser tratado" #: ../../library/argparse.rst:63 msgid "" "``'store'``, ``'store_const'``, ``'store_true'``, ``'append'``, " "``'append_const'``, ``'count'``, ``'help'``, ``'version'``" msgstr "" +"``'store'``, ``'store_const'``, ``'store_true'``, ``'append'``, " +"``'append_const'``, ``'count'``, ``'help'``, ``'version'``" #: ../../library/argparse.rst:64 msgid "choices_" -msgstr "" +msgstr "choices_" #: ../../library/argparse.rst:64 msgid "Limit values to a specific set of choices" -msgstr "" +msgstr "Limita valores a um conjunto específico de opções" #: ../../library/argparse.rst:64 msgid "" "``['foo', 'bar']``, ``range(1, 10)``, or :class:`~collections.abc.Container` " "instance" msgstr "" +"``['foo', 'bar']``, ``range(1, 10)`` ou " +"instância :class:`~collections.abc.Container`" #: ../../library/argparse.rst:65 msgid "const_" -msgstr "" +msgstr "const_" #: ../../library/argparse.rst:65 msgid "Store a constant value" -msgstr "" +msgstr "Armazena um valor constante" #: ../../library/argparse.rst:66 msgid "default_" -msgstr "" +msgstr "default_" #: ../../library/argparse.rst:66 msgid "Default value used when an argument is not provided" -msgstr "" +msgstr "Valor padrão usado quando um argumento não é fornecido" #: ../../library/argparse.rst:66 msgid "Defaults to ``None``" -msgstr "" +msgstr "O padrão é ``None``" #: ../../library/argparse.rst:67 msgid "dest_" -msgstr "" +msgstr "dest_" #: ../../library/argparse.rst:67 msgid "Specify the attribute name used in the result namespace" -msgstr "" +msgstr "Especifica o nome do atributo usado no espaço de nomes de resultado" #: ../../library/argparse.rst:68 msgid "help_" -msgstr "" +msgstr "help_" #: ../../library/argparse.rst:68 msgid "Help message for an argument" -msgstr "" +msgstr "Mensagem de ajuda para um argumento" #: ../../library/argparse.rst:69 msgid "metavar_" -msgstr "" +msgstr "metavar_" #: ../../library/argparse.rst:69 msgid "Alternate display name for the argument as shown in help" msgstr "" +"Nome de exibição alternativo para o argumento conforme mostrado na ajuda" #: ../../library/argparse.rst:70 msgid "nargs_" -msgstr "" +msgstr "nargs_" #: ../../library/argparse.rst:70 msgid "Number of times the argument can be used" -msgstr "" +msgstr "Número de vezes que o argumento pode ser usado" #: ../../library/argparse.rst:70 msgid ":class:`int`, ``'?'``, ``'*'``, or ``'+'``" -msgstr "" +msgstr ":class:`int`, ``'?'``, ``'*'``, ou ``'+'``" #: ../../library/argparse.rst:71 msgid "required_" -msgstr "" +msgstr "required_" #: ../../library/argparse.rst:71 msgid "Indicate whether an argument is required or optional" -msgstr "" +msgstr "Indica se um argumento é obrigatório ou opcional" #: ../../library/argparse.rst:71 msgid "``True`` or ``False``" -msgstr "" +msgstr "``True`` ou ``False``" #: ../../library/argparse.rst:72 msgid "type_" @@ -208,13 +217,15 @@ msgstr "" #: ../../library/argparse.rst:72 msgid "Automatically convert an argument to the given type" -msgstr "" +msgstr "Converte automaticamente um argumento para o tipo fornecido" #: ../../library/argparse.rst:72 msgid "" ":class:`int`, :class:`float`, ``argparse.FileType('w')``, or callable " "function" msgstr "" +":class:`int`, :class:`float`, ``argparse.FileType('w')`` ou uma função " +"chamável" #: ../../library/argparse.rst:77 msgid "Example" @@ -233,6 +244,9 @@ msgid "" "Assuming the above Python code is saved into a file called ``prog.py``, it " "can be run at the command line and it provides useful help messages:" msgstr "" +"Presumindo que o código Python acima seja salvo em um arquivo chamado " +"``prog.py``, ele pode ser executado pela linha de comando e fornece " +"mensagens de ajuda úteis:" #: ../../library/argparse.rst:111 msgid "" @@ -244,7 +258,7 @@ msgstr "" #: ../../library/argparse.rst:122 msgid "If invalid arguments are passed in, an error will be displayed:" -msgstr "" +msgstr "Se argumentos inválidos forem passados, um erro será exibido:" #: ../../library/argparse.rst:130 msgid "The following sections walk you through this example." @@ -256,11 +270,11 @@ msgstr "Criando um analisador sintático" #: ../../library/argparse.rst:136 msgid "" -"The first step in using the :mod:`argparse` is creating an :class:" -"`ArgumentParser` object::" +"The first step in using the :mod:`argparse` is creating " +"an :class:`ArgumentParser` object::" msgstr "" -"O primeiro passo ao utilizar o :mod:`argparse` é criar um objeto :class:" -"`ArgumentParser`::" +"O primeiro passo ao utilizar o :mod:`argparse` é criar um " +"objeto :class:`ArgumentParser`::" #: ../../library/argparse.rst:141 msgid "" @@ -284,11 +298,11 @@ msgid "" "example::" msgstr "" "O preenchimento de :class:`ArgumentParser` com informações sobre os " -"argumentos do programa é feito por chamadas ao método :meth:`~ArgumentParser." -"add_argument`. Geralmente, estas chamadas informam ao :class:" -"`ArgumentParser` como traduzir strings da linha de comando e torná-los em " -"objetos. Esta informação é armazenada e utilizada quando o método :meth:" -"`~ArgumentParser.parse_args` é invocado. Por exemplo::" +"argumentos do programa é feito por chamadas ao " +"método :meth:`~ArgumentParser.add_argument`. Geralmente, estas chamadas " +"informam ao :class:`ArgumentParser` como traduzir strings da linha de " +"comando e torná-los em objetos. Esta informação é armazenada e utilizada " +"quando o método :meth:`~ArgumentParser.parse_args` é invocado. Por exemplo::" #: ../../library/argparse.rst:160 msgid "" @@ -298,6 +312,11 @@ msgid "" "will be either the :func:`sum` function, if ``--sum`` was specified at the " "command line, or the :func:`max` function if it was not." msgstr "" +"Em seguida, a chamada ao método :meth:`~ArgumentParser.parse_args` irá " +"retornar um objeto com dois atributos, ``integers`` e ``accumulate``. O " +"atributo ``integers`` será uma lista com um ou mais números inteiros, e o " +"atributo ``accumulate`` será ou a função :func:`sum`, se ``--sum`` for " +"especificado na linha de comando, ou a função :func:`max`, caso contrário." #: ../../library/argparse.rst:168 msgid "Parsing arguments" @@ -305,18 +324,19 @@ msgstr "Análise de argumentos" #: ../../library/argparse.rst:170 msgid "" -":class:`ArgumentParser` parses arguments through the :meth:`~ArgumentParser." -"parse_args` method. This will inspect the command line, convert each " -"argument to the appropriate type and then invoke the appropriate action. In " -"most cases, this means a simple :class:`Namespace` object will be built up " -"from attributes parsed out of the command line::" +":class:`ArgumentParser` parses arguments through " +"the :meth:`~ArgumentParser.parse_args` method. This will inspect the " +"command line, convert each argument to the appropriate type and then invoke " +"the appropriate action. In most cases, this means a " +"simple :class:`Namespace` object will be built up from attributes parsed out " +"of the command line::" msgstr "" -":class:`ArgumentParser` analisa os argumentos através do método :meth:" -"`~ArgumentParser.parse_args`. Isso inspecionará a linha de comando, " -"converterá cada argumento no tipo apropriado e, em seguida, chamará a ação " -"apropriada. Na maioria dos casos, isso significa que um objeto :class:" -"`Namespace` simples será construído a partir de atributos analisados a " -"partir da linha de comando::" +":class:`ArgumentParser` analisa os argumentos através do " +"método :meth:`~ArgumentParser.parse_args`. Isso inspecionará a linha de " +"comando, converterá cada argumento no tipo apropriado e, em seguida, chamará " +"a ação apropriada. Na maioria dos casos, isso significa que um " +"objeto :class:`Namespace` simples será construído a partir de atributos " +"analisados a partir da linha de comando::" #: ../../library/argparse.rst:179 msgid "" @@ -359,10 +379,14 @@ msgstr "" msgid "" "description_ - Text to display before the argument help (by default, no text)" msgstr "" +"description_ - Texto para exibir antes da ajuda dos argumentos (por padrão, " +"nenhum texto)" #: ../../library/argparse.rst:207 msgid "epilog_ - Text to display after the argument help (by default, no text)" msgstr "" +"epilog_ - Texto para exibir após da ajuda dos argumentos (por padrão, nenhum " +"texto)" #: ../../library/argparse.rst:209 msgid "" @@ -580,19 +604,19 @@ msgstr "parents" msgid "" "Sometimes, several parsers share a common set of arguments. Rather than " "repeating the definitions of these arguments, a single parser with all the " -"shared arguments and passed to ``parents=`` argument to :class:" -"`ArgumentParser` can be used. The ``parents=`` argument takes a list of :" -"class:`ArgumentParser` objects, collects all the positional and optional " -"actions from them, and adds these actions to the :class:`ArgumentParser` " -"object being constructed::" +"shared arguments and passed to ``parents=`` argument " +"to :class:`ArgumentParser` can be used. The ``parents=`` argument takes a " +"list of :class:`ArgumentParser` objects, collects all the positional and " +"optional actions from them, and adds these actions to " +"the :class:`ArgumentParser` object being constructed::" msgstr "" "Às vezes, vários analisadores sintáticos compartilham um conjunto comum de " "argumentos. Ao invés de repetir as definições desses argumentos, um único " "analisador com todos os argumentos compartilhados e passado para o argumento " "``parents=`` para :class:`ArgumentParser` pode ser usado. O argumento " "``parents=`` pega uma lista de objetos :class:`ArgumentParser`, coleta todas " -"as ações posicionais e opcionais deles, e adiciona essas ações ao objeto :" -"class:`ArgumentParser` sendo construído::" +"as ações posicionais e opcionais deles, e adiciona essas ações ao " +"objeto :class:`ArgumentParser` sendo construído::" #: ../../library/argparse.rst:418 msgid "" @@ -631,9 +655,9 @@ msgstr "" #: ../../library/argparse.rst:442 msgid "" ":class:`RawDescriptionHelpFormatter` and :class:`RawTextHelpFormatter` give " -"more control over how textual descriptions are displayed. By default, :class:" -"`ArgumentParser` objects line-wrap the description_ and epilog_ texts in " -"command-line help messages::" +"more control over how textual descriptions are displayed. By " +"default, :class:`ArgumentParser` objects line-wrap the description_ and " +"epilog_ texts in command-line help messages::" msgstr "" ":class:`RawDescriptionHelpFormatter` e :class:`RawTextHelpFormatter` dão " "mais controle sobre como as descrições textuais são exibidas. Por padrão, " @@ -720,12 +744,18 @@ msgid "" "of the specified characters will be treated as files, and will be replaced " "by the arguments they contain. For example::" msgstr "" +"Às vezes ao lidar com uma lista de argumentos particularmente longa, pode " +"fazer sentido manter a lista de argumentos em um arquivo em vez de digitá-la " +"na linha de comando. Se o argumento ``fromfile_prefix_chars=`` for dado ao " +"construtor :class:`ArgumentParser`, então os argumentos que começam com " +"qualquer um dos caracteres especificados serão tratados como arquivos e " +"serão substituídos pelos argumentos que eles contêm. Por exemplo::" #: ../../library/argparse.rst:573 msgid "" -"Arguments read from a file must by default be one per line (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 " +"Arguments read from a file must by default be one per line (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', " "'@args.txt']`` is considered equivalent to the expression ``['-f', 'foo', '-" "f', 'bar']``." @@ -752,23 +782,25 @@ msgstr "argument_default" #: ../../library/argparse.rst:586 msgid "" -"Generally, argument defaults are specified either by passing a default to :" -"meth:`~ArgumentParser.add_argument` or by calling the :meth:`~ArgumentParser." -"set_defaults` methods with a specific set of name-value pairs. Sometimes " -"however, it may be useful to specify a single parser-wide default for " -"arguments. This can be accomplished by passing the ``argument_default=`` " -"keyword argument to :class:`ArgumentParser`. For example, to globally " -"suppress attribute creation on :meth:`~ArgumentParser.parse_args` calls, we " -"supply ``argument_default=SUPPRESS``::" +"Generally, argument defaults are specified either by passing a default " +"to :meth:`~ArgumentParser.add_argument` or by calling " +"the :meth:`~ArgumentParser.set_defaults` methods with a specific set of name-" +"value pairs. Sometimes however, it may be useful to specify a single parser-" +"wide default for arguments. This can be accomplished by passing the " +"``argument_default=`` keyword argument to :class:`ArgumentParser`. For " +"example, to globally suppress attribute creation " +"on :meth:`~ArgumentParser.parse_args` calls, we supply " +"``argument_default=SUPPRESS``::" msgstr "" "Geralmente, os padrões dos argumentos são especificados passando um padrão " -"para :meth:`~ArgumentParser.add_argument` ou chamando os métodos :meth:" -"`~ArgumentParser.set_defaults` com um conjunto específico de pares nome-" -"valor. Às vezes, no entanto, pode ser útil especificar um único padrão para " -"todo o analisador para argumentos. Isso pode ser feito passando o argumento " -"nomeado ``argument_default=`` para :class:`ArgumentParser`. Por exemplo, " -"para suprimir globalmente a criação de atributos em chamadas :meth:" -"`~ArgumentParser.parse_args`, fornecemos ``argument_default=SUPPRESS``::" +"para :meth:`~ArgumentParser.add_argument` ou chamando os " +"métodos :meth:`~ArgumentParser.set_defaults` com um conjunto específico de " +"pares nome-valor. Às vezes, no entanto, pode ser útil especificar um único " +"padrão para argumentos, válido em todo o analisador. Isso pode ser feito " +"passando o argumento nomeado ``argument_default=`` " +"para :class:`ArgumentParser`. Por exemplo, para suprimir globalmente a " +"criação de atributos em chamadas :meth:`~ArgumentParser.parse_args`, " +"fornecemos ``argument_default=SUPPRESS``::" #: ../../library/argparse.rst:606 msgid "allow_abbrev" @@ -776,13 +808,13 @@ msgstr "allow_abbrev" #: ../../library/argparse.rst:608 msgid "" -"Normally, when you pass an argument list to the :meth:`~ArgumentParser." -"parse_args` method of an :class:`ArgumentParser`, it :ref:`recognizes " -"abbreviations ` of long options." +"Normally, when you pass an argument list to " +"the :meth:`~ArgumentParser.parse_args` method of an :class:`ArgumentParser`, " +"it :ref:`recognizes abbreviations ` of long options." msgstr "" -"Normalmente, quando você passa uma lista de argumentos para o método :meth:" -"`~ArgumentParser.parse_args` de um :class:`ArgumentParser`, ele :ref:" -"`reconhece as abreviações ` de opções longas." +"Normalmente, quando você passa uma lista de argumentos para o " +"método :meth:`~ArgumentParser.parse_args` de um :class:`ArgumentParser`, " +"ele :ref:`reconhece as abreviações ` de opções longas." #: ../../library/argparse.rst:612 msgid "This feature can be disabled by setting ``allow_abbrev`` to ``False``::" @@ -827,8 +859,8 @@ msgid "" msgstr "" "Observe que os objetos :class:`ArgumentParser` só removem uma ação se todas " "as suas strings de opção forem substituídas. Assim, no exemplo acima, a " -"antiga ação ``-f/--foo`` é mantida como a ação ``-f``, porque apenas a " -"string de opção ``--foo`` foi substituída." +"antiga ação ``-f/--foo`` é mantida como ``-f``, pois apenas a string de " +"opção ``--foo`` foi substituída." #: ../../library/argparse.rst:662 msgid "add_help" @@ -855,8 +887,8 @@ msgstr "" #: ../../library/argparse.rst:685 msgid "" "Occasionally, it may be useful to disable the addition of this help option. " -"This can be achieved by passing ``False`` as the ``add_help=`` argument to :" -"class:`ArgumentParser`::" +"This can be achieved by passing ``False`` as the ``add_help=`` argument " +"to :class:`ArgumentParser`::" msgstr "" "Às vezes, pode ser útil desabilitar o acréscimo desta opção de ajuda. Isto " "pode ser feito passando ``False`` como o argumento ``add_help=`` para a " @@ -880,9 +912,9 @@ msgstr "exit_on_error" #: ../../library/argparse.rst:714 msgid "" -"Normally, when you pass an invalid argument list to the :meth:" -"`~ArgumentParser.parse_args` method of an :class:`ArgumentParser`, it will " -"exit with error info." +"Normally, when you pass an invalid argument list to " +"the :meth:`~ArgumentParser.parse_args` method of an :class:`ArgumentParser`, " +"it will exit with error info." msgstr "" "Normalmente, quando você passa uma lista de argumentos inválidos para o " "método :meth:`~ArgumentParser.parse_args` de um :class:`ArgumentParser`, ele " @@ -914,7 +946,7 @@ msgid "" "`name or flags`_ - Either a name or a list of option strings, e.g. ``foo`` " "or ``-f, --foo``." msgstr "" -"`name or flags`_ - Um nome ou uma lista de strings de opções, por exemplo. " +"`name ou flags`_ - Um nome ou uma lista de strings de opções, por exemplo. " "``foo`` ou ``-f, --foo``." #: ../../library/argparse.rst:746 @@ -953,14 +985,14 @@ msgstr "" #: ../../library/argparse.rst:758 msgid "choices_ - A sequence of the allowable values for the argument." -msgstr "" +msgstr "choices_ - Uma sequência de valores permitidos para o argumento." #: ../../library/argparse.rst:760 msgid "" "required_ - Whether or not the command-line option may be omitted (optionals " "only)." msgstr "" -"required_ - Se a opção de linha de comando pode ou não ser omitida (somente " +"required_ - Se a opção de linha de comando pode ser omitida ou não (somente " "opcionais)." #: ../../library/argparse.rst:763 @@ -973,11 +1005,11 @@ msgstr "metavar_ - Um nome para o argumento nas mensagens de uso." #: ../../library/argparse.rst:767 msgid "" -"dest_ - The name of the attribute to be added to the object returned by :" -"meth:`parse_args`." +"dest_ - The name of the attribute to be added to the object returned " +"by :meth:`parse_args`." msgstr "" -"dest_ - O nome do atributo a ser adicionado ao objeto retornado por :meth:" -"`parse_args`." +"dest_ - O nome do atributo a ser adicionado ao objeto retornado " +"por :meth:`parse_args`." #: ../../library/argparse.rst:776 msgid "name or flags" @@ -987,14 +1019,19 @@ msgstr "name ou flags" msgid "" "The :meth:`~ArgumentParser.add_argument` method must know whether an " "optional argument, like ``-f`` or ``--foo``, or a positional argument, like " -"a list of filenames, is expected. The first arguments passed to :meth:" -"`~ArgumentParser.add_argument` must therefore be either a series of flags, " -"or a simple argument name." +"a list of filenames, is expected. The first arguments passed " +"to :meth:`~ArgumentParser.add_argument` must therefore be either a series of " +"flags, or a simple argument name." msgstr "" +"O método :meth:`~ArgumentParser.add_argument` deve saber se um argumento " +"opcional, como ``-f`` ou ``--foo``, ou um argumento posicional, como uma " +"lista de nomes de arquivos, é esperado. Os primeiros argumentos passados " +"para :meth:`~ArgumentParser.add_argument` devem, portanto, ser uma série de " +"sinalizadores ou um único nome de argumento." #: ../../library/argparse.rst:784 msgid "For example, an optional argument could be created like::" -msgstr "" +msgstr "Por exemplo, um argumento opcional poderia ser criado como::" #: ../../library/argparse.rst:788 msgid "while a positional argument could be created like::" @@ -1012,7 +1049,7 @@ msgstr "" #: ../../library/argparse.rst:811 msgid "action" -msgstr "action" +msgstr "ação" #: ../../library/argparse.rst:813 msgid "" @@ -1026,10 +1063,10 @@ msgstr "" "Objetos :class:`ArgumentParser` associam argumentos de linha de comando com " "ações. Essas ações podem fazer praticamente qualquer coisa com os argumentos " "de linha de comando associados a elas, embora a maioria das ações " -"simplesmente adicione um atributo ao objeto retornado por :meth:" -"`~ArgumentParser.parse_args`. O argumento nomeado ``action`` especifica como " -"os argumentos da linha de comando devem ser tratados. As ações fornecidas " -"são:" +"simplesmente adicione um atributo ao objeto retornado " +"por :meth:`~ArgumentParser.parse_args`. O argumento nomeado ``action`` " +"especifica como os argumentos da linha de comando devem ser tratados. As " +"ações fornecidas são:" #: ../../library/argparse.rst:819 msgid "" @@ -1046,6 +1083,10 @@ msgid "" "``'store_const'`` action is most commonly used with optional arguments that " "specify some sort of flag. For example::" msgstr "" +"``'store_const'`` - Isso armazena o valor especificado pelo argumento " +"nomeado const_; observe que o argumento nomeado const_ tem como padrão " +"``None``. A ação ``'store_const'`` é mais comumente usada com argumentos " +"opcionais que especificam algum tipo de sinalizador. Por exemplo::" #: ../../library/argparse.rst:837 msgid "" @@ -1067,6 +1108,11 @@ msgid "" "parsed value for the option, with any values from the command line appended " "after those default values. Example usage::" msgstr "" +"``'append'`` - Isso armazena uma lista e anexa cada valor de argumento à " +"lista. É útil permitir que uma opção seja especificada várias vezes. Se o " +"valor padrão não estiver vazio, os elementos padrão estarão presentes no " +"valor analisado da opção, com quaisquer valores da linha de comando anexados " +"após esses valores padrão. Exemplo de uso::" #: ../../library/argparse.rst:860 msgid "" @@ -1076,6 +1122,11 @@ msgid "" "useful when multiple arguments need to store constants to the same list. For " "example::" msgstr "" +"``'append_const'`` - Isso armazena uma lista e anexa o valor especificado " +"pelo argumento nomeado const_ à lista; observe que o argumento nomeado " +"const_ tem como padrão ``None``. A ação ``'append_const'`` é normalmente " +"útil quando vários argumentos precisam armazenar constantes na mesma lista. " +"Por exemplo::" #: ../../library/argparse.rst:872 msgid "" @@ -1100,18 +1151,18 @@ msgid "" msgstr "" "``'help'`` - Isso imprime uma mensagem de ajuda completa para todas as " "opções no analisador sintático atual e sai. Por padrão, uma ação de ajuda é " -"adicionada automaticamente ao analisador sintático. Veja :class:" -"`ArgumentParser` para detalhes de como a saída é criada." +"adicionada automaticamente ao analisador sintático. " +"Veja :class:`ArgumentParser` para detalhes de como a saída é criada." #: ../../library/argparse.rst:887 msgid "" -"``'version'`` - This expects a ``version=`` keyword argument in the :meth:" -"`~ArgumentParser.add_argument` call, and prints version information and " -"exits when invoked::" +"``'version'`` - This expects a ``version=`` keyword argument in " +"the :meth:`~ArgumentParser.add_argument` call, and prints version " +"information and exits when invoked::" msgstr "" -"``'version'`` - Isso espera um argumento nomeado ``version=`` na chamada :" -"meth:`~ArgumentParser.add_argument` e imprime informações de versão e sai " -"quando invocado::" +"``'version'`` - Isso espera um argumento nomeado ``version=`` na " +"chamada :meth:`~ArgumentParser.add_argument` e imprime informações de versão " +"e sai quando invocado::" #: ../../library/argparse.rst:897 msgid "" @@ -1139,9 +1190,9 @@ msgid "" "overriding the ``__call__`` method and optionally the ``__init__`` and " "``format_usage`` methods." msgstr "" -"A maneira recomendada de criar uma ação personalizada é estender :class:" -"`Action`, substituindo o método ``__call__`` e opcionalmente os métodos " -"``__init__`` e ``format_usage``." +"A maneira recomendada de criar uma ação personalizada é " +"estender :class:`Action`, substituindo o método ``__call__`` e opcionalmente " +"os métodos ``__init__`` e ``format_usage``." #: ../../library/argparse.rst:925 msgid "An example of a custom action::" @@ -1262,11 +1313,19 @@ msgstr "" msgid "" "When :meth:`~ArgumentParser.add_argument` is called with " "``action='store_const'`` or ``action='append_const'``. These actions add " -"the ``const`` value to one of the attributes of the object returned by :meth:" -"`~ArgumentParser.parse_args`. See the action_ description for examples. If " -"``const`` is not provided to :meth:`~ArgumentParser.add_argument`, it will " -"receive a default value of ``None``." -msgstr "" +"the ``const`` value to one of the attributes of the object returned " +"by :meth:`~ArgumentParser.parse_args`. See the action_ description for " +"examples. If ``const`` is not provided " +"to :meth:`~ArgumentParser.add_argument`, it will receive a default value of " +"``None``." +msgstr "" +"Quando :meth:`~ArgumentParser.add_argument` é chamado com " +"``action='store_const'`` ou ``action='append_const'``. Essas ações adicionam " +"o valor ``const`` a um dos atributos do objeto retornado " +"por :meth:`~ArgumentParser.parse_args`. Consulte a descrição da action_ para " +"obter exemplos. Se ``const`` não for " +"fornecido :meth:`~ArgumentParser.add_argument`, será recebido um valor " +"padrão de ``None``." #: ../../library/argparse.rst:1054 msgid "" @@ -1277,12 +1336,20 @@ msgid "" "command-line argument following it, the value of ``const`` will be assumed " "to be ``None`` instead. See the nargs_ description for examples." msgstr "" +"Quando :meth:`~ArgumentParser.add_argument` é chamado com strings de opções " +"(como ``-f`` ou ``--foo``) e ``nargs='?'``. Isso cria um argumento opcional " +"que pode ser seguido por zero ou um argumento de linha de comando. Ao " +"analisar a linha de comando, se a string de opções for encontrada sem nenhum " +"argumento de linha de comando seguindo, o valor de ``const`` será presumido " +"como sendo ``None``. Veja a descrição de nargs_ para exemplos." #: ../../library/argparse.rst:1061 msgid "" "``const=None`` by default, including when ``action='append_const'`` or " "``action='store_const'``." msgstr "" +"``const=None`` por padrão, incluindo quando ``action='append_const'`` ou " +"``action='store_const'``." #: ../../library/argparse.rst:1068 msgid "default" @@ -1291,18 +1358,18 @@ msgstr "default" #: ../../library/argparse.rst:1070 msgid "" "All optional arguments and some positional arguments may be omitted at the " -"command line. The ``default`` keyword argument of :meth:`~ArgumentParser." -"add_argument`, whose value defaults to ``None``, specifies what value should " -"be used if the command-line argument is not present. For optional arguments, " -"the ``default`` value is used when the option string was not present at the " -"command line::" +"command line. The ``default`` keyword argument " +"of :meth:`~ArgumentParser.add_argument`, whose value defaults to ``None``, " +"specifies what value should be used if the command-line argument is not " +"present. For optional arguments, the ``default`` value is used when the " +"option string was not present at the command line::" msgstr "" "Todos os argumentos opcionais e alguns argumentos posicionais podem ser " -"omitidos na linha de comando. O argumento nomeado ``default`` de :meth:" -"`~ArgumentParser.add_argument`, cujo valor padrão é ``None``, especifica " -"qual valor deve ser usado se o argumento de linha de comando não estiver " -"presente. Para argumentos opcionais, o valor ``default`` é usado quando a " -"string de opção não estava presente na linha de comando::" +"omitidos na linha de comando. O argumento nomeado ``default`` " +"de :meth:`~ArgumentParser.add_argument`, cujo valor padrão é ``None``, " +"especifica qual valor deve ser usado se o argumento de linha de comando não " +"estiver presente. Para argumentos opcionais, o valor ``default`` é usado " +"quando a string de opção não estava presente na linha de comando::" #: ../../library/argparse.rst:1084 msgid "" @@ -1316,8 +1383,9 @@ msgstr "" msgid "" "If the ``default`` value is a string, the parser parses the value as if it " "were a command-line argument. In particular, the parser applies any type_ " -"conversion argument, if provided, before setting the attribute on the :class:" -"`Namespace` return value. Otherwise, the parser uses the value as is::" +"conversion argument, if provided, before setting the attribute on " +"the :class:`Namespace` return value. Otherwise, the parser uses the value " +"as is::" msgstr "" "Se o valor ``default`` for uma string, o analisador analisa o valor como se " "fosse um argumento de linha de comando. Em particular, o analisador aplica " @@ -1330,12 +1398,17 @@ msgid "" "For positional arguments with nargs_ equal to ``?`` or ``*``, the " "``default`` value is used when no command-line argument was present::" msgstr "" +"Para argumentos posicionais com nargs_ igual a ``?`` ou ``*``, o valor " +"``default`` é usado quando nenhum argumento de linha de comando estava " +"presente::" #: ../../library/argparse.rst:1114 msgid "" "Providing ``default=argparse.SUPPRESS`` causes no attribute to be added if " "the command-line argument was not present::" msgstr "" +"Fornecer ``default=argparse.SUPPRESS`` faz com que nenhum atributo seja " +"adicionado se o argumento da linha de comando não estiver presente::" #: ../../library/argparse.rst:1128 msgid "type" @@ -1349,28 +1422,41 @@ msgid "" "keyword for :meth:`~ArgumentParser.add_argument` allows any necessary type-" "checking and type conversions to be performed." msgstr "" +"Por padrão, o analisador sintático lê os argumentos de linha de comando como " +"strings simples. No entanto, muitas vezes a string da linha de comando deve " +"ser interpretada como outro tipo, como :class:`float` ou :class:`int`. O " +"argumento nomeado ``type`` para :meth:`~ArgumentParser.add_argument` permite " +"que qualquer verificação de tipo e conversões de tipo necessárias sejam " +"realizadas." #: ../../library/argparse.rst:1136 msgid "" "If the type_ keyword is used with the default_ keyword, the type converter " "is only applied if the default is a string." msgstr "" +"Se o argumento nomeado type_ for usado com default_, o conversor de tipo só " +"será aplicado se o padrão for uma string." #: ../../library/argparse.rst:1139 msgid "" "The argument to ``type`` can be any callable that accepts a single string. " -"If the function raises :exc:`ArgumentTypeError`, :exc:`TypeError`, or :exc:" -"`ValueError`, the exception is caught and a nicely formatted error message " -"is displayed. No other exception types are handled." +"If the function raises :exc:`ArgumentTypeError`, :exc:`TypeError`, " +"or :exc:`ValueError`, the exception is caught and a nicely formatted error " +"message is displayed. No other exception types are handled." msgstr "" +"O argumento para ``type`` pode ser qualquer chamável que aceite uma única " +"string. Se a função levantar :exc:`ArgumentTypeError`, :exc:`TypeError` " +"ou :exc:`ValueError`, a exceção será capturada e uma mensagem de erro bem " +"formatada será exibida. Nenhum outro tipo de exceção é tratado." #: ../../library/argparse.rst:1144 msgid "Common built-in types and functions can be used as type converters:" msgstr "" +"Tipos e funções embutidas comuns podem ser usados como conversores de tipo:" #: ../../library/argparse.rst:1160 msgid "User defined functions can be used as well:" -msgstr "" +msgstr "Funções definidas pelo usuário também podem ser usadas:" #: ../../library/argparse.rst:1172 msgid "" @@ -1378,6 +1464,9 @@ msgid "" "does is convert empty strings to ``False`` and non-empty strings to " "``True``. This is usually not what is desired." msgstr "" +"A função :func:`bool` não é recomendada como conversor de tipo. Tudo o que " +"ele faz é converter strings vazias em ``False`` e strings não vazias em " +"``True``. Geralmente não é isso que se deseja." #: ../../library/argparse.rst:1176 msgid "" @@ -1386,14 +1475,22 @@ msgid "" "exceptions. Anything with more interesting error-handling or resource " "management should be done downstream after the arguments are parsed." msgstr "" +"Em geral, o argumento nomeado ``type`` é uma conveniência a ser usada apenas " +"para conversões simples que geram apenas uma das três exceções suportadas. " +"Qualquer coisa com tratamento de erros ou gerenciamento de recursos mais " +"interessante deve ser feita posteriormente, após a análise dos argumentos." #: ../../library/argparse.rst:1181 msgid "" "For example, JSON or YAML conversions have complex error cases that require " -"better reporting than can be given by the ``type`` keyword. A :exc:`~json." -"JSONDecodeError` would not be well formatted and a :exc:`FileNotFoundError` " -"exception would not be handled at all." +"better reporting than can be given by the ``type`` keyword. " +"A :exc:`~json.JSONDecodeError` would not be well formatted and " +"a :exc:`FileNotFoundError` exception would not be handled at all." msgstr "" +"Por exemplo, conversões JSON ou YAML têm casos de erros complexos que exigem " +"relatórios melhores do que os fornecidos pelo argumento nomeado ``type``. " +"Um :exc:`~json.JSONDecodeError` não seria bem formatado e uma " +"exceção :exc:`FileNotFoundError` não seria tratada." #: ../../library/argparse.rst:1186 msgid "" @@ -1403,12 +1500,20 @@ msgid "" "closed. In this case, it would be better to wait until after the parser has " "run and then use the :keyword:`with`-statement to manage the files." msgstr "" +"Mesmo :class:`~argparse.FileType` tem suas limitações para uso com o " +"argumento nomeado ``type``. Se um argumento usar *FileType* e um argumento " +"subsequente falhar, um erro será relatado, mas o arquivo não será fechado " +"automaticamente. Neste caso, seria melhor esperar até que o analisador tenha " +"sido executado e então usar a instrução :keyword:`with` para gerenciar os " +"arquivos." #: ../../library/argparse.rst:1192 msgid "" "For type checkers that simply check against a fixed set of values, consider " "using the choices_ keyword instead." msgstr "" +"Para verificadores de tipo que simplesmente verificam um conjunto fixo de " +"valores, considere usar o argumento nomeado choices_." #: ../../library/argparse.rst:1199 msgid "choices" @@ -1422,6 +1527,12 @@ msgid "" "line is parsed, argument values will be checked, and an error message will " "be displayed if the argument was not one of the acceptable values::" msgstr "" +"Alguns argumentos de linha de comando devem ser selecionados em um conjunto " +"restrito de valores. Eles podem ser tratados passando um objeto sequência " +"como o argumento nomeado *choices* " +"para :meth:`~ArgumentParser.add_argument`. Quando a linha de comando for " +"analisada, os valores dos argumentos serão verificados e uma mensagem de " +"erro será exibida se o argumento não for um dos valores aceitáveis::" #: ../../library/argparse.rst:1216 msgid "" @@ -1429,18 +1540,26 @@ msgid "" "conversions have been performed, so the type of the objects in the *choices* " "sequence should match the type_ specified::" msgstr "" +"Observe que a inclusão na sequência *choices* é verificada após qualquer " +"conversão de type_ ter sido realizada, portanto o tipo dos objetos na " +"sequência *choices* deve corresponder ao type_ especificado::" #: ../../library/argparse.rst:1228 msgid "" "Any sequence can be passed as the *choices* value, so :class:`list` " "objects, :class:`tuple` objects, and custom sequences are all supported." msgstr "" +"Qualquer sequência pode ser passada como o valor *choices*, portanto " +"objetos :class:`list`, objetos :class:`tuple` e sequências personalizadas " +"são todos suportados." #: ../../library/argparse.rst:1231 msgid "" "Use of :class:`enum.Enum` is not recommended because it is difficult to " "control its appearance in usage, help, and error messages." msgstr "" +"O uso de :class:`enum.Enum` não é recomendado porque é difícil controlar sua " +"aparência no uso, na ajuda e nas mensagens de erro." #: ../../library/argparse.rst:1234 msgid "" @@ -1449,6 +1568,10 @@ msgid "" "*dest* parameter. If this display isn't desirable (perhaps because there " "are many choices), just specify an explicit metavar_." msgstr "" +"As opções formatadas substituem o *metavar* padrão que normalmente é " +"derivado de *dest*. Geralmente é isso que você deseja porque o usuário nunca " +"vê o parâmetro *dest*. Se esta exibição não for desejável (talvez porque " +"haja muitas opções), basta especificar um metavar_ explícito." #: ../../library/argparse.rst:1243 msgid "required" @@ -1461,19 +1584,30 @@ msgid "" "command line. To make an option *required*, ``True`` can be specified for " "the ``required=`` keyword argument to :meth:`~ArgumentParser.add_argument`::" msgstr "" +"Em geral, o módulo :mod:`argparse` presume que sinalizadores como ``-f`` e " +"``--bar`` indicam argumentos *opcionais*, que sempre podem ser omitidos na " +"linha de comando. Para tornar uma opção obrigatória, ``True`` pode ser " +"especificado para o argumento nomeado ``required=`` " +"para :meth:`~ArgumentParser.add_argument`::" #: ../../library/argparse.rst:1258 msgid "" -"As the example shows, if an option is marked as ``required``, :meth:" -"`~ArgumentParser.parse_args` will report an error if that option is not " -"present at the command line." +"As the example shows, if an option is marked as " +"``required``, :meth:`~ArgumentParser.parse_args` will report an error if " +"that option is not present at the command line." msgstr "" +"Como mostra o exemplo, se uma opção estiver marcada como " +"``required``, :meth:`~ArgumentParser.parse_args` reportará um erro se essa " +"opção não estiver presente na linha de comando." #: ../../library/argparse.rst:1264 msgid "" "Required options are generally considered bad form because users expect " "*options* to be *optional*, and thus they should be avoided when possible." msgstr "" +"As opções obrigatórias são geralmente consideradas inadequadas porque os " +"usuários esperam que as *opções* sejam *opcionais* e, portanto, devem ser " +"evitadas quando possível." #: ../../library/argparse.rst:1271 msgid "help" @@ -1486,27 +1620,42 @@ msgid "" "at the command line), these ``help`` descriptions will be displayed with " "each argument::" msgstr "" +"O valor ``help`` é uma string contendo uma breve descrição do argumento. " +"Quando um usuário solicita ajuda (geralmente usando ``-h`` ou ``--help`` na " +"linha de comando), estas descrições de ``help`` serão exibidas com cada " +"argumento::" #: ../../library/argparse.rst:1293 msgid "" "The ``help`` strings can include various format specifiers to avoid " "repetition of things like the program name or the argument default_. The " "available specifiers include the program name, ``%(prog)s`` and most keyword " -"arguments to :meth:`~ArgumentParser.add_argument`, e.g. ``%(default)s``, " -"``%(type)s``, etc.::" +"arguments to :meth:`~ArgumentParser.add_argument`, e.g. ``%(default)s``, ``%" +"(type)s``, etc.::" msgstr "" +"As strings ``help`` podem incluir vários especificadores de formato para " +"evitar a repetição de coisas como o nome do programa ou o argumento " +"default_. Os especificadores disponíveis incluem o nome do programa, ``%" +"(prog)s`` e a maioria dos argumentos nomeados " +"para :meth:`~ArgumentParser.add_argument`, por exemplo. ``%(default)s``, ``%" +"(type)s``, etc.::" #: ../../library/argparse.rst:1310 msgid "" "As the help string supports %-formatting, if you want a literal ``%`` to " "appear in the help string, you must escape it as ``%%``." msgstr "" +"Como a string de ajuda oferece suporte à formatação com %, se você quiser " +"que um literal ``%`` apareça na string de ajuda, você deve escapá-lo como ``%" +"%``." #: ../../library/argparse.rst:1313 msgid "" ":mod:`argparse` supports silencing the help entry for certain options, by " "setting the ``help`` value to ``argparse.SUPPRESS``::" msgstr "" +":mod:`argparse` oferece suporte a silenciar a entrada de ajuda para certas " +"opções, definindo o valor ``help`` como ``argparse.SUPPRESS``::" #: ../../library/argparse.rst:1328 msgid "metavar" @@ -1523,10 +1672,19 @@ msgid "" "optional argument ``--foo`` that should be followed by a single command-line " "argument will be referred to as ``FOO``. An example::" msgstr "" +"Quando :class:`ArgumentParser` gera mensagens de ajuda, ele precisa de " +"alguma forma de se referir a cada argumento esperado. Por padrão, os objetos " +"ArgumentParser usam o valor dest_ como o \"nome\" de cada objeto. Por " +"padrão, para ações de argumentos posicionais, o valor dest_ é usado " +"diretamente, e para ações de argumentos opcionais, o valor dest_ é " +"maiúsculo. Portanto, um único argumento posicional com ``dest='bar'`` será " +"referido como ``bar``. Um único argumento opcional ``--foo`` que deve ser " +"seguido por um único argumento de linha de comando será referido como " +"``FOO``. Um exemplo::" #: ../../library/argparse.rst:1354 msgid "An alternative name can be specified with ``metavar``::" -msgstr "" +msgstr "Um nome alternativo pode ser especificado com ``metavar``::" #: ../../library/argparse.rst:1371 msgid "" @@ -1534,6 +1692,9 @@ msgid "" "attribute on the :meth:`~ArgumentParser.parse_args` object is still " "determined by the dest_ value." msgstr "" +"Observe que ``metavar`` apenas altera o nome *exibido* - o nome do atributo " +"no objeto :meth:`~ArgumentParser.parse_args` ainda é determinado pelo valor " +"dest_." #: ../../library/argparse.rst:1375 msgid "" @@ -1541,6 +1702,9 @@ msgid "" "times. Providing a tuple to ``metavar`` specifies a different display for " "each of the arguments::" msgstr "" +"Valores diferentes de ``nargs`` podem fazer com que o metavar seja usado " +"múltiplas vezes. Fornecer uma tupla para ``metavar`` especifica uma exibição " +"diferente para cada um dos argumentos::" #: ../../library/argparse.rst:1394 msgid "dest" @@ -1550,11 +1714,17 @@ msgstr "dest" msgid "" "Most :class:`ArgumentParser` actions add some value as an attribute of the " "object returned by :meth:`~ArgumentParser.parse_args`. The name of this " -"attribute is determined by the ``dest`` keyword argument of :meth:" -"`~ArgumentParser.add_argument`. For positional argument actions, ``dest`` " -"is normally supplied as the first argument to :meth:`~ArgumentParser." -"add_argument`::" -msgstr "" +"attribute is determined by the ``dest`` keyword argument " +"of :meth:`~ArgumentParser.add_argument`. For positional argument actions, " +"``dest`` is normally supplied as the first argument " +"to :meth:`~ArgumentParser.add_argument`::" +msgstr "" +"A maioria das ações :class:`ArgumentParser` adiciona algum valor como um " +"atributo do objeto retornado por :meth:`~ArgumentParser.parse_args`. O nome " +"deste atributo é determinado pelo argumento nomeado ``dest`` " +"de :meth:`~ArgumentParser.add_argument`. Para ações de argumento posicional, " +"``dest`` é normalmente fornecido como o primeiro argumento " +"para :meth:`~ArgumentParser.add_argument`::" #: ../../library/argparse.rst:1408 msgid "" @@ -1567,22 +1737,35 @@ msgid "" "characters to make sure the string is a valid attribute name. The examples " "below illustrate this behavior::" msgstr "" +"Para ações de argumentos opcionais, o valor de ``dest`` é normalmente " +"inferido das strings de opções. :class:`ArgumentParser` gera o valor de " +"``dest`` pegando a primeira string de opção longa e removendo a string " +"inicial ``--``. Se nenhuma string de opção longa for fornecida, ``dest`` " +"será derivado da primeira string de opção curta removendo o caractere ``-`` " +"inicial. Quaisquer caracteres ``-`` internos serão convertidos em " +"caracteres ``_`` para garantir que a string seja um nome de atributo válido. " +"Os exemplos abaixo ilustram esse comportamento:" #: ../../library/argparse.rst:1425 msgid "``dest`` allows a custom attribute name to be provided::" msgstr "" +"``dest`` permite que um nome de atributo personalizado seja fornecido::" #: ../../library/argparse.rst:1433 msgid "Action classes" -msgstr "" +msgstr "Classes de ação" #: ../../library/argparse.rst:1435 msgid "" "Action classes implement the Action API, a callable which returns a callable " "which processes arguments from the command-line. Any object which follows " -"this API may be passed as the ``action`` parameter to :meth:`~ArgumentParser." -"add_argument`." +"this API may be passed as the ``action`` parameter " +"to :meth:`~ArgumentParser.add_argument`." msgstr "" +"As classes de ação implementam a API de Action, um chamável que retorna um " +"chamável que processa argumentos da linha de comando. Qualquer objeto que " +"siga esta API pode ser passado como parâmetro ``action`` " +"para :meth:`~ArgumentParser.add_argument`." #: ../../library/argparse.rst:1444 msgid "" @@ -1613,9 +1796,9 @@ msgstr "" #: ../../library/argparse.rst:1460 msgid "" -"``namespace`` - The :class:`Namespace` object that will be returned by :meth:" -"`~ArgumentParser.parse_args`. Most actions add an attribute to this object " -"using :func:`setattr`." +"``namespace`` - The :class:`Namespace` object that will be returned " +"by :meth:`~ArgumentParser.parse_args`. Most actions add an attribute to " +"this object using :func:`setattr`." msgstr "" #: ../../library/argparse.rst:1464 @@ -1647,36 +1830,42 @@ msgstr "" #: ../../library/argparse.rst:1480 msgid "The parse_args() method" -msgstr "" +msgstr "O método parse_args()" #: ../../library/argparse.rst:1484 msgid "" "Convert argument strings to objects and assign them as attributes of the " "namespace. Return the populated namespace." msgstr "" +"Converte strings de argumento em objetos e os atribui como atributos do " +"espaço de nomes. Retorna o espaço de nomes preenchido." #: ../../library/argparse.rst:1487 msgid "" "Previous calls to :meth:`add_argument` determine exactly what objects are " -"created and how they are assigned. See the documentation for :meth:" -"`add_argument` for details." +"created and how they are assigned. See the documentation " +"for :meth:`add_argument` for details." msgstr "" #: ../../library/argparse.rst:1491 msgid "" -"args_ - List of strings to parse. The default is taken from :data:`sys." -"argv`." +"args_ - List of strings to parse. The default is taken " +"from :data:`sys.argv`." msgstr "" +"args_ - Lista de strings para analisar. O padrão é obtido " +"de :data:`sys.argv`." #: ../../library/argparse.rst:1494 msgid "" -"namespace_ - An object to take the attributes. The default is a new empty :" -"class:`Namespace` object." +"namespace_ - An object to take the attributes. The default is a new " +"empty :class:`Namespace` object." msgstr "" +"namespace_ - Um objeto para receber os atributos. O padrão é um novo " +"objeto :class:`Namespace` vazio." #: ../../library/argparse.rst:1499 msgid "Option value syntax" -msgstr "" +msgstr "Sintaxe de valores da opção" #: ../../library/argparse.rst:1501 msgid "" @@ -1684,6 +1873,9 @@ msgid "" "specifying the value of an option (if it takes one). In the simplest case, " "the option and its value are passed as two separate arguments::" msgstr "" +"O método :meth:`~ArgumentParser.parse_args` provê várias maneiras de " +"especificar o valor de uma opção (se ele pegar uma). No caso mais simples, a " +"opção e seu valor são passados como dois argumentos separados::" #: ../../library/argparse.rst:1513 msgid "" @@ -1691,18 +1883,25 @@ msgid "" "option and value can also be passed as a single command-line argument, using " "``=`` to separate them::" msgstr "" +"Para opções longas (opções com nomes maiores que um único caractere), a " +"opção e o valor também podem ser passados como um único argumento de linha " +"de comando, usando ``=`` para separá-los::" #: ../../library/argparse.rst:1520 msgid "" "For short options (options only one character long), the option and its " "value can be concatenated::" msgstr "" +"Para opções curtas (opções com apenas um caractere), a opção e seu valor " +"podem ser concatenados:" #: ../../library/argparse.rst:1526 msgid "" "Several short options can be joined together, using only a single ``-`` " "prefix, as long as only the last option (or none of them) requires a value::" msgstr "" +"Várias opções curtas podem ser unidas, usando apenas um único prefixo ``-``, " +"desde que apenas a última opção (ou nenhuma delas) exija um valor::" #: ../../library/argparse.rst:1538 msgid "Invalid arguments" @@ -1715,6 +1914,10 @@ msgid "" "options, wrong number of positional arguments, etc. When it encounters such " "an error, it exits and prints the error along with a usage message::" msgstr "" +"Ao analisar a linha de comando, :meth:`~ArgumentParser.parse_args` verifica " +"uma variedade de erros, incluindo opções ambíguas, tipos inválidos, opções " +"inválidas, número incorreto de argumentos posicionais, etc. Quando encontra " +"tal erro, ele sai e imprime o erro junto com uma mensagem de uso::" #: ../../library/argparse.rst:1566 msgid "Arguments containing ``-``" @@ -1731,6 +1934,14 @@ msgid "" "like negative numbers and there are no options in the parser that look like " "negative numbers::" msgstr "" +"O método :meth:`~ArgumentParser.parse_args` tenta mostrar erros sempre que o " +"usuário claramente cometeu um erro, mas algumas situações são inerentemente " +"ambíguas. Por exemplo, o argumento de linha de comando ``-1`` pode ser uma " +"tentativa de especificar uma opção ou uma tentativa de fornecer um argumento " +"posicional. O método :meth:`~ArgumentParser.parse_args` é cauteloso aqui: " +"argumentos posicionais só podem começar com ``-`` se eles se parecerem com " +"números negativos e não houver opções no analisador sintático que se pareçam " +"com números negativos::" #: ../../library/argparse.rst:1606 msgid "" @@ -1739,10 +1950,14 @@ msgid "" "tells :meth:`~ArgumentParser.parse_args` that everything after that is a " "positional argument::" msgstr "" +"Se você tiver argumentos posicionais que devem começar com ``-`` e não se " +"parecem com números negativos, você pode inserir o pseudoargumento ``'--'`` " +"que informa :meth:`~ArgumentParser.parse_args` que tudo depois disso é um " +"argumento posicional::" #: ../../library/argparse.rst:1617 msgid "Argument abbreviations (prefix matching)" -msgstr "" +msgstr "Abreviações de argumento (correspondência de prefixo)" #: ../../library/argparse.rst:1619 msgid "" @@ -1750,12 +1965,18 @@ msgid "" "` allows long options to be abbreviated to a prefix, if the " "abbreviation is unambiguous (the prefix matches a unique option)::" msgstr "" +"O método :meth:`~ArgumentParser.parse_args` :ref:`por padrão ` " +"permite que opções longas sejam abreviadas para um prefixo, se a abreviação " +"não for ambígua (o prefixo corresponde a uma opção única)::" #: ../../library/argparse.rst:1634 msgid "" "An error is produced for arguments that could produce more than one options. " "This feature can be disabled by setting :ref:`allow_abbrev` to ``False``." msgstr "" +"Um erro é produzido para argumentos que podem produzir mais de uma opção. " +"Este recurso pode ser desabilitado definindo :ref:`allow_abbrev` como " +"``False``." #: ../../library/argparse.rst:1640 msgid "Beyond ``sys.argv``" @@ -1778,6 +1999,8 @@ msgid "" "Simple class used by default by :meth:`~ArgumentParser.parse_args` to create " "an object holding attributes and return it." msgstr "" +"Classe simples usada por padrão por :meth:`~ArgumentParser.parse_args` para " +"criar um objeto contendo atributos e retorná-lo." #: ../../library/argparse.rst:1669 msgid "" @@ -1785,6 +2008,10 @@ msgid "" "readable string representation. If you prefer to have dict-like view of the " "attributes, you can use the standard Python idiom, :func:`vars`::" msgstr "" +"Esta classe é deliberadamente simples, apenas uma subclasse :class:`object` " +"com uma representação de string legível. Se você preferir ter uma visão dos " +"atributos do tipo dict, você pode usar o idioma padrão do " +"Python, :func:`vars`::" #: ../../library/argparse.rst:1679 msgid "" @@ -1792,14 +2019,17 @@ msgid "" "to an already existing object, rather than a new :class:`Namespace` object. " "This can be achieved by specifying the ``namespace=`` keyword argument::" msgstr "" +"Também pode ser útil ter um :class:`ArgumentParser` atribuindo atributos a " +"um objeto já existente, em vez de um novo objeto :class:`Namespace`. Isso " +"pode ser obtido especificando o argumento nomeado ``namespace=``::" #: ../../library/argparse.rst:1695 msgid "Other utilities" -msgstr "" +msgstr "Outros utilitários" #: ../../library/argparse.rst:1698 msgid "Sub-commands" -msgstr "Sub-comandos" +msgstr "Subcomandos" #: ../../library/argparse.rst:1705 msgid "" @@ -1811,10 +2041,10 @@ msgid "" "arguments. :class:`ArgumentParser` supports the creation of such sub-" "commands with the :meth:`add_subparsers` method. The :meth:`add_subparsers` " "method is normally called with no arguments and returns a special action " -"object. This object has a single method, :meth:`~_SubParsersAction." -"add_parser`, which takes a command name and any :class:`ArgumentParser` " -"constructor arguments, and returns an :class:`ArgumentParser` object that " -"can be modified as usual." +"object. This object has a single " +"method, :meth:`~_SubParsersAction.add_parser`, which takes a command name " +"and any :class:`ArgumentParser` constructor arguments, and returns " +"an :class:`ArgumentParser` object that can be modified as usual." msgstr "" #: ../../library/argparse.rst:1717 @@ -1852,22 +2082,30 @@ msgid "" "action_ - the basic type of action to be taken when this argument is " "encountered at the command line" msgstr "" +"action_ - o tipo básico de ação a ser executada quando esse argumento é " +"encontrado na linha de comando" #: ../../library/argparse.rst:1736 msgid "" "dest_ - name of the attribute under which sub-command name will be stored; " "by default ``None`` and no value is stored" msgstr "" +"dest_ - nome do atributo sob o qual o nome do subcomando será armazenado; " +"por padrão ``None`` e nenhum valor é armazenado" #: ../../library/argparse.rst:1739 msgid "" "required_ - Whether or not a subcommand must be provided, by default " "``False`` (added in 3.7)" msgstr "" +"required_ - Se um subcomando deve ou não ser fornecido, por padrão ``False`` " +"(adicionado em 3.7)" #: ../../library/argparse.rst:1742 msgid "help_ - help for sub-parser group in help output, by default ``None``" msgstr "" +"help_ - ajuda para o grupo de subanalisadores na saída de ajuda, por padrão " +"``None``" #: ../../library/argparse.rst:1744 msgid "" @@ -1888,6 +2126,12 @@ msgid "" "present, and when the ``b`` command is specified, only the ``foo`` and " "``baz`` attributes are present." msgstr "" +"Note que o objeto retornado por :meth:`parse_args` conterá apenas atributos " +"para o analisador principal e para o subanalisador selecionado pela linha de " +"comando (e não para quaisquer outros subanalisadores). Então, no exemplo " +"acima, quando o comando ``a`` é especificado, apenas os atributos ``foo`` e " +"``bar`` estão presentes, e quando o comando ``b`` é especificado, apenas os " +"atributos ``foo`` e ``baz`` estão presentes." #: ../../library/argparse.rst:1775 msgid "" @@ -1897,6 +2141,12 @@ msgid "" "subparser command, however, can be given by supplying the ``help=`` argument " "to :meth:`~_SubParsersAction.add_parser` as above.)" msgstr "" +"Similarmente, quando uma mensagem de ajuda é solicitada de um subanalisador, " +"apenas a ajuda para aquele parser em particular será exibida. A mensagem de " +"ajuda não incluirá mensagens do analisador sintático pai nem do analisador " +"sintático irmão. (Uma mensagem de ajuda para cada comando do subanalisador " +"pode, entretanto, ser fornecida passando o argumento ``help=`` " +"para :meth:`~_SubParsersAction.add_parser`, como acima.)" #: ../../library/argparse.rst:1811 msgid "" @@ -1904,6 +2154,10 @@ msgid "" "``description`` keyword arguments. When either is present, the subparser's " "commands will appear in their own group in the help output. For example::" msgstr "" +"O método :meth:`add_subparsers` também aceita os argumentos nomeados " +"``title`` e ``description``. Quando qualquer um deles estiver presente, os " +"comandos do subanalisador aparecerão em seu próprio grupo na saída de ajuda. " +"Por exemplo::" #: ../../library/argparse.rst:1832 msgid "" @@ -1911,6 +2165,10 @@ msgid "" "which allows multiple strings to refer to the same subparser. This example, " "like ``svn``, aliases ``co`` as a shorthand for ``checkout``::" msgstr "" +"Além disso, ``add_parser`` oferece suporte a um argumento ``aliases`` " +"adicional, que permite que múltiplas strings se refiram ao mesmo " +"subanalisador sintático. Este exemplo, como ``svn``, alias ``co`` como uma " +"abreviação para ``checkout``::" #: ../../library/argparse.rst:1843 msgid "" @@ -1919,6 +2177,10 @@ msgid "" "so that each subparser knows which Python function it should execute. For " "example::" msgstr "" +"Uma maneira particularmente eficaz de lidar com subcomandos é combinar o uso " +"do método :meth:`add_subparsers` com chamadas para :meth:`set_defaults` para " +"que cada subanalisador sintático saiba qual função Python deve executar. Por " +"exemplo::" #: ../../library/argparse.rst:1880 msgid "" @@ -1929,6 +2191,13 @@ msgid "" "to check the name of the subparser that was invoked, the ``dest`` keyword " "argument to the :meth:`add_subparsers` call will work::" msgstr "" +"Dessa forma, você pode deixar :meth:`parse_args` fazer o trabalho de chamar " +"a função apropriada após a análise sintática do argumento ser concluída. " +"Associar funções a ações como essa é, normalmente, a maneira mais fácil de " +"lidar com as diferentes ações de cada um dos seus subanalisadores. No " +"entanto, se for necessário verificar o nome do subanalisador que foi " +"invocado, o argumento nomeado ``dest`` para a chamada :meth:`add_subparsers` " +"funcionará::" #: ../../library/argparse.rst:1896 msgid "New *required* keyword argument." @@ -1941,11 +2210,17 @@ msgstr "Objetos FileType" #: ../../library/argparse.rst:1905 msgid "" "The :class:`FileType` factory creates objects that can be passed to the type " -"argument of :meth:`ArgumentParser.add_argument`. Arguments that have :class:" -"`FileType` objects as their type will open command-line arguments as files " -"with the requested modes, buffer sizes, encodings and error handling (see " -"the :func:`open` function for more details)::" -msgstr "" +"argument of :meth:`ArgumentParser.add_argument`. Arguments that " +"have :class:`FileType` objects as their type will open command-line " +"arguments as files with the requested modes, buffer sizes, encodings and " +"error handling (see the :func:`open` function for more details)::" +msgstr "" +"A fábrica :class:`FileType` cria objetos que podem ser passados para o " +"argumento de tipo de :meth:`ArgumentParser.add_argument`. Argumentos que têm " +"objetos :class:`FileType` como seu tipo abrirão argumentos de linha de " +"comando como arquivos com os modos solicitados, tamanhos de buffer, " +"codificações e tratamento de erros (veja a função :func:`open` para mais " +"detalhes)::" #: ../../library/argparse.rst:1917 msgid "" @@ -1953,14 +2228,17 @@ msgid "" "convert this into :data:`sys.stdin` for readable :class:`FileType` objects " "and :data:`sys.stdout` for writable :class:`FileType` objects::" msgstr "" +"Objetos FileType entendem o pseudoargumento ``'-'`` e o convertem " +"automaticamente em :data:`sys.stdin` para objetos :class:`FileType` legíveis " +"e :data:`sys.stdout` para objetos :class:`FileType` graváveis::" #: ../../library/argparse.rst:1926 -msgid "The *encodings* and *errors* keyword arguments." -msgstr "" +msgid "Added the *encodings* and *errors* parameters." +msgstr "Adicionados os parâmetros *encodings* e *errors*." #: ../../library/argparse.rst:1931 msgid "Argument groups" -msgstr "Grupos de Argumentos" +msgstr "Grupos de argumentos" #: ../../library/argparse.rst:1935 msgid "" @@ -1974,12 +2252,12 @@ msgstr "" #: ../../library/argparse.rst:1952 msgid "" "The :meth:`add_argument_group` method returns an argument group object which " -"has an :meth:`~ArgumentParser.add_argument` method just like a regular :" -"class:`ArgumentParser`. When an argument is added to the group, the parser " -"treats it just like a normal argument, but displays the argument in a " -"separate group for help messages. The :meth:`add_argument_group` method " -"accepts *title* and *description* arguments which can be used to customize " -"this display::" +"has an :meth:`~ArgumentParser.add_argument` method just like a " +"regular :class:`ArgumentParser`. When an argument is added to the group, " +"the parser treats it just like a normal argument, but displays the argument " +"in a separate group for help messages. The :meth:`add_argument_group` " +"method accepts *title* and *description* arguments which can be used to " +"customize this display::" msgstr "" #: ../../library/argparse.rst:1978 @@ -1987,6 +2265,9 @@ msgid "" "Note that any arguments not in your user-defined groups will end up back in " "the usual \"positional arguments\" and \"optional arguments\" sections." msgstr "" +"Observe que quaisquer argumentos que não estejam nos grupos definidos pelo " +"usuário serão encaminhados às seções usuais de \"argumentos posicionais\" e " +"\"argumentos opcionais\"." #: ../../library/argparse.rst:1981 msgid "" @@ -1995,10 +2276,14 @@ msgid "" "exists on the API by accident through inheritance and will be removed in the " "future." msgstr "" +"Chamar :meth:`add_argument_group` em um grupo de argumentos está " +"descontinuado. Esse recurso nunca foi suportado e nem sempre funciona " +"corretamente. A função existe na API por acidente por herança e será " +"removida no futuro." #: ../../library/argparse.rst:1989 msgid "Mutual exclusion" -msgstr "Exclusão Mútua" +msgstr "Exclusão mútua" #: ../../library/argparse.rst:1993 msgid "" @@ -2013,12 +2298,15 @@ msgid "" "argument, to indicate that at least one of the mutually exclusive arguments " "is required::" msgstr "" +"O método :meth:`add_mutually_exclusive_group` também aceita um argumento " +"*obrigatório*, para indicar que pelo menos um dos argumentos mutuamente " +"exclusivos é necessário::" #: ../../library/argparse.rst:2021 msgid "" "Note that currently mutually exclusive argument groups do not support the " -"*title* and *description* arguments of :meth:`~ArgumentParser." -"add_argument_group`." +"*title* and *description* arguments " +"of :meth:`~ArgumentParser.add_argument_group`." msgstr "" #: ../../library/argparse.rst:2025 @@ -2028,24 +2316,36 @@ msgid "" "supported and do not always work correctly. The functions exist on the API " "by accident through inheritance and will be removed in the future." msgstr "" +"Chamar :meth:`add_argument_group` ou :meth:`add_mutually_exclusive_group` em " +"um grupo mutuamente exclusivo está descontinuado. Esses recursos nunca foram " +"suportados e nem sempre funcionam corretamente. As funções existem na API " +"por acidente por herança e serão removidas no futuro." #: ../../library/argparse.rst:2033 msgid "Parser defaults" -msgstr "" +msgstr "Padrões do analisador sintático" #: ../../library/argparse.rst:2037 msgid "" -"Most of the time, the attributes of the object returned by :meth:" -"`parse_args` will be fully determined by inspecting the command-line " -"arguments and the argument actions. :meth:`set_defaults` allows some " +"Most of the time, the attributes of the object returned " +"by :meth:`parse_args` will be fully determined by inspecting the command-" +"line arguments and the argument actions. :meth:`set_defaults` allows some " "additional attributes that are determined without any inspection of the " "command line to be added::" msgstr "" +"Na maioria das vezes, os atributos do objeto retornado " +"por :meth:`parse_args` serão totalmente determinados pela inspeção dos " +"argumentos da linha de comando e das ações dos " +"argumentos. :meth:`set_defaults` permite que alguns atributos adicionais que " +"são determinados sem qualquer inspeção da linha de comando sejam " +"adicionados::" #: ../../library/argparse.rst:2049 msgid "" "Note that parser-level defaults always override argument-level defaults::" msgstr "" +"Observe que os padrões no nível do analisador sempre substituem os padrões " +"no nível do argumento:" #: ../../library/argparse.rst:2057 msgid "" @@ -2053,12 +2353,19 @@ msgid "" "parsers. See the :meth:`~ArgumentParser.add_subparsers` method for an " "example of this type." msgstr "" +"Padrões de nível de analisador podem ser particularmente úteis ao trabalhar " +"com vários analisadores. Veja o " +"método :meth:`~ArgumentParser.add_subparsers` para um exemplo desse tipo." #: ../../library/argparse.rst:2063 msgid "" -"Get the default value for a namespace attribute, as set by either :meth:" -"`~ArgumentParser.add_argument` or by :meth:`~ArgumentParser.set_defaults`::" +"Get the default value for a namespace attribute, as set by " +"either :meth:`~ArgumentParser.add_argument` or " +"by :meth:`~ArgumentParser.set_defaults`::" msgstr "" +"Obtém o valor padrão para um atributo de espaço de nomes, conforme definido " +"por :meth:`~ArgumentParser.add_argument` ou " +"por :meth:`~ArgumentParser.set_defaults`::" #: ../../library/argparse.rst:2074 msgid "Printing help" @@ -2070,6 +2377,9 @@ msgid "" "care of formatting and printing any usage or error messages. However, " "several formatting methods are available:" msgstr "" +"Na maioria das aplicações típicas, :meth:`~ArgumentParser.parse_args` " +"cuidará da formatação e da impressão de quaisquer mensagens de uso ou erro. " +"No entanto, vários métodos de formatação estão disponíveis:" #: ../../library/argparse.rst:2082 msgid "" @@ -2077,6 +2387,9 @@ msgid "" "invoked on the command line. If *file* is ``None``, :data:`sys.stdout` is " "assumed." msgstr "" +"Imprime uma breve descrição de como o :class:`ArgumentParser` deve ser " +"invocado na linha de comando. Se *file* for ``None``, :data:`sys.stdout` " +"será presumido." #: ../../library/argparse.rst:2088 msgid "" @@ -2084,24 +2397,34 @@ msgid "" "arguments registered with the :class:`ArgumentParser`. If *file* is " "``None``, :data:`sys.stdout` is assumed." msgstr "" +"Imprime uma mensagem de ajuda, incluindo o uso do programa e informações " +"sobre os argumentos registrados com o :class:`ArgumentParser`. Se *file* for " +"``None``, :data:`sys.stdout` será presumido." #: ../../library/argparse.rst:2092 msgid "" "There are also variants of these methods that simply return a string instead " "of printing it:" msgstr "" +"Também há variantes desses métodos que simplesmente retornam uma string em " +"vez de imprimi-la:" #: ../../library/argparse.rst:2097 msgid "" -"Return a string containing a brief description of how the :class:" -"`ArgumentParser` should be invoked on the command line." +"Return a string containing a brief description of how " +"the :class:`ArgumentParser` should be invoked on the command line." msgstr "" +"Retorna uma string contendo uma breve descrição de como " +"o :class:`ArgumentParser` deve ser invocado na linha de comando." #: ../../library/argparse.rst:2102 msgid "" "Return a string containing a help message, including the program usage and " "information about the arguments registered with the :class:`ArgumentParser`." msgstr "" +"Retorna uma string contendo uma mensagem de ajuda, incluindo o uso do " +"programa e informações sobre os argumentos registrados com " +"o :class:`ArgumentParser`." #: ../../library/argparse.rst:2107 msgid "Partial parsing" @@ -2117,18 +2440,29 @@ msgid "" "a two item tuple containing the populated namespace and the list of " "remaining argument strings." msgstr "" +"Às vezes, um script pode analisar apenas alguns dos argumentos da linha de " +"comando, passando os argumentos restantes para outro script ou programa. " +"Nesses casos, o método :meth:`~ArgumentParser.parse_known_args` pode ser " +"útil. Ele funciona muito como :meth:`~ArgumentParser.parse_args`, exceto que " +"não produz um erro quando argumentos extras estão presentes. Em vez disso, " +"ele retorna uma tupla de dois itens contendo o espaço de nomes preenchido e " +"a lista de strings de argumentos restantes." #: ../../library/argparse.rst:2127 msgid "" -":ref:`Prefix matching ` rules apply to :meth:" -"`~ArgumentParser.parse_known_args`. The parser may consume an option even if " -"it's just a prefix of one of its known options, instead of leaving it in the " -"remaining arguments list." +":ref:`Prefix matching ` rules apply " +"to :meth:`~ArgumentParser.parse_known_args`. The parser may consume an " +"option even if it's just a prefix of one of its known options, instead of " +"leaving it in the remaining arguments list." msgstr "" +"As regras de :ref:`correspondência de prefixo ` se aplicam " +"a :meth:`~ArgumentParser.parse_known_args`. O analisador pode usar uma opção " +"mesmo que seja apenas um prefixo de uma de suas opções conhecidas, em vez de " +"deixá-la na lista de argumentos restantes." #: ../../library/argparse.rst:2134 msgid "Customizing file parsing" -msgstr "" +msgstr "Personalizando a análise de arquivos" #: ../../library/argparse.rst:2138 msgid "" @@ -2137,6 +2471,10 @@ msgid "" "per line. :meth:`convert_arg_line_to_args` can be overridden for fancier " "reading." msgstr "" +"Argumentos lidos de um arquivo (veja o argumento nomeado " +"*fromfile_prefix_chars* para o construtor :class:`ArgumentParser`) são lidos " +"com um argumento por linha. :meth:`convert_arg_line_to_args` pode ser " +"substituído para uma leitura mais sofisticada." #: ../../library/argparse.rst:2143 msgid "" @@ -2144,16 +2482,22 @@ msgid "" "the argument file. It returns a list of arguments parsed from this string. " "The method is called once per line read from the argument file, in order." msgstr "" +"Este método recebe um único argumento *arg_line* que é uma string lida do " +"arquivo de argumentos. Ele retorna uma lista de argumentos analisados dessa " +"string. O método é chamado uma vez por linha lida do arquivo de argumentos, " +"em ordem." #: ../../library/argparse.rst:2147 msgid "" "A useful override of this method is one that treats each space-separated " "word as an argument. The following example demonstrates how to do this::" msgstr "" +"Uma substituição útil desse método é aquela que trata cada palavra separada " +"por espaços como um argumento. O exemplo a seguir demonstra como fazer isso::" #: ../../library/argparse.rst:2156 msgid "Exiting methods" -msgstr "Métodos existentes" +msgstr "Métodos de saída" #: ../../library/argparse.rst:2160 msgid "" @@ -2170,7 +2514,7 @@ msgstr "" #: ../../library/argparse.rst:2177 msgid "Intermixed parsing" -msgstr "" +msgstr "Análise misturada" #: ../../library/argparse.rst:2182 msgid "" @@ -2179,6 +2523,11 @@ msgid "" "and :meth:`~ArgumentParser.parse_known_intermixed_args` methods support this " "parsing style." msgstr "" +"Vários comandos Unix permitem que o usuário misture argumentos opcionais com " +"argumentos posicionais. Os " +"métodos :meth:`~ArgumentParser.parse_intermixed_args` " +"e :meth:`~ArgumentParser.parse_known_intermixed_args` oferecem suporte a " +"esse estilo de análise." #: ../../library/argparse.rst:2187 msgid "" @@ -2190,11 +2539,17 @@ msgstr "" #: ../../library/argparse.rst:2192 msgid "" -"The following example shows the difference between :meth:`~ArgumentParser." -"parse_known_args` and :meth:`~ArgumentParser.parse_intermixed_args`: the " -"former returns ``['2', '3']`` as unparsed arguments, while the latter " -"collects all the positionals into ``rest``. ::" +"The following example shows the difference " +"between :meth:`~ArgumentParser.parse_known_args` " +"and :meth:`~ArgumentParser.parse_intermixed_args`: the former returns " +"``['2', '3']`` as unparsed arguments, while the latter collects all the " +"positionals into ``rest``. ::" msgstr "" +"O exemplo a seguir mostra a diferença " +"entre :meth:`~ArgumentParser.parse_known_args` " +"e :meth:`~ArgumentParser.parse_intermixed_args`: o primeiro retorna ``['2', " +"'3']`` como argumentos não analisados, enquanto o último coleta todos os " +"posicionais em ``rest``. ::" #: ../../library/argparse.rst:2207 msgid "" @@ -2203,10 +2558,14 @@ msgid "" "strings. :meth:`~ArgumentParser.parse_intermixed_args` raises an error if " "there are any remaining unparsed argument strings." msgstr "" +":meth:`~ArgumentParser.parse_known_intermixed_args` retorna uma tupla de " +"dois itens contendo o espaço de nomes preenchido e a lista de strings de " +"argumentos restantes. :meth:`~ArgumentParser.parse_intermixed_args` levanta " +"um erro se houver strings de argumentos não analisadas restantes." #: ../../library/argparse.rst:2217 msgid "Upgrading optparse code" -msgstr "" +msgstr "Atualizando código optparse" #: ../../library/argparse.rst:2219 msgid "" @@ -2235,62 +2594,83 @@ msgstr "" #: ../../library/argparse.rst:2231 msgid "Allowing alternative option prefixes like ``+`` and ``/``." -msgstr "" +msgstr "Permitir prefixos alternativos de opções como ``+`` e ``/``." #: ../../library/argparse.rst:2232 msgid "Handling zero-or-more and one-or-more style arguments." -msgstr "" +msgstr "Manipular argumentos de estilo \"zero ou mais\" e \"um ou mais\"." #: ../../library/argparse.rst:2233 msgid "Producing more informative usage messages." -msgstr "" +msgstr "Produzir mensagens de uso mais informativas." #: ../../library/argparse.rst:2234 msgid "Providing a much simpler interface for custom ``type`` and ``action``." msgstr "" +"Fornecer uma interface muito mais simples para ``type`` e ``action`` " +"personalizados." #: ../../library/argparse.rst:2236 msgid "A partial upgrade path from :mod:`optparse` to :mod:`argparse`:" msgstr "" +"Um caminho de atualização parcial de :mod:`optparse` para :mod:`argparse`:" #: ../../library/argparse.rst:2238 msgid "" -"Replace all :meth:`optparse.OptionParser.add_option` calls with :meth:" -"`ArgumentParser.add_argument` calls." +"Replace all :meth:`optparse.OptionParser.add_option` calls " +"with :meth:`ArgumentParser.add_argument` calls." msgstr "" +"Substituir todas as chamadas de :meth:`optparse.OptionParser.add_option` por " +"chamadas de :meth:`ArgumentParser.add_argument`." #: ../../library/argparse.rst:2241 msgid "" -"Replace ``(options, args) = parser.parse_args()`` with ``args = parser." -"parse_args()`` and add additional :meth:`ArgumentParser.add_argument` calls " -"for the positional arguments. Keep in mind that what was previously called " -"``options``, now in the :mod:`argparse` context is called ``args``." +"Replace ``(options, args) = parser.parse_args()`` with ``args = " +"parser.parse_args()`` and add additional :meth:`ArgumentParser.add_argument` " +"calls for the positional arguments. Keep in mind that what was previously " +"called ``options``, now in the :mod:`argparse` context is called ``args``." msgstr "" +"Substituir ``(options, args) = parser.parse_args()`` por ``args = " +"parser.parse_args()`` e adicionar chamadas adicionais " +"a :meth:`ArgumentParser.add_argument` para os argumentos posicionais. Tenha " +"em mente que o que anteriormente era chamado de ``options``, agora no " +"contexto do :mod:`argparse` é chamado de ``args``." #: ../../library/argparse.rst:2246 msgid "" -"Replace :meth:`optparse.OptionParser.disable_interspersed_args` by using :" -"meth:`~ArgumentParser.parse_intermixed_args` instead of :meth:" -"`~ArgumentParser.parse_args`." +"Replace :meth:`optparse.OptionParser.disable_interspersed_args` by " +"using :meth:`~ArgumentParser.parse_intermixed_args` instead " +"of :meth:`~ArgumentParser.parse_args`." msgstr "" +"Substituir :meth:`optparse.OptionParser.disable_interspersed_args` " +"usando :meth:`~ArgumentParser.parse_intermixed_args` em vez " +"de :meth:`~ArgumentParser.parse_args`." #: ../../library/argparse.rst:2250 msgid "" "Replace callback actions and the ``callback_*`` keyword arguments with " "``type`` or ``action`` arguments." msgstr "" +"Substituir ações de função de retorno e argumentos nomeados ``callback_*`` " +"por argumentos ``type`` ou ``action``." #: ../../library/argparse.rst:2253 msgid "" "Replace string names for ``type`` keyword arguments with the corresponding " "type objects (e.g. int, float, complex, etc)." msgstr "" +"Substituir nomes de strings para argumentos nomeados ``type`` pelos objetos " +"de tipo correspondentes (por exemplo, int, float, complex, etc)." #: ../../library/argparse.rst:2256 msgid "" -"Replace :class:`optparse.Values` with :class:`Namespace` and :exc:`optparse." -"OptionError` and :exc:`optparse.OptionValueError` with :exc:`ArgumentError`." +"Replace :class:`optparse.Values` with :class:`Namespace` " +"and :exc:`optparse.OptionError` and :exc:`optparse.OptionValueError` " +"with :exc:`ArgumentError`." msgstr "" +"Substituir :class:`optparse.Values` por :class:`Namespace` " +"e :exc:`optparse.OptionError` e :exc:`optparse.OptionValueError` " +"por :exc:`ArgumentError`." #: ../../library/argparse.rst:2260 msgid "" @@ -2298,6 +2678,9 @@ msgid "" "with the standard Python syntax to use dictionaries to format strings, that " "is, ``%(default)s`` and ``%(prog)s``." msgstr "" +"Substituir strings com argumentos implícitos tal como ``%default`` ou " +"``%prog`` pela sintaxe padrão do Python para usar dicionários para formatar " +"strings, ou seja, ``%(default)s`` e ``%(prog)s``." #: ../../library/argparse.rst:2264 msgid "" @@ -2305,6 +2688,9 @@ msgid "" "``parser.add_argument('--version', action='version', version='')``." msgstr "" +"Substituir o argumento ``version`` do construtor do OptionParser por uma " +"chamada a ``parser.add_argument('--version', action='version', version='')``." #: ../../library/argparse.rst:2268 msgid "Exceptions" @@ -2312,32 +2698,36 @@ msgstr "Exceções" #: ../../library/argparse.rst:2272 msgid "An error from creating or using an argument (optional or positional)." -msgstr "" +msgstr "Um erro ao criar ou usar um argumento (opcional ou posicional)." #: ../../library/argparse.rst:2274 msgid "" "The string value of this exception is the message, augmented with " "information about the argument that caused it." msgstr "" +"O valor da string dessa exceção é a mensagem, complementada com informações " +"sobre o argumento que a causou." #: ../../library/argparse.rst:2279 msgid "" "Raised when something goes wrong converting a command line string to a type." msgstr "" +"Levantada quando algo dá errado ao converter uma string de linha de comando " +"em um tipo." #: ../../library/argparse.rst:970 msgid "? (question mark)" -msgstr "" +msgstr "? (interrogação)" #: ../../library/argparse.rst:970 ../../library/argparse.rst:1004 #: ../../library/argparse.rst:1018 msgid "in argparse module" -msgstr "" +msgstr "no módulo argparse" #: ../../library/argparse.rst:1004 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisco)" #: ../../library/argparse.rst:1018 msgid "+ (plus)" -msgstr "" +msgstr "+ (mais)" diff --git a/library/array.po b/library/array.po index 268d1dfda..fcf86e39a 100644 --- a/library/array.po +++ b/library/array.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 -# Adorilson Bezerra , 2021 -# Juliana Karoline , 2021 -# Bonifacio de Oliveira , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Bonifacio de Oliveira , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -199,7 +193,7 @@ msgstr "``'f'``" #: ../../library/array.rst:43 ../../library/array.rst:45 msgid "float" -msgstr "float" +msgstr "ponto flutuante" #: ../../library/array.rst:45 msgid "``'d'``" @@ -219,10 +213,13 @@ msgstr "Pode ser de 16 ou 32 bits dependendo da plataforma." #: ../../library/array.rst:53 msgid "" -"``array('u')`` now uses ``wchar_t`` as C type instead of deprecated " +"``array('u')`` now uses :c:type:`wchar_t` as C type instead of deprecated " "``Py_UNICODE``. This change doesn't affect its behavior because " -"``Py_UNICODE`` is alias of ``wchar_t`` since Python 3.3." +"``Py_UNICODE`` is alias of :c:type:`wchar_t` since Python 3.3." msgstr "" +"``array('u')`` agora usa :c:type:`wchar_t` como tipo C no lugar do " +"descontinuado ``Py_UNICODE``. Essa mudança não afeta o comportamento pois " +"``Py_UNICODE`` é um apelido para :c:type:`wchar_t` desde Python 3.3." #: ../../library/array.rst:61 msgid "" @@ -230,10 +227,13 @@ msgid "" "architecture (strictly speaking, by the C implementation). The actual size " "can be accessed through the :attr:`array.itemsize` attribute." msgstr "" +"A representação dos valores é definida pela arquitetura da máquina, mais " +"especificamente da implementação do C. O tamanho real pode ser acessado pelo " +"atributo :attr:`array.itemsize`." #: ../../library/array.rst:65 msgid "The module defines the following item:" -msgstr "" +msgstr "O módulo define o seguinte item:" #: ../../library/array.rst:70 msgid "A string with all available type codes." @@ -246,27 +246,30 @@ msgstr "O módulo define o seguinte tipo:" #: ../../library/array.rst:78 msgid "" "A new array whose items are restricted by *typecode*, and initialized from " -"the optional *initializer* value, which must be a list, a :term:`bytes-like " -"object`, or iterable over elements of the appropriate type." +"the optional *initializer* value, which must be a :class:`bytes` " +"or :class:`bytearray` object, a Unicode string, or iterable over elements of " +"the appropriate type." msgstr "" -"Um novo vetor cujos itens são restritos pelo *código de tipo* e " -"inicializados pelo valor opcional *initializer*, que deve ser uma lista, um :" -"term:`objeto byte ou similar `, ou outros elementos " -"iteráveis do tipo apropriado." +"Um novo vetor cujos itens são restritos por *typecode* e inicializados a " +"partir do valor opcional *initializer*, que deve ser um " +"objeto :class:`bytes` ou :class:`bytearray`, uma string Unicode ou iterável " +"sobre elementos do tipo apropriado." #: ../../library/array.rst:83 msgid "" -"If given a list or string, the initializer is passed to the new array's :" -"meth:`fromlist`, :meth:`frombytes`, or :meth:`fromunicode` method (see " -"below) to add initial items to the array. Otherwise, the iterable " -"initializer is passed to the :meth:`extend` method." +"If given a :class:`bytes` or :class:`bytearray` object, the initializer is " +"passed to the new array's :meth:`frombytes` method; if given a Unicode " +"string, the initializer is passed to the :meth:`fromunicode` method; " +"otherwise, the initializer's iterator is passed to the :meth:`extend` method " +"to add initial items to the array." msgstr "" -"Se passado uma lista ou string, o inicializador é passado para os métodos :" -"meth:`fromlist`, :meth:`frombytes`, ou :meth:`fromunicode` (ver abaixo) do " -"novo vetor para adicionar itens iniciais ao vetor. Caso contrário, o " -"inicializador iterável é passado para o método :meth:`extend`." +"Se for fornecido um objeto :class:`bytes` ou :class:`bytearray`, o " +"inicializador é passado para o método :meth:`frombytes` do novo vetor; se " +"for fornecida uma string Unicode, o inicializador é passado para o " +"método :meth:`fromunicode`; caso contrário, o iterador do inicializador é " +"passado para o método :meth:`extend` para adicionar itens iniciais ao vetor." -#: ../../library/array.rst:88 +#: ../../library/array.rst:90 msgid "" "Array objects support the ordinary sequence operations of indexing, slicing, " "concatenation, and multiplication. When using slice assignment, the " @@ -275,34 +278,34 @@ msgid "" "interface, and may be used wherever :term:`bytes-like objects ` are supported." msgstr "" -"Objetos array tem suporte para as operações de sequência comuns: indexação, " -"fatiamento, concatenação, e multiplicação. Quando usando a atribuição de " -"fatias, o valor associado deve ser um objeto array com o mesmo código de " -"tipo; caso contrário, :exc:`TypeError` é levantada. Objetos array também " +"Objetos vetor tem suporte para as operações de sequência comuns: indexação, " +"fatiamento, concatenação e multiplicação. Quando usando a atribuição de " +"fatias, o valor associado deve ser um objeto vetor com o mesmo código de " +"tipo; caso contrário, :exc:`TypeError` é levantada. Objetos vetor também " "implementam a interface buffer, e também podem ser usados em qualquer lugar " -"onde :term:`objetos byte ou similar ` é permitido." +"onde :term:`objetos bytes ou similares ` é permitido." -#: ../../library/array.rst:94 +#: ../../library/array.rst:96 msgid "" "Raises an :ref:`auditing event ` ``array.__new__`` with arguments " "``typecode``, ``initializer``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``array.__new__`` com " +"Levanta um :ref:`evento de auditoria ` ``array.__new__`` com os " "argumentos ``typecode``, ``initializer``." -#: ../../library/array.rst:99 +#: ../../library/array.rst:101 msgid "The typecode character used to create the array." -msgstr "O caractere typecode usado para criar o vetor." +msgstr "O caractere de código de tipo usado para criar o vetor." -#: ../../library/array.rst:104 +#: ../../library/array.rst:106 msgid "The length in bytes of one array item in the internal representation." msgstr "O tamanho em bytes de um item do vetor em representação interna." -#: ../../library/array.rst:109 +#: ../../library/array.rst:111 msgid "Append a new item with value *x* to the end of the array." msgstr "Adiciona um novo item com valor *x* ao final do vetor." -#: ../../library/array.rst:114 +#: ../../library/array.rst:116 msgid "" "Return a tuple ``(address, length)`` giving the current memory address and " "the length in elements of the buffer used to hold array's contents. The " @@ -313,8 +316,16 @@ msgid "" "as long as the array exists and no length-changing operations are applied to " "it." msgstr "" - -#: ../../library/array.rst:124 +"Retorna uma tupla ``(address, length)`` com o endereço corrente da memória e " +"o tamanho em elementos do buffer usado para armazenar conteúdos do vetor. O " +"tamanho do buffer da memória em bytes pode ser computado como " +"``array.buffer_info()[1] * array.itemsize``. Isso é ocasionalmente útil " +"quando se está trabalhando com interfaces I/O de baixo nível (inerentemente " +"inseguras) que precisam de endereços de memória, como algumas " +"operações :c:func:`!ioctl`. Os números retornados são válidos enquanto o " +"vetor existir e nenhuma operação de alteração de tamanho for aplicada a ele." + +#: ../../library/array.rst:126 msgid "" "When using array objects from code written in C or C++ (the only way to " "effectively make use of this information), it makes more sense to use the " @@ -328,118 +339,122 @@ msgstr "" "retrocompatibilidade e deve ser evitado em código novo. A interface de " "buffers está documentada em :ref:`bufferobjects`." -#: ../../library/array.rst:133 +#: ../../library/array.rst:135 msgid "" "\"Byteswap\" all items of the array. This is only supported for values " -"which are 1, 2, 4, or 8 bytes in size; for other types of values, :exc:" -"`RuntimeError` is raised. It is useful when reading data from a file " -"written on a machine with a different byte order." +"which are 1, 2, 4, or 8 bytes in size; for other types of " +"values, :exc:`RuntimeError` is raised. It is useful when reading data from " +"a file written on a machine with a different byte order." msgstr "" "\"Byteswap\" todos os itens do vetor. Isso é somente suportado para valores " -"de 1, 2, 4 ou 8 bytes de tamanho; para outros tipos de valores é levantada :" -"exc:`RuntimeError` . Isso é útil quando estamos lendo dados de um arquivo " -"para serem escritos em um arquivo de outra máquina de ordem de bytes " +"de 1, 2, 4 ou 8 bytes de tamanho; para outros tipos de valores é " +"levantada :exc:`RuntimeError`. Isso é útil quando estamos lendo dados de um " +"arquivo para serem escritos em um arquivo de outra máquina de ordem de bytes " "diferente." -#: ../../library/array.rst:141 +#: ../../library/array.rst:143 msgid "Return the number of occurrences of *x* in the array." msgstr "Retorna a quantidade de ocorrências de *x* no vetor." -#: ../../library/array.rst:146 +#: ../../library/array.rst:148 msgid "" "Append items from *iterable* to the end of the array. If *iterable* is " -"another array, it must have *exactly* the same type code; if not, :exc:" -"`TypeError` will be raised. If *iterable* is not an array, it must be " -"iterable and its elements must be the right type to be appended to the array." +"another array, it must have *exactly* the same type code; if " +"not, :exc:`TypeError` will be raised. If *iterable* is not an array, it " +"must be iterable and its elements must be the right type to be appended to " +"the array." msgstr "" "Acrescenta os itens de *iterable* ao final do vetor. Se *iterable* for outro " "vetor, ele deve ter *exatamente* o mesmo código de tipo; senão, ocorrerá " "uma :exc:`TypeError`. Se *iterable* não for um vetor, ele deve ser iterável " "e seus elementos devem ser do tipo correto para ser acrescentado ao vetor." -#: ../../library/array.rst:154 +#: ../../library/array.rst:156 msgid "" -"Appends items from the string, interpreting the string as an array of " -"machine values (as if it had been read from a file using the :meth:" -"`fromfile` method)." +"Appends items from the :term:`bytes-like object`, interpreting its content " +"as an array of machine values (as if it had been read from a file using " +"the :meth:`fromfile` method)." msgstr "" -"Adiciona itens da string, interpretando a string como um vetor (como se " -"tivesse sido lido de um arquivo usando o método :meth:`fromfile`)." +"Adiciona itens do :term:`objeto bytes ou similar`, interpretando seu " +"conteúdo como um vetor de valores de máquina (como se tivesse sido lido de " +"um arquivo usando o método :meth:`fromfile`)." -#: ../../library/array.rst:157 +#: ../../library/array.rst:160 msgid ":meth:`!fromstring` is renamed to :meth:`frombytes` for clarity." msgstr "" +":meth:`!fromstring` foi renomeado para :meth:`frombytes` para maior clareza." -#: ../../library/array.rst:163 +#: ../../library/array.rst:166 msgid "" "Read *n* items (as machine values) from the :term:`file object` *f* and " -"append them to the end of the array. If less than *n* items are available, :" -"exc:`EOFError` is raised, but the items that were available are still " -"inserted into the array." +"append them to the end of the array. If less than *n* items are " +"available, :exc:`EOFError` is raised, but the items that were available are " +"still inserted into the array." msgstr "" "Lê *n* itens (como valores de máquinas) do :term:`objeto arquivo ` *f* e adiciona-os ao fim do vetor. Se estão disponíveis menos de " "*n* itens, :exc:`EOFError` é levantada, mas os itens disponíveis ainda são " "inseridos ao final do vetor." -#: ../../library/array.rst:171 +#: ../../library/array.rst:174 msgid "" -"Append items from the list. This is equivalent to ``for x in list: a." -"append(x)`` except that if there is a type error, the array is unchanged." +"Append items from the list. This is equivalent to ``for x in list: " +"a.append(x)`` except that if there is a type error, the array is unchanged." msgstr "" -"Adiciona itens de *list*. Isso é equivalente a ``for x in list: a." -"append(x)`` exceto que se ocorrer um errro de tipo, o vetor não é alterado." +"Adiciona itens de *list*. Isso é equivalente a ``for x in list: " +"a.append(x)`` exceto que se ocorrer um erro de tipo, o vetor não é alterado." -#: ../../library/array.rst:177 +#: ../../library/array.rst:180 msgid "" -"Extends this array with data from the given unicode string. The array must " -"be a type ``'u'`` array; otherwise a :exc:`ValueError` is raised. Use " +"Extends this array with data from the given Unicode string. The array must " +"have type code ``'u'``; otherwise a :exc:`ValueError` is raised. Use " "``array.frombytes(unicodestring.encode(enc))`` to append Unicode data to an " "array of some other type." msgstr "" -"Estende este vetor com os dados da strind unicode fornecida. O vetor deve " -"ser do tipo ``'u'``; aso contrário uma :exc:`ValueError` será levantada. " -"Use ``array.frombytes(unicodestring.encode(enc))`` para adicionar dados " -"Unicode para um vetor de outros tipos de dados." -#: ../../library/array.rst:185 +#: ../../library/array.rst:188 msgid "" "Return the smallest *i* such that *i* is the index of the first occurrence " "of *x* in the array. The optional arguments *start* and *stop* can be " -"specified to search for *x* within a subsection of the array. Raise :exc:" -"`ValueError` if *x* is not found." +"specified to search for *x* within a subsection of the array. " +"Raise :exc:`ValueError` if *x* is not found." msgstr "" +"Retorna o menor *i* tal que *i* seja o índice da primeira ocorrência de *x* " +"no vetor. Os argumentos opcionais *start* e *stop* podem ser especificados " +"para procurar por *x* dentro de uma subseção do vetor. " +"Levanta :exc:`ValueError` se *x* não for encontrado." -#: ../../library/array.rst:190 +#: ../../library/array.rst:193 msgid "Added optional *start* and *stop* parameters." -msgstr "" +msgstr "Adicionados os parâmetros opcionais *start e *stop*." -#: ../../library/array.rst:196 +#: ../../library/array.rst:199 msgid "" "Insert a new item with value *x* in the array before position *i*. Negative " "values are treated as being relative to the end of the array." msgstr "" -"Insere um novo item com o *x* no vetor antes da posição *i*. Valores " +"Insere um novo item com o valor *x* no vetor antes da posição *i*. Valores " "negativos são tratados como sendo em relação ao fim do vetor." -#: ../../library/array.rst:202 +#: ../../library/array.rst:205 msgid "" "Removes the item with the index *i* from the array and returns it. The " "optional argument defaults to ``-1``, so that by default the last item is " "removed and returned." msgstr "" "Remove o item com o índice *i* do vetor e retorna este item. O valor padrão " -"do argumento é ``-1``, assim por padrão o último item é removido e retornado." +"do argumento opcional é ``-1``, assim por padrão o último item é removido e " +"retornado." -#: ../../library/array.rst:209 +#: ../../library/array.rst:212 msgid "Remove the first occurrence of *x* from the array." msgstr "Remove a primeira ocorrência de *x* do vetor." -#: ../../library/array.rst:214 +#: ../../library/array.rst:217 msgid "Reverse the order of the items in the array." msgstr "Inverte a ordem dos itens no vetor." -#: ../../library/array.rst:219 +#: ../../library/array.rst:222 msgid "" "Convert the array to an array of machine values and return the bytes " "representation (the same sequence of bytes that would be written to a file " @@ -449,61 +464,53 @@ msgstr "" "representação em bytes (a mesma sequência de bytes que seria escrita pelo " "método :meth:`tofile`.)" -#: ../../library/array.rst:223 +#: ../../library/array.rst:226 msgid ":meth:`!tostring` is renamed to :meth:`tobytes` for clarity." -msgstr "" +msgstr ":meth:`!tostring` foi nomeado para :meth:`tobytes` para maior clareza." -#: ../../library/array.rst:229 +#: ../../library/array.rst:232 msgid "Write all items (as machine values) to the :term:`file object` *f*." msgstr "" "Escreve todos os itens (como valores de máquinas) para o :term:`objeto " "arquivo ` *f*." -#: ../../library/array.rst:234 +#: ../../library/array.rst:237 msgid "Convert the array to an ordinary list with the same items." msgstr "Devolve os itens do vetor como uma lista comum." -#: ../../library/array.rst:239 +#: ../../library/array.rst:242 msgid "" -"Convert the array to a unicode string. The array must be a type ``'u'`` " -"array; otherwise a :exc:`ValueError` is raised. Use ``array.tobytes()." -"decode(enc)`` to obtain a unicode string from an array of some other type." +"Convert the array to a Unicode string. The array must have a type ``'u'``; " +"otherwise a :exc:`ValueError` is raised. Use ``array.tobytes().decode(enc)`` " +"to obtain a Unicode string from an array of some other type." msgstr "" -"Devolve os itens do vetor como uma string unicode. O vetor deve ser do tipo " -"``'u'``; caso contrário :exc:`ValueError` é levantada. Use ``array.tobytes()." -"decode(enc)`` para obter uma string unicode de um vetor de outros tipos." -#: ../../library/array.rst:244 +#: ../../library/array.rst:247 msgid "" -"When an array object is printed or converted to a string, it is represented " -"as ``array(typecode, initializer)``. The *initializer* is omitted if the " -"array is empty, otherwise it is a string if the *typecode* is ``'u'``, " -"otherwise it is a list of numbers. The string is guaranteed to be able to " -"be converted back to an array with the same type and value using :func:" -"`eval`, so long as the :class:`~array.array` class has been imported using " -"``from array import array``. Examples::" +"The string representation of array objects has the form ``array(typecode, " +"initializer)``. The *initializer* is omitted if the array is empty, " +"otherwise it is a Unicode string if the *typecode* is ``'u'``, otherwise it " +"is a list of numbers. The string representation is guaranteed to be able to " +"be converted back to an array with the same type and value " +"using :func:`eval`, so long as the :class:`~array.array` class has been " +"imported using ``from array import array``. Variables ``inf`` and ``nan`` " +"must also be defined if it contains corresponding floating point values. " +"Examples::" msgstr "" -"Quando um vetor é exibido ou convertido para uma string, é representado como " -"``array(typecode, initializer)``. O *initializer* é omitido se o vetor " -"estiver vazio, caso contrário será uma string se *typecode* for ``'u'``, se " -"não será uma lista de números. É garantido que será possível uma conversão " -"da string de volta para um vetor com o mesmo tipo e valor usando :func:" -"`eval`, contanto que a classe :class:`~array.array` tenha sido importada " -"usando ``from array import array``. Exemplos::" - -#: ../../library/array.rst:261 + +#: ../../library/array.rst:268 msgid "Module :mod:`struct`" msgstr "Módulo :mod:`struct`" -#: ../../library/array.rst:261 +#: ../../library/array.rst:268 msgid "Packing and unpacking of heterogeneous binary data." msgstr "Empacotamento e desempacotamento de dados binários heterogêneos." -#: ../../library/array.rst:265 +#: ../../library/array.rst:272 msgid "Module :mod:`xdrlib`" msgstr "Módulo :mod:`xdrlib`" -#: ../../library/array.rst:264 +#: ../../library/array.rst:271 msgid "" "Packing and unpacking of External Data Representation (XDR) data as used in " "some remote procedure call systems." @@ -511,14 +518,14 @@ msgstr "" "Empacotamento e desempacotamento de dados External Data Representation (XDR) " "usados em alguns sistemas para chamada remota de procedimentos." -#: ../../library/array.rst:267 +#: ../../library/array.rst:274 msgid "`NumPy `_" -msgstr "" +msgstr "`NumPy `_" -#: ../../library/array.rst:268 +#: ../../library/array.rst:275 msgid "The NumPy package defines another array type." -msgstr "" +msgstr "O pacote NumPy define outro tipo de vetor." #: ../../library/array.rst:7 msgid "arrays" -msgstr "" +msgstr "vetores" diff --git a/library/ast.po b/library/ast.po index a94bc04c8..696844cf9 100644 --- a/library/ast.po +++ b/library/ast.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Cauê Baasch de Souza , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,26 +38,26 @@ msgid "" "with each Python release; this module helps to find out programmatically " "what the current grammar looks like." msgstr "" -"O módulo :mod:`ast` ajuda os aplicativos Python a processar árvores da " +"O módulo :mod:`ast` ajuda as aplicações Python a processar árvores da " "gramática de sintaxe abstrata do Python. A sintaxe abstrata em si pode mudar " "em cada lançamento do Python; este módulo ajuda a descobrir " "programaticamente como é a gramática atual." #: ../../library/ast.rst:23 msgid "" -"An abstract syntax tree can be generated by passing :data:`ast." -"PyCF_ONLY_AST` as a flag to the :func:`compile` built-in function, or using " -"the :func:`parse` helper provided in this module. The result will be a tree " -"of objects whose classes all inherit from :class:`ast.AST`. An abstract " -"syntax tree can be compiled into a Python code object using the built-in :" -"func:`compile` function." +"An abstract syntax tree can be generated by " +"passing :data:`ast.PyCF_ONLY_AST` as a flag to the :func:`compile` built-in " +"function, or using the :func:`parse` helper provided in this module. The " +"result will be a tree of objects whose classes all inherit " +"from :class:`ast.AST`. An abstract syntax tree can be compiled into a " +"Python code object using the built-in :func:`compile` function." msgstr "" -"Uma árvore de sintaxe abstrata pode ser gerada passando :data:`ast." -"PyCF_ONLY_AST` como um sinalizador para a função embutida :func:`compile`, " -"ou usando o auxiliar :func:`parse` fornecido neste módulo. O resultado será " -"uma árvore de objetos cujas classes herdam de :class:`ast.AST`. Uma árvore " -"de sintaxe abstrata pode ser compilada em um objeto de código Python usando " -"a função embutida :func:`compile`." +"Uma árvore de sintaxe abstrata pode ser gerada " +"passando :data:`ast.PyCF_ONLY_AST` como um sinalizador para a função " +"embutida :func:`compile`, ou usando o auxiliar :func:`parse` fornecido neste " +"módulo. O resultado será uma árvore de objetos cujas classes herdam " +"de :class:`ast.AST`. Uma árvore de sintaxe abstrata pode ser compilada em um " +"objeto código Python usando a função embutida :func:`compile`." #: ../../library/ast.rst:33 msgid "Abstract Grammar" @@ -73,15 +69,19 @@ msgstr "A gramática abstrata está atualmente definida da seguinte forma:" #: ../../library/ast.rst:42 msgid "Node classes" -msgstr "Classes de nó" +msgstr "Classes de nós" #: ../../library/ast.rst:46 msgid "" "This is the base of all AST node classes. The actual node classes are " -"derived from the :file:`Parser/Python.asdl` file, which is reproduced :ref:" -"`above `. They are defined in the :mod:`_ast` C module " -"and re-exported in :mod:`ast`." +"derived from the :file:`Parser/Python.asdl` file, which is " +"reproduced :ref:`above `. They are defined in the :mod:`!" +"_ast` C module and re-exported in :mod:`ast`." msgstr "" +"Esta é a base de todas as classes de nós de AST. As classes de nós reais são " +"derivadas do arquivo :file:`Parser/Python.asdl`, que é " +"reproduzido :ref:`acima `. Elas são definidas no módulo " +"C :mod:`!_ast` e reexportadas no :mod:`ast`." #: ../../library/ast.rst:51 msgid "" @@ -96,10 +96,10 @@ msgstr "" "Há uma classe definida para cada símbolo do lado esquerdo na gramática " "abstrata (por exemplo, :class:`ast.stmt` ou :class:`ast.expr`). Além disso, " "existe uma classe definida para cada construtor no lado direito; essas " -"classes herdam das classes para as árvores do lado esquerdo. Por exemplo, :" -"class:`ast.BinOp` herda de :class:`ast.expr`. Para regras de produção com " -"alternativas (\"somas\"), a classe do lado esquerdo é abstrata: apenas " -"instâncias de nós construtores específicos são criadas." +"classes herdam das classes para as árvores do lado esquerdo. Por " +"exemplo, :class:`ast.BinOp` herda de :class:`ast.expr`. Para regras de " +"produção com alternativas (\"somas\"), a classe do lado esquerdo é abstrata: " +"apenas instâncias de nós construtores específicos são criadas." #: ../../library/ast.rst:64 msgid "" @@ -131,20 +131,29 @@ msgstr "" "ponto de interrogação), o valor pode ser ``None``. Se os atributos puderem " "ter valor zero ou mais (marcados com um asterisco), os valores serão " "representados como listas do Python. Todos os atributos possíveis devem " -"estar presentes e ter valores válidos ao compilar uma AST com :func:" -"`compile`." +"estar presentes e ter valores válidos ao compilar uma AST " +"com :func:`compile`." #: ../../library/ast.rst:82 msgid "" -"Instances of :class:`ast.expr` and :class:`ast.stmt` subclasses have :attr:" -"`lineno`, :attr:`col_offset`, :attr:`end_lineno`, and :attr:`end_col_offset` " -"attributes. The :attr:`lineno` and :attr:`end_lineno` are the first and " -"last line numbers of source text span (1-indexed so the first line is line " -"1) and the :attr:`col_offset` and :attr:`end_col_offset` are the " -"corresponding UTF-8 byte offsets of the first and last tokens that generated " -"the node. The UTF-8 offset is recorded because the parser uses UTF-8 " -"internally." -msgstr "" +"Instances of :class:`ast.expr` and :class:`ast.stmt` subclasses " +"have :attr:`lineno`, :attr:`col_offset`, :attr:`end_lineno`, " +"and :attr:`end_col_offset` attributes. The :attr:`lineno` " +"and :attr:`end_lineno` are the first and last line numbers of source text " +"span (1-indexed so the first line is line 1) and the :attr:`col_offset` " +"and :attr:`end_col_offset` are the corresponding UTF-8 byte offsets of the " +"first and last tokens that generated the node. The UTF-8 offset is recorded " +"because the parser uses UTF-8 internally." +msgstr "" +"As instâncias das subclasses :class:`ast.expr` e :class:`ast.stmt` possuem " +"os atributos :attr:`lineno`, :attr:`col_offset`, :attr:`end_lineno` " +"e :attr:`end_col_offset`. O :attr:`lineno` e :attr:`end_lineno` são o " +"primeiro e o último número de linha do intervalo do texto de origem " +"(indexado em 1, para que a primeira linha seja a linha 1) e " +"o :attr:`col_offset` e :attr:`end_col_offset` são os deslocamentos de byte " +"UTF-8 correspondentes do primeiro e do último tokens que geraram o nó. O " +"deslocamento UTF-8 é registrado porque o analisador sintático usa UTF-8 " +"internamente." #: ../../library/ast.rst:91 msgid "" @@ -170,8 +179,8 @@ msgid "" "If there are positional arguments, there must be as many as there are items " "in :attr:`T._fields`; they will be assigned as attributes of these names." msgstr "" -"Se houver argumentos posicionais, deve haver tantos quanto houver itens em :" -"attr:`T._fields`; eles serão atribuídos como atributos desses nomes." +"Se houver argumentos posicionais, deve haver tantos quanto houver itens " +"em :attr:`T._fields`; eles serão atribuídos como atributos desses nomes." #: ../../library/ast.rst:100 msgid "" @@ -202,34 +211,126 @@ msgid "" "Simple indices are represented by their value, extended slices are " "represented as tuples." msgstr "" +"Os índices simples são representados por seus valores, as fatias estendidas " +"são representadas como tuplas." #: ../../library/ast.rst:131 msgid "" -"Old classes :class:`ast.Num`, :class:`ast.Str`, :class:`ast.Bytes`, :class:" -"`ast.NameConstant` and :class:`ast.Ellipsis` are still available, but they " -"will be removed in future Python releases. In the meantime, instantiating " -"them will return an instance of a different class." +"Old classes :class:`!ast.Num`, :class:`!ast.Str`, :class:`!" +"ast.Bytes`, :class:`!ast.NameConstant` and :class:`!ast.Ellipsis` are still " +"available, but they will be removed in future Python releases. In the " +"meantime, instantiating them will return an instance of a different class." msgstr "" +"Classes antigas :class:`!ast.Num`, :class:`!ast.Str`, :class:`!" +"ast.Bytes`, :class:`!ast.NameConstant` e :class:`!ast.Ellipsis` ainda estão " +"disponíveis, mas serão removidos em versões futuras do Python. Enquanto " +"isso, instanciá-las retornará uma instância de uma classe diferente." #: ../../library/ast.rst:138 msgid "" -"Old classes :class:`ast.Index` and :class:`ast.ExtSlice` are still " +"Old classes :class:`!ast.Index` and :class:`!ast.ExtSlice` are still " "available, but they will be removed in future Python releases. In the " "meantime, instantiating them will return an instance of a different class." msgstr "" +"Classes antigas :class:`!ast.Index` e :class:`!ast.ExtSlice` ainda estão " +"disponíveis, mas serão removidos em versões futuras do Python. Enquanto " +"isso, instanciá-las retornará uma instância de uma classe diferente." #: ../../library/ast.rst:144 msgid "" "The descriptions of the specific node classes displayed here were initially " -"adapted from the fantastic `Green Tree Snakes `__ project and all its contributors." +"adapted from the fantastic `Green Tree Snakes `__ project and all its " +"contributors." +msgstr "" +"As descrições das classes de nós específicas exibidas aqui foram " +"inicialmente adaptadas do fantástico projeto `Green Tree Snakes `__ e de todos os seus " +"contribuidores." + +#: ../../library/ast.rst:153 +msgid "Root nodes" +msgstr "Nós raízes" + +#: ../../library/ast.rst:157 +msgid "" +"A Python module, as with :ref:`file input `. Node type generated " +"by :func:`ast.parse` in the default ``\"exec\"`` *mode*." +msgstr "" +"Um módulo Python, como :ref:`entrada de arquivo `. Tipo de nó " +"gerado por :func:`ast.parse` com *mode* no padrão ``\"exec\"``." + +#: ../../library/ast.rst:160 +msgid "*body* is a :class:`list` of the module's :ref:`ast-statements`." +msgstr "*body* é uma :class:`list` das :ref:`ast-statements` do módulo." + +#: ../../library/ast.rst:162 +msgid "" +"*type_ignores* is a :class:`list` of the module's type ignore comments; " +"see :func:`ast.parse` for more details." +msgstr "" +"*type_ignores* é uma :class:`list` dos comentários de ignorar tipo do " +"módulo; veja :func:`ast.parse` para mais detalhes." + +#: ../../library/ast.rst:179 +msgid "" +"A single Python :ref:`expression input `. Node type " +"generated by :func:`ast.parse` when *mode* is ``\"eval\"``." +msgstr "" +"Uma única :ref:`entrada de expressão ` Python. Tipo de nó " +"gerado por :func:`ast.parse` quando *mode* é ``\"eval\"``." + +#: ../../library/ast.rst:182 +msgid "" +"*body* is a single node, one of the :ref:`expression types `." +msgstr "" +"*body* é um nó único, um dos :ref:`tipos de expressão `." + +#: ../../library/ast.rst:194 +msgid "" +"A single :ref:`interactive input `, like in :ref:`tut-interac`. " +"Node type generated by :func:`ast.parse` when *mode* is ``\"single\"``." +msgstr "" +"Uma única :ref:`entrada interativa `, como em :ref:`tut-" +"interac`. Tipo de nó gerado por :func:`ast.parse` quando *mode* é " +"``\"single\"``." + +#: ../../library/ast.rst:197 +msgid "*body* is a :class:`list` of :ref:`statement nodes `." +msgstr "" +"*body* é uma :class:`list` de :ref:`nós de instrução `." + +#: ../../library/ast.rst:216 +msgid "" +"A representation of an old-style type comments for functions, as Python " +"versions prior to 3.5 didn't support :pep:`484` annotations. Node type " +"generated by :func:`ast.parse` when *mode* is ``\"func_type\"``." +msgstr "" +"Uma representação de comentários de tipo antigo para funções, já que as " +"versões do Python anteriores a 3.5 não davam suporte às anotações " +"da :pep:`484`. Tipo de nó gerado por :func:`ast.parse` quando *mode* é " +"``\"func_type\"``." + +#: ../../library/ast.rst:220 +msgid "Such type comments would look like this::" +msgstr "Esses comentários de tipo ficariam assim::" + +#: ../../library/ast.rst:226 +msgid "" +"*argtypes* is a :class:`list` of :ref:`expression nodes `." msgstr "" +"*argtypes* é uma :class:`list` de :ref:`nós de expressão `." -#: ../../library/ast.rst:150 +#: ../../library/ast.rst:228 +msgid "*returns* is a single :ref:`expression node `." +msgstr "*returns* é um único :ref:`nó de expressão `." + +#: ../../library/ast.rst:246 msgid "Literals" msgstr "Literais" -#: ../../library/ast.rst:154 +#: ../../library/ast.rst:250 msgid "" "A constant value. The ``value`` attribute of the ``Constant`` literal " "contains the Python object it represents. The values represented can be " @@ -237,384 +338,514 @@ msgid "" "container types (tuples and frozensets) if all of their elements are " "constant." msgstr "" +"Um valor constante. O atributo ``value`` do literal ``Constant`` contém o " +"objeto Python que ele representa. Os valores representados podem ser tipos " +"simples como um número, string ou ``None``, mas também tipos de contêineres " +"imutáveis (tuplas e frozensets) se todos os seus elementos forem constantes." -#: ../../library/ast.rst:168 +#: ../../library/ast.rst:264 msgid "" "Node representing a single formatting field in an f-string. If the string " "contains a single formatting field and nothing else the node can be isolated " "otherwise it appears in :class:`JoinedStr`." msgstr "" +"Nó que representa um único campo de formatação em uma f-string. Se a string " +"contiver um único campo de formatação e nada mais, o nó poderá ser isolado, " +"caso contrário ele aparecerá em :class:`JoinedStr`." -#: ../../library/ast.rst:172 +#: ../../library/ast.rst:268 msgid "" "``value`` is any expression node (such as a literal, a variable, or a " "function call)." msgstr "" +"``value`` é qualquer nó de expressão (como um literal, uma variável ou uma " +"chamada de função)." -#: ../../library/ast.rst:174 +#: ../../library/ast.rst:270 msgid "``conversion`` is an integer:" -msgstr "" +msgstr "``conversion`` é um inteiro:" -#: ../../library/ast.rst:176 +#: ../../library/ast.rst:272 msgid "-1: no formatting" -msgstr "" +msgstr "-1: sem formatação" -#: ../../library/ast.rst:177 +#: ../../library/ast.rst:273 msgid "115: ``!s`` string formatting" -msgstr "" +msgstr "115: ``!s`` formatação de string" -#: ../../library/ast.rst:178 +#: ../../library/ast.rst:274 msgid "114: ``!r`` repr formatting" -msgstr "" +msgstr "114: ``!r`` formatação de repr" -#: ../../library/ast.rst:179 +#: ../../library/ast.rst:275 msgid "97: ``!a`` ascii formatting" -msgstr "" +msgstr "97: ``!a`` formatação ascii" -#: ../../library/ast.rst:181 +#: ../../library/ast.rst:277 msgid "" "``format_spec`` is a :class:`JoinedStr` node representing the formatting of " "the value, or ``None`` if no format was specified. Both ``conversion`` and " "``format_spec`` can be set at the same time." msgstr "" +"``format_spec`` é um nó :class:`JoinedStr` que representa a formatação do " +"valor, ou ``None`` se nenhum formato foi especificado. Tanto ``conversion`` " +"quanto ``format_spec`` podem ser configurados ao mesmo tempo." -#: ../../library/ast.rst:188 +#: ../../library/ast.rst:284 msgid "" -"An f-string, comprising a series of :class:`FormattedValue` and :class:" -"`Constant` nodes." +"An f-string, comprising a series of :class:`FormattedValue` " +"and :class:`Constant` nodes." msgstr "" +"Uma f-string, compreendendo uma série de nós :class:`FormattedValue` " +"e :class:`Constant`." -#: ../../library/ast.rst:217 +#: ../../library/ast.rst:313 msgid "" "A list or tuple. ``elts`` holds a list of nodes representing the elements. " "``ctx`` is :class:`Store` if the container is an assignment target (i.e. " "``(x,y)=something``), and :class:`Load` otherwise." msgstr "" +"Uma lista ou tupla. ``elts`` contém uma lista de nós que representam os " +"elementos. ``ctx`` é :class:`Store` se o contêiner for um alvo de atribuição " +"(ou seja, ``(x,y)=algumacoisa``), e :class:`Load` caso contrário." -#: ../../library/ast.rst:243 +#: ../../library/ast.rst:339 msgid "A set. ``elts`` holds a list of nodes representing the set's elements." msgstr "" +"Um conjunto. ``elts`` contém uma lista de nós que representam os elementos " +"do conjunto." -#: ../../library/ast.rst:258 +#: ../../library/ast.rst:354 msgid "" "A dictionary. ``keys`` and ``values`` hold lists of nodes representing the " "keys and the values respectively, in matching order (what would be returned " "when calling :code:`dictionary.keys()` and :code:`dictionary.values()`)." msgstr "" +"Um dicionário. ``keys`` e ``values`` contêm listas de nós que representam as " +"chaves e os valores respectivamente, em ordem correspondente (o que seria " +"retornado ao chamar :code:`dictionary.keys()` e :code:`dictionary.values()`)." -#: ../../library/ast.rst:262 +#: ../../library/ast.rst:358 msgid "" "When doing dictionary unpacking using dictionary literals the expression to " "be expanded goes in the ``values`` list, with a ``None`` at the " "corresponding position in ``keys``." msgstr "" +"Ao desempacotar o dicionário usando literais de dicionário, a expressão a " +"ser expandida vai para a lista ``values``, com um ``None`` na posição " +"correspondente em ``keys``." -#: ../../library/ast.rst:280 +#: ../../library/ast.rst:376 msgid "Variables" -msgstr "" +msgstr "Variáveis" -#: ../../library/ast.rst:284 +#: ../../library/ast.rst:380 msgid "" "A variable name. ``id`` holds the name as a string, and ``ctx`` is one of " "the following types." msgstr "" +"Um nome de variável. ``id`` contém o nome como uma string e ``ctx`` é um dos " +"seguintes tipos." -#: ../../library/ast.rst:292 +#: ../../library/ast.rst:388 msgid "" "Variable references can be used to load the value of a variable, to assign a " "new value to it, or to delete it. Variable references are given a context to " "distinguish these cases." msgstr "" +"As referências de variáveis podem ser usadas para carregar o valor de uma " +"variável, para atribuir um novo valor a ela ou para excluí-la. As " +"referências de variáveis recebem um contexto para distinguir esses casos." -#: ../../library/ast.rst:325 +#: ../../library/ast.rst:421 msgid "" -"A ``*var`` variable reference. ``value`` holds the variable, typically a :" -"class:`Name` node. This type must be used when building a :class:`Call` node " -"with ``*args``." +"A ``*var`` variable reference. ``value`` holds the variable, typically " +"a :class:`Name` node. This type must be used when building a :class:`Call` " +"node with ``*args``." msgstr "" +"Uma referência de variável ``*var``. ``value`` contém a variável, " +"normalmente um nó :class:`Name`. Este tipo deve ser usado ao construir um " +"nó :class:`Call` com ``*args``." -#: ../../library/ast.rst:348 +#: ../../library/ast.rst:446 msgid "Expressions" msgstr "Expressões" -#: ../../library/ast.rst:352 +#: ../../library/ast.rst:450 msgid "" "When an expression, such as a function call, appears as a statement by " "itself with its return value not used or stored, it is wrapped in this " -"container. ``value`` holds one of the other nodes in this section, a :class:" -"`Constant`, a :class:`Name`, a :class:`Lambda`, a :class:`Yield` or :class:" -"`YieldFrom` node." +"container. ``value`` holds one of the other nodes in this section, " +"a :class:`Constant`, a :class:`Name`, a :class:`Lambda`, a :class:`Yield` " +"or :class:`YieldFrom` node." msgstr "" +"Quando uma expressão, como uma chamada de função, aparece como uma instrução " +"por si só com seu valor de retorno não usado ou armazenado, ela é " +"encapsulada neste contêiner. ``value`` contém um dos outros nós nesta seção, " +"um nó :class:`Constant`, um :class:`Name`, um :class:`Lambda`, " +"um :class:`Yield` ou :class:`YieldFrom`." -#: ../../library/ast.rst:371 +#: ../../library/ast.rst:469 msgid "" "A unary operation. ``op`` is the operator, and ``operand`` any expression " "node." msgstr "" +"Uma operação unária. ``op`` é o operador e ``operand`` qualquer nó de " +"expressão." -#: ../../library/ast.rst:380 +#: ../../library/ast.rst:478 msgid "" "Unary operator tokens. :class:`Not` is the ``not`` keyword, :class:`Invert` " "is the ``~`` operator." msgstr "" +"Tokens de operador unário. :class:`Not` é a palavra reservada " +"``not``, :class:`Invert` é o operador ``~``." -#: ../../library/ast.rst:394 +#: ../../library/ast.rst:492 msgid "" "A binary operation (like addition or division). ``op`` is the operator, and " "``left`` and ``right`` are any expression nodes." msgstr "" +"Uma operação binária (como adição ou divisão). ``op`` é o operador, e " +"``left`` e ``right`` são quaisquer nós de expressão." -#: ../../library/ast.rst:421 +#: ../../library/ast.rst:519 msgid "Binary operator tokens." -msgstr "" +msgstr "Tokens de operador binário." -#: ../../library/ast.rst:426 +#: ../../library/ast.rst:524 msgid "" "A boolean operation, 'or' or 'and'. ``op`` is :class:`Or` or :class:`And`. " "``values`` are the values involved. Consecutive operations with the same " "operator, such as ``a or b or c``, are collapsed into one node with several " "values." msgstr "" +"Uma operação booleana, 'or' ou 'and'. ``op`` é :class:`Or` ou :class:`And`. " +"``values`` são os valores envolvidos. Operações consecutivas com o mesmo " +"operador, como ``a or b or c``, são recolhidas em um nó com vários valores." -#: ../../library/ast.rst:431 +#: ../../library/ast.rst:529 msgid "This doesn't include ``not``, which is a :class:`UnaryOp`." -msgstr "" +msgstr "Isso não inclui ``not``, que é um :class:`UnaryOp`." -#: ../../library/ast.rst:447 +#: ../../library/ast.rst:545 msgid "Boolean operator tokens." -msgstr "" +msgstr "Tokens de operador booleano." -#: ../../library/ast.rst:452 +#: ../../library/ast.rst:550 msgid "" "A comparison of two or more values. ``left`` is the first value in the " "comparison, ``ops`` the list of operators, and ``comparators`` the list of " "values after the first element in the comparison." msgstr "" +"Uma comparação de dois ou mais valores. ``left`` é o primeiro valor na " +"comparação, ``ops`` a lista de operadores e ``comparators`` a lista de " +"valores após o primeiro elemento na comparação." -#: ../../library/ast.rst:481 +#: ../../library/ast.rst:579 msgid "Comparison operator tokens." -msgstr "" +msgstr "Tokens de operador de comparação." -#: ../../library/ast.rst:486 +#: ../../library/ast.rst:584 msgid "" -"A function call. ``func`` is the function, which will often be a :class:" -"`Name` or :class:`Attribute` object. Of the arguments:" +"A function call. ``func`` is the function, which will often be " +"a :class:`Name` or :class:`Attribute` object. Of the arguments:" msgstr "" +"Uma chamada de função. ``func`` é a função, que geralmente será um " +"objeto :class:`Name` ou :class:`Attribute`. Dos argumentos:" -#: ../../library/ast.rst:489 +#: ../../library/ast.rst:587 msgid "``args`` holds a list of the arguments passed by position." -msgstr "" +msgstr "``args`` contém uma lista dos argumentos passados por posição." -#: ../../library/ast.rst:490 +#: ../../library/ast.rst:588 msgid "" -"``keywords`` holds a list of :class:`keyword` objects representing arguments " -"passed by keyword." +"``keywords`` holds a list of :class:`.keyword` objects representing " +"arguments passed by keyword." msgstr "" +"``keywords`` contém uma lista de objetos :class:`.keyword` representando " +"argumentos passados como nomeados." -#: ../../library/ast.rst:493 +#: ../../library/ast.rst:591 msgid "" "When creating a ``Call`` node, ``args`` and ``keywords`` are required, but " -"they can be empty lists. ``starargs`` and ``kwargs`` are optional." +"they can be empty lists." msgstr "" +"Ao criar um nó ``Call``, ``args`` e ``keywords`` são necessários, mas podem " +"ser listas vazias." -#: ../../library/ast.rst:517 +#: ../../library/ast.rst:615 msgid "" "A keyword argument to a function call or class definition. ``arg`` is a raw " "string of the parameter name, ``value`` is a node to pass in." msgstr "" +"Um argumento nomeado para uma chamada de função ou definição de classe. " +"``arg`` é uma string bruta do nome do parâmetro, ``value`` é um nó para " +"passar." -#: ../../library/ast.rst:523 +#: ../../library/ast.rst:621 msgid "" "An expression such as ``a if b else c``. Each field holds a single node, so " "in the following example, all three are :class:`Name` nodes." msgstr "" +"Uma expressão como ``a if b else c``. Cada campo contém um único nó, " +"portanto, no exemplo a seguir, todos os três são nós :class:`Name`." -#: ../../library/ast.rst:538 +#: ../../library/ast.rst:636 msgid "" -"Attribute access, e.g. ``d.keys``. ``value`` is a node, typically a :class:" -"`Name`. ``attr`` is a bare string giving the name of the attribute, and " -"``ctx`` is :class:`Load`, :class:`Store` or :class:`Del` according to how " -"the attribute is acted on." +"Attribute access, e.g. ``d.keys``. ``value`` is a node, typically " +"a :class:`Name`. ``attr`` is a bare string giving the name of the attribute, " +"and ``ctx`` is :class:`Load`, :class:`Store` or :class:`Del` according to " +"how the attribute is acted on." msgstr "" +"Acesso a atributo como, por exemplo, ``d.keys``. ``value`` é um nó, " +"normalmente um :class:`Name`. ``attr`` é uma string simples fornecendo o " +"nome do atributo, e ``ctx`` é :class:`Load`, :class:`Store` ou :class:`Del` " +"de acordo com como o atributo é acionado sobre." -#: ../../library/ast.rst:555 +#: ../../library/ast.rst:653 msgid "" "A named expression. This AST node is produced by the assignment expressions " -"operator (also known as the walrus operator). As opposed to the :class:" -"`Assign` node in which the first argument can be multiple nodes, in this " -"case both ``target`` and ``value`` must be single nodes." +"operator (also known as the walrus operator). As opposed to " +"the :class:`Assign` node in which the first argument can be multiple nodes, " +"in this case both ``target`` and ``value`` must be single nodes." msgstr "" +"Uma expressão nomeada. Este nó de AST é produzido pelo operador de " +"expressões de atribuição (também conhecido como operador morsa). Ao " +"contrário do nó :class:`Assign` no qual o primeiro argumento pode ser " +"múltiplos nós, neste caso ambos ``target`` e ``value`` devem ser nós únicos." -#: ../../library/ast.rst:570 +#: ../../library/ast.rst:668 msgid "Subscripting" -msgstr "" +msgstr "Subscrição" -#: ../../library/ast.rst:574 +#: ../../library/ast.rst:672 msgid "" "A subscript, such as ``l[1]``. ``value`` is the subscripted object (usually " -"sequence or mapping). ``slice`` is an index, slice or key. It can be a :" -"class:`Tuple` and contain a :class:`Slice`. ``ctx`` is :class:`Load`, :class:" -"`Store` or :class:`Del` according to the action performed with the subscript." +"sequence or mapping). ``slice`` is an index, slice or key. It can be " +"a :class:`Tuple` and contain a :class:`Slice`. ``ctx`` " +"is :class:`Load`, :class:`Store` or :class:`Del` according to the action " +"performed with the subscript." msgstr "" +"Um subscrito, como ``l[1]``. ``value`` é o objeto subscrito (geralmente " +"sequência ou mapeamento). ``slice`` é um índice, fatia ou chave. Pode ser " +"uma :class:`Tuple` e conter uma :class:`Slice`. ``ctx`` " +"é :class:`Load`, :class:`Store` ou :class:`Del` de acordo com a ação " +"realizada com o subscrito." -#: ../../library/ast.rst:598 +#: ../../library/ast.rst:696 msgid "" "Regular slicing (on the form ``lower:upper`` or ``lower:upper:step``). Can " "occur only inside the *slice* field of :class:`Subscript`, either directly " "or as an element of :class:`Tuple`." msgstr "" +"Fatiamento regular (no formato ``lower:upper`` ou ``lower:upper:step``). " +"Pode ocorrer apenas dentro do campo *slice* de :class:`Subscript`, " +"diretamente ou como um elemento de :class:`Tuple`." -#: ../../library/ast.rst:615 +#: ../../library/ast.rst:713 msgid "Comprehensions" -msgstr "" +msgstr "Compreensões" -#: ../../library/ast.rst:622 +#: ../../library/ast.rst:720 msgid "" "List and set comprehensions, generator expressions, and dictionary " "comprehensions. ``elt`` (or ``key`` and ``value``) is a single node " "representing the part that will be evaluated for each item." msgstr "" +"Lista e define compreensões, expressões geradoras e compreensões de " +"dicionário. ``elt`` (ou ``key`` e ``value``) é um único nó que representa a " +"parte que será avaliada para cada item." -#: ../../library/ast.rst:626 +#: ../../library/ast.rst:724 msgid "``generators`` is a list of :class:`comprehension` nodes." -msgstr "" +msgstr "``generators`` é uma lista de nós de :class:`comprehension`." -#: ../../library/ast.rst:668 +#: ../../library/ast.rst:766 msgid "" "One ``for`` clause in a comprehension. ``target`` is the reference to use " "for each element - typically a :class:`Name` or :class:`Tuple` node. " "``iter`` is the object to iterate over. ``ifs`` is a list of test " "expressions: each ``for`` clause can have multiple ``ifs``." msgstr "" +"Uma cláusula ``for`` em uma compreensão. ``target`` é a referência a ser " +"usada para cada elemento - normalmente um nó :class:`Name` " +"ou :class:`Tuple`. ``iter`` é o objeto sobre o qual iterar. ``ifs`` é uma " +"lista de expressões de teste: cada cláusula ``for`` pode ter múltiplos " +"``ifs``." -#: ../../library/ast.rst:673 +#: ../../library/ast.rst:771 msgid "" "``is_async`` indicates a comprehension is asynchronous (using an ``async " "for`` instead of ``for``). The value is an integer (0 or 1)." msgstr "" +"``is_async`` indica que uma compreensão é assíncrona (usando um ``async " +"for`` em vez de ``for``). O valor é um número inteiro (0 ou 1)." -#: ../../library/ast.rst:739 +#: ../../library/ast.rst:840 msgid "Statements" msgstr "Instruções" -#: ../../library/ast.rst:743 +#: ../../library/ast.rst:844 msgid "" "An assignment. ``targets`` is a list of nodes, and ``value`` is a single " "node." msgstr "" +"Uma atribuição. ``targets`` é uma lista de nós e ``value`` é um único nó." -#: ../../library/ast.rst:745 +#: ../../library/ast.rst:846 msgid "" "Multiple nodes in ``targets`` represents assigning the same value to each. " "Unpacking is represented by putting a :class:`Tuple` or :class:`List` within " "``targets``." msgstr "" +"Vários nós em ``targets`` representam a atribuição do mesmo valor a cada um. " +"O desempacotamento é representada colocando uma :class:`Tuple` " +"ou :class:`List` dentro de ``targets``." -#: ../../library/ast.rst:751 ../../library/ast.rst:1038 -#: ../../library/ast.rst:1242 ../../library/ast.rst:1663 +#: ../../library/ast.rst:852 ../../library/ast.rst:1139 +#: ../../library/ast.rst:1343 ../../library/ast.rst:1764 msgid "" "``type_comment`` is an optional string with the type annotation as a comment." msgstr "" +"``type_comment`` é uma string opcional com a anotação de tipo como " +"comentário." -#: ../../library/ast.rst:781 +#: ../../library/ast.rst:882 msgid "" "An assignment with a type annotation. ``target`` is a single node and can be " "a :class:`Name`, a :class:`Attribute` or a :class:`Subscript`. " -"``annotation`` is the annotation, such as a :class:`Constant` or :class:" -"`Name` node. ``value`` is a single optional node. ``simple`` is a boolean " -"integer set to True for a :class:`Name` node in ``target`` that do not " -"appear in between parenthesis and are hence pure names and not expressions." +"``annotation`` is the annotation, such as a :class:`Constant` " +"or :class:`Name` node. ``value`` is a single optional node. ``simple`` is a " +"boolean integer set to True for a :class:`Name` node in ``target`` that do " +"not appear in between parenthesis and are hence pure names and not " +"expressions." msgstr "" +"Uma atribuição com uma anotação de tipo. ``target`` é um nó único e pode ser " +"um :class:`Name`, um :class:`Attribute` ou um :class:`Subscript`. " +"``annotation`` é a anotação, como um nó de :class:`Constant` " +"ou :class:`Name`. ``value`` é um único nó opcional. ``simple`` é um inteiro " +"booleano definido como True para um nó :class:`Name` em ``target`` que não " +"aparece entre parênteses e são, portanto, nomes puros e não expressões." -#: ../../library/ast.rst:836 +#: ../../library/ast.rst:937 msgid "" "Augmented assignment, such as ``a += 1``. In the following example, " "``target`` is a :class:`Name` node for ``x`` (with the :class:`Store` " "context), ``op`` is :class:`Add`, and ``value`` is a :class:`Constant` with " "value for 1." msgstr "" +"Atribuição aumentada, como ``a += 1``. No exemplo a seguir, ``target`` é um " +"nó :class:`Name` para ``x`` (com o contexto :class:`Store`), ``op`` " +"é :class:`Add`, e ``value`` é uma :class:`Constant` com valor para 1." -#: ../../library/ast.rst:841 +#: ../../library/ast.rst:942 msgid "" "The ``target`` attribute cannot be of class :class:`Tuple` or :class:`List`, " "unlike the targets of :class:`Assign`." msgstr "" +"O atributo ``target`` não pode ser da classe :class:`Tuple` " +"ou :class:`List`, diferentemente dos alvos de :class:`Assign`." -#: ../../library/ast.rst:858 +#: ../../library/ast.rst:959 msgid "" "A ``raise`` statement. ``exc`` is the exception object to be raised, " "normally a :class:`Call` or :class:`Name`, or ``None`` for a standalone " "``raise``. ``cause`` is the optional part for ``y`` in ``raise x from y``." msgstr "" +"Uma instrução ``raise``. ``exc`` é o objeto de exceção a ser levantado, " +"normalmente uma :class:`Call` ou :class:`Name`, ou ``None`` para um " +"``raise`` independente. ``cause`` é a parte opcional para ``y`` em ``raise x " +"from y``." -#: ../../library/ast.rst:875 +#: ../../library/ast.rst:976 msgid "" "An assertion. ``test`` holds the condition, such as a :class:`Compare` node. " "``msg`` holds the failure message." msgstr "" +"Uma asserção. ``test`` contém a condição, como um nó :class:`Compare`. " +"``msg`` contém a mensagem de falha." -#: ../../library/ast.rst:891 +#: ../../library/ast.rst:992 msgid "" -"Represents a ``del`` statement. ``targets`` is a list of nodes, such as :" -"class:`Name`, :class:`Attribute` or :class:`Subscript` nodes." +"Represents a ``del`` statement. ``targets`` is a list of nodes, such " +"as :class:`Name`, :class:`Attribute` or :class:`Subscript` nodes." msgstr "" +"Representa uma instrução ``del``. ``targets`` é uma lista de nós, como " +"nós :class:`Name`, :class:`Attribute` ou :class:`Subscript`." -#: ../../library/ast.rst:909 +#: ../../library/ast.rst:1010 msgid "A ``pass`` statement." -msgstr "" +msgstr "Uma instrução ``pass``." -#: ../../library/ast.rst:920 +#: ../../library/ast.rst:1021 msgid "" "Other statements which are only applicable inside functions or loops are " "described in other sections." msgstr "" +"Outras instruções que são aplicáveis apenas dentro de funções ou laços são " +"descritas em outras seções." -#: ../../library/ast.rst:924 +#: ../../library/ast.rst:1025 msgid "Imports" -msgstr "" +msgstr "Importações" -#: ../../library/ast.rst:928 +#: ../../library/ast.rst:1029 msgid "An import statement. ``names`` is a list of :class:`alias` nodes." msgstr "" +"Uma instrução de importação. ``names`` é uma lista de nós de :class:`alias`." -#: ../../library/ast.rst:945 +#: ../../library/ast.rst:1046 msgid "" "Represents ``from x import y``. ``module`` is a raw string of the 'from' " "name, without any leading dots, or ``None`` for statements such as ``from . " "import foo``. ``level`` is an integer holding the level of the relative " "import (0 means absolute import)." msgstr "" +"Representa ``from x import y``. ``module`` é uma string bruta do nome " +"'from', sem quaisquer pontos iniciais, ou ``None`` para instruções como " +"``from . import foo``. ``level`` é um número inteiro que contém o nível da " +"importação relativa (0 significa importação absoluta)." -#: ../../library/ast.rst:967 +#: ../../library/ast.rst:1068 msgid "" "Both parameters are raw strings of the names. ``asname`` can be ``None`` if " "the regular name is to be used." msgstr "" +"Ambos os parâmetros são strings brutas dos nomes. ``asname`` pode ser " +"``None`` se o nome normal for usado." -#: ../../library/ast.rst:984 +#: ../../library/ast.rst:1085 msgid "Control flow" -msgstr "" +msgstr "Fluxo de controle" -#: ../../library/ast.rst:987 +#: ../../library/ast.rst:1088 msgid "" "Optional clauses such as ``else`` are stored as an empty list if they're not " "present." msgstr "" +"Cláusulas opcionais como ``else`` são armazenadas como uma lista vazia se " +"não estiverem presentes." -#: ../../library/ast.rst:992 +#: ../../library/ast.rst:1093 msgid "" -"An ``if`` statement. ``test`` holds a single node, such as a :class:" -"`Compare` node. ``body`` and ``orelse`` each hold a list of nodes." +"An ``if`` statement. ``test`` holds a single node, such as " +"a :class:`Compare` node. ``body`` and ``orelse`` each hold a list of nodes." msgstr "" +"Uma instrução ``if``. ``test`` contém um único nó, como um " +"nó :class:`Compare`. ``body`` e ``orelse`` contêm, cada um, uma lista de nós." -#: ../../library/ast.rst:995 +#: ../../library/ast.rst:1096 msgid "" "``elif`` clauses don't have a special representation in the AST, but rather " "appear as extra :class:`If` nodes within the ``orelse`` section of the " "previous one." msgstr "" +"As cláusulas ``elif`` não têm uma representação especial no AST, mas " +"aparecem como nós extras de :class:`If` dentro da seção ``orelse`` da " +"cláusula anterior." -#: ../../library/ast.rst:1030 +#: ../../library/ast.rst:1131 msgid "" "A ``for`` loop. ``target`` holds the variable(s) the loop assigns to, as a " "single :class:`Name`, :class:`Tuple` or :class:`List` node. ``iter`` holds " @@ -623,115 +854,163 @@ msgid "" "loop finishes normally, rather than via a ``break`` statement." msgstr "" -#: ../../library/ast.rst:1064 +#: ../../library/ast.rst:1165 msgid "" "A ``while`` loop. ``test`` holds the condition, such as a :class:`Compare` " "node." msgstr "" +"Um laço ``while``. ``test`` contém a condição, como um nó " +"de :class:`Compare`." -#: ../../library/ast.rst:1091 +#: ../../library/ast.rst:1192 msgid "The ``break`` and ``continue`` statements." -msgstr "" +msgstr "As instruções ``break`` e ``continue``." -#: ../../library/ast.rst:1126 +#: ../../library/ast.rst:1227 msgid "" "``try`` blocks. All attributes are list of nodes to execute, except for " "``handlers``, which is a list of :class:`ExceptHandler` nodes." msgstr "" +"Blocos ``try``. Todos os atributos são uma lista de nós a serem executados, " +"exceto ``handlers``, que é uma lista de nós de :class:`ExceptHandler`." -#: ../../library/ast.rst:1172 +#: ../../library/ast.rst:1273 msgid "" "``try`` blocks which are followed by ``except*`` clauses. The attributes are " "the same as for :class:`Try` but the :class:`ExceptHandler` nodes in " "``handlers`` are interpreted as ``except*`` blocks rather then ``except``." msgstr "" +"Blocos ``try`` que são seguidos por cláusulas ``except*``. Os atributos são " +"os mesmos de :class:`Try`, mas os nós :class:`ExceptHandler` em ``handlers`` " +"são interpretados como blocos ``except*`` em vez de ``except``." -#: ../../library/ast.rst:1203 +#: ../../library/ast.rst:1304 msgid "" "A single ``except`` clause. ``type`` is the exception type it will match, " "typically a :class:`Name` node (or ``None`` for a catch-all ``except:`` " "clause). ``name`` is a raw string for the name to hold the exception, or " "``None`` if the clause doesn't have ``as foo``. ``body`` is a list of nodes." msgstr "" +"Uma única cláusula ``except``. ``type`` é o tipo de exceção que irá " +"corresponder, normalmente um nó de :class:`Name` (ou ``None`` para uma " +"cláusula abrangente ``except:``). ``name`` é uma string bruta para o nome " +"conter a exceção, ou ``None`` se a cláusula não tiver ``as foo``. ``body`` é " +"uma lista de nós." -#: ../../library/ast.rst:1237 +#: ../../library/ast.rst:1338 msgid "" "A ``with`` block. ``items`` is a list of :class:`withitem` nodes " "representing the context managers, and ``body`` is the indented block inside " "the context." msgstr "" +"Um bloco ``with``. ``items`` é uma lista de nós :class:`withitem` " +"representando os gerenciadores de contexto, e ``body`` é o bloco indentado " +"dentro do contexto." -#: ../../library/ast.rst:1247 +#: ../../library/ast.rst:1348 msgid "" "A single context manager in a ``with`` block. ``context_expr`` is the " -"context manager, often a :class:`Call` node. ``optional_vars`` is a :class:" -"`Name`, :class:`Tuple` or :class:`List` for the ``as foo`` part, or ``None`` " -"if that isn't used." +"context manager, often a :class:`Call` node. ``optional_vars`` is " +"a :class:`Name`, :class:`Tuple` or :class:`List` for the ``as foo`` part, or " +"``None`` if that isn't used." msgstr "" +"Um único gerenciador de contexto em um bloco ``with``. ``context_expr`` é o " +"gerenciador de contexto, geralmente um nó de :class:`Call`. " +"``optional_vars`` é um :class:`Name`, :class:`Tuple` ou :class:`List` para a " +"parte ``as foo``, ou ``None`` se não for usado." -#: ../../library/ast.rst:1280 +#: ../../library/ast.rst:1381 msgid "Pattern matching" -msgstr "" +msgstr "Correspondência de padrões" -#: ../../library/ast.rst:1285 +#: ../../library/ast.rst:1386 msgid "" "A ``match`` statement. ``subject`` holds the subject of the match (the " "object that is being matched against the cases) and ``cases`` contains an " "iterable of :class:`match_case` nodes with the different cases." msgstr "" +"Uma instrução ``match``. ``subject`` contém o assunto da correspondência (o " +"objeto que está sendo comparado com os casos) e ``cases`` contém um iterável " +"de nós de :class:`match_case` com os diferentes casos." -#: ../../library/ast.rst:1291 +#: ../../library/ast.rst:1392 msgid "" "A single case pattern in a ``match`` statement. ``pattern`` contains the " -"match pattern that the subject will be matched against. Note that the :class:" -"`AST` nodes produced for patterns differ from those produced for " +"match pattern that the subject will be matched against. Note that " +"the :class:`AST` nodes produced for patterns differ from those produced for " "expressions, even when they share the same syntax." msgstr "" +"Um padrão de caso único em uma instrução ``match``. ``pattern`` contém o " +"padrão de correspondência com o qual o assunto será comparado. Observe que " +"os nós :class:`AST` produzidos para padrões diferem daqueles produzidos para " +"expressões, mesmo quando compartilham a mesma sintaxe." -#: ../../library/ast.rst:1296 +#: ../../library/ast.rst:1397 msgid "" "The ``guard`` attribute contains an expression that will be evaluated if the " "pattern matches the subject." msgstr "" +"O atributo ``guard`` contém uma expressão que será avaliada se o padrão " +"corresponder ao assunto." -#: ../../library/ast.rst:1299 +#: ../../library/ast.rst:1400 msgid "" "``body`` contains a list of nodes to execute if the pattern matches and the " "result of evaluating the guard expression is true." msgstr "" +"``body`` contém uma lista de nós a serem executados se o padrão corresponder " +"e o resultado da avaliação da expressão de guarda for verdadeiro." -#: ../../library/ast.rst:1342 +#: ../../library/ast.rst:1443 msgid "" "A match literal or value pattern that compares by equality. ``value`` is an " "expression node. Permitted value nodes are restricted as described in the " "match statement documentation. This pattern succeeds if the match subject is " "equal to the evaluated value." msgstr "" +"Um literal de correspondência ou padrão de valor que é comparado por " +"igualdade. ``value`` é um nó de expressão. Os nós de valor permitido são " +"restritos conforme descrito na documentação da instrução de correspondência. " +"Este padrão será bem-sucedido se o assunto da correspondência for igual ao " +"valor avaliado." -#: ../../library/ast.rst:1369 +#: ../../library/ast.rst:1470 msgid "" "A match literal pattern that compares by identity. ``value`` is the " "singleton to be compared against: ``None``, ``True``, or ``False``. This " "pattern succeeds if the match subject is the given constant." msgstr "" +"Um padrão literal de correspondência que compara por identidade. ``value`` é " +"o singleton a ser comparado com: ``None``, ``True`` ou ``False``. Este " +"padrão será bem-sucedido se o assunto da correspondência for a constante " +"fornecida." -#: ../../library/ast.rst:1394 +#: ../../library/ast.rst:1495 msgid "" "A match sequence pattern. ``patterns`` contains the patterns to be matched " "against the subject elements if the subject is a sequence. Matches a " "variable length sequence if one of the subpatterns is a ``MatchStar`` node, " "otherwise matches a fixed length sequence." msgstr "" +"Um padrão de sequência de correspondência. ``patterns`` contém os padrões a " +"serem comparados aos elementos do assunto se o assunto for uma sequência. " +"Corresponde a uma sequência de comprimento variável se um dos subpadrões for " +"um nó ``MatchStar``, caso contrário corresponde a uma sequência de " +"comprimento fixo." -#: ../../library/ast.rst:1425 +#: ../../library/ast.rst:1526 msgid "" "Matches the rest of the sequence in a variable length match sequence " "pattern. If ``name`` is not ``None``, a list containing the remaining " "sequence elements is bound to that name if the overall sequence pattern is " "successful." msgstr "" +"Corresponde ao restante da sequência em um padrão de sequência de " +"correspondência de comprimento variável. Se ``name`` não for ``None``, uma " +"lista contendo os elementos restantes da sequência será vinculada a esse " +"nome se o padrão de sequência geral for bem-sucedido." -#: ../../library/ast.rst:1465 +#: ../../library/ast.rst:1566 msgid "" "A match mapping pattern. ``keys`` is a sequence of expression nodes. " "``patterns`` is a corresponding sequence of pattern nodes. ``rest`` is an " @@ -739,8 +1018,13 @@ msgid "" "elements. Permitted key expressions are restricted as described in the match " "statement documentation." msgstr "" +"Um padrão de mapeamento de correspondência. ``keys`` é uma sequência de nós " +"de expressão. ``patterns`` é uma sequência correspondente de nós padrão. " +"``rest`` é um nome opcional que pode ser especificado para capturar os " +"elementos restantes do mapeamento. As expressões-chave permitidas são " +"restritas conforme descrito na documentação da instrução match." -#: ../../library/ast.rst:1471 +#: ../../library/ast.rst:1572 msgid "" "This pattern succeeds if the subject is a mapping, all evaluated key " "expressions are present in the mapping, and the value corresponding to each " @@ -748,8 +1032,14 @@ msgid "" "dict containing the remaining mapping elements is bound to that name if the " "overall mapping pattern is successful." msgstr "" +"Este padrão será bem-sucedido se o assunto for um mapeamento, todas as " +"expressões-chave avaliadas estiverem presentes no mapeamento e o valor " +"correspondente a cada chave corresponder ao subpadrão correspondente. Se " +"``rest`` não for ``None``, um dict contendo os elementos de mapeamento " +"restantes será vinculado a esse nome se o padrão de mapeamento geral for bem-" +"sucedido." -#: ../../library/ast.rst:1511 +#: ../../library/ast.rst:1612 msgid "" "A match class pattern. ``cls`` is an expression giving the nominal class to " "be matched. ``patterns`` is a sequence of pattern nodes to be matched " @@ -759,37 +1049,60 @@ msgid "" "the corresponding patterns (specified as keyword values in the class " "pattern)." msgstr "" +"Um padrão de classe de correspondência. ``cls`` é uma expressão que fornece " +"a classe nominal a ser correspondida. ``patterns`` é uma sequência de nós " +"padrão a serem comparados com a sequência definida pela classe de atributos " +"de correspondência de padrões. ``kwd_attrs`` é uma sequência de atributos " +"adicionais a serem correspondidos (especificados como argumentos nomeados no " +"padrão de classe), ``kwd_patterns`` são os padrões correspondentes " +"(especificados como valores de argumentos nomeados no padrão de classe)." -#: ../../library/ast.rst:1518 +#: ../../library/ast.rst:1619 msgid "" "This pattern succeeds if the subject is an instance of the nominated class, " "all positional patterns match the corresponding class-defined attributes, " "and any specified keyword attributes match their corresponding pattern." msgstr "" +"Esse padrão será bem-sucedido se o assunto for uma instância da classe " +"indicada, todos os padrões posicionais corresponderem aos atributos " +"correspondentes definidos pela classe e quaisquer atributos, passados como " +"argumentos nomeados, especificados corresponderem ao seu padrão " +"correspondente." -#: ../../library/ast.rst:1522 +#: ../../library/ast.rst:1623 msgid "" "Note: classes may define a property that returns self in order to match a " "pattern node against the instance being matched. Several builtin types are " "also matched that way, as described in the match statement documentation." msgstr "" +"Nota: as classes podem definir uma propriedade que retorna self para " +"corresponder um nó padrão à instância que está sendo correspondida. Vários " +"tipos internos também são combinados dessa forma, conforme descrito na " +"documentação da instrução match." -#: ../../library/ast.rst:1575 +#: ../../library/ast.rst:1676 msgid "" "A match \"as-pattern\", capture pattern or wildcard pattern. ``pattern`` " "contains the match pattern that the subject will be matched against. If the " "pattern is ``None``, the node represents a capture pattern (i.e a bare name) " "and will always succeed." msgstr "" +"Uma correspondência \"como padrão\", padrão de captura ou padrão curinga. " +"``pattern`` contém o padrão de correspondência com o qual o assunto será " +"comparado. Se o padrão for ``None``, o nó representa um padrão de captura " +"(ou seja, um nome simples) e sempre terá sucesso." -#: ../../library/ast.rst:1580 +#: ../../library/ast.rst:1681 msgid "" "The ``name`` attribute contains the name that will be bound if the pattern " "is successful. If ``name`` is ``None``, ``pattern`` must also be ``None`` " "and the node represents the wildcard pattern." msgstr "" +"O atributo ``name`` contém o nome que será vinculado se o padrão for bem-" +"sucedido. Se ``name`` for ``None``, ``pattern`` também deverá ser ``None`` e " +"o nó representa o padrão curinga." -#: ../../library/ast.rst:1616 +#: ../../library/ast.rst:1717 msgid "" "A match \"or-pattern\". An or-pattern matches each of its subpatterns in " "turn to the subject, until one succeeds. The or-pattern is then deemed to " @@ -797,172 +1110,209 @@ msgid "" "``patterns`` attribute contains a list of match pattern nodes that will be " "matched against the subject." msgstr "" +"Uma correspondência de \"padrão ou\". Um \"padrão ou\" corresponde cada um " +"de seus subpadrões com o assunto, até que um seja bem-sucedido. O \"padrão " +"ou\" é então considerado bem-sucedido. Se nenhum dos subpadrões for bem-" +"sucedido, o padrão or falhará. O atributo ``patterns`` contém uma lista de " +"nós de padrões de correspondência que serão comparados com o assunto." -#: ../../library/ast.rst:1648 +#: ../../library/ast.rst:1749 msgid "Function and class definitions" -msgstr "" +msgstr "Definições de função e classe" -#: ../../library/ast.rst:1652 +#: ../../library/ast.rst:1753 msgid "A function definition." -msgstr "" +msgstr "Uma definição de função" -#: ../../library/ast.rst:1654 +#: ../../library/ast.rst:1755 msgid "``name`` is a raw string of the function name." -msgstr "" +msgstr "``name`` é uma string bruta do nome da função." -#: ../../library/ast.rst:1655 +#: ../../library/ast.rst:1756 msgid "``args`` is an :class:`arguments` node." -msgstr "" +msgstr "``args`` é um nó :class:`arguments`." -#: ../../library/ast.rst:1656 +#: ../../library/ast.rst:1757 msgid "``body`` is the list of nodes inside the function." -msgstr "" +msgstr "``body`` é a lista de nós dentro da função." -#: ../../library/ast.rst:1657 +#: ../../library/ast.rst:1758 msgid "" "``decorator_list`` is the list of decorators to be applied, stored outermost " "first (i.e. the first in the list will be applied last)." msgstr "" +"``decorator_list`` é a lista de decoradores a serem aplicados, armazenados " +"primeiro na parte externa (ou seja, o primeiro da lista será aplicado por " +"último)." -#: ../../library/ast.rst:1659 +#: ../../library/ast.rst:1760 msgid "``returns`` is the return annotation." -msgstr "" +msgstr "``returns`` é a anotação de retorno." -#: ../../library/ast.rst:1668 +#: ../../library/ast.rst:1769 msgid "" "``lambda`` is a minimal function definition that can be used inside an " "expression. Unlike :class:`FunctionDef`, ``body`` holds a single node." msgstr "" +"``lambda`` é uma definição mínima de função que pode ser usada dentro de uma " +"expressão. Ao contrário de :class:`FunctionDef`, ``body`` contém um único nó." -#: ../../library/ast.rst:1692 +#: ../../library/ast.rst:1793 msgid "The arguments for a function." -msgstr "" +msgstr "Os argumentos para uma função." -#: ../../library/ast.rst:1694 +#: ../../library/ast.rst:1795 msgid "" "``posonlyargs``, ``args`` and ``kwonlyargs`` are lists of :class:`arg` nodes." msgstr "" +"``posonlyargs``, ``args`` e ``kwonlyargs`` são listas de nós :class:`arg`." -#: ../../library/ast.rst:1695 +#: ../../library/ast.rst:1796 msgid "" "``vararg`` and ``kwarg`` are single :class:`arg` nodes, referring to the " "``*args, **kwargs`` parameters." msgstr "" +"``vararg`` e ``kwarg`` são nós :class:`arg` únicos, referindo-se aos " +"parâmetros ``*args, **kwargs``." -#: ../../library/ast.rst:1697 +#: ../../library/ast.rst:1798 msgid "" "``kw_defaults`` is a list of default values for keyword-only arguments. If " "one is ``None``, the corresponding argument is required." msgstr "" +"``kw_defaults`` é uma lista de valores padrão para argumentos somente-" +"nomeados. Se um for ``None``, o argumento correspondente é necessário." -#: ../../library/ast.rst:1699 +#: ../../library/ast.rst:1800 msgid "" "``defaults`` is a list of default values for arguments that can be passed " "positionally. If there are fewer defaults, they correspond to the last n " "arguments." msgstr "" +"``defaults`` é uma lista de valores padrão para argumentos que podem ser " +"passados posicionalmente. Se houver menos padrões, eles corresponderão aos " +"últimos n argumentos." -#: ../../library/ast.rst:1706 +#: ../../library/ast.rst:1807 msgid "" -"A single argument in a list. ``arg`` is a raw string of the argument name, " -"``annotation`` is its annotation, such as a :class:`Str` or :class:`Name` " -"node." +"A single argument in a list. ``arg`` is a raw string of the argument name; " +"``annotation`` is its annotation, such as a :class:`Name` node." msgstr "" +"Um único argumento em uma lista. ``arg`` é uma string bruta do nome do " +"argumento; ``annotation`` é sua anotação, como um nó :class:`Name`." -#: ../../library/ast.rst:1712 +#: ../../library/ast.rst:1812 msgid "" "``type_comment`` is an optional string with the type annotation as a comment" msgstr "" +"``type_comment`` é uma string opcional com a anotação de tipo como comentário" -#: ../../library/ast.rst:1756 +#: ../../library/ast.rst:1856 msgid "A ``return`` statement." -msgstr "" +msgstr "Uma instrução ``return``." -#: ../../library/ast.rst:1771 +#: ../../library/ast.rst:1871 msgid "" "A ``yield`` or ``yield from`` expression. Because these are expressions, " "they must be wrapped in a :class:`Expr` node if the value sent back is not " "used." msgstr "" +"Uma expressão ``yield`` ou ``yield from``. Por serem expressões, elas devem " +"ser agrupadas em um nó :class:`Expr` se o valor enviado de volta não for " +"usado." -#: ../../library/ast.rst:1796 +#: ../../library/ast.rst:1896 msgid "" "``global`` and ``nonlocal`` statements. ``names`` is a list of raw strings." msgstr "" +"Instruções ``global`` e ``nonlocal``. ``names`` é uma lista de strings " +"brutas." -#: ../../library/ast.rst:1823 +#: ../../library/ast.rst:1923 msgid "A class definition." -msgstr "" +msgstr "Uma definição de classe" -#: ../../library/ast.rst:1825 +#: ../../library/ast.rst:1925 msgid "``name`` is a raw string for the class name" -msgstr "" +msgstr "``name`` é uma string bruta para o nome da classe" -#: ../../library/ast.rst:1826 +#: ../../library/ast.rst:1926 msgid "``bases`` is a list of nodes for explicitly specified base classes." msgstr "" +"``bases`` é uma lista de nós para classes base especificadas explicitamente." -#: ../../library/ast.rst:1827 +#: ../../library/ast.rst:1927 msgid "" -"``keywords`` is a list of :class:`keyword` nodes, principally for " +"``keywords`` is a list of :class:`.keyword` nodes, principally for " "'metaclass'. Other keywords will be passed to the metaclass, as per " "`PEP-3115 `_." msgstr "" +"``keywords`` é uma lista de nós :class:`.keyword`, principalmente para " +"'metaclass'. Outras argumentos nomeados serão passadas para a metaclasse, " +"conforme `PEP-3115 `_." -#: ../../library/ast.rst:1830 -msgid "" -"``starargs`` and ``kwargs`` are each a single node, as in a function call. " -"starargs will be expanded to join the list of base classes, and kwargs will " -"be passed to the metaclass." -msgstr "" - -#: ../../library/ast.rst:1833 +#: ../../library/ast.rst:1930 msgid "" "``body`` is a list of nodes representing the code within the class " "definition." msgstr "" +"``body`` é uma lista de nós que representam o código dentro da definição de " +"classe." -#: ../../library/ast.rst:1835 +#: ../../library/ast.rst:1932 msgid "``decorator_list`` is a list of nodes, as in :class:`FunctionDef`." -msgstr "" +msgstr "``decorator_list`` é uma lista de nós, como em :class:`FunctionDef`." -#: ../../library/ast.rst:1864 +#: ../../library/ast.rst:1961 msgid "Async and await" -msgstr "" +msgstr "Async e await" -#: ../../library/ast.rst:1868 +#: ../../library/ast.rst:1965 msgid "" -"An ``async def`` function definition. Has the same fields as :class:" -"`FunctionDef`." +"An ``async def`` function definition. Has the same fields " +"as :class:`FunctionDef`." msgstr "" +"Uma definição de função ``async def``. Possui os mesmos campos " +"que :class:`FunctionDef`." -#: ../../library/ast.rst:1874 +#: ../../library/ast.rst:1971 msgid "" "An ``await`` expression. ``value`` is what it waits for. Only valid in the " "body of an :class:`AsyncFunctionDef`." msgstr "" +"Uma expressão ``await``. ``value`` é o que ela espera. Válido apenas no " +"corpo de um :class:`AsyncFunctionDef`." -#: ../../library/ast.rst:1907 +#: ../../library/ast.rst:2004 msgid "" "``async for`` loops and ``async with`` context managers. They have the same " "fields as :class:`For` and :class:`With`, respectively. Only valid in the " "body of an :class:`AsyncFunctionDef`." msgstr "" +"Laços ``async for`` e gerenciadores de contexto ``async with``. Eles têm os " +"mesmos campos que :class:`For` e :class:`With`, respectivamente. Válido " +"apenas no corpo de :class:`AsyncFunctionDef`." -#: ../../library/ast.rst:1912 +#: ../../library/ast.rst:2009 msgid "" -"When a string is parsed by :func:`ast.parse`, operator nodes (subclasses of :" -"class:`ast.operator`, :class:`ast.unaryop`, :class:`ast.cmpop`, :class:`ast." -"boolop` and :class:`ast.expr_context`) on the returned tree will be " -"singletons. Changes to one will be reflected in all other occurrences of the " -"same value (e.g. :class:`ast.Add`)." +"When a string is parsed by :func:`ast.parse`, operator nodes (subclasses " +"of :class:`ast.operator`, :class:`ast.unaryop`, :class:`ast.cmpop`, :class:`ast.boolop` " +"and :class:`ast.expr_context`) on the returned tree will be singletons. " +"Changes to one will be reflected in all other occurrences of the same value " +"(e.g. :class:`ast.Add`)." msgstr "" +"Quando uma string é analisada por :func:`ast.parse`, os nós operadores " +"(subclasses " +"de :class:`ast.operator`, :class:`ast.unaryop`, :class:`ast.cmpop`, :class:`ast.boolop` " +"e :class:`ast.expr_context`) na árvore retornada serão singletons. As " +"alterações em um serão refletidas em todas as outras ocorrências do mesmo " +"valor (por exemplo, :class:`ast.Add`)." -#: ../../library/ast.rst:1920 +#: ../../library/ast.rst:2017 msgid ":mod:`ast` Helpers" msgstr "Auxiliares de :mod:`ast`" -#: ../../library/ast.rst:1922 +#: ../../library/ast.rst:2019 msgid "" "Apart from the node classes, the :mod:`ast` module defines these utility " "functions and classes for traversing abstract syntax trees:" @@ -970,7 +1320,7 @@ msgstr "" "Além das classes de nós, o módulo :mod:`ast` define essas funções e classes " "utilitárias para percorrer árvores de sintaxe abstrata:" -#: ../../library/ast.rst:1927 +#: ../../library/ast.rst:2024 msgid "" "Parse the source into an AST node. Equivalent to ``compile(source, " "filename, mode, ast.PyCF_ONLY_AST)``." @@ -978,12 +1328,12 @@ msgstr "" "Analisa a fonte em um nó AST. Equivalente a ``compile(source, filename, " "mode, ast.PyCF_ONLY_AST)``." -#: ../../library/ast.rst:1930 +#: ../../library/ast.rst:2027 msgid "" "If ``type_comments=True`` is given, the parser is modified to check and " "return type comments as specified by :pep:`484` and :pep:`526`. This is " -"equivalent to adding :data:`ast.PyCF_TYPE_COMMENTS` to the flags passed to :" -"func:`compile()`. This will report syntax errors for misplaced type " +"equivalent to adding :data:`ast.PyCF_TYPE_COMMENTS` to the flags passed " +"to :func:`compile()`. This will report syntax errors for misplaced type " "comments. Without this flag, type comments will be ignored, and the " "``type_comment`` field on selected AST nodes will always be ``None``. In " "addition, the locations of ``# type: ignore`` comments will be returned as " @@ -991,47 +1341,46 @@ msgid "" "empty list)." msgstr "" "Se ``type_comments=True`` é fornecido, o analisador é modificado para " -"verificar e retornar comentários do tipo, conforme especificado por :pep:" -"`484` e :pep:`526`. Isso é equivalente a adicionar :data:`ast." -"PyCF_TYPE_COMMENTS` aos sinalizadores passados para :func:`compile()`. Isso " -"relatará erros de sintaxe para comentários do tipo extraviado. Sem esse " -"sinalizador, os comentários do tipo serão ignorados e o campo " -"``type_comment`` nos nós AST selecionados sempre será ``None``. Além disso, " -"os locais dos comentários ``# type: ignore`` serão retornados como o " -"atributo ``type_ignores`` de :class:`Module` (caso contrário, é sempre uma " -"lista vazia)." - -#: ../../library/ast.rst:1940 +"verificar e retornar comentários do tipo, conforme especificado " +"por :pep:`484` e :pep:`526`. Isso é equivalente a " +"adicionar :data:`ast.PyCF_TYPE_COMMENTS` aos sinalizadores passados " +"para :func:`compile()`. Isso relatará erros de sintaxe para comentários do " +"tipo extraviado. Sem esse sinalizador, os comentários do tipo serão " +"ignorados e o campo ``type_comment`` nos nós AST selecionados sempre será " +"``None``. Além disso, os locais dos comentários ``# type: ignore`` serão " +"retornados como o atributo ``type_ignores`` de :class:`Module` (caso " +"contrário, é sempre uma lista vazia)." + +#: ../../library/ast.rst:2037 msgid "" "In addition, if ``mode`` is ``'func_type'``, the input syntax is modified to " "correspond to :pep:`484` \"signature type comments\", e.g. ``(str, int) -> " "List[str]``." msgstr "" "Além disso, se ``mode`` for ``'func_type'``, a sintaxe de entrada é " -"modificada para corresponder a \"comentários de tipo de assinatura\" de :pep:" -"`484`, por exemplo, ``(str, int) -> List[str]``." +"modificada para corresponder a \"comentários de tipo de assinatura\" " +"de :pep:`484`, por exemplo, ``(str, int) -> List[str]``." -#: ../../library/ast.rst:1944 +#: ../../library/ast.rst:2041 msgid "" -"Also, setting ``feature_version`` to a tuple ``(major, minor)`` will attempt " -"to parse using that Python version's grammar. Currently ``major`` must equal " -"to ``3``. For example, setting ``feature_version=(3, 4)`` will allow the " -"use of ``async`` and ``await`` as variable names. The lowest supported " -"version is ``(3, 4)``; the highest is ``sys.version_info[0:2]``." +"Setting ``feature_version`` to a tuple ``(major, minor)`` will result in a " +"\"best-effort\" attempt to parse using that Python version's grammar. For " +"example, setting ``feature_version=(3, 9)`` will attempt to disallow parsing " +"of :keyword:`match` statements. Currently ``major`` must equal to ``3``. The " +"lowest supported version is ``(3, 4)`` (and this may increase in future " +"Python versions); the highest is ``sys.version_info[0:2]``. \"Best-effort\" " +"attempt means there is no guarantee that the parse (or success of the parse) " +"is the same as when run on the Python version corresponding to " +"``feature_version``." msgstr "" -"Além disso, definir ``feature_version`` como uma tupla ``(maior, menor)`` " -"tentará analisar usando a gramática dessa versão do Python. Atualmente, " -"``maior`` deve ser igual a ``3``. Por exemplo, definir ``feature_version=(3, " -"4)`` permitirá o uso de ``async`` e ``waitit`` como nomes de variáveis. A " -"versão mais baixa suportada é ``(3, 4)``; a mais alta é ``sys." -"version_info[0:2]``." -#: ../../library/ast.rst:1951 +#: ../../library/ast.rst:2051 msgid "" -"If source contains a null character ('\\0'), :exc:`ValueError` is raised." +"If source contains a null character (``\\0``), :exc:`ValueError` is raised." msgstr "" +"Se a fonte contém um caractere nulo (``\\0``), :exc:`ValueError` é levantada." -#: ../../library/ast.rst:1954 +#: ../../library/ast.rst:2054 msgid "" "Note that successfully parsing source code into an AST object doesn't " "guarantee that the source code provided is valid Python code that can be " @@ -1040,14 +1389,22 @@ msgid "" "node for a return statement, but it cannot be compiled alone (it needs to be " "inside a function node)." msgstr "" +"Observe que a análise bem-sucedida do código-fonte em um objeto AST não " +"garante que o código-fonte fornecido seja um código Python válido que pode " +"ser executado, pois a etapa de compilação pode levantar mais " +"exceções :exc:`SyntaxError`. Por exemplo, a fonte ``return 42`` gera um nó " +"AST válido para uma instrução return, mas não pode ser compilado sozinho " +"(precisa estar dentro de um nó de função)." -#: ../../library/ast.rst:1961 +#: ../../library/ast.rst:2061 msgid "" "In particular, :func:`ast.parse` won't do any scoping checks, which the " "compilation step does." msgstr "" +"Em particular, :func:`ast.parse` não fará nenhuma verificação de escopo, o " +"que a etapa de compilação faz." -#: ../../library/ast.rst:1965 +#: ../../library/ast.rst:2065 msgid "" "It is possible to crash the Python interpreter with a sufficiently large/" "complex string due to stack depth limitations in Python's AST compiler." @@ -1056,47 +1413,63 @@ msgstr "" "grande/complexa devido às limitações de profundidade da pilha no compilador " "de AST do Python." -#: ../../library/ast.rst:1969 +#: ../../library/ast.rst:2069 msgid "Added ``type_comments``, ``mode='func_type'`` and ``feature_version``." msgstr "" "Adicionado ``type_comments``, ``mode='func_type'`` e ``feature_version``." -#: ../../library/ast.rst:1975 +#: ../../library/ast.rst:2075 msgid "" "Unparse an :class:`ast.AST` object and generate a string with code that " -"would produce an equivalent :class:`ast.AST` object if parsed back with :" -"func:`ast.parse`." +"would produce an equivalent :class:`ast.AST` object if parsed back " +"with :func:`ast.parse`." msgstr "" +"Desfaz análise de um objeto :class:`ast.AST` e gera uma string com código " +"que produziria um objeto :class:`ast.AST` equivalente se analisado novamente " +"com :func:`ast.parse`." -#: ../../library/ast.rst:1980 +#: ../../library/ast.rst:2080 msgid "" "The produced code string will not necessarily be equal to the original code " "that generated the :class:`ast.AST` object (without any compiler " "optimizations, such as constant tuples/frozensets)." msgstr "" +"A string de código produzida não será necessariamente igual ao código " +"original que gerou o objeto :class:`ast.AST` (sem quaisquer otimizações do " +"compilador, como tuplas/frozensets constantes)." -#: ../../library/ast.rst:1985 +#: ../../library/ast.rst:2085 msgid "" -"Trying to unparse a highly complex expression would result with :exc:" -"`RecursionError`." +"Trying to unparse a highly complex expression would result " +"with :exc:`RecursionError`." msgstr "" +"Tentar desfazer análise de uma expressão altamente complexa resultaria " +"em :exc:`RecursionError`." -#: ../../library/ast.rst:1993 +#: ../../library/ast.rst:2093 msgid "" "Evaluate an expression node or a string containing only a Python literal or " "container display. The string or node provided may only consist of the " "following Python literal structures: strings, bytes, numbers, tuples, lists, " "dicts, sets, booleans, ``None`` and ``Ellipsis``." msgstr "" +"Avalia um nó de expressão ou uma string contendo apenas um literal Python ou " +"uma exibição de contêiner. A string ou nó fornecido pode consistir apenas " +"nas seguintes estruturas literais Python: strings, bytes, números, tuplas, " +"listas, dicionários, conjuntos, booleanos, ``None`` e ``Ellipsis``." -#: ../../library/ast.rst:1998 +#: ../../library/ast.rst:2098 msgid "" "This can be used for evaluating strings containing Python values without the " "need to parse the values oneself. It is not capable of evaluating " "arbitrarily complex expressions, for example involving operators or indexing." msgstr "" +"Isso pode ser usado para avaliar strings contendo valores Python sem a " +"necessidade de analisar os valores por conta própria. Não é capaz de avaliar " +"expressões arbitrariamente complexas, por exemplo, envolvendo operadores ou " +"indexação." -#: ../../library/ast.rst:2003 +#: ../../library/ast.rst:2103 msgid "" "This function had been documented as \"safe\" in the past without defining " "what that meant. That was misleading. This is specifically designed not to " @@ -1107,58 +1480,77 @@ msgid "" "excessive CPU consumption denial of service on some inputs. Calling it on " "untrusted data is thus not recommended." msgstr "" +"Esta função foi documentada como “segura” no passado sem definir o que isso " +"significava. Isso foi enganoso. Isso foi projetado especificamente para não " +"executar código Python, ao contrário do :func:`eval` mais geral. Não há " +"espaço de nomes, pesquisas de nome ou capacidade de chamada. Mas não está " +"livre de ataques: uma entrada relativamente pequena pode levar ao " +"esgotamento da memória ou ao esgotamento da pilha C, travando o processo. " +"Também existe a possibilidade de negação de serviço por consumo excessivo de " +"CPU em algumas entradas. Portanto, não é recomendado chamá-la em dados não " +"confiáveis." -#: ../../library/ast.rst:2013 +#: ../../library/ast.rst:2113 msgid "" "It is possible to crash the Python interpreter due to stack depth " "limitations in Python's AST compiler." msgstr "" +"É possível travar o interpretador Python devido às limitações de " +"profundidade da pilha no compilador AST do Python." -#: ../../library/ast.rst:2016 +#: ../../library/ast.rst:2116 msgid "" -"It can raise :exc:`ValueError`, :exc:`TypeError`, :exc:`SyntaxError`, :exc:" -"`MemoryError` and :exc:`RecursionError` depending on the malformed input." +"It can " +"raise :exc:`ValueError`, :exc:`TypeError`, :exc:`SyntaxError`, :exc:`MemoryError` " +"and :exc:`RecursionError` depending on the malformed input." msgstr "" +"Pode " +"levantar :exc:`ValueError`, :exc:`TypeError`, :exc:`SyntaxError`, :exc:`MemoryError` " +"e :exc:`RecursionError` dependendo da entrada malformada." -#: ../../library/ast.rst:2020 +#: ../../library/ast.rst:2120 msgid "Now allows bytes and set literals." msgstr "Agora permite bytes e literais de conjuntos." -#: ../../library/ast.rst:2023 +#: ../../library/ast.rst:2123 msgid "Now supports creating empty sets with ``'set()'``." -msgstr "" +msgstr "Agora oferece suporte à criação de conjuntos vazios com ``'set()'``." -#: ../../library/ast.rst:2026 +#: ../../library/ast.rst:2126 msgid "For string inputs, leading spaces and tabs are now stripped." msgstr "" +"Para entradas de string, os espaços iniciais e tabulações agora são " +"removidos." -#: ../../library/ast.rst:2032 +#: ../../library/ast.rst:2132 msgid "" -"Return the docstring of the given *node* (which must be a :class:" -"`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef`, or :class:" -"`Module` node), or ``None`` if it has no docstring. If *clean* is true, " -"clean up the docstring's indentation with :func:`inspect.cleandoc`." +"Return the docstring of the given *node* (which must be " +"a :class:`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef`, " +"or :class:`Module` node), or ``None`` if it has no docstring. If *clean* is " +"true, clean up the docstring's indentation with :func:`inspect.cleandoc`." msgstr "" -"Retorna a docstring do *node* dado (que deve ser um nó :class:" -"`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef` ou :class:" -"`Module`) ou ``None`` se não tiver uma docstring. Se *clean* for verdadeiro, " -"limpa o recuo da docstring com :func:`inspect.cleandoc`." +"Retorna a docstring do *node* dado (que deve ser um " +"nó :class:`FunctionDef`, :class:`AsyncFunctionDef`, :class:`ClassDef` " +"ou :class:`Module`) ou ``None`` se não tiver uma docstring. Se *clean* for " +"verdadeiro, limpa o recuo da docstring com :func:`inspect.cleandoc`." -#: ../../library/ast.rst:2038 +#: ../../library/ast.rst:2138 msgid ":class:`AsyncFunctionDef` is now supported." msgstr "Não há suporte a :class:`AsyncFunctionDef`." -#: ../../library/ast.rst:2044 +#: ../../library/ast.rst:2144 msgid "" "Get source code segment of the *source* that generated *node*. If some " -"location information (:attr:`lineno`, :attr:`end_lineno`, :attr:" -"`col_offset`, or :attr:`end_col_offset`) is missing, return ``None``." +"location information " +"(:attr:`~ast.AST.lineno`, :attr:`~ast.AST.end_lineno`, :attr:`~ast.AST.col_offset`, " +"or :attr:`~ast.AST.end_col_offset`) is missing, return ``None``." msgstr "" -"Obtém o segmento de código-fonte de *source* que gerou *node*. Se algumas " -"informações de local (:attr:`lineno`, :attr:`end_lineno`, :attr:`col_offset` " -"ou :attr:`end_col_offset`) estiverem faltando, retorna ``None``." +"Obtém o segmento de código-fonte do *source* que gerou o *node*. Se alguma " +"informação de localização " +"(:attr:`~ast.AST.lineno`, :attr:`~ast.AST.end_lineno`, :attr:`~ast.AST.col_offset` " +"ou :attr:`~ast.AST.end_col_offset`) está faltando, retorna ``None``." -#: ../../library/ast.rst:2048 +#: ../../library/ast.rst:2148 msgid "" "If *padded* is ``True``, the first line of a multi-line statement will be " "padded with spaces to match its original position." @@ -1166,22 +1558,23 @@ msgstr "" "Se *padded* for ``True``, a primeira linha de uma instrução multilinha será " "preenchida com espaços para corresponder à sua posição original." -#: ../../library/ast.rst:2056 +#: ../../library/ast.rst:2156 msgid "" -"When you compile a node tree with :func:`compile`, the compiler expects :" -"attr:`lineno` and :attr:`col_offset` attributes for every node that supports " -"them. This is rather tedious to fill in for generated nodes, so this helper " -"adds these attributes recursively where not already set, by setting them to " -"the values of the parent node. It works recursively starting at *node*." +"When you compile a node tree with :func:`compile`, the compiler " +"expects :attr:`~ast.AST.lineno` and :attr:`~ast.AST.col_offset` attributes " +"for every node that supports them. This is rather tedious to fill in for " +"generated nodes, so this helper adds these attributes recursively where not " +"already set, by setting them to the values of the parent node. It works " +"recursively starting at *node*." msgstr "" "Quando você compila uma árvore de nós com :func:`compile`, o compilador " -"espera atributos :attr:`lineno` e :attr:`col_offset` para cada nó que os " -"suporta. Isso é tedioso para preencher nós gerados, portanto, esse auxiliar " -"adiciona esses atributos recursivamente, onde ainda não estão definidos, " -"definindo-os para os valores do nó pai. Ele funciona recursivamente a partir " -"do *node*." +"espera atributos :attr:`~ast.AST.lineno` e :attr:`~ast.AST.col_offset` para " +"cada nó que os suporta. Isso é tedioso para preencher nós gerados, portanto, " +"esse auxiliar adiciona esses atributos recursivamente, onde ainda não estão " +"definidos, definindo-os para os valores do nó pai. Ele funciona " +"recursivamente a partir do *node*." -#: ../../library/ast.rst:2065 +#: ../../library/ast.rst:2165 msgid "" "Increment the line number and end line number of each node in the tree " "starting at *node* by *n*. This is useful to \"move code\" to a different " @@ -1191,25 +1584,27 @@ msgstr "" "começando em *node* em *n*. Isso é útil para \"mover código\" para um local " "diferente em um arquivo." -#: ../../library/ast.rst:2072 +#: ../../library/ast.rst:2172 msgid "" -"Copy source location (:attr:`lineno`, :attr:`col_offset`, :attr:" -"`end_lineno`, and :attr:`end_col_offset`) from *old_node* to *new_node* if " +"Copy source location " +"(:attr:`~ast.AST.lineno`, :attr:`~ast.AST.col_offset`, :attr:`~ast.AST.end_lineno`, " +"and :attr:`~ast.AST.end_col_offset`) from *old_node* to *new_node* if " "possible, and return *new_node*." msgstr "" -"Copia o local de origem (:attr:`lineno`, :attr:`col_offset`, :attr:" -"`end_lineno` e :attr:`end_col_offset`) de *old_node* para *new_node* se " -"possível e, então, retorna *new_node*." +"Copia o local de origem " +"(:attr:`~ast.AST.lineno`, :attr:`~ast.AST.col_offset`, :attr:`~ast.AST.end_lineno` " +"e :attr:`~ast.AST.end_col_offset`) de *old_node* para *new_node* se possível " +"e, então, retorna *new_node*." -#: ../../library/ast.rst:2079 +#: ../../library/ast.rst:2179 msgid "" "Yield a tuple of ``(fieldname, value)`` for each field in ``node._fields`` " "that is present on *node*." msgstr "" -"Produz uma tupla de ``(fieldname, value)`` para cada campo em ``node." -"_fields`` que esteja presente em *node*." +"Produz uma tupla de ``(fieldname, value)`` para cada campo em " +"``node._fields`` que esteja presente em *node*." -#: ../../library/ast.rst:2085 +#: ../../library/ast.rst:2185 msgid "" "Yield all direct child nodes of *node*, that is, all fields that are nodes " "and all items of fields that are lists of nodes." @@ -1217,7 +1612,7 @@ msgstr "" "Produz todos os nós filhos diretos de *node*, ou seja, todos os campos que " "são nós e todos os itens de campos que são listas de nós." -#: ../../library/ast.rst:2091 +#: ../../library/ast.rst:2191 msgid "" "Recursively yield all descendant nodes in the tree starting at *node* " "(including *node* itself), in no specified order. This is useful if you " @@ -1228,7 +1623,7 @@ msgstr "" "útil se você quiser apenas modificar nós no lugar e não se importar com o " "contexto." -#: ../../library/ast.rst:2098 +#: ../../library/ast.rst:2198 msgid "" "A node visitor base class that walks the abstract syntax tree and calls a " "visitor function for every node found. This function may return a value " @@ -1238,7 +1633,7 @@ msgstr "" "e chama uma função de visitante para cada nó encontrado. Esta função pode " "retornar um valor que é encaminhado pelo método :meth:`visit`." -#: ../../library/ast.rst:2102 +#: ../../library/ast.rst:2202 msgid "" "This class is meant to be subclassed, with the subclass adding visitor " "methods." @@ -1246,52 +1641,56 @@ msgstr "" "Esta classe deve ser uma subclasse, com a subclasse adicionando métodos " "visitantes." -#: ../../library/ast.rst:2107 +#: ../../library/ast.rst:2207 msgid "" -"Visit a node. The default implementation calls the method called :samp:" -"`self.visit_{classname}` where *classname* is the name of the node class, " -"or :meth:`generic_visit` if that method doesn't exist." +"Visit a node. The default implementation calls the method " +"called :samp:`self.visit_{classname}` where *classname* is the name of the " +"node class, or :meth:`generic_visit` if that method doesn't exist." msgstr "" -"Visita um nó. A implementação padrão chama o método chamado :samp:`self." -"visit_{nomedaclasse}` sendo *nomedaclasse* o nome da classe do nó, ou :meth:" -"`generic_visit` se aquele método não existir." +"Visita um nó. A implementação padrão chama o método " +"chamado :samp:`self.visit_{nomedaclasse}` sendo *nomedaclasse* o nome da " +"classe do nó, ou :meth:`generic_visit` se aquele método não existir." -#: ../../library/ast.rst:2113 +#: ../../library/ast.rst:2213 msgid "This visitor calls :meth:`visit` on all children of the node." msgstr "Este visitante chama :meth:`visit` em todos os filhos do nó." -#: ../../library/ast.rst:2115 +#: ../../library/ast.rst:2215 msgid "" "Note that child nodes of nodes that have a custom visitor method won't be " "visited unless the visitor calls :meth:`generic_visit` or visits them itself." msgstr "" "Observe que nós filhos de nós que possuem um método de visitante " -"personalizado não serão visitados, a menos que o visitante chame :meth:" -"`generic_visit` ou os visite por conta própria." +"personalizado não serão visitados, a menos que o visitante " +"chame :meth:`generic_visit` ou os visite por conta própria." -#: ../../library/ast.rst:2119 +#: ../../library/ast.rst:2221 +msgid "Handles all constant nodes." +msgstr "Manipula todos os nós constantes." + +#: ../../library/ast.rst:2223 msgid "" "Don't use the :class:`NodeVisitor` if you want to apply changes to nodes " -"during traversal. For this a special visitor exists (:class:" -"`NodeTransformer`) that allows modifications." +"during traversal. For this a special visitor exists " +"(:class:`NodeTransformer`) that allows modifications." msgstr "" "Não use o :class:`NodeVisitor` se você quiser aplicar mudanças nos nós " -"durante a travessia. Para isso existe um visitante especial (:class:" -"`NodeTransformer`) que permite modificações." +"durante a travessia. Para isso existe um visitante especial " +"(:class:`NodeTransformer`) que permite modificações." -#: ../../library/ast.rst:2125 +#: ../../library/ast.rst:2229 msgid "" -"Methods :meth:`visit_Num`, :meth:`visit_Str`, :meth:`visit_Bytes`, :meth:" -"`visit_NameConstant` and :meth:`visit_Ellipsis` are deprecated now and will " -"not be called in future Python versions. Add the :meth:`visit_Constant` " -"method to handle all constant nodes." +"Methods :meth:`!visit_Num`, :meth:`!visit_Str`, :meth:`!" +"visit_Bytes`, :meth:`!visit_NameConstant` and :meth:`!visit_Ellipsis` are " +"deprecated now and will not be called in future Python versions. Add " +"the :meth:`visit_Constant` method to handle all constant nodes." msgstr "" -"Os métodos :meth:`visit_Num`, :meth:`visit_Str`, :meth:`visit_Bytes`, :meth:" -"`visit_NameConstant` e :meth:`visit_Ellipsis` estão agora descontinuados e " -"não serão chamados em futuras versões do Python. Adicione um método :meth:" -"`visit_Constant` para lidar com nós de constantes." +"Os métodos :meth:`!visit_Num`, :meth:`!visit_Str`, :meth:`!" +"visit_Bytes`, :meth:`!visit_NameConstant` e :meth:`!visit_Ellipsis` estão " +"agora descontinuados e não serão chamados em futuras versões do Python. " +"Adicione um método :meth:`visit_Constant` para lidar com nós de constantes." -#: ../../library/ast.rst:2133 +#: ../../library/ast.rst:2237 msgid "" "A :class:`NodeVisitor` subclass that walks the abstract syntax tree and " "allows modification of nodes." @@ -1299,7 +1698,7 @@ msgstr "" "A subclasse :class:`NodeVisitor` que percorre a árvore de sintaxe abstrata e " "permite a modificação de nós." -#: ../../library/ast.rst:2136 +#: ../../library/ast.rst:2240 msgid "" "The :class:`NodeTransformer` will walk the AST and use the return value of " "the visitor methods to replace or remove the old node. If the return value " @@ -1313,7 +1712,7 @@ msgstr "" "caso contrário, ele será substituído pelo valor de retorno. O valor de " "retorno pode ser o nó original, caso em que não há substituição." -#: ../../library/ast.rst:2142 +#: ../../library/ast.rst:2246 msgid "" "Here is an example transformer that rewrites all occurrences of name lookups " "(``foo``) to ``data['foo']``::" @@ -1321,17 +1720,17 @@ msgstr "" "Aqui está um exemplo de transformador que rescreve todas as ocorrências de " "procuras por nome (``foo``) para ``data['foo']``::" -#: ../../library/ast.rst:2154 +#: ../../library/ast.rst:2258 msgid "" "Keep in mind that if the node you're operating on has child nodes you must " -"either transform the child nodes yourself or call the :meth:`generic_visit` " -"method for the node first." +"either transform the child nodes yourself or call " +"the :meth:`~ast.NodeVisitor.generic_visit` method for the node first." msgstr "" "Tenha em mente que, se o nó em que você está operando tiver nós filhos, você " -"deve transformar os nós filhos por conta própria ou chamar o método :meth:" -"`generic_visit` para o nó primeiro." +"deve transformar os nós filhos por conta própria ou chamar o " +"método :meth:`~ast.NodeVisitor.generic_visit` para o nó primeiro." -#: ../../library/ast.rst:2158 +#: ../../library/ast.rst:2262 msgid "" "For nodes that were part of a collection of statements (that applies to all " "statement nodes), the visitor may also return a list of nodes rather than " @@ -1341,23 +1740,23 @@ msgstr "" "todos os nós de instrução), o visitante também pode retornar uma lista de " "nós em vez de apenas um único nó." -#: ../../library/ast.rst:2162 +#: ../../library/ast.rst:2266 msgid "" "If :class:`NodeTransformer` introduces new nodes (that weren't part of " -"original tree) without giving them location information (such as :attr:" -"`lineno`), :func:`fix_missing_locations` should be called with the new sub-" -"tree to recalculate the location information::" +"original tree) without giving them location information (such " +"as :attr:`~ast.AST.lineno`), :func:`fix_missing_locations` should be called " +"with the new sub-tree to recalculate the location information::" msgstr "" "Se :class:`NodeTransformer` introduz novos nós (que não faziam parte da " -"árvore original) sem fornecer informações de localização (como :attr:" -"`lineno`), :func:`fix_missing_locations` deve ser chamado com o novo " -"subárvore para recalcular as informações de localização::" +"árvore original) sem fornecer informações de localização " +"(como :attr:`~ast.AST.lineno`), :func:`fix_missing_locations` deve ser " +"chamado com o novo subárvore para recalcular as informações de localização::" -#: ../../library/ast.rst:2170 +#: ../../library/ast.rst:2274 msgid "Usually you use the transformer like this::" msgstr "Normalmente você usa o transformador assim::" -#: ../../library/ast.rst:2177 +#: ../../library/ast.rst:2281 msgid "" "Return a formatted dump of the tree in *node*. This is mainly useful for " "debugging purposes. If *annotate_fields* is true (by default), the returned " @@ -1375,7 +1774,7 @@ msgstr "" "deslocamentos de coluna não são despejados por padrão. Se isso for desejado, " "*include_attributes* pode ser definido como verdadeiro." -#: ../../library/ast.rst:2185 +#: ../../library/ast.rst:2289 msgid "" "If *indent* is a non-negative integer or string, then the tree will be " "pretty-printed with that indent level. An indent level of 0, negative, or " @@ -1384,82 +1783,102 @@ msgid "" "many spaces per level. If *indent* is a string (such as ``\"\\t\"``), that " "string is used to indent each level." msgstr "" +"Se *indent* for um inteiro não negativo ou uma string, então a árvore terá " +"uma saída formatada com este nível de indentação. Um nível de indentação 0, " +"negativo ou ``\"\"`` apenas colocará novas linhas. ``None`` (o padrão) " +"seleciona a representação de uma única linha. Usando um inteiro positivo a " +"indentação terá alguns espaços por nível. Se *indent* for uma string (como " +"``\"\\t\"``), essa string será usada para indentar cada nível." -#: ../../library/ast.rst:2192 +#: ../../library/ast.rst:2296 msgid "Added the *indent* option." -msgstr "" +msgstr "Adicionada a opção *indent*." -#: ../../library/ast.rst:2199 +#: ../../library/ast.rst:2303 msgid "Compiler Flags" -msgstr "" +msgstr "Sinalizadores do compilador" -#: ../../library/ast.rst:2201 +#: ../../library/ast.rst:2305 msgid "" "The following flags may be passed to :func:`compile` in order to change " "effects on the compilation of a program:" msgstr "" +"Os seguintes sinalizadores podem ser passados para :func:`compile` para " +"alterar os efeitos na compilação de um programa:" -#: ../../library/ast.rst:2206 +#: ../../library/ast.rst:2310 msgid "" "Enables support for top-level ``await``, ``async for``, ``async with`` and " "async comprehensions." msgstr "" +"Habilita suporte para ``await``, ``async for``, ``async with`` e " +"compreensões assíncronas de nível superior." -#: ../../library/ast.rst:2213 +#: ../../library/ast.rst:2317 msgid "" "Generates and returns an abstract syntax tree instead of returning a " "compiled code object." msgstr "" +"Gera e retorna uma árvore de sintaxe abstrata em vez de retornar um objeto " +"de código compilado." -#: ../../library/ast.rst:2218 +#: ../../library/ast.rst:2322 msgid "" "Enables support for :pep:`484` and :pep:`526` style type comments (``# type: " "``, ``# type: ignore ``)." msgstr "" +"Habilita suporte para comentários do tipo :pep:`484` e :pep:`526` (``# type: " +"``, ``# type: ignore ``)." -#: ../../library/ast.rst:2227 +#: ../../library/ast.rst:2331 msgid "Command-Line Usage" -msgstr "Uso da linha de comando" +msgstr "Uso na linha de comando" -#: ../../library/ast.rst:2231 +#: ../../library/ast.rst:2335 msgid "" "The :mod:`ast` module can be executed as a script from the command line. It " "is as simple as:" msgstr "" +"O módulo :mod:`ast` pode ser executado como um script na linha de comando. É " +"tão simples quanto:" -#: ../../library/ast.rst:2238 +#: ../../library/ast.rst:2342 msgid "The following options are accepted:" msgstr "As seguintes opções são aceitas:" -#: ../../library/ast.rst:2244 +#: ../../library/ast.rst:2348 msgid "Show the help message and exit." -msgstr "" +msgstr "Mostra a mensagem de ajuda e sai." -#: ../../library/ast.rst:2249 +#: ../../library/ast.rst:2353 msgid "" -"Specify what kind of code must be compiled, like the *mode* argument in :" -"func:`parse`." +"Specify what kind of code must be compiled, like the *mode* argument " +"in :func:`parse`." msgstr "" +"Especifica que tipo de código deve ser compilado, como o argumento *mode* " +"em :func:`parse`." -#: ../../library/ast.rst:2254 +#: ../../library/ast.rst:2358 msgid "Don't parse type comments." -msgstr "" +msgstr "Não analisa comentários de tipo." -#: ../../library/ast.rst:2258 +#: ../../library/ast.rst:2362 msgid "Include attributes such as line numbers and column offsets." -msgstr "" +msgstr "Inclui atributos como números de linha e deslocamentos de colunas." -#: ../../library/ast.rst:2263 +#: ../../library/ast.rst:2367 msgid "Indentation of nodes in AST (number of spaces)." -msgstr "" +msgstr "indentação de nós em AST (número de espaços)." -#: ../../library/ast.rst:2265 +#: ../../library/ast.rst:2369 msgid "" "If :file:`infile` is specified its contents are parsed to AST and dumped to " "stdout. Otherwise, the content is read from stdin." msgstr "" +"Se :file:`infile` for especificado, seu conteúdo será analisado no AST e " +"despejado no stdout. Caso contrário, o conteúdo será lido em stdin." -#: ../../library/ast.rst:2271 +#: ../../library/ast.rst:2375 msgid "" "`Green Tree Snakes `_, an external " "documentation resource, has good details on working with Python ASTs." @@ -1468,29 +1887,37 @@ msgstr "" "de documentação externo, possui bons detalhes sobre trabalhar com ASTs do " "Python." -#: ../../library/ast.rst:2274 +#: ../../library/ast.rst:2378 msgid "" "`ASTTokens `_ " "annotates Python ASTs with the positions of tokens and text in the source " "code that generated them. This is helpful for tools that make source code " "transformations." msgstr "" +"`ASTTokens `_ " +"anota ASTs do Python com as posições de tokens e texto no código-fonte que " +"as gerou. Isso é útil para ferramentas que fazem transformações de código-" +"fonte." -#: ../../library/ast.rst:2279 +#: ../../library/ast.rst:2383 msgid "" "`leoAst.py `_ unifies the " "token-based and parse-tree-based views of python programs by inserting two-" "way links between tokens and ast nodes." msgstr "" -#: ../../library/ast.rst:2283 +#: ../../library/ast.rst:2387 msgid "" "`LibCST `_ parses code as a Concrete Syntax " "Tree that looks like an ast tree and keeps all formatting details. It's " "useful for building automated refactoring (codemod) applications and linters." msgstr "" +"`LibCST `_ analisa o código como uma árvore " +"de sintaxe concreta que se parece com uma árvore ast e mantém todos os " +"detalhes de formatação. É útil para construir linters e aplicações de " +"refatoração automatizada (codemod)." -#: ../../library/ast.rst:2288 +#: ../../library/ast.rst:2392 msgid "" "`Parso `_ is a Python parser that supports " "error recovery and round-trip parsing for different Python versions (in " @@ -1500,12 +1927,12 @@ msgstr "" #: ../../library/ast.rst:59 msgid "? (question mark)" -msgstr "" +msgstr "? (interrogação)" #: ../../library/ast.rst:59 ../../library/ast.rst:60 msgid "in AST grammar" -msgstr "" +msgstr "em gramática de AST" #: ../../library/ast.rst:60 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisco)" diff --git a/library/asynchat.po b/library/asynchat.po index 686079324..7da4e60cb 100644 --- a/library/asynchat.po +++ b/library/asynchat.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# (Douglas da Silva) , 2021 -# Danilo Lima , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -53,11 +50,12 @@ msgid "" "whose elements are terminated by arbitrary strings, or are of variable " "length. :mod:`asynchat` defines the abstract class :class:`async_chat` that " "you subclass, providing implementations of the :meth:`collect_incoming_data` " -"and :meth:`found_terminator` methods. It uses the same asynchronous loop as :" -"mod:`asyncore`, and the two types of channel, :class:`asyncore.dispatcher` " -"and :class:`asynchat.async_chat`, can freely be mixed in the channel map. " -"Typically an :class:`asyncore.dispatcher` server channel generates new :" -"class:`asynchat.async_chat` channel objects as it receives incoming " +"and :meth:`found_terminator` methods. It uses the same asynchronous loop " +"as :mod:`asyncore`, and the two types of " +"channel, :class:`asyncore.dispatcher` and :class:`asynchat.async_chat`, can " +"freely be mixed in the channel map. Typically " +"an :class:`asyncore.dispatcher` server channel generates " +"new :class:`asynchat.async_chat` channel objects as it receives incoming " "connection requests." msgstr "" @@ -87,10 +85,10 @@ msgstr "" #: ../../library/asynchat.rst:48 msgid "" "Like :class:`asyncore.dispatcher`, :class:`async_chat` defines a set of " -"events that are generated by an analysis of socket conditions after a :c:" -"func:`select` call. Once the polling loop has been started the :class:" -"`async_chat` object's methods are called by the event-processing framework " -"with no action on the part of the programmer." +"events that are generated by an analysis of socket conditions after " +"a :c:func:`select` call. Once the polling loop has been started " +"the :class:`async_chat` object's methods are called by the event-processing " +"framework with no action on the part of the programmer." msgstr "" #: ../../library/asynchat.rst:54 @@ -124,10 +122,10 @@ msgstr "" #: ../../library/asynchat.rst:80 msgid "" -"To build a functioning :class:`async_chat` subclass your input methods :" -"meth:`collect_incoming_data` and :meth:`found_terminator` must handle the " -"data that the channel receives asynchronously. The methods are described " -"below." +"To build a functioning :class:`async_chat` subclass your input " +"methods :meth:`collect_incoming_data` and :meth:`found_terminator` must " +"handle the data that the channel receives asynchronously. The methods are " +"described below." msgstr "" #: ../../library/asynchat.rst:88 @@ -139,8 +137,8 @@ msgstr "" #: ../../library/asynchat.rst:94 msgid "" "Called with *data* holding an arbitrary amount of received data. The " -"default method, which must be overridden, raises a :exc:" -"`NotImplementedError` exception." +"default method, which must be overridden, raises " +"a :exc:`NotImplementedError` exception." msgstr "" #: ../../library/asynchat.rst:101 @@ -232,20 +230,20 @@ msgstr "Exemplo com asynchat" #: ../../library/asynchat.rst:163 msgid "" -"The following partial example shows how HTTP requests can be read with :" -"class:`async_chat`. A web server might create an :class:" -"`http_request_handler` object for each incoming client connection. Notice " -"that initially the channel terminator is set to match the blank line at the " -"end of the HTTP headers, and a flag indicates that the headers are being " -"read." +"The following partial example shows how HTTP requests can be read " +"with :class:`async_chat`. A web server might create " +"an :class:`http_request_handler` object for each incoming client connection. " +"Notice that initially the channel terminator is set to match the blank line " +"at the end of the HTTP headers, and a flag indicates that the headers are " +"being read." msgstr "" #: ../../library/asynchat.rst:170 msgid "" "Once the headers have been read, if the request is of type POST (indicating " -"that further data are present in the input stream) then the ``Content-Length:" -"`` header is used to set a numeric terminator to read the right amount of " -"data from the channel." +"that further data are present in the input stream) then the ``Content-" +"Length:`` header is used to set a numeric terminator to read the right " +"amount of data from the channel." msgstr "" #: ../../library/asynchat.rst:175 diff --git a/library/asyncio-api-index.po b/library/asyncio-api-index.po index 3a6c03aae..93b2fbbf1 100644 --- a/library/asyncio-api-index.po +++ b/library/asyncio-api-index.po @@ -1,32 +1,25 @@ # 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: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# Adorilson Bezerra , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Hildeberto Abreu Magalhães , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -62,11 +55,13 @@ msgstr "Cria um laço de eventos, roda uma corrotina, fecha o laço." #: ../../library/asyncio-api-index.rst:24 msgid ":class:`Runner`" -msgstr "" +msgstr ":class:`Runner`" #: ../../library/asyncio-api-index.rst:25 msgid "A context manager that simplifies multiple async function calls." msgstr "" +"Um gerenciador de contexto que simplifica várias chamadas assíncronas de " +"funções." #: ../../library/asyncio-api-index.rst:27 msgid ":class:`Task`" @@ -78,13 +73,16 @@ msgstr "Objeto Task." #: ../../library/asyncio-api-index.rst:30 msgid ":class:`TaskGroup`" -msgstr "" +msgstr ":class:`TaskGroup`" #: ../../library/asyncio-api-index.rst:31 msgid "" "A context manager that holds a group of tasks. Provides a convenient and " "reliable way to wait for all tasks in the group to finish." msgstr "" +"Um gerenciador de contexto que mantém um grupo de tarefas. Oferece uma " +"maneira conveniente e confiável de aguardar a conclusão de todas as tarefas " +"do grupo." #: ../../library/asyncio-api-index.rst:35 msgid ":func:`create_task`" @@ -92,7 +90,7 @@ msgstr ":func:`create_task`" #: ../../library/asyncio-api-index.rst:36 msgid "Start an asyncio Task, then returns it." -msgstr "" +msgstr "Inicia uma Task asyncio e a retorna." #: ../../library/asyncio-api-index.rst:38 msgid ":func:`current_task`" @@ -109,6 +107,8 @@ msgstr ":func:`all_tasks`" #: ../../library/asyncio-api-index.rst:42 msgid "Return all tasks that are not yet finished for an event loop." msgstr "" +"Retorna todas as tarefas que ainda não foram concluídas em um laço de " +"eventos." #: ../../library/asyncio-api-index.rst:44 msgid "``await`` :func:`sleep`" @@ -152,11 +152,13 @@ msgstr "Monitora para conclusão." #: ../../library/asyncio-api-index.rst:59 msgid ":func:`timeout`" -msgstr "" +msgstr ":func:`timeout`" #: ../../library/asyncio-api-index.rst:60 msgid "Run with a timeout. Useful in cases when ``wait_for`` is not suitable." msgstr "" +"Executa com um tempo limite. Útil nos casos em que o ``wait_for`` não é " +"adequado." #: ../../library/asyncio-api-index.rst:62 msgid ":func:`to_thread`" @@ -386,7 +388,7 @@ msgstr ":class:`Lock`" #: ../../library/asyncio-api-index.rst:186 msgid "A mutex lock." -msgstr "Um bloqueio mutex." +msgstr "Uma trava mutex." #: ../../library/asyncio-api-index.rst:188 msgid ":class:`Event`" @@ -426,7 +428,7 @@ msgstr ":class:`Barrier`" #: ../../library/asyncio-api-index.rst:201 msgid "A barrier object." -msgstr "" +msgstr "Um objeto barreira." #: ../../library/asyncio-api-index.rst:206 msgid ":ref:`Using asyncio.Event `." @@ -434,7 +436,7 @@ msgstr ":ref:`Usando asyncio.Event `." #: ../../library/asyncio-api-index.rst:208 msgid ":ref:`Using asyncio.Barrier `." -msgstr "" +msgstr ":ref:`Usando asyncio.Barrier `." #: ../../library/asyncio-api-index.rst:210 msgid "" @@ -459,11 +461,12 @@ msgstr "" #: ../../library/asyncio-api-index.rst:225 msgid ":exc:`asyncio.BrokenBarrierError`" -msgstr "" +msgstr ":exc:`asyncio.BrokenBarrierError`" #: ../../library/asyncio-api-index.rst:226 msgid "Raised when a Barrier is broken. See also :meth:`Barrier.wait`." msgstr "" +"Levantado quando um Barreira é quebrada. veja também :meth:`Barrier.wait` ." #: ../../library/asyncio-api-index.rst:231 msgid "" diff --git a/library/asyncio-dev.po b/library/asyncio-dev.po index 19dfb4522..0319d40d1 100644 --- a/library/asyncio-dev.po +++ b/library/asyncio-dev.po @@ -1,28 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Marco Rougeth , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Rainer Terroso, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rainer Terroso, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,11 +33,12 @@ msgid "" "Asynchronous programming is different from classic \"sequential\" " "programming." msgstr "" +"A programação assíncrona é diferente da programação “sequencial” clássica." #: ../../library/asyncio-dev.rst:12 msgid "" "This page lists common mistakes and traps and explains how to avoid them." -msgstr "" +msgstr "Esta página lista erros e armadilhas comuns e explica como evitá-los." #: ../../library/asyncio-dev.rst:19 msgid "Debug Mode" @@ -50,14 +49,17 @@ msgid "" "By default asyncio runs in production mode. In order to ease the " "development asyncio has a *debug mode*." msgstr "" +"Por padrão, o asyncio é executado em modo de produção. Para facilitar o " +"desenvolvimento, o asyncio fornece um modo de depuração." #: ../../library/asyncio-dev.rst:24 msgid "There are several ways to enable asyncio debug mode:" -msgstr "" +msgstr "Há várias maneiras de habilitar o modo de depuração do asyncio:" #: ../../library/asyncio-dev.rst:26 msgid "Setting the :envvar:`PYTHONASYNCIODEBUG` environment variable to ``1``." msgstr "" +"Definindo a variável de ambiente :envvar:`PYTHONASYNCIODEBUG` como ``1``." #: ../../library/asyncio-dev.rst:28 msgid "Using the :ref:`Python Development Mode `." @@ -77,9 +79,9 @@ msgstr "Além de habilitar o modo de depuração, considere também:" #: ../../library/asyncio-dev.rst:36 msgid "" -"setting the log level of the :ref:`asyncio logger ` to :py:" -"data:`logging.DEBUG`, for example the following snippet of code can be run " -"at startup of the application::" +"setting the log level of the :ref:`asyncio logger ` " +"to :py:const:`logging.DEBUG`, for example the following snippet of code can " +"be run at startup of the application::" msgstr "" #: ../../library/asyncio-dev.rst:42 @@ -88,6 +90,9 @@ msgid "" "warnings. One way of doing that is by using the :option:`-W` ``default`` " "command line option." msgstr "" +"configurando o módulo :mod:`warnings` para exibir " +"avisos :exc:`ResourceWarning`. Uma forma de fazer isso é usando a opção de " +"linha de comando: :option:`-W` ``default``." #: ../../library/asyncio-dev.rst:47 msgid "When the debug mode is enabled:" @@ -102,10 +107,13 @@ msgstr "" #: ../../library/asyncio-dev.rst:53 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 " -"thread." +"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 thread." msgstr "" +"Muitas APIs do asyncio que não são thread-safe (como os " +"métodos :meth:`loop.call_soon` e :meth:`loop.call_at`) levantam uma exceção " +"se forem chamadas a partir de uma thread incorreta." #: ../../library/asyncio-dev.rst:57 msgid "" @@ -117,9 +125,9 @@ msgstr "" #: ../../library/asyncio-dev.rst:60 msgid "" -"Callbacks taking longer than 100 milliseconds are logged. The :attr:`loop." -"slow_callback_duration` attribute can be used to set the minimum execution " -"duration in seconds that is considered \"slow\"." +"Callbacks taking longer than 100 milliseconds are logged. " +"The :attr:`loop.slow_callback_duration` attribute can be used to set the " +"minimum execution duration in seconds that is considered \"slow\"." msgstr "" "Funções de retorno demorando mais do que 100 milissegundos são registradas. " "O atributo :attr:`loop.slow_callback_duration` pode ser usado para definir a " @@ -137,14 +145,20 @@ msgid "" "``await`` expression, the running Task gets suspended, and the event loop " "executes the next Task." msgstr "" +"Um laço de eventos é executado em uma thread (geralmente a thread principal) " +"e executa todos as funções de retorno e Tasks nessa mesma thread. Enquanto " +"uma Task está em execução no laço de eventos, nenhuma outra Task pode ser " +"executada na mesma thread. Quando uma Task executa uma expressão ``await``, " +"a Task em execução é suspensa, e o laço de eventos passa a executar a " +"próxima Task." #: ../../library/asyncio-dev.rst:76 msgid "" -"To schedule a :term:`callback` from another OS thread, the :meth:`loop." -"call_soon_threadsafe` method should be used. Example::" +"To schedule a :term:`callback` from another OS thread, " +"the :meth:`loop.call_soon_threadsafe` method should be used. Example::" msgstr "" -"Para agendar uma :term:`callback` de outra thread do SO, o método :meth:" -"`loop.call_soon_threadsafe` deve ser usado. Exemplo::" +"Para agendar uma :term:`callback` de outra thread do SO, o " +"método :meth:`loop.call_soon_threadsafe` deve ser usado. Exemplo::" #: ../../library/asyncio-dev.rst:81 msgid "" @@ -153,40 +167,46 @@ msgid "" "a callback. If there's a need for such code to call a low-level asyncio " "API, the :meth:`loop.call_soon_threadsafe` method should be used, e.g.::" msgstr "" +"Quase todos os objetos do asyncio não são seguros para threads, o que " +"normalmente não é um problema, a menos que exista código que funcione com " +"eles fora de uma Task ou de um callback. Se houver a necessidade de esse " +"tipo de código chamar uma API de baixo nível do asyncio, o " +"método :meth:`loop.call_soon_threadsafe` deve ser usado, por exemplo::" #: ../../library/asyncio-dev.rst:89 msgid "" -"To schedule a coroutine object from a different OS thread, the :func:" -"`run_coroutine_threadsafe` function should be used. It returns a :class:" -"`concurrent.futures.Future` to access the result::" +"To schedule a coroutine object from a different OS thread, " +"the :func:`run_coroutine_threadsafe` function should be used. It returns " +"a :class:`concurrent.futures.Future` to access the result::" msgstr "" +"Para agendar um objeto corrotina a partir de uma thread diferente do sistema " +"operacional, a função :func:`run_coroutine_threadsafe` deve ser usada. Ela " +"retorna um :class:`concurrent.futures.Future`. para acessar o resultado::" #: ../../library/asyncio-dev.rst:102 -msgid "" -"To handle signals and to execute subprocesses, the event loop must be run in " -"the main thread." +msgid "To handle signals the event loop must be run in the main thread." msgstr "" -"Para tratar sinais e executar subprocessos, o laço de eventos precisa " -"executar na thread principal." +"Para manipular sinais, o laço de eventos deve ser executado na thread " +"principal." #: ../../library/asyncio-dev.rst:105 msgid "" -"The :meth:`loop.run_in_executor` method can be used with a :class:" -"`concurrent.futures.ThreadPoolExecutor` to execute blocking code in a " -"different OS thread without blocking the OS thread that the event loop runs " -"in." +"The :meth:`loop.run_in_executor` method can be used with " +"a :class:`concurrent.futures.ThreadPoolExecutor` to execute blocking code in " +"a different OS thread without blocking the OS thread that the event loop " +"runs in." msgstr "" #: ../../library/asyncio-dev.rst:110 msgid "" "There is currently no way to schedule coroutines or callbacks directly from " -"a different process (such as one started with :mod:`multiprocessing`). The :" -"ref:`asyncio-event-loop-methods` section lists APIs that can read from pipes " -"and watch file descriptors without blocking the event loop. In addition, " -"asyncio's :ref:`Subprocess ` APIs provide a way to start " -"a process and communicate with it from the event loop. Lastly, the " -"aforementioned :meth:`loop.run_in_executor` method can also be used with a :" -"class:`concurrent.futures.ProcessPoolExecutor` to execute code in a " +"a different process (such as one started with :mod:`multiprocessing`). " +"The :ref:`asyncio-event-loop-methods` section lists APIs that can read from " +"pipes and watch file descriptors without blocking the event loop. In " +"addition, asyncio's :ref:`Subprocess ` APIs provide a " +"way to start a process and communicate with it from the event loop. Lastly, " +"the aforementioned :meth:`loop.run_in_executor` method can also be used with " +"a :class:`concurrent.futures.ProcessPoolExecutor` to execute code in a " "different process." msgstr "" @@ -200,6 +220,10 @@ msgid "" "function performs a CPU-intensive calculation for 1 second, all concurrent " "asyncio Tasks and IO operations would be delayed by 1 second." msgstr "" +"O código bloqueante (vinculada à CPU) não deve ser chamado diretamente. Por " +"exemplo, se uma função executa um cálculo pesado de CPU durante 1 segundo, " +"todas as Tasks concorrentes do asyncio e as operações de E/S serão atrasadas " +"por 1 segundo." #: ../../library/asyncio-dev.rst:131 msgid "" @@ -222,29 +246,35 @@ msgstr "" #: ../../library/asyncio-dev.rst:145 msgid "" -"The default log level is :py:data:`logging.INFO`, which can be easily " +"The default log level is :py:const:`logging.INFO`, which can be easily " "adjusted::" msgstr "" -"O nível de log padrão é :py:data:`logging.INFO`, mas pode ser facilmente " +"O nível padrão de log é :py:const:`logging.INFO`, que pode ser facilmente " "ajustado::" #: ../../library/asyncio-dev.rst:151 msgid "" "Network logging can block the event loop. It is recommended to use a " -"separate thread for handling logs or use non-blocking IO. For example, see :" -"ref:`blocking-handlers`." +"separate thread for handling logs or use non-blocking IO. For example, " +"see :ref:`blocking-handlers`." msgstr "" +"Logging de rede pode bloquear o laço de eventos. Recomenda-se usar uma " +"thread separada para lidar com os logs ou usar E/S não bloqueante. Por " +"exemplo, veja :ref:`blocking-handlers`." #: ../../library/asyncio-dev.rst:159 msgid "Detect never-awaited coroutines" -msgstr "" +msgstr "Detectar corrotinas nunca aguardadas" #: ../../library/asyncio-dev.rst:161 msgid "" "When a coroutine function is called, but not awaited (e.g. ``coro()`` " -"instead of ``await coro()``) or the coroutine is not scheduled with :meth:" -"`asyncio.create_task`, asyncio will emit a :exc:`RuntimeWarning`::" +"instead of ``await coro()``) or the coroutine is not scheduled " +"with :meth:`asyncio.create_task`, asyncio will emit a :exc:`RuntimeWarning`::" msgstr "" +"Quando uma função de corrotina é chamada, mas não é aguardada (por exemplo, " +"``coro()`` em vez de ``await coro()``) ou a corrotina não é agendada " +"com :meth:`asyncio.create_task`, o asyncio emitirá um :exc:`RuntimeWarning`::" #: ../../library/asyncio-dev.rst:176 ../../library/asyncio-dev.rst:221 msgid "Output::" @@ -252,17 +282,19 @@ msgstr "Saída::" #: ../../library/asyncio-dev.rst:181 ../../library/asyncio-dev.rst:237 msgid "Output in debug mode::" -msgstr "" +msgstr "Saída no modo de depuração::" #: ../../library/asyncio-dev.rst:194 msgid "" -"The usual fix is to either await the coroutine or call the :meth:`asyncio." -"create_task` function::" +"The usual fix is to either await the coroutine or call " +"the :meth:`asyncio.create_task` function::" msgstr "" +"A correção usual é aguardar a corrotina ou chamar a " +"função :meth:`asyncio.create_task`::" #: ../../library/asyncio-dev.rst:202 msgid "Detect never-retrieved exceptions" -msgstr "" +msgstr "Detectar exceções nunca recuperadas" #: ../../library/asyncio-dev.rst:204 msgid "" @@ -271,6 +303,10 @@ msgid "" "this case, asyncio would emit a log message when the Future object is " "garbage collected." msgstr "" +"Se um :meth:`Future.set_exception` é chamado, mas o objeto Future nunca é " +"aguardado, a exceção nunca será propagada para o código do usuário. Nesse " +"caso, o asyncio emitirá uma mensagem de log quando o objeto Future for " +"coletado pela coleta de lixo." #: ../../library/asyncio-dev.rst:209 msgid "Example of an unhandled exception::" diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index 231117245..fc4510f2c 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -1,40 +1,33 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Humberto Rocha , 2021 -# Raphael Mendonça, 2021 -# Italo Penaforte , 2021 -# i17obot , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 +# Adorilson Bezerra , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-21 21:52+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Adorilson Bezerra , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncio-eventloop.rst:8 msgid "Event Loop" -msgstr "Laço de Eventos" +msgstr "Laço de eventos" #: ../../library/asyncio-eventloop.rst:10 msgid "" @@ -93,10 +86,14 @@ msgstr "" #: ../../library/asyncio-eventloop.rst:36 msgid "Raise a :exc:`RuntimeError` if there is no running event loop." msgstr "" +"Levanta uma :exc:`RuntimeError` se não houver nenhum laço de eventos em " +"execução." #: ../../library/asyncio-eventloop.rst:38 msgid "This function can only be called from a coroutine or a callback." msgstr "" +"Esta função só pode ser chamada a partir de uma corrotina ou de um retorno " +"de chamada." #: ../../library/asyncio-eventloop.rst:44 msgid "Get the current event loop." @@ -107,12 +104,18 @@ msgid "" "When called from a coroutine or a callback (e.g. scheduled with call_soon or " "similar API), this function will always return the running event loop." msgstr "" +"Quando chamada de uma corrotina ou função de retorno (por exemplo, agendada " +"com call_soon ou API semelhante), esta função sempre retornará o laço de " +"eventos em execução." #: ../../library/asyncio-eventloop.rst:50 msgid "" "If there is no running event loop set, the function will return the result " "of the ``get_event_loop_policy().get_event_loop()`` call." msgstr "" +"Se não houver nenhum laço de eventos em execução definido, a função " +"retornará o resultado da chamada " +"``get_event_loop_policy().get_event_loop()``." #: ../../library/asyncio-eventloop.rst:53 msgid "" @@ -122,8 +125,8 @@ msgid "" msgstr "" "Devido ao fato desta função ter um comportamento particularmente complexo " "(especialmente quando políticas de laço de eventos customizadas estão sendo " -"usadas), usar a função :func:`get_running_loop` é preferido ao invés de :" -"func:`get_event_loop` em corrotinas e funções de retorno." +"usadas), usar a função :func:`get_running_loop` é preferido ao invés " +"de :func:`get_event_loop` em corrotinas e funções de retorno." #: ../../library/asyncio-eventloop.rst:58 msgid "" @@ -131,20 +134,25 @@ msgid "" "function, instead of using these lower level functions to manually create " "and close an event loop." msgstr "" +"Como observado acima, considere usar também a função de alto " +"nível :func:`asyncio.run` ao invés de usar funções de baixo nível para " +"manualmente criar e fechar um laço de eventos." #: ../../library/asyncio-eventloop.rst:63 msgid "" "In Python versions 3.10.0--3.10.8 and 3.11.0 this function (and other " "functions which use it implicitly) emitted a :exc:`DeprecationWarning` if " "there was no running event loop, even if the current loop was set on the " -"policy. In Python versions 3.10.9, 3.11.1 and 3.12 they emit a :exc:" -"`DeprecationWarning` if there is no running event loop and no current loop " -"is set. In some future Python release this will become an error." +"policy. In Python versions 3.10.9, 3.11.1 and 3.12 they emit " +"a :exc:`DeprecationWarning` if there is no running event loop and no current " +"loop is set. In some future Python release this will become an error." msgstr "" #: ../../library/asyncio-eventloop.rst:74 msgid "Set *loop* as the current event loop for the current OS thread." msgstr "" +"Define *loop* como o laço de eventos atual para a thread atual do sistema " +"operacional." #: ../../library/asyncio-eventloop.rst:78 msgid "Create and return a new event loop object." @@ -156,9 +164,10 @@ msgid "" "and :func:`new_event_loop` functions can be altered by :ref:`setting a " "custom event loop policy `." msgstr "" -"Perceba que o comportamento das funções :func:`get_event_loop`, :func:" -"`set_event_loop`, e :func:`new_event_loop` podem ser alteradas :ref:" -"`definindo uma política de laço de eventos customizada `." +"Perceba que o comportamento das " +"funções :func:`get_event_loop`, :func:`set_event_loop`, " +"e :func:`new_event_loop` podem ser alteradas :ref:`definindo uma política de " +"laço de eventos customizada `." #: ../../library/asyncio-eventloop.rst:86 msgid "Contents" @@ -178,14 +187,14 @@ msgstr "" #: ../../library/asyncio-eventloop.rst:92 msgid "" -"The `Callback Handles`_ section documents the :class:`Handle` and :class:" -"`TimerHandle` instances which are returned from scheduling methods such as :" -"meth:`loop.call_soon` and :meth:`loop.call_later`;" +"The `Callback Handles`_ section documents the :class:`Handle` " +"and :class:`TimerHandle` instances which are returned from scheduling " +"methods such as :meth:`loop.call_soon` and :meth:`loop.call_later`;" msgstr "" "A seção `Tratadores de função de retorno`_ documenta as instâncias das " "classes :class:`Handle` e :class:`TimerHandle`, que são retornadas por " -"métodos de agendamento tais como :meth:`loop.call_soon` e :meth:`loop." -"call_later`;" +"métodos de agendamento tais como :meth:`loop.call_soon` " +"e :meth:`loop.call_later`;" #: ../../library/asyncio-eventloop.rst:96 msgid "" @@ -197,11 +206,11 @@ msgstr "" #: ../../library/asyncio-eventloop.rst:99 msgid "" -"The `Event Loop Implementations`_ section documents the :class:" -"`SelectorEventLoop` and :class:`ProactorEventLoop` classes;" +"The `Event Loop Implementations`_ section documents " +"the :class:`SelectorEventLoop` and :class:`ProactorEventLoop` classes;" msgstr "" -"A seção `Implementações do Laço de Eventos`_ documenta as classes :class:" -"`SelectorEventLoop` e :class:`ProactorEventLoop`;" +"A seção `Implementações do Laço de Eventos`_ documenta as " +"classes :class:`SelectorEventLoop` e :class:`ProactorEventLoop`;" #: ../../library/asyncio-eventloop.rst:102 msgid "" @@ -319,10 +328,11 @@ msgid "" "should be used to reliably finalize all scheduled asynchronous generators." msgstr "" "Agenda todos os objetos :term:`geradores assíncronos ` atualmente abertos para serem fechados com uma chamada :meth:" -"`~agen.aclose()`. Após chamar este método, o laço de eventos emitirá um " -"aviso se um novo gerador assíncrono for iterado. Isso deve ser utilizado " -"para finalizar de forma confiável todos os geradores assíncronos agendados." +"generator>` atualmente abertos para serem fechados com uma " +"chamada :meth:`~agen.aclose()`. Após chamar este método, o laço de eventos " +"emitirá um aviso se um novo gerador assíncrono for iterado. Isso deve ser " +"utilizado para finalizar de forma confiável todos os geradores assíncronos " +"agendados." #: ../../library/asyncio-eventloop.rst:179 msgid "" @@ -333,8 +343,8 @@ msgstr "" "for usado." #: ../../library/asyncio-eventloop.rst:182 -#: ../../library/asyncio-eventloop.rst:1216 -#: ../../library/asyncio-eventloop.rst:1604 +#: ../../library/asyncio-eventloop.rst:1230 +#: ../../library/asyncio-eventloop.rst:1631 msgid "Example::" msgstr "Exemplo::" @@ -342,9 +352,13 @@ msgstr "Exemplo::" msgid "" "Schedule the closure of the default executor and wait for it to join all of " "the threads in the :class:`~concurrent.futures.ThreadPoolExecutor`. Once " -"this method has been called, using the default executor with :meth:`loop." -"run_in_executor` will raise a :exc:`RuntimeError`." +"this method has been called, using the default executor " +"with :meth:`loop.run_in_executor` will raise a :exc:`RuntimeError`." msgstr "" +"Agenda o encerramento do executor padrão e aguarda ele se juntar a todas as " +"threads no :class:`~concurrent.futures.ThreadPoolExecutor`. Uma vez que este " +"método tenha sido chamado, usar o executor padrão " +"com :meth:`loop.run_in_executor` levantará um :exc:`RuntimeError`." #: ../../library/asyncio-eventloop.rst:202 msgid "" @@ -380,9 +394,9 @@ msgstr "" #: ../../library/asyncio-eventloop.rst:222 msgid "" -"The optional keyword-only *context* argument specifies a custom :class:" -"`contextvars.Context` for the *callback* to run in. Callbacks use the " -"current context when no *context* is provided." +"The optional keyword-only *context* argument specifies a " +"custom :class:`contextvars.Context` for the *callback* to run in. Callbacks " +"use the current context when no *context* is provided." msgstr "" #: ../../library/asyncio-eventloop.rst:226 @@ -482,8 +496,8 @@ msgstr "" #: ../../library/asyncio-eventloop.rst:283 msgid "" "The optional positional *args* will be passed to the callback when it is " -"called. If you want the callback to be called with keyword arguments use :" -"func:`functools.partial`." +"called. If you want the callback to be called with keyword arguments " +"use :func:`functools.partial`." msgstr "" "O *args* posicional opcional será passado para a função de retorno quando " "ela for chamada. Se você quiser que a função de retorno seja chamada com " @@ -491,12 +505,12 @@ msgstr "" #: ../../library/asyncio-eventloop.rst:287 msgid "" -"An optional keyword-only *context* argument allows specifying a custom :" -"class:`contextvars.Context` for the *callback* to run in. The current " -"context is used when no *context* is provided." +"An optional keyword-only *context* argument allows specifying a " +"custom :class:`contextvars.Context` for the *callback* to run in. The " +"current context is used when no *context* is provided." msgstr "" -"Um argumento opcional somente-nomeado *context* permite especificar um :" -"class:`contextvars.Context` customizado para executar na *função de " +"Um argumento opcional somente-nomeado *context* permite especificar " +"um :class:`contextvars.Context` customizado para executar na *função de " "retorno*. O contexto atual é usado quando nenhum *context* é fornecido." #: ../../library/asyncio-eventloop.rst:295 @@ -556,7 +570,7 @@ msgstr "Criando Futures e Tasks" #: ../../library/asyncio-eventloop.rst:340 msgid "Create an :class:`asyncio.Future` object attached to the event loop." -msgstr "Cria um objeto :class:`asyncio.Future` atachado ao laço de eventos." +msgstr "Cria um objeto :class:`asyncio.Future` anexado ao laço de eventos." #: ../../library/asyncio-eventloop.rst:342 msgid "" @@ -570,34 +584,39 @@ msgstr "" #: ../../library/asyncio-eventloop.rst:350 msgid "" -"Schedule the execution of :ref:`coroutine ` *coro*. Return a :" -"class:`Task` object." +"Schedule the execution of :ref:`coroutine ` *coro*. Return " +"a :class:`Task` object." msgstr "" +"Agenda a execução da :ref:`corrotina ` *coro*. Retorna um " +"objeto :class:`Task`." #: ../../library/asyncio-eventloop.rst:353 msgid "" "Third-party event loops can use their own subclass of :class:`Task` for " -"interoperability. In this case, the result type is a subclass of :class:" -"`Task`." +"interoperability. In this case, the result type is a subclass " +"of :class:`Task`." msgstr "" -"Laços de eventos de terceiros podem usar suas próprias subclasses de :class:" -"`Task` para interoperabilidade. Neste caso, o tipo do resultado é uma " -"subclasse de :class:`Task`." +"Laços de eventos de terceiros podem usar suas próprias subclasses " +"de :class:`Task` para interoperabilidade. Neste caso, o tipo do resultado é " +"uma subclasse de :class:`Task`." #: ../../library/asyncio-eventloop.rst:357 msgid "" "If the *name* argument is provided and not ``None``, it is set as the name " "of the task using :meth:`Task.set_name`." msgstr "" -"Se o argumento *name* for fornecido e não é ``None``, ele é definido como o " -"nome da tarefa, usando :meth:`Task.set_name`." +"Se o argumento *name* for fornecido e não for ``None``, ele é definido como " +"o nome da tarefa, usando :meth:`Task.set_name`." #: ../../library/asyncio-eventloop.rst:360 msgid "" -"An optional keyword-only *context* argument allows specifying a custom :" -"class:`contextvars.Context` for the *coro* to run in. The current context " -"copy is created when no *context* is provided." +"An optional keyword-only *context* argument allows specifying a " +"custom :class:`contextvars.Context` for the *coro* to run in. The current " +"context copy is created when no *context* is provided." msgstr "" +"Um argumento opcional somente-nomeado *context* permite especificar " +"um :class:`contextvars.Context` personalizado para a *coro* ser executada. " +"Uma cópia do contexto atual é criada quando nenhum *context* for fornecido." #: ../../library/asyncio-eventloop.rst:364 msgid "Added the *name* parameter." @@ -610,21 +629,21 @@ msgstr "Adicionado o parâmetro *context*." #: ../../library/asyncio-eventloop.rst:372 msgid "Set a task factory that will be used by :meth:`loop.create_task`." msgstr "" -"Define a factory da tarefa que será usada por :meth:`loop.create_task`." +"Define a fábrica da tarefa que será usada por :meth:`loop.create_task`." #: ../../library/asyncio-eventloop.rst:375 msgid "" "If *factory* is ``None`` the default task factory will be set. Otherwise, " "*factory* must be a *callable* with the signature matching ``(loop, coro, " "context=None)``, where *loop* is a reference to the active event loop, and " -"*coro* is a coroutine object. The callable must return a :class:`asyncio." -"Future`-compatible object." +"*coro* is a coroutine object. The callable must return " +"a :class:`asyncio.Future`-compatible object." msgstr "" #: ../../library/asyncio-eventloop.rst:383 msgid "Return a task factory or ``None`` if the default one is in use." msgstr "" -"Retorna uma factory de tarefa ou ``None`` se a factory padrão estiver em uso." +"Retorna uma fábrica de tarefa ou ``None`` se a fábrica padrão estiver em uso." #: ../../library/asyncio-eventloop.rst:387 msgid "Opening network connections" @@ -640,27 +659,27 @@ msgstr "" #: ../../library/asyncio-eventloop.rst:400 msgid "" -"The socket family can be either :py:data:`~socket.AF_INET` or :py:data:" -"`~socket.AF_INET6` depending on *host* (or the *family* argument, if " -"provided)." +"The socket family can be either :py:const:`~socket.AF_INET` " +"or :py:const:`~socket.AF_INET6` depending on *host* (or the *family* " +"argument, if provided)." msgstr "" -"A família de soquetes pode ser :py:data:`~socket.AF_INET` ou :py:data:" -"`~socket.AF_INET6` dependendo do *host* (ou do argumento *family*, se " -"fornecido)." +"A família de sockets pode ser :py:const:`~socket.AF_INET` " +"ou :py:const:`~socket.AF_INET6` dependendo do *host* (ou do argumento " +"*family*, se fornecido)." #: ../../library/asyncio-eventloop.rst:404 -msgid "The socket type will be :py:data:`~socket.SOCK_STREAM`." -msgstr "O tipo de soquete será :py:data:`~socket.SOCK_STREAM`." +msgid "The socket type will be :py:const:`~socket.SOCK_STREAM`." +msgstr "" #: ../../library/asyncio-eventloop.rst:406 -#: ../../library/asyncio-eventloop.rst:1132 -#: ../../library/asyncio-eventloop.rst:1148 +#: ../../library/asyncio-eventloop.rst:1144 +#: ../../library/asyncio-eventloop.rst:1160 msgid "" "*protocol_factory* must be a callable returning an :ref:`asyncio protocol " "` implementation." msgstr "" -"*protocol_factory* deve ser um chamável que retorne uma implementação do :" -"ref:`protocolo asyncio `." +"*protocol_factory* deve ser um chamável que retorne uma implementação " +"do :ref:`protocolo asyncio `." #: ../../library/asyncio-eventloop.rst:409 msgid "" @@ -684,16 +703,16 @@ msgstr "" #: ../../library/asyncio-eventloop.rst:417 msgid "" -"*protocol_factory* is called without arguments and is expected to return a :" -"ref:`protocol ` instance." +"*protocol_factory* is called without arguments and is expected to return " +"a :ref:`protocol ` instance." msgstr "" "*protocol_factory* é chamada sem argumentos e é esperada que retorne uma " "instância de :ref:`protocolo `." #: ../../library/asyncio-eventloop.rst:420 msgid "" -"The protocol instance is coupled with the transport by calling its :meth:" -"`~BaseProtocol.connection_made` method." +"The protocol instance is coupled with the transport by calling " +"its :meth:`~BaseProtocol.connection_made` method." msgstr "" "A instância de protocolo é acoplada com o transporte, através da chamada do " "seu método :meth:`~BaseProtocol.connection_made`." @@ -709,7 +728,7 @@ msgstr "" "O transporte criado é um stream bi-direcional dependente de implementação." #: ../../library/asyncio-eventloop.rst:428 -#: ../../library/asyncio-eventloop.rst:549 +#: ../../library/asyncio-eventloop.rst:554 msgid "Other arguments:" msgstr "Outros argumentos:" @@ -717,15 +736,15 @@ msgstr "Outros argumentos:" msgid "" "*ssl*: if given and not false, a SSL/TLS transport is created (by default a " "plain TCP transport is created). If *ssl* is a :class:`ssl.SSLContext` " -"object, this context is used to create the transport; if *ssl* is :const:" -"`True`, a default context returned from :func:`ssl.create_default_context` " -"is used." +"object, this context is used to create the transport; if *ssl* " +"is :const:`True`, a default context returned " +"from :func:`ssl.create_default_context` is used." msgstr "" "*ssl*: se fornecido e não for falso, um transporte SSL/TLS é criado (por " -"padrão um transporte TCP simples é criado). Se *ssl* for um objeto :class:" -"`ssl.SSLContext`, este contexto é usado para criar o transporte; se *ssl* " -"for :const:`True`, um contexto padrão retornado de :func:`ssl." -"create_default_context` é usado." +"padrão um transporte TCP simples é criado). Se *ssl* for um " +"objeto :class:`ssl.SSLContext`, este contexto é usado para criar o " +"transporte; se *ssl* for :const:`True`, um contexto padrão retornado " +"de :func:`ssl.create_default_context` é usado." #: ../../library/asyncio-eventloop.rst:436 msgid ":ref:`SSL/TLS security considerations `" @@ -775,7 +794,7 @@ msgstr "" "segundos para aguardar uma tentativa de conexão encerrar, antes de começar a " "próxima tentativa em paralelo. Este é o \"Atraso na tentativa de conexão\" " "conforme definido na :rfc:`8305`. Um valor padrão sensível recomendado pela " -"RFC é ``0.25`` (250 millisegundos)." +"RFC é ``0.25`` (250 millissegundos)." #: ../../library/asyncio-eventloop.rst:459 msgid "" @@ -798,10 +817,10 @@ msgstr "" #: ../../library/asyncio-eventloop.rst:468 msgid "" -"*sock*, if given, should be an existing, already connected :class:`socket." -"socket` object to be used by the transport. If *sock* is given, none of " -"*host*, *port*, *family*, *proto*, *flags*, *happy_eyeballs_delay*, " -"*interleave* and *local_addr* should be specified." +"*sock*, if given, should be an existing, already " +"connected :class:`socket.socket` object to be used by the transport. If " +"*sock* is given, none of *host*, *port*, *family*, *proto*, *flags*, " +"*happy_eyeballs_delay*, *interleave* and *local_addr* should be specified." msgstr "" "*sock*, se fornecido, deve ser um objeto :class:`socket.socket` já " "existente, já conectado, para ser usado por transporte. Se *sock* é " @@ -810,12 +829,12 @@ msgstr "" "especificados." #: ../../library/asyncio-eventloop.rst:476 -#: ../../library/asyncio-eventloop.rst:580 -#: ../../library/asyncio-eventloop.rst:804 +#: ../../library/asyncio-eventloop.rst:585 +#: ../../library/asyncio-eventloop.rst:813 msgid "" "The *sock* argument transfers ownership of the socket to the transport " -"created. To close the socket, call the transport's :meth:`~asyncio." -"BaseTransport.close` method." +"created. To close the socket, call the " +"transport's :meth:`~asyncio.BaseTransport.close` method." msgstr "" #: ../../library/asyncio-eventloop.rst:480 @@ -830,7 +849,7 @@ msgstr "" "*port*." #: ../../library/asyncio-eventloop.rst:484 -#: ../../library/asyncio-eventloop.rst:895 +#: ../../library/asyncio-eventloop.rst:907 msgid "" "*ssl_handshake_timeout* is (for a TLS connection) the time in seconds to " "wait for the TLS handshake to complete before aborting the connection. " @@ -841,9 +860,9 @@ msgstr "" "``60.0`` segundos se for ``None`` (valor padrão)." #: ../../library/asyncio-eventloop.rst:488 -#: ../../library/asyncio-eventloop.rst:721 -#: ../../library/asyncio-eventloop.rst:815 -#: ../../library/asyncio-eventloop.rst:899 +#: ../../library/asyncio-eventloop.rst:730 +#: ../../library/asyncio-eventloop.rst:824 +#: ../../library/asyncio-eventloop.rst:911 msgid "" "*ssl_shutdown_timeout* is the time in seconds to wait for the SSL shutdown " "to complete before aborting the connection. ``30.0`` seconds if ``None`` " @@ -851,20 +870,18 @@ msgid "" msgstr "" #: ../../library/asyncio-eventloop.rst:494 -#: ../../library/asyncio-eventloop.rst:733 +#: ../../library/asyncio-eventloop.rst:742 msgid "Added support for SSL/TLS in :class:`ProactorEventLoop`." msgstr "Adicionado suporte para SSL/TLS na :class:`ProactorEventLoop`." #: ../../library/asyncio-eventloop.rst:498 msgid "" -"The socket option :py:data:`~socket.TCP_NODELAY` is set by default for all " -"TCP connections." +"The socket option :ref:`socket.TCP_NODELAY ` is set " +"by default for all TCP connections." msgstr "" -"A opção de soquete :py:data:`~socket.TCP_NODELAY` é definida por padrão para " -"todas as conexões TCP." #: ../../library/asyncio-eventloop.rst:503 -#: ../../library/asyncio-eventloop.rst:825 +#: ../../library/asyncio-eventloop.rst:834 msgid "Added the *ssl_handshake_timeout* parameter." msgstr "Adicionado o parâmetro *ssl_handshake_timeout*." @@ -888,15 +905,22 @@ msgid "For more information: https://datatracker.ietf.org/doc/html/rfc6555" msgstr "" #: ../../library/asyncio-eventloop.rst:522 -#: ../../library/asyncio-eventloop.rst:641 -#: ../../library/asyncio-eventloop.rst:747 -#: ../../library/asyncio-eventloop.rst:782 -#: ../../library/asyncio-eventloop.rst:829 -#: ../../library/asyncio-eventloop.rst:907 +#: ../../library/asyncio-eventloop.rst:648 +#: ../../library/asyncio-eventloop.rst:756 +#: ../../library/asyncio-eventloop.rst:791 +#: ../../library/asyncio-eventloop.rst:838 +#: ../../library/asyncio-eventloop.rst:919 msgid "Added the *ssl_shutdown_timeout* parameter." msgstr "" -#: ../../library/asyncio-eventloop.rst:526 +#: ../../library/asyncio-eventloop.rst:524 +msgid "" +"Raises a ``DeprecationWarning`` if ``ssl.check_hostname`` is ``True`` and " +"``server_hostname`` is not supplied. In Python 3.13 and later a " +"``ValueError`` is raised instead." +msgstr "" + +#: ../../library/asyncio-eventloop.rst:531 msgid "" "The :func:`open_connection` function is a high-level alternative API. It " "returns a pair of (:class:`StreamReader`, :class:`StreamWriter`) that can be " @@ -906,50 +930,48 @@ msgstr "" "retorna um par de (:class:`StreamReader`, :class:`StreamWriter`) que pode " "ser usado diretamente em código async/await." -#: ../../library/asyncio-eventloop.rst:536 +#: ../../library/asyncio-eventloop.rst:541 msgid "Create a datagram connection." msgstr "Cria uma conexão de datagrama." -#: ../../library/asyncio-eventloop.rst:538 +#: ../../library/asyncio-eventloop.rst:543 msgid "" -"The socket family can be either :py:data:`~socket.AF_INET`, :py:data:" -"`~socket.AF_INET6`, or :py:data:`~socket.AF_UNIX`, depending on *host* (or " -"the *family* argument, if provided)." +"The socket family can be " +"either :py:const:`~socket.AF_INET`, :py:const:`~socket.AF_INET6`, " +"or :py:const:`~socket.AF_UNIX`, depending on *host* (or the *family* " +"argument, if provided)." msgstr "" -"A família de soquetes pode ser :py:data:`~socket.AF_INET`, :py:data:`~socket." -"AF_INET6`, ou :py:data:`~socket.AF_UNIX`, dependendo do *host* (ou do " -"argumento *family*, se fornecido)." -#: ../../library/asyncio-eventloop.rst:542 -msgid "The socket type will be :py:data:`~socket.SOCK_DGRAM`." -msgstr "O tipo de soquete será :py:data:`~socket.SOCK_DGRAM`." +#: ../../library/asyncio-eventloop.rst:547 +msgid "The socket type will be :py:const:`~socket.SOCK_DGRAM`." +msgstr "" -#: ../../library/asyncio-eventloop.rst:544 -#: ../../library/asyncio-eventloop.rst:664 -#: ../../library/asyncio-eventloop.rst:796 +#: ../../library/asyncio-eventloop.rst:549 +#: ../../library/asyncio-eventloop.rst:673 +#: ../../library/asyncio-eventloop.rst:805 msgid "" "*protocol_factory* must be a callable returning a :ref:`protocol ` implementation." msgstr "" -"*protocol_factory* deve ser algo chamável, retornando uma implementação de :" -"ref:`protocolo `." +"*protocol_factory* deve ser algo chamável, retornando uma implementação " +"de :ref:`protocolo `." -#: ../../library/asyncio-eventloop.rst:547 -#: ../../library/asyncio-eventloop.rst:623 +#: ../../library/asyncio-eventloop.rst:552 +#: ../../library/asyncio-eventloop.rst:630 msgid "A tuple of ``(transport, protocol)`` is returned on success." msgstr "Uma tupla de ``(transport, protocol)`` é retornada em caso de sucesso." -#: ../../library/asyncio-eventloop.rst:551 +#: ../../library/asyncio-eventloop.rst:556 msgid "" "*local_addr*, if given, is a ``(local_host, local_port)`` tuple used to bind " -"the socket locally. The *local_host* and *local_port* are looked up using :" -"meth:`getaddrinfo`." +"the socket locally. The *local_host* and *local_port* are looked up " +"using :meth:`getaddrinfo`." msgstr "" "*local_addr*, se fornecido, é uma tupla de ``(local_host, local_port)`` " "usada para ligar o soquete localmente. O *local_host* e a *local_port* são " "procurados usando :meth:`getaddrinfo`." -#: ../../library/asyncio-eventloop.rst:555 +#: ../../library/asyncio-eventloop.rst:560 msgid "" "*remote_addr*, if given, is a ``(remote_host, remote_port)`` tuple used to " "connect the socket to a remote address. The *remote_host* and *remote_port* " @@ -959,7 +981,7 @@ msgstr "" "usada para conectar o soquete a um endereço remoto. O *remote_host* e a " "*remote_port* são procurados usando :meth:`getaddrinfo`." -#: ../../library/asyncio-eventloop.rst:559 +#: ../../library/asyncio-eventloop.rst:564 msgid "" "*family*, *proto*, *flags* are the optional address family, protocol and " "flags to be passed through to :meth:`getaddrinfo` for *host* resolution. If " @@ -971,22 +993,16 @@ msgstr "" "*host*. Se fornecido, esses devem ser todos inteiros do módulo de " "constantes :mod:`socket` correspondente." -#: ../../library/asyncio-eventloop.rst:564 +#: ../../library/asyncio-eventloop.rst:569 msgid "" "*reuse_port* tells the kernel to allow this endpoint to be bound to the same " "port as other existing endpoints are bound to, so long as they all set this " "flag when being created. This option is not supported on Windows and some " -"Unixes. If the :py:data:`~socket.SO_REUSEPORT` constant is not defined then " -"this capability is unsupported." +"Unixes. If the :ref:`socket.SO_REUSEPORT ` constant " +"is not defined then this capability is unsupported." msgstr "" -"*reuse_port* avisa o kernel para permitir este endpoint para ser ligado a " -"mesma porta da mesma forma que outros endpoints existentes estão ligados a, " -"contanto que todos eles definam este flag quando forem criados. Esta opção " -"não é suportada no Windows e em alguns sistemas Unix. Se a constante :py:" -"data:`~socket.SO_REUSEPORT` não estiver definida, então esta capacidade não " -"é suportada." -#: ../../library/asyncio-eventloop.rst:570 +#: ../../library/asyncio-eventloop.rst:575 msgid "" "*allow_broadcast* tells the kernel to allow this endpoint to send messages " "to the broadcast address." @@ -994,41 +1010,47 @@ msgstr "" "*allow_broadcast* avisa o kernel para permitir que este endpoint envie " "mensagens para o endereço de broadcast." -#: ../../library/asyncio-eventloop.rst:573 +#: ../../library/asyncio-eventloop.rst:578 msgid "" "*sock* can optionally be specified in order to use a preexisting, already " "connected, :class:`socket.socket` object to be used by the transport. If " -"specified, *local_addr* and *remote_addr* should be omitted (must be :const:" -"`None`)." +"specified, *local_addr* and *remote_addr* should be omitted (must " +"be :const:`None`)." msgstr "" -"*sock* pode opcionalmente ser especificado em ordem para usar um objeto :" -"class:`socket.socket` pre-existente, já conectado, para ser usado pelo " -"transporte. Se especificado, *local_addr* e *remote_addr* devem ser omitidos " -"(devem ser :const:`None`)." +"*sock* pode opcionalmente ser especificado em ordem para usar um " +"objeto :class:`socket.socket` pre-existente, já conectado, para ser usado " +"pelo transporte. Se especificado, *local_addr* e *remote_addr* devem ser " +"omitidos (devem ser :const:`None`)." -#: ../../library/asyncio-eventloop.rst:584 +#: ../../library/asyncio-eventloop.rst:589 msgid "" -"See :ref:`UDP echo client protocol ` and :" -"ref:`UDP echo server protocol ` examples." +"See :ref:`UDP echo client protocol ` " +"and :ref:`UDP echo server protocol ` " +"examples." msgstr "" -"Veja :ref:`protocolo UDP eco cliente ` e :" -"ref:`protocolo UDP eco servidor ` para " +"Veja :ref:`protocolo UDP eco cliente ` " +"e :ref:`protocolo UDP eco servidor ` para " "exemplos." -#: ../../library/asyncio-eventloop.rst:587 +#: ../../library/asyncio-eventloop.rst:592 msgid "" "The *family*, *proto*, *flags*, *reuse_address*, *reuse_port*, " "*allow_broadcast*, and *sock* parameters were added." msgstr "" -#: ../../library/asyncio-eventloop.rst:591 +#: ../../library/asyncio-eventloop.rst:596 +msgid "Added support for Windows." +msgstr "Adicionado suporte para Windows." + +#: ../../library/asyncio-eventloop.rst:599 msgid "" -"The *reuse_address* parameter is no longer supported, as using :py:data:" -"`~sockets.SO_REUSEADDR` poses a significant security concern for UDP. " -"Explicitly passing ``reuse_address=True`` will raise an exception." +"The *reuse_address* parameter is no longer supported, as " +"using :ref:`socket.SO_REUSEADDR ` poses a significant " +"security concern for UDP. Explicitly passing ``reuse_address=True`` will " +"raise an exception." msgstr "" -#: ../../library/asyncio-eventloop.rst:596 +#: ../../library/asyncio-eventloop.rst:605 msgid "" "When multiple processes with differing UIDs assign sockets to an identical " "UDP socket address with ``SO_REUSEADDR``, incoming packets can become " @@ -1038,51 +1060,43 @@ msgstr "" "endereço de soquete UDP idêntico com ``SO_REUSEADDR``, pacotes recebidos " "podem ser distribuídos aleatoriamente entre os soquetes." -#: ../../library/asyncio-eventloop.rst:600 +#: ../../library/asyncio-eventloop.rst:609 msgid "" "For supported platforms, *reuse_port* can be used as a replacement for " -"similar functionality. With *reuse_port*, :py:data:`~sockets.SO_REUSEPORT` " -"is used instead, which specifically prevents processes with differing UIDs " -"from assigning sockets to the same socket address." +"similar functionality. With *reuse_port*, :ref:`socket.SO_REUSEPORT ` is used instead, which specifically prevents processes with " +"differing UIDs from assigning sockets to the same socket address." msgstr "" -"Para plataformas suportadas, *reuse_port* pode ser usado como um substituto " -"para funcionalidades similares. Com *reuse_port*, :py:data:`~sockets." -"SO_REUSEPORT` é usado ao invés, o qual especificamente previne processos com " -"diferentes UIDs de atribuir soquetes para o mesmo endereço do soquete." -#: ../../library/asyncio-eventloop.rst:606 -msgid "Added support for Windows." -msgstr "Adicionado suporte para Windows." - -#: ../../library/asyncio-eventloop.rst:609 +#: ../../library/asyncio-eventloop.rst:616 msgid "" -"The *reuse_address* parameter, disabled since Python 3.9.0, 3.8.1, 3.7.6 and " +"The *reuse_address* parameter, disabled since Python 3.8.1, 3.7.6 and " "3.6.10, has been entirely removed." msgstr "" -#: ../../library/asyncio-eventloop.rst:618 +#: ../../library/asyncio-eventloop.rst:625 msgid "Create a Unix connection." msgstr "Cria uma conexão Unix." -#: ../../library/asyncio-eventloop.rst:620 +#: ../../library/asyncio-eventloop.rst:627 msgid "" -"The socket family will be :py:data:`~socket.AF_UNIX`; socket type will be :" -"py:data:`~socket.SOCK_STREAM`." +"The socket family will be :py:const:`~socket.AF_UNIX`; socket type will " +"be :py:const:`~socket.SOCK_STREAM`." msgstr "" -"A família de soquete será :py:data:`~socket.AF_UNIX`; o tipo de soquete " -"será :py:data:`~socket.SOCK_STREAM`." -#: ../../library/asyncio-eventloop.rst:625 +#: ../../library/asyncio-eventloop.rst:632 msgid "" "*path* is the name of a Unix domain socket and is required, unless a *sock* " -"parameter is specified. Abstract Unix sockets, :class:`str`, :class:" -"`bytes`, and :class:`~pathlib.Path` paths are supported." +"parameter is specified. Abstract Unix " +"sockets, :class:`str`, :class:`bytes`, and :class:`~pathlib.Path` paths are " +"supported." msgstr "" "*path* é o nome de um soquete de domínio Unix e é obrigatório, a não ser que " -"um parâmetro *sock* seja esecificado. Soquetes Unix abstratos, :class:" -"`str`, :class:`bytes`, e caminhos :class:`~pathlib.Path` são suportados." +"um parâmetro *sock* seja especificado. Soquetes Unix " +"abstratos, :class:`str`, :class:`bytes`, e caminhos :class:`~pathlib.Path` " +"são suportados." -#: ../../library/asyncio-eventloop.rst:630 +#: ../../library/asyncio-eventloop.rst:637 msgid "" "See the documentation of the :meth:`loop.create_connection` method for " "information about arguments to this method." @@ -1090,13 +1104,13 @@ msgstr "" "Veja a documentação do método :meth:`loop.create_connection` para " "informações a respeito de argumentos para este método." -#: ../../library/asyncio-eventloop.rst:633 -#: ../../library/asyncio-eventloop.rst:773 -#: ../../library/asyncio-eventloop.rst:1199 +#: ../../library/asyncio-eventloop.rst:640 +#: ../../library/asyncio-eventloop.rst:782 +#: ../../library/asyncio-eventloop.rst:1213 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." -#: ../../library/asyncio-eventloop.rst:635 +#: ../../library/asyncio-eventloop.rst:642 msgid "" "Added the *ssl_handshake_timeout* parameter. The *path* parameter can now be " "a :term:`path-like object`." @@ -1104,27 +1118,25 @@ msgstr "" "Adicionado o parâmetro *ssl_handshake_timeout*. O parâmetro *path* agora " "pode ser um :term:`path-like object`." -#: ../../library/asyncio-eventloop.rst:645 +#: ../../library/asyncio-eventloop.rst:652 msgid "Creating network servers" msgstr "Criando servidores de rede" -#: ../../library/asyncio-eventloop.rst:657 +#: ../../library/asyncio-eventloop.rst:666 msgid "" -"Create a TCP server (socket type :data:`~socket.SOCK_STREAM`) listening on " +"Create a TCP server (socket type :const:`~socket.SOCK_STREAM`) listening on " "*port* of the *host* address." msgstr "" -"Cria um servidor TCP (tipo de soquete :data:`~socket.SOCK_STREAM`) escutando " -"em *port* do entedeço *host*." -#: ../../library/asyncio-eventloop.rst:660 +#: ../../library/asyncio-eventloop.rst:669 msgid "Returns a :class:`Server` object." msgstr "Retorna um objeto :class:`Server`." -#: ../../library/asyncio-eventloop.rst:662 +#: ../../library/asyncio-eventloop.rst:671 msgid "Arguments:" msgstr "Argumentos:" -#: ../../library/asyncio-eventloop.rst:667 +#: ../../library/asyncio-eventloop.rst:676 msgid "" "The *host* parameter can be set to several types which determine where the " "server would be listening:" @@ -1132,7 +1144,7 @@ msgstr "" "O parâmetro *host* pode ser definido para diversos tipos, o qual determina " "onde o servidor deve escutar:" -#: ../../library/asyncio-eventloop.rst:670 +#: ../../library/asyncio-eventloop.rst:679 msgid "" "If *host* is a string, the TCP server is bound to a single network interface " "specified by *host*." @@ -1140,7 +1152,7 @@ msgstr "" "Se *host* for uma string, o servidor TCP está vinculado a apenas uma " "interface de rede, especificada por *host*." -#: ../../library/asyncio-eventloop.rst:673 +#: ../../library/asyncio-eventloop.rst:682 msgid "" "If *host* is a sequence of strings, the TCP server is bound to all network " "interfaces specified by the sequence." @@ -1148,17 +1160,17 @@ msgstr "" "Se *host* é uma sequência de strings, o servidor TCP está vinculado a todas " "as interfaces de rede especificadas pela sequência." -#: ../../library/asyncio-eventloop.rst:676 +#: ../../library/asyncio-eventloop.rst:685 msgid "" "If *host* is an empty string or ``None``, all interfaces are assumed and a " "list of multiple sockets will be returned (most likely one for IPv4 and " "another one for IPv6)." msgstr "" -"Se *host* é uma string vazia ou ``None``, todas as interfaces são assumidas " +"Se *host* é uma string vazia ou ``None``, todas as interfaces são presumidas " "e uma lista de múltiplos soquetes será retornada (muito provavelmente um " "para IPv4 e outro para IPv6)." -#: ../../library/asyncio-eventloop.rst:680 +#: ../../library/asyncio-eventloop.rst:689 msgid "" "The *port* parameter can be set to specify which port the server should " "listen on. If ``0`` or ``None`` (the default), a random unused port will be " @@ -1171,22 +1183,19 @@ msgstr "" "interfaces de rede, uma porta aleatória diferente será selecionada para cada " "interface)." -#: ../../library/asyncio-eventloop.rst:685 +#: ../../library/asyncio-eventloop.rst:694 msgid "" -"*family* can be set to either :data:`socket.AF_INET` or :data:`~socket." -"AF_INET6` to force the socket to use IPv4 or IPv6. If not set, the *family* " -"will be determined from host name (defaults to :data:`~socket.AF_UNSPEC`)." +"*family* can be set to either :const:`socket.AF_INET` " +"or :const:`~socket.AF_INET6` to force the socket to use IPv4 or IPv6. If not " +"set, the *family* will be determined from host name (defaults " +"to :const:`~socket.AF_UNSPEC`)." msgstr "" -"*family* pode ser definido para :data:`socket.AF_INET` ou :data:`~socket." -"AF_INET6` para forçar o soquete a usar IPv4 ou IPv6. Se não for definido, " -"*family* será determinado a partir do nome do servidor (por padrão será :" -"data:`~socket.AF_UNSPEC`)." -#: ../../library/asyncio-eventloop.rst:690 +#: ../../library/asyncio-eventloop.rst:699 msgid "*flags* is a bitmask for :meth:`getaddrinfo`." msgstr "*flags* é uma máscara de bits para :meth:`getaddrinfo`." -#: ../../library/asyncio-eventloop.rst:692 +#: ../../library/asyncio-eventloop.rst:701 msgid "" "*sock* can optionally be specified in order to use a preexisting socket " "object. If specified, *host* and *port* must not be specified." @@ -1194,21 +1203,21 @@ msgstr "" "*sock* pode opcionalmente ser especificado para usar um objeto soquete pré-" "existente. Se especificado, *host* e *port* não devem ser especificados." -#: ../../library/asyncio-eventloop.rst:697 +#: ../../library/asyncio-eventloop.rst:706 msgid "" "The *sock* argument transfers ownership of the socket to the server created. " "To close the socket, call the server's :meth:`~asyncio.Server.close` method." msgstr "" -#: ../../library/asyncio-eventloop.rst:701 +#: ../../library/asyncio-eventloop.rst:710 msgid "" -"*backlog* is the maximum number of queued connections passed to :meth:" -"`~socket.socket.listen` (defaults to 100)." +"*backlog* is the maximum number of queued connections passed " +"to :meth:`~socket.socket.listen` (defaults to 100)." msgstr "" -"*backlog* é o número máximo de conexões enfileiradas pasadas para :meth:" -"`~socket.socket.listen` (padrão é 100)." +"*backlog* é o número máximo de conexões enfileiradas passadas " +"para :meth:`~socket.socket.listen` (padrão é 100)." -#: ../../library/asyncio-eventloop.rst:704 +#: ../../library/asyncio-eventloop.rst:713 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` instance to enable TLS over " "the accepted connections." @@ -1216,17 +1225,17 @@ msgstr "" "*ssl* pode ser definido para uma instância de :class:`~ssl.SSLContext` para " "habilitar TLS sobre as conexões aceitas." -#: ../../library/asyncio-eventloop.rst:707 +#: ../../library/asyncio-eventloop.rst:716 msgid "" "*reuse_address* tells the kernel to reuse a local socket in ``TIME_WAIT`` " "state, without waiting for its natural timeout to expire. If not specified " "will automatically be set to ``True`` on Unix." msgstr "" "*reuse_address* diz ao kernel para reusar um soquete local em estado " -"``TIME_WAIT``, serm aguardar pela expiração natural do seu tempo limite. Se " +"``TIME_WAIT``, sem aguardar pela expiração natural do seu tempo limite. Se " "não especificado, será automaticamente definida como ``True`` no Unix." -#: ../../library/asyncio-eventloop.rst:712 +#: ../../library/asyncio-eventloop.rst:721 msgid "" "*reuse_port* tells the kernel to allow this endpoint to be bound to the same " "port as other existing endpoints are bound to, so long as they all set this " @@ -1237,7 +1246,7 @@ msgstr "" "todos eles definam este sinalizador quando forem criados. Esta opção não é " "suportada no Windows." -#: ../../library/asyncio-eventloop.rst:717 +#: ../../library/asyncio-eventloop.rst:726 msgid "" "*ssl_handshake_timeout* is (for a TLS server) the time in seconds to wait " "for the TLS handshake to complete before aborting the connection. ``60.0`` " @@ -1247,7 +1256,7 @@ msgstr "" "aguardar pelo aperto de mão TLS ser concluído, antes de abortar a conexão. " "``60.0`` segundos se ``None`` (valor padrão)." -#: ../../library/asyncio-eventloop.rst:725 +#: ../../library/asyncio-eventloop.rst:734 msgid "" "*start_serving* set to ``True`` (the default) causes the created server to " "start accepting connections immediately. When set to ``False``, the user " @@ -1256,24 +1265,22 @@ msgid "" msgstr "" "Definir *start_serving* para ``True`` (o valor padrão) faz o servidor criado " "começar a aceitar conexões imediatamente. Quando definido para ``False``, o " -"usuário deve aguardar com :meth:`Server.start_serving` ou :meth:`Server." -"serve_forever` para fazer o servidor começar a aceitar conexões." +"usuário deve aguardar com :meth:`Server.start_serving` " +"ou :meth:`Server.serve_forever` para fazer o servidor começar a aceitar " +"conexões." -#: ../../library/asyncio-eventloop.rst:737 +#: ../../library/asyncio-eventloop.rst:746 msgid "The *host* parameter can be a sequence of strings." msgstr "O parâmetro *host* pode ser uma sequência de strings." -#: ../../library/asyncio-eventloop.rst:741 +#: ../../library/asyncio-eventloop.rst:750 msgid "" "Added *ssl_handshake_timeout* and *start_serving* parameters. The socket " -"option :py:data:`~socket.TCP_NODELAY` is set by default for all TCP " -"connections." +"option :ref:`socket.TCP_NODELAY ` is set by default " +"for all TCP connections." msgstr "" -"Adicionado os parâmetros *ssl_handshake_timeout* e *start_serving*. A opção " -"do soquete :py:data:`~socket.TCP_NODELAY` está definida por padrão para " -"todas as conexões TCP." -#: ../../library/asyncio-eventloop.rst:751 +#: ../../library/asyncio-eventloop.rst:760 msgid "" "The :func:`start_server` function is a higher-level alternative API that " "returns a pair of :class:`StreamReader` and :class:`StreamWriter` that can " @@ -1283,25 +1290,24 @@ msgstr "" "retorna um par de :class:`StreamReader` e :class:`StreamWriter` que pode ser " "usado em um código async/await." -#: ../../library/asyncio-eventloop.rst:762 +#: ../../library/asyncio-eventloop.rst:771 msgid "" -"Similar to :meth:`loop.create_server` but works with the :py:data:`~socket." -"AF_UNIX` socket family." +"Similar to :meth:`loop.create_server` but works with " +"the :py:const:`~socket.AF_UNIX` socket family." msgstr "" -"Similar a :meth:`loop.create_server`, mas trabalha com a família de soquete :" -"py:data:`~socket.AF_UNIX`." -#: ../../library/asyncio-eventloop.rst:765 +#: ../../library/asyncio-eventloop.rst:774 msgid "" "*path* is the name of a Unix domain socket, and is required, unless a *sock* " "argument is provided. Abstract Unix sockets, :class:`str`, :class:`bytes`, " "and :class:`~pathlib.Path` paths are supported." msgstr "" "*path* é o nome de um soquete de domínio Unix, e é obrigatório, a não ser " -"que um argumento *sock* seja fornecido. Soquetes Unix abstratos, :class:" -"`str`, :class:`bytes`, e caminhos :class:`~pathlib.Path` são suportados." +"que um argumento *sock* seja fornecido. Soquetes Unix " +"abstratos, :class:`str`, :class:`bytes`, e caminhos :class:`~pathlib.Path` " +"são suportados." -#: ../../library/asyncio-eventloop.rst:770 +#: ../../library/asyncio-eventloop.rst:779 msgid "" "See the documentation of the :meth:`loop.create_server` method for " "information about arguments to this method." @@ -1309,19 +1315,19 @@ msgstr "" "Veja a documentação do método :meth:`loop.create_server` para informações " "sobre argumentos para este método." -#: ../../library/asyncio-eventloop.rst:777 +#: ../../library/asyncio-eventloop.rst:786 msgid "" "Added the *ssl_handshake_timeout* and *start_serving* parameters. The *path* " "parameter can now be a :class:`~pathlib.Path` object." msgstr "" -"Adicionados os parâmetros *ssl_handshake_timeout* estart_serving*. O " +"Adicionados os parâmetros *ssl_handshake_timeout* e *start_serving*. O " "parâmetros *path* agora pode ser um objeto da classe :class:`~pathlib.Path`." -#: ../../library/asyncio-eventloop.rst:789 +#: ../../library/asyncio-eventloop.rst:798 msgid "Wrap an already accepted connection into a transport/protocol pair." msgstr "Envolve uma conexão já aceita em um par transporte/protocolo." -#: ../../library/asyncio-eventloop.rst:791 +#: ../../library/asyncio-eventloop.rst:800 msgid "" "This method can be used by servers that accept connections outside of " "asyncio but that use asyncio to handle them." @@ -1329,20 +1335,20 @@ msgstr "" "Este método pode ser usado por servidores que aceitam conexões fora do " "asyncio, mas que usam asyncio para manipulá-las." -#: ../../library/asyncio-eventloop.rst:794 -#: ../../library/asyncio-eventloop.rst:881 +#: ../../library/asyncio-eventloop.rst:803 +#: ../../library/asyncio-eventloop.rst:893 msgid "Parameters:" msgstr "Parâmetros:" -#: ../../library/asyncio-eventloop.rst:799 +#: ../../library/asyncio-eventloop.rst:808 msgid "" "*sock* is a preexisting socket object returned from :meth:`socket.accept " "`." msgstr "" -"*sock* é um objeto soquete pré-existente retornado a partir de :meth:`socket." -"accept `." +"*sock* é um objeto soquete pré-existente retornado a partir " +"de :meth:`socket.accept `." -#: ../../library/asyncio-eventloop.rst:808 +#: ../../library/asyncio-eventloop.rst:817 msgid "" "*ssl* can be set to an :class:`~ssl.SSLContext` to enable SSL over the " "accepted connections." @@ -1350,7 +1356,7 @@ msgstr "" "*ssl* pode ser definido para um :class:`~ssl.SSLContext` para habilitar SSL " "sobre as conexões aceitas." -#: ../../library/asyncio-eventloop.rst:811 +#: ../../library/asyncio-eventloop.rst:820 msgid "" "*ssl_handshake_timeout* is (for an SSL connection) the time in seconds to " "wait for the SSL handshake to complete before aborting the connection. " @@ -1360,31 +1366,31 @@ msgstr "" "aguardar pelo aperto de mão SSL ser concluído, antes de abortar a conexão. " "``60.0`` segundos se ``None`` (valor padrão)." -#: ../../library/asyncio-eventloop.rst:819 +#: ../../library/asyncio-eventloop.rst:828 msgid "Returns a ``(transport, protocol)`` pair." msgstr "Retorna um par ``(transport, protocol)``." -#: ../../library/asyncio-eventloop.rst:833 +#: ../../library/asyncio-eventloop.rst:842 msgid "Transferring files" msgstr "Transferindo arquivos" -#: ../../library/asyncio-eventloop.rst:838 +#: ../../library/asyncio-eventloop.rst:847 msgid "" "Send a *file* over a *transport*. Return the total number of bytes sent." msgstr "" "Envia um *file* sobre um *transport*. Retorna o número total de bytes " "enviados." -#: ../../library/asyncio-eventloop.rst:841 +#: ../../library/asyncio-eventloop.rst:850 msgid "The method uses high-performance :meth:`os.sendfile` if available." msgstr "O método usa :meth:`os.sendfile` de alto desempenho, se disponível." -#: ../../library/asyncio-eventloop.rst:843 +#: ../../library/asyncio-eventloop.rst:852 msgid "*file* must be a regular file object opened in binary mode." msgstr "*file* deve ser um objeto arquivo regular aberto em modo binário." -#: ../../library/asyncio-eventloop.rst:845 -#: ../../library/asyncio-eventloop.rst:1087 +#: ../../library/asyncio-eventloop.rst:854 +#: ../../library/asyncio-eventloop.rst:1099 msgid "" "*offset* tells from where to start reading the file. If specified, *count* " "is the total number of bytes to transmit as opposed to sending the file " @@ -1395,11 +1401,11 @@ msgstr "" "*offset* indica a partir de onde deve iniciar a leitura do arquivo. Se " "especificado, *count* é o número total de bytes para transmitir, ao " "contrário de transmitir o arquivo até que EOF seja atingido. A posição do " -"arquivo é sempre atualizada, mesmo quando este método levanta um erro, e :" -"meth:`file.tell() ` pode ser usado para obter o número atual " -"de bytes enviados." +"arquivo é sempre atualizada, mesmo quando este método levanta um erro, " +"e :meth:`file.tell() ` pode ser usado para obter o número " +"atual de bytes enviados." -#: ../../library/asyncio-eventloop.rst:852 +#: ../../library/asyncio-eventloop.rst:861 msgid "" "*fallback* set to ``True`` makes asyncio to manually read and send the file " "when the platform does not support the sendfile system call (e.g. Windows or " @@ -1409,7 +1415,7 @@ msgstr "" "arquivo quando a plataforma não suporta a chamada de sistema sendfile (por " "exemplo Windows ou soquete SSL no Unix)." -#: ../../library/asyncio-eventloop.rst:856 +#: ../../library/asyncio-eventloop.rst:865 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support the " "*sendfile* syscall and *fallback* is ``False``." @@ -1417,22 +1423,22 @@ msgstr "" "Levanta :exc:`SendfileNotAvailableError` se o sistema não suporta a chamada " "de sistema *sendfile* e *fallback* é ``False``." -#: ../../library/asyncio-eventloop.rst:863 +#: ../../library/asyncio-eventloop.rst:872 msgid "TLS Upgrade" msgstr "Atualizando TLS" -#: ../../library/asyncio-eventloop.rst:870 +#: ../../library/asyncio-eventloop.rst:879 msgid "Upgrade an existing transport-based connection to TLS." msgstr "Atualiza um conexão baseada em transporte existente para TLS." -#: ../../library/asyncio-eventloop.rst:872 +#: ../../library/asyncio-eventloop.rst:881 msgid "" "Create a TLS coder/decoder instance and insert it between the *transport* " "and the *protocol*. The coder/decoder implements both *transport*-facing " "protocol and *protocol*-facing transport." msgstr "" -#: ../../library/asyncio-eventloop.rst:876 +#: ../../library/asyncio-eventloop.rst:885 msgid "" "Return the created two-interface instance. After *await*, the *protocol* " "must stop using the original *transport* and communicate with the returned " @@ -1440,28 +1446,34 @@ msgid "" "exchanges extra TLS session packets with *transport*." msgstr "" -#: ../../library/asyncio-eventloop.rst:883 +#: ../../library/asyncio-eventloop.rst:890 msgid "" -"*transport* and *protocol* instances that methods like :meth:`~loop." -"create_server` and :meth:`~loop.create_connection` return." +"In some situations (e.g. when the passed transport is already closing) this " +"may return ``None``." msgstr "" -"instâncias de *transport* e *protocol*, que métodos como :meth:`~loop." -"create_server` e :meth:`~loop.create_connection` retornam." -#: ../../library/asyncio-eventloop.rst:887 +#: ../../library/asyncio-eventloop.rst:895 +msgid "" +"*transport* and *protocol* instances that methods " +"like :meth:`~loop.create_server` and :meth:`~loop.create_connection` return." +msgstr "" +"instâncias de *transport* e *protocol*, que métodos " +"como :meth:`~loop.create_server` e :meth:`~loop.create_connection` retornam." + +#: ../../library/asyncio-eventloop.rst:899 msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." msgstr "*sslcontext*: uma instância configurada de :class:`~ssl.SSLContext`." -#: ../../library/asyncio-eventloop.rst:889 +#: ../../library/asyncio-eventloop.rst:901 msgid "" "*server_side* pass ``True`` when a server-side connection is being upgraded " "(like the one created by :meth:`~loop.create_server`)." msgstr "" "*server_side* informe ``True`` quando uma conexão no lado do servidor " -"estiver sendo atualizada (como a que é criada por :meth:`~loop." -"create_server`)." +"estiver sendo atualizada (como a que é criada " +"por :meth:`~loop.create_server`)." -#: ../../library/asyncio-eventloop.rst:892 +#: ../../library/asyncio-eventloop.rst:904 msgid "" "*server_hostname*: sets or overrides the host name that the target server's " "certificate will be matched against." @@ -1469,11 +1481,11 @@ msgstr "" "*server_hostname*: define ou substitui o nome do host no qual o servidor " "alvo do certificado será comparado." -#: ../../library/asyncio-eventloop.rst:912 +#: ../../library/asyncio-eventloop.rst:924 msgid "Watching file descriptors" msgstr "Observando descritores de arquivo" -#: ../../library/asyncio-eventloop.rst:916 +#: ../../library/asyncio-eventloop.rst:928 msgid "" "Start monitoring the *fd* file descriptor for read availability and invoke " "*callback* with the specified arguments once *fd* is available for reading." @@ -1482,13 +1494,13 @@ msgstr "" "leitura e invoca a *callback* com os argumentos especificados assim que *fd* " "esteja disponível para leitura." -#: ../../library/asyncio-eventloop.rst:922 +#: ../../library/asyncio-eventloop.rst:934 msgid "" "Stop monitoring the *fd* file descriptor for read availability. Returns " "``True`` if *fd* was previously being monitored for reads." msgstr "" -#: ../../library/asyncio-eventloop.rst:927 +#: ../../library/asyncio-eventloop.rst:939 msgid "" "Start monitoring the *fd* file descriptor for write availability and invoke " "*callback* with the specified arguments once *fd* is available for writing." @@ -1497,8 +1509,8 @@ msgstr "" "escrita e invoca a *callback* com os argumentos especificados assim que *fd* " "esteja disponível para escrita." -#: ../../library/asyncio-eventloop.rst:931 -#: ../../library/asyncio-eventloop.rst:1186 +#: ../../library/asyncio-eventloop.rst:943 +#: ../../library/asyncio-eventloop.rst:1200 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *callback*." @@ -1506,13 +1518,13 @@ msgstr "" "Use :func:`functools.partial` :ref:`para passar argumentos nomeados ` para a *callback*." -#: ../../library/asyncio-eventloop.rst:936 +#: ../../library/asyncio-eventloop.rst:948 msgid "" "Stop monitoring the *fd* file descriptor for write availability. Returns " "``True`` if *fd* was previously being monitored for writes." msgstr "" -#: ../../library/asyncio-eventloop.rst:939 +#: ../../library/asyncio-eventloop.rst:951 msgid "" "See also :ref:`Platform Support ` section for some " "limitations of these methods." @@ -1520,17 +1532,17 @@ msgstr "" "Veja também a seção de :ref:`Suporte a Plataformas ` para algumas limitações desses métodos." -#: ../../library/asyncio-eventloop.rst:944 +#: ../../library/asyncio-eventloop.rst:956 msgid "Working with socket objects directly" msgstr "Trabalhando com objetos soquete diretamente" -#: ../../library/asyncio-eventloop.rst:946 +#: ../../library/asyncio-eventloop.rst:958 msgid "" -"In general, protocol implementations that use transport-based APIs such as :" -"meth:`loop.create_connection` and :meth:`loop.create_server` are faster than " -"implementations that work with sockets directly. However, there are some use " -"cases when performance is not critical, and working with :class:`~socket." -"socket` objects directly is more convenient." +"In general, protocol implementations that use transport-based APIs such " +"as :meth:`loop.create_connection` and :meth:`loop.create_server` are faster " +"than implementations that work with sockets directly. However, there are " +"some use cases when performance is not critical, and working " +"with :class:`~socket.socket` objects directly is more convenient." msgstr "" "Em geral, implementações de protocolo que usam APIs baseadas em transporte, " "tais como :meth:`loop.create_connection` e :meth:`loop.create_server` são " @@ -1538,31 +1550,31 @@ msgstr "" "Entretanto, existem alguns casos de uso quando o desempenho não é crítica, e " "trabalhar com objetos :class:`~socket.socket` diretamente é mais conveniente." -#: ../../library/asyncio-eventloop.rst:955 +#: ../../library/asyncio-eventloop.rst:967 msgid "" -"Receive up to *nbytes* from *sock*. Asynchronous version of :meth:`socket." -"recv() `." +"Receive up to *nbytes* from *sock*. Asynchronous version " +"of :meth:`socket.recv() `." msgstr "" "Recebe até *nbytes* do *sock*. Versão assíncrona de :meth:`socket.recv() " "`." -#: ../../library/asyncio-eventloop.rst:958 +#: ../../library/asyncio-eventloop.rst:970 msgid "Return the received data as a bytes object." msgstr "Retorna os dados recebidos como um objeto de bytes." -#: ../../library/asyncio-eventloop.rst:960 -#: ../../library/asyncio-eventloop.rst:974 -#: ../../library/asyncio-eventloop.rst:985 +#: ../../library/asyncio-eventloop.rst:972 +#: ../../library/asyncio-eventloop.rst:986 #: ../../library/asyncio-eventloop.rst:997 -#: ../../library/asyncio-eventloop.rst:1012 -#: ../../library/asyncio-eventloop.rst:1027 -#: ../../library/asyncio-eventloop.rst:1037 -#: ../../library/asyncio-eventloop.rst:1063 -#: ../../library/asyncio-eventloop.rst:1101 +#: ../../library/asyncio-eventloop.rst:1009 +#: ../../library/asyncio-eventloop.rst:1024 +#: ../../library/asyncio-eventloop.rst:1039 +#: ../../library/asyncio-eventloop.rst:1049 +#: ../../library/asyncio-eventloop.rst:1075 +#: ../../library/asyncio-eventloop.rst:1113 msgid "*sock* must be a non-blocking socket." msgstr "*sock* deve ser um soquete não bloqueante." -#: ../../library/asyncio-eventloop.rst:962 +#: ../../library/asyncio-eventloop.rst:974 msgid "" "Even though this method was always documented as a coroutine method, " "releases before Python 3.7 returned a :class:`Future`. Since Python 3.7 this " @@ -1572,47 +1584,47 @@ msgstr "" "versões anteriores ao Python 3.7 retornavam um :class:`Future`. Desde o " "Python 3.7 este é um método ``async def``." -#: ../../library/asyncio-eventloop.rst:969 +#: ../../library/asyncio-eventloop.rst:981 msgid "" -"Receive data from *sock* into the *buf* buffer. Modeled after the blocking :" -"meth:`socket.recv_into() ` method." +"Receive data from *sock* into the *buf* buffer. Modeled after the " +"blocking :meth:`socket.recv_into() ` method." msgstr "" "Dados recebidos do *sock* no buffer *buf*. Modelado baseado no método " "bloqueante :meth:`socket.recv_into() `." -#: ../../library/asyncio-eventloop.rst:972 +#: ../../library/asyncio-eventloop.rst:984 msgid "Return the number of bytes written to the buffer." msgstr "Retorna o número de bytes escritos no buffer." -#: ../../library/asyncio-eventloop.rst:980 +#: ../../library/asyncio-eventloop.rst:992 msgid "" -"Receive a datagram of up to *bufsize* from *sock*. Asynchronous version of :" -"meth:`socket.recvfrom() `." +"Receive a datagram of up to *bufsize* from *sock*. Asynchronous version " +"of :meth:`socket.recvfrom() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:983 +#: ../../library/asyncio-eventloop.rst:995 msgid "Return a tuple of (received data, remote address)." msgstr "" -#: ../../library/asyncio-eventloop.rst:991 +#: ../../library/asyncio-eventloop.rst:1003 msgid "" "Receive a datagram of up to *nbytes* from *sock* into *buf*. Asynchronous " "version of :meth:`socket.recvfrom_into() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:995 +#: ../../library/asyncio-eventloop.rst:1007 msgid "Return a tuple of (number of bytes received, remote address)." msgstr "" -#: ../../library/asyncio-eventloop.rst:1003 +#: ../../library/asyncio-eventloop.rst:1015 msgid "" -"Send *data* to the *sock* socket. Asynchronous version of :meth:`socket." -"sendall() `." +"Send *data* to the *sock* socket. Asynchronous version " +"of :meth:`socket.sendall() `." msgstr "" -"Envia *data* para o soquete *sock*. Versão assíncrona de :meth:`socket." -"sendall() `." +"Envia *data* para o soquete *sock*. Versão assíncrona " +"de :meth:`socket.sendall() `." -#: ../../library/asyncio-eventloop.rst:1006 +#: ../../library/asyncio-eventloop.rst:1018 msgid "" "This method continues to send to the socket until either all data in *data* " "has been sent or an error occurs. ``None`` is returned on success. On " @@ -1626,8 +1638,8 @@ msgstr "" "existe nenhuma forma de determinar quantos dados, se algum, foram " "processados com sucesso pelo destinatário na conexão." -#: ../../library/asyncio-eventloop.rst:1014 -#: ../../library/asyncio-eventloop.rst:1065 +#: ../../library/asyncio-eventloop.rst:1026 +#: ../../library/asyncio-eventloop.rst:1077 msgid "" "Even though the method was always documented as a coroutine method, before " "Python 3.7 it returned a :class:`Future`. Since Python 3.7, this is an " @@ -1637,37 +1649,37 @@ msgstr "" "antes do Python 3.7 ele retornava um :class:`Future`. Desde o Python 3.7, " "este é um método ``async def``." -#: ../../library/asyncio-eventloop.rst:1021 +#: ../../library/asyncio-eventloop.rst:1033 msgid "" -"Send a datagram from *sock* to *address*. Asynchronous version of :meth:" -"`socket.sendto() `." +"Send a datagram from *sock* to *address*. Asynchronous version " +"of :meth:`socket.sendto() `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1025 +#: ../../library/asyncio-eventloop.rst:1037 msgid "Return the number of bytes sent." msgstr "" -#: ../../library/asyncio-eventloop.rst:1033 +#: ../../library/asyncio-eventloop.rst:1045 msgid "Connect *sock* to a remote socket at *address*." msgstr "Conecta o *sock* em um endereço *address* remoto." -#: ../../library/asyncio-eventloop.rst:1035 +#: ../../library/asyncio-eventloop.rst:1047 msgid "" "Asynchronous version of :meth:`socket.connect() `." msgstr "Versão assíncrona de :meth:`socket.connect() `." -#: ../../library/asyncio-eventloop.rst:1039 +#: ../../library/asyncio-eventloop.rst:1051 msgid "" "``address`` no longer needs to be resolved. ``sock_connect`` will try to " -"check if the *address* is already resolved by calling :func:`socket." -"inet_pton`. If not, :meth:`loop.getaddrinfo` will be used to resolve the " -"*address*." +"check if the *address* is already resolved by " +"calling :func:`socket.inet_pton`. If not, :meth:`loop.getaddrinfo` will be " +"used to resolve the *address*." msgstr "" "``address`` não precisa mais ser resolvido. ``sock_connect`` irá tentar " "verificar se *address* já está resolvido chamando :func:`socket.inet_pton`. " "Se não estiver, :meth:`loop.getaddrinfo` será usado para resolver *address*." -#: ../../library/asyncio-eventloop.rst:1048 +#: ../../library/asyncio-eventloop.rst:1060 msgid "" ":meth:`loop.create_connection` and :func:`asyncio.open_connection() " "`." @@ -1675,15 +1687,15 @@ msgstr "" ":meth:`loop.create_connection` e :func:`asyncio.open_connection() " "`." -#: ../../library/asyncio-eventloop.rst:1054 +#: ../../library/asyncio-eventloop.rst:1066 msgid "" "Accept a connection. Modeled after the blocking :meth:`socket.accept() " "` method." msgstr "" -"Aceita uma conexão. Modelado baseado no método bloqueante :meth:`socket." -"accept() `." +"Aceita uma conexão. Modelado baseado no método " +"bloqueante :meth:`socket.accept() `." -#: ../../library/asyncio-eventloop.rst:1057 +#: ../../library/asyncio-eventloop.rst:1069 msgid "" "The socket must be bound to an address and listening for connections. The " "return value is a pair ``(conn, address)`` where *conn* is a *new* socket " @@ -1695,11 +1707,11 @@ msgstr "" "de soquete usável para enviar e receber dados na conexão, e *address* é o " "endereço vinculado ao soquete no outro extremo da conexão." -#: ../../library/asyncio-eventloop.rst:1072 +#: ../../library/asyncio-eventloop.rst:1084 msgid ":meth:`loop.create_server` and :func:`start_server`." msgstr ":meth:`loop.create_server` e :func:`start_server`." -#: ../../library/asyncio-eventloop.rst:1077 +#: ../../library/asyncio-eventloop.rst:1089 msgid "" "Send a file using high-performance :mod:`os.sendfile` if possible. Return " "the total number of bytes sent." @@ -1707,25 +1719,25 @@ msgstr "" "Envia um arquivo usando :mod:`os.sendfile` de alto desempenho se possível. " "Retorna o número total de bytes enviados." -#: ../../library/asyncio-eventloop.rst:1080 +#: ../../library/asyncio-eventloop.rst:1092 msgid "" "Asynchronous version of :meth:`socket.sendfile() `." msgstr "" "Versão assíncrona de :meth:`socket.sendfile() `." -#: ../../library/asyncio-eventloop.rst:1082 +#: ../../library/asyncio-eventloop.rst:1094 msgid "" -"*sock* must be a non-blocking :const:`socket.SOCK_STREAM` :class:`~socket." -"socket`." +"*sock* must be a non-" +"blocking :const:`socket.SOCK_STREAM` :class:`~socket.socket`." msgstr "" "*sock* deve ser um :class:`~socket.socket` :const:`socket.SOCK_STREAM` não " "bloqueante." -#: ../../library/asyncio-eventloop.rst:1085 +#: ../../library/asyncio-eventloop.rst:1097 msgid "*file* must be a regular file object open in binary mode." msgstr "*file* deve ser um objeto arquivo regular aberto em modo binário." -#: ../../library/asyncio-eventloop.rst:1094 +#: ../../library/asyncio-eventloop.rst:1106 msgid "" "*fallback*, when set to ``True``, makes asyncio manually read and send the " "file when the platform does not support the sendfile syscall (e.g. Windows " @@ -1735,7 +1747,7 @@ msgstr "" "manualmente o arquivo, quando a plataforma não suporta a chamada de sistema " "sendfile (por exemplo Windows ou soquete SSL no Unix)." -#: ../../library/asyncio-eventloop.rst:1098 +#: ../../library/asyncio-eventloop.rst:1110 msgid "" "Raise :exc:`SendfileNotAvailableError` if the system does not support " "*sendfile* syscall and *fallback* is ``False``." @@ -1743,54 +1755,54 @@ msgstr "" "Levanta :exc:`SendfileNotAvailableError` se o sistema não suporta chamadas " "de sistema *sendfile* e *fallback* é ``False``." -#: ../../library/asyncio-eventloop.rst:1107 +#: ../../library/asyncio-eventloop.rst:1119 msgid "DNS" msgstr "DNS" -#: ../../library/asyncio-eventloop.rst:1112 +#: ../../library/asyncio-eventloop.rst:1124 msgid "Asynchronous version of :meth:`socket.getaddrinfo`." msgstr "Versão assíncrona de :meth:`socket.getaddrinfo`." -#: ../../library/asyncio-eventloop.rst:1116 +#: ../../library/asyncio-eventloop.rst:1128 msgid "Asynchronous version of :meth:`socket.getnameinfo`." msgstr "Versão assíncrona de :meth:`socket.getnameinfo`." -#: ../../library/asyncio-eventloop.rst:1118 +#: ../../library/asyncio-eventloop.rst:1130 msgid "" "Both *getaddrinfo* and *getnameinfo* methods were always documented to " -"return a coroutine, but prior to Python 3.7 they were, in fact, returning :" -"class:`asyncio.Future` objects. Starting with Python 3.7 both methods are " -"coroutines." +"return a coroutine, but prior to Python 3.7 they were, in fact, " +"returning :class:`asyncio.Future` objects. Starting with Python 3.7 both " +"methods are coroutines." msgstr "" "Ambos os métodos *getaddrinfo* e *getnameinfo* sempre foram documentados " "para retornar uma corrotina, mas antes do Python 3.7 eles estavam, na " "verdade, retornando objetos :class:`asyncio.Future`. A partir do Python 3.7, " "ambos os métodos são corrotinas." -#: ../../library/asyncio-eventloop.rst:1126 +#: ../../library/asyncio-eventloop.rst:1138 msgid "Working with pipes" msgstr "Trabalhando com encadeamentos" -#: ../../library/asyncio-eventloop.rst:1130 +#: ../../library/asyncio-eventloop.rst:1142 msgid "Register the read end of *pipe* in the event loop." msgstr "Registra o extremo da leitura de um *pipe* no laço de eventos." -#: ../../library/asyncio-eventloop.rst:1135 +#: ../../library/asyncio-eventloop.rst:1147 msgid "*pipe* is a :term:`file-like object `." msgstr "*pipe* é um :term:`objeto arquivo ou similar `." -#: ../../library/asyncio-eventloop.rst:1137 +#: ../../library/asyncio-eventloop.rst:1149 msgid "" -"Return pair ``(transport, protocol)``, where *transport* supports the :class:" -"`ReadTransport` interface and *protocol* is an object instantiated by the " -"*protocol_factory*." +"Return pair ``(transport, protocol)``, where *transport* supports " +"the :class:`ReadTransport` interface and *protocol* is an object " +"instantiated by the *protocol_factory*." msgstr "" "Retorna um par ``(transport, protocol)``, onde *transport* suporta a " "interface :class:`ReadTransport` e *protocol* é um objeto instanciado pelo " "*protocol_factory*." -#: ../../library/asyncio-eventloop.rst:1141 -#: ../../library/asyncio-eventloop.rst:1157 +#: ../../library/asyncio-eventloop.rst:1153 +#: ../../library/asyncio-eventloop.rst:1169 msgid "" "With :class:`SelectorEventLoop` event loop, the *pipe* is set to non-" "blocking mode." @@ -1798,47 +1810,47 @@ msgstr "" "Com o :class:`SelectorEventLoop` do laço de eventos, o *pipe* é definido " "para modo não bloqueante." -#: ../../library/asyncio-eventloop.rst:1146 +#: ../../library/asyncio-eventloop.rst:1158 msgid "Register the write end of *pipe* in the event loop." msgstr "Registra o extremo de escrita do *pipe* no laço de eventos." -#: ../../library/asyncio-eventloop.rst:1151 +#: ../../library/asyncio-eventloop.rst:1163 msgid "*pipe* is :term:`file-like object `." msgstr "*pipe* é um :term:`objeto arquivo ou similar `." -#: ../../library/asyncio-eventloop.rst:1153 +#: ../../library/asyncio-eventloop.rst:1165 msgid "" -"Return pair ``(transport, protocol)``, where *transport* supports :class:" -"`WriteTransport` interface and *protocol* is an object instantiated by the " -"*protocol_factory*." +"Return pair ``(transport, protocol)``, where *transport* " +"supports :class:`WriteTransport` interface and *protocol* is an object " +"instantiated by the *protocol_factory*." msgstr "" "Retorna um part ``(transport, protocol)``, onde *transport* suporta a " "interface :class:`WriteTransport` e *protocol* é um objeto instanciado pelo " "*protocol_factory*." -#: ../../library/asyncio-eventloop.rst:1162 +#: ../../library/asyncio-eventloop.rst:1174 msgid "" ":class:`SelectorEventLoop` does not support the above methods on Windows. " "Use :class:`ProactorEventLoop` instead for Windows." msgstr "" -":class:`SelectorEventLoop` não suporta os métodos acima no Windows. Use :" -"class:`ProactorEventLoop` ao invés para Windows." +":class:`SelectorEventLoop` não suporta os métodos acima no Windows. " +"Use :class:`ProactorEventLoop` ao invés para Windows." -#: ../../library/asyncio-eventloop.rst:1167 +#: ../../library/asyncio-eventloop.rst:1179 msgid "" "The :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` methods." msgstr "" "Os métodos :meth:`loop.subprocess_exec` e :meth:`loop.subprocess_shell`." -#: ../../library/asyncio-eventloop.rst:1172 +#: ../../library/asyncio-eventloop.rst:1184 msgid "Unix signals" msgstr "Sinais Unix" -#: ../../library/asyncio-eventloop.rst:1176 +#: ../../library/asyncio-eventloop.rst:1190 msgid "Set *callback* as the handler for the *signum* signal." msgstr "Define *callback* como o tratador para o sinal *signum*." -#: ../../library/asyncio-eventloop.rst:1178 +#: ../../library/asyncio-eventloop.rst:1192 msgid "" "The callback will be invoked by *loop*, along with other queued callbacks " "and runnable coroutines of that event loop. Unlike signal handlers " @@ -1851,7 +1863,7 @@ msgstr "" "uma função de retorno registrada com esta função tem autorização para " "interagir com o laço de eventos." -#: ../../library/asyncio-eventloop.rst:1183 +#: ../../library/asyncio-eventloop.rst:1197 msgid "" "Raise :exc:`ValueError` if the signal number is invalid or uncatchable. " "Raise :exc:`RuntimeError` if there is a problem setting up the handler." @@ -1860,18 +1872,18 @@ msgstr "" "capturar. Levanta :exc:`RuntimeError` se existe um problema definindo o " "tratador." -#: ../../library/asyncio-eventloop.rst:1189 +#: ../../library/asyncio-eventloop.rst:1203 msgid "" "Like :func:`signal.signal`, this function must be invoked in the main thread." msgstr "" "Assim como :func:`signal.signal`, esta função deve ser invocada na thread " "principal." -#: ../../library/asyncio-eventloop.rst:1194 +#: ../../library/asyncio-eventloop.rst:1208 msgid "Remove the handler for the *sig* signal." msgstr "Remove o tratador para o sinal *sig*." -#: ../../library/asyncio-eventloop.rst:1196 +#: ../../library/asyncio-eventloop.rst:1210 msgid "" "Return ``True`` if the signal handler was removed, or ``False`` if no " "handler was set for the given signal." @@ -1879,27 +1891,28 @@ msgstr "" "Retorna ``True`` se o tratador de sinal foi removido, ou ``False`` se nenhum " "tratador foi definido para o sinal fornecido." -#: ../../library/asyncio-eventloop.rst:1203 +#: ../../library/asyncio-eventloop.rst:1217 msgid "The :mod:`signal` module." msgstr "O módulo :mod:`signal`." -#: ../../library/asyncio-eventloop.rst:1207 +#: ../../library/asyncio-eventloop.rst:1221 msgid "Executing code in thread or process pools" msgstr "Executando código em conjuntos de threads ou processos" -#: ../../library/asyncio-eventloop.rst:1211 +#: ../../library/asyncio-eventloop.rst:1225 msgid "Arrange for *func* to be called in the specified executor." msgstr "Providencia para a *func* ser chamada no executor especificado." -#: ../../library/asyncio-eventloop.rst:1213 +#: ../../library/asyncio-eventloop.rst:1227 msgid "" "The *executor* argument should be an :class:`concurrent.futures.Executor` " "instance. The default executor is used if *executor* is ``None``." msgstr "" -"O argumento *executor* deve ser uma instância :class:`concurrent.futures." -"Executor`. O executor padrão é usado se *executor* for ``None``." +"O argumento *executor* deve ser uma " +"instância :class:`concurrent.futures.Executor`. O executor padrão é usado se " +"*executor* for ``None``." -#: ../../library/asyncio-eventloop.rst:1258 +#: ../../library/asyncio-eventloop.rst:1272 msgid "" "Note that the entry point guard (``if __name__ == '__main__'``) is required " "for option 3 due to the peculiarities of :mod:`multiprocessing`, which is " @@ -1907,11 +1920,11 @@ msgid "" "importing of main module `." msgstr "" -#: ../../library/asyncio-eventloop.rst:1263 +#: ../../library/asyncio-eventloop.rst:1277 msgid "This method returns a :class:`asyncio.Future` object." msgstr "Este método retorna um objeto :class:`asyncio.Future`." -#: ../../library/asyncio-eventloop.rst:1265 +#: ../../library/asyncio-eventloop.rst:1279 msgid "" "Use :func:`functools.partial` :ref:`to pass keyword arguments ` to *func*." @@ -1919,7 +1932,7 @@ msgstr "" "Use :func:`functools.partial` :ref:`para passar argumentos nomeados ` para *func*." -#: ../../library/asyncio-eventloop.rst:1268 +#: ../../library/asyncio-eventloop.rst:1282 msgid "" ":meth:`loop.run_in_executor` no longer configures the ``max_workers`` of the " "thread pool executor it creates, instead leaving it up to the thread pool " @@ -1928,35 +1941,35 @@ msgid "" msgstr "" ":meth:`loop.run_in_executor` não configura mais o atributo ``max_workers`` " "do executor do conjunto de thread que ele cria, ao invés disso ele deixa " -"para o executor do conjunto de thread (:class:`~concurrent.futures." -"ThreadPoolExecutor`) para setar o valor padrão." +"para o executor do conjunto de thread " +"(:class:`~concurrent.futures.ThreadPoolExecutor`) para setar o valor padrão." -#: ../../library/asyncio-eventloop.rst:1277 +#: ../../library/asyncio-eventloop.rst:1291 msgid "" "Set *executor* as the default executor used by :meth:`run_in_executor`. " -"*executor* must be an instance of :class:`~concurrent.futures." -"ThreadPoolExecutor`." +"*executor* must be an instance " +"of :class:`~concurrent.futures.ThreadPoolExecutor`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1281 +#: ../../library/asyncio-eventloop.rst:1295 msgid "" -"*executor* must be an instance of :class:`~concurrent.futures." -"ThreadPoolExecutor`." +"*executor* must be an instance " +"of :class:`~concurrent.futures.ThreadPoolExecutor`." msgstr "" -#: ../../library/asyncio-eventloop.rst:1287 +#: ../../library/asyncio-eventloop.rst:1301 msgid "Error Handling API" msgstr "Tratando erros da API" -#: ../../library/asyncio-eventloop.rst:1289 +#: ../../library/asyncio-eventloop.rst:1303 msgid "Allows customizing how exceptions are handled in the event loop." msgstr "Permite customizar como exceções são tratadas no laço de eventos." -#: ../../library/asyncio-eventloop.rst:1293 +#: ../../library/asyncio-eventloop.rst:1307 msgid "Set *handler* as the new event loop exception handler." msgstr "Define *handler* como o novo tratador de exceções do laço de eventos." -#: ../../library/asyncio-eventloop.rst:1295 +#: ../../library/asyncio-eventloop.rst:1309 msgid "" "If *handler* is ``None``, the default exception handler will be set. " "Otherwise, *handler* must be a callable with the signature matching ``(loop, " @@ -1971,7 +1984,7 @@ msgstr "" "(veja a documentação :meth:`call_exception_handler` para detalhes a respeito " "do contexto)." -#: ../../library/asyncio-eventloop.rst:1305 +#: ../../library/asyncio-eventloop.rst:1319 msgid "" "Return the current exception handler, or ``None`` if no custom exception " "handler was set." @@ -1979,11 +1992,11 @@ msgstr "" "Retorna o tratador de exceção atual, ou ``None`` se nenhum tratador de " "exceção customizado foi definido." -#: ../../library/asyncio-eventloop.rst:1312 +#: ../../library/asyncio-eventloop.rst:1326 msgid "Default exception handler." msgstr "Tratador de exceção padrão." -#: ../../library/asyncio-eventloop.rst:1314 +#: ../../library/asyncio-eventloop.rst:1328 msgid "" "This is called when an exception occurs and no exception handler is set. " "This can be called by a custom exception handler that wants to defer to the " @@ -1993,19 +2006,19 @@ msgstr "" "definido. Isso pode ser chamado por um tratador de exceção customizado que " "quer passar adiante para o comportamento do tratador padrão." -#: ../../library/asyncio-eventloop.rst:1318 +#: ../../library/asyncio-eventloop.rst:1332 msgid "" -"*context* parameter has the same meaning as in :meth:" -"`call_exception_handler`." +"*context* parameter has the same meaning as " +"in :meth:`call_exception_handler`." msgstr "" -"parâmetro *context* tem o mesmo significado que em :meth:" -"`call_exception_handler`." +"parâmetro *context* tem o mesmo significado que " +"em :meth:`call_exception_handler`." -#: ../../library/asyncio-eventloop.rst:1323 +#: ../../library/asyncio-eventloop.rst:1337 msgid "Call the current event loop exception handler." msgstr "Chama o tratador de exceção do laço de eventos atual." -#: ../../library/asyncio-eventloop.rst:1325 +#: ../../library/asyncio-eventloop.rst:1339 msgid "" "*context* is a ``dict`` object containing the following keys (new keys may " "be introduced in future Python versions):" @@ -2013,79 +2026,80 @@ msgstr "" "*context* é um objeto ``dict`` contendo as seguintes chaves (novas chaves " "podem ser introduzidas em versões futuras do Python):" -#: ../../library/asyncio-eventloop.rst:1328 +#: ../../library/asyncio-eventloop.rst:1342 msgid "'message': Error message;" msgstr "'message': Mensagem de erro;" -#: ../../library/asyncio-eventloop.rst:1329 +#: ../../library/asyncio-eventloop.rst:1343 msgid "'exception' (optional): Exception object;" msgstr "'exception' (opcional): Objeto Exception;" -#: ../../library/asyncio-eventloop.rst:1330 +#: ../../library/asyncio-eventloop.rst:1344 msgid "'future' (optional): :class:`asyncio.Future` instance;" msgstr "'future' (opcional): instância de :class:`asyncio.Future`;" -#: ../../library/asyncio-eventloop.rst:1331 +#: ../../library/asyncio-eventloop.rst:1345 msgid "'task' (optional): :class:`asyncio.Task` instance;" msgstr "'task' (opcional): instância de :class:`asyncio.Task`;" -#: ../../library/asyncio-eventloop.rst:1332 +#: ../../library/asyncio-eventloop.rst:1346 msgid "'handle' (optional): :class:`asyncio.Handle` instance;" msgstr "'handle' (opcional): instância de :class:`asyncio.Handle`;" -#: ../../library/asyncio-eventloop.rst:1333 +#: ../../library/asyncio-eventloop.rst:1347 msgid "'protocol' (optional): :ref:`Protocol ` instance;" msgstr "" "'protocol' (opcional): instância de :ref:`Protocol `;" -#: ../../library/asyncio-eventloop.rst:1334 +#: ../../library/asyncio-eventloop.rst:1348 msgid "'transport' (optional): :ref:`Transport ` instance;" msgstr "" "'transport' (opcional): instância de :ref:`Transport `;" -#: ../../library/asyncio-eventloop.rst:1335 +#: ../../library/asyncio-eventloop.rst:1349 msgid "'socket' (optional): :class:`socket.socket` instance;" msgstr "'socket' (opcional): instância de :class:`socket.socket`;" -#: ../../library/asyncio-eventloop.rst:1337 +#: ../../library/asyncio-eventloop.rst:1351 msgid "'asyncgen' (optional): Asynchronous generator that caused" msgstr "'asyncgen' (opcional): Gerador assíncrono que causou" -#: ../../library/asyncio-eventloop.rst:1337 +#: ../../library/asyncio-eventloop.rst:1351 msgid "the exception." msgstr "a exceção." -#: ../../library/asyncio-eventloop.rst:1341 +#: ../../library/asyncio-eventloop.rst:1355 msgid "" "This method should not be overloaded in subclassed event loops. For custom " "exception handling, use the :meth:`set_exception_handler()` method." msgstr "" "Este método não deve ser substituído em subclasses de laços de evento. Para " -"tratamento de exceções customizadas, use o método :meth:" -"`set_exception_handler()`." +"tratamento de exceções customizadas, use o " +"método :meth:`set_exception_handler()`." -#: ../../library/asyncio-eventloop.rst:1346 +#: ../../library/asyncio-eventloop.rst:1360 msgid "Enabling debug mode" msgstr "Habilitando o modo de debug" -#: ../../library/asyncio-eventloop.rst:1350 +#: ../../library/asyncio-eventloop.rst:1364 msgid "Get the debug mode (:class:`bool`) of the event loop." msgstr "Obtém o modo de debug (:class:`bool`) do laço de eventos." -#: ../../library/asyncio-eventloop.rst:1352 +#: ../../library/asyncio-eventloop.rst:1366 msgid "" -"The default value is ``True`` if the environment variable :envvar:" -"`PYTHONASYNCIODEBUG` is set to a non-empty string, ``False`` otherwise." +"The default value is ``True`` if the environment " +"variable :envvar:`PYTHONASYNCIODEBUG` is set to a non-empty string, " +"``False`` otherwise." msgstr "" -"O valor padrão é ``True`` se a variável de ambiente :envvar:" -"`PYTHONASYNCIODEBUG` estiver definida para uma string não vazia, ``False`` " -"caso contrário." +"O valor padrão é ``True`` se a variável de " +"ambiente :envvar:`PYTHONASYNCIODEBUG` estiver definida para uma string não " +"vazia, ``False`` caso contrário." -#: ../../library/asyncio-eventloop.rst:1358 +#: ../../library/asyncio-eventloop.rst:1372 msgid "Set the debug mode of the event loop." msgstr "Define o modo de debug do laço de eventos." -#: ../../library/asyncio-eventloop.rst:1362 +#: ../../library/asyncio-eventloop.rst:1376 msgid "" "The new :ref:`Python Development Mode ` can now also be used to " "enable the debug mode." @@ -2093,52 +2107,64 @@ msgstr "" "O novo :ref:`Modo de Desenvolvimento do Python ` agora também pode " "ser usado para habilitar o modo de debug." -#: ../../library/asyncio-eventloop.rst:1367 +#: ../../library/asyncio-eventloop.rst:1381 +msgid "" +"This attribute can be used to set the minimum execution duration in seconds " +"that is considered \"slow\". When debug mode is enabled, \"slow\" callbacks " +"are logged." +msgstr "" + +#: ../../library/asyncio-eventloop.rst:1385 +msgid "Default value is 100 milliseconds." +msgstr "" + +#: ../../library/asyncio-eventloop.rst:1389 msgid "The :ref:`debug mode of asyncio `." msgstr "O :ref:`modo de debug de asyncio `." -#: ../../library/asyncio-eventloop.rst:1371 +#: ../../library/asyncio-eventloop.rst:1393 msgid "Running Subprocesses" msgstr "Executando Subprocessos" -#: ../../library/asyncio-eventloop.rst:1373 +#: ../../library/asyncio-eventloop.rst:1395 msgid "" "Methods described in this subsections are low-level. In regular async/await " "code consider using the high-level :func:`asyncio.create_subprocess_shell` " "and :func:`asyncio.create_subprocess_exec` convenience functions instead." msgstr "" "Métodos descritos nestas sub-seções são de baixo nível. Em código async/" -"await regular, considere usar as funções convenientes de alto nível :func:" -"`asyncio.create_subprocess_shell` e :func:`asyncio.create_subprocess_exec` " -"ao invés." +"await regular, considere usar as funções convenientes de alto " +"nível :func:`asyncio.create_subprocess_shell` " +"e :func:`asyncio.create_subprocess_exec` ao invés." -#: ../../library/asyncio-eventloop.rst:1380 +#: ../../library/asyncio-eventloop.rst:1402 msgid "" "On Windows, the default event loop :class:`ProactorEventLoop` supports " -"subprocesses, whereas :class:`SelectorEventLoop` does not. See :ref:" -"`Subprocess Support on Windows ` for details." +"subprocesses, whereas :class:`SelectorEventLoop` does not. " +"See :ref:`Subprocess Support on Windows ` for " +"details." msgstr "" "No Windows, o laço de eventos padrão :class:`ProactorEventLoop` oferece " -"suporte pra subprocessos, enquanto :class:`SelectorEventLoop`, não. Veja :" -"ref:`Suporte para subprocessos no Windows ` para " -"detalhes." +"suporte pra subprocessos, enquanto :class:`SelectorEventLoop`, não. " +"Veja :ref:`Suporte para subprocessos no Windows ` para detalhes." -#: ../../library/asyncio-eventloop.rst:1389 +#: ../../library/asyncio-eventloop.rst:1413 msgid "" "Create a subprocess from one or more string arguments specified by *args*." msgstr "" "Cria um subprocesso a partir de um ou mais argumentos de string " "especificados por *args*." -#: ../../library/asyncio-eventloop.rst:1392 +#: ../../library/asyncio-eventloop.rst:1416 msgid "*args* must be a list of strings represented by:" msgstr "*args* deve ser uma lista de strings representada por:" -#: ../../library/asyncio-eventloop.rst:1394 +#: ../../library/asyncio-eventloop.rst:1418 msgid ":class:`str`;" msgstr ":class:`str`;" -#: ../../library/asyncio-eventloop.rst:1395 +#: ../../library/asyncio-eventloop.rst:1419 msgid "" "or :class:`bytes`, encoded to the :ref:`filesystem encoding `." @@ -2146,7 +2172,7 @@ msgstr "" "ou :class:`bytes`, encodados na :ref:`codificação do sistema de arquivos " "`." -#: ../../library/asyncio-eventloop.rst:1398 +#: ../../library/asyncio-eventloop.rst:1422 msgid "" "The first string specifies the program executable, and the remaining strings " "specify the arguments. Together, string arguments form the ``argv`` of the " @@ -2156,7 +2182,7 @@ msgstr "" "remanescentes especificam os argumentos. Juntas, argumentos em string formam " "o ``argv`` do programa." -#: ../../library/asyncio-eventloop.rst:1402 +#: ../../library/asyncio-eventloop.rst:1426 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=False`` and the list of strings passed as the first " @@ -2169,34 +2195,34 @@ msgstr "" "argumento no qual é uma lista de strings, *subprocess_exec* recebe múltiplos " "argumentos string." -#: ../../library/asyncio-eventloop.rst:1408 +#: ../../library/asyncio-eventloop.rst:1432 msgid "" -"The *protocol_factory* must be a callable returning a subclass of the :class:" -"`asyncio.SubprocessProtocol` class." +"The *protocol_factory* must be a callable returning a subclass of " +"the :class:`asyncio.SubprocessProtocol` class." msgstr "" "O *protocol_factory* deve ser um chamável que retorne uma subclasse da " "classe :class:`asyncio.SubprocessProtocol`." -#: ../../library/asyncio-eventloop.rst:1411 +#: ../../library/asyncio-eventloop.rst:1435 msgid "Other parameters:" msgstr "Outros parâmetros:" -#: ../../library/asyncio-eventloop.rst:1413 +#: ../../library/asyncio-eventloop.rst:1437 msgid "*stdin* can be any of these:" msgstr "*stdin* pode ser qualquer um destes:" -#: ../../library/asyncio-eventloop.rst:1415 +#: ../../library/asyncio-eventloop.rst:1439 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard input stream using :meth:`~loop.connect_write_pipe`" msgstr "" "um objeto arquivo ou similar representando um encadeamento para ser " -"conectado ao stream de entrada padrão do subprocesso usando :meth:`~loop." -"connect_write_pipe`" +"conectado ao stream de entrada padrão do subprocesso " +"usando :meth:`~loop.connect_write_pipe`" -#: ../../library/asyncio-eventloop.rst:1418 -#: ../../library/asyncio-eventloop.rst:1430 #: ../../library/asyncio-eventloop.rst:1442 +#: ../../library/asyncio-eventloop.rst:1454 +#: ../../library/asyncio-eventloop.rst:1466 msgid "" "the :const:`subprocess.PIPE` constant (default) which will create a new pipe " "and connect it," @@ -2204,9 +2230,9 @@ msgstr "" "a constante :const:`subprocess.PIPE` (padrão), a qual criará um novo " "encadeamento e conectar a ele," -#: ../../library/asyncio-eventloop.rst:1420 -#: ../../library/asyncio-eventloop.rst:1432 #: ../../library/asyncio-eventloop.rst:1444 +#: ../../library/asyncio-eventloop.rst:1456 +#: ../../library/asyncio-eventloop.rst:1468 msgid "" "the value ``None`` which will make the subprocess inherit the file " "descriptor from this process" @@ -2214,43 +2240,43 @@ msgstr "" "o valor ``None``, o qual fará o subprocesso herdar o descritor de arquivo " "deste processo" -#: ../../library/asyncio-eventloop.rst:1422 -#: ../../library/asyncio-eventloop.rst:1434 #: ../../library/asyncio-eventloop.rst:1446 +#: ../../library/asyncio-eventloop.rst:1458 +#: ../../library/asyncio-eventloop.rst:1470 msgid "" -"the :const:`subprocess.DEVNULL` constant which indicates that the special :" -"data:`os.devnull` file will be used" +"the :const:`subprocess.DEVNULL` constant which indicates that the " +"special :data:`os.devnull` file will be used" msgstr "" "a constante :const:`subprocess.DEVNULL`, a qual indica que o arquivo " "especial :data:`os.devnull` será usado" -#: ../../library/asyncio-eventloop.rst:1425 +#: ../../library/asyncio-eventloop.rst:1449 msgid "*stdout* can be any of these:" msgstr "*stdout* pode ser qualquer um destes:" -#: ../../library/asyncio-eventloop.rst:1427 +#: ../../library/asyncio-eventloop.rst:1451 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard output stream using :meth:`~loop.connect_write_pipe`" msgstr "" "um objeto arquivo ou similar representando um encadeamento para ser " -"conectado ao stream de saída padrão do subprocesso usando :meth:`~loop." -"connect_write_pipe`" +"conectado ao stream de saída padrão do subprocesso " +"usando :meth:`~loop.connect_write_pipe`" -#: ../../library/asyncio-eventloop.rst:1437 +#: ../../library/asyncio-eventloop.rst:1461 msgid "*stderr* can be any of these:" msgstr "*stderr* pode ser qualquer um destes:" -#: ../../library/asyncio-eventloop.rst:1439 +#: ../../library/asyncio-eventloop.rst:1463 msgid "" "a file-like object representing a pipe to be connected to the subprocess's " "standard error stream using :meth:`~loop.connect_write_pipe`" msgstr "" "um objeto arquivo ou similar representando um encadeamento para ser " -"conectado ao stream de erro padrão do subprocesso usando :meth:`~loop." -"connect_write_pipe`" +"conectado ao stream de erro padrão do subprocesso " +"usando :meth:`~loop.connect_write_pipe`" -#: ../../library/asyncio-eventloop.rst:1448 +#: ../../library/asyncio-eventloop.rst:1472 msgid "" "the :const:`subprocess.STDOUT` constant which will connect the standard " "error stream to the process' standard output stream" @@ -2258,18 +2284,18 @@ msgstr "" "a constante :const:`subprocess.STDOUT`, a qual irá conectar o stream de erro " "padrão ao stream de saída padrão do processo" -#: ../../library/asyncio-eventloop.rst:1451 +#: ../../library/asyncio-eventloop.rst:1475 msgid "" "All other keyword arguments are passed to :class:`subprocess.Popen` without " "interpretation, except for *bufsize*, *universal_newlines*, *shell*, *text*, " "*encoding* and *errors*, which should not be specified at all." msgstr "" -"Todos os outros argumentos nomeados são passados para :class:`subprocess." -"Popen` sem interpretação, exceto *bufsize*, *universal_newlines*, *shell*, " -"*text*, *encoding* e *errors*, os quais não devem ser especificados de forma " -"alguma." +"Todos os outros argumentos nomeados são passados " +"para :class:`subprocess.Popen` sem interpretação, exceto *bufsize*, " +"*universal_newlines*, *shell*, *text*, *encoding* e *errors*, os quais não " +"devem ser especificados de forma alguma." -#: ../../library/asyncio-eventloop.rst:1456 +#: ../../library/asyncio-eventloop.rst:1480 msgid "" "The ``asyncio`` subprocess API does not support decoding the streams as " "text. :func:`bytes.decode` can be used to convert the bytes returned from " @@ -2279,7 +2305,7 @@ msgstr "" "texto. :func:`bytes.decode` pode ser usado para converter os bytes " "retornados do stream para texto." -#: ../../library/asyncio-eventloop.rst:1460 +#: ../../library/asyncio-eventloop.rst:1484 msgid "" "See the constructor of the :class:`subprocess.Popen` class for documentation " "on other arguments." @@ -2287,7 +2313,7 @@ msgstr "" "Veja o construtor da classe :class:`subprocess.Popen` para documentação " "sobre outros argumentos." -#: ../../library/asyncio-eventloop.rst:1463 +#: ../../library/asyncio-eventloop.rst:1487 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`asyncio.SubprocessTransport` base class and *protocol* is an " @@ -2297,33 +2323,33 @@ msgstr "" "classe base :class:`asyncio.SubprocessTransport` e *protocol* é um objeto " "instanciado pelo *protocol_factory*." -#: ../../library/asyncio-eventloop.rst:1471 +#: ../../library/asyncio-eventloop.rst:1495 msgid "" -"Create a subprocess from *cmd*, which can be a :class:`str` or a :class:" -"`bytes` string encoded to the :ref:`filesystem encoding `, using the platform's \"shell\" syntax." msgstr "" "Cria um subprocesso a partir do *cmd*, o qual pode ser um :class:`str` ou " "uma string de :class:`bytes` codificada na :ref:`codificação do sistema de " "arquivos `, usando a sintaxe \"shell\" da plataforma." -#: ../../library/asyncio-eventloop.rst:1476 +#: ../../library/asyncio-eventloop.rst:1500 msgid "" "This is similar to the standard library :class:`subprocess.Popen` class " "called with ``shell=True``." msgstr "" "Isto é similar a classe :class:`subprocess.Popen` da biblioteca padrão sendo " -"chanada com ``shell=True``." +"chamada com ``shell=True``." -#: ../../library/asyncio-eventloop.rst:1479 +#: ../../library/asyncio-eventloop.rst:1503 msgid "" -"The *protocol_factory* must be a callable returning a subclass of the :class:" -"`SubprocessProtocol` class." +"The *protocol_factory* must be a callable returning a subclass of " +"the :class:`SubprocessProtocol` class." msgstr "" "O argumento *protocol_factory* deve ser um chamável que retorna uma " "subclasse da classe :class:`SubprocessProtocol`." -#: ../../library/asyncio-eventloop.rst:1482 +#: ../../library/asyncio-eventloop.rst:1506 msgid "" "See :meth:`~loop.subprocess_exec` for more details about the remaining " "arguments." @@ -2331,7 +2357,7 @@ msgstr "" "Veja :meth:`~loop.subprocess_exec` para mais detalhes sobre os argumentos " "remanescentes." -#: ../../library/asyncio-eventloop.rst:1485 +#: ../../library/asyncio-eventloop.rst:1509 msgid "" "Returns a pair of ``(transport, protocol)``, where *transport* conforms to " "the :class:`SubprocessTransport` base class and *protocol* is an object " @@ -2341,7 +2367,7 @@ msgstr "" "classe base :class:`SubprocessTransport` e *protocol* é um objeto " "instanciado pelo *protocol_factory*." -#: ../../library/asyncio-eventloop.rst:1490 +#: ../../library/asyncio-eventloop.rst:1514 msgid "" "It is the application's responsibility to ensure that all whitespace and " "special characters are quoted appropriately to avoid `shell injection " @@ -2357,19 +2383,19 @@ msgstr "" "usada para escapar espaços em branco e caracteres especiais apropriadamente " "em strings que serão usadas para construir comandos shell." -#: ../../library/asyncio-eventloop.rst:1499 +#: ../../library/asyncio-eventloop.rst:1523 msgid "Callback Handles" msgstr "Tratadores de função de retorno" -#: ../../library/asyncio-eventloop.rst:1503 +#: ../../library/asyncio-eventloop.rst:1527 msgid "" -"A callback wrapper object returned by :meth:`loop.call_soon`, :meth:`loop." -"call_soon_threadsafe`." +"A callback wrapper object returned " +"by :meth:`loop.call_soon`, :meth:`loop.call_soon_threadsafe`." msgstr "" -"Um objeto empacotador de função de retorno retornado por :meth:`loop." -"call_soon`, :meth:`loop.call_soon_threadsafe`." +"Um objeto invólucro de função de retorno retornado " +"por :meth:`loop.call_soon`, :meth:`loop.call_soon_threadsafe`." -#: ../../library/asyncio-eventloop.rst:1508 +#: ../../library/asyncio-eventloop.rst:1532 msgid "" "Cancel the callback. If the callback has already been canceled or executed, " "this method has no effect." @@ -2377,54 +2403,55 @@ msgstr "" "Cancela a função de retorno. Se a função de retorno já tiver sido cancelada " "ou executada, este método não tem efeito." -#: ../../library/asyncio-eventloop.rst:1513 +#: ../../library/asyncio-eventloop.rst:1537 msgid "Return ``True`` if the callback was cancelled." msgstr "Retorna ``True`` se a função de retorno foi cancelada." -#: ../../library/asyncio-eventloop.rst:1519 +#: ../../library/asyncio-eventloop.rst:1543 msgid "" -"A callback wrapper object returned by :meth:`loop.call_later`, and :meth:" -"`loop.call_at`." +"A callback wrapper object returned by :meth:`loop.call_later`, " +"and :meth:`loop.call_at`." msgstr "" -"Um objeto empacotador de função de retorno retornado por :meth:`loop." -"call_later`, e :meth:`loop.call_at`." +"Um objeto invólucro de função de retorno retornado " +"por :meth:`loop.call_later`, e :meth:`loop.call_at`." -#: ../../library/asyncio-eventloop.rst:1522 +#: ../../library/asyncio-eventloop.rst:1546 msgid "This class is a subclass of :class:`Handle`." msgstr "Esta classe é uma subclasse de :class:`Handle`." -#: ../../library/asyncio-eventloop.rst:1526 +#: ../../library/asyncio-eventloop.rst:1550 msgid "Return a scheduled callback time as :class:`float` seconds." msgstr "" "Retorna o tempo de uma função de retorno agendada como :class:`float` " "segundos." -#: ../../library/asyncio-eventloop.rst:1528 +#: ../../library/asyncio-eventloop.rst:1552 msgid "" -"The time is an absolute timestamp, using the same time reference as :meth:" -"`loop.time`." +"The time is an absolute timestamp, using the same time reference " +"as :meth:`loop.time`." msgstr "" -"O tempo é um timestamp absoluto, usando a mesma referência de tempo que :" -"meth:`loop.time`." +"O tempo é um timestamp absoluto, usando a mesma referência de tempo " +"que :meth:`loop.time`." -#: ../../library/asyncio-eventloop.rst:1535 +#: ../../library/asyncio-eventloop.rst:1559 msgid "Server Objects" msgstr "Objetos Server" -#: ../../library/asyncio-eventloop.rst:1537 +#: ../../library/asyncio-eventloop.rst:1561 msgid "" -"Server objects are created by :meth:`loop.create_server`, :meth:`loop." -"create_unix_server`, :func:`start_server`, and :func:`start_unix_server` " -"functions." +"Server objects are created " +"by :meth:`loop.create_server`, :meth:`loop.create_unix_server`, :func:`start_server`, " +"and :func:`start_unix_server` functions." msgstr "" -"Objetos Server são criados pelas funções :meth:`loop.create_server`, :meth:" -"`loop.create_unix_server`, :func:`start_server`, e :func:`start_unix_server`." +"Objetos Server são criados pelas " +"funções :meth:`loop.create_server`, :meth:`loop.create_unix_server`, :func:`start_server`, " +"e :func:`start_unix_server`." -#: ../../library/asyncio-eventloop.rst:1541 +#: ../../library/asyncio-eventloop.rst:1565 msgid "Do not instantiate the :class:`Server` class directly." msgstr "" -#: ../../library/asyncio-eventloop.rst:1545 +#: ../../library/asyncio-eventloop.rst:1569 msgid "" "*Server* objects are asynchronous context managers. When used in an ``async " "with`` statement, it's guaranteed that the Server object is closed and not " @@ -2435,20 +2462,26 @@ msgstr "" "não está aceitando novas conexões quando a instrução ``async with`` estiver " "completa::" -#: ../../library/asyncio-eventloop.rst:1558 +#: ../../library/asyncio-eventloop.rst:1582 msgid "Server object is an asynchronous context manager since Python 3.7." msgstr "" "Objeto Server é um gerenciador de contexto assíncrono desde o Python 3.7." -#: ../../library/asyncio-eventloop.rst:1563 +#: ../../library/asyncio-eventloop.rst:1585 +msgid "" +"This class was exposed publicly as ``asyncio.Server`` in Python 3.9.11, " +"3.10.3 and 3.11." +msgstr "" + +#: ../../library/asyncio-eventloop.rst:1590 msgid "" "Stop serving: close listening sockets and set the :attr:`sockets` attribute " "to ``None``." msgstr "" -"Para de servir: fecha soquetes que estavam ouvindo e define o atributo :attr:" -"`sockets` para ``None``." +"Para de servir: fecha soquetes que estavam ouvindo e define o " +"atributo :attr:`sockets` para ``None``." -#: ../../library/asyncio-eventloop.rst:1566 +#: ../../library/asyncio-eventloop.rst:1593 msgid "" "The sockets that represent existing incoming client connections are left " "open." @@ -2456,29 +2489,30 @@ msgstr "" "Os soquetes que representam conexões de clientes existentes que estão " "chegando são deixados em aberto." -#: ../../library/asyncio-eventloop.rst:1569 +#: ../../library/asyncio-eventloop.rst:1596 msgid "" "The server is closed asynchronously, use the :meth:`wait_closed` coroutine " "to wait until the server is closed." msgstr "" -"O servidor é fechado de forma assíncrona, use a corrotina :meth:" -"`wait_closed` para aguartar até que o servidor esteja fechado." +"O servidor é fechado de forma assíncrona, use a " +"corrotina :meth:`wait_closed` para aguartar até que o servidor esteja " +"fechado." -#: ../../library/asyncio-eventloop.rst:1574 +#: ../../library/asyncio-eventloop.rst:1601 msgid "Return the event loop associated with the server object." msgstr "Retorna o laço de eventos associado com o objeto server." -#: ../../library/asyncio-eventloop.rst:1580 +#: ../../library/asyncio-eventloop.rst:1607 msgid "Start accepting connections." msgstr "Começa a aceitar conexões." -#: ../../library/asyncio-eventloop.rst:1582 +#: ../../library/asyncio-eventloop.rst:1609 msgid "" "This method is idempotent, so it can be called when the server is already " "serving." msgstr "" -#: ../../library/asyncio-eventloop.rst:1585 +#: ../../library/asyncio-eventloop.rst:1612 msgid "" "The *start_serving* keyword-only parameter to :meth:`loop.create_server` " "and :meth:`asyncio.start_server` allows creating a Server object that is not " @@ -2488,11 +2522,11 @@ msgid "" msgstr "" "O parâmetro somente-nomeado *start_serving* para :meth:`loop.create_server` " "e :meth:`asyncio.start_server` permite criar um objeto Server que não está " -"aceitando conexões inicialmente. Neste caso ``Server.start_serving()``, ou :" -"meth:`Server.serve_forever` podem ser usados para fazer o Server começar a " -"aceitar conexões." +"aceitando conexões inicialmente. Neste caso ``Server.start_serving()``, " +"ou :meth:`Server.serve_forever` podem ser usados para fazer o Server começar " +"a aceitar conexões." -#: ../../library/asyncio-eventloop.rst:1596 +#: ../../library/asyncio-eventloop.rst:1623 msgid "" "Start accepting connections until the coroutine is cancelled. Cancellation " "of ``serve_forever`` task causes the server to be closed." @@ -2500,7 +2534,7 @@ msgstr "" "Começa a aceitar conexões até que a corrotina seja cancelada. Cancelamento " "da task ``serve_forever`` causa o fechamento do servidor." -#: ../../library/asyncio-eventloop.rst:1600 +#: ../../library/asyncio-eventloop.rst:1627 msgid "" "This method can be called if the server is already accepting connections. " "Only one ``serve_forever`` task can exist per one *Server* object." @@ -2508,21 +2542,21 @@ msgstr "" "Este método pode ser chamado se o servidor já estiver aceitando conexões. " "Apenas uma task ``serve_forever`` pode existir para cada objeto *Server*." -#: ../../library/asyncio-eventloop.rst:1622 +#: ../../library/asyncio-eventloop.rst:1649 msgid "Return ``True`` if the server is accepting new connections." msgstr "Retorna ``True`` se o servidor estiver aceitando novas conexões." -#: ../../library/asyncio-eventloop.rst:1628 +#: ../../library/asyncio-eventloop.rst:1655 msgid "Wait until the :meth:`close` method completes." msgstr "Aguarda até o método :meth:`close` completar." -#: ../../library/asyncio-eventloop.rst:1632 +#: ../../library/asyncio-eventloop.rst:1659 msgid "" "List of socket-like objects, ``asyncio.trsock.TransportSocket``, which the " "server is listening on." msgstr "" -#: ../../library/asyncio-eventloop.rst:1635 +#: ../../library/asyncio-eventloop.rst:1662 msgid "" "Prior to Python 3.7 ``Server.sockets`` used to return an internal list of " "server sockets directly. In 3.7 a copy of that list is returned." @@ -2531,19 +2565,19 @@ msgstr "" "interna de soquetes do server diretamente. No uma cópia dessa lista é " "retornada." -#: ../../library/asyncio-eventloop.rst:1645 +#: ../../library/asyncio-eventloop.rst:1672 msgid "Event Loop Implementations" msgstr "Implementações do Laço de Eventos" -#: ../../library/asyncio-eventloop.rst:1647 +#: ../../library/asyncio-eventloop.rst:1674 msgid "" -"asyncio ships with two different event loop implementations: :class:" -"`SelectorEventLoop` and :class:`ProactorEventLoop`." +"asyncio ships with two different event loop " +"implementations: :class:`SelectorEventLoop` and :class:`ProactorEventLoop`." msgstr "" -"asyncio vem com duas implementações de laço de eventos diferente: :class:" -"`SelectorEventLoop` e :class:`ProactorEventLoop`." +"asyncio vem com duas implementações de laço de eventos " +"diferente: :class:`SelectorEventLoop` e :class:`ProactorEventLoop`." -#: ../../library/asyncio-eventloop.rst:1650 +#: ../../library/asyncio-eventloop.rst:1677 msgid "" "By default asyncio is configured to use :class:`SelectorEventLoop` on Unix " "and :class:`ProactorEventLoop` on Windows." @@ -2551,11 +2585,11 @@ msgstr "" "Por padrão asyncio está configurado para usar :class:`SelectorEventLoop` no " "Unix e :class:`ProactorEventLoop` no Windows." -#: ../../library/asyncio-eventloop.rst:1656 +#: ../../library/asyncio-eventloop.rst:1683 msgid "An event loop based on the :mod:`selectors` module." msgstr "Um laço de eventos baseado no módulo :mod:`selectors`." -#: ../../library/asyncio-eventloop.rst:1658 +#: ../../library/asyncio-eventloop.rst:1685 msgid "" "Uses the most efficient *selector* available for the given platform. It is " "also possible to manually configure the exact selector implementation to be " @@ -2565,59 +2599,60 @@ msgstr "" "Também é possível configurar manualmente a implementação exata do seletor a " "ser utilizada::" -#: ../../library/asyncio-eventloop.rst:1673 +#: ../../library/asyncio-eventloop.rst:1700 msgid ":ref:`Availability `: Unix, Windows." -msgstr ":ref:`Disponibilidade`: Unix, Windows." +msgstr ":ref:`Disponibilidade `: Unix, Windows." -#: ../../library/asyncio-eventloop.rst:1678 +#: ../../library/asyncio-eventloop.rst:1705 msgid "An event loop for Windows that uses \"I/O Completion Ports\" (IOCP)." msgstr "" "Um laço de eventos para Windows que usa \"Conclusão de Portas I/O\" (IOCP)." -#: ../../library/asyncio-eventloop.rst:1680 +#: ../../library/asyncio-eventloop.rst:1707 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." -#: ../../library/asyncio-eventloop.rst:1684 +#: ../../library/asyncio-eventloop.rst:1711 msgid "" "`MSDN documentation on I/O Completion Ports `_." msgstr "" -"`Documentação da MSDN sobre conclusão de portas I/O `_." +"`Documentação da MSDN sobre conclusão de portas I/O `_." -#: ../../library/asyncio-eventloop.rst:1690 +#: ../../library/asyncio-eventloop.rst:1717 msgid "Abstract base class for asyncio-compliant event loops." msgstr "Classe base abstrata para laços de eventos compatíveis com asyncio." -#: ../../library/asyncio-eventloop.rst:1692 +#: ../../library/asyncio-eventloop.rst:1719 msgid "" "The :ref:`asyncio-event-loop-methods` section lists all methods that an " "alternative implementation of ``AbstractEventLoop`` should have defined." msgstr "" -#: ../../library/asyncio-eventloop.rst:1698 +#: ../../library/asyncio-eventloop.rst:1725 msgid "Examples" msgstr "Exemplos" -#: ../../library/asyncio-eventloop.rst:1700 +#: ../../library/asyncio-eventloop.rst:1727 msgid "" "Note that all examples in this section **purposefully** show how to use the " -"low-level event loop APIs, such as :meth:`loop.run_forever` and :meth:`loop." -"call_soon`. Modern asyncio applications rarely need to be written this way; " -"consider using the high-level functions like :func:`asyncio.run`." +"low-level event loop APIs, such as :meth:`loop.run_forever` " +"and :meth:`loop.call_soon`. Modern asyncio applications rarely need to be " +"written this way; consider using the high-level functions " +"like :func:`asyncio.run`." msgstr "" "Perceba que todos os exemplos nesta seção **propositalmente** mostram como " -"usar as APIs de baixo nível do laço de eventos, tais como :meth:`loop." -"run_forever` e :meth:`loop.call_soon`. Aplicações asyncio modernas raramente " -"precisam ser escritas desta forma; considere usar as funções de alto nível " -"como :func:`asyncio.run`." +"usar as APIs de baixo nível do laço de eventos, tais " +"como :meth:`loop.run_forever` e :meth:`loop.call_soon`. Aplicações asyncio " +"modernas raramente precisam ser escritas desta forma; considere usar as " +"funções de alto nível como :func:`asyncio.run`." -#: ../../library/asyncio-eventloop.rst:1710 +#: ../../library/asyncio-eventloop.rst:1737 msgid "Hello World with call_soon()" msgstr "Hello World com call_soon()" -#: ../../library/asyncio-eventloop.rst:1712 +#: ../../library/asyncio-eventloop.rst:1739 msgid "" "An example using the :meth:`loop.call_soon` method to schedule a callback. " "The callback displays ``\"Hello World\"`` and then stops the event loop::" @@ -2626,7 +2661,7 @@ msgstr "" "retorno. A função de retorno exibe ``\"Hello World\"`` e então para o laço " "de eventos::" -#: ../../library/asyncio-eventloop.rst:1736 +#: ../../library/asyncio-eventloop.rst:1763 msgid "" "A similar :ref:`Hello World ` example created with a coroutine " "and the :func:`run` function." @@ -2634,11 +2669,11 @@ msgstr "" "Um exemplo similar a :ref:`Hello World ` criado com uma corrotina " "e a função :func:`run`." -#: ../../library/asyncio-eventloop.rst:1743 +#: ../../library/asyncio-eventloop.rst:1770 msgid "Display the current date with call_later()" msgstr "Exibe a data atual com call_later()" -#: ../../library/asyncio-eventloop.rst:1745 +#: ../../library/asyncio-eventloop.rst:1772 msgid "" "An example of a callback displaying the current date every second. The " "callback uses the :meth:`loop.call_later` method to reschedule itself after " @@ -2648,7 +2683,7 @@ msgstr "" "função de retorno usa o método :meth:`loop.call_later` para reagendar a si " "mesma depois de 5 segundos, e então para o laço de eventos::" -#: ../../library/asyncio-eventloop.rst:1773 +#: ../../library/asyncio-eventloop.rst:1800 msgid "" "A similar :ref:`current date ` example created with a " "coroutine and the :func:`run` function." @@ -2656,19 +2691,19 @@ msgstr "" "Um exemplo similar a :ref:`data atual ` criado com " "uma corrotina e a função :func:`run`." -#: ../../library/asyncio-eventloop.rst:1780 +#: ../../library/asyncio-eventloop.rst:1807 msgid "Watch a file descriptor for read events" msgstr "Observa um descritor de arquivo por eventos de leitura" -#: ../../library/asyncio-eventloop.rst:1782 +#: ../../library/asyncio-eventloop.rst:1809 msgid "" -"Wait until a file descriptor received some data using the :meth:`loop." -"add_reader` method and then close the event loop::" +"Wait until a file descriptor received some data using " +"the :meth:`loop.add_reader` method and then close the event loop::" msgstr "" "Aguarda até que um descritor de arquivo tenha recebido alguns dados usando o " "método :meth:`loop.add_reader` e então fecha o laço de eventos::" -#: ../../library/asyncio-eventloop.rst:1820 +#: ../../library/asyncio-eventloop.rst:1847 msgid "" "A similar :ref:`example ` using " "transports, protocols, and the :meth:`loop.create_connection` method." @@ -2676,7 +2711,7 @@ msgstr "" "Um :ref:`exemplo ` similar usando " "transportes, protocolos, e o método :meth:`loop.create_connection`." -#: ../../library/asyncio-eventloop.rst:1824 +#: ../../library/asyncio-eventloop.rst:1851 msgid "" "Another similar :ref:`example ` " "using the high-level :func:`asyncio.open_connection` function and streams." @@ -2684,18 +2719,17 @@ msgstr "" "Outro :ref:`exemplo ` similar " "usando a função de alto nível :func:`asyncio.open_connection` e streams." -#: ../../library/asyncio-eventloop.rst:1832 +#: ../../library/asyncio-eventloop.rst:1859 msgid "Set signal handlers for SIGINT and SIGTERM" msgstr "Define tratadores de sinais para SIGINT e SIGTERM" -#: ../../library/asyncio-eventloop.rst:1834 +#: ../../library/asyncio-eventloop.rst:1861 msgid "(This ``signals`` example only works on Unix.)" msgstr "(Este exemplo de ``signals`` apenas funciona no Unix.)" -#: ../../library/asyncio-eventloop.rst:1836 +#: ../../library/asyncio-eventloop.rst:1863 msgid "" -"Register handlers for signals :py:data:`SIGINT` and :py:data:`SIGTERM` using " -"the :meth:`loop.add_signal_handler` method::" +"Register handlers for signals :const:`~signal.SIGINT` " +"and :const:`~signal.SIGTERM` using the :meth:`loop.add_signal_handler` " +"method::" msgstr "" -"Registra tratadores para sinais :py:data:`SIGINT` e :py:data:`SIGTERM` " -"usando o método :meth:`loop.add_signal_handler`::" diff --git a/library/asyncio-exceptions.po b/library/asyncio-exceptions.po index d200567ab..36f4746ba 100644 --- a/library/asyncio-exceptions.po +++ b/library/asyncio-exceptions.po @@ -1,26 +1,25 @@ # 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: -# Leticia Portella , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -58,8 +57,12 @@ msgstr "" "exceção deve ser levantada novamente." #: ../../library/asyncio-exceptions.rst:34 -msgid ":exc:`CancelledError` is now a subclass of :class:`BaseException`." -msgstr ":exc:`CancelledError` é agora uma subclasse de :class:`BaseException`." +msgid "" +":exc:`CancelledError` is now a subclass of :class:`BaseException` rather " +"than :class:`Exception`." +msgstr "" +":exc:`CancelledError` é agora uma subclasse de :class:`BaseException` em vez " +"de :class:`Exception`." #: ../../library/asyncio-exceptions.rst:39 msgid "Invalid internal state of :class:`Task` or :class:`Future`." diff --git a/library/asyncio-extending.po b/library/asyncio-extending.po index 3348c99ed..292f29435 100644 --- a/library/asyncio-extending.po +++ b/library/asyncio-extending.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rodrigo Vitorino, 2022 -# Juliana Barros Lima, 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2022-11-05 19:48+0000\n" -"Last-Translator: Juliana Barros Lima, 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,22 +32,22 @@ msgid "" "The main direction for :mod:`asyncio` extending is writing custom *event " "loop* classes. Asyncio has helpers that could be used to simplify this task." msgstr "" -"A direção principal para a extensão :mod:`asyncio` é escrever classes " -"personalizadas de *event loop*. Asyncio tem auxiliares que podem ser usados " -"para simplificar esta tarefa." +"A direção principal para estender o módulo :mod:`asyncio` é escrever classes " +"de *laços de eventos* personalizados. O Asyncio tem funções auxiliares que " +"podem ser usadas para simplificar essa tarefa." #: ../../library/asyncio-extending.rst:13 msgid "" "Third-parties should reuse existing asyncio code with caution, a new Python " "version is free to break backward compatibility in *internal* part of API." msgstr "" -"Terceiros devem reutilizar o código assíncrono existente com cuidado, uma " -"versão nova do Python pode quebrar a compatibilidade com versões anteriores " +"Terceiros devem reutilizar o código assíncrono existente com cuidado. Uma " +"versão nova de Python pode quebrar a compatibilidade com versões anteriores " "da parte *interna* da API." #: ../../library/asyncio-extending.rst:19 msgid "Writing a Custom Event Loop" -msgstr "Escrevendo um loop de evento personalizado" +msgstr "Escrevendo um laço de eventos personalizado" #: ../../library/asyncio-extending.rst:21 msgid "" @@ -63,8 +62,8 @@ msgid "" "A loop can get many common methods implementation for free by inheriting " "from :class:`asyncio.BaseEventLoop`." msgstr "" -"Um laço de repetição pode receber, através de herança, vários métodos de " -"implementação da classe :class:`asyncio.BaseEventLoop`." +"Um laço de eventos pode herdar várias implementações de métodos da " +"classe :class:`asyncio.BaseEventLoop`." #: ../../library/asyncio-extending.rst:27 msgid "" @@ -82,26 +81,25 @@ msgid "" "not documented and is considered as an *internal* API." msgstr "" "Por exemplo, ``loop.create_connection()``verifica os argumentos, resolve " -"alguns endereços DNS, e chama a função ``loop._make_socket_transport()`` que " -"deve ser implementada por ser uma classe herdada. " -"O " -"método``_make_socket_transport()`` não está documentado e é considerado " -"parte de uma API *interna*." +"endereços DNS, e chama a função ``loop._make_socket_transport()``, que deve " +"ser implementada pela classe herdada. O método``_make_socket_transport()`` " +"não está documentado, e é considerado parte de uma API *interna*." #: ../../library/asyncio-extending.rst:38 msgid "Future and Task private constructors" -msgstr "Construtores privados Future e Task" +msgstr "Construtores privados de Future e Task" #: ../../library/asyncio-extending.rst:40 msgid "" ":class:`asyncio.Future` and :class:`asyncio.Task` should be never created " -"directly, please use corresponding :meth:`loop.create_future` and :meth:" -"`loop.create_task`, or :func:`asyncio.create_task` factories instead." +"directly, please use corresponding :meth:`loop.create_future` " +"and :meth:`loop.create_task`, or :func:`asyncio.create_task` factories " +"instead." msgstr "" "As classes :class:`asyncio.Future` e :class:`asyncio.Task` nunca deverão ser " -"criadas diretamente, por favor, substitua pelas factories correspondentes: :" -"meth:`loop.create_future` e :meth:`loop.create_task` ou :func:`asyncio." -"create_task`." +"criadas diretamente. Por favor, as substitua pelas *factories* " +"correspondentes: :meth:`loop.create_future` e :meth:`loop.create_task` " +"ou :func:`asyncio.create_task`." #: ../../library/asyncio-extending.rst:44 msgid "" @@ -109,80 +107,87 @@ msgid "" "implementations for the sake of getting a complex and highly optimized code " "for free." msgstr "" -"Porém *event-loops* de terceiros podem *reusar* as implementações nativas de " -"Future e Task em detrimento de obter um código complexo e mais otimizado." +"Porém, *laços de eventos* de terceiros podem *reutilizar* as implementações " +"embutidas de Future e Task, obtendo um código complexo e altamente otimizado." #: ../../library/asyncio-extending.rst:47 msgid "For this purpose the following, *private* constructors are listed:" -msgstr "" -"Com este propósito, os seguintes construtores *privados* serão listados a " -"seguir:" +msgstr "Por isso, segue a listagem de construtores *privados*:" #: ../../library/asyncio-extending.rst:51 msgid "Create a built-in future instance." -msgstr "Criar uma uma instância Future nativa." +msgstr "Cria uma instância de Future embutida." #: ../../library/asyncio-extending.rst:53 msgid "*loop* is an optional event loop instance." -msgstr "*loop* é uma instância opcional do event-loop." +msgstr "*loop* é uma instância opcional do laço de eventos." #: ../../library/asyncio-extending.rst:57 msgid "Create a built-in task instance." -msgstr "" +msgstr "Cria uma instância embutida de Task." #: ../../library/asyncio-extending.rst:59 msgid "" "*loop* is an optional event loop instance. The rest of arguments are " "described in :meth:`loop.create_task` description." msgstr "" +"*loop* é uma instância opcional do laço de eventos. Os outros argumentos " +"estão descritos em :meth:`loop.create_task`." #: ../../library/asyncio-extending.rst:64 msgid "*context* argument is added." -msgstr "" +msgstr "o argumento *context* foi adicionado" #: ../../library/asyncio-extending.rst:69 msgid "Task lifetime support" -msgstr "" +msgstr "Suporte ao ciclo de vida de tarefas" #: ../../library/asyncio-extending.rst:71 msgid "" "A third party task implementation should call the following functions to " -"keep a task visible by :func:`asyncio.get_tasks` and :func:`asyncio." -"current_task`:" +"keep a task visible by :func:`asyncio.all_tasks` " +"and :func:`asyncio.current_task`:" msgstr "" +"Implementações de Task de terceiros devem chamar as seguintes funções para " +"manter uma tarefa visível para :func:`asyncio.all_tasks` " +"e :func:`asyncio.current_task`:" #: ../../library/asyncio-extending.rst:76 msgid "Register a new *task* as managed by *asyncio*." -msgstr "" +msgstr "Registra uma nova *task* como gerenciada pelo *asyncio*." #: ../../library/asyncio-extending.rst:78 msgid "Call the function from a task constructor." -msgstr "" +msgstr "Chame esta função no construtor de uma tarefa." #: ../../library/asyncio-extending.rst:82 msgid "Unregister a *task* from *asyncio* internal structures." -msgstr "" +msgstr "Cancela o registro de *task* nas estruturas internas do *asyncio*." #: ../../library/asyncio-extending.rst:84 msgid "The function should be called when a task is about to finish." -msgstr "" +msgstr "Chame esta função quando a tarefa estiver terminando." #: ../../library/asyncio-extending.rst:88 msgid "Switch the current task to the *task* argument." -msgstr "" +msgstr "Troca a tarefa atual para o argumento *task*." #: ../../library/asyncio-extending.rst:90 msgid "" -"Call the function just before executing a portion of embedded *coroutine* (:" -"meth:`coroutine.send` or :meth:`coroutine.throw`)." +"Call the function just before executing a portion of embedded *coroutine* " +"(:meth:`coroutine.send` or :meth:`coroutine.throw`)." msgstr "" +"Chame esta função logo antes de executar uma porção da *corrotina* embutida " +"(:meth:`coroutine.send` ou :meth:`coroutine.throw`)." #: ../../library/asyncio-extending.rst:95 msgid "Switch the current task back from *task* to ``None``." -msgstr "" +msgstr "Troca a tarefa atual de *task* para ``None``." #: ../../library/asyncio-extending.rst:97 msgid "" -"Call the function just after :meth:`coroutine.send` or :meth:`coroutine." -"throw` execution." +"Call the function just after :meth:`coroutine.send` " +"or :meth:`coroutine.throw` execution." msgstr "" +"Chame esta função logo após executar :meth:`coroutine.send` " +"ou :meth:`coroutine.throw`." diff --git a/library/asyncio-future.po b/library/asyncio-future.po index b07c698d3..e98ba9dcc 100644 --- a/library/asyncio-future.po +++ b/library/asyncio-future.po @@ -1,27 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Sheila Gomes , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Adorilson Bezerra , 2022 +# python-doc bot, 2025 +# Adorilson Bezerra , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Adorilson Bezerra , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Adorilson Bezerra , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -34,16 +33,21 @@ msgid "" "**Source code:** :source:`Lib/asyncio/futures.py`, :source:`Lib/asyncio/" "base_futures.py`" msgstr "" +"**Código-fonte:** :source:`Lib/asyncio/futures.py`, :source:`Lib/asyncio/" +"base_futures.py`" #: ../../library/asyncio-future.rst:15 msgid "" "*Future* objects are used to bridge **low-level callback-based code** with " "high-level async/await code." msgstr "" +"Objetos *Future* são usados para fazer a ponte entre **código baseado em " +"funções de retorno (callback) de baixo nível** e código async/await de alto " +"nível." #: ../../library/asyncio-future.rst:20 msgid "Future Functions" -msgstr "" +msgstr "Funções Future" #: ../../library/asyncio-future.rst:24 msgid "Return ``True`` if *obj* is either of:" @@ -63,7 +67,7 @@ msgstr "" #: ../../library/asyncio-future.rst:36 msgid "Return:" -msgstr "" +msgstr "Retorna:" #: ../../library/asyncio-future.rst:38 msgid "" @@ -73,15 +77,15 @@ msgstr "" #: ../../library/asyncio-future.rst:42 msgid "" -"a :class:`Task` object wrapping *obj*, if *obj* is a coroutine (:func:" -"`iscoroutine` is used for the test); in this case the coroutine will be " -"scheduled by ``ensure_future()``." +"a :class:`Task` object wrapping *obj*, if *obj* is a coroutine " +"(:func:`iscoroutine` is used for the test); in this case the coroutine will " +"be scheduled by ``ensure_future()``." msgstr "" #: ../../library/asyncio-future.rst:47 msgid "" -"a :class:`Task` object that would await on *obj*, if *obj* is an awaitable (:" -"func:`inspect.isawaitable` is used for the test.)" +"a :class:`Task` object that would await on *obj*, if *obj* is an awaitable " +"(:func:`inspect.isawaitable` is used for the test.)" msgstr "" #: ../../library/asyncio-future.rst:50 @@ -112,8 +116,8 @@ msgstr "" #: ../../library/asyncio-future.rst:70 msgid "" -"Wrap a :class:`concurrent.futures.Future` object in a :class:`asyncio." -"Future` object." +"Wrap a :class:`concurrent.futures.Future` object in " +"a :class:`asyncio.Future` object." msgstr "" #: ../../library/asyncio-future.rst:73 @@ -124,13 +128,15 @@ msgstr "" #: ../../library/asyncio-future.rst:79 msgid "Future Object" -msgstr "" +msgstr "Objeto Future" #: ../../library/asyncio-future.rst:83 msgid "" "A Future represents an eventual result of an asynchronous operation. Not " "thread-safe." msgstr "" +"Um Future representa um resultado eventual de uma operação assíncrona. Não " +"é seguro para thread." #: ../../library/asyncio-future.rst:86 msgid "" @@ -138,6 +144,10 @@ msgid "" "objects until they either have a result or an exception set, or until they " "are cancelled. A Future can be awaited multiple times and the result is same." msgstr "" +"Future é um objeto :term:`aguardável`. Corrotinas podem aguardar o objeto " +"Future até que ele tenha um resultado ou um conjunto de exceções, ou até que " +"seja cancelado. Um Future pode ser aguardado várias vezes e o resultado é " +"sempre o mesmo." #: ../../library/asyncio-future.rst:91 msgid "" @@ -145,26 +155,36 @@ msgid "" "protocols implemented using asyncio :ref:`transports `) to interoperate with high-level async/await code." msgstr "" +"Normalmente, objetos Future são usados para permitir que o código baseado em " +"funções de retorno de baixo nível (por exemplo, em protocolos implementados " +"usando :ref:`transportes ` asyncio) interopere " +"com o código async/await de alto nível." #: ../../library/asyncio-future.rst:96 msgid "" "The rule of thumb is to never expose Future objects in user-facing APIs, and " -"the recommended way to create a Future object is to call :meth:`loop." -"create_future`. This way alternative event loop implementations can inject " -"their own optimized implementations of a Future object." +"the recommended way to create a Future object is to " +"call :meth:`loop.create_future`. This way alternative event loop " +"implementations can inject their own optimized implementations of a Future " +"object." msgstr "" +"A regra geral é nunca expor o objeto Future em API voltada para o usuário, e " +"a maneira recomendada de criar um objeto Future objeto " +"chamar :meth:`loop.create_future`. Dessa forma, as implementações de laços " +"de eventos alternativos podem injetar suas próprias versões otimizadas de um " +"objeto Future." #: ../../library/asyncio-future.rst:102 msgid "Added support for the :mod:`contextvars` module." -msgstr "Adicionado suporte para o módulo :mod:`contextvars`." +msgstr "Adicionado suporte ao módulo :mod:`contextvars`." #: ../../library/asyncio-future.rst:105 msgid "" "Deprecation warning is emitted if *loop* is not specified and there is no " "running event loop." msgstr "" -"Aviso de descontinuidade é emitido se *loop* não é especificado, e não " -"existe nenhum laço de eventos em execução." +"Aviso de descontinuidade é emitido se *loop* não for especificado e não " +"existir nenhum laço de eventos em execução." #: ../../library/asyncio-future.rst:111 msgid "Return the result of the Future." @@ -178,22 +198,22 @@ msgstr "" #: ../../library/asyncio-future.rst:116 msgid "" -"If the Future is *done* and has an exception set by the :meth:" -"`set_exception` method, this method raises the exception." +"If the Future is *done* and has an exception set by " +"the :meth:`set_exception` method, this method raises the exception." msgstr "" #: ../../library/asyncio-future.rst:119 ../../library/asyncio-future.rst:207 msgid "" -"If the Future has been *cancelled*, this method raises a :exc:" -"`CancelledError` exception." +"If the Future has been *cancelled*, this method raises " +"a :exc:`CancelledError` exception." msgstr "" -"Se o futuro foi *cancelled*, este método levanta uma exceção :exc:" -"`CancelledError`." +"Se o futuro foi *cancelled*, este método levanta uma " +"exceção :exc:`CancelledError`." #: ../../library/asyncio-future.rst:122 msgid "" -"If the Future's result isn't yet available, this method raises a :exc:" -"`InvalidStateError` exception." +"If the Future's result isn't yet available, this method raises " +"a :exc:`InvalidStateError` exception." msgstr "" #: ../../library/asyncio-future.rst:127 @@ -245,18 +265,18 @@ msgstr "" #: ../../library/asyncio-future.rst:167 msgid "" -"An optional keyword-only *context* argument allows specifying a custom :" -"class:`contextvars.Context` for the *callback* to run in. The current " -"context is used when no *context* is provided." +"An optional keyword-only *context* argument allows specifying a " +"custom :class:`contextvars.Context` for the *callback* to run in. The " +"current context is used when no *context* is provided." msgstr "" -"Um argumento opcional somente-nomeado *context* permite especificar um :" -"class:`contextvars.Context` customizado para executar na *função de " +"Um argumento opcional somente-nomeado *context* permite especificar " +"um :class:`contextvars.Context` customizado para executar na *função de " "retorno*. O contexto atual é usado quando nenhum *context* é fornecido." #: ../../library/asyncio-future.rst:171 msgid "" -":func:`functools.partial` can be used to pass parameters to the callback, e." -"g.::" +":func:`functools.partial` can be used to pass parameters to the callback, " +"e.g.::" msgstr "" #: ../../library/asyncio-future.rst:178 @@ -304,8 +324,8 @@ msgstr "" #: ../../library/asyncio-future.rst:210 msgid "" -"If the Future isn't *done* yet, this method raises an :exc:" -"`InvalidStateError` exception." +"If the Future isn't *done* yet, this method raises " +"an :exc:`InvalidStateError` exception." msgstr "" #: ../../library/asyncio-future.rst:215 @@ -338,8 +358,8 @@ msgstr "" #: ../../library/asyncio-future.rst:266 msgid "" -":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` raise an :" -"exc:`InvalidStateError` exception when the Future is not *done*." +":meth:`asyncio.Future.result` and :meth:`asyncio.Future.exception` raise " +"an :exc:`InvalidStateError` exception when the Future is not *done*." msgstr "" #: ../../library/asyncio-future.rst:270 @@ -356,6 +376,6 @@ msgstr "" #: ../../library/asyncio-future.rst:278 msgid "" -":meth:`asyncio.Future.cancel` accepts an optional ``msg`` argument, but :" -"func:`concurrent.futures.cancel` does not." +":meth:`asyncio.Future.cancel` accepts an optional ``msg`` argument, " +"but :meth:`concurrent.futures.Future.cancel` does not." msgstr "" diff --git a/library/asyncio-llapi-index.po b/library/asyncio-llapi-index.po index dcbfb06b0..9951b2d22 100644 --- a/library/asyncio-llapi-index.po +++ b/library/asyncio-llapi-index.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# msilvavieira, 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Vinicius Gubiani Ferreira , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Vinicius Gubiani Ferreira , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -55,6 +50,8 @@ msgstr ":func:`asyncio.get_event_loop`" #: ../../library/asyncio-llapi-index.rst:22 msgid "Get an event loop instance (running or current via the current policy)." msgstr "" +"Obtém uma instância do laço de eventos (em execução ou atual por meio da " +"política atual)." #: ../../library/asyncio-llapi-index.rst:24 msgid ":func:`asyncio.set_event_loop`" @@ -90,6 +87,8 @@ msgid "" "See also the main documentation section about the :ref:`asyncio-event-loop-" "methods`." msgstr "" +"Veja também a seção principal da documentação sobre os :ref:`asyncio-event-" +"loop-methods`." #: ../../library/asyncio-llapi-index.rst:42 msgid "Lifecycle" @@ -260,8 +259,8 @@ msgid "" "Set a factory used by :meth:`loop.create_task` to create :class:`Tasks " "`." msgstr "" -"Define uma factory usada por :meth:`loop.create_task` para criar :class:" -"`Tasks `." +"Define uma factory usada por :meth:`loop.create_task` para " +"criar :class:`Tasks `." #: ../../library/asyncio-llapi-index.rst:127 msgid ":meth:`loop.get_task_factory`" @@ -406,19 +405,19 @@ msgstr "Recebe dados do :class:`~socket.socket` em um buffer." #: ../../library/asyncio-llapi-index.rst:192 msgid "``await`` :meth:`loop.sock_recvfrom`" -msgstr "" +msgstr "``await`` :meth:`loop.sock_recvfrom`" #: ../../library/asyncio-llapi-index.rst:193 msgid "Receive a datagram from the :class:`~socket.socket`." -msgstr "" +msgstr "Recebe um datagrama do :class:`~socket.socket`." #: ../../library/asyncio-llapi-index.rst:195 msgid "``await`` :meth:`loop.sock_recvfrom_into`" -msgstr "" +msgstr "``await`` :meth:`loop.sock_recvfrom_into`" #: ../../library/asyncio-llapi-index.rst:196 msgid "Receive a datagram from the :class:`~socket.socket` into a buffer." -msgstr "" +msgstr "Recebe um datagrama do :class:`~socket.socket` em um buffer." #: ../../library/asyncio-llapi-index.rst:198 msgid "``await`` :meth:`loop.sock_sendall`" @@ -430,11 +429,12 @@ msgstr "Envia dados para o :class:`~socket.socket`." #: ../../library/asyncio-llapi-index.rst:201 msgid "``await`` :meth:`loop.sock_sendto`" -msgstr "" +msgstr "``await`` :meth:`loop.sock_sendto`" #: ../../library/asyncio-llapi-index.rst:202 msgid "Send a datagram via the :class:`~socket.socket` to the given address." msgstr "" +"Envia um datagrama por meio de :class:`~socket.socket` para o endereço dado." #: ../../library/asyncio-llapi-index.rst:204 msgid "``await`` :meth:`loop.sock_connect`" @@ -581,6 +581,8 @@ msgid "" ":ref:`Using asyncio.new_event_loop() and loop.run_forever() " "`." msgstr "" +":ref:`Usando asyncio.new_event_loop() e loop.run_forever() " +"`." #: ../../library/asyncio-llapi-index.rst:273 msgid ":ref:`Using loop.call_later() `." @@ -671,12 +673,14 @@ msgstr "Retorna o protocolo atual." #: ../../library/asyncio-llapi-index.rst:314 msgid "" "Transports that can receive data (TCP and Unix connections, pipes, etc). " -"Returned from methods like :meth:`loop.create_connection`, :meth:`loop." -"create_unix_connection`, :meth:`loop.connect_read_pipe`, etc:" +"Returned from methods " +"like :meth:`loop.create_connection`, :meth:`loop.create_unix_connection`, :meth:`loop.connect_read_pipe`, " +"etc:" msgstr "" "Transportes que podem receber dados (TCP e conexões Unix, encadeamentos, " -"etc). Retornado a partir de métodos como :meth:`loop.create_connection`, :" -"meth:`loop.create_unix_connection`, :meth:`loop.connect_read_pipe`, etc:" +"etc). Retornado a partir de métodos " +"como :meth:`loop.create_connection`, :meth:`loop.create_unix_connection`, :meth:`loop.connect_read_pipe`, " +"etc:" #: ../../library/asyncio-llapi-index.rst:319 msgid "Read Transports" @@ -709,12 +713,14 @@ msgstr "Continua o recebimento." #: ../../library/asyncio-llapi-index.rst:334 msgid "" "Transports that can Send data (TCP and Unix connections, pipes, etc). " -"Returned from methods like :meth:`loop.create_connection`, :meth:`loop." -"create_unix_connection`, :meth:`loop.connect_write_pipe`, etc:" +"Returned from methods " +"like :meth:`loop.create_connection`, :meth:`loop.create_unix_connection`, :meth:`loop.connect_write_pipe`, " +"etc:" msgstr "" "Transportes que podem enviar dados (TCP e conexões Unix, encadeamentos, " -"etc). Retornado a partir de métodos como :meth:`loop.create_connection`, :" -"meth:`loop.create_unix_connection`, :meth:`loop.connect_write_pipe`, etc:" +"etc). Retornado a partir de métodos " +"como :meth:`loop.create_connection`, :meth:`loop.create_unix_connection`, :meth:`loop.connect_write_pipe`, " +"etc:" #: ../../library/asyncio-llapi-index.rst:339 msgid "Write Transports" @@ -763,38 +769,40 @@ msgstr "Fecha o transporte imediatamente." #: ../../library/asyncio-llapi-index.rst:359 msgid "" -":meth:`transport.get_write_buffer_size() `" +":meth:`transport.get_write_buffer_size() " +"`" msgstr "" -":meth:`transport.get_write_buffer_size() `" +":meth:`transport.get_write_buffer_size() " +"`" #: ../../library/asyncio-llapi-index.rst:361 msgid "Return the current size of the output buffer." -msgstr "" +msgstr "Retorna o tamanho atual do buffer de saída." #: ../../library/asyncio-llapi-index.rst:363 msgid "" -":meth:`transport.get_write_buffer_limits() `" +":meth:`transport.get_write_buffer_limits() " +"`" msgstr "" +":meth:`transport.get_write_buffer_limits() " +"`" #: ../../library/asyncio-llapi-index.rst:365 msgid "Return high and low water marks for write flow control." -msgstr "Retorna marcas d'agua alta e baixa para controle do fluxo de escrita." +msgstr "Retorna marcas d'água alta e baixa para controle do fluxo de escrita." #: ../../library/asyncio-llapi-index.rst:367 msgid "" -":meth:`transport.set_write_buffer_limits() `" +":meth:`transport.set_write_buffer_limits() " +"`" msgstr "" -":meth:`transport.set_write_buffer_limits() `" +":meth:`transport.set_write_buffer_limits() " +"`" #: ../../library/asyncio-llapi-index.rst:369 msgid "Set new high and low water marks for write flow control." msgstr "" -"Define novas marcas d'agua alta e baixa para controle do fluxo de escrita." +"Define novas marcas d'água alta e baixa para controle do fluxo de escrita." #: ../../library/asyncio-llapi-index.rst:372 msgid "Transports returned by :meth:`loop.create_datagram_endpoint`:" @@ -818,11 +826,11 @@ msgstr ":meth:`transport.abort() `" #: ../../library/asyncio-llapi-index.rst:386 msgid "" -"Low-level transport abstraction over subprocesses. Returned by :meth:`loop." -"subprocess_exec` and :meth:`loop.subprocess_shell`:" +"Low-level transport abstraction over subprocesses. Returned " +"by :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell`:" msgstr "" -"Abstração de transporte de baixo nível sobre subprocessos. Retornado por :" -"meth:`loop.subprocess_exec` e :meth:`loop.subprocess_shell`:" +"Abstração de transporte de baixo nível sobre subprocessos. Retornado " +"por :meth:`loop.subprocess_exec` e :meth:`loop.subprocess_shell`:" #: ../../library/asyncio-llapi-index.rst:390 msgid "Subprocess Transports" @@ -838,11 +846,11 @@ msgstr "Retorna o process id do subprocesso." #: ../../library/asyncio-llapi-index.rst:398 msgid "" -":meth:`transport.get_pipe_transport() `" +":meth:`transport.get_pipe_transport() " +"`" msgstr "" -":meth:`transport.get_pipe_transport() `" +":meth:`transport.get_pipe_transport() " +"`" #: ../../library/asyncio-llapi-index.rst:400 msgid "" @@ -927,7 +935,7 @@ msgstr "``callback`` :meth:`pause_writing() `" msgid "Called when the transport's buffer goes over the high water mark." msgstr "" "Chamado quando o buffer de transporte ultrapassa a marca de nível alto " -"d'agua." +"d'água." #: ../../library/asyncio-llapi-index.rst:437 msgid "``callback`` :meth:`resume_writing() `" @@ -1008,52 +1016,50 @@ msgstr "" msgid "" "Called when a previous send or receive operation raises an :class:`OSError`." msgstr "" -"Chamado quando uma operação de envio ou recebimento anterior levanta um :" -"class:`OSError`." +"Chamado quando uma operação de envio ou recebimento anterior levanta " +"um :class:`OSError`." #: ../../library/asyncio-llapi-index.rst:482 msgid "Subprocess Protocols" msgstr "Protocolos de Subprocesso" #: ../../library/asyncio-llapi-index.rst:487 -msgid "" -"``callback`` :meth:`pipe_data_received() `" -msgstr "" -"``callback`` :meth:`pipe_data_received() `" +msgid "``callback`` :meth:`~SubprocessProtocol.pipe_data_received`" +msgstr "``callback`` :meth:`~SubprocessProtocol.pipe_data_received`" -#: ../../library/asyncio-llapi-index.rst:489 +#: ../../library/asyncio-llapi-index.rst:488 msgid "" "Called when the child process writes data into its *stdout* or *stderr* pipe." msgstr "" "Chamado quando o processo filho escreve dados no seu encadeamento *stdout* " "ou *stderr*." -#: ../../library/asyncio-llapi-index.rst:492 -msgid "" -"``callback`` :meth:`pipe_connection_lost() `" -msgstr "" -"``callback`` :meth:`pipe_connection_lost() `" +#: ../../library/asyncio-llapi-index.rst:491 +msgid "``callback`` :meth:`~SubprocessProtocol.pipe_connection_lost`" +msgstr "``callback`` :meth:`~SubprocessProtocol.pipe_connection_lost`" -#: ../../library/asyncio-llapi-index.rst:494 +#: ../../library/asyncio-llapi-index.rst:492 msgid "" "Called when one of the pipes communicating with the child process is closed." msgstr "" "Chamado quando um dos encadeamentos comunicando com o processo filho é " "fechado." -#: ../../library/asyncio-llapi-index.rst:497 +#: ../../library/asyncio-llapi-index.rst:495 msgid "" "``callback`` :meth:`process_exited() `" msgstr "" "``callback`` :meth:`process_exited() `" -#: ../../library/asyncio-llapi-index.rst:499 -msgid "Called when the child process has exited." -msgstr "Chamado quando o processo filho encerrou." +#: ../../library/asyncio-llapi-index.rst:497 +msgid "" +"Called when the child process has exited. It can be called " +"before :meth:`~SubprocessProtocol.pipe_data_received` " +"and :meth:`~SubprocessProtocol.pipe_connection_lost` methods." +msgstr "" +"Chamado quando o processo filho sai. Isso pode ser chamado antes dos " +"métodos :meth:`~SubprocessProtocol.pipe_data_received` " +"e :meth:`~SubprocessProtocol.pipe_connection_lost`." #: ../../library/asyncio-llapi-index.rst:503 msgid "Event Loop Policies" @@ -1061,9 +1067,9 @@ msgstr "Políticas de laço de eventos" #: ../../library/asyncio-llapi-index.rst:505 msgid "" -"Policies is a low-level mechanism to alter the behavior of functions like :" -"func:`asyncio.get_event_loop`. See also the main :ref:`policies section " -"` for more details." +"Policies is a low-level mechanism to alter the behavior of functions " +"like :func:`asyncio.get_event_loop`. See also the main :ref:`policies " +"section ` for more details." msgstr "" "Política é um mecanismo de baixo nível para alterar o comportamento de " "funções, similar a :func:`asyncio.get_event_loop`. Veja também a :ref:`seção " diff --git a/library/asyncio-platforms.po b/library/asyncio-platforms.po index 7a1c27de1..da0a6ced9 100644 --- a/library/asyncio-platforms.po +++ b/library/asyncio-platforms.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# felipe caridade , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -67,7 +65,7 @@ msgstr "" #: ../../library/asyncio-platforms.rst:38 msgid "" ":meth:`loop.create_unix_connection` and :meth:`loop.create_unix_server` are " -"not supported. The :data:`socket.AF_UNIX` socket family is specific to Unix." +"not supported. The :const:`socket.AF_UNIX` socket family is specific to Unix." msgstr "" #: ../../library/asyncio-platforms.rst:42 @@ -94,15 +92,15 @@ msgstr "" #: ../../library/asyncio-platforms.rst:53 msgid "" -"Pipes are not supported, so the :meth:`loop.connect_read_pipe` and :meth:" -"`loop.connect_write_pipe` methods are not implemented." +"Pipes are not supported, so the :meth:`loop.connect_read_pipe` " +"and :meth:`loop.connect_write_pipe` methods are not implemented." msgstr "" #: ../../library/asyncio-platforms.rst:56 msgid "" -":ref:`Subprocesses ` are not supported, i.e. :meth:`loop." -"subprocess_exec` and :meth:`loop.subprocess_shell` methods are not " -"implemented." +":ref:`Subprocesses ` are not supported, " +"i.e. :meth:`loop.subprocess_exec` and :meth:`loop.subprocess_shell` methods " +"are not implemented." msgstr "" #: ../../library/asyncio-platforms.rst:60 @@ -135,9 +133,10 @@ msgstr "" #: ../../library/asyncio-platforms.rst:80 msgid "" -"The :meth:`policy.set_child_watcher() ` function is also not supported, as :class:" -"`ProactorEventLoop` has a different mechanism to watch child processes." +"The :meth:`policy.set_child_watcher() " +"` function is also not supported, " +"as :class:`ProactorEventLoop` has a different mechanism to watch child " +"processes." msgstr "" #: ../../library/asyncio-platforms.rst:87 @@ -154,9 +153,10 @@ msgstr "macOS <= 10.8" #: ../../library/asyncio-platforms.rst:93 msgid "" -"On macOS 10.6, 10.7 and 10.8, the default event loop uses :class:`selectors." -"KqueueSelector`, which does not support character devices on these " -"versions. The :class:`SelectorEventLoop` can be manually configured to use :" -"class:`~selectors.SelectSelector` or :class:`~selectors.PollSelector` to " -"support character devices on these older versions of macOS. Example::" +"On macOS 10.6, 10.7 and 10.8, the default event loop " +"uses :class:`selectors.KqueueSelector`, which does not support character " +"devices on these versions. The :class:`SelectorEventLoop` can be manually " +"configured to use :class:`~selectors.SelectSelector` " +"or :class:`~selectors.PollSelector` to support character devices on these " +"older versions of macOS. Example::" msgstr "" diff --git a/library/asyncio-policy.po b/library/asyncio-policy.po index bd79af037..d7517a59b 100644 --- a/library/asyncio-policy.po +++ b/library/asyncio-policy.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Sheila Gomes , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Rafael Fontenelle , 2021 -# Adorilson Bezerra , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Adorilson Bezerra , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,12 +29,12 @@ msgstr "Políticas" #: ../../library/asyncio-policy.rst:10 msgid "" -"An event loop policy is a global object used to get and set the current :ref:" -"`event loop `, as well as create new event loops. The " -"default policy can be :ref:`replaced ` with :ref:" -"`built-in alternatives ` to use different event loop " -"implementations, or substituted by a :ref:`custom policy ` that can override these behaviors." +"An event loop policy is a global object used to get and set the " +"current :ref:`event loop `, as well as create new event " +"loops. The default policy can be :ref:`replaced ` " +"with :ref:`built-in alternatives ` to use different " +"event loop implementations, or substituted by a :ref:`custom policy ` that can override these behaviors." msgstr "" #: ../../library/asyncio-policy.rst:19 @@ -50,14 +46,15 @@ msgstr "" #: ../../library/asyncio-policy.rst:24 msgid "" -"Custom event loop policies can control the behavior of :func:" -"`get_event_loop`, :func:`set_event_loop`, and :func:`new_event_loop`." +"Custom event loop policies can control the behavior " +"of :func:`get_event_loop`, :func:`set_event_loop`, " +"and :func:`new_event_loop`." msgstr "" #: ../../library/asyncio-policy.rst:27 msgid "" -"Policy objects should implement the APIs defined in the :class:" -"`AbstractEventLoopPolicy` abstract base class." +"Policy objects should implement the APIs defined in " +"the :class:`AbstractEventLoopPolicy` abstract base class." msgstr "" #: ../../library/asyncio-policy.rst:34 @@ -140,8 +137,8 @@ msgstr "" #: ../../library/asyncio-policy.rst:105 msgid "" -"The default asyncio policy. Uses :class:`SelectorEventLoop` on Unix and :" -"class:`ProactorEventLoop` on Windows." +"The default asyncio policy. Uses :class:`SelectorEventLoop` on Unix " +"and :class:`ProactorEventLoop` on Windows." msgstr "" #: ../../library/asyncio-policy.rst:108 @@ -198,10 +195,10 @@ msgstr "" #: ../../library/asyncio-policy.rst:151 msgid "" "asyncio defines the :class:`AbstractChildWatcher` abstract base class, which " -"child watchers should implement, and has four different implementations: :" -"class:`ThreadedChildWatcher` (configured to be used by default), :class:" -"`MultiLoopChildWatcher`, :class:`SafeChildWatcher`, and :class:" -"`FastChildWatcher`." +"child watchers should implement, and has four different " +"implementations: :class:`ThreadedChildWatcher` (configured to be used by " +"default), :class:`MultiLoopChildWatcher`, :class:`SafeChildWatcher`, " +"and :class:`FastChildWatcher`." msgstr "" #: ../../library/asyncio-policy.rst:157 @@ -225,8 +222,8 @@ msgstr "" #: ../../library/asyncio-policy.rst:169 msgid "" "Set the current child watcher to *watcher* for the current policy. " -"*watcher* must implement methods defined in the :class:" -"`AbstractChildWatcher` base class." +"*watcher* must implement methods defined in " +"the :class:`AbstractChildWatcher` base class." msgstr "" #: ../../library/asyncio-policy.rst:174 @@ -281,11 +278,11 @@ msgstr "" #: ../../library/asyncio-policy.rst:211 msgid "" -"Spawning a subprocess with *inactive* current child watcher raises :exc:" -"`RuntimeError`." +"Spawning a subprocess with *inactive* current child watcher " +"raises :exc:`RuntimeError`." msgstr "" -"Gerar um subprocesso com um monitor *inativo* para o filho atual, levanta :" -"exc:`RuntimeError`." +"Gerar um subprocesso com um monitor *inativo* para o filho atual, " +"levanta :exc:`RuntimeError`." #: ../../library/asyncio-policy.rst:218 msgid "Close the watcher." @@ -311,7 +308,7 @@ msgstr "" #: ../../library/asyncio-policy.rst:229 msgid "" "There is no noticeable overhead when handling a big number of children " -"(*O(1)* each time a child terminates), but starting a thread per process " +"(*O*\\ (1) each time a child terminates), but starting a thread per process " "requires extra memory." msgstr "" @@ -341,40 +338,41 @@ msgstr "" #: ../../library/asyncio-policy.rst:248 msgid "" "The solution is safe but it has a significant overhead when handling a big " -"number of processes (*O(n)* each time a :py:data:`SIGCHLD` is received)." +"number of processes (*O*\\ (*n*) each time a :py:data:`SIGCHLD` is received)." msgstr "" #: ../../library/asyncio-policy.rst:256 msgid "" -"This implementation uses active event loop from the main thread to handle :" -"py:data:`SIGCHLD` signal. If the main thread has no running event loop " -"another thread cannot spawn a subprocess (:exc:`RuntimeError` is raised)." +"This implementation uses active event loop from the main thread to " +"handle :py:data:`SIGCHLD` signal. If the main thread has no running event " +"loop another thread cannot spawn a subprocess (:exc:`RuntimeError` is " +"raised)." msgstr "" #: ../../library/asyncio-policy.rst:263 msgid "" "This solution is as safe as :class:`MultiLoopChildWatcher` and has the same " -"*O(N)* complexity but requires a running event loop in the main thread to " -"work." +"*O*\\ (*n*) complexity but requires a running event loop in the main thread " +"to work." msgstr "" #: ../../library/asyncio-policy.rst:268 msgid "" -"This implementation reaps every terminated processes by calling ``os." -"waitpid(-1)`` directly, possibly breaking other code spawning processes and " -"waiting for their termination." +"This implementation reaps every terminated processes by calling " +"``os.waitpid(-1)`` directly, possibly breaking other code spawning processes " +"and waiting for their termination." msgstr "" #: ../../library/asyncio-policy.rst:272 msgid "" "There is no noticeable overhead when handling a big number of children " -"(*O(1)* each time a child terminates)." +"(*O*\\ (1) each time a child terminates)." msgstr "" #: ../../library/asyncio-policy.rst:275 msgid "" -"This solution requires a running event loop in the main thread to work, as :" -"class:`SafeChildWatcher`." +"This solution requires a running event loop in the main thread to work, " +"as :class:`SafeChildWatcher`." msgstr "" #: ../../library/asyncio-policy.rst:280 @@ -394,7 +392,7 @@ msgstr "" #: ../../library/asyncio-policy.rst:296 msgid "" -"To implement a new event loop policy, it is recommended to subclass :class:" -"`DefaultEventLoopPolicy` and override the methods for which custom behavior " -"is wanted, e.g.::" +"To implement a new event loop policy, it is recommended to " +"subclass :class:`DefaultEventLoopPolicy` and override the methods for which " +"custom behavior is wanted, e.g.::" msgstr "" diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po index afa1d1e04..5ec81bcbb 100644 --- a/library/asyncio-protocol.po +++ b/library/asyncio-protocol.po @@ -1,36 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Humberto Rocha , 2021 -# Ruan Aragão , 2021 -# i17obot , 2021 -# Vinicius Gubiani Ferreira , 2021 +# python-doc bot, 2025 +# Rainer Terroso, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Vinicius Gubiani Ferreira , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rainer Terroso, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/asyncio-protocol.rst:9 msgid "Transports and Protocols" -msgstr "" +msgstr "Transports e Protocols" #: ../../library/asyncio-protocol.rst:12 msgid "Preface" @@ -87,11 +83,11 @@ msgstr "" #: ../../library/asyncio-protocol.rst:44 msgid "" -"Most of connection oriented event loop methods (such as :meth:`loop." -"create_connection`) usually accept a *protocol_factory* argument used to " -"create a *Protocol* object for an accepted connection, represented by a " -"*Transport* object. Such methods usually return a tuple of ``(transport, " -"protocol)``." +"Most of connection oriented event loop methods (such " +"as :meth:`loop.create_connection`) usually accept a *protocol_factory* " +"argument used to create a *Protocol* object for an accepted connection, " +"represented by a *Transport* object. Such methods usually return a tuple of " +"``(transport, protocol)``." msgstr "" #: ../../library/asyncio-protocol.rst:51 @@ -104,16 +100,16 @@ msgstr "Esta página de documentação contém as seguintes seções:" #: ../../library/asyncio-protocol.rst:54 msgid "" -"The `Transports`_ section documents asyncio :class:`BaseTransport`, :class:" -"`ReadTransport`, :class:`WriteTransport`, :class:`Transport`, :class:" -"`DatagramTransport`, and :class:`SubprocessTransport` classes." +"The `Transports`_ section documents " +"asyncio :class:`BaseTransport`, :class:`ReadTransport`, :class:`WriteTransport`, :class:`Transport`, :class:`DatagramTransport`, " +"and :class:`SubprocessTransport` classes." msgstr "" #: ../../library/asyncio-protocol.rst:59 msgid "" -"The `Protocols`_ section documents asyncio :class:`BaseProtocol`, :class:" -"`Protocol`, :class:`BufferedProtocol`, :class:`DatagramProtocol`, and :class:" -"`SubprocessProtocol` classes." +"The `Protocols`_ section documents " +"asyncio :class:`BaseProtocol`, :class:`Protocol`, :class:`BufferedProtocol`, :class:`DatagramProtocol`, " +"and :class:`SubprocessProtocol` classes." msgstr "" #: ../../library/asyncio-protocol.rst:63 @@ -169,9 +165,9 @@ msgstr "" #: ../../library/asyncio-protocol.rst:100 msgid "" -"Instances of the *WriteTransport* class are returned from the :meth:`loop." -"connect_write_pipe` event loop method and are also used by subprocess-" -"related methods like :meth:`loop.subprocess_exec`." +"Instances of the *WriteTransport* class are returned from " +"the :meth:`loop.connect_write_pipe` event loop method and are also used by " +"subprocess-related methods like :meth:`loop.subprocess_exec`." msgstr "" #: ../../library/asyncio-protocol.rst:107 @@ -180,9 +176,9 @@ msgstr "" #: ../../library/asyncio-protocol.rst:109 msgid "" -"Instances of the *ReadTransport* class are returned from the :meth:`loop." -"connect_read_pipe` event loop method and are also used by subprocess-related " -"methods like :meth:`loop.subprocess_exec`." +"Instances of the *ReadTransport* class are returned from " +"the :meth:`loop.connect_read_pipe` event loop method and are also used by " +"subprocess-related methods like :meth:`loop.subprocess_exec`." msgstr "" #: ../../library/asyncio-protocol.rst:116 @@ -200,8 +196,8 @@ msgstr "" #: ../../library/asyncio-protocol.rst:123 msgid "" "Instances of the *Transport* class are returned from or used by event loop " -"methods like :meth:`loop.create_connection`, :meth:`loop." -"create_unix_connection`, :meth:`loop.create_server`, :meth:`loop.sendfile`, " +"methods " +"like :meth:`loop.create_connection`, :meth:`loop.create_unix_connection`, :meth:`loop.create_server`, :meth:`loop.sendfile`, " "etc." msgstr "" @@ -211,8 +207,8 @@ msgstr "" #: ../../library/asyncio-protocol.rst:133 msgid "" -"Instances of the *DatagramTransport* class are returned from the :meth:`loop." -"create_datagram_endpoint` event loop method." +"Instances of the *DatagramTransport* class are returned from " +"the :meth:`loop.create_datagram_endpoint` event loop method." msgstr "" #: ../../library/asyncio-protocol.rst:139 @@ -291,8 +287,8 @@ msgstr "" #: ../../library/asyncio-protocol.rst:196 msgid "" -"``'sockname'``: the socket's own address, result of :meth:`socket.socket." -"getsockname`" +"``'sockname'``: the socket's own address, result " +"of :meth:`socket.socket.getsockname`" msgstr "" #: ../../library/asyncio-protocol.rst:199 @@ -302,8 +298,8 @@ msgstr "" #: ../../library/asyncio-protocol.rst:201 msgid "" "``'compression'``: the compression algorithm being used as a string, or " -"``None`` if the connection isn't compressed; result of :meth:`ssl.SSLSocket." -"compression`" +"``None`` if the connection isn't compressed; result " +"of :meth:`ssl.SSLSocket.compression`" msgstr "" #: ../../library/asyncio-protocol.rst:205 @@ -405,8 +401,8 @@ msgstr "" #: ../../library/asyncio-protocol.rst:281 msgid "" -"Return :const:`True` if the transport supports :meth:`~WriteTransport." -"write_eof`, :const:`False` if not." +"Return :const:`True` if the transport " +"supports :meth:`~WriteTransport.write_eof`, :const:`False` if not." msgstr "" #: ../../library/asyncio-protocol.rst:286 @@ -429,19 +425,19 @@ msgstr "" #: ../../library/asyncio-protocol.rst:302 msgid "" -"These two values (measured in number of bytes) control when the protocol's :" -"meth:`protocol.pause_writing() ` and :meth:" -"`protocol.resume_writing() ` methods are " -"called. If specified, the low watermark must be less than or equal to the " -"high watermark. Neither *high* nor *low* can be negative." +"These two values (measured in number of bytes) control when the " +"protocol's :meth:`protocol.pause_writing() ` " +"and :meth:`protocol.resume_writing() ` methods " +"are called. If specified, the low watermark must be less than or equal to " +"the high watermark. Neither *high* nor *low* can be negative." msgstr "" #: ../../library/asyncio-protocol.rst:310 msgid "" ":meth:`~BaseProtocol.pause_writing` is called when the buffer size becomes " -"greater than or equal to the *high* value. If writing has been paused, :meth:" -"`~BaseProtocol.resume_writing` is called when the buffer size becomes less " -"than or equal to the *low* value." +"greater than or equal to the *high* value. If writing has been " +"paused, :meth:`~BaseProtocol.resume_writing` is called when the buffer size " +"becomes less than or equal to the *low* value." msgstr "" #: ../../library/asyncio-protocol.rst:315 @@ -450,10 +446,10 @@ msgid "" "given, the low watermark defaults to an implementation-specific value less " "than or equal to the high watermark. Setting *high* to zero forces *low* to " "zero as well, and causes :meth:`~BaseProtocol.pause_writing` to be called " -"whenever the buffer becomes non-empty. Setting *low* to zero causes :meth:" -"`~BaseProtocol.resume_writing` to be called only once the buffer is empty. " -"Use of zero for either limit is generally sub-optimal as it reduces " -"opportunities for doing I/O and computation concurrently." +"whenever the buffer becomes non-empty. Setting *low* to zero " +"causes :meth:`~BaseProtocol.resume_writing` to be called only once the " +"buffer is empty. Use of zero for either limit is generally sub-optimal as it " +"reduces opportunities for doing I/O and computation concurrently." msgstr "" #: ../../library/asyncio-protocol.rst:326 @@ -525,20 +521,20 @@ msgstr "" #: ../../library/asyncio-protocol.rst:388 msgid "" -"``0``: readable streaming transport of the standard input (*stdin*), or :" -"const:`None` if the subprocess was not created with ``stdin=PIPE``" +"``0``: readable streaming transport of the standard input (*stdin*), " +"or :const:`None` if the subprocess was not created with ``stdin=PIPE``" msgstr "" #: ../../library/asyncio-protocol.rst:390 msgid "" -"``1``: writable streaming transport of the standard output (*stdout*), or :" -"const:`None` if the subprocess was not created with ``stdout=PIPE``" +"``1``: writable streaming transport of the standard output (*stdout*), " +"or :const:`None` if the subprocess was not created with ``stdout=PIPE``" msgstr "" #: ../../library/asyncio-protocol.rst:392 msgid "" -"``2``: writable streaming transport of the standard error (*stderr*), or :" -"const:`None` if the subprocess was not created with ``stderr=PIPE``" +"``2``: writable streaming transport of the standard error (*stderr*), " +"or :const:`None` if the subprocess was not created with ``stderr=PIPE``" msgstr "" #: ../../library/asyncio-protocol.rst:394 @@ -568,8 +564,8 @@ msgstr "" #: ../../library/asyncio-protocol.rst:413 msgid "" -"Send the *signal* number to the subprocess, as in :meth:`subprocess.Popen." -"send_signal`." +"Send the *signal* number to the subprocess, as " +"in :meth:`subprocess.Popen.send_signal`." msgstr "" #: ../../library/asyncio-protocol.rst:418 @@ -578,8 +574,9 @@ msgstr "Interrompe o subprocesso." #: ../../library/asyncio-protocol.rst:420 msgid "" -"On POSIX systems, this method sends SIGTERM to the subprocess. On Windows, " -"the Windows API function TerminateProcess() is called to stop the subprocess." +"On POSIX systems, this method sends :py:const:`~signal.SIGTERM` to the " +"subprocess. On Windows, the Windows API function :c:func:`!TerminateProcess` " +"is called to stop the subprocess." msgstr "" #: ../../library/asyncio-protocol.rst:424 @@ -714,8 +711,9 @@ msgstr "" #: ../../library/asyncio-protocol.rst:524 msgid "" -"If the buffer size equals the high watermark, :meth:`~BaseProtocol." -"pause_writing` is not called: the buffer size must go strictly over." +"If the buffer size equals the high " +"watermark, :meth:`~BaseProtocol.pause_writing` is not called: the buffer " +"size must go strictly over." msgstr "" #: ../../library/asyncio-protocol.rst:528 @@ -731,11 +729,10 @@ msgstr "" #: ../../library/asyncio-protocol.rst:537 msgid "" -"Event methods, such as :meth:`loop.create_server`, :meth:`loop." -"create_unix_server`, :meth:`loop.create_connection`, :meth:`loop." -"create_unix_connection`, :meth:`loop.connect_accepted_socket`, :meth:`loop." -"connect_read_pipe`, and :meth:`loop.connect_write_pipe` accept factories " -"that return streaming protocols." +"Event methods, such " +"as :meth:`loop.create_server`, :meth:`loop.create_unix_server`, :meth:`loop.create_connection`, :meth:`loop.create_unix_connection`, :meth:`loop.connect_accepted_socket`, :meth:`loop.connect_read_pipe`, " +"and :meth:`loop.connect_write_pipe` accept factories that return streaming " +"protocols." msgstr "" #: ../../library/asyncio-protocol.rst:545 @@ -846,17 +843,17 @@ msgstr "" #: ../../library/asyncio-protocol.rst:626 msgid "" -"See the documentation of the :meth:`protocol.eof_received() ` method." +"See the documentation of the :meth:`protocol.eof_received() " +"` method." msgstr "" #: ../../library/asyncio-protocol.rst:630 msgid "" ":meth:`~BufferedProtocol.get_buffer` can be called an arbitrary number of " "times during a connection. However, :meth:`protocol.eof_received() " -"` is called at most once and, if called, :meth:" -"`~BufferedProtocol.get_buffer` and :meth:`~BufferedProtocol.buffer_updated` " -"won't be called after it." +"` is called at most once and, if " +"called, :meth:`~BufferedProtocol.get_buffer` " +"and :meth:`~BufferedProtocol.buffer_updated` won't be called after it." msgstr "" #: ../../library/asyncio-protocol.rst:649 @@ -878,8 +875,8 @@ msgstr "" #: ../../library/asyncio-protocol.rst:662 msgid "" -"Called when a previous send or receive operation raises an :class:" -"`OSError`. *exc* is the :class:`OSError` instance." +"Called when a previous send or receive operation raises " +"an :class:`OSError`. *exc* is the :class:`OSError` instance." msgstr "" #: ../../library/asyncio-protocol.rst:665 @@ -898,10 +895,10 @@ msgstr "" #: ../../library/asyncio-protocol.rst:676 msgid "" -"The socket always appears 'ready' and excess packets are dropped. An :class:" -"`OSError` with ``errno`` set to :const:`errno.ENOBUFS` may or may not be " -"raised; if it is raised, it will be reported to :meth:`DatagramProtocol." -"error_received` but otherwise ignored." +"The socket always appears 'ready' and excess packets are dropped. " +"An :class:`OSError` with ``errno`` set to :const:`errno.ENOBUFS` may or may " +"not be raised; if it is raised, it will be reported " +"to :meth:`DatagramProtocol.error_received` but otherwise ignored." msgstr "" #: ../../library/asyncio-protocol.rst:685 @@ -943,101 +940,107 @@ msgstr "" msgid "Called when the child process has exited." msgstr "Chamado quando o processo filho encerrou." -#: ../../library/asyncio-protocol.rst:713 +#: ../../library/asyncio-protocol.rst:711 +msgid "" +"It can be called before :meth:`~SubprocessProtocol.pipe_data_received` " +"and :meth:`~SubprocessProtocol.pipe_connection_lost` methods." +msgstr "" + +#: ../../library/asyncio-protocol.rst:716 msgid "Examples" msgstr "Exemplos" -#: ../../library/asyncio-protocol.rst:718 +#: ../../library/asyncio-protocol.rst:721 msgid "TCP Echo Server" msgstr "" -#: ../../library/asyncio-protocol.rst:720 +#: ../../library/asyncio-protocol.rst:723 msgid "" "Create a TCP echo server using the :meth:`loop.create_server` method, send " "back received data, and close the connection::" msgstr "" -#: ../../library/asyncio-protocol.rst:761 +#: ../../library/asyncio-protocol.rst:764 msgid "" "The :ref:`TCP echo server using streams ` " "example uses the high-level :func:`asyncio.start_server` function." msgstr "" -#: ../../library/asyncio-protocol.rst:767 +#: ../../library/asyncio-protocol.rst:770 msgid "TCP Echo Client" msgstr "" -#: ../../library/asyncio-protocol.rst:769 +#: ../../library/asyncio-protocol.rst:772 msgid "" "A TCP echo client using the :meth:`loop.create_connection` method, sends " "data, and waits until the connection is closed::" msgstr "" -#: ../../library/asyncio-protocol.rst:817 +#: ../../library/asyncio-protocol.rst:820 msgid "" "The :ref:`TCP echo client using streams ` " "example uses the high-level :func:`asyncio.open_connection` function." msgstr "" -#: ../../library/asyncio-protocol.rst:824 +#: ../../library/asyncio-protocol.rst:827 msgid "UDP Echo Server" msgstr "" -#: ../../library/asyncio-protocol.rst:826 +#: ../../library/asyncio-protocol.rst:829 msgid "" "A UDP echo server, using the :meth:`loop.create_datagram_endpoint` method, " "sends back received data::" msgstr "" -#: ../../library/asyncio-protocol.rst:868 +#: ../../library/asyncio-protocol.rst:871 msgid "UDP Echo Client" msgstr "" -#: ../../library/asyncio-protocol.rst:870 +#: ../../library/asyncio-protocol.rst:873 msgid "" "A UDP echo client, using the :meth:`loop.create_datagram_endpoint` method, " "sends data and closes the transport when it receives the answer::" msgstr "" -#: ../../library/asyncio-protocol.rst:925 +#: ../../library/asyncio-protocol.rst:928 msgid "Connecting Existing Sockets" msgstr "" -#: ../../library/asyncio-protocol.rst:927 +#: ../../library/asyncio-protocol.rst:930 msgid "" "Wait until a socket receives data using the :meth:`loop.create_connection` " "method with a protocol::" msgstr "" -#: ../../library/asyncio-protocol.rst:981 +#: ../../library/asyncio-protocol.rst:984 msgid "" "The :ref:`watch a file descriptor for read events " -"` example uses the low-level :meth:`loop." -"add_reader` method to register an FD." +"` example uses the low-" +"level :meth:`loop.add_reader` method to register an FD." msgstr "" -#: ../../library/asyncio-protocol.rst:985 +#: ../../library/asyncio-protocol.rst:988 msgid "" "The :ref:`register an open socket to wait for data using streams " "` example uses high-level streams " "created by the :func:`open_connection` function in a coroutine." msgstr "" -#: ../../library/asyncio-protocol.rst:992 +#: ../../library/asyncio-protocol.rst:995 msgid "loop.subprocess_exec() and SubprocessProtocol" msgstr "" -#: ../../library/asyncio-protocol.rst:994 +#: ../../library/asyncio-protocol.rst:997 msgid "" "An example of a subprocess protocol used to get the output of a subprocess " "and to wait for the subprocess exit." msgstr "" -#: ../../library/asyncio-protocol.rst:997 +#: ../../library/asyncio-protocol.rst:1000 msgid "The subprocess is created by the :meth:`loop.subprocess_exec` method::" msgstr "" -#: ../../library/asyncio-protocol.rst:1043 +#: ../../library/asyncio-protocol.rst:1060 msgid "" "See also the :ref:`same example ` " "written using high-level APIs." diff --git a/library/asyncio-queue.po b/library/asyncio-queue.po index aade9b4a8..b86b03877 100644 --- a/library/asyncio-queue.po +++ b/library/asyncio-queue.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Adorilson Bezerra , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Adorilson Bezerra , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,14 +37,14 @@ msgid "" "module. Although asyncio queues are not thread-safe, they are designed to " "be used specifically in async/await code." msgstr "" -"Filas asyncio são projetadas para serem similar a classes do módulo :mod:" -"`queue`. Apesar de filas asyncio não serem seguras para thread, elas são " -"projetadas para serem usadas especificamente em código async/await." +"Filas asyncio são projetadas para serem similar a classes do " +"módulo :mod:`queue`. Apesar de filas asyncio não serem seguras para thread, " +"elas são projetadas para serem usadas especificamente em código async/await." #: ../../library/asyncio-queue.rst:17 msgid "" -"Note that methods of asyncio queues don't have a *timeout* parameter; use :" -"func:`asyncio.wait_for` function to do queue operations with a timeout." +"Note that methods of asyncio queues don't have a *timeout* parameter; " +"use :func:`asyncio.wait_for` function to do queue operations with a timeout." msgstr "" "Perceba que métodos de filas asyncio não possuem um parâmetro *timeout*; use " "a função :func:`asyncio.wait_for` para realizar operações de fila com um " @@ -85,8 +80,8 @@ msgid "" "always known and can be returned by calling the :meth:`qsize` method." msgstr "" "Ao contrário da biblioteca padrão de threading :mod:`queue`, o tamanho da " -"fila é sempre conhecido e pode ser obtido através da chamada do método :meth:" -"`qsize`." +"fila é sempre conhecido e pode ser obtido através da chamada do " +"método :meth:`qsize`." #: ../../library/asyncio-queue.rst:39 msgid "Removed the *loop* parameter." @@ -110,11 +105,11 @@ msgstr "Retorna ``True`` se existem :attr:`maxsize` itens na fila." #: ../../library/asyncio-queue.rst:57 msgid "" -"If the queue was initialized with ``maxsize=0`` (the default), then :meth:" -"`full()` never returns ``True``." +"If the queue was initialized with ``maxsize=0`` (the default), " +"then :meth:`full()` never returns ``True``." msgstr "" -"Se a fila foi inicializada com ``maxsize=0`` (o padrão), então :meth:" -"`full()` nunca retorna ``True``." +"Se a fila foi inicializada com ``maxsize=0`` (o padrão), " +"então :meth:`full()` nunca retorna ``True``." #: ../../library/asyncio-queue.rst:62 msgid "" @@ -139,16 +134,16 @@ msgstr "" #: ../../library/asyncio-queue.rst:74 msgid "" "The count of unfinished tasks goes up whenever an item is added to the " -"queue. The count goes down whenever a consumer coroutine calls :meth:" -"`task_done` to indicate that the item was retrieved and all work on it is " -"complete. When the count of unfinished tasks drops to zero, :meth:`join` " -"unblocks." +"queue. The count goes down whenever a consumer coroutine " +"calls :meth:`task_done` to indicate that the item was retrieved and all work " +"on it is complete. When the count of unfinished tasks drops to " +"zero, :meth:`join` unblocks." msgstr "" "A contagem de tarefas inacabadas aumenta sempre que um item é adicionado à " -"fila. A contagem diminui sempre que uma corrotina consumidora chama :meth:" -"`task_done` para indicar que o item foi recuperado e todo o trabalho nele " -"foi concluído. Quando a contagem de tarefas inacabadas chega a zero, :meth:" -"`join` desbloqueia." +"fila. A contagem diminui sempre que uma corrotina consumidora " +"chama :meth:`task_done` para indicar que o item foi recuperado e todo o " +"trabalho nele foi concluído. Quando a contagem de tarefas inacabadas chega a " +"zero, :meth:`join` desbloqueia." #: ../../library/asyncio-queue.rst:82 msgid "" @@ -165,8 +160,8 @@ msgstr "Coloca um item na fila sem bloqueá-la." #: ../../library/asyncio-queue.rst:89 msgid "If no free slot is immediately available, raise :exc:`QueueFull`." msgstr "" -"Se nenhuma posição livre estiver imediatamente disponível, levanta :exc:" -"`QueueFull`." +"Se nenhuma posição livre estiver imediatamente disponível, " +"levanta :exc:`QueueFull`." #: ../../library/asyncio-queue.rst:93 msgid "Return the number of items in the queue." diff --git a/library/asyncio-runner.po b/library/asyncio-runner.po index 649b10587..f58e1e0fc 100644 --- a/library/asyncio-runner.po +++ b/library/asyncio-runner.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Vinicius Gubiani Ferreira , 2022 -# Italo Penaforte , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2022-11-05 19:48+0000\n" -"Last-Translator: Italo Penaforte , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -71,8 +70,8 @@ msgstr "" #: ../../library/asyncio-runner.rst:36 ../../library/asyncio-runner.rst:73 msgid "" "If *debug* is ``True``, the event loop will be run in debug mode. ``False`` " -"disables debug mode explicitly. ``None`` is used to respect the global :ref:" -"`asyncio-debug-mode` settings." +"disables debug mode explicitly. ``None`` is used to respect the " +"global :ref:`asyncio-debug-mode` settings." msgstr "" #: ../../library/asyncio-runner.rst:40 @@ -110,8 +109,8 @@ msgstr "" #: ../../library/asyncio-runner.rst:70 msgid "" -"Sometimes several top-level async functions should be called in the same :" -"ref:`event loop ` and :class:`contextvars.Context`." +"Sometimes several top-level async functions should be called in the " +"same :ref:`event loop ` and :class:`contextvars.Context`." msgstr "" #: ../../library/asyncio-runner.rst:77 @@ -138,9 +137,9 @@ msgstr "" #: ../../library/asyncio-runner.rst:99 msgid "" -"An optional keyword-only *context* argument allows specifying a custom :" -"class:`contextvars.Context` for the *coro* to run in. The runner's default " -"context is used if ``None``." +"An optional keyword-only *context* argument allows specifying a " +"custom :class:`contextvars.Context` for the *coro* to run in. The runner's " +"default context is used if ``None``." msgstr "" #: ../../library/asyncio-runner.rst:108 @@ -175,10 +174,10 @@ msgstr "" #: ../../library/asyncio-runner.rst:131 msgid "" -"When :const:`signal.SIGINT` is raised by :kbd:`Ctrl-C`, :exc:" -"`KeyboardInterrupt` exception is raised in the main thread by default. " -"However this doesn't work with :mod:`asyncio` because it can interrupt " -"asyncio internals and can hang the program from exiting." +"When :const:`signal.SIGINT` is raised by :kbd:`Ctrl-" +"C`, :exc:`KeyboardInterrupt` exception is raised in the main thread by " +"default. However this doesn't work with :mod:`asyncio` because it can " +"interrupt asyncio internals and can hang the program from exiting." msgstr "" #: ../../library/asyncio-runner.rst:136 @@ -206,14 +205,14 @@ msgid "" "handler cancels the main task by calling :meth:`asyncio.Task.cancel` which " "raises :exc:`asyncio.CancelledError` inside the main task. This causes the " "Python stack to unwind, ``try/except`` and ``try/finally`` blocks can be " -"used for resource cleanup. After the main task is cancelled, :meth:`asyncio." -"Runner.run` raises :exc:`KeyboardInterrupt`." +"used for resource cleanup. After the main task is " +"cancelled, :meth:`asyncio.Runner.run` raises :exc:`KeyboardInterrupt`." msgstr "" #: ../../library/asyncio-runner.rst:148 msgid "" -"A user could write a tight loop which cannot be interrupted by :meth:" -"`asyncio.Task.cancel`, in which case the second following :kbd:`Ctrl-C` " -"immediately raises the :exc:`KeyboardInterrupt` without cancelling the main " -"task." +"A user could write a tight loop which cannot be interrupted " +"by :meth:`asyncio.Task.cancel`, in which case the second " +"following :kbd:`Ctrl-C` immediately raises the :exc:`KeyboardInterrupt` " +"without cancelling the main task." msgstr "" diff --git a/library/asyncio-stream.po b/library/asyncio-stream.po index c4106a6b1..844351bb0 100644 --- a/library/asyncio-stream.po +++ b/library/asyncio-stream.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Cássio Nomura , 2021 -# i17obot , 2021 -# Adorilson Bezerra , 2022 -# Vinicius Gubiani Ferreira , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Vinicius Gubiani Ferreira , 2022\n" +"POT-Creation-Date: 2026-10-21 21:52+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -78,33 +73,35 @@ msgstr "" #: ../../library/asyncio-stream.rst:61 msgid "" -"The returned *reader* and *writer* objects are instances of :class:" -"`StreamReader` and :class:`StreamWriter` classes." +"The returned *reader* and *writer* objects are instances " +"of :class:`StreamReader` and :class:`StreamWriter` classes." msgstr "" -"Os objetos *reader* e *writer* retornados são instâncias das classes :class:" -"`StreamReader` e :class:`StreamWriter`." +"Os objetos *reader* e *writer* retornados são instâncias das " +"classes :class:`StreamReader` e :class:`StreamWriter`." #: ../../library/asyncio-stream.rst:64 ../../library/asyncio-stream.rst:109 msgid "" -"*limit* determines the buffer size limit used by the returned :class:" -"`StreamReader` instance. By default the *limit* is set to 64 KiB." +"*limit* determines the buffer size limit used by the " +"returned :class:`StreamReader` instance. By default the *limit* is set to " +"64 KiB." msgstr "" -"*limit* determina o tamanho limite do buffer usado pela instância :class:" -"`StreamReader` retornada. Por padrão, *limit* é definido em 64 KiB." +"*limit* determina o tamanho limite do buffer usado pela " +"instância :class:`StreamReader` retornada. Por padrão, *limit* é definido em " +"64 KiB." #: ../../library/asyncio-stream.rst:68 msgid "" -"The rest of the arguments are passed directly to :meth:`loop." -"create_connection`." +"The rest of the arguments are passed directly " +"to :meth:`loop.create_connection`." msgstr "" -"O resto dos argumentos é passado diretamente para :meth:`loop." -"create_connection`." +"O resto dos argumentos é passado diretamente " +"para :meth:`loop.create_connection`." #: ../../library/asyncio-stream.rst:73 ../../library/asyncio-stream.rst:147 msgid "" -"The *sock* argument transfers ownership of the socket to the :class:" -"`StreamWriter` created. To close the socket, call its :meth:`~asyncio." -"StreamWriter.close` method." +"The *sock* argument transfers ownership of the socket to " +"the :class:`StreamWriter` created. To close the socket, call " +"its :meth:`~asyncio.StreamWriter.close` method." msgstr "" #: ../../library/asyncio-stream.rst:77 @@ -112,8 +109,8 @@ msgid "Added the *ssl_handshake_timeout* parameter." msgstr "Adicionado o parâmetro *ssl_handshake_timeout*." #: ../../library/asyncio-stream.rst:80 -msgid "Added *happy_eyeballs_delay* and *interleave* parameters." -msgstr "" +msgid "Added the *happy_eyeballs_delay* and *interleave* parameters." +msgstr "Adicionados os parâmetros *happy_eyeballs_delay* e *interleave*." #: ../../library/asyncio-stream.rst:83 ../../library/asyncio-stream.rst:125 #: ../../library/asyncio-stream.rst:157 ../../library/asyncio-stream.rst:187 @@ -138,8 +135,8 @@ msgid "" msgstr "" "A função de retorno *client_connected_cb* é chamada sempre que uma nova " "conexão de um cliente é estabelecida. Ela recebe um par ``(reader, writer)`` " -"como dois argumentos, instâncias das classes :class:`StreamReader` e :class:" -"`StreamWriter`." +"como dois argumentos, instâncias das classes :class:`StreamReader` " +"e :class:`StreamWriter`." #: ../../library/asyncio-stream.rst:105 msgid "" @@ -147,16 +144,16 @@ msgid "" "`; if it is a coroutine function, it will be automatically " "scheduled as a :class:`Task`." msgstr "" -"*client_connected_cb* pode ser simplesmente algo chamável ou uma :ref:" -"`função de corrotina`; se ele for uma função de corrotina, ele " -"será automaticamente agendado como uma :class:`Task`." +"*client_connected_cb* pode ser simplesmente algo chamável ou " +"uma :ref:`função de corrotina`; se ele for uma função de " +"corrotina, ele será automaticamente agendado como uma :class:`Task`." #: ../../library/asyncio-stream.rst:113 msgid "" "The rest of the arguments are passed directly to :meth:`loop.create_server`." msgstr "" -"O resto dos argumentos são passados diretamente para :meth:`loop." -"create_server`." +"O resto dos argumentos são passados diretamente " +"para :meth:`loop.create_server`." #: ../../library/asyncio-stream.rst:118 ../../library/asyncio-stream.rst:177 msgid "" @@ -223,47 +220,51 @@ msgstr "StreamReader" #: ../../library/asyncio-stream.rst:199 msgid "" "Represents a reader object that provides APIs to read data from the IO " -"stream. As an :term:`asynchronous iterable`, the object supports the :" -"keyword:`async for` statement." +"stream. As an :term:`asynchronous iterable`, the object supports " +"the :keyword:`async for` statement." msgstr "" #: ../../library/asyncio-stream.rst:203 msgid "" -"It is not recommended to instantiate *StreamReader* objects directly; use :" -"func:`open_connection` and :func:`start_server` instead." +"It is not recommended to instantiate *StreamReader* objects directly; " +"use :func:`open_connection` and :func:`start_server` instead." msgstr "" -"Não é recomendado instanciar objetos *StreamReader* diretamente; use :func:" -"`open_connection` e :func:`start_server` ao invés disso." +"Não é recomendado instanciar objetos *StreamReader* diretamente; " +"use :func:`open_connection` e :func:`start_server` ao invés disso." #: ../../library/asyncio-stream.rst:209 +msgid "Acknowledge the EOF." +msgstr "" + +#: ../../library/asyncio-stream.rst:213 msgid "Read up to *n* bytes from the stream." msgstr "" -#: ../../library/asyncio-stream.rst:211 +#: ../../library/asyncio-stream.rst:215 msgid "" "If *n* is not provided or set to ``-1``, read until EOF, then return all " "read :class:`bytes`. If EOF was received and the internal buffer is empty, " "return an empty ``bytes`` object." msgstr "" -#: ../../library/asyncio-stream.rst:216 +#: ../../library/asyncio-stream.rst:220 msgid "If *n* is ``0``, return an empty ``bytes`` object immediately." msgstr "" -#: ../../library/asyncio-stream.rst:218 +#: ../../library/asyncio-stream.rst:222 msgid "" "If *n* is positive, return at most *n* available ``bytes`` as soon as at " "least 1 byte is available in the internal buffer. If EOF is received before " "any byte is read, return an empty ``bytes`` object." msgstr "" -#: ../../library/asyncio-stream.rst:225 +#: ../../library/asyncio-stream.rst:229 msgid "" "Read one line, where \"line\" is a sequence of bytes ending with ``\\n``." msgstr "" "Lê uma linha, onde \"line\" é uma sequência de bytes encerrando com ``\\n``." -#: ../../library/asyncio-stream.rst:228 +#: ../../library/asyncio-stream.rst:232 msgid "" "If EOF is received and ``\\n`` was not found, the method returns partially " "read data." @@ -271,7 +272,7 @@ msgstr "" "Se EOF é recebido e ``\\n`` não foi encontrado, o método retorna os dados " "parcialmente lidos." -#: ../../library/asyncio-stream.rst:231 +#: ../../library/asyncio-stream.rst:235 msgid "" "If EOF is received and the internal buffer is empty, return an empty " "``bytes`` object." @@ -279,11 +280,11 @@ msgstr "" "Se EOF for recebido e o buffer interno estiver vazio, retorna um objeto " "``bytes`` vazio." -#: ../../library/asyncio-stream.rst:236 +#: ../../library/asyncio-stream.rst:240 msgid "Read exactly *n* bytes." msgstr "Lê exatamente *n* bytes." -#: ../../library/asyncio-stream.rst:238 +#: ../../library/asyncio-stream.rst:242 msgid "" "Raise an :exc:`IncompleteReadError` if EOF is reached before *n* can be " "read. Use the :attr:`IncompleteReadError.partial` attribute to get the " @@ -293,11 +294,11 @@ msgstr "" "lidos. Use o atributo :attr:`IncompleteReadError.partial` para obter os " "dados parcialmente lidos." -#: ../../library/asyncio-stream.rst:244 +#: ../../library/asyncio-stream.rst:248 msgid "Read data from the stream until *separator* is found." msgstr "Lê dados a partir do stream até que *separator* seja encontrado." -#: ../../library/asyncio-stream.rst:246 +#: ../../library/asyncio-stream.rst:250 msgid "" "On success, the data and separator will be removed from the internal buffer " "(consumed). Returned data will include the separator at the end." @@ -305,53 +306,53 @@ msgstr "" "Ao ter sucesso, os dados e o separador serão removidos do buffer interno " "(consumido). Dados retornados irão incluir o separador no final." -#: ../../library/asyncio-stream.rst:250 +#: ../../library/asyncio-stream.rst:254 msgid "" -"If the amount of data read exceeds the configured stream limit, a :exc:" -"`LimitOverrunError` exception is raised, and the data is left in the " +"If the amount of data read exceeds the configured stream limit, " +"a :exc:`LimitOverrunError` exception is raised, and the data is left in the " "internal buffer and can be read again." msgstr "" "Se a quantidade de dados lidos excede o limite configurado para o stream, " "uma exceção :exc:`LimitOverrunError` é levantada, e os dados são deixados no " "buffer interno e podem ser lidos novamente." -#: ../../library/asyncio-stream.rst:254 +#: ../../library/asyncio-stream.rst:258 msgid "" -"If EOF is reached before the complete separator is found, an :exc:" -"`IncompleteReadError` exception is raised, and the internal buffer is " -"reset. The :attr:`IncompleteReadError.partial` attribute may contain a " +"If EOF is reached before the complete separator is found, " +"an :exc:`IncompleteReadError` exception is raised, and the internal buffer " +"is reset. The :attr:`IncompleteReadError.partial` attribute may contain a " "portion of the separator." msgstr "" "Se EOF for atingido antes que o separador completo seja encontrado, uma " "exceção :exc:`IncompleteReadError` é levantada, e o buffer interno é " -"resetado. O atributo :attr:`IncompleteReadError.partial` pode conter uma " +"redefinido. O atributo :attr:`IncompleteReadError.partial` pode conter uma " "parte do separador." -#: ../../library/asyncio-stream.rst:263 +#: ../../library/asyncio-stream.rst:267 msgid "Return ``True`` if the buffer is empty and :meth:`feed_eof` was called." msgstr "" "Retorna ``True`` se o buffer estiver vazio e :meth:`feed_eof` foi chamado." -#: ../../library/asyncio-stream.rst:268 +#: ../../library/asyncio-stream.rst:272 msgid "StreamWriter" msgstr "StreamWriter" -#: ../../library/asyncio-stream.rst:272 +#: ../../library/asyncio-stream.rst:276 msgid "" "Represents a writer object that provides APIs to write data to the IO stream." msgstr "" "Representa um objeto de escrita que fornece APIs para escrever dados para o " "stream de IO." -#: ../../library/asyncio-stream.rst:275 +#: ../../library/asyncio-stream.rst:279 msgid "" -"It is not recommended to instantiate *StreamWriter* objects directly; use :" -"func:`open_connection` and :func:`start_server` instead." +"It is not recommended to instantiate *StreamWriter* objects directly; " +"use :func:`open_connection` and :func:`start_server` instead." msgstr "" -"Não é recomendado instanciar objetos *StreamWriter* diretamente; use :func:" -"`open_connection` e :func:`start_server` ao invés." +"Não é recomendado instanciar objetos *StreamWriter* diretamente; " +"use :func:`open_connection` e :func:`start_server` ao invés." -#: ../../library/asyncio-stream.rst:281 +#: ../../library/asyncio-stream.rst:285 msgid "" "The method attempts to write the *data* to the underlying socket " "immediately. If that fails, the data is queued in an internal write buffer " @@ -361,11 +362,11 @@ msgstr "" "isso falhar, data é enfileirado em um buffer interno de escrita, até que " "possa ser enviado." -#: ../../library/asyncio-stream.rst:285 ../../library/asyncio-stream.rst:297 +#: ../../library/asyncio-stream.rst:289 ../../library/asyncio-stream.rst:301 msgid "The method should be used along with the ``drain()`` method::" msgstr "O método deve ser usado juntamente com o método ``drain()``::" -#: ../../library/asyncio-stream.rst:292 +#: ../../library/asyncio-stream.rst:296 msgid "" "The method writes a list (or any iterable) of bytes to the underlying socket " "immediately. If that fails, the data is queued in an internal write buffer " @@ -375,75 +376,75 @@ msgstr "" "o soquete subjacente. Se isso falhar, os dados são enfileirados em um buffer " "de escrita interno até que possam ser enviados." -#: ../../library/asyncio-stream.rst:304 +#: ../../library/asyncio-stream.rst:308 msgid "The method closes the stream and the underlying socket." msgstr "O método fecha o stream e o soquete subjacente." -#: ../../library/asyncio-stream.rst:306 +#: ../../library/asyncio-stream.rst:310 msgid "" "The method should be used, though not mandatory, along with the " "``wait_closed()`` method::" msgstr "" -#: ../../library/asyncio-stream.rst:314 +#: ../../library/asyncio-stream.rst:318 msgid "" "Return ``True`` if the underlying transport supports the :meth:`write_eof` " "method, ``False`` otherwise." msgstr "" -"Retorna ``True`` se o transporte subjacente suporta o método :meth:" -"`write_eof`, ``False`` caso contrário." +"Retorna ``True`` se o transporte subjacente suporta o " +"método :meth:`write_eof`, ``False`` caso contrário." -#: ../../library/asyncio-stream.rst:319 +#: ../../library/asyncio-stream.rst:323 msgid "" "Close the write end of the stream after the buffered write data is flushed." msgstr "" "Fecha o extremo de escrita do stream após os dados no buffer de escrita " "terem sido descarregados." -#: ../../library/asyncio-stream.rst:324 +#: ../../library/asyncio-stream.rst:328 msgid "Return the underlying asyncio transport." msgstr "Retorna o transporte asyncio subjacente." -#: ../../library/asyncio-stream.rst:328 +#: ../../library/asyncio-stream.rst:332 msgid "" -"Access optional transport information; see :meth:`BaseTransport." -"get_extra_info` for details." +"Access optional transport information; " +"see :meth:`BaseTransport.get_extra_info` for details." msgstr "" -"Acessa informações de transporte opcionais; veja :meth:`BaseTransport." -"get_extra_info` para detalhes." +"Acessa informações de transporte opcionais; " +"veja :meth:`BaseTransport.get_extra_info` para detalhes." -#: ../../library/asyncio-stream.rst:333 +#: ../../library/asyncio-stream.rst:337 msgid "Wait until it is appropriate to resume writing to the stream. Example::" msgstr "" "Aguarda até que seja apropriado continuar escrevendo no stream. Exemplo::" -#: ../../library/asyncio-stream.rst:339 +#: ../../library/asyncio-stream.rst:343 msgid "" "This is a flow control method that interacts with the underlying IO write " "buffer. When the size of the buffer reaches the high watermark, *drain()* " "blocks until the size of the buffer is drained down to the low watermark and " -"writing can be resumed. When there is nothing to wait for, the :meth:" -"`drain` returns immediately." +"writing can be resumed. When there is nothing to wait for, " +"the :meth:`drain` returns immediately." msgstr "" "Este é um método de controle de fluxo que interage com o buffer de entrada e " "saída de escrita subjacente. Quando o tamanho do buffer atinge a marca " -"d'agua alta, *drain()* bloqueia até que o tamanho do buffer seja drenado " +"d'água alta, *drain()* bloqueia até que o tamanho do buffer seja drenado " "para a marca d'água baixa, e a escrita possa continuar. Quando não existe " "nada que cause uma espera, o método :meth:`drain` retorna imediatamente." -#: ../../library/asyncio-stream.rst:349 +#: ../../library/asyncio-stream.rst:353 msgid "Upgrade an existing stream-based connection to TLS." msgstr "" -#: ../../library/asyncio-stream.rst:351 +#: ../../library/asyncio-stream.rst:355 msgid "Parameters:" msgstr "Parâmetros:" -#: ../../library/asyncio-stream.rst:353 +#: ../../library/asyncio-stream.rst:357 msgid "*sslcontext*: a configured instance of :class:`~ssl.SSLContext`." msgstr "*sslcontext*: uma instância configurada de :class:`~ssl.SSLContext`." -#: ../../library/asyncio-stream.rst:355 +#: ../../library/asyncio-stream.rst:359 msgid "" "*server_hostname*: sets or overrides the host name that the target server's " "certificate will be matched against." @@ -451,102 +452,109 @@ msgstr "" "*server_hostname*: define ou substitui o nome do host no qual o servidor " "alvo do certificado será comparado." -#: ../../library/asyncio-stream.rst:358 +#: ../../library/asyncio-stream.rst:362 msgid "" "*ssl_handshake_timeout* is the time in seconds to wait for the TLS handshake " "to complete before aborting the connection. ``60.0`` seconds if ``None`` " "(default)." msgstr "" -#: ../../library/asyncio-stream.rst:366 +#: ../../library/asyncio-stream.rst:368 +msgid "" +"Raises a ``DeprecationWarning`` if ``ssl.check_hostname`` is ``True`` and " +"``server_hostname`` is not supplied. In Python 3.13 and later a " +"``ValueError`` is raised instead." +msgstr "" + +#: ../../library/asyncio-stream.rst:376 msgid "" "Return ``True`` if the stream is closed or in the process of being closed." msgstr "" "Retorna ``True`` se o stream estiver fechado ou em processo de ser fechado." -#: ../../library/asyncio-stream.rst:373 +#: ../../library/asyncio-stream.rst:383 msgid "Wait until the stream is closed." msgstr "Aguarda até que o stream seja fechado." -#: ../../library/asyncio-stream.rst:375 +#: ../../library/asyncio-stream.rst:385 msgid "" "Should be called after :meth:`close` to wait until the underlying connection " "is closed, ensuring that all data has been flushed before e.g. exiting the " "program." msgstr "" -#: ../../library/asyncio-stream.rst:383 +#: ../../library/asyncio-stream.rst:393 msgid "Examples" msgstr "Exemplos" -#: ../../library/asyncio-stream.rst:388 +#: ../../library/asyncio-stream.rst:398 msgid "TCP echo client using streams" msgstr "Cliente para eco TCP usando streams" -#: ../../library/asyncio-stream.rst:390 +#: ../../library/asyncio-stream.rst:400 msgid "TCP echo client using the :func:`asyncio.open_connection` function::" msgstr "Cliente de eco TCP usando a função :func:`asyncio.open_connection`::" -#: ../../library/asyncio-stream.rst:414 +#: ../../library/asyncio-stream.rst:424 msgid "" "The :ref:`TCP echo client protocol " -"` example uses the low-level :meth:" -"`loop.create_connection` method." +"` example uses the low-" +"level :meth:`loop.create_connection` method." msgstr "" "O exemplo de :ref:`protocolo do cliente para eco TCP " -"` usa o método de baixo nível :" -"meth:`loop.create_connection`." +"` usa o método de baixo " +"nível :meth:`loop.create_connection`." -#: ../../library/asyncio-stream.rst:421 +#: ../../library/asyncio-stream.rst:431 msgid "TCP echo server using streams" msgstr "Servidor eco TCP usando streams" -#: ../../library/asyncio-stream.rst:423 +#: ../../library/asyncio-stream.rst:433 msgid "TCP echo server using the :func:`asyncio.start_server` function::" msgstr "Servidor eco TCP usando a função :func:`asyncio.start_server`::" -#: ../../library/asyncio-stream.rst:457 +#: ../../library/asyncio-stream.rst:467 msgid "" "The :ref:`TCP echo server protocol " -"` example uses the :meth:`loop." -"create_server` method." +"` example uses " +"the :meth:`loop.create_server` method." msgstr "" "O exemplo de :ref:`protocolo eco de servidor TCP " -"` utiliza o método :meth:`loop." -"create_server`." +"` utiliza o " +"método :meth:`loop.create_server`." -#: ../../library/asyncio-stream.rst:462 +#: ../../library/asyncio-stream.rst:472 msgid "Get HTTP headers" msgstr "Obtém headers HTTP" -#: ../../library/asyncio-stream.rst:464 +#: ../../library/asyncio-stream.rst:474 msgid "" "Simple example querying HTTP headers of the URL passed on the command line::" msgstr "" "Exemplo simples consultando cabeçalhos HTTP da URL passada na linha de " "comando::" -#: ../../library/asyncio-stream.rst:503 +#: ../../library/asyncio-stream.rst:513 msgid "Usage::" msgstr "Uso::" -#: ../../library/asyncio-stream.rst:507 +#: ../../library/asyncio-stream.rst:517 msgid "or with HTTPS::" msgstr "ou com HTTPS::" -#: ../../library/asyncio-stream.rst:515 +#: ../../library/asyncio-stream.rst:525 msgid "Register an open socket to wait for data using streams" msgstr "Registra um soquete aberto para aguardar por dados usando streams" -#: ../../library/asyncio-stream.rst:517 +#: ../../library/asyncio-stream.rst:527 msgid "" -"Coroutine waiting until a socket receives data using the :func:" -"`open_connection` function::" +"Coroutine waiting until a socket receives data using " +"the :func:`open_connection` function::" msgstr "" -"Corrotina aguardando até que um soquete receba dados usando a função :func:" -"`open_connection`::" +"Corrotina aguardando até que um soquete receba dados usando a " +"função :func:`open_connection`::" -#: ../../library/asyncio-stream.rst:552 +#: ../../library/asyncio-stream.rst:562 msgid "" "The :ref:`register an open socket to wait for data using a protocol " "` example uses a low-level protocol and " @@ -556,12 +564,12 @@ msgstr "" "usando um protocolo ` utiliza um " "protocolo de baixo nível e o método :meth:`loop.create_connection`." -#: ../../library/asyncio-stream.rst:556 +#: ../../library/asyncio-stream.rst:566 msgid "" "The :ref:`watch a file descriptor for read events " -"` example uses the low-level :meth:`loop." -"add_reader` method to watch a file descriptor." +"` example uses the low-" +"level :meth:`loop.add_reader` method to watch a file descriptor." msgstr "" "O exemplo para :ref:`monitorar um descritor de arquivo para leitura de " -"eventos ` utiliza o método de baixo nível :meth:" -"`loop.add_reader` para monitorar um descritor de arquivo." +"eventos ` utiliza o método de baixo " +"nível :meth:`loop.add_reader` para monitorar um descritor de arquivo." diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po index 77f9c51ac..a25c28275 100644 --- a/library/asyncio-subprocess.po +++ b/library/asyncio-subprocess.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -89,12 +84,13 @@ msgstr "Cria um subprocesso." #: ../../library/asyncio-subprocess.rst:87 msgid "" "The *limit* argument sets the buffer limit for :class:`StreamReader` " -"wrappers for :attr:`Process.stdout` and :attr:`Process.stderr` (if :attr:" -"`subprocess.PIPE` is passed to *stdout* and *stderr* arguments)." +"wrappers for :attr:`Process.stdout` and :attr:`Process.stderr` " +"(if :const:`subprocess.PIPE` is passed to *stdout* and *stderr* arguments)." msgstr "" -"O argumento *limit* define o limite do buffer para os wrappers :class:" -"`StreamReader` para :attr:`Process.stdout` e :attr:`Process.stderr` (se :" -"attr:`subprocess.PIPE` for passado para os argumentos *stdout* e *stderr*)." +"O argumento *limit* define o limite do buffer para os " +"invólucros :class:`StreamReader` para :attr:`Process.stdout` " +"e :attr:`Process.stderr` (se :const:`subprocess.PIPE` for passado para os " +"argumentos *stdout* e *stderr*)." #: ../../library/asyncio-subprocess.rst:73 #: ../../library/asyncio-subprocess.rst:91 @@ -144,23 +140,22 @@ msgid "" "used. See :ref:`Subprocess Support on Windows ` " "for details." msgstr "" -"Subprocessos estão disponíveis para Windows se uma :class:" -"`ProactorEventLoop` for usada. Veja :ref:`Suporte para subprocesso para " -"Windows ` para detalhes." +"Subprocessos estão disponíveis para Windows se " +"uma :class:`ProactorEventLoop` for usada. Veja :ref:`Suporte para " +"subprocesso para Windows ` para detalhes." #: ../../library/asyncio-subprocess.rst:116 msgid "" -"asyncio also has the following *low-level* APIs to work with subprocesses: :" -"meth:`loop.subprocess_exec`, :meth:`loop.subprocess_shell`, :meth:`loop." -"connect_read_pipe`, :meth:`loop.connect_write_pipe`, as well as the :ref:" -"`Subprocess Transports ` and :ref:`Subprocess " -"Protocols `." +"asyncio also has the following *low-level* APIs to work with " +"subprocesses: :meth:`loop.subprocess_exec`, :meth:`loop.subprocess_shell`, :meth:`loop.connect_read_pipe`, :meth:`loop.connect_write_pipe`, " +"as well as the :ref:`Subprocess Transports ` " +"and :ref:`Subprocess Protocols `." msgstr "" "asyncio também tem as seguintes APIs *de baixo nível* para trabalhar com " -"subprocessos: :meth:`loop.subprocess_exec`, :meth:`loop.subprocess_shell`, :" -"meth:`loop.connect_read_pipe`, :meth:`loop.connect_write_pipe`, assim como " -"os :ref:`Transportes de Subprocesso ` e :ref:" -"`Protocolos de Subprocesso `." +"subprocessos: :meth:`loop.subprocess_exec`, :meth:`loop.subprocess_shell`, :meth:`loop.connect_read_pipe`, :meth:`loop.connect_write_pipe`, " +"assim como os :ref:`Transportes de Subprocesso ` e :ref:`Protocolos de Subprocesso `." #: ../../library/asyncio-subprocess.rst:124 msgid "Constants" @@ -172,25 +167,25 @@ msgstr "Pode ser passado para os parâmetros *stdin*, *stdout* ou *stderr*." #: ../../library/asyncio-subprocess.rst:131 msgid "" -"If *PIPE* is passed to *stdin* argument, the :attr:`Process.stdin ` attribute will point to a :class:`StreamWriter` " -"instance." +"If *PIPE* is passed to *stdin* argument, the :attr:`Process.stdin " +"` attribute will point to " +"a :class:`StreamWriter` instance." msgstr "" -"Se *PIPE* for passado para o argumento *stdin*, o atributo :attr:`Process." -"stdin ` irá apontar para uma instância :" -"class:`StreamWriter`." +"Se *PIPE* for passado para o argumento *stdin*, o " +"atributo :attr:`Process.stdin ` irá " +"apontar para uma instância :class:`StreamWriter`." #: ../../library/asyncio-subprocess.rst:135 msgid "" -"If *PIPE* is passed to *stdout* or *stderr* arguments, the :attr:`Process." -"stdout ` and :attr:`Process.stderr " -"` attributes will point to :class:" -"`StreamReader` instances." +"If *PIPE* is passed to *stdout* or *stderr* arguments, " +"the :attr:`Process.stdout ` " +"and :attr:`Process.stderr ` attributes " +"will point to :class:`StreamReader` instances." msgstr "" -"Se *PIPE* for passado para os argumentos *stdout* ou *stderr*, os atributos :" -"attr:`Process.stdout ` e :attr:`Process." -"stderr ` irão apontar para instâncias :" -"class:`StreamReader`." +"Se *PIPE* for passado para os argumentos *stdout* ou *stderr*, os " +"atributos :attr:`Process.stdout ` " +"e :attr:`Process.stderr ` irão apontar " +"para instâncias :class:`StreamReader`." #: ../../library/asyncio-subprocess.rst:143 msgid "" @@ -203,8 +198,8 @@ msgstr "" #: ../../library/asyncio-subprocess.rst:149 msgid "" "Special value that can be used as the *stdin*, *stdout* or *stderr* argument " -"to process creation functions. It indicates that the special file :data:`os." -"devnull` will be used for the corresponding subprocess stream." +"to process creation functions. It indicates that the special " +"file :data:`os.devnull` will be used for the corresponding subprocess stream." msgstr "" "Valor especial que pode ser usado como argumento *stdin*, *stdout* ou " "*stderr* para funções de criação de processos. Ele indica que o arquivo " @@ -222,44 +217,45 @@ msgid "" "level wrapper that allows communicating with subprocesses and watching for " "their completion." msgstr "" -"Ambas as funções :func:`create_subprocess_exec` e :func:" -"`create_subprocess_shell` retornam instâncias da classe *Process*. *Process* " -"é um wrapper de alto nível que permite a comunicação com subprocessos e " -"observar eles serem completados." +"Ambas as funções :func:`create_subprocess_exec` " +"e :func:`create_subprocess_shell` retornam instâncias da classe *Process*. " +"*Process* é um invólucro de alto nível que permite a comunicação com " +"subprocessos e observar eles serem completados." #: ../../library/asyncio-subprocess.rst:165 msgid "" -"An object that wraps OS processes created by the :func:" -"`create_subprocess_exec` and :func:`create_subprocess_shell` functions." +"An object that wraps OS processes created by " +"the :func:`create_subprocess_exec` and :func:`create_subprocess_shell` " +"functions." msgstr "" "Um objeto que envolve processos do sistema operacional criados pelas " "funções :func:`create_subprocess_exec` e :func:`create_subprocess_shell`." #: ../../library/asyncio-subprocess.rst:169 msgid "" -"This class is designed to have a similar API to the :class:`subprocess." -"Popen` class, but there are some notable differences:" +"This class is designed to have a similar API to " +"the :class:`subprocess.Popen` class, but there are some notable differences:" msgstr "" -"Esta classe é projetada para ter uma API similar a classe :class:`subprocess." -"Popen`, mas existem algumas diferenças notáveis:" +"Esta classe é projetada para ter uma API similar a " +"classe :class:`subprocess.Popen`, mas existem algumas diferenças notáveis:" #: ../../library/asyncio-subprocess.rst:173 msgid "" -"unlike Popen, Process instances do not have an equivalent to the :meth:" -"`~subprocess.Popen.poll` method;" +"unlike Popen, Process instances do not have an equivalent to " +"the :meth:`~subprocess.Popen.poll` method;" msgstr "" "ao contrário de Popen, instâncias de Process não têm um equivalente ao " "método :meth:`~subprocess.Popen.poll`;" #: ../../library/asyncio-subprocess.rst:176 msgid "" -"the :meth:`~asyncio.subprocess.Process.communicate` and :meth:`~asyncio." -"subprocess.Process.wait` methods don't have a *timeout* parameter: use the :" -"func:`~asyncio.wait_for` function;" +"the :meth:`~asyncio.subprocess.Process.communicate` " +"and :meth:`~asyncio.subprocess.Process.wait` methods don't have a *timeout* " +"parameter: use the :func:`~asyncio.wait_for` function;" msgstr "" -"os métodos :meth:`~asyncio.subprocess.Process.communicate` e :meth:`~asyncio." -"subprocess.Process.wait` não têm um parâmetro *timeout*: utilize a função :" -"func:`~ascyncio.wait_for`;" +"os métodos :meth:`~asyncio.subprocess.Process.communicate` " +"e :meth:`~asyncio.subprocess.Process.wait` não têm um parâmetro *timeout*: " +"utilize a função :func:`~asyncio.wait_for`;" #: ../../library/asyncio-subprocess.rst:180 msgid "" @@ -376,11 +372,11 @@ msgstr "Envia o sinal *signal* para o processo filho." #: ../../library/asyncio-subprocess.rst:238 msgid "" -"On Windows, :py:data:`SIGTERM` is an alias for :meth:`terminate`. " +"On Windows, :py:const:`~signal.SIGTERM` is an alias for :meth:`terminate`. " "``CTRL_C_EVENT`` and ``CTRL_BREAK_EVENT`` can be sent to processes started " "with a *creationflags* parameter which includes ``CREATE_NEW_PROCESS_GROUP``." msgstr "" -"No Windows, :py:data:`SIGTERM` é um apelido para :meth:`terminate`. " +"No Windows, :py:const:`~signal.SIGTERM` é um apelido para :meth:`terminate`. " "``CTRL_C_EVENT`` e ``CTRL_BREAK_EVENT`` podem ser enviados para processos " "iniciados com um parâmetro *creationflags*, o qual inclui " "``CREATE_NEW_PROCESS_GROUP``." @@ -391,18 +387,18 @@ msgstr "Interrompe o processo filho." #: ../../library/asyncio-subprocess.rst:247 msgid "" -"On POSIX systems this method sends :py:data:`signal.SIGTERM` to the child " +"On POSIX systems this method sends :py:const:`~signal.SIGTERM` to the child " "process." msgstr "" -"Em sistemas POSIX este método envia :py:data:`signal.SIGTERM` para o " +"Em sistemas POSIX este método envia :py:const:`~signal.SIGTERM` para o " "processo filho." #: ../../library/asyncio-subprocess.rst:250 msgid "" -"On Windows the Win32 API function :c:func:`TerminateProcess` is called to " +"On Windows the Win32 API function :c:func:`!TerminateProcess` is called to " "stop the child process." msgstr "" -"No Windows a função :c:func:`TerminateProcess` da API Win32 é chamada para " +"No Windows a função :c:func:`!TerminateProcess` da API Win32 é chamada para " "interromper o processo filho." #: ../../library/asyncio-subprocess.rst:255 @@ -464,8 +460,9 @@ msgid "" "Note that for processes created by the :func:`create_subprocess_shell` " "function, this attribute is the PID of the spawned shell." msgstr "" -"Perceba que para processos criados pela função :func:" -"`create_subprocess_shell`, este atributo é o PID do console gerado." +"Perceba que para processos criados pela " +"função :func:`create_subprocess_shell`, este atributo é o PID do console " +"gerado." #: ../../library/asyncio-subprocess.rst:295 msgid "Return code of the process when it exits." @@ -500,14 +497,14 @@ msgid "" "On Windows subprocesses are provided by :class:`ProactorEventLoop` only " "(default), :class:`SelectorEventLoop` has no subprocess support." msgstr "" -"No Windows, subprocessos são fornecidos pela classe :class:" -"`ProactorEventLoop` apenas (por padrão), a classe :class:`SelectorEventLoop` " -"não tem suporte a subprocesso." +"No Windows, subprocessos são fornecidos pela " +"classe :class:`ProactorEventLoop` apenas (por padrão), a " +"classe :class:`SelectorEventLoop` não tem suporte a subprocesso." #: ../../library/asyncio-subprocess.rst:314 msgid "" -"On UNIX *child watchers* are used for subprocess finish waiting, see :ref:" -"`asyncio-watchers` for more info." +"On UNIX *child watchers* are used for subprocess finish waiting, " +"see :ref:`asyncio-watchers` for more info." msgstr "" "Em sistemas UNIX, *monitores de filhos* são usados para aguardar o " "encerramento de subprocesso, veja :ref:`asyncio-watchers` para mais " @@ -523,11 +520,11 @@ msgstr "" #: ../../library/asyncio-subprocess.rst:323 msgid "" -"Spawning a subprocess with *inactive* current child watcher raises :exc:" -"`RuntimeError`." +"Spawning a subprocess with *inactive* current child watcher " +"raises :exc:`RuntimeError`." msgstr "" -"Gerar um subprocesso com um monitor *inativo* para o filho atual, levanta :" -"exc:`RuntimeError`." +"Gerar um subprocesso com um monitor *inativo* para o filho atual, " +"levanta :exc:`RuntimeError`." #: ../../library/asyncio-subprocess.rst:326 msgid "" diff --git a/library/asyncio-sync.po b/library/asyncio-sync.po index 0b3132db1..534e3f763 100644 --- a/library/asyncio-sync.po +++ b/library/asyncio-sync.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Italo Penaforte , 2021 -# i17obot , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-07 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,7 +29,7 @@ msgstr "" #: ../../library/asyncio-sync.rst:9 msgid "**Source code:** :source:`Lib/asyncio/locks.py`" -msgstr "*Código-fonte:* :source:`Lib/asyncio/locks.py`" +msgstr "**Código-fonte:** :source:`Lib/asyncio/locks.py`" #: ../../library/asyncio-sync.rst:13 msgid "" @@ -165,8 +161,8 @@ msgstr "" #: ../../library/asyncio-sync.rst:107 msgid "" -"An Event object manages an internal flag that can be set to *true* with the :" -"meth:`~Event.set` method and reset to *false* with the :meth:`clear` " +"An Event object manages an internal flag that can be set to *true* with " +"the :meth:`~Event.set` method and reset to *false* with the :meth:`clear` " "method. The :meth:`~Event.wait` method blocks until the flag is set to " "*true*. The flag is set to *false* initially." msgstr "" @@ -199,8 +195,8 @@ msgstr "" #: ../../library/asyncio-sync.rst:158 msgid "" -"Tasks awaiting on :meth:`~Event.wait` will now block until the :meth:`~Event." -"set` method is called again." +"Tasks awaiting on :meth:`~Event.wait` will now block until " +"the :meth:`~Event.set` method is called again." msgstr "" #: ../../library/asyncio-sync.rst:163 @@ -223,11 +219,11 @@ msgstr "" #: ../../library/asyncio-sync.rst:177 msgid "" -"In essence, a Condition object combines the functionality of an :class:" -"`Event` and a :class:`Lock`. It is possible to have multiple Condition " -"objects share one Lock, which allows coordinating exclusive access to a " -"shared resource between different tasks interested in particular states of " -"that shared resource." +"In essence, a Condition object combines the functionality of " +"an :class:`Event` and a :class:`Lock`. It is possible to have multiple " +"Condition objects share one Lock, which allows coordinating exclusive access " +"to a shared resource between different tasks interested in particular states " +"of that shared resource." msgstr "" #: ../../library/asyncio-sync.rst:183 @@ -290,8 +286,8 @@ msgstr "" #: ../../library/asyncio-sync.rst:252 msgid "" -"If the calling task has not acquired the lock when this method is called, a :" -"exc:`RuntimeError` is raised." +"If the calling task has not acquired the lock when this method is called, " +"a :exc:`RuntimeError` is raised." msgstr "" #: ../../library/asyncio-sync.rst:255 @@ -321,17 +317,17 @@ msgstr "" #: ../../library/asyncio-sync.rst:276 msgid "" -"A semaphore manages an internal counter which is decremented by each :meth:" -"`acquire` call and incremented by each :meth:`release` call. The counter can " -"never go below zero; when :meth:`acquire` finds that it is zero, it blocks, " -"waiting until some task calls :meth:`release`." +"A semaphore manages an internal counter which is decremented by " +"each :meth:`acquire` call and incremented by each :meth:`release` call. The " +"counter can never go below zero; when :meth:`acquire` finds that it is zero, " +"it blocks, waiting until some task calls :meth:`release`." msgstr "" #: ../../library/asyncio-sync.rst:282 msgid "" "The optional *value* argument gives the initial value for the internal " -"counter (``1`` by default). If the given value is less than ``0`` a :exc:" -"`ValueError` is raised." +"counter (``1`` by default). If the given value is less than ``0`` " +"a :exc:`ValueError` is raised." msgstr "" #: ../../library/asyncio-sync.rst:289 @@ -368,7 +364,7 @@ msgstr "" #: ../../library/asyncio-sync.rst:331 msgid "BoundedSemaphore" -msgstr "" +msgstr "BoundedSemaphore" #: ../../library/asyncio-sync.rst:335 msgid "A bounded semaphore object. Not thread-safe." @@ -376,9 +372,9 @@ msgstr "" #: ../../library/asyncio-sync.rst:337 msgid "" -"Bounded Semaphore is a version of :class:`Semaphore` that raises a :exc:" -"`ValueError` in :meth:`~Semaphore.release` if it increases the internal " -"counter above the initial *value*." +"Bounded Semaphore is a version of :class:`Semaphore` that raises " +"a :exc:`ValueError` in :meth:`~Semaphore.release` if it increases the " +"internal counter above the initial *value*." msgstr "" #: ../../library/asyncio-sync.rst:346 @@ -392,16 +388,16 @@ msgstr "" #: ../../library/asyncio-sync.rst:352 msgid "" "A barrier is a simple synchronization primitive that allows to block until " -"*parties* number of tasks are waiting on it. Tasks can wait on the :meth:" -"`~Barrier.wait` method and would be blocked until the specified number of " -"tasks end up waiting on :meth:`~Barrier.wait`. At that point all of the " -"waiting tasks would unblock simultaneously." +"*parties* number of tasks are waiting on it. Tasks can wait on " +"the :meth:`~Barrier.wait` method and would be blocked until the specified " +"number of tasks end up waiting on :meth:`~Barrier.wait`. At that point all " +"of the waiting tasks would unblock simultaneously." msgstr "" #: ../../library/asyncio-sync.rst:358 msgid "" -":keyword:`async with` can be used as an alternative to awaiting on :meth:" -"`~Barrier.wait`." +":keyword:`async with` can be used as an alternative to awaiting " +"on :meth:`~Barrier.wait`." msgstr "" #: ../../library/asyncio-sync.rst:361 @@ -435,8 +431,8 @@ msgstr "" #: ../../library/asyncio-sync.rst:417 msgid "" "This method may raise a :class:`BrokenBarrierError` exception if the barrier " -"is broken or reset while a task is waiting. It could raise a :exc:" -"`CancelledError` if a task is cancelled." +"is broken or reset while a task is waiting. It could raise " +"a :exc:`CancelledError` if a task is cancelled." msgstr "" #: ../../library/asyncio-sync.rst:423 @@ -472,13 +468,13 @@ msgstr "" #: ../../library/asyncio-sync.rst:450 msgid "" -"This exception, a subclass of :exc:`RuntimeError`, is raised when the :class:" -"`Barrier` object is reset or broken." +"This exception, a subclass of :exc:`RuntimeError`, is raised when " +"the :class:`Barrier` object is reset or broken." msgstr "" #: ../../library/asyncio-sync.rst:458 msgid "" -"Acquiring a lock using ``await lock`` or ``yield from lock`` and/or :keyword:" -"`with` statement (``with await lock``, ``with (yield from lock)``) was " -"removed. Use ``async with lock`` instead." +"Acquiring a lock using ``await lock`` or ``yield from lock`` and/" +"or :keyword:`with` statement (``with await lock``, ``with (yield from " +"lock)``) was removed. Use ``async with lock`` instead." msgstr "" diff --git a/library/asyncio-task.po b/library/asyncio-task.po index d45185872..dc3b5147a 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -1,32 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Italo Penaforte , 2021 -# Danilo Lima , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Adorilson Bezerra , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Adorilson Bezerra , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -48,7 +42,7 @@ msgstr "Corrotinas" #: ../../library/asyncio-task.rst:21 msgid "**Source code:** :source:`Lib/asyncio/coroutines.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/asyncio/coroutines.py`" #: ../../library/asyncio-task.rst:25 msgid "" @@ -120,8 +114,8 @@ msgstr "" #: ../../library/asyncio-task.rst:110 msgid "" -"The :class:`asyncio.TaskGroup` class provides a more modern alternative to :" -"func:`create_task`. Using this API, the last example becomes::" +"The :class:`asyncio.TaskGroup` class provides a more modern alternative " +"to :func:`create_task`. Using this API, the last example becomes::" msgstr "" #: ../../library/asyncio-task.rst:128 @@ -138,8 +132,8 @@ msgstr "Aguardáveis" #: ../../library/asyncio-task.rst:139 msgid "" -"We say that an object is an **awaitable** object if it can be used in an :" -"keyword:`await` expression. Many asyncio APIs are designed to accept " +"We say that an object is an **awaitable** object if it can be used in " +"an :keyword:`await` expression. Many asyncio APIs are designed to accept " "awaitables." msgstr "" "Dizemos que um objeto é um objeto **aguardável** se ele pode ser usado em " @@ -191,12 +185,13 @@ msgstr "*Tarefas* são usadas para agendar corrotinas *concorrentemente*." #: ../../library/asyncio-task.rst:183 msgid "" -"When a coroutine is wrapped into a *Task* with functions like :func:`asyncio." -"create_task` the coroutine is automatically scheduled to run soon::" +"When a coroutine is wrapped into a *Task* with functions " +"like :func:`asyncio.create_task` the coroutine is automatically scheduled to " +"run soon::" msgstr "" -"Quando uma corrotina é envolta em uma *tarefa* com funções como :func:" -"`asyncio.create_task`, a corrotina é automaticamente agendada para executar " -"em breve::" +"Quando uma corrotina é envolta em uma *tarefa* com funções " +"como :func:`asyncio.create_task`, a corrotina é automaticamente agendada " +"para executar em breve::" #: ../../library/asyncio-task.rst:205 msgid "Futures" @@ -244,11 +239,11 @@ msgstr "" #: ../../library/asyncio-task.rst:230 msgid "" -"A good example of a low-level function that returns a Future object is :meth:" -"`loop.run_in_executor`." +"A good example of a low-level function that returns a Future object " +"is :meth:`loop.run_in_executor`." msgstr "" -"Um bom exemplo de uma função de baixo nível que retorna um objeto Future é :" -"meth:`loop.run_in_executor`." +"Um bom exemplo de uma função de baixo nível que retorna um objeto Future " +"é :meth:`loop.run_in_executor`." #: ../../library/asyncio-task.rst:235 msgid "Creating Tasks" @@ -256,38 +251,43 @@ msgstr "Criando Tarefas" #: ../../library/asyncio-task.rst:237 msgid "**Source code:** :source:`Lib/asyncio/tasks.py`" -msgstr "" +msgstr "**Source code:** :source:`Lib/asyncio/tasks.py`" #: ../../library/asyncio-task.rst:243 msgid "" "Wrap the *coro* :ref:`coroutine ` into a :class:`Task` and " "schedule its execution. Return the Task object." msgstr "" -"Envolva a :ref:`corrotina ` *coro* em uma :class:`Task` e agende " -"sua execução. Retorne o objeto Task." +"Envolve a :ref:`corrotina ` *coro* em uma :class:`Task` e agenda " +"sua execução. Retorna o objeto Task." #: ../../library/asyncio-task.rst:246 msgid "" -"If *name* is not ``None``, it is set as the name of the task using :meth:" -"`Task.set_name`." +"If *name* is not ``None``, it is set as the name of the task " +"using :meth:`Task.set_name`." msgstr "" -"Se *name* não for ``None``, ele é setado como o nome da tarefa usando :meth:" -"`Task.set_name`." +"Se *name* não for ``None``, ele é setado como o nome da tarefa " +"usando :meth:`Task.set_name`." #: ../../library/asyncio-task.rst:249 msgid "" -"An optional keyword-only *context* argument allows specifying a custom :" -"class:`contextvars.Context` for the *coro* to run in. The current context " -"copy is created when no *context* is provided." +"An optional keyword-only *context* argument allows specifying a " +"custom :class:`contextvars.Context` for the *coro* to run in. The current " +"context copy is created when no *context* is provided." msgstr "" +"Um argumento opcional somente-nomeado *context* permite especificar " +"um :class:`contextvars.Context` personalizado para a *coro* ser executada. " +"Uma cópia do contexto atual é criada quando nenhum *context* for fornecido." #: ../../library/asyncio-task.rst:253 msgid "" -"The task is executed in the loop returned by :func:`get_running_loop`, :exc:" -"`RuntimeError` is raised if there is no running loop in current thread." +"The task is executed in the loop returned " +"by :func:`get_running_loop`, :exc:`RuntimeError` is raised if there is no " +"running loop in current thread." msgstr "" -"A tarefa é executada no laço e retornada por :func:`get_running_loop`, :exc:" -"`RuntimeError` é levantado se não existir nenhum loop na thread atual." +"A tarefa é executada no laço e retornada " +"por :func:`get_running_loop`, :exc:`RuntimeError` é levantado se não existir " +"um laço em execução na thread atual." #: ../../library/asyncio-task.rst:259 msgid "" @@ -303,60 +303,64 @@ msgid "" "any time, even before it's done. For reliable \"fire-and-forget\" background " "tasks, gather them in a collection::" msgstr "" -"Mantenha uma referência para o resultado dessa função, evitando assim que " -"uma tarefa desapareça durante a execução. O laço de eventos mantém apenas " +"Mantenha uma referência para o resultado dessa função, evitando que uma " +"tarefa desapareça durante a execução. O laço de eventos mantém apenas " "referências fracas para as tarefas. Uma tarefa que não é referenciada por " "nada mais pode ser removida pelo coletor de lixo a qualquer momento, antes " "mesmo da função ser finalizada. Para tarefas de segundo plano \"atire-e-" "esqueça\", junte-as em uma coleção::" -#: ../../library/asyncio-task.rst:286 ../../library/asyncio-task.rst:1013 +#: ../../library/asyncio-task.rst:286 ../../library/asyncio-task.rst:1012 msgid "Added the *name* parameter." msgstr "Adicionado o parâmetro *name*." -#: ../../library/asyncio-task.rst:289 ../../library/asyncio-task.rst:1020 +#: ../../library/asyncio-task.rst:289 ../../library/asyncio-task.rst:1019 msgid "Added the *context* parameter." msgstr "Adicionado o parâmetro *context*." #: ../../library/asyncio-task.rst:294 msgid "Task Cancellation" -msgstr "" +msgstr "Cancelamento de tarefas" #: ../../library/asyncio-task.rst:296 msgid "" -"Tasks can easily and safely be cancelled. When a task is cancelled, :exc:" -"`asyncio.CancelledError` will be raised in the task at the next opportunity." +"Tasks can easily and safely be cancelled. When a task is " +"cancelled, :exc:`asyncio.CancelledError` will be raised in the task at the " +"next opportunity." msgstr "" #: ../../library/asyncio-task.rst:300 msgid "" "It is recommended that coroutines use ``try/finally`` blocks to robustly " "perform clean-up logic. In case :exc:`asyncio.CancelledError` is explicitly " -"caught, it should generally be propagated when clean-up is complete. :exc:" -"`asyncio.CancelledError` directly subclasses :exc:`BaseException` so most " -"code will not need to be aware of it." +"caught, it should generally be propagated when clean-up is " +"complete. :exc:`asyncio.CancelledError` directly " +"subclasses :exc:`BaseException` so most code will not need to be aware of it." msgstr "" #: ../../library/asyncio-task.rst:306 msgid "" -"The asyncio components that enable structured concurrency, like :class:" -"`asyncio.TaskGroup` and :func:`asyncio.timeout`, are implemented using " -"cancellation internally and might misbehave if a coroutine swallows :exc:" -"`asyncio.CancelledError`. Similarly, user code should not generally call :" -"meth:`uncancel `. However, in cases when suppressing :" -"exc:`asyncio.CancelledError` is truly desired, it is necessary to also call " -"``uncancel()`` to completely remove the cancellation state." +"The asyncio components that enable structured concurrency, " +"like :class:`asyncio.TaskGroup` and :func:`asyncio.timeout`, are implemented " +"using cancellation internally and might misbehave if a coroutine " +"swallows :exc:`asyncio.CancelledError`. Similarly, user code should not " +"generally call :meth:`uncancel `. However, in cases " +"when suppressing :exc:`asyncio.CancelledError` is truly desired, it is " +"necessary to also call ``uncancel()`` to completely remove the cancellation " +"state." msgstr "" #: ../../library/asyncio-task.rst:318 msgid "Task Groups" -msgstr "" +msgstr "Grupos de tarefas" #: ../../library/asyncio-task.rst:320 msgid "" "Task groups combine a task creation API with a convenient and reliable way " "to wait for all tasks in the group to finish." msgstr "" +"Grupos de tarefas combinam uma API de criação de tarefas com uma forma " +"conveniente e confiável de aguardar que todas as tarefas do grupo terminem." #: ../../library/asyncio-task.rst:325 msgid "" @@ -364,17 +368,21 @@ msgid "" "group of tasks. Tasks can be added to the group using :meth:`create_task`. " "All tasks are awaited when the context manager exits." msgstr "" +"Um :ref:`gerenciador de contexto assíncrono ` que " +"contém um grupo de tarefas. As tarefas podem ser adicionadas ao grupo " +"usando :meth:`create_task`. Todas as tarefas são aguardadas quando o " +"gerenciador de contexto sai." #: ../../library/asyncio-task.rst:334 msgid "" -"Create a task in this task group. The signature matches that of :func:" -"`asyncio.create_task`." +"Create a task in this task group. The signature matches that " +"of :func:`asyncio.create_task`." msgstr "" #: ../../library/asyncio-task.rst:337 ../../library/asyncio-task.rst:467 #: ../../library/asyncio-task.rst:595 ../../library/asyncio-task.rst:653 -#: ../../library/asyncio-task.rst:679 ../../library/asyncio-task.rst:722 -#: ../../library/asyncio-task.rst:816 +#: ../../library/asyncio-task.rst:679 ../../library/asyncio-task.rst:719 +#: ../../library/asyncio-task.rst:815 msgid "Example::" msgstr "Exemplo::" @@ -386,18 +394,32 @@ msgid "" "in that coroutine). Once the last task has finished and the ``async with`` " "block is exited, no new tasks may be added to the group." msgstr "" +"A instrução ``async with`` aguardará que todas as tarefas do grupo terminem. " +"Enquanto aguarda, novas tarefas ainda podem ser adicionadas ao grupo (por " +"exemplo, passando ``tg`` para uma das corrotinas e chamando " +"``tg.create_task()`` nessa corrotina). Uma vez que a última tarefa tenha " +"terminado e o bloco ``async with`` tenha sido finalizados, não podem ser " +"adicionadas novas tarefas ao grupo." #: ../../library/asyncio-task.rst:352 msgid "" "The first time any of the tasks belonging to the group fails with an " "exception other than :exc:`asyncio.CancelledError`, the remaining tasks in " "the group are cancelled. No further tasks can then be added to the group. At " -"this point, if the body of the ``async with`` statement is still active (i." -"e., :meth:`~object.__aexit__` hasn't been called yet), the task directly " -"containing the ``async with`` statement is also cancelled. The resulting :" -"exc:`asyncio.CancelledError` will interrupt an ``await``, but it will not " -"bubble out of the containing ``async with`` statement." -msgstr "" +"this point, if the body of the ``async with`` statement is still active " +"(i.e., :meth:`~object.__aexit__` hasn't been called yet), the task directly " +"containing the ``async with`` statement is also cancelled. The " +"resulting :exc:`asyncio.CancelledError` will interrupt an ``await``, but it " +"will not bubble out of the containing ``async with`` statement." +msgstr "" +"Na primeira vez que qualquer uma das tarefas do grupo falha com uma exceção " +"diferente de :exc:`asyncio.CancelledError`, as tarefas restantes do grupo " +"são canceladas. Não podem ser adicionadas mais tarefas ao grupo. Neste " +"ponto, se o corpo da instrução ``async with`` ainda estiver ativo (ou " +"seja, :meth:`~object.__aexit__` ainda não foi chamado), a tarefa que contém " +"diretamente a instrução ``async with`` também é cancelada. " +"A :exc:`asyncio.CancelledError` resultante irá interromper um ``await``, mas " +"não se propagará para fora da instrução ``async with``." #: ../../library/asyncio-task.rst:362 msgid "" @@ -406,27 +428,46 @@ msgid "" "an :exc:`ExceptionGroup` or :exc:`BaseExceptionGroup` (as appropriate; see " "their documentation) which is then raised." msgstr "" +"Uma vez que todas as tarefas tenham terminado, se alguma tarefa falhou com " +"uma exceção diferente de :exc:`asyncio.CancelledError`, essas exceções são " +"combinadas em uma :exc:`ExceptionGroup` ou :exc:`BaseExceptionGroup` " +"(conforme apropriado; veja a sua documentação), que é então levantada." #: ../../library/asyncio-task.rst:369 msgid "" -"Two base exceptions are treated specially: If any task fails with :exc:" -"`KeyboardInterrupt` or :exc:`SystemExit`, the task group still cancels the " -"remaining tasks and waits for them, but then the initial :exc:" -"`KeyboardInterrupt` or :exc:`SystemExit` is re-raised instead of :exc:" -"`ExceptionGroup` or :exc:`BaseExceptionGroup`." +"Two base exceptions are treated specially: If any task fails " +"with :exc:`KeyboardInterrupt` or :exc:`SystemExit`, the task group still " +"cancels the remaining tasks and waits for them, but then the " +"initial :exc:`KeyboardInterrupt` or :exc:`SystemExit` is re-raised instead " +"of :exc:`ExceptionGroup` or :exc:`BaseExceptionGroup`." msgstr "" +"Duas exceções base são tratadas de forma especial: se alguma tarefa falhar " +"com :exc:`KeyboardInterrupt` ou :exc:`SystemExit`, o grupo de tarefas ainda " +"cancela as tarefas restantes e aguarda por elas, mas depois " +"a :exc:`KeyboardInterrupt` ou :exc:`SystemExit` inicial é levantada " +"novamente em vez de :exc:`ExceptionGroup` ou :exc:`BaseExceptionGroup`." #: ../../library/asyncio-task.rst:375 msgid "" -"If the body of the ``async with`` statement exits with an exception (so :" -"meth:`~object.__aexit__` is called with an exception set), this is treated " -"the same as if one of the tasks failed: the remaining tasks are cancelled " -"and then waited for, and non-cancellation exceptions are grouped into an " -"exception group and raised. The exception passed into :meth:`~object." -"__aexit__`, unless it is :exc:`asyncio.CancelledError`, is also included in " -"the exception group. The same special case is made for :exc:" -"`KeyboardInterrupt` and :exc:`SystemExit` as in the previous paragraph." -msgstr "" +"If the body of the ``async with`` statement exits with an exception " +"(so :meth:`~object.__aexit__` is called with an exception set), this is " +"treated the same as if one of the tasks failed: the remaining tasks are " +"cancelled and then waited for, and non-cancellation exceptions are grouped " +"into an exception group and raised. The exception passed " +"into :meth:`~object.__aexit__`, unless it is :exc:`asyncio.CancelledError`, " +"is also included in the exception group. The same special case is made " +"for :exc:`KeyboardInterrupt` and :exc:`SystemExit` as in the previous " +"paragraph." +msgstr "" +"Se o corpo da instrução ``async with`` sair com uma exceção " +"(portanto, :meth:`~object.__aexit__` é chamado com uma exceção definida), " +"isso é tratado da mesma forma que se uma das tarefas falhasse: as tarefas " +"restantes são canceladas e depois aguardadas, e as exceções de não-" +"cancelamento são agrupadas em um grupo de exceções e levantadas. A exceção " +"passada para :meth:`~object.__aexit__`, a menos que " +"seja :exc:`asyncio.CancelledError`, também é incluída no grupo de exceções. " +"O mesmo caso especial é aplicado a :exc:`KeyboardInterrupt` " +"e :exc:`SystemExit`, como no parágrafo anterior." #: ../../library/asyncio-task.rst:389 msgid "Sleeping" @@ -470,9 +511,8 @@ msgstr "" "segundos::" #: ../../library/asyncio-task.rst:425 ../../library/asyncio-task.rst:516 -#: ../../library/asyncio-task.rst:570 ../../library/asyncio-task.rst:717 -#: ../../library/asyncio-task.rst:747 ../../library/asyncio-task.rst:799 -#: ../../library/asyncio-task.rst:822 +#: ../../library/asyncio-task.rst:570 ../../library/asyncio-task.rst:744 +#: ../../library/asyncio-task.rst:798 ../../library/asyncio-task.rst:821 msgid "Removed the *loop* parameter." msgstr "Removido o parâmetro *loop*." @@ -592,11 +632,11 @@ msgstr "Protegendo contra cancelamento" #: ../../library/asyncio-task.rst:530 msgid "" -"Protect an :ref:`awaitable object ` from being :meth:" -"`cancelled `." +"Protect an :ref:`awaitable object ` from " +"being :meth:`cancelled `." msgstr "" -"Protege um :ref:`objeto aguardável ` de ser :meth:" -"`cancelado `." +"Protege um :ref:`objeto aguardável ` de " +"ser :meth:`cancelado `." #: ../../library/asyncio-task.rst:533 ../../library/asyncio-task.rst:699 msgid "If *aw* is a coroutine it is automatically scheduled as a Task." @@ -616,14 +656,14 @@ msgid "" "*except* that if the coroutine containing it is cancelled, the Task running " "in ``something()`` is not cancelled. From the point of view of " "``something()``, the cancellation did not happen. Although its caller is " -"still cancelled, so the \"await\" expression still raises a :exc:" -"`CancelledError`." +"still cancelled, so the \"await\" expression still raises " +"a :exc:`CancelledError`." msgstr "" "*exceto* que se a corrotina contendo-a for cancelada, a Tarefa executando em " "``something()`` não é cancelada. Do ponto de vista de ``something()``, o " "cancelamento não aconteceu. Apesar do autor da chamada ainda estar " -"cancelado, então a expressão \"await\" ainda levanta um :exc:" -"`CancelledError`." +"cancelado, então a expressão \"await\" ainda levanta " +"um :exc:`CancelledError`." #: ../../library/asyncio-task.rst:550 msgid "" @@ -670,8 +710,8 @@ msgstr "Tempo limite" #: ../../library/asyncio-task.rst:583 msgid "" -"An :ref:`asynchronous context manager ` that can be " -"used to limit the amount of time spent waiting on something." +"Return an :ref:`asynchronous context manager ` that " +"can be used to limit the amount of time spent waiting on something." msgstr "" #: ../../library/asyncio-task.rst:587 @@ -683,28 +723,27 @@ msgstr "" #: ../../library/asyncio-task.rst:592 msgid "" -"In either case, the context manager can be rescheduled after creation using :" -"meth:`Timeout.reschedule`." +"In either case, the context manager can be rescheduled after creation " +"using :meth:`Timeout.reschedule`." msgstr "" #: ../../library/asyncio-task.rst:601 msgid "" "If ``long_running_task`` takes more than 10 seconds to complete, the context " -"manager will cancel the current task and handle the resulting :exc:`asyncio." -"CancelledError` internally, transforming it into an :exc:`asyncio." -"TimeoutError` which can be caught and handled." +"manager will cancel the current task and handle the " +"resulting :exc:`asyncio.CancelledError` internally, transforming it into " +"a :exc:`TimeoutError` which can be caught and handled." msgstr "" #: ../../library/asyncio-task.rst:608 msgid "" -"The :func:`asyncio.timeout` context manager is what transforms the :exc:" -"`asyncio.CancelledError` into an :exc:`asyncio.TimeoutError`, which means " -"the :exc:`asyncio.TimeoutError` can only be caught *outside* of the context " -"manager." +"The :func:`asyncio.timeout` context manager is what transforms " +"the :exc:`asyncio.CancelledError` into a :exc:`TimeoutError`, which means " +"the :exc:`TimeoutError` can only be caught *outside* of the context manager." msgstr "" #: ../../library/asyncio-task.rst:613 -msgid "Example of catching :exc:`asyncio.TimeoutError`::" +msgid "Example of catching :exc:`TimeoutError`::" msgstr "" #: ../../library/asyncio-task.rst:624 @@ -782,11 +821,11 @@ msgstr "" #: ../../library/asyncio-task.rst:708 msgid "" -"To avoid the task :meth:`cancellation `, wrap it in :func:" -"`shield`." +"To avoid the task :meth:`cancellation `, wrap it " +"in :func:`shield`." msgstr "" -"Para evitar o :meth:`cancelamento ` da tarefa, envolva-a com :" -"func:`shield`." +"Para evitar o :meth:`cancelamento ` da tarefa, envolva-a " +"com :func:`shield`." #: ../../library/asyncio-task.rst:711 msgid "" @@ -802,12 +841,16 @@ msgstr "" msgid "If the wait is cancelled, the future *aw* is also cancelled." msgstr "Se ele for cancelado, o future *aw* também é cancelado." -#: ../../library/asyncio-task.rst:742 +#: ../../library/asyncio-task.rst:739 msgid "" "When *aw* is cancelled due to a timeout, ``wait_for`` waits for *aw* to be " "cancelled. Previously, it raised :exc:`TimeoutError` immediately." msgstr "" +#: ../../library/asyncio-task.rst:747 +msgid "Raises :exc:`TimeoutError` instead of :exc:`asyncio.TimeoutError`." +msgstr "" + #: ../../library/asyncio-task.rst:752 msgid "Waiting Primitives" msgstr "Primitivas de Espera" @@ -860,43 +903,28 @@ msgstr "" msgid "Constant" msgstr "Constante" -#: ../../library/asyncio-task.rst:781 +#: ../../library/asyncio-task.rst:782 msgid "Description" msgstr "Descrição" -#: ../../library/asyncio-task.rst:783 -msgid ":const:`FIRST_COMPLETED`" -msgstr ":const:`FIRST_COMPLETED`" - -#: ../../library/asyncio-task.rst:783 +#: ../../library/asyncio-task.rst:785 msgid "The function will return when any future finishes or is cancelled." msgstr "" "A função irá retornar quando qualquer futuro terminar ou for cancelado." -#: ../../library/asyncio-task.rst:786 -msgid ":const:`FIRST_EXCEPTION`" -msgstr ":const:`FIRST_EXCEPTION`" - -#: ../../library/asyncio-task.rst:786 +#: ../../library/asyncio-task.rst:788 msgid "" -"The function will return when any future finishes by raising an exception. " -"If no future raises an exception then it is equivalent to :const:" -"`ALL_COMPLETED`." +"The function will return when any future finishes by raising an exception. " +"If no future raises an exception then it is equivalent " +"to :const:`ALL_COMPLETED`." msgstr "" -"A função irá retornar quando qualquer futuro encerrar levantando uma " -"exceção. Se nenhum futuro levantar uma exceção, então é equivalente a :const:" -"`ALL_COMPLETED`." - -#: ../../library/asyncio-task.rst:792 -msgid ":const:`ALL_COMPLETED`" -msgstr ":const:`ALL_COMPLETED`" -#: ../../library/asyncio-task.rst:792 +#: ../../library/asyncio-task.rst:793 msgid "The function will return when all futures finish or are cancelled." msgstr "" "A função irá retornar quando todos os futuros encerrarem ou forem cancelados." -#: ../../library/asyncio-task.rst:796 +#: ../../library/asyncio-task.rst:795 msgid "" "Unlike :func:`~asyncio.wait_for`, ``wait()`` does not cancel the futures " "when a timeout occurs." @@ -904,11 +932,11 @@ msgstr "" "Diferente de :func:`~asyncio.wait_for`, ``wait()`` não cancela os futuros " "quando um tempo limite é atingido." -#: ../../library/asyncio-task.rst:802 +#: ../../library/asyncio-task.rst:801 msgid "Passing coroutine objects to ``wait()`` directly is forbidden." msgstr "" -#: ../../library/asyncio-task.rst:807 +#: ../../library/asyncio-task.rst:806 msgid "" "Run :ref:`awaitable objects ` in the *aws* iterable " "concurrently. Generators yielding tasks are not accepted as *aws* iterable. " @@ -916,12 +944,12 @@ msgid "" "get the earliest next result from the iterable of the remaining awaitables." msgstr "" -#: ../../library/asyncio-task.rst:813 +#: ../../library/asyncio-task.rst:812 msgid "" "Raises :exc:`TimeoutError` if the timeout occurs before all Futures are done." msgstr "" -#: ../../library/asyncio-task.rst:825 +#: ../../library/asyncio-task.rst:824 msgid "" "Deprecation warning is emitted if not all awaitable objects in the *aws* " "iterable are Future-like objects and there is no running event loop." @@ -930,15 +958,15 @@ msgstr "" "iterável *aws* forem objetos similar a Futuro, e não existe nenhum laço de " "eventos em execução." -#: ../../library/asyncio-task.rst:831 +#: ../../library/asyncio-task.rst:830 msgid "Running in Threads" msgstr "Executando em Threads" -#: ../../library/asyncio-task.rst:835 +#: ../../library/asyncio-task.rst:834 msgid "Asynchronously run function *func* in a separate thread." msgstr "Executa a função *func* assincronamente em uma thread separada." -#: ../../library/asyncio-task.rst:837 +#: ../../library/asyncio-task.rst:836 msgid "" "Any \\*args and \\*\\*kwargs supplied for this function are directly passed " "to *func*. Also, the current :class:`contextvars.Context` is propagated, " @@ -950,21 +978,21 @@ msgstr "" "propagado, permitindo que variáveis de contexto da thread do laço de eventos " "sejam acessadas na thread separada." -#: ../../library/asyncio-task.rst:842 +#: ../../library/asyncio-task.rst:841 msgid "" "Return a coroutine that can be awaited to get the eventual result of *func*." msgstr "" "Retorna uma corrotina que pode ser aguardada para obter o resultado eventual " "de *func*." -#: ../../library/asyncio-task.rst:844 +#: ../../library/asyncio-task.rst:843 msgid "" "This coroutine function is primarily intended to be used for executing IO-" "bound functions/methods that would otherwise block the event loop if they " "were run in the main thread. For example::" msgstr "" -#: ../../library/asyncio-task.rst:874 +#: ../../library/asyncio-task.rst:873 msgid "" "Directly calling ``blocking_io()`` in any coroutine would block the event " "loop for its duration, resulting in an additional 1 second of run time. " @@ -976,29 +1004,29 @@ msgstr "" "tempo de execução. Ao invés disso, ao utilizar ``asyncio.to_thread()``, nós " "podemos executá-la em uma thread separada sem bloquear o laço de eventos." -#: ../../library/asyncio-task.rst:881 +#: ../../library/asyncio-task.rst:880 msgid "" "Due to the :term:`GIL`, ``asyncio.to_thread()`` can typically only be used " "to make IO-bound functions non-blocking. However, for extension modules that " "release the GIL or alternative Python implementations that don't have one, " "``asyncio.to_thread()`` can also be used for CPU-bound functions." msgstr "" -"Devido ao :term:`GIL`, ``asyncio.to_thread()`` pode tipicamente ser usado " +"Devido à :term:`GIL`, ``asyncio.to_thread()`` pode tipicamente ser usado " "apenas para fazer funções vinculadas a IO não-bloqueantes. Entretanto, para " "módulos de extensão que liberam o GIL ou implementações alternativas do " "Python que não tem um, ``asyncio.to_thread()`` também pode ser usado para " "funções vinculadas à CPU." -#: ../../library/asyncio-task.rst:890 +#: ../../library/asyncio-task.rst:889 msgid "Scheduling From Other Threads" msgstr "Agendando a partir de outras Threads" -#: ../../library/asyncio-task.rst:894 +#: ../../library/asyncio-task.rst:893 msgid "Submit a coroutine to the given event loop. Thread-safe." msgstr "" "Envia uma corrotina para o laço de eventos fornecido. Seguro para thread." -#: ../../library/asyncio-task.rst:896 +#: ../../library/asyncio-task.rst:895 msgid "" "Return a :class:`concurrent.futures.Future` to wait for the result from " "another OS thread." @@ -1006,7 +1034,7 @@ msgstr "" "Retorna um :class:`concurrent.futures.Future` para aguardar pelo resultado " "de outra thread do sistema operacional." -#: ../../library/asyncio-task.rst:899 +#: ../../library/asyncio-task.rst:898 msgid "" "This function is meant to be called from a different OS thread than the one " "where the event loop is running. Example::" @@ -1014,7 +1042,7 @@ msgstr "" "Esta função destina-se a ser chamada partir de uma thread diferente do " "sistema operacional, da qual o laço de eventos está executando. Exemplo::" -#: ../../library/asyncio-task.rst:911 +#: ../../library/asyncio-task.rst:910 msgid "" "If an exception is raised in the coroutine, the returned Future will be " "notified. It can also be used to cancel the task in the event loop::" @@ -1023,7 +1051,7 @@ msgstr "" "notificado. Isso também pode ser usado para cancelar a tarefa no laço de " "eventos::" -#: ../../library/asyncio-task.rst:925 +#: ../../library/asyncio-task.rst:924 msgid "" "See the :ref:`concurrency and multithreading ` " "section of the documentation." @@ -1031,7 +1059,7 @@ msgstr "" "Veja a seção :ref:`concorrência e multithreading ` " "da documentação." -#: ../../library/asyncio-task.rst:928 +#: ../../library/asyncio-task.rst:927 msgid "" "Unlike other asyncio functions this function requires the *loop* argument to " "be passed explicitly." @@ -1039,11 +1067,11 @@ msgstr "" "Ao contrário de outras funções asyncio, esta função requer que o argumento " "*loop* seja passado explicitamente." -#: ../../library/asyncio-task.rst:935 +#: ../../library/asyncio-task.rst:934 msgid "Introspection" msgstr "Introspecção" -#: ../../library/asyncio-task.rst:940 +#: ../../library/asyncio-task.rst:939 msgid "" "Return the currently running :class:`Task` instance, or ``None`` if no task " "is running." @@ -1051,7 +1079,7 @@ msgstr "" "Retorna a instância :class:`Task` atualmente em execução, ou ``None`` se " "nenhuma tarefa estiver executando." -#: ../../library/asyncio-task.rst:943 +#: ../../library/asyncio-task.rst:942 msgid "" "If *loop* is ``None`` :func:`get_running_loop` is used to get the current " "loop." @@ -1059,13 +1087,13 @@ msgstr "" "Se *loop* for ``None``, então :func:`get_running_loop` é usado para obter o " "laço atual." -#: ../../library/asyncio-task.rst:951 +#: ../../library/asyncio-task.rst:950 msgid "Return a set of not yet finished :class:`Task` objects run by the loop." msgstr "" "Retorna um conjunto de objetos :class:`Task` ainda não concluídos a serem " "executados pelo laço." -#: ../../library/asyncio-task.rst:954 +#: ../../library/asyncio-task.rst:953 msgid "" "If *loop* is ``None``, :func:`get_running_loop` is used for getting current " "loop." @@ -1073,15 +1101,15 @@ msgstr "" "Se *loop* for ``None``, então :func:`get_running_loop` é usado para obter o " "laço atual." -#: ../../library/asyncio-task.rst:962 +#: ../../library/asyncio-task.rst:961 msgid "Return ``True`` if *obj* is a coroutine object." msgstr "" -#: ../../library/asyncio-task.rst:968 +#: ../../library/asyncio-task.rst:967 msgid "Task Object" msgstr "Objeto Task" -#: ../../library/asyncio-task.rst:972 +#: ../../library/asyncio-task.rst:971 msgid "" "A :class:`Future-like ` object that runs a Python :ref:`coroutine " "`. Not thread-safe." @@ -1089,7 +1117,7 @@ msgstr "" "Um objeto :class:`similar a Futuro ` que executa uma :ref:`corrotina " "` Python. Não é seguro para thread." -#: ../../library/asyncio-task.rst:975 +#: ../../library/asyncio-task.rst:974 msgid "" "Tasks are used to run coroutines in event loops. If a coroutine awaits on a " "Future, the Task suspends the execution of the coroutine and waits for the " @@ -1101,82 +1129,82 @@ msgstr "" "aguarda a conclusão do Futuro. Quando o Futuro é *concluído*, a execução da " "corrotina contida é retomada." -#: ../../library/asyncio-task.rst:981 +#: ../../library/asyncio-task.rst:980 msgid "" "Event loops use cooperative scheduling: an event loop runs one Task at a " "time. While a Task awaits for the completion of a Future, the event loop " "runs other Tasks, callbacks, or performs IO operations." msgstr "" -"Laço de eventos usam agendamento cooperativo: um ciclo de evento executa uma " -"Tarefa de cada vez. Enquanto uma Tarefa aguarda a conclusão de um Futuro, o " -"laço de eventos executa outras Tarefas, funções de retorno, ou executa " +"Laços de eventos usam agendamento cooperativo: um ciclo de evento executa " +"uma Task de cada vez. Enquanto uma Task aguarda a conclusão de um Future, o " +"laço de eventos executa outras Tasks, funções de retorno, ou executa " "operações de IO." -#: ../../library/asyncio-task.rst:986 +#: ../../library/asyncio-task.rst:985 msgid "" "Use the high-level :func:`asyncio.create_task` function to create Tasks, or " "the low-level :meth:`loop.create_task` or :func:`ensure_future` functions. " "Manual instantiation of Tasks is discouraged." msgstr "" -"Use a função de alto nível :func:`asyncio.create_task` para criar Tarefas, " -"ou as funções de baixo nível :meth:`loop.create_task` ou :func:" -"`ensure_future`. Instanciação manual de Tarefas é desencorajado." +"Use a função de alto nível :func:`asyncio.create_task` para criar Tasks, ou " +"as funções de baixo nível :meth:`loop.create_task` ou :func:`ensure_future`. " +"Instanciação manual de Tasks é desencorajada." -#: ../../library/asyncio-task.rst:991 +#: ../../library/asyncio-task.rst:990 msgid "" "To cancel a running Task use the :meth:`cancel` method. Calling it will " "cause the Task to throw a :exc:`CancelledError` exception into the wrapped " "coroutine. If a coroutine is awaiting on a Future object during " "cancellation, the Future object will be cancelled." msgstr "" -"Para cancelar uma Tarefa em execução, use o método :meth:`cancel`. Chamar " -"ele fará com que a Tarefa levante uma exceção :exc:`CancelledError` dentro " -"da corrotina contida. Se a corrotina estiver esperando por um objeto Future " +"Para cancelar uma Task em execução, use o método :meth:`cancel`. Chamar ele " +"fará com que a Task levante uma exceção :exc:`CancelledError` dentro da " +"corrotina envolvente. Se a corrotina estiver esperando por um objeto Future " "durante o cancelamento, o objeto Future será cancelado." -#: ../../library/asyncio-task.rst:996 +#: ../../library/asyncio-task.rst:995 msgid "" ":meth:`cancelled` can be used to check if the Task was cancelled. The method " -"returns ``True`` if the wrapped coroutine did not suppress the :exc:" -"`CancelledError` exception and was actually cancelled." +"returns ``True`` if the wrapped coroutine did not suppress " +"the :exc:`CancelledError` exception and was actually cancelled." msgstr "" -":meth:`cancelled` pode ser usado para verificar se a Tarefa foi cancelada. O " -"método retorna ``True`` se a corrotina envolta não suprimiu a exceção :exc:" -"`CancelledError` e foi na verdade cancelada." +":meth:`cancelled` pode ser usado para verificar se a Task foi cancelada. O " +"método retorna ``True`` se a corrotina envolvente não suprimiu a " +"exceção :exc:`CancelledError` e, na verdade, foi cancelada." -#: ../../library/asyncio-task.rst:1001 +#: ../../library/asyncio-task.rst:1000 msgid "" -":class:`asyncio.Task` inherits from :class:`Future` all of its APIs except :" -"meth:`Future.set_result` and :meth:`Future.set_exception`." +":class:`asyncio.Task` inherits from :class:`Future` all of its APIs " +"except :meth:`Future.set_result` and :meth:`Future.set_exception`." msgstr "" -":class:`asyncio.Task` herda de :class:`Future` todas as suas APIs exceto :" -"meth:`Future.set_result` e :meth:`Future.set_exception`." +":class:`asyncio.Task` herda de :class:`Future` todas as suas APIs " +"exceto :meth:`Future.set_result` e :meth:`Future.set_exception`." -#: ../../library/asyncio-task.rst:1005 +#: ../../library/asyncio-task.rst:1004 msgid "" -"An optional keyword-only *context* argument allows specifying a custom :" -"class:`contextvars.Context` for the *coro* to run in. If no *context* is " -"provided, the Task copies the current context and later runs its coroutine " -"in the copied context." +"An optional keyword-only *context* argument allows specifying a " +"custom :class:`contextvars.Context` for the *coro* to run in. If no " +"*context* is provided, the Task copies the current context and later runs " +"its coroutine in the copied context." msgstr "" -#: ../../library/asyncio-task.rst:1010 +#: ../../library/asyncio-task.rst:1009 msgid "Added support for the :mod:`contextvars` module." -msgstr "Adicionado suporte para o módulo :mod:`contextvars`." +msgstr "Adicionado suporte ao módulo :mod:`contextvars`." -#: ../../library/asyncio-task.rst:1016 +#: ../../library/asyncio-task.rst:1015 msgid "" "Deprecation warning is emitted if *loop* is not specified and there is no " "running event loop." msgstr "" -"Aviso de descontinuidade é emitido se *loop* não é especificado, e não " -"existe nenhum laço de eventos em execução." +"Aviso de descontinuidade é emitido se *loop* não for especificado e não " +"existir nenhum laço de eventos em execução." -#: ../../library/asyncio-task.rst:1025 +#: ../../library/asyncio-task.rst:1024 msgid "Return ``True`` if the Task is *done*." msgstr "Retorna ``True`` se a Tarefa estiver *concluída*." -#: ../../library/asyncio-task.rst:1027 +#: ../../library/asyncio-task.rst:1026 msgid "" "A Task is *done* when the wrapped coroutine either returned a value, raised " "an exception, or the Task was cancelled." @@ -1184,11 +1212,11 @@ msgstr "" "Uma Tarefa está *concluída* quando a corrotina contida retornou um valor, ou " "levantou uma exceção, ou a Tarefa foi cancelada." -#: ../../library/asyncio-task.rst:1032 +#: ../../library/asyncio-task.rst:1031 msgid "Return the result of the Task." msgstr "Retorna o resultado da Tarefa." -#: ../../library/asyncio-task.rst:1034 +#: ../../library/asyncio-task.rst:1033 msgid "" "If the Task is *done*, the result of the wrapped coroutine is returned (or " "if the coroutine raised an exception, that exception is re-raised.)" @@ -1197,27 +1225,27 @@ msgstr "" "retornado (ou se a corrotina levantou uma exceção, essa exceção é re-" "levantada.)" -#: ../../library/asyncio-task.rst:1038 ../../library/asyncio-task.rst:1052 +#: ../../library/asyncio-task.rst:1037 ../../library/asyncio-task.rst:1051 msgid "" "If the Task has been *cancelled*, this method raises a :exc:`CancelledError` " "exception." msgstr "" -"Se a Tarefa foi *cancelada*, este método levanta uma exceção :exc:" -"`CancelledError`." +"Se a Tarefa foi *cancelada*, este método levanta uma " +"exceção :exc:`CancelledError`." -#: ../../library/asyncio-task.rst:1041 +#: ../../library/asyncio-task.rst:1040 msgid "" -"If the Task's result isn't yet available, this method raises a :exc:" -"`InvalidStateError` exception." +"If the Task's result isn't yet available, this method raises " +"a :exc:`InvalidStateError` exception." msgstr "" "Se o resultado da Tarefa não estiver disponível ainda, este método levanta " "uma exceção :exc:`InvalidStateError`." -#: ../../library/asyncio-task.rst:1046 +#: ../../library/asyncio-task.rst:1045 msgid "Return the exception of the Task." msgstr "Retorna a exceção de uma Tarefa." -#: ../../library/asyncio-task.rst:1048 +#: ../../library/asyncio-task.rst:1047 msgid "" "If the wrapped coroutine raised an exception that exception is returned. If " "the wrapped coroutine returned normally this method returns ``None``." @@ -1225,37 +1253,37 @@ msgstr "" "Se a corrotina contida levantou uma exceção, essa exceção é retornada. Se a " "corrotina contida retornou normalmente, este método retorna ``None``." -#: ../../library/asyncio-task.rst:1055 +#: ../../library/asyncio-task.rst:1054 msgid "" "If the Task isn't *done* yet, this method raises an :exc:`InvalidStateError` " "exception." msgstr "" -"Se a Tarefa não estiver *concluída* ainda, este método levanta uma exceção :" -"exc:`InvalidStateError`." +"Se a Tarefa não estiver *concluída* ainda, este método levanta uma " +"exceção :exc:`InvalidStateError`." -#: ../../library/asyncio-task.rst:1060 +#: ../../library/asyncio-task.rst:1059 msgid "Add a callback to be run when the Task is *done*." msgstr "" "Adiciona uma função de retorno para ser executada quando a Tarefa estiver " "*concluída*." -#: ../../library/asyncio-task.rst:1062 ../../library/asyncio-task.rst:1071 +#: ../../library/asyncio-task.rst:1061 ../../library/asyncio-task.rst:1070 msgid "This method should only be used in low-level callback-based code." msgstr "" "Este método deve ser usado apenas em código de baixo nível baseado em " "funções de retorno." -#: ../../library/asyncio-task.rst:1064 +#: ../../library/asyncio-task.rst:1063 msgid "" "See the documentation of :meth:`Future.add_done_callback` for more details." msgstr "" "Veja a documentação para :meth:`Future.add_done_callback` para mais detalhes." -#: ../../library/asyncio-task.rst:1069 +#: ../../library/asyncio-task.rst:1068 msgid "Remove *callback* from the callbacks list." msgstr "Remove *callback* da lista de funções de retorno." -#: ../../library/asyncio-task.rst:1073 +#: ../../library/asyncio-task.rst:1072 msgid "" "See the documentation of :meth:`Future.remove_done_callback` for more " "details." @@ -1263,11 +1291,11 @@ msgstr "" "Veja a documentação do método :meth:`Future.remove_done_callback` para mais " "detalhes." -#: ../../library/asyncio-task.rst:1078 +#: ../../library/asyncio-task.rst:1077 msgid "Return the list of stack frames for this Task." msgstr "Retorna a lista de frames da pilha para esta Tarefa." -#: ../../library/asyncio-task.rst:1080 +#: ../../library/asyncio-task.rst:1079 msgid "" "If the wrapped coroutine is not done, this returns the stack where it is " "suspended. If the coroutine has completed successfully or was cancelled, " @@ -1275,20 +1303,20 @@ msgid "" "this returns the list of traceback frames." msgstr "" "Se a corrotina contida não estiver concluída, isto retorna a pilha onde ela " -"foi suspensa. Se a corrotina foi concluída com sucesso ou foi cancelada, " -"isto retorna uma lista vazia. Se a corrotina foi terminada por uma exceção, " -"isto retorna a lista de frames do traceback (situação da pilha de execução)." +"foi suspensa. Se a corrotina foi concluída com sucesso ou cancelada, isto " +"retorna uma lista vazia. Se a corrotina foi interrompida por uma exceção, " +"isso retorna a lista de frames do traceback (situação da pilha de execução)." -#: ../../library/asyncio-task.rst:1086 +#: ../../library/asyncio-task.rst:1085 msgid "The frames are always ordered from oldest to newest." msgstr "" "Os quadros são sempre ordenados dos mais antigos para os mais recentes." -#: ../../library/asyncio-task.rst:1088 +#: ../../library/asyncio-task.rst:1087 msgid "Only one stack frame is returned for a suspended coroutine." msgstr "Apenas um frame da pilha é retornado para uma corrotina suspensa." -#: ../../library/asyncio-task.rst:1090 +#: ../../library/asyncio-task.rst:1089 msgid "" "The optional *limit* argument sets the maximum number of frames to return; " "by default all available frames are returned. The ordering of the returned " @@ -1296,45 +1324,47 @@ msgid "" "newest frames of a stack are returned, but the oldest frames of a traceback " "are returned. (This matches the behavior of the traceback module.)" msgstr "" -"O argumento opcional *limit* define o o número de frames máximo para " -"retornar; por padrão todos os frames disponíveis são retornados. O " +"O argumento opcional *limit* define o número máximo de frames a serem " +"retornados; por padrão, todos os frames disponíveis são retornados. O " "ordenamento da lista retornada é diferente dependendo se uma pilha ou um " "traceback (situação da pilha de execução) é retornado: os frames mais " "recentes de uma pilha são retornados, mas os frames mais antigos de um " "traceback são retornados. (Isso combina com o comportamento do módulo " "traceback.)" -#: ../../library/asyncio-task.rst:1099 +#: ../../library/asyncio-task.rst:1098 msgid "Print the stack or traceback for this Task." -msgstr "Exibe a pilha ou situação da pilha de execução para esta Tarefa." +msgstr "Exibe a pilha ou a situação da pilha de execução desta Task." -#: ../../library/asyncio-task.rst:1101 +#: ../../library/asyncio-task.rst:1100 msgid "" "This produces output similar to that of the traceback module for the frames " "retrieved by :meth:`get_stack`." msgstr "" -"Isto produz uma saída similar a do módulo traceback para frames recuperados " +"Isto produz uma saída similar à do módulo traceback para frames recuperados " "por :meth:`get_stack`." -#: ../../library/asyncio-task.rst:1104 +#: ../../library/asyncio-task.rst:1103 msgid "The *limit* argument is passed to :meth:`get_stack` directly." -msgstr "O argumento *limit* é passado para :meth:`get_stack` diretamente." +msgstr "O argumento *limit* é passado diretamente para :meth:`get_stack`." -#: ../../library/asyncio-task.rst:1106 +#: ../../library/asyncio-task.rst:1105 msgid "" "The *file* argument is an I/O stream to which the output is written; by " "default output is written to :data:`sys.stdout`." msgstr "" +"O argumento *file* é um fluxo de I/O para o qual a saída é escrita; por " +"padrão, a saída é escrita para :data:`sys.stdout`." -#: ../../library/asyncio-task.rst:1111 +#: ../../library/asyncio-task.rst:1110 msgid "Return the coroutine object wrapped by the :class:`Task`." msgstr "Retorna o objeto corrotina contido pela :class:`Task`." -#: ../../library/asyncio-task.rst:1117 +#: ../../library/asyncio-task.rst:1116 msgid "Return the name of the Task." msgstr "Retorna o nome da Tarefa." -#: ../../library/asyncio-task.rst:1119 +#: ../../library/asyncio-task.rst:1118 msgid "" "If no name has been explicitly assigned to the Task, the default asyncio " "Task implementation generates a default name during instantiation." @@ -1342,30 +1372,30 @@ msgstr "" "Se nenhum nome foi explicitamente designado para a Tarefa, a implementação " "padrão asyncio da classe Task gera um nome padrão durante a instanciação." -#: ../../library/asyncio-task.rst:1127 +#: ../../library/asyncio-task.rst:1126 msgid "Set the name of the Task." msgstr "Define o nome da Tarefa." -#: ../../library/asyncio-task.rst:1129 +#: ../../library/asyncio-task.rst:1128 msgid "" "The *value* argument can be any object, which is then converted to a string." msgstr "" -"O argumento *value* pode ser qualquer objeto, o qual é então convertido para " -"uma string." +"O argumento *value* pode ser qualquer objeto, que é então convertido em uma " +"string." -#: ../../library/asyncio-task.rst:1132 +#: ../../library/asyncio-task.rst:1131 msgid "" -"In the default Task implementation, the name will be visible in the :func:" -"`repr` output of a task object." +"In the default Task implementation, the name will be visible in " +"the :func:`repr` output of a task object." msgstr "" "Na implementação padrão da Tarefa, o nome será visível na :func:`repr` de " "saída de um objeto task." -#: ../../library/asyncio-task.rst:1139 +#: ../../library/asyncio-task.rst:1138 msgid "Request the Task to be cancelled." msgstr "Solicita o cancelamento da Tarefa." -#: ../../library/asyncio-task.rst:1141 +#: ../../library/asyncio-task.rst:1140 msgid "" "This arranges for a :exc:`CancelledError` exception to be thrown into the " "wrapped coroutine on the next cycle of the event loop." @@ -1373,27 +1403,28 @@ msgstr "" "Isto prepara para uma exceção :exc:`CancelledError` ser lançada na corrotina " "contida no próximo ciclo do laço de eventos." -#: ../../library/asyncio-task.rst:1144 +#: ../../library/asyncio-task.rst:1143 msgid "" "The coroutine then has a chance to clean up or even deny the request by " "suppressing the exception with a :keyword:`try` ... ... ``except " -"CancelledError`` ... :keyword:`finally` block. Therefore, unlike :meth:" -"`Future.cancel`, :meth:`Task.cancel` does not guarantee that the Task will " -"be cancelled, although suppressing cancellation completely is not common and " -"is actively discouraged. Should the coroutine nevertheless decide to " -"suppress the cancellation, it needs to call :meth:`Task.uncancel` in " -"addition to catching the exception." +"CancelledError`` ... :keyword:`finally` block. Therefore, " +"unlike :meth:`Future.cancel`, :meth:`Task.cancel` does not guarantee that " +"the Task will be cancelled, although suppressing cancellation completely is " +"not common and is actively discouraged. Should the coroutine nevertheless " +"decide to suppress the cancellation, it needs to call :meth:`Task.uncancel` " +"in addition to catching the exception." msgstr "" -#: ../../library/asyncio-task.rst:1154 +#: ../../library/asyncio-task.rst:1153 msgid "Added the *msg* parameter." msgstr "Adicionado o parâmetro *msg*." -#: ../../library/asyncio-task.rst:1157 +#: ../../library/asyncio-task.rst:1156 msgid "The ``msg`` parameter is propagated from cancelled task to its awaiter." msgstr "" +"O parâmetro ``msg`` é propagado da tarefa cancelada para o seu aguardador." -#: ../../library/asyncio-task.rst:1162 +#: ../../library/asyncio-task.rst:1161 msgid "" "The following example illustrates how coroutines can intercept the " "cancellation request::" @@ -1401,66 +1432,73 @@ msgstr "" "O seguinte exemplo ilustra como corrotinas podem interceptar o cancelamento " "de requisições::" -#: ../../library/asyncio-task.rst:1201 +#: ../../library/asyncio-task.rst:1200 msgid "Return ``True`` if the Task is *cancelled*." msgstr "Retorna ``True`` se a Tarefa for *cancelada*." -#: ../../library/asyncio-task.rst:1203 +#: ../../library/asyncio-task.rst:1202 msgid "" -"The Task is *cancelled* when the cancellation was requested with :meth:" -"`cancel` and the wrapped coroutine propagated the :exc:`CancelledError` " -"exception thrown into it." +"The Task is *cancelled* when the cancellation was requested " +"with :meth:`cancel` and the wrapped coroutine propagated " +"the :exc:`CancelledError` exception thrown into it." msgstr "" -"A Tarefa é *cancelada* quando o cancelamento foi requisitado com :meth:" -"`cancel` e a corrotina contida propagou a exceção :exc:`CancelledError` " -"gerada nela." +"A Tarefa é *cancelada* quando o cancelamento foi requisitado " +"com :meth:`cancel` e a corrotina contida propagou a " +"exceção :exc:`CancelledError` gerada nela." -#: ../../library/asyncio-task.rst:1209 +#: ../../library/asyncio-task.rst:1208 msgid "Decrement the count of cancellation requests to this Task." msgstr "" -#: ../../library/asyncio-task.rst:1211 +#: ../../library/asyncio-task.rst:1210 msgid "Returns the remaining number of cancellation requests." -msgstr "" +msgstr "Retorna o número restante de pedidos de cancelamento." -#: ../../library/asyncio-task.rst:1213 +#: ../../library/asyncio-task.rst:1212 msgid "" -"Note that once execution of a cancelled task completed, further calls to :" -"meth:`uncancel` are ineffective." +"Note that once execution of a cancelled task completed, further calls " +"to :meth:`uncancel` are ineffective." msgstr "" +"Note que, uma vez concluída a execução de uma tarefa cancelada, chamadas " +"adicionais para :meth:`uncancel` são ineficazes." -#: ../../library/asyncio-task.rst:1218 +#: ../../library/asyncio-task.rst:1217 msgid "" "This method is used by asyncio's internals and isn't expected to be used by " "end-user code. In particular, if a Task gets successfully uncancelled, this " -"allows for elements of structured concurrency like :ref:`taskgroups` and :" -"func:`asyncio.timeout` to continue running, isolating cancellation to the " -"respective structured block. For example::" +"allows for elements of structured concurrency like :ref:`taskgroups` " +"and :func:`asyncio.timeout` to continue running, isolating cancellation to " +"the respective structured block. For example::" msgstr "" -#: ../../library/asyncio-task.rst:1236 +#: ../../library/asyncio-task.rst:1235 msgid "" "While the block with ``make_request()`` and ``make_another_request()`` might " "get cancelled due to the timeout, ``unrelated_code()`` should continue " -"running even in case of the timeout. This is implemented with :meth:" -"`uncancel`. :class:`TaskGroup` context managers use :func:`uncancel` in a " -"similar fashion." +"running even in case of the timeout. This is implemented " +"with :meth:`uncancel`. :class:`TaskGroup` context managers " +"use :func:`uncancel` in a similar fashion." msgstr "" +"Enquanto o bloco com ``make_request()`` e ``make_another_request()`` possa " +"ser cancelado devido ao timeout, ``unrelated_code()`` deve continuar a " +"executar mesmo em caso de timeout. Isto é implementado com :meth:`uncancel`. " +"Os gerenciadores de contexto :class:`TaskGroup` usam :func:`uncancel` de " +"forma semelhante." -#: ../../library/asyncio-task.rst:1242 +#: ../../library/asyncio-task.rst:1241 msgid "" -"If end-user code is, for some reason, suppresing cancellation by catching :" -"exc:`CancelledError`, it needs to call this method to remove the " +"If end-user code is, for some reason, suppresing cancellation by " +"catching :exc:`CancelledError`, it needs to call this method to remove the " "cancellation state." msgstr "" -#: ../../library/asyncio-task.rst:1248 +#: ../../library/asyncio-task.rst:1247 msgid "" "Return the number of pending cancellation requests to this Task, i.e., the " "number of calls to :meth:`cancel` less the number of :meth:`uncancel` calls." msgstr "" -#: ../../library/asyncio-task.rst:1252 +#: ../../library/asyncio-task.rst:1251 msgid "" "Note that if this number is greater than zero but the Task is still " "executing, :meth:`cancelled` will still return ``False``. This is because " @@ -1469,8 +1507,11 @@ msgid "" "to zero." msgstr "" -#: ../../library/asyncio-task.rst:1258 +#: ../../library/asyncio-task.rst:1257 msgid "" "This method is used by asyncio's internals and isn't expected to be used by " "end-user code. See :meth:`uncancel` for more details." msgstr "" +"Este método é usado pelos internos do asyncio e não é esperado que seja " +"usado por código do usuário final. Consulte :meth:`uncancel` para mais " +"detalhes." diff --git a/library/asyncio.po b/library/asyncio.po index 8574657b1..2745d2be7 100644 --- a/library/asyncio.po +++ b/library/asyncio.po @@ -1,40 +1,37 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Lilian Corrêa , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" -#: ../../library/asyncio.rst:78 +#: ../../library/asyncio.rst:87 msgid "High-level APIs" msgstr "APIs de alto nível" -#: ../../library/asyncio.rst:90 +#: ../../library/asyncio.rst:99 msgid "Low-level APIs" msgstr "APIs de baixo nível" -#: ../../library/asyncio.rst:101 +#: ../../library/asyncio.rst:110 msgid "Guides and Tutorials" msgstr "Guias e tutoriais" @@ -42,7 +39,7 @@ msgstr "Guias e tutoriais" msgid ":mod:`asyncio` --- Asynchronous I/O" msgstr ":mod:`asyncio` --- E/S assíncrona" -#: ../../library/asyncio.rstNone +#: ../../library/asyncio.rst-1 msgid "Hello World!" msgstr "Olá Mundo!" @@ -111,14 +108,14 @@ msgstr "" #: ../../library/asyncio.rst:48 msgid "" "create and manage :ref:`event loops `, which provide " -"asynchronous APIs for :meth:`networking `, running :meth:" -"`subprocesses `, handling :meth:`OS signals `, etc;" +"asynchronous APIs for :ref:`networking `, " +"running :ref:`subprocesses `, handling :ref:`OS " +"signals `, etc;" msgstr "" "criar e gerenciar :ref:`laços de eventos `, que fornecem " -"APIs assíncronas para :meth:`rede `, execução de :meth:" -"`subprocessos `, tratamento de :meth:`sinais de " -"sistemas operacionais ` etc;" +"APIs assíncronas para :ref:`rede `, execução " +"de :ref:`subprocessos `, tratamento de :ref:`sinais de " +"sistemas operacionais ` etc;" #: ../../library/asyncio.rst:53 msgid "" @@ -136,10 +133,6 @@ msgstr "" ":ref:`fazer uma ponte ` sobre bibliotecas baseadas em " "chamadas e codificar com a sintaxe de async/await." -#: ../../library/asyncio.rst:59 -msgid "You can experiment with an ``asyncio`` concurrent context in the REPL:" -msgstr "Você pode experimentar um contexto concorrente ``asyncio`` no REPL:" - #: ../../includes/wasm-notavail.rst:3 msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidade `: não Emscripten, não WASI." @@ -154,11 +147,31 @@ msgstr "" "``wasm32-emscripten`` e ``wasm32-wasi``. Veja :ref:`wasm-availability` para " "mais informações." -#: ../../library/asyncio.rst:77 +#: ../../library/asyncio.rst:64 +msgid "asyncio REPL" +msgstr "REPL de asyncio" + +#: ../../library/asyncio.rst:65 +msgid "You can experiment with an ``asyncio`` concurrent context in the REPL:" +msgstr "Você pode experimentar um contexto concorrente ``asyncio`` no REPL:" + +#: ../../library/asyncio.rst:88 +msgid "" +"Raises an :ref:`auditing event ` ``cpython.run_stdin`` with no " +"arguments." +msgstr "" +"Levanta um :ref:`evento de auditoria ` ``cpython.run_stdin`` sem " +"argumentos." + +#: ../../library/asyncio.rst:79 +msgid "(also 3.10.15, 3.9.20, and 3.8.20) Emits audit events." +msgstr "" + +#: ../../library/asyncio.rst:86 msgid "Reference" msgstr "Referência" -#: ../../library/asyncio.rst:110 +#: ../../library/asyncio.rst:119 msgid "The source code for asyncio can be found in :source:`Lib/asyncio/`." msgstr "" "O código-fonte para o asyncio pode ser encontrado em :source:`Lib/asyncio/`." diff --git a/library/asyncore.po b/library/asyncore.po index d4d3bf889..edd490fb0 100644 --- a/library/asyncore.po +++ b/library/asyncore.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# i17obot , 2021 -# Danilo Lima , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -95,10 +92,10 @@ msgstr "" #: ../../library/asyncore.rst:53 msgid "" "The basic idea behind both modules is to create one or more network " -"*channels*, instances of class :class:`asyncore.dispatcher` and :class:" -"`asynchat.async_chat`. Creating the channels adds them to a global map, " -"used by the :func:`loop` function if you do not provide it with your own " -"*map*." +"*channels*, instances of class :class:`asyncore.dispatcher` " +"and :class:`asynchat.async_chat`. Creating the channels adds them to a " +"global map, used by the :func:`loop` function if you do not provide it with " +"your own *map*." msgstr "" #: ../../library/asyncore.rst:59 @@ -125,9 +122,9 @@ msgstr "" msgid "" "The *map* parameter is a dictionary whose items are the channels to watch. " "As channels are closed they are deleted from their map. If *map* is " -"omitted, a global map is used. Channels (instances of :class:`asyncore." -"dispatcher`, :class:`asynchat.async_chat` and subclasses thereof) can freely " -"be mixed in the map." +"omitted, a global map is used. Channels (instances " +"of :class:`asyncore.dispatcher`, :class:`asynchat.async_chat` and subclasses " +"thereof) can freely be mixed in the map." msgstr "" #: ../../library/asyncore.rst:84 @@ -183,10 +180,10 @@ msgstr "" #: ../../library/asyncore.rst:110 msgid "" -"During asynchronous processing, each mapped channel's :meth:`readable` and :" -"meth:`writable` methods are used to determine whether the channel's socket " -"should be added to the list of channels :c:func:`select`\\ ed or :c:func:" -"`poll`\\ ed for read and write events." +"During asynchronous processing, each mapped channel's :meth:`readable` " +"and :meth:`writable` methods are used to determine whether the channel's " +"socket should be added to the list of channels :c:func:`select`\\ ed " +"or :c:func:`poll`\\ ed for read and write events." msgstr "" #: ../../library/asyncore.rst:115 @@ -238,8 +235,8 @@ msgstr "" msgid "" "Called on listening channels (passive openers) when a connection can be " "established with a new remote endpoint that has issued a :meth:`connect` " -"call for the local endpoint. Deprecated in version 3.2; use :meth:" -"`handle_accepted` instead." +"call for the local endpoint. Deprecated in version 3.2; " +"use :meth:`handle_accepted` instead." msgstr "" #: ../../library/asyncore.rst:172 @@ -303,9 +300,9 @@ msgstr "" #: ../../library/asyncore.rst:228 msgid "" -"Note that :meth:`recv` may raise :exc:`BlockingIOError` , even though :func:" -"`select.select` or :func:`select.poll` has reported the socket ready for " -"reading." +"Note that :meth:`recv` may raise :exc:`BlockingIOError` , even " +"though :func:`select.select` or :func:`select.poll` has reported the socket " +"ready for reading." msgstr "" #: ../../library/asyncore.rst:235 @@ -318,10 +315,10 @@ msgstr "" #: ../../library/asyncore.rst:242 msgid "" "Bind the socket to *address*. The socket must not already be bound. (The " -"format of *address* depends on the address family --- refer to the :mod:" -"`socket` documentation for more information.) To mark the socket as re-" -"usable (setting the :const:`SO_REUSEADDR` option), call the :class:" -"`dispatcher` object's :meth:`set_reuse_addr` method." +"format of *address* depends on the address family --- refer to " +"the :mod:`socket` documentation for more information.) To mark the socket " +"as re-usable (setting the :const:`SO_REUSEADDR` option), call " +"the :class:`dispatcher` object's :meth:`set_reuse_addr` method." msgstr "" #: ../../library/asyncore.rst:251 @@ -345,17 +342,17 @@ msgstr "" #: ../../library/asyncore.rst:271 msgid "" "A :class:`dispatcher` subclass which adds simple buffered output capability, " -"useful for simple clients. For more sophisticated usage use :class:`asynchat." -"async_chat`." +"useful for simple clients. For more sophisticated usage " +"use :class:`asynchat.async_chat`." msgstr "" #: ../../library/asyncore.rst:277 msgid "" "A file_dispatcher takes a file descriptor or :term:`file object` along with " -"an optional map argument and wraps it for use with the :c:func:`poll` or :c:" -"func:`loop` functions. If provided a file object or anything with a :c:func:" -"`fileno` method, that method will be called and passed to the :class:" -"`file_wrapper` constructor." +"an optional map argument and wraps it for use with the :c:func:`poll` " +"or :c:func:`loop` functions. If provided a file object or anything with " +"a :c:func:`fileno` method, that method will be called and passed to " +"the :class:`file_wrapper` constructor." msgstr "" #: ../../library/asyncore.rst:283 ../../library/asyncore.rst:292 diff --git a/library/atexit.po b/library/atexit.po index a2daf0a29..b9fc8de4e 100644 --- a/library/atexit.po +++ b/library/atexit.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,10 +38,10 @@ msgid "" msgstr "" "O módulo :mod:`atexit` define funções para registrar e cancelar o registro " "de funções de limpeza. As funções assim registradas são executadas " -"automaticamente após a conclusão normal do interpretador. O módulo :mod:" -"`atexit` executa essas funções na ordem *reversa* na qual foram registradas; " -"se você inscrever ``A``, ``B`` e ``C``, no momento do término do " -"interpretador, eles serão executados na ordem ``C``, ``B``, ``A`` ." +"automaticamente após a conclusão normal do interpretador. O " +"módulo :mod:`atexit` executa essas funções na ordem *reversa* na qual foram " +"registradas; se você inscrever ``A``, ``B`` e ``C``, no momento do término " +"do interpretador, eles serão executados na ordem ``C``, ``B``, ``A`` ." #: ../../library/atexit.rst:19 msgid "" @@ -57,25 +56,33 @@ msgstr "" #: ../../library/atexit.rst:23 msgid "" +"**Note:** The effect of registering or unregistering functions from within a " +"cleanup function is undefined." +msgstr "" +"**Nota:** O efeito de registrar ou cancelar o registro de funções dentro de " +"uma função de limpeza é indefinido." + +#: ../../library/atexit.rst:26 +msgid "" "When used with C-API subinterpreters, registered functions are local to the " "interpreter they were registered in." msgstr "" "Quando usadas com os subinterpretadores de C-API, as funções registradas são " "locais para o interpretador em que foram registradas." -#: ../../library/atexit.rst:29 +#: ../../library/atexit.rst:32 msgid "" "Register *func* as a function to be executed at termination. Any optional " -"arguments that are to be passed to *func* must be passed as arguments to :" -"func:`register`. It is possible to register the same function and arguments " -"more than once." +"arguments that are to be passed to *func* must be passed as arguments " +"to :func:`register`. It is possible to register the same function and " +"arguments more than once." msgstr "" "Registre *func* como uma função a ser executada no término. Qualquer o " "argumento opcional que deve ser passado para *func* for passado como " "argumento para :func:`register`. É possível registrar mais ou menos a mesma " "função e argumentos." -#: ../../library/atexit.rst:34 +#: ../../library/atexit.rst:37 msgid "" "At normal program termination (for instance, if :func:`sys.exit` is called " "or the main module's execution completes), all functions registered are " @@ -87,9 +94,9 @@ msgstr "" "chamado ou a execução do módulo principal for concluída), todas as funções " "registradas serão chamadas por último, pela primeira ordem. A suposição é " "que os módulos de nível inferior normalmente serão importados antes dos " -"módulos de nível superior e, portanto, devem ser limpos posteriormente." +"módulos de nível mais alto e, portanto, devem ser limpos posteriormente." -#: ../../library/atexit.rst:40 +#: ../../library/atexit.rst:43 msgid "" "If an exception is raised during execution of the exit handlers, a traceback " "is printed (unless :exc:`SystemExit` is raised) and the exception " @@ -102,21 +109,22 @@ msgstr "" "saída terem tido a chance de executar a última exceção a ser levantada, é " "levantada novamente." -#: ../../library/atexit.rst:45 +#: ../../library/atexit.rst:48 msgid "" "This function returns *func*, which makes it possible to use it as a " "decorator." msgstr "" "Esta função retorna *func*, o que torna possível usá-la como um decorador." -#: ../../library/atexit.rst:51 +#: ../../library/atexit.rst:54 msgid "" -"Remove *func* from the list of functions to be run at interpreter shutdown. :" -"func:`unregister` silently does nothing if *func* was not previously " -"registered. If *func* has been registered more than once, every occurrence " -"of that function in the :mod:`atexit` call stack will be removed. Equality " -"comparisons (``==``) are used internally during unregistration, so function " -"references do not need to have matching identities." +"Remove *func* from the list of functions to be run at interpreter " +"shutdown. :func:`unregister` silently does nothing if *func* was not " +"previously registered. If *func* has been registered more than once, every " +"occurrence of that function in the :mod:`atexit` call stack will be " +"removed. Equality comparisons (``==``) are used internally during " +"unregistration, so function references do not need to have matching " +"identities." msgstr "" "Remove *func* da lista de funções a serem executadas no desligamento do " "interpretador. :func:`unregister` silenciosamente não faz nada se *func* não " @@ -126,23 +134,23 @@ msgstr "" "cancelamento do registro, portanto, as referências de função não precisam " "ter identidades correspondentes." -#: ../../library/atexit.rst:62 +#: ../../library/atexit.rst:65 msgid "Module :mod:`readline`" msgstr "Módulo :mod:`readline`" -#: ../../library/atexit.rst:62 +#: ../../library/atexit.rst:65 msgid "" "Useful example of :mod:`atexit` to read and write :mod:`readline` history " "files." msgstr "" -"Exemplo útil de :mod:`atexit` para ler e escrever arquivos de histórico de :" -"mod:`readline`." +"Exemplo útil de :mod:`atexit` para ler e escrever arquivos de histórico " +"de :mod:`readline`." -#: ../../library/atexit.rst:69 +#: ../../library/atexit.rst:72 msgid ":mod:`atexit` Example" msgstr "Exemplo do :mod:`atexit`" -#: ../../library/atexit.rst:71 +#: ../../library/atexit.rst:74 msgid "" "The following simple example demonstrates how a module can initialize a " "counter from a file when it is imported and save the counter's updated value " @@ -154,7 +162,7 @@ msgstr "" "valor atualizado do contador quando o programa termina, sem depender que a " "aplicação faça uma chamada explícita nesse módulo na finalização. ::" -#: ../../library/atexit.rst:94 +#: ../../library/atexit.rst:97 msgid "" "Positional and keyword arguments may also be passed to :func:`register` to " "be passed along to the registered function when it is called::" @@ -163,10 +171,10 @@ msgstr "" "para :func:`register` para ser passada para a função registrada quando é " "chamada ::" -#: ../../library/atexit.rst:106 +#: ../../library/atexit.rst:109 msgid "Usage as a :term:`decorator`::" msgstr "Utilizado como um :term:`decorador`::" -#: ../../library/atexit.rst:114 +#: ../../library/atexit.rst:117 msgid "This only works with functions that can be called without arguments." msgstr "Isso só funciona com funções que podem ser invocadas sem argumentos." diff --git a/library/audioop.po b/library/audioop.po index f84ade715..90effa209 100644 --- a/library/audioop.po +++ b/library/audioop.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -44,8 +44,9 @@ msgstr "" #: ../../library/audioop.rst:19 msgid "" -"Support for 24-bit samples was added. All functions now accept any :term:" -"`bytes-like object`. String input now results in an immediate error." +"Support for 24-bit samples was added. All functions now accept " +"any :term:`bytes-like object`. String input now results in an immediate " +"error." msgstr "" #: ../../library/audioop.rst:30 @@ -320,16 +321,16 @@ msgstr "" #: ../../library/audioop.rst:24 msgid "Intel/DVI ADPCM" -msgstr "" +msgstr "Intel/DVI ADPCM" #: ../../library/audioop.rst:24 msgid "ADPCM, Intel/DVI" -msgstr "" +msgstr "ADPCM, Intel/DVI" #: ../../library/audioop.rst:24 msgid "a-LAW" -msgstr "" +msgstr "a-LAW" #: ../../library/audioop.rst:24 msgid "u-LAW" -msgstr "" +msgstr "u-LAW" diff --git a/library/audit_events.po b/library/audit_events.po index 7ee856936..ec32dbbed 100644 --- a/library/audit_events.po +++ b/library/audit_events.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -31,14 +29,14 @@ msgstr "Tabela de eventos de auditoria" #: ../../library/audit_events.rst:8 msgid "" -"This table contains all events raised by :func:`sys.audit` or :c:func:" -"`PySys_Audit` calls throughout the CPython runtime and the standard " -"library. These calls were added in 3.8.0 or later (see :pep:`578`)." +"This table contains all events raised by :func:`sys.audit` " +"or :c:func:`PySys_Audit` calls throughout the CPython runtime and the " +"standard library. These calls were added in 3.8 or later (see :pep:`578`)." msgstr "" -"Esta tabela contém todos os eventos levantados por chamadas de :func:`sys." -"audit` ou :c:func:`PySys_Audit` durante todo o tempo de execução do CPython " -"e da biblioteca padrão. Essas chamadas foram adicionadas na versão 3.8.0 ou " -"posterior (veja :pep:`578`)." +"Esta tabela contém todos os eventos levantados por chamadas " +"de :func:`sys.audit` ou :c:func:`PySys_Audit` durante todo o tempo de " +"execução do CPython e da biblioteca padrão. Essas chamadas foram adicionadas " +"na versão 3.8 ou posterior (veja :pep:`578`)." #: ../../library/audit_events.rst:12 msgid "" @@ -141,4 +139,4 @@ msgstr "``obj``" #: ../../library/audit_events.rst:3 msgid "audit events" -msgstr "" +msgstr "eventos de auditoria" diff --git a/library/base64.po b/library/base64.po index e789a1ab7..a1fce340d 100644 --- a/library/base64.po +++ b/library/base64.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Bonifacio de Oliveira , 2021 -# Augusta Carla Klug , 2021 -# Claudio Rogerio Carvalho Filho , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -54,8 +50,8 @@ 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." +"an HTTP POST request. The encoding algorithm is not the same as " +"the :program:`uuencode` program." msgstr "" "As codificações :rfc:`4648` são adequadas para codificar dados binários para " "que possam ser enviados com segurança por e-mail, usados como parte de URLs " @@ -65,17 +61,18 @@ msgstr "" #: ../../library/base64.rst:27 msgid "" "There are two interfaces provided by this module. The modern interface " -"supports encoding :term:`bytes-like objects ` to ASCII :" -"class:`bytes`, and decoding :term:`bytes-like objects ` " -"or strings containing ASCII to :class:`bytes`. Both base-64 alphabets " -"defined in :rfc:`4648` (normal, and URL- and filesystem-safe) are supported." +"supports encoding :term:`bytes-like objects ` to " +"ASCII :class:`bytes`, and decoding :term:`bytes-like objects ` or strings containing ASCII to :class:`bytes`. Both base-64 " +"alphabets defined in :rfc:`4648` (normal, and URL- and filesystem-safe) are " +"supported." msgstr "" "Existem duas interfaces fornecidas por este módulo. A interface moderna " "oferece suporte a codificar :term:`objetos bytes ou similares ` para :class:`bytes` ASCII, e decodificar :term:`objetos bytes ou " -"similares ` ou strings contendo ASCII para :class:" -"`bytes`. Ambos os alfabetos de base 64 definidos em :rfc:`4648` (normal e " -"seguro para URL e sistema de arquivos) são suportados." +"similares ` ou strings contendo ASCII " +"para :class:`bytes`. Ambos os alfabetos de base 64 definidos em :rfc:`4648` " +"(normal e seguro para URL e sistema de arquivos) são suportados." #: ../../library/base64.rst:33 msgid "" @@ -83,8 +80,8 @@ msgid "" "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." +"looking for :rfc:`2045` support you probably want to be looking at " +"the :mod:`email` package instead." msgstr "" "A interface legada não oferece suporte a decodificação de strings, mas " "fornece funções para codificação e decodificação de e para :term:`objetos " @@ -120,8 +117,8 @@ msgid "" "Encode the :term:`bytes-like object` *s* using Base64 and return the " "encoded :class:`bytes`." msgstr "" -"Codifica o :term:`objeto bytes ou similar ` *s* usando " -"Base64 e retorna o :class:`bytes` codificado." +"Codifica o :term:`objeto bytes ou similar` *s* usando Base64 e retorna " +"o :class:`bytes` codificado." #: ../../library/base64.rst:56 msgid "" @@ -144,8 +141,8 @@ msgid "" "Decode the Base64 encoded :term:`bytes-like object` or ASCII string *s* and " "return the decoded :class:`bytes`." msgstr "" -"Decodifica o :term:`objeto bytes ou similar ` ou string " -"ASCII *s* codificada em Base64 e retorna o :class:`bytes` decodificado." +"Decodifica o :term:`objeto bytes ou similar` ou string ASCII *s* codificada " +"em Base64 e retorna o :class:`bytes` decodificado." #: ../../library/base64.rst:70 msgid "" @@ -169,8 +166,8 @@ msgstr "" #: ../../library/base64.rst:83 msgid "" -"For more information about the strict base64 check, see :func:`binascii." -"a2b_base64`" +"For more information about the strict base64 check, " +"see :func:`binascii.a2b_base64`" msgstr "" #: ../../library/base64.rst:85 @@ -202,8 +199,8 @@ msgstr "" msgid "" "Decode :term:`bytes-like object` or ASCII string *s* using the URL- and " "filesystem-safe alphabet, which substitutes ``-`` instead of ``+`` and ``_`` " -"instead of ``/`` in the standard Base64 alphabet, and return the decoded :" -"class:`bytes`." +"instead of ``/`` in the standard Base64 alphabet, and return the " +"decoded :class:`bytes`." msgstr "" #: ../../library/base64.rst:119 @@ -376,11 +373,12 @@ msgstr "" #: ../../library/base64.rst:267 msgid "" "Encode the contents of the binary *input* file and write the resulting " -"base64 encoded data to the *output* file. *input* and *output* must be :term:" -"`file objects `. *input* will be read until ``input.read()`` " -"returns an empty bytes object. :func:`encode` inserts a newline character " -"(``b'\\n'``) after every 76 bytes of the output, as well as ensuring that " -"the output always ends with a newline, as per :rfc:`2045` (MIME)." +"base64 encoded data to the *output* file. *input* and *output* must " +"be :term:`file objects `. *input* will be read until " +"``input.read()`` returns an empty bytes object. :func:`encode` inserts a " +"newline character (``b'\\n'``) after every 76 bytes of the output, as well " +"as ensuring that the output always ends with a newline, as per :rfc:`2045` " +"(MIME)." msgstr "" #: ../../library/base64.rst:277 @@ -440,7 +438,7 @@ msgstr "codificação" #: ../../library/base64.rst:10 msgid "MIME" -msgstr "" +msgstr "MIME" #: ../../library/base64.rst:10 msgid "base64 encoding" diff --git a/library/bdb.po b/library/bdb.po index 9b53d2da1..013f82be2 100644 --- a/library/bdb.po +++ b/library/bdb.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 +# Rainer Terroso, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rainer Terroso, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,24 +38,28 @@ msgid "" "The :mod:`bdb` module handles basic debugger functions, like setting " "breakpoints or managing execution via the debugger." msgstr "" +"O módulo :mod:`bdb` lida com funções básicas do depurador, como definir " +"pontos de interrupção ou gerenciar a execução por meio do depurador." #: ../../library/bdb.rst:14 msgid "The following exception is defined:" -msgstr "" +msgstr "A seguinte exceção é definida:" #: ../../library/bdb.rst:18 msgid "Exception raised by the :class:`Bdb` class for quitting the debugger." -msgstr "" +msgstr "Exceção levantada pela classe :class:`Bdb` para sair do depurador." #: ../../library/bdb.rst:21 msgid "The :mod:`bdb` module also defines two classes:" -msgstr "" +msgstr "O módulo :mod:`bdb` também define duas classes:" #: ../../library/bdb.rst:25 msgid "" "This class implements temporary breakpoints, ignore counts, disabling and " "(re-)enabling, and conditionals." msgstr "" +"Esta classe implementa pontos de interrupção temporários, contagens de " +"ignorar, desativação e (re)ativação, além de condicionais." #: ../../library/bdb.rst:28 msgid "" @@ -64,19 +68,30 @@ msgid "" "a single instance of class :class:`Breakpoint`. The latter points to a list " "of such instances since there may be more than one breakpoint per line." msgstr "" +"Os pontos de interrupção são indexados por número por meio de uma lista " +"chamada :attr:`bpbynumber` e por pares ``(file, line)`` por meio " +"de :attr:`bplist`. O primeiro aponta para uma única instância da " +"classe :class:`Breakpoint`. O segundo aponta para uma lista dessas " +"instâncias, já que pode haver mais de um ponto de interrupção por linha." #: ../../library/bdb.rst:33 msgid "" "When creating a breakpoint, its associated :attr:`file name ` should " -"be in canonical form. If a :attr:`funcname` is defined, a breakpoint :attr:" -"`hit ` will be counted when the first line of that function is " -"executed. A :attr:`conditional ` breakpoint always counts a :attr:" -"`hit `." -msgstr "" +"be in canonical form. If a :attr:`funcname` is defined, a " +"breakpoint :attr:`hit ` will be counted when the first line of that " +"function is executed. A :attr:`conditional ` breakpoint always counts " +"a :attr:`hit `." +msgstr "" +"Ao criar um ponto de interrupção, seu :attr:`nome do arquivo ` " +"associado deve estar no formato canônico. Se um :attr:`funcname` for " +"definido, um ponto de interrupção :attr:`atingido ` será contado " +"quando a primeira linha dessa função for executada. Um ponto de " +"interrupção :attr:`condicional ` sempre conta um :attr:`atingido " +"`." #: ../../library/bdb.rst:39 msgid ":class:`Breakpoint` instances have the following methods:" -msgstr "" +msgstr "As instâncias de :class:`Breakpoint` têm os seguintes métodos:" #: ../../library/bdb.rst:43 msgid "" @@ -84,62 +99,69 @@ msgid "" "last breakpoint in that position, it also deletes the entry for the file/" "line." msgstr "" +"Exclui o ponto de interrupção da lista associada a um arquivo/linha. Se for " +"o último ponto de interrupção nessa posição, ele também excluirá a entrada " +"do arquivo/linha." #: ../../library/bdb.rst:50 msgid "Mark the breakpoint as enabled." -msgstr "" +msgstr "Marca o ponto de interrupção como ativado." #: ../../library/bdb.rst:55 msgid "Mark the breakpoint as disabled." -msgstr "" +msgstr "Marca o ponto de interrupção como desativado." #: ../../library/bdb.rst:60 msgid "" "Return a string with all the information about the breakpoint, nicely " "formatted:" msgstr "" +"Retorna uma string com todas as informações sobre o ponto de interrupção, " +"formatadas de maneira clara:" #: ../../library/bdb.rst:63 msgid "Breakpoint number." -msgstr "" +msgstr "Número do ponto de interrupção." #: ../../library/bdb.rst:64 msgid "Temporary status (del or keep)." -msgstr "" +msgstr "Status temporário (del ou keep)." #: ../../library/bdb.rst:65 msgid "File/line position." -msgstr "" +msgstr "Posição do arquivo/linha." #: ../../library/bdb.rst:66 msgid "Break condition." -msgstr "" +msgstr "Condição de interrupção." #: ../../library/bdb.rst:67 msgid "Number of times to ignore." -msgstr "" +msgstr "Número de vezes para ignorar." #: ../../library/bdb.rst:68 msgid "Number of times hit." -msgstr "" +msgstr "Número de vezes atingido." #: ../../library/bdb.rst:74 msgid "" "Print the output of :meth:`bpformat` to the file *out*, or if it is " "``None``, to standard output." msgstr "" +"Exibe a saída de :meth:`bpformat` no arquivo *out* ou, se for ``None``, na " +"saída padrão." #: ../../library/bdb.rst:77 msgid ":class:`Breakpoint` instances have the following attributes:" -msgstr "" +msgstr "Instâncias :class:`Breakpoint` possuem os seguintes atributos:" #: ../../library/bdb.rst:81 msgid "File name of the :class:`Breakpoint`." -msgstr "" +msgstr "Nome do arquivo do :class:`Breakpoint`." #: ../../library/bdb.rst:85 msgid "Line number of the :class:`Breakpoint` within :attr:`file`." -msgstr "" +msgstr "Número da linha do :class:`Breakpoint` dentro de :attr:`file`." #: ../../library/bdb.rst:89 msgid "True if a :class:`Breakpoint` at (file, line) is temporary." @@ -147,46 +169,54 @@ msgstr "" #: ../../library/bdb.rst:93 msgid "Condition for evaluating a :class:`Breakpoint` at (file, line)." -msgstr "" +msgstr "Condição para avaliar um :class:`Breakpoint` em (file, line)." #: ../../library/bdb.rst:97 msgid "" "Function name that defines whether a :class:`Breakpoint` is hit upon " "entering the function." msgstr "" +"Nome da função que define se um :class:`Breakpoint` é atingido ao entrar na " +"função." #: ../../library/bdb.rst:102 msgid "True if :class:`Breakpoint` is enabled." -msgstr "" +msgstr "Verdadeiro se :class:`Breakpoint` estiver habilitado." #: ../../library/bdb.rst:106 msgid "Numeric index for a single instance of a :class:`Breakpoint`." -msgstr "" +msgstr "Índice numérico de uma única instância de :class:`Breakpoint`." #: ../../library/bdb.rst:110 msgid "" -"Dictionary of :class:`Breakpoint` instances indexed by (:attr:`file`, :attr:" -"`line`) tuples." +"Dictionary of :class:`Breakpoint` instances indexed by " +"(:attr:`file`, :attr:`line`) tuples." msgstr "" +"Dicionário de instâncias de :class:`Breakpoint` indexadas por tuplas " +"(:attr:`file`, :attr:`line`)." #: ../../library/bdb.rst:115 msgid "Number of times to ignore a :class:`Breakpoint`." -msgstr "" +msgstr "Número de vezes para ignorar o :class:`Breakpoint`." #: ../../library/bdb.rst:119 msgid "Count of the number of times a :class:`Breakpoint` has been hit." -msgstr "" +msgstr "Contagem do número de vezes que um :class:`Breakpoint` foi atingido." #: ../../library/bdb.rst:123 msgid "The :class:`Bdb` class acts as a generic Python debugger base class." msgstr "" +"A :class:`Bdb` atua como uma classe base genérica de depurador em Python." #: ../../library/bdb.rst:125 msgid "" "This class takes care of the details of the trace facility; a derived class " -"should implement user interaction. The standard debugger class (:class:`pdb." -"Pdb`) is an example." +"should implement user interaction. The standard debugger class " +"(:class:`pdb.Pdb`) is an example." msgstr "" +"Esta classe cuida dos detalhes do mecanismo de rastreamento; uma classe " +"derivada deve implementar a interação com o usuário. A classe de depuração " +"padrão (:class:`pdb.Pdb`) é um exemplo." #: ../../library/bdb.rst:129 msgid "" @@ -196,39 +226,58 @@ msgid "" "originate in a certain module is determined by the ``__name__`` in the frame " "globals." msgstr "" +"O argumento *skip*, se fornecido, deve ser um iterável de padrões de nomes " +"de módulos no estilo glob. O depurador não entrará em frames que se originam " +"em um módulo que corresponda a um desses padrões. Se um frame é considerado " +"como originado em determinado módulo é determinado pelo valor de " +"``__name__`` nos globals do frame." #: ../../library/bdb.rst:135 -msgid "The *skip* argument." -msgstr "O argumento *skip*." +msgid "Added the *skip* parameter." +msgstr "Adicionado o parâmetro *skip*." #: ../../library/bdb.rst:138 msgid "" "The following methods of :class:`Bdb` normally don't need to be overridden." msgstr "" +"Os seguintes métodos de :class:`Bdb` normalmente não precisam ser " +"substituídos." #: ../../library/bdb.rst:142 msgid "Return canonical form of *filename*." -msgstr "" +msgstr "Retorna a forma canônica de *filename*." #: ../../library/bdb.rst:144 msgid "" -"For real file names, the canonical form is an operating-system-dependent, :" -"func:`case-normalized ` :func:`absolute path `. A *filename* with angle brackets, such as ``\"\"`` " -"generated in interactive mode, is returned unchanged." +"For real file names, the canonical form is an operating-system-" +"dependent, :func:`case-normalized ` :func:`absolute path " +"`. A *filename* with angle brackets, such as " +"``\"\"`` generated in interactive mode, is returned unchanged." msgstr "" +"Para nomes de arquivos reais, a forma canônica é um :func:`caminho absoluto " +"`, :func:`normalizado para distinguir maiúsculas e " +"minúsculas `, dependente do sistema operacional. Um " +"*filename* com colchetes angulares, como ``\"\"`` gerado no modo " +"interativo, é retornado sem alterações." #: ../../library/bdb.rst:151 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 "" +"Define os atributos :attr:`!botframe`, :attr:`!stopframe`, :attr:`!" +"returnframe` e :attr:`quitting ` com valores prontos para " +"iniciar a depuração." #: ../../library/bdb.rst:156 msgid "" "This function is installed as the trace function of debugged frames. Its " "return value is the new trace function (in most cases, that is, itself)." msgstr "" +"Esta função é instalada como a função de rastreamento dos frames depurados. " +"Seu valor de retorno é a nova função de rastreamento (na maioria dos casos, " +"ela própria)." #: ../../library/bdb.rst:159 msgid "" @@ -236,95 +285,133 @@ msgid "" "type of event (passed as a string) that is about to be executed. *event* can " "be one of the following:" msgstr "" +"A implementação padrão decide como despachar um frame, dependendo do tipo de " +"evento (passado como string) que está prestes a ser executado. *event* pode " +"ser um dos seguintes:" #: ../../library/bdb.rst:163 msgid "``\"line\"``: A new line of code is going to be executed." -msgstr "" +msgstr "``\"line\"``: Uma nova linha de código será executada." #: ../../library/bdb.rst:164 msgid "" "``\"call\"``: A function is about to be called, or another code block " "entered." msgstr "" +"``\"call\"``: Um função está prestes a ser chamada, ou outro bloco de código " +"foi inserido." #: ../../library/bdb.rst:166 msgid "``\"return\"``: A function or other code block is about to return." msgstr "" +"``\"retorno\"``: Um função ou outro bloco de código está prestes a retornar." #: ../../library/bdb.rst:167 msgid "``\"exception\"``: An exception has occurred." -msgstr "" +msgstr "``\"exception\"``: Ocorreu uma exceção." #: ../../library/bdb.rst:168 msgid "``\"c_call\"``: A C function is about to be called." -msgstr "" +msgstr "``\"c_call\"``: Uma função C está prestes a ser chamada." #: ../../library/bdb.rst:169 msgid "``\"c_return\"``: A C function has returned." -msgstr "" +msgstr "``\"c_return\"``: Uma função C retornou." #: ../../library/bdb.rst:170 msgid "``\"c_exception\"``: A C function has raised an exception." -msgstr "" +msgstr "``\"c_exception\"``: Uma função C levantou uma exceção." #: ../../library/bdb.rst:172 msgid "" "For the Python events, specialized functions (see below) are called. For " "the C events, no action is taken." msgstr "" +"Para os eventos Python, são chamadas função especializadas (consulte " +"abaixo). Para os eventos de C, nenhuma ação é tomada." #: ../../library/bdb.rst:175 msgid "The *arg* parameter depends on the previous event." -msgstr "" +msgstr "O parâmetro *arg* depende do evento anterior." #: ../../library/bdb.rst:177 msgid "" "See the documentation for :func:`sys.settrace` for more information on the " -"trace function. For more information on code and frame objects, refer to :" -"ref:`types`." +"trace function. For more information on code and frame objects, refer " +"to :ref:`types`." msgstr "" +"Consulte a documentação de :func:`sys.settrace` para mais informações sobre " +"a função de rastreamento. Para mais informações sobre objetos de código e de " +"frame, consulte :ref:`types`." #: ../../library/bdb.rst:183 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:" -"`trace_dispatch` method for further tracing in that scope." +"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:`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 "" +"Se o depurador deve parar na linha atual, invoca o método :meth:`user_line` " +"(que deve ser substituído em subclasses). Levanta a exceção :exc:`BdbQuit` " +"se o sinalizador :attr:`quitting ` estiver definido (ele pode " +"ser definido a partir de :meth:`user_line`). Retorna uma referência ao " +"método :meth:`trace_dispatch` para continuar o rastreamento nesse escopo." #: ../../library/bdb.rst:191 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:" -"`trace_dispatch` method for further tracing in that scope." +"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:`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 "" +"Se o depurador deve parar nesta chamada de função, invoca o " +"método :meth:`user_call` (que deve ser substituído em subclasses). Levanta a " +"exceção :exc:`BdbQuit` se o sinalizador :attr:`quitting ` " +"estiver definido (ele pode ser definido a partir de :meth:`user_call`). " +"Retorna uma referência ao método :meth:`trace_dispatch` para continuar o " +"rastreamento nesse escopo." #: ../../library/bdb.rst:199 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." +"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:`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 "" +"Se o depurador deve parar no retorno desta função, invoca o " +"método :meth:`user_return` (que deve ser substituído em subclasses). Levanta " +"a exceção :exc:`BdbQuit` se o sinalizador :attr:`quitting ` " +"estiver definido (ele pode ser definido a partir de :meth:`user_return`). " +"Retorna uma referência ao método :meth:`trace_dispatch` para continuar o " +"rastreamento nesse escopo." #: ../../library/bdb.rst:207 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." +"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:`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 "" +"Se o depurador deve parar nesta exceção, invoca o " +"método :meth:`user_exception` (que deve ser substituído em subclasses). " +"Levanta a exceção :exc:`BdbQuit` se o sinalizador :attr:`quitting " +"` estiver definido (ele pode ser definido a partir " +"de :meth:`user_exception`). Retorna uma referência ao " +"método :meth:`trace_dispatch` para continuar o rastreamento nesse escopo." #: ../../library/bdb.rst:213 msgid "" "Normally derived classes don't override the following methods, but they may " "if they want to redefine the definition of stopping and breakpoints." msgstr "" +"Normalmente, as classes derivadas não substituem o seguinte métodos, mas " +"podem fazê-lo se quiserem redefinir a definição de parada e de pontos de " +"interrupção." #: ../../library/bdb.rst:218 msgid "Return True if *module_name* matches any skip pattern." @@ -343,6 +430,9 @@ msgid "" "Check whether a line or function breakpoint exists and is in effect. Delete " "temporary breakpoints based on information from :func:`effective`." msgstr "" +"Verifica se uma linha ou função ponto de interrupção existe e está em " +"vigor. Exclua os pontos de interrupção temporários com base nas informações " +"de :func:`effective`." #: ../../library/bdb.rst:233 msgid "Return True if any breakpoint exists for *frame*'s filename." @@ -353,187 +443,242 @@ msgid "" "Derived classes should override these methods to gain control over debugger " "operation." msgstr "" +"As classes derivadas devem substituir esses métodos para obter controle " +"sobre a operação da depurador." #: ../../library/bdb.rst:240 msgid "" "Called from :meth:`dispatch_call` if a break might stop inside the called " "function." msgstr "" +"Chamado a partir de :meth:`dispatch_call` se um ponto de interrupção puder " +"parar dentro da função chamada." #: ../../library/bdb.rst:245 msgid "" -"Called from :meth:`dispatch_line` when either :meth:`stop_here` or :meth:" -"`break_here` returns ``True``." +"Called from :meth:`dispatch_line` when either :meth:`stop_here` " +"or :meth:`break_here` returns ``True``." msgstr "" +"Chamado a partir de :meth:`dispatch_line` quando :meth:`stop_here` " +"ou :meth:`break_here` retornam ``True``." #: ../../library/bdb.rst:250 msgid "" "Called from :meth:`dispatch_return` when :meth:`stop_here` returns ``True``." msgstr "" +"Chamado a partir de :meth:`dispatch_return` quando :meth:`stop_here` retorna " +"``True``." #: ../../library/bdb.rst:254 msgid "" "Called from :meth:`dispatch_exception` when :meth:`stop_here` returns " "``True``." msgstr "" +"Chamado a partir de :meth:`dispatch_exception` quando :meth:`stop_here` " +"retorna ``True``." #: ../../library/bdb.rst:259 msgid "Handle how a breakpoint must be removed when it is a temporary one." msgstr "" +"Manipula como um ponto de interrupção deve ser removido quando for " +"temporário." #: ../../library/bdb.rst:261 msgid "This method must be implemented by derived classes." -msgstr "" +msgstr "Esse método deve ser implementado por classes derivadas." #: ../../library/bdb.rst:264 msgid "" "Derived classes and clients can call the following methods to affect the " "stepping state." msgstr "" +"As classes derivadas e os clientes podem chamar os métodos a seguir para " +"afetar o estado de stepping." #: ../../library/bdb.rst:269 msgid "Stop after one line of code." -msgstr "" +msgstr "Parar após uma linha de código." #: ../../library/bdb.rst:273 msgid "Stop on the next line in or below the given frame." -msgstr "" +msgstr "Parar na próxima linha no frame fornecido ou abaixo dele." #: ../../library/bdb.rst:277 msgid "Stop when returning from the given frame." -msgstr "" +msgstr "Parar ao retornar do frame fornecido." #: ../../library/bdb.rst:281 msgid "" "Stop when the line with the *lineno* greater than the current one is reached " "or when returning from current frame." msgstr "" +"Parar quando a linha com *lineno* maior que a atual for alcançada ou ao " +"retornar do frame atual." #: ../../library/bdb.rst:286 msgid "" "Start debugging from *frame*. If *frame* is not specified, debugging starts " "from caller's frame." msgstr "" +"Inicia a depuração a partir de *frame*. Se *frame* não for especificado, a " +"depuração começa a partir do frame do chamador." #: ../../library/bdb.rst:291 msgid "" "Stop only at breakpoints or when finished. If there are no breakpoints, set " "the system trace function to ``None``." msgstr "" +"Pare somente nos pontos de interrupção ou quando terminar. Se não houver " +"pontos de interrupção, defina o sistema função de rastreamento como ``None``." -#: ../../library/bdb.rst:296 +#: ../../library/bdb.rst:298 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 "" +"Defina o atributo :attr:`!quitting` como ``True``. Isso " +"levanta :exc:`BdbQuit` na próxima chamada de um dos métodos :meth:`!" +"dispatch_\\*`." -#: ../../library/bdb.rst:300 +#: ../../library/bdb.rst:302 msgid "" "Derived classes and clients can call the following methods to manipulate " "breakpoints. These methods return a string containing an error message if " "something went wrong, or ``None`` if all is well." msgstr "" +"Classes derivadas e clientes podem chamar os métodos a seguir para manipular " +"pontos de interrupção. Esses métodos retornam uma string contendo uma " +"mensagem de erro se algo der errado, ou ``None`` se tudo estiver correto." -#: ../../library/bdb.rst:306 +#: ../../library/bdb.rst:308 msgid "" "Set a new breakpoint. If the *lineno* line doesn't exist for the *filename* " "passed as argument, return an error message. The *filename* should be in " "canonical form, as described in the :meth:`canonic` method." msgstr "" +"Define um novo ponto de interrupção. Se a linha *lineno* não existir para o " +"*filename* passado como argumento, retorna uma mensagem de erro. O " +"*filename* deve estar na forma canônica, conforme descrito no " +"método :meth:`canonic`." -#: ../../library/bdb.rst:312 +#: ../../library/bdb.rst:314 msgid "" "Delete the breakpoints in *filename* and *lineno*. If none were set, return " "an error message." msgstr "" +"Exclui os pontos de interrupção em *filename* e *lineno*. Se nenhum tiver " +"sido definido, retorna uma mensagem de erro." -#: ../../library/bdb.rst:317 +#: ../../library/bdb.rst:319 msgid "" -"Delete the breakpoint which has the index *arg* in the :attr:`Breakpoint." -"bpbynumber`. If *arg* is not numeric or out of range, return an error " -"message." +"Delete the breakpoint which has the index *arg* in " +"the :attr:`Breakpoint.bpbynumber`. If *arg* is not numeric or out of range, " +"return an error message." msgstr "" +"Exclui o ponto de interrupção cujo índice é *arg* " +"em :attr:`Breakpoint.bpbynumber`. Se *arg* não for numérico ou estiver fora " +"do intervalo, retorna uma mensagem de erro." -#: ../../library/bdb.rst:323 +#: ../../library/bdb.rst:325 msgid "" "Delete all breakpoints in *filename*. If none were set, return an error " "message." msgstr "" +"Exclui todos os pontos de interrupção em *filename*. Se nenhum tiver sido " +"definido, retorna uma mensagem de erro." -#: ../../library/bdb.rst:328 +#: ../../library/bdb.rst:330 msgid "" "Delete all existing breakpoints. If none were set, return an error message." msgstr "" +"Exclui todos os pontos de interrupção existentes. Se nenhum tiver sido " +"definido, retorna uma mensagem de erro." -#: ../../library/bdb.rst:333 +#: ../../library/bdb.rst:335 msgid "" "Return a breakpoint specified by the given number. If *arg* is a string, it " "will be converted to a number. If *arg* is a non-numeric string, if the " "given breakpoint never existed or has been deleted, a :exc:`ValueError` is " "raised." msgstr "" +"Retorna o ponto de interrupção especificado pelo número fornecido. Se *arg* " +"for uma string, ele será convertido para um número. Se *arg* for uma string " +"não numérica, se o ponto de interrupção nunca tiver existido ou tiver sido " +"excluído, uma :exc:`ValueError` será levantada." -#: ../../library/bdb.rst:342 +#: ../../library/bdb.rst:344 msgid "Return True if there is a breakpoint for *lineno* in *filename*." msgstr "" -#: ../../library/bdb.rst:346 +#: ../../library/bdb.rst:348 msgid "" "Return all breakpoints for *lineno* in *filename*, or an empty list if none " "are set." msgstr "" +"Retorna todos os pontos de interrupção para *lineno* em *filename*, ou uma " +"lista vazia se nenhum estiver definido." -#: ../../library/bdb.rst:351 +#: ../../library/bdb.rst:353 msgid "Return all breakpoints in *filename*, or an empty list if none are set." msgstr "" +"Retorna todos os pontos de interrupção em *filename*, ou uma lista vazia se " +"nenhum estiver definido." -#: ../../library/bdb.rst:355 +#: ../../library/bdb.rst:357 msgid "Return all breakpoints that are set." -msgstr "" +msgstr "Retorna todos os pontos de interrupção definidos." -#: ../../library/bdb.rst:358 +#: ../../library/bdb.rst:360 msgid "" "Derived classes and clients can call the following methods to get a data " "structure representing a stack trace." msgstr "" +"Classes derivadas e clientes podem chamar os métodos a seguir para obter uma " +"estrutura de dados que represente um stack trace (situação da pilha de " +"execução)." -#: ../../library/bdb.rst:363 +#: ../../library/bdb.rst:365 msgid "Return a list of (frame, lineno) tuples in a stack trace, and a size." msgstr "" +"Retorna uma lista de tuplas (frame, lineno) em um stack trace e um tamanho." -#: ../../library/bdb.rst:365 +#: ../../library/bdb.rst:367 msgid "" "The most recently called frame is last in the list. The size is the number " "of frames below the frame where the debugger was invoked." msgstr "" +"O frame chamado mais recentemente é o último da lista. O tamanho é o número " +"de frames abaixo do frame onde o depurador foi invocado." -#: ../../library/bdb.rst:370 +#: ../../library/bdb.rst:372 msgid "" "Return a string with information about a stack entry, which is a ``(frame, " "lineno)`` tuple. The return string contains:" msgstr "" +"Retorna uma string com informações sobre uma entrada da pilha, que é uma " +"tupla ``(frame, lineno)``. A string retornada contém:" -#: ../../library/bdb.rst:373 +#: ../../library/bdb.rst:375 msgid "The canonical filename which contains the frame." -msgstr "" +msgstr "O nome de arquivo canônico que contém o quadro." -#: ../../library/bdb.rst:374 +#: ../../library/bdb.rst:376 msgid "The function name or ``\"\"``." -msgstr "" +msgstr "O nome da função ou ``\"\"``." -#: ../../library/bdb.rst:375 +#: ../../library/bdb.rst:377 msgid "The input arguments." msgstr "O argumento de entrada." -#: ../../library/bdb.rst:376 +#: ../../library/bdb.rst:378 msgid "The return value." -msgstr "" +msgstr "O valor de retorno." -#: ../../library/bdb.rst:377 +#: ../../library/bdb.rst:379 msgid "The line of code (if it exists)." -msgstr "" +msgstr "A linha de código (se existir)." -#: ../../library/bdb.rst:380 +#: ../../library/bdb.rst:382 msgid "" "The following two methods can be called by clients to use a debugger to " "debug a :term:`statement`, given as a string." @@ -542,68 +687,82 @@ msgstr "" "depurador e depurar uma :term:`instrução `, fornecida como uma " "string." -#: ../../library/bdb.rst:385 +#: ../../library/bdb.rst:387 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 "" +"Depura uma instrução executada por meio da função :func:`exec`. globals " +"assume por padrão :attr:`!__main__.__dict__`, locals assume por padrão " +"globals." -#: ../../library/bdb.rst:390 +#: ../../library/bdb.rst:392 msgid "" "Debug an expression executed via the :func:`eval` function. *globals* and " "*locals* have the same meaning as in :meth:`run`." msgstr "" +"Depura uma expressão executada por meio da função :func:`eval`. globals e " +"locals têm o mesmo significado que em :meth:`run`." -#: ../../library/bdb.rst:395 +#: ../../library/bdb.rst:397 msgid "For backwards compatibility. Calls the :meth:`run` method." -msgstr "" +msgstr "Por retrocompatibilidade. Chama o método :meth:`run`." -#: ../../library/bdb.rst:399 +#: ../../library/bdb.rst:401 msgid "Debug a single function call, and return its result." -msgstr "" +msgstr "Depura uma única chamada de função e retorna seu resultado." -#: ../../library/bdb.rst:402 +#: ../../library/bdb.rst:404 msgid "Finally, the module defines the following functions:" -msgstr "" +msgstr "Por fim, o módulo define as funções a seguir:" -#: ../../library/bdb.rst:406 +#: ../../library/bdb.rst:408 msgid "" -"Return True if we should break here, depending on the way the :class:" -"`Breakpoint` *b* was set." +"Return True if we should break here, depending on the way " +"the :class:`Breakpoint` *b* was set." msgstr "" -#: ../../library/bdb.rst:409 +#: ../../library/bdb.rst:411 msgid "" -"If it was set via line number, it checks if :attr:`b.line ` is the same as the one in *frame*. If the breakpoint was set via :" -"attr:`function name `, we have to check we are in " -"the right *frame* (the right function) and if we are on its first executable " -"line." +"If it was set via line number, it checks if :attr:`b.line " +"` is the same as the one in *frame*. If the breakpoint " +"was set via :attr:`function name `, we have to " +"check we are in the right *frame* (the right function) and if we are on its " +"first executable line." msgstr "" -#: ../../library/bdb.rst:418 +#: ../../library/bdb.rst:420 msgid "" "Return ``(active breakpoint, delete temporary flag)`` or ``(None, None)`` as " "the breakpoint to act upon." msgstr "" +"Retorna ``(active breakpoint, delete temporary flag)`` ou ``(None, None)`` " +"como o ponto de interrupção sobre o qual agir." -#: ../../library/bdb.rst:421 +#: ../../library/bdb.rst:423 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 " +"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 " "` 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)." +"breakpoint should be deleted, is False only when the :attr:`cond " +"` cannot be evaluated (in which case, :attr:`ignore " +"` count is ignored)." msgstr "" -#: ../../library/bdb.rst:432 +#: ../../library/bdb.rst:434 msgid "If no such entry exists, then (None, None) is returned." msgstr "" -#: ../../library/bdb.rst:437 +#: ../../library/bdb.rst:439 msgid "Start debugging with a :class:`Bdb` instance from caller's frame." msgstr "" +"Inicie a depuração com uma instância de :class:`Bdb` a partir do frame do " +"chamador." + +#: ../../library/bdb.rst:296 +msgid "quitting (bdb.Bdb attribute)" +msgstr "quitting (atributo de bdb.Bdb)" diff --git a/library/binary.po b/library/binary.po index 1d2a07e97..9ba30d761 100644 --- a/library/binary.po +++ b/library/binary.po @@ -1,28 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/binascii.po b/library/binascii.po index cc23e1066..74642c488 100644 --- a/library/binascii.po +++ b/library/binascii.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Claudio Rogerio Carvalho Filho , 2023 -# Rafael Fontenelle , 2023 -# Marco Rougeth , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Marco Rougeth , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -34,8 +31,8 @@ msgstr ":mod:`binascii` --- Converte entre binário e ASCII" msgid "" "The :mod:`binascii` module contains a number of methods to convert between " "binary and various ASCII-encoded binary representations. Normally, you will " -"not use these functions directly but use wrapper modules like :mod:`uu` or :" -"mod:`base64` instead. The :mod:`binascii` module contains low-level " +"not use these functions directly but use wrapper modules like :mod:`uu` " +"or :mod:`base64` instead. The :mod:`binascii` module contains low-level " "functions written in C for greater speed that are used by the higher-level " "modules." msgstr "" @@ -47,14 +44,20 @@ msgid "" "(such as :class:`bytes`, :class:`bytearray` and other objects that support " "the buffer protocol)." msgstr "" +"Funções ``a2b_*`` aceitam strings Unicode contendo apenas caracteres ASCII. " +"Outras funções aceitam apenas :term:`objetos bytes ou similares ` (como :class:`bytes`, :class:`bytearray` e outros objetos que " +"suportam o protocolo buffer)." #: ../../library/binascii.rst:28 msgid "ASCII-only unicode strings are now accepted by the ``a2b_*`` functions." msgstr "" +"Strings unicode exclusivamente ASCII agora são aceitas pelas funções " +"``a2b_*``." #: ../../library/binascii.rst:32 msgid "The :mod:`binascii` module defines the following functions:" -msgstr "" +msgstr "O módulo :mod:`binascii` define as seguintes funções:" #: ../../library/binascii.rst:37 msgid "" @@ -62,6 +65,9 @@ msgid "" "data. Lines normally contain 45 (binary) bytes, except for the last line. " "Line data may be followed by whitespace." msgstr "" +"Converte uma única linha de dados uuencoded de volta para binário e retorna " +"os dados binários. As linhas normalmente contêm 45 bytes (binários), exceto " +"a última linha. Os dados da linha podem ser seguidos por espaços em branco." #: ../../library/binascii.rst:44 msgid "" @@ -70,6 +76,10 @@ msgid "" "most 45. If *backtick* is true, zeros are represented by ``'`'`` instead of " "spaces." msgstr "" +"Converte dados binários para uma linha de caracteres ASCII, o valor de " +"retorno é a linha convertida, incluindo um caractere de nova linha. O " +"comprimento de *data* deve ser no máximo 45. Se *backtick* for true, zeros " +"são representados por ``'`'`` em vez de espaços." #: ../../library/binascii.rst:48 msgid "Added the *backtick* parameter." @@ -80,58 +90,68 @@ msgid "" "Convert a block of base64 data back to binary and return the binary data. " "More than one line may be passed at a time." msgstr "" +"Converte um bloco de dados base64 de volta para binário e retorna os dados " +"binários. Mais de uma linha pode ser passada por vez." #: ../../library/binascii.rst:57 msgid "" "If *strict_mode* is true, only valid base64 data will be converted. Invalid " "base64 data will raise :exc:`binascii.Error`." msgstr "" +"Se *strict_mode* for true, somente dados base64 válidos serão convertidos. " +"Dados base64 inválidos levantarão :exc:`binascii.Error`." -#: ../../library/binascii.rst:64 +#: ../../library/binascii.rst:60 msgid "Valid base64:" -msgstr "" +msgstr "base64 válido:" -#: ../../library/binascii.rst:61 +#: ../../library/binascii.rst:62 msgid "Conforms to :rfc:`3548`." -msgstr "" +msgstr "Em conformidade com :rfc:`3548`." -#: ../../library/binascii.rst:62 +#: ../../library/binascii.rst:63 msgid "Contains only characters from the base64 alphabet." -msgstr "" +msgstr "Contém apenas caracteres do alfabeto base64." -#: ../../library/binascii.rst:63 +#: ../../library/binascii.rst:64 msgid "" "Contains no excess data after padding (including excess padding, newlines, " "etc.)." msgstr "" +"Não contém dados excedentes após o preenchimento (incluindo excesso de " +"preenchimento, novas linhas, etc.)." -#: ../../library/binascii.rst:64 +#: ../../library/binascii.rst:65 msgid "Does not start with a padding." -msgstr "" +msgstr "Não começa com um preenchimento." -#: ../../library/binascii.rst:66 +#: ../../library/binascii.rst:67 msgid "Added the *strict_mode* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *strict_mode*." -#: ../../library/binascii.rst:72 +#: ../../library/binascii.rst:73 msgid "" "Convert binary data to a line of ASCII characters in base64 coding. The " "return value is the converted line, including a newline char if *newline* is " "true. The output of this function conforms to :rfc:`3548`." msgstr "" +"Converte dados binários para uma linha de caracteres ASCII em codificação " +"base64. O valor de retorno é a linha convertida, incluindo um caractere de " +"nova linha se *newline* for verdadeiro. A saída desta função está em " +"conformidade com :rfc:`3548`." -#: ../../library/binascii.rst:76 +#: ../../library/binascii.rst:77 msgid "Added the *newline* parameter." msgstr "Adicionado o parâmetro *newline*." -#: ../../library/binascii.rst:82 +#: ../../library/binascii.rst:83 msgid "" "Convert a block of quoted-printable data back to binary and return the " "binary data. More than one line may be passed at a time. If the optional " "argument *header* is present and true, underscores will be decoded as spaces." msgstr "" -#: ../../library/binascii.rst:89 +#: ../../library/binascii.rst:90 msgid "" "Convert binary data to a line(s) of ASCII characters in quoted-printable " "encoding. The return value is the converted line(s). If the optional " @@ -144,7 +164,7 @@ msgid "" "might corrupt the binary data stream." msgstr "" -#: ../../library/binascii.rst:102 +#: ../../library/binascii.rst:103 msgid "" "Compute a 16-bit CRC value of *data*, starting with *value* as the initial " "CRC, and return the result. This uses the CRC-CCITT polynomial *x*:sup:`16` " @@ -152,7 +172,7 @@ msgid "" "used in the binhex4 format." msgstr "" -#: ../../library/binascii.rst:110 +#: ../../library/binascii.rst:111 msgid "" "Compute CRC-32, the unsigned 32-bit checksum of *data*, starting with an " "initial CRC of *value*. The default initial CRC is zero. The algorithm is " @@ -161,24 +181,24 @@ msgid "" "algorithm. Use as follows::" msgstr "" -#: ../../library/binascii.rst:122 +#: ../../library/binascii.rst:123 msgid "The result is always unsigned." -msgstr "" +msgstr "O resultado é sempre sem sinal." -#: ../../library/binascii.rst:128 +#: ../../library/binascii.rst:129 msgid "" "Return the hexadecimal representation of the binary *data*. Every byte of " "*data* is converted into the corresponding 2-digit hex representation. The " "returned bytes object is therefore twice as long as the length of *data*." msgstr "" -#: ../../library/binascii.rst:132 +#: ../../library/binascii.rst:133 msgid "" "Similar functionality (but returning a text string) is also conveniently " "accessible using the :meth:`bytes.hex` method." msgstr "" -#: ../../library/binascii.rst:135 +#: ../../library/binascii.rst:136 msgid "" "If *sep* is specified, it must be a single character str or bytes object. It " "will be inserted in the output after every *bytes_per_sep* input bytes. " @@ -186,11 +206,11 @@ msgid "" "if you wish to count from the left, supply a negative *bytes_per_sep* value." msgstr "" -#: ../../library/binascii.rst:150 +#: ../../library/binascii.rst:151 msgid "The *sep* and *bytes_per_sep* parameters were added." msgstr "" -#: ../../library/binascii.rst:156 +#: ../../library/binascii.rst:157 msgid "" "Return the binary data represented by the hexadecimal string *hexstr*. This " "function is the inverse of :func:`b2a_hex`. *hexstr* must contain an even " @@ -198,45 +218,45 @@ msgid "" "an :exc:`Error` exception is raised." msgstr "" -#: ../../library/binascii.rst:161 +#: ../../library/binascii.rst:162 msgid "" "Similar functionality (accepting only text string arguments, but more " -"liberal towards whitespace) is also accessible using the :meth:`bytes." -"fromhex` class method." +"liberal towards whitespace) is also accessible using " +"the :meth:`bytes.fromhex` class method." msgstr "" -#: ../../library/binascii.rst:167 +#: ../../library/binascii.rst:168 msgid "Exception raised on errors. These are usually programming errors." msgstr "" -#: ../../library/binascii.rst:172 +#: ../../library/binascii.rst:173 msgid "" "Exception raised on incomplete data. These are usually not programming " "errors, but may be handled by reading a little more data and trying again." msgstr "" -#: ../../library/binascii.rst:180 +#: ../../library/binascii.rst:181 msgid "Module :mod:`base64`" msgstr "Módulo :mod:`base64`" -#: ../../library/binascii.rst:179 +#: ../../library/binascii.rst:180 msgid "" "Support for RFC compliant base64-style encoding in base 16, 32, 64, and 85." msgstr "" -#: ../../library/binascii.rst:183 +#: ../../library/binascii.rst:184 msgid "Module :mod:`uu`" msgstr "" -#: ../../library/binascii.rst:183 +#: ../../library/binascii.rst:184 msgid "Support for UU encoding used on Unix." msgstr "" -#: ../../library/binascii.rst:185 +#: ../../library/binascii.rst:186 msgid "Module :mod:`quopri`" msgstr "Módulo :mod:`quopri`" -#: ../../library/binascii.rst:186 +#: ../../library/binascii.rst:187 msgid "Support for quoted-printable encoding used in MIME email messages." msgstr "" diff --git a/library/binhex.po b/library/binhex.po deleted file mode 100644 index 861b30314..000000000 --- a/library/binhex.po +++ /dev/null @@ -1,119 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2022, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Misael borges , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.10\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2022-06-16 06:28+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Misael borges , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" -"teams/5390/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " -"1000000 == 0 ? 1 : 2;\n" - -#: ../../library/binhex.rst:2 -msgid ":mod:`binhex` --- Encode and decode binhex4 files" -msgstr ":mod:`binhex` --- Codifica e decodifica arquivos binhex4" - -#: ../../library/binhex.rst:7 -msgid "**Source code:** :source:`Lib/binhex.py`" -msgstr "**Código-fonte:** :source:`Lib/binhex.py`" - -#: ../../library/binhex.rst:13 -msgid "" -"This module encodes and decodes files in binhex4 format, a format allowing " -"representation of Macintosh files in ASCII. Only the data fork is handled." -msgstr "" -"Este módulo codifica e decodifica arquivos no formato binhex4, um formato " -"que permite a representação de arquivos Macintosh em ASCII. Apenas a " -"bifurcação de dados é manipulada." - -#: ../../library/binhex.rst:16 -msgid "The :mod:`binhex` module defines the following functions:" -msgstr "O módulo :mod:`binhex` define as seguintes funções:" - -#: ../../library/binhex.rst:21 -msgid "" -"Convert a binary file with filename *input* to binhex file *output*. The " -"*output* parameter can either be a filename or a file-like object (any " -"object supporting a :meth:`write` and :meth:`close` method)." -msgstr "" -"Converte um arquivo binário com o nome de arquivo *input* para o arquivo " -"binhex *output*. O parâmetro *output* pode ser um nome de arquivo ou um " -"objeto arquivo ou similar (qualquer objeto que suporte um método :meth:" -"`write` e :meth:`close`)." - -#: ../../library/binhex.rst:28 -msgid "" -"Decode a binhex file *input*. *input* may be a filename or a file-like " -"object supporting :meth:`read` and :meth:`close` methods. The resulting file " -"is written to a file named *output*, unless the argument is ``None`` in " -"which case the output filename is read from the binhex file." -msgstr "" -"Decodifica um arquivo binhex *input*. *input* pode ser um nome de arquivo ou " -"um objeto arquivo ou similar com suporte aos métodos :meth:`read` e :meth:" -"`close`. O arquivo resultante é gravado em um arquivo chamado *output*, a " -"menos que o argumento seja ``None``, caso em que o nome do arquivo de saída " -"é lido a partir do arquivo binhex." - -#: ../../library/binhex.rst:33 -msgid "The following exception is also defined:" -msgstr "A seguinte exceção também está definida:" - -#: ../../library/binhex.rst:38 -msgid "" -"Exception raised when something can't be encoded using the binhex format " -"(for example, a filename is too long to fit in the filename field), or when " -"input is not properly encoded binhex data." -msgstr "" -"Exceção levantada quando algo não pode ser codificado usando o formato " -"binhex (por exemplo, um nome de arquivo é muito longo para caber no campo de " -"nome de arquivo) ou quando a entrada não consiste em dados binhex " -"corretamente codificados." - -#: ../../library/binhex.rst:45 -msgid "Module :mod:`binascii`" -msgstr "Módulo :mod:`binascii`" - -#: ../../library/binhex.rst:46 -msgid "" -"Support module containing ASCII-to-binary and binary-to-ASCII conversions." -msgstr "" -"Módulo de suporte contendo conversões ASCII para binário e binário para " -"ASCII." - -#: ../../library/binhex.rst:52 -msgid "Notes" -msgstr "Notas" - -#: ../../library/binhex.rst:54 -msgid "" -"There is an alternative, more powerful interface to the coder and decoder, " -"see the source for details." -msgstr "" -"Existe uma interface alternativa, mais poderosa para o codificador e o " -"decodificador, veja a fonte para obter detalhes." - -#: ../../library/binhex.rst:57 -msgid "" -"If you code or decode textfiles on non-Macintosh platforms they will still " -"use the old Macintosh newline convention (carriage-return as end of line)." -msgstr "" -"Se você codificar ou decodificar arquivos de texto em plataformas que não " -"sejam Macintosh, elas ainda usarão a antiga convenção de linha do Macintosh " -"(carriage-return como fim de linha)." diff --git a/library/bisect.po b/library/bisect.po index 6fc354de9..5e06a1377 100644 --- a/library/bisect.po +++ b/library/bisect.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -84,6 +83,10 @@ msgid "" "extract a comparison key from each element in the array. To support " "searching complex records, the key function is not applied to the *x* value." msgstr "" +"*key* especifica uma :term:`função chave` de um argumento que é usado para " +"extrair uma chave de comparação de cada elemento no vetor. Para oferecer " +"suporte à pesquisa de registros complexos, a função chave não é aplicada ao " +"valor *x*." #: ../../library/bisect.rst:43 ../../library/bisect.rst:64 msgid "" @@ -94,13 +97,16 @@ msgstr "" #: ../../library/bisect.rst:46 ../../library/bisect.rst:67 #: ../../library/bisect.rst:85 ../../library/bisect.rst:105 msgid "Added the *key* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *key*." #: ../../library/bisect.rst:53 msgid "" "Similar to :py:func:`~bisect.bisect_left`, but returns an insertion point " "which comes after (to the right of) any existing entries of *x* in *a*." msgstr "" +"Semelhante a :py:func:`~bisect.bisect_left`, mas retorna um ponto de " +"inserção que vem depois (à direita de) qualquer entrada existente de *x* em " +"*a*." #: ../../library/bisect.rst:56 msgid "" @@ -111,72 +117,101 @@ msgstr "" #: ../../library/bisect.rst:73 msgid "Insert *x* in *a* in sorted order." -msgstr "" +msgstr "Insere *x* em *a* na ordem de classificação." #: ../../library/bisect.rst:75 msgid "" "This function first runs :py:func:`~bisect.bisect_left` to locate an " -"insertion point. Next, it runs the :meth:`insert` method on *a* to insert " +"insertion point. Next, it runs the :meth:`!insert` method on *a* to insert " "*x* at the appropriate position to maintain sort order." msgstr "" +"Esta função primeiro executa :py:func:`~bisect.bisect_left` para localizar " +"um ponto de inserção. Em seguida, ele executa o método :meth:`!insert` em " +"*a* para inserir *x* na posição apropriada para manter a ordem de " +"classificação." #: ../../library/bisect.rst:79 ../../library/bisect.rst:99 msgid "" "To support inserting records in a table, the *key* function (if any) is " "applied to *x* for the search step but not for the insertion step." msgstr "" +"Para oferecer suporte à inserção de registros em uma tabela, a função *key* " +"(se houver) é aplicada a *x* para a etapa de pesquisa, mas não para a etapa " +"de inserção." #: ../../library/bisect.rst:82 ../../library/bisect.rst:102 msgid "" -"Keep in mind that the ``O(log n)`` search is dominated by the slow O(n) " -"insertion step." +"Keep in mind that the *O*\\ (log *n*) search is dominated by the slow *O*\\ " +"(*n*) insertion step." msgstr "" +"Tenha em mente que a busca *O*\\ (log *n*) é dominada pelo etapa de inserção " +"lenta O(n)." #: ../../library/bisect.rst:92 msgid "" "Similar to :py:func:`~bisect.insort_left`, but inserting *x* in *a* after " "any existing entries of *x*." msgstr "" +"Semelhante a :py:func:`~bisect.insort_left`, mas inserindo *x* em *a* após " +"qualquer entrada existente de *x*." #: ../../library/bisect.rst:95 msgid "" "This function first runs :py:func:`~bisect.bisect_right` to locate an " -"insertion point. Next, it runs the :meth:`insert` method on *a* to insert " +"insertion point. Next, it runs the :meth:`!insert` method on *a* to insert " "*x* at the appropriate position to maintain sort order." msgstr "" +"Esta função primeiro executa :py:func:`~bisect.bisect_right` para localizar " +"um ponto de inserção. Em seguida, ele executa o método :meth:`!insert` em " +"*a* para inserir *x* na posição apropriada para manter a ordem de " +"classificação." #: ../../library/bisect.rst:110 msgid "Performance Notes" -msgstr "" +msgstr "Observações sobre desempenho" #: ../../library/bisect.rst:112 msgid "" "When writing time sensitive code using *bisect()* and *insort()*, keep these " "thoughts in mind:" msgstr "" +"Ao escrever um código sensível ao tempo usando *bisect()* e *insort()*, " +"lembre-se do seguinte:" #: ../../library/bisect.rst:115 msgid "" "Bisection is effective for searching ranges of values. For locating specific " "values, dictionaries are more performant." msgstr "" +"A bisseção é eficaz para pesquisar intervalos de valores. Para localizar " +"valores específicos, os dicionários são mais eficientes." #: ../../library/bisect.rst:118 msgid "" -"The *insort()* functions are ``O(n)`` because the logarithmic search step is " -"dominated by the linear time insertion step." +"The *insort()* functions are *O*\\ (*n*) because the logarithmic search step " +"is dominated by the linear time insertion step." msgstr "" +"As funções *insort()* são *O*\\ (*n*) porque a etapa de busca logarítmica é " +"dominada pela etapa de inserção de tempo linear." #: ../../library/bisect.rst:121 msgid "" "The search functions are stateless and discard key function results after " "they are used. Consequently, if the search functions are used in a loop, " "the key function may be called again and again on the same array elements. " -"If the key function isn't fast, consider wrapping it with :py:func:" -"`functools.cache` to avoid duplicate computations. Alternatively, consider " -"searching an array of precomputed keys to locate the insertion point (as " -"shown in the examples section below)." +"If the key function isn't fast, consider wrapping it " +"with :py:func:`functools.cache` to avoid duplicate computations. " +"Alternatively, consider searching an array of precomputed keys to locate the " +"insertion point (as shown in the examples section below)." msgstr "" +"As funções de busca são stateless e descartam os resultados da função chave " +"depois que são usadas. Consequentemente, se as funções de busca forem usadas " +"em um laço, a função chave pode ser chamada repetidamente nos mesmos " +"elementos do vetor. Se a função chave não for rápida, considere envolvê-la " +"com :py:func:`functools.cache` para evitar cálculos duplicados. Como " +"alternativa, considere buscar um vetor de chaves pré-calculadas para " +"localizar o ponto de inserção (conforme mostrado na seção de exemplos " +"abaixo)." #: ../../library/bisect.rst:131 msgid "" @@ -184,6 +219,9 @@ msgid "" "high performance module that uses *bisect* to managed sorted collections of " "data." msgstr "" +"`Sorted Collections `_ é um " +"módulo de alto desempenho que usa bisseção para gerenciar coleções de dados " +"classificadas." #: ../../library/bisect.rst:135 msgid "" @@ -193,10 +231,15 @@ msgid "" "keys are precomputed to save unnecessary calls to the key function during " "searches." msgstr "" +"A `receita de SortedCollection `_ usa bisseção para construir uma classe de coleção " +"completa com métodos de busca diretos e suporte para uma função chave. As " +"chaves são pré-calculadas para economizar em chamadas desnecessárias para a " +"função chave durante as buscas." #: ../../library/bisect.rst:143 msgid "Searching Sorted Lists" -msgstr "Pesquisando em listas ordenadas" +msgstr "Buscando em listas ordenadas" #: ../../library/bisect.rst:145 msgid "" @@ -205,6 +248,10 @@ msgid "" "five functions show how to transform them into the standard lookups for " "sorted lists::" msgstr "" +"As `funções de bisseção`_ acima são úteis para encontrar pontos de inserção, " +"mas podem ser complicadas ou difíceis de usar para tarefas comuns de busca. " +"As cinco funções a seguir mostram como transformá-las nas buscas padrão para " +"listas ordenadas::" #: ../../library/bisect.rst:187 msgid "Examples" @@ -217,6 +264,11 @@ msgid "" "grade for an exam score (say) based on a set of ordered numeric breakpoints: " "90 and up is an 'A', 80 to 89 is a 'B', and so on::" msgstr "" +"A função :py:func:`~bisect.bisect` pode ser útil para buscas em tabelas " +"numéricas. Este exemplo usa :py:func:`~bisect.bisect` para buscar uma nota " +"em letra para uma pontuação de exame (digamos) com base em um conjunto de " +"pontos de interrupção numéricos ordenados: 90 e acima é um \"A\", 80 a 89 é " +"um \"B\" e por aí vai::" #: ../../library/bisect.rst:203 msgid "" @@ -224,9 +276,15 @@ msgid "" "work with lists of tuples. The *key* argument can serve to extract the " "field used for ordering records in a table::" msgstr "" +"As funções :py:func:`~bisect.bisect` e :py:func:`~bisect.insort` também " +"funcionam com listas de tuplas. O argumento *key* pode servir para extrair o " +"campo usado para ordenar registros em uma tabela::" #: ../../library/bisect.rst:237 msgid "" "If the key function is expensive, it is possible to avoid repeated function " "calls by searching a list of precomputed keys to find the index of a record::" msgstr "" +"Se a função chave for custosa, é possível evitar chamadas de função " +"repetidas buscando uma lista de chaves pré-calculadas para encontrar o " +"índice de um registro::" diff --git a/library/builtins.po b/library/builtins.po index 7be656522..92c013c9d 100644 --- a/library/builtins.po +++ b/library/builtins.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -30,9 +30,9 @@ msgstr ":mod:`builtins` --- Objetos embutidos" #: ../../library/builtins.rst:9 msgid "" "This module provides direct access to all 'built-in' identifiers of Python; " -"for example, ``builtins.open`` is the full name for the built-in function :" -"func:`open`. See :ref:`built-in-funcs` and :ref:`built-in-consts` for " -"documentation." +"for example, ``builtins.open`` is the full name for the built-in " +"function :func:`open`. See :ref:`built-in-funcs` and :ref:`built-in-consts` " +"for documentation." msgstr "" "Este módulo fornece acesso direto a todos os identificadores embutidos do " "Python; Por exemplo, ``builtins.open`` é o nome completo para a função " @@ -50,20 +50,21 @@ msgstr "" "Este módulo normalmente não é acessado explicitamente pela maioria dos " "aplicativos, mas pode ser útil em módulos que fornecem objetos com o mesmo " "nome como um valor embutido, mas em que o objeto embutido desse nome também " -"é necessário. Por exemplo, em um módulo que deseja implementar uma função :" -"func:`open` que envolve o embutido :func:`open`, este módulo pode ser usado " -"diretamente::" +"é necessário. Por exemplo, em um módulo que deseja implementar uma " +"função :func:`open` que envolve o embutido :func:`open`, este módulo pode " +"ser usado diretamente::" #: ../../library/builtins.rst:38 msgid "" "As an implementation detail, most modules have the name ``__builtins__`` " "made available as part of their globals. The value of ``__builtins__`` is " -"normally either this module or the value of this module's :attr:`~object." -"__dict__` attribute. Since this is an implementation detail, it may not be " -"used by alternate implementations of Python." +"normally either this module or the value of this " +"module's :attr:`~object.__dict__` attribute. Since this is an implementation " +"detail, it may not be used by alternate implementations of Python." msgstr "" "Como um detalhe de implementação, a maioria dos módulos tem o nome " "``__builtins__`` disponibilizados como parte de seus globais. O valor de " -"``__builtins__`` normalmente, este é o módulo ou o valor desse módulo :attr:" -"`~object.__dict__` atributo. Uma vez que este é um detalhe de implementação, " -"ele não pode ser usado por implementações alternativas do Python." +"``__builtins__`` normalmente, este é o módulo ou o valor desse " +"módulo :attr:`~object.__dict__` atributo. Uma vez que este é um detalhe de " +"implementação, ele não pode ser usado por implementações alternativas do " +"Python." diff --git a/library/bz2.po b/library/bz2.po index 50f5f2762..37ea3b6e7 100644 --- a/library/bz2.po +++ b/library/bz2.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -65,8 +64,8 @@ msgid "" "The :func:`compress` and :func:`decompress` functions for one-shot " "(de)compression." msgstr "" -"As funções :func:`compress` e :func:`decompress` para (des)compressão de uma " -"só vez." +"As funções :func:`compress` e :func:`decompress` para (des)compactação de " +"uma só vez." #: ../../library/bz2.rst:30 msgid "(De)compression of files" @@ -103,11 +102,11 @@ msgstr "" #: ../../library/bz2.rst:45 msgid "" -"The *compresslevel* argument is an integer from 1 to 9, as for the :class:" -"`BZ2File` constructor." +"The *compresslevel* argument is an integer from 1 to 9, as for " +"the :class:`BZ2File` constructor." msgstr "" -"O argumento *compresslevel* é um inteiro de 1 a 9, como para o construtor :" -"class:`BZ2File`." +"O argumento *compresslevel* é um inteiro de 1 a 9, como para o " +"construtor :class:`BZ2File`." #: ../../library/bz2.rst:48 msgid "" @@ -116,26 +115,26 @@ msgid "" "this case, the *encoding*, *errors* and *newline* arguments must not be " "provided." msgstr "" -"Para o modo binário, esta função é equivalente ao construtor de :class:" -"`BZ2File`: ``BZ2File(filename, mode, compresslevel=compresslevel)``. Neste " -"caso, os argumentos *encoding*, *errors* e *newline* não devem ser " -"fornecidos." +"Para o modo binário, esta função é equivalente ao construtor " +"de :class:`BZ2File`: ``BZ2File(filename, mode, " +"compresslevel=compresslevel)``. Neste caso, os argumentos *encoding*, " +"*errors* e *newline* não devem ser fornecidos." #: ../../library/bz2.rst:53 msgid "" -"For text mode, a :class:`BZ2File` object is created, and wrapped in an :" -"class:`io.TextIOWrapper` instance with the specified encoding, error " +"For text mode, a :class:`BZ2File` object is created, and wrapped in " +"an :class:`io.TextIOWrapper` instance with the specified encoding, error " "handling behavior, and line ending(s)." msgstr "" "Para o modo texto, um objeto :class:`BZ2File` é criado e envolto em uma " "instância :class:`io.TextIOWrapper` com a codificação especificada, " "comportamento de tratamento de erros e final(is) de linha." -#: ../../library/bz2.rst:59 ../../library/bz2.rst:124 +#: ../../library/bz2.rst:59 ../../library/bz2.rst:162 msgid "The ``'x'`` (exclusive creation) mode was added." msgstr "O modo ``'x'`` (criação exclusiva) foi adicionado." -#: ../../library/bz2.rst:62 ../../library/bz2.rst:131 +#: ../../library/bz2.rst:62 ../../library/bz2.rst:169 msgid "Accepts a :term:`path-like object`." msgstr "Aceita um :term:`objeto caminho ou similar`." @@ -194,19 +193,21 @@ msgstr "" #: ../../library/bz2.rst:89 msgid "" -":class:`BZ2File` provides all of the members specified by the :class:`io." -"BufferedIOBase`, except for :meth:`detach` and :meth:`truncate`. Iteration " -"and the :keyword:`with` statement are supported." +":class:`BZ2File` provides all of the members specified by " +"the :class:`io.BufferedIOBase`, except for :meth:`~io.BufferedIOBase.detach` " +"and :meth:`~io.IOBase.truncate`. Iteration and the :keyword:`with` statement " +"are supported." msgstr "" -":class:`BZ2File` fornece todos os membros especificados pelo :class:`io." -"BufferedIOBase`, exceto :meth:`detach` e :meth:`truncate`. Iteração e a " -"instrução :keyword:`with` são suportadas." +":class:`BZ2File` fornece todos os membros especificados " +"pelo :class:`io.BufferedIOBase`, exceto :meth:`~io.BufferedIOBase.detach` " +"e :meth:`~io.IOBase.truncate`. Iteração e a instrução :keyword:`with` são " +"suportadas." -#: ../../library/bz2.rst:93 -msgid ":class:`BZ2File` also provides the following method:" -msgstr ":class:`BZ2File` também fornece o seguinte método:" +#: ../../library/bz2.rst:94 +msgid ":class:`BZ2File` also provides the following methods:" +msgstr ":class:`BZ2File` também fornece os seguintes métodos:" -#: ../../library/bz2.rst:97 +#: ../../library/bz2.rst:98 msgid "" "Return buffered data without advancing the file position. At least one byte " "of data will be returned (unless at EOF). The exact number of bytes returned " @@ -216,31 +217,62 @@ msgstr "" "menos um byte de dados será retornado (a menos que em EOF). O número exato " "de bytes retornados não é especificado." -#: ../../library/bz2.rst:101 +#: ../../library/bz2.rst:102 msgid "" -"While calling :meth:`peek` does not change the file position of the :class:" -"`BZ2File`, it may change the position of the underlying file object (e.g. if " -"the :class:`BZ2File` was constructed by passing a file object for " -"*filename*)." +"While calling :meth:`peek` does not change the file position of " +"the :class:`BZ2File`, it may change the position of the underlying file " +"object (e.g. if the :class:`BZ2File` was constructed by passing a file " +"object for *filename*)." msgstr "" -"Enquanto chamar :meth:`peek` não altera a posição do arquivo de :class:" -"`BZ2File`, pode alterar a posição do objeto de arquivo subjacente (por " -"exemplo, se o :class:`BZ2File` foi construído passando um objeto de arquivo " -"para *filename*)." +"Enquanto chamar :meth:`peek` não altera a posição do arquivo " +"de :class:`BZ2File`, pode alterar a posição do objeto arquivo subjacente " +"(por exemplo, se o :class:`BZ2File` foi construído passando um objeto " +"arquivo para *filename*)." -#: ../../library/bz2.rst:109 -msgid "Support for the :keyword:`with` statement was added." -msgstr "Suporte para a instrução :keyword:`with` foi adicionado." +#: ../../library/bz2.rst:111 +msgid "Return the file descriptor for the underlying file." +msgstr "Retorna o endereço descritor de arquivo do arquivo subjacente." + +#: ../../library/bz2.rst:117 +msgid "Return whether the file was opened for reading." +msgstr "Retorna se o arquivo foi aberto para leitura." + +#: ../../library/bz2.rst:123 +msgid "Return whether the file supports seeking." +msgstr "Retorna se o arquivo suporta a busca." + +#: ../../library/bz2.rst:129 +msgid "Return whether the file was opened for writing." +msgstr "Retorna se o arquivo foi aberto para gravação." -#: ../../library/bz2.rst:112 +#: ../../library/bz2.rst:135 msgid "" -"The :meth:`fileno`, :meth:`readable`, :meth:`seekable`, :meth:`writable`, :" -"meth:`read1` and :meth:`readinto` methods were added." +"Read up to *size* uncompressed bytes, while trying to avoid making multiple " +"reads from the underlying stream. Reads up to a buffer's worth of data if " +"size is negative." msgstr "" -"Os métodos :meth:`fileno`, :meth:`readable`, :meth:`seekable`, :meth:" -"`writable`, :meth:`read1` e :meth:`readinto` foram adicionados." +"Lê até o tamanho *size* de bytes não compactados, tentando evitar várias " +"leituras do fluxo subjacente. Lê até um valor buffer de dados se o tamanho " +"for negativo." + +#: ../../library/bz2.rst:139 +msgid "Returns ``b''`` if the file is at EOF." +msgstr "" +"Retorna ``b''`` se o arquivo tiver atingido EOF, ou seja, o fim do arquivo." + +#: ../../library/bz2.rst:145 +msgid "Read bytes into *b*." +msgstr "Lê bytes para *b*." + +#: ../../library/bz2.rst:147 +msgid "Returns the number of bytes read (0 for EOF)." +msgstr "Retorna o número de bytes lidos (0 para EOF)." + +#: ../../library/bz2.rst:152 +msgid "Support for the :keyword:`with` statement was added." +msgstr "Suporte para a instrução :keyword:`with` foi adicionado." -#: ../../library/bz2.rst:116 +#: ../../library/bz2.rst:155 msgid "" "Support was added for *filename* being a :term:`file object` instead of an " "actual filename." @@ -248,7 +280,7 @@ msgstr "" "Foi adicionado suporte para *filename* ser um :term:`objeto arquivo ` em vez de um nome de arquivo real." -#: ../../library/bz2.rst:120 +#: ../../library/bz2.rst:159 msgid "" "The ``'a'`` (append) mode was added, along with support for reading multi-" "stream files." @@ -256,7 +288,7 @@ msgstr "" "O modo ``'a'`` (anexar) foi adicionado, juntamente com suporte para leitura " "de arquivos multifluxo." -#: ../../library/bz2.rst:127 +#: ../../library/bz2.rst:165 msgid "" "The :meth:`~io.BufferedIOBase.read` method now accepts an argument of " "``None``." @@ -264,7 +296,7 @@ msgstr "" "O método :meth:`~io.BufferedIOBase.read` agora aceita um argumento de " "``None``." -#: ../../library/bz2.rst:134 +#: ../../library/bz2.rst:172 msgid "" "The *buffering* parameter has been removed. It was ignored and deprecated " "since Python 3.0. Pass an open file object to control how the file is opened." @@ -273,11 +305,11 @@ msgstr "" "Python 3.0. Passe um objeto arquivo aberto para controlar como o arquivo é " "aberto." -#: ../../library/bz2.rst:139 +#: ../../library/bz2.rst:177 msgid "The *compresslevel* parameter became keyword-only." msgstr "O parâmetro *compresslevel* tornou-se somente-nomeado." -#: ../../library/bz2.rst:141 +#: ../../library/bz2.rst:179 msgid "" "This class is thread unsafe in the face of multiple simultaneous readers or " "writers, just like its equivalent classes in :mod:`gzip` and :mod:`lzma` " @@ -287,21 +319,21 @@ msgstr "" "escritores simultâneos, assim como suas classes equivalentes em :mod:`gzip` " "e :mod:`lzma` sempre foram." -#: ../../library/bz2.rst:148 +#: ../../library/bz2.rst:186 msgid "Incremental (de)compression" msgstr "(Des)compressão incremental" -#: ../../library/bz2.rst:152 +#: ../../library/bz2.rst:190 msgid "" "Create a new compressor object. This object may be used to compress data " "incrementally. For one-shot compression, use the :func:`compress` function " "instead." msgstr "" "Cria um novo objeto compressor. Este objeto pode ser usado para compactar " -"dados de forma incremental. Para compactação única, use a função :func:" -"`compress`." +"dados de forma incremental. Para compactação única, use a " +"função :func:`compress`." -#: ../../library/bz2.rst:156 ../../library/bz2.rst:244 +#: ../../library/bz2.rst:194 ../../library/bz2.rst:282 msgid "" "*compresslevel*, if given, must be an integer between ``1`` and ``9``. The " "default is ``9``." @@ -309,7 +341,7 @@ msgstr "" "*compresslevel*, se fornecido, deve ser um inteiro entre ``1`` e ``9``. O " "padrão é ``9``." -#: ../../library/bz2.rst:161 +#: ../../library/bz2.rst:199 msgid "" "Provide data to the compressor object. Returns a chunk of compressed data if " "possible, or an empty byte string otherwise." @@ -317,15 +349,15 @@ msgstr "" "Fornece dados para o objeto compressor. Retorna um pedaço de dados " "compactados, se possível, ou uma string de bytes vazia, caso contrário." -#: ../../library/bz2.rst:164 +#: ../../library/bz2.rst:202 msgid "" -"When you have finished providing data to the compressor, call the :meth:" -"`flush` method to finish the compression process." +"When you have finished providing data to the compressor, call " +"the :meth:`flush` method to finish the compression process." msgstr "" -"Quando você terminar de fornecer dados ao compactador, chame o método :meth:" -"`flush` para finalizar o processo de compressão." +"Quando você terminar de fornecer dados ao compactador, chame o " +"método :meth:`flush` para finalizar o processo de compressão." -#: ../../library/bz2.rst:170 +#: ../../library/bz2.rst:208 msgid "" "Finish the compression process. Returns the compressed data left in internal " "buffers." @@ -333,12 +365,12 @@ msgstr "" "Finaliza o processo de compactação. Retorna os dados compactados deixados em " "buffers internos." -#: ../../library/bz2.rst:173 +#: ../../library/bz2.rst:211 msgid "" "The compressor object may not be used after this method has been called." msgstr "O objeto compactador não pode ser usado após a chamada deste método." -#: ../../library/bz2.rst:178 +#: ../../library/bz2.rst:216 msgid "" "Create a new decompressor object. This object may be used to decompress data " "incrementally. For one-shot compression, use the :func:`decompress` function " @@ -348,7 +380,7 @@ msgstr "" "descompactar dados de forma incremental. Para compactação única, use a " "função :func:`decompress`." -#: ../../library/bz2.rst:183 +#: ../../library/bz2.rst:221 msgid "" "This class does not transparently handle inputs containing multiple " "compressed streams, unlike :func:`decompress` and :class:`BZ2File`. If you " @@ -357,24 +389,25 @@ msgid "" msgstr "" "Esta classe não trata de forma transparente entradas contendo múltiplos " "fluxos compactados, ao contrário de :func:`decompress` e :class:`BZ2File`. " -"Se você precisar descompactar uma entrada multifluxo com :class:" -"`BZ2Decompressor`, você deve usar um novo descompactador para cada fluxo." +"Se você precisar descompactar uma entrada multifluxo " +"com :class:`BZ2Decompressor`, você deve usar um novo descompactador para " +"cada fluxo." -#: ../../library/bz2.rst:190 +#: ../../library/bz2.rst:228 msgid "" "Decompress *data* (a :term:`bytes-like object`), returning uncompressed data " "as bytes. Some of *data* may be buffered internally, for use in later calls " "to :meth:`decompress`. The returned data should be concatenated with the " "output of any previous calls to :meth:`decompress`." msgstr "" -"Descompacta dados *data* (um :term:`objeto bytes ou similar `), retornando dados não compactados como bytes. Alguns dos *data* " +"Descomprime dados *data* (um :term:`objeto bytes ou similar `), retornando dados não comprimidos como bytes. Alguns dos *data* " "podem ser armazenados em buffer internamente, para uso em chamadas " "posteriores para :meth:`decompress`. Os dados retornados devem ser " -"concatenados com a saída de qualquer chamada anterior para :meth:" -"`decompress`." +"concatenados com a saída de qualquer chamada anterior " +"para :meth:`decompress`." -#: ../../library/bz2.rst:196 +#: ../../library/bz2.rst:234 msgid "" "If *max_length* is nonnegative, returns at most *max_length* bytes of " "decompressed data. If this limit is reached and further output can be " @@ -383,44 +416,44 @@ msgid "" "``b''`` to obtain more of the output." msgstr "" "Se *max_length* for não negativo, retornará no máximo *max_length* bytes de " -"dados descompactados. Se este limite for atingido e mais saída puder ser " +"dados descomprimidos. Se este limite for atingido e mais saída puder ser " "produzida, o atributo :attr:`~.needs_input` será definido como ``False``. " "Neste caso, a próxima chamada para :meth:`~.decompress` pode fornecer *data* " "como ``b''`` para obter mais saída." -#: ../../library/bz2.rst:203 +#: ../../library/bz2.rst:241 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 "" -"Se todos os dados de entrada foram descompactados e retornados (seja porque " +"Se todos os dados de entrada foram descomprimidos e retornados (seja porque " "era menor que *max_length* bytes, ou porque *max_length* era negativo), o " "atributo :attr:`~.needs_input` será definido como ``True`` ." -#: ../../library/bz2.rst:208 +#: ../../library/bz2.rst:246 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." +"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 "" -"A tentativa de descompactar os dados após o final do fluxo ser atingido gera " +"A tentativa de descomprimir os dados após o final do fluxo ser atingido gera " "um :exc:`EOFError`. Quaisquer dados encontrados após o final do fluxo são " "ignorados e salvos no atributo :attr:`~.unused_data`." -#: ../../library/bz2.rst:212 +#: ../../library/bz2.rst:250 msgid "Added the *max_length* parameter." msgstr "Adicionado o parâmetro *max_length*." -#: ../../library/bz2.rst:217 +#: ../../library/bz2.rst:255 msgid "``True`` if the end-of-stream marker has been reached." msgstr "``True`` se o marcador de fim de fluxo foi atingido." -#: ../../library/bz2.rst:224 +#: ../../library/bz2.rst:262 msgid "Data found after the end of the compressed stream." -msgstr "Dados encontrados após o término do fluxo compactado." +msgstr "Dados encontrados após o término do fluxo comprimido." -#: ../../library/bz2.rst:226 +#: ../../library/bz2.rst:264 msgid "" "If this attribute is accessed before the end of the stream has been reached, " "its value will be ``b''``." @@ -428,33 +461,31 @@ msgstr "" "Se este atributo for acessado antes do final do fluxo ser alcançado, seu " "valor será ``b''``." -#: ../../library/bz2.rst:231 +#: ../../library/bz2.rst:269 msgid "" "``False`` if the :meth:`.decompress` method can provide more decompressed " "data before requiring new uncompressed input." msgstr "" "``False`` se o método :meth:`.decompress` puder fornecer mais dados " -"descompactados antes de exigir uma nova entrada descompactada." +"descomprimidos antes de exigir uma nova entrada não comprimida." -#: ../../library/bz2.rst:238 +#: ../../library/bz2.rst:276 msgid "One-shot (de)compression" msgstr "(De)compressão de uma só vez (one-shot)" -#: ../../library/bz2.rst:242 +#: ../../library/bz2.rst:280 msgid "Compress *data*, a :term:`bytes-like object `." -msgstr "" -"Compacta *data*, um :term:`objeto bytes ou similar `." +msgstr "Compacta *data*, um :term:`objeto bytes ou similar`." -#: ../../library/bz2.rst:247 +#: ../../library/bz2.rst:285 msgid "For incremental compression, use a :class:`BZ2Compressor` instead." msgstr "Para compressão incremental, use um :class:`BZ2Compressor`." -#: ../../library/bz2.rst:252 +#: ../../library/bz2.rst:290 msgid "Decompress *data*, a :term:`bytes-like object `." -msgstr "" -"Descompacta *data*, um :term:`objeto bytes ou similar `." +msgstr "Descompacta *data*, um :term:`objeto bytes ou similar`." -#: ../../library/bz2.rst:254 +#: ../../library/bz2.rst:292 msgid "" "If *data* is the concatenation of multiple compressed streams, decompress " "all of the streams." @@ -462,23 +493,23 @@ msgstr "" "Se *data* for a concatenação de vários fluxos compactados, descompacta todos " "os fluxos." -#: ../../library/bz2.rst:257 +#: ../../library/bz2.rst:295 msgid "For incremental decompression, use a :class:`BZ2Decompressor` instead." msgstr "Para descompressão incremental, use um :class:`BZ2Decompressor`." -#: ../../library/bz2.rst:259 +#: ../../library/bz2.rst:297 msgid "Support for multi-stream inputs was added." msgstr "Suporte para entradas multifluxo foi adicionado." -#: ../../library/bz2.rst:265 +#: ../../library/bz2.rst:303 msgid "Examples of usage" msgstr "Exemplos de uso" -#: ../../library/bz2.rst:267 +#: ../../library/bz2.rst:305 msgid "Below are some examples of typical usage of the :mod:`bz2` module." msgstr "Abaixo estão alguns exemplos de uso típico do módulo :mod:`bz2`." -#: ../../library/bz2.rst:269 +#: ../../library/bz2.rst:307 msgid "" "Using :func:`compress` and :func:`decompress` to demonstrate round-trip " "compression:" @@ -486,11 +517,11 @@ msgstr "" "Usando :func:`compress` e :func:`decompress` para demonstrar a compactação " "de ida e volta:" -#: ../../library/bz2.rst:287 +#: ../../library/bz2.rst:325 msgid "Using :class:`BZ2Compressor` for incremental compression:" msgstr "Usando :class:`BZ2Compressor` para compressão incremental:" -#: ../../library/bz2.rst:305 +#: ../../library/bz2.rst:343 msgid "" "The example above uses a very \"nonrandom\" stream of data (a stream of " "``b\"z\"`` chunks). Random data tends to compress poorly, while ordered, " @@ -500,6 +531,6 @@ msgstr "" "partes ``b\"z\"``). Dados aleatórios tendem a compactar mal, enquanto dados " "ordenados e repetitivos geralmente produzem uma alta taxa de compactação." -#: ../../library/bz2.rst:309 +#: ../../library/bz2.rst:347 msgid "Writing and reading a bzip2-compressed file in binary mode:" msgstr "Escrevendo e lendo um arquivo compactado com bzip2 no modo binário:" diff --git a/library/calendar.po b/library/calendar.po index b8922789c..d072234f8 100644 --- a/library/calendar.po +++ b/library/calendar.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Marco Rougeth , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,6 +41,14 @@ msgid "" "Parameters that specify dates are given as integers. For related " "functionality, see also the :mod:`datetime` and :mod:`time` modules." msgstr "" +"Este módulo permite que você exiba calendários como o programa " +"Unix :program:`cal`, e fornece funções adicionais úteis relacionadas ao " +"calendário. Por padrão, esses calendários têm a segunda-feira como o " +"primeiro dia da semana, e domingo como o último (a convenção europeia). " +"Use :func:`setfirstweekday` para colocar o primeiro dia da semana como " +"domingo (6) ou para qualquer outro dia da semana. Parâmetros que especificam " +"datas são dados como inteiros. Para funcionalidade relacionada, veja também " +"os módulos :mod:`datetime` e :mod:`time`." #: ../../library/calendar.rst:22 msgid "" @@ -53,13 +60,23 @@ msgid "" "as prescribed by the ISO 8601 standard. Year 0 is 1 BC, year -1 is 2 BC, " "and so on." msgstr "" +"As funções e classes definidas neste módulo usam um calendário idealizado, o " +"calendário Gregoriano atual estendido indefinidamente nas duas direções. " +"Isso corresponde à definição do calendário \"proleptic Gregorian\" " +"(gregoriano proléptico) no livro \"Calendrical Calculations\" de Dershowitz " +"e Reingold, onde está o calendário base para todas os cálculos. Anos com " +"zero ou negativos são interpretados e prescritos pelo padrão ISO 8601. Ano 0 " +"é 1 A.C., ano -1 é 2 A.C, e de assim em diante." #: ../../library/calendar.rst:33 msgid "" "Creates a :class:`Calendar` object. *firstweekday* is an integer specifying " -"the first day of the week. :const:`MONDAY` is ``0`` (the default), :const:" -"`SUNDAY` is ``6``." +"the first day of the week. :const:`MONDAY` is ``0`` (the " +"default), :const:`SUNDAY` is ``6``." msgstr "" +"Cria um objeto :class:`Calendar`. *firstweekday* é um inteiro que especifica " +"o primeiro dia da semana. :const:`MONDAY` é ``0`` (o " +"padrão), :const:`SUNDAY` é ``6``." #: ../../library/calendar.rst:36 msgid "" @@ -67,17 +84,23 @@ msgid "" "preparing the calendar data for formatting. This class doesn't do any " "formatting itself. This is the job of subclasses." msgstr "" +"Um objeto :class:`Calendar` fornece vários métodos que podem ser usados para " +"preparar os dados do calendário para formatação. Esta classe não realiza " +"nenhuma formatação por si mesma. Esse é o trabalho das subclasses." #: ../../library/calendar.rst:41 msgid ":class:`Calendar` instances have the following methods:" -msgstr "" +msgstr "Instâncias de :class:`Calendar` têm os seguintes métodos:" #: ../../library/calendar.rst:45 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." +"The first value from the iterator will be the same as the value of " +"the :attr:`firstweekday` property." msgstr "" +"Retorna um iterador para os números dos dias da semana que serão usados em " +"uma semana. O primeiro valor do iterador será o mesmo que o valor da " +"propriedade :attr:`firstweekday`." #: ../../library/calendar.rst:52 msgid "" @@ -86,56 +109,84 @@ msgid "" "month and all days before the start of the month or after the end of the " "month that are required to get a complete week." msgstr "" +"Retorna um iterador para o mês *month* (1--12) no ano *year*. Este iterador " +"retornará todos os dias (como objetos :class:`datetime.date`) do mês, bem " +"como os dias antes do início do mês ou após o final do mês, necessários para " +"obter uma semana completa." #: ../../library/calendar.rst:60 msgid "" -"Return an iterator for the month *month* in the year *year* similar to :meth:" -"`itermonthdates`, but not restricted by the :class:`datetime.date` range. " -"Days returned will simply be day of the month numbers. For the days outside " -"of the specified month, the day number is ``0``." +"Return an iterator for the month *month* in the year *year* similar " +"to :meth:`itermonthdates`, but not restricted by the :class:`datetime.date` " +"range. Days returned will simply be day of the month numbers. For the days " +"outside of the specified month, the day number is ``0``." msgstr "" +"Retorna um iterador para o mês *month* no ano *year* semelhante " +"a :meth:`itermonthdates`, mas não restrito pelo intervalo " +"de :class:`datetime.date`. Os dias retornados serão simplesmente os números " +"dos dias do mês. Para os dias fora do mês especificado, o número do dia será " +"``0``." #: ../../library/calendar.rst:68 msgid "" -"Return an iterator for the month *month* in the year *year* similar to :meth:" -"`itermonthdates`, but not restricted by the :class:`datetime.date` range. " -"Days returned will be tuples consisting of a day of the month number and a " -"week day number." +"Return an iterator for the month *month* in the year *year* similar " +"to :meth:`itermonthdates`, but not restricted by the :class:`datetime.date` " +"range. Days returned will be tuples consisting of a day of the month number " +"and a week day number." msgstr "" +"Retorna um iterador para o mês *month* no ano *year* semelhante " +"a :meth:`itermonthdates`, mas não restrito pelo intervalo " +"de :class:`datetime.date`. Os dias retornados serão tuplas consistindo de um " +"número de dia do mês e um número de dia da semana." #: ../../library/calendar.rst:76 msgid "" -"Return an iterator for the month *month* in the year *year* similar to :meth:" -"`itermonthdates`, but not restricted by the :class:`datetime.date` range. " -"Days returned will be tuples consisting of a year, a month and a day of the " -"month numbers." +"Return an iterator for the month *month* in the year *year* similar " +"to :meth:`itermonthdates`, but not restricted by the :class:`datetime.date` " +"range. Days returned will be tuples consisting of a year, a month and a day " +"of the month numbers." msgstr "" +"Retorna um iterador para o mês *month* no ano *year* semelhante " +"a :meth:`itermonthdates`, mas não restrito pelo intervalo " +"de :class:`datetime.date`. Os dias retornados serão tuplas consistindo de " +"números de um ano, um mês e um dia do mês." #: ../../library/calendar.rst:86 msgid "" -"Return an iterator for the month *month* in the year *year* similar to :meth:" -"`itermonthdates`, but not restricted by the :class:`datetime.date` range. " -"Days returned will be tuples consisting of a year, a month, a day of the " -"month, and a day of the week numbers." +"Return an iterator for the month *month* in the year *year* similar " +"to :meth:`itermonthdates`, but not restricted by the :class:`datetime.date` " +"range. Days returned will be tuples consisting of a year, a month, a day of " +"the month, and a day of the week numbers." msgstr "" +"Retorna um iterador para o mês *month* no ano *year* semelhante " +"a :meth:`itermonthdates`, mas não restrito pelo intervalo " +"de :class:`datetime.date`. Os dias retornados serão tuplas consistindo de " +"números de um ano, um mês, um dia do mês e um dia da semana." #: ../../library/calendar.rst:96 msgid "" "Return a list of the weeks in the month *month* of the *year* as full " "weeks. Weeks are lists of seven :class:`datetime.date` objects." msgstr "" +"Retorna uma lista das semanas do mês *month* do *year* como semanas " +"completas. As semanas são listas de sete objetos :class:`datetime.date`." #: ../../library/calendar.rst:102 msgid "" "Return a list of the weeks in the month *month* of the *year* as full " "weeks. Weeks are lists of seven tuples of day numbers and weekday numbers." msgstr "" +"Retorna uma lista das semanas do mês *month* do ano *year* como semanas " +"completas. As semanas são listas de sete tuplas de números dias e de dias de " +"semanas." #: ../../library/calendar.rst:109 msgid "" "Return a list of the weeks in the month *month* of the *year* as full " "weeks. Weeks are lists of seven day numbers." msgstr "" +"Retorna uma lista das semanas do mês *month* do ano *year* como semanas " +"completas. As semanas são listas de números de sete dias." #: ../../library/calendar.rst:115 msgid "" @@ -144,76 +195,107 @@ msgid "" "(defaulting to 3). Each month contains between 4 and 6 weeks and each week " "contains 1--7 days. Days are :class:`datetime.date` objects." msgstr "" +"Retorna os dados para o ano especificado prontos para formatação. O valor de " +"retorno é uma lista de linhas de meses. Cada linha de mês contém até *width* " +"meses (padrão é 3). Cada mês contém entre 4 e 6 semanas, e cada semana " +"contém 1--7 dias. Os dias são objetos :class:`datetime.date`." #: ../../library/calendar.rst:123 msgid "" -"Return the data for the specified year ready for formatting (similar to :" -"meth:`yeardatescalendar`). Entries in the week lists are tuples of day " +"Return the data for the specified year ready for formatting (similar " +"to :meth:`yeardatescalendar`). Entries in the week lists are tuples of day " "numbers and weekday numbers. Day numbers outside this month are zero." msgstr "" +"Retorna os dados para o ano especificado prontos para formatação (semelhante " +"a :meth:`yeardatescalendar`). Entradas nas listas semanais são tuplas de " +"números de dias e números de dias de semana. Números de dias fora deste mês " +"são zero." #: ../../library/calendar.rst:130 msgid "" -"Return the data for the specified year ready for formatting (similar to :" -"meth:`yeardatescalendar`). Entries in the week lists are day numbers. Day " -"numbers outside this month are zero." +"Return the data for the specified year ready for formatting (similar " +"to :meth:`yeardatescalendar`). Entries in the week lists are day numbers. " +"Day numbers outside this month are zero." msgstr "" +"Retorna a data para o ano especificado prontos para formatação (semelhante " +"a :meth:`yeardatescalendar`). Entradas nas listas de semanas são números de " +"dias. Números de dias fora deste mês são zero." #: ../../library/calendar.rst:137 msgid "This class can be used to generate plain text calendars." -msgstr "" +msgstr "Esta classe pode ser usada para gerar texto plano para calendários." #: ../../library/calendar.rst:139 msgid ":class:`TextCalendar` instances have the following methods:" -msgstr "" +msgstr "Instâncias de :class:`TextCalendar` têm os seguintes métodos:" #: ../../library/calendar.rst:143 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 " "given, it specifies the number of lines that each week will use. Depends on " -"the first weekday as specified in the constructor or set by the :meth:" -"`setfirstweekday` method." +"the first weekday as specified in the constructor or set by " +"the :meth:`setfirstweekday` method." msgstr "" +"Retorna o calendário do mês em uma string multilinha. Se *w* for " +"providenciado, isto especifica a largura das colunas de data, que são " +"centrais. Se *l* for dado, este especifica o número de linhas que cada " +"semana vai usar. Dependendo do primeiro dia da semana conforme especificado " +"no construtor ou configurado pelo método :meth:`setfirstweekday`." #: ../../library/calendar.rst:152 msgid "Print a month's calendar as returned by :meth:`formatmonth`." msgstr "" +"Imprime um calendário do mês conforme retornado pelo :meth:`formatmonth`." #: ../../library/calendar.rst:157 msgid "" "Return a *m*-column calendar for an entire year as a multi-line string. " "Optional parameters *w*, *l*, and *c* are for date column width, lines per " "week, and number of spaces between month columns, respectively. Depends on " -"the first weekday as specified in the constructor or set by the :meth:" -"`setfirstweekday` method. The earliest year for which a calendar can be " -"generated is platform-dependent." -msgstr "" +"the first weekday as specified in the constructor or set by " +"the :meth:`setfirstweekday` method. The earliest year for which a calendar " +"can be generated is platform-dependent." +msgstr "" +"Retorna um calendário com *m* colunas para um ano inteiro conforme uma " +"string multilinha. Parâmetros opcionais *w*, *l* e *c* definem a largura da " +"coluna data, linhas por semana e números de espaços entre as colunas dos " +"meses, respectivamente. Depende do primeiro dia da semana conforme " +"especificado no construtor ou definido pelo método :meth:`setfirstweekday`. " +"O ano mais novo para o qual o calendário pode ser gerado depende da " +"plataforma." #: ../../library/calendar.rst:167 msgid "" "Print the calendar for an entire year as returned by :meth:`formatyear`." msgstr "" +"Imprime o calendário para um ano inteiro conforme retornado " +"por :meth:`formatyear`." #: ../../library/calendar.rst:172 msgid "This class can be used to generate HTML calendars." -msgstr "" +msgstr "Esta classse pode ser usada para gerar calendários HTML." #: ../../library/calendar.rst:175 msgid ":class:`!HTMLCalendar` instances have the following methods:" -msgstr "" +msgstr "Instâncias de :class:`!HTMLCalendar` têm os seguintes métodos:" #: ../../library/calendar.rst:179 msgid "" "Return a month's calendar as an HTML table. If *withyear* is true the year " "will be included in the header, otherwise just the month name will be used." msgstr "" +"Retorna um calendário do mês como uma tabela HTML. Se *withyear* for " +"verdadeiro, o ano será incluído no cabeçalho, senão apenas o nome do mês " +"será utilizado." #: ../../library/calendar.rst:186 msgid "" "Return a year's calendar as an HTML table. *width* (defaulting to 3) " "specifies the number of months per row." msgstr "" +"Retorna um calendário do ano como uma tabela HTML. *width* (padronizada para " +"3) especifica o número de meses por linha." #: ../../library/calendar.rst:192 msgid "" @@ -223,170 +305,242 @@ msgid "" "be used. *encoding* specifies the encoding to be used for the output " "(defaulting to the system default encoding)." msgstr "" +"Retorna o calendário de um ano como uma página HTML completa. *width* " +"(padrão 3) especifica o número de meses por linha. *css* é o nome da folha " +"de estilo em cascata a ser usada. :const:`None` pode ser passado se nenhuma " +"folha de estilo deve ser usada. *encoding* especifica a codificação a ser " +"usada para a saída (padrão para a codificação padrão do sistema)." -#: ../../library/calendar.rst:199 +#: ../../library/calendar.rst:201 +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 "" +"Retorna um nome de mês como uma linha de tabela HTML. Se *withyear* for " +"verdadeiro, o ano será incluído na linha, senão apenas o nome do mês será " +"utilizado." + +#: ../../library/calendar.rst:206 msgid "" ":class:`!HTMLCalendar` has the following attributes you can override to " "customize the CSS classes used by the calendar:" msgstr "" +":class:`!HTMLCalendar` tem os seguintes atributos que você pode substituir " +"para personalizar as classes CSS usadas pelo calendário:" -#: ../../library/calendar.rst:204 +#: ../../library/calendar.rst:211 msgid "" "A list of CSS classes used for each weekday. The default class list is::" msgstr "" +"Uma lista de classes CSS usadas para cada dia da semana. A lista de classes " +"padrão é::" -#: ../../library/calendar.rst:208 +#: ../../library/calendar.rst:215 msgid "more styles can be added for each day::" -msgstr "" +msgstr "mais estilos podem ser adicionados para cada dia::" -#: ../../library/calendar.rst:212 +#: ../../library/calendar.rst:219 msgid "Note that the length of this list must be seven items." -msgstr "" +msgstr "Observe que o comprimento desta lista deve ser de sete itens." -#: ../../library/calendar.rst:217 +#: ../../library/calendar.rst:224 msgid "The CSS class for a weekday occurring in the previous or coming month." msgstr "" +"A classe CSS para um dia da semana que ocorre no mês anterior ou seguinte." -#: ../../library/calendar.rst:224 +#: ../../library/calendar.rst:231 msgid "" "A list of CSS classes used for weekday names in the header row. The default " "is the same as :attr:`cssclasses`." msgstr "" +"Uma lista de classes CSS usadas para nomes de dias da semana na linha de " +"cabeçalho. O padrão é o mesmo que :attr:`cssclasses`." -#: ../../library/calendar.rst:232 +#: ../../library/calendar.rst:239 msgid "" "The month's head CSS class (used by :meth:`formatmonthname`). The default " "value is ``\"month\"``." msgstr "" +"A classe CSS principal do mês (usada por :meth:`formatmonthname`). O valor " +"padrão é ``\"month\"``." -#: ../../library/calendar.rst:240 +#: ../../library/calendar.rst:247 msgid "" "The CSS class for the whole month's table (used by :meth:`formatmonth`). The " "default value is ``\"month\"``." msgstr "" +"A classe CSS para a tabela do mês inteiro (usada por :meth:`formatmonth`). O " +"valor padrão é ``\"month\"``." -#: ../../library/calendar.rst:248 +#: ../../library/calendar.rst:255 msgid "" -"The CSS class for the whole year's table of tables (used by :meth:" -"`formatyear`). The default value is ``\"year\"``." +"The CSS class for the whole year's table of tables (used " +"by :meth:`formatyear`). The default value is ``\"year\"``." msgstr "" +"A classe CSS para a tabela de tabelas do ano inteiro (usada " +"por :meth:`formatyear`). O valor padrão é ``\"year\"``." -#: ../../library/calendar.rst:256 +#: ../../library/calendar.rst:263 msgid "" -"The CSS class for the table head for the whole year (used by :meth:" -"`formatyear`). The default value is ``\"year\"``." +"The CSS class for the table head for the whole year (used " +"by :meth:`formatyear`). The default value is ``\"year\"``." msgstr "" +"A classe CSS para o cabeçalho da tabela para o ano inteiro (usado " +"por :meth:`formatyear`). O valor padrão é ``\"year\"``." -#: ../../library/calendar.rst:262 +#: ../../library/calendar.rst:269 msgid "" "Note that although the naming for the above described class attributes is " "singular (e.g. ``cssclass_month`` ``cssclass_noday``), one can replace the " "single CSS class with a space separated list of CSS classes, for example::" msgstr "" +"Observe que, embora a nomenclatura dos atributos de classe descritos acima " +"seja singular (por exemplo, ``cssclass_month`` ``cssclass_noday``), é " +"possível substituir a única classe CSS por uma lista de classes CSS " +"separadas por espaços, por exemplo:" -#: ../../library/calendar.rst:268 +#: ../../library/calendar.rst:275 msgid "Here is an example how :class:`!HTMLCalendar` can be customized::" msgstr "" +"Aqui está um exemplo de como :class:`!HTMLCalendar` pode ser personalizado::" -#: ../../library/calendar.rst:280 +#: ../../library/calendar.rst:287 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." msgstr "" +"Esta subclasse de :class:`TextCalendar` pode receber um nome de localidade " +"no construtor e retornará nomes de meses e dias da semana na localidade " +"especificada." -#: ../../library/calendar.rst:286 +#: ../../library/calendar.rst:293 msgid "" "This subclass of :class:`HTMLCalendar` can be passed a locale name in the " "constructor and will return month and weekday names in the specified locale." msgstr "" +"Esta subclasse de :class:`HTMLCalendar` pode receber um nome de localidade " +"no construtor e retornará nomes de meses e dias da semana na localidade " +"especificada." -#: ../../library/calendar.rst:292 +#: ../../library/calendar.rst:299 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." msgstr "" +"Os métodos construtores :meth:`!formatweekday` e :meth:`!formatmonthname` " +"dessas duas classes alteram temporariamente a localidade ``LC_TIME`` para o " +"*locale* fornecido. Como a localidade atual é uma configuração de todo o " +"processo, eles não são seguros para threads." -#: ../../library/calendar.rst:298 +#: ../../library/calendar.rst:305 msgid "For simple text calendars this module provides the following functions." msgstr "" -"Para simples calendários de texto, este módulo fornece as seguintes funções." +"Para calendários de texto simples, este módulo fornece as seguintes funções." -#: ../../library/calendar.rst:302 +#: ../../library/calendar.rst:309 msgid "" "Sets the weekday (``0`` is Monday, ``6`` is Sunday) to start each week. The " -"values :const:`MONDAY`, :const:`TUESDAY`, :const:`WEDNESDAY`, :const:" -"`THURSDAY`, :const:`FRIDAY`, :const:`SATURDAY`, and :const:`SUNDAY` are " -"provided for convenience. For example, to set the first weekday to Sunday::" +"values :const:`MONDAY`, :const:`TUESDAY`, :const:`WEDNESDAY`, :const:`THURSDAY`, :const:`FRIDAY`, :const:`SATURDAY`, " +"and :const:`SUNDAY` are provided for convenience. For example, to set the " +"first weekday to Sunday::" msgstr "" +"Define o dia da semana (``0`` é segunda-feira, ``6`` é domingo) para começar " +"cada semana. Os " +"valores :const:`MONDAY`, :const:`TUESDAY`, :const:`WEDNESDAY`, :const:`THURSDAY`, :const:`FRIDAY`, :const:`SATURDAY` " +"e :const:`SUNDAY` são fornecidos para conveniência. Por exemplo, para " +"definir o primeiro dia da semana como domingo::" -#: ../../library/calendar.rst:313 +#: ../../library/calendar.rst:320 msgid "Returns the current setting for the weekday to start each week." msgstr "" +"Retorna a configuração atual para o dia da semana que inicia cada semana." -#: ../../library/calendar.rst:318 +#: ../../library/calendar.rst:325 msgid "" "Returns :const:`True` if *year* is a leap year, otherwise :const:`False`." msgstr "" +"Retorna :const:`True` se *year* for um ano bissexto, caso " +"contrário, :const:`False`." -#: ../../library/calendar.rst:323 +#: ../../library/calendar.rst:330 msgid "" "Returns the number of leap years in the range from *y1* to *y2* (exclusive), " "where *y1* and *y2* are years." msgstr "" +"Retorna o número de anos bissextos no intervalo de *y1* a *y2* (exclusivo), " +"onde *y1* e *y2* são anos." -#: ../../library/calendar.rst:326 +#: ../../library/calendar.rst:333 msgid "This function works for ranges spanning a century change." msgstr "" +"Esta função funciona para intervalos que abrangem uma mudança de século." -#: ../../library/calendar.rst:331 +#: ../../library/calendar.rst:338 msgid "" "Returns the day of the week (``0`` is Monday) for *year* (``1970``--...), " "*month* (``1``--``12``), *day* (``1``--``31``)." msgstr "" +"Retorna o dia da semana (``0`` é segunda-feira) para *year* (``1970``--...), " +"*month* (``1``--``12``), *day* (``1``--``31``)." -#: ../../library/calendar.rst:337 +#: ../../library/calendar.rst:344 msgid "" "Return a header containing abbreviated weekday names. *n* specifies the " "width in characters for one weekday." msgstr "" +"Retorna um cabeçalho contendo nomes abreviados de dias da semana. *n* " +"especifica a largura em caracteres para um dia da semana." -#: ../../library/calendar.rst:343 +#: ../../library/calendar.rst:350 msgid "" "Returns weekday of first day of the month and number of days in month, for " "the specified *year* and *month*." msgstr "" +"Retorna o dia da semana do primeiro dia do mês e o número de dias do mês, " +"para o *year* e *month* especificados." -#: ../../library/calendar.rst:349 +#: ../../library/calendar.rst:356 msgid "" "Returns a matrix representing a month's calendar. Each row represents a " "week; days outside of the month are represented by zeros. Each week begins " "with Monday unless set by :func:`setfirstweekday`." msgstr "" +"Retorna uma matriz representando o calendário de um mês. Cada linha " +"representa uma semana; dias fora do mês são representados por zeros. Cada " +"semana começa com segunda-feira, a menos que seja definida " +"por :func:`setfirstweekday`." -#: ../../library/calendar.rst:356 +#: ../../library/calendar.rst:363 msgid "Prints a month's calendar as returned by :func:`month`." -msgstr "" +msgstr "Imprime um calendário do mês conforme retornado pelo :func:`month`." -#: ../../library/calendar.rst:361 +#: ../../library/calendar.rst:368 msgid "" -"Returns a month's calendar in a multi-line string using the :meth:" -"`formatmonth` of the :class:`TextCalendar` class." +"Returns a month's calendar in a multi-line string using " +"the :meth:`~TextCalendar.formatmonth` of the :class:`TextCalendar` class." msgstr "" +"Retorna o calendário de um mês em uma string de várias linhas " +"usando :meth:`~TextCalendar.formatmonth` da classe :class:`TextCalendar`." -#: ../../library/calendar.rst:367 +#: ../../library/calendar.rst:374 msgid "" "Prints the calendar for an entire year as returned by :func:`calendar`." msgstr "" +"Imprime o calendário para um ano inteiro conforme retornado " +"por :func:`calendar`." -#: ../../library/calendar.rst:372 +#: ../../library/calendar.rst:379 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 "" +"Retorna um calendário de 3 colunas para um ano inteiro como uma string de " +"várias linhas usando :meth:`~TextCalendar.formatyear` da " +"classe :class:`TextCalendar`." -#: ../../library/calendar.rst:378 +#: ../../library/calendar.rst:385 msgid "" "An unrelated but handy function that takes a time tuple such as returned by " "the :func:`~time.gmtime` function in the :mod:`time` module, and returns the " @@ -394,54 +548,191 @@ msgid "" "encoding. In fact, :func:`time.gmtime` and :func:`timegm` are each others' " "inverse." msgstr "" +"Uma função não relacionada, mas útil, que pega uma tupla de tempo, como a " +"retornada pela função :func:`~time.gmtime` no módulo :mod:`time`, e retorna " +"o valor de registro de data e hora Unix correspondente, presumindo uma época " +"de 1970 e a codificação POSIX. Na verdade, :func:`time.gmtime` " +"e :func:`timegm` são inversos um do outro." -#: ../../library/calendar.rst:385 +#: ../../library/calendar.rst:392 msgid "The :mod:`calendar` module exports the following data attributes:" -msgstr "" +msgstr "O módulo :mod:`calendar` exporta os seguintes atributos de dados:" -#: ../../library/calendar.rst:389 +#: ../../library/calendar.rst:396 msgid "An array that represents the days of the week in the current locale." msgstr "" -#: ../../library/calendar.rst:394 +#: ../../library/calendar.rst:401 msgid "" "An array that represents the abbreviated days of the week in the current " "locale." msgstr "" -#: ../../library/calendar.rst:399 +#: ../../library/calendar.rst:406 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." msgstr "" -#: ../../library/calendar.rst:406 +#: ../../library/calendar.rst:413 msgid "" "An array 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 "" -#: ../../library/calendar.rst:418 +#: ../../library/calendar.rst:425 msgid "" "Aliases for day numbers, where ``MONDAY`` is ``0`` and ``SUNDAY`` is ``6``." msgstr "" -#: ../../library/calendar.rst:424 +#: ../../library/calendar.rst:428 +msgid "The :mod:`calendar` module defines the following exceptions:" +msgstr "O módulo :mod:`calendar` define as seguintes exceções:" + +#: ../../library/calendar.rst:432 +msgid "" +"A subclass of :exc:`ValueError`, raised when the given month number is " +"outside of the range 1-12 (inclusive)." +msgstr "" +"Uma subclasse de :exc:`ValueError`, levantada quando o número do mês " +"fornecido está fora do intervalo de 1 a 12 (inclusive)." + +#: ../../library/calendar.rst:437 +msgid "The invalid month number." +msgstr "O número de meses inválidos." + +#: ../../library/calendar.rst:442 +msgid "" +"A subclass of :exc:`ValueError`, raised when the given weekday number is " +"outside of the range 0-6 (inclusive)." +msgstr "" +"Uma subclasse de :exc:`ValueError`, levantada quando o número do dia da " +"semana fornecido está fora do intervalo de 0 a 6 (inclusive)." + +#: ../../library/calendar.rst:447 +msgid "The invalid weekday number." +msgstr "O número de dias da semana inválidos." + +#: ../../library/calendar.rst:454 msgid "Module :mod:`datetime`" msgstr "Módulo :mod:`datetime`" -#: ../../library/calendar.rst:423 +#: ../../library/calendar.rst:453 msgid "" "Object-oriented interface to dates and times with similar functionality to " "the :mod:`time` module." msgstr "" +"Interface orientada a objetos para datas e horas com funcionalidade " +"semelhante ao módulo :mod:`time`." -#: ../../library/calendar.rst:426 +#: ../../library/calendar.rst:456 msgid "Module :mod:`time`" msgstr "Módulo :mod:`time`" -#: ../../library/calendar.rst:427 +#: ../../library/calendar.rst:457 msgid "Low-level time related functions." +msgstr "Funções de baixo nível relacionadas ao tempo." + +#: ../../library/calendar.rst:463 +msgid "Command-Line Usage" +msgstr "Uso na linha de comando" + +#: ../../library/calendar.rst:467 +msgid "" +"The :mod:`calendar` module can be executed as a script from the command line " +"to interactively print a calendar." +msgstr "" +"O módulo :mod:`calendar` pode ser executado como um script na linha de " +"comando para exibir interativamente um calendário." + +#: ../../library/calendar.rst:477 +msgid "For example, to print a calendar for the year 2000:" +msgstr "Por exemplo, para exibir um calendário para o ano 2000:" + +#: ../../library/calendar.rst:520 +msgid "The following options are accepted:" +msgstr "As seguintes opções são aceitas:" + +#: ../../library/calendar.rst:527 +msgid "Show the help message and exit." +msgstr "Mostra a mensagem de ajuda e sai." + +#: ../../library/calendar.rst:532 +msgid "The locale to use for month and weekday names. Defaults to English." +msgstr "" +"A localidade a ser usada para nomes de meses e dias da semana. O padrão é " +"inglês." + +#: ../../library/calendar.rst:538 +msgid "" +"The encoding to use for output. :option:`--encoding` is required " +"if :option:`--locale` is set." +msgstr "" +"A codificação a ser usada na saída. :option:`--encoding` é necessário " +"se :option:`--locale` estiver definido." + +#: ../../library/calendar.rst:544 +msgid "Print the calendar to the terminal as text, or as an HTML document." +msgstr "Exibe o calendário no terminal como texto ou como um documento HTML." + +#: ../../library/calendar.rst:550 +msgid "" +"The year to print the calendar for. Must be a number between 1 and 9999. " +"Defaults to the current year." +msgstr "O ano para exibir o calendário. Deve ser um número entre 1 e 9999." + +#: ../../library/calendar.rst:557 +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 "" +"O mês do :option:`year` especificado para exibir o calendário. Deve ser um " +"número entre 1 e 12 e pode ser usado somente no modo texto. O padrão é " +"exibir um calendário para todo o ano." + +#: ../../library/calendar.rst:563 +msgid "*Text-mode options:*" +msgstr "*Opções de modo texto:*" + +#: ../../library/calendar.rst:567 +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 "" +"A largura da coluna de data no terminal. A data é exibida centralizada na " +"coluna. Qualquer valor inferior a 2 é ignorado. O padrão é 2." + +#: ../../library/calendar.rst:575 +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 "" +"O número de linhas por semana no terminal. A data é exibida alinhada no " +"topo. Qualquer valor inferior a 1 é ignorado. O padrão é 1." + +#: ../../library/calendar.rst:583 +msgid "" +"The space between months in columns. Any value lower than 2 is ignored. " +"Defaults to 6." +msgstr "" +"O espaço entre os meses nas colunas. Qualquer valor inferior a 2 é ignorado. " +"O padrão é 6." + +#: ../../library/calendar.rst:590 +msgid "The number of months printed per row. Defaults to 3." +msgstr "O número de meses exibidos por linha. O padrão é 3." + +#: ../../library/calendar.rst:594 +msgid "*HTML-mode options:*" +msgstr "*Opções do modo HTML:*" + +#: ../../library/calendar.rst:598 +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 "" +"O caminho de uma folha de estilo CSS a ser usada no calendário. Isso deve " +"ser relativo ao HTML gerado ou a um HTTP absoluto ou a uma URL ``file:///``." diff --git a/library/cgi.po b/library/cgi.po index 6e0290071..967f44054 100644 --- a/library/cgi.po +++ b/library/cgi.po @@ -1,29 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Ruan Aragão , 2021 -# Rafael Fontenelle , 2022 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 +# Adorilson Bezerra , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Adorilson Bezerra , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -43,11 +40,11 @@ msgstr "" #: ../../library/cgi.rst:22 msgid "" -"The :class:`FieldStorage` class can typically be replaced with :func:`urllib." -"parse.parse_qsl` for ``GET`` and ``HEAD`` requests, and the :mod:`email." -"message` module or `multipart `_ for " -"``POST`` and ``PUT``. Most :ref:`utility functions ` have replacements." +"The :class:`FieldStorage` class can typically be replaced " +"with :func:`urllib.parse.parse_qsl` for ``GET`` and ``HEAD`` requests, and " +"the :mod:`email.message` module or `multipart `_ for ``POST`` and ``PUT``. Most :ref:`utility functions " +"` have replacements." msgstr "" #: ../../library/cgi.rst:30 @@ -105,11 +102,12 @@ msgid "" "lots of other goodies) in the script's shell environment, executes the " "script, and sends the script's output back to the client." msgstr "" -"Na maioria das vezes, os scripts CGI residem no diretório especial :file:" -"`cgi-bin` do servidor. O servidor HTTP coloca todos os tipos de informações " -"sobre a solicitação (como o nome do host do cliente, a URL solicitada, a " -"string de consulta e muitos outros itens) no ambiente de shell do script, " -"executa o script e envia a saída do script de volta para o cliente." +"Na maioria das vezes, os scripts CGI residem no diretório " +"especial :file:`cgi-bin` do servidor. O servidor HTTP coloca todos os tipos " +"de informações sobre a solicitação (como o nome do host do cliente, a URL " +"solicitada, a string de consulta e muitos outros itens) no ambiente de shell " +"do script, executa o script e envia a saída do script de volta para o " +"cliente." #: ../../library/cgi.rst:56 msgid "" @@ -204,8 +202,8 @@ msgid "" "supports the standard dictionary method :meth:`~dict.keys` and the built-in " "function :func:`len`. Form fields containing empty strings are ignored and " "do not appear in the dictionary; to keep such values, provide a true value " -"for the optional *keep_blank_values* keyword parameter when creating the :" -"class:`FieldStorage` instance." +"for the optional *keep_blank_values* keyword parameter when creating " +"the :class:`FieldStorage` instance." msgstr "" "A instância de :class:`FieldStorage` pode ser indexada como um dicionário " "Python. Ela permite o teste de associação com o operador :keyword:`in`, e " @@ -217,9 +215,10 @@ msgstr "" #: ../../library/cgi.rst:122 msgid "" -"For instance, the following code (which assumes that the :mailheader:" -"`Content-Type` header and blank line have already been printed) checks that " -"the fields ``name`` and ``addr`` are both set to a non-empty string::" +"For instance, the following code (which assumes that " +"the :mailheader:`Content-Type` header and blank line have already been " +"printed) checks that the fields ``name`` and ``addr`` are both set to a non-" +"empty string::" msgstr "" #: ../../library/cgi.rst:136 @@ -235,27 +234,28 @@ msgstr "" #: ../../library/cgi.rst:143 msgid "" "If the submitted form data contains more than one field with the same name, " -"the object retrieved by ``form[key]`` is not a :class:`FieldStorage` or :" -"class:`MiniFieldStorage` instance but a list of such instances. Similarly, " -"in this situation, ``form.getvalue(key)`` would return a list of strings. If " -"you expect this possibility (when your HTML form contains multiple fields " -"with the same name), use the :meth:`~FieldStorage.getlist` method, which " -"always returns a list of values (so that you do not need to special-case the " -"single item case). For example, this code concatenates any number of " -"username fields, separated by commas::" +"the object retrieved by ``form[key]`` is not a :class:`FieldStorage` " +"or :class:`MiniFieldStorage` instance but a list of such instances. " +"Similarly, in this situation, ``form.getvalue(key)`` would return a list of " +"strings. If you expect this possibility (when your HTML form contains " +"multiple fields with the same name), use the :meth:`~FieldStorage.getlist` " +"method, which always returns a list of values (so that you do not need to " +"special-case the single item case). For example, this code concatenates any " +"number of username fields, separated by commas::" msgstr "" #: ../../library/cgi.rst:156 msgid "" -"If a field represents an uploaded file, accessing the value via the :attr:" -"`~FieldStorage.value` attribute or the :meth:`~FieldStorage.getvalue` method " -"reads the entire file in memory as bytes. This may not be what you want. " -"You can test for an uploaded file by testing either the :attr:`~FieldStorage." -"filename` attribute or the :attr:`~FieldStorage.file` attribute. You can " -"then read the data from the :attr:`!file` attribute before it is " -"automatically closed as part of the garbage collection of the :class:" -"`FieldStorage` instance (the :func:`~io.RawIOBase.read` and :func:`~io." -"IOBase.readline` methods will return bytes)::" +"If a field represents an uploaded file, accessing the value via " +"the :attr:`~FieldStorage.value` attribute or " +"the :meth:`~FieldStorage.getvalue` method reads the entire file in memory as " +"bytes. This may not be what you want. You can test for an uploaded file by " +"testing either the :attr:`~FieldStorage.filename` attribute or " +"the :attr:`~FieldStorage.file` attribute. You can then read the data from " +"the :attr:`!file` attribute before it is automatically closed as part of the " +"garbage collection of the :class:`FieldStorage` instance " +"(the :func:`~io.RawIOBase.read` and :func:`~io.IOBase.readline` methods will " +"return bytes)::" msgstr "" #: ../../library/cgi.rst:176 @@ -276,11 +276,12 @@ msgstr "" msgid "" "The file upload draft standard entertains the possibility of uploading " "multiple files from one field (using a recursive :mimetype:`multipart/\\*` " -"encoding). When this occurs, the item will be a dictionary-like :class:" -"`FieldStorage` item. This can be determined by testing its :attr:`!type` " -"attribute, which should be :mimetype:`multipart/form-data` (or perhaps " -"another MIME type matching :mimetype:`multipart/\\*`). In this case, it can " -"be iterated over recursively just like the top-level form object." +"encoding). When this occurs, the item will be a dictionary-" +"like :class:`FieldStorage` item. This can be determined by testing " +"its :attr:`!type` attribute, which should be :mimetype:`multipart/form-data` " +"(or perhaps another MIME type matching :mimetype:`multipart/\\*`). In this " +"case, it can be iterated over recursively just like the top-level form " +"object." msgstr "" #: ../../library/cgi.rst:192 @@ -294,8 +295,8 @@ msgstr "" #: ../../library/cgi.rst:197 msgid "" -"A form submitted via POST that also has a query string will contain both :" -"class:`FieldStorage` and :class:`MiniFieldStorage` items." +"A form submitted via POST that also has a query string will contain " +"both :class:`FieldStorage` and :class:`MiniFieldStorage` items." msgstr "" #: ../../library/cgi.rst:200 @@ -306,8 +307,8 @@ msgstr "" #: ../../library/cgi.rst:204 msgid "" -"Added support for the context management protocol to the :class:" -"`FieldStorage` class." +"Added support for the context management protocol to " +"the :class:`FieldStorage` class." msgstr "" #: ../../library/cgi.rst:210 @@ -316,12 +317,12 @@ msgstr "Interface de nível mais alto" #: ../../library/cgi.rst:212 msgid "" -"The previous section explains how to read CGI form data using the :class:" -"`FieldStorage` class. This section describes a higher level interface which " -"was added to this class to allow one to do it in a more readable and " -"intuitive way. The interface doesn't make the techniques described in " -"previous sections obsolete --- they are still useful to process file uploads " -"efficiently, for example." +"The previous section explains how to read CGI form data using " +"the :class:`FieldStorage` class. This section describes a higher level " +"interface which was added to this class to allow one to do it in a more " +"readable and intuitive way. The interface doesn't make the techniques " +"described in previous sections obsolete --- they are still useful to process " +"file uploads efficiently, for example." msgstr "" #: ../../library/cgi.rst:221 @@ -370,9 +371,9 @@ msgstr "" #: ../../library/cgi.rst:258 msgid "" -"A more convenient approach is to use the methods :meth:`~FieldStorage." -"getfirst` and :meth:`~FieldStorage.getlist` provided by this higher level " -"interface." +"A more convenient approach is to use the " +"methods :meth:`~FieldStorage.getfirst` and :meth:`~FieldStorage.getlist` " +"provided by this higher level interface." msgstr "" #: ../../library/cgi.rst:264 @@ -410,8 +411,8 @@ msgstr "" #: ../../library/cgi.rst:299 msgid "" -"Parse a query in the environment or from a file (the file defaults to ``sys." -"stdin``). The *keep_blank_values*, *strict_parsing* and *separator* " +"Parse a query in the environment or from a file (the file defaults to " +"``sys.stdin``). The *keep_blank_values*, *strict_parsing* and *separator* " "parameters are passed to :func:`urllib.parse.parse_qs` unchanged." msgstr "" @@ -458,10 +459,10 @@ msgstr "" #: ../../library/cgi.rst:337 msgid "" "This function, like the rest of the :mod:`cgi` module, is deprecated. It can " -"be replaced with the functionality in the :mod:`email` package (e.g. :class:" -"`email.message.EmailMessage`/:class:`email.message.Message`) which " -"implements the same MIME RFCs, or with the `multipart `__ PyPI project." +"be replaced with the functionality in the :mod:`email` package " +"(e.g. :class:`email.message.EmailMessage`/:class:`email.message.Message`) " +"which implements the same MIME RFCs, or with the `multipart `__ PyPI project." msgstr "" #: ../../library/cgi.rst:342 @@ -509,13 +510,13 @@ msgstr "" #: ../../library/cgi.rst:391 msgid "" -"There's one important rule: if you invoke an external program (via :func:`os." -"system`, :func:`os.popen` or other functions with similar functionality), " -"make very sure you don't pass arbitrary strings received from the client to " -"the shell. This is a well-known security hole whereby clever hackers " -"anywhere on the web can exploit a gullible CGI script to invoke arbitrary " -"shell commands. Even parts of the URL or field names cannot be trusted, " -"since the request doesn't have to come from your form!" +"There's one important rule: if you invoke an external program " +"(via :func:`os.system`, :func:`os.popen` or other functions with similar " +"functionality), make very sure you don't pass arbitrary strings received " +"from the client to the shell. This is a well-known security hole whereby " +"clever hackers anywhere on the web can exploit a gullible CGI script to " +"invoke arbitrary shell commands. Even parts of the URL or field names " +"cannot be trusted, since the request doesn't have to come from your form!" msgstr "" #: ../../library/cgi.rst:399 @@ -559,9 +560,9 @@ msgid "" "(write, execute). The current directory at execution time is also different " "(it is usually the server's cgi-bin directory) and the set of environment " "variables is also different from what you get when you log in. In " -"particular, don't count on the shell's search path for executables (:envvar:" -"`PATH`) or the Python module search path (:envvar:`PYTHONPATH`) to be set to " -"anything interesting." +"particular, don't count on the shell's search path for executables " +"(:envvar:`PATH`) or the Python module search path (:envvar:`PYTHONPATH`) to " +"be set to anything interesting." msgstr "" #: ../../library/cgi.rst:431 @@ -638,8 +639,8 @@ msgstr "" #: ../../library/cgi.rst:491 msgid "" -"This should produce the same results as those gotten from installing the :" -"file:`cgi.py` file itself." +"This should produce the same results as those gotten from installing " +"the :file:`cgi.py` file itself." msgstr "" #: ../../library/cgi.rst:494 @@ -655,8 +656,8 @@ msgstr "" #: ../../library/cgi.rst:501 msgid "" "Fortunately, once you have managed to get your script to execute *some* " -"code, you can easily send tracebacks to the web browser using the :mod:" -"`cgitb` module. If you haven't done so already, just add the lines::" +"code, you can easily send tracebacks to the web browser using " +"the :mod:`cgitb` module. If you haven't done so already, just add the lines::" msgstr "" #: ../../library/cgi.rst:508 @@ -751,7 +752,7 @@ msgstr "" #: ../../library/cgi.rst:10 msgid "WWW" -msgstr "" +msgstr "WWW" #: ../../library/cgi.rst:10 msgid "server" @@ -759,23 +760,23 @@ msgstr "" #: ../../library/cgi.rst:10 ../../library/cgi.rst:389 ../../library/cgi.rst:462 msgid "CGI" -msgstr "" +msgstr "CGI" #: ../../library/cgi.rst:10 msgid "protocol" -msgstr "" +msgstr "protocolo" #: ../../library/cgi.rst:10 msgid "HTTP" -msgstr "" +msgstr "HTTP" #: ../../library/cgi.rst:10 msgid "MIME" -msgstr "" +msgstr "MIME" #: ../../library/cgi.rst:10 msgid "headers" -msgstr "" +msgstr "cabeçalhos" #: ../../library/cgi.rst:10 msgid "URL" @@ -791,4 +792,4 @@ msgstr "" #: ../../library/cgi.rst:462 msgid "debugging" -msgstr "" +msgstr "depuração" diff --git a/library/cgitb.po b/library/cgitb.po index f70482cbd..cc5e15033 100644 --- a/library/cgitb.po +++ b/library/cgitb.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marcos Wenneton Araújo , 2021 -# Henrique Junqueira, 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Henrique Junqueira, 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -84,8 +82,8 @@ msgstr "" #: ../../library/cgitb.rst:49 msgid "" "This function causes the :mod:`cgitb` module to take over the interpreter's " -"default handling for exceptions by setting the value of :attr:`sys." -"excepthook`." +"default handling for exceptions by setting the value " +"of :attr:`sys.excepthook`." msgstr "" "Esta função faz com que o módulo :mod:`cgitb` assumir o tratamento padrão do " "interpretador para exceções definindo o valor de :attr:`sys.excepthook`." @@ -146,35 +144,35 @@ msgid "" "a report in the browser, but don't log to a file). This can be used when " "you've caught an exception and want to report it using :mod:`cgitb`. The " "optional *info* argument should be a 3-tuple containing an exception type, " -"exception value, and traceback object, exactly like the tuple returned by :" -"func:`sys.exc_info`. If the *info* argument is not supplied, the current " -"exception is obtained from :func:`sys.exc_info`." +"exception value, and traceback object, exactly like the tuple returned " +"by :func:`sys.exc_info`. If the *info* argument is not supplied, the " +"current exception is obtained from :func:`sys.exc_info`." msgstr "" "Essa função trata uma exceção usando as configurações padrão (ou seja, " "mostra um relatório no navegador, mas não faz logon em um arquivo). Isso " -"pode ser usado quando você capturou uma exceção e deseja denunciá-la usando :" -"mod:`cgitb`. O argumento opcional *info* deve ser uma tupla de três, " +"pode ser usado quando você capturou uma exceção e deseja denunciá-la " +"usando :mod:`cgitb`. O argumento opcional *info* deve ser uma tupla de três, " "contendo um tipo de exceção, um valor de exceção e um objeto de traceback " "exatamente como a tupla retornada por :func:`sys.exc_info`. Se o argumento " -"*info* não for fornecido, a exceção atual será obtida em :func:`sys." -"exc_info`." +"*info* não for fornecido, a exceção atual será obtida " +"em :func:`sys.exc_info`." #: ../../library/cgitb.rst:13 msgid "CGI" -msgstr "" +msgstr "CGI" #: ../../library/cgitb.rst:13 msgid "exceptions" -msgstr "" +msgstr "exceções" #: ../../library/cgitb.rst:13 msgid "tracebacks" -msgstr "" +msgstr "tracebacks" #: ../../library/cgitb.rst:13 msgid "in CGI scripts" -msgstr "" +msgstr "em scripts CGI" #: ../../library/cgitb.rst:47 msgid "excepthook() (in module sys)" -msgstr "" +msgstr "excepthook() (no módulo sys)" diff --git a/library/chunk.po b/library/chunk.po index 74c9a2caf..d3b6fa4fa 100644 --- a/library/chunk.po +++ b/library/chunk.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -53,11 +51,11 @@ msgstr "" #: ../../library/chunk.rst:34 msgid "Offset" -msgstr "" +msgstr "Offset" #: ../../library/chunk.rst:34 msgid "Length" -msgstr "" +msgstr "Comprimento" #: ../../library/chunk.rst:34 msgid "Contents" @@ -85,7 +83,7 @@ msgstr "8" #: ../../library/chunk.rst:42 msgid "*n*" -msgstr "" +msgstr "*n*" #: ../../library/chunk.rst:42 msgid "Data bytes, where *n* is the size given in the preceding field" @@ -126,17 +124,17 @@ msgstr "" msgid "" "Class which represents a chunk. The *file* argument is expected to be a " "file-like object. An instance of this class is specifically allowed. The " -"only method that is needed is :meth:`~io.IOBase.read`. If the methods :meth:" -"`~io.IOBase.seek` and :meth:`~io.IOBase.tell` are present and don't raise an " -"exception, they are also used. If these methods are present and raise an " -"exception, they are expected to not have altered the object. If the " -"optional argument *align* is true, chunks are assumed to be aligned on 2-" -"byte boundaries. If *align* is false, no alignment is assumed. The default " -"value is true. If the optional argument *bigendian* is false, the chunk " -"size is assumed to be in little-endian order. This is needed for WAVE audio " -"files. The default value is true. If the optional argument *inclheader* is " -"true, the size given in the chunk header includes the size of the header. " -"The default value is false." +"only method that is needed is :meth:`~io.IOBase.read`. If the " +"methods :meth:`~io.IOBase.seek` and :meth:`~io.IOBase.tell` are present and " +"don't raise an exception, they are also used. If these methods are present " +"and raise an exception, they are expected to not have altered the object. " +"If the optional argument *align* is true, chunks are assumed to be aligned " +"on 2-byte boundaries. If *align* is false, no alignment is assumed. The " +"default value is true. If the optional argument *bigendian* is false, the " +"chunk size is assumed to be in little-endian order. This is needed for WAVE " +"audio files. The default value is true. If the optional argument " +"*inclheader* is true, the size given in the chunk header includes the size " +"of the header. The default value is false." msgstr "" #: ../../library/chunk.rst:78 @@ -160,9 +158,9 @@ msgstr "" #: ../../library/chunk.rst:97 msgid "" -"The remaining methods will raise :exc:`OSError` if called after the :meth:" -"`close` method has been called. Before Python 3.3, they used to raise :exc:" -"`IOError`, now an alias of :exc:`OSError`." +"The remaining methods will raise :exc:`OSError` if called after " +"the :meth:`close` method has been called. Before Python 3.3, they used to " +"raise :exc:`IOError`, now an alias of :exc:`OSError`." msgstr "" #: ../../library/chunk.rst:104 @@ -211,15 +209,15 @@ msgstr "" #: ../../library/chunk.rst:13 msgid "Audio Interchange File Format" -msgstr "" +msgstr "Audio Interchange File Format" #: ../../library/chunk.rst:13 msgid "AIFF" -msgstr "" +msgstr "AIFF" #: ../../library/chunk.rst:13 msgid "AIFF-C" -msgstr "" +msgstr "AIFF-C" #: ../../library/chunk.rst:13 msgid "Real Media File Format" @@ -227,4 +225,4 @@ msgstr "" #: ../../library/chunk.rst:13 msgid "RMFF" -msgstr "" +msgstr "RMFF" diff --git a/library/cmath.po b/library/cmath.po index b0d4ca09e..c086d8c29 100644 --- a/library/cmath.po +++ b/library/cmath.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# João Porfirio, 2021 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -36,11 +32,18 @@ msgid "" "This module provides access to mathematical functions for complex numbers. " "The functions in this module accept integers, floating-point numbers or " "complex numbers as arguments. They will also accept any Python object that " -"has either a :meth:`__complex__` or a :meth:`__float__` method: these " -"methods are used to convert the object to a complex or floating-point " -"number, respectively, and the function is then applied to the result of the " -"conversion." -msgstr "" +"has either a :meth:`~object.__complex__` or a :meth:`~object.__float__` " +"method: these methods are used to convert the object to a complex or " +"floating-point number, respectively, and the function is then applied to the " +"result of the conversion." +msgstr "" +"Este módulo fornece acesso a funções matemáticas para números complexos. As " +"funções neste módulo aceitam inteiros, números de ponto flutuante ou números " +"complexos como argumentos. Eles também aceitarão qualquer objeto Python que " +"tenha um método :meth:`~object.__complex__` ou :meth:`~object.__float__`: " +"esses métodos são usados para converter o objeto em um número complexo ou de " +"ponto flutuante, respectivamente, e a função é então aplicada ao resultado " +"da conversão." #: ../../library/cmath.rst:18 msgid "" @@ -52,6 +55,15 @@ msgid "" "axis we look at the sign of the imaginary part, while for a branch cut along " "the imaginary axis we look at the sign of the real part." msgstr "" +"Para funções que envolvem cortes de ramificação, temos o problema de decidir " +"como definir essas funções no próprio corte. Seguindo o artigo de Kahan " +"intitulado \"Branch cuts for complex elementary functions\" (em tradução " +"livre, \"Cortes de ramificação para funções complexas elementares\"), bem " +"como o Anexo G do C99 e padrões C posteriores, usamos o sinal de zero para " +"distinguir um lado do outro no corte de ramificação: para um corte de " +"ramificação ao longo (de uma porção) do eixo real olhamos para o sinal da " +"parte imaginária, enquanto para um corte de ramificação ao longo do eixo " +"imaginário olhamos para o sinal da parte real." #: ../../library/cmath.rst:26 msgid "" @@ -60,22 +72,28 @@ msgid "" "though it lies *below* the branch cut, and so gives a result on the negative " "imaginary axis::" msgstr "" +"Por exemplo, a função :func:`cmath.sqrt` tem um corte de ramificação ao " +"longo do eixo real negativo. Um argumento de ``complex(-2.0, -0.0)`` é " +"tratado como se estivesse *abaixo* do corte de ramificação, e assim dá um " +"resultado no eixo imaginário negativo::" #: ../../library/cmath.rst:34 msgid "" "But an argument of ``complex(-2.0, 0.0)`` is treated as though it lies above " "the branch cut::" msgstr "" +"Mas um argumento de ``complex(-2.0, 0.0)`` é tratado como se estivesse acima " +"do corte de ramificação::" #: ../../library/cmath.rst:42 msgid "Conversions to and from polar coordinates" -msgstr "" +msgstr "Conversões de e para coordenadas polares" #: ../../library/cmath.rst:44 msgid "" "A Python complex number ``z`` is stored internally using *rectangular* or " -"*Cartesian* coordinates. It is completely determined by its *real part* ``z." -"real`` and its *imaginary part* ``z.imag``. In other words::" +"*Cartesian* coordinates. It is completely determined by its *real part* " +"``z.real`` and its *imaginary part* ``z.imag``. In other words::" msgstr "" #: ../../library/cmath.rst:51 @@ -87,12 +105,19 @@ msgid "" "radians, from the positive x-axis to the line segment that joins the origin " "to *z*." msgstr "" +"*Coordenadas polares* fornecem uma forma alternativa de representar um " +"número complexo. Em coordenadas polares, um número complexo *z* é definido " +"pelo módulo *r* e pelo ângulo de fase *phi*. O módulo *r* é a distância de " +"*z* à origem, enquanto a fase *phi* é o ângulo anti-horário, medido em " +"radianos, do eixo x positivo ao segmento de reta que une a origem a *z*." #: ../../library/cmath.rst:58 msgid "" "The following functions can be used to convert from the native rectangular " "coordinates to polar coordinates and back." msgstr "" +"As funções a seguir podem ser usadas para converter coordenadas retangulares " +"nativas em coordenadas polares e vice-versa." #: ../../library/cmath.rst:63 msgid "" @@ -102,6 +127,11 @@ msgid "" "along the negative real axis. The sign of the result is the same as the " "sign of ``x.imag``, even when ``x.imag`` is zero::" msgstr "" +"Retorna a fase de *x* (também conhecido como *argumento* de *x*), como um " +"ponto flutuante. ``phase(x)`` é equivalente a ``math.atan2(x.imag, " +"x.real)``. O resultado está no intervalo [-\\ *π*, *π*], e o corte de " +"ramificação para esta operação está ao longo do eixo real negativo. O sinal " +"do resultado é igual ao sinal de ``x.imag``, mesmo quando ``x.imag`` é zero::" #: ../../library/cmath.rst:77 msgid "" @@ -109,6 +139,9 @@ msgid "" "the built-in :func:`abs` function. There is no separate :mod:`cmath` module " "function for this operation." msgstr "" +"O módulo (valor absoluto) de um número complexo *x* pode ser calculado " +"usando a função embutida :func:`abs`. Não há função do módulo :mod:`cmath` " +"separada para esta operação." #: ../../library/cmath.rst:84 msgid "" @@ -116,6 +149,9 @@ msgid "" "phi)`` where *r* is the modulus of *x* and phi is the phase of *x*. " "``polar(x)`` is equivalent to ``(abs(x), phase(x))``." msgstr "" +"Retorna a representação de *x* em coordenadas polares. Retorna um par ``(r, " +"phi)`` onde *r* é o módulo de *x* e phi é a fase de *x*. ``polar(x)`` é " +"equivalente a ``(abs(x), phase(x))``." #: ../../library/cmath.rst:92 msgid "" @@ -132,6 +168,7 @@ msgid "" "Return *e* raised to the power *x*, where *e* is the base of natural " "logarithms." msgstr "" +"Retorna *e* elevado à potência *x*, onde *e* é a base de logaritmos naturais." #: ../../library/cmath.rst:107 msgid "" @@ -139,17 +176,24 @@ msgid "" "specified, returns the natural logarithm of *x*. There is one branch cut, " "from 0 along the negative real axis to -∞." msgstr "" +"Retorna o logaritmo de *x* para a *base* fornecida. Se a *base* não for " +"especificada, retorna o logaritmo natural de *x*. Há um corte de " +"ramificação, de 0 ao longo do eixo real negativo até -∞." #: ../../library/cmath.rst:114 msgid "" -"Return the base-10 logarithm of *x*. This has the same branch cut as :func:" -"`log`." +"Return the base-10 logarithm of *x*. This has the same branch cut " +"as :func:`log`." msgstr "" +"Retorna o logaritmo de *x* na base 10. Este tem o mesmo corte de ramificação " +"que :func:`log`." #: ../../library/cmath.rst:120 msgid "" "Return the square root of *x*. This has the same branch cut as :func:`log`." msgstr "" +"Retorna a raiz quadrada de *x*. Este tem o mesmo corte de ramificação " +"que :func:`log`." #: ../../library/cmath.rst:124 msgid "Trigonometric functions" @@ -161,11 +205,16 @@ msgid "" "from 1 along the real axis to ∞. The other extends left from -1 along the " "real axis to -∞." msgstr "" +"Retorna o arco cosseno de *x*. Existem dois cortes de ramificação: um se " +"estende desde 1 ao longo do eixo real até ∞. O outro se estende para a " +"esquerda de -1 ao longo do eixo real até -∞." #: ../../library/cmath.rst:135 msgid "" "Return the arc sine of *x*. This has the same branch cuts as :func:`acos`." msgstr "" +"Retorna o arco seno de *x*. Tem os mesmos cortes de ramificação " +"que :func:`acos`." #: ../../library/cmath.rst:140 msgid "" @@ -173,18 +222,21 @@ msgid "" "``1j`` along the imaginary axis to ``∞j``. The other extends from ``-1j`` " "along the imaginary axis to ``-∞j``." msgstr "" +"Retorna o arco tangente de *x*. Existem dois cortes de ramificação: Um se " +"estende de ``1j`` ao longo do eixo imaginário até ``∞j``. O outro se estende " +"de ``-1j`` ao longo do eixo imaginário até ``-∞j``." #: ../../library/cmath.rst:147 msgid "Return the cosine of *x*." -msgstr "" +msgstr "Retorna o cosseno de *x*." #: ../../library/cmath.rst:152 msgid "Return the sine of *x*." -msgstr "Devolve o seno de *x*." +msgstr "Retorna o seno de *x*." #: ../../library/cmath.rst:157 msgid "Return the tangent of *x*." -msgstr "" +msgstr "Retorna a tangente de *x*." #: ../../library/cmath.rst:161 msgid "Hyperbolic functions" @@ -195,6 +247,8 @@ msgid "" "Return the inverse hyperbolic cosine of *x*. There is one branch cut, " "extending left from 1 along the real axis to -∞." msgstr "" +"Retorna o cosseno hiperbólico inverso de *x*. Há um corte de ramificação, " +"estendendo-se para a esquerda de 1 ao longo do eixo real até -∞." #: ../../library/cmath.rst:171 msgid "" @@ -202,6 +256,9 @@ msgid "" "extends from ``1j`` along the imaginary axis to ``∞j``. The other extends " "from ``-1j`` along the imaginary axis to ``-∞j``." msgstr "" +"Retorna o seno hiperbólico inverso de *x*. Existem dois cortes de " +"ramificação: Um se estende de ``1j`` ao longo do eixo imaginário até ``∞j``. " +"O outro se estende de ``-1j`` ao longo do eixo imaginário até ``-∞j``." #: ../../library/cmath.rst:178 msgid "" @@ -209,6 +266,9 @@ msgid "" "extends from ``1`` along the real axis to ``∞``. The other extends from " "``-1`` along the real axis to ``-∞``." msgstr "" +"Retorna a tangente hiperbólica inversa de *x*. Existem dois cortes de " +"ramificação: Um se estende de ``1`` ao longo do eixo real até ``∞``. O outro " +"se estende de ``-1`` ao longo do eixo real até ``-∞``." #: ../../library/cmath.rst:185 msgid "Return the hyperbolic cosine of *x*." @@ -224,25 +284,31 @@ msgstr "Retorna a tangente hiperbólica de *x*." #: ../../library/cmath.rst:199 msgid "Classification functions" -msgstr "" +msgstr "Funções de classificação" #: ../../library/cmath.rst:203 msgid "" "Return ``True`` if both the real and imaginary parts of *x* are finite, and " "``False`` otherwise." msgstr "" +"Retorna ``True`` se ambas as partes real e imaginária de *x* forem finitas, " +"e ``False`` caso contrário." #: ../../library/cmath.rst:211 msgid "" "Return ``True`` if either the real or the imaginary part of *x* is an " "infinity, and ``False`` otherwise." msgstr "" +"Retorna ``True`` se ou a parte real ou a imaginária de *x* for infinita, e " +"``False`` caso contrário." #: ../../library/cmath.rst:217 msgid "" "Return ``True`` if either the real or the imaginary part of *x* is a NaN, " "and ``False`` otherwise." msgstr "" +"Retorna ``True`` se ou a parte real ou a imaginária de *x* for NaN, e " +"``False`` caso contrário." #: ../../library/cmath.rst:223 msgid "" @@ -269,7 +335,7 @@ msgid "" "within about 9 decimal digits. *rel_tol* must be greater than zero." msgstr "" "*rel_tol* é a tolerância relativa -- é a diferença máxima permitida entre " -"*a* e *b*, em relação ao maior valor absoluto de *a* e *b*. Por exemplo, " +"*a* e *b*, em relação ao maior valor absoluto de *a* ou *b*. Por exemplo, " "para definir uma tolerância de 5%, passe ``rel_tol=0.05``. A tolerância " "padrão é ``1e-09``, o que garante que os dois valores sejam iguais em cerca " "de 9 dígitos decimais. *rel_tol* deve ser maior que zero." @@ -312,37 +378,43 @@ msgstr "Constantes" #: ../../library/cmath.rst:258 msgid "The mathematical constant *π*, as a float." -msgstr "" +msgstr "A constante matemática *π*, como um ponto flutuante." #: ../../library/cmath.rst:263 msgid "The mathematical constant *e*, as a float." -msgstr "" +msgstr "A constante matemática *e*, como um ponto flutuante." #: ../../library/cmath.rst:268 msgid "The mathematical constant *τ*, as a float." -msgstr "" +msgstr "A constante matemática *τ*, como um ponto flutuante." #: ../../library/cmath.rst:275 msgid "Floating-point positive infinity. Equivalent to ``float('inf')``." -msgstr "" +msgstr "Infinito positivo de ponto flutuante. Equivale a ``float('inf')``." #: ../../library/cmath.rst:282 msgid "" "Complex number with zero real part and positive infinity imaginary part. " "Equivalent to ``complex(0.0, float('inf'))``." msgstr "" +"Número complexo com parte real zero e parte imaginária infinita positiva. " +"Equivale a ``complex(0.0, float('inf'))``." #: ../../library/cmath.rst:290 msgid "" "A floating-point \"not a number\" (NaN) value. Equivalent to " "``float('nan')``." msgstr "" +"Um valor de ponto flutuante \"não um número\" (NaN). Equivale a " +"``float('nan')``." #: ../../library/cmath.rst:298 msgid "" "Complex number with zero real part and NaN imaginary part. Equivalent to " "``complex(0.0, float('nan'))``." msgstr "" +"Número complexo com parte real zero e parte imaginária NaN. Equivale a " +"``complex(0.0, float('nan'))``." #: ../../library/cmath.rst:306 msgid "" @@ -350,11 +422,18 @@ msgid "" "in module :mod:`math`. The reason for having two modules is that some users " "aren't interested in complex numbers, and perhaps don't even know what they " "are. They would rather have ``math.sqrt(-1)`` raise an exception than " -"return a complex number. Also note that the functions defined in :mod:" -"`cmath` always return a complex number, even if the answer can be expressed " -"as a real number (in which case the complex number has an imaginary part of " -"zero)." -msgstr "" +"return a complex number. Also note that the functions defined " +"in :mod:`cmath` always return a complex number, even if the answer can be " +"expressed as a real number (in which case the complex number has an " +"imaginary part of zero)." +msgstr "" +"Observe que a seleção de funções é semelhante, mas não idêntica, àquela no " +"módulo :mod:`math`. A razão para ter dois módulos é que alguns usuários não " +"estão interessados em números complexos e talvez nem saibam o que são. Eles " +"preferem que ``math.sqrt(-1)`` gere uma exceção do que retorne um número " +"complexo. Observe também que as funções definidas em :mod:`cmath` sempre " +"retornam um número complexo, mesmo que a resposta possa ser expressa como um " +"número real (nesse caso o número complexo tem uma parte imaginária de zero)." #: ../../library/cmath.rst:314 msgid "" @@ -366,6 +445,13 @@ msgid "" "choice of branch cuts for numerical purposes, a good reference should be the " "following:" msgstr "" +"Uma nota sobre cortes de ramificação: são curvas ao longo das quais a função " +"dada não é contínua. Eles são um recurso necessário de muitas funções " +"complexas. Presume-se que se você precisar calcular com funções complexas, " +"você entenderá sobre cortes de ramificação. Consulte quase qualquer livro " +"(não muito elementar) sobre variáveis complexas para obter esclarecimento. " +"Para informações sobre a escolha adequada dos cortes de ramificação para " +"fins numéricos, uma boa referência deve ser a seguinte:" #: ../../library/cmath.rst:324 msgid "" @@ -373,6 +459,9 @@ msgid "" "nothing's sign bit. In Iserles, A., and Powell, M. (eds.), The state of the " "art in numerical analysis. Clarendon Press (1987) pp165--211." msgstr "" +"Kahan, W: Branch cuts for complex elementary functions; or, Much ado about " +"nothing's sign bit. Em Iserles, A. e Powell, M. (eds.), The state of the " +"art in numerical analysis. Clarendon Press (1987) pp165--211." #: ../../library/cmath.rst:304 msgid "module" diff --git a/library/cmd.po b/library/cmd.po index 04234666a..0b5c32fa6 100644 --- a/library/cmd.po +++ b/library/cmd.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,6 +39,10 @@ msgid "" "administrative tools, and prototypes that will later be wrapped in a more " "sophisticated interface." msgstr "" +"A classe :class:`Cmd` fornece um framework simples para escrever " +"interpretadores de comando orientados a linhas. Eles são frequentemente " +"úteis para melhorar testes, ferramentas administrativas e protótipos que " +"mais tarde serão encapsulados em uma interface mais sofisticada." #: ../../library/cmd.rst:20 msgid "" @@ -50,29 +52,45 @@ msgid "" "yourself in order to inherit :class:`Cmd`'s methods and encapsulate action " "methods." msgstr "" +"Uma instância de :class:`Cmd` ou instância de sua subclasse é um framework " +"de interpretador orientado a linhas. Não há um bom motivo para " +"instanciar :class:`Cmd` em si; em vez disso, ele é útil como uma superclasse " +"de uma classe de interpretador que você mesmo define para herdar os métodos " +"de :class:`Cmd` e encapsular métodos de ação." #: ../../library/cmd.rst:25 msgid "" "The optional argument *completekey* is the :mod:`readline` name of a " -"completion key; it defaults to :kbd:`Tab`. If *completekey* is not :const:" -"`None` and :mod:`readline` is available, command completion is done " -"automatically." +"completion key; it defaults to :kbd:`Tab`. If *completekey* is " +"not :const:`None` and :mod:`readline` is available, command completion is " +"done automatically." msgstr "" +"O argumento opcional *completekey* é o nome :mod:`readline` de uma chave de " +"conclusão; o padrão é :kbd:`Tab`. Se *completekey* não for :const:`None` " +"e :mod:`readline` estiver disponível, a conclusão do comando será feita " +"automaticamente." #: ../../library/cmd.rst:29 msgid "" "The optional arguments *stdin* and *stdout* specify the input and output " "file objects that the Cmd instance or subclass instance will use for input " -"and output. If not specified, they will default to :data:`sys.stdin` and :" -"data:`sys.stdout`." +"and output. If not specified, they will default to :data:`sys.stdin` " +"and :data:`sys.stdout`." msgstr "" +"Os argumentos opcionais *stdin* e *stdout* especificam os objetos arquivo de " +"entrada e saída que a instância Cmd ou instância de sua subclasse usará para " +"entrada e saída. Se não forem especificados, eles serão padronizados " +"para :data:`sys.stdin` e :data:`sys.stdout`." #: ../../library/cmd.rst:34 msgid "" -"If you want a given *stdin* to be used, make sure to set the instance's :" -"attr:`use_rawinput` attribute to ``False``, otherwise *stdin* will be " -"ignored." +"If you want a given *stdin* to be used, make sure to set the " +"instance's :attr:`use_rawinput` attribute to ``False``, otherwise *stdin* " +"will be ignored." msgstr "" +"Se você quiser que um determinado *stdin* seja usado, certifique-se de " +"definir o atributo :attr:`use_rawinput` da instância como ``False``, caso " +"contrário, *stdin* será ignorado." #: ../../library/cmd.rst:42 msgid "Cmd Objects" @@ -80,7 +98,7 @@ msgstr "Objetos Cmd" #: ../../library/cmd.rst:44 msgid "A :class:`Cmd` instance has the following methods:" -msgstr "" +msgstr "Uma instância :class:`Cmd` tem os seguintes métodos:" #: ../../library/cmd.rst:49 msgid "" @@ -88,112 +106,174 @@ msgid "" "received input, and dispatch to action methods, passing them the remainder " "of the line as argument." msgstr "" +"Emite um prompt repetidamente, aceite a entrada, analise um prefixo inicial " +"da entrada recebida e despache para métodos de ação, passando a eles o " +"restante da linha como argumento." #: ../../library/cmd.rst:53 msgid "" "The optional argument is a banner or intro string to be issued before the " "first prompt (this overrides the :attr:`intro` class attribute)." msgstr "" +"O argumento opcional é um banner ou uma string de introdução a ser emitida " +"antes do primeiro prompt (isso substitui o atributo de classe :attr:`intro`)." #: ../../library/cmd.rst:56 msgid "" -"If the :mod:`readline` module is loaded, input will automatically inherit :" -"program:`bash`\\ -like history-list editing (e.g. :kbd:`Control-P` scrolls " -"back to the last command, :kbd:`Control-N` forward to the next one, :kbd:" -"`Control-F` moves the cursor to the right non-destructively, :kbd:`Control-" -"B` moves the cursor to the left non-destructively, etc.)." +"If the :mod:`readline` module is loaded, input will automatically " +"inherit :program:`bash`\\ -like history-list editing (e.g. :kbd:`Control-P` " +"scrolls back to the last command, :kbd:`Control-N` forward to the next " +"one, :kbd:`Control-F` moves the cursor to the right non-" +"destructively, :kbd:`Control-B` moves the cursor to the left non-" +"destructively, etc.)." msgstr "" +"Se o módulo :mod:`readline` for carregado, a entrada vai herdar " +"automaticamente a edição de lista de histórico semelhante a :program:`bash` " +"(por exemplo, :kbd:`Control-P` retorna ao último comando, :kbd:`Control-N` " +"avança para o próximo, :kbd:`Control-F` move o cursor para a direita de " +"forma não destrutiva, :kbd:`Control-B` move o cursor para a esquerda de " +"forma não destrutiva, etc.)." #: ../../library/cmd.rst:62 msgid "An end-of-file on input is passed back as the string ``'EOF'``." -msgstr "" +msgstr "Um fim de arquivo na entrada é retornado como a string ``'EOF'``." #: ../../library/cmd.rst:68 msgid "" "An interpreter instance will recognize a command name ``foo`` if and only if " -"it has a method :meth:`do_foo`. As a special case, a line beginning with " +"it has a method :meth:`!do_foo`. As a special case, a line beginning with " "the character ``'?'`` is dispatched to the method :meth:`do_help`. As " "another special case, a line beginning with the character ``'!'`` is " -"dispatched to the method :meth:`do_shell` (if such a method is defined)." +"dispatched to the method :meth:`!do_shell` (if such a method is defined)." msgstr "" +"Uma instância de interpretador reconhecerá um comando chamado ``foo`` se e " +"somente se ele tiver um método :meth:`!do_foo`. Como um caso especial, uma " +"linha começando com o caractere ``'?'`` é despachada para o " +"método :meth:`do_help`. Como outro caso especial, uma linha começando com o " +"caractere ``'!'`` é despachada para o método :meth:`!do_shell` (se tal " +"método for definido)." #: ../../library/cmd.rst:74 msgid "" "This method will return when the :meth:`postcmd` method returns a true " "value. The *stop* argument to :meth:`postcmd` is the return value from the " -"command's corresponding :meth:`do_\\*` method." +"command's corresponding :meth:`!do_\\*` method." msgstr "" +"Este método retornará quando o método :meth:`postcmd` retornar um valor " +"true. O argumento *stop* para :meth:`postcmd` é o valor de retorno do " +"método :meth:`!do_\\*` correspondente do comando." #: ../../library/cmd.rst:78 msgid "" "If completion is enabled, completing commands will be done automatically, " -"and completing of commands args is done by calling :meth:`complete_foo` with " -"arguments *text*, *line*, *begidx*, and *endidx*. *text* is the string " +"and completing of commands args is done by calling :meth:`!complete_foo` " +"with arguments *text*, *line*, *begidx*, and *endidx*. *text* is the string " "prefix we are attempting to match: all returned matches must begin with it. " "*line* is the current input line with leading whitespace removed, *begidx* " "and *endidx* are the beginning and ending indexes of the prefix text, which " "could be used to provide different completion depending upon which position " "the argument is in." msgstr "" - -#: ../../library/cmd.rst:86 -msgid "" -"All subclasses of :class:`Cmd` inherit a predefined :meth:`do_help`. This " -"method, called with an argument ``'bar'``, invokes the corresponding method :" -"meth:`help_bar`, and if that is not present, prints the docstring of :meth:" -"`do_bar`, if available. With no argument, :meth:`do_help` lists all " -"available help topics (that is, all commands with corresponding :meth:" -"`help_\\*` methods or commands that have docstrings), and also lists any " +"Se o autocompletamento estiver habilitado, os comandos serão completados " +"automaticamente, e o autocompletamento dos argumentos dos comandos será " +"feito chamando :meth:`!complete_foo` com os argumentos *text*, *line*, " +"*begidx* e *endidx*. *text* é o prefixo da string que estamos tentando " +"corresponder: todas as correspondências retornadas devem começar com ele. " +"*line* é a linha de entrada atual com os espaços em branco iniciais " +"removidos, *begidx* e *endidx* são os índices inicial e final do texto de " +"prefixo, que podem ser usados para fornecer diferentes autocompletamentos " +"dependendo da posição em que o argumento está." + +#: ../../library/cmd.rst:89 +msgid "" +"All subclasses of :class:`Cmd` inherit a predefined :meth:`!do_help`. This " +"method, called with an argument ``'bar'``, invokes the corresponding " +"method :meth:`!help_bar`, and if that is not present, prints the docstring " +"of :meth:`!do_bar`, if available. With no argument, :meth:`!do_help` lists " +"all available help topics (that is, all commands with corresponding :meth:`!" +"help_\\*` methods or commands that have docstrings), and also lists any " "undocumented commands." msgstr "" +"Todas as subclasses de :class:`Cmd` herdam um :meth:`!do_help` predefinido. " +"Este método, chamado com um argumento ``'bar'``, invoca o método " +"correspondente :meth:`!help_bar`, e se este não estiver presente, imprime a " +"docstring de :meth:`!do_bar`, se disponível. Sem argumento, :meth:`!do_help` " +"lista todos os tópicos de ajuda disponíveis (isto é, todos os comandos com " +"métodos :meth:`!help_\\*` correspondentes ou comandos que têm docstrings), e " +"também lista quaisquer comandos não documentados." -#: ../../library/cmd.rst:97 +#: ../../library/cmd.rst:100 msgid "" "Interpret the argument as though it had been typed in response to the " -"prompt. This may be overridden, but should not normally need to be; see the :" -"meth:`precmd` and :meth:`postcmd` methods for useful execution hooks. The " -"return value is a flag indicating whether interpretation of commands by the " -"interpreter should stop. If there is a :meth:`do_\\*` method for the " +"prompt. This may be overridden, but should not normally need to be; see " +"the :meth:`precmd` and :meth:`postcmd` methods for useful execution hooks. " +"The return value is a flag indicating whether interpretation of commands by " +"the interpreter should stop. If there is a :meth:`!do_\\*` method for the " "command *str*, the return value of that method is returned, otherwise the " "return value from the :meth:`default` method is returned." msgstr "" +"Interpreta o argumento como se tivesse sido digitado em resposta ao prompt. " +"Isso pode ser substituído, mas normalmente não precisa ser; veja os " +"métodos :meth:`precmd` e :meth:`postcmd` para ganchos de execução úteis. O " +"valor de retorno é um sinalizador que indica se a interpretação de comandos " +"pelo interpretador deve parar. Se houver um método :meth:`!do_\\*` para o " +"comando *str*, o valor de retorno desse método é retornado, caso contrário, " +"o valor de retorno do método :meth:`default` é retornado." -#: ../../library/cmd.rst:108 +#: ../../library/cmd.rst:111 msgid "" "Method called when an empty line is entered in response to the prompt. If " "this method is not overridden, it repeats the last nonempty command entered." msgstr "" +"Método chamado quando uma linha vazia é inserida em resposta ao prompt. Se " +"esse método não for substituído, ele repete o último comando não vazio " +"inserido." -#: ../../library/cmd.rst:114 +#: ../../library/cmd.rst:117 msgid "" "Method called on an input line when the command prefix is not recognized. If " "this method is not overridden, it prints an error message and returns." msgstr "" +"Método chamado em uma linha de entrada quando o prefixo do comando não é " +"reconhecido. Se esse método não for substituído, ele imprime uma mensagem de " +"erro e retorna." -#: ../../library/cmd.rst:120 +#: ../../library/cmd.rst:123 msgid "" -"Method called to complete an input line when no command-specific :meth:" -"`complete_\\*` method is available. By default, it returns an empty list." +"Method called to complete an input line when no command-specific :meth:`!" +"complete_\\*` method is available. By default, it returns an empty list." msgstr "" +"Método chamado para completar uma linha de entrada quando nenhum " +"método :meth:`!complete_\\*` especificado pelo comando está disponível. Por " +"padrão, ele retorna uma lista vazia." -#: ../../library/cmd.rst:126 +#: ../../library/cmd.rst:129 msgid "" "Method called to display a list of strings as a compact set of columns. Each " "column is only as wide as necessary. Columns are separated by two spaces for " "readability." msgstr "" +"Método chamado para exibir uma lista de strings como um conjunto compacto de " +"colunas. Cada coluna tem apenas a largura necessária. As colunas são " +"separadas por dois espaços para legibilidade." -#: ../../library/cmd.rst:133 +#: ../../library/cmd.rst:136 msgid "" "Hook method executed just before the command line *line* is interpreted, but " -"after the input prompt is generated and issued. This method is a stub in :" -"class:`Cmd`; it exists to be overridden by subclasses. The return value is " -"used as the command which will be executed by the :meth:`onecmd` method; " +"after the input prompt is generated and issued. This method is a stub " +"in :class:`Cmd`; it exists to be overridden by subclasses. The return value " +"is used as the command which will be executed by the :meth:`onecmd` method; " "the :meth:`precmd` implementation may re-write the command or simply return " "*line* unchanged." msgstr "" +"Método gancho executado logo antes da linha de comando *line* ser " +"interpretada, mas depois que o prompt de entrada é gerado e emitido. Este " +"método é um stub em :class:`Cmd`; ele existe para ser substituído por " +"subclasses. O valor de retorno é usado como o comando que será executado " +"pelo método :meth:`onecmd`; a implementação :meth:`precmd` pode reescrever o " +"comando ou simplesmente retornar *line* inalterado." -#: ../../library/cmd.rst:143 +#: ../../library/cmd.rst:146 msgid "" "Hook method executed just after a command dispatch is finished. This method " "is a stub in :class:`Cmd`; it exists to be overridden by subclasses. *line* " @@ -203,132 +283,189 @@ msgid "" "this method will be used as the new value for the internal flag which " "corresponds to *stop*; returning false will cause interpretation to continue." msgstr "" +"Método gancho executado logo após o término do despacho de um comando. Este " +"método é um stub em :class:`Cmd`; ele existe para ser substituído por " +"subclasses. *line* é a linha de comando que foi executada, e *stop* é um " +"sinalizador que indica se a execução será encerrada após a chamada " +"para :meth:`postcmd`; este será o valor de retorno do método :meth:`onecmd`. " +"O valor de retorno deste método será usado como o novo valor para o " +"sinalizador interno que corresponde a *stop*; retornar false fará com que a " +"interpretação continue." -#: ../../library/cmd.rst:154 +#: ../../library/cmd.rst:157 msgid "" "Hook method executed once when :meth:`cmdloop` is called. This method is a " "stub in :class:`Cmd`; it exists to be overridden by subclasses." msgstr "" +"Método gancho executado uma vez quando :meth:`cmdloop` é chamado. Este " +"método é um stub em :class:`Cmd`; ele existe para ser substituído por " +"subclasses." -#: ../../library/cmd.rst:160 +#: ../../library/cmd.rst:163 msgid "" "Hook method executed once when :meth:`cmdloop` is about to return. This " "method is a stub in :class:`Cmd`; it exists to be overridden by subclasses." msgstr "" +"Método gancho executado uma vez quando :meth:`cmdloop` está para ser " +"retornado. Este método é um stub em :class:`Cmd`; ele existe para ser " +"substituído por subclasses." -#: ../../library/cmd.rst:164 +#: ../../library/cmd.rst:167 msgid "" "Instances of :class:`Cmd` subclasses have some public instance variables:" msgstr "" +"Instâncias das subclasses :class:`Cmd` têm algumas variáveis de instância " +"públicas:" -#: ../../library/cmd.rst:168 +#: ../../library/cmd.rst:171 msgid "The prompt issued to solicit input." -msgstr "" +msgstr "O prompt emitido para solicitar informações." -#: ../../library/cmd.rst:173 +#: ../../library/cmd.rst:176 msgid "The string of characters accepted for the command prefix." -msgstr "" +msgstr "A sequência de caracteres aceita para o prefixo do comando." -#: ../../library/cmd.rst:178 +#: ../../library/cmd.rst:181 msgid "The last nonempty command prefix seen." -msgstr "" +msgstr "O último prefixo de comando não vazio visto." -#: ../../library/cmd.rst:183 +#: ../../library/cmd.rst:186 msgid "" -"A list of queued input lines. The cmdqueue list is checked in :meth:" -"`cmdloop` when new input is needed; if it is nonempty, its elements will be " -"processed in order, as if entered at the prompt." +"A list of queued input lines. The cmdqueue list is checked " +"in :meth:`cmdloop` when new input is needed; if it is nonempty, its elements " +"will be processed in order, as if entered at the prompt." msgstr "" +"Uma lista de linhas de entrada enfileiradas. A lista cmdqueue é verificada " +"em :meth:`cmdloop` quando uma nova entrada é necessária; se não estiver " +"vazia, seus elementos serão processados em ordem, como se tivessem sido " +"inseridos no prompt." -#: ../../library/cmd.rst:190 +#: ../../library/cmd.rst:193 msgid "" -"A string to issue as an intro or banner. May be overridden by giving the :" -"meth:`cmdloop` method an argument." +"A string to issue as an intro or banner. May be overridden by giving " +"the :meth:`cmdloop` method an argument." msgstr "" +"Uma string para emitir como uma introdução ou banner. Pode ser substituída " +"dando ao método :meth:`cmdloop` um argumento." -#: ../../library/cmd.rst:196 +#: ../../library/cmd.rst:199 msgid "" "The header to issue if the help output has a section for documented commands." msgstr "" +"O cabeçalho a ser emitido se a saída de ajuda tiver uma seção para comandos " +"documentados." -#: ../../library/cmd.rst:201 +#: ../../library/cmd.rst:204 msgid "" "The header to issue if the help output has a section for miscellaneous help " -"topics (that is, there are :meth:`help_\\*` methods without corresponding :" -"meth:`do_\\*` methods)." +"topics (that is, there are :meth:`!help_\\*` methods without " +"corresponding :meth:`!do_\\*` methods)." msgstr "" +"O cabeçalho a ser emitido se a saída de ajuda tiver uma seção para tópicos " +"de ajuda diversos (ou seja, há métodos :meth:`!help_\\*` sem métodos :meth:`!" +"do_\\*` correspondentes)." -#: ../../library/cmd.rst:208 +#: ../../library/cmd.rst:211 msgid "" "The header to issue if the help output has a section for undocumented " -"commands (that is, there are :meth:`do_\\*` methods without corresponding :" -"meth:`help_\\*` methods)." +"commands (that is, there are :meth:`!do_\\*` methods without " +"corresponding :meth:`!help_\\*` methods)." msgstr "" +"O cabeçalho a ser emitido se a saída de ajuda tiver uma seção para comandos " +"não documentados (ou seja, houver métodos :meth:`!do_\\*` sem " +"métodos :meth:`!help_\\*` correspondentes)." -#: ../../library/cmd.rst:215 +#: ../../library/cmd.rst:218 msgid "" "The character used to draw separator lines under the help-message headers. " "If empty, no ruler line is drawn. It defaults to ``'='``." msgstr "" +"O caractere usado para desenhar linhas separadoras sob os cabeçalhos de " +"mensagem de ajuda. Se estiver vazio, nenhuma linha de régua será desenhada. " +"O padrão é ``'='``." -#: ../../library/cmd.rst:221 +#: ../../library/cmd.rst:224 msgid "" "A flag, defaulting to true. If true, :meth:`cmdloop` uses :func:`input` to " -"display a prompt and read the next command; if false, :meth:`sys.stdout." -"write` and :meth:`sys.stdin.readline` are used. (This means that by " +"display a prompt and read the next command; if " +"false, :data:`sys.stdout.write() ` " +"and :data:`sys.stdin.readline() ` are used. (This means that by " "importing :mod:`readline`, on systems that support it, the interpreter will " "automatically support :program:`Emacs`\\ -like line editing and command-" "history keystrokes.)" msgstr "" +"Um sinalizador, com padrão true. Se true, :meth:`cmdloop` usa :func:`input` " +"para exibir um prompt e ler o próximo comando; se " +"false, :data:`sys.stdout.write() ` e :data:`sys.stdin.readline() " +"` são usados. (Isso significa que ao importar :mod:`readline`, em " +"sistemas que o suportam, o interpretador suportará automaticamente edição de " +"linha no estilo :program:`Emacs` e pressionamentos de teclas de histórico de " +"comando.)" -#: ../../library/cmd.rst:231 +#: ../../library/cmd.rst:234 msgid "Cmd Example" msgstr "Exemplo do Cmd" -#: ../../library/cmd.rst:235 +#: ../../library/cmd.rst:238 msgid "" "The :mod:`cmd` module is mainly useful for building custom shells that let a " "user work with a program interactively." msgstr "" +"O módulo :mod:`cmd` é útil principalmente para criar shells personalizados " +"que permitem ao usuário trabalhar com um programa interativamente." -#: ../../library/cmd.rst:238 +#: ../../library/cmd.rst:241 msgid "" "This section presents a simple example of how to build a shell around a few " "of the commands in the :mod:`turtle` module." msgstr "" +"Esta seção apresenta um exemplo simples de como construir um shell em torno " +"de alguns dos comandos do módulo :mod:`turtle`." -#: ../../library/cmd.rst:241 +#: ../../library/cmd.rst:244 msgid "" -"Basic turtle commands such as :meth:`~turtle.forward` are added to a :class:" -"`Cmd` subclass with method named :meth:`do_forward`. The argument is " -"converted to a number and dispatched to the turtle module. The docstring is " -"used in the help utility provided by the shell." +"Basic turtle commands such as :meth:`~turtle.forward` are added to " +"a :class:`Cmd` subclass with method named :meth:`!do_forward`. The argument " +"is converted to a number and dispatched to the turtle module. The docstring " +"is used in the help utility provided by the shell." msgstr "" +"Comandos básicos do turtle, como :meth:`~turtle.forward`, são adicionados a " +"uma subclasse de :class:`Cmd` com o método chamado :meth:`!do_forward`. O " +"argumento é convertido em um número e despachado para o módulo turtle. A " +"docstring é usada no utilitário de ajuda fornecido pelo shell." -#: ../../library/cmd.rst:246 +#: ../../library/cmd.rst:249 msgid "" "The example also includes a basic record and playback facility implemented " "with the :meth:`~Cmd.precmd` method which is responsible for converting the " -"input to lowercase and writing the commands to a file. The :meth:" -"`do_playback` method reads the file and adds the recorded commands to the :" -"attr:`cmdqueue` for immediate playback::" +"input to lowercase and writing the commands to a file. The :meth:`!" +"do_playback` method reads the file and adds the recorded commands to " +"the :attr:`~Cmd.cmdqueue` for immediate playback::" msgstr "" +"O exemplo também inclui um recurso básico de gravação e reprodução " +"implementado com o método :meth:`~Cmd.precmd` que é responsável por " +"converter a entrada para minúsculas e gravar os comandos em um arquivo. O " +"método :meth:`!do_playback` lê o arquivo e adiciona os comandos gravados " +"ao :attr:`~Cmd.cmdqueue` para reprodução imediata::" -#: ../../library/cmd.rst:327 +#: ../../library/cmd.rst:330 msgid "" "Here is a sample session with the turtle shell showing the help functions, " "using blank lines to repeat commands, and the simple record and playback " "facility:" msgstr "" +"Aqui está uma sessão de exemplo com o shell do turtle mostrando as funções " +"de ajuda, usando linhas em branco para repetir comandos e o recurso simples " +"de gravação e reprodução:" #: ../../library/cmd.rst:64 msgid "? (question mark)" -msgstr "" +msgstr "? (interrogação)" #: ../../library/cmd.rst:64 msgid "in a command interpreter" -msgstr "" +msgstr "em um interpretador de comandos" #: ../../library/cmd.rst:64 msgid "! (exclamation)" -msgstr "" +msgstr "! (exclamação)" diff --git a/library/cmdline.po b/library/cmdline.po new file mode 100644 index 000000000..302fa2fc8 --- /dev/null +++ b/library/cmdline.po @@ -0,0 +1,226 @@ +# 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: +# python-doc bot, 2025 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Python 3.11\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" +"Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" +"teams/5390/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " +"1000000 == 0 ? 1 : 2;\n" + +#: ../../library/cmdline.rst:3 +msgid "Modules command-line interface (CLI)" +msgstr "Interface de linha de comando (CLI) de módulos" + +#: ../../library/cmdline.rst:5 +msgid "The following modules have a command-line interface." +msgstr "Os seguintes módulos têm uma interface de linha de comando." + +#: ../../library/cmdline.rst:7 +msgid ":ref:`ast `" +msgstr ":ref:`ast `" + +#: ../../library/cmdline.rst:8 +msgid ":ref:`asyncio `" +msgstr ":ref:`asyncio `" + +#: ../../library/cmdline.rst:9 +msgid ":mod:`base64`" +msgstr ":mod:`base64`" + +#: ../../library/cmdline.rst:10 +msgid ":ref:`calendar `" +msgstr ":ref:`calendar `" + +#: ../../library/cmdline.rst:11 +msgid ":mod:`code`" +msgstr ":mod:`code`" + +#: ../../library/cmdline.rst:12 +msgid ":ref:`compileall `" +msgstr ":ref:`compileall `" + +#: ../../library/cmdline.rst:13 +msgid ":mod:`cProfile`: see :ref:`profile `" +msgstr ":mod:`cProfile`: veja :ref:`profile `" + +#: ../../library/cmdline.rst:14 +msgid ":ref:`difflib `" +msgstr ":ref:`difflib `" + +#: ../../library/cmdline.rst:15 +msgid ":ref:`dis `" +msgstr ":ref:`dis `" + +#: ../../library/cmdline.rst:16 +msgid ":mod:`doctest`" +msgstr ":mod:`doctest`" + +#: ../../library/cmdline.rst:17 +msgid ":mod:`!encodings.rot_13`" +msgstr ":mod:`!encodings.rot_13`" + +#: ../../library/cmdline.rst:18 +msgid ":mod:`ensurepip`" +msgstr ":mod:`ensurepip`" + +#: ../../library/cmdline.rst:19 +msgid ":mod:`filecmp`" +msgstr ":mod:`filecmp`" + +#: ../../library/cmdline.rst:20 +msgid ":mod:`fileinput`" +msgstr ":mod:`fileinput`" + +#: ../../library/cmdline.rst:21 +msgid ":mod:`ftplib`" +msgstr ":mod:`ftplib`" + +#: ../../library/cmdline.rst:22 +msgid ":ref:`gzip `" +msgstr ":ref:`gzip `" + +#: ../../library/cmdline.rst:23 +msgid ":ref:`http.server `" +msgstr ":ref:`http.server `" + +#: ../../library/cmdline.rst:24 +msgid ":mod:`!idlelib`" +msgstr ":mod:`!idlelib`" + +#: ../../library/cmdline.rst:25 +msgid ":ref:`inspect `" +msgstr ":ref:`inspect `" + +#: ../../library/cmdline.rst:26 +msgid ":ref:`json.tool `" +msgstr ":ref:`json.tool `" + +#: ../../library/cmdline.rst:27 +msgid ":mod:`mimetypes`" +msgstr ":mod:`mimetypes`" + +#: ../../library/cmdline.rst:28 +msgid ":mod:`pdb`" +msgstr ":mod:`pdb`" + +#: ../../library/cmdline.rst:29 +msgid ":mod:`pickle`" +msgstr ":mod:`pickle`" + +#: ../../library/cmdline.rst:30 +msgid ":ref:`pickletools `" +msgstr ":ref:`pickletools `" + +#: ../../library/cmdline.rst:31 +msgid ":mod:`platform`" +msgstr ":mod:`platform`" + +#: ../../library/cmdline.rst:32 +msgid ":mod:`poplib`" +msgstr ":mod:`poplib`" + +#: ../../library/cmdline.rst:33 +msgid ":ref:`profile `" +msgstr ":ref:`profile `" + +#: ../../library/cmdline.rst:34 +msgid ":mod:`pstats`" +msgstr ":mod:`pstats`" + +#: ../../library/cmdline.rst:35 +msgid ":ref:`py_compile `" +msgstr ":ref:`py_compile `" + +#: ../../library/cmdline.rst:36 +msgid ":mod:`pyclbr`" +msgstr ":mod:`pyclbr`" + +#: ../../library/cmdline.rst:37 +msgid ":mod:`pydoc`" +msgstr ":mod:`pydoc`" + +#: ../../library/cmdline.rst:38 +msgid ":mod:`quopri`" +msgstr ":mod:`quopri`" + +#: ../../library/cmdline.rst:39 +msgid ":mod:`runpy`" +msgstr ":mod:`runpy`" + +#: ../../library/cmdline.rst:40 +msgid ":ref:`site `" +msgstr ":ref:`site `" + +#: ../../library/cmdline.rst:41 +msgid ":ref:`sysconfig `" +msgstr ":ref:`sysconfig `" + +#: ../../library/cmdline.rst:42 +msgid ":mod:`tabnanny`" +msgstr ":mod:`tabnanny`" + +#: ../../library/cmdline.rst:43 +msgid ":ref:`tarfile `" +msgstr ":ref:`tarfile `" + +#: ../../library/cmdline.rst:44 +msgid ":mod:`!this`" +msgstr ":mod:`!this`" + +#: ../../library/cmdline.rst:45 +msgid ":ref:`timeit `" +msgstr ":ref:`timeit `" + +#: ../../library/cmdline.rst:46 +msgid ":ref:`tokenize `" +msgstr ":ref:`tokenize `" + +#: ../../library/cmdline.rst:47 +msgid ":ref:`trace `" +msgstr ":ref:`trace `" + +#: ../../library/cmdline.rst:48 +msgid ":mod:`turtledemo`" +msgstr ":mod:`turtledemo`" + +#: ../../library/cmdline.rst:49 +msgid ":ref:`unittest `" +msgstr ":ref:`unittest `" + +#: ../../library/cmdline.rst:50 +msgid ":mod:`venv`" +msgstr ":mod:`venv`" + +#: ../../library/cmdline.rst:51 +msgid ":mod:`webbrowser`" +msgstr ":mod:`webbrowser`" + +#: ../../library/cmdline.rst:52 +msgid ":ref:`zipapp `" +msgstr ":ref:`zipapp `" + +#: ../../library/cmdline.rst:53 +msgid ":ref:`zipfile `" +msgstr ":ref:`zipfile `" + +#: ../../library/cmdline.rst:55 +msgid "See also the :ref:`Python command-line interface `." +msgstr "" +"Consulte também a :ref:`interface de linha de comando do Python `." diff --git a/library/code.po b/library/code.po index f846f38d3..b4e63eb29 100644 --- a/library/code.po +++ b/library/code.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,10 +37,10 @@ msgid "" "in Python. Two classes and convenience functions are included which can be " "used to build applications which provide an interactive interpreter prompt." msgstr "" -"O módulo ``code`` fornece facilidades para implementarmos loops de leitura-" -"eval-escrita no código Python. São incluídas duas classes e funções de " -"conveniência que podem ser usadas para criar aplicativos que fornecem um " -"prompt de interpretação interativa." +"O módulo ``code`` fornece facilidades para implementar laços de leitura-" +"execução-escrita no código Python. São incluídas duas classes e funções de " +"conveniência que podem ser usadas para criar aplicações que fornecem um " +"prompt de interpretador interativo." #: ../../library/code.rst:18 msgid "" @@ -67,6 +65,10 @@ msgid "" "class builds on :class:`InteractiveInterpreter` and adds prompting using the " "familiar ``sys.ps1`` and ``sys.ps2``, and input buffering." msgstr "" +"Emula de forma bem similiar o comportamento do interpretador Python " +"interativo. Esta classe se baseia em :class:`InteractiveInterpreter` e " +"adiciona prompting usando os familiares ``sys.ps1`` e ``sys.ps2``, e " +"buffering de entrada." #: ../../library/code.rst:35 msgid "" @@ -93,6 +95,12 @@ msgid "" "syntax error). This function *almost* always makes the same decision as the " "real interpreter main loop." msgstr "" +"Esta função é útil para programas que desejam emular o laço principal do " +"interpretador Python (também conhecido como laço de leitura-execução-" +"impressão). A parte complicada é determinar quando o usuário digitou um " +"comando incompleto que pode ser concluído inserindo mais texto (em vez de um " +"comando completo ou um erro de sintaxe). Esta função *quase* sempre toma a " +"mesma decisão que o laço principal do interpretador real." #: ../../library/code.rst:57 msgid "" @@ -101,6 +109,10 @@ msgid "" "optional grammar start symbol, which should be ``'single'`` (the default), " "``'eval'`` or ``'exec'``." msgstr "" +"*source* é a string fonte; *filename* é o nome do arquivo opcional do qual a " +"fonte foi lida, sendo o padrão ``''``; e *symbol* é o símbolo " +"opcional de início da gramática, que deve ser ``'single'`` (o padrão), " +"``'eval'`` ou ``'exec'``." #: ../../library/code.rst:62 msgid "" @@ -110,10 +122,15 @@ msgid "" "error, or raises :exc:`OverflowError` or :exc:`ValueError` if the command " "contains an invalid literal." msgstr "" +"Retorna um objeto código (o mesmo que ``compile(source, filename, symbol)``) " +"se o comando for completo e válido; ``None`` se o comando estiver " +"incompleto; levanta :exc:`SyntaxError` se o comando estiver completo e " +"contém um erro de sintaxe, ou levanta :exc:`OverflowError` " +"ou :exc:`ValueError` se o comando contiver um literal inválido." #: ../../library/code.rst:72 msgid "Interactive Interpreter Objects" -msgstr "Objetos de Interpretador Interativo" +msgstr "Objetos de interpretador interativo" #: ../../library/code.rst:77 msgid "" @@ -121,20 +138,30 @@ msgid "" "for :func:`compile_command`; the default for *filename* is ``''``, " "and for *symbol* is ``'single'``. One of several things can happen:" msgstr "" +"Compila e executa alguma fonte no interpretador. Os argumentos são os mesmos " +"de :func:`compile_command`; o padrão para *filename* é ``''``, e para " +"*symbol* é ``'single'``. Uma de várias coisas pode acontecer:" #: ../../library/code.rst:81 msgid "" -"The input is incorrect; :func:`compile_command` raised an exception (:exc:" -"`SyntaxError` or :exc:`OverflowError`). A syntax traceback will be printed " -"by calling the :meth:`showsyntaxerror` method. :meth:`runsource` returns " -"``False``." +"The input is incorrect; :func:`compile_command` raised an exception " +"(:exc:`SyntaxError` or :exc:`OverflowError`). A syntax traceback will be " +"printed by calling the :meth:`showsyntaxerror` method. :meth:`runsource` " +"returns ``False``." msgstr "" +"A entrada está incorreta; :func:`compile_command` levantou uma exceção " +"(:exc:`SyntaxError` ou :exc:`OverflowError`). Um traceback da sintaxe será " +"impresso chamando o método :meth:`showsyntaxerror`. :meth:`runsource` " +"retorna ``False``." #: ../../library/code.rst:86 msgid "" "The input is incomplete, and more input is required; :func:`compile_command` " "returned ``None``. :meth:`runsource` returns ``True``." msgstr "" +"A entrada está incompleta e são necessárias mais " +"entradas; :func:`compile_command` retornou ``None``. :meth:`runsource` " +"retorna ``True``." #: ../../library/code.rst:89 msgid "" @@ -143,19 +170,28 @@ msgid "" "exceptions, except for :exc:`SystemExit`). :meth:`runsource` returns " "``False``." msgstr "" +"A entrada está completa; :func:`compile_command` retornou um objeto código. " +"O código é executado chamando :meth:`runcode` (que também lida com exceções " +"de tempo de execução, exceto :exc:`SystemExit`). :meth:`runsource` retorna " +"``False``." #: ../../library/code.rst:93 msgid "" -"The return value can be used to decide whether to use ``sys.ps1`` or ``sys." -"ps2`` to prompt the next line." +"The return value can be used to decide whether to use ``sys.ps1`` or " +"``sys.ps2`` to prompt the next line." msgstr "" +"O valor de retorno pode ser usado para decidir se usar ``sys.ps1`` ou " +"``sys.ps2`` para solicitar a próxima linha." #: ../../library/code.rst:99 msgid "" "Execute a code object. When an exception occurs, :meth:`showtraceback` is " -"called to display a traceback. All exceptions are caught except :exc:" -"`SystemExit`, which is allowed to propagate." +"called to display a traceback. All exceptions are caught " +"except :exc:`SystemExit`, which is allowed to propagate." msgstr "" +"Executa um objeto código. Quando ocorre uma exceção, :meth:`showtraceback` é " +"chamado para exibir um traceback. Todas as exceções são capturadas, " +"exceto :exc:`SystemExit`, que pode ser propagada." #: ../../library/code.rst:103 msgid "" @@ -163,6 +199,9 @@ msgid "" "this code, and may not always be caught. The caller should be prepared to " "deal with it." msgstr "" +"Uma observação sobre :exc:`KeyboardInterrupt`: esta exceção pode ocorrer em " +"outro lugar neste código e nem sempre pode ser detectada. O chamador deve " +"estar preparado para lidar com isso." #: ../../library/code.rst:110 msgid "" @@ -172,6 +211,12 @@ msgid "" "Python's parser, because it always uses ``''`` when reading from a " "string. The output is written by the :meth:`write` method." msgstr "" +"Exibe o erro de sintaxe que acabou de ocorrer. Isso não exibe um stack trace " +"(situação da pilha de execução) porque não há um para erros de sintaxe. Se " +"*filename* for fornecido, ele será inserido na exceção em vez do nome de " +"arquivo padrão fornecido pelo analisador sintático do Python, porque ele " +"sempre usa ``''`` ao ler uma string. A saída é escrita pelo " +"método :meth:`write`." #: ../../library/code.rst:119 msgid "" @@ -179,12 +224,17 @@ msgid "" "because it is within the interpreter object implementation. The output is " "written by the :meth:`write` method." msgstr "" +"Exibe a exceção que acabou de ocorrer. Removemos o primeiro item da pilha " +"porque ele está dentro da implementação do objeto interpretador. A saída é " +"escrita pelo método :meth:`write`." #: ../../library/code.rst:123 msgid "" "The full chained traceback is displayed instead of just the primary " "traceback." msgstr "" +"O traceback encadeado completo é exibido em vez de apenas o traceback " +"primário." #: ../../library/code.rst:129 msgid "" @@ -192,17 +242,23 @@ msgid "" "classes should override this to provide the appropriate output handling as " "needed." msgstr "" +"Escreve uma string no fluxo de erro padrão (``sys.stderr``). As classes " +"derivadas devem substituir isso para fornecer o tratamento de saída " +"apropriado conforme necessário." #: ../../library/code.rst:136 msgid "Interactive Console Objects" -msgstr "Objetos de Console Interativos" +msgstr "Objetos de console Interativo" #: ../../library/code.rst:138 msgid "" -"The :class:`InteractiveConsole` class is a subclass of :class:" -"`InteractiveInterpreter`, and so offers all the methods of the interpreter " -"objects as well as the following additions." +"The :class:`InteractiveConsole` class is a subclass " +"of :class:`InteractiveInterpreter`, and so offers all the methods of the " +"interpreter objects as well as the following additions." msgstr "" +"A classe :class:`InteractiveConsole` é uma subclasse " +"de :class:`InteractiveInterpreter` e, portanto, oferece todos os métodos dos " +"objetos interpretadores, bem como as seguintes adições." #: ../../library/code.rst:145 msgid "" @@ -213,6 +269,12 @@ msgid "" "(so as not to confuse this with the real interpreter -- since it's so " "close!)." msgstr "" +"Emula de forma muito semelhante o console interativo do Python. O argumento " +"opcional *banner* especifica o banner a ser impresso antes da primeira " +"interação; por padrão ele imprime um banner semelhante ao impresso pelo " +"interpretador Python padrão, seguido pelo nome da classe do objeto console " +"entre parênteses (para não confundir isso com o interpretador real -- já que " +"está tão próximo!)." #: ../../library/code.rst:151 msgid "" @@ -220,36 +282,53 @@ msgid "" "exiting. Pass the empty string to suppress the exit message. If *exitmsg* is " "not given or ``None``, a default message is printed." msgstr "" +"O argumento opcional *exitmsg* especifica uma mensagem de saída impressa ao " +"sair. Passe a string vazia para suprimir a mensagem de saída. Se *exitmsg* " +"não for fornecido ou ``None``, uma mensagem padrão será impressa." #: ../../library/code.rst:155 msgid "To suppress printing any banner, pass an empty string." -msgstr "" +msgstr "Para suprimir a impressão de qualquer banner, passe uma string vazia." #: ../../library/code.rst:158 msgid "Print an exit message when exiting." -msgstr "Imprima uma mensagem de saída ao sair." +msgstr "Imprime uma mensagem de saída ao sair." #: ../../library/code.rst:164 msgid "" "Push a line of source text to the interpreter. The line should not have a " "trailing newline; it may have internal newlines. The line is appended to a " -"buffer and the interpreter's :meth:`runsource` method is called with the " -"concatenated contents of the buffer as source. If this indicates that the " -"command was executed or invalid, the buffer is reset; otherwise, the command " -"is incomplete, and the buffer is left as it was after the line was " -"appended. The return value is ``True`` if more input is required, ``False`` " -"if the line was dealt with in some way (this is the same as :meth:" -"`runsource`)." +"buffer and the interpreter's :meth:`~InteractiveInterpreter.runsource` " +"method is called with the concatenated contents of the buffer as source. If " +"this indicates that the command was executed or invalid, the buffer is " +"reset; otherwise, the command is incomplete, and the buffer is left as it " +"was after the line was appended. The return value is ``True`` if more input " +"is required, ``False`` if the line was dealt with in some way (this is the " +"same as :meth:`!runsource`)." msgstr "" +"Envia uma linha do texto fonte para o interpretador. A linha não deve ter " +"uma nova linha à direita; pode ter novas linhas internas. A linha é anexada " +"a um buffer e o método :meth:`~InteractiveInterpreter.runsource` do " +"interpretador é chamado com o conteúdo concatenado do buffer como fonte. Se " +"isso indicar que o comando foi executado ou é inválido, o buffer será " +"redefinido; caso contrário, o comando estará incompleto e o buffer " +"permanecerá como estava após a linha ser anexada. O valor de retorno é " +"``True`` se mais entrada for necessária, ``False`` se a linha foi tratada de " +"alguma forma (isto é o mesmo que :meth:`!runsource`)." #: ../../library/code.rst:176 msgid "Remove any unhandled source text from the input buffer." -msgstr "" +msgstr "Remove qualquer texto fonte não tratado do buffer de entrada." #: ../../library/code.rst:181 msgid "" "Write a prompt and read a line. The returned line does not include the " -"trailing newline. When the user enters the EOF key sequence, :exc:" -"`EOFError` is raised. The base implementation reads from ``sys.stdin``; a " -"subclass may replace this with a different implementation." +"trailing newline. When the user enters the EOF key " +"sequence, :exc:`EOFError` is raised. The base implementation reads from " +"``sys.stdin``; a subclass may replace this with a different implementation." msgstr "" +"Escreve um prompt e leia uma linha. A linha retornada não inclui a nova " +"linha final. Quando o usuário insere a sequência de teclas de fim de linha, " +"uma exceção :exc:`EOFError` é levantada. A implementação base lê " +"``sys.stdin``; uma subclasse pode substituir isso por uma implementação " +"diferente." diff --git a/library/codecs.po b/library/codecs.po index e441b787f..3acfd6999 100644 --- a/library/codecs.po +++ b/library/codecs.po @@ -1,29 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Welington Carlos , 2021 -# i17obot , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Marco Rougeth , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-31 21:17+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -47,6 +44,16 @@ msgid "" "specifically with :term:`text encodings ` or with codecs that " "encode to :class:`bytes`." msgstr "" +"Este módulo define classes base para codecs Python padrão (codificadores e " +"decodificadores) e fornece acesso ao registro interno de codecs Python, que " +"gerencia o codec e o processo de pesquisa de tratamento de erros. A maioria " +"dos codecs padrão são :term:`codificações de texto `, que " +"codificam texto em bytes (e decodificam bytes em texto), mas também existem " +"codecs fornecidos que codificam texto em texto e bytes em bytes. Codecs " +"personalizados podem codificar e decodificar entre tipos arbitrários, mas " +"alguns recursos do módulo são restritos para serem usados especificamente " +"com :term:`codificações do texto ` ou com codecs que " +"codificam para :class:`bytes`." #: ../../library/codecs.rst:33 msgid "" @@ -61,9 +68,9 @@ msgstr "" #: ../../library/codecs.rst:40 msgid "" "*Errors* may be given to set the desired error handling scheme. The default " -"error handler is ``'strict'`` meaning that encoding errors raise :exc:" -"`ValueError` (or a more codec specific subclass, such as :exc:" -"`UnicodeEncodeError`). Refer to :ref:`codec-base-classes` for more " +"error handler is ``'strict'`` meaning that encoding errors " +"raise :exc:`ValueError` (or a more codec specific subclass, such " +"as :exc:`UnicodeEncodeError`). Refer to :ref:`codec-base-classes` for more " "information on codec error handling." msgstr "" @@ -74,9 +81,9 @@ msgstr "" #: ../../library/codecs.rst:50 msgid "" "*Errors* may be given to set the desired error handling scheme. The default " -"error handler is ``'strict'`` meaning that decoding errors raise :exc:" -"`ValueError` (or a more codec specific subclass, such as :exc:" -"`UnicodeDecodeError`). Refer to :ref:`codec-base-classes` for more " +"error handler is ``'strict'`` meaning that decoding errors " +"raise :exc:`ValueError` (or a more codec specific subclass, such " +"as :exc:`UnicodeDecodeError`). Refer to :ref:`codec-base-classes` for more " "information on codec error handling." msgstr "" @@ -86,16 +93,17 @@ msgstr "" #: ../../library/codecs.rst:60 msgid "" -"Looks up the codec info in the Python codec registry and returns a :class:" -"`CodecInfo` object as defined below." +"Looks up the codec info in the Python codec registry and returns " +"a :class:`CodecInfo` object as defined below." msgstr "" #: ../../library/codecs.rst:63 msgid "" "Encodings are first looked up in the registry's cache. If not found, the " "list of registered search functions is scanned. If no :class:`CodecInfo` " -"object is found, a :exc:`LookupError` is raised. Otherwise, the :class:" -"`CodecInfo` object is stored in the cache and returned to the caller." +"object is found, a :exc:`LookupError` is raised. Otherwise, " +"the :class:`CodecInfo` object is stored in the cache and returned to the " +"caller." msgstr "" #: ../../library/codecs.rst:70 @@ -111,25 +119,25 @@ msgstr "" #: ../../library/codecs.rst:82 msgid "" "The stateless encoding and decoding functions. These must be functions or " -"methods which have the same interface as the :meth:`~Codec.encode` and :meth:" -"`~Codec.decode` methods of Codec instances (see :ref:`Codec Interface `). The functions or methods are expected to work in a stateless " -"mode." +"methods which have the same interface as the :meth:`~Codec.encode` " +"and :meth:`~Codec.decode` methods of Codec instances (see :ref:`Codec " +"Interface `). The functions or methods are expected to work " +"in a stateless mode." msgstr "" #: ../../library/codecs.rst:92 msgid "" "Incremental encoder and decoder classes or factory functions. These have to " -"provide the interface defined by the base classes :class:" -"`IncrementalEncoder` and :class:`IncrementalDecoder`, respectively. " -"Incremental codecs can maintain state." +"provide the interface defined by the base " +"classes :class:`IncrementalEncoder` and :class:`IncrementalDecoder`, " +"respectively. Incremental codecs can maintain state." msgstr "" #: ../../library/codecs.rst:101 msgid "" "Stream writer and reader classes or factory functions. These have to provide " -"the interface defined by the base classes :class:`StreamWriter` and :class:" -"`StreamReader`, respectively. Stream codecs can maintain state." +"the interface defined by the base classes :class:`StreamWriter` " +"and :class:`StreamReader`, respectively. Stream codecs can maintain state." msgstr "" #: ../../library/codecs.rst:106 @@ -179,14 +187,14 @@ msgstr "" #: ../../library/codecs.rst:143 msgid "" -"Look up the codec for the given encoding and return its :class:" -"`StreamReader` class or factory function." +"Look up the codec for the given encoding and return " +"its :class:`StreamReader` class or factory function." msgstr "" #: ../../library/codecs.rst:151 msgid "" -"Look up the codec for the given encoding and return its :class:" -"`StreamWriter` class or factory function." +"Look up the codec for the given encoding and return " +"its :class:`StreamWriter` class or factory function." msgstr "" #: ../../library/codecs.rst:156 @@ -224,9 +232,9 @@ msgstr "" #: ../../library/codecs.rst:186 msgid "" -"Open an encoded file using the given *mode* and return an instance of :class:" -"`StreamReaderWriter`, providing transparent encoding/decoding. The default " -"file mode is ``'r'``, meaning to open the file in read mode." +"Open an encoded file using the given *mode* and return an instance " +"of :class:`StreamReaderWriter`, providing transparent encoding/decoding. The " +"default file mode is ``'r'``, meaning to open the file in read mode." msgstr "" #: ../../library/codecs.rst:192 @@ -314,8 +322,8 @@ msgstr "" msgid "" "This function requires that the codec accept :class:`bytes` objects to " "decode. Therefore it does not support text-to-text encoders such as " -"``rot_13``, although ``rot_13`` may be used equivalently with :func:" -"`iterencode`." +"``rot_13``, although ``rot_13`` may be used equivalently " +"with :func:`iterencode`." msgstr "" #: ../../library/codecs.rst:256 @@ -329,11 +337,11 @@ msgid "" "These constants define various byte sequences, being Unicode byte order " "marks (BOMs) for several encodings. They are used in UTF-16 and UTF-32 data " "streams to indicate the byte order used, and in UTF-8 as a Unicode " -"signature. :const:`BOM_UTF16` is either :const:`BOM_UTF16_BE` or :const:" -"`BOM_UTF16_LE` depending on the platform's native byte order, :const:`BOM` " -"is an alias for :const:`BOM_UTF16`, :const:`BOM_LE` for :const:" -"`BOM_UTF16_LE` and :const:`BOM_BE` for :const:`BOM_UTF16_BE`. The others " -"represent the BOM in UTF-8 and UTF-32 encodings." +"signature. :const:`BOM_UTF16` is either :const:`BOM_UTF16_BE` " +"or :const:`BOM_UTF16_LE` depending on the platform's native byte " +"order, :const:`BOM` is an alias for :const:`BOM_UTF16`, :const:`BOM_LE` " +"for :const:`BOM_UTF16_LE` and :const:`BOM_BE` for :const:`BOM_UTF16_BE`. The " +"others represent the BOM in UTF-8 and UTF-32 encodings." msgstr "" #: ../../library/codecs.rst:285 @@ -372,14 +380,14 @@ msgid "" "encodings` codecs:" msgstr "" -#: ../../library/codecs.rst:330 ../../library/codecs.rst:372 -#: ../../library/codecs.rst:391 +#: ../../library/codecs.rst:330 ../../library/codecs.rst:373 +#: ../../library/codecs.rst:393 msgid "Value" msgstr "Valor" -#: ../../library/codecs.rst:330 ../../library/codecs.rst:372 -#: ../../library/codecs.rst:391 ../../library/codecs.rst:1324 -#: ../../library/codecs.rst:1391 ../../library/codecs.rst:1446 +#: ../../library/codecs.rst:330 ../../library/codecs.rst:373 +#: ../../library/codecs.rst:393 ../../library/codecs.rst:1330 +#: ../../library/codecs.rst:1398 ../../library/codecs.rst:1455 msgid "Meaning" msgstr "Significado" @@ -421,16 +429,17 @@ msgstr "``'backslashreplace'``" #: ../../library/codecs.rst:346 msgid "" "Replace with backslashed escape sequences. On encoding, use hexadecimal form " -"of Unicode code point with formats ``\\xhh`` ``\\uxxxx`` ``\\Uxxxxxxxx``. On " -"decoding, use hexadecimal form of byte value with format ``\\xhh``. " -"Implemented in :func:`backslashreplace_errors`." +"of Unicode code point with formats :samp:`\\\\x{hh}` :samp:`\\\\u{xxxx}" +"` :samp:`\\\\U{xxxxxxxx}`. On decoding, use hexadecimal form of byte value " +"with format :samp:`\\\\x{hh}`. Implemented " +"in :func:`backslashreplace_errors`." msgstr "" -#: ../../library/codecs.rst:354 +#: ../../library/codecs.rst:355 msgid "``'surrogateescape'``" msgstr "``'surrogateescape'``" -#: ../../library/codecs.rst:354 +#: ../../library/codecs.rst:355 msgid "" "On decoding, replace byte with individual surrogate code ranging from " "``U+DC80`` to ``U+DCFF``. This code will then be turned back into the same " @@ -438,197 +447,200 @@ msgid "" "data. (See :pep:`383` for more.)" msgstr "" -#: ../../library/codecs.rst:368 +#: ../../library/codecs.rst:369 msgid "" -"The following error handlers are only applicable to encoding (within :term:" -"`text encodings `):" +"The following error handlers are only applicable to encoding " +"(within :term:`text encodings `):" msgstr "" +"Os seguintes manipuladores de erro aplicam-se apenas à codificação (dentro " +"de :term:`codificações do texto `):" -#: ../../library/codecs.rst:374 +#: ../../library/codecs.rst:375 msgid "``'xmlcharrefreplace'``" msgstr "``'xmlcharrefreplace'``" -#: ../../library/codecs.rst:374 +#: ../../library/codecs.rst:375 msgid "" "Replace with XML/HTML numeric character reference, which is a decimal form " -"of Unicode code point with format ``&#num;`` Implemented in :func:" -"`xmlcharrefreplace_errors`." +"of Unicode code point with format :samp:`&#{num};`. Implemented " +"in :func:`xmlcharrefreplace_errors`." msgstr "" -#: ../../library/codecs.rst:379 +#: ../../library/codecs.rst:381 msgid "``'namereplace'``" msgstr "``'namereplace'``" -#: ../../library/codecs.rst:379 +#: ../../library/codecs.rst:381 msgid "" "Replace with ``\\N{...}`` escape sequences, what appears in the braces is " -"the Name property from Unicode Character Database. Implemented in :func:" -"`namereplace_errors`." +"the Name property from Unicode Character Database. Implemented " +"in :func:`namereplace_errors`." msgstr "" -#: ../../library/codecs.rst:388 +#: ../../library/codecs.rst:390 msgid "" "In addition, the following error handler is specific to the given codecs:" msgstr "" -#: ../../library/codecs.rst:391 +#: ../../library/codecs.rst:13 ../../library/codecs.rst:393 msgid "Codecs" msgstr "Codecs" -#: ../../library/codecs.rst:393 +#: ../../library/codecs.rst:395 msgid "``'surrogatepass'``" msgstr "``'surrogatepass'``" -#: ../../library/codecs.rst:393 +#: ../../library/codecs.rst:395 msgid "utf-8, utf-16, utf-32, utf-16-be, utf-16-le, utf-32-be, utf-32-le" msgstr "" -#: ../../library/codecs.rst:393 +#: ../../library/codecs.rst:395 msgid "" "Allow encoding and decoding surrogate code point (``U+D800`` - ``U+DFFF``) " "as normal code point. Otherwise these codecs treat the presence of surrogate " "code point in :class:`str` as an error." msgstr "" -#: ../../library/codecs.rst:400 +#: ../../library/codecs.rst:402 msgid "The ``'surrogateescape'`` and ``'surrogatepass'`` error handlers." msgstr "" -#: ../../library/codecs.rst:403 +#: ../../library/codecs.rst:405 msgid "" "The ``'surrogatepass'`` error handler now works with utf-16\\* and utf-32\\* " "codecs." msgstr "" -#: ../../library/codecs.rst:407 +#: ../../library/codecs.rst:409 msgid "The ``'namereplace'`` error handler." msgstr "" -#: ../../library/codecs.rst:410 +#: ../../library/codecs.rst:412 msgid "" "The ``'backslashreplace'`` error handler now works with decoding and " "translating." msgstr "" -#: ../../library/codecs.rst:414 +#: ../../library/codecs.rst:416 msgid "" "The set of allowed values can be extended by registering a new named error " "handler:" msgstr "" -#: ../../library/codecs.rst:419 +#: ../../library/codecs.rst:421 msgid "" "Register the error handling function *error_handler* under the name *name*. " "The *error_handler* argument will be called during encoding and decoding in " "case of an error, when *name* is specified as the errors parameter." msgstr "" -#: ../../library/codecs.rst:423 +#: ../../library/codecs.rst:425 msgid "" -"For encoding, *error_handler* will be called with a :exc:" -"`UnicodeEncodeError` instance, which contains information about the location " -"of the error. The error handler must either raise this or a different " -"exception, or return a tuple with a replacement for the unencodable part of " -"the input and a position where encoding should continue. The replacement may " -"be either :class:`str` or :class:`bytes`. If the replacement is bytes, the " -"encoder will simply copy them into the output buffer. If the replacement is " -"a string, the encoder will encode the replacement. Encoding continues on " -"original input at the specified position. Negative position values will be " -"treated as being relative to the end of the input string. If the resulting " -"position is out of bound an :exc:`IndexError` will be raised." +"For encoding, *error_handler* will be called with " +"a :exc:`UnicodeEncodeError` instance, which contains information about the " +"location of the error. The error handler must either raise this or a " +"different exception, or return a tuple with a replacement for the " +"unencodable part of the input and a position where encoding should continue. " +"The replacement may be either :class:`str` or :class:`bytes`. If the " +"replacement is bytes, the encoder will simply copy them into the output " +"buffer. If the replacement is a string, the encoder will encode the " +"replacement. Encoding continues on original input at the specified position. " +"Negative position values will be treated as being relative to the end of the " +"input string. If the resulting position is out of bound an :exc:`IndexError` " +"will be raised." msgstr "" -#: ../../library/codecs.rst:435 +#: ../../library/codecs.rst:437 msgid "" "Decoding and translating works similarly, except :exc:`UnicodeDecodeError` " "or :exc:`UnicodeTranslateError` will be passed to the handler and that the " "replacement from the error handler will be put into the output directly." msgstr "" -#: ../../library/codecs.rst:440 +#: ../../library/codecs.rst:442 msgid "" "Previously registered error handlers (including the standard error handlers) " "can be looked up by name:" msgstr "" -#: ../../library/codecs.rst:445 +#: ../../library/codecs.rst:447 msgid "Return the error handler previously registered under the name *name*." msgstr "" -#: ../../library/codecs.rst:447 +#: ../../library/codecs.rst:449 msgid "Raises a :exc:`LookupError` in case the handler cannot be found." msgstr "" -#: ../../library/codecs.rst:449 +#: ../../library/codecs.rst:451 msgid "" "The following standard error handlers are also made available as module " "level functions:" msgstr "" -#: ../../library/codecs.rst:454 +#: ../../library/codecs.rst:456 msgid "Implements the ``'strict'`` error handling." -msgstr "" +msgstr "Implementa a tratativa de erro ``'strict'``." -#: ../../library/codecs.rst:456 +#: ../../library/codecs.rst:458 msgid "Each encoding or decoding error raises a :exc:`UnicodeError`." msgstr "" -#: ../../library/codecs.rst:461 +#: ../../library/codecs.rst:463 msgid "Implements the ``'ignore'`` error handling." -msgstr "" +msgstr "Implementa a tratativa de erro ``'ignore'``." -#: ../../library/codecs.rst:463 +#: ../../library/codecs.rst:465 msgid "" "Malformed data is ignored; encoding or decoding is continued without further " "notice." msgstr "" -#: ../../library/codecs.rst:469 +#: ../../library/codecs.rst:471 msgid "Implements the ``'replace'`` error handling." -msgstr "" +msgstr "Implementa a tratativa de erro ``'replace'``." -#: ../../library/codecs.rst:471 +#: ../../library/codecs.rst:473 msgid "" "Substitutes ``?`` (ASCII character) for encoding errors or ``�`` (U+FFFD, " "the official REPLACEMENT CHARACTER) for decoding errors." msgstr "" -#: ../../library/codecs.rst:477 +#: ../../library/codecs.rst:479 msgid "Implements the ``'backslashreplace'`` error handling." -msgstr "" +msgstr "Implementa a tratativa de erro ``'backslashreplace'``." -#: ../../library/codecs.rst:479 +#: ../../library/codecs.rst:481 msgid "" "Malformed data is replaced by a backslashed escape sequence. On encoding, " -"use the hexadecimal form of Unicode code point with formats ``\\xhh`` " -"``\\uxxxx`` ``\\Uxxxxxxxx``. On decoding, use the hexadecimal form of byte " -"value with format ``\\xhh``." +"use the hexadecimal form of Unicode code point with formats :samp:`\\\\x{hh}" +"` :samp:`\\\\u{xxxx}` :samp:`\\\\U{xxxxxxxx}`. On decoding, use the " +"hexadecimal form of byte value with format :samp:`\\\\x{hh}`." msgstr "" -#: ../../library/codecs.rst:484 +#: ../../library/codecs.rst:487 msgid "Works with decoding and translating." msgstr "" -#: ../../library/codecs.rst:490 +#: ../../library/codecs.rst:493 msgid "" -"Implements the ``'xmlcharrefreplace'`` error handling (for encoding within :" -"term:`text encoding` only)." +"Implements the ``'xmlcharrefreplace'`` error handling (for encoding " +"within :term:`text encoding` only)." msgstr "" -#: ../../library/codecs.rst:493 +#: ../../library/codecs.rst:496 msgid "" "The unencodable character is replaced by an appropriate XML/HTML numeric " "character reference, which is a decimal form of Unicode code point with " -"format ``&#num;`` ." +"format :samp:`&#{num};` ." msgstr "" -#: ../../library/codecs.rst:500 +#: ../../library/codecs.rst:503 msgid "" -"Implements the ``'namereplace'`` error handling (for encoding within :term:" -"`text encoding` only)." +"Implements the ``'namereplace'`` error handling (for encoding " +"within :term:`text encoding` only)." msgstr "" -#: ../../library/codecs.rst:503 +#: ../../library/codecs.rst:506 msgid "" "The unencodable character is replaced by a ``\\N{...}`` escape sequence. The " "set of characters that appear in the braces is the Name property from " @@ -636,17 +648,17 @@ msgid "" "will be converted to byte sequence ``\\N{LATIN SMALL LETTER SHARP S}`` ." msgstr "" -#: ../../library/codecs.rst:514 +#: ../../library/codecs.rst:517 msgid "Stateless Encoding and Decoding" msgstr "" -#: ../../library/codecs.rst:516 +#: ../../library/codecs.rst:519 msgid "" "The base :class:`Codec` class defines these methods which also define the " "function interfaces of the stateless encoder and decoder:" msgstr "" -#: ../../library/codecs.rst:522 +#: ../../library/codecs.rst:527 msgid "" "Encodes the object *input* and returns a tuple (output object, length " "consumed). For instance, :term:`text encoding` converts a string object to a " @@ -654,26 +666,26 @@ msgid "" "``iso-8859-1``)." msgstr "" -#: ../../library/codecs.rst:527 ../../library/codecs.rst:549 +#: ../../library/codecs.rst:532 ../../library/codecs.rst:554 msgid "" "The *errors* argument defines the error handling to apply. It defaults to " "``'strict'`` handling." msgstr "" -#: ../../library/codecs.rst:530 +#: ../../library/codecs.rst:535 msgid "" -"The method may not store state in the :class:`Codec` instance. Use :class:" -"`StreamWriter` for codecs which have to keep state in order to make encoding " -"efficient." +"The method may not store state in the :class:`Codec` instance. " +"Use :class:`StreamWriter` for codecs which have to keep state in order to " +"make encoding efficient." msgstr "" -#: ../../library/codecs.rst:534 +#: ../../library/codecs.rst:539 msgid "" "The encoder must be able to handle zero length input and return an empty " "object of the output object type in this situation." msgstr "" -#: ../../library/codecs.rst:540 +#: ../../library/codecs.rst:545 msgid "" "Decodes the object *input* and returns a tuple (output object, length " "consumed). For instance, for a :term:`text encoding`, decoding converts a " @@ -681,101 +693,101 @@ msgid "" "object." msgstr "" -#: ../../library/codecs.rst:545 +#: ../../library/codecs.rst:550 msgid "" "For text encodings and bytes-to-bytes codecs, *input* must be a bytes object " "or one which provides the read-only buffer interface -- for example, buffer " "objects and memory mapped files." msgstr "" -#: ../../library/codecs.rst:552 +#: ../../library/codecs.rst:557 msgid "" -"The method may not store state in the :class:`Codec` instance. Use :class:" -"`StreamReader` for codecs which have to keep state in order to make decoding " -"efficient." +"The method may not store state in the :class:`Codec` instance. " +"Use :class:`StreamReader` for codecs which have to keep state in order to " +"make decoding efficient." msgstr "" -#: ../../library/codecs.rst:556 +#: ../../library/codecs.rst:561 msgid "" "The decoder must be able to handle zero length input and return an empty " "object of the output object type in this situation." msgstr "" -#: ../../library/codecs.rst:561 +#: ../../library/codecs.rst:566 msgid "Incremental Encoding and Decoding" msgstr "" -#: ../../library/codecs.rst:563 +#: ../../library/codecs.rst:568 msgid "" "The :class:`IncrementalEncoder` and :class:`IncrementalDecoder` classes " "provide the basic interface for incremental encoding and decoding. Encoding/" "decoding the input isn't done with one call to the stateless encoder/decoder " -"function, but with multiple calls to the :meth:`~IncrementalEncoder.encode`/:" -"meth:`~IncrementalDecoder.decode` method of the incremental encoder/decoder. " -"The incremental encoder/decoder keeps track of the encoding/decoding process " -"during method calls." +"function, but with multiple calls to " +"the :meth:`~IncrementalEncoder.encode`/:meth:`~IncrementalDecoder.decode` " +"method of the incremental encoder/decoder. The incremental encoder/decoder " +"keeps track of the encoding/decoding process during method calls." msgstr "" -#: ../../library/codecs.rst:571 +#: ../../library/codecs.rst:576 msgid "" -"The joined output of calls to the :meth:`~IncrementalEncoder.encode`/:meth:" -"`~IncrementalDecoder.decode` method is the same as if all the single inputs " -"were joined into one, and this input was encoded/decoded with the stateless " -"encoder/decoder." +"The joined output of calls to " +"the :meth:`~IncrementalEncoder.encode`/:meth:`~IncrementalDecoder.decode` " +"method is the same as if all the single inputs were joined into one, and " +"this input was encoded/decoded with the stateless encoder/decoder." msgstr "" -#: ../../library/codecs.rst:580 +#: ../../library/codecs.rst:585 msgid "IncrementalEncoder Objects" msgstr "" -#: ../../library/codecs.rst:582 +#: ../../library/codecs.rst:587 msgid "" "The :class:`IncrementalEncoder` class is used for encoding an input in " "multiple steps. It defines the following methods which every incremental " "encoder must define in order to be compatible with the Python codec registry." msgstr "" -#: ../../library/codecs.rst:589 +#: ../../library/codecs.rst:594 msgid "Constructor for an :class:`IncrementalEncoder` instance." msgstr "" -#: ../../library/codecs.rst:591 +#: ../../library/codecs.rst:596 msgid "" "All incremental encoders must provide this constructor interface. They are " "free to add additional keyword arguments, but only the ones defined here are " "used by the Python codec registry." msgstr "" -#: ../../library/codecs.rst:595 +#: ../../library/codecs.rst:600 msgid "" "The :class:`IncrementalEncoder` may implement different error handling " "schemes by providing the *errors* keyword argument. See :ref:`error-" "handlers` for possible values." msgstr "" -#: ../../library/codecs.rst:599 +#: ../../library/codecs.rst:604 msgid "" "The *errors* argument will be assigned to an attribute of the same name. " "Assigning to this attribute makes it possible to switch between different " -"error handling strategies during the lifetime of the :class:" -"`IncrementalEncoder` object." +"error handling strategies during the lifetime of " +"the :class:`IncrementalEncoder` object." msgstr "" -#: ../../library/codecs.rst:607 +#: ../../library/codecs.rst:612 msgid "" "Encodes *object* (taking the current state of the encoder into account) and " -"returns the resulting encoded object. If this is the last call to :meth:" -"`encode` *final* must be true (the default is false)." +"returns the resulting encoded object. If this is the last call " +"to :meth:`encode` *final* must be true (the default is false)." msgstr "" -#: ../../library/codecs.rst:614 +#: ../../library/codecs.rst:619 msgid "" -"Reset the encoder to the initial state. The output is discarded: call ``." -"encode(object, final=True)``, passing an empty byte or text string if " +"Reset the encoder to the initial state. The output is discarded: call " +"``.encode(object, final=True)``, passing an empty byte or text string if " "necessary, to reset the encoder and to get the output." msgstr "" -#: ../../library/codecs.rst:621 +#: ../../library/codecs.rst:626 msgid "" "Return the current state of the encoder which must be an integer. The " "implementation should make sure that ``0`` is the most common state. (States " @@ -784,65 +796,65 @@ msgid "" "into an integer.)" msgstr "" -#: ../../library/codecs.rst:630 +#: ../../library/codecs.rst:635 msgid "" "Set the state of the encoder to *state*. *state* must be an encoder state " "returned by :meth:`getstate`." msgstr "" -#: ../../library/codecs.rst:637 +#: ../../library/codecs.rst:642 msgid "IncrementalDecoder Objects" msgstr "" -#: ../../library/codecs.rst:639 +#: ../../library/codecs.rst:644 msgid "" "The :class:`IncrementalDecoder` class is used for decoding an input in " "multiple steps. It defines the following methods which every incremental " "decoder must define in order to be compatible with the Python codec registry." msgstr "" -#: ../../library/codecs.rst:646 +#: ../../library/codecs.rst:651 msgid "Constructor for an :class:`IncrementalDecoder` instance." msgstr "" -#: ../../library/codecs.rst:648 +#: ../../library/codecs.rst:653 msgid "" "All incremental decoders must provide this constructor interface. They are " "free to add additional keyword arguments, but only the ones defined here are " "used by the Python codec registry." msgstr "" -#: ../../library/codecs.rst:652 +#: ../../library/codecs.rst:657 msgid "" "The :class:`IncrementalDecoder` may implement different error handling " "schemes by providing the *errors* keyword argument. See :ref:`error-" "handlers` for possible values." msgstr "" -#: ../../library/codecs.rst:656 +#: ../../library/codecs.rst:661 msgid "" "The *errors* argument will be assigned to an attribute of the same name. " "Assigning to this attribute makes it possible to switch between different " -"error handling strategies during the lifetime of the :class:" -"`IncrementalDecoder` object." +"error handling strategies during the lifetime of " +"the :class:`IncrementalDecoder` object." msgstr "" -#: ../../library/codecs.rst:664 +#: ../../library/codecs.rst:669 msgid "" "Decodes *object* (taking the current state of the decoder into account) and " -"returns the resulting decoded object. If this is the last call to :meth:" -"`decode` *final* must be true (the default is false). If *final* is true the " -"decoder must decode the input completely and must flush all buffers. If this " -"isn't possible (e.g. because of incomplete byte sequences at the end of the " -"input) it must initiate error handling just like in the stateless case " -"(which might raise an exception)." +"returns the resulting decoded object. If this is the last call " +"to :meth:`decode` *final* must be true (the default is false). If *final* is " +"true the decoder must decode the input completely and must flush all " +"buffers. If this isn't possible (e.g. because of incomplete byte sequences " +"at the end of the input) it must initiate error handling just like in the " +"stateless case (which might raise an exception)." msgstr "" -#: ../../library/codecs.rst:675 +#: ../../library/codecs.rst:680 msgid "Reset the decoder to the initial state." msgstr "" -#: ../../library/codecs.rst:680 +#: ../../library/codecs.rst:685 msgid "" "Return the current state of the decoder. This must be a tuple with two " "items, the first must be the buffer containing the still undecoded input. " @@ -857,59 +869,59 @@ msgid "" "bytes of the resulting string into an integer.)" msgstr "" -#: ../../library/codecs.rst:695 +#: ../../library/codecs.rst:700 msgid "" "Set the state of the decoder to *state*. *state* must be a decoder state " "returned by :meth:`getstate`." msgstr "" -#: ../../library/codecs.rst:700 +#: ../../library/codecs.rst:705 msgid "Stream Encoding and Decoding" msgstr "" -#: ../../library/codecs.rst:703 +#: ../../library/codecs.rst:708 msgid "" "The :class:`StreamWriter` and :class:`StreamReader` classes provide generic " "working interfaces which can be used to implement new encoding submodules " -"very easily. See :mod:`encodings.utf_8` for an example of how this is done." +"very easily. See :mod:`!encodings.utf_8` for an example of how this is done." msgstr "" -#: ../../library/codecs.rst:711 +#: ../../library/codecs.rst:716 msgid "StreamWriter Objects" msgstr "" -#: ../../library/codecs.rst:713 +#: ../../library/codecs.rst:718 msgid "" "The :class:`StreamWriter` class is a subclass of :class:`Codec` and defines " "the following methods which every stream writer must define in order to be " "compatible with the Python codec registry." msgstr "" -#: ../../library/codecs.rst:720 +#: ../../library/codecs.rst:725 msgid "Constructor for a :class:`StreamWriter` instance." msgstr "" -#: ../../library/codecs.rst:722 +#: ../../library/codecs.rst:727 msgid "" "All stream writers must provide this constructor interface. They are free to " "add additional keyword arguments, but only the ones defined here are used by " "the Python codec registry." msgstr "" -#: ../../library/codecs.rst:726 +#: ../../library/codecs.rst:731 msgid "" "The *stream* argument must be a file-like object open for writing text or " "binary data, as appropriate for the specific codec." msgstr "" -#: ../../library/codecs.rst:729 +#: ../../library/codecs.rst:734 msgid "" "The :class:`StreamWriter` may implement different error handling schemes by " "providing the *errors* keyword argument. See :ref:`error-handlers` for the " "standard error handlers the underlying stream codec may support." msgstr "" -#: ../../library/codecs.rst:733 +#: ../../library/codecs.rst:738 msgid "" "The *errors* argument will be assigned to an attribute of the same name. " "Assigning to this attribute makes it possible to switch between different " @@ -917,22 +929,22 @@ msgid "" "object." msgstr "" -#: ../../library/codecs.rst:739 +#: ../../library/codecs.rst:744 msgid "Writes the object's contents encoded to the stream." msgstr "" -#: ../../library/codecs.rst:744 +#: ../../library/codecs.rst:749 msgid "" "Writes the concatenated iterable of strings to the stream (possibly by " "reusing the :meth:`write` method). Infinite or very large iterables are not " "supported. The standard bytes-to-bytes codecs do not support this method." msgstr "" -#: ../../library/codecs.rst:752 ../../library/codecs.rst:847 +#: ../../library/codecs.rst:757 ../../library/codecs.rst:852 msgid "Resets the codec buffers used for keeping internal state." msgstr "" -#: ../../library/codecs.rst:754 +#: ../../library/codecs.rst:759 msgid "" "Calling this method should ensure that the data on the output is put into a " "clean state that allows appending of new fresh data without having to rescan " @@ -942,48 +954,48 @@ msgstr "" "limpo, que permite anexar novos dados sem ter que verificar novamente todo o " "fluxo para recuperar o estado." -#: ../../library/codecs.rst:759 +#: ../../library/codecs.rst:764 msgid "" "In addition to the above methods, the :class:`StreamWriter` must also " "inherit all other methods and attributes from the underlying stream." msgstr "" -#: ../../library/codecs.rst:766 +#: ../../library/codecs.rst:771 msgid "StreamReader Objects" msgstr "" -#: ../../library/codecs.rst:768 +#: ../../library/codecs.rst:773 msgid "" "The :class:`StreamReader` class is a subclass of :class:`Codec` and defines " "the following methods which every stream reader must define in order to be " "compatible with the Python codec registry." msgstr "" -#: ../../library/codecs.rst:775 +#: ../../library/codecs.rst:780 msgid "Constructor for a :class:`StreamReader` instance." msgstr "" -#: ../../library/codecs.rst:777 +#: ../../library/codecs.rst:782 msgid "" "All stream readers must provide this constructor interface. They are free to " "add additional keyword arguments, but only the ones defined here are used by " "the Python codec registry." msgstr "" -#: ../../library/codecs.rst:781 +#: ../../library/codecs.rst:786 msgid "" "The *stream* argument must be a file-like object open for reading text or " "binary data, as appropriate for the specific codec." msgstr "" -#: ../../library/codecs.rst:784 +#: ../../library/codecs.rst:789 msgid "" "The :class:`StreamReader` may implement different error handling schemes by " "providing the *errors* keyword argument. See :ref:`error-handlers` for the " "standard error handlers the underlying stream codec may support." msgstr "" -#: ../../library/codecs.rst:788 +#: ../../library/codecs.rst:793 msgid "" "The *errors* argument will be assigned to an attribute of the same name. " "Assigning to this attribute makes it possible to switch between different " @@ -991,24 +1003,24 @@ msgid "" "object." msgstr "" -#: ../../library/codecs.rst:792 +#: ../../library/codecs.rst:797 msgid "" -"The set of allowed values for the *errors* argument can be extended with :" -"func:`register_error`." +"The set of allowed values for the *errors* argument can be extended " +"with :func:`register_error`." msgstr "" -#: ../../library/codecs.rst:798 +#: ../../library/codecs.rst:803 msgid "Decodes data from the stream and returns the resulting object." msgstr "" -#: ../../library/codecs.rst:800 +#: ../../library/codecs.rst:805 msgid "" "The *chars* argument indicates the number of decoded code points or bytes to " "return. The :func:`read` method will never return more data than requested, " "but it might return less, if there is not enough available." msgstr "" -#: ../../library/codecs.rst:805 +#: ../../library/codecs.rst:810 msgid "" "The *size* argument indicates the approximate maximum number of encoded " "bytes or code points to read for decoding. The decoder can modify this " @@ -1017,13 +1029,13 @@ msgid "" "huge files in one step." msgstr "" -#: ../../library/codecs.rst:812 +#: ../../library/codecs.rst:817 msgid "" "The *firstline* flag indicates that it would be sufficient to only return " "the first line, if there are decoding errors on later lines." msgstr "" -#: ../../library/codecs.rst:816 +#: ../../library/codecs.rst:821 msgid "" "The method should use a greedy read strategy meaning that it should read as " "much data as is allowed within the definition of the encoding and the given " @@ -1031,68 +1043,68 @@ msgid "" "the stream, these should be read too." msgstr "" -#: ../../library/codecs.rst:824 +#: ../../library/codecs.rst:829 msgid "Read one line from the input stream and return the decoded data." msgstr "" -#: ../../library/codecs.rst:826 +#: ../../library/codecs.rst:831 msgid "" "*size*, if given, is passed as size argument to the stream's :meth:`read` " "method." msgstr "" -#: ../../library/codecs.rst:829 +#: ../../library/codecs.rst:834 msgid "" "If *keepends* is false line-endings will be stripped from the lines returned." msgstr "" -#: ../../library/codecs.rst:835 +#: ../../library/codecs.rst:840 msgid "" "Read all lines available on the input stream and return them as a list of " "lines." msgstr "" -#: ../../library/codecs.rst:838 +#: ../../library/codecs.rst:843 msgid "" "Line-endings are implemented using the codec's :meth:`decode` method and are " "included in the list entries if *keepends* is true." msgstr "" -#: ../../library/codecs.rst:841 +#: ../../library/codecs.rst:846 msgid "" -"*sizehint*, if given, is passed as the *size* argument to the stream's :meth:" -"`read` method." +"*sizehint*, if given, is passed as the *size* argument to the " +"stream's :meth:`read` method." msgstr "" -#: ../../library/codecs.rst:849 +#: ../../library/codecs.rst:854 msgid "" "Note that no stream repositioning should take place. This method is " "primarily intended to be able to recover from decoding errors." msgstr "" -#: ../../library/codecs.rst:853 +#: ../../library/codecs.rst:858 msgid "" "In addition to the above methods, the :class:`StreamReader` must also " "inherit all other methods and attributes from the underlying stream." msgstr "" -#: ../../library/codecs.rst:859 +#: ../../library/codecs.rst:864 msgid "StreamReaderWriter Objects" msgstr "" -#: ../../library/codecs.rst:861 +#: ../../library/codecs.rst:866 msgid "" "The :class:`StreamReaderWriter` is a convenience class that allows wrapping " "streams which work in both read and write modes." msgstr "" -#: ../../library/codecs.rst:864 ../../library/codecs.rst:888 +#: ../../library/codecs.rst:869 ../../library/codecs.rst:893 msgid "" -"The design is such that one can use the factory functions returned by the :" -"func:`lookup` function to construct the instance." +"The design is such that one can use the factory functions returned by " +"the :func:`lookup` function to construct the instance." msgstr "" -#: ../../library/codecs.rst:870 +#: ../../library/codecs.rst:875 msgid "" "Creates a :class:`StreamReaderWriter` instance. *stream* must be a file-like " "object. *Reader* and *Writer* must be factory functions or classes providing " @@ -1101,42 +1113,42 @@ msgid "" "writers." msgstr "" -#: ../../library/codecs.rst:875 +#: ../../library/codecs.rst:880 msgid "" -":class:`StreamReaderWriter` instances define the combined interfaces of :" -"class:`StreamReader` and :class:`StreamWriter` classes. They inherit all " +":class:`StreamReaderWriter` instances define the combined interfaces " +"of :class:`StreamReader` and :class:`StreamWriter` classes. They inherit all " "other methods and attributes from the underlying stream." msgstr "" -#: ../../library/codecs.rst:883 +#: ../../library/codecs.rst:888 msgid "StreamRecoder Objects" msgstr "" -#: ../../library/codecs.rst:885 +#: ../../library/codecs.rst:890 msgid "" "The :class:`StreamRecoder` translates data from one encoding to another, " "which is sometimes useful when dealing with different encoding environments." msgstr "" -#: ../../library/codecs.rst:894 +#: ../../library/codecs.rst:899 msgid "" "Creates a :class:`StreamRecoder` instance which implements a two-way " -"conversion: *encode* and *decode* work on the frontend — the data visible to " -"code calling :meth:`read` and :meth:`write`, while *Reader* and *Writer* " -"work on the backend — the data in *stream*." +"conversion: *encode* and *decode* work on the frontend — the data visible to " +"code calling :meth:`~StreamReader.read` and :meth:`~StreamWriter.write`, " +"while *Reader* and *Writer* work on the backend — the data in *stream*." msgstr "" -#: ../../library/codecs.rst:899 +#: ../../library/codecs.rst:905 msgid "" "You can use these objects to do transparent transcodings, e.g., from Latin-1 " "to UTF-8 and back." msgstr "" -#: ../../library/codecs.rst:902 +#: ../../library/codecs.rst:908 msgid "The *stream* argument must be a file-like object." msgstr "" -#: ../../library/codecs.rst:904 +#: ../../library/codecs.rst:910 msgid "" "The *encode* and *decode* arguments must adhere to the :class:`Codec` " "interface. *Reader* and *Writer* must be factory functions or classes " @@ -1144,24 +1156,24 @@ msgid "" "interface respectively." msgstr "" -#: ../../library/codecs.rst:909 +#: ../../library/codecs.rst:915 msgid "" "Error handling is done in the same way as defined for the stream readers and " "writers." msgstr "" -#: ../../library/codecs.rst:913 +#: ../../library/codecs.rst:919 msgid "" -":class:`StreamRecoder` instances define the combined interfaces of :class:" -"`StreamReader` and :class:`StreamWriter` classes. They inherit all other " -"methods and attributes from the underlying stream." +":class:`StreamRecoder` instances define the combined interfaces " +"of :class:`StreamReader` and :class:`StreamWriter` classes. They inherit all " +"other methods and attributes from the underlying stream." msgstr "" -#: ../../library/codecs.rst:921 +#: ../../library/codecs.rst:927 msgid "Encodings and Unicode" msgstr "" -#: ../../library/codecs.rst:923 +#: ../../library/codecs.rst:929 msgid "" "Strings are stored internally as sequences of code points in range " "``U+0000``--``U+10FFFF``. (See :pep:`393` for more details about the " @@ -1173,7 +1185,7 @@ msgid "" "which are collectivity referred to as :term:`text encodings `." msgstr "" -#: ../../library/codecs.rst:933 +#: ../../library/codecs.rst:939 msgid "" "The simplest text encoding (called ``'latin-1'`` or ``'iso-8859-1'``) maps " "the code points 0--255 to the bytes ``0x0``--``0xff``, which means that a " @@ -1184,7 +1196,7 @@ msgid "" "position 3: ordinal not in range(256)``." msgstr "" -#: ../../library/codecs.rst:941 +#: ../../library/codecs.rst:947 msgid "" "There's another group of encodings (the so called charmap encodings) that " "choose a different subset of all Unicode code points and how these code " @@ -1194,7 +1206,7 @@ msgid "" "that shows you which character is mapped to which byte value." msgstr "" -#: ../../library/codecs.rst:948 +#: ../../library/codecs.rst:954 msgid "" "All of these encodings can only encode 256 of the 1114112 code points " "defined in Unicode. A simple and straightforward way that can store each " @@ -1224,7 +1236,7 @@ msgid "" "normal character that will be decoded like any other." msgstr "" -#: ../../library/codecs.rst:974 +#: ../../library/codecs.rst:980 msgid "" "There's another encoding that is able to encode the full range of Unicode " "characters: UTF-8. UTF-8 is an 8-bit encoding, which means there are no " @@ -1235,59 +1247,59 @@ msgid "" "which when concatenated give the Unicode character):" msgstr "" -#: ../../library/codecs.rst:983 +#: ../../library/codecs.rst:989 msgid "Range" msgstr "" -#: ../../library/codecs.rst:983 +#: ../../library/codecs.rst:989 msgid "Encoding" msgstr "" -#: ../../library/codecs.rst:985 +#: ../../library/codecs.rst:991 msgid "``U-00000000`` ... ``U-0000007F``" -msgstr "" +msgstr "``U-00000000`` ... ``U-0000007F``" -#: ../../library/codecs.rst:985 +#: ../../library/codecs.rst:991 msgid "0xxxxxxx" -msgstr "" +msgstr "0xxxxxxx" -#: ../../library/codecs.rst:987 +#: ../../library/codecs.rst:993 msgid "``U-00000080`` ... ``U-000007FF``" -msgstr "" +msgstr "``U-00000080`` ... ``U-000007FF``" -#: ../../library/codecs.rst:987 +#: ../../library/codecs.rst:993 msgid "110xxxxx 10xxxxxx" -msgstr "" +msgstr "110xxxxx 10xxxxxx" -#: ../../library/codecs.rst:989 +#: ../../library/codecs.rst:995 msgid "``U-00000800`` ... ``U-0000FFFF``" -msgstr "" +msgstr "``U-00000800`` ... ``U-0000FFFF``" -#: ../../library/codecs.rst:989 +#: ../../library/codecs.rst:995 msgid "1110xxxx 10xxxxxx 10xxxxxx" -msgstr "" +msgstr "1110xxxx 10xxxxxx 10xxxxxx" -#: ../../library/codecs.rst:991 +#: ../../library/codecs.rst:997 msgid "``U-00010000`` ... ``U-0010FFFF``" -msgstr "" +msgstr "``U-00010000`` ... ``U-0010FFFF``" -#: ../../library/codecs.rst:991 +#: ../../library/codecs.rst:997 msgid "11110xxx 10xxxxxx 10xxxxxx 10xxxxxx" msgstr "" -#: ../../library/codecs.rst:994 +#: ../../library/codecs.rst:1000 msgid "" "The least significant bit of the Unicode character is the rightmost x bit." msgstr "" -#: ../../library/codecs.rst:996 +#: ../../library/codecs.rst:1002 msgid "" "As UTF-8 is an 8-bit encoding no BOM is required and any ``U+FEFF`` " "character in the decoded string (even if it's the first character) is " "treated as a ``ZERO WIDTH NO-BREAK SPACE``." msgstr "" -#: ../../library/codecs.rst:1000 +#: ../../library/codecs.rst:1006 msgid "" "Without external information it's impossible to reliably determine which " "encoding was used for encoding a string. Each charmap encoding can decode " @@ -1313,7 +1325,7 @@ msgstr "" msgid "INVERTED QUESTION MARK" msgstr "" -#: ../../library/codecs.rst:1016 +#: ../../library/codecs.rst:1022 msgid "" "in iso-8859-1), this increases the probability that a ``utf-8-sig`` encoding " "can be correctly guessed from the byte sequence. So here the BOM is not used " @@ -1325,11 +1337,11 @@ msgid "" "the use of the BOM is discouraged and should generally be avoided." msgstr "" -#: ../../library/codecs.rst:1029 +#: ../../library/codecs.rst:1035 msgid "Standard Encodings" msgstr "" -#: ../../library/codecs.rst:1031 +#: ../../library/codecs.rst:1037 msgid "" "Python comes with a number of codecs built-in, either implemented as C " "functions or with dictionaries as mapping tables. The following table lists " @@ -1341,7 +1353,7 @@ msgid "" "alias for the ``'utf_8'`` codec." msgstr "" -#: ../../library/codecs.rst:1041 +#: ../../library/codecs.rst:1047 msgid "" "Some common encodings can bypass the codecs lookup machinery to improve " "performance. These optimization opportunities are only recognized by CPython " @@ -1351,11 +1363,11 @@ msgid "" "Using alternative aliases for these encodings may result in slower execution." msgstr "" -#: ../../library/codecs.rst:1049 +#: ../../library/codecs.rst:1055 msgid "Optimization opportunity recognized for us-ascii." msgstr "" -#: ../../library/codecs.rst:1052 +#: ../../library/codecs.rst:1058 msgid "" "Many of the character sets support the same languages. They vary in " "individual characters (e.g. whether the EURO SIGN is supported or not), and " @@ -1363,949 +1375,949 @@ msgid "" "languages in particular, the following variants typically exist:" msgstr "" -#: ../../library/codecs.rst:1057 +#: ../../library/codecs.rst:1063 msgid "an ISO 8859 codeset" msgstr "" -#: ../../library/codecs.rst:1059 +#: ../../library/codecs.rst:1065 msgid "" "a Microsoft Windows code page, which is typically derived from an 8859 " "codeset, but replaces control characters with additional graphic characters" msgstr "" -#: ../../library/codecs.rst:1062 +#: ../../library/codecs.rst:1068 msgid "an IBM EBCDIC code page" msgstr "" -#: ../../library/codecs.rst:1064 +#: ../../library/codecs.rst:1070 msgid "an IBM PC code page, which is ASCII compatible" msgstr "" -#: ../../library/codecs.rst:1069 ../../library/codecs.rst:1324 -#: ../../library/codecs.rst:1391 ../../library/codecs.rst:1446 +#: ../../library/codecs.rst:1075 ../../library/codecs.rst:1330 +#: ../../library/codecs.rst:1398 ../../library/codecs.rst:1455 msgid "Codec" msgstr "" -#: ../../library/codecs.rst:1069 ../../library/codecs.rst:1324 -#: ../../library/codecs.rst:1391 ../../library/codecs.rst:1446 +#: ../../library/codecs.rst:1075 ../../library/codecs.rst:1330 +#: ../../library/codecs.rst:1398 ../../library/codecs.rst:1455 msgid "Aliases" msgstr "" -#: ../../library/codecs.rst:1069 +#: ../../library/codecs.rst:1075 msgid "Languages" -msgstr "" +msgstr "Idiomas" -#: ../../library/codecs.rst:1071 +#: ../../library/codecs.rst:1077 msgid "ascii" -msgstr "" +msgstr "ascii" -#: ../../library/codecs.rst:1071 +#: ../../library/codecs.rst:1077 msgid "646, us-ascii" -msgstr "" +msgstr "646, us-ascii" -#: ../../library/codecs.rst:1071 ../../library/codecs.rst:1077 -#: ../../library/codecs.rst:1085 +#: ../../library/codecs.rst:1077 ../../library/codecs.rst:1083 +#: ../../library/codecs.rst:1091 msgid "English" -msgstr "" +msgstr "Inglês" -#: ../../library/codecs.rst:1073 +#: ../../library/codecs.rst:1079 msgid "big5" -msgstr "" +msgstr "big5" -#: ../../library/codecs.rst:1073 +#: ../../library/codecs.rst:1079 msgid "big5-tw, csbig5" msgstr "" -#: ../../library/codecs.rst:1073 ../../library/codecs.rst:1075 -#: ../../library/codecs.rst:1133 +#: ../../library/codecs.rst:1079 ../../library/codecs.rst:1081 +#: ../../library/codecs.rst:1139 msgid "Traditional Chinese" msgstr "" -#: ../../library/codecs.rst:1075 +#: ../../library/codecs.rst:1081 msgid "big5hkscs" -msgstr "" +msgstr "big5hkscs" -#: ../../library/codecs.rst:1075 +#: ../../library/codecs.rst:1081 msgid "big5-hkscs, hkscs" -msgstr "" +msgstr "big5-hkscs, hkscs" -#: ../../library/codecs.rst:1077 +#: ../../library/codecs.rst:1083 msgid "cp037" -msgstr "" +msgstr "cp037" -#: ../../library/codecs.rst:1077 +#: ../../library/codecs.rst:1083 msgid "IBM037, IBM039" -msgstr "" +msgstr "IBM037, IBM039" -#: ../../library/codecs.rst:1079 +#: ../../library/codecs.rst:1085 msgid "cp273" -msgstr "" +msgstr "cp273" -#: ../../library/codecs.rst:1079 +#: ../../library/codecs.rst:1085 msgid "273, IBM273, csIBM273" -msgstr "" +msgstr "273, IBM273, csIBM273" -#: ../../library/codecs.rst:1079 +#: ../../library/codecs.rst:1085 msgid "German" -msgstr "" +msgstr "Alemão" -#: ../../library/codecs.rst:1083 +#: ../../library/codecs.rst:1089 msgid "cp424" -msgstr "" +msgstr "cp424" -#: ../../library/codecs.rst:1083 +#: ../../library/codecs.rst:1089 msgid "EBCDIC-CP-HE, IBM424" -msgstr "" +msgstr "EBCDIC-CP-HE, IBM424" -#: ../../library/codecs.rst:1083 ../../library/codecs.rst:1103 -#: ../../library/codecs.rst:1113 ../../library/codecs.rst:1156 -#: ../../library/codecs.rst:1219 +#: ../../library/codecs.rst:1089 ../../library/codecs.rst:1109 +#: ../../library/codecs.rst:1119 ../../library/codecs.rst:1162 +#: ../../library/codecs.rst:1225 msgid "Hebrew" -msgstr "" +msgstr "Hebraico" -#: ../../library/codecs.rst:1085 +#: ../../library/codecs.rst:1091 msgid "cp437" -msgstr "" +msgstr "cp437" -#: ../../library/codecs.rst:1085 +#: ../../library/codecs.rst:1091 msgid "437, IBM437" -msgstr "" +msgstr "437, IBM437" -#: ../../library/codecs.rst:1087 +#: ../../library/codecs.rst:1093 msgid "cp500" -msgstr "" +msgstr "cp500" -#: ../../library/codecs.rst:1087 +#: ../../library/codecs.rst:1093 msgid "EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500" -msgstr "" +msgstr "EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500" -#: ../../library/codecs.rst:1087 ../../library/codecs.rst:1096 -#: ../../library/codecs.rst:1107 ../../library/codecs.rst:1143 -#: ../../library/codecs.rst:1150 ../../library/codecs.rst:1203 -#: ../../library/codecs.rst:1231 ../../library/codecs.rst:1259 +#: ../../library/codecs.rst:1093 ../../library/codecs.rst:1102 +#: ../../library/codecs.rst:1113 ../../library/codecs.rst:1149 +#: ../../library/codecs.rst:1156 ../../library/codecs.rst:1209 +#: ../../library/codecs.rst:1237 ../../library/codecs.rst:1265 msgid "Western Europe" msgstr "" -#: ../../library/codecs.rst:1090 +#: ../../library/codecs.rst:1096 msgid "cp720" -msgstr "" +msgstr "cp720" -#: ../../library/codecs.rst:1090 ../../library/codecs.rst:1117 -#: ../../library/codecs.rst:1158 ../../library/codecs.rst:1215 +#: ../../library/codecs.rst:1096 ../../library/codecs.rst:1123 +#: ../../library/codecs.rst:1164 ../../library/codecs.rst:1221 msgid "Arabic" -msgstr "" +msgstr "Árabe" -#: ../../library/codecs.rst:1092 +#: ../../library/codecs.rst:1098 msgid "cp737" -msgstr "" +msgstr "cp737" -#: ../../library/codecs.rst:1092 ../../library/codecs.rst:1123 -#: ../../library/codecs.rst:1127 ../../library/codecs.rst:1152 -#: ../../library/codecs.rst:1217 ../../library/codecs.rst:1252 +#: ../../library/codecs.rst:1098 ../../library/codecs.rst:1129 +#: ../../library/codecs.rst:1133 ../../library/codecs.rst:1158 +#: ../../library/codecs.rst:1223 ../../library/codecs.rst:1258 msgid "Greek" -msgstr "" +msgstr "Grego" -#: ../../library/codecs.rst:1094 +#: ../../library/codecs.rst:1100 msgid "cp775" -msgstr "" +msgstr "cp775" -#: ../../library/codecs.rst:1094 +#: ../../library/codecs.rst:1100 msgid "IBM775" -msgstr "" +msgstr "IBM775" -#: ../../library/codecs.rst:1094 ../../library/codecs.rst:1160 -#: ../../library/codecs.rst:1210 ../../library/codecs.rst:1227 +#: ../../library/codecs.rst:1100 ../../library/codecs.rst:1166 +#: ../../library/codecs.rst:1216 ../../library/codecs.rst:1233 msgid "Baltic languages" msgstr "" -#: ../../library/codecs.rst:1096 +#: ../../library/codecs.rst:1102 msgid "cp850" -msgstr "" +msgstr "cp850" -#: ../../library/codecs.rst:1096 +#: ../../library/codecs.rst:1102 msgid "850, IBM850" -msgstr "" +msgstr "850, IBM850" -#: ../../library/codecs.rst:1098 +#: ../../library/codecs.rst:1104 msgid "cp852" -msgstr "" +msgstr "cp852" -#: ../../library/codecs.rst:1098 +#: ../../library/codecs.rst:1104 msgid "852, IBM852" -msgstr "" +msgstr "852, IBM852" -#: ../../library/codecs.rst:1098 ../../library/codecs.rst:1145 -#: ../../library/codecs.rst:1206 ../../library/codecs.rst:1256 +#: ../../library/codecs.rst:1104 ../../library/codecs.rst:1151 +#: ../../library/codecs.rst:1212 ../../library/codecs.rst:1262 msgid "Central and Eastern Europe" msgstr "" -#: ../../library/codecs.rst:1100 +#: ../../library/codecs.rst:1106 msgid "cp855" -msgstr "" +msgstr "cp855" -#: ../../library/codecs.rst:1100 +#: ../../library/codecs.rst:1106 msgid "855, IBM855" -msgstr "" +msgstr "855, IBM855" -#: ../../library/codecs.rst:1100 ../../library/codecs.rst:1147 -#: ../../library/codecs.rst:1212 ../../library/codecs.rst:1249 +#: ../../library/codecs.rst:1106 ../../library/codecs.rst:1153 +#: ../../library/codecs.rst:1218 ../../library/codecs.rst:1255 msgid "Bulgarian, Byelorussian, Macedonian, Russian, Serbian" msgstr "" -#: ../../library/codecs.rst:1103 +#: ../../library/codecs.rst:1109 msgid "cp856" -msgstr "" +msgstr "cp856" -#: ../../library/codecs.rst:1105 +#: ../../library/codecs.rst:1111 msgid "cp857" -msgstr "" +msgstr "cp857" -#: ../../library/codecs.rst:1105 +#: ../../library/codecs.rst:1111 msgid "857, IBM857" -msgstr "" +msgstr "857, IBM857" -#: ../../library/codecs.rst:1105 ../../library/codecs.rst:1137 -#: ../../library/codecs.rst:1154 ../../library/codecs.rst:1221 -#: ../../library/codecs.rst:1261 +#: ../../library/codecs.rst:1111 ../../library/codecs.rst:1143 +#: ../../library/codecs.rst:1160 ../../library/codecs.rst:1227 +#: ../../library/codecs.rst:1267 msgid "Turkish" -msgstr "" +msgstr "Turco" -#: ../../library/codecs.rst:1107 +#: ../../library/codecs.rst:1113 msgid "cp858" -msgstr "" +msgstr "cp858" -#: ../../library/codecs.rst:1107 +#: ../../library/codecs.rst:1113 msgid "858, IBM858" -msgstr "" +msgstr "858, IBM858" -#: ../../library/codecs.rst:1109 +#: ../../library/codecs.rst:1115 msgid "cp860" -msgstr "" +msgstr "cp860" -#: ../../library/codecs.rst:1109 +#: ../../library/codecs.rst:1115 msgid "860, IBM860" -msgstr "" +msgstr "860, IBM860" -#: ../../library/codecs.rst:1109 +#: ../../library/codecs.rst:1115 msgid "Portuguese" -msgstr "" +msgstr "Português" -#: ../../library/codecs.rst:1111 +#: ../../library/codecs.rst:1117 msgid "cp861" -msgstr "" +msgstr "cp861" -#: ../../library/codecs.rst:1111 +#: ../../library/codecs.rst:1117 msgid "861, CP-IS, IBM861" -msgstr "" +msgstr "861, CP-IS, IBM861" -#: ../../library/codecs.rst:1111 ../../library/codecs.rst:1254 +#: ../../library/codecs.rst:1117 ../../library/codecs.rst:1260 msgid "Icelandic" -msgstr "" +msgstr "Islandês" -#: ../../library/codecs.rst:1113 +#: ../../library/codecs.rst:1119 msgid "cp862" -msgstr "" +msgstr "cp862" -#: ../../library/codecs.rst:1113 +#: ../../library/codecs.rst:1119 msgid "862, IBM862" -msgstr "" +msgstr "862, IBM862" -#: ../../library/codecs.rst:1115 +#: ../../library/codecs.rst:1121 msgid "cp863" -msgstr "" +msgstr "cp863" -#: ../../library/codecs.rst:1115 +#: ../../library/codecs.rst:1121 msgid "863, IBM863" -msgstr "" +msgstr "863, IBM863" -#: ../../library/codecs.rst:1115 +#: ../../library/codecs.rst:1121 msgid "Canadian" -msgstr "" +msgstr "Canadense" -#: ../../library/codecs.rst:1117 +#: ../../library/codecs.rst:1123 msgid "cp864" -msgstr "" +msgstr "cp864" -#: ../../library/codecs.rst:1117 +#: ../../library/codecs.rst:1123 msgid "IBM864" -msgstr "" +msgstr "IBM864" -#: ../../library/codecs.rst:1119 +#: ../../library/codecs.rst:1125 msgid "cp865" -msgstr "" +msgstr "cp865" -#: ../../library/codecs.rst:1119 +#: ../../library/codecs.rst:1125 msgid "865, IBM865" -msgstr "" +msgstr "865, IBM865" -#: ../../library/codecs.rst:1119 +#: ../../library/codecs.rst:1125 msgid "Danish, Norwegian" msgstr "" -#: ../../library/codecs.rst:1121 +#: ../../library/codecs.rst:1127 msgid "cp866" -msgstr "" +msgstr "cp866" -#: ../../library/codecs.rst:1121 +#: ../../library/codecs.rst:1127 msgid "866, IBM866" -msgstr "" +msgstr "866, IBM866" -#: ../../library/codecs.rst:1121 ../../library/codecs.rst:1237 +#: ../../library/codecs.rst:1127 ../../library/codecs.rst:1243 msgid "Russian" -msgstr "" +msgstr "Russo" -#: ../../library/codecs.rst:1123 +#: ../../library/codecs.rst:1129 msgid "cp869" -msgstr "" +msgstr "cp869" -#: ../../library/codecs.rst:1123 +#: ../../library/codecs.rst:1129 msgid "869, CP-GR, IBM869" -msgstr "" +msgstr "869, CP-GR, IBM869" -#: ../../library/codecs.rst:1125 +#: ../../library/codecs.rst:1131 msgid "cp874" -msgstr "" +msgstr "cp874" -#: ../../library/codecs.rst:1125 +#: ../../library/codecs.rst:1131 msgid "Thai" -msgstr "" +msgstr "Tailandês" -#: ../../library/codecs.rst:1127 +#: ../../library/codecs.rst:1133 msgid "cp875" -msgstr "" +msgstr "cp875" -#: ../../library/codecs.rst:1129 +#: ../../library/codecs.rst:1135 msgid "cp932" -msgstr "" +msgstr "cp932" -#: ../../library/codecs.rst:1129 +#: ../../library/codecs.rst:1135 msgid "932, ms932, mskanji, ms-kanji" msgstr "" -#: ../../library/codecs.rst:1129 ../../library/codecs.rst:1164 -#: ../../library/codecs.rst:1166 ../../library/codecs.rst:1168 -#: ../../library/codecs.rst:1185 ../../library/codecs.rst:1188 -#: ../../library/codecs.rst:1193 ../../library/codecs.rst:1196 -#: ../../library/codecs.rst:1198 ../../library/codecs.rst:1266 -#: ../../library/codecs.rst:1269 ../../library/codecs.rst:1272 +#: ../../library/codecs.rst:1135 ../../library/codecs.rst:1170 +#: ../../library/codecs.rst:1172 ../../library/codecs.rst:1174 +#: ../../library/codecs.rst:1191 ../../library/codecs.rst:1194 +#: ../../library/codecs.rst:1199 ../../library/codecs.rst:1202 +#: ../../library/codecs.rst:1204 ../../library/codecs.rst:1272 +#: ../../library/codecs.rst:1275 ../../library/codecs.rst:1278 msgid "Japanese" -msgstr "" +msgstr "Japonês" -#: ../../library/codecs.rst:1131 +#: ../../library/codecs.rst:1137 msgid "cp949" -msgstr "" +msgstr "cp949" -#: ../../library/codecs.rst:1131 +#: ../../library/codecs.rst:1137 msgid "949, ms949, uhc" -msgstr "" +msgstr "949, ms949, uhc" -#: ../../library/codecs.rst:1131 ../../library/codecs.rst:1170 -#: ../../library/codecs.rst:1200 ../../library/codecs.rst:1235 +#: ../../library/codecs.rst:1137 ../../library/codecs.rst:1176 +#: ../../library/codecs.rst:1206 ../../library/codecs.rst:1241 msgid "Korean" -msgstr "" +msgstr "Coreano" -#: ../../library/codecs.rst:1133 +#: ../../library/codecs.rst:1139 msgid "cp950" -msgstr "" +msgstr "cp950" -#: ../../library/codecs.rst:1133 +#: ../../library/codecs.rst:1139 msgid "950, ms950" -msgstr "" +msgstr "950, ms950" -#: ../../library/codecs.rst:1135 +#: ../../library/codecs.rst:1141 msgid "cp1006" -msgstr "" +msgstr "cp1006" -#: ../../library/codecs.rst:1135 +#: ../../library/codecs.rst:1141 msgid "Urdu" msgstr "" -#: ../../library/codecs.rst:1137 +#: ../../library/codecs.rst:1143 msgid "cp1026" -msgstr "" +msgstr "cp1026" -#: ../../library/codecs.rst:1137 +#: ../../library/codecs.rst:1143 msgid "ibm1026" -msgstr "" +msgstr "ibm1026" -#: ../../library/codecs.rst:1139 +#: ../../library/codecs.rst:1145 msgid "cp1125" -msgstr "" +msgstr "cp1125" -#: ../../library/codecs.rst:1139 +#: ../../library/codecs.rst:1145 msgid "1125, ibm1125, cp866u, ruscii" msgstr "" -#: ../../library/codecs.rst:1139 ../../library/codecs.rst:1243 +#: ../../library/codecs.rst:1145 ../../library/codecs.rst:1249 msgid "Ukrainian" -msgstr "" +msgstr "Ucraniano" -#: ../../library/codecs.rst:1143 +#: ../../library/codecs.rst:1149 msgid "cp1140" -msgstr "" +msgstr "cp1140" -#: ../../library/codecs.rst:1143 +#: ../../library/codecs.rst:1149 msgid "ibm1140" -msgstr "" +msgstr "ibm1140" -#: ../../library/codecs.rst:1145 +#: ../../library/codecs.rst:1151 msgid "cp1250" -msgstr "" +msgstr "cp1250" -#: ../../library/codecs.rst:1145 +#: ../../library/codecs.rst:1151 msgid "windows-1250" -msgstr "" +msgstr "windows-1250" -#: ../../library/codecs.rst:1147 +#: ../../library/codecs.rst:1153 msgid "cp1251" -msgstr "" +msgstr "cp1251" -#: ../../library/codecs.rst:1147 +#: ../../library/codecs.rst:1153 msgid "windows-1251" -msgstr "" +msgstr "windows-1251" -#: ../../library/codecs.rst:1150 +#: ../../library/codecs.rst:1156 msgid "cp1252" msgstr "cp1252" -#: ../../library/codecs.rst:1150 +#: ../../library/codecs.rst:1156 msgid "windows-1252" -msgstr "" +msgstr "windows-1252" -#: ../../library/codecs.rst:1152 +#: ../../library/codecs.rst:1158 msgid "cp1253" -msgstr "" +msgstr "cp1253" -#: ../../library/codecs.rst:1152 +#: ../../library/codecs.rst:1158 msgid "windows-1253" -msgstr "" +msgstr "windows-1253" -#: ../../library/codecs.rst:1154 +#: ../../library/codecs.rst:1160 msgid "cp1254" -msgstr "" +msgstr "cp1254" -#: ../../library/codecs.rst:1154 +#: ../../library/codecs.rst:1160 msgid "windows-1254" -msgstr "" +msgstr "windows-1254" -#: ../../library/codecs.rst:1156 +#: ../../library/codecs.rst:1162 msgid "cp1255" -msgstr "" +msgstr "cp1255" -#: ../../library/codecs.rst:1156 +#: ../../library/codecs.rst:1162 msgid "windows-1255" -msgstr "" +msgstr "windows-1255" -#: ../../library/codecs.rst:1158 +#: ../../library/codecs.rst:1164 msgid "cp1256" -msgstr "" +msgstr "cp1256" -#: ../../library/codecs.rst:1158 +#: ../../library/codecs.rst:1164 msgid "windows-1256" -msgstr "" +msgstr "windows-1256" -#: ../../library/codecs.rst:1160 +#: ../../library/codecs.rst:1166 msgid "cp1257" -msgstr "" +msgstr "cp1257" -#: ../../library/codecs.rst:1160 +#: ../../library/codecs.rst:1166 msgid "windows-1257" -msgstr "" +msgstr "windows-1257" -#: ../../library/codecs.rst:1162 +#: ../../library/codecs.rst:1168 msgid "cp1258" -msgstr "" +msgstr "cp1258" -#: ../../library/codecs.rst:1162 +#: ../../library/codecs.rst:1168 msgid "windows-1258" -msgstr "" +msgstr "windows-1258" -#: ../../library/codecs.rst:1162 +#: ../../library/codecs.rst:1168 msgid "Vietnamese" -msgstr "" +msgstr "Vietnamita" -#: ../../library/codecs.rst:1164 +#: ../../library/codecs.rst:1170 msgid "euc_jp" -msgstr "" +msgstr "euc_jp" -#: ../../library/codecs.rst:1164 +#: ../../library/codecs.rst:1170 msgid "eucjp, ujis, u-jis" -msgstr "" +msgstr "eucjp, ujis, u-jis" -#: ../../library/codecs.rst:1166 +#: ../../library/codecs.rst:1172 msgid "euc_jis_2004" -msgstr "" +msgstr "euc_jis_2004" -#: ../../library/codecs.rst:1166 +#: ../../library/codecs.rst:1172 msgid "jisx0213, eucjis2004" -msgstr "" +msgstr "jisx0213, eucjis2004" -#: ../../library/codecs.rst:1168 +#: ../../library/codecs.rst:1174 msgid "euc_jisx0213" -msgstr "" +msgstr "euc_jisx0213" -#: ../../library/codecs.rst:1168 +#: ../../library/codecs.rst:1174 msgid "eucjisx0213" -msgstr "" +msgstr "eucjisx0213" -#: ../../library/codecs.rst:1170 +#: ../../library/codecs.rst:1176 msgid "euc_kr" -msgstr "" +msgstr "euc_kr" -#: ../../library/codecs.rst:1170 +#: ../../library/codecs.rst:1176 msgid "euckr, korean, ksc5601, ks_c-5601, ks_c-5601-1987, ksx1001, ks_x-1001" msgstr "" -#: ../../library/codecs.rst:1174 +#: ../../library/codecs.rst:1180 msgid "gb2312" -msgstr "" +msgstr "gb2312" -#: ../../library/codecs.rst:1174 +#: ../../library/codecs.rst:1180 msgid "" "chinese, csiso58gb231280, euc-cn, euccn, eucgb2312-cn, gb2312-1980, " "gb2312-80, iso-ir-58" msgstr "" -#: ../../library/codecs.rst:1174 ../../library/codecs.rst:1183 +#: ../../library/codecs.rst:1180 ../../library/codecs.rst:1189 msgid "Simplified Chinese" msgstr "" -#: ../../library/codecs.rst:1179 +#: ../../library/codecs.rst:1185 msgid "gbk" -msgstr "" +msgstr "gbk" -#: ../../library/codecs.rst:1179 +#: ../../library/codecs.rst:1185 msgid "936, cp936, ms936" -msgstr "" +msgstr "936, cp936, ms936" -#: ../../library/codecs.rst:1179 ../../library/codecs.rst:1181 +#: ../../library/codecs.rst:1185 ../../library/codecs.rst:1187 msgid "Unified Chinese" msgstr "" -#: ../../library/codecs.rst:1181 +#: ../../library/codecs.rst:1187 msgid "gb18030" -msgstr "" +msgstr "gb18030" -#: ../../library/codecs.rst:1181 +#: ../../library/codecs.rst:1187 msgid "gb18030-2000" -msgstr "" +msgstr "gb18030-2000" -#: ../../library/codecs.rst:1183 +#: ../../library/codecs.rst:1189 msgid "hz" -msgstr "" +msgstr "hz" -#: ../../library/codecs.rst:1183 +#: ../../library/codecs.rst:1189 msgid "hzgb, hz-gb, hz-gb-2312" -msgstr "" +msgstr "hzgb, hz-gb, hz-gb-2312" -#: ../../library/codecs.rst:1185 +#: ../../library/codecs.rst:1191 msgid "iso2022_jp" -msgstr "" +msgstr "iso2022_jp" -#: ../../library/codecs.rst:1185 +#: ../../library/codecs.rst:1191 msgid "csiso2022jp, iso2022jp, iso-2022-jp" -msgstr "" +msgstr "csiso2022jp, iso2022jp, iso-2022-jp" -#: ../../library/codecs.rst:1188 +#: ../../library/codecs.rst:1194 msgid "iso2022_jp_1" -msgstr "" +msgstr "iso2022_jp_1" -#: ../../library/codecs.rst:1188 +#: ../../library/codecs.rst:1194 msgid "iso2022jp-1, iso-2022-jp-1" -msgstr "" +msgstr "iso2022jp-1, iso-2022-jp-1" -#: ../../library/codecs.rst:1190 +#: ../../library/codecs.rst:1196 msgid "iso2022_jp_2" -msgstr "" +msgstr "iso2022_jp_2" -#: ../../library/codecs.rst:1190 +#: ../../library/codecs.rst:1196 msgid "iso2022jp-2, iso-2022-jp-2" -msgstr "" +msgstr "iso2022jp-2, iso-2022-jp-2" -#: ../../library/codecs.rst:1190 +#: ../../library/codecs.rst:1196 msgid "Japanese, Korean, Simplified Chinese, Western Europe, Greek" msgstr "" -#: ../../library/codecs.rst:1193 +#: ../../library/codecs.rst:1199 msgid "iso2022_jp_2004" -msgstr "" +msgstr "iso2022_jp_2004" -#: ../../library/codecs.rst:1193 +#: ../../library/codecs.rst:1199 msgid "iso2022jp-2004, iso-2022-jp-2004" -msgstr "" +msgstr "iso2022jp-2004, iso-2022-jp-2004" -#: ../../library/codecs.rst:1196 +#: ../../library/codecs.rst:1202 msgid "iso2022_jp_3" -msgstr "" +msgstr "iso2022_jp_3" -#: ../../library/codecs.rst:1196 +#: ../../library/codecs.rst:1202 msgid "iso2022jp-3, iso-2022-jp-3" -msgstr "" +msgstr "iso2022jp-3, iso-2022-jp-3" -#: ../../library/codecs.rst:1198 +#: ../../library/codecs.rst:1204 msgid "iso2022_jp_ext" -msgstr "" +msgstr "iso2022_jp_ext" -#: ../../library/codecs.rst:1198 +#: ../../library/codecs.rst:1204 msgid "iso2022jp-ext, iso-2022-jp-ext" -msgstr "" +msgstr "iso2022jp-ext, iso-2022-jp-ext" -#: ../../library/codecs.rst:1200 +#: ../../library/codecs.rst:1206 msgid "iso2022_kr" -msgstr "" +msgstr "iso2022_kr" -#: ../../library/codecs.rst:1200 +#: ../../library/codecs.rst:1206 msgid "csiso2022kr, iso2022kr, iso-2022-kr" -msgstr "" +msgstr "csiso2022kr, iso2022kr, iso-2022-kr" -#: ../../library/codecs.rst:1203 +#: ../../library/codecs.rst:1209 msgid "latin_1" -msgstr "" +msgstr "latin_1" -#: ../../library/codecs.rst:1203 +#: ../../library/codecs.rst:1209 msgid "iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1" msgstr "" -#: ../../library/codecs.rst:1206 +#: ../../library/codecs.rst:1212 msgid "iso8859_2" -msgstr "" +msgstr "iso8859_2" -#: ../../library/codecs.rst:1206 +#: ../../library/codecs.rst:1212 msgid "iso-8859-2, latin2, L2" -msgstr "" +msgstr "iso-8859-2, latin2, L2" -#: ../../library/codecs.rst:1208 +#: ../../library/codecs.rst:1214 msgid "iso8859_3" -msgstr "" +msgstr "iso8859_3" -#: ../../library/codecs.rst:1208 +#: ../../library/codecs.rst:1214 msgid "iso-8859-3, latin3, L3" -msgstr "" +msgstr "iso-8859-3, latin3, L3" -#: ../../library/codecs.rst:1208 +#: ../../library/codecs.rst:1214 msgid "Esperanto, Maltese" msgstr "" -#: ../../library/codecs.rst:1210 +#: ../../library/codecs.rst:1216 msgid "iso8859_4" -msgstr "" +msgstr "iso8859_4" -#: ../../library/codecs.rst:1210 +#: ../../library/codecs.rst:1216 msgid "iso-8859-4, latin4, L4" -msgstr "" +msgstr "iso-8859-4, latin4, L4" -#: ../../library/codecs.rst:1212 +#: ../../library/codecs.rst:1218 msgid "iso8859_5" msgstr "iso8859_5" -#: ../../library/codecs.rst:1212 +#: ../../library/codecs.rst:1218 msgid "iso-8859-5, cyrillic" -msgstr "" +msgstr "iso-8859-5, cyrillic" -#: ../../library/codecs.rst:1215 +#: ../../library/codecs.rst:1221 msgid "iso8859_6" -msgstr "" +msgstr "iso8859_6" -#: ../../library/codecs.rst:1215 +#: ../../library/codecs.rst:1221 msgid "iso-8859-6, arabic" msgstr "" -#: ../../library/codecs.rst:1217 +#: ../../library/codecs.rst:1223 msgid "iso8859_7" -msgstr "" +msgstr "iso8859_7" -#: ../../library/codecs.rst:1217 +#: ../../library/codecs.rst:1223 msgid "iso-8859-7, greek, greek8" msgstr "" -#: ../../library/codecs.rst:1219 +#: ../../library/codecs.rst:1225 msgid "iso8859_8" -msgstr "" +msgstr "iso8859_8" -#: ../../library/codecs.rst:1219 +#: ../../library/codecs.rst:1225 msgid "iso-8859-8, hebrew" msgstr "" -#: ../../library/codecs.rst:1221 +#: ../../library/codecs.rst:1227 msgid "iso8859_9" -msgstr "" +msgstr "iso8859_9" -#: ../../library/codecs.rst:1221 +#: ../../library/codecs.rst:1227 msgid "iso-8859-9, latin5, L5" -msgstr "" +msgstr "iso-8859-9, latin5, L5" -#: ../../library/codecs.rst:1223 +#: ../../library/codecs.rst:1229 msgid "iso8859_10" -msgstr "" +msgstr "iso8859_10" -#: ../../library/codecs.rst:1223 +#: ../../library/codecs.rst:1229 msgid "iso-8859-10, latin6, L6" -msgstr "" +msgstr "iso-8859-10, latin6, L6" -#: ../../library/codecs.rst:1223 +#: ../../library/codecs.rst:1229 msgid "Nordic languages" msgstr "" -#: ../../library/codecs.rst:1225 +#: ../../library/codecs.rst:1231 msgid "iso8859_11" -msgstr "" +msgstr "iso8859_11" -#: ../../library/codecs.rst:1225 +#: ../../library/codecs.rst:1231 msgid "iso-8859-11, thai" msgstr "" -#: ../../library/codecs.rst:1225 +#: ../../library/codecs.rst:1231 msgid "Thai languages" msgstr "" -#: ../../library/codecs.rst:1227 +#: ../../library/codecs.rst:1233 msgid "iso8859_13" -msgstr "" +msgstr "iso8859_13" -#: ../../library/codecs.rst:1227 +#: ../../library/codecs.rst:1233 msgid "iso-8859-13, latin7, L7" -msgstr "" +msgstr "iso-8859-13, latin7, L7" -#: ../../library/codecs.rst:1229 +#: ../../library/codecs.rst:1235 msgid "iso8859_14" -msgstr "" +msgstr "iso8859_14" -#: ../../library/codecs.rst:1229 +#: ../../library/codecs.rst:1235 msgid "iso-8859-14, latin8, L8" -msgstr "" +msgstr "iso-8859-14, latin8, L8" -#: ../../library/codecs.rst:1229 +#: ../../library/codecs.rst:1235 msgid "Celtic languages" msgstr "" -#: ../../library/codecs.rst:1231 +#: ../../library/codecs.rst:1237 msgid "iso8859_15" -msgstr "" +msgstr "iso8859_15" -#: ../../library/codecs.rst:1231 +#: ../../library/codecs.rst:1237 msgid "iso-8859-15, latin9, L9" -msgstr "" +msgstr "iso-8859-15, latin9, L9" -#: ../../library/codecs.rst:1233 +#: ../../library/codecs.rst:1239 msgid "iso8859_16" -msgstr "" +msgstr "iso8859_16" -#: ../../library/codecs.rst:1233 +#: ../../library/codecs.rst:1239 msgid "iso-8859-16, latin10, L10" -msgstr "" +msgstr "iso-8859-16, latin10, L10" -#: ../../library/codecs.rst:1233 +#: ../../library/codecs.rst:1239 msgid "South-Eastern Europe" msgstr "" -#: ../../library/codecs.rst:1235 +#: ../../library/codecs.rst:1241 msgid "johab" msgstr "" -#: ../../library/codecs.rst:1235 +#: ../../library/codecs.rst:1241 msgid "cp1361, ms1361" -msgstr "" +msgstr "cp1361, ms1361" -#: ../../library/codecs.rst:1237 +#: ../../library/codecs.rst:1243 msgid "koi8_r" -msgstr "" +msgstr "koi8_r" -#: ../../library/codecs.rst:1239 +#: ../../library/codecs.rst:1245 msgid "koi8_t" -msgstr "" +msgstr "koi8_t" -#: ../../library/codecs.rst:1239 +#: ../../library/codecs.rst:1245 msgid "Tajik" -msgstr "" +msgstr "Tajik" -#: ../../library/codecs.rst:1243 +#: ../../library/codecs.rst:1249 msgid "koi8_u" -msgstr "" +msgstr "koi8_u" -#: ../../library/codecs.rst:1245 +#: ../../library/codecs.rst:1251 msgid "kz1048" -msgstr "" +msgstr "kz1048" -#: ../../library/codecs.rst:1245 +#: ../../library/codecs.rst:1251 msgid "kz_1048, strk1048_2002, rk1048" -msgstr "" +msgstr "kz_1048, strk1048_2002, rk1048" -#: ../../library/codecs.rst:1245 ../../library/codecs.rst:1263 +#: ../../library/codecs.rst:1251 ../../library/codecs.rst:1269 msgid "Kazakh" -msgstr "" +msgstr "Cazaque" -#: ../../library/codecs.rst:1249 +#: ../../library/codecs.rst:1255 msgid "mac_cyrillic" -msgstr "" +msgstr "mac_cyrillic" -#: ../../library/codecs.rst:1249 +#: ../../library/codecs.rst:1255 msgid "maccyrillic" -msgstr "" +msgstr "maccyrillic" -#: ../../library/codecs.rst:1252 +#: ../../library/codecs.rst:1258 msgid "mac_greek" -msgstr "" +msgstr "mac_greek" -#: ../../library/codecs.rst:1252 +#: ../../library/codecs.rst:1258 msgid "macgreek" -msgstr "" +msgstr "macgreek" -#: ../../library/codecs.rst:1254 +#: ../../library/codecs.rst:1260 msgid "mac_iceland" -msgstr "" +msgstr "mac_iceland" -#: ../../library/codecs.rst:1254 +#: ../../library/codecs.rst:1260 msgid "maciceland" -msgstr "" +msgstr "maciceland" -#: ../../library/codecs.rst:1256 +#: ../../library/codecs.rst:1262 msgid "mac_latin2" -msgstr "" +msgstr "mac_latin2" -#: ../../library/codecs.rst:1256 +#: ../../library/codecs.rst:1262 msgid "maclatin2, maccentraleurope, mac_centeuro" -msgstr "" +msgstr "maclatin2, maccentraleurope, mac_centeuro" -#: ../../library/codecs.rst:1259 +#: ../../library/codecs.rst:1265 msgid "mac_roman" -msgstr "" +msgstr "mac_roman" -#: ../../library/codecs.rst:1259 +#: ../../library/codecs.rst:1265 msgid "macroman, macintosh" msgstr "" -#: ../../library/codecs.rst:1261 +#: ../../library/codecs.rst:1267 msgid "mac_turkish" -msgstr "" +msgstr "mac_turkish" -#: ../../library/codecs.rst:1261 +#: ../../library/codecs.rst:1267 msgid "macturkish" -msgstr "" +msgstr "macturkish" -#: ../../library/codecs.rst:1263 +#: ../../library/codecs.rst:1269 msgid "ptcp154" -msgstr "" +msgstr "ptcp154" -#: ../../library/codecs.rst:1263 +#: ../../library/codecs.rst:1269 msgid "csptcp154, pt154, cp154, cyrillic-asian" msgstr "" -#: ../../library/codecs.rst:1266 +#: ../../library/codecs.rst:1272 msgid "shift_jis" -msgstr "" +msgstr "shift_jis" -#: ../../library/codecs.rst:1266 +#: ../../library/codecs.rst:1272 msgid "csshiftjis, shiftjis, sjis, s_jis" msgstr "" -#: ../../library/codecs.rst:1269 +#: ../../library/codecs.rst:1275 msgid "shift_jis_2004" -msgstr "" +msgstr "shift_jis_2004" -#: ../../library/codecs.rst:1269 +#: ../../library/codecs.rst:1275 msgid "shiftjis2004, sjis_2004, sjis2004" -msgstr "" +msgstr "shiftjis2004, sjis_2004, sjis2004" -#: ../../library/codecs.rst:1272 +#: ../../library/codecs.rst:1278 msgid "shift_jisx0213" -msgstr "" +msgstr "shift_jisx0213" -#: ../../library/codecs.rst:1272 +#: ../../library/codecs.rst:1278 msgid "shiftjisx0213, sjisx0213, s_jisx0213" -msgstr "" +msgstr "shiftjisx0213, sjisx0213, s_jisx0213" -#: ../../library/codecs.rst:1275 +#: ../../library/codecs.rst:1281 msgid "utf_32" -msgstr "" +msgstr "utf_32" -#: ../../library/codecs.rst:1275 +#: ../../library/codecs.rst:1281 msgid "U32, utf32" msgstr "U32, utf32" -#: ../../library/codecs.rst:1275 ../../library/codecs.rst:1277 -#: ../../library/codecs.rst:1279 ../../library/codecs.rst:1281 -#: ../../library/codecs.rst:1283 ../../library/codecs.rst:1285 -#: ../../library/codecs.rst:1287 ../../library/codecs.rst:1289 -#: ../../library/codecs.rst:1291 +#: ../../library/codecs.rst:1281 ../../library/codecs.rst:1283 +#: ../../library/codecs.rst:1285 ../../library/codecs.rst:1287 +#: ../../library/codecs.rst:1289 ../../library/codecs.rst:1291 +#: ../../library/codecs.rst:1293 ../../library/codecs.rst:1295 +#: ../../library/codecs.rst:1297 msgid "all languages" msgstr "todas linguagens" -#: ../../library/codecs.rst:1277 +#: ../../library/codecs.rst:1283 msgid "utf_32_be" msgstr "utf_32_be" -#: ../../library/codecs.rst:1277 +#: ../../library/codecs.rst:1283 msgid "UTF-32BE" msgstr "UTF-32BE" -#: ../../library/codecs.rst:1279 +#: ../../library/codecs.rst:1285 msgid "utf_32_le" msgstr "utf_32_le" -#: ../../library/codecs.rst:1279 +#: ../../library/codecs.rst:1285 msgid "UTF-32LE" -msgstr "" +msgstr "UTF-32LE" -#: ../../library/codecs.rst:1281 +#: ../../library/codecs.rst:1287 msgid "utf_16" -msgstr "" +msgstr "utf_16" -#: ../../library/codecs.rst:1281 +#: ../../library/codecs.rst:1287 msgid "U16, utf16" -msgstr "" +msgstr "U16, utf16" -#: ../../library/codecs.rst:1283 +#: ../../library/codecs.rst:1289 msgid "utf_16_be" -msgstr "" +msgstr "utf_16_be" -#: ../../library/codecs.rst:1283 +#: ../../library/codecs.rst:1289 msgid "UTF-16BE" -msgstr "" +msgstr "UTF-16BE" -#: ../../library/codecs.rst:1285 +#: ../../library/codecs.rst:1291 msgid "utf_16_le" -msgstr "" +msgstr "utf_16_le" -#: ../../library/codecs.rst:1285 +#: ../../library/codecs.rst:1291 msgid "UTF-16LE" -msgstr "" +msgstr "UTF-16LE" -#: ../../library/codecs.rst:1287 +#: ../../library/codecs.rst:1293 msgid "utf_7" -msgstr "" +msgstr "utf_7" -#: ../../library/codecs.rst:1287 +#: ../../library/codecs.rst:1293 msgid "U7, unicode-1-1-utf-7" -msgstr "" +msgstr "U7, unicode-1-1-utf-7" -#: ../../library/codecs.rst:1289 +#: ../../library/codecs.rst:1295 msgid "utf_8" -msgstr "" +msgstr "utf_8" -#: ../../library/codecs.rst:1289 +#: ../../library/codecs.rst:1295 msgid "U8, UTF, utf8, cp65001" msgstr "" -#: ../../library/codecs.rst:1291 +#: ../../library/codecs.rst:1297 msgid "utf_8_sig" -msgstr "" +msgstr "utf_8_sig" -#: ../../library/codecs.rst:1294 +#: ../../library/codecs.rst:1300 msgid "" "The utf-16\\* and utf-32\\* encoders no longer allow surrogate code points " "(``U+D800``--``U+DFFF``) to be encoded. The utf-32\\* decoders no longer " "decode byte sequences that correspond to surrogate code points." msgstr "" -#: ../../library/codecs.rst:1300 +#: ../../library/codecs.rst:1306 msgid "``cp65001`` is now an alias to ``utf_8``." msgstr "" -#: ../../library/codecs.rst:1305 +#: ../../library/codecs.rst:1311 msgid "Python Specific Encodings" msgstr "" -#: ../../library/codecs.rst:1307 +#: ../../library/codecs.rst:1313 msgid "" "A number of predefined codecs are specific to Python, so their codec names " "have no meaning outside Python. These are listed in the tables below based " @@ -2315,272 +2327,273 @@ msgid "" "asymmetric codecs, the stated meaning describes the encoding direction." msgstr "" -#: ../../library/codecs.rst:1315 +#: ../../library/codecs.rst:1321 msgid "Text Encodings" msgstr "" -#: ../../library/codecs.rst:1317 +#: ../../library/codecs.rst:1323 msgid "" -"The following codecs provide :class:`str` to :class:`bytes` encoding and :" -"term:`bytes-like object` to :class:`str` decoding, similar to the Unicode " -"text encodings." +"The following codecs provide :class:`str` to :class:`bytes` encoding " +"and :term:`bytes-like object` to :class:`str` decoding, similar to the " +"Unicode text encodings." msgstr "" -#: ../../library/codecs.rst:1326 +#: ../../library/codecs.rst:1332 msgid "idna" -msgstr "" +msgstr "idna" -#: ../../library/codecs.rst:1326 +#: ../../library/codecs.rst:1332 msgid "" "Implement :rfc:`3490`, see also :mod:`encodings.idna`. Only " "``errors='strict'`` is supported." msgstr "" -#: ../../library/codecs.rst:1332 +#: ../../library/codecs.rst:1338 msgid "mbcs" -msgstr "" +msgstr "mbcs" -#: ../../library/codecs.rst:1332 +#: ../../library/codecs.rst:1338 msgid "ansi, dbcs" -msgstr "" +msgstr "ansi, dbcs" -#: ../../library/codecs.rst:1332 +#: ../../library/codecs.rst:1338 msgid "" "Windows only: Encode the operand according to the ANSI codepage (CP_ACP)." msgstr "" -#: ../../library/codecs.rst:1336 +#: ../../library/codecs.rst:1342 msgid "oem" -msgstr "" +msgstr "oem" -#: ../../library/codecs.rst:1336 +#: ../../library/codecs.rst:1342 msgid "" "Windows only: Encode the operand according to the OEM codepage (CP_OEMCP)." msgstr "" -#: ../../library/codecs.rst:1342 +#: ../../library/codecs.rst:1348 msgid "palmos" msgstr "" -#: ../../library/codecs.rst:1342 +#: ../../library/codecs.rst:1348 msgid "Encoding of PalmOS 3.5." msgstr "" -#: ../../library/codecs.rst:1344 +#: ../../library/codecs.rst:1350 msgid "punycode" -msgstr "" +msgstr "punycode" -#: ../../library/codecs.rst:1344 +#: ../../library/codecs.rst:1350 msgid "Implement :rfc:`3492`. Stateful codecs are not supported." msgstr "" -#: ../../library/codecs.rst:1348 +#: ../../library/codecs.rst:1354 msgid "raw_unicode_escape" -msgstr "" +msgstr "raw_unicode_escape" -#: ../../library/codecs.rst:1348 +#: ../../library/codecs.rst:1354 msgid "" -"Latin-1 encoding with ``\\uXXXX`` and ``\\UXXXXXXXX`` for other code points. " -"Existing backslashes are not escaped in any way. It is used in the Python " -"pickle protocol." +"Latin-1 encoding with :samp:`\\\\u{XXXX}` and :samp:`\\\\U{XXXXXXXX}` for " +"other code points. Existing backslashes are not escaped in any way. It is " +"used in the Python pickle protocol." msgstr "" -#: ../../library/codecs.rst:1357 +#: ../../library/codecs.rst:1364 msgid "undefined" msgstr "" -#: ../../library/codecs.rst:1357 +#: ../../library/codecs.rst:1364 msgid "" "Raise an exception for all conversions, even empty strings. The error " "handler is ignored." msgstr "" -#: ../../library/codecs.rst:1362 +#: ../../library/codecs.rst:1369 msgid "unicode_escape" -msgstr "" +msgstr "unicode_escape" -#: ../../library/codecs.rst:1362 +#: ../../library/codecs.rst:1369 msgid "" "Encoding suitable as the contents of a Unicode literal in ASCII-encoded " "Python source code, except that quotes are not escaped. Decode from Latin-1 " "source code. Beware that Python source code actually uses UTF-8 by default." msgstr "" -#: ../../library/codecs.rst:1374 +#: ../../library/codecs.rst:1381 msgid "\"unicode_internal\" codec is removed." msgstr "" -#: ../../library/codecs.rst:1381 +#: ../../library/codecs.rst:1388 msgid "Binary Transforms" msgstr "" -#: ../../library/codecs.rst:1383 +#: ../../library/codecs.rst:1390 msgid "" "The following codecs provide binary transforms: :term:`bytes-like object` " "to :class:`bytes` mappings. They are not supported by :meth:`bytes.decode` " "(which only produces :class:`str` output)." msgstr "" -#: ../../library/codecs.rst:1391 +#: ../../library/codecs.rst:1398 msgid "Encoder / decoder" msgstr "" -#: ../../library/codecs.rst:1393 +#: ../../library/codecs.rst:1400 msgid "base64_codec [#b64]_" -msgstr "" +msgstr "base64_codec [#b64]_" -#: ../../library/codecs.rst:1393 +#: ../../library/codecs.rst:1400 msgid "base64, base_64" -msgstr "" +msgstr "base64, base_64" -#: ../../library/codecs.rst:1393 +#: ../../library/codecs.rst:1400 msgid "" "Convert the operand to multiline MIME base64 (the result always includes a " "trailing ``'\\n'``)." msgstr "" -#: ../../library/codecs.rst:1398 +#: ../../library/codecs.rst:1405 msgid "" "accepts any :term:`bytes-like object` as input for encoding and decoding" msgstr "" -#: ../../library/codecs.rst:1393 +#: ../../library/codecs.rst:1400 msgid ":meth:`base64.encodebytes` / :meth:`base64.decodebytes`" msgstr ":meth:`base64.encodebytes` / :meth:`base64.decodebytes`" -#: ../../library/codecs.rst:1404 +#: ../../library/codecs.rst:1411 msgid "bz2_codec" -msgstr "" +msgstr "bz2_codec" -#: ../../library/codecs.rst:1404 +#: ../../library/codecs.rst:1411 msgid "bz2" msgstr "bz2" -#: ../../library/codecs.rst:1404 +#: ../../library/codecs.rst:1411 msgid "Compress the operand using bz2." msgstr "" -#: ../../library/codecs.rst:1404 +#: ../../library/codecs.rst:1411 msgid ":meth:`bz2.compress` / :meth:`bz2.decompress`" msgstr ":meth:`bz2.compress` / :meth:`bz2.decompress`" -#: ../../library/codecs.rst:1407 +#: ../../library/codecs.rst:1414 msgid "hex_codec" -msgstr "" +msgstr "hex_codec" -#: ../../library/codecs.rst:1407 +#: ../../library/codecs.rst:1414 msgid "hex" -msgstr "" +msgstr "hex" -#: ../../library/codecs.rst:1407 +#: ../../library/codecs.rst:1414 msgid "" "Convert the operand to hexadecimal representation, with two digits per byte." msgstr "" -#: ../../library/codecs.rst:1407 +#: ../../library/codecs.rst:1414 msgid ":meth:`binascii.b2a_hex` / :meth:`binascii.a2b_hex`" msgstr ":meth:`binascii.b2a_hex` / :meth:`binascii.a2b_hex`" -#: ../../library/codecs.rst:1412 +#: ../../library/codecs.rst:1419 msgid "quopri_codec" -msgstr "" +msgstr "quopri_codec" -#: ../../library/codecs.rst:1412 +#: ../../library/codecs.rst:1419 msgid "quopri, quotedprintable, quoted_printable" msgstr "" -#: ../../library/codecs.rst:1412 +#: ../../library/codecs.rst:1419 msgid "Convert the operand to MIME quoted printable." msgstr "" -#: ../../library/codecs.rst:1412 +#: ../../library/codecs.rst:1419 msgid ":meth:`quopri.encode` with ``quotetabs=True`` / :meth:`quopri.decode`" msgstr ":meth:`quopri.encode` with ``quotetabs=True`` / :meth:`quopri.decode`" -#: ../../library/codecs.rst:1416 +#: ../../library/codecs.rst:1423 msgid "uu_codec" -msgstr "" +msgstr "uu_codec" -#: ../../library/codecs.rst:1416 +#: ../../library/codecs.rst:1423 msgid "uu" msgstr "uu" -#: ../../library/codecs.rst:1416 +#: ../../library/codecs.rst:1423 msgid "Convert the operand using uuencode." msgstr "" -#: ../../library/codecs.rst:1416 -msgid ":meth:`uu.encode` / :meth:`uu.decode`" -msgstr ":meth:`uu.encode` / :meth:`uu.decode`" +#: ../../library/codecs.rst:1423 +msgid "" +":meth:`!uu.encode` / :meth:`!uu.decode` (Note: :mod:`uu` is deprecated.)" +msgstr "" -#: ../../library/codecs.rst:1419 +#: ../../library/codecs.rst:1428 msgid "zlib_codec" -msgstr "" +msgstr "zlib_codec" -#: ../../library/codecs.rst:1419 +#: ../../library/codecs.rst:1428 msgid "zip, zlib" msgstr "" -#: ../../library/codecs.rst:1419 +#: ../../library/codecs.rst:1428 msgid "Compress the operand using gzip." msgstr "" -#: ../../library/codecs.rst:1419 +#: ../../library/codecs.rst:1428 msgid ":meth:`zlib.compress` / :meth:`zlib.decompress`" msgstr ":meth:`zlib.compress` / :meth:`zlib.decompress`" -#: ../../library/codecs.rst:1423 +#: ../../library/codecs.rst:1432 msgid "" "In addition to :term:`bytes-like objects `, " "``'base64_codec'`` also accepts ASCII-only instances of :class:`str` for " "decoding" msgstr "" -#: ../../library/codecs.rst:1427 +#: ../../library/codecs.rst:1436 msgid "Restoration of the binary transforms." msgstr "" -#: ../../library/codecs.rst:1430 +#: ../../library/codecs.rst:1439 msgid "Restoration of the aliases for the binary transforms." msgstr "" -#: ../../library/codecs.rst:1437 +#: ../../library/codecs.rst:1446 msgid "Text Transforms" msgstr "" -#: ../../library/codecs.rst:1439 +#: ../../library/codecs.rst:1448 msgid "" -"The following codec provides a text transform: a :class:`str` to :class:" -"`str` mapping. It is not supported by :meth:`str.encode` (which only " -"produces :class:`bytes` output)." +"The following codec provides a text transform: a :class:`str` " +"to :class:`str` mapping. It is not supported by :meth:`str.encode` (which " +"only produces :class:`bytes` output)." msgstr "" -#: ../../library/codecs.rst:1448 +#: ../../library/codecs.rst:1457 msgid "rot_13" -msgstr "" +msgstr "rot_13" -#: ../../library/codecs.rst:1448 +#: ../../library/codecs.rst:1457 msgid "rot13" -msgstr "" +msgstr "rot13" -#: ../../library/codecs.rst:1448 +#: ../../library/codecs.rst:1457 msgid "Return the Caesar-cypher encryption of the operand." msgstr "" -#: ../../library/codecs.rst:1453 +#: ../../library/codecs.rst:1462 msgid "Restoration of the ``rot_13`` text transform." msgstr "" -#: ../../library/codecs.rst:1456 +#: ../../library/codecs.rst:1465 msgid "Restoration of the ``rot13`` alias." msgstr "" -#: ../../library/codecs.rst:1461 +#: ../../library/codecs.rst:1470 msgid "" ":mod:`encodings.idna` --- Internationalized Domain Names in Applications" msgstr "" -#: ../../library/codecs.rst:1467 +#: ../../library/codecs.rst:1476 msgid "" "This module implements :rfc:`3490` (Internationalized Domain Names in " "Applications) and :rfc:`3492` (Nameprep: A Stringprep Profile for " @@ -2588,27 +2601,27 @@ msgid "" "encoding and :mod:`stringprep`." msgstr "" -#: ../../library/codecs.rst:1472 +#: ../../library/codecs.rst:1481 msgid "" "If you need the IDNA 2008 standard from :rfc:`5891` and :rfc:`5895`, use the " "third-party `idna module `_." msgstr "" -#: ../../library/codecs.rst:1475 +#: ../../library/codecs.rst:1484 msgid "" "These RFCs together define a protocol to support non-ASCII characters in " -"domain names. A domain name containing non-ASCII characters (such as ``www." -"Alliancefrançaise.nu``) is converted into an ASCII-compatible encoding (ACE, " -"such as ``www.xn--alliancefranaise-npb.nu``). The ACE form of the domain " -"name is then used in all places where arbitrary characters are not allowed " -"by the protocol, such as DNS queries, HTTP :mailheader:`Host` fields, and so " -"on. This conversion is carried out in the application; if possible invisible " -"to the user: The application should transparently convert Unicode domain " -"labels to IDNA on the wire, and convert back ACE labels to Unicode before " -"presenting them to the user." +"domain names. A domain name containing non-ASCII characters (such as " +"``www.Alliancefrançaise.nu``) is converted into an ASCII-compatible encoding " +"(ACE, such as ``www.xn--alliancefranaise-npb.nu``). The ACE form of the " +"domain name is then used in all places where arbitrary characters are not " +"allowed by the protocol, such as DNS queries, HTTP :mailheader:`Host` " +"fields, and so on. This conversion is carried out in the application; if " +"possible invisible to the user: The application should transparently convert " +"Unicode domain labels to IDNA on the wire, and convert back ACE labels to " +"Unicode before presenting them to the user." msgstr "" -#: ../../library/codecs.rst:1486 +#: ../../library/codecs.rst:1495 msgid "" "Python supports this conversion in several ways: the ``idna`` codec " "performs conversion between Unicode and ACE, separating an input string into " @@ -2619,20 +2632,20 @@ msgid "" "the :mod:`socket` module transparently converts Unicode host names to ACE, " "so that applications need not be concerned about converting host names " "themselves when they pass them to the socket module. On top of that, modules " -"that have host names as function parameters, such as :mod:`http.client` and :" -"mod:`ftplib`, accept Unicode host names (:mod:`http.client` then also " +"that have host names as function parameters, such as :mod:`http.client` " +"and :mod:`ftplib`, accept Unicode host names (:mod:`http.client` then also " "transparently sends an IDNA hostname in the :mailheader:`Host` field if it " "sends that field at all)." msgstr "" -#: ../../library/codecs.rst:1499 +#: ../../library/codecs.rst:1508 msgid "" "When receiving host names from the wire (such as in reverse name lookup), no " "automatic conversion to Unicode is performed: applications wishing to " "present such host names to the user should decode them to Unicode." msgstr "" -#: ../../library/codecs.rst:1503 +#: ../../library/codecs.rst:1512 msgid "" "The module :mod:`encodings.idna` also implements the nameprep procedure, " "which performs certain normalizations on host names, to achieve case-" @@ -2640,49 +2653,49 @@ msgid "" "characters. The nameprep functions can be used directly if desired." msgstr "" -#: ../../library/codecs.rst:1511 +#: ../../library/codecs.rst:1520 msgid "" "Return the nameprepped version of *label*. The implementation currently " "assumes query strings, so ``AllowUnassigned`` is true." msgstr "" -#: ../../library/codecs.rst:1517 +#: ../../library/codecs.rst:1526 msgid "" "Convert a label to ASCII, as specified in :rfc:`3490`. ``UseSTD3ASCIIRules`` " "is assumed to be false." msgstr "" -#: ../../library/codecs.rst:1523 +#: ../../library/codecs.rst:1532 msgid "Convert a label to Unicode, as specified in :rfc:`3490`." msgstr "" -#: ../../library/codecs.rst:1527 +#: ../../library/codecs.rst:1536 msgid ":mod:`encodings.mbcs` --- Windows ANSI codepage" msgstr "" -#: ../../library/codecs.rst:1532 +#: ../../library/codecs.rst:1541 msgid "This module implements the ANSI codepage (CP_ACP)." msgstr "" -#: ../../library/codecs.rst:1534 +#: ../../library/codecs.rst:1543 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." -#: ../../library/codecs.rst:1536 -msgid "Support any error handler." -msgstr "" - -#: ../../library/codecs.rst:1539 +#: ../../library/codecs.rst:1545 msgid "" "Before 3.2, the *errors* argument was ignored; ``'replace'`` was always used " "to encode, and ``'ignore'`` to decode." msgstr "" -#: ../../library/codecs.rst:1545 +#: ../../library/codecs.rst:1549 +msgid "Support any error handler." +msgstr "" + +#: ../../library/codecs.rst:1554 msgid ":mod:`encodings.utf_8_sig` --- UTF-8 codec with BOM signature" msgstr "" -#: ../../library/codecs.rst:1551 +#: ../../library/codecs.rst:1560 msgid "" "This module implements a variant of the UTF-8 codec. On encoding, a UTF-8 " "encoded BOM will be prepended to the UTF-8 encoded bytes. For the stateful " @@ -2690,3 +2703,88 @@ msgid "" "decoding, an optional UTF-8 encoded BOM at the start of the data will be " "skipped." msgstr "" + +#: ../../library/codecs.rst:13 +msgid "Unicode" +msgstr "Unicode" + +#: ../../library/codecs.rst:13 +msgid "encode" +msgstr "" + +#: ../../library/codecs.rst:13 +msgid "decode" +msgstr "" + +#: ../../library/codecs.rst:13 +msgid "streams" +msgstr "" + +#: ../../library/codecs.rst:13 +msgid "stackable" +msgstr "" + +#: ../../library/codecs.rst:312 +msgid "strict" +msgstr "" + +#: ../../library/codecs.rst:312 ../../library/codecs.rst:364 +#: ../../library/codecs.rst:387 +msgid "error handler's name" +msgstr "" + +#: ../../library/codecs.rst:312 +msgid "ignore" +msgstr "" + +#: ../../library/codecs.rst:312 +msgid "replace" +msgstr "" + +#: ../../library/codecs.rst:312 +msgid "backslashreplace" +msgstr "backslashreplace" + +#: ../../library/codecs.rst:312 +msgid "surrogateescape" +msgstr "surrogateescape" + +#: ../../library/codecs.rst:312 +msgid "? (question mark)" +msgstr "? (interrogação)" + +#: ../../library/codecs.rst:312 +msgid "replacement character" +msgstr "" + +#: ../../library/codecs.rst:312 +msgid "\\ (backslash)" +msgstr "\\ (contrabarra)" + +#: ../../library/codecs.rst:312 ../../library/codecs.rst:364 +msgid "escape sequence" +msgstr "sequência de escape" + +#: ../../library/codecs.rst:312 +msgid "\\x" +msgstr "\\x" + +#: ../../library/codecs.rst:312 +msgid "\\u" +msgstr "\\u" + +#: ../../library/codecs.rst:312 +msgid "\\U" +msgstr "\\U" + +#: ../../library/codecs.rst:364 +msgid "xmlcharrefreplace" +msgstr "xmlcharrefreplace" + +#: ../../library/codecs.rst:364 +msgid "namereplace" +msgstr "namereplace" + +#: ../../library/codecs.rst:387 +msgid "surrogatepass" +msgstr "surrogatepass" diff --git a/library/codeop.po b/library/codeop.po index c01e76b9f..b5c32c167 100644 --- a/library/codeop.po +++ b/library/codeop.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,9 +40,9 @@ msgid "" "module instead." msgstr "" "O módulo :mod:`codeop` fornece utilitários sobre os quais o loop de leitura-" -"execução-exibição do Python pode ser emulado, como é feito no módulo :mod:" -"`code`. Como resultado, você provavelmente não deseja usar o módulo " -"diretamente; se você deseja incluir tal loop em seu programa, você " +"execução-exibição do Python pode ser emulado, como é feito no " +"módulo :mod:`code`. Como resultado, você provavelmente não deseja usar o " +"módulo diretamente; se você deseja incluir tal loop em seu programa, você " "provavelmente deseja usar o módulo :mod:`code`." #: ../../library/codeop.rst:20 @@ -94,20 +93,20 @@ msgstr "" #: ../../library/codeop.rst:41 msgid "" -"If there is a problem with *source*, an exception will be raised. :exc:" -"`SyntaxError` is raised if there is invalid Python syntax, and :exc:" -"`OverflowError` or :exc:`ValueError` if there is an invalid literal." +"If there is a problem with *source*, an exception will be " +"raised. :exc:`SyntaxError` is raised if there is invalid Python syntax, " +"and :exc:`OverflowError` or :exc:`ValueError` if there is an invalid literal." msgstr "" -"Se houver um problema com *source*, uma exceção será levantada. :exc:" -"`SyntaxError` é levantada se houver sintaxe Python inválida, e :exc:" -"`OverflowError` ou :exc:`ValueError` se houver um literal inválido." +"Se houver um problema com *source*, uma exceção será " +"levantada. :exc:`SyntaxError` é levantada se houver sintaxe Python inválida, " +"e :exc:`OverflowError` ou :exc:`ValueError` se houver um literal inválido." #: ../../library/codeop.rst:45 msgid "" "The *symbol* argument determines whether *source* is compiled as a statement " "(``'single'``, the default), as a sequence of :term:`statement` (``'exec'``) " -"or as an :term:`expression` (``'eval'``). Any other value will cause :exc:" -"`ValueError` to be raised." +"or as an :term:`expression` (``'eval'``). Any other value will " +"cause :exc:`ValueError` to be raised." msgstr "" "O argumento *symbol* determina se *source* é compilado como uma instrução " "(``'single'``, o padrão), como uma sequência de :term:`instruções " @@ -132,28 +131,28 @@ msgstr "" #: ../../library/codeop.rst:61 msgid "" -"Instances of this class have :meth:`__call__` methods identical in signature " -"to the built-in function :func:`compile`, but with the difference that if " -"the instance compiles program text containing a :mod:`__future__` statement, " -"the instance 'remembers' and compiles all subsequent program texts with the " -"statement in force." +"Instances of this class have :meth:`~object.__call__` methods identical in " +"signature to the built-in function :func:`compile`, but with the difference " +"that if the instance compiles program text containing a :mod:`__future__` " +"statement, the instance 'remembers' and compiles all subsequent program " +"texts with the statement in force." msgstr "" -"Instâncias desta classe têm métodos :meth:`__call__` idênticos em assinatura " -"à função embutida :func:`compile`, mas com a diferença de que se a instância " -"compilar o texto do programa contendo uma instrução :mod:`__future__`, a " -"instância se \"lembra\" e compila todos os textos de programa subsequentes " -"com a instrução em vigor." +"Instâncias desta classe têm métodos :meth:`~object.__call__` idênticos em " +"assinatura à função embutida :func:`compile`, mas com a diferença de que se " +"a instância compilar o texto do programa contendo uma " +"instrução :mod:`__future__`, a instância se \"lembra\" e compila todos os " +"textos de programa subsequentes com a instrução em vigor." #: ../../library/codeop.rst:70 msgid "" -"Instances of this class have :meth:`__call__` methods identical in signature " -"to :func:`compile_command`; the difference is that if the instance compiles " -"program text containing a :mod:`__future__` statement, the instance " +"Instances of this class have :meth:`~object.__call__` methods identical in " +"signature to :func:`compile_command`; the difference is that if the instance " +"compiles program text containing a :mod:`__future__` statement, the instance " "'remembers' and compiles all subsequent program texts with the statement in " "force." msgstr "" -"Instâncias desta classe têm métodos :meth:`__call__` idênticos em assinatura " -"a :func:`compile_command`; a diferença é que se a instância compila o texto " -"do programa contendo uma instrução :mod:`__future__`, a instância se " -"\"lembra\" e compila todos os textos do programa subsequentes com a " -"instrução em vigor." +"Instâncias desta classe têm métodos :meth:`~object.__call__` idênticos em " +"assinatura a :func:`compile_command`; a diferença é que se a instância " +"compila o texto do programa contendo uma instrução :mod:`__future__`, a " +"instância se \"lembra\" e compila todos os textos do programa subsequentes " +"com a instrução em vigor." diff --git a/library/collections.abc.po b/library/collections.abc.po index 6b4872362..0e82b8a9a 100644 --- a/library/collections.abc.po +++ b/library/collections.abc.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Vinícius Muniz de Melo , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,14 +39,20 @@ msgstr "**Código-fonte:** :source:`Lib/_collections_abc.py`" msgid "" "This module provides :term:`abstract base classes ` " "that can be used to test whether a class provides a particular interface; " -"for example, whether it is :term:`hashable` or whether it is a mapping." +"for example, whether it is :term:`hashable` or whether it is " +"a :term:`mapping`." msgstr "" +"Esse módulo fornece :term:`classes base abstratas ` que " +"podem ser usadas para testar se uma classe fornece uma interface específica; " +"por exemplo, se é :term:`hasheável` ou se é um :term:`mapeamento`." #: ../../library/collections.abc.rst:27 msgid "" "An :func:`issubclass` or :func:`isinstance` test for an interface works in " "one of three ways." msgstr "" +"Um teste :func:`issubclass` ou :func:`isinstance` para uma interface " +"funciona em uma das três formas." #: ../../library/collections.abc.rst:30 msgid "" @@ -57,6 +61,10 @@ msgid "" "remaining mixin methods come from inheritance and can be overridden if " "desired. Other methods may be added as needed:" msgstr "" +"1) Uma classe recém-escrita pode herdar diretamente de uma das classes base " +"abstratas. A classe deve fornecer os métodos abstratos necessários. Os " +"métodos mixin restantes vêm da herança e podem ser substituídos se desejado. " +"Outros métodos podem ser adicionados conforme necessário:" #: ../../library/collections.abc.rst:50 msgid "" @@ -67,21 +75,35 @@ msgid "" "determine whether the full interface is supported. The exception to this " "rule is for methods that are automatically inferred from the rest of the API:" msgstr "" +"2) Classes existentes e classes embutidas podem ser registradas como " +"\"subclasses virtuais\" dos ABCs. Essas classes devem definir a API " +"completa, incluindo todos os métodos abstratos e todos os métodos mixin. " +"Isso permite que os usuários confiem nos testes :func:`issubclass` " +"ou :func:`isinstance` para determinar se a interface completa é suportada. A " +"exceção a essa regra é para métodos que são automaticamente inferidos do " +"restante da API:" #: ../../library/collections.abc.rst:76 msgid "" -"In this example, class :class:`D` does not need to define ``__contains__``, " +"In this example, class :class:`!D` does not need to define ``__contains__``, " "``__iter__``, and ``__reversed__`` because the :ref:`in-operator " -"`, the :term:`iteration ` logic, and the :func:" -"`reversed` function automatically fall back to using ``__getitem__`` and " -"``__len__``." +"`, the :term:`iteration ` logic, and " +"the :func:`reversed` function automatically fall back to using " +"``__getitem__`` and ``__len__``." msgstr "" +"Neste exemplo, a classe :class:`!D` não precisa definir ``__contains__``, " +"``__iter__`` e ``__reversed__`` porque o :ref:`operador in `, a " +"lógica :term:`iteration ` e a função :func:`reversed` retornam " +"automaticamente para o uso de ``__getitem__`` e ``__len__``." #: ../../library/collections.abc.rst:82 msgid "" "3) Some simple interfaces are directly recognizable by the presence of the " "required methods (unless those methods have been set to :const:`None`):" msgstr "" +"3) Algumas interfaces simples são diretamente reconhecíveis pela presença " +"dos métodos necessários (a menos que esses métodos tenham sido definidos " +"como :const:`None`):" #: ../../library/collections.abc.rst:99 msgid "" @@ -92,12 +114,20 @@ msgid "" "class supplies ``__getitem__``, ``__len__``, and ``__iter__`` is " "insufficient for distinguishing a :class:`Sequence` from a :class:`Mapping`." msgstr "" +"Interfaces complexas não oferecem suporte a esta última técnica porque uma " +"interface é mais do que apenas a presença de nomes de métodos. Interfaces " +"especificam semântica e relacionamentos entre métodos que não podem ser " +"inferidos somente da presença de nomes de métodos específicos. Por exemplo, " +"saber que uma classe fornece ``__getitem__``, ``__len__`` e ``__iter__`` é " +"insuficiente para distinguir uma :class:`Sequence` de uma :class:`Mapping`." #: ../../library/collections.abc.rst:107 msgid "" "These abstract classes now support ``[]``. See :ref:`types-genericalias` " "and :pep:`585`." msgstr "" +"Essas classes abstratas agora oferecem suporte a ``[]``. Veja :ref:`types-" +"genericalias` e :pep:`585`." #: ../../library/collections.abc.rst:114 msgid "Collections Abstract Base Classes" @@ -120,15 +150,15 @@ msgstr "Herda de" #: ../../library/collections.abc.rst:121 msgid "Abstract Methods" -msgstr "Métodos Abstratos" +msgstr "Métodos abstratos" #: ../../library/collections.abc.rst:121 msgid "Mixin Methods" -msgstr "Métodos Mixin" +msgstr "Métodos mixin" #: ../../library/collections.abc.rst:123 msgid ":class:`Container` [1]_" -msgstr "" +msgstr ":class:`Container` [1]_" #: ../../library/collections.abc.rst:123 msgid "``__contains__``" @@ -136,7 +166,7 @@ msgstr "``__contains__``" #: ../../library/collections.abc.rst:124 msgid ":class:`Hashable` [1]_" -msgstr "" +msgstr ":class:`Hashable` [1]_" #: ../../library/collections.abc.rst:124 msgid "``__hash__``" @@ -144,7 +174,7 @@ msgstr "``__hash__``" #: ../../library/collections.abc.rst:125 msgid ":class:`Iterable` [1]_ [2]_" -msgstr "" +msgstr ":class:`Iterable` [1]_ [2]_" #: ../../library/collections.abc.rst:125 ../../library/collections.abc.rst:126 msgid "``__iter__``" @@ -152,7 +182,7 @@ msgstr "``__iter__``" #: ../../library/collections.abc.rst:126 msgid ":class:`Iterator` [1]_" -msgstr "" +msgstr ":class:`Iterator` [1]_" #: ../../library/collections.abc.rst:126 ../../library/collections.abc.rst:127 msgid ":class:`Iterable`" @@ -164,7 +194,7 @@ msgstr "``__next__``" #: ../../library/collections.abc.rst:127 msgid ":class:`Reversible` [1]_" -msgstr "" +msgstr ":class:`Reversible` [1]_" #: ../../library/collections.abc.rst:127 msgid "``__reversed__``" @@ -172,7 +202,7 @@ msgstr "``__reversed__``" #: ../../library/collections.abc.rst:128 msgid ":class:`Generator` [1]_" -msgstr "" +msgstr ":class:`Generator` [1]_" #: ../../library/collections.abc.rst:128 msgid ":class:`Iterator`" @@ -188,7 +218,7 @@ msgstr "``close``, ``__iter__``, ``__next__``" #: ../../library/collections.abc.rst:129 msgid ":class:`Sized` [1]_" -msgstr "" +msgstr ":class:`Sized` [1]_" #: ../../library/collections.abc.rst:129 ../../library/collections.abc.rst:168 msgid "``__len__``" @@ -196,7 +226,7 @@ msgstr "``__len__``" #: ../../library/collections.abc.rst:130 msgid ":class:`Callable` [1]_" -msgstr "" +msgstr ":class:`Callable` [1]_" #: ../../library/collections.abc.rst:130 msgid "``__call__``" @@ -204,7 +234,7 @@ msgstr "``__call__``" #: ../../library/collections.abc.rst:131 msgid ":class:`Collection` [1]_" -msgstr "" +msgstr ":class:`Collection` [1]_" #: ../../library/collections.abc.rst:131 msgid ":class:`Sized`, :class:`Iterable`, :class:`Container`" @@ -245,11 +275,11 @@ msgstr "" #: ../../library/collections.abc.rst:138 msgid "" -"Inherited :class:`Sequence` methods and ``append``, ``reverse``, ``extend``, " -"``pop``, ``remove``, and ``__iadd__``" +"Inherited :class:`Sequence` methods and ``append``, ``clear``, ``reverse``, " +"``extend``, ``pop``, ``remove``, and ``__iadd__``" msgstr "" -"Herdado os métodos da :class:`Sequence` e ``append``, ``reverse``, " -"``extend``, ``pop``, ``remove``, e ``__iadd__``" +"Herdados métodos de :class:`Sequence` e ``append``, ``clear``, ``reverse``, " +"``extend``, ``pop``, ``remove`` e ``__iadd__``" #: ../../library/collections.abc.rst:144 msgid ":class:`ByteString`" @@ -257,7 +287,7 @@ msgstr ":class:`ByteString`" #: ../../library/collections.abc.rst:144 msgid "Inherited :class:`Sequence` methods" -msgstr "Herdado :class:`Sequence` métodos" +msgstr "Métodos herdados de :class:`Sequence`" #: ../../library/collections.abc.rst:147 ../../library/collections.abc.rst:151 msgid ":class:`Set`" @@ -360,7 +390,7 @@ msgstr ":class:`MappingView`, :class:`Collection`" #: ../../library/collections.abc.rst:175 msgid ":class:`Awaitable` [1]_" -msgstr "" +msgstr ":class:`Awaitable` [1]_" #: ../../library/collections.abc.rst:175 msgid "``__await__``" @@ -368,7 +398,7 @@ msgstr "``__await__``" #: ../../library/collections.abc.rst:176 msgid ":class:`Coroutine` [1]_" -msgstr "" +msgstr ":class:`Coroutine` [1]_" #: ../../library/collections.abc.rst:176 msgid ":class:`Awaitable`" @@ -380,7 +410,7 @@ msgstr "``close``" #: ../../library/collections.abc.rst:177 msgid ":class:`AsyncIterable` [1]_" -msgstr "" +msgstr ":class:`AsyncIterable` [1]_" #: ../../library/collections.abc.rst:177 ../../library/collections.abc.rst:178 msgid "``__aiter__``" @@ -388,7 +418,7 @@ msgstr "``__aiter__``" #: ../../library/collections.abc.rst:178 msgid ":class:`AsyncIterator` [1]_" -msgstr "" +msgstr ":class:`AsyncIterator` [1]_" #: ../../library/collections.abc.rst:178 msgid ":class:`AsyncIterable`" @@ -400,7 +430,7 @@ msgstr "``__anext__``" #: ../../library/collections.abc.rst:179 msgid ":class:`AsyncGenerator` [1]_" -msgstr "" +msgstr ":class:`AsyncGenerator` [1]_" #: ../../library/collections.abc.rst:179 msgid ":class:`AsyncIterator`" @@ -420,191 +450,218 @@ msgstr "Notas de rodapé" #: ../../library/collections.abc.rst:185 msgid "" -"These ABCs override :meth:`object.__subclasshook__` to support testing an " -"interface by verifying the required methods are present and have not been " +"These ABCs override :meth:`~abc.ABCMeta.__subclasshook__` to support testing " +"an interface by verifying the required methods are present and have not been " "set to :const:`None`. This only works for simple interfaces. More complex " "interfaces require registration or direct subclassing." msgstr "" +"Essas ABCs substituem :meth:`~abc.ABCMeta.__subclasshook__` para dar suporte " +"ao teste de uma interface verificando se os métodos necessários estão " +"presentes e não foram definidos como :const:`None`. Isso só funciona para " +"interfaces simples. Interfaces mais complexas exigem registro ou " +"subclassificação direta." #: ../../library/collections.abc.rst:191 msgid "" "Checking ``isinstance(obj, Iterable)`` detects classes that are registered " -"as :class:`Iterable` or that have an :meth:`__iter__` method, but it does " -"not detect classes that iterate with the :meth:`__getitem__` method. The " -"only reliable way to determine whether an object is :term:`iterable` is to " -"call ``iter(obj)``." +"as :class:`Iterable` or that have an :meth:`~container.__iter__` method, but " +"it does not detect classes that iterate with the :meth:`~object.__getitem__` " +"method. The only reliable way to determine whether an object " +"is :term:`iterable` is to call ``iter(obj)``." msgstr "" +"A verificação ``isinstance(obj, Iterable)`` detecta classes que são " +"registradas como :class:`Iterable` ou que possuem um " +"método :meth:`~container.__iter__`, mas que não detecta classes que iteram " +"com o método :meth:`~object.__getitem__`. A única maneira confiável de " +"determinar se um objeto é :term:`iterável` é chamar ``iter(obj)``." #: ../../library/collections.abc.rst:199 msgid "Collections Abstract Base Classes -- Detailed Descriptions" -msgstr "" +msgstr "Classes Base Abstrata de Coleções -- Descrições Detalhadas" #: ../../library/collections.abc.rst:204 -msgid "ABC for classes that provide the :meth:`__contains__` method." -msgstr "ABC para classes que fornecem o método :meth:`__contains__`." +msgid "ABC for classes that provide the :meth:`~object.__contains__` method." +msgstr "ABC para classes que fornecem o método :meth:`~object.__contains__`." #: ../../library/collections.abc.rst:208 -msgid "ABC for classes that provide the :meth:`__hash__` method." -msgstr "ABC para classes que fornecem o método :meth:`__hash__`." +msgid "ABC for classes that provide the :meth:`~object.__hash__` method." +msgstr "ABC para classes que fornecem o método :meth:`~object.__hash__`." #: ../../library/collections.abc.rst:212 -msgid "ABC for classes that provide the :meth:`__len__` method." -msgstr "ABC para classes que fornecem o método :meth:`__len__`." +msgid "ABC for classes that provide the :meth:`~object.__len__` method." +msgstr "ABC para classes que fornecem o método :meth:`~object.__len__`." #: ../../library/collections.abc.rst:216 -msgid "ABC for classes that provide the :meth:`__call__` method." -msgstr "ABC para classes que fornecem o método :meth:`__call__`." +msgid "ABC for classes that provide the :meth:`~object.__call__` method." +msgstr "ABC para classes que fornecem o método :meth:`~object.__call__`." #: ../../library/collections.abc.rst:220 -msgid "ABC for classes that provide the :meth:`__iter__` method." -msgstr "ABC para classes que fornecem o método :meth:`__iter__`." +msgid "ABC for classes that provide the :meth:`~container.__iter__` method." +msgstr "ABC para classes que fornecem o método :meth:`~container.__iter__`." #: ../../library/collections.abc.rst:222 msgid "" "Checking ``isinstance(obj, Iterable)`` detects classes that are registered " -"as :class:`Iterable` or that have an :meth:`__iter__` method, but it does " -"not detect classes that iterate with the :meth:`__getitem__` method. The " -"only reliable way to determine whether an object is :term:`iterable` is to " -"call ``iter(obj)``." +"as :class:`Iterable` or that have an :meth:`~container.__iter__` method, but " +"it does not detect classes that iterate with the :meth:`~object.__getitem__` " +"method. The only reliable way to determine whether an object " +"is :term:`iterable` is to call ``iter(obj)``." msgstr "" "A verificação ``isinstance(obj, Iterable)`` detecta classes que são " -"registradas como :class:`Iterable` ou que possuem um método :meth:" -"`__iter__`, mas que não detecta classes que iteram com o método :meth:" -"`__getitem__`. A única maneira confiável de determinar se um objeto é :term:" -"`iterável` é chamar ``iter(obj)``." +"registradas como :class:`Iterable` ou que possuem um " +"método :meth:`~container.__iter__`, mas que não detecta classes que iteram " +"com o método :meth:`~object.__getitem__`. A única maneira confiável de " +"determinar se um objeto é :term:`iterável` é chamar ``iter(obj)``." -#: ../../library/collections.abc.rst:230 +#: ../../library/collections.abc.rst:231 msgid "ABC for sized iterable container classes." msgstr "ABC para classes de contêiner iterável de tamanho." -#: ../../library/collections.abc.rst:236 +#: ../../library/collections.abc.rst:237 msgid "" -"ABC for classes that provide the :meth:`~iterator.__iter__` and :meth:" -"`~iterator.__next__` methods. See also the definition of :term:`iterator`." +"ABC for classes that provide the :meth:`~iterator.__iter__` " +"and :meth:`~iterator.__next__` methods. See also the definition " +"of :term:`iterator`." msgstr "" "ABC para classes que fornecem os métodos :meth:`~iterator.__iter__` e " -"métodos :meth:`~iterator.__next__`. Veja também a definição de :term:" -"`iterator`." +"métodos :meth:`~iterator.__next__`. Veja também a definição " +"de :term:`iterator`." -#: ../../library/collections.abc.rst:242 +#: ../../library/collections.abc.rst:243 msgid "" -"ABC for iterable classes that also provide the :meth:`__reversed__` method." +"ABC for iterable classes that also provide the :meth:`~object.__reversed__` " +"method." msgstr "" -"ABC para classes iteráveis que também fornecem o método :meth:`__reversed__`." +"ABC para classes iteráveis que também fornecem o " +"método :meth:`~object.__reversed__`." -#: ../../library/collections.abc.rst:249 +#: ../../library/collections.abc.rst:250 msgid "" -"ABC for generator classes that implement the protocol defined in :pep:`342` " -"that extends iterators with the :meth:`~generator.send`, :meth:`~generator." -"throw` and :meth:`~generator.close` methods. See also the definition of :" -"term:`generator`." +"ABC for :term:`generator` classes that implement the protocol defined " +"in :pep:`342` that extends :term:`iterators ` with " +"the :meth:`~generator.send`, :meth:`~generator.throw` " +"and :meth:`~generator.close` methods." msgstr "" -"ABC para classes geradores que implementam o protocolo definido em :pep:" -"`342` que estende os iteradores com os métodos :meth:`~generator.send`, :" -"meth:`~generator.throw` e :meth:`~generator.close`. Veja também a definição " -"de :term:`gerador`." +"ABC para classes :term:`geradores ` que implementam o protocolo " +"definido em :pep:`342` que estende os :term:`iteradores ` com os " +"métodos :meth:`~generator.send`, :meth:`~generator.throw` " +"e :meth:`~generator.close`." -#: ../../library/collections.abc.rst:260 +#: ../../library/collections.abc.rst:261 msgid "ABCs for read-only and mutable :term:`sequences `." msgstr "ABCs para :term:`sequências ` somente de leitura e mutáveis." -#: ../../library/collections.abc.rst:262 -msgid "" -"Implementation note: Some of the mixin methods, such as :meth:`__iter__`, :" -"meth:`__reversed__` and :meth:`index`, make repeated calls to the " -"underlying :meth:`__getitem__` method. Consequently, if :meth:`__getitem__` " -"is implemented with constant access speed, the mixin methods will have " -"linear performance; however, if the underlying method is linear (as it would " -"be with a linked list), the mixins will have quadratic performance and will " -"likely need to be overridden." -msgstr "" -"Nota de implementação: Alguns dos métodos mixin, como :meth:`__iter__`, :" -"meth:`__reversed__` e :meth:`index`, fazem chamadas repetidas para o método " -"subjacente :meth:`__getitem__`. Consequentemente, se :meth:`__getitem__` for " -"implementado com velocidade de acesso constante, os métodos mixin terão " -"desempenho linear; no entanto se o método subjacente for linear (como seria " -"com uma lista encadeada), os mixins terão desempenho quadrático e " -"provavelmente precisará ser substituído." - -#: ../../library/collections.abc.rst:271 +#: ../../library/collections.abc.rst:263 +msgid "" +"Implementation note: Some of the mixin methods, such " +"as :meth:`~container.__iter__`, :meth:`~object.__reversed__` " +"and :meth:`index`, make repeated calls to the " +"underlying :meth:`~object.__getitem__` method. Consequently, " +"if :meth:`~object.__getitem__` is implemented with constant access speed, " +"the mixin methods will have linear performance; however, if the underlying " +"method is linear (as it would be with a linked list), the mixins will have " +"quadratic performance and will likely need to be overridden." +msgstr "" +"Nota de implementação: Alguns dos métodos mixin, " +"como :meth:`~container.__iter__`, :meth:`~object.__reversed__` " +"e :meth:`index`, fazem chamadas repetidas para o método " +"subjacente :meth:`~object.__getitem__`. Consequentemente, " +"se :meth:`~object.__getitem__` for implementado com velocidade de acesso " +"constante, os métodos mixin terão desempenho linear; no entanto se o método " +"subjacente for linear (como seria com uma lista encadeada), os mixins terão " +"desempenho quadrático e provavelmente precisará ser substituído." + +#: ../../library/collections.abc.rst:272 msgid "The index() method added support for *stop* and *start* arguments." msgstr "" "O método index() adicionou suporte para os argumentos *stop* e *start*." -#: ../../library/collections.abc.rst:278 -msgid "ABCs for read-only and mutable sets." -msgstr "ABCs para sets somente leitura e mutável." +#: ../../library/collections.abc.rst:279 +msgid "ABCs for read-only and mutable :ref:`sets `." +msgstr "ABCs para :ref:`conjuntos ` somente leitura e mutáveis." -#: ../../library/collections.abc.rst:283 +#: ../../library/collections.abc.rst:284 msgid "ABCs for read-only and mutable :term:`mappings `." msgstr "ABCs para somente leitura e mutável :term:`mappings `." -#: ../../library/collections.abc.rst:290 +#: ../../library/collections.abc.rst:291 msgid "" "ABCs for mapping, items, keys, and values :term:`views `." msgstr "" "ABCs para mapeamento, itens, chaves e valores :term:`views `." -#: ../../library/collections.abc.rst:294 +#: ../../library/collections.abc.rst:295 msgid "" "ABC for :term:`awaitable` objects, which can be used in :keyword:`await` " -"expressions. Custom implementations must provide the :meth:`__await__` " -"method." +"expressions. Custom implementations must provide " +"the :meth:`~object.__await__` method." msgstr "" "ABC para objetos :term:`aguardáveis `, que podem ser usados em " "expressões de :keyword:`await`. Implementações personalizadas devem fornecer " -"o método :meth:`__await__`." +"o método :meth:`~object.__await__`." -#: ../../library/collections.abc.rst:298 +#: ../../library/collections.abc.rst:299 msgid "" -":term:`Coroutine ` objects and instances of the :class:" -"`~collections.abc.Coroutine` ABC are all instances of this ABC." +":term:`Coroutine ` objects and instances of " +"the :class:`~collections.abc.Coroutine` ABC are all instances of this ABC." msgstr "" -"Objetos e instâncias de :term:`corrotina ` da ABC :class:" -"`~collections.abc.Coroutine` são todas instâncias dessa ABC." +"Objetos e instâncias de :term:`corrotina ` da " +"ABC :class:`~collections.abc.Coroutine` são todas instâncias dessa ABC." -#: ../../library/collections.abc.rst:302 +#: ../../library/collections.abc.rst:303 msgid "" -"In CPython, generator-based coroutines (generators decorated with :func:" -"`types.coroutine`) are *awaitables*, even though they do not have an :meth:" -"`__await__` method. Using ``isinstance(gencoro, Awaitable)`` for them will " -"return ``False``. Use :func:`inspect.isawaitable` to detect them." +"In CPython, generator-based coroutines (:term:`generators ` " +"decorated with :func:`@types.coroutine `) are *awaitables*, " +"even though they do not have an :meth:`~object.__await__` method. Using " +"``isinstance(gencoro, Awaitable)`` for them will return ``False``. " +"Use :func:`inspect.isawaitable` to detect them." msgstr "" +"No CPython, as corrotinas baseados em gerador (:term:`geradores ` " +"decorados com :func:`@types.coroutine `) são *aguardáveis*, " +"embora não possuam o método :meth:`~object.__await__`. Usar " +"``isinstance(gencoro, Awaitable)`` para eles retornará ``False``. " +"Use :func:`inspect.isawaitable` para detectá-los." -#: ../../library/collections.abc.rst:312 +#: ../../library/collections.abc.rst:313 msgid "" -"ABC for coroutine compatible classes. These implement the following " -"methods, defined in :ref:`coroutine-objects`: :meth:`~coroutine.send`, :meth:" -"`~coroutine.throw`, and :meth:`~coroutine.close`. Custom implementations " -"must also implement :meth:`__await__`. All :class:`Coroutine` instances are " -"also instances of :class:`Awaitable`. See also the definition of :term:" -"`coroutine`." +"ABC for :term:`coroutine` compatible classes. These implement the following " +"methods, defined in :ref:`coroutine-" +"objects`: :meth:`~coroutine.send`, :meth:`~coroutine.throw`, " +"and :meth:`~coroutine.close`. Custom implementations must also " +"implement :meth:`~object.__await__`. All :class:`Coroutine` instances are " +"also instances of :class:`Awaitable`." msgstr "" -"ABC para classes compatíveis com corrotina. Eles implementam os seguintes " -"métodos, definidos em :ref:`coroutine-objects`: :meth:`~coroutine.send`, :" -"meth:`~coroutine.throw`, e :meth:`~coroutine.close`. Implementações " -"personalizadas também devem implementar :meth:`__await__`. Todas as " -"instâncias :class:`Coroutine` também são instâncias de :class:`Awaitable`. " -"Veja também a definição de :term:`corrotina`." +"ABC para classes compatíveis com :term:`corrotina`. Eles implementam os " +"seguintes métodos, definidos em :ref:`coroutine-" +"objects`: :meth:`~coroutine.send`, :meth:`~coroutine.throw`, " +"e :meth:`~coroutine.close`. Implementações personalizadas também devem " +"implementar :meth:`~object.__await__`. Todas as " +"instâncias :class:`Coroutine` também são instâncias de :class:`Awaitable`." -#: ../../library/collections.abc.rst:320 +#: ../../library/collections.abc.rst:321 msgid "" -"In CPython, generator-based coroutines (generators decorated with :func:" -"`types.coroutine`) are *awaitables*, even though they do not have an :meth:" -"`__await__` method. Using ``isinstance(gencoro, Coroutine)`` for them will " -"return ``False``. Use :func:`inspect.isawaitable` to detect them." +"In CPython, generator-based coroutines (:term:`generators ` " +"decorated with :func:`@types.coroutine `) are *awaitables*, " +"even though they do not have an :meth:`~object.__await__` method. Using " +"``isinstance(gencoro, Coroutine)`` for them will return ``False``. " +"Use :func:`inspect.isawaitable` to detect them." msgstr "" +"No CPython, as corrotinas baseados em gerador (:term:`geradores ` " +"decorados com :func:`@types.coroutine `) são *aguardáveis*, " +"embora não possuam o método :meth:`~object.__await__`. Usar " +"``isinstance(gencoro, Coroutine)`` para eles retornará ``False``. " +"Use :func:`inspect.isawaitable` para detectá-los." -#: ../../library/collections.abc.rst:330 +#: ../../library/collections.abc.rst:331 msgid "" -"ABC for classes that provide ``__aiter__`` method. See also the definition " -"of :term:`asynchronous iterable`." +"ABC for classes that provide an ``__aiter__`` method. See also the " +"definition of :term:`asynchronous iterable`." msgstr "" -"ABC para classes que fornecem o método ``__aiter__``. Veja também a " +"ABC para classes que fornecem um método ``__aiter__``. Veja também a " "definição de :term:`iterável assíncrono`." -#: ../../library/collections.abc.rst:337 +#: ../../library/collections.abc.rst:338 msgid "" "ABC for classes that provide ``__aiter__`` and ``__anext__`` methods. See " "also the definition of :term:`asynchronous iterator`." @@ -612,87 +669,97 @@ msgstr "" "ABC para classes que fornecem os métodos ``__aiter__`` e ``__anext__``. Veja " "também a definição de :term:`iterador assíncrono`." -#: ../../library/collections.abc.rst:344 +#: ../../library/collections.abc.rst:345 msgid "" -"ABC for asynchronous generator classes that implement the protocol defined " -"in :pep:`525` and :pep:`492`." +"ABC for :term:`asynchronous generator` classes that implement the protocol " +"defined in :pep:`525` and :pep:`492`." msgstr "" -"ABC para classes de gerador assíncrono que implementam o protocolo definido " -"em :pep:`525` e :pep:`492`." +"ABC para classes de :term:`gerador assíncrono` que implementam o protocolo " +"definido em :pep:`525` e :pep:`492`." -#: ../../library/collections.abc.rst:350 +#: ../../library/collections.abc.rst:351 msgid "Examples and Recipes" msgstr "Exemplos e receitas" -#: ../../library/collections.abc.rst:352 +#: ../../library/collections.abc.rst:353 msgid "" "ABCs allow us to ask classes or instances if they provide particular " "functionality, for example::" msgstr "" +"ABCs nos permitem perguntar a classes ou instâncias se elas fornecem " +"funcionalidades específicas, por exemplo::" -#: ../../library/collections.abc.rst:359 +#: ../../library/collections.abc.rst:360 msgid "" "Several of the ABCs are also useful as mixins that make it easier to develop " "classes supporting container APIs. For example, to write a class supporting " "the full :class:`Set` API, it is only necessary to supply the three " -"underlying abstract methods: :meth:`__contains__`, :meth:`__iter__`, and :" -"meth:`__len__`. The ABC supplies the remaining methods such as :meth:" -"`__and__` and :meth:`isdisjoint`::" +"underlying abstract " +"methods: :meth:`~object.__contains__`, :meth:`~container.__iter__`, " +"and :meth:`~object.__len__`. The ABC supplies the remaining methods such " +"as :meth:`!__and__` and :meth:`~frozenset.isdisjoint`::" msgstr "" -"Vários ABCS também são também úteis como mixins que facilitam o " +"Vários ABCs também são também úteis como mixins que facilitam o " "desenvolvimento de classes que suportam APIs de contêiner. Por exemplo, para " "escrever uma classe que suporte toda a API :class:`Set` , é necessário " -"fornecer apenas os três métodos abstratos subjacentes: :meth:" -"`__contains__`, :meth:`__iter__`, e :meth:`__len__`. O ABC fornece os " -"métodos restantes, como :meth:`__and__` e :meth:`isdisjoint`::" +"fornecer apenas os três métodos abstratos " +"subjacentes: :meth:`~object.__contains__`, :meth:`~container.__iter__`, " +"e :meth:`~object.__len__`. O ABC fornece os métodos restantes, como :meth:`!" +"__and__` e :meth:`~frozenset.isdisjoint`::" -#: ../../library/collections.abc.rst:388 +#: ../../library/collections.abc.rst:389 msgid "Notes on using :class:`Set` and :class:`MutableSet` as a mixin:" msgstr "Notas sobre o uso de :class:`Set` e :class:`MutableSet` como um mixin:" -#: ../../library/collections.abc.rst:391 +#: ../../library/collections.abc.rst:392 msgid "" "Since some set operations create new sets, the default mixin methods need a " -"way to create new instances from an iterable. The class constructor is " -"assumed to have a signature in the form ``ClassName(iterable)``. That " -"assumption is factored-out to an internal classmethod called :meth:" -"`_from_iterable` which calls ``cls(iterable)`` to produce a new set. If the :" -"class:`Set` mixin is being used in a class with a different constructor " -"signature, you will need to override :meth:`_from_iterable` with a " -"classmethod or regular method that can construct new instances from an " -"iterable argument." +"way to create new instances from an :term:`iterable`. The class constructor " +"is assumed to have a signature in the form ``ClassName(iterable)``. That " +"assumption is factored-out to an internal :class:`classmethod` " +"called :meth:`!_from_iterable` which calls ``cls(iterable)`` to produce a " +"new set. If the :class:`Set` mixin is being used in a class with a different " +"constructor signature, you will need to override :meth:`!_from_iterable` " +"with a classmethod or regular method that can construct new instances from " +"an iterable argument." msgstr "" "Como algumas operações de conjunto criam novos conjuntos, os métodos de " "mixin padrão precisam de uma maneira de criar novas instâncias a partir de " -"uma iterável. Supõe-se que a classe construtor tenha uma assinatura no " -"formato ``ClassName(iterable)``. Essa suposição é fatorada em um método de " -"classe interno chamado: :meth:`_from_iterable` que chama ``cls(iterable)`` " -"para produzir um novo conjunto. Se o mixin :class:`Set` estiver sendo usado " -"em uma classe com uma assinatura de construtor diferente, você precisará " -"substituir :meth:`_from_iterable` por um método de classe ou um método " -"regular que possa construir novas instâncias a partir de um argumento " -"iterável." +"um :term:`iterável`. Supõe-se que a classe construtor tenha uma assinatura " +"no formato ``ClassName(iterable)``. Essa suposição é fatorada em " +"um :class:`classmethod` interno chamado :meth:`!_from_iterable` que chama " +"``cls(iterable)`` para produzir um novo conjunto. Se o mixin :class:`Set` " +"estiver sendo usado em uma classe com uma assinatura de construtor " +"diferente, você precisará substituir :meth:`!_from_iterable` por um método " +"de classe ou um método regular que possa construir novas instâncias a partir " +"de um argumento iterável." -#: ../../library/collections.abc.rst:402 +#: ../../library/collections.abc.rst:403 msgid "" "To override the comparisons (presumably for speed, as the semantics are " -"fixed), redefine :meth:`__le__` and :meth:`__ge__`, then the other " -"operations will automatically follow suit." +"fixed), redefine :meth:`~object.__le__` and :meth:`~object.__ge__`, then the " +"other operations will automatically follow suit." msgstr "" "Para substituir as comparações (presumivelmente para velocidade, já que a " -"semântica é fixa), redefina :meth:`__le__` e :meth:`__ge__`, então as outras " -"operações seguirão o exemplo automaticamente." +"semântica é fixa), redefina :meth:`~object.__le__` e :meth:`~object.__ge__`, " +"então as outras operações seguirão o exemplo automaticamente." -#: ../../library/collections.abc.rst:407 +#: ../../library/collections.abc.rst:409 msgid "" -"The :class:`Set` mixin provides a :meth:`_hash` method to compute a hash " -"value for the set; however, :meth:`__hash__` is not defined because not all " -"sets are :term:`hashable` or immutable. To add set hashability using " -"mixins, inherit from both :meth:`Set` and :meth:`Hashable`, then define " -"``__hash__ = Set._hash``." +"The :class:`Set` mixin provides a :meth:`!_hash` method to compute a hash " +"value for the set; however, :meth:`~object.__hash__` is not defined because " +"not all sets are :term:`hashable` or immutable. To add set hashability " +"using mixins, inherit from both :meth:`Set` and :meth:`Hashable`, then " +"define ``__hash__ = Set._hash``." msgstr "" +"O mixin :class:`Set` fornece um método :meth:`!_hash` para calcular um valor " +"de hash para o conjunto; no entanto, :meth:`~object.__hash__` não é definido " +"porque nem todos os conjuntos são :term:`hasheáveis ` ou " +"imutáveis. Para adicionar hasheabilidade em conjuntos usando mixin, herde de " +"ambos :meth:`Set` e :meth:`Hashable`, e então defina ``__hash__ = " +"Set._hash``." -#: ../../library/collections.abc.rst:415 +#: ../../library/collections.abc.rst:417 msgid "" "`OrderedSet recipe `_ for an " "example built on :class:`MutableSet`." @@ -700,7 +767,7 @@ msgstr "" "`OrderedSet receita `_ para um " "exemplo baseado em :class:`MutableSet`." -#: ../../library/collections.abc.rst:418 +#: ../../library/collections.abc.rst:420 msgid "For more about ABCs, see the :mod:`abc` module and :pep:`3119`." msgstr "" "Para mais informações sobre ABCs, consulte o módulo :mod:`abc` e :pep:`3119`." diff --git a/library/collections.po b/library/collections.po index a1c38eb62..d3e4fb60d 100644 --- a/library/collections.po +++ b/library/collections.po @@ -1,34 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Welington Carlos , 2021 -# Alexandre B A Villares, 2021 -# Vitor Buxbaum Orlandi, 2021 -# João Porfirio, 2022 -# Hildeberto Abreu Magalhães , 2022 -# Jader Oliveira, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -43,12 +34,12 @@ msgstr "**Código-fonte:** :source:`Lib/collections/__init__.py`" #: ../../library/collections.rst:20 msgid "" "This module implements specialized container datatypes providing " -"alternatives to Python's general purpose built-in containers, :class:" -"`dict`, :class:`list`, :class:`set`, and :class:`tuple`." +"alternatives to Python's general purpose built-in " +"containers, :class:`dict`, :class:`list`, :class:`set`, and :class:`tuple`." msgstr "" "Este módulo implementa tipos de dados de contêineres especializados que " -"fornecem alternativas aos contêineres embutidos do Python, :class:`dict`, :" -"class:`list`, :class:`set` e :class:`tuple`." +"fornecem alternativas aos contêineres embutidos do " +"Python, :class:`dict`, :class:`list`, :class:`set` e :class:`tuple`." #: ../../library/collections.rst:25 msgid ":func:`namedtuple`" @@ -85,7 +76,7 @@ msgstr ":class:`Counter`" #: ../../library/collections.rst:28 msgid "dict subclass for counting :term:`hashable` objects" -msgstr "" +msgstr "subclasse de dict para contar objetos :term:`hasheáveis `" #: ../../library/collections.rst:29 msgid ":class:`OrderedDict`" @@ -112,7 +103,7 @@ msgstr ":class:`UserDict`" #: ../../library/collections.rst:31 msgid "wrapper around dictionary objects for easier dict subclassing" msgstr "" -"envoltório em torno de objetos dicionário para facilitar fazer subclasse de " +"invólucro em torno de objetos dicionário para facilitar fazer subclasse de " "dict" #: ../../library/collections.rst:32 @@ -122,7 +113,7 @@ msgstr ":class:`UserList`" #: ../../library/collections.rst:32 msgid "wrapper around list objects for easier list subclassing" msgstr "" -"envoltório em torno de objetos lista para facilitar criação de subclasse de " +"invólucro em torno de objetos lista para facilitar criação de subclasse de " "lista" #: ../../library/collections.rst:33 @@ -132,8 +123,8 @@ msgstr ":class:`UserString`" #: ../../library/collections.rst:33 msgid "wrapper around string objects for easier string subclassing" msgstr "" -"envoltório em torno de objetos string para uma facilitar criação de " -"subclasse de string" +"invólucro em torno de objetos string para uma facilitar criação de subclasse " +"de string" #: ../../library/collections.rst:38 msgid ":class:`ChainMap` objects" @@ -215,10 +206,10 @@ msgid "" "which mappings are searched. The list should always contain at least one " "mapping." msgstr "" -"Uma lista de mapeamentos atualizáveis ​​pelo usuário. A lista é ordenada desde " -"o primeiro pesquisado até a última pesquisado. É o único estado armazenado e " -"pode ser modificado para alterar quais mapeamentos são pesquisados. A lista " -"deve sempre conter pelo menos um mapeamento." +"Uma lista de mapeamentos atualizáveis pelo usuário. A lista é ordenada do " +"primeiro ao último pesquisado. É o único estado armazenado e pode ser " +"modificado para alterar quais mapeamentos são pesquisados. A lista deve " +"sempre conter pelo menos um mapeamento." #: ../../library/collections.rst:77 msgid "" @@ -251,17 +242,19 @@ msgstr "Suporte a argumentos nomeados foi adicionado." msgid "" "Property returning a new :class:`ChainMap` containing all of the maps in the " "current instance except the first one. This is useful for skipping the " -"first map in the search. Use cases are similar to those for the :keyword:" -"`nonlocal` keyword used in :term:`nested scopes `. The use " -"cases also parallel those for the built-in :func:`super` function. A " -"reference to ``d.parents`` is equivalent to: ``ChainMap(*d.maps[1:])``." +"first map in the search. Use cases are similar to those for " +"the :keyword:`nonlocal` keyword used in :term:`nested scopes `. The use cases also parallel those for the built-in :func:`super` " +"function. A reference to ``d.parents`` is equivalent to: " +"``ChainMap(*d.maps[1:])``." msgstr "" "Propriedade que retorna um novo :class:`ChainMap` contendo todos os mapas da " "instância atual, exceto o primeiro. Isso é útil para pular o primeiro mapa " -"da pesquisa. Os casos de uso são semelhantes aos do argumento nomeado :" -"keyword:`nonlocal` usada em :term:`escopos aninhados `. Os " -"casos de uso também são paralelos aos da função embutida :func:`super`. Uma " -"referência a ``d.parents`` é equivalente a: ``ChainMap(*d.maps[1:])``." +"da pesquisa. Os casos de uso são semelhantes aos do argumento " +"nomeado :keyword:`nonlocal` usada em :term:`escopos aninhados `. Os casos de uso também são paralelos aos da função " +"embutida :func:`super`. Uma referência a ``d.parents`` é equivalente a: " +"``ChainMap(*d.maps[1:])``." #: ../../library/collections.rst:102 msgid "" @@ -282,8 +275,8 @@ msgstr "" #: ../../library/collections.rst:118 msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`." msgstr "" -"Adicionado suporte para os operadores ``|`` e ``|=``, especificados na :pep:" -"`584`." +"Adicionado suporte para os operadores ``|`` e ``|=``, especificados " +"na :pep:`584`." #: ../../library/collections.rst:123 msgid "" @@ -293,23 +286,24 @@ msgid "" "any mapping in the chain." msgstr "" "A `classe MultiContext `_ no `pacote CodeTools `_ de Enthought tem opções para oferecer suporte à " -"escrita em qualquer mapeamento na cadeia." +"codetools/contexts/multi_context.py>`_ no `pacote CodeTools `_ de Enthought tem opções para oferecer " +"suporte à escrita em qualquer mapeamento na cadeia." #: ../../library/collections.rst:129 msgid "" "Django's `Context class `_ for templating is a read-only chain of mappings. It " -"also features pushing and popping of contexts similar to the :meth:" -"`~collections.ChainMap.new_child` method and the :attr:`~collections." -"ChainMap.parents` property." +"also features pushing and popping of contexts similar to " +"the :meth:`~collections.ChainMap.new_child` method and " +"the :attr:`~collections.ChainMap.parents` property." msgstr "" "A `classe Context `_ do Django para modelos é uma cadeia de mapeamentos " "somente leitura. Ela também oferece o recurso de push e pop (inserir e " -"retirar) contextos semelhantes ao método :meth:`~Collections.ChainMap." -"new_child` e a propriedade :attr:`~Collections.ChainMap.parents`." +"retirar) contextos semelhantes ao " +"método :meth:`~collections.ChainMap.new_child` e a " +"propriedade :attr:`~collections.ChainMap.parents`." #: ../../library/collections.rst:136 msgid "" @@ -317,18 +311,17 @@ msgid "" "has options to control whether writes and other mutations apply only to the " "first mapping or to any mapping in the chain." msgstr "" -"A `receita de Contextos Aninhados `_ possui opções para controlar se escritas e outras " -"mutações se aplicam a apenas o primeiro mapeamento ou para qualquer " -"mapeamento na cadeia." +"A `receita de Contextos Aninhados `_ possui opções para controlar se escritas e outras mutações se " +"aplicam a apenas o primeiro mapeamento ou para qualquer mapeamento na cadeia." #: ../../library/collections.rst:141 msgid "" -"A `greatly simplified read-only version of Chainmap `_." +"A `greatly simplified read-only version of Chainmap `_." msgstr "" -"Uma `versão muito simplificada somente leitura do Chainmap `_." +"Uma `versão muito simplificada somente leitura do Chainmap `_." #: ../../library/collections.rst:146 msgid ":class:`ChainMap` Examples and Recipes" @@ -393,6 +386,12 @@ msgid "" "integer value including zero or negative counts. The :class:`Counter` class " "is similar to bags or multisets in other languages." msgstr "" +"Um :class:`Counter` é uma subclasse de :class:`dict` subclass para contagem " +"de objetos :term:`hasheáveis `. É uma coleção na qual elementos " +"são armazenados como chaves de dicionário e suas contagens são armazenadas " +"como valores de dicionário. Contagens podem ser qualquer valor inteiro " +"incluindo zero e contagens negativas. A classe :class:`Counter` é similar a " +"sacos ou multiconjuntos em outras linguagens." #: ../../library/collections.rst:250 msgid "" @@ -427,6 +426,11 @@ msgid "" "encountered in the left operand and then by the order encountered in the " "right operand." msgstr "" +"Como uma subclasse de :class:`dict`, :class:`Counter` herda a capacidade de " +"lembrar a ordem de inserção. Operações matemáticas em objetos *Counter* " +"também preservam ordem. Os resultados são ordenados de acordo com o momento " +"que um elemento é encontrado pela primeira vez no operando da esquerda e, em " +"seguida, pela ordem encontrada no operando da direita." #: ../../library/collections.rst:279 msgid "" @@ -455,10 +459,10 @@ msgid "" "ordered in the order first encountered:" msgstr "" "Retorna uma lista dos *n* elementos mais comuns e suas contagens, do mais " -"comum para o menos comum. Se *n* for omitido ou igual a ``None``, :meth:" -"`most_common` retorna *todos* os elementos no contador. Elementos com " -"contagens iguais são ordenados na ordem em que foram encontrados pela " -"primeira vez:" +"comum para o menos comum. Se *n* for omitido ou igual a " +"``None``, :meth:`most_common` retorna *todos* os elementos no contador. " +"Elementos com contagens iguais são ordenados na ordem em que foram " +"encontrados pela primeira vez:" #: ../../library/collections.rst:304 msgid "" @@ -480,8 +484,9 @@ msgid "" "The usual dictionary methods are available for :class:`Counter` objects " "except for two which work differently for counters." msgstr "" -"Os métodos usuais de dicionário estão disponíveis para objetos :class:" -"`Counter`, exceto por dois que funcionam de forma diferente para contadores." +"Os métodos usuais de dicionário estão disponíveis para " +"objetos :class:`Counter`, exceto por dois que funcionam de forma diferente " +"para contadores." #: ../../library/collections.rst:331 msgid "This class method is not implemented for :class:`Counter` objects." @@ -542,13 +547,13 @@ msgid "" "corresponding counts. Each operation can accept inputs with signed counts, " "but the output will exclude results with counts of zero or less." msgstr "" -"Diversas operações matemáticas são fornecidas combinando objetos do tipo :" -"class:`Counter` afim de se produzir multiconjuntos (Counters que possuem " -"contagens maiores que 0). Adição e subtração combinam contadores adicionando " -"ou subtraindo o contagem do elemento correspondente. Intersecção ou união " -"retorna o mínimo e máximo da contagem correspondente. Igualdade e inclusão " -"compara as contagens correspondentes. Cada operação aceita entradas com " -"contagens assinadas, mas a saída vai excluir resultados com contagens de " +"Diversas operações matemáticas são fornecidas combinando objetos do " +"tipo :class:`Counter` afim de se produzir multiconjuntos (Counters que " +"possuem contagens maiores que 0). Adição e subtração combinam contadores " +"adicionando ou subtraindo o contagem do elemento correspondente. Intersecção " +"ou união retorna o mínimo e máximo da contagem correspondente. Igualdade e " +"inclusão compara as contagens correspondentes. Cada operação aceita entradas " +"com contagens assinadas, mas a saída vai excluir resultados com contagens de " "zero ou menos." #: ../../library/collections.rst:390 @@ -602,16 +607,16 @@ msgstr "" msgid "" "For in-place operations such as ``c[key] += 1``, the value type need only " "support addition and subtraction. So fractions, floats, and decimals would " -"work and negative values are supported. The same is also true for :meth:" -"`~Counter.update` and :meth:`~Counter.subtract` which allow negative and " -"zero values for both inputs and outputs." +"work and negative values are supported. The same is also true " +"for :meth:`~Counter.update` and :meth:`~Counter.subtract` which allow " +"negative and zero values for both inputs and outputs." msgstr "" "Para operações in-place, como ``c[key] += 1``, o tipo de valor precisa " "oferecer suporte a apenas adição e subtração. Portanto, frações, números de " "ponto flutuante e decimais funcionariam e os valores negativos são " -"suportados. O mesmo também é verdadeiro para :meth:`~Counter.update` e :meth:" -"`~Counter.subtract` que permitem valores negativos e zero para entradas e " -"saídas." +"suportados. O mesmo também é verdadeiro para :meth:`~Counter.update` " +"e :meth:`~Counter.subtract` que permitem valores negativos e zero para " +"entradas e saídas." #: ../../library/collections.rst:421 msgid "" @@ -635,8 +640,8 @@ msgstr "" #: ../../library/collections.rst:431 msgid "" -"`Bag class `_ in Smalltalk." +"`Bag class `_ in Smalltalk." msgstr "" "`Classe Bag `_ do Smalltalk." @@ -672,8 +677,8 @@ msgid "" "elements, see :func:`itertools.combinations_with_replacement`::" msgstr "" "Para enumerar todos os multiconjuntos distintos de um determinado tamanho em " -"um determinado conjunto de elementos, consulte :func:`itertools." -"combinations_with_replacement`::" +"um determinado conjunto de elementos, " +"consulte :func:`itertools.combinations_with_replacement`::" #: ../../library/collections.rst:450 msgid ":class:`deque` objects" @@ -694,25 +699,25 @@ msgid "" "Deques are a generalization of stacks and queues (the name is pronounced " "\"deck\" and is short for \"double-ended queue\"). Deques support thread-" "safe, memory efficient appends and pops from either side of the deque with " -"approximately the same O(1) performance in either direction." +"approximately the same *O*\\ (1) performance in either direction." msgstr "" "Deques são uma generalização de pilhas e filas (o nome é pronunciado " -"\"deck\" e é abreviação de \"double-ended queue\", e conhecida como \"fila " -"duplamente terminada\" em português). O Deques oferece suporte para " -"acréscimos e retiradas seguros para thread e eficientes em uso memória de " -"ambos os lados do deque com aproximadamente o mesmo desempenho O(1) em " -"qualquer direção." +"\"deck\" e é abreviação de \"double-ended queue\", conhecida em português " +"como \"fila duplamente terminada\"). Deques oferecem suporte para inclusões " +"e remoções seguras para thread e eficientes em uso de memória de ambos os " +"lados do deque com aproximadamente o mesmo desempenho *O*\\ (1) em qualquer " +"direção." #: ../../library/collections.rst:462 msgid "" "Though :class:`list` objects support similar operations, they are optimized " -"for fast fixed-length operations and incur O(n) memory movement costs for " -"``pop(0)`` and ``insert(0, v)`` operations which change both the size and " -"position of the underlying data representation." +"for fast fixed-length operations and incur *O*\\ (*n*) memory movement costs " +"for ``pop(0)`` and ``insert(0, v)`` operations which change both the size " +"and position of the underlying data representation." msgstr "" "Embora os objetos :class:`list` ofereçam suporte a operações semelhantes, " -"eles são otimizados para operações rápidas de comprimento fixo e sujeitam em " -"custos de movimentação de memória O(n) para as operações ``pop(0)`` e " +"eles são otimizados para operações rápidas de comprimento fixo e sujeitam a " +"custos de movimentação de memória *O*\\ (*n*) para as operações ``pop(0)`` e " "``insert(0, v)`` que alteram o tamanho e a posição da representação de dados " "subjacente." @@ -737,7 +742,7 @@ msgstr "" #: ../../library/collections.rst:477 msgid "Deque objects support the following methods:" -msgstr "Os objetos Deque oferecem suporte aos seguintes métodos:" +msgstr "Os objetos deque oferecem suporte aos seguintes métodos:" #: ../../library/collections.rst:481 msgid "Add *x* to the right side of the deque." @@ -783,8 +788,8 @@ msgid "" "if not found." msgstr "" "Retorna a posição de *x* no deque (no ou após o índice *start* e antes do " -"índice *stop*). Retorna a primeira correspondência ou levanta :exc:" -"`ValueError` se não for encontrado." +"índice *stop*). Retorna a primeira correspondência ou " +"levanta :exc:`ValueError` se não for encontrado." #: ../../library/collections.rst:532 msgid "Insert *x* into the deque at position *i*." @@ -792,11 +797,11 @@ msgstr "Insere *x* no deque na posição *i*." #: ../../library/collections.rst:534 msgid "" -"If the insertion would cause a bounded deque to grow beyond *maxlen*, an :" -"exc:`IndexError` is raised." +"If the insertion would cause a bounded deque to grow beyond *maxlen*, " +"an :exc:`IndexError` is raised." msgstr "" -"Se a inserção fizer com que um deque limitado cresça além de *maxlen*, uma :" -"exc:`IndexError` é levantada." +"Se a inserção fizer com que um deque limitado cresça além de *maxlen*, " +"uma :exc:`IndexError` é levantada." #: ../../library/collections.rst:542 msgid "" @@ -816,11 +821,11 @@ msgstr "" #: ../../library/collections.rst:554 msgid "" -"Remove the first occurrence of *value*. If not found, raises a :exc:" -"`ValueError`." +"Remove the first occurrence of *value*. If not found, raises " +"a :exc:`ValueError`." msgstr "" -"Remove a primeira ocorrência de *value*. Se não for encontrado, levanta um :" -"exc:`ValueError`." +"Remove a primeira ocorrência de *value*. Se não for encontrado, levanta " +"um :exc:`ValueError`." #: ../../library/collections.rst:560 msgid "Reverse the elements of the deque in-place and then return ``None``." @@ -858,23 +863,24 @@ msgid "" "In addition to the above, deques support iteration, pickling, ``len(d)``, " "``reversed(d)``, ``copy.copy(d)``, ``copy.deepcopy(d)``, membership testing " "with the :keyword:`in` operator, and subscript references such as ``d[0]`` " -"to access the first element. Indexed access is O(1) at both ends but slows " -"to O(n) in the middle. For fast random access, use lists instead." +"to access the first element. Indexed access is *O*\\ (1) at both ends but " +"slows to *O*\\ (*n*) in the middle. For fast random access, use lists " +"instead." msgstr "" -"Além do acima, deques oferece suporte a iteração, serialização com pickle, " -"``len(d)``, ``reversed(d)``, ``copy.copy(d)``, ``copy.deepcopy(d)`` e teste " -"de associação com o operador :keyword:`in` e referências subscritas, como " -"``d[0]`` para acessar o primeiro elemento. O acesso indexado é O(1) em ambas " -"as extremidades, mas diminui para O(n) no meio. Para acesso aleatório " -"rápido, use listas." +"Além do acima, deques oferecem suporte à iteração, à serialização com " +"pickle, ``len(d)``, ``reversed(d)``, ``copy.copy(d)``, ``copy.deepcopy(d)`` " +"e ao teste de associação com o operador :keyword:`in` e a referências " +"subscritas, como ``d[0]`` para acessar o primeiro elemento. O acesso " +"indexado é *O*\\ (1) em ambas as extremidades, mas diminui para *O*\\ (*n*) " +"no meio. Para acesso rápido e aleatório, use listas." #: ../../library/collections.rst:590 msgid "" "Starting in version 3.5, deques support ``__add__()``, ``__mul__()``, and " "``__imul__()``." msgstr "" -"A partir da versão 3.5, deques oferecem suporte a ``__add__()``," -"``__mul__()`` e ``__imul__()``." +"A partir da versão 3.5, deques oferecem suporte a " +"``__add__()``,``__mul__()`` e ``__imul__()``." #: ../../library/collections.rst:593 msgid "Example:" @@ -907,11 +913,11 @@ msgstr "" #: ../../library/collections.rst:677 msgid "" "A `round-robin scheduler `_ can be implemented with input iterators stored in a :" -"class:`deque`. Values are yielded from the active iterator in position " -"zero. If that iterator is exhausted, it can be removed with :meth:`~deque." -"popleft`; otherwise, it can be cycled back to the end with the :meth:`~deque." -"rotate` method::" +"robin_scheduling>`_ can be implemented with input iterators stored in " +"a :class:`deque`. Values are yielded from the active iterator in position " +"zero. If that iterator is exhausted, it can be removed " +"with :meth:`~deque.popleft`; otherwise, it can be cycled back to the end " +"with the :meth:`~deque.rotate` method::" msgstr "" "Um `escalonador round robin `_ pode ser implementado com iteradores de entrada " @@ -933,20 +939,22 @@ msgstr "" #: ../../library/collections.rst:705 msgid "" -"To implement :class:`deque` slicing, use a similar approach applying :meth:" -"`~deque.rotate` to bring a target element to the left side of the deque. " -"Remove old entries with :meth:`~deque.popleft`, add new entries with :meth:" -"`~deque.extend`, and then reverse the rotation. With minor variations on " -"that approach, it is easy to implement Forth style stack manipulations such " -"as ``dup``, ``drop``, ``swap``, ``over``, ``pick``, ``rot``, and ``roll``." +"To implement :class:`deque` slicing, use a similar approach " +"applying :meth:`~deque.rotate` to bring a target element to the left side of " +"the deque. Remove old entries with :meth:`~deque.popleft`, add new entries " +"with :meth:`~deque.extend`, and then reverse the rotation. With minor " +"variations on that approach, it is easy to implement Forth style stack " +"manipulations such as ``dup``, ``drop``, ``swap``, ``over``, ``pick``, " +"``rot``, and ``roll``." msgstr "" "Para implementar o fatiamento de :class:`deque`, use uma abordagem " "semelhante aplicando :meth:`~deque.rotate` para trazer um elemento alvo para " -"o lado esquerdo do deque. Remova as entradas antigas com :meth:`~deque." -"popleft`, adicione novas entradas com :meth:`~deque.extend`, e, então, " -"inverta a rotação. Com pequenas variações dessa abordagem, é fácil " -"implementar manipulações de pilha de estilo Forth, como ``dup``, ``drop``, " -"``swap``, ``over``, ``pick``, ``rot`` e ``roll``." +"o lado esquerdo do deque. Remova as entradas antigas " +"com :meth:`~deque.popleft`, adicione novas entradas " +"com :meth:`~deque.extend`, e, então, inverta a rotação. Com pequenas " +"variações dessa abordagem, é fácil implementar manipulações de pilha de " +"estilo Forth, como ``dup``, ``drop``, ``swap``, ``over``, ``pick``, ``rot`` " +"e ``roll``." #: ../../library/collections.rst:715 msgid ":class:`defaultdict` objects" @@ -966,15 +974,15 @@ msgstr "" #: ../../library/collections.rst:724 msgid "" -"The first argument provides the initial value for the :attr:" -"`default_factory` attribute; it defaults to ``None``. All remaining " -"arguments are treated the same as if they were passed to the :class:`dict` " -"constructor, including keyword arguments." +"The first argument provides the initial value for " +"the :attr:`default_factory` attribute; it defaults to ``None``. All " +"remaining arguments are treated the same as if they were passed to " +"the :class:`dict` constructor, including keyword arguments." msgstr "" -"O primeiro argumento fornece o valor inicial para o atributo :attr:" -"`default_factory`; o padrão é ``None``. Todos os argumentos restantes são " -"tratados da mesma forma como se fossem passados ​​para o construtor :class:" -"`dict`, incluindo argumentos nomeados." +"O primeiro argumento fornece o valor inicial para o " +"atributo :attr:`default_factory`; o padrão é ``None``. Todos os argumentos " +"restantes são tratados da mesma forma como se fossem passados para o " +"construtor :class:`dict`, incluindo argumentos nomeados." #: ../../library/collections.rst:730 msgid "" @@ -986,8 +994,8 @@ msgstr "" #: ../../library/collections.rst:735 msgid "" -"If the :attr:`default_factory` attribute is ``None``, this raises a :exc:" -"`KeyError` exception with the *key* as argument." +"If the :attr:`default_factory` attribute is ``None``, this raises " +"a :exc:`KeyError` exception with the *key* as argument." msgstr "" "Se o atributo :attr:`default_factory` for ``None``, isso levanta uma " "exceção :exc:`KeyError` com *key* como argumento." @@ -1012,25 +1020,31 @@ msgstr "" #: ../../library/collections.rst:745 msgid "" -"This method is called by the :meth:`__getitem__` method of the :class:`dict` " -"class when the requested key is not found; whatever it returns or raises is " -"then returned or raised by :meth:`__getitem__`." +"This method is called by the :meth:`~object.__getitem__` method of " +"the :class:`dict` class when the requested key is not found; whatever it " +"returns or raises is then returned or raised by :meth:`~object.__getitem__`." msgstr "" -"Este método é chamado pelo método :meth:`__getitem__` da classe :class:" -"`dict` quando a chave solicitada não é encontrada; tudo o que ele retorna ou " -"levanta é então retornado ou levantado por :meth:`__getitem__`." +"Este método é chamado pelo método :meth:`~object.__getitem__` da " +"classe :class:`dict` quando a chave solicitada não é encontrada; tudo o que " +"ele retorna ou levanta é então retornado ou levantado " +"por :meth:`~object.__getitem__`." #: ../../library/collections.rst:749 msgid "" -"Note that :meth:`__missing__` is *not* called for any operations besides :" -"meth:`__getitem__`. This means that :meth:`get` will, like normal " -"dictionaries, return ``None`` as a default rather than using :attr:" -"`default_factory`." +"Note that :meth:`__missing__` is *not* called for any operations " +"besides :meth:`~object.__getitem__`. This means that :meth:`get` will, like " +"normal dictionaries, return ``None`` as a default rather than " +"using :attr:`default_factory`." msgstr "" +"Observe que :meth:`__missing__` *não* é chamado para nenhuma operação além " +"de :meth:`~object.__getitem__`. Isso significa que :meth:`get` irá, como " +"dicionários normais, retornar ``None`` como padrão ao invés de " +"usar :attr:`default_factory`." #: ../../library/collections.rst:755 msgid ":class:`defaultdict` objects support the following instance variable:" -msgstr "Objetos :class:`defaultdict` permitem a seguinte variável instanciada:" +msgstr "" +"Objetos :class:`defaultdict` permitem a seguinte variável de instância:" #: ../../library/collections.rst:760 msgid "" @@ -1038,11 +1052,16 @@ msgid "" "from the first argument to the constructor, if present, or to ``None``, if " "absent." msgstr "" +"Este atributo é usado pelo método :meth:`__missing__`; ele é inicializado a " +"partir do primeiro argumento para o construtor, se presente, ou para " +"``None``, se ausente." #: ../../library/collections.rst:764 ../../library/collections.rst:1180 msgid "" "Added merge (``|``) and update (``|=``) operators, specified in :pep:`584`." msgstr "" +"Adicionado operadores de mesclagem (``|``) e de atualização (``|=``), " +"especificados na :pep:`584`." #: ../../library/collections.rst:770 msgid ":class:`defaultdict` Examples" @@ -1059,29 +1078,45 @@ msgstr "" #: ../../library/collections.rst:783 msgid "" "When each key is encountered for the first time, it is not already in the " -"mapping; so an entry is automatically created using the :attr:`~defaultdict." -"default_factory` function which returns an empty :class:`list`. The :meth:" -"`list.append` operation then attaches the value to the new list. When keys " -"are encountered again, the look-up proceeds normally (returning the list for " -"that key) and the :meth:`list.append` operation adds another value to the " -"list. This technique is simpler and faster than an equivalent technique " +"mapping; so an entry is automatically created using " +"the :attr:`~defaultdict.default_factory` function which returns an " +"empty :class:`list`. The :meth:`list.append` operation then attaches the " +"value to the new list. When keys are encountered again, the look-up " +"proceeds normally (returning the list for that key) and " +"the :meth:`list.append` operation adds another value to the list. This " +"technique is simpler and faster than an equivalent technique " "using :meth:`dict.setdefault`:" msgstr "" +"Quando cada chave é encontrada pela primeira vez, ela ainda não está no " +"mapeamento; então uma entrada é criada automaticamente usando a " +"função :attr:`~defaultdict.default_factory` que retorna uma :class:`list` " +"vazia. A operação :meth:`list.append` então anexa o valor à nova lista. " +"Quando as chaves são encontradas novamente, a pesquisa prossegue normalmente " +"(retornando a lista daquela chave) e a operação :meth:`list.append` adiciona " +"outro valor à lista. Esta técnica é mais simples e rápida que uma técnica " +"equivalente usando :meth:`dict.setdefault`:" #: ../../library/collections.rst:798 msgid "" -"Setting the :attr:`~defaultdict.default_factory` to :class:`int` makes the :" -"class:`defaultdict` useful for counting (like a bag or multiset in other " -"languages):" +"Setting the :attr:`~defaultdict.default_factory` to :class:`int` makes " +"the :class:`defaultdict` useful for counting (like a bag or multiset in " +"other languages):" msgstr "" +"Definir :attr:`~defaultdict.default_factory` como :class:`int` " +"torna :class:`defaultdict` útil para contagem (como um multiconjunto em " +"outras linguagens):" #: ../../library/collections.rst:810 msgid "" -"When a letter is first encountered, it is missing from the mapping, so the :" -"attr:`~defaultdict.default_factory` function calls :func:`int` to supply a " -"default count of zero. The increment operation then builds up the count for " -"each letter." +"When a letter is first encountered, it is missing from the mapping, so " +"the :attr:`~defaultdict.default_factory` function calls :func:`int` to " +"supply a default count of zero. The increment operation then builds up the " +"count for each letter." msgstr "" +"Quando uma letra é encontrada pela primeira vez, ela está ausente no " +"mapeamento, então a função :attr:`~defaultdict.default_factory` " +"chama :func:`int` para fornecer uma contagem padrão de zero. A operação de " +"incremento então cria a contagem para cada letra." #: ../../library/collections.rst:814 msgid "" @@ -1090,16 +1125,22 @@ msgid "" "functions is to use a lambda function which can supply any constant value " "(not just zero):" msgstr "" +"A função :func:`int` que sempre retorna zero é apenas um caso especial de " +"funções constantes. Uma maneira mais rápida e flexível de criar funções " +"constantes é usar uma função lambda que pode fornecer qualquer valor " +"constante (não apenas zero):" #: ../../library/collections.rst:826 msgid "" -"Setting the :attr:`~defaultdict.default_factory` to :class:`set` makes the :" -"class:`defaultdict` useful for building a dictionary of sets:" +"Setting the :attr:`~defaultdict.default_factory` to :class:`set` makes " +"the :class:`defaultdict` useful for building a dictionary of sets:" msgstr "" +"Definir :attr:`~defaultdict.default_factory` como :class:`set` " +"torna :class:`defaultdict` útil para construir um dicionário de conjuntos:" #: ../../library/collections.rst:839 msgid ":func:`namedtuple` Factory Function for Tuples with Named Fields" -msgstr "" +msgstr "Função de fábrica para tuplas com campos nomeados :func:`namedtuple`" #: ../../library/collections.rst:841 msgid "" @@ -1118,9 +1159,16 @@ msgid "" "Returns a new tuple subclass named *typename*. The new subclass is used to " "create tuple-like objects that have fields accessible by attribute lookup as " "well as being indexable and iterable. Instances of the subclass also have a " -"helpful docstring (with typename and field_names) and a helpful :meth:" -"`__repr__` method which lists the tuple contents in a ``name=value`` format." +"helpful docstring (with typename and field_names) and a " +"helpful :meth:`__repr__` method which lists the tuple contents in a " +"``name=value`` format." msgstr "" +"Retorna uma nova subclasse de tupla chamada *typename*. A nova subclasse é " +"usada para criar objetos semelhantes a tuplas que possuem campos acessíveis " +"por pesquisa de atributos, além de serem indexáveis e iteráveis. As " +"instâncias da subclasse também possuem uma docstring útil (com typename e " +"field_names) e um método útil :meth:`__repr__` que lista o conteúdo da tupla " +"em um formato ``nome=valor``." #: ../../library/collections.rst:853 msgid "" @@ -1128,14 +1176,24 @@ msgid "" "Alternatively, *field_names* can be a single string with each fieldname " "separated by whitespace and/or commas, for example ``'x y'`` or ``'x, y'``." msgstr "" +"*field_names* são uma sequência de strings como ``['x', 'y']``. " +"Alternativamente, *field_names* pode ser uma única string com cada nome de " +"campo separado por espaços em branco e/ou vírgulas como, por exemplo, ``'x " +"y'`` ou ``'x, y'``." #: ../../library/collections.rst:857 msgid "" "Any valid Python identifier may be used for a fieldname except for names " "starting with an underscore. Valid identifiers consist of letters, digits, " -"and underscores but do not start with a digit or underscore and cannot be a :" -"mod:`keyword` such as *class*, *for*, *return*, *global*, *pass*, or *raise*." +"and underscores but do not start with a digit or underscore and cannot be " +"a :mod:`keyword` such as *class*, *for*, *return*, *global*, *pass*, or " +"*raise*." msgstr "" +"Qualquer identificador Python válido pode ser usado para um nome de campo, " +"exceto para nomes que começam com um sublinhado. Identificadores válidos " +"consistem em letras, dígitos e sublinhados, mas não começam com um dígito ou " +"sublinhado e não podem ser uma :mod:`keyword` como *class*, *for*, *return*, " +"*global*, *pass* ou *raise*." #: ../../library/collections.rst:863 msgid "" @@ -1144,6 +1202,10 @@ msgid "" "converted to ``['abc', '_1', 'ghi', '_3']``, eliminating the keyword ``def`` " "and the duplicate fieldname ``abc``." msgstr "" +"Se *rename* for verdadeiro, nomes de campos inválidos serão automaticamente " +"substituídos por nomes posicionais. Por exemplo, ``['abc', 'def', 'ghi', " +"'abc']`` é convertido para ``['abc', '_1', 'ghi', '_3']``, eliminando a " +"palavra reservada ``def`` e o nome de campo duplicado ``abc``." #: ../../library/collections.rst:868 msgid "" @@ -1154,24 +1216,36 @@ msgid "" "``x`` will be a required argument, ``y`` will default to ``1``, and ``z`` " "will default to ``2``." msgstr "" +"*defaults* pode ser ``None`` ou um :term:`iterável` de valores padrão. Como " +"os campos com valor padrão devem vir depois de qualquer campo sem padrão, os " +"*padrões* são aplicados aos parâmetros mais à direita. Por exemplo, se os " +"nomes dos campos forem ``['x', 'y', 'z']`` e os padrões forem ``(1, 2)``, " +"então ``x`` será um argumento obrigatório, ``y`` será o padrão ``1``, e " +"``z`` será o padrão ``2``." #: ../../library/collections.rst:875 msgid "" "If *module* is defined, the ``__module__`` attribute of the named tuple is " "set to that value." msgstr "" +"Se *module* for definido, o atributo ``__module__`` da tupla nomeada será " +"definido com esse valor." #: ../../library/collections.rst:878 msgid "" "Named tuple instances do not have per-instance dictionaries, so they are " "lightweight and require no more memory than regular tuples." msgstr "" +"As instâncias de tuplas nomeadas não possuem dicionários por instância, " +"portanto são leves e não requerem mais memória do que as tuplas normais." #: ../../library/collections.rst:881 msgid "" "To support pickling, the named tuple class should be assigned to a variable " "that matches *typename*." msgstr "" +"Para prover suporte para a serialização com pickle, a classe de tupla " +"nomeada deve ser atribuída a uma variável que corresponda a *typename*." #: ../../library/collections.rst:884 msgid "Added support for *rename*." @@ -1182,6 +1256,8 @@ msgid "" "The *verbose* and *rename* parameters became :ref:`keyword-only arguments " "`." msgstr "" +"Os parâmetros *verbose* e *rename* tornaram-se :ref:`argumentos somente-" +"nomeados `." #: ../../library/collections.rst:891 msgid "Added the *module* parameter." @@ -1202,6 +1278,8 @@ msgid "" "Named tuples are especially useful for assigning field names to result " "tuples returned by the :mod:`csv` or :mod:`sqlite3` modules::" msgstr "" +"Tuplas nomeadas são especialmente úteis para atribuir nomes de campos a " +"tuplas de resultados retornadas pelos módulos :mod:`csv` ou :mod:`sqlite3`::" #: ../../library/collections.rst:933 msgid "" @@ -1209,11 +1287,16 @@ msgid "" "additional methods and two attributes. To prevent conflicts with field " "names, the method and attribute names start with an underscore." msgstr "" +"Além dos métodos herdados das tuplas, as tuplas nomeadas oferecem suporte a " +"três métodos adicionais e dois atributos. Para evitar conflitos com nomes de " +"campos, os nomes de métodos e atributos começam com um sublinhado." #: ../../library/collections.rst:939 msgid "" "Class method that makes a new instance from an existing sequence or iterable." msgstr "" +"Método de classe que cria uma nova instância a partir de uma sequência " +"existente ou iterável." #: ../../library/collections.rst:949 msgid "" @@ -1225,7 +1308,7 @@ msgstr "" #: ../../library/collections.rst:958 msgid "Returns an :class:`OrderedDict` instead of a regular :class:`dict`." -msgstr "" +msgstr "Retorna um :class:`OrderedDict` em vez de um :class:`dict` normal." #: ../../library/collections.rst:961 msgid "" @@ -1234,34 +1317,47 @@ msgid "" "features of :class:`OrderedDict` are required, the suggested remediation is " "to cast the result to the desired type: ``OrderedDict(nt._asdict())``." msgstr "" +"Retorna um :class:`dict` regular em vez de um :class:`OrderedDict`. A partir " +"do Python 3.7, é garantido que os dicionários regulares sejam ordenados. Se " +"os recursos extras de :class:`OrderedDict` forem necessários, a correção " +"sugerida é converter o resultado para o tipo desejado: " +"``OrderedDict(nt._asdict())``." #: ../../library/collections.rst:970 msgid "" "Return a new instance of the named tuple replacing specified fields with new " "values::" msgstr "" +"Retorna uma nova instância da tupla nomeada substituindo os campos " +"especificados por novos valores::" #: ../../library/collections.rst:982 msgid "" "Tuple of strings listing the field names. Useful for introspection and for " "creating new named tuple types from existing named tuples." msgstr "" +"Tupla de strings listando os nomes dos campos. Útil para introspecção e para " +"criar novos tipos de tuplas nomeadas a partir de tuplas nomeadas existentes." #: ../../library/collections.rst:997 msgid "Dictionary mapping field names to default values." -msgstr "" +msgstr "Dicionário mapeando nomes de campos para valores padrão." #: ../../library/collections.rst:1007 msgid "" -"To retrieve a field whose name is stored in a string, use the :func:" -"`getattr` function:" +"To retrieve a field whose name is stored in a string, use " +"the :func:`getattr` function:" msgstr "" +"Para recuperar um campo cujo nome está armazenado em uma string, use a " +"função :func:`getattr`:" #: ../../library/collections.rst:1013 msgid "" "To convert a dictionary to a named tuple, use the double-star-operator (as " "described in :ref:`tut-unpacking-arguments`):" msgstr "" +"Para converter um dicionário em uma tupla nomeada, use o operador estrela " +"dupla (conforme descrito em :ref:`tut-unpacking-arguments`):" #: ../../library/collections.rst:1020 msgid "" @@ -1269,6 +1365,9 @@ msgid "" "functionality with a subclass. Here is how to add a calculated field and a " "fixed-width print format:" msgstr "" +"Como uma tupla nomeada é uma classe regular do Python, é fácil adicionar ou " +"alterar funcionalidades com uma subclasse. Veja como adicionar um campo " +"calculado e um formato de impressão de largura fixa:" #: ../../library/collections.rst:1039 msgid "" @@ -1276,6 +1375,9 @@ msgid "" "keep memory requirements low by preventing the creation of instance " "dictionaries." msgstr "" +"A subclasse mostrada acima define ``__slots__`` como uma tupla vazia. Isso " +"ajuda a manter baixos os requisitos de memória, evitando a criação de " +"dicionários de instância." #: ../../library/collections.rst:1042 msgid "" @@ -1283,16 +1385,21 @@ msgid "" "create a new named tuple type from the :attr:`~somenamedtuple._fields` " "attribute:" msgstr "" +"A criação de subclasse não é útil para adicionar novos campos armazenados. " +"Em vez disso, simplesmente crie um novo tipo de tupla nomeado a partir do " +"atributo :attr:`~somenamedtuple._fields`:" #: ../../library/collections.rst:1047 msgid "" "Docstrings can be customized by making direct assignments to the ``__doc__`` " "fields:" msgstr "" +"Docstrings podem ser personalizados fazendo atribuições diretas aos campos " +"``__doc__``:" #: ../../library/collections.rst:1056 msgid "Property docstrings became writeable." -msgstr "" +msgstr "Os docstrings de propriedade tornaram-se graváveis." #: ../../library/collections.rst:1061 msgid "" @@ -1300,18 +1407,25 @@ msgid "" "tuples. It also provides an elegant notation using the :keyword:`class` " "keyword::" msgstr "" +"Veja :class:`typing.NamedTuple` para uma maneira de adicionar dicas de tipo " +"para tuplas nomeadas. Ele também fornece uma notação elegante usando a " +"palavra reservada :keyword:`class`::" #: ../../library/collections.rst:1070 msgid "" "See :meth:`types.SimpleNamespace` for a mutable namespace based on an " "underlying dictionary instead of a tuple." msgstr "" +"Veja :meth:`types.SimpleNamespace` para um espaço de nomes mutável baseado " +"em um dicionário subjacente em vez de uma tupla." #: ../../library/collections.rst:1073 msgid "" "The :mod:`dataclasses` module provides a decorator and functions for " "automatically adding generated special methods to user-defined classes." msgstr "" +"O módulo :mod:`dataclasses` fornece um decorador e funções para adicionar " +"automaticamente métodos especiais gerados a classes definidas pelo usuário." #: ../../library/collections.rst:1078 msgid ":class:`OrderedDict` objects" @@ -1324,16 +1438,23 @@ msgid "" "important now that the built-in :class:`dict` class gained the ability to " "remember insertion order (this new behavior became guaranteed in Python 3.7)." msgstr "" +"Os dicionários ordenados são como os dicionários normais, mas possuem alguns " +"recursos extras relacionados às operações de pedido. Eles se tornaram menos " +"importantes agora que a classe embutida :class:`dict` ganhou a capacidade de " +"lembrar a ordem de inserção (esse novo comportamento foi garantido no Python " +"3.7)." #: ../../library/collections.rst:1086 msgid "Some differences from :class:`dict` still remain:" -msgstr "" +msgstr "Algumas diferenças de :class:`dict` ainda permanecem:" #: ../../library/collections.rst:1088 msgid "" "The regular :class:`dict` was designed to be very good at mapping " "operations. Tracking insertion order was secondary." msgstr "" +"O :class:`dict` regular foi projetado para ser muito bom em operações de " +"mapeamento. O rastreamento do pedido de inserção era secundário." #: ../../library/collections.rst:1091 msgid "" @@ -1341,6 +1462,9 @@ msgid "" "Space efficiency, iteration speed, and the performance of update operations " "were secondary." msgstr "" +"O :class:`OrderedDict` foi projetado para ser bom em operações de " +"reordenação. A eficiência de espaço, a velocidade de iteração e o desempenho " +"das operações de atualização eram secundários." #: ../../library/collections.rst:1095 msgid "" @@ -1348,29 +1472,42 @@ msgid "" "better than :class:`dict`. As shown in the recipes below, this makes it " "suitable for implementing various kinds of LRU caches." msgstr "" +"O algoritmo :class:`OrderedDict` pode lidar com operações de reordenação " +"frequentes melhor do que :class:`dict`. Conforme mostrado nas receitas " +"abaixo, isso o torna adequado para implementar vários tipos de caches LRU." #: ../../library/collections.rst:1099 msgid "" "The equality operation for :class:`OrderedDict` checks for matching order." msgstr "" +"A operação de igualdade para :class:`OrderedDict` verifica a ordem " +"correspondente." #: ../../library/collections.rst:1101 msgid "" "A regular :class:`dict` can emulate the order sensitive equality test with " "``p == q and all(k1 == k2 for k1, k2 in zip(p, q))``." msgstr "" +"Um :class:`dict` regular pode emular o teste de igualdade sensível à ordem " +"com ``p == q and all(k1 == k2 for k1, k2 in zip(p, q))``." #: ../../library/collections.rst:1104 msgid "" "The :meth:`popitem` method of :class:`OrderedDict` has a different " "signature. It accepts an optional argument to specify which item is popped." msgstr "" +"O método :meth:`popitem` de :class:`OrderedDict` tem uma assinatura " +"diferente. Ele aceita um argumento opcional para especificar qual item será " +"exibido." #: ../../library/collections.rst:1107 msgid "" "A regular :class:`dict` can emulate OrderedDict's ``od.popitem(last=True)`` " "with ``d.popitem()`` which is guaranteed to pop the rightmost (last) item." msgstr "" +"Um :class:`dict` normal pode emular o ``od.popitem(last=True)`` do " +"OrderedDict com ``d.popitem()`` que é garantido para exibir o (último) item " +"mais à direita." #: ../../library/collections.rst:1110 msgid "" @@ -1378,12 +1515,17 @@ msgid "" "with ``(k := next(iter(d)), d.pop(k))`` which will return and remove the " "leftmost (first) item if it exists." msgstr "" +"Um :class:`dict` normal pode emular o ``od.popitem(last=False)`` do " +"OrderedDict com ``(k := next(iter(d)), d.pop(k))`` que retornará e remova o " +"item mais à esquerda (primeiro), se existir." #: ../../library/collections.rst:1114 msgid "" ":class:`OrderedDict` has a :meth:`move_to_end` method to efficiently " "reposition an element to an endpoint." msgstr "" +":class:`OrderedDict` possui um método :meth:`move_to_end` para reposicionar " +"eficientemente um elemento em um endpoint." #: ../../library/collections.rst:1117 msgid "" @@ -1391,6 +1533,9 @@ msgid "" "last=True)`` with ``d[k] = d.pop(k)`` which will move the key and its " "associated value to the rightmost (last) position." msgstr "" +"Um :class:`dict` normal pode emular o ``od.move_to_end(k, last=True)`` do " +"OrderedDict com ``d[k] = d.pop(k)`` que moverá a chave e seu valor associado " +"para a posição mais à direita (última)." #: ../../library/collections.rst:1121 msgid "" @@ -1398,16 +1543,22 @@ msgid "" "OrderedDict's ``od.move_to_end(k, last=False)`` which moves the key and its " "associated value to the leftmost (first) position." msgstr "" +"Um :class:`dict` regular não tem um equivalente eficiente para o " +"``od.move_to_end(k, last=False)`` do OrderedDict, que move a chave e seu " +"valor associado para a posição mais à esquerda (primeira)." #: ../../library/collections.rst:1125 msgid "Until Python 3.8, :class:`dict` lacked a :meth:`__reversed__` method." msgstr "" +"Até o Python 3.8, :class:`dict` não tinha um método :meth:`__reversed__`." #: ../../library/collections.rst:1130 msgid "" "Return an instance of a :class:`dict` subclass that has methods specialized " "for rearranging dictionary order." msgstr "" +"Retorna uma instância de uma subclasse :class:`dict` que possui métodos " +"especializados para reorganizar a ordem do dicionário." #: ../../library/collections.rst:1137 msgid "" @@ -1416,6 +1567,10 @@ msgid "" "out)` order if *last* is true or :abbr:`FIFO (first-in, first-out)` order if " "false." msgstr "" +"O método :meth:`popitem` para dicionários ordenados retorna e remove um par " +"(chave, valor). Os pares são retornados na ordem :abbr:`LIFO (último a " +"entrar, primeiro a sair)` se *last* for verdadeiro ou na ordem :abbr:`FIFO " +"(primeiro a entrar, primeiro a sair)` se for falso." #: ../../library/collections.rst:1144 msgid "" @@ -1423,6 +1578,10 @@ msgid "" "moved to the right end if *last* is true (the default) or to the beginning " "if *last* is false. Raises :exc:`KeyError` if the *key* does not exist:" msgstr "" +"Move uma chave *key* existente para qualquer extremidade de um dicionário " +"ordenado. O item é movido para a extremidade direita se *last* for " +"verdadeiro (o padrão) ou para o início se *último* for falso. " +"Levanta :exc:`KeyError` se a *key* não existir:" #: ../../library/collections.rst:1161 msgid "" @@ -1436,27 +1595,38 @@ msgstr "" msgid "" "Equality tests between :class:`OrderedDict` objects are order-sensitive and " "are implemented as ``list(od1.items())==list(od2.items())``. Equality tests " -"between :class:`OrderedDict` objects and other :class:`~collections.abc." -"Mapping` objects are order-insensitive like regular dictionaries. This " -"allows :class:`OrderedDict` objects to be substituted anywhere a regular " -"dictionary is used." -msgstr "" +"between :class:`OrderedDict` objects and " +"other :class:`~collections.abc.Mapping` objects are order-insensitive like " +"regular dictionaries. This allows :class:`OrderedDict` objects to be " +"substituted anywhere a regular dictionary is used." +msgstr "" +"Testes de igualdade entre objetos :class:`OrderedDict` são sensíveis à ordem " +"e são implementados como ``list(od1.items())==list(od2.items())``. Testes de " +"igualdade entre objetos :class:`OrderedDict` e outros " +"objetos :class:`~collections.abc.Mapping` são insensíveis à ordem como " +"dicionários regulares. Isso permite que objetos :class:`OrderedDict` sejam " +"substituídos em qualquer lugar que um dicionário regular seja usado." #: ../../library/collections.rst:1171 msgid "" -"The items, keys, and values :term:`views ` of :class:" -"`OrderedDict` now support reverse iteration using :func:`reversed`." +"The items, keys, and values :term:`views ` " +"of :class:`OrderedDict` now support reverse iteration using :func:`reversed`." msgstr "" +"Os itens, chaves e valores de :term:`visões ` " +"de :class:`OrderedDict` agora oferecem suporte a iteração reversa " +"usando :func:`reversed`." #: ../../library/collections.rst:1175 msgid "" "With the acceptance of :pep:`468`, order is retained for keyword arguments " "passed to the :class:`OrderedDict` constructor and its :meth:`update` method." msgstr "" +"Com a aceitação da :pep:`468`, a ordem é mantida para argumentos nomeados " +"passados para o construtor :class:`OrderedDict` e seu método :meth:`update`." #: ../../library/collections.rst:1185 msgid ":class:`OrderedDict` Examples and Recipes" -msgstr "" +msgstr "Exemplos e receitas de :class:`OrderedDict`" #: ../../library/collections.rst:1187 msgid "" @@ -1465,16 +1635,22 @@ msgid "" "existing entry, the original insertion position is changed and moved to the " "end::" msgstr "" +"É simples criar uma variante de dicionário ordenado que lembre a ordem em " +"que as chaves foram inseridas pela *última* vez. Se uma nova entrada " +"substituir uma entrada existente, a posição de inserção original será " +"alterada e movida para o final::" #: ../../library/collections.rst:1199 msgid "" -"An :class:`OrderedDict` would also be useful for implementing variants of :" -"func:`functools.lru_cache`:" +"An :class:`OrderedDict` would also be useful for implementing variants " +"of :func:`functools.lru_cache`:" msgstr "" +"Um :class:`OrderedDict` também seria útil para implementar variantes " +"de :func:`functools.lru_cache`:" #: ../../library/collections.rst:1297 msgid ":class:`UserDict` objects" -msgstr "" +msgstr "Objetos :class:`UserDict`" #: ../../library/collections.rst:1299 msgid "" @@ -1483,30 +1659,44 @@ msgid "" "subclass directly from :class:`dict`; however, this class can be easier to " "work with because the underlying dictionary is accessible as an attribute." msgstr "" +"A classe :class:`UserDict` atua como um invólucro em torno de objetos do " +"tipo dicionário. A necessidade desta classe foi parcialmente suplantada pela " +"capacidade de criar subclasses diretamente de :class:`dict`; entretanto, " +"essa classe pode ser mais fácil de trabalhar, pois o dicionário subjacente é " +"acessível como atributo." #: ../../library/collections.rst:1307 msgid "" "Class that simulates a dictionary. The instance's contents are kept in a " -"regular dictionary, which is accessible via the :attr:`data` attribute of :" -"class:`UserDict` instances. If *initialdata* is provided, :attr:`data` is " -"initialized with its contents; note that a reference to *initialdata* will " -"not be kept, allowing it to be used for other purposes." +"regular dictionary, which is accessible via the :attr:`data` attribute " +"of :class:`UserDict` instances. If *initialdata* is provided, :attr:`data` " +"is initialized with its contents; note that a reference to *initialdata* " +"will not be kept, allowing it to be used for other purposes." msgstr "" +"Classe que simula um dicionário. O conteúdo da instância é mantido em um " +"dicionário regular, que é acessível através do atributo :attr:`data` das " +"instâncias :class:`UserDict`. Se *initialdata* for fornecido, :attr:`data` é " +"inicializado com seu conteúdo; observe que a referência a *initialdata* não " +"será mantida, permitindo sua utilização para outros fins." #: ../../library/collections.rst:1313 msgid "" -"In addition to supporting the methods and operations of mappings, :class:" -"`UserDict` instances provide the following attribute:" +"In addition to supporting the methods and operations of " +"mappings, :class:`UserDict` instances provide the following attribute:" msgstr "" +"Além de prover suporte aos métodos e operações de mapeamentos, as " +"instâncias :class:`UserDict` fornecem o seguinte atributo:" #: ../../library/collections.rst:1318 msgid "" "A real dictionary used to store the contents of the :class:`UserDict` class." msgstr "" +"Um dicionário real usado para armazenar o conteúdo da " +"classe :class:`UserDict`." #: ../../library/collections.rst:1324 msgid ":class:`UserList` objects" -msgstr "" +msgstr "Objetos :class:`UserList`" #: ../../library/collections.rst:1326 msgid "" @@ -1515,6 +1705,10 @@ msgid "" "existing methods or add new ones. In this way, one can add new behaviors to " "lists." msgstr "" +"Esta classe atua como um invólucro em torno de objetos de lista. É uma " +"classe base útil para suas próprias classes semelhantes a listas, que podem " +"herdar delas e substituir métodos existentes ou adicionar novos. Desta " +"forma, é possível adicionar novos comportamentos às listas." #: ../../library/collections.rst:1331 msgid "" @@ -1522,27 +1716,41 @@ msgid "" "subclass directly from :class:`list`; however, this class can be easier to " "work with because the underlying list is accessible as an attribute." msgstr "" +"A necessidade desta classe foi parcialmente suplantada pela capacidade de " +"criar subclasses diretamente de :class:`list`; no entanto, pode ser mais " +"fácil trabalhar com essa classe porque a lista subjacente pode ser acessada " +"como um atributo." #: ../../library/collections.rst:1337 msgid "" "Class that simulates a list. The instance's contents are kept in a regular " -"list, which is accessible via the :attr:`data` attribute of :class:" -"`UserList` instances. The instance's contents are initially set to a copy " -"of *list*, defaulting to the empty list ``[]``. *list* can be any iterable, " -"for example a real Python list or a :class:`UserList` object." -msgstr "" +"list, which is accessible via the :attr:`data` attribute " +"of :class:`UserList` instances. The instance's contents are initially set " +"to a copy of *list*, defaulting to the empty list ``[]``. *list* can be any " +"iterable, for example a real Python list or a :class:`UserList` object." +msgstr "" +"Classe que simula uma lista. O conteúdo da instância é mantido em uma lista " +"regular, que é acessível através do atributo :attr:`data` das " +"instâncias :class:`UserList`. O conteúdo da instância é inicialmente " +"definido como uma cópia de *list*, padronizando a lista vazia ``[]``. *list* " +"pode ser qualquer iterável, por exemplo, uma lista Python real ou um " +"objeto :class:`UserList`." #: ../../library/collections.rst:1343 msgid "" -"In addition to supporting the methods and operations of mutable sequences, :" -"class:`UserList` instances provide the following attribute:" +"In addition to supporting the methods and operations of mutable " +"sequences, :class:`UserList` instances provide the following attribute:" msgstr "" +"Além de prover suporte aos métodos e operações de sequências mutáveis, as " +"instâncias :class:`UserList` fornecem o seguinte atributo:" #: ../../library/collections.rst:1348 msgid "" -"A real :class:`list` object used to store the contents of the :class:" -"`UserList` class." +"A real :class:`list` object used to store the contents of " +"the :class:`UserList` class." msgstr "" +"Um objeto :class:`list` real usado para armazenar o conteúdo da " +"classe :class:`UserList`." #: ../../library/collections.rst:1351 msgid "" @@ -1553,6 +1761,12 @@ msgid "" "constructor can be called with a single parameter, which is a sequence " "object used as a data source." msgstr "" +"**Requisitos para criar subclasse:** Espera-se que as subclasses " +"de :class:`UserList` ofereçam um construtor que pode ser chamado sem " +"argumentos ou com um argumento. Listar operações que retornam uma nova " +"sequência tenta criar uma instância da classe de implementação real. Para " +"isso, presume que o construtor pode ser chamado com um único parâmetro, que " +"é um objeto de sequência usado como fonte de dados." #: ../../library/collections.rst:1358 msgid "" @@ -1561,10 +1775,14 @@ msgid "" "consult the sources for information about the methods which need to be " "provided in that case." msgstr "" +"Se uma classe derivada não desejar atender a este requisito, todos os " +"métodos especiais suportados por esta classe precisarão ser substituídos; " +"consulte as fontes para obter informações sobre os métodos que precisam ser " +"fornecidos nesse caso." #: ../../library/collections.rst:1364 msgid ":class:`UserString` objects" -msgstr "" +msgstr "Objetos :class:`UserString`" #: ../../library/collections.rst:1366 msgid "" @@ -1573,6 +1791,11 @@ msgid "" "directly from :class:`str`; however, this class can be easier to work with " "because the underlying string is accessible as an attribute." msgstr "" +"A classe :class:`UserString` atua como um invólucro em torno de objetos " +"string. A necessidade desta classe foi parcialmente suplantada pela " +"capacidade de criar subclasses diretamente de :class:`str`; entretanto, essa " +"classe pode ser mais fácil de trabalhar porque a string subjacente é " +"acessível como um atributo." #: ../../library/collections.rst:1374 msgid "" @@ -1582,21 +1805,32 @@ msgid "" "to a copy of *seq*. The *seq* argument can be any object which can be " "converted into a string using the built-in :func:`str` function." msgstr "" +"Classe que simula um objeto string. O conteúdo da instância é mantido em um " +"objeto string regular, que é acessível através do atributo :attr:`data` das " +"instâncias :class:`UserString`. O conteúdo da instância é inicialmente " +"definido como uma cópia de *seq*. O argumento *seq* pode ser qualquer objeto " +"que possa ser convertido em uma string usando a função embutida :func:`str`." #: ../../library/collections.rst:1381 msgid "" -"In addition to supporting the methods and operations of strings, :class:" -"`UserString` instances provide the following attribute:" +"In addition to supporting the methods and operations of " +"strings, :class:`UserString` instances provide the following attribute:" msgstr "" +"Além de prover suporte aos métodos e operações de strings, as " +"instâncias :class:`UserString` fornecem o seguinte atributo:" #: ../../library/collections.rst:1386 msgid "" -"A real :class:`str` object used to store the contents of the :class:" -"`UserString` class." +"A real :class:`str` object used to store the contents of " +"the :class:`UserString` class." msgstr "" +"Um objeto :class:`str` real usado para armazenar o conteúdo da " +"classe :class:`UserString`." #: ../../library/collections.rst:1389 msgid "" "New methods ``__getnewargs__``, ``__rmod__``, ``casefold``, ``format_map``, " "``isprintable``, and ``maketrans``." msgstr "" +"Novos métodos ``__getnewargs__``, ``__rmod__``, ``casefold``, " +"``format_map``, ``isprintable`` e ``maketrans``." diff --git a/library/colorsys.po b/library/colorsys.po index 5612e6f31..1ac1ae368 100644 --- a/library/colorsys.po +++ b/library/colorsys.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Italo Penaforte , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Italo Penaforte , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -55,8 +53,8 @@ msgstr "" #: ../../library/colorsys.rst:23 msgid "" "More information about color spaces can be found at https://poynton.ca/" -"ColorFAQ.html and https://www.cambridgeincolour.com/tutorials/color-spaces." -"htm." +"ColorFAQ.html and https://www.cambridgeincolour.com/tutorials/color-" +"spaces.htm." msgstr "" "Mais informações sobre espaços de cores podem ser encontradas em https://" "poynton.ca/ColorFAQ.html e https://www.cambridgeincolour.com/tutorials/color-" diff --git a/library/compileall.po b/library/compileall.po index edff4b767..ef06319b6 100644 --- a/library/compileall.po +++ b/library/compileall.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -60,11 +60,11 @@ msgstr "" "``wasm32-emscripten`` e ``wasm32-wasi``. Veja :ref:`wasm-availability` para " "mais informações." -#: ../../library/compileall.rst:20 +#: ../../library/compileall.rst:22 msgid "Command-line use" msgstr "Uso na linha de comando" -#: ../../library/compileall.rst:22 +#: ../../library/compileall.rst:24 msgid "" "This module can work as a script (using :program:`python -m compileall`) to " "compile Python sources." @@ -72,18 +72,18 @@ msgstr "" "Este módulo pode funcionar como um script (usando :program:`python -m " "compileall`) para compilar fontes do Python." -#: ../../library/compileall.rst:30 +#: ../../library/compileall.rst:32 msgid "" "Positional arguments are files to compile or directories that contain source " "files, traversed recursively. If no argument is given, behave as if the " -"command line was ``-l ``." +"command line was :samp:`-l {}`." msgstr "" "Argumentos posicionais são arquivos a serem compilados ou diretórios que " "contêm arquivos de origem, percorridos recursivamente. Se nenhum argumento " -"for fornecido, comporta-se como se a linha de comando fosse ``-l ``." +"for fornecido, comporta-se como se a linha de comando fosse :samp:`-l " +"{}`." -#: ../../library/compileall.rst:36 +#: ../../library/compileall.rst:38 msgid "" "Do not recurse into subdirectories, only compile source code files directly " "contained in the named or implied directories." @@ -91,13 +91,13 @@ msgstr "" "Não atua recursivamente em subdiretórios, apenas compila arquivos de código-" "fonte diretamente contidos nos diretórios nomeados ou implícitos." -#: ../../library/compileall.rst:41 +#: ../../library/compileall.rst:43 msgid "Force rebuild even if timestamps are up-to-date." msgstr "" "Força a recompilação, mesmo que os carimbos de data e hora estejam " "atualizados." -#: ../../library/compileall.rst:45 +#: ../../library/compileall.rst:47 msgid "" "Do not print the list of files compiled. If passed once, error messages will " "still be printed. If passed twice (``-qq``), all output is suppressed." @@ -106,7 +106,7 @@ msgstr "" "de erro ainda serão impressas. Se passado duas vezes (``-qq``), toda a saída " "é suprimida." -#: ../../library/compileall.rst:50 +#: ../../library/compileall.rst:52 msgid "" "Directory prepended to the path to each file being compiled. This will " "appear in compilation time tracebacks, and is also compiled in to the byte-" @@ -120,7 +120,7 @@ msgstr "" "casos em que o arquivo de origem não exista no momento em que o arquivo de " "bytecode for executado." -#: ../../library/compileall.rst:59 +#: ../../library/compileall.rst:61 msgid "" "Remove (``-s``) or append (``-p``) the given prefix of paths recorded in the " "``.pyc`` files. Cannot be combined with ``-d``." @@ -128,7 +128,7 @@ msgstr "" "Remove (``-s``) ou acrescenta (``-p``) o prefixo especificado dos caminhos " "gravados nos arquivos ``.pyc``. Não pode ser combinado com ``-d``." -#: ../../library/compileall.rst:65 +#: ../../library/compileall.rst:67 msgid "" "regex is used to search the full path to each file considered for " "compilation, and if the regex produces a match, the file is skipped." @@ -137,7 +137,7 @@ msgstr "" "cada arquivo considerado para compilação e, se a ``regex`` produzir uma " "correspondência, o arquivo será ignorado." -#: ../../library/compileall.rst:70 +#: ../../library/compileall.rst:72 msgid "" "Read the file ``list`` and add each line that it contains to the list of " "files and directories to compile. If ``list`` is ``-``, read lines from " @@ -147,7 +147,7 @@ msgstr "" "arquivos e diretórios a serem compilados. Se ``list`` for ``-``, lê as " "linhas do ``stdin``." -#: ../../library/compileall.rst:76 +#: ../../library/compileall.rst:78 msgid "" "Write the byte-code files to their legacy locations and names, which may " "overwrite byte-code files created by another version of Python. The default " @@ -159,7 +159,7 @@ msgstr "" "padrão é gravar arquivos em seus locais e nomes do :pep:`3147`, o que " "permite que arquivos de bytecode de várias versões do Python coexistam." -#: ../../library/compileall.rst:83 +#: ../../library/compileall.rst:85 msgid "" "Control the maximum recursion level for subdirectories. If this is given, " "then ``-l`` option will not be taken into account. :program:`python -m " @@ -171,15 +171,15 @@ msgstr "" " -r 0` é equivalente a :program:`python -m compileall " "-l`." -#: ../../library/compileall.rst:90 +#: ../../library/compileall.rst:92 msgid "" "Use *N* workers to compile the files within the given directory. If ``0`` is " "used, then the result of :func:`os.cpu_count()` will be used." msgstr "" -"Use *N* workers para compilar os arquivos dentro do diretório especificado. " -"Se ``0`` for usado, o resultado de :func:`os.cpu_count()` será usado." +"Usa *N* workers para compilar os arquivos dentro do diretório fornecido. Se " +"``0`` for usado, então o resultado de :func:`os.cpu_count()` será usado." -#: ../../library/compileall.rst:96 +#: ../../library/compileall.rst:98 msgid "" "Control how the generated byte-code files are invalidated at runtime. The " "``timestamp`` value, means that ``.pyc`` files with the source timestamp and " @@ -187,23 +187,23 @@ msgid "" "values cause hash-based pycs to be generated. Hash-based pycs embed a hash " "of the source file contents rather than a timestamp. See :ref:`pyc-" "invalidation` for more information on how Python validates bytecode cache " -"files at runtime. The default is ``timestamp`` if the :envvar:" -"`SOURCE_DATE_EPOCH` environment variable is not set, and ``checked-hash`` if " -"the ``SOURCE_DATE_EPOCH`` environment variable is set." +"files at runtime. The default is ``timestamp`` if " +"the :envvar:`SOURCE_DATE_EPOCH` environment variable is not set, and " +"``checked-hash`` if the ``SOURCE_DATE_EPOCH`` environment variable is set." msgstr "" "Controla como os arquivos de bytecode gerados são invalidados no tempo de " "execução. O valor ``timestamp`` significa que os arquivos ``.pyc`` com o " "carimbo de data/hora do fonte e o tamanho incorporado serão gerados. Os " "valores ``selected-hash`` e ``unchecked-hash`` fazem com que os pycs " "baseados em hash sejam gerados. Arquivos pycs baseados em hash incorporam um " -"hash do conteúdo do arquivo fonte em vez de um carimbo de data/hora. Veja :" -"ref:`pyc-invalidation` para obter mais informações sobre como o Python " +"hash do conteúdo do arquivo fonte em vez de um carimbo de data/hora. " +"Veja :ref:`pyc-invalidation` para obter mais informações sobre como o Python " "valida os arquivos de cache do bytecode em tempo de execução. O padrão é " "``timestamp`` se a variável de ambiente :envvar:`SOURCE_DATE_EPOCH` não " "estiver configurada e ``selected-hash`` se a variável de ambiente " "``SOURCE_DATE_EPOCH`` estiver configurada." -#: ../../library/compileall.rst:109 +#: ../../library/compileall.rst:111 msgid "" "Compile with the given optimization level. May be used multiple times to " "compile for multiple levels at a time (for example, ``compileall -o 1 -o " @@ -213,12 +213,12 @@ msgstr "" "para compilar para vários níveis por vez (por exemplo, ``compileall -o 1 -o " "2``)." -#: ../../library/compileall.rst:115 +#: ../../library/compileall.rst:117 msgid "Ignore symlinks pointing outside the given directory." msgstr "" "Ignora links simbólicos que apontam para fora do diretório especificado." -#: ../../library/compileall.rst:119 +#: ../../library/compileall.rst:121 msgid "" "If two ``.pyc`` files with different optimization level have the same " "content, use hard links to consolidate duplicate files." @@ -226,11 +226,11 @@ msgstr "" "Se dois arquivos ``.pyc`` com nível de otimização diferente tiverem o mesmo " "conteúdo, usa links físicos para consolidar arquivos duplicados." -#: ../../library/compileall.rst:122 +#: ../../library/compileall.rst:124 msgid "Added the ``-i``, ``-b`` and ``-h`` options." msgstr "Adicionadas as opções ``-i``, ``-b`` e ``-h``." -#: ../../library/compileall.rst:125 +#: ../../library/compileall.rst:127 msgid "" "Added the ``-j``, ``-r``, and ``-qq`` options. ``-q`` option was changed " "to a multilevel value. ``-b`` will always produce a byte-code file ending " @@ -240,22 +240,22 @@ msgstr "" "para um valor multinível. ``-b`` sempre produzirá um arquivo de bytecodes " "que termina em ``.pyc``, nunca em ``.pyo``." -#: ../../library/compileall.rst:130 +#: ../../library/compileall.rst:132 msgid "Added the ``--invalidation-mode`` option." msgstr "Adicionada a opção ``--invalidation-mode``." -#: ../../library/compileall.rst:133 +#: ../../library/compileall.rst:135 msgid "" "Added the ``-s``, ``-p``, ``-e`` and ``--hardlink-dupes`` options. Raised " "the default recursion limit from 10 to :py:func:`sys.getrecursionlimit()`. " "Added the possibility to specify the ``-o`` option multiple times." msgstr "" "Adicionadas as opções ``-s``, ``-p``, ``-e`` e ``--hardlink-dupes``. " -"Aumentado o limite de recursão padrão de 10 para :py:func:`sys." -"getrecursionlimit()`. Adicionada a possibilidade de especificar a opção ``-" -"o`` várias vezes." +"Aumentado o limite de recursão padrão de 10 " +"para :py:func:`sys.getrecursionlimit()`. Adicionada a possibilidade de " +"especificar a opção ``-o`` várias vezes." -#: ../../library/compileall.rst:140 +#: ../../library/compileall.rst:142 msgid "" "There is no command-line option to control the optimization level used by " "the :func:`compile` function, because the Python interpreter itself already " @@ -265,34 +265,35 @@ msgstr "" "pela função :func:`compile` porque o próprio interpretador Python já fornece " "a opção: :program:`python -O -m compileall`." -#: ../../library/compileall.rst:144 +#: ../../library/compileall.rst:146 msgid "" -"Similarly, the :func:`compile` function respects the :attr:`sys." -"pycache_prefix` setting. The generated bytecode cache will only be useful " -"if :func:`compile` is run with the same :attr:`sys.pycache_prefix` (if any) " -"that will be used at runtime." +"Similarly, the :func:`compile` function respects " +"the :data:`sys.pycache_prefix` setting. The generated bytecode cache will " +"only be useful if :func:`compile` is run with the " +"same :data:`sys.pycache_prefix` (if any) that will be used at runtime." msgstr "" -"Da mesma forma, a função :func:`compile` respeita a configuração :attr:`sys." -"pycache_prefix`. O cache do bytecode gerado somente será útil se :func:" -"`compile` for executado com o mesmo :attr:`sys.pycache_prefix` (se houver) " -"que será usado em tempo de execução." +"Da mesma forma, a função :func:`compile` respeita a " +"configuração :data:`sys.pycache_prefix`. O cache do bytecode gerado somente " +"será útil se :func:`compile` for executado com o " +"mesmo :data:`sys.pycache_prefix` (se houver) que será usado em tempo de " +"execução." -#: ../../library/compileall.rst:150 +#: ../../library/compileall.rst:152 msgid "Public functions" msgstr "Funções públicas" -#: ../../library/compileall.rst:154 +#: ../../library/compileall.rst:156 msgid "" -"Recursively descend the directory tree named by *dir*, compiling all :file:`." -"py` files along the way. Return a true value if all the files compiled " -"successfully, and a false value otherwise." +"Recursively descend the directory tree named by *dir*, compiling " +"all :file:`.py` files along the way. Return a true value if all the files " +"compiled successfully, and a false value otherwise." msgstr "" "Desce recursivamente a árvore de diretórios nomeada por *dir*, compilando " "todos os arquivos :file:`.py` ao longo do caminho. Retorna um valor " "verdadeiro se todos os arquivos forem compilados com êxito e um valor falso " "caso contrário." -#: ../../library/compileall.rst:158 +#: ../../library/compileall.rst:160 msgid "" "The *maxlevels* parameter is used to limit the depth of the recursion; it " "defaults to ``sys.getrecursionlimit()``." @@ -300,7 +301,7 @@ msgstr "" "O parâmetro *maxlevels* é usado para limitar a profundidade da recursão; o " "padrão é ``sys.getrecursionlimit()``." -#: ../../library/compileall.rst:161 +#: ../../library/compileall.rst:163 msgid "" "If *ddir* is given, it is prepended to the path to each file being compiled " "for use in compilation time tracebacks, and is also compiled in to the byte-" @@ -314,7 +315,7 @@ msgstr "" "outras mensagens nos casos em que o arquivo de origem não existe no momento " "em que o arquivo de bytecode é executado." -#: ../../library/compileall.rst:167 +#: ../../library/compileall.rst:169 msgid "" "If *force* is true, modules are re-compiled even if the timestamps are up to " "date." @@ -322,7 +323,7 @@ msgstr "" "Se *force* for verdadeiro, os módulos serão recompilados, mesmo que os " "carimbos de data e hora estejam atualizados." -#: ../../library/compileall.rst:170 +#: ../../library/compileall.rst:172 msgid "" "If *rx* is given, its ``search`` method is called on the complete path to " "each file considered for compilation, and if it returns a true value, the " @@ -332,10 +333,10 @@ msgstr "" "Se *rx* for fornecido, seu método ``search`` será chamado no caminho " "completo para cada arquivo considerado para compilação e, se retornar um " "valor verdadeiro, o arquivo será ignorado. Isso pode ser usado para excluir " -"arquivos correspondendo a uma expressão regular, dado como um objeto :ref:" -"`re.Pattern `." +"arquivos correspondendo a uma expressão regular, dado como um " +"objeto :ref:`re.Pattern `." -#: ../../library/compileall.rst:175 ../../library/compileall.rst:252 +#: ../../library/compileall.rst:177 ../../library/compileall.rst:254 msgid "" "If *quiet* is ``False`` or ``0`` (the default), the filenames and other " "information are printed to standard out. Set to ``1``, only errors are " @@ -345,7 +346,7 @@ msgstr "" "informações serão impressos com o padrão. Definido como ``1``, apenas os " "erros são impressos. Definido como ``2``, toda a saída é suprimida." -#: ../../library/compileall.rst:179 ../../library/compileall.rst:256 +#: ../../library/compileall.rst:181 ../../library/compileall.rst:258 msgid "" "If *legacy* is true, byte-code files are written to their legacy locations " "and names, which may overwrite byte-code files created by another version of " @@ -359,7 +360,7 @@ msgstr "" "locais e nomes do :pep:`3147`, o que permite que arquivos de bytecodes de " "várias versões do Python coexistam." -#: ../../library/compileall.rst:185 ../../library/compileall.rst:262 +#: ../../library/compileall.rst:187 ../../library/compileall.rst:264 msgid "" "*optimize* specifies the optimization level for the compiler. It is passed " "to the built-in :func:`compile` function. Accepts also a sequence of " @@ -368,36 +369,36 @@ msgid "" msgstr "" "*optimize* especifica o nível de otimização para o compilador. Ele é passado " "para a função embutida :func:`compile`. Aceita também uma sequência de " -"níveis de otimização que levam a várias compilações de um arquivo :file:`." -"py` em uma chamada." +"níveis de otimização que levam a várias compilações de um " +"arquivo :file:`.py` em uma chamada." -#: ../../library/compileall.rst:189 +#: ../../library/compileall.rst:191 msgid "" "The argument *workers* specifies how many workers are used to compile files " "in parallel. The default is to not use multiple workers. If the platform " "can't use multiple workers and *workers* argument is given, then sequential " "compilation will be used as a fallback. If *workers* is 0, the number of " -"cores in the system is used. If *workers* is lower than ``0``, a :exc:" -"`ValueError` will be raised." +"cores in the system is used. If *workers* is lower than ``0``, " +"a :exc:`ValueError` will be raised." msgstr "" "O argumento *workers* especifica quantos workers são usados para compilar " "arquivos em paralelo. O padrão é não usar vários workers. Se a plataforma " "não puder usar vários workers e o argumento *workers* for fornecido, a " "compilação sequencial será usada como reserva. Se *workers* for 0, o número " -"de núcleos no sistema é usado. Se *workers* for menor que ``0``, a :exc:" -"`ValueError` será levantada." +"de núcleos no sistema é usado. Se *workers* for menor que ``0``, " +"a :exc:`ValueError` será levantada." -#: ../../library/compileall.rst:196 ../../library/compileall.rst:266 +#: ../../library/compileall.rst:198 ../../library/compileall.rst:268 msgid "" -"*invalidation_mode* should be a member of the :class:`py_compile." -"PycInvalidationMode` enum and controls how the generated pycs are " -"invalidated at runtime." +"*invalidation_mode* should be a member of " +"the :class:`py_compile.PycInvalidationMode` enum and controls how the " +"generated pycs are invalidated at runtime." msgstr "" -"*invalidation_mode* deve ser um membro de enum :class:`py_compile." -"PycInvalidationMode` e controla como os pycs gerados são invalidados em " -"tempo de execução." +"*invalidation_mode* deve ser um membro de " +"enum :class:`py_compile.PycInvalidationMode` e controla como os pycs gerados " +"são invalidados em tempo de execução." -#: ../../library/compileall.rst:200 ../../library/compileall.rst:270 +#: ../../library/compileall.rst:202 ../../library/compileall.rst:272 msgid "" "The *stripdir*, *prependdir* and *limit_sl_dest* arguments correspond to the " "``-s``, ``-p`` and ``-e`` options described above. They may be specified as " @@ -407,7 +408,7 @@ msgstr "" "opções ``-s``, ``-p`` e ``-e`` descrita acima. eles podem ser especificados " "como ``str`` ou :py:class:`os.PathLike`." -#: ../../library/compileall.rst:204 ../../library/compileall.rst:274 +#: ../../library/compileall.rst:206 ../../library/compileall.rst:276 msgid "" "If *hardlink_dupes* is true and two ``.pyc`` files with different " "optimization level have the same content, use hard links to consolidate " @@ -417,59 +418,59 @@ msgstr "" "otimização diferente tiverem o mesmo conteúdo, usa links físicos para " "consolidar arquivos duplicados." -#: ../../library/compileall.rst:207 ../../library/compileall.rst:305 +#: ../../library/compileall.rst:209 ../../library/compileall.rst:307 msgid "Added the *legacy* and *optimize* parameter." msgstr "Adicionado os parâmetros *legacy* e *optimize*." -#: ../../library/compileall.rst:210 +#: ../../library/compileall.rst:212 msgid "Added the *workers* parameter." msgstr "Adicionado o parâmetro *workers*." -#: ../../library/compileall.rst:213 ../../library/compileall.rst:279 -#: ../../library/compileall.rst:308 +#: ../../library/compileall.rst:215 ../../library/compileall.rst:281 +#: ../../library/compileall.rst:310 msgid "*quiet* parameter was changed to a multilevel value." msgstr "O parâmetro *quiet* foi alterado para um valor multinível." -#: ../../library/compileall.rst:216 ../../library/compileall.rst:282 -#: ../../library/compileall.rst:311 +#: ../../library/compileall.rst:218 ../../library/compileall.rst:284 +#: ../../library/compileall.rst:313 msgid "" "The *legacy* parameter only writes out ``.pyc`` files, not ``.pyo`` files no " "matter what the value of *optimize* is." msgstr "" -"O parâmetro *legacy* grava apenas arquivos ``.pyc``, não os arquivos ``." -"pyo``, independentemente do valor de *optimize*." +"O parâmetro *legacy* grava apenas arquivos ``.pyc``, não os arquivos " +"``.pyo``, independentemente do valor de *optimize*." -#: ../../library/compileall.rst:220 +#: ../../library/compileall.rst:222 msgid "Accepts a :term:`path-like object`." msgstr "Aceita um :term:`objeto caminho ou similar`." -#: ../../library/compileall.rst:223 ../../library/compileall.rst:286 -#: ../../library/compileall.rst:315 +#: ../../library/compileall.rst:225 ../../library/compileall.rst:288 +#: ../../library/compileall.rst:317 msgid "The *invalidation_mode* parameter was added." msgstr "O parâmetro *invalidation_mode* foi adicionado." -#: ../../library/compileall.rst:226 ../../library/compileall.rst:289 -#: ../../library/compileall.rst:318 +#: ../../library/compileall.rst:228 ../../library/compileall.rst:291 +#: ../../library/compileall.rst:320 msgid "The *invalidation_mode* parameter's default value is updated to None." msgstr "" "O valor padrão do parâmetro *invalidation_mode* é atualizado para None." -#: ../../library/compileall.rst:229 +#: ../../library/compileall.rst:231 msgid "Setting *workers* to 0 now chooses the optimal number of cores." msgstr "" "A definição de *workers* como 0 agora escolhe o número ideal de núcleos." -#: ../../library/compileall.rst:232 +#: ../../library/compileall.rst:234 msgid "" "Added *stripdir*, *prependdir*, *limit_sl_dest* and *hardlink_dupes* " -"arguments. Default value of *maxlevels* was changed from ``10`` to ``sys." -"getrecursionlimit()``" +"arguments. Default value of *maxlevels* was changed from ``10`` to " +"``sys.getrecursionlimit()``" msgstr "" "Adicionados os argumentos *stripdir*, *prependdir*, *limit_sl_dest* e " "*hardlink_dupes*. O valor padrão de *maxlevels* foi alterado de ``10`` para " "``sys.getrecursionlimit()``" -#: ../../library/compileall.rst:238 +#: ../../library/compileall.rst:240 msgid "" "Compile the file with path *fullname*. Return a true value if the file " "compiled successfully, and a false value otherwise." @@ -477,7 +478,7 @@ msgstr "" "Compila o arquivo com o caminho *fullname*. Retorna um valor verdadeiro se o " "arquivo compilado com êxito e um valor falso caso contrário." -#: ../../library/compileall.rst:241 +#: ../../library/compileall.rst:243 msgid "" "If *ddir* is given, it is prepended to the path to the file being compiled " "for use in compilation time tracebacks, and is also compiled in to the byte-" @@ -491,7 +492,7 @@ msgstr "" "outras mensagens nos casos em que o arquivo fonte não existe no momento em " "que o arquivo de bytecode é executado." -#: ../../library/compileall.rst:247 +#: ../../library/compileall.rst:249 msgid "" "If *rx* is given, its ``search`` method is passed the full path name to the " "file being compiled, and if it returns a true value, the file is not " @@ -505,7 +506,7 @@ msgstr "" "pode ser usado para excluir arquivos correspondendo a uma expressão regular, " "dado como um objeto :ref:`re.Pattern `." -#: ../../library/compileall.rst:292 +#: ../../library/compileall.rst:294 msgid "" "Added *stripdir*, *prependdir*, *limit_sl_dest* and *hardlink_dupes* " "arguments." @@ -513,7 +514,7 @@ msgstr "" "Adicionados os argumentos *stripdir*, *prependdir*, *limit_sl_dest* e " "*hardlink_dupes*." -#: ../../library/compileall.rst:297 +#: ../../library/compileall.rst:299 msgid "" "Byte-compile all the :file:`.py` files found along ``sys.path``. Return a " "true value if all the files compiled successfully, and a false value " @@ -523,19 +524,19 @@ msgstr "" "longo de ``sys.path``. Retorna um valor verdadeiro se todos os arquivos " "forem compilados com êxito e um valor falso caso contrário." -#: ../../library/compileall.rst:300 +#: ../../library/compileall.rst:302 msgid "" "If *skip_curdir* is true (the default), the current directory is not " -"included in the search. All other parameters are passed to the :func:" -"`compile_dir` function. Note that unlike the other compile functions, " -"``maxlevels`` defaults to ``0``." +"included in the search. All other parameters are passed to " +"the :func:`compile_dir` function. Note that unlike the other compile " +"functions, ``maxlevels`` defaults to ``0``." msgstr "" "Se *skip_curdir* for verdadeiro (o padrão), o diretório atual não será " -"incluído na pesquisa. Todos os outros parâmetros são passados para a função :" -"func:`compile_dir`. Note que, ao contrário das outras funções de compilação, " -"``maxlevels`` é padronizado como ``0``." +"incluído na pesquisa. Todos os outros parâmetros são passados para a " +"função :func:`compile_dir`. Note que, ao contrário das outras funções de " +"compilação, ``maxlevels`` é padronizado como ``0``." -#: ../../library/compileall.rst:321 +#: ../../library/compileall.rst:323 msgid "" "To force a recompile of all the :file:`.py` files in the :file:`Lib/` " "subdirectory and all its subdirectories::" @@ -543,10 +544,10 @@ msgstr "" "Para forçar uma recompilação de todos os arquivos :file:`.py` no " "subdiretório :file:`Lib/` e todos os seus subdiretórios::" -#: ../../library/compileall.rst:338 +#: ../../library/compileall.rst:340 msgid "Module :mod:`py_compile`" msgstr "Módulo :mod:`py_compile`" -#: ../../library/compileall.rst:339 +#: ../../library/compileall.rst:341 msgid "Byte-compile a single source file." msgstr "Compila para bytecode um único arquivo fonte." diff --git a/library/concurrency.po b/library/concurrency.po index 923566f65..c56bb87a0 100644 --- a/library/concurrency.po +++ b/library/concurrency.po @@ -1,26 +1,25 @@ # 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: -# Raphael Mendonça, 2021 -# Hildeberto Abreu Magalhães , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Hildeberto Abreu Magalhães , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/concurrent.futures.po b/library/concurrent.futures.po index 50ff5708f..571aaf213 100644 --- a/library/concurrent.futures.po +++ b/library/concurrent.futures.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 -# Danilo Lima , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -48,10 +43,10 @@ msgstr "" #: ../../library/concurrent.futures.rst:17 msgid "" -"The asynchronous execution can be performed with threads, using :class:" -"`ThreadPoolExecutor`, or separate processes, using :class:" -"`ProcessPoolExecutor`. Both implement the same interface, which is defined " -"by the abstract :class:`Executor` class." +"The asynchronous execution can be performed with threads, " +"using :class:`ThreadPoolExecutor`, or separate processes, " +"using :class:`ProcessPoolExecutor`. Both implement the same interface, " +"which is defined by the abstract :class:`Executor` class." msgstr "" #: ../../includes/wasm-notavail.rst:3 @@ -86,7 +81,7 @@ msgid "" msgstr "" #: ../../library/concurrent.futures.rst:44 -msgid "Similar to :func:`map(func, *iterables) ` except:" +msgid "Similar to :func:`map(fn, *iterables) ` except:" msgstr "" #: ../../library/concurrent.futures.rst:46 @@ -95,23 +90,23 @@ msgstr "" #: ../../library/concurrent.futures.rst:48 msgid "" -"*func* is executed asynchronously and several calls to *func* may be made " +"*fn* is executed asynchronously and several calls to *fn* may be made " "concurrently." msgstr "" #: ../../library/concurrent.futures.rst:51 msgid "" -"The returned iterator raises a :exc:`TimeoutError` if :meth:`~iterator." -"__next__` is called and the result isn't available after *timeout* seconds " -"from the original call to :meth:`Executor.map`. *timeout* can be an int or a " -"float. If *timeout* is not specified or ``None``, there is no limit to the " -"wait time." +"The returned iterator raises a :exc:`TimeoutError` " +"if :meth:`~iterator.__next__` is called and the result isn't available after " +"*timeout* seconds from the original call to :meth:`Executor.map`. *timeout* " +"can be an int or a float. If *timeout* is not specified or ``None``, there " +"is no limit to the wait time." msgstr "" #: ../../library/concurrent.futures.rst:57 msgid "" -"If a *func* call raises an exception, then that exception will be raised " -"when its value is retrieved from the iterator." +"If a *fn* call raises an exception, then that exception will be raised when " +"its value is retrieved from the iterator." msgstr "" #: ../../library/concurrent.futures.rst:60 @@ -131,9 +126,9 @@ msgstr "Adicionado o argumento *chunksize*." #: ../../library/concurrent.futures.rst:73 msgid "" "Signal the executor that it should free any resources that it is using when " -"the currently pending futures are done executing. Calls to :meth:`Executor." -"submit` and :meth:`Executor.map` made after shutdown will raise :exc:" -"`RuntimeError`." +"the currently pending futures are done executing. Calls " +"to :meth:`Executor.submit` and :meth:`Executor.map` made after shutdown will " +"raise :exc:`RuntimeError`." msgstr "" #: ../../library/concurrent.futures.rst:78 @@ -163,9 +158,10 @@ msgstr "" #: ../../library/concurrent.futures.rst:95 msgid "" -"You can avoid having to call this method explicitly if you use the :keyword:" -"`with` statement, which will shutdown the :class:`Executor` (waiting as if :" -"meth:`Executor.shutdown` were called with *wait* set to ``True``)::" +"You can avoid having to call this method explicitly if you use " +"the :keyword:`with` statement, which will shutdown the :class:`Executor` " +"(waiting as if :meth:`Executor.shutdown` were called with *wait* set to " +"``True``)::" msgstr "" #: ../../library/concurrent.futures.rst:107 @@ -174,7 +170,7 @@ msgstr "Adicionado *cancel_futures*." #: ../../library/concurrent.futures.rst:112 msgid "ThreadPoolExecutor" -msgstr "" +msgstr "ThreadPoolExecutor" #: ../../library/concurrent.futures.rst:114 msgid "" @@ -220,21 +216,21 @@ msgstr "" #: ../../library/concurrent.futures.rst:166 msgid "" "If *max_workers* is ``None`` or not given, it will default to the number of " -"processors on the machine, multiplied by ``5``, assuming that :class:" -"`ThreadPoolExecutor` is often used to overlap I/O instead of CPU work and " -"the number of workers should be higher than the number of workers for :class:" -"`ProcessPoolExecutor`." +"processors on the machine, multiplied by ``5``, assuming " +"that :class:`ThreadPoolExecutor` is often used to overlap I/O instead of CPU " +"work and the number of workers should be higher than the number of workers " +"for :class:`ProcessPoolExecutor`." msgstr "" #: ../../library/concurrent.futures.rst:174 msgid "" -"The *thread_name_prefix* argument was added to allow users to control the :" -"class:`threading.Thread` names for worker threads created by the pool for " -"easier debugging." +"Added the *thread_name_prefix* parameter to allow users to control " +"the :class:`threading.Thread` names for worker threads created by the pool " +"for easier debugging." msgstr "" #: ../../library/concurrent.futures.rst:179 -#: ../../library/concurrent.futures.rst:281 +#: ../../library/concurrent.futures.rst:282 msgid "Added the *initializer* and *initargs* arguments." msgstr "" @@ -258,16 +254,16 @@ msgstr "Exemplo de ThreadPoolExecutor" #: ../../library/concurrent.futures.rst:227 msgid "ProcessPoolExecutor" -msgstr "```ProcessPoolExecutor```" +msgstr "ProcessPoolExecutor" #: ../../library/concurrent.futures.rst:229 msgid "" "The :class:`ProcessPoolExecutor` class is an :class:`Executor` subclass that " -"uses a pool of processes to execute calls asynchronously. :class:" -"`ProcessPoolExecutor` uses the :mod:`multiprocessing` module, which allows " -"it to side-step the :term:`Global Interpreter Lock ` but also means that only picklable objects can be executed and " -"returned." +"uses a pool of processes to execute calls " +"asynchronously. :class:`ProcessPoolExecutor` uses the :mod:`multiprocessing` " +"module, which allows it to side-step the :term:`Global Interpreter Lock " +"` but also means that only picklable objects can be " +"executed and returned." msgstr "" #: ../../library/concurrent.futures.rst:236 @@ -319,46 +315,46 @@ msgstr "" #: ../../library/concurrent.futures.rst:271 msgid "" -"When one of the worker processes terminates abruptly, a :exc:" -"`BrokenProcessPool` error is now raised. Previously, behaviour was " -"undefined but operations on the executor or its futures would often freeze " -"or deadlock." +"When one of the worker processes terminates abruptly, " +"a :exc:`~concurrent.futures.process.BrokenProcessPool` error is now raised. " +"Previously, behaviour was undefined but operations on the executor or its " +"futures would often freeze or deadlock." msgstr "" -#: ../../library/concurrent.futures.rst:277 +#: ../../library/concurrent.futures.rst:278 msgid "" "The *mp_context* argument was added to allow users to control the " "start_method for worker processes created by the pool." msgstr "" -#: ../../library/concurrent.futures.rst:283 +#: ../../library/concurrent.futures.rst:284 msgid "" "The *max_tasks_per_child* argument was added to allow users to control the " "lifetime of workers in the pool." msgstr "" -#: ../../library/concurrent.futures.rst:291 +#: ../../library/concurrent.futures.rst:292 msgid "ProcessPoolExecutor Example" msgstr "" -#: ../../library/concurrent.futures.rst:329 +#: ../../library/concurrent.futures.rst:330 msgid "Future Objects" msgstr "" -#: ../../library/concurrent.futures.rst:331 +#: ../../library/concurrent.futures.rst:332 msgid "" "The :class:`Future` class encapsulates the asynchronous execution of a " "callable. :class:`Future` instances are created by :meth:`Executor.submit`." msgstr "" -#: ../../library/concurrent.futures.rst:336 +#: ../../library/concurrent.futures.rst:337 msgid "" "Encapsulates the asynchronous execution of a callable. :class:`Future` " "instances are created by :meth:`Executor.submit` and should not be created " "directly except for testing." msgstr "" -#: ../../library/concurrent.futures.rst:342 +#: ../../library/concurrent.futures.rst:343 msgid "" "Attempt to cancel the call. If the call is currently being executed or " "finished running and cannot be cancelled then the method will return " @@ -366,22 +362,22 @@ msgid "" "``True``." msgstr "" -#: ../../library/concurrent.futures.rst:349 +#: ../../library/concurrent.futures.rst:350 msgid "Return ``True`` if the call was successfully cancelled." msgstr "" -#: ../../library/concurrent.futures.rst:353 +#: ../../library/concurrent.futures.rst:354 msgid "" "Return ``True`` if the call is currently being executed and cannot be " "cancelled." msgstr "" -#: ../../library/concurrent.futures.rst:358 +#: ../../library/concurrent.futures.rst:359 msgid "" "Return ``True`` if the call was successfully cancelled or finished running." msgstr "" -#: ../../library/concurrent.futures.rst:363 +#: ../../library/concurrent.futures.rst:364 msgid "" "Return the value returned by the call. If the call hasn't yet completed then " "this method will wait up to *timeout* seconds. If the call hasn't completed " @@ -390,19 +386,19 @@ msgid "" "no limit to the wait time." msgstr "" -#: ../../library/concurrent.futures.rst:370 -#: ../../library/concurrent.futures.rst:384 +#: ../../library/concurrent.futures.rst:371 +#: ../../library/concurrent.futures.rst:385 msgid "" "If the future is cancelled before completing then :exc:`.CancelledError` " "will be raised." msgstr "" -#: ../../library/concurrent.futures.rst:373 +#: ../../library/concurrent.futures.rst:374 msgid "" "If the call raised an exception, this method will raise the same exception." msgstr "" -#: ../../library/concurrent.futures.rst:377 +#: ../../library/concurrent.futures.rst:378 msgid "" "Return the exception raised by the call. If the call hasn't yet completed " "then this method will wait up to *timeout* seconds. If the call hasn't " @@ -411,18 +407,18 @@ msgid "" "``None``, there is no limit to the wait time." msgstr "" -#: ../../library/concurrent.futures.rst:387 +#: ../../library/concurrent.futures.rst:388 msgid "If the call completed without raising, ``None`` is returned." msgstr "" -#: ../../library/concurrent.futures.rst:391 +#: ../../library/concurrent.futures.rst:392 msgid "" "Attaches the callable *fn* to the future. *fn* will be called, with the " "future as its only argument, when the future is cancelled or finishes " "running." msgstr "" -#: ../../library/concurrent.futures.rst:395 +#: ../../library/concurrent.futures.rst:396 msgid "" "Added callables are called in the order that they were added and are always " "called in a thread belonging to the process that added them. If the " @@ -431,94 +427,95 @@ msgid "" "behavior is undefined." msgstr "" -#: ../../library/concurrent.futures.rst:401 +#: ../../library/concurrent.futures.rst:402 msgid "" "If the future has already completed or been cancelled, *fn* will be called " "immediately." msgstr "" -#: ../../library/concurrent.futures.rst:404 +#: ../../library/concurrent.futures.rst:405 msgid "" -"The following :class:`Future` methods are meant for use in unit tests and :" -"class:`Executor` implementations." +"The following :class:`Future` methods are meant for use in unit tests " +"and :class:`Executor` implementations." msgstr "" -#: ../../library/concurrent.futures.rst:409 +#: ../../library/concurrent.futures.rst:410 msgid "" "This method should only be called by :class:`Executor` implementations " "before executing the work associated with the :class:`Future` and by unit " "tests." msgstr "" -#: ../../library/concurrent.futures.rst:413 +#: ../../library/concurrent.futures.rst:414 msgid "" -"If the method returns ``False`` then the :class:`Future` was cancelled, i." -"e. :meth:`Future.cancel` was called and returned ``True``. Any threads " +"If the method returns ``False`` then the :class:`Future` was cancelled, " +"i.e. :meth:`Future.cancel` was called and returned ``True``. Any threads " "waiting on the :class:`Future` completing (i.e. through :func:`as_completed` " "or :func:`wait`) will be woken up." msgstr "" -#: ../../library/concurrent.futures.rst:418 +#: ../../library/concurrent.futures.rst:419 msgid "" "If the method returns ``True`` then the :class:`Future` was not cancelled " "and has been put in the running state, i.e. calls to :meth:`Future.running` " "will return ``True``." msgstr "" -#: ../../library/concurrent.futures.rst:422 +#: ../../library/concurrent.futures.rst:423 msgid "" -"This method can only be called once and cannot be called after :meth:`Future." -"set_result` or :meth:`Future.set_exception` have been called." +"This method can only be called once and cannot be called " +"after :meth:`Future.set_result` or :meth:`Future.set_exception` have been " +"called." msgstr "" -#: ../../library/concurrent.futures.rst:428 +#: ../../library/concurrent.futures.rst:429 msgid "" "Sets the result of the work associated with the :class:`Future` to *result*." msgstr "" -#: ../../library/concurrent.futures.rst:431 -#: ../../library/concurrent.futures.rst:444 +#: ../../library/concurrent.futures.rst:432 +#: ../../library/concurrent.futures.rst:445 msgid "" "This method should only be used by :class:`Executor` implementations and " "unit tests." msgstr "" -#: ../../library/concurrent.futures.rst:434 -#: ../../library/concurrent.futures.rst:447 +#: ../../library/concurrent.futures.rst:435 +#: ../../library/concurrent.futures.rst:448 msgid "" -"This method raises :exc:`concurrent.futures.InvalidStateError` if the :class:" -"`Future` is already done." +"This method raises :exc:`concurrent.futures.InvalidStateError` if " +"the :class:`Future` is already done." msgstr "" -#: ../../library/concurrent.futures.rst:441 +#: ../../library/concurrent.futures.rst:442 msgid "" -"Sets the result of the work associated with the :class:`Future` to the :" -"class:`Exception` *exception*." +"Sets the result of the work associated with the :class:`Future` to " +"the :class:`Exception` *exception*." msgstr "" -#: ../../library/concurrent.futures.rst:453 +#: ../../library/concurrent.futures.rst:454 msgid "Module Functions" msgstr "" -#: ../../library/concurrent.futures.rst:457 +#: ../../library/concurrent.futures.rst:458 msgid "" -"Wait for the :class:`Future` instances (possibly created by different :class:" -"`Executor` instances) given by *fs* to complete. Duplicate futures given to " -"*fs* are removed and will be returned only once. Returns a named 2-tuple of " -"sets. The first set, named ``done``, contains the futures that completed " -"(finished or cancelled futures) before the wait completed. The second set, " -"named ``not_done``, contains the futures that did not complete (pending or " -"running futures)." +"Wait for the :class:`Future` instances (possibly created by " +"different :class:`Executor` instances) given by *fs* to complete. Duplicate " +"futures given to *fs* are removed and will be returned only once. Returns a " +"named 2-tuple of sets. The first set, named ``done``, contains the futures " +"that completed (finished or cancelled futures) before the wait completed. " +"The second set, named ``not_done``, contains the futures that did not " +"complete (pending or running futures)." msgstr "" -#: ../../library/concurrent.futures.rst:465 +#: ../../library/concurrent.futures.rst:466 msgid "" "*timeout* can be used to control the maximum number of seconds to wait " "before returning. *timeout* can be an int or float. If *timeout* is not " "specified or ``None``, there is no limit to the wait time." msgstr "" -#: ../../library/concurrent.futures.rst:469 +#: ../../library/concurrent.futures.rst:470 msgid "" "*return_when* indicates when this function should return. It must be one of " "the following constants:" @@ -526,42 +523,27 @@ msgstr "" "*return_when* indica quando esta função deve retornar. Ele deve ser uma das " "seguintes constantes:" -#: ../../library/concurrent.futures.rst:475 +#: ../../library/concurrent.futures.rst:476 msgid "Constant" msgstr "Constante" -#: ../../library/concurrent.futures.rst:475 +#: ../../library/concurrent.futures.rst:477 msgid "Description" msgstr "Descrição" -#: ../../library/concurrent.futures.rst:477 -msgid ":const:`FIRST_COMPLETED`" -msgstr ":const:`FIRST_COMPLETED`" - -#: ../../library/concurrent.futures.rst:477 +#: ../../library/concurrent.futures.rst:480 msgid "The function will return when any future finishes or is cancelled." msgstr "" "A função irá retornar quando qualquer futuro terminar ou for cancelado." -#: ../../library/concurrent.futures.rst:480 -msgid ":const:`FIRST_EXCEPTION`" -msgstr ":const:`FIRST_EXCEPTION`" - -#: ../../library/concurrent.futures.rst:480 +#: ../../library/concurrent.futures.rst:483 msgid "" -"The function will return when any future finishes by raising an exception. " -"If no future raises an exception then it is equivalent to :const:" -"`ALL_COMPLETED`." +"The function will return when any future finishes by raising an exception. " +"If no future raises an exception then it is equivalent " +"to :const:`ALL_COMPLETED`." msgstr "" -"A função irá retornar quando qualquer futuro encerrar levantando uma " -"exceção. Se nenhum futuro levantar uma exceção, então é equivalente a :const:" -"`ALL_COMPLETED`." - -#: ../../library/concurrent.futures.rst:486 -msgid ":const:`ALL_COMPLETED`" -msgstr ":const:`ALL_COMPLETED`" -#: ../../library/concurrent.futures.rst:486 +#: ../../library/concurrent.futures.rst:488 msgid "The function will return when all futures finish or are cancelled." msgstr "" "A função irá retornar quando todos os futuros encerrarem ou forem cancelados." @@ -623,14 +605,15 @@ msgstr "" #: ../../library/concurrent.futures.rst:548 msgid "" "Derived from :exc:`~concurrent.futures.BrokenExecutor`, this exception class " -"is raised when one of the workers of a :class:`ThreadPoolExecutor` has " -"failed initializing." +"is raised when one of the workers of " +"a :class:`~concurrent.futures.ThreadPoolExecutor` has failed initializing." msgstr "" -#: ../../library/concurrent.futures.rst:558 +#: ../../library/concurrent.futures.rst:559 msgid "" -"Derived from :exc:`~concurrent.futures.BrokenExecutor` (formerly :exc:" -"`RuntimeError`), this exception class is raised when one of the workers of " -"a :class:`ProcessPoolExecutor` has terminated in a non-clean fashion (for " -"example, if it was killed from the outside)." +"Derived from :exc:`~concurrent.futures.BrokenExecutor` " +"(formerly :exc:`RuntimeError`), this exception class is raised when one of " +"the workers of a :class:`~concurrent.futures.ProcessPoolExecutor` has " +"terminated in a non-clean fashion (for example, if it was killed from the " +"outside)." msgstr "" diff --git a/library/concurrent.po b/library/concurrent.po index 342c005e7..046b22230 100644 --- a/library/concurrent.po +++ b/library/concurrent.po @@ -1,31 +1,31 @@ # 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: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/concurrent.rst:2 -msgid "The :mod:`concurrent` package" -msgstr "O pacote :mod:`concurrent`" +msgid "The :mod:`!concurrent` package" +msgstr "O pacote :mod:`!concurrent`" #: ../../library/concurrent.rst:4 msgid "Currently, there is only one module in this package:" diff --git a/library/configparser.po b/library/configparser.po index 100148b69..3682370ec 100644 --- a/library/configparser.po +++ b/library/configparser.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,50 +38,64 @@ msgid "" "found in Microsoft Windows INI files. You can use this to write Python " "programs which can be customized by end users easily." msgstr "" +"Este módulo fornece a classe :class:`ConfigParser`, que implementa uma " +"linguagem de configuração básica, com uma estrutura semelhante à encontrada " +"nos arquivos INI do Microsoft Windows. Você pode usar isso para escrever " +"programas em Python que podem ser facilmente personalizados pelos usuários " +"finais." #: ../../library/configparser.rst:31 msgid "" "This library does *not* interpret or write the value-type prefixes used in " "the Windows Registry extended version of INI syntax." msgstr "" +"Esta biblioteca *não* interpreta nem escreve os prefixos de tipo de valor " +"usados na versão estendida da sintaxe INI do Registro do Windows." #: ../../library/configparser.rst:38 msgid "Module :mod:`tomllib`" -msgstr "" +msgstr "Módulo :mod:`tomllib`" #: ../../library/configparser.rst:37 msgid "" "TOML is a well-specified format for application configuration files. It is " "specifically designed to be an improved version of INI." msgstr "" +"TOML é um formato bem especificado para arquivos de configuração de " +"aplicações. Ele foi projetado especificamente para ser uma versão melhorada " +"do INI." #: ../../library/configparser.rst:42 msgid "Module :mod:`shlex`" -msgstr "" +msgstr "Módulo :mod:`shlex`" #: ../../library/configparser.rst:41 msgid "" "Support for creating Unix shell-like mini-languages which can also be used " "for application configuration files." msgstr "" +"Suporte para criação de minilinguagens semelhantes a shell Unix que também " +"podem ser usadas para arquivos de configuração de aplicações." #: ../../library/configparser.rst:45 msgid "Module :mod:`json`" -msgstr "" +msgstr "Módulo :mod:`json`" #: ../../library/configparser.rst:45 msgid "" "The ``json`` module implements a subset of JavaScript syntax which is " "sometimes used for configuration, but does not support comments." msgstr "" +"O módulo ``json`` implementa um subconjunto de sintaxe JavaScript que às " +"vezes é usado para configuração, mas não suporta comentários." #: ../../library/configparser.rst:60 msgid "Quick Start" -msgstr "" +msgstr "Início rápido" #: ../../library/configparser.rst:62 msgid "Let's take a very basic configuration file that looks like this:" -msgstr "" +msgstr "Vamos pegar um arquivo de configuração bem básico parecido com este:" #: ../../library/configparser.rst:79 msgid "" @@ -94,6 +105,11 @@ msgid "" "classes can read and write such files. Let's start by creating the above " "configuration file programmatically." msgstr "" +"A estrutura dos arquivos INI é descrita `na seção seguinte <#supported-ini-" +"file-structure>`_. Essencialmente, o arquivo consiste em seções, cada uma " +"contendo chaves com valores. As classes :mod:`configparser` podem ler e " +"escrever tais arquivos. Vamos começar criando o arquivo de configuração " +"acima programaticamente." #: ../../library/configparser.rst:103 msgid "" @@ -101,12 +117,18 @@ msgid "" "are differences, `outlined later <#mapping-protocol-access>`_, but the " "behavior is very close to what you would expect from a dictionary." msgstr "" +"Como você pode ver, podemos tratar um analisador sintático de configuração " +"como um dicionário. Existem diferenças, `descritas posteriormente <#mapping-" +"protocol-access>`_, mas o comportamento é muito próximo do que você " +"esperaria de um dicionário." #: ../../library/configparser.rst:107 msgid "" "Now that we have created and saved a configuration file, let's read it back " "and explore the data it holds." msgstr "" +"Agora que criamos e salvamos um arquivo de configuração, vamos lê-lo e " +"explorar os dados que ele contém." #: ../../library/configparser.rst:142 msgid "" @@ -115,13 +137,17 @@ msgid "" "other sections [1]_. Note also that keys in sections are case-insensitive " "and stored in lowercase [1]_." msgstr "" +"Como podemos ver acima, a API é bastante simples. A única mágica envolve a " +"seção ``DEFAULT`` que fornece valores padrão para todas as outras seções " +"[1]_. Observe também que as chaves nas seções não diferenciam maiúsculas de " +"minúsculas e são armazenadas em letras minúsculas [1]_." #: ../../library/configparser.rst:147 msgid "" -"It is possible to read several configurations into a single :class:" -"`ConfigParser`, where the most recently added configuration has the highest " -"priority. Any conflicting keys are taken from the more recent configuration " -"while the previously existing keys are retained." +"It is possible to read several configurations into a " +"single :class:`ConfigParser`, where the most recently added configuration " +"has the highest priority. Any conflicting keys are taken from the more " +"recent configuration while the previously existing keys are retained." msgstr "" #: ../../library/configparser.rst:168 @@ -129,10 +155,12 @@ msgid "" "This behaviour is equivalent to a :meth:`ConfigParser.read` call with " "several files passed to the *filenames* parameter." msgstr "" +"Este comportamento é equivalente a uma chamada :meth:`ConfigParser.read` com " +"vários arquivos passados para o parâmetro *filenames*." #: ../../library/configparser.rst:173 msgid "Supported Datatypes" -msgstr "" +msgstr "Tipos de dados suportados" #: ../../library/configparser.rst:175 msgid "" @@ -140,6 +168,10 @@ msgid "" "always storing them internally as strings. This means that if you need " "other datatypes, you should convert on your own:" msgstr "" +"Os analisadores sintáticos de configuração não adivinham os tipos de dados " +"dos valores nos arquivos de configuração, sempre os armazenando internamente " +"como strings. Isso significa que se você precisar de outros tipos de dados, " +"deverá converter por conta própria:" #: ../../library/configparser.rst:186 msgid "" @@ -151,6 +183,15 @@ msgid "" "and recognizes Boolean values from ``'yes'``/``'no'``, ``'on'``/``'off'``, " "``'true'``/``'false'`` and ``'1'``/``'0'`` [1]_. For example:" msgstr "" +"Como essa tarefa é tão comum, os analisadores sintáticos de configuração " +"fornecem uma variedade de métodos getter úteis para manipular com números " +"inteiros, pontos flutuantes e booleanos. O último é o mais interessante " +"porque simplesmente passar o valor para ``bool()`` não adiantaria nada já " +"que ``bool('False')`` ainda é ``True``. É por isso que os analisadores " +"sintáticos de configuração também fornecem :meth:`~ConfigParser.getboolean`. " +"Este método não diferencia maiúsculas de minúsculas e reconhece valores " +"booleanos de ``'yes'``/``'no'``, ``'on'``/``'off'``, ``'true'`` /``'false'`` " +"e ``'1'``/``'0'`` [1]_. Por exemplo:" #: ../../library/configparser.rst:203 msgid "" @@ -159,16 +200,23 @@ msgid "" "methods. You can register your own converters and customize the provided " "ones. [1]_" msgstr "" +"Além de :meth:`~ConfigParser.getboolean`, os analisadores sintáticos de " +"configuração também fornecem métodos :meth:`~ConfigParser.getint` " +"e :meth:`~ConfigParser.getfloat` equivalentes. Você pode registrar seus " +"próprios conversores e personalizar os fornecidos. [1]_" #: ../../library/configparser.rst:209 msgid "Fallback Values" -msgstr "" +msgstr "Valores reservas" #: ../../library/configparser.rst:211 msgid "" -"As with a dictionary, you can use a section's :meth:`get` method to provide " -"fallback values:" +"As with a dictionary, you can use a section's :meth:`~ConfigParser.get` " +"method to provide fallback values:" msgstr "" +"Assim como acontece com um dicionário, você pode usar o " +"método :meth:`~ConfigParser.get` de uma seção para fornecer valores reservas " +"(fallback):" #: ../../library/configparser.rst:224 msgid "" @@ -178,21 +226,34 @@ msgid "" "``'topsecret.server.example'``, we will always get the default, even if we " "specify a fallback:" msgstr "" +"Observe que os valores padrão têm precedência sobre os valores substitutos. " +"Por exemplo, em nosso exemplo a chave ``'CompressionLevel'`` foi " +"especificada apenas na seção ``'DEFAULT'``. Se tentarmos obtê-lo na seção " +"``'topsecret.server.example'``, sempre obteremos o padrão, mesmo se " +"especificarmos um substituto:" #: ../../library/configparser.rst:235 msgid "" -"One more thing to be aware of is that the parser-level :meth:`get` method " -"provides a custom, more complex interface, maintained for backwards " -"compatibility. When using this method, a fallback value can be provided via " -"the ``fallback`` keyword-only argument:" +"One more thing to be aware of is that the parser-" +"level :meth:`~ConfigParser.get` method provides a custom, more complex " +"interface, maintained for backwards compatibility. When using this method, " +"a fallback value can be provided via the ``fallback`` keyword-only argument:" msgstr "" +"Mais uma coisa a ter em conta é que o método :meth:`~ConfigParser.get` no " +"nível do analisador fornece uma interface personalizada e mais complexa, " +"mantida para compatibilidade com versões anteriores. Ao usar este método, um " +"valor substituto pode ser fornecido através do argumento somente-nomeado " +"``fallback``:" #: ../../library/configparser.rst:246 msgid "" -"The same ``fallback`` argument can be used with the :meth:`~ConfigParser." -"getint`, :meth:`~ConfigParser.getfloat` and :meth:`~ConfigParser.getboolean` " -"methods, for example:" +"The same ``fallback`` argument can be used with " +"the :meth:`~ConfigParser.getint`, :meth:`~ConfigParser.getfloat` " +"and :meth:`~ConfigParser.getboolean` methods, for example:" msgstr "" +"O mesmo argumento ``fallback`` pode ser usado com os " +"métodos :meth:`~ConfigParser.getint`, :meth:`~ConfigParser.getfloat` " +"e :meth:`~ConfigParser.getboolean`, por exemplo:" #: ../../library/configparser.rst:262 msgid "Supported INI File Structure" @@ -210,12 +271,25 @@ msgid "" "of the value. Depending on the parser's mode, blank lines may be treated as " "parts of multiline values or ignored." msgstr "" +"Um arquivo de configuração consiste em seções, cada uma liderada por um " +"cabeçalho ``[section]``, seguido por entradas de chave/valor separadas por " +"uma string específica (``=`` ou ``:`` por padrão [1]_) . Por padrão, os " +"nomes das seções diferenciam maiúsculas de minúsculas, mas as chaves não " +"[1]_. Os espaços em branco à esquerda e à direita são removidos das chaves e " +"dos valores. Os valores podem ser omitidos se o analisador sintático estiver " +"configurado para permitir [1]_, caso em que o delimitador chave/valor também " +"pode ser omitido. Os valores também podem abranger várias linhas, desde que " +"sejam indentados de forma mais profunda que a primeira linha do valor. " +"Dependendo do modo do analisador sintático, as linhas em branco podem ser " +"tratadas como partes de valores multilinhas ou ignoradas." #: ../../library/configparser.rst:274 msgid "" -"By default, a valid section name can be any string that does not contain '\\" -"\\n' or ']'. To change this, see :attr:`ConfigParser.SECTCRE`." +"By default, a valid section name can be any string that does not contain '\\" +"\\n'. To change this, see :attr:`ConfigParser.SECTCRE`." msgstr "" +"Por padrão, um nome de seção válido pode ser qualquer string que não " +"contenha '\\\\n'. Para alterar isso, consulte :attr:`ConfigParser.SECTCRE`." #: ../../library/configparser.rst:277 msgid "" @@ -223,6 +297,9 @@ msgid "" "(``#`` and ``;`` by default [1]_). Comments may appear on their own on an " "otherwise empty line, possibly indented. [1]_" msgstr "" +"Os arquivos de configuração podem incluir comentários, prefixados por " +"caracteres específicos (``#`` e ``;`` por padrão [1]_). Os comentários podem " +"aparecer sozinhos em uma linha vazia, possivelmente indentados. [1]_" #: ../../library/configparser.rst:281 ../../library/configparser.rst:344 msgid "For example:" @@ -230,7 +307,7 @@ msgstr "Por exemplo:" #: ../../library/configparser.rst:329 msgid "Interpolation of values" -msgstr "" +msgstr "Interpolação de valores" #: ../../library/configparser.rst:331 msgid "" @@ -238,6 +315,9 @@ msgid "" "interpolation. This means values can be preprocessed before returning them " "from ``get()`` calls." msgstr "" +"Além da funcionalidade principal, :class:`ConfigParser` oferece suporte a " +"interpolação. Isso significa que os valores podem ser pré-processados antes " +"de retorná-los das chamadas ``get()``." #: ../../library/configparser.rst:339 msgid "" @@ -246,6 +326,10 @@ msgid "" "or values in the special default section [1]_. Additional default values " "can be provided on initialization." msgstr "" +"A implementação padrão usada por :class:`ConfigParser`. Ele permite que os " +"valores contenham strings de formato que se referem a outros valores na " +"mesma seção ou valores na seção padrão especial [1]_. Valores padrão " +"adicionais podem ser fornecidos na inicialização." #: ../../library/configparser.rst:357 msgid "" @@ -256,45 +340,66 @@ msgid "" "keys used in the chain of references do not have to be specified in any " "specific order in the configuration file." msgstr "" +"No exemplo acima, :class:`ConfigParser` com *interpolation* definido como " +"``BasicInterpolation()`` resolveria ``%(home_dir)s`` para o valor de " +"``home_dir`` (``/Users`` neste caso). ``%(my_dir)s`` na verdade resolveria " +"para ``/Users/lumberjack``. Todas as interpolações são feitas sob demanda, " +"portanto as chaves usadas na cadeia de referências não precisam ser " +"especificadas em nenhuma ordem específica no arquivo de configuração." #: ../../library/configparser.rst:364 msgid "" -"With ``interpolation`` set to ``None``, the parser would simply return " -"``%(my_dir)s/Pictures`` as the value of ``my_pictures`` and ``%(home_dir)s/" +"With ``interpolation`` set to ``None``, the parser would simply return ``%" +"(my_dir)s/Pictures`` as the value of ``my_pictures`` and ``%(home_dir)s/" "lumberjack`` as the value of ``my_dir``." msgstr "" +"Com ``interpolation`` definido como ``None``, o analisador sintático " +"simplesmente retornaria ``%(my_dir)s/Pictures`` como o valor de " +"``my_pictures`` e ``%(home_dir)s/lumberjack`` como o valor de ``my_dir``." #: ../../library/configparser.rst:372 msgid "" "An alternative handler for interpolation which implements a more advanced " "syntax, used for instance in ``zc.buildout``. Extended interpolation is " "using ``${section:option}`` to denote a value from a foreign section. " -"Interpolation can span multiple levels. For convenience, if the ``section:" -"`` part is omitted, interpolation defaults to the current section (and " -"possibly the default values from the special section)." +"Interpolation can span multiple levels. For convenience, if the " +"``section:`` part is omitted, interpolation defaults to the current section " +"(and possibly the default values from the special section)." msgstr "" +"Um manipulador alternativo para interpolação que implementa uma sintaxe mais " +"avançada, usada, por exemplo, em ``zc.buildout``. A interpolação estendida " +"usa ``${section:option}`` para denotar um valor de uma seção estrangeira. A " +"interpolação pode abranger vários níveis. Por conveniência, se a parte " +"``section:`` for omitida, a interpolação será padronizada para a seção atual " +"(e possivelmente para os valores padrão da seção especial)." #: ../../library/configparser.rst:379 msgid "" "For example, the configuration specified above with basic interpolation, " "would look like this with extended interpolation:" msgstr "" +"Por exemplo, a configuração especificada acima com interpolação básica " +"ficaria assim com interpolação estendida:" #: ../../library/configparser.rst:393 msgid "Values from other sections can be fetched as well:" -msgstr "" +msgstr "Valores de outras seções também podem ser obtidos:" #: ../../library/configparser.rst:415 msgid "Mapping Protocol Access" -msgstr "" +msgstr "Acesso através do protocolo de mapeamento" #: ../../library/configparser.rst:419 msgid "" "Mapping protocol access is a generic name for functionality that enables " -"using custom objects as if they were dictionaries. In case of :mod:" -"`configparser`, the mapping interface implementation is using the " +"using custom objects as if they were dictionaries. In case " +"of :mod:`configparser`, the mapping interface implementation is using the " "``parser['section']['option']`` notation." msgstr "" +"Acesso através do protocolo de mapeamento é um nome genérico para " +"funcionalidade que permite usar objetos personalizados como se fossem " +"dicionários. No caso de :mod:`configparser`, a implementação da interface de " +"mapeamento está usando a notação ``parser['section']['option']``." #: ../../library/configparser.rst:424 msgid "" @@ -304,14 +409,24 @@ msgid "" "values are changed on a section proxy, they are actually mutated in the " "original parser." msgstr "" +"``parser['section']`` em particular retorna um intermediário para os dados " +"da seção no analisador sintático. Isso significa que os valores não são " +"copiados, mas obtidos do analisador sintático original sob demanda. O que é " +"ainda mais importante é que quando os valores são alterados em um " +"intermediário de seção, eles são, na verdade, modificados no analisador " +"sintático original." #: ../../library/configparser.rst:430 msgid "" ":mod:`configparser` objects behave as close to actual dictionaries as " -"possible. The mapping interface is complete and adheres to the :class:" -"`~collections.abc.MutableMapping` ABC. However, there are a few differences " -"that should be taken into account:" +"possible. The mapping interface is complete and adheres to " +"the :class:`~collections.abc.MutableMapping` ABC. However, there are a few " +"differences that should be taken into account:" msgstr "" +"Os objetos :mod:`configparser` se comportam o mais próximo possível dos " +"dicionários reais. A interface de mapeamento é completa e segue a " +"ABC :class:`~collections.abc.MutableMapping`. No entanto, existem algumas " +"diferenças que devem ser levadas em consideração:" #: ../../library/configparser.rst:435 msgid "" @@ -321,32 +436,44 @@ msgid "" "default. At the same time, for a section that holds the key ``'a'``, both " "expressions return ``True``::" msgstr "" +"Por padrão, todas as chaves nas seções são acessíveis sem distinção entre " +"maiúsculas e minúsculas [1]_. Por exemplo. ``for option in " +"parser[\"section\"]`` produz apenas nomes de chaves de opção " +"``optionxform``\\ ada. Isso significa chaves em letras minúsculas por " +"padrão. Ao mesmo tempo, para uma seção que contém a chave ``'a'``, ambas as " +"expressões retornam ``True``::" #: ../../library/configparser.rst:443 msgid "" -"All sections include ``DEFAULTSECT`` values as well which means that ``." -"clear()`` on a section may not leave the section visibly empty. This is " +"All sections include ``DEFAULTSECT`` values as well which means that " +"``.clear()`` on a section may not leave the section visibly empty. This is " "because default values cannot be deleted from the section (because " "technically they are not there). If they are overridden in the section, " "deleting causes the default value to be visible again. Trying to delete a " "default value causes a :exc:`KeyError`." msgstr "" +"Todas as seções também incluem valores ``DEFAULTSECT``, o que significa que " +"``.clear()`` em uma seção não pode deixá-la visivelmente vazia. Isso ocorre " +"porque os valores padrão não podem ser excluídos da seção (porque " +"tecnicamente eles não estão lá). Se eles forem substituídos na seção, a " +"exclusão fará com que o valor padrão fique visível novamente. Tentar excluir " +"um valor padrão causa um :exc:`KeyError`." #: ../../library/configparser.rst:450 msgid "``DEFAULTSECT`` cannot be removed from the parser:" -msgstr "" +msgstr "``DEFAULTSECT`` não pode ser removido do analisador sintático:" #: ../../library/configparser.rst:452 msgid "trying to delete it raises :exc:`ValueError`," -msgstr "" +msgstr "tentar excluí-lo levanta :exc:`ValueError`," #: ../../library/configparser.rst:454 msgid "``parser.clear()`` leaves it intact," -msgstr "" +msgstr "``parser.clear()`` deixa-o intacto," #: ../../library/configparser.rst:456 msgid "``parser.popitem()`` never returns it." -msgstr "" +msgstr "``parser.popitem()`` nunca o retorna." #: ../../library/configparser.rst:458 msgid "" @@ -354,16 +481,26 @@ msgid "" "fallback value. Note however that the section-level ``get()`` methods are " "compatible both with the mapping protocol and the classic configparser API." msgstr "" +"``parser.get(section, option, **kwargs)`` - o segundo argumento **não** é um " +"valor substituto. Observe, entretanto, que os métodos ``get()`` em nível de " +"seção são compatíveis tanto com o protocolo de mapeamento quanto com a API " +"clássica do configparser." #: ../../library/configparser.rst:462 msgid "" "``parser.items()`` is compatible with the mapping protocol (returns a list " "of *section_name*, *section_proxy* pairs including the DEFAULTSECT). " -"However, this method can also be invoked with arguments: ``parser." -"items(section, raw, vars)``. The latter call returns a list of *option*, " -"*value* pairs for a specified ``section``, with all interpolations expanded " -"(unless ``raw=True`` is provided)." -msgstr "" +"However, this method can also be invoked with arguments: " +"``parser.items(section, raw, vars)``. The latter call returns a list of " +"*option*, *value* pairs for a specified ``section``, with all interpolations " +"expanded (unless ``raw=True`` is provided)." +msgstr "" +"``parser.items()`` é compatível com o protocolo de mapeamento (retorna uma " +"lista de pares *section_name*, *section_proxy* incluindo o DEFAULTSECT). " +"Entretanto, este método também pode ser invocado com argumentos: " +"``parser.items(section, raw, vars)``. A última chamada retorna uma lista de " +"pares *option*, *value* para uma ``section`` especificada, com todas as " +"interpolações expandidas (a menos que ``raw=True`` seja fornecido)." #: ../../library/configparser.rst:469 msgid "" @@ -371,10 +508,13 @@ msgid "" "that subclasses overriding the original interface still should have mappings " "working as expected." msgstr "" +"O protocolo de mapeamento é implementado sobre a API legada existente para " +"que as subclasses que substituem a interface original ainda tenham " +"mapeamentos funcionando conforme o esperado." #: ../../library/configparser.rst:475 msgid "Customizing Parser Behaviour" -msgstr "" +msgstr "Personalizando o comportamento do analisador sintático" #: ../../library/configparser.rst:477 msgid "" @@ -384,16 +524,23 @@ msgid "" "dictated by historical background and it's very likely that you will want to " "customize some of the features." msgstr "" +"Existem quase tantas variantes de formato INI quanto aplicações que o " +"utilizam. :mod:`configparser` percorre um longo caminho para fornecer " +"suporte para o maior conjunto sensato de estilos INI disponíveis. A " +"funcionalidade padrão é determinada principalmente pelo histórico e é muito " +"provável que você queira personalizar alguns dos recursos." #: ../../library/configparser.rst:483 msgid "" "The most common way to change the way a specific config parser works is to " -"use the :meth:`__init__` options:" +"use the :meth:`!__init__` options:" msgstr "" +"A maneira mais comum de alterar a forma como um analisador sintático de " +"configuração específico funciona é usar as opções :meth:`!__init__`:" #: ../../library/configparser.rst:486 msgid "*defaults*, default value: ``None``" -msgstr "" +msgstr "*defaults*, valor padrão: ``None``" #: ../../library/configparser.rst:488 msgid "" @@ -402,16 +549,22 @@ msgid "" "concise configuration files that don't specify values which are the same as " "the documented default." msgstr "" +"Esta opção aceita um dicionário de pares chave-valor que será inicialmente " +"colocado na seção ``DEFAULT``. Isso é uma maneira elegante de oferecer " +"suporte a arquivos de configuração concisos que não especificam valores " +"iguais ao padrão documentado." #: ../../library/configparser.rst:493 msgid "" -"Hint: if you want to specify default values for a specific section, use :" -"meth:`read_dict` before you read the actual file." +"Hint: if you want to specify default values for a specific section, " +"use :meth:`~ConfigParser.read_dict` before you read the actual file." msgstr "" +"Dica: se você deseja especificar valores padrão para uma seção específica, " +"use :meth:`~ConfigParser.read_dict` antes de ler o arquivo real." #: ../../library/configparser.rst:496 msgid "*dict_type*, default value: :class:`dict`" -msgstr "" +msgstr "*dict_type*, valor padrão: :class:`dict`" #: ../../library/configparser.rst:498 msgid "" @@ -420,12 +573,18 @@ msgid "" "every section is stored in the order they were added to the parser. Same " "goes for options within sections." msgstr "" +"Esta opção tem um grande impacto no comportamento do protocolo de mapeamento " +"e na aparência dos arquivos de configuração gravados. Com o dicionário " +"padrão, cada seção é armazenada na ordem em que foram adicionadas ao " +"analisador sintático. O mesmo vale para opções dentro das seções." #: ../../library/configparser.rst:503 msgid "" "An alternative dictionary type can be used for example to sort sections and " "options on write-back." msgstr "" +"Um tipo de dicionário alternativo pode ser usado, por exemplo, para ordenar " +"as seções e opções ao fazer *write-back*." #: ../../library/configparser.rst:506 msgid "" @@ -433,10 +592,13 @@ msgid "" "operation. When you use a regular dictionary in those operations, the order " "of the keys will be ordered. For example:" msgstr "" +"Observação: existem maneiras de adicionar um conjunto de pares de valores-" +"chave em uma única operação. Quando você usa um dicionário regular nessas " +"operações, a classificação das chaves será ordenada. Por exemplo:" #: ../../library/configparser.rst:528 msgid "*allow_no_value*, default value: ``False``" -msgstr "" +msgstr "*allow_no_value*, valor padrão: ``False``" #: ../../library/configparser.rst:530 msgid "" @@ -445,10 +607,14 @@ msgid "" "*allow_no_value* parameter to the constructor can be used to indicate that " "such values should be accepted:" msgstr "" +"Alguns arquivos de configuração são conhecidos por incluir configurações sem " +"valores, mas que de outra forma estão em conformidade com a sintaxe " +"suportada por :mod:`configparser`. O parâmetro *allow_no_value* para o " +"construtor pode ser usado para indicar que tais valores devem ser aceitos:" #: ../../library/configparser.rst:565 msgid "*delimiters*, default value: ``('=', ':')``" -msgstr "" +msgstr "*delimiters*, valor padrão: ``('=', ':')``" #: ../../library/configparser.rst:567 msgid "" @@ -456,20 +622,26 @@ msgid "" "The first occurrence of a delimiting substring on a line is considered a " "delimiter. This means values (but not keys) can contain the delimiters." msgstr "" +"Delimitadores são substrings que delimitam chaves de valores dentro de uma " +"seção. A primeira ocorrência de uma substring delimitadora em uma linha é " +"considerada um delimitador. Isso significa que os valores (mas não as " +"chaves) podem conter os delimitadores." #: ../../library/configparser.rst:571 msgid "" -"See also the *space_around_delimiters* argument to :meth:`ConfigParser." -"write`." +"See also the *space_around_delimiters* argument " +"to :meth:`ConfigParser.write`." msgstr "" +"Veja também o argumento *space_around_delimiters* " +"para :meth:`ConfigParser.write`." #: ../../library/configparser.rst:574 msgid "*comment_prefixes*, default value: ``('#', ';')``" -msgstr "" +msgstr "*comment_prefixes*, valor padrão: ``('#', ';')``" #: ../../library/configparser.rst:576 msgid "*inline_comment_prefixes*, default value: ``None``" -msgstr "" +msgstr "*inline_comment_prefixes*, valor padrão: ``None``" #: ../../library/configparser.rst:578 msgid "" @@ -480,12 +652,21 @@ msgid "" "well). By default inline comments are disabled and ``'#'`` and ``';'`` are " "used as prefixes for whole line comments." msgstr "" +"Prefixos de comentários são strings que indicam o início de um comentário " +"válido em um arquivo de configuração. *comment_prefixes* são usados apenas " +"em linhas vazias (opcionalmente indentadas), enquanto " +"*inline_comment_prefixes* pode ser usado após cada valor válido (por " +"exemplo, nomes de seções, opções e linhas vazias também). Por padrão, os " +"comentários embutidos estão desabilitados e ``'#'`` e ``';'`` são usados " +"como prefixos para comentários de linha inteira." #: ../../library/configparser.rst:585 msgid "" "In previous versions of :mod:`configparser` behaviour matched " "``comment_prefixes=('#',';')`` and ``inline_comment_prefixes=(';',)``." msgstr "" +"Nas versões anteriores do :mod:`configparser`, o comportamento correspondia " +"a ``comment_prefixes=('#',';')`` e ``inline_comment_prefixes=(';',)``." #: ../../library/configparser.rst:589 msgid "" @@ -496,24 +677,39 @@ msgid "" "storing comment prefix characters at the beginning of a line in multiline " "values is to interpolate the prefix, for example::" msgstr "" +"Observe que os analisadores sintáticos de configuração não oferecem suporte " +"a escape de prefixos de comentários, portanto, usar " +"*inline_comment_prefixes* pode impedir que os usuários especifiquem valores " +"de opção com caracteres usados como prefixos de comentários. Em caso de " +"dúvida, evite definir *inline_comment_prefixes*. Em qualquer circunstância, " +"a única maneira de armazenar caracteres de prefixo de comentário no início " +"de uma linha em valores multilinha é interpolar o prefixo, por exemplo::" #: ../../library/configparser.rst:635 msgid "*strict*, default value: ``True``" -msgstr "*strict*, o valor padrão é: ``True``" +msgstr "*strict*, valor padrão: ``True``" #: ../../library/configparser.rst:637 msgid "" "When set to ``True``, the parser will not allow for any section or option " -"duplicates while reading from a single source (using :meth:`read_file`, :" -"meth:`read_string` or :meth:`read_dict`). It is recommended to use strict " +"duplicates while reading from a single source " +"(using :meth:`~ConfigParser.read_file`, :meth:`~ConfigParser.read_string` " +"or :meth:`~ConfigParser.read_dict`). It is recommended to use strict " "parsers in new applications." msgstr "" +"Ao definir como ``True``, o analisador sintático não permitirá nenhuma seção " +"ou opção duplicada durante a leitura de uma única fonte " +"(usando :meth:`~ConfigParser.read_file`, :meth:`~ConfigParser.read_string` " +"ou :meth:`~ConfigParser.read_dict`). Recomenda-se usar analisadores " +"sintáticos estritos em novas aplicações." #: ../../library/configparser.rst:642 msgid "" "In previous versions of :mod:`configparser` behaviour matched " "``strict=False``." msgstr "" +"Nas versões anteriores do :mod:`configparser`, o comportamento correspondia " +"a ``strict=False``." #: ../../library/configparser.rst:646 msgid "*empty_lines_in_values*, default value: ``True``" @@ -528,6 +724,13 @@ msgid "" "when configuration files get big and complex, it is easy for the user to " "lose track of the file structure. Take for instance:" msgstr "" +"Em analisadores sintáticos de configuração, os valores podem abranger várias " +"linhas, desde que sejam mais indentados do que a chave que os contém. Por " +"padrão, os analisadores sintáticos também permitem que linhas vazias façam " +"parte de valores. Ao mesmo tempo, as chaves podem ser indentados " +"arbitrariamente para melhorar a legibilidade. Consequentemente, quando os " +"arquivos de configuração ficam grandes e complexos, é fácil para o usuário " +"perder o controle da estrutura do arquivo. Tomemos por exemplo:" #: ../../library/configparser.rst:663 msgid "" @@ -537,13 +740,18 @@ msgid "" "This will make empty lines split keys every time. In the example above, it " "would produce two keys, ``key`` and ``this``." msgstr "" +"Isso pode ser especialmente problemático para o usuário ver se está usando " +"uma fonte proporcional para editar o arquivo. É por isso que quando sua " +"aplicação não precisa de valores com linhas vazias, você deve considerar " +"proibi-los. Isso fará com que as linhas vazias dividam as chaves sempre. No " +"exemplo acima, seriam produzidas duas chaves, ``key`` e ``this``." #: ../../library/configparser.rst:669 msgid "" "*default_section*, default value: ``configparser.DEFAULTSECT`` (that is: " "``\"DEFAULT\"``)" msgstr "" -"*default_section*, valor default: ``configparser.DEFAULTSECT`` (isto é: " +"*default_section*, valor padrão: ``configparser.DEFAULTSECT`` (isto é: " "``\"DEFAULT\"``)" #: ../../library/configparser.rst:672 @@ -555,14 +763,24 @@ msgid "" "other valid section name. Some typical values include: ``\"general\"`` or " "``\"common\"``. The name provided is used for recognizing default sections " "when reading from any source and is used when writing configuration back to " -"a file. Its current value can be retrieved using the ``parser_instance." -"default_section`` attribute and may be modified at runtime (i.e. to convert " -"files from one format to another)." -msgstr "" +"a file. Its current value can be retrieved using the " +"``parser_instance.default_section`` attribute and may be modified at runtime " +"(i.e. to convert files from one format to another)." +msgstr "" +"A convenção de permitir uma seção especial de valores padrão para outras " +"seções ou fins de interpolação é um conceito poderoso desta biblioteca, " +"permitindo aos usuários criar configurações declarativas complexas. Esta " +"seção normalmente é chamada de ``\"DEFAULT\"``, mas pode ser personalizada " +"para apontar para qualquer outro nome de seção válido. Alguns valores " +"típicos incluem: ``\"general\"`` ou ``\"common\"``. O nome fornecido é usado " +"para reconhecer seções padrão ao ler de qualquer fonte e é usado ao gravar a " +"configuração em um arquivo. Seu valor atual pode ser recuperado usando o " +"atributo ``parser_instance.default_section`` e pode ser modificado em tempo " +"de execução (ou seja, para converter arquivos de um formato para outro)." #: ../../library/configparser.rst:683 msgid "*interpolation*, default value: ``configparser.BasicInterpolation``" -msgstr "" +msgstr "*interpolation*, valor padrão: ``configparser.BasicInterpolation``" #: ../../library/configparser.rst:685 msgid "" @@ -570,13 +788,20 @@ msgid "" "through the *interpolation* argument. ``None`` can be used to turn off " "interpolation completely, ``ExtendedInterpolation()`` provides a more " "advanced variant inspired by ``zc.buildout``. More on the subject in the " -"`dedicated documentation section <#interpolation-of-values>`_. :class:" -"`RawConfigParser` has a default value of ``None``." +"`dedicated documentation section <#interpolation-of-" +"values>`_. :class:`RawConfigParser` has a default value of ``None``." msgstr "" +"O comportamento de interpolação pode ser personalizado fornecendo um " +"manipulador personalizado por meio do argumento *interpolation*. ``None`` " +"pode ser usado para desligar completamente a interpolação, " +"``ExtendedInterpolation()`` fornece uma variante mais avançada inspirada em " +"``zc.buildout``. Mais sobre o assunto na `seção de documentação dedicada " +"<#interpolation-of-values>`_. :class:`RawConfigParser` tem um valor padrão " +"de ``None``." #: ../../library/configparser.rst:692 msgid "*converters*, default value: not set" -msgstr "*converters*, valor default : not set" +msgstr "*converters*, valor padrão: não definido" #: ../../library/configparser.rst:694 msgid "" @@ -585,12 +810,23 @@ msgid "" "and :meth:`~ConfigParser.getboolean` are implemented. Should other getters " "be desirable, users may define them in a subclass or pass a dictionary where " "each key is a name of the converter and each value is a callable " -"implementing said conversion. For instance, passing ``{'decimal': decimal." -"Decimal}`` would add :meth:`getdecimal` on both the parser object and all " -"section proxies. In other words, it will be possible to write both " +"implementing said conversion. For instance, passing ``{'decimal': " +"decimal.Decimal}`` would add :meth:`!getdecimal` on both the parser object " +"and all section proxies. In other words, it will be possible to write both " "``parser_instance.getdecimal('section', 'key', fallback=0)`` and " "``parser_instance['section'].getdecimal('key', 0)``." msgstr "" +"Os analisadores sintáticos de configuração fornecem getters de valor de " +"opção que realizam conversão de tipo. Por " +"padrão, :meth:`~ConfigParser.getint`, :meth:`~ConfigParser.getfloat` " +"e :meth:`~ConfigParser.getboolean` são implementados. Caso outros getters " +"sejam desejáveis, os usuários podem defini-los em uma subclasse ou passar um " +"dicionário onde cada chave é um nome do conversor e cada valor é um chamável " +"que implementa a referida conversão. Por exemplo, passar ``{'decimal': " +"decimal.Decimal}`` adicionaria :meth:`!getdecimal` no objeto analisador " +"sintático e em todos os proxies de seção. Em outras palavras, será possível " +"escrever ``parser_instance.getdecimal('section', 'key', fallback=0)`` e " +"``parser_instance['section'].getdecimal('key', 0)``." #: ../../library/configparser.rst:705 msgid "" @@ -599,6 +835,11 @@ msgid "" "method starts with ``get``, it will be available on all section proxies, in " "the dict-compatible form (see the ``getdecimal()`` example above)." msgstr "" +"Se o conversor precisar acessar o estado do analisador sintático, ele poderá " +"ser implementado como um método em uma subclasse do analisador sintático de " +"configuração. Se o nome deste método começar com ``get``, ele estará " +"disponível em todos os intermediários de seção, na forma compatível com dict " +"(veja o exemplo ``getdecimal()`` acima)." #: ../../library/configparser.rst:710 msgid "" @@ -606,6 +847,10 @@ msgid "" "these parser attributes. The defaults are defined on the classes, so they " "may be overridden by subclasses or by attribute assignment." msgstr "" +"Uma personalização mais avançada pode ser obtida substituindo os valores " +"padrão desses atributos do analisador sintático. Os padrões são definidos " +"nas classes, portanto podem ser substituídos por subclasses ou por " +"atribuição de atributos." #: ../../library/configparser.rst:716 msgid "" @@ -615,12 +860,20 @@ msgid "" "``'off'``. You can override this by specifying a custom dictionary of " "strings and their Boolean outcomes. For example:" msgstr "" +"Por padrão, ao usar :meth:`~ConfigParser.getboolean`, os analisadores " +"sintáticos de configuração consideram os seguintes valores ``True``: " +"``'1'``, ``'yes'``, ``'true'``, ``'on'`` e os seguintes valores ``False``: " +"``'0'``, ``'no'``, ``'false'``, ``'off'``. Você pode substituir isso " +"especificando um dicionário personalizado de strings e seus resultados " +"booleanos. Por exemplo:" #: ../../library/configparser.rst:734 msgid "" "Other typical Boolean pairs include ``accept``/``reject`` or ``enabled``/" "``disabled``." msgstr "" +"Outros pares booleanos típicos incluem ``accept``/``reject`` ou ``enabled``/" +"``disabled``." #: ../../library/configparser.rst:740 msgid "" @@ -629,6 +882,11 @@ msgid "" "configuration file gets written, all keys will be lowercase. Override this " "method if that's unsuitable. For example:" msgstr "" +"Este método transforma nomes de opções em cada operação de leitura, obtenção " +"ou definição. O padrão converte o nome em letras minúsculas. Isso também " +"significa que quando um arquivo de configuração for gravado, todas as chaves " +"estarão em letras minúsculas. Substitua esse método se for inadequado. Por " +"exemplo:" #: ../../library/configparser.rst:770 msgid "" @@ -636,6 +894,9 @@ msgid "" "should be an idempotent function: if the name is already in canonical form, " "it should be returned unchanged." msgstr "" +"A função optionxform transforma nomes de opções em um formato canônico. Esta " +"deve ser uma função idempotente: se o nome já estiver na forma canônica, " +"deverá ser retornado inalterado." #: ../../library/configparser.rst:777 msgid "" @@ -645,6 +906,11 @@ msgid "" "name ``\" larch \"``. Override this attribute if that's unsuitable. For " "example:" msgstr "" +"Uma expressão regular compilada usada para analisar cabeçalhos de seção. O " +"padrão corresponde a ``[section]`` para o nome ``\"section\"``. O espaço em " +"branco é considerado parte do nome da seção, portanto ``[ larch ]`` será " +"lido como uma seção de nome ``\" larch \"``. Substitua esse atributo se " +"for inadequado. Por exemplo:" #: ../../library/configparser.rst:805 msgid "" @@ -652,6 +918,9 @@ msgid "" "option lines, it's not recommended to override it because that would " "interfere with constructor options *allow_no_value* and *delimiters*." msgstr "" +"Embora os objetos ConfigParser também usem um atributo ``OPTCRE`` para " +"reconhecer linhas de opção, não é recomendado substituí-lo porque isso " +"interferiria nas opções do construtor *allow_no_value* e *delimiters*." #: ../../library/configparser.rst:811 msgid "Legacy API Examples" @@ -665,28 +934,37 @@ msgid "" "access is preferred for new projects. The legacy API is at times more " "advanced, low-level and downright counterintuitive." msgstr "" +"Principalmente por questões de compatibilidade com versões " +"anteriores, :mod:`configparser` fornece também uma API legada com métodos " +"``get``/``set`` explícitos. Embora existam casos de uso válidos para os " +"métodos descritos abaixo, o acesso ao protocolo de mapeamento é preferido " +"para novos projetos. A API legada é às vezes mais avançada, de baixo nível e " +"totalmente contraintuitiva." #: ../../library/configparser.rst:819 msgid "An example of writing to a configuration file::" -msgstr "" +msgstr "Um exemplo de escrita em um arquivo de configuração::" #: ../../library/configparser.rst:842 msgid "An example of reading the configuration file again::" -msgstr "" +msgstr "Um exemplo de leitura do arquivo de configuração novamente::" #: ../../library/configparser.rst:860 msgid "To get interpolation, use :class:`ConfigParser`::" -msgstr "" +msgstr "Para obter interpolação, use :class:`ConfigParser`::" #: ../../library/configparser.rst:893 msgid "" "Default values are available in both types of ConfigParsers. They are used " "in interpolation if an option used is not defined elsewhere. ::" msgstr "" +"Os valores padrão estão disponíveis em ambos os tipos de ConfigParsers. Eles " +"são usados em interpolação se uma opção usada não estiver definida em outro " +"lugar. ::" #: ../../library/configparser.rst:911 msgid "ConfigParser Objects" -msgstr "" +msgstr "Objetos ConfigParser" #: ../../library/configparser.rst:915 msgid "" @@ -695,6 +973,11 @@ msgid "" "will be used to create the dictionary objects for the list of sections, for " "the options within a section, and for the default values." msgstr "" +"O principal analisador sintático de configuração. Quando *defaults* é " +"fornecido, ele é inicializado no dicionário de padrões intrínsecos. Quando " +"*dict_type* for fornecido, ele será usado para criar os objetos dicionário " +"para a lista de seções, para as opções dentro de uma seção e para os valores " +"padrão." #: ../../library/configparser.rst:920 msgid "" @@ -704,29 +987,54 @@ msgid "" "can be indented. When *inline_comment_prefixes* is given, it will be used " "as the set of substrings that prefix comments in non-empty lines." msgstr "" +"Quando *delimiters* são fornecidos, eles são usados como o conjunto de " +"substrings que dividem chaves de valores. Quando *comment_prefixes* for " +"fornecido, ele será usado como o conjunto de substrings que prefixam " +"comentários em linhas vazias. Os comentários podem ser indentados. Quando " +"*inline_comment_prefixes* for fornecido, ele será usado como o conjunto de " +"substrings que prefixam comentários em linhas não vazias." #: ../../library/configparser.rst:926 msgid "" "When *strict* is ``True`` (the default), the parser won't allow for any " "section or option duplicates while reading from a single source (file, " -"string or dictionary), raising :exc:`DuplicateSectionError` or :exc:" -"`DuplicateOptionError`. When *empty_lines_in_values* is ``False`` (default: " -"``True``), each empty line marks the end of an option. Otherwise, internal " -"empty lines of a multiline option are kept as part of the value. When " -"*allow_no_value* is ``True`` (default: ``False``), options without values " -"are accepted; the value held for these is ``None`` and they are serialized " -"without the trailing delimiter." -msgstr "" +"string or dictionary), raising :exc:`DuplicateSectionError` " +"or :exc:`DuplicateOptionError`. When *empty_lines_in_values* is ``False`` " +"(default: ``True``), each empty line marks the end of an option. Otherwise, " +"internal empty lines of a multiline option are kept as part of the value. " +"When *allow_no_value* is ``True`` (default: ``False``), options without " +"values are accepted; the value held for these is ``None`` and they are " +"serialized without the trailing delimiter." +msgstr "" +"Quando *strict* for ``True`` (o padrão), o analisador sintático não " +"permitirá nenhuma seção ou opção duplicada durante a leitura de uma única " +"fonte (arquivo, string ou dicionário), " +"levantando :exc:`DuplicateSectionError` ou :exc:`DuplicateOptionError`. " +"Quando *empty_lines_in_values* é ``False`` (padrão: ``True``), cada linha " +"vazia marca o fim de uma opção. Caso contrário, as linhas vazias internas de " +"uma opção multilinha serão mantidas como parte do valor. Quando " +"*allow_no_value* for ``True`` (padrão: ``False``), opções sem valores serão " +"aceitas; o valor mantido para estes é ``None`` e eles são serializados sem o " +"delimitador final." #: ../../library/configparser.rst:936 msgid "" "When *default_section* is given, it specifies the name for the special " "section holding default values for other sections and interpolation purposes " "(normally named ``\"DEFAULT\"``). This value can be retrieved and changed " -"on runtime using the ``default_section`` instance attribute." +"at runtime using the ``default_section`` instance attribute. This won't re-" +"evaluate an already parsed config file, but will be used when writing parsed " +"settings to a new config file." msgstr "" +"Quando *default_section* é fornecido, ele especifica o nome da seção " +"especial que contém valores padrão para outras seções e propósitos de " +"interpolação (normalmente chamada de ``\"DEFAULT\"``). Este valor pode ser " +"recuperado e alterado em tempo de execução usando o atributo de instância " +"``default_section``. Isso não reavaliará um arquivo de configuração já " +"analisado, mas será usado ao escrever configurações analisadas em um novo " +"arquivo de configuração." -#: ../../library/configparser.rst:941 +#: ../../library/configparser.rst:943 msgid "" "Interpolation behaviour may be customized by providing a custom handler " "through the *interpolation* argument. ``None`` can be used to turn off " @@ -734,98 +1042,136 @@ msgid "" "advanced variant inspired by ``zc.buildout``. More on the subject in the " "`dedicated documentation section <#interpolation-of-values>`_." msgstr "" +"O comportamento de interpolação pode ser personalizado fornecendo um " +"manipulador personalizado por meio do argumento *interpolation*. ``None`` " +"pode ser usado para desligar completamente a interpolação, " +"``ExtendedInterpolation()`` fornece uma variante mais avançada inspirada em " +"``zc.buildout``. Mais sobre o assunto na `seção de documentação dedicada " +"<#interpolation-of-values>`_." -#: ../../library/configparser.rst:947 +#: ../../library/configparser.rst:949 msgid "" -"All option names used in interpolation will be passed through the :meth:" -"`optionxform` method just like any other option name reference. For " -"example, using the default implementation of :meth:`optionxform` (which " -"converts option names to lower case), the values ``foo %(bar)s`` and ``foo " -"%(BAR)s`` are equivalent." +"All option names used in interpolation will be passed through " +"the :meth:`optionxform` method just like any other option name reference. " +"For example, using the default implementation of :meth:`optionxform` (which " +"converts option names to lower case), the values ``foo %(bar)s`` and ``foo %" +"(BAR)s`` are equivalent." msgstr "" +"Todos os nomes de opções usados na interpolação serão passados através do " +"método :meth:`optionxform` assim como qualquer outra referência de nome de " +"opção. Por exemplo, usando a implementação padrão de :meth:`optionxform` " +"(que converte nomes de opções para letras minúsculas), os valores ``foo %" +"(bar)s`` e ``foo %(BAR)s`` são equivalentes." -#: ../../library/configparser.rst:953 +#: ../../library/configparser.rst:955 msgid "" "When *converters* is given, it should be a dictionary where each key " "represents the name of a type converter and each value is a callable " "implementing the conversion from string to the desired datatype. Every " -"converter gets its own corresponding :meth:`get*()` method on the parser " +"converter gets its own corresponding :meth:`!get*()` method on the parser " "object and section proxies." msgstr "" +"Quando *conversers* é fornecido, deve ser um dicionário onde cada chave " +"representa o nome de um conversor de tipo e cada valor é um chamável " +"implementando a conversão de string para o tipo de dados desejado. Cada " +"conversor obtém seu próprio método :meth:`!get*()` correspondente no objeto " +"analisador sintático e nos intermediários de seção." -#: ../../library/configparser.rst:959 +#: ../../library/configparser.rst:961 msgid "The default *dict_type* is :class:`collections.OrderedDict`." -msgstr "" +msgstr "O padrão *dict_type* é :class:`collections.OrderedDict`." -#: ../../library/configparser.rst:962 +#: ../../library/configparser.rst:964 msgid "" "*allow_no_value*, *delimiters*, *comment_prefixes*, *strict*, " "*empty_lines_in_values*, *default_section* and *interpolation* were added." msgstr "" +"*allow_no_value*, *delimiters*, *comment_prefixes*, *strict*, " +"*empty_lines_in_values*, *default_section* e *interpolation* foram " +"adicionados." -#: ../../library/configparser.rst:967 +#: ../../library/configparser.rst:969 msgid "The *converters* argument was added." -msgstr "" +msgstr "O argumento *converters* foi adicionado." -#: ../../library/configparser.rst:970 +#: ../../library/configparser.rst:972 msgid "" "The *defaults* argument is read with :meth:`read_dict()`, providing " "consistent behavior across the parser: non-string keys and values are " "implicitly converted to strings." msgstr "" +"O argumento *defaults* é lido com :meth:`read_dict()`, fornecendo um " +"comportamento consistente em todo o analisador: chaves e valores que não são " +"de string são convertidos implicitamente em strings." -#: ../../library/configparser.rst:975 ../../library/configparser.rst:1260 +#: ../../library/configparser.rst:977 ../../library/configparser.rst:1262 msgid "" "The default *dict_type* is :class:`dict`, since it now preserves insertion " "order." msgstr "" +"O *dict_type* padrão é :class:`dict`, pois agora preserva a ordem de " +"inserção." -#: ../../library/configparser.rst:981 +#: ../../library/configparser.rst:983 msgid "Return a dictionary containing the instance-wide defaults." -msgstr "" +msgstr "Retorna um dicionário contendo os padrões de toda a instância." -#: ../../library/configparser.rst:986 +#: ../../library/configparser.rst:988 msgid "" "Return a list of the sections available; the *default section* is not " "included in the list." msgstr "" +"Retorna uma lista das seções disponíveis; a *seção padrão* não está incluída " +"na lista." -#: ../../library/configparser.rst:992 +#: ../../library/configparser.rst:994 msgid "" "Add a section named *section* to the instance. If a section by the given " "name already exists, :exc:`DuplicateSectionError` is raised. If the " "*default section* name is passed, :exc:`ValueError` is raised. The name of " "the section must be a string; if not, :exc:`TypeError` is raised." msgstr "" +"Adiciona uma seção de nome *section* à instância. Se já existir uma seção " +"com o nome fornecido, :exc:`DuplicateSectionError` será levantada. Se o nome " +"da *seção padrão* for passado, :exc:`ValueError` será levantada. O nome da " +"seção deve ser uma string; caso contrário, :exc:`TypeError` será levantada." -#: ../../library/configparser.rst:997 +#: ../../library/configparser.rst:999 msgid "Non-string section names raise :exc:`TypeError`." -msgstr "" +msgstr "Nomes de seções sem string levantam :exc:`TypeError`." -#: ../../library/configparser.rst:1003 +#: ../../library/configparser.rst:1005 msgid "" "Indicates whether the named *section* is present in the configuration. The " "*default section* is not acknowledged." msgstr "" +"Indica se a *section* nomeada está presente na configuração. A *seção " +"padrão* não é reconhecida." -#: ../../library/configparser.rst:1009 +#: ../../library/configparser.rst:1011 msgid "Return a list of options available in the specified *section*." -msgstr "" +msgstr "Retorna uma lista de opções disponíveis na *section* especificada." -#: ../../library/configparser.rst:1014 +#: ../../library/configparser.rst:1016 msgid "" -"If the given *section* exists, and contains the given *option*, return :" -"const:`True`; otherwise return :const:`False`. If the specified *section* " -"is :const:`None` or an empty string, DEFAULT is assumed." +"If the given *section* exists, and contains the given *option*, " +"return :const:`True`; otherwise return :const:`False`. If the specified " +"*section* is :const:`None` or an empty string, DEFAULT is assumed." msgstr "" +"Se a *section* fornecida existir e contiver a *option* fornecida, " +"retorna :const:`True`; caso contrário, retorna :const:`False`. Se a " +"*section* especificada for :const:`None` ou uma string vazia, DEFAULT será " +"presumido." -#: ../../library/configparser.rst:1021 +#: ../../library/configparser.rst:1023 msgid "" "Attempt to read and parse an iterable of filenames, returning a list of " "filenames which were successfully parsed." msgstr "" +"Tenta ler e analisar um iterável de nomes de arquivos, retornando uma lista " +"de nomes de arquivos que foram analisados com sucesso." -#: ../../library/configparser.rst:1024 +#: ../../library/configparser.rst:1026 msgid "" "If *filenames* is a string, a :class:`bytes` object or a :term:`path-like " "object`, it is treated as a single filename. If a file named in *filenames* " @@ -835,58 +1181,81 @@ msgid "" "wide directory), and all existing configuration files in the iterable will " "be read." msgstr "" +"Se *filenames* for uma string, um objeto :class:`bytes` ou um :term:`objeto " +"caminho ou similar`, este parâmetro será tratado como um único nome de " +"arquivo. Se um arquivo nomeado em *filenames* não puder ser aberto, esse " +"arquivo será ignorado. Isso foi projetado para que você possa especificar um " +"iterável de possíveis locais de arquivo de configuração (por exemplo, o " +"diretório atual, o diretório inicial do usuário e algum diretório de todo o " +"sistema) e todos os arquivos de configuração existentes no iterável serão " +"lidos." -#: ../../library/configparser.rst:1033 +#: ../../library/configparser.rst:1035 msgid "" "If none of the named files exist, the :class:`ConfigParser` instance will " "contain an empty dataset. An application which requires initial values to " -"be loaded from a file should load the required file or files using :meth:" -"`read_file` before calling :meth:`read` for any optional files::" +"be loaded from a file should load the required file or files " +"using :meth:`read_file` before calling :meth:`read` for any optional files::" msgstr "" +"Se nenhum dos arquivos nomeados existir, a instância :class:`ConfigParser` " +"conterá um conjunto de dados vazio. Uma aplicação que requer que valores " +"iniciais sejam carregados de um arquivo deve carregar o arquivo ou arquivos " +"necessários usando :meth:`read_file` antes de chamar :meth:`read` para " +"quaisquer arquivos opcionais::" -#: ../../library/configparser.rst:1046 +#: ../../library/configparser.rst:1048 msgid "" -"The *encoding* parameter. Previously, all files were read using the default " -"encoding for :func:`open`." +"Added the *encoding* parameter. Previously, all files were read using the " +"default encoding for :func:`open`." msgstr "" +"Adicionado o parâmetro *encoding*. Anteriormente, todos os arquivos eram " +"lidos usando a codificação padrão para :func:`open`." -#: ../../library/configparser.rst:1050 +#: ../../library/configparser.rst:1052 msgid "The *filenames* parameter accepts a :term:`path-like object`." -msgstr "" +msgstr "O parâmetro *filenames* aceita um :term:`objeto caminho ou similar`." -#: ../../library/configparser.rst:1053 +#: ../../library/configparser.rst:1055 msgid "The *filenames* parameter accepts a :class:`bytes` object." -msgstr "" +msgstr "O parâmetro *filenames* aceita um objeto :class:`bytes`." -#: ../../library/configparser.rst:1059 +#: ../../library/configparser.rst:1061 msgid "" "Read and parse configuration data from *f* which must be an iterable " "yielding Unicode strings (for example files opened in text mode)." msgstr "" +"Lê e analisa dados de configuração de *f* que devem ser iteráveis, " +"produzindo strings Unicode (por exemplo, arquivos abertos em modo texto)." -#: ../../library/configparser.rst:1062 +#: ../../library/configparser.rst:1064 msgid "" "Optional argument *source* specifies the name of the file being read. If " -"not given and *f* has a :attr:`name` attribute, that is used for *source*; " +"not given and *f* has a :attr:`!name` attribute, that is used for *source*; " "the default is ``''``." msgstr "" +"O argumento opcional *source* especifica o nome do arquivo que está sendo " +"lido. Se não for fornecido e *f* tiver um atributo :attr:`!name`, que é " +"usado para *source*; o padrão é ``''``." -#: ../../library/configparser.rst:1066 -msgid "Replaces :meth:`readfp`." -msgstr "Substitui :meth:`readfp`." +#: ../../library/configparser.rst:1068 +msgid "Replaces :meth:`!readfp`." +msgstr "Substitui :meth:`!readfp`." -#: ../../library/configparser.rst:1071 +#: ../../library/configparser.rst:1073 msgid "Parse configuration data from a string." -msgstr "" +msgstr "Analisa dados de configuração de uma string." -#: ../../library/configparser.rst:1073 +#: ../../library/configparser.rst:1075 msgid "" "Optional argument *source* specifies a context-specific name of the string " "passed. If not given, ``''`` is used. This should commonly be a " "filesystem path or a URL." msgstr "" +"O argumento opcional *source* especifica um nome específico do contexto da " +"string passada. Se não for fornecido, ``''`` será usado. Geralmente " +"deve ser um caminho do sistema de arquivos ou uma URL." -#: ../../library/configparser.rst:1082 +#: ../../library/configparser.rst:1084 msgid "" "Load configuration from any object that provides a dict-like ``items()`` " "method. Keys are section names, values are dictionaries with keys and " @@ -894,18 +1263,27 @@ msgid "" "preserves order, sections and their keys will be added in order. Values are " "automatically converted to strings." msgstr "" +"Carrega a configuração de qualquer objeto que forneça um método ``items()`` " +"dict ou similar. Chaves são nomes de seções, valores são dicionários com " +"chaves e valores que devem estar presentes na seção. Se o tipo de dicionário " +"usado preservar a ordem, as seções e suas chaves serão adicionadas em ordem. " +"Os valores são convertidos automaticamente em strings." -#: ../../library/configparser.rst:1088 +#: ../../library/configparser.rst:1090 msgid "" "Optional argument *source* specifies a context-specific name of the " "dictionary passed. If not given, ```` is used." msgstr "" +"O argumento opcional *source* especifica um nome específico do contexto do " +"dicionário passado. Se não for fornecido, ```` será usado." -#: ../../library/configparser.rst:1091 +#: ../../library/configparser.rst:1093 msgid "This method can be used to copy state between parsers." msgstr "" +"Este método pode ser usado para copiar o estado entre analisadores " +"sintáticos." -#: ../../library/configparser.rst:1098 +#: ../../library/configparser.rst:1100 msgid "" "Get an *option* value for the named *section*. If *vars* is provided, it " "must be a dictionary. The *option* is looked up in *vars* (if provided), " @@ -913,75 +1291,108 @@ msgid "" "*fallback* is provided, it is used as a fallback value. ``None`` can be " "provided as a *fallback* value." msgstr "" +"Obtém um valor de *option* para a *section* nomeada. Se *vars* for " +"fornecido, deverá ser um dicionário. A *option* é pesquisada em *vars* (se " +"fornecido), *section* e em *DEFAULTSECT* nesta ordem. Se a chave não for " +"encontrada e *fallback* for fornecido, ele será usado como um valor " +"alternativo. ``None`` pode ser fornecido como um valor *fallback*." -#: ../../library/configparser.rst:1104 +#: ../../library/configparser.rst:1106 msgid "" "All the ``'%'`` interpolations are expanded in the return values, unless the " "*raw* argument is true. Values for interpolation keys are looked up in the " "same manner as the option." msgstr "" +"Todas as interpolações ``'%'`` são expandidas nos valores de retorno, a " +"menos que o argumento *raw* seja verdadeiro. Os valores das chaves de " +"interpolação são consultados da mesma maneira que a opção." -#: ../../library/configparser.rst:1108 +#: ../../library/configparser.rst:1110 msgid "" "Arguments *raw*, *vars* and *fallback* are keyword only to protect users " "from trying to use the third argument as the *fallback* fallback (especially " "when using the mapping protocol)." msgstr "" +"Os argumentos *raw*, *vars* e *fallback* são palavras somente-nomeadas para " +"proteger os usuários de tentarem usar o terceiro argumento como substituto " +"*fallback* (especialmente ao usar o protocolo de mapeamento)." -#: ../../library/configparser.rst:1116 +#: ../../library/configparser.rst:1118 msgid "" "A convenience method which coerces the *option* in the specified *section* " "to an integer. See :meth:`get` for explanation of *raw*, *vars* and " "*fallback*." msgstr "" +"Um método de conveniência que força a *option* na *section* especificada ser " +"um número inteiro. Veja :meth:`get` para explicação de *raw*, *vars* e " +"*fallback*." -#: ../../library/configparser.rst:1123 +#: ../../library/configparser.rst:1125 msgid "" "A convenience method which coerces the *option* in the specified *section* " "to a floating point number. See :meth:`get` for explanation of *raw*, " "*vars* and *fallback*." msgstr "" -#: ../../library/configparser.rst:1130 +#: ../../library/configparser.rst:1132 msgid "" "A convenience method which coerces the *option* in the specified *section* " "to a Boolean value. Note that the accepted values for the option are " "``'1'``, ``'yes'``, ``'true'``, and ``'on'``, which cause this method to " "return ``True``, and ``'0'``, ``'no'``, ``'false'``, and ``'off'``, which " "cause it to return ``False``. These string values are checked in a case-" -"insensitive manner. Any other value will cause it to raise :exc:" -"`ValueError`. See :meth:`get` for explanation of *raw*, *vars* and " -"*fallback*." +"insensitive manner. Any other value will cause it to " +"raise :exc:`ValueError`. See :meth:`get` for explanation of *raw*, *vars* " +"and *fallback*." msgstr "" +"Um método de conveniência que força a *option* na *section* especificada a " +"um valor booleano. Observe que os valores aceitos para a opção são ``'1'``, " +"``'yes'``, ``'true'``, e ``'on'``, o que fazem com que este método retorne " +"``True``, e ``'0'``, ``'no'``, ``'false'``, e ``'off'``, o que fazem com que " +"ele retorne ``False``. Esses valores de string são verificados sem distinção " +"entre maiúsculas e minúsculas. Qualquer outro valor fará com que ele " +"levante :exc:`ValueError`. Veja :meth:`get` para explicação de *raw*, *vars* " +"e *fallback*." -#: ../../library/configparser.rst:1143 +#: ../../library/configparser.rst:1145 msgid "" "When *section* is not given, return a list of *section_name*, " "*section_proxy* pairs, including DEFAULTSECT." msgstr "" +"Quando *section* não é fornecido, retorna uma lista de pares *section_name*, " +"*section_proxy*, incluindo DEFAULTSECT." -#: ../../library/configparser.rst:1146 +#: ../../library/configparser.rst:1148 msgid "" "Otherwise, return a list of *name*, *value* pairs for the options in the " -"given *section*. Optional arguments have the same meaning as for the :meth:" -"`get` method." +"given *section*. Optional arguments have the same meaning as for " +"the :meth:`get` method." msgstr "" +"Caso contrário, retorna uma lista de pares *name*, *value* para as opções na " +"*section* fornecida. Argumentos opcionais têm o mesmo significado do " +"método :meth:`get`." -#: ../../library/configparser.rst:1150 +#: ../../library/configparser.rst:1152 msgid "" "Items present in *vars* no longer appear in the result. The previous " "behaviour mixed actual parser options with variables provided for " "interpolation." msgstr "" +"Os itens presentes em *vars* não aparecem mais no resultado. O comportamento " +"anterior misturava opções reais do analisador sintático com variáveis " +"fornecidas para interpolação." -#: ../../library/configparser.rst:1158 +#: ../../library/configparser.rst:1160 msgid "" "If the given section exists, set the given option to the specified value; " "otherwise raise :exc:`NoSectionError`. *option* and *value* must be " "strings; if not, :exc:`TypeError` is raised." msgstr "" +"Se a seção fornecida existir, defina a opção fornecida com o valor " +"especificado; caso contrário, levanta :exc:`NoSectionError`. *option* e " +"*value* devem ser strings; caso contrário, :exc:`TypeError` será levantada." -#: ../../library/configparser.rst:1165 +#: ../../library/configparser.rst:1167 msgid "" "Write a representation of the configuration to the specified :term:`file " "object`, which must be opened in text mode (accepting strings). This " @@ -989,28 +1400,41 @@ msgid "" "*space_around_delimiters* is true, delimiters between keys and values are " "surrounded by spaces." msgstr "" +"Escreve uma representação da configuração no :term:`objeto arquivo` " +"especificado, que deve ser aberto em modo texto (aceitando strings). Esta " +"representação pode ser analisada por uma futura chamada :meth:`read`. Se " +"*space_around_delimiters* for verdadeiro, os delimitadores entre chaves e " +"valores serão envoltos por espaços." -#: ../../library/configparser.rst:1173 +#: ../../library/configparser.rst:1175 msgid "" "Comments in the original configuration file are not preserved when writing " "the configuration back. What is considered a comment, depends on the given " "values for *comment_prefix* and *inline_comment_prefix*." msgstr "" +"Os comentários no arquivo de configuração original não são preservados ao " +"escrever a configuração. O que é considerado um comentário depende dos " +"valores fornecidos para *comment_prefix* e *inline_comment_prefix*." -#: ../../library/configparser.rst:1181 +#: ../../library/configparser.rst:1183 msgid "" "Remove the specified *option* from the specified *section*. If the section " "does not exist, raise :exc:`NoSectionError`. If the option existed to be " "removed, return :const:`True`; otherwise return :const:`False`." msgstr "" +"Remove a *option* especificada da *section* especificada. Se a seção não " +"existir, levanta :exc:`NoSectionError`. Se existisse a opção de ser " +"removida, retorna :const:`True`; caso contrário, retorna :const:`False`." -#: ../../library/configparser.rst:1189 +#: ../../library/configparser.rst:1191 msgid "" "Remove the specified *section* from the configuration. If the section in " "fact existed, return ``True``. Otherwise return ``False``." msgstr "" +"Remove a *section* especificada da configuração. Se a seção de fato existiu, " +"retorna ``True``. Caso contrário, retorna ``False``." -#: ../../library/configparser.rst:1195 +#: ../../library/configparser.rst:1197 msgid "" "Transforms the option name *option* as found in an input file or as passed " "in by client code to the form that should be used in the internal " @@ -1018,194 +1442,263 @@ msgid "" "*option*; subclasses may override this or client code can set an attribute " "of this name on instances to affect this behavior." msgstr "" +"Transforma o nome da opção *option* conforme encontrado em um arquivo de " +"entrada ou conforme passado pelo código do cliente no formato que deve ser " +"usado nas estruturas internas. A implementação padrão retorna uma versão em " +"minúsculas de *option*; subclasses podem substituir isso ou o código do " +"cliente pode definir um atributo com esse nome nas instâncias para afetar " +"esse comportamento." -#: ../../library/configparser.rst:1201 +#: ../../library/configparser.rst:1203 msgid "" "You don't need to subclass the parser to use this method, you can also set " "it on an instance, to a function that takes a string argument and returns a " "string. Setting it to ``str``, for example, would make option names case " "sensitive::" msgstr "" +"Você não precisa criar uma subclasse do analisador sintático para usar esse " +"método; você também pode configurá-lo em uma instância, para uma função que " +"recebe um argumento de string e retorna uma string. Definir como ``str``, " +"por exemplo, faria com que sejam diferenciadas as letras maiúsculas das " +"minúsculas nos nomes das opções::" -#: ../../library/configparser.rst:1209 +#: ../../library/configparser.rst:1211 msgid "" "Note that when reading configuration files, whitespace around the option " "names is stripped before :meth:`optionxform` is called." msgstr "" +"Observe que ao ler arquivos de configuração, os espaços em branco ao redor " +"dos nomes das opções são removidos antes de :meth:`optionxform` ser chamado." -#: ../../library/configparser.rst:1215 +#: ../../library/configparser.rst:1217 msgid "Use :meth:`read_file` instead." msgstr "" -#: ../../library/configparser.rst:1218 +#: ../../library/configparser.rst:1220 msgid "" ":meth:`readfp` now iterates on *fp* instead of calling ``fp.readline()``." msgstr "" -#: ../../library/configparser.rst:1221 +#: ../../library/configparser.rst:1223 msgid "" "For existing code calling :meth:`readfp` with arguments which don't support " "iteration, the following generator may be used as a wrapper around the file-" "like object::" msgstr "" -#: ../../library/configparser.rst:1231 +#: ../../library/configparser.rst:1233 msgid "" -"Instead of ``parser.readfp(fp)`` use ``parser." -"read_file(readline_generator(fp))``." +"Instead of ``parser.readfp(fp)`` use " +"``parser.read_file(readline_generator(fp))``." msgstr "" -#: ../../library/configparser.rst:1237 +#: ../../library/configparser.rst:1239 msgid "" -"The maximum depth for recursive interpolation for :meth:`get` when the *raw* " -"parameter is false. This is relevant only when the default *interpolation* " -"is used." +"The maximum depth for recursive interpolation " +"for :meth:`~configparser.ConfigParser.get` when the *raw* parameter is " +"false. This is relevant only when the default *interpolation* is used." msgstr "" +"A profundidade máxima para interpolação recursiva " +"para :meth:`~configparser.ConfigParser.get` quando o parâmetro *raw* é " +"falso. Isso é relevante apenas quando a *interpolation* padrão é usada." -#: ../../library/configparser.rst:1245 +#: ../../library/configparser.rst:1247 msgid "RawConfigParser Objects" -msgstr "" +msgstr "Objetos RawConfigParser" -#: ../../library/configparser.rst:1255 +#: ../../library/configparser.rst:1257 msgid "" "Legacy variant of the :class:`ConfigParser`. It has interpolation disabled " "by default and allows for non-string section names, option names, and values " "via its unsafe ``add_section`` and ``set`` methods, as well as the legacy " "``defaults=`` keyword argument handling." msgstr "" +"Variante legada do :class:`ConfigParser`. Ela tem a interpolação " +"desabilitada por padrão e permite nomes de seções não-string, nomes de " +"opções e valores através de seus métodos inseguros ``add_section`` e " +"``set``, bem como o tratamento de argumentos nomeados legados ``defaults=`` ." -#: ../../library/configparser.rst:1265 +#: ../../library/configparser.rst:1267 msgid "" "Consider using :class:`ConfigParser` instead which checks types of the " "values to be stored internally. If you don't want interpolation, you can " "use ``ConfigParser(interpolation=None)``." msgstr "" +"Considere usar :class:`ConfigParser`, que verifica os tipos de valores a " +"serem armazenados internamente. Se você não quiser interpolação, você pode " +"usar ``ConfigParser(interpolation=None)``." -#: ../../library/configparser.rst:1272 +#: ../../library/configparser.rst:1274 msgid "" "Add a section named *section* to the instance. If a section by the given " "name already exists, :exc:`DuplicateSectionError` is raised. If the " "*default section* name is passed, :exc:`ValueError` is raised." msgstr "" +"Adiciona uma seção chamada *section* à instância. Se já existir uma seção " +"com o nome fornecido, :exc:`DuplicateSectionError` será levantada. Se o nome " +"da *seção padrão* for passado, :exc:`ValueError` será levantada." -#: ../../library/configparser.rst:1276 +#: ../../library/configparser.rst:1278 msgid "" "Type of *section* is not checked which lets users create non-string named " "sections. This behaviour is unsupported and may cause internal errors." msgstr "" +"O tipo da *section* não está marcado, o que permite aos usuários criar " +"seções nomeadas sem string. Este comportamento não é compatível e pode " +"causar erros internos." -#: ../../library/configparser.rst:1282 +#: ../../library/configparser.rst:1284 msgid "" "If the given section exists, set the given option to the specified value; " -"otherwise raise :exc:`NoSectionError`. While it is possible to use :class:" -"`RawConfigParser` (or :class:`ConfigParser` with *raw* parameters set to " -"true) for *internal* storage of non-string values, full functionality " +"otherwise raise :exc:`NoSectionError`. While it is possible to " +"use :class:`RawConfigParser` (or :class:`ConfigParser` with *raw* parameters " +"set to true) for *internal* storage of non-string values, full functionality " "(including interpolation and output to files) can only be achieved using " "string values." msgstr "" +"Se a seção fornecida existir, defina a opção fornecida com o valor " +"especificado; caso contrário, levanta :exc:`NoSectionError`. Embora seja " +"possível usar :class:`RawConfigParser` (ou :class:`ConfigParser` com " +"parâmetros *raw* definidos como verdadeiro) para armazenamento *interno* de " +"valores não-string, funcionalidade completa (incluindo interpolação e saída " +"para arquivos) só pode ser alcançado usando valores de string." -#: ../../library/configparser.rst:1289 +#: ../../library/configparser.rst:1291 msgid "" "This method lets users assign non-string values to keys internally. This " "behaviour is unsupported and will cause errors when attempting to write to a " "file or get it in non-raw mode. **Use the mapping protocol API** which does " "not allow such assignments to take place." msgstr "" +"Este método permite que os usuários atribuam valores não-string às chaves " +"internamente. Este comportamento não é suportado e causará erros ao tentar " +"escrever em um arquivo ou obtê-lo no modo não bruto. **Use a API do " +"protocolo de mapeamento** que não permite que tais atribuições ocorram." -#: ../../library/configparser.rst:1296 +#: ../../library/configparser.rst:1298 msgid "Exceptions" msgstr "Exceções" -#: ../../library/configparser.rst:1300 +#: ../../library/configparser.rst:1302 msgid "Base class for all other :mod:`configparser` exceptions." -msgstr "" +msgstr "Classe base para todas as outras exceções do :mod:`configparser`." -#: ../../library/configparser.rst:1305 +#: ../../library/configparser.rst:1307 msgid "Exception raised when a specified section is not found." -msgstr "" +msgstr "Exceção levantada quando uma seção especificada não é encontrada." -#: ../../library/configparser.rst:1310 +#: ../../library/configparser.rst:1312 msgid "" -"Exception raised if :meth:`add_section` is called with the name of a section " -"that is already present or in strict parsers when a section if found more " -"than once in a single input file, string or dictionary." +"Exception raised if :meth:`~ConfigParser.add_section` is called with the " +"name of a section that is already present or in strict parsers when a " +"section if found more than once in a single input file, string or dictionary." msgstr "" +"Exceção levantada se :meth:`~ConfigParser.add_section` for chamado com o " +"nome de uma seção que já está presente ou em analisadores sintáticos " +"estritos quando uma seção for encontrada mais de uma vez em um único arquivo " +"de entrada, string ou dicionário." -#: ../../library/configparser.rst:1314 +#: ../../library/configparser.rst:1316 msgid "" -"Optional ``source`` and ``lineno`` attributes and arguments to :meth:" -"`__init__` were added." +"Added the optional *source* and *lineno* attributes and parameters " +"to :meth:`!__init__`." msgstr "" +"Adicionados os atributos e parâmetros opcionais *source* e *lineno* " +"a :meth:`!__init__`." -#: ../../library/configparser.rst:1321 +#: ../../library/configparser.rst:1323 msgid "" "Exception raised by strict parsers if a single option appears twice during " "reading from a single file, string or dictionary. This catches misspellings " "and case sensitivity-related errors, e.g. a dictionary may have two keys " "representing the same case-insensitive configuration key." msgstr "" +"Exceção levantada por analisadores sintáticos estritos se uma única opção " +"aparecer duas vezes durante a leitura de um único arquivo, string ou " +"dicionário. Isso detecta erros ortográficos e erros relacionados a " +"diferenciação de letras maiúsculas e minúsculas como, p. ex., um dicionário " +"pode ter duas chaves representando a mesma chave de configuração que não " +"diferencia maiúsculas de minúsculas." -#: ../../library/configparser.rst:1329 +#: ../../library/configparser.rst:1331 msgid "" "Exception raised when a specified option is not found in the specified " "section." msgstr "" +"Exceção levantada quando uma opção especificada não é encontrada na seção " +"especificada." -#: ../../library/configparser.rst:1335 +#: ../../library/configparser.rst:1337 msgid "" "Base class for exceptions raised when problems occur performing string " "interpolation." msgstr "" +"Classe base para exceções levantadas quando ocorrem problemas ao executar a " +"interpolação de strings." -#: ../../library/configparser.rst:1341 +#: ../../library/configparser.rst:1343 msgid "" "Exception raised when string interpolation cannot be completed because the " -"number of iterations exceeds :const:`MAX_INTERPOLATION_DEPTH`. Subclass of :" -"exc:`InterpolationError`." +"number of iterations exceeds :const:`MAX_INTERPOLATION_DEPTH`. Subclass " +"of :exc:`InterpolationError`." msgstr "" +"Exceção levantada quando a interpolação de string não pode ser concluída " +"porque o número de iterações excede :const:`MAX_INTERPOLATION_DEPTH`. " +"Subclasse de :exc:`InterpolationError`." -#: ../../library/configparser.rst:1348 +#: ../../library/configparser.rst:1350 msgid "" "Exception raised when an option referenced from a value does not exist. " "Subclass of :exc:`InterpolationError`." msgstr "" +"Exceção levantada quando uma opção referenciada a partir de um valor não " +"existe. Subclasse de :exc:`InterpolationError`." -#: ../../library/configparser.rst:1354 +#: ../../library/configparser.rst:1356 msgid "" "Exception raised when the source text into which substitutions are made does " "not conform to the required syntax. Subclass of :exc:`InterpolationError`." msgstr "" +"Exceção levantada quando o texto fonte no qual são feitas as substituições " +"não está em conformidade com a sintaxe exigida. Subclasse " +"de :exc:`InterpolationError`." -#: ../../library/configparser.rst:1360 +#: ../../library/configparser.rst:1362 msgid "" "Exception raised when attempting to parse a file which has no section " "headers." msgstr "" +"Exceção levantada ao tentar analisar um arquivo que não possui cabeçalhos de " +"seção." -#: ../../library/configparser.rst:1366 +#: ../../library/configparser.rst:1368 msgid "Exception raised when errors occur attempting to parse a file." -msgstr "" +msgstr "Exceção levantada quando ocorrem erros ao tentar analisar um arquivo." -#: ../../library/configparser.rst:1368 +#: ../../library/configparser.rst:1370 msgid "" -"The ``filename`` attribute and :meth:`__init__` argument were renamed to " +"The ``filename`` attribute and :meth:`!__init__` argument were renamed to " "``source`` for consistency." msgstr "" -#: ../../library/configparser.rst:1374 +#: ../../library/configparser.rst:1376 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/configparser.rst:1375 +#: ../../library/configparser.rst:1377 msgid "" "Config parsers allow for heavy customization. If you are interested in " "changing the behaviour outlined by the footnote reference, consult the " "`Customizing Parser Behaviour`_ section." msgstr "" +"Os analisadores sintáticos de configuração permitem muitas personalizações. " +"Caso você tenha interesse em alterar o comportamento descrito na referência " +"da nota de rodapé, consulte a seção `Personalizando o comportamento do " +"analisador sintático`_." #: ../../library/configparser.rst:16 msgid ".ini" -msgstr "" +msgstr ".ini" #: ../../library/configparser.rst:16 msgid "file" @@ -1213,24 +1706,24 @@ msgstr "arquivo" #: ../../library/configparser.rst:16 msgid "configuration" -msgstr "" +msgstr "configuração" #: ../../library/configparser.rst:16 msgid "ini file" -msgstr "" +msgstr "arquivo ini" #: ../../library/configparser.rst:16 msgid "Windows ini file" -msgstr "" +msgstr "arquivo ini do Windows" #: ../../library/configparser.rst:335 msgid "% (percent)" -msgstr "" +msgstr "% (porcentagem)" #: ../../library/configparser.rst:335 ../../library/configparser.rst:368 msgid "interpolation in configuration files" -msgstr "" +msgstr "interpolação em arquivos de configuração" #: ../../library/configparser.rst:368 msgid "$ (dollar)" -msgstr "" +msgstr "$ (dólar)" diff --git a/library/constants.po b/library/constants.po index b53330964..47feea2f0 100644 --- a/library/constants.po +++ b/library/constants.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Sheila Gomes , 2021 -# Gabriel Crispino , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -56,46 +54,50 @@ msgid "" "An object frequently used to represent the absence of a value, as when " "default arguments are not passed to a function. Assignments to ``None`` are " "illegal and raise a :exc:`SyntaxError`. ``None`` is the sole instance of " -"the :data:`NoneType` type." +"the :data:`~types.NoneType` type." msgstr "" "Um objeto frequentemente usado para representar a ausência de um valor, como " -"quando os argumentos padrão não são passados para uma função. As atribuições " -"a ``None`` são ilegais e levantam :exc:`SyntaxError`. ``None`` é a única " -"instância do tipo :data:`NoneType`." +"quando os argumentos padrões não são passados para uma função. As " +"atribuições a ``None`` são ilegais e levantam :exc:`SyntaxError`. ``None`` é " +"a única instância do tipo :data:`~types.NoneType`." #: ../../library/constants.rst:30 msgid "" -"A special value which should be returned by the binary special methods (e." -"g. :meth:`__eq__`, :meth:`__lt__`, :meth:`__add__`, :meth:`__rsub__`, etc.) " -"to indicate that the operation is not implemented with respect to the other " -"type; may be returned by the in-place binary special methods (e.g. :meth:" -"`__imul__`, :meth:`__iand__`, etc.) for the same purpose. It should not be " -"evaluated in a boolean context. ``NotImplemented`` is the sole instance of " -"the :data:`types.NotImplementedType` type." +"A special value which should be returned by the binary special methods " +"(e.g. :meth:`~object.__eq__`, :meth:`~object.__lt__`, :meth:`~object.__add__`, :meth:`~object.__rsub__`, " +"etc.) to indicate that the operation is not implemented with respect to the " +"other type; may be returned by the in-place binary special methods " +"(e.g. :meth:`~object.__imul__`, :meth:`~object.__iand__`, etc.) for the same " +"purpose. It should not be evaluated in a boolean context. :data:`!" +"NotImplemented` is the sole instance of the :data:`types.NotImplementedType` " +"type." msgstr "" "Um valor especial que deve ser retornado pelos métodos binários especiais " -"(por exemplo: :meth:`__eq__`, :meth:`__lt__`, :meth:`__add__`, :meth:" -"`__rsub__`, etc.) não é implementado em relação ao outro tipo; pode ser " -"retornado pelos métodos especiais binários no local (por exemplo: :meth:" -"`__imul__`, :meth:`__iand__`, etc.) para o mesmo propósito. Ele não deve ser " -"avaliado em um contexto booleano. ``NotImplemented`` é a única instância do " -"tipo :data:`types.NotImplementedType`." +"(por " +"exemplo: :meth:`~object.__eq__`, :meth:`~object.__lt__`, :meth:`~object.__add__`, :meth:`~object.__rsub__`, " +"etc.) não é implementado em relação ao outro tipo; pode ser retornado pelos " +"métodos especiais binários no local (por " +"exemplo: :meth:`~object.__imul__`, :meth:`~object.__iand__`, etc.) para o " +"mesmo propósito. Ele não deve ser avaliado em um contexto booleano. :data:`!" +"NotImplemented` é a única instância do tipo :data:`types.NotImplementedType`." #: ../../library/constants.rst:40 msgid "" -"When a binary (or in-place) method returns ``NotImplemented`` the " +"When a binary (or in-place) method returns :data:`!NotImplemented` the " "interpreter will try the reflected operation on the other type (or some " -"other fallback, depending on the operator). If all attempts return " -"``NotImplemented``, the interpreter will raise an appropriate exception. " -"Incorrectly returning ``NotImplemented`` will result in a misleading error " -"message or the ``NotImplemented`` value being returned to Python code." +"other fallback, depending on the operator). If all attempts return :data:`!" +"NotImplemented`, the interpreter will raise an appropriate exception. " +"Incorrectly returning :data:`!NotImplemented` will result in a misleading " +"error message or the :data:`!NotImplemented` value being returned to Python " +"code." msgstr "" -"Quando um método binário (ou local) retorna ``NotImplemented``, o " +"Quando um método binário (ou local) retorna :data:`!NotImplemented`, o " "interpretador tentará a operação refletida no outro tipo (ou algum outro " -"fallback, dependendo do operador). Se todas as tentativas retornarem " -"``NotImplemented``, o interpretador levantará uma exceção apropriada. " -"Retornar incorretamente ``NotImplemented`` resultará em uma mensagem de erro " -"enganosa ou no valor ``NotImplemented`` sendo retornado ao código Python." +"fallback, dependendo do operador). Se todas as tentativas retornarem :data:`!" +"NotImplemented`, o interpretador levantará uma exceção apropriada. Retornar " +"incorretamente :data:`!NotImplemented` resultará em uma mensagem de erro " +"enganosa ou no valor :data:`!NotImplemented` sendo retornado ao código " +"Python." #: ../../library/constants.rst:47 msgid "See :ref:`implementing-the-arithmetic-operations` for examples." @@ -104,24 +106,24 @@ msgstr "" #: ../../library/constants.rst:51 msgid "" -"``NotImplementedError`` and ``NotImplemented`` are not interchangeable, even " -"though they have similar names and purposes. See :exc:`NotImplementedError` " -"for details on when to use it." +"``NotImplementedError`` and :data:`!NotImplemented` are not interchangeable, " +"even though they have similar names and purposes. " +"See :exc:`NotImplementedError` for details on when to use it." msgstr "" -"``NotImplementedError`` e ``NotImplemented`` não são intercambiáveis, mesmo " -"que tenham nomes e propósitos similares. Veja :exc:`NotImplementedError` " -"para detalhes e casos de uso." +"``NotImplementedError`` e :data:`!NotImplemented` não são intercambiáveis, " +"mesmo que tenham nomes e propósitos similares. " +"Veja :exc:`NotImplementedError` para detalhes e casos de uso." #: ../../library/constants.rst:55 msgid "" -"Evaluating ``NotImplemented`` in a boolean context is deprecated. While it " -"currently evaluates as true, it will emit a :exc:`DeprecationWarning`. It " +"Evaluating :data:`!NotImplemented` in a boolean context is deprecated. While " +"it currently evaluates as true, it will emit a :exc:`DeprecationWarning`. It " "will raise a :exc:`TypeError` in a future version of Python." msgstr "" -"A avaliação de ``NotImplemented`` em um contexto booleano foi descontinuado. " -"Embora atualmente seja avaliado como verdadeiro, ele emitirá um :exc:" -"`DeprecationWarning`. Ele levantará uma :exc:`TypeError` em uma versão " -"futura do Python." +"A avaliação de :data:`!NotImplemented` em um contexto booleano foi " +"descontinuado. Embora atualmente seja avaliado como verdadeiro, ele emitirá " +"um :exc:`DeprecationWarning`. Ele levantará uma :exc:`TypeError` em uma " +"versão futura do Python." #: ../../library/constants.rst:64 msgid "" @@ -140,14 +142,14 @@ msgid "" "This constant is true if Python was not started with an :option:`-O` option. " "See also the :keyword:`assert` statement." msgstr "" -"Esta constante é verdadeira se o Python não foi iniciado com uma opção :" -"option:`-O`. Veja também a instrução :keyword:`assert`." +"Esta constante é verdadeira se o Python não foi iniciado com uma " +"opção :option:`-O`. Veja também a instrução :keyword:`assert`." #: ../../library/constants.rst:77 msgid "" "The names :data:`None`, :data:`False`, :data:`True` and :data:`__debug__` " -"cannot be reassigned (assignments to them, even as an attribute name, raise :" -"exc:`SyntaxError`), so they can be considered \"true\" constants." +"cannot be reassigned (assignments to them, even as an attribute name, " +"raise :exc:`SyntaxError`), so they can be considered \"true\" constants." msgstr "" "Os nomes :data:`None`, :data:`False`, :data:`True` e :data:`__debug__` não " "podem ser reatribuídos (atribuições a eles, mesmo como um nome de atributo, " @@ -205,4 +207,4 @@ msgstr "..." #: ../../library/constants.rst:61 msgid "ellipsis literal" -msgstr "reticências literais" +msgstr "literal de reticências" diff --git a/library/contextlib.po b/library/contextlib.po index dc5c4041c..0fc842bf3 100644 --- a/library/contextlib.po +++ b/library/contextlib.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -30,6 +27,8 @@ msgstr "" msgid "" ":mod:`!contextlib` --- Utilities for :keyword:`!with`\\ -statement contexts" msgstr "" +":mod:`!contextlib` --- Utilitários para contextos da instrução :keyword:`!" +"with`" #: ../../library/contextlib.rst:7 msgid "**Source code:** :source:`Lib/contextlib.py`" @@ -37,10 +36,13 @@ msgstr "**Código-fonte:** :source:`Lib/contextlib.py`" #: ../../library/contextlib.rst:11 msgid "" -"This module provides utilities for common tasks involving the :keyword:" -"`with` statement. For more information see also :ref:`typecontextmanager` " -"and :ref:`context-managers`." +"This module provides utilities for common tasks involving " +"the :keyword:`with` statement. For more information see " +"also :ref:`typecontextmanager` and :ref:`context-managers`." msgstr "" +"Este módulo fornece utilitários para tarefas comuns envolvendo a " +"instrução :keyword:`with`. Para mais informações, veja " +"também :ref:`typecontextmanager` e :ref:`context-managers`." #: ../../library/contextlib.rst:17 msgid "Utilities" @@ -48,50 +50,75 @@ msgstr "Utilitários" #: ../../library/contextlib.rst:19 msgid "Functions and classes provided:" -msgstr "" +msgstr "Funções e classes fornecidas:" #: ../../library/contextlib.rst:23 msgid "" -"An :term:`abstract base class` for classes that implement :meth:`object." -"__enter__` and :meth:`object.__exit__`. A default implementation for :meth:" -"`object.__enter__` is provided which returns ``self`` while :meth:`object." -"__exit__` is an abstract method which by default returns ``None``. See also " -"the definition of :ref:`typecontextmanager`." +"An :term:`abstract base class` for classes that " +"implement :meth:`object.__enter__` and :meth:`object.__exit__`. A default " +"implementation for :meth:`object.__enter__` is provided which returns " +"``self`` while :meth:`object.__exit__` is an abstract method which by " +"default returns ``None``. See also the definition " +"of :ref:`typecontextmanager`." msgstr "" +"Uma :term:`classe base abstrata` para classes que " +"implementam :meth:`object.__enter__` e :meth:`object.__exit__`. Uma " +"implementação padrão para :meth:`object.__enter__` é fornecida, que retorna " +"``self``, enquanto :meth:`object.__exit__` é um método abstrato que, por " +"padrão, retorna ``None``. Veja também a definição " +"de :ref:`typecontextmanager`." #: ../../library/contextlib.rst:34 msgid "" -"An :term:`abstract base class` for classes that implement :meth:`object." -"__aenter__` and :meth:`object.__aexit__`. A default implementation for :meth:" -"`object.__aenter__` is provided which returns ``self`` while :meth:`object." -"__aexit__` is an abstract method which by default returns ``None``. See also " -"the definition of :ref:`async-context-managers`." +"An :term:`abstract base class` for classes that " +"implement :meth:`object.__aenter__` and :meth:`object.__aexit__`. A default " +"implementation for :meth:`object.__aenter__` is provided which returns " +"``self`` while :meth:`object.__aexit__` is an abstract method which by " +"default returns ``None``. See also the definition of :ref:`async-context-" +"managers`." msgstr "" +"Uma :term:`classe base abstrata` para classes que " +"implementam :meth:`object.__aenter__` e :meth:`object.__aexit__`. Uma " +"implementação padrão para :meth:`object.__aenter__` é fornecida, que retorna " +"``self``, enquanto :meth:`object.__aexit__` é um método abstrato que, por " +"padrão, retorna ``None``. Veja também a definição de :ref:`async-context-" +"managers`" #: ../../library/contextlib.rst:46 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 "" +"Esta função é um :term:`decorador` que pode ser usado para definir uma " +"função de fábrica para gerenciadores de contexto de " +"instrução :keyword:`with`, sem precisar criar uma classe ou separar os " +"métodos :meth:`~object.__enter__` e :meth:`~object.__exit__`." #: ../../library/contextlib.rst:50 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``" +"and doesn't implement a ``close()`` method for use with " +"``contextlib.closing``" msgstr "" +"Embora muitos objetos ofereçam suporte nativo ao uso em instruções with, às " +"vezes é necessário gerenciar um recurso que não seja um gerenciador de " +"contexto por si só e não implemente um método ``close()`` para uso com " +"``contextlib.closing``" #: ../../library/contextlib.rst:54 msgid "" "An abstract example would be the following to ensure correct resource " "management::" msgstr "" +"Um exemplo abstrato seria o seguinte para garantir o gerenciamento correto " +"dos recursos:" #: ../../library/contextlib.rst:69 msgid "The function can then be used like this::" -msgstr "" +msgstr "A função pode, então, ser usada da seguinte forma::" #: ../../library/contextlib.rst:75 msgid "" @@ -99,22 +126,38 @@ msgid "" "called. This iterator must yield exactly one value, which will be bound to " "the targets in the :keyword:`with` statement's :keyword:`!as` clause, if any." msgstr "" +"A função que está sendo decorada deve retornar um iterador :term:`gerador` " +"quando chamada. Este iterador deve produzir exatamente um valor, que será " +"vinculado aos alvos na cláusula :keyword:`!as` da instrução :keyword:`with`, " +"se houver." #: ../../library/contextlib.rst:79 msgid "" -"At the point where the generator yields, the block nested in the :keyword:" -"`with` statement is executed. The generator is then resumed after the block " -"is exited. If an unhandled exception occurs in the block, it is reraised " -"inside the generator at the point where the yield occurred. Thus, you can " -"use a :keyword:`try`...\\ :keyword:`except`...\\ :keyword:`finally` " -"statement to trap the error (if any), or ensure that some cleanup takes " -"place. If an exception is trapped merely in order to log it or to perform " -"some action (rather than to suppress it entirely), the generator must " -"reraise that exception. Otherwise the generator context manager will " -"indicate to the :keyword:`!with` statement that the exception has been " -"handled, and execution will resume with the statement immediately following " -"the :keyword:`!with` statement." -msgstr "" +"At the point where the generator yields, the block nested in " +"the :keyword:`with` statement is executed. The generator is then resumed " +"after the block is exited. If an unhandled exception occurs in the block, it " +"is reraised inside the generator at the point where the yield occurred. " +"Thus, you can use a :keyword:`try`...\\ :keyword:`except`..." +"\\ :keyword:`finally` statement to trap the error (if any), or ensure that " +"some cleanup takes place. If an exception is trapped merely in order to log " +"it or to perform some action (rather than to suppress it entirely), the " +"generator must reraise that exception. Otherwise the generator context " +"manager will indicate to the :keyword:`!with` statement that the exception " +"has been handled, and execution will resume with the statement immediately " +"following the :keyword:`!with` statement." +msgstr "" +"No ponto em que o gerador é produzido, o bloco aninhado na " +"instrução :keyword:`with` é executado. O gerador é então retomado após o " +"bloco ser encerrado. Se uma exceção não tratada ocorrer no bloco, ela será " +"levantada novamente dentro do gerador no ponto em que a produção ocorreu. " +"Assim, você pode usar uma instrução :keyword:`try`...\\ :keyword:`except`..." +"\\ :keyword:`finally` para capturar o erro (se houver), ou garantir que " +"alguma limpeza ocorra. Se uma exceção for capturada apenas para registrá-la " +"ou para executar alguma ação (em vez de suprimi-la completamente), o gerador " +"deve levantar novamente essa exceção. Caso contrário, o gerenciador de " +"contexto do gerador indicará à instrução :keyword:`!with` que a exceção foi " +"tratada, e a execução será retomada com a instrução imediatamente após a " +"instrução :keyword:`!with`." #: ../../library/contextlib.rst:91 msgid "" @@ -126,25 +169,40 @@ msgid "" "that context managers support multiple invocations in order to be used as " "decorators)." msgstr "" +":func:`contextmanager` usa :class:`ContextDecorator` para que os " +"gerenciadores de contexto que ela cria possam ser usados como decoradores, " +"bem como em instruções :keyword:`with`. Quando usada como um decorador, uma " +"nova instância do gerador é implicitamente criada em cada chamada de função " +"(isso permite que os gerenciadores de contexto criados " +"por :func:`contextmanager` atendam ao requisito de que os gerenciadores de " +"contexto ofereçam suporte a múltiplas invocações para serem usados como " +"decoradores)." #: ../../library/contextlib.rst:98 msgid "Use of :class:`ContextDecorator`." -msgstr "" +msgstr "Uso de :class:`ContextDecorator`." #: ../../library/contextlib.rst:104 msgid "" -"Similar to :func:`~contextlib.contextmanager`, but creates an :ref:" -"`asynchronous context manager `." +"Similar to :func:`~contextlib.contextmanager`, but creates " +"an :ref:`asynchronous context manager `." msgstr "" +"Semelhante a :func:`~contextlib.contextmanager`, mas cria " +"um :ref:`gerenciador de contexto assíncrono `." #: ../../library/contextlib.rst:107 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 "" +"Esta função é um :term:`decorador` que pode ser usado para definir uma " +"função de fábrica para gerenciadores de contexto assíncronos de " +"instrução :keyword:`async with`, sem precisar criar uma classe ou separar os " +"métodos :meth:`~object.__aenter__` e :meth:`~object.__aexit__`. Ela deve ser " +"aplicada a uma função que atua como :term:`gerador assíncrono`." #: ../../library/contextlib.rst:113 msgid "A simple example::" @@ -155,6 +213,8 @@ msgid "" "Context managers defined with :func:`asynccontextmanager` can be used either " "as decorators or with :keyword:`async with` statements::" msgstr "" +"Gerenciadores de contexto definidos com :func:`asynccontextmanager` podem " +"ser usados como decoradores ou com instruções :keyword:`async with`::" #: ../../library/contextlib.rst:149 msgid "" @@ -163,132 +223,183 @@ msgid "" "created by :func:`asynccontextmanager` to meet the requirement that context " "managers support multiple invocations in order to be used as decorators." msgstr "" +"Quando usada como um decorador, uma nova instância do gerador é " +"implicitamente criada em cada chamada de função. Isso permite que os " +"gerenciadores de contexto criados por :func:`asynccontextmanager` atendam ao " +"requisito de que os gerenciadores de contexto ofereçam suporte a múltiplas " +"invocações para serem usados como decoradores." #: ../../library/contextlib.rst:154 msgid "" "Async context managers created with :func:`asynccontextmanager` can be used " "as decorators." msgstr "" +"Gerenciadores de contexto assíncronos criados " +"com :func:`asynccontextmanager` podem ser usados como decoradores." #: ../../library/contextlib.rst:161 msgid "" "Return a context manager that closes *thing* upon completion of the block. " "This is basically equivalent to::" msgstr "" +"Retorna um gerenciador de contexto que fecha *thing* após a conclusão do " +"bloco. Isso basicamente equivale a::" #: ../../library/contextlib.rst:173 msgid "And lets you write code like this::" -msgstr "" +msgstr "E permite que você escreva código como isso:" #: ../../library/contextlib.rst:182 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 "" +"sem precisar fechar explicitamente ``page``. Mesmo se ocorrer um erro, " +"``page.close()`` será chamado quando o bloco :keyword:`with` for encerrado." + +#: ../../library/contextlib.rst:187 +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 "" +"A maioria dos tipos que gerenciam recursos suporta o protocolo " +"de :term:`gerenciador de contexto`, que fecha *thing* ao sair da " +"declaração :keyword:`with`. Como tal, :func:`!closing` é mais útil para " +"tipos de terceiros que não oferecem suporte a gerenciadores de contexto. " +"Este exemplo é puramente para fins ilustrativos, " +"pois :func:`~urllib.request.urlopen` normalmente seria usado em um " +"gerenciador de contexto." -#: ../../library/contextlib.rst:188 +#: ../../library/contextlib.rst:196 msgid "" "Return an async context manager that calls the ``aclose()`` method of " "*thing* upon completion of the block. This is basically equivalent to::" msgstr "" +"Retorna um gerenciador de contexto async que chama o método ``aclose()`` de " +"*thing* após a conclusão do bloco. Isso basicamente equivale a::" -#: ../../library/contextlib.rst:200 +#: ../../library/contextlib.rst:208 msgid "" "Significantly, ``aclosing()`` supports deterministic cleanup of async " "generators when they happen to exit early by :keyword:`break` or an " "exception. For example::" msgstr "" +"De forma significativa, ``aclosing()`` oferece suporte a limpeza " +"determinística de geradores assíncronos quando eles são encerrados mais cedo " +"por :keyword:`break` ou uma exceção. Por exemplo::" -#: ../../library/contextlib.rst:211 +#: ../../library/contextlib.rst:219 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 " "work as expected, and the exit code isn't run after the lifetime of some " "task it depends on)." msgstr "" +"Esse padrão garante que o código de saída assíncrono do gerador seja " +"executado no mesmo contexto que suas iterações (para que exceções e " +"variáveis de contexto funcionem conforme o esperado, e o código de saída não " +"seja executado após o tempo de vida de alguma tarefa da qual ele depende)." -#: ../../library/contextlib.rst:223 +#: ../../library/contextlib.rst:231 msgid "" "Return a context manager that returns *enter_result* from ``__enter__``, but " "otherwise does nothing. It is intended to be used as a stand-in for an " "optional context manager, for example::" msgstr "" +"Retorna um gerenciador de contexto que retorna *enter_result* de " +"``__enter__``, mas não faz nada de outra forma. Ele foi criado para ser " +"usado como um substituto para um gerenciador de contexto opcional, por " +"exemplo::" -#: ../../library/contextlib.rst:237 +#: ../../library/contextlib.rst:245 msgid "An example using *enter_result*::" -msgstr "" +msgstr "Um exemplo usando *enter_result*::" -#: ../../library/contextlib.rst:250 +#: ../../library/contextlib.rst:258 msgid "" "It can also be used as a stand-in for :ref:`asynchronous context managers " "`::" msgstr "" +"Também pode ser usado como um substituto para :ref:`gerenciadores de " +"contexto assíncronos `::" -#: ../../library/contextlib.rst:266 +#: ../../library/contextlib.rst:274 msgid ":term:`asynchronous context manager` support was added." -msgstr "" +msgstr "Suporte a :term:`gerenciador de contexto assíncrono` foi adicionado." -#: ../../library/contextlib.rst:273 +#: ../../library/contextlib.rst:281 msgid "" "Return a context manager that suppresses any of the specified exceptions if " "they occur in the body of a :keyword:`!with` statement and then resumes " "execution with the first statement following the end of the :keyword:`!with` " "statement." msgstr "" +"Retorna um gerenciador de contexto que suprime qualquer uma das exceções " +"especificadas se elas ocorrerem no corpo de uma instrução :keyword:`!with` e " +"então retoma a execução com a primeira instrução após o final da " +"instrução :keyword:`!with`." -#: ../../library/contextlib.rst:278 +#: ../../library/contextlib.rst:286 msgid "" "As with any other mechanism that completely suppresses exceptions, this " "context manager should be used only to cover very specific errors where " "silently continuing with program execution is known to be the right thing to " "do." msgstr "" +"Como qualquer outro mecanismo que suprime completamente exceções, este " +"gerenciador de contexto deve ser usado apenas para cobrir erros muito " +"específicos, onde continuar silenciosamente com a execução do programa é " +"considerado a coisa certa a fazer." -#: ../../library/contextlib.rst:283 +#: ../../library/contextlib.rst:291 msgid "For example::" msgstr "Por exemplo::" -#: ../../library/contextlib.rst:293 +#: ../../library/contextlib.rst:301 msgid "This code is equivalent to::" -msgstr "" +msgstr "Este código equivale a::" -#: ../../library/contextlib.rst:305 ../../library/contextlib.rst:345 -#: ../../library/contextlib.rst:355 ../../library/contextlib.rst:372 +#: ../../library/contextlib.rst:313 ../../library/contextlib.rst:353 +#: ../../library/contextlib.rst:363 ../../library/contextlib.rst:380 msgid "This context manager is :ref:`reentrant `." -msgstr "" +msgstr "O gerenciador de contexto é :ref:`reentrante `." -#: ../../library/contextlib.rst:312 +#: ../../library/contextlib.rst:320 msgid "" "Context manager for temporarily redirecting :data:`sys.stdout` to another " "file or file-like object." msgstr "" -#: ../../library/contextlib.rst:315 +#: ../../library/contextlib.rst:323 msgid "" "This tool adds flexibility to existing functions or classes whose output is " "hardwired to stdout." msgstr "" -#: ../../library/contextlib.rst:318 +#: ../../library/contextlib.rst:326 msgid "" "For example, the output of :func:`help` normally is sent to *sys.stdout*. " -"You can capture that output in a string by redirecting the output to an :" -"class:`io.StringIO` object. The replacement stream is returned from the " -"``__enter__`` method and so is available as the target of the :keyword:" -"`with` statement::" +"You can capture that output in a string by redirecting the output to " +"an :class:`io.StringIO` object. The replacement stream is returned from the " +"``__enter__`` method and so is available as the target of " +"the :keyword:`with` statement::" msgstr "" -#: ../../library/contextlib.rst:328 +#: ../../library/contextlib.rst:336 msgid "" "To send the output of :func:`help` to a file on disk, redirect the output to " "a regular file::" msgstr "" -#: ../../library/contextlib.rst:335 +#: ../../library/contextlib.rst:343 msgid "To send the output of :func:`help` to *sys.stderr*::" msgstr "" -#: ../../library/contextlib.rst:340 +#: ../../library/contextlib.rst:348 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 " @@ -296,13 +407,13 @@ msgid "" "it is still a useful approach for many utility scripts." msgstr "" -#: ../../library/contextlib.rst:352 +#: ../../library/contextlib.rst:360 msgid "" -"Similar to :func:`~contextlib.redirect_stdout` but redirecting :data:`sys." -"stderr` to another file or file-like object." +"Similar to :func:`~contextlib.redirect_stdout` but " +"redirecting :data:`sys.stderr` to another file or file-like object." msgstr "" -#: ../../library/contextlib.rst:362 +#: ../../library/contextlib.rst:370 msgid "" "Non parallel-safe context manager to change the current working directory. " "As this changes a global state, the working directory, it is not suitable " @@ -312,60 +423,60 @@ msgid "" "when this context manager is active." msgstr "" -#: ../../library/contextlib.rst:369 +#: ../../library/contextlib.rst:377 msgid "" "This is a simple wrapper around :func:`~os.chdir`, it changes the current " "working directory upon entering and restores the old one on exit." msgstr "" -#: ../../library/contextlib.rst:379 +#: ../../library/contextlib.rst:387 msgid "" "A base class that enables a context manager to also be used as a decorator." msgstr "" -#: ../../library/contextlib.rst:381 +#: ../../library/contextlib.rst:389 msgid "" "Context managers inheriting from ``ContextDecorator`` have to implement " "``__enter__`` and ``__exit__`` as normal. ``__exit__`` retains its optional " "exception handling even when used as a decorator." msgstr "" -#: ../../library/contextlib.rst:385 +#: ../../library/contextlib.rst:393 msgid "" "``ContextDecorator`` is used by :func:`contextmanager`, so you get this " "functionality automatically." msgstr "" -#: ../../library/contextlib.rst:388 +#: ../../library/contextlib.rst:396 msgid "Example of ``ContextDecorator``::" msgstr "" -#: ../../library/contextlib.rst:401 ../../library/contextlib.rst:473 +#: ../../library/contextlib.rst:409 ../../library/contextlib.rst:481 msgid "The class can then be used like this::" msgstr "" -#: ../../library/contextlib.rst:419 +#: ../../library/contextlib.rst:427 msgid "" "This change is just syntactic sugar for any construct of the following form::" msgstr "" -#: ../../library/contextlib.rst:425 +#: ../../library/contextlib.rst:433 msgid "``ContextDecorator`` lets you instead write::" msgstr "" -#: ../../library/contextlib.rst:431 +#: ../../library/contextlib.rst:439 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)." msgstr "" -#: ../../library/contextlib.rst:434 +#: ../../library/contextlib.rst:442 msgid "" "Existing context managers that already have a base class can be extended by " "using ``ContextDecorator`` as a mixin class::" msgstr "" -#: ../../library/contextlib.rst:447 +#: ../../library/contextlib.rst:455 msgid "" "As the decorated function must be able to be called multiple times, the " "underlying context manager must support use in multiple :keyword:`with` " @@ -373,35 +484,35 @@ msgid "" "explicit :keyword:`!with` statement inside the function should be used." msgstr "" -#: ../../library/contextlib.rst:457 +#: ../../library/contextlib.rst:465 msgid "" "Similar to :class:`ContextDecorator` but only for asynchronous functions." msgstr "" -#: ../../library/contextlib.rst:459 +#: ../../library/contextlib.rst:467 msgid "Example of ``AsyncContextDecorator``::" msgstr "" -#: ../../library/contextlib.rst:498 +#: ../../library/contextlib.rst:506 msgid "" "A context manager that is designed to make it easy to programmatically " "combine other context managers and cleanup functions, especially those that " "are optional or otherwise driven by input data." msgstr "" -#: ../../library/contextlib.rst:502 +#: ../../library/contextlib.rst:510 msgid "" "For example, a set of files may easily be handled in a single with statement " "as follows::" msgstr "" -#: ../../library/contextlib.rst:511 +#: ../../library/contextlib.rst:519 msgid "" -"The :meth:`__enter__` method returns the :class:`ExitStack` instance, and " -"performs no additional operations." +"The :meth:`~object.__enter__` method returns the :class:`ExitStack` " +"instance, and performs no additional operations." msgstr "" -#: ../../library/contextlib.rst:514 +#: ../../library/contextlib.rst:522 msgid "" "Each instance maintains a stack of registered callbacks that are called in " "reverse order when the instance is closed (either explicitly or implicitly " @@ -409,14 +520,14 @@ msgid "" "invoked implicitly when the context stack instance is garbage collected." msgstr "" -#: ../../library/contextlib.rst:519 +#: ../../library/contextlib.rst:527 msgid "" "This stack model is used so that context managers that acquire their " "resources in their ``__init__`` method (such as file objects) can be handled " "correctly." msgstr "" -#: ../../library/contextlib.rst:523 +#: ../../library/contextlib.rst:531 msgid "" "Since registered callbacks are invoked in the reverse order of registration, " "this ends up behaving as if multiple nested :keyword:`with` statements had " @@ -426,7 +537,7 @@ msgid "" "updated state." msgstr "" -#: ../../library/contextlib.rst:530 +#: ../../library/contextlib.rst:538 msgid "" "This is a relatively low level API that takes care of the details of " "correctly unwinding the stack of exit callbacks. It provides a suitable " @@ -434,74 +545,77 @@ msgid "" "in application specific ways." msgstr "" -#: ../../library/contextlib.rst:539 +#: ../../library/contextlib.rst:547 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 "" -#: ../../library/contextlib.rst:543 +#: ../../library/contextlib.rst:551 msgid "" "These context managers may suppress exceptions just as they normally would " "if used directly as part of a :keyword:`with` statement." msgstr "" -#: ../../library/contextlib.rst:546 +#: ../../library/contextlib.rst:554 msgid "" "Raises :exc:`TypeError` instead of :exc:`AttributeError` if *cm* is not a " "context manager." msgstr "" -#: ../../library/contextlib.rst:552 -msgid "Adds a context manager's :meth:`__exit__` method to the callback stack." +#: ../../library/contextlib.rst:560 +msgid "" +"Adds a context manager's :meth:`~object.__exit__` method to the callback " +"stack." msgstr "" -#: ../../library/contextlib.rst:554 +#: ../../library/contextlib.rst:562 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 "" -#: ../../library/contextlib.rst:558 +#: ../../library/contextlib.rst:566 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 "" -#: ../../library/contextlib.rst:562 +#: ../../library/contextlib.rst:570 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 "" -#: ../../library/contextlib.rst:565 +#: ../../library/contextlib.rst:573 msgid "" "The passed in object is returned from the function, allowing this method to " "be used as a function decorator." msgstr "" -#: ../../library/contextlib.rst:570 +#: ../../library/contextlib.rst:578 msgid "" "Accepts an arbitrary callback function and arguments and adds it to the " "callback stack." msgstr "" -#: ../../library/contextlib.rst:573 +#: ../../library/contextlib.rst:581 msgid "" "Unlike the other methods, callbacks added this way cannot suppress " "exceptions (as they are never passed the exception details)." msgstr "" -#: ../../library/contextlib.rst:576 +#: ../../library/contextlib.rst:584 msgid "" "The passed in callback is returned from the function, allowing this method " "to be used as a function decorator." msgstr "" -#: ../../library/contextlib.rst:581 +#: ../../library/contextlib.rst:589 msgid "" "Transfers the callback stack to a fresh :class:`ExitStack` instance and " "returns it. No callbacks are invoked by this operation - instead, they will " @@ -509,76 +623,78 @@ msgid "" "at the end of a :keyword:`with` statement)." msgstr "" -#: ../../library/contextlib.rst:586 +#: ../../library/contextlib.rst:594 msgid "" "For example, a group of files can be opened as an \"all or nothing\" " "operation as follows::" msgstr "" -#: ../../library/contextlib.rst:600 +#: ../../library/contextlib.rst:608 msgid "" "Immediately unwinds the callback stack, invoking callbacks in the reverse " "order of registration. For any context managers and exit callbacks " "registered, the arguments passed in will indicate that no exception occurred." msgstr "" -#: ../../library/contextlib.rst:607 +#: ../../library/contextlib.rst:615 msgid "" -"An :ref:`asynchronous context manager `, similar to :" -"class:`ExitStack`, that supports combining both synchronous and asynchronous " -"context managers, as well as having coroutines for cleanup logic." +"An :ref:`asynchronous context manager `, similar " +"to :class:`ExitStack`, that supports combining both synchronous and " +"asynchronous context managers, as well as having coroutines for cleanup " +"logic." msgstr "" -#: ../../library/contextlib.rst:612 +#: ../../library/contextlib.rst:620 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 "" -#: ../../library/contextlib.rst:617 +#: ../../library/contextlib.rst:625 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 "" -#: ../../library/contextlib.rst:620 +#: ../../library/contextlib.rst:628 msgid "" "Raises :exc:`TypeError` instead of :exc:`AttributeError` if *cm* is not an " "asynchronous context manager." msgstr "" -#: ../../library/contextlib.rst:626 +#: ../../library/contextlib.rst:634 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 "" -#: ../../library/contextlib.rst:631 -msgid "Similar to :meth:`callback` but expects a coroutine function." +#: ../../library/contextlib.rst:639 +msgid "Similar to :meth:`ExitStack.callback` but expects a coroutine function." msgstr "" -#: ../../library/contextlib.rst:635 -msgid "Similar to :meth:`close` but properly handles awaitables." +#: ../../library/contextlib.rst:643 +msgid "Similar to :meth:`ExitStack.close` but properly handles awaitables." msgstr "" -#: ../../library/contextlib.rst:637 +#: ../../library/contextlib.rst:645 msgid "Continuing the example for :func:`asynccontextmanager`::" msgstr "" -#: ../../library/contextlib.rst:649 +#: ../../library/contextlib.rst:657 msgid "Examples and Recipes" msgstr "Exemplos e receitas" -#: ../../library/contextlib.rst:651 +#: ../../library/contextlib.rst:659 msgid "" "This section describes some examples and recipes for making effective use of " "the tools provided by :mod:`contextlib`." msgstr "" -#: ../../library/contextlib.rst:656 +#: ../../library/contextlib.rst:664 msgid "Supporting a variable number of context managers" msgstr "" -#: ../../library/contextlib.rst:658 +#: ../../library/contextlib.rst:666 msgid "" "The primary use case for :class:`ExitStack` is the one given in the class " "documentation: supporting a variable number of context managers and other " @@ -588,60 +704,60 @@ msgid "" "of the context managers being optional::" msgstr "" -#: ../../library/contextlib.rst:673 +#: ../../library/contextlib.rst:681 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 " "context management protocol." msgstr "" -#: ../../library/contextlib.rst:679 +#: ../../library/contextlib.rst:687 msgid "Catching exceptions from ``__enter__`` methods" msgstr "" -#: ../../library/contextlib.rst:681 +#: ../../library/contextlib.rst:689 msgid "" "It is occasionally desirable to catch exceptions from an ``__enter__`` " -"method implementation, *without* inadvertently catching exceptions from the :" -"keyword:`with` statement body or the context manager's ``__exit__`` method. " -"By using :class:`ExitStack` the steps in the context management protocol can " -"be separated slightly in order to allow this::" +"method implementation, *without* inadvertently catching exceptions from " +"the :keyword:`with` statement body or the context manager's ``__exit__`` " +"method. By using :class:`ExitStack` the steps in the context management " +"protocol can be separated slightly in order to allow this::" msgstr "" -#: ../../library/contextlib.rst:696 +#: ../../library/contextlib.rst:704 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 :" -"keyword:`try`/:keyword:`except`/:keyword:`finally` statements, but not all " -"APIs are well designed in that regard. When a context manager is the only " -"resource management API provided, then :class:`ExitStack` can make it easier " -"to handle various situations that can't be handled directly in a :keyword:" -"`with` statement." +"should be providing a direct resource management interface for use " +"with :keyword:`try`/:keyword:`except`/:keyword:`finally` statements, but not " +"all APIs are well designed in that regard. When a context manager is the " +"only resource management API provided, then :class:`ExitStack` can make it " +"easier to handle various situations that can't be handled directly in " +"a :keyword:`with` statement." msgstr "" -#: ../../library/contextlib.rst:706 +#: ../../library/contextlib.rst:714 msgid "Cleaning up in an ``__enter__`` implementation" msgstr "" -#: ../../library/contextlib.rst:708 +#: ../../library/contextlib.rst:716 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." +"useful in cleaning up an already allocated resource if later steps in " +"the :meth:`~object.__enter__` implementation fail." msgstr "" -#: ../../library/contextlib.rst:712 +#: ../../library/contextlib.rst:720 msgid "" "Here's an example of doing this for a context manager that accepts resource " "acquisition and release functions, along with an optional validation " "function, and maps them to the context management protocol::" msgstr "" -#: ../../library/contextlib.rst:752 +#: ../../library/contextlib.rst:760 msgid "Replacing any use of ``try-finally`` and flag variables" msgstr "" -#: ../../library/contextlib.rst:754 +#: ../../library/contextlib.rst:762 msgid "" "A pattern you will sometimes see is a ``try-finally`` statement with a flag " "variable to indicate whether or not the body of the ``finally`` clause " @@ -649,57 +765,61 @@ msgid "" "by using an ``except`` clause instead), it looks something like this::" msgstr "" -#: ../../library/contextlib.rst:768 +#: ../../library/contextlib.rst:776 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 " "up being separated by arbitrarily long sections of code." msgstr "" -#: ../../library/contextlib.rst:772 +#: ../../library/contextlib.rst:780 msgid "" ":class:`ExitStack` makes it possible to instead register a callback for " "execution at the end of a ``with`` statement, and then later decide to skip " "executing that callback::" msgstr "" -#: ../../library/contextlib.rst:784 +#: ../../library/contextlib.rst:792 msgid "" "This allows the intended cleanup up behaviour to be made explicit up front, " "rather than requiring a separate flag variable." msgstr "" -#: ../../library/contextlib.rst:787 +#: ../../library/contextlib.rst:795 msgid "" "If a particular application uses this pattern a lot, it can be simplified " "even further by means of a small helper class::" msgstr "" -#: ../../library/contextlib.rst:805 +#: ../../library/contextlib.rst:813 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::" +"function, then it is still possible to use the decorator form " +"of :meth:`ExitStack.callback` to declare the resource cleanup in advance::" msgstr "" -#: ../../library/contextlib.rst:820 +#: ../../library/contextlib.rst:828 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 " "must be accessed as closure variables." msgstr "" +"Devido à maneira como o protocolo decorador funciona, uma função de retorno " +"de chamada declarada dessa forma não pode receber nenhum parâmetro. Em vez " +"disso, quaisquer recursos a serem liberados devem ser acessados como " +"variáveis de clausura." -#: ../../library/contextlib.rst:826 +#: ../../library/contextlib.rst:834 msgid "Using a context manager as a function decorator" msgstr "" -#: ../../library/contextlib.rst:828 +#: ../../library/contextlib.rst:836 msgid "" ":class:`ContextDecorator` makes it possible to use a context manager in both " "an ordinary ``with`` statement and also as a function decorator." msgstr "" -#: ../../library/contextlib.rst:831 +#: ../../library/contextlib.rst:839 msgid "" "For example, it is sometimes useful to wrap functions or groups of " "statements with a logger that can track the time of entry and time of exit. " @@ -708,39 +828,39 @@ msgid "" "in a single definition::" msgstr "" -#: ../../library/contextlib.rst:852 +#: ../../library/contextlib.rst:860 msgid "Instances of this class can be used as both a context manager::" msgstr "" -#: ../../library/contextlib.rst:858 +#: ../../library/contextlib.rst:866 msgid "And also as a function decorator::" msgstr "" -#: ../../library/contextlib.rst:865 +#: ../../library/contextlib.rst:873 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." +"function decorators: there's no way to access the return value " +"of :meth:`~object.__enter__`. If that value is needed, then it is still " +"necessary to use an explicit ``with`` statement." msgstr "" -#: ../../library/contextlib.rst:873 +#: ../../library/contextlib.rst:881 msgid ":pep:`343` - The \"with\" statement" msgstr ":pep:`343` - A instrução \"with\"" -#: ../../library/contextlib.rst:873 +#: ../../library/contextlib.rst:881 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." msgstr "" -"A especificação, o histórico e os exemplos para a instrução Python :keyword:" -"`with`." +"A especificação, o histórico e os exemplos para a instrução " +"Python :keyword:`with`." -#: ../../library/contextlib.rst:879 +#: ../../library/contextlib.rst:887 msgid "Single use, reusable and reentrant context managers" msgstr "" -#: ../../library/contextlib.rst:881 +#: ../../library/contextlib.rst:889 msgid "" "Most context managers are written in a way that means they can only be used " "effectively in a :keyword:`with` statement once. These single use context " @@ -748,32 +868,32 @@ msgid "" "them a second time will trigger an exception or otherwise not work correctly." msgstr "" -#: ../../library/contextlib.rst:887 +#: ../../library/contextlib.rst:895 msgid "" "This common limitation means that it is generally advisable to create " "context managers directly in the header of the :keyword:`with` statement " "where they are used (as shown in all of the usage examples above)." msgstr "" -#: ../../library/contextlib.rst:891 +#: ../../library/contextlib.rst:899 msgid "" "Files are an example of effectively single use context managers, since the " "first :keyword:`with` statement will close the file, preventing any further " "IO operations using that file object." msgstr "" -#: ../../library/contextlib.rst:895 +#: ../../library/contextlib.rst:903 msgid "" "Context managers created using :func:`contextmanager` are also single use " "context managers, and will complain about the underlying generator failing " "to yield if an attempt is made to use them a second time::" msgstr "" -#: ../../library/contextlib.rst:923 +#: ../../library/contextlib.rst:931 msgid "Reentrant context managers" msgstr "" -#: ../../library/contextlib.rst:925 +#: ../../library/contextlib.rst:933 msgid "" "More sophisticated context managers may be \"reentrant\". These context " "managers can not only be used in multiple :keyword:`with` statements, but " @@ -781,33 +901,33 @@ msgid "" "the same context manager." msgstr "" -#: ../../library/contextlib.rst:930 +#: ../../library/contextlib.rst:938 msgid "" ":class:`threading.RLock` is an example of a reentrant context manager, as " "are :func:`suppress`, :func:`redirect_stdout`, and :func:`chdir`. Here's a " "very simple example of reentrant use::" msgstr "" -#: ../../library/contextlib.rst:949 +#: ../../library/contextlib.rst:957 msgid "" "Real world examples of reentrancy are more likely to involve multiple " "functions calling each other and hence be far more complicated than this " "example." msgstr "" -#: ../../library/contextlib.rst:953 +#: ../../library/contextlib.rst:961 msgid "" "Note also that being reentrant is *not* the same thing as being thread " "safe. :func:`redirect_stdout`, for example, is definitely not thread safe, " -"as it makes a global modification to the system state by binding :data:`sys." -"stdout` to a different stream." +"as it makes a global modification to the system state by " +"binding :data:`sys.stdout` to a different stream." msgstr "" -#: ../../library/contextlib.rst:962 +#: ../../library/contextlib.rst:970 msgid "Reusable context managers" msgstr "Gerenciadores de contexto reutilizáveis" -#: ../../library/contextlib.rst:964 +#: ../../library/contextlib.rst:972 msgid "" "Distinct from both single use and reentrant context managers are " "\"reusable\" context managers (or, to be completely explicit, \"reusable, " @@ -817,21 +937,22 @@ msgid "" "manager instance has already been used in a containing with statement." msgstr "" -#: ../../library/contextlib.rst:971 +#: ../../library/contextlib.rst:979 msgid "" ":class:`threading.Lock` is an example of a reusable, but not reentrant, " -"context manager (for a reentrant lock, it is necessary to use :class:" -"`threading.RLock` instead)." +"context manager (for a reentrant lock, it is necessary to " +"use :class:`threading.RLock` instead)." msgstr "" -#: ../../library/contextlib.rst:975 +#: ../../library/contextlib.rst:983 msgid "" -"Another example of a reusable, but not reentrant, context manager is :class:" -"`ExitStack`, as it invokes *all* currently registered callbacks when leaving " -"any with statement, regardless of where those callbacks were added::" +"Another example of a reusable, but not reentrant, context manager " +"is :class:`ExitStack`, as it invokes *all* currently registered callbacks " +"when leaving any with statement, regardless of where those callbacks were " +"added::" msgstr "" -#: ../../library/contextlib.rst:1006 +#: ../../library/contextlib.rst:1014 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 " @@ -839,7 +960,7 @@ msgid "" "which is unlikely to be desirable behaviour." msgstr "" -#: ../../library/contextlib.rst:1011 +#: ../../library/contextlib.rst:1019 msgid "" "Using separate :class:`ExitStack` instances instead of reusing a single " "instance avoids that problem::" diff --git a/library/contextvars.po b/library/contextvars.po index b7e109aaf..717f34773 100644 --- a/library/contextvars.po +++ b/library/contextvars.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,15 +37,16 @@ msgid "" msgstr "" "Este módulo fornece APIs para gerenciar, armazenar e acessar o estado local " "do contexto. A classe :class:`~contextvars.ContextVar` é usada para declarar " -"e trabalhar com *Variáveis de Contexto*. A função :func:`~contextvars." -"copy_context` e a classe :class:`~contextvars.Context` devem ser usadas para " -"gerenciar o contexto atual em frameworks assíncronos." +"e trabalhar com *Variáveis de Contexto*. A " +"função :func:`~contextvars.copy_context` e a " +"classe :class:`~contextvars.Context` devem ser usadas para gerenciar o " +"contexto atual em frameworks assíncronos." #: ../../library/contextvars.rst:17 msgid "" -"Context managers that have state should use Context Variables instead of :" -"func:`threading.local()` to prevent their state from bleeding to other code " -"unexpectedly, when used in concurrent code." +"Context managers that have state should use Context Variables instead " +"of :func:`threading.local()` to prevent their state from bleeding to other " +"code unexpectedly, when used in concurrent code." msgstr "" "Os gerenciadores de contexto que possuem estado devem usar Variáveis de " "Contexto ao invés de :func:`threading.local()` para evitar que seu estado " @@ -75,13 +74,13 @@ msgstr "" #: ../../library/contextvars.rst:38 msgid "" -"The optional keyword-only *default* parameter is returned by :meth:" -"`ContextVar.get` when no value for the variable is found in the current " -"context." +"The optional keyword-only *default* parameter is returned " +"by :meth:`ContextVar.get` when no value for the variable is found in the " +"current context." msgstr "" -"O parâmetro somente-nomeado opcional *default* é retornado por :meth:" -"`ContextVar.get` quando nenhum valor para a variável é encontrado no " -"contexto atual." +"O parâmetro somente-nomeado opcional *default* é retornado " +"por :meth:`ContextVar.get` quando nenhum valor para a variável é encontrado " +"no contexto atual." #: ../../library/contextvars.rst:42 msgid "" @@ -145,16 +144,16 @@ msgid "" "variable to its previous value via the :meth:`ContextVar.reset` method." msgstr "" "Retorna um objeto :class:`~contextvars.Token` que pode ser usado para " -"restaurar a variável ao seu valor anterior através do método :meth:" -"`ContextVar.reset`." +"restaurar a variável ao seu valor anterior através do " +"método :meth:`ContextVar.reset`." #: ../../library/contextvars.rst:82 msgid "" -"Reset the context variable to the value it had before the :meth:`ContextVar." -"set` that created the *token* was used." +"Reset the context variable to the value it had before " +"the :meth:`ContextVar.set` that created the *token* was used." msgstr "" -"Redefine a variável de contexto para o valor que tinha antes de :meth:" -"`ContextVar.set`. que criou o *token*, ser usado." +"Redefine a variável de contexto para o valor que tinha antes " +"de :meth:`ContextVar.set`. que criou o *token*, ser usado." #: ../../library/contextvars.rst:85 msgid "For example::" @@ -180,11 +179,11 @@ msgstr "" #: ../../library/contextvars.rst:111 msgid "" -"A read-only property. Set to the value the variable had before the :meth:" -"`ContextVar.set` method call that created the token. It points to :attr:" -"`Token.MISSING` if the variable was not set before the call." +"A read-only property. Set to the value the variable had before " +"the :meth:`ContextVar.set` method call that created the token. It points " +"to :attr:`Token.MISSING` if the variable was not set before the call." msgstr "" -"Uma propriedade somente leitura. Defina como o valor que a variável tinha " +"Uma propriedade somente leitura. Definida com o valor que a variável tinha " "antes da chamada do método :meth:`ContextVar.set` que criou o token. Aponta " "para :attr:`Token.MISSING` se a variável não foi definida antes da chamada." @@ -206,16 +205,17 @@ msgid "" "variables and their values that are set in it::" msgstr "" "O trecho a seguir obtém uma cópia do contexto atual e imprime todas as " -"variáveis e seus valores que são definidos nele::" +"variáveis e seus valores que estão definidos nele::" #: ../../library/contextvars.rst:134 msgid "" -"The function has an O(1) complexity, i.e. works equally fast for contexts " -"with a few context variables and for contexts that have a lot of them." +"The function has an *O*\\ (1) complexity, i.e. works equally fast for " +"contexts with a few context variables and for contexts that have a lot of " +"them." msgstr "" -"A função tem uma complexidade O(1), ou seja, funciona igualmente rápido para " -"contextos com algumas variáveis de contexto e para contextos que têm muitas " -"delas." +"A função tem uma complexidade *O*\\ (1), ou seja, funciona igualmente rápida " +"para contextos com algumas variáveis de contexto e para contextos que têm " +"muitas delas." #: ../../library/contextvars.rst:141 msgid "A mapping of :class:`ContextVars ` to their values." diff --git a/library/copy.po b/library/copy.po index 3b66cad3b..81920ee99 100644 --- a/library/copy.po +++ b/library/copy.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Rafael Fontenelle , 2022 -# Marco Rougeth , 2023 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -43,11 +39,11 @@ msgid "" "changing the other. This module provides generic shallow and deep copy " "operations (explained below)." msgstr "" -"As instruções de atribuição no Python não copiam objetos, elas criam " -"ligações entre um destino e um objeto. Para coleções que são mutáveis ​​ou " -"contêm itens mutáveis, às vezes é necessária uma cópia para que seja " -"possível alterar uma cópia sem alterar a outra. Este módulo fornece " -"operações genéricas de cópia profunda e rasa (explicadas abaixo)." +"As instruções de atribuição no Python não copiam objetos; elas criam " +"ligações entre um destino e um objeto. Para coleções mutáveis ou que contêm " +"itens mutáveis, às vezes é necessária uma cópia para que seja possível " +"alterar uma sem alterar a outra. Este módulo fornece operações genéricas de " +"cópia profunda e rasa (explicadas abaixo)." #: ../../library/copy.rst:18 msgid "Interface summary:" @@ -59,7 +55,7 @@ msgstr "Retorna uma cópia rasa de *x*." #: ../../library/copy.rst:27 msgid "Return a deep copy of *x*." -msgstr "Retorna uma cópia profunda de *x*." +msgstr "Retorna uma cópia profunda de *x*." #: ../../library/copy.rst:32 msgid "Raised for module specific errors." @@ -80,8 +76,8 @@ msgid "" "A *shallow copy* constructs a new compound object and then (to the extent " "possible) inserts *references* into it to the objects found in the original." msgstr "" -"Uma *cópia rasa* constrói um novo objeto composto e então (na medida do " -"possível) insere nele *referências* aos objetos encontrados no original." +"Uma *cópia rasa* constrói um novo objeto composto e, na medida do possível, " +"insere nele *referências* aos objetos encontrados no original." #: ../../library/copy.rst:42 msgid "" @@ -112,7 +108,7 @@ msgid "" "Because deep copy copies everything it may copy too much, such as data which " "is intended to be shared between copies." msgstr "" -"Como a cópia profunda copia tudo, ela pode copiar muito, como dados que " +"Como a cópia profunda copia tudo, ela pode copiar muito, incluindo dados que " "devem ser compartilhados entre as cópias." #: ../../library/copy.rst:54 @@ -140,14 +136,14 @@ msgid "" "This module does not copy types like module, method, stack trace, stack " "frame, file, socket, window, or any similar types. It does \"copy\" " "functions and classes (shallow and deeply), by returning the original object " -"unchanged; this is compatible with the way these are treated by the :mod:" -"`pickle` module." +"unchanged; this is compatible with the way these are treated by " +"the :mod:`pickle` module." msgstr "" "Este módulo não copia tipos como módulo, método, stack trace (situação da " "pilha de execução), quadro de empilhamento, arquivo, soquete, janela ou " "outros tipos semelhantes. Ele \"copia\" funções e classes (rasas e " "profundamente), devolvendo o objeto original inalterado; isso é compatível " -"com a maneira que estes itens são tratados pelo módulo :mod:`pickle`." +"com a maneira como estes itens são tratados pelo módulo :mod:`pickle`." #: ../../library/copy.rst:67 msgid "" @@ -167,9 +163,10 @@ msgid "" "registered pickle functions from the :mod:`copyreg` module." msgstr "" "As classes podem usar as mesmas interfaces para controlar a cópia que usam " -"para controlar o *pickling*. Veja a descrição do módulo :mod:`pickle` para " -"informações sobre esses métodos. Na verdade, o módulo :mod:`copy` usa as " -"funções pickle registradas do módulo :mod:`copyreg`." +"para controlar a serialização com pickle. Veja a descrição do " +"módulo :mod:`pickle` para informações sobre esses métodos. Na verdade, o " +"módulo :mod:`copy` usa as funções pickle registradas do " +"módulo :mod:`copyreg`." #: ../../library/copy.rst:82 msgid "" @@ -178,20 +175,20 @@ msgid "" "called to implement the shallow copy operation; no additional arguments are " "passed. The latter is called to implement the deep copy operation; it is " "passed one argument, the ``memo`` dictionary. If the :meth:`__deepcopy__` " -"implementation needs to make a deep copy of a component, it should call the :" -"func:`deepcopy` function with the component as first argument and the memo " -"dictionary as second argument. The memo dictionary should be treated as an " -"opaque object." +"implementation needs to make a deep copy of a component, it should call " +"the :func:`deepcopy` function with the component as first argument and the " +"memo dictionary as second argument. The memo dictionary should be treated as " +"an opaque object." msgstr "" "Para que uma classe defina sua própria implementação de cópia, ela pode " "definir métodos especiais :meth:`__copy__` e :meth:`__deepcopy__`. O " "primeiro é chamado para implementar a operação de cópia rasa; nenhum " "argumento adicional é passado. O último é chamado para implementar a " -"operação de cópia profunda; é passado um argumento, o dicionário ``memo``. " -"Se a implementação de :meth:`__deepcopy__` precisa fazer uma cópia profunda " -"de um componente, ela deve chamar a função :func:`deepcopy` com o componente " -"como primeiro argumento e o dicionário de memorando como segundo argumento. " -"O dicionário memo deve ser tratado como um objeto opaco." +"operação de cópia profunda; ele recebe um argumento, o dicionário ``memo``. " +"Se a implementação :meth:`__deepcopy__` precisar fazer uma cópia profunda de " +"um componente, ela deve chamar a função :func:`deepcopy` com o componente " +"como primeiro argumento e o dicionário memo como segundo argumento. O " +"dicionário memo deve ser tratado como um objeto opaco." #: ../../library/copy.rst:95 msgid "Module :mod:`pickle`" @@ -202,7 +199,7 @@ msgid "" "Discussion of the special methods used to support object state retrieval and " "restoration." msgstr "" -"Discussão dos métodos especiais usados ​​para dar suporte à recuperação e " +"Discussão dos métodos especiais usados para dar suporte à recuperação e à " "restauração do estado do objeto." #: ../../library/copy.rst:71 @@ -215,8 +212,8 @@ msgstr "pickle" #: ../../library/copy.rst:78 msgid "__copy__() (copy protocol)" -msgstr "" +msgstr "__copy__() (protocolo de cópia)" #: ../../library/copy.rst:78 msgid "__deepcopy__() (copy protocol)" -msgstr "" +msgstr "__deepcopy__() (protocolo de cópia)" diff --git a/library/copyreg.po b/library/copyreg.po index 9a643d911..4cb5f3de3 100644 --- a/library/copyreg.po +++ b/library/copyreg.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# And Past , 2021 -# Rafael Fontenelle , 2023 -# Marco Rougeth , 2023 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -44,11 +40,11 @@ msgid "" "Such constructors may be factory functions or class instances." msgstr "" "O módulo :mod:`copyreg` oferece uma maneira de definir as funções usadas " -"durante a remoção de objetos específicos. Os módulos :mod:`pickle` e :mod:" -"`copy` usam essas funções ao selecionar/copiar esses objetos. O módulo " -"fornece informações de configuração sobre construtores de objetos que não " -"são classes. Esses construtores podem ser funções de fábrica ou instâncias " -"de classes." +"durante a remoção de objetos específicos. Os módulos :mod:`pickle` " +"e :mod:`copy` usam essas funções ao selecionar/copiar esses objetos. O " +"módulo fornece informações de configuração sobre construtores de objetos que " +"não são classes. Esses construtores podem ser funções de fábrica ou " +"instâncias de classes." #: ../../library/copyreg.rst:24 msgid "" @@ -62,9 +58,15 @@ msgstr "" msgid "" "Declares that *function* should be used as a \"reduction\" function for " "objects of type *type*. *function* must return either a string or a tuple " -"containing between two and six elements. See the :attr:`~pickle.Pickler." -"dispatch_table` for more details on the interface of *function*." +"containing between two and six elements. See " +"the :attr:`~pickle.Pickler.dispatch_table` for more details on the interface " +"of *function*." msgstr "" +"Declara que a *function* deve ser usada como uma função de \"redução\" para " +"objetos do tipo *type*. *function* deve retornar uma string ou uma tupla " +"contendo entre dois e seis elementos. " +"Veja :attr:`~pickle.Pickler.dispatch_table` para mais detalhes sobre a " +"interface da *function*." #: ../../library/copyreg.rst:35 msgid "" @@ -106,4 +108,4 @@ msgstr "pickle" #: ../../library/copyreg.rst:9 msgid "copy" -msgstr "" +msgstr "copy" diff --git a/library/crypt.po b/library/crypt.po index eb3db238a..868517a2a 100644 --- a/library/crypt.po +++ b/library/crypt.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,14 +31,15 @@ msgstr "" msgid "**Source code:** :source:`Lib/crypt.py`" msgstr "**Código-fonte:** :source:`Lib/crypt.py`" -#: ../../library/crypt.rst:23 +#: ../../library/crypt.rst:24 msgid "" "The :mod:`crypt` module is deprecated (see :pep:`PEP 594 <594#crypt>` for " "details and alternatives). The :mod:`hashlib` module is a potential " -"replacement for certain use cases." +"replacement for certain use cases. The `passlib `_ package can replace all use cases of this module." msgstr "" -#: ../../library/crypt.rst:26 +#: ../../library/crypt.rst:27 msgid "" "This module implements an interface to the :manpage:`crypt(3)` routine, " "which is a one-way hash function based upon a modified DES algorithm; see " @@ -49,7 +48,7 @@ msgid "" "attempting to crack Unix passwords with a dictionary." msgstr "" -#: ../../library/crypt.rst:34 +#: ../../library/crypt.rst:35 msgid "" "Notice that the behavior of this module depends on the actual " "implementation of the :manpage:`crypt(3)` routine in the running system. " @@ -57,9 +56,9 @@ msgid "" "be available on this module." msgstr "" -#: ../../library/crypt.rst:39 +#: ../../library/crypt.rst:40 msgid ":ref:`Availability `: Unix, not VxWorks." -msgstr ":ref:`Disponibilidade `: Unix, not VxWorks." +msgstr ":ref:`Disponibilidade `: Unix, não VxWorks." #: ../../includes/wasm-notavail.rst:3 msgid ":ref:`Availability `: not Emscripten, not WASI." @@ -75,65 +74,65 @@ msgstr "" "``wasm32-emscripten`` e ``wasm32-wasi``. Veja :ref:`wasm-availability` para " "mais informações." -#: ../../library/crypt.rst:44 +#: ../../library/crypt.rst:45 msgid "Hashing Methods" msgstr "" -#: ../../library/crypt.rst:48 +#: ../../library/crypt.rst:49 msgid "" "The :mod:`crypt` module defines the list of hashing methods (not all methods " "are available on all platforms):" msgstr "" -#: ../../library/crypt.rst:53 +#: ../../library/crypt.rst:54 msgid "" "A Modular Crypt Format method with 16 character salt and 86 character hash " "based on the SHA-512 hash function. This is the strongest method." msgstr "" -#: ../../library/crypt.rst:58 +#: ../../library/crypt.rst:59 msgid "" "Another Modular Crypt Format method with 16 character salt and 43 character " "hash based on the SHA-256 hash function." msgstr "" -#: ../../library/crypt.rst:63 +#: ../../library/crypt.rst:64 msgid "" "Another Modular Crypt Format method with 22 character salt and 31 character " "hash based on the Blowfish cipher." msgstr "" -#: ../../library/crypt.rst:70 +#: ../../library/crypt.rst:71 msgid "" "Another Modular Crypt Format method with 8 character salt and 22 character " "hash based on the MD5 hash function." msgstr "" -#: ../../library/crypt.rst:75 +#: ../../library/crypt.rst:76 msgid "" "The traditional method with a 2 character salt and 13 characters of hash. " "This is the weakest method." msgstr "" -#: ../../library/crypt.rst:80 +#: ../../library/crypt.rst:81 msgid "Module Attributes" msgstr "Atributos do módulo" -#: ../../library/crypt.rst:86 +#: ../../library/crypt.rst:87 msgid "" "A list of available password hashing algorithms, as ``crypt.METHOD_*`` " "objects. This list is sorted from strongest to weakest." msgstr "" -#: ../../library/crypt.rst:92 +#: ../../library/crypt.rst:93 msgid "Module Functions" msgstr "" -#: ../../library/crypt.rst:94 +#: ../../library/crypt.rst:95 msgid "The :mod:`crypt` module defines the following functions:" msgstr "" -#: ../../library/crypt.rst:98 +#: ../../library/crypt.rst:99 msgid "" "*word* will usually be a user's password as typed at a prompt or in a " "graphical interface. The optional *salt* is either a string as returned " @@ -143,14 +142,14 @@ msgid "" "strongest method available in :attr:`methods` will be used." msgstr "" -#: ../../library/crypt.rst:105 +#: ../../library/crypt.rst:106 msgid "" "Checking a password is usually done by passing the plain-text password as " "*word* and the full results of a previous :func:`crypt` call, which should " "be the same as the results of this call." msgstr "" -#: ../../library/crypt.rst:109 +#: ../../library/crypt.rst:110 msgid "" "*salt* (either a random 2 or 16 character string, possibly prefixed with " "``$digit$`` to indicate the method) which will be used to perturb the " @@ -159,68 +158,68 @@ msgid "" "``$digit$``." msgstr "" -#: ../../library/crypt.rst:115 +#: ../../library/crypt.rst:116 msgid "" "Returns the hashed password as a string, which will be composed of " "characters from the same alphabet as the salt." msgstr "" -#: ../../library/crypt.rst:120 +#: ../../library/crypt.rst:121 msgid "" "Since a few :manpage:`crypt(3)` extensions allow different values, with " "different sizes in the *salt*, it is recommended to use the full crypted " "password as salt when checking for a password." msgstr "" -#: ../../library/crypt.rst:124 +#: ../../library/crypt.rst:125 msgid "Accept ``crypt.METHOD_*`` values in addition to strings for *salt*." msgstr "" -#: ../../library/crypt.rst:130 +#: ../../library/crypt.rst:131 msgid "" "Return a randomly generated salt of the specified method. If no *method* is " "given, the strongest method available in :attr:`methods` is used." msgstr "" -#: ../../library/crypt.rst:134 +#: ../../library/crypt.rst:135 msgid "" -"The return value is a string suitable for passing as the *salt* argument to :" -"func:`crypt`." +"The return value is a string suitable for passing as the *salt* argument " +"to :func:`crypt`." msgstr "" -#: ../../library/crypt.rst:137 +#: ../../library/crypt.rst:138 msgid "" "*rounds* specifies the number of rounds for ``METHOD_SHA256``, " "``METHOD_SHA512`` and ``METHOD_BLOWFISH``. For ``METHOD_SHA256`` and " "``METHOD_SHA512`` it must be an integer between ``1000`` and " "``999_999_999``, the default is ``5000``. For ``METHOD_BLOWFISH`` it must " -"be a power of two between ``16`` (2\\ :sup:`4`) and ``2_147_483_648`` (2\\ :" -"sup:`31`), the default is ``4096`` (2\\ :sup:`12`)." +"be a power of two between ``16`` (2\\ :sup:`4`) and ``2_147_483_648`` " +"(2\\ :sup:`31`), the default is ``4096`` (2\\ :sup:`12`)." msgstr "" -#: ../../library/crypt.rst:147 +#: ../../library/crypt.rst:148 msgid "Added the *rounds* parameter." msgstr "" -#: ../../library/crypt.rst:152 +#: ../../library/crypt.rst:153 msgid "Examples" msgstr "Exemplos" -#: ../../library/crypt.rst:154 +#: ../../library/crypt.rst:155 msgid "" "A simple example illustrating typical use (a constant-time comparison " -"operation is needed to limit exposure to timing attacks. :func:`hmac." -"compare_digest` is suitable for this purpose)::" +"operation is needed to limit exposure to timing " +"attacks. :func:`hmac.compare_digest` is suitable for this purpose)::" msgstr "" -#: ../../library/crypt.rst:174 +#: ../../library/crypt.rst:175 msgid "" "To generate a hash of a password using the strongest available method and " "check it against the original::" msgstr "" -#: ../../library/crypt.rst:15 ../../library/crypt.rst:32 -#: ../../library/crypt.rst:118 +#: ../../library/crypt.rst:15 ../../library/crypt.rst:33 +#: ../../library/crypt.rst:119 msgid "crypt(3)" msgstr "" @@ -230,4 +229,4 @@ msgstr "" #: ../../library/crypt.rst:15 msgid "DES" -msgstr "" +msgstr "DES" diff --git a/library/crypto.po b/library/crypto.po index 8886edf19..7846eba60 100644 --- a/library/crypto.po +++ b/library/crypto.po @@ -1,26 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,4 +41,4 @@ msgstr "" #: ../../library/crypto.rst:7 msgid "cryptography" -msgstr "" +msgstr "criptografia" diff --git a/library/csv.po b/library/csv.po index a39350f9b..b05e9aaf7 100644 --- a/library/csv.po +++ b/library/csv.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -82,12 +80,12 @@ msgid "" msgstr "" "Os objetos de :class:`reader` e :class:`writer` do módulo :mod:`csv` leem e " "escrevem sequências. Os programadores também podem ler e gravar dados no " -"formato de dicionário usando as classes :class:`DictReader` e :class:" -"`DictWriter`." +"formato de dicionário usando as classes :class:`DictReader` " +"e :class:`DictWriter`." #: ../../library/csv.rst:41 msgid ":pep:`305` - CSV File API" -msgstr ":pep:`305` - API de arquivo CSV" +msgstr ":pep:`305` - CSV File API" #: ../../library/csv.rst:42 msgid "The Python Enhancement Proposal which proposed this addition to Python." @@ -103,24 +101,22 @@ msgstr "O módulo :mod:`csv` define as seguintes funções:" #: ../../library/csv.rst:58 msgid "" -"Return a reader object which will iterate over lines in the given *csvfile*. " -"*csvfile* can be any object which supports the :term:`iterator` protocol and " -"returns a string each time its :meth:`!__next__` method is called --- :term:" -"`file objects ` and list objects are both suitable. If " -"*csvfile* is a file object, it should be opened with ``newline=''``. [1]_ " -"An optional *dialect* parameter can be given which is used to define a set " -"of parameters specific to a particular CSV dialect. It may be an instance " -"of a subclass of the :class:`Dialect` class or one of the strings returned " -"by the :func:`list_dialects` function. The other optional *fmtparams* " -"keyword arguments can be given to override individual formatting parameters " -"in the current dialect. For full details about the dialect and formatting " -"parameters, see section :ref:`csv-fmt-params`." -msgstr "" -"Retorna um objeto leitor que irá iterar sobre as linhas no *csvfile* " -"fornecido. *csvfile* pode ser qualquer objeto que possua suporte ao " -"protocolo :term:`iterador ` e retorne uma string sempre que o " -"método :meth:`!__next__` for chamado --- :term:`arquivos objeto ` e objetos lista são ambos adequado. Se *csvfile* for um objeto de " +"Return a :ref:`reader object ` that will process lines from " +"the given *csvfile*. A csvfile must be an iterable of strings, each in the " +"reader's defined csv format. A csvfile is most commonly a file-like object " +"or list. If *csvfile* is a file object, it should be opened with " +"``newline=''``. [1]_ An optional *dialect* parameter can be given which is " +"used to define a set of parameters specific to a particular CSV dialect. It " +"may be an instance of a subclass of the :class:`Dialect` class or one of the " +"strings returned by the :func:`list_dialects` function. The other optional " +"*fmtparams* keyword arguments can be given to override individual formatting " +"parameters in the current dialect. For full details about the dialect and " +"formatting parameters, see section :ref:`csv-fmt-params`." +msgstr "" +"Retorna um :ref:`objeto leitor ` que irá iterar sobre as " +"linhas no *csvfile* fornecido. Um csvfile deve ser um iterável de strings, " +"cada uma no formato csv definido pelo leitor. Um csvfile é muito comumente " +"um objeto similar a arquivo ou uma lista. Se *csvfile* for um objeto " "arquivo, ele deverá ser aberto com ``newline=''``. [1]_ Pode ser fornecido " "um parâmetro opcional *dialect*, usado para definir um conjunto de " "parâmetros específicos para um dialeto CSV específico. Pode ser uma " @@ -130,7 +126,7 @@ msgstr "" "formatação individuais no dialeto atual. Para detalhes completos sobre os " "parâmetros de dialeto e formatação, consulte a seção :ref:`csv-fmt-params`." -#: ../../library/csv.rst:71 +#: ../../library/csv.rst:72 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`` " @@ -142,35 +138,35 @@ msgstr "" "opção de formato ``QUOTE_NONNUMERIC`` seja especificada (nesse caso, os " "campos não citados são transformados em pontos flutuantes)." -#: ../../library/csv.rst:75 ../../library/csv.rst:105 ../../library/csv.rst:176 -#: ../../library/csv.rst:212 +#: ../../library/csv.rst:76 ../../library/csv.rst:106 ../../library/csv.rst:177 +#: ../../library/csv.rst:213 msgid "A short usage example::" msgstr "Um pequeno exemplo de uso::" -#: ../../library/csv.rst:88 +#: ../../library/csv.rst:89 msgid "" "Return a writer object responsible for converting the user's data into " "delimited strings on the given file-like object. *csvfile* can be any " -"object with a :func:`write` method. If *csvfile* is a file object, it " -"should be opened with ``newline=''`` [1]_. An optional *dialect* parameter " -"can be given which is used to define a set of parameters specific to a " -"particular CSV dialect. It may be an instance of a subclass of the :class:" -"`Dialect` class or one of the strings returned by the :func:`list_dialects` " -"function. The other optional *fmtparams* keyword arguments can be given to " -"override individual formatting parameters in the current dialect. For full " -"details about dialects and formatting parameters, see the :ref:`csv-fmt-" -"params` section. To make it as easy as possible to interface with modules " -"which implement the DB API, the value :const:`None` is written as the empty " -"string. While this isn't a reversible transformation, it makes it easier to " -"dump SQL NULL data values to CSV files without preprocessing the data " -"returned from a ``cursor.fetch*`` call. All other non-string data are " -"stringified with :func:`str` before being written." +"object with a :meth:`~io.TextIOBase.write` method. If *csvfile* is a file " +"object, it should be opened with ``newline=''`` [1]_. An optional *dialect* " +"parameter can be given which is used to define a set of parameters specific " +"to a particular CSV dialect. It may be an instance of a subclass of " +"the :class:`Dialect` class or one of the strings returned by " +"the :func:`list_dialects` function. The other optional *fmtparams* keyword " +"arguments can be given to override individual formatting parameters in the " +"current dialect. For full details about dialects and formatting parameters, " +"see the :ref:`csv-fmt-params` section. To make it as easy as possible to " +"interface with modules which implement the DB API, the value :const:`None` " +"is written as the empty string. While this isn't a reversible " +"transformation, it makes it easier to dump SQL NULL data values to CSV files " +"without preprocessing the data returned from a ``cursor.fetch*`` call. All " +"other non-string data are stringified with :func:`str` before being written." msgstr "" "Retorna um objeto de escrita responsável por converter os dados de usuário " "em strings delimitadas no objeto arquivo ou similar. *csvfile* pode ser " -"qualquer objeto com um método :func:`write`. Se *csvfile* for um objeto " -"arquivo, ele deverá ser aberto com ``newline=''`` [1]_. Pode ser fornecido " -"um parâmetro opcional *dialect*, usado para definir um conjunto de " +"qualquer objeto com um método :meth:`~io.TextIOBase.write`. Se *csvfile* for " +"um objeto arquivo, ele deverá ser aberto com ``newline=''`` [1]_. Pode ser " +"fornecido um parâmetro opcional *dialect*, usado para definir um conjunto de " "parâmetros específicos para um dialeto CSV específico. Pode ser uma " "instância de uma subclasse da classe :class:`Dialect` ou uma das strings " "retornadas pela função :func:`list_dialects`. Os outros argumentos nomeados " @@ -184,7 +180,7 @@ msgstr "" "retornados de uma chamada ``cursor.fetch*``. Todos os outros dados que não " "são de strings são codificados com :func:`str` antes de serem escritos." -#: ../../library/csv.rst:117 +#: ../../library/csv.rst:118 msgid "" "Associate *dialect* with *name*. *name* must be a string. The dialect can " "be specified either by passing a sub-class of :class:`Dialect`, or by " @@ -198,29 +194,29 @@ msgstr "" "parâmetros do dialeto. Para detalhes completos sobre os parâmetros de " "dialeto e formatação, consulte a seção :ref:`csv-fmt-params`." -#: ../../library/csv.rst:126 +#: ../../library/csv.rst:127 msgid "" -"Delete the dialect associated with *name* from the dialect registry. An :" -"exc:`Error` is raised if *name* is not a registered dialect name." +"Delete the dialect associated with *name* from the dialect registry. " +"An :exc:`Error` is raised if *name* is not a registered dialect name." msgstr "" "Exclui o dialeto associado ao *name* do registro do dialeto. Um :exc:`Error` " "é levantado se *name* não for um nome de dialeto registrado." -#: ../../library/csv.rst:132 +#: ../../library/csv.rst:133 msgid "" "Return the dialect associated with *name*. An :exc:`Error` is raised if " "*name* is not a registered dialect name. This function returns an " "immutable :class:`Dialect`." msgstr "" "Retorna o dialeto associado a *name*. Um :exc:`Error` é levantado se *name* " -"não for um nome de dialeto registrado. Esta função retorna uma classe :class:" -"`Dialect` imutável." +"não for um nome de dialeto registrado. Esta função retorna uma " +"classe :class:`Dialect` imutável." -#: ../../library/csv.rst:138 +#: ../../library/csv.rst:139 msgid "Return the names of all registered dialects." msgstr "Retorna os nomes de todos os dialetos registrados" -#: ../../library/csv.rst:143 +#: ../../library/csv.rst:144 msgid "" "Returns the current maximum field size allowed by the parser. If *new_limit* " "is given, this becomes the new limit." @@ -228,11 +224,11 @@ msgstr "" "Retorna o tamanho máximo atual do campo permitido pelo analisador sintático. " "Se *new_limit* for fornecido, este se tornará o novo limite." -#: ../../library/csv.rst:147 +#: ../../library/csv.rst:148 msgid "The :mod:`csv` module defines the following classes:" msgstr "O módulo :mod:`csv` define as seguintes classes:" -#: ../../library/csv.rst:152 +#: ../../library/csv.rst:153 msgid "" "Create an object that operates like a regular reader but maps the " "information in each row to a :class:`dict` whose keys are given by the " @@ -242,7 +238,7 @@ msgstr "" "em cada linha para :class:`dict` cujas chaves são fornecidas pelo parâmetro " "opcional *fieldnames*." -#: ../../library/csv.rst:156 +#: ../../library/csv.rst:157 msgid "" "The *fieldnames* parameter is a :term:`sequence`. If *fieldnames* is " "omitted, the values in the first row of file *f* will be used as the " @@ -254,7 +250,7 @@ msgstr "" "nomes de campo. Independentemente de como os nomes de campo são " "determinados, o dicionário preserva sua ordem original." -#: ../../library/csv.rst:161 +#: ../../library/csv.rst:162 msgid "" "If a row has more fields than fieldnames, the remaining data is put in a " "list and stored with the fieldname specified by *restkey* (which defaults to " @@ -268,51 +264,52 @@ msgstr "" "tiver menos campos que nomes de campo, os valores ausentes serão preenchidos " "com o valor *restval* (o padrão é ``None``)." -#: ../../library/csv.rst:167 +#: ../../library/csv.rst:168 msgid "" -"All other optional or keyword arguments are passed to the underlying :class:" -"`reader` instance." +"All other optional or keyword arguments are passed to the " +"underlying :class:`reader` instance." msgstr "" "Todos os outros argumentos nomeados ou opcionais são passados para a " "instância subjacente de :class:`reader`." -#: ../../library/csv.rst:170 +#: ../../library/csv.rst:171 msgid "Returned rows are now of type :class:`OrderedDict`." msgstr "Linhas retornadas agora são do tipo :class:`OrderedDict`." -#: ../../library/csv.rst:173 +#: ../../library/csv.rst:174 msgid "Returned rows are now of type :class:`dict`." msgstr "As linhas retornadas agora são do tipo :class:`dict`." -#: ../../library/csv.rst:194 +#: ../../library/csv.rst:195 msgid "" "Create an object which operates like a regular writer but maps dictionaries " "onto output rows. The *fieldnames* parameter is a :mod:`sequence " "` of keys that identify the order in which values in the " -"dictionary passed to the :meth:`writerow` method are written to file *f*. " -"The optional *restval* parameter specifies the value to be written if the " -"dictionary is missing a key in *fieldnames*. If the dictionary passed to " -"the :meth:`writerow` method contains a key not found in *fieldnames*, the " -"optional *extrasaction* parameter indicates what action to take. If it is " -"set to ``'raise'``, the default value, a :exc:`ValueError` is raised. If it " -"is set to ``'ignore'``, extra values in the dictionary are ignored. Any " -"other optional or keyword arguments are passed to the underlying :class:" -"`writer` instance." +"dictionary passed to the :meth:`~csvwriter.writerow` method are written to " +"file *f*. The optional *restval* parameter specifies the value to be " +"written if the dictionary is missing a key in *fieldnames*. If the " +"dictionary passed to the :meth:`~csvwriter.writerow` method contains a key " +"not found in *fieldnames*, the optional *extrasaction* parameter indicates " +"what action to take. If it is set to ``'raise'``, the default value, " +"a :exc:`ValueError` is raised. If it is set to ``'ignore'``, extra values in " +"the dictionary are ignored. Any other optional or keyword arguments are " +"passed to the underlying :class:`writer` instance." msgstr "" "Cria um objeto que funcione como um de escrita comum, mas mapeia dicionários " "nas linhas de saída. O parâmetro *fieldnames* é uma :mod:`sequência " "` de chaves que identificam a ordem na qual os valores no " -"dicionário transmitidos para o método :meth:`writerow` são escritos no " -"arquivo *f*. O parâmetro opcional *restval* especifica o valor a ser escrito " -"se o dicionário estiver com falta de uma chave em *fieldnames*. Se o " -"dicionário transmitido para o método :meth:`writerow` contiver uma chave não " -"encontrada em *fieldnames*, o parâmetro opcional *extrasaction* indica qual " -"ação executar. Se estiver definido como ``'raise'``, o valor padrão, a :exc:" -"`ValueError` é levantada. Se estiver definido como ``'ignore'``, valores " -"extras no dicionário serão ignorados. Quaisquer outros argumentos nomeados " -"ou opcionais são passados para a instância subjacente de :class:`writer`." - -#: ../../library/csv.rst:209 +"dicionário transmitidos para o método :meth:`~csvwriter.writerow` são " +"escritos no arquivo *f*. O parâmetro opcional *restval* especifica o valor a " +"ser escrito se o dicionário estiver com falta de uma chave em *fieldnames*. " +"Se o dicionário transmitido para o método :meth:`~csvwriter.writerow` " +"contiver uma chave não encontrada em *fieldnames*, o parâmetro opcional " +"*extrasaction* indica qual ação executar. Se estiver definido como " +"``'raise'``, o valor padrão, a :exc:`ValueError` é levantada. Se estiver " +"definido como ``'ignore'``, valores extras no dicionário serão ignorados. " +"Quaisquer outros argumentos nomeados ou opcionais são passados para a " +"instância subjacente de :class:`writer`." + +#: ../../library/csv.rst:210 msgid "" "Note that unlike the :class:`DictReader` class, the *fieldnames* parameter " "of the :class:`DictWriter` class is not optional." @@ -320,31 +317,31 @@ msgstr "" "Observe que, diferentemente da classe :class:`DictReader`, o parâmetro " "*fieldnames* da classe :class:`DictWriter` não é opcional." -#: ../../library/csv.rst:228 +#: ../../library/csv.rst:229 msgid "" "The :class:`Dialect` class is a container class whose attributes contain " "information for how to handle doublequotes, whitespace, delimiters, etc. Due " "to the lack of a strict CSV specification, different applications produce " -"subtly different CSV data. :class:`Dialect` instances define how :class:" -"`reader` and :class:`writer` instances behave." +"subtly different CSV data. :class:`Dialect` instances define " +"how :class:`reader` and :class:`writer` instances behave." msgstr "" "A classe :class:`Dialect` é uma classe de contêiner cujos atributos contêm " "informações sobre como lidar com aspas duplas, espaços em branco, " "delimitadores, etc. Devido à falta de uma especificação CSV estrita, " "diferentes aplicativos produzem dados CSV sutilmente diferentes. As " -"instâncias de :class:`Dialect` definem como as instâncias :class:`reader` e :" -"class:`writer` se comportam." +"instâncias de :class:`Dialect` definem como as instâncias :class:`reader` " +"e :class:`writer` se comportam." -#: ../../library/csv.rst:234 +#: ../../library/csv.rst:235 msgid "" "All available :class:`Dialect` names are returned by :func:`list_dialects`, " "and they can be registered with specific :class:`reader` and :class:`writer` " "classes through their initializer (``__init__``) functions like this::" msgstr "" -"Todos os nomes de :class:`Dialect` disponíveis são retornados por :func:" -"`list_dialects`, e eles podem ser registrados com classes :class:`reader` e :" -"class:`writer` específicas através de suas funções inicializadoras " -"(``__init__``) como esta::" +"Todos os nomes de :class:`Dialect` disponíveis são retornados " +"por :func:`list_dialects`, e eles podem ser registrados com " +"classes :class:`reader` e :class:`writer` específicas através de suas " +"funções inicializadoras (``__init__``) como esta::" #: ../../library/csv.rst:247 msgid "" @@ -397,15 +394,15 @@ msgstr "" #: ../../library/csv.rst:282 msgid "" -"Analyze the sample text (presumed to be in CSV format) and return :const:" -"`True` if the first row appears to be a series of column headers. Inspecting " -"each column, one of two key criteria will be considered to estimate if the " -"sample contains a header:" +"Analyze the sample text (presumed to be in CSV format) and " +"return :const:`True` if the first row appears to be a series of column " +"headers. Inspecting each column, one of two key criteria will be considered " +"to estimate if the sample contains a header:" msgstr "" -"Analisa o texto de amostra (presume-se que esteja no formato CSV) e retorne :" -"const:`True` se a primeira linha parecer uma série de cabeçalhos de coluna. " -"Inspecionando cada coluna, um dos dois critérios principais será considerado " -"para estimar se a amostra contém um cabeçalho:" +"Analisa o texto de amostra (presume-se que esteja no formato CSV) e " +"retorne :const:`True` se a primeira linha parecer uma série de cabeçalhos de " +"coluna. Inspecionando cada coluna, um dos dois critérios principais será " +"considerado para estimar se a amostra contém um cabeçalho:" #: ../../library/csv.rst:287 msgid "the second through n-th rows contain numeric values" @@ -439,15 +436,15 @@ msgstr "" msgid "An example for :class:`Sniffer` use::" msgstr "Um exemplo para uso de :class:`Sniffer`::" -#: ../../library/csv.rst:308 +#: ../../library/csv.rst:310 msgid "The :mod:`csv` module defines the following constants:" msgstr "O módulo :mod:`csv` define as seguintes constantes:" -#: ../../library/csv.rst:312 +#: ../../library/csv.rst:314 msgid "Instructs :class:`writer` objects to quote all fields." msgstr "Instrui objetos :class:`writer` a colocar aspas em todos os campos." -#: ../../library/csv.rst:317 +#: ../../library/csv.rst:319 msgid "" "Instructs :class:`writer` objects to only quote those fields which contain " "special characters such as *delimiter*, *quotechar* or any of the characters " @@ -457,18 +454,18 @@ msgstr "" "caracteres especiais como *delimiters*, *quotechar* ou qualquer um dos " "caracteres em *lineterminator*." -#: ../../library/csv.rst:324 +#: ../../library/csv.rst:326 msgid "Instructs :class:`writer` objects to quote all non-numeric fields." msgstr "" "Instrui objetos :class:`writer` a colocar aspas em todos os campos não " "numéricos." -#: ../../library/csv.rst:326 +#: ../../library/csv.rst:328 msgid "Instructs the reader to convert all non-quoted fields to type *float*." msgstr "" "Instrui o leitor a converter todos os campos não citados no tipo *float*." -#: ../../library/csv.rst:331 +#: ../../library/csv.rst:333 msgid "" "Instructs :class:`writer` objects to never quote fields. When the current " "*delimiter* occurs in output data it is preceded by the current *escapechar* " @@ -480,7 +477,7 @@ msgstr "" "*escapechar* atual. Se *escapeechar* não estiver definido, o escritor " "levantará :exc:`Error` se algum caractere que exija escape for encontrado." -#: ../../library/csv.rst:336 +#: ../../library/csv.rst:338 msgid "" "Instructs :class:`reader` to perform no special processing of quote " "characters." @@ -488,72 +485,72 @@ msgstr "" "Instrui :class:`reader` a não executar nenhum processamento especial de " "caracteres de aspas." -#: ../../library/csv.rst:338 +#: ../../library/csv.rst:340 msgid "The :mod:`csv` module defines the following exception:" msgstr "O módulo :mod:`csv` define a seguinte exceção:" -#: ../../library/csv.rst:343 +#: ../../library/csv.rst:345 msgid "Raised by any of the functions when an error is detected." msgstr "Levantada por qualquer uma das funções quando um erro é detectado." -#: ../../library/csv.rst:348 +#: ../../library/csv.rst:350 msgid "Dialects and Formatting Parameters" msgstr "Dialetos e parâmetros de formatação" -#: ../../library/csv.rst:350 +#: ../../library/csv.rst:352 msgid "" "To make it easier to specify the format of input and output records, " "specific formatting parameters are grouped together into dialects. A " -"dialect is a subclass of the :class:`Dialect` class having a set of specific " -"methods and a single :meth:`validate` method. When creating :class:`reader` " -"or :class:`writer` objects, the programmer can specify a string or a " -"subclass of the :class:`Dialect` class as the dialect parameter. In " -"addition to, or instead of, the *dialect* parameter, the programmer can also " -"specify individual formatting parameters, which have the same names as the " -"attributes defined below for the :class:`Dialect` class." +"dialect is a subclass of the :class:`Dialect` class containing various " +"attributes describing the format of the CSV file. When " +"creating :class:`reader` or :class:`writer` objects, the programmer can " +"specify a string or a subclass of the :class:`Dialect` class as the dialect " +"parameter. In addition to, or instead of, the *dialect* parameter, the " +"programmer can also specify individual formatting parameters, which have the " +"same names as the attributes defined below for the :class:`Dialect` class." msgstr "" "Para facilitar a especificação do formato dos registros de entrada e saída, " "parâmetros específicos de formatação são agrupados em dialetos. Um dialeto é " -"uma subclasse da classe :class:`Dialect` com um conjunto de métodos " -"específicos e um único método :meth:`validate`. Ao criar objetos :class:" -"`reader` ou :class:`writer`, o programador pode especificar uma string ou " -"uma subclasse da classe :class:`Dialect` como parâmetro de dialeto. Além do " +"uma subclasse da classe :class:`Dialect` contendo vários atributos " +"descrevendo o formato do arquivo CSV. Ao criar objetos :class:`reader` " +"ou :class:`writer`, o programador pode especificar uma string ou uma " +"subclasse da classe :class:`Dialect` como parâmetro de dialeto. Além do " "parâmetro *dialect*, ou em vez do parâmetro *dialect*, o programador também " "pode especificar parâmetros de formatação individuais, com os mesmos nomes " "dos atributos definidos abaixo para a classe :class:`Dialect`." -#: ../../library/csv.rst:360 +#: ../../library/csv.rst:362 msgid "Dialects support the following attributes:" msgstr "Os dialetos possuem suporte aos seguintes atributos:" -#: ../../library/csv.rst:365 +#: ../../library/csv.rst:367 msgid "" "A one-character string used to separate fields. It defaults to ``','``." msgstr "" "Uma string de um caractere usada para separar campos. O padrão é ``','``." -#: ../../library/csv.rst:370 +#: ../../library/csv.rst:372 msgid "" "Controls how instances of *quotechar* appearing inside a field should " -"themselves be quoted. When :const:`True`, the character is doubled. When :" -"const:`False`, the *escapechar* is used as a prefix to the *quotechar*. It " -"defaults to :const:`True`." +"themselves be quoted. When :const:`True`, the character is doubled. " +"When :const:`False`, the *escapechar* is used as a prefix to the " +"*quotechar*. It defaults to :const:`True`." msgstr "" "Controla como as instâncias de *quotechar* que aparecem dentro de um campo " "devem estar entre aspas. Quando :const:`True`, o caractere é dobrado. " "Quando :const:`False`, o *escapechar* é usado como um prefixo para o " "*quotechar*. O padrão é :const:`True`." -#: ../../library/csv.rst:375 +#: ../../library/csv.rst:377 msgid "" -"On output, if *doublequote* is :const:`False` and no *escapechar* is set, :" -"exc:`Error` is raised if a *quotechar* is found in a field." +"On output, if *doublequote* is :const:`False` and no *escapechar* is " +"set, :exc:`Error` is raised if a *quotechar* is found in a field." msgstr "" "Na saída, se *doublequote* for :const:`False` e não *escapeechar* for " "definido, :exc:`Error` é levantada se um *quotechar* é encontrado em um " "campo." -#: ../../library/csv.rst:381 +#: ../../library/csv.rst:383 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* " @@ -567,11 +564,11 @@ msgstr "" "especial do caractere seguinte. O padrão é :const:`None`, que desativa o " "escape." -#: ../../library/csv.rst:386 +#: ../../library/csv.rst:388 msgid "An empty *escapechar* is not allowed." msgstr "Um *escapechar* vazio não é permitido." -#: ../../library/csv.rst:391 +#: ../../library/csv.rst:393 msgid "" "The string used to terminate lines produced by the :class:`writer`. It " "defaults to ``'\\r\\n'``." @@ -579,7 +576,7 @@ msgstr "" "A string usada para terminar as linhas produzidas pelo :class:`writer`. O " "padrão é ``'\\r\\n'``." -#: ../../library/csv.rst:396 +#: ../../library/csv.rst:398 msgid "" "The :class:`reader` is hard-coded to recognise either ``'\\r'`` or ``'\\n'`` " "as end-of-line, and ignores *lineterminator*. This behavior may change in " @@ -589,7 +586,7 @@ msgstr "" "fim de linha e ignora *lineterminator*. Esse comportamento pode mudar no " "futuro." -#: ../../library/csv.rst:403 +#: ../../library/csv.rst:405 msgid "" "A one-character string used to quote fields containing special characters, " "such as the *delimiter* or *quotechar*, or which contain new-line " @@ -599,21 +596,21 @@ msgstr "" "especiais, como *delimiter* ou *quotechar*, ou que contêm caracteres de nova " "linha. O padrão é ``'\"'``." -#: ../../library/csv.rst:407 +#: ../../library/csv.rst:409 msgid "An empty *quotechar* is not allowed." msgstr "Um *quotechar* vazio não é permitido." -#: ../../library/csv.rst:412 +#: ../../library/csv.rst:414 msgid "" "Controls when quotes should be generated by the writer and recognised by the " -"reader. It can take on any of the :const:`QUOTE_\\*` constants (see " -"section :ref:`csv-contents`) and defaults to :const:`QUOTE_MINIMAL`." +"reader. It can take on any of the :ref:`QUOTE_\\* constants ` and defaults to :const:`QUOTE_MINIMAL`." msgstr "" "Controla quando as aspas devem ser geradas pelo escritor e reconhecidas pelo " -"leitor. Ele pode assumir qualquer uma das constantes :const:`QUOTE_\\*` " -"(consulte a seção :ref:`csv-contents`) e o padrão é :const:`QUOTE_MINIMAL`." +"leitor. Ele pode assumir qualquer uma das constantes :ref:`QUOTE_\\* " +"constants ` e o padrão é :const:`QUOTE_MINIMAL`." -#: ../../library/csv.rst:419 +#: ../../library/csv.rst:421 msgid "" "When :const:`True`, spaces immediately following the *delimiter* are " "ignored. The default is :const:`False`." @@ -621,7 +618,7 @@ msgstr "" "Quando :const:`True`, os espaços em branco imediatamente após o *delimiter* " "são ignorados. O padrão é :const:`False`." -#: ../../library/csv.rst:425 +#: ../../library/csv.rst:427 msgid "" "When ``True``, raise exception :exc:`Error` on bad CSV input. The default is " "``False``." @@ -629,19 +626,19 @@ msgstr "" "Quando ``True``, levanta a exceção :exc:`Error` em uma entrada CSV ruim. O " "padrão é ``False``." -#: ../../library/csv.rst:429 +#: ../../library/csv.rst:433 msgid "Reader Objects" msgstr "Objetos Reader" -#: ../../library/csv.rst:431 +#: ../../library/csv.rst:435 msgid "" -"Reader objects (:class:`DictReader` instances and objects returned by the :" -"func:`reader` function) have the following public methods:" +"Reader objects (:class:`DictReader` instances and objects returned by " +"the :func:`reader` function) have the following public methods:" msgstr "" "Os objetos Reader (instâncias :class:`DictReader` e objetos retornados pela " "função :func:`reader`) têm os seguintes métodos públicos:" -#: ../../library/csv.rst:436 +#: ../../library/csv.rst:440 msgid "" "Return the next row of the reader's iterable object as a list (if the object " "was returned from :func:`reader`) or a dict (if it is a :class:`DictReader` " @@ -649,20 +646,20 @@ msgid "" "should call this as ``next(reader)``." msgstr "" "Retorna a próxima linha do objeto iterável do leitor como uma lista (se o " -"objeto foi retornado de :func:`leitor`) ou um dict (se for uma instância de :" -"class:`DictReader`), analisado de acordo com a :class:`Dialect` atual. " +"objeto foi retornado de :func:`reader`) ou um dict (se for uma instância " +"de :class:`DictReader`), analisado de acordo com a :class:`Dialect` atual. " "Normalmente, você deve chamar isso de ``next(reader)``." -#: ../../library/csv.rst:442 +#: ../../library/csv.rst:446 msgid "Reader objects have the following public attributes:" msgstr "Os objetos Reader possuem os seguintes atributos públicos:" -#: ../../library/csv.rst:446 +#: ../../library/csv.rst:450 msgid "A read-only description of the dialect in use by the parser." msgstr "" "Uma descrição somente leitura do dialeto em uso pelo analisador sintático." -#: ../../library/csv.rst:451 +#: ../../library/csv.rst:455 msgid "" "The number of lines read from the source iterator. This is not the same as " "the number of records returned, as records can span multiple lines." @@ -670,11 +667,11 @@ msgstr "" "O número de linhas lidas no iterador de origem. Não é o mesmo que o número " "de registros retornados, pois os registros podem abranger várias linhas." -#: ../../library/csv.rst:455 +#: ../../library/csv.rst:459 msgid "DictReader objects have the following public attribute:" msgstr "Os objetos DictReader têm o seguinte atributo público:" -#: ../../library/csv.rst:459 +#: ../../library/csv.rst:463 msgid "" "If not passed as a parameter when creating the object, this attribute is " "initialized upon first access or when the first record is read from the file." @@ -683,31 +680,31 @@ msgstr "" "inicializado no primeiro acesso ou quando o primeiro registro for lido no " "arquivo." -#: ../../library/csv.rst:466 +#: ../../library/csv.rst:470 msgid "Writer Objects" msgstr "Objetos Writer" -#: ../../library/csv.rst:468 +#: ../../library/csv.rst:472 msgid "" -":class:`Writer` objects (:class:`DictWriter` instances and objects returned " +":class:`writer` objects (:class:`DictWriter` instances and objects returned " "by the :func:`writer` function) have the following public methods. A *row* " -"must be an iterable of strings or numbers for :class:`Writer` objects and a " +"must be an iterable of strings or numbers for :class:`writer` objects and a " "dictionary mapping fieldnames to strings or numbers (by passing them " "through :func:`str` first) for :class:`DictWriter` objects. Note that " "complex numbers are written out surrounded by parens. This may cause some " "problems for other programs which read CSV files (assuming they support " "complex numbers at all)." msgstr "" -"Objetos :class:`Writer` (instâncias e objetos :class:`DictWriter` retornados " +"Objetos :class:`writer` (instâncias e objetos :class:`DictWriter` retornados " "pela função :func:`writer`) possuem os seguintes métodos públicos. Uma *row* " -"deve ser iterável de strings ou números para objetos :class:`Writer` e um " +"deve ser iterável de strings ou números para objetos :class:`writer` e um " "dicionário mapeando nomes de campos para strings ou números (passando-os " "por :func:`str` primeiro) para :class:`DictWriter`. Observe que números " "complexos são escritos cercados por parênteses. Isso pode causar alguns " "problemas para outros programas que leem arquivos CSV (supondo que eles " -"suportem números complexos)." +"aceitem números complexos)." -#: ../../library/csv.rst:479 +#: ../../library/csv.rst:483 msgid "" "Write the *row* parameter to the writer's file object, formatted according " "to the current :class:`Dialect`. Return the return value of the call to the " @@ -717,11 +714,11 @@ msgstr "" "com a :class:`Dialect` atual. Retorna o valor de retorno da chamada ao " "método *write* do objeto arquivo subjacente." -#: ../../library/csv.rst:483 +#: ../../library/csv.rst:487 msgid "Added support of arbitrary iterables." msgstr "Adicionado suporte a iteráveis arbitrários." -#: ../../library/csv.rst:488 +#: ../../library/csv.rst:492 msgid "" "Write all elements in *rows* (an iterable of *row* objects as described " "above) to the writer's file object, formatted according to the current " @@ -731,19 +728,19 @@ msgstr "" "descrito acima) no objeto arquivo do escritor, formatado de acordo com o " "dialeto atual." -#: ../../library/csv.rst:492 +#: ../../library/csv.rst:496 msgid "Writer objects have the following public attribute:" msgstr "Os objetos Writer têm o seguinte atributo público:" -#: ../../library/csv.rst:497 +#: ../../library/csv.rst:501 msgid "A read-only description of the dialect in use by the writer." msgstr "Uma descrição somente leitura do dialeto em uso pelo escritor." -#: ../../library/csv.rst:500 +#: ../../library/csv.rst:504 msgid "DictWriter objects have the following public method:" msgstr "Os objetos DictWriter têm o seguinte método público:" -#: ../../library/csv.rst:505 +#: ../../library/csv.rst:509 msgid "" "Write a row with the field names (as specified in the constructor) to the " "writer's file object, formatted according to the current dialect. Return the " @@ -754,43 +751,43 @@ msgstr "" "atual. Retorna o valor de retorno da chamada :meth:`csvwriter.writerow` " "usada internamente." -#: ../../library/csv.rst:510 +#: ../../library/csv.rst:514 msgid "" -":meth:`writeheader` now also returns the value returned by the :meth:" -"`csvwriter.writerow` method it uses internally." +":meth:`writeheader` now also returns the value returned by " +"the :meth:`csvwriter.writerow` method it uses internally." msgstr "" -":meth:`writeheader` agora também retorna o valor retornado pelo método :meth:" -"`csvwriter.writerow` que ele usa internamente." +":meth:`writeheader` agora também retorna o valor retornado pelo " +"método :meth:`csvwriter.writerow` que ele usa internamente." -#: ../../library/csv.rst:518 +#: ../../library/csv.rst:522 msgid "Examples" msgstr "Exemplos" -#: ../../library/csv.rst:520 +#: ../../library/csv.rst:524 msgid "The simplest example of reading a CSV file::" msgstr "O exemplo mais simples de leitura de um arquivo CSV::" -#: ../../library/csv.rst:528 +#: ../../library/csv.rst:532 msgid "Reading a file with an alternate format::" msgstr "Lendo um arquivo com um formato alternativo::" -#: ../../library/csv.rst:536 +#: ../../library/csv.rst:540 msgid "The corresponding simplest possible writing example is::" msgstr "O exemplo de escrita possível mais simples possível é::" -#: ../../library/csv.rst:543 +#: ../../library/csv.rst:547 msgid "" "Since :func:`open` is used to open a CSV file for reading, the file will by " -"default be decoded into unicode using the system default encoding (see :func:" -"`locale.getencoding`). To decode a file using a different encoding, use the " -"``encoding`` argument of open::" +"default be decoded into unicode using the system default encoding " +"(see :func:`locale.getencoding`). To decode a file using a different " +"encoding, use the ``encoding`` argument of open::" msgstr "" "Como :func:`open` é usado para abrir um arquivo CSV para leitura, o arquivo " "será decodificado por padrão em unicode usando a codificação padrão do " "sistema (consulte :func:`locale.getencoding`). Para decodificar um arquivo " "usando uma codificação diferente, use o argumento ``encoding`` do open::" -#: ../../library/csv.rst:554 +#: ../../library/csv.rst:558 msgid "" "The same applies to writing in something other than the system default " "encoding: specify the encoding argument when opening the output file." @@ -798,18 +795,18 @@ msgstr "" "O mesmo se aplica à escrita em algo diferente da codificação padrão do " "sistema: especifique o argumento de codificação ao abrir o arquivo de saída." -#: ../../library/csv.rst:557 +#: ../../library/csv.rst:561 msgid "Registering a new dialect::" msgstr "Registrando um novo dialeto::" -#: ../../library/csv.rst:564 +#: ../../library/csv.rst:568 msgid "" "A slightly more advanced use of the reader --- catching and reporting " "errors::" msgstr "" "Um uso um pouco mais avançado do leitor --- capturando e relatando erros::" -#: ../../library/csv.rst:576 +#: ../../library/csv.rst:580 msgid "" "And while the module doesn't directly support parsing strings, it can easily " "be done::" @@ -817,17 +814,17 @@ msgstr "" "E embora o módulo não tenha suporte diretamente à análise sintática de " "strings, isso pode ser feito facilmente::" -#: ../../library/csv.rst:585 +#: ../../library/csv.rst:589 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/csv.rst:586 +#: ../../library/csv.rst:590 msgid "" "If ``newline=''`` is not specified, newlines embedded inside quoted fields " "will not be interpreted correctly, and on platforms that use ``\\r\\n`` " "linendings on write an extra ``\\r`` will be added. It should always be " -"safe to specify ``newline=''``, since the csv module does its own (:term:" -"`universal `) newline handling." +"safe to specify ``newline=''``, since the csv module does its own " +"(:term:`universal `) newline handling." msgstr "" "Se ``newline=''`` não for especificado, as novas linhas incorporadas nos " "campos entre aspas não serão interpretadas corretamente, e nas plataformas " @@ -846,7 +843,7 @@ msgstr "dados" #: ../../library/csv.rst:11 msgid "tabular" -msgstr "" +msgstr "tabular" #: ../../library/csv.rst:53 msgid "universal newlines" @@ -854,4 +851,4 @@ msgstr "novas linhas universais" #: ../../library/csv.rst:53 msgid "csv.reader function" -msgstr "" +msgstr "função csv.reader" diff --git a/library/ctypes.po b/library/ctypes.po index 452cb73ee..722c4fa24 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -1,27 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Marcos Moraes, 2025 +# Adorilson Bezerra , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Adorilson Bezerra , 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -31,7 +31,7 @@ msgstr ":mod:`ctypes` --- Uma biblioteca de funções externas para Python" #: ../../library/ctypes.rst:9 msgid "**Source code:** :source:`Lib/ctypes`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/ctypes`" #: ../../library/ctypes.rst:13 msgid "" @@ -46,7 +46,7 @@ msgstr "" #: ../../library/ctypes.rst:21 msgid "ctypes tutorial" -msgstr "Tutorial ctypes" +msgstr "Tutorial do ctypes" #: ../../library/ctypes.rst:23 msgid "" @@ -54,24 +54,36 @@ msgid "" "they actually work. Since some code samples behave differently under Linux, " "Windows, or macOS, they contain doctest directives in comments." msgstr "" +"Nota: Os exemplos de código neste tutorial usam :mod:`doctest` para garantir " +"que eles realmente funcionem. Como algumas amostras de código se comportam " +"de maneira diferente no Linux, Windows ou macOS, elas contêm diretrizes de " +"doctest nos comentários." #: ../../library/ctypes.rst:27 msgid "" "Note: Some code samples reference the ctypes :class:`c_int` type. On " -"platforms where ``sizeof(long) == sizeof(int)`` it is an alias to :class:" -"`c_long`. So, you should not be confused if :class:`c_long` is printed if " -"you would expect :class:`c_int` --- they are actually the same type." +"platforms where ``sizeof(long) == sizeof(int)`` it is an alias " +"to :class:`c_long`. So, you should not be confused if :class:`c_long` is " +"printed if you would expect :class:`c_int` --- they are actually the same " +"type." msgstr "" +"Nota: Alguns exemplos de código fazem referência ao tipo " +"ctypes :class:`c_int`. Em plataformas em que ``sizeof(long) == sizeof(int)`` " +"é um apelido para :class:`c_long`. Então, você não deve ficar confuso " +"se :class:`c_long` for impresso se você esperaria :class:`c_int` --- eles " +"são, na verdade, o mesmo tipo." #: ../../library/ctypes.rst:35 msgid "Loading dynamic link libraries" -msgstr "" +msgstr "Carregando bibliotecas de ligação dinâmica" #: ../../library/ctypes.rst:37 msgid "" ":mod:`ctypes` exports the *cdll*, and on Windows *windll* and *oledll* " "objects, for loading dynamic link libraries." msgstr "" +":mod:`ctypes` exporta o *cdll* e, no Windows, os objetos *windll* e *oledll* " +"para carregar bibliotecas de vínculo dinâmico." #: ../../library/ctypes.rst:40 msgid "" @@ -86,9 +98,11 @@ msgstr "" #: ../../library/ctypes.rst:48 msgid "" -"Windows errors used to raise :exc:`WindowsError`, which is now an alias of :" -"exc:`OSError`." +"Windows errors used to raise :exc:`WindowsError`, which is now an alias " +"of :exc:`OSError`." msgstr "" +"Erros do Windows costumavam levantar :exc:`WindowsError`, que agora é um " +"apelido de :exc:`OSError`." #: ../../library/ctypes.rst:53 msgid "" @@ -100,6 +114,7 @@ msgstr "" #: ../../library/ctypes.rst:65 msgid "Windows appends the usual ``.dll`` file suffix automatically." msgstr "" +"O Windows acrescenta automaticamente o sufixo de arquivo ``.dll`` usual." #: ../../library/ctypes.rst:68 msgid "" @@ -108,6 +123,10 @@ msgid "" "used by Python. Where possible, use native Python functionality, or else " "import and use the ``msvcrt`` module." msgstr "" +"Acessar a biblioteca padrão C por meio de ``cdll.msvcrt`` usará uma versão " +"desatualizada da biblioteca, que pode ser incompatível com a usada pelo " +"Python. Onde possível, use a funcionalidade nativa do Python; caso " +"contrário, importe e use o módulo ``msvcrt``." #: ../../library/ctypes.rst:73 msgid "" @@ -120,13 +139,13 @@ msgstr "" #: ../../library/ctypes.rst:91 msgid "Accessing functions from loaded dlls" -msgstr "" +msgstr "Acessando funções de dlls carregadas" #: ../../library/ctypes.rst:93 msgid "Functions are accessed as attributes of dll objects::" msgstr "Funções são acessadas como atributos de objetos dll::" -#: ../../library/ctypes.rst:108 +#: ../../library/ctypes.rst:107 msgid "" "Note that win32 system dlls like ``kernel32`` and ``user32`` often export " "ANSI as well as UNICODE versions of a function. The UNICODE version is " @@ -137,32 +156,41 @@ msgid "" "``GetModuleHandle`` depending on whether UNICODE is defined or not::" msgstr "" -#: ../../library/ctypes.rst:121 +#: ../../library/ctypes.rst:120 msgid "" "*windll* does not try to select one of them by magic, you must access the " "version you need by specifying ``GetModuleHandleA`` or ``GetModuleHandleW`` " "explicitly, and then call it with bytes or string objects respectively." msgstr "" +"*windll* não tenta selecionar um deles magicamente, você deve acessar a " +"versão necessária especificando ``GetModuleHandleA`` ou ``GetModuleHandleW`` " +"explicitamente e então chamá-lo com objetos bytes ou string, respectivamente." -#: ../../library/ctypes.rst:125 +#: ../../library/ctypes.rst:124 msgid "" "Sometimes, dlls export functions with names which aren't valid Python " -"identifiers, like ``\"??2@YAPAXI@Z\"``. In this case you have to use :func:" -"`getattr` to retrieve the function::" +"identifiers, like ``\"??2@YAPAXI@Z\"``. In this case you have to " +"use :func:`getattr` to retrieve the function::" msgstr "" +"Às vezes, DLLs exportam funções com nomes que não são identificadores Python " +"válidos, como ``\"??2@YAPAXI@Z\"``. Nesse caso, você precisa " +"usar :func:`getattr` para recuperar a função::" -#: ../../library/ctypes.rst:133 +#: ../../library/ctypes.rst:132 msgid "" "On Windows, some dlls export functions not by name but by ordinal. These " "functions can be accessed by indexing the dll object with the ordinal " "number::" msgstr "" +"No Windows, algumas dlls exportam funções não por nome, mas por ordinal. " +"Essas funções podem ser acessadas indexando o objeto dll com o número " +"ordinal::" -#: ../../library/ctypes.rst:150 +#: ../../library/ctypes.rst:149 msgid "Calling functions" -msgstr "" +msgstr "Chamando funções" -#: ../../library/ctypes.rst:152 +#: ../../library/ctypes.rst:151 msgid "" "You can call these functions like any other Python callable. This example " "uses the ``time()`` function, which returns system time in seconds since the " @@ -170,342 +198,375 @@ msgid "" "module handle." msgstr "" -#: ../../library/ctypes.rst:157 +#: ../../library/ctypes.rst:156 msgid "" "This example calls both functions with a ``NULL`` pointer (``None`` should " "be used as the ``NULL`` pointer)::" msgstr "" -#: ../../library/ctypes.rst:166 +#: ../../library/ctypes.rst:165 msgid "" ":exc:`ValueError` is raised when you call an ``stdcall`` function with the " "``cdecl`` calling convention, or vice versa::" msgstr "" +":exc:`ValueError` é gerado quando você chama uma função ``stdcall`` com a " +"convenção de chamada ``cdecl``, ou vice-versa::" -#: ../../library/ctypes.rst:181 +#: ../../library/ctypes.rst:180 msgid "" "To find out the correct calling convention you have to look into the C " "header file or the documentation for the function you want to call." msgstr "" +"Para descobrir a convenção de chamada correta, você precisa consultar o " +"arquivo de cabeçalho C ou a documentação da função que deseja chamar." -#: ../../library/ctypes.rst:184 +#: ../../library/ctypes.rst:183 msgid "" "On Windows, :mod:`ctypes` uses win32 structured exception handling to " "prevent crashes from general protection faults when functions are called " "with invalid argument values::" msgstr "" +"No Windows, :mod:`ctypes` usa o tratamento de exceções estruturado do win32 " +"para evitar travamentos devido a falhas gerais de proteção quando funções " +"são chamadas com valores de argumentos inválidos::" -#: ../../library/ctypes.rst:194 +#: ../../library/ctypes.rst:193 msgid "" "There are, however, enough ways to crash Python with :mod:`ctypes`, so you " "should be careful anyway. The :mod:`faulthandler` module can be helpful in " "debugging crashes (e.g. from segmentation faults produced by erroneous C " "library calls)." msgstr "" +"No entanto, existem maneiras suficientes de travar o Python " +"com :mod:`ctypes`, então você deve ter cuidado de qualquer maneira. O " +"módulo :mod:`faulthandler` pode ser útil na depuração de travamentos (por " +"exemplo, de falhas de segmentação produzidas por chamadas errôneas da " +"biblioteca C)." -#: ../../library/ctypes.rst:199 +#: ../../library/ctypes.rst:198 msgid "" "``None``, integers, bytes objects and (unicode) strings are the only native " "Python objects that can directly be used as parameters in these function " "calls. ``None`` is passed as a C ``NULL`` pointer, bytes objects and strings " -"are passed as pointer to the memory block that contains their data (:c:expr:" -"`char *` or :c:expr:`wchar_t *`). Python integers are passed as the " -"platforms default C :c:expr:`int` type, their value is masked to fit into " -"the C type." +"are passed as pointer to the memory block that contains their data " +"(:c:expr:`char *` or :c:expr:`wchar_t *`). Python integers are passed as " +"the platforms default C :c:expr:`int` type, their value is masked to fit " +"into the C type." msgstr "" -#: ../../library/ctypes.rst:206 +#: ../../library/ctypes.rst:205 msgid "" "Before we move on calling functions with other parameter types, we have to " "learn more about :mod:`ctypes` data types." msgstr "" +"Antes de prosseguirmos com a chamada de funções com outros tipos de " +"parâmetros, precisamos aprender mais sobre os tipos de dados :mod:`ctypes`." -#: ../../library/ctypes.rst:213 ../../library/ctypes.rst:2159 +#: ../../library/ctypes.rst:212 ../../library/ctypes.rst:2161 msgid "Fundamental data types" -msgstr "" +msgstr "Tipos de dados fundamentais" -#: ../../library/ctypes.rst:215 +#: ../../library/ctypes.rst:214 msgid ":mod:`ctypes` defines a number of primitive C compatible data types:" msgstr "" +":mod:`ctypes` define uma série de tipos de dados primitivos compatíveis com " +"C:" -#: ../../library/ctypes.rst:218 +#: ../../library/ctypes.rst:217 msgid "ctypes type" -msgstr "ctypes type" +msgstr "Tipo ctypes" -#: ../../library/ctypes.rst:218 +#: ../../library/ctypes.rst:217 msgid "C type" -msgstr "C type" +msgstr "Tipo em C" -#: ../../library/ctypes.rst:218 +#: ../../library/ctypes.rst:217 msgid "Python type" -msgstr "Python type" +msgstr "Tipo em Python" -#: ../../library/ctypes.rst:220 +#: ../../library/ctypes.rst:219 msgid ":class:`c_bool`" msgstr ":class:`c_bool`" -#: ../../library/ctypes.rst:220 +#: ../../library/ctypes.rst:219 msgid ":c:expr:`_Bool`" msgstr ":c:expr:`_Bool`" -#: ../../library/ctypes.rst:220 +#: ../../library/ctypes.rst:219 msgid "bool (1)" msgstr "bool (1)" -#: ../../library/ctypes.rst:222 +#: ../../library/ctypes.rst:221 msgid ":class:`c_char`" msgstr ":class:`c_char`" -#: ../../library/ctypes.rst:222 ../../library/ctypes.rst:226 +#: ../../library/ctypes.rst:221 ../../library/ctypes.rst:225 msgid ":c:expr:`char`" msgstr ":c:expr:`char`" -#: ../../library/ctypes.rst:222 +#: ../../library/ctypes.rst:221 msgid "1-character bytes object" -msgstr "1-character bytes object" +msgstr "objeto bytes de 1 caractere" -#: ../../library/ctypes.rst:224 +#: ../../library/ctypes.rst:223 msgid ":class:`c_wchar`" msgstr ":class:`c_wchar`" -#: ../../library/ctypes.rst:224 -msgid ":c:expr:`wchar_t`" -msgstr "" +#: ../../library/ctypes.rst:223 +msgid ":c:type:`wchar_t`" +msgstr ":c:type:`wchar_t`" -#: ../../library/ctypes.rst:224 +#: ../../library/ctypes.rst:223 msgid "1-character string" -msgstr "1-character string" +msgstr "string de 1 caractere" -#: ../../library/ctypes.rst:226 +#: ../../library/ctypes.rst:225 msgid ":class:`c_byte`" msgstr ":class:`c_byte`" -#: ../../library/ctypes.rst:226 ../../library/ctypes.rst:228 -#: ../../library/ctypes.rst:230 ../../library/ctypes.rst:232 -#: ../../library/ctypes.rst:234 ../../library/ctypes.rst:236 -#: ../../library/ctypes.rst:238 ../../library/ctypes.rst:240 -#: ../../library/ctypes.rst:242 ../../library/ctypes.rst:244 -#: ../../library/ctypes.rst:247 ../../library/ctypes.rst:249 +#: ../../library/ctypes.rst:225 ../../library/ctypes.rst:227 +#: ../../library/ctypes.rst:229 ../../library/ctypes.rst:231 +#: ../../library/ctypes.rst:233 ../../library/ctypes.rst:235 +#: ../../library/ctypes.rst:237 ../../library/ctypes.rst:239 +#: ../../library/ctypes.rst:241 ../../library/ctypes.rst:243 +#: ../../library/ctypes.rst:246 ../../library/ctypes.rst:248 msgid "int" msgstr "int" -#: ../../library/ctypes.rst:228 +#: ../../library/ctypes.rst:227 msgid ":class:`c_ubyte`" msgstr ":class:`c_ubyte`" -#: ../../library/ctypes.rst:228 +#: ../../library/ctypes.rst:227 msgid ":c:expr:`unsigned char`" msgstr ":c:expr:`unsigned char`" -#: ../../library/ctypes.rst:230 +#: ../../library/ctypes.rst:229 msgid ":class:`c_short`" msgstr ":class:`c_short`" -#: ../../library/ctypes.rst:230 +#: ../../library/ctypes.rst:229 msgid ":c:expr:`short`" msgstr ":c:expr:`short`" -#: ../../library/ctypes.rst:232 +#: ../../library/ctypes.rst:231 msgid ":class:`c_ushort`" msgstr ":class:`c_ushort`" -#: ../../library/ctypes.rst:232 +#: ../../library/ctypes.rst:231 msgid ":c:expr:`unsigned short`" msgstr ":c:expr:`unsigned short`" -#: ../../library/ctypes.rst:234 +#: ../../library/ctypes.rst:233 msgid ":class:`c_int`" msgstr ":class:`c_int`" -#: ../../library/ctypes.rst:234 +#: ../../library/ctypes.rst:233 msgid ":c:expr:`int`" msgstr ":c:expr:`int`" -#: ../../library/ctypes.rst:236 +#: ../../library/ctypes.rst:235 msgid ":class:`c_uint`" msgstr ":class:`c_uint`" -#: ../../library/ctypes.rst:236 +#: ../../library/ctypes.rst:235 msgid ":c:expr:`unsigned int`" msgstr ":c:expr:`unsigned int`" -#: ../../library/ctypes.rst:238 +#: ../../library/ctypes.rst:237 msgid ":class:`c_long`" msgstr ":class:`c_long`" -#: ../../library/ctypes.rst:238 +#: ../../library/ctypes.rst:237 msgid ":c:expr:`long`" msgstr ":c:expr:`long`" -#: ../../library/ctypes.rst:240 +#: ../../library/ctypes.rst:239 msgid ":class:`c_ulong`" msgstr ":class:`c_ulong`" -#: ../../library/ctypes.rst:240 +#: ../../library/ctypes.rst:239 msgid ":c:expr:`unsigned long`" msgstr ":c:expr:`unsigned long`" -#: ../../library/ctypes.rst:242 +#: ../../library/ctypes.rst:241 msgid ":class:`c_longlong`" msgstr ":class:`c_longlong`" -#: ../../library/ctypes.rst:242 +#: ../../library/ctypes.rst:241 msgid ":c:expr:`__int64` or :c:expr:`long long`" -msgstr "" +msgstr ":c:expr:`__int64` ou :c:expr:`long long`" -#: ../../library/ctypes.rst:244 +#: ../../library/ctypes.rst:243 msgid ":class:`c_ulonglong`" msgstr ":class:`c_ulonglong`" -#: ../../library/ctypes.rst:244 +#: ../../library/ctypes.rst:243 msgid ":c:expr:`unsigned __int64` or :c:expr:`unsigned long long`" -msgstr "" +msgstr ":c:expr:`unsigned __int64` ou :c:expr:`unsigned long long`" -#: ../../library/ctypes.rst:247 +#: ../../library/ctypes.rst:246 msgid ":class:`c_size_t`" msgstr ":class:`c_size_t`" -#: ../../library/ctypes.rst:247 -msgid ":c:expr:`size_t`" -msgstr ":c:expr:`size_t`" +#: ../../library/ctypes.rst:246 +msgid ":c:type:`size_t`" +msgstr ":c:type:`size_t`" -#: ../../library/ctypes.rst:249 +#: ../../library/ctypes.rst:248 msgid ":class:`c_ssize_t`" msgstr ":class:`c_ssize_t`" -#: ../../library/ctypes.rst:249 -msgid ":c:expr:`ssize_t` or :c:expr:`Py_ssize_t`" -msgstr "" +#: ../../library/ctypes.rst:248 +msgid ":c:type:`ssize_t` or :c:expr:`Py_ssize_t`" +msgstr ":c:type:`ssize_t` ou :c:expr:`Py_ssize_t`" -#: ../../library/ctypes.rst:252 +#: ../../library/ctypes.rst:251 msgid ":class:`c_float`" msgstr ":class:`c_float`" -#: ../../library/ctypes.rst:252 +#: ../../library/ctypes.rst:251 msgid ":c:expr:`float`" msgstr ":c:expr:`float`" -#: ../../library/ctypes.rst:252 ../../library/ctypes.rst:254 -#: ../../library/ctypes.rst:256 +#: ../../library/ctypes.rst:251 ../../library/ctypes.rst:253 +#: ../../library/ctypes.rst:255 msgid "float" -msgstr "float" +msgstr "ponto flutuante" -#: ../../library/ctypes.rst:254 +#: ../../library/ctypes.rst:253 msgid ":class:`c_double`" msgstr ":class:`c_double`" -#: ../../library/ctypes.rst:254 +#: ../../library/ctypes.rst:253 msgid ":c:expr:`double`" msgstr ":c:expr:`double`" -#: ../../library/ctypes.rst:256 +#: ../../library/ctypes.rst:255 msgid ":class:`c_longdouble`" msgstr ":class:`c_longdouble`" -#: ../../library/ctypes.rst:256 +#: ../../library/ctypes.rst:255 msgid ":c:expr:`long double`" -msgstr "" +msgstr ":c:expr:`long double`" -#: ../../library/ctypes.rst:258 +#: ../../library/ctypes.rst:257 msgid ":class:`c_char_p`" msgstr ":class:`c_char_p`" -#: ../../library/ctypes.rst:258 +#: ../../library/ctypes.rst:257 msgid ":c:expr:`char *` (NUL terminated)" -msgstr "" +msgstr ":c:expr:`char *` (finalizado com NUL)" -#: ../../library/ctypes.rst:258 +#: ../../library/ctypes.rst:257 msgid "bytes object or ``None``" -msgstr "bytes object ou ``None``" +msgstr "objeto bytes ou ``None``" -#: ../../library/ctypes.rst:260 +#: ../../library/ctypes.rst:259 msgid ":class:`c_wchar_p`" msgstr ":class:`c_wchar_p`" -#: ../../library/ctypes.rst:260 +#: ../../library/ctypes.rst:259 msgid ":c:expr:`wchar_t *` (NUL terminated)" -msgstr "" +msgstr ":c:expr:`wchar_t *` (finalizado com NUL)" -#: ../../library/ctypes.rst:260 +#: ../../library/ctypes.rst:259 msgid "string or ``None``" msgstr "String ou ``None``" -#: ../../library/ctypes.rst:262 +#: ../../library/ctypes.rst:261 msgid ":class:`c_void_p`" msgstr ":class:`c_void_p`" -#: ../../library/ctypes.rst:262 +#: ../../library/ctypes.rst:261 msgid ":c:expr:`void *`" -msgstr "" +msgstr ":c:expr:`void *`" -#: ../../library/ctypes.rst:262 +#: ../../library/ctypes.rst:261 msgid "int or ``None``" msgstr "int ou ``None``" -#: ../../library/ctypes.rst:266 +#: ../../library/ctypes.rst:265 msgid "The constructor accepts any object with a truth value." -msgstr "" +msgstr "O construtor aceita qualquer objeto com um valor verdade." -#: ../../library/ctypes.rst:268 +#: ../../library/ctypes.rst:267 msgid "" "All these types can be created by calling them with an optional initializer " "of the correct type and value::" msgstr "" +"Todos esses tipos podem ser criados chamando-os com um inicializador " +"opcional do tipo e valor corretos::" -#: ../../library/ctypes.rst:279 +#: ../../library/ctypes.rst:278 msgid "" "Since these types are mutable, their value can also be changed afterwards::" msgstr "" +"Como esses tipos são mutáveis, seus valores também podem ser alterados " +"posteriormente::" -#: ../../library/ctypes.rst:291 +#: ../../library/ctypes.rst:290 msgid "" -"Assigning a new value to instances of the pointer types :class:`c_char_p`, :" -"class:`c_wchar_p`, and :class:`c_void_p` changes the *memory location* they " -"point to, *not the contents* of the memory block (of course not, because " -"Python bytes objects are immutable)::" +"Assigning a new value to instances of the pointer " +"types :class:`c_char_p`, :class:`c_wchar_p`, and :class:`c_void_p` changes " +"the *memory location* they point to, *not the contents* of the memory block " +"(of course not, because Python bytes objects are immutable)::" msgstr "" -#: ../../library/ctypes.rst:311 +#: ../../library/ctypes.rst:310 msgid "" "You should be careful, however, not to pass them to functions expecting " -"pointers to mutable memory. If you need mutable memory blocks, ctypes has a :" -"func:`create_string_buffer` function which creates these in various ways. " -"The current memory block contents can be accessed (or changed) with the " -"``raw`` property; if you want to access it as NUL terminated string, use the " -"``value`` property::" +"pointers to mutable memory. If you need mutable memory blocks, ctypes has " +"a :func:`create_string_buffer` function which creates these in various " +"ways. The current memory block contents can be accessed (or changed) with " +"the ``raw`` property; if you want to access it as NUL terminated string, use " +"the ``value`` property::" msgstr "" +"No entanto, tome cuidado para não passá-los para funções que esperam " +"ponteiros para memória mutável. Se precisar de blocos de memória mutáveis, o " +"ctypes possui uma função :func:`create_string_buffer` que os cria de várias " +"maneiras. O conteúdo do bloco de memória atual pode ser acessado (ou " +"alterado) com a propriedade ``raw``; se quiser acessá-lo como uma string " +"terminada em NUL, use a propriedade ``value``:" -#: ../../library/ctypes.rst:335 +#: ../../library/ctypes.rst:334 msgid "" "The :func:`create_string_buffer` function replaces the old :func:`c_buffer` " "function (which is still available as an alias). To create a mutable memory " -"block containing unicode characters of the C type :c:expr:`wchar_t`, use " +"block containing unicode characters of the C type :c:type:`wchar_t`, use " "the :func:`create_unicode_buffer` function." msgstr "" -#: ../../library/ctypes.rst:344 +#: ../../library/ctypes.rst:343 msgid "Calling functions, continued" -msgstr "Invocação de Funções, continuação" +msgstr "Chamando funções, continuação" -#: ../../library/ctypes.rst:346 +#: ../../library/ctypes.rst:345 msgid "" -"Note that printf prints to the real standard output channel, *not* to :data:" -"`sys.stdout`, so these examples will only work at the console prompt, not " -"from within *IDLE* or *PythonWin*::" +"Note that printf prints to the real standard output channel, *not* " +"to :data:`sys.stdout`, so these examples will only work at the console " +"prompt, not from within *IDLE* or *PythonWin*::" msgstr "" +"Observe que printf imprime no canal de saída padrão real, *não* " +"em :data:`sys.stdout`, então esses exemplos só funcionarão no prompt do " +"console, não de dentro do *IDLE* ou *PythonWin*::" -#: ../../library/ctypes.rst:366 +#: ../../library/ctypes.rst:365 msgid "" "As has been mentioned before, all Python types except integers, strings, and " "bytes objects have to be wrapped in their corresponding :mod:`ctypes` type, " "so that they can be converted to the required C data type::" msgstr "" +"Como mencionado anteriormente, todos os tipos do Python, exceto inteiros, " +"strings e objetos bytes, precisam ser encapsulados em seu tipo " +"correspondente de :mod:`ctypes`, para que possam ser convertidos para o tipo " +"de dado C necessário::" -#: ../../library/ctypes.rst:378 +#: ../../library/ctypes.rst:377 msgid "Calling variadic functions" -msgstr "" +msgstr "Chamando funções variadas" -#: ../../library/ctypes.rst:380 +#: ../../library/ctypes.rst:379 msgid "" "On a lot of platforms calling variadic functions through ctypes is exactly " "the same as calling functions with a fixed number of parameters. On some " @@ -513,30 +574,42 @@ msgid "" "convention for variadic functions is different than that for regular " "functions." msgstr "" +"Em muitas plataformas, chamar funções variádicas por meio do ctypes é " +"exatamente o mesmo que chamar funções com um número fixo de parâmetros. Em " +"algumas plataformas, em particular no ARM64 para plataformas Apple, a " +"convenção de chamada para funções variádicas difere da usada para funções " +"regulares." -#: ../../library/ctypes.rst:385 +#: ../../library/ctypes.rst:384 msgid "" "On those platforms it is required to specify the *argtypes* attribute for " "the regular, non-variadic, function arguments:" msgstr "" -#: ../../library/ctypes.rst:392 +#: ../../library/ctypes.rst:391 msgid "" "Because specifying the attribute does not inhibit portability it is advised " "to always specify ``argtypes`` for all variadic functions." msgstr "" -#: ../../library/ctypes.rst:399 +#: ../../library/ctypes.rst:398 msgid "Calling functions with your own custom data types" -msgstr "" +msgstr "Chamando funções com seus próprios tipos de dados personalizados" -#: ../../library/ctypes.rst:401 +#: ../../library/ctypes.rst:400 msgid "" "You can also customize :mod:`ctypes` argument conversion to allow instances " -"of your own classes be used as function arguments. :mod:`ctypes` looks for " -"an :attr:`_as_parameter_` attribute and uses this as the function argument. " -"Of course, it must be one of integer, string, or bytes::" -msgstr "" +"of your own classes be used as function arguments. :mod:`ctypes` looks for " +"an :attr:`!_as_parameter_` attribute and uses this as the function argument. " +"The attribute must be an integer, string, bytes, a :mod:`ctypes` instance, " +"or an object with an :attr:`!_as_parameter_` attribute::" +msgstr "" +"Você também pode personalizar a conversão de argumentos do :mod:`ctypes` " +"para permitir que instâncias das suas próprias classes sejam usadas como " +"argumento de função. O :mod:`ctypes` procura um atributo :attr:`!" +"_as_parameter_` e o utiliza como o argumento da função. O atributo deve ser " +"um inteiro, string, bytes, uma instância de :mod:`ctypes`, ou um objeto com " +"um atributo :attr:`!_as_parameter_`::" #: ../../library/ctypes.rst:416 msgid "" @@ -548,6 +621,7 @@ msgstr "" #: ../../library/ctypes.rst:424 msgid "Specifying the required argument types (function prototypes)" msgstr "" +"Especificando os tipos de argumentos necessários (protótipos de função)" #: ../../library/ctypes.rst:426 msgid "" @@ -569,6 +643,9 @@ msgid "" "prototype for a C function), and tries to convert the arguments to valid " "types::" msgstr "" +"Especificar um formato protege contra tipos de argumentos incompatíveis " +"(assim como um protótipo para uma função em C), e tenta converter os " +"argumentos para tipos válidos::" #: ../../library/ctypes.rst:452 msgid "" @@ -602,9 +679,9 @@ msgstr "" #: ../../library/ctypes.rst:485 msgid "" -"If you want to avoid the ``ord(\"x\")`` calls above, you can set the :attr:" -"`argtypes` attribute, and the second argument will be converted from a " -"single character Python bytes object into a C char::" +"If you want to avoid the ``ord(\"x\")`` calls above, you can set " +"the :attr:`argtypes` attribute, and the second argument will be converted " +"from a single character Python bytes object into a C char::" msgstr "" #: ../../library/ctypes.rst:503 @@ -624,6 +701,10 @@ msgid "" "exception. ``WinError`` takes an optional error code parameter, if no one is " "used, it calls :func:`GetLastError` to retrieve it." msgstr "" +"``WinError`` é uma função que chamará a API ``FormatMessage()`` do Windows " +"para obter a representação em string de um código de erro, e *retorna* uma " +"exceção. ``WinError`` aceita um parâmetro de código de erro opcional, se " +"nenhum for usado, ela chama :func:`GetLastError` para recuperá-lo." #: ../../library/ctypes.rst:531 msgid "" @@ -633,7 +714,7 @@ msgstr "" #: ../../library/ctypes.rst:538 msgid "Passing pointers (or: passing parameters by reference)" -msgstr "" +msgstr "Passando ponteiros (ou: passando parâmetros por referência)" #: ../../library/ctypes.rst:540 msgid "" @@ -642,26 +723,37 @@ msgid "" "large to be passed by value. This is also known as *passing parameters by " "reference*." msgstr "" +"Às vezes, uma função da API C espera um *ponteiro* para um tipo de dado como " +"parâmetro, provavelmente para escrever no local correspondente, ou se os " +"dados forem muito grandes para serem passados por valor. Isso também é " +"conhecido como *passar parâmetros por referência*." #: ../../library/ctypes.rst:544 msgid "" ":mod:`ctypes` exports the :func:`byref` function which is used to pass " -"parameters by reference. The same effect can be achieved with the :func:" -"`pointer` function, although :func:`pointer` does a lot more work since it " -"constructs a real pointer object, so it is faster to use :func:`byref` if " -"you don't need the pointer object in Python itself::" -msgstr "" +"parameters by reference. The same effect can be achieved with " +"the :func:`pointer` function, although :func:`pointer` does a lot more work " +"since it constructs a real pointer object, so it is faster to " +"use :func:`byref` if you don't need the pointer object in Python itself::" +msgstr "" +"O :mod:`ctypes` exporta a função :func:`byref` que é usada para passar " +"parâmetros por referência. O mesmo efeito pode ser alcançado com a " +"função :func:`pointer`, embora :func:`pointer` faça muito mais trabalho, já " +"que ela constrói um objeto ponteiro real, então é mais rápido " +"usar :func:`byref` se você não precisar do objeto ponteiro no próprio " +"Python::" #: ../../library/ctypes.rst:566 msgid "Structures and unions" -msgstr "" +msgstr "Estruturas e uniões" #: ../../library/ctypes.rst:568 msgid "" -"Structures and unions must derive from the :class:`Structure` and :class:" -"`Union` base classes which are defined in the :mod:`ctypes` module. Each " -"subclass must define a :attr:`_fields_` attribute. :attr:`_fields_` must be " -"a list of *2-tuples*, containing a *field name* and a *field type*." +"Structures and unions must derive from the :class:`Structure` " +"and :class:`Union` base classes which are defined in the :mod:`ctypes` " +"module. Each subclass must define a :attr:`_fields_` " +"attribute. :attr:`_fields_` must be a list of *2-tuples*, containing a " +"*field name* and a *field type*." msgstr "" #: ../../library/ctypes.rst:573 @@ -669,6 +761,9 @@ msgid "" "The field type must be a :mod:`ctypes` type like :class:`c_int`, or any " "other derived :mod:`ctypes` type: structure, union, array, pointer." msgstr "" +"O tipo do campo deve ser um tipo :mod:`ctypes` como :class:`c_int`, ou " +"qualquer outro tipo :mod:`ctypes` derivado: estrutura, união, array, " +"ponteiro." #: ../../library/ctypes.rst:576 msgid "" @@ -676,24 +771,34 @@ msgid "" "named *x* and *y*, and also shows how to initialize a structure in the " "constructor::" msgstr "" +"Aqui está um exemplo simples de uma estrutura POINT, que contém dois " +"inteiros nomeados *x* e *y*, e também mostra como inicializar uma estrutura " +"no construtor::" #: ../../library/ctypes.rst:596 msgid "" "You can, however, build much more complicated structures. A structure can " "itself contain other structures by using a structure as a field type." msgstr "" +"Você pode, no entanto, construir estruturas muito mais complicadas. Uma " +"estrutura pode conter outras estruturas, usando uma estrutura como um tipo " +"de campo." #: ../../library/ctypes.rst:599 msgid "" "Here is a RECT structure which contains two POINTs named *upperleft* and " "*lowerright*::" msgstr "" +"Aqui está uma estrutura RECT que contém dois POINTs nomeados *upperleft* e " +"*lowerright*::" #: ../../library/ctypes.rst:613 msgid "" "Nested structures can also be initialized in the constructor in several " "ways::" msgstr "" +"Estruturas aninhadas também podem ser inicializadas no construtor de várias " +"maneiras::" #: ../../library/ctypes.rst:618 msgid "" @@ -708,6 +813,11 @@ msgid "" "guaranteed by the library to work in the general case. Unions and " "structures with bit-fields should always be passed to functions by pointer." msgstr "" +"O :mod:`ctypes` não suporta passar uniões ou estruturas com campos de bits " +"(bit-fields) para funções por valor. Embora isso possa funcionar em x86 de " +"32 bits, não é garantido pela biblioteca que funcione no caso geral. Uniões " +"e estruturas com campos de bits devem sempre ser passadas para funções por " +"ponteiro." #: ../../library/ctypes.rst:638 msgid "Structure/union alignment and byte order" @@ -716,24 +826,29 @@ msgstr "" #: ../../library/ctypes.rst:640 msgid "" "By default, Structure and Union fields are aligned in the same way the C " -"compiler does it. It is possible to override this behavior by specifying a :" -"attr:`_pack_` class attribute in the subclass definition. This must be set " -"to a positive integer and specifies the maximum alignment for the fields. " -"This is what ``#pragma pack(n)`` also does in MSVC." +"compiler does it. It is possible to override this behavior by specifying " +"a :attr:`_pack_` class attribute in the subclass definition. This must be " +"set to a positive integer and specifies the maximum alignment for the " +"fields. This is what ``#pragma pack(n)`` also does in MSVC." msgstr "" #: ../../library/ctypes.rst:646 msgid "" ":mod:`ctypes` uses the native byte order for Structures and Unions. To " -"build structures with non-native byte order, you can use one of the :class:" -"`BigEndianStructure`, :class:`LittleEndianStructure`, :class:" -"`BigEndianUnion`, and :class:`LittleEndianUnion` base classes. These " -"classes cannot contain pointer fields." +"build structures with non-native byte order, you can use one of " +"the :class:`BigEndianStructure`, :class:`LittleEndianStructure`, :class:`BigEndianUnion`, " +"and :class:`LittleEndianUnion` base classes. These classes cannot contain " +"pointer fields." msgstr "" +":mod:`ctypes` usa a ordem de bytes nativa para Estruturas e Uniões. Para " +"construir estruturas com ordem de bytes não nativa, você pode usar classes " +"base :class:`BigEndianStructure`, :class:`LittleEndianStructure`, :class:`BigEndianUnion` " +"e :class:`LittleEndianUnion`. Essas classes não podem conter campos de " +"ponteiros." #: ../../library/ctypes.rst:656 msgid "Bit fields in structures and unions" -msgstr "" +msgstr "Campos de bit em estruturas e uniões" #: ../../library/ctypes.rst:658 msgid "" @@ -744,39 +859,46 @@ msgstr "" #: ../../library/ctypes.rst:676 msgid "Arrays" -msgstr "Arrays" +msgstr "Vetores" #: ../../library/ctypes.rst:678 msgid "" "Arrays are sequences, containing a fixed number of instances of the same " "type." msgstr "" +"Vetores são sequências que contêm um número fixo de instâncias do mesmo tipo." #: ../../library/ctypes.rst:680 msgid "" "The recommended way to create array types is by multiplying a data type with " "a positive integer::" msgstr "" +"A maneira recomendada de criar tipos vetor é multiplicando um tipo de dado " +"por um inteiro positivo::" #: ../../library/ctypes.rst:685 msgid "" "Here is an example of a somewhat artificial data type, a structure " "containing 4 POINTs among other stuff::" msgstr "" +"Aqui está um exemplo de um tipo de dado um tanto artificial, uma estrutura " +"contendo 4 POINTs entre outras coisas::" #: ../../library/ctypes.rst:701 msgid "Instances are created in the usual way, by calling the class::" -msgstr "" +msgstr "Instâncias são criadas da maneira usual, chamando a classe::" #: ../../library/ctypes.rst:707 msgid "" "The above code print a series of ``0 0`` lines, because the array contents " "is initialized to zeros." msgstr "" +"O código acima exibe uma série de linhas ``0 0``, pois o conteúdo do vetor é " +"inicializado com zeros." #: ../../library/ctypes.rst:710 msgid "Initializers of the correct type can also be specified::" -msgstr "" +msgstr "Inicializadores do tipo correto também podem ser especificados::" #: ../../library/ctypes.rst:726 msgid "Pointers" @@ -784,21 +906,28 @@ msgstr "Ponteiros" #: ../../library/ctypes.rst:728 msgid "" -"Pointer instances are created by calling the :func:`pointer` function on a :" -"mod:`ctypes` type::" +"Pointer instances are created by calling the :func:`pointer` function on " +"a :mod:`ctypes` type::" msgstr "" +"Instâncias de ponteiro são criadas chamando a função :func:`pointer` em um " +"tipo :mod:`ctypes`::" #: ../../library/ctypes.rst:736 msgid "" "Pointer instances have a :attr:`~_Pointer.contents` attribute which returns " "the object to which the pointer points, the ``i`` object above::" msgstr "" +"Instâncias de ponteiros têm um atributo :attr:`~_Pointer.contents` que " +"retorna o objeto para qual o ponteiro aponta, o objeto ``i`` acima::" #: ../../library/ctypes.rst:743 msgid "" "Note that :mod:`ctypes` does not have OOR (original object return), it " "constructs a new, equivalent object each time you retrieve an attribute::" msgstr "" +"Note que o :mod:`ctypes` não possui OOR (retorno de objeto original), ele " +"constrói um objeto novo e equivalente cada vez que você recupera um " +"atributo::" #: ../../library/ctypes.rst:752 msgid "" @@ -806,14 +935,17 @@ msgid "" "attribute would cause the pointer to point to the memory location where this " "is stored::" msgstr "" +"Atribuir outra instância :class:`c_int` ao atributo do conteúdo do ponteiro " +"faria com que o ponteiro apontasse para o local de memória onde ela está " +"armazenada::" #: ../../library/ctypes.rst:764 msgid "Pointer instances can also be indexed with integers::" -msgstr "" +msgstr "Instâncias de ponteiro também podem ser indexadas com inteiros::" #: ../../library/ctypes.rst:770 msgid "Assigning to an integer index changes the pointed to value::" -msgstr "" +msgstr "Atribuir a um índice inteiro altera o valor apontado::" #: ../../library/ctypes.rst:779 msgid "" @@ -823,6 +955,11 @@ msgid "" "a C function, and you *know* that the pointer actually points to an array " "instead of a single item." msgstr "" +"Também é possível usar índices diferentes de 0, mas você deve saber o que " +"está fazendo, assim como em C: Você pode acessar ou alterar locais " +"arbitrários da memória. Geralmente, você só usa este recurso se receber um " +"ponteiro de uma função C, e você *sabe* que o ponteiro na verdade aponta " +"para um vetor em vez de um único item." #: ../../library/ctypes.rst:785 msgid "" @@ -831,18 +968,27 @@ msgid "" "the :func:`POINTER` function, which accepts any :mod:`ctypes` type, and " "returns a new type::" msgstr "" +"Nos bastidores, a função :func:`pointer` faz mais do que simplesmente criar " +"instâncias de ponteiro, ela precisa criar *tipos* de ponteiro primeiro. Isso " +"é feito com a função :func:`POINTER`, que aceita qualquer " +"tipo :mod:`ctypes`, e retorna um novo tipo::" #: ../../library/ctypes.rst:801 msgid "" "Calling the pointer type without an argument creates a ``NULL`` pointer. " "``NULL`` pointers have a ``False`` boolean value::" msgstr "" +"Chamar o tipo ponteiro sem um argumento cria um ponteiro ``NULL``. Ponteiros " +"``NULL`` possuem o valor booleano ``False``::" #: ../../library/ctypes.rst:809 msgid "" ":mod:`ctypes` checks for ``NULL`` when dereferencing pointers (but " "dereferencing invalid non-\\ ``NULL`` pointers would crash Python)::" msgstr "" +"O :mod:`ctypes` verifica por ``NULL`` ao desreferenciar ponteiros (mas " +"desreferenciar ponteiros inválidos que não sejam ``NULL`` travaria o " +"Python)::" #: ../../library/ctypes.rst:828 msgid "Type conversions" @@ -870,6 +1016,8 @@ msgstr "" #: ../../library/ctypes.rst:856 msgid "To set a POINTER type field to ``NULL``, you can assign ``None``::" msgstr "" +"Para definir um campo do tipo PONTEIRO como ``NULL``, você pode atribuir " +"``None``::" #: ../../library/ctypes.rst:863 msgid "" @@ -879,10 +1027,15 @@ msgid "" "accepts ``POINTER(c_int)`` pointers or :class:`c_int` arrays for its " "``values`` field, but not instances of other types::" msgstr "" +"Às vezes, você tem instâncias de tipos incompatíveis. Em C, você pode " +"converter um tipo em outro tipo. O :mod:`ctypes` fornece uma " +"função :func:`cast` que pode ser usada da mesma maneira. A estrutura ``Bar`` " +"definida acima aceita ponteiros ``POINTER(c_int)`` ou vetores :class:`c_int` " +"para seu campo ``values``, mas não instâncias de outros tipos::" #: ../../library/ctypes.rst:875 msgid "For these cases, the :func:`cast` function is handy." -msgstr "" +msgstr "Para esses casos, a função :func:`cast` é útil." #: ../../library/ctypes.rst:877 msgid "" @@ -892,12 +1045,20 @@ msgid "" "ctypes pointer type. It returns an instance of the second argument, which " "references the same memory block as the first argument::" msgstr "" +"A função :func:`cast` pode ser usada para converter uma instância ctypes em " +"um ponteiro para um diferente tipo de dado ctypes. :func:`cast` recebe dois " +"parâmetros, um objeto ctypes que é ou pode ser convertido para um ponteiro " +"de algum tipo, e um tipo ponteiro ctypes. Ela retorna uma instância do " +"segundo argumento, que referencia o mesmo bloco de memória que o primeiro " +"argumento::" #: ../../library/ctypes.rst:888 msgid "" "So, :func:`cast` can be used to assign to the ``values`` field of ``Bar`` " "the structure::" msgstr "" +"Então, :func:`cast` pode ser usada para atribuir ao campo ``values`` da " +"estrutura ``Bar``::" #: ../../library/ctypes.rst:901 msgid "Incomplete Types" @@ -909,18 +1070,21 @@ msgid "" "yet specified. In C, they are specified by forward declarations, which are " "defined later::" msgstr "" +"*Tipos Incompletos* são estruturas, uniões ou vetores, cujos membros ainda " +"não foram especificados. Em C, eles são especificados por declarações " +"antecipadas, que são definidas posteriormente::" #: ../../library/ctypes.rst:914 msgid "" "The straightforward translation into ctypes code would be this, but it does " "not work::" -msgstr "" +msgstr "A tradução direta para código ctypes seria esta, mas não funciona::" #: ../../library/ctypes.rst:927 msgid "" "because the new ``class cell`` is not available in the class statement " -"itself. In :mod:`ctypes`, we can define the ``cell`` class and set the :attr:" -"`_fields_` attribute later, after the class statement::" +"itself. In :mod:`ctypes`, we can define the ``cell`` class and set " +"the :attr:`_fields_` attribute later, after the class statement::" msgstr "" #: ../../library/ctypes.rst:939 @@ -928,6 +1092,9 @@ msgid "" "Let's try it. We create two instances of ``cell``, and let them point to " "each other, and finally follow the pointer chain a few times::" msgstr "" +"Vamos tentar. Criamos duas instâncias de ``cell``, e deixamos que elas " +"apontem uma para a outra, e finalmente seguimos a cadeia de ponteiros " +"algumas vezes::" #: ../../library/ctypes.rst:960 msgid "Callback functions" @@ -938,6 +1105,8 @@ msgid "" ":mod:`ctypes` allows creating C callable function pointers from Python " "callables. These are sometimes called *callback functions*." msgstr "" +":mod:`ctypes` permite criar ponteiros de função C chamáveis a partir de " +"chamáveis Python. Estas são às vezes chamadas de *funções de callback*" #: ../../library/ctypes.rst:965 msgid "" @@ -945,6 +1114,9 @@ msgid "" "the calling convention, the return type, and the number and types of " "arguments this function will receive." msgstr "" +"Primeiro, você deve criar uma classe para função de retorno. A classe sabe a " +"convenção de chamada , o tipo de retorno, e o número e tipos de argumentos " +"que essa função irá receber." #: ../../library/ctypes.rst:969 msgid "" @@ -953,6 +1125,10 @@ msgid "" "factory function creates types for callback functions using the ``stdcall`` " "calling convention." msgstr "" +"A função de fábrica :func:`CFUNCTYPE` cria tipos para funções de retorno " +"usando a convenção de chamada ``cdecl``. No Windows, a função de " +"fábrica :func:`WINFUNCTYPE` cria tipos para funções de retorno usando a " +"convenção de chamada ``stdcall``." #: ../../library/ctypes.rst:974 msgid "" @@ -960,12 +1136,16 @@ msgid "" "argument, and the callback functions expected argument types as the " "remaining arguments." msgstr "" +"Ambas estas funções de fábrica são chamadas com o tipo de resultado como " +"primeiro argumento, e os tipos de argumento esperados da função de retorno " +"como os argumentos restantes." #: ../../library/ctypes.rst:978 msgid "" -"I will present an example here which uses the standard C library's :c:func:" -"`qsort` function, that is used to sort items with the help of a callback " -"function. :c:func:`qsort` will be used to sort an array of integers::" +"I will present an example here which uses the standard C " +"library's :c:func:`qsort` function, that is used to sort items with the help " +"of a callback function. :c:func:`qsort` will be used to sort an array of " +"integers::" msgstr "" #: ../../library/ctypes.rst:988 @@ -983,12 +1163,17 @@ msgid "" "So our callback function receives pointers to integers, and must return an " "integer. First we create the ``type`` for the callback function::" msgstr "" +"Então, nossa função de retorno (callback function) recebe ponteiros para " +"inteiros, e deve retornar um inteiro. Primeiro criamos o ``type`` para a " +"função de retorno::" #: ../../library/ctypes.rst:1000 msgid "" "To get started, here is a simple callback that shows the values it gets " "passed::" msgstr "" +"Para começar, aqui está uma função de retorno (callback) simples que mostra " +"os valores que lhe são passados::" #: ../../library/ctypes.rst:1010 msgid "The result::" @@ -997,16 +1182,19 @@ msgstr "O resultado::" #: ../../library/ctypes.rst:1020 msgid "Now we can actually compare the two items and return a useful result::" msgstr "" +"Agora podemos realmente comparar os dois itens e retornar um resultado útil::" #: ../../library/ctypes.rst:1035 msgid "As we can easily check, our array is sorted now::" -msgstr "" +msgstr "Como podemos verificar facilmente, nosso vetor está ordenado agora::" #: ../../library/ctypes.rst:1042 msgid "" "The function factories can be used as decorator factories, so we may as well " "write::" msgstr "" +"As fábricas de funções podem ser usadas como fábricas de decoradores, então " +"também podemos escrever::" #: ../../library/ctypes.rst:1060 msgid "" @@ -1014,6 +1202,10 @@ msgid "" "are used from C code. :mod:`ctypes` doesn't, and if you don't, they may be " "garbage collected, crashing your program when a callback is made." msgstr "" +"Certifique-se de manter referências aos objetos :func:`CFUNCTYPE` enquanto " +"eles forem usados a partir do código C. O :mod:`ctypes` não faz isso, e se " +"você não o fizer, eles podem ser coletados pelo coletor de lixo, travando " +"seu programa quando uma função de retorno é chamada." #: ../../library/ctypes.rst:1064 msgid "" @@ -1024,10 +1216,17 @@ msgid "" "with :class:`threading.local` will *not* survive across different callbacks, " "even when those calls are made from the same C thread." msgstr "" +"Além disso, note que se a função de retorno for chamada em uma thread criada " +"fora do controle do Python (por exemplo, pelo código externo que chama a " +"função de retorno), o ctypes cria uma nova thread Python \"dummy\" " +"(fictícia) em cada invocação. Este comportamento é correto para a maioria " +"dos propósitos, mas significa que os valores armazenados " +"com :class:`threading.local` *não* sobreviverão entre diferentes funções de " +"retorno, mesmo quando essas chamadas são feitas a partir da mesma thread C." #: ../../library/ctypes.rst:1074 msgid "Accessing values exported from dlls" -msgstr "" +msgstr "Acessando valores exportados de dlls" #: ../../library/ctypes.rst:1076 msgid "" @@ -1056,10 +1255,12 @@ msgid "" "An extended example which also demonstrates the use of pointers accesses " "the :c:data:`PyImport_FrozenModules` pointer exported by Python." msgstr "" +"Um exemplo estendido que também demonstra o uso de ponteiros acessa o " +"ponteiro :c:data:`PyImport_FrozenModules` exportado pelo Python." #: ../../library/ctypes.rst:1097 msgid "Quoting the docs for that value:" -msgstr "" +msgstr "Citando a documentação para esse valor:" #: ../../library/ctypes.rst:1099 msgid "" @@ -1069,10 +1270,10 @@ msgid "" "could play tricks with this to provide a dynamically created collection of " "frozen modules." msgstr "" -"Este ponteiro é inicializado para apontar para um vetor de registros de :c:" -"struct:`_frozen`, terminado por um cujos membros são todos ``NULL`` ou zero. " -"Quando um módulo congelado é importado, ele é pesquisado nesta tabela. O " -"código de terceiros pode fazer truques com isso para fornecer uma coleção " +"Este ponteiro é inicializado para apontar para um vetor de registros " +"de :c:struct:`_frozen`, terminado por um cujos membros são todos ``NULL`` ou " +"zero. Quando um módulo congelado é importado, ele é pesquisado nesta tabela. " +"O código de terceiros pode fazer truques com isso para fornecer uma coleção " "criada dinamicamente de módulos congelados." #: ../../library/ctypes.rst:1104 @@ -1080,12 +1281,17 @@ msgid "" "So manipulating this pointer could even prove useful. To restrict the " "example size, we show only how this table can be read with :mod:`ctypes`::" msgstr "" +"Então, manipular este ponteiro pode até ser útil. Para restringir o tamanho " +"do exemplo, mostramos apenas como esta tabela pode ser lida " +"com :mod:`ctypes`::" #: ../../library/ctypes.rst:1118 msgid "" "We have defined the :c:struct:`_frozen` data type, so we can get the pointer " "to the table::" msgstr "" +"Nós definimos tipo de dado :c:struct:`_frozen`, para que possamos obter o " +"ponteiro para a tabela::" #: ../../library/ctypes.rst:1125 msgid "" @@ -1095,6 +1301,11 @@ msgid "" "crash with an access violation or whatever, so it's better to break out of " "the loop when we hit the ``NULL`` entry::" msgstr "" +"Como ``table`` é um ``pointer`` para o vetor de registros ``struct_frozen``, " +"nós podemos iterar sobre ele, mas só temos que nos certificar de que nosso " +"loop termine, porque ponteiros não têm tamanho. Cedo ou tarde, ele " +"provavelmente travaria com uma violação de acesso ou algo assim, então é " +"melhor sair do loop quando atingirmos a entrada ``NULL``::" #: ../../library/ctypes.rst:1141 msgid "" @@ -1102,26 +1313,34 @@ msgid "" "(indicated by the negative ``size`` member) is not well known, it is only " "used for testing. Try it out with ``import __hello__`` for example." msgstr "" +"O fato de que o Python padrão tem um módulo congelado e um pacote congelado " +"(indicado pelo membro ``size`` negativo) não é bem conhecido, é usado apenas " +"para testes. Experimente com ``import __hello__`` por exemplo." #: ../../library/ctypes.rst:1149 msgid "Surprises" -msgstr "" +msgstr "Surpresas" #: ../../library/ctypes.rst:1151 msgid "" "There are some edges in :mod:`ctypes` where you might expect something other " "than what actually happens." msgstr "" +"Existem algumas pontos limites no :mod:`ctypes` onde você pode esperar algo " +"diferente do que realmente ocorre." #: ../../library/ctypes.rst:1154 msgid "Consider the following example::" -msgstr "" +msgstr "Considere o exemplo a seguir::" #: ../../library/ctypes.rst:1174 msgid "" "Hm. We certainly expected the last statement to print ``3 4 1 2``. What " "happened? Here are the steps of the ``rc.a, rc.b = rc.b, rc.a`` line above::" msgstr "" +"Hm. Nós com certeza esperávamos que a última instrução exibisse ``3 4 1 2``. " +"O que aconteceu? Aqui estão os passos da linha ``rc.a, rc.b = rc.b, rc.a`` " +"acima::" #: ../../library/ctypes.rst:1182 msgid "" @@ -1131,6 +1350,11 @@ msgid "" "the contents of ``temp1``. So, the last assignment ``rc.b = temp1``, doesn't " "have the expected effect." msgstr "" +"Observe que ``temp0`` e ``temp1`` ainda são objetos que utilizam o buffer " +"interno do objeto ``rc`` acima. Portanto, executar ``rc.a = temp0`` copia o " +"conteúdo do buffer de ``temp0`` para o buffer de ``rc``. Isso, por sua vez, " +"altera o conteúdo de ``temp1``. Assim, a última atribuição ``rc.b = temp1`` " +"não produz o efeito esperado." #: ../../library/ctypes.rst:1188 msgid "" @@ -1138,18 +1362,25 @@ msgid "" "doesn't *copy* the sub-object, instead it retrieves a wrapper object " "accessing the root-object's underlying buffer." msgstr "" +"Tenha em mente que obter sub-objetos de estruturas, uniões e vetores não " +"copia o sub-objeto; em vez disso, recupera um objeto de encapsulamento " +"(wrapper) que acessa o buffer subjacente do objeto raiz." #: ../../library/ctypes.rst:1192 msgid "" "Another example that may behave differently from what one would expect is " "this::" msgstr "" +"Outro exemplo que pode se comportar de maneira diferente do que alguém " +"poderia esperar é o seguinte::" #: ../../library/ctypes.rst:1204 msgid "" "Objects instantiated from :class:`c_char_p` can only have their value set to " "bytes or integers." msgstr "" +"Objetos instanciados a partir de :class:`c_char_p` só podem ter seu valor " +"definido para bytes ou inteiros." #: ../../library/ctypes.rst:1207 msgid "" @@ -1159,15 +1390,23 @@ msgid "" "object itself, instead the ``contents`` of the object is stored. Accessing " "the contents again constructs a new Python object each time!" msgstr "" +"Por que está imprimindo ``False``? Instâncias de ctypes são objetos que " +"contêm um bloco de memória, além de alguns :term:`descriptor`\\s que acessam " +"o conteúdo dessa memória. Armazenar um objeto Python no bloco de memória não " +"armazena o próprio objeto; em vez disso, armazena-se o seu atributo " +"``contents``. Acessar o contents novamente constrói um novo objeto Python a " +"cada vez!" #: ../../library/ctypes.rst:1217 msgid "Variable-sized data types" -msgstr "" +msgstr "Tipos de dados de tamanho variável" #: ../../library/ctypes.rst:1219 msgid "" ":mod:`ctypes` provides some support for variable-sized arrays and structures." msgstr "" +"O :mod:`ctypes` fornece algum suporte para vetores e estruturas de tamanhos " +"variável." #: ../../library/ctypes.rst:1221 msgid "" @@ -1177,6 +1416,12 @@ msgid "" "cannot be made smaller than the natural memory block specified by the " "objects type, a :exc:`ValueError` is raised if this is tried::" msgstr "" +"A função :func:`resize` pode ser usada para redimensionar o buffer de " +"memória de um objeto ctypes existente. A função recebe o objeto como " +"primeiro argumento, e o tamanho solicitado em bytes como o segundo " +"argumento. O bloco de memória não pode ser tornado menor do que o bloco de " +"memória natural especificado pelo tipo do objeto, um :exc:`ValueError` é " +"levantado se isso for tentado::" #: ../../library/ctypes.rst:1241 msgid "" @@ -1184,6 +1429,9 @@ msgid "" "contained in this array? Since the type still only knows about 4 elements, " "we get errors accessing other elements::" msgstr "" +"Isso é bom e funcional, mas como alguém acessaria os elementos contidos " +"neste vetor? Já que o tipo ainda sabe apenas sobre 4 elementos, obtemos " +"erros ao acessar outros elementos::" #: ../../library/ctypes.rst:1253 msgid "" @@ -1191,6 +1439,9 @@ msgid "" "the dynamic nature of Python, and (re-)define the data type after the " "required size is already known, on a case by case basis." msgstr "" +"Outra maneira de usar tipos de dados de tamanho variável com o :mod:`ctypes` " +"é usar a natureza dinâmica do Python, e (re)definir o tipo de dados depois " +"que o tamanho necessário já for conhecido, caso a caso." #: ../../library/ctypes.rst:1261 msgid "ctypes reference" @@ -1198,13 +1449,16 @@ msgstr "Referência ctypes" #: ../../library/ctypes.rst:1267 msgid "Finding shared libraries" -msgstr "" +msgstr "Encontrando bibliotecas compartilhadas" #: ../../library/ctypes.rst:1269 msgid "" "When programming in a compiled language, shared libraries are accessed when " "compiling/linking a program, and when the program is run." msgstr "" +"Ao programar em uma linguagem compilada, bibliotecas compartilhadas são " +"acessadas ao compilar/linkar (compiling/linking) um programa, e quando o " +"programa é executado." #: ../../library/ctypes.rst:1272 msgid "" @@ -1229,7 +1483,7 @@ msgid "" "If no library can be found, returns ``None``." msgstr "" -#: ../../library/ctypes.rst:1291 ../../library/ctypes.rst:1934 +#: ../../library/ctypes.rst:1291 ../../library/ctypes.rst:1935 msgid "The exact functionality is system dependent." msgstr "" @@ -1249,7 +1503,7 @@ msgstr "" #: ../../library/ctypes.rst:1301 msgid "Here are some examples::" -msgstr "Here are some examples::" +msgstr "Veja alguns exemplos::" #: ../../library/ctypes.rst:1312 msgid "" @@ -1292,13 +1546,14 @@ msgstr "" #: ../../library/ctypes.rst:1350 msgid "" "On Windows creating a :class:`CDLL` instance may fail even if the DLL name " -"exists. When a dependent DLL of the loaded DLL is not found, a :exc:" -"`OSError` error is raised with the message *\"[WinError 126] The specified " -"module could not be found\".* This error message does not contain the name " -"of the missing DLL because the Windows API does not return this information " -"making this error hard to diagnose. To resolve this error and determine " -"which DLL is not found, you need to find the list of dependent DLLs and " -"determine which one is not found using Windows debugging and tracing tools." +"exists. When a dependent DLL of the loaded DLL is not found, " +"a :exc:`OSError` error is raised with the message *\"[WinError 126] The " +"specified module could not be found\".* This error message does not contain " +"the name of the missing DLL because the Windows API does not return this " +"information making this error hard to diagnose. To resolve this error and " +"determine which DLL is not found, you need to find the list of dependent " +"DLLs and determine which one is not found using Windows debugging and " +"tracing tools." msgstr "" #: ../../library/ctypes.rst:1362 @@ -1311,42 +1566,52 @@ msgstr "" msgid "" "Windows only: Instances of this class represent loaded shared libraries, " "functions in these libraries use the ``stdcall`` calling convention, and are " -"assumed to return the windows specific :class:`HRESULT` code. :class:" -"`HRESULT` values contain information specifying whether the function call " -"failed or succeeded, together with additional error code. If the return " -"value signals a failure, an :class:`OSError` is automatically raised." +"assumed to return the windows specific :class:`HRESULT` " +"code. :class:`HRESULT` values contain information specifying whether the " +"function call failed or succeeded, together with additional error code. If " +"the return value signals a failure, an :class:`OSError` is automatically " +"raised." msgstr "" #: ../../library/ctypes.rst:1375 -msgid ":exc:`WindowsError` used to be raised." +msgid "" +":exc:`WindowsError` used to be raised, which is now an alias " +"of :exc:`OSError`." msgstr "" +"Costumava-se levantar :exc:`WindowsError`, que agora é um apelido " +"de :exc:`OSError`." -#: ../../library/ctypes.rst:1381 +#: ../../library/ctypes.rst:1382 msgid "" "Windows only: Instances of this class represent loaded shared libraries, " "functions in these libraries use the ``stdcall`` calling convention, and are " "assumed to return :c:expr:`int` by default." msgstr "" -#: ../../library/ctypes.rst:1385 +#: ../../library/ctypes.rst:1386 msgid "" "The Python :term:`global interpreter lock` is released before calling any " "function exported by these libraries, and reacquired afterwards." msgstr "" -#: ../../library/ctypes.rst:1391 +#: ../../library/ctypes.rst:1392 msgid "" "Instances of this class behave like :class:`CDLL` instances, except that the " "Python GIL is *not* released during the function call, and after the " "function execution the Python error flag is checked. If the error flag is " "set, a Python exception is raised." msgstr "" +"Instâncias desta classe se comportam como instâncias :class:`CDLL`, exceto " +"que o GIL do Python *não* é liberado durante a chamada da função e, após a " +"execução da função, o sinalizador de erro do Python é verificado. Se o " +"sinalizador de erro estiver definido, uma exceção Python é levantada." -#: ../../library/ctypes.rst:1396 +#: ../../library/ctypes.rst:1397 msgid "Thus, this is only useful to call Python C api functions directly." msgstr "" +"Portanto, isso só é útil para chamar funções da api C do Python diretamente." -#: ../../library/ctypes.rst:1398 +#: ../../library/ctypes.rst:1399 msgid "" "All these classes can be instantiated by calling them with at least one " "argument, the pathname of the shared library. If you have an existing " @@ -1356,41 +1621,47 @@ msgid "" "to get a handle to it." msgstr "" -#: ../../library/ctypes.rst:1405 +#: ../../library/ctypes.rst:1406 msgid "" "The *mode* parameter can be used to specify how the library is loaded. For " "details, consult the :manpage:`dlopen(3)` manpage. On Windows, *mode* is " "ignored. On posix systems, RTLD_NOW is always added, and is not " "configurable." msgstr "" +"O parâmetro *mode* pode ser utilizado para especificar como a biblioteca é " +"carregada. Para detalhes, consulte a página de manual :manpage:`dlopen(3)`. " +"No Windows, *mode* é ignorado. Em sistemas posix, RTLD_NOW é sempre " +"adicionado e, não é configurável." -#: ../../library/ctypes.rst:1410 +#: ../../library/ctypes.rst:1411 msgid "" "The *use_errno* parameter, when set to true, enables a ctypes mechanism that " -"allows accessing the system :data:`errno` error number in a safe way. :mod:" -"`ctypes` maintains a thread-local copy of the systems :data:`errno` " -"variable; if you call foreign functions created with ``use_errno=True`` then " -"the :data:`errno` value before the function call is swapped with the ctypes " -"private copy, the same happens immediately after the function call." +"allows accessing the system :data:`errno` error number in a safe " +"way. :mod:`ctypes` maintains a thread-local copy of the " +"systems :data:`errno` variable; if you call foreign functions created with " +"``use_errno=True`` then the :data:`errno` value before the function call is " +"swapped with the ctypes private copy, the same happens immediately after the " +"function call." msgstr "" -#: ../../library/ctypes.rst:1417 +#: ../../library/ctypes.rst:1418 msgid "" "The function :func:`ctypes.get_errno` returns the value of the ctypes " "private copy, and the function :func:`ctypes.set_errno` changes the ctypes " "private copy to a new value and returns the former value." msgstr "" -#: ../../library/ctypes.rst:1421 +#: ../../library/ctypes.rst:1422 msgid "" "The *use_last_error* parameter, when set to true, enables the same mechanism " -"for the Windows error code which is managed by the :func:`GetLastError` and :" -"func:`SetLastError` Windows API functions; :func:`ctypes.get_last_error` " -"and :func:`ctypes.set_last_error` are used to request and change the ctypes " -"private copy of the windows error code." +"for the Windows error code which is managed by the :func:`GetLastError` " +"and :func:`SetLastError` Windows API " +"functions; :func:`ctypes.get_last_error` and :func:`ctypes.set_last_error` " +"are used to request and change the ctypes private copy of the windows error " +"code." msgstr "" -#: ../../library/ctypes.rst:1427 +#: ../../library/ctypes.rst:1428 msgid "" "The *winmode* parameter is used on Windows to specify how the library is " "loaded (since *mode* is ignored). It takes any value that is valid for the " @@ -1400,29 +1671,29 @@ msgid "" "ensure the correct library and dependencies are loaded." msgstr "" -#: ../../library/ctypes.rst:1434 +#: ../../library/ctypes.rst:1435 msgid "Added *winmode* parameter." msgstr "" -#: ../../library/ctypes.rst:1441 +#: ../../library/ctypes.rst:1442 msgid "" "Flag to use as *mode* parameter. On platforms where this flag is not " "available, it is defined as the integer zero." msgstr "" -#: ../../library/ctypes.rst:1448 +#: ../../library/ctypes.rst:1449 msgid "" "Flag to use as *mode* parameter. On platforms where this is not available, " "it is the same as *RTLD_GLOBAL*." msgstr "" -#: ../../library/ctypes.rst:1455 +#: ../../library/ctypes.rst:1456 msgid "" "The default mode which is used to load shared libraries. On OSX 10.3, this " "is *RTLD_GLOBAL*, otherwise it is the same as *RTLD_LOCAL*." msgstr "" -#: ../../library/ctypes.rst:1458 +#: ../../library/ctypes.rst:1459 msgid "" "Instances of these classes have no public methods. Functions exported by " "the shared library can be accessed as attributes or by index. Please note " @@ -1431,21 +1702,21 @@ msgid "" "other hand, accessing it through an index returns a new object each time::" msgstr "" -#: ../../library/ctypes.rst:1471 +#: ../../library/ctypes.rst:1472 msgid "" "The following public attributes are available, their name starts with an " "underscore to not clash with exported function names:" msgstr "" -#: ../../library/ctypes.rst:1477 +#: ../../library/ctypes.rst:1478 msgid "The system handle used to access the library." msgstr "" -#: ../../library/ctypes.rst:1482 +#: ../../library/ctypes.rst:1483 msgid "The name of the library passed in the constructor." msgstr "" -#: ../../library/ctypes.rst:1484 +#: ../../library/ctypes.rst:1485 msgid "" "Shared libraries can also be loaded by using one of the prefabricated " "objects, which are instances of the :class:`LibraryLoader` class, either by " @@ -1453,103 +1724,108 @@ msgid "" "attribute of the loader instance." msgstr "" -#: ../../library/ctypes.rst:1492 +#: ../../library/ctypes.rst:1493 msgid "" -"Class which loads shared libraries. *dlltype* should be one of the :class:" -"`CDLL`, :class:`PyDLL`, :class:`WinDLL`, or :class:`OleDLL` types." +"Class which loads shared libraries. *dlltype* should be one of " +"the :class:`CDLL`, :class:`PyDLL`, :class:`WinDLL`, or :class:`OleDLL` types." msgstr "" -#: ../../library/ctypes.rst:1495 +#: ../../library/ctypes.rst:1496 msgid "" ":meth:`__getattr__` has special behavior: It allows loading a shared library " "by accessing it as attribute of a library loader instance. The result is " "cached, so repeated attribute accesses return the same library each time." msgstr "" -#: ../../library/ctypes.rst:1501 +#: ../../library/ctypes.rst:1502 msgid "" "Load a shared library into the process and return it. This method always " "returns a new instance of the library." msgstr "" -#: ../../library/ctypes.rst:1505 +#: ../../library/ctypes.rst:1506 msgid "These prefabricated library loaders are available:" msgstr "" -#: ../../library/ctypes.rst:1510 +#: ../../library/ctypes.rst:1511 msgid "Creates :class:`CDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1516 +#: ../../library/ctypes.rst:1517 msgid "Windows only: Creates :class:`WinDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1522 +#: ../../library/ctypes.rst:1523 msgid "Windows only: Creates :class:`OleDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1528 +#: ../../library/ctypes.rst:1529 msgid "Creates :class:`PyDLL` instances." msgstr "" -#: ../../library/ctypes.rst:1531 +#: ../../library/ctypes.rst:1532 msgid "" "For accessing the C Python api directly, a ready-to-use Python shared " "library object is available:" msgstr "" -#: ../../library/ctypes.rst:1537 +#: ../../library/ctypes.rst:1538 msgid "" "An instance of :class:`PyDLL` that exposes Python C API functions as " -"attributes. Note that all these functions are assumed to return C :c:expr:" -"`int`, which is of course not always the truth, so you have to assign the " -"correct :attr:`restype` attribute to use these functions." +"attributes. Note that all these functions are assumed to return " +"C :c:expr:`int`, which is of course not always the truth, so you have to " +"assign the correct :attr:`restype` attribute to use these functions." msgstr "" -#: ../../library/ctypes.rst:1542 +#: ../../library/ctypes.rst:1543 msgid "" "Raises an :ref:`auditing event ` ``ctypes.dlopen`` with argument " "``name``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``ctypes.dlopen`` com o " +"argumento ``name``." -#: ../../library/ctypes.rst:1544 +#: ../../library/ctypes.rst:1545 msgid "" "Loading a library through any of these objects raises an :ref:`auditing " "event ` ``ctypes.dlopen`` with string argument ``name``, the name " "used to load the library." msgstr "" +"Carregar uma biblioteca através de qualquer um desses objetos levanta " +"um :ref:`evento de auditoria ` ``ctypes.dlopen`` com o argumento " +"string ``name``, o nome usado para carregar a biblioteca." -#: ../../library/ctypes.rst:1548 +#: ../../library/ctypes.rst:1549 msgid "" "Raises an :ref:`auditing event ` ``ctypes.dlsym`` with arguments " "``library``, ``name``." msgstr "" -#: ../../library/ctypes.rst:1550 +#: ../../library/ctypes.rst:1551 msgid "" -"Accessing a function on a loaded library raises an auditing event ``ctypes." -"dlsym`` with arguments ``library`` (the library object) and ``name`` (the " -"symbol's name as a string or integer)." +"Accessing a function on a loaded library raises an auditing event " +"``ctypes.dlsym`` with arguments ``library`` (the library object) and " +"``name`` (the symbol's name as a string or integer)." msgstr "" -#: ../../library/ctypes.rst:1554 +#: ../../library/ctypes.rst:1555 msgid "" "Raises an :ref:`auditing event ` ``ctypes.dlsym/handle`` with " "arguments ``handle``, ``name``." msgstr "" -#: ../../library/ctypes.rst:1556 +#: ../../library/ctypes.rst:1557 msgid "" "In cases when only the library handle is available rather than the object, " "accessing a function raises an auditing event ``ctypes.dlsym/handle`` with " "arguments ``handle`` (the raw library handle) and ``name``." msgstr "" -#: ../../library/ctypes.rst:1563 +#: ../../library/ctypes.rst:1564 msgid "Foreign functions" msgstr "" -#: ../../library/ctypes.rst:1565 +#: ../../library/ctypes.rst:1566 msgid "" "As explained in the previous section, foreign functions can be accessed as " "attributes of loaded shared libraries. The function objects created in this " @@ -1558,29 +1834,29 @@ msgid "" "library loader. They are instances of a private class:" msgstr "" -#: ../../library/ctypes.rst:1574 +#: ../../library/ctypes.rst:1575 msgid "Base class for C callable foreign functions." msgstr "" -#: ../../library/ctypes.rst:1576 +#: ../../library/ctypes.rst:1577 msgid "" "Instances of foreign functions are also C compatible data types; they " "represent C function pointers." msgstr "" -#: ../../library/ctypes.rst:1579 +#: ../../library/ctypes.rst:1580 msgid "" "This behavior can be customized by assigning to special attributes of the " "foreign function object." msgstr "" -#: ../../library/ctypes.rst:1584 +#: ../../library/ctypes.rst:1585 msgid "" "Assign a ctypes type to specify the result type of the foreign function. Use " "``None`` for :c:expr:`void`, a function not returning anything." msgstr "" -#: ../../library/ctypes.rst:1587 +#: ../../library/ctypes.rst:1588 msgid "" "It is possible to assign a callable Python object that is not a ctypes type, " "in this case the function is assumed to return a C :c:expr:`int`, and the " @@ -1590,7 +1866,7 @@ msgid "" "callable to the :attr:`errcheck` attribute." msgstr "" -#: ../../library/ctypes.rst:1596 +#: ../../library/ctypes.rst:1597 msgid "" "Assign a tuple of ctypes types to specify the argument types that the " "function accepts. Functions using the ``stdcall`` calling convention can " @@ -1599,17 +1875,17 @@ msgid "" "unspecified arguments as well." msgstr "" -#: ../../library/ctypes.rst:1602 +#: ../../library/ctypes.rst:1603 msgid "" -"When a foreign function is called, each actual argument is passed to the :" -"meth:`from_param` class method of the items in the :attr:`argtypes` tuple, " -"this method allows adapting the actual argument to an object that the " -"foreign function accepts. For example, a :class:`c_char_p` item in the :" -"attr:`argtypes` tuple will convert a string passed as argument into a bytes " -"object using ctypes conversion rules." +"When a foreign function is called, each actual argument is passed to " +"the :meth:`from_param` class method of the items in the :attr:`argtypes` " +"tuple, this method allows adapting the actual argument to an object that the " +"foreign function accepts. For example, a :class:`c_char_p` item in " +"the :attr:`argtypes` tuple will convert a string passed as argument into a " +"bytes object using ctypes conversion rules." msgstr "" -#: ../../library/ctypes.rst:1609 +#: ../../library/ctypes.rst:1610 msgid "" "New: It is now possible to put items in argtypes which are not ctypes types, " "but each item must have a :meth:`from_param` method which returns a value " @@ -1617,76 +1893,78 @@ msgid "" "adapters that can adapt custom objects as function parameters." msgstr "" -#: ../../library/ctypes.rst:1616 +#: ../../library/ctypes.rst:1617 msgid "" "Assign a Python function or another callable to this attribute. The callable " "will be called with three or more arguments:" msgstr "" -#: ../../library/ctypes.rst:1623 +#: ../../library/ctypes.rst:1624 msgid "" -"*result* is what the foreign function returns, as specified by the :attr:" -"`restype` attribute." +"*result* is what the foreign function returns, as specified by " +"the :attr:`restype` attribute." msgstr "" -#: ../../library/ctypes.rst:1626 +#: ../../library/ctypes.rst:1627 msgid "" "*func* is the foreign function object itself, this allows reusing the same " "callable object to check or post process the results of several functions." msgstr "" -#: ../../library/ctypes.rst:1630 +#: ../../library/ctypes.rst:1631 msgid "" "*arguments* is a tuple containing the parameters originally passed to the " "function call, this allows specializing the behavior on the arguments used." msgstr "" -#: ../../library/ctypes.rst:1634 +#: ../../library/ctypes.rst:1635 msgid "" "The object that this function returns will be returned from the foreign " "function call, but it can also check the result value and raise an exception " "if the foreign function call failed." msgstr "" -#: ../../library/ctypes.rst:1641 +#: ../../library/ctypes.rst:1642 msgid "" "This exception is raised when a foreign function call cannot convert one of " "the passed arguments." msgstr "" +"Esta exceção é levantada quando uma chamada de função externa não consegue " +"converter um dos argumentos passados." -#: ../../library/ctypes.rst:1645 +#: ../../library/ctypes.rst:1646 msgid "" "Raises an :ref:`auditing event ` ``ctypes.seh_exception`` with " "argument ``code``." msgstr "" -#: ../../library/ctypes.rst:1647 +#: ../../library/ctypes.rst:1648 msgid "" "On Windows, when a foreign function call raises a system exception (for " "example, due to an access violation), it will be captured and replaced with " -"a suitable Python exception. Further, an auditing event ``ctypes." -"seh_exception`` with argument ``code`` will be raised, allowing an audit " -"hook to replace the exception with its own." +"a suitable Python exception. Further, an auditing event " +"``ctypes.seh_exception`` with argument ``code`` will be raised, allowing an " +"audit hook to replace the exception with its own." msgstr "" -#: ../../library/ctypes.rst:1653 +#: ../../library/ctypes.rst:1654 msgid "" "Raises an :ref:`auditing event ` ``ctypes.call_function`` with " "arguments ``func_pointer``, ``arguments``." msgstr "" -#: ../../library/ctypes.rst:1655 +#: ../../library/ctypes.rst:1656 msgid "" "Some ways to invoke foreign function calls may raise an auditing event " "``ctypes.call_function`` with arguments ``function pointer`` and " "``arguments``." msgstr "" -#: ../../library/ctypes.rst:1661 +#: ../../library/ctypes.rst:1662 msgid "Function prototypes" msgstr "" -#: ../../library/ctypes.rst:1663 +#: ../../library/ctypes.rst:1664 msgid "" "Foreign functions can also be created by instantiating function prototypes. " "Function prototypes are similar to function prototypes in C; they describe a " @@ -1697,29 +1975,30 @@ msgid "" "``@wrapper`` syntax. See :ref:`ctypes-callback-functions` for examples." msgstr "" -#: ../../library/ctypes.rst:1674 +#: ../../library/ctypes.rst:1675 msgid "" "The returned function prototype creates functions that use the standard C " "calling convention. The function will release the GIL during the call. If " -"*use_errno* is set to true, the ctypes private copy of the system :data:" -"`errno` variable is exchanged with the real :data:`errno` value before and " -"after the call; *use_last_error* does the same for the Windows error code." +"*use_errno* is set to true, the ctypes private copy of the " +"system :data:`errno` variable is exchanged with the real :data:`errno` value " +"before and after the call; *use_last_error* does the same for the Windows " +"error code." msgstr "" -#: ../../library/ctypes.rst:1684 +#: ../../library/ctypes.rst:1685 msgid "" "Windows only: The returned function prototype creates functions that use the " "``stdcall`` calling convention. The function will release the GIL during " "the call. *use_errno* and *use_last_error* have the same meaning as above." msgstr "" -#: ../../library/ctypes.rst:1692 +#: ../../library/ctypes.rst:1693 msgid "" "The returned function prototype creates functions that use the Python " "calling convention. The function will *not* release the GIL during the call." msgstr "" -#: ../../library/ctypes.rst:1695 +#: ../../library/ctypes.rst:1696 msgid "" "Function prototypes created by these factory functions can be instantiated " "in different ways, depending on the type and number of the parameters in the " @@ -1756,7 +2035,7 @@ msgstr "" msgid "" "COM methods use a special calling convention: They require a pointer to the " "COM interface as first argument, in addition to those parameters that are " -"specified in the :attr:`argtypes` tuple." +"specified in the :attr:`!argtypes` tuple." msgstr "" #: ../../library/ctypes.rst:1736 @@ -1766,7 +2045,9 @@ msgid "" msgstr "" #: ../../library/ctypes.rst:1739 -msgid "*paramflags* must be a tuple of the same length as :attr:`argtypes`." +msgid "" +"*paramflags* must be a tuple of the same length " +"as :attr:`~_FuncPtr.argtypes`." msgstr "" #: ../../library/ctypes.rst:1741 @@ -1815,22 +2096,22 @@ msgstr "" msgid "The optional third item is the default value for this parameter." msgstr "" -#: ../../library/ctypes.rst:1761 +#: ../../library/ctypes.rst:1762 msgid "" -"This example demonstrates how to wrap the Windows ``MessageBoxW`` function " -"so that it supports default parameters and named arguments. The C " +"The following example demonstrates how to wrap the Windows ``MessageBoxW`` " +"function so that it supports default parameters and named arguments. The C " "declaration from the windows header file is this::" msgstr "" -#: ../../library/ctypes.rst:1772 ../../library/ctypes.rst:1795 +#: ../../library/ctypes.rst:1773 ../../library/ctypes.rst:1796 msgid "Here is the wrapping with :mod:`ctypes`::" msgstr "" -#: ../../library/ctypes.rst:1780 +#: ../../library/ctypes.rst:1781 msgid "The ``MessageBox`` foreign function can now be called in these ways::" msgstr "" -#: ../../library/ctypes.rst:1786 +#: ../../library/ctypes.rst:1787 msgid "" "A second example demonstrates output parameters. The win32 " "``GetWindowRect`` function retrieves the dimensions of a specified window by " @@ -1838,7 +2119,7 @@ msgid "" "the C declaration::" msgstr "" -#: ../../library/ctypes.rst:1804 +#: ../../library/ctypes.rst:1805 msgid "" "Functions with output parameters will automatically return the output " "parameter value if there is a single one, or a tuple containing the output " @@ -1846,7 +2127,7 @@ msgid "" "now returns a RECT instance, when called." msgstr "" -#: ../../library/ctypes.rst:1809 +#: ../../library/ctypes.rst:1810 msgid "" "Output parameters can be combined with the :attr:`errcheck` protocol to do " "further output processing and error checking. The win32 ``GetWindowRect`` " @@ -1855,7 +2136,7 @@ msgid "" "call failed::" msgstr "" -#: ../../library/ctypes.rst:1822 +#: ../../library/ctypes.rst:1823 msgid "" "If the :attr:`errcheck` function returns the argument tuple it receives " "unchanged, :mod:`ctypes` continues the normal processing it does on the " @@ -1864,66 +2145,72 @@ msgid "" "and return them instead, the normal processing will no longer take place::" msgstr "" -#: ../../library/ctypes.rst:1841 +#: ../../library/ctypes.rst:1842 msgid "Utility functions" msgstr "Funções utilitárias" -#: ../../library/ctypes.rst:1845 +#: ../../library/ctypes.rst:1846 msgid "" "Returns the address of the memory buffer as integer. *obj* must be an " "instance of a ctypes type." msgstr "" -#: ../../library/ctypes.rst:1848 +#: ../../library/ctypes.rst:1849 msgid "" "Raises an :ref:`auditing event ` ``ctypes.addressof`` with " "argument ``obj``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``ctypes.addressof`` com o " +"argumento ``obj``." -#: ../../library/ctypes.rst:1853 +#: ../../library/ctypes.rst:1854 msgid "" "Returns the alignment requirements of a ctypes type. *obj_or_type* must be a " "ctypes type or instance." msgstr "" -#: ../../library/ctypes.rst:1859 +#: ../../library/ctypes.rst:1860 msgid "" "Returns a light-weight pointer to *obj*, which must be an instance of a " "ctypes type. *offset* defaults to zero, and must be an integer that will be " "added to the internal pointer value." msgstr "" -#: ../../library/ctypes.rst:1863 +#: ../../library/ctypes.rst:1864 msgid "``byref(obj, offset)`` corresponds to this C code::" msgstr "" -#: ../../library/ctypes.rst:1867 +#: ../../library/ctypes.rst:1868 msgid "" "The returned object can only be used as a foreign function call parameter. " "It behaves similar to ``pointer(obj)``, but the construction is a lot faster." msgstr "" -#: ../../library/ctypes.rst:1873 +#: ../../library/ctypes.rst:1874 msgid "" "This function is similar to the cast operator in C. It returns a new " "instance of *type* which points to the same memory block as *obj*. *type* " "must be a pointer type, and *obj* must be an object that can be interpreted " "as a pointer." msgstr "" +"Esta função é semelhante ao operador cast em C. Retorna uma nova instância " +"de *type* que aponta para o mesmo bloco de memória que *obj*. *type* deve " +"ser um tipo de ponteiro e *obj* deve ser um objeto que pode ser interpretado " +"como um ponteiro." -#: ../../library/ctypes.rst:1881 +#: ../../library/ctypes.rst:1882 msgid "" "This function creates a mutable character buffer. The returned object is a " "ctypes array of :class:`c_char`." msgstr "" -#: ../../library/ctypes.rst:1884 +#: ../../library/ctypes.rst:1885 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." msgstr "" -#: ../../library/ctypes.rst:1887 +#: ../../library/ctypes.rst:1888 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 " @@ -1932,25 +2219,27 @@ msgid "" "not be used." msgstr "" -#: ../../library/ctypes.rst:1892 +#: ../../library/ctypes.rst:1893 msgid "" "Raises an :ref:`auditing event ` ``ctypes.create_string_buffer`` " "with arguments ``init``, ``size``." msgstr "" +"Levanta um :ref:`evento de auditoria ` " +"``ctypes.create_string_buffer`` com os argumentos ``init``, ``size``." -#: ../../library/ctypes.rst:1897 +#: ../../library/ctypes.rst:1898 msgid "" "This function creates a mutable unicode character buffer. The returned " "object is a ctypes array of :class:`c_wchar`." msgstr "" -#: ../../library/ctypes.rst:1900 +#: ../../library/ctypes.rst:1901 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 "" -#: ../../library/ctypes.rst:1903 +#: ../../library/ctypes.rst:1904 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 " @@ -1959,27 +2248,29 @@ msgid "" "should not be used." msgstr "" -#: ../../library/ctypes.rst:1909 +#: ../../library/ctypes.rst:1910 msgid "" "Raises an :ref:`auditing event ` ``ctypes.create_unicode_buffer`` " "with arguments ``init``, ``size``." msgstr "" +"Levanta um :ref:`evento de auditoria ` " +"``ctypes.create_unicode_buffer`` com os argumentos ``init``, ``size``." -#: ../../library/ctypes.rst:1914 +#: ../../library/ctypes.rst:1915 msgid "" "Windows only: This function is a hook which allows implementing in-process " "COM servers with ctypes. It is called from the DllCanUnloadNow function " "that the _ctypes extension dll exports." msgstr "" -#: ../../library/ctypes.rst:1921 +#: ../../library/ctypes.rst:1922 msgid "" "Windows only: This function is a hook which allows implementing in-process " "COM servers with ctypes. It is called from the DllGetClassObject function " "that the ``_ctypes`` extension dll exports." msgstr "" -#: ../../library/ctypes.rst:1929 +#: ../../library/ctypes.rst:1930 msgid "" "Try to find a library and return a pathname. *name* is the library name " "without any prefix like ``lib``, suffix like ``.so``, ``.dylib`` or version " @@ -1987,157 +2278,180 @@ msgid "" "If no library can be found, returns ``None``." msgstr "" -#: ../../library/ctypes.rst:1940 +#: ../../library/ctypes.rst:1941 msgid "" "Windows only: return the filename of the VC runtime library used by Python, " "and by the extension modules. If the name of the library cannot be " "determined, ``None`` is returned." msgstr "" -#: ../../library/ctypes.rst:1944 +#: ../../library/ctypes.rst:1945 msgid "" "If you need to free memory, for example, allocated by an extension module " "with a call to the ``free(void *)``, it is important that you use the " "function in the same library that allocated the memory." msgstr "" -#: ../../library/ctypes.rst:1951 +#: ../../library/ctypes.rst:1952 msgid "" "Windows only: Returns a textual description of the error code *code*. If no " "error code is specified, the last error code is used by calling the Windows " "api function GetLastError." msgstr "" -#: ../../library/ctypes.rst:1958 +#: ../../library/ctypes.rst:1959 msgid "" "Windows only: Returns the last error code set by Windows in the calling " "thread. This function calls the Windows ``GetLastError()`` function " "directly, it does not return the ctypes-private copy of the error code." msgstr "" -#: ../../library/ctypes.rst:1964 +#: ../../library/ctypes.rst:1965 msgid "" -"Returns the current value of the ctypes-private copy of the system :data:" -"`errno` variable in the calling thread." +"Returns the current value of the ctypes-private copy of the " +"system :data:`errno` variable in the calling thread." msgstr "" -#: ../../library/ctypes.rst:1967 +#: ../../library/ctypes.rst:1968 msgid "" "Raises an :ref:`auditing event ` ``ctypes.get_errno`` with no " "arguments." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``ctypes.get_errno`` sem " +"argumentos." -#: ../../library/ctypes.rst:1971 +#: ../../library/ctypes.rst:1972 msgid "" "Windows only: returns the current value of the ctypes-private copy of the " "system :data:`LastError` variable in the calling thread." msgstr "" -#: ../../library/ctypes.rst:1974 +#: ../../library/ctypes.rst:1975 msgid "" "Raises an :ref:`auditing event ` ``ctypes.get_last_error`` with no " "arguments." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``ctypes.get_last_error`` " +"sem argumentos." -#: ../../library/ctypes.rst:1978 +#: ../../library/ctypes.rst:1979 msgid "" "Same as the standard C memmove library function: copies *count* bytes from " "*src* to *dst*. *dst* and *src* must be integers or ctypes instances that " "can be converted to pointers." msgstr "" -#: ../../library/ctypes.rst:1985 +#: ../../library/ctypes.rst:1986 msgid "" "Same as the standard C memset library function: fills the memory block at " "address *dst* with *count* bytes of value *c*. *dst* must be an integer " "specifying an address, or a ctypes instance." msgstr "" -#: ../../library/ctypes.rst:1992 +#: ../../library/ctypes.rst:1993 msgid "" -"This factory function creates and returns a new ctypes pointer type. Pointer " -"types are cached and reused internally, so calling this function repeatedly " -"is cheap. *type* must be a ctypes type." +"Create and return a new ctypes pointer type. Pointer types are cached and " +"reused internally, so calling this function repeatedly is cheap. *type* must " +"be a ctypes type." msgstr "" -#: ../../library/ctypes.rst:1999 +#: ../../library/ctypes.rst:2000 msgid "" -"This function creates a new pointer instance, pointing to *obj*. The " -"returned object is of the type ``POINTER(type(obj))``." +"Create a new pointer instance, pointing to *obj*. The returned object is of " +"the type ``POINTER(type(obj))``." msgstr "" +"Cria uma nova instância de ponteiro, apontando para *obj*. O objeto " +"devolvido é do tipo ``POINTER(type(obj))``." -#: ../../library/ctypes.rst:2002 +#: ../../library/ctypes.rst:2003 msgid "" "Note: If you just want to pass a pointer to an object to a foreign function " "call, you should use ``byref(obj)`` which is much faster." msgstr "" +"Nota: se você pretende apenas passar um ponteiro para um objeto em uma " +"chamada de função externa, deve usar ``byref(obj)``, que é muito mais rápido." -#: ../../library/ctypes.rst:2008 +#: ../../library/ctypes.rst:2009 msgid "" "This function resizes the internal memory buffer of *obj*, which must be an " "instance of a ctypes type. It is not possible to make the buffer smaller " "than the native size of the objects type, as given by ``sizeof(type(obj))``, " "but it is possible to enlarge the buffer." msgstr "" +"Esta função redimensiona o buffer de memória interno de *obj*, que deve ser " +"uma instância de um tipo ctypes. Não é possível reduzir o buffer para menos " +"do que o tamanho nativo do tipo do objeto, conforme dado por " +"``sizeof(type(obj))``, mas é possível aumentá-lo." -#: ../../library/ctypes.rst:2016 +#: ../../library/ctypes.rst:2017 msgid "" "Set the current value of the ctypes-private copy of the system :data:`errno` " "variable in the calling thread to *value* and return the previous value." msgstr "" +"Define o valor atual da cópia privada do ctypes da variável do " +"sistema :data:`errno` na thread de chamada para *value* e devolve o valor " +"anterior." -#: ../../library/ctypes.rst:2019 +#: ../../library/ctypes.rst:2020 msgid "" "Raises an :ref:`auditing event ` ``ctypes.set_errno`` with " "argument ``errno``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``ctypes.set_errno`` com o " +"argumento ``errno``." -#: ../../library/ctypes.rst:2024 +#: ../../library/ctypes.rst:2025 msgid "" "Windows only: set the current value of the ctypes-private copy of the " "system :data:`LastError` variable in the calling thread to *value* and " "return the previous value." msgstr "" -#: ../../library/ctypes.rst:2028 +#: ../../library/ctypes.rst:2029 msgid "" "Raises an :ref:`auditing event ` ``ctypes.set_last_error`` with " "argument ``error``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``ctypes.set_last_error`` " +"com o argumento ``error``." -#: ../../library/ctypes.rst:2033 +#: ../../library/ctypes.rst:2034 msgid "" "Returns the size in bytes of a ctypes type or instance memory buffer. Does " "the same as the C ``sizeof`` operator." msgstr "" +"Retornar o tamanho em bytes de um tipo ctypes ou buffer de memória de " +"instância. Faz o mesmo que o operador C ``sizeof``." -#: ../../library/ctypes.rst:2039 +#: ../../library/ctypes.rst:2040 msgid "" "This function returns the C string starting at memory address *address* as a " "bytes object. If size is specified, it is used as size, otherwise the string " "is assumed to be zero-terminated." msgstr "" -#: ../../library/ctypes.rst:2043 +#: ../../library/ctypes.rst:2044 msgid "" "Raises an :ref:`auditing event ` ``ctypes.string_at`` with " "arguments ``address``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2048 +#: ../../library/ctypes.rst:2049 msgid "" "Windows only: this function is probably the worst-named thing in ctypes. It " -"creates an instance of OSError. If *code* is not specified, " +"creates an instance of :exc:`OSError`. If *code* is not specified, " "``GetLastError`` is called to determine the error code. If *descr* is not " "specified, :func:`FormatError` is called to get a textual description of the " "error." msgstr "" -#: ../../library/ctypes.rst:2054 -msgid "An instance of :exc:`WindowsError` used to be created." +#: ../../library/ctypes.rst:2055 +msgid "" +"An instance of :exc:`WindowsError` used to be created, which is now an alias " +"of :exc:`OSError`." msgstr "" -#: ../../library/ctypes.rst:2060 +#: ../../library/ctypes.rst:2062 msgid "" "This function returns the wide character string starting at memory address " "*address* as a string. If *size* is specified, it is used as the number of " @@ -2145,48 +2459,50 @@ msgid "" "terminated." msgstr "" -#: ../../library/ctypes.rst:2065 +#: ../../library/ctypes.rst:2067 msgid "" "Raises an :ref:`auditing event ` ``ctypes.wstring_at`` with " "arguments ``address``, ``size``." msgstr "" -#: ../../library/ctypes.rst:2071 +#: ../../library/ctypes.rst:2073 msgid "Data types" msgstr "" -#: ../../library/ctypes.rst:2076 +#: ../../library/ctypes.rst:2078 msgid "" "This non-public class is the common base class of all ctypes data types. " "Among other things, all ctypes type instances contain a memory block that " -"hold C compatible data; the address of the memory block is returned by the :" -"func:`addressof` helper function. Another instance variable is exposed as :" -"attr:`_objects`; this contains other Python objects that need to be kept " +"hold C compatible data; the address of the memory block is returned by " +"the :func:`addressof` helper function. Another instance variable is exposed " +"as :attr:`_objects`; this contains other Python objects that need to be kept " "alive in case the memory block contains pointers." msgstr "" -#: ../../library/ctypes.rst:2083 +#: ../../library/ctypes.rst:2085 msgid "" "Common methods of ctypes data types, these are all class methods (to be " "exact, they are methods of the :term:`metaclass`):" msgstr "" -#: ../../library/ctypes.rst:2088 +#: ../../library/ctypes.rst:2090 msgid "" "This method returns a ctypes instance that shares the buffer of the *source* " "object. The *source* object must support the writeable buffer interface. " "The optional *offset* parameter specifies an offset into the source buffer " -"in bytes; the default is zero. If the source buffer is not large enough a :" -"exc:`ValueError` is raised." +"in bytes; the default is zero. If the source buffer is not large enough " +"a :exc:`ValueError` is raised." msgstr "" -#: ../../library/ctypes.rst:2094 ../../library/ctypes.rst:2104 +#: ../../library/ctypes.rst:2096 ../../library/ctypes.rst:2106 msgid "" "Raises an :ref:`auditing event ` ``ctypes.cdata/buffer`` with " "arguments ``pointer``, ``size``, ``offset``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``ctypes.cdata/buffer`` com " +"os argumentos ``pointer``, ``size``, ``offset``." -#: ../../library/ctypes.rst:2098 +#: ../../library/ctypes.rst:2100 msgid "" "This method creates a ctypes instance, copying the buffer from the *source* " "object buffer which must be readable. The optional *offset* parameter " @@ -2194,25 +2510,29 @@ msgid "" "If the source buffer is not large enough a :exc:`ValueError` is raised." msgstr "" -#: ../../library/ctypes.rst:2108 +#: ../../library/ctypes.rst:2110 msgid "" "This method returns a ctypes type instance using the memory specified by " "*address* which must be an integer." msgstr "" -#: ../../library/ctypes.rst:2111 +#: ../../library/ctypes.rst:2113 msgid "" "Raises an :ref:`auditing event ` ``ctypes.cdata`` with argument " "``address``." msgstr "" -#: ../../library/ctypes.rst:2113 +#: ../../library/ctypes.rst:2115 msgid "" -"This method, and others that indirectly call this method, raises an :ref:" -"`auditing event ` ``ctypes.cdata`` with argument ``address``." +"This method, and others that indirectly call this method, raises " +"an :ref:`auditing event ` ``ctypes.cdata`` with argument " +"``address``." msgstr "" +"Este método, e outros que indiretamente chamam este método, levantam " +"um :ref:`evento de auditoria ` ``ctypes.cdata`` com o argumento " +"``address``." -#: ../../library/ctypes.rst:2119 +#: ../../library/ctypes.rst:2121 msgid "" "This method adapts *obj* to a ctypes type. It is called with the actual " "object used in a foreign function call when the type is present in the " @@ -2220,39 +2540,39 @@ msgid "" "be used as a function call parameter." msgstr "" -#: ../../library/ctypes.rst:2124 +#: ../../library/ctypes.rst:2126 msgid "" "All ctypes data types have a default implementation of this classmethod that " "normally returns *obj* if that is an instance of the type. Some types " "accept other objects as well." msgstr "" -#: ../../library/ctypes.rst:2130 +#: ../../library/ctypes.rst:2132 msgid "" "This method returns a ctypes type instance exported by a shared library. " "*name* is the name of the symbol that exports the data, *library* is the " "loaded shared library." msgstr "" -#: ../../library/ctypes.rst:2134 +#: ../../library/ctypes.rst:2136 msgid "Common instance variables of ctypes data types:" -msgstr "" +msgstr "Variáveis de instância comuns dos tipos de dados ctypes:" -#: ../../library/ctypes.rst:2138 +#: ../../library/ctypes.rst:2140 msgid "" "Sometimes ctypes data instances do not own the memory block they contain, " -"instead they share part of the memory block of a base object. The :attr:" -"`_b_base_` read-only member is the root ctypes object that owns the memory " -"block." +"instead they share part of the memory block of a base object. " +"The :attr:`_b_base_` read-only member is the root ctypes object that owns " +"the memory block." msgstr "" -#: ../../library/ctypes.rst:2145 +#: ../../library/ctypes.rst:2147 msgid "" "This read-only variable is true when the ctypes data instance has allocated " "the memory block itself, false otherwise." msgstr "" -#: ../../library/ctypes.rst:2150 +#: ../../library/ctypes.rst:2152 msgid "" "This member is either ``None`` or a dictionary containing Python objects " "that need to be kept alive so that the memory block contents is kept valid. " @@ -2260,20 +2580,20 @@ msgid "" "dictionary." msgstr "" -#: ../../library/ctypes.rst:2163 +#: ../../library/ctypes.rst:2165 msgid "" "This non-public class is the base class of all fundamental ctypes data " "types. It is mentioned here because it contains the common attributes of the " -"fundamental ctypes data types. :class:`_SimpleCData` is a subclass of :" -"class:`_CData`, so it inherits their methods and attributes. ctypes data " +"fundamental ctypes data types. :class:`_SimpleCData` is a subclass " +"of :class:`_CData`, so it inherits their methods and attributes. ctypes data " "types that are not and do not contain pointers can now be pickled." msgstr "" -#: ../../library/ctypes.rst:2169 +#: ../../library/ctypes.rst:2171 msgid "Instances have a single attribute:" msgstr "" -#: ../../library/ctypes.rst:2173 +#: ../../library/ctypes.rst:2175 msgid "" "This attribute contains the actual value of the instance. For integer and " "pointer types, it is an integer, for character types, it is a single " @@ -2281,7 +2601,7 @@ msgid "" "bytes object or string." msgstr "" -#: ../../library/ctypes.rst:2178 +#: ../../library/ctypes.rst:2180 msgid "" "When the ``value`` attribute is retrieved from a ctypes instance, usually a " "new object is returned each time. :mod:`ctypes` does *not* implement " @@ -2289,7 +2609,7 @@ msgid "" "true for all other ctypes object instances." msgstr "" -#: ../../library/ctypes.rst:2184 +#: ../../library/ctypes.rst:2186 msgid "" "Fundamental data types, when returned as foreign function call results, or, " "for example, by retrieving structure field members or array items, are " @@ -2298,7 +2618,7 @@ msgid "" "receive a Python bytes object, *not* a :class:`c_char_p` instance." msgstr "" -#: ../../library/ctypes.rst:2192 +#: ../../library/ctypes.rst:2194 msgid "" "Subclasses of fundamental data types do *not* inherit this behavior. So, if " "a foreign functions :attr:`restype` is a subclass of :class:`c_void_p`, you " @@ -2306,281 +2626,320 @@ msgid "" "you can get the value of the pointer by accessing the ``value`` attribute." msgstr "" -#: ../../library/ctypes.rst:2197 +#: ../../library/ctypes.rst:2199 msgid "These are the fundamental ctypes data types:" msgstr "" -#: ../../library/ctypes.rst:2201 +#: ../../library/ctypes.rst:2203 msgid "" "Represents the C :c:expr:`signed char` datatype, and interprets the value as " "small integer. The constructor accepts an optional integer initializer; no " "overflow checking is done." msgstr "" +"Representa o tipo de dados C :c:expr:`signed char` e interpreta o valor como " +"um inteiro pequeno. O construtor aceita um inicializador inteiro opcional; " +"não há verificação de overflow." -#: ../../library/ctypes.rst:2208 +#: ../../library/ctypes.rst:2210 msgid "" "Represents the C :c:expr:`char` datatype, and interprets the value as a " "single character. The constructor accepts an optional string initializer, " "the length of the string must be exactly one character." msgstr "" +"Representa o tipo de dados C :c:expr:`char` e interpreta o valor como um " +"único caractere. O construtor aceita um inicializador de string opcional; o " +"comprimento da string deve ser exatamente um caractere." -#: ../../library/ctypes.rst:2215 +#: ../../library/ctypes.rst:2217 msgid "" "Represents the C :c:expr:`char *` datatype when it points to a zero-" "terminated string. For a general character pointer that may also point to " "binary data, ``POINTER(c_char)`` must be used. The constructor accepts an " "integer address, or a bytes object." msgstr "" +"Representa o tipo de dados C :c:expr:`char *` quando aponta para uma string " +"terminada em zero. Para um ponteiro de caractere geral que também pode " +"apontar para dados binários, deve-se usar ``POINTER(c_char)``. O construtor " +"aceita um endereço inteiro ou um objeto bytes." -#: ../../library/ctypes.rst:2223 +#: ../../library/ctypes.rst:2225 msgid "" "Represents the C :c:expr:`double` datatype. The constructor accepts an " "optional float initializer." msgstr "" +"Representa o tipo de dados C :c:expr:`double`. O construtor aceita um " +"inicializador opcional de tipo float." -#: ../../library/ctypes.rst:2229 +#: ../../library/ctypes.rst:2231 msgid "" "Represents the C :c:expr:`long double` datatype. The constructor accepts an " "optional float initializer. On platforms where ``sizeof(long double) == " "sizeof(double)`` it is an alias to :class:`c_double`." msgstr "" +"Representa o tipo de dados C :c:expr:`long double`. O construtor aceita um " +"inicializador opcional de tipo float. Em plataformas onde ``sizeof(long " +"double) == sizeof(double)``, é um alias para :class:`c_double`." -#: ../../library/ctypes.rst:2235 +#: ../../library/ctypes.rst:2237 msgid "" "Represents the C :c:expr:`float` datatype. The constructor accepts an " "optional float initializer." msgstr "" +"Representa o tipo de dados C :c:expr:`float`. O construtor aceita um " +"inicializador opcional de tipo float." -#: ../../library/ctypes.rst:2241 +#: ../../library/ctypes.rst:2243 msgid "" "Represents the C :c:expr:`signed int` datatype. The constructor accepts an " "optional integer initializer; no overflow checking is done. On platforms " "where ``sizeof(int) == sizeof(long)`` it is an alias to :class:`c_long`." msgstr "" -#: ../../library/ctypes.rst:2248 +#: ../../library/ctypes.rst:2250 msgid "" -"Represents the C 8-bit :c:expr:`signed int` datatype. Usually an alias for :" -"class:`c_byte`." +"Represents the C 8-bit :c:expr:`signed int` datatype. Usually an alias " +"for :class:`c_byte`." msgstr "" -#: ../../library/ctypes.rst:2254 +#: ../../library/ctypes.rst:2256 msgid "" "Represents the C 16-bit :c:expr:`signed int` datatype. Usually an alias " "for :class:`c_short`." msgstr "" -#: ../../library/ctypes.rst:2260 +#: ../../library/ctypes.rst:2262 msgid "" "Represents the C 32-bit :c:expr:`signed int` datatype. Usually an alias " "for :class:`c_int`." msgstr "" -#: ../../library/ctypes.rst:2266 +#: ../../library/ctypes.rst:2268 msgid "" "Represents the C 64-bit :c:expr:`signed int` datatype. Usually an alias " "for :class:`c_longlong`." msgstr "" -#: ../../library/ctypes.rst:2272 +#: ../../library/ctypes.rst:2274 msgid "" "Represents the C :c:expr:`signed long` datatype. The constructor accepts an " "optional integer initializer; no overflow checking is done." msgstr "" -#: ../../library/ctypes.rst:2278 +#: ../../library/ctypes.rst:2280 msgid "" "Represents the C :c:expr:`signed long long` datatype. The constructor " "accepts an optional integer initializer; no overflow checking is done." msgstr "" -#: ../../library/ctypes.rst:2284 +#: ../../library/ctypes.rst:2286 msgid "" "Represents the C :c:expr:`signed short` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." msgstr "" -#: ../../library/ctypes.rst:2290 +#: ../../library/ctypes.rst:2292 msgid "Represents the C :c:type:`size_t` datatype." msgstr "" -#: ../../library/ctypes.rst:2295 +#: ../../library/ctypes.rst:2297 msgid "Represents the C :c:type:`ssize_t` datatype." msgstr "" -#: ../../library/ctypes.rst:2302 +#: ../../library/ctypes.rst:2304 msgid "" "Represents the C :c:expr:`unsigned char` datatype, it interprets the value " "as small integer. The constructor accepts an optional integer initializer; " "no overflow checking is done." msgstr "" -#: ../../library/ctypes.rst:2309 +#: ../../library/ctypes.rst:2311 msgid "" "Represents the C :c:expr:`unsigned int` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done. On platforms " "where ``sizeof(int) == sizeof(long)`` it is an alias for :class:`c_ulong`." msgstr "" -#: ../../library/ctypes.rst:2316 +#: ../../library/ctypes.rst:2318 msgid "" "Represents the C 8-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_ubyte`." msgstr "" -#: ../../library/ctypes.rst:2322 +#: ../../library/ctypes.rst:2324 msgid "" "Represents the C 16-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_ushort`." msgstr "" -#: ../../library/ctypes.rst:2328 +#: ../../library/ctypes.rst:2330 msgid "" "Represents the C 32-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_uint`." msgstr "" -#: ../../library/ctypes.rst:2334 +#: ../../library/ctypes.rst:2336 msgid "" "Represents the C 64-bit :c:expr:`unsigned int` datatype. Usually an alias " "for :class:`c_ulonglong`." msgstr "" -#: ../../library/ctypes.rst:2340 +#: ../../library/ctypes.rst:2342 msgid "" "Represents the C :c:expr:`unsigned long` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." msgstr "" -#: ../../library/ctypes.rst:2346 +#: ../../library/ctypes.rst:2348 msgid "" "Represents the C :c:expr:`unsigned long long` datatype. The constructor " "accepts an optional integer initializer; no overflow checking is done." msgstr "" -#: ../../library/ctypes.rst:2352 +#: ../../library/ctypes.rst:2354 msgid "" "Represents the C :c:expr:`unsigned short` datatype. The constructor accepts " "an optional integer initializer; no overflow checking is done." msgstr "" -#: ../../library/ctypes.rst:2358 +#: ../../library/ctypes.rst:2360 msgid "" "Represents the C :c:expr:`void *` type. The value is represented as " "integer. The constructor accepts an optional integer initializer." msgstr "" -#: ../../library/ctypes.rst:2364 +#: ../../library/ctypes.rst:2366 msgid "" -"Represents the C :c:expr:`wchar_t` datatype, and interprets the value as a " +"Represents the C :c:type:`wchar_t` datatype, and interprets the value as a " "single character unicode string. The constructor accepts an optional string " "initializer, the length of the string must be exactly one character." msgstr "" -#: ../../library/ctypes.rst:2371 +#: ../../library/ctypes.rst:2373 msgid "" "Represents the C :c:expr:`wchar_t *` datatype, which must be a pointer to a " "zero-terminated wide character string. The constructor accepts an integer " "address, or a string." msgstr "" -#: ../../library/ctypes.rst:2378 +#: ../../library/ctypes.rst:2380 msgid "" "Represent the C :c:expr:`bool` datatype (more accurately, :c:expr:`_Bool` " "from C99). Its value can be ``True`` or ``False``, and the constructor " "accepts any object that has a truth value." msgstr "" -#: ../../library/ctypes.rst:2385 +#: ../../library/ctypes.rst:2387 msgid "" "Windows only: Represents a :c:type:`HRESULT` value, which contains success " "or error information for a function or method call." msgstr "" -#: ../../library/ctypes.rst:2391 +#: ../../library/ctypes.rst:2393 msgid "" "Represents the C :c:expr:`PyObject *` datatype. Calling this without an " "argument creates a ``NULL`` :c:expr:`PyObject *` pointer." msgstr "" +"Representa o tipo de dados C :c:expr:`PyObject *`. Chamar isto sem um " +"argumento cria um ponteiro ``NULL`` :c:expr:`PyObject *`." -#: ../../library/ctypes.rst:2394 +#: ../../library/ctypes.rst:2396 msgid "" "The :mod:`ctypes.wintypes` module provides quite some other Windows specific " -"data types, for example :c:type:`HWND`, :c:type:`WPARAM`, or :c:type:" -"`DWORD`. Some useful structures like :c:type:`MSG` or :c:type:`RECT` are " -"also defined." +"data types, for example :c:type:`HWND`, :c:type:`WPARAM`, " +"or :c:type:`DWORD`. Some useful structures like :c:type:`MSG` " +"or :c:type:`RECT` are also defined." msgstr "" -#: ../../library/ctypes.rst:2402 +#: ../../library/ctypes.rst:2404 msgid "Structured data types" -msgstr "" +msgstr "Tipos de dados estruturados" -#: ../../library/ctypes.rst:2407 +#: ../../library/ctypes.rst:2409 msgid "Abstract base class for unions in native byte order." -msgstr "" +msgstr "Classe base abstrata para uniões em ordem de bytes nativa." -#: ../../library/ctypes.rst:2412 +#: ../../library/ctypes.rst:2414 msgid "Abstract base class for unions in *big endian* byte order." -msgstr "" +msgstr "Classe base abstrata para uniões em ordem de bytes *big endian*." -#: ../../library/ctypes.rst:2418 +#: ../../library/ctypes.rst:2420 msgid "Abstract base class for unions in *little endian* byte order." -msgstr "" +msgstr "Classe base abstrata para uniões em ordem de bytes *little endian*." -#: ../../library/ctypes.rst:2424 +#: ../../library/ctypes.rst:2426 msgid "Abstract base class for structures in *big endian* byte order." -msgstr "" +msgstr "Classe base abstrata para estruturas em ordem de bytes *big endian*." -#: ../../library/ctypes.rst:2429 +#: ../../library/ctypes.rst:2431 msgid "Abstract base class for structures in *little endian* byte order." msgstr "" +"Classe base abstrata para estruturas em ordem de bytes *little endian*." -#: ../../library/ctypes.rst:2431 +#: ../../library/ctypes.rst:2433 msgid "" "Structures and unions with non-native byte order cannot contain pointer type " "fields, or any other data types containing pointer type fields." msgstr "" +"Estruturas e uniões com ordem de bytes não nativa não podem conter campos de " +"tipo ponteiro ou quaisquer outros tipos de dados que contenham campos de " +"tipo ponteiro." -#: ../../library/ctypes.rst:2437 +#: ../../library/ctypes.rst:2439 msgid "Abstract base class for structures in *native* byte order." -msgstr "" +msgstr "Classe base abstrata para estruturas em ordem de bytes *nativa*." -#: ../../library/ctypes.rst:2439 +#: ../../library/ctypes.rst:2441 msgid "" "Concrete structure and union types must be created by subclassing one of " -"these types, and at least define a :attr:`_fields_` class variable. :mod:" -"`ctypes` will create :term:`descriptor`\\s which allow reading and writing " -"the fields by direct attribute accesses. These are the" +"these types, and at least define a :attr:`_fields_` class " +"variable. :mod:`ctypes` will create :term:`descriptor`\\s which allow " +"reading and writing the fields by direct attribute accesses. These are the" msgstr "" +"Os tipos concretos de estruturas e uniões devem ser criados por subclasse de " +"um destes tipos e, pelo menos, definir uma variável de " +"classe :attr:`_fields_`. O :mod:`ctypes` criará :term:`descritores " +"` que permitem ler e escrever os campos por meio de acessos " +"diretos aos respectivos atributos. Estes são eles" -#: ../../library/ctypes.rst:2447 +#: ../../library/ctypes.rst:2449 msgid "" "A sequence defining the structure fields. The items must be 2-tuples or 3-" "tuples. The first item is the name of the field, the second item specifies " "the type of the field; it can be any ctypes data type." msgstr "" +"Uma sequência que define os campos da estrutura. Os itens devem ser tuplas " +"com 2 ou 3 elementos. O primeiro item é o nome do campo; o segundo item " +"especifica o tipo do campo, que pode ser qualquer tipo de dados ctypes." -#: ../../library/ctypes.rst:2451 +#: ../../library/ctypes.rst:2453 msgid "" "For integer type fields like :class:`c_int`, a third optional item can be " "given. It must be a small positive integer defining the bit width of the " "field." msgstr "" +"Para campos de tipo inteiro como :class:`c_int`, pode ser fornecido um " +"terceiro item opcional. Deve ser um inteiro positivo pequeno que define a " +"largura em bits do campo." -#: ../../library/ctypes.rst:2455 +#: ../../library/ctypes.rst:2457 msgid "" "Field names must be unique within one structure or union. This is not " "checked, only one field can be accessed when names are repeated." msgstr "" +"Os nomes dos campos devem ser únicos em uma estrutura ou união. Isto não é " +"verificado, apenas um campo pode ser acessado quando os nomes são repetidos." -#: ../../library/ctypes.rst:2458 +#: ../../library/ctypes.rst:2460 msgid "" "It is possible to define the :attr:`_fields_` class variable *after* the " "class statement that defines the Structure subclass, this allows creating " "data types that directly or indirectly reference themselves::" msgstr "" +"É possível definir a variável de classe :attr:`_fields_` *depois* da " +"instrução de classe que define a subclasse de Structure, o que permite criar " +"tipos de dados que referenciam diretamente ou indiretamente a si mesmos::" -#: ../../library/ctypes.rst:2468 +#: ../../library/ctypes.rst:2470 msgid "" "The :attr:`_fields_` class variable must, however, be defined before the " "type is first used (an instance is created, :func:`sizeof` is called on it, " @@ -2588,40 +2947,40 @@ msgid "" "raise an AttributeError." msgstr "" -#: ../../library/ctypes.rst:2473 +#: ../../library/ctypes.rst:2475 msgid "" "It is possible to define sub-subclasses of structure types, they inherit the " "fields of the base class plus the :attr:`_fields_` defined in the sub-" "subclass, if any." msgstr "" -#: ../../library/ctypes.rst:2480 +#: ../../library/ctypes.rst:2482 msgid "" "An optional small integer that allows overriding the alignment of structure " -"fields in the instance. :attr:`_pack_` must already be defined when :attr:" -"`_fields_` is assigned, otherwise it will have no effect." +"fields in the instance. :attr:`_pack_` must already be defined " +"when :attr:`_fields_` is assigned, otherwise it will have no effect." msgstr "" -#: ../../library/ctypes.rst:2487 +#: ../../library/ctypes.rst:2489 msgid "" -"An optional sequence that lists the names of unnamed (anonymous) fields. :" -"attr:`_anonymous_` must be already defined when :attr:`_fields_` is " +"An optional sequence that lists the names of unnamed (anonymous) " +"fields. :attr:`_anonymous_` must be already defined when :attr:`_fields_` is " "assigned, otherwise it will have no effect." msgstr "" -#: ../../library/ctypes.rst:2491 +#: ../../library/ctypes.rst:2493 msgid "" -"The fields listed in this variable must be structure or union type fields. :" -"mod:`ctypes` will create descriptors in the structure type that allows " -"accessing the nested fields directly, without the need to create the " +"The fields listed in this variable must be structure or union type " +"fields. :mod:`ctypes` will create descriptors in the structure type that " +"allows accessing the nested fields directly, without the need to create the " "structure or union field." msgstr "" -#: ../../library/ctypes.rst:2496 +#: ../../library/ctypes.rst:2498 msgid "Here is an example type (Windows)::" msgstr "" -#: ../../library/ctypes.rst:2509 +#: ../../library/ctypes.rst:2511 msgid "" "The ``TYPEDESC`` structure describes a COM data type, the ``vt`` field " "specifies which one of the union fields is valid. Since the ``u`` field is " @@ -2631,15 +2990,15 @@ msgid "" "temporary union instance::" msgstr "" -#: ../../library/ctypes.rst:2521 +#: ../../library/ctypes.rst:2523 msgid "" "It is possible to define sub-subclasses of structures, they inherit the " -"fields of the base class. If the subclass definition has a separate :attr:" -"`_fields_` variable, the fields specified in this are appended to the fields " -"of the base class." +"fields of the base class. If the subclass definition has a " +"separate :attr:`_fields_` variable, the fields specified in this are " +"appended to the fields of the base class." msgstr "" -#: ../../library/ctypes.rst:2526 +#: ../../library/ctypes.rst:2528 msgid "" "Structure and union constructors accept both positional and keyword " "arguments. Positional arguments are used to initialize member fields in the " @@ -2649,65 +3008,65 @@ msgid "" "names not present in :attr:`_fields_`." msgstr "" -#: ../../library/ctypes.rst:2537 +#: ../../library/ctypes.rst:2539 msgid "Arrays and pointers" msgstr "" -#: ../../library/ctypes.rst:2541 +#: ../../library/ctypes.rst:2543 msgid "Abstract base class for arrays." msgstr "" -#: ../../library/ctypes.rst:2543 +#: ../../library/ctypes.rst:2545 msgid "" -"The recommended way to create concrete array types is by multiplying any :" -"mod:`ctypes` data type with a non-negative integer. Alternatively, you can " -"subclass this type and define :attr:`_length_` and :attr:`_type_` class " +"The recommended way to create concrete array types is by multiplying " +"any :mod:`ctypes` data type with a non-negative integer. Alternatively, you " +"can subclass this type and define :attr:`_length_` and :attr:`_type_` class " "variables. Array elements can be read and written using standard subscript " "and slice accesses; for slice reads, the resulting object is *not* itself " "an :class:`Array`." msgstr "" -#: ../../library/ctypes.rst:2553 +#: ../../library/ctypes.rst:2555 msgid "" "A positive integer specifying the number of elements in the array. Out-of-" -"range subscripts result in an :exc:`IndexError`. Will be returned by :func:" -"`len`." +"range subscripts result in an :exc:`IndexError`. Will be returned " +"by :func:`len`." msgstr "" -#: ../../library/ctypes.rst:2560 +#: ../../library/ctypes.rst:2562 msgid "Specifies the type of each element in the array." msgstr "" -#: ../../library/ctypes.rst:2563 +#: ../../library/ctypes.rst:2565 msgid "" "Array subclass constructors accept positional arguments, used to initialize " "the elements in order." msgstr "" -#: ../../library/ctypes.rst:2569 +#: ../../library/ctypes.rst:2571 msgid "Private, abstract base class for pointers." msgstr "" -#: ../../library/ctypes.rst:2571 +#: ../../library/ctypes.rst:2573 msgid "" "Concrete pointer types are created by calling :func:`POINTER` with the type " "that will be pointed to; this is done automatically by :func:`pointer`." msgstr "" -#: ../../library/ctypes.rst:2575 +#: ../../library/ctypes.rst:2577 msgid "" "If a pointer points to an array, its elements can be read and written using " -"standard subscript and slice accesses. Pointer objects have no size, so :" -"func:`len` will raise :exc:`TypeError`. Negative subscripts will read from " -"the memory *before* the pointer (as in C), and out-of-range subscripts will " -"probably crash with an access violation (if you're lucky)." +"standard subscript and slice accesses. Pointer objects have no size, " +"so :func:`len` will raise :exc:`TypeError`. Negative subscripts will read " +"from the memory *before* the pointer (as in C), and out-of-range subscripts " +"will probably crash with an access violation (if you're lucky)." msgstr "" -#: ../../library/ctypes.rst:2585 +#: ../../library/ctypes.rst:2587 msgid "Specifies the type pointed to." msgstr "" -#: ../../library/ctypes.rst:2589 +#: ../../library/ctypes.rst:2591 msgid "" "Returns the object to which to pointer points. Assigning to this attribute " "changes the pointer to point to the assigned object." diff --git a/library/curses.ascii.po b/library/curses.ascii.po index 1cd1d5ac2..1ba57c868 100644 --- a/library/curses.ascii.po +++ b/library/curses.ascii.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -32,7 +29,7 @@ msgstr "" #: ../../library/curses.ascii.rst:10 msgid "**Source code:** :source:`Lib/curses/ascii.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/curses/ascii.py`" #: ../../library/curses.ascii.rst:14 msgid "" @@ -40,6 +37,10 @@ msgid "" "and functions to test membership in various ASCII character classes. The " "constants supplied are names for control characters as follows:" msgstr "" +"O módulo :mod:`curses.ascii` fornece constantes de nome para caracteres " +"ASCII e funções para testar associação em várias classes de caracteres " +"ASCII. As constantes fornecidas são nomes para caracteres de controle, como " +"detalhado a seguir:" #: ../../library/curses.ascii.rst:19 msgid "Name" @@ -51,135 +52,139 @@ msgstr "Significado" #: ../../library/curses.ascii.rst:23 msgid "Start of heading, console interrupt" -msgstr "" +msgstr "Início do cabeçalho, interrupção do console" #: ../../library/curses.ascii.rst:25 msgid "Start of text" -msgstr "" +msgstr "Início de texto" #: ../../library/curses.ascii.rst:27 msgid "End of text" -msgstr "" +msgstr "Fim de texto" #: ../../library/curses.ascii.rst:29 msgid "End of transmission" -msgstr "" +msgstr "Fim de transmissão" #: ../../library/curses.ascii.rst:31 msgid "Enquiry, goes with :const:`ACK` flow control" -msgstr "" +msgstr "Consulta, segue com controle de fluxo :const:`ACK`" #: ../../library/curses.ascii.rst:33 msgid "Acknowledgement" -msgstr "" +msgstr "Confirmação" #: ../../library/curses.ascii.rst:35 msgid "Bell" -msgstr "" +msgstr "Campainha" #: ../../library/curses.ascii.rst:37 msgid "Backspace" -msgstr "" +msgstr "Backspace" #: ../../library/curses.ascii.rst:39 msgid "Tab" -msgstr "" +msgstr "Tabulação" #: ../../library/curses.ascii.rst:41 msgid "Alias for :const:`TAB`: \"Horizontal tab\"" -msgstr "" +msgstr "Apelido para :const:`TAB`: \"Tabulação horizontal\"" #: ../../library/curses.ascii.rst:43 msgid "Line feed" -msgstr "" +msgstr "Alimentação de linha ou *line feed*" #: ../../library/curses.ascii.rst:45 msgid "Alias for :const:`LF`: \"New line\"" -msgstr "" +msgstr "Apelido para :const:`LF`: \"Nova linha\"" #: ../../library/curses.ascii.rst:47 msgid "Vertical tab" -msgstr "" +msgstr "Tabulação vertical" #: ../../library/curses.ascii.rst:49 msgid "Form feed" -msgstr "" +msgstr "Alimentação de formulário ou *form feed*" #: ../../library/curses.ascii.rst:51 msgid "Carriage return" -msgstr "" +msgstr "Retorno de carro ou *carriage return*" #: ../../library/curses.ascii.rst:53 msgid "Shift-out, begin alternate character set" msgstr "" +"Deslocamento para fora ou *shift-out*, inicia um conjunto de caracteres " +"alternativo" #: ../../library/curses.ascii.rst:55 msgid "Shift-in, resume default character set" msgstr "" +"Deslocamento para dentro ou *shift-in*, retoma o conjunto de caracteres " +"padrão" #: ../../library/curses.ascii.rst:57 msgid "Data-link escape" -msgstr "" +msgstr "Escape de conexão ou *data-link escape*" #: ../../library/curses.ascii.rst:59 msgid "XON, for flow control" -msgstr "" +msgstr "XON, para controle de fluxo" #: ../../library/curses.ascii.rst:61 msgid "Device control 2, block-mode flow control" -msgstr "" +msgstr "Controle de dispositivo 2, control de fluxo em modo bloco" #: ../../library/curses.ascii.rst:63 msgid "XOFF, for flow control" -msgstr "" +msgstr "XOFF, para controle de fluxo" #: ../../library/curses.ascii.rst:65 msgid "Device control 4" -msgstr "" +msgstr "Controle de dispositivo 4" #: ../../library/curses.ascii.rst:67 msgid "Negative acknowledgement" -msgstr "" +msgstr "Confirmação negativa" #: ../../library/curses.ascii.rst:69 msgid "Synchronous idle" -msgstr "" +msgstr "Estado ocioso síncrono" #: ../../library/curses.ascii.rst:71 msgid "End transmission block" -msgstr "" +msgstr "Bloco de fim de transmissão" #: ../../library/curses.ascii.rst:73 msgid "Cancel" -msgstr "" +msgstr "Cancelar" #: ../../library/curses.ascii.rst:75 msgid "End of medium" -msgstr "" +msgstr "Fim de mídia" #: ../../library/curses.ascii.rst:77 msgid "Substitute" -msgstr "" +msgstr "Substituir" #: ../../library/curses.ascii.rst:79 msgid "Escape" -msgstr "" +msgstr "Escapar" #: ../../library/curses.ascii.rst:81 msgid "File separator" -msgstr "" +msgstr "Separador de arquivos" #: ../../library/curses.ascii.rst:83 msgid "Group separator" -msgstr "" +msgstr "Separador de grupos" #: ../../library/curses.ascii.rst:85 msgid "Record separator, block-mode terminator" -msgstr "" +msgstr "Separador de registros, terminador de modo bloco" #: ../../library/curses.ascii.rst:87 msgid "Unit separator" -msgstr "Separador de Unidade" +msgstr "Separador de unidades" #: ../../library/curses.ascii.rst:89 msgid "Space" @@ -187,7 +192,7 @@ msgstr "Espaço" #: ../../library/curses.ascii.rst:91 msgid "Delete" -msgstr "Delete" +msgstr "Excluir" #: ../../library/curses.ascii.rst:94 msgid "" @@ -195,92 +200,118 @@ msgid "" "The mnemonics derive from teleprinter conventions that predate digital " "computers." msgstr "" +"Note que muitos deles têm pouca significância prática no uso moderno. Os " +"mnemônicos derivam de convenções de teleimpressoras que antecedem os " +"computadores digitais." #: ../../library/curses.ascii.rst:97 msgid "" "The module supplies the following functions, patterned on those in the " "standard C library:" msgstr "" +"O módulo fornece as seguintes funções, baseadas nas da biblioteca C padrão:" #: ../../library/curses.ascii.rst:103 msgid "" "Checks for an ASCII alphanumeric character; it is equivalent to ``isalpha(c) " "or isdigit(c)``." msgstr "" +"Verifica se há um caractere alfanumérico ASCII; equivale a ``isalpha(c) or " +"isdigit(c)``." #: ../../library/curses.ascii.rst:109 msgid "" "Checks for an ASCII alphabetic character; it is equivalent to ``isupper(c) " "or islower(c)``." msgstr "" +"Verifica se há um caractere alfabético ASCII; equivale a ``isupper(c) or " +"islower(c)``." #: ../../library/curses.ascii.rst:115 msgid "Checks for a character value that fits in the 7-bit ASCII set." msgstr "" +"Verifica se há um valor de caractere que se encaixa no conjunto ASCII de 7 " +"bits." #: ../../library/curses.ascii.rst:120 msgid "Checks for an ASCII whitespace character; space or horizontal tab." msgstr "" +"Verifica se há um caractere de espaço em branco ASCII; espaço ou tabulação " +"horizontal." #: ../../library/curses.ascii.rst:125 msgid "" "Checks for an ASCII control character (in the range 0x00 to 0x1f or 0x7f)." msgstr "" +"Verifica se há um caractere de controle ASCII (no intervalo de 0x00 a 0x1f " +"ou 0x7f)." #: ../../library/curses.ascii.rst:130 msgid "" "Checks for an ASCII decimal digit, ``'0'`` through ``'9'``. This is " "equivalent to ``c in string.digits``." msgstr "" +"Verifica se há um dígito decimal ASCII, ``'0'`` a ``'9'``. Isso equivale a " +"``c in string.digits``." #: ../../library/curses.ascii.rst:136 msgid "Checks for ASCII any printable character except space." -msgstr "" +msgstr "Verifica se há algum caractere ASCII imprimível, exceto espaço." #: ../../library/curses.ascii.rst:141 msgid "Checks for an ASCII lower-case character." -msgstr "" +msgstr "Verifica se há um caractere ASCII minúsculo." #: ../../library/curses.ascii.rst:146 msgid "Checks for any ASCII printable character including space." -msgstr "" +msgstr "Verifica se há algum caractere ASCII imprimível, incluindo espaço." #: ../../library/curses.ascii.rst:151 msgid "" "Checks for any printable ASCII character which is not a space or an " "alphanumeric character." msgstr "" +"Verifica se há algum caractere ASCII imprimível que não seja um espaço ou um " +"caractere alfanumérico." #: ../../library/curses.ascii.rst:157 msgid "" "Checks for ASCII white-space characters; space, line feed, carriage return, " "form feed, horizontal tab, vertical tab." msgstr "" +"Verifica caracteres de espaço em branco ASCII; espaço, quebra de linha, " +"retorno de carro, quebra de página, tabulação horizontal, tabulação vertical." #: ../../library/curses.ascii.rst:163 msgid "Checks for an ASCII uppercase letter." -msgstr "" +msgstr "Verifica se há uma letra maiúscula ASCII." #: ../../library/curses.ascii.rst:168 msgid "" -"Checks for an ASCII hexadecimal digit. This is equivalent to ``c in string." -"hexdigits``." +"Checks for an ASCII hexadecimal digit. This is equivalent to ``c in " +"string.hexdigits``." msgstr "" +"Verifica se há um dígito hexadecimal ASCII. Isso equivale a ``c in " +"string.hexdigits``." #: ../../library/curses.ascii.rst:174 msgid "Checks for an ASCII control character (ordinal values 0 to 31)." msgstr "" +"Verifica se há um caractere de controle ASCII (valores ordinais de 0 a 31)." #: ../../library/curses.ascii.rst:179 msgid "Checks for a non-ASCII character (ordinal values 0x80 and above)." -msgstr "" +msgstr "Verifica se há um caractere não ASCII (valores ordinais 0x80 e acima)." #: ../../library/curses.ascii.rst:181 msgid "" "These functions accept either integers or single-character strings; when the " -"argument is a string, it is first converted using the built-in function :" -"func:`ord`." +"argument is a string, it is first converted using the built-in " +"function :func:`ord`." msgstr "" +"Essas funções aceitam números inteiros ou strings de caracteres únicos; " +"quando o argumento é uma string, ele é primeiro convertido usando a função " +"embutida :func:`ord`." #: ../../library/curses.ascii.rst:184 msgid "" @@ -288,34 +319,45 @@ msgid "" "character of the string you pass in; they do not actually know anything " "about the host machine's character encoding." msgstr "" +"Observe que todas essas funções verificam valores de bits ordinais derivados " +"do caractere da string que você passa; elas não sabem nada sobre a " +"codificação de caracteres da máquina host." #: ../../library/curses.ascii.rst:188 msgid "" "The following two functions take either a single-character string or integer " "byte value; they return a value of the same type." msgstr "" +"As duas funções a seguir aceitam uma string de caractere único ou um valor " +"de byte inteiro; elas retornam um valor do mesmo tipo." #: ../../library/curses.ascii.rst:194 msgid "Return the ASCII value corresponding to the low 7 bits of *c*." -msgstr "" +msgstr "Retorna o valor ASCII correspondente aos 7 bits mais baixos de *c*." #: ../../library/curses.ascii.rst:199 msgid "" "Return the control character corresponding to the given character (the " "character bit value is bitwise-anded with 0x1f)." msgstr "" +"Retorna o caractere de controle correspondente ao caractere fornecido (é " +"feito um E bit a bit com 0x1f sobre o valor do bit do caractere)." #: ../../library/curses.ascii.rst:205 msgid "" "Return the 8-bit character corresponding to the given ASCII character (the " "character bit value is bitwise-ored with 0x80)." msgstr "" +"Retorna o caractere de 8 vits correspondente ao caractere ASCII fornecido (é " +"feito um OU bit a bit com 0x80 sobre o valor do bit do caractere)." #: ../../library/curses.ascii.rst:208 msgid "" "The following function takes either a single-character string or integer " "value; it returns a string." msgstr "" +"A função a seguir aceita uma string de um único caractere ou um valor " +"inteiro; ela retorna uma string." #: ../../library/curses.ascii.rst:218 msgid "" @@ -327,6 +369,13 @@ msgid "" "(0x80) set, the meta bit is stripped, the preceding rules applied, and " "``'!'`` prepended to the result." msgstr "" +"Retorna uma representação de string do caractere ASCII *c*. Se *c* for " +"imprimível, essa string é o próprio caractere. Se o caractere for um " +"caractere de controle (0x00--0x1f), a string consiste em um acento " +"circunflexo (``'^'``) seguido pela letra maiúscula correspondente. Se o " +"caractere for de exclusão ASCII (0x7f), a string é ``'^?'``. Se o caractere " +"tiver seu metabit (0x80) definido, o metabit é removido, as regras " +"precedentes são aplicadas e ``'!'`` é adicionado ao resultado." #: ../../library/curses.ascii.rst:228 msgid "" @@ -334,15 +383,18 @@ msgid "" "two ASCII control characters from 0 (NUL) to 0x1f (US), in order, plus the " "mnemonic ``SP`` for the space character." msgstr "" +"Um vetor de strings de 33 elementos que contém os mnemônicos ASCII para os " +"trinta e dois caracteres de controle ASCII de 0 (NUL) a 0x1f (US), em ordem, " +"mais o mnemônico ``SP`` para o caractere de espaço." #: ../../library/curses.ascii.rst:212 msgid "^ (caret)" -msgstr "" +msgstr "^ (circunflexo)" #: ../../library/curses.ascii.rst:212 msgid "in curses module" -msgstr "" +msgstr "no módulo curses" #: ../../library/curses.ascii.rst:212 msgid "! (exclamation)" -msgstr "" +msgstr "! (exclamação)" diff --git a/library/curses.panel.po b/library/curses.panel.po index 6e32d1763..462924985 100644 --- a/library/curses.panel.po +++ b/library/curses.panel.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Cássio Nomura , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,6 +33,10 @@ msgid "" "on top of each other, and only the visible portions of each window will be " "displayed. Panels can be added, moved up or down in the stack, and removed." msgstr "" +"Painéis são janelas com o recurso adicional de profundidade, então eles " +"podem ser empilhados uns sobre os outros, e somente as partes visíveis de " +"cada janela serão exibidas. Painéis podem ser adicionados, movidos para cima " +"ou para baixo na pilha, e removidos." #: ../../library/curses.panel.rst:19 msgid "Functions" @@ -42,7 +44,7 @@ msgstr "Funções" #: ../../library/curses.panel.rst:21 msgid "The module :mod:`curses.panel` defines the following functions:" -msgstr "" +msgstr "O módulo :mod:`curses.panel` define as seguintes funções:" #: ../../library/curses.panel.rst:26 msgid "Returns the bottom panel in the panel stack." @@ -55,20 +57,26 @@ msgid "" "you don't, the panel object is garbage collected and removed from the panel " "stack." msgstr "" +"Retorna um objeto painel, associando-o à janela fornecida *win*. Esteja " +"ciente de que você precisa manter o objeto painel retornado referenciado " +"explicitamente. Se não fizer isso, o objeto painel será coletado como lixo e " +"removido da pilha de painéis." #: ../../library/curses.panel.rst:38 msgid "Returns the top panel in the panel stack." -msgstr "" +msgstr "Retorna o painel superior da pilha de painéis." #: ../../library/curses.panel.rst:43 msgid "" "Updates the virtual screen after changes in the panel stack. This does not " "call :func:`curses.doupdate`, so you'll have to do this yourself." msgstr "" +"Atualiza a tela virtual após alterações na pilha de painéis. Isso não " +"chama :func:`curses.doupdate`, então você terá que fazer isso sozinho." #: ../../library/curses.panel.rst:50 msgid "Panel Objects" -msgstr "Objetos Panel" +msgstr "Objetos painel" #: ../../library/curses.panel.rst:52 msgid "" @@ -77,14 +85,18 @@ msgid "" "determines the content, while the panel methods are responsible for the " "window's depth in the panel stack." msgstr "" +"Objetos painel, como retornados por :func:`new_panel` acima, são janelas com " +"uma ordem de empilhamento. Há sempre uma janela associada a um painel que " +"determina o conteúdo, enquanto os métodos de painel são responsáveis pela " +"profundidade da janela na pilha de painéis." #: ../../library/curses.panel.rst:57 msgid "Panel objects have the following methods:" -msgstr "Objetos Panel possuem os seguintes métodos:" +msgstr "Objetos painel possuem os seguintes métodos:" #: ../../library/curses.panel.rst:62 msgid "Returns the panel above the current panel." -msgstr "" +msgstr "Retorna o painel acima do painel atual." #: ../../library/curses.panel.rst:67 msgid "Returns the panel below the current panel." @@ -92,40 +104,47 @@ msgstr "Retorna o painel abaixo do painel atual." #: ../../library/curses.panel.rst:72 msgid "Push the panel to the bottom of the stack." -msgstr "" +msgstr "Insere o painel para o fundo da pilha." #: ../../library/curses.panel.rst:77 msgid "" "Returns ``True`` if the panel is hidden (not visible), ``False`` otherwise." msgstr "" +"Retorna ``True`` se o painel estiver oculto (não visível), ``False`` caso " +"contrário." #: ../../library/curses.panel.rst:82 msgid "" "Hide the panel. This does not delete the object, it just makes the window on " "screen invisible." msgstr "" +"Oculta o painel. Isso não exclui o objeto, apenas torna a janela invisível " +"na tela." #: ../../library/curses.panel.rst:88 msgid "Move the panel to the screen coordinates ``(y, x)``." -msgstr "" +msgstr "Move o painel para as coordenadas ``(y, x)`` da tela." #: ../../library/curses.panel.rst:93 msgid "Change the window associated with the panel to the window *win*." -msgstr "" +msgstr "Altera a janela associada ao painel para a janela *win*." #: ../../library/curses.panel.rst:98 msgid "" "Set the panel's user pointer to *obj*. This is used to associate an " "arbitrary piece of data with the panel, and can be any Python object." msgstr "" +"Define o ponteiro do usuário do painel para *obj*. Isso é usado para " +"associar um pedaço arbitrário de dados ao painel, e pode ser qualquer objeto " +"Python." #: ../../library/curses.panel.rst:104 msgid "Display the panel (which might have been hidden)." -msgstr "" +msgstr "Exibe o painel (que pode estar oculto)." #: ../../library/curses.panel.rst:109 msgid "Push panel to the top of the stack." -msgstr "" +msgstr "Insere o painel para o topo da pilha." #: ../../library/curses.panel.rst:114 msgid "" @@ -135,4 +154,4 @@ msgstr "" #: ../../library/curses.panel.rst:119 msgid "Returns the window object associated with the panel." -msgstr "" +msgstr "Retorna o objeto de janela associado ao painel." diff --git a/library/curses.po b/library/curses.po index 845ca3e11..ad4fa55f8 100644 --- a/library/curses.po +++ b/library/curses.po @@ -1,32 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Danilo Lima , 2021 -# Risaffi , 2021 -# Welington Carlos , 2021 -# i17obot , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Nicolas Noda Uesu, 2025 +# Adorilson Bezerra , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Adorilson Bezerra , 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,7 +33,7 @@ msgstr "" #: ../../library/curses.rst:12 msgid "**Source code:** :source:`Lib/curses`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/curses`" #: ../../library/curses.rst:16 msgid "" @@ -130,6 +125,7 @@ msgstr "" #: ../../library/curses.rst:61 msgid "Exception raised when a curses library function returns an error." msgstr "" +"Exceção lançada quando uma função da biblioteca curses retorna um erro." #: ../../library/curses.rst:65 msgid "" @@ -137,6 +133,9 @@ msgid "" "default to the current cursor location. Whenever *attr* is optional, it " "defaults to :const:`A_NORMAL`." msgstr "" +"Sempre que os argumentos *x* ou *y* de uma função ou método forem opcionais, " +"o valor predefinido é a posição atual do cursor. Sempre que *attr* for " +"opcional, o valor predefinido é :const:`A_NORMAL`." #: ../../library/curses.rst:69 msgid "The module :mod:`curses` defines the following functions:" @@ -183,9 +182,9 @@ msgstr "" msgid "" "Return the attribute value for displaying text in the specified color pair. " "Only the first 256 color pairs are supported. This attribute value can be " -"combined with :const:`A_STANDOUT`, :const:`A_REVERSE`, and the other :const:" -"`!A_\\*` attributes. :func:`pair_number` is the counterpart to this " -"function." +"combined with :const:`A_STANDOUT`, :const:`A_REVERSE`, and the " +"other :const:`!A_\\*` attributes. :func:`pair_number` is the counterpart to " +"this function." msgstr "" #: ../../library/curses.rst:119 @@ -201,16 +200,16 @@ msgstr "" msgid "" "Save the current terminal mode as the \"program\" mode, the mode when the " "running program is using curses. (Its counterpart is the \"shell\" mode, " -"for when the program is not in curses.) Subsequent calls to :func:" -"`reset_prog_mode` will restore this mode." +"for when the program is not in curses.) Subsequent calls " +"to :func:`reset_prog_mode` will restore this mode." msgstr "" #: ../../library/curses.rst:136 msgid "" "Save the current terminal mode as the \"shell\" mode, the mode when the " "running program is not using curses. (Its counterpart is the \"program\" " -"mode, when the program is using curses capabilities.) Subsequent calls to :" -"func:`reset_shell_mode` will restore this mode." +"mode, when the program is using curses capabilities.) Subsequent calls " +"to :func:`reset_shell_mode` will restore this mode." msgstr "" #: ../../library/curses.rst:144 @@ -236,8 +235,8 @@ msgid "" "a window. The normal :meth:`~window.refresh` call is simply :meth:`!" "noutrefresh` followed by :func:`!doupdate`; if you have to update multiple " "windows, you can speed performance and perhaps reduce screen flicker by " -"issuing :meth:`!noutrefresh` calls on all windows, followed by a single :" -"func:`!doupdate`." +"issuing :meth:`!noutrefresh` calls on all windows, followed by a " +"single :func:`!doupdate`." msgstr "" #: ../../library/curses.rst:164 @@ -290,13 +289,11 @@ msgid "" "coordinates. (*z* is currently unused.) *bstate* is an integer value whose " "bits will be set to indicate the type of event, and will be the bitwise OR " "of one or more of the following constants, where *n* is the button number " -"from 1 to 5: :const:`BUTTONn_PRESSED`, :const:`BUTTONn_RELEASED`, :const:" -"`BUTTONn_CLICKED`, :const:`BUTTONn_DOUBLE_CLICKED`, :const:" -"`BUTTONn_TRIPLE_CLICKED`, :const:`BUTTON_SHIFT`, :const:`BUTTON_CTRL`, :" -"const:`BUTTON_ALT`." +"from 1 to " +"5: :const:`BUTTONn_PRESSED`, :const:`BUTTONn_RELEASED`, :const:`BUTTONn_CLICKED`, :const:`BUTTONn_DOUBLE_CLICKED`, :const:`BUTTONn_TRIPLE_CLICKED`, :const:`BUTTON_SHIFT`, :const:`BUTTON_CTRL`, :const:`BUTTON_ALT`." msgstr "" -#: ../../library/curses.rst:216 ../../library/curses.rst:1757 +#: ../../library/curses.rst:216 ../../library/curses.rst:1777 msgid "" "The ``BUTTON5_*`` constants are now exposed if they are provided by the " "underlying curses library." @@ -311,9 +308,9 @@ msgstr "" #: ../../library/curses.rst:229 msgid "" -"Read window related data stored in the file by an earlier :func:`window." -"putwin` call. The routine then creates and initializes a new window using " -"that data, returning the new window object." +"Read window related data stored in the file by an " +"earlier :func:`window.putwin` call. The routine then creates and initializes " +"a new window using that data, returning the new window object." msgstr "" #: ../../library/curses.rst:236 @@ -476,14 +473,14 @@ msgid "" "and is not necessarily associated with a particular part of the screen. " "Pads can be used when a large window is needed, and only a part of the " "window will be on the screen at one time. Automatic refreshes of pads (such " -"as from scrolling or echoing of input) do not occur. The :meth:`~window." -"refresh` and :meth:`~window.noutrefresh` methods of a pad require 6 " -"arguments to specify the part of the pad to be displayed and the location on " -"the screen to be used for the display. The arguments are *pminrow*, " -"*pmincol*, *sminrow*, *smincol*, *smaxrow*, *smaxcol*; the *p* arguments " -"refer to the upper left corner of the pad region to be displayed and the *s* " -"arguments define a clipping box on the screen within which the pad region is " -"to be displayed." +"as from scrolling or echoing of input) do not occur. " +"The :meth:`~window.refresh` and :meth:`~window.noutrefresh` methods of a pad " +"require 6 arguments to specify the part of the pad to be displayed and the " +"location on the screen to be used for the display. The arguments are " +"*pminrow*, *pmincol*, *sminrow*, *smincol*, *smaxrow*, *smaxcol*; the *p* " +"arguments refer to the upper left corner of the pad region to be displayed " +"and the *s* arguments define a clipping box on the screen within which the " +"pad region is to be displayed." msgstr "" #: ../../library/curses.rst:397 @@ -546,15 +543,15 @@ msgstr "" #: ../../library/curses.rst:452 msgid "" -"Return the number of the color-pair set by the attribute value *attr*. :func:" -"`color_pair` is the counterpart to this function." +"Return the number of the color-pair set by the attribute value " +"*attr*. :func:`color_pair` is the counterpart to this function." msgstr "" #: ../../library/curses.rst:458 msgid "" "Equivalent to ``tputs(str, 1, putchar)``; emit the value of a specified " -"terminfo capability for the current terminal. Note that the output of :func:" -"`putp` always goes to standard output." +"terminfo capability for the current terminal. Note that the output " +"of :func:`putp` always goes to standard output." msgstr "" #: ../../library/curses.rst:465 @@ -573,20 +570,20 @@ msgstr "" #: ../../library/curses.rst:479 msgid "" -"Restore the terminal to \"program\" mode, as previously saved by :func:" -"`def_prog_mode`." +"Restore the terminal to \"program\" mode, as previously saved " +"by :func:`def_prog_mode`." msgstr "" #: ../../library/curses.rst:485 msgid "" -"Restore the terminal to \"shell\" mode, as previously saved by :func:" -"`def_shell_mode`." +"Restore the terminal to \"shell\" mode, as previously saved " +"by :func:`def_shell_mode`." msgstr "" #: ../../library/curses.rst:491 msgid "" -"Restore the state of the terminal modes to what it was at the last call to :" -"func:`savetty`." +"Restore the state of the terminal modes to what it was at the last call " +"to :func:`savetty`." msgstr "" #: ../../library/curses.rst:497 @@ -608,8 +605,8 @@ msgstr "" #: ../../library/curses.rst:514 msgid "" -"Save the current state of the terminal modes in a buffer, usable by :func:" -"`resetty`." +"Save the current state of the terminal modes in a buffer, usable " +"by :func:`resetty`." msgstr "" #: ../../library/curses.rst:519 @@ -658,11 +655,11 @@ msgstr "" #: ../../library/curses.rst:565 msgid "" ":func:`start_color` initializes eight basic colors (black, red, green, " -"yellow, blue, magenta, cyan, and white), and two global variables in the :" -"mod:`curses` module, :const:`COLORS` and :const:`COLOR_PAIRS`, containing " -"the maximum number of colors and color-pairs the terminal can support. It " -"also restores the colors on the terminal to the values they had when the " -"terminal was just turned on." +"yellow, blue, magenta, cyan, and white), and two global variables in " +"the :mod:`curses` module, :const:`COLORS` and :const:`COLOR_PAIRS`, " +"containing the maximum number of colors and color-pairs the terminal can " +"support. It also restores the colors on the terminal to the values they had " +"when the terminal was just turned on." msgstr "" #: ../../library/curses.rst:574 @@ -744,25 +741,25 @@ msgstr "" #: ../../library/curses.rst:647 msgid "" -"Update :envvar:`LINES` and :envvar:`COLS`. Useful for detecting manual " -"screen resize." +"Update the :const:`LINES` and :const:`COLS` module variables. Useful for " +"detecting manual screen resize." msgstr "" -#: ../../library/curses.rst:654 +#: ../../library/curses.rst:655 msgid "Push *ch* so the next :meth:`~window.get_wch` will return it." msgstr "" -#: ../../library/curses.rst:658 +#: ../../library/curses.rst:659 msgid "Only one *ch* can be pushed before :meth:`!get_wch` is called." msgstr "" -#: ../../library/curses.rst:665 +#: ../../library/curses.rst:666 msgid "" "Push a :const:`KEY_MOUSE` event onto the input queue, associating the given " "state data with it." msgstr "" -#: ../../library/curses.rst:671 +#: ../../library/curses.rst:672 msgid "" "If used, this function should be called before :func:`initscr` or newterm " "are called. When *flag* is ``False``, the values of lines and columns " @@ -772,7 +769,7 @@ msgid "" "to use the window size if :envvar:`LINES` and :envvar:`COLUMNS` are not set)." msgstr "" -#: ../../library/curses.rst:681 +#: ../../library/curses.rst:682 msgid "" "Allow use of default values for colors on terminals supporting this feature. " "Use this to support transparency in your application. The default color is " @@ -781,7 +778,7 @@ msgid "" "*x* to a red foreground color on the default background." msgstr "" -#: ../../library/curses.rst:690 +#: ../../library/curses.rst:691 msgid "" "Initialize curses and call another callable object, *func*, which should be " "the rest of your curses-using application. If the application raises an " @@ -794,51 +791,61 @@ msgid "" "On exit (whether normally or by exception) it restores cooked mode, turns on " "echo, and disables the terminal keypad." msgstr "" - -#: ../../library/curses.rst:704 +"Inicializa curses e chama outro objeto chamável, *func*, que deve ser o " +"resto da sua aplicação que usa curses. Se a aplicação levantar uma exceção, " +"esta função restaurará o terminal para um estado coerente antes de levantá-" +"la novamente e gerar um traceback. O objeto chamável *func* recebe então a " +"janela principal 'stdscr' como seu primeiro argumento, seguido de quaisquer " +"outros argumentos passados para :func:`!wrapper`. Antes de chamar " +"*func*, :func:`!wrapper` ativa o modo cbreak, desativa o eco, ativa o " +"teclado do terminal e inicializa as cores, se o terminal tiver suporte a " +"cores. Na saída (seja normal ou por exceção), restaura o modo cozinhado, " +"ativa o eco e desativa o teclado do terminal." + +#: ../../library/curses.rst:705 msgid "Window Objects" msgstr "" -#: ../../library/curses.rst:706 +#: ../../library/curses.rst:707 msgid "" "Window objects, as returned by :func:`initscr` and :func:`newwin` above, " "have the following methods and attributes:" msgstr "" -#: ../../library/curses.rst:713 +#: ../../library/curses.rst:714 msgid "" "Paint character *ch* at ``(y, x)`` with attributes *attr*, overwriting any " "character previously painted at that location. By default, the character " "position and attributes are the current settings for the window object." msgstr "" -#: ../../library/curses.rst:719 +#: ../../library/curses.rst:720 msgid "" "Writing outside the window, subwindow, or pad raises a :exc:`curses.error`. " "Attempting to write to the lower right corner of a window, subwindow, or pad " "will cause an exception to be raised after the character is printed." msgstr "" -#: ../../library/curses.rst:727 +#: ../../library/curses.rst:728 msgid "" "Paint at most *n* characters of the character string *str* at ``(y, x)`` " "with attributes *attr*, overwriting anything previously on the display." msgstr "" -#: ../../library/curses.rst:735 +#: ../../library/curses.rst:736 msgid "" "Paint the character string *str* at ``(y, x)`` with attributes *attr*, " "overwriting anything previously on the display." msgstr "" -#: ../../library/curses.rst:740 +#: ../../library/curses.rst:741 msgid "" "Writing outside the window, subwindow, or pad raises :exc:`curses.error`. " "Attempting to write to the lower right corner of a window, subwindow, or pad " "will cause an exception to be raised after the string is printed." msgstr "" -#: ../../library/curses.rst:744 +#: ../../library/curses.rst:745 msgid "" "A `bug in ncurses `_, the backend for " "this Python module, can cause SegFaults when resizing windows. This is fixed " @@ -848,44 +855,44 @@ msgid "" "line." msgstr "" -#: ../../library/curses.rst:754 +#: ../../library/curses.rst:755 msgid "" "Remove attribute *attr* from the \"background\" set applied to all writes to " "the current window." msgstr "" -#: ../../library/curses.rst:760 +#: ../../library/curses.rst:761 msgid "" "Add attribute *attr* from the \"background\" set applied to all writes to " "the current window." msgstr "" -#: ../../library/curses.rst:766 +#: ../../library/curses.rst:767 msgid "" "Set the \"background\" set of attributes to *attr*. This set is initially " "``0`` (no attributes)." msgstr "" -#: ../../library/curses.rst:772 +#: ../../library/curses.rst:773 msgid "" "Set the background property of the window to the character *ch*, with " "attributes *attr*. The change is then applied to every character position " "in that window:" msgstr "" -#: ../../library/curses.rst:776 +#: ../../library/curses.rst:777 msgid "" "The attribute of every character in the window is changed to the new " "background attribute." msgstr "" -#: ../../library/curses.rst:779 +#: ../../library/curses.rst:780 msgid "" "Wherever the former background character appears, it is changed to the new " "background character." msgstr "" -#: ../../library/curses.rst:785 +#: ../../library/curses.rst:786 msgid "" "Set the window's background. A window's background consists of a character " "and any combination of attributes. The attribute part of the background is " @@ -896,128 +903,128 @@ msgid "" "delete line/character operations." msgstr "" -#: ../../library/curses.rst:795 +#: ../../library/curses.rst:796 msgid "" "Draw a border around the edges of the window. Each parameter specifies the " "character to use for a specific part of the border; see the table below for " "more details." msgstr "" -#: ../../library/curses.rst:801 +#: ../../library/curses.rst:802 msgid "" "A ``0`` value for any parameter will cause the default character to be used " "for that parameter. Keyword parameters can *not* be used. The defaults are " "listed in this table:" msgstr "" -#: ../../library/curses.rst:806 +#: ../../library/curses.rst:807 msgid "Parameter" msgstr "" -#: ../../library/curses.rst:806 +#: ../../library/curses.rst:807 msgid "Description" msgstr "Descrição" -#: ../../library/curses.rst:806 +#: ../../library/curses.rst:807 msgid "Default value" msgstr "Valor padrão" -#: ../../library/curses.rst:808 +#: ../../library/curses.rst:809 msgid "*ls*" msgstr "" -#: ../../library/curses.rst:808 +#: ../../library/curses.rst:809 msgid "Left side" msgstr "" -#: ../../library/curses.rst:808 ../../library/curses.rst:810 +#: ../../library/curses.rst:809 ../../library/curses.rst:811 msgid ":const:`ACS_VLINE`" msgstr ":const:`ACS_VLINE`" -#: ../../library/curses.rst:810 +#: ../../library/curses.rst:811 msgid "*rs*" msgstr "" -#: ../../library/curses.rst:810 +#: ../../library/curses.rst:811 msgid "Right side" msgstr "" -#: ../../library/curses.rst:812 +#: ../../library/curses.rst:813 msgid "*ts*" msgstr "" -#: ../../library/curses.rst:812 +#: ../../library/curses.rst:813 msgid "Top" msgstr "" -#: ../../library/curses.rst:812 ../../library/curses.rst:814 +#: ../../library/curses.rst:813 ../../library/curses.rst:815 msgid ":const:`ACS_HLINE`" msgstr ":const:`ACS_HLINE`" -#: ../../library/curses.rst:814 +#: ../../library/curses.rst:815 msgid "*bs*" msgstr "" -#: ../../library/curses.rst:814 +#: ../../library/curses.rst:815 msgid "Bottom" msgstr "" -#: ../../library/curses.rst:816 +#: ../../library/curses.rst:817 msgid "*tl*" msgstr "" -#: ../../library/curses.rst:816 +#: ../../library/curses.rst:817 msgid "Upper-left corner" msgstr "" -#: ../../library/curses.rst:816 +#: ../../library/curses.rst:817 msgid ":const:`ACS_ULCORNER`" msgstr ":const:`ACS_ULCORNER`" -#: ../../library/curses.rst:818 +#: ../../library/curses.rst:819 msgid "*tr*" msgstr "*tr*" -#: ../../library/curses.rst:818 +#: ../../library/curses.rst:819 msgid "Upper-right corner" msgstr "" -#: ../../library/curses.rst:818 +#: ../../library/curses.rst:819 msgid ":const:`ACS_URCORNER`" msgstr ":const:`ACS_URCORNER`" -#: ../../library/curses.rst:820 +#: ../../library/curses.rst:821 msgid "*bl*" msgstr "" -#: ../../library/curses.rst:820 +#: ../../library/curses.rst:821 msgid "Bottom-left corner" msgstr "" -#: ../../library/curses.rst:820 +#: ../../library/curses.rst:821 msgid ":const:`ACS_LLCORNER`" msgstr ":const:`ACS_LLCORNER`" -#: ../../library/curses.rst:822 +#: ../../library/curses.rst:823 msgid "*br*" msgstr "" -#: ../../library/curses.rst:822 +#: ../../library/curses.rst:823 msgid "Bottom-right corner" msgstr "" -#: ../../library/curses.rst:822 +#: ../../library/curses.rst:823 msgid ":const:`ACS_LRCORNER`" msgstr ":const:`ACS_LRCORNER`" -#: ../../library/curses.rst:828 +#: ../../library/curses.rst:829 msgid "" "Similar to :meth:`border`, but both *ls* and *rs* are *vertch* and both *ts* " "and *bs* are *horch*. The default corner characters are always used by this " "function." msgstr "" -#: ../../library/curses.rst:837 +#: ../../library/curses.rst:838 msgid "" "Set the attributes of *num* characters at the current cursor position, or at " "position ``(y, x)`` if supplied. If *num* is not given or is ``-1``, the " @@ -1027,45 +1034,45 @@ msgid "" "be redisplayed by the next window refresh." msgstr "" -#: ../../library/curses.rst:847 +#: ../../library/curses.rst:848 msgid "" "Like :meth:`erase`, but also cause the whole window to be repainted upon " "next call to :meth:`refresh`." msgstr "" -#: ../../library/curses.rst:853 +#: ../../library/curses.rst:854 msgid "" "If *flag* is ``True``, the next call to :meth:`refresh` will clear the " "window completely." msgstr "" -#: ../../library/curses.rst:859 +#: ../../library/curses.rst:860 msgid "" "Erase from cursor to the end of the window: all lines below the cursor are " "deleted, and then the equivalent of :meth:`clrtoeol` is performed." msgstr "" -#: ../../library/curses.rst:865 +#: ../../library/curses.rst:866 msgid "Erase from cursor to the end of the line." msgstr "" -#: ../../library/curses.rst:870 +#: ../../library/curses.rst:871 msgid "" "Update the current cursor position of all the ancestors of the window to " "reflect the current cursor position of the window." msgstr "" -#: ../../library/curses.rst:876 +#: ../../library/curses.rst:877 msgid "Delete any character at ``(y, x)``." msgstr "" -#: ../../library/curses.rst:881 +#: ../../library/curses.rst:882 msgid "" "Delete the line under the cursor. All following lines are moved up by one " "line." msgstr "" -#: ../../library/curses.rst:887 +#: ../../library/curses.rst:888 msgid "" "An abbreviation for \"derive window\", :meth:`derwin` is the same as " "calling :meth:`subwin`, except that *begin_y* and *begin_x* are relative to " @@ -1073,13 +1080,13 @@ msgid "" "a window object for the derived window." msgstr "" -#: ../../library/curses.rst:895 +#: ../../library/curses.rst:896 msgid "" -"Add character *ch* with attribute *attr*, and immediately call :meth:" -"`refresh` on the window." +"Add character *ch* with attribute *attr*, and immediately " +"call :meth:`refresh` on the window." msgstr "" -#: ../../library/curses.rst:901 +#: ../../library/curses.rst:902 msgid "" "Test whether the given pair of screen-relative character-cell coordinates " "are enclosed by the given window, returning ``True`` or ``False``. It is " @@ -1087,11 +1094,11 @@ msgid "" "location of a mouse event." msgstr "" -#: ../../library/curses.rst:906 +#: ../../library/curses.rst:907 msgid "Previously it returned ``1`` or ``0`` instead of ``True`` or ``False``." msgstr "" -#: ../../library/curses.rst:912 +#: ../../library/curses.rst:913 msgid "" "Encoding used to encode method arguments (Unicode strings and characters). " "The encoding attribute is inherited from the parent window when a subwindow " @@ -1099,19 +1106,19 @@ msgid "" "locale encoding is used (see :func:`locale.getencoding`)." msgstr "" -#: ../../library/curses.rst:922 +#: ../../library/curses.rst:923 msgid "Clear the window." msgstr "" -#: ../../library/curses.rst:927 +#: ../../library/curses.rst:928 msgid "Return a tuple ``(y, x)`` of co-ordinates of upper-left corner." msgstr "" -#: ../../library/curses.rst:932 +#: ../../library/curses.rst:933 msgid "Return the given window's current background character/attribute pair." msgstr "" -#: ../../library/curses.rst:937 +#: ../../library/curses.rst:938 msgid "" "Get a character. Note that the integer returned does *not* have to be in " "ASCII range: function keys, keypad keys and so on are represented by numbers " @@ -1119,14 +1126,14 @@ msgid "" "otherwise wait until a key is pressed." msgstr "" -#: ../../library/curses.rst:945 +#: ../../library/curses.rst:946 msgid "" "Get a wide character. Return a character for most keys, or an integer for " "function keys, keypad keys, and other special keys. In no-delay mode, raise " "an exception if there is no input." msgstr "" -#: ../../library/curses.rst:954 +#: ../../library/curses.rst:955 msgid "" "Get a character, returning a string instead of an integer, as :meth:`getch` " "does. Function keys, keypad keys and other special keys return a multibyte " @@ -1134,35 +1141,35 @@ msgid "" "there is no input." msgstr "" -#: ../../library/curses.rst:962 +#: ../../library/curses.rst:963 msgid "Return a tuple ``(y, x)`` of the height and width of the window." msgstr "" -#: ../../library/curses.rst:967 +#: ../../library/curses.rst:968 msgid "" "Return the beginning coordinates of this window relative to its parent " "window as a tuple ``(y, x)``. Return ``(-1, -1)`` if this window has no " "parent." msgstr "" -#: ../../library/curses.rst:977 +#: ../../library/curses.rst:978 msgid "" "Read a bytes object from the user, with primitive line editing capacity." msgstr "" -#: ../../library/curses.rst:982 +#: ../../library/curses.rst:983 msgid "" "Return a tuple ``(y, x)`` of current cursor position relative to the " "window's upper-left corner." msgstr "" -#: ../../library/curses.rst:989 +#: ../../library/curses.rst:990 msgid "" "Display a horizontal line starting at ``(y, x)`` with length *n* consisting " "of the character *ch*." msgstr "" -#: ../../library/curses.rst:995 +#: ../../library/curses.rst:996 msgid "" "If *flag* is ``False``, curses no longer considers using the hardware insert/" "delete character feature of the terminal; if *flag* is ``True``, use of " @@ -1170,13 +1177,13 @@ msgid "" "initialized, use of character insert/delete is enabled by default." msgstr "" -#: ../../library/curses.rst:1003 +#: ../../library/curses.rst:1004 msgid "" "If *flag* is ``True``, :mod:`curses` will try and use hardware line editing " "facilities. Otherwise, line insertion/deletion are disabled." msgstr "" -#: ../../library/curses.rst:1009 +#: ../../library/curses.rst:1010 msgid "" "If *flag* is ``True``, any change in the window image automatically causes " "the window to be refreshed; you no longer have to call :meth:`refresh` " @@ -1184,19 +1191,19 @@ msgid "" "calls to wrefresh. This option is disabled by default." msgstr "" -#: ../../library/curses.rst:1017 +#: ../../library/curses.rst:1018 msgid "" "Return the character at the given position in the window. The bottom 8 bits " "are the character proper, and upper bits are the attributes." msgstr "" -#: ../../library/curses.rst:1024 +#: ../../library/curses.rst:1025 msgid "" "Paint character *ch* at ``(y, x)`` with attributes *attr*, moving the line " "from position *x* right by one character." msgstr "" -#: ../../library/curses.rst:1030 +#: ../../library/curses.rst:1031 msgid "" "Insert *nlines* lines into the specified window above the current line. The " "*nlines* bottom lines are lost. For negative *nlines*, delete *nlines* " @@ -1205,13 +1212,13 @@ msgid "" "remains the same." msgstr "" -#: ../../library/curses.rst:1039 +#: ../../library/curses.rst:1040 msgid "" "Insert a blank line under the cursor. All following lines are moved down by " "one line." msgstr "" -#: ../../library/curses.rst:1046 +#: ../../library/curses.rst:1047 msgid "" "Insert a character string (as many characters as will fit on the line) " "before the character under the cursor, up to *n* characters. If *n* is " @@ -1221,7 +1228,7 @@ msgid "" "if specified)." msgstr "" -#: ../../library/curses.rst:1056 +#: ../../library/curses.rst:1057 msgid "" "Insert a character string (as many characters as will fit on the line) " "before the character under the cursor. All characters to the right of the " @@ -1230,7 +1237,7 @@ msgid "" "specified)." msgstr "" -#: ../../library/curses.rst:1065 +#: ../../library/curses.rst:1066 msgid "" "Return a bytes object of characters, extracted from the window starting at " "the current cursor position, or at *y*, *x* if specified. Attributes are " @@ -1238,76 +1245,76 @@ msgid "" "string at most *n* characters long (exclusive of the trailing NUL)." msgstr "" -#: ../../library/curses.rst:1073 +#: ../../library/curses.rst:1074 msgid "" -"Return ``True`` if the specified line was modified since the last call to :" -"meth:`refresh`; otherwise return ``False``. Raise a :exc:`curses.error` " +"Return ``True`` if the specified line was modified since the last call " +"to :meth:`refresh`; otherwise return ``False``. Raise a :exc:`curses.error` " "exception if *line* is not valid for the given window." msgstr "" -#: ../../library/curses.rst:1080 +#: ../../library/curses.rst:1081 msgid "" -"Return ``True`` if the specified window was modified since the last call to :" -"meth:`refresh`; otherwise return ``False``." +"Return ``True`` if the specified window was modified since the last call " +"to :meth:`refresh`; otherwise return ``False``." msgstr "" -#: ../../library/curses.rst:1086 +#: ../../library/curses.rst:1087 msgid "" "If *flag* is ``True``, escape sequences generated by some keys (keypad, " "function keys) will be interpreted by :mod:`curses`. If *flag* is ``False``, " "escape sequences will be left as is in the input stream." msgstr "" -#: ../../library/curses.rst:1093 +#: ../../library/curses.rst:1094 msgid "" "If *flag* is ``True``, cursor is left where it is on update, instead of " "being at \"cursor position.\" This reduces cursor movement where possible. " "If possible the cursor will be made invisible." msgstr "" -#: ../../library/curses.rst:1097 +#: ../../library/curses.rst:1098 msgid "" "If *flag* is ``False``, cursor will always be at \"cursor position\" after " "an update." msgstr "" -#: ../../library/curses.rst:1102 +#: ../../library/curses.rst:1103 msgid "Move cursor to ``(new_y, new_x)``." msgstr "" -#: ../../library/curses.rst:1107 +#: ../../library/curses.rst:1108 msgid "" "Move the window inside its parent window. The screen-relative parameters of " "the window are not changed. This routine is used to display different parts " "of the parent window at the same physical position on the screen." msgstr "" -#: ../../library/curses.rst:1114 +#: ../../library/curses.rst:1115 msgid "Move the window so its upper-left corner is at ``(new_y, new_x)``." msgstr "" -#: ../../library/curses.rst:1119 +#: ../../library/curses.rst:1120 msgid "If *flag* is ``True``, :meth:`getch` will be non-blocking." msgstr "" -#: ../../library/curses.rst:1124 +#: ../../library/curses.rst:1125 msgid "If *flag* is ``True``, escape sequences will not be timed out." msgstr "" -#: ../../library/curses.rst:1126 +#: ../../library/curses.rst:1127 msgid "" "If *flag* is ``False``, after a few milliseconds, an escape sequence will " "not be interpreted, and will be left in the input stream as is." msgstr "" -#: ../../library/curses.rst:1132 +#: ../../library/curses.rst:1133 msgid "" "Mark for refresh but wait. This function updates the data structure " "representing the desired state of the window, but does not force an update " "of the physical screen. To accomplish that, call :func:`doupdate`." msgstr "" -#: ../../library/curses.rst:1139 +#: ../../library/curses.rst:1140 msgid "" "Overlay the window on top of *destwin*. The windows need not be the same " "size, only the overlapping region is copied. This copy is non-destructive, " @@ -1315,15 +1322,15 @@ msgid "" "contents of *destwin*." msgstr "" -#: ../../library/curses.rst:1144 +#: ../../library/curses.rst:1145 msgid "" -"To get fine-grained control over the copied region, the second form of :meth:" -"`overlay` can be used. *sminrow* and *smincol* are the upper-left " +"To get fine-grained control over the copied region, the second form " +"of :meth:`overlay` can be used. *sminrow* and *smincol* are the upper-left " "coordinates of the source window, and the other variables mark a rectangle " "in the destination window." msgstr "" -#: ../../library/curses.rst:1152 +#: ../../library/curses.rst:1153 msgid "" "Overwrite the window on top of *destwin*. The windows need not be the same " "size, in which case only the overlapping region is copied. This copy is " @@ -1331,39 +1338,39 @@ msgid "" "the old contents of *destwin*." msgstr "" -#: ../../library/curses.rst:1157 +#: ../../library/curses.rst:1158 msgid "" -"To get fine-grained control over the copied region, the second form of :meth:" -"`overwrite` can be used. *sminrow* and *smincol* are the upper-left " +"To get fine-grained control over the copied region, the second form " +"of :meth:`overwrite` can be used. *sminrow* and *smincol* are the upper-left " "coordinates of the source window, the other variables mark a rectangle in " "the destination window." msgstr "" -#: ../../library/curses.rst:1165 +#: ../../library/curses.rst:1166 msgid "" "Write all data associated with the window into the provided file object. " "This information can be later retrieved using the :func:`getwin` function." msgstr "" -#: ../../library/curses.rst:1171 +#: ../../library/curses.rst:1172 msgid "" "Indicate that the *num* screen lines, starting at line *beg*, are corrupted " "and should be completely redrawn on the next :meth:`refresh` call." msgstr "" -#: ../../library/curses.rst:1177 +#: ../../library/curses.rst:1178 msgid "" -"Touch the entire window, causing it to be completely redrawn on the next :" -"meth:`refresh` call." +"Touch the entire window, causing it to be completely redrawn on the " +"next :meth:`refresh` call." msgstr "" -#: ../../library/curses.rst:1183 +#: ../../library/curses.rst:1184 msgid "" "Update the display immediately (sync actual screen with previous drawing/" "deleting methods)." msgstr "" -#: ../../library/curses.rst:1186 +#: ../../library/curses.rst:1187 msgid "" "The 6 optional arguments can only be specified when the window is a pad " "created with :func:`newpad`. The additional parameters are needed to " @@ -1378,7 +1385,7 @@ msgid "" "*smincol* are treated as if they were zero." msgstr "" -#: ../../library/curses.rst:1200 +#: ../../library/curses.rst:1201 msgid "" "Reallocate storage for a curses window to adjust its dimensions to the " "specified values. If either dimension is larger than the current values, " @@ -1386,11 +1393,11 @@ msgid "" "rendition (as set by :meth:`bkgdset`) merged into them." msgstr "" -#: ../../library/curses.rst:1208 +#: ../../library/curses.rst:1209 msgid "Scroll the screen or scrolling region upward by *lines* lines." msgstr "" -#: ../../library/curses.rst:1213 +#: ../../library/curses.rst:1214 msgid "" "Control what happens when the cursor of a window is moved off the edge of " "the window or scrolling region, either as a result of a newline action on " @@ -1400,64 +1407,64 @@ msgid "" "scrolling effect on the terminal, it is also necessary to call :meth:`idlok`." msgstr "" -#: ../../library/curses.rst:1223 +#: ../../library/curses.rst:1224 msgid "" "Set the scrolling region from line *top* to line *bottom*. All scrolling " "actions will take place in this region." msgstr "" -#: ../../library/curses.rst:1229 +#: ../../library/curses.rst:1230 msgid "" "Turn off the standout attribute. On some terminals this has the side effect " "of turning off all attributes." msgstr "" -#: ../../library/curses.rst:1235 +#: ../../library/curses.rst:1236 msgid "Turn on attribute *A_STANDOUT*." msgstr "" -#: ../../library/curses.rst:1241 ../../library/curses.rst:1248 +#: ../../library/curses.rst:1242 ../../library/curses.rst:1249 msgid "" "Return a sub-window, whose upper-left corner is at ``(begin_y, begin_x)``, " "and whose width/height is *ncols*/*nlines*." msgstr "" -#: ../../library/curses.rst:1251 +#: ../../library/curses.rst:1252 msgid "" "By default, the sub-window will extend from the specified position to the " "lower right corner of the window." msgstr "" -#: ../../library/curses.rst:1257 +#: ../../library/curses.rst:1258 msgid "" "Touch each location in the window that has been touched in any of its " "ancestor windows. This routine is called by :meth:`refresh`, so it should " "almost never be necessary to call it manually." msgstr "" -#: ../../library/curses.rst:1264 +#: ../../library/curses.rst:1265 msgid "" "If *flag* is ``True``, then :meth:`syncup` is called automatically whenever " "there is a change in the window." msgstr "" -#: ../../library/curses.rst:1270 +#: ../../library/curses.rst:1271 msgid "" "Touch all locations in ancestors of the window that have been changed in " "the window." msgstr "" -#: ../../library/curses.rst:1276 +#: ../../library/curses.rst:1277 msgid "" "Set blocking or non-blocking read behavior for the window. If *delay* is " "negative, blocking read is used (which will wait indefinitely for input). " "If *delay* is zero, then non-blocking read is used, and :meth:`getch` will " -"return ``-1`` if no input is waiting. If *delay* is positive, then :meth:" -"`getch` will block for *delay* milliseconds, and return ``-1`` if there is " -"still no input at the end of that time." +"return ``-1`` if no input is waiting. If *delay* is positive, " +"then :meth:`getch` will block for *delay* milliseconds, and return ``-1`` if " +"there is still no input at the end of that time." msgstr "" -#: ../../library/curses.rst:1286 +#: ../../library/curses.rst:1287 msgid "" "Pretend *count* lines have been changed, starting with line *start*. If " "*changed* is supplied, it specifies whether the affected lines are marked as " @@ -1465,49 +1472,49 @@ msgid "" "``=False``)." msgstr "" -#: ../../library/curses.rst:1293 +#: ../../library/curses.rst:1294 msgid "" "Pretend the whole window has been changed, for purposes of drawing " "optimizations." msgstr "" -#: ../../library/curses.rst:1299 +#: ../../library/curses.rst:1300 msgid "" -"Mark all lines in the window as unchanged since the last call to :meth:" -"`refresh`." +"Mark all lines in the window as unchanged since the last call " +"to :meth:`refresh`." msgstr "" -#: ../../library/curses.rst:1306 +#: ../../library/curses.rst:1307 msgid "" "Display a vertical line starting at ``(y, x)`` with length *n* consisting of " "the character *ch* with attributes *attr*." msgstr "" -#: ../../library/curses.rst:1311 +#: ../../library/curses.rst:1312 msgid "Constants" msgstr "Constantes" -#: ../../library/curses.rst:1313 +#: ../../library/curses.rst:1314 msgid "The :mod:`curses` module defines the following data members:" msgstr "" -#: ../../library/curses.rst:1318 +#: ../../library/curses.rst:1319 msgid "" -"Some curses routines that return an integer, such as :meth:`~window." -"getch`, return :const:`ERR` upon failure." +"Some curses routines that return an integer, such " +"as :meth:`~window.getch`, return :const:`ERR` upon failure." msgstr "" -#: ../../library/curses.rst:1324 +#: ../../library/curses.rst:1325 msgid "" "Some curses routines that return an integer, such as :func:`napms`, " "return :const:`OK` upon success." msgstr "" -#: ../../library/curses.rst:1331 +#: ../../library/curses.rst:1332 msgid "A bytes object representing the current version of the module." msgstr "" -#: ../../library/curses.rst:1336 +#: ../../library/curses.rst:1337 msgid "" "A named tuple containing the three components of the ncurses library " "version: *major*, *minor*, and *patch*. All values are integers. The " @@ -1515,587 +1522,606 @@ msgid "" "is equivalent to ``curses.ncurses_version.major`` and so on." msgstr "" -#: ../../library/curses.rst:1341 +#: ../../library/curses.rst:1342 msgid "Availability: if the ncurses library is used." msgstr "" -#: ../../library/curses.rst:1347 -msgid "The maximum number of colors the terminal can support." +#: ../../library/curses.rst:1348 +msgid "" +"The maximum number of colors the terminal can support. It is defined only " +"after the call to :func:`start_color`." msgstr "" -#: ../../library/curses.rst:1351 -msgid "The maximum number of color pairs the terminal can support." +#: ../../library/curses.rst:1353 +msgid "" +"The maximum number of color pairs the terminal can support. It is defined " +"only after the call to :func:`start_color`." msgstr "" -#: ../../library/curses.rst:1353 +#: ../../library/curses.rst:1358 +msgid "" +"The width of the screen, i.e., the number of columns. It is defined only " +"after the call to :func:`initscr`. Updated " +"by :func:`update_lines_cols`, :func:`resizeterm` and :func:`resize_term`." +msgstr "" + +#: ../../library/curses.rst:1365 +msgid "" +"The height of the screen, i.e., the number of lines. It is defined only " +"after the call to :func:`initscr`. Updated " +"by :func:`update_lines_cols`, :func:`resizeterm` and :func:`resize_term`." +msgstr "" + +#: ../../library/curses.rst:1371 msgid "" "Some constants are available to specify character cell attributes. The exact " "constants available are system dependent." msgstr "" -#: ../../library/curses.rst:1357 +#: ../../library/curses.rst:1375 msgid "Attribute" msgstr "Atributo" -#: ../../library/curses.rst:1357 ../../library/curses.rst:1402 -#: ../../library/curses.rst:1646 ../../library/curses.rst:1738 +#: ../../library/curses.rst:1375 ../../library/curses.rst:1420 +#: ../../library/curses.rst:1666 ../../library/curses.rst:1758 msgid "Meaning" msgstr "Significado" -#: ../../library/curses.rst:1359 +#: ../../library/curses.rst:1377 msgid "Alternate character set mode" msgstr "" -#: ../../library/curses.rst:1361 +#: ../../library/curses.rst:1379 msgid "Blink mode" msgstr "" -#: ../../library/curses.rst:1363 +#: ../../library/curses.rst:1381 msgid "Bold mode" msgstr "" -#: ../../library/curses.rst:1365 +#: ../../library/curses.rst:1383 msgid "Dim mode" msgstr "" -#: ../../library/curses.rst:1367 +#: ../../library/curses.rst:1385 msgid "Invisible or blank mode" msgstr "" -#: ../../library/curses.rst:1369 +#: ../../library/curses.rst:1387 msgid "Italic mode" msgstr "" -#: ../../library/curses.rst:1371 +#: ../../library/curses.rst:1389 msgid "Normal attribute" msgstr "" -#: ../../library/curses.rst:1373 +#: ../../library/curses.rst:1391 msgid "Protected mode" msgstr "" -#: ../../library/curses.rst:1375 +#: ../../library/curses.rst:1393 msgid "Reverse background and foreground colors" msgstr "" -#: ../../library/curses.rst:1378 +#: ../../library/curses.rst:1396 msgid "Standout mode" msgstr "" -#: ../../library/curses.rst:1380 +#: ../../library/curses.rst:1398 msgid "Underline mode" msgstr "" -#: ../../library/curses.rst:1382 +#: ../../library/curses.rst:1400 msgid "Horizontal highlight" msgstr "" -#: ../../library/curses.rst:1384 +#: ../../library/curses.rst:1402 msgid "Left highlight" msgstr "" -#: ../../library/curses.rst:1386 +#: ../../library/curses.rst:1404 msgid "Low highlight" msgstr "" -#: ../../library/curses.rst:1388 +#: ../../library/curses.rst:1406 msgid "Right highlight" msgstr "" -#: ../../library/curses.rst:1390 +#: ../../library/curses.rst:1408 msgid "Top highlight" msgstr "" -#: ../../library/curses.rst:1392 +#: ../../library/curses.rst:1410 msgid "Vertical highlight" msgstr "" -#: ../../library/curses.rst:1395 +#: ../../library/curses.rst:1413 msgid "``A_ITALIC`` was added." msgstr "" -#: ../../library/curses.rst:1398 +#: ../../library/curses.rst:1416 msgid "" "Several constants are available to extract corresponding attributes returned " "by some methods." msgstr "" -#: ../../library/curses.rst:1402 +#: ../../library/curses.rst:1420 msgid "Bit-mask" msgstr "" -#: ../../library/curses.rst:1404 +#: ../../library/curses.rst:1422 msgid "Bit-mask to extract attributes" msgstr "" -#: ../../library/curses.rst:1407 +#: ../../library/curses.rst:1425 msgid "Bit-mask to extract a character" msgstr "" -#: ../../library/curses.rst:1410 +#: ../../library/curses.rst:1428 msgid "Bit-mask to extract color-pair field information" msgstr "" -#: ../../library/curses.rst:1414 +#: ../../library/curses.rst:1432 msgid "" "Keys are referred to by integer constants with names starting with " "``KEY_``. The exact keycaps available are system dependent." msgstr "" -#: ../../library/curses.rst:1420 +#: ../../library/curses.rst:1438 msgid "Key constant" msgstr "" -#: ../../library/curses.rst:1420 +#: ../../library/curses.rst:1438 msgid "Key" msgstr "Chave" -#: ../../library/curses.rst:1422 +#: ../../library/curses.rst:1440 msgid "Minimum key value" msgstr "" -#: ../../library/curses.rst:1424 +#: ../../library/curses.rst:1442 msgid "Break key (unreliable)" msgstr "" -#: ../../library/curses.rst:1426 +#: ../../library/curses.rst:1444 msgid "Down-arrow" msgstr "" -#: ../../library/curses.rst:1428 +#: ../../library/curses.rst:1446 msgid "Up-arrow" msgstr "" -#: ../../library/curses.rst:1430 +#: ../../library/curses.rst:1448 msgid "Left-arrow" msgstr "" -#: ../../library/curses.rst:1432 +#: ../../library/curses.rst:1450 msgid "Right-arrow" msgstr "" -#: ../../library/curses.rst:1434 +#: ../../library/curses.rst:1452 msgid "Home key (upward+left arrow)" msgstr "" -#: ../../library/curses.rst:1436 +#: ../../library/curses.rst:1454 msgid "Backspace (unreliable)" msgstr "" -#: ../../library/curses.rst:1438 +#: ../../library/curses.rst:1456 msgid "Function keys. Up to 64 function keys are supported." msgstr "" -#: ../../library/curses.rst:1441 +#: ../../library/curses.rst:1459 msgid "Value of function key *n*" msgstr "" -#: ../../library/curses.rst:1443 +#: ../../library/curses.rst:1461 msgid "Delete line" msgstr "" -#: ../../library/curses.rst:1445 +#: ../../library/curses.rst:1463 msgid "Insert line" msgstr "" -#: ../../library/curses.rst:1447 +#: ../../library/curses.rst:1465 msgid "Delete character" msgstr "" -#: ../../library/curses.rst:1449 +#: ../../library/curses.rst:1467 msgid "Insert char or enter insert mode" msgstr "" -#: ../../library/curses.rst:1451 +#: ../../library/curses.rst:1469 msgid "Exit insert char mode" msgstr "" -#: ../../library/curses.rst:1453 +#: ../../library/curses.rst:1471 msgid "Clear screen" msgstr "" -#: ../../library/curses.rst:1455 +#: ../../library/curses.rst:1473 msgid "Clear to end of screen" msgstr "" -#: ../../library/curses.rst:1457 +#: ../../library/curses.rst:1475 msgid "Clear to end of line" msgstr "" -#: ../../library/curses.rst:1459 +#: ../../library/curses.rst:1477 msgid "Scroll 1 line forward" msgstr "" -#: ../../library/curses.rst:1461 +#: ../../library/curses.rst:1479 msgid "Scroll 1 line backward (reverse)" msgstr "" -#: ../../library/curses.rst:1463 +#: ../../library/curses.rst:1481 msgid "Next page" msgstr "" -#: ../../library/curses.rst:1465 +#: ../../library/curses.rst:1483 msgid "Previous page" msgstr "" -#: ../../library/curses.rst:1467 +#: ../../library/curses.rst:1485 msgid "Set tab" msgstr "" -#: ../../library/curses.rst:1469 +#: ../../library/curses.rst:1487 msgid "Clear tab" msgstr "" -#: ../../library/curses.rst:1471 +#: ../../library/curses.rst:1489 msgid "Clear all tabs" msgstr "" -#: ../../library/curses.rst:1473 +#: ../../library/curses.rst:1491 msgid "Enter or send (unreliable)" msgstr "" -#: ../../library/curses.rst:1475 +#: ../../library/curses.rst:1493 msgid "Soft (partial) reset (unreliable)" msgstr "" -#: ../../library/curses.rst:1477 +#: ../../library/curses.rst:1495 msgid "Reset or hard reset (unreliable)" msgstr "" -#: ../../library/curses.rst:1479 +#: ../../library/curses.rst:1497 msgid "Print" msgstr "" -#: ../../library/curses.rst:1481 +#: ../../library/curses.rst:1499 msgid "Home down or bottom (lower left)" msgstr "" -#: ../../library/curses.rst:1483 +#: ../../library/curses.rst:1501 msgid "Upper left of keypad" msgstr "" -#: ../../library/curses.rst:1485 +#: ../../library/curses.rst:1503 msgid "Upper right of keypad" msgstr "" -#: ../../library/curses.rst:1487 +#: ../../library/curses.rst:1505 msgid "Center of keypad" msgstr "" -#: ../../library/curses.rst:1489 +#: ../../library/curses.rst:1507 msgid "Lower left of keypad" msgstr "" -#: ../../library/curses.rst:1491 +#: ../../library/curses.rst:1509 msgid "Lower right of keypad" msgstr "" -#: ../../library/curses.rst:1493 +#: ../../library/curses.rst:1511 msgid "Back tab" msgstr "" -#: ../../library/curses.rst:1495 +#: ../../library/curses.rst:1513 msgid "Beg (beginning)" msgstr "" -#: ../../library/curses.rst:1497 +#: ../../library/curses.rst:1515 msgid "Cancel" -msgstr "" +msgstr "Cancelar" -#: ../../library/curses.rst:1499 +#: ../../library/curses.rst:1517 msgid "Close" msgstr "" -#: ../../library/curses.rst:1501 +#: ../../library/curses.rst:1519 msgid "Cmd (command)" msgstr "" -#: ../../library/curses.rst:1503 +#: ../../library/curses.rst:1521 msgid "Copy" -msgstr "" +msgstr "Copy" -#: ../../library/curses.rst:1505 +#: ../../library/curses.rst:1523 msgid "Create" msgstr "" -#: ../../library/curses.rst:1507 +#: ../../library/curses.rst:1525 msgid "End" msgstr "" -#: ../../library/curses.rst:1509 +#: ../../library/curses.rst:1527 msgid "Exit" msgstr "" -#: ../../library/curses.rst:1511 +#: ../../library/curses.rst:1529 msgid "Find" msgstr "" -#: ../../library/curses.rst:1513 +#: ../../library/curses.rst:1531 msgid "Help" msgstr "" -#: ../../library/curses.rst:1515 +#: ../../library/curses.rst:1533 msgid "Mark" msgstr "" -#: ../../library/curses.rst:1517 +#: ../../library/curses.rst:1535 msgid "Message" msgstr "" -#: ../../library/curses.rst:1519 +#: ../../library/curses.rst:1537 msgid "Move" msgstr "" -#: ../../library/curses.rst:1521 +#: ../../library/curses.rst:1539 msgid "Next" msgstr "" -#: ../../library/curses.rst:1523 +#: ../../library/curses.rst:1541 msgid "Open" msgstr "" -#: ../../library/curses.rst:1525 +#: ../../library/curses.rst:1543 msgid "Options" msgstr "Opções" -#: ../../library/curses.rst:1527 +#: ../../library/curses.rst:1545 msgid "Prev (previous)" msgstr "" -#: ../../library/curses.rst:1529 +#: ../../library/curses.rst:1547 msgid "Redo" -msgstr "" +msgstr "Redo" -#: ../../library/curses.rst:1531 +#: ../../library/curses.rst:1549 msgid "Ref (reference)" msgstr "" -#: ../../library/curses.rst:1533 +#: ../../library/curses.rst:1551 msgid "Refresh" msgstr "" -#: ../../library/curses.rst:1535 +#: ../../library/curses.rst:1553 msgid "Replace" msgstr "" -#: ../../library/curses.rst:1537 +#: ../../library/curses.rst:1555 msgid "Restart" msgstr "" -#: ../../library/curses.rst:1539 +#: ../../library/curses.rst:1557 msgid "Resume" msgstr "" -#: ../../library/curses.rst:1541 +#: ../../library/curses.rst:1559 msgid "Save" -msgstr "Salvar" +msgstr "Save" -#: ../../library/curses.rst:1543 +#: ../../library/curses.rst:1561 msgid "Shifted Beg (beginning)" msgstr "" -#: ../../library/curses.rst:1545 +#: ../../library/curses.rst:1563 msgid "Shifted Cancel" msgstr "" -#: ../../library/curses.rst:1547 +#: ../../library/curses.rst:1565 msgid "Shifted Command" msgstr "" -#: ../../library/curses.rst:1549 +#: ../../library/curses.rst:1567 msgid "Shifted Copy" msgstr "" -#: ../../library/curses.rst:1551 +#: ../../library/curses.rst:1569 msgid "Shifted Create" msgstr "" -#: ../../library/curses.rst:1553 +#: ../../library/curses.rst:1571 msgid "Shifted Delete char" msgstr "" -#: ../../library/curses.rst:1555 +#: ../../library/curses.rst:1573 msgid "Shifted Delete line" msgstr "" -#: ../../library/curses.rst:1557 +#: ../../library/curses.rst:1575 msgid "Select" msgstr "" -#: ../../library/curses.rst:1559 +#: ../../library/curses.rst:1577 msgid "Shifted End" msgstr "" -#: ../../library/curses.rst:1561 +#: ../../library/curses.rst:1579 msgid "Shifted Clear line" msgstr "" -#: ../../library/curses.rst:1563 +#: ../../library/curses.rst:1581 msgid "Shifted Exit" msgstr "" -#: ../../library/curses.rst:1565 +#: ../../library/curses.rst:1583 msgid "Shifted Find" msgstr "" -#: ../../library/curses.rst:1567 +#: ../../library/curses.rst:1585 msgid "Shifted Help" msgstr "" -#: ../../library/curses.rst:1569 +#: ../../library/curses.rst:1587 msgid "Shifted Home" msgstr "" -#: ../../library/curses.rst:1571 +#: ../../library/curses.rst:1589 msgid "Shifted Input" msgstr "" -#: ../../library/curses.rst:1573 +#: ../../library/curses.rst:1591 msgid "Shifted Left arrow" msgstr "" -#: ../../library/curses.rst:1575 +#: ../../library/curses.rst:1593 msgid "Shifted Message" msgstr "" -#: ../../library/curses.rst:1577 +#: ../../library/curses.rst:1595 msgid "Shifted Move" msgstr "" -#: ../../library/curses.rst:1579 +#: ../../library/curses.rst:1597 msgid "Shifted Next" msgstr "" -#: ../../library/curses.rst:1581 +#: ../../library/curses.rst:1599 msgid "Shifted Options" msgstr "" -#: ../../library/curses.rst:1583 +#: ../../library/curses.rst:1601 msgid "Shifted Prev" msgstr "" -#: ../../library/curses.rst:1585 +#: ../../library/curses.rst:1603 msgid "Shifted Print" msgstr "" -#: ../../library/curses.rst:1587 +#: ../../library/curses.rst:1605 msgid "Shifted Redo" msgstr "" -#: ../../library/curses.rst:1589 +#: ../../library/curses.rst:1607 msgid "Shifted Replace" msgstr "" -#: ../../library/curses.rst:1591 +#: ../../library/curses.rst:1609 msgid "Shifted Right arrow" msgstr "" -#: ../../library/curses.rst:1593 +#: ../../library/curses.rst:1611 msgid "Shifted Resume" msgstr "Resumo alterado" -#: ../../library/curses.rst:1595 +#: ../../library/curses.rst:1613 msgid "Shifted Save" msgstr "" -#: ../../library/curses.rst:1597 +#: ../../library/curses.rst:1615 msgid "Shifted Suspend" msgstr "" -#: ../../library/curses.rst:1599 +#: ../../library/curses.rst:1617 msgid "Shifted Undo" msgstr "" -#: ../../library/curses.rst:1601 +#: ../../library/curses.rst:1619 msgid "Suspend" msgstr "" -#: ../../library/curses.rst:1603 +#: ../../library/curses.rst:1621 msgid "Undo" -msgstr "Desfazer" +msgstr "Undo" -#: ../../library/curses.rst:1605 +#: ../../library/curses.rst:1623 msgid "Mouse event has occurred" msgstr "" -#: ../../library/curses.rst:1607 +#: ../../library/curses.rst:1625 msgid "Terminal resize event" msgstr "" -#: ../../library/curses.rst:1609 +#: ../../library/curses.rst:1627 msgid "Maximum key value" msgstr "" -#: ../../library/curses.rst:1612 +#: ../../library/curses.rst:1630 msgid "" "On VT100s and their software emulations, such as X terminal emulators, there " -"are normally at least four function keys (:const:`KEY_F1 `, :const:" -"`KEY_F2 `, :const:`KEY_F3 `, :const:`KEY_F4 `) " -"available, and the arrow keys mapped to :const:`KEY_UP`, :const:`KEY_DOWN`, :" -"const:`KEY_LEFT` and :const:`KEY_RIGHT` in the obvious way. If your machine " -"has a PC keyboard, it is safe to expect arrow keys and twelve function keys " -"(older PC keyboards may have only ten function keys); also, the following " -"keypad mappings are standard:" +"are normally at least four function keys (:const:`KEY_F1 " +"`, :const:`KEY_F2 `, :const:`KEY_F3 " +"`, :const:`KEY_F4 `) available, and the arrow keys mapped " +"to :const:`KEY_UP`, :const:`KEY_DOWN`, :const:`KEY_LEFT` " +"and :const:`KEY_RIGHT` in the obvious way. If your machine has a PC " +"keyboard, it is safe to expect arrow keys and twelve function keys (older PC " +"keyboards may have only ten function keys); also, the following keypad " +"mappings are standard:" msgstr "" -#: ../../library/curses.rst:1621 +#: ../../library/curses.rst:1639 msgid "Keycap" msgstr "" -#: ../../library/curses.rst:1621 ../../library/curses.rst:1764 -#: ../../library/curses.rst:1888 +#: ../../library/curses.rst:1639 ../../library/curses.rst:1784 +#: ../../library/curses.rst:1908 msgid "Constant" msgstr "Constante" -#: ../../library/curses.rst:1623 +#: ../../library/curses.rst:1641 msgid ":kbd:`Insert`" msgstr ":kbd:`Insert`" -#: ../../library/curses.rst:1623 +#: ../../library/curses.rst:1641 msgid "KEY_IC" msgstr "KEY_IC" -#: ../../library/curses.rst:1625 +#: ../../library/curses.rst:1643 msgid ":kbd:`Delete`" msgstr ":kbd:`Delete`" -#: ../../library/curses.rst:1625 +#: ../../library/curses.rst:1643 msgid "KEY_DC" msgstr "KEY_DC" -#: ../../library/curses.rst:1627 +#: ../../library/curses.rst:1645 msgid ":kbd:`Home`" msgstr ":kbd:`Home`" -#: ../../library/curses.rst:1627 +#: ../../library/curses.rst:1645 msgid "KEY_HOME" msgstr "KEY_HOME" -#: ../../library/curses.rst:1629 +#: ../../library/curses.rst:1647 msgid ":kbd:`End`" msgstr ":kbd:`End`" -#: ../../library/curses.rst:1629 +#: ../../library/curses.rst:1647 msgid "KEY_END" msgstr "KEY_END" -#: ../../library/curses.rst:1631 +#: ../../library/curses.rst:1649 msgid ":kbd:`Page Up`" msgstr ":kbd:`Page Up`" -#: ../../library/curses.rst:1631 +#: ../../library/curses.rst:1649 msgid "KEY_PPAGE" msgstr "KEY_PPAGE" -#: ../../library/curses.rst:1633 +#: ../../library/curses.rst:1651 msgid ":kbd:`Page Down`" msgstr ":kbd:`Page Down`" -#: ../../library/curses.rst:1633 +#: ../../library/curses.rst:1651 msgid "KEY_NPAGE" msgstr "KEY_NPAGE" -#: ../../library/curses.rst:1636 +#: ../../library/curses.rst:1656 msgid "" "The following table lists characters from the alternate character set. These " "are inherited from the VT100 terminal, and will generally be available on " @@ -2103,268 +2129,268 @@ msgid "" "available, curses falls back on a crude printable ASCII approximation." msgstr "" -#: ../../library/curses.rst:1643 +#: ../../library/curses.rst:1663 msgid "These are available only after :func:`initscr` has been called." msgstr "" -#: ../../library/curses.rst:1646 +#: ../../library/curses.rst:1666 msgid "ACS code" -msgstr "ACS code" +msgstr "Código ACS" -#: ../../library/curses.rst:1648 +#: ../../library/curses.rst:1668 msgid "alternate name for upper right corner" msgstr "" -#: ../../library/curses.rst:1650 +#: ../../library/curses.rst:1670 msgid "solid square block" msgstr "" -#: ../../library/curses.rst:1652 +#: ../../library/curses.rst:1672 msgid "board of squares" msgstr "" -#: ../../library/curses.rst:1654 +#: ../../library/curses.rst:1674 msgid "alternate name for horizontal line" msgstr "" -#: ../../library/curses.rst:1656 +#: ../../library/curses.rst:1676 msgid "alternate name for upper left corner" msgstr "" -#: ../../library/curses.rst:1658 +#: ../../library/curses.rst:1678 msgid "alternate name for top tee" msgstr "" -#: ../../library/curses.rst:1660 +#: ../../library/curses.rst:1680 msgid "bottom tee" msgstr "" -#: ../../library/curses.rst:1662 +#: ../../library/curses.rst:1682 msgid "bullet" msgstr "" -#: ../../library/curses.rst:1664 +#: ../../library/curses.rst:1684 msgid "checker board (stipple)" msgstr "" -#: ../../library/curses.rst:1666 +#: ../../library/curses.rst:1686 msgid "arrow pointing down" msgstr "" -#: ../../library/curses.rst:1668 +#: ../../library/curses.rst:1688 msgid "degree symbol" msgstr "" -#: ../../library/curses.rst:1670 +#: ../../library/curses.rst:1690 msgid "diamond" msgstr "" -#: ../../library/curses.rst:1672 +#: ../../library/curses.rst:1692 msgid "greater-than-or-equal-to" msgstr "" -#: ../../library/curses.rst:1674 +#: ../../library/curses.rst:1694 msgid "horizontal line" msgstr "" -#: ../../library/curses.rst:1676 +#: ../../library/curses.rst:1696 msgid "lantern symbol" msgstr "" -#: ../../library/curses.rst:1678 +#: ../../library/curses.rst:1698 msgid "left arrow" msgstr "" -#: ../../library/curses.rst:1680 +#: ../../library/curses.rst:1700 msgid "less-than-or-equal-to" msgstr "" -#: ../../library/curses.rst:1682 +#: ../../library/curses.rst:1702 msgid "lower left-hand corner" msgstr "" -#: ../../library/curses.rst:1684 +#: ../../library/curses.rst:1704 msgid "lower right-hand corner" msgstr "" -#: ../../library/curses.rst:1686 +#: ../../library/curses.rst:1706 msgid "left tee" msgstr "" -#: ../../library/curses.rst:1688 +#: ../../library/curses.rst:1708 msgid "not-equal sign" msgstr "" -#: ../../library/curses.rst:1690 +#: ../../library/curses.rst:1710 msgid "letter pi" msgstr "" -#: ../../library/curses.rst:1692 +#: ../../library/curses.rst:1712 msgid "plus-or-minus sign" msgstr "" -#: ../../library/curses.rst:1694 +#: ../../library/curses.rst:1714 msgid "big plus sign" msgstr "" -#: ../../library/curses.rst:1696 +#: ../../library/curses.rst:1716 msgid "right arrow" msgstr "" -#: ../../library/curses.rst:1698 +#: ../../library/curses.rst:1718 msgid "right tee" msgstr "" -#: ../../library/curses.rst:1700 +#: ../../library/curses.rst:1720 msgid "scan line 1" msgstr "" -#: ../../library/curses.rst:1702 +#: ../../library/curses.rst:1722 msgid "scan line 3" msgstr "" -#: ../../library/curses.rst:1704 +#: ../../library/curses.rst:1724 msgid "scan line 7" msgstr "" -#: ../../library/curses.rst:1706 +#: ../../library/curses.rst:1726 msgid "scan line 9" msgstr "" -#: ../../library/curses.rst:1708 +#: ../../library/curses.rst:1728 msgid "alternate name for lower right corner" msgstr "" -#: ../../library/curses.rst:1710 +#: ../../library/curses.rst:1730 msgid "alternate name for vertical line" msgstr "" -#: ../../library/curses.rst:1712 +#: ../../library/curses.rst:1732 msgid "alternate name for right tee" msgstr "" -#: ../../library/curses.rst:1714 +#: ../../library/curses.rst:1734 msgid "alternate name for lower left corner" msgstr "" -#: ../../library/curses.rst:1716 +#: ../../library/curses.rst:1736 msgid "alternate name for bottom tee" msgstr "" -#: ../../library/curses.rst:1718 +#: ../../library/curses.rst:1738 msgid "alternate name for left tee" msgstr "" -#: ../../library/curses.rst:1720 +#: ../../library/curses.rst:1740 msgid "alternate name for crossover or big plus" msgstr "" -#: ../../library/curses.rst:1722 +#: ../../library/curses.rst:1742 msgid "pound sterling" msgstr "" -#: ../../library/curses.rst:1724 +#: ../../library/curses.rst:1744 msgid "top tee" msgstr "" -#: ../../library/curses.rst:1726 +#: ../../library/curses.rst:1746 msgid "up arrow" msgstr "" -#: ../../library/curses.rst:1728 +#: ../../library/curses.rst:1748 msgid "upper left corner" msgstr "" -#: ../../library/curses.rst:1730 +#: ../../library/curses.rst:1750 msgid "upper right corner" msgstr "" -#: ../../library/curses.rst:1732 +#: ../../library/curses.rst:1752 msgid "vertical line" msgstr "" -#: ../../library/curses.rst:1735 +#: ../../library/curses.rst:1755 msgid "" "The following table lists mouse button constants used by :meth:`getmouse`:" msgstr "" -#: ../../library/curses.rst:1738 +#: ../../library/curses.rst:1758 msgid "Mouse button constant" msgstr "" -#: ../../library/curses.rst:1740 +#: ../../library/curses.rst:1760 msgid "Mouse button *n* pressed" msgstr "" -#: ../../library/curses.rst:1742 +#: ../../library/curses.rst:1762 msgid "Mouse button *n* released" msgstr "" -#: ../../library/curses.rst:1744 +#: ../../library/curses.rst:1764 msgid "Mouse button *n* clicked" msgstr "" -#: ../../library/curses.rst:1746 +#: ../../library/curses.rst:1766 msgid "Mouse button *n* double clicked" msgstr "" -#: ../../library/curses.rst:1748 +#: ../../library/curses.rst:1768 msgid "Mouse button *n* triple clicked" msgstr "" -#: ../../library/curses.rst:1750 +#: ../../library/curses.rst:1770 msgid "Shift was down during button state change" msgstr "" -#: ../../library/curses.rst:1752 ../../library/curses.rst:1754 +#: ../../library/curses.rst:1772 ../../library/curses.rst:1774 msgid "Control was down during button state change" msgstr "" -#: ../../library/curses.rst:1761 +#: ../../library/curses.rst:1781 msgid "The following table lists the predefined colors:" msgstr "" -#: ../../library/curses.rst:1764 +#: ../../library/curses.rst:1784 msgid "Color" msgstr "" -#: ../../library/curses.rst:1766 +#: ../../library/curses.rst:1786 msgid "Black" msgstr "" -#: ../../library/curses.rst:1768 +#: ../../library/curses.rst:1788 msgid "Blue" msgstr "" -#: ../../library/curses.rst:1770 +#: ../../library/curses.rst:1790 msgid "Cyan (light greenish blue)" msgstr "" -#: ../../library/curses.rst:1772 +#: ../../library/curses.rst:1792 msgid "Green" msgstr "" -#: ../../library/curses.rst:1774 +#: ../../library/curses.rst:1794 msgid "Magenta (purplish red)" msgstr "" -#: ../../library/curses.rst:1776 +#: ../../library/curses.rst:1796 msgid "Red" msgstr "" -#: ../../library/curses.rst:1778 +#: ../../library/curses.rst:1798 msgid "White" msgstr "" -#: ../../library/curses.rst:1780 +#: ../../library/curses.rst:1800 msgid "Yellow" msgstr "" -#: ../../library/curses.rst:1785 +#: ../../library/curses.rst:1805 msgid ":mod:`curses.textpad` --- Text input widget for curses programs" msgstr "" -#: ../../library/curses.rst:1793 +#: ../../library/curses.rst:1813 msgid "" "The :mod:`curses.textpad` module provides a :class:`Textbox` class that " "handles elementary text editing in a curses window, supporting a set of " @@ -2374,11 +2400,11 @@ msgid "" "purposes." msgstr "" -#: ../../library/curses.rst:1799 +#: ../../library/curses.rst:1819 msgid "The module :mod:`curses.textpad` defines the following function:" msgstr "" -#: ../../library/curses.rst:1804 +#: ../../library/curses.rst:1824 msgid "" "Draw a rectangle. The first argument must be a window object; the remaining " "arguments are coordinates relative to that window. The second and third " @@ -2390,199 +2416,199 @@ msgid "" "will be drawn with ASCII dashes, vertical bars, and plus signs." msgstr "" -#: ../../library/curses.rst:1817 +#: ../../library/curses.rst:1837 msgid "Textbox objects" msgstr "" -#: ../../library/curses.rst:1819 +#: ../../library/curses.rst:1839 msgid "You can instantiate a :class:`Textbox` object as follows:" msgstr "" -#: ../../library/curses.rst:1824 +#: ../../library/curses.rst:1844 msgid "" -"Return a textbox widget object. The *win* argument should be a curses :ref:" -"`window ` object in which the textbox is to be " -"contained. The edit cursor of the textbox is initially located at the upper " -"left hand corner of the containing window, with coordinates ``(0, 0)``. The " -"instance's :attr:`stripspaces` flag is initially on." +"Return a textbox widget object. The *win* argument should be a " +"curses :ref:`window ` object in which the textbox is " +"to be contained. The edit cursor of the textbox is initially located at the " +"upper left hand corner of the containing window, with coordinates ``(0, " +"0)``. The instance's :attr:`stripspaces` flag is initially on." msgstr "" -#: ../../library/curses.rst:1830 +#: ../../library/curses.rst:1850 msgid ":class:`Textbox` objects have the following methods:" msgstr "" -#: ../../library/curses.rst:1835 +#: ../../library/curses.rst:1855 msgid "" "This is the entry point you will normally use. It accepts editing " "keystrokes until one of the termination keystrokes is entered. If " "*validator* is supplied, it must be a function. It will be called for each " "keystroke entered with the keystroke as a parameter; command dispatch is " "done on the result. This method returns the window contents as a string; " -"whether blanks in the window are included is affected by the :attr:" -"`stripspaces` attribute." +"whether blanks in the window are included is affected by " +"the :attr:`stripspaces` attribute." msgstr "" -#: ../../library/curses.rst:1846 +#: ../../library/curses.rst:1866 msgid "" "Process a single command keystroke. Here are the supported special " "keystrokes:" msgstr "" -#: ../../library/curses.rst:1850 ../../library/curses.rst:1888 +#: ../../library/curses.rst:1870 ../../library/curses.rst:1908 msgid "Keystroke" msgstr "" -#: ../../library/curses.rst:1850 +#: ../../library/curses.rst:1870 msgid "Action" -msgstr "" +msgstr "Ação" -#: ../../library/curses.rst:1852 +#: ../../library/curses.rst:1872 msgid ":kbd:`Control-A`" msgstr ":kbd:`Control-A`" -#: ../../library/curses.rst:1852 +#: ../../library/curses.rst:1872 msgid "Go to left edge of window." msgstr "" -#: ../../library/curses.rst:1854 ../../library/curses.rst:1890 +#: ../../library/curses.rst:1874 ../../library/curses.rst:1910 msgid ":kbd:`Control-B`" msgstr ":kbd:`Control-B`" -#: ../../library/curses.rst:1854 +#: ../../library/curses.rst:1874 msgid "Cursor left, wrapping to previous line if appropriate." msgstr "" -#: ../../library/curses.rst:1857 +#: ../../library/curses.rst:1877 msgid ":kbd:`Control-D`" msgstr ":kbd:`Control-D`" -#: ../../library/curses.rst:1857 +#: ../../library/curses.rst:1877 msgid "Delete character under cursor." msgstr "" -#: ../../library/curses.rst:1859 +#: ../../library/curses.rst:1879 msgid ":kbd:`Control-E`" msgstr ":kbd:`Control-E`" -#: ../../library/curses.rst:1859 +#: ../../library/curses.rst:1879 msgid "Go to right edge (stripspaces off) or end of line (stripspaces on)." msgstr "" -#: ../../library/curses.rst:1862 ../../library/curses.rst:1892 +#: ../../library/curses.rst:1882 ../../library/curses.rst:1912 msgid ":kbd:`Control-F`" msgstr ":kbd:`Control-F`" -#: ../../library/curses.rst:1862 +#: ../../library/curses.rst:1882 msgid "Cursor right, wrapping to next line when appropriate." msgstr "" -#: ../../library/curses.rst:1865 +#: ../../library/curses.rst:1885 msgid ":kbd:`Control-G`" msgstr ":kbd:`Control-G`" -#: ../../library/curses.rst:1865 +#: ../../library/curses.rst:1885 msgid "Terminate, returning the window contents." msgstr "" -#: ../../library/curses.rst:1867 +#: ../../library/curses.rst:1887 msgid ":kbd:`Control-H`" msgstr ":kbd:`Control-H`" -#: ../../library/curses.rst:1867 +#: ../../library/curses.rst:1887 msgid "Delete character backward." msgstr "" -#: ../../library/curses.rst:1869 +#: ../../library/curses.rst:1889 msgid ":kbd:`Control-J`" msgstr ":kbd:`Control-J`" -#: ../../library/curses.rst:1869 +#: ../../library/curses.rst:1889 msgid "Terminate if the window is 1 line, otherwise insert newline." msgstr "" -#: ../../library/curses.rst:1872 +#: ../../library/curses.rst:1892 msgid ":kbd:`Control-K`" msgstr ":kbd:`Control-K`" -#: ../../library/curses.rst:1872 +#: ../../library/curses.rst:1892 msgid "If line is blank, delete it, otherwise clear to end of line." msgstr "" -#: ../../library/curses.rst:1875 +#: ../../library/curses.rst:1895 msgid ":kbd:`Control-L`" msgstr ":kbd:`Control-L`" -#: ../../library/curses.rst:1875 +#: ../../library/curses.rst:1895 msgid "Refresh screen." msgstr "" -#: ../../library/curses.rst:1877 ../../library/curses.rst:1896 +#: ../../library/curses.rst:1897 ../../library/curses.rst:1916 msgid ":kbd:`Control-N`" msgstr ":kbd:`Control-N`" -#: ../../library/curses.rst:1877 +#: ../../library/curses.rst:1897 msgid "Cursor down; move down one line." msgstr "" -#: ../../library/curses.rst:1879 +#: ../../library/curses.rst:1899 msgid ":kbd:`Control-O`" msgstr ":kbd:`Control-O`" -#: ../../library/curses.rst:1879 +#: ../../library/curses.rst:1899 msgid "Insert a blank line at cursor location." msgstr "" -#: ../../library/curses.rst:1881 ../../library/curses.rst:1894 +#: ../../library/curses.rst:1901 ../../library/curses.rst:1914 msgid ":kbd:`Control-P`" msgstr ":kbd:`Control-P`" -#: ../../library/curses.rst:1881 +#: ../../library/curses.rst:1901 msgid "Cursor up; move up one line." msgstr "" -#: ../../library/curses.rst:1884 +#: ../../library/curses.rst:1904 msgid "" "Move operations do nothing if the cursor is at an edge where the movement is " "not possible. The following synonyms are supported where possible:" msgstr "" -#: ../../library/curses.rst:1890 +#: ../../library/curses.rst:1910 msgid ":const:`~curses.KEY_LEFT`" -msgstr "" +msgstr ":const:`~curses.KEY_LEFT`" -#: ../../library/curses.rst:1892 +#: ../../library/curses.rst:1912 msgid ":const:`~curses.KEY_RIGHT`" -msgstr "" +msgstr ":const:`~curses.KEY_RIGHT`" -#: ../../library/curses.rst:1894 +#: ../../library/curses.rst:1914 msgid ":const:`~curses.KEY_UP`" -msgstr "" +msgstr ":const:`~curses.KEY_UP`" -#: ../../library/curses.rst:1896 +#: ../../library/curses.rst:1916 msgid ":const:`~curses.KEY_DOWN`" -msgstr "" +msgstr ":const:`~curses.KEY_DOWN`" -#: ../../library/curses.rst:1898 +#: ../../library/curses.rst:1918 msgid ":const:`~curses.KEY_BACKSPACE`" -msgstr "" +msgstr ":const:`~curses.KEY_BACKSPACE`" -#: ../../library/curses.rst:1898 +#: ../../library/curses.rst:1918 msgid ":kbd:`Control-h`" msgstr ":kbd:`Control-h`" -#: ../../library/curses.rst:1901 +#: ../../library/curses.rst:1921 msgid "" "All other keystrokes are treated as a command to insert the given character " "and move right (with line wrapping)." msgstr "" -#: ../../library/curses.rst:1907 +#: ../../library/curses.rst:1927 msgid "" "Return the window contents as a string; whether blanks in the window are " "included is affected by the :attr:`stripspaces` member." msgstr "" -#: ../../library/curses.rst:1913 +#: ../../library/curses.rst:1933 msgid "" "This attribute is a flag which controls the interpretation of blanks in the " "window. When it is on, trailing blanks on each line are ignored; any cursor " diff --git a/library/custominterp.po b/library/custominterp.po index de16ece3a..77514a1bb 100644 --- a/library/custominterp.po +++ b/library/custominterp.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,9 +38,9 @@ msgstr "" "Os módulos descritos neste capítulo permitem a escrita de interfaces " "semelhantes ao interpretador interativo da Python. Se você quer um " "interpretador de Python que suporte algum recurso especial, além do idioma " -"de Python, você deve olhar para o módulo :mod:`code`. (O módulo :mod:" -"`codeop` é de nível inferior, usado para suportar compilação de um pedaço " -"possivelmente incompleto do código Python)." +"de Python, você deve olhar para o módulo :mod:`code`. (O " +"módulo :mod:`codeop` é de nível inferior, usado para suportar compilação de " +"um pedaço possivelmente incompleto do código Python)." #: ../../library/custominterp.rst:13 msgid "The full list of modules described in this chapter is:" diff --git a/library/dataclasses.po b/library/dataclasses.po index 7582dc3d1..f6bec0fe6 100644 --- a/library/dataclasses.po +++ b/library/dataclasses.po @@ -1,36 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Vinícius Muniz de Melo , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/dataclasses.rst:2 -msgid ":mod:`dataclasses` --- Data Classes" -msgstr ":mod:`dataclasses` --- Data Classes" +msgid ":mod:`!dataclasses` --- Data Classes" +msgstr ":mod:`!dataclasses` --- Data Classes" #: ../../library/dataclasses.rst:10 msgid "**Source code:** :source:`Lib/dataclasses.py`" @@ -39,23 +34,26 @@ msgstr "**Código-fonte:** :source:`Lib/dataclasses.py`" #: ../../library/dataclasses.rst:14 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 " +"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`." msgstr "" +"Este módulo fornece um decorador e funções para adicionar " +"automaticamente :term:`métodos especiais ` tais " +"como :meth:`~object.__init__` e :meth:`~object.__repr__` a classes definidas " +"pelo usuário. Foi originalmente descrita em :pep:`557`." #: ../../library/dataclasses.rst:19 msgid "" -"The member variables to use in these generated methods are defined using :" -"pep:`526` type annotations. For example, this code::" +"The member variables to use in these generated methods are defined " +"using :pep:`526` type annotations. For example, this code::" msgstr "" "Variáveis-membro a serem usadas nesses métodos gerados são definidas usando " "as anotações de tipo da :pep:`526`. Por exemplo, esse código::" #: ../../library/dataclasses.rst:34 -msgid "" -"will add, among other things, a :meth:`~object.__init__` that looks like::" -msgstr "" +msgid "will add, among other things, a :meth:`!__init__` that looks like::" +msgstr "adicionará, entre outras coisas, um :meth:`!__init__` como esse::" #: ../../library/dataclasses.rst:41 msgid "" @@ -71,23 +69,24 @@ msgstr "Conteúdo do módulo" #: ../../library/dataclasses.rst:51 msgid "" -"This function is a :term:`decorator` that is used to add generated :term:" -"`special method`\\s to classes, as described below." +"This function is a :term:`decorator` that is used to add " +"generated :term:`special methods ` to classes, as described " +"below." msgstr "" "Esta função é um :term:`decorador` que é usado para adicionar :term:`métodos " "especiais ` para classes, conforme descrito abaixo." #: ../../library/dataclasses.rst:54 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 "" -"O decorador :func:`dataclass` examina a classe para encontrar campos " +"O decorador ``@dataclass`` examina a classe para encontrar campos " "(``field``. Um ``field`` é definido como uma variável de classe que tem " "uma :term:`anotação de tipo `. Com duas exceções, " -"descritas mais adiante, :func:`dataclass` não examina o tipo especificado na " +"descritas mais adiante, ``@dataclass`` não examina o tipo especificado na " "anotação de variável." #: ../../library/dataclasses.rst:60 @@ -100,42 +99,44 @@ msgstr "" #: ../../library/dataclasses.rst:63 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 " "created." msgstr "" -"O decorador :func:`dataclass` adicionará vários métodos \"dunder\" à classe, " +"O decorador ``@dataclass`` adicionará vários métodos \"dunder\" à classe, " "descritos abaixo. Se algum dos métodos adicionados já existir na classe, o " "comportamento dependerá do parâmetro, conforme documentado abaixo. O " "decorador retorna a mesma classe decorada; nenhuma nova classe é criada." #: ../../library/dataclasses.rst:69 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 "" -"Se :func:`dataclass` for usado apenas como um simples decorador, sem " +"Se ``@dataclass`` for usado apenas como um simples decorador, sem " "parâmetros, ele age como se tivesse os valores padrão documentados nessa " -"assinatura. Ou seja, esses três usos de :func:`dataclass` são equivalentes::" +"assinatura. Ou seja, esses três usos de ``@dataclass`` são equivalentes::" #: ../../library/dataclasses.rst:87 -msgid "The parameters to :func:`dataclass` are:" -msgstr "Os parâmetros do :func:`dataclass` são:" +msgid "The parameters to ``@dataclass`` are:" +msgstr "Os parâmetros do ``@dataclass`` são:" #: ../../library/dataclasses.rst:89 msgid "" "``init``: If true (the default), a :meth:`~object.__init__` method will be " "generated." msgstr "" +"``init``: Se verdadeiro (o padrão), o método :meth:`~object.__init__` será " +"gerado." #: ../../library/dataclasses.rst:92 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 "" +"Se a classe do usuário definir :meth:`!__init__` esse parâmetro é ignorado." #: ../../library/dataclasses.rst:95 msgid "" @@ -146,12 +147,18 @@ msgid "" "example: ``InventoryItem(name='widget', unit_price=3.0, " "quantity_on_hand=10)``." msgstr "" +"``repr``: Se verdadeiro (o padrão), um método :meth:`~object.__repr__` será " +"gerado. A sequência de string de representação gerada terá o nome da classe " +"e o nome e representação de cada campo, na ordem em que são definidos na " +"classe. Os campos marcados como excluídos da representação não são " +"incluídos. Por exemplo: ``InventoryItem(name='widget', unit_price=3.0, " +"quantity_on_hand=10)``." #: ../../library/dataclasses.rst:102 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 "" +"Se a classe do usuário já define :meth:`!__repr__` esse parâmetro é ignorado." #: ../../library/dataclasses.rst:105 msgid "" @@ -160,99 +167,137 @@ msgid "" "fields, in order. Both instances in the comparison must be of the identical " "type." msgstr "" +"``eq``: Se verdadeiro (o padrão), um método :meth:`~object.__eq__` será " +"gerado. Este método compara a classe como se fosse uma tupla de campos, em " +"ordem. Ambas as instâncias na comparação devem ser de tipo idêntico." #: ../../library/dataclasses.rst:110 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 "" +"Se a classe do usuário já define :meth:`!__eq__` esse parâmetro é ignorado." #: ../../library/dataclasses.rst:113 msgid "" -"``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." +"``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." msgstr "" +"``order``: Se verdadeiro (o padrão é ``False``), os " +"métodos :meth:`~object.__lt__`, :meth:`~object.__le__`, :meth:`~object.__gt__` " +"e :meth:`~object.__ge__` serão gerados. Comparam a classe como se fosse uma " +"tupla de campos, em ordem. Ambas instâncias na comparação devem ser de tipo " +"idêntico. Se ``order`` é verdadeiro e ``eq`` é falso, a " +"exceção :exc:`ValueError` é levantada." #: ../../library/dataclasses.rst:120 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 "" +"Se a classe do usuário já define algum dentre :meth:`!__lt__`, :meth:`!" +"__le__`, :meth:`!__gt__` ou :meth:`!__ge__`, então :exc:`TypeError` é " +"levantada." #: ../../library/dataclasses.rst:124 msgid "" "``unsafe_hash``: If ``False`` (the default), a :meth:`~object.__hash__` " "method is generated according to how ``eq`` and ``frozen`` are set." msgstr "" +"``unsafe_hash``: Se ``False`` (o padrão), um método :meth:`~object.__hash__` " +"é gerado, conforme ``eq`` e ``frozen`` estão configurados." #: ../../library/dataclasses.rst:127 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 "" +":meth:`!__hash__` é usado para prover o método :meth:`hash()`, e quando " +"objetos são adicionados a coleções do tipo dicionário ou conjunto. Ter um " +"método :meth:`!__hash__` implica que instâncias da classe serão imutáveis. " +"Mutabilidade é uma propriedade complicada, que depende da intenção do " +"programador, da existência e comportamento do método :meth:`!__eq__`, e dos " +"valores dos parâmetros ``eq`` e ``frozen`` no decorador ``@dataclass``." #: ../../library/dataclasses.rst:134 msgid "" -"By default, :func:`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." +"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:`!__hash__` method. " +"Setting the class attribute ``__hash__ = None`` has a specific meaning to " +"Python, as described in the :meth:`!__hash__` documentation." msgstr "" +"Por padrão, ``@dataclass`` não vai adicionar implicitamente um " +"método :meth:`~object.__hash__`, a menos que seja seguro fazê-lo. Nem irá " +"adicionar ou modificar um método :meth:`!__hash__` existente, definido " +"explicitamente. Configurar o atributo de classe ``__hash__ = None`` tem um " +"significado específico para o Python, conforme descrito na documentação " +"de :meth:`!__hash__`." #: ../../library/dataclasses.rst:140 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 "" +"Se :meth:`!__hash__` não é definido explicitamente, ou se é configurado como " +"``None``, então ``@dataclass`` *pode* adicionar um método :meth:`!__hash__` " +"implícito. Mesmo que não seja recomendado, pode-se forçar ``@dataclass`` a " +"criar um método :meth:`!__hash__` com ``unsafe_hash=True``. Este pode ser o " +"caso se sua classe é logicamente imutável, mas na prática pode ser mudada. " +"Esse é um caso de uso específico e deve ser considerado com muito cuidado." #: ../../library/dataclasses.rst:147 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 " +"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 "" +"Essas são as regras governando a criação implícita de um método :meth:`!" +"__hash__`. Observe que não pode ter um método :meth:`!__hash__` explícito " +"na dataclass e configurar ``unsafe_hash=True``; isso resultará em " +"um :exc:`TypeError`." #: ../../library/dataclasses.rst:152 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 "" #: ../../library/dataclasses.rst:160 msgid "" "``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." +"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 "" +"``frozen``: Se verdadeiro (o padrão é ``False``), atribuições para os campos " +"vão gerar uma exceção. Imita instâncias congeladas, somente leitura. " +"Se :meth:`~object.__setattr__` ou :meth:`~object.__delattr__` é definido na " +"classe, a exceção :exc:`TypeError` é levantada. Veja a discussão abaixo." #: ../../library/dataclasses.rst:165 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 " +"tuple will be created from the list of parameters to the " +"generated :meth:`~object.__init__` method (even if :meth:`!__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." msgstr "" @@ -262,29 +307,35 @@ 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." +"keyword-only field must be specified with a keyword when :meth:`!__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." msgstr "" #: ../../library/dataclasses.rst:185 msgid "" "``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, " +"original one. If :attr:`!__slots__` is already defined in the class, " "then :exc:`TypeError` is raised." msgstr "" #: ../../library/dataclasses.rst:192 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 " +"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." msgstr "" +"Se um nome de campo já estiver incluído no ``__slots__`` de uma classe base, " +"ele não será incluído no ``__slots__`` gerado para evitar :ref:`substitui-" +"los `. Portanto, não use ``__slots__`` para recuperar " +"os nomes dos campos de uma classe de dados. Use :func:`fields` em vez disso. " +"Para poder determinar os slots herdados, a classe base ``__slots__`` pode " +"ser qualquer iterável, mas *não* um iterador." #: ../../library/dataclasses.rst:202 msgid "" @@ -293,6 +344,10 @@ msgid "" "an error to specify ``weakref_slot=True`` without also specifying " "``slots=True``." msgstr "" +"``weakref_slot``: Se verdadeiro (o padrão é ``False``), adicione um slot " +"chamado \"__weakref__\", que é necessário para tornar uma instância fraca. É " +"um erro especificar ``weakref_slot=True`` sem também especificar " +"``slots=True``." #: ../../library/dataclasses.rst:209 msgid "" @@ -304,9 +359,11 @@ msgstr "" #: ../../library/dataclasses.rst:217 msgid "" -"In this example, both ``a`` and ``b`` will be included in the added :meth:" -"`~object.__init__` method, which will be defined as::" +"In this example, both ``a`` and ``b`` will be included in the " +"added :meth:`~object.__init__` method, which will be defined as::" msgstr "" +"Nesse exemplo, ``a`` e ``b`` serão incluídos no " +"método :meth:`~object.__init__` adicionado, que será definido como::" #: ../../library/dataclasses.rst:222 msgid "" @@ -323,14 +380,14 @@ 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 "" "Para casos de uso comuns e simples, nenhuma outra funcionalidade é " "necessária. Existem, no entanto, alguns recursos que requerem informações " "adicionais por campo. Para satisfazer essa necessidade de informações " "adicionais, você pode substituir o valor do campo padrão por uma chamada " -"para a função :func:`field` fornecida. Por exemplo::" +"para a função :func:`!field` fornecida. Por exemplo::" #: ../../library/dataclasses.rst:241 msgid "" @@ -339,15 +396,20 @@ msgid "" "because ``None`` is a valid value for some parameters with a distinct " "meaning. No code should directly use the :const:`MISSING` value." msgstr "" +"Como mostrado acima, o valor :const:`MISSING` é um objeto sentinela usado " +"para detectar se alguns parâmetros são fornecidos pelo usuário. Este " +"sentinela é usado porque ``None`` é um valor válido para alguns parâmetros " +"com um significado distinto. Nenhum código deve usar diretamente o " +"valor :const:`MISSING`." #: ../../library/dataclasses.rst:246 -msgid "The parameters to :func:`field` are:" -msgstr "Os parâmetros de :func:`field` são:" +msgid "The parameters to :func:`!field` are:" +msgstr "Os parâmetros de :func:`!field` são:" #: ../../library/dataclasses.rst:248 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 " +"This is needed because the :func:`!field` call itself replaces the normal " "position of the default value." msgstr "" @@ -359,18 +421,27 @@ msgid "" "discussed below. It is an error to specify both ``default`` and " "``default_factory``." msgstr "" +"``default_factory``: Se fornecido, deve ser um chamável sem argumento que " +"será chamado quando um valor padrão for necessário para este campo. Entre " +"outras finalidades, isso pode ser usado para especificar campos com valores " +"padrão mutáveis, conforme discutido abaixo. É um erro especificar ambos " +"``default`` e ``default_factory``." #: ../../library/dataclasses.rst:258 msgid "" "``init``: If true (the default), this field is included as a parameter to " "the generated :meth:`~object.__init__` method." msgstr "" +"``init``: Se verdadeiro (o padrão), este campo é incluído como um parâmetro " +"para o método :meth:`~object.__init__` gerado." #: ../../library/dataclasses.rst:261 msgid "" "``repr``: If true (the default), this field is included in the string " "returned by the generated :meth:`~object.__repr__` method." msgstr "" +"``repr``: Se verdadeiro (o padrão), este campo é incluído na string " +"retornada pelo método :meth:`~object.__repr__` gerado." #: ../../library/dataclasses.rst:264 msgid "" @@ -381,6 +452,11 @@ msgid "" "comparisons. Setting this value to anything other than ``None`` is " "discouraged." msgstr "" +"``hash``: Pode ser um bool ou ``None``. Se verdadeiro, este campo é incluído " +"no método :meth:`~object.__hash__` gerado. Se ``None`` (o padrão), usa o " +"valor de ``compare``: este seria normalmente o comportamento esperado. Um " +"campo deve ser considerado no hash se for usado para comparações. Definir " +"este valor para algo diferente de ``None`` é desencorajado." #: ../../library/dataclasses.rst:271 msgid "" @@ -390,13 +466,21 @@ msgid "" "hash value. Even if a field is excluded from the hash, it will still be " "used for comparisons." msgstr "" +"Uma possível razão para definir ``hash=False`` mas ``compare=True`` seria se " +"um campo for caro para calcular um valor de hash, esse campo for necessário " +"para teste de igualdade e houver outros campos que contribuem para o valor " +"de hash do tipo. Mesmo que um campo seja excluído do hash, ele ainda será " +"usado para comparações." #: ../../library/dataclasses.rst:277 msgid "" "``compare``: If true (the default), this field is included in the generated " -"equality and comparison methods (:meth:`~object.__eq__`, :meth:`~object." -"__gt__`, et al.)." +"equality and comparison methods " +"(:meth:`~object.__eq__`, :meth:`~object.__gt__`, et al.)." msgstr "" +"``compare``: Se verdadeiro (o padrão), este campo é incluído nos métodos de " +"igualdade e comparação gerados " +"(:meth:`~object.__eq__`, :meth:`~object.__gt__`, etc.)." #: ../../library/dataclasses.rst:281 msgid "" @@ -407,6 +491,12 @@ msgid "" "Multiple third-parties can each have their own key, to use as a namespace in " "the metadata." msgstr "" +"``metadata``: Pode ser um mapeamento ou None. None é tratado como um " +"dicionário vazio. Este valor é agrupado em :func:`~types.MappingProxyType` " +"para torná-lo somente leitura e exposto no objeto :class:`Field`. Ele não é " +"usado por Data Classes e é fornecido como um mecanismo de extensão de " +"terceiros. Vários terceiros podem ter sua própria chave, para usar como um " +"espaço de nomes nos metadados." #: ../../library/dataclasses.rst:289 msgid "" @@ -414,16 +504,19 @@ msgid "" "used when the generated :meth:`~object.__init__` method's parameters are " "computed." msgstr "" +"``kw_only``: Se verdadeiro, este campo será marcado como somente-nomeado. " +"Isso é usado quando os parâmetros do método :meth:`~object.__init__` gerados " +"são calculados." #: ../../library/dataclasses.rst:295 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::" +"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 "" #: ../../library/dataclasses.rst:311 @@ -431,12 +524,14 @@ 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." msgstr "" +"O atributo de classe ``C.z`` será ``10``, o atributo de classe ``C.t`` será " +"``20`` e os atributos de classe ``C.x`` e ``C.y`` não serão definidos." #: ../../library/dataclasses.rst:317 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 "" @@ -444,72 +539,92 @@ msgstr "" msgid "``name``: The name of the field." msgstr "``name``: O nome do campo." -#: ../../library/dataclasses.rst:324 +#: ../../library/dataclasses.rst:323 msgid "``type``: The type of the field." msgstr "``type``: O tipo do campo." -#: ../../library/dataclasses.rst:326 +#: ../../library/dataclasses.rst:324 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." msgstr "" +"``default``, ``default_factory``, ``init``, ``repr``, ``hash``, ``compare``, " +"``metadata`` e ``kw_only`` têm significado e valores idênticos aos da " +"função :func:`field`." -#: ../../library/dataclasses.rst:330 +#: ../../library/dataclasses.rst:328 msgid "" "Other attributes may exist, but they are private and must not be inspected " "or relied on." msgstr "" +"Outros atributos podem existir, mas são privados e não devem ser " +"inspecionados ou confiáveis." -#: ../../library/dataclasses.rst:335 +#: ../../library/dataclasses.rst:333 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. " "Raises :exc:`TypeError` if not passed a dataclass or instance of one. Does " "not return pseudo-fields which are ``ClassVar`` or ``InitVar``." msgstr "" +"Retorna uma tupla de objetos :class:`Field` que definem os campos para esta " +"classe de dados. Aceita uma classe de dados ou uma instância de uma classe " +"de dados. Levanta :exc:`TypeError` se não for passada uma classe de dados ou " +"instância de uma. Não retorna pseudocampos que são ``ClassVar`` ou " +"``InitVar``." -#: ../../library/dataclasses.rst:342 +#: ../../library/dataclasses.rst:340 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 " "``name: value`` pairs. dataclasses, dicts, lists, and tuples are recursed " "into. Other objects are copied with :func:`copy.deepcopy`." msgstr "" +"Converte a classe de dados ``obj`` em um dicionário (usando a função de " +"fábrica ``dict_factory``). Cada classe de dados é convertida em um " +"dicionário de seus campos, como pares ``nome: valor``. Pode-se fazer " +"recursividade em classes de dados, dicionários, listas e tuplas. Outros " +"objetos são copiados com :func:`copy.deepcopy`." -#: ../../library/dataclasses.rst:348 -msgid "Example of using :func:`asdict` on nested dataclasses::" +#: ../../library/dataclasses.rst:346 +msgid "Example of using :func:`!asdict` on nested dataclasses::" msgstr "" -#: ../../library/dataclasses.rst:365 ../../library/dataclasses.rst:385 +#: ../../library/dataclasses.rst:363 ../../library/dataclasses.rst:383 msgid "To create a shallow copy, the following workaround may be used::" msgstr "" +"Para criar uma cópia rasa, a seguinte solução alternativa pode ser usada::" -#: ../../library/dataclasses.rst:369 +#: ../../library/dataclasses.rst:367 msgid "" -":func:`asdict` raises :exc:`TypeError` if ``obj`` is not a dataclass " +":func:`!asdict` raises :exc:`TypeError` if ``obj`` is not a dataclass " "instance." msgstr "" -#: ../../library/dataclasses.rst:374 +#: ../../library/dataclasses.rst:372 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 " "values. dataclasses, dicts, lists, and tuples are recursed into. Other " "objects are copied with :func:`copy.deepcopy`." msgstr "" +"Converte a classe de dados ``obj`` em uma tupla (usando a função de fábrica " +"``tuple_factory``). Cada classe de dados é convertida em uma tupla de seus " +"campos. Pode-se fazer recursividade em classes de dados, dicionários, listas " +"e tuplas. Outros objetos são copiados com :func:`copy.deepcopy`." -#: ../../library/dataclasses.rst:380 +#: ../../library/dataclasses.rst:378 msgid "Continuing from the previous example::" msgstr "Continuando a partir do exemplo anterior::" -#: ../../library/dataclasses.rst:389 +#: ../../library/dataclasses.rst:387 msgid "" -":func:`astuple` raises :exc:`TypeError` if ``obj`` is not a dataclass " +":func:`!astuple` raises :exc:`TypeError` if ``obj`` is not a dataclass " "instance." msgstr "" -#: ../../library/dataclasses.rst:394 +#: ../../library/dataclasses.rst:392 msgid "" "Creates a new dataclass with name ``cls_name``, fields as defined in " "``fields``, base classes as given in ``bases``, and initialized with a " @@ -518,67 +633,68 @@ msgid "" "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`." +"``weakref_slot`` have the same meaning as they do in :func:`@dataclass " +"`." msgstr "" -#: ../../library/dataclasses.rst:404 +#: ../../library/dataclasses.rst:402 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 ``__annotations__`` can then apply the " +"``@dataclass`` function to convert that class to a dataclass. This function " +"is provided as a convenience. For example::" msgstr "" -#: ../../library/dataclasses.rst:416 +#: ../../library/dataclasses.rst:414 msgid "Is equivalent to::" msgstr "É equivalente a::" -#: ../../library/dataclasses.rst:429 +#: ../../library/dataclasses.rst:427 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:" -"`TypeError`." +"values from ``changes``. If ``obj`` is not a Data Class, " +"raises :exc:`TypeError`. If values in ``changes`` do not specify fields, " +"raises :exc:`TypeError`." msgstr "" -#: ../../library/dataclasses.rst:434 +#: ../../library/dataclasses.rst:432 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." msgstr "" -#: ../../library/dataclasses.rst:438 +#: ../../library/dataclasses.rst:436 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 "" -#: ../../library/dataclasses.rst:442 +#: ../../library/dataclasses.rst:440 msgid "" "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 "" -#: ../../library/dataclasses.rst:446 +#: ../../library/dataclasses.rst:444 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 ``replace()`` (or similarly named) method which handles " +"instance copying." msgstr "" -#: ../../library/dataclasses.rst:457 +#: ../../library/dataclasses.rst:455 msgid "" "Return ``True`` if its parameter is a dataclass or an instance of one, " "otherwise return ``False``." msgstr "" -#: ../../library/dataclasses.rst:460 +#: ../../library/dataclasses.rst:458 msgid "" "If you need to know if a class is an instance of a dataclass (and not a " "dataclass itself), then add a further check for ``not isinstance(obj, " @@ -588,45 +704,45 @@ msgstr "" "dataclass de fato), então adicione uma verificação para ``not " "isinstance(obj, type)``::" -#: ../../library/dataclasses.rst:469 +#: ../../library/dataclasses.rst:467 msgid "A sentinel value signifying a missing default or default_factory." msgstr "" -#: ../../library/dataclasses.rst:473 +#: ../../library/dataclasses.rst:471 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 :" -"meth:`~object.__init__` parameters that must be specified as keywords when " -"the class is instantiated." +"``_`` 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 "" -#: ../../library/dataclasses.rst:482 +#: ../../library/dataclasses.rst:480 msgid "" "In this example, the fields ``y`` and ``z`` will be marked as keyword-only " "fields::" msgstr "" -#: ../../library/dataclasses.rst:493 +#: ../../library/dataclasses.rst:491 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 "" -#: ../../library/dataclasses.rst:500 +#: ../../library/dataclasses.rst:498 msgid "" -"Raised when an implicitly defined :meth:`~object.__setattr__` or :meth:" -"`~object.__delattr__` is called on a dataclass which was defined with " -"``frozen=True``. It is a subclass of :exc:`AttributeError`." +"Raised when an implicitly defined :meth:`~object.__setattr__` " +"or :meth:`~object.__delattr__` is called on a dataclass which was defined " +"with ``frozen=True``. It is a subclass of :exc:`AttributeError`." msgstr "" -#: ../../library/dataclasses.rst:507 +#: ../../library/dataclasses.rst:505 msgid "Post-init processing" msgstr "Processamento pós-inicialização" -#: ../../library/dataclasses.rst:509 +#: ../../library/dataclasses.rst:507 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 " @@ -637,115 +753,136 @@ msgid "" "called." msgstr "" -#: ../../library/dataclasses.rst:517 +#: ../../library/dataclasses.rst:515 msgid "" -"Among other uses, this allows for initializing field values that depend on " -"one or more other fields. For example::" +"When defined on the class, it will be called by the " +"generated :meth:`~object.__init__`, normally 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:`!__init__` method is generated, then :meth:`!__post_init__` will " +"not automatically be called." +msgstr "" + +#: ../../library/dataclasses.rst:522 +msgid "@dataclass class C:" msgstr "" -#: ../../library/dataclasses.rst:529 +#: ../../library/dataclasses.rst:525 +msgid "a: float b: float c: float = field(init=False)" +msgstr "" + +#: ../../library/dataclasses.rst:530 +msgid "def __post_init__(self):" +msgstr "" + +#: ../../library/dataclasses.rst:530 +msgid "self.c = self.a + self.b" +msgstr "" + +#: ../../library/dataclasses.rst:532 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::" +"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 "" -#: ../../library/dataclasses.rst:546 +#: ../../library/dataclasses.rst:549 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." +"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 "" -#: ../../library/dataclasses.rst:550 +#: ../../library/dataclasses.rst:553 msgid "" -"See the section below on init-only variables for ways to pass parameters to :" -"meth:`!__post_init__`. Also see the warning about how :func:`replace` " +"See the section below on init-only variables for ways to pass parameters " +"to :meth:`!__post_init__`. Also see the warning about how :func:`replace` " "handles ``init=False`` fields." msgstr "" -#: ../../library/dataclasses.rst:555 +#: ../../library/dataclasses.rst:558 msgid "Class variables" msgstr "Variáveis de classe" -#: ../../library/dataclasses.rst:557 +#: ../../library/dataclasses.rst:560 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 " +"``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 "" -#: ../../library/dataclasses.rst:566 +#: ../../library/dataclasses.rst:569 msgid "Init-only variables" msgstr "Variáveis de inicialização apenas" -#: ../../library/dataclasses.rst:568 +#: ../../library/dataclasses.rst:571 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 ``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." msgstr "" -#: ../../library/dataclasses.rst:578 +#: ../../library/dataclasses.rst:581 msgid "" "For example, suppose a field will be initialized from a database, if a value " "is not provided when creating the class::" msgstr "" -#: ../../library/dataclasses.rst:593 +#: ../../library/dataclasses.rst:596 msgid "" "In this case, :func:`fields` will return :class:`Field` objects for ``i`` " "and ``j``, but not for ``database``." msgstr "" -#: ../../library/dataclasses.rst:597 +#: ../../library/dataclasses.rst:600 msgid "Frozen instances" msgstr "" -#: ../../library/dataclasses.rst:599 +#: ../../library/dataclasses.rst:602 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." -"__setattr__` and :meth:`~object.__delattr__` methods to the class. These " -"methods will raise a :exc:`FrozenInstanceError` when invoked." +"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 "" -#: ../../library/dataclasses.rst:605 +#: ../../library/dataclasses.rst:608 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__`." +"There is a tiny performance penalty when using " +"``frozen=True``: :meth:`~object.__init__` cannot use simple assignment to " +"initialize fields, and must use :meth:`!__setattr__`." msgstr "" -#: ../../library/dataclasses.rst:610 +#: ../../library/dataclasses.rst:613 msgid "Inheritance" msgstr "Herança" -#: ../../library/dataclasses.rst:612 +#: ../../library/dataclasses.rst:615 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::" +"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 "" -#: ../../library/dataclasses.rst:632 +#: ../../library/dataclasses.rst:635 msgid "" "The final list of fields is, in order, ``x``, ``y``, ``z``. The final type " "of ``x`` is ``int``, as specified in class ``C``." @@ -753,16 +890,16 @@ msgstr "" "A lista final de campos é, em ordem, ``x``, ``y``, ``z``. O tipo final de " "``x`` é ``int``, conforme especificado na classe ``C``." -#: ../../library/dataclasses.rst:635 +#: ../../library/dataclasses.rst:638 msgid "" "The generated :meth:`~object.__init__` method for ``C`` will look like::" msgstr "" -#: ../../library/dataclasses.rst:640 -msgid "Re-ordering of keyword-only parameters in :meth:`~object.__init__`" +#: ../../library/dataclasses.rst:643 +msgid "Re-ordering of keyword-only parameters in :meth:`!__init__`" msgstr "" -#: ../../library/dataclasses.rst:642 +#: ../../library/dataclasses.rst:645 msgid "" "After the parameters needed for :meth:`~object.__init__` are computed, any " "keyword-only parameters are moved to come after all regular (non-keyword-" @@ -770,135 +907,134 @@ msgid "" "implemented in Python: they must come after non-keyword-only parameters." msgstr "" -#: ../../library/dataclasses.rst:648 +#: ../../library/dataclasses.rst:651 msgid "" "In this example, ``Base.y``, ``Base.w``, and ``D.t`` are keyword-only " "fields, and ``Base.x`` and ``D.z`` are regular fields::" msgstr "" -#: ../../library/dataclasses.rst:663 -msgid "" -"The generated :meth:`~object.__init__` method for ``D`` will look like::" +#: ../../library/dataclasses.rst:666 +msgid "The generated :meth:`!__init__` method for ``D`` will look like::" msgstr "" -#: ../../library/dataclasses.rst:667 +#: ../../library/dataclasses.rst:670 msgid "" "Note that the parameters have been re-ordered from how they appear in the " "list of fields: parameters derived from regular fields are followed by " "parameters derived from keyword-only fields." msgstr "" -#: ../../library/dataclasses.rst:671 +#: ../../library/dataclasses.rst:674 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 "" -#: ../../library/dataclasses.rst:676 +#: ../../library/dataclasses.rst:679 msgid "Default factory functions" msgstr "Funções padrão de fábrica" -#: ../../library/dataclasses.rst:678 +#: ../../library/dataclasses.rst:681 msgid "" "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 "" -#: ../../library/dataclasses.rst:684 +#: ../../library/dataclasses.rst:687 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__` " +"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 "" -#: ../../library/dataclasses.rst:691 +#: ../../library/dataclasses.rst:694 msgid "Mutable default values" msgstr "Valores padrão mutáveis" -#: ../../library/dataclasses.rst:693 +#: ../../library/dataclasses.rst:696 msgid "" "Python stores default member variable values in class attributes. Consider " "this example, not using dataclasses::" msgstr "" -#: ../../library/dataclasses.rst:708 +#: ../../library/dataclasses.rst:711 msgid "" "Note that the two instances of class ``C`` share the same class variable " "``x``, as expected." msgstr "" -#: ../../library/dataclasses.rst:711 +#: ../../library/dataclasses.rst:714 msgid "Using dataclasses, *if* this code was valid::" msgstr "Usando dataclasses, *se* este código fosse válido::" -#: ../../library/dataclasses.rst:719 +#: ../../library/dataclasses.rst:722 msgid "it would generate code similar to::" msgstr "Geraria código similar a::" -#: ../../library/dataclasses.rst:730 +#: ../../library/dataclasses.rst:733 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." +"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 "" -#: ../../library/dataclasses.rst:741 +#: ../../library/dataclasses.rst:744 msgid "" "Using default factory functions is a way to create new instances of mutable " "types as default values for fields::" msgstr "" -#: ../../library/dataclasses.rst:750 +#: ../../library/dataclasses.rst:753 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." msgstr "" -#: ../../library/dataclasses.rst:757 +#: ../../library/dataclasses.rst:760 msgid "Descriptor-typed fields" msgstr "" -#: ../../library/dataclasses.rst:759 +#: ../../library/dataclasses.rst:762 msgid "" "Fields that are assigned :ref:`descriptor objects ` as their " "default value have the following special behaviors:" msgstr "" -#: ../../library/dataclasses.rst:762 +#: ../../library/dataclasses.rst:765 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 "" -#: ../../library/dataclasses.rst:765 +#: ../../library/dataclasses.rst:769 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." +"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 "" -#: ../../library/dataclasses.rst:768 +#: ../../library/dataclasses.rst:773 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." +"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 "" -#: ../../library/dataclasses.rst:803 +#: ../../library/dataclasses.rst:808 msgid "" "Note that if a field is annotated with a descriptor type, but is not " "assigned a descriptor object as its default value, the field will act like a " diff --git a/library/datatypes.po b/library/datatypes.po index 2db937bb9..60d276c06 100644 --- a/library/datatypes.po +++ b/library/datatypes.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,15 +39,17 @@ msgstr "" #: ../../library/datatypes.rst:11 msgid "" -"Python also provides some built-in data types, in particular, :class:" -"`dict`, :class:`list`, :class:`set` and :class:`frozenset`, and :class:" -"`tuple`. The :class:`str` class is used to hold Unicode strings, and the :" -"class:`bytes` and :class:`bytearray` classes are used to hold binary data." +"Python also provides some built-in data types, in " +"particular, :class:`dict`, :class:`list`, :class:`set` " +"and :class:`frozenset`, and :class:`tuple`. The :class:`str` class is used " +"to hold Unicode strings, and the :class:`bytes` and :class:`bytearray` " +"classes are used to hold binary data." msgstr "" -"O Python também fornece alguns tipos de dados embutidos, em especial :class:" -"`dict`, :class:`list`, :class:`set` e :class:`frozenset` e :class:`tuple`. A " -"classe :class:`str` é usada para armazenar strings Unicode, e as classes :" -"class:`bytes` e :class:`bytearray` são usadas para armazenar dados binários." +"O Python também fornece alguns tipos de dados embutidos, em " +"especial :class:`dict`, :class:`list`, :class:`set` e :class:`frozenset` " +"e :class:`tuple`. A classe :class:`str` é usada para armazenar strings " +"Unicode, e as classes :class:`bytes` e :class:`bytearray` são usadas para " +"armazenar dados binários." #: ../../library/datatypes.rst:17 msgid "The following modules are documented in this chapter:" diff --git a/library/datetime.po b/library/datetime.po index b60a16ee3..3770f899c 100644 --- a/library/datetime.po +++ b/library/datetime.po @@ -1,42 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# mvpetri , 2021 -# Welington Carlos , 2021 -# 2c4b5a73177ea5ea1d3324f10df471a7_b8aeba7 <7df8a60bac356f3b148ac94f3c2796f6_834576>, 2021 -# Julia Rizza , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Italo Penaforte , 2021 -# And Past , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 -# Vinícius Muniz de Melo , 2021 -# Danielle Farias , 2021 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 -# yyyyyyyan , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -50,10 +33,10 @@ msgstr "**Código-fonte:** :source:`Lib/datetime.py`" #: ../../library/datetime.rst:17 msgid "" -"The :mod:`datetime` module supplies classes for manipulating dates and times." +"The :mod:`!datetime` module supplies classes for manipulating dates and " +"times." msgstr "" -"O módulo :mod:`datetime` fornece as classes para manipulação de datas e " -"horas." +"O módulo :mod:`!datetime` fornece classes para manipulação de datas e horas." #: ../../library/datetime.rst:19 msgid "" @@ -61,49 +44,67 @@ msgid "" "is on efficient attribute extraction for output formatting and manipulation." msgstr "" "Ainda que a aritmética de data e hora seja suportada, o foco da " -"implementação é na extração eficiente do atributo para formatação da saída e " -"manipulação." +"implementação é a extração eficiente de atributos para a formatação e " +"manipulação da saída." + +#: ../../library/datetime.rst:24 +msgid "Skip to :ref:`the format codes `." +msgstr "Pule para :ref:`os códigos de formatação `." -#: ../../library/datetime.rst:25 +#: ../../library/datetime.rst:29 msgid "Module :mod:`calendar`" msgstr "Módulo :mod:`calendar`" -#: ../../library/datetime.rst:25 +#: ../../library/datetime.rst:29 msgid "General calendar related functions." msgstr "Funções gerais relacionadas ao calendário." -#: ../../library/datetime.rst:28 +#: ../../library/datetime.rst:32 msgid "Module :mod:`time`" msgstr "Módulo :mod:`time`" -#: ../../library/datetime.rst:28 +#: ../../library/datetime.rst:32 msgid "Time access and conversions." -msgstr "Acesso de hora e conversões." +msgstr "Acesso e conversões de tempo" -#: ../../library/datetime.rst:31 +#: ../../library/datetime.rst:35 msgid "Module :mod:`zoneinfo`" msgstr "Módulo :mod:`zoneinfo`" -#: ../../library/datetime.rst:31 +#: ../../library/datetime.rst:35 msgid "Concrete time zones representing the IANA time zone database." msgstr "" -"Fusos horários concretos representando o banco de dados de fusos horários " -"IANA." +"Fusos horários concretos que representam o banco de dados de fusos horários " +"da IANA." -#: ../../library/datetime.rst:33 +#: ../../library/datetime.rst:38 msgid "Package `dateutil `_" msgstr "Pacote `dateutil `_" -#: ../../library/datetime.rst:34 +#: ../../library/datetime.rst:38 msgid "Third-party library with expanded time zone and parsing support." msgstr "" "Biblioteca de terceiros com fuso horário expandido e suporte à análise." -#: ../../library/datetime.rst:39 +#: ../../library/datetime.rst:42 +msgid "Package `DateType `_" +msgstr "Pacote `DateType `_" + +#: ../../library/datetime.rst:41 +msgid "" +"Third-party library that introduces distinct static types to e.g. " +"allow :term:`static type checkers ` to differentiate " +"between naive and aware datetimes." +msgstr "" +"Biblioteca de terceiros que apresenta tipos estáticos distintos para, por " +"exemplo, permitir que :term:`verificadores de tipo estático ` diferenciem datas ingênuas e conscientes." + +#: ../../library/datetime.rst:48 msgid "Aware and Naive Objects" msgstr "Objetos Conscientes e Ingênuos" -#: ../../library/datetime.rst:41 +#: ../../library/datetime.rst:50 msgid "" "Date and time objects may be categorized as \"aware\" or \"naive\" depending " "on whether or not they include timezone information." @@ -111,7 +112,7 @@ msgstr "" "Objetos de data e hora podem ser categorizados como \"consciente\" ou " "\"ingênuo\" dependendo se eles incluem ou não informação sobre fuso horário." -#: ../../library/datetime.rst:44 +#: ../../library/datetime.rst:53 msgid "" "With sufficient knowledge of applicable algorithmic and political time " "adjustments, such as time zone and daylight saving time information, an " @@ -125,7 +126,7 @@ msgstr "" "objeto consciente representa um momento específico no tempo que não está " "aberto à interpretação. [#]_" -#: ../../library/datetime.rst:50 +#: ../../library/datetime.rst:59 msgid "" "A **naive** object does not contain enough information to unambiguously " "locate itself relative to other date/time objects. Whether a naive object " @@ -143,26 +144,26 @@ msgstr "" "metros, milhas ou massa. Objetos ingênuos são fáceis de entender e " "trabalhar, com o custo de ignorar alguns aspectos da realidade." -#: ../../library/datetime.rst:57 +#: ../../library/datetime.rst:66 msgid "" -"For applications requiring aware objects, :class:`.datetime` and :class:`." -"time` objects have an optional time zone information attribute, :attr:`!" -"tzinfo`, that can be set to an instance of a subclass of the abstract :class:" -"`tzinfo` class. These :class:`tzinfo` objects capture information about the " -"offset from UTC time, the time zone name, and whether daylight saving time " -"is in effect." +"For applications requiring aware objects, :class:`.datetime` " +"and :class:`.time` objects have an optional time zone information " +"attribute, :attr:`!tzinfo`, that can be set to an instance of a subclass of " +"the abstract :class:`tzinfo` class. These :class:`tzinfo` objects capture " +"information about the offset from UTC time, the time zone name, and whether " +"daylight saving time is in effect." msgstr "" -"Para aplicativos que requerem objetos conscientes, os objetos :class:`." -"datetime` e :class:`.time` possuem um atributo opcional de informações do " -"fuso horário, :attr:`!tzinfo`, que pode ser definido como uma instância de " -"uma subclasse da classe abstrata :class:`tzinfo`. Esses objetos :class:" -"`tzinfo` capturam informações sobre a diferença da hora UTC, o nome do fuso " -"horário e se o horário de verão está em vigor." +"Para aplicativos que requerem objetos conscientes, os " +"objetos :class:`.datetime` e :class:`.time` possuem um atributo opcional de " +"informações do fuso horário, :attr:`!tzinfo`, que pode ser definido como uma " +"instância de uma subclasse da classe abstrata :class:`tzinfo`. Esses " +"objetos :class:`tzinfo` capturam informações sobre a diferença da hora UTC, " +"o nome do fuso horário e se o horário de verão está em vigor." -#: ../../library/datetime.rst:63 +#: ../../library/datetime.rst:72 msgid "" "Only one concrete :class:`tzinfo` class, the :class:`timezone` class, is " -"supplied by the :mod:`datetime` module. The :class:`timezone` class can " +"supplied by the :mod:`!datetime` module. The :class:`timezone` class can " "represent simple timezones with fixed offsets from UTC, such as UTC itself " "or North American EST and EDT timezones. Supporting timezones at deeper " "levels of detail is up to the application. The rules for time adjustment " @@ -170,7 +171,7 @@ msgid "" "there is no standard suitable for every application aside from UTC." msgstr "" "Somente uma classe concreta :class:`tzinfo`, a classe :class:`timezone`, é " -"fornecida pelo módulo :mod:`datetime`. A classe :class:`timezone` pode " +"fornecida pelo módulo :mod:`!datetime`. A classe :class:`timezone` pode " "representar fusos horários simples com diferenças fixas do UTC, como o " "próprio UTC, ou os fusos horários norte-americanos EST e EDT. O suporte a " "fusos horários em níveis mais detalhados depende da aplicação. As regras " @@ -178,80 +179,83 @@ msgstr "" "mudam com frequência e não há um padrão adequado para todas as aplicações " "além da UTC." -#: ../../library/datetime.rst:72 +#: ../../library/datetime.rst:81 msgid "Constants" msgstr "Constantes" -#: ../../library/datetime.rst:74 -msgid "The :mod:`datetime` module exports the following constants:" -msgstr "O módulo :mod:`datetime` exporta as seguintes constantes:" +#: ../../library/datetime.rst:83 +msgid "The :mod:`!datetime` module exports the following constants:" +msgstr "O módulo :mod:`!datetime` exporta as seguintes constantes:" -#: ../../library/datetime.rst:78 +#: ../../library/datetime.rst:87 msgid "" "The smallest year number allowed in a :class:`date` or :class:`.datetime` " "object. :const:`MINYEAR` is ``1``." msgstr "" -"O menor número de ano permitido em um objeto :class:`date` ou :class:`." -"datetime`. :const:`MINYEAR` é ``1``." +"O menor número de ano permitido em um objeto :class:`date` " +"ou :class:`.datetime`. :const:`MINYEAR` é ``1``." -#: ../../library/datetime.rst:84 +#: ../../library/datetime.rst:93 msgid "" "The largest year number allowed in a :class:`date` or :class:`.datetime` " "object. :const:`MAXYEAR` is ``9999``." msgstr "" -"O maior número de ano permitido no objeto :class:`date` ou :class:`." -"datetime`. :const:`MAXYER` é ``9999``." +"O maior número de ano permitido no objeto :class:`date` " +"ou :class:`.datetime`. :const:`MAXYER` é ``9999``." -#: ../../library/datetime.rst:89 +#: ../../library/datetime.rst:98 msgid "Alias for the UTC timezone singleton :attr:`datetime.timezone.utc`." msgstr "" "Apelido para o singleton de fuso horário UTC :attr:`datetime.timezone.utc`." -#: ../../library/datetime.rst:94 +#: ../../library/datetime.rst:103 msgid "Available Types" msgstr "Tipos disponíveis" -#: ../../library/datetime.rst:99 +#: ../../library/datetime.rst:108 msgid "" "An idealized naive date, assuming the current Gregorian calendar always was, " -"and always will be, in effect. Attributes: :attr:`year`, :attr:`month`, and :" -"attr:`day`." +"and always will be, in effect. Attributes: :attr:`year`, :attr:`month`, " +"and :attr:`day`." msgstr "" "Uma data ingênua idealizada, presumindo que o atual calendário Gregoriano " -"sempre foi, e sempre estará em vigor. Atributos: :attr:`year`, :attr:" -"`month`, e :attr:`day`." +"sempre foi, e sempre estará em vigor. Atributos: :attr:`year`, :attr:`month` " +"e :attr:`day`." -#: ../../library/datetime.rst:107 +#: ../../library/datetime.rst:116 msgid "" "An idealized time, independent of any particular day, assuming that every " "day has exactly 24\\*60\\*60 seconds. (There is no notion of \"leap " -"seconds\" here.) Attributes: :attr:`hour`, :attr:`minute`, :attr:`second`, :" -"attr:`microsecond`, and :attr:`.tzinfo`." +"seconds\" here.) " +"Attributes: :attr:`hour`, :attr:`minute`, :attr:`second`, :attr:`microsecond`, " +"and :attr:`.tzinfo`." msgstr "" "Um horário ideal, independente de qualquer dia em particular, presumindo que " "todos os dias tenham exatamente 24\\*60\\*60 segundos. (Não há noção de " -"\"segundos bissextos\" aqui.) Atributos: :attr:`hour`, :attr:`minute`, :attr:" -"`second`, :attr:`microsecond` e :attr:`.tzinfo`." +"\"segundos bissextos\" aqui.) " +"Atributos: :attr:`hour`, :attr:`minute`, :attr:`second`, :attr:`microsecond` " +"e :attr:`.tzinfo`." -#: ../../library/datetime.rst:116 +#: ../../library/datetime.rst:125 msgid "" -"A combination of a date and a time. Attributes: :attr:`year`, :attr:" -"`month`, :attr:`day`, :attr:`hour`, :attr:`minute`, :attr:`second`, :attr:" -"`microsecond`, and :attr:`.tzinfo`." +"A combination of a date and a time. " +"Attributes: :attr:`year`, :attr:`month`, :attr:`day`, :attr:`hour`, :attr:`minute`, :attr:`second`, :attr:`microsecond`, " +"and :attr:`.tzinfo`." msgstr "" -"Uma combinação de uma data e uma hora. Atributos: :attr:`year`, :attr:" -"`month`, :attr:`day`, :attr:`hour`, :attr:`minute`, :attr:`second`, :attr:" -"`microsecond`, e :attr:`.tzinfo`." +"Uma combinação de uma data e uma hora. " +"Atributos: :attr:`year`, :attr:`month`, :attr:`day`, :attr:`hour`, :attr:`minute`, :attr:`second`, :attr:`microsecond` " +"e :attr:`.tzinfo`." -#: ../../library/datetime.rst:124 +#: ../../library/datetime.rst:133 msgid "" -"A duration expressing the difference between two :class:`date`, :class:`." -"time`, or :class:`.datetime` instances to microsecond resolution." +"A duration expressing the difference between two :class:`.datetime` " +"or :class:`date` instances to microsecond resolution." msgstr "" -"Uma duração que expressa a diferença entre duas instâncias :class:`date`, :" -"class:`.time` ou :class:`.datetime` para resolução de microssegundos." +"Uma duração que expressa a diferença entre duas " +"instâncias :class:`.datetime` ou :class:`date` para resolução de " +"microssegundos." -#: ../../library/datetime.rst:131 +#: ../../library/datetime.rst:140 msgid "" "An abstract base class for time zone information objects. These are used by " "the :class:`.datetime` and :class:`.time` classes to provide a customizable " @@ -263,7 +267,7 @@ msgstr "" "uma noção personalizável de ajuste de horário (por exemplo, para considerar " "o fuso horário e/ou o horário de verão)." -#: ../../library/datetime.rst:139 +#: ../../library/datetime.rst:148 msgid "" "A class that implements the :class:`tzinfo` abstract base class as a fixed " "offset from the UTC." @@ -271,27 +275,27 @@ msgstr "" "Uma classe que implementa a classe base abstrata :class:`tzinfo` como uma " "diferença fixa do UTC." -#: ../../library/datetime.rst:144 ../../library/datetime.rst:162 +#: ../../library/datetime.rst:153 ../../library/datetime.rst:171 msgid "Objects of these types are immutable." msgstr "Objetos desse tipo são imutáveis." -#: ../../library/datetime.rst:146 +#: ../../library/datetime.rst:155 msgid "Subclass relationships::" msgstr "Relacionamentos de subclasse::" -#: ../../library/datetime.rst:157 +#: ../../library/datetime.rst:166 msgid "Common Properties" msgstr "Propriedades Comuns" -#: ../../library/datetime.rst:159 +#: ../../library/datetime.rst:168 msgid "" "The :class:`date`, :class:`.datetime`, :class:`.time`, and :class:`timezone` " "types share these common features:" msgstr "" -"Os tipos :class:`date`, :class:`.datetime`, :class:`.time` e :class:" -"`timezone` compartilham esses recursos comuns:" +"Os tipos :class:`date`, :class:`.datetime`, :class:`.time` " +"e :class:`timezone` compartilham esses recursos comuns:" -#: ../../library/datetime.rst:163 +#: ../../library/datetime.rst:172 msgid "" "Objects of these types are :term:`hashable`, meaning that they can be used " "as dictionary keys." @@ -299,86 +303,86 @@ msgstr "" "Objetos desses tipos são :term:`hasheáveis `, o que significa que " "podem ser usados como chaves de dicionário." -#: ../../library/datetime.rst:165 +#: ../../library/datetime.rst:174 msgid "" "Objects of these types support efficient pickling via the :mod:`pickle` " "module." msgstr "" -"Objetos desse tipo suportam decapagem eficiente através do módulo :mod:" -"`pickle`." +"Objetos desse tipo suportam decapagem eficiente através do " +"módulo :mod:`pickle`." -#: ../../library/datetime.rst:168 +#: ../../library/datetime.rst:177 msgid "Determining if an Object is Aware or Naive" msgstr "Determinando se um Objeto é Consciente ou Ingênuo" -#: ../../library/datetime.rst:170 +#: ../../library/datetime.rst:179 msgid "Objects of the :class:`date` type are always naive." msgstr "Objetos do tipo :class:`date` são sempre ingênuos." -#: ../../library/datetime.rst:172 +#: ../../library/datetime.rst:181 msgid "" "An object of type :class:`.time` or :class:`.datetime` may be aware or naive." msgstr "" "Um objeto do tipo :class:`.time` ou :class:`.datetime` pode ser consciente " "ou ingênuo." -#: ../../library/datetime.rst:174 +#: ../../library/datetime.rst:183 msgid "A :class:`.datetime` object *d* is aware if both of the following hold:" msgstr "" "O objeto :class:`.datetime` *d* é consciente se ambos os seguintes itens " "forem verdadeiros:" -#: ../../library/datetime.rst:176 +#: ../../library/datetime.rst:185 msgid "``d.tzinfo`` is not ``None``" msgstr "``d.tzinfo`` não é ``None``" -#: ../../library/datetime.rst:177 +#: ../../library/datetime.rst:186 msgid "``d.tzinfo.utcoffset(d)`` does not return ``None``" msgstr "``d.tzinfo.utcoffset(d)`` não retorna ``None``" -#: ../../library/datetime.rst:179 +#: ../../library/datetime.rst:188 msgid "Otherwise, *d* is naive." msgstr "Caso contrário, *d* é ingênuo." -#: ../../library/datetime.rst:181 +#: ../../library/datetime.rst:190 msgid "A :class:`.time` object *t* is aware if both of the following hold:" msgstr "" "O objeto :class:`.time` *t* é consciente, se os seguintes itens são " "verdadeiros:" -#: ../../library/datetime.rst:183 +#: ../../library/datetime.rst:192 msgid "``t.tzinfo`` is not ``None``" msgstr "``t.tzinfo`` não é ``None``" -#: ../../library/datetime.rst:184 +#: ../../library/datetime.rst:193 msgid "``t.tzinfo.utcoffset(None)`` does not return ``None``." msgstr "``t.tzinfo.utcoffset(None)`` não retorna ``None``." -#: ../../library/datetime.rst:186 +#: ../../library/datetime.rst:195 msgid "Otherwise, *t* is naive." msgstr "Caso contrário, *t* é ingênuo." -#: ../../library/datetime.rst:188 +#: ../../library/datetime.rst:197 msgid "" "The distinction between aware and naive doesn't apply to :class:`timedelta` " "objects." msgstr "" -"A distinção entre consciente e ingênuo não se aplica a objetos :class:" -"`timedelta`." +"A distinção entre consciente e ingênuo não se aplica a " +"objetos :class:`timedelta`." -#: ../../library/datetime.rst:194 +#: ../../library/datetime.rst:203 msgid ":class:`timedelta` Objects" msgstr "Objetos :class:`timedelta`" -#: ../../library/datetime.rst:196 +#: ../../library/datetime.rst:205 msgid "" "A :class:`timedelta` object represents a duration, the difference between " -"two dates or times." +"two :class:`.datetime` or :class:`date` instances." msgstr "" "O objeto :class:`timedelta` representa uma duração, a diferença entre duas " -"datas ou horas." +"instâncias :class:`.datetime` ou :class:`date`." -#: ../../library/datetime.rst:201 +#: ../../library/datetime.rst:210 msgid "" "All arguments are optional and default to ``0``. Arguments may be integers " "or floats, and may be positive or negative." @@ -386,31 +390,31 @@ msgstr "" "Todos os argumentos são opcionais e o padrão é ``0``. Os argumentos podem " "ser números inteiros ou ponto flutuantes, e podem ser positivos ou negativos." -#: ../../library/datetime.rst:204 +#: ../../library/datetime.rst:213 msgid "" "Only *days*, *seconds* and *microseconds* are stored internally. Arguments " "are converted to those units:" msgstr "" -"Apenas *dias*, *segundos* e *microssegundos* são armazenados internamente. " -"Os argumentos são convertidos para essas unidades:" +"Apenas *days*, *seconds* e *microseconds* são armazenados internamente. Os " +"argumentos são convertidos para essas unidades:" -#: ../../library/datetime.rst:207 +#: ../../library/datetime.rst:216 msgid "A millisecond is converted to 1000 microseconds." msgstr "Um milissegundo é convertido em 1000 microssegundos." -#: ../../library/datetime.rst:208 +#: ../../library/datetime.rst:217 msgid "A minute is converted to 60 seconds." msgstr "Um minuto é convertido em 60 segundos." -#: ../../library/datetime.rst:209 +#: ../../library/datetime.rst:218 msgid "An hour is converted to 3600 seconds." msgstr "Uma hora é convertida em 3600 segundos." -#: ../../library/datetime.rst:210 +#: ../../library/datetime.rst:219 msgid "A week is converted to 7 days." msgstr "Uma semana é convertida para 7 dias." -#: ../../library/datetime.rst:212 +#: ../../library/datetime.rst:221 msgid "" "and days, seconds and microseconds are then normalized so that the " "representation is unique, with" @@ -418,29 +422,29 @@ msgstr "" "e dias, segundos e microssegundos são normalizados para que a representação " "seja única, com" -#: ../../library/datetime.rst:215 +#: ../../library/datetime.rst:224 msgid "``0 <= microseconds < 1000000``" msgstr "``0 <= microseconds < 1000000``" -#: ../../library/datetime.rst:216 +#: ../../library/datetime.rst:225 msgid "``0 <= seconds < 3600*24`` (the number of seconds in one day)" msgstr "``0 <= seconds < 3600*24`` (o número de segundos em um dia)" -#: ../../library/datetime.rst:217 +#: ../../library/datetime.rst:226 msgid "``-999999999 <= days <= 999999999``" msgstr "``-999999999 <= days <= 999999999``" -#: ../../library/datetime.rst:219 +#: ../../library/datetime.rst:228 msgid "" "The following example illustrates how any arguments besides *days*, " "*seconds* and *microseconds* are \"merged\" and normalized into those three " "resulting attributes::" msgstr "" -"O exemplo a seguir ilustra como quaisquer argumentos além de *dias*, " -"*segundos* e *microssegundos* são \"mesclados\" e normalizados nos três " +"O exemplo a seguir ilustra como quaisquer argumentos além de *days*, " +"*seconds* e *microseconds* são \"mesclados\" e normalizados nos três " "atributos resultantes::" -#: ../../library/datetime.rst:237 +#: ../../library/datetime.rst:246 msgid "" "If any argument is a float and there are fractional microseconds, the " "fractional microseconds left over from all arguments are combined and their " @@ -455,15 +459,15 @@ msgstr "" "argumento é ponto flutuante, os processos de conversão e normalização são " "exatos (nenhuma informação é perdida)." -#: ../../library/datetime.rst:244 +#: ../../library/datetime.rst:253 msgid "" -"If the normalized value of days lies outside the indicated range, :exc:" -"`OverflowError` is raised." +"If the normalized value of days lies outside the indicated " +"range, :exc:`OverflowError` is raised." msgstr "" -"Se o valor normalizado de dias estiver fora do intervalo indicado, :exc:" -"`OverflowError` é gerado." +"Se o valor normalizado de dias estiver fora do intervalo indicado, a " +"exceção :exc:`OverflowError` é levantada." -#: ../../library/datetime.rst:247 +#: ../../library/datetime.rst:256 msgid "" "Note that normalization of negative values may be surprising at first. For " "example::" @@ -471,17 +475,17 @@ msgstr "" "Observe que a normalização de valores negativos pode ser surpreendente a " "princípio. Por exemplo::" -#: ../../library/datetime.rst:256 ../../library/datetime.rst:552 -#: ../../library/datetime.rst:1057 ../../library/datetime.rst:1676 -#: ../../library/datetime.rst:2278 +#: ../../library/datetime.rst:265 ../../library/datetime.rst:546 +#: ../../library/datetime.rst:1057 ../../library/datetime.rst:1688 +#: ../../library/datetime.rst:2290 msgid "Class attributes:" msgstr "Atributos de classe:" -#: ../../library/datetime.rst:260 +#: ../../library/datetime.rst:269 msgid "The most negative :class:`timedelta` object, ``timedelta(-999999999)``." msgstr "O mais negativo objeto :class:`timedelta`, ``timedelta(-999999999)``." -#: ../../library/datetime.rst:265 +#: ../../library/datetime.rst:274 msgid "" "The most positive :class:`timedelta` object, ``timedelta(days=999999999, " "hours=23, minutes=59, seconds=59, microseconds=999999)``." @@ -489,7 +493,7 @@ msgstr "" "O mais positivo objeto :class:`timedelta`, ``timedelta(days=999999999, " "hours=23, minutes=59, seconds=59, microseconds=999999)``." -#: ../../library/datetime.rst:271 +#: ../../library/datetime.rst:280 msgid "" "The smallest possible difference between non-equal :class:`timedelta` " "objects, ``timedelta(microseconds=1)``." @@ -497,7 +501,7 @@ msgstr "" "A menor diferença possível entre objetos não iguais :class:`timedelta`, " "``timedelta(microseconds=1)``." -#: ../../library/datetime.rst:274 +#: ../../library/datetime.rst:283 msgid "" "Note that, because of normalization, ``timedelta.max`` > ``-timedelta.min``. " "``-timedelta.max`` is not representable as a :class:`timedelta` object." @@ -505,63 +509,63 @@ msgstr "" "Observe que, devido à normalização, ``timedelta.max`` > ``-timedelta.min``. " "``-timedelta.max`` não é representável como um objeto :class:`timedelta`." -#: ../../library/datetime.rst:277 ../../library/datetime.rst:570 -#: ../../library/datetime.rst:1077 ../../library/datetime.rst:1696 +#: ../../library/datetime.rst:286 ../../library/datetime.rst:564 +#: ../../library/datetime.rst:1077 ../../library/datetime.rst:1708 msgid "Instance attributes (read-only):" msgstr "Atributos de instância (somente leitura):" -#: ../../library/datetime.rst:280 +#: ../../library/datetime.rst:289 msgid "Attribute" msgstr "Atributo" -#: ../../library/datetime.rst:280 +#: ../../library/datetime.rst:289 msgid "Value" msgstr "Valor" -#: ../../library/datetime.rst:282 +#: ../../library/datetime.rst:291 msgid "``days``" msgstr "``days``" -#: ../../library/datetime.rst:282 +#: ../../library/datetime.rst:291 msgid "Between -999999999 and 999999999 inclusive" msgstr "Entre -999999999 e 999999999 inclusive" -#: ../../library/datetime.rst:284 +#: ../../library/datetime.rst:293 msgid "``seconds``" msgstr "``seconds``" -#: ../../library/datetime.rst:284 +#: ../../library/datetime.rst:293 msgid "Between 0 and 86399 inclusive" msgstr "Entre 0 e 86399 inclusive" -#: ../../library/datetime.rst:286 +#: ../../library/datetime.rst:295 msgid "``microseconds``" msgstr "``microseconds``" -#: ../../library/datetime.rst:286 +#: ../../library/datetime.rst:295 msgid "Between 0 and 999999 inclusive" msgstr "Entre 0 e 999999 inclusive" -#: ../../library/datetime.rst:289 ../../library/datetime.rst:587 +#: ../../library/datetime.rst:298 ../../library/datetime.rst:581 #: ../../library/datetime.rst:1130 msgid "Supported operations:" msgstr "Operações suportadas:" -#: ../../library/datetime.rst:294 ../../library/datetime.rst:590 +#: ../../library/datetime.rst:303 ../../library/datetime.rst:584 #: ../../library/datetime.rst:1133 msgid "Operation" msgstr "Operação" -#: ../../library/datetime.rst:294 ../../library/datetime.rst:590 +#: ../../library/datetime.rst:303 ../../library/datetime.rst:584 #: ../../library/datetime.rst:1133 msgid "Result" msgstr "Resultado" -#: ../../library/datetime.rst:296 +#: ../../library/datetime.rst:305 msgid "``t1 = t2 + t3``" msgstr "``t1 = t2 + t3``" -#: ../../library/datetime.rst:296 +#: ../../library/datetime.rst:305 msgid "" "Sum of *t2* and *t3*. Afterwards *t1*-*t2* == *t3* and *t1*-*t3* == *t2* are " "true. (1)" @@ -569,11 +573,11 @@ msgstr "" "Soma de *t2* e *t3*. Depois *t1*-*t2* == *t3* e *t1*-*t3* == *t2* são " "verdadeiros. (1)" -#: ../../library/datetime.rst:299 +#: ../../library/datetime.rst:308 msgid "``t1 = t2 - t3``" msgstr "``t1 = t2 - t3``" -#: ../../library/datetime.rst:299 +#: ../../library/datetime.rst:308 msgid "" "Difference of *t2* and *t3*. Afterwards *t1* == *t2* - *t3* and *t2* == *t1* " "+ *t3* are true. (1)(6)" @@ -581,11 +585,11 @@ msgstr "" "Diferença de *t2* e *t3*. Depois *t1* == *t2* - *t3* e *t2* == *t1* + *t3* " "são verdadeiros (1)(6)" -#: ../../library/datetime.rst:303 +#: ../../library/datetime.rst:312 msgid "``t1 = t2 * i or t1 = i * t2``" msgstr "``t1 = t2 * i or t1 = i * t2``" -#: ../../library/datetime.rst:303 +#: ../../library/datetime.rst:312 msgid "" "Delta multiplied by an integer. Afterwards *t1* // i == *t2* is true, " "provided ``i != 0``." @@ -593,15 +597,15 @@ msgstr "" "Delta multiplicado por um número inteiro. Depois *t1* // i == *t2* é " "verdadeiro, desde que ``i != 0``." -#: ../../library/datetime.rst:307 +#: ../../library/datetime.rst:316 msgid "In general, *t1* \\* i == *t1* \\* (i-1) + *t1* is true. (1)" msgstr "Em geral, *t1* \\* i == *t1* \\* (i-1) + *t1* é verdadeiro. (1)" -#: ../../library/datetime.rst:310 +#: ../../library/datetime.rst:319 msgid "``t1 = t2 * f or t1 = f * t2``" msgstr "``t1 = t2 * f or t1 = f * t2``" -#: ../../library/datetime.rst:310 +#: ../../library/datetime.rst:319 msgid "" "Delta multiplied by a float. The result is rounded to the nearest multiple " "of timedelta.resolution using round-half-to-even." @@ -610,23 +614,23 @@ msgstr "" "para o múltiplo mais próximo de timedelta.resolution usando a metade da " "metade para o par." -#: ../../library/datetime.rst:314 +#: ../../library/datetime.rst:323 msgid "``f = t2 / t3``" msgstr "``f = t2 / t3``" -#: ../../library/datetime.rst:314 +#: ../../library/datetime.rst:323 msgid "" -"Division (3) of overall duration *t2* by interval unit *t3*. Returns a :" -"class:`float` object." +"Division (3) of overall duration *t2* by interval unit *t3*. Returns " +"a :class:`float` object." msgstr "" "Divisão (3) da duração total *t2* por unidade de intervalo *t3*. Retorna um " "objeto :class:`float`." -#: ../../library/datetime.rst:318 +#: ../../library/datetime.rst:327 msgid "``t1 = t2 / f or t1 = t2 / i``" msgstr "``t1 = t2 / f or t1 = t2 / i``" -#: ../../library/datetime.rst:318 +#: ../../library/datetime.rst:327 msgid "" "Delta divided by a float or an int. The result is rounded to the nearest " "multiple of timedelta.resolution using round-half-to-even." @@ -635,11 +639,11 @@ msgstr "" "múltiplo mais próximo de timedelta.resolution usando a metade da metade para " "o par." -#: ../../library/datetime.rst:322 +#: ../../library/datetime.rst:331 msgid "``t1 = t2 // i`` or ``t1 = t2 // t3``" -msgstr "``t1 = t2 // i`` or ``t1 = t2 // t3``" +msgstr "``t1 = t2 // i`` ou ``t1 = t2 // t3``" -#: ../../library/datetime.rst:322 +#: ../../library/datetime.rst:331 msgid "" "The floor is computed and the remainder (if any) is thrown away. In the " "second case, an integer is returned. (3)" @@ -647,51 +651,51 @@ msgstr "" "O piso é calculado e o restante (se houver) é jogado fora. No segundo caso, " "um número inteiro é retornado. (3)" -#: ../../library/datetime.rst:326 +#: ../../library/datetime.rst:335 msgid "``t1 = t2 % t3``" msgstr "``t1 = t2 % t3``" -#: ../../library/datetime.rst:326 +#: ../../library/datetime.rst:335 msgid "The remainder is computed as a :class:`timedelta` object. (3)" msgstr "O restante é calculado como um objeto :class:`timedelta`. (3)" -#: ../../library/datetime.rst:329 +#: ../../library/datetime.rst:338 msgid "``q, r = divmod(t1, t2)``" msgstr "``q, r = divmod(t1, t2)``" -#: ../../library/datetime.rst:329 +#: ../../library/datetime.rst:338 msgid "" "Computes the quotient and the remainder: ``q = t1 // t2`` (3) and ``r = t1 % " "t2``. q is an integer and r is a :class:`timedelta` object." msgstr "" -"Calcula o quociente e o restante: ``q = t1 // t2`` (3) e ``r = t1% t2``. q é " -"um número inteiro e r é um objeto :class:`timedelta`." +"Calcula o quociente e o restante: ``q = t1 // t2`` (3) e ``r = t1 % t2``. q " +"é um número inteiro e r é um objeto :class:`timedelta`." -#: ../../library/datetime.rst:334 +#: ../../library/datetime.rst:343 msgid "``+t1``" msgstr "``+t1``" -#: ../../library/datetime.rst:334 +#: ../../library/datetime.rst:343 msgid "Returns a :class:`timedelta` object with the same value. (2)" msgstr "Retorna um objeto :class:`timedelta` com o mesmo valor. (2)" -#: ../../library/datetime.rst:337 +#: ../../library/datetime.rst:346 msgid "``-t1``" msgstr "``-t1``" -#: ../../library/datetime.rst:337 +#: ../../library/datetime.rst:346 msgid "" -"equivalent to :class:`timedelta`\\ (-*t1.days*, -*t1.seconds*, -*t1." -"microseconds*), and to *t1*\\* -1. (1)(4)" +"equivalent to :class:`timedelta`\\ (-*t1.days*, -*t1.seconds*, " +"-*t1.microseconds*), and to *t1*\\* -1. (1)(4)" msgstr "" -"equivalente a :class:`timedelta`\\ (-*t1.days*, -*t1.seconds*, -*t1." -"microseconds*), e a *t1*\\* -1. (1)(4)" +"equivalente a :class:`timedelta`\\ (-*t1.days*, -*t1.seconds*, " +"-*t1.microseconds*), e a *t1*\\* -1. (1)(4)" -#: ../../library/datetime.rst:342 +#: ../../library/datetime.rst:351 msgid "``abs(t)``" msgstr "``abs(t)``" -#: ../../library/datetime.rst:342 +#: ../../library/datetime.rst:351 msgid "" "equivalent to +\\ *t* when ``t.days >= 0``, and to -*t* when ``t.days < 0``. " "(2)" @@ -699,11 +703,11 @@ msgstr "" "equivalente a + \\ *t* quando ``t.days >= 0``, e a - *t* quando ``t.days < " "0``. (2)" -#: ../../library/datetime.rst:345 +#: ../../library/datetime.rst:354 msgid "``str(t)``" msgstr "``str(t)``" -#: ../../library/datetime.rst:345 +#: ../../library/datetime.rst:354 msgid "" "Returns a string in the form ``[D day[s], ][H]H:MM:SS[.UUUUUU]``, where D is " "negative for negative ``t``. (5)" @@ -711,11 +715,11 @@ msgstr "" "Retorna uma string no formato ``[D day[s], ][H]H:MM:SS[.UUUUUU]``, onde D é " "negativo para ``t`` negativo. (5)" -#: ../../library/datetime.rst:349 +#: ../../library/datetime.rst:358 msgid "``repr(t)``" msgstr "``repr(t)``" -#: ../../library/datetime.rst:349 +#: ../../library/datetime.rst:358 msgid "" "Returns a string representation of the :class:`timedelta` object as a " "constructor call with canonical attribute values." @@ -723,29 +727,29 @@ msgstr "" "Retorna uma representação em string do objeto :class:`timedelta` como uma " "chamada do construtor com valores de atributos canônicos." -#: ../../library/datetime.rst:355 ../../library/datetime.rst:604 -#: ../../library/datetime.rst:2499 +#: ../../library/datetime.rst:364 ../../library/datetime.rst:603 +#: ../../library/datetime.rst:2513 msgid "Notes:" msgstr "Notas:" -#: ../../library/datetime.rst:358 +#: ../../library/datetime.rst:367 msgid "This is exact but may overflow." msgstr "Isso é exato, mas pode transbordar." -#: ../../library/datetime.rst:361 +#: ../../library/datetime.rst:370 msgid "This is exact and cannot overflow." msgstr "Isso é exato e não pode transbordar." -#: ../../library/datetime.rst:364 +#: ../../library/datetime.rst:373 msgid "Division by 0 raises :exc:`ZeroDivisionError`." msgstr "A divisão por 0 levanta :exc:`ZeroDivisionError`." -#: ../../library/datetime.rst:367 +#: ../../library/datetime.rst:376 msgid "-*timedelta.max* is not representable as a :class:`timedelta` object." msgstr "" "-*timedelta.max* não é representável como um objeto :class:`timedelta`." -#: ../../library/datetime.rst:370 +#: ../../library/datetime.rst:379 msgid "" "String representations of :class:`timedelta` objects are normalized " "similarly to their internal representation. This leads to somewhat unusual " @@ -755,7 +759,7 @@ msgstr "" "de maneira semelhante à sua representação interna. Isso leva a resultados um " "tanto incomuns para timedeltas negativos. Por exemplo::" -#: ../../library/datetime.rst:380 +#: ../../library/datetime.rst:389 msgid "" "The expression ``t2 - t3`` will always be equal to the expression ``t2 + (-" "t3)`` except when t3 is equal to ``timedelta.max``; in that case the former " @@ -765,55 +769,35 @@ msgstr "" "quando t3 for igual a ``timedelta.max``; nesse caso, o primeiro produzirá um " "resultado enquanto o último transbordará." -#: ../../library/datetime.rst:384 +#: ../../library/datetime.rst:393 msgid "" "In addition to the operations listed above, :class:`timedelta` objects " -"support certain additions and subtractions with :class:`date` and :class:`." -"datetime` objects (see below)." +"support certain additions and subtractions with :class:`date` " +"and :class:`.datetime` objects (see below)." msgstr "" "Além das operações listadas acima, os objetos :class:`timedelta` suportam " -"certas adições e subtrações com os objetos :class:`date` e :class:`." -"datetime` (veja abaixo)." +"certas adições e subtrações com os objetos :class:`date` " +"e :class:`.datetime` (veja abaixo)." -#: ../../library/datetime.rst:388 +#: ../../library/datetime.rst:397 msgid "" -"Floor division and true division of a :class:`timedelta` object by another :" -"class:`timedelta` object are now supported, as are remainder operations and " -"the :func:`divmod` function. True division and multiplication of a :class:" -"`timedelta` object by a :class:`float` object are now supported." +"Floor division and true division of a :class:`timedelta` object by " +"another :class:`timedelta` object are now supported, as are remainder " +"operations and the :func:`divmod` function. True division and multiplication " +"of a :class:`timedelta` object by a :class:`float` object are now supported." msgstr "" "A divisão pelo piso e a divisão verdadeira de um objeto :class:`timedelta` " "por outro objeto :class:`timedelta` agora são suportadas, assim como as " -"operações restantes e a função :func:`divmod`. A verdadeira divisão e " +"operações restantes e a função :func:`divmod`. A divisão verdadeira e " "multiplicação de um objeto :class:`timedelta` por um objeto :class:`float` " "agora são suportadas." -#: ../../library/datetime.rst:395 -msgid "" -"Comparisons of :class:`timedelta` objects are supported, with some caveats." +#: ../../library/datetime.rst:403 +msgid ":class:`timedelta` objects support equality and order comparisons." msgstr "" -"Comparações de objetos :class:`timedelta` são suportadas, com algumas " -"ressalvas." +"Objetos :class:`timedelta` dão suporte a comparações de igualdade e ordem." -#: ../../library/datetime.rst:397 -msgid "" -"The comparisons ``==`` or ``!=`` *always* return a :class:`bool`, no matter " -"the type of the compared object::" -msgstr "" -"As comparações ``==`` ou ``!=`` *sempre* retornam um :class:`bool`, não " -"importa o tipo do objeto comparado::" - -#: ../../library/datetime.rst:408 -msgid "" -"For all other comparisons (such as ``<`` and ``>``), when a :class:" -"`timedelta` object is compared to an object of a different type, :exc:" -"`TypeError` is raised::" -msgstr "" -"Para todas as outras comparações (tais como ``<`` e ``>``), quando um " -"objeto :class:`timedelta` é comparado a um objeto de um tipo diferente, :exc:" -"`TypeError` é levantada::" - -#: ../../library/datetime.rst:419 +#: ../../library/datetime.rst:405 msgid "" "In Boolean contexts, a :class:`timedelta` object is considered to be true if " "and only if it isn't equal to ``timedelta(0)``." @@ -821,12 +805,12 @@ msgstr "" "Em contexto booleano, um objeto :class:`timedelta` é considerado verdadeiro " "se, e somente se, não for igual a ``timedelta(0)``." -#: ../../library/datetime.rst:422 ../../library/datetime.rst:633 -#: ../../library/datetime.rst:1204 ../../library/datetime.rst:1804 +#: ../../library/datetime.rst:408 ../../library/datetime.rst:629 +#: ../../library/datetime.rst:1216 ../../library/datetime.rst:1815 msgid "Instance methods:" msgstr "Métodos de instância:" -#: ../../library/datetime.rst:426 +#: ../../library/datetime.rst:412 msgid "" "Return the total number of seconds contained in the duration. Equivalent to " "``td / timedelta(seconds=1)``. For interval units other than seconds, use " @@ -837,7 +821,7 @@ msgstr "" "use a forma de divisão diretamente (por exemplo ``td / " "timedelta(microseconds=1)``)." -#: ../../library/datetime.rst:430 +#: ../../library/datetime.rst:416 msgid "" "Note that for very large time intervals (greater than 270 years on most " "platforms) this method will lose microsecond accuracy." @@ -845,33 +829,33 @@ msgstr "" "Observe que, em intervalos de tempo muito grandes (mais de 270 anos na " "maioria das plataformas), esse método perde a precisão de microssegundos." -#: ../../library/datetime.rst:436 +#: ../../library/datetime.rst:422 msgid "Examples of usage: :class:`timedelta`" msgstr "Exemplos de uso: :class:`.timedelta`" -#: ../../library/datetime.rst:438 +#: ../../library/datetime.rst:424 msgid "An additional example of normalization::" msgstr "Um exemplo adicional de normalização::" -#: ../../library/datetime.rst:450 +#: ../../library/datetime.rst:436 msgid "Examples of :class:`timedelta` arithmetic::" msgstr "Exemplos de aritmética com :class:`timedelta`::" -#: ../../library/datetime.rst:469 +#: ../../library/datetime.rst:455 msgid ":class:`date` Objects" msgstr "Objetos :class:`date`" -#: ../../library/datetime.rst:471 +#: ../../library/datetime.rst:457 msgid "" "A :class:`date` object represents a date (year, month and day) in an " "idealized calendar, the current Gregorian calendar indefinitely extended in " "both directions." msgstr "" -"O objeto :class:`date` representa uma data (ano, mês e dia) em um calendário " -"idealizado, o atual calendário Gregoriano estendido indefinidamente em ambas " -"as direções." +"Um objeto :class:`date` representa uma data (ano, mês e dia) em um " +"calendário idealizado, o calendário gregoriano atual, estendido " +"indefinidamente em ambas as direções." -#: ../../library/datetime.rst:475 +#: ../../library/datetime.rst:461 msgid "" "January 1 of year 1 is called day number 1, January 2 of year 1 is called " "day number 2, and so on. [#]_" @@ -879,46 +863,46 @@ msgstr "" "1º de janeiro do ano 1 é chamado de dia número 1, 2º de janeiro do ano 1 é " "chamado de dia número 2, e assim por diante. [#]_" -#: ../../library/datetime.rst:480 +#: ../../library/datetime.rst:466 msgid "" "All arguments are required. Arguments must be integers, in the following " "ranges:" msgstr "" "Todos os argumentos são obrigatórios. Os argumentos devem ser números " -"inteiros, nos seguintes intervalos:" +"inteiros nos seguintes intervalos:" -#: ../../library/datetime.rst:483 +#: ../../library/datetime.rst:469 msgid "``MINYEAR <= year <= MAXYEAR``" msgstr "``MINYEAR <= year <= MAXYEAR``" -#: ../../library/datetime.rst:484 +#: ../../library/datetime.rst:470 msgid "``1 <= month <= 12``" msgstr "``1 <= month <= 12``" -#: ../../library/datetime.rst:485 +#: ../../library/datetime.rst:471 msgid "``1 <= day <= number of days in the given month and year``" msgstr "``1 <= day <= número de dias no mês e ano fornecidos``" -#: ../../library/datetime.rst:487 ../../library/datetime.rst:847 +#: ../../library/datetime.rst:473 ../../library/datetime.rst:843 msgid "" "If an argument outside those ranges is given, :exc:`ValueError` is raised." msgstr "" -"Se um argumento fora desses intervalos for fornecido, :exc:`ValueError` é " -"levantado." +"Se um argumento fora desses intervalos for fornecido, a " +"exceção :exc:`ValueError` é levantada." -#: ../../library/datetime.rst:490 ../../library/datetime.rst:852 +#: ../../library/datetime.rst:476 ../../library/datetime.rst:848 msgid "Other constructors, all class methods:" -msgstr "Outros construtores, todos os métodos de classe." +msgstr "Outros construtores, todos os métodos de classe:" -#: ../../library/datetime.rst:494 +#: ../../library/datetime.rst:480 msgid "Return the current local date." msgstr "Retorna a data local atual." -#: ../../library/datetime.rst:496 +#: ../../library/datetime.rst:482 msgid "This is equivalent to ``date.fromtimestamp(time.time())``." msgstr "Isso é equivalente a ``date.fromtimestamp(time.time())``." -#: ../../library/datetime.rst:500 +#: ../../library/datetime.rst:486 msgid "" "Return the local date corresponding to the POSIX timestamp, such as is " "returned by :func:`time.time`." @@ -926,36 +910,36 @@ msgstr "" "Retorna a data local correspondente ao registro de data e hora do POSIX, " "como é retornado por :func:`time.time`." -#: ../../library/datetime.rst:503 +#: ../../library/datetime.rst:489 msgid "" "This may raise :exc:`OverflowError`, if the timestamp is out of the range of " -"values supported by the platform C :c:func:`localtime` function, and :exc:" -"`OSError` on :c:func:`localtime` failure. It's common for this to be " -"restricted to years from 1970 through 2038. Note that on non-POSIX systems " -"that include leap seconds in their notion of a timestamp, leap seconds are " -"ignored by :meth:`fromtimestamp`." +"values supported by the platform C :c:func:`localtime` function, " +"and :exc:`OSError` on :c:func:`localtime` failure. It's common for this to " +"be restricted to years from 1970 through 2038. Note that on non-POSIX " +"systems that include leap seconds in their notion of a timestamp, leap " +"seconds are ignored by :meth:`fromtimestamp`." msgstr "" "Isso pode levantar :exc:`OverflowError`, se o registro de data e hora " -"estiver fora do intervalo de valores suportados pela função C :c:func:" -"`localtime` da plataforma, e em caso de falha :exc:`OSError` em :c:func:" -"`localtime`. É comum que isso seja restrito a anos de 1970 a 2038. Observe " -"que, em sistemas não POSIX que incluem segundos bissextos na sua notação de " -"registro de data e hora, os segundos bissextos são ignorados por :meth:" -"`fromtimestamp`." +"estiver fora do intervalo de valores suportados pela função " +"C :c:func:`localtime` da plataforma, e em caso de falha :exc:`OSError` " +"em :c:func:`localtime`. É comum que isso seja restrito a anos de 1970 a " +"2038. Observe que, em sistemas não POSIX que incluem segundos bissextos na " +"sua notação de registro de data e hora, os segundos bissextos são ignorados " +"por :meth:`fromtimestamp`." -#: ../../library/datetime.rst:510 +#: ../../library/datetime.rst:496 msgid "" "Raise :exc:`OverflowError` instead of :exc:`ValueError` if the timestamp is " "out of the range of values supported by the platform C :c:func:`localtime` " -"function. Raise :exc:`OSError` instead of :exc:`ValueError` on :c:func:" -"`localtime` failure." +"function. Raise :exc:`OSError` instead of :exc:`ValueError` " +"on :c:func:`localtime` failure." msgstr "" "Levanta :exc:`OverflowError` ao invés de :exc:`ValueError` se o registro de " "data e hora estiver fora do intervalo de valores suportados pela plataforma " -"C :c:func:`localtime` função. Levanta :exc:`OSError` ao invés de :exc:" -"`ValueError` em falha de :c:func:`localtime` ." +"C :c:func:`localtime` função. Levanta :exc:`OSError` ao invés " +"de :exc:`ValueError` em falha de :c:func:`localtime` ." -#: ../../library/datetime.rst:519 +#: ../../library/datetime.rst:505 msgid "" "Return the date corresponding to the proleptic Gregorian ordinal, where " "January 1 of year 1 has ordinal 1." @@ -963,48 +947,71 @@ msgstr "" "Retorna a data correspondente ao ordinal proléptico gregoriano, considerando " "que 1º de janeiro do ano 1 tem o ordinal 1." -#: ../../library/datetime.rst:522 +#: ../../library/datetime.rst:508 msgid "" ":exc:`ValueError` is raised unless ``1 <= ordinal <= date.max.toordinal()``. " "For any date *d*, ``date.fromordinal(d.toordinal()) == d``." msgstr "" -":exc:`ValueError` é levantado, a menos que ``1 <= ordinal <= date.max." -"toordinal()``. Para qualquer data *d*, ``date.fromordinal(d.toordinal()) == " -"d``." +":exc:`ValueError` é levantado, a menos que ``1 <= ordinal <= " +"date.max.toordinal()``. Para qualquer data *d*, " +"``date.fromordinal(d.toordinal()) == d``." -#: ../../library/datetime.rst:529 +#: ../../library/datetime.rst:515 msgid "" "Return a :class:`date` corresponding to a *date_string* given in any valid " -"ISO 8601 format, except ordinal dates (e.g. ``YYYY-DDD``)::" +"ISO 8601 format, with the following exceptions:" +msgstr "" +"Retorna um :class:`date` correspondendo a *date_string* dada em qualquer " +"formato válido de ISO 8601, com as seguintes exceções:" + +#: ../../library/datetime.rst:518 ../../library/datetime.rst:997 +msgid "" +"Reduced precision dates are not currently supported (``YYYY-MM``, ``YYYY``)." msgstr "" -"Retorna um :class:`date` correspondendo a *date_string* fornecido em " -"qualquer formato válido de ISO 8601, exceto em datas ordinais (p.ex., ``YYYY-" -"DDD``)::" +"Datas de precisão reduzida não são atualmente suportadas (``YYYY-MM``, " +"``YYYY``)." -#: ../../library/datetime.rst:541 +#: ../../library/datetime.rst:520 ../../library/datetime.rst:999 +msgid "" +"Extended date representations are not currently supported (``±YYYYYY-MM-" +"DD``)." +msgstr "" +"Representações de data estendidas não são atualmente suportadas (``±YYYYYY-" +"MM-DD``)." + +#: ../../library/datetime.rst:522 ../../library/datetime.rst:1001 +msgid "Ordinal dates are not currently supported (``YYYY-OOO``)." +msgstr "Atualmente, as datas ordinais não são suportadas (``YYYY-OOO``)." + +#: ../../library/datetime.rst:524 ../../library/datetime.rst:1003 +#: ../../library/datetime.rst:1444 +msgid "Examples::" +msgstr "Exemplos::" + +#: ../../library/datetime.rst:535 msgid "Previously, this method only supported the format ``YYYY-MM-DD``." msgstr "" "Anteriormente, este método tinha suporte apenas ao formato ``YYYY-MM-DD``." -#: ../../library/datetime.rst:546 +#: ../../library/datetime.rst:540 msgid "" "Return a :class:`date` corresponding to the ISO calendar date specified by " -"year, week and day. This is the inverse of the function :meth:`date." -"isocalendar`." +"year, week and day. This is the inverse of the " +"function :meth:`date.isocalendar`." msgstr "" "Retorna um objeto :class:`date` correspondendo a data em calendário ISO " -"especificada por year, week e day. Esta é o inverso da função :meth:`date." -"isocalendar`." +"especificada por year, week e day. Esta é o inverso da " +"função :meth:`date.isocalendar`." -#: ../../library/datetime.rst:556 +#: ../../library/datetime.rst:550 msgid "The earliest representable date, ``date(MINYEAR, 1, 1)``." msgstr "A data representável mais antiga, ``date(MINYEAR, 1, 1)``." -#: ../../library/datetime.rst:561 +#: ../../library/datetime.rst:555 msgid "The latest representable date, ``date(MAXYEAR, 12, 31)``." msgstr "A data representável mais tardia, ``date(MAXYEAR, 12, 31)``." -#: ../../library/datetime.rst:566 +#: ../../library/datetime.rst:560 msgid "" "The smallest possible difference between non-equal date objects, " "``timedelta(days=1)``." @@ -1012,109 +1019,122 @@ msgstr "" "A menor diferença possível entre objetos date não iguais, " "``timedelta(days=1)``." -#: ../../library/datetime.rst:574 ../../library/datetime.rst:1081 +#: ../../library/datetime.rst:568 ../../library/datetime.rst:1081 msgid "Between :const:`MINYEAR` and :const:`MAXYEAR` inclusive." -msgstr "Entre :const:`MINYEAR` e :const:`MAXYEAR` incluindo extremos." +msgstr "Entre :const:`MINYEAR` e :const:`MAXYEAR`, incluindo os extremos." -#: ../../library/datetime.rst:579 ../../library/datetime.rst:1086 +#: ../../library/datetime.rst:573 ../../library/datetime.rst:1086 msgid "Between 1 and 12 inclusive." -msgstr "Entre 1 e 12 incluindo extremos." +msgstr "Entre 1 e 12, incluindo os extremos." -#: ../../library/datetime.rst:584 ../../library/datetime.rst:1091 +#: ../../library/datetime.rst:578 ../../library/datetime.rst:1091 msgid "Between 1 and the number of days in the given month of the given year." -msgstr "Entre 1 e o número de dias no mês especificado do ano especificado." +msgstr "Entre 1 e o número de dias do mês especificado no ano especificado." -#: ../../library/datetime.rst:592 +#: ../../library/datetime.rst:586 msgid "``date2 = date1 + timedelta``" msgstr "``date2 = date1 + timedelta``" -#: ../../library/datetime.rst:592 +#: ../../library/datetime.rst:586 msgid "*date2* will be ``timedelta.days`` days after *date1*. (1)" msgstr "*date2* terá ``timedelta.days`` dias após *date1*. (1)" -#: ../../library/datetime.rst:595 +#: ../../library/datetime.rst:589 msgid "``date2 = date1 - timedelta``" msgstr "``date2 = date1 - timedelta``" -#: ../../library/datetime.rst:595 +#: ../../library/datetime.rst:589 msgid "Computes *date2* such that ``date2 + timedelta == date1``. (2)" msgstr "Computa *date2* de modo que ``date2 + timedelta == date1``. (2)" -#: ../../library/datetime.rst:598 +#: ../../library/datetime.rst:592 msgid "``timedelta = date1 - date2``" msgstr "``timedelta = date1 - date2``" -#: ../../library/datetime.rst:598 ../../library/datetime.rst:1139 +#: ../../library/datetime.rst:592 ../../library/datetime.rst:1139 msgid "\\(3)" msgstr "\\(3)" -#: ../../library/datetime.rst:600 +#: ../../library/datetime.rst:0 +msgid "``date1 == date2``" +msgstr "``date1 == date2``" + +#: ../../library/datetime.rst:0 +msgid "``date1 != date2``" +msgstr "``date1 != date2``" + +#: ../../library/datetime.rst:594 ../../library/datetime.rst:1141 +msgid "Equality comparison. (4)" +msgstr "Comparação de igualdade. (4)" + +#: ../../library/datetime.rst:0 msgid "``date1 < date2``" msgstr "``date1 < date2``" -#: ../../library/datetime.rst:600 -msgid "" -"*date1* is considered less than *date2* when *date1* precedes *date2* in " -"time. (4)" -msgstr "" -"*date1* é considerada menor que *date2* quando *date1* precede *date2* no " -"tempo. (4)" +#: ../../library/datetime.rst:0 +msgid "``date1 > date2``" +msgstr "``date1 > date2``" + +#: ../../library/datetime.rst:0 +msgid "``date1 <= date2``" +msgstr "``date1 <= date2``" + +#: ../../library/datetime.rst:0 +msgid "``date1 >= date2``" +msgstr "``date1 >= date2``" + +#: ../../library/datetime.rst:597 ../../library/datetime.rst:1144 +msgid "Order comparison. (5)" +msgstr "Comparação de ordem. (5)" -#: ../../library/datetime.rst:607 +#: ../../library/datetime.rst:606 msgid "" "*date2* is moved forward in time if ``timedelta.days > 0``, or backward if " "``timedelta.days < 0``. Afterward ``date2 - date1 == timedelta.days``. " -"``timedelta.seconds`` and ``timedelta.microseconds`` are ignored. :exc:" -"`OverflowError` is raised if ``date2.year`` would be smaller than :const:" -"`MINYEAR` or larger than :const:`MAXYEAR`." +"``timedelta.seconds`` and ``timedelta.microseconds`` are " +"ignored. :exc:`OverflowError` is raised if ``date2.year`` would be smaller " +"than :const:`MINYEAR` or larger than :const:`MAXYEAR`." msgstr "" "*date2* é movida para frente no tempo se ``timedelta.days > 0``, ou para " -"trás se ``timedelta.days < 0``. Posteriormente ``date2 - date1 == timedelta." -"days``. ``timedelta.seconds`` e ``timedelta.microseconds`` são ignorados. :" -"exc:`OverflowError` é levantado se ``date2.year`` for menor que :const:" -"`MINYEAR` ou maior que :const:`MAXYEAR`." +"trás se ``timedelta.days < 0``. Posteriormente ``date2 - date1 == " +"timedelta.days``. ``timedelta.seconds`` e ``timedelta.microseconds`` são " +"ignorados. A exceção :exc:`OverflowError` é levantada se ``date2.year`` for " +"menor que :const:`MINYEAR` ou maior que :const:`MAXYEAR`." -#: ../../library/datetime.rst:614 +#: ../../library/datetime.rst:613 msgid "``timedelta.seconds`` and ``timedelta.microseconds`` are ignored." msgstr "``timedelta.seconds`` e ``timedelta.microseconds`` são ignoradas." -#: ../../library/datetime.rst:617 +#: ../../library/datetime.rst:616 msgid "" -"This is exact, and cannot overflow. timedelta.seconds and timedelta." -"microseconds are 0, and date2 + timedelta == date1 after." +"This is exact, and cannot overflow. timedelta.seconds and " +"timedelta.microseconds are 0, and date2 + timedelta == date1 after." msgstr "" -"Isso é exato e não pode estourar. ``timedelta.seconds`` e ``timedelta." -"microseconds`` são ``0``, e ``date2 + timedelta == date1`` depois." +"Isso é exato e não pode estourar. ``timedelta.seconds`` e " +"``timedelta.microseconds`` são ``0``, e ``date2 + timedelta == date1`` " +"depois." -#: ../../library/datetime.rst:621 +#: ../../library/datetime.rst:620 +msgid ":class:`date` objects are equal if they represent the same date." +msgstr "Objetos :class:`date` são iguais se representam a mesma data." + +#: ../../library/datetime.rst:623 msgid "" -"In other words, ``date1 < date2`` if and only if ``date1.toordinal() < date2." -"toordinal()``. Date comparison raises :exc:`TypeError` if the other " -"comparand isn't also a :class:`date` object. However, ``NotImplemented`` is " -"returned instead if the other comparand has a :meth:`timetuple` attribute. " -"This hook gives other kinds of date objects a chance at implementing mixed-" -"type comparison. If not, when a :class:`date` object is compared to an " -"object of a different type, :exc:`TypeError` is raised unless the comparison " -"is ``==`` or ``!=``. The latter cases return :const:`False` or :const:" -"`True`, respectively." +"*date1* is considered less than *date2* when *date1* precedes *date2* in " +"time. In other words, ``date1 < date2`` if and only if ``date1.toordinal() < " +"date2.toordinal()``." msgstr "" -"Em outras palavras, ``date1 < date2`` se e somente se ``date1.toordinal() < " -"date2.toordinal()``. Comparação de dadas levanta :exc:`TypeError` se o outro " -"comparando não é também um objeto :class:`date`. Entretanto, " -"``NotImplemented`` é retornado ao invés se o outro comparando tem um " -"atributo :meth:`timetuple`. Esse gancho fornece a outros tipos de objetos de " -"datas uma chance de implementar comparações de tipo misto. Se não, quando um " -"objeto :class:`date` é comparado com um objeto de tipo diferente, :exc:" -"`TypeError` é levantado a não ser que a comparação seja ``==`` ou ``!=``. Os " -"últimos casos retornam :const:`False` ou :const:`True`, respectivamente." +"*date1* é considerado menor que *date2* quando *date1* precede *date2* no " +"tempo. Em outras palavras, ``date1 < date2`` se e somente se " +"``date1.toordinal() < date2.toordinal()``." -#: ../../library/datetime.rst:631 +#: ../../library/datetime.rst:627 msgid "" "In Boolean contexts, all :class:`date` objects are considered to be true." msgstr "" "Em contextos booleanos, todo objeto :class:`date` é considerado verdadeiro." -#: ../../library/datetime.rst:637 +#: ../../library/datetime.rst:633 msgid "" "Return a date with the same value, except for those parameters given new " "values by whichever keyword arguments are specified." @@ -1122,29 +1142,28 @@ msgstr "" "Retorna uma data com o mesmo valor, exceto por aqueles parâmetros que " "receberam novos valores, por quaisquer argumentos nomeados especificados." -#: ../../library/datetime.rst:640 ../../library/datetime.rst:1847 +#: ../../library/datetime.rst:636 ../../library/datetime.rst:1858 msgid "Example::" msgstr "Exemplo::" -#: ../../library/datetime.rst:650 ../../library/datetime.rst:1317 +#: ../../library/datetime.rst:646 ../../library/datetime.rst:1329 msgid "" -"Return a :class:`time.struct_time` such as returned by :func:`time." -"localtime`." +"Return a :class:`time.struct_time` such as returned " +"by :func:`time.localtime`." msgstr "" -"Retorna uma :class:`time.struct_time` tal como retornado por :func:`time." -"localtime`." +"Retorna uma :class:`time.struct_time` tal como retornado " +"por :func:`time.localtime`." -#: ../../library/datetime.rst:652 +#: ../../library/datetime.rst:648 msgid "The hours, minutes and seconds are 0, and the DST flag is -1." msgstr "" -"As horas, minutos e segundos são ``0``, e o sinalizador de horário de verão " -"é ``-1``." +"As horas, minutos e segundos são 0, e o sinalizador de horário de verão é -1." -#: ../../library/datetime.rst:654 ../../library/datetime.rst:1319 +#: ../../library/datetime.rst:650 ../../library/datetime.rst:1331 msgid "``d.timetuple()`` is equivalent to::" msgstr "``d.timetuple()`` é equivalente a::" -#: ../../library/datetime.rst:658 +#: ../../library/datetime.rst:654 msgid "" "where ``yday = d.toordinal() - date(d.year, 1, 1).toordinal() + 1`` is the " "day number within the current year starting with ``1`` for January 1st." @@ -1152,37 +1171,37 @@ msgstr "" "no qual ``yday = d.toordinal() - date(d.year, 1, 1).toordinal() + 1`` é o " "número do dia dentro do ano atual, começando com ``1`` para 1º de janeiro." -#: ../../library/datetime.rst:664 +#: ../../library/datetime.rst:660 msgid "" "Return the proleptic Gregorian ordinal of the date, where January 1 of year " -"1 has ordinal 1. For any :class:`date` object *d*, ``date.fromordinal(d." -"toordinal()) == d``." +"1 has ordinal 1. For any :class:`date` object *d*, " +"``date.fromordinal(d.toordinal()) == d``." msgstr "" "Retorna o ordinal proléptico gregoriano da data, considerando que 1º de " -"janeiro do ano 1 tem o ordinal ``1``. Para qualquer objeto :class:`date` " -"*d*, ``date.fromordinal(d.toordinal()) == d``." +"janeiro do ano 1 tem o ordinal 1. Para qualquer objeto :class:`date` *d*, " +"``date.fromordinal(d.toordinal()) == d``." -#: ../../library/datetime.rst:671 +#: ../../library/datetime.rst:667 msgid "" "Return the day of the week as an integer, where Monday is 0 and Sunday is 6. " -"For example, ``date(2002, 12, 4).weekday() == 2``, a Wednesday. See also :" -"meth:`isoweekday`." +"For example, ``date(2002, 12, 4).weekday() == 2``, a Wednesday. See " +"also :meth:`isoweekday`." msgstr "" "Retorna o dia da semana como um inteiro, onde Segunda é 0 e Domingo é 6. Por " "exemplo, ``date(2002, 12, 4).weekday() == 2``, uma Quarta-feira. Veja " "também :meth:`isoweekday`." -#: ../../library/datetime.rst:678 +#: ../../library/datetime.rst:674 msgid "" "Return the day of the week as an integer, where Monday is 1 and Sunday is 7. " -"For example, ``date(2002, 12, 4).isoweekday() == 3``, a Wednesday. See also :" -"meth:`weekday`, :meth:`isocalendar`." +"For example, ``date(2002, 12, 4).isoweekday() == 3``, a Wednesday. See " +"also :meth:`weekday`, :meth:`isocalendar`." msgstr "" "Retorna o dia da semana como um inteiro, onde Segunda é 1 e Domingo é 7. Por " "exemplo, ``date(2002, 12, 4).isoweekday() == 3``, uma Quarta-feira. Veja " "também :meth:`weekday`, :meth:`isocalendar`." -#: ../../library/datetime.rst:685 +#: ../../library/datetime.rst:681 msgid "" "Return a :term:`named tuple` object with three components: ``year``, " "``week`` and ``weekday``." @@ -1190,14 +1209,14 @@ msgstr "" "Retorna um objeto :term:`tupla nomeada ` com três componentes: " "``year``, ``week`` e ``weekday``." -#: ../../library/datetime.rst:688 +#: ../../library/datetime.rst:684 msgid "" "The ISO calendar is a widely used variant of the Gregorian calendar. [#]_" msgstr "" "O calendário ISO é uma variação amplamente usada do calendário gregoriano. " "[#]_" -#: ../../library/datetime.rst:690 +#: ../../library/datetime.rst:686 msgid "" "The ISO year consists of 52 or 53 full weeks, and where a week starts on a " "Monday and ends on a Sunday. The first week of an ISO year is the first " @@ -1211,7 +1230,7 @@ msgstr "" "feira. Isso é chamado de semana número 1, e o ano ISO dessa quinta-feira é o " "mesmo que o seu ano Gregoriano." -#: ../../library/datetime.rst:695 +#: ../../library/datetime.rst:691 msgid "" "For example, 2004 begins on a Thursday, so the first week of ISO year 2004 " "begins on Monday, 29 Dec 2003 and ends on Sunday, 4 Jan 2004::" @@ -1220,52 +1239,52 @@ msgstr "" "ISO 2004 começa na segunda-feira, 29 de dezembro de 2003, e termina no " "domingo, 4 de janeiro de 2004::" -#: ../../library/datetime.rst:704 +#: ../../library/datetime.rst:700 msgid "Result changed from a tuple to a :term:`named tuple`." msgstr "" "Resultado alterado de uma tupla para uma :term:`tupla nomeada `." -#: ../../library/datetime.rst:709 +#: ../../library/datetime.rst:705 msgid "" "Return a string representing the date in ISO 8601 format, ``YYYY-MM-DD``::" msgstr "" "Retorna uma string representando a data no formato ISO 8601, ``YYYY-MM-DD``::" -#: ../../library/datetime.rst:717 +#: ../../library/datetime.rst:713 msgid "For a date *d*, ``str(d)`` is equivalent to ``d.isoformat()``." msgstr "Para uma data *d*, ``str(d)`` é equivalente a ``d.isoformat()``." -#: ../../library/datetime.rst:722 +#: ../../library/datetime.rst:718 msgid "Return a string representing the date::" msgstr "Retorna uma string representando a data::" -#: ../../library/datetime.rst:728 ../../library/datetime.rst:1503 +#: ../../library/datetime.rst:724 ../../library/datetime.rst:1515 msgid "``d.ctime()`` is equivalent to::" msgstr "``d.ctime()`` é equivalente a::" -#: ../../library/datetime.rst:732 +#: ../../library/datetime.rst:728 msgid "" -"on platforms where the native C :c:func:`ctime` function (which :func:`time." -"ctime` invokes, but which :meth:`date.ctime` does not invoke) conforms to " -"the C standard." +"on platforms where the native C :c:func:`ctime` function " +"(which :func:`time.ctime` invokes, but which :meth:`date.ctime` does not " +"invoke) conforms to the C standard." msgstr "" "em plataformas em que a função C nativa :c:func:`ctime` (que é invocada pela " "função :func:`time.ctime`, mas não pelo método :meth:`.date.ctime`) se " "conforma com o padrão C." -#: ../../library/datetime.rst:739 +#: ../../library/datetime.rst:735 msgid "" "Return a string representing the date, controlled by an explicit format " "string. Format codes referring to hours, minutes or seconds will see 0 " -"values. See also :ref:`strftime-strptime-behavior` and :meth:`date." -"isoformat`." +"values. See also :ref:`strftime-strptime-behavior` " +"and :meth:`date.isoformat`." msgstr "" "Retorna uma string representando a data, controlado por uma string explícita " "de formatação. Códigos de formatação referenciando horas, minutos ou " "segundos irão ver valores 0. Veja também :ref:`strftime-strptime-behavior` " "e :meth:`date.isoformat`." -#: ../../library/datetime.rst:746 +#: ../../library/datetime.rst:742 msgid "" "Same as :meth:`.date.strftime`. This makes it possible to specify a format " "string for a :class:`.date` object in :ref:`formatted string literals ` e ao usar :meth:`str.format`. Veja também :" -"ref:`strftime-strptime-behavior` e :meth:`date.isoformat`." +"string formatados ` e ao usar :meth:`str.format`. Veja " +"também :ref:`strftime-strptime-behavior` e :meth:`date.isoformat`." -#: ../../library/datetime.rst:752 +#: ../../library/datetime.rst:748 msgid "Examples of Usage: :class:`date`" msgstr "Exemplos de uso: :class:`.date`" -#: ../../library/datetime.rst:754 +#: ../../library/datetime.rst:750 msgid "Example of counting days to an event::" msgstr "Exemplo de contagem de dias para um evento::" -#: ../../library/datetime.rst:772 +#: ../../library/datetime.rst:768 msgid "More examples of working with :class:`date`:" msgstr "Mais exemplos de uso da classe :class:`.date`:" -#: ../../library/datetime.rst:821 +#: ../../library/datetime.rst:817 msgid ":class:`.datetime` Objects" msgstr "Objetos :class:`.datetime`" -#: ../../library/datetime.rst:823 +#: ../../library/datetime.rst:819 msgid "" "A :class:`.datetime` object is a single object containing all the " "information from a :class:`date` object and a :class:`.time` object." @@ -1301,23 +1320,23 @@ msgstr "" "Um objeto :class:`.datetime` é um único objeto contendo todas as informações " "de um objeto :class:`.date` e um objeto :class:`.time`." -#: ../../library/datetime.rst:826 +#: ../../library/datetime.rst:822 msgid "" "Like a :class:`date` object, :class:`.datetime` assumes the current " "Gregorian calendar extended in both directions; like a :class:`.time` " "object, :class:`.datetime` assumes there are exactly 3600\\*24 seconds in " "every day." msgstr "" -"Assim como um objeto :class:`date`, :class:`.datetime` assume o atual " -"calendário Gregoriano estendido em ambas as direções; assim como um objeto :" -"class:`.time`, :class:`.datetime` assume que existem exatamente 3600\\*24 " -"segundos em cada dia." +"Assim como um objeto :class:`date`, :class:`.datetime` presume o atual " +"calendário Gregoriano estendido em ambas as direções; assim como um " +"objeto :class:`.time`, :class:`.datetime` presume que existem exatamente " +"3600\\*24 segundos em cada dia." -#: ../../library/datetime.rst:830 +#: ../../library/datetime.rst:826 msgid "Constructor:" msgstr "Construtor:" -#: ../../library/datetime.rst:834 +#: ../../library/datetime.rst:830 msgid "" "The *year*, *month* and *day* arguments are required. *tzinfo* may be " "``None``, or an instance of a :class:`tzinfo` subclass. The remaining " @@ -1327,58 +1346,58 @@ msgstr "" "``None``, ou uma instância de subclasse de :class:`tzinfo`. Os argumentos " "remanescentes devem ser inteiros nos seguintes intervalos:" -#: ../../library/datetime.rst:838 +#: ../../library/datetime.rst:834 msgid "``MINYEAR <= year <= MAXYEAR``," msgstr "``MINYEAR <= year <= MAXYEAR``," -#: ../../library/datetime.rst:839 +#: ../../library/datetime.rst:835 msgid "``1 <= month <= 12``," msgstr "``1 <= month <= 12``," -#: ../../library/datetime.rst:840 +#: ../../library/datetime.rst:836 msgid "``1 <= day <= number of days in the given month and year``," msgstr "``1 <= day <= número de dias no mês e ano fornecidos``," -#: ../../library/datetime.rst:841 ../../library/datetime.rst:1667 +#: ../../library/datetime.rst:837 ../../library/datetime.rst:1679 msgid "``0 <= hour < 24``," msgstr "``0 <= hour < 24``," -#: ../../library/datetime.rst:842 ../../library/datetime.rst:1668 +#: ../../library/datetime.rst:838 ../../library/datetime.rst:1680 msgid "``0 <= minute < 60``," msgstr "``0 <= minute < 60``," -#: ../../library/datetime.rst:843 ../../library/datetime.rst:1669 +#: ../../library/datetime.rst:839 ../../library/datetime.rst:1681 msgid "``0 <= second < 60``," msgstr "``0 <= second < 60``," -#: ../../library/datetime.rst:844 ../../library/datetime.rst:1670 +#: ../../library/datetime.rst:840 ../../library/datetime.rst:1682 msgid "``0 <= microsecond < 1000000``," msgstr "``0 <= microsecond < 1000000``," -#: ../../library/datetime.rst:845 ../../library/datetime.rst:1671 +#: ../../library/datetime.rst:841 ../../library/datetime.rst:1683 msgid "``fold in [0, 1]``." msgstr "``fold in [0, 1]``." -#: ../../library/datetime.rst:849 ../../library/datetime.rst:1238 -#: ../../library/datetime.rst:1814 -msgid "Added the ``fold`` argument." -msgstr "Adicionado o argumento ``fold``." +#: ../../library/datetime.rst:845 ../../library/datetime.rst:1250 +#: ../../library/datetime.rst:1825 +msgid "Added the *fold* parameter." +msgstr "Adicionado o parâmetro *fold*." -#: ../../library/datetime.rst:856 +#: ../../library/datetime.rst:852 msgid "Return the current local datetime, with :attr:`.tzinfo` ``None``." msgstr "" "Retorna o datetime local atual, com o atributo :attr:`.tzinfo` setado para " "``None``." -#: ../../library/datetime.rst:858 +#: ../../library/datetime.rst:854 msgid "Equivalent to::" msgstr "Equivalente a::" -#: ../../library/datetime.rst:862 +#: ../../library/datetime.rst:858 msgid "See also :meth:`now`, :meth:`fromtimestamp`." msgstr "Veja também :meth:`now`, :meth:`fromtimestamp`." -#: ../../library/datetime.rst:864 +#: ../../library/datetime.rst:860 msgid "" "This method is functionally equivalent to :meth:`now`, but without a ``tz`` " "parameter." @@ -1386,41 +1405,42 @@ msgstr "" "Este método é funcionalmente equivalente a :meth:`now`, mas sem um parâmetro " "``tz``." -#: ../../library/datetime.rst:869 +#: ../../library/datetime.rst:865 msgid "Return the current local date and time." msgstr "Retorna a data e hora local atual." -#: ../../library/datetime.rst:871 +#: ../../library/datetime.rst:867 msgid "" -"If optional argument *tz* is ``None`` or not specified, this is like :meth:" -"`today`, but, if possible, supplies more precision than can be gotten from " -"going through a :func:`time.time` timestamp (for example, this may be " -"possible on platforms supplying the C :c:func:`gettimeofday` function)." +"If optional argument *tz* is ``None`` or not specified, this is " +"like :meth:`today`, but, if possible, supplies more precision than can be " +"gotten from going through a :func:`time.time` timestamp (for example, this " +"may be possible on platforms supplying the C :c:func:`gettimeofday` " +"function)." msgstr "" "Se o argumento opcional *tz* é ``None`` ou não especificado, isto é o mesmo " "que :meth:`today`, mas, se possível, fornece mais precisão do que pode ser " "obtido indo por um registro de data e hora da função :func:`time.time` (por " -"exemplo, isto pode ser possível em plataformas que fornecem a função C :c:" -"func:`gettimeofday`)." +"exemplo, isto pode ser possível em plataformas que fornecem a função " +"C :c:func:`gettimeofday`)." -#: ../../library/datetime.rst:877 +#: ../../library/datetime.rst:873 msgid "" "If *tz* is not ``None``, it must be an instance of a :class:`tzinfo` " "subclass, and the current date and time are converted to *tz*’s time zone." msgstr "" -"Se *tz* não for ``None``, ele deve ser uma instância de uma subclasse de :" -"class:`tzinfo`, e a data e hora local atual são convertidas para o fuso " +"Se *tz* não for ``None``, ele deve ser uma instância de uma subclasse " +"de :class:`tzinfo`, e a data e hora local atual são convertidas para o fuso " "horário de *tz*." -#: ../../library/datetime.rst:880 +#: ../../library/datetime.rst:876 msgid "This function is preferred over :meth:`today` and :meth:`utcnow`." msgstr "Esta função é preferida ao invés de :meth:`today` e :meth:`utcnow`." -#: ../../library/datetime.rst:885 +#: ../../library/datetime.rst:881 msgid "Return the current UTC date and time, with :attr:`.tzinfo` ``None``." msgstr "Retorna a data e hora atual em UTC, com :attr:`.tzinfo` como ``None``." -#: ../../library/datetime.rst:887 +#: ../../library/datetime.rst:883 msgid "" "This is like :meth:`now`, but returns the current UTC date and time, as a " "naive :class:`.datetime` object. An aware current UTC datetime can be " @@ -1430,7 +1450,7 @@ msgstr "" "um objeto :class:`.datetime` ingênuo. Um datetime UTC consciente pode ser " "obtido chamando ``datetime.now(timezone.utc)``. Veja também :meth:`now`." -#: ../../library/datetime.rst:893 +#: ../../library/datetime.rst:889 msgid "" "Because naive ``datetime`` objects are treated by many ``datetime`` methods " "as local times, it is preferred to use aware datetimes to represent times in " @@ -1443,7 +1463,7 @@ msgstr "" "recomendada para criar um objeto representando a hora local em UTC é " "chamando ``datetime.now(timezone.utc)``." -#: ../../library/datetime.rst:901 +#: ../../library/datetime.rst:897 msgid "" "Return the local date and time corresponding to the POSIX timestamp, such as " "is returned by :func:`time.time`. If optional argument *tz* is ``None`` or " @@ -1456,26 +1476,26 @@ msgstr "" "data e hora local da plataforma, e o objeto :class:`.datetime` retornado é " "ingênuo." -#: ../../library/datetime.rst:906 +#: ../../library/datetime.rst:902 msgid "" "If *tz* is not ``None``, it must be an instance of a :class:`tzinfo` " "subclass, and the timestamp is converted to *tz*’s time zone." msgstr "" -"Se *tz* não for ``None``, ela deve ser uma instância de uma subclasse de :" -"class:`tzinfo`, e o registro de data e hora é convertido para o fuso horário " -"de *tz*." +"Se *tz* não for ``None``, ela deve ser uma instância de uma subclasse " +"de :class:`tzinfo`, e o registro de data e hora é convertido para o fuso " +"horário de *tz*." -#: ../../library/datetime.rst:909 +#: ../../library/datetime.rst:905 msgid "" ":meth:`fromtimestamp` may raise :exc:`OverflowError`, if the timestamp is " "out of the range of values supported by the platform C :c:func:`localtime` " -"or :c:func:`gmtime` functions, and :exc:`OSError` on :c:func:`localtime` or :" -"c:func:`gmtime` failure. It's common for this to be restricted to years in " -"1970 through 2038. Note that on non-POSIX systems that include leap seconds " -"in their notion of a timestamp, leap seconds are ignored by :meth:" -"`fromtimestamp`, and then it's possible to have two timestamps differing by " -"a second that yield identical :class:`.datetime` objects. This method is " -"preferred over :meth:`utcfromtimestamp`." +"or :c:func:`gmtime` functions, and :exc:`OSError` on :c:func:`localtime` " +"or :c:func:`gmtime` failure. It's common for this to be restricted to years " +"in 1970 through 2038. Note that on non-POSIX systems that include leap " +"seconds in their notion of a timestamp, leap seconds are ignored " +"by :meth:`fromtimestamp`, and then it's possible to have two timestamps " +"differing by a second that yield identical :class:`.datetime` objects. This " +"method is preferred over :meth:`utcfromtimestamp`." msgstr "" ":meth:`fromtimestamp` pode levantar :exc:`OverflowError`, se o registro de " "data e hora estiver fora do intervalo de valores suportados pelas funções em " @@ -1488,25 +1508,25 @@ msgstr "" "apresentam objetos :class:`.datetime` idênticos. Este método é preferido " "sobre :meth:`utcfromtimestamp`." -#: ../../library/datetime.rst:920 +#: ../../library/datetime.rst:916 msgid "" "Raise :exc:`OverflowError` instead of :exc:`ValueError` if the timestamp is " "out of the range of values supported by the platform C :c:func:`localtime` " -"or :c:func:`gmtime` functions. Raise :exc:`OSError` instead of :exc:" -"`ValueError` on :c:func:`localtime` or :c:func:`gmtime` failure." +"or :c:func:`gmtime` functions. Raise :exc:`OSError` instead " +"of :exc:`ValueError` on :c:func:`localtime` or :c:func:`gmtime` failure." msgstr "" "Levanta um :exc:`OverflowError` ao invés de :exc:`ValueError` se o registro " "de data e hora estiver fora do intervalo dos valores suportados pelas " -"funções C :c:func:`localtime` ou :c:func:`gmtime` da plataforma. Levanta :" -"exc:`OSError` ao invés de :exc:`ValueError` em falhas de :c:func:`localtime` " -"ou :c:func:`gmtime`." +"funções C :c:func:`localtime` ou :c:func:`gmtime` da plataforma. " +"Levanta :exc:`OSError` ao invés de :exc:`ValueError` em falhas " +"de :c:func:`localtime` ou :c:func:`gmtime`." -#: ../../library/datetime.rst:927 +#: ../../library/datetime.rst:923 msgid ":meth:`fromtimestamp` may return instances with :attr:`.fold` set to 1." msgstr "" ":meth:`fromtimestamp` pode retornar instâncias com :attr:`.fold` igual a 1." -#: ../../library/datetime.rst:932 +#: ../../library/datetime.rst:928 msgid "" "Return the UTC :class:`.datetime` corresponding to the POSIX timestamp, " "with :attr:`.tzinfo` ``None``. (The resulting object is naive.)" @@ -1515,40 +1535,40 @@ msgstr "" "POSIX, com :attr:`.tzinfo` setado para ``None``. (O objeto resultante é " "ingênuo.)" -#: ../../library/datetime.rst:935 +#: ../../library/datetime.rst:931 msgid "" "This may raise :exc:`OverflowError`, if the timestamp is out of the range of " -"values supported by the platform C :c:func:`gmtime` function, and :exc:" -"`OSError` on :c:func:`gmtime` failure. It's common for this to be restricted " -"to years in 1970 through 2038." +"values supported by the platform C :c:func:`gmtime` function, " +"and :exc:`OSError` on :c:func:`gmtime` failure. It's common for this to be " +"restricted to years in 1970 through 2038." msgstr "" "Isso pode levantar :exc:`OverflowError`, se o registro de data e hora " -"estiver fora do intervalo de valores suportados pela função C :c:func:" -"`gmtime` da plataforma, e em caso de falha :exc:`OSError` em :c:func:" -"`gmtime`. É comum que isso seja restrito a anos de 1970 a 2038." +"estiver fora do intervalo de valores suportados pela função " +"C :c:func:`gmtime` da plataforma, e em caso de falha :exc:`OSError` " +"em :c:func:`gmtime`. É comum que isso seja restrito a anos de 1970 a 2038." -#: ../../library/datetime.rst:940 +#: ../../library/datetime.rst:936 msgid "To get an aware :class:`.datetime` object, call :meth:`fromtimestamp`::" msgstr "" -"Para conseguir um objeto :class:`.datetime` consciente, chame :meth:" -"`fromtimestamp`::" +"Para conseguir um objeto :class:`.datetime` consciente, " +"chame :meth:`fromtimestamp`::" -#: ../../library/datetime.rst:944 +#: ../../library/datetime.rst:940 msgid "" "On the POSIX compliant platforms, it is equivalent to the following " "expression::" msgstr "" "Nas plataformas compatíveis com POSIX, é equivalente à seguinte expressão::" -#: ../../library/datetime.rst:949 +#: ../../library/datetime.rst:945 msgid "" -"except the latter formula always supports the full years range: between :" -"const:`MINYEAR` and :const:`MAXYEAR` inclusive." +"except the latter formula always supports the full years range: " +"between :const:`MINYEAR` and :const:`MAXYEAR` inclusive." msgstr "" "com a exceção de que a última fórmula sempre dá suporte ao intervalo " "completo de anos: entre :const:`MINYEAR` e :const:`MAXYEAR` inclusive." -#: ../../library/datetime.rst:954 +#: ../../library/datetime.rst:950 msgid "" "Because naive ``datetime`` objects are treated by many ``datetime`` methods " "as local times, it is preferred to use aware datetimes to represent times in " @@ -1560,22 +1580,22 @@ msgstr "" "métodos ``datetime`` como hora local, é preferível usar datetimes " "conscientes para representar horas em UTC. De tal forma, a maneira " "recomendada para criar um objeto representando um registro de data e hora " -"específico em UTC é chamando ``datetime.fromtimestamp(timestamp, tz=timezone." -"utc)``." +"específico em UTC é chamando ``datetime.fromtimestamp(timestamp, " +"tz=timezone.utc)``." -#: ../../library/datetime.rst:960 +#: ../../library/datetime.rst:956 msgid "" "Raise :exc:`OverflowError` instead of :exc:`ValueError` if the timestamp is " "out of the range of values supported by the platform C :c:func:`gmtime` " -"function. Raise :exc:`OSError` instead of :exc:`ValueError` on :c:func:" -"`gmtime` failure." +"function. Raise :exc:`OSError` instead of :exc:`ValueError` " +"on :c:func:`gmtime` failure." msgstr "" "Levanta :exc:`OverflowError` ao invés de :exc:`ValueError` se o registro de " -"data e hora estiver fora do intervalo de valores suportados pela função C :c:" -"func:`gmtime` da plataforma. Levanta :exc:`OSError` ao invés de :exc:" -"`ValueError` em caso de falha :c:func:`gmtime`." +"data e hora estiver fora do intervalo de valores suportados pela função " +"C :c:func:`gmtime` da plataforma. Levanta :exc:`OSError` ao invés " +"de :exc:`ValueError` em caso de falha :c:func:`gmtime`." -#: ../../library/datetime.rst:969 +#: ../../library/datetime.rst:965 msgid "" "Return the :class:`.datetime` corresponding to the proleptic Gregorian " "ordinal, where January 1 of year 1 has ordinal 1. :exc:`ValueError` is " @@ -1586,10 +1606,10 @@ msgstr "" "Retorna um :class:`.datetime` correspondente ao ordinal proléptico " "Gregoriano, onde 1º de janeiro do ano 1 tem ordinal 1. :exc:`ValueError` é " "levantado a não ser que ``1 <= ordinal <= datetime.max.toordinal()``. As " -"horas, minutos, segundos e micro segundos do resultado são todos 0, e :attr:" -"`.tzinfo` é ``None``." +"horas, minutos, segundos e micro segundos do resultado são todos 0, " +"e :attr:`.tzinfo` é ``None``." -#: ../../library/datetime.rst:977 +#: ../../library/datetime.rst:973 msgid "" "Return a new :class:`.datetime` object whose date components are equal to " "the given :class:`date` object's, and whose time components are equal to the " @@ -1604,21 +1624,22 @@ msgstr "" "resultado, caso contrário o atributo :attr:`~.time.tzinfo` do argumento " "*time* é usado." -#: ../../library/datetime.rst:984 +#: ../../library/datetime.rst:980 msgid "" -"For any :class:`.datetime` object *d*, ``d == datetime.combine(d.date(), d." -"time(), d.tzinfo)``. If date is a :class:`.datetime` object, its time " +"For any :class:`.datetime` object *d*, ``d == datetime.combine(d.date(), " +"d.time(), d.tzinfo)``. If date is a :class:`.datetime` object, its time " "components and :attr:`.tzinfo` attributes are ignored." msgstr "" -"Para qualquer objeto :class:`.datetime` *d*, ``d == datetime.combine(d." -"date(), d.time(), d.tzinfo)``. Se date é um objeto :class:`.datetime`, seus " -"componentes de hora e atributos :attr:`.tzinfo` são ignorados." +"Para qualquer objeto :class:`.datetime` *d*, ``d == " +"datetime.combine(d.date(), d.time(), d.tzinfo)``. Se date é um " +"objeto :class:`.datetime`, seus componentes de hora e " +"atributos :attr:`.tzinfo` são ignorados." -#: ../../library/datetime.rst:989 +#: ../../library/datetime.rst:985 msgid "Added the *tzinfo* argument." msgstr "Adicionado o argumento *tzinfo*." -#: ../../library/datetime.rst:995 +#: ../../library/datetime.rst:991 msgid "" "Return a :class:`.datetime` corresponding to a *date_string* in any valid " "ISO 8601 format, with the following exceptions:" @@ -1626,32 +1647,23 @@ msgstr "" "Retorna um :class:`.datetime` correspondendo a *date_string* em qualquer " "formato válido de ISO 8601, com as seguintes exceções:" -#: ../../library/datetime.rst:998 ../../library/datetime.rst:1770 +#: ../../library/datetime.rst:994 ../../library/datetime.rst:1779 msgid "Time zone offsets may have fractional seconds." msgstr "Os deslocamentos de fuso horário podem ter segundos fracionários." -#: ../../library/datetime.rst:999 +#: ../../library/datetime.rst:995 msgid "The ``T`` separator may be replaced by any single unicode character." msgstr "" "O separador ``T`` pode ser substituído por qualquer caractere unicode único." -#: ../../library/datetime.rst:1000 -msgid "Ordinal dates are not currently supported." -msgstr "Atualmente, as datas ordinais não são suportadas." - -#: ../../library/datetime.rst:1001 ../../library/datetime.rst:1775 +#: ../../library/datetime.rst:996 ../../library/datetime.rst:1784 msgid "Fractional hours and minutes are not supported." msgstr "Horas e minutos fracionários não são suportados." -#: ../../library/datetime.rst:1003 ../../library/datetime.rst:1432 -#: ../../library/datetime.rst:1777 -msgid "Examples::" -msgstr "Exemplos::" - #: ../../library/datetime.rst:1027 msgid "" -"Previously, this method only supported formats that could be emitted by :" -"meth:`date.isoformat()` or :meth:`datetime.isoformat()`." +"Previously, this method only supported formats that could be emitted " +"by :meth:`date.isoformat()` or :meth:`datetime.isoformat()`." msgstr "" "Anteriormente, este método suportava apenas formatos que podiam ser emitidos " "por :meth:`date.isoformat()` ou :meth:`datetime.isoformat()`." @@ -1660,8 +1672,8 @@ msgstr "" msgid "" "Return a :class:`.datetime` corresponding to the ISO calendar date specified " "by year, week and day. The non-date components of the datetime are populated " -"with their normal default values. This is the inverse of the function :meth:" -"`datetime.isocalendar`." +"with their normal default values. This is the inverse of the " +"function :meth:`datetime.isocalendar`." msgstr "" "Retorna um :class:`.datetime` correspondente à data no calendário ISO " "especificada por *year*, *week* e *day*. Os componentes não-data do datetime " @@ -1688,13 +1700,13 @@ msgstr "" msgid "" ":exc:`ValueError` is raised if the date_string and format can't be parsed " "by :func:`time.strptime` or if it returns a value which isn't a time tuple. " -"See also :ref:`strftime-strptime-behavior` and :meth:`datetime." -"fromisoformat`." +"See also :ref:`strftime-strptime-behavior` " +"and :meth:`datetime.fromisoformat`." msgstr "" ":exc:`ValueError` é levantado se o date_string e o format não puderem ser " "interpretados por :func:`time.strptime` ou se ele retorna um valor o qual " -"não é uma tupla temporal. Veja também :ref:`strftime-strptime-behavior` e :" -"meth:`datetime.fromisoformat`." +"não é uma tupla temporal. Veja também :ref:`strftime-strptime-behavior` " +"e :meth:`datetime.fromisoformat`." #: ../../library/datetime.rst:1061 msgid "" @@ -1720,16 +1732,16 @@ msgstr "" "A menor diferença possível entre objetos :class:`.datetime` diferentes, " "``timedelta(microseconds=1)``." -#: ../../library/datetime.rst:1096 ../../library/datetime.rst:1700 +#: ../../library/datetime.rst:1096 ../../library/datetime.rst:1712 msgid "In ``range(24)``." msgstr "No intervalo ``range(24)``." #: ../../library/datetime.rst:1101 ../../library/datetime.rst:1106 -#: ../../library/datetime.rst:1705 ../../library/datetime.rst:1710 +#: ../../library/datetime.rst:1717 ../../library/datetime.rst:1722 msgid "In ``range(60)``." msgstr "No intervalo ``range(60)``." -#: ../../library/datetime.rst:1111 ../../library/datetime.rst:1715 +#: ../../library/datetime.rst:1111 ../../library/datetime.rst:1727 msgid "In ``range(1000000)``." msgstr "No intervalo ``range(1000000)``." @@ -1741,7 +1753,7 @@ msgstr "" "O objeto passado como o argumento *tzinfo* do construtor :class:`.datetime`, " "ou ``None`` se nada foi passado." -#: ../../library/datetime.rst:1122 ../../library/datetime.rst:1726 +#: ../../library/datetime.rst:1122 ../../library/datetime.rst:1738 msgid "" "In ``[0, 1]``. Used to disambiguate wall times during a repeated interval. " "(A repeated interval occurs when clocks are rolled back at the end of " @@ -1759,10 +1771,10 @@ msgstr "" msgid "``datetime2 = datetime1 + timedelta``" msgstr "``datetime2 = datetime1 + timedelta``" -#: ../../library/datetime.rst:1135 ../../library/datetime.rst:2334 -#: ../../library/datetime.rst:2339 ../../library/datetime.rst:2351 -#: ../../library/datetime.rst:2356 ../../library/datetime.rst:2416 -#: ../../library/datetime.rst:2421 ../../library/datetime.rst:2425 +#: ../../library/datetime.rst:1135 ../../library/datetime.rst:2348 +#: ../../library/datetime.rst:2353 ../../library/datetime.rst:2365 +#: ../../library/datetime.rst:2370 ../../library/datetime.rst:2430 +#: ../../library/datetime.rst:2435 ../../library/datetime.rst:2439 msgid "\\(1)" msgstr "\\(1)" @@ -1770,7 +1782,7 @@ msgstr "\\(1)" msgid "``datetime2 = datetime1 - timedelta``" msgstr "``datetime2 = datetime1 - timedelta``" -#: ../../library/datetime.rst:1137 ../../library/datetime.rst:2367 +#: ../../library/datetime.rst:1137 ../../library/datetime.rst:2381 msgid "\\(2)" msgstr "\\(2)" @@ -1778,15 +1790,31 @@ msgstr "\\(2)" msgid "``timedelta = datetime1 - datetime2``" msgstr "``timedelta = datetime1 - datetime2``" -#: ../../library/datetime.rst:1141 +#: ../../library/datetime.rst:0 +msgid "``datetime1 == datetime2``" +msgstr "``datetime1 == datetime2``" + +#: ../../library/datetime.rst:0 +msgid "``datetime1 != datetime2``" +msgstr "``datetime1 != datetime2``" + +#: ../../library/datetime.rst:0 msgid "``datetime1 < datetime2``" msgstr "``datetime1 < datetime2``" -#: ../../library/datetime.rst:1141 -msgid "Compares :class:`.datetime` to :class:`.datetime`. (4)" -msgstr "Compara um :class:`.datetime` a um :class:`.datetime`. (4)" +#: ../../library/datetime.rst:0 +msgid "``datetime1 > datetime2``" +msgstr "``datetime1 > datetime2``" + +#: ../../library/datetime.rst:0 +msgid "``datetime1 <= datetime2``" +msgstr "``datetime1 <= datetime2``" + +#: ../../library/datetime.rst:0 +msgid "``datetime1 >= datetime2``" +msgstr "``datetime1 >= datetime2``" -#: ../../library/datetime.rst:1146 +#: ../../library/datetime.rst:1151 msgid "" "datetime2 is a duration of timedelta removed from datetime1, moving forward " "in time if ``timedelta.days`` > 0, or backward if ``timedelta.days`` < 0. " @@ -1797,14 +1825,15 @@ msgid "" "the input is an aware object." msgstr "" "datetime2 representa a duração de timedelta removido de datetime1, movendo o " -"tempo para frente se ``timedelta.days`` > 0, ou para trás se ``timedelta." -"days`` < 0. O resultado tem o mesmo atributo :attr:`~.datetime.tzinfo` que o " -"datetime de entrada, e datetime2 - datetime1 == timedelta após. :exc:" -"`OverflowError` é levantado se datetime2.year fosse menor que :const:" -"`MINYEAR` ou maior que :const:`MAXYEAR`. Perceba que nenhum ajuste no fuso " -"horário é feito mesmo se a entrada é um objeto consciente disso." +"tempo para frente se ``timedelta.days`` > 0, ou para trás se " +"``timedelta.days`` < 0. O resultado tem o mesmo " +"atributo :attr:`~.datetime.tzinfo` que o datetime de entrada, e datetime2 - " +"datetime1 == timedelta após. :exc:`OverflowError` é levantado se " +"datetime2.year fosse menor que :const:`MINYEAR` ou maior " +"que :const:`MAXYEAR`. Perceba que nenhum ajuste no fuso horário é feito " +"mesmo se a entrada é um objeto consciente disso." -#: ../../library/datetime.rst:1155 +#: ../../library/datetime.rst:1160 msgid "" "Computes the datetime2 such that datetime2 + timedelta == datetime1. As for " "addition, the result has the same :attr:`~.datetime.tzinfo` attribute as the " @@ -1816,7 +1845,7 @@ msgstr "" "datetime de entrada, e nenhum ajuste de fuso horário é feito mesmo que a " "entrada seja consciente disso." -#: ../../library/datetime.rst:1160 +#: ../../library/datetime.rst:1165 msgid "" "Subtraction of a :class:`.datetime` from a :class:`.datetime` is defined " "only if both operands are naive, or if both are aware. If one is aware and " @@ -1826,67 +1855,108 @@ msgstr "" "apenas se ambos os operandos são ingênuos, ou se ambos são conscientes. Se " "um deles é consciente e o outro é ingênuo, :exc:`TypeError` é levantado." -#: ../../library/datetime.rst:1164 +#: ../../library/datetime.rst:1169 msgid "" -"If both are naive, or both are aware and have the same :attr:`~.datetime." -"tzinfo` attribute, the :attr:`~.datetime.tzinfo` attributes are ignored, and " -"the result is a :class:`timedelta` object *t* such that ``datetime2 + t == " -"datetime1``. No time zone adjustments are done in this case." +"If both are naive, or both are aware and have the " +"same :attr:`~.datetime.tzinfo` attribute, the :attr:`~.datetime.tzinfo` " +"attributes are ignored, and the result is a :class:`timedelta` object *t* " +"such that ``datetime2 + t == datetime1``. No time zone adjustments are done " +"in this case." msgstr "" -"Se ambos são ingênuos, ou ambos são conscientes e tem o mesmo atributo :attr:" -"`~.datetime.tzinfo`, os atributos :attr:`~.datetime.tzinfo` são ignorados, e " -"o resultado é um objeto *t* do tipo :class:`timedelta`, tal que ``datetime2 " -"+ t == datetime1``. Nenhum ajuste de fuso horário é feito neste caso." +"Se ambos são ingênuos, ou ambos são conscientes e tem o mesmo " +"atributo :attr:`~.datetime.tzinfo`, os atributos :attr:`~.datetime.tzinfo` " +"são ignorados, e o resultado é um objeto *t* do tipo :class:`timedelta`, tal " +"que ``datetime2 + t == datetime1``. Nenhum ajuste de fuso horário é feito " +"neste caso." -#: ../../library/datetime.rst:1169 +#: ../../library/datetime.rst:1174 msgid "" "If both are aware and have different :attr:`~.datetime.tzinfo` attributes, " -"``a-b`` acts as if *a* and *b* were first converted to naive UTC datetimes " -"first. The result is ``(a.replace(tzinfo=None) - a.utcoffset()) - (b." -"replace(tzinfo=None) - b.utcoffset())`` except that the implementation never " -"overflows." +"``a-b`` acts as if *a* and *b* were first converted to naive UTC datetimes. " +"The result is ``(a.replace(tzinfo=None) - a.utcoffset()) - " +"(b.replace(tzinfo=None) - b.utcoffset())`` except that the implementation " +"never overflows." msgstr "" -"Se ambas são conscientes e tem atributos :attr:`~.datetime.tzinfo` " +"Se ambas são conscientes e têm atributos :attr:`~.datetime.tzinfo` " "diferentes, ``a-b`` age como se *a* e *b* foram primeiro convertidas para " -"datetimes ingênuas em UTC. O resultado é ``(a.replace(tzinfo=None) - a." -"utcoffset()) - (b.replace(tzinfo=None) - b.utcoffset())`` exceto que a a " +"datetimes ingênuas em UTC. O resultado é ``(a.replace(tzinfo=None) - " +"a.utcoffset()) - (b.replace(tzinfo=None) - b.utcoffset())`` exceto que a a " "implementação nunca ultrapassa o limite." -#: ../../library/datetime.rst:1175 +#: ../../library/datetime.rst:1180 +msgid "" +":class:`.datetime` objects are equal if they represent the same date and " +"time, taking into account the time zone." +msgstr "" +"Objetos :class:`.datetime` são iguais se representarem a mesma data e hora, " +"levando em consideração o fuso horário." + +#: ../../library/datetime.rst:1183 +msgid "" +"Naive and aware :class:`!datetime` objects are never equal. :class:`!" +"datetime` objects are never equal to :class:`date` objects that are not " +"also :class:`!datetime` instances, even if they represent the same date." +msgstr "" +"Objetos :class:`!datetime` ingênuos e conscientes nunca são iguais. " +"Objetos :class:`!datetime` nunca são iguais a objetos :class:`date` que " +"também não são instâncias de :class:`!datetime`, mesmo que representem a " +"mesma data." + +#: ../../library/datetime.rst:1188 +msgid "" +"If both comparands are aware, and have the same :attr:`!tzinfo` attribute, " +"the :attr:`!tzinfo` and :attr:`~.datetime.fold` attributes are ignored and " +"the base datetimes are compared. If both comparands are aware and have " +"different :attr:`~.datetime.tzinfo` attributes, the comparison acts as " +"comparands were first converted to UTC datetimes except that the " +"implementation never overflows. :class:`!datetime` instances in a repeated " +"interval are never equal to :class:`!datetime` instances in other time zone." +msgstr "" +"Se ambos os comparandos forem conscientes e tiverem o mesmo atributo :attr:`!" +"tzinfo`, os atributos :attr:`!tzinfo` e :attr:`~.datetime.fold` serão " +"ignorados e os datetimes base serão comparados. Se ambos os comparandos " +"forem conscientes e tiverem atributos :attr:`~.datetime.tzinfo` diferentes, " +"a comparação atua como se os comparandos fossem primeiro convertidos para " +"datetimes UTC, exceto que a implementação nunca estoura. Instâncias :class:`!" +"datetime` em um intervalo repetido nunca são iguais a instâncias :class:`!" +"datetime` em outro fuso horário." + +#: ../../library/datetime.rst:1198 msgid "" "*datetime1* is considered less than *datetime2* when *datetime1* precedes " -"*datetime2* in time." +"*datetime2* in time, taking into account the time zone." msgstr "" "*datetime1* é considerado menor que *datetime2* quando *datetime1* precede " -"*datetime2* no tempo." +"*datetime2* no tempo. levando em consideração o fuso horário." -#: ../../library/datetime.rst:1178 +#: ../../library/datetime.rst:1201 msgid "" -"If one comparand is naive and the other is aware, :exc:`TypeError` is raised " -"if an order comparison is attempted. For equality comparisons, naive " -"instances are never equal to aware instances." +"Order comparison between naive and aware :class:`.datetime` objects, as well " +"as a :class:`!datetime` object and a :class:`!date` object that is not also " +"a :class:`!datetime` instance, raises :exc:`TypeError`." msgstr "" -"Se um comparando é ingênuo e o outro é consciente, :exc:`TypeError` é " -"levantado ao tentar uma comparação de ordem. Para comparações de igualdade, " -"instâncias ingênuas nunca são iguais a instâncias conscientes." +"A comparação de ordens entre objetos :class:`.datetime` ingênuos e " +"conscientes, bem como um objeto :class:`!datetime` e um objeto :class:`!" +"date` que também não é uma instância :class:`!datetime`, " +"gera :exc:`TypeError`." -#: ../../library/datetime.rst:1182 +#: ../../library/datetime.rst:1205 msgid "" -"If both comparands are aware, and have the same :attr:`~.datetime.tzinfo` " -"attribute, the common :attr:`~.datetime.tzinfo` attribute is ignored and the " -"base datetimes are compared. If both comparands are aware and have " -"different :attr:`~.datetime.tzinfo` attributes, the comparands are first " -"adjusted by subtracting their UTC offsets (obtained from ``self." -"utcoffset()``)." +"If both comparands are aware, and have the same :attr:`!tzinfo` attribute, " +"the :attr:`!tzinfo` and :attr:`~.datetime.fold` attributes are ignored and " +"the base datetimes are compared. If both comparands are aware and have " +"different :attr:`~.datetime.tzinfo` attributes, the comparison acts as " +"comparands were first converted to UTC datetimes except that the " +"implementation never overflows." msgstr "" -"Se ambos os comparandos são conscientes, e tem o mesmo atributo :attr:`~." -"datetime.tzinfo`, o atributo comum :attr:`~.datetime.tzinfo` é ignorado e os " -"datetimes base são comparados. Se ambos os comparandos são conscientes e tem " -"atributos :attr:`~.datetime.tzinfo` diferentes, os comparandos são primeiro " -"ajustados subtraindo sua diferença em UTC (obtida através de ``self." -"utcoffset()``)." +"Se ambos os comparandos forem conscientes e tiverem o mesmo atributo :attr:`!" +"tzinfo`, os atributos :attr:`!tzinfo` e :attr:`~.datetime.fold` serão " +"ignorados e os datetimes base serão comparados. Se ambos os comparandos " +"forem conscientes e tiverem atributos :attr:`~.datetime.tzinfo` diferentes, " +"a comparação atua como se os comparandos fossem primeiro convertidos para " +"datetimes UTC, exceto que a implementação nunca estoura." -#: ../../library/datetime.rst:1188 +#: ../../library/datetime.rst:1212 msgid "" "Equality comparisons between aware and naive :class:`.datetime` instances " "don't raise :exc:`TypeError`." @@ -1894,33 +1964,11 @@ msgstr "" "Comparações de igualdade entre instâncias de :class:`.datetime` conscientes " "e nativas não levantam :exc:`TypeError`." -#: ../../library/datetime.rst:1194 -msgid "" -"In order to stop comparison from falling back to the default scheme of " -"comparing object addresses, datetime comparison normally raises :exc:" -"`TypeError` if the other comparand isn't also a :class:`.datetime` object. " -"However, ``NotImplemented`` is returned instead if the other comparand has " -"a :meth:`timetuple` attribute. This hook gives other kinds of date objects a " -"chance at implementing mixed-type comparison. If not, when a :class:`." -"datetime` object is compared to an object of a different type, :exc:" -"`TypeError` is raised unless the comparison is ``==`` or ``!=``. The latter " -"cases return :const:`False` or :const:`True`, respectively." -msgstr "" -"Para impedir comparações de caírem de volta no esquema padrão de comparação " -"de endereços de objetos, comparações de datetimes normalmente levantam :exc:" -"`TypeError` se o outro comparando não é também um objeto :class:`.datetime`. " -"Entretanto, ``NotImplemented`` é retornado ao invés se o outro comparando " -"tem um atributo :meth:`timetuple`. Este gancho dá a outros tipos de objetos " -"de data a chance de implementar comparações de tipo misto. Se não, quando um " -"objeto :class:`.datetime` é comparado com um objeto de tipo diferente, :exc:" -"`TypeError` é levantado a não ser que a comparação seja ``==`` ou ``!=``. Os " -"últimos casos retornam :const:`False` ou :const:`True`, respectivamente." - -#: ../../library/datetime.rst:1208 +#: ../../library/datetime.rst:1220 msgid "Return :class:`date` object with same year, month and day." msgstr "Retorna um objeto :class:`date` com o mesmo ano, mês e dia." -#: ../../library/datetime.rst:1213 +#: ../../library/datetime.rst:1225 msgid "" "Return :class:`.time` object with same hour, minute, second, microsecond and " "fold. :attr:`.tzinfo` is ``None``. See also method :meth:`timetz`." @@ -1929,11 +1977,11 @@ msgstr "" "microssegundo e fold. O atributo :attr:`.tzinfo` é ``None``. Veja também o " "método :meth:`.timetz`." -#: ../../library/datetime.rst:1216 ../../library/datetime.rst:1225 +#: ../../library/datetime.rst:1228 ../../library/datetime.rst:1237 msgid "The fold value is copied to the returned :class:`.time` object." msgstr "O valor fold é copiado para o objeto :class:`.time` retornado." -#: ../../library/datetime.rst:1222 +#: ../../library/datetime.rst:1234 msgid "" "Return :class:`.time` object with same hour, minute, second, microsecond, " "fold, and tzinfo attributes. See also method :meth:`time`." @@ -1941,7 +1989,7 @@ msgstr "" "Retorna um objeto :class:`.time` com os mesmos atributos de hora, minuto, " "segundo, microssegundo, fold e tzinfo. Veja também o método :meth:`time`." -#: ../../library/datetime.rst:1233 +#: ../../library/datetime.rst:1245 msgid "" "Return a datetime with the same attributes, except for those attributes " "given new values by whichever keyword arguments are specified. Note that " @@ -1954,7 +2002,7 @@ msgstr "" "um datetime ingênuo a partir de um datetime consciente, sem conversão de " "dados da data ou hora." -#: ../../library/datetime.rst:1244 +#: ../../library/datetime.rst:1256 msgid "" "Return a :class:`.datetime` object with new :attr:`.tzinfo` attribute *tz*, " "adjusting the date and time data so the result is the same UTC time as " @@ -1964,7 +2012,7 @@ msgstr "" "definido por *tz*, ajustando a data e hora de forma que o resultado seja o " "mesmo horário UTC que *self*, mas na hora local de *tz*." -#: ../../library/datetime.rst:1248 +#: ../../library/datetime.rst:1260 msgid "" "If provided, *tz* must be an instance of a :class:`tzinfo` subclass, and " "its :meth:`utcoffset` and :meth:`dst` methods must not return ``None``. If " @@ -1975,7 +2023,7 @@ msgstr "" "Se *self* for ingênuo, é presumido que ele representa o tempo no fuso " "horário do sistema." -#: ../../library/datetime.rst:1252 +#: ../../library/datetime.rst:1264 msgid "" "If called without arguments (or with ``tz=None``) the system local timezone " "is assumed for the target timezone. The ``.tzinfo`` attribute of the " @@ -1984,11 +2032,11 @@ msgid "" msgstr "" "Se for chamado sem argumentos (ou com ``tz=None``) o fuso horário do sistema " "local é assumido como o fuso horário desejado. O atributo ``.tzinfo`` da " -"instância datetime convertida será definido para uma instância de :class:" -"`timezone` com o nome da zona e um deslocamento obtido a partir do sistema " -"operacional." +"instância datetime convertida será definido para uma instância " +"de :class:`timezone` com o nome da zona e um deslocamento obtido a partir do " +"sistema operacional." -#: ../../library/datetime.rst:1257 +#: ../../library/datetime.rst:1269 msgid "" "If ``self.tzinfo`` is *tz*, ``self.astimezone(tz)`` is equal to *self*: no " "adjustment of date or time data is performed. Else the result is local time " @@ -1999,11 +2047,11 @@ msgstr "" "Se ``self.tzinfo`` for *tz*, ``self.astimezone(tz)`` é igual a *self*: " "nenhum ajuste nos dados de data ou hora é realizado. Caso contrário o " "resultado é a hora local no fuso horário *tz*, representando a mesma hora " -"UTC que *self*: depois ``astz = dt.astimezone(tz)``, ``astz - astz." -"utcoffset()`` terá os mesmos dados de data e hora que ``dt - dt." -"utcoffset()``." +"UTC que *self*: depois ``astz = dt.astimezone(tz)``, ``astz - " +"astz.utcoffset()`` terá os mesmos dados de data e hora que ``dt - " +"dt.utcoffset()``." -#: ../../library/datetime.rst:1263 +#: ../../library/datetime.rst:1275 msgid "" "If you merely want to attach a time zone object *tz* to a datetime *dt* " "without adjustment of date and time data, use ``dt.replace(tzinfo=tz)``. If " @@ -2013,25 +2061,25 @@ msgstr "" "Se você quer meramente anexar um objeto de fuso horário *tz* a um datetime " "*dt* sem ajustes de dados de data e hora, use ``dt.replace(tzinfo=tz)``. Se " "você meramente quer remover o objeto de fuso horário de um datetime " -"consciente *dt* sem conversão de dados de data e hora, use ``dt." -"replace(tzinfo=None)``." +"consciente *dt* sem conversão de dados de data e hora, use " +"``dt.replace(tzinfo=None)``." -#: ../../library/datetime.rst:1268 +#: ../../library/datetime.rst:1280 msgid "" -"Note that the default :meth:`tzinfo.fromutc` method can be overridden in a :" -"class:`tzinfo` subclass to affect the result returned by :meth:`astimezone`. " -"Ignoring error cases, :meth:`astimezone` acts like::" +"Note that the default :meth:`tzinfo.fromutc` method can be overridden in " +"a :class:`tzinfo` subclass to affect the result returned " +"by :meth:`astimezone`. Ignoring error cases, :meth:`astimezone` acts like::" msgstr "" "Perceba que o método padrão :meth:`tzinfo.fromutc` pode ser substituído em " -"uma subclasse :class:`tzinfo` para afetar o resultado retornado por :meth:" -"`astimezone`. Ignorando erros de letras maiúsculas/minúsculas, :meth:" -"`astimezone` funciona como::" +"uma subclasse :class:`tzinfo` para afetar o resultado retornado " +"por :meth:`astimezone`. Ignorando erros de letras maiúsculas/" +"minúsculas, :meth:`astimezone` funciona como::" -#: ../../library/datetime.rst:1280 +#: ../../library/datetime.rst:1292 msgid "*tz* now can be omitted." msgstr "*tz* agora pode ser omitido." -#: ../../library/datetime.rst:1283 +#: ../../library/datetime.rst:1295 msgid "" "The :meth:`astimezone` method can now be called on naive instances that are " "presumed to represent system local time." @@ -2039,133 +2087,126 @@ msgstr "" "O método :meth:`astimezone` agora pode ser chamado em instâncias ingênuas " "que presumidamente representam a hora local do sistema." -#: ../../library/datetime.rst:1290 +#: ../../library/datetime.rst:1302 msgid "" -"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." -"utcoffset(self)``, and raises an exception if the latter doesn't return " -"``None`` or a :class:`timedelta` object with magnitude less than one day." +"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns " +"``self.tzinfo.utcoffset(self)``, and raises an exception if the latter " +"doesn't return ``None`` or a :class:`timedelta` object with magnitude less " +"than one day." msgstr "" "Se :attr:`.tzinfo` for ``None``, retorna ``None``, caso contrário retorna " "``self.tzinfo.utcoffset(self)``, e levanta uma exceção se o segundo não " "retornar ``None`` ou um objeto :class:`timedelta` com magnitude menor que um " "dia." -#: ../../library/datetime.rst:1294 ../../library/datetime.rst:1887 -#: ../../library/datetime.rst:1993 ../../library/datetime.rst:2238 -#: ../../library/datetime.rst:2250 ../../library/datetime.rst:2552 +#: ../../library/datetime.rst:1306 ../../library/datetime.rst:1898 +#: ../../library/datetime.rst:2005 ../../library/datetime.rst:2250 +#: ../../library/datetime.rst:2262 ../../library/datetime.rst:2566 msgid "The UTC offset is not restricted to a whole number of minutes." msgstr "A diferença UTC não é restrita a um número completo de minutos." -#: ../../library/datetime.rst:1300 +#: ../../library/datetime.rst:1312 msgid "" -"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." -"dst(self)``, and raises an exception if the latter doesn't return ``None`` " -"or a :class:`timedelta` object with magnitude less than one day." +"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns " +"``self.tzinfo.dst(self)``, and raises an exception if the latter doesn't " +"return ``None`` or a :class:`timedelta` object with magnitude less than one " +"day." msgstr "" "Se :attr:`.tzinfo` for ``None``, retorna ``None``, caso contrário retorna " "``self.tzinfo.dst(self)``, e levanta uma exceção se o segundo não retornar " "``None`` ou um objeto :class:`timedelta` com magnitude menor que um dia." -#: ../../library/datetime.rst:1304 ../../library/datetime.rst:1897 -#: ../../library/datetime.rst:2047 +#: ../../library/datetime.rst:1316 ../../library/datetime.rst:1908 +#: ../../library/datetime.rst:2059 msgid "The DST offset is not restricted to a whole number of minutes." msgstr "" "A diferença de horário de verão não é restrita a um número completo de " "minutos." -#: ../../library/datetime.rst:1310 +#: ../../library/datetime.rst:1322 msgid "" -"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." -"tzname(self)``, raises an exception if the latter doesn't return ``None`` or " -"a string object," +"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns " +"``self.tzinfo.tzname(self)``, raises an exception if the latter doesn't " +"return ``None`` or a string object," msgstr "" "Se :attr:`.tzinfo` for ``None``, retorna ``None``, caso contrário retorna " "``self.tzinfo.tzname(self)``, levanta uma exceção se o segundo não retornar " "``None`` ou um objeto string." -#: ../../library/datetime.rst:1325 +#: ../../library/datetime.rst:1337 msgid "" "where ``yday = d.toordinal() - date(d.year, 1, 1).toordinal() + 1`` is the " -"day number within the current year starting with ``1`` for January 1st. The :" -"attr:`tm_isdst` flag of the result is set according to the :meth:`dst` " -"method: :attr:`.tzinfo` is ``None`` or :meth:`dst` returns ``None``, :attr:" -"`tm_isdst` is set to ``-1``; else if :meth:`dst` returns a non-zero value, :" -"attr:`tm_isdst` is set to ``1``; else :attr:`tm_isdst` is set to ``0``." -msgstr "" -"onde ``yday = d.toordinal() - date(d.year, 1, 1).toordinal() + 1`` é o " -"número de dias dentro do ano atual, começando com ``1`` para 1º de janeiro. " -"O sinalizador :attr:`tm_isdst` do resultado é setado conforme o método :meth:" -"`dst`: :attr:`.tzinfo` é ``None`` ou :meth:`dst` retorna ``None``, :attr:" -"`tm_isdst` é setado para ``-1``; caso contrário se :meth:`dst` retornar um " -"valor diferente de zero, :attr:`tm_isdst` é setado para ``1``; caso " -"contrário :attr:`tm_isdst` é setado para ``0``." - -#: ../../library/datetime.rst:1336 -msgid "" -"If :class:`.datetime` instance *d* is naive, this is the same as ``d." -"timetuple()`` except that :attr:`tm_isdst` is forced to 0 regardless of what " -"``d.dst()`` returns. DST is never in effect for a UTC time." -msgstr "" -"Se a instância :class:`.datetime` *d* é ingênua, isto é o mesmo que ``d." -"timetuple()`` exceto que :attr:`tm_isdst` é forçado para 0 independente do " -"que ``d.dst()`` retorna. DST nunca é afetado por um horário UTC." - -#: ../../library/datetime.rst:1340 -msgid "" -"If *d* is aware, *d* is normalized to UTC time, by subtracting ``d." -"utcoffset()``, and a :class:`time.struct_time` for the normalized time is " -"returned. :attr:`tm_isdst` is forced to 0. Note that an :exc:`OverflowError` " -"may be raised if *d*.year was ``MINYEAR`` or ``MAXYEAR`` and UTC adjustment " -"spills over a year boundary." -msgstr "" -"Se *d* é consciente, *d* é normalizado para horário UTC, subtraindo ``d." -"utcoffset()``, e uma :class:`time.struct_time` para a hora normalizada é " -"retornado. :attr:`tm_isdst` é forçado para 0. Perceba que um :exc:" -"`OverflowError` pode ser levantado se *d*.year for ``MINYEAR`` ou " -"``MAXYEAR`` e os ajustes UTC ultrapassarem o limite de um ano." - -#: ../../library/datetime.rst:1349 +"day number within the current year starting with ``1`` for January 1st. " +"The :attr:`~time.struct_time.tm_isdst` flag of the result is set according " +"to the :meth:`dst` method: :attr:`.tzinfo` is ``None`` or :meth:`dst` " +"returns ``None``, :attr:`!tm_isdst` is set to ``-1``; else if :meth:`dst` " +"returns a non-zero value, :attr:`!tm_isdst` is set to ``1``; else :attr:`!" +"tm_isdst` is set to ``0``." +msgstr "" + +#: ../../library/datetime.rst:1348 +msgid "" +"If :class:`.datetime` instance *d* is naive, this is the same as " +"``d.timetuple()`` except that :attr:`~.time.struct_time.tm_isdst` is forced " +"to 0 regardless of what ``d.dst()`` returns. DST is never in effect for a " +"UTC time." +msgstr "" +"Se a instância :class:`.datetime` *d* é ingênua, isto é o mesmo que " +"``d.timetuple()`` exceto que :attr:`~.time.struct_time.tm_isdst` é forçado " +"para 0 independente do que ``d.dst()`` retorna. DST nunca é afetado por um " +"horário UTC." + +#: ../../library/datetime.rst:1352 +msgid "" +"If *d* is aware, *d* is normalized to UTC time, by subtracting " +"``d.utcoffset()``, and a :class:`time.struct_time` for the normalized time " +"is returned. :attr:`!tm_isdst` is forced to 0. Note that " +"an :exc:`OverflowError` may be raised if *d*.year was ``MINYEAR`` or " +"``MAXYEAR`` and UTC adjustment spills over a year boundary." +msgstr "" + +#: ../../library/datetime.rst:1361 msgid "" "Because naive ``datetime`` objects are treated by many ``datetime`` methods " "as local times, it is preferred to use aware datetimes to represent times in " "UTC; as a result, using :meth:`datetime.utctimetuple` may give misleading " -"results. If you have a naive ``datetime`` representing UTC, use ``datetime." -"replace(tzinfo=timezone.utc)`` to make it aware, at which point you can use :" -"meth:`.datetime.timetuple`." +"results. If you have a naive ``datetime`` representing UTC, use " +"``datetime.replace(tzinfo=timezone.utc)`` to make it aware, at which point " +"you can use :meth:`.datetime.timetuple`." msgstr "" "Por causa que objetos ``datetime`` ingênuos são tratados por muitos métodos " "``datetime`` como hora local, é preferido usar datetimes conscientes para " -"representar horários em UTC; como resultado, usar :meth:`datetime." -"utctimetuple` pode dar resultados enganosos. Se você tem um ``datetime`` " -"ingênuo representando UTC, use ``datetime.replace(tzinfo=timezone.utc)`` " -"para torná-lo consciente, ponto no qual você pode usar :meth:`.datetime." -"timetuple`." +"representar horários em UTC; como resultado, " +"usar :meth:`datetime.utctimetuple` pode dar resultados enganosos. Se você " +"tem um ``datetime`` ingênuo representando UTC, use " +"``datetime.replace(tzinfo=timezone.utc)`` para torná-lo consciente, ponto no " +"qual você pode usar :meth:`.datetime.timetuple`." -#: ../../library/datetime.rst:1358 +#: ../../library/datetime.rst:1370 msgid "" -"Return the proleptic Gregorian ordinal of the date. The same as ``self." -"date().toordinal()``." +"Return the proleptic Gregorian ordinal of the date. The same as " +"``self.date().toordinal()``." msgstr "" -"Retorna o ordinal proléptico gregoriano da data. o mesmo que ``self.date()." -"toordinal()``." +"Retorna o ordinal proléptico gregoriano da data. o mesmo que " +"``self.date().toordinal()``." -#: ../../library/datetime.rst:1363 +#: ../../library/datetime.rst:1375 msgid "" "Return POSIX timestamp corresponding to the :class:`.datetime` instance. The " -"return value is a :class:`float` similar to that returned by :func:`time." -"time`." +"return value is a :class:`float` similar to that returned " +"by :func:`time.time`." msgstr "" -"Retorna o registro de data e hora POSIX correspondente a instância :class:`." -"datetime`. O valor de retorno é um :class:`float` similar aquele retornado " -"por :func:`time.time`." +"Retorna o registro de data e hora POSIX correspondente a " +"instância :class:`.datetime`. O valor de retorno é um :class:`float` similar " +"aquele retornado por :func:`time.time`." -#: ../../library/datetime.rst:1367 +#: ../../library/datetime.rst:1379 msgid "" "Naive :class:`.datetime` instances are assumed to represent local time and " "this method relies on the platform C :c:func:`mktime` function to perform " "the conversion. Since :class:`.datetime` supports wider range of values " -"than :c:func:`mktime` on many platforms, this method may raise :exc:" -"`OverflowError` for times far in the past or far in the future." +"than :c:func:`mktime` on many platforms, this method may " +"raise :exc:`OverflowError` for times far in the past or far in the future." msgstr "" "Assume-se que instâncias :class:`.datetime` ingênuas representam a hora " "local e este método depende da função C :c:func:`mktime` da plataforma para " @@ -2174,14 +2215,14 @@ msgstr "" "levantar :exc:`OverflowError` para horários longe no passado ou longe no " "futuro." -#: ../../library/datetime.rst:1374 +#: ../../library/datetime.rst:1386 msgid "" "For aware :class:`.datetime` instances, the return value is computed as::" msgstr "" "Para instâncias conscientes de :class:`.datetime`, o valor retornado é " "computado como::" -#: ../../library/datetime.rst:1381 +#: ../../library/datetime.rst:1393 msgid "" "The :meth:`timestamp` method uses the :attr:`.fold` attribute to " "disambiguate the times during a repeated interval." @@ -2189,24 +2230,24 @@ msgstr "" "O método :meth:`timestamp` usa o atributo :attr:`.fold` para desambiguar os " "tempos durante um intervalo repetido." -#: ../../library/datetime.rst:1387 +#: ../../library/datetime.rst:1399 msgid "" -"There is no method to obtain the POSIX timestamp directly from a naive :" -"class:`.datetime` instance representing UTC time. If your application uses " -"this convention and your system timezone is not set to UTC, you can obtain " -"the POSIX timestamp by supplying ``tzinfo=timezone.utc``::" +"There is no method to obtain the POSIX timestamp directly from a " +"naive :class:`.datetime` instance representing UTC time. If your application " +"uses this convention and your system timezone is not set to UTC, you can " +"obtain the POSIX timestamp by supplying ``tzinfo=timezone.utc``::" msgstr "" -"Não existe método para obter o timestamp POSIX diretamente de uma instância :" -"class:`.datetime` ingênua representando tempo em UTC. Se a sua aplicação usa " -"esta convenção e o fuso horário do seu sistema não está setado para UTC, " -"você pode obter o registro de data e hora POSIX fornecendo ``tzinfo=timezone." -"utc``::" +"Não existe método para obter o timestamp POSIX diretamente de uma " +"instância :class:`.datetime` ingênua representando tempo em UTC. Se a sua " +"aplicação usa esta convenção e o fuso horário do seu sistema não está setado " +"para UTC, você pode obter o registro de data e hora POSIX fornecendo " +"``tzinfo=timezone.utc``::" -#: ../../library/datetime.rst:1395 +#: ../../library/datetime.rst:1407 msgid "or by calculating the timestamp directly::" msgstr "ou calculando o registro de data e hora diretamente::" -#: ../../library/datetime.rst:1401 +#: ../../library/datetime.rst:1413 msgid "" "Return the day of the week as an integer, where Monday is 0 and Sunday is 6. " "The same as ``self.date().weekday()``. See also :meth:`isoweekday`." @@ -2214,17 +2255,17 @@ msgstr "" "Retorna o dia da semana como um inteiro, em que segunda-feira é 0 e domingo " "é 6. O mesmo que ``self.date().weekday()``. Veja também :meth:`isoweekday`." -#: ../../library/datetime.rst:1407 +#: ../../library/datetime.rst:1419 msgid "" "Return the day of the week as an integer, where Monday is 1 and Sunday is 7. " -"The same as ``self.date().isoweekday()``. See also :meth:`weekday`, :meth:" -"`isocalendar`." +"The same as ``self.date().isoweekday()``. See " +"also :meth:`weekday`, :meth:`isocalendar`." msgstr "" "Retorna o dia da semana como um inteiro, em que segunda-feira é 1 e domingo " -"é 7. O mesmo que ``self.date().isoweekday()``. Veja também :meth:`weekday`, :" -"meth:`isocalendar`." +"é 7. O mesmo que ``self.date().isoweekday()``. Veja " +"também :meth:`weekday`, :meth:`isocalendar`." -#: ../../library/datetime.rst:1414 +#: ../../library/datetime.rst:1426 msgid "" "Return a :term:`named tuple` with three components: ``year``, ``week`` and " "``weekday``. The same as ``self.date().isocalendar()``." @@ -2232,19 +2273,19 @@ msgstr "" "Retorna uma :term:`tupla nomeada ` com três componentes: " "``year``, ``week`` e ``weekday``. O mesmo que ``self.date().isocalendar()``." -#: ../../library/datetime.rst:1420 +#: ../../library/datetime.rst:1432 msgid "Return a string representing the date and time in ISO 8601 format:" msgstr "Retorna uma string representando a data e o tempo no formato ISO 8601:" -#: ../../library/datetime.rst:1422 +#: ../../library/datetime.rst:1434 msgid "``YYYY-MM-DDTHH:MM:SS.ffffff``, if :attr:`microsecond` is not 0" msgstr "``YYYY-MM-DDTHH:MM:SS.ffffff``, se :attr:`microsecond` não é 0" -#: ../../library/datetime.rst:1423 +#: ../../library/datetime.rst:1435 msgid "``YYYY-MM-DDTHH:MM:SS``, if :attr:`microsecond` is 0" msgstr "``YYYY-MM-DDTHH:MM:SS``, se :attr:`microsecond` é 0" -#: ../../library/datetime.rst:1425 +#: ../../library/datetime.rst:1437 msgid "" "If :meth:`utcoffset` does not return ``None``, a string is appended, giving " "the UTC offset:" @@ -2252,7 +2293,7 @@ msgstr "" "Se :meth:`utcoffset` não retorna ``None``, uma string é adicionada com a " "diferença UTC:" -#: ../../library/datetime.rst:1428 +#: ../../library/datetime.rst:1440 msgid "" "``YYYY-MM-DDTHH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` " "is not 0" @@ -2260,13 +2301,13 @@ msgstr "" "``YYYY-MM-DDTHH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, se :attr:`microsecond` " "não é 0" -#: ../../library/datetime.rst:1430 +#: ../../library/datetime.rst:1442 msgid "" "``YYYY-MM-DDTHH:MM:SS+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` is 0" msgstr "" "``YYYY-MM-DDTHH:MM:SS+HH:MM[:SS[.ffffff]]``, se :attr:`microsecond` é 0" -#: ../../library/datetime.rst:1440 +#: ../../library/datetime.rst:1452 msgid "" "The optional argument *sep* (default ``'T'``) is a one-character separator, " "placed between the date and time portions of the result. For example::" @@ -2274,7 +2315,7 @@ msgstr "" "O argumento opcional *sep* (por padrão, ``'T'``) é um separador de caractere " "único, colocado entre as porções de data e tempo do resultado. Por exemplo::" -#: ../../library/datetime.rst:1454 ../../library/datetime.rst:1827 +#: ../../library/datetime.rst:1466 ../../library/datetime.rst:1838 msgid "" "The optional argument *timespec* specifies the number of additional " "components of the time to include (the default is ``'auto'``). It can be one " @@ -2284,7 +2325,7 @@ msgstr "" "adicionais do tempo a incluir (o padrão é ``'auto'``). Pode ser uma das " "seguintes strings:" -#: ../../library/datetime.rst:1458 ../../library/datetime.rst:1831 +#: ../../library/datetime.rst:1470 ../../library/datetime.rst:1842 msgid "" "``'auto'``: Same as ``'seconds'`` if :attr:`microsecond` is 0, same as " "``'microseconds'`` otherwise." @@ -2292,28 +2333,28 @@ msgstr "" "``'auto'``: O mesmo que ``'seconds'`` se :attr:`microsecond` é 0, o mesmo " "que ``'microseconds'`` caso contrário." -#: ../../library/datetime.rst:1460 ../../library/datetime.rst:1833 +#: ../../library/datetime.rst:1472 ../../library/datetime.rst:1844 msgid "``'hours'``: Include the :attr:`hour` in the two-digit ``HH`` format." msgstr "" "``'hours'``: Inclui o atributo :attr:`hour` no formato de dois dígitos " "``HH``." -#: ../../library/datetime.rst:1461 ../../library/datetime.rst:1834 +#: ../../library/datetime.rst:1473 ../../library/datetime.rst:1845 msgid "" "``'minutes'``: Include :attr:`hour` and :attr:`minute` in ``HH:MM`` format." msgstr "" "``'minutes'``: Inclui os atributos :attr:`hour` e :attr:`minute` no formato " "``HH:MM``." -#: ../../library/datetime.rst:1462 ../../library/datetime.rst:1835 +#: ../../library/datetime.rst:1474 ../../library/datetime.rst:1846 msgid "" "``'seconds'``: Include :attr:`hour`, :attr:`minute`, and :attr:`second` in " "``HH:MM:SS`` format." msgstr "" -"``'seconds'``: Inclui os atributos :attr:`hour`, :attr:`minute` e :attr:" -"`second` no formato ``HH:MM:SS``." +"``'seconds'``: Inclui os atributos :attr:`hour`, :attr:`minute` " +"e :attr:`second` no formato ``HH:MM:SS``." -#: ../../library/datetime.rst:1464 ../../library/datetime.rst:1837 +#: ../../library/datetime.rst:1476 ../../library/datetime.rst:1848 msgid "" "``'milliseconds'``: Include full time, but truncate fractional second part " "to milliseconds. ``HH:MM:SS.sss`` format." @@ -2321,38 +2362,38 @@ msgstr "" "``'milliseconds'``: Inclui o tempo completo, mas trunca a parte fracional " "dos segundos em milissegundos. Formato ``HH:MM:SS.sss``." -#: ../../library/datetime.rst:1466 ../../library/datetime.rst:1839 +#: ../../library/datetime.rst:1478 ../../library/datetime.rst:1850 msgid "``'microseconds'``: Include full time in ``HH:MM:SS.ffffff`` format." msgstr "" "``'microseconds'``: Inclui o tempo completo no formato ``HH:MM:SS.ffffff``." -#: ../../library/datetime.rst:1470 ../../library/datetime.rst:1843 +#: ../../library/datetime.rst:1482 ../../library/datetime.rst:1854 msgid "Excluded time components are truncated, not rounded." msgstr "Componentes do tempo excluídos são truncados, não arredondados." -#: ../../library/datetime.rst:1472 +#: ../../library/datetime.rst:1484 msgid ":exc:`ValueError` will be raised on an invalid *timespec* argument::" msgstr "" "A exceção :exc:`ValueError` vai ser levantada no caso de um argumento " "*timespec* inválido::" -#: ../../library/datetime.rst:1482 ../../library/datetime.rst:1858 -msgid "Added the *timespec* argument." -msgstr "Argumento *timespec* adicionado." +#: ../../library/datetime.rst:1494 ../../library/datetime.rst:1869 +msgid "Added the *timespec* parameter." +msgstr "Adicionado o parâmetro *timespec*." -#: ../../library/datetime.rst:1488 +#: ../../library/datetime.rst:1500 msgid "" -"For a :class:`.datetime` instance *d*, ``str(d)`` is equivalent to ``d." -"isoformat(' ')``." +"For a :class:`.datetime` instance *d*, ``str(d)`` is equivalent to " +"``d.isoformat(' ')``." msgstr "" -"Para uma instância :class:`.datetime` *d*, ``str(d)`` é equivalente a ``d." -"isoformat(' ')``." +"Para uma instância :class:`.datetime` *d*, ``str(d)`` é equivalente a " +"``d.isoformat(' ')``." -#: ../../library/datetime.rst:1494 +#: ../../library/datetime.rst:1506 msgid "Return a string representing the date and time::" msgstr "Retorna uma string representando a data e hora::" -#: ../../library/datetime.rst:1500 +#: ../../library/datetime.rst:1512 msgid "" "The output string will *not* include time zone information, regardless of " "whether the input is aware or naive." @@ -2360,47 +2401,47 @@ msgstr "" "A string de saída *não* irá incluir informações de fuso horário, " "independente de a entrada ser consciente ou ingênua." -#: ../../library/datetime.rst:1507 +#: ../../library/datetime.rst:1519 msgid "" -"on platforms where the native C :c:func:`ctime` function (which :func:`time." -"ctime` invokes, but which :meth:`datetime.ctime` does not invoke) conforms " -"to the C standard." +"on platforms where the native C :c:func:`ctime` function " +"(which :func:`time.ctime` invokes, but which :meth:`datetime.ctime` does not " +"invoke) conforms to the C standard." msgstr "" -"em plataformas onde a função nativa em C :c:func:`ctime` (a qual :func:`time." -"ctime` invoca, mas a qual :meth:`datetime.ctime` não invoca) conforma com o " -"padrão C." +"em plataformas onde a função nativa em C :c:func:`ctime` (a " +"qual :func:`time.ctime` invoca, mas a qual :meth:`datetime.ctime` não " +"invoca) conforma com o padrão C." -#: ../../library/datetime.rst:1514 +#: ../../library/datetime.rst:1526 msgid "" "Return a string representing the date and time, controlled by an explicit " -"format string. See also :ref:`strftime-strptime-behavior` and :meth:" -"`datetime.isoformat`." +"format string. See also :ref:`strftime-strptime-behavior` " +"and :meth:`datetime.isoformat`." msgstr "" "Retorna uma string representando a data e hora, controladas por uma string " -"com formato explícito. Veja também :ref:`strftime-strptime-behavior` e :meth:" -"`datetime.isoformat`." +"com formato explícito. Veja também :ref:`strftime-strptime-behavior` " +"e :meth:`datetime.isoformat`." -#: ../../library/datetime.rst:1521 +#: ../../library/datetime.rst:1533 msgid "" "Same as :meth:`.datetime.strftime`. This makes it possible to specify a " "format string for a :class:`.datetime` object in :ref:`formatted string " -"literals ` and when using :meth:`str.format`. See also :ref:" -"`strftime-strptime-behavior` and :meth:`datetime.isoformat`." +"literals ` and when using :meth:`str.format`. See " +"also :ref:`strftime-strptime-behavior` and :meth:`datetime.isoformat`." msgstr "" "O mesmo que :meth:`.datetime.strftime`. Isso torna possível especificar uma " "string de formatação para o objeto :class:`.datetime` em :ref:`literais de " -"string formatados ` e ao usar :meth:`str.format`. Veja também :" -"ref:`strftime-strptime-behavior` e :meth:`datetime.isoformat`." +"string formatados ` e ao usar :meth:`str.format`. Veja " +"também :ref:`strftime-strptime-behavior` e :meth:`datetime.isoformat`." -#: ../../library/datetime.rst:1528 +#: ../../library/datetime.rst:1540 msgid "Examples of Usage: :class:`.datetime`" msgstr "Exemplos de uso: :class:`.datetime`" -#: ../../library/datetime.rst:1530 -msgid "Examples of working with :class:`~datetime.datetime` objects:" -msgstr "Exemplos de uso de objetos :class:`~datetime.datetime`:" +#: ../../library/datetime.rst:1542 +msgid "Examples of working with :class:`.datetime` objects:" +msgstr "Exemplos para trabalhar com objetos :class:`.datetime`:" -#: ../../library/datetime.rst:1583 +#: ../../library/datetime.rst:1595 msgid "" "The example below defines a :class:`tzinfo` subclass capturing time zone " "information for Kabul, Afghanistan, which used +4 UTC until 1945 and then " @@ -2410,34 +2451,34 @@ msgstr "" "de fuso horário para Kabul, Afeganistão, o qual usou +4 UTC até 1945 e " "depois +4:30 UTC após esse período::" -#: ../../library/datetime.rst:1630 +#: ../../library/datetime.rst:1642 msgid "Usage of ``KabulTz`` from above::" msgstr "Uso de ``KabulTz`` mostrado acima::" -#: ../../library/datetime.rst:1656 +#: ../../library/datetime.rst:1668 msgid ":class:`.time` Objects" msgstr "Objetos :class:`.time`" -#: ../../library/datetime.rst:1658 +#: ../../library/datetime.rst:1670 msgid "" -"A :class:`time` object represents a (local) time of day, independent of any " +"A :class:`.time` object represents a (local) time of day, independent of any " "particular day, and subject to adjustment via a :class:`tzinfo` object." msgstr "" -"Um objeto :class:`time` representa a hora (local) do dia, independente de " -"qualquer dia em particular, e sujeito a ajustes através de um objeto :class:" -"`tzinfo`." +"Um objeto :class:`.time` representa a hora (local) do dia, independentemente " +"de um dia em particular, e sujeito a ajustes através de um " +"objeto :class:`tzinfo`." -#: ../../library/datetime.rst:1663 +#: ../../library/datetime.rst:1675 msgid "" -"All arguments are optional. *tzinfo* may be ``None``, or an instance of a :" -"class:`tzinfo` subclass. The remaining arguments must be integers in the " +"All arguments are optional. *tzinfo* may be ``None``, or an instance of " +"a :class:`tzinfo` subclass. The remaining arguments must be integers in the " "following ranges:" msgstr "" "Todos os argumentos são opcionais. *tzinfo* pode ser ``None``, ou uma " "instância de uma subclasse de :class:`tzinfo`. Os argumentos remanescentes " "devem ser inteiros nos seguintes intervalos:" -#: ../../library/datetime.rst:1673 +#: ../../library/datetime.rst:1685 msgid "" "If an argument outside those ranges is given, :exc:`ValueError` is raised. " "All default to ``0`` except *tzinfo*, which defaults to :const:`None`." @@ -2446,89 +2487,83 @@ msgstr "" "levantado. Todos tem como padrão o valor ``0`` exceto *tzinfo*, o qual tem o " "valor padrão :const:`None`." -#: ../../library/datetime.rst:1681 +#: ../../library/datetime.rst:1693 msgid "The earliest representable :class:`.time`, ``time(0, 0, 0, 0)``." msgstr "" "O :class:`.time` mais cedo que pode ser representado, ``time(0, 0, 0, 0)``." -#: ../../library/datetime.rst:1686 +#: ../../library/datetime.rst:1698 msgid "The latest representable :class:`.time`, ``time(23, 59, 59, 999999)``." msgstr "" "O :class:`.time` mais tardio que pode ser representado, ``time(23, 59, 59, " "999999)``." -#: ../../library/datetime.rst:1691 +#: ../../library/datetime.rst:1703 msgid "" "The smallest possible difference between non-equal :class:`.time` objects, " -"``timedelta(microseconds=1)``, although note that arithmetic on :class:`." -"time` objects is not supported." +"``timedelta(microseconds=1)``, although note that arithmetic " +"on :class:`.time` objects is not supported." msgstr "" "A menor diferença possível entre objetos :class:`.time` diferentes, " -"``timedelta(microseconds=1)``, embora perceba que aritmética sobre objetos :" -"class:`.time` não é suportada." +"``timedelta(microseconds=1)``, embora perceba que aritmética sobre " +"objetos :class:`.time` não é suportada." -#: ../../library/datetime.rst:1720 +#: ../../library/datetime.rst:1732 msgid "" "The object passed as the tzinfo argument to the :class:`.time` constructor, " "or ``None`` if none was passed." msgstr "" -"O objeto passado como argumento tzinfo para o construtor da classe :class:`." -"time`, ou ``None`` se nada foi passado." - -#: ../../library/datetime.rst:1734 -msgid "" -":class:`.time` objects support comparison of :class:`.time` to :class:`." -"time`, where *a* is considered less than *b* when *a* precedes *b* in time. " -"If one comparand is naive and the other is aware, :exc:`TypeError` is raised " -"if an order comparison is attempted. For equality comparisons, naive " -"instances are never equal to aware instances." -msgstr "" -"Objetos :class:`.time` suportam comparação de :class:`.time` e :class:`." -"time`, onde *a* é considerado menor que *b* quando *a* precede *b* no tempo. " -"Se um comparando é ingênuo e o outro é consciente, :exc:`TypeError` é " -"levantado ao tentar uma comparação. Para comparações de igualdade, " -"instâncias ingênuas nunca são iguais a instâncias conscientes." - -#: ../../library/datetime.rst:1740 -msgid "" -"If both comparands are aware, and have the same :attr:`~time.tzinfo` " -"attribute, the common :attr:`~time.tzinfo` attribute is ignored and the base " -"times are compared. If both comparands are aware and have different :attr:" -"`~time.tzinfo` attributes, the comparands are first adjusted by subtracting " -"their UTC offsets (obtained from ``self.utcoffset()``). In order to stop " -"mixed-type comparisons from falling back to the default comparison by object " -"address, when a :class:`.time` object is compared to an object of a " -"different type, :exc:`TypeError` is raised unless the comparison is ``==`` " -"or ``!=``. The latter cases return :const:`False` or :const:`True`, " -"respectively." -msgstr "" -"Se ambos os comparandos são conscientes, e tem o mesmo atributo :attr:`~time." -"tzinfo`, o atributo comum :attr:`~time.tzinfo` é ignorado e os horários base " -"são comparados. Se ambos os comparandos são conscientes e tem atributos :" -"attr:`~time.tzinfo` diferentes, os comparandos são primeiro ajustados " -"subtraindo sua diferença relativa a UTC (obtida a partir de ``self." -"utcoffset()``). Para impedir comparações de tipo misto de cair novamente na " -"comparação padrão por endereço de objeto, quando um objeto :class:`.time` é " -"comparado com um objeto de tipo diferente, :exc:`TypeError` é levantado a " -"não ser que a comparação seja ``==`` ou ``!=``. O último caso retorna :const:" -"`False` ou :const:`True`, respectivamente." - -#: ../../library/datetime.rst:1750 -msgid "" -"Equality comparisons between aware and naive :class:`~datetime.time` " -"instances don't raise :exc:`TypeError`." -msgstr "" -"Comparações de igualdade entre instâncias conscientes e ingênuas :class:" -"`~datetime.time` não levantam :exc:`TypeError`." - -#: ../../library/datetime.rst:1754 +"O objeto passado como argumento tzinfo para o construtor da " +"classe :class:`.time`, ou ``None`` se nada foi passado." + +#: ../../library/datetime.rst:1746 +msgid "" +":class:`.time` objects support equality and order comparisons, where *a* is " +"considered less than *b* when *a* precedes *b* in time." +msgstr "" +"Objetos :class:`.time` suportam comparações de igualdade e ordem, onde *a* é " +"considerado menor que *b* quando *a* precede *b* no tempo." + +#: ../../library/datetime.rst:1749 +msgid "" +"Naive and aware :class:`!time` objects are never equal. Order comparison " +"between naive and aware :class:`!time` objects raises :exc:`TypeError`." +msgstr "" +"Objetos :class:`!time` ingênuos e conscientes nunca são iguais. A comparação " +"de ordem entre objetos :class:`!time` ingênuos e conscientes " +"levanta :exc:`TypeError`." + +#: ../../library/datetime.rst:1753 +msgid "" +"If both comparands are aware, and have the same :attr:`~.time.tzinfo` " +"attribute, the :attr:`!tzinfo` and :attr:`!fold` attributes are ignored and " +"the base times are compared. If both comparands are aware and have " +"different :attr:`!tzinfo` attributes, the comparands are first adjusted by " +"subtracting their UTC offsets (obtained from ``self.utcoffset()``)." +msgstr "" +"Se ambos os comparandos são conscientes, e tem o mesmo " +"atributo :attr:`~.time.tzinfo`, os atributos :attr:`!tzinfo` e :attr:`!fold` " +"são ignorados e os tempos base são comparados. Se ambos os comparandos são " +"conscientes e tem atributos :attr:`!tzinfo` diferentes, os comparandos são " +"primeiro ajustados subtraindo sua diferença em UTC (obtida através de " +"``self.utcoffset()``)." + +#: ../../library/datetime.rst:1759 +msgid "" +"Equality comparisons between aware and naive :class:`.time` instances don't " +"raise :exc:`TypeError`." +msgstr "" +"Comparações de igualdade entre instâncias de :class:`.time` conscientes e " +"nativas não levantam :exc:`TypeError`." + +#: ../../library/datetime.rst:1763 msgid "" "In Boolean contexts, a :class:`.time` object is always considered to be true." msgstr "" "Em contextos Booleanos, um objeto :class:`.time` é sempre considerado como " "verdadeiro." -#: ../../library/datetime.rst:1756 +#: ../../library/datetime.rst:1765 msgid "" "Before Python 3.5, a :class:`.time` object was considered to be false if it " "represented midnight in UTC. This behavior was considered obscure and error-" @@ -2540,11 +2575,11 @@ msgstr "" "suscetível a erros, e foi removido no Python 3.5. Veja :issue:`13936` para " "todos os detalhes." -#: ../../library/datetime.rst:1763 +#: ../../library/datetime.rst:1772 msgid "Other constructor:" msgstr "Outro construtor:" -#: ../../library/datetime.rst:1767 +#: ../../library/datetime.rst:1776 msgid "" "Return a :class:`.time` corresponding to a *time_string* in any valid ISO " "8601 format, with the following exceptions:" @@ -2552,7 +2587,7 @@ msgstr "" "Retorna um :class:`.time` correspondendo a *time_string* em qualquer formato " "válido de ISO 8601, com as seguintes exceções:" -#: ../../library/datetime.rst:1771 +#: ../../library/datetime.rst:1780 msgid "" "The leading ``T``, normally required in cases where there may be ambiguity " "between a date and a time, is not required." @@ -2560,7 +2595,7 @@ msgstr "" "O ``T`` inicial, normalmente exigido nos casos em que pode haver ambiguidade " "entre uma data e uma hora, não é necessário." -#: ../../library/datetime.rst:1773 +#: ../../library/datetime.rst:1782 msgid "" "Fractional seconds may have any number of digits (anything beyond 6 will be " "truncated)." @@ -2568,15 +2603,19 @@ msgstr "" "Segundos fracionários podem ter qualquer número de dígitos (algo além de 6 " "será truncado)." -#: ../../library/datetime.rst:1799 +#: ../../library/datetime.rst:1786 +msgid "Examples:" +msgstr "Exemplos:" + +#: ../../library/datetime.rst:1810 msgid "" -"Previously, this method only supported formats that could be emitted by :" -"meth:`time.isoformat()`." +"Previously, this method only supported formats that could be emitted " +"by :meth:`time.isoformat()`." msgstr "" "Anteriormente, este método suportava apenas formatos que podiam ser emitidos " "por :meth:`time.isoformat()`." -#: ../../library/datetime.rst:1809 +#: ../../library/datetime.rst:1820 msgid "" "Return a :class:`.time` with the same value, except for those attributes " "given new values by whichever keyword arguments are specified. Note that " @@ -2589,20 +2628,20 @@ msgstr "" "criar um :class:`.time` ingênuo a partir de um :class:`.time` consciente, " "sem conversão de dados do horário." -#: ../../library/datetime.rst:1820 +#: ../../library/datetime.rst:1831 msgid "Return a string representing the time in ISO 8601 format, one of:" msgstr "" "Retorna uma string representando a hora em formato ISO 8601, um destes:" -#: ../../library/datetime.rst:1822 +#: ../../library/datetime.rst:1833 msgid "``HH:MM:SS.ffffff``, if :attr:`microsecond` is not 0" msgstr "``HH:MM:SS.ffffff``, se :attr:`microsecond` não é 0" -#: ../../library/datetime.rst:1823 +#: ../../library/datetime.rst:1834 msgid "``HH:MM:SS``, if :attr:`microsecond` is 0" msgstr "``HH:MM:SS``, se :attr:`microsecond` é 0" -#: ../../library/datetime.rst:1824 +#: ../../library/datetime.rst:1835 msgid "" "``HH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, if :meth:`utcoffset` does not " "return ``None``" @@ -2610,33 +2649,33 @@ msgstr "" "``HH:MM:SS.ffffff+HH:MM[:SS[.ffffff]]``, se :meth:`utcoffset` não retorna " "``None``" -#: ../../library/datetime.rst:1825 +#: ../../library/datetime.rst:1836 msgid "" -"``HH:MM:SS+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` is 0 and :meth:" -"`utcoffset` does not return ``None``" +"``HH:MM:SS+HH:MM[:SS[.ffffff]]``, if :attr:`microsecond` is 0 " +"and :meth:`utcoffset` does not return ``None``" msgstr "" -"``HH:MM:SS+HH:MM[:SS[.ffffff]]``, se :attr:`microsecond` é 0 e :meth:" -"`utcoffset` não retorna ``None``" +"``HH:MM:SS+HH:MM[:SS[.ffffff]]``, se :attr:`microsecond` é 0 " +"e :meth:`utcoffset` não retorna ``None``" -#: ../../library/datetime.rst:1845 +#: ../../library/datetime.rst:1856 msgid ":exc:`ValueError` will be raised on an invalid *timespec* argument." msgstr ":exc:`ValueError` será levantado com um argumento *timespec* inválido." -#: ../../library/datetime.rst:1864 +#: ../../library/datetime.rst:1875 msgid "For a time *t*, ``str(t)`` is equivalent to ``t.isoformat()``." msgstr "Para um tempo *t*, ``str(t)`` é equivalente a ``t.isoformat()``." -#: ../../library/datetime.rst:1869 +#: ../../library/datetime.rst:1880 msgid "" "Return a string representing the time, controlled by an explicit format " -"string. See also :ref:`strftime-strptime-behavior` and :meth:`time." -"isoformat`." +"string. See also :ref:`strftime-strptime-behavior` " +"and :meth:`time.isoformat`." msgstr "" "Retorna uma string representando a hora, controladas por uma string com " -"formato explícito. Veja também :ref:`strftime-strptime-behavior` e :meth:" -"`time.isoformat`." +"formato explícito. Veja também :ref:`strftime-strptime-behavior` " +"e :meth:`time.isoformat`." -#: ../../library/datetime.rst:1875 +#: ../../library/datetime.rst:1886 msgid "" "Same as :meth:`.time.strftime`. This makes it possible to specify a format " "string for a :class:`.time` object in :ref:`formatted string literals ` e ao usar :meth:`str.format`. Veja também :" -"ref:`strftime-strptime-behavior` e :meth:`time.isoformat`." +"string formatados ` e ao usar :meth:`str.format`. Veja " +"também :ref:`strftime-strptime-behavior` e :meth:`time.isoformat`." -#: ../../library/datetime.rst:1883 +#: ../../library/datetime.rst:1894 msgid "" -"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." -"utcoffset(None)``, and raises an exception if the latter doesn't return " -"``None`` or a :class:`timedelta` object with magnitude less than one day." +"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns " +"``self.tzinfo.utcoffset(None)``, and raises an exception if the latter " +"doesn't return ``None`` or a :class:`timedelta` object with magnitude less " +"than one day." msgstr "" "Se :attr:`.tzinfo` for ``None``, retorna ``None``, caso contrário retorna " "``self.tzinfo.utcoffset(None)``, e levanta uma exceção se o segundo não " "retornar ``None`` ou um objeto :class:`timedelta` com magnitude menor que um " "dia." -#: ../../library/datetime.rst:1893 +#: ../../library/datetime.rst:1904 msgid "" -"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." -"dst(None)``, and raises an exception if the latter doesn't return ``None``, " -"or a :class:`timedelta` object with magnitude less than one day." +"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns " +"``self.tzinfo.dst(None)``, and raises an exception if the latter doesn't " +"return ``None``, or a :class:`timedelta` object with magnitude less than one " +"day." msgstr "" "Se :attr:`.tzinfo` for ``None``, retorna ``None``, caso contrário retorna " "``self.tzinfo.dst(None)``, e levanta uma exceção se o segundo não retornar " "``None``, ou um objeto :class:`timedelta` com magnitude menor que um dia." -#: ../../library/datetime.rst:1902 +#: ../../library/datetime.rst:1913 msgid "" -"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns ``self.tzinfo." -"tzname(None)``, or raises an exception if the latter doesn't return ``None`` " -"or a string object." +"If :attr:`.tzinfo` is ``None``, returns ``None``, else returns " +"``self.tzinfo.tzname(None)``, or raises an exception if the latter doesn't " +"return ``None`` or a string object." msgstr "" "Se :attr:`.tzinfo` for ``None``, retorna ``None``, caso contrário retorna " "``self.tzinfo.tzname(None)``, ou levanta uma exceção se o último caso não " "retornar ``None`` ou um objeto string." -#: ../../library/datetime.rst:1907 +#: ../../library/datetime.rst:1918 msgid "Examples of Usage: :class:`.time`" msgstr "Exemplos de uso: :class:`.time`" -#: ../../library/datetime.rst:1909 +#: ../../library/datetime.rst:1920 msgid "Examples of working with a :class:`.time` object::" msgstr "Exemplos para trabalhar com um objeto :class:`.time`::" -#: ../../library/datetime.rst:1940 +#: ../../library/datetime.rst:1951 msgid ":class:`tzinfo` Objects" msgstr "Objetos :class:`tzinfo`" -#: ../../library/datetime.rst:1944 +#: ../../library/datetime.rst:1955 msgid "" "This is an abstract base class, meaning that this class should not be " "instantiated directly. Define a subclass of :class:`tzinfo` to capture " @@ -2701,14 +2742,14 @@ msgstr "" "ser instanciada diretamente. Defina uma subclasse de :class:`tzinfo` para " "capturar informações sobre um fuso horário em particular." -#: ../../library/datetime.rst:1948 +#: ../../library/datetime.rst:1959 msgid "" "An instance of (a concrete subclass of) :class:`tzinfo` can be passed to the " "constructors for :class:`.datetime` and :class:`.time` objects. The latter " -"objects view their attributes as being in local time, and the :class:" -"`tzinfo` object supports methods revealing offset of local time from UTC, " -"the name of the time zone, and DST offset, all relative to a date or time " -"object passed to them." +"objects view their attributes as being in local time, and " +"the :class:`tzinfo` object supports methods revealing offset of local time " +"from UTC, the name of the time zone, and DST offset, all relative to a date " +"or time object passed to them." msgstr "" "Uma instância de (uma subclasse concreta de) :class:`tzinfo` pode ser " "passada para os construtores de objetos :class:`.datetime` e :class:`.time`. " @@ -2717,64 +2758,58 @@ msgstr "" "partir de UTC, o nome do fuso horário, e diferença de horário em horário de " "verão, todos relativos ao objeto date ou time passado para eles." -#: ../../library/datetime.rst:1954 +#: ../../library/datetime.rst:1965 msgid "" "You need to derive a concrete subclass, and (at least) supply " -"implementations of the standard :class:`tzinfo` methods needed by the :class:" -"`.datetime` methods you use. The :mod:`datetime` module provides :class:" -"`timezone`, a simple concrete subclass of :class:`tzinfo` which can " -"represent timezones with fixed offset from UTC such as UTC itself or North " -"American EST and EDT." -msgstr "" -"Você precisa derivar uma subclasse concreta, e (pelo menos) fornecer " -"implementações dos métodos padrões de :class:`tzinfo` necessários pelos " -"métodos :class:`.datetime` que você usa. O módulo :mod:`datetime` fornece :" -"class:`timezone`, uma subclasse concreta simples de :class:`tzinfo`, que " -"pode representar fuso horários com diferença fixa a partir de UTC, tais como " -"o próprio UTC, ou EST (Eastern Standard Time ou Horário padrão oriental) e " -"EDT (Eastern Daylight Time ou Horário de verão oriental) na América do Norte." - -#: ../../library/datetime.rst:1961 -msgid "" -"Special requirement for pickling: A :class:`tzinfo` subclass must have an :" -"meth:`__init__` method that can be called with no arguments, otherwise it " -"can be pickled but possibly not unpickled again. This is a technical " -"requirement that may be relaxed in the future." +"implementations of the standard :class:`tzinfo` methods needed by " +"the :class:`.datetime` methods you use. The :mod:`!datetime` module " +"provides :class:`timezone`, a simple concrete subclass of :class:`tzinfo` " +"which can represent timezones with fixed offset from UTC such as UTC itself " +"or North American EST and EDT." +msgstr "" + +#: ../../library/datetime.rst:1972 +msgid "" +"Special requirement for pickling: A :class:`tzinfo` subclass must have " +"an :meth:`~object.__init__` method that can be called with no arguments, " +"otherwise it can be pickled but possibly not unpickled again. This is a " +"technical requirement that may be relaxed in the future." msgstr "" "Requisito especial para preservação: uma subclasse :class:`tzinfo` deve ter " -"um método :meth:`__init__` que pode ser chamado sem nenhum argumento, caso " -"contrário ele pode ser conservado, mas não alterado novamente. Isso é um " -"requisito técnico que pode ser relaxado no futuro." +"um método :meth:`~object.__init__` que pode ser chamado sem nenhum " +"argumento, caso contrário ele pode ser conservado, mas não alterado " +"novamente. Isso é um requisito técnico que pode ser relaxado no futuro." -#: ../../library/datetime.rst:1966 +#: ../../library/datetime.rst:1978 msgid "" "A concrete subclass of :class:`tzinfo` may need to implement the following " -"methods. Exactly which methods are needed depends on the uses made of aware :" -"mod:`datetime` objects. If in doubt, simply implement all of them." +"methods. Exactly which methods are needed depends on the uses made of " +"aware :mod:`!datetime` objects. If in doubt, simply implement all of them." msgstr "" "Uma subclasse concreta de :class:`tzinfo` pode precisar implementar os " "seguintes métodos. Exatamente quais métodos são necessários depende do uso " -"feito de objetos :mod:`datetime` conscientes. Se estiver em dúvida, " +"feito de objetos :mod:`!datetime` conscientes. Se estiver em dúvida, " "simplesmente implemente todos eles." -#: ../../library/datetime.rst:1973 +#: ../../library/datetime.rst:1985 msgid "" "Return offset of local time from UTC, as a :class:`timedelta` object that is " "positive east of UTC. If local time is west of UTC, this should be negative." msgstr "" -"Retorna a diferença da hora local a partir do UTC, como um objeto :class:" -"`timedelta`, que é positivo a leste do UTC. Se a hora local está a oeste do " -"UTC, isto deve ser negativo." +"Retorna a diferença da hora local a partir do UTC, como um " +"objeto :class:`timedelta`, que é positivo a leste do UTC. Se a hora local " +"está a oeste do UTC, isto deve ser negativo." -#: ../../library/datetime.rst:1976 +#: ../../library/datetime.rst:1988 msgid "" -"This represents the *total* offset from UTC; for example, if a :class:" -"`tzinfo` object represents both time zone and DST adjustments, :meth:" -"`utcoffset` should return their sum. If the UTC offset isn't known, return " -"``None``. Else the value returned must be a :class:`timedelta` object " -"strictly between ``-timedelta(hours=24)`` and ``timedelta(hours=24)`` (the " -"magnitude of the offset must be less than one day). Most implementations of :" -"meth:`utcoffset` will probably look like one of these two::" +"This represents the *total* offset from UTC; for example, if " +"a :class:`tzinfo` object represents both time zone and DST " +"adjustments, :meth:`utcoffset` should return their sum. If the UTC offset " +"isn't known, return ``None``. Else the value returned must be " +"a :class:`timedelta` object strictly between ``-timedelta(hours=24)`` and " +"``timedelta(hours=24)`` (the magnitude of the offset must be less than one " +"day). Most implementations of :meth:`utcoffset` will probably look like one " +"of these two::" msgstr "" "Isto representa a diferença *total* a partir de UTC; por exemplo, se um " "objeto :class:`tzinfo` representa fuso horário e ajustes de horário de " @@ -2782,10 +2817,10 @@ msgstr "" "é conhecida, retorna ``None``. Caso contrário o valor retornado deve ser um " "objeto :class:`timedelta` estritamente contido entre ``-" "timedelta(hours=24)`` e ``timedelta(hours=24)`` (a magnitude da diferença " -"deve ser menor que um dia). A maior parte das implementações de :meth:" -"`utcoffset` irá provavelmente parecer com um destes dois::" +"deve ser menor que um dia). A maior parte das implementações " +"de :meth:`utcoffset` irá provavelmente parecer com um destes dois::" -#: ../../library/datetime.rst:1987 +#: ../../library/datetime.rst:1999 msgid "" "If :meth:`utcoffset` does not return ``None``, :meth:`dst` should not return " "``None`` either." @@ -2793,15 +2828,15 @@ msgstr "" "Se :meth:`utcoffset` não retorna ``None``, :meth:`dst` também não deve " "retornar ``None``." -#: ../../library/datetime.rst:1990 +#: ../../library/datetime.rst:2002 msgid "" -"The default implementation of :meth:`utcoffset` raises :exc:" -"`NotImplementedError`." +"The default implementation of :meth:`utcoffset` " +"raises :exc:`NotImplementedError`." msgstr "" -"A implementação padrão de :meth:`utcoffset` levanta :exc:" -"`NotImplementedError`." +"A implementação padrão de :meth:`utcoffset` " +"levanta :exc:`NotImplementedError`." -#: ../../library/datetime.rst:1999 +#: ../../library/datetime.rst:2011 msgid "" "Return the daylight saving time (DST) adjustment, as a :class:`timedelta` " "object or ``None`` if DST information isn't known." @@ -2810,31 +2845,33 @@ msgstr "" "um objeto :class:`timedelta` ou ``None`` se informação para o horário de " "verão é desconhecida." -#: ../../library/datetime.rst:2003 +#: ../../library/datetime.rst:2015 msgid "" "Return ``timedelta(0)`` if DST is not in effect. If DST is in effect, return " "the offset as a :class:`timedelta` object (see :meth:`utcoffset` for " "details). Note that DST offset, if applicable, has already been added to the " -"UTC offset returned by :meth:`utcoffset`, so there's no need to consult :" -"meth:`dst` unless you're interested in obtaining DST info separately. For " -"example, :meth:`datetime.timetuple` calls its :attr:`~.datetime.tzinfo` " -"attribute's :meth:`dst` method to determine how the :attr:`tm_isdst` flag " -"should be set, and :meth:`tzinfo.fromutc` calls :meth:`dst` to account for " -"DST changes when crossing time zones." +"UTC offset returned by :meth:`utcoffset`, so there's no need to " +"consult :meth:`dst` unless you're interested in obtaining DST info " +"separately. For example, :meth:`datetime.timetuple` calls " +"its :attr:`~.datetime.tzinfo` attribute's :meth:`dst` method to determine " +"how the :attr:`~time.struct_time.tm_isdst` flag should be set, " +"and :meth:`tzinfo.fromutc` calls :meth:`dst` to account for DST changes when " +"crossing time zones." msgstr "" "Retorna ``timedelta(0)`` se o horário de verão não estiver ativo. Se o " -"horário de verão estiver ativo, retorna a diferença como um objeto :class:" -"`timedelta` (veja :meth:`utcoffset` para detalhes). Perceba que a diferença " -"do horário de verão, se aplicável, já foi adicionada a diferença UTC " -"retornada por :meth:`utcoffset`, então não existe necessidade de consultar :" -"meth:`dst` a não ser que você esteja interessado em obter a informação de " -"horário de verão separadamente. Por exemplo, :meth:`datetime.timetuple` " -"chama o método :meth:`dst` do seu atributo :attr:`~.datetime.tzinfo` para " -"determinar como o flag :attr:`tm_isdst` deve ser definido, e :meth:`tzinfo." -"fromutc` chama :meth:`dst` para contabilizar as mudanças de horário de verão " -"quando ocorrem mudanças de fuso horário." - -#: ../../library/datetime.rst:2013 +"horário de verão estiver ativo, retorna a diferença como um " +"objeto :class:`timedelta` (veja :meth:`utcoffset` para detalhes). Perceba " +"que a diferença do horário de verão, se aplicável, já foi adicionada a " +"diferença UTC retornada por :meth:`utcoffset`, então não existe necessidade " +"de consultar :meth:`dst` a não ser que você esteja interessado em obter a " +"informação de horário de verão separadamente. Por " +"exemplo, :meth:`datetime.timetuple` chama o método :meth:`dst` do seu " +"atributo :attr:`~.datetime.tzinfo` para determinar como o " +"flag :attr:`~time.struct_time.tm_isdst` deve ser definido, " +"e :meth:`tzinfo.fromutc` chama :meth:`dst` para contabilizar as mudanças de " +"horário de verão quando ocorrem mudanças de fuso horário." + +#: ../../library/datetime.rst:2025 msgid "" "An instance *tz* of a :class:`tzinfo` subclass that models both standard and " "daylight times must be consistent in this sense:" @@ -2842,33 +2879,24 @@ msgstr "" "Uma instância *tz* de uma subclasse :class:`tzinfo` que modela tanto horário " "padrão quanto horário de verão deve ser consistente neste sentido:" -#: ../../library/datetime.rst:2016 +#: ../../library/datetime.rst:2028 msgid "``tz.utcoffset(dt) - tz.dst(dt)``" msgstr "``tz.utcoffset(dt) - tz.dst(dt)``" -#: ../../library/datetime.rst:2018 -msgid "" -"must return the same result for every :class:`.datetime` *dt* with ``dt." -"tzinfo == tz`` For sane :class:`tzinfo` subclasses, this expression yields " -"the time zone's \"standard offset\", which should not depend on the date or " -"the time, but only on geographic location. The implementation of :meth:" -"`datetime.astimezone` relies on this, but cannot detect violations; it's the " -"programmer's responsibility to ensure it. If a :class:`tzinfo` subclass " -"cannot guarantee this, it may be able to override the default implementation " -"of :meth:`tzinfo.fromutc` to work correctly with :meth:`astimezone` " -"regardless." -msgstr "" -"deve retornar o mesmo resultado para cada :class:`.datetime` *dt* com ``dt." -"tzinfo == tz`` para subclasses :class:`tzinfo` sãs, esta expressão produz a " -"\"diferença padrão\" do fuso horário, a qual não deve depender de data ou " -"hora, mas apenas de localização geográfica. A implementação de :meth:" -"`datetime.astimezone` depende disso, mas não pode detectar violações; é " -"responsabilidade do programador garantir isso. Se uma subclasse :class:" -"`tzinfo` não pode garantir isso, ele pode ser capaz de substituir a " -"implementação padrão de :meth:`tzinfo.fromutc` para funcionar corretamente " -"com :meth:`astimezone` independente disso." - -#: ../../library/datetime.rst:2027 +#: ../../library/datetime.rst:2030 +msgid "" +"must return the same result for every :class:`.datetime` *dt* with " +"``dt.tzinfo == tz`` For sane :class:`tzinfo` subclasses, this expression " +"yields the time zone's \"standard offset\", which should not depend on the " +"date or the time, but only on geographic location. The implementation " +"of :meth:`datetime.astimezone` relies on this, but cannot detect violations; " +"it's the programmer's responsibility to ensure it. If a :class:`tzinfo` " +"subclass cannot guarantee this, it may be able to override the default " +"implementation of :meth:`tzinfo.fromutc` to work correctly " +"with :meth:`~.datetime.astimezone` regardless." +msgstr "" + +#: ../../library/datetime.rst:2039 msgid "" "Most implementations of :meth:`dst` will probably look like one of these " "two::" @@ -2876,21 +2904,21 @@ msgstr "" "Maior parte das implementações de :meth:`dst` provavelmente irá parecer com " "um destes dois::" -#: ../../library/datetime.rst:2033 +#: ../../library/datetime.rst:2045 msgid "or::" -msgstr "or::" +msgstr "ou::" -#: ../../library/datetime.rst:2045 +#: ../../library/datetime.rst:2057 msgid "" "The default implementation of :meth:`dst` raises :exc:`NotImplementedError`." msgstr "" "A implementação padrão de :meth:`dst` levanta :exc:`NotImplementedError`." -#: ../../library/datetime.rst:2053 +#: ../../library/datetime.rst:2065 msgid "" "Return the time zone name corresponding to the :class:`.datetime` object " -"*dt*, as a string. Nothing about string names is defined by the :mod:" -"`datetime` module, and there's no requirement that it mean anything in " +"*dt*, as a string. Nothing about string names is defined by the :mod:`!" +"datetime` module, and there's no requirement that it mean anything in " "particular. For example, \"GMT\", \"UTC\", \"-500\", \"-5:00\", \"EDT\", " "\"US/Eastern\", \"America/New York\" are all valid replies. Return ``None`` " "if a string name isn't known. Note that this is a method rather than a fixed " @@ -2898,41 +2926,31 @@ msgid "" "different names depending on the specific value of *dt* passed, especially " "if the :class:`tzinfo` class is accounting for daylight time." msgstr "" -"Retorna o fuso horário correspondente para o objeto :class:`.datetime` *dt*, " -"como uma string. Nada a respeito de nomes das string é definido pelo módulo :" -"mod:`datetime`, e não existe requisito que ele signifique qualquer coisa em " -"particular. Por exemplo, \"GMT\", \"UTC\", \"-500\", \"-5:00\", \"EDT\", " -"\"US/Eastern\", \"America/New York\" são todos retornos válidos. Retorna " -"``None`` se o nome da string não é conhecido. Perceba que isto é um método " -"ao invés de uma string fixa, primariamente porque algumas subclasses :class:" -"`tzinfo` desejarão retornar diferentes nomes dependendo do valor específico " -"de *dt* passado, especialmente se a classe :class:`tzinfo` estiver " -"contabilizando horário de verão." -#: ../../library/datetime.rst:2063 +#: ../../library/datetime.rst:2075 msgid "" -"The default implementation of :meth:`tzname` raises :exc:" -"`NotImplementedError`." +"The default implementation of :meth:`tzname` " +"raises :exc:`NotImplementedError`." msgstr "" "A implementação padrão de :meth:`tzname` levanta :exc:`NotImplementedError`." -#: ../../library/datetime.rst:2066 +#: ../../library/datetime.rst:2078 msgid "" "These methods are called by a :class:`.datetime` or :class:`.time` object, " "in response to their methods of the same names. A :class:`.datetime` object " "passes itself as the argument, and a :class:`.time` object passes ``None`` " "as the argument. A :class:`tzinfo` subclass's methods should therefore be " -"prepared to accept a *dt* argument of ``None``, or of class :class:`." -"datetime`." +"prepared to accept a *dt* argument of ``None``, or of " +"class :class:`.datetime`." msgstr "" -"Estes métodos são chamados por um objeto :class:`.datetime` ou :class:`." -"time`, em resposta aos seus métodos de mesmo nome. Um objeto :class:`." -"datetime` passa a si mesmo como argumento, e um objeto :class:`.time` passa " -"``None`` como o argumento. Os métodos de uma subclasse :class:`tzinfo` devem " -"portanto estar preparados para aceitar um argumento *dt* com valor ``None``, " -"ou uma classe :class:`.datetime`." +"Estes métodos são chamados por um objeto :class:`.datetime` " +"ou :class:`.time`, em resposta aos seus métodos de mesmo nome. Um " +"objeto :class:`.datetime` passa a si mesmo como argumento, e um " +"objeto :class:`.time` passa ``None`` como o argumento. Os métodos de uma " +"subclasse :class:`tzinfo` devem portanto estar preparados para aceitar um " +"argumento *dt* com valor ``None``, ou uma classe :class:`.datetime`." -#: ../../library/datetime.rst:2072 +#: ../../library/datetime.rst:2084 msgid "" "When ``None`` is passed, it's up to the class designer to decide the best " "response. For example, returning ``None`` is appropriate if the class wishes " @@ -2942,36 +2960,36 @@ msgid "" msgstr "" "Quando ``None`` é passado, cabe ao projetista da classe decidir a melhor " "resposta. Por exemplo, retornar ``None`` é apropriado se a classe deseja " -"dizer que objetos time não participam nos protocolos da classe :class:" -"`tzinfo`. Pode ser mais útil para ``utcoffset(None)`` retornar a diferença " -"UTC padrão, como não existe outra convenção para descobrir a diferença " -"padrão." +"dizer que objetos time não participam nos protocolos da " +"classe :class:`tzinfo`. Pode ser mais útil para ``utcoffset(None)`` retornar " +"a diferença UTC padrão, como não existe outra convenção para descobrir a " +"diferença padrão." -#: ../../library/datetime.rst:2078 +#: ../../library/datetime.rst:2090 msgid "" -"When a :class:`.datetime` object is passed in response to a :class:`." -"datetime` method, ``dt.tzinfo`` is the same object as *self*. :class:" -"`tzinfo` methods can rely on this, unless user code calls :class:`tzinfo` " -"methods directly. The intent is that the :class:`tzinfo` methods interpret " -"*dt* as being in local time, and not need worry about objects in other " -"timezones." +"When a :class:`.datetime` object is passed in response to " +"a :class:`.datetime` method, ``dt.tzinfo`` is the same object as " +"*self*. :class:`tzinfo` methods can rely on this, unless user code " +"calls :class:`tzinfo` methods directly. The intent is that " +"the :class:`tzinfo` methods interpret *dt* as being in local time, and not " +"need worry about objects in other timezones." msgstr "" -"Quando um objeto :class:`.datetime` é passado na resposta ao método :class:`." -"datetime`, ``dt.tzinfo`` é o mesmo objeto que *self*. :class:`tzinfo` e os " -"métodos podem depender disso, a não ser que o código do usuário chame " -"métodos :class:`tzinfo` diretamente. A intenção é que os métodos :class:" -"`tzinfo` interpretem *dt* como estando em hora local, e não precisem se " -"preocupar com objetos em outros fusos horários." +"Quando um objeto :class:`.datetime` é passado na resposta ao " +"método :class:`.datetime`, ``dt.tzinfo`` é o mesmo objeto que " +"*self*. :class:`tzinfo` e os métodos podem depender disso, a não ser que o " +"código do usuário chame métodos :class:`tzinfo` diretamente. A intenção é " +"que os métodos :class:`tzinfo` interpretem *dt* como estando em hora local, " +"e não precisem se preocupar com objetos em outros fusos horários." -#: ../../library/datetime.rst:2084 +#: ../../library/datetime.rst:2096 msgid "" "There is one more :class:`tzinfo` method that a subclass may wish to " "override:" msgstr "" -"Exste mais um método :class:`tzinfo` que uma subclasse pode querer " -"substituir:" +"Existe mais um método :class:`tzinfo` que uma subclasse pode desejar " +"substituição:" -#: ../../library/datetime.rst:2089 +#: ../../library/datetime.rst:2101 msgid "" "This is called from the default :class:`datetime.astimezone()` " "implementation. When called from that, ``dt.tzinfo`` is *self*, and *dt*'s " @@ -2985,54 +3003,57 @@ msgstr "" "propósito de :meth:`fromutc` é ajustar os dados de data e hora, retornando " "um datetime equivalente na hora local de *self*." -#: ../../library/datetime.rst:2095 -msgid "" -"Most :class:`tzinfo` subclasses should be able to inherit the default :meth:" -"`fromutc` implementation without problems. It's strong enough to handle " -"fixed-offset time zones, and time zones accounting for both standard and " -"daylight time, and the latter even if the DST transition times differ in " -"different years. An example of a time zone the default :meth:`fromutc` " -"implementation may not handle correctly in all cases is one where the " -"standard offset (from UTC) depends on the specific date and time passed, " -"which can happen for political reasons. The default implementations of :meth:" -"`astimezone` and :meth:`fromutc` may not produce the result you want if the " -"result is one of the hours straddling the moment the standard offset changes." -msgstr "" -"Maioria das subclasses :class:`tzinfo` deve ser capaz de herdar a " -"implementação padrão :meth:`fromutc` sem problemas. É forte o suficiente " -"para manipular fuso horários com diferença fixa, e fuso horários " -"contabilizando tanto hora padrão como horário de verão, e o segundo mesmo se " -"a transição para horário de verão for diferente em anos diferentes. Um " -"exemplo de um fuso horário onde a implementação padrão :meth:`fromutc` pode " -"acabar não lidando corretamente todos os casos, é quando a diferença padrão " -"(a partir do UTC) depende da data e hora específica passada, a qual pode " -"ocorrer por razões políticas. As implementações padrões de :meth:" -"`astimezone` e :meth:`fromutc` podem não produzir o resultado desejado se o " -"resultado é uma das horas do momento que a diferença padrão muda." - -#: ../../library/datetime.rst:2106 +#: ../../library/datetime.rst:2107 +msgid "" +"Most :class:`tzinfo` subclasses should be able to inherit the " +"default :meth:`fromutc` implementation without problems. It's strong enough " +"to handle fixed-offset time zones, and time zones accounting for both " +"standard and daylight time, and the latter even if the DST transition times " +"differ in different years. An example of a time zone the " +"default :meth:`fromutc` implementation may not handle correctly in all cases " +"is one where the standard offset (from UTC) depends on the specific date and " +"time passed, which can happen for political reasons. The default " +"implementations of :meth:`~.datetime.astimezone` and :meth:`fromutc` may not " +"produce the result you want if the result is one of the hours straddling the " +"moment the standard offset changes." +msgstr "" +"A maioria das subclasses de :class:`tzinfo` deve ser capaz de herdar a " +"implementação padrão de :meth:`fromutc` sem problemas. Ela é robusta o " +"suficiente para lidar com fusos horários de deslocamento fixo, e fusos " +"horários que contabilizam tanto o horário padrão quanto o horário de verão, " +"sendo que este último é tratado mesmo que os horários de transição do " +"horário de verão sejam diferentes em anos distintos. Um exemplo de fuso " +"horário que a implementação padrão de :meth:`fromutc` pode não lidar " +"corretamente em todos os casos é aquele onde o deslocamento padrão (de UTC) " +"depende da data e hora específicas passadas, o que pode acontecer por razões " +"políticas. As implementações padrão de :meth:`~.datetime.astimezone` " +"e :meth:`fromutc` podem não produzir o resultado desejado se o resultado " +"estiver entre as horas que abrangem o momento em que o deslocamento padrão " +"muda." + +#: ../../library/datetime.rst:2118 msgid "" "Skipping code for error cases, the default :meth:`fromutc` implementation " "acts like::" msgstr "" -"Ignorando o código para casos de erros, a implementação padrão :meth:" -"`fromutc` funciona como::" +"Ignorando o código para casos de erros, a implementação " +"padrão :meth:`fromutc` funciona como::" -#: ../../library/datetime.rst:2124 +#: ../../library/datetime.rst:2136 msgid "" -"In the following :download:`tzinfo_examples.py <../includes/tzinfo_examples." -"py>` file there are some examples of :class:`tzinfo` classes:" +"In the following :download:`tzinfo_examples.py <../includes/" +"tzinfo_examples.py>` file there are some examples of :class:`tzinfo` classes:" msgstr "" "No seguinte arquivo :download:`tzinfo_examples.py <../includes/" "tzinfo_examples.py>` existem alguns exemplos de classes :class:`tzinfo`:" -#: ../../library/datetime.rst:2130 +#: ../../library/datetime.rst:2142 msgid "" -"Note that there are unavoidable subtleties twice per year in a :class:" -"`tzinfo` subclass accounting for both standard and daylight time, at the DST " -"transition points. For concreteness, consider US Eastern (UTC -0500), where " -"EDT begins the minute after 1:59 (EST) on the second Sunday in March, and " -"ends the minute after 1:59 (EDT) on the first Sunday in November::" +"Note that there are unavoidable subtleties twice per year in " +"a :class:`tzinfo` subclass accounting for both standard and daylight time, " +"at the DST transition points. For concreteness, consider US Eastern (UTC " +"-0500), where EDT begins the minute after 1:59 (EST) on the second Sunday in " +"March, and ends the minute after 1:59 (EDT) on the first Sunday in November::" msgstr "" "Perceba que existem sutilezas inevitáveis duas vezes por ano em uma " "subclasse :class:`tzinfo` contabilizando tanto hora normal e horário de " @@ -3042,7 +3063,7 @@ msgstr "" "termina no minuto posterior a 1:59 (EDT, horário de verão) no primeiro " "domingo de Novembro::" -#: ../../library/datetime.rst:2144 +#: ../../library/datetime.rst:2156 msgid "" "When DST starts (the \"start\" line), the local wall clock leaps from 1:59 " "to 3:00. A wall time of the form 2:MM doesn't really make sense on that day, " @@ -3057,74 +3078,71 @@ msgstr "" "começar. Por exemplo, na primavera de transição para frente em 2016, nós " "tivemos::" -#: ../../library/datetime.rst:2163 +#: ../../library/datetime.rst:2175 msgid "" "When DST ends (the \"end\" line), there's a potentially worse problem: " "there's an hour that can't be spelled unambiguously in local wall time: the " "last hour of daylight time. In Eastern, that's times of the form 5:MM UTC on " "the day daylight time ends. The local wall clock leaps from 1:59 (daylight " "time) back to 1:00 (standard time) again. Local times of the form 1:MM are " -"ambiguous. :meth:`astimezone` mimics the local clock's behavior by mapping " -"two adjacent UTC hours into the same local hour then. In the Eastern " -"example, UTC times of the form 5:MM and 6:MM both map to 1:MM when converted " -"to Eastern, but earlier times have the :attr:`~datetime.fold` attribute set " -"to 0 and the later times have it set to 1. For example, at the Fall back " -"transition of 2016, we get::" -msgstr "" -"Quando o horário de verão termina (o \"fim\" da linha), existe um problema " -"potencialmente pior: existe uma hora que não pode ser pronunciada " -"inequivocamente em hora local na parede: a última hora do horário de verão. " -"No oriente, essa hora é na forma de 5:MM UTC no dia que o horário de verão " -"acaba. A hora local na parede salta de 1:59 (horário de verão) de volta para " -"1:00 (hora padrão) de novo. Horário local na forma 1:MM são ambíguos. :meth:" -"`astimezone` então imita o comportamento do relógio local através do " -"mapeamento de duas horas UTC adjacentes na mesma hora local. No ocidente por " -"exemplo, horas UTC da forma 5:MM e 6:MM ambas mapeiam para 1:MM quando " -"convertidas para ocidente, mas horas anteriores tem o atributo :attr:" -"`~datetime.fold` definido para 0 e horas posteriores tem o mesmo definido " -"para 1. Por exemplo, na transição de volta para o outono de 2016, nós " -"obtivemos::" - -#: ../../library/datetime.rst:2185 +"ambiguous. :meth:`~.datetime.astimezone` mimics the local clock's behavior " +"by mapping two adjacent UTC hours into the same local hour then. In the " +"Eastern example, UTC times of the form 5:MM and 6:MM both map to 1:MM when " +"converted to Eastern, but earlier times have the :attr:`~.datetime.fold` " +"attribute set to 0 and the later times have it set to 1. For example, at the " +"Fall back transition of 2016, we get::" +msgstr "" +"Quando o horário de verão termina (a linha \"end\"), há um problema " +"potencialmente pior: existe uma hora que não pode ser expressa de forma " +"inequívoca no horário local: a última hora do horário de verão. No fuso " +"Eastern, isso corresponde a horários no formato 5:MM UTC no dia em que o " +"horário de verão termina. O relógio de parede local salta de 1:59 (horário " +"de verão) para 1:00 (horário padrão) novamente. Horários locais no formato " +"1:MM são ambíguos. :meth:`~.datetime.astimezone` imita o comportamento do " +"relógio local mapeando então duas horas UTC adjacentes para a mesma hora " +"local. No exemplo do fuso Eastern, horários UTC no formato 5:MM e 6:MM ambos " +"se transformam em 1:MM quando convertidos para o fuso Eastern, mas os " +"horários anteriores têm o atributo :attr:`~.datetime.fold` definido como 0 e " +"os horários posteriores têm o atributo definido como 1. Por exemplo, na " +"transição de retorno de 2016, obtemos::" + +#: ../../library/datetime.rst:2197 msgid "" "Note that the :class:`.datetime` instances that differ only by the value of " -"the :attr:`~datetime.fold` attribute are considered equal in comparisons." +"the :attr:`~.datetime.fold` attribute are considered equal in comparisons." msgstr "" -"Note que instâncias :class:`.datetime` que se diferenciam apenas pelo valor " -"do atributo :attr:`~datetime.fold` são consideradas iguais em comparações." +"Observe que as instâncias de :class:`.datetime` que diferem apenas pelo " +"valor do atributo :attr:`~.datetime.fold` são consideradas iguais nas " +"comparações." -#: ../../library/datetime.rst:2188 +#: ../../library/datetime.rst:2200 msgid "" "Applications that can't bear wall-time ambiguities should explicitly check " -"the value of the :attr:`~datetime.fold` attribute or avoid using hybrid :" -"class:`tzinfo` subclasses; there are no ambiguities when using :class:" -"`timezone`, or any other fixed-offset :class:`tzinfo` subclass (such as a " -"class representing only EST (fixed offset -5 hours), or only EDT (fixed " -"offset -4 hours))." -msgstr "" -"Aplicações que não podem suportar horário na parede com ambiguidades devem " -"explicitamente verificar o valor do atributo :attr:`~datetime.fold` ou " -"evitar o uso de subclasses :class:`tzinfo` híbridas; não existem " -"ambiguidades ao usar :class:`timezone`, ou qualquer outra subclasse :class:" -"`tzinfo` com diferença fixa (tal como uma classe representando apenas o " -"horário padrão na costa leste EST (diferença fixa de -5 horas), ou apenas o " -"horário de verão na costa leste EDT (diferença fixa de -4 horas))." - -#: ../../library/datetime.rst:2202 +"the value of the :attr:`~.datetime.fold` attribute or avoid using " +"hybrid :class:`tzinfo` subclasses; there are no ambiguities when " +"using :class:`timezone`, or any other fixed-offset :class:`tzinfo` subclass " +"(such as a class representing only EST (fixed offset -5 hours), or only EDT " +"(fixed offset -4 hours))." +msgstr "" +"Aplicações que não suportam ambiguidades de tempo devem verificar " +"explicitamente o valor do atributo :attr:`~.datetime.fold` ou evitar " +"utilizar subclasses híbridas :class:`tzinfo`; não há ambiguidades ao " +"usar :class:`timezone` ou qualquer outra subclasse :class:`tzinfo` de " +"deslocamento fixo (como uma classe que representa apenas EST (deslocamento " +"fixo de -5 horas) ou apenas EDT (deslocamento fixo de -4 horas))." + +#: ../../library/datetime.rst:2214 msgid ":mod:`zoneinfo`" msgstr ":mod:`zoneinfo`" -#: ../../library/datetime.rst:2197 +#: ../../library/datetime.rst:2209 msgid "" -"The :mod:`datetime` module has a basic :class:`timezone` class (for handling " -"arbitrary fixed offsets from UTC) and its :attr:`timezone.utc` attribute (a " -"UTC timezone instance)." +"The :mod:`!datetime` module has a basic :class:`timezone` class (for " +"handling arbitrary fixed offsets from UTC) and its :attr:`timezone.utc` " +"attribute (a UTC timezone instance)." msgstr "" -"O módulo :mod:`datetime` possui uma classe :class:`timezone` básica (para o " -"tratamento de diferenças temporárias fixas arbitrárias do UTC) e seu " -"atributo :attr:`timezone.utc` (uma instância do fuso horário UTC)." -#: ../../library/datetime.rst:2201 +#: ../../library/datetime.rst:2213 msgid "" "``zoneinfo`` brings the *IANA timezone database* (also known as the Olson " "database) to Python, and its usage is recommended." @@ -3133,12 +3151,12 @@ msgstr "" "conhecida como a base de dados Olson) para o Python, e sua utilização é " "recomendada." -#: ../../library/datetime.rst:2208 +#: ../../library/datetime.rst:2220 msgid "`IANA timezone database `_" msgstr "" "`Base de dados de fusos horários IANA `_" -#: ../../library/datetime.rst:2205 +#: ../../library/datetime.rst:2217 msgid "" "The Time Zone Database (often called tz, tzdata or zoneinfo) contains code " "and data that represent the history of local time for many representative " @@ -3152,11 +3170,11 @@ msgstr "" "periodicamente para refletir mudanças feitas por corpos políticos para " "limites de fuso horário, diferenças UTC, e regras de horário de verão." -#: ../../library/datetime.rst:2215 +#: ../../library/datetime.rst:2227 msgid ":class:`timezone` Objects" msgstr "Objetos :class:`timezone`" -#: ../../library/datetime.rst:2217 +#: ../../library/datetime.rst:2229 msgid "" "The :class:`timezone` class is a subclass of :class:`tzinfo`, each instance " "of which represents a timezone defined by a fixed offset from UTC." @@ -3165,7 +3183,7 @@ msgstr "" "de cada uma representam um fuso horário definido por uma diferença " "temporária fixa do UTC." -#: ../../library/datetime.rst:2221 +#: ../../library/datetime.rst:2233 msgid "" "Objects of this class cannot be used to represent timezone information in " "the locations where different offsets are used in different days of the year " @@ -3176,7 +3194,7 @@ msgstr "" "utilizadas em diferentes dias do ano, ou onde mudanças históricas foram " "feitas ao tempo civil." -#: ../../library/datetime.rst:2228 +#: ../../library/datetime.rst:2240 msgid "" "The *offset* argument must be specified as a :class:`timedelta` object " "representing the difference between the local time and UTC. It must be " @@ -3188,7 +3206,7 @@ msgstr "" "estritamente entre ``-timedelta(hours=24)`` e ``timedelta(hous=24)``, caso " "contrário a exceção :exc:`ValueError` será provocada." -#: ../../library/datetime.rst:2233 +#: ../../library/datetime.rst:2245 msgid "" "The *name* argument is optional. If specified it must be a string that will " "be used as the value returned by the :meth:`datetime.tzname` method." @@ -3196,7 +3214,7 @@ msgstr "" "O argumento *name* é opcional. Se especificado, deve ser uma string que será " "usada como o valor retornado pelo método :meth:`datetime.tzname`." -#: ../../library/datetime.rst:2244 ../../library/datetime.rst:2255 +#: ../../library/datetime.rst:2256 ../../library/datetime.rst:2267 msgid "" "Return the fixed value specified when the :class:`timezone` instance is " "constructed." @@ -3204,15 +3222,16 @@ msgstr "" "Retorna o valor fixo especificado quando a instância :class:`timezone` é " "construída." -#: ../../library/datetime.rst:2247 +#: ../../library/datetime.rst:2259 msgid "" "The *dt* argument is ignored. The return value is a :class:`timedelta` " "instance equal to the difference between the local time and UTC." msgstr "" -"O argumento *dt* é ignorado. O valor de retorno é uma instância :class:" -"`timedelta` equivalente à diferença entre o tempo local e o UTC." +"O argumento *dt* é ignorado. O valor de retorno é uma " +"instância :class:`timedelta` equivalente à diferença entre o tempo local e o " +"UTC." -#: ../../library/datetime.rst:2258 +#: ../../library/datetime.rst:2270 msgid "" "If *name* is not provided in the constructor, the name returned by " "``tzname(dt)`` is generated from the value of the ``offset`` as follows. If " @@ -3226,7 +3245,7 @@ msgstr "" "``UTC±HH:MM``, na qual ± é o sinal do ``offset``, HH e MM são dois dígitos " "de ``offset.hours`` e ``offset.minutes`` respectivamente." -#: ../../library/datetime.rst:2264 +#: ../../library/datetime.rst:2276 msgid "" "Name generated from ``offset=timedelta(0)`` is now plain ``'UTC'``, not " "``'UTC+00:00'``." @@ -3234,27 +3253,29 @@ msgstr "" "Nome gerado de ``offset=timedelta(0)`` é agora simplesmente ``'UTC'``, não " "``'UTC+00:00'``." -#: ../../library/datetime.rst:2271 +#: ../../library/datetime.rst:2283 msgid "Always returns ``None``." msgstr "Sempre retorna ``None``." -#: ../../library/datetime.rst:2275 +#: ../../library/datetime.rst:2287 msgid "" -"Return ``dt + offset``. The *dt* argument must be an aware :class:`." -"datetime` instance, with ``tzinfo`` set to ``self``." +"Return ``dt + offset``. The *dt* argument must be an " +"aware :class:`.datetime` instance, with ``tzinfo`` set to ``self``." msgstr "" -"Retorna ``dt + offset``. O argumento *dt* deve ser uma instância :class:`." -"datetime` consciente, com ``tzinfo`` definida para ``self``." +"Retorna ``dt + offset``. O argumento *dt* deve ser uma " +"instância :class:`.datetime` consciente, com ``tzinfo`` definida para " +"``self``." -#: ../../library/datetime.rst:2282 +#: ../../library/datetime.rst:2294 msgid "The UTC timezone, ``timezone(timedelta(0))``." msgstr "O fuso horário UTC, ``timezone(timedelta(0))``." -#: ../../library/datetime.rst:2291 -msgid ":meth:`strftime` and :meth:`strptime` Behavior" -msgstr "Comportamento de :meth:`strftime` e :meth:`strptime`" +#: ../../library/datetime.rst:2303 +msgid ":meth:`~.datetime.strftime` and :meth:`~.datetime.strptime` Behavior" +msgstr "" +"Comportamento de :meth:`~.datetime.strftime` e :meth:`~.datetime.strptime`" -#: ../../library/datetime.rst:2293 +#: ../../library/datetime.rst:2305 msgid "" ":class:`date`, :class:`.datetime`, and :class:`.time` objects all support a " "``strftime(format)`` method, to create a string representing the time under " @@ -3264,88 +3285,90 @@ msgstr "" "suporte ao método ``strftime(format)``, para criar uma string representando " "o tempo sob o controle de uma string de formatação explícita." -#: ../../library/datetime.rst:2297 +#: ../../library/datetime.rst:2309 msgid "" -"Conversely, the :meth:`datetime.strptime` class method creates a :class:`." -"datetime` object from a string representing a date and time and a " +"Conversely, the :meth:`datetime.strptime` class method creates " +"a :class:`.datetime` object from a string representing a date and time and a " "corresponding format string." msgstr "" -"Em recíproca, o método de classe :meth:`datetime.strptime` cria um objeto :" -"class:`.datetime` a partir de uma string representando a data e a hora e uma " -"string de formatação correspondente." +"Em recíproca, o método de classe :meth:`datetime.strptime` cria um " +"objeto :class:`.datetime` a partir de uma string representando a data e a " +"hora e uma string de formatação correspondente." -#: ../../library/datetime.rst:2301 +#: ../../library/datetime.rst:2313 msgid "" -"The table below provides a high-level comparison of :meth:`strftime` versus :" -"meth:`strptime`:" +"The table below provides a high-level comparison " +"of :meth:`~.datetime.strftime` versus :meth:`~.datetime.strptime`:" msgstr "" -"O tabela abaixo fornece uma comparação de alto nível de :meth:`strftime` " -"versus :meth:`strptime`:" +"A tabela abaixo fornece uma comparação de alto nível " +"entre :meth:`~.datetime.strftime` e :meth:`~.datetime.strptime`:" -#: ../../library/datetime.rst:2305 +#: ../../library/datetime.rst:2317 msgid "``strftime``" msgstr "``strftime``" -#: ../../library/datetime.rst:2305 +#: ../../library/datetime.rst:2317 msgid "``strptime``" msgstr "``strptime``" -#: ../../library/datetime.rst:2307 +#: ../../library/datetime.rst:2319 msgid "Usage" msgstr "Uso" -#: ../../library/datetime.rst:2307 +#: ../../library/datetime.rst:2319 msgid "Convert object to a string according to a given format" msgstr "Converte objeto para uma string conforme um formato fornecido" -#: ../../library/datetime.rst:2307 +#: ../../library/datetime.rst:2319 msgid "" "Parse a string into a :class:`.datetime` object given a corresponding format" msgstr "" "Interpreta uma string como um objeto :class:`.datetime` dado um formato " "correspondente" -#: ../../library/datetime.rst:2309 +#: ../../library/datetime.rst:2321 msgid "Type of method" msgstr "Tipo de método" -#: ../../library/datetime.rst:2309 +#: ../../library/datetime.rst:2321 msgid "Instance method" msgstr "Método de instância" -#: ../../library/datetime.rst:2309 +#: ../../library/datetime.rst:2321 msgid "Class method" msgstr "Método de classe" -#: ../../library/datetime.rst:2311 +#: ../../library/datetime.rst:2323 msgid "Method of" msgstr "Método de" -#: ../../library/datetime.rst:2311 +#: ../../library/datetime.rst:2323 msgid ":class:`date`; :class:`.datetime`; :class:`.time`" msgstr ":class:`date`; :class:`.datetime`; :class:`.time`" -#: ../../library/datetime.rst:2311 +#: ../../library/datetime.rst:2323 msgid ":class:`.datetime`" msgstr ":class:`.datetime`" -#: ../../library/datetime.rst:2313 +#: ../../library/datetime.rst:2325 msgid "Signature" msgstr "Assinatura" -#: ../../library/datetime.rst:2313 +#: ../../library/datetime.rst:2325 msgid "``strftime(format)``" msgstr "``strftime(format)``" -#: ../../library/datetime.rst:2313 +#: ../../library/datetime.rst:2325 msgid "``strptime(date_string, format)``" msgstr "``strptime(date_string, format)``" -#: ../../library/datetime.rst:2318 -msgid ":meth:`strftime` and :meth:`strptime` Format Codes" -msgstr "Códigos de formatação para :meth:`strftime` e :meth:`strptime`" +#: ../../library/datetime.rst:2332 +msgid "" +":meth:`~.datetime.strftime` and :meth:`~.datetime.strptime` Format Codes" +msgstr "" +"Códigos de formato :meth:`~.datetime.strftime` e :meth:`~.datetime.strptime`" -#: ../../library/datetime.rst:2320 +#: ../../library/datetime.rst:2334 msgid "" "These methods accept format codes that can be used to parse and format " "dates::" @@ -3353,7 +3376,7 @@ msgstr "" "Esses métodos aceitam códigos de formato que podem ser usados para analisar " "e formatar datas::" -#: ../../library/datetime.rst:2328 +#: ../../library/datetime.rst:2342 msgid "" "The following is a list of all the format codes that the 1989 C standard " "requires, and these work on all platforms with a standard C implementation." @@ -3362,27 +3385,27 @@ msgstr "" "C de 1989 requer, e eles funcionam em todas as plataformas com implementação " "padrão C." -#: ../../library/datetime.rst:2332 ../../library/datetime.rst:2435 +#: ../../library/datetime.rst:2346 ../../library/datetime.rst:2449 msgid "Directive" msgstr "Diretiva" -#: ../../library/datetime.rst:2332 ../../library/datetime.rst:2435 +#: ../../library/datetime.rst:2346 ../../library/datetime.rst:2449 msgid "Meaning" msgstr "Significado" -#: ../../library/datetime.rst:2332 ../../library/datetime.rst:2435 +#: ../../library/datetime.rst:2346 ../../library/datetime.rst:2449 msgid "Example" msgstr "Exemplo" -#: ../../library/datetime.rst:2332 ../../library/datetime.rst:2435 +#: ../../library/datetime.rst:2346 ../../library/datetime.rst:2449 msgid "Notes" msgstr "Notas" -#: ../../library/datetime.rst:2334 +#: ../../library/datetime.rst:2348 msgid "``%a``" msgstr "``%a``" -#: ../../library/datetime.rst:2334 +#: ../../library/datetime.rst:2348 msgid "Weekday as locale's abbreviated name." msgstr "Dias da semana como nomes abreviados da localidade." @@ -3394,11 +3417,11 @@ msgstr "Sun, Mon, ..., Sat (en_US);" msgid "So, Mo, ..., Sa (de_DE)" msgstr "So, Mo, ..., Sa (de_DE)" -#: ../../library/datetime.rst:2339 +#: ../../library/datetime.rst:2353 msgid "``%A``" msgstr "``%A``" -#: ../../library/datetime.rst:2339 +#: ../../library/datetime.rst:2353 msgid "Weekday as locale's full name." msgstr "Dia da semana como nome completo da localidade." @@ -3410,42 +3433,42 @@ msgstr "Sunday, Monday, ..., Saturday (en_US);" msgid "Sonntag, Montag, ..., Samstag (de_DE)" msgstr "Sonntag, Montag, ..., Samstag (de_DE)" -#: ../../library/datetime.rst:2344 +#: ../../library/datetime.rst:2358 msgid "``%w``" msgstr "``%w``" -#: ../../library/datetime.rst:2344 +#: ../../library/datetime.rst:2358 msgid "Weekday as a decimal number, where 0 is Sunday and 6 is Saturday." msgstr "Dia da semana como um número decimal, onde 0 é domingo e 6 é sábado." -#: ../../library/datetime.rst:2344 +#: ../../library/datetime.rst:2358 msgid "0, 1, ..., 6" msgstr "0, 1, ..., 6" -#: ../../library/datetime.rst:2348 +#: ../../library/datetime.rst:2362 msgid "``%d``" msgstr "``%d``" -#: ../../library/datetime.rst:2348 +#: ../../library/datetime.rst:2362 msgid "Day of the month as a zero-padded decimal number." msgstr "Dia do mês como um número decimal com zeros a esquerda." -#: ../../library/datetime.rst:2348 +#: ../../library/datetime.rst:2362 msgid "01, 02, ..., 31" msgstr "01, 02, ..., 31" -#: ../../library/datetime.rst:2348 ../../library/datetime.rst:2361 -#: ../../library/datetime.rst:2364 ../../library/datetime.rst:2370 -#: ../../library/datetime.rst:2373 ../../library/datetime.rst:2379 -#: ../../library/datetime.rst:2397 +#: ../../library/datetime.rst:2362 ../../library/datetime.rst:2375 +#: ../../library/datetime.rst:2378 ../../library/datetime.rst:2384 +#: ../../library/datetime.rst:2387 ../../library/datetime.rst:2393 +#: ../../library/datetime.rst:2411 msgid "\\(9)" msgstr "\\(9)" -#: ../../library/datetime.rst:2351 +#: ../../library/datetime.rst:2365 msgid "``%b``" msgstr "``%b``" -#: ../../library/datetime.rst:2351 +#: ../../library/datetime.rst:2365 msgid "Month as locale's abbreviated name." msgstr "Mês como nome da localidade abreviado." @@ -3457,11 +3480,11 @@ msgstr "Jan, Feb, ..., Dec (en_US);" msgid "Jan, Feb, ..., Dez (de_DE)" msgstr "Jan, Feb, ..., Dez (de_DE)" -#: ../../library/datetime.rst:2356 +#: ../../library/datetime.rst:2370 msgid "``%B``" msgstr "``%B``" -#: ../../library/datetime.rst:2356 +#: ../../library/datetime.rst:2370 msgid "Month as locale's full name." msgstr "Mês como nome completo da localidade." @@ -3473,69 +3496,69 @@ msgstr "January, February, ..., December (en_US);" msgid "Januar, Februar, ..., Dezember (de_DE)" msgstr "janeiro, fevereiro, ..., dezembro (pt_BR)" -#: ../../library/datetime.rst:2361 +#: ../../library/datetime.rst:2375 msgid "``%m``" msgstr "``%m``" -#: ../../library/datetime.rst:2361 +#: ../../library/datetime.rst:2375 msgid "Month as a zero-padded decimal number." msgstr "Mês como um número decimal com zeros a esquerda." -#: ../../library/datetime.rst:2361 ../../library/datetime.rst:2373 +#: ../../library/datetime.rst:2375 ../../library/datetime.rst:2387 msgid "01, 02, ..., 12" msgstr "01, 02, ..., 12" -#: ../../library/datetime.rst:2364 +#: ../../library/datetime.rst:2378 msgid "``%y``" msgstr "``%y``" -#: ../../library/datetime.rst:2364 +#: ../../library/datetime.rst:2378 msgid "Year without century as a zero-padded decimal number." msgstr "Ano sem século como um número decimal com zeros a esquerda." -#: ../../library/datetime.rst:2364 +#: ../../library/datetime.rst:2378 msgid "00, 01, ..., 99" msgstr "00, 01, ..., 99" -#: ../../library/datetime.rst:2367 +#: ../../library/datetime.rst:2381 msgid "``%Y``" msgstr "``%Y``" -#: ../../library/datetime.rst:2367 +#: ../../library/datetime.rst:2381 msgid "Year with century as a decimal number." msgstr "Ano com século como um número decimal." -#: ../../library/datetime.rst:2367 ../../library/datetime.rst:2437 +#: ../../library/datetime.rst:2381 ../../library/datetime.rst:2451 msgid "0001, 0002, ..., 2013, 2014, ..., 9998, 9999" msgstr "0001, 0002, ..., 2013, 2014, ..., 9998, 9999" -#: ../../library/datetime.rst:2370 +#: ../../library/datetime.rst:2384 msgid "``%H``" msgstr "``%H``" -#: ../../library/datetime.rst:2370 +#: ../../library/datetime.rst:2384 msgid "Hour (24-hour clock) as a zero-padded decimal number." msgstr "" "Hora (relógio de 24 horas) como um número decimal com zeros a esquerda." -#: ../../library/datetime.rst:2370 +#: ../../library/datetime.rst:2384 msgid "00, 01, ..., 23" msgstr "00, 01, ..., 23" -#: ../../library/datetime.rst:2373 +#: ../../library/datetime.rst:2387 msgid "``%I``" msgstr "``%I``" -#: ../../library/datetime.rst:2373 +#: ../../library/datetime.rst:2387 msgid "Hour (12-hour clock) as a zero-padded decimal number." msgstr "" "Hora (relógio de 12 horas) como um número decimal com zeros a esquerda." -#: ../../library/datetime.rst:2376 +#: ../../library/datetime.rst:2390 msgid "``%p``" msgstr "``%p``" -#: ../../library/datetime.rst:2376 +#: ../../library/datetime.rst:2390 msgid "Locale's equivalent of either AM or PM." msgstr "Equivalente da localidade a AM ou PM." @@ -3547,57 +3570,57 @@ msgstr "AM, PM (en_US);" msgid "am, pm (de_DE)" msgstr "am, pm (de_DE)" -#: ../../library/datetime.rst:2376 +#: ../../library/datetime.rst:2390 msgid "\\(1), \\(3)" msgstr "\\(1), \\(3)" -#: ../../library/datetime.rst:2379 +#: ../../library/datetime.rst:2393 msgid "``%M``" msgstr "``%M``" -#: ../../library/datetime.rst:2379 +#: ../../library/datetime.rst:2393 msgid "Minute as a zero-padded decimal number." msgstr "Minutos como um número decimal, com zeros a esquerda." -#: ../../library/datetime.rst:2379 ../../library/datetime.rst:2382 +#: ../../library/datetime.rst:2393 ../../library/datetime.rst:2396 msgid "00, 01, ..., 59" msgstr "00, 01, ..., 59" -#: ../../library/datetime.rst:2382 +#: ../../library/datetime.rst:2396 msgid "``%S``" msgstr "``%S``" -#: ../../library/datetime.rst:2382 +#: ../../library/datetime.rst:2396 msgid "Second as a zero-padded decimal number." msgstr "Segundos como um número decimal, com zeros a esquerda." -#: ../../library/datetime.rst:2382 +#: ../../library/datetime.rst:2396 msgid "\\(4), \\(9)" msgstr "\\(4), \\(9)" -#: ../../library/datetime.rst:2385 +#: ../../library/datetime.rst:2399 msgid "``%f``" msgstr "``%f``" -#: ../../library/datetime.rst:2385 +#: ../../library/datetime.rst:2399 msgid "Microsecond as a decimal number, zero-padded to 6 digits." msgstr "" "Microssegundos como um número decimal, com zeros à esquerda até completar 6 " "dígitos." -#: ../../library/datetime.rst:2385 +#: ../../library/datetime.rst:2399 msgid "000000, 000001, ..., 999999" msgstr "000000, 000001, ..., 999999" -#: ../../library/datetime.rst:2385 +#: ../../library/datetime.rst:2399 msgid "\\(5)" msgstr "\\(5)" -#: ../../library/datetime.rst:2389 ../../library/datetime.rst:2550 +#: ../../library/datetime.rst:2403 ../../library/datetime.rst:2564 msgid "``%z``" msgstr "``%z``" -#: ../../library/datetime.rst:2389 +#: ../../library/datetime.rst:2403 msgid "" "UTC offset in the form ``±HHMM[SS[.ffffff]]`` (empty string if the object is " "naive)." @@ -3605,43 +3628,43 @@ msgstr "" "Diferença UTC no formato ``±HHMM[SS[.ffffff]]`` (string vazia se o objeto é " "ingênuo)." -#: ../../library/datetime.rst:2389 +#: ../../library/datetime.rst:2403 msgid "(empty), +0000, -0400, +1030, +063415, -030712.345216" msgstr "(vazio), +0000, -0400, +1030, +063415, -030712.345216" -#: ../../library/datetime.rst:2389 ../../library/datetime.rst:2394 +#: ../../library/datetime.rst:2403 ../../library/datetime.rst:2408 msgid "\\(6)" msgstr "\\(6)" -#: ../../library/datetime.rst:2394 ../../library/datetime.rst:2574 +#: ../../library/datetime.rst:2408 ../../library/datetime.rst:2588 msgid "``%Z``" msgstr "``%Z``" -#: ../../library/datetime.rst:2394 +#: ../../library/datetime.rst:2408 msgid "Time zone name (empty string if the object is naive)." msgstr "Nome do fuso horário (string vazia se o objeto é ingênuo)." -#: ../../library/datetime.rst:2394 +#: ../../library/datetime.rst:2408 msgid "(empty), UTC, GMT" msgstr "(vazio), UTC, GMT" -#: ../../library/datetime.rst:2397 +#: ../../library/datetime.rst:2411 msgid "``%j``" msgstr "``%j``" -#: ../../library/datetime.rst:2397 +#: ../../library/datetime.rst:2411 msgid "Day of the year as a zero-padded decimal number." msgstr "Dia do ano como um número decimal, com zeros a esquerda." -#: ../../library/datetime.rst:2397 +#: ../../library/datetime.rst:2411 msgid "001, 002, ..., 366" msgstr "001, 002, ..., 366" -#: ../../library/datetime.rst:2400 +#: ../../library/datetime.rst:2414 msgid "``%U``" msgstr "``%U``" -#: ../../library/datetime.rst:2400 +#: ../../library/datetime.rst:2414 msgid "" "Week number of the year (Sunday as the first day of the week) as a zero-" "padded decimal number. All days in a new year preceding the first Sunday are " @@ -3651,19 +3674,19 @@ msgstr "" "número decimal, com zeros a esquerda. Todos os dias em um ano novo " "precedendo o primeiro domingo são considerados como estando na semana 0." -#: ../../library/datetime.rst:2400 ../../library/datetime.rst:2408 +#: ../../library/datetime.rst:2414 ../../library/datetime.rst:2422 msgid "00, 01, ..., 53" msgstr "00, 01, ..., 53" -#: ../../library/datetime.rst:2400 ../../library/datetime.rst:2408 +#: ../../library/datetime.rst:2414 ../../library/datetime.rst:2422 msgid "\\(7), \\(9)" msgstr "\\(7), \\(9)" -#: ../../library/datetime.rst:2408 +#: ../../library/datetime.rst:2422 msgid "``%W``" msgstr "``%W``" -#: ../../library/datetime.rst:2408 +#: ../../library/datetime.rst:2422 msgid "" "Week number of the year (Monday as the first day of the week) as a zero-" "padded decimal number. All days in a new year preceding the first Monday are " @@ -3674,11 +3697,11 @@ msgstr "" "precedendo a primeira segunda-feira são considerados como estando na semana " "0." -#: ../../library/datetime.rst:2416 +#: ../../library/datetime.rst:2430 msgid "``%c``" msgstr "``%c``" -#: ../../library/datetime.rst:2416 +#: ../../library/datetime.rst:2430 msgid "Locale's appropriate date and time representation." msgstr "Representação de data e hora apropriada da localidade." @@ -3690,11 +3713,11 @@ msgstr "Tue Aug 16 21:30:00 1988 (en_US);" msgid "Di 16 Aug 21:30:00 1988 (de_DE)" msgstr "Di 16 Aug 21:30:00 1988 (de_DE)" -#: ../../library/datetime.rst:2421 +#: ../../library/datetime.rst:2435 msgid "``%x``" msgstr "``%x``" -#: ../../library/datetime.rst:2421 +#: ../../library/datetime.rst:2435 msgid "Locale's appropriate date representation." msgstr "Representação de data apropriada de localidade." @@ -3710,11 +3733,11 @@ msgstr "08/16/1988 (en_US);" msgid "16.08.1988 (de_DE)" msgstr "16.08.1988 (de_DE)" -#: ../../library/datetime.rst:2425 +#: ../../library/datetime.rst:2439 msgid "``%X``" msgstr "``%X``" -#: ../../library/datetime.rst:2425 +#: ../../library/datetime.rst:2439 msgid "Locale's appropriate time representation." msgstr "Representação de hora apropriada da localidade." @@ -3726,19 +3749,19 @@ msgstr "21:30:00 (en_US);" msgid "21:30:00 (de_DE)" msgstr "21:30:00 (de_DE)" -#: ../../library/datetime.rst:2428 +#: ../../library/datetime.rst:2442 msgid "``%%``" msgstr "``%%``" -#: ../../library/datetime.rst:2428 +#: ../../library/datetime.rst:2442 msgid "A literal ``'%'`` character." msgstr "Um caractere literal ``'%'``." -#: ../../library/datetime.rst:2428 +#: ../../library/datetime.rst:2442 msgid "%" msgstr "%" -#: ../../library/datetime.rst:2431 +#: ../../library/datetime.rst:2445 msgid "" "Several additional directives not required by the C89 standard are included " "for convenience. These parameters all correspond to ISO 8601 date values." @@ -3747,11 +3770,11 @@ msgstr "" "para conveniência. Estes parâmetros todos correspondem a valores de datas na " "ISO 8601." -#: ../../library/datetime.rst:2437 +#: ../../library/datetime.rst:2451 msgid "``%G``" msgstr "``%G``" -#: ../../library/datetime.rst:2437 +#: ../../library/datetime.rst:2451 msgid "" "ISO 8601 year with century representing the year that contains the greater " "part of the ISO week (``%V``)." @@ -3759,27 +3782,27 @@ msgstr "" "Ano ISO 8601 com o século representando o ano que a maior parte da semana " "ISO (``%V``)." -#: ../../library/datetime.rst:2437 +#: ../../library/datetime.rst:2451 msgid "\\(8)" msgstr "\\(8)" -#: ../../library/datetime.rst:2442 +#: ../../library/datetime.rst:2456 msgid "``%u``" msgstr "``%u``" -#: ../../library/datetime.rst:2442 +#: ../../library/datetime.rst:2456 msgid "ISO 8601 weekday as a decimal number where 1 is Monday." msgstr "Dia de semana ISO 8601 como um número decimal onde 1 é segunda-feira." -#: ../../library/datetime.rst:2442 +#: ../../library/datetime.rst:2456 msgid "1, 2, ..., 7" msgstr "1, 2, ..., 7" -#: ../../library/datetime.rst:2445 +#: ../../library/datetime.rst:2459 msgid "``%V``" msgstr "``%V``" -#: ../../library/datetime.rst:2445 +#: ../../library/datetime.rst:2459 msgid "" "ISO 8601 week as a decimal number with Monday as the first day of the week. " "Week 01 is the week containing Jan 4." @@ -3787,77 +3810,77 @@ msgstr "" "Semana ISO 8601 como um número decimal, com segunda-feira como o primeiro " "dia da semana. A semana 01 é a semana contendo o dia 4 de Janeiro." -#: ../../library/datetime.rst:2445 +#: ../../library/datetime.rst:2459 msgid "01, 02, ..., 53" msgstr "01, 02, ..., 53" -#: ../../library/datetime.rst:2445 +#: ../../library/datetime.rst:2459 msgid "\\(8), \\(9)" msgstr "\\(8), \\(9)" -#: ../../library/datetime.rst:2452 +#: ../../library/datetime.rst:2466 msgid "" -"These may not be available on all platforms when used with the :meth:" -"`strftime` method. The ISO 8601 year and ISO 8601 week directives are not " -"interchangeable with the year and week number directives above. Calling :" -"meth:`strptime` with incomplete or ambiguous ISO 8601 directives will raise " -"a :exc:`ValueError`." +"These may not be available on all platforms when used with " +"the :meth:`~.datetime.strftime` method. The ISO 8601 year and ISO 8601 week " +"directives are not interchangeable with the year and week number directives " +"above. Calling :meth:`~.datetime.strptime` with incomplete or ambiguous ISO " +"8601 directives will raise a :exc:`ValueError`." msgstr "" -"Esses podem não estar disponíveis em todas as plataformas quando usados com " -"o método :meth:`strftime`. As diretivas de ano ISO 8601 e de semana ISO 8601 " -"não são intercambiáveis com as diretivas de número do ano e da semana acima. " -"Chamar :meth:`strptime` com diretivas ISO 8601 incompletas ou ambíguas irá " -"levantar um :exc:`ValueError`." +"Eles podem não estar disponíveis em todas as plataformas quando usados com o " +"método :meth:`~.datetime.strftime`. As diretivas de ano e semana da ISO 8601 " +"e ISO 8601 não são intercambiáveis com as diretivas ano e número da semana " +"acima. Chamar :meth:`~.datetime.strptime` com diretivas ISO 8601 incompletas " +"ou ambíguas levantará um :exc:`ValueError`." -#: ../../library/datetime.rst:2457 +#: ../../library/datetime.rst:2471 msgid "" "The full set of format codes supported varies across platforms, because " -"Python calls the platform C library's :func:`strftime` function, and " +"Python calls the platform C library's :c:func:`strftime` function, and " "platform variations are common. To see the full set of format codes " "supported on your platform, consult the :manpage:`strftime(3)` " "documentation. There are also differences between platforms in handling of " "unsupported format specifiers." msgstr "" -"O conjunto completo de códigos de formatação com suporte em várias " -"plataformas, porque o Python chama a função C :func:`strftime` da biblioteca " -"na plataforma, e variações de plataforma são comuns. Para ver o conjunto " -"completo de códigos de formatação com suporte na sua plataforma, consulte a " -"documentação de :manpage:`strftime(3)`. Também existem diferenças entre as " -"plataformas no tratamento de especificadores de formato sem suporte." +"O conjunto completo de códigos de formato suportados varia entre as " +"plataformas, porque o Python chama a função :c:func:`strftime` da biblioteca " +"C da plataforma, e variações de plataforma são comuns. Para ver o conjunto " +"completo de códigos de formato suportados em sua plataforma, consulte a " +"documentação :manpage:`strftime(3)`. Também existem diferenças entre " +"plataformas no tratamento de especificadores de formato não suportados." -#: ../../library/datetime.rst:2463 +#: ../../library/datetime.rst:2477 msgid "``%G``, ``%u`` and ``%V`` were added." msgstr "``%G``, ``%u`` e ``%V`` foram adicionados." -#: ../../library/datetime.rst:2467 +#: ../../library/datetime.rst:2481 msgid "Technical Detail" msgstr "Detalhes técnicos" -#: ../../library/datetime.rst:2469 +#: ../../library/datetime.rst:2483 msgid "" "Broadly speaking, ``d.strftime(fmt)`` acts like the :mod:`time` module's " -"``time.strftime(fmt, d.timetuple())`` although not all objects support a :" -"meth:`timetuple` method." +"``time.strftime(fmt, d.timetuple())`` although not all objects support " +"a :meth:`~date.timetuple` method." msgstr "" -"Falando de forma abrangente, ``d.strftime(fmt)`` atua como ``time." -"strftime(fmt, d.timetuple())`` do módulo :mod:`time`, apesar que nem todos " -"os objetos suportam um método :meth:`timetuple`." +"Em termos gerais, ``d.strftime(fmt)`` age como ``time.strftime(fmt, " +"d.timetuple())`` do módulo :mod:`time`, embora nem todos os objetos suportem " +"um método :meth:`~date.timetuple`." -#: ../../library/datetime.rst:2473 +#: ../../library/datetime.rst:2487 msgid "" -"For the :meth:`datetime.strptime` class method, the default value is " +"For the :meth:`.datetime.strptime` class method, the default value is " "``1900-01-01T00:00:00.000``: any components not specified in the format " "string will be pulled from the default value. [#]_" msgstr "" -"Para o método de classe :meth:`datetime.strptime`, o valor padrão é " -"``1900-01-01T00:00:00.000``: quaisquer componentes não especificados no " -"formato da string serão puxados do valor padrão. [#]_" +"Para o método de classe :meth:`.datetime.strptime`, o valor padrão é " +"``1900-01-01T00:00:00.000``: quaisquer componentes não especificados na " +"string de formato serão extraídos do valor padrão. [#]_" -#: ../../library/datetime.rst:2477 +#: ../../library/datetime.rst:2491 msgid "Using ``datetime.strptime(date_string, format)`` is equivalent to::" msgstr "Usar ``datetime.strptime(date_string, format)`` é equivalente a::" -#: ../../library/datetime.rst:2481 +#: ../../library/datetime.rst:2495 msgid "" "except when the format includes sub-second components or timezone offset " "information, which are supported in ``datetime.strptime`` but are discarded " @@ -3867,19 +3890,15 @@ msgstr "" "informações de diferenças de fuso horário, as quais são suportadas em " "``datetime.strptime``, mas são descartadas por ``time.strptime``." -#: ../../library/datetime.rst:2485 +#: ../../library/datetime.rst:2499 msgid "" "For :class:`.time` objects, the format codes for year, month, and day should " -"not be used, as :class:`time` objects have no such values. If they're used " +"not be used, as :class:`!time` objects have no such values. If they're used " "anyway, ``1900`` is substituted for the year, and ``1`` for the month and " "day." msgstr "" -"Para objetos :class:`.time`, o código de formatação para ano, mês, e dia não " -"deve ser usado, devido ao fato que objetos :class:`time` não possuem tais " -"valores. Se eles forem usados de mesmo assim, ``1900`` é substituído pelo " -"ano, e ``1`` pelo mês e dia." -#: ../../library/datetime.rst:2489 +#: ../../library/datetime.rst:2503 msgid "" "For :class:`date` objects, the format codes for hours, minutes, seconds, and " "microseconds should not be used, as :class:`date` objects have no such " @@ -3890,79 +3909,89 @@ msgstr "" "não tem tais valores. Se eles forem mesmo assim, ``0`` é substituído no " "lugar deles." -#: ../../library/datetime.rst:2493 +#: ../../library/datetime.rst:2507 msgid "" "For the same reason, handling of format strings containing Unicode code " "points that can't be represented in the charset of the current locale is " "also platform-dependent. On some platforms such code points are preserved " -"intact in the output, while on others ``strftime`` may raise :exc:" -"`UnicodeError` or return an empty string instead." +"intact in the output, while on others ``strftime`` may " +"raise :exc:`UnicodeError` or return an empty string instead." msgstr "" -"Pela mesma razão, o tratamento de formatação de strings contendo pontos de " +"Pela mesma razão, o tratamento de formato de strings contendo pontos de " "código Unicode que não podem ser representados no conjunto de caracteres da " "localidade atual também é dependente da plataforma. Em algumas plataformas, " "tais pontos de código são preservados intactos na saída, enquanto em outros " "``strftime`` pode levantar :exc:`UnicodeError` ou retornar uma string vazia " "ao invés." -#: ../../library/datetime.rst:2502 +#: ../../library/datetime.rst:2516 msgid "" "Because the format depends on the current locale, care should be taken when " "making assumptions about the output value. Field orderings will vary (for " "example, \"month/day/year\" versus \"day/month/year\"), and the output may " "contain non-ASCII characters." msgstr "" +"Como o formato depende da localidade atual, deve-se tomar cuidado ao fazer " +"suposições sobre o valor de saída. A ordenação dos campos irá variar (por " +"exemplo, \"mês/dia/ano\" versus \"dia/mês/ano\") e a saída pode conter " +"caracteres não ASCII." -#: ../../library/datetime.rst:2508 +#: ../../library/datetime.rst:2522 msgid "" -"The :meth:`strptime` method can parse years in the full [1, 9999] range, but " -"years < 1000 must be zero-filled to 4-digit width." +"The :meth:`~.datetime.strptime` method can parse years in the full [1, 9999] " +"range, but years < 1000 must be zero-filled to 4-digit width." msgstr "" -"O método :meth:`strptime` pode interpretar anos no intervalo [1, 9999], mas " -"anos < 1000 devem ser preenchidos com 0 para ter 4 dígitos de extensão." +"O método :meth:`~.datetime.strptime` pode analisar anos no intervalo " +"completo de [1, 9999], mas anos < 1000 devem ser preenchidos com zeros até " +"uma largura de 4 dígitos." -#: ../../library/datetime.rst:2511 +#: ../../library/datetime.rst:2525 msgid "" -"In previous versions, :meth:`strftime` method was restricted to years >= " -"1900." +"In previous versions, :meth:`~.datetime.strftime` method was restricted to " +"years >= 1900." msgstr "" -"Em versões anteriores, o método :meth:`strftime` era restrito a anos>= 1900." +"Em versões anteriores, o método :meth:`~.datetime.strftime` era limitado a " +"anos >= 1900." -#: ../../library/datetime.rst:2515 +#: ../../library/datetime.rst:2529 msgid "" -"In version 3.2, :meth:`strftime` method was restricted to years >= 1000." -msgstr "Na versão 3.2, o método :meth:`strftime` era restrito a anos >= 1000." +"In version 3.2, :meth:`~.datetime.strftime` method was restricted to years " +">= 1000." +msgstr "" +"Na versão 3.2, o método :meth:`~.datetime.strftime` era limitado a anos >= " +"1000." -#: ../../library/datetime.rst:2520 +#: ../../library/datetime.rst:2534 msgid "" -"When used with the :meth:`strptime` method, the ``%p`` directive only " -"affects the output hour field if the ``%I`` directive is used to parse the " -"hour." +"When used with the :meth:`~.datetime.strptime` method, the ``%p`` directive " +"only affects the output hour field if the ``%I`` directive is used to parse " +"the hour." msgstr "" -"Quando usado com o método :meth:`strptime`, a diretiva ``%p`` apenas afeta " -"as horas na saída se a diretiva ``%I`` é usada para analisar a hora." +"Quando usado com o método :meth:`~.datetime.strptime`, a diretiva ``%p`` " +"afeta somente o campo de hora de saída se a diretiva ``%I`` for usada para " +"analisar a hora." -#: ../../library/datetime.rst:2524 +#: ../../library/datetime.rst:2538 msgid "" -"Unlike the :mod:`time` module, the :mod:`datetime` module does not support " +"Unlike the :mod:`time` module, the :mod:`!datetime` module does not support " "leap seconds." msgstr "" -"Ao contrário do módulo :mod:`time`, o módulo :mod:`datetime` não suporta " -"segundos bissextos." +"Ao contrário do módulo :mod:`time`, o módulo :mod:`!datetime` não oferece " +"suporte para segundos intercalares." -#: ../../library/datetime.rst:2528 +#: ../../library/datetime.rst:2542 msgid "" -"When used with the :meth:`strptime` method, the ``%f`` directive accepts " -"from one to six digits and zero pads on the right. ``%f`` is an extension to " -"the set of format characters in the C standard (but implemented separately " -"in datetime objects, and therefore always available)." +"When used with the :meth:`~.datetime.strptime` method, the ``%f`` directive " +"accepts from one to six digits and zero pads on the right. ``%f`` is an " +"extension to the set of format characters in the C standard (but implemented " +"separately in datetime objects, and therefore always available)." msgstr "" -"Quando usado com o método :meth:`strptime`, a diretiva ``%f`` aceita de 1 a " -"6 dígitos, e nenhum preenchimento a direita. ``%f`` é uma extensão para o " -"conjunto de formatação de caracteres no padrão C (mas implementado " -"separadamente em objetos datetime, e portando sempre disponível)." +"Quando usado com o método :meth:`~.datetime.strptime`, a diretiva ``%f`` " +"aceita de um a seis dígitos e zeros à direita. ``%f`` é uma extensão do " +"conjunto de caracteres de formato no padrão do C (mas implementado " +"separadamente em objetos datetime e, portanto, sempre disponível)." -#: ../../library/datetime.rst:2535 +#: ../../library/datetime.rst:2549 msgid "" "For a naive object, the ``%z`` and ``%Z`` format codes are replaced by empty " "strings." @@ -3970,70 +3999,72 @@ msgstr "" "Para um objeto ingênuo, os códigos de formatação ``%z`` e ``%Z`` são " "substituídos por strings vazias." -#: ../../library/datetime.rst:2538 +#: ../../library/datetime.rst:2552 msgid "For an aware object:" msgstr "Para um objeto consciente:" -#: ../../library/datetime.rst:2541 -msgid "" -":meth:`utcoffset` is transformed into a string of the form ``±HHMM[SS[." -"ffffff]]``, where ``HH`` is a 2-digit string giving the number of UTC offset " -"hours, ``MM`` is a 2-digit string giving the number of UTC offset minutes, " -"``SS`` is a 2-digit string giving the number of UTC offset seconds and " -"``ffffff`` is a 6-digit string giving the number of UTC offset microseconds. " -"The ``ffffff`` part is omitted when the offset is a whole number of seconds " -"and both the ``ffffff`` and the ``SS`` part is omitted when the offset is a " -"whole number of minutes. For example, if :meth:`utcoffset` returns " -"``timedelta(hours=-3, minutes=-30)``, ``%z`` is replaced with the string " -"``'-0330'``." -msgstr "" -":meth:`utcoffset` é transformado em uma string no formato ``±HHMM[SS[." -"ffffff]]``, onde ``HH`` é uma string de 2 dígitos fornecendo a diferença de " -"UTC em horas, ``MM`` é uma string de 2 dígitos fornecendo a diferença de UTC " -"em minutos, ``SS`` é uma string de 2 dígitos fornecendo a diferença de UTC " -"em segundos e ``ffffff`` é uma string de 6 dígitos fornecendo a diferença de " -"UTC em micro segundos. A parte ``ffffff`` é omitida quando a diferença é um " -"número inteiro de segundos, e as partes ``ffffff`` e ``SS`` são omitidas " -"quando a diferença é um número inteiro de minutos. Por exemplo, se :meth:" -"`utcoffset` retorna ``timedelta(hours=-3, minutes=-30)``, ``%z`` é " -"substituído pela string ``'-0330'``." - #: ../../library/datetime.rst:2555 msgid "" -"When the ``%z`` directive is provided to the :meth:`strptime` method, the " -"UTC offsets can have a colon as a separator between hours, minutes and " -"seconds. For example, ``'+01:00:00'`` will be parsed as an offset of one " -"hour. In addition, providing ``'Z'`` is identical to ``'+00:00'``." +":meth:`~.datetime.utcoffset` is transformed into a string of the form " +"``±HHMM[SS[.ffffff]]``, where ``HH`` is a 2-digit string giving the number " +"of UTC offset hours, ``MM`` is a 2-digit string giving the number of UTC " +"offset minutes, ``SS`` is a 2-digit string giving the number of UTC offset " +"seconds and ``ffffff`` is a 6-digit string giving the number of UTC offset " +"microseconds. The ``ffffff`` part is omitted when the offset is a whole " +"number of seconds and both the ``ffffff`` and the ``SS`` part is omitted " +"when the offset is a whole number of minutes. For example, " +"if :meth:`~.datetime.utcoffset` returns ``timedelta(hours=-3, " +"minutes=-30)``, ``%z`` is replaced with the string ``'-0330'``." +msgstr "" +":meth:`~.datetime.utcoffset` é transformado em uma string do formato " +"``±HHMM[SS[.ffffff]]``, onde ``HH`` é uma string de 2 dígitos que fornece o " +"número de horas de deslocamento UTC, ``MM`` é uma string de 2 dígitos que " +"fornece o número de minutos de deslocamento UTC, ``SS`` é uma string de 2 " +"dígitos que fornece o número de segundos de deslocamento UTC e ``ffffff`` é " +"uma string de 6 dígitos que fornece o número de microssegundos de " +"deslocamento UTC. A parte ``ffffff`` é omitida quando o deslocamento é um " +"número inteiro de segundos e tanto a parte ``ffffff`` quanto a parte ``SS`` " +"são omitidas quando o deslocamento é um número inteiro de minutos. Por " +"exemplo, se :meth:`~.datetime.utcoffset` retornar ``timedelta(hours=-3, " +"minutes=-30)``, ``%z`` será substituído pela string ``'-0330'``." + +#: ../../library/datetime.rst:2569 +msgid "" +"When the ``%z`` directive is provided to the :meth:`~.datetime.strptime` " +"method, the UTC offsets can have a colon as a separator between hours, " +"minutes and seconds. For example, ``'+01:00:00'`` will be parsed as an " +"offset of one hour. In addition, providing ``'Z'`` is identical to " +"``'+00:00'``." msgstr "" -"Quando a diretiva ``%z`` é fornecida para o método :meth:`strptime`, as " -"diferenças UTC podem ter um separador de vírgula como um separador entre " -"horas, minutos e segundos. Por exemplo, ``'+01:00:00'`` será interpretado " -"como uma diferença de uma hora. Adicionalmente, fornecer ``'Z'`` é idêntico " -"a ``'+00:00'``." +"Quando a diretiva ``%z`` é fornecida ao método :meth:`~.datetime.strptime`, " +"os deslocamentos UTC podem ter dois pontos como separador entre horas, " +"minutos e segundos. Por exemplo, ``'+01:00:00'`` será analisado como um " +"deslocamento de uma hora. Além disso, fornecer ``'Z'`` é idêntico a " +"``'+00:00'``." -#: ../../library/datetime.rst:2563 +#: ../../library/datetime.rst:2577 msgid "" -"In :meth:`strftime`, ``%Z`` is replaced by an empty string if :meth:`tzname` " -"returns ``None``; otherwise ``%Z`` is replaced by the returned value, which " -"must be a string." +"In :meth:`~.datetime.strftime`, ``%Z`` is replaced by an empty string " +"if :meth:`~.datetime.tzname` returns ``None``; otherwise ``%Z`` is replaced " +"by the returned value, which must be a string." msgstr "" -"Em :meth:`strftime`, ``%Z`` é substituído por uma string vazia se :meth:" -"`tzname` retorna ``None``; caso contrário ``%Z`` é substituído pelo valor " -"retornado, o qual deve ser uma string." +"Em :meth:`~.datetime.strftime`, ``%Z`` é substituído por uma string vazia " +"se :meth:`~.datetime.tzname` retornar ``None``; caso contrário, ``%Z`` é " +"substituído pelo valor retornado, que deve ser uma string." -#: ../../library/datetime.rst:2567 -msgid ":meth:`strptime` only accepts certain values for ``%Z``:" -msgstr ":meth:`strptime` aceita apenas certos valores para ``%Z``:" +#: ../../library/datetime.rst:2581 +msgid ":meth:`~.datetime.strptime` only accepts certain values for ``%Z``:" +msgstr ":meth:`~.datetime.strptime` aceita apenas certos valores para ``%Z``:" -#: ../../library/datetime.rst:2569 +#: ../../library/datetime.rst:2583 msgid "any value in ``time.tzname`` for your machine's locale" msgstr "qualquer valor em ``time.tzname`` para a localidade da sua máquina" -#: ../../library/datetime.rst:2570 +#: ../../library/datetime.rst:2584 msgid "the hard-coded values ``UTC`` and ``GMT``" msgstr "os valores codificados ``UTC`` e ``GMT``" -#: ../../library/datetime.rst:2572 +#: ../../library/datetime.rst:2586 msgid "" "So someone living in Japan may have ``JST``, ``UTC``, and ``GMT`` as valid " "values, but probably not ``EST``. It will raise ``ValueError`` for invalid " @@ -4043,56 +4074,58 @@ msgstr "" "valores válidos, mas provavelmente não ``EST``. Isso levantará " "``ValueError`` para valores inválidos." -#: ../../library/datetime.rst:2576 +#: ../../library/datetime.rst:2590 msgid "" -"When the ``%z`` directive is provided to the :meth:`strptime` method, an " -"aware :class:`.datetime` object will be produced. The ``tzinfo`` of the " -"result will be set to a :class:`timezone` instance." +"When the ``%z`` directive is provided to the :meth:`~.datetime.strptime` " +"method, an aware :class:`.datetime` object will be produced. The ``tzinfo`` " +"of the result will be set to a :class:`timezone` instance." msgstr "" -"Quando a diretiva ``%z`` é fornecida para o método :meth:`strptime`, um " -"objeto consciente :class:`.datetime` será produzido. O ``tzinfo`` do " +"Quando a diretiva ``%z`` é fornecida ao método :meth:`~.datetime.strptime`, " +"um objeto :class:`.datetime` consciente será produzido. O ``tzinfo`` do " "resultado será definido para uma instância :class:`timezone`." -#: ../../library/datetime.rst:2582 +#: ../../library/datetime.rst:2596 msgid "" -"When used with the :meth:`strptime` method, ``%U`` and ``%W`` are only used " -"in calculations when the day of the week and the calendar year (``%Y``) are " -"specified." +"When used with the :meth:`~.datetime.strptime` method, ``%U`` and ``%W`` are " +"only used in calculations when the day of the week and the calendar year " +"(``%Y``) are specified." msgstr "" -"Quando for usado com o método :meth:`strptime`, ``%U`` e ``%W`` são usados " -"apenas em cálculos quando o dia da semana e o ano do calendário (``%Y``) são " +"Quando utilizados com o método :meth:`~.datetime.strptime`, ``%U`` e ``%W`` " +"são usados somente em cálculos quando o dia da semana e o ano (``%Y``) são " "especificados." -#: ../../library/datetime.rst:2587 +#: ../../library/datetime.rst:2601 msgid "" "Similar to ``%U`` and ``%W``, ``%V`` is only used in calculations when the " -"day of the week and the ISO year (``%G``) are specified in a :meth:" -"`strptime` format string. Also note that ``%G`` and ``%Y`` are not " -"interchangeable." +"day of the week and the ISO year (``%G``) are specified in " +"a :meth:`~.datetime.strptime` format string. Also note that ``%G`` and " +"``%Y`` are not interchangeable." msgstr "" -"Similar a ``%U`` e ``%W``, ``%V`` é usado apenas em cálculos quando o dia da " -"semana e o ano ISO (``%G``) são especificados em uma string de formatação :" -"meth:`strptime`. Perceba também que ``%G`` e ``%Y`` não são intercambiáveis." +"Semelhante a ``%U`` e ``%W``, ``%V`` é usado apenas em cálculos quando o dia " +"da semana e o ano ISO (``%G``) são especificados em um formato de " +"string :meth:`~.datetime.strptime`. Observe também que ``%G`` e ``%Y`` não " +"são intercambiáveis." -#: ../../library/datetime.rst:2593 +#: ../../library/datetime.rst:2607 msgid "" -"When used with the :meth:`strptime` method, the leading zero is optional " -"for formats ``%d``, ``%m``, ``%H``, ``%I``, ``%M``, ``%S``, ``%j``, ``%U``, " -"``%W``, and ``%V``. Format ``%y`` does require a leading zero." +"When used with the :meth:`~.datetime.strptime` method, the leading zero is " +"optional for formats ``%d``, ``%m``, ``%H``, ``%I``, ``%M``, ``%S``, " +"``%j``, ``%U``, ``%W``, and ``%V``. Format ``%y`` does require a leading " +"zero." msgstr "" -"Quando for usado com o método :meth:`strptime`, o zero precedente é opcional " -"para formatos ``%d``, ``%m``, ``%H``, ``%I``, ``%M``, ``%S``, ``%j``, " -"``%U``, ``%W``, e ``%V``. O formato ``%y`` não requer um zero precedente." +"Quando usado com o método :meth:`~.datetime.strptime`, o zero à esquerda é " +"opcional para os formatos ``%d``, ``%m``, ``%H``, ``%I``, ``%M``, ``%S``, " +"``%j``, ``%U``, ``%W`` e ``%V``. O formato ``%y`` requer um zero à esquerda." -#: ../../library/datetime.rst:2598 +#: ../../library/datetime.rst:2612 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/datetime.rst:2599 +#: ../../library/datetime.rst:2613 msgid "If, that is, we ignore the effects of Relativity" msgstr "Se, isto é, nós ignoramos os efeitos da Relatividade" -#: ../../library/datetime.rst:2601 +#: ../../library/datetime.rst:2615 msgid "" "This matches the definition of the \"proleptic Gregorian\" calendar in " "Dershowitz and Reingold's book *Calendrical Calculations*, where it's the " @@ -4106,17 +4139,17 @@ msgstr "" "conversão entre ordinais proléptico Gregoriano e muitos outros sistemas de " "calendário." -#: ../../library/datetime.rst:2607 +#: ../../library/datetime.rst:2621 msgid "" "See R. H. van Gent's `guide to the mathematics of the ISO 8601 calendar " "`_ for a good explanation." msgstr "" -"Veja `O guia para a matemática de calendário ISO 8601 `_ de R. H. van Gent para uma boa explicação." +"Veja `O guia para a matemática de calendário ISO 8601 `_ de R. H. van Gent para uma boa explicação." -#: ../../library/datetime.rst:2611 +#: ../../library/datetime.rst:2625 msgid "" "Passing ``datetime.strptime('Feb 29', '%b %d')`` will fail since ``1900`` is " "not a leap year." @@ -4124,10 +4157,10 @@ msgstr "" "Passar ``datetime.strptime('Feb 29', '%b %d')`` irá falhar como ``1900`` não " "é um ano bissexto." -#: ../../library/datetime.rst:2285 +#: ../../library/datetime.rst:2297 msgid "% (percent)" -msgstr "" +msgstr "% (porcentagem)" -#: ../../library/datetime.rst:2285 +#: ../../library/datetime.rst:2297 msgid "datetime format" -msgstr "" +msgstr "datetime, formato" diff --git a/library/dbm.po b/library/dbm.po index 69b1c3c8b..847705538 100644 --- a/library/dbm.po +++ b/library/dbm.po @@ -1,30 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,12 +34,17 @@ msgstr "**Código-fonte:** :source:`Lib/dbm/__init__.py`" #: ../../library/dbm.rst:11 msgid "" -":mod:`dbm` is a generic interface to variants of the DBM database --- :mod:" -"`dbm.gnu` or :mod:`dbm.ndbm`. If none of these modules is installed, the " -"slow-but-simple implementation in module :mod:`dbm.dumb` will be used. " -"There is a `third party interface `_ to the Oracle Berkeley DB." +":mod:`dbm` is a generic interface to variants of the DBM database " +"--- :mod:`dbm.gnu` or :mod:`dbm.ndbm`. If none of these modules is " +"installed, the slow-but-simple implementation in module :mod:`dbm.dumb` will " +"be used. There is a `third party interface `_ to the Oracle Berkeley DB." msgstr "" +":mod:`dbm` é uma interface genérica para variantes do banco de dados DBM " +"--- :mod:`dbm.gnu` ou :mod:`dbm.ndbm`. Se nenhum desses módulos estiver " +"instalado, a implementação lenta, mas simples, no módulo :mod:`dbm.dumb` " +"será usada. Há uma `interface de terceiros `_ para o Oracle Berkeley DB." #: ../../library/dbm.rst:20 msgid "" @@ -51,6 +52,9 @@ msgid "" "supported modules, with a unique exception also named :exc:`dbm.error` as " "the first item --- the latter is used when :exc:`dbm.error` is raised." msgstr "" +"Uma tupla contendo as exceções que podem ser levantadas por cada um dos " +"módulos suportados, com a única exceção também chamada :exc:`dbm.error` como " +"o primeiro item --- o último é usado quando :exc:`dbm.error` é levantada." #: ../../library/dbm.rst:27 msgid "" @@ -58,250 +62,319 @@ msgid "" "available --- :mod:`dbm.gnu`, :mod:`dbm.ndbm` or :mod:`dbm.dumb` --- should " "be used to open a given file." msgstr "" +"Esta função tenta adivinhar qual dos vários módulos de banco de dados " +"simples disponíveis --- :mod:`dbm.gnu`, :mod:`dbm.ndbm` ou :mod:`dbm.dumb` " +"--- deve ser usado para abrir o arquivo fornecido." #: ../../library/dbm.rst:31 +msgid "Return one of the following values:" +msgstr "Retorna um dos seguintes valores:" + +#: ../../library/dbm.rst:33 msgid "" -"Returns one of the following values: ``None`` if the file can't be opened " -"because it's unreadable or doesn't exist; the empty string (``''``) if the " -"file's format can't be guessed; or a string containing the required module " -"name, such as ``'dbm.ndbm'`` or ``'dbm.gnu'``." +"``None`` if the file can't be opened because it's unreadable or doesn't exist" msgstr "" +"``None`` se o arquivo não puder ser aberto porque está ilegível ou não existe" -#: ../../library/dbm.rst:36 ../../library/dbm.rst:210 ../../library/dbm.rst:309 -#: ../../library/dbm.rst:393 -msgid "Accepts :term:`path-like object` for filename." -msgstr "Aceita um :term:`objeto caminho ou similar` como nome de arquivo." - -#: ../../library/dbm.rst:41 -msgid "Open the database file *file* and return a corresponding object." +#: ../../library/dbm.rst:34 +msgid "the empty string (``''``) if the file's format can't be guessed" msgstr "" +"a string vazia (``''``) se o formato do arquivo não puder ser adivinhado" -#: ../../library/dbm.rst:43 +#: ../../library/dbm.rst:35 msgid "" -"If the database file already exists, the :func:`whichdb` function is used to " -"determine its type and the appropriate module is used; if it does not exist, " -"the first module listed above that can be imported is used." +"a string containing the required module name, such as ``'dbm.ndbm'`` or " +"``'dbm.gnu'``" msgstr "" +"uma string contendo o nome do módulo necessário, tal como ``'dbm.ndbm'`` ou " +"``'dbm.gnu'``" + +#: ../../library/dbm.rst:37 ../../library/dbm.rst:202 ../../library/dbm.rst:386 +msgid "*filename* accepts a :term:`path-like object`." +msgstr "*filename* aceita um :term:`objeto caminho ou similar`." -#: ../../library/dbm.rst:47 ../../library/dbm.rst:166 ../../library/dbm.rst:357 -msgid "The optional *flag* argument can be:" +#: ../../library/dbm.rst:61 +msgid "Open a database and return the corresponding database object." msgstr "" +"Abre um banco de dados e retorna o objeto banco de dados correspondendo." -#: ../../library/dbm.rst:50 ../../library/dbm.rst:169 ../../library/dbm.rst:188 -#: ../../library/dbm.rst:287 ../../library/dbm.rst:360 -msgid "Value" -msgstr "Valor" +#: ../../library/dbm.rst:0 +msgid "Parameters" +msgstr "Parâmetros" -#: ../../library/dbm.rst:50 ../../library/dbm.rst:169 ../../library/dbm.rst:188 -#: ../../library/dbm.rst:287 ../../library/dbm.rst:360 -msgid "Meaning" -msgstr "Significado" +#: ../../library/dbm.rst:63 +msgid "" +"The database file to open. If the database file already exists, " +"the :func:`whichdb` function is used to determine its type and the " +"appropriate module is used; if it does not exist, the first submodule listed " +"above that can be imported is used." +msgstr "" +"O arquivo de banco de dados para abrir. Se o arquivo de banco de dados já " +"existe, a função :func:`whichdb` é usada para determinar seu tipo e o módulo " +"apropriado é usado; se ele não existir, o primeiro submódulo listado acima " +"que pode ser importado é usado." -#: ../../library/dbm.rst:52 ../../library/dbm.rst:171 ../../library/dbm.rst:289 -#: ../../library/dbm.rst:362 -msgid "``'r'``" -msgstr "``'r'``" +#: ../../library/dbm.rst:64 ../../library/dbm.rst:174 +msgid "The database file to open." +msgstr "O arquivo de banco de dados para abrir." -#: ../../library/dbm.rst:52 ../../library/dbm.rst:171 ../../library/dbm.rst:289 -#: ../../library/dbm.rst:362 -msgid "Open existing database for reading only (default)" +#: ../../library/dbm.rst:66 +msgid "" +"If the database file already exists, the :func:`whichdb` function is used to " +"determine its type and the appropriate module is used; if it does not exist, " +"the first submodule listed above that can be imported is used." msgstr "" +"Se o arquivo de banco de dados já existe, a função :func:`whichdb` é usada " +"para determinar seu tipo e o módulo apropriado é usado; se ele não existir, " +"o primeiro submódulo listado acima que pode ser importado é usado." -#: ../../library/dbm.rst:55 ../../library/dbm.rst:174 ../../library/dbm.rst:292 -#: ../../library/dbm.rst:365 -msgid "``'w'``" -msgstr "``'w'``" - -#: ../../library/dbm.rst:55 ../../library/dbm.rst:174 ../../library/dbm.rst:292 -#: ../../library/dbm.rst:365 -msgid "Open existing database for reading and writing" +#: ../../library/dbm.rst:71 ../../library/dbm.rst:297 +msgid "" +"* ``'r'`` (default): |flag_r| * ``'w'``: |flag_w| * ``'c'``: |flag_c| * " +"``'n'``: |flag_n|" msgstr "" +"* ``'r'`` (padrão): |flag_r| * ``'w'``: |flag_w| * ``'c'``: |flag_c| * " +"``'n'``: |flag_n|" -#: ../../library/dbm.rst:58 ../../library/dbm.rst:177 ../../library/dbm.rst:295 -#: ../../library/dbm.rst:368 -msgid "``'c'``" -msgstr "``'c'``" +#: ../../library/dbm.rst:72 ../../library/dbm.rst:179 ../../library/dbm.rst:298 +msgid "``'r'`` (default): |flag_r|" +msgstr "``'r'`` (padrão): |flag_r|" -#: ../../library/dbm.rst:58 ../../library/dbm.rst:177 ../../library/dbm.rst:295 -#: ../../library/dbm.rst:368 -msgid "Open database for reading and writing, creating it if it doesn't exist" -msgstr "" +#: ../../library/dbm.rst:73 ../../library/dbm.rst:180 ../../library/dbm.rst:299 +#: ../../library/dbm.rst:367 +msgid "``'w'``: |flag_w|" +msgstr "``'w'``: |flag_w|" -#: ../../library/dbm.rst:61 ../../library/dbm.rst:180 ../../library/dbm.rst:298 -#: ../../library/dbm.rst:371 -msgid "``'n'``" -msgstr "``'n'``" +#: ../../library/dbm.rst:74 ../../library/dbm.rst:181 ../../library/dbm.rst:300 +msgid "``'c'``: |flag_c|" +msgstr "``'c'``: |flag_c|" + +#: ../../library/dbm.rst:75 ../../library/dbm.rst:182 ../../library/dbm.rst:301 +#: ../../library/dbm.rst:369 +msgid "``'n'``: |flag_n|" +msgstr "``'n'``: |flag_n|" -#: ../../library/dbm.rst:61 ../../library/dbm.rst:180 ../../library/dbm.rst:298 +#: ../../library/dbm.rst:77 ../../library/dbm.rst:196 ../../library/dbm.rst:303 #: ../../library/dbm.rst:371 -msgid "Always create a new, empty database, open for reading and writing" -msgstr "" +msgid "|mode_param_doc|" +msgstr "|mode_param_doc|" -#: ../../library/dbm.rst:65 ../../library/dbm.rst:302 ../../library/dbm.rst:375 -msgid "" -"The optional *mode* argument is the Unix mode of the file, used only when " -"the database has to be created. It defaults to octal ``0o666`` (and will be " -"modified by the prevailing umask)." -msgstr "" +#: ../../library/dbm.rst:80 +msgid "*file* accepts a :term:`path-like object`." +msgstr "*file* aceita um :term:`objeto caminho ou similar`." -#: ../../library/dbm.rst:70 +#: ../../library/dbm.rst:83 msgid "" -"The object returned by :func:`.open` supports the same basic functionality " -"as dictionaries; keys and their corresponding values can be stored, " -"retrieved, and deleted, and the :keyword:`in` operator and the :meth:`keys` " -"method are available, as well as :meth:`get` and :meth:`setdefault`." +"The object returned by :func:`~dbm.open` supports the same basic " +"functionality as a :class:`dict`; keys and their corresponding values can be " +"stored, retrieved, and deleted, and the :keyword:`in` operator and " +"the :meth:`!keys` method are available, as well as :meth:`!get` and :meth:`!" +"setdefault` methods." msgstr "" +"O objeto retornado por :func:`~dbm.open` oferece suporte à mesma " +"funcionalidade básica que um :class:`dict`; chaves e seus valores " +"correspondentes podem ser armazenados, obtidos e excluídos, e o " +"operador :keyword:`in` e o método :meth:`!keys` estão disponíveis, bem como " +"métodos :meth:`!get` e :meth:`!setdefault`." -#: ../../library/dbm.rst:75 +#: ../../library/dbm.rst:88 msgid "" -":meth:`get` and :meth:`setdefault` are now available in all database modules." +"Key and values are always stored as :class:`bytes`. This means that when " +"strings are used they are implicitly converted to the default encoding " +"before being stored." msgstr "" +"Chaves e valores são sempre armazenados como :class:`bytes`. Isso significa " +"que quando strings são usadas, elas são implicitamente convertidas para a " +"codificação padrão antes de serem armazenadas." -#: ../../library/dbm.rst:78 +#: ../../library/dbm.rst:92 msgid "" -"Deleting a key from a read-only database raises database module specific " -"error instead of :exc:`KeyError`." -msgstr "" - -#: ../../library/dbm.rst:82 -msgid "Accepts :term:`path-like object` for file." +"These objects also support being used in a :keyword:`with` statement, which " +"will automatically close them when done." msgstr "" +"Estes objetos também oferecem suporte a serem usados em uma " +"instrução :keyword:`with`, que vai fechá-los automaticamente quando estiver " +"concluída." -#: ../../library/dbm.rst:85 +#: ../../library/dbm.rst:95 msgid "" -"Key and values are always stored as bytes. This means that when strings are " -"used they are implicitly converted to the default encoding before being " -"stored." +":meth:`!get` and :meth:`!setdefault` methods are now available for " +"all :mod:`dbm` backends." msgstr "" +"O métodos :meth:`!get` e :meth:`!setdefault` estão agora disponíveis para " +"todos os backends do :mod:`dbm`." -#: ../../library/dbm.rst:89 +#: ../../library/dbm.rst:99 msgid "" -"These objects also support being used in a :keyword:`with` statement, which " -"will automatically close them when done." +"Added native support for the context management protocol to the objects " +"returned by :func:`~dbm.open`." msgstr "" +"Adicionado suporte nativo para o protocolo de gerenciamento de contexto para " +"os objetos retornados por :func:`~dbm.open`." -#: ../../library/dbm.rst:92 +#: ../../library/dbm.rst:103 msgid "" -"Added native support for the context management protocol to the objects " -"returned by :func:`.open`." +"Deleting a key from a read-only database raises a database module specific " +"exception instead of :exc:`KeyError`." msgstr "" +"Excluir uma chave de um banco de dados somente leitura levanta uma exceção " +"de banco de dados específica do módulo em vez de :exc:`KeyError`." -#: ../../library/dbm.rst:96 +#: ../../library/dbm.rst:107 msgid "" "The following example records some hostnames and a corresponding title, and " "then prints out the contents of the database::" msgstr "" +"Os seguintes exemplos registram alguns hostnames e um título correspondente, " +"e então exibe o conteúdo do banco de dados::" -#: ../../library/dbm.rst:126 +#: ../../library/dbm.rst:137 msgid "Module :mod:`shelve`" msgstr "Módulo :mod:`shelve`" -#: ../../library/dbm.rst:127 +#: ../../library/dbm.rst:138 msgid "Persistence module which stores non-string data." -msgstr "" +msgstr "Módulo persistente que armazena dados não-string." -#: ../../library/dbm.rst:130 +#: ../../library/dbm.rst:141 msgid "The individual submodules are described in the following sections." -msgstr "" +msgstr "Os submódulos individuais são descritos nas seções a seguir." -#: ../../library/dbm.rst:134 -msgid ":mod:`dbm.gnu` --- GNU's reinterpretation of dbm" -msgstr "" +#: ../../library/dbm.rst:145 +msgid ":mod:`dbm.gnu` --- GNU database manager" +msgstr ":mod:`dbm.gnu` --- Gerenciador de banco de dados do GNU" -#: ../../library/dbm.rst:140 +#: ../../library/dbm.rst:151 msgid "**Source code:** :source:`Lib/dbm/gnu.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/dbm/gnu.py`" -#: ../../library/dbm.rst:144 +#: ../../library/dbm.rst:155 msgid "" -"This module is quite similar to the :mod:`dbm` module, but uses the GNU " -"library ``gdbm`` instead to provide some additional functionality. Please " -"note that the file formats created by :mod:`dbm.gnu` and :mod:`dbm.ndbm` are " -"incompatible." +"The :mod:`dbm.gnu` module provides an interface to the :abbr:`GDBM (GNU " +"dbm)` library, similar to the :mod:`dbm.ndbm` module, but with additional " +"functionality like crash tolerance." msgstr "" +"O módulo :mod:`dbm.gnu` fornece uma interface para a biblioteca :abbr:`GDBM " +"(GNU dbm)`, semelhante ao módulo :mod:`dbm.ndbm`, mas com funcionalidades " +"adicionais, como tolerância a falhas." -#: ../../library/dbm.rst:148 +#: ../../library/dbm.rst:161 ../../library/dbm.rst:267 msgid "" -"The :mod:`dbm.gnu` module provides an interface to the GNU DBM library. " -"``dbm.gnu.gdbm`` objects behave like mappings (dictionaries), except that " -"keys and values are always converted to bytes before storing. Printing a " -"``gdbm`` object doesn't print the keys and values, and the :meth:`items` " -"and :meth:`values` methods are not supported." +"The file formats created by :mod:`dbm.gnu` and :mod:`dbm.ndbm` are " +"incompatible and can not be used interchangeably." msgstr "" +"Os formatos de arquivo criados por :mod:`dbm.gnu` e :mod:`dbm.ndbm` são " +"incompatíveis e não podem ser usados de forma intercambiável." -#: ../../library/dbm.rst:157 +#: ../../library/dbm.rst:166 msgid "" -"Raised on :mod:`dbm.gnu`-specific errors, such as I/O errors. :exc:" -"`KeyError` is raised for general mapping errors like specifying an incorrect " -"key." +"Raised on :mod:`dbm.gnu`-specific errors, such as I/O " +"errors. :exc:`KeyError` is raised for general mapping errors like specifying " +"an incorrect key." msgstr "" +"Levantada em erros específicos do :mod:`dbm.gnu`, como erros de E/" +"S. :exc:`KeyError` é levantada para erros gerais de mapeamento, como " +"especificar uma chave incorreta." + +#: ../../library/dbm.rst:172 +msgid "Open a GDBM database and return a :class:`!gdbm` object." +msgstr "Abre um banco de dados GDBM e retorna um objeto :class:`!gdbm`." -#: ../../library/dbm.rst:163 +#: ../../library/dbm.rst:178 msgid "" -"Open a ``gdbm`` database and return a :class:`gdbm` object. The *filename* " -"argument is the name of the database file." +"* ``'r'`` (default): |flag_r| * ``'w'``: |flag_w| * ``'c'``: |flag_c| * " +"``'n'``: |flag_n| The following additional characters may be appended to " +"control how the database is opened: * ``'f'``: Open the database in fast " +"mode. Writes to the database will not be synchronized. * ``'s'``: " +"Synchronized mode. Changes to the database will be written immediately to " +"the file. * ``'u'``: Do not lock database. Not all flags are valid for all " +"versions of GDBM. See the :data:`open_flags` member for a list of supported " +"flag characters." msgstr "" +"* ``'r'`` (padrão): |flag_r| * ``'w'``: |flag_w| * ``'c'``: |flag_c| * " +"``'n'``: |flag_n| Os seguintes caracteres adicionais podem ser anexados para " +"controlar como o banco de dados é aberto: * ``'f'``: Abre o banco de dados " +"no modo rápido. As gravações no banco de dados não serão sincronizadas. * " +"``'s'``: Modo sincronizado. As alterações no banco de dados serão gravadas " +"imediatamente no arquivo. * ``'u'``: Não trava o banco de dados. Nem todos " +"os sinalizadores são válidos para todas as versões do GDBM. Consulte o " +"membro :data:`open_flags` para obter uma lista de caracteres de " +"sinalizadores suportados." #: ../../library/dbm.rst:184 msgid "" -"The following additional characters may be appended to the flag to control " -"how the database is opened:" +"The following additional characters may be appended to control how the " +"database is opened:" msgstr "" +"Os seguintes caracteres adicionais podem ser acrescentados para controlar " +"como o banco de dados é aberto:" -#: ../../library/dbm.rst:190 -msgid "``'f'``" -msgstr "``'f'``" - -#: ../../library/dbm.rst:190 +#: ../../library/dbm.rst:187 msgid "" -"Open the database in fast mode. Writes to the database will not be " +"``'f'``: Open the database in fast mode. Writes to the database will not be " "synchronized." msgstr "" +"``'f'``: Abre o banco de dados em modo rápido. As gravações no banco de " +"dados não serão sincronizadas." -#: ../../library/dbm.rst:193 -msgid "``'s'``" -msgstr "``'s'``" - -#: ../../library/dbm.rst:193 +#: ../../library/dbm.rst:189 msgid "" -"Synchronized mode. This will cause changes to the database to be immediately " -"written to the file." +"``'s'``: Synchronized mode. Changes to the database will be written " +"immediately to the file." msgstr "" +"``'s'``: Modo sincronizado. Alterações no banco de dados serão gravadas " +"imediatamente no arquivo." -#: ../../library/dbm.rst:197 -msgid "``'u'``" -msgstr "``'u'``" - -#: ../../library/dbm.rst:197 -msgid "Do not lock database." -msgstr "" +#: ../../library/dbm.rst:191 +msgid "``'u'``: Do not lock database." +msgstr "``'u'``: Não trava o banco de dados." -#: ../../library/dbm.rst:200 +#: ../../library/dbm.rst:193 msgid "" -"Not all flags are valid for all versions of ``gdbm``. The module constant :" -"const:`open_flags` is a string of supported flag characters. The exception :" -"exc:`error` is raised if an invalid flag is specified." +"Not all flags are valid for all versions of GDBM. See the :data:`open_flags` " +"member for a list of supported flag characters." msgstr "" +"Nem todos os sinalizadores são válidos para todas as versões do GDBM. Veja o " +"membro :data:`open_flags` para uma lista de caracteres de sinalizadores " +"suportados." + +#: ../../library/dbm.rst:0 +msgid "Raises" +msgstr "Levanta" + +#: ../../library/dbm.rst:199 +msgid "If an invalid *flag* argument is passed." +msgstr "Se um argumento *flag* inválido for passado." -#: ../../library/dbm.rst:204 +#: ../../library/dbm.rst:207 msgid "" -"The optional *mode* argument is the Unix mode of the file, used only when " -"the database has to be created. It defaults to octal ``0o666``." +"A string of characters the *flag* parameter of :meth:`~dbm.gnu.open` " +"supports." msgstr "" +"Uma sequência de caracteres que o parâmetro *flag* de :meth:`~dbm.gnu.open` " +"suporta." -#: ../../library/dbm.rst:207 +#: ../../library/dbm.rst:209 msgid "" -"In addition to the dictionary-like methods, ``gdbm`` objects have the " -"following methods:" +":class:`!gdbm` objects behave similar to :term:`mappings `, " +"but :meth:`!items` and :meth:`!values` methods are not supported. The " +"following methods are also provided:" msgstr "" +"Os objetos :class:`!gdbm` se comportam de forma semelhante " +"a :term:`mapeamentos `, mas os métodos :meth:`!items` e :meth:`!" +"values` não são suportados. Os seguintes métodos também são fornecidos:" #: ../../library/dbm.rst:215 msgid "" "It's possible to loop over every key in the database using this method and " -"the :meth:`nextkey` method. The traversal is ordered by ``gdbm``'s internal " +"the :meth:`nextkey` method. The traversal is ordered by GDBM's internal " "hash values, and won't be sorted by the key values. This method returns the " "starting key." msgstr "" +"É possível fazer um laço em cada chave no banco de dados usando este método " +"e o método :meth:`nextkey`. A travessia é ordenada pelos valores de hash " +"internos do GDBM e não será classificada pelos valores de chave. Este método " +"retorna a chave inicial." #: ../../library/dbm.rst:222 msgid "" @@ -309,162 +382,253 @@ msgid "" "prints every key in the database ``db``, without having to create a list in " "memory that contains them all::" msgstr "" +"Retorna a chave que segue *key* na travessia. O código a seguir imprime cada " +"chave no banco de dados ``db``, sem precisar criar uma lista na memória que " +"contenha todas elas::" #: ../../library/dbm.rst:233 msgid "" "If you have carried out a lot of deletions and would like to shrink the " -"space used by the ``gdbm`` file, this routine will reorganize the database. " -"``gdbm`` objects will not shorten the length of a database file except by " -"using this reorganization; otherwise, deleted file space will be kept and " -"reused as new (key, value) pairs are added." -msgstr "" +"space used by the GDBM file, this routine will reorganize the " +"database. :class:`!gdbm` objects will not shorten the length of a database " +"file except by using this reorganization; otherwise, deleted file space will " +"be kept and reused as new (key, value) pairs are added." +msgstr "" +"Se você realizou muitas exclusões e gostaria de reduzir o espaço usado pelo " +"arquivo GDBM, esta rotina reorganizará o banco de dados. Objetos :class:`!" +"gdbm` não reduzirão o tamanho de um arquivo de banco de dados, exceto usando " +"esta reorganização; caso contrário, o espaço de arquivo excluído será " +"mantido e reutilizado à medida que novos pares (chave, valor) forem " +"adicionados." #: ../../library/dbm.rst:241 msgid "" "When the database has been opened in fast mode, this method forces any " "unwritten data to be written to the disk." msgstr "" +"Quando o banco de dados é aberto no modo rápido, esse método força a " +"gravação de todos os dados não gravados no disco." #: ../../library/dbm.rst:246 -msgid "Close the ``gdbm`` database." -msgstr "Fecha o banco de dados ``gdbm``." +msgid "Close the GDBM database." +msgstr "Fecha o banco de dados GDBM." -#: ../../library/dbm.rst:249 -msgid ":mod:`dbm.ndbm` --- Interface based on ndbm" -msgstr "" +#: ../../library/dbm.rst:250 +msgid ":mod:`dbm.ndbm` --- New Database Manager" +msgstr ":mod:`dbm.ndbm` --- New Database Manager" -#: ../../library/dbm.rst:255 +#: ../../library/dbm.rst:256 msgid "**Source code:** :source:`Lib/dbm/ndbm.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/dbm/ndbm.py`" -#: ../../library/dbm.rst:259 +#: ../../library/dbm.rst:260 msgid "" -"The :mod:`dbm.ndbm` module provides an interface to the Unix \"(n)dbm\" " -"library. Dbm objects behave like mappings (dictionaries), except that keys " -"and values are always stored as bytes. Printing a ``dbm`` object doesn't " -"print the keys and values, and the :meth:`items` and :meth:`values` methods " -"are not supported." +"The :mod:`dbm.ndbm` module provides an interface to the :abbr:`NDBM (New " +"Database Manager)` library. This module can be used with the \"classic\" " +"NDBM interface or the :abbr:`GDBM (GNU dbm)` compatibility interface." msgstr "" +"O módulo :mod:`dbm.ndbm` fornece uma interface para a biblioteca :abbr:`NDBM " +"(New Database Manager)`. Este módulo pode ser usado com a interface NDBM " +"\"clássica\" ou a interface de compatibilidade :abbr:`GDBM (GNU dbm)`." -#: ../../library/dbm.rst:264 +#: ../../library/dbm.rst:272 msgid "" -"This module can be used with the \"classic\" ndbm interface or the GNU GDBM " -"compatibility interface. On Unix, the :program:`configure` script will " -"attempt to locate the appropriate header file to simplify building this " -"module." +"The NDBM library shipped as part of macOS has an undocumented limitation on " +"the size of values, which can result in corrupted database files when " +"storing values larger than this limit. Reading such corrupted files can " +"result in a hard crash (segmentation fault)." msgstr "" +"A biblioteca NDBM enviada como parte do macOS tem uma limitação não " +"documentada no tamanho dos valores, o que pode resultar em arquivos de banco " +"de dados corrompidos ao armazenar valores maiores que esse limite. Ler esses " +"arquivos corrompidos pode resultar em uma falha grave (falha de segmentação)." -#: ../../library/dbm.rst:270 +#: ../../library/dbm.rst:279 msgid "" -"Raised on :mod:`dbm.ndbm`-specific errors, such as I/O errors. :exc:" -"`KeyError` is raised for general mapping errors like specifying an incorrect " -"key." +"Raised on :mod:`dbm.ndbm`-specific errors, such as I/O " +"errors. :exc:`KeyError` is raised for general mapping errors like specifying " +"an incorrect key." msgstr "" +"Levantada em erros específicos de :mod:`dbm.ndbm`, como erros de E/" +"S. :exc:`KeyError` é levantada para erros gerais de mapeamento, como " +"especificar uma chave incorreta." -#: ../../library/dbm.rst:276 -msgid "Name of the ``ndbm`` implementation library used." -msgstr "" +#: ../../library/dbm.rst:285 +msgid "Name of the NDBM implementation library used." +msgstr "Nome da biblioteca de implementação NDBM usada." + +#: ../../library/dbm.rst:290 +msgid "Open an NDBM database and return an :class:`!ndbm` object." +msgstr "Abre um banco de dados NDBM e retorna um objeto :class:`!ndbm`." -#: ../../library/dbm.rst:281 +#: ../../library/dbm.rst:292 msgid "" -"Open a dbm database and return a ``ndbm`` object. The *filename* argument " -"is the name of the database file (without the :file:`.dir` or :file:`.pag` " +"The basename of the database file (without the :file:`.dir` or :file:`.pag` " "extensions)." msgstr "" - -#: ../../library/dbm.rst:284 -msgid "The optional *flag* argument must be one of these values:" -msgstr "" +"O nome base do arquivo de banco de dados (sem as extensões :file:`.dir` " +"ou :file:`.pag`)." #: ../../library/dbm.rst:306 msgid "" -"In addition to the dictionary-like methods, ``ndbm`` objects provide the " -"following method:" +":class:`!ndbm` objects behave similar to :term:`mappings `, " +"but :meth:`!items` and :meth:`!values` methods are not supported. The " +"following methods are also provided:" msgstr "" +"Os objetos :class:`!ndbm` se comportam de forma semelhante " +"a :term:`mapeamentos `, mas os métodos :meth:`!items` e :meth:`!" +"values` não são suportados. Os seguintes métodos também são fornecidos:" -#: ../../library/dbm.rst:314 -msgid "Close the ``ndbm`` database." -msgstr "Fecha o banco de dados ``ndbm``." +#: ../../library/dbm.rst:310 +msgid "Accepts :term:`path-like object` for filename." +msgstr "Aceita um :term:`objeto caminho ou similar` como nome de arquivo." -#: ../../library/dbm.rst:318 +#: ../../library/dbm.rst:315 +msgid "Close the NDBM database." +msgstr "Fecha o banco de dados NDBM." + +#: ../../library/dbm.rst:319 msgid ":mod:`dbm.dumb` --- Portable DBM implementation" -msgstr "" +msgstr ":mod:`dbm.dumb` --- Implementação portátil do DBM" -#: ../../library/dbm.rst:323 +#: ../../library/dbm.rst:324 msgid "**Source code:** :source:`Lib/dbm/dumb.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/dbm/dumb.py`" -#: ../../library/dbm.rst:329 +#: ../../library/dbm.rst:330 msgid "" -"The :mod:`dbm.dumb` module is intended as a last resort fallback for the :" -"mod:`dbm` module when a more robust module is not available. The :mod:`dbm." -"dumb` module is not written for speed and is not nearly as heavily used as " -"the other database modules." +"The :mod:`dbm.dumb` module is intended as a last resort fallback for " +"the :mod:`dbm` module when a more robust module is not available. " +"The :mod:`dbm.dumb` module is not written for speed and is not nearly as " +"heavily used as the other database modules." msgstr "" +"O módulo :mod:`dbm.dumb` é pensado como um último recurso alternativo para o " +"módulo :mod:`dbm` quando um módulo mais robusto não está disponível. O " +"módulo :mod:`dbm.dumb` não é escrito para velocidade e não é tão usado " +"quanto os outros módulos de banco de dados." -#: ../../library/dbm.rst:336 +#: ../../library/dbm.rst:337 msgid "" -"The :mod:`dbm.dumb` module provides a persistent dictionary-like interface " -"which is written entirely in Python. Unlike other modules such as :mod:`dbm." -"gnu` no external library is required. As with other persistent mappings, " -"the keys and values are always stored as bytes." +"The :mod:`dbm.dumb` module provides a persistent :class:`dict`-like " +"interface which is written entirely in Python. Unlike other :mod:`dbm` " +"backends, such as :mod:`dbm.gnu`, no external library is required." msgstr "" +"O módulo :mod:`dbm.dumb` fornece uma interface persistente do " +"tipo :class:`dict` que é escrita inteiramente em Python. Ao contrário de " +"outros backends :mod:`dbm`, como :mod:`dbm.gnu`, nenhuma biblioteca externa " +"é necessária." -#: ../../library/dbm.rst:341 -msgid "The module defines the following:" -msgstr "O módulo define o seguinte:" +#: ../../library/dbm.rst:342 +msgid "The :mod:`!dbm.dumb` module defines the following:" +msgstr "O módulo :mod:`!dbm.dumb` define o seguinte:" #: ../../library/dbm.rst:346 msgid "" -"Raised on :mod:`dbm.dumb`-specific errors, such as I/O errors. :exc:" -"`KeyError` is raised for general mapping errors like specifying an incorrect " -"key." +"Raised on :mod:`dbm.dumb`-specific errors, such as I/O " +"errors. :exc:`KeyError` is raised for general mapping errors like " +"specifying an incorrect key." msgstr "" +"Levantada em erros específicos de :mod:`dbm.dumb`, como erros de E/" +"S. :exc:`KeyError` é levantada para erros gerais de mapeamento, como " +"especificar uma chave incorreta." #: ../../library/dbm.rst:352 msgid "" -"Open a ``dumbdbm`` database and return a dumbdbm object. The *filename* " -"argument is the basename of the database file (without any specific " -"extensions). When a dumbdbm database is created, files with :file:`.dat` " -"and :file:`.dir` extensions are created." +"Open a :mod:`!dbm.dumb` database. The returned database object behaves " +"similar to a :term:`mapping`, in addition to providing :meth:`~dumbdbm.sync` " +"and :meth:`~dumbdbm.close` methods." +msgstr "" +"Abre um banco de dados :mod:`!dbm.dumb`. O objeto banco de dados retornado " +"se comporta de forma semelhante a um :term:`mapeamento`, além de fornecer os " +"métodos :meth:`~dumbdbm.sync` e :meth:`~dumbdbm.close`." + +#: ../../library/dbm.rst:357 +msgid "" +"The basename of the database file (without extensions). A new database " +"creates the following files: - :file:`{filename}.dat` " +"- :file:`{filename}.dir`" msgstr "" +"O nome base do arquivo do banco de dados (sem extensões). Um novo banco de " +"dados cria os seguintes arquivos: - :file:`{filename}.dat` " +"- :file:`{filename}.dir`" -#: ../../library/dbm.rst:380 +#: ../../library/dbm.rst:358 +msgid "" +"The basename of the database file (without extensions). A new database " +"creates the following files:" +msgstr "" +"O nome base do arquivo do banco de dados (sem extensões). Um novo banco de " +"dados cria os seguintes arquivos:" + +#: ../../library/dbm.rst:361 +msgid ":file:`{filename}.dat`" +msgstr ":file:`{filename}.dat`" + +#: ../../library/dbm.rst:362 +msgid ":file:`{filename}.dir`" +msgstr ":file:`{filename}.dir`" + +#: ../../library/dbm.rst:365 +msgid "" +"* ``'r'``: |flag_r| * ``'w'``: |flag_w| * ``'c'`` (default): |flag_c| * " +"``'n'``: |flag_n|" +msgstr "" +"* ``'r'``: |flag_r| * ``'w'``: |flag_w| * ``'c'`` (padrão): |flag_c| * " +"``'n'``: |flag_n|" + +#: ../../library/dbm.rst:366 +msgid "``'r'``: |flag_r|" +msgstr "``'r'``: |flag_r|" + +#: ../../library/dbm.rst:368 +msgid "``'c'`` (default): |flag_c|" +msgstr "``'c'`` (padrão): |flag_c|" + +#: ../../library/dbm.rst:375 msgid "" "It is possible to crash the Python interpreter when loading a database with " "a sufficiently large/complex entry due to stack depth limitations in " "Python's AST compiler." msgstr "" +"É possível travar o interpretador Python ao carregar um banco de dados com " +"uma entrada suficientemente grande/complexa devido a limitações de " +"profundidade de pilha no compilador AST do Python." -#: ../../library/dbm.rst:384 +#: ../../library/dbm.rst:379 msgid "" -":func:`.open` always creates a new database when the flag has the value " -"``'n'``." +":func:`~dbm.dumb.open` always creates a new database when *flag* is ``'n'``." msgstr "" +":func:`~dbm.dumb.open` sempre cria um novo banco de dados quando *flag* é " +"``'n'``." -#: ../../library/dbm.rst:388 +#: ../../library/dbm.rst:382 msgid "" -"A database opened with flags ``'r'`` is now read-only. Opening with flags " -"``'r'`` and ``'w'`` no longer creates a database if it does not exist." +"A database opened read-only if *flag* is ``'r'``. A database is not created " +"if it does not exist if *flag* is ``'r'`` or ``'w'``." msgstr "" +"Um banco de dados aberto somente leitura se *flag* for ``'r'``. Um banco de " +"dados não é criado se não existir se *flag* for ``'r'`` ou ``'w'``." -#: ../../library/dbm.rst:396 +#: ../../library/dbm.rst:389 msgid "" -"In addition to the methods provided by the :class:`collections.abc." -"MutableMapping` class, :class:`dumbdbm` objects provide the following " -"methods:" +"In addition to the methods provided by " +"the :class:`collections.abc.MutableMapping` class, the following methods are " +"provided:" msgstr "" +"Além dos métodos fornecidos pela " +"classe :class:`collections.abc.MutableMapping`, os seguintes métodos são " +"fornecidos:" -#: ../../library/dbm.rst:402 +#: ../../library/dbm.rst:395 msgid "" "Synchronize the on-disk directory and data files. This method is called by " "the :meth:`Shelve.sync` method." msgstr "" -#: ../../library/dbm.rst:407 -msgid "Close the ``dumbdbm`` database." -msgstr "" +#: ../../library/dbm.rst:400 +msgid "Close the database." +msgstr "Fecha o banco de dados." -#: ../../library/dbm.rst:325 +#: ../../library/dbm.rst:326 msgid "databases" -msgstr "" +msgstr "bancos de dados" diff --git a/library/debug.po b/library/debug.po index 6411b1784..7a5064cb2 100644 --- a/library/debug.po +++ b/library/debug.po @@ -1,26 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Hildeberto Abreu Magalhães , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Hildeberto Abreu Magalhães , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/decimal.po b/library/decimal.po index 0d436edf4..f51e6d158 100644 --- a/library/decimal.po +++ b/library/decimal.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2021 -# Adorilson Bezerra , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-07 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Adorilson Bezerra , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -37,9 +34,12 @@ msgstr "**Código-fonte:** :source:`Lib/decimal.py`" #: ../../library/decimal.rst:33 msgid "" "The :mod:`decimal` module provides support for fast correctly rounded " -"decimal floating point arithmetic. It offers several advantages over the :" -"class:`float` datatype:" +"decimal floating point arithmetic. It offers several advantages over " +"the :class:`float` datatype:" msgstr "" +"O módulo :mod:`decimal` fornece suporte a aritmética rápida de ponto " +"flutuante decimal corretamente arredondado. Oferece várias vantagens sobre o " +"tipo de dados :class:`float`:" #: ../../library/decimal.rst:37 msgid "" @@ -62,6 +62,11 @@ msgid "" "point. End users typically would not expect ``1.1 + 2.2`` to display as " "``3.3000000000000003`` as it does with binary floating point." msgstr "" +"Os números decimais podem ser representados exatamente. Por outro lado, " +"números como ``1.1`` e ``2.2`` não têm representações exatas em ponto " +"flutuante binário. Os usuários finais normalmente não esperam que ``1.1 + " +"2.2`` sejam exibidos como ``3.3000000000000003``, como ocorre com o ponto " +"flutuante binário." #: ../../library/decimal.rst:47 msgid "" @@ -72,6 +77,12 @@ msgid "" "accumulate. For this reason, decimal is preferred in accounting applications " "which have strict equality invariants." msgstr "" +"A exatidão transita para a aritmética. No ponto flutuante decimal, ``0.1 + " +"0.1 + 0.1 - 0.3`` é exatamente igual a zero. No ponto flutuante binário, o " +"resultado é ``5.5511151231257827e-017``. Embora próximas de zero, as " +"diferenças impedem o teste de igualdade confiável, e podem se acumular. Por " +"esse motivo, o decimal é preferido em aplicações de contabilidade que " +"envolvem invariáveis estritos de igualdade." #: ../../library/decimal.rst:54 msgid "" @@ -82,6 +93,12 @@ msgid "" "multiplicands. For instance, ``1.3 * 1.2`` gives ``1.56`` while ``1.30 * " "1.20`` gives ``1.5600``." msgstr "" +"O módulo decimal incorpora uma noção de casas significativas para que ``1.30 " +"+ 1.20`` seja ``2.50``. O zero à direita é mantido para indicar " +"significância. Esta é a apresentação habitual para aplicações monetárias. " +"Para multiplicação, a abordagem \"livro escolar\" usa todas as figuras nos " +"multiplicandos. Por exemplo, ``1.3 * 1.2`` é igual a ``1.56`` enquanto " +"``1.30 * 1.20`` é igual a ``1.5600``." #: ../../library/decimal.rst:61 msgid "" @@ -116,9 +133,9 @@ msgid "" "rounded floating-point arithmetic.\" -- excerpt from the decimal arithmetic " "specification." msgstr "" -"O módulo decimal foi projetado para dar suporte, \"sem prejuízo, a " -"aritmética decimal não arredondada exata (às vezes chamada aritmética de " -"ponto fixo) e aritmética arredondada de ponto flutuante\". -- trecho da " +"O módulo decimal foi projetado para dar suporte, \"sem prejuízo, à " +"aritmética decimal não arredondada exata (às vezes chamada de aritmética de " +"ponto fixo) e à aritmética arredondada de ponto flutuante\". -- Trecho da " "especificação aritmética decimal." #: ../../library/decimal.rst:85 @@ -137,40 +154,43 @@ msgid "" "``-Infinity``, and ``NaN``. The standard also differentiates ``-0`` from " "``+0``." msgstr "" +"Um número decimal é imutável. Possui um sinal, dígitos de coeficiente e um " +"expoente. Para preservar a significância, os dígitos do coeficiente não " +"truncam zeros à direita. Os decimais também incluem valores especiais, tais " +"como ``Infinity``, ``-Infinity`` e ``NaN``. O padrão também diferencia " +"``-0`` de ``+0``." #: ../../library/decimal.rst:94 msgid "" "The context for arithmetic is an environment specifying precision, rounding " "rules, limits on exponents, flags indicating the results of operations, and " "trap enablers which determine whether signals are treated as exceptions. " -"Rounding options include :const:`ROUND_CEILING`, :const:`ROUND_DOWN`, :const:" -"`ROUND_FLOOR`, :const:`ROUND_HALF_DOWN`, :const:`ROUND_HALF_EVEN`, :const:" -"`ROUND_HALF_UP`, :const:`ROUND_UP`, and :const:`ROUND_05UP`." +"Rounding options " +"include :const:`ROUND_CEILING`, :const:`ROUND_DOWN`, :const:`ROUND_FLOOR`, :const:`ROUND_HALF_DOWN`, :const:`ROUND_HALF_EVEN`, :const:`ROUND_HALF_UP`, :const:`ROUND_UP`, " +"and :const:`ROUND_05UP`." msgstr "" "O contexto da aritmética é um ambiente que especifica precisão, regras de " "arredondamento, limites de expoentes, sinalizadores indicando os resultados " "das operações e ativadores de interceptação que determinam se os sinais são " -"tratados como exceções. As opções de arredondamento incluem :const:" -"`ROUND_CEILING`, :const:`ROUND_DOWN`, :const:`ROUND_FLOOR`, :const:" -"`ROUND_HALF_DOWN`, :const:`ROUND_HALF_EVEN`, :const:`ROUND_HALF_UP`, :const:" -"`ROUND_UP` e :const:`ROUND_05UP`." +"tratados como exceções. As opções de arredondamento " +"incluem :const:`ROUND_CEILING`, :const:`ROUND_DOWN`, :const:`ROUND_FLOOR`, :const:`ROUND_HALF_DOWN`, :const:`ROUND_HALF_EVEN`, :const:`ROUND_HALF_UP`, :const:`ROUND_UP` " +"e :const:`ROUND_05UP`." #: ../../library/decimal.rst:101 msgid "" "Signals are groups of exceptional conditions arising during the course of " "computation. Depending on the needs of the application, signals may be " "ignored, considered as informational, or treated as exceptions. The signals " -"in the decimal module are: :const:`Clamped`, :const:`InvalidOperation`, :" -"const:`DivisionByZero`, :const:`Inexact`, :const:`Rounded`, :const:" -"`Subnormal`, :const:`Overflow`, :const:`Underflow` and :const:" -"`FloatOperation`." +"in the decimal module " +"are: :const:`Clamped`, :const:`InvalidOperation`, :const:`DivisionByZero`, :const:`Inexact`, :const:`Rounded`, :const:`Subnormal`, :const:`Overflow`, :const:`Underflow` " +"and :const:`FloatOperation`." msgstr "" "Sinais são grupos de condições excepcionais que surgem durante o curso da " -"computação. Dependendo das necessidades do aplicativo, os sinais podem ser " +"computação. Dependendo das necessidades da aplicação, os sinais podem ser " "ignorados, considerados informativos ou tratados como exceções. Os sinais no " -"módulo decimal são: :const:`Clamped`, :const:`InvalidOperation`, :const:" -"`DivisionByZero`, :const:`Inexact`, :const:`Rounded`, :const:`Subnormal`, :" -"const:`Overflow`, :const:`Underflow` e :const:`FloatOperation`." +"módulo decimal " +"são: :const:`Clamped`, :const:`InvalidOperation`, :const:`DivisionByZero`, :const:`Inexact`, :const:`Rounded`, :const:`Subnormal`, :const:`Overflow`, :const:`Underflow` " +"e :const:`FloatOperation`." #: ../../library/decimal.rst:108 msgid "" @@ -190,6 +210,8 @@ msgid "" "IBM's General Decimal Arithmetic Specification, `The General Decimal " "Arithmetic Specification `_." msgstr "" +"A especificação geral aritmética decimal da IBM, `The General Decimal " +"Arithmetic Specification `_." #: ../../library/decimal.rst:125 msgid "Quick-start Tutorial" @@ -203,7 +225,7 @@ msgid "" msgstr "" "O início usual do uso de decimais é importar o módulo, exibir o contexto " "atual com :func:`getcontext` e, se necessário, definir novos valores para " -"precisão, arredondamento ou armadilhas ativados::" +"precisão, arredondamento ou armadilhas ativadas::" #: ../../library/decimal.rst:139 msgid "" @@ -213,6 +235,12 @@ msgid "" "values such as ``NaN`` which stands for \"Not a number\", positive and " "negative ``Infinity``, and ``-0``::" msgstr "" +"Instâncias decimais podem ser construídas a partir de números inteiros, " +"strings, valores ponto flutuante ou tuplas. A construção a partir de um " +"número inteiro ou de um ponto flutuante realiza uma conversão exata do valor " +"desse número inteiro ou ponto flutuante. Os números decimais incluem valores " +"especiais como ``NaN``, que significa \"Não é um número\", ``Infinity`` " +"positivo e negativo e ``-0``::" #: ../../library/decimal.rst:163 msgid "" @@ -220,9 +248,9 @@ msgid "" "decimals and floats in constructors or ordering comparisons raises an " "exception::" msgstr "" -"Se o sinal :exc:`FloatOperation` for capturado na armadilha, a mistura " -"acidental de decimais e pontos flutuantes em construtores ou comparações de " -"ordenação levanta uma exceção::" +"Se o sinal :exc:`FloatOperation` está ativado, a mistura acidental de " +"decimais e pontos flutuantes em construtores ou comparações de ordenação " +"levanta uma exceção::" #: ../../library/decimal.rst:182 msgid "" @@ -230,9 +258,9 @@ msgid "" "digits input. Context precision and rounding only come into play during " "arithmetic operations." msgstr "" -"O significado de um novo decimal é determinado apenas pelo número de dígitos " -"inseridos. A precisão e o arredondamento do contexto só entram em jogo " -"durante operações aritméticas." +"A significância de um novo Decimal é determinada unicamente pelo número de " +"dígitos introduzidos. A precisão e o arredondamento do contexto só entram em " +"jogo nas operações aritméticas." #: ../../library/decimal.rst:199 msgid "" @@ -252,7 +280,7 @@ msgstr "" #: ../../library/decimal.rst:241 msgid "And some mathematical functions are also available to Decimal:" -msgstr "E algumas funções matemáticas também estão disponíveis no Decimal:" +msgstr "E algumas funções matemáticas também estão disponíveis para Decimal:" #: ../../library/decimal.rst:253 msgid "" @@ -260,6 +288,9 @@ msgid "" "This method is useful for monetary applications that often round results to " "a fixed number of places:" msgstr "" +"O método :meth:`~Decimal.quantize` arredonda um número para um expoente " +"fixo. Esse método é útil para aplicações monetárias que geralmente " +"arredondam os resultados para um número fixo de casas:" #: ../../library/decimal.rst:262 msgid "" @@ -268,25 +299,25 @@ msgid "" "most applications." msgstr "" "Como mostrado acima, a função :func:`getcontext` acessa o contexto atual e " -"permite que as configurações sejam alteradas. Essa abordagem atende às " -"necessidades da maioria das aplicações." +"permite alterar as configurações. Essa abordagem atende às necessidades da " +"maioria das aplicações." #: ../../library/decimal.rst:266 msgid "" "For more advanced work, it may be useful to create alternate contexts using " -"the Context() constructor. To make an alternate active, use the :func:" -"`setcontext` function." +"the Context() constructor. To make an alternate active, use " +"the :func:`setcontext` function." msgstr "" "Para trabalhos mais avançados, pode ser útil criar contextos alternativos " -"usando o construtor Context(). Para ativar uma alternativa, use a função :" -"func:`setcontext`." +"usando o construtor Context(). Para ativar uma alternativa, use a " +"função :func:`setcontext`." #: ../../library/decimal.rst:270 msgid "" "In accordance with the standard, the :mod:`decimal` module provides two " -"ready to use standard contexts, :const:`BasicContext` and :const:" -"`ExtendedContext`. The former is especially useful for debugging because " -"many of the traps are enabled:" +"ready to use standard contexts, :const:`BasicContext` " +"and :const:`ExtendedContext`. The former is especially useful for debugging " +"because many of the traps are enabled:" msgstr "" "De acordo com o padrão, o módulo :mod:`decimal` fornece dois contextos " "padrão prontos para uso, :const:`BasicContext` e :const:`ExtendedContext`. O " @@ -300,6 +331,11 @@ msgid "" "cleared, so it is best to clear the flags before each set of monitored " "computations by using the :meth:`~Context.clear_flags` method. ::" msgstr "" +"Os contextos também contêm sinalizadores para monitorar condições " +"excepcionais identificadas durante os cálculos. Os sinalizadores permanecem " +"definidos até que sejam explicitamente limpos, portanto, é melhor limpar os " +"sinalizadores antes de cada conjunto de cálculos monitorados usando o " +"método :meth:`~Context.clear_flags`. ::" #: ../../library/decimal.rst:312 msgid "" @@ -307,12 +343,18 @@ msgid "" "(digits beyond the context precision were thrown away) and that the result " "is inexact (some of the discarded digits were non-zero)." msgstr "" +"A entrada *flags* indica que a aproximação racional de pi foi arredondada " +"(os dígitos além da precisão do contexto foram descartados) e que o " +"resultado é inexato (alguns desses dígitos descartados eram diferentes de " +"zero)." #: ../../library/decimal.rst:316 msgid "" "Individual traps are set using the dictionary in the :attr:`~Context.traps` " "attribute of a context:" msgstr "" +"Armadilhas individuais são definidas usando o dicionário no " +"atributo :attr:`~Context.traps` de um contexto:" #: ../../library/decimal.rst:331 msgid "" @@ -322,11 +364,11 @@ msgid "" "the bulk of the program manipulates the data no differently than with other " "Python numeric types." msgstr "" -"A maioria dos programas ajusta o contexto atual apenas uma vez, no início do " -"programa. E, em muitas aplicações, os dados são convertidos para :class:" -"`Decimal` com uma única conversão dentro de um loop. Com o conjunto de " -"contextos e decimais criados, a maior parte do programa manipula os dados de " -"maneira diferente do que com outros tipos numéricos do Python." +"A maioria dos programas ajusta o contexto atual apenas uma vez, no início. " +"E, em muitas aplicações, os dados são convertidos para :class:`Decimal` em " +"uma única conversão dentro de um loop. Com o conjunto de contextos e " +"decimais criados, a maior parte do programa manipula os dados de maneira " +"diferente da que se faz com outros tipos numéricos do Python." #: ../../library/decimal.rst:343 msgid "Decimal objects" @@ -334,22 +376,22 @@ msgstr "Objetos de Decimal" #: ../../library/decimal.rst:348 msgid "Construct a new :class:`Decimal` object based from *value*." -msgstr "Constrói um novo objeto de :class:`Decimal` com base em *value*." +msgstr "Constrói um novo objeto de :class:`Decimal` a partir de *value*." #: ../../library/decimal.rst:350 msgid "" -"*value* can be an integer, string, tuple, :class:`float`, or another :class:" -"`Decimal` object. If no *value* is given, returns ``Decimal('0')``. If " -"*value* is a string, it should conform to the decimal numeric string syntax " -"after leading and trailing whitespace characters, as well as underscores " -"throughout, are removed::" +"*value* can be an integer, string, tuple, :class:`float`, or " +"another :class:`Decimal` object. If no *value* is given, returns " +"``Decimal('0')``. If *value* is a string, it should conform to the decimal " +"numeric string syntax after leading and trailing whitespace characters, as " +"well as underscores throughout, are removed::" msgstr "" -"*value* pode ser um inteiro, string, tupla, :class:`float` ou outro objeto " -"de :class:`Decimal`. Se nenhum *value* for fornecido, retornará " +"*value* pode ser um inteiro, uma string, uma tupla, um :class:`float` ou " +"outro objeto :class:`Decimal`. Se nenhum *value* for fornecido, retornará " "``Decimal('0')``. Se *value* for uma string, ele deverá estar em " "conformidade com a sintaxe da string numérica decimal após caracteres de " -"espaço em branco à esquerda e à direita, bem como sublinhados em toda parte, " -"serem removidos::" +"espaço em branco à esquerda e à direita, bem como sublinhados serem " +"removidos::" #: ../../library/decimal.rst:366 msgid "" @@ -370,6 +412,10 @@ msgid "" "an integer exponent. For example, ``Decimal((0, (1, 4, 1, 4), -3))`` returns " "``Decimal('1.414')``." msgstr "" +"Se *value* for uma :class:`tupla `, ela deverá ter três componentes: " +"um sinal (``0`` para positivo ou ``1`` para negativo), uma :class:`tupla " +"` de dígitos e um expoente inteiro. Por exemplo, ``Decimal((0, (1, 4, " +"1, 4), -3))`` retorna ``Decimal('1.414')``." #: ../../library/decimal.rst:376 msgid "" @@ -392,10 +438,10 @@ msgid "" "``Decimal('3.00000')`` records all five zeros even if the context precision " "is only three." msgstr "" -"A precisão *context* não afeta quantos dígitos estão armazenados. Isso é " -"determinado exclusivamente pelo número de dígitos em *value*. Por exemplo, " +"A precisão *context* não afeta o número de dígitos armazenados. Isso é " +"determinado exclusivamente pelo número de dígitos de *value*. Por exemplo, " "``Decimal('3.00000')`` registra todos os cinco zeros, mesmo que a precisão " -"do contexto seja apenas três." +"do contexto seja de apenas três." #: ../../library/decimal.rst:387 msgid "" @@ -404,10 +450,14 @@ msgid "" "exception is raised; otherwise, the constructor returns a new Decimal with " "the value of ``NaN``." msgstr "" +"O objetivo do argumento *context* é determinar o que fazer se *value* for " +"uma string malformada. Se o contexto capturar :const:`InvalidOperation`, uma " +"exceção será levantada; caso contrário, o construtor retornará um novo " +"decimal com o valor ``NaN``." #: ../../library/decimal.rst:392 msgid "Once constructed, :class:`Decimal` objects are immutable." -msgstr "Uma vez construídos, objetos de :class:`Decimal` são imutáveis." +msgstr "Uma vez construídos, objetos :class:`Decimal` são imutáveis." #: ../../library/decimal.rst:394 msgid "" @@ -421,8 +471,9 @@ msgid "" ":class:`float` arguments raise an exception if the :exc:`FloatOperation` " "trap is set. By default the trap is off." msgstr "" -"Os argumentos de :class:`float` levantam uma exceção se a armadilha :exc:" -"`FloatOperation` estiver definida. Por padrão, a armadilha está desativada." +"Os argumentos de :class:`float` levantam uma exceção se a " +"armadilha :exc:`FloatOperation` estiver definida. Por padrão, a armadilha " +"está desativada." #: ../../library/decimal.rst:402 msgid "" @@ -430,7 +481,7 @@ msgid "" "literals in code." msgstr "" "Sublinhados são permitidos para agrupamento, como nos literais de ponto " -"flutuante e integral no código." +"flutuante e inteiros no código." #: ../../library/decimal.rst:406 msgid "" @@ -438,8 +489,8 @@ msgid "" "numeric types such as :class:`float` and :class:`int`. All of the usual " "math operations and special methods apply. Likewise, decimal objects can be " "copied, pickled, printed, used as dictionary keys, used as set elements, " -"compared, sorted, and coerced to another type (such as :class:`float` or :" -"class:`int`)." +"compared, sorted, and coerced to another type (such as :class:`float` " +"or :class:`int`)." msgstr "" "Objetos decimais de ponto flutuante compartilham muitas propriedades com " "outros tipos numéricos embutidos, como :class:`float` e :class:`int`. Todas " @@ -455,10 +506,10 @@ msgid "" "applied to Decimal objects, the sign of the result is the sign of the " "*dividend* rather than the sign of the divisor::" msgstr "" -"Existem algumas pequenas diferenças entre aritmética em objetos decimais e " -"aritmética em números inteiros e flutuantes. Quando o operador de resto " -"``%`` é aplicado a objetos decimais, o sinal do resultado é o sinal do " -"*dividend* em vez do sinal do divisor::" +"Existem algumas pequenas diferenças entre a aritmética de objetos decimais e " +"a de números inteiros e flutuantes. Quando o operador de resto ``%`` é " +"aplicado a objetos decimais, o sinal do resultado é o sinal do *dividendo* " +"em vez do sinal do divisor::" #: ../../library/decimal.rst:423 msgid "" @@ -476,26 +527,26 @@ msgid "" "The ``%`` and ``//`` operators implement the ``remainder`` and ``divide-" "integer`` operations (respectively) as described in the specification." msgstr "" -"Os operadores ``%`` e ``//`` implementam as operações de ``módulo`` e " -"``divisão inteira`` (respectivamente) como descrito na especificação." +"Os operadores ``%`` e ``//`` implementam as operações de ``remainder`` e " +"``divide-integer`` (respectivamente), conforme descrito na especificação." #: ../../library/decimal.rst:436 msgid "" -"Decimal objects cannot generally be combined with floats or instances of :" -"class:`fractions.Fraction` in arithmetic operations: an attempt to add a :" -"class:`Decimal` to a :class:`float`, for example, will raise a :exc:" -"`TypeError`. However, it is possible to use Python's comparison operators " -"to compare a :class:`Decimal` instance ``x`` with another number ``y``. " -"This avoids confusing results when doing equality comparisons between " -"numbers of different types." +"Decimal objects cannot generally be combined with floats or instances " +"of :class:`fractions.Fraction` in arithmetic operations: an attempt to add " +"a :class:`Decimal` to a :class:`float`, for example, will raise " +"a :exc:`TypeError`. However, it is possible to use Python's comparison " +"operators to compare a :class:`Decimal` instance ``x`` with another number " +"``y``. This avoids confusing results when doing equality comparisons " +"between numbers of different types." msgstr "" "Objetos decimais geralmente não podem ser combinados com pontos flutuantes " "ou instâncias de :class:`fractions.Fraction` em operações aritméticas: uma " "tentativa de adicionar um :class:`Decimal` a um :class:`float`, por exemplo, " "vai levantar um :exc:`TypeError`. No entanto, é possível usar os operadores " "de comparação do Python para comparar uma instância de :class:`Decimal` " -"``x`` com outro número ``y``. Isso evita resultados confusos ao fazer " -"comparações de igualdade entre números de tipos diferentes." +"``x`` com outro número ``y``. Isso evita resultados confusos ao comparar " +"números de tipos diferentes." #: ../../library/decimal.rst:444 msgid "" @@ -503,7 +554,7 @@ msgid "" "types are now fully supported." msgstr "" "As comparações de tipos mistos entre instâncias de :class:`Decimal` e outros " -"tipos numéricos agora são totalmente suportadas." +"tipos numéricos agora estão totalmente implementadas." #: ../../library/decimal.rst:448 msgid "" @@ -521,15 +572,15 @@ msgid "" "digit with respect to the decimal point." msgstr "" "Retorna o expoente ajustado depois de deslocar os dígitos mais à direita do " -"coeficiente até restar apenas o dígito principal: ``Decimal('321e+5')." -"adjusted()`` retorna sete. Usado para determinar a posição do dígito mais " -"significativo em relação ao ponto decimal." +"coeficiente até restar apenas o dígito principal: " +"``Decimal('321e+5').adjusted()`` retorna sete. Usado para determinar a " +"posição do dígito mais significativo em relação ao ponto decimal." #: ../../library/decimal.rst:461 msgid "" -"Return a pair ``(n, d)`` of integers that represent the given :class:" -"`Decimal` instance as a fraction, in lowest terms and with a positive " -"denominator::" +"Return a pair ``(n, d)`` of integers that represent the " +"given :class:`Decimal` instance as a fraction, in lowest terms and with a " +"positive denominator::" msgstr "" "Retorna um par ``(n, d)`` de números inteiros que representam a instância " "dada :class:`Decimal` como uma fração, nos termos mais baixos e com um " @@ -589,9 +640,9 @@ msgid "" msgstr "" "Compara dois operandos usando sua representação abstrata em vez de seu valor " "numérico. Semelhante ao método :meth:`compare`, mas o resultado fornece uma " -"ordem total nas instâncias de :class:`Decimal`. Duas instâncias de :class:" -"`Decimal` com o mesmo valor numérico, mas diferentes representações, se " -"comparam desiguais nesta ordem:" +"ordem total nas instâncias de :class:`Decimal`. Duas instâncias " +"de :class:`Decimal` com o mesmo valor numérico, mas diferentes " +"representações, se comparam desiguais nesta ordem:" #: ../../library/decimal.rst:513 msgid "" @@ -610,7 +661,7 @@ msgstr "" "detalhes da ordem total." #: ../../library/decimal.rst:520 ../../library/decimal.rst:531 -#: ../../library/decimal.rst:559 ../../library/decimal.rst:835 +#: ../../library/decimal.rst:559 ../../library/decimal.rst:846 msgid "" "This operation is unaffected by context and is quiet: no flags are changed " "and no rounding is performed. As an exception, the C version may raise " @@ -625,13 +676,13 @@ msgstr "" msgid "" "Compare two operands using their abstract representation rather than their " "value as in :meth:`compare_total`, but ignoring the sign of each operand. " -"``x.compare_total_mag(y)`` is equivalent to ``x.copy_abs().compare_total(y." -"copy_abs())``." +"``x.compare_total_mag(y)`` is equivalent to " +"``x.copy_abs().compare_total(y.copy_abs())``." msgstr "" "Compara dois operandos usando sua representação abstrata em vez de seu " "valor, como em :meth:`compare_total`, mas ignorando o sinal de cada " -"operando. ``x.compare_total_mag(y)`` é equivalente a ``x.copy_abs()." -"compare_total(y.copy_abs())``." +"operando. ``x.compare_total_mag(y)`` é equivalente a " +"``x.copy_abs().compare_total(y.copy_abs())``." #: ../../library/decimal.rst:537 msgid "" @@ -679,11 +730,11 @@ msgstr "" #: ../../library/decimal.rst:576 msgid "" -"Alternative constructor that only accepts instances of :class:`float` or :" -"class:`int`." +"Alternative constructor that only accepts instances of :class:`float` " +"or :class:`int`." msgstr "" -"Construtor alternativo que aceita apenas instâncias de :class:`float` ou :" -"class:`int`." +"Construtor alternativo que aceita apenas instâncias de :class:`float` " +"ou :class:`int`." #: ../../library/decimal.rst:579 msgid "" @@ -693,6 +744,11 @@ msgid "" "``0x1.999999999999ap-4``. That equivalent value in decimal is " "``0.1000000000000000055511151231257827021181583404541015625``." msgstr "" +"Observe que ``Decimal.from_float(0.1)`` não é o mesmo que " +"``Decimal('0.1')``. Como 0.1 não é exatamente representável no ponto " +"flutuante binário, o valor é armazenado como o valor representável mais " +"próximo que é ``0x1.999999999999ap-4``.; Esse valor equivalente em decimal é " +"``0.1000000000000000055511151231257827021181583404541015625``." #: ../../library/decimal.rst:585 msgid "" @@ -707,7 +763,7 @@ msgid "" "Fused multiply-add. Return self*other+third with no rounding of the " "intermediate product self*other." msgstr "" -"Multiplicação e adição fundidos. Retorna self*other+third sem arredondamento " +"Multiplicação e adição fundidas. Retorna self*other+third sem arredondamento " "do produto intermediário self*other." #: ../../library/decimal.rst:611 @@ -733,31 +789,31 @@ msgid "" "Return :const:`True` if the argument is either positive or negative infinity " "and :const:`False` otherwise." msgstr "" -"Retorna :const:`True` se o argumento for infinito positivo ou negativo e :" -"const:`False` caso contrário." +"Retorna :const:`True` se o argumento for infinito positivo ou negativo " +"e :const:`False` caso contrário." #: ../../library/decimal.rst:627 msgid "" -"Return :const:`True` if the argument is a (quiet or signaling) NaN and :" -"const:`False` otherwise." +"Return :const:`True` if the argument is a (quiet or signaling) NaN " +"and :const:`False` otherwise." msgstr "" -"Retorna :const:`True` se o argumento for NaN (silencioso ou sinalizador) e :" -"const:`False` caso contrário." +"Retorna :const:`True` se o argumento for NaN (silencioso ou sinalizado) " +"e :const:`False` caso contrário." #: ../../library/decimal.rst:632 msgid "" -"Return :const:`True` if the argument is a *normal* finite number. Return :" -"const:`False` if the argument is zero, subnormal, infinite or a NaN." +"Return :const:`True` if the argument is a *normal* finite number. " +"Return :const:`False` if the argument is zero, subnormal, infinite or a NaN." msgstr "" -"Retorna :const:`True` se o argumento for um número finito *normal*. Retorna :" -"const:`False` se o argumento for zero, subnormal, infinito ou NaN." +"Retorna :const:`True` se o argumento for um número finito *normal*. " +"Retorna :const:`False` se o argumento for zero, subnormal, infinito ou NaN." #: ../../library/decimal.rst:637 msgid "" "Return :const:`True` if the argument is a quiet NaN, and :const:`False` " "otherwise." msgstr "" -"Retorna :const:`True` se o argumento for um NaN silencioso, e :const:`False` " +"Retorna :const:`True` se o argumento for um NaN silencioso e :const:`False` " "caso contrário." #: ../../library/decimal.rst:642 @@ -765,8 +821,9 @@ msgid "" "Return :const:`True` if the argument has a negative sign and :const:`False` " "otherwise. Note that zeros and NaNs can both carry signs." msgstr "" -"Retorna :const:`True` se o argumento tiver um sinal negativo e :const:" -"`False` caso contrário. Observe que zeros e NaNs podem carregar sinais." +"Retorna :const:`True` se o argumento tiver um sinal negativo " +"e :const:`False` caso contrário. Observe que zeros e NaNs podem carregar " +"sinais." #: ../../library/decimal.rst:647 msgid "" @@ -786,11 +843,11 @@ msgstr "" #: ../../library/decimal.rst:657 msgid "" -"Return :const:`True` if the argument is a (positive or negative) zero and :" -"const:`False` otherwise." +"Return :const:`True` if the argument is a (positive or negative) zero " +"and :const:`False` otherwise." msgstr "" -"Retorna :const:`True` se o argumento for um zero (positivo ou negativo) e :" -"const:`False` caso contrário." +"Retorna :const:`True` se o argumento for um zero (positivo ou negativo) " +"e :const:`False` caso contrário." #: ../../library/decimal.rst:662 msgid "" @@ -810,8 +867,8 @@ msgstr "" #: ../../library/decimal.rst:672 msgid "" -"For a nonzero number, return the adjusted exponent of its operand as a :" -"class:`Decimal` instance. If the operand is a zero then ``Decimal('-" +"For a nonzero number, return the adjusted exponent of its operand as " +"a :class:`Decimal` instance. If the operand is a zero then ``Decimal('-" "Infinity')`` is returned and the :const:`DivisionByZero` flag is raised. If " "the operand is an infinity then ``Decimal('Infinity')`` is returned." msgstr "" @@ -865,6 +922,9 @@ msgid "" "before returning and that ``NaN`` values are either signaled or ignored " "(depending on the context and whether they are signaling or quiet)." msgstr "" +"Como ``max(self, other)``, exceto que a regra de arredondamento de contexto " +"é aplicada antes de retornar e que os valores ``NaN`` são sinalizados ou " +"ignorados (dependendo do contexto e se estão sinalizando ou silenciosos)." #: ../../library/decimal.rst:710 msgid "" @@ -880,6 +940,9 @@ msgid "" "before returning and that ``NaN`` values are either signaled or ignored " "(depending on the context and whether they are signaling or quiet)." msgstr "" +"Como ``min(self, other)``, exceto que a regra de arredondamento de contexto " +"é aplicada antes de retornar e que os valores ``NaN`` são sinalizados ou " +"ignorados (dependendo do contexto e se estão sinalizando ou silenciosos)." #: ../../library/decimal.rst:722 msgid "" @@ -923,14 +986,52 @@ msgstr "" #: ../../library/decimal.rst:746 msgid "" -"Normalize the number by stripping the rightmost trailing zeros and " -"converting any result equal to ``Decimal('0')`` to ``Decimal('0e0')``. Used " -"for producing canonical values for attributes of an equivalence class. For " -"example, ``Decimal('32.100')`` and ``Decimal('0.321000e+2')`` both normalize " -"to the equivalent value ``Decimal('32.1')``." +"Used for producing canonical values of an equivalence class within either " +"the current context or the specified context." +msgstr "" +"Usado para produzir valores canônicos de uma classe de equivalência no " +"contexto atual ou no contexto especificado." + +#: ../../library/decimal.rst:749 +msgid "" +"This has the same semantics as the unary plus operation, except that if the " +"final result is finite it is reduced to its simplest form, with all trailing " +"zeros removed and its sign preserved. That is, while the coefficient is non-" +"zero and a multiple of ten the coefficient is divided by ten and the " +"exponent is incremented by 1. Otherwise (the coefficient is zero) the " +"exponent is set to 0. In all cases the sign is unchanged." +msgstr "" +"Esta tem a mesma semântica que a operação unária mais, exceto que se o " +"resultado final for finito, ele será reduzido à sua forma mais simples, com " +"todos os zeros à direita removidos e seu sinal preservado. Ou seja, enquanto " +"o coeficiente for diferente de zero e múltiplo de dez, o coeficiente é " +"dividido por dez e o expoente é incrementado em 1. Caso contrário (o " +"coeficiente é zero), o expoente é definido como 0. Em todos os casos, o " +"sinal permanece inalterado. ." + +#: ../../library/decimal.rst:756 +msgid "" +"For example, ``Decimal('32.100')`` and ``Decimal('0.321000e+2')`` both " +"normalize to the equivalent value ``Decimal('32.1')``." +msgstr "" +"Por exemplo, ``Decimal('32.100')`` e ``Decimal('0.321000e+2')`` ambos " +"normalizam para o valor equivalente ``Decimal('32.1')``." + +#: ../../library/decimal.rst:759 +msgid "Note that rounding is applied *before* reducing to simplest form." +msgstr "" +"Observe que o arredondamento é aplicado *antes* de reduzir para a forma mais " +"simples." + +#: ../../library/decimal.rst:761 +msgid "" +"In the latest versions of the specification, this operation is also known as " +"``reduce``." msgstr "" +"Nas versões mais recentes da especificação, esta operação também é conhecida " +"como ``reduce``." -#: ../../library/decimal.rst:755 +#: ../../library/decimal.rst:766 msgid "" "Return a string describing the *class* of the operand. The returned value " "is one of the following ten strings." @@ -938,52 +1039,52 @@ msgstr "" "Retorna uma string descrevendo a *classe* do operando. O valor retornado é " "uma das dez sequências a seguir." -#: ../../library/decimal.rst:758 +#: ../../library/decimal.rst:769 msgid "``\"-Infinity\"``, indicating that the operand is negative infinity." msgstr "``\"-Infinity\"``, indicando que o operando é infinito negativo." -#: ../../library/decimal.rst:759 +#: ../../library/decimal.rst:770 msgid "" "``\"-Normal\"``, indicating that the operand is a negative normal number." msgstr "``\"-Normal\"``, indicando que o operando é um número normal negativo." -#: ../../library/decimal.rst:760 +#: ../../library/decimal.rst:771 msgid "" "``\"-Subnormal\"``, indicating that the operand is negative and subnormal." msgstr "``\"-Subnormal\"``, indicando que o operando é negativo e subnormal." -#: ../../library/decimal.rst:761 +#: ../../library/decimal.rst:772 msgid "``\"-Zero\"``, indicating that the operand is a negative zero." msgstr "``\"-Zero\"``, indicando que o operando é um zero negativo." -#: ../../library/decimal.rst:762 +#: ../../library/decimal.rst:773 msgid "``\"+Zero\"``, indicating that the operand is a positive zero." msgstr "``\"+Zero\"``, indicando que o operando é um zero positivo." -#: ../../library/decimal.rst:763 +#: ../../library/decimal.rst:774 msgid "" "``\"+Subnormal\"``, indicating that the operand is positive and subnormal." msgstr "``\"+Subnormal\"``, indicando que o operando é positivo e subnormal." -#: ../../library/decimal.rst:764 +#: ../../library/decimal.rst:775 msgid "" "``\"+Normal\"``, indicating that the operand is a positive normal number." msgstr "``\"+Normal\"``, indicando que o operando é um número normal positivo." -#: ../../library/decimal.rst:765 +#: ../../library/decimal.rst:776 msgid "``\"+Infinity\"``, indicating that the operand is positive infinity." msgstr "``\"+Infinity\"``, indicando que o operando é infinito positivo." -#: ../../library/decimal.rst:766 +#: ../../library/decimal.rst:777 msgid "``\"NaN\"``, indicating that the operand is a quiet NaN (Not a Number)." msgstr "" "``\"NaN\"``, indicando que o operando é um NaN (\"Not a Number\") silencioso." -#: ../../library/decimal.rst:767 +#: ../../library/decimal.rst:778 msgid "``\"sNaN\"``, indicating that the operand is a signaling NaN." msgstr "``\"sNaN\"``, indicando que o operando é um NaN sinalizador." -#: ../../library/decimal.rst:771 +#: ../../library/decimal.rst:782 msgid "" "Return a value equal to the first operand after rounding and having the " "exponent of the second operand." @@ -991,7 +1092,7 @@ msgstr "" "Retorna um valor igual ao primeiro operando após o arredondamento e com o " "expoente do segundo operando." -#: ../../library/decimal.rst:777 +#: ../../library/decimal.rst:788 msgid "" "Unlike other operations, if the length of the coefficient after the quantize " "operation would be greater than precision, then an :const:`InvalidOperation` " @@ -999,12 +1100,12 @@ msgid "" "quantized exponent is always equal to that of the right-hand operand." msgstr "" "Diferentemente de outras operações, se o comprimento do coeficiente após a " -"operação de quantização for maior que a precisão, então :const:" -"`InvalidOperation` é sinalizado. Isso garante que, a menos que haja uma " -"condição de erro, o expoente quantizado é sempre igual ao do operando do " -"lado direito." +"operação de quantização for maior que a precisão, " +"então :const:`InvalidOperation` é sinalizado. Isso garante que, a menos que " +"haja uma condição de erro, o expoente quantizado é sempre igual ao do " +"operando do lado direito." -#: ../../library/decimal.rst:783 +#: ../../library/decimal.rst:794 msgid "" "Also unlike other operations, quantize never signals Underflow, even if the " "result is subnormal and inexact." @@ -1012,7 +1113,7 @@ msgstr "" "Também, diferentemente de outras operações, a quantização nunca sinaliza " "Underflow, mesmo que o resultado seja subnormal e inexato." -#: ../../library/decimal.rst:786 +#: ../../library/decimal.rst:797 msgid "" "If the exponent of the second operand is larger than that of the first then " "rounding may be necessary. In this case, the rounding mode is determined by " @@ -1026,13 +1127,15 @@ msgstr "" "``context`` fornecido; se nenhum argumento for fornecido, o modo de " "arredondamento do contexto da thread atual será usado." -#: ../../library/decimal.rst:792 +#: ../../library/decimal.rst:803 msgid "" -"An error is returned whenever the resulting exponent is greater than :attr:" -"`~Context.Emax` or less than :meth:`~Context.Etiny`." +"An error is returned whenever the resulting exponent is greater " +"than :attr:`~Context.Emax` or less than :meth:`~Context.Etiny`." msgstr "" +"Um erro é retornado sempre que o expoente resultante for maior " +"que :attr:`~Context.Emax` ou menor que :meth:`~Context.Etiny`." -#: ../../library/decimal.rst:797 +#: ../../library/decimal.rst:808 msgid "" "Return ``Decimal(10)``, the radix (base) in which the :class:`Decimal` class " "does all its arithmetic. Included for compatibility with the specification." @@ -1040,7 +1143,7 @@ msgstr "" "Retorna ``Decimal(10)``, a raiz (base) na qual a classe :class:`Decimal` faz " "toda a sua aritmética. Incluído para compatibilidade com a especificação." -#: ../../library/decimal.rst:803 +#: ../../library/decimal.rst:814 msgid "" "Return the remainder from dividing *self* by *other*. This differs from " "``self % other`` in that the sign of the remainder is chosen so as to " @@ -1055,11 +1158,11 @@ msgstr "" "se dois números inteiros estiverem igualmente próximos, o par será é " "escolhido." -#: ../../library/decimal.rst:810 +#: ../../library/decimal.rst:821 msgid "If the result is zero then its sign will be the sign of *self*." msgstr "Se o resultado for zero, seu sinal será o sinal de *self*." -#: ../../library/decimal.rst:821 +#: ../../library/decimal.rst:832 msgid "" "Return the result of rotating the digits of the first operand by an amount " "specified by the second operand. The second operand must be an integer in " @@ -1080,13 +1183,14 @@ msgstr "" "comprimento, se necessário. O sinal e o expoente do primeiro operando não " "são alterados." -#: ../../library/decimal.rst:832 +#: ../../library/decimal.rst:843 msgid "" "Test whether self and other have the same exponent or whether both are " "``NaN``." msgstr "" +"Testa se \"self\" e \"other\" têm o mesmo expoente ou se ambos são ``NaN``." -#: ../../library/decimal.rst:841 +#: ../../library/decimal.rst:852 msgid "" "Return the first operand with exponent adjusted by the second. Equivalently, " "return the first operand multiplied by ``10**other``. The second operand " @@ -1096,7 +1200,7 @@ msgstr "" "forma, retorna o primeiro operando multiplicado por ``10**other``. O segundo " "operando deve ser um número inteiro." -#: ../../library/decimal.rst:847 +#: ../../library/decimal.rst:858 msgid "" "Return the result of shifting the digits of the first operand by an amount " "specified by the second operand. The second operand must be an integer in " @@ -1115,18 +1219,18 @@ msgstr "" "coeficiente são zeros. O sinal e o expoente do primeiro operando não são " "alterados." -#: ../../library/decimal.rst:857 +#: ../../library/decimal.rst:868 msgid "Return the square root of the argument to full precision." msgstr "Retorna a raiz quadrada do argumento para a precisão total." -#: ../../library/decimal.rst:862 ../../library/decimal.rst:1457 +#: ../../library/decimal.rst:873 ../../library/decimal.rst:1468 msgid "" "Convert to a string, using engineering notation if an exponent is needed." msgstr "" "Converte em uma string, usando notação de engenharia, se for necessário um " "expoente." -#: ../../library/decimal.rst:864 ../../library/decimal.rst:1459 +#: ../../library/decimal.rst:875 ../../library/decimal.rst:1470 msgid "" "Engineering notation has an exponent which is a multiple of 3. This can " "leave up to 3 digits to the left of the decimal place and may require the " @@ -1136,13 +1240,13 @@ msgstr "" "deixar até 3 dígitos à esquerda da casa decimal e pode exigir a adição de um " "ou dois zeros à direita." -#: ../../library/decimal.rst:868 +#: ../../library/decimal.rst:879 msgid "" "For example, this converts ``Decimal('123E+1')`` to ``Decimal('1.23E+3')``." msgstr "" "Por exemplo, isso converte ``Decimal('123E+1')`` para ``Decimal('1.23E+3')``." -#: ../../library/decimal.rst:872 +#: ../../library/decimal.rst:883 msgid "" "Identical to the :meth:`to_integral_value` method. The ``to_integral`` name " "has been kept for compatibility with older versions." @@ -1150,7 +1254,7 @@ msgstr "" "Idêntico ao método :meth:`to_integral_value`. O nome ``to_integral`` foi " "mantido para compatibilidade com versões mais antigas." -#: ../../library/decimal.rst:877 +#: ../../library/decimal.rst:888 msgid "" "Round to the nearest integer, signaling :const:`Inexact` or :const:`Rounded` " "as appropriate if rounding occurs. The rounding mode is determined by the " @@ -1159,38 +1263,43 @@ msgid "" msgstr "" "Arredonda para o número inteiro mais próximo, sinalizando :const:`Inexact` " "ou :const:`Rounded`, conforme apropriado, se o arredondamento ocorrer. O " -"modo de arredondamento é determinado pelo parâmetro ``rouding``, se " +"modo de arredondamento é determinado pelo parâmetro ``rounding``, se " "fornecido, ou pelo ``context`` especificado. Se nenhum parâmetro for " "fornecido, o modo de arredondamento do contexto atual será usado." -#: ../../library/decimal.rst:885 +#: ../../library/decimal.rst:896 msgid "" -"Round to the nearest integer without signaling :const:`Inexact` or :const:" -"`Rounded`. If given, applies *rounding*; otherwise, uses the rounding " -"method in either the supplied *context* or the current context." +"Round to the nearest integer without signaling :const:`Inexact` " +"or :const:`Rounded`. If given, applies *rounding*; otherwise, uses the " +"rounding method in either the supplied *context* or the current context." msgstr "" "Arredonda para o número inteiro mais próximo sem sinalizar :const:`Inexact` " -"ou :const:`Rounding`. Se fornecido, aplica *rounding*; caso contrário, usa o " +"ou :const:`Rounded`. Se fornecido, aplica *rounding*; caso contrário, usa o " "método de arredondamento no *context* especificado ou no contexto atual." -#: ../../library/decimal.rst:893 +#: ../../library/decimal.rst:904 msgid "Logical operands" msgstr "Operandos lógicos" -#: ../../library/decimal.rst:895 +#: ../../library/decimal.rst:906 msgid "" -"The :meth:`~Decimal.logical_and`, :meth:`~Decimal.logical_invert`, :meth:" -"`~Decimal.logical_or`, and :meth:`~Decimal.logical_xor` methods expect their " -"arguments to be *logical operands*. A *logical operand* is a :class:" -"`Decimal` instance whose exponent and sign are both zero, and whose digits " -"are all either ``0`` or ``1``." +"The :meth:`~Decimal.logical_and`, :meth:`~Decimal.logical_invert`, :meth:`~Decimal.logical_or`, " +"and :meth:`~Decimal.logical_xor` methods expect their arguments to be " +"*logical operands*. A *logical operand* is a :class:`Decimal` instance " +"whose exponent and sign are both zero, and whose digits are all either ``0`` " +"or ``1``." msgstr "" +"Os " +"métodos :meth:`~Decimal.logical_and`, :meth:`~Decimal.logical_invert`, :meth:`~Decimal.logical_or` " +"e :meth:`~Decimal.logical_xor` esperam que seus argumentos sejam *operandos " +"lógicos*. Um *operando lógico* é uma instância de :class:`Decimal` cujo " +"expoente e sinal são zero e cujos dígitos são todos ``0`` ou ``1``." -#: ../../library/decimal.rst:907 +#: ../../library/decimal.rst:918 msgid "Context objects" msgstr "Objetos de contexto" -#: ../../library/decimal.rst:909 +#: ../../library/decimal.rst:920 msgid "" "Contexts are environments for arithmetic operations. They govern precision, " "set rules for rounding, determine which signals are treated as exceptions, " @@ -1200,7 +1309,7 @@ msgstr "" "precisão, estabelecem regras para arredondamento, determinam quais sinais " "são tratados como exceções e limitam o intervalo dos expoentes." -#: ../../library/decimal.rst:913 +#: ../../library/decimal.rst:924 msgid "" "Each thread has its own current context which is accessed or changed using " "the :func:`getcontext` and :func:`setcontext` functions:" @@ -1208,23 +1317,23 @@ msgstr "" "Cada thread possui seu próprio contexto atual que é acessado ou alterado " "usando as funções :func:`getcontext` e :func:`setcontext`:" -#: ../../library/decimal.rst:919 +#: ../../library/decimal.rst:930 msgid "Return the current context for the active thread." msgstr "Retorna o contexto atual para a thread ativa." -#: ../../library/decimal.rst:924 +#: ../../library/decimal.rst:935 msgid "Set the current context for the active thread to *c*." msgstr "Define o contexto atual para a thread ativa como *C*." -#: ../../library/decimal.rst:926 +#: ../../library/decimal.rst:937 msgid "" "You can also use the :keyword:`with` statement and the :func:`localcontext` " "function to temporarily change the active context." msgstr "" -"Você também pode usar a instrução :keyword:`with` e a função :func:" -"`localcontext` para alterar temporariamente o contexto ativo." +"Você também pode usar a instrução :keyword:`with` e a " +"função :func:`localcontext` para alterar temporariamente o contexto ativo." -#: ../../library/decimal.rst:931 +#: ../../library/decimal.rst:942 msgid "" "Return a context manager that will set the current context for the active " "thread to a copy of *ctx* on entry to the with-statement and restore the " @@ -1232,8 +1341,13 @@ msgid "" "specified, a copy of the current context is used. The *kwargs* argument is " "used to set the attributes of the new context." msgstr "" +"Retorna um gerenciador de contexto que vai definir o contexto atual da " +"thread ativa para uma cópia de *ctx* na entrada da instrução \"with\" e " +"restaurar o contexto anterior ao sair da instrução \"with\". Se nenhum " +"contexto for especificado, uma cópia do contexto atual será usada. O " +"argumento *kwargs* é usado para definir os atributos do novo contexto." -#: ../../library/decimal.rst:937 +#: ../../library/decimal.rst:948 msgid "" "For example, the following code sets the current decimal precision to 42 " "places, performs a calculation, and then automatically restores the previous " @@ -1242,59 +1356,64 @@ msgstr "" "Por exemplo, o código a seguir define a precisão decimal atual para 42 " "casas, executa um cálculo e restaura automaticamente o contexto anterior::" -#: ../../library/decimal.rst:947 +#: ../../library/decimal.rst:958 msgid "Using keyword arguments, the code would be the following::" -msgstr "" +msgstr "Usando argumentos nomeados, o código seria o seguinte::" -#: ../../library/decimal.rst:955 +#: ../../library/decimal.rst:966 msgid "" -"Raises :exc:`TypeError` if *kwargs* supplies an attribute that :class:" -"`Context` doesn't support. Raises either :exc:`TypeError` or :exc:" -"`ValueError` if *kwargs* supplies an invalid value for an attribute." +"Raises :exc:`TypeError` if *kwargs* supplies an attribute " +"that :class:`Context` doesn't support. Raises either :exc:`TypeError` " +"or :exc:`ValueError` if *kwargs* supplies an invalid value for an attribute." msgstr "" +"Levanta :exc:`TypeError` se *kwargs* fornecer um atributo " +"que :class:`Context` não oferecer suporte. Levanta :exc:`TypeError` " +"ou :exc:`ValueError` se *kwargs* fornecer um valor inválido para um atributo." -#: ../../library/decimal.rst:959 +#: ../../library/decimal.rst:970 msgid "" ":meth:`localcontext` now supports setting context attributes through the use " "of keyword arguments." msgstr "" +":meth:`localcontext` agora tem suporte à configuração de atributos de " +"contexto através do uso de argumentos nomeados." -#: ../../library/decimal.rst:962 +#: ../../library/decimal.rst:973 msgid "" "New contexts can also be created using the :class:`Context` constructor " "described below. In addition, the module provides three pre-made contexts:" msgstr "" -"Novos contextos também podem ser criados usando o construtor :class:" -"`Context` descrito abaixo. Além disso, o módulo fornece três contextos pré-" -"criados::" +"Novos contextos também podem ser criados usando o " +"construtor :class:`Context` descrito abaixo. Além disso, o módulo fornece " +"três contextos pré-criados::" -#: ../../library/decimal.rst:968 +#: ../../library/decimal.rst:979 msgid "" "This is a standard context defined by the General Decimal Arithmetic " -"Specification. Precision is set to nine. Rounding is set to :const:" -"`ROUND_HALF_UP`. All flags are cleared. All traps are enabled (treated as " -"exceptions) except :const:`Inexact`, :const:`Rounded`, and :const:" -"`Subnormal`." +"Specification. Precision is set to nine. Rounding is set " +"to :const:`ROUND_HALF_UP`. All flags are cleared. All traps are enabled " +"(treated as exceptions) except :const:`Inexact`, :const:`Rounded`, " +"and :const:`Subnormal`." msgstr "" "Este é um contexto padrão definido pela Especificação Aritmética Decimal " "Geral. A precisão está definida como nove. O arredondamento está definido " "como :const:`ROUND_HALF_UP`. Todos os sinalizadores estão limpos. Todos as " -"armadilhas estão ativadas (tratadas como exceções), exceto por :const:" -"`Inexact`, :const:`Rounded` e :const:`Subnormal`." +"armadilhas estão ativadas (tratadas como exceções), exceto " +"por :const:`Inexact`, :const:`Rounded` e :const:`Subnormal`." -#: ../../library/decimal.rst:974 +#: ../../library/decimal.rst:985 msgid "" "Because many of the traps are enabled, this context is useful for debugging." msgstr "" "Como muitas das armadilhas estão ativadas, esse contexto é útil para " "depuração." -#: ../../library/decimal.rst:979 +#: ../../library/decimal.rst:990 msgid "" "This is a standard context defined by the General Decimal Arithmetic " -"Specification. Precision is set to nine. Rounding is set to :const:" -"`ROUND_HALF_EVEN`. All flags are cleared. No traps are enabled (so that " -"exceptions are not raised during computations)." +"Specification. Precision is set to nine. Rounding is set " +"to :const:`ROUND_HALF_EVEN`. All flags are cleared. No traps are enabled " +"(so that exceptions are not raised during computations)." msgstr "" "Este é um contexto padrão definido pela Especificação Aritmética Decimal " "Geral. A precisão está definida como nove. O arredondamento está definido " @@ -1302,15 +1421,19 @@ msgstr "" "armadilha está ativada (de forma que exceções não são levantadas durante os " "cálculos)." -#: ../../library/decimal.rst:984 +#: ../../library/decimal.rst:995 msgid "" "Because the traps are disabled, this context is useful for applications that " "prefer to have result value of ``NaN`` or ``Infinity`` instead of raising " "exceptions. This allows an application to complete a run in the presence of " "conditions that would otherwise halt the program." msgstr "" +"Como as armadilhas estão desativadas, esse contexto é útil para aplicativos " +"que preferem ter o valor de resultado de ``NaN`` ou ``Infinity`` em vez de " +"levantar exceções. Isso permite que uma aplicação conclua uma execução na " +"presença de condições que interromperiam o programa." -#: ../../library/decimal.rst:992 +#: ../../library/decimal.rst:1003 msgid "" "This context is used by the :class:`Context` constructor as a prototype for " "new contexts. Changing a field (such a precision) has the effect of " @@ -1319,10 +1442,10 @@ msgid "" msgstr "" "Este contexto é usado pelo construtor :class:`Context` como um protótipo " "para novos contextos. Alterar um campo (tal como precisão) tem o efeito de " -"alterar o padrão para novos contextos criados pelo construtor :class:" -"`Context`." +"alterar o padrão para novos contextos criados pelo " +"construtor :class:`Context`." -#: ../../library/decimal.rst:996 +#: ../../library/decimal.rst:1007 msgid "" "This context is most useful in multi-threaded environments. Changing one of " "the fields before threads are started has the effect of setting system-wide " @@ -1335,7 +1458,7 @@ msgstr "" "threads, pois exigiria sincronização de threads para evitar condições de " "corrida." -#: ../../library/decimal.rst:1001 +#: ../../library/decimal.rst:1012 msgid "" "In single threaded environments, it is preferable to not use this context at " "all. Instead, simply create contexts explicitly as described below." @@ -1343,14 +1466,19 @@ msgstr "" "Em ambientes de thread única, é preferível não usar esse contexto. Em vez " "disso, basta criar contextos explicitamente, conforme descrito abaixo." -#: ../../library/decimal.rst:1004 +#: ../../library/decimal.rst:1015 msgid "" -"The default values are :attr:`Context.prec`\\ =\\ ``28``, :attr:`Context." -"rounding`\\ =\\ :const:`ROUND_HALF_EVEN`, and enabled traps for :class:" -"`Overflow`, :class:`InvalidOperation`, and :class:`DivisionByZero`." +"The default values are :attr:`Context.prec`\\ =\\ " +"``28``, :attr:`Context.rounding`\\ =\\ :const:`ROUND_HALF_EVEN`, and enabled " +"traps for :class:`Overflow`, :class:`InvalidOperation`, " +"and :class:`DivisionByZero`." msgstr "" +"Os valores padrão são :attr:`Context.prec`\\ =\\ " +"``28``, :attr:`Context.rounding`\\ =\\ :const:`ROUND_HALF_EVEN` e armadilhas " +"ativadas para :class:`Overflow`, :class:`InvalidOperation` " +"e :class:`DivisionByZero`." -#: ../../library/decimal.rst:1009 +#: ../../library/decimal.rst:1020 msgid "" "In addition to the three supplied contexts, new contexts can be created with " "the :class:`Context` constructor." @@ -1358,24 +1486,26 @@ msgstr "" "Além dos três contextos fornecidos, novos contextos podem ser criados com o " "construtor :class:`Context`." -#: ../../library/decimal.rst:1015 +#: ../../library/decimal.rst:1026 msgid "" "Creates a new context. If a field is not specified or is :const:`None`, the " "default values are copied from the :const:`DefaultContext`. If the *flags* " "field is not specified or is :const:`None`, all flags are cleared." msgstr "" -"Cria um novo contexto. Se um campo não for especificado ou for :const:" -"`None`, os valores padrão serão copiados de :const:`DefaultContext`. Se o " -"campo *flags* não for especificado ou for :const:`None`, todos os " -"sinalizadores serão limpados." +"Cria um novo contexto. Se um campo não for especificado ou " +"for :const:`None`, os valores padrão serão copiados " +"de :const:`DefaultContext`. Se o campo *flags* não for especificado ou " +"for :const:`None`, todos os sinalizadores serão limpados." -#: ../../library/decimal.rst:1019 +#: ../../library/decimal.rst:1030 msgid "" "*prec* is an integer in the range [``1``, :const:`MAX_PREC`] that sets the " "precision for arithmetic operations in the context." msgstr "" +"*prec* é um número inteiro no intervalo [``1``, :const:`MAX_PREC`] que " +"define a precisão das operações aritméticas no contexto." -#: ../../library/decimal.rst:1022 +#: ../../library/decimal.rst:1033 msgid "" "The *rounding* option is one of the constants listed in the section " "`Rounding Modes`_." @@ -1383,7 +1513,7 @@ msgstr "" "A opção *rounding* é uma das constantes listadas na seção `Modos de " "arredondamento`_." -#: ../../library/decimal.rst:1025 +#: ../../library/decimal.rst:1036 msgid "" "The *traps* and *flags* fields list any signals to be set. Generally, new " "contexts should only set traps and leave the flags clear." @@ -1392,21 +1522,27 @@ msgstr "" "Geralmente, novos contextos devem apenas definir armadilhas e deixar os " "sinalizadores limpos." -#: ../../library/decimal.rst:1028 +#: ../../library/decimal.rst:1039 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`]." msgstr "" +"Os campos *Emin* e *Emax* são números inteiros que especificam os limites " +"externos permitidos para expoentes. *Emin* deve estar no intervalo " +"[:const:`MIN_EMIN`, ``0``], *Emax* no intervalo [``0``, :const:`MAX_EMAX`]." -#: ../../library/decimal.rst:1032 +#: ../../library/decimal.rst:1043 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')``." msgstr "" +"O campo *capitals* é ``0`` ou ``1`` (o padrão). Se definido como ``1``, os " +"expoentes serão impressos com um ``E`` maiúsculo; caso contrário, um ``e`` " +"minúscula é usado: ``Decimal('6.02e+23')``." -#: ../../library/decimal.rst:1036 +#: ../../library/decimal.rst:1047 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 " @@ -1419,43 +1555,66 @@ msgid "" "value of the number but loses information about significant trailing zeros. " "For example::" msgstr "" +"O campo *clamp* é ``0`` (o padrão) ou ``1``. Se definido como ``1``, o " +"expoente ``e`` de uma instância de :class:`Decimal` representável nesse " +"contexto é estritamente limitado ao intervalo ``Emin - prec + 1 <= e <= Emax " +"- prec + 1``. Se *clamp* for ``0``, uma condição mais fraca será mantida: o " +"expoente ajustado da instância de :class:`Decimal` é no " +"máximo :attr:`~Context.Emax`. Quando *clamp* é ``1``, um grande número " +"normal terá, sempre que possível, seu expoente reduzido e um número " +"correspondente de zeros adicionado ao seu coeficiente, para ajustar as " +"restrições do expoente; isso preserva o valor do número, mas perde " +"informações sobre zeros à direita significativos. Por exemplo::" -#: ../../library/decimal.rst:1051 +#: ../../library/decimal.rst:1062 msgid "" "A *clamp* value of ``1`` allows compatibility with the fixed-width decimal " "interchange formats specified in IEEE 754." msgstr "" +"Um valor de *clamp* de ``1`` permite compatibilidade com os formatos de " +"intercâmbio decimal de largura fixa especificados na IEEE 754." -#: ../../library/decimal.rst:1054 +#: ../../library/decimal.rst:1065 msgid "" "The :class:`Context` class defines several general purpose methods as well " "as a large number of methods for doing arithmetic directly in a given " "context. In addition, for each of the :class:`Decimal` methods described " -"above (with the exception of the :meth:`~Decimal.adjusted` and :meth:" -"`~Decimal.as_tuple` methods) there is a corresponding :class:`Context` " -"method. For example, for a :class:`Context` instance ``C`` and :class:" -"`Decimal` instance ``x``, ``C.exp(x)`` is equivalent to ``x." -"exp(context=C)``. Each :class:`Context` method accepts a Python integer (an " -"instance of :class:`int`) anywhere that a Decimal instance is accepted." -msgstr "" - -#: ../../library/decimal.rst:1067 +"above (with the exception of the :meth:`~Decimal.adjusted` " +"and :meth:`~Decimal.as_tuple` methods) there is a " +"corresponding :class:`Context` method. For example, for a :class:`Context` " +"instance ``C`` and :class:`Decimal` instance ``x``, ``C.exp(x)`` is " +"equivalent to ``x.exp(context=C)``. Each :class:`Context` method accepts a " +"Python integer (an instance of :class:`int`) anywhere that a Decimal " +"instance is accepted." +msgstr "" +"A classe :class:`Context` define vários métodos de uso geral, bem como um " +"grande número de métodos para fazer aritmética diretamente em um determinado " +"contexto. Além disso, para cada um dos métodos de :class:`Decimal` descritos " +"acima (com exceção dos métodos :meth:`~Decimal.adjusted` " +"e :meth:`~Decimal.as_tuple`) existe um método correspondente " +"em :class:`Context`. Por exemplo, para uma instância ``C`` " +"de :class:`Context` e uma instância ``x`` de :class:`Decimal`, ``C.exp(x)`` " +"é equivalente a ``x.exp(context=C)``. Cada método de :class:`Context` aceita " +"um número inteiro do Python (uma instância de :class:`int`) em qualquer " +"lugar em que uma instância de Decimal seja aceita." + +#: ../../library/decimal.rst:1078 msgid "Resets all of the flags to ``0``." -msgstr "" +msgstr "Redefine todos os sinalizadores para ``0``." -#: ../../library/decimal.rst:1071 +#: ../../library/decimal.rst:1082 msgid "Resets all of the traps to ``0``." -msgstr "" +msgstr "Redefine todas as armadilhas para ``0``." -#: ../../library/decimal.rst:1077 +#: ../../library/decimal.rst:1088 msgid "Return a duplicate of the context." msgstr "Retorna uma duplicata do contexto." -#: ../../library/decimal.rst:1081 +#: ../../library/decimal.rst:1092 msgid "Return a copy of the Decimal instance num." msgstr "Retorna uma cópia da instância de Decimal *num*." -#: ../../library/decimal.rst:1085 +#: ../../library/decimal.rst:1096 msgid "" "Creates a new Decimal instance from *num* but using *self* as context. " "Unlike the :class:`Decimal` constructor, the context precision, rounding " @@ -1466,7 +1625,7 @@ msgstr "" "contexto, o método de arredondamento, os sinalizadores e as armadilhas são " "aplicadas à conversão." -#: ../../library/decimal.rst:1089 +#: ../../library/decimal.rst:1100 msgid "" "This is useful because constants are often given to a greater precision than " "is needed by the application. Another benefit is that rounding immediately " @@ -1480,7 +1639,7 @@ msgstr "" "da precisão atual. No exemplo a seguir, o uso de entradas não arredondadas " "significa que adicionar zero a uma soma pode alterar o resultado:" -#: ../../library/decimal.rst:1103 +#: ../../library/decimal.rst:1114 msgid "" "This method implements the to-number operation of the IBM specification. If " "the argument is a string, no leading or trailing whitespace or underscores " @@ -1490,7 +1649,7 @@ msgstr "" "argumento for uma string, nenhum espaço em branco à esquerda ou à direita ou " "sublinhado serão permitidos." -#: ../../library/decimal.rst:1109 +#: ../../library/decimal.rst:1120 msgid "" "Creates a new Decimal instance from a float *f* but rounding using *self* as " "the context. Unlike the :meth:`Decimal.from_float` class method, the " @@ -1502,21 +1661,21 @@ msgstr "" "classe :meth:`Decimal.from_float`, a precisão do contexto, o método de " "arredondamento, os sinalizadores e as armadilhas são aplicados à conversão." -#: ../../library/decimal.rst:1129 +#: ../../library/decimal.rst:1140 msgid "" "Returns a value equal to ``Emin - prec + 1`` which is the minimum exponent " -"value for subnormal results. When underflow occurs, the exponent is set to :" -"const:`Etiny`." +"value for subnormal results. When underflow occurs, the exponent is set " +"to :const:`Etiny`." msgstr "" "Retorna um valor igual a ``Emin - prec + 1``, que é o valor mínimo do " "expoente para resultados subnormais. Quando ocorre o estouro negativo, o " "expoente é definido como :const:`Etiny`." -#: ../../library/decimal.rst:1135 +#: ../../library/decimal.rst:1146 msgid "Returns a value equal to ``Emax - prec + 1``." msgstr "Retorna um valor igual a ``Emax - prec + 1``." -#: ../../library/decimal.rst:1137 +#: ../../library/decimal.rst:1148 msgid "" "The usual approach to working with decimals is to create :class:`Decimal` " "instances and then apply arithmetic operations which take place within the " @@ -1525,197 +1684,198 @@ msgid "" "similar to those for the :class:`Decimal` class and are only briefly " "recounted here." msgstr "" -"A abordagem usual para trabalhar com decimais é criar instâncias de :class:" -"`Decimal` e depois aplicar operações aritméticas que ocorrem no contexto " -"atual da thread ativa. Uma abordagem alternativa é usar métodos de contexto " -"para calcular dentro de um contexto específico. Os métodos são semelhantes " -"aos da classe :class:`Decimal` e são contados apenas brevemente aqui." +"A abordagem usual para trabalhar com decimais é criar instâncias " +"de :class:`Decimal` e depois aplicar operações aritméticas que ocorrem no " +"contexto atual da thread ativa. Uma abordagem alternativa é usar métodos de " +"contexto para calcular dentro de um contexto específico. Os métodos são " +"semelhantes aos da classe :class:`Decimal` e são contados apenas brevemente " +"aqui." -#: ../../library/decimal.rst:1147 +#: ../../library/decimal.rst:1158 msgid "Returns the absolute value of *x*." msgstr "Retorna o valor absoluto de *x*." -#: ../../library/decimal.rst:1152 +#: ../../library/decimal.rst:1163 msgid "Return the sum of *x* and *y*." msgstr "Retorna a soma de *x* e *y*." -#: ../../library/decimal.rst:1157 +#: ../../library/decimal.rst:1168 msgid "Returns the same Decimal object *x*." msgstr "Retorna o mesmo objeto de Decimal *x*." -#: ../../library/decimal.rst:1162 +#: ../../library/decimal.rst:1173 msgid "Compares *x* and *y* numerically." msgstr "Compara *x* e *y* numericamente." -#: ../../library/decimal.rst:1167 +#: ../../library/decimal.rst:1178 msgid "Compares the values of the two operands numerically." msgstr "Compara os valores dos dois operandos numericamente." -#: ../../library/decimal.rst:1172 +#: ../../library/decimal.rst:1183 msgid "Compares two operands using their abstract representation." msgstr "Compara dois operandos usando sua representação abstrata." -#: ../../library/decimal.rst:1177 +#: ../../library/decimal.rst:1188 msgid "" "Compares two operands using their abstract representation, ignoring sign." msgstr "" "Compara dois operandos usando sua representação abstrata, ignorando o sinal." -#: ../../library/decimal.rst:1182 +#: ../../library/decimal.rst:1193 msgid "Returns a copy of *x* with the sign set to 0." msgstr "Retorna uma cópia de *x* com o sinal definido para 0." -#: ../../library/decimal.rst:1187 +#: ../../library/decimal.rst:1198 msgid "Returns a copy of *x* with the sign inverted." msgstr "Retorna uma cópia de *x* com o sinal invertido." -#: ../../library/decimal.rst:1192 +#: ../../library/decimal.rst:1203 msgid "Copies the sign from *y* to *x*." msgstr "Copia o sinal de *y* para *x*." -#: ../../library/decimal.rst:1197 +#: ../../library/decimal.rst:1208 msgid "Return *x* divided by *y*." msgstr "Retorna *x* dividido por *y*." -#: ../../library/decimal.rst:1202 +#: ../../library/decimal.rst:1213 msgid "Return *x* divided by *y*, truncated to an integer." msgstr "Retorna *x* dividido por *y*, truncado para um inteiro." -#: ../../library/decimal.rst:1207 +#: ../../library/decimal.rst:1218 msgid "Divides two numbers and returns the integer part of the result." msgstr "Divide dois números e retorna a parte inteira do resultado." -#: ../../library/decimal.rst:1212 +#: ../../library/decimal.rst:1223 msgid "Returns ``e ** x``." -msgstr "" +msgstr "Retorna ``e ** x``." -#: ../../library/decimal.rst:1217 +#: ../../library/decimal.rst:1228 msgid "Returns *x* multiplied by *y*, plus *z*." msgstr "Retorna *x* multiplicado por *y*, mais *z*." -#: ../../library/decimal.rst:1222 +#: ../../library/decimal.rst:1233 msgid "Returns ``True`` if *x* is canonical; otherwise returns ``False``." msgstr "" "Retorna ``True`` se *x* for canonical; caso contrário, retorna ``False``." -#: ../../library/decimal.rst:1227 +#: ../../library/decimal.rst:1238 msgid "Returns ``True`` if *x* is finite; otherwise returns ``False``." msgstr "Retorna ``True`` se *x* for finito; caso contrário, retorna ``False``." -#: ../../library/decimal.rst:1232 +#: ../../library/decimal.rst:1243 msgid "Returns ``True`` if *x* is infinite; otherwise returns ``False``." msgstr "" "Retorna ``True`` se *x* for infinito; caso contrário, retorna ``False``." -#: ../../library/decimal.rst:1237 +#: ../../library/decimal.rst:1248 msgid "Returns ``True`` if *x* is a qNaN or sNaN; otherwise returns ``False``." msgstr "" "Retorna ``True`` se *x* for qNaN ou sNaN; caso contrário, retorna ``False``." -#: ../../library/decimal.rst:1242 +#: ../../library/decimal.rst:1253 msgid "" "Returns ``True`` if *x* is a normal number; otherwise returns ``False``." msgstr "" "Retorna ``True`` se *x* for um número normal; caso contrário, retorna " "``False``." -#: ../../library/decimal.rst:1247 +#: ../../library/decimal.rst:1258 msgid "Returns ``True`` if *x* is a quiet NaN; otherwise returns ``False``." msgstr "" "Retorna ``True`` se *x* for um NaN silencioso; caso contrário, retorna " "``False``." -#: ../../library/decimal.rst:1252 +#: ../../library/decimal.rst:1263 msgid "Returns ``True`` if *x* is negative; otherwise returns ``False``." msgstr "" "Retorna ``True`` se *x* for negativo; caso contrário, retorna ``False``." -#: ../../library/decimal.rst:1257 +#: ../../library/decimal.rst:1268 msgid "" "Returns ``True`` if *x* is a signaling NaN; otherwise returns ``False``." msgstr "" "Retorna ``True`` se *x* for um NaN sinalizador; caso contrário, retorna " "``False``." -#: ../../library/decimal.rst:1262 +#: ../../library/decimal.rst:1273 msgid "Returns ``True`` if *x* is subnormal; otherwise returns ``False``." msgstr "" "Retorna ``True`` se *x* for subnormal; caso contrário, retorna ``False``." -#: ../../library/decimal.rst:1267 +#: ../../library/decimal.rst:1278 msgid "Returns ``True`` if *x* is a zero; otherwise returns ``False``." msgstr "Retorna ``True`` se *x* for zero; caso contrário, retorna ``False``." -#: ../../library/decimal.rst:1272 +#: ../../library/decimal.rst:1283 msgid "Returns the natural (base e) logarithm of *x*." msgstr "Retorna o logaritmo natural (base e) de *x*." -#: ../../library/decimal.rst:1277 +#: ../../library/decimal.rst:1288 msgid "Returns the base 10 logarithm of *x*." msgstr "Retorna o logaritmo de base 10 de *x*." -#: ../../library/decimal.rst:1282 +#: ../../library/decimal.rst:1293 msgid "Returns the exponent of the magnitude of the operand's MSD." msgstr "Retorna o expoente da magnitude do MSD do operando." -#: ../../library/decimal.rst:1287 +#: ../../library/decimal.rst:1298 msgid "Applies the logical operation *and* between each operand's digits." msgstr "Aplica a operação lógica *e* entre cada dígito do operando." -#: ../../library/decimal.rst:1292 +#: ../../library/decimal.rst:1303 msgid "Invert all the digits in *x*." msgstr "Inverte todos os dígitos em *x*." -#: ../../library/decimal.rst:1297 +#: ../../library/decimal.rst:1308 msgid "Applies the logical operation *or* between each operand's digits." msgstr "Aplica a operação lógica *ou* entre cada dígito do operando." -#: ../../library/decimal.rst:1302 +#: ../../library/decimal.rst:1313 msgid "Applies the logical operation *xor* between each operand's digits." msgstr "Aplica a operação lógica *ou exclusivo* entre cada dígito do operando." -#: ../../library/decimal.rst:1307 +#: ../../library/decimal.rst:1318 msgid "Compares two values numerically and returns the maximum." msgstr "Compara dois valores numericamente e retorna o máximo." -#: ../../library/decimal.rst:1312 ../../library/decimal.rst:1322 +#: ../../library/decimal.rst:1323 ../../library/decimal.rst:1333 msgid "Compares the values numerically with their sign ignored." msgstr "Compara dois valores numericamente com seu sinal ignorado." -#: ../../library/decimal.rst:1317 +#: ../../library/decimal.rst:1328 msgid "Compares two values numerically and returns the minimum." msgstr "Compara dois valores numericamente e retorna o mínimo." -#: ../../library/decimal.rst:1327 +#: ../../library/decimal.rst:1338 msgid "Minus corresponds to the unary prefix minus operator in Python." msgstr "" "Minus corresponde ao operador de subtração de prefixo unário no Python." -#: ../../library/decimal.rst:1332 +#: ../../library/decimal.rst:1343 msgid "Return the product of *x* and *y*." msgstr "Retorna o produto de *x* e *y*." -#: ../../library/decimal.rst:1337 +#: ../../library/decimal.rst:1348 msgid "Returns the largest representable number smaller than *x*." msgstr "Retorna o maior número representável menor que *x*." -#: ../../library/decimal.rst:1342 +#: ../../library/decimal.rst:1353 msgid "Returns the smallest representable number larger than *x*." msgstr "Retorna o menor número representável maior que *x*." -#: ../../library/decimal.rst:1347 +#: ../../library/decimal.rst:1358 msgid "Returns the number closest to *x*, in direction towards *y*." msgstr "Retorna o número mais próximo a *x*, em direção a *y*." -#: ../../library/decimal.rst:1352 +#: ../../library/decimal.rst:1363 msgid "Reduces *x* to its simplest form." msgstr "Reduz *x* para sua forma mais simples." -#: ../../library/decimal.rst:1357 +#: ../../library/decimal.rst:1368 msgid "Returns an indication of the class of *x*." msgstr "Retorna uma indicação da classe de *x*." -#: ../../library/decimal.rst:1362 +#: ../../library/decimal.rst:1373 msgid "" "Plus corresponds to the unary prefix plus operator in Python. This " "operation applies the context precision and rounding, so it is *not* an " @@ -1725,13 +1885,13 @@ msgstr "" "operação aplica a precisão e o arredondamento do contexto, portanto *não* é " "uma operação de identidade." -#: ../../library/decimal.rst:1369 +#: ../../library/decimal.rst:1380 msgid "Return ``x`` to the power of ``y``, reduced modulo ``modulo`` if given." msgstr "" "Retorna ``x`` à potência de ``y``, com a redução de módulo ``modulo`` se " "fornecido." -#: ../../library/decimal.rst:1371 +#: ../../library/decimal.rst:1382 msgid "" "With two arguments, compute ``x**y``. If ``x`` is negative then ``y`` must " "be integral. The result will be inexact unless ``y`` is integral and the " @@ -1739,8 +1899,13 @@ msgid "" "rounding mode of the context is used. Results are always correctly rounded " "in the Python version." msgstr "" +"Com dois argumentos, calcula ``x**y``. Se ``x`` for negativo, ``y`` deve ser " +"inteiro. O resultado será inexato, a menos que ``y`` seja inteiro e o " +"resultado seja finito e possa ser expresso exatamente em \"precisão\" " +"dígitos. O modo de arredondamento do contexto é usado. Os resultados são " +"sempre arredondados corretamente na versão Python." -#: ../../library/decimal.rst:1377 +#: ../../library/decimal.rst:1388 msgid "" "``Decimal(0) ** Decimal(0)`` results in ``InvalidOperation``, and if " "``InvalidOperation`` is not trapped, then results in ``Decimal('NaN')``." @@ -1748,14 +1913,17 @@ msgstr "" "``Decimal(0) ** Decimal(0)`` resulta em ``InvalidOperation``, e se " "``InvalidOperation`` não for capturado, resulta em ``Decimal('NaN')``." -#: ../../library/decimal.rst:1380 +#: ../../library/decimal.rst:1391 msgid "" -"The C module computes :meth:`power` in terms of the correctly rounded :meth:" -"`exp` and :meth:`ln` functions. The result is well-defined but only \"almost " -"always correctly rounded\"." +"The C module computes :meth:`power` in terms of the correctly " +"rounded :meth:`exp` and :meth:`ln` functions. The result is well-defined but " +"only \"almost always correctly rounded\"." msgstr "" +"O módulo C calcula :meth:`power` em termos das funções corretamente " +"arredondadas :meth:`exp` e :meth:`ln`. O resultado é bem definido, mas " +"apenas \"quase sempre corretamente arredondado\"." -#: ../../library/decimal.rst:1385 +#: ../../library/decimal.rst:1396 msgid "" "With three arguments, compute ``(x**y) % modulo``. For the three argument " "form, the following restrictions on the arguments hold:" @@ -1763,24 +1931,24 @@ msgstr "" "Com três argumentos, calcula ``(x**y) % modulo``. Para o formulário de três " "argumentos, as seguintes restrições nos argumentos são válidas:" -#: ../../library/decimal.rst:1388 +#: ../../library/decimal.rst:1399 msgid "all three arguments must be integral" msgstr "todos os três argumentos devem ser inteiros" -#: ../../library/decimal.rst:1389 +#: ../../library/decimal.rst:1400 msgid "``y`` must be nonnegative" msgstr "``y`` não pode ser negativo" -#: ../../library/decimal.rst:1390 +#: ../../library/decimal.rst:1401 msgid "at least one of ``x`` or ``y`` must be nonzero" msgstr "pelo menos um de ``x`` ou ``y`` não pode ser negativo" -#: ../../library/decimal.rst:1391 +#: ../../library/decimal.rst:1402 msgid "``modulo`` must be nonzero and have at most 'precision' digits" msgstr "" "``modulo`` não pode ser zero e deve ter pelo menos \"precisão\" dígitos" -#: ../../library/decimal.rst:1393 +#: ../../library/decimal.rst:1404 msgid "" "The value resulting from ``Context.power(x, y, modulo)`` is equal to the " "value that would be obtained by computing ``(x**y) % modulo`` with unbounded " @@ -1794,19 +1962,19 @@ msgstr "" "independentemente dos expoentes de ``x``, ``y`` e ``modulo``. O resultado é " "sempre exato." -#: ../../library/decimal.rst:1403 +#: ../../library/decimal.rst:1414 msgid "Returns a value equal to *x* (rounded), having the exponent of *y*." msgstr "Retorna um valor igual a *x* (arredondado), com o expoente de *y*." -#: ../../library/decimal.rst:1408 +#: ../../library/decimal.rst:1419 msgid "Just returns 10, as this is Decimal, :)" msgstr "Só retorna 10, já que isso é Decimal, :)" -#: ../../library/decimal.rst:1413 +#: ../../library/decimal.rst:1424 msgid "Returns the remainder from integer division." msgstr "Retorna o resto da divisão inteira." -#: ../../library/decimal.rst:1415 +#: ../../library/decimal.rst:1426 msgid "" "The sign of the result, if non-zero, is the same as that of the original " "dividend." @@ -1814,7 +1982,7 @@ msgstr "" "O sinal do resultado, se diferente de zero, é o mesmo que o do dividendo " "original." -#: ../../library/decimal.rst:1421 +#: ../../library/decimal.rst:1432 msgid "" "Returns ``x - y * n``, where *n* is the integer nearest the exact value of " "``x / y`` (if the result is 0 then its sign will be the sign of *x*)." @@ -1822,43 +1990,43 @@ msgstr "" "Retorna ``x - y * n``, onde *n* é o número inteiro mais próximo do valor " "exato de ``x / y`` (se o resultado for 0, seu sinal será o sinal de *x*)." -#: ../../library/decimal.rst:1427 +#: ../../library/decimal.rst:1438 msgid "Returns a rotated copy of *x*, *y* times." msgstr "Retorna uma cópia re de *x*, *y* vezes." -#: ../../library/decimal.rst:1432 +#: ../../library/decimal.rst:1443 msgid "Returns ``True`` if the two operands have the same exponent." msgstr "Retorna ``True`` se os dois operandos tiverem o mesmo expoente." -#: ../../library/decimal.rst:1437 +#: ../../library/decimal.rst:1448 msgid "Returns the first operand after adding the second value its exp." msgstr "Retorna o primeiro operando após adicionar o segundo valor seu exp." -#: ../../library/decimal.rst:1442 +#: ../../library/decimal.rst:1453 msgid "Returns a shifted copy of *x*, *y* times." msgstr "Retorna uma cópia deslocada de *x*, *y* vezes." -#: ../../library/decimal.rst:1447 +#: ../../library/decimal.rst:1458 msgid "Square root of a non-negative number to context precision." msgstr "Raiz quadrada de um número não negativo para precisão do contexto." -#: ../../library/decimal.rst:1452 +#: ../../library/decimal.rst:1463 msgid "Return the difference between *x* and *y*." msgstr "Retorna a diferença entre *x* e *y*." -#: ../../library/decimal.rst:1466 +#: ../../library/decimal.rst:1477 msgid "Rounds to an integer." msgstr "Arredonda para um número inteiro." -#: ../../library/decimal.rst:1471 +#: ../../library/decimal.rst:1482 msgid "Converts a number to a string using scientific notation." msgstr "Converte um número em uma string usando notação científica." -#: ../../library/decimal.rst:1478 +#: ../../library/decimal.rst:1489 msgid "Constants" msgstr "Constantes" -#: ../../library/decimal.rst:1480 +#: ../../library/decimal.rst:1491 msgid "" "The constants in this section are only relevant for the C module. They are " "also included in the pure Python version for compatibility." @@ -1866,45 +2034,45 @@ msgstr "" "As constantes nesta seção são relevantes apenas para o módulo C. Eles também " "estão incluídos na versão pura do Python para compatibilidade." -#: ../../library/decimal.rst:1484 +#: ../../library/decimal.rst:1495 msgid "32-bit" msgstr "32 bits" -#: ../../library/decimal.rst:1484 +#: ../../library/decimal.rst:1495 msgid "64-bit" msgstr "64 bits" -#: ../../library/decimal.rst:1486 ../../library/decimal.rst:1488 +#: ../../library/decimal.rst:1497 ../../library/decimal.rst:1499 msgid "``425000000``" -msgstr "" +msgstr "``425000000``" -#: ../../library/decimal.rst:1486 ../../library/decimal.rst:1488 +#: ../../library/decimal.rst:1497 ../../library/decimal.rst:1499 msgid "``999999999999999999``" -msgstr "" +msgstr "``999999999999999999``" -#: ../../library/decimal.rst:1490 +#: ../../library/decimal.rst:1501 msgid "``-425000000``" -msgstr "" +msgstr "``-425000000``" -#: ../../library/decimal.rst:1490 +#: ../../library/decimal.rst:1501 msgid "``-999999999999999999``" -msgstr "" +msgstr "``-999999999999999999``" -#: ../../library/decimal.rst:1492 +#: ../../library/decimal.rst:1503 msgid "``-849999999``" -msgstr "" +msgstr "``-849999999``" -#: ../../library/decimal.rst:1492 +#: ../../library/decimal.rst:1503 msgid "``-1999999999999999997``" -msgstr "" +msgstr "``-1999999999999999997``" -#: ../../library/decimal.rst:1498 +#: ../../library/decimal.rst:1509 msgid "" "The value is ``True``. Deprecated, because Python now always has threads." msgstr "" "O valor é ``True``. Descontinuado porque o Python agora sempre tem threads." -#: ../../library/decimal.rst:1504 +#: ../../library/decimal.rst:1515 msgid "" "The default value is ``True``. If Python is :option:`configured using the --" "without-decimal-contextvar option <--without-decimal-contextvar>`, the C " @@ -1918,45 +2086,41 @@ msgstr "" "será ``False``. Isso é um pouco mais rápido em alguns cenários de contexto " "aninhados." -#: ../../library/decimal.rst:1509 -msgid "backported to 3.7 and 3.8." -msgstr "backport realizado para 3.7 e 3.8." - -#: ../../library/decimal.rst:1513 +#: ../../library/decimal.rst:1524 msgid "Rounding modes" msgstr "Modos de arredondamento" -#: ../../library/decimal.rst:1517 +#: ../../library/decimal.rst:1528 msgid "Round towards ``Infinity``." -msgstr "" +msgstr "Arredonda para ``Infinity``." -#: ../../library/decimal.rst:1521 +#: ../../library/decimal.rst:1532 msgid "Round towards zero." msgstr "Arredonda para zero." -#: ../../library/decimal.rst:1525 +#: ../../library/decimal.rst:1536 msgid "Round towards ``-Infinity``." -msgstr "" +msgstr "Arredonda para ``-Infinity``." -#: ../../library/decimal.rst:1529 +#: ../../library/decimal.rst:1540 msgid "Round to nearest with ties going towards zero." msgstr "Arrendonda para o mais próximo com empates tendendo a zero." -#: ../../library/decimal.rst:1533 +#: ../../library/decimal.rst:1544 msgid "Round to nearest with ties going to nearest even integer." msgstr "" "Arredonda para o mais próximo com empates indo para o mais próximo inteiro " "par." -#: ../../library/decimal.rst:1537 +#: ../../library/decimal.rst:1548 msgid "Round to nearest with ties going away from zero." msgstr "Arrendonda para o mais próximo com empates se afastando de zero." -#: ../../library/decimal.rst:1541 +#: ../../library/decimal.rst:1552 msgid "Round away from zero." msgstr "Arredonda se afastando de zero." -#: ../../library/decimal.rst:1545 +#: ../../library/decimal.rst:1556 msgid "" "Round away from zero if last digit after rounding towards zero would have " "been 0 or 5; otherwise round towards zero." @@ -1964,11 +2128,11 @@ msgstr "" "Arredonda se afastando de zero se o último dígito após o arredondamento para " "zero fosse 0 ou 5; caso contrário, arredonda para zero." -#: ../../library/decimal.rst:1552 +#: ../../library/decimal.rst:1563 msgid "Signals" msgstr "Sinais" -#: ../../library/decimal.rst:1554 +#: ../../library/decimal.rst:1565 msgid "" "Signals represent conditions that arise during computation. Each corresponds " "to one context flag and one context trap enabler." @@ -1977,7 +2141,7 @@ msgstr "" "corresponde a um sinalizador de contexto e um ativador de armadilha de " "contexto." -#: ../../library/decimal.rst:1557 +#: ../../library/decimal.rst:1568 msgid "" "The context flag is set whenever the condition is encountered. After the " "computation, flags may be checked for informational purposes (for instance, " @@ -1990,50 +2154,56 @@ msgstr "" "de verificar os sinalizadores, certifique-se de limpar todos os " "sinalizadores antes de iniciar o próximo cálculo." -#: ../../library/decimal.rst:1562 +#: ../../library/decimal.rst:1573 msgid "" "If the context's trap enabler is set for the signal, then the condition " -"causes a Python exception to be raised. For example, if the :class:" -"`DivisionByZero` trap is set, then a :exc:`DivisionByZero` exception is " -"raised upon encountering the condition." +"causes a Python exception to be raised. For example, if " +"the :class:`DivisionByZero` trap is set, then a :exc:`DivisionByZero` " +"exception is raised upon encountering the condition." msgstr "" "Se o ativador de armadilha de contexto estiver definido para o sinal, a " "condição fará com que uma exceção Python seja levantada. Por exemplo, se a " -"armadilha :class:`DivisionByZero` for configurada, uma exceção :exc:" -"`DivisionByZero` será levantada ao encontrar a condição." +"armadilha :class:`DivisionByZero` for configurada, uma " +"exceção :exc:`DivisionByZero` será levantada ao encontrar a condição." -#: ../../library/decimal.rst:1570 +#: ../../library/decimal.rst:1581 msgid "Altered an exponent to fit representation constraints." msgstr "Altera um expoente para ajustar as restrições de representação." -#: ../../library/decimal.rst:1572 +#: ../../library/decimal.rst:1583 msgid "" -"Typically, clamping occurs when an exponent falls outside the context's :" -"attr:`~Context.Emin` and :attr:`~Context.Emax` limits. If possible, the " -"exponent is reduced to fit by adding zeros to the coefficient." +"Typically, clamping occurs when an exponent falls outside the " +"context's :attr:`~Context.Emin` and :attr:`~Context.Emax` limits. If " +"possible, the exponent is reduced to fit by adding zeros to the coefficient." msgstr "" +"Normalmente, *clamping* ocorre quando um expoente fica fora dos limites do " +"contexto :attr:`~Context.Emin` e :attr:`~Context.Emax`. Se possível, o " +"expoente é reduzido para caber adicionando zeros ao coeficiente." -#: ../../library/decimal.rst:1579 +#: ../../library/decimal.rst:1590 msgid "Base class for other signals and a subclass of :exc:`ArithmeticError`." msgstr "" "Classe base para outros sinais e uma subclasse de :exc:`ArithmeticError`." -#: ../../library/decimal.rst:1584 +#: ../../library/decimal.rst:1595 msgid "Signals the division of a non-infinite number by zero." msgstr "Sinaliza a divisão de um número não infinito por zero." -#: ../../library/decimal.rst:1586 +#: ../../library/decimal.rst:1597 msgid "" "Can occur with division, modulo division, or when raising a number to a " "negative power. If this signal is not trapped, returns ``Infinity`` or ``-" "Infinity`` with the sign determined by the inputs to the calculation." msgstr "" +"Pode ocorrer com divisão, divisão de módulo ou ao elevar um número a uma " +"potência negativa. Se este sinal não for capturado, retornará ``Infinity`` " +"ou ``-Infinity`` com o sinal determinado pelas entradas do cálculo." -#: ../../library/decimal.rst:1593 +#: ../../library/decimal.rst:1604 msgid "Indicates that rounding occurred and the result is not exact." msgstr "Indica que o arredondamento ocorreu e o resultado não é exato." -#: ../../library/decimal.rst:1595 +#: ../../library/decimal.rst:1606 msgid "" "Signals when non-zero digits were discarded during rounding. The rounded " "result is returned. The signal flag or trap is used to detect when results " @@ -2043,47 +2213,59 @@ msgstr "" "arredondamento. O resultado arredondado é retornado. O sinalizador ou " "armadilha de sinal é usado para detectar quando os resultados são inexatos." -#: ../../library/decimal.rst:1602 +#: ../../library/decimal.rst:1613 msgid "An invalid operation was performed." msgstr "Uma operação inválida foi realizada." -#: ../../library/decimal.rst:1604 +#: ../../library/decimal.rst:1615 msgid "" "Indicates that an operation was requested that does not make sense. If not " "trapped, returns ``NaN``. Possible causes include::" msgstr "" +"Indica que uma operação foi solicitada que não faz sentido. Se não for " +"capturado, retorna ``NaN``. As possíveis causas incluem::" -#: ../../library/decimal.rst:1620 +#: ../../library/decimal.rst:1631 msgid "Numerical overflow." msgstr "Estouro numérico." -#: ../../library/decimal.rst:1622 +#: ../../library/decimal.rst:1633 msgid "" "Indicates the exponent is larger than :attr:`Context.Emax` after rounding " "has occurred. If not trapped, the result depends on the rounding mode, " "either pulling inward to the largest representable finite number or rounding " -"outward to ``Infinity``. In either case, :class:`Inexact` and :class:" -"`Rounded` are also signaled." +"outward to ``Infinity``. In either case, :class:`Inexact` " +"and :class:`Rounded` are also signaled." msgstr "" +"Indica que o expoente é maior que :attr:`Context.Emax` após o arredondamento " +"ocorrer. Se não for capturado, o resultado depende do modo de " +"arredondamento, puxando para dentro para o maior número finito representável " +"ou arredondando para fora para ``Infinity``. Nos dois " +"casos, :class:`Inexact` e :class:`Rounded` também são sinalizados." -#: ../../library/decimal.rst:1631 +#: ../../library/decimal.rst:1642 msgid "Rounding occurred though possibly no information was lost." msgstr "" "O arredondamento ocorreu, embora possivelmente nenhuma informação tenha sido " "perdida." -#: ../../library/decimal.rst:1633 +#: ../../library/decimal.rst:1644 msgid "" "Signaled whenever rounding discards digits; even if those digits are zero " "(such as rounding ``5.00`` to ``5.0``). If not trapped, returns the result " "unchanged. This signal is used to detect loss of significant digits." msgstr "" +"Sinalizado sempre que o arredondamento descarta dígitos; mesmo que esses " +"dígitos sejam zero (como arredondamento ``5.00`` a ``5.0``). Se não for " +"capturado, retorna o resultado inalterado. Este sinal é usado para detectar " +"a perda de dígitos significativos." -#: ../../library/decimal.rst:1641 +#: ../../library/decimal.rst:1652 msgid "Exponent was lower than :attr:`~Context.Emin` prior to rounding." msgstr "" +"O expoente foi menor que :attr:`~Context.Emin` antes do arredondamento." -#: ../../library/decimal.rst:1643 +#: ../../library/decimal.rst:1654 msgid "" "Occurs when an operation result is subnormal (the exponent is too small). If " "not trapped, returns the result unchanged." @@ -2091,74 +2273,80 @@ msgstr "" "Ocorre quando um resultado da operação é subnormal (o expoente é muito " "pequeno). Se não for capturado, retorna o resultado inalterado." -#: ../../library/decimal.rst:1649 +#: ../../library/decimal.rst:1660 msgid "Numerical underflow with result rounded to zero." msgstr "Estouro negativo numérico com resultado arredondado para zero." -#: ../../library/decimal.rst:1651 +#: ../../library/decimal.rst:1662 msgid "" -"Occurs when a subnormal result is pushed to zero by rounding. :class:" -"`Inexact` and :class:`Subnormal` are also signaled." +"Occurs when a subnormal result is pushed to zero by " +"rounding. :class:`Inexact` and :class:`Subnormal` are also signaled." msgstr "" -"Ocorre quando um resultado subnormal é empurrado para zero arredondando. :" -"class:`Inexact` e :class:`Subnormal` também são sinalizados." +"Ocorre quando um resultado subnormal é empurrado para zero " +"arredondando. :class:`Inexact` e :class:`Subnormal` também são sinalizados." -#: ../../library/decimal.rst:1657 +#: ../../library/decimal.rst:1668 msgid "Enable stricter semantics for mixing floats and Decimals." msgstr "" "Ativa semânticas mais rigorosas para misturar objetos de float com de " "Decimal." -#: ../../library/decimal.rst:1659 +#: ../../library/decimal.rst:1670 msgid "" "If the signal is not trapped (default), mixing floats and Decimals is " -"permitted in the :class:`~decimal.Decimal` constructor, :meth:`~decimal." -"Context.create_decimal` and all comparison operators. Both conversion and " -"comparisons are exact. Any occurrence of a mixed operation is silently " -"recorded by setting :exc:`FloatOperation` in the context flags. Explicit " -"conversions with :meth:`~decimal.Decimal.from_float` or :meth:`~decimal." -"Context.create_decimal_from_float` do not set the flag." +"permitted in the :class:`~decimal.Decimal` " +"constructor, :meth:`~decimal.Context.create_decimal` and all comparison " +"operators. Both conversion and comparisons are exact. Any occurrence of a " +"mixed operation is silently recorded by setting :exc:`FloatOperation` in the " +"context flags. Explicit conversions with :meth:`~decimal.Decimal.from_float` " +"or :meth:`~decimal.Context.create_decimal_from_float` do not set the flag." msgstr "" "Se o sinal não for capturado (padrão), a mistura de tipos float e Decimal " -"será permitida no construtor :class:`~decimal.Decimal`, :meth:`~decimal." -"Context.create_decimal` e em todos os operadores de comparação. Tanto a " -"conversão quanto as comparações são exatas. Qualquer ocorrência de uma " -"operação mista é registrada silenciosamente pela configuração :exc:" -"`FloatOperation` nos sinalizadores de contexto. Conversões explícitas com :" -"meth:`~decimal.Decimal.from_float` ou :meth:`~decimal.Context." -"create_decimal_from_float` não definem o sinalizador." - -#: ../../library/decimal.rst:1667 +"será permitida no " +"construtor :class:`~decimal.Decimal`, :meth:`~decimal.Context.create_decimal` " +"e em todos os operadores de comparação. Tanto a conversão quanto as " +"comparações são exatas. Qualquer ocorrência de uma operação mista é " +"registrada silenciosamente pela configuração :exc:`FloatOperation` nos " +"sinalizadores de contexto. Conversões explícitas " +"com :meth:`~decimal.Decimal.from_float` " +"ou :meth:`~decimal.Context.create_decimal_from_float` não definem o " +"sinalizador." + +#: ../../library/decimal.rst:1678 msgid "" "Otherwise (the signal is trapped), only equality comparisons and explicit " -"conversions are silent. All other mixed operations raise :exc:" -"`FloatOperation`." +"conversions are silent. All other mixed operations " +"raise :exc:`FloatOperation`." msgstr "" "Caso contrário (o sinal é capturado), apenas comparações de igualdade e " "conversões explícitas são silenciosas. Todas as outras operações mistas " "levantam :exc:`FloatOperation`." -#: ../../library/decimal.rst:1671 +#: ../../library/decimal.rst:1682 msgid "The following table summarizes the hierarchy of signals::" msgstr "A tabela a seguir resume a hierarquia de sinais::" -#: ../../library/decimal.rst:1692 +#: ../../library/decimal.rst:1703 msgid "Floating Point Notes" msgstr "Observações sobre ponto flutuante" -#: ../../library/decimal.rst:1696 +#: ../../library/decimal.rst:1707 msgid "Mitigating round-off error with increased precision" -msgstr "Atenuando o erro de arredondamento com maior precisão" +msgstr "Atenuando o erro de arredondamento com precisão maior" -#: ../../library/decimal.rst:1698 +#: ../../library/decimal.rst:1709 msgid "" "The use of decimal floating point eliminates decimal representation error " "(making it possible to represent ``0.1`` exactly); however, some operations " "can still incur round-off error when non-zero digits exceed the fixed " "precision." msgstr "" +"O uso do ponto flutuante decimal elimina o erro de representação decimal " +"(possibilitando representar ``0.1`` de forma exata); no entanto, algumas " +"operações ainda podem sofrer erros de arredondamento quando dígitos " +"diferentes de zero excederem a precisão fixa." -#: ../../library/decimal.rst:1702 +#: ../../library/decimal.rst:1713 msgid "" "The effects of round-off error can be amplified by the addition or " "subtraction of nearly offsetting quantities resulting in loss of " @@ -2172,7 +2360,7 @@ msgstr "" "de ponto flutuante arredondado com precisão insuficiente causa a quebra das " "propriedades associativas e distributivas da adição:" -#: ../../library/decimal.rst:1726 +#: ../../library/decimal.rst:1737 msgid "" "The :mod:`decimal` module makes it possible to restore the identities by " "expanding the precision sufficiently to avoid loss of significance:" @@ -2180,18 +2368,21 @@ msgstr "" "O módulo :mod:`decimal` permite restaurar as identidades expandindo a " "precisão o suficiente para evitar perda de significância:" -#: ../../library/decimal.rst:1746 +#: ../../library/decimal.rst:1757 msgid "Special values" msgstr "Valores especiais" -#: ../../library/decimal.rst:1748 +#: ../../library/decimal.rst:1759 msgid "" "The number system for the :mod:`decimal` module provides special values " "including ``NaN``, ``sNaN``, ``-Infinity``, ``Infinity``, and two zeros, " "``+0`` and ``-0``." msgstr "" +"O sistema numérico para o módulo :mod:`decimal` fornece valores especiais, " +"incluindo ``NaN``, ``sNaN``, ``-Infinity``, ``Infinity``, e dois zeros, " +"``+0`` e ``-0``." -#: ../../library/decimal.rst:1752 +#: ../../library/decimal.rst:1763 msgid "" "Infinities can be constructed directly with: ``Decimal('Infinity')``. Also, " "they can arise from dividing by zero when the :exc:`DivisionByZero` signal " @@ -2200,58 +2391,83 @@ msgid "" "representable number." msgstr "" "Os infinitos podem ser construídos diretamente com: ``Decimal('Infinity')``. " -"Além disso, eles podem resultar da divisão por zero quando o sinal :exc:" -"`DivisionByZero` não é capturado. Da mesma forma, quando o sinal :exc:" -"`Overflow` não é capturado, o infinito pode resultar do arredondamento além " -"dos limites do maior número representável." +"Além disso, eles podem resultar da divisão por zero quando o " +"sinal :exc:`DivisionByZero` não é capturado. Da mesma forma, quando o " +"sinal :exc:`Overflow` não é capturado, o infinito pode resultar do " +"arredondamento para além dos limites do maior número representável." -#: ../../library/decimal.rst:1757 +#: ../../library/decimal.rst:1768 msgid "" "The infinities are signed (affine) and can be used in arithmetic operations " "where they get treated as very large, indeterminate numbers. For instance, " "adding a constant to infinity gives another infinite result." msgstr "" "Os infinitos contêm sinais (afins) e podem ser usados em operações " -"aritméticas, onde são tratados como números muito grandes e indeterminados. " -"Por exemplo, adicionar uma constante ao infinito fornece outro resultado " -"infinito." +"aritméticas, nas quais são tratados como números muito grandes e " +"indeterminados. Por exemplo, adicionar uma constante ao infinito resulta em " +"outro infinito." -#: ../../library/decimal.rst:1761 +#: ../../library/decimal.rst:1772 msgid "" -"Some operations are indeterminate and return ``NaN``, or if the :exc:" -"`InvalidOperation` signal is trapped, raise an exception. For example, " -"``0/0`` returns ``NaN`` which means \"not a number\". This variety of " -"``NaN`` is quiet and, once created, will flow through other computations " +"Some operations are indeterminate and return ``NaN``, or if " +"the :exc:`InvalidOperation` signal is trapped, raise an exception. For " +"example, ``0/0`` returns ``NaN`` which means \"not a number\". This variety " +"of ``NaN`` is quiet and, once created, will flow through other computations " "always resulting in another ``NaN``. This behavior can be useful for a " "series of computations that occasionally have missing inputs --- it allows " "the calculation to proceed while flagging specific results as invalid." msgstr "" +"Algumas operações são indeterminadas e retornam ``NaN`` ou, se o " +"sinal :exc:`InvalidOperation` for capturado, levantam uma exceção. Por " +"exemplo, ``0/0`` retorna ``NaN``, que significa \"não é um número\" em " +"inglês. Esta variação de ``NaN`` é silenciosa e, uma vez criada, fluirá para " +"outros cálculos, sempre resultando em mais um ``NaN``. Esse comportamento " +"pode ser útil para uma série de cálculos que, ocasionalmente, têm entradas " +"ausentes --- ele permite que o cálculo continue enquanto sinaliza resultados " +"específicos como inválidos." -#: ../../library/decimal.rst:1769 +#: ../../library/decimal.rst:1780 msgid "" "A variant is ``sNaN`` which signals rather than remaining quiet after every " "operation. This is a useful return value when an invalid result needs to " "interrupt a calculation for special handling." msgstr "" +"Uma variante é ``sNaN``, que sinaliza, em vez de permanecer em silêncio, " +"após cada operação. Esse é um valor de retorno útil quando um resultado " +"inválido precisa interromper um cálculo para tratamento especial." -#: ../../library/decimal.rst:1773 +#: ../../library/decimal.rst:1784 msgid "" "The behavior of Python's comparison operators can be a little surprising " "where a ``NaN`` is involved. A test for equality where one of the operands " "is a quiet or signaling ``NaN`` always returns :const:`False` (even when " "doing ``Decimal('NaN')==Decimal('NaN')``), while a test for inequality " "always returns :const:`True`. An attempt to compare two Decimals using any " -"of the ``<``, ``<=``, ``>`` or ``>=`` operators will raise the :exc:" -"`InvalidOperation` signal if either operand is a ``NaN``, and return :const:" -"`False` if this signal is not trapped. Note that the General Decimal " -"Arithmetic specification does not specify the behavior of direct " +"of the ``<``, ``<=``, ``>`` or ``>=`` operators will raise " +"the :exc:`InvalidOperation` signal if either operand is a ``NaN``, and " +"return :const:`False` if this signal is not trapped. Note that the General " +"Decimal Arithmetic specification does not specify the behavior of direct " "comparisons; these rules for comparisons involving a ``NaN`` were taken from " "the IEEE 854 standard (see Table 3 in section 5.7). To ensure strict " -"standards-compliance, use the :meth:`~Decimal.compare` and :meth:`~Decimal." -"compare_signal` methods instead." -msgstr "" - -#: ../../library/decimal.rst:1786 +"standards-compliance, use the :meth:`~Decimal.compare` " +"and :meth:`~Decimal.compare_signal` methods instead." +msgstr "" +"O comportamento dos operadores de comparação do Python pode ser um pouco " +"surpreendente quando há um ``NaN`` envolvido. Um teste de igualdade em que " +"um dos operandos é um ``NaN`` silencioso ou sinalizador sempre " +"retorna :const:`False` (mesmo ao fazer ``Decimal('NaN')==Decimal('NaN')``), " +"enquanto um teste de desigualdade sempre retorna :const:`True`. Uma " +"tentativa de comparar dois decimais usando qualquer um dos operadores ``<``, " +"``<=``, ``>`` ou ``>=`` levantará o sinal :exc:`InvalidOperation` se um dos " +"operandos for um ``NaN`` e retornará :const:`False` se esse sinal não for " +"capturado. Observe que a especificação aritmética decimal geral não " +"especifica o comportamento das comparações diretas; as regras para " +"comparações envolvendo um ``NaN`` foram retiradas do padrão IEEE 854 " +"(consulte a Tabela 3 na seção 5.7). Para garantir uma conformidade rígida " +"com os padrões, use os métodos :meth:`~Decimal.compare` " +"e :meth:`~Decimal.compare_signal`." + +#: ../../library/decimal.rst:1797 msgid "" "The signed zeros can result from calculations that underflow. They keep the " "sign that would have resulted if the calculation had been carried out to " @@ -2263,7 +2479,7 @@ msgstr "" "precisão. Como sua magnitude é zero, os zeros positivos e negativos são " "tratados como iguais e seu sinal é informacional." -#: ../../library/decimal.rst:1791 +#: ../../library/decimal.rst:1802 msgid "" "In addition to the two signed zeros which are distinct yet equal, there are " "various representations of zero with differing precisions yet equivalent in " @@ -2277,11 +2493,11 @@ msgstr "" "acostumado a representações de ponto flutuante normalizadas, não é " "imediatamente óbvio que o seguinte cálculo retorne um valor igual a zero:" -#: ../../library/decimal.rst:1806 +#: ../../library/decimal.rst:1817 msgid "Working with threads" msgstr "Trabalhando com threads" -#: ../../library/decimal.rst:1808 +#: ../../library/decimal.rst:1819 msgid "" "The :func:`getcontext` function accesses a different :class:`Context` object " "for each thread. Having separate thread contexts means that threads may " @@ -2293,7 +2509,7 @@ msgstr "" "podem fazer alterações (como ``getcontext().prec=10``) sem interferir em " "outras threads." -#: ../../library/decimal.rst:1812 +#: ../../library/decimal.rst:1823 msgid "" "Likewise, the :func:`setcontext` function automatically assigns its target " "to the current thread." @@ -2301,17 +2517,17 @@ msgstr "" "Da mesma forma, a função :func:`setcontext` atribui automaticamente seu alvo " "à thread atual." -#: ../../library/decimal.rst:1815 +#: ../../library/decimal.rst:1826 msgid "" -"If :func:`setcontext` has not been called before :func:`getcontext`, then :" -"func:`getcontext` will automatically create a new context for use in the " -"current thread." +"If :func:`setcontext` has not been called before :func:`getcontext`, " +"then :func:`getcontext` will automatically create a new context for use in " +"the current thread." msgstr "" "Se :func:`setcontext` não tiver sido chamado antes de :func:`getcontext`, " "então :func:`getcontext` criará automaticamente um novo contexto para uso na " "thread atual." -#: ../../library/decimal.rst:1819 +#: ../../library/decimal.rst:1830 msgid "" "The new context is copied from a prototype context called *DefaultContext*. " "To control the defaults so that each thread will use the same values " @@ -2321,16 +2537,16 @@ msgid "" msgstr "" "O novo contexto é copiado de um contexto protótipo chamado *DefaultContext*. " "Para controlar os padrões para que cada thread, use os mesmos valores em " -"todo o aplicativo, modifique diretamente o objeto *DefaultContext*. Isso " -"deve ser feito *antes* de qualquer thread ser iniciada, para que não haja " -"uma condição de corrida entre as threads chamando :func:`getcontext`. Por " +"todo a aplicação, modifique diretamente o objeto *DefaultContext*. Isso deve " +"ser feito *antes* de qualquer thread ser iniciada, para que não haja uma " +"condição de corrida entre as threads chamando :func:`getcontext`. Por " "exemplo::" -#: ../../library/decimal.rst:1844 +#: ../../library/decimal.rst:1855 msgid "Recipes" msgstr "Receitas" -#: ../../library/decimal.rst:1846 +#: ../../library/decimal.rst:1857 msgid "" "Here are a few recipes that serve as utility functions and that demonstrate " "ways to work with the :class:`Decimal` class::" @@ -2338,11 +2554,11 @@ msgstr "" "Aqui estão algumas receitas que servem como funções utilitárias e que " "demonstram maneiras de trabalhar com a classe :class:`Decimal`::" -#: ../../library/decimal.rst:2001 +#: ../../library/decimal.rst:2012 msgid "Decimal FAQ" -msgstr "Perguntas Frequentes sobre Decimal" +msgstr "FAQ sobre Decimal" -#: ../../library/decimal.rst:2003 +#: ../../library/decimal.rst:2014 msgid "" "Q. It is cumbersome to type ``decimal.Decimal('1234.5')``. Is there a way " "to minimize typing when using the interactive interpreter?" @@ -2350,11 +2566,11 @@ msgstr "" "P. É complicado digitar ``decimal.Decimal('1234.5')``. Existe uma maneira de " "minimizar a digitação ao usar o interpretador interativo?" -#: ../../library/decimal.rst:2006 +#: ../../library/decimal.rst:2017 msgid "A. Some users abbreviate the constructor to just a single letter:" msgstr "R. Alguns usuários abreviam o construtor para apenas uma única letra:" -#: ../../library/decimal.rst:2012 +#: ../../library/decimal.rst:2023 msgid "" "Q. In a fixed-point application with two decimal places, some inputs have " "many places and need to be rounded. Others are not supposed to have excess " @@ -2364,50 +2580,84 @@ msgstr "" "têm muitas casas e precisam ser arredondadas. Outros não devem ter dígitos " "em excesso e precisam ser validados. Quais métodos devem ser usados?" -#: ../../library/decimal.rst:2016 +#: ../../library/decimal.rst:2027 msgid "" "A. The :meth:`~Decimal.quantize` method rounds to a fixed number of decimal " "places. If the :const:`Inexact` trap is set, it is also useful for " "validation:" msgstr "" +"R. O método :meth:`~Decimal.quantize` arredonda para um número fixo de casas " +"decimais. Se a armadilha :const:`Inexact` estiver configurada, também será " +"útil para validação:" -#: ../../library/decimal.rst:2034 +#: ../../library/decimal.rst:2045 msgid "" "Q. Once I have valid two place inputs, how do I maintain that invariant " "throughout an application?" msgstr "" -"P. Depois de validar entradas de duas casas, como mantenho essa invariável " -"em uma aplicação?" +"P. Assim que eu tiver entradas de duas casas válidas, como mantenho essa " +"invariante em uma aplicação?" -#: ../../library/decimal.rst:2037 +#: ../../library/decimal.rst:2048 msgid "" "A. Some operations like addition, subtraction, and multiplication by an " "integer will automatically preserve fixed point. Others operations, like " "division and non-integer multiplication, will change the number of decimal " "places and need to be followed-up with a :meth:`~Decimal.quantize` step:" msgstr "" +"R. Algumas operações como adição, subtração e multiplicação por um número " +"inteiro preservam automaticamente o ponto fixo. Outras operações, como " +"divisão e multiplicação não inteira, alteram o número de casas decimais e " +"precisam ser seguidas com uma etapa :meth:`~Decimal.quantize`:" -#: ../../library/decimal.rst:2055 +#: ../../library/decimal.rst:2066 msgid "" "In developing fixed-point applications, it is convenient to define functions " "to handle the :meth:`~Decimal.quantize` step:" msgstr "" +"No desenvolvimento de aplicações de ponto fixo, é conveniente definir " +"funções para manipular a etapa :meth:`~Decimal.quantize`:" -#: ../../library/decimal.rst:2068 +#: ../../library/decimal.rst:2079 msgid "" "Q. There are many ways to express the same value. The numbers ``200``, " "``200.000``, ``2E2``, and ``.02E+4`` all have the same value at various " "precisions. Is there a way to transform them to a single recognizable " "canonical value?" msgstr "" +"P. Existem várias maneiras de expressar o mesmo valor. Os números ``200``, " +"``200.000``, ``2E2`` e ``.02E+4`` têm todos o mesmo valor em várias " +"precisões. Existe uma maneira de transformá-los em um único valor canônico " +"reconhecível?" -#: ../../library/decimal.rst:2073 +#: ../../library/decimal.rst:2084 msgid "" "A. The :meth:`~Decimal.normalize` method maps all equivalent values to a " "single representative:" msgstr "" +"R. O método :meth:`~Decimal.normalize` mapeia todos os valores equivalentes " +"para um único representativo:" + +#: ../../library/decimal.rst:2091 +msgid "Q. When does rounding occur in a computation?" +msgstr "P. Quando ocorre o arredondamento em um cálculo?" -#: ../../library/decimal.rst:2080 +#: ../../library/decimal.rst:2093 +msgid "" +"A. It occurs *after* the computation. The philosophy of the decimal " +"specification is that numbers are considered exact and are created " +"independent of the current context. They can even have greater precision " +"than current context. Computations process with those exact inputs and then " +"rounding (or other context operations) is applied to the *result* of the " +"computation::" +msgstr "" +"R. Ocorre *após* o cálculo. A filosofia da especificação decimal é que os " +"números são considerados exatos e criados independentemente do contexto " +"atual. Eles podem até ter maior precisão do que o contexto atual. O processo " +"de cálculo com essas entradas exatas e, em seguida, o arredondamento (ou " +"outras operações de contexto) é aplicado ao *resultado* do cálculo::" + +#: ../../library/decimal.rst:2111 msgid "" "Q. Some decimal values always print with exponential notation. Is there a " "way to get a non-exponential representation?" @@ -2415,15 +2665,19 @@ msgstr "" "P. Alguns valores decimais sempre são exibidas com notação exponencial. " "Existe uma maneira de obter uma representação não exponencial?" -#: ../../library/decimal.rst:2083 +#: ../../library/decimal.rst:2114 msgid "" "A. For some values, exponential notation is the only way to express the " "number of significant places in the coefficient. For example, expressing " "``5.0E+3`` as ``5000`` keeps the value constant but cannot show the " "original's two-place significance." msgstr "" +"R. Para alguns valores, a notação exponencial é a única maneira de expressar " +"o número de casas significativas no coeficiente. Por exemplo, expressar " +"``5.0E+3`` como ``5000`` mantém o valor constante, mas não pode mostrar a " +"significância de duas casa do original." -#: ../../library/decimal.rst:2088 +#: ../../library/decimal.rst:2119 msgid "" "If an application does not care about tracking significance, it is easy to " "remove the exponent and trailing zeroes, losing significance, but keeping " @@ -2433,12 +2687,12 @@ msgstr "" "remover o expoente e os zeros à direita, perdendo a significância, mas " "mantendo o valor inalterado:" -#: ../../library/decimal.rst:2098 +#: ../../library/decimal.rst:2129 msgid "Q. Is there a way to convert a regular float to a :class:`Decimal`?" msgstr "" "P. Existe uma maneira de converter um float comum em um :class:`Decimal`?" -#: ../../library/decimal.rst:2100 +#: ../../library/decimal.rst:2131 msgid "" "A. Yes, any binary floating point number can be exactly expressed as a " "Decimal though an exact conversion may take more precision than intuition " @@ -2448,7 +2702,7 @@ msgstr "" "exatamente como um Decimal, embora uma conversão exata possa exigir mais " "precisão do que a intuição sugere:" -#: ../../library/decimal.rst:2109 +#: ../../library/decimal.rst:2140 msgid "" "Q. Within a complex calculation, how can I make sure that I haven't gotten a " "spurious result because of insufficient precision or rounding anomalies." @@ -2457,7 +2711,7 @@ msgstr "" "resultado falso devido à precisão insuficiente ou a anomalias de " "arredondamento." -#: ../../library/decimal.rst:2112 +#: ../../library/decimal.rst:2143 msgid "" "A. The decimal module makes it easy to test results. A best practice is to " "re-run calculations using greater precision and with various rounding modes. " @@ -2470,7 +2724,7 @@ msgstr "" "insuficiente, problemas no modo de arredondamento, entradas mal " "condicionadas ou um algoritmo numericamente instável." -#: ../../library/decimal.rst:2117 +#: ../../library/decimal.rst:2148 msgid "" "Q. I noticed that context precision is applied to the results of operations " "but not to the inputs. Is there anything to watch out for when mixing " @@ -2480,7 +2734,7 @@ msgstr "" "mas não às entradas. Há algo a observar ao misturar valores de diferentes " "precisões?" -#: ../../library/decimal.rst:2121 +#: ../../library/decimal.rst:2152 msgid "" "A. Yes. The principle is that all values are considered to be exact and so " "is the arithmetic on those values. Only the results are rounded. The " @@ -2494,7 +2748,7 @@ msgstr "" "desvantagem é que os resultados podem parecer estranhos se você esquecer que " "as entradas não foram arredondadas:" -#: ../../library/decimal.rst:2134 +#: ../../library/decimal.rst:2165 msgid "" "The solution is either to increase precision or to force rounding of inputs " "using the unary plus operation:" @@ -2502,46 +2756,61 @@ msgstr "" "A solução é aumentar a precisão ou forçar o arredondamento das entradas " "usando a operação unária de mais:" -#: ../../library/decimal.rst:2143 +#: ../../library/decimal.rst:2174 msgid "" -"Alternatively, inputs can be rounded upon creation using the :meth:`Context." -"create_decimal` method:" +"Alternatively, inputs can be rounded upon creation using " +"the :meth:`Context.create_decimal` method:" msgstr "" "Como alternativa, as entradas podem ser arredondadas na criação usando o " "método :meth:`Context.create_decimal`:" -#: ../../library/decimal.rst:2149 +#: ../../library/decimal.rst:2180 msgid "Q. Is the CPython implementation fast for large numbers?" msgstr "P. A implementação do CPython é rápida para números grandes?" -#: ../../library/decimal.rst:2151 +#: ../../library/decimal.rst:2182 msgid "" "A. Yes. In the CPython and PyPy3 implementations, the C/CFFI versions of " -"the decimal module integrate the high speed `libmpdec `_ library for arbitrary precision " -"correctly rounded decimal floating point arithmetic [#]_. ``libmpdec`` uses " -"`Karatsuba multiplication `_ library for arbitrary " +"precision correctly rounded decimal floating point arithmetic [#]_. " +"``libmpdec`` uses `Karatsuba multiplication `_ for medium-sized numbers and the `Number Theoretic " "Transform `_ for very " "large numbers." msgstr "" +"A. Sim. Nas implementações CPython e PyPy3, as versões C/CFFI do módulo " +"decimal integram a biblioteca de alta velocidade `libmpdec `_ para precisão " +"arbitrária de aritmética de ponto flutuante decimal corretamente arredondado " +"[#]_. ``libmpdec`` usa a `multiplicação de Karatsuba `_ para números com tamanho " +"médio e a `Transformada Numérica de Fourier `_ para " +"números muito grandes." -#: ../../library/decimal.rst:2161 +#: ../../library/decimal.rst:2192 msgid "" -"The context must be adapted for exact arbitrary precision arithmetic. :attr:" -"`~Context.Emin` and :attr:`~Context.Emax` should always be set to the " -"maximum values, :attr:`~Context.clamp` should always be 0 (the default). " -"Setting :attr:`~Context.prec` requires some care." +"The context must be adapted for exact arbitrary precision " +"arithmetic. :attr:`~Context.Emin` and :attr:`~Context.Emax` should always be " +"set to the maximum values, :attr:`~Context.clamp` should always be 0 (the " +"default). Setting :attr:`~Context.prec` requires some care." msgstr "" +"O contexto deve ser adaptado para uma aritmética exata de precisão " +"arbitrária. :attr:`~Context.Emin` e :attr:`~Context.Emax` devem sempre ser " +"configurados com os valores máximos, :attr:`~Context.clamp` deve sempre ser " +"0 (o padrão). A configuração de :attr:`~Context.prec` requer alguns cuidados." -#: ../../library/decimal.rst:2165 +#: ../../library/decimal.rst:2196 msgid "" "The easiest approach for trying out bignum arithmetic is to use the maximum " "value for :attr:`~Context.prec` as well [#]_::" msgstr "" +"A abordagem mais fácil para testar a aritmética do bignum é usar o valor " +"máximo para :attr:`~Context.prec` também [#]_::" -#: ../../library/decimal.rst:2174 +#: ../../library/decimal.rst:2205 msgid "" "For inexact results, :attr:`MAX_PREC` is far too large on 64-bit platforms " "and the available memory will be insufficient::" @@ -2549,15 +2818,19 @@ msgstr "" "Para resultados inexatos, :attr:`MAX_PREC` é muito grande em plataformas de " "64 bits e a memória disponível será insuficiente::" -#: ../../library/decimal.rst:2182 +#: ../../library/decimal.rst:2213 msgid "" "On systems with overallocation (e.g. Linux), a more sophisticated approach " "is to adjust :attr:`~Context.prec` to the amount of available RAM. Suppose " "that you have 8GB of RAM and expect 10 simultaneous operands using a maximum " "of 500MB each::" msgstr "" +"Em sistemas com alocação excessiva (por exemplo, Linux), uma abordagem mais " +"sofisticada é ajustar :attr:`~Context.prec` à quantidade de RAM disponível. " +"Suponha que você tenha 8 GB de RAM e espere 10 operandos simultâneos usando " +"no máximo 500 MB cada::" -#: ../../library/decimal.rst:2206 +#: ../../library/decimal.rst:2237 msgid "" "In general (and especially on systems without overallocation), it is " "recommended to estimate even tighter bounds and set the :attr:`Inexact` trap " @@ -2567,7 +2840,7 @@ msgstr "" "estimar limites ainda mais apertados e definir a armadilha :attr:`Inexact` " "se for esperado que todos os cálculos sejam mais precisos." -#: ../../library/decimal.rst:2215 +#: ../../library/decimal.rst:2246 msgid "" "This approach now works for all exact results except for non-integer powers." msgstr "" diff --git a/library/development.po b/library/development.po index db1e5d8d2..2155b6f1f 100644 --- a/library/development.po +++ b/library/development.po @@ -1,26 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/devmode.po b/library/devmode.po index 9d04cfe5f..d11312d7a 100644 --- a/library/devmode.po +++ b/library/devmode.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# a76d6fb6142d7607ab0526dcbddb02d7_7bf0da0 <3b5fb0f281c8dfb4c0170f2ee2a6cfcf_843623>, 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -110,9 +109,9 @@ msgstr "" #: ../../library/devmode.rst:41 msgid "" -"Use the :option:`-W error <-W>` command line option or set the :envvar:" -"`PYTHONWARNINGS` environment variable to ``error`` to treat warnings as " -"errors." +"Use the :option:`-W error <-W>` command line option or set " +"the :envvar:`PYTHONWARNINGS` environment variable to ``error`` to treat " +"warnings as errors." msgstr "" "Use a opção de linha de comando :option:`-W error <-W>` ou defina a variável " "de ambiente :envvar:`PYTHONWARNINGS` com ``error`` para tratar avisos como " @@ -158,21 +157,22 @@ msgid "" "``default``." msgstr "" "Para habilitar o Modo de Desenvolvimento do Python sem instalar ganchos de " -"depuração nos alocadores de memória, defina a variável de ambiente :envvar:" -"`PYTHONMALLOC` como ``default``." +"depuração nos alocadores de memória, defina a variável de " +"ambiente :envvar:`PYTHONMALLOC` como ``default``." #: ../../library/devmode.rst:61 msgid "" "Call :func:`faulthandler.enable` at Python startup to install handlers for " -"the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` " -"and :const:`SIGILL` signals to dump the Python traceback on a crash." +"the :const:`~signal.SIGSEGV`, :const:`~signal.SIGFPE`, :const:`~signal.SIGABRT`, :const:`~signal.SIGBUS` " +"and :const:`~signal.SIGILL` signals to dump the Python traceback on a crash." msgstr "" "Chama :func:`faulthandler.enable` na inicialização do Python para instalar " -"manipuladores para sinais :const:`SIGSEGV`, :const:`SIGFPE`, :const:" -"`SIGABRT`, :const:`SIGBUS` e :const:`SIGILL` para despejar o traceback do " -"Python no caso de travamento." +"manipuladores para os " +"sinais :const:`~signal.SIGSEGV`, :const:`~signal.SIGFPE`, :const:`~signal.SIGABRT`, :const:`~signal.SIGBUS` " +"e :const:`~signal.SIGILL` para despejar o traceback (situação da pilha de " +"execução) do Python no caso de travamento." -#: ../../library/devmode.rst:65 +#: ../../library/devmode.rst:66 msgid "" "It behaves as if the :option:`-X faulthandler <-X>` command line option is " "used or if the :envvar:`PYTHONFAULTHANDLER` environment variable is set to " @@ -182,16 +182,17 @@ msgstr "" "<-X>` fosse usada ou se a variável de ambiente :envvar:`PYTHONFAULTHANDLER` " "estivesse definida como ``1``." -#: ../../library/devmode.rst:69 +#: ../../library/devmode.rst:70 msgid "" -"Enable :ref:`asyncio debug mode `. For example, :mod:" -"`asyncio` checks for coroutines that were not awaited and logs them." +"Enable :ref:`asyncio debug mode `. For " +"example, :mod:`asyncio` checks for coroutines that were not awaited and logs " +"them." msgstr "" "Ativa o :ref:`modo de depuração de asyncio `. Por " "exemplo, :mod:`asyncio` verifica as corrotinas que não foram aguardadas " "(*await*) e as registra." -#: ../../library/devmode.rst:72 +#: ../../library/devmode.rst:73 msgid "" "It behaves as if the :envvar:`PYTHONASYNCIODEBUG` environment variable is " "set to ``1``." @@ -199,17 +200,17 @@ msgstr "" "Ele se comporta como se a variável de ambiente :envvar:`PYTHONASYNCIODEBUG` " "estivesse definida como ``1``." -#: ../../library/devmode.rst:75 +#: ../../library/devmode.rst:76 msgid "" "Check the *encoding* and *errors* arguments for string encoding and decoding " -"operations. Examples: :func:`open`, :meth:`str.encode` and :meth:`bytes." -"decode`." +"operations. Examples: :func:`open`, :meth:`str.encode` " +"and :meth:`bytes.decode`." msgstr "" "Verifica os argumentos *encoding* e *errors* para operações de codificação e " -"decodificação de strings. Exemplos: :func:`open`, :meth:`str.encode` e :meth:" -"`bytes.decode`." +"decodificação de strings. Exemplos: :func:`open`, :meth:`str.encode` " +"e :meth:`bytes.decode`." -#: ../../library/devmode.rst:79 +#: ../../library/devmode.rst:80 msgid "" "By default, for best performance, the *errors* argument is only checked at " "the first encoding/decoding error and the *encoding* argument is sometimes " @@ -219,47 +220,47 @@ msgstr "" "verificado apenas no primeiro erro de codificação/decodificação, e o " "argumento *encoding* às vezes é ignorado para strings vazias." -#: ../../library/devmode.rst:83 +#: ../../library/devmode.rst:84 msgid "The :class:`io.IOBase` destructor logs ``close()`` exceptions." msgstr "O destrutor de :class:`io.IOBase` registra exceções ``close()``." -#: ../../library/devmode.rst:84 +#: ../../library/devmode.rst:85 msgid "" -"Set the :attr:`~sys.flags.dev_mode` attribute of :attr:`sys.flags` to " +"Set the :attr:`~sys.flags.dev_mode` attribute of :data:`sys.flags` to " "``True``." msgstr "" -"Define o atributo :attr:`~sys.flags.dev_mode` de :attr:`sys.flags` como " +"Define o atributo :attr:`~sys.flags.dev_mode` de :data:`sys.flags` como " "``True``." -#: ../../library/devmode.rst:87 +#: ../../library/devmode.rst:88 msgid "" "The Python Development Mode does not enable the :mod:`tracemalloc` module by " "default, because the overhead cost (to performance and memory) would be too " "large. Enabling the :mod:`tracemalloc` module provides additional " -"information on the origin of some errors. For example, :exc:" -"`ResourceWarning` logs the traceback where the resource was allocated, and a " -"buffer overflow error logs the traceback where the memory block was " -"allocated." +"information on the origin of some errors. For " +"example, :exc:`ResourceWarning` logs the traceback where the resource was " +"allocated, and a buffer overflow error logs the traceback where the memory " +"block was allocated." msgstr "" "O Modo de Desenvolvimento do Python não ativa o módulo :mod:`tracemalloc` " "por padrão porque o custo adicional (para desempenho e memória) seria muito " "grande. A ativação do módulo :mod:`tracemalloc` fornece informações " -"adicionais sobre a origem de alguns erros. Por exemplo, :exc:" -"`ResourceWarning` registra o retorno ao local onde o recurso foi alocado, e " -"um erro de estouro de buffer registra o retorno ao local onde o bloco de " -"memória foi alocado." +"adicionais sobre a origem de alguns erros. Por " +"exemplo, :exc:`ResourceWarning` registra o retorno ao local onde o recurso " +"foi alocado, e um erro de estouro de buffer registra o retorno ao local onde " +"o bloco de memória foi alocado." -#: ../../library/devmode.rst:94 +#: ../../library/devmode.rst:95 msgid "" "The Python Development Mode does not prevent the :option:`-O` command line " -"option from removing :keyword:`assert` statements nor from setting :const:" -"`__debug__` to ``False``." +"option from removing :keyword:`assert` statements nor from " +"setting :const:`__debug__` to ``False``." msgstr "" "O Modo de Desenvolvimento do Python não impede que a opção de linha de " -"comando :option:`-O` remova as instruções :keyword:`assert` nem configure :" -"const:`__debug__` como ``False``." +"comando :option:`-O` remova as instruções :keyword:`assert` nem " +"configure :const:`__debug__` como ``False``." -#: ../../library/devmode.rst:98 +#: ../../library/devmode.rst:99 msgid "" "The Python Development Mode can only be enabled at the Python startup. Its " "value can be read from :data:`sys.flags.dev_mode `." @@ -267,11 +268,11 @@ msgstr "" "O Modo de Desenvolvimento do Python só pode ser ativado na inicialização do " "Python. Seu valor pode ser lido de :data:`sys.flags.dev_mode `." -#: ../../library/devmode.rst:101 +#: ../../library/devmode.rst:102 msgid "The :class:`io.IOBase` destructor now logs ``close()`` exceptions." msgstr "O destrutor de :class:`io.IOBase` agora registra exceções ``close()``." -#: ../../library/devmode.rst:104 +#: ../../library/devmode.rst:105 msgid "" "The *encoding* and *errors* arguments are now checked for string encoding " "and decoding operations." @@ -279,11 +280,11 @@ msgstr "" "Os argumentos *encoding* e *errors* agora são verificados para operações de " "codificação e decodificação de strings." -#: ../../library/devmode.rst:110 +#: ../../library/devmode.rst:111 msgid "ResourceWarning Example" msgstr "Exemplo de ResourceWarning" -#: ../../library/devmode.rst:112 +#: ../../library/devmode.rst:113 msgid "" "Example of a script counting the number of lines of the text file specified " "in the command line::" @@ -291,7 +292,7 @@ msgstr "" "Exemplo de um script que conta o número de linhas do arquivo texto " "especificado na linha de comando::" -#: ../../library/devmode.rst:126 +#: ../../library/devmode.rst:127 msgid "" "The script does not close the file explicitly. By default, Python does not " "emit any warning. Example using README.txt, which has 269 lines:" @@ -299,15 +300,15 @@ msgstr "" "O script não fecha o arquivo explicitamente. Por padrão, o Python não emite " "nenhum aviso. Exemplo usando README.txt, que possui 269 linhas:" -#: ../../library/devmode.rst:134 +#: ../../library/devmode.rst:135 msgid "" "Enabling the Python Development Mode displays a :exc:`ResourceWarning` " "warning:" msgstr "" -"A ativação do Modo de Desenvolvimento do Python exibe um aviso :exc:" -"`ResourceWarning`:" +"A ativação do Modo de Desenvolvimento do Python exibe um " +"aviso :exc:`ResourceWarning`:" -#: ../../library/devmode.rst:144 +#: ../../library/devmode.rst:145 msgid "" "In addition, enabling :mod:`tracemalloc` shows the line where the file was " "opened:" @@ -315,14 +316,14 @@ msgstr "" "Além disso, ativar :mod:`tracemalloc` mostra a linha em que o arquivo foi " "aberto:" -#: ../../library/devmode.rst:159 +#: ../../library/devmode.rst:160 msgid "" "The fix is to close explicitly the file. Example using a context manager::" msgstr "" "A correção é fechar explicitamente o arquivo. Exemplo usando um gerenciador " "de contexto::" -#: ../../library/devmode.rst:167 +#: ../../library/devmode.rst:168 msgid "" "Not closing a resource explicitly can leave a resource open for way longer " "than expected; it can cause severe issues upon exiting Python. It is bad in " @@ -334,19 +335,19 @@ msgstr "" "Python. É ruim no CPython, mas é ainda pior no PyPy. Fechar recursos " "explicitamente torna uma aplicação mais determinística e mais confiável." -#: ../../library/devmode.rst:174 +#: ../../library/devmode.rst:175 msgid "Bad file descriptor error example" msgstr "Exemplo de erro de descritor de arquivo inválido" -#: ../../library/devmode.rst:176 +#: ../../library/devmode.rst:177 msgid "Script displaying the first line of itself::" msgstr "Script exibindo sua própria primeira linha::" -#: ../../library/devmode.rst:189 +#: ../../library/devmode.rst:190 msgid "By default, Python does not emit any warning:" msgstr "Por padrão, o Python não emite qualquer aviso:" -#: ../../library/devmode.rst:196 +#: ../../library/devmode.rst:197 msgid "" "The Python Development Mode shows a :exc:`ResourceWarning` and logs a \"Bad " "file descriptor\" error when finalizing the file object:" @@ -354,13 +355,13 @@ msgstr "" "O Modo de Desenvolvimento do Python mostra uma :exc:`ResourceWarning` e " "registra um erro \"Bad file descriptor\" ao finalizar o objeto arquivo:" -#: ../../library/devmode.rst:212 +#: ../../library/devmode.rst:213 msgid "" "``os.close(fp.fileno())`` closes the file descriptor. When the file object " "finalizer tries to close the file descriptor again, it fails with the ``Bad " "file descriptor`` error. A file descriptor must be closed only once. In the " -"worst case scenario, closing it twice can lead to a crash (see :issue:" -"`18748` for an example)." +"worst case scenario, closing it twice can lead to a crash " +"(see :issue:`18748` for an example)." msgstr "" "``os.close(fp.fileno())`` fecha o descritor de arquivo. Quando o finalizador " "de objeto arquivo tenta fechar o descritor de arquivo novamente, ele falha " @@ -368,7 +369,7 @@ msgstr "" "apenas uma vez. Na pior das hipóteses, fechá-lo duas vezes pode causar um " "acidente (consulte :issue:`18748` para um exemplo)." -#: ../../library/devmode.rst:218 +#: ../../library/devmode.rst:219 msgid "" "The fix is to remove the ``os.close(fp.fileno())`` line, or open the file " "with ``closefd=False``." diff --git a/library/dialog.po b/library/dialog.po index 1fb1b2beb..ea0b88727 100644 --- a/library/dialog.po +++ b/library/dialog.po @@ -1,26 +1,25 @@ # 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: -# João Porfirio, 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -101,7 +100,7 @@ msgid "" msgstr "" "As seguintes classes e funções fornecem janelas de diálogo de arquivo que " "combinam uma aparência nativa com opções de configuração para personalizar o " -"comportamento. Os seguintes argumentos nomeados são aplicáveis ​​às classes e " +"comportamento. Os seguintes argumentos nomeados são aplicáveis às classes e " "funções listado abaixo:" #: ../../library/dialog.rst:0 diff --git a/library/difflib.po b/library/difflib.po index 8ae7f4653..a33dc9992 100644 --- a/library/difflib.po +++ b/library/difflib.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Marcos Wenneton Araújo , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -82,8 +77,8 @@ msgid "" "``False`` when creating the :class:`SequenceMatcher`." msgstr "" -#: ../../library/difflib.rst:55 ../../library/difflib.rst:388 -msgid "The *autojunk* parameter." +#: ../../library/difflib.rst:55 ../../library/difflib.rst:390 +msgid "Added the *autojunk* parameter." msgstr "" #: ../../library/difflib.rst:61 @@ -102,13 +97,13 @@ msgstr "" msgid "Code" msgstr "Código" -#: ../../library/difflib.rst:69 ../../library/difflib.rst:498 +#: ../../library/difflib.rst:69 ../../library/difflib.rst:500 msgid "Meaning" msgstr "Significado" #: ../../library/difflib.rst:71 msgid "``'- '``" -msgstr "" +msgstr "``'- '``" #: ../../library/difflib.rst:71 msgid "line unique to sequence 1" @@ -124,7 +119,7 @@ msgstr "" #: ../../library/difflib.rst:75 msgid "``' '``" -msgstr "" +msgstr "``' '``" #: ../../library/difflib.rst:75 msgid "line common to both sequences" @@ -132,7 +127,7 @@ msgstr "" #: ../../library/difflib.rst:77 msgid "``'? '``" -msgstr "" +msgstr "``'? '``" #: ../../library/difflib.rst:77 msgid "line not present in either input sequence" @@ -175,10 +170,10 @@ msgstr "" #: ../../library/difflib.rst:105 msgid "" -"*linejunk* and *charjunk* are optional keyword arguments passed into :func:" -"`ndiff` (used by :class:`HtmlDiff` to generate the side by side HTML " -"differences). See :func:`ndiff` documentation for argument default values " -"and descriptions." +"*linejunk* and *charjunk* are optional keyword arguments passed " +"into :func:`ndiff` (used by :class:`HtmlDiff` to generate the side by side " +"HTML differences). See :func:`ndiff` documentation for argument default " +"values and descriptions." msgstr "" #: ../../library/difflib.rst:109 @@ -232,8 +227,8 @@ msgstr "" #: ../../library/difflib.rst:145 msgid "" -"The arguments for this method are the same as those for the :meth:" -"`make_file` method." +"The arguments for this method are the same as those for " +"the :meth:`make_file` method." msgstr "" #: ../../library/difflib.rst:148 @@ -264,13 +259,13 @@ msgid "" "trailing newlines." msgstr "" -#: ../../library/difflib.rst:167 ../../library/difflib.rst:298 +#: ../../library/difflib.rst:167 ../../library/difflib.rst:301 msgid "" "For inputs that do not have trailing newlines, set the *lineterm* argument " "to ``\"\"`` so that the output will be uniformly newline free." msgstr "" -#: ../../library/difflib.rst:170 ../../library/difflib.rst:301 +#: ../../library/difflib.rst:170 msgid "" "The context diff format normally has a header for filenames and modification " "times. Any or all of these may be specified using strings for *fromfile*, " @@ -279,11 +274,11 @@ msgid "" "default to blanks." msgstr "" -#: ../../library/difflib.rst:193 ../../library/difflib.rst:322 +#: ../../library/difflib.rst:196 ../../library/difflib.rst:324 msgid "See :ref:`difflib-interface` for a more detailed example." msgstr "" -#: ../../library/difflib.rst:198 +#: ../../library/difflib.rst:201 msgid "" "Return a list of the best \"good enough\" matches. *word* is a sequence for " "which close matches are desired (typically a string), and *possibilities* is " @@ -291,37 +286,37 @@ msgid "" "strings)." msgstr "" -#: ../../library/difflib.rst:202 +#: ../../library/difflib.rst:205 msgid "" "Optional argument *n* (default ``3``) is the maximum number of close matches " "to return; *n* must be greater than ``0``." msgstr "" -#: ../../library/difflib.rst:205 +#: ../../library/difflib.rst:208 msgid "" "Optional argument *cutoff* (default ``0.6``) is a float in the range [0, 1]. " "Possibilities that don't score at least that similar to *word* are ignored." msgstr "" -#: ../../library/difflib.rst:208 +#: ../../library/difflib.rst:211 msgid "" "The best (no more than *n*) matches among the possibilities are returned in " "a list, sorted by similarity score, most similar first." msgstr "" -#: ../../library/difflib.rst:224 +#: ../../library/difflib.rst:227 msgid "" "Compare *a* and *b* (lists of strings); return a :class:`Differ`\\ -style " "delta (a :term:`generator` generating the delta lines)." msgstr "" -#: ../../library/difflib.rst:227 +#: ../../library/difflib.rst:230 msgid "" "Optional keyword parameters *linejunk* and *charjunk* are filtering " "functions (or ``None``):" msgstr "" -#: ../../library/difflib.rst:230 +#: ../../library/difflib.rst:233 msgid "" "*linejunk*: A function that accepts a single string argument, and returns " "true if the string is junk, or false if not. The default is ``None``. There " @@ -332,7 +327,7 @@ msgid "" "this usually works better than using this function." msgstr "" -#: ../../library/difflib.rst:238 +#: ../../library/difflib.rst:241 msgid "" "*charjunk*: A function that accepts a character (a string of length 1), and " "returns if the character is junk, or false if not. The default is module-" @@ -340,33 +335,33 @@ msgid "" "characters (a blank or tab; it's a bad idea to include newline in this!)." msgstr "" -#: ../../library/difflib.rst:243 +#: ../../library/difflib.rst:246 msgid "" ":file:`Tools/scripts/ndiff.py` is a command-line front-end to this function." msgstr "" -#: ../../library/difflib.rst:261 +#: ../../library/difflib.rst:264 msgid "Return one of the two sequences that generated a delta." msgstr "" -#: ../../library/difflib.rst:263 +#: ../../library/difflib.rst:266 msgid "" "Given a *sequence* produced by :meth:`Differ.compare` or :func:`ndiff`, " "extract lines originating from file 1 or 2 (parameter *which*), stripping " "off line prefixes." msgstr "" -#: ../../library/difflib.rst:267 +#: ../../library/difflib.rst:270 msgid "Example:" msgstr "Exemplo:" -#: ../../library/difflib.rst:284 +#: ../../library/difflib.rst:287 msgid "" "Compare *a* and *b* (lists of strings); return a delta (a :term:`generator` " "generating the delta lines) in unified diff format." msgstr "" -#: ../../library/difflib.rst:287 +#: ../../library/difflib.rst:290 msgid "" "Unified diffs are a compact way of showing just the lines that have changed " "plus a few lines of context. The changes are shown in an inline style " @@ -374,7 +369,7 @@ msgid "" "set by *n* which defaults to three." msgstr "" -#: ../../library/difflib.rst:292 +#: ../../library/difflib.rst:295 msgid "" "By default, the diff control lines (those with ``---``, ``+++``, or ``@@``) " "are created with a trailing newline. This is helpful so that inputs created " @@ -383,14 +378,23 @@ msgid "" "trailing newlines." msgstr "" -#: ../../library/difflib.rst:326 +#: ../../library/difflib.rst:304 +msgid "" +"The unified diff format normally has a header for filenames and modification " +"times. Any or all of these may be specified using strings for *fromfile*, " +"*tofile*, *fromfiledate*, and *tofiledate*. The modification times are " +"normally expressed in the ISO 8601 format. If not specified, the strings " +"default to blanks." +msgstr "" + +#: ../../library/difflib.rst:328 msgid "" "Compare *a* and *b* (lists of bytes objects) using *dfunc*; yield a sequence " "of delta lines (also bytes) in the format returned by *dfunc*. *dfunc* must " "be a callable, typically either :func:`unified_diff` or :func:`context_diff`." msgstr "" -#: ../../library/difflib.rst:331 +#: ../../library/difflib.rst:333 msgid "" "Allows you to compare data with unknown or inconsistent encoding. All inputs " "except *n* must be bytes objects, not str. Works by losslessly converting " @@ -400,42 +404,42 @@ msgid "" "unknown/inconsistent encodings as *a* and *b*." msgstr "" -#: ../../library/difflib.rst:342 +#: ../../library/difflib.rst:344 msgid "" "Return ``True`` for ignorable lines. The line *line* is ignorable if *line* " "is blank or contains a single ``'#'``, otherwise it is not ignorable. Used " "as a default for parameter *linejunk* in :func:`ndiff` in older versions." msgstr "" -#: ../../library/difflib.rst:349 +#: ../../library/difflib.rst:351 msgid "" "Return ``True`` for ignorable characters. The character *ch* is ignorable " "if *ch* is a space or tab, otherwise it is not ignorable. Used as a default " "for parameter *charjunk* in :func:`ndiff`." msgstr "" -#: ../../library/difflib.rst:357 +#: ../../library/difflib.rst:359 msgid "" "`Pattern Matching: The Gestalt Approach `_" msgstr "" -#: ../../library/difflib.rst:357 +#: ../../library/difflib.rst:359 msgid "" "Discussion of a similar algorithm by John W. Ratcliff and D. E. Metzener. " "This was published in `Dr. Dobb's Journal `_ in " "July, 1988." msgstr "" -#: ../../library/difflib.rst:364 +#: ../../library/difflib.rst:366 msgid "SequenceMatcher Objects" msgstr "" -#: ../../library/difflib.rst:366 +#: ../../library/difflib.rst:368 msgid "The :class:`SequenceMatcher` class has this constructor:" msgstr "" -#: ../../library/difflib.rst:371 +#: ../../library/difflib.rst:373 msgid "" "Optional argument *isjunk* must be ``None`` (the default) or a one-argument " "function that takes a sequence element and returns true if and only if the " @@ -444,48 +448,48 @@ msgid "" "ignored. For example, pass::" msgstr "" -#: ../../library/difflib.rst:379 +#: ../../library/difflib.rst:381 msgid "" "if you're comparing lines as sequences of characters, and don't want to " "synch up on blanks or hard tabs." msgstr "" -#: ../../library/difflib.rst:382 +#: ../../library/difflib.rst:384 msgid "" "The optional arguments *a* and *b* are sequences to be compared; both " -"default to empty strings. The elements of both sequences must be :term:" -"`hashable`." +"default to empty strings. The elements of both sequences must " +"be :term:`hashable`." msgstr "" -#: ../../library/difflib.rst:385 +#: ../../library/difflib.rst:387 msgid "" "The optional argument *autojunk* can be used to disable the automatic junk " "heuristic." msgstr "" -#: ../../library/difflib.rst:391 +#: ../../library/difflib.rst:393 msgid "" "SequenceMatcher objects get three data attributes: *bjunk* is the set of " "elements of *b* for which *isjunk* is ``True``; *bpopular* is the set of non-" "junk elements considered popular by the heuristic (if it is not disabled); " "*b2j* is a dict mapping the remaining elements of *b* to a list of positions " -"where they occur. All three are reset whenever *b* is reset with :meth:" -"`set_seqs` or :meth:`set_seq2`." +"where they occur. All three are reset whenever *b* is reset " +"with :meth:`set_seqs` or :meth:`set_seq2`." msgstr "" -#: ../../library/difflib.rst:398 +#: ../../library/difflib.rst:400 msgid "The *bjunk* and *bpopular* attributes." msgstr "" -#: ../../library/difflib.rst:401 +#: ../../library/difflib.rst:403 msgid ":class:`SequenceMatcher` objects have the following methods:" msgstr "" -#: ../../library/difflib.rst:405 +#: ../../library/difflib.rst:407 msgid "Set the two sequences to be compared." msgstr "" -#: ../../library/difflib.rst:407 +#: ../../library/difflib.rst:409 msgid "" ":class:`SequenceMatcher` computes and caches detailed information about the " "second sequence, so if you want to compare one sequence against many " @@ -493,23 +497,23 @@ msgid "" "call :meth:`set_seq1` repeatedly, once for each of the other sequences." msgstr "" -#: ../../library/difflib.rst:415 +#: ../../library/difflib.rst:417 msgid "" "Set the first sequence to be compared. The second sequence to be compared " "is not changed." msgstr "" -#: ../../library/difflib.rst:421 +#: ../../library/difflib.rst:423 msgid "" "Set the second sequence to be compared. The first sequence to be compared " "is not changed." msgstr "" -#: ../../library/difflib.rst:427 +#: ../../library/difflib.rst:429 msgid "Find longest matching block in ``a[alo:ahi]`` and ``b[blo:bhi]``." msgstr "" -#: ../../library/difflib.rst:429 +#: ../../library/difflib.rst:431 msgid "" "If *isjunk* was omitted or ``None``, :meth:`find_longest_match` returns " "``(i, j, k)`` such that ``a[i:i+k]`` is equal to ``b[j:j+k]``, where ``alo " @@ -521,7 +525,7 @@ msgid "" "that starts earliest in *b*." msgstr "" -#: ../../library/difflib.rst:442 +#: ../../library/difflib.rst:444 msgid "" "If *isjunk* was provided, first the longest matching block is determined as " "above, but with the additional restriction that no junk element appears in " @@ -530,7 +534,7 @@ msgid "" "junk except as identical junk happens to be adjacent to an interesting match." msgstr "" -#: ../../library/difflib.rst:449 +#: ../../library/difflib.rst:451 msgid "" "Here's the same example as before, but considering blanks to be junk. That " "prevents ``' abcd'`` from matching the ``' abcd'`` at the tail end of the " @@ -538,26 +542,26 @@ msgid "" "matches the leftmost ``'abcd'`` in the second sequence:" msgstr "" -#: ../../library/difflib.rst:458 +#: ../../library/difflib.rst:460 msgid "If no blocks match, this returns ``(alo, blo, 0)``." msgstr "" -#: ../../library/difflib.rst:460 +#: ../../library/difflib.rst:462 msgid "This method returns a :term:`named tuple` ``Match(a, b, size)``." msgstr "" -#: ../../library/difflib.rst:462 +#: ../../library/difflib.rst:464 msgid "Added default arguments." msgstr "" -#: ../../library/difflib.rst:468 +#: ../../library/difflib.rst:470 msgid "" "Return list of triples describing non-overlapping matching subsequences. " -"Each triple is of the form ``(i, j, n)``, and means that ``a[i:i+n] == b[j:" -"j+n]``. The triples are monotonically increasing in *i* and *j*." +"Each triple is of the form ``(i, j, n)``, and means that ``a[i:i+n] == " +"b[j:j+n]``. The triples are monotonically increasing in *i* and *j*." msgstr "" -#: ../../library/difflib.rst:473 +#: ../../library/difflib.rst:475 msgid "" "The last triple is a dummy, and has the value ``(len(a), len(b), 0)``. It " "is the only triple with ``n == 0``. If ``(i, j, n)`` and ``(i', j', n')`` " @@ -566,7 +570,7 @@ msgid "" "triples always describe non-adjacent equal blocks." msgstr "" -#: ../../library/difflib.rst:490 +#: ../../library/difflib.rst:492 msgid "" "Return list of 5-tuples describing how to turn *a* into *b*. Each tuple is " "of the form ``(tag, i1, i2, j1, j2)``. The first tuple has ``i1 == j1 == " @@ -574,159 +578,163 @@ msgid "" "tuple, and, likewise, *j1* equal to the previous *j2*." msgstr "" -#: ../../library/difflib.rst:495 +#: ../../library/difflib.rst:497 msgid "The *tag* values are strings, with these meanings:" msgstr "" -#: ../../library/difflib.rst:498 +#: ../../library/difflib.rst:500 msgid "Value" msgstr "Valor" -#: ../../library/difflib.rst:500 +#: ../../library/difflib.rst:502 msgid "``'replace'``" msgstr "``'replace'``" -#: ../../library/difflib.rst:500 +#: ../../library/difflib.rst:502 msgid "``a[i1:i2]`` should be replaced by ``b[j1:j2]``." msgstr "" -#: ../../library/difflib.rst:503 +#: ../../library/difflib.rst:505 msgid "``'delete'``" msgstr "``'delete'``" -#: ../../library/difflib.rst:503 +#: ../../library/difflib.rst:505 msgid "``a[i1:i2]`` should be deleted. Note that ``j1 == j2`` in this case." msgstr "" -#: ../../library/difflib.rst:506 +#: ../../library/difflib.rst:508 msgid "``'insert'``" msgstr "``'insert'``" -#: ../../library/difflib.rst:506 +#: ../../library/difflib.rst:508 msgid "" "``b[j1:j2]`` should be inserted at ``a[i1:i1]``. Note that ``i1 == i2`` in " "this case." msgstr "" -#: ../../library/difflib.rst:510 +#: ../../library/difflib.rst:512 msgid "``'equal'``" msgstr "``'equal'``" -#: ../../library/difflib.rst:510 +#: ../../library/difflib.rst:512 msgid "``a[i1:i2] == b[j1:j2]`` (the sub-sequences are equal)." msgstr "" -#: ../../library/difflib.rst:514 +#: ../../library/difflib.rst:516 msgid "For example::" msgstr "Por exemplo::" -#: ../../library/difflib.rst:531 +#: ../../library/difflib.rst:533 msgid "Return a :term:`generator` of groups with up to *n* lines of context." msgstr "" -#: ../../library/difflib.rst:533 +#: ../../library/difflib.rst:535 msgid "" "Starting with the groups returned by :meth:`get_opcodes`, this method splits " "out smaller change clusters and eliminates intervening ranges which have no " "changes." msgstr "" -#: ../../library/difflib.rst:537 +#: ../../library/difflib.rst:539 msgid "The groups are returned in the same format as :meth:`get_opcodes`." msgstr "" -#: ../../library/difflib.rst:542 +#: ../../library/difflib.rst:544 msgid "" "Return a measure of the sequences' similarity as a float in the range [0, 1]." msgstr "" -#: ../../library/difflib.rst:545 +#: ../../library/difflib.rst:547 msgid "" "Where T is the total number of elements in both sequences, and M is the " "number of matches, this is 2.0\\*M / T. Note that this is ``1.0`` if the " "sequences are identical, and ``0.0`` if they have nothing in common." msgstr "" -#: ../../library/difflib.rst:549 +#: ../../library/difflib.rst:551 msgid "" -"This is expensive to compute if :meth:`get_matching_blocks` or :meth:" -"`get_opcodes` hasn't already been called, in which case you may want to try :" -"meth:`quick_ratio` or :meth:`real_quick_ratio` first to get an upper bound." +"This is expensive to compute if :meth:`get_matching_blocks` " +"or :meth:`get_opcodes` hasn't already been called, in which case you may " +"want to try :meth:`quick_ratio` or :meth:`real_quick_ratio` first to get an " +"upper bound." msgstr "" -#: ../../library/difflib.rst:556 +#: ../../library/difflib.rst:558 msgid "" "Caution: The result of a :meth:`ratio` call may depend on the order of the " "arguments. For instance::" msgstr "" -#: ../../library/difflib.rst:567 +#: ../../library/difflib.rst:569 msgid "Return an upper bound on :meth:`ratio` relatively quickly." msgstr "" -#: ../../library/difflib.rst:572 +#: ../../library/difflib.rst:574 msgid "Return an upper bound on :meth:`ratio` very quickly." msgstr "" -#: ../../library/difflib.rst:575 +#: ../../library/difflib.rst:577 msgid "" "The three methods that return the ratio of matching to total characters can " -"give different results due to differing levels of approximation, although :" -"meth:`quick_ratio` and :meth:`real_quick_ratio` are always at least as large " -"as :meth:`ratio`:" +"give different results due to differing levels of approximation, " +"although :meth:`~SequenceMatcher.quick_ratio` " +"and :meth:`~SequenceMatcher.real_quick_ratio` are always at least as large " +"as :meth:`~SequenceMatcher.ratio`:" msgstr "" -#: ../../library/difflib.rst:592 +#: ../../library/difflib.rst:594 msgid "SequenceMatcher Examples" msgstr "" -#: ../../library/difflib.rst:594 +#: ../../library/difflib.rst:596 msgid "This example compares two strings, considering blanks to be \"junk\":" msgstr "" -#: ../../library/difflib.rst:600 +#: ../../library/difflib.rst:602 msgid "" -":meth:`ratio` returns a float in [0, 1], measuring the similarity of the " -"sequences. As a rule of thumb, a :meth:`ratio` value over 0.6 means the " -"sequences are close matches:" +":meth:`~SequenceMatcher.ratio` returns a float in [0, 1], measuring the " +"similarity of the sequences. As a rule of thumb, " +"a :meth:`~SequenceMatcher.ratio` value over 0.6 means the sequences are " +"close matches:" msgstr "" -#: ../../library/difflib.rst:607 +#: ../../library/difflib.rst:609 msgid "" -"If you're only interested in where the sequences match, :meth:" -"`get_matching_blocks` is handy:" +"If you're only interested in where the sequences " +"match, :meth:`~SequenceMatcher.get_matching_blocks` is handy:" msgstr "" -#: ../../library/difflib.rst:616 +#: ../../library/difflib.rst:618 msgid "" -"Note that the last tuple returned by :meth:`get_matching_blocks` is always a " -"dummy, ``(len(a), len(b), 0)``, and this is the only case in which the last " -"tuple element (number of elements matched) is ``0``." +"Note that the last tuple returned " +"by :meth:`~SequenceMatcher.get_matching_blocks` is always a dummy, " +"``(len(a), len(b), 0)``, and this is the only case in which the last tuple " +"element (number of elements matched) is ``0``." msgstr "" -#: ../../library/difflib.rst:620 +#: ../../library/difflib.rst:622 msgid "" -"If you want to know how to change the first sequence into the second, use :" -"meth:`get_opcodes`:" +"If you want to know how to change the first sequence into the second, " +"use :meth:`~SequenceMatcher.get_opcodes`:" msgstr "" -#: ../../library/difflib.rst:631 +#: ../../library/difflib.rst:633 msgid "" "The :func:`get_close_matches` function in this module which shows how simple " "code building on :class:`SequenceMatcher` can be used to do useful work." msgstr "" -#: ../../library/difflib.rst:635 +#: ../../library/difflib.rst:637 msgid "" "`Simple version control recipe `_ for a small application built with :class:`SequenceMatcher`." msgstr "" -#: ../../library/difflib.rst:643 +#: ../../library/difflib.rst:645 msgid "Differ Objects" msgstr "" -#: ../../library/difflib.rst:645 +#: ../../library/difflib.rst:647 msgid "" "Note that :class:`Differ`\\ -generated deltas make no claim to be " "**minimal** diffs. To the contrary, minimal diffs are often counter-" @@ -736,31 +744,31 @@ msgid "" "longer diff." msgstr "" -#: ../../library/difflib.rst:651 +#: ../../library/difflib.rst:653 msgid "The :class:`Differ` class has this constructor:" msgstr "" -#: ../../library/difflib.rst:657 +#: ../../library/difflib.rst:659 msgid "" "Optional keyword parameters *linejunk* and *charjunk* are for filter " "functions (or ``None``):" msgstr "" -#: ../../library/difflib.rst:660 +#: ../../library/difflib.rst:662 msgid "" "*linejunk*: A function that accepts a single string argument, and returns " "true if the string is junk. The default is ``None``, meaning that no line " "is considered junk." msgstr "" -#: ../../library/difflib.rst:664 +#: ../../library/difflib.rst:666 msgid "" "*charjunk*: A function that accepts a single character argument (a string of " "length 1), and returns true if the character is junk. The default is " "``None``, meaning that no character is considered junk." msgstr "" -#: ../../library/difflib.rst:668 +#: ../../library/difflib.rst:670 msgid "" "These junk-filtering functions speed up matching to find differences and do " "not cause any differing lines or characters to be ignored. Read the " @@ -768,65 +776,65 @@ msgid "" "*isjunk* parameter for an explanation." msgstr "" -#: ../../library/difflib.rst:674 +#: ../../library/difflib.rst:676 msgid "" ":class:`Differ` objects are used (deltas generated) via a single method:" msgstr "" -#: ../../library/difflib.rst:679 +#: ../../library/difflib.rst:681 msgid "" "Compare two sequences of lines, and generate the delta (a sequence of lines)." msgstr "" -#: ../../library/difflib.rst:681 +#: ../../library/difflib.rst:683 msgid "" "Each sequence must contain individual single-line strings ending with " -"newlines. Such sequences can be obtained from the :meth:`~io.IOBase." -"readlines` method of file-like objects. The delta generated also consists " -"of newline-terminated strings, ready to be printed as-is via the :meth:`~io." -"IOBase.writelines` method of a file-like object." +"newlines. Such sequences can be obtained from " +"the :meth:`~io.IOBase.readlines` method of file-like objects. The delta " +"generated also consists of newline-terminated strings, ready to be printed " +"as-is via the :meth:`~io.IOBase.writelines` method of a file-like object." msgstr "" -#: ../../library/difflib.rst:692 +#: ../../library/difflib.rst:694 msgid "Differ Example" msgstr "" -#: ../../library/difflib.rst:694 +#: ../../library/difflib.rst:696 msgid "" "This example compares two texts. First we set up the texts, sequences of " "individual single-line strings ending with newlines (such sequences can also " -"be obtained from the :meth:`~io.BaseIO.readlines` method of file-like " +"be obtained from the :meth:`~io.IOBase.readlines` method of file-like " "objects):" msgstr "" -#: ../../library/difflib.rst:713 +#: ../../library/difflib.rst:715 msgid "Next we instantiate a Differ object:" msgstr "" -#: ../../library/difflib.rst:717 +#: ../../library/difflib.rst:719 msgid "" "Note that when instantiating a :class:`Differ` object we may pass functions " "to filter out line and character \"junk.\" See the :meth:`Differ` " "constructor for details." msgstr "" -#: ../../library/difflib.rst:721 +#: ../../library/difflib.rst:723 msgid "Finally, we compare the two:" msgstr "" -#: ../../library/difflib.rst:725 +#: ../../library/difflib.rst:727 msgid "``result`` is a list of strings, so let's pretty-print it:" msgstr "" -#: ../../library/difflib.rst:740 +#: ../../library/difflib.rst:742 msgid "As a single multi-line string it looks like this:" msgstr "" -#: ../../library/difflib.rst:759 +#: ../../library/difflib.rst:761 msgid "A command-line interface to difflib" msgstr "" -#: ../../library/difflib.rst:761 +#: ../../library/difflib.rst:763 msgid "" "This example shows how to use difflib to create a ``diff``-like utility. It " "is also contained in the Python source distribution, as :file:`Tools/scripts/" diff --git a/library/dis.po b/library/dis.po index bc9e219ce..0f442bfe5 100644 --- a/library/dis.po +++ b/library/dis.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Julia Rizza , 2022 -# Marco Rougeth , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,9 +38,9 @@ msgid "" "is defined in the file :file:`Include/opcode.h` and used by the compiler and " "the interpreter." msgstr "" -"O módulo :mod:`dis` oferece suporte à análise dos termos :term:`bytecode` do " +"O módulo :mod:`dis` oferece suporte à análise de :term:`bytecode` do " "CPython, desmontando-o. O bytecode do CPython que o módulo leva como entrada " -"é definido no arquivo :file:`Incluir/opcode.h` e usado pelo compilador e " +"é definido no arquivo :file:`Include/opcode.h` e usado pelo compilador e " "pelo interpretador." #: ../../library/dis.rst:24 @@ -54,34 +50,43 @@ msgid "" "between versions of Python. Use of this module should not be considered to " "work across Python VMs or Python releases." msgstr "" -"O bytecode é um detalhe de implementação do interpretador do CPython. Não há " -"garantias de que o bytecode não será adicionado, removido ou alterado entre " -"as versões do Python. O uso deste módulo não deve ser considerado que " -"funcionará em todas as VMs do Python ou mesmo em versões do Python." +"O bytecode é um detalhe de implementação do interpretador CPython. Não há " +"garantias de que bytecodes não serão adicionados, removidos ou alterados " +"entre as versões do Python. O uso deste módulo não deve ser considerado que " +"funcionará em todas as VMs do Python ou mesmo versões do Python." #: ../../library/dis.rst:29 msgid "" "Use 2 bytes for each instruction. Previously the number of bytes varied by " "instruction." msgstr "" -"Use 2 bytes para cada instrução. Anteriormente, o número de bytes variava de " -"acordo com as instruções." +"Cada instrução ocupa 2 bytes. Anteriormente, o número de bytes variava de " +"acordo com a instrução." #: ../../library/dis.rst:33 msgid "" "The argument of jump, exception handling and loop instructions is now the " "instruction offset rather than the byte offset." msgstr "" +"O argumento para instruções de pulo, tratamento de exceção e laço é agora o " +"deslocamento em instruções, ao invés de em bytes." #: ../../library/dis.rst:37 msgid "" "Some instructions are accompanied by one or more inline cache entries, which " "take the form of :opcode:`CACHE` instructions. These instructions are hidden " -"by default, but can be shown by passing ``show_caches=True`` to any :mod:" -"`dis` utility. Furthermore, the interpreter now adapts the bytecode to " -"specialize it for different runtime conditions. The adaptive bytecode can be " -"shown by passing ``adaptive=True``." -msgstr "" +"by default, but can be shown by passing ``show_caches=True`` to " +"any :mod:`dis` utility. Furthermore, the interpreter now adapts the bytecode " +"to specialize it for different runtime conditions. The adaptive bytecode can " +"be shown by passing ``adaptive=True``." +msgstr "" +"Algumas instruções vêm acompanhadas de uma ou mais entradas de cache em " +"linha, as quais assumem a forma de instruções :opcode:`CACHE`. Tais " +"instruções são escondidas por padrão, mas podem ser visualizadas passando " +"``show_caches=True`` para qualquer utilidade do :mod:`dis`. Além disso, o " +"interpretador agora adapta o bytecode para especializá-lo a diferentes " +"condições de tempo de execução. O bytecode adaptativo pode ser visualizado " +"passando ``adaptive=True``." #: ../../library/dis.rst:46 msgid "Example: Given the function :func:`myfunc`::" @@ -89,159 +94,226 @@ msgstr "Exemplo: Dada a função :func:`myfunc`::" #: ../../library/dis.rst:51 msgid "" -"the following command can be used to display the disassembly of :func:" -"`myfunc`:" +"the following command can be used to display the disassembly " +"of :func:`myfunc`:" msgstr "" #: ../../library/dis.rst:65 msgid "(The \"2\" is a line number)." -msgstr "(O \"2\" é um número da linha)." +msgstr "(O \"2\" é o número da linha)." -#: ../../library/dis.rst:68 -msgid "Bytecode analysis" -msgstr "Analise do Bytecode" +#: ../../library/dis.rst:70 +msgid "Command-line interface" +msgstr "Interface de linha de comando" #: ../../library/dis.rst:72 +msgid "The :mod:`dis` module can be invoked as a script from the command line:" +msgstr "" +"O módulo :mod:`dis` pode ser invocado como um script na linha de comando:" + +#: ../../library/dis.rst:78 +msgid "The following options are accepted:" +msgstr "As seguintes opções são aceitas:" + +#: ../../library/dis.rst:84 +msgid "Display usage and exit." +msgstr "Exibe o modo de uso e sai." + +#: ../../library/dis.rst:88 +msgid "Show inline caches." +msgstr "Mostra caches em linha" + +#: ../../library/dis.rst:90 msgid "" -"The bytecode analysis API allows pieces of Python code to be wrapped in a :" -"class:`Bytecode` object that provides easy access to details of the compiled " -"code." +"If :file:`infile` is specified, its disassembled code will be written to " +"stdout. Otherwise, disassembly is performed on compiled source code recieved " +"from stdin." +msgstr "" + +#: ../../library/dis.rst:94 +msgid "Bytecode analysis" +msgstr "Análise de bytecode" + +#: ../../library/dis.rst:98 +msgid "" +"The bytecode analysis API allows pieces of Python code to be wrapped in " +"a :class:`Bytecode` object that provides easy access to details of the " +"compiled code." msgstr "" "A API de análise de bytecode permite que partes do código Python sejam " -"Wrapped em um objeto da :class:`Bytecode` que facilite o acesso aos detalhes " -"do código compilado." +"encapsuladas em um objeto :class:`Bytecode` que facilite o acesso aos " +"detalhes do código compilado." -#: ../../library/dis.rst:79 +#: ../../library/dis.rst:105 msgid "" "Analyse the bytecode corresponding to a function, generator, asynchronous " "generator, coroutine, method, string of source code, or a code object (as " "returned by :func:`compile`)." msgstr "" +"Analisa o bytecode correspondente a uma função, um gerador, um gerador " +"assíncrono, uma corrotina, um método, uma string de código-fonte, ou um " +"objeto de código (conforme retornado por :func:`compile`)." -#: ../../library/dis.rst:83 +#: ../../library/dis.rst:109 msgid "" "This is a convenience wrapper around many of the functions listed below, " "most notably :func:`get_instructions`, as iterating over a :class:`Bytecode` " "instance yields the bytecode operations as :class:`Instruction` instances." msgstr "" -"Este é um Wrapper de conveniência em torno de muitas das funções listadas " -"abaixo, mais notavelmente a funçõa :func:`get_instructions`, como iterando " -"sobre uma instância :class:`Bytecode` produz as operações bytecode como nas " -"instância :class:`Instruction`." +"Esta é um invólucro de conveniência que encapsula muitas das funções " +"listadas abaixo, principalmente a :func:`get_instructions`, já que iterar " +"sobre sobre uma instância de :class:`Bytecode` produz operações bytecode " +"como instâncias de :class:`Instruction`." -#: ../../library/dis.rst:87 ../../library/dis.rst:276 +#: ../../library/dis.rst:113 ../../library/dis.rst:302 msgid "" "If *first_line* is not ``None``, it indicates the line number that should be " "reported for the first source line in the disassembled code. Otherwise, the " "source line information (if any) is taken directly from the disassembled " "code object." msgstr "" +"Se *first_line* não for ``None``, ele indica o número de linha que deve ser " +"reportado para a primeira linha de código-fonte no código desmontado. Caso " +"contrário, a informação de linha de código-fonte (se houver) é extraída " +"diretamente da desconstrução do objeto de código." -#: ../../library/dis.rst:92 +#: ../../library/dis.rst:118 msgid "" "If *current_offset* is not ``None``, it refers to an instruction offset in " "the disassembled code. Setting this means :meth:`.dis` will display a " "\"current instruction\" marker against the specified opcode." msgstr "" +"Se *current_offset* não for ``None``, ele é um deslocamento em instruções no " +"código desconstruído. Definir este argumento significa que o :meth:`.dis` " +"vai mostrar um marcador de \"instrução atual\" sobre o opcode especificado." -#: ../../library/dis.rst:96 +#: ../../library/dis.rst:122 msgid "" "If *show_caches* is ``True``, :meth:`.dis` will display inline cache entries " "used by the interpreter to specialize the bytecode." msgstr "" +"Se *show_caches* for ``True``, o :meth:`.dis` vai exibir entradas de cache " +"em linha usadas pelo interpretador para especializar o bytecode." -#: ../../library/dis.rst:99 +#: ../../library/dis.rst:125 msgid "" "If *adaptive* is ``True``, :meth:`.dis` will display specialized bytecode " "that may be different from the original bytecode." msgstr "" +"Se *adaptive* for ``True``, o :meth:`.dis` vai exibir bytecode especializado " +"que pode ser diferente do bytecode original." -#: ../../library/dis.rst:104 +#: ../../library/dis.rst:130 msgid "" "Construct a :class:`Bytecode` instance from the given traceback, setting " "*current_offset* to the instruction responsible for the exception." msgstr "" +"Constrói uma instância de :class:`Bytecode` a partir do traceback fornecido, " +"definindo *current_offset* apontando para a instrução responsável pela " +"exceção." -#: ../../library/dis.rst:109 +#: ../../library/dis.rst:135 msgid "The compiled code object." -msgstr "" +msgstr "O objeto de código compilado." -#: ../../library/dis.rst:113 +#: ../../library/dis.rst:139 msgid "The first source line of the code object (if available)" msgstr "" +"A primeira linha de código-fonte do objeto de código (caso disponível)." -#: ../../library/dis.rst:117 +#: ../../library/dis.rst:143 msgid "" -"Return a formatted view of the bytecode operations (the same as printed by :" -"func:`dis.dis`, but returned as a multi-line string)." +"Return a formatted view of the bytecode operations (the same as printed " +"by :func:`dis.dis`, but returned as a multi-line string)." msgstr "" +"Retorna uma visualização formatada das operações em bytecode (as mesmas que " +"seriam impressas pela :func:`dis.dis`, mas retornadas como uma string " +"multilinha)." -#: ../../library/dis.rst:122 +#: ../../library/dis.rst:148 msgid "" "Return a formatted multi-line string with detailed information about the " "code object, like :func:`code_info`." msgstr "" +"Retorna uma string multilinha formatada com informação detalhada sobre o " +"objeto de código, como :func:`code_info`." -#: ../../library/dis.rst:125 ../../library/dis.rst:166 -#: ../../library/dis.rst:218 +#: ../../library/dis.rst:151 ../../library/dis.rst:192 +#: ../../library/dis.rst:244 msgid "This can now handle coroutine and asynchronous generator objects." msgstr "" +"Este método agora lida com objetos de corrotina e de gerador assíncrono." -#: ../../library/dis.rst:128 ../../library/dis.rst:221 -#: ../../library/dis.rst:237 ../../library/dis.rst:264 -#: ../../library/dis.rst:285 +#: ../../library/dis.rst:154 ../../library/dis.rst:247 +#: ../../library/dis.rst:263 ../../library/dis.rst:290 +#: ../../library/dis.rst:311 msgid "Added the *show_caches* and *adaptive* parameters." -msgstr "" +msgstr "Adicionados os parâmetros *show_caches* e *adaptive*." -#: ../../library/dis.rst:131 +#: ../../library/dis.rst:157 msgid "Example:" msgstr "Exemplo:" -#: ../../library/dis.rst:148 +#: ../../library/dis.rst:174 msgid "Analysis functions" -msgstr "" +msgstr "Funções de análise" -#: ../../library/dis.rst:150 +#: ../../library/dis.rst:176 msgid "" "The :mod:`dis` module also defines the following analysis functions that " "convert the input directly to the desired output. They can be useful if only " "a single operation is being performed, so the intermediate analysis object " "isn't useful:" msgstr "" +"O módulo :mod:`dis` também define as seguintes funções que convertem a " +"entrada diretamente para a saída desejada. Elas podem ser úteis se somente " +"uma única operação está sendo feita, de forma que o objeto de análise " +"intermediário não é útil:" -#: ../../library/dis.rst:156 +#: ../../library/dis.rst:182 msgid "" "Return a formatted multi-line string with detailed code object information " "for the supplied function, generator, asynchronous generator, coroutine, " "method, source code string or code object." msgstr "" +"Retorna uma string multilinha formatada com informação detalhada sobre o " +"objeto de código correspondente à função, gerador, gerador assíncrono, " +"corrotina, método, string de código-fonte ou objeto de código fornecido." -#: ../../library/dis.rst:160 +#: ../../library/dis.rst:186 msgid "" "Note that the exact contents of code info strings are highly implementation " "dependent and they may change arbitrarily across Python VMs or Python " "releases." msgstr "" +"Observe que o conteúdo exato de strings de informação de código são " +"altamente dependentes da implementação e podem mudar de forma arbitrária " +"através de VMs Python ou lançamentos do Python." -#: ../../library/dis.rst:172 +#: ../../library/dis.rst:198 msgid "" "Print detailed code object information for the supplied function, method, " "source code string or code object to *file* (or ``sys.stdout`` if *file* is " "not specified)." msgstr "" +"Imprime no arquivo *file* (ou ``sys.stdout`` caso *file* não seja " +"especificado) informações detalhadas sobre o objeto de código correspondente " +"à função, método, string de código-fonte fornecido." -#: ../../library/dis.rst:176 +#: ../../library/dis.rst:202 msgid "" "This is a convenient shorthand for ``print(code_info(x), file=file)``, " "intended for interactive exploration at the interpreter prompt." msgstr "" +"Este é um atalho conveniente para ``print(code_info(x), file=file)``, " +"destinado à exploração interativa no prompt do interpretador." -#: ../../library/dis.rst:181 ../../library/dis.rst:212 -#: ../../library/dis.rst:234 ../../library/dis.rst:261 +#: ../../library/dis.rst:207 ../../library/dis.rst:238 +#: ../../library/dis.rst:260 ../../library/dis.rst:287 msgid "Added *file* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *file*." -#: ../../library/dis.rst:187 +#: ../../library/dis.rst:213 msgid "" "Disassemble the *x* object. *x* can denote either a module, a class, a " "method, a function, a generator, an asynchronous generator, a coroutine, a " @@ -251,307 +323,370 @@ msgid "" "of raw bytecode, it prints one line per bytecode instruction. It also " "recursively disassembles nested code objects (the code of comprehensions, " "generator expressions and nested functions, and the code used for building " -"nested classes). Strings are first compiled to code objects with the :func:" -"`compile` built-in function before being disassembled. If no object is " -"provided, this function disassembles the last traceback." +"nested classes). Strings are first compiled to code objects with " +"the :func:`compile` built-in function before being disassembled. If no " +"object is provided, this function disassembles the last traceback." msgstr "" -#: ../../library/dis.rst:200 ../../library/dis.rst:231 -#: ../../library/dis.rst:258 +#: ../../library/dis.rst:226 ../../library/dis.rst:257 +#: ../../library/dis.rst:284 msgid "" "The disassembly is written as text to the supplied *file* argument if " "provided and to ``sys.stdout`` otherwise." msgstr "" +"O resultado é escrito como texto no arquivo *file* caso tenha sido fornecido " +"como argumento, ou para ``sys.stdout`` caso contrário." -#: ../../library/dis.rst:203 +#: ../../library/dis.rst:229 msgid "" "The maximal depth of recursion is limited by *depth* unless it is ``None``. " "``depth=0`` means no recursion." msgstr "" +"A profundidade máxima de recursão é limitada por *depth* a menos que seja " +"``None``. ``depth=0`` significa não fazer recursão." -#: ../../library/dis.rst:206 +#: ../../library/dis.rst:232 msgid "" "If *show_caches* is ``True``, this function will display inline cache " "entries used by the interpreter to specialize the bytecode." msgstr "" +"Se *show_caches* for ``True``, essa função vai exibir entradas de cache em " +"linha usadas pelo interpretador para especializar o bytecode." -#: ../../library/dis.rst:209 +#: ../../library/dis.rst:235 msgid "" "If *adaptive* is ``True``, this function will display specialized bytecode " "that may be different from the original bytecode." msgstr "" +"Se *adaptive* for ``True``, essa função vai exibir bytecode especializado " +"que pode ser diferente do bytecode original." -#: ../../library/dis.rst:215 +#: ../../library/dis.rst:241 msgid "Implemented recursive disassembling and added *depth* parameter." msgstr "" +"Foi implementada a desmontagem recursiva, e adicionado o parâmetro *depth*." -#: ../../library/dis.rst:227 +#: ../../library/dis.rst:253 msgid "" "Disassemble the top-of-stack function of a traceback, using the last " "traceback if none was passed. The instruction causing the exception is " "indicated." msgstr "" +"Desmonta a função no topo da pilha de um traceback, usando o último " +"traceback caso nenhum tenha sido passado. A instrução que causou a exceção " +"é indicada." -#: ../../library/dis.rst:244 +#: ../../library/dis.rst:270 msgid "" "Disassemble a code object, indicating the last instruction if *lasti* was " "provided. The output is divided in the following columns:" msgstr "" +"Desmonta um objeto de código, indicando a última instrução se *lasti* tiver " +"sido fornecido. A saída é dividida em colunas da seguinte forma:" -#: ../../library/dis.rst:247 +#: ../../library/dis.rst:273 msgid "the line number, for the first instruction of each line" -msgstr "" +msgstr "o número da linha, para a primeira instrução de cada linha" -#: ../../library/dis.rst:248 +#: ../../library/dis.rst:274 msgid "the current instruction, indicated as ``-->``," -msgstr "" +msgstr "a instrução atual, indicada por ``-->``," -#: ../../library/dis.rst:249 +#: ../../library/dis.rst:275 msgid "a labelled instruction, indicated with ``>>``," -msgstr "" +msgstr "um rótulo da instrução, indicado com ``>>``," -#: ../../library/dis.rst:250 +#: ../../library/dis.rst:276 msgid "the address of the instruction," -msgstr "" +msgstr "o endereço da instrução" -#: ../../library/dis.rst:251 +#: ../../library/dis.rst:277 msgid "the operation code name," -msgstr "" +msgstr "o nome do código da operação," -#: ../../library/dis.rst:252 +#: ../../library/dis.rst:278 msgid "operation parameters, and" -msgstr "" +msgstr "os parâmetros da operação, e" -#: ../../library/dis.rst:253 +#: ../../library/dis.rst:279 msgid "interpretation of the parameters in parentheses." -msgstr "" +msgstr "a interpretação dos parâmetros, em parênteses." -#: ../../library/dis.rst:255 +#: ../../library/dis.rst:281 msgid "" "The parameter interpretation recognizes local and global variable names, " "constant values, branch targets, and compare operators." msgstr "" +"A interpretação dos parâmetros reconhece nomes de variáveis locais e " +"globais, valores de constantes, alvos de ramificações, e operadores de " +"comparação." -#: ../../library/dis.rst:270 +#: ../../library/dis.rst:296 msgid "" "Return an iterator over the instructions in the supplied function, method, " "source code string or code object." msgstr "" +"Retorna um iterador sobre as instruções na função, método, string de código-" +"fonte ou objeto de código fornecido." -#: ../../library/dis.rst:273 +#: ../../library/dis.rst:299 msgid "" "The iterator generates a series of :class:`Instruction` named tuples giving " "the details of each operation in the supplied code." msgstr "" +"O iterador gera uma série de tuplas nomeadas :class:`Instruction` contendo " +"detalhes de cada operação no código fornecido." -#: ../../library/dis.rst:281 +#: ../../library/dis.rst:307 msgid "" "The *show_caches* and *adaptive* parameters work as they do in :func:`dis`." msgstr "" -#: ../../library/dis.rst:291 +#: ../../library/dis.rst:317 msgid "" -"This generator function uses the ``co_lines`` method of the code object " -"*code* to find the offsets which are starts of lines in the source code. " -"They are generated as ``(offset, lineno)`` pairs." +"This generator function uses the :meth:`~codeobject.co_lines` method of " +"the :ref:`code object ` *code* to find the offsets which are " +"starts of lines in the source code. They are generated as ``(offset, " +"lineno)`` pairs." msgstr "" +"Essa função geradora usa o método :meth:`~codeobject.co_lines` " +"do :ref:`objeto de código ` *code* para encontrar as posições " +"que correspondem aos inícios de cada linha do código-fonte. Elas são " +"geradas em pares ``(offset, lineno)``." -#: ../../library/dis.rst:295 +#: ../../library/dis.rst:322 msgid "Line numbers can be decreasing. Before, they were always increasing." msgstr "" +"Números de linhas podem ser decrescentes. Antes, eles eram sempre crescentes." -#: ../../library/dis.rst:298 +#: ../../library/dis.rst:325 msgid "" -"The :pep:`626` ``co_lines`` method is used instead of the ``co_firstlineno`` " -"and ``co_lnotab`` attributes of the code object." +"The :pep:`626` :meth:`~codeobject.co_lines` method is used instead of " +"the :attr:`~codeobject.co_firstlineno` and :attr:`~codeobject.co_lnotab` " +"attributes of the :ref:`code object `." msgstr "" +"O método :meth:`~codeobject.co_lines` da :pep:`626` é usado ao invés dos " +"atributos :attr:`~codeobject.co_firstlineno` e :attr:`~codeobject.co_lnotab` " +"do :ref:`objeto de código `." -#: ../../library/dis.rst:305 +#: ../../library/dis.rst:333 msgid "" "Detect all offsets in the raw compiled bytecode string *code* which are jump " "targets, and return a list of these offsets." msgstr "" +"Detecta todas as posições na string de bytecode compilado bruto *code* que " +"são alvos de pulos, e as retorna em uma lista." -#: ../../library/dis.rst:311 +#: ../../library/dis.rst:339 msgid "Compute the stack effect of *opcode* with argument *oparg*." -msgstr "" +msgstr "Calcula o efeito que o *opcode* com argumento *oparg* tem na pilha." -#: ../../library/dis.rst:313 +#: ../../library/dis.rst:341 msgid "" "If the code has a jump target and *jump* is ``True``, :func:`~stack_effect` " "will return the stack effect of jumping. If *jump* is ``False``, it will " "return the stack effect of not jumping. And if *jump* is ``None`` (default), " "it will return the maximal stack effect of both cases." msgstr "" +"Se a operação tiver um alvo de pulo e *jump* for " +"``True``, :func:`~stack_effect` vai retornar o efeito na pilha de realizar o " +"pulo. Se *jump* for ``False``, ela vai retornar o efeito na pilha de não " +"pular. E se *jump* for ``None`` (o padrão), vai retornar o efeito máximo na " +"pilha dentre os dois casos." -#: ../../library/dis.rst:320 +#: ../../library/dis.rst:348 msgid "Added *jump* parameter." msgstr "Adicionado o parâmetro *jump*." -#: ../../library/dis.rst:327 +#: ../../library/dis.rst:355 msgid "Python Bytecode Instructions" -msgstr "" +msgstr "Instruções em bytecode do Python" -#: ../../library/dis.rst:329 +#: ../../library/dis.rst:357 msgid "" "The :func:`get_instructions` function and :class:`Bytecode` class provide " "details of bytecode instructions as :class:`Instruction` instances:" msgstr "" +"A função :func:`get_instructions` e a classe :class:`Bytecode` fornecem " +"detalhes de instruções de bytecode como instâncias de :class:`Instruction`:" -#: ../../library/dis.rst:334 +#: ../../library/dis.rst:362 msgid "Details for a bytecode operation" -msgstr "" +msgstr "Detalhes de uma operação em bytecode" -#: ../../library/dis.rst:338 +#: ../../library/dis.rst:366 msgid "" "numeric code for operation, corresponding to the opcode values listed below " "and the bytecode values in the :ref:`opcode_collections`." msgstr "" +"código numérico da operação, correspondendo aos valores dos opcodes listados " +"abaixo e aos valores dos bytecodes nas :ref:`opcode_collections`." -#: ../../library/dis.rst:344 +#: ../../library/dis.rst:372 msgid "human readable name for operation" -msgstr "" +msgstr "nome legível por humanos para a operação" -#: ../../library/dis.rst:349 +#: ../../library/dis.rst:377 msgid "numeric argument to operation (if any), otherwise ``None``" msgstr "" +"argumento numérico para a operação (se houver), caso contrário ``None``" -#: ../../library/dis.rst:354 +#: ../../library/dis.rst:382 msgid "resolved arg value (if any), otherwise ``None``" -msgstr "" +msgstr "valor resolvido do argumento (se houver), caso contrário ``None``" -#: ../../library/dis.rst:359 +#: ../../library/dis.rst:387 msgid "" "human readable description of operation argument (if any), otherwise an " "empty string." msgstr "" +"descrição legível por humanos do argumento da operação (se houver), caso " +"contrário uma string vazia." -#: ../../library/dis.rst:365 +#: ../../library/dis.rst:393 msgid "start index of operation within bytecode sequence" -msgstr "" +msgstr "índice de início da operação dentro da sequência de bytecodes" -#: ../../library/dis.rst:370 +#: ../../library/dis.rst:398 msgid "line started by this opcode (if any), otherwise ``None``" msgstr "" -#: ../../library/dis.rst:375 +#: ../../library/dis.rst:403 msgid "``True`` if other code jumps to here, otherwise ``False``" -msgstr "" +msgstr "``True`` se algum outro código pula para cá, senão ``False``" -#: ../../library/dis.rst:380 +#: ../../library/dis.rst:408 msgid "" ":class:`dis.Positions` object holding the start and end locations that are " "covered by this instruction." msgstr "" +"objeto :class:`dis.Positions` contendo os pontos de início e fim cobertos " +"por esta instrução." -#: ../../library/dis.rst:387 +#: ../../library/dis.rst:415 msgid "Field ``positions`` is added." -msgstr "" +msgstr "Adicionado o campo ``positions``." -#: ../../library/dis.rst:392 +#: ../../library/dis.rst:420 msgid "" "In case the information is not available, some fields might be ``None``." msgstr "" +"Caso a informação não esteja disponível, alguns campos podem ser ``None``." -#: ../../library/dis.rst:402 +#: ../../library/dis.rst:430 msgid "" "The Python compiler currently generates the following bytecode instructions." msgstr "" +"O compilador de Python atualmente gera as seguintes instruções de bytecode." -#: ../../library/dis.rst:405 +#: ../../library/dis.rst:433 msgid "**General instructions**" -msgstr "" +msgstr "**Instruções gerais**" -#: ../../library/dis.rst:409 +#: ../../library/dis.rst:437 msgid "" "Do nothing code. Used as a placeholder by the bytecode optimizer, and to " "generate line tracing events." msgstr "" +"Código para não fazer nada. Usado como espaço reservado pelo otimizador de " +"bytecode, e para gerar eventos de rastreamento de linha." -#: ../../library/dis.rst:415 +#: ../../library/dis.rst:443 msgid "Removes the top-of-stack (TOS) item." msgstr "" -#: ../../library/dis.rst:420 +#: ../../library/dis.rst:448 msgid "" "Push the *i*-th item to the top of the stack. The item is not removed from " "its original location." msgstr "" -#: ../../library/dis.rst:428 +#: ../../library/dis.rst:456 msgid "Swap TOS with the item at position *i*." msgstr "" -#: ../../library/dis.rst:435 +#: ../../library/dis.rst:463 msgid "" "Rather than being an actual instruction, this opcode is used to mark extra " "space for the interpreter to cache useful data directly in the bytecode " "itself. It is automatically hidden by all ``dis`` utilities, but can be " "viewed with ``show_caches=True``." msgstr "" +"Ao invés de ser uma instrução de fato, este opcode é usado para demarcar " +"espaço extra para o interpretador armazenar dados úteis diretamente no " +"próprio bytecode. É escondido automaticamente por todas as utilidades do " +"``dis``, mas pode ser visualizado com ``show_caches=True``." -#: ../../library/dis.rst:440 +#: ../../library/dis.rst:468 msgid "" "Logically, this space is part of the preceding instruction. Many opcodes " "expect to be followed by an exact number of caches, and will instruct the " "interpreter to skip over them at runtime." msgstr "" +"Do ponto de vista lógico, este espaço faz parte da instrução anterior. " +"Muitos opcodes esperam ser seguidos por um número exato de caches, e " +"instruem o interpretador a pulá-los em tempo de execução." -#: ../../library/dis.rst:444 +#: ../../library/dis.rst:472 msgid "" "Populated caches can look like arbitrary instructions, so great care should " "be taken when reading or modifying raw, adaptive bytecode containing " "quickened data." msgstr "" +"Caches populados podem se parecer com qualquer instrução, de forma que ler " +"ou modificar bytecode adaptativo bruto contendo dados \"quickened\" requer " +"muito cuidado." -#: ../../library/dis.rst:451 +#: ../../library/dis.rst:479 msgid "**Unary operations**" -msgstr "" +msgstr "**Operações unárias**" -#: ../../library/dis.rst:453 +#: ../../library/dis.rst:481 msgid "" "Unary operations take the top of the stack, apply the operation, and push " "the result back on the stack." msgstr "" +"Operações unárias tiram o topo da pilha, aplicam a operação, e põem o " +"resultado de volta na pilha." -#: ../../library/dis.rst:458 +#: ../../library/dis.rst:486 msgid "Implements ``TOS = +TOS``." msgstr "" -#: ../../library/dis.rst:463 +#: ../../library/dis.rst:491 msgid "Implements ``TOS = -TOS``." msgstr "" -#: ../../library/dis.rst:468 +#: ../../library/dis.rst:496 msgid "Implements ``TOS = not TOS``." msgstr "" -#: ../../library/dis.rst:473 +#: ../../library/dis.rst:501 msgid "Implements ``TOS = ~TOS``." msgstr "Implementação ``TOS = ~TOS``." -#: ../../library/dis.rst:478 +#: ../../library/dis.rst:506 msgid "Implements ``TOS = iter(TOS)``." msgstr "Implementa ``TOS = iter(TOS)``." -#: ../../library/dis.rst:483 +#: ../../library/dis.rst:511 msgid "" "If ``TOS`` is a :term:`generator iterator` or :term:`coroutine` object it is " "left as is. Otherwise, implements ``TOS = iter(TOS)``." msgstr "" -#: ../../library/dis.rst:489 +#: ../../library/dis.rst:517 msgid "**Binary and in-place operations**" -msgstr "" +msgstr "**Operações binárias e internas**" -#: ../../library/dis.rst:491 +#: ../../library/dis.rst:519 msgid "" "Binary operations remove the top of the stack (TOS) and the second top-most " "stack item (TOS1) from the stack. They perform the operation, and put the " "result back on the stack." msgstr "" -#: ../../library/dis.rst:495 +#: ../../library/dis.rst:523 msgid "" "In-place operations are like binary operations, in that they remove TOS and " "TOS1, and push the result back on the stack, but the operation is done in-" @@ -559,189 +694,213 @@ msgid "" "to be) the original TOS1." msgstr "" -#: ../../library/dis.rst:503 +#: ../../library/dis.rst:531 msgid "" "Implements the binary and in-place operators (depending on the value of " "*op*)." msgstr "" -#: ../../library/dis.rst:511 +#: ../../library/dis.rst:539 msgid "Implements ``TOS = TOS1[TOS]``." msgstr "" -#: ../../library/dis.rst:516 +#: ../../library/dis.rst:544 msgid "Implements ``TOS1[TOS] = TOS2``." msgstr "" -#: ../../library/dis.rst:521 +#: ../../library/dis.rst:549 msgid "Implements ``del TOS1[TOS]``." msgstr "" -#: ../../library/dis.rst:524 +#: ../../library/dis.rst:552 msgid "**Coroutine opcodes**" -msgstr "" +msgstr "**Opcodes para corrotinas**" -#: ../../library/dis.rst:528 +#: ../../library/dis.rst:556 msgid "" "Implements ``TOS = get_awaitable(TOS)``, where ``get_awaitable(o)`` returns " "``o`` if ``o`` is a coroutine object or a generator object with the " "CO_ITERABLE_COROUTINE flag, or resolves ``o.__await__``." msgstr "" -#: ../../library/dis.rst:533 +#: ../../library/dis.rst:561 msgid "" "If the ``where`` operand is nonzero, it indicates where the instruction " "occurs:" msgstr "" +"Se o operando ``where`` não for zero, ele indica onde a instrução ocorre:" -#: ../../library/dis.rst:536 +#: ../../library/dis.rst:564 msgid "``1`` After a call to ``__aenter__``" msgstr "" -#: ../../library/dis.rst:537 +#: ../../library/dis.rst:565 msgid "``2`` After a call to ``__aexit__``" msgstr "" -#: ../../library/dis.rst:541 +#: ../../library/dis.rst:569 msgid "Previously, this instruction did not have an oparg." -msgstr "" +msgstr "Anteriormente, esta instrução não tinha um oparg." -#: ../../library/dis.rst:547 +#: ../../library/dis.rst:575 msgid "Implements ``TOS = TOS.__aiter__()``." msgstr "" -#: ../../library/dis.rst:550 +#: ../../library/dis.rst:578 msgid "Returning awaitable objects from ``__aiter__`` is no longer supported." -msgstr "" +msgstr "Não é mais aceitado que o ``__aiter__`` retorne objetos aguardáveis." -#: ../../library/dis.rst:557 +#: ../../library/dis.rst:585 msgid "" "Pushes ``get_awaitable(TOS.__anext__())`` to the stack. See " "``GET_AWAITABLE`` for details about ``get_awaitable``." msgstr "" -#: ../../library/dis.rst:565 +#: ../../library/dis.rst:593 msgid "" "Terminates an :keyword:`async for` loop. Handles an exception raised when " "awaiting a next item. The stack contains the async iterable in TOS1 and the " -"raised exception in TOS. Both are popped. If the exception is not :exc:" -"`StopAsyncIteration`, it is re-raised." +"raised exception in TOS. Both are popped. If the exception is " +"not :exc:`StopAsyncIteration`, it is re-raised." msgstr "" -#: ../../library/dis.rst:572 ../../library/dis.rst:650 -#: ../../library/dis.rst:661 +#: ../../library/dis.rst:600 ../../library/dis.rst:678 +#: ../../library/dis.rst:689 msgid "" "Exception representation on the stack now consist of one, not three, items." msgstr "" +"A representação da exceção na pilha consiste agora de um item, ao invés de " +"três." -#: ../../library/dis.rst:577 +#: ../../library/dis.rst:605 msgid "" "Resolves ``__aenter__`` and ``__aexit__`` from the object on top of the " "stack. Pushes ``__aexit__`` and result of ``__aenter__()`` to the stack." msgstr "" -#: ../../library/dis.rst:584 +#: ../../library/dis.rst:612 msgid "**Miscellaneous opcodes**" -msgstr "" +msgstr "**Opcodes genéricos**" -#: ../../library/dis.rst:588 +#: ../../library/dis.rst:616 msgid "" "Implements the expression statement for the interactive mode. TOS is " "removed from the stack and printed. In non-interactive mode, an expression " "statement is terminated with :opcode:`POP_TOP`." msgstr "" -#: ../../library/dis.rst:595 +#: ../../library/dis.rst:623 msgid "" "Calls ``set.add(TOS1[-i], TOS)``. Used to implement set comprehensions." msgstr "" -#: ../../library/dis.rst:600 +#: ../../library/dis.rst:628 msgid "" "Calls ``list.append(TOS1[-i], TOS)``. Used to implement list comprehensions." msgstr "" -#: ../../library/dis.rst:605 +#: ../../library/dis.rst:633 msgid "" "Calls ``dict.__setitem__(TOS1[-i], TOS1, TOS)``. Used to implement dict " "comprehensions." msgstr "" -#: ../../library/dis.rst:609 +#: ../../library/dis.rst:637 msgid "Map value is TOS and map key is TOS1. Before, those were reversed." msgstr "" -#: ../../library/dis.rst:612 +#: ../../library/dis.rst:640 msgid "" -"For all of the :opcode:`SET_ADD`, :opcode:`LIST_APPEND` and :opcode:" -"`MAP_ADD` instructions, while the added value or key/value pair is popped " -"off, the container object remains on the stack so that it is available for " -"further iterations of the loop." +"For all of the :opcode:`SET_ADD`, :opcode:`LIST_APPEND` " +"and :opcode:`MAP_ADD` instructions, while the added value or key/value pair " +"is popped off, the container object remains on the stack so that it is " +"available for further iterations of the loop." msgstr "" +"Para as instruções :opcode:`SET_ADD`, :opcode:`LIST_APPEND` " +"e :opcode:`MAP_ADD`, o valor ou par chave/valor é removido da pilha, mas o " +"objeto de contêiner continua na pilha para que ele esteja disponível para as " +"iterações seguintes do laço." -#: ../../library/dis.rst:620 +#: ../../library/dis.rst:648 msgid "Returns with TOS to the caller of the function." msgstr "" -#: ../../library/dis.rst:625 +#: ../../library/dis.rst:653 msgid "Pops TOS and yields it from a :term:`generator`." msgstr "" -#: ../../library/dis.rst:631 +#: ../../library/dis.rst:659 msgid "" "Checks whether ``__annotations__`` is defined in ``locals()``, if not it is " "set up to an empty ``dict``. This opcode is only emitted if a class or " "module body contains :term:`variable annotations ` " "statically." msgstr "" +"Verifica se ``__annotations__`` está definido em ``locals()`` e, se não " +"estiver, é inicializado como um ``dict`` vazio. Este opcode é emitido " +"somente se o corpo de uma classe ou módulo contém :term:`anotações de " +"variáveis ` estaticamente." -#: ../../library/dis.rst:641 +#: ../../library/dis.rst:669 msgid "" "Loads all symbols not starting with ``'_'`` directly from the module TOS to " "the local namespace. The module is popped after loading all names. This " "opcode implements ``from module import *``." msgstr "" -#: ../../library/dis.rst:648 +#: ../../library/dis.rst:676 msgid "" "Pops a value from the stack, which is used to restore the exception state." msgstr "" +"Remove o valor no topo da pilha, o qual é usado para restaurar o estado de " +"exceção." -#: ../../library/dis.rst:655 +#: ../../library/dis.rst:683 msgid "" "Re-raises the exception currently on top of the stack. If oparg is non-zero, " -"pops an additional value from the stack which is used to set ``f_lasti`` of " -"the current frame." +"pops an additional value from the stack which is used to " +"set :attr:`~frame.f_lasti` of the current frame." msgstr "" +"Re-levanta a exceção que se encontra no topo da pilha. Se o oparg não for " +"zero, remove um valor adicional do topo da pilha, o qual é atribuído " +"ao :attr:`~frame.f_lasti` do quadro atual." -#: ../../library/dis.rst:666 +#: ../../library/dis.rst:694 msgid "" "Pops a value from the stack. Pushes the current exception to the top of the " "stack. Pushes the value originally popped back to the stack. Used in " "exception handlers." msgstr "" +"Remove um valor do topo da pilha. Põe a exceção atual no topo da pilha. Põe " +"de volta no topo da pilha o valor que foi removido inicialmente. Usado em " +"tratadores de exceções." -#: ../../library/dis.rst:674 +#: ../../library/dis.rst:702 msgid "" "Performs exception matching for ``except``. Tests whether the TOS1 is an " "exception matching TOS. Pops TOS and pushes the boolean result of the test." msgstr "" -#: ../../library/dis.rst:681 +#: ../../library/dis.rst:709 msgid "" "Performs exception matching for ``except*``. Applies ``split(TOS)`` on the " "exception group representing TOS1." msgstr "" -#: ../../library/dis.rst:684 +#: ../../library/dis.rst:712 msgid "" "In case of a match, pops two items from the stack and pushes the non-" "matching subgroup (``None`` in case of full match) followed by the matching " "subgroup. When there is no match, pops one item (the match type) and pushes " "``None``." msgstr "" +"No caso de uma correspondência, remove dois itens do topo da pilha e põe " +"nela o subgrupo que falhou a correspondência (``None`` caso a " +"correspondência tenha sido total), seguido pelo subgrupo que correspondeu. " +"Quando não há correspondência nenhuma, remove um item (o tipo da " +"correspondência) e põe ``None`` no seu lugar." -#: ../../library/dis.rst:693 +#: ../../library/dis.rst:721 msgid "" "Combines the raised and reraised exceptions list from TOS, into an exception " "group to propagate from a try-except* block. Uses the original exception " @@ -750,95 +909,115 @@ msgid "" "there isn't one." msgstr "" -#: ../../library/dis.rst:703 +#: ../../library/dis.rst:731 msgid "" "Calls the function in position 4 on the stack with arguments (type, val, tb) " "representing the exception at the top of the stack. Used to implement the " "call ``context_manager.__exit__(*exc_info())`` when an exception has " "occurred in a :keyword:`with` statement." msgstr "" +"Chama a função na posição 4 da pilha com argumentos (tipo, val, tb) " +"representando a exceção no topo da pilha. Usado para implementar a chamada " +"``context_manager.__exit__(*exc_info())`` quando uma exceção ocorreu em uma " +"instrução :keyword:`with`." -#: ../../library/dis.rst:710 +#: ../../library/dis.rst:738 msgid "" "The ``__exit__`` function is in position 4 of the stack rather than 7. " "Exception representation on the stack now consist of one, not three, items." msgstr "" +"A função ``__exit__`` fica agora na posição 4 pilha, ao invés da 7. A " +"representação da exceção pilha consiste agora de um item, não três." -#: ../../library/dis.rst:717 +#: ../../library/dis.rst:745 msgid "" "Pushes :exc:`AssertionError` onto the stack. Used by the :keyword:`assert` " "statement." msgstr "" +"Põe :exc:`AssertionError` no topo da pilha. Usado pela " +"instrução :keyword:`assert`." -#: ../../library/dis.rst:725 +#: ../../library/dis.rst:753 msgid "" "Pushes :func:`builtins.__build_class__` onto the stack. It is later called " "to construct a class." msgstr "" -#: ../../library/dis.rst:731 +#: ../../library/dis.rst:759 msgid "" "This opcode performs several operations before a with block starts. First, " "it loads :meth:`~object.__exit__` from the context manager and pushes it " -"onto the stack for later use by :opcode:`WITH_EXCEPT_START`. Then, :meth:" -"`~object.__enter__` is called. Finally, the result of calling the " -"``__enter__()`` method is pushed onto the stack." +"onto the stack for later use by :opcode:`WITH_EXCEPT_START`. " +"Then, :meth:`~object.__enter__` is called. Finally, the result of calling " +"the ``__enter__()`` method is pushed onto the stack." msgstr "" +"Este opcode realiza várias operações antes do início de um bloco \"with\". " +"Primeiro, ele carrega o :meth:`~object.__exit__` do gerenciador de contexto " +"e o coloca no topo da pilha para ser usado posteriormente " +"pela :opcode:`WITH_EXCEPT_START`. Então, o método :meth:`~object.__enter__` " +"é chamado. Por fim, o resultado do ``__enter__()`` é posto no topo da pilha." -#: ../../library/dis.rst:742 +#: ../../library/dis.rst:770 msgid "Push ``len(TOS)`` onto the stack." msgstr "" -#: ../../library/dis.rst:749 +#: ../../library/dis.rst:777 msgid "" "If TOS is an instance of :class:`collections.abc.Mapping` (or, more " -"technically: if it has the :const:`Py_TPFLAGS_MAPPING` flag set in its :c:" -"member:`~PyTypeObject.tp_flags`), push ``True`` onto the stack. Otherwise, " -"push ``False``." +"technically: if it has the :c:macro:`Py_TPFLAGS_MAPPING` flag set in " +"its :c:member:`~PyTypeObject.tp_flags`), push ``True`` onto the stack. " +"Otherwise, push ``False``." msgstr "" -#: ../../library/dis.rst:759 +#: ../../library/dis.rst:787 msgid "" "If TOS is an instance of :class:`collections.abc.Sequence` and is *not* an " "instance of :class:`str`/:class:`bytes`/:class:`bytearray` (or, more " -"technically: if it has the :const:`Py_TPFLAGS_SEQUENCE` flag set in its :c:" -"member:`~PyTypeObject.tp_flags`), push ``True`` onto the stack. Otherwise, " -"push ``False``." +"technically: if it has the :c:macro:`Py_TPFLAGS_SEQUENCE` flag set in " +"its :c:member:`~PyTypeObject.tp_flags`), push ``True`` onto the stack. " +"Otherwise, push ``False``." msgstr "" -#: ../../library/dis.rst:769 +#: ../../library/dis.rst:797 msgid "" "TOS is a tuple of mapping keys, and TOS1 is the match subject. If TOS1 " "contains all of the keys in TOS, push a :class:`tuple` containing the " "corresponding values. Otherwise, push ``None``." msgstr "" -#: ../../library/dis.rst:775 ../../library/dis.rst:1320 +#: ../../library/dis.rst:803 ../../library/dis.rst:1353 msgid "" "Previously, this instruction also pushed a boolean value indicating success " "(``True``) or failure (``False``)." msgstr "" +"Anteriormente, essa instrução também colocava na pilha um valor booleano " +"indicando sucesso (``True``) ou falha (``False``)." -#: ../../library/dis.rst:782 +#: ../../library/dis.rst:810 msgid "" -"Implements ``name = TOS``. *namei* is the index of *name* in the attribute :" -"attr:`co_names` of the code object. The compiler tries to use :opcode:" -"`STORE_FAST` or :opcode:`STORE_GLOBAL` if possible." +"Implements ``name = TOS``. *namei* is the index of *name* in the " +"attribute :attr:`~codeobject.co_names` of the :ref:`code object `. The compiler tries to use :opcode:`STORE_FAST` " +"or :opcode:`STORE_GLOBAL` if possible." msgstr "" -#: ../../library/dis.rst:789 +#: ../../library/dis.rst:818 msgid "" -"Implements ``del name``, where *namei* is the index into :attr:`co_names` " -"attribute of the code object." +"Implements ``del name``, where *namei* is the index " +"into :attr:`~codeobject.co_names` attribute of the :ref:`code object `." msgstr "" +"Implementa ``del name``, onde *namei* é o índice no " +"atributo :attr:`~codeobject.co_names` do :ref:`objeto de código `." -#: ../../library/dis.rst:795 +#: ../../library/dis.rst:824 msgid "" "Unpacks TOS into *count* individual values, which are put onto the stack " "right-to-left." msgstr "" -#: ../../library/dis.rst:801 +#: ../../library/dis.rst:830 msgid "" "Implements assignment with a starred target: Unpacks an iterable in TOS into " "individual values, where the total number of values can be smaller than the " @@ -846,119 +1025,122 @@ msgid "" "leftover items." msgstr "" -#: ../../library/dis.rst:806 +#: ../../library/dis.rst:835 msgid "" "The low byte of *counts* is the number of values before the list value, the " "high byte of *counts* the number of values after it. The resulting values " "are put onto the stack right-to-left." msgstr "" -#: ../../library/dis.rst:813 +#: ../../library/dis.rst:842 msgid "" -"Implements ``TOS.name = TOS1``, where *namei* is the index of name in :attr:" -"`co_names`." +"Implements ``TOS.name = TOS1``, where *namei* is the index of name " +"in :attr:`co_names`." msgstr "" -#: ../../library/dis.rst:819 +#: ../../library/dis.rst:848 msgid "" -"Implements ``del TOS.name``, using *namei* as index into :attr:`co_names`." +"Implements ``del TOS.name``, using *namei* as index " +"into :attr:`~codeobject.co_names` of the :ref:`code object `." msgstr "" -#: ../../library/dis.rst:824 +#: ../../library/dis.rst:854 msgid "Works as :opcode:`STORE_NAME`, but stores the name as a global." msgstr "" +"Funciona como o :opcode:`STORE_NAME`, mas o nome é armazenado com um nome " +"global." -#: ../../library/dis.rst:829 +#: ../../library/dis.rst:859 msgid "Works as :opcode:`DELETE_NAME`, but deletes a global name." -msgstr "" +msgstr "Funciona como o :opcode:`DELETE_NAME`, mas deleta um nome global." -#: ../../library/dis.rst:834 +#: ../../library/dis.rst:864 msgid "Pushes ``co_consts[consti]`` onto the stack." -msgstr "" +msgstr "Põe ``co_consts[consti]`` no topo da pilha." -#: ../../library/dis.rst:839 +#: ../../library/dis.rst:869 msgid "Pushes the value associated with ``co_names[namei]`` onto the stack." msgstr "" -#: ../../library/dis.rst:844 +#: ../../library/dis.rst:874 msgid "" "Creates a tuple consuming *count* items from the stack, and pushes the " "resulting tuple onto the stack." msgstr "" -#: ../../library/dis.rst:850 +#: ../../library/dis.rst:880 msgid "Works as :opcode:`BUILD_TUPLE`, but creates a list." msgstr "" -#: ../../library/dis.rst:855 +#: ../../library/dis.rst:885 msgid "Works as :opcode:`BUILD_TUPLE`, but creates a set." msgstr "" -#: ../../library/dis.rst:860 +#: ../../library/dis.rst:890 msgid "" "Pushes a new dictionary object onto the stack. Pops ``2 * count`` items so " "that the dictionary holds *count* entries: ``{..., TOS3: TOS2, TOS1: TOS}``." msgstr "" -#: ../../library/dis.rst:864 +#: ../../library/dis.rst:894 msgid "" "The dictionary is created from stack items instead of creating an empty " "dictionary pre-sized to hold *count* items." msgstr "" -#: ../../library/dis.rst:871 +#: ../../library/dis.rst:901 msgid "" "The version of :opcode:`BUILD_MAP` specialized for constant keys. Pops the " "top element on the stack which contains a tuple of keys, then starting from " "``TOS1``, pops *count* values to form values in the built dictionary." msgstr "" -#: ../../library/dis.rst:880 +#: ../../library/dis.rst:910 msgid "" "Concatenates *count* strings from the stack and pushes the resulting string " "onto the stack." msgstr "" -#: ../../library/dis.rst:888 +#: ../../library/dis.rst:918 msgid "" "Pops a list from the stack and pushes a tuple containing the same values." msgstr "" -#: ../../library/dis.rst:895 +#: ../../library/dis.rst:925 msgid "Calls ``list.extend(TOS1[-i], TOS)``. Used to build lists." msgstr "" -#: ../../library/dis.rst:902 +#: ../../library/dis.rst:932 msgid "Calls ``set.update(TOS1[-i], TOS)``. Used to build sets." msgstr "" -#: ../../library/dis.rst:909 +#: ../../library/dis.rst:939 msgid "Calls ``dict.update(TOS1[-i], TOS)``. Used to build dicts." msgstr "" -#: ../../library/dis.rst:916 +#: ../../library/dis.rst:946 msgid "Like :opcode:`DICT_UPDATE` but raises an exception for duplicate keys." msgstr "" -#: ../../library/dis.rst:923 +#: ../../library/dis.rst:953 msgid "Replaces TOS with ``getattr(TOS, co_names[namei])``." msgstr "" -#: ../../library/dis.rst:928 +#: ../../library/dis.rst:958 msgid "" "Performs a Boolean operation. The operation name can be found in " "``cmp_op[opname]``." msgstr "" -#: ../../library/dis.rst:934 +#: ../../library/dis.rst:964 msgid "Performs ``is`` comparison, or ``is not`` if ``invert`` is 1." msgstr "" -#: ../../library/dis.rst:941 +#: ../../library/dis.rst:971 msgid "Performs ``in`` comparison, or ``not in`` if ``invert`` is 1." msgstr "" -#: ../../library/dis.rst:948 +#: ../../library/dis.rst:978 msgid "" "Imports the module ``co_names[namei]``. TOS and TOS1 are popped and provide " "the *fromlist* and *level* arguments of :func:`__import__`. The module " @@ -967,86 +1149,86 @@ msgid "" "modifies the namespace." msgstr "" -#: ../../library/dis.rst:957 +#: ../../library/dis.rst:987 msgid "" "Loads the attribute ``co_names[namei]`` from the module found in TOS. The " -"resulting object is pushed onto the stack, to be subsequently stored by a :" -"opcode:`STORE_FAST` instruction." +"resulting object is pushed onto the stack, to be subsequently stored by " +"a :opcode:`STORE_FAST` instruction." msgstr "" -#: ../../library/dis.rst:964 +#: ../../library/dis.rst:994 msgid "Increments bytecode counter by *delta*." msgstr "" -#: ../../library/dis.rst:969 +#: ../../library/dis.rst:999 msgid "Decrements bytecode counter by *delta*. Checks for interrupts." msgstr "" -#: ../../library/dis.rst:976 +#: ../../library/dis.rst:1006 msgid "Decrements bytecode counter by *delta*. Does not check for interrupts." msgstr "" -#: ../../library/dis.rst:983 +#: ../../library/dis.rst:1013 msgid "" "If TOS is true, increments the bytecode counter by *delta*. TOS is popped." msgstr "" -#: ../../library/dis.rst:990 +#: ../../library/dis.rst:1020 msgid "" "If TOS is true, decrements the bytecode counter by *delta*. TOS is popped." msgstr "" -#: ../../library/dis.rst:997 +#: ../../library/dis.rst:1027 msgid "" "If TOS is false, increments the bytecode counter by *delta*. TOS is popped." msgstr "" -#: ../../library/dis.rst:1004 +#: ../../library/dis.rst:1034 msgid "" "If TOS is false, decrements the bytecode counter by *delta*. TOS is popped." msgstr "" -#: ../../library/dis.rst:1011 +#: ../../library/dis.rst:1041 msgid "" "If TOS is not ``None``, increments the bytecode counter by *delta*. TOS is " "popped." msgstr "" -#: ../../library/dis.rst:1018 +#: ../../library/dis.rst:1048 msgid "" "If TOS is not ``None``, decrements the bytecode counter by *delta*. TOS is " "popped." msgstr "" -#: ../../library/dis.rst:1025 +#: ../../library/dis.rst:1055 msgid "" "If TOS is ``None``, increments the bytecode counter by *delta*. TOS is " "popped." msgstr "" -#: ../../library/dis.rst:1032 +#: ../../library/dis.rst:1062 msgid "" "If TOS is ``None``, decrements the bytecode counter by *delta*. TOS is " "popped." msgstr "" -#: ../../library/dis.rst:1039 +#: ../../library/dis.rst:1069 msgid "" "If TOS is true, increments the bytecode counter by *delta* and leaves TOS on " "the stack. Otherwise (TOS is false), TOS is popped." msgstr "" -#: ../../library/dis.rst:1044 ../../library/dis.rst:1054 +#: ../../library/dis.rst:1074 ../../library/dis.rst:1084 msgid "The oparg is now a relative delta rather than an absolute target." msgstr "" -#: ../../library/dis.rst:1049 +#: ../../library/dis.rst:1079 msgid "" "If TOS is false, increments the bytecode counter by *delta* and leaves TOS " "on the stack. Otherwise (TOS is true), TOS is popped." msgstr "" -#: ../../library/dis.rst:1060 +#: ../../library/dis.rst:1090 msgid "" "TOS is an :term:`iterator`. Call its :meth:`~iterator.__next__` method. If " "this yields a new value, push it on the stack (leaving the iterator below " @@ -1054,153 +1236,157 @@ msgid "" "code counter is incremented by *delta*." msgstr "" -#: ../../library/dis.rst:1068 +#: ../../library/dis.rst:1098 msgid "Loads the global named ``co_names[namei>>1]`` onto the stack." msgstr "" -#: ../../library/dis.rst:1070 +#: ../../library/dis.rst:1100 msgid "" "If the low bit of ``namei`` is set, then a ``NULL`` is pushed to the stack " "before the global variable." msgstr "" -#: ../../library/dis.rst:1076 +#: ../../library/dis.rst:1106 msgid "" "Pushes a reference to the local ``co_varnames[var_num]`` onto the stack." msgstr "" -#: ../../library/dis.rst:1081 +#: ../../library/dis.rst:1111 msgid "Stores TOS into the local ``co_varnames[var_num]``." msgstr "" -#: ../../library/dis.rst:1086 +#: ../../library/dis.rst:1116 msgid "Deletes local ``co_varnames[var_num]``." msgstr "" -#: ../../library/dis.rst:1091 +#: ../../library/dis.rst:1121 msgid "" "Creates a new cell in slot ``i``. If that slot is nonempty then that value " "is stored into the new cell." msgstr "" -#: ../../library/dis.rst:1099 +#: ../../library/dis.rst:1129 msgid "" "Pushes a reference to the cell contained in slot ``i`` of the \"fast " "locals\" storage. The name of the variable is ``co_fastlocalnames[i]``." msgstr "" -#: ../../library/dis.rst:1102 +#: ../../library/dis.rst:1132 msgid "" "Note that ``LOAD_CLOSURE`` is effectively an alias for ``LOAD_FAST``. It " "exists to keep bytecode a little more readable." msgstr "" -#: ../../library/dis.rst:1105 ../../library/dis.rst:1114 -#: ../../library/dis.rst:1126 ../../library/dis.rst:1135 -#: ../../library/dis.rst:1146 +#: ../../library/dis.rst:1135 ../../library/dis.rst:1156 msgid "``i`` is no longer offset by the length of ``co_varnames``." msgstr "" -#: ../../library/dis.rst:1111 +#: ../../library/dis.rst:1141 msgid "" "Loads the cell contained in slot ``i`` of the \"fast locals\" storage. " "Pushes a reference to the object the cell contains on the stack." msgstr "" -#: ../../library/dis.rst:1120 +#: ../../library/dis.rst:1144 ../../library/dis.rst:1165 +#: ../../library/dis.rst:1176 +msgid "" +"``i`` is no longer offset by the length of :attr:`~codeobject.co_varnames`." +msgstr "" + +#: ../../library/dis.rst:1150 msgid "" "Much like :opcode:`LOAD_DEREF` but first checks the locals dictionary before " "consulting the cell. This is used for loading free variables in class " "bodies." msgstr "" -#: ../../library/dis.rst:1132 +#: ../../library/dis.rst:1162 msgid "" "Stores TOS into the cell contained in slot ``i`` of the \"fast locals\" " "storage." msgstr "" -#: ../../library/dis.rst:1141 +#: ../../library/dis.rst:1171 msgid "" "Empties the cell contained in slot ``i`` of the \"fast locals\" storage. " "Used by the :keyword:`del` statement." msgstr "" -#: ../../library/dis.rst:1152 +#: ../../library/dis.rst:1182 msgid "" "Copies the ``n`` free variables from the closure into the frame. Removes the " "need for special code on the caller's side when calling closures." msgstr "" -#: ../../library/dis.rst:1161 +#: ../../library/dis.rst:1191 msgid "" "Raises an exception using one of the 3 forms of the ``raise`` statement, " "depending on the value of *argc*:" msgstr "" -#: ../../library/dis.rst:1164 +#: ../../library/dis.rst:1194 msgid "0: ``raise`` (re-raise previous exception)" msgstr "" -#: ../../library/dis.rst:1165 +#: ../../library/dis.rst:1195 msgid "1: ``raise TOS`` (raise exception instance or type at ``TOS``)" msgstr "" -#: ../../library/dis.rst:1166 +#: ../../library/dis.rst:1196 msgid "" "2: ``raise TOS1 from TOS`` (raise exception instance or type at ``TOS1`` " "with ``__cause__`` set to ``TOS``)" msgstr "" -#: ../../library/dis.rst:1172 +#: ../../library/dis.rst:1202 msgid "" "Calls a callable object with the number of arguments specified by ``argc``, " "including the named arguments specified by the preceding :opcode:`KW_NAMES`, " "if any. On the stack are (in ascending order), either:" msgstr "" -#: ../../library/dis.rst:1177 +#: ../../library/dis.rst:1207 msgid "NULL" msgstr "NULL" -#: ../../library/dis.rst:1178 ../../library/dis.rst:1184 +#: ../../library/dis.rst:1208 ../../library/dis.rst:1214 msgid "The callable" msgstr "" -#: ../../library/dis.rst:1179 +#: ../../library/dis.rst:1209 msgid "The positional arguments" msgstr "" -#: ../../library/dis.rst:1180 ../../library/dis.rst:1187 +#: ../../library/dis.rst:1210 ../../library/dis.rst:1217 msgid "The named arguments" msgstr "" -#: ../../library/dis.rst:1182 +#: ../../library/dis.rst:1212 msgid "or:" msgstr "" -#: ../../library/dis.rst:1185 +#: ../../library/dis.rst:1215 msgid "``self``" -msgstr "" +msgstr "``self``" -#: ../../library/dis.rst:1186 +#: ../../library/dis.rst:1216 msgid "The remaining positional arguments" msgstr "" -#: ../../library/dis.rst:1189 +#: ../../library/dis.rst:1219 msgid "" "``argc`` is the total of the positional and named arguments, excluding " "``self`` when a ``NULL`` is not present." msgstr "" -#: ../../library/dis.rst:1192 +#: ../../library/dis.rst:1222 msgid "" "``CALL`` pops all arguments and the callable object off the stack, calls the " "callable object with those arguments, and pushes the return value returned " "by the callable object." msgstr "" -#: ../../library/dis.rst:1201 +#: ../../library/dis.rst:1231 msgid "" "Calls a callable object with variable set of positional and keyword " "arguments. If the lowest bit of *flags* is set, the top of the stack " @@ -1212,7 +1398,7 @@ msgid "" "arguments, and pushes the return value returned by the callable object." msgstr "" -#: ../../library/dis.rst:1216 +#: ../../library/dis.rst:1246 msgid "" "Loads a method named ``co_names[namei]`` from the TOS object. TOS is popped. " "This bytecode distinguishes two cases: if TOS has a method with the correct " @@ -1222,70 +1408,70 @@ msgid "" "are pushed." msgstr "" -#: ../../library/dis.rst:1228 +#: ../../library/dis.rst:1258 msgid "" "Prefixes :opcode:`CALL`. Logically this is a no op. It exists to enable " "effective specialization of calls. ``argc`` is the number of arguments as " "described in :opcode:`CALL`." msgstr "" -#: ../../library/dis.rst:1237 +#: ../../library/dis.rst:1267 msgid "" "Pushes a ``NULL`` to the stack. Used in the call sequence to match the " "``NULL`` pushed by :opcode:`LOAD_METHOD` for non-method calls." msgstr "" -#: ../../library/dis.rst:1246 +#: ../../library/dis.rst:1276 msgid "" "Prefixes :opcode:`PRECALL`. Stores a reference to ``co_consts[consti]`` into " "an internal variable for use by :opcode:`CALL`. ``co_consts[consti]`` must " "be a tuple of strings." msgstr "" -#: ../../library/dis.rst:1255 +#: ../../library/dis.rst:1285 msgid "" "Pushes a new function object on the stack. From bottom to top, the consumed " "stack must consist of values if the argument carries a specified flag value" msgstr "" -#: ../../library/dis.rst:1258 +#: ../../library/dis.rst:1288 msgid "" "``0x01`` a tuple of default values for positional-only and positional-or-" "keyword parameters in positional order" msgstr "" -#: ../../library/dis.rst:1260 +#: ../../library/dis.rst:1290 msgid "``0x02`` a dictionary of keyword-only parameters' default values" msgstr "" -#: ../../library/dis.rst:1261 +#: ../../library/dis.rst:1291 msgid "``0x04`` a tuple of strings containing parameters' annotations" msgstr "" -#: ../../library/dis.rst:1262 +#: ../../library/dis.rst:1292 msgid "``0x08`` a tuple containing cells for free variables, making a closure" msgstr "" -#: ../../library/dis.rst:1263 -msgid "the code associated with the function (at TOS1)" +#: ../../library/dis.rst:1293 +msgid "the code associated with the function (at TOS)" msgstr "" -#: ../../library/dis.rst:1264 -msgid "the :term:`qualified name` of the function (at TOS)" +#: ../../library/dis.rst:1295 +msgid "Flag value ``0x04`` is a tuple of strings instead of dictionary" msgstr "" -#: ../../library/dis.rst:1266 -msgid "Flag value ``0x04`` is a tuple of strings instead of dictionary" +#: ../../library/dis.rst:1298 +msgid "Qualified name at TOS was removed." msgstr "" -#: ../../library/dis.rst:1273 +#: ../../library/dis.rst:1306 msgid "" "Pushes a slice object on the stack. *argc* must be 2 or 3. If it is 2, " "``slice(TOS1, TOS)`` is pushed; if it is 3, ``slice(TOS2, TOS1, TOS)`` is " "pushed. See the :func:`slice` built-in function for more information." msgstr "" -#: ../../library/dis.rst:1280 +#: ../../library/dis.rst:1313 msgid "" "Prefixes any opcode which has an argument too big to fit into the default " "one byte. *ext* holds an additional byte which act as higher bits in the " @@ -1293,142 +1479,142 @@ msgid "" "allowed, forming an argument from two-byte to four-byte." msgstr "" -#: ../../library/dis.rst:1288 +#: ../../library/dis.rst:1321 msgid "" "Used for implementing formatted literal strings (f-strings). Pops an " "optional *fmt_spec* from the stack, then a required *value*. *flags* is " "interpreted as follows:" msgstr "" -#: ../../library/dis.rst:1292 +#: ../../library/dis.rst:1325 msgid "``(flags & 0x03) == 0x00``: *value* is formatted as-is." msgstr "" -#: ../../library/dis.rst:1293 +#: ../../library/dis.rst:1326 msgid "" "``(flags & 0x03) == 0x01``: call :func:`str` on *value* before formatting it." msgstr "" -#: ../../library/dis.rst:1295 +#: ../../library/dis.rst:1328 msgid "" "``(flags & 0x03) == 0x02``: call :func:`repr` on *value* before formatting " "it." msgstr "" -#: ../../library/dis.rst:1297 +#: ../../library/dis.rst:1330 msgid "" "``(flags & 0x03) == 0x03``: call :func:`ascii` on *value* before formatting " "it." msgstr "" -#: ../../library/dis.rst:1299 +#: ../../library/dis.rst:1332 msgid "" "``(flags & 0x04) == 0x04``: pop *fmt_spec* from the stack and use it, else " "use an empty *fmt_spec*." msgstr "" -#: ../../library/dis.rst:1302 +#: ../../library/dis.rst:1335 msgid "" "Formatting is performed using :c:func:`PyObject_Format`. The result is " "pushed on the stack." msgstr "" -#: ../../library/dis.rst:1310 +#: ../../library/dis.rst:1343 msgid "" "TOS is a tuple of keyword attribute names, TOS1 is the class being matched " "against, and TOS2 is the match subject. *count* is the number of positional " "sub-patterns." msgstr "" -#: ../../library/dis.rst:1314 +#: ../../library/dis.rst:1347 msgid "" "Pop TOS, TOS1, and TOS2. If TOS2 is an instance of TOS1 and has the " "positional and keyword attributes required by *count* and TOS, push a tuple " "of extracted attributes. Otherwise, push ``None``." msgstr "" -#: ../../library/dis.rst:1327 +#: ../../library/dis.rst:1360 msgid "A no-op. Performs internal tracing, debugging and optimization checks." msgstr "" -#: ../../library/dis.rst:1329 +#: ../../library/dis.rst:1362 msgid "The ``where`` operand marks where the ``RESUME`` occurs:" msgstr "" -#: ../../library/dis.rst:1331 +#: ../../library/dis.rst:1364 msgid "``0`` The start of a function" msgstr "" -#: ../../library/dis.rst:1332 +#: ../../library/dis.rst:1365 msgid "``1`` After a ``yield`` expression" -msgstr "" +msgstr "``1`` Depois de uma expressão ``yield``" -#: ../../library/dis.rst:1333 +#: ../../library/dis.rst:1366 msgid "``2`` After a ``yield from`` expression" msgstr "" -#: ../../library/dis.rst:1334 +#: ../../library/dis.rst:1367 msgid "``3`` After an ``await`` expression" -msgstr "" +msgstr "``3`` Depois de uma expressão ``await``" -#: ../../library/dis.rst:1341 +#: ../../library/dis.rst:1374 msgid "" "Create a generator, coroutine, or async generator from the current frame. " "Clear the current frame and return the newly created generator." msgstr "" -#: ../../library/dis.rst:1349 +#: ../../library/dis.rst:1382 msgid "" "Sends ``None`` to the sub-generator of this generator. Used in ``yield " "from`` and ``await`` statements." msgstr "" -#: ../../library/dis.rst:1357 +#: ../../library/dis.rst:1390 msgid "" "Wraps the value on top of the stack in an ``async_generator_wrapped_value``. " "Used to yield in async generators." msgstr "" -#: ../../library/dis.rst:1365 +#: ../../library/dis.rst:1398 msgid "" "This is not really an opcode. It identifies the dividing line between " "opcodes which don't use their argument and those that do (``< " "HAVE_ARGUMENT`` and ``>= HAVE_ARGUMENT``, respectively)." msgstr "" -#: ../../library/dis.rst:1369 +#: ../../library/dis.rst:1402 msgid "" "Now every instruction has an argument, but opcodes ``< HAVE_ARGUMENT`` " "ignore it. Before, only opcodes ``>= HAVE_ARGUMENT`` had an argument." msgstr "" -#: ../../library/dis.rst:1377 +#: ../../library/dis.rst:1410 msgid "Opcode collections" msgstr "" -#: ../../library/dis.rst:1379 +#: ../../library/dis.rst:1412 msgid "" "These collections are provided for automatic introspection of bytecode " "instructions:" msgstr "" -#: ../../library/dis.rst:1384 +#: ../../library/dis.rst:1417 msgid "Sequence of operation names, indexable using the bytecode." msgstr "" -#: ../../library/dis.rst:1389 +#: ../../library/dis.rst:1422 msgid "Dictionary mapping operation names to bytecodes." msgstr "" -#: ../../library/dis.rst:1394 +#: ../../library/dis.rst:1427 msgid "Sequence of all compare operation names." msgstr "" -#: ../../library/dis.rst:1399 +#: ../../library/dis.rst:1432 msgid "Sequence of bytecodes that access a constant." msgstr "" -#: ../../library/dis.rst:1404 +#: ../../library/dis.rst:1437 msgid "" "Sequence of bytecodes that access a free variable (note that 'free' in this " "context refers to names in the current scope that are referenced by inner " @@ -1436,30 +1622,30 @@ msgid "" "does *not* include references to global or builtin scopes)." msgstr "" -#: ../../library/dis.rst:1412 +#: ../../library/dis.rst:1445 msgid "Sequence of bytecodes that access an attribute by name." msgstr "" -#: ../../library/dis.rst:1417 +#: ../../library/dis.rst:1450 msgid "Sequence of bytecodes that have a relative jump target." msgstr "" -#: ../../library/dis.rst:1422 +#: ../../library/dis.rst:1455 msgid "Sequence of bytecodes that have an absolute jump target." msgstr "" -#: ../../library/dis.rst:1427 +#: ../../library/dis.rst:1460 msgid "Sequence of bytecodes that access a local variable." msgstr "" -#: ../../library/dis.rst:1432 +#: ../../library/dis.rst:1465 msgid "Sequence of bytecodes of Boolean operations." msgstr "" -#: ../../library/dis.rst:1271 +#: ../../library/dis.rst:1304 msgid "built-in function" msgstr "função embutida" -#: ../../library/dis.rst:1271 +#: ../../library/dis.rst:1304 msgid "slice" msgstr "fatia" diff --git a/library/distribution.po b/library/distribution.po index a4aeafbc3..d9dab2ee8 100644 --- a/library/distribution.po +++ b/library/distribution.po @@ -1,25 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/distutils.po b/library/distutils.po index d103e4a07..c1033163a 100644 --- a/library/distutils.po +++ b/library/distutils.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -96,10 +96,10 @@ msgstr "comportamento consistente em todas as versões suportadas do Python" #: ../../library/distutils.rst:37 msgid "" -"The recommended `pip `__ installer runs all ``setup." -"py`` scripts with ``setuptools``, even if the script itself only imports " -"``distutils``. Refer to the `Python Packaging User Guide `_ for more information." +"The recommended `pip `__ installer runs all " +"``setup.py`` scripts with ``setuptools``, even if the script itself only " +"imports ``distutils``. Refer to the `Python Packaging User Guide `_ for more information." msgstr "" "O instalador `pip `__ recomendado executa todos os " "scripts ``setup.py`` com ``setuptools``, mesmo que o próprio script importe " @@ -115,8 +115,8 @@ msgid "" msgstr "" "Para os benefícios dos autores e usuários da ferramenta de empacotamento que " "buscam uma compreensão mais profunda dos detalhes do atual sistema de " -"empacotamento e distribuição, a documentação legada baseada no :mod:" -"`distutils` e a referência de API permanecem disponíveis:" +"empacotamento e distribuição, a documentação legada baseada " +"no :mod:`distutils` e a referência de API permanecem disponíveis:" #: ../../library/distutils.rst:48 msgid ":ref:`install-index`" diff --git a/library/doctest.po b/library/doctest.po index 2cb6c665b..707a1a022 100644 --- a/library/doctest.po +++ b/library/doctest.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Marques , 2021 -# Raphael Mendonça, 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -34,7 +29,7 @@ msgstr ":mod:`doctest` --- Teste exemplos interativos de Python" #: ../../library/doctest.rst:12 msgid "**Source code:** :source:`Lib/doctest.py`" -msgstr "**Source code:** :source:`Lib/doctest.py`" +msgstr "**Código-fonte:** :source:`Lib/doctest.py`" #: ../../library/doctest.rst:16 msgid "" @@ -61,7 +56,7 @@ msgid "" "test file or a test object work as expected." msgstr "" "Para executar testes de regressão, verificando que os exemplos interativos " -"de um arquivo de teste ou um objeto de teste funcionam como esperado." +"de um arquivo de teste ou um objeto teste funcionam como esperado." #: ../../library/doctest.rst:26 msgid "" @@ -84,8 +79,8 @@ msgid "" "If you run :file:`example.py` directly from the command line, :mod:`doctest` " "works its magic:" msgstr "" -"Se executares diretamente :file:`example.py` desde a linha de comando, :mod:" -"`doctest` a mágica funcionará:" +"Se executar diretamente :file:`example.py` desde a linha de " +"comando, :mod:`doctest` a mágica funcionará:" #: ../../library/doctest.rst:96 msgid "" @@ -94,8 +89,8 @@ msgid "" "it's trying, and prints a summary at the end:" msgstr "" "Observe que nada foi impresso na saída padrão! Isso é normal, e isso " -"significa que todos os exemplos funcionaram. Passe ``-v`` para o script e :" -"mod:`doctest` imprimirá um registro detalhado do que está sendo testando " +"significa que todos os exemplos funcionaram. Passe ``-v`` para o script " +"e :mod:`doctest` imprimirá um registro detalhado do que está sendo testando " "imprimindo ainda um resumo no final:" #: ../../library/doctest.rst:114 @@ -104,17 +99,17 @@ msgstr "E assim por diante, eventualmente terminando com:" #: ../../library/doctest.rst:133 msgid "" -"That's all you need to know to start making productive use of :mod:" -"`doctest`! Jump in. The following sections provide full details. Note that " -"there are many examples of doctests in the standard Python test suite and " -"libraries. Especially useful examples can be found in the standard test " -"file :file:`Lib/test/test_doctest.py`." +"That's all you need to know to start making productive use " +"of :mod:`doctest`! Jump in. The following sections provide full details. " +"Note that there are many examples of doctests in the standard Python test " +"suite and libraries. Especially useful examples can be found in the standard " +"test file :file:`Lib/test/test_doctest/test_doctest.py`." msgstr "" "Isso é tudo o que precisas saber para começar a fazer uso produtivo do " "módulo :mod:`doctest`! Pule! As seções a seguir fornecem detalhes completos. " -"Observe que há muitos exemplos de documentos no conjunto de teste padrão " +"Observe que há muitos exemplos de doctests no conjunto de testes padrão " "Python e bibliotecas. Exemplos especialmente úteis podem ser encontrados no " -"arquivo de teste padrão :file:`Lib/test/test_doctest.py`." +"arquivo de teste padrão :file:`Lib/test/test_doctest/test_doctest.py`." #: ../../library/doctest.rst:143 msgid "Simple Usage: Checking Examples in Docstrings" @@ -123,22 +118,22 @@ msgstr "Uso simples: verificando exemplos em Docstrings" #: ../../library/doctest.rst:145 msgid "" "The simplest way to start using doctest (but not necessarily the way you'll " -"continue to do it) is to end each module :mod:`M` with::" +"continue to do it) is to end each module :mod:`!M` with::" msgstr "" "A maneira mais simples de começar a usar o doctest (mas não necessariamente " -"a maneira como você continuará fazendo isso) é encerrar cada módulo :mod:`M` " -"com::" +"a maneira como você continuará fazendo isso) é encerrar cada módulo :mod:`!" +"M` com::" #: ../../library/doctest.rst:152 -msgid ":mod:`doctest` then examines docstrings in module :mod:`M`." -msgstr ":mod:`doctest` e então examine a docstrings no módulo :mod:`M`." +msgid ":mod:`!doctest` then examines docstrings in module :mod:`!M`." +msgstr ":mod:`!doctest` e então examine a docstrings no módulo :mod:`!M`." #: ../../library/doctest.rst:154 msgid "" "Running the module as a script causes the examples in the docstrings to get " "executed and verified::" msgstr "" -"Executar o módulo como um Script faz com que os exemplos nas docstrings " +"Executar o módulo como um script faz com que os exemplos nas docstrings " "sejam executados e verificados::" #: ../../library/doctest.rst:159 @@ -162,6 +157,8 @@ msgid "" "and a detailed report of all examples tried is printed to standard output, " "along with assorted summaries at the end." msgstr "" +"e um relatório detalhado de todos os exemplos testados é impresso na saída " +"padrão, junto com diversos resumos no final." #: ../../library/doctest.rst:171 msgid "" @@ -170,6 +167,10 @@ msgid "" "``sys.argv`` is not examined by :func:`testmod` (so passing ``-v`` or not " "has no effect)." msgstr "" +"Você pode forçar o modo verboso passando ``verbose=True`` " +"para :func:`testmod`, ou proibi-lo passando ``verbose=False``. Em qualquer " +"um desses casos, ``sys.argv`` não é examinado por :func:`testmod` (então " +"passar ``-v`` ou não não tem efeito)." #: ../../library/doctest.rst:176 msgid "" @@ -177,29 +178,40 @@ msgid "" "instruct the Python interpreter to run the doctest module directly from the " "standard library and pass the module name(s) on the command line::" msgstr "" +"Há também um atalho de linha de comando para executar :func:`testmod`. Você " +"pode instruir o interpretador Python a executar o módulo doctest diretamente " +"da biblioteca padrão e passar o(s) nome(s) do módulo na linha de comando:" #: ../../library/doctest.rst:182 msgid "" -"This will import :file:`example.py` as a standalone module and run :func:" -"`testmod` on it. Note that this may not work correctly if the file is part " -"of a package and imports other submodules from that package." +"This will import :file:`example.py` as a standalone module and " +"run :func:`testmod` on it. Note that this may not work correctly if the " +"file is part of a package and imports other submodules from that package." msgstr "" +"Isso importará :file:`example.py` como um módulo independente e " +"executará :func:`testmod` nele. Observe que isso pode não funcionar " +"corretamente se o arquivo fizer parte de um pacote e importar outros " +"submódulos desse pacote." #: ../../library/doctest.rst:186 msgid "" "For more information on :func:`testmod`, see section :ref:`doctest-basic-" "api`." msgstr "" +"Para mais informações sobre :func:`testmod`, veja a seção :ref:`doctest-" +"basic-api`." #: ../../library/doctest.rst:192 msgid "Simple Usage: Checking Examples in a Text File" -msgstr "Utilização comum: Verificando exemplos em um arquivo de texto" +msgstr "Utilização comum: Verificando exemplos em um arquivo texto" #: ../../library/doctest.rst:194 msgid "" "Another simple application of doctest is testing interactive examples in a " "text file. This can be done with the :func:`testfile` function::" msgstr "" +"Outra aplicação simples do doctest é testar exemplos interativos em um " +"arquivo texto. Isso pode ser feito com a função :func:`testfile`::" #: ../../library/doctest.rst:200 msgid "" @@ -208,20 +220,31 @@ msgid "" "if it were a single giant docstring; the file doesn't need to contain a " "Python program! For example, perhaps :file:`example.txt` contains this:" msgstr "" +"Esse pequeno script executa e verifica quaisquer exemplos interativos do " +"Python contidos no arquivo :file:`example.txt`. O conteúdo do arquivo é " +"tratado como se fosse uma única docstring gigante; o arquivo não precisa " +"conter um programa Python! Por exemplo, talvez :file:`example.txt` contenha " +"isto:" #: ../../library/doctest.rst:223 msgid "" "Running ``doctest.testfile(\"example.txt\")`` then finds the error in this " "documentation::" msgstr "" +"Executar ``doctest.testfile(\"example.txt\")`` então encontra o erro nesta " +"documentação::" #: ../../library/doctest.rst:234 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`." +"cause(s) of the failure(s) are printed to stdout, using the same format " +"as :func:`testmod`." msgstr "" +"Assim como :func:`testmod`, :func:`testfile` não vai exibir nada a menos que " +"um exemplo falhe. Se um exemplo falhar, então o(s) exemplo(s) com falha e " +"a(s) causa(s) da(s) falha(s) são impressos em stdout, usando o mesmo formato " +"que :func:`testmod`." #: ../../library/doctest.rst:239 msgid "" @@ -230,12 +253,19 @@ msgid "" "optional arguments that can be used to tell it to look for files in other " "locations." msgstr "" +"Por padrão, :func:`testfile` procura por arquivos no diretório do módulo " +"chamador. Veja a seção :ref:`doctest-basic-api` para uma descrição dos " +"argumentos opcionais que podem ser usados para dizer para procurar por " +"arquivos em outros locais." #: ../../library/doctest.rst:243 msgid "" "Like :func:`testmod`, :func:`testfile`'s verbosity can be set with the ``-" "v`` command-line switch or with the optional keyword argument *verbose*." msgstr "" +"Assim como :func:`testmod`, a verbosidade de :func:`testfile` pode ser " +"definida com a opção de linha de comando ``-v`` ou com o argumento nomeado " +"opcional *verbose*." #: ../../library/doctest.rst:247 msgid "" @@ -243,12 +273,18 @@ msgid "" "instruct the Python interpreter to run the doctest module directly from the " "standard library and pass the file name(s) on the command line::" msgstr "" +"Há também um atalho de linha de comando para executar :func:`testfile`. Você " +"pode instruir o interpretador Python a executar o módulo doctest diretamente " +"da biblioteca padrão e passar o(s) nome(s) do(s) arquivo(s) na linha de " +"comando::" #: ../../library/doctest.rst:253 msgid "" "Because the file name does not end with :file:`.py`, :mod:`doctest` infers " "that it must be run with :func:`testfile`, not :func:`testmod`." msgstr "" +"Como o nome do arquivo não termina com :file:`.py`, :mod:`doctest` infere " +"que ele deve ser executado com :func:`testfile`, não :func:`testmod`." #: ../../library/doctest.rst:256 msgid "" @@ -260,7 +296,7 @@ msgstr "" #: ../../library/doctest.rst:262 msgid "How It Works" -msgstr "Como funciona" +msgstr "Como ele funciona" #: ../../library/doctest.rst:264 msgid "" @@ -271,134 +307,223 @@ msgid "" "examples; for information about actually running doctest on these examples, " "see the following sections." msgstr "" +"Esta seção examina detalhadamente como o doctest funciona: quais docstrings " +"ele analisa, como encontra exemplos interativos, qual contexto de execução " +"ele usa, como ele lida com exceções e como sinalizadores de opção podem ser " +"usados para controlar seu comportamento. Esta é a informação que você " +"precisa saber para escrever exemplos de doctest; para obter informações " +"sobre como realmente executar o doctest nesses exemplos, consulte as seções " +"a seguir." #: ../../library/doctest.rst:275 msgid "Which Docstrings Are Examined?" -msgstr "" +msgstr "Quais docstrings são examinadas?" #: ../../library/doctest.rst:277 msgid "" "The module docstring, and all function, class and method docstrings are " "searched. Objects imported into the module are not searched." msgstr "" +"A docstring do módulo e todas as docstrings de funções, classes e métodos " +"são pesquisadas. Os objetos importados para o módulo não são pesquisados." #: ../../library/doctest.rst:280 msgid "" -"In addition, if ``M.__test__`` exists and \"is true\", it must be a dict, " -"and each entry maps a (string) name to a function object, class object, or " -"string. Function and class object docstrings found from ``M.__test__`` are " -"searched, and strings are treated as if they were docstrings. In output, a " -"key ``K`` in ``M.__test__`` appears with name ::" -msgstr "" - -#: ../../library/doctest.rst:288 +"In addition, there are cases when you want tests to be part of a module but " +"not part of the help text, which requires that the tests not be included in " +"the docstring. Doctest looks for a module-level variable called ``__test__`` " +"and uses it to locate other tests. If ``M.__test__`` exists, it must be a " +"dict, and each entry maps a (string) name to a function object, class " +"object, or string. Function and class object docstrings found from " +"``M.__test__`` are searched, and strings are treated as if they were " +"docstrings. In output, a key ``K`` in ``M.__test__`` appears with name " +"``M.__test__.K``." +msgstr "" +"Além disso, há casos em que você deseja que os testes façam parte de um " +"módulo, mas não do texto de ajuda, o que exige que os testes não sejam " +"incluídos na documentação. Doctest procura uma variável em nível de módulo " +"chamada ``__test__`` e a utiliza para localizar outros testes. Se " +"``M.__test__`` existir, deve ser um dicionário, e cada entrada mapeia um " +"nome (string) para um objeto função, objeto classe ou string. As docstrings " +"de funções e objetos classe encontradas em ``M.__test__`` são pesquisadas e " +"as strings são tratadas como se fossem docstrings. Na saída, uma chave ``K`` " +"em ``M.__test__`` aparece com o nome ``M.__test__.K``." + +#: ../../library/doctest.rst:289 +msgid "For example, place this block of code at the top of :file:`example.py`:" +msgstr "" +"Por exemplo, coloque este bloco de código no topo de :file:`example.py`:" + +#: ../../library/doctest.rst:303 +msgid "" +"The value of ``example.__test__[\"numbers\"]`` will be treated as a " +"docstring and all the tests inside it will be run. It is important to note " +"that the value can be mapped to a function, class object, or module; if " +"so, :mod:`!doctest` searches them recursively for docstrings, which are then " +"scanned for tests." +msgstr "" +"O valor de ``example.__test__[\"numbers\"]`` será tratado como uma docstring " +"e todos os testes dentro dele serão executados. É importante observar que o " +"valor pode ser mapeado para uma função, objeto classe ou módulo; se " +"sim, :mod:`!doctest` pesquisa recursivamente em busca de docstrings, que são " +"então escaneados em busca de testes." + +#: ../../library/doctest.rst:309 msgid "" "Any classes found are recursively searched similarly, to test docstrings in " "their contained methods and nested classes." msgstr "" +"Quaisquer classes encontradas são pesquisadas recursivamente de forma " +"semelhante, para testar docstrings em seus métodos contidos e classes " +"aninhadas." -#: ../../library/doctest.rst:295 +#: ../../library/doctest.rst:316 msgid "How are Docstring Examples Recognized?" -msgstr "" +msgstr "Como os exemplos de docstrings são reconhecidos?" -#: ../../library/doctest.rst:297 +#: ../../library/doctest.rst:318 msgid "" "In most cases a copy-and-paste of an interactive console session works fine, " "but doctest isn't trying to do an exact emulation of any specific Python " "shell." msgstr "" +"Na maioria dos casos, copiar e colar de uma sessão de console interativo " +"funciona bem, mas o doctest não está tentando fazer uma emulação exata de " +"qualquer shell Python específico." -#: ../../library/doctest.rst:322 +#: ../../library/doctest.rst:343 msgid "" "Any expected output must immediately follow the final ``'>>> '`` or ``'... " "'`` line containing the code, and the expected output (if any) extends to " "the next ``'>>> '`` or all-whitespace line." msgstr "" +"Qualquer saída esperada deve seguir imediatamente a linha final ``'>>> '`` " +"ou ``'... '`` contendo o código, e a saída esperada (se houver) se estende " +"até a próxima ``'>>> '`` ou linha com apenas espaços em branco." -#: ../../library/doctest.rst:326 +#: ../../library/doctest.rst:347 msgid "The fine print:" -msgstr "" +msgstr "A saída formatada:" -#: ../../library/doctest.rst:328 +#: ../../library/doctest.rst:349 msgid "" "Expected output cannot contain an all-whitespace line, since such a line is " "taken to signal the end of expected output. If expected output does contain " "a blank line, put ```` in your doctest example each place a blank " "line is expected." msgstr "" +"A saída esperada não pode conter uma linha com apenas espaços em branco, uma " +"vez que tal linha é usada para sinalizar o fim da saída esperada. Se a saída " +"esperada contiver uma linha vazia, coloque ```` em seu exemplo " +"doctest em cada local onde uma linha em branco é esperada." -#: ../../library/doctest.rst:333 +#: ../../library/doctest.rst:354 msgid "" "All hard tab characters are expanded to spaces, using 8-column tab stops. " "Tabs in output generated by the tested code are not modified. Because any " "hard tabs in the sample output *are* expanded, this means that if the code " -"output includes hard tabs, the only way the doctest can pass is if the :" -"const:`NORMALIZE_WHITESPACE` option or :ref:`directive ` " -"is in effect. Alternatively, the test can be rewritten to capture the output " -"and compare it to an expected value as part of the test. This handling of " -"tabs in the source was arrived at through trial and error, and has proven to " -"be the least error prone way of handling them. It is possible to use a " -"different algorithm for handling tabs by writing a custom :class:" -"`DocTestParser` class." -msgstr "" +"output includes hard tabs, the only way the doctest can pass is if " +"the :const:`NORMALIZE_WHITESPACE` option or :ref:`directive ` is in effect. Alternatively, the test can be rewritten to " +"capture the output and compare it to an expected value as part of the test. " +"This handling of tabs in the source was arrived at through trial and error, " +"and has proven to be the least error prone way of handling them. It is " +"possible to use a different algorithm for handling tabs by writing a " +"custom :class:`DocTestParser` class." +msgstr "" +"Todos os caracteres de tabulação rígidos são expandidos para espaços, usando " +"paradas de tabulação de 8 colunas. As guias na saída gerada pelo código " +"testado não são modificadas. Como quaisquer tabulações rígidas na saída de " +"amostra *são* expandidas, isso significa que se a saída do código incluir " +"tabulações rígidas, a única maneira de o doctest passar é se a " +"opção :const:`NORMALIZE_WHITESPACE` ou a :ref:`diretiva ` estiver em vigor. Alternativamente, o teste pode ser reescrito " +"para capturar a saída e compará-la com um valor esperado como parte do " +"teste. Esse tratamento das guias na fonte foi obtido por tentativa e erro e " +"provou ser a maneira menos propensa a erros de lidar com elas. É possível " +"usar um algoritmo diferente para lidar com guias escrevendo uma " +"classe :class:`DocTestParser` personalizada." -#: ../../library/doctest.rst:345 +#: ../../library/doctest.rst:366 msgid "" "Output to stdout is captured, but not output to stderr (exception tracebacks " "are captured via a different means)." msgstr "" +"A saída para stdout é capturada, mas não para stderr (os tracebacks de " +"exceção são capturados por um meio diferente)." -#: ../../library/doctest.rst:348 +#: ../../library/doctest.rst:369 msgid "" "If you continue a line via backslashing in an interactive session, or for " "any other reason use a backslash, you should use a raw docstring, which will " "preserve your backslashes exactly as you type them::" msgstr "" +"Se você continuar uma linha através de barra invertida em uma sessão " +"interativa, ou por qualquer outro motivo usar uma barra invertida, você " +"deverá usar uma docstring bruta, que preservará suas barras invertidas " +"exatamente como você as digita::" -#: ../../library/doctest.rst:357 +#: ../../library/doctest.rst:378 msgid "" "Otherwise, the backslash will be interpreted as part of the string. For " "example, the ``\\n`` above would be interpreted as a newline character. " "Alternatively, you can double each backslash in the doctest version (and not " "use a raw string)::" msgstr "" +"Caso contrário, a barra invertida será interpretada como parte da string. " +"Por exemplo, o ``\\n`` acima seria interpretado como um caractere de nova " +"linha. Alternativamente, você pode duplicar cada barra invertida na versão " +"doctest (e não usar uma string bruta)::" -#: ../../library/doctest.rst:366 +#: ../../library/doctest.rst:387 msgid "The starting column doesn't matter::" -msgstr "" +msgstr "A coluna inicial não importa::" -#: ../../library/doctest.rst:373 +#: ../../library/doctest.rst:394 msgid "" "and as many leading whitespace characters are stripped from the expected " "output as appeared in the initial ``'>>> '`` line that started the example." msgstr "" +"e tantos caracteres de espaço em branco iniciais são removidos da saída " +"esperada quantos apareceram na linha inicial ``'>>> '`` que iniciou o " +"exemplo." -#: ../../library/doctest.rst:380 +#: ../../library/doctest.rst:401 msgid "What's the Execution Context?" -msgstr "" +msgstr "Qual é o contexto de execução?" -#: ../../library/doctest.rst:382 +#: ../../library/doctest.rst:403 msgid "" "By default, each time :mod:`doctest` finds a docstring to test, it uses a " -"*shallow copy* of :mod:`M`'s globals, so that running tests doesn't change " -"the module's real globals, and so that one test in :mod:`M` can't leave " +"*shallow copy* of :mod:`!M`'s globals, so that running tests doesn't change " +"the module's real globals, and so that one test in :mod:`!M` can't leave " "behind crumbs that accidentally allow another test to work. This means " -"examples can freely use any names defined at top-level in :mod:`M`, and " +"examples can freely use any names defined at top-level in :mod:`!M`, and " "names defined earlier in the docstring being run. Examples cannot see names " "defined in other docstrings." msgstr "" +"Por padrão, cada vez que :mod:`doctest` encontra uma docstring para testar, " +"ele usa uma *cópia superficial* dos globais de :mod:`!M`, para que a " +"execução de testes não altere os globais reais do módulo, e para que um " +"teste em :mod:`!M` não possa deixar migalhas que acidentalmente permitam que " +"outro teste funcione. Isso significa que os exemplos podem usar livremente " +"quaisquer nomes definidos no nível superior em :mod:`!M` e nomes definidos " +"anteriormente na docstring que está sendo executada. Os exemplos não podem " +"ver nomes definidos em outras docstrings." -#: ../../library/doctest.rst:390 +#: ../../library/doctest.rst:411 msgid "" "You can force use of your own dict as the execution context by passing " "``globs=your_dict`` to :func:`testmod` or :func:`testfile` instead." msgstr "" +"Você pode forçar o uso de seu próprio dicionário como contexto de execução " +"passando ``globs=seu_dicionario`` para :func:`testmod` ou :func:`testfile`." -#: ../../library/doctest.rst:397 +#: ../../library/doctest.rst:418 msgid "What About Exceptions?" -msgstr "" +msgstr "E quanto às exceções?" -#: ../../library/doctest.rst:399 +#: ../../library/doctest.rst:420 msgid "" "No problem, provided that the traceback is the only output produced by the " "example: just paste in the traceback. [#]_ Since tracebacks contain details " @@ -406,32 +531,42 @@ msgid "" "numbers), this is one case where doctest works hard to be flexible in what " "it accepts." msgstr "" +"Não tem problema, desde que o traceback seja a única saída produzida pelo " +"exemplo: basta colar o traceback. [#]_ Como os tracebacks contêm detalhes " +"que provavelmente mudarão rapidamente (por exemplo, caminhos exatos de " +"arquivos e números de linha), este é um caso em que o doctest trabalha duro " +"para ser flexível no que aceita." -#: ../../library/doctest.rst:405 +#: ../../library/doctest.rst:426 msgid "Simple example::" -msgstr "" +msgstr "Exemplo simples::" -#: ../../library/doctest.rst:412 +#: ../../library/doctest.rst:433 msgid "" -"That doctest succeeds if :exc:`ValueError` is raised, with the ``list." -"remove(x): x not in list`` detail as shown." +"That doctest succeeds if :exc:`ValueError` is raised, with the " +"``list.remove(x): x not in list`` detail as shown." msgstr "" +"Esse doctest será bem-sucedido se :exc:`ValueError` for levantada, com o " +"detalhe ``list.remove(x): x not in list``, conforme mostrado." -#: ../../library/doctest.rst:415 +#: ../../library/doctest.rst:436 msgid "" "The expected output for an exception must start with a traceback header, " "which may be either of the following two lines, indented the same as the " "first line of the example::" msgstr "" +"A saída esperada para uma exceção deve começar com um cabeçalho do " +"traceback, que pode ser qualquer uma das duas linhas a seguir, indentadas da " +"mesma forma que a primeira linha do exemplo::" -#: ../../library/doctest.rst:422 +#: ../../library/doctest.rst:443 msgid "" "The traceback header is followed by an optional traceback stack, whose " "contents are ignored by doctest. The traceback stack is typically omitted, " "or copied verbatim from an interactive session." msgstr "" -#: ../../library/doctest.rst:426 +#: ../../library/doctest.rst:447 msgid "" "The traceback stack is followed by the most interesting part: the line(s) " "containing the exception type and detail. This is usually the last line of " @@ -439,33 +574,33 @@ msgid "" "multi-line detail::" msgstr "" -#: ../../library/doctest.rst:438 +#: ../../library/doctest.rst:459 msgid "" "The last three lines (starting with :exc:`ValueError`) are compared against " "the exception's type and detail, and the rest are ignored." msgstr "" -#: ../../library/doctest.rst:441 +#: ../../library/doctest.rst:462 msgid "" "Best practice is to omit the traceback stack, unless it adds significant " "documentation value to the example. So the last example is probably better " "as::" msgstr "" -#: ../../library/doctest.rst:451 +#: ../../library/doctest.rst:472 msgid "" "Note that tracebacks are treated very specially. In particular, in the " -"rewritten example, the use of ``...`` is independent of doctest's :const:" -"`ELLIPSIS` option. The ellipsis in that example could be left out, or could " -"just as well be three (or three hundred) commas or digits, or an indented " -"transcript of a Monty Python skit." +"rewritten example, the use of ``...`` is independent of " +"doctest's :const:`ELLIPSIS` option. The ellipsis in that example could be " +"left out, or could just as well be three (or three hundred) commas or " +"digits, or an indented transcript of a Monty Python skit." msgstr "" -#: ../../library/doctest.rst:457 +#: ../../library/doctest.rst:478 msgid "Some details you should read once, but won't need to remember:" msgstr "" -#: ../../library/doctest.rst:459 +#: ../../library/doctest.rst:480 msgid "" "Doctest can't guess whether your expected output came from an exception " "traceback or from ordinary printing. So, e.g., an example that expects " @@ -475,7 +610,7 @@ msgid "" "create real problems." msgstr "" -#: ../../library/doctest.rst:466 +#: ../../library/doctest.rst:487 msgid "" "Each line of the traceback stack (if present) must be indented further than " "the first line of the example, *or* start with a non-alphanumeric character. " @@ -484,29 +619,29 @@ msgid "" "course this does the right thing for genuine tracebacks." msgstr "" -#: ../../library/doctest.rst:472 +#: ../../library/doctest.rst:493 msgid "" "When the :const:`IGNORE_EXCEPTION_DETAIL` doctest option is specified, " "everything following the leftmost colon and any module information in the " "exception name is ignored." msgstr "" -#: ../../library/doctest.rst:476 +#: ../../library/doctest.rst:497 msgid "" -"The interactive shell omits the traceback header line for some :exc:" -"`SyntaxError`\\ s. But doctest uses the traceback header line to " +"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 manually add the traceback header line to your test example." msgstr "" -#: ../../library/doctest.rst:484 +#: ../../library/doctest.rst:505 msgid "" "For some exceptions, Python displays the position of the error using ``^`` " "markers and tildes::" msgstr "" -#: ../../library/doctest.rst:493 +#: ../../library/doctest.rst:514 msgid "" "Since the lines showing the position of the error come before the exception " "type and detail, they are not checked by doctest. For example, the " @@ -514,52 +649,53 @@ msgid "" "location::" msgstr "" -#: ../../library/doctest.rst:508 +#: ../../library/doctest.rst:529 msgid "Option Flags" msgstr "Flags opcionais" -#: ../../library/doctest.rst:510 +#: ../../library/doctest.rst:531 msgid "" "A number of option flags control various aspects of doctest's behavior. " -"Symbolic names for the flags are supplied as module constants, which can be :" -"ref:`bitwise ORed ` together and passed to various functions. The " -"names can also be used in :ref:`doctest directives `, " -"and may be passed to the doctest command line interface via the ``-o`` " -"option." +"Symbolic names for the flags are supplied as module constants, which can " +"be :ref:`bitwise ORed ` together and passed to various functions. " +"The names can also be used in :ref:`doctest directives `, and may be passed to the doctest command line interface via " +"the ``-o`` option." msgstr "" -#: ../../library/doctest.rst:516 +#: ../../library/doctest.rst:537 msgid "The ``-o`` command line option." msgstr "" -#: ../../library/doctest.rst:519 +#: ../../library/doctest.rst:540 msgid "" "The first group of options define test semantics, controlling aspects of how " "doctest decides whether actual output matches an example's expected output:" msgstr "" -#: ../../library/doctest.rst:525 +#: ../../library/doctest.rst:546 msgid "" "By default, if an expected output block contains just ``1``, an actual " "output block containing just ``1`` or just ``True`` is considered to be a " -"match, and similarly for ``0`` versus ``False``. When :const:" -"`DONT_ACCEPT_TRUE_FOR_1` is specified, neither substitution is allowed. The " -"default behavior caters to that Python changed the return type of many " -"functions from integer to boolean; doctests expecting \"little integer\" " -"output still work in these cases. This option will probably go away, but " -"not for several years." +"match, and similarly for ``0`` versus ``False``. " +"When :const:`DONT_ACCEPT_TRUE_FOR_1` is specified, neither substitution is " +"allowed. The default behavior caters to that Python changed the return type " +"of many functions from integer to boolean; doctests expecting \"little " +"integer\" output still work in these cases. This option will probably go " +"away, but not for several years." msgstr "" -#: ../../library/doctest.rst:537 +#: ../../library/doctest.rst:558 msgid "" "By default, if an expected output block contains a line containing only the " "string ````, then that line will match a blank line in the actual " "output. Because a genuinely blank line delimits the expected output, this " -"is the only way to communicate that a blank line is expected. When :const:" -"`DONT_ACCEPT_BLANKLINE` is specified, this substitution is not allowed." +"is the only way to communicate that a blank line is expected. " +"When :const:`DONT_ACCEPT_BLANKLINE` is specified, this substitution is not " +"allowed." msgstr "" -#: ../../library/doctest.rst:546 +#: ../../library/doctest.rst:567 msgid "" "When specified, all sequences of whitespace (blanks and newlines) are " "treated as equal. Any sequence of whitespace within the expected output " @@ -569,7 +705,7 @@ msgid "" "across multiple lines in your source." msgstr "" -#: ../../library/doctest.rst:557 +#: ../../library/doctest.rst:578 msgid "" "When specified, an ellipsis marker (``...``) in the expected output can " "match any substring in the actual output. This includes substrings that " @@ -578,37 +714,37 @@ msgid "" "matched too much!\" surprises that ``.*`` is prone to in regular expressions." msgstr "" -#: ../../library/doctest.rst:566 +#: ../../library/doctest.rst:587 msgid "" "When specified, doctests expecting exceptions pass so long as an exception " "of the expected type is raised, even if the details (message and fully " "qualified exception name) don't match." msgstr "" -#: ../../library/doctest.rst:570 +#: ../../library/doctest.rst:591 msgid "" "For example, an example expecting ``ValueError: 42`` will pass if the actual " -"exception raised is ``ValueError: 3*14``, but will fail if, say, a :exc:" -"`TypeError` is raised instead. It will also ignore any fully qualified name " -"included before the exception class, which can vary between implementations " -"and versions of Python and the code/libraries in use. Hence, all three of " -"these variations will work with the flag specified:" +"exception raised is ``ValueError: 3*14``, but will fail if, say, " +"a :exc:`TypeError` is raised instead. It will also ignore any fully " +"qualified name included before the exception class, which can vary between " +"implementations and versions of Python and the code/libraries in use. Hence, " +"all three of these variations will work with the flag specified:" msgstr "" -#: ../../library/doctest.rst:592 +#: ../../library/doctest.rst:613 msgid "" "Note that :const:`ELLIPSIS` can also be used to ignore the details of the " "exception message, but such a test may still fail based on whether the " "module name is present or matches exactly." msgstr "" -#: ../../library/doctest.rst:596 +#: ../../library/doctest.rst:617 msgid "" ":const:`IGNORE_EXCEPTION_DETAIL` now also ignores any information relating " "to the module containing the exception under test." msgstr "" -#: ../../library/doctest.rst:603 +#: ../../library/doctest.rst:624 msgid "" "When specified, do not run the example at all. This can be useful in " "contexts where doctest examples serve as both documentation and test cases, " @@ -617,32 +753,32 @@ msgid "" "might depend on resources which would be unavailable to the test driver." msgstr "" -#: ../../library/doctest.rst:609 +#: ../../library/doctest.rst:630 msgid "" "The SKIP flag can also be used for temporarily \"commenting out\" examples." msgstr "" -#: ../../library/doctest.rst:614 +#: ../../library/doctest.rst:635 msgid "A bitmask or'ing together all the comparison flags above." msgstr "" -#: ../../library/doctest.rst:616 +#: ../../library/doctest.rst:637 msgid "The second group of options controls how test failures are reported:" msgstr "" -#: ../../library/doctest.rst:621 +#: ../../library/doctest.rst:642 msgid "" "When specified, failures that involve multi-line expected and actual outputs " "are displayed using a unified diff." msgstr "" -#: ../../library/doctest.rst:627 +#: ../../library/doctest.rst:648 msgid "" "When specified, failures that involve multi-line expected and actual outputs " "will be displayed using a context diff." msgstr "" -#: ../../library/doctest.rst:633 +#: ../../library/doctest.rst:654 msgid "" "When specified, differences are computed by ``difflib.Differ``, using the " "same algorithm as the popular :file:`ndiff.py` utility. This is the only " @@ -652,7 +788,7 @@ msgid "" "mismatching column positions." msgstr "" -#: ../../library/doctest.rst:642 +#: ../../library/doctest.rst:663 msgid "" "When specified, display the first failing example in each doctest, but " "suppress output for all remaining examples. This will prevent doctest from " @@ -663,7 +799,7 @@ msgid "" "of failures reported; only the output is suppressed." msgstr "" -#: ../../library/doctest.rst:653 +#: ../../library/doctest.rst:674 msgid "" "When specified, exit after the first failing example and don't attempt to " "run the remaining examples. Thus, the number of failures reported will be at " @@ -671,60 +807,60 @@ msgid "" "first failure won't even produce debugging output." msgstr "" -#: ../../library/doctest.rst:658 +#: ../../library/doctest.rst:679 msgid "" "The doctest command line accepts the option ``-f`` as a shorthand for ``-o " "FAIL_FAST``." msgstr "" -#: ../../library/doctest.rst:666 +#: ../../library/doctest.rst:687 msgid "A bitmask or'ing together all the reporting flags above." msgstr "" -#: ../../library/doctest.rst:669 +#: ../../library/doctest.rst:690 msgid "" "There is also a way to register new option flag names, though this isn't " "useful unless you intend to extend :mod:`doctest` internals via subclassing:" msgstr "" -#: ../../library/doctest.rst:675 +#: ../../library/doctest.rst:696 msgid "" "Create a new option flag with a given name, and return the new flag's " -"integer value. :func:`register_optionflag` can be used when subclassing :" -"class:`OutputChecker` or :class:`DocTestRunner` to create new options that " -"are supported by your subclasses. :func:`register_optionflag` should always " -"be called using the following idiom::" +"integer value. :func:`register_optionflag` can be used when " +"subclassing :class:`OutputChecker` or :class:`DocTestRunner` to create new " +"options that are supported by your subclasses. :func:`register_optionflag` " +"should always be called using the following idiom::" msgstr "" -#: ../../library/doctest.rst:691 +#: ../../library/doctest.rst:712 msgid "Directives" msgstr "" -#: ../../library/doctest.rst:693 +#: ../../library/doctest.rst:714 msgid "" "Doctest directives may be used to modify the :ref:`option flags ` for an individual example. Doctest directives are special Python " "comments following an example's source code:" msgstr "" -#: ../../library/doctest.rst:704 +#: ../../library/doctest.rst:725 msgid "" "Whitespace is not allowed between the ``+`` or ``-`` and the directive " "option name. The directive option name can be any of the option flag names " "explained above." msgstr "" -#: ../../library/doctest.rst:708 +#: ../../library/doctest.rst:729 msgid "" "An example's doctest directives modify doctest's behavior for that single " "example. Use ``+`` to enable the named behavior, or ``-`` to disable it." msgstr "" -#: ../../library/doctest.rst:711 +#: ../../library/doctest.rst:732 msgid "For example, this test passes:" -msgstr "" +msgstr "Por exemplo, este teste é aprovado:" -#: ../../library/doctest.rst:720 +#: ../../library/doctest.rst:741 msgid "" "Without the directive it would fail, both because the actual output doesn't " "have two blanks before the single-digit list elements, and because the " @@ -732,26 +868,26 @@ msgid "" "a directive to do so:" msgstr "" -#: ../../library/doctest.rst:731 +#: ../../library/doctest.rst:752 msgid "" "Multiple directives can be used on a single physical line, separated by " "commas:" msgstr "" -#: ../../library/doctest.rst:740 +#: ../../library/doctest.rst:761 msgid "" "If multiple directive comments are used for a single example, then they are " "combined:" msgstr "" -#: ../../library/doctest.rst:750 +#: ../../library/doctest.rst:771 msgid "" "As the previous example shows, you can add ``...`` lines to your example " "containing only directives. This can be useful when an example is too long " "for a directive to comfortably fit on the same line:" msgstr "" -#: ../../library/doctest.rst:761 +#: ../../library/doctest.rst:782 msgid "" "Note that since all options are disabled by default, and directives apply " "only to the example they appear in, enabling options (via ``+`` in a " @@ -761,11 +897,11 @@ msgid "" "be useful." msgstr "" -#: ../../library/doctest.rst:771 +#: ../../library/doctest.rst:792 msgid "Warnings" msgstr "Avisos" -#: ../../library/doctest.rst:773 +#: ../../library/doctest.rst:794 msgid "" ":mod:`doctest` is serious about requiring exact matches in expected output. " "If even a single character doesn't match, the test fails. This will " @@ -775,51 +911,51 @@ msgid "" "test like ::" msgstr "" -#: ../../library/doctest.rst:782 +#: ../../library/doctest.rst:803 msgid "is vulnerable! One workaround is to do ::" msgstr "" -#: ../../library/doctest.rst:787 +#: ../../library/doctest.rst:808 msgid "instead. Another is to do ::" msgstr "" -#: ../../library/doctest.rst:793 +#: ../../library/doctest.rst:814 msgid "There are others, but you get the idea." msgstr "" -#: ../../library/doctest.rst:795 +#: ../../library/doctest.rst:816 msgid "Another bad idea is to print things that embed an object address, like" msgstr "" -#: ../../library/doctest.rst:805 +#: ../../library/doctest.rst:826 msgid "" "The :const:`ELLIPSIS` directive gives a nice approach for the last example:" msgstr "" -#: ../../library/doctest.rst:813 +#: ../../library/doctest.rst:834 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. ::" msgstr "" -#: ../../library/doctest.rst:824 +#: ../../library/doctest.rst:845 msgid "" "Numbers of the form ``I/2.**J`` are safe across all platforms, and I often " "contrive doctest examples to produce numbers of that form::" msgstr "" -#: ../../library/doctest.rst:830 +#: ../../library/doctest.rst:851 msgid "" "Simple fractions are also easier for people to understand, and that makes " "for better documentation." msgstr "" -#: ../../library/doctest.rst:837 +#: ../../library/doctest.rst:858 msgid "Basic API" msgstr "" -#: ../../library/doctest.rst:839 +#: ../../library/doctest.rst:860 msgid "" "The functions :func:`testmod` and :func:`testfile` provide a simple " "interface to doctest that should be sufficient for most basic uses. For a " @@ -827,25 +963,25 @@ msgid "" "simple-testmod` and :ref:`doctest-simple-testfile`." msgstr "" -#: ../../library/doctest.rst:847 +#: ../../library/doctest.rst:868 msgid "" "All arguments except *filename* are optional, and should be specified in " "keyword form." msgstr "" -#: ../../library/doctest.rst:850 +#: ../../library/doctest.rst:871 msgid "" "Test examples in the file named *filename*. Return ``(failure_count, " "test_count)``." msgstr "" -#: ../../library/doctest.rst:853 +#: ../../library/doctest.rst:874 msgid "" "Optional argument *module_relative* specifies how the filename should be " "interpreted:" msgstr "" -#: ../../library/doctest.rst:856 +#: ../../library/doctest.rst:877 msgid "" "If *module_relative* is ``True`` (the default), then *filename* specifies an " "OS-independent module-relative path. By default, this path is relative to " @@ -855,20 +991,20 @@ msgid "" "absolute path (i.e., it may not begin with ``/``)." msgstr "" -#: ../../library/doctest.rst:863 +#: ../../library/doctest.rst:884 msgid "" "If *module_relative* is ``False``, then *filename* specifies an OS-specific " "path. The path may be absolute or relative; relative paths are resolved " "with respect to the current working directory." msgstr "" -#: ../../library/doctest.rst:867 +#: ../../library/doctest.rst:888 msgid "" "Optional argument *name* gives the name of the test; by default, or if " "``None``, ``os.path.basename(filename)`` is used." msgstr "" -#: ../../library/doctest.rst:870 +#: ../../library/doctest.rst:891 msgid "" "Optional argument *package* is a Python package or the name of a Python " "package whose directory should be used as the base directory for a module-" @@ -877,7 +1013,7 @@ msgid "" "is an error to specify *package* if *module_relative* is ``False``." msgstr "" -#: ../../library/doctest.rst:876 +#: ../../library/doctest.rst:897 msgid "" "Optional argument *globs* gives a dict to be used as the globals when " "executing examples. A new shallow copy of this dict is created for the " @@ -885,7 +1021,7 @@ msgid "" "``None``, a new empty dict is used." msgstr "" -#: ../../library/doctest.rst:881 +#: ../../library/doctest.rst:902 msgid "" "Optional argument *extraglobs* gives a dict merged into the globals used to " "execute examples. This works like :meth:`dict.update`: if *globs* and " @@ -898,27 +1034,27 @@ msgid "" "tested." msgstr "" -#: ../../library/doctest.rst:890 +#: ../../library/doctest.rst:911 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``." msgstr "" -#: ../../library/doctest.rst:894 +#: ../../library/doctest.rst:915 msgid "" "Optional argument *report* prints a summary at the end when true, else " "prints nothing at the end. In verbose mode, the summary is detailed, else " "the summary is very brief (in fact, empty if all tests passed)." msgstr "" -#: ../../library/doctest.rst:898 +#: ../../library/doctest.rst:919 msgid "" "Optional argument *optionflags* (default value 0) takes the :ref:`bitwise OR " "` of option flags. See section :ref:`doctest-options`." msgstr "" -#: ../../library/doctest.rst:902 +#: ../../library/doctest.rst:923 msgid "" "Optional argument *raise_on_error* defaults to false. If true, an exception " "is raised upon the first failure or unexpected exception in an example. " @@ -926,98 +1062,99 @@ msgid "" "continue running examples." msgstr "" -#: ../../library/doctest.rst:907 ../../library/doctest.rst:1047 +#: ../../library/doctest.rst:928 ../../library/doctest.rst:1069 msgid "" "Optional argument *parser* specifies a :class:`DocTestParser` (or subclass) " "that should be used to extract tests from the files. It defaults to a " "normal parser (i.e., ``DocTestParser()``)." msgstr "" -#: ../../library/doctest.rst:911 ../../library/doctest.rst:1051 +#: ../../library/doctest.rst:932 ../../library/doctest.rst:1073 msgid "" "Optional argument *encoding* specifies an encoding that should be used to " "convert the file to unicode." msgstr "" -#: ../../library/doctest.rst:917 +#: ../../library/doctest.rst:938 msgid "" "All arguments are optional, and all except for *m* should be specified in " "keyword form." msgstr "" -#: ../../library/doctest.rst:920 +#: ../../library/doctest.rst:941 msgid "" "Test examples in docstrings in functions and classes reachable from module " "*m* (or module :mod:`__main__` if *m* is not supplied or is ``None``), " "starting with ``m.__doc__``." msgstr "" -#: ../../library/doctest.rst:924 +#: ../../library/doctest.rst:945 msgid "" -"Also test examples reachable from dict ``m.__test__``, if it exists and is " -"not ``None``. ``m.__test__`` maps names (strings) to functions, classes and " -"strings; function and class docstrings are searched for examples; strings " -"are searched directly, as if they were docstrings." +"Also test examples reachable from dict ``m.__test__``, if it exists. " +"``m.__test__`` maps names (strings) to functions, classes and strings; " +"function and class docstrings are searched for examples; strings are " +"searched directly, as if they were docstrings." msgstr "" -#: ../../library/doctest.rst:929 +#: ../../library/doctest.rst:950 msgid "" "Only docstrings attached to objects belonging to module *m* are searched." msgstr "" -#: ../../library/doctest.rst:931 +#: ../../library/doctest.rst:952 msgid "Return ``(failure_count, test_count)``." msgstr "" -#: ../../library/doctest.rst:933 +#: ../../library/doctest.rst:954 msgid "" "Optional argument *name* gives the name of the module; by default, or if " "``None``, ``m.__name__`` is used." msgstr "" -#: ../../library/doctest.rst:936 +#: ../../library/doctest.rst:957 msgid "" "Optional argument *exclude_empty* defaults to false. If true, objects for " "which no doctests are found are excluded from consideration. The default is " -"a backward compatibility hack, so that code still using :meth:`doctest." -"master.summarize` in conjunction with :func:`testmod` continues to get " -"output for objects with no tests. The *exclude_empty* argument to the newer :" -"class:`DocTestFinder` constructor defaults to true." +"a backward compatibility hack, so that code still " +"using :meth:`doctest.master.summarize ` in " +"conjunction with :func:`testmod` continues to get output for objects with no " +"tests. The *exclude_empty* argument to the newer :class:`DocTestFinder` " +"constructor defaults to true." msgstr "" -#: ../../library/doctest.rst:943 +#: ../../library/doctest.rst:965 msgid "" "Optional arguments *extraglobs*, *verbose*, *report*, *optionflags*, " "*raise_on_error*, and *globs* are the same as for function :func:`testfile` " "above, except that *globs* defaults to ``m.__dict__``." msgstr "" -#: ../../library/doctest.rst:950 +#: ../../library/doctest.rst:972 msgid "" "Test examples associated with object *f*; for example, *f* may be a string, " "a module, a function, or a class object." msgstr "" -#: ../../library/doctest.rst:953 +#: ../../library/doctest.rst:975 msgid "" "A shallow copy of dictionary argument *globs* is used for the execution " "context." msgstr "" -#: ../../library/doctest.rst:955 +#: ../../library/doctest.rst:977 msgid "" "Optional argument *name* is used in failure messages, and defaults to " "``\"NoName\"``." msgstr "" -#: ../../library/doctest.rst:958 +#: ../../library/doctest.rst:980 msgid "" "If optional argument *verbose* is true, output is generated even if there " "are no failures. By default, output is generated only in case of an example " "failure." msgstr "" -#: ../../library/doctest.rst:961 +#: ../../library/doctest.rst:983 msgid "" "Optional argument *compileflags* gives the set of flags that should be used " "by the Python compiler when running the examples. By default, or if " @@ -1025,60 +1162,61 @@ msgid "" "found in *globs*." msgstr "" -#: ../../library/doctest.rst:965 +#: ../../library/doctest.rst:987 msgid "" "Optional argument *optionflags* works as for function :func:`testfile` above." msgstr "" -#: ../../library/doctest.rst:971 +#: ../../library/doctest.rst:993 msgid "Unittest API" msgstr "API do Unittest" -#: ../../library/doctest.rst:973 +#: ../../library/doctest.rst:995 msgid "" "As your collection of doctest'ed modules grows, you'll want a way to run all " "their doctests systematically. :mod:`doctest` provides two functions that " "can be used to create :mod:`unittest` test suites from modules and text " "files containing doctests. To integrate with :mod:`unittest` test " -"discovery, include a :func:`load_tests` function in your test module::" +"discovery, include a :ref:`load_tests ` function in " +"your test module::" msgstr "" -#: ../../library/doctest.rst:987 +#: ../../library/doctest.rst:1009 msgid "" "There are two main functions for creating :class:`unittest.TestSuite` " "instances from text files and modules with doctests:" msgstr "" -#: ../../library/doctest.rst:993 +#: ../../library/doctest.rst:1015 msgid "" -"Convert doctest tests from one or more text files to a :class:`unittest." -"TestSuite`." +"Convert doctest tests from one or more text files to " +"a :class:`unittest.TestSuite`." msgstr "" -#: ../../library/doctest.rst:996 +#: ../../library/doctest.rst:1018 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:`failureException` exception is raised showing the name of the file " "containing the test and a (sometimes approximate) line number." msgstr "" -#: ../../library/doctest.rst:1002 +#: ../../library/doctest.rst:1024 msgid "Pass one or more paths (as strings) to text files to be examined." msgstr "" -#: ../../library/doctest.rst:1004 +#: ../../library/doctest.rst:1026 msgid "Options may be provided as keyword arguments:" msgstr "" -#: ../../library/doctest.rst:1006 +#: ../../library/doctest.rst:1028 msgid "" "Optional argument *module_relative* specifies how the filenames in *paths* " "should be interpreted:" msgstr "" -#: ../../library/doctest.rst:1009 +#: ../../library/doctest.rst:1031 msgid "" "If *module_relative* is ``True`` (the default), then each filename in " "*paths* specifies an OS-independent module-relative path. By default, this " @@ -1089,14 +1227,14 @@ msgid "" "``)." msgstr "" -#: ../../library/doctest.rst:1017 +#: ../../library/doctest.rst:1039 msgid "" "If *module_relative* is ``False``, then each filename in *paths* specifies " "an OS-specific path. The path may be absolute or relative; relative paths " "are resolved with respect to the current working directory." msgstr "" -#: ../../library/doctest.rst:1021 +#: ../../library/doctest.rst:1043 msgid "" "Optional argument *package* is a Python package or the name of a Python " "package whose directory should be used as the base directory for module-" @@ -1106,7 +1244,7 @@ msgid "" "``False``." msgstr "" -#: ../../library/doctest.rst:1028 +#: ../../library/doctest.rst:1050 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 " @@ -1114,7 +1252,7 @@ msgid "" "test globals as the *globs* attribute of the test passed." msgstr "" -#: ../../library/doctest.rst:1033 +#: ../../library/doctest.rst:1055 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* " @@ -1122,32 +1260,33 @@ msgid "" "access the test globals as the *globs* attribute of the test passed." msgstr "" -#: ../../library/doctest.rst:1038 ../../library/doctest.rst:1072 +#: ../../library/doctest.rst:1060 ../../library/doctest.rst:1094 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 a new empty dictionary." msgstr "" -#: ../../library/doctest.rst:1042 +#: ../../library/doctest.rst:1064 msgid "" "Optional argument *optionflags* specifies the default doctest options for " -"the tests, created by or-ing together individual option flags. See section :" -"ref:`doctest-options`. See function :func:`set_unittest_reportflags` below " -"for a better way to set reporting options." +"the tests, created by or-ing together individual option flags. See " +"section :ref:`doctest-options`. See " +"function :func:`set_unittest_reportflags` below for a better way to set " +"reporting options." msgstr "" -#: ../../library/doctest.rst:1054 +#: ../../library/doctest.rst:1076 msgid "" "The global ``__file__`` is added to the globals provided to doctests loaded " "from a text file using :func:`DocFileSuite`." msgstr "" -#: ../../library/doctest.rst:1060 +#: ../../library/doctest.rst:1082 msgid "Convert doctest tests for a module to a :class:`unittest.TestSuite`." msgstr "" -#: ../../library/doctest.rst:1062 +#: ../../library/doctest.rst:1084 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, " @@ -1156,111 +1295,119 @@ msgid "" "(sometimes approximate) line number." msgstr "" -#: ../../library/doctest.rst:1068 +#: ../../library/doctest.rst:1090 msgid "" "Optional argument *module* provides the module to be tested. It can be a " "module object or a (possibly dotted) module name. If not specified, the " "module calling this function is used." msgstr "" -#: ../../library/doctest.rst:1076 +#: ../../library/doctest.rst:1098 msgid "" "Optional argument *extraglobs* specifies an extra set of global variables, " "which is merged into *globs*. By default, no extra globals are used." msgstr "" -#: ../../library/doctest.rst:1079 +#: ../../library/doctest.rst:1101 msgid "" "Optional argument *test_finder* is the :class:`DocTestFinder` object (or a " "drop-in replacement) that is used to extract doctests from the module." msgstr "" -#: ../../library/doctest.rst:1082 +#: ../../library/doctest.rst:1104 msgid "" "Optional arguments *setUp*, *tearDown*, and *optionflags* are the same as " "for function :func:`DocFileSuite` above." msgstr "" -#: ../../library/doctest.rst:1085 +#: ../../library/doctest.rst:1107 msgid "This function uses the same search technique as :func:`testmod`." msgstr "" -#: ../../library/doctest.rst:1087 +#: ../../library/doctest.rst:1109 msgid "" ":func:`DocTestSuite` returns an empty :class:`unittest.TestSuite` if " "*module* contains no docstrings instead of raising :exc:`ValueError`." msgstr "" -#: ../../library/doctest.rst:1092 +#: ../../library/doctest.rst:1115 +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 "" + +#: ../../library/doctest.rst:1119 msgid "" "Under the covers, :func:`DocTestSuite` creates a :class:`unittest.TestSuite` " -"out of :class:`doctest.DocTestCase` instances, and :class:`DocTestCase` is a " -"subclass of :class:`unittest.TestCase`. :class:`DocTestCase` isn't " +"out of :class:`!doctest.DocTestCase` instances, and :class:`!DocTestCase` is " +"a subclass of :class:`unittest.TestCase`. :class:`!DocTestCase` isn't " "documented here (it's an internal detail), but studying its code can answer " "questions about the exact details of :mod:`unittest` integration." msgstr "" -#: ../../library/doctest.rst:1098 +#: ../../library/doctest.rst:1125 msgid "" "Similarly, :func:`DocFileSuite` creates a :class:`unittest.TestSuite` out " -"of :class:`doctest.DocFileCase` instances, and :class:`DocFileCase` is a " -"subclass of :class:`DocTestCase`." +"of :class:`!doctest.DocFileCase` instances, and :class:`!DocFileCase` is a " +"subclass of :class:`!DocTestCase`." msgstr "" -#: ../../library/doctest.rst:1102 +#: ../../library/doctest.rst:1129 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." +"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." msgstr "" -#: ../../library/doctest.rst:1112 +#: ../../library/doctest.rst:1139 msgid "" "For this reason, :mod:`doctest` also supports a notion of :mod:`doctest` " "reporting flags specific to :mod:`unittest` support, via this function:" msgstr "" -#: ../../library/doctest.rst:1118 +#: ../../library/doctest.rst:1145 msgid "Set the :mod:`doctest` reporting flags to use." msgstr "" -#: ../../library/doctest.rst:1120 +#: ../../library/doctest.rst:1147 msgid "" "Argument *flags* takes the :ref:`bitwise OR ` of option flags. See " "section :ref:`doctest-options`. Only \"reporting flags\" can be used." msgstr "" -#: ../../library/doctest.rst:1123 +#: ../../library/doctest.rst:1150 msgid "" "This is a module-global setting, and affects all future doctests run by " -"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 " -"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." +"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 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." msgstr "" -#: ../../library/doctest.rst:1134 +#: ../../library/doctest.rst:1161 msgid "" "The value of the :mod:`unittest` reporting flags in effect before the " "function was called is returned by the function." msgstr "" -#: ../../library/doctest.rst:1141 +#: ../../library/doctest.rst:1168 msgid "Advanced API" msgstr "" -#: ../../library/doctest.rst:1143 +#: ../../library/doctest.rst:1170 msgid "" "The basic API is a simple wrapper that's intended to make doctest easy to " "use. It is fairly flexible, and should meet most users' needs; however, if " @@ -1268,143 +1415,143 @@ msgid "" "doctest's capabilities, then you should use the advanced API." msgstr "" -#: ../../library/doctest.rst:1148 +#: ../../library/doctest.rst:1175 msgid "" "The advanced API revolves around two container classes, which are used to " "store the interactive examples extracted from doctest cases:" msgstr "" -#: ../../library/doctest.rst:1151 +#: ../../library/doctest.rst:1178 msgid "" ":class:`Example`: A single Python :term:`statement`, paired with its " "expected output." msgstr "" -#: ../../library/doctest.rst:1154 +#: ../../library/doctest.rst:1181 msgid "" ":class:`DocTest`: A collection of :class:`Example`\\ s, typically extracted " "from a single docstring or text file." msgstr "" -#: ../../library/doctest.rst:1157 +#: ../../library/doctest.rst:1184 msgid "" "Additional processing classes are defined to find, parse, and run, and check " "doctest examples:" msgstr "" -#: ../../library/doctest.rst:1160 +#: ../../library/doctest.rst:1187 msgid "" -":class:`DocTestFinder`: Finds all docstrings in a given module, and uses a :" -"class:`DocTestParser` to create a :class:`DocTest` from every docstring that " -"contains interactive examples." +":class:`DocTestFinder`: Finds all docstrings in a given module, and uses " +"a :class:`DocTestParser` to create a :class:`DocTest` from every docstring " +"that contains interactive examples." msgstr "" -#: ../../library/doctest.rst:1164 +#: ../../library/doctest.rst:1191 msgid "" ":class:`DocTestParser`: Creates a :class:`DocTest` object from a string " "(such as an object's docstring)." msgstr "" -#: ../../library/doctest.rst:1167 +#: ../../library/doctest.rst:1194 msgid "" ":class:`DocTestRunner`: Executes the examples in a :class:`DocTest`, and " "uses an :class:`OutputChecker` to verify their output." msgstr "" -#: ../../library/doctest.rst:1170 +#: ../../library/doctest.rst:1197 msgid "" ":class:`OutputChecker`: Compares the actual output from a doctest example " "with the expected output, and decides whether they match." msgstr "" -#: ../../library/doctest.rst:1173 +#: ../../library/doctest.rst:1200 msgid "" "The relationships among these processing classes are summarized in the " "following diagram::" msgstr "" -#: ../../library/doctest.rst:1189 +#: ../../library/doctest.rst:1216 msgid "DocTest Objects" msgstr "" -#: ../../library/doctest.rst:1194 +#: ../../library/doctest.rst:1221 msgid "" "A collection of doctest examples that should be run in a single namespace. " "The constructor arguments are used to initialize the attributes of the same " "names." msgstr "" -#: ../../library/doctest.rst:1198 +#: ../../library/doctest.rst:1225 msgid "" ":class:`DocTest` defines the following attributes. They are initialized by " "the constructor, and should not be modified directly." msgstr "" -#: ../../library/doctest.rst:1204 +#: ../../library/doctest.rst:1231 msgid "" "A list of :class:`Example` objects encoding the individual interactive " "Python examples that should be run by this test." msgstr "" -#: ../../library/doctest.rst:1210 +#: ../../library/doctest.rst:1237 msgid "" "The namespace (aka globals) that the examples should be run in. This is a " "dictionary mapping names to values. Any changes to the namespace made by " -"the examples (such as binding new variables) will be reflected in :attr:" -"`globs` after the test is run." +"the examples (such as binding new variables) will be reflected " +"in :attr:`globs` after the test is run." msgstr "" -#: ../../library/doctest.rst:1218 +#: ../../library/doctest.rst:1245 msgid "" "A string name identifying the :class:`DocTest`. Typically, this is the name " "of the object or file that the test was extracted from." msgstr "" -#: ../../library/doctest.rst:1224 +#: ../../library/doctest.rst:1251 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 " "extracted from a file." msgstr "" -#: ../../library/doctest.rst:1231 +#: ../../library/doctest.rst:1258 msgid "" "The line number within :attr:`filename` where this :class:`DocTest` begins, " "or ``None`` if the line number is unavailable. This line number is zero-" "based with respect to the beginning of the file." msgstr "" -#: ../../library/doctest.rst:1238 +#: ../../library/doctest.rst:1265 msgid "" "The string that the test was extracted from, or ``None`` if the string is " "unavailable, or if the test was not extracted from a string." msgstr "" -#: ../../library/doctest.rst:1245 +#: ../../library/doctest.rst:1272 msgid "Example Objects" msgstr "" -#: ../../library/doctest.rst:1250 +#: ../../library/doctest.rst:1277 msgid "" "A single interactive example, consisting of a Python statement and its " "expected output. The constructor arguments are used to initialize the " "attributes of the same names." msgstr "" -#: ../../library/doctest.rst:1255 +#: ../../library/doctest.rst:1282 msgid "" ":class:`Example` defines the following attributes. They are initialized by " "the constructor, and should not be modified directly." msgstr "" -#: ../../library/doctest.rst:1261 +#: ../../library/doctest.rst:1288 msgid "" "A string containing the example's source code. This source code consists of " "a single Python statement, and always ends with a newline; the constructor " "adds a newline when necessary." msgstr "" -#: ../../library/doctest.rst:1268 +#: ../../library/doctest.rst:1295 msgid "" "The expected output from running the example's source code (either from " "stdout, or a traceback in case of exception). :attr:`want` ends with a " @@ -1412,42 +1559,42 @@ msgid "" "The constructor adds a newline when necessary." msgstr "" -#: ../../library/doctest.rst:1276 +#: ../../library/doctest.rst:1303 msgid "" "The exception message generated by the example, if the example is expected " "to generate an exception; or ``None`` if it is not expected to generate an " -"exception. This exception message is compared against the return value of :" -"func:`traceback.format_exception_only`. :attr:`exc_msg` ends with a newline " -"unless it's ``None``. The constructor adds a newline if needed." +"exception. This exception message is compared against the return value " +"of :func:`traceback.format_exception_only`. :attr:`exc_msg` ends with a " +"newline unless it's ``None``. The constructor adds a newline if needed." msgstr "" -#: ../../library/doctest.rst:1285 +#: ../../library/doctest.rst:1312 msgid "" "The line number within the string containing this example where the example " "begins. This line number is zero-based with respect to the beginning of the " "containing string." msgstr "" -#: ../../library/doctest.rst:1292 +#: ../../library/doctest.rst:1319 msgid "" "The example's indentation in the containing string, i.e., the number of " "space characters that precede the example's first prompt." msgstr "" -#: ../../library/doctest.rst:1298 +#: ../../library/doctest.rst:1325 msgid "" "A dictionary mapping from option flags to ``True`` or ``False``, which is " "used to override default options for this example. Any option flags not " "contained in this dictionary are left at their default value (as specified " -"by the :class:`DocTestRunner`'s :attr:`optionflags`). By default, no options " -"are set." +"by the :class:`DocTestRunner`'s :ref:`optionflags `). By " +"default, no options are set." msgstr "" -#: ../../library/doctest.rst:1307 +#: ../../library/doctest.rst:1335 msgid "DocTestFinder objects" msgstr "" -#: ../../library/doctest.rst:1312 +#: ../../library/doctest.rst:1340 msgid "" "A processing class used to extract the :class:`DocTest`\\ s that are " "relevant to a given object, from its docstring and the docstrings of its " @@ -1455,48 +1602,49 @@ msgid "" "classes, functions, methods, staticmethods, classmethods, and properties." msgstr "" -#: ../../library/doctest.rst:1317 +#: ../../library/doctest.rst:1345 msgid "" "The optional argument *verbose* can be used to display the objects searched " "by the finder. It defaults to ``False`` (no output)." msgstr "" -#: ../../library/doctest.rst:1320 +#: ../../library/doctest.rst:1348 msgid "" "The optional argument *parser* specifies the :class:`DocTestParser` object " "(or a drop-in replacement) that is used to extract doctests from docstrings." msgstr "" -#: ../../library/doctest.rst:1323 +#: ../../library/doctest.rst:1351 msgid "" "If the optional argument *recurse* is false, then :meth:`DocTestFinder.find` " "will only examine the given object, and not any contained objects." msgstr "" -#: ../../library/doctest.rst:1326 +#: ../../library/doctest.rst:1354 msgid "" -"If the optional argument *exclude_empty* is false, then :meth:`DocTestFinder." -"find` will include tests for objects with empty docstrings." +"If the optional argument *exclude_empty* is false, " +"then :meth:`DocTestFinder.find` will include tests for objects with empty " +"docstrings." msgstr "" -#: ../../library/doctest.rst:1330 +#: ../../library/doctest.rst:1358 msgid ":class:`DocTestFinder` defines the following method:" msgstr "" -#: ../../library/doctest.rst:1335 +#: ../../library/doctest.rst:1363 msgid "" "Return a list of the :class:`DocTest`\\ s that are defined by *obj*'s " "docstring, or by any of its contained objects' docstrings." msgstr "" -#: ../../library/doctest.rst:1338 +#: ../../library/doctest.rst:1366 msgid "" "The optional argument *name* specifies the object's name; this name will be " "used to construct names for the returned :class:`DocTest`\\ s. If *name* is " "not specified, then ``obj.__name__`` is used." msgstr "" -#: ../../library/doctest.rst:1342 +#: ../../library/doctest.rst:1370 msgid "" "The optional parameter *module* is the module that contains the given " "object. If the module is not specified or is ``None``, then the test finder " @@ -1504,26 +1652,26 @@ msgid "" "module is used:" msgstr "" -#: ../../library/doctest.rst:1346 +#: ../../library/doctest.rst:1374 msgid "As a default namespace, if *globs* is not specified." msgstr "" -#: ../../library/doctest.rst:1348 +#: ../../library/doctest.rst:1376 msgid "" "To prevent the DocTestFinder from extracting DocTests from objects that are " "imported from other modules. (Contained objects with modules other than " "*module* are ignored.)" msgstr "" -#: ../../library/doctest.rst:1352 +#: ../../library/doctest.rst:1380 msgid "To find the name of the file containing the object." msgstr "" -#: ../../library/doctest.rst:1354 +#: ../../library/doctest.rst:1382 msgid "To help find the line number of the object within its file." msgstr "" -#: ../../library/doctest.rst:1356 +#: ../../library/doctest.rst:1384 msgid "" "If *module* is ``False``, no attempt to find the module will be made. This " "is obscure, of use mostly in testing doctest itself: if *module* is " @@ -1532,7 +1680,7 @@ msgid "" "contained objects will (recursively) be searched for doctests." msgstr "" -#: ../../library/doctest.rst:1362 +#: ../../library/doctest.rst:1390 msgid "" "The globals for each :class:`DocTest` is formed by combining *globs* and " "*extraglobs* (bindings in *extraglobs* override bindings in *globs*). A new " @@ -1542,34 +1690,34 @@ msgid "" "defaults to ``{}``." msgstr "" -#: ../../library/doctest.rst:1373 +#: ../../library/doctest.rst:1401 msgid "DocTestParser objects" msgstr "" -#: ../../library/doctest.rst:1378 +#: ../../library/doctest.rst:1406 msgid "" "A processing class used to extract interactive examples from a string, and " "use them to create a :class:`DocTest` object." msgstr "" -#: ../../library/doctest.rst:1382 ../../library/doctest.rst:1450 +#: ../../library/doctest.rst:1410 msgid ":class:`DocTestParser` defines the following methods:" msgstr "" -#: ../../library/doctest.rst:1387 +#: ../../library/doctest.rst:1415 msgid "" -"Extract all doctest examples from the given string, and collect them into a :" -"class:`DocTest` object." +"Extract all doctest examples from the given string, and collect them into " +"a :class:`DocTest` object." msgstr "" -#: ../../library/doctest.rst:1390 +#: ../../library/doctest.rst:1418 msgid "" -"*globs*, *name*, *filename*, and *lineno* are attributes for the new :class:" -"`DocTest` object. See the documentation for :class:`DocTest` for more " -"information." +"*globs*, *name*, *filename*, and *lineno* are attributes for the " +"new :class:`DocTest` object. See the documentation for :class:`DocTest` for " +"more information." msgstr "" -#: ../../library/doctest.rst:1397 +#: ../../library/doctest.rst:1425 msgid "" "Extract all doctest examples from the given string, and return them as a " "list of :class:`Example` objects. Line numbers are 0-based. The optional " @@ -1577,7 +1725,7 @@ msgid "" "error messages." msgstr "" -#: ../../library/doctest.rst:1404 +#: ../../library/doctest.rst:1432 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 " @@ -1585,117 +1733,123 @@ msgid "" "name identifying this string, and is only used for error messages." msgstr "" -#: ../../library/doctest.rst:1413 +#: ../../library/doctest.rst:1441 msgid "DocTestRunner objects" msgstr "" -#: ../../library/doctest.rst:1418 +#: ../../library/doctest.rst:1446 msgid "" -"A processing class used to execute and verify the interactive examples in a :" -"class:`DocTest`." +"A processing class used to execute and verify the interactive examples in " +"a :class:`DocTest`." msgstr "" -#: ../../library/doctest.rst:1421 +#: ../../library/doctest.rst:1449 msgid "" -"The comparison between expected outputs and actual outputs is done by an :" -"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 " +"The comparison between expected outputs and actual outputs is done by " +"an :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 " "constructor." msgstr "" -#: ../../library/doctest.rst:1427 +#: ../../library/doctest.rst:1455 msgid "" "The test runner's display output can be controlled in two ways. First, an " "output function can be passed to :meth:`TestRunner.run`; this function will " -"be called with strings that should be displayed. It defaults to ``sys." -"stdout.write``. If capturing the output is not sufficient, then the display " -"output can be also customized by subclassing DocTestRunner, and overriding " -"the methods :meth:`report_start`, :meth:`report_success`, :meth:" -"`report_unexpected_exception`, and :meth:`report_failure`." +"be called with strings that should be displayed. It defaults to " +"``sys.stdout.write``. If capturing the output is not sufficient, then the " +"display output can be also customized by subclassing DocTestRunner, and " +"overriding the " +"methods :meth:`report_start`, :meth:`report_success`, :meth:`report_unexpected_exception`, " +"and :meth:`report_failure`." msgstr "" -#: ../../library/doctest.rst:1435 +#: ../../library/doctest.rst:1463 msgid "" "The optional keyword argument *checker* specifies the :class:`OutputChecker` " "object (or drop-in replacement) that should be used to compare the expected " "outputs to the actual outputs of doctest examples." msgstr "" -#: ../../library/doctest.rst:1439 +#: ../../library/doctest.rst:1467 msgid "" -"The optional keyword argument *verbose* controls the :class:" -"`DocTestRunner`'s verbosity. If *verbose* is ``True``, then information is " -"printed about each example, as it is run. If *verbose* is ``False``, then " -"only failures are printed. If *verbose* is unspecified, or ``None``, then " -"verbose output is used iff the command-line switch ``-v`` is used." +"The optional keyword argument *verbose* controls " +"the :class:`DocTestRunner`'s verbosity. If *verbose* is ``True``, then " +"information is printed about each example, as it is run. If *verbose* is " +"``False``, then only failures are printed. If *verbose* is unspecified, or " +"``None``, then verbose output is used iff the command-line switch ``-v`` is " +"used." msgstr "" -#: ../../library/doctest.rst:1445 +#: ../../library/doctest.rst:1473 msgid "" "The optional keyword argument *optionflags* can be used to control how the " "test runner compares expected output to actual output, and how it displays " "failures. For more information, see section :ref:`doctest-options`." msgstr "" -#: ../../library/doctest.rst:1455 +#: ../../library/doctest.rst:1478 +msgid ":class:`DocTestRunner` defines the following methods:" +msgstr "" + +#: ../../library/doctest.rst:1483 msgid "" "Report that the test runner is about to process the given example. This " "method is provided to allow subclasses of :class:`DocTestRunner` to " "customize their output; it should not be called directly." msgstr "" -#: ../../library/doctest.rst:1459 +#: ../../library/doctest.rst:1487 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:" -"`DocTestRunner.run`." +"*containing example*. *out* is the output function that was passed " +"to :meth:`DocTestRunner.run`." msgstr "" -#: ../../library/doctest.rst:1466 +#: ../../library/doctest.rst:1494 msgid "" "Report that the given example ran successfully. This method is provided to " "allow subclasses of :class:`DocTestRunner` to customize their output; it " "should not be called directly." msgstr "" -#: ../../library/doctest.rst:1470 ../../library/doctest.rst:1481 +#: ../../library/doctest.rst:1498 ../../library/doctest.rst:1509 msgid "" "*example* is the example about to be processed. *got* is the actual output " "from the example. *test* is the test containing *example*. *out* is the " "output function that was passed to :meth:`DocTestRunner.run`." msgstr "" -#: ../../library/doctest.rst:1477 +#: ../../library/doctest.rst:1505 msgid "" "Report that the given example failed. This method is provided to allow " "subclasses of :class:`DocTestRunner` to customize their output; it should " "not be called directly." msgstr "" -#: ../../library/doctest.rst:1488 +#: ../../library/doctest.rst:1516 msgid "" "Report that the given example raised an unexpected exception. This method is " "provided to allow subclasses of :class:`DocTestRunner` to customize their " "output; it should not be called directly." msgstr "" -#: ../../library/doctest.rst:1492 +#: ../../library/doctest.rst:1520 msgid "" "*example* is the example about to be processed. *exc_info* is a tuple " -"containing information about the unexpected exception (as returned by :func:" -"`sys.exc_info`). *test* is the test containing *example*. *out* is the " -"output function that was passed to :meth:`DocTestRunner.run`." +"containing information about the unexpected exception (as returned " +"by :func:`sys.exc_info`). *test* is the test containing *example*. *out* is " +"the output function that was passed to :meth:`DocTestRunner.run`." msgstr "" -#: ../../library/doctest.rst:1500 +#: ../../library/doctest.rst:1528 msgid "" "Run the examples in *test* (a :class:`DocTest` object), and display the " "results using the writer function *out*." msgstr "" -#: ../../library/doctest.rst:1503 +#: ../../library/doctest.rst:1531 msgid "" "The examples are run in the namespace ``test.globs``. If *clear_globs* is " "true (the default), then this namespace will be cleared after the test runs, " @@ -1703,82 +1857,82 @@ msgid "" "after the test completes, then use *clear_globs=False*." msgstr "" -#: ../../library/doctest.rst:1508 +#: ../../library/doctest.rst:1536 msgid "" "*compileflags* gives the set of flags that should be used by the Python " "compiler when running the examples. If not specified, then it will default " "to the set of future-import flags that apply to *globs*." msgstr "" -#: ../../library/doctest.rst:1512 +#: ../../library/doctest.rst:1540 msgid "" "The output of each example is checked using the :class:`DocTestRunner`'s " -"output checker, and the results are formatted by the :meth:`DocTestRunner." -"report_\\*` methods." +"output checker, and the results are formatted by the :meth:`!" +"DocTestRunner.report_\\*` methods." msgstr "" -#: ../../library/doctest.rst:1519 +#: ../../library/doctest.rst:1547 msgid "" "Print a summary of all the test cases that have been run by this " "DocTestRunner, and return a :term:`named tuple` ``TestResults(failed, " "attempted)``." msgstr "" -#: ../../library/doctest.rst:1522 +#: ../../library/doctest.rst:1550 msgid "" "The optional *verbose* argument controls how detailed the summary is. If " "the verbosity is not specified, then the :class:`DocTestRunner`'s verbosity " "is used." msgstr "" -#: ../../library/doctest.rst:1529 +#: ../../library/doctest.rst:1557 msgid "OutputChecker objects" msgstr "" -#: ../../library/doctest.rst:1534 +#: ../../library/doctest.rst:1562 msgid "" "A class used to check the whether the actual output from a doctest example " -"matches the expected output. :class:`OutputChecker` defines two methods: :" -"meth:`check_output`, which compares a given pair of outputs, and returns " -"``True`` if they match; and :meth:`output_difference`, which returns a " -"string describing the differences between two outputs." +"matches the expected output. :class:`OutputChecker` defines two " +"methods: :meth:`check_output`, which compares a given pair of outputs, and " +"returns ``True`` if they match; and :meth:`output_difference`, which returns " +"a string describing the differences between two outputs." msgstr "" -#: ../../library/doctest.rst:1541 +#: ../../library/doctest.rst:1569 msgid ":class:`OutputChecker` defines the following methods:" -msgstr "" +msgstr ":class:`OutputChecker` define os seguintes métodos:" -#: ../../library/doctest.rst:1545 +#: ../../library/doctest.rst:1573 msgid "" "Return ``True`` iff the actual output from an example (*got*) matches the " "expected output (*want*). These strings are always considered to match if " "they are identical; but depending on what option flags the test runner is " -"using, several non-exact match types are also possible. See section :ref:" -"`doctest-options` for more information about option flags." +"using, several non-exact match types are also possible. See " +"section :ref:`doctest-options` for more information about option flags." msgstr "" -#: ../../library/doctest.rst:1554 +#: ../../library/doctest.rst:1582 msgid "" "Return a string describing the differences between the expected output for a " "given example (*example*) and the actual output (*got*). *optionflags* is " "the set of option flags used to compare *want* and *got*." msgstr "" -#: ../../library/doctest.rst:1562 +#: ../../library/doctest.rst:1590 msgid "Debugging" msgstr "Depuração" -#: ../../library/doctest.rst:1564 +#: ../../library/doctest.rst:1592 msgid "Doctest provides several mechanisms for debugging doctest examples:" msgstr "" -#: ../../library/doctest.rst:1566 +#: ../../library/doctest.rst:1594 msgid "" "Several functions convert doctests to executable Python programs, which can " "be run under the Python debugger, :mod:`pdb`." msgstr "" -#: ../../library/doctest.rst:1569 +#: ../../library/doctest.rst:1597 msgid "" "The :class:`DebugRunner` class is a subclass of :class:`DocTestRunner` that " "raises an exception for the first failing example, containing information " @@ -1786,35 +1940,35 @@ msgid "" "debugging on the example." msgstr "" -#: ../../library/doctest.rst:1574 +#: ../../library/doctest.rst:1602 msgid "" -"The :mod:`unittest` cases generated by :func:`DocTestSuite` support the :" -"meth:`debug` method defined by :class:`unittest.TestCase`." +"The :mod:`unittest` cases generated by :func:`DocTestSuite` support " +"the :meth:`debug` method defined by :class:`unittest.TestCase`." msgstr "" -#: ../../library/doctest.rst:1577 +#: ../../library/doctest.rst:1605 msgid "" "You can add a call to :func:`pdb.set_trace` in a doctest example, and you'll " "drop into the Python debugger when that line is executed. Then you can " -"inspect current values of variables, and so on. For example, suppose :file:" -"`a.py` contains just this module docstring::" +"inspect current values of variables, and so on. For example, " +"suppose :file:`a.py` contains just this module docstring::" msgstr "" -#: ../../library/doctest.rst:1592 +#: ../../library/doctest.rst:1620 msgid "Then an interactive Python session may look like this::" msgstr "" -#: ../../library/doctest.rst:1625 +#: ../../library/doctest.rst:1653 msgid "" "Functions that convert doctests to Python code, and possibly run the " "synthesized code under the debugger:" msgstr "" -#: ../../library/doctest.rst:1631 +#: ../../library/doctest.rst:1659 msgid "Convert text with examples to a script." msgstr "" -#: ../../library/doctest.rst:1633 +#: ../../library/doctest.rst:1661 msgid "" "Argument *s* is a string containing doctest examples. The string is " "converted to a Python script, where doctest examples in *s* are converted to " @@ -1822,91 +1976,91 @@ msgid "" "generated script is returned as a string. For example, ::" msgstr "" -#: ../../library/doctest.rst:1648 +#: ../../library/doctest.rst:1676 msgid "displays::" msgstr "" -#: ../../library/doctest.rst:1658 +#: ../../library/doctest.rst:1686 msgid "" "This function is used internally by other functions (see below), but can " "also be useful when you want to transform an interactive Python session into " "a Python script." msgstr "" -#: ../../library/doctest.rst:1665 +#: ../../library/doctest.rst:1693 msgid "Convert the doctest for an object to a script." msgstr "" -#: ../../library/doctest.rst:1667 +#: ../../library/doctest.rst:1695 msgid "" "Argument *module* is a module object, or dotted name of a module, containing " "the object whose doctests are of interest. Argument *name* is the name " "(within the module) of the object with the doctests of interest. The result " "is a string, containing the object's docstring converted to a Python script, " "as described for :func:`script_from_examples` above. For example, if " -"module :file:`a.py` contains a top-level function :func:`f`, then ::" +"module :file:`a.py` contains a top-level function :func:`!f`, then ::" msgstr "" -#: ../../library/doctest.rst:1677 +#: ../../library/doctest.rst:1705 msgid "" -"prints a script version of function :func:`f`'s docstring, with doctests " +"prints a script version of function :func:`!f`'s docstring, with doctests " "converted to code, and the rest placed in comments." msgstr "" -#: ../../library/doctest.rst:1683 +#: ../../library/doctest.rst:1711 msgid "Debug the doctests for an object." msgstr "" -#: ../../library/doctest.rst:1685 +#: ../../library/doctest.rst:1713 msgid "" -"The *module* and *name* arguments are the same as for function :func:" -"`testsource` above. The synthesized Python script for the named object's " -"docstring is written to a temporary file, and then that file is run under " -"the control of the Python debugger, :mod:`pdb`." +"The *module* and *name* arguments are the same as for " +"function :func:`testsource` above. The synthesized Python script for the " +"named object's docstring is written to a temporary file, and then that file " +"is run under the control of the Python debugger, :mod:`pdb`." msgstr "" -#: ../../library/doctest.rst:1690 +#: ../../library/doctest.rst:1718 msgid "" "A shallow copy of ``module.__dict__`` is used for both local and global " "execution context." msgstr "" -#: ../../library/doctest.rst:1693 +#: ../../library/doctest.rst:1721 msgid "" "Optional argument *pm* controls whether post-mortem debugging is used. If " "*pm* has a true value, the script file is run directly, and the debugger " "gets involved only if the script terminates via raising an unhandled " -"exception. If it does, then post-mortem debugging is invoked, via :func:" -"`pdb.post_mortem`, passing the traceback object from the unhandled " +"exception. If it does, then post-mortem debugging is invoked, " +"via :func:`pdb.post_mortem`, passing the traceback object from the unhandled " "exception. If *pm* is not specified, or is false, the script is run under " "the debugger from the start, via passing an appropriate :func:`exec` call " "to :func:`pdb.run`." msgstr "" -#: ../../library/doctest.rst:1704 +#: ../../library/doctest.rst:1732 msgid "Debug the doctests in a string." msgstr "" -#: ../../library/doctest.rst:1706 +#: ../../library/doctest.rst:1734 msgid "" "This is like function :func:`debug` above, except that a string containing " "doctest examples is specified directly, via the *src* argument." msgstr "" -#: ../../library/doctest.rst:1709 +#: ../../library/doctest.rst:1737 msgid "" "Optional argument *pm* has the same meaning as in function :func:`debug` " "above." msgstr "" -#: ../../library/doctest.rst:1711 +#: ../../library/doctest.rst:1739 msgid "" "Optional argument *globs* gives a dictionary to use as both local and global " "execution context. If not specified, or ``None``, an empty dictionary is " "used. If specified, a shallow copy of the dictionary is used." msgstr "" -#: ../../library/doctest.rst:1716 +#: ../../library/doctest.rst:1744 msgid "" "The :class:`DebugRunner` class, and the special exceptions it may raise, are " "of most interest to testing framework authors, and will only be sketched " @@ -1914,99 +2068,99 @@ msgid "" "(which is a doctest!) for more details:" msgstr "" -#: ../../library/doctest.rst:1724 +#: ../../library/doctest.rst:1752 msgid "" "A subclass of :class:`DocTestRunner` that raises an exception as soon as a " -"failure is encountered. If an unexpected exception occurs, an :exc:" -"`UnexpectedException` exception is raised, containing the test, the example, " -"and the original exception. If the output doesn't match, then a :exc:" -"`DocTestFailure` exception is raised, containing the test, the example, and " -"the actual output." +"failure is encountered. If an unexpected exception occurs, " +"an :exc:`UnexpectedException` exception is raised, containing the test, the " +"example, and the original exception. If the output doesn't match, then " +"a :exc:`DocTestFailure` exception is raised, containing the test, the " +"example, and the actual output." msgstr "" -#: ../../library/doctest.rst:1731 +#: ../../library/doctest.rst:1759 msgid "" "For information about the constructor parameters and methods, see the " "documentation for :class:`DocTestRunner` in section :ref:`doctest-advanced-" "api`." msgstr "" -#: ../../library/doctest.rst:1734 +#: ../../library/doctest.rst:1762 msgid "" "There are two exceptions that may be raised by :class:`DebugRunner` " "instances:" msgstr "" -#: ../../library/doctest.rst:1739 +#: ../../library/doctest.rst:1767 msgid "" "An exception raised by :class:`DocTestRunner` to signal that a doctest " "example's actual output did not match its expected output. The constructor " "arguments are used to initialize the attributes of the same names." msgstr "" -#: ../../library/doctest.rst:1743 +#: ../../library/doctest.rst:1771 msgid ":exc:`DocTestFailure` defines the following attributes:" msgstr "" -#: ../../library/doctest.rst:1748 ../../library/doctest.rst:1772 +#: ../../library/doctest.rst:1776 ../../library/doctest.rst:1800 msgid "The :class:`DocTest` object that was being run when the example failed." msgstr "" -#: ../../library/doctest.rst:1753 ../../library/doctest.rst:1777 +#: ../../library/doctest.rst:1781 ../../library/doctest.rst:1805 msgid "The :class:`Example` that failed." msgstr "" -#: ../../library/doctest.rst:1758 +#: ../../library/doctest.rst:1786 msgid "The example's actual output." msgstr "" -#: ../../library/doctest.rst:1763 +#: ../../library/doctest.rst:1791 msgid "" "An exception raised by :class:`DocTestRunner` to signal that a doctest " "example raised an unexpected exception. The constructor arguments are used " "to initialize the attributes of the same names." msgstr "" -#: ../../library/doctest.rst:1767 +#: ../../library/doctest.rst:1795 msgid ":exc:`UnexpectedException` defines the following attributes:" -msgstr "" +msgstr ":exc:`UnexpectedException` define os seguintes atributos:" -#: ../../library/doctest.rst:1782 +#: ../../library/doctest.rst:1810 msgid "" "A tuple containing information about the unexpected exception, as returned " "by :func:`sys.exc_info`." msgstr "" -#: ../../library/doctest.rst:1789 +#: ../../library/doctest.rst:1817 msgid "Soapbox" msgstr "" -#: ../../library/doctest.rst:1791 +#: ../../library/doctest.rst:1819 msgid "" "As mentioned in the introduction, :mod:`doctest` has grown to have three " "primary uses:" msgstr "" -#: ../../library/doctest.rst:1794 +#: ../../library/doctest.rst:1822 msgid "Checking examples in docstrings." msgstr "" -#: ../../library/doctest.rst:1796 +#: ../../library/doctest.rst:1824 msgid "Regression testing." msgstr "" -#: ../../library/doctest.rst:1798 +#: ../../library/doctest.rst:1826 msgid "Executable documentation / literate testing." msgstr "" -#: ../../library/doctest.rst:1800 +#: ../../library/doctest.rst:1828 msgid "" "These uses have different requirements, and it is important to distinguish " "them. In particular, filling your docstrings with obscure test cases makes " "for bad documentation." msgstr "" -#: ../../library/doctest.rst:1804 +#: ../../library/doctest.rst:1832 msgid "" "When writing a docstring, choose docstring examples with care. There's an " "art to this that needs to be learned---it may not be natural at first. " @@ -2018,7 +2172,7 @@ msgid "" "\"harmless\" change." msgstr "" -#: ../../library/doctest.rst:1812 +#: ../../library/doctest.rst:1840 msgid "" "Doctest also makes an excellent tool for regression testing, especially if " "you don't skimp on explanatory text. By interleaving prose and examples, it " @@ -2039,13 +2193,13 @@ msgid "" "different results, blurring the distinction between testing and explaining." msgstr "" -#: ../../library/doctest.rst:1830 +#: ../../library/doctest.rst:1858 msgid "" "Regression testing is best confined to dedicated objects or files. There " "are several options for organizing tests:" msgstr "" -#: ../../library/doctest.rst:1833 +#: ../../library/doctest.rst:1861 msgid "" "Write text files containing test cases as interactive examples, and test the " "files using :func:`testfile` or :func:`DocFileSuite`. This is recommended, " @@ -2053,7 +2207,7 @@ msgid "" "doctest." msgstr "" -#: ../../library/doctest.rst:1838 +#: ../../library/doctest.rst:1866 msgid "" "Define functions named ``_regrtest_topic`` that consist of single " "docstrings, containing test cases for the named topics. These functions can " @@ -2061,13 +2215,13 @@ msgid "" "test file." msgstr "" -#: ../../library/doctest.rst:1842 +#: ../../library/doctest.rst:1870 msgid "" "Define a ``__test__`` dictionary mapping from regression test topics to " "docstrings containing test cases." msgstr "" -#: ../../library/doctest.rst:1845 +#: ../../library/doctest.rst:1873 msgid "" "When you have placed your tests in a module, the module can itself be the " "test runner. When a test fails, you can arrange for your test runner to re-" @@ -2075,53 +2229,53 @@ msgid "" "example of such a test runner::" msgstr "" -#: ../../library/doctest.rst:1867 +#: ../../library/doctest.rst:1895 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/doctest.rst:1868 +#: ../../library/doctest.rst:1896 msgid "" "Examples containing both expected output and an exception are not supported. " "Trying to guess where one ends and the other begins is too error-prone, and " "that also makes for a confusing test." msgstr "" -#: ../../library/doctest.rst:318 +#: ../../library/doctest.rst:339 msgid ">>>" msgstr ">>>" -#: ../../library/doctest.rst:318 +#: ../../library/doctest.rst:339 msgid "interpreter prompt" -msgstr "" +msgstr "prompt do interpretador" -#: ../../library/doctest.rst:318 ../../library/doctest.rst:554 +#: ../../library/doctest.rst:339 ../../library/doctest.rst:575 msgid "..." msgstr "..." -#: ../../library/doctest.rst:482 +#: ../../library/doctest.rst:503 msgid "^ (caret)" -msgstr "" +msgstr "^ (circunflexo)" -#: ../../library/doctest.rst:482 +#: ../../library/doctest.rst:503 msgid "marker" msgstr "" -#: ../../library/doctest.rst:534 +#: ../../library/doctest.rst:555 msgid "" -msgstr "" +msgstr "" -#: ../../library/doctest.rst:554 ../../library/doctest.rst:684 +#: ../../library/doctest.rst:575 ../../library/doctest.rst:705 msgid "in doctests" msgstr "" -#: ../../library/doctest.rst:684 +#: ../../library/doctest.rst:705 msgid "# (hash)" msgstr "# (cerquilha)" -#: ../../library/doctest.rst:684 +#: ../../library/doctest.rst:705 msgid "+ (plus)" -msgstr "" +msgstr "+ (mais)" -#: ../../library/doctest.rst:684 +#: ../../library/doctest.rst:705 msgid "- (minus)" -msgstr "" +msgstr "- (menos)" diff --git a/library/dummy_threading.po b/library/dummy_threading.po deleted file mode 100644 index deb23fb1c..000000000 --- a/library/dummy_threading.po +++ /dev/null @@ -1,63 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2020, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Rafael Fontenelle , 2019 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.8\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-02-09 12:40+0000\n" -"PO-Revision-Date: 2017-02-16 23:07+0000\n" -"Last-Translator: Rafael Fontenelle , 2019\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" -"teams/5390/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: ../../library/dummy_threading.rst:2 -msgid "" -":mod:`dummy_threading` --- Drop-in replacement for the :mod:`threading` " -"module" -msgstr "" -":mod:`dummy_threading` --- Substituição drop-in para o módulo :mod:" -"`threading`" - -#: ../../library/dummy_threading.rst:7 -msgid "**Source code:** :source:`Lib/dummy_threading.py`" -msgstr "**Código-fonte:** :source:`Lib/dummy_threading.py`" - -#: ../../library/dummy_threading.rst:9 -msgid "" -"Python now always has threading enabled. Please use :mod:`threading` " -"instead." -msgstr "" -"O Python agora sempre tem a segmentação ativada. Por favor use :mod:" -"`threading`." - -#: ../../library/dummy_threading.rst:14 -msgid "" -"This module provides a duplicate interface to the :mod:`threading` module. " -"It was meant to be imported when the :mod:`_thread` module was not provided " -"on a platform." -msgstr "" -"Este módulo fornece uma interface duplicada para o módulo :mod:`threading`. " -"A ideia é que ele fosse importado quando o módulo :mod:`_thread` não fosse " -"fornecido em uma plataforma." - -#: ../../library/dummy_threading.rst:18 -msgid "" -"Be careful to not use this module where deadlock might occur from a thread " -"being created that blocks waiting for another thread to be created. This " -"often occurs with blocking I/O." -msgstr "" -"Tenha cuidado para não usar este módulo onde o deadlock pode ocorrer a " -"partir de uma segmento que está sendo criado, bloqueando a espera pela " -"criação de outro segmento. Isso geralmente ocorre com o bloqueio de E/S." diff --git a/library/email.charset.po b/library/email.charset.po index a9faf3038..61281fbf4 100644 --- a/library/email.charset.po +++ b/library/email.charset.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -36,29 +36,36 @@ msgid "" "This module is part of the legacy (``Compat32``) email API. In the new API " "only the aliases table is used." msgstr "" +"Este módulo faz parte da API de e-mail legada (``Compat32``). Na nova API, " +"apenas a tabela de apelidos é usada." #: ../../library/email.charset.rst:14 msgid "" "The remaining text in this section is the original documentation of the " "module." -msgstr "" +msgstr "O texto restante nesta seção é a documentação original do módulo." #: ../../library/email.charset.rst:16 msgid "" "This module provides a class :class:`Charset` for representing character " "sets and character set conversions in email messages, as well as a character " "set registry and several convenience methods for manipulating this registry. " -"Instances of :class:`Charset` are used in several other modules within the :" -"mod:`email` package." +"Instances of :class:`Charset` are used in several other modules within " +"the :mod:`email` package." msgstr "" +"Este módulo fornece uma classe :class:`Charset` para representar conjuntos " +"de caracteres e conversões de conjuntos de caracteres em mensagens de e-" +"mail, bem como um registro de conjuntos de caracteres e vários métodos " +"práticos para manipular esse registro. Instâncias de :class:`Charset` são " +"usadas em vários outros módulos do pacote :mod:`email`." #: ../../library/email.charset.rst:22 msgid "Import this class from the :mod:`email.charset` module." -msgstr "" +msgstr "Importa esta classe do módulo :mod:`email.charset`." #: ../../library/email.charset.rst:27 msgid "Map character sets to their email properties." -msgstr "" +msgstr "Mapeia conjuntos de caracteres para suas propriedades de e-mail." #: ../../library/email.charset.rst:29 msgid "" @@ -68,6 +75,12 @@ msgid "" "codecs. Given a character set, it will do its best to provide information " "on how to use that character set in an email message in an RFC-compliant way." msgstr "" +"Esta classe fornece informações sobre os requisitos impostos ao e-mail para " +"um conjunto de caracteres específico. Também fornece rotinas práticas para " +"conversão entre conjuntos de caracteres, considerando a disponibilidade dos " +"codecs aplicáveis. Dado um conjunto de caracteres, ela fará o possível para " +"fornecer informações sobre como usá-lo em uma mensagem de e-mail de forma " +"compatível com RFC." #: ../../library/email.charset.rst:35 msgid "" @@ -75,6 +88,9 @@ msgid "" "used in email headers or bodies. Certain character sets must be converted " "outright, and are not allowed in email." msgstr "" +"Certos conjuntos de caracteres devem ser codificados com quoted-printable ou " +"base64 quando usados em cabeçalhos ou corpos de e-mail. Certos conjuntos de " +"caracteres devem ser convertidos diretamente e não são permitidos em e-mails." #: ../../library/email.charset.rst:39 msgid "" @@ -88,10 +104,21 @@ msgid "" "with base64, bodies will not be encoded, but output text will be converted " "from the ``euc-jp`` character set to the ``iso-2022-jp`` character set." msgstr "" +"O *input_charset* opcional é descrito abaixo; ele é sempre convertido para " +"letras minúsculas. Após ser normalizado por apelido, ele também é usado como " +"uma consulta no registro de conjuntos de caracteres para descobrir a " +"codificação do cabeçalho, a codificação do corpo e o codec de conversão de " +"saída a serem usados para o conjunto de caracteres. Por exemplo, se " +"*input_charset* for ``iso-8859-1``, os cabeçalhos e corpos serão codificados " +"usando quoted-printable e nenhum codec de conversão de saída será " +"necessário. Se *input_charset* for ``euc-jp``, os cabeçalhos serão " +"codificados em base64, os corpos não serão codificados, mas o texto de saída " +"será convertido do conjunto de caracteres ``euc-jp`` para o conjunto de " +"caracteres ``iso-2022-jp``." #: ../../library/email.charset.rst:49 msgid ":class:`Charset` instances have the following data attributes:" -msgstr "" +msgstr "Instâncias :class:`Charset` têm os seguintes atributos de dados:" #: ../../library/email.charset.rst:53 msgid "" @@ -99,6 +126,9 @@ msgid "" "*official* email names (e.g. ``latin_1`` is converted to ``iso-8859-1``). " "Defaults to 7-bit ``us-ascii``." msgstr "" +"O conjunto de caracteres inicial especificado. Apelidos comuns são " +"convertidos em seus nomes de e-mail *oficiais* (por exemplo, ``latin_1`` é " +"convertido para ``iso-8859-1``). O padrão é ``us-ascii`` de 7 bits." #: ../../library/email.charset.rst:60 msgid "" @@ -111,8 +141,8 @@ msgstr "" #: ../../library/email.charset.rst:69 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." -"SHORTEST`` is not allowed for *body_encoding*." +"body, which indeed may be different than the header encoding. " +"``Charset.SHORTEST`` is not allowed for *body_encoding*." msgstr "" #: ../../library/email.charset.rst:76 @@ -122,6 +152,10 @@ msgid "" "will contain the name of the character set output will be converted to. " "Otherwise, it will be ``None``." msgstr "" +"Alguns conjuntos de caracteres precisam ser convertidos antes de serem " +"usados em cabeçalhos ou corpos de e-mail. Se *input_charset* for um deles, " +"este atributo conterá o nome do conjunto de caracteres para o qual a saída " +"será convertida. Caso contrário, será ``None``." #: ../../library/email.charset.rst:84 msgid "" @@ -129,6 +163,8 @@ msgid "" "Unicode. If no conversion codec is necessary, this attribute will be " "``None``." msgstr "" +"O nome do codec Python usado para converter o *input_charset* para Unicode. " +"Se nenhum codec de conversão for necessário, este atributo será ``None``." #: ../../library/email.charset.rst:91 msgid "" @@ -136,14 +172,19 @@ msgid "" "*output_charset*. If no conversion codec is necessary, this attribute will " "have the same value as the *input_codec*." msgstr "" +"O nome do codec Python usado para converter Unicode para o *output_charset*. " +"Se nenhum codec de conversão for necessário, este atributo terá o mesmo " +"valor que o *input_codec*." #: ../../library/email.charset.rst:96 msgid ":class:`Charset` instances also have the following methods:" -msgstr "" +msgstr "Instâncias :class:`Charset` também têm os seguintes métodos:" #: ../../library/email.charset.rst:100 msgid "Return the content transfer encoding used for body encoding." msgstr "" +"Retorna a codificação de transferência de conteúdo usada para codificação do " +"corpo." #: ../../library/email.charset.rst:102 msgid "" @@ -153,6 +194,11 @@ msgid "" "function should then set the :mailheader:`Content-Transfer-Encoding` header " "itself to whatever is appropriate." msgstr "" +"Esta é a string ``quoted-printable`` ou ``base64``, dependendo da " +"codificação usada, ou é uma função, caso em que você deve chamar a função " +"com um único argumento, sendo o objeto Message codificado. A função deve " +"então definir o próprio cabeçalho :mailheader:`Content-Transfer-Encoding` " +"com o valor apropriado." #: ../../library/email.charset.rst:108 msgid "" @@ -160,30 +206,37 @@ msgid "" "returns the string ``base64`` if *body_encoding* is ``BASE64``, and returns " "the string ``7bit`` otherwise." msgstr "" +"Retorna a string ``quoted-printable`` se *body_encoding* for ``QP``, retorna " +"a string ``base64`` se *body_encoding* for ``BASE64`` e retorna a string " +"``7bit`` caso contrário." #: ../../library/email.charset.rst:115 msgid "Return the output character set." -msgstr "" +msgstr "Retorna o conjunto de caracteres de saída." #: ../../library/email.charset.rst:117 msgid "" "This is the *output_charset* attribute if that is not ``None``, otherwise it " "is *input_charset*." msgstr "" +"Este é o atributo *output_charset* se não for ``None``, caso contrário, é " +"*input_charset*." #: ../../library/email.charset.rst:123 msgid "Header-encode the string *string*." -msgstr "" +msgstr "Codifica o cabeçalho com a string *string*." #: ../../library/email.charset.rst:125 msgid "" "The type of encoding (base64 or quoted-printable) will be based on the " "*header_encoding* attribute." msgstr "" +"O tipo de codificação (base64 ou quoted-printable) será baseado no atributo " +"*header_encoding*." #: ../../library/email.charset.rst:131 msgid "Header-encode a *string* by converting it first to bytes." -msgstr "" +msgstr "Codifica um cabeçalho de uma *string* convertendo-a primeiro em bytes." #: ../../library/email.charset.rst:133 msgid "" @@ -192,56 +245,75 @@ msgid "" "iterator: each element returned from this iterator will provide the next " "maximum line length." msgstr "" +"Isso é semelhante a :meth:`header_encode`, exceto que a string é ajustada " +"aos comprimentos máximos de linha, conforme fornecido pelo argumento " +"*maxlengths*, que deve ser um iterador: cada elemento retornado deste " +"iterador fornecerá o próximo comprimento máximo de linha." #: ../../library/email.charset.rst:141 msgid "Body-encode the string *string*." -msgstr "" +msgstr "Codifica o corpo com a string *string*." #: ../../library/email.charset.rst:143 msgid "" "The type of encoding (base64 or quoted-printable) will be based on the " "*body_encoding* attribute." msgstr "" +"O tipo de codificação (base64 ou quoted-printable) será baseado no atributo " +"*body_encoding*." #: ../../library/email.charset.rst:146 msgid "" "The :class:`Charset` class also provides a number of methods to support " "standard operations and built-in functions." msgstr "" +"A classe :class:`Charset` também fornece vários métodos para dar suporte a " +"operações padrão e funções embutidas." #: ../../library/email.charset.rst:152 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 "" +"Retorna *input_charset* como uma string convertida para minúsculas. :meth:`!" +"__repr__` é um apelido para :meth:`!__str__`." #: ../../library/email.charset.rst:158 msgid "" "This method allows you to compare two :class:`Charset` instances for " "equality." msgstr "" +"Este método permite que você compare duas instâncias :class:`Charset` para " +"verificar a igualdade." #: ../../library/email.charset.rst:164 msgid "" "This method allows you to compare two :class:`Charset` instances for " "inequality." msgstr "" +"Este método permite que você compare duas instâncias :class:`Charset` para " +"verificar a desigualdade." #: ../../library/email.charset.rst:167 msgid "" "The :mod:`email.charset` module also provides the following functions for " "adding new entries to the global character set, alias, and codec registries:" msgstr "" +"O módulo :mod:`email.charset` também fornece as seguintes funções para " +"adicionar novas entradas ao conjunto global de caracteres, apelidos e " +"registros de codec:" #: ../../library/email.charset.rst:173 msgid "Add character properties to the global registry." -msgstr "" +msgstr "Adiciona propriedades de caracteres ao registro global." #: ../../library/email.charset.rst:175 msgid "" "*charset* is the input character set, and must be the canonical name of a " "character set." msgstr "" +"*charset* é o conjunto de caracteres de entrada e deve ser o nome canônico " +"de um conjunto de caracteres." #: ../../library/email.charset.rst:178 msgid "" @@ -259,6 +331,11 @@ msgid "" "charset when the method :meth:`Charset.convert` is called. The default is " "to output in the same character set as the input." msgstr "" +"*output_charset* opcional é o conjunto de caracteres que a saída deve " +"conter. As conversões prosseguirão do conjunto de caracteres de entrada para " +"Unicode e para o conjunto de caracteres de saída quando o " +"método :meth:`Charset.convert` for chamado. O padrão é gerar a saída no " +"mesmo conjunto de caracteres da entrada." #: ../../library/email.charset.rst:189 msgid "" @@ -267,34 +344,50 @@ msgid "" "codecs the module does not know about. See the :mod:`codecs` module's " "documentation for more information." msgstr "" +"Tanto *input_charset* quanto *output_charset* devem ter entradas de codec " +"Unicode no mapeamento de conjunto de caracteres para codec do módulo; " +"use :func:`add_codec` para adicionar codecs que o módulo não conhece. " +"Consulte a documentação do módulo :mod:`codecs` para obter mais informações." #: ../../library/email.charset.rst:194 msgid "" "The global character set registry is kept in the module global dictionary " "``CHARSETS``." msgstr "" +"O registro do conjunto de caracteres global é mantido no dicionário global " +"do módulo ``CHARSETS``." #: ../../library/email.charset.rst:200 msgid "" "Add a character set alias. *alias* is the alias name, e.g. ``latin-1``. " "*canonical* is the character set's canonical name, e.g. ``iso-8859-1``." msgstr "" +"Adicione um apelido para o conjunto de caracteres. *alias* é o nome do " +"alias, por exemplo, ``latin-1``. *canonical* é o nome canônico do conjunto " +"de caracteres, por exemplo, ``iso-8859-1``." #: ../../library/email.charset.rst:203 msgid "" "The global charset alias registry is kept in the module global dictionary " "``ALIASES``." msgstr "" +"O registro global de apelido de conjunto de caracteres é mantido no " +"dicionário global do módulo ``ALIASES``." #: ../../library/email.charset.rst:209 msgid "" "Add a codec that map characters in the given character set to and from " "Unicode." msgstr "" +"Adiciona um codec que mapeia caracteres no conjunto de caracteres fornecido " +"para e a partir do Unicode." #: ../../library/email.charset.rst:211 msgid "" "*charset* is the canonical name of a character set. *codecname* is the name " -"of a Python codec, as appropriate for the second argument to the :class:" -"`str`'s :meth:`~str.encode` method." +"of a Python codec, as appropriate for the second argument to " +"the :class:`str`'s :meth:`~str.encode` method." msgstr "" +"*charset* é o nome canônico de um conjunto de caracteres. *codecname* é o " +"nome de um codec Python, conforme apropriado para o segundo argumento do " +"método :meth:`~str.encode` do :class:`str`." diff --git a/library/email.compat32-message.po b/library/email.compat32-message.po index bbc5439c9..9b1622359 100644 --- a/library/email.compat32-message.po +++ b/library/email.compat32-message.po @@ -1,43 +1,42 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/email.compat32-message.rst:4 msgid "" -":mod:`email.message.Message`: Representing an email message using the :data:" -"`~email.policy.compat32` API" +":mod:`email.message.Message`: Representing an email message using " +"the :data:`~email.policy.compat32` API" msgstr "" #: ../../library/email.compat32-message.rst:12 msgid "" -"The :class:`Message` class is very similar to the :class:`~email.message." -"EmailMessage` class, without the methods added by that class, and with the " -"default behavior of certain other methods being slightly different. We also " -"document here some methods that, while supported by the :class:`~email." -"message.EmailMessage` class, are not recommended unless you are dealing with " -"legacy code." +"The :class:`Message` class is very similar to " +"the :class:`~email.message.EmailMessage` class, without the methods added by " +"that class, and with the default behavior of certain other methods being " +"slightly different. We also document here some methods that, while " +"supported by the :class:`~email.message.EmailMessage` class, are not " +"recommended unless you are dealing with legacy code." msgstr "" #: ../../library/email.compat32-message.rst:19 @@ -46,22 +45,22 @@ msgstr "" #: ../../library/email.compat32-message.rst:21 msgid "" -"This document describes the behavior under the default (for :class:" -"`Message`) policy :attr:`~email.policy.Compat32`. If you are going to use " -"another policy, you should be using the :class:`~email.message.EmailMessage` " -"class instead." +"This document describes the behavior under the default " +"(for :class:`Message`) policy :attr:`~email.policy.Compat32`. If you are " +"going to use another policy, you should be using " +"the :class:`~email.message.EmailMessage` class instead." msgstr "" #: ../../library/email.compat32-message.rst:25 msgid "" -"An email message consists of *headers* and a *payload*. Headers must be :" -"rfc:`5322` style names and values, where the field name and value are " +"An email message consists of *headers* and a *payload*. Headers must " +"be :rfc:`5322` style names and values, where the field name and value are " "separated by a colon. The colon is not part of either the field name or the " "field value. The payload may be a simple text message, or a binary object, " "or a structured sequence of sub-messages each with their own set of headers " "and their own payload. The latter type of payload is indicated by the " -"message having a MIME type such as :mimetype:`multipart/\\*` or :mimetype:" -"`message/rfc822`." +"message having a MIME type such as :mimetype:`multipart/\\*` " +"or :mimetype:`message/rfc822`." msgstr "" #: ../../library/email.compat32-message.rst:34 @@ -84,8 +83,8 @@ msgid "" "matched case-insensitively. There may also be a single envelope header, " "also known as the *Unix-From* header or the ``From_`` header. The *payload* " "is either a string or bytes, in the case of simple message objects, or a " -"list of :class:`Message` objects, for MIME container documents (e.g. :" -"mimetype:`multipart/\\*` and :mimetype:`message/rfc822`)." +"list of :class:`Message` objects, for MIME container documents " +"(e.g. :mimetype:`multipart/\\*` and :mimetype:`message/rfc822`)." msgstr "" #: ../../library/email.compat32-message.rst:52 @@ -96,10 +95,10 @@ msgstr "" msgid "" "If *policy* is specified (it must be an instance of a :mod:`~email.policy` " "class) use the rules it specifies to update and serialize the representation " -"of the message. If *policy* is not set, use the :class:`compat32 ` policy, which maintains backward compatibility with the " -"Python 3.2 version of the email package. For more information see the :mod:" -"`~email.policy` documentation." +"of the message. If *policy* is not set, use the :class:`compat32 " +"` policy, which maintains backward compatibility with " +"the Python 3.2 version of the email package. For more information see " +"the :mod:`~email.policy` documentation." msgstr "" #: ../../library/email.compat32-message.rst:64 @@ -132,17 +131,18 @@ msgid "" "Note that this method is provided as a convenience and may not always format " "the message the way you want. For example, by default it does not do the " "mangling of lines that begin with ``From`` that is required by the Unix mbox " -"format. For more flexibility, instantiate a :class:`~email.generator." -"Generator` instance and use its :meth:`~email.generator.Generator.flatten` " -"method directly. For example::" +"format. For more flexibility, instantiate " +"a :class:`~email.generator.Generator` instance and use " +"its :meth:`~email.generator.Generator.flatten` method directly. For " +"example::" msgstr "" #: ../../library/email.compat32-message.rst:97 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 " -"character\" code points. (See also :meth:`.as_bytes` and :class:`~email." -"generator.BytesGenerator`.)" +"character\" code points. (See also :meth:`.as_bytes` " +"and :class:`~email.generator.BytesGenerator`.)" msgstr "" #: ../../library/email.compat32-message.rst:102 @@ -170,9 +170,10 @@ msgid "" "Note that this method is provided as a convenience and may not always format " "the message the way you want. For example, by default it does not do the " "mangling of lines that begin with ``From`` that is required by the Unix mbox " -"format. For more flexibility, instantiate a :class:`~email.generator." -"BytesGenerator` instance and use its :meth:`~email.generator.BytesGenerator." -"flatten` method directly. For example::" +"format. For more flexibility, instantiate " +"a :class:`~email.generator.BytesGenerator` instance and use " +"its :meth:`~email.generator.BytesGenerator.flatten` method directly. For " +"example::" msgstr "" #: ../../library/email.compat32-message.rst:145 @@ -183,13 +184,14 @@ msgstr "" #: ../../library/email.compat32-message.rst:153 msgid "" -"Return ``True`` if the message's payload is a list of sub-\\ :class:" -"`Message` objects, otherwise return ``False``. When :meth:`is_multipart` " -"returns ``False``, the payload should be a string object (which might be a " -"CTE encoded binary payload). (Note that :meth:`is_multipart` returning " -"``True`` does not necessarily mean that \"msg.get_content_maintype() == " -"'multipart'\" will return the ``True``. For example, ``is_multipart`` will " -"return ``True`` when the :class:`Message` is of type ``message/rfc822``.)" +"Return ``True`` if the message's payload is a list of sub-" +"\\ :class:`Message` objects, otherwise return ``False``. " +"When :meth:`is_multipart` returns ``False``, the payload should be a string " +"object (which might be a CTE encoded binary payload). (Note " +"that :meth:`is_multipart` returning ``True`` does not necessarily mean that " +"\"msg.get_content_maintype() == 'multipart'\" will return the ``True``. For " +"example, ``is_multipart`` will return ``True`` when the :class:`Message` is " +"of type ``message/rfc822``.)" msgstr "" #: ../../library/email.compat32-message.rst:165 @@ -215,8 +217,9 @@ msgstr "" #: ../../library/email.compat32-message.rst:182 msgid "" "This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by :meth:`~email.message.EmailMessage." -"set_content` and the related ``make`` and ``add`` methods." +"class its functionality is replaced " +"by :meth:`~email.message.EmailMessage.set_content` and the related ``make`` " +"and ``add`` methods." msgstr "" #: ../../library/email.compat32-message.rst:190 @@ -233,8 +236,8 @@ msgid "" "element of the payload, counting from zero, if :meth:`is_multipart` is " "``True``. An :exc:`IndexError` will be raised if *i* is less than 0 or " "greater than or equal to the number of items in the payload. If the payload " -"is a string (i.e. :meth:`is_multipart` is ``False``) and *i* is given, a :" -"exc:`TypeError` is raised." +"is a string (i.e. :meth:`is_multipart` is ``False``) and *i* is given, " +"a :exc:`TypeError` is raised." msgstr "" #: ../../library/email.compat32-message.rst:202 @@ -258,21 +261,24 @@ msgid "" "When *decode* is ``False`` (the default) the body is returned as a string " "without decoding the :mailheader:`Content-Transfer-Encoding`. However, for " "a :mailheader:`Content-Transfer-Encoding` of 8bit, an attempt is made to " -"decode the original bytes using the ``charset`` specified by the :mailheader:" -"`Content-Type` header, using the ``replace`` error handler. If no " -"``charset`` is specified, or if the ``charset`` given is not recognized by " -"the email package, the body is decoded using the default ASCII charset." +"decode the original bytes using the ``charset`` specified by " +"the :mailheader:`Content-Type` header, using the ``replace`` error handler. " +"If no ``charset`` is specified, or if the ``charset`` given is not " +"recognized by the email package, the body is decoded using the default ASCII " +"charset." msgstr "" #: ../../library/email.compat32-message.rst:225 msgid "" "This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by :meth:`~email.message.EmailMessage." -"get_content` and :meth:`~email.message.EmailMessage.iter_parts`." +"class its functionality is replaced " +"by :meth:`~email.message.EmailMessage.get_content` " +"and :meth:`~email.message.EmailMessage.iter_parts`." msgstr "" "Esse é um método legado. Na classe :class:`~email.emailmessage.EmailMessage` " -"sua funcionalidade é substituída por :meth:`~email.message.EmailMessage." -"get_content` e :meth:`~email.message.EmailMessage.iter_parts`." +"sua funcionalidade é substituída " +"por :meth:`~email.message.EmailMessage.get_content` " +"e :meth:`~email.message.EmailMessage.iter_parts`." #: ../../library/email.compat32-message.rst:233 msgid "" @@ -284,43 +290,43 @@ msgstr "" #: ../../library/email.compat32-message.rst:237 msgid "" "This is a legacy method. On the :class:`~email.emailmessage.EmailMessage` " -"class its functionality is replaced by :meth:`~email.message.EmailMessage." -"set_content`." +"class its functionality is replaced " +"by :meth:`~email.message.EmailMessage.set_content`." msgstr "" #: ../../library/email.compat32-message.rst:244 msgid "" -"Set the character set of the payload to *charset*, which can either be a :" -"class:`~email.charset.Charset` instance (see :mod:`email.charset`), a string " -"naming a character set, or ``None``. If it is a string, it will be " +"Set the character set of the payload to *charset*, which can either be " +"a :class:`~email.charset.Charset` instance (see :mod:`email.charset`), a " +"string naming a character set, or ``None``. If it is a string, it will be " "converted to a :class:`~email.charset.Charset` instance. If *charset* is " -"``None``, the ``charset`` parameter will be removed from the :mailheader:" -"`Content-Type` header (the message will not be otherwise modified). " -"Anything else will generate a :exc:`TypeError`." +"``None``, the ``charset`` parameter will be removed from " +"the :mailheader:`Content-Type` header (the message will not be otherwise " +"modified). Anything else will generate a :exc:`TypeError`." msgstr "" #: ../../library/email.compat32-message.rst:252 msgid "" "If there is no existing :mailheader:`MIME-Version` header one will be " "added. If there is no existing :mailheader:`Content-Type` header, one will " -"be added with a value of :mimetype:`text/plain`. Whether the :mailheader:" -"`Content-Type` header already exists or not, its ``charset`` parameter will " -"be set to *charset.output_charset*. If *charset.input_charset* and " -"*charset.output_charset* differ, the payload will be re-encoded to the " -"*output_charset*. If there is no existing :mailheader:`Content-Transfer-" -"Encoding` header, then the payload will be transfer-encoded, if needed, " -"using the specified :class:`~email.charset.Charset`, and a header with the " -"appropriate value will be added. If a :mailheader:`Content-Transfer-" -"Encoding` header already exists, the payload is assumed to already be " -"correctly encoded using that :mailheader:`Content-Transfer-Encoding` and is " -"not modified." +"be added with a value of :mimetype:`text/plain`. Whether " +"the :mailheader:`Content-Type` header already exists or not, its ``charset`` " +"parameter will be set to *charset.output_charset*. If " +"*charset.input_charset* and *charset.output_charset* differ, the payload " +"will be re-encoded to the *output_charset*. If there is no " +"existing :mailheader:`Content-Transfer-Encoding` header, then the payload " +"will be transfer-encoded, if needed, using the " +"specified :class:`~email.charset.Charset`, and a header with the appropriate " +"value will be added. If a :mailheader:`Content-Transfer-Encoding` header " +"already exists, the payload is assumed to already be correctly encoded using " +"that :mailheader:`Content-Transfer-Encoding` and is not modified." msgstr "" #: ../../library/email.compat32-message.rst:266 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." +"class its functionality is replaced by the *charset* parameter of " +"the :meth:`email.emailmessage.EmailMessage.set_content` method." msgstr "" #: ../../library/email.compat32-message.rst:274 @@ -342,10 +348,11 @@ msgid "" "differences between these methods and a normal mapping (i.e. dictionary) " "interface. For example, in a dictionary there are no duplicate keys, but " "here there may be duplicate message headers. Also, in dictionaries there is " -"no guaranteed order to the keys returned by :meth:`keys`, but in a :class:" -"`Message` object, headers are always returned in the order they appeared in " -"the original message, or were added to the message later. Any header " -"deleted and then re-added are always appended to the end of the header list." +"no guaranteed order to the keys returned by :meth:`keys`, but in " +"a :class:`Message` object, headers are always returned in the order they " +"appeared in the original message, or were added to the message later. Any " +"header deleted and then re-added are always appended to the end of the " +"header list." msgstr "" #: ../../library/email.compat32-message.rst:292 @@ -382,8 +389,8 @@ msgstr "" #: ../../library/email.compat32-message.rst:321 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 :" -"exc:`KeyError` is never raised." +"colon field separator. If the header is missing, ``None`` is returned; " +"a :exc:`KeyError` is never raised." msgstr "" #: ../../library/email.compat32-message.rst:325 @@ -430,9 +437,9 @@ msgstr "" #: ../../library/email.compat32-message.rst:369 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``)." +"Return the value of the named header field. This is identical " +"to :meth:`~object.__getitem__` except that optional *failobj* is returned if " +"the named header is missing (defaults to ``None``)." msgstr "" #: ../../library/email.compat32-message.rst:373 @@ -463,11 +470,11 @@ msgid "" "key will be added. If the value contains non-ASCII characters, it can be " "specified as a three tuple in the format ``(CHARSET, LANGUAGE, VALUE)``, " "where ``CHARSET`` is a string naming the charset to be used to encode the " -"value, ``LANGUAGE`` can usually be set to ``None`` or the empty string (see :" -"rfc:`2231` for other possibilities), and ``VALUE`` is the string value " +"value, ``LANGUAGE`` can usually be set to ``None`` or the empty string " +"(see :rfc:`2231` for other possibilities), and ``VALUE`` is the string value " "containing non-ASCII code points. If a three tuple is not passed and the " -"value contains non-ASCII characters, it is automatically encoded in :rfc:" -"`2231` format using a ``CHARSET`` of ``utf-8`` and a ``LANGUAGE`` of " +"value contains non-ASCII characters, it is automatically encoded " +"in :rfc:`2231` format using a ``CHARSET`` of ``utf-8`` and a ``LANGUAGE`` of " "``None``." msgstr "" @@ -481,7 +488,7 @@ msgstr "" #: ../../library/email.compat32-message.rst:412 msgid "An example with non-ASCII characters::" -msgstr "" +msgstr "Um exemplo com caracteres não-ASCII::" #: ../../library/email.compat32-message.rst:417 msgid "Which produces ::" @@ -497,11 +504,11 @@ msgstr "" #: ../../library/email.compat32-message.rst:431 msgid "" "Return the message's content type. The returned string is coerced to lower " -"case of the form :mimetype:`maintype/subtype`. If there was no :mailheader:" -"`Content-Type` header in the message the default type as given by :meth:" -"`get_default_type` will be returned. Since according to :rfc:`2045`, " -"messages always have a default type, :meth:`get_content_type` will always " -"return a value." +"case of the form :mimetype:`maintype/subtype`. If there was " +"no :mailheader:`Content-Type` header in the message the default type as " +"given by :meth:`get_default_type` will be returned. Since according " +"to :rfc:`2045`, messages always have a default " +"type, :meth:`get_content_type` will always return a value." msgstr "" #: ../../library/email.compat32-message.rst:438 @@ -528,8 +535,8 @@ msgstr "" #: ../../library/email.compat32-message.rst:459 msgid "" "Return the default content type. Most messages have a default content type " -"of :mimetype:`text/plain`, except for messages that are subparts of :" -"mimetype:`multipart/digest` containers. Such subparts have a default " +"of :mimetype:`text/plain`, except for messages that are subparts " +"of :mimetype:`multipart/digest` containers. Such subparts have a default " "content type of :mimetype:`message/rfc822`." msgstr "" @@ -546,15 +553,16 @@ msgid "" "elements of the returned list are 2-tuples of key/value pairs, as split on " "the ``'='`` sign. The left hand side of the ``'='`` is the key, while the " "right hand side is the value. If there is no ``'='`` sign in the parameter " -"the value is the empty string, otherwise the value is as described in :meth:" -"`get_param` and is unquoted if optional *unquote* is ``True`` (the default)." +"the value is the empty string, otherwise the value is as described " +"in :meth:`get_param` and is unquoted if optional *unquote* is ``True`` (the " +"default)." msgstr "" #: ../../library/email.compat32-message.rst:483 msgid "" -"Optional *failobj* is the object to return if there is no :mailheader:" -"`Content-Type` header. Optional *header* is the header to search instead " -"of :mailheader:`Content-Type`." +"Optional *failobj* is the object to return if there is " +"no :mailheader:`Content-Type` header. Optional *header* is the header to " +"search instead of :mailheader:`Content-Type`." msgstr "" #: ../../library/email.compat32-message.rst:487 @@ -575,8 +583,8 @@ msgstr "" #: ../../library/email.compat32-message.rst:500 msgid "" -"Optional *header* if given, specifies the message header to use instead of :" -"mailheader:`Content-Type`." +"Optional *header* if given, specifies the message header to use instead " +"of :mailheader:`Content-Type`." msgstr "" #: ../../library/email.compat32-message.rst:503 @@ -591,11 +599,12 @@ msgstr "" #: ../../library/email.compat32-message.rst:511 msgid "" -"If your application doesn't care whether the parameter was encoded as in :" -"rfc:`2231`, you can collapse the parameter value by calling :func:`email." -"utils.collapse_rfc2231_value`, passing in the return value from :meth:" -"`get_param`. This will return a suitably decoded Unicode string when the " -"value is a tuple, or the original string unquoted if it isn't. For example::" +"If your application doesn't care whether the parameter was encoded as " +"in :rfc:`2231`, you can collapse the parameter value by " +"calling :func:`email.utils.collapse_rfc2231_value`, passing in the return " +"value from :meth:`get_param`. This will return a suitably decoded Unicode " +"string when the value is a tuple, or the original string unquoted if it " +"isn't. For example::" msgstr "" #: ../../library/email.compat32-message.rst:521 @@ -645,8 +654,8 @@ msgid "" "Remove the given parameter completely from the :mailheader:`Content-Type` " "header. The header will be re-written in place without the parameter or its " "value. All values will be quoted as necessary unless *requote* is ``False`` " -"(the default is ``True``). Optional *header* specifies an alternative to :" -"mailheader:`Content-Type`." +"(the default is ``True``). Optional *header* specifies an alternative " +"to :mailheader:`Content-Type`." msgstr "" #: ../../library/email.compat32-message.rst:567 @@ -666,9 +675,9 @@ msgstr "" #: ../../library/email.compat32-message.rst:576 msgid "" -"An alternative header can be specified in the *header* argument. When the :" -"mailheader:`Content-Type` header is set a :mailheader:`MIME-Version` header " -"is also added." +"An alternative header can be specified in the *header* argument. When " +"the :mailheader:`Content-Type` header is set a :mailheader:`MIME-Version` " +"header is also added." msgstr "" #: ../../library/email.compat32-message.rst:580 @@ -705,12 +714,12 @@ msgstr "" #: ../../library/email.compat32-message.rst:611 msgid "" -"Note that using this method is subtly different than deleting the old :" -"mailheader:`Content-Type` header and adding a new one with the new boundary " -"via :meth:`add_header`, because :meth:`set_boundary` preserves the order of " -"the :mailheader:`Content-Type` header in the list of headers. However, it " -"does *not* preserve any continuation lines which may have been present in " -"the original :mailheader:`Content-Type` header." +"Note that using this method is subtly different than deleting the " +"old :mailheader:`Content-Type` header and adding a new one with the new " +"boundary via :meth:`add_header`, because :meth:`set_boundary` preserves the " +"order of the :mailheader:`Content-Type` header in the list of headers. " +"However, it does *not* preserve any continuation lines which may have been " +"present in the original :mailheader:`Content-Type` header." msgstr "" #: ../../library/email.compat32-message.rst:621 @@ -722,8 +731,8 @@ msgstr "" #: ../../library/email.compat32-message.rst:625 msgid "" -"Note that this method differs from :meth:`get_charset` which returns the :" -"class:`~email.charset.Charset` instance for the default encoding of the " +"Note that this method differs from :meth:`get_charset` which returns " +"the :class:`~email.charset.Charset` instance for the default encoding of the " "message body." msgstr "" @@ -745,10 +754,10 @@ msgstr "" #: ../../library/email.compat32-message.rst:645 msgid "" -"Return the lowercased value (without parameters) of the message's :" -"mailheader:`Content-Disposition` header if it has one, or ``None``. The " -"possible values for this method are *inline*, *attachment* or ``None`` if " -"the message follows :rfc:`2183`." +"Return the lowercased value (without parameters) of the " +"message's :mailheader:`Content-Disposition` header if it has one, or " +"``None``. The possible values for this method are *inline*, *attachment* or " +"``None`` if the message follows :rfc:`2183`." msgstr "" #: ../../library/email.compat32-message.rst:654 @@ -802,11 +811,12 @@ msgid "" "The *preamble* attribute contains this leading extra-armor text for MIME " "documents. When the :class:`~email.parser.Parser` discovers some text after " "the headers but before the first boundary string, it assigns this text to " -"the message's *preamble* attribute. When the :class:`~email.generator." -"Generator` is writing out the plain text representation of a MIME message, " -"and it finds the message has a *preamble* attribute, it will write this text " -"in the area between the headers and the first boundary. See :mod:`email." -"parser` and :mod:`email.generator` for details." +"the message's *preamble* attribute. When " +"the :class:`~email.generator.Generator` is writing out the plain text " +"representation of a MIME message, and it finds the message has a *preamble* " +"attribute, it will write this text in the area between the headers and the " +"first boundary. See :mod:`email.parser` and :mod:`email.generator` for " +"details." msgstr "" #: ../../library/email.compat32-message.rst:740 @@ -824,8 +834,9 @@ msgstr "" #: ../../library/email.compat32-message.rst:750 msgid "" -"You do not need to set the epilogue to the empty string in order for the :" -"class:`~email.generator.Generator` to print a newline at the end of the file." +"You do not need to set the epilogue to the empty string in order for " +"the :class:`~email.generator.Generator` to print a newline at the end of the " +"file." msgstr "" #: ../../library/email.compat32-message.rst:757 diff --git a/library/email.contentmanager.po b/library/email.contentmanager.po index 28379393b..d34fe57d6 100644 --- a/library/email.contentmanager.po +++ b/library/email.contentmanager.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,6 +41,10 @@ msgid "" "to register converters between MIME content and other representations, as " "well as the ``get_content`` and ``set_content`` dispatch methods." msgstr "" +"Classe base para gerenciadores de conteúdo. Fornece os mecanismos de " +"registro padrão para registrar conversores entre conteúdo MIME e outras " +"representações, bem como os métodos de despacho ``get_content`` e " +"``set_content``." #: ../../library/email.contentmanager.rst:26 msgid "" @@ -50,16 +53,23 @@ msgid "" "the call. The expectation is that the handler will extract the payload from " "*msg* and return an object that encodes information about the extracted data." msgstr "" +"Procura uma função manipuladora baseada no ``mimetype`` de *msg* (veja o " +"próximo parágrafo), chama-a, passando por todos os argumentos, e retorna o " +"resultado da chamada. A expectativa é que a função manipuladora extraia o " +"payload de *msg* e retorne um objeto que codifique informações sobre os " +"dados extraídos." #: ../../library/email.contentmanager.rst:32 msgid "" "To find the handler, look for the following keys in the registry, stopping " "with the first one found:" msgstr "" +"Para encontrar o manipulador, procura as seguintes chaves no registro, " +"parando na primeira encontrada:" #: ../../library/email.contentmanager.rst:35 msgid "the string representing the full MIME type (``maintype/subtype``)" -msgstr "" +msgstr "a string que representa o tipo MIME completo (``maintype/subtype``)" #: ../../library/email.contentmanager.rst:36 msgid "the string representing the ``maintype``" @@ -99,8 +109,8 @@ msgstr "" #: ../../library/email.contentmanager.rst:59 msgid "" -"the type's fully qualified name (``typ.__module__ + '.' + typ." -"__qualname__``)." +"the type's fully qualified name (``typ.__module__ + '.' + " +"typ.__qualname__``)." msgstr "" #: ../../library/email.contentmanager.rst:61 @@ -145,10 +155,11 @@ msgstr "" #: ../../library/email.contentmanager.rst:90 msgid "" -"Currently the email package provides only one concrete content manager, :" -"data:`raw_data_manager`, although more may be added in the future. :data:" -"`raw_data_manager` is the :attr:`~email.policy.EmailPolicy.content_manager` " -"provided by :attr:`~email.policy.EmailPolicy` and its derivatives." +"Currently the email package provides only one concrete content " +"manager, :data:`raw_data_manager`, although more may be added in the " +"future. :data:`raw_data_manager` is " +"the :attr:`~email.policy.EmailPolicy.content_manager` provided " +"by :attr:`~email.policy.EmailPolicy` and its derivatives." msgstr "" #: ../../library/email.contentmanager.rst:99 @@ -166,12 +177,12 @@ msgstr "" #: ../../library/email.contentmanager.rst:111 msgid "" -"Return the payload of the part as either a string (for ``text`` parts), an :" -"class:`~email.message.EmailMessage` object (for ``message/rfc822`` parts), " -"or a ``bytes`` object (for all other non-multipart types). Raise a :exc:" -"`KeyError` if called on a ``multipart``. If the part is a ``text`` part and " -"*errors* is specified, use it as the error handler when decoding the payload " -"to unicode. The default error handler is ``replace``." +"Return the payload of the part as either a string (for ``text`` parts), " +"an :class:`~email.message.EmailMessage` object (for ``message/rfc822`` " +"parts), or a ``bytes`` object (for all other non-multipart types). Raise " +"a :exc:`KeyError` if called on a ``multipart``. If the part is a ``text`` " +"part and *errors* is specified, use it as the error handler when decoding " +"the payload to unicode. The default error handler is ``replace``." msgstr "" #: ../../library/email.contentmanager.rst:130 @@ -191,8 +202,8 @@ msgstr "" #: ../../library/email.contentmanager.rst:137 msgid "" -"For ``bytes``, use the specified *maintype* and *subtype*, or raise a :exc:" -"`TypeError` if they are not specified." +"For ``bytes``, use the specified *maintype* and *subtype*, or raise " +"a :exc:`TypeError` if they are not specified." msgstr "" #: ../../library/email.contentmanager.rst:139 @@ -239,8 +250,8 @@ msgstr "" #: ../../library/email.contentmanager.rst:167 msgid "" "A *cte* of ``binary`` does not actually work correctly yet. The " -"``EmailMessage`` object as modified by ``set_content`` is correct, but :" -"class:`~email.generator.BytesGenerator` does not serialize it correctly." +"``EmailMessage`` object as modified by ``set_content`` is correct, " +"but :class:`~email.generator.BytesGenerator` does not serialize it correctly." msgstr "" #: ../../library/email.contentmanager.rst:172 @@ -267,8 +278,8 @@ msgstr "" #: ../../library/email.contentmanager.rst:185 msgid "" "If *params* is specified, iterate its ``items`` method and use the resulting " -"``(key, value)`` pairs to set additional parameters on the :mailheader:" -"`Content-Type` header." +"``(key, value)`` pairs to set additional parameters on " +"the :mailheader:`Content-Type` header." msgstr "" #: ../../library/email.contentmanager.rst:189 diff --git a/library/email.encoders.po b/library/email.encoders.po index 55394ed71..248e9979d 100644 --- a/library/email.encoders.po +++ b/library/email.encoders.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -34,9 +34,12 @@ msgstr "**Código-fonte:** :source:`Lib/email/encoders.py`" #: ../../library/email.encoders.rst:11 msgid "" "This module is part of the legacy (``Compat32``) email API. In the new API " -"the functionality is provided by the *cte* parameter of the :meth:`~email." -"message.EmailMessage.set_content` method." +"the functionality is provided by the *cte* parameter of " +"the :meth:`~email.message.EmailMessage.set_content` method." msgstr "" +"Este módulo faz parte da API legada de e-mail (``Compat32``). Na nova API, a " +"funcionalidade é fornecida pelo parâmetro *cte* do " +"método :meth:`~email.message.EmailMessage.set_content`." #: ../../library/email.encoders.rst:15 msgid "" @@ -45,51 +48,78 @@ msgid "" "sets the content type and CTE header using the *_subtype* and *_charset* " "values passed during the instantiation of that class." msgstr "" +"Este módulo está descontinuado no Python 3. As funções fornecidas aqui não " +"devem ser chamadas explicitamente, pois a " +"classe :class:`~email.mime.text.MIMEText` define o tipo de conteúdo e o " +"cabeçalho CTE usando os valores *_subtype* e *_charset* passados durante a " +"instanciação dessa classe." #: ../../library/email.encoders.rst:20 msgid "" "The remaining text in this section is the original documentation of the " "module." -msgstr "" +msgstr "O texto restante nesta seção é a documentação original do módulo." #: ../../library/email.encoders.rst:22 msgid "" "When creating :class:`~email.message.Message` objects from scratch, you " "often need to encode the payloads for transport through compliant mail " -"servers. This is especially true for :mimetype:`image/\\*` and :mimetype:" -"`text/\\*` type messages containing binary data." +"servers. This is especially true for :mimetype:`image/\\*` " +"and :mimetype:`text/\\*` type messages containing binary data." msgstr "" +"Ao criar objetos :class:`~email.message.Message` do zero, você " +"frequentemente precisa codificar as cargas úteis para transporte por meio de " +"servidores de e-mail compatíveis. Isso é especialmente verdadeiro para " +"mensagens do tipo :mimetype:`image/\\*` e :mimetype:`text/\\*` contendo " +"dados binários." #: ../../library/email.encoders.rst:27 msgid "" -"The :mod:`email` package provides some convenient encoders in its :mod:" -"`encoders` module. These encoders are actually used by the :class:`~email." -"mime.audio.MIMEAudio` and :class:`~email.mime.image.MIMEImage` class " -"constructors to provide default encodings. All encoder functions take " -"exactly one argument, the message object to encode. They usually extract " -"the payload, encode it, and reset the payload to this newly encoded value. " -"They should also set the :mailheader:`Content-Transfer-Encoding` header as " -"appropriate." +"The :mod:`email` package provides some convenient encoders in " +"its :mod:`~email.encoders` module. These encoders are actually used by " +"the :class:`~email.mime.audio.MIMEAudio` " +"and :class:`~email.mime.image.MIMEImage` class constructors to provide " +"default encodings. All encoder functions take exactly one argument, the " +"message object to encode. They usually extract the payload, encode it, and " +"reset the payload to this newly encoded value. They should also set " +"the :mailheader:`Content-Transfer-Encoding` header as appropriate." msgstr "" +"O pacote :mod:`email` fornece alguns codificadores convenientes em seu " +"módulo :mod:`~email.encoders`. Esses codificadores são realmente usados " +"pelos construtores de classe :class:`~email.mime.audio.MIMEAudio` " +"e :class:`~email.mime.image.MIMEImage` para fornecer codificações padrão. " +"Todas as funções de codificador recebem exatamente um argumento, o objeto de " +"mensagem a ser codificado. Eles geralmente extraem a carga útil, codificam-" +"na e redefinem a carga útil para esse valor recém-codificado. Eles também " +"devem definir o cabeçalho :mailheader:`Content-Transfer-Encoding` conforme " +"apropriado." #: ../../library/email.encoders.rst:35 msgid "" "Note that these functions are not meaningful for a multipart message. They " -"must be applied to individual subparts instead, and will raise a :exc:" -"`TypeError` if passed a message whose type is multipart." +"must be applied to individual subparts instead, and will raise " +"a :exc:`TypeError` if passed a message whose type is multipart." msgstr "" +"Observe que essas funções não são significativas para uma mensagem " +"multiparte. Elas devem ser aplicadas a subpartes individuais, e levantarão " +"um :exc:`TypeError` se for passada uma mensagem cujo tipo seja multiparte." #: ../../library/email.encoders.rst:39 msgid "Here are the encoding functions provided:" -msgstr "" +msgstr "Aqui estão as funções de codificação fornecidas:" #: ../../library/email.encoders.rst:44 msgid "" -"Encodes the payload into quoted-printable form and sets the :mailheader:" -"`Content-Transfer-Encoding` header to ``quoted-printable`` [#]_. This is a " -"good encoding to use when most of your payload is normal printable data, but " -"contains a few unprintable characters." +"Encodes the payload into quoted-printable form and sets " +"the :mailheader:`Content-Transfer-Encoding` header to ``quoted-printable`` " +"[#]_. This is a good encoding to use when most of your payload is normal " +"printable data, but contains a few unprintable characters." msgstr "" +"Codifica a carga útil em formato quoted-printable e define o " +"cabeçalho :mailheader:`Content-Transfer-Encoding` como ``quoted-printable`` " +"[#]_. Esta é uma boa codificação para usar quando a maior parte da sua carga " +"útil é de dados imprimíveis normais, mas contém alguns caracteres não " +"imprimíveis." #: ../../library/email.encoders.rst:52 msgid "" @@ -99,19 +129,30 @@ msgid "" "form than quoted-printable. The drawback of base64 encoding is that it " "renders the text non-human readable." msgstr "" +"Codifica a carga útil em formato base64 e define o " +"cabeçalho :mailheader:`Content-Transfer-Encoding` para ``base64``. Esta é " +"uma boa codificação para usar quando a maior parte da sua carga útil é de " +"dados não imprimíveis, pois é um formato mais compacto do que quoted-" +"printable. A desvantagem da codificação base64 é que ela torna o texto não " +"legível por humanos." #: ../../library/email.encoders.rst:61 msgid "" -"This doesn't actually modify the message's payload, but it does set the :" -"mailheader:`Content-Transfer-Encoding` header to either ``7bit`` or ``8bit`` " -"as appropriate, based on the payload data." +"This doesn't actually modify the message's payload, but it does set " +"the :mailheader:`Content-Transfer-Encoding` header to either ``7bit`` or " +"``8bit`` as appropriate, based on the payload data." msgstr "" +"Na verdade, isso não modifica a carga útil da mensagem, mas define o " +"cabeçalho :mailheader:`Content-Transfer-Encoding` para ``7bit`` ou ``8bit``, " +"conforme apropriado, com base nos dados da carga útil." #: ../../library/email.encoders.rst:68 msgid "" "This does nothing; it doesn't even set the :mailheader:`Content-Transfer-" "Encoding` header." msgstr "" +"Isso não faz nada; nem mesmo define o cabeçalho :mailheader:`Content-" +"Transfer-Encoding`." #: ../../library/email.encoders.rst:72 msgid "Footnotes" @@ -122,3 +163,5 @@ msgid "" "Note that encoding with :meth:`encode_quopri` also encodes all tabs and " "space characters in the data." msgstr "" +"Observe que a codificação com :meth:`encode_quopri` também codifica todos os " +"caracteres de tabulação e espaço nos dados." diff --git a/library/email.errors.po b/library/email.errors.po index 3ddc2f309..266078ce1 100644 --- a/library/email.errors.po +++ b/library/email.errors.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Flávio Neves, 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -50,25 +49,27 @@ msgstr "" #: ../../library/email.errors.rst:23 msgid "" -"This is the base class for exceptions raised by the :class:`~email.parser." -"Parser` class. It is derived from :exc:`MessageError`. This class is also " -"used internally by the parser used by :mod:`~email.headerregistry`." +"This is the base class for exceptions raised by " +"the :class:`~email.parser.Parser` class. It is derived " +"from :exc:`MessageError`. This class is also used internally by the parser " +"used by :mod:`~email.headerregistry`." msgstr "" -"Essa é a classe base para exceções levantadas pela classe :class:`~email." -"parser.Parser`. Ela é derivada do :exc:`MessageError`. Essa classe pode ser " -"usada internamente pelo analisador sintático usado pelo :mod:`~email." -"headerregistry`." +"Essa é a classe base para exceções levantadas pela " +"classe :class:`~email.parser.Parser`. Ela é derivada do :exc:`MessageError`. " +"Essa classe pode ser usada internamente pelo analisador sintático usado " +"pelo :mod:`~email.headerregistry`." #: ../../library/email.errors.rst:31 msgid "" "Raised under some error conditions when parsing the :rfc:`5322` headers of a " -"message, this class is derived from :exc:`MessageParseError`. The :meth:" -"`~email.message.EmailMessage.set_boundary` method will raise this error if " -"the content type is unknown when the method is called. :class:`~email.header." -"Header` may raise this error for certain base64 decoding errors, and when an " -"attempt is made to create a header that appears to contain an embedded " -"header (that is, there is what is supposed to be a continuation line that " -"has no leading whitespace and looks like a header)." +"message, this class is derived from :exc:`MessageParseError`. " +"The :meth:`~email.message.EmailMessage.set_boundary` method will raise this " +"error if the content type is unknown when the method is " +"called. :class:`~email.header.Header` may raise this error for certain " +"base64 decoding errors, and when an attempt is made to create a header that " +"appears to contain an embedded header (that is, there is what is supposed to " +"be a continuation line that has no leading whitespace and looks like a " +"header)." msgstr "" #: ../../library/email.errors.rst:43 @@ -79,21 +80,38 @@ msgstr "Descontinuado e não mais usado." msgid "" "Raised when a payload is added to a :class:`~email.message.Message` object " "using :meth:`add_payload`, but the payload is already a scalar and the " -"message's :mailheader:`Content-Type` main type is not either :mimetype:" -"`multipart` or missing. :exc:`MultipartConversionError` multiply inherits " -"from :exc:`MessageError` and the built-in :exc:`TypeError`." +"message's :mailheader:`Content-Type` main type is not " +"either :mimetype:`multipart` or missing. :exc:`MultipartConversionError` " +"multiply inherits from :exc:`MessageError` and the built-in :exc:`TypeError`." msgstr "" #: ../../library/email.errors.rst:54 msgid "" "Since :meth:`Message.add_payload` is deprecated, this exception is rarely " -"raised in practice. However the exception may also be raised if the :meth:" -"`~email.message.Message.attach` method is called on an instance of a class " -"derived from :class:`~email.mime.nonmultipart.MIMENonMultipart` (e.g. :class:" -"`~email.mime.image.MIMEImage`)." +"raised in practice. However the exception may also be raised if " +"the :meth:`~email.message.Message.attach` method is called on an instance of " +"a class derived from :class:`~email.mime.nonmultipart.MIMENonMultipart` " +"(e.g. :class:`~email.mime.image.MIMEImage`)." +msgstr "" + +#: ../../library/email.errors.rst:64 +msgid "" +"Raised when an error occurs when the :mod:`~email.generator` outputs headers." +msgstr "" + +#: ../../library/email.errors.rst:70 +msgid "" +"This is the base class for all defects found when parsing email messages. It " +"is derived from :exc:`ValueError`." msgstr "" -#: ../../library/email.errors.rst:62 +#: ../../library/email.errors.rst:75 +msgid "" +"This is the base class for all defects found when parsing email headers. It " +"is derived from :exc:`MessageDefect`." +msgstr "" + +#: ../../library/email.errors.rst:78 msgid "" "Here is the list of the defects that the :class:`~email.parser.FeedParser` " "can find while parsing messages. Note that the defects are added to the " @@ -103,89 +121,89 @@ msgid "" "not." msgstr "" -#: ../../library/email.errors.rst:68 +#: ../../library/email.errors.rst:84 msgid "" "All defect classes are subclassed from :class:`email.errors.MessageDefect`." msgstr "" -#: ../../library/email.errors.rst:70 +#: ../../library/email.errors.rst:86 msgid "" ":class:`NoBoundaryInMultipartDefect` -- A message claimed to be a multipart, " "but had no :mimetype:`boundary` parameter." msgstr "" -#: ../../library/email.errors.rst:73 +#: ../../library/email.errors.rst:89 msgid "" -":class:`StartBoundaryNotFoundDefect` -- The start boundary claimed in the :" -"mailheader:`Content-Type` header was never found." +":class:`StartBoundaryNotFoundDefect` -- The start boundary claimed in " +"the :mailheader:`Content-Type` header was never found." msgstr "" -#: ../../library/email.errors.rst:76 +#: ../../library/email.errors.rst:92 msgid "" ":class:`CloseBoundaryNotFoundDefect` -- A start boundary was found, but no " "corresponding close boundary was ever found." msgstr "" -#: ../../library/email.errors.rst:81 +#: ../../library/email.errors.rst:97 msgid "" ":class:`FirstHeaderLineIsContinuationDefect` -- The message had a " "continuation line as its first header line." msgstr "" -#: ../../library/email.errors.rst:84 +#: ../../library/email.errors.rst:100 msgid "" ":class:`MisplacedEnvelopeHeaderDefect` - A \"Unix From\" header was found in " "the middle of a header block." msgstr "" -#: ../../library/email.errors.rst:87 +#: ../../library/email.errors.rst:103 msgid "" ":class:`MissingHeaderBodySeparatorDefect` - A line was found while parsing " "headers that had no leading white space but contained no ':'. Parsing " "continues assuming that the line represents the first line of the body." msgstr "" -#: ../../library/email.errors.rst:93 +#: ../../library/email.errors.rst:109 msgid "" ":class:`MalformedHeaderDefect` -- A header was found that was missing a " "colon, or was otherwise malformed." msgstr "" -#: ../../library/email.errors.rst:96 +#: ../../library/email.errors.rst:112 msgid "This defect has not been used for several Python versions." msgstr "" -#: ../../library/email.errors.rst:99 +#: ../../library/email.errors.rst:115 msgid "" -":class:`MultipartInvariantViolationDefect` -- A message claimed to be a :" -"mimetype:`multipart`, but no subparts were found. Note that when a message " -"has this defect, its :meth:`~email.message.Message.is_multipart` method may " -"return ``False`` even though its content type claims to be :mimetype:" -"`multipart`." +":class:`MultipartInvariantViolationDefect` -- A message claimed to be " +"a :mimetype:`multipart`, but no subparts were found. Note that when a " +"message has this defect, its :meth:`~email.message.Message.is_multipart` " +"method may return ``False`` even though its content type claims to " +"be :mimetype:`multipart`." msgstr "" -#: ../../library/email.errors.rst:104 +#: ../../library/email.errors.rst:120 msgid "" ":class:`InvalidBase64PaddingDefect` -- When decoding a block of base64 " "encoded bytes, the padding was not correct. Enough padding is added to " "perform the decode, but the resulting decoded bytes may be invalid." msgstr "" -#: ../../library/email.errors.rst:108 +#: ../../library/email.errors.rst:124 msgid "" ":class:`InvalidBase64CharactersDefect` -- When decoding a block of base64 " "encoded bytes, characters outside the base64 alphabet were encountered. The " "characters are ignored, but the resulting decoded bytes may be invalid." msgstr "" -#: ../../library/email.errors.rst:112 +#: ../../library/email.errors.rst:128 msgid "" ":class:`InvalidBase64LengthDefect` -- When decoding a block of base64 " "encoded bytes, the number of non-padding base64 characters was invalid (1 " "more than a multiple of 4). The encoded block was kept as-is." msgstr "" -#: ../../library/email.errors.rst:116 +#: ../../library/email.errors.rst:132 msgid "" ":class:`InvalidDateDefect` -- When decoding an invalid or unparsable date " "field. The original value is kept as-is." diff --git a/library/email.examples.po b/library/email.examples.po index 70d48c90d..2207217c6 100644 --- a/library/email.examples.po +++ b/library/email.examples.po @@ -1,26 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,37 +32,48 @@ msgid "" "Here are a few examples of how to use the :mod:`email` package to read, " "write, and send simple email messages, as well as more complex MIME messages." msgstr "" +"Aqui estão alguns exemplos de como usar o pacote :mod:`email` para ler, " +"escrever e enviar mensagens de e-mail simples, bem como mensagens MIME mais " +"complexas." #: ../../library/email.examples.rst:9 msgid "" "First, let's see how to create and send a simple text message (both the text " "content and the addresses may contain unicode characters):" msgstr "" +"Primeiro, vamos ver como criar e enviar uma mensagem de texto simples (tanto " +"o conteúdo do texto quanto os endereços podem conter caracteres Unicode):" #: ../../library/email.examples.rst:15 msgid "" "Parsing :rfc:`822` headers can easily be done by the using the classes from " "the :mod:`~email.parser` module:" msgstr "" +"A análise dos cabeçalhos :rfc:`822` pode ser feita facilmente usando as " +"classes do módulo :mod:`~email.parser`:" #: ../../library/email.examples.rst:21 msgid "" "Here's an example of how to send a MIME message containing a bunch of family " "pictures that may be residing in a directory:" msgstr "" +"Aqui está um exemplo de como enviar uma mensagem MIME contendo várias fotos " +"de família que podem estar em um diretório:" #: ../../library/email.examples.rst:27 msgid "" "Here's an example of how to send the entire contents of a directory as an " "email message: [1]_" msgstr "" +"Aqui está um exemplo de como enviar todo o conteúdo de um diretório como uma " +"mensagem de e-mail: [1]_" #: ../../library/email.examples.rst:33 msgid "" "Here's an example of how to unpack a MIME message like the one above, into a " "directory of files:" msgstr "" -"Aqui está um exemplo de como descompactar uma mensagem MIME, como a acima, " +"Aqui está um exemplo de como desempacotar uma mensagem MIME, como a acima, " "para um diretório de arquivos:" #: ../../library/email.examples.rst:39 @@ -73,16 +83,22 @@ msgid "" "image in the html part, and we save a copy of what we are going to send to " "disk, as well as sending it." msgstr "" +"Aqui está um exemplo de como criar uma mensagem HTML com uma versão " +"alternativa em texto simples. Para tornar as coisas um pouco mais " +"interessantes, incluímos uma imagem relacionada na parte html e salvamos uma " +"cópia do que vamos enviar para o disco, assim como enviamos." #: ../../library/email.examples.rst:47 msgid "" "If we were sent the message from the last example, here is one way we could " "process it:" msgstr "" +"Se nos fosse enviada a mensagem do último exemplo, aqui está uma maneira de " +"processá-la:" #: ../../library/email.examples.rst:52 msgid "Up to the prompt, the output from the above is:" -msgstr "" +msgstr "Até o prompt, a saída do comando acima é:" #: ../../library/email.examples.rst:66 msgid "Footnotes" @@ -92,3 +108,4 @@ msgstr "Notas de rodapé" msgid "" "Thanks to Matthew Dixon Cowles for the original inspiration and examples." msgstr "" +"Obrigado a Matthew Dixon Cowles pela inspiração original e pelos exemplos." diff --git a/library/email.generator.po b/library/email.generator.po index c5abc7805..9419674d4 100644 --- a/library/email.generator.po +++ b/library/email.generator.po @@ -1,25 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,11 +36,17 @@ msgstr "**Código-fonte:** :source:`Lib/email/generator.py`" msgid "" "One of the most common tasks is to generate the flat (serialized) version of " "the email message represented by a message object structure. You will need " -"to do this if you want to send your message via :meth:`smtplib.SMTP." -"sendmail` or the :mod:`nntplib` module, or print the message on the " -"console. Taking a message object structure and producing a serialized " -"representation is the job of the generator classes." -msgstr "" +"to do this if you want to send your message " +"via :meth:`smtplib.SMTP.sendmail` or the :mod:`nntplib` module, or print the " +"message on the console. Taking a message object structure and producing a " +"serialized representation is the job of the generator classes." +msgstr "" +"Uma das tarefas mais comuns é gerar a versão plana (serializada) da mensagem " +"de e-mail representada por uma estrutura de objeto de mensagem. Você " +"precisará fazer isso se quiser enviar sua mensagem " +"via :meth:`smtplib.SMTP.sendmail` ou o módulo :mod:`nntplib`, ou exibir a " +"mensagem no console. A tarefa das classes geradoras é pegar uma estrutura de " +"objeto de mensagem e produzir uma representação serializada." #: ../../library/email.generator.rst:18 msgid "" @@ -48,15 +55,29 @@ msgid "" "yourself. However the bundled generator knows how to generate most email in " "a standards-compliant way, should handle MIME and non-MIME email messages " "just fine, and is designed so that the bytes-oriented parsing and generation " -"operations are inverses, assuming the same non-transforming :mod:`~email." -"policy` is used for both. That is, parsing the serialized byte stream via " -"the :class:`~email.parser.BytesParser` class and then regenerating the " -"serialized byte stream using :class:`BytesGenerator` should produce output " -"identical to the input [#]_. (On the other hand, using the generator on an :" -"class:`~email.message.EmailMessage` constructed by program may result in " -"changes to the :class:`~email.message.EmailMessage` object as defaults are " -"filled in.)" -msgstr "" +"operations are inverses, assuming the same non-" +"transforming :mod:`~email.policy` is used for both. That is, parsing the " +"serialized byte stream via the :class:`~email.parser.BytesParser` class and " +"then regenerating the serialized byte stream using :class:`BytesGenerator` " +"should produce output identical to the input [#]_. (On the other hand, " +"using the generator on an :class:`~email.message.EmailMessage` constructed " +"by program may result in changes to the :class:`~email.message.EmailMessage` " +"object as defaults are filled in.)" +msgstr "" +"Assim como no módulo :mod:`email.parser`, você não está limitado à " +"funcionalidade do gerador integrado; você mesmo pode criar um do zero. No " +"entanto, o gerador integrado sabe como gerar a maioria dos e-mails em " +"conformidade com os padrões, deve lidar perfeitamente com mensagens de e-" +"mail MIME e não MIME e foi projetado para que as operações de análise e " +"geração orientadas a bytes sejam inversas, presumindo que a " +"mesma :mod:`~email.policy` não transformadora seja usada para ambas. Ou " +"seja, analisar o fluxo de bytes serializado por meio da " +"classe :class:`~email.parser.BytesParser` e, em seguida, regenerar o fluxo " +"de bytes serializado usando :class:`BytesGenerator` deve produzir uma saída " +"idêntica à entrada [#]_. (Por outro lado, usar o gerador em " +"um :class:`~email.message.EmailMessage` construído pelo programa pode " +"resultar em alterações no objeto :class:`~email.message.EmailMessage` à " +"medida que os padrões são preenchidos.)" #: ../../library/email.generator.rst:32 msgid "" @@ -67,13 +88,23 @@ msgid "" "Content Transfer Encoding techniques for encoding email messages for " "transport over channels that are not \"8 bit clean\"." msgstr "" +"A classe :class:`Generator` pode ser usada para simplificar uma mensagem em " +"uma representação serializada de texto (em oposição a binária), mas como o " +"Unicode não pode representar dados binários diretamente, a mensagem é " +"necessariamente transformada em algo que contém apenas caracteres ASCII, " +"usando as técnicas de codificação de transferência de conteúdo RFC de e-mail " +"padrão para codificar mensagens de e-mail para transporte em canais que não " +"são \"limpos de 8 bits\"." #: ../../library/email.generator.rst:39 msgid "" -"To accommodate reproducible processing of SMIME-signed messages :class:" -"`Generator` disables header folding for message parts of type ``multipart/" -"signed`` and all subparts." +"To accommodate reproducible processing of SMIME-signed " +"messages :class:`Generator` disables header folding for message parts of " +"type ``multipart/signed`` and all subparts." msgstr "" +"Para acomodar o processamento reproduzível de mensagens assinadas por " +"SMIME, :class:`Generator` desabilita a dobragem de cabeçalho para partes de " +"mensagens do tipo ``multipart/signed`` e todas as subpartes." #: ../../library/email.generator.rst:47 msgid "" @@ -82,6 +113,11 @@ msgid "" "to the :meth:`write` method, to the :term:`file-like object` *outfp*. " "*outfp* must support a ``write`` method that accepts binary data." msgstr "" +"Retorna um objeto :class:`BytesGenerator` que gravará qualquer mensagem " +"fornecida ao método :meth:`flatten`, ou qualquer texto codificado " +"surrogateescape fornecido ao método :meth:`write`, no :term:`objeto arquivo " +"ou similar` *outfp*. *outfp* deve oferecer suporte a um método ``write`` que " +"aceite dados binários." #: ../../library/email.generator.rst:52 ../../library/email.generator.rst:153 msgid "" @@ -89,12 +125,22 @@ msgid "" "any line in the body that starts with the exact string ``\"From \"``, that " "is ``From`` followed by a space at the beginning of a line. *mangle_from_* " "defaults to the value of the :attr:`~email.policy.Policy.mangle_from_` " -"setting of the *policy* (which is ``True`` for the :data:`~email.policy." -"compat32` policy and ``False`` for all others). *mangle_from_* is intended " -"for use when messages are stored in Unix mbox format (see :mod:`mailbox` and " -"`WHY THE CONTENT-LENGTH FORMAT IS BAD `_)." +msgstr "" +"Se o *mangle_from_* opcional for ``True``, coloca um caractere ``>`` na " +"frente de qualquer linha no corpo que comece com a string exata ``\"From " +"\"``, ou seja, ``From`` seguido por um espaço no início de uma linha. " +"*mangle_from_* assume por padrão o valor da " +"configuração :attr:`~email.policy.Policy.mangle_from_` da *policy* (que é " +"``True`` para a política :data:`~email.policy.compat32` e ``False`` para " +"todas as outras). *mangle_from_* deve ser usado quando as mensagens são " +"armazenadas no formato mbox do Unix (consulte :mod:`mailbox` e `WHY THE " +"CONTENT-LENGTH FORMAT IS BAD `_)." -msgstr "" #: ../../library/email.generator.rst:62 ../../library/email.generator.rst:163 msgid "" @@ -103,25 +149,37 @@ msgid "" "*manheaderlen* is ``None`` (the default), wrap headers and other message " "lines according to the *policy* settings." msgstr "" +"Se *maxheaderlen* não for ``None``, redobra quaisquer linhas de cabeçalho " +"maiores que *maxheaderlen* ou, se for ``0``, não redobra nenhum cabeçalho. " +"Se *manheaderlen* for ``None`` (o padrão), redobra os cabeçalhos e outras " +"linhas de mensagem de acordo com as configurações da *policy*." #: ../../library/email.generator.rst:67 ../../library/email.generator.rst:168 msgid "" "If *policy* is specified, use that policy to control message generation. If " -"*policy* is ``None`` (the default), use the policy associated with the :" -"class:`~email.message.Message` or :class:`~email.message.EmailMessage` " -"object passed to ``flatten`` to control the message generation. See :mod:" -"`email.policy` for details on what *policy* controls." -msgstr "" +"*policy* is ``None`` (the default), use the policy associated with " +"the :class:`~email.message.Message` or :class:`~email.message.EmailMessage` " +"object passed to ``flatten`` to control the message generation. " +"See :mod:`email.policy` for details on what *policy* controls." +msgstr "" +"Se *policy* for especificado, usa essa política para controlar a geração de " +"mensagens. Se *policy* for ``None`` (o padrão), usa a política associada ao " +"objeto :class:`~email.message.Message` " +"ou :class:`~email.message.EmailMessage` passado para ``flatten`` para " +"controlar a geração de mensagens. Consulte :mod:`email.policy` para obter " +"detalhes sobre o que *policy* controla." #: ../../library/email.generator.rst:75 ../../library/email.generator.rst:174 msgid "Added the *policy* keyword." -msgstr "" +msgstr "Adicionada o argumento nomeado *policy*." #: ../../library/email.generator.rst:77 ../../library/email.generator.rst:176 msgid "" "The default behavior of the *mangle_from_* and *maxheaderlen* parameters is " "to follow the policy." msgstr "" +"O comportamento padrão dos parâmetros *mangle_from_* e *maxheaderlen* é " +"seguir a política." #: ../../library/email.generator.rst:83 msgid "" @@ -129,22 +187,38 @@ msgid "" "*msg* to the output file specified when the :class:`BytesGenerator` instance " "was created." msgstr "" +"Exibe a representação textual da estrutura do objeto de mensagem com raiz em " +"*msg* no arquivo de saída especificado quando a " +"instância :class:`BytesGenerator` foi criada." #: ../../library/email.generator.rst:87 msgid "" "If the :mod:`~email.policy` option :attr:`~email.policy.Policy.cte_type` is " "``8bit`` (the default), copy any headers in the original parsed message that " "have not been modified to the output with any bytes with the high bit set " -"reproduced as in the original, and preserve the non-ASCII :mailheader:" -"`Content-Transfer-Encoding` of any body parts that have them. If " -"``cte_type`` is ``7bit``, convert the bytes with the high bit set as needed " -"using an ASCII-compatible :mailheader:`Content-Transfer-Encoding`. That is, " -"transform parts with non-ASCII :mailheader:`Content-Transfer-Encoding` (:" -"mailheader:`Content-Transfer-Encoding: 8bit`) to an ASCII compatible :" -"mailheader:`Content-Transfer-Encoding`, and encode RFC-invalid non-ASCII " -"bytes in headers using the MIME ``unknown-8bit`` character set, thus " -"rendering them RFC-compliant." -msgstr "" +"reproduced as in the original, and preserve the non-" +"ASCII :mailheader:`Content-Transfer-Encoding` of any body parts that have " +"them. If ``cte_type`` is ``7bit``, convert the bytes with the high bit set " +"as needed using an ASCII-compatible :mailheader:`Content-Transfer-Encoding`. " +"That is, transform parts with non-ASCII :mailheader:`Content-Transfer-" +"Encoding` (:mailheader:`Content-Transfer-Encoding: 8bit`) to an ASCII " +"compatible :mailheader:`Content-Transfer-Encoding`, and encode RFC-invalid " +"non-ASCII bytes in headers using the MIME ``unknown-8bit`` character set, " +"thus rendering them RFC-compliant." +msgstr "" +"Se a opção :mod:`~email.policy` :attr:`~email.policy.Policy.cte_type` for " +"``8bit`` (o padrão), copia todos os cabeçalhos da mensagem original " +"analisada que não tenham sido modificados para a saída, com todos os bytes " +"com o bit mais alto definido reproduzidos como no original, e preserva " +"a :mailheader:`Content-Transfer-Encoding` não ASCII de quaisquer partes do " +"corpo que os contenham. Se ``cte_type`` for ``7bit``, converte os bytes com " +"o bit mais alto definido, conforme necessário, usando " +"uma :mailheader:`Content-Transfer-Encoding` compatível com ASCII. Ou seja, " +"transforma partes com :mailheader:`Content-Transfer-Encoding` não ASCII " +"(:mailheader:`Content-Transfer-Encoding: 8bit`) em um :mailheader:`Content-" +"Transfer-Encoding` compatível com ASCII e codifica bytes não ASCII inválidos " +"para RFC em cabeçalhos usando o conjunto de caracteres MIME " +"``unknown-8bit``, tornando-os compatíveis com RFC." #: ../../library/email.generator.rst:104 ../../library/email.generator.rst:197 msgid "" @@ -154,6 +228,12 @@ msgid "" "header, craft a standard one. The default is ``False``. Note that for " "subparts, no envelope header is ever printed." msgstr "" +"Se *unixfrom* for ``True``, exibe o delimitador de cabeçalho de envelope " +"usado pelo formato de caixa de correio Unix (consulte :mod:`mailbox`) antes " +"do primeiro dos cabeçalhos :rfc:`5322` do objeto de mensagem raiz. Se o " +"objeto raiz não tiver cabeçalho de envelope, crie um padrão. O padrão é " +"``False``. Observe que, para subpartes, nenhum cabeçalho de envelope é " +"exibido." #: ../../library/email.generator.rst:110 ../../library/email.generator.rst:203 msgid "" @@ -161,39 +241,61 @@ msgid "" "the lines of the flattened message. If *linesep* is ``None`` (the default), " "use the value specified in the *policy*." msgstr "" +"Se *linesep* não for ``None``, usa-o como caractere separador entre todas as " +"linhas da mensagem simplificada. Se *linesep* for ``None`` (o padrão), usa o " +"valor especificado na *policy*." #: ../../library/email.generator.rst:119 msgid "" "Return an independent clone of this :class:`BytesGenerator` instance with " "the exact same option settings, and *fp* as the new *outfp*." msgstr "" +"Retorna um clone independente desta instância :class:`BytesGenerator` com " +"exatamente as mesmas configurações de opção e *fp* como o novo *outfp*." #: ../../library/email.generator.rst:125 msgid "" "Encode *s* using the ``ASCII`` codec and the ``surrogateescape`` error " -"handler, and pass it to the *write* method of the *outfp* passed to the :" -"class:`BytesGenerator`'s constructor." +"handler, and pass it to the *write* method of the *outfp* passed to " +"the :class:`BytesGenerator`'s constructor." msgstr "" +"Codifica *s* usando o codec ``ASCII`` e o tratador de erros " +"``surrogateescape`` e passa-o para o método *write* do *outfp* passado ao " +"construtor :class:`BytesGenerator`." #: ../../library/email.generator.rst:130 msgid "" -"As a convenience, :class:`~email.message.EmailMessage` provides the methods :" -"meth:`~email.message.EmailMessage.as_bytes` and ``bytes(aMessage)`` (a.k.a. :" -"meth:`~email.message.EmailMessage.__bytes__`), which simplify the generation " -"of a serialized binary representation of a message object. For more detail, " -"see :mod:`email.message`." +"As a convenience, :class:`~email.message.EmailMessage` provides the " +"methods :meth:`~email.message.EmailMessage.as_bytes` and ``bytes(aMessage)`` " +"(a.k.a. :meth:`~email.message.EmailMessage.__bytes__`), which simplify the " +"generation of a serialized binary representation of a message object. For " +"more detail, see :mod:`email.message`." msgstr "" +"Para facilitar, :class:`~email.message.EmailMessage` fornece os " +"métodos :meth:`~email.message.EmailMessage.as_bytes` e ``bytes(aMessage)`` " +"(também conhecidos como :meth:`~email.message.EmailMessage.__bytes__`), que " +"simplificam a geração de uma representação binária serializada de um objeto " +"de mensagem. Para mais detalhes, consulte :mod:`email.message`." #: ../../library/email.generator.rst:137 msgid "" "Because strings cannot represent binary data, the :class:`Generator` class " "must convert any binary data in any message it flattens to an ASCII " -"compatible format, by converting them to an ASCII compatible :mailheader:" -"`Content-Transfer_Encoding`. Using the terminology of the email RFCs, you " -"can think of this as :class:`Generator` serializing to an I/O stream that is " -"not \"8 bit clean\". In other words, most applications will want to be " -"using :class:`BytesGenerator`, and not :class:`Generator`." -msgstr "" +"compatible format, by converting them to an ASCII " +"compatible :mailheader:`Content-Transfer_Encoding`. Using the terminology " +"of the email RFCs, you can think of this as :class:`Generator` serializing " +"to an I/O stream that is not \"8 bit clean\". In other words, most " +"applications will want to be using :class:`BytesGenerator`, and " +"not :class:`Generator`." +msgstr "" +"Como strings não podem representar dados binários, a " +"classe :class:`Generator` deve converter quaisquer dados binários em " +"qualquer mensagem que ela nivele para um formato compatível com ASCII, " +"convertendo-os para um :mailheader:`Content-Transfer_Encoding` compatível " +"com ASCII. Usando a terminologia dos RFCs de e-mail, você pode pensar nisso " +"como :class:`Generator` serializando para um fluxo de E/S que não é \"limpo " +"em 8 bits\". Em outras palavras, a maioria das aplicações " +"usará :class:`BytesGenerator`, e não :class:`Generator`." #: ../../library/email.generator.rst:148 msgid "" @@ -202,6 +304,10 @@ msgid "" "method, to the :term:`file-like object` *outfp*. *outfp* must support a " "``write`` method that accepts string data." msgstr "" +"Retorna um objeto :class:`Generator` que gravará qualquer mensagem fornecida " +"ao método :meth:`flatten`, ou qualquer texto fornecido ao " +"método :meth:`write`, no :term:`objeto arquivo ou similar` *outfp*. *outfp* " +"deve oferecer suporte a um método ``write`` que aceite dados string." #: ../../library/email.generator.rst:182 msgid "" @@ -209,114 +315,159 @@ msgid "" "*msg* to the output file specified when the :class:`Generator` instance was " "created." msgstr "" +"Exibe a representação textual da estrutura do objeto de mensagem com raiz em " +"*msg* no arquivo de saída especificado quando a instância :class:`Generator` " +"foi criada." #: ../../library/email.generator.rst:186 msgid "" "If the :mod:`~email.policy` option :attr:`~email.policy.Policy.cte_type` is " "``8bit``, generate the message as if the option were set to ``7bit``. (This " "is required because strings cannot represent non-ASCII bytes.) Convert any " -"bytes with the high bit set as needed using an ASCII-compatible :mailheader:" -"`Content-Transfer-Encoding`. That is, transform parts with non-ASCII :" -"mailheader:`Content-Transfer-Encoding` (:mailheader:`Content-Transfer-" -"Encoding: 8bit`) to an ASCII compatible :mailheader:`Content-Transfer-" -"Encoding`, and encode RFC-invalid non-ASCII bytes in headers using the MIME " -"``unknown-8bit`` character set, thus rendering them RFC-compliant." -msgstr "" +"bytes with the high bit set as needed using an ASCII-" +"compatible :mailheader:`Content-Transfer-Encoding`. That is, transform " +"parts with non-ASCII :mailheader:`Content-Transfer-Encoding` " +"(:mailheader:`Content-Transfer-Encoding: 8bit`) to an ASCII " +"compatible :mailheader:`Content-Transfer-Encoding`, and encode RFC-invalid " +"non-ASCII bytes in headers using the MIME ``unknown-8bit`` character set, " +"thus rendering them RFC-compliant." +msgstr "" +"Se a opção :mod:`~email.policy` :attr:`~email.policy.Policy.cte_type` for " +"``8bit``, gera a mensagem como se a opção estivesse definida como ``7bit``. " +"(Isso é necessário porque strings não podem representar bytes não ASCII.) " +"Converte quaisquer bytes com o bit mais alto definido, conforme necessário, " +"usando uma :mailheader:`Content-Transfer-Encoding` compatível com ASCII. Ou " +"seja, transforma partes com :mailheader:`Content-Transfer-Encoding` não " +"ASCII (:mailheader:`Content-Transfer-Encoding: 8bit`) em " +"um :mailheader:`Content-Transfer-Encoding` compatível com ASCII e codifica " +"bytes não ASCII inválidos para RFC em cabeçalhos usando o conjunto de " +"caracteres MIME ``unknown-8bit``, tornando-os compatíveis com RFC." #: ../../library/email.generator.rst:209 msgid "" "Added support for re-encoding ``8bit`` message bodies, and the *linesep* " "argument." msgstr "" +"Adicionado suporte para recodificação de corpos de mensagens ``8bit`` e o " +"argumento *linesep*." #: ../../library/email.generator.rst:216 msgid "" "Return an independent clone of this :class:`Generator` instance with the " "exact same options, and *fp* as the new *outfp*." msgstr "" +"Retorna um clone independente desta instância :class:`Generator` com " +"exatamente as mesmas opções e *fp* como o novo *outfp*." #: ../../library/email.generator.rst:222 msgid "" -"Write *s* to the *write* method of the *outfp* passed to the :class:" -"`Generator`'s constructor. This provides just enough file-like API for :" -"class:`Generator` instances to be used in the :func:`print` function." +"Write *s* to the *write* method of the *outfp* passed to " +"the :class:`Generator`'s constructor. This provides just enough file-like " +"API for :class:`Generator` instances to be used in the :func:`print` " +"function." msgstr "" +"Escreve *s* no método *write* do *outfp* passado ao construtor " +"de :class:`Generator`. Isso fornece API arquivo ou similar suficiente para " +"que instâncias de :class:`Generator` sejam usadas na função :func:`print`." #: ../../library/email.generator.rst:228 msgid "" -"As a convenience, :class:`~email.message.EmailMessage` provides the methods :" -"meth:`~email.message.EmailMessage.as_string` and ``str(aMessage)`` (a.k.a. :" -"meth:`~email.message.EmailMessage.__str__`), which simplify the generation " -"of a formatted string representation of a message object. For more detail, " -"see :mod:`email.message`." +"As a convenience, :class:`~email.message.EmailMessage` provides the " +"methods :meth:`~email.message.EmailMessage.as_string` and ``str(aMessage)`` " +"(a.k.a. :meth:`~email.message.EmailMessage.__str__`), which simplify the " +"generation of a formatted string representation of a message object. For " +"more detail, see :mod:`email.message`." msgstr "" +"Para facilitar, :class:`~email.message.EmailMessage` fornece os " +"métodos :meth:`~email.message.EmailMessage.as_string` e ``str(aMessage)`` " +"(também conhecidos como :meth:`~email.message.EmailMessage.__str__`), que " +"simplificam a geração de uma representação de string formatada de um objeto " +"de mensagem. Para mais detalhes, consulte :mod:`email.message`." #: ../../library/email.generator.rst:235 msgid "" -"The :mod:`email.generator` module also provides a derived class, :class:" -"`DecodedGenerator`, which is like the :class:`Generator` base class, except " -"that non-\\ :mimetype:`text` parts are not serialized, but are instead " -"represented in the output stream by a string derived from a template filled " -"in with information about the part." +"The :mod:`email.generator` module also provides a derived " +"class, :class:`DecodedGenerator`, which is like the :class:`Generator` base " +"class, except that non-\\ :mimetype:`text` parts are not serialized, but are " +"instead represented in the output stream by a string derived from a template " +"filled in with information about the part." msgstr "" +"O módulo :mod:`email.generator` também fornece uma classe " +"derivada, :class:`DecodedGenerator`, que é como a classe " +"base :class:`Generator`, exceto que as partes não-\\ :mimetype:`text` não " +"são serializadas, mas são representadas no fluxo de saída por uma string " +"derivada de um modelo preenchido com informações sobre a parte." #: ../../library/email.generator.rst:244 msgid "" "Act like :class:`Generator`, except that for any subpart of the message " -"passed to :meth:`Generator.flatten`, if the subpart is of main type :" -"mimetype:`text`, print the decoded payload of the subpart, and if the main " -"type is not :mimetype:`text`, instead of printing it fill in the string " +"passed to :meth:`Generator.flatten`, if the subpart is of main " +"type :mimetype:`text`, print the decoded payload of the subpart, and if the " +"main type is not :mimetype:`text`, instead of printing it fill in the string " "*fmt* using information from the part and print the resulting filled-in " "string." msgstr "" +"Age como :class:`Generator`, exceto que para qualquer subparte da mensagem " +"passada para :meth:`Generator.flatten`, se a subparte for do tipo " +"principal :mimetype:`text`, exibe a carga decodificada da subparte e, se o " +"tipo principal não for :mimetype:`text`, em vez de exibi-la, preenche a " +"string *fmt* usando informações da parte e exibe a string preenchida " +"resultante." #: ../../library/email.generator.rst:251 msgid "" "To fill in *fmt*, execute ``fmt % part_info``, where ``part_info`` is a " "dictionary composed of the following keys and values:" msgstr "" +"Para preencher *fmt*, executa ``fmt % part_info``, onde ``part_info`` é um " +"dicionário composto pelas seguintes chaves e valores:" #: ../../library/email.generator.rst:254 msgid "``type`` -- Full MIME type of the non-\\ :mimetype:`text` part" -msgstr "" +msgstr "``type`` -- Tipo MIME completo da parte não-\\ :mimetype:`text`" #: ../../library/email.generator.rst:256 msgid "``maintype`` -- Main MIME type of the non-\\ :mimetype:`text` part" -msgstr "" +msgstr "``maintype`` -- Tipo MIME principal da parte não-\\ :mimetype:`text`" #: ../../library/email.generator.rst:258 msgid "``subtype`` -- Sub-MIME type of the non-\\ :mimetype:`text` part" -msgstr "" +msgstr "``subtype`` -- Tipo sub-MIME da parte não-\\ :mimetype:`text`" #: ../../library/email.generator.rst:260 msgid "``filename`` -- Filename of the non-\\ :mimetype:`text` part" -msgstr "" +msgstr "``filename`` -- Nome de arquivo da parte não-\\ :mimetype:`text`" #: ../../library/email.generator.rst:262 msgid "" "``description`` -- Description associated with the non-\\ :mimetype:`text` " "part" -msgstr "" +msgstr "``description`` -- Descrição associada à parte não-\\ :mimetype:`text`" #: ../../library/email.generator.rst:264 msgid "" "``encoding`` -- Content transfer encoding of the non-\\ :mimetype:`text` part" msgstr "" +"``encoding`` -- Codificação de transferência de conteúdo da parte não-" +"\\ :mimetype:`text`" #: ../../library/email.generator.rst:266 msgid "If *fmt* is ``None``, use the following default *fmt*:" -msgstr "" +msgstr "Se *fmt* for ``None``, usa o seguinte *fmt* padrão:" #: ../../library/email.generator.rst:268 msgid "" "\"[Non-text (%(type)s) part of message omitted, filename %(filename)s]\"" msgstr "" +"\"[Non-text (%(type)s) part of message omitted, filename %(filename)s]\"" #: ../../library/email.generator.rst:270 msgid "" -"Optional *_mangle_from_* and *maxheaderlen* are as with the :class:" -"`Generator` base class." +"Optional *_mangle_from_* and *maxheaderlen* are as with " +"the :class:`Generator` base class." msgstr "" +"Os opcionais *_mangle_from_* e *maxheaderlen* são como os da classe " +"base :class:`Generator`." #: ../../library/email.generator.rst:275 msgid "Footnotes" @@ -325,11 +476,20 @@ msgstr "Notas de rodapé" #: ../../library/email.generator.rst:276 msgid "" "This statement assumes that you use the appropriate setting for " -"``unixfrom``, and that there are no :mod:`policy` settings calling for " -"automatic adjustments (for example, :attr:`~email.policy.Policy." -"refold_source` must be ``none``, which is *not* the default). It is also " -"not 100% true, since if the message does not conform to the RFC standards " -"occasionally information about the exact original text is lost during " -"parsing error recovery. It is a goal to fix these latter edge cases when " -"possible." -msgstr "" +"``unixfrom``, and that there are no :mod:`email.policy` settings calling for " +"automatic adjustments (for " +"example, :attr:`~email.policy.EmailPolicy.refold_source` must be ``none``, " +"which is *not* the default). It is also not 100% true, since if the message " +"does not conform to the RFC standards occasionally information about the " +"exact original text is lost during parsing error recovery. It is a goal to " +"fix these latter edge cases when possible." +msgstr "" +"Esta instrução presume que você usa a configuração apropriada para " +"``unixfrom`` e que não haja configurações :mod:`email.policy` que exijam " +"ajustes automáticos (por " +"exemplo, :attr:`~email.policy.EmailPolicy.refold_source` deve ser ``none``, " +"que *não* é o padrão). Também não é 100% verdadeiro, pois, se a mensagem não " +"estiver em conformidade com os padrões RFC, ocasionalmente informações sobre " +"o texto original exato são perdidas durante a recuperação de erros de " +"análise. O objetivo é corrigir esses últimos casos extremos sempre que " +"possível." diff --git a/library/email.header.po b/library/email.header.po index 826f946b2..d8e0de82d 100644 --- a/library/email.header.po +++ b/library/email.header.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -46,7 +45,7 @@ msgstr "" msgid "" "The remaining text in this section is the original documentation of the " "module." -msgstr "" +msgstr "O texto restante nesta seção é a documentação original do módulo." #: ../../library/email.header.rst:19 msgid "" @@ -64,19 +63,20 @@ msgid "" "used in email messages. The base standard still requires email messages to " "be transferred using only 7-bit ASCII characters, so a slew of RFCs have " "been written describing how to encode email containing non-ASCII characters " -"into :rfc:`2822`\\ -compliant format. These RFCs include :rfc:`2045`, :rfc:" -"`2046`, :rfc:`2047`, and :rfc:`2231`. The :mod:`email` package supports " -"these standards in its :mod:`email.header` and :mod:`email.charset` modules." +"into :rfc:`2822`\\ -compliant format. These RFCs " +"include :rfc:`2045`, :rfc:`2046`, :rfc:`2047`, and :rfc:`2231`. " +"The :mod:`email` package supports these standards in its :mod:`email.header` " +"and :mod:`email.charset` modules." msgstr "" #: ../../library/email.header.rst:33 msgid "" "If you want to include non-ASCII characters in your email headers, say in " -"the :mailheader:`Subject` or :mailheader:`To` fields, you should use the :" -"class:`Header` class and assign the field in the :class:`~email.message." -"Message` object to an instance of :class:`Header` instead of using a string " -"for the header value. Import the :class:`Header` class from the :mod:`email." -"header` module. For example::" +"the :mailheader:`Subject` or :mailheader:`To` fields, you should use " +"the :class:`Header` class and assign the field in " +"the :class:`~email.message.Message` object to an instance of :class:`Header` " +"instead of using a string for the header value. Import the :class:`Header` " +"class from the :mod:`email.header` module. For example::" msgstr "" #: ../../library/email.header.rst:50 @@ -84,9 +84,10 @@ msgid "" "Notice here how we wanted the :mailheader:`Subject` field to contain a non-" "ASCII character? We did this by creating a :class:`Header` instance and " "passing in the character set that the byte string was encoded in. When the " -"subsequent :class:`~email.message.Message` instance was flattened, the :" -"mailheader:`Subject` field was properly :rfc:`2047` encoded. MIME-aware " -"mail readers would show this header using the embedded ISO-8859-1 character." +"subsequent :class:`~email.message.Message` instance was flattened, " +"the :mailheader:`Subject` field was properly :rfc:`2047` encoded. MIME-" +"aware mail readers would show this header using the embedded ISO-8859-1 " +"character." msgstr "" #: ../../library/email.header.rst:57 @@ -102,9 +103,9 @@ msgstr "" #: ../../library/email.header.rst:65 msgid "" "Optional *s* is the initial header value. If ``None`` (the default), the " -"initial header value is not set. You can later append to the header with :" -"meth:`append` method calls. *s* may be an instance of :class:`bytes` or :" -"class:`str`, but see the :meth:`append` documentation for semantics." +"initial header value is not set. You can later append to the header " +"with :meth:`append` method calls. *s* may be an instance of :class:`bytes` " +"or :class:`str`, but see the :meth:`append` documentation for semantics." msgstr "" #: ../../library/email.header.rst:70 @@ -169,9 +170,9 @@ msgstr "" #: ../../library/email.header.rst:110 msgid "" -"In either case, when producing an :rfc:`2822`\\ -compliant header using :rfc:" -"`2047` rules, the string will be encoded using the output codec of the " -"charset. If the string cannot be encoded using the output codec, a " +"In either case, when producing an :rfc:`2822`\\ -compliant header " +"using :rfc:`2047` rules, the string will be encoded using the output codec " +"of the charset. If the string cannot be encoded using the output codec, a " "UnicodeError will be raised." msgstr "" @@ -275,8 +276,8 @@ msgstr "Aqui está um exemplo::" #: ../../library/email.header.rst:195 msgid "" -"Create a :class:`Header` instance from a sequence of pairs as returned by :" -"func:`decode_header`." +"Create a :class:`Header` instance from a sequence of pairs as returned " +"by :func:`decode_header`." msgstr "" #: ../../library/email.header.rst:198 @@ -288,7 +289,7 @@ msgstr "" #: ../../library/email.header.rst:202 msgid "" -"This function takes one of those sequence of pairs and returns a :class:" -"`Header` instance. Optional *maxlinelen*, *header_name*, and " +"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 "" diff --git a/library/email.headerregistry.po b/library/email.headerregistry.po index 512daf39d..7d9ed5136 100644 --- a/library/email.headerregistry.po +++ b/library/email.headerregistry.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-07 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,42 +38,44 @@ msgstr "[1]_" #: ../../library/email.headerregistry.rst:16 msgid "" "Headers are represented by customized subclasses of :class:`str`. The " -"particular class used to represent a given header is determined by the :attr:" -"`~email.policy.EmailPolicy.header_factory` of the :mod:`~email.policy` in " -"effect when the headers are created. This section documents the particular " -"``header_factory`` implemented by the email package for handling :RFC:`5322` " -"compliant email messages, which not only provides customized header objects " -"for various header types, but also provides an extension mechanism for " -"applications to add their own custom header types." +"particular class used to represent a given header is determined by " +"the :attr:`~email.policy.EmailPolicy.header_factory` of " +"the :mod:`~email.policy` in effect when the headers are created. This " +"section documents the particular ``header_factory`` implemented by the email " +"package for handling :RFC:`5322` compliant email messages, which not only " +"provides customized header objects for various header types, but also " +"provides an extension mechanism for applications to add their own custom " +"header types." msgstr "" #: ../../library/email.headerregistry.rst:25 msgid "" -"When using any of the policy objects derived from :data:`~email.policy." -"EmailPolicy`, all headers are produced by :class:`.HeaderRegistry` and have :" -"class:`.BaseHeader` as their last base class. Each header class has an " -"additional base class that is determined by the type of the header. For " -"example, many headers have the class :class:`.UnstructuredHeader` as their " -"other base class. The specialized second class for a header is determined " -"by the name of the header, using a lookup table stored in the :class:`." -"HeaderRegistry`. All of this is managed transparently for the typical " -"application program, but interfaces are provided for modifying the default " -"behavior for use by more complex applications." +"When using any of the policy objects derived " +"from :data:`~email.policy.EmailPolicy`, all headers are produced " +"by :class:`.HeaderRegistry` and have :class:`.BaseHeader` as their last base " +"class. Each header class has an additional base class that is determined by " +"the type of the header. For example, many headers have the " +"class :class:`.UnstructuredHeader` as their other base class. The " +"specialized second class for a header is determined by the name of the " +"header, using a lookup table stored in the :class:`.HeaderRegistry`. All of " +"this is managed transparently for the typical application program, but " +"interfaces are provided for modifying the default behavior for use by more " +"complex applications." msgstr "" #: ../../library/email.headerregistry.rst:36 msgid "" "The sections below first document the header base classes and their " -"attributes, followed by the API for modifying the behavior of :class:`." -"HeaderRegistry`, and finally the support classes used to represent the data " -"parsed from structured headers." +"attributes, followed by the API for modifying the behavior " +"of :class:`.HeaderRegistry`, and finally the support classes used to " +"represent the data parsed from structured headers." msgstr "" #: ../../library/email.headerregistry.rst:44 msgid "" -"*name* and *value* are passed to ``BaseHeader`` from the :attr:`~email." -"policy.EmailPolicy.header_factory` call. The string value of any header " -"object is the *value* fully decoded to unicode." +"*name* and *value* are passed to ``BaseHeader`` from " +"the :attr:`~email.policy.EmailPolicy.header_factory` call. The string value " +"of any header object is the *value* fully decoded to unicode." msgstr "" #: ../../library/email.headerregistry.rst:48 @@ -85,8 +85,9 @@ msgstr "" #: ../../library/email.headerregistry.rst:53 msgid "" "The name of the header (the portion of the field before the ':'). This is " -"exactly the value passed in the :attr:`~email.policy.EmailPolicy." -"header_factory` call for *name*; that is, case is preserved." +"exactly the value passed in " +"the :attr:`~email.policy.EmailPolicy.header_factory` call for *name*; that " +"is, case is preserved." msgstr "" #: ../../library/email.headerregistry.rst:61 @@ -115,11 +116,11 @@ msgstr "" #: ../../library/email.headerregistry.rst:80 msgid "" "Return a string containing :attr:`~email.policy.Policy.linesep` characters " -"as required to correctly fold the header according to *policy*. A :attr:" -"`~email.policy.Policy.cte_type` of ``8bit`` will be treated as if it were " -"``7bit``, since headers may not contain arbitrary binary data. If :attr:" -"`~email.policy.EmailPolicy.utf8` is ``False``, non-ASCII data will be :rfc:" -"`2047` encoded." +"as required to correctly fold the header according to *policy*. " +"A :attr:`~email.policy.Policy.cte_type` of ``8bit`` will be treated as if it " +"were ``7bit``, since headers may not contain arbitrary binary data. " +"If :attr:`~email.policy.EmailPolicy.utf8` is ``False``, non-ASCII data will " +"be :rfc:`2047` encoded." msgstr "" #: ../../library/email.headerregistry.rst:88 @@ -203,10 +204,11 @@ msgid "" "another, this attribute will contain a :class:`~datetime.datetime` instance " "representing that date. If the timezone of the input date is specified as " "``-0000`` (indicating it is in UTC but contains no information about the " -"source timezone), then :attr:`.datetime` will be a naive :class:`~datetime." -"datetime`. If a specific timezone offset is found (including ``+0000``), " -"then :attr:`.datetime` will contain an aware ``datetime`` that uses :class:" -"`datetime.timezone` to record the timezone offset." +"source timezone), then :attr:`.datetime` will be a " +"naive :class:`~datetime.datetime`. If a specific timezone offset is found " +"(including ``+0000``), then :attr:`.datetime` will contain an aware " +"``datetime`` that uses :class:`datetime.timezone` to record the timezone " +"offset." msgstr "" #: ../../library/email.headerregistry.rst:160 @@ -226,8 +228,8 @@ msgstr "" msgid "" "Because this is a naive ``datetime`` it will be interpreted as a UTC " "timestamp, and the resulting value will have a timezone of ``-0000``. Much " -"more useful is to use the :func:`~email.utils.localtime` function from the :" -"mod:`~email.utils` module::" +"more useful is to use the :func:`~email.utils.localtime` function from " +"the :mod:`~email.utils` module::" msgstr "" #: ../../library/email.headerregistry.rst:178 @@ -334,8 +336,8 @@ msgstr "" #: ../../library/email.headerregistry.rst:275 msgid "" -"A :class:`ParameterizedMIMEHeader` class that handles the :mailheader:" -"`Content-Type` header." +"A :class:`ParameterizedMIMEHeader` class that handles " +"the :mailheader:`Content-Type` header." msgstr "" #: ../../library/email.headerregistry.rst:280 @@ -344,11 +346,11 @@ msgstr "" #: ../../library/email.headerregistry.rst:289 msgid "" -"A :class:`ParameterizedMIMEHeader` class that handles the :mailheader:" -"`Content-Disposition` header." +"A :class:`ParameterizedMIMEHeader` class that handles " +"the :mailheader:`Content-Disposition` header." msgstr "" -"Uma classe :class:`ParameterizedMIMEHeader` que lida com o cabeçalho :" -"mailheader:`Content-Disposition`." +"Uma classe :class:`ParameterizedMIMEHeader` que lida com o " +"cabeçalho :mailheader:`Content-Disposition`." #: ../../library/email.headerregistry.rst:294 msgid "``inline`` and ``attachment`` are the only valid values in common use." @@ -557,12 +559,12 @@ msgstr "" #: ../../library/email.headerregistry.rst:382 msgid "or::" -msgstr "or::" +msgstr "ou::" #: ../../library/email.headerregistry.rst:386 msgid "" -"where each part must conform to specific syntax rules spelled out in :rfc:" -"`5322`." +"where each part must conform to specific syntax rules spelled out " +"in :rfc:`5322`." msgstr "" #: ../../library/email.headerregistry.rst:389 @@ -598,8 +600,8 @@ msgstr "" #: ../../library/email.headerregistry.rst:418 msgid "" -"The ``str`` value of the object is the address quoted according to :rfc:" -"`5322` rules, but with no Content Transfer Encoding of any non-ASCII " +"The ``str`` value of the object is the address quoted according " +"to :rfc:`5322` rules, but with no Content Transfer Encoding of any non-ASCII " "characters." msgstr "" diff --git a/library/email.iterators.po b/library/email.iterators.po index 4c32b67e8..1835afb1c 100644 --- a/library/email.iterators.po +++ b/library/email.iterators.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,15 +33,15 @@ msgstr "**Código-fonte:** :source:`Lib/email/iterators.py`" #: ../../library/email.iterators.rst:11 msgid "" -"Iterating over a message object tree is fairly easy with the :meth:`Message." -"walk ` method. The :mod:`email.iterators` " -"module provides some useful higher level iterations over message object " -"trees." +"Iterating over a message object tree is fairly easy with " +"the :meth:`Message.walk ` method. " +"The :mod:`email.iterators` module provides some useful higher level " +"iterations over message object trees." msgstr "" "A iteração sobre uma árvore de objetos de mensagem é bastante fácil com o " -"método :meth:`Message.walk `. O módulo :mod:" -"`email.iterators` fornece algumas iterações úteis de nível superior sobre as " -"árvores de objetos de mensagens." +"método :meth:`Message.walk `. O " +"módulo :mod:`email.iterators` fornece algumas iterações úteis de nível mais " +"alto sobre as árvores de objetos de mensagens." #: ../../library/email.iterators.rst:19 msgid "" @@ -56,16 +56,17 @@ msgstr "" "retornando as cargas úteis das strings de linhas por linha. Ele pula todos " "os cabeçalhos da subparte e pula qualquer subparte com uma carga útil que " "não seja uma string Python. Isso é um pouco equivalente à leitura da " -"representação de texto simples da mensagem de um arquivo usando :meth:`~io." -"TextIOBase.readline`, pulando todos os cabeçalhos intermediários." +"representação de texto simples da mensagem de um arquivo " +"usando :meth:`~io.TextIOBase.readline`, pulando todos os cabeçalhos " +"intermediários." #: ../../library/email.iterators.rst:26 msgid "" -"Optional *decode* is passed through to :meth:`Message.get_payload `." +"Optional *decode* is passed through to :meth:`Message.get_payload " +"`." msgstr "" -"*decode* opcional é passado por meio do :meth:`Message.get_payload `." +"*decode* opcional é passado por meio do :meth:`Message.get_payload " +"`." #: ../../library/email.iterators.rst:32 msgid "" diff --git a/library/email.message.po b/library/email.message.po index 185e32c03..41e5fb53c 100644 --- a/library/email.message.po +++ b/library/email.message.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -75,10 +74,9 @@ msgid "" "The :class:`EmailMessage` dictionary-like interface is indexed by the header " "names, which must be ASCII values. The values of the dictionary are strings " "with some extra methods. Headers are stored and returned in case-preserving " -"form, but field names are matched case-insensitively. Unlike a real dict, " -"there is an ordering to the keys, and there can be duplicate keys. " -"Additional methods are provided for working with headers that have duplicate " -"keys." +"form, but field names are matched case-insensitively. The keys are ordered, " +"but unlike a real dict, there can be duplicates. Addtional methods are " +"provided for working with headers that have duplicate keys." msgstr "" #: ../../library/email.message.rst:47 @@ -92,25 +90,25 @@ msgstr "" #: ../../library/email.message.rst:55 msgid "" "If *policy* is specified use the rules it specifies to update and serialize " -"the representation of the message. If *policy* is not set, use the :class:" -"`~email.policy.default` policy, which follows the rules of the email RFCs " -"except for line endings (instead of the RFC mandated ``\\r\\n``, it uses the " -"Python standard ``\\n`` line endings). For more information see the :mod:" -"`~email.policy` documentation." +"the representation of the message. If *policy* is not set, use " +"the :class:`~email.policy.default` policy, which follows the rules of the " +"email RFCs except for line endings (instead of the RFC mandated ``\\r\\n``, " +"it uses the Python standard ``\\n`` line endings). For more information see " +"the :mod:`~email.policy` documentation." msgstr "" #: ../../library/email.message.rst:64 msgid "" "Return the entire message flattened as a string. When optional *unixfrom* " "is true, the envelope header is included in the returned string. *unixfrom* " -"defaults to ``False``. For backward compatibility with the base :class:" -"`~email.message.Message` class *maxheaderlen* is accepted, but defaults to " -"``None``, which means that by default the line length is controlled by the :" -"attr:`~email.policy.EmailPolicy.max_line_length` of the policy. The " -"*policy* argument may be used to override the default policy obtained from " -"the message instance. This can be used to control some of the formatting " -"produced by the method, since the specified *policy* will be passed to the :" -"class:`~email.generator.Generator`." +"defaults to ``False``. For backward compatibility with the " +"base :class:`~email.message.Message` class *maxheaderlen* is accepted, but " +"defaults to ``None``, which means that by default the line length is " +"controlled by the :attr:`~email.policy.Policy.max_line_length` of the " +"policy. The *policy* argument may be used to override the default policy " +"obtained from the message instance. This can be used to control some of the " +"formatting produced by the method, since the specified *policy* will be " +"passed to the :class:`~email.generator.Generator`." msgstr "" #: ../../library/email.message.rst:76 ../../library/email.message.rst:114 @@ -126,8 +124,9 @@ msgid "" "useful way to serialize messages in your application, especially if you are " "dealing with multiple messages. See :class:`email.generator.Generator` for " "a more flexible API for serializing messages. Note also that this method is " -"restricted to producing messages serialized as \"7 bit clean\" when :attr:" -"`~email.policy.EmailPolicy.utf8` is ``False``, which is the default." +"restricted to producing messages serialized as \"7 bit clean\" " +"when :attr:`~email.policy.EmailPolicy.utf8` is ``False``, which is the " +"default." msgstr "" #: ../../library/email.message.rst:88 @@ -147,8 +146,8 @@ msgstr "" #: ../../library/email.message.rst:99 msgid "" "the method was changed to use ``utf8=True``, thus producing an :rfc:`6531`-" -"like message representation, instead of being a direct alias for :meth:" -"`as_string`." +"like message representation, instead of being a direct alias " +"for :meth:`as_string`." msgstr "" #: ../../library/email.message.rst:106 @@ -158,8 +157,8 @@ msgid "" "*unixfrom* defaults to ``False``. The *policy* argument may be used to " "override the default policy obtained from the message instance. This can be " "used to control some of the formatting produced by the method, since the " -"specified *policy* will be passed to the :class:`~email.generator." -"BytesGenerator`." +"specified *policy* will be passed to " +"the :class:`~email.generator.BytesGenerator`." msgstr "" #: ../../library/email.message.rst:118 @@ -178,14 +177,14 @@ msgstr "" #: ../../library/email.message.rst:133 msgid "" -"Return ``True`` if the message's payload is a list of sub-\\ :class:" -"`EmailMessage` objects, otherwise return ``False``. When :meth:" -"`is_multipart` returns ``False``, the payload should be a string object " -"(which might be a CTE encoded binary payload). Note that :meth:" -"`is_multipart` returning ``True`` does not necessarily mean that \"msg." -"get_content_maintype() == 'multipart'\" will return the ``True``. For " -"example, ``is_multipart`` will return ``True`` when the :class:" -"`EmailMessage` is of type ``message/rfc822``." +"Return ``True`` if the message's payload is a list of sub-" +"\\ :class:`EmailMessage` objects, otherwise return ``False``. " +"When :meth:`is_multipart` returns ``False``, the payload should be a string " +"object (which might be a CTE encoded binary payload). Note " +"that :meth:`is_multipart` returning ``True`` does not necessarily mean that " +"\"msg.get_content_maintype() == 'multipart'\" will return the ``True``. For " +"example, ``is_multipart`` will return ``True`` when " +"the :class:`EmailMessage` is of type ``message/rfc822``." msgstr "" #: ../../library/email.message.rst:145 @@ -240,8 +239,8 @@ msgstr "" #: ../../library/email.message.rst:191 msgid "" "Return the value of the named header field. *name* does not include the " -"colon field separator. If the header is missing, ``None`` is returned; a :" -"exc:`KeyError` is never raised." +"colon field separator. If the header is missing, ``None`` is returned; " +"a :exc:`KeyError` is never raised." msgstr "" #: ../../library/email.message.rst:195 @@ -273,11 +272,11 @@ msgstr "" #: ../../library/email.message.rst:216 msgid "" -"If the :mod:`policy` defines certain headers to be unique (as the standard " -"policies do), this method may raise a :exc:`ValueError` when an attempt is " -"made to assign a value to such a header when one already exists. This " -"behavior is intentional for consistency's sake, but do not depend on it as " -"we may choose to make such assignments do an automatic deletion of the " +"If the :mod:`policy ` defines certain headers to be unique (as " +"the standard policies do), this method may raise a :exc:`ValueError` when an " +"attempt is made to assign a value to such a header when one already exists. " +"This behavior is intentional for consistency's sake, but do not depend on it " +"as we may choose to make such assignments do an automatic deletion of the " "existing header in the future." msgstr "" @@ -304,9 +303,9 @@ msgstr "" #: ../../library/email.message.rst:249 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 (*failobj* defaults to ``None``)." +"Return the value of the named header field. This is identical " +"to :meth:`~object.__getitem__` except that optional *failobj* is returned if " +"the named header is missing (*failobj* defaults to ``None``)." msgstr "" #: ../../library/email.message.rst:254 @@ -371,22 +370,22 @@ msgstr "" #: ../../library/email.message.rst:311 msgid "" -"Return the message's content type, coerced to lower case of the form :" -"mimetype:`maintype/subtype`. If there is no :mailheader:`Content-Type` " -"header in the message return the value returned by :meth:" -"`get_default_type`. If the :mailheader:`Content-Type` header is invalid, " -"return ``text/plain``." +"Return the message's content type, coerced to lower case of the " +"form :mimetype:`maintype/subtype`. If there is no :mailheader:`Content-" +"Type` header in the message return the value returned " +"by :meth:`get_default_type`. If the :mailheader:`Content-Type` header is " +"invalid, return ``text/plain``." msgstr "" #: ../../library/email.message.rst:317 msgid "" -"(According to :rfc:`2045`, messages always have a default type, :meth:" -"`get_content_type` will always return a value. :rfc:`2045` defines a " -"message's default type to be :mimetype:`text/plain` unless it appears inside " -"a :mimetype:`multipart/digest` container, in which case it would be :" -"mimetype:`message/rfc822`. If the :mailheader:`Content-Type` header has an " -"invalid type specification, :rfc:`2045` mandates that the default type be :" -"mimetype:`text/plain`.)" +"(According to :rfc:`2045`, messages always have a default " +"type, :meth:`get_content_type` will always return a value. :rfc:`2045` " +"defines a message's default type to be :mimetype:`text/plain` unless it " +"appears inside a :mimetype:`multipart/digest` container, in which case it " +"would be :mimetype:`message/rfc822`. If the :mailheader:`Content-Type` " +"header has an invalid type specification, :rfc:`2045` mandates that the " +"default type be :mimetype:`text/plain`.)" msgstr "" #: ../../library/email.message.rst:328 @@ -404,8 +403,8 @@ msgstr "" #: ../../library/email.message.rst:340 msgid "" "Return the default content type. Most messages have a default content type " -"of :mimetype:`text/plain`, except for messages that are subparts of :" -"mimetype:`multipart/digest` containers. Such subparts have a default " +"of :mimetype:`text/plain`, except for messages that are subparts " +"of :mimetype:`multipart/digest` containers. Such subparts have a default " "content type of :mimetype:`message/rfc822`." msgstr "" @@ -424,8 +423,8 @@ msgid "" "already exists in the header, replace its value with *value*. When *header* " "is ``Content-Type`` (the default) and the header does not yet exist in the " "message, add it, set its value to :mimetype:`text/plain`, and append the new " -"parameter value. Optional *header* specifies an alternative header to :" -"mailheader:`Content-Type`." +"parameter value. Optional *header* specifies an alternative header " +"to :mailheader:`Content-Type`." msgstr "" #: ../../library/email.message.rst:366 @@ -455,9 +454,9 @@ msgstr "" #: ../../library/email.message.rst:380 msgid "" -"Note that existing parameter values of headers may be accessed through the :" -"attr:`~email.headerregistry.BaseHeader.params` attribute of the header value " -"(for example, ``msg['Content-Type'].params['charset']``)." +"Note that existing parameter values of headers may be accessed through " +"the :attr:`~email.headerregistry.ParameterizedMIMEHeader.params` attribute " +"of the header value (for example, ``msg['Content-Type'].params['charset']``)." msgstr "" #: ../../library/email.message.rst:384 @@ -500,10 +499,10 @@ msgstr "" #: ../../library/email.message.rst:424 msgid "" -"Note that using this method is subtly different from deleting the old :" -"mailheader:`Content-Type` header and adding a new one with the new boundary " -"via :meth:`add_header`, because :meth:`set_boundary` preserves the order of " -"the :mailheader:`Content-Type` header in the list of headers." +"Note that using this method is subtly different from deleting the " +"old :mailheader:`Content-Type` header and adding a new one with the new " +"boundary via :meth:`add_header`, because :meth:`set_boundary` preserves the " +"order of the :mailheader:`Content-Type` header in the list of headers." msgstr "" #: ../../library/email.message.rst:433 @@ -537,16 +536,16 @@ msgstr "" #: ../../library/email.message.rst:456 msgid "" -"is_attachment is now a method instead of a property, for consistency with :" -"meth:`~email.message.Message.is_multipart`." +"is_attachment is now a method instead of a property, for consistency " +"with :meth:`~email.message.Message.is_multipart`." msgstr "" #: ../../library/email.message.rst:463 msgid "" -"Return the lowercased value (without parameters) of the message's :" -"mailheader:`Content-Disposition` header if it has one, or ``None``. The " -"possible values for this method are *inline*, *attachment* or ``None`` if " -"the message follows :rfc:`2183`." +"Return the lowercased value (without parameters) of the " +"message's :mailheader:`Content-Disposition` header if it has one, or " +"``None``. The possible values for this method are *inline*, *attachment* or " +"``None`` if the message follows :rfc:`2183`." msgstr "" #: ../../library/email.message.rst:471 @@ -648,8 +647,8 @@ msgid "" "Return an iterator over all of the immediate sub-parts of the message that " "are not candidate \"body\" parts. That is, skip the first occurrence of " "each of ``text/plain``, ``text/html``, ``multipart/related``, or ``multipart/" -"alternative`` (unless they are explicitly marked as attachments via :" -"mailheader:`Content-Disposition: attachment`), and return all remaining " +"alternative`` (unless they are explicitly marked as attachments " +"via :mailheader:`Content-Disposition: attachment`), and return all remaining " "parts. When applied directly to a ``multipart/related``, return an iterator " "over the all the related parts except the root part (ie: the part pointed to " "by the ``start`` parameter, or the first part if there is no ``start`` " @@ -661,8 +660,8 @@ msgstr "" #: ../../library/email.message.rst:593 msgid "" "Return an iterator over all of the immediate sub-parts of the message, which " -"will be empty for a non-``multipart``. (See also :meth:`~email.message." -"EmailMessage.walk`.)" +"will be empty for a non-``multipart``. (See " +"also :meth:`~email.message.EmailMessage.walk`.)" msgstr "" #: ../../library/email.message.rst:600 @@ -706,50 +705,52 @@ msgstr "" #: ../../library/email.message.rst:638 msgid "" "Convert a non-``multipart``, a ``multipart/related``, or a ``multipart-" -"alternative`` into a ``multipart/mixed``, moving any existing :mailheader:" -"`Content-` headers and payload into a (new) first part of the " -"``multipart``. If *boundary* is specified, use it as the boundary string in " -"the multipart, otherwise leave the boundary to be automatically created when " -"it is needed (for example, when the message is serialized)." +"alternative`` into a ``multipart/mixed``, moving any " +"existing :mailheader:`Content-` headers and payload into a (new) first part " +"of the ``multipart``. If *boundary* is specified, use it as the boundary " +"string in the multipart, otherwise leave the boundary to be automatically " +"created when it is needed (for example, when the message is serialized)." msgstr "" #: ../../library/email.message.rst:648 msgid "" "If the message is a ``multipart/related``, create a new message object, pass " -"all of the arguments to its :meth:`set_content` method, and :meth:`~email." -"message.Message.attach` it to the ``multipart``. If the message is a non-" -"``multipart``, call :meth:`make_related` and then proceed as above. If the " -"message is any other type of ``multipart``, raise a :exc:`TypeError`. If " -"*content_manager* is not specified, use the ``content_manager`` specified by " -"the current :mod:`~email.policy`. If the added part has no :mailheader:" -"`Content-Disposition` header, add one with the value ``inline``." +"all of the arguments to its :meth:`set_content` method, " +"and :meth:`~email.message.Message.attach` it to the ``multipart``. If the " +"message is a non-``multipart``, call :meth:`make_related` and then proceed " +"as above. If the message is any other type of ``multipart``, raise " +"a :exc:`TypeError`. If *content_manager* is not specified, use the " +"``content_manager`` specified by the current :mod:`~email.policy`. If the " +"added part has no :mailheader:`Content-Disposition` header, add one with the " +"value ``inline``." msgstr "" #: ../../library/email.message.rst:661 msgid "" "If the message is a ``multipart/alternative``, create a new message object, " -"pass all of the arguments to its :meth:`set_content` method, and :meth:" -"`~email.message.Message.attach` it to the ``multipart``. If the message is " -"a non-``multipart`` or ``multipart/related``, call :meth:`make_alternative` " -"and then proceed as above. If the message is any other type of " -"``multipart``, raise a :exc:`TypeError`. If *content_manager* is not " -"specified, use the ``content_manager`` specified by the current :mod:`~email." -"policy`." +"pass all of the arguments to its :meth:`set_content` method, " +"and :meth:`~email.message.Message.attach` it to the ``multipart``. If the " +"message is a non-``multipart`` or ``multipart/related``, " +"call :meth:`make_alternative` and then proceed as above. If the message is " +"any other type of ``multipart``, raise a :exc:`TypeError`. If " +"*content_manager* is not specified, use the ``content_manager`` specified by " +"the current :mod:`~email.policy`." msgstr "" #: ../../library/email.message.rst:673 msgid "" "If the message is a ``multipart/mixed``, create a new message object, pass " -"all of the arguments to its :meth:`set_content` method, and :meth:`~email." -"message.Message.attach` it to the ``multipart``. If the message is a non-" -"``multipart``, ``multipart/related``, or ``multipart/alternative``, call :" -"meth:`make_mixed` and then proceed as above. If *content_manager* is not " -"specified, use the ``content_manager`` specified by the current :mod:`~email." -"policy`. If the added part has no :mailheader:`Content-Disposition` header, " -"add one with the value ``attachment``. This method can be used both for " -"explicit attachments (:mailheader:`Content-Disposition: attachment`) and " -"``inline`` attachments (:mailheader:`Content-Disposition: inline`), by " -"passing appropriate options to the ``content_manager``." +"all of the arguments to its :meth:`set_content` method, " +"and :meth:`~email.message.Message.attach` it to the ``multipart``. If the " +"message is a non-``multipart``, ``multipart/related``, or ``multipart/" +"alternative``, call :meth:`make_mixed` and then proceed as above. If " +"*content_manager* is not specified, use the ``content_manager`` specified by " +"the current :mod:`~email.policy`. If the added part has " +"no :mailheader:`Content-Disposition` header, add one with the value " +"``attachment``. This method can be used both for explicit attachments " +"(:mailheader:`Content-Disposition: attachment`) and ``inline`` attachments " +"(:mailheader:`Content-Disposition: inline`), by passing appropriate options " +"to the ``content_manager``." msgstr "" #: ../../library/email.message.rst:689 @@ -758,8 +759,8 @@ msgstr "" #: ../../library/email.message.rst:694 msgid "" -"Remove the payload and all of the :exc:`Content-` headers, leaving all other " -"headers intact and in their original order." +"Remove the payload and all of the :mailheader:`!Content-` headers, leaving " +"all other headers intact and in their original order." msgstr "" #: ../../library/email.message.rst:698 @@ -781,11 +782,12 @@ msgid "" "The *preamble* attribute contains this leading extra-armor text for MIME " "documents. When the :class:`~email.parser.Parser` discovers some text after " "the headers but before the first boundary string, it assigns this text to " -"the message's *preamble* attribute. When the :class:`~email.generator." -"Generator` is writing out the plain text representation of a MIME message, " -"and it finds the message has a *preamble* attribute, it will write this text " -"in the area between the headers and the first boundary. See :mod:`email." -"parser` and :mod:`email.generator` for details." +"the message's *preamble* attribute. When " +"the :class:`~email.generator.Generator` is writing out the plain text " +"representation of a MIME message, and it finds the message has a *preamble* " +"attribute, it will write this text in the area between the headers and the " +"first boundary. See :mod:`email.parser` and :mod:`email.generator` for " +"details." msgstr "" #: ../../library/email.message.rst:720 @@ -811,10 +813,10 @@ msgstr "" #: ../../library/email.message.rst:741 msgid "" -"This class represents a subpart of a MIME message. It is identical to :" -"class:`EmailMessage`, except that no :mailheader:`MIME-Version` headers are " -"added when :meth:`~EmailMessage.set_content` is called, since sub-parts do " -"not need their own :mailheader:`MIME-Version` headers." +"This class represents a subpart of a MIME message. It is identical " +"to :class:`EmailMessage`, except that no :mailheader:`MIME-Version` headers " +"are added when :meth:`~EmailMessage.set_content` is called, since sub-parts " +"do not need their own :mailheader:`MIME-Version` headers." msgstr "" #: ../../library/email.message.rst:748 diff --git a/library/email.mime.po b/library/email.mime.po index a54a9af97..119273bd3 100644 --- a/library/email.mime.po +++ b/library/email.mime.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -49,28 +49,29 @@ msgid "" "text to a parser, which parses the text and returns the root message " "object. However you can also build a complete message structure from " "scratch, or even individual :class:`~email.message.Message` objects by " -"hand. In fact, you can also take an existing structure and add new :class:" -"`~email.message.Message` objects, move them around, etc. This makes a very " -"convenient interface for slicing-and-dicing MIME messages." +"hand. In fact, you can also take an existing structure and add " +"new :class:`~email.message.Message` objects, move them around, etc. This " +"makes a very convenient interface for slicing-and-dicing MIME messages." msgstr "" "Normalmente, você obtém uma estrutura de objeto de mensagem passando um " -"arquivo ou algum texto para um analisador, que analisa o texto e retorna o " -"objeto de mensagem raiz. No entanto, você também pode criar uma estrutura de " -"mensagem completa do zero, ou até objetos individuais de :class:`~email." -"message.Message` manualmente. De fato, você também pode pegar uma estrutura " -"existente e adicionar novos objetos :class:`~email.message.Message`, movê-" -"los, etc. Isso cria uma interface muito conveniente para fatiar e cortar " -"dados de mensagens MIME." +"arquivo ou algum texto para um analisador sintático, que analisa o texto e " +"retorna o objeto de mensagem raiz. No entanto, você também pode criar uma " +"estrutura de mensagem completa do zero, ou até objetos individuais " +"de :class:`~email.message.Message` manualmente. De fato, você também pode " +"pegar uma estrutura existente e adicionar novos " +"objetos :class:`~email.message.Message`, movê-los, etc. Isso cria uma " +"interface muito conveniente para fatiar e cortar dados de mensagens MIME." #: ../../library/email.mime.rst:24 msgid "" -"You can create a new object structure by creating :class:`~email.message." -"Message` instances, adding attachments and all the appropriate headers " -"manually. For MIME messages though, the :mod:`email` package provides some " -"convenient subclasses to make things easier." +"You can create a new object structure by " +"creating :class:`~email.message.Message` instances, adding attachments and " +"all the appropriate headers manually. For MIME messages though, " +"the :mod:`email` package provides some convenient subclasses to make things " +"easier." msgstr "" -"Você pode criar uma nova estrutura de objeto criando instâncias de :class:" -"`~email.message.Message`, adicionando anexos e todos os cabeçalhos " +"Você pode criar uma nova estrutura de objeto criando instâncias " +"de :class:`~email.message.Message`, adicionando anexos e todos os cabeçalhos " "apropriados manualmente. Porém, para mensagens MIME, o pacote :mod:`email` " "fornece algumas subclasses convenientes para facilitar as coisas." @@ -84,39 +85,41 @@ msgstr "Módulo: :mod:`email.mime.base`" #: ../../library/email.mime.rst:37 msgid "" -"This is the base class for all the MIME-specific subclasses of :class:" -"`~email.message.Message`. Ordinarily you won't create instances " +"This is the base class for all the MIME-specific subclasses " +"of :class:`~email.message.Message`. Ordinarily you won't create instances " "specifically of :class:`MIMEBase`, although you could. :class:`MIMEBase` is " "provided primarily as a convenient base class for more specific MIME-aware " "subclasses." msgstr "" -"Esta é a classe base para todas as subclasses específicas de MIME de :class:" -"`~email.message.Message`. Normalmente você não criará instâncias " +"Esta é a classe base para todas as subclasses específicas de MIME " +"de :class:`~email.message.Message`. Normalmente você não criará instâncias " "especificamente de :class:`MIMEBase`, embora possa. A :class:`MIMEBase` é " "fornecida principalmente como uma classe base conveniente para subclasses " "mais específicas para MIME." #: ../../library/email.mime.rst:43 msgid "" -"*_maintype* is the :mailheader:`Content-Type` major type (e.g. :mimetype:" -"`text` or :mimetype:`image`), and *_subtype* is the :mailheader:`Content-" -"Type` minor type (e.g. :mimetype:`plain` or :mimetype:`gif`). *_params* is " -"a parameter key/value dictionary and is passed directly to :meth:`Message." -"add_header `." +"*_maintype* is the :mailheader:`Content-Type` major type " +"(e.g. :mimetype:`text` or :mimetype:`image`), and *_subtype* is " +"the :mailheader:`Content-Type` minor type (e.g. :mimetype:`plain` " +"or :mimetype:`gif`). *_params* is a parameter key/value dictionary and is " +"passed directly to :meth:`Message.add_header " +"`." msgstr "" -"*_maintype* é o tipo principal de :mailheader:`Content-Type` (ex., :mimetype:" -"`text` ou :mimetype:`image`) e *_subtype* é o tipo principal de :mailheader:" -"`Content-Type` (ex., :mimetype:`plain` ou :mimetype:`gif`). *_params* é um " -"dicionário de parâmetros chave/valor e é passado diretamente para :meth:" -"`Message.add_header `." +"*_maintype* é o tipo principal de :mailheader:`Content-Type` " +"(ex., :mimetype:`text` ou :mimetype:`image`) e *_subtype* é o tipo principal " +"de :mailheader:`Content-Type` (ex., :mimetype:`plain` ou :mimetype:`gif`). " +"*_params* é um dicionário de parâmetros chave/valor e é passado diretamente " +"para :meth:`Message.add_header `." #: ../../library/email.mime.rst:49 msgid "" -"If *policy* is specified, (defaults to the :class:`compat32 ` policy) it will be passed to :class:`~email.message.Message`." +"If *policy* is specified, (defaults to the :class:`compat32 " +"` policy) it will be passed " +"to :class:`~email.message.Message`." msgstr "" -"Se *policy* for especificado, (o padrão é a política :class:`compat32 `) será passado para :class:`~email.message.Message`." +"Se *policy* for especificado, (o padrão é a política :class:`compat32 " +"`) será passado para :class:`~email.message.Message`." #: ../../library/email.mime.rst:53 msgid "" @@ -125,8 +128,8 @@ msgid "" "Version` header (always set to ``1.0``)." msgstr "" "A classe :class:`MIMEBase` sempre adiciona um cabeçalho :mailheader:`Content-" -"Type` (com base em *_maintype*, *_subtype* e *_params*) e um cabeçalho :" -"mailheader:`MIME-Version` (sempre definido como ``1.0``)." +"Type` (com base em *_maintype*, *_subtype* e *_params*) e um " +"cabeçalho :mailheader:`MIME-Version` (sempre definido como ``1.0``)." #: ../../library/email.mime.rst:57 ../../library/email.mime.rst:104 #: ../../library/email.mime.rst:135 ../../library/email.mime.rst:169 @@ -143,17 +146,19 @@ msgstr "Módulo: :mod:`email.mime.nonmultipart`" msgid "" "A subclass of :class:`~email.mime.base.MIMEBase`, this is an intermediate " "base class for MIME messages that are not :mimetype:`multipart`. The " -"primary purpose of this class is to prevent the use of the :meth:`~email." -"message.Message.attach` method, which only makes sense for :mimetype:" -"`multipart` messages. If :meth:`~email.message.Message.attach` is called, " +"primary purpose of this class is to prevent the use of " +"the :meth:`~email.message.Message.attach` method, which only makes sense " +"for :mimetype:`multipart` messages. " +"If :meth:`~email.message.Message.attach` is called, " "a :exc:`~email.errors.MultipartConversionError` exception is raised." msgstr "" "Uma subclasse de :class:`~email.mime.base.MIMEBase`, esta é uma classe base " "intermediária para mensagens MIME que não são :mimetype:`multipart`. O " -"principal objetivo desta classe é impedir o uso do método :meth:`~email." -"message.Message.attach`, que só faz sentido para mensagens :mimetype:" -"`multipart`. Se :meth:`~email.message.Message.attach` for chamado, uma " -"exceção :exc:`~email.errors.MultipartConversionError` será levantada." +"principal objetivo desta classe é impedir o uso do " +"método :meth:`~email.message.Message.attach`, que só faz sentido para " +"mensagens :mimetype:`multipart`. Se :meth:`~email.message.Message.attach` " +"for chamado, uma exceção :exc:`~email.errors.MultipartConversionError` será " +"levantada." #: ../../library/email.mime.rst:80 msgid "Module: :mod:`email.mime.multipart`" @@ -164,9 +169,9 @@ msgid "" "A subclass of :class:`~email.mime.base.MIMEBase`, this is an intermediate " "base class for MIME messages that are :mimetype:`multipart`. Optional " "*_subtype* defaults to :mimetype:`mixed`, but can be used to specify the " -"subtype of the message. A :mailheader:`Content-Type` header of :mimetype:" -"`multipart/_subtype` will be added to the message object. A :mailheader:" -"`MIME-Version` header will also be added." +"subtype of the message. A :mailheader:`Content-Type` header " +"of :mimetype:`multipart/_subtype` will be added to the message object. " +"A :mailheader:`MIME-Version` header will also be added." msgstr "" "Uma subclasse de :class:`~email.mime.base.MIMEBase`, esta é uma classe base " "intermediária para mensagens MIME que são :mimetype:`multipart`. O " @@ -189,23 +194,23 @@ msgstr "" msgid "" "*_subparts* is a sequence of initial subparts for the payload. It must be " "possible to convert this sequence to a list. You can always attach new " -"subparts to the message by using the :meth:`Message.attach ` method." +"subparts to the message by using the :meth:`Message.attach " +"` method." msgstr "" "*_subparts* é uma sequência de subpartes iniciais para a carga. Deve ser " "possível converter essa sequência em uma lista. Você sempre pode anexar " -"novas subpartes à mensagem usando o método :meth:`Message.attach `." +"novas subpartes à mensagem usando o método :meth:`Message.attach " +"`." #: ../../library/email.mime.rst:98 ../../library/email.mime.rst:131 #: ../../library/email.mime.rst:165 ../../library/email.mime.rst:200 #: ../../library/email.mime.rst:223 ../../library/email.mime.rst:254 msgid "" -"Optional *policy* argument defaults to :class:`compat32 `." +"Optional *policy* argument defaults to :class:`compat32 " +"`." msgstr "" -"O argumento opcional *policy* tem como padrão :class:`compat32 `." +"O argumento opcional *policy* tem como padrão :class:`compat32 " +"`." #: ../../library/email.mime.rst:100 msgid "" @@ -213,6 +218,9 @@ msgid "" "from the keyword arguments, or passed into the *_params* argument, which is " "a keyword dictionary." msgstr "" +"Parâmetros adicionais para o cabeçalho :mailheader:`Content-Type` são " +"retirados dos argumentos nomeados ou passados para o argumento *_params*, " +"que é um dicionário." #: ../../library/email.mime.rst:113 msgid "Module: :mod:`email.mime.application`" @@ -220,33 +228,39 @@ msgstr "Módulo: :mod:`email.mime.application`" #: ../../library/email.mime.rst:115 msgid "" -"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" -"`MIMEApplication` class is used to represent MIME message objects of major " -"type :mimetype:`application`. *_data* contains the bytes for the raw " -"application data. Optional *_subtype* specifies the MIME subtype and " +"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, " +"the :class:`MIMEApplication` class is used to represent MIME message objects " +"of major type :mimetype:`application`. *_data* contains the bytes for the " +"raw application data. Optional *_subtype* specifies the MIME subtype and " "defaults to :mimetype:`octet-stream`." msgstr "" +"Uma subclasse de :class:`~email.mime.nonmultipart.MIMENonMultipart`, a " +"classe :class:`MIMEApplication` é usada para representar objetos de mensagem " +"MIME do tipo principal :mimetype:`application`. *_data* contém os bytes para " +"os dados brutos da aplicação. O *_subtype* opcional especifica o subtipo " +"MIME e o padrão é :mimetype:`octet-stream`." #: ../../library/email.mime.rst:121 msgid "" "Optional *_encoder* is a callable (i.e. function) which will perform the " "actual encoding of the data for transport. This callable takes one " -"argument, which is the :class:`MIMEApplication` instance. It should use :" -"meth:`~email.message.Message.get_payload` and :meth:`~email.message.Message." -"set_payload` to change the payload to encoded form. It should also add any :" -"mailheader:`Content-Transfer-Encoding` or other headers to the message " -"object as necessary. The default encoding is base64. See the :mod:`email." -"encoders` module for a list of the built-in encoders." +"argument, which is the :class:`MIMEApplication` instance. It should " +"use :meth:`~email.message.Message.get_payload` " +"and :meth:`~email.message.Message.set_payload` to change the payload to " +"encoded form. It should also add any :mailheader:`Content-Transfer-" +"Encoding` or other headers to the message object as necessary. The default " +"encoding is base64. See the :mod:`email.encoders` module for a list of the " +"built-in encoders." msgstr "" "O *_encoder* opcional é um chamável (isto é, função) que executará a " "codificação real dos dados para transporte. Esse chamável requer um " -"argumento, que é a instância :class:`MIMEApplication`. Ele deve usar :meth:" -"`~email.message.Message.get_payload` e :meth:`~email.message.Message." -"set_payload` para alterar a carga útil para o formulário codificado. Também " -"deve adicionar :mailheader:`Content-Transfer-Encoding` ou outros cabeçalhos " -"ao objeto de mensagem, conforme necessário. A codificação padrão é base64. " -"Veja o módulo :mod:`email.encoders` para obter uma lista dos codificadores " -"embutidos." +"argumento, que é a instância :class:`MIMEApplication`. Ele deve " +"usar :meth:`~email.message.Message.get_payload` " +"e :meth:`~email.message.Message.set_payload` para alterar a carga útil para " +"o formulário codificado. Também deve adicionar :mailheader:`Content-Transfer-" +"Encoding` ou outros cabeçalhos ao objeto de mensagem, conforme necessário. A " +"codificação padrão é base64. Veja o módulo :mod:`email.encoders` para obter " +"uma lista dos codificadores embutidos." #: ../../library/email.mime.rst:133 ../../library/email.mime.rst:167 msgid "*_params* are passed straight through to the base class constructor." @@ -258,35 +272,46 @@ msgstr "Módulo: :mod:`email.mime.audio`" #: ../../library/email.mime.rst:146 msgid "" -"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" -"`MIMEAudio` class is used to create MIME message objects of major type :" -"mimetype:`audio`. *_audiodata* contains the bytes for the raw audio data. " -"If this data can be decoded as au, wav, aiff, or aifc, then the subtype will " -"be automatically included in the :mailheader:`Content-Type` header. " -"Otherwise you can explicitly specify the audio subtype via the *_subtype* " -"argument. If the minor type could not be guessed and *_subtype* was not " -"given, then :exc:`TypeError` is raised." +"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, " +"the :class:`MIMEAudio` class is used to create MIME message objects of major " +"type :mimetype:`audio`. *_audiodata* contains the bytes for the raw audio " +"data. If this data can be decoded as au, wav, aiff, or aifc, then the " +"subtype will be automatically included in the :mailheader:`Content-Type` " +"header. Otherwise you can explicitly specify the audio subtype via the " +"*_subtype* argument. If the minor type could not be guessed and *_subtype* " +"was not given, then :exc:`TypeError` is raised." msgstr "" +"Uma subclasse de :class:`~email.mime.nonmultipart.MIMENonMultipart`, a " +"classe :class:`MIMEAudio` é usada para criar objetos de mensagem MIME do " +"tipo principal :mimetype:`audio`. *_audiodata* contém os bytes para os dados " +"brutos de áudio. Se esses dados puderem ser decodificados como au, wav, aiff " +"ou aifc, então o subtipo será automaticamente incluído no " +"cabeçalho :mailheader:`Content-Type`. Caso contrário, você pode especificar " +"explicitamente o subtipo de áudio por meio do argumento *_subtype*. Se o " +"tipo menor não pôde ser adivinhado e *_subtype* não foi fornecido, então um " +"exceção :exc:`TypeError` é levantada." #: ../../library/email.mime.rst:155 msgid "" "Optional *_encoder* is a callable (i.e. function) which will perform the " "actual encoding of the audio data for transport. This callable takes one " -"argument, which is the :class:`MIMEAudio` instance. It should use :meth:" -"`~email.message.Message.get_payload` and :meth:`~email.message.Message." -"set_payload` to change the payload to encoded form. It should also add any :" -"mailheader:`Content-Transfer-Encoding` or other headers to the message " -"object as necessary. The default encoding is base64. See the :mod:`email." -"encoders` module for a list of the built-in encoders." +"argument, which is the :class:`MIMEAudio` instance. It should " +"use :meth:`~email.message.Message.get_payload` " +"and :meth:`~email.message.Message.set_payload` to change the payload to " +"encoded form. It should also add any :mailheader:`Content-Transfer-" +"Encoding` or other headers to the message object as necessary. The default " +"encoding is base64. See the :mod:`email.encoders` module for a list of the " +"built-in encoders." msgstr "" "O *_encoder* opcional é um chamável (ou seja, função) que executará a " "codificação real dos dados de áudio para transporte. Esse chamável requer um " -"argumento, que é a instância :class:`MIMEAudio`. Ele deve usar :meth:`~email." -"message.Message.get_payload` e :meth:`~email.message.Message.set_payload` " -"para alterar a carga útil para a forma codificada. Também deve adicionar :" -"mailheader:`Content-Transfer-Encoding` ou outros cabeçalhos ao objeto de " -"mensagem, conforme necessário. A codificação padrão é base64. Veja o módulo :" -"mod:`email.encoders` para obter uma lista dos codificadores embutidos." +"argumento, que é a instância :class:`MIMEAudio`. Ele deve " +"usar :meth:`~email.message.Message.get_payload` " +"e :meth:`~email.message.Message.set_payload` para alterar a carga útil para " +"a forma codificada. Também deve adicionar :mailheader:`Content-Transfer-" +"Encoding` ou outros cabeçalhos ao objeto de mensagem, conforme necessário. A " +"codificação padrão é base64. Veja o módulo :mod:`email.encoders` para obter " +"uma lista dos codificadores embutidos." #: ../../library/email.mime.rst:178 msgid "Module: :mod:`email.mime.image`" @@ -294,53 +319,82 @@ msgstr "Módulo: :mod:`email.mime.image`" #: ../../library/email.mime.rst:180 msgid "" -"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" -"`MIMEImage` class is used to create MIME message objects of major type :" -"mimetype:`image`. *_imagedata* contains the bytes for the raw image data. " -"If this data type can be detected (jpeg, png, gif, tiff, rgb, pbm, pgm, ppm, " -"rast, xbm, bmp, webp, and exr attempted), then the subtype will be " +"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, " +"the :class:`MIMEImage` class is used to create MIME message objects of major " +"type :mimetype:`image`. *_imagedata* contains the bytes for the raw image " +"data. If this data type can be detected (jpeg, png, gif, tiff, rgb, pbm, " +"pgm, ppm, rast, xbm, bmp, webp, and exr attempted), then the subtype will be " "automatically included in the :mailheader:`Content-Type` header. Otherwise " "you can explicitly specify the image subtype via the *_subtype* argument. If " -"the minor type could not be guessed and *_subtype* was not given, then :exc:" -"`TypeError` is raised." +"the minor type could not be guessed and *_subtype* was not given, " +"then :exc:`TypeError` is raised." msgstr "" +"Uma subclasse de :class:`~email.mime.nonmultipart.MIMENonMultipart`, a " +"classe :class:`MIMEImage` é usada para criar objetos de mensagem MIME do " +"tipo principal :mimetype:`image`. *_imagedata* contém os bytes para os dados " +"de imagem bruta. Se esse tipo de dados puder ser detectado (jpeg, png, gif, " +"tiff, rgb, pbm, pgm, ppm, rast, xbm, bmp, webp e exr tentados), então o " +"subtipo será automaticamente incluído no cabeçalho :mailheader:`Content-" +"Type`. Caso contrário, você pode especificar explicitamente o subtipo de " +"imagem por meio do argumento *_subtype*. Se o tipo secundário não puder ser " +"adivinhado e *_subtype* não for fornecido, então :exc:`TypeError` será " +"levantada." #: ../../library/email.mime.rst:190 msgid "" "Optional *_encoder* is a callable (i.e. function) which will perform the " "actual encoding of the image data for transport. This callable takes one " -"argument, which is the :class:`MIMEImage` instance. It should use :meth:" -"`~email.message.Message.get_payload` and :meth:`~email.message.Message." -"set_payload` to change the payload to encoded form. It should also add any :" -"mailheader:`Content-Transfer-Encoding` or other headers to the message " -"object as necessary. The default encoding is base64. See the :mod:`email." -"encoders` module for a list of the built-in encoders." +"argument, which is the :class:`MIMEImage` instance. It should " +"use :meth:`~email.message.Message.get_payload` " +"and :meth:`~email.message.Message.set_payload` to change the payload to " +"encoded form. It should also add any :mailheader:`Content-Transfer-" +"Encoding` or other headers to the message object as necessary. The default " +"encoding is base64. See the :mod:`email.encoders` module for a list of the " +"built-in encoders." msgstr "" +"O *_encoder* opcional é um chamável (ou seja, função) que executará a " +"codificação real dos dados de imagem para transporte. Esse chamável requer " +"um argumento, que é a instância :class:`MIMEImage`. Ele deve " +"usar :meth:`~email.message.Message.get_payload` " +"e :meth:`~email.message.Message.set_payload` para alterar a carga útil para " +"a forma codificada. Também deve adicionar :mailheader:`Content-Transfer-" +"Encoding` ou outros cabeçalhos ao objeto de mensagem, conforme necessário. A " +"codificação padrão é base64. Veja o módulo :mod:`email.encoders` para obter " +"uma lista dos codificadores embutidos." #: ../../library/email.mime.rst:202 msgid "" -"*_params* are passed straight through to the :class:`~email.mime.base." -"MIMEBase` constructor." +"*_params* are passed straight through to " +"the :class:`~email.mime.base.MIMEBase` constructor." msgstr "" +"*_params* são passados diretamente para o " +"construtor :class:`~email.mime.base.MIMEBase`." #: ../../library/email.mime.rst:212 msgid "Module: :mod:`email.mime.message`" -msgstr "" +msgstr "Módulo: :mod:`email.mime.message`" #: ../../library/email.mime.rst:214 msgid "" -"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" -"`MIMEMessage` class is used to create MIME objects of main type :mimetype:" -"`message`. *_msg* is used as the payload, and must be an instance of class :" -"class:`~email.message.Message` (or a subclass thereof), otherwise a :exc:" -"`TypeError` is raised." +"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, " +"the :class:`MIMEMessage` class is used to create MIME objects of main " +"type :mimetype:`message`. *_msg* is used as the payload, and must be an " +"instance of class :class:`~email.message.Message` (or a subclass thereof), " +"otherwise a :exc:`TypeError` is raised." msgstr "" +"Uma subclasse de :class:`~email.mime.nonmultipart.MIMENonMultipart`, a " +"classe :class:`MIMEMessage` é usada para criar objetos MIME do tipo " +"principal :mimetype:`message`. *_msg* é usado como carga útil e deve ser uma " +"instância da classe :class:`~email.message.Message` (ou uma subclasse dela), " +"caso contrário, uma :exc:`TypeError` é levantada." #: ../../library/email.mime.rst:220 msgid "" -"Optional *_subtype* sets the subtype of the message; it defaults to :" -"mimetype:`rfc822`." +"Optional *_subtype* sets the subtype of the message; it defaults " +"to :mimetype:`rfc822`." msgstr "" +"O opcional *_subtype* define o subtipo da mensagem; o padrão " +"é :mimetype:`rfc822`." #: ../../library/email.mime.rst:232 msgid "Module: :mod:`email.mime.text`" @@ -348,16 +402,25 @@ msgstr "Módulo: :mod:`email.mime.text`" #: ../../library/email.mime.rst:234 msgid "" -"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, the :class:" -"`MIMEText` class is used to create MIME objects of major type :mimetype:" -"`text`. *_text* is the string for the payload. *_subtype* is the minor type " -"and defaults to :mimetype:`plain`. *_charset* is the character set of the " -"text and is passed as an argument to the :class:`~email.mime.nonmultipart." -"MIMENonMultipart` constructor; it defaults to ``us-ascii`` if the string " -"contains only ``ascii`` code points, and ``utf-8`` otherwise. The " -"*_charset* parameter accepts either a string or a :class:`~email.charset." -"Charset` instance." +"A subclass of :class:`~email.mime.nonmultipart.MIMENonMultipart`, " +"the :class:`MIMEText` class is used to create MIME objects of major " +"type :mimetype:`text`. *_text* is the string for the payload. *_subtype* is " +"the minor type and defaults to :mimetype:`plain`. *_charset* is the " +"character set of the text and is passed as an argument to " +"the :class:`~email.mime.nonmultipart.MIMENonMultipart` constructor; it " +"defaults to ``us-ascii`` if the string contains only ``ascii`` code points, " +"and ``utf-8`` otherwise. The *_charset* parameter accepts either a string " +"or a :class:`~email.charset.Charset` instance." msgstr "" +"Uma subclasse de :class:`~email.mime.nonmultipart.MIMENonMultipart`, a " +"classe :class:`MIMEText` é usada para criar objetos MIME do tipo " +"principal :mimetype:`text`. *_text* é a string para a carga útil. *_subtype* " +"é o tipo secundário e o padrão é :mimetype:`plain`. *_charset* é o conjunto " +"de caracteres do texto e é passado como um argumento para o " +"construtor :class:`~email.mime.nonmultipart.MIMENonMultipart`; o padrão é " +"``us-ascii`` se a string contiver apenas pontos de código ``ascii`` e " +"``utf-8`` caso contrário. O parâmetro *_charset* aceita uma string ou uma " +"instância :class:`~email.charset.Charset`." #: ../../library/email.mime.rst:244 msgid "" @@ -371,7 +434,18 @@ msgid "" "encode the new payload (and add a new :mailheader:`Content-Transfer-" "Encoding` header)." msgstr "" +"A menos que o argumento *_charset* seja explicitamente definido como " +"``None``, o objeto MIMEText criado terá um cabeçalho :mailheader:`Content-" +"Type` com um parâmetro ``charset`` e um cabeçalho :mailheader:`Content-" +"Transfer-Encoding`. Isso significa que uma chamada ``set_payload`` " +"subsequente não resultará em uma carga útil codificada, mesmo se um charset " +"for passado no comando ``set_payload``. Você pode \"redefinir\" esse " +"comportamento excluindo o cabeçalho ``Content-Transfer-Encoding``, após o " +"qual uma chamada ``set_payload`` codificará automaticamente a nova carga " +"útil (e adicionará um novo cabeçalho :mailheader:`Content-Transfer-" +"Encoding`)." #: ../../library/email.mime.rst:256 msgid "*_charset* also accepts :class:`~email.charset.Charset` instances." msgstr "" +"*_charset* também aceita instâncias de :class:`~email.charset.Charset`." diff --git a/library/email.parser.po b/library/email.parser.po index db1d8946f..e1fddeaa2 100644 --- a/library/email.parser.po +++ b/library/email.parser.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -50,34 +49,35 @@ msgid "" "root :class:`~email.message.EmailMessage` instance of the object structure. " "For simple, non-MIME messages the payload of this root object will likely be " "a string containing the text of the message. For MIME messages, the root " -"object will return ``True`` from its :meth:`~email.message.EmailMessage." -"is_multipart` method, and the subparts can be accessed via the payload " -"manipulation methods, such as :meth:`~email.message.EmailMessage.get_body`, :" -"meth:`~email.message.EmailMessage.iter_parts`, and :meth:`~email.message." -"EmailMessage.walk`." +"object will return ``True`` from " +"its :meth:`~email.message.EmailMessage.is_multipart` method, and the " +"subparts can be accessed via the payload manipulation methods, such " +"as :meth:`~email.message.EmailMessage.get_body`, :meth:`~email.message.EmailMessage.iter_parts`, " +"and :meth:`~email.message.EmailMessage.walk`." msgstr "" #: ../../library/email.parser.rst:30 msgid "" -"There are actually two parser interfaces available for use, the :class:" -"`Parser` API and the incremental :class:`FeedParser` API. The :class:" -"`Parser` API is most useful if you have the entire text of the message in " -"memory, or if the entire message lives in a file on the file system. :class:" -"`FeedParser` is more appropriate when you are reading the message from a " -"stream which might block waiting for more input (such as reading an email " -"message from a socket). The :class:`FeedParser` can consume and parse the " -"message incrementally, and only returns the root object when you close the " -"parser." +"There are actually two parser interfaces available for use, " +"the :class:`Parser` API and the incremental :class:`FeedParser` API. " +"The :class:`Parser` API is most useful if you have the entire text of the " +"message in memory, or if the entire message lives in a file on the file " +"system. :class:`FeedParser` is more appropriate when you are reading the " +"message from a stream which might block waiting for more input (such as " +"reading an email message from a socket). The :class:`FeedParser` can " +"consume and parse the message incrementally, and only returns the root " +"object when you close the parser." msgstr "" #: ../../library/email.parser.rst:39 msgid "" "Note that the parser can be extended in limited ways, and of course you can " "implement your own parser completely from scratch. All of the logic that " -"connects the :mod:`email` package's bundled parser and the :class:`~email." -"message.EmailMessage` class is embodied in the :mod:`policy` class, so a " -"custom parser can create message object trees any way it finds necessary by " -"implementing custom versions of the appropriate :mod:`policy` methods." +"connects the :mod:`email` package's bundled parser and " +"the :class:`~email.message.EmailMessage` class is embodied in " +"the :class:`~email.policy.Policy` class, so a custom parser can create " +"message object trees any way it finds necessary by implementing custom " +"versions of the appropriate :class:`!Policy` methods." msgstr "" #: ../../library/email.parser.rst:49 @@ -89,11 +89,11 @@ 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:" -"`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 " -"and results of the two parser APIs are identical." +"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 and results of the two parser APIs are identical." msgstr "" #: ../../library/email.parser.rst:60 @@ -103,10 +103,10 @@ msgid "" "to retrieve the root message object. The :class:`BytesFeedParser` is " "extremely accurate when parsing standards-compliant messages, and it does a " "very good job of parsing non-compliant messages, providing information about " -"how a message was deemed broken. It will populate a message object's :attr:" -"`~email.message.EmailMessage.defects` attribute with a list of any problems " -"it found in a message. See the :mod:`email.errors` module for the list of " -"defects that it can find." +"how a message was deemed broken. It will populate a message " +"object's :attr:`~email.message.EmailMessage.defects` attribute with a list " +"of any problems it found in a message. See the :mod:`email.errors` module " +"for the list of defects that it can find." msgstr "" #: ../../library/email.parser.rst:70 @@ -116,21 +116,21 @@ msgstr "" #: ../../library/email.parser.rst:75 msgid "" "Create a :class:`BytesFeedParser` instance. Optional *_factory* is a no-" -"argument callable; if not specified use the :attr:`~email.policy.Policy." -"message_factory` from the *policy*. Call *_factory* whenever a new message " -"object is needed." +"argument callable; if not specified use " +"the :attr:`~email.policy.Policy.message_factory` from the *policy*. Call " +"*_factory* whenever a new message object is needed." msgstr "" #: ../../library/email.parser.rst:80 msgid "" "If *policy* is specified use the rules it specifies to update the " -"representation of the message. If *policy* is not set, use the :class:" -"`compat32 ` policy, which maintains backward " -"compatibility with the Python 3.2 version of the email package and provides :" -"class:`~email.message.Message` as the default factory. All other policies " -"provide :class:`~email.message.EmailMessage` as the default *_factory*. For " -"more information on what else *policy* controls, see the :mod:`~email." -"policy` documentation." +"representation of the message. If *policy* is not set, use " +"the :class:`compat32 ` policy, which maintains " +"backward compatibility with the Python 3.2 version of the email package and " +"provides :class:`~email.message.Message` as the default factory. All other " +"policies provide :class:`~email.message.EmailMessage` as the default " +"*_factory*. For more information on what else *policy* controls, see " +"the :mod:`~email.policy` documentation." msgstr "" #: ../../library/email.parser.rst:89 ../../library/email.parser.rst:145 @@ -141,7 +141,7 @@ msgstr "" #: ../../library/email.parser.rst:94 ../../library/email.parser.rst:122 msgid "Added the *policy* keyword." -msgstr "" +msgstr "Adicionada o argumento nomeado *policy*." #: ../../library/email.parser.rst:95 msgid "*_factory* defaults to the policy ``message_factory``." @@ -165,10 +165,10 @@ msgstr "" #: ../../library/email.parser.rst:116 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 " +"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 " "``True``, no binary attachments." msgstr "" @@ -181,13 +181,13 @@ msgid "" "The :class:`BytesParser` class, imported from the :mod:`email.parser` " "module, provides an API that can be used to parse a message when the " "complete contents of the message are available in a :term:`bytes-like " -"object` or file. The :mod:`email.parser` module also provides :class:" -"`Parser` for parsing strings, and header-only parsers, :class:" -"`BytesHeaderParser` and :class:`HeaderParser`, which can be used if you're " -"only interested in the headers of the message. :class:`BytesHeaderParser` " -"and :class:`HeaderParser` can be much faster in these situations, since they " -"do not attempt to parse the message body, instead setting the payload to the " -"raw body." +"object` or file. The :mod:`email.parser` module also " +"provides :class:`Parser` for parsing strings, and header-only " +"parsers, :class:`BytesHeaderParser` and :class:`HeaderParser`, which can be " +"used if you're only interested in the headers of the " +"message. :class:`BytesHeaderParser` and :class:`HeaderParser` can be much " +"faster in these situations, since they do not attempt to parse the message " +"body, instead setting the payload to the raw body." msgstr "" #: ../../library/email.parser.rst:141 @@ -211,8 +211,8 @@ msgstr "" #: ../../library/email.parser.rst:156 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." +"bytes, and return the message object. *fp* must support both " +"the :meth:`~io.IOBase.readline` and the :meth:`~io.IOBase.read` methods." msgstr "" #: ../../library/email.parser.rst:161 @@ -222,8 +222,8 @@ msgid "" "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``)." +"contain MIME-encoded subparts, including subparts with " +"a :mailheader:`Content-Transfer-Encoding` of ``8bit``)." msgstr "" #: ../../library/email.parser.rst:169 @@ -236,9 +236,9 @@ msgstr "" #: ../../library/email.parser.rst:176 msgid "" "Similar to the :meth:`parse` method, except it takes a :term:`bytes-like " -"object` instead of a file-like object. Calling this method on a :term:" -"`bytes-like object` is equivalent to wrapping *bytes* in a :class:`~io." -"BytesIO` instance first and calling :meth:`parse`." +"object` instead of a file-like object. Calling this method on " +"a :term:`bytes-like object` is equivalent to wrapping *bytes* in " +"a :class:`~io.BytesIO` instance first and calling :meth:`parse`." msgstr "" #: ../../library/email.parser.rst:181 ../../library/email.parser.rst:221 @@ -272,16 +272,16 @@ msgstr "" #: ../../library/email.parser.rst:210 msgid "" -"Other than the text mode requirement, this method operates like :meth:" -"`BytesParser.parse`." +"Other than the text mode requirement, this method operates " +"like :meth:`BytesParser.parse`." msgstr "" #: ../../library/email.parser.rst:216 msgid "" "Similar to the :meth:`parse` method, except it takes a string object instead " "of a file-like object. Calling this method on a string is equivalent to " -"wrapping *text* in a :class:`~io.StringIO` instance first and calling :meth:" -"`parse`." +"wrapping *text* in a :class:`~io.StringIO` instance first and " +"calling :meth:`parse`." msgstr "" #: ../../library/email.parser.rst:226 @@ -344,37 +344,39 @@ msgstr "" msgid "" "Most non-\\ :mimetype:`multipart` type messages are parsed as a single " "message object with a string payload. These objects will return ``False`` " -"for :meth:`~email.message.EmailMessage.is_multipart`, and :meth:`~email." -"message.EmailMessage.iter_parts` will yield an empty list." +"for :meth:`~email.message.EmailMessage.is_multipart`, " +"and :meth:`~email.message.EmailMessage.iter_parts` will yield an empty list." msgstr "" #: ../../library/email.parser.rst:300 msgid "" "All :mimetype:`multipart` type messages will be parsed as a container " "message object with a list of sub-message objects for their payload. The " -"outer container message will return ``True`` for :meth:`~email.message." -"EmailMessage.is_multipart`, and :meth:`~email.message.EmailMessage." -"iter_parts` will yield a list of subparts." +"outer container message will return ``True`` " +"for :meth:`~email.message.EmailMessage.is_multipart`, " +"and :meth:`~email.message.EmailMessage.iter_parts` will yield a list of " +"subparts." msgstr "" #: ../../library/email.parser.rst:306 msgid "" -"Most messages with a content type of :mimetype:`message/\\*` (such as :" -"mimetype:`message/delivery-status` and :mimetype:`message/rfc822`) will also " -"be parsed as container object containing a list payload of length 1. Their :" -"meth:`~email.message.EmailMessage.is_multipart` method will return ``True``. " -"The single element yielded by :meth:`~email.message.EmailMessage.iter_parts` " -"will be a sub-message object." +"Most messages with a content type of :mimetype:`message/\\*` (such " +"as :mimetype:`message/delivery-status` and :mimetype:`message/rfc822`) will " +"also be parsed as container object containing a list payload of length 1. " +"Their :meth:`~email.message.EmailMessage.is_multipart` method will return " +"``True``. The single element yielded " +"by :meth:`~email.message.EmailMessage.iter_parts` will be a sub-message " +"object." msgstr "" #: ../../library/email.parser.rst:313 msgid "" "Some non-standards-compliant messages may not be internally consistent about " -"their :mimetype:`multipart`\\ -edness. Such messages may have a :mailheader:" -"`Content-Type` header of type :mimetype:`multipart`, but their :meth:`~email." -"message.EmailMessage.is_multipart` method may return ``False``. If such " -"messages were parsed with the :class:`~email.parser.FeedParser`, they will " -"have an instance of the :class:`~email.errors." -"MultipartInvariantViolationDefect` class in their *defects* attribute list. " -"See :mod:`email.errors` for details." +"their :mimetype:`multipart`\\ -edness. Such messages may have " +"a :mailheader:`Content-Type` header of type :mimetype:`multipart`, but " +"their :meth:`~email.message.EmailMessage.is_multipart` method may return " +"``False``. If such messages were parsed with " +"the :class:`~email.parser.FeedParser`, they will have an instance of " +"the :class:`~email.errors.MultipartInvariantViolationDefect` class in their " +"*defects* attribute list. See :mod:`email.errors` for details." msgstr "" diff --git a/library/email.po b/library/email.po index 95849c491..b412d094d 100644 --- a/library/email.po +++ b/library/email.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Biagioni de Fazio , 2021 -# Rodrigo Neres , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:49+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -36,20 +34,20 @@ msgstr "**Código-fonte:** :source:`Lib/email/__init__.py`" #: ../../library/email.rst:15 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`." +"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`." msgstr "" "O pacote :mod:`email` é uma biblioteca para gerenciar mensagens de e-mail. " "Ela foi especificamente *não* projetada para enviar mensagens de e-mail para " "SMTP (:rfc:`2821`), NNTP ou outros servidores; essas são funções de módulos " "como :mod:`smtplib` e :mod:`nntplib`. O pacote :mod:`email` tenta ser o mais " "compatível possível com RFC, suportando :rfc:`5322` e :rfc:`6532`, bem como " -"os RFCs relacionados ao MIME como :rfc:`2045`, :rfc:`2046`, :rfc:`2047`, :" -"rfc:`2183` e :rfc:`2231`." +"os RFCs relacionados ao MIME " +"como :rfc:`2045`, :rfc:`2046`, :rfc:`2047`, :rfc:`2183` e :rfc:`2231`." #: ../../library/email.rst:23 msgid "" @@ -70,64 +68,64 @@ msgid "" "to construct a new email, or to add or remove email subcomponents that " "themselves use the same object model interface. That is, following the " "nature of email messages and their MIME subcomponents, the email object " -"model is a tree structure of objects that all provide the :class:`~email." -"message.EmailMessage` API." +"model is a tree structure of objects that all provide " +"the :class:`~email.message.EmailMessage` API." msgstr "" "O componente central do pacote é um \"modelo de objeto\" que representa " "mensagens de e-mail. Uma aplicação interage com o pacote principalmente " -"através da interface do modelo de objeto definida no submódulo :mod:`~email." -"message`. A aplicação pode usar essa API para fazer perguntas sobre um e-" -"mail existente, construir um novo e-mail ou adicionar ou remover " -"subcomponentes de e-mail que usam a mesma interface de modelo de objeto. Ou " -"seja, seguindo a natureza das mensagens de e-mail e seus subcomponentes " -"MIME, o modelo de objeto de e-mail é uma estrutura em árvore de objetos que " -"fornecem a API :class:`~email.message.EmailMessage`." +"através da interface do modelo de objeto definida no " +"submódulo :mod:`~email.message`. A aplicação pode usar essa API para fazer " +"perguntas sobre um e-mail existente, construir um novo e-mail ou adicionar " +"ou remover subcomponentes de e-mail que usam a mesma interface de modelo de " +"objeto. Ou seja, seguindo a natureza das mensagens de e-mail e seus " +"subcomponentes MIME, o modelo de objeto de e-mail é uma estrutura em árvore " +"de objetos que fornecem a API :class:`~email.message.EmailMessage`." #: ../../library/email.rst:37 msgid "" "The other two major components of the package are the :mod:`~email.parser` " "and the :mod:`~email.generator`. The parser takes the serialized version of " -"an email message (a stream of bytes) and converts it into a tree of :class:" -"`~email.message.EmailMessage` objects. The generator takes an :class:" -"`~email.message.EmailMessage` and turns it back into a serialized byte " -"stream. (The parser and generator also handle streams of text characters, " -"but this usage is discouraged as it is too easy to end up with messages that " -"are not valid in one way or another.)" +"an email message (a stream of bytes) and converts it into a tree " +"of :class:`~email.message.EmailMessage` objects. The generator takes " +"an :class:`~email.message.EmailMessage` and turns it back into a serialized " +"byte stream. (The parser and generator also handle streams of text " +"characters, but this usage is discouraged as it is too easy to end up with " +"messages that are not valid in one way or another.)" msgstr "" -"Os outros dois componentes principais do pacote são :mod:`~email.parser` e :" -"mod:`~email.generator`. O analisador sintático pega a versão serializada de " -"uma mensagem de e-mail (um fluxo de bytes) e a converte em uma árvore de " -"objetos :class:`~email.message.EmailMessage`. O gerador pega um :class:" -"`~email.message.EmailMessage` e o transforma novamente em um fluxo de bytes " -"serializado. (O analisador sintático e o gerador também lidam com fluxos de " -"caracteres de texto, mas esse uso é desencorajado, pois é muito fácil " -"terminar com mensagens que não são válidas de uma maneira ou de outra.)" +"Os outros dois componentes principais do pacote são :mod:`~email.parser` " +"e :mod:`~email.generator`. O analisador sintático pega a versão serializada " +"de uma mensagem de e-mail (um fluxo de bytes) e a converte em uma árvore de " +"objetos :class:`~email.message.EmailMessage`. O gerador pega " +"um :class:`~email.message.EmailMessage` e o transforma novamente em um fluxo " +"de bytes serializado. (O analisador sintático e o gerador também lidam com " +"fluxos de caracteres de texto, mas esse uso é desencorajado, pois é muito " +"fácil terminar com mensagens que não são válidas de uma maneira ou de outra.)" #: ../../library/email.rst:46 msgid "" -"The control component is the :mod:`~email.policy` module. Every :class:" -"`~email.message.EmailMessage`, every :mod:`~email.generator`, and every :mod:" -"`~email.parser` has an associated :mod:`~email.policy` object that controls " -"its behavior. Usually an application only needs to specify the policy when " -"an :class:`~email.message.EmailMessage` is created, either by directly " -"instantiating an :class:`~email.message.EmailMessage` to create a new " -"email, or by parsing an input stream using a :mod:`~email.parser`. But the " -"policy can be changed when the message is serialized using a :mod:`~email." -"generator`. This allows, for example, a generic email message to be parsed " -"from disk, but to serialize it using standard SMTP settings when sending it " -"to an email server." +"The control component is the :mod:`~email.policy` module. " +"Every :class:`~email.message.EmailMessage`, every :mod:`~email.generator`, " +"and every :mod:`~email.parser` has an associated :mod:`~email.policy` object " +"that controls its behavior. Usually an application only needs to specify " +"the policy when an :class:`~email.message.EmailMessage` is created, either " +"by directly instantiating an :class:`~email.message.EmailMessage` to create " +"a new email, or by parsing an input stream using a :mod:`~email.parser`. " +"But the policy can be changed when the message is serialized using " +"a :mod:`~email.generator`. This allows, for example, a generic email message " +"to be parsed from disk, but to serialize it using standard SMTP settings " +"when sending it to an email server." msgstr "" -"O componente de controle é o módulo :mod:`~email.policy`. Cada :class:" -"`~email.message.EmailMessage`, cada :mod:`~email.generator` e cada :mod:" -"`~email.parser` tem um objeto associado :mod:`~email.policy` que controla " -"seu comportamento. Normalmente, uma aplicação precisa especificar a política " -"apenas quando uma :class:`~email.message.EmailMessage` é criada, " +"O componente de controle é o módulo :mod:`~email.policy`. " +"Cada :class:`~email.message.EmailMessage`, cada :mod:`~email.generator` e " +"cada :mod:`~email.parser` tem um objeto associado :mod:`~email.policy` que " +"controla seu comportamento. Normalmente, uma aplicação precisa especificar a " +"política apenas quando uma :class:`~email.message.EmailMessage` é criada, " "instanciando diretamente uma :class:`~email.message.EmailMessage` para criar " -"um novo e-mail ou analisando um fluxo de entrada usando um :mod:`~email." -"parser`. Mas a política pode ser alterada quando a mensagem é serializada " -"usando um :mod:`~email.generator`. Isso permite, por exemplo, analisar uma " -"mensagem de e-mail genérica do disco, mas serializá-la usando as " -"configurações SMTP padrão ao enviá-la para um servidor de e-mail." +"um novo e-mail ou analisando um fluxo de entrada usando " +"um :mod:`~email.parser`. Mas a política pode ser alterada quando a mensagem " +"é serializada usando um :mod:`~email.generator`. Isso permite, por exemplo, " +"analisar uma mensagem de e-mail genérica do disco, mas serializá-la usando " +"as configurações SMTP padrão ao enviá-la para um servidor de e-mail." #: ../../library/email.rst:58 msgid "" @@ -164,15 +162,15 @@ msgstr "" msgid "" "The following sections describe the functionality of the :mod:`email` " "package. We start with the :mod:`~email.message` object model, which is the " -"primary interface an application will use, and follow that with the :mod:" -"`~email.parser` and :mod:`~email.generator` components. Then we cover the :" -"mod:`~email.policy` controls, which completes the treatment of the main " -"components of the library." +"primary interface an application will use, and follow that with " +"the :mod:`~email.parser` and :mod:`~email.generator` components. Then we " +"cover the :mod:`~email.policy` controls, which completes the treatment of " +"the main components of the library." msgstr "" "As seções a seguir descrevem a funcionalidade do pacote :mod:`email`. " "Começamos com o modelo de objeto :mod:`~email.message`, que é a interface " -"principal que uma aplicação usará, e seguimos com os componentes de :mod:" -"`~email.parser` e :mod:`~email.generator`. Em seguida, abordamos os " +"principal que uma aplicação usará, e seguimos com os componentes " +"de :mod:`~email.parser` e :mod:`~email.generator`. Em seguida, abordamos os " "controles :mod:`~email.policy`, que concluem o tratamento dos principais " "componentes da biblioteca." @@ -180,12 +178,12 @@ msgstr "" msgid "" "The next three sections cover the exceptions the package may raise and the " "defects (non-compliance with the RFCs) that the :mod:`~email.parser` may " -"detect. Then we cover the :mod:`~email.headerregistry` and the :mod:`~email." -"contentmanager` sub-components, which provide tools for doing more detailed " -"manipulation of headers and payloads, respectively. Both of these " -"components contain features relevant to consuming and producing non-trivial " -"messages, but also document their extensibility APIs, which will be of " -"interest to advanced applications." +"detect. Then we cover the :mod:`~email.headerregistry` and " +"the :mod:`~email.contentmanager` sub-components, which provide tools for " +"doing more detailed manipulation of headers and payloads, respectively. " +"Both of these components contain features relevant to consuming and " +"producing non-trivial messages, but also document their extensibility APIs, " +"which will be of interest to advanced applications." msgstr "" "As próximas três seções cobrem as exceções que o pacote pode apresentar e os " "defeitos (não conformidade com as RFCs) que o :mod:`~email.parser` pode " @@ -207,32 +205,35 @@ msgstr "" #: ../../library/email.rst:90 msgid "" "The foregoing represent the modern (unicode friendly) API of the email " -"package. The remaining sections, starting with the :class:`~email.message." -"Message` class, cover the legacy :data:`~email.policy.compat32` API that " -"deals much more directly with the details of how email messages are " -"represented. The :data:`~email.policy.compat32` API does *not* hide the " -"details of the RFCs from the application, but for applications that need to " -"operate at that level, they can be useful tools. This documentation is also " -"relevant for applications that are still using the :mod:`~email.policy." -"compat32` API for backward compatibility reasons." +"package. The remaining sections, starting with " +"the :class:`~email.message.Message` class, cover the " +"legacy :data:`~email.policy.compat32` API that deals much more directly with " +"the details of how email messages are represented. " +"The :data:`~email.policy.compat32` API does *not* hide the details of the " +"RFCs from the application, but for applications that need to operate at that " +"level, they can be useful tools. This documentation is also relevant for " +"applications that are still using the :mod:`~email.policy.compat32` API for " +"backward compatibility reasons." msgstr "" "O exposto acima representa a API moderna (compatível com unicode) do pacote " -"de e-mail. As seções restantes, começando com a classe :class:`~email." -"message.Message`, cobrem a API legada :data:`~email.policy.compat32` que " -"lida muito mais diretamente com os detalhes de como as mensagens de e-mail " -"são representadas. A API :data:`~email.policy.compat32` *não* oculta os " -"detalhes dos RFCs da aplicação, mas para aplicações que precisam operar " -"nesse nível, eles podem ser ferramentas úteis. Esta documentação também é " -"relevante para aplicações que ainda estão usando a API :mod:`~email.policy." -"compat32` por motivos de compatibilidade com versões anteriores." +"de e-mail. As seções restantes, começando com a " +"classe :class:`~email.message.Message`, cobrem a API " +"legada :data:`~email.policy.compat32` que lida muito mais diretamente com os " +"detalhes de como as mensagens de e-mail são representadas. A " +"API :data:`~email.policy.compat32` *não* oculta os detalhes dos RFCs da " +"aplicação, mas para aplicações que precisam operar nesse nível, eles podem " +"ser ferramentas úteis. Esta documentação também é relevante para aplicações " +"que ainda estão usando a API :mod:`~email.policy.compat32` por motivos de " +"compatibilidade com versões anteriores." #: ../../library/email.rst:100 msgid "" -"Docs reorganized and rewritten to promote the new :class:`~email.message." -"EmailMessage`/:class:`~email.policy.EmailPolicy` API." +"Docs reorganized and rewritten to promote the " +"new :class:`~email.message.EmailMessage`/:class:`~email.policy.EmailPolicy` " +"API." msgstr "" -"Documentos reorganizados e reescritos para promover a nova API :class:" -"`~email.message.EmailMessage`/:class:`~email.policy.EmailPolicy`." +"Documentos reorganizados e reescritos para promover a nova " +"API :class:`~email.message.EmailMessage`/:class:`~email.policy.EmailPolicy`." #: ../../library/email.rst:105 msgid "Contents of the :mod:`email` package documentation:" @@ -248,7 +249,7 @@ msgstr "Módulo :mod:`smtplib`" #: ../../library/email.rst:136 msgid "SMTP (Simple Mail Transport Protocol) client" -msgstr "Cliente SMTP (Simple Mail Transport Protocol)" +msgstr "Cliente SMTP (Protocolo Simples de Envio de E-mail)" #: ../../library/email.rst:139 msgid "Module :mod:`poplib`" diff --git a/library/email.policy.po b/library/email.policy.po index 760392159..6d4aef20c 100644 --- a/library/email.policy.po +++ b/library/email.policy.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -32,7 +29,7 @@ msgstr "" #: ../../library/email.policy.rst:12 msgid "**Source code:** :source:`Lib/email/policy.py`" -msgstr "**Código Fonte:** :source:`Lib/email/policy.py`" +msgstr "**Código-fonte:** :source:`Lib/email/policy.py`" #: ../../library/email.policy.rst:16 msgid "" @@ -58,40 +55,41 @@ msgstr "" #: ../../library/email.policy.rst:31 msgid "" "A :class:`Policy` object encapsulates a set of attributes and methods that " -"control the behavior of various components of the email package during use. :" -"class:`Policy` instances can be passed to various classes and methods in the " -"email package to alter the default behavior. The settable values and their " -"defaults are described below." +"control the behavior of various components of the email package during " +"use. :class:`Policy` instances can be passed to various classes and methods " +"in the email package to alter the default behavior. The settable values and " +"their defaults are described below." msgstr "" #: ../../library/email.policy.rst:37 msgid "" "There is a default policy used by all classes in the email package. For all " "of the :mod:`~email.parser` classes and the related convenience functions, " -"and for the :class:`~email.message.Message` class, this is the :class:" -"`Compat32` policy, via its corresponding pre-defined instance :const:" -"`compat32`. This policy provides for complete backward compatibility (in " -"some cases, including bug compatibility) with the pre-Python3.3 version of " -"the email package." +"and for the :class:`~email.message.Message` class, this is " +"the :class:`Compat32` policy, via its corresponding pre-defined " +"instance :const:`compat32`. This policy provides for complete backward " +"compatibility (in some cases, including bug compatibility) with the pre-" +"Python3.3 version of the email package." msgstr "" #: ../../library/email.policy.rst:44 msgid "" -"This default value for the *policy* keyword to :class:`~email.message." -"EmailMessage` is the :class:`EmailPolicy` policy, via its pre-defined " -"instance :data:`~default`." +"This default value for the *policy* keyword " +"to :class:`~email.message.EmailMessage` is the :class:`EmailPolicy` policy, " +"via its pre-defined instance :data:`~default`." msgstr "" #: ../../library/email.policy.rst:48 msgid "" -"When a :class:`~email.message.Message` or :class:`~email.message." -"EmailMessage` object is created, it acquires a policy. If the message is " -"created by a :mod:`~email.parser`, a policy passed to the parser will be the " -"policy used by the message it creates. If the message is created by the " -"program, then the policy can be specified when it is created. When a " -"message is passed to a :mod:`~email.generator`, the generator uses the " -"policy from the message by default, but you can also pass a specific policy " -"to the generator that will override the one stored on the message object." +"When a :class:`~email.message.Message` " +"or :class:`~email.message.EmailMessage` object is created, it acquires a " +"policy. If the message is created by a :mod:`~email.parser`, a policy " +"passed to the parser will be the policy used by the message it creates. If " +"the message is created by the program, then the policy can be specified when " +"it is created. When a message is passed to a :mod:`~email.generator`, the " +"generator uses the policy from the message by default, but you can also pass " +"a specific policy to the generator that will override the one stored on the " +"message object." msgstr "" #: ../../library/email.policy.rst:57 @@ -118,8 +116,8 @@ msgstr "" #: ../../library/email.policy.rst:72 msgid "" ":class:`Policy` instances are immutable, but they can be cloned, accepting " -"the same keyword arguments as the class constructor and returning a new :" -"class:`Policy` instance that is a copy of the original but with the " +"the same keyword arguments as the class constructor and returning a " +"new :class:`Policy` instance that is a copy of the original but with the " "specified attributes values changed." msgstr "" @@ -236,9 +234,9 @@ msgstr "" #: ../../library/email.policy.rst:208 msgid "" -"If :const:`True`, any defects encountered will be raised as errors. If :" -"const:`False` (the default), defects will be passed to the :meth:" -"`register_defect` method." +"If :const:`True`, any defects encountered will be raised as errors. " +"If :const:`False` (the default), defects will be passed to " +"the :meth:`register_defect` method." msgstr "" #: ../../library/email.policy.rst:215 @@ -248,57 +246,69 @@ msgid "" "being serialized by a generator. Default: :const:`False`." msgstr "" -#: ../../library/email.policy.rst:220 -msgid "The *mangle_from_* parameter." -msgstr "O parâmetro *mangle_from_*." - -#: ../../library/email.policy.rst:226 +#: ../../library/email.policy.rst:225 msgid "" "A factory function for constructing a new empty message object. Used by the " -"parser when building messages. Defaults to ``None``, in which case :class:" -"`~email.message.Message` is used." +"parser when building messages. Defaults to ``None``, in which " +"case :class:`~email.message.Message` is used." +msgstr "" + +#: ../../library/email.policy.rst:234 +msgid "" +"If ``True`` (the default), the generator will " +"raise :exc:`~email.errors.HeaderWriteError` instead of writing a header that " +"is improperly folded or delimited, such that it would be parsed as multiple " +"headers or joined with adjacent data. Such headers can be generated by " +"custom header classes or bugs in the ``email`` module." msgstr "" -#: ../../library/email.policy.rst:232 +#: ../../library/email.policy.rst:241 +msgid "" +"As it's a security feature, this defaults to ``True`` even in " +"the :class:`~email.policy.Compat32` policy. For backwards compatible, but " +"unsafe, behavior, it must be set to ``False`` explicitly." +msgstr "" + +#: ../../library/email.policy.rst:249 msgid "" "The following :class:`Policy` method is intended to be called by code using " "the email library to create policy instances with custom settings:" msgstr "" -#: ../../library/email.policy.rst:238 +#: ../../library/email.policy.rst:255 msgid "" "Return a new :class:`Policy` instance whose attributes have the same values " "as the current instance, except where those attributes are given new values " "by the keyword arguments." msgstr "" -#: ../../library/email.policy.rst:243 +#: ../../library/email.policy.rst:260 msgid "" "The remaining :class:`Policy` methods are called by the email package code, " "and are not intended to be called by an application using the email package. " "A custom policy must implement all of these methods." msgstr "" -#: ../../library/email.policy.rst:250 +#: ../../library/email.policy.rst:267 msgid "" "Handle a *defect* found on *obj*. When the email package calls this method, " "*defect* will always be a subclass of :class:`~email.errors.Defect`." msgstr "" -#: ../../library/email.policy.rst:254 +#: ../../library/email.policy.rst:271 msgid "" "The default implementation checks the :attr:`raise_on_defect` flag. If it " "is ``True``, *defect* is raised as an exception. If it is ``False`` (the " "default), *obj* and *defect* are passed to :meth:`register_defect`." msgstr "" -#: ../../library/email.policy.rst:261 +#: ../../library/email.policy.rst:278 msgid "" "Register a *defect* on *obj*. In the email package, *defect* will always be " "a subclass of :class:`~email.errors.Defect`." msgstr "" -#: ../../library/email.policy.rst:264 +#: ../../library/email.policy.rst:281 msgid "" "The default implementation calls the ``append`` method of the ``defects`` " "attribute of *obj*. When the email package calls :attr:`handle_defect`, " @@ -308,19 +318,20 @@ msgid "" "defects in parsed messages will raise unexpected errors." msgstr "" -#: ../../library/email.policy.rst:274 +#: ../../library/email.policy.rst:291 msgid "Return the maximum allowed number of headers named *name*." msgstr "" -#: ../../library/email.policy.rst:276 +#: ../../library/email.policy.rst:293 msgid "" -"Called when a header is added to an :class:`~email.message.EmailMessage` or :" -"class:`~email.message.Message` object. If the returned value is not ``0`` " -"or ``None``, and there are already a number of headers with the name *name* " -"greater than or equal to the value returned, a :exc:`ValueError` is raised." +"Called when a header is added to an :class:`~email.message.EmailMessage` " +"or :class:`~email.message.Message` object. If the returned value is not " +"``0`` or ``None``, and there are already a number of headers with the name " +"*name* greater than or equal to the value returned, a :exc:`ValueError` is " +"raised." msgstr "" -#: ../../library/email.policy.rst:282 +#: ../../library/email.policy.rst:299 msgid "" "Because the default behavior of ``Message.__setitem__`` is to append the " "value to the list of headers, it is easy to create duplicate headers without " @@ -330,11 +341,11 @@ msgid "" "faithfully produce as many headers as exist in the message being parsed.)" msgstr "" -#: ../../library/email.policy.rst:290 +#: ../../library/email.policy.rst:307 msgid "The default implementation returns ``None`` for all header names." msgstr "" -#: ../../library/email.policy.rst:295 +#: ../../library/email.policy.rst:312 msgid "" "The email package calls this method with a list of strings, each string " "ending with the line separation characters found in the source being " @@ -344,7 +355,7 @@ msgid "" "the parsed header." msgstr "" -#: ../../library/email.policy.rst:302 +#: ../../library/email.policy.rst:319 msgid "" "If an implementation wishes to retain compatibility with the existing email " "package policies, *name* should be the case preserved name (all characters " @@ -353,16 +364,16 @@ msgid "" "stripped of leading whitespace." msgstr "" -#: ../../library/email.policy.rst:308 +#: ../../library/email.policy.rst:325 msgid "*sourcelines* may contain surrogateescaped binary data." msgstr "" -#: ../../library/email.policy.rst:310 ../../library/email.policy.rst:326 -#: ../../library/email.policy.rst:342 +#: ../../library/email.policy.rst:327 ../../library/email.policy.rst:343 +#: ../../library/email.policy.rst:359 msgid "There is no default implementation" msgstr "" -#: ../../library/email.policy.rst:315 +#: ../../library/email.policy.rst:332 msgid "" "The email package calls this method with the name and value provided by the " "application program when the application program is modifying a ``Message`` " @@ -371,14 +382,14 @@ msgid "" "``Message`` to represent the header." msgstr "" -#: ../../library/email.policy.rst:321 +#: ../../library/email.policy.rst:338 msgid "" "If an implementation wishes to retain compatibility with the existing email " "package policies, the *name* and *value* should be strings or string " "subclasses that do not change the content of the passed in arguments." msgstr "" -#: ../../library/email.policy.rst:331 +#: ../../library/email.policy.rst:348 msgid "" "The email package calls this method with the *name* and *value* currently " "stored in the ``Message`` when that header is requested by the application " @@ -389,48 +400,48 @@ msgid "" "returned to the application." msgstr "" -#: ../../library/email.policy.rst:339 +#: ../../library/email.policy.rst:356 msgid "" "*value* may contain surrogateescaped binary data. There should be no " "surrogateescaped binary data in the value returned by the method." msgstr "" -#: ../../library/email.policy.rst:347 +#: ../../library/email.policy.rst:364 msgid "" "The email package calls this method with the *name* and *value* currently " "stored in the ``Message`` for a given header. The method should return a " "string that represents that header \"folded\" correctly (according to the " -"policy settings) by composing the *name* with the *value* and inserting :" -"attr:`linesep` characters at the appropriate places. See :rfc:`5322` for a " -"discussion of the rules for folding email headers." +"policy settings) by composing the *name* with the *value* and " +"inserting :attr:`linesep` characters at the appropriate places. " +"See :rfc:`5322` for a discussion of the rules for folding email headers." msgstr "" -#: ../../library/email.policy.rst:354 +#: ../../library/email.policy.rst:371 msgid "" "*value* may contain surrogateescaped binary data. There should be no " "surrogateescaped binary data in the string returned by the method." msgstr "" -#: ../../library/email.policy.rst:360 +#: ../../library/email.policy.rst:377 msgid "" "The same as :meth:`fold`, except that the returned value should be a bytes " "object rather than a string." msgstr "" -#: ../../library/email.policy.rst:363 +#: ../../library/email.policy.rst:380 msgid "" "*value* may contain surrogateescaped binary data. These could be converted " "back into binary data in the returned bytes object." msgstr "" -#: ../../library/email.policy.rst:370 +#: ../../library/email.policy.rst:387 msgid "" "This concrete :class:`Policy` provides behavior that is intended to be fully " "compliant with the current email RFCs. These include (but are not limited " "to) :rfc:`5322`, :rfc:`2047`, and the current MIME RFCs." msgstr "" -#: ../../library/email.policy.rst:374 +#: ../../library/email.policy.rst:391 msgid "" "This policy adds new header parsing and folding algorithms. Instead of " "simple strings, headers are ``str`` subclasses with attributes that depend " @@ -438,23 +449,23 @@ msgid "" "implement :rfc:`2047` and :rfc:`5322`." msgstr "" -#: ../../library/email.policy.rst:379 +#: ../../library/email.policy.rst:396 msgid "" "The default value for the :attr:`~email.policy.Policy.message_factory` " "attribute is :class:`~email.message.EmailMessage`." msgstr "" -#: ../../library/email.policy.rst:382 +#: ../../library/email.policy.rst:399 msgid "" "In addition to the settable attributes listed above that apply to all " "policies, this policy adds the following additional attributes:" msgstr "" -#: ../../library/email.policy.rst:385 +#: ../../library/email.policy.rst:402 msgid "[1]_" msgstr "[1]_" -#: ../../library/email.policy.rst:390 +#: ../../library/email.policy.rst:407 msgid "" "If ``False``, follow :rfc:`5322`, supporting non-ASCII characters in headers " "by encoding them as \"encoded words\". If ``True``, follow :rfc:`6532` and " @@ -462,45 +473,45 @@ msgid "" "passed to SMTP servers that support the ``SMTPUTF8`` extension (:rfc:`6531`)." msgstr "" -#: ../../library/email.policy.rst:399 +#: ../../library/email.policy.rst:416 msgid "" -"If the value for a header in the ``Message`` object originated from a :mod:" -"`~email.parser` (as opposed to being set by a program), this attribute " -"indicates whether or not a generator should refold that value when " +"If the value for a header in the ``Message`` object originated from " +"a :mod:`~email.parser` (as opposed to being set by a program), this " +"attribute indicates whether or not a generator should refold that value when " "transforming the message back into serialized form. The possible values are:" msgstr "" -#: ../../library/email.policy.rst:406 +#: ../../library/email.policy.rst:423 msgid "``none``" msgstr "``none``" -#: ../../library/email.policy.rst:406 +#: ../../library/email.policy.rst:423 msgid "all source values use original folding" msgstr "" -#: ../../library/email.policy.rst:408 +#: ../../library/email.policy.rst:425 msgid "``long``" msgstr "``long``" -#: ../../library/email.policy.rst:408 +#: ../../library/email.policy.rst:425 msgid "" "source values that have any line that is longer than ``max_line_length`` " "will be refolded" msgstr "" -#: ../../library/email.policy.rst:411 +#: ../../library/email.policy.rst:428 msgid "``all``" msgstr "``all``" -#: ../../library/email.policy.rst:411 +#: ../../library/email.policy.rst:428 msgid "all values are refolded." msgstr "todos os valores são redobrados." -#: ../../library/email.policy.rst:414 +#: ../../library/email.policy.rst:431 msgid "The default is ``long``." msgstr "O padrão é ``long``." -#: ../../library/email.policy.rst:419 +#: ../../library/email.policy.rst:436 msgid "" "A callable that takes two arguments, ``name`` and ``value``, where ``name`` " "is a header field name and ``value`` is an unfolded header field value, and " @@ -511,31 +522,32 @@ msgid "" "custom parsing will be added in the future." msgstr "" -#: ../../library/email.policy.rst:430 +#: ../../library/email.policy.rst:447 msgid "" -"An object with at least two methods: get_content and set_content. When the :" -"meth:`~email.message.EmailMessage.get_content` or :meth:`~email.message." -"EmailMessage.set_content` method of an :class:`~email.message.EmailMessage` " -"object is called, it calls the corresponding method of this object, passing " -"it the message object as its first argument, and any arguments or keywords " -"that were passed to it as additional arguments. By default " -"``content_manager`` is set to :data:`~email.contentmanager.raw_data_manager`." +"An object with at least two methods: get_content and set_content. When " +"the :meth:`~email.message.EmailMessage.get_content` " +"or :meth:`~email.message.EmailMessage.set_content` method of " +"an :class:`~email.message.EmailMessage` object is called, it calls the " +"corresponding method of this object, passing it the message object as its " +"first argument, and any arguments or keywords that were passed to it as " +"additional arguments. By default ``content_manager`` is set " +"to :data:`~email.contentmanager.raw_data_manager`." msgstr "" -#: ../../library/email.policy.rst:442 ../../library/email.policy.rst:600 +#: ../../library/email.policy.rst:459 ../../library/email.policy.rst:617 msgid "" "The class provides the following concrete implementations of the abstract " "methods of :class:`Policy`:" msgstr "" -#: ../../library/email.policy.rst:448 +#: ../../library/email.policy.rst:465 msgid "" "Returns the value of the :attr:`~email.headerregistry.BaseHeader.max_count` " "attribute of the specialized class used to represent the header with the " "given name." msgstr "" -#: ../../library/email.policy.rst:456 ../../library/email.policy.rst:606 +#: ../../library/email.policy.rst:473 ../../library/email.policy.rst:623 msgid "" "The name is parsed as everything up to the '``:``' and returned unmodified. " "The value is determined by stripping leading whitespace off the remainder of " @@ -543,7 +555,7 @@ msgid "" "trailing carriage return or linefeed characters." msgstr "" -#: ../../library/email.policy.rst:464 +#: ../../library/email.policy.rst:481 msgid "" "The name is returned unchanged. If the input value has a ``name`` attribute " "and it matches *name* ignoring case, the value is returned unchanged. " @@ -552,7 +564,7 @@ msgid "" "``ValueError`` is raised if the input value contains CR or LF characters." msgstr "" -#: ../../library/email.policy.rst:474 +#: ../../library/email.policy.rst:491 msgid "" "If the value has a ``name`` attribute, it is returned to unmodified. " "Otherwise the *name*, and the *value* with any CR or LF characters removed, " @@ -561,7 +573,7 @@ msgid "" "character glyph." msgstr "" -#: ../../library/email.policy.rst:483 +#: ../../library/email.policy.rst:500 msgid "" "Header folding is controlled by the :attr:`refold_source` policy setting. A " "value is considered to be a 'source value' if and only if it does not have a " @@ -573,7 +585,7 @@ msgid "" "current policy." msgstr "" -#: ../../library/email.policy.rst:492 +#: ../../library/email.policy.rst:509 msgid "" "Source values are split into lines using :meth:`~str.splitlines`. If the " "value is not to be refolded, the lines are rejoined using the ``linesep`` " @@ -583,13 +595,13 @@ msgid "" "using the ``unknown-8bit`` charset." msgstr "" -#: ../../library/email.policy.rst:502 +#: ../../library/email.policy.rst:519 msgid "" "The same as :meth:`fold` if :attr:`~Policy.cte_type` is ``7bit``, except " "that the returned value is bytes." msgstr "" -#: ../../library/email.policy.rst:505 +#: ../../library/email.policy.rst:522 msgid "" "If :attr:`~Policy.cte_type` is ``8bit``, non-ASCII binary data is converted " "back into bytes. Headers with binary data are not refolded, regardless of " @@ -597,7 +609,7 @@ msgid "" "binary data consists of single byte characters or multibyte characters." msgstr "" -#: ../../library/email.policy.rst:512 +#: ../../library/email.policy.rst:529 msgid "" "The following instances of :class:`EmailPolicy` provide defaults suitable " "for specific application domains. Note that in the future the behavior of " @@ -605,114 +617,115 @@ msgid "" "conform even more closely to the RFCs relevant to their domains." msgstr "" -#: ../../library/email.policy.rst:520 +#: ../../library/email.policy.rst:537 msgid "" "An instance of ``EmailPolicy`` with all defaults unchanged. This policy " "uses the standard Python ``\\n`` line endings rather than the RFC-correct " "``\\r\\n``." msgstr "" -#: ../../library/email.policy.rst:527 +#: ../../library/email.policy.rst:544 msgid "" "Suitable for serializing messages in conformance with the email RFCs. Like " "``default``, but with ``linesep`` set to ``\\r\\n``, which is RFC compliant." msgstr "" -#: ../../library/email.policy.rst:534 +#: ../../library/email.policy.rst:551 msgid "" "The same as ``SMTP`` except that :attr:`~EmailPolicy.utf8` is ``True``. " "Useful for serializing messages to a message store without using encoded " "words in the headers. Should only be used for SMTP transmission if the " -"sender or recipient addresses have non-ASCII characters (the :meth:`smtplib." -"SMTP.send_message` method handles this automatically)." +"sender or recipient addresses have non-ASCII characters " +"(the :meth:`smtplib.SMTP.send_message` method handles this automatically)." msgstr "" -#: ../../library/email.policy.rst:543 +#: ../../library/email.policy.rst:560 msgid "" "Suitable for serializing headers with for use in HTTP traffic. Like " "``SMTP`` except that ``max_line_length`` is set to ``None`` (unlimited)." msgstr "" -#: ../../library/email.policy.rst:549 +#: ../../library/email.policy.rst:566 msgid "" "Convenience instance. The same as ``default`` except that " "``raise_on_defect`` is set to ``True``. This allows any policy to be made " "strict by writing::" msgstr "" -#: ../../library/email.policy.rst:556 +#: ../../library/email.policy.rst:573 msgid "" "With all of these :class:`EmailPolicies <.EmailPolicy>`, the effective API " "of the email package is changed from the Python 3.2 API in the following " "ways:" msgstr "" -#: ../../library/email.policy.rst:559 +#: ../../library/email.policy.rst:576 msgid "" "Setting a header on a :class:`~email.message.Message` results in that header " "being parsed and a header object created." msgstr "" -#: ../../library/email.policy.rst:562 +#: ../../library/email.policy.rst:579 msgid "" "Fetching a header value from a :class:`~email.message.Message` results in " "that header being parsed and a header object created and returned." msgstr "" -#: ../../library/email.policy.rst:566 +#: ../../library/email.policy.rst:583 msgid "" "Any header object, or any header that is refolded due to the policy " "settings, is folded using an algorithm that fully implements the RFC folding " "algorithms, including knowing where encoded words are required and allowed." msgstr "" -#: ../../library/email.policy.rst:571 +#: ../../library/email.policy.rst:588 msgid "" -"From the application view, this means that any header obtained through the :" -"class:`~email.message.EmailMessage` is a header object with extra " +"From the application view, this means that any header obtained through " +"the :class:`~email.message.EmailMessage` is a header object with extra " "attributes, whose string value is the fully decoded unicode value of the " "header. Likewise, a header may be assigned a new value, or a new header " "created, using a unicode string, and the policy will take care of converting " "the unicode string into the correct RFC encoded form." msgstr "" -#: ../../library/email.policy.rst:578 +#: ../../library/email.policy.rst:595 msgid "" -"The header objects and their attributes are described in :mod:`~email." -"headerregistry`." +"The header objects and their attributes are described " +"in :mod:`~email.headerregistry`." msgstr "" -#: ../../library/email.policy.rst:585 +#: ../../library/email.policy.rst:602 msgid "" "This concrete :class:`Policy` is the backward compatibility policy. It " -"replicates the behavior of the email package in Python 3.2. The :mod:" -"`~email.policy` module also defines an instance of this class, :const:" -"`compat32`, that is used as the default policy. Thus the default behavior " -"of the email package is to maintain compatibility with Python 3.2." +"replicates the behavior of the email package in Python 3.2. " +"The :mod:`~email.policy` module also defines an instance of this " +"class, :const:`compat32`, that is used as the default policy. Thus the " +"default behavior of the email package is to maintain compatibility with " +"Python 3.2." msgstr "" -#: ../../library/email.policy.rst:591 +#: ../../library/email.policy.rst:608 msgid "" -"The following attributes have values that are different from the :class:" -"`Policy` default:" +"The following attributes have values that are different from " +"the :class:`Policy` default:" msgstr "" -#: ../../library/email.policy.rst:597 +#: ../../library/email.policy.rst:614 msgid "The default is ``True``." msgstr "O padrão é ``True``." -#: ../../library/email.policy.rst:614 +#: ../../library/email.policy.rst:631 msgid "The name and value are returned unmodified." msgstr "" -#: ../../library/email.policy.rst:619 +#: ../../library/email.policy.rst:636 msgid "" -"If the value contains binary data, it is converted into a :class:`~email." -"header.Header` object using the ``unknown-8bit`` charset. Otherwise it is " -"returned unmodified." +"If the value contains binary data, it is converted into " +"a :class:`~email.header.Header` object using the ``unknown-8bit`` charset. " +"Otherwise it is returned unmodified." msgstr "" -#: ../../library/email.policy.rst:626 +#: ../../library/email.policy.rst:643 msgid "" "Headers are folded using the :class:`~email.header.Header` folding " "algorithm, which preserves existing line breaks in the value, and wraps each " @@ -720,7 +733,7 @@ msgid "" "encoded using the ``unknown-8bit`` charset." msgstr "" -#: ../../library/email.policy.rst:634 +#: ../../library/email.policy.rst:651 msgid "" "Headers are folded using the :class:`~email.header.Header` folding " "algorithm, which preserves existing line breaks in the value, and wraps each " @@ -730,17 +743,17 @@ msgid "" "and any (RFC invalid) binary data it may contain." msgstr "" -#: ../../library/email.policy.rst:644 +#: ../../library/email.policy.rst:661 msgid "" "An instance of :class:`Compat32`, providing backward compatibility with the " "behavior of the email package in Python 3.2." msgstr "" -#: ../../library/email.policy.rst:649 +#: ../../library/email.policy.rst:666 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/email.policy.rst:650 +#: ../../library/email.policy.rst:667 msgid "" "Originally added in 3.3 as a :term:`provisional feature `." diff --git a/library/email.utils.po b/library/email.utils.po index 1ffb5f451..de8e4044e 100644 --- a/library/email.utils.po +++ b/library/email.utils.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Sheila Gomes , 2021 -# Italo Penaforte , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -43,15 +41,15 @@ msgstr "" #: ../../library/email.utils.rst:16 msgid "" "Return local time as an aware datetime object. If called without arguments, " -"return current time. Otherwise *dt* argument should be a :class:`~datetime." -"datetime` instance, and it is converted to the local time zone according to " -"the system time zone database. If *dt* is naive (that is, ``dt.tzinfo`` is " -"``None``), it is assumed to be in local time. In this case, a positive or " -"zero value for *isdst* causes ``localtime`` to presume initially that summer " -"time (for example, Daylight Saving Time) is or is not (respectively) in " -"effect for the specified time. A negative value for *isdst* causes the " -"``localtime`` to attempt to divine whether summer time is in effect for the " -"specified time." +"return current time. Otherwise *dt* argument should be " +"a :class:`~datetime.datetime` instance, and it is converted to the local " +"time zone according to the system time zone database. If *dt* is naive " +"(that is, ``dt.tzinfo`` is ``None``), it is assumed to be in local time. In " +"this case, a positive or zero value for *isdst* causes ``localtime`` to " +"presume initially that summer time (for example, Daylight Saving Time) is or " +"is not (respectively) in effect for the specified time. A negative value " +"for *isdst* causes the ``localtime`` to attempt to divine whether summer " +"time is in effect for the specified time." msgstr "" "Retorna a hora local como um objeto datetime com reconhecimento. Se chamado " "sem argumentos, retorne a hora atual. Caso contrário, o argumento *dt* deve " @@ -66,13 +64,13 @@ msgstr "" #: ../../library/email.utils.rst:32 msgid "" -"Returns a string suitable for an :rfc:`2822`\\ -compliant :mailheader:" -"`Message-ID` header. Optional *idstring* if given, is a string used to " -"strengthen the uniqueness of the message id. Optional *domain* if given " -"provides the portion of the msgid after the '@'. The default is the local " -"hostname. It is not normally necessary to override this default, but may be " -"useful certain cases, such as a constructing distributed system that uses a " -"consistent domain name across multiple hosts." +"Returns a string suitable for an :rfc:`2822`\\ " +"-compliant :mailheader:`Message-ID` header. Optional *idstring* if given, " +"is a string used to strengthen the uniqueness of the message id. Optional " +"*domain* if given provides the portion of the msgid after the '@'. The " +"default is the local hostname. It is not normally necessary to override " +"this default, but may be useful certain cases, such as a constructing " +"distributed system that uses a consistent domain name across multiple hosts." msgstr "" "Retorna uma string adequada para um cabeçalho :mailheader:`Message-ID` " "compatível com :rfc:`2822`. O *idstring* opcional, se fornecido, é uma " @@ -128,67 +126,84 @@ msgstr "" "*realname* e *email address*. Retorna uma tupla daquela informação, a menos " "que a análise falhe, caso em que uma tupla de 2 de ``('', '')`` é retornada." -#: ../../library/email.utils.rst:73 +#: ../../library/email.utils.rst:70 ../../library/email.utils.rst:98 +msgid "" +"If *strict* is true, use a strict parser which rejects malformed inputs." +msgstr "" +"Se *strict* for verdadeiro, usa um analisador sintático estrito que rejeite " +"entradas malformadas." + +#: ../../library/email.utils.rst:72 ../../library/email.utils.rst:110 +msgid "Add *strict* optional parameter and reject malformed inputs by default." +msgstr "" +"Adiciona o parâmetro opcional *strict* e rejeita entradas malformadas por " +"padrão." + +#: ../../library/email.utils.rst:78 msgid "" "The inverse of :meth:`parseaddr`, this takes a 2-tuple of the form " -"``(realname, email_address)`` and returns the string value suitable for a :" -"mailheader:`To` or :mailheader:`Cc` header. If the first element of *pair* " -"is false, then the second element is returned unmodified." +"``(realname, email_address)`` and returns the string value suitable for " +"a :mailheader:`To` or :mailheader:`Cc` header. If the first element of " +"*pair* is false, then the second element is returned unmodified." msgstr "" "O inverso de :meth:`parseaddr`, isto leva uma tupla de 2 do forma " "``(realname, email_address)`` e retorna o valor de string adequado para um " "cabeçalho :mailheader:`To` ou :mailheader:`Cc` . Se o primeiro elemento de " "*pair* for falso, o segundo elemento será retornado sem modificações." -#: ../../library/email.utils.rst:78 +#: ../../library/email.utils.rst:83 msgid "" "Optional *charset* is the character set that will be used in the :rfc:`2047` " "encoding of the ``realname`` if the ``realname`` contains non-ASCII " -"characters. Can be an instance of :class:`str` or a :class:`~email.charset." -"Charset`. Defaults to ``utf-8``." +"characters. Can be an instance of :class:`str` or " +"a :class:`~email.charset.Charset`. Defaults to ``utf-8``." msgstr "" "O *charset* opcional é o conjunto de caracteres que será usado na " "codificação :rfc:`2047` do ``realname`` se o ``realname`` contiver " -"caracteres não-ASCII. Pode ser uma instância de :class:`str` ou a :class:" -"`~email.charset.Charset`. O padrão é ``utf-8``." +"caracteres não-ASCII. Pode ser uma instância de :class:`str` ou " +"a :class:`~email.charset.Charset`. O padrão é ``utf-8``." -#: ../../library/email.utils.rst:83 +#: ../../library/email.utils.rst:88 msgid "Added the *charset* option." msgstr "Adicionada a opção *charset*." -#: ../../library/email.utils.rst:89 +#: ../../library/email.utils.rst:94 msgid "" "This method returns a list of 2-tuples of the form returned by " "``parseaddr()``. *fieldvalues* is a sequence of header field values as might " -"be returned by :meth:`Message.get_all `. " -"Here's a simple example that gets all the recipients of a message::" +"be returned by :meth:`Message.get_all `." msgstr "" "Este método retorna uma lista de tuplas 2 do formulário retornado por " "``parseaddr()``. *fieldvalues* é uma sequência de valores do campo de " -"cabeçalho que pode ser retornada por :meth:`Message.get_all `. Aqui está um exemplo simples que recebe todos os " -"destinatários de uma mensagem::" +"cabeçalho que pode ser retornada por :meth:`Message.get_all " +"`." -#: ../../library/email.utils.rst:105 +#: ../../library/email.utils.rst:100 +msgid "Here's a simple example that gets all the recipients of a message::" +msgstr "" +"Aqui está um exemplo simples que recebe todos os destinatários de uma " +"mensagem::" + +#: ../../library/email.utils.rst:116 msgid "" "Attempts to parse a date according to the rules in :rfc:`2822`. however, " "some mailers don't follow that format as specified, so :func:`parsedate` " -"tries to guess correctly in such cases. *date* is a string containing an :" -"rfc:`2822` date, such as ``\"Mon, 20 Nov 1995 19:12:08 -0500\"``. If it " -"succeeds in parsing the date, :func:`parsedate` returns a 9-tuple that can " -"be passed directly to :func:`time.mktime`; otherwise ``None`` will be " +"tries to guess correctly in such cases. *date* is a string containing " +"an :rfc:`2822` date, such as ``\"Mon, 20 Nov 1995 19:12:08 -0500\"``. If " +"it succeeds in parsing the date, :func:`parsedate` returns a 9-tuple that " +"can be passed directly to :func:`time.mktime`; otherwise ``None`` will be " "returned. Note that indexes 6, 7, and 8 of the result tuple are not usable." msgstr "" "Tenta analisar uma data de acordo com as regras em :rfc:`2822`. no entanto, " -"alguns mailers não seguem esse formato conforme especificado, portanto :func:" -"`parsedate` tenta adivinhar corretamente em tais casos. *date* é uma string " -"contendo uma data :rfc:`2822`, como ``\"Mon, 20 Nov 1995 19:12:08 -0500\"``. " -"Se conseguir analisar a data, :func:`parsedate` retorna uma 9-tupla que pode " -"ser passada diretamente para :func:`time.mktime`; caso contrário, ``None`` " -"será retornado. Observe que os índices 6, 7 e 8 da tupla de resultados não " -"são utilizáveis." +"alguns mailers não seguem esse formato conforme especificado, " +"portanto :func:`parsedate` tenta adivinhar corretamente em tais casos. " +"*date* é uma string contendo uma data :rfc:`2822`, como ``\"Mon, 20 Nov 1995 " +"19:12:08 -0500\"``. Se conseguir analisar a data, :func:`parsedate` retorna " +"uma 9-tupla que pode ser passada diretamente para :func:`time.mktime`; caso " +"contrário, ``None`` será retornado. Observe que os índices 6, 7 e 8 da tupla " +"de resultados não são utilizáveis." -#: ../../library/email.utils.rst:116 +#: ../../library/email.utils.rst:127 msgid "" "Performs the same function as :func:`parsedate`, but returns either ``None`` " "or a 10-tuple; the first 9 elements make up a tuple that can be passed " @@ -206,32 +221,32 @@ msgstr "" "tupla retornado é ``0``, que representa UTC. Observe que os índices 6, 7 e 8 " "da tupla de resultado não podem ser usados." -#: ../../library/email.utils.rst:126 +#: ../../library/email.utils.rst:137 msgid "" -"The inverse of :func:`format_datetime`. Performs the same function as :func:" -"`parsedate`, but on success returns a :mod:`~datetime.datetime`; otherwise " -"``ValueError`` is raised if *date* contains an invalid value such as an hour " -"greater than 23 or a timezone offset not between -24 and 24 hours. If the " -"input date has a timezone of ``-0000``, the ``datetime`` will be a naive " -"``datetime``, and if the date is conforming to the RFCs it will represent a " -"time in UTC but with no indication of the actual source timezone of the " -"message the date comes from. If the input date has any other valid timezone " -"offset, the ``datetime`` will be an aware ``datetime`` with the " +"The inverse of :func:`format_datetime`. Performs the same function " +"as :func:`parsedate`, but on success returns a :mod:`~datetime.datetime`; " +"otherwise ``ValueError`` is raised if *date* contains an invalid value such " +"as an hour greater than 23 or a timezone offset not between -24 and 24 " +"hours. If the input date has a timezone of ``-0000``, the ``datetime`` will " +"be a naive ``datetime``, and if the date is conforming to the RFCs it will " +"represent a time in UTC but with no indication of the actual source timezone " +"of the message the date comes from. If the input date has any other valid " +"timezone offset, the ``datetime`` will be an aware ``datetime`` with the " "corresponding a :class:`~datetime.timezone` :class:`~datetime.tzinfo`." msgstr "" -"O inverso de :func:`format_datetime`. Desempenha a mesma função que :func:" -"`parsedate`, mas em caso de sucesso retorna um :mod:`~datetime.datetime`; " -"caso contrário, ``ValueError`` é levantada se *date* contiver um valor " -"inválido, como uma hora maior que 23 ou uma diferença de fuso horário não " -"entre -24 e 24 horas. Se a data de entrada tem um fuso horário de ``-0000``, " -"o ``datetime`` será um ``datetime`` ingênuo, e se a data estiver em " -"conformidade com os RFCs representará um horário em UTC, mas sem indicação " -"do fuso horário de origem real da mensagem de onde vem a data. Se a data de " -"entrada tiver qualquer outro deslocamento de fuso horário válido, o " -"``datetime`` será um ``datetime`` consciente com o correspondente a :class:" -"`~datetime.timezone` :class:`~datetime.tzinfo`." - -#: ../../library/email.utils.rst:142 +"O inverso de :func:`format_datetime`. Desempenha a mesma função " +"que :func:`parsedate`, mas em caso de sucesso retorna " +"um :mod:`~datetime.datetime`; caso contrário, ``ValueError`` é levantada se " +"*date* contiver um valor inválido, como uma hora maior que 23 ou uma " +"diferença de fuso horário não entre -24 e 24 horas. Se a data de entrada tem " +"um fuso horário de ``-0000``, o ``datetime`` será um ``datetime`` ingênuo, e " +"se a data estiver em conformidade com os RFCs representará um horário em " +"UTC, mas sem indicação do fuso horário de origem real da mensagem de onde " +"vem a data. Se a data de entrada tiver qualquer outro deslocamento de fuso " +"horário válido, o ``datetime`` será um ``datetime`` consciente com o " +"correspondente a :class:`~datetime.timezone` :class:`~datetime.tzinfo`." + +#: ../../library/email.utils.rst:153 msgid "" "Turn a 10-tuple as returned by :func:`parsedate_tz` into a UTC timestamp " "(seconds since the Epoch). If the timezone item in the tuple is ``None``, " @@ -241,21 +256,21 @@ msgstr "" "timestamp UTC (segundos desde a Era Unix). Se o item de fuso horário na " "tupla for ``None``, considera a hora local." -#: ../../library/email.utils.rst:149 +#: ../../library/email.utils.rst:160 msgid "Returns a date string as per :rfc:`2822`, e.g.::" msgstr "Retorna uma string de data conforme :rfc:`2822`. Por exemplo::" -#: ../../library/email.utils.rst:153 +#: ../../library/email.utils.rst:164 msgid "" -"Optional *timeval* if given is a floating point time value as accepted by :" -"func:`time.gmtime` and :func:`time.localtime`, otherwise the current time is " -"used." +"Optional *timeval* if given is a floating point time value as accepted " +"by :func:`time.gmtime` and :func:`time.localtime`, otherwise the current " +"time is used." msgstr "" "O *timeval* opcional, se fornecido, é um valor de tempo de ponto flutuante, " "conforme aceito por :func:`time.gmtime` e :func:`time.localtime`, caso " "contrário, o tempo atual é usado." -#: ../../library/email.utils.rst:157 +#: ../../library/email.utils.rst:168 msgid "" "Optional *localtime* is a flag that when ``True``, interprets *timeval*, and " "returns a date relative to the local timezone instead of UTC, properly " @@ -267,7 +282,7 @@ msgstr "" "levando em consideração o horário de verão. O padrão é ``False``, o que " "significa que o UTC é usado." -#: ../../library/email.utils.rst:162 +#: ../../library/email.utils.rst:173 msgid "" "Optional *usegmt* is a flag that when ``True``, outputs a date string with " "the timezone as an ascii string ``GMT``, rather than a numeric ``-0000``. " @@ -279,7 +294,7 @@ msgstr "" "numérico ``-0000``. Isso é necessário para alguns protocolos (como HTTP). " "Isso se aplica apenas quando *localtime* for ``False``. O padrão é ``False``." -#: ../../library/email.utils.rst:170 +#: ../../library/email.utils.rst:181 msgid "" "Like ``formatdate``, but the input is a :mod:`datetime` instance. If it is " "a naive datetime, it is assumed to be \"UTC with no information about the " @@ -299,11 +314,11 @@ msgstr "" "usada em vez do deslocamento numérico do fuso horário. Isso fornece uma " "maneira de gerar cabeçalhos de data HTTP em conformidade com os padrões." -#: ../../library/email.utils.rst:184 +#: ../../library/email.utils.rst:195 msgid "Decode the string *s* according to :rfc:`2231`." msgstr "Decodifica a string *s* de acordo com :rfc:`2231`." -#: ../../library/email.utils.rst:189 +#: ../../library/email.utils.rst:200 msgid "" "Encode the string *s* according to :rfc:`2231`. Optional *charset* and " "*language*, if given is the character set name and language name to use. If " @@ -317,28 +332,28 @@ msgstr "" "está. Se *charset* for fornecido, mas *language* não, a string será " "codificada usando a string vazia para *language*." -#: ../../library/email.utils.rst:197 +#: ../../library/email.utils.rst:208 msgid "" -"When a header parameter is encoded in :rfc:`2231` format, :meth:`Message." -"get_param ` may return a 3-tuple containing " -"the character set, language, and value. :func:`collapse_rfc2231_value` " -"turns this into a unicode string. Optional *errors* is passed to the " -"*errors* argument of :class:`str`'s :func:`~str.encode` method; it defaults " -"to ``'replace'``. Optional *fallback_charset* specifies the character set " -"to use if the one in the :rfc:`2231` header is not known by Python; it " -"defaults to ``'us-ascii'``." +"When a header parameter is encoded in :rfc:`2231` " +"format, :meth:`Message.get_param ` may " +"return a 3-tuple containing the character set, language, and " +"value. :func:`collapse_rfc2231_value` turns this into a unicode string. " +"Optional *errors* is passed to the *errors* argument " +"of :class:`str`'s :func:`~str.encode` method; it defaults to ``'replace'``. " +"Optional *fallback_charset* specifies the character set to use if the one in " +"the :rfc:`2231` header is not known by Python; it defaults to ``'us-ascii'``." msgstr "" -"Quando um parâmetro de cabeçalho é codificado no formato :rfc:`2231`, :meth:" -"`Message.get_param ` pode retornar uma " -"tupla de 3 contendo o conjunto de caracteres, idioma e valor. :func:" -"`collapse_rfc2231_value` transforma isso em uma string Unicode. *errors* " -"opcionais são passados para o argumento *errors* do método :func:`~str." -"encode` de :class:`str`; o padrão é ``'replace'``. *fallback_charset* " -"opcional especifica o conjunto de caracteres a ser usado se aquele no " -"cabeçalho :rfc:`2231` não for conhecido pelo Python; o padrão é ``'us-" -"ascii'``." - -#: ../../library/email.utils.rst:206 +"Quando um parâmetro de cabeçalho é codificado no " +"formato :rfc:`2231`, :meth:`Message.get_param " +"` pode retornar uma tupla de 3 contendo o " +"conjunto de caracteres, idioma e valor. :func:`collapse_rfc2231_value` " +"transforma isso em uma string Unicode. *errors* opcionais são passados para " +"o argumento *errors* do método :func:`~str.encode` de :class:`str`; o padrão " +"é ``'replace'``. *fallback_charset* opcional especifica o conjunto de " +"caracteres a ser usado se aquele no cabeçalho :rfc:`2231` não for conhecido " +"pelo Python; o padrão é ``'us-ascii'``." + +#: ../../library/email.utils.rst:217 msgid "" "For convenience, if the *value* passed to :func:`collapse_rfc2231_value` is " "not a tuple, it should be a string and it is returned unquoted." @@ -346,7 +361,7 @@ msgstr "" "Por conveniência, se *value* passado para :func:`collapse_rfc2231_value` não " "for uma tupla, deve ser uma string e é retornado sem aspas." -#: ../../library/email.utils.rst:212 +#: ../../library/email.utils.rst:223 msgid "" "Decode parameters list according to :rfc:`2231`. *params* is a sequence of " "2-tuples containing elements of the form ``(content-type, string-value)``." @@ -355,11 +370,11 @@ msgstr "" "sequência de 2 tuplas contendo elementos do formulário ``(content-type, " "string-value)``." -#: ../../library/email.utils.rst:217 +#: ../../library/email.utils.rst:228 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/email.utils.rst:218 +#: ../../library/email.utils.rst:229 msgid "" "Note that the sign of the timezone offset is the opposite of the sign of the " "``time.timezone`` variable for the same timezone; the latter variable " diff --git a/library/ensurepip.po b/library/ensurepip.po index c8854ac01..d4e20cf6f 100644 --- a/library/ensurepip.po +++ b/library/ensurepip.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -138,13 +138,13 @@ msgstr "" #: ../../library/ensurepip.rst:64 msgid "" -"``--root ``: Installs ``pip`` relative to the given root directory " +":samp:`--root {dir}`: Installs ``pip`` relative to the given root directory " "rather than the root of the currently active virtual environment (if any) or " "the default root for the current Python installation." msgstr "" -"``--root ``: Instala ``pip`` em relação ao diretório raiz fornecido, em " -"vez da raiz do ambiente virtual atualmente ativo (se houver) ou a raiz " -"padrão da instalação atual do Python." +":samp:`--root {dir}`: Instala ``pip`` em relação ao diretório raiz " +"fornecido, em vez da raiz do ambiente virtual atualmente ativo (se houver) " +"ou a raiz padrão da instalação atual do Python." #: ../../library/ensurepip.rst:67 msgid "" @@ -267,7 +267,7 @@ msgstr "" "*verbosity* controla o nível de saída para :data:`sys.stdout` da operação de " "inicialização." -#: ../../library/ensurepip.rst:134 +#: ../../library/ensurepip.rst:136 msgid "" "Raises an :ref:`auditing event ` ``ensurepip.bootstrap`` with " "argument ``root``." @@ -277,13 +277,13 @@ msgstr "" #: ../../library/ensurepip.rst:129 msgid "" -"The bootstrapping process has side effects on both ``sys.path`` and ``os." -"environ``. Invoking the command line interface in a subprocess instead " +"The bootstrapping process has side effects on both ``sys.path`` and " +"``os.environ``. Invoking the command line interface in a subprocess instead " "allows these side effects to be avoided." msgstr "" -"O processo de inicialização tem efeitos colaterais em ``sys.path`` e ``os." -"environ``. Invocar a interface da linha de comando em um subprocesso permite " -"que esses efeitos colaterais sejam evitados." +"O processo de inicialização tem efeitos colaterais em ``sys.path`` e " +"``os.environ``. Invocar a interface da linha de comando em um subprocesso " +"permite que esses efeitos colaterais sejam evitados." #: ../../library/ensurepip.rst:135 msgid "" @@ -293,6 +293,6 @@ msgid "" "version of ``pip``)." msgstr "" "O processo de inicialização pode instalar módulos adicionais exigidos pelo " -"``pip``, mas outro software não deve assumir que essas dependências sempre " +"``pip``, mas outro software não deve presumir que essas dependências sempre " "estarão presentes por padrão (como as dependências podem ser removidas em " "uma versão futura do ``pip``)." diff --git a/library/enum.po b/library/enum.po index c06248c95..98f4873e3 100644 --- a/library/enum.po +++ b/library/enum.po @@ -1,30 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Cauê Baasch de Souza , 2021 -# Marco Rougeth , 2021 -# Hildeberto Abreu Magalhães , 2022 -# Raphael Mendonça, 2022 -# Misael borges , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,48 +37,53 @@ msgid "" "This page contains the API reference information. For tutorial information " "and discussion of more advanced topics, see" msgstr "" -"Esta página contêm informação de referência da API. Para informação tutorial " -"e discussão de tópicos mais avançados, consulte" +"Esta página contêm informação de referência da API. Para tutorial e " +"discussão de tópicos mais avançados, consulte" #: ../../library/enum.rst:21 msgid ":ref:`Basic Tutorial `" -msgstr "" +msgstr ":ref:`Tutorial básico `" #: ../../library/enum.rst:22 msgid ":ref:`Advanced Tutorial `" -msgstr "" +msgstr ":ref:`Tutorial avançado `" #: ../../library/enum.rst:23 msgid ":ref:`Enum Cookbook `" -msgstr "" +msgstr ":ref:`Livro de receitas de enum `" #: ../../library/enum.rst:27 msgid "An enumeration:" -msgstr "" +msgstr "Uma enumeração:" #: ../../library/enum.rst:29 msgid "is a set of symbolic names (members) bound to unique values" msgstr "" +"é um conjunto de nomes simbólicos (membros) vinculados a valores únicos" #: ../../library/enum.rst:30 msgid "" "can be iterated over to return its canonical (i.e. non-alias) members in " "definition order" msgstr "" +"pode ser iterado para retornar seus membros canônicos (ou seja, não " +"incluindo apelidos) na ordem de definição" #: ../../library/enum.rst:32 msgid "uses *call* syntax to return members by value" -msgstr "" +msgstr "usa a sintaxe *call* para retornar membros por valor" #: ../../library/enum.rst:33 msgid "uses *index* syntax to return members by name" -msgstr "" +msgstr "usa a sintaxe *index* para retornar membros por nome" #: ../../library/enum.rst:35 msgid "" "Enumerations are created either by using :keyword:`class` syntax, or by " "using function-call syntax::" msgstr "" +"As enumerações são criadas usando a sintaxe de :keyword:`class` ou usando a " +"sintaxe de chamada de função::" #: ../../library/enum.rst:49 msgid "" @@ -90,26 +91,33 @@ msgid "" "not normal Python classes. See :ref:`How are Enums different? ` for more details." msgstr "" +"Embora possamos usar a sintaxe :keyword:`class` para criar Enums, Enums não " +"são classes Python normais. Veja :ref:`Como Enums são diferentes? ` para mais detalhes." #: ../../library/enum.rst:53 msgid "Nomenclature" -msgstr "" +msgstr "Nomenclatura" #: ../../library/enum.rst:55 msgid "The class :class:`!Color` is an *enumeration* (or *enum*)" -msgstr "" +msgstr "A classe :class:`!Color` é uma *enumeração* (ou *enum*)" #: ../../library/enum.rst:56 msgid "" "The attributes :attr:`!Color.RED`, :attr:`!Color.GREEN`, etc., are " "*enumeration members* (or *members*) and are functionally constants." msgstr "" +"Os atributos :attr:`!Color.RED`, :attr:`!Color.GREEN`, etc., são *membros de " +"enumeração* (ou *membros*) e são constantes funcionalmente." #: ../../library/enum.rst:58 msgid "" "The enum members have *names* and *values* (the name of :attr:`!Color.RED` " "is ``RED``, the value of :attr:`!Color.BLUE` is ``3``, etc.)" msgstr "" +"Os membros enum têm *nomes* e *valores* (o nome de :attr:`!Color.RED` é " +"``RED``, o valor de :attr:`!Color.BLUE` é ``3``, etc.)" #: ../../library/enum.rst:65 msgid "Module Contents" @@ -117,74 +125,86 @@ msgstr "Conteúdo do módulo" #: ../../library/enum.rst:67 msgid ":class:`EnumType`" -msgstr "" +msgstr ":class:`EnumType`" #: ../../library/enum.rst:69 msgid "The ``type`` for Enum and its subclasses." -msgstr "" +msgstr "O ``type`` para Enum e suas subclasses." #: ../../library/enum.rst:71 msgid ":class:`Enum`" -msgstr "" +msgstr ":class:`Enum`" #: ../../library/enum.rst:73 msgid "Base class for creating enumerated constants." -msgstr "" +msgstr "Classe base para criação de constantes enumeradas." #: ../../library/enum.rst:75 msgid ":class:`IntEnum`" -msgstr "" +msgstr ":class:`IntEnum`" #: ../../library/enum.rst:77 msgid "" -"Base class for creating enumerated constants that are also subclasses of :" -"class:`int`. (`Notes`_)" +"Base class for creating enumerated constants that are also subclasses " +"of :class:`int`. (`Notes`_)" msgstr "" +"Classe base para criar constantes enumeradas que também são subclasses " +"de :class:`int`. (`Notas`_)" #: ../../library/enum.rst:80 msgid ":class:`StrEnum`" -msgstr "" +msgstr ":class:`StrEnum`" #: ../../library/enum.rst:82 msgid "" -"Base class for creating enumerated constants that are also subclasses of :" -"class:`str`. (`Notes`_)" +"Base class for creating enumerated constants that are also subclasses " +"of :class:`str`. (`Notes`_)" msgstr "" +"Classe base para criar constantes enumeradas que também são subclasses " +"de :class:`str`. (`Notas`_)" #: ../../library/enum.rst:85 msgid ":class:`Flag`" -msgstr "" +msgstr ":class:`Flag`" #: ../../library/enum.rst:87 msgid "" "Base class for creating enumerated constants that can be combined using the " "bitwise operations without losing their :class:`Flag` membership." msgstr "" +"Classe base para criar constantes enumeradas que podem ser combinadas usando " +"operações bit a bit sem perder sua associação :class:`Flag`." #: ../../library/enum.rst:90 msgid ":class:`IntFlag`" -msgstr "" +msgstr ":class:`IntFlag`" #: ../../library/enum.rst:92 msgid "" "Base class for creating enumerated constants that can be combined using the " -"bitwise operators without losing their :class:`IntFlag` membership. :class:" -"`IntFlag` members are also subclasses of :class:`int`. (`Notes`_)" +"bitwise operators without losing their :class:`IntFlag` " +"membership. :class:`IntFlag` members are also subclasses of :class:`int`. " +"(`Notes`_)" msgstr "" +"Classe base para criar constantes enumeradas que podem ser combinadas usando " +"operadores bit a bit sem perder sua associação :class:`IntFlag`. Membros " +"de :class:`IntFlag` também são subclasses de :class:`int`. (`Notas`_)" #: ../../library/enum.rst:96 msgid ":class:`ReprEnum`" -msgstr "" +msgstr ":class:`ReprEnum`" #: ../../library/enum.rst:98 msgid "" "Used by :class:`IntEnum`, :class:`StrEnum`, and :class:`IntFlag` to keep " "the :class:`str() ` of the mixed-in type." msgstr "" +"Usado por :class:`IntEnum`, :class:`StrEnum` e :class:`IntFlag` para manter " +"o :class:`str() ` do tipo misto." #: ../../library/enum.rst:101 msgid ":class:`EnumCheck`" -msgstr "" +msgstr ":class:`EnumCheck`" #: ../../library/enum.rst:103 msgid "" @@ -192,10 +212,13 @@ msgid "" "``UNIQUE``, for use with :func:`verify` to ensure various constraints are " "met by a given enumeration." msgstr "" +"Uma enumeração com os valores ``CONTINUOUS``, ``NAMED_FLAGS`` e ``UNIQUE``, " +"para uso com :func:`verify` para garantir que várias restrições sejam " +"atendidas por uma determinada enumeração." #: ../../library/enum.rst:107 msgid ":class:`FlagBoundary`" -msgstr "" +msgstr ":class:`FlagBoundary`" #: ../../library/enum.rst:109 msgid "" @@ -203,21 +226,27 @@ msgid "" "``KEEP`` which allows for more fine-grained control over how invalid values " "are dealt with in an enumeration." msgstr "" +"Uma enumeração com os valores ``STRICT``, ``CONFORM``, ``EJECT`` e ``KEEP`` " +"que permite um controle mais refinado sobre como valores inválidos são " +"tratados em uma enumeração." #: ../../library/enum.rst:113 msgid ":class:`auto`" -msgstr "" +msgstr ":class:`auto`" #: ../../library/enum.rst:115 msgid "" -"Instances are replaced with an appropriate value for Enum members. :class:" -"`StrEnum` defaults to the lower-cased version of the member name, while " -"other Enums default to 1 and increase from there." +"Instances are replaced with an appropriate value for Enum " +"members. :class:`StrEnum` defaults to the lower-cased version of the member " +"name, while other Enums default to 1 and increase from there." msgstr "" +"As instâncias são substituídas por um valor apropriado para membros " +"Enum. :class:`StrEnum` assume como padrão a versão em minúsculas do nome do " +"membro, enquanto outros Enums assumem como padrão 1 e aumentam a partir daí." #: ../../library/enum.rst:119 msgid ":func:`~enum.property`" -msgstr "" +msgstr ":func:`~enum.property`" #: ../../library/enum.rst:121 msgid "" @@ -227,42 +256,46 @@ msgstr "" #: ../../library/enum.rst:124 msgid ":func:`unique`" -msgstr "" +msgstr ":func:`unique`" #: ../../library/enum.rst:126 msgid "" "Enum class decorator that ensures only one name is bound to any one value." msgstr "" +"Decorador de classe Enum que garante que apenas um nome seja vinculado a " +"cada valor." #: ../../library/enum.rst:128 msgid ":func:`verify`" -msgstr "" +msgstr ":func:`verify`" #: ../../library/enum.rst:130 msgid "" "Enum class decorator that checks user-selectable constraints on an " "enumeration." msgstr "" +"Decorador de classe Enum que verifica restrições selecionáveis pelo usuário " +"em uma enumeração." #: ../../library/enum.rst:133 msgid ":func:`member`" -msgstr "" +msgstr ":func:`member`" #: ../../library/enum.rst:135 msgid "Make ``obj`` a member. Can be used as a decorator." -msgstr "" +msgstr "Torna ``obj`` um membro. Pode ser usado como um decorador." #: ../../library/enum.rst:137 msgid ":func:`nonmember`" -msgstr "" +msgstr ":func:`nonmember`" #: ../../library/enum.rst:139 msgid "Do not make ``obj`` a member. Can be used as a decorator." -msgstr "" +msgstr "Não torna ``obj`` um membro. Pode ser usado como um decorador." #: ../../library/enum.rst:141 msgid ":func:`global_enum`" -msgstr "" +msgstr ":func:`global_enum`" #: ../../library/enum.rst:143 msgid "" @@ -270,24 +303,31 @@ msgid "" "members as belonging to the module instead of its class, and export the enum " "members to the global namespace." msgstr "" +"Modifica :class:`str() ` e :func:`repr` de uma enumeração para mostrar " +"seus membros como pertencentes ao módulo em vez de sua classe, e exporta os " +"membros da enumeração para o espaço de nomes global." #: ../../library/enum.rst:147 msgid ":func:`show_flag_values`" -msgstr "" +msgstr ":func:`show_flag_values`" #: ../../library/enum.rst:149 msgid "Return a list of all power-of-two integers contained in a flag." msgstr "" +"Retorna uma lista de todos os inteiros de potência de dois contidos em um " +"sinalizador." #: ../../library/enum.rst:152 msgid "``Flag``, ``IntFlag``, ``auto``" -msgstr "" +msgstr "``Flag``, ``IntFlag``, ``auto``" #: ../../library/enum.rst:153 msgid "" "``StrEnum``, ``EnumCheck``, ``ReprEnum``, ``FlagBoundary``, ``property``, " "``member``, ``nonmember``, ``global_enum``, ``show_flag_values``" msgstr "" +"``StrEnum``, ``EnumCheck``, ``ReprEnum``, ``FlagBoundary``, ``property``, " +"``member``, ``nonmember``, ``global_enum``, ``show_flag_values``" #: ../../library/enum.rst:158 msgid "Data Types" @@ -299,6 +339,9 @@ msgid "" "to subclass *EnumType* -- see :ref:`Subclassing EnumType ` for details." msgstr "" +"*EnumType* é a :term:`metaclasse` para enumerações *enum*. É possível criar " +"subclasse de *EnumType* -- veja :ref:`Criando subclasses de EnumType " +"` para detalhes." #: ../../library/enum.rst:167 msgid "" @@ -310,37 +353,39 @@ msgstr "" #: ../../library/enum.rst:174 msgid "This method is called in two different ways:" -msgstr "" +msgstr "Este método é chamado de formas diferentes:" #: ../../library/enum.rst:176 msgid "to look up an existing member:" -msgstr "" +msgstr "para procurar um membro existente:" #: ../../library/enum.rst:0 msgid "cls" -msgstr "" +msgstr "cls" #: ../../library/enum.rst:178 ../../library/enum.rst:184 msgid "The enum class being called." -msgstr "" +msgstr "A classe enum sendo chamada." #: ../../library/enum.rst:0 msgid "value" -msgstr "value" +msgstr "valor" #: ../../library/enum.rst:179 msgid "The value to lookup." -msgstr "" +msgstr "O valor para procurar." #: ../../library/enum.rst:181 msgid "" "to use the ``cls`` enum to create a new enum (only if the existing enum does " "not have any members):" msgstr "" +"para usar a enumeração ``cls`` para criar uma nova enumeração (somente se a " +"enumeração existente não tiver nenhum membro):" #: ../../library/enum.rst:185 msgid "The name of the new Enum to create." -msgstr "" +msgstr "O nome do novo Enum para criar." #: ../../library/enum.rst:0 msgid "names" @@ -348,7 +393,7 @@ msgstr "nomes" #: ../../library/enum.rst:186 msgid "The names/values of the members for the new Enum." -msgstr "" +msgstr "Os nomes/valores dos membros para o novo Enum." #: ../../library/enum.rst:0 msgid "module" @@ -356,15 +401,15 @@ msgstr "módulo" #: ../../library/enum.rst:187 msgid "The name of the module the new Enum is created in." -msgstr "" +msgstr "O nome do módulo no qual o novo Enum é criado." #: ../../library/enum.rst:0 msgid "qualname" -msgstr "" +msgstr "qualname" #: ../../library/enum.rst:188 msgid "The actual location in the module where this Enum can be found." -msgstr "" +msgstr "O local real no módulo onde este Enum pode ser encontrado." #: ../../library/enum.rst:0 msgid "type" @@ -372,28 +417,30 @@ msgstr "tipo" #: ../../library/enum.rst:189 msgid "A mix-in type for the new Enum." -msgstr "" +msgstr "Um tipo de mix-in para o novo Enum." #: ../../library/enum.rst:0 msgid "start" -msgstr "" +msgstr "start" #: ../../library/enum.rst:190 msgid "The first integer value for the Enum (used by :class:`auto`)." -msgstr "" +msgstr "O primeiro valor inteiro para o Enum (usado por :class:`auto`)." #: ../../library/enum.rst:0 msgid "boundary" -msgstr "" +msgstr "boundary" #: ../../library/enum.rst:191 msgid "" "How to handle out-of-range values from bit operations (:class:`Flag` only)." msgstr "" +"Como lidar com valores fora do intervalo de operações de bits " +"(somente :class:`Flag`)." #: ../../library/enum.rst:195 msgid "Returns ``True`` if member belongs to the ``cls``::" -msgstr "" +msgstr "Retorna ``True`` se o membro pertencer a ``cls``::" #: ../../library/enum.rst:203 msgid "" @@ -407,144 +454,198 @@ msgid "" "Returns ``['__class__', '__doc__', '__members__', '__module__']`` and the " "names of the members in *cls*::" msgstr "" +"Retorna ``['__class__', '__doc__', '__members__', '__module__']`` e os nomes " +"dos membros em *cls*::" #: ../../library/enum.rst:217 msgid "" -"Returns the Enum member in *cls* matching *name*, or raises an :exc:" -"`AttributeError`::" +"Returns the Enum member in *cls* matching *name*, or raises " +"an :exc:`AttributeError`::" msgstr "" #: ../../library/enum.rst:224 msgid "" -"Returns the Enum member in *cls* matching *name*, or raises a :exc:" -"`KeyError`::" +"Returns the Enum member in *cls* matching *name*, or raises " +"a :exc:`KeyError`::" msgstr "" +"Retorna o membro Enum em *cls* correspondente a *name* ou " +"levanta :exc:`KeyError`::" #: ../../library/enum.rst:231 msgid "Returns each member in *cls* in definition order::" -msgstr "" +msgstr "Retorna cada membro em *cls* na ordem de definição::" #: ../../library/enum.rst:238 msgid "Returns the number of member in *cls*::" -msgstr "" +msgstr "Retorna o número de membros em *cls*::" #: ../../library/enum.rst:245 msgid "Returns each member in *cls* in reverse definition order::" -msgstr "" +msgstr "Retorna cada membro em *cls* na ordem inversa de definição::" -#: ../../library/enum.rst:253 -msgid "*Enum* is the base class for all *enum* enumerations." +#: ../../library/enum.rst:252 +msgid "Before 3.11 ``enum`` used ``EnumMeta`` type, which is kept as an alias." msgstr "" #: ../../library/enum.rst:257 +msgid "*Enum* is the base class for all *enum* enumerations." +msgstr "*Enum* é a classe base para todas as enumerações *enum*." + +#: ../../library/enum.rst:261 msgid "The name used to define the ``Enum`` member::" -msgstr "" +msgstr "O nome usado para definir o membro ``Enum``::" -#: ../../library/enum.rst:264 +#: ../../library/enum.rst:268 msgid "The value given to the ``Enum`` member::" +msgstr "O valor dado ao membro ``Enum``::" + +#: ../../library/enum.rst:273 ../../library/enum.rst:293 +msgid "Value of the member, can be set in :meth:`~object.__new__`." msgstr "" -#: ../../library/enum.rst:269 +#: ../../library/enum.rst:275 msgid "Enum member values" -msgstr "" +msgstr "Valores de membros de Enum" -#: ../../library/enum.rst:271 +#: ../../library/enum.rst:277 msgid "" "Member values can be anything: :class:`int`, :class:`str`, etc. If the " "exact value is unimportant you may use :class:`auto` instances and an " "appropriate value will be chosen for you. See :class:`auto` for the details." msgstr "" +"Os valores dos membros podem ser qualquer coisa: :class:`int`, :class:`str`, " +"etc. Se o valor exato não for importante, você pode usar instâncias " +"de :class:`auto` e um valor apropriado será escolhido para você. " +"Consulte :class:`auto` para obter detalhes." + +#: ../../library/enum.rst:282 +msgid "" +"While mutable/unhashable values, such as :class:`dict`, :class:`list` or a " +"mutable :class:`~dataclasses.dataclass`, can be used, they will have a " +"quadratic performance impact during creation relative to the total number of " +"mutable/unhashable values in the enum." +msgstr "" +"Embora valores mutáveis/não hasheáveis, como :class:`dict`, :class:`list` ou " +"um mutável :class:`~dataclasses.dataclass`, possam ser usados, eles terão um " +"impacto quadrático no desempenho durante a criação em relação ao número " +"total de valores mutáveis/não hasheáveis na enumeração." + +#: ../../library/enum.rst:289 +msgid "Name of the member." +msgstr "Nome do membro." + +#: ../../library/enum.rst:297 +msgid "" +"No longer used, kept for backward compatibility. (class attribute, removed " +"during class creation)." +msgstr "" +"Não é mais usado, mantido para compatibilidade com versões anteriores. " +"(atributo de classe, removido durante a criação da classe)." -#: ../../library/enum.rst:278 +#: ../../library/enum.rst:302 msgid "" "``_ignore_`` is only used during creation and is removed from the " "enumeration once creation is complete." msgstr "" +"``_ignore_`` é usado somente durante a criação e é removido da enumeração " +"quando a criação é concluída." -#: ../../library/enum.rst:281 +#: ../../library/enum.rst:305 msgid "" "``_ignore_`` is a list of names that will not become members, and whose " -"names will also be removed from the completed enumeration. See :ref:" -"`TimePeriod ` for an example." +"names will also be removed from the completed enumeration. " +"See :ref:`TimePeriod ` for an example." msgstr "" +"``_ignore_`` é uma lista de nomes que não se tornarão membros e cujos nomes " +"também serão removidos da enumeração concluída. Veja :ref:`TimePeriod ` para um exemplo." -#: ../../library/enum.rst:287 +#: ../../library/enum.rst:311 msgid "" "Returns ``['__class__', '__doc__', '__module__', 'name', 'value']`` and any " "public methods defined on *self.__class__*::" msgstr "" +"Retorna ``['__class__', '__doc__', '__module__', 'name', 'value']`` e " +"quaisquer métodos públicos definidos em *self.__class__*::" #: ../../library/enum.rst:0 msgid "name" msgstr "nome" -#: ../../library/enum.rst:307 +#: ../../library/enum.rst:331 msgid "The name of the member being defined (e.g. 'RED')." -msgstr "" +msgstr "O nome do membro que está sendo definido (por exemplo, 'RED')." -#: ../../library/enum.rst:308 +#: ../../library/enum.rst:332 msgid "The start value for the Enum; the default is 1." -msgstr "" +msgstr "O valor inicial do Enum; o padrão é 1." #: ../../library/enum.rst:0 msgid "count" msgstr "" -#: ../../library/enum.rst:309 +#: ../../library/enum.rst:333 msgid "The number of members currently defined, not including this one." -msgstr "" +msgstr "O número de membros atualmente definido, sem incluir este." #: ../../library/enum.rst:0 msgid "last_values" msgstr "" -#: ../../library/enum.rst:310 +#: ../../library/enum.rst:334 msgid "A list of the previous values." -msgstr "" +msgstr "Uma lista de valores anteriores." -#: ../../library/enum.rst:312 +#: ../../library/enum.rst:336 msgid "" -"A *staticmethod* that is used to determine the next value returned by :class:" -"`auto`::" +"A *staticmethod* that is used to determine the next value returned " +"by :class:`auto`::" msgstr "" +"Um *staticmethod* que é usado para determinar o próximo valor retornado " +"por :class:`auto`::" -#: ../../library/enum.rst:327 +#: ../../library/enum.rst:351 msgid "" "A *classmethod* that is used to further configure subsequent subclasses. By " "default, does nothing." msgstr "" +"Um *classmethod* usado para configurar subclasses subsequentes. Por padrão, " +"não faz nada." -#: ../../library/enum.rst:332 +#: ../../library/enum.rst:356 msgid "" "A *classmethod* for looking up values not found in *cls*. By default it " "does nothing, but can be overridden to implement custom search behavior::" msgstr "" +"Um *classmethod* para procurar valores não encontrados em *cls*. Por padrão, " +"ele não faz nada, mas pode ser substituído para implementar um comportamento " +"de pesquisa personalizado::" -#: ../../library/enum.rst:353 +#: ../../library/enum.rst:377 msgid "" "Returns the string used for *repr()* calls. By default, returns the *Enum* " "name, member name, and value, but can be overridden::" msgstr "" -#: ../../library/enum.rst:368 +#: ../../library/enum.rst:392 msgid "" "Returns the string used for *str()* calls. By default, returns the *Enum* " "name and member name, but can be overridden::" msgstr "" -#: ../../library/enum.rst:382 +#: ../../library/enum.rst:406 msgid "" "Returns the string used for *format()* and *f-string* calls. By default, " "returns :meth:`__str__` return value, but can be overridden::" msgstr "" -#: ../../library/enum.rst:396 +#: ../../library/enum.rst:420 msgid "" "Using :class:`auto` with :class:`Enum` results in integers of increasing " "value, starting with ``1``." msgstr "" -#: ../../library/enum.rst:402 +#: ../../library/enum.rst:426 msgid "" "*IntEnum* is the same as *Enum*, but its members are also integers and can " "be used anywhere that an integer can be used. If any integer operation is " @@ -552,20 +653,20 @@ msgid "" "enumeration status." msgstr "" -#: ../../library/enum.rst:422 +#: ../../library/enum.rst:447 msgid "" "Using :class:`auto` with :class:`IntEnum` results in integers of increasing " "value, starting with ``1``." msgstr "" -#: ../../library/enum.rst:425 +#: ../../library/enum.rst:450 msgid "" ":meth:`~object.__str__` is now :meth:`!int.__str__` to better support the " "*replacement of existing constants* use-case. :meth:`~object.__format__` was " "already :meth:`!int.__format__` for that same reason." msgstr "" -#: ../../library/enum.rst:432 +#: ../../library/enum.rst:457 msgid "" "*StrEnum* is the same as *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 " @@ -573,7 +674,7 @@ msgid "" "the enumeration." msgstr "" -#: ../../library/enum.rst:438 +#: ../../library/enum.rst:463 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 " @@ -581,285 +682,284 @@ msgid "" "``str(StrEnum.member)``." msgstr "" -#: ../../library/enum.rst:445 +#: ../../library/enum.rst:470 msgid "" "Using :class:`auto` with :class:`StrEnum` results in the lower-cased member " "name as the value." msgstr "" -#: ../../library/enum.rst:450 +#: ../../library/enum.rst:475 msgid "" ":meth:`~object.__str__` is :meth:`!str.__str__` to better support the " "*replacement of existing constants* use-case. :meth:`~object.__format__` is " "likewise :meth:`!str.__format__` for that same reason." msgstr "" -#: ../../library/enum.rst:458 +#: ../../library/enum.rst:483 msgid "" "*Flag* members support the bitwise operators ``&`` (*AND*), ``|`` (*OR*), " "``^`` (*XOR*), and ``~`` (*INVERT*); the results of those operators are " "members of the enumeration." msgstr "" -#: ../../library/enum.rst:464 +#: ../../library/enum.rst:489 msgid "Returns *True* if value is in self::" msgstr "" -#: ../../library/enum.rst:484 +#: ../../library/enum.rst:509 msgid "Returns all contained non-alias members::" msgstr "" -#: ../../library/enum.rst:493 -msgid "Aliases are no longer returned during iteration." -msgstr "" - -#: ../../library/enum.rst:497 +#: ../../library/enum.rst:520 msgid "Returns number of members in flag::" msgstr "" -#: ../../library/enum.rst:506 +#: ../../library/enum.rst:529 msgid "Returns *True* if any members in flag, *False* otherwise::" msgstr "" -#: ../../library/enum.rst:518 +#: ../../library/enum.rst:541 msgid "Returns current flag binary or'ed with other::" msgstr "" -#: ../../library/enum.rst:525 +#: ../../library/enum.rst:548 msgid "Returns current flag binary and'ed with other::" msgstr "" -#: ../../library/enum.rst:534 +#: ../../library/enum.rst:557 msgid "Returns current flag binary xor'ed with other::" msgstr "" -#: ../../library/enum.rst:543 +#: ../../library/enum.rst:566 msgid "Returns all the flags in *type(self)* that are not in self::" msgstr "" -#: ../../library/enum.rst:554 +#: ../../library/enum.rst:577 msgid "" "Function used to format any remaining unnamed numeric values. Default is " "the value's repr; common choices are :func:`hex` and :func:`oct`." msgstr "" -#: ../../library/enum.rst:559 +#: ../../library/enum.rst:582 msgid "" "Using :class:`auto` with :class:`Flag` results in integers that are powers " "of two, starting with ``1``." msgstr "" -#: ../../library/enum.rst:562 +#: ../../library/enum.rst:585 msgid "The *repr()* of zero-valued flags has changed. It is now::" msgstr "" -#: ../../library/enum.rst:570 +#: ../../library/enum.rst:593 msgid "" "*IntFlag* is the same as *Flag*, but its members are also integers and can " "be used anywhere that an integer can be used." msgstr "" -#: ../../library/enum.rst:583 +#: ../../library/enum.rst:606 msgid "" "If any integer operation is performed with an *IntFlag* member, the result " "is not an *IntFlag*::" msgstr "" -#: ../../library/enum.rst:589 +#: ../../library/enum.rst:612 msgid "If a *Flag* operation is performed with an *IntFlag* member and:" msgstr "" -#: ../../library/enum.rst:591 +#: ../../library/enum.rst:614 msgid "the result is a valid *IntFlag*: an *IntFlag* is returned" msgstr "" -#: ../../library/enum.rst:592 +#: ../../library/enum.rst:615 msgid "" "the result is not a valid *IntFlag*: the result depends on the " "*FlagBoundary* setting" msgstr "" -#: ../../library/enum.rst:594 +#: ../../library/enum.rst:617 msgid "The *repr()* of unnamed zero-valued flags has changed. It is now:" msgstr "" -#: ../../library/enum.rst:601 +#: ../../library/enum.rst:624 msgid "" "Using :class:`auto` with :class:`IntFlag` results in integers that are " "powers of two, starting with ``1``." msgstr "" -#: ../../library/enum.rst:606 +#: ../../library/enum.rst:629 msgid "" ":meth:`~object.__str__` is now :meth:`!int.__str__` to better support the " "*replacement of existing constants* use-case. :meth:`~object.__format__` " "was already :meth:`!int.__format__` for that same reason." msgstr "" -#: ../../library/enum.rst:610 +#: ../../library/enum.rst:633 msgid "" "Inversion of an :class:`!IntFlag` now returns a positive value that is the " "union of all flags not in the given flag, rather than a negative value. This " "matches the existing :class:`Flag` behavior." msgstr "" -#: ../../library/enum.rst:616 +#: ../../library/enum.rst:639 msgid "" ":class:`!ReprEnum` uses the :meth:`repr() ` of :class:`Enum`, " "but the :class:`str() ` of the mixed-in data type:" msgstr "" -#: ../../library/enum.rst:619 +#: ../../library/enum.rst:642 msgid ":meth:`!int.__str__` for :class:`IntEnum` and :class:`IntFlag`" msgstr "" -#: ../../library/enum.rst:620 +#: ../../library/enum.rst:643 msgid ":meth:`!str.__str__` for :class:`StrEnum`" msgstr "" -#: ../../library/enum.rst:622 +#: ../../library/enum.rst:645 msgid "" -"Inherit from :class:`!ReprEnum` to keep the :class:`str() ` / :func:" -"`format` of the mixed-in data type instead of using the :class:`Enum`-" -"default :meth:`str() `." +"Inherit from :class:`!ReprEnum` to keep the :class:`str() " +"` / :func:`format` of the mixed-in data type instead of using " +"the :class:`Enum`-default :meth:`str() `." msgstr "" -#: ../../library/enum.rst:631 +#: ../../library/enum.rst:654 msgid "" "*EnumCheck* contains the options used by the :func:`verify` decorator to " "ensure various constraints; failed constraints result in a :exc:`ValueError`." msgstr "" -#: ../../library/enum.rst:636 +#: ../../library/enum.rst:659 msgid "Ensure that each value has only one name::" msgstr "" -#: ../../library/enum.rst:652 +#: ../../library/enum.rst:675 msgid "" "Ensure that there are no missing values between the lowest-valued member and " "the highest-valued member::" msgstr "" -#: ../../library/enum.rst:667 +#: ../../library/enum.rst:690 msgid "" "Ensure that any flag groups/masks contain only named flags -- useful when " "values are specified instead of being generated by :func:`auto`::" msgstr "" -#: ../../library/enum.rst:684 +#: ../../library/enum.rst:707 msgid "" "CONTINUOUS and NAMED_FLAGS are designed to work with integer-valued members." msgstr "" -#: ../../library/enum.rst:690 +#: ../../library/enum.rst:713 msgid "" "*FlagBoundary* controls how out-of-range values are handled in *Flag* and " "its subclasses." msgstr "" -#: ../../library/enum.rst:695 +#: ../../library/enum.rst:718 msgid "" "Out-of-range values cause a :exc:`ValueError` to be raised. This is the " "default for :class:`Flag`::" msgstr "" -#: ../../library/enum.rst:712 +#: ../../library/enum.rst:735 msgid "" "Out-of-range values have invalid values removed, leaving a valid *Flag* " "value::" msgstr "" -#: ../../library/enum.rst:725 +#: ../../library/enum.rst:748 msgid "" "Out-of-range values lose their *Flag* membership and revert to :class:`int`." msgstr "" -#: ../../library/enum.rst:737 +#: ../../library/enum.rst:760 msgid "" "Out-of-range values are kept, and the *Flag* membership is kept. This is the " "default for :class:`IntFlag`::" msgstr "" -#: ../../library/enum.rst:753 +#: ../../library/enum.rst:776 msgid "Supported ``__dunder__`` names" -msgstr "" +msgstr "Nomes ``__dunder__`` suportados" -#: ../../library/enum.rst:755 +#: ../../library/enum.rst:778 msgid "" ":attr:`~EnumType.__members__` is a read-only ordered mapping of " "``member_name``:``member`` items. It is only available on the class." msgstr "" -#: ../../library/enum.rst:758 +#: ../../library/enum.rst:781 msgid "" ":meth:`~object.__new__`, if specified, must create and return the enum " "members; it is also a very good idea to set the member's :attr:`!_value_` " "appropriately. Once all the members are created it is no longer used." msgstr "" -#: ../../library/enum.rst:764 +#: ../../library/enum.rst:787 msgid "Supported ``_sunder_`` names" -msgstr "" +msgstr "Nomes ``_sunder_`` suportados" -#: ../../library/enum.rst:766 -msgid "``_name_`` -- name of the member" +#: ../../library/enum.rst:789 +msgid ":attr:`~Enum._name_` -- name of the member" msgstr "" -#: ../../library/enum.rst:767 -msgid "" -"``_value_`` -- value of the member; can be set / modified in ``__new__``" +#: ../../library/enum.rst:790 +msgid ":attr:`~Enum._value_` -- value of the member; can be set in ``__new__``" msgstr "" -#: ../../library/enum.rst:769 +#: ../../library/enum.rst:791 msgid "" -"``_missing_`` -- a lookup function used when a value is not found; may be " -"overridden" +":meth:`~Enum._missing_` -- a lookup function used when a value is not found; " +"may be overridden" msgstr "" -#: ../../library/enum.rst:771 +#: ../../library/enum.rst:793 msgid "" -"``_ignore_`` -- a list of names, either as a :class:`list` or a :class:" -"`str`, that will not be transformed into members, and will be removed from " -"the final class" +":attr:`~Enum._ignore_` -- a list of names, either as a :class:`list` or " +"a :class:`str`, that will not be transformed into members, and will be " +"removed from the final class" msgstr "" -#: ../../library/enum.rst:774 +#: ../../library/enum.rst:796 msgid "" -"``_order_`` -- used in Python 2/3 code to ensure member order is consistent " +":attr:`~Enum._order_` -- no longer used, kept for backward compatibility " "(class attribute, removed during class creation)" msgstr "" -#: ../../library/enum.rst:776 +#: ../../library/enum.rst:798 msgid "" -"``_generate_next_value_`` -- used to get an appropriate value for an enum " -"member; may be overridden" +":meth:`~Enum._generate_next_value_` -- used to get an appropriate value for " +"an enum member; may be overridden" msgstr "" -#: ../../library/enum.rst:781 +#: ../../library/enum.rst:803 msgid "" "For standard :class:`Enum` classes the next value chosen is the last value " "seen incremented by one." msgstr "" +"Para classes :class:`Enum` padrão, o próximo valor escolhido é o último " +"valor visto incrementado em um." -#: ../../library/enum.rst:784 +#: ../../library/enum.rst:806 msgid "" "For :class:`Flag` classes the next value chosen will be the next highest " "power-of-two, regardless of the last value seen." msgstr "" +"Para as classes :class:`Flag` o próximo valor escolhido será a próxima " +"potência de dois mais alta, independentemente do último valor visto." -#: ../../library/enum.rst:787 +#: ../../library/enum.rst:809 msgid "``_missing_``, ``_order_``, ``_generate_next_value_``" msgstr "``_missing_``, ``_order_``, ``_generate_next_value_``" -#: ../../library/enum.rst:788 +#: ../../library/enum.rst:810 msgid "``_ignore_``" msgstr "``_ignore_``" -#: ../../library/enum.rst:793 +#: ../../library/enum.rst:815 msgid "Utilities and Decorators" msgstr "" -#: ../../library/enum.rst:797 +#: ../../library/enum.rst:819 msgid "" "*auto* can be used in place of a value. If used, the *Enum* machinery will " "call an *Enum*'s :meth:`~Enum._generate_next_value_` to get an appropriate " @@ -870,58 +970,54 @@ msgid "" "manually specified values." msgstr "" -#: ../../library/enum.rst:805 +#: ../../library/enum.rst:827 msgid "" "*auto* instances are only resolved when at the top level of an assignment:" msgstr "" -#: ../../library/enum.rst:807 +#: ../../library/enum.rst:829 msgid "``FIRST = auto()`` will work (auto() is replaced with ``1``);" msgstr "" -#: ../../library/enum.rst:808 +#: ../../library/enum.rst:830 msgid "" "``SECOND = auto(), -2`` will work (auto is replaced with ``2``, so ``2, -2`` " -"is" +"is used to create the ``SECOND`` enum member;" msgstr "" -#: ../../library/enum.rst:809 -msgid "used to create the ``SECOND`` enum member;" -msgstr "" - -#: ../../library/enum.rst:810 +#: ../../library/enum.rst:832 msgid "" "``THREE = [auto(), -3]`` will *not* work (``, -3`` is used to " "create the ``THREE`` enum member)" msgstr "" -#: ../../library/enum.rst:815 +#: ../../library/enum.rst:837 msgid "" "In prior versions, ``auto()`` had to be the only thing on the assignment " "line to work properly." msgstr "" -#: ../../library/enum.rst:818 +#: ../../library/enum.rst:840 msgid "" "``_generate_next_value_`` can be overridden to customize the values used by " "*auto*." msgstr "" -#: ../../library/enum.rst:821 +#: ../../library/enum.rst:843 msgid "" "in 3.13 the default ``_generate_next_value_`` will always return the highest " "member value incremented by 1, and will fail if any member is an " "incompatible type." msgstr "" -#: ../../library/enum.rst:827 +#: ../../library/enum.rst:849 msgid "" "A decorator similar to the built-in *property*, but specifically for " "enumerations. It allows member attributes to have the same names as members " "themselves." msgstr "" -#: ../../library/enum.rst:831 +#: ../../library/enum.rst:853 msgid "" "the *property* and the member must be defined in separate classes; for " "example, the *value* and *name* attributes are defined in the *Enum* class, " @@ -929,29 +1025,29 @@ msgid "" "``name``." msgstr "" -#: ../../library/enum.rst:840 +#: ../../library/enum.rst:862 msgid "" "A :keyword:`class` decorator specifically for enumerations. It searches an " "enumeration's :attr:`~EnumType.__members__`, gathering any aliases it finds; " "if any are found :exc:`ValueError` is raised with the details::" msgstr "" -#: ../../library/enum.rst:858 +#: ../../library/enum.rst:880 msgid "" -"A :keyword:`class` decorator specifically for enumerations. Members from :" -"class:`EnumCheck` are used to specify which constraints should be checked on " -"the decorated enumeration." +"A :keyword:`class` decorator specifically for enumerations. Members " +"from :class:`EnumCheck` are used to specify which constraints should be " +"checked on the decorated enumeration." msgstr "" -#: ../../library/enum.rst:866 +#: ../../library/enum.rst:888 msgid "A decorator for use in enums: its target will become a member." msgstr "" -#: ../../library/enum.rst:872 +#: ../../library/enum.rst:894 msgid "A decorator for use in enums: its target will not become a member." msgstr "" -#: ../../library/enum.rst:878 +#: ../../library/enum.rst:900 msgid "" "A decorator to change the :class:`str() ` and :func:`repr` of an enum " "to show its members as belonging to the module instead of its class. Should " @@ -959,40 +1055,40 @@ msgid "" "namespace (see :class:`re.RegexFlag` for an example)." msgstr "" -#: ../../library/enum.rst:888 +#: ../../library/enum.rst:910 msgid "Return a list of all power-of-two integers contained in a flag *value*." msgstr "" -#: ../../library/enum.rst:895 +#: ../../library/enum.rst:917 msgid "Notes" msgstr "Notas" -#: ../../library/enum.rst:897 +#: ../../library/enum.rst:919 msgid ":class:`IntEnum`, :class:`StrEnum`, and :class:`IntFlag`" msgstr "" -#: ../../library/enum.rst:899 +#: ../../library/enum.rst:921 msgid "" "These three enum types are designed to be drop-in replacements for existing " "integer- and string-based values; as such, they have extra limitations:" msgstr "" -#: ../../library/enum.rst:902 +#: ../../library/enum.rst:924 msgid "``__str__`` uses the value and not the name of the enum member" msgstr "" -#: ../../library/enum.rst:904 +#: ../../library/enum.rst:926 msgid "" "``__format__``, because it uses ``__str__``, will also use the value of the " "enum member instead of its name" msgstr "" -#: ../../library/enum.rst:907 +#: ../../library/enum.rst:929 msgid "" "If you do not need/want those limitations, you can either create your own " "base class by mixing in the ``int`` or ``str`` type yourself::" msgstr "" -#: ../../library/enum.rst:914 +#: ../../library/enum.rst:936 msgid "or you can reassign the appropriate :meth:`str`, etc., in your enum::" msgstr "" diff --git a/library/errno.po b/library/errno.po index f1e593d56..8842ebd19 100644 --- a/library/errno.po +++ b/library/errno.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -36,6 +34,9 @@ msgid "" "are borrowed from :file:`linux/include/errno.h`, which should be all-" "inclusive." msgstr "" +"Este módulo disponibiliza símbolos de sistema padrão ``errno``. O valor de " +"cada símbolo é o valor inteiro correspondente. Os nomes e descrições são " +"emprestados de :file:`linux/include/errno.h`, que deve ser tudo inclusivo." #: ../../library/errno.rst:17 msgid "" @@ -43,12 +44,17 @@ msgid "" "the underlying system. For instance, ``errno.errorcode[errno.EPERM]`` maps " "to ``'EPERM'``." msgstr "" +"Dicionário que fornece um mapeamento do valor errno para o nome da string no " +"sistema subjacente. Por exemplo, ``errno.errorcode[errno.EPERM]`` mapeia " +"para ``'EPERM'``." #: ../../library/errno.rst:21 msgid "" -"To translate a numeric error code to an error message, use :func:`os." -"strerror`." +"To translate a numeric error code to an error message, " +"use :func:`os.strerror`." msgstr "" +"Para traduzir um código de erro numérico em uma mensagem de erro, " +"use :func:`os.strerror`." #: ../../library/errno.rst:23 msgid "" @@ -56,79 +62,95 @@ msgid "" "not defined by the module. The specific list of defined symbols is " "available as ``errno.errorcode.keys()``. Symbols available can include:" msgstr "" +"Da lista a seguir, símbolos que não são usados na plataforma atual não são " +"definidos pelo módulo. A lista específica de símbolos definidos está " +"disponível como ``errno.errorcode.keys()``. Os símbolos disponíveis podem " +"incluir:" #: ../../library/errno.rst:30 msgid "" -"Operation not permitted. This error is mapped to the exception :exc:" -"`PermissionError`." +"Operation not permitted. This error is mapped to the " +"exception :exc:`PermissionError`." msgstr "" +"Operação não permitida. Este erro é mapeado para a " +"exceção :exc:`PermissionError`." #: ../../library/errno.rst:36 msgid "" -"No such file or directory. This error is mapped to the exception :exc:" -"`FileNotFoundError`." +"No such file or directory. This error is mapped to the " +"exception :exc:`FileNotFoundError`." msgstr "" +"Arquivo ou diretório inexistente. Este erro é mapeado para a " +"exceção :exc:`FileNotFoundError`." #: ../../library/errno.rst:42 msgid "" -"No such process. This error is mapped to the exception :exc:" -"`ProcessLookupError`." +"No such process. This error is mapped to the " +"exception :exc:`ProcessLookupError`." msgstr "" +"Processo inexistente. Este erro é mapeado para a " +"exceção :exc:`ProcessLookupError`." #: ../../library/errno.rst:48 msgid "" -"Interrupted system call. This error is mapped to the exception :exc:" -"`InterruptedError`." +"Interrupted system call. This error is mapped to the " +"exception :exc:`InterruptedError`." msgstr "" +"Chamada de sistema interrompida. Este erro é mapeado para a " +"exceção :exc:`InterruptedError`." #: ../../library/errno.rst:54 msgid "I/O error" -msgstr "" +msgstr "Erro de E/S" #: ../../library/errno.rst:59 msgid "No such device or address" -msgstr "" +msgstr "Endereço ou dispositivo inexistente" #: ../../library/errno.rst:64 msgid "Arg list too long" -msgstr "" +msgstr "Lista de argumentos muito longa" #: ../../library/errno.rst:69 msgid "Exec format error" -msgstr "" +msgstr "Erro no formato exec" #: ../../library/errno.rst:74 msgid "Bad file number" -msgstr "" +msgstr "Descritor de arquivo inválido" #: ../../library/errno.rst:79 msgid "" -"No child processes. This error is mapped to the exception :exc:" -"`ChildProcessError`." +"No child processes. This error is mapped to the " +"exception :exc:`ChildProcessError`." msgstr "" +"Não há processos filhos. Este erro é mapeado para a " +"exceção :exc:`ChildProcessError`." #: ../../library/errno.rst:85 msgid "" "Try again. This error is mapped to the exception :exc:`BlockingIOError`." msgstr "" +"Tente novamente. Este erro é mapeado para a exceção :exc:`BlockingIOError`." #: ../../library/errno.rst:90 msgid "Out of memory" -msgstr "" +msgstr "Memória insuficiente" #: ../../library/errno.rst:95 msgid "" -"Permission denied. This error is mapped to the exception :exc:" -"`PermissionError`." +"Permission denied. This error is mapped to the " +"exception :exc:`PermissionError`." msgstr "" +"Permissão negada. Este erro é mapeado para a exceção :exc:`PermissionError`." #: ../../library/errno.rst:101 msgid "Bad address" -msgstr "" +msgstr "Endereço inválido" #: ../../library/errno.rst:106 msgid "Block device required" -msgstr "" +msgstr "Dispositivo de bloco requerido" #: ../../library/errno.rst:111 msgid "Device or resource busy" @@ -138,38 +160,42 @@ msgstr "Dispositivo ou recurso ocupado" msgid "" "File exists. This error is mapped to the exception :exc:`FileExistsError`." msgstr "" +"Arquivo existe. Este erro é mapeado para a exceção :exc:`FileExistsError`." #: ../../library/errno.rst:122 msgid "Cross-device link" -msgstr "" +msgstr "Link entre dispositivos inválido" #: ../../library/errno.rst:127 msgid "No such device" -msgstr "" +msgstr "Dispositivo inexistente" #: ../../library/errno.rst:132 msgid "" -"Not a directory. This error is mapped to the exception :exc:" -"`NotADirectoryError`." +"Not a directory. This error is mapped to the " +"exception :exc:`NotADirectoryError`." msgstr "" +"Não é um diretório. Este erro é mapeado para a " +"exceção :exc:`NotADirectoryError`." #: ../../library/errno.rst:138 msgid "" -"Is a directory. This error is mapped to the exception :exc:" -"`IsADirectoryError`." +"Is a directory. This error is mapped to the " +"exception :exc:`IsADirectoryError`." msgstr "" +"É um diretório. Este erro é mapeado para a exceção :exc:`IsADirectoryError`." #: ../../library/errno.rst:144 msgid "Invalid argument" -msgstr "" +msgstr "Argumento inválido" #: ../../library/errno.rst:149 msgid "File table overflow" -msgstr "" +msgstr "Estouro de tabela de arquivos" #: ../../library/errno.rst:154 msgid "Too many open files" -msgstr "" +msgstr "Muitos arquivos abertos" #: ../../library/errno.rst:159 msgid "Not a typewriter" @@ -177,162 +203,165 @@ msgstr "" #: ../../library/errno.rst:164 msgid "Text file busy" -msgstr "" +msgstr "Arquivo texto ocupado" #: ../../library/errno.rst:169 msgid "File too large" -msgstr "" +msgstr "Arquivo muito grande" #: ../../library/errno.rst:174 msgid "No space left on device" -msgstr "" +msgstr "Não há espaço disponível no dispositivo" #: ../../library/errno.rst:179 msgid "Illegal seek" -msgstr "" +msgstr "Procura ilegal" #: ../../library/errno.rst:184 msgid "Read-only file system" -msgstr "" +msgstr "Sistema de arquivos de somente leitura" #: ../../library/errno.rst:189 msgid "Too many links" -msgstr "" +msgstr "Muitos links" #: ../../library/errno.rst:194 msgid "" "Broken pipe. This error is mapped to the exception :exc:`BrokenPipeError`." msgstr "" +"Pipe quebrado. Este erro é mapeado para a exceção :exc:`BrokenPipeError`." #: ../../library/errno.rst:200 msgid "Math argument out of domain of func" -msgstr "" +msgstr "Argumento matemático fora do domínio da função" #: ../../library/errno.rst:205 msgid "Math result not representable" -msgstr "" +msgstr "Resultado matemático não representável" #: ../../library/errno.rst:210 msgid "Resource deadlock would occur" -msgstr "" +msgstr "Ocorreria um impasse (deadlock) de recursos" #: ../../library/errno.rst:215 msgid "File name too long" -msgstr "" +msgstr "Nome de arquivo muito longo" #: ../../library/errno.rst:220 msgid "No record locks available" -msgstr "" +msgstr "Nenhuma trava de registro disponível" #: ../../library/errno.rst:225 msgid "Function not implemented" -msgstr "" +msgstr "Função não implementada" #: ../../library/errno.rst:230 msgid "Directory not empty" -msgstr "" +msgstr "Diretório não vazio" #: ../../library/errno.rst:235 msgid "Too many symbolic links encountered" -msgstr "" +msgstr "Foram encontrados muitos links simbólicos" #: ../../library/errno.rst:240 msgid "" -"Operation would block. This error is mapped to the exception :exc:" -"`BlockingIOError`." +"Operation would block. This error is mapped to the " +"exception :exc:`BlockingIOError`." msgstr "" +"Operation causaria bloqueio. Este erro é mapeado para a " +"exceção :exc:`BlockingIOError`." #: ../../library/errno.rst:246 msgid "No message of desired type" -msgstr "" +msgstr "Nenhuma mensagem do tipo desejado" #: ../../library/errno.rst:251 msgid "Identifier removed" -msgstr "" +msgstr "Identificador removido" #: ../../library/errno.rst:256 msgid "Channel number out of range" -msgstr "" +msgstr "Número do canal fora do intervalo" #: ../../library/errno.rst:261 msgid "Level 2 not synchronized" -msgstr "" +msgstr "Não sincronizado nível 2" #: ../../library/errno.rst:266 msgid "Level 3 halted" -msgstr "" +msgstr "Parada de sistema nível 3" #: ../../library/errno.rst:271 msgid "Level 3 reset" -msgstr "" +msgstr "Reinicialização nível 3" #: ../../library/errno.rst:276 msgid "Link number out of range" -msgstr "" +msgstr "Número de link fora da faixa" #: ../../library/errno.rst:281 msgid "Protocol driver not attached" -msgstr "" +msgstr "Driver de protocolo não anexado" #: ../../library/errno.rst:286 msgid "No CSI structure available" -msgstr "" +msgstr "Não há estrutura CSI disponível" #: ../../library/errno.rst:291 msgid "Level 2 halted" -msgstr "" +msgstr "Parada de sistema nível 2" #: ../../library/errno.rst:296 msgid "Invalid exchange" -msgstr "" +msgstr "Troca inválida" #: ../../library/errno.rst:301 msgid "Invalid request descriptor" -msgstr "" +msgstr "Descritor de requisição inválido" #: ../../library/errno.rst:306 msgid "Exchange full" -msgstr "" +msgstr "Troca completa" #: ../../library/errno.rst:311 msgid "No anode" -msgstr "" +msgstr "Sem anode" #: ../../library/errno.rst:316 msgid "Invalid request code" -msgstr "" +msgstr "Código de requisição inválido" #: ../../library/errno.rst:321 msgid "Invalid slot" -msgstr "" +msgstr "Slot inválido" #: ../../library/errno.rst:326 msgid "File locking deadlock error" -msgstr "" +msgstr "Erro de impasse em travamento de arquivo" #: ../../library/errno.rst:331 msgid "Bad font file format" -msgstr "" +msgstr "Formato inválido do arquivo de fonte" #: ../../library/errno.rst:336 msgid "Device not a stream" -msgstr "" +msgstr "Dispositivo não é um stream" #: ../../library/errno.rst:341 msgid "No data available" -msgstr "" +msgstr "Não há dados disponíveis" #: ../../library/errno.rst:346 msgid "Timer expired" -msgstr "" +msgstr "Temporizador expirado" #: ../../library/errno.rst:351 msgid "Out of streams resources" -msgstr "" +msgstr "Sem recursos de streams" #: ../../library/errno.rst:356 msgid "Machine is not on the network" -msgstr "" +msgstr "A máquina não está na rede" #: ../../library/errno.rst:361 msgid "Package not installed" @@ -344,11 +373,11 @@ msgstr "O objeto é remoto" #: ../../library/errno.rst:371 msgid "Link has been severed" -msgstr "" +msgstr "A conexão foi rompida" #: ../../library/errno.rst:376 msgid "Advertise error" -msgstr "" +msgstr "Erro de anúncio" #: ../../library/errno.rst:381 msgid "Srmount error" @@ -356,7 +385,7 @@ msgstr "Erro Srmount" #: ../../library/errno.rst:386 msgid "Communication error on send" -msgstr "" +msgstr "Erro de comunicação ao enviar" #: ../../library/errno.rst:391 msgid "Protocol error" @@ -364,232 +393,252 @@ msgstr "Erro de Protocolo" #: ../../library/errno.rst:396 msgid "Multihop attempted" -msgstr "" +msgstr "Tentativa de hops múltiplos" #: ../../library/errno.rst:401 msgid "RFS specific error" -msgstr "" +msgstr "Erro específico de RFS" #: ../../library/errno.rst:406 msgid "Not a data message" -msgstr "" +msgstr "Não é uma mensagem de dados" #: ../../library/errno.rst:411 msgid "Value too large for defined data type" -msgstr "" +msgstr "Valor muito grande para o tipo de dados definido" #: ../../library/errno.rst:416 msgid "Name not unique on network" -msgstr "" +msgstr "O nome não é único na rede" #: ../../library/errno.rst:421 msgid "File descriptor in bad state" -msgstr "" +msgstr "Descritor de arquivo em mal estado" #: ../../library/errno.rst:426 msgid "Remote address changed" -msgstr "" +msgstr "Endereço remoto mudou" #: ../../library/errno.rst:431 msgid "Can not access a needed shared library" -msgstr "" +msgstr "Não é possível acessar uma biblioteca compartilhada necessária" #: ../../library/errno.rst:436 msgid "Accessing a corrupted shared library" -msgstr "" +msgstr "Acessando uma biblioteca compartilhado corrompida" #: ../../library/errno.rst:441 msgid ".lib section in a.out corrupted" -msgstr "" +msgstr "Seção .lib corrompida em a.out" #: ../../library/errno.rst:446 msgid "Attempting to link in too many shared libraries" -msgstr "" +msgstr "Tentando ligar em muitas bibliotecas compartilhadas" #: ../../library/errno.rst:451 msgid "Cannot exec a shared library directly" -msgstr "" +msgstr "Não é possível executar uma biblioteca compartilhada diretamente" #: ../../library/errno.rst:456 msgid "Illegal byte sequence" -msgstr "" +msgstr "Sequência de bytes ilegal" #: ../../library/errno.rst:461 msgid "Interrupted system call should be restarted" -msgstr "" +msgstr "Chamada de sistema interrompida deve ser reiniciada" #: ../../library/errno.rst:466 msgid "Streams pipe error" -msgstr "" +msgstr "Erro de fluxos de pipe" #: ../../library/errno.rst:471 msgid "Too many users" -msgstr "" +msgstr "Muitos usuários" #: ../../library/errno.rst:476 msgid "Socket operation on non-socket" -msgstr "" +msgstr "Operação socket em um arquivo não-socket" #: ../../library/errno.rst:481 msgid "Destination address required" -msgstr "" +msgstr "Endereço de destino necessário" #: ../../library/errno.rst:486 msgid "Message too long" -msgstr "" +msgstr "Mensagem muito longa" #: ../../library/errno.rst:491 msgid "Protocol wrong type for socket" -msgstr "" +msgstr "Tipo errado de protocolo para socket" #: ../../library/errno.rst:496 msgid "Protocol not available" -msgstr "" +msgstr "Protocolo não disponível" #: ../../library/errno.rst:501 msgid "Protocol not supported" -msgstr "" +msgstr "Protocolo sem suporte" #: ../../library/errno.rst:506 msgid "Socket type not supported" -msgstr "" +msgstr "Tipo socket sem suporte" #: ../../library/errno.rst:511 msgid "Operation not supported on transport endpoint" -msgstr "" +msgstr "Operação sem suporte na extremidade do transporte" #: ../../library/errno.rst:516 +msgid "Operation not supported" +msgstr "Operação sem suporte" + +#: ../../library/errno.rst:523 msgid "Protocol family not supported" -msgstr "" +msgstr "Família de protocolo sem suporte" -#: ../../library/errno.rst:521 +#: ../../library/errno.rst:528 msgid "Address family not supported by protocol" -msgstr "" +msgstr "Família de endereços sem suporte pelo protocolo" -#: ../../library/errno.rst:526 +#: ../../library/errno.rst:533 msgid "Address already in use" -msgstr "" +msgstr "Endereço já em uso" -#: ../../library/errno.rst:531 +#: ../../library/errno.rst:538 msgid "Cannot assign requested address" -msgstr "" +msgstr "Não é possível acessar o endereço requisitado" -#: ../../library/errno.rst:536 +#: ../../library/errno.rst:543 msgid "Network is down" -msgstr "" +msgstr "A rede não responde" -#: ../../library/errno.rst:541 +#: ../../library/errno.rst:548 msgid "Network is unreachable" -msgstr "" +msgstr "A rede está fora de alcance" -#: ../../library/errno.rst:546 +#: ../../library/errno.rst:553 msgid "Network dropped connection because of reset" -msgstr "" +msgstr "A rede desconectou-se ao reiniciar" -#: ../../library/errno.rst:551 +#: ../../library/errno.rst:558 msgid "" -"Software caused connection abort. This error is mapped to the exception :exc:" -"`ConnectionAbortedError`." +"Software caused connection abort. This error is mapped to the " +"exception :exc:`ConnectionAbortedError`." msgstr "" +"O software causou a interrupção da conexão. Este erro é mapeado para a " +"exceção :exc:`ConnectionAbortedError`." -#: ../../library/errno.rst:557 +#: ../../library/errno.rst:564 msgid "" -"Connection reset by peer. This error is mapped to the exception :exc:" -"`ConnectionResetError`." +"Connection reset by peer. This error is mapped to the " +"exception :exc:`ConnectionResetError`." msgstr "" +"Conexão fechada pela outra ponta. Este erro é mapeado para a " +"exceção :exc:`ConnectionResetError`." -#: ../../library/errno.rst:563 +#: ../../library/errno.rst:570 msgid "No buffer space available" -msgstr "" +msgstr "Não há espaço de buffer disponível" -#: ../../library/errno.rst:568 +#: ../../library/errno.rst:575 msgid "Transport endpoint is already connected" -msgstr "" +msgstr "A extremidade do transporte já está conectada" -#: ../../library/errno.rst:573 +#: ../../library/errno.rst:580 msgid "Transport endpoint is not connected" -msgstr "" +msgstr "A extremidade do transporte não está conectada" -#: ../../library/errno.rst:578 +#: ../../library/errno.rst:585 msgid "" "Cannot send after transport endpoint shutdown. This error is mapped to the " "exception :exc:`BrokenPipeError`." msgstr "" -#: ../../library/errno.rst:584 +#: ../../library/errno.rst:591 msgid "Too many references: cannot splice" msgstr "" -#: ../../library/errno.rst:589 +#: ../../library/errno.rst:596 msgid "" -"Connection timed out. This error is mapped to the exception :exc:" -"`TimeoutError`." +"Connection timed out. This error is mapped to the " +"exception :exc:`TimeoutError`." msgstr "" -#: ../../library/errno.rst:595 +#: ../../library/errno.rst:602 msgid "" -"Connection refused. This error is mapped to the exception :exc:" -"`ConnectionRefusedError`." +"Connection refused. This error is mapped to the " +"exception :exc:`ConnectionRefusedError`." msgstr "" -#: ../../library/errno.rst:601 +#: ../../library/errno.rst:608 msgid "Host is down" msgstr "" -#: ../../library/errno.rst:606 +#: ../../library/errno.rst:613 msgid "No route to host" msgstr "" -#: ../../library/errno.rst:611 +#: ../../library/errno.rst:618 msgid "" -"Operation already in progress. This error is mapped to the exception :exc:" -"`BlockingIOError`." +"Operation already in progress. This error is mapped to the " +"exception :exc:`BlockingIOError`." msgstr "" -#: ../../library/errno.rst:617 +#: ../../library/errno.rst:624 msgid "" -"Operation now in progress. This error is mapped to the exception :exc:" -"`BlockingIOError`." +"Operation now in progress. This error is mapped to the " +"exception :exc:`BlockingIOError`." msgstr "" -#: ../../library/errno.rst:623 +#: ../../library/errno.rst:630 msgid "Stale NFS file handle" msgstr "" -#: ../../library/errno.rst:628 +#: ../../library/errno.rst:635 msgid "Structure needs cleaning" msgstr "" -#: ../../library/errno.rst:633 +#: ../../library/errno.rst:640 msgid "Not a XENIX named type file" msgstr "" -#: ../../library/errno.rst:638 +#: ../../library/errno.rst:645 msgid "No XENIX semaphores available" msgstr "" -#: ../../library/errno.rst:643 +#: ../../library/errno.rst:650 msgid "Is a named type file" msgstr "É um arquivo de tipo nomeado" -#: ../../library/errno.rst:648 +#: ../../library/errno.rst:655 msgid "Remote I/O error" msgstr "Erro de E/S remoto" -#: ../../library/errno.rst:653 +#: ../../library/errno.rst:660 msgid "Quota exceeded" msgstr "" -#: ../../library/errno.rst:657 +#: ../../library/errno.rst:664 msgid "Interface output queue is full" msgstr "" -#: ../../library/errno.rst:663 +#: ../../library/errno.rst:670 msgid "" -"Capabilities insufficient. This error is mapped to the exception :exc:" -"`PermissionError`." +"Capabilities insufficient. This error is mapped to the " +"exception :exc:`PermissionError`." msgstr "" -#: ../../library/errno.rst:666 +#: ../../library/errno.rst:673 msgid ":ref:`Availability `: WASI, FreeBSD" msgstr ":ref:`Disponibilidade `: WASI, FreeBSD" + +#: ../../library/errno.rst:680 +msgid "Operation canceled" +msgstr "" + +#: ../../library/errno.rst:687 +msgid "Owner died" +msgstr "" + +#: ../../library/errno.rst:694 +msgid "State not recoverable" +msgstr "" diff --git a/library/exceptions.po b/library/exceptions.po index 77c54c2b8..d8bd4f1e2 100644 --- a/library/exceptions.po +++ b/library/exceptions.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# guilhermegouw , 2021 -# Rafael Fontenelle , 2023 -# Vinicius Gubiani Ferreira , 2023 -# Marco Rougeth , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Marco Rougeth , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,36 +29,37 @@ msgstr "Exceções embutidas" #: ../../library/exceptions.rst:10 msgid "" -"In Python, all exceptions must be instances of a class that derives from :" -"class:`BaseException`. In a :keyword:`try` statement with an :keyword:" -"`except` clause that mentions a particular class, that clause also handles " -"any exception classes derived from that class (but not exception classes " -"from which *it* is derived). Two exception classes that are not related via " -"subclassing are never equivalent, even if they have the same name." -msgstr "" -"No Python, todas as exceções devem ser instâncias de uma classe derivada de :" -"class:`BaseException`. Em uma instrução :keyword:`try` com uma cláusula :" -"keyword:`except` que menciona uma classe específica, essa cláusula também " -"lida com qualquer classe de exceção derivada dessa classe (mas não com as " -"classes de exceção a partir das quais *ela* é derivada). Duas classes de " -"exceção que não são relacionadas por subclasse nunca são equivalentes, mesmo " -"que tenham o mesmo nome." +"In Python, all exceptions must be instances of a class that derives " +"from :class:`BaseException`. In a :keyword:`try` statement with " +"an :keyword:`except` clause that mentions a particular class, that clause " +"also handles any exception classes derived from that class (but not " +"exception classes from which *it* is derived). Two exception classes that " +"are not related via subclassing are never equivalent, even if they have the " +"same name." +msgstr "" +"No Python, todas as exceções devem ser instâncias de uma classe derivada " +"de :class:`BaseException`. Em uma instrução :keyword:`try` com uma " +"cláusula :keyword:`except` que menciona uma classe específica, essa cláusula " +"também lida com qualquer classe de exceção derivada dessa classe (mas não " +"com as classes de exceção a partir das quais *ela* é derivada). Duas classes " +"de exceção que não são relacionadas por subclasse nunca são equivalentes, " +"mesmo que tenham o mesmo nome." #: ../../library/exceptions.rst:19 msgid "" -"The built-in exceptions listed below can be generated by the interpreter or " -"built-in functions. Except where mentioned, they have an \"associated " -"value\" indicating the detailed cause of the error. This may be a string or " -"a tuple of several items of information (e.g., an error code and a string " -"explaining the code). The associated value is usually passed as arguments " -"to the exception class's constructor." +"The built-in exceptions listed in this chapter can be generated by the " +"interpreter or built-in functions. Except where mentioned, they have an " +"\"associated value\" indicating the detailed cause of the error. This may " +"be a string or a tuple of several items of information (e.g., an error code " +"and a string explaining the code). The associated value is usually passed " +"as arguments to the exception class's constructor." msgstr "" -"As exceções embutidas listadas abaixo podem ser geradas pelo interpretador " -"ou pelas funções embutidas. Exceto onde mencionado, eles têm um \"valor " -"associado\" indicando a causa detalhada do erro. Pode ser uma sequência ou " -"uma tupla de vários itens de informação (por exemplo, um código de erro e " -"uma sequência que explica o código). O valor associado geralmente é passado " -"como argumentos para o construtor da classe de exceção." +"As exceções embutidas listadas neste capítulo podem ser geradas pelo " +"interpretador ou pelas funções embutidas. Exceto onde mencionado, eles têm " +"um \"valor associado\" indicando a causa detalhada do erro. Pode ser uma " +"string ou uma tupla de vários itens de informação (por exemplo, um código de " +"erro e uma string que explica o código). O valor associado geralmente é " +"passado como argumentos para o construtor da classe de exceção." #: ../../library/exceptions.rst:26 msgid "" @@ -81,35 +78,44 @@ msgstr "" #: ../../library/exceptions.rst:31 msgid "" "The built-in exception classes can be subclassed to define new exceptions; " -"programmers are encouraged to derive new exceptions from the :exc:" -"`Exception` class or one of its subclasses, and not from :exc:" -"`BaseException`. More information on defining exceptions is available in " -"the Python Tutorial under :ref:`tut-userexceptions`." +"programmers are encouraged to derive new exceptions from " +"the :exc:`Exception` class or one of its subclasses, and not " +"from :exc:`BaseException`. More information on defining exceptions is " +"available in the Python Tutorial under :ref:`tut-userexceptions`." msgstr "" "As classes de exceções embutidas podem ser usadas como subclasses para " "definir novas exceções; Os programadores são incentivados a derivar novas " -"exceções da classe :exc:`Exception` ou de uma de suas subclasses, e não de :" -"exc:`BaseException`. Mais informações sobre a definição de exceções estão " -"disponíveis no Tutorial do Python em :ref:`tut-userexceptions`." +"exceções da classe :exc:`Exception` ou de uma de suas subclasses, e não " +"de :exc:`BaseException`. Mais informações sobre a definição de exceções " +"estão disponíveis no Tutorial do Python em :ref:`tut-userexceptions`." #: ../../library/exceptions.rst:39 msgid "Exception context" msgstr "Contexto da exceção" -#: ../../library/exceptions.rst:41 +#: ../../library/exceptions.rst:46 +msgid "" +"Three attributes on exception objects provide information about the context " +"in which the exception was raised:" +msgstr "" +"Três atributos em objetos exceções fornecem informações sobre o contexto em " +"que a exceção foi levantada." + +#: ../../library/exceptions.rst:53 msgid "" "When raising a new exception while another exception is already being " -"handled, the new exception's :attr:`__context__` attribute is automatically " -"set to the handled exception. An exception may be handled when an :keyword:" -"`except` or :keyword:`finally` clause, or a :keyword:`with` statement, is " -"used." +"handled, the new exception's :attr:`!__context__` attribute is automatically " +"set to the handled exception. An exception may be handled when " +"an :keyword:`except` or :keyword:`finally` clause, or a :keyword:`with` " +"statement, is used." msgstr "" "Ao levantar uma nova exceção enquanto outra exceção já está sendo tratada, o " -"atributo :attr:`__context__` da nova exceção é automaticamente definido para " -"a exceção tratada. Uma exceção pode ser tratada quando uma cláusula :keyword:" -"`except` ou :keyword:`finally`, ou uma instrução :keyword:`with`, é usada." +"atributo :attr:`!__context__` da nova exceção é automaticamente definido " +"para a exceção tratada. Uma exceção pode ser tratada quando uma " +"cláusula :keyword:`except` ou :keyword:`finally`, ou uma " +"instrução :keyword:`with`, é usada." -#: ../../library/exceptions.rst:47 +#: ../../library/exceptions.rst:59 msgid "" "This implicit exception context can be supplemented with an explicit cause " "by using :keyword:`!from` with :keyword:`raise`::" @@ -117,41 +123,42 @@ msgstr "" "Esse contexto implícito da exceção pode ser complementado com uma causa " "explícita usando :keyword:`!from` com :keyword:`raise`::" -#: ../../library/exceptions.rst:53 +#: ../../library/exceptions.rst:65 msgid "" "The expression following :keyword:`from` must be an exception or " -"``None``. It will be set as :attr:`__cause__` on the raised exception. " -"Setting :attr:`__cause__` also implicitly sets the :attr:" -"`__suppress_context__` attribute to ``True``, so that using ``raise new_exc " +"``None``. It will be set as :attr:`!__cause__` on the raised exception. " +"Setting :attr:`!__cause__` also implicitly sets the :attr:`!" +"__suppress_context__` attribute to ``True``, so that using ``raise new_exc " "from None`` effectively replaces the old exception with the new one for " "display purposes (e.g. converting :exc:`KeyError` to :exc:`AttributeError`), " -"while leaving the old exception available in :attr:`__context__` for " +"while leaving the old exception available in :attr:`!__context__` for " "introspection when debugging." msgstr "" -"A expressão a seguir :keyword:`from ` deve ser uma exceção ou " -"``None``. Ela será definida como :attr:`__cause__` na exceção levantada. A " -"definição de :attr:`__cause__` também define implicitamente o atributo :attr:" -"`__suppress_context__` como ``True``, de modo que o uso de ``raise new_exc " -"from None`` substitui efetivamente a exceção antiga pela nova para fins de " -"exibição (por exemplo, convertendo :exc:`KeyError` para :exc:" -"`AttributeError`), deixando a exceção antiga disponível em :attr:" -"`__context__` para introspecção durante a depuração." +"A expressão a seguir :keyword:`from` deve ser uma exceção ou " +"``None``. Ela será definida como :attr:`!__cause__` na exceção levantada. A " +"definição de :attr:`!__cause__` também define implicitamente o " +"atributo :attr:`!__suppress_context__` como ``True``, de modo que o uso de " +"``raise new_exc from None`` substitui efetivamente a exceção antiga pela " +"nova para fins de exibição (por exemplo, convertendo :exc:`KeyError` " +"para :exc:`AttributeError`), deixando a exceção antiga disponível em :attr:`!" +"__context__` para introspecção durante a depuração." -#: ../../library/exceptions.rst:62 +#: ../../library/exceptions.rst:74 msgid "" "The default traceback display code shows these chained exceptions in " "addition to the traceback for the exception itself. An explicitly chained " -"exception in :attr:`__cause__` is always shown when present. An implicitly " -"chained exception in :attr:`__context__` is shown only if :attr:`__cause__` " -"is :const:`None` and :attr:`__suppress_context__` is false." +"exception in :attr:`!__cause__` is always shown when present. An implicitly " +"chained exception in :attr:`!__context__` is shown only if :attr:`!" +"__cause__` is :const:`None` and :attr:`!__suppress_context__` is false." msgstr "" "O código de exibição padrão do traceback mostra essas exceções encadeadas, " "além do traceback da própria exceção. Uma exceção explicitamente encadeada " -"em :attr:`__cause__` sempre é mostrada quando presente. Uma exceção " -"implicitamente encadeada em :attr:`__context__` é mostrada apenas se :attr:" -"`__cause__` for :const:`None` e :attr:`__suppress_context__` for falso." +"em :attr:`!__cause__` sempre é mostrada quando presente. Uma exceção " +"implicitamente encadeada em :attr:`!__context__` é mostrada apenas " +"se :attr:`!__cause__` for :const:`None` e :attr:`!__suppress_context__` for " +"falso." -#: ../../library/exceptions.rst:68 +#: ../../library/exceptions.rst:80 msgid "" "In either case, the exception itself is always shown after any chained " "exceptions so that the final line of the traceback always shows the last " @@ -161,11 +168,11 @@ msgstr "" "exceções encadeadas, de modo que a linha final do traceback sempre mostre a " "última exceção que foi levantada." -#: ../../library/exceptions.rst:74 +#: ../../library/exceptions.rst:86 msgid "Inheriting from built-in exceptions" msgstr "Herdando de exceções embutidas" -#: ../../library/exceptions.rst:76 +#: ../../library/exceptions.rst:88 msgid "" "User code can create subclasses that inherit from an exception type. It's " "recommended to only subclass one exception type at a time to avoid any " @@ -177,14 +184,15 @@ msgstr "" "evitar possíveis conflitos entre como as bases tratam o atributo ``args``, " "bem como devido a possíveis incompatibilidades de layout de memória." -#: ../../library/exceptions.rst:83 +#: ../../library/exceptions.rst:95 msgid "" -"Most built-in exceptions are implemented in C for efficiency, see: :source:" -"`Objects/exceptions.c`. Some have custom memory layouts which makes it " -"impossible to create a subclass that inherits from multiple exception types. " -"The memory layout of a type is an implementation detail and might change " -"between Python versions, leading to new conflicts in the future. Therefore, " -"it's recommended to avoid subclassing multiple exception types altogether." +"Most built-in exceptions are implemented in C for efficiency, " +"see: :source:`Objects/exceptions.c`. Some have custom memory layouts which " +"makes it impossible to create a subclass that inherits from multiple " +"exception types. The memory layout of a type is an implementation detail and " +"might change between Python versions, leading to new conflicts in the " +"future. Therefore, it's recommended to avoid subclassing multiple exception " +"types altogether." msgstr "" "A maioria das exceções embutidas são implementadas em C para eficiência, " "veja: :source:`Objects/exceptions.c`. Algumas têm layouts de memória " @@ -194,11 +202,11 @@ msgstr "" "conflitos no futuro. Portanto, é recomendável evitar criar subclasses de " "vários tipos de exceção." -#: ../../library/exceptions.rst:93 +#: ../../library/exceptions.rst:105 msgid "Base classes" msgstr "Classes base" -#: ../../library/exceptions.rst:95 +#: ../../library/exceptions.rst:107 msgid "" "The following exceptions are used mostly as base classes for other " "exceptions." @@ -206,21 +214,21 @@ msgstr "" "As seguintes exceções são usadas principalmente como classes base para " "outras exceções." -#: ../../library/exceptions.rst:99 +#: ../../library/exceptions.rst:111 msgid "" "The base class for all built-in exceptions. It is not meant to be directly " -"inherited by user-defined classes (for that, use :exc:`Exception`). If :" -"func:`str` is called on an instance of this class, the representation of the " -"argument(s) to the instance are returned, or the empty string when there " +"inherited by user-defined classes (for that, use :exc:`Exception`). " +"If :func:`str` is called on an instance of this class, the representation of " +"the argument(s) to the instance are returned, or the empty string when there " "were no arguments." msgstr "" "A classe base para todas as exceções embutidas. Não é para ser herdada " -"diretamente por classes definidas pelo usuário (para isso, use :exc:" -"`Exception`). Se :func:`str` for chamado em uma instância desta classe, a " -"representação do(s) argumento(s) para a instância será retornada ou a string " -"vazia quando não houver argumentos." +"diretamente por classes definidas pelo usuário (para isso, " +"use :exc:`Exception`). Se :func:`str` for chamado em uma instância desta " +"classe, a representação do(s) argumento(s) para a instância será retornada " +"ou a string vazia quando não houver argumentos." -#: ../../library/exceptions.rst:107 +#: ../../library/exceptions.rst:119 msgid "" "The tuple of arguments given to the exception constructor. Some built-in " "exceptions (like :exc:`OSError`) expect a certain number of arguments and " @@ -233,7 +241,7 @@ msgstr "" "são normalmente chamadas apenas com uma única string que fornece uma " "mensagem de erro." -#: ../../library/exceptions.rst:114 +#: ../../library/exceptions.rst:126 msgid "" "This method sets *tb* as the new traceback for the exception and returns the " "exception object. It was more commonly used before the exception chaining " @@ -254,7 +262,15 @@ msgstr "" "traceback de ``SomeException`` original se tivéssemos permitido que ele se " "propagasse para o chamador. ::" -#: ../../library/exceptions.rst:131 +#: ../../library/exceptions.rst:143 +msgid "" +"A writable field that holds the :ref:`traceback object ` " +"associated with this exception. See also: :ref:`raise`." +msgstr "" +"Um campo gravável que contém o :ref:`objeto traceback ` " +"associado a esta exceção. Veja também: :ref:`raise`." + +#: ../../library/exceptions.rst:149 msgid "" "Add the string ``note`` to the exception's notes which appear in the " "standard traceback after the exception string. A :exc:`TypeError` is raised " @@ -264,15 +280,17 @@ msgstr "" "padrão após a string de exceção. Uma exceção :exc:`TypeError` é levantada se " "``note`` não for uma string." -#: ../../library/exceptions.rst:139 +#: ../../library/exceptions.rst:157 msgid "" -"A list of the notes of this exception, which were added with :meth:" -"`add_note`. This attribute is created when :meth:`add_note` is called." +"A list of the notes of this exception, which were added " +"with :meth:`add_note`. This attribute is created when :meth:`add_note` is " +"called." msgstr "" -"Uma lista das notas desta exceção, que foram adicionadas com :meth:" -"`add_note`. Este atributo é criado quando :meth:`add_note` é chamado." +"Uma lista das notas desta exceção, que foram adicionadas " +"com :meth:`add_note`. Este atributo é criado quando :meth:`add_note` é " +"chamado." -#: ../../library/exceptions.rst:147 +#: ../../library/exceptions.rst:165 msgid "" "All built-in, non-system-exiting exceptions are derived from this class. " "All user-defined exceptions should also be derived from this class." @@ -281,17 +299,16 @@ msgstr "" "classe. Todas as exceções definidas pelo usuário também devem ser derivadas " "dessa classe." -#: ../../library/exceptions.rst:153 +#: ../../library/exceptions.rst:171 msgid "" "The base class for those built-in exceptions that are raised for various " -"arithmetic errors: :exc:`OverflowError`, :exc:`ZeroDivisionError`, :exc:" -"`FloatingPointError`." +"arithmetic " +"errors: :exc:`OverflowError`, :exc:`ZeroDivisionError`, :exc:`FloatingPointError`." msgstr "" "A classe base para as exceções embutidas levantadas para vários erros " -"aritméticos: :exc:`OverflowError`, :exc:`ZeroDivisionError`, :exc:" -"`FloatingPointError`." +"aritméticos: :exc:`OverflowError`, :exc:`ZeroDivisionError`, :exc:`FloatingPointError`." -#: ../../library/exceptions.rst:160 +#: ../../library/exceptions.rst:178 msgid "" "Raised when a :ref:`buffer ` related operation cannot be " "performed." @@ -299,29 +316,30 @@ msgstr "" "Levantado quando uma operação relacionada a :ref:`buffer ` " "não puder ser realizada." -#: ../../library/exceptions.rst:166 +#: ../../library/exceptions.rst:184 msgid "" "The base class for the exceptions that are raised when a key or index used " "on a mapping or sequence is invalid: :exc:`IndexError`, :exc:`KeyError`. " "This can be raised directly by :func:`codecs.lookup`." msgstr "" "A classe base para as exceções levantadas quando uma chave ou índice usado " -"em um mapeamento ou sequência é inválido: :exc:`IndexError`, :exc:" -"`KeyError`. Isso pode ser levantado diretamente por :func:`codecs.lookup`." +"em um mapeamento ou sequência é " +"inválido: :exc:`IndexError`, :exc:`KeyError`. Isso pode ser levantado " +"diretamente por :func:`codecs.lookup`." -#: ../../library/exceptions.rst:172 +#: ../../library/exceptions.rst:190 msgid "Concrete exceptions" msgstr "Exceções concretas" -#: ../../library/exceptions.rst:174 +#: ../../library/exceptions.rst:192 msgid "The following exceptions are the exceptions that are usually raised." -msgstr "As seguintes exceções são as que geralmente são levantados." +msgstr "As seguintes exceções são as que geralmente são levantadas." -#: ../../library/exceptions.rst:180 +#: ../../library/exceptions.rst:198 msgid "Raised when an :keyword:`assert` statement fails." msgstr "Levantado quando uma instrução :keyword:`assert` falha." -#: ../../library/exceptions.rst:185 +#: ../../library/exceptions.rst:203 msgid "" "Raised when an attribute reference (see :ref:`attribute-references`) or " "assignment fails. (When an object does not support attribute references or " @@ -331,7 +349,7 @@ msgstr "" "references`) ou atribuição falha. (Quando um objeto não oferece suporte a " "referências ou atribuições de atributos, :exc:`TypeError` é levantado.)" -#: ../../library/exceptions.rst:189 +#: ../../library/exceptions.rst:207 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 " @@ -343,38 +361,39 @@ msgstr "" "representam o nome do atributo que se tentou acessar e do objeto que foi " "acessado por esse atributo, respectivamente." -#: ../../library/exceptions.rst:194 +#: ../../library/exceptions.rst:212 msgid "Added the :attr:`name` and :attr:`obj` attributes." msgstr "Adicionado os atributos :attr:`name` e :attr:`obj`." -#: ../../library/exceptions.rst:199 +#: ../../library/exceptions.rst:217 msgid "" "Raised when the :func:`input` function hits an end-of-file condition (EOF) " -"without reading any data. (N.B.: the :meth:`io.IOBase.read` and :meth:`io." -"IOBase.readline` methods return an empty string when they hit EOF.)" +"without reading any data. (N.B.: the :meth:`io.IOBase.read` " +"and :meth:`io.IOBase.readline` methods return an empty string when they hit " +"EOF.)" msgstr "" "Levantado quando a função :func:`input` atinge uma condição de fim de " "arquivo (EOF) sem ler nenhum dado. (Note: os métodos :meth:`io.IOBase.read` " "e :meth:`io.IOBase.readline` retornam uma string vazia quando pressionam o " "EOF.)" -#: ../../library/exceptions.rst:206 +#: ../../library/exceptions.rst:224 msgid "Not currently used." msgstr "Não usado atualmente." -#: ../../library/exceptions.rst:211 +#: ../../library/exceptions.rst:229 msgid "" -"Raised when a :term:`generator` or :term:`coroutine` is closed; see :meth:" -"`generator.close` and :meth:`coroutine.close`. It directly inherits from :" -"exc:`BaseException` instead of :exc:`Exception` since it is technically not " -"an error." +"Raised when a :term:`generator` or :term:`coroutine` is closed; " +"see :meth:`generator.close` and :meth:`coroutine.close`. It directly " +"inherits from :exc:`BaseException` instead of :exc:`Exception` since it is " +"technically not an error." msgstr "" "Levantado quando um :term:`gerador` ou uma :term:`corrotina` está " "fechado(a); veja :meth:`generator.close` e :meth:`coroutine.close`. Herda " "diretamente de :exc:`BaseException` em vez de :exc:`Exception`, já que " "tecnicamente não é um erro." -#: ../../library/exceptions.rst:219 +#: ../../library/exceptions.rst:237 msgid "" "Raised when the :keyword:`import` statement has troubles trying to load a " "module. Also raised when the \"from list\" in ``from ... import`` has a " @@ -384,33 +403,37 @@ msgstr "" "carregar um módulo. Também é gerado quando o \"from list\" em ``from ... " "import`` tem um nome que não pode ser encontrado." -#: ../../library/exceptions.rst:223 +#: ../../library/exceptions.rst:241 msgid "" -"The :attr:`name` and :attr:`path` attributes can be set using keyword-only " -"arguments to the constructor. When set they represent the name of the module " -"that was attempted to be imported and the path to any file which triggered " -"the exception, respectively." +"The optional *name* and *path* keyword-only arguments set the corresponding " +"attributes:" msgstr "" -"Os atributos :attr:`name` e :attr:`path` podem ser configurados usando " -"argumentos somente-nomeados para o construtor. Quando configurados, eles " -"representam o nome do módulo que foi tentado ser importado e o caminho para " -"qualquer arquivo que acionou a exceção, respectivamente." +"O argumentos somente-nomeados opcionais *name* e o *path* definem o " +"atributos correspondente:" + +#: ../../library/exceptions.rst:246 +msgid "The name of the module that was attempted to be imported." +msgstr "O nome do módulo que tentou-se fazer a importação." -#: ../../library/exceptions.rst:228 +#: ../../library/exceptions.rst:250 +msgid "The path to any file which triggered the exception." +msgstr "O caminho para qualquer arquivo que acionou a exceção." + +#: ../../library/exceptions.rst:252 msgid "Added the :attr:`name` and :attr:`path` attributes." msgstr "Adicionados os atributos :attr:`name` e :attr:`path`." -#: ../../library/exceptions.rst:233 +#: ../../library/exceptions.rst:257 msgid "" "A subclass of :exc:`ImportError` which is raised by :keyword:`import` when a " -"module could not be located. It is also raised when ``None`` is found in :" -"data:`sys.modules`." +"module could not be located. It is also raised when ``None`` is found " +"in :data:`sys.modules`." msgstr "" "Uma subclasse de :exc:`ImportError` que é levantada por :keyword:`import` " "quando um módulo não pôde ser localizado. Também é levantada quando ``None`` " "é encontrado em :data:`sys.modules`." -#: ../../library/exceptions.rst:242 +#: ../../library/exceptions.rst:266 msgid "" "Raised when a sequence subscript is out of range. (Slice indices are " "silently truncated to fall in the allowed range; if an index is not an " @@ -420,7 +443,7 @@ msgstr "" "(Índices de fatia são truncados silenciosamente para cair num intervalo " "permitido; se um índice não for um inteiro, :exc:`TypeError` é levantada.)" -#: ../../library/exceptions.rst:251 +#: ../../library/exceptions.rst:275 msgid "" "Raised when a mapping (dictionary) key is not found in the set of existing " "keys." @@ -428,21 +451,21 @@ msgstr "" "Levantada quando uma chave de mapeamento (dicionário) não é encontrada no " "conjunto de chaves existentes." -#: ../../library/exceptions.rst:258 +#: ../../library/exceptions.rst:282 msgid "" -"Raised when the user hits the interrupt key (normally :kbd:`Control-C` or :" -"kbd:`Delete`). During execution, a check for interrupts is made regularly. " -"The exception inherits from :exc:`BaseException` so as to not be " +"Raised when the user hits the interrupt key (normally :kbd:`Control-C` " +"or :kbd:`Delete`). During execution, a check for interrupts is made " +"regularly. The exception inherits from :exc:`BaseException` so as to not be " "accidentally caught by code that catches :exc:`Exception` and thus prevent " "the interpreter from exiting." msgstr "" -"Levantada quando um usuário aperta a tecla de interrupção (normalmente :kbd:" -"`Control-C` ou :kbd:`Delete`). Durante a execução, uma checagem de " -"interrupção é feita regularmente. A exceção herda de :exc:`BaseException` " -"para que não seja capturada acidentalmente por códigos que tratam :exc:" -"`Exception` e assim evita que o interpretador saia." +"Levantada quando um usuário aperta a tecla de interrupção " +"(normalmente :kbd:`Control-C` ou :kbd:`Delete`). Durante a execução, uma " +"checagem de interrupção é feita regularmente. A exceção herda " +"de :exc:`BaseException` para que não seja capturada acidentalmente por " +"códigos que tratam :exc:`Exception` e assim evita que o interpretador saia." -#: ../../library/exceptions.rst:266 +#: ../../library/exceptions.rst:290 msgid "" "Catching a :exc:`KeyboardInterrupt` requires special consideration. Because " "it can be raised at unpredictable points, it may, in some circumstances, " @@ -457,25 +480,27 @@ msgstr "" "rápido possível ou evitar levantá-la de todo. (Veja :ref:`handlers-and-" "exceptions`.)" -#: ../../library/exceptions.rst:276 +#: ../../library/exceptions.rst:300 msgid "" "Raised when an operation runs out of memory but the situation may still be " "rescued (by deleting some objects). The associated value is a string " "indicating what kind of (internal) operation ran out of memory. Note that " -"because of the underlying memory management architecture (C's :c:func:" -"`malloc` function), the interpreter may not always be able to completely " -"recover from this situation; it nevertheless raises an exception so that a " -"stack traceback can be printed, in case a run-away program was the cause." +"because of the underlying memory management architecture " +"(C's :c:func:`malloc` function), the interpreter may not always be able to " +"completely recover from this situation; it nevertheless raises an exception " +"so that a stack traceback can be printed, in case a run-away program was the " +"cause." msgstr "" "Levantada quando uma operação fica sem memória mas a situação ainda pode ser " "recuperada (excluindo alguns objetos). O valor associado é uma string que " "indica o tipo de operação (interna) que ficou sem memória. Observe que, por " -"causa da arquitetura de gerenciamento de memória subjacente (função :c:func:" -"`malloc` do C), o interpretador pode não ser capaz de se recuperar " -"completamente da situação; no entanto, levanta uma exceção para que um " -"traceback possa ser impresso, no caso de um outro programa ser a causa." +"causa da arquitetura de gerenciamento de memória subjacente " +"(função :c:func:`malloc` do C), o interpretador pode não ser capaz de se " +"recuperar completamente da situação; no entanto, levanta uma exceção para " +"que um traceback possa ser impresso, no caso de um outro programa ser a " +"causa." -#: ../../library/exceptions.rst:287 +#: ../../library/exceptions.rst:311 msgid "" "Raised when a local or global name is not found. This applies only to " "unqualified names. The associated value is an error message that includes " @@ -485,7 +510,7 @@ msgstr "" "apenas a nomes não qualificados. O valor associado é uma mensagem de erro " "que inclui o nome que não pode ser encontrado." -#: ../../library/exceptions.rst:291 +#: ../../library/exceptions.rst:315 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 " @@ -495,11 +520,11 @@ msgstr "" "nomeado para o construtor. Quando definido, representa o nome da variável " "que foi tentada ser acessada." -#: ../../library/exceptions.rst:295 +#: ../../library/exceptions.rst:319 msgid "Added the :attr:`name` attribute." msgstr "Adicionado o atributo :attr:`name`." -#: ../../library/exceptions.rst:301 +#: ../../library/exceptions.rst:325 msgid "" "This exception is derived from :exc:`RuntimeError`. In user defined base " "classes, abstract methods should raise this exception when they require " @@ -512,7 +537,7 @@ msgstr "" "desenvolvida, para indicar que a implementação real ainda precisa ser " "adicionada." -#: ../../library/exceptions.rst:308 +#: ../../library/exceptions.rst:332 msgid "" "It should not be used to indicate that an operator or method is not meant to " "be supported at all -- in that case either leave the operator / method " @@ -522,34 +547,34 @@ msgstr "" "suportado -- nesse caso deixe o operador / método indefinido ou, se é uma " "subclasse, defina-o como :data:`None`." -#: ../../library/exceptions.rst:314 +#: ../../library/exceptions.rst:338 msgid "" -"``NotImplementedError`` and ``NotImplemented`` are not interchangeable, even " -"though they have similar names and purposes. See :data:`NotImplemented` for " -"details on when to use it." +"``NotImplementedError`` and :data:`NotImplemented` are not interchangeable, " +"even though they have similar names and purposes. See :data:`!" +"NotImplemented` for details on when to use it." msgstr "" -"``NotImplementedError`` e ``NotImplemented`` não são intercambiáveis, mesmo " -"que tenham nomes e propósitos similares. Veja :data:`NotImplemented` para " -"detalhes e casos de uso." +"``NotImplementedError`` e :data:`NotImplemented` não são intercambiáveis, " +"mesmo que tenham nomes e propósitos similares. Veja :data:`!NotImplemented` " +"para detalhes e casos de uso." -#: ../../library/exceptions.rst:323 +#: ../../library/exceptions.rst:347 msgid "" "This exception is raised when a system function returns a system-related " -"error, including I/O failures such as \"file not found\" or \"disk " -"full\" (not for illegal argument types or other incidental errors)." +"error, including I/O failures such as \"file not found\" or \"disk full\" " +"(not for illegal argument types or other incidental errors)." msgstr "" "Esta exceção é levantada quando uma função do sistema retorna um erro " "relacionado ao sistema, incluindo falhas do tipo E/S como \"file not found\" " "ou \"disk full\" (não para tipos de argumentos não permitidos ou outro erro " "acessório)." -#: ../../library/exceptions.rst:327 +#: ../../library/exceptions.rst:351 msgid "" "The second form of the constructor sets the corresponding attributes, " "described below. The attributes default to :const:`None` if not specified. " -"For backwards compatibility, if three arguments are passed, the :attr:" -"`~BaseException.args` attribute contains only a 2-tuple of the first two " -"constructor arguments." +"For backwards compatibility, if three arguments are passed, " +"the :attr:`~BaseException.args` attribute contains only a 2-tuple of the " +"first two constructor arguments." msgstr "" "A segunda forma do construtor definir os atributos correspondentes, " "descritos abaixo. Os atributos usarão o valor padrão :const:`None` se não " @@ -557,13 +582,13 @@ msgstr "" "argumentos são passados, o atributo :attr:`~BaseException.args` contêm " "somente uma tupla de 2 elementos, os dois primeiros argumentos do construtor." -#: ../../library/exceptions.rst:333 +#: ../../library/exceptions.rst:357 msgid "" "The constructor often actually returns a subclass of :exc:`OSError`, as " "described in `OS exceptions`_ below. The particular subclass depends on the " -"final :attr:`.errno` value. This behaviour only occurs when constructing :" -"exc:`OSError` directly or via an alias, and is not inherited when " -"subclassing." +"final :attr:`.errno` value. This behaviour only occurs when " +"constructing :exc:`OSError` directly or via an alias, and is not inherited " +"when subclassing." msgstr "" "O construtor geralmente retorna uma subclasse de :exc:`OSError`, como " "descrito abaixo em `OS exceptions`_ . A subclasse particular depende do " @@ -571,114 +596,114 @@ msgstr "" "construção direta ou por meio de um apelido de :exc:`OSError`, e não é " "herdado na criação de subclasses." -#: ../../library/exceptions.rst:341 +#: ../../library/exceptions.rst:365 msgid "A numeric error code from the C variable :c:data:`errno`." msgstr "Um código de erro numérico da variável C :c:data:`errno`." -#: ../../library/exceptions.rst:345 +#: ../../library/exceptions.rst:369 msgid "" -"Under Windows, this gives you the native Windows error code. The :attr:`." -"errno` attribute is then an approximate translation, in POSIX terms, of that " -"native error code." +"Under Windows, this gives you the native Windows error code. " +"The :attr:`.errno` attribute is then an approximate translation, in POSIX " +"terms, of that native error code." msgstr "" -"No Windows, isso fornece o código de erro nativo do Windows. O atributo :" -"attr:`.errno` é então uma tradução aproximada, em termos POSIX, desse código " -"de erro nativo." +"No Windows, isso fornece o código de erro nativo do Windows. O " +"atributo :attr:`.errno` é então uma tradução aproximada, em termos POSIX, " +"desse código de erro nativo." -#: ../../library/exceptions.rst:349 +#: ../../library/exceptions.rst:373 msgid "" -"Under Windows, if the *winerror* constructor argument is an integer, the :" -"attr:`.errno` attribute is determined from the Windows error code, and the " -"*errno* argument is ignored. On other platforms, the *winerror* argument is " -"ignored, and the :attr:`winerror` attribute does not exist." +"Under Windows, if the *winerror* constructor argument is an integer, " +"the :attr:`.errno` attribute is determined from the Windows error code, and " +"the *errno* argument is ignored. On other platforms, the *winerror* " +"argument is ignored, and the :attr:`winerror` attribute does not exist." msgstr "" "No Windows, se o argumento de construtor *winerror* for um inteiro, o " "atributo :attr:`.errno` é determinado a partir do código de erro do Windows " "e o argumento *errno* é ignorado. Em outras plataformas, o argumento " "*winerror* é ignorado e o atributo :attr:`winerror` não existe." -#: ../../library/exceptions.rst:357 +#: ../../library/exceptions.rst:381 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 "" "A mensagem de erro correspondente, conforme fornecida pelo sistema " -"operacional. É formatada pelas funções C :c:func:`perror` no POSIX e :c:func:" -"`FormatMessage` no Windows." +"operacional. É formatada pelas funções C :c:func:`perror` no POSIX " +"e :c:func:`FormatMessage` no Windows." -#: ../../library/exceptions.rst:365 +#: ../../library/exceptions.rst:389 msgid "" -"For exceptions that involve a file system path (such as :func:`open` or :" -"func:`os.unlink`), :attr:`filename` is the file name passed to the function. " -"For functions that involve two file system paths (such as :func:`os." -"rename`), :attr:`filename2` corresponds to the second file name passed to " -"the function." +"For exceptions that involve a file system path (such as :func:`open` " +"or :func:`os.unlink`), :attr:`filename` is the file name passed to the " +"function. For functions that involve two file system paths (such " +"as :func:`os.rename`), :attr:`filename2` corresponds to the second file name " +"passed to the function." msgstr "" -"Para exceções que envolvem um caminho do sistema de arquivos (como :func:" -"`open` ou :func:`os.unlink`), :attr:`filename` é o nome do arquivo passado " -"para a função. Para funções que envolvem dois caminhos de sistema de " -"arquivos (como :func:`os.rename`), :attr:`filename2` corresponde ao segundo " -"nome de arquivo passado para a função." +"Para exceções que envolvem um caminho do sistema de arquivos " +"(como :func:`open` ou :func:`os.unlink`), :attr:`filename` é o nome do " +"arquivo passado para a função. Para funções que envolvem dois caminhos de " +"sistema de arquivos (como :func:`os.rename`), :attr:`filename2` corresponde " +"ao segundo nome de arquivo passado para a função." -#: ../../library/exceptions.rst:372 +#: ../../library/exceptions.rst:396 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." +":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." msgstr "" -":exc:`EnvironmentError`, :exc:`IOError`, :exc:`WindowsError`, :exc:`socket." -"error`, :exc:`select.error` e :exc:`mmap.error` foram fundidos em :exc:" -"`OSError`, e o construtor pode retornar uma subclasse." +":exc:`EnvironmentError`, :exc:`IOError`, :exc:`WindowsError`, :exc:`socket.error`, :exc:`select.error` " +"e :exc:`mmap.error` foram fundidos em :exc:`OSError`, e o construtor pode " +"retornar uma subclasse." -#: ../../library/exceptions.rst:378 +#: ../../library/exceptions.rst:402 msgid "" "The :attr:`filename` attribute is now the original file name passed to the " -"function, instead of the name encoded to or decoded from the :term:" -"`filesystem encoding and error handler`. Also, the *filename2* constructor " -"argument and attribute was added." +"function, instead of the name encoded to or decoded from " +"the :term:`filesystem encoding and error handler`. Also, the *filename2* " +"constructor argument and attribute was added." msgstr "" "O atributo :attr:`filename` agora é o nome do arquivo original passado para " "a função, ao invés do nome codificado ou decodificado da :term:`tratador de " "erros e codificação do sistema de arquivos`. Além disso, o argumento e o " "atributo de construtor *filename2* foi adicionado." -#: ../../library/exceptions.rst:387 +#: ../../library/exceptions.rst:411 msgid "" "Raised when the result of an arithmetic operation is too large to be " -"represented. This cannot occur for integers (which would rather raise :exc:" -"`MemoryError` than give up). However, for historical reasons, OverflowError " -"is sometimes raised for integers that are outside a required range. " -"Because of the lack of standardization of floating point exception handling " -"in C, most floating point operations are not checked." +"represented. This cannot occur for integers (which would rather " +"raise :exc:`MemoryError` than give up). However, for historical reasons, " +"OverflowError is sometimes raised for integers that are outside a required " +"range. Because of the lack of standardization of floating point exception " +"handling in C, most floating point operations are not checked." msgstr "" "Levantada quando o resultado de uma operação aritmética é muito grande para " -"ser representada. Isso não pode ocorrer para inteiros (que prefere levantar :" -"exc:`MemoryError` a desistir). No entanto, por motivos históricos, " +"ser representada. Isso não pode ocorrer para inteiros (que prefere " +"levantar :exc:`MemoryError` a desistir). No entanto, por motivos históricos, " "OverflowError às vezes é levantada para inteiros que estão fora de um " "intervalo obrigatório. Devido à falta de padronização do tratamento de " "exceção de ponto flutuante em C, a maioria das operações de ponto flutuante " "não são verificadas." -#: ../../library/exceptions.rst:397 +#: ../../library/exceptions.rst:421 msgid "" "This exception is derived from :exc:`RuntimeError`. It is raised when the " -"interpreter detects that the maximum recursion depth (see :func:`sys." -"getrecursionlimit`) is exceeded." +"interpreter detects that the maximum recursion depth " +"(see :func:`sys.getrecursionlimit`) is exceeded." msgstr "" "Esta exceção é derivada de :exc:`RuntimeError`. É levantada quando o " -"interpretador detecta que a profundidade máxima de recursão (veja :func:`sys." -"getrecursionlimit`) foi excedida." +"interpretador detecta que a profundidade máxima de recursão " +"(veja :func:`sys.getrecursionlimit`) foi excedida." -#: ../../library/exceptions.rst:401 +#: ../../library/exceptions.rst:425 msgid "Previously, a plain :exc:`RuntimeError` was raised." msgstr "Anteriormente, uma :exc:`RuntimeError` simples era levantada." -#: ../../library/exceptions.rst:407 +#: ../../library/exceptions.rst:431 msgid "" -"This exception is raised when a weak reference proxy, created by the :func:" -"`weakref.proxy` function, is used to access an attribute of the referent " -"after it has been garbage collected. For more information on weak " +"This exception is raised when a weak reference proxy, created by " +"the :func:`weakref.proxy` function, is used to access an attribute of the " +"referent after it has been garbage collected. For more information on weak " "references, see the :mod:`weakref` module." msgstr "" "Esta exceção é levantada quando um intermediário de referência fraca, criado " @@ -686,7 +711,7 @@ msgstr "" "referente após ter sido coletado como lixo. Para mais informações sobre " "referências fracas, veja o módulo :mod:`weakref`." -#: ../../library/exceptions.rst:415 +#: ../../library/exceptions.rst:439 msgid "" "Raised when an error is detected that doesn't fall in any of the other " "categories. The associated value is a string indicating what precisely went " @@ -696,36 +721,38 @@ msgstr "" "categorias. O valor associado é uma string indicando o que precisamente deu " "errado." -#: ../../library/exceptions.rst:422 +#: ../../library/exceptions.rst:446 msgid "" -"Raised by built-in function :func:`next` and an :term:`iterator`\\'s :meth:" -"`~iterator.__next__` method to signal that there are no further items " -"produced by the iterator." +"Raised by built-in function :func:`next` and " +"an :term:`iterator`\\'s :meth:`~iterator.__next__` method to signal that " +"there are no further items produced by the iterator." msgstr "" -"Levantada pela função embutida :func:`next` e o método :meth:`~iterator." -"__next__` de um :term:`iterador` para sinalizar que não há mais itens " -"produzidos pelo iterador." +"Levantada pela função embutida :func:`next` e o " +"método :meth:`~iterator.__next__` de um :term:`iterador` para sinalizar que " +"não há mais itens produzidos pelo iterador." -#: ../../library/exceptions.rst:426 +#: ../../library/exceptions.rst:452 msgid "" -"The exception object has a single attribute :attr:`value`, which is given as " -"an argument when constructing the exception, and defaults to :const:`None`." +"The exception object has a single attribute :attr:`!value`, which is given " +"as an argument when constructing the exception, and defaults " +"to :const:`None`." msgstr "" -"O objeto exceção tem um único atributo :attr:`value`, que é fornecido como " +"O objeto exceção tem um único atributo :attr:`!value`, que é fornecido como " "um argumento ao construir a exceção, e o padrão é :const:`None`." -#: ../../library/exceptions.rst:430 +#: ../../library/exceptions.rst:456 msgid "" -"When a :term:`generator` or :term:`coroutine` function returns, a new :exc:" -"`StopIteration` instance is raised, and the value returned by the function " -"is used as the :attr:`value` parameter to the constructor of the exception." +"When a :term:`generator` or :term:`coroutine` function returns, a " +"new :exc:`StopIteration` instance is raised, and the value returned by the " +"function is used as the :attr:`value` parameter to the constructor of the " +"exception." msgstr "" "Quando uma função :term:`geradora ` ou :term:`corrotina` retorna, " "uma nova instância :exc:`StopIteration` é levantada, e o valor retornado " "pela função é usado como o parâmetro :attr:`value` para o construtor da " "exceção." -#: ../../library/exceptions.rst:435 +#: ../../library/exceptions.rst:461 msgid "" "If a generator code directly or indirectly raises :exc:`StopIteration`, it " "is converted into a :exc:`RuntimeError` (retaining the :exc:`StopIteration` " @@ -735,7 +762,7 @@ msgstr "" "ele é convertido em uma :exc:`RuntimeError` (mantendo o :exc:`StopIteration` " "como a nova causa da exceção)." -#: ../../library/exceptions.rst:439 +#: ../../library/exceptions.rst:465 msgid "" "Added ``value`` attribute and the ability for generator functions to use it " "to return a value." @@ -743,7 +770,7 @@ msgstr "" "Adicionado o atributo ``value`` e a capacidade das funções geradoras de usá-" "lo para retornar um valor." -#: ../../library/exceptions.rst:443 +#: ../../library/exceptions.rst:469 msgid "" "Introduced the RuntimeError transformation via ``from __future__ import " "generator_stop``, see :pep:`479`." @@ -751,36 +778,36 @@ msgstr "" "Introduzida a transformação RuntimeError via ``from __future__ import " "generator_stop``, consulte :pep:`479`." -#: ../../library/exceptions.rst:447 +#: ../../library/exceptions.rst:473 msgid "" "Enable :pep:`479` for all code by default: a :exc:`StopIteration` error " "raised in a generator is transformed into a :exc:`RuntimeError`." msgstr "" -"Habilita :pep:`479` para todo o código por padrão: um erro :exc:" -"`StopIteration` levantado em um gerador é transformado em uma :exc:" -"`RuntimeError`." +"Habilita :pep:`479` para todo o código por padrão: um " +"erro :exc:`StopIteration` levantado em um gerador é transformado em " +"uma :exc:`RuntimeError`." -#: ../../library/exceptions.rst:453 +#: ../../library/exceptions.rst:479 msgid "" -"Must be raised by :meth:`__anext__` method of an :term:`asynchronous " +"Must be raised by :meth:`~object.__anext__` method of an :term:`asynchronous " "iterator` object to stop the iteration." msgstr "" -"Deve ser levantada pelo método :meth:`__anext__` de um objeto :term:" -"`iterador assíncrono` para parar a iteração." +"Deve ser levantada pelo método :meth:`~object.__anext__` de um " +"objeto :term:`iterador assíncrono` para parar a iteração." -#: ../../library/exceptions.rst:460 +#: ../../library/exceptions.rst:486 msgid "" -"Raised when the parser encounters a syntax error. This may occur in an :" -"keyword:`import` statement, in a call to the built-in functions :func:" -"`compile`, :func:`exec`, or :func:`eval`, or when reading the initial script " -"or standard input (also interactively)." +"Raised when the parser encounters a syntax error. This may occur in " +"an :keyword:`import` statement, in a call to the built-in " +"functions :func:`compile`, :func:`exec`, or :func:`eval`, or when reading " +"the initial script or standard input (also interactively)." msgstr "" "Levantada quando o analisador encontra um erro de sintaxe. Isso pode ocorrer " -"em uma instrução :keyword:`import`, em uma chamada às funções embutidas :" -"func:`compile`, :func:`exec` ou :func:`eval`, ou ao ler o script inicial ou " -"entrada padrão (também interativamente)." +"em uma instrução :keyword:`import`, em uma chamada às funções " +"embutidas :func:`compile`, :func:`exec` ou :func:`eval`, ou ao ler o script " +"inicial ou entrada padrão (também interativamente)." -#: ../../library/exceptions.rst:466 +#: ../../library/exceptions.rst:492 msgid "" "The :func:`str` of the exception instance returns only the error message. " "Details is a tuple whose members are also available as separate attributes." @@ -789,11 +816,11 @@ msgstr "" "erro. Detalhes é uma tupla cujos membros também estão disponíveis como " "atributos separados." -#: ../../library/exceptions.rst:471 +#: ../../library/exceptions.rst:497 msgid "The name of the file the syntax error occurred in." msgstr "O nome do arquivo em que ocorreu o erro de sintaxe." -#: ../../library/exceptions.rst:475 +#: ../../library/exceptions.rst:501 msgid "" "Which line number in the file the error occurred in. This is 1-indexed: the " "first line in the file has a ``lineno`` of 1." @@ -801,7 +828,7 @@ msgstr "" "Em qual número de linha no arquivo o erro ocorreu. Este é indexado em 1: a " "primeira linha no arquivo tem um ``lineno`` de 1." -#: ../../library/exceptions.rst:480 +#: ../../library/exceptions.rst:506 msgid "" "The column in the line where the error occurred. This is 1-indexed: the " "first character in the line has an ``offset`` of 1." @@ -809,11 +836,11 @@ msgstr "" "A coluna da linha em que ocorreu o erro. Este é indexado em 1: o primeiro " "caractere na linha tem um ``offset`` de 1." -#: ../../library/exceptions.rst:485 +#: ../../library/exceptions.rst:511 msgid "The source code text involved in the error." msgstr "O texto do código-fonte envolvido no erro." -#: ../../library/exceptions.rst:489 +#: ../../library/exceptions.rst:515 msgid "" "Which line number in the file the error occurred ends in. This is 1-indexed: " "the first line in the file has a ``lineno`` of 1." @@ -821,15 +848,15 @@ msgstr "" "Em qual número de linha no arquivo o erro ocorrido termina. Este é indexado " "em 1: a primeira linha no arquivo tem um ``lineno`` de 1." -#: ../../library/exceptions.rst:494 +#: ../../library/exceptions.rst:520 msgid "" "The column in the end line where the error occurred finishes. This is 1-" "indexed: the first character in the line has an ``offset`` of 1." msgstr "" -"A coluna da linha final em que erro ocorrido finaliza Este é indexado em 1: " +"A coluna da linha final em que o erro ocorreu termina. Este é indexado em 1: " "o primeiro caractere na linha tem um ``offset`` de 1." -#: ../../library/exceptions.rst:497 +#: ../../library/exceptions.rst:523 msgid "" "For errors in f-string fields, the message is prefixed by \"f-string: \" and " "the offsets are offsets in a text constructed from the replacement " @@ -839,14 +866,14 @@ msgstr "" "Para erros em campos de f-string, a mensagem é prefixada por \"f-string: \" " "e os \"offsets\" são deslocamentos em um texto construído a partir da " "expressão de substituição. Por exemplo, compilar o campo f'Bad {a b}' " -"resulta neste atributo de argumentos: ('f-string: ...', ('', 1, 2, '(a " -"b)\\n', 1, 5))." +"resulta neste atributo de argumentos: ('f-string: ...', ('', 1, 2, '(a b)" +"\\n', 1, 5))." -#: ../../library/exceptions.rst:502 +#: ../../library/exceptions.rst:528 msgid "Added the :attr:`end_lineno` and :attr:`end_offset` attributes." -msgstr "Adicionado os atributos :attr:`end_lineno` e :attr:`end_offset`." +msgstr "Adicionados os atributos :attr:`end_lineno` e :attr:`end_offset`." -#: ../../library/exceptions.rst:507 +#: ../../library/exceptions.rst:533 msgid "" "Base class for syntax errors related to incorrect indentation. This is a " "subclass of :exc:`SyntaxError`." @@ -854,7 +881,7 @@ msgstr "" "Classe base para erros de sintaxe relacionados a indentação incorreta. Esta " "é uma subclasse de :exc:`SyntaxError`." -#: ../../library/exceptions.rst:513 +#: ../../library/exceptions.rst:539 msgid "" "Raised when indentation contains an inconsistent use of tabs and spaces. " "This is a subclass of :exc:`IndentationError`." @@ -862,7 +889,7 @@ msgstr "" "Levantada quando o indentação contém um uso inconsistente de tabulações e " "espaços. Esta é uma subclasse de :exc:`IndentationError`." -#: ../../library/exceptions.rst:519 +#: ../../library/exceptions.rst:545 msgid "" "Raised when the interpreter finds an internal error, but the situation does " "not look so serious to cause it to abandon all hope. The associated value is " @@ -873,11 +900,11 @@ msgstr "" "associado é uma string que indica o que deu errado (em termos de baixo " "nível)." -#: ../../library/exceptions.rst:523 +#: ../../library/exceptions.rst:549 msgid "" "You should report this to the author or maintainer of your Python " -"interpreter. Be sure to report the version of the Python interpreter (``sys." -"version``; it is also printed at the start of an interactive Python " +"interpreter. Be sure to report the version of the Python interpreter " +"(``sys.version``; it is also printed at the start of an interactive Python " "session), the exact error message (the exception's associated value) and if " "possible the source of the program that triggered the error." msgstr "" @@ -887,31 +914,31 @@ msgstr "" "erro exata (o valor associado da exceção) e se possível a fonte do programa " "que acionou o erro." -#: ../../library/exceptions.rst:532 +#: ../../library/exceptions.rst:558 msgid "" "This exception is raised by the :func:`sys.exit` function. It inherits " "from :exc:`BaseException` instead of :exc:`Exception` so that it is not " "accidentally caught by code that catches :exc:`Exception`. This allows the " "exception to properly propagate up and cause the interpreter to exit. When " "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 " -"is zero; if it has another type (such as a string), the object's value is " -"printed and the exit status is one." -msgstr "" -"Esta exceção é levantada pela função :func:`sys.exit`. Ele herda de :exc:" -"`BaseException` em vez de :exc:`Exception` para que não seja acidentalmente " -"capturado pelo código que captura :exc:`Exception`. Isso permite que a " -"exceção se propague corretamente e faça com que o interpretador saia. Quando " -"não é tratado, o interpretador Python sai; nenhum traceback (situação da " -"pilha de execução) é impresso. O construtor aceita o mesmo argumento " -"opcional passado para :func:`sys.exit`. Se o valor for um inteiro, ele " -"especifica o status de saída do sistema (passado para a função C :c:func:" -"`exit`); se for ``None``, o status de saída é zero; se tiver outro tipo " -"(como uma string), o valor do objeto é exibido e o status de saída é um." - -#: ../../library/exceptions.rst:543 +"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 is zero; if it has another type (such as a string), the object's " +"value is printed and the exit status is one." +msgstr "" +"Esta exceção é levantada pela função :func:`sys.exit`. Ele herda " +"de :exc:`BaseException` em vez de :exc:`Exception` para que não seja " +"acidentalmente capturado pelo código que captura :exc:`Exception`. Isso " +"permite que a exceção se propague corretamente e faça com que o " +"interpretador saia. Quando não é tratado, o interpretador Python sai; nenhum " +"traceback (situação da pilha de execução) é impresso. O construtor aceita o " +"mesmo argumento opcional passado para :func:`sys.exit`. Se o valor for um " +"inteiro, ele especifica o status de saída do sistema (passado para a função " +"C :c:func:`exit`); se for ``None``, o status de saída é zero; se tiver outro " +"tipo (como uma string), o valor do objeto é exibido e o status de saída é um." + +#: ../../library/exceptions.rst:569 msgid "" "A call to :func:`sys.exit` is translated into an exception so that clean-up " "handlers (:keyword:`finally` clauses of :keyword:`try` statements) can be " @@ -921,13 +948,14 @@ msgid "" "child process after a call to :func:`os.fork`)." msgstr "" "Uma chamada para :func:`sys.exit` é traduzida em uma exceção para que os " -"tratadores de limpeza (cláusulas :keyword:`finally` das instruções :keyword:" -"`try`) possam ser executados, e para que um depurador possa executar um " -"script sem correr o risco de perder o controle. A função :func:`os._exit` " -"pode ser usada se for absolutamente necessário sair imediatamente (por " -"exemplo, no processo filho após uma chamada para :func:`os.fork`)." +"tratadores de limpeza (cláusulas :keyword:`finally` das " +"instruções :keyword:`try`) possam ser executados, e para que um depurador " +"possa executar um script sem correr o risco de perder o controle. A " +"função :func:`os._exit` pode ser usada se for absolutamente necessário sair " +"imediatamente (por exemplo, no processo filho após uma chamada " +"para :func:`os.fork`)." -#: ../../library/exceptions.rst:552 +#: ../../library/exceptions.rst:578 msgid "" "The exit status or error message that is passed to the constructor. " "(Defaults to ``None``.)" @@ -935,7 +963,7 @@ msgstr "" "O status de saída ou mensagem de erro transmitida ao construtor. (O padrão é " "``None``.)" -#: ../../library/exceptions.rst:558 +#: ../../library/exceptions.rst:584 msgid "" "Raised when an operation or function is applied to an object of " "inappropriate type. The associated value is a string giving details about " @@ -945,7 +973,7 @@ msgstr "" "inadequado. O valor associado é uma string que fornece detalhes sobre a " "incompatibilidade de tipo." -#: ../../library/exceptions.rst:561 +#: ../../library/exceptions.rst:587 msgid "" "This exception may be raised by user code to indicate that an attempted " "operation on an object is not supported, and is not meant to be. If an " @@ -958,29 +986,29 @@ msgstr "" "implementação, :exc:`NotImplementedError` é a exceção apropriada a ser " "levantada." -#: ../../library/exceptions.rst:566 +#: ../../library/exceptions.rst:592 msgid "" -"Passing arguments of the wrong type (e.g. passing a :class:`list` when an :" -"class:`int` is expected) should result in a :exc:`TypeError`, but passing " -"arguments with the wrong value (e.g. a number outside expected boundaries) " -"should result in a :exc:`ValueError`." +"Passing arguments of the wrong type (e.g. passing a :class:`list` when " +"an :class:`int` is expected) should result in a :exc:`TypeError`, but " +"passing arguments with the wrong value (e.g. a number outside expected " +"boundaries) should result in a :exc:`ValueError`." msgstr "" "Passar argumentos do tipo errado (por exemplo, passar uma :class:`list` " "quando um :class:`int` é esperado) deve resultar em uma :exc:`TypeError`, " -"mas passar argumentos com o valor errado (por exemplo, um número fora " +"mas passar argumentos com o valor errado (por exemplo, um número fora dos " "limites esperados) deve resultar em uma :exc:`ValueError`." -#: ../../library/exceptions.rst:573 +#: ../../library/exceptions.rst:599 msgid "" "Raised when a reference is made to a local variable in a function or method, " -"but no value has been bound to that variable. This is a subclass of :exc:" -"`NameError`." +"but no value has been bound to that variable. This is a subclass " +"of :exc:`NameError`." msgstr "" "Levantada quando uma referência é feita a uma variável local em uma função " "ou método, mas nenhum valor foi vinculado a essa variável. Esta é uma " "subclasse de :exc:`NameError`." -#: ../../library/exceptions.rst:580 +#: ../../library/exceptions.rst:606 msgid "" "Raised when a Unicode-related encoding or decoding error occurs. It is a " "subclass of :exc:`ValueError`." @@ -988,7 +1016,7 @@ msgstr "" "Levantada quando ocorre um erro de codificação ou decodificação relacionado " "ao Unicode. É uma subclasse de :exc:`ValueError`." -#: ../../library/exceptions.rst:583 +#: ../../library/exceptions.rst:609 msgid "" ":exc:`UnicodeError` has attributes that describe the encoding or decoding " "error. For example, ``err.object[err.start:err.end]`` gives the particular " @@ -998,27 +1026,27 @@ msgstr "" "decodificação. Por exemplo, ``err.object[err.start:err.end]`` fornece a " "entrada inválida específica na qual o codec falhou." -#: ../../library/exceptions.rst:589 +#: ../../library/exceptions.rst:615 msgid "The name of the encoding that raised the error." msgstr "O nome da codificação que levantou o erro." -#: ../../library/exceptions.rst:593 +#: ../../library/exceptions.rst:619 msgid "A string describing the specific codec error." msgstr "Uma string que descreve o erro de codec específico." -#: ../../library/exceptions.rst:597 +#: ../../library/exceptions.rst:623 msgid "The object the codec was attempting to encode or decode." msgstr "O objeto que o codec estava tentando codificar ou decodificar." -#: ../../library/exceptions.rst:601 +#: ../../library/exceptions.rst:627 msgid "The first index of invalid data in :attr:`object`." msgstr "O primeiro índice de dados inválidos em :attr:`object`." -#: ../../library/exceptions.rst:605 +#: ../../library/exceptions.rst:631 msgid "The index after the last invalid data in :attr:`object`." msgstr "O índice após os últimos dados inválidos em :attr:`object`." -#: ../../library/exceptions.rst:610 +#: ../../library/exceptions.rst:636 msgid "" "Raised when a Unicode-related error occurs during encoding. It is a " "subclass of :exc:`UnicodeError`." @@ -1026,7 +1054,7 @@ msgstr "" "Levantada quando ocorre um erro relacionado ao Unicode durante a " "codificação. É uma subclasse de :exc:`UnicodeError`." -#: ../../library/exceptions.rst:616 +#: ../../library/exceptions.rst:642 msgid "" "Raised when a Unicode-related error occurs during decoding. It is a " "subclass of :exc:`UnicodeError`." @@ -1034,7 +1062,7 @@ msgstr "" "Levantada quando ocorre um erro relacionado ao Unicode durante a " "decodificação. É uma subclasse de :exc:`UnicodeError`." -#: ../../library/exceptions.rst:622 +#: ../../library/exceptions.rst:648 msgid "" "Raised when a Unicode-related error occurs during translating. It is a " "subclass of :exc:`UnicodeError`." @@ -1042,7 +1070,7 @@ msgstr "" "Levantada quando ocorre um erro relacionado ao Unicode durante a tradução. É " "uma subclasse de :exc:`UnicodeError`." -#: ../../library/exceptions.rst:628 +#: ../../library/exceptions.rst:654 msgid "" "Raised when an operation or function receives an argument that has the right " "type but an inappropriate value, and the situation is not described by a " @@ -1052,7 +1080,7 @@ msgstr "" "certo, mas um valor inadequado, e a situação não é descrita por uma exceção " "mais precisa, como :exc:`IndexError`." -#: ../../library/exceptions.rst:635 +#: ../../library/exceptions.rst:661 msgid "" "Raised when the second argument of a division or modulo operation is zero. " "The associated value is a string indicating the type of the operands and the " @@ -1062,7 +1090,7 @@ msgstr "" "zero. O valor associado é uma string que indica o tipo dos operandos e a " "operação." -#: ../../library/exceptions.rst:640 +#: ../../library/exceptions.rst:666 msgid "" "The following exceptions are kept for compatibility with previous versions; " "starting from Python 3.3, they are aliases of :exc:`OSError`." @@ -1070,15 +1098,15 @@ msgstr "" "As seguintes exceções são mantidas para compatibilidade com versões " "anteriores; a partir do Python 3.3, eles são apelidos de :exc:`OSError`." -#: ../../library/exceptions.rst:649 +#: ../../library/exceptions.rst:675 msgid "Only available on Windows." msgstr "Disponível apenas no Windows." -#: ../../library/exceptions.rst:653 +#: ../../library/exceptions.rst:679 msgid "OS exceptions" msgstr "Exceções de sistema operacional" -#: ../../library/exceptions.rst:655 +#: ../../library/exceptions.rst:681 msgid "" "The following exceptions are subclasses of :exc:`OSError`, they get raised " "depending on the system error code." @@ -1086,19 +1114,19 @@ msgstr "" "As seguintes exceções são subclasses de :exc:`OSError`, elas são levantadas " "dependendo do código de erro do sistema." -#: ../../library/exceptions.rst:660 +#: ../../library/exceptions.rst:686 msgid "" "Raised when an operation would block on an object (e.g. socket) set for non-" -"blocking operation. Corresponds to :c:data:`errno` :py:data:`~errno." -"EAGAIN`, :py:data:`~errno.EALREADY`, :py:data:`~errno.EWOULDBLOCK` and :py:" -"data:`~errno.EINPROGRESS`." +"blocking operation. Corresponds " +"to :c:data:`errno` :py:const:`~errno.EAGAIN`, :py:const:`~errno.EALREADY`, :py:const:`~errno.EWOULDBLOCK` " +"and :py:const:`~errno.EINPROGRESS`." msgstr "" -"Levantada quando uma operação bloquearia em um objeto (por exemplo, soquete) " -"definido para operação sem bloqueio. Corresponde a :py:data:`~errno." -"EAGAIN`, :py:data:`~errno.EALREADY`, :py:data:`~errno.EWOULDBLOCK` e :py:" -"data:`~errno.EINPROGRESS` de :c:data:`errno`." +"Levantada quando uma operação bloquearia em um objeto (por exemplo, um " +"soquete) definido para operação sem bloqueio. Corresponde " +"a :c:data:`errno` :py:const:`~errno.EAGAIN`, :py:const:`~errno.EALREADY`, :py:const:`~errno.EWOULDBLOCK` " +"e :py:const:`~errno.EINPROGRESS`." -#: ../../library/exceptions.rst:665 +#: ../../library/exceptions.rst:691 msgid "" "In addition to those of :exc:`OSError`, :exc:`BlockingIOError` can have one " "more attribute:" @@ -1106,7 +1134,7 @@ msgstr "" "Além daquelas de :exc:`OSError`, :exc:`BlockingIOError` pode ter mais um " "atributo:" -#: ../../library/exceptions.rst:670 +#: ../../library/exceptions.rst:696 msgid "" "An integer containing the number of characters written to the stream before " "it blocked. This attribute is available when using the buffered I/O classes " @@ -1116,285 +1144,289 @@ msgstr "" "bloqueado. Este atributo está disponível ao usar as classes de E/S em buffer " "do módulo :mod:`io`." -#: ../../library/exceptions.rst:676 +#: ../../library/exceptions.rst:702 msgid "" -"Raised when an operation on a child process failed. Corresponds to :c:data:" -"`errno` :py:data:`~errno.ECHILD`." +"Raised when an operation on a child process failed. Corresponds " +"to :c:data:`errno` :py:const:`~errno.ECHILD`." msgstr "" -"Levantada quando uma operação em um processo filho falhou. Corresponde a :py:" -"data:`~errno.ECHILD` de :c:data:`errno`." +"Levantada quando uma operação em um processo filho falha. Corresponde " +"a :c:data:`errno` :py:const:`~errno.ECHILD`." -#: ../../library/exceptions.rst:681 +#: ../../library/exceptions.rst:707 msgid "A base class for connection-related issues." msgstr "Uma classe base para problemas relacionados à conexão." -#: ../../library/exceptions.rst:683 +#: ../../library/exceptions.rst:709 msgid "" -"Subclasses are :exc:`BrokenPipeError`, :exc:`ConnectionAbortedError`, :exc:" -"`ConnectionRefusedError` and :exc:`ConnectionResetError`." +"Subclasses " +"are :exc:`BrokenPipeError`, :exc:`ConnectionAbortedError`, :exc:`ConnectionRefusedError` " +"and :exc:`ConnectionResetError`." msgstr "" -"Suas subclasses são :exc:`BrokenPipeError`, :exc:`ConnectionAbortedError`, :" -"exc:`ConnectionRefusedError` e :exc:`ConnectionResetError`." +"Suas subclasses " +"são :exc:`BrokenPipeError`, :exc:`ConnectionAbortedError`, :exc:`ConnectionRefusedError` " +"e :exc:`ConnectionResetError`." -#: ../../library/exceptions.rst:688 +#: ../../library/exceptions.rst:714 msgid "" "A subclass of :exc:`ConnectionError`, raised when trying to write on a pipe " "while the other end has been closed, or trying to write on a socket which " -"has been shutdown for writing. Corresponds to :c:data:`errno` :py:data:" -"`~errno.EPIPE` and :py:data:`~errno.ESHUTDOWN`." +"has been shutdown for writing. Corresponds " +"to :c:data:`errno` :py:const:`~errno.EPIPE` and :py:const:`~errno.ESHUTDOWN`." msgstr "" -"Uma subclasse de :exc:`ConnectionError`, levantada ao tentar escrever em um " -"encadeamento, ou *pipe*, enquanto a outra extremidade foi fechada, ou ao " -"tentar escrever em um socket que foi desligado para escrita. Corresponde a :" -"py:data:`~errno.EPIPE` e :py:data:`~errno.ESHUTDOWN` de :c:data:`errno`." +"Uma subclasse de :exc:`ConnectionError`, levantada ao tentar escrever em um " +"encadeamento, enquanto a outra extremidade foi fechada, ou ao tentar " +"escrever em um soquete que foi desligado para escrita. Corresponde " +"a :c:data:`errno` :py:const:`~errno.EPIPE` e :py:const:`~errno.ESHUTDOWN`." -#: ../../library/exceptions.rst:695 +#: ../../library/exceptions.rst:721 msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection attempt is " -"aborted by the peer. Corresponds to :c:data:`errno` :py:data:`~errno." -"ECONNABORTED`." +"aborted by the peer. Corresponds " +"to :c:data:`errno` :py:const:`~errno.ECONNABORTED`." msgstr "" "Uma subclasse de :exc:`ConnectionError`, levantada quando uma tentativa de " -"conexão é cancelada pelo par. Corresponde a :c:data:`errno` :py:data:`~errno." -"ECONNABORTED`." +"conexão é cancelada pelo par. Corresponde " +"a :c:data:`errno` :py:const:`~errno.ECONNABORTED`." -#: ../../library/exceptions.rst:701 +#: ../../library/exceptions.rst:727 msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection attempt is " -"refused by the peer. Corresponds to :c:data:`errno` :py:data:`~errno." -"ECONNREFUSED`." +"refused by the peer. Corresponds " +"to :c:data:`errno` :py:const:`~errno.ECONNREFUSED`." msgstr "" "Uma subclasse de :exc:`ConnectionError`, levantada quando uma tentativa de " -"conexão é recusada pelo par. Corresponde a :c:data:`errno` :py:data:`~errno." -"ECONNREFUSED`." +"conexão é recusada pelo par. Corresponde " +"a :c:data:`errno` :py:const:`~errno.ECONNREFUSED`." -#: ../../library/exceptions.rst:707 +#: ../../library/exceptions.rst:733 msgid "" "A subclass of :exc:`ConnectionError`, raised when a connection is reset by " -"the peer. Corresponds to :c:data:`errno` :py:data:`~errno.ECONNRESET`." +"the peer. Corresponds to :c:data:`errno` :py:const:`~errno.ECONNRESET`." msgstr "" "Uma subclasse de :exc:`ConnectionError`, levantada quando uma conexão é " -"redefinida pelo par. Corresponde a :c:data:`errno` :py:data:`~errno." -"ECONNRESET`." +"redefinida pelo par. Corresponde " +"a :c:data:`errno` :py:const:`~errno.ECONNRESET`." -#: ../../library/exceptions.rst:713 +#: ../../library/exceptions.rst:739 msgid "" "Raised when trying to create a file or directory which already exists. " -"Corresponds to :c:data:`errno` :py:data:`~errno.EEXIST`." +"Corresponds to :c:data:`errno` :py:const:`~errno.EEXIST`." msgstr "" "Levantada ao tentar criar um arquivo ou diretório que já existe. Corresponde " -"a :c:data:`errno` :py:data:`~errno.EEXIST`." +"a :c:data:`errno` :py:const:`~errno.EEXIST`." -#: ../../library/exceptions.rst:718 +#: ../../library/exceptions.rst:744 msgid "" "Raised when a file or directory is requested but doesn't exist. Corresponds " -"to :c:data:`errno` :py:data:`~errno.ENOENT`." +"to :c:data:`errno` :py:const:`~errno.ENOENT`." msgstr "" "Levantada quando um arquivo ou diretório é solicitado, mas não existe. " -"Corresponde a :c:data:`errno` :py:data:`~errno.ENOENT`." +"Corresponde a :c:data:`errno` :py:const:`~errno.ENOENT`." -#: ../../library/exceptions.rst:723 +#: ../../library/exceptions.rst:749 msgid "" "Raised when a system call is interrupted by an incoming signal. Corresponds " -"to :c:data:`errno` :py:data:`~errno.EINTR`." +"to :c:data:`errno` :py:const:`~errno.EINTR`." msgstr "" "Levantada quando uma chamada do sistema é interrompida por um sinal de " -"entrada. Corresponde a :py:data:`~errno.EINTR` de :c:data:`errno`." +"entrada. Corresponde a :c:data:`errno` :py:const:`~errno.EINTR`." -#: ../../library/exceptions.rst:726 +#: ../../library/exceptions.rst:752 msgid "" "Python now retries system calls when a syscall is interrupted by a signal, " "except if the signal handler raises an exception (see :pep:`475` for the " "rationale), instead of raising :exc:`InterruptedError`." msgstr "" -"Python agora tenta novamente chamadas de sistema quando uma *syscall* é " -"interrompida por um sinal, exceto se o tratador de sinal levanta uma exceção " -"(veja :pep:`475` para a justificativa), em vez de levantar :exc:" -"`InterruptedError`." +"Python agora tenta novamente as chamadas de sistema quando uma delas é " +"interrompida por um sinal, exceto se o tratador de sinal levantar uma " +"exceção (veja :pep:`475` para a justificativa), em vez de " +"levantar :exc:`InterruptedError`." -#: ../../library/exceptions.rst:733 +#: ../../library/exceptions.rst:759 msgid "" "Raised when a file operation (such as :func:`os.remove`) is requested on a " -"directory. Corresponds to :c:data:`errno` :py:data:`~errno.EISDIR`." +"directory. Corresponds to :c:data:`errno` :py:const:`~errno.EISDIR`." msgstr "" "Levantada quando uma operação de arquivo (como :func:`os.remove`) é " -"solicitada em um diretório. Corresponde a :c:data:`errno` :py:data:`~errno." -"EISDIR`." +"solicitada em um diretório. Corresponde " +"a :c:data:`errno` :py:const:`~errno.EISDIR`." -#: ../../library/exceptions.rst:739 +#: ../../library/exceptions.rst:765 msgid "" "Raised when a directory operation (such as :func:`os.listdir`) is requested " "on something which is not a directory. On most POSIX platforms, it may also " "be raised if an operation attempts to open or traverse a non-directory file " -"as if it were a directory. Corresponds to :c:data:`errno` :py:data:`~errno." -"ENOTDIR`." +"as if it were a directory. Corresponds " +"to :c:data:`errno` :py:const:`~errno.ENOTDIR`." msgstr "" "Levantada quando uma operação de diretório (como :func:`os.listdir`) é " "solicitada em algo que não é um diretório. Na maioria das plataformas POSIX, " "ela também pode ser levantada se uma operação tentar abrir ou percorrer um " "arquivo não pertencente ao diretório como se fosse um diretório. Corresponde " -"a :c:data:`errno` :py:data:`~errno.ENOTDIR`." +"a :c:data:`errno` :py:const:`~errno.ENOTDIR`." -#: ../../library/exceptions.rst:747 +#: ../../library/exceptions.rst:773 msgid "" "Raised when trying to run an operation without the adequate access rights - " -"for example filesystem permissions. Corresponds to :c:data:`errno` :py:data:" -"`~errno.EACCES`, :py:data:`~errno.EPERM`, and :py:data:`~errno.ENOTCAPABLE`." +"for example filesystem permissions. Corresponds " +"to :c:data:`errno` :py:const:`~errno.EACCES`, :py:const:`~errno.EPERM`, " +"and :py:const:`~errno.ENOTCAPABLE`." msgstr "" "Levantada ao tentar executar uma operação sem os direitos de acesso " -"adequados -- por exemplo, permissões do sistema de arquivos. Corresponde a :" -"c:data:`errno` :py:data:`~errno.EACCES`, :py:data:`~errno.EPERM` e :py:data:" -"`~errno.ENOTCAPABLE`." +"adequados - por exemplo, permissões do sistema de arquivos. Corresponde " +"a :c:data:`errno` :py:const:`~errno.EACCES`, :py:const:`~errno.EPERM`, " +"e :py:const:`~errno.ENOTCAPABLE`." -#: ../../library/exceptions.rst:752 +#: ../../library/exceptions.rst:778 msgid "" -"WASI's :py:data:`~errno.ENOTCAPABLE` is now mapped to :exc:`PermissionError`." +"WASI's :py:const:`~errno.ENOTCAPABLE` is now mapped " +"to :exc:`PermissionError`." msgstr "" -":py:data:`~errno.ENOTCAPABLE` do WASI é agora mapeado para :exc:" -"`PermissionError`." +":py:const:`~errno.ENOTCAPABLE` do WASI agora é mapeado " +"para :exc:`PermissionError`." -#: ../../library/exceptions.rst:758 +#: ../../library/exceptions.rst:784 msgid "" -"Raised when a given process doesn't exist. Corresponds to :c:data:`errno` :" -"py:data:`~errno.ESRCH`." +"Raised when a given process doesn't exist. Corresponds " +"to :c:data:`errno` :py:const:`~errno.ESRCH`." msgstr "" -"Levantada quando um determinado processo não existe. Corresponde a :c:data:" -"`errno` :py:data:`~errno.ESRCH`." +"Levantada quando um determinado processo não existe. Corresponde " +"a :c:data:`errno` :py:const:`~errno.ESRCH`." -#: ../../library/exceptions.rst:763 +#: ../../library/exceptions.rst:789 msgid "" -"Raised when a system function timed out at the system level. Corresponds to :" -"c:data:`errno` :py:data:`~errno.ETIMEDOUT`." +"Raised when a system function timed out at the system level. Corresponds " +"to :c:data:`errno` :py:const:`~errno.ETIMEDOUT`." msgstr "" "Levantada quando uma função do sistema expirou no nível do sistema. " -"Corresponde a :c:data:`errno` :py:data:`~errno.ETIMEDOUT`." +"Corresponde a :c:data:`errno` :py:const:`~errno.ETIMEDOUT`." -#: ../../library/exceptions.rst:766 +#: ../../library/exceptions.rst:792 msgid "All the above :exc:`OSError` subclasses were added." msgstr "Todas as subclasses de :exc:`OSError` acima foram adicionadas." -#: ../../library/exceptions.rst:772 +#: ../../library/exceptions.rst:798 msgid ":pep:`3151` - Reworking the OS and IO exception hierarchy" -msgstr ":pep:`3151` - Reworking the OS and IO exception hierarchy" +msgstr ":pep:`3151` - Reorganiza a hierarquia de exceções de SO e E/S" -#: ../../library/exceptions.rst:778 +#: ../../library/exceptions.rst:804 msgid "Warnings" msgstr "Avisos" -#: ../../library/exceptions.rst:780 +#: ../../library/exceptions.rst:806 msgid "" -"The following exceptions are used as warning categories; see the :ref:" -"`warning-categories` documentation for more details." +"The following exceptions are used as warning categories; see " +"the :ref:`warning-categories` documentation for more details." msgstr "" "As seguintes exceções são usadas como categorias de aviso; veja a " "documentação de :ref:`warning-categories` para mais detalhes." -#: ../../library/exceptions.rst:785 +#: ../../library/exceptions.rst:811 msgid "Base class for warning categories." msgstr "Classe base para categorias de aviso." -#: ../../library/exceptions.rst:790 +#: ../../library/exceptions.rst:816 msgid "Base class for warnings generated by user code." msgstr "Classe base para avisos gerados pelo código do usuário." -#: ../../library/exceptions.rst:795 +#: ../../library/exceptions.rst:821 msgid "" "Base class for warnings about deprecated features when those warnings are " "intended for other Python developers." msgstr "" -"Classe base para avisos sobre recursos descontinuados quando esses avisos se " -"destinam a outros desenvolvedores Python." +"Classe base para avisos sobre recursos descontinuados destinados a outros " +"desenvolvedores Python." -#: ../../library/exceptions.rst:798 +#: ../../library/exceptions.rst:824 msgid "" -"Ignored by the default warning filters, except in the ``__main__`` module (:" -"pep:`565`). Enabling the :ref:`Python Development Mode ` shows this " -"warning." +"Ignored by the default warning filters, except in the ``__main__`` module " +"(:pep:`565`). Enabling the :ref:`Python Development Mode ` shows " +"this warning." msgstr "" -"Ignorado pelos filtros de aviso padrão, exceto no módulo ``__main__`` (:pep:" -"`565`). Habilitar o :ref:`Modo de Desenvolvimento do Python ` " -"mostra este aviso." +"Ignorado pelos filtros de aviso padrão, exceto no módulo ``__main__`` " +"(:pep:`565`). Habilitar o :ref:`Modo de Desenvolvimento do Python ` " +"exibe este aviso." -#: ../../library/exceptions.rst:802 ../../library/exceptions.rst:818 +#: ../../library/exceptions.rst:828 ../../library/exceptions.rst:844 msgid "The deprecation policy is described in :pep:`387`." msgstr "A política de descontinuação está descrita na :pep:`387`." -#: ../../library/exceptions.rst:807 +#: ../../library/exceptions.rst:833 msgid "" "Base class for warnings about features which are obsolete and expected to be " "deprecated in the future, but are not deprecated at the moment." msgstr "" -"Classe base para avisos sobre recursos que foram descontinuados e devem ser " -"descontinuados no futuro, mas não foram descontinuados ainda." +"Classe base para avisos sobre recursos obsoletos que devem ser " +"descontinuados no futuro, mas ainda não foram." -#: ../../library/exceptions.rst:811 +#: ../../library/exceptions.rst:837 msgid "" "This class is rarely used as emitting a warning about a possible upcoming " "deprecation is unusual, and :exc:`DeprecationWarning` is preferred for " "already active deprecations." msgstr "" -"Esta classe raramente é usada para emitir um aviso sobre uma possível " +"Esta classe raramente é usada para emitir um aviso de possível " "descontinuação futura, é incomum, e :exc:`DeprecationWarning` é preferível " "para descontinuações já ativas." -#: ../../library/exceptions.rst:815 ../../library/exceptions.rst:841 -#: ../../library/exceptions.rst:868 +#: ../../library/exceptions.rst:841 ../../library/exceptions.rst:867 +#: ../../library/exceptions.rst:894 msgid "" "Ignored by the default warning filters. Enabling the :ref:`Python " "Development Mode ` shows this warning." msgstr "" "Ignorado pelos filtros de aviso padrão. Habilitar o :ref:`Modo de " -"Desenvolvimento do Python ` mostra este aviso." +"Desenvolvimento do Python ` exibe este aviso." -#: ../../library/exceptions.rst:823 +#: ../../library/exceptions.rst:849 msgid "Base class for warnings about dubious syntax." msgstr "Classe base para avisos sobre sintaxe duvidosa." -#: ../../library/exceptions.rst:828 +#: ../../library/exceptions.rst:854 msgid "Base class for warnings about dubious runtime behavior." msgstr "" "Classe base para avisos sobre comportamento duvidoso de tempo de execução." -#: ../../library/exceptions.rst:833 +#: ../../library/exceptions.rst:859 msgid "" "Base class for warnings about deprecated features when those warnings are " "intended for end users of applications that are written in Python." msgstr "" -"Classe base para avisos sobre recursos descontinuados quando esses avisos se " -"destinam a usuários finais de aplicações escritas em Python." +"Classe base para avisos sobre recursos descontinuados destinados a usuários " +"finais de aplicações escritas em Python." -#: ../../library/exceptions.rst:839 +#: ../../library/exceptions.rst:865 msgid "Base class for warnings about probable mistakes in module imports." msgstr "" "Classe base para avisos sobre prováveis erros na importação de módulos." -#: ../../library/exceptions.rst:847 +#: ../../library/exceptions.rst:873 msgid "Base class for warnings related to Unicode." msgstr "Classe base para avisos relacionados a Unicode." -#: ../../library/exceptions.rst:852 +#: ../../library/exceptions.rst:878 msgid "Base class for warnings related to encodings." msgstr "Classe base para avisos relacionados a codificações." -#: ../../library/exceptions.rst:854 +#: ../../library/exceptions.rst:880 msgid "See :ref:`io-encoding-warning` for details." msgstr "Veja :ref:`io-encoding-warning` para detalhes." -#: ../../library/exceptions.rst:861 +#: ../../library/exceptions.rst:887 msgid "" "Base class for warnings related to :class:`bytes` and :class:`bytearray`." msgstr "" "Classe base para avisos relacionados a :class:`bytes` e :class:`bytearray`." -#: ../../library/exceptions.rst:866 +#: ../../library/exceptions.rst:892 msgid "Base class for warnings related to resource usage." -msgstr "Classe base para avisos relacionados a uso de recursos." +msgstr "Classe base para avisos relacionados ao uso de recursos." -#: ../../library/exceptions.rst:875 +#: ../../library/exceptions.rst:903 msgid "Exception groups" msgstr "Grupos de exceções" -#: ../../library/exceptions.rst:877 +#: ../../library/exceptions.rst:905 msgid "" "The following are used when it is necessary to raise multiple unrelated " "exceptions. They are part of the exception hierarchy so they can be handled " @@ -1406,89 +1438,91 @@ msgstr "" "não relacionadas. Eles fazem parte da hierarquia de exceção, portanto, podem " "ser tratados com :keyword:`except` como todas as outras exceções. Além " "disso, eles são reconhecidos por :keyword:`except*`, que " -"corresponde a seus subgrupos com base nos tipos de exceções contidas." +"corresponde aos seus subgrupos com base nos tipos de exceções contidas." -#: ../../library/exceptions.rst:886 +#: ../../library/exceptions.rst:914 msgid "" "Both of these exception types wrap the exceptions in the sequence ``excs``. " "The ``msg`` parameter must be a string. The difference between the two " "classes is that :exc:`BaseExceptionGroup` extends :exc:`BaseException` and " -"it can wrap any exception, while :exc:`ExceptionGroup` extends :exc:" -"`Exception` and it can only wrap subclasses of :exc:`Exception`. This design " -"is so that ``except Exception`` catches an :exc:`ExceptionGroup` but not :" -"exc:`BaseExceptionGroup`." +"it can wrap any exception, while :exc:`ExceptionGroup` " +"extends :exc:`Exception` and it can only wrap subclasses " +"of :exc:`Exception`. This design is so that ``except Exception`` catches " +"an :exc:`ExceptionGroup` but not :exc:`BaseExceptionGroup`." msgstr "" "Ambos os tipos de exceção agrupam as exceções na sequência ``excs``. O " "parâmetro ``msg`` deve ser uma string. A diferença entre as duas classes é " "que :exc:`BaseExceptionGroup` estende :exc:`BaseException` e pode envolver " "qualquer exceção, enquanto :exc:`ExceptionGroup` estende :exc:`Exception` e " -"só pode agrupar subclasses de :exc:`Exception`. Este design é para que " -"``except Exception`` capture um :exc:`ExceptionGroup` mas não :exc:" -"`BaseExceptionGroup`." +"pode agrupar apenas subclasses de :exc:`Exception`. Este design é para que " +"``except Exception`` capture um :exc:`ExceptionGroup` mas " +"não :exc:`BaseExceptionGroup`." -#: ../../library/exceptions.rst:894 +#: ../../library/exceptions.rst:922 msgid "" "The :exc:`BaseExceptionGroup` constructor returns an :exc:`ExceptionGroup` " -"rather than a :exc:`BaseExceptionGroup` if all contained exceptions are :exc:" -"`Exception` instances, so it can be used to make the selection automatic. " -"The :exc:`ExceptionGroup` constructor, on the other hand, raises a :exc:" -"`TypeError` if any contained exception is not an :exc:`Exception` subclass." +"rather than a :exc:`BaseExceptionGroup` if all contained exceptions " +"are :exc:`Exception` instances, so it can be used to make the selection " +"automatic. The :exc:`ExceptionGroup` constructor, on the other hand, raises " +"a :exc:`TypeError` if any contained exception is not an :exc:`Exception` " +"subclass." msgstr "" "O construtor de :exc:`BaseExceptionGroup` retorna uma :exc:`ExceptionGroup` " "ao invés de uma :exc:`BaseExceptionGroup` se todas as exceções contidas " -"forem instâncias :exc:`Exception`, então ela pode ser usada para tornar a " +"forem instâncias de :exc:`Exception`, então ela pode ser usada para tornar a " "seleção automática. O construtor de :exc:`ExceptionGroup`, por outro lado, " "levanta :exc:`TypeError` se qualquer exceção contida não for uma subclasse " "de :exc:`Exception`." -#: ../../library/exceptions.rst:903 +#: ../../library/exceptions.rst:931 msgid "The ``msg`` argument to the constructor. This is a read-only attribute." msgstr "" "O argumento ``msg`` para o construtor. Este é um atributo somente leitura." -#: ../../library/exceptions.rst:907 +#: ../../library/exceptions.rst:935 msgid "" "A tuple of the exceptions in the ``excs`` sequence given to the constructor. " "This is a read-only attribute." msgstr "" -"Uma tupla de exceções na sequência ``excs`` dada ao construtor. Este é um " +"Uma tupla de exceções na sequência ``excs`` passada ao construtor. Este é um " "atributo somente leitura." -#: ../../library/exceptions.rst:912 +#: ../../library/exceptions.rst:940 msgid "" "Returns an exception group that contains only the exceptions from the " "current group that match *condition*, or ``None`` if the result is empty." msgstr "" "Retorna um grupo de exceções que contém apenas as exceções do grupo atual " -"que correspondem à condição *condition* ou ``None`` se o resultado estiver " +"que correspondam à condição *condition*, ou ``None`` se o resultado estiver " "vazio." -#: ../../library/exceptions.rst:915 +#: ../../library/exceptions.rst:943 msgid "" "The condition can be either a function that accepts an exception and returns " "true for those that should be in the subgroup, or it can be an exception " "type or a tuple of exception types, which is used to check for a match using " "the same check that is used in an ``except`` clause." msgstr "" -"A condição pode ser uma função que aceita uma exceção e retorna true para " -"aquelas que deveriam estar no subgrupo, ou pode ser um tipo de exceção ou " -"uma tupla de tipos de exceção, que é usada para verificar uma " -"correspondência usando a mesma verificação que é usado em uma cláusula " -"``except``." +"A condição pode ser uma função que aceita uma exceção e retorna verdadeiro " +"para aquelas que deveriam estar no subgrupo, ou pode ser um tipo de exceção " +"ou uma tupla de tipos de exceção, que é usada para verificar uma " +"correspondência usando a mesma verificação usada em uma cláusula ``except``." -#: ../../library/exceptions.rst:920 +#: ../../library/exceptions.rst:948 msgid "" "The nesting structure of the current exception is preserved in the result, " -"as are the values of its :attr:`message`, :attr:`__traceback__`, :attr:" -"`__cause__`, :attr:`__context__` and :attr:`__notes__` fields. Empty nested " -"groups are omitted from the result." +"as are the values of " +"its :attr:`message`, :attr:`~BaseException.__traceback__`, :attr:`~BaseException.__cause__`, :attr:`~BaseException.__context__` " +"and :attr:`~BaseException.__notes__` fields. Empty nested groups are omitted " +"from the result." msgstr "" "A estrutura de aninhamento da exceção atual é preservada no resultado, assim " -"como os valores de seus campos :attr:`message`, :attr:`__traceback__`, :attr:" -"`__cause__`, :attr:`__context__` e :attr:`__notes__`. Grupos aninhados " -"vazios são omitidos do resultado." +"como os valores de seus " +"campos :attr:`message`, :attr:`~BaseException.__traceback__`, :attr:`~BaseException.__cause__`, :attr:`~BaseException.__context__` " +"e :attr:`~BaseException.__notes__`. Grupos aninhados vazios são omitidos do " +"resultado." -#: ../../library/exceptions.rst:925 +#: ../../library/exceptions.rst:955 msgid "" "The condition is checked for all exceptions in the nested exception group, " "including the top-level and any nested exception groups. If the condition is " @@ -1496,19 +1530,19 @@ msgid "" msgstr "" "A condição é verificada para todas as exceções no grupo de exceções " "aninhadas, incluindo o nível superior e quaisquer grupos de exceções " -"aninhadas. Se a condição for verdadeira para tal grupo de exceções, ela será " -"incluída no resultado por completo." +"aninhadas. Se a condição for verdadeira para esse grupo de exceções, ela " +"será incluída no resultado por completo." -#: ../../library/exceptions.rst:931 +#: ../../library/exceptions.rst:961 msgid "" "Like :meth:`subgroup`, but returns the pair ``(match, rest)`` where " "``match`` is ``subgroup(condition)`` and ``rest`` is the remaining non-" "matching part." msgstr "" -"Como :meth:`subgroup`, mas retorna o par ``(match, rest)`` onde ``match`` é " -"``subgroup(condition)`` e ``rest`` é a parte restante não correspondente." +"Como :meth:`subgroup`, mas retorna o par ``(match, rest)`` em que ``match`` " +"é ``subgroup(condition)`` e ``rest`` é a parte restante não correspondente." -#: ../../library/exceptions.rst:937 +#: ../../library/exceptions.rst:967 msgid "" "Returns an exception group with the same :attr:`message`, but which wraps " "the exceptions in ``excs``." @@ -1516,7 +1550,7 @@ msgstr "" "Retorna um grupo de exceções com o mesmo :attr:`message`, mas que agrupa as " "exceções em ``excs``." -#: ../../library/exceptions.rst:940 +#: ../../library/exceptions.rst:970 msgid "" "This method is used by :meth:`subgroup` and :meth:`split`. A subclass needs " "to override it in order to make :meth:`subgroup` and :meth:`split` return " @@ -1526,75 +1560,97 @@ msgstr "" "precisa substituí-la para fazer com que :meth:`subgroup` e :meth:`split` " "retorne instâncias da subclasse em vez de :exc:`ExceptionGroup`." -#: ../../library/exceptions.rst:945 +#: ../../library/exceptions.rst:975 msgid "" -":meth:`subgroup` and :meth:`split` copy the :attr:`__traceback__`, :attr:" -"`__cause__`, :attr:`__context__` and :attr:`__notes__` fields from the " -"original exception group to the one returned by :meth:`derive`, so these " -"fields do not need to be updated by :meth:`derive`. ::" +":meth:`subgroup` and :meth:`split` copy " +"the :attr:`~BaseException.__traceback__`, :attr:`~BaseException.__cause__`, :attr:`~BaseException.__context__` " +"and :attr:`~BaseException.__notes__` fields from the original exception " +"group to the one returned by :meth:`derive`, so these fields do not need to " +"be updated by :meth:`derive`." msgstr "" -":meth:`subgroup` e :meth:`split` copiam os campos :attr:`__traceback__`, :" -"attr:`__cause__`, :attr:`__context__` e :attr:`__notes__` do grupo de " -"exceções original para o retornado por :meth:`derive`, então esses campos " -"não precisam ser atualizados por :meth:`derive`. ::" +":meth:`subgroup` e :meth:`split` copiam os " +"campos :attr:`~BaseException.__traceback__`, :attr:`~BaseException.__cause__`, :attr:`~BaseException.__context__` " +"e :attr:`~BaseException.__notes__` do grupo de exceções original para o " +"retornado por :meth:`derive`, então esses campos não precisam ser " +"atualizados por :meth:`derive`. ::" -#: ../../library/exceptions.rst:974 +#: ../../library/exceptions.rst:1008 msgid "" -"Note that :exc:`BaseExceptionGroup` defines :meth:`__new__`, so subclasses " -"that need a different constructor signature need to override that rather " -"than :meth:`__init__`. For example, the following defines an exception group " -"subclass which accepts an exit_code and and constructs the group's message " -"from it. ::" +"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 " +"group's message from it. ::" msgstr "" -"Observe que :exc:`BaseExceptionGroup` define :meth:`__new__`, então " +"Observe que :exc:`BaseExceptionGroup` define :meth:`~object.__new__`, então " "subclasses que precisam de uma assinatura de construtor diferente precisam " -"substituir isso ao invés de :meth:`__init__`. Por exemplo, o seguinte define " -"uma subclasse de grupo de exceções que aceita um exit_code e constrói a " -"mensagem do grupo a partir dele. ::" +"substituir isso ao invés de :meth:`~object.__init__`. Por exemplo, o " +"seguinte define uma subclasse de grupo de exceções que aceita um exit_code e " +"constrói a mensagem do grupo a partir dele. ::" -#: ../../library/exceptions.rst:989 +#: ../../library/exceptions.rst:1023 msgid "" "Like :exc:`ExceptionGroup`, any subclass of :exc:`BaseExceptionGroup` which " -"is also a subclass of :exc:`Exception` can only wrap instances of :exc:" -"`Exception`." +"is also a subclass of :exc:`Exception` can only wrap instances " +"of :exc:`Exception`." msgstr "" "Como :exc:`ExceptionGroup`, qualquer subclasse de :exc:`BaseExceptionGroup` " -"que também é uma subclasse de :exc:`Exception` só pode agrupar instâncias " +"que também seja uma subclasse de :exc:`Exception` só pode agrupar instâncias " "de :exc:`Exception`." -#: ../../library/exceptions.rst:997 +#: ../../library/exceptions.rst:1031 msgid "Exception hierarchy" msgstr "Hierarquia das exceções" -#: ../../library/exceptions.rst:999 +#: ../../library/exceptions.rst:1033 msgid "The class hierarchy for built-in exceptions is:" msgstr "A hierarquia de classes para exceções embutidas é:" #: ../../library/exceptions.rst:6 ../../library/exceptions.rst:17 -#: ../../library/exceptions.rst:178 +#: ../../library/exceptions.rst:196 msgid "statement" msgstr "instrução" #: ../../library/exceptions.rst:6 msgid "try" -msgstr "" +msgstr "try" #: ../../library/exceptions.rst:6 msgid "except" -msgstr "" +msgstr "except" #: ../../library/exceptions.rst:17 msgid "raise" -msgstr "" +msgstr "raise" -#: ../../library/exceptions.rst:178 +#: ../../library/exceptions.rst:41 +msgid "exception" +msgstr "exceção" + +#: ../../library/exceptions.rst:41 +msgid "chaining" +msgstr "encadeamento" + +#: ../../library/exceptions.rst:41 +msgid "__cause__ (exception attribute)" +msgstr "__cause__ (atributo de exceção)" + +#: ../../library/exceptions.rst:41 +msgid "__context__ (exception attribute)" +msgstr "__context__ (atributo de exceção)" + +#: ../../library/exceptions.rst:41 +msgid "__suppress_context__ (exception attribute)" +msgstr "__suppress_context__ (atributo de exceção)" + +#: ../../library/exceptions.rst:196 msgid "assert" -msgstr "" +msgstr "assert" -#: ../../library/exceptions.rst:321 +#: ../../library/exceptions.rst:345 msgid "module" msgstr "módulo" -#: ../../library/exceptions.rst:321 +#: ../../library/exceptions.rst:345 msgid "errno" -msgstr "" +msgstr "errno" diff --git a/library/faulthandler.po b/library/faulthandler.po index 2e675559e..208759f9f 100644 --- a/library/faulthandler.po +++ b/library/faulthandler.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# And Past , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -32,12 +30,12 @@ msgstr "" #: ../../library/faulthandler.rst:11 msgid "" "This module contains functions to dump Python tracebacks explicitly, on a " -"fault, after a timeout, or on a user signal. Call :func:`faulthandler." -"enable` to install fault handlers for the :const:`SIGSEGV`, :const:" -"`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS`, and :const:`SIGILL` signals. " -"You can also enable them at startup by setting the :envvar:" -"`PYTHONFAULTHANDLER` environment variable or by using the :option:`-X` " -"``faulthandler`` command line option." +"fault, after a timeout, or on a user signal. " +"Call :func:`faulthandler.enable` to install fault handlers for " +"the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS`, " +"and :const:`SIGILL` signals. You can also enable them at startup by setting " +"the :envvar:`PYTHONFAULTHANDLER` environment variable or by using " +"the :option:`-X` ``faulthandler`` command line option." msgstr "" #: ../../library/faulthandler.rst:18 @@ -95,8 +93,8 @@ msgstr "" #: ../../library/faulthandler.rst:43 msgid "" -"The :ref:`Python Development Mode ` calls :func:`faulthandler." -"enable` at Python startup." +"The :ref:`Python Development Mode ` " +"calls :func:`faulthandler.enable` at Python startup." msgstr "" #: ../../library/faulthandler.rst:49 @@ -135,7 +133,7 @@ msgid "" msgstr "" #: ../../library/faulthandler.rst:64 ../../library/faulthandler.rst:82 -#: ../../library/faulthandler.rst:124 ../../library/faulthandler.rst:146 +#: ../../library/faulthandler.rst:121 ../../library/faulthandler.rst:146 msgid "Added support for passing file descriptor to this function." msgstr "" @@ -145,16 +143,17 @@ msgstr "" #: ../../library/faulthandler.rst:73 msgid "" -"Enable the fault handler: install handlers for the :const:`SIGSEGV`, :const:" -"`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` and :const:`SIGILL` signals to " -"dump the Python traceback. If *all_threads* is ``True``, produce tracebacks " -"for every running thread. Otherwise, dump only the current thread." +"Enable the fault handler: install handlers for " +"the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` " +"and :const:`SIGILL` signals to dump the Python traceback. If *all_threads* " +"is ``True``, produce tracebacks for every running thread. Otherwise, dump " +"only the current thread." msgstr "" #: ../../library/faulthandler.rst:79 msgid "" -"The *file* must be kept open until the fault handler is disabled: see :ref:" -"`issue with file descriptors `." +"The *file* must be kept open until the fault handler is disabled: " +"see :ref:`issue with file descriptors `." msgstr "" #: ../../library/faulthandler.rst:85 @@ -169,8 +168,8 @@ msgstr "" #: ../../library/faulthandler.rst:94 msgid "" -"Disable the fault handler: uninstall the signal handlers installed by :func:" -"`enable`." +"Disable the fault handler: uninstall the signal handlers installed " +"by :func:`enable`." msgstr "" #: ../../library/faulthandler.rst:99 @@ -185,17 +184,17 @@ msgstr "" msgid "" "Dump the tracebacks of all threads, after a timeout of *timeout* seconds, or " "every *timeout* seconds if *repeat* is ``True``. If *exit* is ``True``, " -"call :c:func:`_exit` with status=1 after dumping the tracebacks. (Note :c:" -"func:`_exit` exits the process immediately, which means it doesn't do any " -"cleanup like flushing file buffers.) If the function is called twice, the " -"new call replaces previous parameters and resets the timeout. The timer has " -"a sub-second resolution." +"call :c:func:`_exit` with status=1 after dumping the tracebacks. " +"(Note :c:func:`_exit` exits the process immediately, which means it doesn't " +"do any cleanup like flushing file buffers.) If the function is called twice, " +"the new call replaces previous parameters and resets the timeout. The timer " +"has a sub-second resolution." msgstr "" #: ../../library/faulthandler.rst:115 msgid "" -"The *file* must be kept open until the traceback is dumped or :func:" -"`cancel_dump_traceback_later` is called: see :ref:`issue with file " +"The *file* must be kept open until the traceback is dumped " +"or :func:`cancel_dump_traceback_later` is called: see :ref:`issue with file " "descriptors `." msgstr "" @@ -203,7 +202,7 @@ msgstr "" msgid "This function is implemented using a watchdog thread." msgstr "" -#: ../../library/faulthandler.rst:121 +#: ../../library/faulthandler.rst:124 msgid "This function is now always available." msgstr "" @@ -224,8 +223,9 @@ msgstr "" #: ../../library/faulthandler.rst:141 msgid "" -"The *file* must be kept open until the signal is unregistered by :func:" -"`unregister`: see :ref:`issue with file descriptors `." +"The *file* must be kept open until the signal is unregistered " +"by :func:`unregister`: see :ref:`issue with file descriptors `." msgstr "" #: ../../library/faulthandler.rst:144 ../../library/faulthandler.rst:155 diff --git a/library/fcntl.po b/library/fcntl.po index 78434548c..fffd9cff5 100644 --- a/library/fcntl.po +++ b/library/fcntl.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -31,45 +29,41 @@ msgstr ":mod:`fcntl` --- as chamadas de sistema ``fcntl`` e ``ioctl``" #: ../../library/fcntl.rst:16 msgid "" -"This module performs file control and I/O control on file descriptors. It is " -"an interface to the :c:func:`fcntl` and :c:func:`ioctl` Unix routines. For " -"a complete description of these calls, see :manpage:`fcntl(2)` and :manpage:" -"`ioctl(2)` Unix manual pages." +"This module performs file and I/O control on file descriptors. It is an " +"interface to the :c:func:`fcntl` and :c:func:`ioctl` Unix routines. See " +"the :manpage:`fcntl(2)` and :manpage:`ioctl(2)` Unix manual pages for full " +"details." msgstr "" -"Este módulo executa o controle de arquivos e o controle de I/O em " -"descritores de arquivos. É uma interface para as rotinas :c:func:`fcntl` " -"and :c:func:`ioctl` do Unix. Para obter uma descrição completa dessas " -"chamadas, consulte :manpage:`fcntl(2)` e :manpage:`ioctl(2)` Páginas do " -"Manual do Unix." +"Este módulo executa o controle de arquivos e de E/S em descritores de " +"arquivos. É uma interface para as rotinas :c:func:`fcntl` e :c:func:`ioctl` " +"do Unix. Veja as páginas de manual do Unix :manpage:`fcntl(2)` " +"e :manpage:`ioctl(2)` para mais detalhes." -#: ../../includes/wasm-notavail.rst:3 -msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr ":ref:`Disponibilidade `: não Emscripten, não WASI." - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly platforms " -"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " -"more information." -msgstr "" -"Este módulo não funciona ou não está disponível em plataformas WebAssembly " -"``wasm32-emscripten`` e ``wasm32-wasi``. Veja :ref:`wasm-availability` para " -"mais informações." +#: ../../library/fcntl.rst:21 +msgid ":ref:`Availability `: Unix, not Emscripten, not WASI." +msgstr ":ref:`Disponibilidade `: Unix, não Emscripten, não WASI." #: ../../library/fcntl.rst:23 msgid "" "All functions in this module take a file descriptor *fd* as their first " -"argument. This can be an integer file descriptor, such as returned by ``sys." -"stdin.fileno()``, or an :class:`io.IOBase` object, such as ``sys.stdin`` " -"itself, which provides a :meth:`~io.IOBase.fileno` that returns a genuine " -"file descriptor." +"argument. This can be an integer file descriptor, such as returned by " +"``sys.stdin.fileno()``, or an :class:`io.IOBase` object, such as " +"``sys.stdin`` itself, which provides a :meth:`~io.IOBase.fileno` that " +"returns a genuine file descriptor." msgstr "" +"Todas as funções neste módulo recebem um descritor de arquivo *fd* como seu " +"primeiro argumento. Este pode ser um descritor de arquivo inteiro, como " +"retornado por ``sys.stdin.fileno()``, ou um objeto :class:`io.IOBase`, como " +"o próprio ``sys.stdin``, que fornece um :meth:`~io.IOBase.fileno` que " +"retorna um descritor de arquivo genuíno." #: ../../library/fcntl.rst:29 msgid "" "Operations in this module used to raise an :exc:`IOError` where they now " "raise an :exc:`OSError`." msgstr "" +"As operações neste módulo costumavam levantar um :exc:`IOError`, mas agora " +"levantam um :exc:`OSError`." #: ../../library/fcntl.rst:33 msgid "" @@ -110,35 +104,56 @@ msgid "" "a :meth:`~io.IOBase.fileno` method are accepted as well). The values used " "for *cmd* are operating system dependent, and are available as constants in " "the :mod:`fcntl` module, using the same names as used in the relevant C " -"header files. The argument *arg* can either be an integer value, or a :class:" -"`bytes` object. With an integer value, the return value of this function is " -"the integer return value of the C :c:func:`fcntl` call. When the argument " -"is bytes it represents a binary structure, e.g. created by :func:`struct." -"pack`. The binary data is copied to a buffer whose address is passed to the " -"C :c:func:`fcntl` call. The return value after a successful call is the " -"contents of the buffer, converted to a :class:`bytes` object. The length of " -"the returned object will be the same as the length of the *arg* argument. " -"This is limited to 1024 bytes. If the information returned in the buffer by " -"the operating system is larger than 1024 bytes, this is most likely to " -"result in a segmentation violation or a more subtle data corruption." -msgstr "" +"header files. The argument *arg* can either be an integer value, or " +"a :class:`bytes` object. With an integer value, the return value of this " +"function is the integer return value of the C :c:func:`fcntl` call. When " +"the argument is bytes it represents a binary structure, e.g. created " +"by :func:`struct.pack`. The binary data is copied to a buffer whose address " +"is passed to the C :c:func:`fcntl` call. The return value after a " +"successful call is the contents of the buffer, converted to a :class:`bytes` " +"object. The length of the returned object will be the same as the length of " +"the *arg* argument. This is limited to 1024 bytes. If the information " +"returned in the buffer by the operating system is larger than 1024 bytes, " +"this is most likely to result in a segmentation violation or a more subtle " +"data corruption." +msgstr "" +"Executa a operação *cmd* no descritor de arquivo *fd* (objetos arquivo que " +"fornecem um método :meth:`~io.IOBase.fileno` também são aceitos). Os valores " +"usados para *cmd* dependem do sistema operacional e estão disponíveis como " +"constantes no módulo :mod:`fcntl`, usando os mesmos nomes usados nos " +"arquivos de cabeçalho C relevantes. O argumento *arg* pode ser um valor " +"inteiro ou um objeto :class:`bytes`. Com um valor inteiro, o valor de " +"retorno desta função é o valor de retorno inteiro da chamada " +"C :c:func:`fcntl`. Quando o argumento é bytes, ele representa uma estrutura " +"binária, por exemplo, criada por :func:`struct.pack`. Os dados binários são " +"copiados para um buffer cujo endereço é passado para a chamada " +"C :c:func:`fcntl`. O valor de retorno após uma chamada bem-sucedida é o " +"conteúdo do buffer, convertido em um objeto :class:`bytes`. O comprimento do " +"objeto retornado será o mesmo que o comprimento do argumento *arg*. Isso é " +"limitado a 1024 bytes. Se as informações retornadas no buffer pelo sistema " +"operacional forem maiores que 1024 bytes, isso provavelmente resultará em " +"uma violação de segmentação ou uma corrupção de dados mais sutil." #: ../../library/fcntl.rst:77 -msgid "If the :c:func:`fcntl` fails, an :exc:`OSError` is raised." +msgid "If the :c:func:`fcntl` call fails, an :exc:`OSError` is raised." msgstr "" -"Se o :c:func:`fcntl` vier a falhar, um exceção :exc:`OSError` é levantada." +"Se a chamada a :c:func:`fcntl` falhar, um exceção :exc:`OSError` é levantada." -#: ../../library/fcntl.rst:88 +#: ../../library/fcntl.rst:79 msgid "" "Raises an :ref:`auditing event ` ``fcntl.fcntl`` with arguments " "``fd``, ``cmd``, ``arg``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``fcntl.fcntl`` com os " +"argumentos ``fd``, ``cmd``, ``arg``." #: ../../library/fcntl.rst:84 msgid "" "This function is identical to the :func:`~fcntl.fcntl` function, except that " "the argument handling is even more complicated." msgstr "" +"Esta função é idêntica à função :func:`~fcntl.fcntl`, exceto que o " +"tratamento de argumentos é ainda mais complicado." #: ../../library/fcntl.rst:87 msgid "" @@ -187,18 +202,23 @@ msgid "" msgstr "" #: ../../library/fcntl.rst:115 -msgid "If the :c:func:`ioctl` fails, an :exc:`OSError` exception is raised." +msgid "" +"If the :c:func:`ioctl` call fails, an :exc:`OSError` exception is raised." msgstr "" +"Se a chamada a :c:func:`ioctl` falhar, uma exceção :exc:`OSError` é " +"levantada." #: ../../library/fcntl.rst:117 msgid "An example::" msgstr "Um exemplo::" -#: ../../library/fcntl.rst:139 +#: ../../library/fcntl.rst:130 msgid "" "Raises an :ref:`auditing event ` ``fcntl.ioctl`` with arguments " "``fd``, ``request``, ``arg``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``fcntl.ioctl`` com os " +"argumentos ``fd``, ``request``, ``arg``." #: ../../library/fcntl.rst:135 msgid "" @@ -207,113 +227,153 @@ msgid "" "Unix manual :manpage:`flock(2)` for details. (On some systems, this " "function is emulated using :c:func:`fcntl`.)" msgstr "" +"Executa a operação de trava *operation* no descritor de arquivo *fd* " +"(objetos arquivo que fornecem um método :meth:`~io.IOBase.fileno` também são " +"aceitos). Consulte o manual do Unix :manpage:`flock(2)` para obter detalhes. " +"(Em alguns sistemas, esta função é emulada usando :c:func:`fcntl`.)" #: ../../library/fcntl.rst:140 -msgid "If the :c:func:`flock` fails, an :exc:`OSError` exception is raised." +msgid "" +"If the :c:func:`flock` call fails, an :exc:`OSError` exception is raised." msgstr "" +"Se a chamada :c:func:`flock` falhar, uma exceção :exc:`OSError` será " +"levantada." -#: ../../library/fcntl.rst:151 +#: ../../library/fcntl.rst:142 msgid "" "Raises an :ref:`auditing event ` ``fcntl.flock`` with arguments " "``fd``, ``operation``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``fcntl.flock`` com os " +"argumentos ``fd`` e ``operation``." #: ../../library/fcntl.rst:147 msgid "" "This is essentially a wrapper around the :func:`~fcntl.fcntl` locking calls. " -"*fd* is the file descriptor (file objects providing a :meth:`~io.IOBase." -"fileno` method are accepted as well) of the file to lock or unlock, and " -"*cmd* is one of the following values:" +"*fd* is the file descriptor (file objects providing " +"a :meth:`~io.IOBase.fileno` method are accepted as well) of the file to lock " +"or unlock, and *cmd* is one of the following values:" msgstr "" +"Este é essencialmente um invólucro em torno das chamadas de " +"trava :func:`~fcntl.fcntl`. *fd* é o descritor de arquivo (objetos arquivo " +"que fornecem um método :meth:`~io.IOBase.fileno` também são aceitos) do " +"arquivo para travar ou destravar, e *cmd* é um dos seguintes valores:" -#: ../../library/fcntl.rst:152 -msgid ":const:`LOCK_UN` -- unlock" -msgstr ":const:`LOCK_UN` -- desbloquear" +#: ../../library/fcntl.rst:154 +msgid "Release an existing lock." +msgstr "Libera uma trava existente." -#: ../../library/fcntl.rst:153 -msgid ":const:`LOCK_SH` -- acquire a shared lock" -msgstr "" +#: ../../library/fcntl.rst:158 +msgid "Acquire a shared lock." +msgstr "Adquire uma trava compartilhada." -#: ../../library/fcntl.rst:154 -msgid ":const:`LOCK_EX` -- acquire an exclusive lock" -msgstr "" +#: ../../library/fcntl.rst:162 +msgid "Acquire an exclusive lock." +msgstr "Adquire uma trava exclusiva." -#: ../../library/fcntl.rst:156 +#: ../../library/fcntl.rst:166 msgid "" -"When *cmd* is :const:`LOCK_SH` or :const:`LOCK_EX`, it can also be bitwise " -"ORed with :const:`LOCK_NB` to avoid blocking on lock acquisition. If :const:" -"`LOCK_NB` is used and the lock cannot be acquired, an :exc:`OSError` will be " -"raised and the exception will have an *errno* attribute set to :const:" -"`EACCES` or :const:`EAGAIN` (depending on the operating system; for " -"portability, check for both values). On at least some systems, :const:" -"`LOCK_EX` can only be used if the file descriptor refers to a file opened " -"for writing." +"Bitwise OR with any of the other three ``LOCK_*`` constants to make the " +"request non-blocking." msgstr "" +"Aplica OU (OR) bit a bit com qualquer uma das outras três constantes " +"``LOCK_*`` para tornar a solicitação não bloqueante." -#: ../../library/fcntl.rst:165 +#: ../../library/fcntl.rst:169 +msgid "" +"If :const:`!LOCK_NB` is used and the lock cannot be acquired, " +"an :exc:`OSError` will be raised and the exception will have an *errno* " +"attribute set to :const:`~errno.EACCES` or :const:`~errno.EAGAIN` (depending " +"on the operating system; for portability, check for both values). On at " +"least some systems, :const:`!LOCK_EX` can only be used if the file " +"descriptor refers to a file opened for writing." +msgstr "" +"Se :const:`!LOCK_NB` for usado e a trava não puder ser obtido, uma " +"exceção :exc:`OSError` será levantada e terá um atributo *errno* definido " +"como :const:`~errno.EACCES` ou :const:`~errno.EAGAIN` (dependendo do sistema " +"operacional; para portabilidade, verifique ambos os valores). Em pelo menos " +"alguns sistemas, :const:`!LOCK_EX` só pode ser usado se o descritor de " +"arquivo se referir a um arquivo aberto para escrita." + +#: ../../library/fcntl.rst:176 msgid "" "*len* is the number of bytes to lock, *start* is the byte offset at which " -"the lock starts, relative to *whence*, and *whence* is as with :func:`io." -"IOBase.seek`, specifically:" +"the lock starts, relative to *whence*, and *whence* is as " +"with :func:`io.IOBase.seek`, specifically:" msgstr "" +"*len* é o número de bytes para travar, *start* é o deslocamento de bytes em " +"que a trava começa, em relação a *whence*, e *whence* é como " +"em :func:`io.IOBase.seek`, especificamente:" -#: ../../library/fcntl.rst:169 -msgid ":const:`0` -- relative to the start of the file (:data:`os.SEEK_SET`)" -msgstr "" +#: ../../library/fcntl.rst:180 +msgid "``0`` -- relative to the start of the file (:const:`os.SEEK_SET`)" +msgstr "``0`` -- relativo ao início do arquivo (:const:`os.SEEK_SET`)" -#: ../../library/fcntl.rst:170 -msgid "" -":const:`1` -- relative to the current buffer position (:data:`os.SEEK_CUR`)" -msgstr "" +#: ../../library/fcntl.rst:181 +msgid "``1`` -- relative to the current buffer position (:const:`os.SEEK_CUR`)" +msgstr "``1`` -- relativo à posição atual do buffer (:const:`os.SEEK_CUR`)" -#: ../../library/fcntl.rst:171 -msgid ":const:`2` -- relative to the end of the file (:data:`os.SEEK_END`)" -msgstr "" +#: ../../library/fcntl.rst:182 +msgid "``2`` -- relative to the end of the file (:const:`os.SEEK_END`)" +msgstr "``2`` -- relativo ao fim do arquivo (:const:`os.SEEK_END`)" -#: ../../library/fcntl.rst:173 +#: ../../library/fcntl.rst:184 msgid "" "The default for *start* is 0, which means to start at the beginning of the " "file. The default for *len* is 0 which means to lock to the end of the " "file. The default for *whence* is also 0." msgstr "" +"O padrão para *start* é 0, o que significa iniciar no início do arquivo. O " +"padrão para *len* é 0, o que significa travar no final do arquivo. O padrão " +"para *whence* também é 0." -#: ../../library/fcntl.rst:186 +#: ../../library/fcntl.rst:188 msgid "" "Raises an :ref:`auditing event ` ``fcntl.lockf`` with arguments " "``fd``, ``cmd``, ``len``, ``start``, ``whence``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``fcntl.lockf`` com os " +"argumentos ``fd``, ``cmd``, ``len``, ``start``, ``whence``." -#: ../../library/fcntl.rst:179 +#: ../../library/fcntl.rst:190 msgid "Examples (all on a SVR4 compliant system)::" -msgstr "" +msgstr "Exemplos (todos em um sistema compatível com SVR4)::" -#: ../../library/fcntl.rst:189 +#: ../../library/fcntl.rst:200 msgid "" "Note that in the first example the return value variable *rv* will hold an " "integer value; in the second example it will hold a :class:`bytes` object. " "The structure lay-out for the *lockdata* variable is system dependent --- " "therefore using the :func:`flock` call may be better." msgstr "" +"Observe que, no primeiro exemplo, a variável de valor de retorno *rv* " +"conterá um valor inteiro; no segundo exemplo, ela conterá um " +"objeto :class:`bytes`. O layout da estrutura da variável *lockdata* depende " +"do sistema --- portanto, usar a chamada :func:`flock` pode ser melhor." -#: ../../library/fcntl.rst:200 +#: ../../library/fcntl.rst:211 msgid "Module :mod:`os`" msgstr "Módulo :mod:`os`" -#: ../../library/fcntl.rst:198 +#: ../../library/fcntl.rst:209 msgid "" -"If the locking flags :data:`~os.O_SHLOCK` and :data:`~os.O_EXLOCK` are " +"If the locking flags :const:`~os.O_SHLOCK` and :const:`~os.O_EXLOCK` are " "present in the :mod:`os` module (on BSD only), the :func:`os.open` function " "provides an alternative to the :func:`lockf` and :func:`flock` functions." msgstr "" +"Se os sinalizadores de trava :const:`~os.O_SHLOCK` e :const:`~os.O_EXLOCK` " +"estiverem presentes no módulo :mod:`os` (somente no BSD), a " +"função :func:`os.open` fornece uma alternativa às funções :func:`lockf` " +"e :func:`flock`." #: ../../library/fcntl.rst:10 msgid "UNIX" -msgstr "" +msgstr "UNIX" #: ../../library/fcntl.rst:10 msgid "file control" -msgstr "" +msgstr "controle de arquivo" #: ../../library/fcntl.rst:10 msgid "I/O control" -msgstr "" +msgstr "controle de E/S" diff --git a/library/filecmp.po b/library/filecmp.po index fa8985738..bf8e8a3a4 100644 --- a/library/filecmp.po +++ b/library/filecmp.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,16 +38,21 @@ msgid "" "directories, with various optional time/correctness trade-offs. For " "comparing files, see also the :mod:`difflib` module." msgstr "" +"O módulo :mod:`filecmp` define funções para comparar arquivos e diretórios, " +"com várias compensações opcionais de tempo/correção. Para comparar arquivos, " +"veja também o módulo :mod:`difflib`." #: ../../library/filecmp.rst:17 msgid "The :mod:`filecmp` module defines the following functions:" -msgstr "" +msgstr "O módulo :mod:`filecmp` define as seguintes funções:" #: ../../library/filecmp.rst:22 msgid "" "Compare the files named *f1* and *f2*, returning ``True`` if they seem " "equal, ``False`` otherwise." msgstr "" +"Compara os arquivos chamados *f1* e *f2*, retornando ``True`` se eles " +"parecerem iguais, ``False`` caso contrário." #: ../../library/filecmp.rst:25 msgid "" @@ -55,18 +60,25 @@ msgid "" "and modification time) of both files are identical, the files are taken to " "be equal." msgstr "" +"Se *shallow* for verdadeiro e as assinaturas de :func:`os.stat` (tipo de " +"arquivo, tamanho e hora de modificação) de ambos os arquivos forem " +"idênticas, os arquivos serão considerados iguais." #: ../../library/filecmp.rst:29 msgid "" "Otherwise, the files are treated as different if their sizes or contents " "differ." msgstr "" +"Caso contrário, os arquivos serão tratados como diferentes se seus tamanhos " +"ou conteúdos forem diferentes." #: ../../library/filecmp.rst:31 msgid "" "Note that no external programs are called from this function, giving it " "portability and efficiency." msgstr "" +"Observe que nenhum programa externo é chamado a partir desta função, o que " +"lhe confere portabilidade e eficiência." #: ../../library/filecmp.rst:34 msgid "" @@ -74,12 +86,17 @@ msgid "" "entries invalidated if the :func:`os.stat` information for the file " "changes. The entire cache may be cleared using :func:`clear_cache`." msgstr "" +"Esta função usa um cache para comparações passadas e os resultados, com " +"entradas de cache invalidadas se as informações de :func:`os.stat` para o " +"arquivo mudarem. O cache inteiro pode ser limpo usando :func:`clear_cache`." #: ../../library/filecmp.rst:41 msgid "" "Compare the files in the two directories *dir1* and *dir2* whose names are " "given by *common*." msgstr "" +"Compara os arquivos nos dois diretórios *dir1* e *dir2* cujos nomes são " +"dados por *common*." #: ../../library/filecmp.rst:44 msgid "" @@ -90,12 +107,20 @@ msgid "" "directories, the user lacks permission to read them or if the comparison " "could not be done for some other reason." msgstr "" +"Retorna três listas de nomes de arquivos: *match*, *mismatch*, *errors*. " +"*match* contém a lista de arquivos que correspondem, *mismatch* contém os " +"nomes daqueles que não correspondem e *errors* lista os nomes dos arquivos " +"que não puderam ser comparados. Os arquivos são listados em *errors* se não " +"existirem em um dos diretórios, o usuário não tiver permissão para lê-los ou " +"se a comparação não puder ser feita por algum outro motivo." #: ../../library/filecmp.rst:51 msgid "" -"The *shallow* parameter has the same meaning and default value as for :func:" -"`filecmp.cmp`." +"The *shallow* parameter has the same meaning and default value as " +"for :func:`filecmp.cmp`." msgstr "" +"O parâmetro *shallow* tem o mesmo significado e valor padrão " +"que :func:`filecmp.cmp`." #: ../../library/filecmp.rst:54 msgid "" @@ -103,6 +128,9 @@ msgid "" "``b/c`` and ``a/d/e`` with ``b/d/e``. ``'c'`` and ``'d/e'`` will each be in " "one of the three returned lists." msgstr "" +"Por exemplo, ``cmpfiles('a', 'b', ['c', 'd/e'])`` comparará ``a/c`` com ``b/" +"c`` e ``a/d/e`` com ``b/d/e``. ``'c'`` e ``'d/e'`` estarão cada um em uma " +"das três listas retornadas." #: ../../library/filecmp.rst:61 msgid "" @@ -110,6 +138,9 @@ msgid "" "after it is modified that it is within the mtime resolution of the " "underlying filesystem." msgstr "" +"Limpa o cache do filecmp. Isso pode ser útil se um arquivo for comparado tão " +"rapidamente após ser modificado que ele esteja dentro da resolução de mtime " +"do sistema de arquivos subjacente." #: ../../library/filecmp.rst:71 msgid "The :class:`dircmp` class" @@ -118,35 +149,42 @@ msgstr "A classe :class:`dircmp`" #: ../../library/filecmp.rst:75 msgid "" "Construct a new directory comparison object, to compare the directories *a* " -"and *b*. *ignore* is a list of names to ignore, and defaults to :attr:" -"`filecmp.DEFAULT_IGNORES`. *hide* is a list of names to hide, and defaults " -"to ``[os.curdir, os.pardir]``." +"and *b*. *ignore* is a list of names to ignore, and defaults " +"to :const:`filecmp.DEFAULT_IGNORES`. *hide* is a list of names to hide, and " +"defaults to ``[os.curdir, os.pardir]``." msgstr "" +"Constrói um novo objeto de comparação de diretórios para comparar os " +"diretórios *a* e *b*. *ignore* é uma lista de nomes a serem ignorados e o " +"padrão é :const:`filecmp.DEFAULT_IGNORES`. *hide* é uma lista de nomes a " +"serem ocultados e o padrão é ``[os.curdir, os.pardir]``." #: ../../library/filecmp.rst:80 msgid "" "The :class:`dircmp` class compares files by doing *shallow* comparisons as " "described for :func:`filecmp.cmp`." msgstr "" +"A classe :class:`dircmp` compara arquivos fazendo comparações rasas, isto é, " +"*shallow* conforme descrito para :func:`filecmp.cmp`." #: ../../library/filecmp.rst:83 msgid "The :class:`dircmp` class provides the following methods:" -msgstr "" +msgstr "A classe :class:`dircmp` fornece os seguintes métodos:" #: ../../library/filecmp.rst:87 msgid "Print (to :data:`sys.stdout`) a comparison between *a* and *b*." -msgstr "" +msgstr "Exibe (para :data:`sys.stdout`) uma comparação entre *a* e *b*." #: ../../library/filecmp.rst:91 msgid "" "Print a comparison between *a* and *b* and common immediate subdirectories." -msgstr "" +msgstr "Exibe uma comparação entre *a* e *b* e subdiretórios imediatos comuns." #: ../../library/filecmp.rst:96 msgid "" "Print a comparison between *a* and *b* and common subdirectories " "(recursively)." msgstr "" +"Exibe uma comparação entre *a* e *b* e subdiretórios comuns (recursivamente)." #: ../../library/filecmp.rst:99 msgid "" @@ -154,45 +192,51 @@ msgid "" "be used to get various bits of information about the directory trees being " "compared." msgstr "" +"A classe :class:`dircmp` oferece uma série de atributos interessantes que " +"podem ser usados para obter várias informações sobre as árvores de " +"diretórios que estão sendo comparadas." #: ../../library/filecmp.rst:103 msgid "" -"Note that via :meth:`__getattr__` hooks, all attributes are computed lazily, " -"so there is no speed penalty if only those attributes which are lightweight " -"to compute are used." +"Note that via :meth:`~object.__getattr__` hooks, all attributes are computed " +"lazily, so there is no speed penalty if only those attributes which are " +"lightweight to compute are used." msgstr "" +"Observe que, por meio dos ganchos :meth:`~object.__getattr__`, todos os " +"atributos são computados preguiçosamente, portanto, não há perda de " +"velocidade se apenas os atributos que são leves para computar forem usados." #: ../../library/filecmp.rst:110 msgid "The directory *a*." -msgstr "" +msgstr "O diretório *a*." #: ../../library/filecmp.rst:115 msgid "The directory *b*." -msgstr "" +msgstr "O diretório *b*." #: ../../library/filecmp.rst:120 msgid "Files and subdirectories in *a*, filtered by *hide* and *ignore*." -msgstr "" +msgstr "Arquivos e subdiretórios em *a*, filtrados por *hide* e *ignore*." #: ../../library/filecmp.rst:125 msgid "Files and subdirectories in *b*, filtered by *hide* and *ignore*." -msgstr "" +msgstr "Arquivos e subdiretórios em *b*, filtrados por *hide* e *ignore*." #: ../../library/filecmp.rst:130 msgid "Files and subdirectories in both *a* and *b*." -msgstr "" +msgstr "Arquivos e subdiretórios em *a* e *b*." #: ../../library/filecmp.rst:135 msgid "Files and subdirectories only in *a*." -msgstr "" +msgstr "Arquivos e subdiretórios em apenas *a*." #: ../../library/filecmp.rst:140 msgid "Files and subdirectories only in *b*." -msgstr "" +msgstr "Arquivos e subdiretórios em apenas *b*." #: ../../library/filecmp.rst:145 msgid "Subdirectories in both *a* and *b*." -msgstr "" +msgstr "Subdiretórios em *a* e *b*." #: ../../library/filecmp.rst:150 msgid "Files in both *a* and *b*." @@ -203,22 +247,28 @@ msgid "" "Names in both *a* and *b*, such that the type differs between the " "directories, or names for which :func:`os.stat` reports an error." msgstr "" +"Nomes em *a* e *b*, de modo que o tipo difere entre os diretórios, ou nomes " +"para os quais :func:`os.stat` relata um erro." #: ../../library/filecmp.rst:161 msgid "" "Files which are identical in both *a* and *b*, using the class's file " "comparison operator." msgstr "" +"Arquivos que são idênticos em *a* e *b*, usando o operador de comparação de " +"arquivos da classe." #: ../../library/filecmp.rst:167 msgid "" "Files which are in both *a* and *b*, whose contents differ according to the " "class's file comparison operator." msgstr "" +"Arquivos que estão em *a* e *b*, cujos conteúdos diferem de acordo com o " +"operador de comparação de arquivos da classe." #: ../../library/filecmp.rst:173 msgid "Files which are in both *a* and *b*, but could not be compared." -msgstr "" +msgstr "Arquivos que estão em *a* e *b*, mas não puderam ser comparados." #: ../../library/filecmp.rst:178 msgid "" @@ -226,19 +276,28 @@ msgid "" "instances (or MyDirCmp instances if this instance is of type MyDirCmp, a " "subclass of :class:`dircmp`)." msgstr "" +"Um dicionário que mapeia nomes em :attr:`common_dirs` para " +"instâncias :class:`dircmp` (ou instâncias MyDirCmp se esta instância for do " +"tipo MyDirCmp, uma subclasse de :class:`dircmp`)." #: ../../library/filecmp.rst:182 msgid "" "Previously entries were always :class:`dircmp` instances. Now entries are " "the same type as *self*, if *self* is a subclass of :class:`dircmp`." msgstr "" +"Anteriormente, as entradas eram sempre instâncias de :class:`dircmp`. Agora, " +"as entradas são do mesmo tipo que *self*, se *self* for uma subclasse " +"de :class:`dircmp`." #: ../../library/filecmp.rst:191 msgid "List of directories ignored by :class:`dircmp` by default." -msgstr "" +msgstr "Lista de diretórios ignorados por :class:`dircmp` por padrão." #: ../../library/filecmp.rst:194 msgid "" "Here is a simplified example of using the ``subdirs`` attribute to search " "recursively through two directories to show common different files::" msgstr "" +"Aqui está um exemplo simplificado do uso do atributo ``subdirs`` para " +"pesquisar recursivamente em dois diretórios para mostrar arquivos diferentes " +"em comum:" diff --git a/library/fileformats.po b/library/fileformats.po index b295383cc..fb490fd01 100644 --- a/library/fileformats.po +++ b/library/fileformats.po @@ -1,26 +1,25 @@ # 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: -# Claudio Rogerio Carvalho Filho , 2021 -# Erick Simões , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Erick Simões , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/fileinput.po b/library/fileinput.po index 06e88c62e..07d25bbe1 100644 --- a/library/fileinput.po +++ b/library/fileinput.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,6 +37,9 @@ msgid "" "over standard input or a list of files. If you just want to read or write " "one file see :func:`open`." msgstr "" +"Este módulo implementa uma classe auxiliar e funções para escrever " +"rapidamente um laço sobre uma entrada padrão ou uma lista de arquivos. Se " +"você quiser apenas ler ou escrever um arquivo veja :func:`open`." #: ../../library/fileinput.rst:18 msgid "The typical use is::" @@ -52,18 +54,30 @@ msgid "" "it as the first argument to :func:`.input`. A single file name is also " "allowed." msgstr "" +"Isto itera sobre as linhas de todos os arquivos listados em " +"``sys.argv[1:]``, padronizando ``sys.stdin`` se a lista estiver vazia. Se o " +"nome de um arquivo for ``'-'``, ele também será substituído por " +"``sys.stdin`` e os argumentos opcionais *mode* e *openhook* serão ignorados. " +"Para especificar uma lista alternativa de nomes de arquivos, passe-a como " +"primeiro argumento para :func:`.input`. Um único nome de arquivo também é " +"permitido." #: ../../library/fileinput.rst:30 msgid "" "All files are opened in text mode by default, but you can override this by " -"specifying the *mode* parameter in the call to :func:`.input` or :class:" -"`FileInput`. If an I/O error occurs during opening or reading a file, :exc:" -"`OSError` is raised." +"specifying the *mode* parameter in the call to :func:`.input` " +"or :class:`FileInput`. If an I/O error occurs during opening or reading a " +"file, :exc:`OSError` is raised." msgstr "" +"Todos os arquivos são abertos em modo texto por padrão, mas você pode " +"substituir isso especificando o parâmetro *mode* na chamada " +"para :func:`.input` ou :class:`FileInput`. Se ocorrer um erro de E/S durante " +"a abertura ou leitura de um arquivo, :exc:`OSError` será levantada." #: ../../library/fileinput.rst:35 msgid ":exc:`IOError` used to be raised; it is now an alias of :exc:`OSError`." msgstr "" +":exc:`IOError` costumava ser levantada; agora é um apelido de :exc:`OSError`." #: ../../library/fileinput.rst:38 msgid "" @@ -71,6 +85,9 @@ msgid "" "return no lines, except perhaps for interactive use, or if it has been " "explicitly reset (e.g. using ``sys.stdin.seek(0)``)." msgstr "" +"Se ``sys.stdin`` for usado mais de uma vez, o segundo e posterior uso não " +"retornará nenhuma linha, exceto talvez para uso interativo, ou se tiver sido " +"explicitamente redefinido (por exemplo, usando ``sys.stdin.seek(0)``)." #: ../../library/fileinput.rst:42 msgid "" @@ -78,12 +95,17 @@ msgid "" "in the list of filenames is noticeable at all is when the last file opened " "is empty." msgstr "" +"Arquivos vazios são abertos e fechados imediatamente; a única vez que sua " +"presença na lista de nomes de arquivos é perceptível é quando o último " +"arquivo aberto está vazio." #: ../../library/fileinput.rst:46 msgid "" "Lines are returned with any newlines intact, which means that the last line " "in a file may not have one." msgstr "" +"As linhas são retornadas com novas linhas intactas, o que significa que a " +"última linha de um arquivo pode não ter nenhuma." #: ../../library/fileinput.rst:49 msgid "" @@ -98,7 +120,7 @@ msgstr "" #: ../../library/fileinput.rst:56 msgid "The following function is the primary interface of this module:" -msgstr "" +msgstr "A seguinte função é a interface principal deste módulo:" #: ../../library/fileinput.rst:61 msgid "" @@ -107,44 +129,60 @@ msgid "" "to use during iteration. The parameters to this function will be passed " "along to the constructor of the :class:`FileInput` class." msgstr "" +"Cria uma instância da classe :class:`FileInput`. A instância será usada como " +"estado global para as funções deste módulo e também será retornada para uso " +"durante a iteração. Os parâmetros desta função serão passados para o " +"construtor da classe :class:`FileInput`." #: ../../library/fileinput.rst:66 msgid "" -"The :class:`FileInput` instance can be used as a context manager in the :" -"keyword:`with` statement. In this example, *input* is closed after the :" -"keyword:`!with` statement is exited, even if an exception occurs::" +"The :class:`FileInput` instance can be used as a context manager in " +"the :keyword:`with` statement. In this example, *input* is closed after " +"the :keyword:`!with` statement is exited, even if an exception occurs::" msgstr "" +"A instância :class:`FileInput` pode ser usada como um gerenciador de " +"contexto na instrução :keyword:`with`. Neste exemplo, *input* é fechado após " +"a saída da instrução :keyword:`!with`, mesmo se ocorrer uma exceção::" #: ../../library/fileinput.rst:74 ../../library/fileinput.rst:170 msgid "Can be used as a context manager." -msgstr "" +msgstr "Pode ser usado como gerenciador de contexto." #: ../../library/fileinput.rst:77 msgid "The keyword parameters *mode* and *openhook* are now keyword-only." -msgstr "" +msgstr "Os parâmetros nomeados *mode* e *openhook* agora são somente-nomeados." #: ../../library/fileinput.rst:80 ../../library/fileinput.rst:176 #: ../../library/fileinput.rst:210 msgid "The keyword-only parameter *encoding* and *errors* are added." msgstr "" +"Os parâmetros somente-nomeados *encoding* e *errors* foram adicionados." #: ../../library/fileinput.rst:84 msgid "" -"The following functions use the global state created by :func:`fileinput." -"input`; if there is no active state, :exc:`RuntimeError` is raised." +"The following functions use the global state created " +"by :func:`fileinput.input`; if there is no active state, :exc:`RuntimeError` " +"is raised." msgstr "" +"As funções a seguir usam o estado global criado por :func:`fileinput.input`; " +"se não houver estado ativo, :exc:`RuntimeError` será levantada." #: ../../library/fileinput.rst:90 msgid "" "Return the name of the file currently being read. Before the first line has " "been read, returns ``None``." msgstr "" +"Retorna o nome do arquivo que está sendo lido no momento. Antes da primeira " +"linha ser lida, retorna ``None``." #: ../../library/fileinput.rst:96 msgid "" "Return the integer \"file descriptor\" for the current file. When no file is " "opened (before the first line and between files), returns ``-1``." msgstr "" +"Retorna o número inteiro de \"descritor de arquivo\" para o arquivo atual. " +"Quando nenhum arquivo é aberto (antes da primeira linha e entre arquivos), " +"retorna ``-1``." #: ../../library/fileinput.rst:102 msgid "" @@ -152,6 +190,9 @@ msgid "" "Before the first line has been read, returns ``0``. After the last line of " "the last file has been read, returns the line number of that line." msgstr "" +"Retorna o número cumulativo da linha que acabou de ser lida. Antes da " +"primeira linha ser lida, retorna ``0``. Após a leitura da última linha do " +"último arquivo, retorna o número da linha dessa linha." #: ../../library/fileinput.rst:109 msgid "" @@ -159,18 +200,25 @@ msgid "" "read, returns ``0``. After the last line of the last file has been read, " "returns the line number of that line within the file." msgstr "" +"Retorna o número da linha no arquivo atual. Antes da primeira linha ser " +"lida, retorna ``0``. Após a leitura da última linha do último arquivo, " +"retorna o número da linha dessa linha no arquivo." #: ../../library/fileinput.rst:116 msgid "" "Return ``True`` if the line just read is the first line of its file, " "otherwise return ``False``." msgstr "" +"Retorna ``True`` se a linha que acabou de ler for a primeira linha do seu " +"arquivo, caso contrário retorna ``False``." #: ../../library/fileinput.rst:122 msgid "" "Return ``True`` if the last line was read from ``sys.stdin``, otherwise " "return ``False``." msgstr "" +"Retorna ``True`` se a última linha foi lida em ``sys.stdin``, caso contrário " +"retorna ``False``." #: ../../library/fileinput.rst:128 msgid "" @@ -182,34 +230,51 @@ msgid "" "file. After the last line of the last file has been read, this function has " "no effect." msgstr "" +"Fecha o arquivo atual para que a próxima iteração leia a primeira linha do " +"próximo arquivo (se houver); as linhas não lidas do arquivo não contarão " +"para a contagem cumulativa de linhas. O nome do arquivo não é alterado até " +"que a primeira linha do próximo arquivo seja lida. Antes da leitura da " +"primeira linha, esta função não tem efeito; ele não pode ser usado para " +"pular o primeiro arquivo. Após a leitura da última linha do último arquivo, " +"esta função não terá efeito." #: ../../library/fileinput.rst:138 msgid "Close the sequence." -msgstr "" +msgstr "Fecha a sequência." #: ../../library/fileinput.rst:140 msgid "" "The class which implements the sequence behavior provided by the module is " "available for subclassing as well:" msgstr "" +"A classe que implementa o comportamento de sequência fornecido pelo módulo " +"também está disponível para subclasses:" #: ../../library/fileinput.rst:146 msgid "" -"Class :class:`FileInput` is the implementation; its methods :meth:" -"`filename`, :meth:`fileno`, :meth:`lineno`, :meth:`filelineno`, :meth:" -"`isfirstline`, :meth:`isstdin`, :meth:`nextfile` and :meth:`close` " -"correspond to the functions of the same name in the module. In addition it " -"is :term:`iterable` and has a :meth:`~io.TextIOBase.readline` method which " -"returns the next input line. The sequence must be accessed in strictly " -"sequential order; random access and :meth:`~io.TextIOBase.readline` cannot " -"be mixed." -msgstr "" +"Class :class:`FileInput` is the implementation; its " +"methods :meth:`filename`, :meth:`fileno`, :meth:`lineno`, :meth:`filelineno`, :meth:`isfirstline`, :meth:`isstdin`, :meth:`nextfile` " +"and :meth:`close` correspond to the functions of the same name in the " +"module. In addition it is :term:`iterable` and has " +"a :meth:`~io.TextIOBase.readline` method which returns the next input line. " +"The sequence must be accessed in strictly sequential order; random access " +"and :meth:`~io.TextIOBase.readline` cannot be mixed." +msgstr "" +"A classe :class:`FileInput` é a implementação; seus " +"métodos :meth:`filename`, :meth:`fileno`, :meth:`lineno`, :meth:`filelineno`, :meth:`isfirstline`, :meth:`isstdin`, :meth:`nextfile` " +"e :meth:`close` correspondem às funções de mesmo nome no módulo. Além disso, " +"é :term:`iterável` e possui um método :meth:`~io.TextIOBase.readline` que " +"retorna a próxima linha de entrada. A sequência deve ser acessada em ordem " +"estritamente sequencial; acesso aleatório e :meth:`~io.TextIOBase.readline` " +"não podem ser misturados." #: ../../library/fileinput.rst:154 msgid "" "With *mode* you can specify which file mode will be passed to :func:`open`. " "It must be one of ``'r'`` and ``'rb'``." msgstr "" +"Com *mode* você pode especificar qual modo de arquivo será passado " +"para :func:`open`. Deve ser um entre ``'r'`` e ``'rb'``." #: ../../library/fileinput.rst:157 msgid "" @@ -217,29 +282,38 @@ msgid "" "*filename* and *mode*, and returns an accordingly opened file-like object. " "You cannot use *inplace* and *openhook* together." msgstr "" +"O *openhook*, quando fornecido, deve ser uma função que recebe dois " +"argumentos, *filename* e *mode*, e retorna um objeto arquivo ou similar " +"aberto de acordo. Você não pode usar *inplace* e *openhook* juntos." #: ../../library/fileinput.rst:161 msgid "" "You can specify *encoding* and *errors* that is passed to :func:`open` or " "*openhook*." msgstr "" +"Você pode especificar *encoding* e *errors* que são passados " +"para :func:`open` ou *openhook*." #: ../../library/fileinput.rst:163 msgid "" -"A :class:`FileInput` instance can be used as a context manager in the :" -"keyword:`with` statement. In this example, *input* is closed after the :" -"keyword:`!with` statement is exited, even if an exception occurs::" +"A :class:`FileInput` instance can be used as a context manager in " +"the :keyword:`with` statement. In this example, *input* is closed after " +"the :keyword:`!with` statement is exited, even if an exception occurs::" msgstr "" +"Uma instância :class:`FileInput` pode ser usada como um gerenciador de " +"contexto na instrução :keyword:`with`. Neste exemplo, *input* é fechado após " +"a saída da instrução :keyword:`!with`, mesmo se ocorrer uma exceção::" #: ../../library/fileinput.rst:173 msgid "The keyword parameter *mode* and *openhook* are now keyword-only." -msgstr "" +msgstr "Os parâmetros nomeados *mode* e *openhook* agora são somente-nomeados." #: ../../library/fileinput.rst:179 msgid "" -"The ``'rU'`` and ``'U'`` modes and the :meth:`__getitem__` method have been " +"The ``'rU'`` and ``'U'`` modes and the :meth:`!__getitem__` method have been " "removed." msgstr "" +"Os modos ``'rU'`` e ``'U'`` e o método :meth:`!__getitem__` foram removidos." #: ../../library/fileinput.rst:184 msgid "" @@ -254,10 +328,21 @@ msgid "" "extension is ``'.bak'`` and it is deleted when the output file is closed. " "In-place filtering is disabled when standard input is read." msgstr "" +"**Filtragem local opcional:** se o argumento nomeado ``inplace=True`` for " +"passado para :func:`fileinput.input` ou para o " +"construtor :class:`FileInput`, o arquivo é movido para um arquivo de backup " +"e a saída padrão é direcionada para o arquivo de entrada (se já existir um " +"arquivo com o mesmo nome do arquivo de backup, ele será substituído " +"silenciosamente). Isso torna possível escrever um filtro que reescreva seu " +"arquivo de entrada internamente. Se o parâmetro *backup* for fornecido " +"(normalmente como ``backup='.'``), ele especifica a extensão " +"do arquivo de backup, e o arquivo de backup permanece disponível; por " +"padrão, a extensão é ``'.bak'`` e é excluída quando o arquivo de saída é " +"fechado. A filtragem local é desativada quando a entrada padrão é lida." #: ../../library/fileinput.rst:196 msgid "The two following opening hooks are provided by this module:" -msgstr "" +msgstr "Os dois ganchos de abertura a seguir são fornecidos por este módulo:" #: ../../library/fileinput.rst:200 msgid "" @@ -266,37 +351,54 @@ msgid "" "modules. If the filename extension is not ``'.gz'`` or ``'.bz2'``, the file " "is opened normally (ie, using :func:`open` without any decompression)." msgstr "" +"Abre de forma transparente arquivos compactados com gzip e bzip2 " +"(reconhecidos pelas extensões ``'.gz'`` e ``'.bz2'``) usando os " +"módulos :mod:`gzip` e :mod:`bz2`. Se a extensão do nome do arquivo não for " +"``'.gz'`` ou ``'.bz2'``, o arquivo é aberto normalmente (ou seja, " +"usando :func:`open` sem qualquer descompactação)." #: ../../library/fileinput.rst:205 msgid "" "The *encoding* and *errors* values are passed to :class:`io.TextIOWrapper` " "for compressed files and open for normal files." msgstr "" +"Os valores *encoding* e *errors* são passados para :class:`io.TextIOWrapper` " +"para arquivos compactados e abertos para arquivos normais." #: ../../library/fileinput.rst:208 msgid "" -"Usage example: ``fi = fileinput.FileInput(openhook=fileinput." -"hook_compressed, encoding=\"utf-8\")``" +"Usage example: ``fi = " +"fileinput.FileInput(openhook=fileinput.hook_compressed, encoding=\"utf-8\")``" msgstr "" +"Exemplo de uso: ``fi = " +"fileinput.FileInput(openhook=fileinput.hook_compressed, encoding=\"utf-8\")``" #: ../../library/fileinput.rst:216 msgid "" "Returns a hook which opens each file with :func:`open`, using the given " "*encoding* and *errors* to read the file." msgstr "" +"Retorna um gancho que abre cada arquivo com :func:`open`, usando a " +"*encoding* e *errors* fornecidas para ler o arquivo." #: ../../library/fileinput.rst:219 msgid "" -"Usage example: ``fi = fileinput.FileInput(openhook=fileinput." -"hook_encoded(\"utf-8\", \"surrogateescape\"))``" +"Usage example: ``fi = " +"fileinput.FileInput(openhook=fileinput.hook_encoded(\"utf-8\", " +"\"surrogateescape\"))``" msgstr "" +"Exemplo de uso: ``fi = " +"fileinput.FileInput(openhook=fileinput.hook_encoded(\"utf-8\", " +"\"surrogateescape\"))``" #: ../../library/fileinput.rst:223 msgid "Added the optional *errors* parameter." -msgstr "" +msgstr "Adicionado o parâmetro opcional *errors*." #: ../../library/fileinput.rst:226 msgid "" -"This function is deprecated since :func:`fileinput.input` and :class:" -"`FileInput` now have *encoding* and *errors* parameters." +"This function is deprecated since :func:`fileinput.input` " +"and :class:`FileInput` now have *encoding* and *errors* parameters." msgstr "" +"Esta função foi descontinuado já que :func:`fileinput.input` " +"e :class:`FileInput` agora possuem parâmetros *encoding* e *errors*." diff --git a/library/filesys.po b/library/filesys.po index 65602032e..9c0bd308f 100644 --- a/library/filesys.po +++ b/library/filesys.po @@ -1,27 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/fnmatch.po b/library/fnmatch.po index 495850d35..499d74b37 100644 --- a/library/fnmatch.po +++ b/library/fnmatch.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Welington Carlos , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 -# Claudio Rogerio Carvalho Filho , 2023 -# Marco Rougeth , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Marco Rougeth , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -96,10 +92,10 @@ msgstr "" #: ../../library/fnmatch.rst:43 msgid "" "Note that the filename separator (``'/'`` on Unix) is *not* special to this " -"module. See module :mod:`glob` for pathname expansion (:mod:`glob` uses :" -"func:`.filter` to match pathname segments). Similarly, filenames starting " -"with a period are not special for this module, and are matched by the ``*`` " -"and ``?`` patterns." +"module. See module :mod:`glob` for pathname expansion (:mod:`glob` " +"uses :func:`.filter` to match pathname segments). Similarly, filenames " +"starting with a period are not special for this module, and are matched by " +"the ``*`` and ``?`` patterns." msgstr "" "Note que o separador de nome de arquivo (``'/'`` no Unix) *não* é especial " "para este módulo. Veja o módulo :mod:`glob` para expansão do nome do caminho " @@ -111,8 +107,8 @@ msgstr "" #: ../../library/fnmatch.rst:49 msgid "" "Also note that :func:`functools.lru_cache` with the *maxsize* of 32768 is " -"used to cache the compiled regex patterns in the following functions: :func:" -"`fnmatch`, :func:`fnmatchcase`, :func:`.filter`." +"used to cache the compiled regex patterns in the following " +"functions: :func:`fnmatch`, :func:`fnmatchcase`, :func:`.filter`." msgstr "" "Observe também que :func:`functools.lru_cache` com *maxsize* de 32768 é " "usado para armazenar em cache os padrões de regex compilados nas seguintes " @@ -120,17 +116,18 @@ msgstr "" #: ../../library/fnmatch.rst:55 msgid "" -"Test whether the *filename* string matches the *pattern* string, returning :" -"const:`True` or :const:`False`. Both parameters are case-normalized using :" -"func:`os.path.normcase`. :func:`fnmatchcase` can be used to perform a case-" -"sensitive comparison, regardless of whether that's standard for the " +"Test whether the filename string *name* matches the pattern string *pat*, " +"returning ``True`` or ``False``. Both parameters are case-normalized " +"using :func:`os.path.normcase`. :func:`fnmatchcase` can be used to perform a " +"case-sensitive comparison, regardless of whether that's standard for the " "operating system." msgstr "" -"Testa se a string *filename* corresponde à string *pattern*, retornando :" -"const:`True` ou :const:`False`. Ambos os parâmetros são normalizados em " -"maiúsculas e minúsculas usando :func:`os.path.normcase`. :func:`fnmatchcase` " -"pode ser usado para realizar uma comparação com distinção entre maiúsculas e " -"minúsculas, independentemente de ser padrão para o sistema operacional." +"Testa se a string do nome de arquivo *name* corresponde à string de padrão " +"*pat*, retornando ``True`` ou ``False``. Ambos os parâmetros são " +"normalizados em maiúsculas e minúsculas " +"usando :func:`os.path.normcase`. :func:`fnmatchcase` pode ser usado para " +"realizar uma comparação com distinção entre maiúsculas e minúsculas, " +"independentemente de ser padrão para o sistema operacional." #: ../../library/fnmatch.rst:61 msgid "" @@ -142,51 +139,51 @@ msgstr "" #: ../../library/fnmatch.rst:74 msgid "" -"Test whether *filename* matches *pattern*, returning :const:`True` or :const:" -"`False`; the comparison is case-sensitive and does not apply :func:`os.path." -"normcase`." +"Test whether the filename string *name* matches the pattern string *pat*, " +"returning ``True`` or ``False``; the comparison is case-sensitive and does " +"not apply :func:`os.path.normcase`." msgstr "" -"Testa se *filename* corresponde ao *pattern*, retornando :const:`True` ou :" -"const:`False`; a comparação diferencia maiúsculas de minúsculas e não se " -"aplica :func:`os.path.normcase`." +"Testa se a string do nome de arquivo *name* corresponde à string de padrão " +"*pat*, retornando ``True`` ou ``False``; a comparação diferencia maiúsculas " +"de minúsculas e não se aplica a :func:`os.path.normcase`." #: ../../library/fnmatch.rst:81 msgid "" -"Construct a list from those elements of the iterable *names* that match " -"*pattern*. It is the same as ``[n for n in names if fnmatch(n, pattern)]``, " -"but implemented more efficiently." +"Construct a list from those elements of the :term:`iterable` *names* that " +"match pattern *pat*. It is the same as ``[n for n in names if fnmatch(n, " +"pat)]``, but implemented more efficiently." msgstr "" -"Constrói uma lista a partir daqueles elementos do iterável *names* que " -"correspondem a *pattern*. É o mesmo que ``[n for n in names if fnmatch(n, " -"pattern)]``, mas implementado com mais eficiência." +"Constrói uma lista a partir daqueles elementos do :term:`iterável` *names* " +"que correspondem ao padrão *pat*. É o mesmo que ``[n for n in names if " +"fnmatch(n, pat)]``, mas implementado com mais eficiência." -#: ../../library/fnmatch.rst:87 +#: ../../library/fnmatch.rst:89 msgid "" -"Return the shell-style *pattern* converted to a regular expression for using " -"with :func:`re.match`." +"Return the shell-style pattern *pat* converted to a regular expression for " +"using with :func:`re.match`." msgstr "" -"Retorna o *pattern* no estilo shell convertido em uma expressão regular para " -"usar com :func:`re.match`." +"Retorna o padrão *pat* no estilo shell convertido em uma expressão regular " +"para usar com :func:`re.match`." -#: ../../library/fnmatch.rst:90 +#: ../../library/fnmatch.rst:92 msgid "Example:" msgstr "Exemplo:" -#: ../../library/fnmatch.rst:104 +#: ../../library/fnmatch.rst:106 msgid "Module :mod:`glob`" msgstr "Módulo :mod:`glob`" -#: ../../library/fnmatch.rst:105 +#: ../../library/fnmatch.rst:107 msgid "Unix shell-style path expansion." msgstr "Expansão de caminho no estilo shell do Unix." #: ../../library/fnmatch.rst:9 msgid "filenames" -msgstr "" +msgstr "nomes de arquivos" #: ../../library/fnmatch.rst:9 msgid "wildcard expansion" -msgstr "" +msgstr "expansão de curingas" #: ../../library/fnmatch.rst:11 ../../library/fnmatch.rst:41 msgid "module" @@ -198,27 +195,27 @@ msgstr "re" #: ../../library/fnmatch.rst:19 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisco)" #: ../../library/fnmatch.rst:19 msgid "in glob-style wildcards" -msgstr "" +msgstr "caracteres curingas no estilo blog" #: ../../library/fnmatch.rst:19 msgid "? (question mark)" -msgstr "" +msgstr "? (interrogação)" #: ../../library/fnmatch.rst:19 msgid "[] (square brackets)" -msgstr "" +msgstr "[] (colchetes)" #: ../../library/fnmatch.rst:19 msgid "! (exclamation)" -msgstr "" +msgstr "! (exclamação)" #: ../../library/fnmatch.rst:19 msgid "- (minus)" -msgstr "" +msgstr "- (menos)" #: ../../library/fnmatch.rst:41 msgid "glob" diff --git a/library/formatter.po b/library/formatter.po deleted file mode 100644 index ae9407086..000000000 --- a/library/formatter.po +++ /dev/null @@ -1,390 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Cássio Nomura , 2020 -# i17obot , 2020 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.9\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-01-01 05:02+0000\n" -"PO-Revision-Date: 2017-02-16 23:11+0000\n" -"Last-Translator: i17obot , 2020\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" -"teams/5390/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: ../../library/formatter.rst:2 -msgid ":mod:`formatter` --- Generic output formatting" -msgstr ":mod:`formatter` --- Formatação de saída genérica" - -#: ../../library/formatter.rst:8 -msgid "Due to lack of usage, the formatter module has been deprecated." -msgstr "" - -#: ../../library/formatter.rst:13 -msgid "" -"This module supports two interface definitions, each with multiple " -"implementations: The *formatter* interface, and the *writer* interface which " -"is required by the formatter interface." -msgstr "" - -#: ../../library/formatter.rst:17 -msgid "" -"Formatter objects transform an abstract flow of formatting events into " -"specific output events on writer objects. Formatters manage several stack " -"structures to allow various properties of a writer object to be changed and " -"restored; writers need not be able to handle relative changes nor any sort " -"of \"change back\" operation. Specific writer properties which may be " -"controlled via formatter objects are horizontal alignment, font, and left " -"margin indentations. A mechanism is provided which supports providing " -"arbitrary, non-exclusive style settings to a writer as well. Additional " -"interfaces facilitate formatting events which are not reversible, such as " -"paragraph separation." -msgstr "" - -#: ../../library/formatter.rst:27 -msgid "" -"Writer objects encapsulate device interfaces. Abstract devices, such as " -"file formats, are supported as well as physical devices. The provided " -"implementations all work with abstract devices. The interface makes " -"available mechanisms for setting the properties which formatter objects " -"manage and inserting data into the output." -msgstr "" - -#: ../../library/formatter.rst:37 -msgid "The Formatter Interface" -msgstr "" - -#: ../../library/formatter.rst:39 -msgid "" -"Interfaces to create formatters are dependent on the specific formatter " -"class being instantiated. The interfaces described below are the required " -"interfaces which all formatters must support once initialized." -msgstr "" - -#: ../../library/formatter.rst:43 -msgid "One data element is defined at the module level:" -msgstr "" - -#: ../../library/formatter.rst:48 -msgid "" -"Value which can be used in the font specification passed to the " -"``push_font()`` method described below, or as the new value to any other " -"``push_property()`` method. Pushing the ``AS_IS`` value allows the " -"corresponding ``pop_property()`` method to be called without having to track " -"whether the property was changed." -msgstr "" - -#: ../../library/formatter.rst:53 -msgid "The following attributes are defined for formatter instance objects:" -msgstr "" - -#: ../../library/formatter.rst:58 -msgid "The writer instance with which the formatter interacts." -msgstr "" - -#: ../../library/formatter.rst:63 -msgid "" -"Close any open paragraphs and insert at least *blanklines* before the next " -"paragraph." -msgstr "" - -#: ../../library/formatter.rst:69 -msgid "" -"Add a hard line break if one does not already exist. This does not break " -"the logical paragraph." -msgstr "" - -#: ../../library/formatter.rst:75 -msgid "" -"Insert a horizontal rule in the output. A hard break is inserted if there " -"is data in the current paragraph, but the logical paragraph is not broken. " -"The arguments and keywords are passed on to the writer's :meth:" -"`send_line_break` method." -msgstr "" - -#: ../../library/formatter.rst:83 -msgid "" -"Provide data which should be formatted with collapsed whitespace. Whitespace " -"from preceding and successive calls to :meth:`add_flowing_data` is " -"considered as well when the whitespace collapse is performed. The data " -"which is passed to this method is expected to be word-wrapped by the output " -"device. Note that any word-wrapping still must be performed by the writer " -"object due to the need to rely on device and font information." -msgstr "" - -#: ../../library/formatter.rst:93 -msgid "" -"Provide data which should be passed to the writer unchanged. Whitespace, " -"including newline and tab characters, are considered legal in the value of " -"*data*." -msgstr "" - -#: ../../library/formatter.rst:100 -msgid "" -"Insert a label which should be placed to the left of the current left " -"margin. This should be used for constructing bulleted or numbered lists. If " -"the *format* value is a string, it is interpreted as a format specification " -"for *counter*, which should be an integer. The result of this formatting " -"becomes the value of the label; if *format* is not a string it is used as " -"the label value directly. The label value is passed as the only argument to " -"the writer's :meth:`send_label_data` method. Interpretation of non-string " -"label values is dependent on the associated writer." -msgstr "" - -#: ../../library/formatter.rst:109 -msgid "" -"Format specifications are strings which, in combination with a counter " -"value, are used to compute label values. Each character in the format " -"string is copied to the label value, with some characters recognized to " -"indicate a transform on the counter value. Specifically, the character " -"``'1'`` represents the counter value formatter as an Arabic number, the " -"characters ``'A'`` and ``'a'`` represent alphabetic representations of the " -"counter value in upper and lower case, respectively, and ``'I'`` and ``'i'`` " -"represent the counter value in Roman numerals, in upper and lower case. " -"Note that the alphabetic and roman transforms require that the counter value " -"be greater than zero." -msgstr "" - -#: ../../library/formatter.rst:122 -msgid "" -"Send any pending whitespace buffered from a previous call to :meth:" -"`add_flowing_data` to the associated writer object. This should be called " -"before any direct manipulation of the writer object." -msgstr "" - -#: ../../library/formatter.rst:129 -msgid "" -"Push a new alignment setting onto the alignment stack. This may be :const:" -"`AS_IS` if no change is desired. If the alignment value is changed from the " -"previous setting, the writer's :meth:`new_alignment` method is called with " -"the *align* value." -msgstr "" - -#: ../../library/formatter.rst:137 -msgid "Restore the previous alignment." -msgstr "Restaurar o alinhamento anterior." - -#: ../../library/formatter.rst:142 -msgid "" -"Change some or all font properties of the writer object. Properties which " -"are not set to :const:`AS_IS` are set to the values passed in while others " -"are maintained at their current settings. The writer's :meth:`new_font` " -"method is called with the fully resolved font specification." -msgstr "" - -#: ../../library/formatter.rst:150 -msgid "Restore the previous font." -msgstr "Restaurar a fonte anterior." - -#: ../../library/formatter.rst:155 -msgid "" -"Increase the number of left margin indentations by one, associating the " -"logical tag *margin* with the new indentation. The initial margin level is " -"``0``. Changed values of the logical tag must be true values; false values " -"other than :const:`AS_IS` are not sufficient to change the margin." -msgstr "" - -#: ../../library/formatter.rst:163 -msgid "Restore the previous margin." -msgstr "Restaurar a margem anterior." - -#: ../../library/formatter.rst:168 -msgid "" -"Push any number of arbitrary style specifications. All styles are pushed " -"onto the styles stack in order. A tuple representing the entire stack, " -"including :const:`AS_IS` values, is passed to the writer's :meth:" -"`new_styles` method." -msgstr "" - -#: ../../library/formatter.rst:175 -msgid "" -"Pop the last *n* style specifications passed to :meth:`push_style`. A tuple " -"representing the revised stack, including :const:`AS_IS` values, is passed " -"to the writer's :meth:`new_styles` method." -msgstr "" - -#: ../../library/formatter.rst:182 -msgid "Set the spacing style for the writer." -msgstr "" - -#: ../../library/formatter.rst:187 -msgid "" -"Inform the formatter that data has been added to the current paragraph out-" -"of-band. This should be used when the writer has been manipulated " -"directly. The optional *flag* argument can be set to false if the writer " -"manipulations produced a hard line break at the end of the output." -msgstr "" - -#: ../../library/formatter.rst:196 -msgid "Formatter Implementations" -msgstr "" - -#: ../../library/formatter.rst:198 -msgid "" -"Two implementations of formatter objects are provided by this module. Most " -"applications may use one of these classes without modification or " -"subclassing." -msgstr "" - -#: ../../library/formatter.rst:204 -msgid "" -"A formatter which does nothing. If *writer* is omitted, a :class:" -"`NullWriter` instance is created. No methods of the writer are called by :" -"class:`NullFormatter` instances. Implementations should inherit from this " -"class if implementing a writer interface but don't need to inherit any " -"implementation." -msgstr "" - -#: ../../library/formatter.rst:213 -msgid "" -"The standard formatter. This implementation has demonstrated wide " -"applicability to many writers, and may be used directly in most " -"circumstances. It has been used to implement a full-featured World Wide Web " -"browser." -msgstr "" - -#: ../../library/formatter.rst:221 -msgid "The Writer Interface" -msgstr "" - -#: ../../library/formatter.rst:223 -msgid "" -"Interfaces to create writers are dependent on the specific writer class " -"being instantiated. The interfaces described below are the required " -"interfaces which all writers must support once initialized. Note that while " -"most applications can use the :class:`AbstractFormatter` class as a " -"formatter, the writer must typically be provided by the application." -msgstr "" - -#: ../../library/formatter.rst:232 -msgid "Flush any buffered output or device control events." -msgstr "" - -#: ../../library/formatter.rst:237 -msgid "" -"Set the alignment style. The *align* value can be any object, but by " -"convention is a string or ``None``, where ``None`` indicates that the " -"writer's \"preferred\" alignment should be used. Conventional *align* values " -"are ``'left'``, ``'center'``, ``'right'``, and ``'justify'``." -msgstr "" - -#: ../../library/formatter.rst:245 -msgid "" -"Set the font style. The value of *font* will be ``None``, indicating that " -"the device's default font should be used, or a tuple of the form ``(size, " -"italic, bold, teletype)``. Size will be a string indicating the size of " -"font that should be used; specific strings and their interpretation must be " -"defined by the application. The *italic*, *bold*, and *teletype* values are " -"Boolean values specifying which of those font attributes should be used." -msgstr "" - -#: ../../library/formatter.rst:255 -msgid "" -"Set the margin level to the integer *level* and the logical tag to *margin*. " -"Interpretation of the logical tag is at the writer's discretion; the only " -"restriction on the value of the logical tag is that it not be a false value " -"for non-zero values of *level*." -msgstr "" - -#: ../../library/formatter.rst:263 -msgid "Set the spacing style to *spacing*." -msgstr "" - -#: ../../library/formatter.rst:268 -msgid "" -"Set additional styles. The *styles* value is a tuple of arbitrary values; " -"the value :const:`AS_IS` should be ignored. The *styles* tuple may be " -"interpreted either as a set or as a stack depending on the requirements of " -"the application and writer implementation." -msgstr "" - -#: ../../library/formatter.rst:276 -msgid "Break the current line." -msgstr "Quebra a linha atual." - -#: ../../library/formatter.rst:281 -msgid "" -"Produce a paragraph separation of at least *blankline* blank lines, or the " -"equivalent. The *blankline* value will be an integer. Note that the " -"implementation will receive a call to :meth:`send_line_break` before this " -"call if a line break is needed; this method should not include ending the " -"last line of the paragraph. It is only responsible for vertical spacing " -"between paragraphs." -msgstr "" - -#: ../../library/formatter.rst:291 -msgid "" -"Display a horizontal rule on the output device. The arguments to this " -"method are entirely application- and writer-specific, and should be " -"interpreted with care. The method implementation may assume that a line " -"break has already been issued via :meth:`send_line_break`." -msgstr "" - -#: ../../library/formatter.rst:299 -msgid "" -"Output character data which may be word-wrapped and re-flowed as needed. " -"Within any sequence of calls to this method, the writer may assume that " -"spans of multiple whitespace characters have been collapsed to single space " -"characters." -msgstr "" - -#: ../../library/formatter.rst:306 -msgid "" -"Output character data which has already been formatted for display. " -"Generally, this should be interpreted to mean that line breaks indicated by " -"newline characters should be preserved and no new line breaks should be " -"introduced. The data may contain embedded newline and tab characters, " -"unlike data provided to the :meth:`send_formatted_data` interface." -msgstr "" - -#: ../../library/formatter.rst:315 -msgid "" -"Set *data* to the left of the current left margin, if possible. The value of " -"*data* is not restricted; treatment of non-string values is entirely " -"application- and writer-dependent. This method will only be called at the " -"beginning of a line." -msgstr "" - -#: ../../library/formatter.rst:324 -msgid "Writer Implementations" -msgstr "Implementações de Writer" - -#: ../../library/formatter.rst:326 -msgid "" -"Three implementations of the writer object interface are provided as " -"examples by this module. Most applications will need to derive new writer " -"classes from the :class:`NullWriter` class." -msgstr "" - -#: ../../library/formatter.rst:333 -msgid "" -"A writer which only provides the interface definition; no actions are taken " -"on any methods. This should be the base class for all writers which do not " -"need to inherit any implementation methods." -msgstr "" - -#: ../../library/formatter.rst:340 -msgid "" -"A writer which can be used in debugging formatters, but not much else. Each " -"method simply announces itself by printing its name and arguments on " -"standard output." -msgstr "" - -#: ../../library/formatter.rst:347 -msgid "" -"Simple writer class which writes output on the :term:`file object` passed in " -"as *file* or, if *file* is omitted, on standard output. The output is " -"simply word-wrapped to the number of columns specified by *maxcol*. This " -"class is suitable for reflowing a sequence of paragraphs." -msgstr "" diff --git a/library/fractions.po b/library/fractions.po index 71025ab81..d20627725 100644 --- a/library/fractions.po +++ b/library/fractions.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,26 +35,30 @@ msgstr "**Código-fonte:** :source:`Lib/fractions.py`" msgid "" "The :mod:`fractions` module provides support for rational number arithmetic." msgstr "" +"O módulo :mod:`fractions` fornece suporte para aritmética de números " +"racionais." #: ../../library/fractions.rst:17 msgid "" "A Fraction instance can be constructed from a pair of integers, from another " "rational number, or from a string." msgstr "" +"Uma instância de Fraction pode ser construída a partir de um par de números " +"inteiros, de outro número racional ou de uma string." #: ../../library/fractions.rst:26 msgid "" "The first version requires that *numerator* and *denominator* are instances " "of :class:`numbers.Rational` and returns a new :class:`Fraction` instance " -"with value ``numerator/denominator``. If *denominator* is :const:`0`, it " -"raises a :exc:`ZeroDivisionError`. The second version requires that " -"*other_fraction* is an instance of :class:`numbers.Rational` and returns a :" -"class:`Fraction` instance with the same value. The next two versions accept " -"either a :class:`float` or a :class:`decimal.Decimal` instance, and return " -"a :class:`Fraction` instance with exactly the same value. Note that due to " -"the usual issues with binary floating-point (see :ref:`tut-fp-issues`), the " -"argument to ``Fraction(1.1)`` is not exactly equal to 11/10, and so " -"``Fraction(1.1)`` does *not* return ``Fraction(11, 10)`` as one might " +"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 argument to ``Fraction(1.1)`` is not exactly equal to 11/10, " +"and so ``Fraction(1.1)`` does *not* return ``Fraction(11, 10)`` as one might " "expect. (But see the documentation for the :meth:`limit_denominator` method " "below.) The last version of the constructor expects a string or unicode " "instance. The usual form for this instance is::" @@ -65,26 +69,41 @@ msgid "" "where the optional ``sign`` may be either '+' or '-' and ``numerator`` and " "``denominator`` (if present) are strings of decimal digits (underscores may " "be used to delimit digits as with integral literals in code). In addition, " -"any string that represents a finite value and is accepted by the :class:" -"`float` constructor is also accepted by the :class:`Fraction` constructor. " -"In either form the input string may also have leading and/or trailing " -"whitespace. Here are some examples::" -msgstr "" +"any string that represents a finite value and is accepted by " +"the :class:`float` constructor is also accepted by the :class:`Fraction` " +"constructor. In either form the input string may also have leading and/or " +"trailing whitespace. Here are some examples::" +msgstr "" +"onde o ``sign`` opcional pode ser '+' ou '-' e ``numerator`` e " +"``denominator`` (se presente) são strings de dígitos decimais (sublinhados " +"podem ser usados para delimitar dígitos como com literais integrais no " +"código). Além disso, qualquer string que represente um valor finito e seja " +"aceita pelo construtor :class:`float` também é aceita pelo " +"construtor :class:`Fraction`. Em qualquer forma, a string de entrada também " +"pode ter espaços em branco à esquerda e/ou à direita. Aqui estão alguns " +"exemplos::" #: ../../library/fractions.rst:78 msgid "" -"The :class:`Fraction` class inherits from the abstract base class :class:" -"`numbers.Rational`, and implements all of the methods and operations from " -"that class. :class:`Fraction` instances are :term:`hashable`, and should be " -"treated as immutable. In addition, :class:`Fraction` has the following " -"properties and methods:" +"The :class:`Fraction` class inherits from the abstract base " +"class :class:`numbers.Rational`, and implements all of the methods and " +"operations from that class. :class:`Fraction` instances " +"are :term:`hashable`, and should be treated as immutable. In " +"addition, :class:`Fraction` has the following properties and methods:" msgstr "" +"A classe :class:`Fraction` herda da classe base " +"abstrata :class:`numbers.Rational` e implementa todos os métodos e operações " +"dessa classe. As instâncias de :class:`Fraction` são :term:`hasheável` e " +"devem ser tratadas como imutáveis. Além disso, :class:`Fraction` tem as " +"seguintes propriedades e métodos:" #: ../../library/fractions.rst:84 msgid "" -"The :class:`Fraction` constructor now accepts :class:`float` and :class:" -"`decimal.Decimal` instances." +"The :class:`Fraction` constructor now accepts :class:`float` " +"and :class:`decimal.Decimal` instances." msgstr "" +"O construtor :class:`Fraction` agora aceita instâncias :class:`float` " +"e :class:`decimal.Decimal`." #: ../../library/fractions.rst:88 msgid "" @@ -98,20 +117,24 @@ msgid "" "Underscores are now permitted when creating a :class:`Fraction` instance " "from a string, following :PEP:`515` rules." msgstr "" +"Sublinhados agora são permitidos ao criar uma instância :class:`Fraction` a " +"partir de uma string, seguindo as regras :PEP:`515`." #: ../../library/fractions.rst:97 msgid "" -":class:`Fraction` implements ``__int__`` now to satisfy ``typing." -"SupportsInt`` instance checks." +":class:`Fraction` implements ``__int__`` now to satisfy " +"``typing.SupportsInt`` instance checks." msgstr "" +":class:`Fraction` implementa ``__int__`` agora para satisfazer verificações " +"de instância ``typing.SupportsInt``." #: ../../library/fractions.rst:103 msgid "Numerator of the Fraction in lowest term." -msgstr "" +msgstr "Numerador de Fraction no menor termo." #: ../../library/fractions.rst:107 msgid "Denominator of the Fraction in lowest term." -msgstr "" +msgstr "Denominador de Fraction no menor termo." #: ../../library/fractions.rst:112 msgid "" @@ -121,28 +144,38 @@ msgstr "" #: ../../library/fractions.rst:119 msgid "" -"Alternative constructor which only accepts instances of :class:`float` or :" -"class:`numbers.Integral`. Beware that ``Fraction.from_float(0.3)`` is not " -"the same value as ``Fraction(3, 10)``." +"Alternative constructor which only accepts instances of :class:`float` " +"or :class:`numbers.Integral`. Beware that ``Fraction.from_float(0.3)`` is " +"not the same value as ``Fraction(3, 10)``." msgstr "" +"Construtor alternativo que aceita apenas instâncias de :class:`float` " +"ou :class:`numbers.Integral`. Esteja ciente de que " +"``Fraction.from_float(0.3)`` não é o mesmo valor que ``Fraction(3, 10)``." #: ../../library/fractions.rst:125 msgid "" "From Python 3.2 onwards, you can also construct a :class:`Fraction` instance " "directly from a :class:`float`." msgstr "" +"A partir do Python 3.2, você também pode construir uma " +"instância :class:`Fraction` diretamente de um :class:`float`." #: ../../library/fractions.rst:131 msgid "" -"Alternative constructor which only accepts instances of :class:`decimal." -"Decimal` or :class:`numbers.Integral`." +"Alternative constructor which only accepts instances " +"of :class:`decimal.Decimal` or :class:`numbers.Integral`." msgstr "" +"Construtor alternativo que aceita somente instâncias " +"de :class:`decimal.Decimal` ou :class:`numbers.Integral`." #: ../../library/fractions.rst:136 msgid "" "From Python 3.2 onwards, you can also construct a :class:`Fraction` instance " "directly from a :class:`decimal.Decimal` instance." msgstr "" +"A partir do Python 3.2, você também pode construir uma " +"instância :class:`Fraction` diretamente de uma instância " +"de :class:`decimal.Decimal`." #: ../../library/fractions.rst:143 msgid "" @@ -150,31 +183,45 @@ msgid "" "denominator at most max_denominator. This method is useful for finding " "rational approximations to a given floating-point number:" msgstr "" +"Encontra e retorna o :class:`Fraction` mais próximo de ``self`` que tem " +"denominador no máximo max_denominator. Este método é útil para encontrar " +"aproximações racionais para um dado número de ponto flutuante:" #: ../../library/fractions.rst:151 msgid "or for recovering a rational number that's represented as a float:" msgstr "" +"ou para recuperar um número racional que é representado como um ponto " +"flutuante:" #: ../../library/fractions.rst:164 msgid "" "Returns the greatest :class:`int` ``<= self``. This method can also be " "accessed through the :func:`math.floor` function:" msgstr "" +"Retorna o maior :class:`int` ``<= self``. Este método também pode ser " +"acessado por meio da função :func:`math.floor`:" #: ../../library/fractions.rst:174 msgid "" "Returns the least :class:`int` ``>= self``. This method can also be " "accessed through the :func:`math.ceil` function." msgstr "" +"Retorna o menor :class:`int` ``>= self``. Este método também pode ser " +"acessado por meio da função :func:`math.ceil`." #: ../../library/fractions.rst:181 msgid "" "The first version returns the nearest :class:`int` to ``self``, rounding " "half to even. The second version rounds ``self`` to the nearest multiple of " "``Fraction(1, 10**ndigits)`` (logically, if ``ndigits`` is negative), again " -"rounding half toward even. This method can also be accessed through the :" -"func:`round` function." +"rounding half toward even. This method can also be accessed through " +"the :func:`round` function." msgstr "" +"A primeira versão retorna o :class:`int` mais próximo de ``self``, " +"arredondando a metade para par. A segunda versão arredonda ``self`` para o " +"múltiplo mais próximo de ``Fraction(1, 10**ndigits)`` (logicamente, se " +"``ndigits`` for negativo), novamente arredondando a metade para par. Este " +"método também pode ser acessado por meio da função :func:`round`." #: ../../library/fractions.rst:190 msgid "Module :mod:`numbers`" @@ -182,4 +229,4 @@ msgstr "Módulo :mod:`numbers`" #: ../../library/fractions.rst:191 msgid "The abstract base classes making up the numeric tower." -msgstr "" +msgstr "As classes base abstratas que compõem a torre numérica." diff --git a/library/frameworks.po b/library/frameworks.po index 09e2005bf..e5d35614c 100644 --- a/library/frameworks.po +++ b/library/frameworks.po @@ -1,27 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/ftplib.po b/library/ftplib.po index 37ae7134c..e8cf5e32b 100644 --- a/library/ftplib.po +++ b/library/ftplib.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Christian Janiake , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,12 +33,12 @@ msgstr "**Código-fonte:** :source:`Lib/ftplib.py`" #: ../../library/ftplib.rst:15 msgid "" -"This module defines the class :class:`FTP` and a few related items. The :" -"class:`FTP` class implements the client side of the FTP protocol. You can " -"use this to write Python programs that perform a variety of automated FTP " -"jobs, such as mirroring other FTP servers. It is also used by the module :" -"mod:`urllib.request` to handle URLs that use FTP. For more information on " -"FTP (File Transfer Protocol), see internet :rfc:`959`." +"This module defines the class :class:`FTP` and a few related items. " +"The :class:`FTP` class implements the client side of the FTP protocol. You " +"can use this to write Python programs that perform a variety of automated " +"FTP jobs, such as mirroring other FTP servers. It is also used by the " +"module :mod:`urllib.request` to handle URLs that use FTP. For more " +"information on FTP (File Transfer Protocol), see internet :rfc:`959`." msgstr "" #: ../../library/ftplib.rst:22 @@ -65,223 +63,220 @@ msgstr "" msgid "Here's a sample session using the :mod:`ftplib` module::" msgstr "" -#: ../../library/ftplib.rst:48 -msgid "The module defines the following items:" -msgstr "Este módulo define os seguintes itens:" +#: ../../library/ftplib.rst:51 +msgid "Reference" +msgstr "Referência" -#: ../../library/ftplib.rst:52 -msgid "" -"Return a new instance of the :class:`FTP` class. When *host* is given, the " -"method call ``connect(host)`` is made. When *user* is given, additionally " -"the method call ``login(user, passwd, acct)`` is made (where *passwd* and " -"*acct* default to the empty string when not given). The optional *timeout* " -"parameter specifies a timeout in seconds for blocking operations like the " -"connection attempt (if is not specified, the global default timeout setting " -"will be used). *source_address* is a 2-tuple ``(host, port)`` for the socket " -"to bind to as its source address before connecting. The *encoding* parameter " -"specifies the encoding for directories and filenames." +#: ../../library/ftplib.rst:56 +msgid "FTP objects" msgstr "" -#: ../../library/ftplib.rst:62 -msgid "The :class:`FTP` class supports the :keyword:`with` statement, e.g.:" +#: ../../library/ftplib.rst:87 +msgid "Return a new instance of the :class:`FTP` class." msgstr "" -#: ../../library/ftplib.rst:76 -msgid "Support for the :keyword:`with` statement was added." -msgstr "Suporte para a instrução :keyword:`with` foi adicionado." +#: ../../library/ftplib.rst:0 +msgid "Parameters" +msgstr "Parâmetros" -#: ../../library/ftplib.rst:79 ../../library/ftplib.rst:105 -#: ../../library/ftplib.rst:214 -msgid "*source_address* parameter was added." +#: ../../library/ftplib.rst:89 ../../library/ftplib.rst:462 +msgid "" +"The hostname to connect to. If given, :code:`connect(host)` is implicitly " +"called by the constructor." msgstr "" -#: ../../library/ftplib.rst:82 ../../library/ftplib.rst:120 +#: ../../library/ftplib.rst:93 ../../library/ftplib.rst:466 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. The " -"*encoding* parameter was added, and the default was changed from Latin-1 to " -"UTF-8 to follow :rfc:`2640`." +"|param_doc_user| If given, :code:`login(host, passwd, acct)` is implicitly " +"called by the constructor." msgstr "" -#: ../../library/ftplib.rst:90 -msgid "" -"A :class:`FTP` subclass which adds TLS support to FTP as described in :rfc:" -"`4217`. Connect as usual to port 21 implicitly securing the FTP control " -"connection before authenticating. Securing the data connection requires the " -"user to explicitly ask for it by calling the :meth:`prot_p` method. " -"*context* is a :class:`ssl.SSLContext` object which allows bundling SSL " -"configuration options, certificates and private keys into a single " -"(potentially long-lived) structure. Please read :ref:`ssl-security` for " -"best practices." +#: ../../library/ftplib.rst:98 ../../library/ftplib.rst:212 +#: ../../library/ftplib.rst:471 +msgid "|param_doc_passwd|" msgstr "" -#: ../../library/ftplib.rst:99 -msgid "" -"*keyfile* and *certfile* are a legacy alternative to *context* -- they can " -"point to PEM-formatted private key and certificate chain files " -"(respectively) for the SSL connection." +#: ../../library/ftplib.rst:101 ../../library/ftplib.rst:215 +#: ../../library/ftplib.rst:474 +msgid "|param_doc_acct|" msgstr "" -#: ../../library/ftplib.rst:108 +#: ../../library/ftplib.rst:104 msgid "" -"The class now supports hostname check with :attr:`ssl.SSLContext." -"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +"A timeout in seconds for blocking operations like :meth:`connect` (default: " +"the global default timeout setting)." msgstr "" -#: ../../library/ftplib.rst:115 -msgid "" -"*keyfile* and *certfile* are deprecated in favor of *context*. Please use :" -"meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." -"create_default_context` select the system's trusted CA certificates for you." +#: ../../library/ftplib.rst:109 ../../library/ftplib.rst:183 +#: ../../library/ftplib.rst:489 +msgid "|param_doc_source_address|" msgstr "" -#: ../../library/ftplib.rst:126 -msgid "Here's a sample session using the :class:`FTP_TLS` class::" +#: ../../library/ftplib.rst:113 ../../library/ftplib.rst:493 +msgid "|param_doc_encoding|" msgstr "" -#: ../../library/ftplib.rst:139 -msgid "Exception raised when an unexpected reply is received from the server." +#: ../../library/ftplib.rst:116 +msgid "The :class:`FTP` class supports the :keyword:`with` statement, e.g.:" msgstr "" -#: ../../library/ftplib.rst:144 -msgid "" -"Exception raised when an error code signifying a temporary error (response " -"codes in the range 400--499) is received." +#: ../../library/ftplib.rst:130 +msgid "Support for the :keyword:`with` statement was added." +msgstr "Suporte para a instrução :keyword:`with` foi adicionado." + +#: ../../library/ftplib.rst:133 ../../library/ftplib.rst:189 +msgid "*source_address* parameter was added." msgstr "" -#: ../../library/ftplib.rst:150 +#: ../../library/ftplib.rst:136 ../../library/ftplib.rst:517 msgid "" -"Exception raised when an error code signifying a permanent error (response " -"codes in the range 500--599) is received." +"If the *timeout* parameter is set to be zero, it will raise " +"a :class:`ValueError` to prevent the creation of a non-blocking socket. The " +"*encoding* parameter was added, and the default was changed from Latin-1 to " +"UTF-8 to follow :rfc:`2640`." msgstr "" -#: ../../library/ftplib.rst:156 +#: ../../library/ftplib.rst:142 msgid "" -"Exception raised when a reply is received from the server that does not fit " -"the response specifications of the File Transfer Protocol, i.e. begin with a " -"digit in the range 1--5." +"Several :class:`!FTP` methods are available in two flavors: one for handling " +"text files and another for binary files. The methods are named for the " +"command which is used followed by ``lines`` for the text version or " +"``binary`` for the binary version." msgstr "" -#: ../../library/ftplib.rst:163 +#: ../../library/ftplib.rst:147 +msgid ":class:`FTP` instances have the following methods:" +msgstr "" + +#: ../../library/ftplib.rst:151 msgid "" -"The set of all exceptions (as a tuple) that methods of :class:`FTP` " -"instances may raise as a result of problems with the FTP connection (as " -"opposed to programming errors made by the caller). This set includes the " -"four exceptions listed above as well as :exc:`OSError` and :exc:`EOFError`." +"Set the instance's debugging level as an :class:`int`. This controls the " +"amount of debugging output printed. The debug levels are:" msgstr "" -#: ../../library/ftplib.rst:173 -msgid "Module :mod:`netrc`" -msgstr "Módulo :mod:`netrc`" +#: ../../library/ftplib.rst:155 +msgid "``0`` (default): No debug output." +msgstr "" -#: ../../library/ftplib.rst:172 +#: ../../library/ftplib.rst:156 msgid "" -"Parser for the :file:`.netrc` file format. The file :file:`.netrc` is " -"typically used by FTP clients to load user authentication information before " -"prompting the user." +"``1``: Produce a moderate amount of debug output, generally a single line " +"per request." msgstr "" -#: ../../library/ftplib.rst:180 -msgid "FTP Objects" -msgstr "Objetos FTP" +#: ../../library/ftplib.rst:158 +msgid "" +"``2`` or higher: Produce the maximum amount of debugging output, logging " +"each line sent and received on the control connection." +msgstr "" -#: ../../library/ftplib.rst:182 +#: ../../library/ftplib.rst:163 msgid "" -"Several methods are available in two flavors: one for handling text files " -"and another for binary files. These are named for the command which is used " -"followed by ``lines`` for the text version or ``binary`` for the binary " -"version." +"Connect to the given host and port. This function should be called only once " +"for each instance; it should not be called if a *host* argument was given " +"when the :class:`FTP` instance was created. All other :class:`!FTP` methods " +"can only be called after a connection has successfully been made." msgstr "" -#: ../../library/ftplib.rst:186 -msgid ":class:`FTP` instances have the following methods:" +#: ../../library/ftplib.rst:170 +msgid "The host to connect to." msgstr "" -#: ../../library/ftplib.rst:191 +#: ../../library/ftplib.rst:173 msgid "" -"Set the instance's debugging level. This controls the amount of debugging " -"output printed. The default, ``0``, produces no debugging output. A value " -"of ``1`` produces a moderate amount of debugging output, generally a single " -"line per request. A value of ``2`` or higher produces the maximum amount of " -"debugging output, logging each line sent and received on the control " -"connection." +"The TCP port to connect to (default: ``21``, as specified by the FTP " +"protocol specification). It is rarely needed to specify a different port " +"number." msgstr "" -#: ../../library/ftplib.rst:200 +#: ../../library/ftplib.rst:178 msgid "" -"Connect to the given host and port. The default port number is ``21``, as " -"specified by the FTP protocol specification. It is rarely needed to specify " -"a different port number. This function should be called only once for each " -"instance; it should not be called at all if a host was given when the " -"instance was created. All other methods can only be used after a connection " -"has been made. The optional *timeout* parameter specifies a timeout in " -"seconds for the connection attempt. If no *timeout* is passed, the global " -"default timeout setting will be used. *source_address* is a 2-tuple ``(host, " -"port)`` for the socket to bind to as its source address before connecting." +"A timeout in seconds for the connection attempt (default: the global default " +"timeout setting)." msgstr "" -#: ../../library/ftplib.rst:221 +#: ../../library/ftplib.rst:198 msgid "" "Raises an :ref:`auditing event ` ``ftplib.connect`` with arguments " "``self``, ``host``, ``port``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``ftplib.connect`` com os " +"argumentos ``self``, ``host``, ``port``." -#: ../../library/ftplib.rst:220 +#: ../../library/ftplib.rst:195 msgid "" "Return the welcome message sent by the server in reply to the initial " "connection. (This message sometimes contains disclaimers or help " "information that may be relevant to the user.)" msgstr "" -#: ../../library/ftplib.rst:227 +#: ../../library/ftplib.rst:202 msgid "" -"Log in as the given *user*. The *passwd* and *acct* parameters are optional " -"and default to the empty string. If no *user* is specified, it defaults to " -"``'anonymous'``. If *user* is ``'anonymous'``, the default *passwd* is " -"``'anonymous@'``. This function should be called only once for each " -"instance, after a connection has been established; it should not be called " -"at all if a host and user were given when the instance was created. Most " -"FTP commands are only allowed after the client has logged in. The *acct* " -"parameter supplies \"accounting information\"; few systems implement this." +"Log on to the connected FTP server. This function should be called only once " +"for each instance, after a connection has been established; it should not be " +"called if the *host* and *user* arguments were given when the :class:`FTP` " +"instance was created. Most FTP commands are only allowed after the client " +"has logged in." +msgstr "" + +#: ../../library/ftplib.rst:209 +msgid "|param_doc_user|" msgstr "" -#: ../../library/ftplib.rst:239 +#: ../../library/ftplib.rst:221 msgid "" "Abort a file transfer that is in progress. Using this does not always work, " "but it's worth a try." msgstr "" -#: ../../library/ftplib.rst:245 +#: ../../library/ftplib.rst:227 msgid "" "Send a simple command string to the server and return the response string." msgstr "" -#: ../../library/ftplib.rst:256 ../../library/ftplib.rst:265 +#: ../../library/ftplib.rst:240 ../../library/ftplib.rst:249 msgid "" "Raises an :ref:`auditing event ` ``ftplib.sendcmd`` with arguments " "``self``, ``cmd``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``ftplib.sendcmd`` com os " +"argumentos ``self``, ``cmd``." -#: ../../library/ftplib.rst:252 +#: ../../library/ftplib.rst:234 msgid "" "Send a simple command string to the server and handle the response. Return " -"nothing if a response code corresponding to success (codes in the range " -"200--299) is received. Raise :exc:`error_reply` otherwise." +"the response string if the response code corresponds to success (codes in " +"the range 200--299). Raise :exc:`error_reply` otherwise." +msgstr "" + +#: ../../library/ftplib.rst:243 +msgid "Retrieve a file in binary transfer mode." +msgstr "" + +#: ../../library/ftplib.rst:245 ../../library/ftplib.rst:289 +msgid "An appropriate ``STOR`` command: :samp:`\"STOR {filename}\"`." +msgstr "" + +#: ../../library/ftplib.rst:248 +msgid "" +"A single parameter callable that is called for each block of data received, " +"with its single argument being the data as :class:`bytes`." msgstr "" -#: ../../library/ftplib.rst:261 +#: ../../library/ftplib.rst:254 msgid "" -"Retrieve a file in binary transfer mode. *cmd* should be an appropriate " -"``RETR`` command: ``'RETR filename'``. The *callback* function is called for " -"each block of data received, with a single bytes argument giving the data " -"block. The optional *blocksize* argument specifies the maximum chunk size to " -"read on the low-level socket object created to do the actual transfer (which " -"will also be the largest size of the data blocks passed to *callback*). A " -"reasonable default is chosen. *rest* means the same thing as in the :meth:" -"`transfercmd` method." +"The maximum chunk size to read on the low-level :class:`~socket.socket` " +"object created to do the actual transfer. This also corresponds to the " +"largest size of data that will be passed to *callback*. Defaults to ``8192``." msgstr "" -#: ../../library/ftplib.rst:273 +#: ../../library/ftplib.rst:261 ../../library/ftplib.rst:308 +msgid "" +"A ``REST`` command to be sent to the server. See the documentation for the " +"*rest* parameter of the :meth:`transfercmd` method." +msgstr "" + +#: ../../library/ftplib.rst:268 msgid "" "Retrieve a file or directory listing in the encoding specified by the " "*encoding* parameter at initialization. *cmd* should be an appropriate " @@ -290,31 +285,41 @@ msgid "" "files and information about those files. ``NLST`` retrieves a list of file " "names. The *callback* function is called for each line with a string " "argument containing the line with the trailing CRLF stripped. The default " -"*callback* prints the line to ``sys.stdout``." +"*callback* prints the line to :data:`sys.stdout`." msgstr "" -#: ../../library/ftplib.rst:286 +#: ../../library/ftplib.rst:281 msgid "" "Enable \"passive\" mode if *val* is true, otherwise disable passive mode. " "Passive mode is on by default." msgstr "" +#: ../../library/ftplib.rst:287 +msgid "Store a file in binary transfer mode." +msgstr "" + #: ../../library/ftplib.rst:292 msgid "" -"Store a file in binary transfer mode. *cmd* should be an appropriate " -"``STOR`` command: ``\"STOR filename\"``. *fp* is a :term:`file object` " -"(opened in binary mode) which is read until EOF using its :meth:`~io.IOBase." -"read` method in blocks of size *blocksize* to provide the data to be stored. " -"The *blocksize* argument defaults to 8192. *callback* is an optional single " -"parameter callable that is called on each block of data after it is sent. " -"*rest* means the same thing as in the :meth:`transfercmd` method." +"A file object (opened in binary mode) which is read until EOF, using " +"its :meth:`~io.RawIOBase.read` method in blocks of size *blocksize* to " +"provide the data to be stored." msgstr "" -#: ../../library/ftplib.rst:300 -msgid "*rest* parameter added." -msgstr "Parâmetro *rest* adicionado." +#: ../../library/ftplib.rst:298 +msgid "The read block size. Defaults to ``8192``." +msgstr "" -#: ../../library/ftplib.rst:306 +#: ../../library/ftplib.rst:302 +msgid "" +"A single parameter callable that is called for each block of data sent, with " +"its single argument being the data as :class:`bytes`." +msgstr "" + +#: ../../library/ftplib.rst:312 +msgid "The *rest* parameter was added." +msgstr "" + +#: ../../library/ftplib.rst:318 msgid "" "Store a file in line mode. *cmd* should be an appropriate ``STOR`` command " "(see :meth:`storbinary`). Lines are read until EOF from the :term:`file " @@ -323,7 +328,7 @@ msgid "" "parameter callable that is called on each line after it is sent." msgstr "" -#: ../../library/ftplib.rst:315 +#: ../../library/ftplib.rst:327 msgid "" "Initiate a transfer over the data connection. If the transfer is active, " "send an ``EPRT`` or ``PORT`` command and the transfer command specified by " @@ -332,7 +337,7 @@ msgid "" "command. Either way, return the socket for the connection." msgstr "" -#: ../../library/ftplib.rst:321 +#: ../../library/ftplib.rst:333 msgid "" "If optional *rest* is given, a ``REST`` command is sent to the server, " "passing *rest* as an argument. *rest* is usually a byte offset into the " @@ -345,7 +350,7 @@ msgid "" "simply call :meth:`transfercmd` without a *rest* argument." msgstr "" -#: ../../library/ftplib.rst:334 +#: ../../library/ftplib.rst:346 msgid "" "Like :meth:`transfercmd`, but returns a tuple of the data connection and the " "expected size of the data. If the expected size could not be computed, " @@ -353,19 +358,19 @@ msgid "" "same thing as in :meth:`transfercmd`." msgstr "" -#: ../../library/ftplib.rst:342 +#: ../../library/ftplib.rst:354 msgid "" -"List a directory in a standardized format by using ``MLSD`` command (:rfc:" -"`3659`). If *path* is omitted the current directory is assumed. *facts* is " -"a list of strings representing the type of information desired (e.g. " -"``[\"type\", \"size\", \"perm\"]``). Return a generator object yielding a " -"tuple of two elements for every file found in path. First element is the " -"file name, the second one is a dictionary containing facts about the file " -"name. Content of this dictionary might be limited by the *facts* argument " -"but server is not guaranteed to return all requested facts." +"List a directory in a standardized format by using ``MLSD`` command " +"(:rfc:`3659`). If *path* is omitted the current directory is assumed. " +"*facts* is a list of strings representing the type of information desired " +"(e.g. ``[\"type\", \"size\", \"perm\"]``). Return a generator object " +"yielding a tuple of two elements for every file found in path. First " +"element is the file name, the second one is a dictionary containing facts " +"about the file name. Content of this dictionary might be limited by the " +"*facts* argument but server is not guaranteed to return all requested facts." msgstr "" -#: ../../library/ftplib.rst:356 +#: ../../library/ftplib.rst:368 msgid "" "Return a list of file names as returned by the ``NLST`` command. The " "optional *argument* is a directory to list (default is the current server " @@ -373,48 +378,48 @@ msgid "" "the ``NLST`` command." msgstr "" -#: ../../library/ftplib.rst:361 ../../library/ftplib.rst:373 +#: ../../library/ftplib.rst:373 ../../library/ftplib.rst:385 msgid "If your server supports the command, :meth:`mlsd` offers a better API." msgstr "" -#: ../../library/ftplib.rst:366 +#: ../../library/ftplib.rst:378 msgid "" "Produce a directory listing as returned by the ``LIST`` command, printing it " "to standard output. The optional *argument* is a directory to list (default " "is the current server directory). Multiple arguments can be used to pass " "non-standard options to the ``LIST`` command. If the last argument is a " "function, it is used as a *callback* function as for :meth:`retrlines`; the " -"default prints to ``sys.stdout``. This method returns ``None``." +"default prints to :data:`sys.stdout`. This method returns ``None``." msgstr "" -#: ../../library/ftplib.rst:378 +#: ../../library/ftplib.rst:390 msgid "Rename file *fromname* on the server to *toname*." msgstr "" -#: ../../library/ftplib.rst:383 +#: ../../library/ftplib.rst:395 msgid "" "Remove the file named *filename* from the server. If successful, returns " "the text of the response, otherwise raises :exc:`error_perm` on permission " "errors or :exc:`error_reply` on other errors." msgstr "" -#: ../../library/ftplib.rst:390 +#: ../../library/ftplib.rst:402 msgid "Set the current directory on the server." msgstr "" -#: ../../library/ftplib.rst:395 +#: ../../library/ftplib.rst:407 msgid "Create a new directory on the server." msgstr "" -#: ../../library/ftplib.rst:400 +#: ../../library/ftplib.rst:412 msgid "Return the pathname of the current directory on the server." msgstr "" -#: ../../library/ftplib.rst:405 +#: ../../library/ftplib.rst:417 msgid "Remove the directory named *dirname* on the server." msgstr "" -#: ../../library/ftplib.rst:410 +#: ../../library/ftplib.rst:422 msgid "" "Request the size of the file named *filename* on the server. On success, " "the size of the file is returned as an integer, otherwise ``None`` is " @@ -422,7 +427,7 @@ msgid "" "supported by many common server implementations." msgstr "" -#: ../../library/ftplib.rst:418 +#: ../../library/ftplib.rst:430 msgid "" "Send a ``QUIT`` command to the server and close the connection. This is the " "\"polite\" way to close a connection, but it may raise an exception if the " @@ -431,7 +436,7 @@ msgid "" "for subsequent calls (see below)." msgstr "" -#: ../../library/ftplib.rst:427 +#: ../../library/ftplib.rst:439 msgid "" "Close the connection unilaterally. This should not be applied to an already " "closed connection such as after a successful call to :meth:`~FTP.quit`. " @@ -440,54 +445,160 @@ msgid "" "connection by issuing another :meth:`login` method)." msgstr "" -#: ../../library/ftplib.rst:435 -msgid "FTP_TLS Objects" -msgstr "Objetos FTP_TLS" +#: ../../library/ftplib.rst:447 +msgid "FTP_TLS objects" +msgstr "" + +#: ../../library/ftplib.rst:453 +msgid "" +"An :class:`FTP` subclass which adds TLS support to FTP as described " +"in :rfc:`4217`. Connect to port 21 implicitly securing the FTP control " +"connection before authenticating." +msgstr "" + +#: ../../library/ftplib.rst:459 +msgid "" +"The user must explicitly secure the data connection by calling " +"the :meth:`prot_p` method." +msgstr "" + +#: ../../library/ftplib.rst:477 +msgid "" +"An SSL context object which allows bundling SSL configuration options, " +"certificates and private keys into a single, potentially long-lived, " +"structure. Please read :ref:`ssl-security` for best practices." +msgstr "" + +#: ../../library/ftplib.rst:484 +msgid "" +"A timeout in seconds for blocking operations like :meth:`~FTP.connect` " +"(default: the global default timeout setting)." +msgstr "" + +#: ../../library/ftplib.rst:496 +msgid "" +"*keyfile* and *certfile* are a legacy alternative to *context* -- they can " +"point to PEM-formatted private key and certificate chain files " +"(respectively) for the SSL connection." +msgstr "" + +#: ../../library/ftplib.rst:502 +msgid "Added the *source_address* parameter." +msgstr "" + +#: ../../library/ftplib.rst:505 +msgid "" +"The class now supports hostname check " +"with :attr:`ssl.SSLContext.check_hostname` and *Server Name Indication* " +"(see :const:`ssl.HAS_SNI`)." +msgstr "" +"A classe agora oferece suporte a verificação de nome de host " +"com :attr:`ssl.SSLContext.check_hostname` e *Indicação de nome de servidor* " +"(veja :const:`ssl.HAS_SNI`)." + +#: ../../library/ftplib.rst:512 +msgid "" +"*keyfile* and *certfile* are deprecated in favor of *context*. Please " +"use :meth:`ssl.SSLContext.load_cert_chain` instead, or " +"let :func:`ssl.create_default_context` select the system's trusted CA " +"certificates for you." +msgstr "" + +#: ../../library/ftplib.rst:523 +msgid "Here's a sample session using the :class:`FTP_TLS` class::" +msgstr "" -#: ../../library/ftplib.rst:437 +#: ../../library/ftplib.rst:533 msgid "" -":class:`FTP_TLS` class inherits from :class:`FTP`, defining these additional " -"objects:" +":class:`!FTP_TLS` class inherits from :class:`FTP`, defining these " +"additional methods and attributes:" msgstr "" -#: ../../library/ftplib.rst:441 -msgid "The SSL version to use (defaults to :attr:`ssl.PROTOCOL_SSLv23`)." +#: ../../library/ftplib.rst:538 +msgid "The SSL version to use (defaults to :data:`ssl.PROTOCOL_SSLv23`)." msgstr "" -#: ../../library/ftplib.rst:445 +#: ../../library/ftplib.rst:542 msgid "" "Set up a secure control connection by using TLS or SSL, depending on what is " "specified in the :attr:`ssl_version` attribute." msgstr "" -#: ../../library/ftplib.rst:448 +#: ../../library/ftplib.rst:545 msgid "" -"The method now supports hostname check with :attr:`ssl.SSLContext." -"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +"The method now supports hostname check " +"with :attr:`ssl.SSLContext.check_hostname` and *Server Name Indication* " +"(see :const:`ssl.HAS_SNI`)." msgstr "" -#: ../../library/ftplib.rst:455 +#: ../../library/ftplib.rst:552 msgid "" "Revert control channel back to plaintext. This can be useful to take " "advantage of firewalls that know how to handle NAT with non-secure FTP " "without opening fixed ports." msgstr "" -#: ../../library/ftplib.rst:463 +#: ../../library/ftplib.rst:560 msgid "Set up secure data connection." msgstr "" -#: ../../library/ftplib.rst:467 +#: ../../library/ftplib.rst:564 msgid "Set up clear text data connection." msgstr "" +#: ../../library/ftplib.rst:568 +msgid "Module variables" +msgstr "" + +#: ../../library/ftplib.rst:572 +msgid "Exception raised when an unexpected reply is received from the server." +msgstr "" + +#: ../../library/ftplib.rst:577 +msgid "" +"Exception raised when an error code signifying a temporary error (response " +"codes in the range 400--499) is received." +msgstr "" + +#: ../../library/ftplib.rst:583 +msgid "" +"Exception raised when an error code signifying a permanent error (response " +"codes in the range 500--599) is received." +msgstr "" + +#: ../../library/ftplib.rst:589 +msgid "" +"Exception raised when a reply is received from the server that does not fit " +"the response specifications of the File Transfer Protocol, i.e. begin with a " +"digit in the range 1--5." +msgstr "" + +#: ../../library/ftplib.rst:596 +msgid "" +"The set of all exceptions (as a tuple) that methods of :class:`FTP` " +"instances may raise as a result of problems with the FTP connection (as " +"opposed to programming errors made by the caller). This set includes the " +"four exceptions listed above as well as :exc:`OSError` and :exc:`EOFError`." +msgstr "" + +#: ../../library/ftplib.rst:606 +msgid "Module :mod:`netrc`" +msgstr "Módulo :mod:`netrc`" + +#: ../../library/ftplib.rst:605 +msgid "" +"Parser for the :file:`.netrc` file format. The file :file:`.netrc` is " +"typically used by FTP clients to load user authentication information before " +"prompting the user." +msgstr "" + #: ../../library/ftplib.rst:9 msgid "FTP" msgstr "" #: ../../library/ftplib.rst:9 msgid "protocol" -msgstr "" +msgstr "protocolo" #: ../../library/ftplib.rst:9 msgid "ftplib (standard module)" diff --git a/library/functional.po b/library/functional.po index 34192c1d1..9434ec498 100644 --- a/library/functional.po +++ b/library/functional.po @@ -1,32 +1,31 @@ # 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: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/functional.rst:3 msgid "Functional Programming Modules" -msgstr "Módulos de Programção Funcional" +msgstr "Módulos de Programação Funcional" #: ../../library/functional.rst:5 msgid "" diff --git a/library/functions.po b/library/functions.po index 3e05bcd3f..6b5127a80 100644 --- a/library/functions.po +++ b/library/functions.po @@ -1,39 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Sheila Gomes , 2021 -# Misael borges , 2021 -# Welington Carlos , 2021 -# Italo Penaforte , 2021 -# VERUSKA RODRIGUES DA SILVA , 2021 -# felipe caridade , 2021 -# (Douglas da Silva) , 2021 -# Katyanna Moura , 2021 -# João Porfirio, 2021 -# Adorilson Bezerra , 2023 -# Vinicius Gubiani Ferreira , 2023 -# Marco Rougeth , 2023 -# Claudio Rogerio Carvalho Filho , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -65,14 +51,14 @@ msgstr ":func:`aiter`" msgid ":func:`all`" msgstr ":func:`all`" -#: ../../library/functions.rst:0 -msgid ":func:`any`" -msgstr ":func:`any`" - #: ../../library/functions.rst:0 msgid ":func:`anext`" msgstr ":func:`anext`" +#: ../../library/functions.rst:0 +msgid ":func:`any`" +msgstr ":func:`any`" + #: ../../library/functions.rst:0 msgid ":func:`ascii`" msgstr ":func:`ascii`" @@ -416,29 +402,30 @@ msgstr ":func:`__import__`" #: ../../library/functions.rst:59 msgid "" "Return the absolute value of a number. The argument may be an integer, a " -"floating point number, or an object implementing :meth:`__abs__`. If the " -"argument is a complex number, its magnitude is returned." +"floating point number, or an object implementing :meth:`~object.__abs__`. If " +"the argument is a complex number, its magnitude is returned." msgstr "" "Retorna o valor absoluto de um número. O argumento pode ser um inteiro, um " -"número de ponto flutuante ou um objeto implementando :meth:`__abs__`. Se o " -"argumento é um número complexo, sua magnitude é retornada." +"número de ponto flutuante ou um objeto " +"implementando :meth:`~object.__abs__`. Se o argumento é um número complexo, " +"sua magnitude é retornada." -#: ../../library/functions.rst:66 +#: ../../library/functions.rst:67 msgid "" "Return an :term:`asynchronous iterator` for an :term:`asynchronous " "iterable`. Equivalent to calling ``x.__aiter__()``." msgstr "" -"Retorna um :term:`iterador assíncrono ` para um :term:" -"`iterável assíncrono `. Equivalente a chamar ``x." -"__aiter__()``." +"Retorna um :term:`iterador assíncrono ` para " +"um :term:`iterável assíncrono `. Equivalente a chamar " +"``x.__aiter__()``." -#: ../../library/functions.rst:69 +#: ../../library/functions.rst:70 msgid "Note: Unlike :func:`iter`, :func:`aiter` has no 2-argument variant." msgstr "" "Nota: Ao contrário de :func:`iter`, :func:`aiter` não tem uma variante de 2 " "argumentos." -#: ../../library/functions.rst:75 +#: ../../library/functions.rst:76 msgid "" "Return ``True`` if all elements of the *iterable* are true (or if the " "iterable is empty). Equivalent to::" @@ -446,7 +433,7 @@ msgstr "" "Retorna ``True`` se todos os elementos de *iterable* são verdadeiros (ou se " "*iterable* estiver vazio). Equivalente a::" -#: ../../library/functions.rst:88 +#: ../../library/functions.rst:89 msgid "" "When awaited, return the next item from the given :term:`asynchronous " "iterator`, or *default* if given and the iterator is exhausted." @@ -454,14 +441,14 @@ msgstr "" "Quando aguardado, retorna o próximo item do :term:`iterador assíncrono` " "fornecido, ou *default* se fornecido e o iterador for esgotado." -#: ../../library/functions.rst:91 +#: ../../library/functions.rst:92 msgid "" "This is the async variant of the :func:`next` builtin, and behaves similarly." msgstr "" "Esta é a variante assíncrona do :func:`next` embutido, e se comporta de " "forma semelhante." -#: ../../library/functions.rst:94 +#: ../../library/functions.rst:95 msgid "" "This calls the :meth:`~object.__anext__` method of *async_iterator*, " "returning an :term:`awaitable`. Awaiting this returns the next value of the " @@ -474,7 +461,7 @@ msgstr "" "for esgotado, caso contrário, a exceção :exc:`StopAsyncIteration` será " "levantada." -#: ../../library/functions.rst:103 +#: ../../library/functions.rst:104 msgid "" "Return ``True`` if any element of the *iterable* is true. If the iterable " "is empty, return ``False``. Equivalent to::" @@ -482,31 +469,31 @@ msgstr "" "Retorna ``True`` se algum elemento de *iterable* for verdadeiro. Se " "*iterable* estiver vazio, retorna ``False``. Equivalente a::" -#: ../../library/functions.rst:115 +#: ../../library/functions.rst:116 msgid "" "As :func:`repr`, return a string containing a printable representation of an " -"object, but escape the non-ASCII characters in the string returned by :func:" -"`repr` using ``\\x``, ``\\u``, or ``\\U`` escapes. This generates a string " -"similar to that returned by :func:`repr` in Python 2." +"object, but escape the non-ASCII characters in the string returned " +"by :func:`repr` using ``\\x``, ``\\u``, or ``\\U`` escapes. This generates " +"a string similar to that returned by :func:`repr` in Python 2." msgstr "" "Como :func:`repr`, retorna uma string contendo uma representação imprimível " "de um objeto, mas faz escape de caracteres não-ASCII na string retornada " "por :func:`repr` usando sequências de escapes ``\\x``, ``\\u`` ou ``\\U``. " "Isto gera uma string similar ao que é retornado por :func:`repr` no Python 2." -#: ../../library/functions.rst:123 +#: ../../library/functions.rst:124 msgid "" "Convert an integer number to a binary string prefixed with \"0b\". The " "result is a valid Python expression. If *x* is not a Python :class:`int` " -"object, it has to define an :meth:`__index__` method that returns an " +"object, it has to define an :meth:`~object.__index__` method that returns an " "integer. Some examples:" msgstr "" "Converte um número inteiro para uma string de binários prefixada com \"0b\". " -"O resultado é uma expressão Python válida. Se *x* não é um objeto Python :" -"class:`int`, ele tem que definir um método :meth:`__index__` que devolve um " -"inteiro. Alguns exemplos:" +"O resultado é uma expressão Python válida. Se *x* não é um objeto " +"Python :class:`int`, ele tem que definir um método :meth:`~object.__index__` " +"que devolve um inteiro. Alguns exemplos:" -#: ../../library/functions.rst:133 +#: ../../library/functions.rst:134 msgid "" "If the prefix \"0b\" is desired or not, you can use either of the following " "ways." @@ -514,33 +501,34 @@ msgstr "" "Se o prefixo \"0b\" é desejado ou não, você pode usar uma das seguintes " "maneiras." -#: ../../library/functions.rst:140 ../../library/functions.rst:834 -#: ../../library/functions.rst:1151 +#: ../../library/functions.rst:141 ../../library/functions.rst:844 +#: ../../library/functions.rst:1162 msgid "See also :func:`format` for more information." msgstr "Veja também :func:`format` para mais informações." -#: ../../library/functions.rst:145 +#: ../../library/functions.rst:146 msgid "" "Return a Boolean value, i.e. one of ``True`` or ``False``. *x* is converted " "using the standard :ref:`truth testing procedure `. If *x* is false " -"or omitted, this returns ``False``; otherwise, it returns ``True``. The :" -"class:`bool` class is a subclass of :class:`int` (see :ref:`typesnumeric`). " -"It cannot be subclassed further. Its only instances are ``False`` and " -"``True`` (see :ref:`bltin-boolean-values`)." -msgstr "" -"Retorna um valor Booleano, isto é, ``True`` ou ``False``. *x* é convertida " -"usando o :ref:`procedimento de teste de verdade ` padrão. Se *x* é " -"falso ou foi omitido, isso retorna ``False``; senão ``True``. A classe :" -"class:`bool` é uma subclasse de :class:`int` (veja :ref:`typesnumeric`). Ela " -"não pode ser usada para criar outra subclasse. Suas únicas instâncias são " -"``False`` e ``True`` (veja :ref:`bltin-boolean-values`)." - -#: ../../library/functions.rst:154 ../../library/functions.rst:699 -#: ../../library/functions.rst:923 +"or omitted, this returns ``False``; otherwise, it returns ``True``. " +"The :class:`bool` class is a subclass of :class:`int` " +"(see :ref:`typesnumeric`). It cannot be subclassed further. Its only " +"instances are ``False`` and ``True`` (see :ref:`bltin-boolean-values`)." +msgstr "" +"Retorna um valor Booleano, por ex., um ``True`` ou ``False``, *x* é " +"convertido usando o procedimento :ref:`truth padrão `. Se *x* é falso " +"ou omitido, retorna ``False``; caso contrário, retorna ``True``. A " +"classe :class:`bool` é uma subclasse " +"de :class:`int`(ver :ref:`typesnumeric`). Ele não pode ser subclassificado " +"além disso. Suas únicas instâncias são ``False`` e ``True`` (ver :ref:`bltin-" +"boolean-values`)." + +#: ../../library/functions.rst:155 ../../library/functions.rst:709 +#: ../../library/functions.rst:933 msgid "*x* is now a positional-only parameter." msgstr "*x* é agora um parâmetro somente posicional." -#: ../../library/functions.rst:159 +#: ../../library/functions.rst:160 msgid "" "This function drops you into the debugger at the call site. Specifically, " "it calls :func:`sys.breakpointhook`, passing ``args`` and ``kws`` straight " @@ -554,24 +542,43 @@ msgid "" msgstr "" "Esta função coloca você no depurador no local da chamada. Especificamente, " "ela chama :func:`sys.breakpointhook`, passando ``args`` e ``kws`` " -"diretamente. Por padrão, ``sys.breakpointhook()`` chama :func:`pdb." -"set_trace()` não esperando nenhum argumento. Neste caso, isso é puramente " -"uma função de conveniência para você não precisar importar :mod:`pdb` " -"explicitamente ou digitar mais código para entrar no depurador. Contudo, :" -"func:`sys.breakpointhook` pode ser configurado para alguma outra função e :" -"func:`breakpoint` irá automaticamente chamá-la, permitindo você ir para o " -"depurador de sua escolha. Se :func:`sys.breakpointhook` não estiver " -"acessível, esta função vai levantar :exc:`RuntimeError`." +"diretamente. Por padrão, ``sys.breakpointhook()`` " +"chama :func:`pdb.set_trace()` não esperando nenhum argumento. Neste caso, " +"isso é puramente uma função de conveniência para você não precisar " +"importar :mod:`pdb` explicitamente ou digitar mais código para entrar no " +"depurador. Contudo, :func:`sys.breakpointhook` pode ser configurado para " +"alguma outra função e :func:`breakpoint` irá automaticamente chamá-la, " +"permitindo você ir para o depurador de sua escolha. " +"Se :func:`sys.breakpointhook` não estiver acessível, esta função vai " +"levantar :exc:`RuntimeError`." + +#: ../../library/functions.rst:172 +msgid "" +"By default, the behavior of :func:`breakpoint` can be changed with " +"the :envvar:`PYTHONBREAKPOINT` environment variable. " +"See :func:`sys.breakpointhook` for usage details." +msgstr "" +"Por padrão, o comportamento de :func:`breakpoint` pode ser alterado com a " +"variável de ambiente :envvar:`PYTHONBREAKPOINT`. " +"Veja :func:`sys.breakpointhook` para detalhes de uso." -#: ../../library/functions.rst:171 +#: ../../library/functions.rst:176 +msgid "" +"Note that this is not guaranteed if :func:`sys.breakpointhook` has been " +"replaced." +msgstr "" +"Observe que isso não é garantido se :func:`sys.breakpointhook` tiver sido " +"substituído." + +#: ../../library/functions.rst:179 msgid "" "Raises an :ref:`auditing event ` ``builtins.breakpoint`` with " "argument ``breakpointhook``." msgstr "" "Levanta um :ref:`evento de auditoria ` ``builtins.breakpoint`` com " -"argumento ``breakpointhook``." +"o argumento ``breakpointhook``." -#: ../../library/functions.rst:181 +#: ../../library/functions.rst:189 msgid "" "Return a new array of bytes. The :class:`bytearray` class is a mutable " "sequence of integers in the range 0 <= x < 256. It has most of the usual " @@ -584,7 +591,7 @@ msgstr "" "mutable`, assim como a maior parte dos métodos que o tipo :class:`bytes` " "tem, veja :ref:`bytes-methods`." -#: ../../library/functions.rst:186 +#: ../../library/functions.rst:194 msgid "" "The optional *source* parameter can be used to initialize the array in a few " "different ways:" @@ -592,7 +599,7 @@ msgstr "" "O parâmetro opcional *source* pode ser usado para inicializar o vetor de " "algumas maneiras diferentes:" -#: ../../library/functions.rst:189 +#: ../../library/functions.rst:197 msgid "" "If it is a *string*, you must also give the *encoding* (and optionally, " "*errors*) parameters; :func:`bytearray` then converts the string to bytes " @@ -602,7 +609,7 @@ msgstr "" "opcionalmente, *errors*); :func:`bytearray` então converte a string para " "bytes usando :meth:`str.encode`." -#: ../../library/functions.rst:193 +#: ../../library/functions.rst:201 msgid "" "If it is an *integer*, the array will have that size and will be initialized " "with null bytes." @@ -610,7 +617,7 @@ msgstr "" "Se é um *inteiro*, o vetor terá esse tamanho e será inicializado com bytes " "nulos." -#: ../../library/functions.rst:196 +#: ../../library/functions.rst:204 msgid "" "If it is an object conforming to the :ref:`buffer interface " "`, a read-only buffer of the object will be used to " @@ -620,7 +627,7 @@ msgstr "" "`, um buffer somente leitura do objeto será usado para " "inicializar o vetor de bytes." -#: ../../library/functions.rst:199 +#: ../../library/functions.rst:207 msgid "" "If it is an *iterable*, it must be an iterable of integers in the range ``0 " "<= x < 256``, which are used as the initial contents of the array." @@ -628,64 +635,66 @@ msgstr "" "Se é um *iterável*, deve ser um iterável de inteiros no intervalo ``0 <= x < " "256``, que serão usados como o conteúdo inicial do vetor." -#: ../../library/functions.rst:202 +#: ../../library/functions.rst:210 msgid "Without an argument, an array of size 0 is created." msgstr "Sem nenhum argumento, um vetor de tamanho 0 é criado." -#: ../../library/functions.rst:204 +#: ../../library/functions.rst:212 msgid "See also :ref:`binaryseq` and :ref:`typebytearray`." msgstr "Veja também :ref:`binaryseq` e :ref:`typebytearray`." -#: ../../library/functions.rst:213 +#: ../../library/functions.rst:221 msgid "" "Return a new \"bytes\" object which is an immutable sequence of integers in " -"the range ``0 <= x < 256``. :class:`bytes` is an immutable version of :" -"class:`bytearray` -- it has the same non-mutating methods and the same " +"the range ``0 <= x < 256``. :class:`bytes` is an immutable version " +"of :class:`bytearray` -- it has the same non-mutating methods and the same " "indexing and slicing behavior." msgstr "" "Retorna um novo objeto \"bytes\" que é uma sequência imutável de inteiros no " -"intervalo ``0 <= x < 256``. :class:`bytes` é uma versão imutável de :class:" -"`bytearray` -- tem os mesmos métodos de objetos imutáveis e o mesmo " -"comportamento de índices e fatiamento." +"intervalo ``0 <= x < 256``. :class:`bytes` é uma versão imutável " +"de :class:`bytearray` -- tem os mesmos métodos de objetos imutáveis e o " +"mesmo comportamento de índices e fatiamento." -#: ../../library/functions.rst:218 +#: ../../library/functions.rst:226 msgid "" "Accordingly, constructor arguments are interpreted as for :func:`bytearray`." msgstr "" -"Consequentemente, argumentos do construtor são interpretados como os de :" -"func:`bytearray`." +"Consequentemente, argumentos do construtor são interpretados como os " +"de :func:`bytearray`." -#: ../../library/functions.rst:220 +#: ../../library/functions.rst:228 msgid "Bytes objects can also be created with literals, see :ref:`strings`." msgstr "" "Objetos bytes também podem ser criados com literais, veja :ref:`strings`." -#: ../../library/functions.rst:222 +#: ../../library/functions.rst:230 msgid "See also :ref:`binaryseq`, :ref:`typebytes`, and :ref:`bytes-methods`." msgstr "" "Veja também :ref:`binaryseq`, :ref:`typebytes`, e :ref:`bytes-methods`." -#: ../../library/functions.rst:227 +#: ../../library/functions.rst:235 msgid "" -"Return :const:`True` if the *object* argument appears callable, :const:" -"`False` if not. If this returns ``True``, it is still possible that a call " -"fails, but if it is ``False``, calling *object* will never succeed. Note " -"that classes are callable (calling a class returns a new instance); " -"instances are callable if their class has a :meth:`__call__` method." +"Return :const:`True` if the *object* argument appears " +"callable, :const:`False` if not. If this returns ``True``, it is still " +"possible that a call fails, but if it is ``False``, calling *object* will " +"never succeed. Note that classes are callable (calling a class returns a new " +"instance); instances are callable if their class has " +"a :meth:`~object.__call__` method." msgstr "" -"Devolve :const:`True` se o argumento *object* parece ser chamável, :const:" -"`False` caso contrário. Se devolve ``True``, ainda é possível que a chamada " -"falhe, mas se é ``False``, chamar *object* nunca será bem sucedido. Note que " -"classes são chamáveis (chamar uma classe devolve uma nova instância); " -"instâncias são chamáveis se suas classes possuem um método :meth:`__call__`." +"Retorna :const:`True` se o argumento *object* parece ser " +"chamável, :const:`False` caso contrário. Se retorna ``True``, ainda é " +"possível que a chamada falhe, mas se é ``False``, chamar *object* nunca será " +"bem sucedido. Note que classes são chamáveis (chamar uma classe devolve uma " +"nova instância); instâncias são chamáveis se suas classes possuem um " +"método :meth:`~object.__call__`." -#: ../../library/functions.rst:233 +#: ../../library/functions.rst:241 msgid "" "This function was first removed in Python 3.0 and then brought back in " "Python 3.2." msgstr "Esta função foi removida na versão 3.0, mas retornou no Python 3.2." -#: ../../library/functions.rst:240 +#: ../../library/functions.rst:248 msgid "" "Return the string representing a character whose Unicode code point is the " "integer *i*. For example, ``chr(97)`` returns the string ``'a'``, while " @@ -695,7 +704,7 @@ msgstr "" "exemplo, ``chr(97)`` retorna a string ``'a'``, enquanto ``chr(8364)`` " "retorna a string ``'€'``. É o inverso de :func:`ord`." -#: ../../library/functions.rst:244 +#: ../../library/functions.rst:252 msgid "" "The valid range for the argument is from 0 through 1,114,111 (0x10FFFF in " "base 16). :exc:`ValueError` will be raised if *i* is outside that range." @@ -704,11 +713,11 @@ msgstr "" "16). Será lançada uma exceção :exc:`ValueError` se *i* estiver fora desse " "intervalo." -#: ../../library/functions.rst:250 +#: ../../library/functions.rst:258 msgid "Transform a method into a class method." msgstr "Transforma um método em um método de classe." -#: ../../library/functions.rst:252 +#: ../../library/functions.rst:260 msgid "" "A class method receives the class as an implicit first argument, just like " "an instance method receives the instance. To declare a class method, use " @@ -718,15 +727,15 @@ msgstr "" "exatamente como um método de instância recebe a instância. Para declarar um " "método de classe, faça dessa forma::" -#: ../../library/functions.rst:260 +#: ../../library/functions.rst:268 msgid "" -"The ``@classmethod`` form is a function :term:`decorator` -- see :ref:" -"`function` for details." +"The ``@classmethod`` form is a function :term:`decorator` -- " +"see :ref:`function` for details." msgstr "" "O termo ``@classmethod`` é uma função :term:`decoradora ` -- " "veja :ref:`function` para detalhes." -#: ../../library/functions.rst:263 +#: ../../library/functions.rst:271 msgid "" "A class method can be called either on the class (such as ``C.f()``) or on " "an instance (such as ``C().f()``). The instance is ignored except for its " @@ -738,7 +747,7 @@ msgstr "" "por sua classe. Se um método de classe é chamado por uma classe derivada, o " "objeto da classe derivada é passado como primeiro argumento implícito." -#: ../../library/functions.rst:268 +#: ../../library/functions.rst:276 msgid "" "Class methods are different than C++ or Java static methods. If you want " "those, see :func:`staticmethod` in this section. For more information on " @@ -748,15 +757,15 @@ msgstr "" "você quer saber desses, veja :func:`staticmethod` nesta seção. Para mais " "informações sobre métodos de classe, consulte :ref:`types`." -#: ../../library/functions.rst:272 +#: ../../library/functions.rst:280 msgid "" -"Class methods can now wrap other :term:`descriptors ` such as :" -"func:`property`." +"Class methods can now wrap other :term:`descriptors ` such " +"as :func:`property`." msgstr "" "Métodos de classe agora podem envolver outros :term:`descritores " "` tal como :func:`property`." -#: ../../library/functions.rst:276 +#: ../../library/functions.rst:284 msgid "" "Class methods now inherit the method attributes (``__module__``, " "``__name__``, ``__qualname__``, ``__doc__`` and ``__annotations__``) and " @@ -766,7 +775,7 @@ msgstr "" "``__name__``, ``__qualname__``, ``__doc__`` e ``__annotations__``) e têm um " "novo atributo ``__wrapped__``." -#: ../../library/functions.rst:281 +#: ../../library/functions.rst:289 msgid "" "Class methods can no longer wrap other :term:`descriptors ` such " "as :func:`property`." @@ -774,7 +783,7 @@ msgstr "" "Métodos de classe não podem mais envolver outros :term:`descritores " "` tal como :func:`property`." -#: ../../library/functions.rst:288 +#: ../../library/functions.rst:296 msgid "" "Compile the *source* into a code or AST object. Code objects can be " "executed by :func:`exec` or :func:`eval`. *source* can either be a normal " @@ -786,7 +795,7 @@ msgstr "" "string normal, uma string byte, ou um objeto AST. Consulte a documentação do " "módulo :mod:`ast` para saber como trabalhar com objetos AST." -#: ../../library/functions.rst:293 +#: ../../library/functions.rst:301 msgid "" "The *filename* argument should give the file from which the code was read; " "pass some recognizable value if it wasn't read from a file (``''`` " @@ -796,7 +805,7 @@ msgstr "" "algum valor reconhecível se isso não foi lido de um arquivo (``''`` " "é comumente usado)." -#: ../../library/functions.rst:297 +#: ../../library/functions.rst:305 msgid "" "The *mode* argument specifies what kind of code must be compiled; it can be " "``'exec'`` if *source* consists of a sequence of statements, ``'eval'`` if " @@ -810,49 +819,50 @@ msgstr "" "de uma única instrução interativa (neste último caso, instruções que são " "avaliadas para alguma coisa diferente de ``None`` serão exibidas)." -#: ../../library/functions.rst:303 -msgid "" -"The optional arguments *flags* and *dont_inherit* control which :ref:" -"`compiler options ` should be activated and which :ref:" -"`future features ` should be allowed. If neither is present (or both " -"are zero) the code is compiled with the same flags that affect the code that " -"is calling :func:`compile`. If the *flags* argument is given and " -"*dont_inherit* is not (or is zero) then the compiler options and the future " -"statements specified by the *flags* argument are used in addition to those " -"that would be used anyway. If *dont_inherit* is a non-zero integer then the " -"*flags* argument is it -- the flags (future features and compiler options) " -"in the surrounding code are ignored." -msgstr "" -"Os argumentos opcionais *flags* e *dont_inherit* controlam quais :ref:" -"`opções do compilador ` devem ser ativadas e quais :ref:" -"`recursos futuros ` devem ser permitidos. Se nenhum estiver presente " -"(ou ambos forem zero), o código é compilado com os mesmos sinalizadores que " -"afetam o código que está chamando :func:`compile`. Se o argumento *flags* " -"for fornecido e *dont_inherit* não for (ou for zero), as opções do " -"compilador e as instruções futuras especificadas pelo argumento *flags* são " -"usadas além daquelas que seriam usadas de qualquer maneira. Se " +#: ../../library/functions.rst:311 +msgid "" +"The optional arguments *flags* and *dont_inherit* control " +"which :ref:`compiler options ` should be activated and " +"which :ref:`future features ` should be allowed. If neither is " +"present (or both are zero) the code is compiled with the same flags that " +"affect the code that is calling :func:`compile`. If the *flags* argument is " +"given and *dont_inherit* is not (or is zero) then the compiler options and " +"the future statements specified by the *flags* argument are used in addition " +"to those that would be used anyway. If *dont_inherit* is a non-zero integer " +"then the *flags* argument is it -- the flags (future features and compiler " +"options) in the surrounding code are ignored." +msgstr "" +"Os argumentos opcionais *flags* e *dont_inherit* controlam " +"quais :ref:`opções do compilador ` devem ser ativadas e " +"quais :ref:`recursos futuros ` devem ser permitidos. Se nenhum " +"estiver presente (ou ambos forem zero), o código é compilado com os mesmos " +"sinalizadores que afetam o código que está chamando :func:`compile`. Se o " +"argumento *flags* for fornecido e *dont_inherit* não for (ou for zero), as " +"opções do compilador e as instruções futuras especificadas pelo argumento " +"*flags* são usadas além daquelas que seriam usadas de qualquer maneira. Se " "*dont_inherit* for um inteiro diferente de zero, então o argumento *flags* é " "-- os sinalizadores (recursos futuros e opções do compilador) no código " "circundante são ignorados." -#: ../../library/functions.rst:314 +#: ../../library/functions.rst:322 msgid "" "Compiler options and future statements are specified by bits which can be " "bitwise ORed together to specify multiple options. The bitfield required to " -"specify a given future feature can be found as the :attr:`~__future__." -"_Feature.compiler_flag` attribute on the :class:`~__future__._Feature` " -"instance in the :mod:`__future__` module. :ref:`Compiler flags ` can be found in :mod:`ast` module, with ``PyCF_`` prefix." +"specify a given future feature can be found as " +"the :attr:`~__future__._Feature.compiler_flag` attribute on " +"the :class:`~__future__._Feature` instance in the :mod:`__future__` " +"module. :ref:`Compiler flags ` can be found " +"in :mod:`ast` module, with ``PyCF_`` prefix." msgstr "" "Opções de compilador e instruções futuras são especificadas por bits, assim " "pode ocorrer uma operação *OU* bit a bit para especificar múltiplas " "instruções. O sinalizador necessário para especificar um dado recurso futuro " "pode ser encontrado no atributo :attr:`~__future__._Feature.compiler_flag` " -"na instância :class:`~__future__._Feature` do módulo :mod:`__future__`. :ref:" -"`Sinalizadores de compilador ` podem ser encontrados no " -"módulo :mod:`ast`, com o prefixo ``PyCF_``." +"na instância :class:`~__future__._Feature` do " +"módulo :mod:`__future__`. :ref:`Sinalizadores de compilador ` podem ser encontrados no módulo :mod:`ast`, com o prefixo ``PyCF_``." -#: ../../library/functions.rst:322 +#: ../../library/functions.rst:330 msgid "" "The argument *optimize* specifies the optimization level of the compiler; " "the default value of ``-1`` selects the optimization level of the " @@ -867,7 +877,7 @@ msgstr "" "``__debug__`` é falso) ou ``2`` (strings de documentação também são " "removidas)." -#: ../../library/functions.rst:328 +#: ../../library/functions.rst:336 msgid "" "This function raises :exc:`SyntaxError` if the compiled source is invalid, " "and :exc:`ValueError` if the source contains null bytes." @@ -875,15 +885,15 @@ msgstr "" "Essa função levanta :exc:`SyntaxError` se o código para compilar é inválido, " "e :exc:`ValueError` se o código contém bytes nulos." -#: ../../library/functions.rst:331 +#: ../../library/functions.rst:339 msgid "" -"If you want to parse Python code into its AST representation, see :func:`ast." -"parse`." +"If you want to parse Python code into its AST representation, " +"see :func:`ast.parse`." msgstr "" -"Se você quer analisar código Python em sua representação AST, veja :func:" -"`ast.parse`." +"Se você quer analisar código Python em sua representação AST, " +"veja :func:`ast.parse`." -#: ../../library/functions.rst:334 +#: ../../library/functions.rst:342 msgid "" "Raises an :ref:`auditing event ` ``compile`` with arguments " "``source``, ``filename``." @@ -891,39 +901,39 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``compile`` com argumentos " "``source``, ``filename``." -#: ../../library/functions.rst:336 +#: ../../library/functions.rst:344 msgid "" "Raises an :ref:`auditing event ` ``compile`` with arguments " "``source`` and ``filename``. This event may also be raised by implicit " "compilation." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``compile`` com argumentos " -"``source``, ``filename``. Esse evento pode também ser levantando por uma " -"compilação implícita." +"Levanta um :ref:`evento de auditoria ` ``compile`` com os " +"argumentos ``source``, ``filename``. Esse evento pode também ser levantando " +"por uma compilação implícita." -#: ../../library/functions.rst:342 +#: ../../library/functions.rst:350 msgid "" "When compiling a string with multi-line code in ``'single'`` or ``'eval'`` " "mode, input must be terminated by at least one newline character. This is " -"to facilitate detection of incomplete and complete statements in the :mod:" -"`code` module." +"to facilitate detection of incomplete and complete statements in " +"the :mod:`code` module." msgstr "" "Quando compilando uma string com código multi-linhas em modo ``'single'`` ou " "``'eval'``, entrada deve ser terminada por ao menos um caractere de nova " "linhas. Isso é para facilitar a detecção de instruções completas e " "incompletas no módulo :mod:`code`." -#: ../../library/functions.rst:349 +#: ../../library/functions.rst:357 msgid "" "It is possible to crash the Python interpreter with a sufficiently large/" "complex string when compiling to an AST object due to stack depth " "limitations in Python's AST compiler." msgstr "" -"É possível quebrar o interpretador Python com uma string suficiente grande/" -"complexa quando compilando para uma objeto AST, devido limitações do tamanho " +"É possível quebrar o interpretador Python com uma string suficientemente " +"grande/complexa ao compilar para um objeto AST, devido limitações do tamanho " "da pilha no compilador AST do Python." -#: ../../library/functions.rst:353 +#: ../../library/functions.rst:361 msgid "" "Allowed use of Windows and Mac newlines. Also, input in ``'exec'`` mode " "does not have to end in a newline anymore. Added the *optimize* parameter." @@ -932,7 +942,7 @@ msgstr "" "disso, em modo ``'exec'`` a entrada não precisa mais terminar com uma nova " "linha. Também foi adicionado o parâmetro *optimize*." -#: ../../library/functions.rst:357 +#: ../../library/functions.rst:365 msgid "" "Previously, :exc:`TypeError` was raised when null bytes were encountered in " "*source*." @@ -940,7 +950,7 @@ msgstr "" "Anteriormente, :exc:`TypeError` era levantada quando havia bytes nulos em " "*source*." -#: ../../library/functions.rst:361 +#: ../../library/functions.rst:369 msgid "" "``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` can now be passed in flags to enable " "support for top-level ``await``, ``async for``, and ``async with``." @@ -949,7 +959,7 @@ msgstr "" "habilitar o suporte em nível superior a ``await``, ``async for``, e ``async " "with``." -#: ../../library/functions.rst:369 +#: ../../library/functions.rst:377 msgid "" "Return a complex number with the value *real* + *imag*\\*1j or convert a " "string or number to a complex number. If the first parameter is a string, " @@ -969,19 +979,20 @@ msgstr "" "uma conversão numérica, similar a :class:`int` e :class:`float`. Se os dois " "argumentos são omitidos, retorna ``0j``." -#: ../../library/functions.rst:378 +#: ../../library/functions.rst:386 msgid "" -"For a general Python object ``x``, ``complex(x)`` delegates to ``x." -"__complex__()``. If ``__complex__()`` is not defined then it falls back to :" -"meth:`__float__`. If ``__float__()`` is not defined then it falls back to :" -"meth:`__index__`." +"For a general Python object ``x``, ``complex(x)`` delegates to " +"``x.__complex__()``. If :meth:`~object.__complex__` is not defined then it " +"falls back to :meth:`~object.__float__`. If :meth:`!__float__` is not " +"defined then it falls back to :meth:`~object.__index__`." msgstr "" -"Para um objeto Python ``x`` qualquer, ``complex(x)`` delega para ``x." -"__complex__()``. Se ``__complex__()`` não está definido então a chamada é " -"repassada para :meth:`__float__`. Se ``__float__()`` não está definido então " -"a chamada é, novamente, repassada para :meth:`__index__`." +"Para um objeto Python ``x`` qualquer, ``complex(x)`` delega para " +"``x.__complex__()``. Se :meth:`~object.__complex__` não está definido então " +"a chamada é repassada para :meth:`~object.__float__`. Se :meth:`!__float__` " +"não está definido então a chamada é, novamente, repassada " +"para :meth:`~object.__index__`." -#: ../../library/functions.rst:385 +#: ../../library/functions.rst:393 msgid "" "When converting from a string, the string must not contain whitespace around " "the central ``+`` or ``-`` operator. For example, ``complex('1+2j')`` is " @@ -989,28 +1000,28 @@ msgid "" msgstr "" "Quando convertendo a partir de uma string, a string não pode conter espaços " "em branco em torno ``+`` central ou do operador ``-``. Por exemplo, " -"``complex('1+2j')`` funciona, mas ``complex('1 + 2j')`` levanta :exc:" -"`ValueError`." +"``complex('1+2j')`` funciona, mas ``complex('1 + 2j')`` " +"levanta :exc:`ValueError`." -#: ../../library/functions.rst:390 +#: ../../library/functions.rst:398 msgid "The complex type is described in :ref:`typesnumeric`." msgstr "O tipo complexo está descrito em :ref:`typesnumeric`." -#: ../../library/functions.rst:392 ../../library/functions.rst:696 -#: ../../library/functions.rst:920 +#: ../../library/functions.rst:400 ../../library/functions.rst:706 +#: ../../library/functions.rst:930 msgid "Grouping digits with underscores as in code literals is allowed." msgstr "" "Agrupar dígitos com sublinhados como em literais de código é permitido." -#: ../../library/functions.rst:395 +#: ../../library/functions.rst:403 msgid "" -"Falls back to :meth:`__index__` if :meth:`__complex__` and :meth:`__float__` " -"are not defined." +"Falls back to :meth:`~object.__index__` if :meth:`~object.__complex__` " +"and :meth:`~object.__float__` are not defined." msgstr "" -"Chamadas para :meth:`__index__` se :meth:`__complex__` e :meth:`__float__` " -"não estão definidas." +"Chamadas para :meth:`~object.__index__` se :meth:`~object.__complex__` " +"e :meth:`~object.__float__` não estão definidas." -#: ../../library/functions.rst:402 +#: ../../library/functions.rst:410 msgid "" "This is a relative of :func:`setattr`. The arguments are an object and a " "string. The string must be the name of one of the object's attributes. The " @@ -1024,7 +1035,7 @@ msgstr "" "exemplo, ``delattr(x, 'foobar')`` é equivalente a ``del x.foobar``. *name* " "não precisa ser um identificador Python (veja :func:`setattr`)." -#: ../../library/functions.rst:415 +#: ../../library/functions.rst:423 msgid "" "Create a new dictionary. The :class:`dict` object is the dictionary class. " "See :class:`dict` and :ref:`typesmapping` for documentation about this class." @@ -1032,15 +1043,16 @@ msgstr "" "Cria um novo dicionário. O objeto :class:`dict` é a classe do dicionário. " "Veja :class:`dict` e :ref:`typesmapping` para documentação sobre esta classe." -#: ../../library/functions.rst:418 +#: ../../library/functions.rst:426 msgid "" -"For other containers see the built-in :class:`list`, :class:`set`, and :" -"class:`tuple` classes, as well as the :mod:`collections` module." +"For other containers see the built-in :class:`list`, :class:`set`, " +"and :class:`tuple` classes, as well as the :mod:`collections` module." msgstr "" -"Para outros contêineres, consulte as classes embutidas :class:`list`, :class:" -"`set` e :class:`tuple`, bem como o módulo :mod:`collections`." +"Para outros contêineres, consulte as classes " +"embutidas :class:`list`, :class:`set` e :class:`tuple`, bem como o " +"módulo :mod:`collections`." -#: ../../library/functions.rst:425 +#: ../../library/functions.rst:433 msgid "" "Without arguments, return the list of names in the current local scope. " "With an argument, attempt to return a list of valid attributes for that " @@ -1049,34 +1061,35 @@ msgstr "" "Sem argumentos, devolve a lista de nomes no escopo local atual. Com um " "argumento, tentará devolver uma lista de atributos válidos para esse objeto." -#: ../../library/functions.rst:428 +#: ../../library/functions.rst:436 msgid "" -"If the object has a method named :meth:`__dir__`, this method will be called " -"and must return the list of attributes. This allows objects that implement a " -"custom :func:`__getattr__` or :func:`__getattribute__` function to customize " -"the way :func:`dir` reports their attributes." +"If the object has a method named :meth:`~object.__dir__`, this method will " +"be called and must return the list of attributes. This allows objects that " +"implement a custom :func:`~object.__getattr__` " +"or :func:`~object.__getattribute__` function to customize the " +"way :func:`dir` reports their attributes." msgstr "" -"Se o objeto tiver um método chamado :meth:`__dir__`, esse método será " -"chamado e deve devolver a lista de atributos. Isso permite que objetos que " -"implementam uma função personalizada :func:`__getattr__` ou :func:" -"`__getattribute__` personalizem a maneira como :func:`dir` relata seus " -"atributos." +"Se o objeto tiver um método chamado :meth:`~object.__dir__`, esse método " +"será chamado e deve devolver a lista de atributos. Isso permite que objetos " +"que implementam uma função personalizada :func:`~object.__getattr__` " +"ou :func:`~object.__getattribute__` personalizem a maneira como :func:`dir` " +"relata seus atributos." -#: ../../library/functions.rst:433 +#: ../../library/functions.rst:443 msgid "" -"If the object does not provide :meth:`__dir__`, the function tries its best " -"to gather information from the object's :attr:`~object.__dict__` attribute, " -"if defined, and from its type object. The resulting list is not necessarily " -"complete and may be inaccurate when the object has a custom :func:" -"`__getattr__`." +"If the object does not provide :meth:`~object.__dir__`, the function tries " +"its best to gather information from the object's :attr:`~object.__dict__` " +"attribute, if defined, and from its type object. The resulting list is not " +"necessarily complete and may be inaccurate when the object has a " +"custom :func:`~object.__getattr__`." msgstr "" -"Se o objeto não fornecer :meth:`__dir__`, a função tentará o melhor possível " -"para coletar informações do atributo :attr:`~object.__dict__` do objeto, se " -"definido, e do seu objeto de tipo. A lista resultante não está " -"necessariamente completa e pode ser imprecisa quando o objeto possui um :" -"func:`__getattr__` personalizado." +"Se o objeto não fornecer :meth:`~object.__dir__`, a função tentará o melhor " +"possível para coletar informações do atributo :attr:`~object.__dict__` do " +"objeto, se definido, e do seu objeto de tipo. A lista resultante não está " +"necessariamente completa e pode ser imprecisa quando o objeto possui " +"um :func:`~object.__getattr__` personalizado." -#: ../../library/functions.rst:438 +#: ../../library/functions.rst:449 msgid "" "The default :func:`dir` mechanism behaves differently with different types " "of objects, as it attempts to produce the most relevant, rather than " @@ -1086,7 +1099,7 @@ msgstr "" "diferentes tipos de objetos, pois tenta produzir as informações mais " "relevantes e não completas:" -#: ../../library/functions.rst:442 +#: ../../library/functions.rst:453 msgid "" "If the object is a module object, the list contains the names of the " "module's attributes." @@ -1094,7 +1107,7 @@ msgstr "" "Se o objeto for um objeto de módulo, a lista conterá os nomes dos atributos " "do módulo." -#: ../../library/functions.rst:445 +#: ../../library/functions.rst:456 msgid "" "If the object is a type or class object, the list contains the names of its " "attributes, and recursively of the attributes of its bases." @@ -1102,7 +1115,7 @@ msgstr "" "Se o objeto for um objeto de tipo ou classe, a lista conterá os nomes de " "seus atributos e recursivamente os atributos de suas bases." -#: ../../library/functions.rst:448 +#: ../../library/functions.rst:459 msgid "" "Otherwise, the list contains the object's attributes' names, the names of " "its class's attributes, and recursively of the attributes of its class's " @@ -1112,11 +1125,11 @@ msgstr "" "dos atributos da classe e recursivamente os atributos das classes base da " "classe." -#: ../../library/functions.rst:452 +#: ../../library/functions.rst:463 msgid "The resulting list is sorted alphabetically. For example:" msgstr "A lista resultante é alfabeticamente ordenada. Por exemplo:" -#: ../../library/functions.rst:471 +#: ../../library/functions.rst:482 msgid "" "Because :func:`dir` is supplied primarily as a convenience for use at an " "interactive prompt, it tries to supply an interesting set of names more than " @@ -1131,16 +1144,16 @@ msgstr "" "lançamentos. Por exemplo, os atributos de metaclasse não estão na lista de " "resultados quando o argumento é uma classe." -#: ../../library/functions.rst:481 +#: ../../library/functions.rst:492 msgid "" "Take two (non-complex) numbers as arguments and return a pair of numbers " "consisting of their quotient and remainder when using integer division. " "With mixed operand types, the rules for binary arithmetic operators apply. " "For integers, the result is the same as ``(a // b, a % b)``. For floating " -"point numbers the result is ``(q, a % b)``, where *q* is usually ``math." -"floor(a / b)`` but may be 1 less than that. In any case ``q * b + a % b`` " -"is very close to *a*, if ``a % b`` is non-zero it has the same sign as *b*, " -"and ``0 <= abs(a % b) < abs(b)``." +"point numbers the result is ``(q, a % b)``, where *q* is usually " +"``math.floor(a / b)`` but may be 1 less than that. In any case ``q * b + a " +"% b`` is very close to *a*, if ``a % b`` is non-zero it has the same sign as " +"*b*, and ``0 <= abs(a % b) < abs(b)``." msgstr "" "Toma dois números (não complexos) como argumentos e retorna um par de " "números que consiste em seu quociente e restante ao usar a divisão inteira. " @@ -1152,25 +1165,25 @@ msgstr "" "``a % b`` é diferente de zero, tem o mesmo sinal que *b* e ``0 <= abs(a % b) " "< abs(b)``." -#: ../../library/functions.rst:493 +#: ../../library/functions.rst:504 msgid "" -"Return an enumerate object. *iterable* must be a sequence, an :term:" -"`iterator`, or some other object which supports iteration. The :meth:" -"`~iterator.__next__` method of the iterator returned by :func:`enumerate` " -"returns a tuple containing a count (from *start* which defaults to 0) and " -"the values obtained from iterating over *iterable*." +"Return an enumerate object. *iterable* must be a sequence, " +"an :term:`iterator`, or some other object which supports iteration. " +"The :meth:`~iterator.__next__` method of the iterator returned " +"by :func:`enumerate` returns a tuple containing a count (from *start* which " +"defaults to 0) and the values obtained from iterating over *iterable*." msgstr "" -"Devolve um objeto enumerado. *iterable* deve ser uma sequência, um :term:" -"`iterador` ou algum outro objeto que suporte a iteração. O método :meth:" -"`~iterator.__next__` do iterador retornado por :func:`enumerate` devolve uma " -"tupla contendo uma contagem (a partir de *start*, cujo padrão é 0) e os " -"valores obtidos na iteração sobre *iterable*." +"Devolve um objeto enumerado. *iterable* deve ser uma sequência, " +"um :term:`iterador` ou algum outro objeto que suporte a iteração. O " +"método :meth:`~iterator.__next__` do iterador retornado " +"por :func:`enumerate` devolve uma tupla contendo uma contagem (a partir de " +"*start*, cujo padrão é 0) e os valores obtidos na iteração sobre *iterable*." -#: ../../library/functions.rst:505 +#: ../../library/functions.rst:516 msgid "Equivalent to::" msgstr "Equivalente a::" -#: ../../library/functions.rst:517 +#: ../../library/functions.rst:528 msgid "" "The arguments are a string and optional globals and locals. If provided, " "*globals* must be a dictionary. If provided, *locals* can be any mapping " @@ -1180,7 +1193,7 @@ msgstr "" "Se fornecido, *globals* deve ser um dicionário. Se fornecido, *locals* pode " "ser qualquer objeto de mapeamento." -#: ../../library/functions.rst:521 +#: ../../library/functions.rst:532 msgid "" "The *expression* argument is parsed and evaluated as a Python expression " "(technically speaking, a condition list) using the *globals* and *locals* " @@ -1189,28 +1202,30 @@ msgid "" "reference to the dictionary of the built-in module :mod:`builtins` is " "inserted under that key before *expression* is parsed. That way you can " "control what builtins are available to the executed code by inserting your " -"own ``__builtins__`` dictionary into *globals* before passing it to :func:" -"`eval`. If the *locals* dictionary is omitted it defaults to the *globals* " -"dictionary. If both dictionaries are omitted, the expression is executed " -"with the *globals* and *locals* in the environment where :func:`eval` is " -"called. Note, *eval()* does not have access to the :term:`nested scopes " -"` (non-locals) in the enclosing environment." +"own ``__builtins__`` dictionary into *globals* before passing it " +"to :func:`eval`. If the *locals* dictionary is omitted it defaults to the " +"*globals* dictionary. If both dictionaries are omitted, the expression is " +"executed with the *globals* and *locals* in the environment " +"where :func:`eval` is called. Note, *eval()* does not have access to " +"the :term:`nested scopes ` (non-locals) in the enclosing " +"environment." msgstr "" "O argumento *expression* é analisado e avaliado como uma expressão Python " "(tecnicamente falando, uma lista de condições) usando os dicionários " "*globals* e *locals* como espaços de nomes globais e locais. Se o dicionário " "*globals* estiver presente e não contiver um valor para a chave " -"``__builtins__``, uma referência ao dicionário do módulo embutido :mod:" -"`builtins` será inserida sob essa chave antes de *expression* ser analisado. " -"Dessa forma, você pode controlar quais funções embutidas estão disponíveis " -"para o código executado inserindo seu próprio dicionário ``__builtins__`` em " -"*globals* antes de passá-lo para :func:`eval`. Se o dicionário *locals* for " -"omitido, o padrão será o dicionário *globals*. Se os dois dicionários forem " -"omitidos, a expressão será executada com os *globals* e *locals* no ambiente " -"em que :func:`eval` é chamado. Observe que *eval()* não tem acesso a :term:" -"`escopos aninhados ` (não locais) no ambiente anexo." - -#: ../../library/functions.rst:536 +"``__builtins__``, uma referência ao dicionário do módulo " +"embutido :mod:`builtins` será inserida sob essa chave antes de *expression* " +"ser analisado. Dessa forma, você pode controlar quais funções embutidas " +"estão disponíveis para o código executado inserindo seu próprio dicionário " +"``__builtins__`` em *globals* antes de passá-lo para :func:`eval`. Se o " +"dicionário *locals* for omitido, o padrão será o dicionário *globals*. Se os " +"dois dicionários forem omitidos, a expressão será executada com os *globals* " +"e *locals* no ambiente em que :func:`eval` é chamado. Observe que *eval()* " +"não tem acesso a :term:`escopos aninhados ` (não locais) no " +"ambiente anexo." + +#: ../../library/functions.rst:547 msgid "" "The return value is the result of the evaluated expression. Syntax errors " "are reported as exceptions. Example:" @@ -1218,7 +1233,7 @@ msgstr "" "O valor de retorno é o resultado da expressão avaliada. Erros de sintaxe são " "relatados como exceções. Exemplo:" -#: ../../library/functions.rst:543 +#: ../../library/functions.rst:554 msgid "" "This function can also be used to execute arbitrary code objects (such as " "those created by :func:`compile`). In this case, pass a code object instead " @@ -1230,19 +1245,19 @@ msgstr "" "vez de uma string. Se o objeto código foi compilado com ``'exec'`` como o " "argumento *mode*, o valor de retorno de :func:`eval` será ``None``." -#: ../../library/functions.rst:548 +#: ../../library/functions.rst:559 msgid "" "Hints: dynamic execution of statements is supported by the :func:`exec` " "function. The :func:`globals` and :func:`locals` functions return the " "current global and local dictionary, respectively, which may be useful to " "pass around for use by :func:`eval` or :func:`exec`." msgstr "" -"Dicas: a execução dinâmica de instruções é suportada pela função :func:" -"`exec`. As funções :func:`globals` e :func:`locals` retornam o dicionário " -"global e local atual, respectivamente, o que pode ser útil para ser usado " -"por :func:`eval` ou :func:`exec`." +"Dicas: a execução dinâmica de instruções é implementada pela " +"função :func:`exec`. As funções :func:`globals` e :func:`locals` retornam os " +"dicionários global e local atuais, respectivamente, o que pode ser útil para " +"serem usados por :func:`eval` ou :func:`exec`." -#: ../../library/functions.rst:553 +#: ../../library/functions.rst:564 msgid "" "If the given source is a string, then leading and trailing spaces and tabs " "are stripped." @@ -1250,7 +1265,7 @@ msgstr "" "Se a fonte fornecida for uma string, os espaços e tabulações à esquerda ou à " "direita serão removidos." -#: ../../library/functions.rst:556 +#: ../../library/functions.rst:567 msgid "" "See :func:`ast.literal_eval` for a function that can safely evaluate strings " "with expressions containing only literals." @@ -1258,7 +1273,7 @@ msgstr "" "Veja :func:`ast.literal_eval` para uma função que pode avaliar com segurança " "strings com expressões contendo apenas literais." -#: ../../library/functions.rst:559 ../../library/functions.rst:600 +#: ../../library/functions.rst:570 ../../library/functions.rst:611 msgid "" "Raises an :ref:`auditing event ` ``exec`` with argument " "``code_object``." @@ -1266,7 +1281,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``exec`` com argumento " "``code_object``." -#: ../../library/functions.rst:561 ../../library/functions.rst:602 +#: ../../library/functions.rst:572 ../../library/functions.rst:613 msgid "" "Raises an :ref:`auditing event ` ``exec`` with the code object as " "the argument. Code compilation events may also be raised." @@ -1275,31 +1290,31 @@ msgstr "" "objeto como argumento. Eventos de compilação de código também podem ser " "levantados." -#: ../../library/functions.rst:568 +#: ../../library/functions.rst:579 msgid "" "This function supports dynamic execution of Python code. *object* must be " "either a string or a code object. If it is a string, the string is parsed " "as a suite of Python statements which is then executed (unless a syntax " "error occurs). [#]_ If it is a code object, it is simply executed. In all " "cases, the code that's executed is expected to be valid as file input (see " -"the section :ref:`file-input` in the Reference Manual). Be aware that the :" -"keyword:`nonlocal`, :keyword:`yield`, and :keyword:`return` statements may " -"not be used outside of function definitions even within the context of code " -"passed to the :func:`exec` function. The return value is ``None``." +"the section :ref:`file-input` in the Reference Manual). Be aware that " +"the :keyword:`nonlocal`, :keyword:`yield`, and :keyword:`return` statements " +"may not be used outside of function definitions even within the context of " +"code passed to the :func:`exec` function. The return value is ``None``." msgstr "" -"Esta função tem suporte a execução dinâmica de código Python. O parâmetro " +"Esta função suporta a execução dinâmica de código Python. O parâmetro " "*object* deve ser ou uma string ou um objeto código. Se for uma string, a " "mesma é analisada como um conjunto de instruções Python, o qual é então " "executado (exceto caso um erro de sintaxe ocorra). [#]_ Se for um objeto " "código, ele é simplesmente executado. Em todos os casos, espera-se que o " -"código a ser executado seja válido como um arquivo de entrada (veja a seção :" -"ref:`file-input` no Manual de Referência). Tenha cuidado, pois as " +"código a ser executado seja válido como um arquivo de entrada (veja a " +"seção :ref:`file-input` no Manual de Referência). Tenha cuidado, pois as " "instruções :keyword:`nonlocal`, :keyword:`yield` e :keyword:`return` não " "podem ser usadas fora das definições de funções mesmo dentro do contexto do " "código passado para a função :func:`exec` . O valor de retorno é sempre " "``None``." -#: ../../library/functions.rst:579 +#: ../../library/functions.rst:590 msgid "" "In all cases, if the optional parts are omitted, the code is executed in the " "current scope. If only *globals* is provided, it must be a dictionary (and " @@ -1322,12 +1337,12 @@ msgstr "" "*locals*, o código será executado como se estivesse embutido em uma " "definição de classe." -#: ../../library/functions.rst:589 +#: ../../library/functions.rst:600 msgid "" "If the *globals* dictionary does not contain a value for the key " -"``__builtins__``, a reference to the dictionary of the built-in module :mod:" -"`builtins` is inserted under that key. That way you can control what " -"builtins are available to the executed code by inserting your own " +"``__builtins__``, a reference to the dictionary of the built-in " +"module :mod:`builtins` is inserted under that key. That way you can control " +"what builtins are available to the executed code by inserting your own " "``__builtins__`` dictionary into *globals* before passing it to :func:`exec`." msgstr "" "Se o dicionário *globals* não contém um valor para a chave ``__builtins__``, " @@ -1336,7 +1351,7 @@ msgstr "" "disponíveis para o código executado é inserindo seu próprio ``__builtins__`` " "dicionário em *globals* antes de passar para :func:`exec`." -#: ../../library/functions.rst:595 +#: ../../library/functions.rst:606 msgid "" "The *closure* argument specifies a closure--a tuple of cellvars. It's only " "valid when the *object* is a code object containing free variables. The " @@ -1348,7 +1363,7 @@ msgstr "" "O comprimento da tupla deve corresponder exatamente ao número de variáveis " "livres referenciadas pelo objeto código." -#: ../../library/functions.rst:607 +#: ../../library/functions.rst:618 msgid "" "The built-in functions :func:`globals` and :func:`locals` return the current " "global and local dictionary, respectively, which may be useful to pass " @@ -1358,23 +1373,23 @@ msgstr "" "global e local, respectivamente, o que pode ser útil para passar adiante e " "usar como segundo ou terceiro argumento para :func:`exec`." -#: ../../library/functions.rst:613 +#: ../../library/functions.rst:624 msgid "" "The default *locals* act as described for function :func:`locals` below: " "modifications to the default *locals* dictionary should not be attempted. " "Pass an explicit *locals* dictionary if you need to see effects of the code " "on *locals* after function :func:`exec` returns." msgstr "" -"*locals* padrão atua como descrito pela função :func:`locals` abaixo: " -"modificações para o dicionário *locals* padrão não deveriam ser feitas. Se " -"você precisa ver efeitos do código em *locals* depois da função :func:`exec` " -"retornar passe um dicionário *locals* explícito." +"Os *locals* padrão agem conforme descrito para a função :func:`locals` " +"abaixo: modificações no dicionário *locals* padrão não devem ser tentadas. " +"Passe um dicionário *locals* explícito se precisar ver os efeitos do código " +"em *locals* depois que a função :func:`exec` retornar." -#: ../../library/functions.rst:618 +#: ../../library/functions.rst:629 msgid "Added the *closure* parameter." msgstr "Adicionado o parâmetro *closure*." -#: ../../library/functions.rst:624 +#: ../../library/functions.rst:635 msgid "" "Construct an iterator from those elements of *iterable* for which *function* " "is true. *iterable* may be either a sequence, a container which supports " @@ -1387,7 +1402,7 @@ msgstr "" "identidade será usada, isto é, todos os elementos de *iterable* que são " "falsos são removidos." -#: ../../library/functions.rst:630 +#: ../../library/functions.rst:641 msgid "" "Note that ``filter(function, iterable)`` is equivalent to the generator " "expression ``(item for item in iterable if function(item))`` if function is " @@ -1399,7 +1414,7 @@ msgstr "" "``None`` e ``(item for item in iterable if item)`` se *function* for " "``None``." -#: ../../library/functions.rst:635 +#: ../../library/functions.rst:646 msgid "" "See :func:`itertools.filterfalse` for the complementary function that " "returns elements of *iterable* for which *function* is false." @@ -1407,13 +1422,13 @@ msgstr "" "Veja :func:`itertools.filterfalse` para a função complementar que devolve " "elementos de *iterable* para os quais *function* é falso." -#: ../../library/functions.rst:645 +#: ../../library/functions.rst:656 msgid "Return a floating point number constructed from a number or string *x*." msgstr "" "Devolve um número de ponto flutuante construído a partir de um número ou " "string *x*." -#: ../../library/functions.rst:647 +#: ../../library/functions.rst:658 msgid "" "If the argument is a string, it should contain a decimal number, optionally " "preceded by a sign, and optionally embedded in whitespace. The optional " @@ -1432,19 +1447,16 @@ msgstr "" "``floatvalue`` na seguinte gramática, depois que os espaços em branco " "iniciais e finais forem removidos:" -#: ../../library/functions.rst:665 +#: ../../library/functions.rst:677 msgid "" -"Here ``digit`` is a Unicode decimal digit (character in the Unicode general " -"category ``Nd``). Case is not significant, so, for example, \"inf\", " -"\"Inf\", \"INFINITY\", and \"iNfINity\" are all acceptable spellings for " -"positive infinity." +"Case is not significant, so, for example, \"inf\", \"Inf\", \"INFINITY\", " +"and \"iNfINity\" are all acceptable spellings for positive infinity." msgstr "" -"Aqui ``digit`` é um dígito decimal Unicode (caractere na categoria geral " -"``Nd`` do Unicode). Caso isso não seja significativo, então, por exemplo, " -"\"inf\", \"Inf\", \"INFINITY\" e \"iNfINity\" são todas formas escritas " -"válidas para infinito positivo." +"O caso não é significativo, então, por exemplo, \"inf\", \"Inf\", " +"\"INFINITY\" e \"iNfINity\" são todas grafias aceitáveis para o infinito " +"positivo." -#: ../../library/functions.rst:670 +#: ../../library/functions.rst:680 msgid "" "Otherwise, if the argument is an integer or a floating point number, a " "floating point number with the same value (within Python's floating point " @@ -1456,34 +1468,38 @@ msgstr "" "flutuante de Python) é devolvido. Se o argumento está fora do intervalo de " "um ponto flutuante Python, uma exceção :exc:`OverflowError` será lançada." -#: ../../library/functions.rst:675 +#: ../../library/functions.rst:685 msgid "" -"For a general Python object ``x``, ``float(x)`` delegates to ``x." -"__float__()``. If ``__float__()`` is not defined then it falls back to :" -"meth:`__index__`." +"For a general Python object ``x``, ``float(x)`` delegates to " +"``x.__float__()``. If :meth:`~object.__float__` is not defined then it " +"falls back to :meth:`~object.__index__`." msgstr "" -"Para um objeto Python genérico ``x``, ``float(x)`` delega para o método ``x." -"__float__()``. Se ``__float__()`` não estiver definido, então ele delega " -"para o método :meth:`__index__`." +"Para um objeto Python genérico ``x``, ``float(x)`` delega para o método " +"``x.__float__()``. Se :meth:`~object.__float__` não estiver definido, então " +"ele delega para o método :meth:`~object.__index__`." -#: ../../library/functions.rst:679 +#: ../../library/functions.rst:689 msgid "If no argument is given, ``0.0`` is returned." msgstr "Se nenhum argumento for fornecido, será retornado ``0.0``." -#: ../../library/functions.rst:681 +#: ../../library/functions.rst:691 msgid "Examples::" msgstr "Exemplos::" -#: ../../library/functions.rst:694 +#: ../../library/functions.rst:704 msgid "The float type is described in :ref:`typesnumeric`." msgstr "O tipo float é descrito em :ref:`typesnumeric`." -#: ../../library/functions.rst:702 -msgid "Falls back to :meth:`__index__` if :meth:`__float__` is not defined." -msgstr "Chamada para :meth:`__index__` se :meth:`__float__` não está definido." - #: ../../library/functions.rst:712 msgid "" +"Falls back to :meth:`~object.__index__` if :meth:`~object.__float__` is not " +"defined." +msgstr "" +"Chamada para :meth:`~object.__index__` se :meth:`~object.__float__` não está " +"definido." + +#: ../../library/functions.rst:722 +msgid "" "Convert a *value* to a \"formatted\" representation, as controlled by " "*format_spec*. The interpretation of *format_spec* will depend on the type " "of the *value* argument; however, there is a standard formatting syntax that " @@ -1494,7 +1510,7 @@ msgstr "" "argumento *value*; no entanto há uma sintaxe de formatação padrão usada pela " "maioria dos tipos embutidos: :ref:`formatspec`." -#: ../../library/functions.rst:717 +#: ../../library/functions.rst:727 msgid "" "The default *format_spec* is an empty string which usually gives the same " "effect as calling :func:`str(value) `." @@ -1502,23 +1518,23 @@ msgstr "" "O *format_spec* padrão é uma string vazia que geralmente produz o mesmo " "efeito que chamar :func:`str(value) `." -#: ../../library/functions.rst:720 +#: ../../library/functions.rst:730 msgid "" -"A call to ``format(value, format_spec)`` is translated to ``type(value)." -"__format__(value, format_spec)`` which bypasses the instance dictionary when " -"searching for the value's :meth:`__format__` method. A :exc:`TypeError` " -"exception is raised if the method search reaches :mod:`object` and the " -"*format_spec* is non-empty, or if either the *format_spec* or the return " -"value are not strings." +"A call to ``format(value, format_spec)`` is translated to " +"``type(value).__format__(value, format_spec)`` which bypasses the instance " +"dictionary when searching for the value's :meth:`~object.__format__` method. " +"A :exc:`TypeError` exception is raised if the method search " +"reaches :mod:`object` and the *format_spec* is non-empty, or if either the " +"*format_spec* or the return value are not strings." msgstr "" -"Uma chamada de ``format(value, format_spec)`` é convertida em ``type(value)." -"__format__(value, format_spec)``, que ignora o dicionário da instância ao " -"pesquisar o método :meth:`__format__` de ``value``. Uma exceção :exc:" -"`TypeError` é levantada se a pesquisa do método atingir :mod:`object` e o " -"*format_spec* não estiver vazio, ou se o *format_spec* ou o valor de retorno " -"não forem strings." +"Uma chamada de ``format(value, format_spec)`` é convertida em " +"``type(value).__format__(value, format_spec)``, que ignora o dicionário da " +"instância ao pesquisar o método :meth:`~object.__format__` de ``value``. Uma " +"exceção :exc:`TypeError` é levantada se a pesquisa do método " +"atingir :mod:`object` e o *format_spec* não estiver vazio, ou se o " +"*format_spec* ou o valor de retorno não forem strings." -#: ../../library/functions.rst:727 +#: ../../library/functions.rst:737 msgid "" "``object().__format__(format_spec)`` raises :exc:`TypeError` if " "*format_spec* is not an empty string." @@ -1526,26 +1542,28 @@ msgstr "" "``object().__format__(format_spec)`` levanta um :exc:`TypeError` se " "*format_spec* não for uma string vazia." -#: ../../library/functions.rst:736 +#: ../../library/functions.rst:746 msgid "" "Return a new :class:`frozenset` object, optionally with elements taken from " -"*iterable*. ``frozenset`` is a built-in class. See :class:`frozenset` and :" -"ref:`types-set` for documentation about this class." +"*iterable*. ``frozenset`` is a built-in class. See :class:`frozenset` " +"and :ref:`types-set` for documentation about this class." msgstr "" "Devolve um novo objeto :class:`frozenset`, opcionalmente com elementos " -"obtidos de *iterable*. ``frozenset`` é uma classe embutida. Veja :class:" -"`frozenset` e :ref:`types-set` para documentação sobre essas classes." +"obtidos de *iterable*. ``frozenset`` é uma classe embutida. " +"Veja :class:`frozenset` e :ref:`types-set` para documentação sobre essas " +"classes." -#: ../../library/functions.rst:740 +#: ../../library/functions.rst:750 msgid "" -"For other containers see the built-in :class:`set`, :class:`list`, :class:" -"`tuple`, and :class:`dict` classes, as well as the :mod:`collections` module." +"For other containers see the built-" +"in :class:`set`, :class:`list`, :class:`tuple`, and :class:`dict` classes, " +"as well as the :mod:`collections` module." msgstr "" -"Para outros contêineres veja as classes embutidas :class:`set`, :class:" -"`list`, :class:`tuple`, e :class:`dict`, assim como o módulo :mod:" -"`collections`." +"Para outros contêineres veja as classes " +"embutidas :class:`set`, :class:`list`, :class:`tuple`, e :class:`dict`, " +"assim como o módulo :mod:`collections`." -#: ../../library/functions.rst:748 +#: ../../library/functions.rst:758 msgid "" "Return the value of the named attribute of *object*. *name* must be a " "string. If the string is the name of one of the object's attributes, the " @@ -1556,24 +1574,24 @@ msgid "" msgstr "" "Devolve o valor do atributo *name* de *object*. *name* deve ser uma string. " "Se a string é o nome de um dos atributos do objeto, o resultado é o valor de " -"tal atributo. Por exemplo, ``getattr(x, 'foobar')`` é equivalente a ``x." -"foobar``. Se o atributo não existir, *default* é devolvido se tiver sido " +"tal atributo. Por exemplo, ``getattr(x, 'foobar')`` é equivalente a " +"``x.foobar``. Se o atributo não existir, *default* é devolvido se tiver sido " "fornecido, caso contrário a exceção :exc:`AttributeError` é levantada. " "*name* não precisa ser um identificador Python (veja :func:`setattr`)." -#: ../../library/functions.rst:757 +#: ../../library/functions.rst:767 msgid "" "Since :ref:`private name mangling ` happens at " "compilation time, one must manually mangle a private attribute's (attributes " -"with two leading underscores) name in order to retrieve it with :func:" -"`getattr`." +"with two leading underscores) name in order to retrieve it " +"with :func:`getattr`." msgstr "" -"Uma vez que :ref:`mutilação de nome privado ` " +"Uma vez que :ref:`desfiguração de nome privado ` " "acontece em tempo de compilação, deve-se manualmente mutilar o nome de um " "atributo privado (atributos com dois sublinhados à esquerda) para recuperá-" "lo com :func:`getattr`." -#: ../../library/functions.rst:765 +#: ../../library/functions.rst:775 msgid "" "Return the dictionary implementing the current module namespace. For code " "within functions, this is set when the function is defined and remains the " @@ -1583,7 +1601,7 @@ msgstr "" "código dentro de funções, isso é definido quando a função é definida e " "permanece o mesmo, independentemente de onde a função é chamada." -#: ../../library/functions.rst:772 +#: ../../library/functions.rst:782 msgid "" "The arguments are an object and a string. The result is ``True`` if the " "string is the name of one of the object's attributes, ``False`` if not. " @@ -1592,10 +1610,10 @@ msgid "" msgstr "" "Os argumentos são um objeto e uma string. O resultado é ``True`` se a string " "é o nome de um dos atributos do objeto, e ``False`` se ela não for. (Isto é " -"implementado chamando ``getattr(object, name)`` e vendo se levanta um :exc:" -"`AttributeError` ou não.)" +"implementado chamando ``getattr(object, name)`` e vendo se levanta " +"um :exc:`AttributeError` ou não.)" -#: ../../library/functions.rst:780 +#: ../../library/functions.rst:790 msgid "" "Return the hash value of the object (if it has one). Hash values are " "integers. They are used to quickly compare dictionary keys during a " @@ -1608,17 +1626,17 @@ msgstr "" "comparados são iguais, possuem o mesmo valor hash (mesmo que eles sejam de " "tipos diferentes, como é o caso de 1 e 1.0)." -#: ../../library/functions.rst:787 +#: ../../library/functions.rst:797 msgid "" -"For objects with custom :meth:`__hash__` methods, note that :func:`hash` " -"truncates the return value based on the bit width of the host machine. See :" -"meth:`__hash__` for details." +"For objects with custom :meth:`~object.__hash__` methods, note " +"that :func:`hash` truncates the return value based on the bit width of the " +"host machine." msgstr "" -"Para objetos com métodos :meth:`__hash__` personalizados, fique atento que :" -"func:`hash` trunca o valor devolvido baseado no comprimento de bits da " -"máquina hospedeira. Veja :meth:`__hash__` para mais detalhes." +"Para objetos com métodos :meth:`~object.__hash__` personalizados, fique " +"atento que :func:`hash` trunca o valor devolvido baseado no comprimento de " +"bits da máquina hospedeira." -#: ../../library/functions.rst:794 +#: ../../library/functions.rst:804 msgid "" "Invoke the built-in help system. (This function is intended for interactive " "use.) If no argument is given, the interactive help system starts on the " @@ -1635,7 +1653,7 @@ msgstr "" "console. Se o argumento é qualquer outro tipo de objeto, uma página de ajuda " "para o objeto é gerada." -#: ../../library/functions.rst:801 +#: ../../library/functions.rst:811 msgid "" "Note that if a slash(/) appears in the parameter list of a function when " "invoking :func:`help`, it means that the parameters prior to the slash are " @@ -1647,13 +1665,13 @@ msgstr "" "barra são apenas posicionais. Para mais informações, veja :ref:`a entrada no " "FAQ sobre parâmetros somente-posicionais `." -#: ../../library/functions.rst:806 +#: ../../library/functions.rst:816 msgid "" "This function is added to the built-in namespace by the :mod:`site` module." msgstr "" "Esta função é adicionada ao espaço de nomes embutido pelo módulo :mod:`site`." -#: ../../library/functions.rst:808 +#: ../../library/functions.rst:818 msgid "" "Changes to :mod:`pydoc` and :mod:`inspect` mean that the reported signatures " "for callables are now more comprehensive and consistent." @@ -1661,18 +1679,18 @@ msgstr "" "Mudanças em :mod:`pydoc` e :mod:`inspect` significam que as assinaturas " "reportadas para chamáveis agora são mais compreensíveis e consistentes." -#: ../../library/functions.rst:815 +#: ../../library/functions.rst:825 msgid "" "Convert an integer number to a lowercase hexadecimal string prefixed with " -"\"0x\". If *x* is not a Python :class:`int` object, it has to define an :" -"meth:`__index__` method that returns an integer. Some examples:" +"\"0x\". If *x* is not a Python :class:`int` object, it has to define " +"an :meth:`~object.__index__` method that returns an integer. Some examples:" msgstr "" "Converte um número inteiro para uma string hexadecimal em letras minúsculas " "pré-fixada com \"0x\". Se *x* não é um objeto :class:`int` do Python, ele " -"tem que definir um método :meth:`__index__` que retorne um inteiro. Alguns " -"exemplos:" +"tem que definir um método :meth:`~object.__index__` que retorne um inteiro. " +"Alguns exemplos:" -#: ../../library/functions.rst:824 +#: ../../library/functions.rst:834 msgid "" "If you want to convert an integer number to an uppercase or lower " "hexadecimal string with prefix or not, you can use either of the following " @@ -1682,7 +1700,7 @@ msgstr "" "letras maiúsculas ou minúsculas, com prefixo ou sem, você pode usar qualquer " "uma das seguintes maneiras:" -#: ../../library/functions.rst:836 +#: ../../library/functions.rst:846 msgid "" "See also :func:`int` for converting a hexadecimal string to an integer using " "a base of 16." @@ -1690,15 +1708,15 @@ msgstr "" "Veja também :func:`int` para converter uma string hexadecimal para um " "inteiro usando a base 16." -#: ../../library/functions.rst:841 +#: ../../library/functions.rst:851 msgid "" -"To obtain a hexadecimal string representation for a float, use the :meth:" -"`float.hex` method." +"To obtain a hexadecimal string representation for a float, use " +"the :meth:`float.hex` method." msgstr "" -"Para obter uma string hexadecimal de um ponto flutuante, use o método :meth:" -"`float.hex`." +"Para obter uma string hexadecimal de um ponto flutuante, use o " +"método :meth:`float.hex`." -#: ../../library/functions.rst:847 +#: ../../library/functions.rst:857 msgid "" "Return the \"identity\" of an object. This is an integer which is " "guaranteed to be unique and constant for this object during its lifetime. " @@ -1710,11 +1728,11 @@ msgstr "" "vida. Dois objetos com ciclos de vida não sobrepostos podem ter o mesmo " "valor para :func:`id`." -#: ../../library/functions.rst:852 +#: ../../library/functions.rst:862 msgid "This is the address of the object in memory." msgstr "Este é o endereço do objeto na memória." -#: ../../library/functions.rst:854 +#: ../../library/functions.rst:864 msgid "" "Raises an :ref:`auditing event ` ``builtins.id`` with argument " "``id``." @@ -1722,7 +1740,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``builtins.id`` com o " "argumento ``id``." -#: ../../library/functions.rst:860 +#: ../../library/functions.rst:870 msgid "" "If the *prompt* argument is present, it is written to standard output " "without a trailing newline. The function then reads a line from input, " @@ -1735,7 +1753,7 @@ msgstr "" "final), e devolve isso. Quando o final do arquivo (EOF / end-of-file) é " "encontrado, um erro :exc:`EOFError` é levantado. Exemplo::" -#: ../../library/functions.rst:870 +#: ../../library/functions.rst:880 msgid "" "If the :mod:`readline` module was loaded, then :func:`input` will use it to " "provide elaborate line editing and history features." @@ -1743,7 +1761,7 @@ msgstr "" "Se o módulo :mod:`readline` foi carregado, então :func:`input` usará ele " "para prover edição de linhas elaboradas e funcionalidades de histórico." -#: ../../library/functions.rst:873 +#: ../../library/functions.rst:883 msgid "" "Raises an :ref:`auditing event ` ``builtins.input`` with argument " "``prompt``." @@ -1751,7 +1769,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``builtins.input`` com " "argumento ``prompt``." -#: ../../library/functions.rst:875 +#: ../../library/functions.rst:885 msgid "" "Raises an :ref:`auditing event ` ``builtins.input`` with argument " "``prompt`` before reading input" @@ -1759,7 +1777,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``builtins.input`` com " "argumento ``prompt`` antes de ler a entrada." -#: ../../library/functions.rst:878 +#: ../../library/functions.rst:888 msgid "" "Raises an :ref:`auditing event ` ``builtins.input/result`` with " "argument ``result``." @@ -1767,7 +1785,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``builtins.input/result`` " "com argumento ``result``." -#: ../../library/functions.rst:880 +#: ../../library/functions.rst:890 msgid "" "Raises an :ref:`auditing event ` ``builtins.input/result`` with " "the result after successfully reading input." @@ -1775,28 +1793,30 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``builtins.input/result`` " "com o resultado depois de ler a entrada com sucesso." -#: ../../library/functions.rst:887 +#: ../../library/functions.rst:897 msgid "" "Return an integer object constructed from a number or string *x*, or return " -"``0`` if no arguments are given. If *x* defines :meth:`__int__`, ``int(x)`` " -"returns ``x.__int__()``. If *x* defines :meth:`__index__`, it returns ``x." -"__index__()``. If *x* defines :meth:`__trunc__`, it returns ``x." -"__trunc__()``. For floating point numbers, this truncates towards zero." +"``0`` if no arguments are given. If *x* defines :meth:`~object.__int__`, " +"``int(x)`` returns ``x.__int__()``. If *x* " +"defines :meth:`~object.__index__`, it returns ``x.__index__()``. If *x* " +"defines :meth:`~object.__trunc__`, it returns ``x.__trunc__()``. For " +"floating point numbers, this truncates towards zero." msgstr "" "Devolve um objeto inteiro construído a partir de um número ou string *x*, ou " -"devolve ``0`` se nenhum argumento foi fornecido. Se *x* definir um método :" -"meth:`__int__`, então ``int(x)`` retorna ``x.__int__()``. Se *x* definir um " -"método :meth:`__index__`, então ele retorna ``x.__index__()``. Se *x* " -"definir um método :meth:`__trunc__`, então ele retorna ``x.__trunc__()``. " -"Para números de ponto flutuante, isto trunca o número na direção do zero." +"devolve ``0`` se nenhum argumento foi fornecido. Se *x* definir um " +"método :meth:`~object.__int__`, então ``int(x)`` retorna ``x.__int__()``. Se " +"*x* definir um método :meth:`~object.__index__`, então ele retorna " +"``x.__index__()``. Se *x* definir um método :meth:`~object.__trunc__`, então " +"ele retorna ``x.__trunc__()``. Para números de ponto flutuante, isto trunca " +"o número na direção do zero." -#: ../../library/functions.rst:894 +#: ../../library/functions.rst:904 msgid "" -"If *x* is not a number or if *base* is given, then *x* must be a string, :" -"class:`bytes`, or :class:`bytearray` instance representing an integer in " -"radix *base*. Optionally, the string can be preceded by ``+`` or ``-`` " -"(with no space in between), have leading zeros, be surrounded by whitespace, " -"and have single underscores interspersed between digits." +"If *x* is not a number or if *base* is given, then *x* must be a " +"string, :class:`bytes`, or :class:`bytearray` instance representing an " +"integer in radix *base*. Optionally, the string can be preceded by ``+`` or " +"``-`` (with no space in between), have leading zeros, be surrounded by " +"whitespace, and have single underscores interspersed between digits." msgstr "" "Se *x* não for um número ou se *base* for fornecido, então *x* deve ser uma " "instância string, :class:`bytes` ou :class:`bytearray` representando um " @@ -1804,7 +1824,7 @@ msgstr "" "ou ``-`` (sem espaço entre eles), ter zeros à esquerda, estar entre espaços " "em branco e ter sublinhados simples intercalados entre os dígitos." -#: ../../library/functions.rst:900 +#: ../../library/functions.rst:910 msgid "" "A base-n integer string contains digits, each representing a value from 0 to " "n-1. The values 0--9 can be represented by any Unicode decimal digit. The " @@ -1829,49 +1849,53 @@ msgstr "" "permite zeros à esquerda: ``int('010', 0)`` não é válido, enquanto " "``int('010')`` e ``int('010', 8)`` são." -#: ../../library/functions.rst:911 +#: ../../library/functions.rst:921 msgid "The integer type is described in :ref:`typesnumeric`." msgstr "O tipo inteiro está descrito em :ref:`typesnumeric`." -#: ../../library/functions.rst:913 +#: ../../library/functions.rst:923 msgid "" -"If *base* is not an instance of :class:`int` and the *base* object has a :" -"meth:`base.__index__ ` method, that method is called to " +"If *base* is not an instance of :class:`int` and the *base* object has " +"a :meth:`base.__index__ ` method, that method is called to " "obtain an integer for the base. Previous versions used :meth:`base.__int__ " "` instead of :meth:`base.__index__ `." msgstr "" "Se *base* não é uma instância de :class:`int` e o objeto *base* tem um " "método :meth:`base.__index__ `, então esse método é " -"chamado para obter um inteiro para a base. Versões anteriores usavam :meth:" -"`base.__int__ ` ao invés de :meth:`base.__index__ `." +"chamado para obter um inteiro para a base. Versões anteriores " +"usavam :meth:`base.__int__ ` ao invés " +"de :meth:`base.__index__ `." -#: ../../library/functions.rst:926 -msgid "Falls back to :meth:`__index__` if :meth:`__int__` is not defined." -msgstr "Utiliza :meth:`__index__` caso :meth:`__int__` não seja definido." +#: ../../library/functions.rst:936 +msgid "" +"Falls back to :meth:`~object.__index__` if :meth:`~object.__int__` is not " +"defined." +msgstr "" +"Chamada para :meth:`~object.__index__` se :meth:`~object.__int__` não está " +"definido." -#: ../../library/functions.rst:929 -msgid "The delegation to :meth:`__trunc__` is deprecated." -msgstr "A delegação de :meth:`__trunc__` foi descontinuada." +#: ../../library/functions.rst:939 +msgid "The delegation to :meth:`~object.__trunc__` is deprecated." +msgstr "A delegação de :meth:`~object.__trunc__` foi descontinuada." -#: ../../library/functions.rst:932 +#: ../../library/functions.rst:942 msgid "" ":class:`int` string inputs and string representations can be limited to help " "avoid denial of service attacks. A :exc:`ValueError` is raised when the " "limit is exceeded while converting a string *x* to an :class:`int` or when " -"converting an :class:`int` into a string would exceed the limit. See the :" -"ref:`integer string conversion length limitation ` " +"converting an :class:`int` into a string would exceed the limit. See " +"the :ref:`integer string conversion length limitation ` " "documentation." msgstr "" "Entradas de strings :class:`int` e representações de strings podem ser " -"limitadas para ajudar a evitar ataques de negação de serviço. Uma exceção :" -"exc:`ValueError` é levantada quando o limite é excedido durante a conversão " -"de uma string *x* em um :class:`int` ou quando a conversão de um :class:" -"`int` em uma string excede o limite. Consulte a documentação sobre :ref:" -"`limitação de comprimento de conversão de string em inteiro " +"limitadas para ajudar a evitar ataques de negação de serviço. Uma " +"exceção :exc:`ValueError` é levantada quando o limite é excedido durante a " +"conversão de uma string *x* em um :class:`int` ou quando a conversão de " +"um :class:`int` em uma string excede o limite. Consulte a documentação " +"sobre :ref:`limitação de comprimento de conversão de string em inteiro " "`." -#: ../../library/functions.rst:942 +#: ../../library/functions.rst:952 msgid "" "Return ``True`` if the *object* argument is an instance of the *classinfo* " "argument, or of a (direct, indirect, or :term:`virtual `) of *classinfo*. A class is considered a " -"subclass of itself. *classinfo* may be a tuple of class objects (or " -"recursively, other such tuples) or a :ref:`types-union`, in which case " +"Return ``True`` if *class* is a subclass (direct, indirect, " +"or :term:`virtual `) of *classinfo*. A class is " +"considered a subclass of itself. *classinfo* may be a tuple of class objects " +"(or recursively, other such tuples) or a :ref:`types-union`, in which case " "return ``True`` if *class* is a subclass of any entry in *classinfo*. In " "any other case, a :exc:`TypeError` exception is raised." msgstr "" -"Retorna ``True`` se *class* for uma subclasse (direta, indireta ou :term:" -"`virtual `) de *classinfo*. Uma classe é considerada " -"uma subclasse de si mesma. *classinfo* pode ser uma tupla de objetos de " -"classe (ou recursivamente, outras tuplas) ou um :ref:`types-union`, caso em " -"que retorna ``True`` se *class* for uma subclasse de qualquer entrada em " -"*classinfo*. Em qualquer outro caso, é levantada uma exceção :exc:" -"`TypeError`." +"Retorna ``True`` se *class* for uma subclasse (direta, indireta " +"ou :term:`virtual `) de *classinfo*. Uma classe é " +"considerada uma subclasse de si mesma. *classinfo* pode ser uma tupla de " +"objetos de classe (ou recursivamente, outras tuplas) ou um :ref:`types-" +"union`, caso em que retorna ``True`` se *class* for uma subclasse de " +"qualquer entrada em *classinfo*. Em qualquer outro caso, é levantada uma " +"exceção :exc:`TypeError`." -#: ../../library/functions.rst:974 +#: ../../library/functions.rst:984 msgid "" "Return an :term:`iterator` object. The first argument is interpreted very " "differently depending on the presence of the second argument. Without a " -"second argument, *object* must be a collection object which supports the :" -"term:`iterable` protocol (the :meth:`__iter__` method), or it must support " -"the sequence protocol (the :meth:`__getitem__` method with integer arguments " -"starting at ``0``). If it does not support either of those protocols, :exc:" -"`TypeError` is raised. If the second argument, *sentinel*, is given, then " -"*object* must be a callable object. The iterator created in this case will " -"call *object* with no arguments for each call to its :meth:`~iterator." -"__next__` method; if the value returned is equal to *sentinel*, :exc:" -"`StopIteration` will be raised, otherwise the value will be returned." -msgstr "" -"Devolve um objeto :term:`iterador`. O primeiro argumento é interpretado " +"second argument, *object* must be a collection object which supports " +"the :term:`iterable` protocol (the :meth:`~object.__iter__` method), or it " +"must support the sequence protocol (the :meth:`~object.__getitem__` method " +"with integer arguments starting at ``0``). If it does not support either of " +"those protocols, :exc:`TypeError` is raised. If the second argument, " +"*sentinel*, is given, then *object* must be a callable object. The iterator " +"created in this case will call *object* with no arguments for each call to " +"its :meth:`~iterator.__next__` method; if the value returned is equal to " +"*sentinel*, :exc:`StopIteration` will be raised, otherwise the value will be " +"returned." +msgstr "" +"Retorna um objeto :term:`iterador`. O primeiro argumento é interpretado " "muito diferentemente dependendo da presença do segundo argumento. Sem um " "segundo argumento, *object* deve ser uma coleção de objetos com suporte ao " -"protocolo :term:`iterável` (o método :meth:`__iter__`), ou ele deve ter " -"suporte ao protocolo de sequência (o método :meth:`__getitem__` com " -"argumentos inteiros começando em ``0``). Se ele não tem suporte nenhum " +"protocolo :term:`iterável` (o método :meth:`~object.__iter__`), ou ele deve " +"ter suporte ao protocolo de sequência (o método :meth:`~object.__getitem__` " +"com argumentos inteiros começando em ``0``). Se ele não tem suporte nenhum " "desses protocolos, uma :exc:`TypeError` é levantada. Se o segundo argumento, " "*sentinel*, é fornecido, então *object* deve ser um objeto chamável. O " "iterador criado neste caso irá chamar *object* sem nenhum argumento para " @@ -1941,11 +1966,11 @@ msgstr "" "devolvido é igual a *sentinel*, então :exc:`StopIteration` será levantado, " "caso contrário o valor será devolvido." -#: ../../library/functions.rst:987 +#: ../../library/functions.rst:998 msgid "See also :ref:`typeiter`." msgstr "Veja também :ref:`typeiter`." -#: ../../library/functions.rst:989 +#: ../../library/functions.rst:1000 msgid "" "One useful application of the second form of :func:`iter` is to build a " "block-reader. For example, reading fixed-width blocks from a binary database " @@ -1955,7 +1980,7 @@ msgstr "" "bloco de leitura. Por exemplo, ler blocos de comprimento fixo de um arquivo " "binário de banco de dados até que o final do arquivo seja atingido::" -#: ../../library/functions.rst:1001 +#: ../../library/functions.rst:1012 msgid "" "Return the length (the number of items) of an object. The argument may be a " "sequence (such as a string, bytes, tuple, list, or range) or a collection " @@ -1965,15 +1990,15 @@ msgstr "" "uma sequência (tal como uma string, bytes, tupla, lista, ou um intervalo) ou " "uma coleção (tal como um dicionário, conjunto, ou conjunto imutável)." -#: ../../library/functions.rst:1007 +#: ../../library/functions.rst:1018 msgid "" -"``len`` raises :exc:`OverflowError` on lengths larger than :data:`sys." -"maxsize`, such as :class:`range(2 ** 100) `." +"``len`` raises :exc:`OverflowError` on lengths larger " +"than :data:`sys.maxsize`, such as :class:`range(2 ** 100) `." msgstr "" -"``len`` levanta :exc:`OverflowError` em tamanhos maiores que :data:`sys." -"maxsize`, tal como :class:`range(2 ** 100) `." +"``len`` levanta :exc:`OverflowError` em tamanhos maiores " +"que :data:`sys.maxsize`, tal como :class:`range(2 ** 100) `." -#: ../../library/functions.rst:1016 +#: ../../library/functions.rst:1027 msgid "" "Rather than being a function, :class:`list` is actually a mutable sequence " "type, as documented in :ref:`typesseq-list` and :ref:`typesseq`." @@ -1981,27 +2006,27 @@ msgstr "" "Ao invés de ser uma função, :class:`list` é na verdade um tipo de sequência " "mutável, conforme documentado em :ref:`typesseq-list` e :ref:`typesseq`." -#: ../../library/functions.rst:1022 +#: ../../library/functions.rst:1033 msgid "" "Update and return a dictionary representing the current local symbol table. " "Free variables are returned by :func:`locals` when it is called in function " -"blocks, but not in class blocks. Note that at the module level, :func:" -"`locals` and :func:`globals` are the same dictionary." +"blocks, but not in class blocks. Note that at the module " +"level, :func:`locals` and :func:`globals` are the same dictionary." msgstr "" -"Atualiza e devolve um dicionário representando a tabela de símbolos locais " -"atual. Variáveis livres são devolvidas por :func:`locals` quando ele é " -"chamado em blocos de função, mas não em blocos de classes. Perceba que no " -"nível dos módulos, :func:`locals` e :func:`globals` são o mesmo dicionário." +"Atualiza e retorna um dicionário representando a tabela de símbolos local " +"atual. Variáveis livres são retornadas por :func:`locals` quando ele é " +"chamado em blocos de função, mas não em blocos de classe. Observe que no " +"nível do módulo, :func:`locals` e :func:`globals` são o mesmo dicionário." -#: ../../library/functions.rst:1028 +#: ../../library/functions.rst:1039 msgid "" "The contents of this dictionary should not be modified; changes may not " "affect the values of local and free variables used by the interpreter." msgstr "" -"O conteúdo deste dicionário não deve ser modificado; as alterações podem não " -"afetar os valores das variáveis ​​locais e livres usadas pelo interpretador." +"O conteúdo deste dicionário não deve ser modificado; alterações não podem " +"afetar os valores das variáveis livres e locais usadas pelo interpretador." -#: ../../library/functions.rst:1033 +#: ../../library/functions.rst:1044 msgid "" "Return an iterator that applies *function* to every item of *iterable*, " "yielding the results. If additional *iterables* arguments are passed, " @@ -2015,17 +2040,17 @@ msgstr "" "*function* deve ter a mesma quantidade de argumentos e ela é aplicada aos " "itens de todos os iteráveis em paralelo. Com múltiplos iteráveis, o iterador " "para quando o iterador mais curto é encontrado. Para casos onde os " -"parâmetros de entrada da função já estão organizados em tuplas, veja :func:" -"`itertools.starmap`\\." +"parâmetros de entrada da função já estão organizados em tuplas, " +"veja :func:`itertools.starmap`\\." -#: ../../library/functions.rst:1045 +#: ../../library/functions.rst:1056 msgid "" "Return the largest item in an iterable or the largest of two or more " "arguments." msgstr "" "Devolve o maior item em um iterável ou o maior de dois ou mais argumentos." -#: ../../library/functions.rst:1048 +#: ../../library/functions.rst:1059 msgid "" "If one positional argument is provided, it should be an :term:`iterable`. " "The largest item in the iterable is returned. If two or more positional " @@ -2035,13 +2060,13 @@ msgstr "" "maior item no iterável é retornado. Se dois ou mais argumentos posicionais " "são fornecidos, o maior dos argumentos posicionais é devolvido." -#: ../../library/functions.rst:1053 ../../library/functions.rst:1091 +#: ../../library/functions.rst:1064 ../../library/functions.rst:1102 msgid "" "There are two optional keyword-only arguments. The *key* argument specifies " "a one-argument ordering function like that used for :meth:`list.sort`. The " "*default* argument specifies an object to return if the provided iterable is " -"empty. If the iterable is empty and *default* is not provided, a :exc:" -"`ValueError` is raised." +"empty. If the iterable is empty and *default* is not provided, " +"a :exc:`ValueError` is raised." msgstr "" "Existem dois parâmetros somente-nomeados opcionais. O parâmetro *key* " "especifica uma função de ordenamento de um argumento, como aquelas usadas " @@ -2050,42 +2075,42 @@ msgstr "" "vazio, e *default* não foi fornecido, uma exceção :exc:`ValueError` é " "levantada." -#: ../../library/functions.rst:1059 +#: ../../library/functions.rst:1070 msgid "" "If multiple items are maximal, the function returns the first one " "encountered. This is consistent with other sort-stability preserving tools " -"such as ``sorted(iterable, key=keyfunc, reverse=True)[0]`` and ``heapq." -"nlargest(1, iterable, key=keyfunc)``." +"such as ``sorted(iterable, key=keyfunc, reverse=True)[0]`` and " +"``heapq.nlargest(1, iterable, key=keyfunc)``." msgstr "" "Se múltiplos itens são máximos, a função devolve o primeiro encontrado. Isto " "é consistente com outras ferramentas de ordenamento que preservam a " "estabilidade, tais como ``sorted(iterable, key=keyfunc, reverse=True)[0]`` e " "``heapq.nlargest(1, iterable, key=keyfunc)``." -#: ../../library/functions.rst:1064 ../../library/functions.rst:1102 -msgid "The *default* keyword-only argument." -msgstr "O parâmetro somente-nomeado *default*." +#: ../../library/functions.rst:1075 ../../library/functions.rst:1113 +msgid "Added the *default* keyword-only parameter." +msgstr "Adicionado o parâmetro *default* somente-nomeado." -#: ../../library/functions.rst:1067 ../../library/functions.rst:1105 +#: ../../library/functions.rst:1078 ../../library/functions.rst:1116 msgid "The *key* can be ``None``." msgstr "O valor de *key* pode ser ``None``." -#: ../../library/functions.rst:1075 +#: ../../library/functions.rst:1086 msgid "" -"Return a \"memory view\" object created from the given argument. See :ref:" -"`typememoryview` for more information." +"Return a \"memory view\" object created from the given argument. " +"See :ref:`typememoryview` for more information." msgstr "" "Devolve um objeto de \"visão da memória\" criado a partir do argumento " "fornecido. Veja :ref:`typememoryview` para mais informações." -#: ../../library/functions.rst:1083 +#: ../../library/functions.rst:1094 msgid "" "Return the smallest item in an iterable or the smallest of two or more " "arguments." msgstr "" "Devolve o menor item de um iterável ou o menor de dois ou mais argumentos." -#: ../../library/functions.rst:1086 +#: ../../library/functions.rst:1097 msgid "" "If one positional argument is provided, it should be an :term:`iterable`. " "The smallest item in the iterable is returned. If two or more positional " @@ -2095,7 +2120,7 @@ msgstr "" "menor item no iterável é devolvido. Se dois ou mais argumentos posicionais " "são fornecidos, o menor dos argumentos posicionais é devolvido." -#: ../../library/functions.rst:1097 +#: ../../library/functions.rst:1108 msgid "" "If multiple items are minimal, the function returns the first one " "encountered. This is consistent with other sort-stability preserving tools " @@ -2104,21 +2129,22 @@ msgid "" msgstr "" "Se múltiplos itens são mínimos, a função devolve o primeiro encontrado. Isto " "é consistente com outras ferramentas de ordenamento que preservam a " -"estabilidade, tais como ``sorted(iterable, key=keyfunc)[0]`` e ``heapq." -"nsmallest(1, iterable, key=keyfunc)``." +"estabilidade, tais como ``sorted(iterable, key=keyfunc)[0]`` e " +"``heapq.nsmallest(1, iterable, key=keyfunc)``." -#: ../../library/functions.rst:1112 +#: ../../library/functions.rst:1123 msgid "" -"Retrieve the next item from the :term:`iterator` by calling its :meth:" -"`~iterator.__next__` method. If *default* is given, it is returned if the " -"iterator is exhausted, otherwise :exc:`StopIteration` is raised." +"Retrieve the next item from the :term:`iterator` by calling " +"its :meth:`~iterator.__next__` method. If *default* is given, it is " +"returned if the iterator is exhausted, otherwise :exc:`StopIteration` is " +"raised." msgstr "" -"Recupera o próximo item do :term:`iterador` chamando o seu método :meth:" -"`~iterator.__next__`. Se *default* foi fornecido, ele é devolvido caso o " -"iterável tenha sido percorrido por completo, caso contrário :exc:" -"`StopIteration` é levantada." +"Recupera o próximo item do :term:`iterador` chamando o seu " +"método :meth:`~iterator.__next__`. Se *default* foi fornecido, ele é " +"devolvido caso o iterável tenha sido percorrido por completo, caso " +"contrário :exc:`StopIteration` é levantada." -#: ../../library/functions.rst:1119 +#: ../../library/functions.rst:1130 msgid "" "Return a new featureless object. :class:`object` is a base for all classes. " "It has methods that are common to all instances of Python classes. This " @@ -2128,28 +2154,28 @@ msgstr "" "para todas as classes. Ela tem os métodos que são comuns para todas as " "instâncias de classes Python. Esta função não aceita nenhum argumento." -#: ../../library/functions.rst:1125 +#: ../../library/functions.rst:1136 msgid "" ":class:`object` does *not* have a :attr:`~object.__dict__`, so you can't " "assign arbitrary attributes to an instance of the :class:`object` class." msgstr "" ":class:`object` *não* tem um atributo :attr:`~object.__dict__`, então você " -"não consegue definir atributos arbitrários para uma instância da classe :" -"class:`object`." +"não consegue definir atributos arbitrários para uma instância da " +"classe :class:`object`." -#: ../../library/functions.rst:1131 +#: ../../library/functions.rst:1142 msgid "" "Convert an integer number to an octal string prefixed with \"0o\". The " "result is a valid Python expression. If *x* is not a Python :class:`int` " -"object, it has to define an :meth:`__index__` method that returns an " +"object, it has to define an :meth:`~object.__index__` method that returns an " "integer. For example:" msgstr "" "Converte um número inteiro para uma string em base octal, pré-fixada com " -"\"0o\". O resultado é uma expressão Python válida. Se *x* não for um objeto :" -"class:`int` Python, ele tem que definir um método :meth:`__index__` que " -"devolve um inteiro. Por exemplo:" +"\"0o\". O resultado é uma expressão Python válida. Se *x* não for um " +"objeto :class:`int` Python, ele tem que definir um " +"método :meth:`~object.__index__` que devolve um inteiro. Por exemplo:" -#: ../../library/functions.rst:1141 +#: ../../library/functions.rst:1152 msgid "" "If you want to convert an integer number to an octal string either with the " "prefix \"0o\" or not, you can use either of the following ways." @@ -2157,7 +2183,7 @@ msgstr "" "Se você quiser converter um número inteiro para uma string octal, com o " "prefixo \"0o\" ou não, você pode usar qualquer uma das formas a seguir." -#: ../../library/functions.rst:1158 +#: ../../library/functions.rst:1169 msgid "" "Open *file* and return a corresponding :term:`file object`. If the file " "cannot be opened, an :exc:`OSError` is raised. See :ref:`tut-files` for more " @@ -2167,7 +2193,7 @@ msgstr "" "não puder ser aberto, uma :exc:`OSError` é levantada. Veja :ref:`tut-files` " "para mais exemplos de como usar esta função." -#: ../../library/functions.rst:1162 +#: ../../library/functions.rst:1173 msgid "" "*file* is a :term:`path-like object` giving the pathname (absolute or " "relative to the current working directory) of the file to be opened or an " @@ -2181,7 +2207,7 @@ msgstr "" "arquivo é fornecido, ele é fechado quando o objeto de I/O retornado é " "fechado, a não ser que *closefd* esteja marcado como ``False``)." -#: ../../library/functions.rst:1168 +#: ../../library/functions.rst:1179 msgid "" "*mode* is an optional string that specifies the mode in which the file is " "opened. It defaults to ``'r'`` which means open for reading in text mode. " @@ -2189,10 +2215,10 @@ msgid "" "already exists), ``'x'`` for exclusive creation, and ``'a'`` for appending " "(which on *some* Unix systems, means that *all* writes append to the end of " "the file regardless of the current seek position). In text mode, if " -"*encoding* is not specified the encoding used is platform-dependent: :func:" -"`locale.getencoding()` is called to get the current locale encoding. (For " -"reading and writing raw bytes use binary mode and leave *encoding* " -"unspecified.) The available modes are:" +"*encoding* is not specified the encoding used is platform-" +"dependent: :func:`locale.getencoding()` is called to get the current locale " +"encoding. (For reading and writing raw bytes use binary mode and leave " +"*encoding* unspecified.) The available modes are:" msgstr "" "*mode* é uma string opcional que especifica o modo no qual o arquivo é " "aberto. O valor padrão é ``'r'``, o qual significa abrir para leitura em " @@ -2205,73 +2231,73 @@ msgstr "" "codificação da localidade atual (Para ler e escrever bytes diretamente, use " "o modo binário e não especifique *encoding*). Os modos disponíveis são:" -#: ../../library/functions.rst:1185 +#: ../../library/functions.rst:1196 msgid "Character" msgstr "Caractere" -#: ../../library/functions.rst:1185 +#: ../../library/functions.rst:1196 msgid "Meaning" msgstr "Significado" -#: ../../library/functions.rst:1187 +#: ../../library/functions.rst:1198 msgid "``'r'``" msgstr "``'r'``" -#: ../../library/functions.rst:1187 +#: ../../library/functions.rst:1198 msgid "open for reading (default)" msgstr "abre para leitura (padrão)" -#: ../../library/functions.rst:1188 +#: ../../library/functions.rst:1199 msgid "``'w'``" msgstr "``'w'``" -#: ../../library/functions.rst:1188 +#: ../../library/functions.rst:1199 msgid "open for writing, truncating the file first" msgstr "" "abre para escrita, truncando o arquivo primeiro (removendo tudo o que " "estiver contido no mesmo)" -#: ../../library/functions.rst:1189 +#: ../../library/functions.rst:1200 msgid "``'x'``" msgstr "``'x'``" -#: ../../library/functions.rst:1189 +#: ../../library/functions.rst:1200 msgid "open for exclusive creation, failing if the file already exists" msgstr "abre para criação exclusiva, falhando caso o arquivo exista" -#: ../../library/functions.rst:1190 +#: ../../library/functions.rst:1201 msgid "``'a'``" msgstr "``'a'``" -#: ../../library/functions.rst:1190 +#: ../../library/functions.rst:1201 msgid "open for writing, appending to the end of file if it exists" msgstr "abre para escrita, anexando ao final do arquivo caso o mesmo exista" -#: ../../library/functions.rst:1191 +#: ../../library/functions.rst:1202 msgid "``'b'``" msgstr "``'b'``" -#: ../../library/functions.rst:1191 ../../library/functions.rst:1335 +#: ../../library/functions.rst:1202 ../../library/functions.rst:1346 msgid "binary mode" -msgstr "binary mode" +msgstr "modo binário" -#: ../../library/functions.rst:1192 +#: ../../library/functions.rst:1203 msgid "``'t'``" msgstr "``'t'``" -#: ../../library/functions.rst:1192 +#: ../../library/functions.rst:1203 msgid "text mode (default)" msgstr "modo texto (padrão)" -#: ../../library/functions.rst:1193 +#: ../../library/functions.rst:1204 msgid "``'+'``" msgstr "``'+'``" -#: ../../library/functions.rst:1193 +#: ../../library/functions.rst:1204 msgid "open for updating (reading and writing)" msgstr "aberto para atualização (leitura e escrita)" -#: ../../library/functions.rst:1196 +#: ../../library/functions.rst:1207 msgid "" "The default mode is ``'r'`` (open for reading text, a synonym of ``'rt'``). " "Modes ``'w+'`` and ``'w+b'`` open and truncate the file. Modes ``'r+'`` and " @@ -2281,7 +2307,7 @@ msgstr "" "``'rt'``). Modos ``'w+'`` e ``'w+b'`` abrem e truncam o arquivo. Modos " "``'r+'`` e ``'r+b'`` abrem o arquivo sem truncar o mesmo." -#: ../../library/functions.rst:1200 +#: ../../library/functions.rst:1211 msgid "" "As mentioned in the :ref:`io-overview`, Python distinguishes between binary " "and text I/O. Files opened in binary mode (including ``'b'`` in the *mode* " @@ -2295,12 +2321,12 @@ msgstr "" "saída binária e de texto. Arquivos abertos em modo binário (incluindo " "``'b'`` no parâmetro *mode*) retornam o conteúdo como objetos :class:`bytes` " "sem usar nenhuma decodificação. No modo texto (o padrão, ou quando ``'t'`` é " -"incluído no parâmetro *mode*), o conteúdo do arquivo é retornado como :class:" -"`str`, sendo os bytes primeiramente decodificados usando uma codificação " -"dependente da plataforma, ou usando a codificação definida em *encoding* se " -"fornecida." +"incluído no parâmetro *mode*), o conteúdo do arquivo é retornado " +"como :class:`str`, sendo os bytes primeiramente decodificados usando uma " +"codificação dependente da plataforma, ou usando a codificação definida em " +"*encoding* se fornecida." -#: ../../library/functions.rst:1210 +#: ../../library/functions.rst:1221 msgid "" "Python doesn't depend on the underlying operating system's notion of text " "files; all the processing is done by Python itself, and is therefore " @@ -2310,23 +2336,23 @@ msgstr "" "texto; todo processamento é feito pelo próprio Python, e é então " "independente de plataforma." -#: ../../library/functions.rst:1214 +#: ../../library/functions.rst:1225 msgid "" "*buffering* is an optional integer used to set the buffering policy. Pass 0 " "to switch buffering off (only allowed in binary mode), 1 to select line " -"buffering (only usable in text mode), and an integer > 1 to indicate the " -"size in bytes of a fixed-size chunk buffer. Note that specifying a buffer " -"size this way applies for binary buffered I/O, but ``TextIOWrapper`` (i.e., " -"files opened with ``mode='r+'``) would have another buffering. To disable " -"buffering in ``TextIOWrapper``, consider using the ``write_through`` flag " -"for :func:`io.TextIOWrapper.reconfigure`. When no *buffering* argument is " -"given, the default buffering policy works as follows:" +"buffering (only usable when writing in text mode), and an integer > 1 to " +"indicate the size in bytes of a fixed-size chunk buffer. Note that " +"specifying a buffer size this way applies for binary buffered I/O, but " +"``TextIOWrapper`` (i.e., files opened with ``mode='r+'``) would have another " +"buffering. To disable buffering in ``TextIOWrapper``, consider using the " +"``write_through`` flag for :func:`io.TextIOWrapper.reconfigure`. When no " +"*buffering* argument is given, the default buffering policy works as follows:" msgstr "" "*buffering* é um número inteiro opcional usado para definir a política de " "buffering. Passe 0 para desativar o buffer (permitido apenas no modo " -"binário), 1 para selecionar o buffer de linha (usável apenas no modo de " -"texto) e um inteiro > 1 para indicar o tamanho em bytes de um buffer de " -"bloco de tamanho fixo. Observe que especificar um tamanho de buffer dessa " +"binário), 1 para selecionar o buffer de linha (usável apenas ao gravar no " +"modo de texto) e um inteiro > 1 para indicar o tamanho em bytes de um buffer " +"de bloco de tamanho fixo. Observe que especificar um tamanho de buffer dessa " "maneira se aplica a E/S com buffer binário, mas ``TextIOWrapper`` (ou seja, " "arquivos abertos com ``mode='r+'``) teriam outro buffer. Para desabilitar o " "buffer em ``TextIOWrapper``, considere usar o sinalizador ``write_through`` " @@ -2334,30 +2360,31 @@ msgstr "" "*buffering* é fornecido, a política de buffering padrão funciona da seguinte " "forma:" -#: ../../library/functions.rst:1224 +#: ../../library/functions.rst:1235 msgid "" "Binary files are buffered in fixed-size chunks; the size of the buffer is " "chosen using a heuristic trying to determine the underlying device's \"block " -"size\" and falling back on :attr:`io.DEFAULT_BUFFER_SIZE`. On many systems, " -"the buffer will typically be 4096 or 8192 bytes long." +"size\" and falling back on :const:`io.DEFAULT_BUFFER_SIZE`. On many " +"systems, the buffer will typically be 4096 or 8192 bytes long." msgstr "" "Arquivos binários são armazenados em pedaços de tamanho fixo; o tamanho do " "buffer é escolhido usando uma heurística que tenta determinar o \"tamanho de " -"bloco\" subjacente do dispositivo, e usa :attr:`io.DEFAULT_BUFFER_SIZE` caso " -"não consiga. Em muitos sistemas, o buffer possuirá tipicamente 4096 ou 8192 " -"bytes de comprimento." +"bloco\" subjacente do dispositivo, e usa :const:`io.DEFAULT_BUFFER_SIZE` " +"caso não consiga. Em muitos sistemas, o buffer possuirá tipicamente 4096 ou " +"8192 bytes de comprimento." -#: ../../library/functions.rst:1229 +#: ../../library/functions.rst:1240 msgid "" "\"Interactive\" text files (files for which :meth:`~io.IOBase.isatty` " "returns ``True``) use line buffering. Other text files use the policy " "described above for binary files." msgstr "" -"Arquivos de texto \"interativos\" (arquivos para os quais :meth:`~io.IOBase." -"isatty` retornam ``True``) usam buffering de linha. Outros arquivos de texto " -"usam a política descrita acima para arquivos binários." +"Arquivos de texto \"interativos\" (arquivos para os " +"quais :meth:`~io.IOBase.isatty` retornam ``True``) usam buffering de linha. " +"Outros arquivos de texto usam a política descrita acima para arquivos " +"binários." -#: ../../library/functions.rst:1233 +#: ../../library/functions.rst:1244 msgid "" "*encoding* is the name of the encoding used to decode or encode the file. " "This should only be used in text mode. The default encoding is platform " @@ -2368,16 +2395,17 @@ msgstr "" "*encoding* é o nome da codificação usada para codificar ou decodificar o " "arquivo. Isto deve ser usado apenas no modo texto. A codificação padrão " "depende da plataforma (seja qual valor :func:`locale.getencoding` retornar), " -"mas qualquer :term:`codificador de texto` suportado pelo Python pode ser " +"mas qualquer :term:`codificação do texto` suportado pelo Python pode ser " "usada. Veja o módulo :mod:`codecs` para a lista de codificações suportadas." -#: ../../library/functions.rst:1239 +#: ../../library/functions.rst:1250 msgid "" "*errors* is an optional string that specifies how encoding and decoding " "errors are to be handled—this cannot be used in binary mode. A variety of " "standard error handlers are available (listed under :ref:`error-handlers`), " -"though any error handling name that has been registered with :func:`codecs." -"register_error` is also valid. The standard names include:" +"though any error handling name that has been registered " +"with :func:`codecs.register_error` is also valid. The standard names " +"include:" msgstr "" "*errors* é uma string opcional que especifica como erros de codificação e de " "decodificação devem ser tratados — isso não pode ser utilizado no modo " @@ -2386,7 +2414,7 @@ msgstr "" "tratamento de erro registrado com :func:`codecs.register_error` também é " "válido. Os nomes padrões incluem:" -#: ../../library/functions.rst:1247 +#: ../../library/functions.rst:1258 msgid "" "``'strict'`` to raise a :exc:`ValueError` exception if there is an encoding " "error. The default value of ``None`` has the same effect." @@ -2394,7 +2422,7 @@ msgstr "" "``'strict'`` para levantar uma exceção :exc:`ValueError` se existir um erro " "de codificação. O valor padrão ``None`` tem o mesmo efeito." -#: ../../library/functions.rst:1251 +#: ../../library/functions.rst:1262 msgid "" "``'ignore'`` ignores errors. Note that ignoring encoding errors can lead to " "data loss." @@ -2402,7 +2430,7 @@ msgstr "" "``'ignore'`` ignora erros. Note que ignorar erros de código pode levar à " "perda de dados." -#: ../../library/functions.rst:1254 +#: ../../library/functions.rst:1265 msgid "" "``'replace'`` causes a replacement marker (such as ``'?'``) to be inserted " "where there is malformed data." @@ -2410,7 +2438,7 @@ msgstr "" "``'replace'`` faz um marcador de substituição (tal como ``'?'``) ser " "inserido onde existem dados malformados." -#: ../../library/functions.rst:1257 +#: ../../library/functions.rst:1268 msgid "" "``'surrogateescape'`` will represent any incorrect bytes as low surrogate " "code units ranging from U+DC80 to U+DCFF. These surrogate code units will " @@ -2424,17 +2452,17 @@ msgstr "" "erros for usado ao gravar dados. Isso é útil para processar arquivos em uma " "codificação desconhecida." -#: ../../library/functions.rst:1264 +#: ../../library/functions.rst:1275 msgid "" "``'xmlcharrefreplace'`` is only supported when writing to a file. Characters " "not supported by the encoding are replaced with the appropriate XML " -"character reference ``&#nnn;``." +"character reference :samp:`&#{nnn};`." msgstr "" "``'xmlcharrefreplace'`` é suportado apenas ao gravar em um arquivo. Os " "caracteres não suportados pela codificação são substituídos pela referência " -"de caracteres XML apropriada ``&#nnn;``." +"de caracteres XML apropriada :samp:`&#{nnn};`." -#: ../../library/functions.rst:1268 +#: ../../library/functions.rst:1279 msgid "" "``'backslashreplace'`` replaces malformed data by Python's backslashed " "escape sequences." @@ -2442,7 +2470,7 @@ msgstr "" "``'backslashreplace'`` substitui dados malformados pela sequência de escape " "utilizando contrabarra do Python." -#: ../../library/functions.rst:1271 +#: ../../library/functions.rst:1282 msgid "" "``'namereplace'`` (also only supported when writing) replaces unsupported " "characters with ``\\N{...}`` escape sequences." @@ -2450,7 +2478,7 @@ msgstr "" "``'namereplace'`` (também é suportado somente quando estiver escrevendo) " "substitui caractere não suportados com sequências de escape ``\\N{...}``." -#: ../../library/functions.rst:1279 +#: ../../library/functions.rst:1290 msgid "" "*newline* determines how to parse newline characters from the stream. It can " "be ``None``, ``''``, ``'\\n'``, ``'\\r'``, and ``'\\r\\n'``. It works as " @@ -2460,7 +2488,7 @@ msgstr "" "pode ser ``None``, ``''``, ``'\\n'``, ``'\\r'`` e ``'\\r\\n'``. Ele funciona " "da seguinte forma:" -#: ../../library/functions.rst:1283 +#: ../../library/functions.rst:1294 msgid "" "When reading input from the stream, if *newline* is ``None``, universal " "newlines mode is enabled. Lines in the input can end in ``'\\n'``, " @@ -2479,13 +2507,13 @@ msgstr "" "apenas pela string especificada e a finalização da linha é retornada ao " "chamador sem tradução." -#: ../../library/functions.rst:1291 +#: ../../library/functions.rst:1302 msgid "" "When writing output to the stream, if *newline* is ``None``, any ``'\\n'`` " -"characters written are translated to the system default line separator, :" -"data:`os.linesep`. If *newline* is ``''`` or ``'\\n'``, no translation " -"takes place. If *newline* is any of the other legal values, any ``'\\n'`` " -"characters written are translated to the given string." +"characters written are translated to the system default line " +"separator, :data:`os.linesep`. If *newline* is ``''`` or ``'\\n'``, no " +"translation takes place. If *newline* is any of the other legal values, any " +"``'\\n'`` characters written are translated to the given string." msgstr "" "Ao gravar a saída no fluxo, se *newline* for ``None``, quaisquer caracteres " "``'\\n'`` gravados serão traduzidos para o separador de linhas padrão do " @@ -2493,7 +2521,7 @@ msgstr "" "tradução ocorrerá. Se *newline* for um dos outros valores legais, qualquer " "caractere ``'\\n'`` escrito será traduzido para a string especificada." -#: ../../library/functions.rst:1297 +#: ../../library/functions.rst:1308 msgid "" "If *closefd* is ``False`` and a file descriptor rather than a filename was " "given, the underlying file descriptor will be kept open when the file is " @@ -2505,7 +2533,7 @@ msgstr "" "quando o arquivo for fechado. Se um nome de arquivo for fornecido *closefd* " "deve ser ``True`` (o padrão), caso contrário, um erro será levantado." -#: ../../library/functions.rst:1302 +#: ../../library/functions.rst:1313 msgid "" "A custom opener can be used by passing a callable as *opener*. The " "underlying file descriptor for the file object is then obtained by calling " @@ -2519,56 +2547,57 @@ msgstr "" "arquivo aberto (passando :mod:`os.open` como *opener* resulta em " "funcionalidade semelhante à passagem de ``None``)." -#: ../../library/functions.rst:1308 +#: ../../library/functions.rst:1319 msgid "The newly created file is :ref:`non-inheritable `." msgstr "O arquivo recém-criado é :ref:`non-inheritable `." -#: ../../library/functions.rst:1310 +#: ../../library/functions.rst:1321 msgid "" -"The following example uses the :ref:`dir_fd ` parameter of the :func:" -"`os.open` function to open a file relative to a given directory::" +"The following example uses the :ref:`dir_fd ` parameter of " +"the :func:`os.open` function to open a file relative to a given directory::" msgstr "" -"O exemplo a seguir usa o parâmetro :ref:`dir_fd ` da função :func:" -"`os.open` para abrir um arquivo relativo a um determinado diretório::" +"O exemplo a seguir usa o parâmetro :ref:`dir_fd ` da " +"função :func:`os.open` para abrir um arquivo relativo a um determinado " +"diretório::" -#: ../../library/functions.rst:1323 +#: ../../library/functions.rst:1334 msgid "" "The type of :term:`file object` returned by the :func:`open` function " "depends on the mode. When :func:`open` is used to open a file in a text " -"mode (``'w'``, ``'r'``, ``'wt'``, ``'rt'``, etc.), it returns a subclass of :" -"class:`io.TextIOBase` (specifically :class:`io.TextIOWrapper`). When used " -"to open a file in a binary mode with buffering, the returned class is a " +"mode (``'w'``, ``'r'``, ``'wt'``, ``'rt'``, etc.), it returns a subclass " +"of :class:`io.TextIOBase` (specifically :class:`io.TextIOWrapper`). When " +"used to open a file in a binary mode with buffering, the returned class is a " "subclass of :class:`io.BufferedIOBase`. The exact class varies: in read " "binary mode, it returns an :class:`io.BufferedReader`; in write binary and " "append binary modes, it returns an :class:`io.BufferedWriter`, and in read/" "write mode, it returns an :class:`io.BufferedRandom`. When buffering is " -"disabled, the raw stream, a subclass of :class:`io.RawIOBase`, :class:`io." -"FileIO`, is returned." -msgstr "" -"O tipo de :term:`objeto arquivo ` retornado pela função :func:" -"`open` depende do modo. Quando :func:`open` é usado para abrir um arquivo no " -"modo texto (``'w'``, ``'r'``, ``'wt'``, ``'rt'``, etc.), retorna uma " -"subclasse de :class:`io.TextIOBase` (especificamente :class:`io." -"TextIOWrapper`). Quando usada para abrir um arquivo em modo binário com " -"buffer, a classe retornada é uma subclasse de :class:`io.BufferedIOBase`. A " -"classe exata varia: no modo binário de leitura, ele retorna uma :class:`io." -"BufferedReader`; nos modos binário de gravação e binário anexado, ele " -"retorna um :class:`io.BufferedWriter` e, no modo leitura/gravação, retorna " -"um :class:`io.BufferedRandom`. Quando o buffer está desativado, o fluxo " -"bruto, uma subclasse de :class:`io.RawIOBase`, :class:`io.FileIO`, é " -"retornado." - -#: ../../library/functions.rst:1344 +"disabled, the raw stream, a subclass " +"of :class:`io.RawIOBase`, :class:`io.FileIO`, is returned." +msgstr "" +"O tipo de :term:`objeto arquivo ` retornado pela " +"função :func:`open` depende do modo. Quando :func:`open` é usado para abrir " +"um arquivo no modo texto (``'w'``, ``'r'``, ``'wt'``, ``'rt'``, etc.), " +"retorna uma subclasse de :class:`io.TextIOBase` " +"(especificamente :class:`io.TextIOWrapper`). Quando usada para abrir um " +"arquivo em modo binário com buffer, a classe retornada é uma subclasse " +"de :class:`io.BufferedIOBase`. A classe exata varia: no modo binário de " +"leitura, ele retorna uma :class:`io.BufferedReader`; nos modos binário de " +"gravação e binário anexado, ele retorna um :class:`io.BufferedWriter` e, no " +"modo leitura/gravação, retorna um :class:`io.BufferedRandom`. Quando o " +"buffer está desativado, o fluxo bruto, uma subclasse " +"de :class:`io.RawIOBase`, :class:`io.FileIO`, é retornado." + +#: ../../library/functions.rst:1355 msgid "" "See also the file handling modules, such as :mod:`fileinput`, :mod:`io` " -"(where :func:`open` is declared), :mod:`os`, :mod:`os.path`, :mod:" -"`tempfile`, and :mod:`shutil`." +"(where :func:`open` is " +"declared), :mod:`os`, :mod:`os.path`, :mod:`tempfile`, and :mod:`shutil`." msgstr "" -"Veja também os módulos de para lidar com arquivos, tais como :mod:" -"`fileinput`, :mod:`io` (onde :func:`open` é declarado), :mod:`os`, :mod:`os." -"path`, :mod:`tempfile` e :mod:`shutil`." +"Veja também os módulos de para lidar com arquivos, tais " +"como :mod:`fileinput`, :mod:`io` (onde :func:`open` é " +"declarado), :mod:`os`, :mod:`os.path`, :mod:`tempfile` e :mod:`shutil`." -#: ../../library/functions.rst:1348 +#: ../../library/functions.rst:1359 msgid "" "Raises an :ref:`auditing event ` ``open`` with arguments ``file``, " "``mode``, ``flags``." @@ -2576,7 +2605,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``open`` com os argumentos " "``file``, ``mode``, ``flags``." -#: ../../library/functions.rst:1350 +#: ../../library/functions.rst:1361 msgid "" "The ``mode`` and ``flags`` arguments may have been modified or inferred from " "the original call." @@ -2584,21 +2613,21 @@ msgstr "" "Os argumentos ``mode`` e ``flags`` podem ter sido modificados ou inferidos a " "partir da chamada original." -#: ../../library/functions.rst:1355 +#: ../../library/functions.rst:1366 msgid "The *opener* parameter was added." msgstr "O parâmetro *opener* foi adicionado." -#: ../../library/functions.rst:1356 +#: ../../library/functions.rst:1367 msgid "The ``'x'`` mode was added." msgstr "O modo ``'x'`` foi adicionado." -#: ../../library/functions.rst:1357 +#: ../../library/functions.rst:1368 msgid ":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." msgstr "" -":exc:`IOError` costumava ser levantado, agora ele é um codinome para :exc:" -"`OSError`." +":exc:`IOError` costumava ser levantada, agora ela é um apelido " +"para :exc:`OSError`." -#: ../../library/functions.rst:1358 +#: ../../library/functions.rst:1369 msgid "" ":exc:`FileExistsError` is now raised if the file opened in exclusive " "creation mode (``'x'``) already exists." @@ -2606,43 +2635,43 @@ msgstr "" ":exc:`FileExistsError` agora é levantado se o arquivo aberto no modo de " "criação exclusivo (``'x'``) já existir." -#: ../../library/functions.rst:1363 +#: ../../library/functions.rst:1374 msgid "The file is now non-inheritable." msgstr "O arquivo agora é não herdável." -#: ../../library/functions.rst:1367 +#: ../../library/functions.rst:1378 msgid "" "If the system call is interrupted and the signal handler does not raise an " -"exception, the function now retries the system call instead of raising an :" -"exc:`InterruptedError` exception (see :pep:`475` for the rationale)." +"exception, the function now retries the system call instead of raising " +"an :exc:`InterruptedError` exception (see :pep:`475` for the rationale)." msgstr "" "Se a chamada de sistema é interrompida e o tratador de sinal não levanta uma " "exceção, a função agora tenta novamente a chamada de sistema em vez de " "levantar uma exceção :exc:`InterruptedError` (consulte :pep:`475` para " -"entender a lógica)." +"entender a justificativa)." -#: ../../library/functions.rst:1370 +#: ../../library/functions.rst:1381 msgid "The ``'namereplace'`` error handler was added." msgstr "O tratador de erros ``'namereplace'`` foi adicionado." -#: ../../library/functions.rst:1374 +#: ../../library/functions.rst:1385 msgid "Support added to accept objects implementing :class:`os.PathLike`." msgstr "" "Suporte adicionado para aceitar objetos implementados :class:`os.PathLike`." -#: ../../library/functions.rst:1375 +#: ../../library/functions.rst:1386 msgid "" -"On Windows, opening a console buffer may return a subclass of :class:`io." -"RawIOBase` other than :class:`io.FileIO`." +"On Windows, opening a console buffer may return a subclass " +"of :class:`io.RawIOBase` other than :class:`io.FileIO`." msgstr "" "No Windows, a abertura de um buffer do console pode retornar uma subclasse " "de :class:`io.RawIOBase` que não seja :class:`io.FileIO`." -#: ../../library/functions.rst:1378 +#: ../../library/functions.rst:1389 msgid "The ``'U'`` mode has been removed." msgstr "O modo ``'U'`` foi removido." -#: ../../library/functions.rst:1383 +#: ../../library/functions.rst:1394 msgid "" "Given a string representing one Unicode character, return an integer " "representing the Unicode code point of that character. For example, " @@ -2654,7 +2683,7 @@ msgstr "" "exemplo, ``ord('a')`` retorna o número inteiro ``97`` e ``ord('€')`` (sinal " "do Euro) retorna ``8364``. Este é o inverso de :func:`chr`." -#: ../../library/functions.rst:1391 +#: ../../library/functions.rst:1402 msgid "" "Return *base* to the power *exp*; if *mod* is present, return *base* to the " "power *exp*, modulo *mod* (computed more efficiently than ``pow(base, exp) % " @@ -2666,7 +2695,7 @@ msgstr "" "``pow(base, exp) % mod``). A forma de dois argumentos ``pow(base, exp)`` é " "equivalente a usar o operador de potência: ``base**exp``." -#: ../../library/functions.rst:1396 +#: ../../library/functions.rst:1407 msgid "" "The arguments must have numeric types. With mixed operand types, the " "coercion rules for binary arithmetic operators apply. For :class:`int` " @@ -2684,11 +2713,12 @@ msgstr "" "coerção), a menos que o segundo argumento seja negativo; nesse caso, todos " "os argumentos são convertidos em ponto flutuante e um resultado ponto " "flutuante é entregue. Por exemplo, ``pow(10, 2)`` retorna ``100``, mas " -"``pow(10, -2)`` retorna ``0.01``. Para uma base negativa do tipo :class:" -"`int` ou :class:`float` e um expoente não integral, um resultado complexo é " -"entregue. Por exemplo, ``pow(-9, 0.5)`` retorna um valor próximo a ``3j``." +"``pow(10, -2)`` retorna ``0.01``. Para uma base negativa do " +"tipo :class:`int` ou :class:`float` e um expoente não integral, um resultado " +"complexo é entregue. Por exemplo, ``pow(-9, 0.5)`` retorna um valor próximo " +"a ``3j``." -#: ../../library/functions.rst:1406 +#: ../../library/functions.rst:1417 msgid "" "For :class:`int` operands *base* and *exp*, if *mod* is present, *mod* must " "also be of integer type and *mod* must be nonzero. If *mod* is present and " @@ -2702,12 +2732,12 @@ msgstr "" "para *mod*. Nesse caso, ``pow(inv_base, -exp, mod)`` é retornado, onde " "*inv_base* é um inverso ao *base* módulo *mod*." -#: ../../library/functions.rst:1412 +#: ../../library/functions.rst:1423 msgid "Here's an example of computing an inverse for ``38`` modulo ``97``::" msgstr "" "Aqui está um exemplo de computação de um inverso para ``38`` módulo ``97``::" -#: ../../library/functions.rst:1419 +#: ../../library/functions.rst:1430 msgid "" "For :class:`int` operands, the three-argument form of ``pow`` now allows the " "second argument to be negative, permitting computation of modular inverses." @@ -2716,14 +2746,14 @@ msgstr "" "permite que o segundo argumento seja negativo, permitindo o cálculo de " "inversos modulares." -#: ../../library/functions.rst:1424 +#: ../../library/functions.rst:1435 msgid "" "Allow keyword arguments. Formerly, only positional arguments were supported." msgstr "" "Permite argumentos de palavra reservada. Anteriormente, apenas argumentos " "posicionais eram suportados." -#: ../../library/functions.rst:1431 +#: ../../library/functions.rst:1442 msgid "" "Print *objects* to the text stream *file*, separated by *sep* and followed " "by *end*. *sep*, *end*, *file*, and *flush*, if present, must be given as " @@ -2733,7 +2763,7 @@ msgstr "" "por *end*. *sep*, *end*, *file* e *flush*, se houver, devem ser fornecidos " "como argumentos nomeados." -#: ../../library/functions.rst:1435 +#: ../../library/functions.rst:1446 msgid "" "All non-keyword arguments are converted to strings like :func:`str` does and " "written to the stream, separated by *sep* and followed by *end*. Both *sep* " @@ -2741,13 +2771,13 @@ msgid "" "default values. If no *objects* are given, :func:`print` will just write " "*end*." msgstr "" -"Todos os argumentos que não são nomeados são convertidos em strings como :" -"func:`str` faz e gravados no fluxo, separados por *sep* e seguidos por " +"Todos os argumentos que não são nomeados são convertidos em strings " +"como :func:`str` faz e gravados no fluxo, separados por *sep* e seguidos por " "*end*. *sep* e *end* devem ser strings; eles também podem ser ``None``, o " -"que significa usar os valores padrão. Se nenhum *object* for fornecido, :" -"func:`print` escreverá apenas *end*." +"que significa usar os valores padrão. Se nenhum *object* for " +"fornecido, :func:`print` escreverá apenas *end*." -#: ../../library/functions.rst:1441 +#: ../../library/functions.rst:1452 msgid "" "The *file* argument must be an object with a ``write(string)`` method; if it " "is not present or ``None``, :data:`sys.stdout` will be used. Since printed " @@ -2756,11 +2786,11 @@ msgid "" msgstr "" "O argumento *file* deve ser um objeto com um método ``write(string)``; se " "ele não estiver presente ou ``None``, então :data:`sys.stdout` será usado. " -"Como argumentos exibidos no console são convertidos para strings de texto, :" -"func:`print` não pode ser usado com objetos de arquivo em modo binário. Para " -"esses casos, use ``file.write(...)`` ao invés." +"Como argumentos exibidos no console são convertidos para strings de " +"texto, :func:`print` não pode ser usado com objetos arquivo em modo binário. " +"Para esses casos, use ``file.write(...)`` ao invés." -#: ../../library/functions.rst:1446 +#: ../../library/functions.rst:1457 msgid "" "Output buffering is usually determined by *file*. However, if *flush* is " "true, the stream is forcibly flushed." @@ -2768,15 +2798,15 @@ msgstr "" "O buffer de saída geralmente é determinado por *arquivo*. No entanto, se " "*flush* for verdadeiro, o fluxo será descarregado à força." -#: ../../library/functions.rst:1450 +#: ../../library/functions.rst:1461 msgid "Added the *flush* keyword argument." msgstr "Adicionado o argumento nomeado *flush*." -#: ../../library/functions.rst:1456 +#: ../../library/functions.rst:1467 msgid "Return a property attribute." msgstr "Retorna um atributo de propriedade." -#: ../../library/functions.rst:1458 +#: ../../library/functions.rst:1469 msgid "" "*fget* is a function for getting an attribute value. *fset* is a function " "for setting an attribute value. *fdel* is a function for deleting an " @@ -2786,53 +2816,53 @@ msgstr "" "para definir um valor para um atributo. *fdel* é uma função para deletar um " "valor de um atributo. E *doc* cria um docstring para um atributo." -#: ../../library/functions.rst:1462 +#: ../../library/functions.rst:1473 msgid "A typical use is to define a managed attribute ``x``::" msgstr "Um uso comum é para definir um atributo gerenciável ``x``::" -#: ../../library/functions.rst:1479 +#: ../../library/functions.rst:1490 msgid "" "If *c* is an instance of *C*, ``c.x`` will invoke the getter, ``c.x = " "value`` will invoke the setter, and ``del c.x`` the deleter." msgstr "" "Se *c* é uma instância de *C*, ``c.x`` irá invocar o método getter, ``c.x = " -"value`` irá invocar o método setter, e ``del c.x`` o método deleter." +"valor`` irá invocar o método setter, e ``del c.x`` o método deleter." -#: ../../library/functions.rst:1482 +#: ../../library/functions.rst:1493 msgid "" "If given, *doc* will be the docstring of the property attribute. Otherwise, " "the property will copy *fget*'s docstring (if it exists). This makes it " -"possible to create read-only properties easily using :func:`property` as a :" -"term:`decorator`::" +"possible to create read-only properties easily using :func:`property` as " +"a :term:`decorator`::" msgstr "" "Se fornecido, *doc* será a docstring do atributo definido por property. Caso " "contrário, a property copiará a docstring de *fget* (se ela existir). Isso " -"torna possível criar facilmente propriedades apenas para leitura usando :" -"func:`property` como um :term:`decorador`::" +"torna possível criar facilmente propriedades apenas para leitura " +"usando :func:`property` como um :term:`decorador`::" -#: ../../library/functions.rst:1495 +#: ../../library/functions.rst:1506 msgid "" -"The ``@property`` decorator turns the :meth:`voltage` method into a " +"The ``@property`` decorator turns the :meth:`!voltage` method into a " "\"getter\" for a read-only attribute with the same name, and it sets the " "docstring for *voltage* to \"Get the current voltage.\"" msgstr "" -"O decorador ``@property`` transforma o método :meth:`voltage` em um " +"O decorador ``@property`` transforma o método :meth:`!voltage` em um " "\"getter\" para um atributo somente leitura com o mesmo nome, e define a " "docstring de *voltage* para \"Get the current voltage.\"" -#: ../../library/functions.rst:1499 +#: ../../library/functions.rst:1514 msgid "" -"A property object has :attr:`~property.getter`, :attr:`~property.setter`, " -"and :attr:`~property.deleter` methods usable as decorators that create a " -"copy of the property with the corresponding accessor function set to the " -"decorated function. This is best explained with an example::" +"A property object has ``getter``, ``setter``, and ``deleter`` methods usable " +"as decorators that create a copy of the property with the corresponding " +"accessor function set to the decorated function. This is best explained " +"with an example:" msgstr "" -"Um objeto property possui métodos :attr:`~property.getter`, :attr:`~property." -"setter`, e :attr:`~property.deleter` usáveis como decoradores, que criam uma " -"cópia da property com o assessor correspondente a função definida para a " -"função com decorador. Isso é explicado melhor com um exemplo::" +"Um objeto property possui métodos ``getter``, ``setter`` e ``deleter`` " +"usáveis como decoradores, que criam uma cópia da property com o assessor " +"correspondente a função definida para a função com decorador. Isso é " +"explicado melhor com um exemplo::" -#: ../../library/functions.rst:1521 +#: ../../library/functions.rst:1538 msgid "" "This code is exactly equivalent to the first example. Be sure to give the " "additional functions the same name as the original property (``x`` in this " @@ -2842,7 +2872,7 @@ msgstr "" "nas funções adicionais usar o mesmo nome que a property original (``x`` " "neste caso)." -#: ../../library/functions.rst:1525 +#: ../../library/functions.rst:1542 msgid "" "The returned property object also has the attributes ``fget``, ``fset``, and " "``fdel`` corresponding to the constructor arguments." @@ -2850,11 +2880,11 @@ msgstr "" "O objeto property retornado também tem os atributos ``fget``, ``fset``, e " "``fdel`` correspondendo aos argumentos do construtor." -#: ../../library/functions.rst:1528 +#: ../../library/functions.rst:1545 msgid "The docstrings of property objects are now writeable." msgstr "Agora é possível escrever nas docstrings de objetos property." -#: ../../library/functions.rst:1537 +#: ../../library/functions.rst:1554 msgid "" "Rather than being a function, :class:`range` is actually an immutable " "sequence type, as documented in :ref:`typesseq-range` and :ref:`typesseq`." @@ -2862,7 +2892,7 @@ msgstr "" "Em vez de ser uma função, :class:`range` é realmente um tipo de sequência " "imutável, conforme documentado em :ref:`typesseq-range` e :ref:`typesseq`." -#: ../../library/functions.rst:1543 +#: ../../library/functions.rst:1560 msgid "" "Return a string containing a printable representation of an object. For " "many types, this function makes an attempt to return a string that would " @@ -2870,9 +2900,9 @@ msgid "" "the representation is a string enclosed in angle brackets that contains the " "name of the type of the object together with additional information often " "including the name and address of the object. A class can control what this " -"function returns for its instances by defining a :meth:`__repr__` method. " -"If :func:`sys.displayhook` is not accessible, this function will raise :exc:" -"`RuntimeError`." +"function returns for its instances by defining a :meth:`~object.__repr__` " +"method. If :func:`sys.displayhook` is not accessible, this function will " +"raise :exc:`RuntimeError`." msgstr "" "Retorna uma string contendo uma representação imprimível de um objeto. Para " "muitos tipos, essa função tenta retornar uma string que produziria um objeto " @@ -2880,23 +2910,29 @@ msgstr "" "representação é uma string entre colchetes angulares que contém o nome do " "tipo do objeto juntamente com informações adicionais, geralmente incluindo o " "nome e o endereço do objeto. Uma classe pode controlar o que essa função " -"retorna para suas instâncias, definindo um método :meth:`__repr__`. Se :func:" -"`sys.displayhook` não estiver acessível, esta função vai levantar :exc:" -"`RuntimeError`." +"retorna para suas instâncias, definindo um método :meth:`~object.__repr__`. " +"Se :func:`sys.displayhook` não estiver acessível, esta função vai " +"levantar :exc:`RuntimeError`." + +#: ../../library/functions.rst:1571 +msgid "This class has a custom representation that can be evaluated::" +msgstr "" +"Esta classe possui uma representação personalizada que pode ser executada::" -#: ../../library/functions.rst:1556 +#: ../../library/functions.rst:1584 msgid "" -"Return a reverse :term:`iterator`. *seq* must be an object which has a :" -"meth:`__reversed__` method or supports the sequence protocol (the :meth:" -"`__len__` method and the :meth:`__getitem__` method with integer arguments " -"starting at ``0``)." +"Return a reverse :term:`iterator`. *seq* must be an object which has " +"a :meth:`~object.__reversed__` method or supports the sequence protocol " +"(the :meth:`~object.__len__` method and the :meth:`~object.__getitem__` " +"method with integer arguments starting at ``0``)." msgstr "" "Retorna um :term:`iterador ` reverso. *seq* deve ser um objeto que " -"possui o método :meth:`__reversed__` ou suporta o protocolo de sequência (o " -"método :meth:`__len__` e o método :meth:`__getitem__` com argumentos " -"inteiros começando em ``0``)." +"possui o método :meth:`~object.__reversed__` ou suporta o protocolo de " +"sequência (o método :meth:`~object.__len__` e o " +"método :meth:`~object.__getitem__` com argumentos inteiros começando em " +"``0``)." -#: ../../library/functions.rst:1564 +#: ../../library/functions.rst:1592 msgid "" "Return *number* rounded to *ndigits* precision after the decimal point. If " "*ndigits* is omitted or is ``None``, it returns the nearest integer to its " @@ -2906,7 +2942,7 @@ msgstr "" "Se *ndigits* for omitido ou for ``None``, ele retornará o número inteiro " "mais próximo de sua entrada." -#: ../../library/functions.rst:1568 +#: ../../library/functions.rst:1596 msgid "" "For the built-in types supporting :func:`round`, values are rounded to the " "closest multiple of 10 to the power minus *ndigits*; if two multiples are " @@ -2925,15 +2961,15 @@ msgstr "" "inteiro se *ndigits* for omitido ou ``None``. Caso contrário, o valor de " "retorno tem o mesmo tipo que *number*." -#: ../../library/functions.rst:1577 +#: ../../library/functions.rst:1605 msgid "" -"For a general Python object ``number``, ``round`` delegates to ``number." -"__round__``." +"For a general Python object ``number``, ``round`` delegates to " +"``number.__round__``." msgstr "" -"Para um objeto Python geral ``number``, ``round`` delega para ``number." -"__round__``." +"Para um objeto Python geral ``number``, ``round`` delega para " +"``number.__round__``." -#: ../../library/functions.rst:1582 +#: ../../library/functions.rst:1610 msgid "" "The behavior of :func:`round` for floats can be surprising: for example, " "``round(2.675, 2)`` gives ``2.67`` instead of the expected ``2.68``. This is " @@ -2947,27 +2983,27 @@ msgstr "" "das frações decimais não pode ser representada exatamente como um ponto " "flutuante. Veja :ref:`tut-fp-issues` para mais informações." -#: ../../library/functions.rst:1594 +#: ../../library/functions.rst:1622 msgid "" "Return a new :class:`set` object, optionally with elements taken from " "*iterable*. ``set`` is a built-in class. See :class:`set` and :ref:`types-" "set` for documentation about this class." msgstr "" "Retorna um novo objeto :class:`set`, opcionalmente com elementos retirados " -"de *iterable*. ``set`` é uma classe embutida. Veja :class:`set` e :ref:" -"`types-set` para documentação sobre esta classe." +"de *iterable*. ``set`` é uma classe embutida. Veja :class:`set` " +"e :ref:`types-set` para documentação sobre esta classe." -#: ../../library/functions.rst:1598 +#: ../../library/functions.rst:1626 msgid "" -"For other containers see the built-in :class:`frozenset`, :class:`list`, :" -"class:`tuple`, and :class:`dict` classes, as well as the :mod:`collections` " -"module." +"For other containers see the built-" +"in :class:`frozenset`, :class:`list`, :class:`tuple`, and :class:`dict` " +"classes, as well as the :mod:`collections` module." msgstr "" -"Para outros contêineres, consulte as classes embutidas :class:`frozenset`, :" -"class:`list`, :class:`tuple` e :class:`dict`, bem como o módulo :mod:" -"`collections`." +"Para outros contêineres, consulte as classes " +"embutidas :class:`frozenset`, :class:`list`, :class:`tuple` e :class:`dict`, " +"bem como o módulo :mod:`collections`." -#: ../../library/functions.rst:1605 +#: ../../library/functions.rst:1633 msgid "" "This is the counterpart of :func:`getattr`. The arguments are an object, a " "string, and an arbitrary value. The string may name an existing attribute " @@ -2978,80 +3014,92 @@ msgstr "" "Esta é a contrapartida de :func:`getattr`. Os argumentos são um objeto, uma " "string e um valor arbitrário. A string pode nomear um atributo existente ou " "um novo atributo. A função atribui o valor ao atributo, desde que o objeto " -"permita. Por exemplo, ``setattr(x, 'foobar', 123)`` é equivalente a ``x." -"foobar = 123``." +"permita. Por exemplo, ``setattr(x, 'foobar', 123)`` é equivalente a " +"``x.foobar = 123``." -#: ../../library/functions.rst:1611 +#: ../../library/functions.rst:1639 msgid "" "*name* need not be a Python identifier as defined in :ref:`identifiers` " -"unless the object chooses to enforce that, for example in a custom :meth:" -"`~object.__getattribute__` or via :attr:`~object.__slots__`. An attribute " -"whose name is not an identifier will not be accessible using the dot " -"notation, but is accessible through :func:`getattr` etc.." +"unless the object chooses to enforce that, for example in a " +"custom :meth:`~object.__getattribute__` or via :attr:`~object.__slots__`. An " +"attribute whose name is not an identifier will not be accessible using the " +"dot notation, but is accessible through :func:`getattr` etc.." msgstr "" -"*name* não precisa ser um identificador do Python conforme definido em :ref:" -"`identifiers` a menos que o objeto opte por impor isso, por exemplo, em um :" -"meth:`~object.__getattribute__` personalizado ou via :attr:`~object." -"__slots__`. Um atributo cujo nome não é um identificador não será acessível " -"usando a notação de ponto, mas pode ser acessado através de :func:`getattr` " -"etc." +"*name* não precisa ser um identificador do Python conforme definido " +"em :ref:`identifiers` a menos que o objeto opte por impor isso, por exemplo, " +"em um :meth:`~object.__getattribute__` personalizado ou " +"via :attr:`~object.__slots__`. Um atributo cujo nome não é um identificador " +"não será acessível usando a notação de ponto, mas pode ser acessado através " +"de :func:`getattr` etc." -#: ../../library/functions.rst:1619 +#: ../../library/functions.rst:1647 msgid "" "Since :ref:`private name mangling ` happens at " "compilation time, one must manually mangle a private attribute's (attributes " "with two leading underscores) name in order to set it with :func:`setattr`." msgstr "" -"Uma vez que :ref:`mutilação de nome privado ` " +"Uma vez que :ref:`desfiguração de nome privado ` " "acontece em tempo de compilação, deve-se manualmente mutilar o nome de um " "atributo privado (atributos com dois sublinhados à esquerda) para defini-lo " "com :func:`setattr`." -#: ../../library/functions.rst:1628 +#: ../../library/functions.rst:1656 msgid "" "Return a :term:`slice` object representing the set of indices specified by " "``range(start, stop, step)``. The *start* and *step* arguments default to " -"``None``. Slice objects have read-only data attributes :attr:`~slice." -"start`, :attr:`~slice.stop`, and :attr:`~slice.step` which merely return the " -"argument values (or their default). They have no other explicit " -"functionality; however, they are used by NumPy and other third-party " -"packages. Slice objects are also generated when extended indexing syntax is " -"used. For example: ``a[start:stop:step]`` or ``a[start:stop, i]``. See :" -"func:`itertools.islice` for an alternate version that returns an iterator." -msgstr "" -"Retorna um objeto :term:`slice` representando o conjunto de índices " -"especificado por ``range(start, stop, step)``. Os argumentos *start* e " -"*step* são padronizados como ``None``. Os objetos fatia têm atributos de " -"dados somente leitura :attr:`~slice.start`, :attr:`~slice.stop` e :attr:" -"`~slice.step`, que meramente retornam os valores do argumento (ou o padrão). " -"Eles não têm outra funcionalidade explícita; no entanto, eles são usados " -"pelo NumPy e outros pacotes de terceiros. Os objetos slice também são " -"gerados quando a sintaxe de indexação estendida é usada. Por exemplo: " -"``a[start:stop:step]`` ou ``a[start:stop, i]``. Veja :func:`itertools." -"islice` para uma versão alternativa que retorna um iterador." - -#: ../../library/functions.rst:1641 +"``None``." +msgstr "" +"Retorna um objeto :term:`fatia` representando o conjunto de índices " +"especificados por ``range(start, stop, step)``. Os argumentos *start* e " +"*step* têm o padrão ``None``." + +#: ../../library/functions.rst:1664 +msgid "" +"Slice objects have read-only data attributes :attr:`!start`, :attr:`!stop`, " +"and :attr:`!step` which merely return the argument values (or their " +"default). They have no other explicit functionality; however, they are used " +"by NumPy and other third-party packages." +msgstr "" +"Objetos fatia têm atributos de dados somente leitura :attr:`!start`, :attr:`!" +"stop` e :attr:`!step` que simplesmente retornam os valores dos argumentos " +"(ou seus padrões). Eles não possuem outra funcionalidade explícita; no " +"entanto, eles são usados pelo NumPy e outros pacotes de terceiros." + +#: ../../library/functions.rst:1669 +msgid "" +"Slice objects are also generated when extended indexing syntax is used. For " +"example: ``a[start:stop:step]`` or ``a[start:stop, i]``. " +"See :func:`itertools.islice` for an alternate version that returns " +"an :term:`iterator`." +msgstr "" +"Objetos fatia também são gerados quando a sintaxe de indexação estendida é " +"usada. Por exemplo: ``a[start:stop:step]`` ou ``a[start:stop, i]``. " +"Veja :func:`itertools.islice` para uma versão alternativa que retorna " +"um :term:`iterador`." + +#: ../../library/functions.rst:1677 msgid "Return a new sorted list from the items in *iterable*." msgstr "Retorna uma nova lista classificada dos itens em *iterable*." -#: ../../library/functions.rst:1643 +#: ../../library/functions.rst:1679 msgid "" "Has two optional arguments which must be specified as keyword arguments." msgstr "" "Possui dois argumentos opcionais que devem ser especificados como argumentos " "nomeados." -#: ../../library/functions.rst:1645 +#: ../../library/functions.rst:1681 msgid "" "*key* specifies a function of one argument that is used to extract a " -"comparison key from each element in *iterable* (for example, ``key=str." -"lower``). The default value is ``None`` (compare the elements directly)." +"comparison key from each element in *iterable* (for example, " +"``key=str.lower``). The default value is ``None`` (compare the elements " +"directly)." msgstr "" "*key* especifica a função de um argumento usado para extrair uma chave de " "comparação de cada elemento em *iterable* (por exemplo, ``key=str.lower``). " "O valor padrão é ``None`` (compara os elementos diretamente)." -#: ../../library/functions.rst:1649 +#: ../../library/functions.rst:1685 msgid "" "*reverse* is a boolean value. If set to ``True``, then the list elements " "are sorted as if each comparison were reversed." @@ -3060,7 +3108,7 @@ msgstr "" "elementos da lista são classificados como se cada comparação estivesse " "invertida." -#: ../../library/functions.rst:1652 +#: ../../library/functions.rst:1688 msgid "" "Use :func:`functools.cmp_to_key` to convert an old-style *cmp* function to a " "*key* function." @@ -3068,7 +3116,7 @@ msgstr "" "Usa :func:`functools.cmp_to_key` para converter a função das antigas *cmp* " "para uma função *key*." -#: ../../library/functions.rst:1655 +#: ../../library/functions.rst:1691 msgid "" "The built-in :func:`sorted` function is guaranteed to be stable. A sort is " "stable if it guarantees not to change the relative order of elements that " @@ -3080,7 +3128,7 @@ msgstr "" "comparam da mesma forma --- isso é útil para ordenar em várias passagens " "(por exemplo, ordenar por departamento e depois por nível de salário)." -#: ../../library/functions.rst:1660 +#: ../../library/functions.rst:1696 msgid "" "The sort algorithm uses only ``<`` comparisons between items. While " "defining an :meth:`~object.__lt__` method will suffice for sorting, :PEP:`8` " @@ -3100,18 +3148,18 @@ msgstr "" "comparações também ajuda a evitar confusão para comparações de tipo misto " "que podem chamar refletido o método :meth:`~object.__gt__`." -#: ../../library/functions.rst:1669 +#: ../../library/functions.rst:1705 msgid "" "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." msgstr "" -"Para exemplos de classificação e um breve tutorial de classificação, veja :" -"ref:`sortinghowto`." +"Para exemplos de classificação e um breve tutorial de classificação, " +"veja :ref:`sortinghowto`." -#: ../../library/functions.rst:1673 +#: ../../library/functions.rst:1709 msgid "Transform a method into a static method." msgstr "Transforma um método em método estático." -#: ../../library/functions.rst:1675 +#: ../../library/functions.rst:1711 msgid "" "A static method does not receive an implicit first argument. To declare a " "static method, use this idiom::" @@ -3119,15 +3167,15 @@ msgstr "" "Um método estático não recebe um primeiro argumento implícito. Para declarar " "um método estático, use este idioma::" -#: ../../library/functions.rst:1682 +#: ../../library/functions.rst:1718 msgid "" -"The ``@staticmethod`` form is a function :term:`decorator` -- see :ref:" -"`function` for details." +"The ``@staticmethod`` form is a function :term:`decorator` -- " +"see :ref:`function` for details." msgstr "" -"A forma ``@staticmethod`` é uma função de :term:`decorador` -- veja :ref:" -"`function` para detalhes." +"A forma ``@staticmethod`` é uma função de :term:`decorador` -- " +"veja :ref:`function` para detalhes." -#: ../../library/functions.rst:1685 +#: ../../library/functions.rst:1721 msgid "" "A static method can be called either on the class (such as ``C.f()``) or on " "an instance (such as ``C().f()``). Moreover, they can be called as regular " @@ -3137,7 +3185,7 @@ msgstr "" "instância (tal como ``C().f()``). Além disso, eles podem ser chamados como " "funções regulares (como ``f()``)." -#: ../../library/functions.rst:1689 +#: ../../library/functions.rst:1725 msgid "" "Static methods in Python are similar to those found in Java or C++. Also, " "see :func:`classmethod` for a variant that is useful for creating alternate " @@ -3147,7 +3195,7 @@ msgstr "" "+. Veja também :func:`classmethod` para uma variante útil na criação de " "construtores de classe alternativos." -#: ../../library/functions.rst:1693 +#: ../../library/functions.rst:1729 msgid "" "Like all decorators, it is also possible to call ``staticmethod`` as a " "regular function and do something with its result. This is needed in some " @@ -3161,11 +3209,11 @@ msgstr "" "corpo de classe e deseja evitar a transformação automática em método de " "instância. Para esses casos, use este idioma::" -#: ../../library/functions.rst:1705 +#: ../../library/functions.rst:1741 msgid "For more information on static methods, see :ref:`types`." msgstr "Para mais informações sobre métodos estáticos, consulte :ref:`types`." -#: ../../library/functions.rst:1707 +#: ../../library/functions.rst:1743 msgid "" "Static methods now inherit the method attributes (``__module__``, " "``__name__``, ``__qualname__``, ``__doc__`` and ``__annotations__``), have a " @@ -3175,14 +3223,14 @@ msgstr "" "``__name__``, ``__qualname__``, ``__doc__`` e ``__annotations__``), têm um " "novo atributo ``__wrapped__`` e agora são chamáveis como funções regulares." -#: ../../library/functions.rst:1722 +#: ../../library/functions.rst:1758 msgid "" "Return a :class:`str` version of *object*. See :func:`str` for details." msgstr "" "Retorna uma versão :class:`str` de *object*. Consulte :func:`str` para " "detalhes." -#: ../../library/functions.rst:1724 +#: ../../library/functions.rst:1760 msgid "" "``str`` is the built-in string :term:`class`. For general information about " "strings, see :ref:`textseq`." @@ -3190,7 +3238,7 @@ msgstr "" "``str`` é uma :term:`classe` de string embutida. Para informações gerais " "sobre strings, consulte :ref:`textseq`." -#: ../../library/functions.rst:1730 +#: ../../library/functions.rst:1766 msgid "" "Sums *start* and the items of an *iterable* from left to right and returns " "the total. The *iterable*'s items are normally numbers, and the start value " @@ -3200,13 +3248,13 @@ msgstr "" "retornam o total. Os itens do *iterable* são normalmente números e o valor " "inicial não pode ser uma string." -#: ../../library/functions.rst:1734 +#: ../../library/functions.rst:1770 msgid "" "For some use cases, there are good alternatives to :func:`sum`. The " -"preferred, fast way to concatenate a sequence of strings is by calling ``''." -"join(sequence)``. To add floating point values with extended precision, " -"see :func:`math.fsum`\\. To concatenate a series of iterables, consider " -"using :func:`itertools.chain`." +"preferred, fast way to concatenate a sequence of strings is by calling " +"``''.join(sequence)``. To add floating point values with extended " +"precision, see :func:`math.fsum`\\. To concatenate a series of iterables, " +"consider using :func:`itertools.chain`." msgstr "" "Para alguns casos de uso, existem boas alternativas para :func:`sum`. A " "maneira rápida e preferida de concatenar uma sequência de strings é chamando " @@ -3214,11 +3262,11 @@ msgstr "" "precisão estendida, consulte :func:`math.fsum`. Para concatenar uma série de " "iteráveis, considere usar :func:`itertools.chain`." -#: ../../library/functions.rst:1740 +#: ../../library/functions.rst:1776 msgid "The *start* parameter can be specified as a keyword argument." msgstr "O parâmetro *start* pode ser especificado como um argumento nomeado." -#: ../../library/functions.rst:1746 +#: ../../library/functions.rst:1782 msgid "" "Return a proxy object that delegates method calls to a parent or sibling " "class of *type*. This is useful for accessing inherited methods that have " @@ -3228,7 +3276,7 @@ msgstr "" "irmão do *type*. Isso é útil para acessar métodos herdados que foram " "substituídos em uma classe." -#: ../../library/functions.rst:1750 +#: ../../library/functions.rst:1786 msgid "" "The *object_or_type* determines the :term:`method resolution order` to be " "searched. The search starts from the class right after the *type*." @@ -3236,29 +3284,29 @@ msgstr "" "O *object_or_type* determina a :term:`ordem de resolução de métodos` a ser " "pesquisada. A pesquisa inicia a partir da classe logo após o *type*." -#: ../../library/functions.rst:1754 +#: ../../library/functions.rst:1790 msgid "" -"For example, if :attr:`~class.__mro__` of *object_or_type* is ``D -> B -> C -" -"> A -> object`` and the value of *type* is ``B``, then :func:`super` " +"For example, if :attr:`~class.__mro__` of *object_or_type* is ``D -> B -> C " +"-> A -> object`` and the value of *type* is ``B``, then :func:`super` " "searches ``C -> A -> object``." msgstr "" -"Por exemplo, se :attr:`~class.__mro__` de *object_or_type* é ``D -> B -> C -" -"> A -> object`` e o valor de *type* é ``B``, então :func:`super` procura por " -"``C -> A -> object``." +"Por exemplo, se :attr:`~class.__mro__` de *object_or_type* é ``D -> B -> C " +"-> A -> object`` e o valor de *type* é ``B``, então :func:`super` procura " +"por ``C -> A -> object``." -#: ../../library/functions.rst:1758 +#: ../../library/functions.rst:1794 msgid "" "The :attr:`~class.__mro__` attribute of the *object_or_type* lists the " -"method resolution search order used by both :func:`getattr` and :func:" -"`super`. The attribute is dynamic and can change whenever the inheritance " -"hierarchy is updated." +"method resolution search order used by both :func:`getattr` " +"and :func:`super`. The attribute is dynamic and can change whenever the " +"inheritance hierarchy is updated." msgstr "" "O atributo :attr:`~class.__mro__` do *object_or_type* lista a ordem de " "pesquisa de resolução de método usada por :func:`getattr` e :func:`super`. O " "atributo é dinâmico e pode mudar sempre que a hierarquia da herança é " "atualizada." -#: ../../library/functions.rst:1763 +#: ../../library/functions.rst:1799 msgid "" "If the second argument is omitted, the super object returned is unbound. If " "the second argument is an object, ``isinstance(obj, type)`` must be true. " @@ -3270,7 +3318,7 @@ msgstr "" "verdadeiro. Se o segundo argumento é um tipo, ``issubclass(type2, type)`` " "deve ser verdadeiro (isto é útil para classmethods)." -#: ../../library/functions.rst:1768 +#: ../../library/functions.rst:1804 msgid "" "There are two typical use cases for *super*. In a class hierarchy with " "single inheritance, *super* can be used to refer to parent classes without " @@ -3278,11 +3326,11 @@ msgid "" "closely parallels the use of *super* in other programming languages." msgstr "" "Existem dois casos de uso típicos para *super*. Em uma hierarquia de classes " -"com herança única, *super* pode ser usado para se referir a classes-pai sem " +"com herança única, *super* pode ser usado para se referir a classes base sem " "nomeá-las explicitamente, tornando o código mais sustentável. Esse uso é " "paralelo ao uso de *super* em outras linguagens de programação." -#: ../../library/functions.rst:1773 +#: ../../library/functions.rst:1809 msgid "" "The second use case is to support cooperative multiple inheritance in a " "dynamic execution environment. This use case is unique to Python and is not " @@ -3305,12 +3353,12 @@ msgstr "" "e porque essa ordem pode incluir classes de irmãos desconhecidas antes do " "tempo de execução)." -#: ../../library/functions.rst:1783 +#: ../../library/functions.rst:1819 msgid "For both use cases, a typical superclass call looks like this::" msgstr "" "Nos dois casos de uso, uma chamada típica de superclasse se parece com isso::" -#: ../../library/functions.rst:1790 +#: ../../library/functions.rst:1826 msgid "" "In addition to method lookups, :func:`super` also works for attribute " "lookups. One possible use case for this is calling :term:`descriptors " @@ -3320,24 +3368,24 @@ msgstr "" "de atributo. Um possível caso de uso para isso é chamar :term:`descritores " "` em uma classe pai ou irmã." -#: ../../library/functions.rst:1794 +#: ../../library/functions.rst:1830 msgid "" "Note that :func:`super` is implemented as part of the binding process for " "explicit dotted attribute lookups such as ``super().__getitem__(name)``. It " -"does so by implementing its own :meth:`__getattribute__` method for " +"does so by implementing its own :meth:`~object.__getattribute__` method for " "searching classes in a predictable order that supports cooperative multiple " "inheritance. Accordingly, :func:`super` is undefined for implicit lookups " "using statements or operators such as ``super()[name]``." msgstr "" "Observe que :func:`super` é implementada como parte do processo de " -"vinculação para procura explícita de atributos com ponto, tal como ``super()." -"__getitem__(nome)``. Ela faz isso implementando seu próprio método :meth:" -"`__getattribute__` para pesquisar classes em uma ordem predizível que possui " -"suporte a herança múltipla cooperativa. Logo, :func:`super` não é definida " -"para procuras implícitas usando instruções ou operadores como ``super()" -"[name]``." +"vinculação para procura explícita de atributos com ponto, tal como " +"``super().__getitem__(nome)``. Ela faz isso implementando seu próprio " +"método :meth:`~object.__getattribute__` para pesquisar classes em uma ordem " +"predizível que possui suporte a herança múltipla cooperativa. " +"Logo, :func:`super` não é definida para procuras implícitas usando " +"instruções ou operadores como ``super()[name]``." -#: ../../library/functions.rst:1801 +#: ../../library/functions.rst:1838 msgid "" "Also note that, aside from the zero argument form, :func:`super` is not " "limited to use inside methods. The two argument form specifies the " @@ -3354,17 +3402,17 @@ msgstr "" "corretamente a classe que está sendo definida, além de acessar a instância " "atual para métodos comuns." -#: ../../library/functions.rst:1808 +#: ../../library/functions.rst:1845 msgid "" -"For practical suggestions on how to design cooperative classes using :func:" -"`super`, see `guide to using super() `_." +"For practical suggestions on how to design cooperative classes " +"using :func:`super`, see `guide to using super() `_." msgstr "" -"Para sugestões práticas sobre como projetar classes cooperativas usando :" -"func:`super`, consulte o `guia para uso de super() `_." +"Para sugestões práticas sobre como projetar classes cooperativas " +"usando :func:`super`, consulte o `guia para uso de super() `_." -#: ../../library/functions.rst:1818 +#: ../../library/functions.rst:1855 msgid "" "Rather than being a function, :class:`tuple` is actually an immutable " "sequence type, as documented in :ref:`typesseq-tuple` and :ref:`typesseq`." @@ -3372,17 +3420,17 @@ msgstr "" "Ao invés de ser uma função, :class:`tuple` é na verdade um tipo de sequência " "imutável, conforme documentado em :ref:`typesseq-tuple` e :ref:`typesseq`." -#: ../../library/functions.rst:1827 +#: ../../library/functions.rst:1864 msgid "" "With one argument, return the type of an *object*. The return value is a " -"type object and generally the same object as returned by :attr:`object." -"__class__ `." +"type object and generally the same object as returned " +"by :attr:`object.__class__ `." msgstr "" "Com um argumento, retorna o tipo de um *object*. O valor de retorno é um " -"tipo de objeto e geralmente o mesmo objeto retornado por :attr:`object." -"__class__ `." +"tipo de objeto e geralmente o mesmo objeto retornado " +"por :attr:`object.__class__ `." -#: ../../library/functions.rst:1831 +#: ../../library/functions.rst:1868 msgid "" "The :func:`isinstance` built-in function is recommended for testing the type " "of an object, because it takes subclasses into account." @@ -3390,17 +3438,17 @@ msgstr "" "A função embutida :func:`isinstance` é recomendada para testar o tipo de um " "objeto, porque ela leva sub-classes em consideração." -#: ../../library/functions.rst:1835 +#: ../../library/functions.rst:1872 msgid "" "With three arguments, return a new type object. This is essentially a " "dynamic form of the :keyword:`class` statement. The *name* string is the " "class name and becomes the :attr:`~definition.__name__` attribute. The " -"*bases* tuple contains the base classes and becomes the :attr:`~class." -"__bases__` attribute; if empty, :class:`object`, the ultimate base of all " -"classes, is added. The *dict* dictionary contains attribute and method " -"definitions for the class body; it may be copied or wrapped before becoming " -"the :attr:`~object.__dict__` attribute. The following two statements create " -"identical :class:`type` objects:" +"*bases* tuple contains the base classes and becomes " +"the :attr:`~class.__bases__` attribute; if empty, :class:`object`, the " +"ultimate base of all classes, is added. The *dict* dictionary contains " +"attribute and method definitions for the class body; it may be copied or " +"wrapped before becoming the :attr:`~object.__dict__` attribute. The " +"following two statements create identical :class:`type` objects:" msgstr "" "Com três argumentos, retorna um novo objeto type. Esta é essencialmente a " "forma dinâmica da instrução :keyword:`class`. A string *name* é o nome da " @@ -3408,15 +3456,15 @@ msgstr "" "contém as classes bases e se torna o atributo :attr:`~class.__bases__`; se " "vazio, :class:`object`, a base final de todas as classes é adicionada. O " "dicionário *dict* contém definições de atributo e método para o corpo da " -"classe; ele pode ser copiado ou envolto antes de se tornar o atributo :attr:" -"`~object.__dict__`. As duas instruções a seguir criam objetos :class:`type` " -"idênticos:" +"classe; ele pode ser copiado ou envolto antes de se tornar o " +"atributo :attr:`~object.__dict__`. As duas instruções a seguir criam " +"objetos :class:`type` idênticos:" -#: ../../library/functions.rst:1850 +#: ../../library/functions.rst:1887 msgid "See also :ref:`bltin-type-objects`." msgstr "Veja também :ref:`bltin-type-objects`." -#: ../../library/functions.rst:1852 +#: ../../library/functions.rst:1889 msgid "" "Keyword arguments provided to the three argument form are passed to the " "appropriate metaclass machinery (usually :meth:`~object.__init_subclass__`) " @@ -3424,24 +3472,23 @@ msgid "" "would." msgstr "" "Argumentos nomeados fornecidos para a forma de três argumentos são passados " -"para a máquina metaclasse apropriada (geralmente :meth:`~object." -"__init_subclass__`) da mesma forma que palavras-chave em uma definição de " -"classe (além de *metaclasse*) fariam." +"para a máquina metaclasse apropriada " +"(geralmente :meth:`~object.__init_subclass__`) da mesma forma que palavras-" +"chave em uma definição de classe (além de *metaclasse*) fariam." -#: ../../library/functions.rst:1857 +#: ../../library/functions.rst:1894 msgid "See also :ref:`class-customization`." msgstr "Veja também :ref:`class-customization`." -#: ../../library/functions.rst:1859 +#: ../../library/functions.rst:1896 msgid "" "Subclasses of :class:`type` which don't override ``type.__new__`` may no " "longer use the one-argument form to get the type of an object." msgstr "" -"Subclasses de :class:`type` que não fazem sobrecarga de ``type.__new__`` não " -"podem mais usar a forma com apenas um argumento para obter o tipo de um " -"objeto." +"Subclasses de :class:`type` que não substituem ``type.__new__`` não podem " +"mais usar a forma com apenas um argumento para obter o tipo de um objeto." -#: ../../library/functions.rst:1866 +#: ../../library/functions.rst:1903 msgid "" "Return the :attr:`~object.__dict__` attribute for a module, class, instance, " "or any other object with a :attr:`~object.__dict__` attribute." @@ -3449,19 +3496,21 @@ msgstr "" "Retorna o atributo :attr:`~object.__dict__` para um módulo, classe, " "instância, or qualquer outro objeto com um atributo :attr:`~object.__dict__`." -#: ../../library/functions.rst:1869 +#: ../../library/functions.rst:1906 msgid "" -"Objects such as modules and instances have an updateable :attr:`~object." -"__dict__` attribute; however, other objects may have write restrictions on " -"their :attr:`~object.__dict__` attributes (for example, classes use a :class:" -"`types.MappingProxyType` to prevent direct dictionary updates)." +"Objects such as modules and instances have an " +"updateable :attr:`~object.__dict__` attribute; however, other objects may " +"have write restrictions on their :attr:`~object.__dict__` attributes (for " +"example, classes use a :class:`types.MappingProxyType` to prevent direct " +"dictionary updates)." msgstr "" -"Objetos como modelos e instâncias têm um atributo atualizável :attr:`~object." -"__dict__`; porém, outros projetos podem ter restrições de escrita em seus " -"atributos :attr:`~object.__dict__` (por exemplo, classes usam um :class:" -"`types.MappingProxyType` para prevenir atualizações diretas a dicionário)." +"Objetos como modelos e instâncias têm um atributo " +"atualizável :attr:`~object.__dict__`; porém, outros projetos podem ter " +"restrições de escrita em seus atributos :attr:`~object.__dict__` (por " +"exemplo, classes usam um :class:`types.MappingProxyType` para prevenir " +"atualizações diretas a dicionário)." -#: ../../library/functions.rst:1874 +#: ../../library/functions.rst:1911 msgid "" "Without an argument, :func:`vars` acts like :func:`locals`. Note, the " "locals dictionary is only useful for reads since updates to the locals " @@ -3471,7 +3520,7 @@ msgstr "" "dicionário locals é apenas útil para leitura, pelo fato de alterações no " "dicionário locals serem ignoradas." -#: ../../library/functions.rst:1878 +#: ../../library/functions.rst:1915 msgid "" "A :exc:`TypeError` exception is raised if an object is specified but it " "doesn't have a :attr:`~object.__dict__` attribute (for example, if its class " @@ -3481,7 +3530,7 @@ msgstr "" "ela não tem um atributo :attr:`~object.__dict__` (por exemplo, se sua classe " "define o atributo :attr:`~object.__slots__`)." -#: ../../library/functions.rst:1884 +#: ../../library/functions.rst:1921 msgid "" "Iterate over several iterables in parallel, producing tuples with an item " "from each one." @@ -3489,11 +3538,11 @@ msgstr "" "Itera sobre vários iteráveis em paralelo, produzindo tuplas com um item de " "cada um." -#: ../../library/functions.rst:1887 +#: ../../library/functions.rst:1924 msgid "Example::" msgstr "Exemplo::" -#: ../../library/functions.rst:1896 +#: ../../library/functions.rst:1933 msgid "" "More formally: :func:`zip` returns an iterator of tuples, where the *i*-th " "tuple contains the *i*-th element from each of the argument iterables." @@ -3502,27 +3551,27 @@ msgstr "" "ésima tupla contém o *i*-ésimo elemento de cada um dos iteráveis do " "argumento." -#: ../../library/functions.rst:1899 +#: ../../library/functions.rst:1936 msgid "" "Another way to think of :func:`zip` is that it turns rows into columns, and " -"columns into rows. This is similar to `transposing a matrix `_." +"columns into rows. This is similar to `transposing a matrix `_." msgstr "" "Outra maneira de pensar em :func:`zip` é que ela transforma linhas em " "colunas e colunas em linhas. Isso é semelhante a `transpor uma matriz " "`_." -#: ../../library/functions.rst:1903 +#: ../../library/functions.rst:1940 msgid "" ":func:`zip` is lazy: The elements won't be processed until the iterable is " -"iterated on, e.g. by a :keyword:`!for` loop or by wrapping in a :class:" -"`list`." +"iterated on, e.g. by a :keyword:`!for` loop or by wrapping in " +"a :class:`list`." msgstr "" ":func:`zip` é preguiçoso: Os elementos não serão processados até que o " -"iterável seja iterado. Por exemplo, por um loop :keyword:`!for` ou por um :" -"class:`list`." +"iterável seja iterado. Por exemplo, por um loop :keyword:`!for` ou por " +"um :class:`list`." -#: ../../library/functions.rst:1907 +#: ../../library/functions.rst:1944 msgid "" "One thing to consider is that the iterables passed to :func:`zip` could have " "different lengths; sometimes by design, and sometimes because of a bug in " @@ -3534,7 +3583,7 @@ msgstr "" "bug no código que preparou esses iteráveis. Python oferece três abordagens " "diferentes para lidar com esse problema:" -#: ../../library/functions.rst:1912 +#: ../../library/functions.rst:1949 msgid "" "By default, :func:`zip` stops when the shortest iterable is exhausted. It " "will ignore the remaining items in the longer iterables, cutting off the " @@ -3544,7 +3593,7 @@ msgstr "" "ignorar os itens restantes nos iteráveis mais longos, cortando o resultado " "para o comprimento do iterável mais curto::" -#: ../../library/functions.rst:1919 +#: ../../library/functions.rst:1956 msgid "" ":func:`zip` is often used in cases where the iterables are assumed to be of " "equal length. In such cases, it's recommended to use the ``strict=True`` " @@ -3554,15 +3603,15 @@ msgstr "" "considerados de tamanho igual. Nesses casos, é recomendado usar a opção " "``strict=True``. Sua saída é a mesma do :func:`zip`:: normal" -#: ../../library/functions.rst:1926 +#: ../../library/functions.rst:1963 msgid "" "Unlike the default behavior, it raises a :exc:`ValueError` if one iterable " "is exhausted before the others:" msgstr "" -"Ao contrário do comportamento padrão, ele levanta uma exceção :exc:" -"`ValueError` se um iterável for esgotado antes dos outros:" +"Ao contrário do comportamento padrão, ele levanta uma " +"exceção :exc:`ValueError` se um iterável for esgotado antes dos outros:" -#: ../../library/functions.rst:1944 +#: ../../library/functions.rst:1981 msgid "" "Without the ``strict=True`` argument, any bug that results in iterables of " "different lengths will be silenced, possibly manifesting as a hard-to-find " @@ -3572,17 +3621,17 @@ msgstr "" "diferentes comprimentos será silenciado, possivelmente se manifestando como " "um bug difícil de encontrar em outra parte do programa." -#: ../../library/functions.rst:1948 +#: ../../library/functions.rst:1985 msgid "" "Shorter iterables can be padded with a constant value to make all the " -"iterables have the same length. This is done by :func:`itertools." -"zip_longest`." +"iterables have the same length. This is done " +"by :func:`itertools.zip_longest`." msgstr "" "Iteráveis mais curtos podem ser preenchidos com um valor constante para " "fazer com que todos os iteráveis tenham o mesmo comprimento. Isso é feito " "por :func:`itertools.zip_longest`." -#: ../../library/functions.rst:1952 +#: ../../library/functions.rst:1989 msgid "" "Edge cases: With a single iterable argument, :func:`zip` returns an iterator " "of 1-tuples. With no arguments, it returns an empty iterator." @@ -3590,11 +3639,11 @@ msgstr "" "Casos extremos: Com um único argumento iterável, :func:`zip` retorna um " "iterador de tuplas de um elemento. Sem argumentos, retorna um iterador vazio." -#: ../../library/functions.rst:1955 +#: ../../library/functions.rst:1992 msgid "Tips and tricks:" msgstr "Dicas e truques:" -#: ../../library/functions.rst:1957 +#: ../../library/functions.rst:1994 msgid "" "The left-to-right evaluation order of the iterables is guaranteed. This " "makes possible an idiom for clustering a data series into n-length groups " @@ -3609,7 +3658,7 @@ msgstr "" "de chamadas ``n`` para o iterador. Isso tem o efeito de dividir a entrada em " "pedaços de n comprimentos." -#: ../../library/functions.rst:1963 +#: ../../library/functions.rst:2000 msgid "" ":func:`zip` in conjunction with the ``*`` operator can be used to unzip a " "list::" @@ -3617,11 +3666,11 @@ msgstr "" ":func:`zip` em conjunto com o operador ``*`` pode ser usado para " "descompactar uma lista::" -#: ../../library/functions.rst:1974 +#: ../../library/functions.rst:2011 msgid "Added the ``strict`` argument." msgstr "Adicionado o argumento ``strict``." -#: ../../library/functions.rst:1986 +#: ../../library/functions.rst:2023 msgid "" "This is an advanced function that is not needed in everyday Python " "programming, unlike :func:`importlib.import_module`." @@ -3629,7 +3678,7 @@ msgstr "" "Esta é uma função avançada que não é necessária na programação diária do " "Python, ao contrário de :func:`importlib.import_module`." -#: ../../library/functions.rst:1989 +#: ../../library/functions.rst:2026 msgid "" "This function is invoked by the :keyword:`import` statement. It can be " "replaced (by importing the :mod:`builtins` module and assigning to " @@ -3641,15 +3690,16 @@ msgid "" "discouraged in favor of :func:`importlib.import_module`." msgstr "" "Esta função é chamada pela instrução :keyword:`import`. Ela pode ser " -"substituída (importando o módulo :mod:`builtins` e atribuindo a ``builtins." -"__import__``) para alterar a semântica da instrução :keyword:`!import`, mas " -"isso é **fortemente** desencorajado, pois geralmente é mais simples usar " -"ganchos de importação (consulte :pep:`302`) para atingir os mesmos objetivos " -"e não causa problemas com o código que pressupõe que a implementação de " -"importação padrão esteja em uso. O uso direto de :func:`__import__` também é " -"desencorajado em favor de :func:`importlib.import_module`." +"substituída (importando o módulo :mod:`builtins` e atribuindo a " +"``builtins.__import__``) para alterar a semântica da instrução :keyword:`!" +"import`, mas isso é **fortemente** desencorajado, pois geralmente é mais " +"simples usar ganchos de importação (consulte :pep:`302`) para atingir os " +"mesmos objetivos e não causa problemas com o código que pressupõe que a " +"implementação de importação padrão esteja em uso. O uso direto " +"de :func:`__import__` também é desencorajado em favor " +"de :func:`importlib.import_module`." -#: ../../library/functions.rst:1998 +#: ../../library/functions.rst:2035 msgid "" "The function imports the module *name*, potentially using the given " "*globals* and *locals* to determine how to interpret the name in a package " @@ -3665,7 +3715,7 @@ msgstr "" "seu argumento *locals* e usa seus *globals* apenas para determinar o " "contexto do pacote da instrução :keyword:`import`." -#: ../../library/functions.rst:2005 +#: ../../library/functions.rst:2042 msgid "" "*level* specifies whether to use absolute or relative imports. ``0`` (the " "default) means only perform absolute imports. Positive values for *level* " @@ -3679,31 +3729,31 @@ msgstr "" "pesquisados em relação ao diretório do módulo que chama :func:`__import__` " "(consulte :pep:`328` para obter detalhes)." -#: ../../library/functions.rst:2011 +#: ../../library/functions.rst:2048 msgid "" "When the *name* variable is of the form ``package.module``, normally, the " "top-level package (the name up till the first dot) is returned, *not* the " "module named by *name*. However, when a non-empty *fromlist* argument is " "given, the module named by *name* is returned." msgstr "" -"Quando a variável *name* está no formato ``package.module``, normalmente, o " +"Quando a variável *name* está no formato ``pacote.módulo``, normalmente, o " "pacote de nível superior (o nome até o primeiro ponto) é retornado, *não* o " "módulo nomeado por *name*. No entanto, quando um argumento *fromlist* não " "vazio é fornecido, o módulo nomeado por *name* é retornado." -#: ../../library/functions.rst:2016 +#: ../../library/functions.rst:2053 msgid "" "For example, the statement ``import spam`` results in bytecode resembling " "the following code::" msgstr "" -"Por exemplo, a instrução ``importar spam`` resulta em bytecode semelhante ao " +"Por exemplo, a instrução ``import spam`` resulta em bytecode semelhante ao " "seguinte código::" -#: ../../library/functions.rst:2021 +#: ../../library/functions.rst:2058 msgid "The statement ``import spam.ham`` results in this call::" -msgstr "A instrução ``import spam.ham`` resulta nesta chamada::" +msgstr "A instrução ``import spam.presunto`` resulta nesta chamada::" -#: ../../library/functions.rst:2025 +#: ../../library/functions.rst:2062 msgid "" "Note how :func:`__import__` returns the toplevel module here because this is " "the object that is bound to a name by the :keyword:`import` statement." @@ -3711,15 +3761,15 @@ msgstr "" "Observe como :func:`__import__` retorna o módulo de nível superior aqui, " "porque este é o objeto vinculado a um nome pela instrução :keyword:`import`." -#: ../../library/functions.rst:2028 +#: ../../library/functions.rst:2065 msgid "" "On the other hand, the statement ``from spam.ham import eggs, sausage as " "saus`` results in ::" msgstr "" -"Por outro lado, a instrução ``from spam.ham import eggs, sausage as saus`` " -"resulta em ::" +"Por outro lado, a instrução ``from spam.presunto import ovos, salsicha as " +"sals`` resulta em ::" -#: ../../library/functions.rst:2035 +#: ../../library/functions.rst:2072 msgid "" "Here, the ``spam.ham`` module is returned from :func:`__import__`. From " "this object, the names to import are retrieved and assigned to their " @@ -3729,7 +3779,7 @@ msgstr "" "desse objeto, os nomes a serem importados são recuperados e atribuídos aos " "seus respectivos nomes." -#: ../../library/functions.rst:2039 +#: ../../library/functions.rst:2076 msgid "" "If you simply want to import a module (potentially within a package) by " "name, use :func:`importlib.import_module`." @@ -3737,7 +3787,7 @@ msgstr "" "Se você simplesmente deseja importar um módulo (potencialmente dentro de um " "pacote) pelo nome, use :func:`importlib.import_module`." -#: ../../library/functions.rst:2042 +#: ../../library/functions.rst:2079 msgid "" "Negative values for *level* are no longer supported (which also changes the " "default value to 0)." @@ -3745,7 +3795,7 @@ msgstr "" "Valores negativos para *level* não são mais suportados (o que também altera " "o valor padrão para 0)." -#: ../../library/functions.rst:2046 +#: ../../library/functions.rst:2083 msgid "" "When the command line options :option:`-E` or :option:`-I` are being used, " "the environment variable :envvar:`PYTHONCASEOK` is now ignored." @@ -3753,11 +3803,11 @@ msgstr "" "Quando as opções de linha de comando :option:`-E` ou :option:`-I` estão " "sendo usadas, a variável de ambiente :envvar:`PYTHONCASEOK` é agora ignorada." -#: ../../library/functions.rst:2051 +#: ../../library/functions.rst:2088 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/functions.rst:2052 +#: ../../library/functions.rst:2089 msgid "" "Note that the parser only accepts the Unix-style end of line convention. If " "you are reading the code from a file, make sure to use newline conversion " @@ -3767,110 +3817,110 @@ msgstr "" "no estilo Unix. Se você estiver lendo o código de um arquivo, use o modo de " "conversão de nova linha para converter novas linhas no estilo Windows ou Mac." -#: ../../library/functions.rst:152 +#: ../../library/functions.rst:153 msgid "Boolean" msgstr "Booleano" -#: ../../library/functions.rst:152 ../../library/functions.rst:1825 +#: ../../library/functions.rst:153 ../../library/functions.rst:1862 msgid "type" msgstr "tipo" -#: ../../library/functions.rst:564 +#: ../../library/functions.rst:575 msgid "built-in function" msgstr "função embutida" -#: ../../library/functions.rst:564 +#: ../../library/functions.rst:575 msgid "exec" msgstr "exec" -#: ../../library/functions.rst:641 +#: ../../library/functions.rst:652 msgid "NaN" msgstr "NaN" -#: ../../library/functions.rst:641 +#: ../../library/functions.rst:652 msgid "Infinity" -msgstr "Infinito" +msgstr "Infinity" -#: ../../library/functions.rst:706 +#: ../../library/functions.rst:716 msgid "__format__" msgstr "__format__" -#: ../../library/functions.rst:706 ../../library/functions.rst:1714 +#: ../../library/functions.rst:716 ../../library/functions.rst:1750 msgid "string" msgstr "string" -#: ../../library/functions.rst:706 +#: ../../library/functions.rst:716 msgid "format() (built-in function)" msgstr "format() (função embutida)" -#: ../../library/functions.rst:1153 +#: ../../library/functions.rst:1164 msgid "file object" msgstr "objeto arquivo" -#: ../../library/functions.rst:1153 ../../library/functions.rst:1274 +#: ../../library/functions.rst:1164 ../../library/functions.rst:1285 msgid "open() built-in function" msgstr "função embutida open()" -#: ../../library/functions.rst:1181 +#: ../../library/functions.rst:1192 msgid "file" msgstr "arquivo" -#: ../../library/functions.rst:1181 +#: ../../library/functions.rst:1192 msgid "modes" msgstr "modos" -#: ../../library/functions.rst:1274 +#: ../../library/functions.rst:1285 msgid "universal newlines" msgstr "novas linhas universais" -#: ../../library/functions.rst:1335 +#: ../../library/functions.rst:1346 msgid "line-buffered I/O" -msgstr "" +msgstr "E/S com buffer de linha" -#: ../../library/functions.rst:1335 +#: ../../library/functions.rst:1346 msgid "unbuffered I/O" -msgstr "" +msgstr "E/S sem buffer" -#: ../../library/functions.rst:1335 +#: ../../library/functions.rst:1346 msgid "buffer size, I/O" -msgstr "" +msgstr "buffer, tamanho, E/S" -#: ../../library/functions.rst:1335 +#: ../../library/functions.rst:1346 msgid "I/O control" -msgstr "" +msgstr "controle de E/S" -#: ../../library/functions.rst:1335 +#: ../../library/functions.rst:1346 msgid "buffering" -msgstr "" +msgstr "buffering" -#: ../../library/functions.rst:1335 +#: ../../library/functions.rst:1346 msgid "text mode" -msgstr "" +msgstr "texto, modo" -#: ../../library/functions.rst:1335 ../../library/functions.rst:1980 +#: ../../library/functions.rst:1346 ../../library/functions.rst:2017 msgid "module" msgstr "módulo" -#: ../../library/functions.rst:1335 +#: ../../library/functions.rst:1346 msgid "sys" msgstr "sys" -#: ../../library/functions.rst:1714 +#: ../../library/functions.rst:1750 msgid "str() (built-in function)" -msgstr "" +msgstr "str() (função embutida)" -#: ../../library/functions.rst:1825 +#: ../../library/functions.rst:1862 msgid "object" msgstr "objeto" -#: ../../library/functions.rst:1980 +#: ../../library/functions.rst:2017 msgid "statement" msgstr "instrução" -#: ../../library/functions.rst:1980 +#: ../../library/functions.rst:2017 msgid "import" -msgstr "" +msgstr "import" -#: ../../library/functions.rst:1980 +#: ../../library/functions.rst:2017 msgid "builtins" msgstr "builtins" diff --git a/library/functools.po b/library/functools.po index c12fefe27..c77cb9c7c 100644 --- a/library/functools.po +++ b/library/functools.po @@ -1,29 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Italo Penaforte , 2021 -# Adorilson Bezerra , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -65,15 +62,15 @@ msgstr "" msgid "" "Returns the same as ``lru_cache(maxsize=None)``, creating a thin wrapper " "around a dictionary lookup for the function arguments. Because it never " -"needs to evict old values, this is smaller and faster than :func:" -"`lru_cache()` with a size limit." +"needs to evict old values, this is smaller and faster " +"than :func:`lru_cache()` with a size limit." msgstr "" "Retorna o mesmo que ``lru_cache(maxsize=None)``, criando um invólucro fino " "em torno de uma pesquisa de dicionário para os argumentos da função. Como " -"nunca precisa remover valores antigos, isso é menor e mais rápido do que :" -"func:`lru_cache()` com um limite de tamanho." +"nunca precisa remover valores antigos, isso é menor e mais rápido do " +"que :func:`lru_cache()` com um limite de tamanho." -#: ../../library/functools.rst:39 ../../library/functools.rst:275 +#: ../../library/functools.rst:39 ../../library/functools.rst:276 msgid "For example::" msgstr "Por exemplo::" @@ -83,6 +80,9 @@ msgid "" "threads. This means that the underlying data structure will remain coherent " "during concurrent updates." msgstr "" +"O cache é seguro para thread, permitindo que a função encapsulada seja usada " +"em múltiplas threads. Isso significa que a estrutura de dados subjacente " +"permanecerá coerente durante atualizações simultâneas." #: ../../library/functools.rst:56 ../../library/functools.rst:147 msgid "" @@ -90,6 +90,9 @@ msgid "" "another thread makes an additional call before the initial call has been " "completed and cached." msgstr "" +"É possível que a função encapsulada seja chamada mais de uma vez se outra " +"thread fizer uma chamada adicional antes que a chamada inicial seja " +"concluída e armazenada em cache." #: ../../library/functools.rst:65 msgid "" @@ -105,16 +108,20 @@ msgstr "" "instâncias que são efetivamente imutáveis." #: ../../library/functools.rst:70 ../../library/functools.rst:127 -#: ../../library/functools.rst:367 +#: ../../library/functools.rst:368 msgid "Example::" msgstr "Exemplo::" #: ../../library/functools.rst:81 msgid "" -"The mechanics of :func:`cached_property` are somewhat different from :func:" -"`property`. A regular property blocks attribute writes unless a setter is " -"defined. In contrast, a *cached_property* allows writes." +"The mechanics of :func:`cached_property` are somewhat different " +"from :func:`property`. A regular property blocks attribute writes unless a " +"setter is defined. In contrast, a *cached_property* allows writes." msgstr "" +"A mecânica de :func:`cached_property` difere um pouco da " +"de :func:`property`. Uma propriedade comum bloqueia a escrita de atributos, " +"a menos que um método setter seja definido. Em contraste, uma " +"*cached_property* permite escritas." #: ../../library/functools.rst:85 msgid "" @@ -124,12 +131,19 @@ msgid "" "attribute reads and writes take precedence over the *cached_property* method " "and it works like a normal attribute." msgstr "" +"O decorador *cached_property* só é executado em pesquisas e apenas quando um " +"atributo com o mesmo nome não existe. Quando executado, o *cached_property* " +"escreve no atributo com o mesmo nome. Leituras e escritas subsequentes do " +"atributo têm precedência sobre o método *cached_property* e ele funciona " +"como um atributo normal." #: ../../library/functools.rst:91 msgid "" "The cached value can be cleared by deleting the attribute. This allows the " "*cached_property* method to run again." msgstr "" +"O valor em cache pode ser apagado excluindo o atributo. Isso permite que o " +"método *cached_property* seja executado novamente." #: ../../library/functools.rst:94 msgid "" @@ -137,6 +151,9 @@ msgid "" "dictionaries. This means that instance dictionaries can take more space " "than usual." msgstr "" +"Observe que este decorador interfere com a operação dos dicionários que " +"compartilham chaves da :pep:`412`. Isso significa que os dicionários de " +"instância podem ocupar mais espaço do que o normal." #: ../../library/functools.rst:98 msgid "" @@ -153,26 +170,24 @@ msgid "" "If a mutable mapping is not available or if space-efficient key sharing is " "desired, an effect similar to :func:`cached_property` can also be achieved " "by stacking :func:`property` on top of :func:`lru_cache`. See :ref:`faq-" -"cache-method-calls` for more details on how this differs from :func:" -"`cached_property`." +"cache-method-calls` for more details on how this differs " +"from :func:`cached_property`." msgstr "" #: ../../library/functools.rst:115 msgid "" "Transform an old-style comparison function to a :term:`key function`. Used " -"with tools that accept key functions (such as :func:`sorted`, :func:`min`, :" -"func:`max`, :func:`heapq.nlargest`, :func:`heapq.nsmallest`, :func:" -"`itertools.groupby`). This function is primarily used as a transition tool " -"for programs being converted from Python 2 which supported the use of " -"comparison functions." +"with tools that accept key functions (such " +"as :func:`sorted`, :func:`min`, :func:`max`, :func:`heapq.nlargest`, :func:`heapq.nsmallest`, :func:`itertools.groupby`). " +"This function is primarily used as a transition tool for programs being " +"converted from Python 2 which supported the use of comparison functions." msgstr "" "Transforma uma função de comparação de estilo antigo para um :term:`função " "chave `. Usado com ferramentas que aceitam funções chave " -"(como :func:`sorted`, :func:`min`, :func:`max`, :func:`heapq.nlargest`, :" -"func:`heapq.nsmallest`, :func:`itertools.groupby`). Esta função é usada " -"principalmente como uma ferramenta de transição para programas que estão " -"sendo convertidos a partir do Python 2, que suportou o uso de funções de " -"comparação." +"(como :func:`sorted`, :func:`min`, :func:`max`, :func:`heapq.nlargest`, :func:`heapq.nsmallest`, :func:`itertools.groupby`). " +"Esta função é usada principalmente como uma ferramenta de transição para " +"programas que estão sendo convertidos a partir do Python 2, que suportou o " +"uso de funções de comparação." #: ../../library/functools.rst:122 msgid "" @@ -186,8 +201,8 @@ msgstr "" msgid "" "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." msgstr "" -"Para exemplos de classificação e um breve tutorial de classificação, veja :" -"ref:`sortinghowto`." +"Para exemplos de classificação e um breve tutorial de classificação, " +"veja :ref:`sortinghowto`." #: ../../library/functools.rst:139 msgid "" @@ -250,15 +265,11 @@ msgstr "" #: ../../library/functools.rst:182 msgid "" -"The wrapped function is instrumented with a :func:`cache_parameters` " +"The wrapped function is instrumented with a :func:`!cache_parameters` " "function that returns a new :class:`dict` showing the values for *maxsize* " "and *typed*. This is for information purposes only. Mutating the values " "has no effect." msgstr "" -"A função envolta é instrumentada com uma função :func:`cache_parameters` que " -"retorna um novo :class:`dict` mostrando os valores para *maxsize* e " -"*digitado*. Este é apenas para fins informativos. A alteração dos valores " -"não tem efeito." #: ../../library/functools.rst:187 msgid "" @@ -278,13 +289,13 @@ msgstr "" #: ../../library/functools.rst:195 msgid "" -"The original underlying function is accessible through the :attr:" -"`__wrapped__` attribute. This is useful for introspection, for bypassing " -"the cache, or for rewrapping the function with a different cache." +"The original underlying function is accessible through " +"the :attr:`__wrapped__` attribute. This is useful for introspection, for " +"bypassing the cache, or for rewrapping the function with a different cache." msgstr "" -"A função subjacente original é acessível através do atributo :attr:" -"`__wrapped__`. Isso é útil para introspecção, para ignorar o cache, ou para " -"reinstalar a função com um cache diferente." +"A função subjacente original é acessível através do " +"atributo :attr:`__wrapped__`. Isso é útil para introspecção, para ignorar o " +"cache, ou para reinstalar a função com um cache diferente." #: ../../library/functools.rst:199 msgid "" @@ -320,56 +331,53 @@ msgid "" "In general, the LRU cache should only be used when you want to reuse " "previously computed values. Accordingly, it doesn't make sense to cache " "functions with side-effects, functions that need to create distinct mutable " -"objects on each call, or impure functions such as time() or random()." +"objects on each call (such as generators and async functions), or impure " +"functions such as time() or random()." msgstr "" -"Em geral, o cache LRU deve ser usado somente quando você deseja reutilizar " -"valores calculados anteriormente. Da mesma forma, não faz sentido armazenar " -"em cache funções com efeitos colaterais, funções que precisam criar objetos " -"mutáveis distintos em cada chamada ou funções impuras, como time() ou " -"random()." -#: ../../library/functools.rst:217 +#: ../../library/functools.rst:218 msgid "Example of an LRU cache for static web content::" msgstr "Exemplo de um cache LRU para conteúdo web estático::" -#: ../../library/functools.rst:236 +#: ../../library/functools.rst:237 msgid "" -"Example of efficiently computing `Fibonacci numbers `_ using a cache to implement a `dynamic " -"programming `_ technique::" +"Example of efficiently computing `Fibonacci numbers `_ using a cache to implement a " +"`dynamic programming `_ " +"technique::" msgstr "" -"Exemplo de computação eficiente dos `números Fibonacci `_ usando um cache para implementar uma " -"`programação dinâmica `_ " -"técnica::" +"Exemplo de computação eficiente dos `números Fibonacci `_ usando um cache para " +"implementar uma `programação dinâmica `_ técnica::" -#: ../../library/functools.rst:256 +#: ../../library/functools.rst:257 msgid "Added the *typed* option." msgstr "Adicionada a opção *typed*." -#: ../../library/functools.rst:259 +#: ../../library/functools.rst:260 msgid "Added the *user_function* option." msgstr "Adicionada a opção *user_function*." -#: ../../library/functools.rst:262 -msgid "Added the function :func:`cache_parameters`" -msgstr "Adicionada a função :func:`cache_parameters`" +#: ../../library/functools.rst:263 +msgid "Added the function :func:`!cache_parameters`" +msgstr "" -#: ../../library/functools.rst:267 +#: ../../library/functools.rst:268 msgid "" "Given a class defining one or more rich comparison ordering methods, this " "class decorator supplies the rest. This simplifies the effort involved in " "specifying all of the possible rich comparison operations:" msgstr "" -#: ../../library/functools.rst:271 +#: ../../library/functools.rst:272 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." msgstr "" -#: ../../library/functools.rst:295 +#: ../../library/functools.rst:296 msgid "" "While this decorator makes it easy to create well behaved totally ordered " "types, it *does* come at the cost of slower execution and more complex stack " @@ -378,7 +386,7 @@ msgid "" "rich comparison methods instead is likely to provide an easy speed boost." msgstr "" -#: ../../library/functools.rst:304 +#: ../../library/functools.rst:305 msgid "" "This decorator makes no attempt to override methods that have been declared " "in the class *or its superclasses*. Meaning that if a superclass defines a " @@ -386,13 +394,13 @@ msgid "" "the original method is abstract." msgstr "" -#: ../../library/functools.rst:311 +#: ../../library/functools.rst:312 msgid "" "Returning NotImplemented from the underlying comparison function for " "unrecognised types is now supported." msgstr "" -#: ../../library/functools.rst:317 +#: ../../library/functools.rst:318 msgid "" "Return a new :ref:`partial object` which when called will " "behave like *func* called with the positional arguments *args* and keyword " @@ -401,7 +409,7 @@ msgid "" "extend and override *keywords*. Roughly equivalent to::" msgstr "" -#: ../../library/functools.rst:333 +#: ../../library/functools.rst:334 msgid "" "The :func:`partial` is used for partial function application which " "\"freezes\" some portion of a function's arguments and/or keywords resulting " @@ -410,38 +418,38 @@ msgid "" "where the *base* argument defaults to two:" msgstr "" -#: ../../library/functools.rst:348 +#: ../../library/functools.rst:349 msgid "" -"Return a new :class:`partialmethod` descriptor which behaves like :class:" -"`partial` except that it is designed to be used as a method definition " -"rather than being directly callable." +"Return a new :class:`partialmethod` descriptor which behaves " +"like :class:`partial` except that it is designed to be used as a method " +"definition rather than being directly callable." msgstr "" -#: ../../library/functools.rst:352 +#: ../../library/functools.rst:353 msgid "" "*func* must be a :term:`descriptor` or a callable (objects which are both, " "like normal functions, are handled as descriptors)." msgstr "" -#: ../../library/functools.rst:355 +#: ../../library/functools.rst:356 msgid "" -"When *func* is a descriptor (such as a normal Python function, :func:" -"`classmethod`, :func:`staticmethod`, :func:`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." +"When *func* is a descriptor (such as a normal Python " +"function, :func:`classmethod`, :func:`staticmethod`, :func:`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." msgstr "" -#: ../../library/functools.rst:361 +#: ../../library/functools.rst:362 msgid "" "When *func* is a non-descriptor callable, an appropriate bound method is " "created dynamically. This behaves like a normal Python function when used as " "a method: the *self* argument will be inserted as the first positional " -"argument, even before the *args* and *keywords* supplied to the :class:" -"`partialmethod` constructor." +"argument, even before the *args* and *keywords* supplied to " +"the :class:`partialmethod` constructor." msgstr "" -#: ../../library/functools.rst:392 +#: ../../library/functools.rst:393 msgid "" "Apply *function* of two arguments cumulatively to the items of *iterable*, " "from left to right, so as to reduce the iterable to a single value. For " @@ -454,30 +462,30 @@ msgid "" "the first item is returned." msgstr "" -#: ../../library/functools.rst:401 +#: ../../library/functools.rst:402 msgid "Roughly equivalent to::" msgstr "Aproximadamente equivalente a::" -#: ../../library/functools.rst:413 +#: ../../library/functools.rst:414 msgid "" "See :func:`itertools.accumulate` for an iterator that yields all " "intermediate values." msgstr "" -#: ../../library/functools.rst:418 +#: ../../library/functools.rst:419 msgid "" -"Transform a function into a :term:`single-dispatch ` :term:" -"`generic function`." +"Transform a function into a :term:`single-dispatch ` :term:`generic function`." msgstr "" -#: ../../library/functools.rst:421 +#: ../../library/functools.rst:422 msgid "" "To define a generic function, decorate it with the ``@singledispatch`` " "decorator. When defining a function using ``@singledispatch``, note that the " "dispatch happens on the type of the first argument::" msgstr "" -#: ../../library/functools.rst:432 +#: ../../library/functools.rst:433 msgid "" "To add overloaded implementations to the function, use the :func:`register` " "attribute of the generic function, which can be used as a decorator. For " @@ -485,80 +493,80 @@ msgid "" "first argument automatically::" msgstr "" -#: ../../library/functools.rst:450 +#: ../../library/functools.rst:451 msgid ":data:`types.UnionType` and :data:`typing.Union` can also be used::" msgstr "" -#: ../../library/functools.rst:467 +#: ../../library/functools.rst:468 msgid "" "For code which doesn't use type annotations, the appropriate type argument " "can be passed explicitly to the decorator itself::" msgstr "" -#: ../../library/functools.rst:478 +#: ../../library/functools.rst:479 msgid "" "To enable registering :term:`lambdas` and pre-existing functions, " "the :func:`register` attribute can also be used in a functional form::" msgstr "" -#: ../../library/functools.rst:486 +#: ../../library/functools.rst:487 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::" msgstr "" -#: ../../library/functools.rst:500 +#: ../../library/functools.rst:501 msgid "" "When called, the generic function dispatches on the type of the first " "argument::" msgstr "" -#: ../../library/functools.rst:520 +#: ../../library/functools.rst:521 msgid "" "Where there is no registered implementation for a specific type, its method " "resolution order is used to find a more generic implementation. The original " -"function decorated with ``@singledispatch`` is registered for the base :" -"class:`object` type, which means it is used if no better implementation is " -"found." +"function decorated with ``@singledispatch`` is registered for the " +"base :class:`object` type, which means it is used if no better " +"implementation is found." msgstr "" -#: ../../library/functools.rst:526 +#: ../../library/functools.rst:527 msgid "" "If an implementation is registered to an :term:`abstract base class`, " "virtual subclasses of the base class will be dispatched to that " "implementation::" msgstr "" -#: ../../library/functools.rst:541 +#: ../../library/functools.rst:542 msgid "" "To check which implementation the generic function will choose for a given " "type, use the ``dispatch()`` attribute::" msgstr "" -#: ../../library/functools.rst:549 +#: ../../library/functools.rst:550 msgid "" "To access all registered implementations, use the read-only ``registry`` " "attribute::" msgstr "" -#: ../../library/functools.rst:563 +#: ../../library/functools.rst:564 msgid "The :func:`register` attribute now supports using type annotations." msgstr "" -#: ../../library/functools.rst:566 +#: ../../library/functools.rst:567 msgid "" -"The :func:`register` attribute now supports :data:`types.UnionType` and :" -"data:`typing.Union` as type annotations." +"The :func:`register` attribute now supports :data:`types.UnionType` " +"and :data:`typing.Union` as type annotations." msgstr "" -#: ../../library/functools.rst:573 +#: ../../library/functools.rst:574 msgid "" -"Transform a method into a :term:`single-dispatch ` :term:" -"`generic function`." +"Transform a method into a :term:`single-dispatch ` :term:`generic function`." msgstr "" -#: ../../library/functools.rst:576 +#: ../../library/functools.rst:577 msgid "" "To define a generic method, decorate it with the ``@singledispatchmethod`` " "decorator. When defining a function using ``@singledispatchmethod``, note " @@ -566,23 +574,23 @@ msgid "" "argument::" msgstr "" -#: ../../library/functools.rst:594 +#: ../../library/functools.rst:595 msgid "" -"``@singledispatchmethod`` supports nesting with other decorators such as :" -"func:`@classmethod`. Note that to allow for ``dispatcher." -"register``, ``singledispatchmethod`` must be the *outer most* decorator. " -"Here is the ``Negator`` class with the ``neg`` methods bound to the class, " -"rather than an instance of the class::" +"``@singledispatchmethod`` supports nesting with other decorators such " +"as :func:`@classmethod`. Note that to allow for " +"``dispatcher.register``, ``singledispatchmethod`` must be the *outer most* " +"decorator. Here is the ``Negator`` class with the ``neg`` methods bound to " +"the class, rather than an instance of the class::" msgstr "" -#: ../../library/functools.rst:616 +#: ../../library/functools.rst:617 msgid "" -"The same pattern can be used for other similar decorators: :func:" -"`@staticmethod`, :func:`@abstractmethod`, " +"The same pattern can be used for other similar " +"decorators: :func:`@staticmethod`, :func:`@abstractmethod`, " "and others." msgstr "" -#: ../../library/functools.rst:625 +#: ../../library/functools.rst:626 msgid "" "Update a *wrapper* function to look like the *wrapped* function. The " "optional arguments are tuples to specify which attributes of the original " @@ -596,7 +604,7 @@ msgid "" "``__dict__``, i.e. the instance dictionary)." msgstr "" -#: ../../library/functools.rst:635 +#: ../../library/functools.rst:636 msgid "" "To allow access to the original function for introspection and other " "purposes (e.g. bypassing a caching decorator such as :func:`lru_cache`), " @@ -604,7 +612,7 @@ msgid "" "that refers to the function being wrapped." msgstr "" -#: ../../library/functools.rst:640 +#: ../../library/functools.rst:641 msgid "" "The main intended use for this function is in :term:`decorator` functions " "which wrap the decorated function and return the wrapper. If the wrapper " @@ -613,7 +621,7 @@ msgid "" "is typically less than helpful." msgstr "" -#: ../../library/functools.rst:646 +#: ../../library/functools.rst:647 msgid "" ":func:`update_wrapper` may be used with callables other than functions. Any " "attributes named in *assigned* or *updated* that are missing from the object " @@ -622,26 +630,21 @@ msgid "" "wrapper function itself is missing any attributes named in *updated*." msgstr "" -#: ../../library/functools.rst:652 -msgid "Automatic addition of the ``__wrapped__`` attribute." -msgstr "" - -#: ../../library/functools.rst:655 -msgid "Copying of the ``__annotations__`` attribute by default." +#: ../../library/functools.rst:653 +msgid "" +"The ``__wrapped__`` attribute is now automatically added. The " +"``__annotations__`` attribute is now copied by default. Missing attributes " +"no longer trigger an :exc:`AttributeError`." msgstr "" #: ../../library/functools.rst:658 -msgid "Missing attributes no longer trigger an :exc:`AttributeError`." -msgstr "" - -#: ../../library/functools.rst:661 msgid "" "The ``__wrapped__`` attribute now always refers to the wrapped function, " -"even if that function defined a ``__wrapped__`` attribute. (see :issue:" -"`17482`)" +"even if that function defined a ``__wrapped__`` attribute. " +"(see :issue:`17482`)" msgstr "" -#: ../../library/functools.rst:669 +#: ../../library/functools.rst:666 msgid "" "This is a convenience function for invoking :func:`update_wrapper` as a " "function decorator when defining a wrapper function. It is equivalent to " @@ -649,47 +652,47 @@ msgid "" "updated=updated)``. For example::" msgstr "" -#: ../../library/functools.rst:695 +#: ../../library/functools.rst:692 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 "" -#: ../../library/functools.rst:703 +#: ../../library/functools.rst:700 msgid ":class:`partial` Objects" msgstr "Objetos :class:`partial`" -#: ../../library/functools.rst:705 +#: ../../library/functools.rst:702 msgid "" ":class:`partial` objects are callable objects created by :func:`partial`. " "They have three read-only attributes:" msgstr "" -#: ../../library/functools.rst:711 +#: ../../library/functools.rst:708 msgid "" "A callable object or function. Calls to the :class:`partial` object will be " "forwarded to :attr:`func` with new arguments and keywords." msgstr "" -#: ../../library/functools.rst:717 +#: ../../library/functools.rst:714 msgid "" "The leftmost positional arguments that will be prepended to the positional " "arguments provided to a :class:`partial` object call." msgstr "" -#: ../../library/functools.rst:723 +#: ../../library/functools.rst:720 msgid "" "The keyword arguments that will be supplied when the :class:`partial` object " "is called." msgstr "" -#: ../../library/functools.rst:726 +#: ../../library/functools.rst:723 msgid "" ":class:`partial` objects are like :class:`function` objects in that they are " -"callable, weak referencable, and can have attributes. There are some " -"important differences. For instance, the :attr:`~definition.__name__` and :" -"attr:`__doc__` attributes are not created automatically. Also, :class:" -"`partial` objects defined in classes behave like static methods and do not " -"transform into bound methods during instance attribute look-up." +"callable, weak referenceable, and can have attributes. There are some " +"important differences. For instance, the :attr:`~definition.__name__` " +"and :attr:`__doc__` attributes are not created automatically. " +"Also, :class:`partial` objects defined in classes behave like static methods " +"and do not transform into bound methods during instance attribute look-up." msgstr "" diff --git a/library/gc.po b/library/gc.po index dd49803e1..9f8d610fe 100644 --- a/library/gc.po +++ b/library/gc.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,16 +41,15 @@ msgid "" "saved in gc.garbage for inspection." msgstr "" "Este módulo fornece uma interface para o coletor de lixo opcional. Ele " -"disponibiliza a habilidade de desabilitar o coletor, ajustar a frequência da " -"coleção, e configurar as opções de depuração. Ele também fornece acesso para " -"objetos inacessíveis que o coletor encontra mas não pode \"limpar\". Como o " -"coletor complementa a contagem de referência já usada em Python, você pode " -"desabilitar o coletor se você tem certeza que o seu programa não cria ciclos " -"de referência. A coleta automática pode ser desabilitada pela chamada ``gc." -"disable()``. Para depurar um programa vazando, chame ``gc.set_debug(gc." -"DEBUG_LEAK)``. Perceba que isto inclui ``gc.DEBUG_SAVEALL``, fazendo com que " -"objetos coletados pelo coletor de lixo sejam salvos para inspeção em gc." -"garbage." +"permite desabilitar o coletor, ajustar a frequência de coleta e configurar " +"as opções de depuração. Ele também fornece acesso a objetos inacessíveis que " +"o coletor encontra, mas não pode \"limpar\". Como o coletor complementa a " +"contagem de referência já usada em Python, você pode desabilitá-lo se tem " +"certeza de que seu programa não cria ciclos de referência. A coleta " +"automática pode ser desativada pela chamada ``gc.disable()``. Para depurar " +"um programa vazando, chame ``gc.set_debug(gc.DEBUG_LEAK)``. Perceba que isto " +"inclui ``gc.DEBUG_SAVEALL``, fazendo com que os objetos coletados pelo " +"coletor de lixo sejam salvos para inspeção em gc.garbage." #: ../../library/gc.rst:23 msgid "The :mod:`gc` module provides the following functions:" @@ -88,11 +87,19 @@ msgid "" "implementation, in particular :class:`float`." msgstr "" "As listas livres mantidas para vários tipos embutidos são limpas sempre que " -"uma coleta completa ou coleta da geração mais alta (2) é executada. Nem " -"todos os itens em algumas listas livres podem ser liberados devido à " -"implementação particular, em particular :class:`float`." +"uma coleta completa ou a da geração mais alta (2) é executada. Nem todos os " +"itens em algumas listas livres podem ser liberados devido à implementação " +"particular, em particular :class:`float`." + +#: ../../library/gc.rst:53 +msgid "" +"The effect of calling ``gc.collect()`` while the interpreter is already " +"performing a collection is undefined." +msgstr "" +"O efeito de chamar ``gc.collect()`` enquanto o interpretador já está " +"realizando uma coleta é indefinido." -#: ../../library/gc.rst:56 +#: ../../library/gc.rst:59 msgid "" "Set the garbage collection debugging flags. Debugging information will be " "written to ``sys.stderr``. See below for a list of debugging flags which " @@ -103,11 +110,11 @@ msgstr "" "sinalizadores de depuração que podem ser combinados usando operações de bit " "para controlar a depuração." -#: ../../library/gc.rst:63 +#: ../../library/gc.rst:66 msgid "Return the debugging flags currently set." msgstr "Retorna os sinalizadores de depuração atualmente definidos." -#: ../../library/gc.rst:68 +#: ../../library/gc.rst:71 msgid "" "Returns a list of all objects tracked by the collector, excluding the list " "returned. If *generation* is not None, return only the objects tracked by " @@ -117,11 +124,11 @@ msgstr "" "lista retornada. Se *generation* não for None, retorna apenas os objetos " "rastreados pelo coletor que estão nessa geração." -#: ../../library/gc.rst:72 +#: ../../library/gc.rst:75 msgid "New *generation* parameter." msgstr "Novo parâmetro *generation*." -#: ../../library/gc.rst:75 +#: ../../library/gc.rst:78 msgid "" "Raises an :ref:`auditing event ` ``gc.get_objects`` with argument " "``generation``." @@ -129,7 +136,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``gc.get_objects`` com o " "argumento ``generation``." -#: ../../library/gc.rst:79 +#: ../../library/gc.rst:82 msgid "" "Return a list of three per-generation dictionaries containing collection " "statistics since interpreter start. The number of keys may change in the " @@ -139,17 +146,17 @@ msgstr "" "coleta desde o início do interpretador. O número de chaves pode mudar no " "futuro, mas atualmente cada dicionário conterá os seguintes itens:" -#: ../../library/gc.rst:84 +#: ../../library/gc.rst:87 msgid "``collections`` is the number of times this generation was collected;" msgstr "``collections`` é o número de vezes que esta geração foi coletada;" -#: ../../library/gc.rst:86 +#: ../../library/gc.rst:89 msgid "" "``collected`` is the total number of objects collected inside this " "generation;" msgstr "``collected`` é o número total de objetos coletados nesta geração;" -#: ../../library/gc.rst:89 +#: ../../library/gc.rst:92 msgid "" "``uncollectable`` is the total number of objects which were found to be " "uncollectable (and were therefore moved to the :data:`garbage` list) inside " @@ -159,7 +166,7 @@ msgstr "" "incobráveis (e, portanto, movidos para a lista :data:`garbage`) dentro desta " "geração." -#: ../../library/gc.rst:98 +#: ../../library/gc.rst:101 msgid "" "Set the garbage collection thresholds (the collection frequency). Setting " "*threshold0* to zero disables collection." @@ -167,7 +174,7 @@ msgstr "" "Define os limites de coleta de lixo (a frequência de coleta). Definir " "*threshold0* como zero desativa a coleta." -#: ../../library/gc.rst:101 +#: ../../library/gc.rst:104 msgid "" "The GC classifies objects into three generations depending on how many " "collection sweeps they have survived. New objects are placed in the " @@ -181,9 +188,9 @@ msgid "" "examined. If generation ``0`` has been examined more than *threshold1* " "times since generation ``1`` has been examined, then generation ``1`` is " "examined as well. With the third generation, things are a bit more " -"complicated, see `Collecting the oldest generation `_ for more " -"information." +"complicated, see `Collecting the oldest generation `_ " +"for more information." msgstr "" "O GC classifica os objetos em três gerações, dependendo de quantas " "varreduras de coleta eles sobreviveram. Novos objetos são colocados na " @@ -200,7 +207,7 @@ msgstr "" "antiga `_ para mais informações." -#: ../../library/gc.rst:118 +#: ../../library/gc.rst:121 msgid "" "Return the current collection counts as a tuple of ``(count0, count1, " "count2)``." @@ -208,7 +215,7 @@ msgstr "" "Retorna as contagens da coleta atual como uma tupla de ``(count0, count1, " "count2)``." -#: ../../library/gc.rst:124 +#: ../../library/gc.rst:127 msgid "" "Return the current collection thresholds as a tuple of ``(threshold0, " "threshold1, threshold2)``." @@ -216,7 +223,7 @@ msgstr "" "Retorna os limites da coleta atual como uma tupla de ``(threshold0, " "threshold1, threshold2)``." -#: ../../library/gc.rst:130 +#: ../../library/gc.rst:133 msgid "" "Return the list of objects that directly refer to any of objs. This function " "will only locate those containers which support garbage collection; " @@ -228,7 +235,7 @@ msgstr "" "lixo; tipos de extensão que se referem a outros objetos, mas não suportam " "coleta de lixo, não serão encontrados." -#: ../../library/gc.rst:135 +#: ../../library/gc.rst:138 msgid "" "Note that objects which have already been dereferenced, but which live in " "cycles and have not yet been collected by the garbage collector can be " @@ -238,10 +245,10 @@ msgstr "" "Observe que os objetos que já foram desreferenciados, mas que vivem em " "ciclos e ainda não foram coletados pelo coletor de lixo podem ser listados " "entre os referenciadores resultantes. Para obter apenas os objetos " -"atualmente ativos, chame :func:`collect` antes de chamar :func:" -"`get_referrers`." +"atualmente ativos, chame :func:`collect` antes de " +"chamar :func:`get_referrers`." -#: ../../library/gc.rst:141 +#: ../../library/gc.rst:144 msgid "" "Care must be taken when using objects returned by :func:`get_referrers` " "because some of them could still be under construction and hence in a " @@ -253,7 +260,7 @@ msgstr "" "estado temporariamente inválido. Evite usar :func:`get_referrers` para " "qualquer finalidade que não seja depuração." -#: ../../library/gc.rst:146 +#: ../../library/gc.rst:149 msgid "" "Raises an :ref:`auditing event ` ``gc.get_referrers`` with " "argument ``objs``." @@ -261,16 +268,17 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``gc.get_referrers`` com o " "argumento ``objs``." -#: ../../library/gc.rst:151 +#: ../../library/gc.rst:154 msgid "" "Return a list of objects directly referred to by any of the arguments. The " -"referents returned are those objects visited by the arguments' C-level :c:" -"member:`~PyTypeObject.tp_traverse` methods (if any), and may not be all " -"objects actually directly reachable. :c:member:`~PyTypeObject.tp_traverse` " -"methods are supported only by objects that support garbage collection, and " -"are only required to visit objects that may be involved in a cycle. So, for " -"example, if an integer is directly reachable from an argument, that integer " -"object may or may not appear in the result list." +"referents returned are those objects visited by the arguments' C-" +"level :c:member:`~PyTypeObject.tp_traverse` methods (if any), and may not be " +"all objects actually directly " +"reachable. :c:member:`~PyTypeObject.tp_traverse` methods are supported only " +"by objects that support garbage collection, and are only required to visit " +"objects that may be involved in a cycle. So, for example, if an integer is " +"directly reachable from an argument, that integer object may or may not " +"appear in the result list." msgstr "" "Retorna uma lista de objetos diretamente referenciados por qualquer um dos " "argumentos. Os referentes retornados são aqueles objetos visitados pelos " @@ -282,7 +290,7 @@ msgstr "" "número inteiro pode ser acessado diretamente de um argumento, esse objeto " "inteiro pode ou não aparecer na lista de resultados." -#: ../../library/gc.rst:159 +#: ../../library/gc.rst:162 msgid "" "Raises an :ref:`auditing event ` ``gc.get_referents`` with " "argument ``objs``." @@ -290,7 +298,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``gc.get_referents`` com o " "argumento ``objs``." -#: ../../library/gc.rst:163 +#: ../../library/gc.rst:166 msgid "" "Returns ``True`` if the object is currently tracked by the garbage " "collector, ``False`` otherwise. As a general rule, instances of atomic " @@ -307,7 +315,7 @@ msgstr "" "de lixo de instâncias simples (por exemplo, dicts contendo apenas chaves e " "valores atômicos)::" -#: ../../library/gc.rst:188 +#: ../../library/gc.rst:191 msgid "" "Returns ``True`` if the given object has been finalized by the garbage " "collector, ``False`` otherwise. ::" @@ -315,7 +323,7 @@ msgstr "" "Retorna ``True`` se o objeto fornecido foi finalizado pelo coletor de lixo, " "``False`` caso contrário. ::" -#: ../../library/gc.rst:209 +#: ../../library/gc.rst:212 msgid "" "Freeze all the objects tracked by the garbage collector; move them to a " "permanent generation and ignore them in all the future collections." @@ -323,7 +331,7 @@ msgstr "" "Congela todos os objetos rastreados pelo coletor de lixo; move-os para uma " "geração permanente e ignora-os em todas as coleções futuras." -#: ../../library/gc.rst:212 +#: ../../library/gc.rst:215 msgid "" "If a process will ``fork()`` without ``exec()``, avoiding unnecessary copy-" "on-write in child processes will maximize memory sharing and reduce overall " @@ -343,7 +351,7 @@ msgstr "" "``gc.disable()`` no início do processo pai, ``gc.freeze()`` logo antes de " "``fork()`` e ``gc.enable()`` no início em processos filhos." -#: ../../library/gc.rst:226 +#: ../../library/gc.rst:229 msgid "" "Unfreeze the objects in the permanent generation, put them back into the " "oldest generation." @@ -351,11 +359,11 @@ msgstr "" "Descongela os objetos na geração permanente, coloca-os de volta na geração " "mais antiga." -#: ../../library/gc.rst:234 +#: ../../library/gc.rst:237 msgid "Return the number of objects in the permanent generation." msgstr "Retorna o número de objetos na geração permanente." -#: ../../library/gc.rst:239 +#: ../../library/gc.rst:242 msgid "" "The following variables are provided for read-only access (you can mutate " "the values but should not rebind them):" @@ -363,7 +371,7 @@ msgstr "" "As seguintes variáveis são fornecidas para acesso somente leitura (você pode " "alterar os valores, mas não deve revinculá-los):" -#: ../../library/gc.rst:244 +#: ../../library/gc.rst:247 msgid "" "A list of objects which the collector found to be unreachable but could not " "be freed (uncollectable objects). Starting with Python 3.4, this list " @@ -375,7 +383,7 @@ msgstr "" "deve estar vazia na maioria das vezes, exceto ao usar instâncias de tipos de " "extensão C com um slot ``tp_del`` não-``NULL``." -#: ../../library/gc.rst:249 +#: ../../library/gc.rst:252 msgid "" "If :const:`DEBUG_SAVEALL` is set, then all unreachable objects will be added " "to this list rather than freed." @@ -383,27 +391,25 @@ msgstr "" "Se :const:`DEBUG_SAVEALL` for definido, todos os objetos inacessíveis serão " "adicionados a esta lista ao invés de liberados." -#: ../../library/gc.rst:252 +#: ../../library/gc.rst:255 msgid "" -"If this list is non-empty at :term:`interpreter shutdown`, a :exc:" -"`ResourceWarning` is emitted, which is silent by default. If :const:" -"`DEBUG_UNCOLLECTABLE` is set, in addition all uncollectable objects are " -"printed." +"If this list is non-empty at :term:`interpreter shutdown`, " +"a :exc:`ResourceWarning` is emitted, which is silent by default. " +"If :const:`DEBUG_UNCOLLECTABLE` is set, in addition all uncollectable " +"objects are printed." msgstr "" "Se esta lista não estiver vazia no :term:`desligamento do interpretador`, " -"um :exc:`ResourceWarning` é emitido, que é silencioso por padrão. Se :const:" -"`DEBUG_UNCOLLECTABLE` for definido, além disso, todos os objetos não " -"coletáveis serão impressos." +"um :exc:`ResourceWarning` é emitido, que é silencioso por padrão. " +"Se :const:`DEBUG_UNCOLLECTABLE` for definido, além disso, todos os objetos " +"não coletáveis serão impressos." -#: ../../library/gc.rst:258 +#: ../../library/gc.rst:261 msgid "" -"Following :pep:`442`, objects with a :meth:`__del__` method don't end up in :" -"attr:`gc.garbage` anymore." +"Following :pep:`442`, objects with a :meth:`__del__` method don't end up " +"in :data:`gc.garbage` anymore." msgstr "" -"Seguindo a :pep:`442`, objetos com um método :meth:`__del__` não vão mais " -"para :attr:`gc.garbage`." -#: ../../library/gc.rst:264 +#: ../../library/gc.rst:267 msgid "" "A list of callbacks that will be invoked by the garbage collector before and " "after collection. The callbacks will be called with two arguments, *phase* " @@ -413,19 +419,19 @@ msgstr "" "antes e depois da coleta. As funções de retorno serão chamadas com dois " "argumentos, *phase* e *info*." -#: ../../library/gc.rst:268 +#: ../../library/gc.rst:271 msgid "*phase* can be one of two values:" msgstr "*phase* pode ser um dos dois valores:" -#: ../../library/gc.rst:270 +#: ../../library/gc.rst:273 msgid "\"start\": The garbage collection is about to start." msgstr "\"start\": A coleta de lixo está prestes a começar." -#: ../../library/gc.rst:272 +#: ../../library/gc.rst:275 msgid "\"stop\": The garbage collection has finished." msgstr "\"stop\": A coleta de lixo terminou." -#: ../../library/gc.rst:274 +#: ../../library/gc.rst:277 msgid "" "*info* is a dict providing more information for the callback. The following " "keys are currently defined:" @@ -433,11 +439,11 @@ msgstr "" "*info* é um ditado que fornece mais informações para a função de retorno. As " "seguintes chaves estão atualmente definidas:" -#: ../../library/gc.rst:277 +#: ../../library/gc.rst:280 msgid "\"generation\": The oldest generation being collected." msgstr "\"generation\": A geração mais antiga sendo coletada." -#: ../../library/gc.rst:279 +#: ../../library/gc.rst:282 msgid "" "\"collected\": When *phase* is \"stop\", the number of objects successfully " "collected." @@ -445,7 +451,7 @@ msgstr "" "\"collected\": Quando *phase* é \"stop\", o número de objetos coletados com " "sucesso." -#: ../../library/gc.rst:282 +#: ../../library/gc.rst:285 msgid "" "\"uncollectable\": When *phase* is \"stop\", the number of objects that " "could not be collected and were put in :data:`garbage`." @@ -453,7 +459,7 @@ msgstr "" "\"uncollectable\": Quando *phase* é \"stop\", o número de objetos que não " "puderam ser coletados e foram colocados em :data:`garbage`." -#: ../../library/gc.rst:285 +#: ../../library/gc.rst:288 msgid "" "Applications can add their own callbacks to this list. The primary use " "cases are:" @@ -461,7 +467,7 @@ msgstr "" "As aplicações podem adicionar suas próprias funções de retorno a essa lista. " "Os principais casos de uso são:" -#: ../../library/gc.rst:288 +#: ../../library/gc.rst:291 msgid "" "Gathering statistics about garbage collection, such as how often various " "generations are collected, and how long the collection takes." @@ -469,7 +475,7 @@ msgstr "" "Reunir estatísticas sobre coleta de lixo, como com que frequência várias " "gerações são coletadas e quanto tempo leva a coleta." -#: ../../library/gc.rst:292 +#: ../../library/gc.rst:295 msgid "" "Allowing applications to identify and clear their own uncollectable types " "when they appear in :data:`garbage`." @@ -477,11 +483,11 @@ msgstr "" "Permitindo que os aplicativos identifiquem e limpem seus próprios tipos não " "colecionáveis quando eles aparecem em :data:`garbage`." -#: ../../library/gc.rst:298 +#: ../../library/gc.rst:301 msgid "The following constants are provided for use with :func:`set_debug`:" msgstr "As seguintes constantes são fornecidas para uso com :func:`set_debug`:" -#: ../../library/gc.rst:303 +#: ../../library/gc.rst:306 msgid "" "Print statistics during collection. This information can be useful when " "tuning the collection frequency." @@ -489,11 +495,11 @@ msgstr "" "Imprimir estatísticas durante a coleta. Esta informação pode ser útil ao " "sintonizar a frequência de coleta." -#: ../../library/gc.rst:309 +#: ../../library/gc.rst:312 msgid "Print information on collectable objects found." msgstr "Imprimir informações sobre objetos colecionáveis encontrados." -#: ../../library/gc.rst:314 +#: ../../library/gc.rst:317 msgid "" "Print information of uncollectable objects found (objects which are not " "reachable but cannot be freed by the collector). These objects will be " @@ -503,7 +509,7 @@ msgstr "" "não são alcançáveis, mas não podem ser liberados pelo coletor). Esses " "objetos serão adicionados à lista ``garbage``." -#: ../../library/gc.rst:318 +#: ../../library/gc.rst:321 msgid "" "Also print the contents of the :data:`garbage` list at :term:`interpreter " "shutdown`, if it isn't empty." @@ -511,7 +517,7 @@ msgstr "" "Imprime também o conteúdo da lista :data:`garbage` em :term:`desligamento do " "interpretador`, se não estiver vazia." -#: ../../library/gc.rst:324 +#: ../../library/gc.rst:327 msgid "" "When set, all unreachable objects found will be appended to *garbage* rather " "than being freed. This can be useful for debugging a leaking program." @@ -520,7 +526,7 @@ msgstr "" "*lixo* em vez de serem liberados. Isso pode ser útil para depurar um " "programa com vazamento." -#: ../../library/gc.rst:330 +#: ../../library/gc.rst:333 msgid "" "The debugging flags necessary for the collector to print information about a " "leaking program (equal to ``DEBUG_COLLECTABLE | DEBUG_UNCOLLECTABLE | " diff --git a/library/getopt.po b/library/getopt.po index 86c89df8e..d55d19234 100644 --- a/library/getopt.po +++ b/library/getopt.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -43,24 +42,26 @@ msgid "" "the :mod:`argparse` module instead." msgstr "" "O módulo :mod:`getopt` é um analisador sintático para opções de linha de " -"comando cuja API é projetada para ser familiar aos usuários da função C :c:" -"func:`getopt`. Os usuários que não estão familiarizados com a função C :c:" -"func:`getopt` ou que gostariam de escrever menos código e obter mensagens de " -"ajuda e de erro melhores devem considerar o uso do módulo :mod:`argparse`." +"comando cuja API é projetada para ser familiar aos usuários da função " +"C :c:func:`getopt`. Os usuários que não estão familiarizados com a função " +"C :c:func:`getopt` ou que gostariam de escrever menos código e obter " +"mensagens de ajuda e de erro melhores devem considerar o uso do " +"módulo :mod:`argparse`." #: ../../library/getopt.rst:20 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` " +"This module helps scripts to parse the command line arguments in " +"``sys.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 "" "Este módulo ajuda os scripts a analisar os argumentos da linha de comando em " -"``sys.argv``. Ele suporta as mesmas convenções da função Unix :c:func:" -"`getopt` (incluindo os significados especiais de argumentos da forma '``-``' " -"e '``--``'). Longas opções semelhantes às suportadas pelo software GNU " -"também podem ser usadas por meio de um terceiro argumento opcional." +"``sys.argv``. Ele suporta as mesmas convenções da função " +"Unix :c:func:`getopt` (incluindo os significados especiais de argumentos da " +"forma '``-``' e '``--``'). Longas opções semelhantes às suportadas pelo " +"software GNU também podem ser usadas por meio de um terceiro argumento " +"opcional." #: ../../library/getopt.rst:26 msgid "This module provides two functions and an exception:" @@ -72,8 +73,8 @@ msgid "" "to be parsed, without the leading reference to the running program. " "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)." +"argument followed by a colon (``':'``; i.e., the same format that " +"Unix :c:func:`getopt` uses)." msgstr "" "Analisa opções de linha de comando e lista de parâmetros. *args* é a lista " "de argumentos a ser analisada, sem a referência inicial para o programa em " @@ -123,9 +124,9 @@ msgid "" "value)`` pairs; the second is the list of program arguments left after the " "option list was stripped (this is a trailing slice of *args*). Each option-" "and-value pair returned has the option as its first element, prefixed with a " -"hyphen for short options (e.g., ``'-x'``) or two hyphens for long options (e." -"g., ``'--long-option'``), and the option argument as its second element, or " -"an empty string if the option has no argument. The options occur in the " +"hyphen for short options (e.g., ``'-x'``) or two hyphens for long options " +"(e.g., ``'--long-option'``), and the option argument as its second element, " +"or an empty string if the option has no argument. The options occur in the " "list in the same order in which they were found, thus allowing multiple " "occurrences. Long and short options may be mixed." msgstr "" @@ -182,7 +183,7 @@ msgstr "" #: ../../library/getopt.rst:91 msgid "Alias for :exc:`GetoptError`; for backward compatibility." -msgstr "Alias para :exc:`GetoptError`; para compatibilidade reversa." +msgstr "Apelido para :exc:`GetoptError`; para compatibilidade reversa." #: ../../library/getopt.rst:93 msgid "An example using only Unix style options:" @@ -199,8 +200,8 @@ msgstr "Em um script, o uso típico é algo assim::" #: ../../library/getopt.rst:147 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::" +"code and more informative help and error messages by using " +"the :mod:`argparse` module::" msgstr "" "Observe que uma interface de linha de comando equivalente pode ser produzida " "com menos código e mais mensagens de erro de ajuda e erro informativas " diff --git a/library/getpass.po b/library/getpass.po index f8c832c12..0b25ea376 100644 --- a/library/getpass.po +++ b/library/getpass.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -61,15 +61,15 @@ msgstr "" "Solicita uma senha do usuário sem emiti-la. O usuário é solicitado usando a " "string *prompt*, cujo padrão é ``'Password: '``. No Unix, o prompt é escrito " "no objeto arquivo ou similar *stream* usando o tratador de erros de " -"substituição, se necessário. O *stream* padrão para o terminal de controle (:" -"file:`/dev/tty`) ou se não estiver disponível para ``sys.stderr`` (este " +"substituição, se necessário. O *stream* padrão para o terminal de controle " +"(:file:`/dev/tty`) ou se não estiver disponível para ``sys.stderr`` (este " "argumento é ignorado no Windows)." #: ../../library/getpass.rst:28 msgid "" "If echo free input is unavailable getpass() falls back to printing a warning " -"message to *stream* and reading from ``sys.stdin`` and issuing a :exc:" -"`GetPassWarning`." +"message to *stream* and reading from ``sys.stdin`` and issuing " +"a :exc:`GetPassWarning`." msgstr "" "Se uma entrada sem exibição em tela não estiver disponível, getpass() " "recorre a exibir uma mensagem de aviso para *stream* e lê de ``sys.stdin`` e " @@ -95,18 +95,19 @@ msgstr "Retorna o \"nome de login\" do usuário." #: ../../library/getpass.rst:45 msgid "" -"This function checks the environment variables :envvar:`LOGNAME`, :envvar:" -"`USER`, :envvar:`LNAME` and :envvar:`USERNAME`, in order, and returns the " -"value of the first one which is set to a non-empty string. If none are set, " -"the login name from the password database is returned on systems which " -"support the :mod:`pwd` module, otherwise, an exception is raised." +"This function checks the environment " +"variables :envvar:`LOGNAME`, :envvar:`USER`, :envvar:`!LNAME` " +"and :envvar:`USERNAME`, in order, and returns the value of the first one " +"which is set to a non-empty string. If none are set, the login name from " +"the password database is returned on systems which support the :mod:`pwd` " +"module, otherwise, an exception is raised." msgstr "" -"Esta função verifica as variáveis de ambiente :envvar:`LOGNAME`, :envvar:" -"`USER`, :envvar:`LNAME` e :envvar:`USERNAME`, nesta ordem, e retorna o valor " -"da primeiro que estiver definida como uma string não vazia. Se nenhuma " -"estiver definida, o nome de login do banco de dados de senhas é retornado em " -"sistemas que suportam o módulo :mod:`pwd`, caso contrário, uma exceção é " -"levantada." +"Esta função verifica as variáveis de " +"ambiente :envvar:`LOGNAME`, :envvar:`USER`, :envvar:`!LNAME` " +"e :envvar:`USERNAME`, nesta ordem, e retorna o valor da primeiro que estiver " +"definida como uma string não vazia. Se nenhuma estiver definida, o nome de " +"login do banco de dados de senhas é retornado em sistemas que suportam o " +"módulo :mod:`pwd`, caso contrário, uma exceção é levantada." #: ../../library/getpass.rst:52 msgid "" diff --git a/library/gettext.po b/library/gettext.po index 641125685..29283678a 100644 --- a/library/gettext.po +++ b/library/gettext.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Victor Matheus Castro , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -81,19 +80,21 @@ msgstr "" #: ../../library/gettext.rst:39 msgid "" -"Bind the *domain* to the locale directory *localedir*. More concretely, :" -"mod:`gettext` will look for binary :file:`.mo` files for the given domain " -"using the path (on Unix): :file:`{localedir}/{language}/LC_MESSAGES/{domain}." -"mo`, where *language* is searched for in the environment variables :envvar:" -"`LANGUAGE`, :envvar:`LC_ALL`, :envvar:`LC_MESSAGES`, and :envvar:`LANG` " -"respectively." -msgstr "" -"Liga o *domain* ao diretório de localidade *localedir*. Mais concretamente, :" -"mod:`gettext` procurará arquivos binários :file:`.mo` para o domínio " -"especificado usando o caminho (no Unix): :file:`{localedir}/{language}/" -"LC_MESSAGES/{domain}.mo`, sendo *language* pesquisado nas variáveis de " -"ambiente :envvar:`LANGUAGE`, :envvar:`LC_ALL`, :envvar:`LC_MESSAGES` e :" -"envvar:`LANG` respectivamente." +"Bind the *domain* to the locale directory *localedir*. More " +"concretely, :mod:`gettext` will look for binary :file:`.mo` files for the " +"given domain using the path (on Unix): :file:`{localedir}/{language}/" +"LC_MESSAGES/{domain}.mo`, where *language* is searched for in the " +"environment " +"variables :envvar:`LANGUAGE`, :envvar:`LC_ALL`, :envvar:`LC_MESSAGES`, " +"and :envvar:`LANG` respectively." +msgstr "" +"Liga o *domain* ao diretório de localidade *localedir*. Mais " +"concretamente, :mod:`gettext` procurará arquivos binários :file:`.mo` para o " +"domínio especificado usando o caminho (no Unix): :file:`{localedir}/" +"{language}/LC_MESSAGES/{domain}.mo`, sendo *language* pesquisado nas " +"variáveis de " +"ambiente :envvar:`LANGUAGE`, :envvar:`LC_ALL`, :envvar:`LC_MESSAGES` " +"e :envvar:`LANG` respectivamente." #: ../../library/gettext.rst:45 msgid "" @@ -117,11 +118,11 @@ msgstr "" msgid "" "Return the localized translation of *message*, based on the current global " "domain, language, and locale directory. This function is usually aliased " -"as :func:`_` in the local namespace (see examples below)." +"as :func:`!_` in the local namespace (see examples below)." msgstr "" "Retorna a tradução localizada de *message*, com base no diretório global " "atual de domínio, idioma e localidade. Essa função geralmente é apelidada " -"como :func:`_` no espaço de nomes local (veja exemplos abaixo)." +"como :func:`!_` no espaço de nomes local (veja exemplos abaixo)." #: ../../library/gettext.rst:66 msgid "" @@ -172,16 +173,16 @@ msgid "" "is, :func:`gettext`, :func:`dgettext`, :func:`ngettext`, :func:`dngettext`), " "but the translation is restricted to the given message *context*." msgstr "" -"Semelhante às funções correspondentes sem o ``p`` no prefixo (ou seja, :func:" -"`gettext`, :func:`dgettext`, :func:`ngettext`, :func:`dngettext`), mas a " -"tradução é restrita ao *context* de mensagem fornecido." +"Semelhante às funções correspondentes sem o ``p`` no prefixo (ou " +"seja, :func:`gettext`, :func:`dgettext`, :func:`ngettext`, :func:`dngettext`), " +"mas a tradução é restrita ao *context* de mensagem fornecido." #: ../../library/gettext.rst:101 msgid "" -"Note that GNU :program:`gettext` also defines a :func:`dcgettext` method, " +"Note that GNU :program:`gettext` also defines a :func:`!dcgettext` method, " "but this was deemed not useful and so it is currently unimplemented." msgstr "" -"Note que GNU :program:`gettext` também define um método :func:`dcgettext`, " +"Note que GNU :program:`gettext` também define um método :func:`!dcgettext`, " "mas isso não foi considerado útil e, portanto, atualmente não está " "implementado." @@ -201,7 +202,7 @@ msgid "" "gettext` defines a :class:`GNUTranslations` class which implements the " "parsing of GNU :file:`.mo` format files, and has methods for returning " "strings. Instances of this class can also install themselves in the built-in " -"namespace as the function :func:`_`." +"namespace as the function :func:`!_`." msgstr "" "A API baseada em classe do módulo :mod:`gettext` oferece mais flexibilidade " "e maior conveniência do que a API do GNU :program:`gettext`. É a maneira " @@ -209,7 +210,7 @@ msgstr "" "define uma classe :class:`GNUTranslations` que implementa a análise de " "arquivos no formato GNU :file:`.mo` e possui métodos para retornar strings. " "Instâncias dessa classe também podem se instalar no espaço de nomes embutido " -"como a função :func:`_`." +"como a função :func:`!_`." #: ../../library/gettext.rst:127 msgid "" @@ -227,19 +228,21 @@ msgstr "" msgid "" "If *localedir* is not given, then the default system locale directory is " "used. [#]_ If *languages* is not given, then the following environment " -"variables are searched: :envvar:`LANGUAGE`, :envvar:`LC_ALL`, :envvar:" -"`LC_MESSAGES`, and :envvar:`LANG`. The first one returning a non-empty " -"value is used for the *languages* variable. The environment variables should " -"contain a colon separated list of languages, which will be split on the " -"colon to produce the expected list of language code strings." +"variables are " +"searched: :envvar:`LANGUAGE`, :envvar:`LC_ALL`, :envvar:`LC_MESSAGES`, " +"and :envvar:`LANG`. The first one returning a non-empty value is used for " +"the *languages* variable. The environment variables should contain a colon " +"separated list of languages, which will be split on the colon to produce the " +"expected list of language code strings." msgstr "" "Se *localedir* não for fornecido, o diretório local do sistema padrão será " "usado. [#]_ Se *languages* não for fornecido, as seguintes variáveis de " -"ambiente serão pesquisadas: :envvar:`LANGUAGE`, :envvar:`LC_ALL`, :envvar:" -"`LC_MESSAGES` e :envvar:`LANG`. O primeiro retornando um valor não vazio é " -"usado para a variável *languages*. As variáveis de ambiente devem conter uma " -"lista de idiomas separada por dois pontos, que será dividida nos dois pontos " -"para produzir a lista esperada de strings de código de idioma." +"ambiente serão " +"pesquisadas: :envvar:`LANGUAGE`, :envvar:`LC_ALL`, :envvar:`LC_MESSAGES` " +"e :envvar:`LANG`. O primeiro retornando um valor não vazio é usado para a " +"variável *languages*. As variáveis de ambiente devem conter uma lista de " +"idiomas separada por dois pontos, que será dividida nos dois pontos para " +"produzir a lista esperada de strings de código de idioma." #: ../../library/gettext.rst:140 msgid "" @@ -267,26 +270,22 @@ msgstr "" #: ../../library/gettext.rst:153 msgid "" -"Return a :class:`*Translations` instance based on the *domain*, *localedir*, " -"and *languages*, which are first passed to :func:`find` to get a list of the " +"Return a ``*Translations`` instance based on the *domain*, *localedir*, and " +"*languages*, which are first passed to :func:`find` to get a list of the " "associated :file:`.mo` file paths. Instances with identical :file:`.mo` " "file names are cached. The actual class instantiated is *class_* if " "provided, otherwise :class:`GNUTranslations`. The class's constructor must " -"take a single :term:`file object` argument. If provided, *codeset* will " -"change the charset used to encode translated strings in the :meth:" -"`~NullTranslations.lgettext` and :meth:`~NullTranslations.lngettext` methods." +"take a single :term:`file object` argument." msgstr "" -"Retorna uma instância de :class:`*Translations` com base nos *domain*, " +"Retorna uma instância de ``*Translations`` com base nos *domain*, " "*localedir* e *languages*, que são passados primeiro para :func:`find` para " "obter uma lista dos caminhos de arquivos :file:`.mo` associados. Instâncias " "com nomes de arquivo idênticos :file:`.mo` são armazenados em cache. A " -"classe atual instanciada é *class_* se fornecida, caso contrário :class:" -"`GNUTranslations`. O construtor da classe deve usar um único argumento :term:" -"`objeto arquivo`. Se fornecido, *codeset* alterará o conjunto de caracteres " -"usado para codificar as strings traduzidas nos métodos :meth:" -"`~NullTranslations.lgettext` e :meth:`~NullTranslations.lngettext`." +"classe atual instanciada é *class_* se fornecida, caso " +"contrário :class:`GNUTranslations`. O construtor da classe deve usar um " +"único argumento :term:`objeto arquivo`." -#: ../../library/gettext.rst:163 +#: ../../library/gettext.rst:160 msgid "" "If multiple files are found, later files are used as fallbacks for earlier " "ones. To allow setting the fallback, :func:`copy.copy` is used to clone each " @@ -298,71 +297,73 @@ msgstr "" "fallback, :func:`copy.copy` é usado para clonar cada objeto de conversão do " "cache; os dados reais da instância ainda são compartilhados com o cache." -#: ../../library/gettext.rst:168 +#: ../../library/gettext.rst:165 msgid "" "If no :file:`.mo` file is found, this function raises :exc:`OSError` if " -"*fallback* is false (which is the default), and returns a :class:" -"`NullTranslations` instance if *fallback* is true." +"*fallback* is false (which is the default), and returns " +"a :class:`NullTranslations` instance if *fallback* is true." msgstr "" -"Se nenhum arquivo :file:`.mo` for encontrado, essa função levanta :exc:" -"`OSError` se *fallback* for falso (que é o padrão) e retorna uma instância :" -"class:`NullTranslations` se *fallback* for verdadeiro." +"Se nenhum arquivo :file:`.mo` for encontrado, essa função " +"levanta :exc:`OSError` se *fallback* for falso (que é o padrão) e retorna " +"uma instância :class:`NullTranslations` se *fallback* for verdadeiro." -#: ../../library/gettext.rst:172 -msgid ":exc:`IOError` used to be raised instead of :exc:`OSError`." -msgstr ":exc:`IOError` costumava ser levantado em vez do :exc:`OSError`." +#: ../../library/gettext.rst:169 +msgid ":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." +msgstr "" +":exc:`IOError` costumava ser levantada, agora ela é um apelido " +"para :exc:`OSError`." -#: ../../library/gettext.rst:175 +#: ../../library/gettext.rst:172 msgid "*codeset* parameter is removed." msgstr "O parâmetro *codeset* foi removido." -#: ../../library/gettext.rst:180 +#: ../../library/gettext.rst:177 msgid "" -"This installs the function :func:`_` in Python's builtins namespace, based " -"on *domain* and *localedir* which are passed to the function :func:" -"`translation`." +"This installs the function :func:`!_` in Python's builtins namespace, based " +"on *domain* and *localedir* which are passed to the " +"function :func:`translation`." msgstr "" -"Isso instala a função :func:`_` no espaço de nomes interno do Python, com " -"base em *domain* e *localedir* que são passados para a função :func:" -"`translation`." +"Isso instala a função :func:`!_` no espaço de nomes interno do Python, com " +"base em *domain* e *localedir* que são passados para a " +"função :func:`translation`." -#: ../../library/gettext.rst:183 +#: ../../library/gettext.rst:180 msgid "" "For the *names* parameter, please see the description of the translation " "object's :meth:`~NullTranslations.install` method." msgstr "" -"Para o parâmetro *names*, por favor, veja a descrição do método :meth:" -"`~NullTranslations.install` do objeto de tradução." +"Para o parâmetro *names*, por favor, veja a descrição do " +"método :meth:`~NullTranslations.install` do objeto de tradução." -#: ../../library/gettext.rst:186 +#: ../../library/gettext.rst:183 msgid "" "As seen below, you usually mark the strings in your application that are " -"candidates for translation, by wrapping them in a call to the :func:`_` " +"candidates for translation, by wrapping them in a call to the :func:`!_` " "function, like this::" msgstr "" "Como visto abaixo, você normalmente marca as strings candidatas à tradução " -"em seu aplicativo, envolvendo-as em uma chamada para a função :func:`_`, " +"em sua aplicação, envolvendo-as em uma chamada para a função :func:`!_`, " "assim::" -#: ../../library/gettext.rst:192 +#: ../../library/gettext.rst:189 msgid "" -"For convenience, you want the :func:`_` function to be installed in Python's " -"builtins namespace, so it is easily accessible in all modules of your " -"application." +"For convenience, you want the :func:`!_` function to be installed in " +"Python's builtins namespace, so it is easily accessible in all modules of " +"your application." msgstr "" -"Por conveniência, você deseja que a função :func:`_` seja instalada no " +"Por conveniência, você deseja que a função :func:`!_` seja instalada no " "espaço de nomes interno do Python, para que seja facilmente acessível em " -"todos os módulos do seu aplicativo." +"todos os módulos do sua aplicação." -#: ../../library/gettext.rst:196 +#: ../../library/gettext.rst:193 msgid "*names* is now a keyword-only parameter." msgstr "*names* é agora um parâmetro somente-nomeado." -#: ../../library/gettext.rst:200 +#: ../../library/gettext.rst:197 msgid "The :class:`NullTranslations` class" msgstr "A classe :class:`NullTranslations`" -#: ../../library/gettext.rst:202 +#: ../../library/gettext.rst:199 msgid "" "Translation classes are what actually implement the translation of original " "source file message strings to translated message strings. The base class " @@ -372,12 +373,12 @@ msgid "" msgstr "" "As classes de tradução são o que realmente implementa a tradução de strings " "de mensagens do arquivo-fonte original para strings de mensagens traduzidas. " -"A classe base usada por todas as classes de tradução é :class:" -"`NullTranslations`; isso fornece a interface básica que você pode usar para " -"escrever suas próprias classes de tradução especializadas. Aqui estão os " -"métodos de :class:`!NullTranslations`:" +"A classe base usada por todas as classes de tradução " +"é :class:`NullTranslations`; isso fornece a interface básica que você pode " +"usar para escrever suas próprias classes de tradução especializadas. Aqui " +"estão os métodos de :class:`!NullTranslations`:" -#: ../../library/gettext.rst:211 +#: ../../library/gettext.rst:208 msgid "" "Takes an optional :term:`file object` *fp*, which is ignored by the base " "class. Initializes \"protected\" instance variables *_info* and *_charset* " @@ -391,7 +392,7 @@ msgstr "" "*_fallback*, que é definido através de :meth:`add_fallback`. Ele então chama " "``self._parse(fp)`` se *fp* não for ``None``." -#: ../../library/gettext.rst:219 +#: ../../library/gettext.rst:216 msgid "" "No-op in the base class, this method takes file object *fp*, and reads the " "data from the file, initializing its message catalog. If you have an " @@ -403,7 +404,7 @@ msgstr "" "formato de arquivo de catálogo de mensagens não suportado, substitua esse " "método para analisar seu formato." -#: ../../library/gettext.rst:227 +#: ../../library/gettext.rst:224 msgid "" "Add *fallback* as the fallback object for the current translation object. A " "translation object should consult the fallback if it cannot provide a " @@ -413,7 +414,7 @@ msgstr "" "Um objeto de tradução deve consultar o fallback se não puder fornecer uma " "tradução para uma determinada mensagem." -#: ../../library/gettext.rst:234 +#: ../../library/gettext.rst:231 msgid "" "If a fallback has been set, forward :meth:`!gettext` to the fallback. " "Otherwise, return *message*. Overridden in derived classes." @@ -422,7 +423,7 @@ msgstr "" "fallback. Caso contrário, retorna *message*. Substituído em classes " "derivadas." -#: ../../library/gettext.rst:240 +#: ../../library/gettext.rst:237 msgid "" "If a fallback has been set, forward :meth:`!ngettext` to the fallback. " "Otherwise, return *singular* if *n* is 1; return *plural* otherwise. " @@ -432,7 +433,7 @@ msgstr "" "fallback. Caso contrário, retorna *singular* se *n* for 1; do contrário, " "retorna *plural*. Substituído em classes derivadas." -#: ../../library/gettext.rst:247 +#: ../../library/gettext.rst:244 msgid "" "If a fallback has been set, forward :meth:`pgettext` to the fallback. " "Otherwise, return the translated message. Overridden in derived classes." @@ -441,7 +442,7 @@ msgstr "" "fallback. Caso contrário, retorna a mensagem traduzida. Substituído em " "classes derivadas." -#: ../../library/gettext.rst:255 +#: ../../library/gettext.rst:252 msgid "" "If a fallback has been set, forward :meth:`npgettext` to the fallback. " "Otherwise, return the translated message. Overridden in derived classes." @@ -450,88 +451,88 @@ msgstr "" "fallback. Caso contrário, retorna a mensagem traduzida. Substituído em " "classes derivadas." -#: ../../library/gettext.rst:263 +#: ../../library/gettext.rst:260 msgid "" -"Return the \"protected\" :attr:`_info` variable, a dictionary containing the " -"metadata found in the message catalog file." +"Return a dictionary containing the metadata found in the message catalog " +"file." msgstr "" -"Retorna a variável :attr:`_info` \"protegida\", um dicionário que contém os " -"metadados encontrados no arquivo de catálogo de mensagens." +"Retorna um dicionário que contém os metadados encontrados no arquivo de " +"catálogo de mensagens." -#: ../../library/gettext.rst:269 +#: ../../library/gettext.rst:266 msgid "Return the encoding of the message catalog file." msgstr "Retorna a codificação do arquivo de catálogo de mensagens." -#: ../../library/gettext.rst:274 +#: ../../library/gettext.rst:271 msgid "" "This method installs :meth:`.gettext` into the built-in namespace, binding " "it to ``_``." msgstr "" -"Este método instala :meth:`.gettext` no espaço de nomes embutido, vinculando-" -"o a ``_``." +"Este método instala :meth:`.gettext` no espaço de nomes embutido, ligando-o " +"a ``_``." -#: ../../library/gettext.rst:277 +#: ../../library/gettext.rst:274 msgid "" "If the *names* parameter is given, it must be a sequence containing the " "names of functions you want to install in the builtins namespace in addition " -"to :func:`_`. Supported names are ``'gettext'``, ``'ngettext'``, " -"``'pgettext'``, ``'npgettext'``, ``'lgettext'``, and ``'lngettext'``." +"to :func:`!_`. Supported names are ``'gettext'``, ``'ngettext'``, " +"``'pgettext'``, and ``'npgettext'``." msgstr "" "Se o parâmetro *names* for fornecido, deve ser uma sequência contendo os " "nomes das funções que você deseja instalar no espaço de nomes embutidos, " -"além de :func:`_`. Há suporte aos nomes ``'gettext'``, ``'ngettext'``, " -"``'pgettext'``, ``'npgettext'``, ``'lgettext'`` e ``'lngettext'``." +"além de :func:`!_`. Há suporte aos nomes ``'gettext'``, ``'ngettext'``, " +"``'pgettext'`` e ``'npgettext'``" -#: ../../library/gettext.rst:282 +#: ../../library/gettext.rst:279 msgid "" -"Note that this is only one way, albeit the most convenient way, to make the :" -"func:`_` function available to your application. Because it affects the " -"entire application globally, and specifically the built-in namespace, " -"localized modules should never install :func:`_`. Instead, they should use " -"this code to make :func:`_` available to their module::" +"Note that this is only one way, albeit the most convenient way, to make " +"the :func:`!_` function available to your application. Because it affects " +"the entire application globally, and specifically the built-in namespace, " +"localized modules should never install :func:`!_`. Instead, they should use " +"this code to make :func:`!_` available to their module::" msgstr "" "Observe que esta é apenas uma maneira, embora a maneira mais conveniente, de " -"disponibilizar a função :func:`_` para sua aplicação. Como afeta a aplicação " -"inteira globalmente, e especificamente o espaço de nomes embutido, os " -"módulos localizados nunca devem instalar :func:`_`. Em vez disso, eles devem " -"usar este código para disponibilizar :func:`_` para seu módulo::" +"disponibilizar a função :func:`!_` para sua aplicação. Como afeta a " +"aplicação inteira globalmente, e especificamente o espaço de nomes embutido, " +"os módulos localizados nunca devem instalar :func:`!_`. Em vez disso, eles " +"devem usar este código para disponibilizar :func:`!_` para seu módulo::" -#: ../../library/gettext.rst:292 +#: ../../library/gettext.rst:289 msgid "" -"This puts :func:`_` only in the module's global namespace and so only " +"This puts :func:`!_` only in the module's global namespace and so only " "affects calls within this module." msgstr "" -"Isso coloca :func:`_` apenas no espaço de nomes global do módulo e, " +"Isso coloca :func:`!_` apenas no espaço de nomes global do módulo e, " "portanto, afeta apenas as chamadas dentro deste módulo." -#: ../../library/gettext.rst:295 +#: ../../library/gettext.rst:292 msgid "Added ``'pgettext'`` and ``'npgettext'``." msgstr "Adicionado ``'pgettext'`` e ``'npgettext'``." -#: ../../library/gettext.rst:300 +#: ../../library/gettext.rst:297 msgid "The :class:`GNUTranslations` class" msgstr "A classe :class:`GNUTranslations`" -#: ../../library/gettext.rst:302 +#: ../../library/gettext.rst:299 msgid "" -"The :mod:`gettext` module provides one additional class derived from :class:" -"`NullTranslations`: :class:`GNUTranslations`. This class overrides :meth:" -"`_parse` to enable reading GNU :program:`gettext` format :file:`.mo` files " -"in both big-endian and little-endian format." +"The :mod:`!gettext` module provides one additional class derived " +"from :class:`NullTranslations`: :class:`GNUTranslations`. This class " +"overrides :meth:`!_parse` to enable reading GNU :program:`gettext` " +"format :file:`.mo` files in both big-endian and little-endian format." msgstr "" -"O módulo :mod:`gettext` fornece uma classe adicional derivada de :class:" -"`NullTranslations`: :class:`GNUTranslations`. Esta classe substitui :meth:" -"`_parse` para permitir a leitura de arquivos :file:`.mo` do formato GNU :" -"program:`gettext` nos formatos big-endian e little-endian." +"O módulo :mod:`!gettext` fornece uma classe adicional derivada " +"de :class:`NullTranslations`: :class:`GNUTranslations`. Esta classe " +"substitui :meth:`!_parse` para permitir a leitura de arquivos :file:`.mo` do " +"formato GNU :program:`gettext` nos formatos big-endian e little-endian." -#: ../../library/gettext.rst:307 +#: ../../library/gettext.rst:304 msgid "" ":class:`GNUTranslations` parses optional metadata out of the translation " "catalog. It is convention with GNU :program:`gettext` to include metadata as " -"the translation for the empty string. This metadata is in :rfc:`822`\\ -" -"style ``key: value`` pairs, and should contain the ``Project-Id-Version`` " +"the translation for the empty string. This metadata is in :rfc:`822`\\ " +"-style ``key: value`` pairs, and should contain the ``Project-Id-Version`` " "key. If the key ``Content-Type`` is found, then the ``charset`` property is " -"used to initialize the \"protected\" :attr:`_charset` instance variable, " +"used to initialize the \"protected\" :attr:`!_charset` instance variable, " "defaulting to ``None`` if not found. If the charset encoding is specified, " "then all message ids and message strings read from the catalog are converted " "to Unicode using this encoding, else ASCII is assumed." @@ -541,30 +542,30 @@ msgstr "" "como tradução para a string vazia. Esses metadados estão nos pares ``key: " "value`` no estilo :rfc:`822` e devem conter a chave ``Project-Id-Version``. " "Se a chave ``Content-Type`` for encontrada, a propriedade ``charset`` será " -"usada para inicializar a variável de instância :attr:`_charset` " +"usada para inicializar a variável de instância :attr:`!_charset` " "\"protegida\", com o padrão ``None`` se não for encontrada. Se a codificação " "de \"charset\" for especificada, todos os IDs e strings de mensagens lidos " "no catálogo serão convertidos em Unicode usando essa codificação, caso " "contrário, o ASCII será presumido." -#: ../../library/gettext.rst:317 +#: ../../library/gettext.rst:314 msgid "" -"Since message ids are read as Unicode strings too, all :meth:`*gettext` " +"Since message ids are read as Unicode strings too, all ``*gettext()`` " "methods will assume message ids as Unicode strings, not byte strings." msgstr "" "Como os IDs de mensagens também são lidos como strings Unicode, todos os " -"métodos :meth:`*gettext` presumem os IDs de mensagens como sendo strings " +"métodos ``*gettext()`` presumem os IDs de mensagens como sendo strings " "Unicode, não como strings de bytes." -#: ../../library/gettext.rst:320 +#: ../../library/gettext.rst:317 msgid "" "The entire set of key/value pairs are placed into a dictionary and set as " -"the \"protected\" :attr:`_info` instance variable." +"the \"protected\" :attr:`!_info` instance variable." msgstr "" "Todo o conjunto de pares chave/valor é colocado em um dicionário e definido " -"como a variável de instância :attr:`_info` \"protegida\"." +"como a variável de instância :attr:`!_info` \"protegida\"." -#: ../../library/gettext.rst:323 +#: ../../library/gettext.rst:320 msgid "" "If the :file:`.mo` file's magic number is invalid, the major version number " "is unexpected, or if other problems occur while reading the file, " @@ -572,17 +573,17 @@ msgid "" msgstr "" "Se o número mágico do arquivo :file:`.mo` for inválido, o número principal " "da versão é inesperado ou se ocorrerem outros problemas durante a leitura do " -"arquivo, instanciando uma classe :class:`GNUTranslations` pode levantar :exc:" -"`OSError`." +"arquivo, instanciando uma classe :class:`GNUTranslations` pode " +"levantar :exc:`OSError`." -#: ../../library/gettext.rst:329 +#: ../../library/gettext.rst:326 msgid "" "The following methods are overridden from the base class implementation:" msgstr "" "Os seguintes métodos são substituídos a partir da implementação da classe " "base:" -#: ../../library/gettext.rst:333 +#: ../../library/gettext.rst:330 msgid "" "Look up the *message* id in the catalog and return the corresponding message " "string, as a Unicode string. If there is no entry in the catalog for the " @@ -596,7 +597,7 @@ msgstr "" "encaminhada para o método :meth:`~NullTranslations.gettext` do fallback. " "Caso contrário, o ID da *message* é retornado." -#: ../../library/gettext.rst:342 +#: ../../library/gettext.rst:339 msgid "" "Do a plural-forms lookup of a message id. *singular* is used as the message " "id for purposes of lookup in the catalog, while *n* is used to determine " @@ -607,23 +608,24 @@ msgstr "" "usado para determinar qual forma plural usar. A string de mensagens " "retornada é uma string Unicode." -#: ../../library/gettext.rst:346 +#: ../../library/gettext.rst:343 msgid "" "If the message id is not found in the catalog, and a fallback is specified, " -"the request is forwarded to the fallback's :meth:`~NullTranslations." -"ngettext` method. Otherwise, when *n* is 1 *singular* is returned, and " -"*plural* is returned in all other cases." +"the request is forwarded to the " +"fallback's :meth:`~NullTranslations.ngettext` method. Otherwise, when *n* " +"is 1 *singular* is returned, and *plural* is returned in all other cases." msgstr "" "Se o ID da mensagem não for encontrado no catálogo e um fallback for " -"especificado, a solicitação será encaminhada para o método do fallback :meth:" -"`~NullTranslations.ngettext`. Caso contrário, quando *n* for 1, *singular* " -"será retornado e *plural* será retornado em todos os outros casos." +"especificado, a solicitação será encaminhada para o método do " +"fallback :meth:`~NullTranslations.ngettext`. Caso contrário, quando *n* for " +"1, *singular* será retornado e *plural* será retornado em todos os outros " +"casos." -#: ../../library/gettext.rst:351 +#: ../../library/gettext.rst:348 msgid "Here is an example::" msgstr "Aqui está um exemplo::" -#: ../../library/gettext.rst:363 +#: ../../library/gettext.rst:360 msgid "" "Look up the *context* and *message* id in the catalog and return the " "corresponding message string, as a Unicode string. If there is no entry in " @@ -637,7 +639,7 @@ msgstr "" "definido, a pesquisa será encaminhada para o método :meth:`pgettext` do " "fallback. Caso contrário, o ID da *message* é retornado." -#: ../../library/gettext.rst:374 +#: ../../library/gettext.rst:371 msgid "" "Do a plural-forms lookup of a message id. *singular* is used as the message " "id for purposes of lookup in the catalog, while *n* is used to determine " @@ -647,7 +649,7 @@ msgstr "" "como o ID da mensagem para fins de pesquisa no catálogo, enquanto *n* é " "usado para determinar qual forma plural usar." -#: ../../library/gettext.rst:378 +#: ../../library/gettext.rst:375 msgid "" "If the message id for *context* is not found in the catalog, and a fallback " "is specified, the request is forwarded to the fallback's :meth:`npgettext` " @@ -655,29 +657,29 @@ msgid "" "returned in all other cases." msgstr "" "Se o ID da mensagem para *context* não for encontrado no catálogo e um " -"fallback for especificado, a solicitação será encaminhada para o método :" -"meth:`npgettext` do fallback. Caso contrário, quando *n* for 1, *singular* " -"será retornado e *plural* será retornado em todos os outros casos." +"fallback for especificado, a solicitação será encaminhada para o " +"método :meth:`npgettext` do fallback. Caso contrário, quando *n* for 1, " +"*singular* será retornado e *plural* será retornado em todos os outros casos." -#: ../../library/gettext.rst:387 +#: ../../library/gettext.rst:384 msgid "Solaris message catalog support" msgstr "Suporte a catálogo de mensagens do Solaris" -#: ../../library/gettext.rst:389 +#: ../../library/gettext.rst:386 msgid "" "The Solaris operating system defines its own binary :file:`.mo` file format, " "but since no documentation can be found on this format, it is not supported " "at this time." msgstr "" -"O sistema operacional Solaris define seu próprio formato de arquivo binário :" -"file:`.mo`, mas como nenhuma documentação pode ser encontrada nesse formato, " -"ela não é suportada no momento." +"O sistema operacional Solaris define seu próprio formato de arquivo " +"binário :file:`.mo`, mas como nenhuma documentação pode ser encontrada nesse " +"formato, ela não é suportada no momento." -#: ../../library/gettext.rst:395 +#: ../../library/gettext.rst:392 msgid "The Catalog constructor" msgstr "O construtor Catalog" -#: ../../library/gettext.rst:399 +#: ../../library/gettext.rst:396 msgid "" "GNOME uses a version of the :mod:`gettext` module by James Henstridge, but " "this version has a slightly different API. Its documented usage was::" @@ -685,15 +687,15 @@ msgstr "" "O GNOME usa uma versão do módulo :mod:`gettext` de James Henstridge, mas " "esta versão tem uma API um pouco diferente. Seu uso documentado foi::" -#: ../../library/gettext.rst:407 +#: ../../library/gettext.rst:404 msgid "" -"For compatibility with this older module, the function :func:`Catalog` is an " -"alias for the :func:`translation` function described above." +"For compatibility with this older module, the function :func:`!Catalog` is " +"an alias for the :func:`translation` function described above." msgstr "" -"Para compatibilidade com este módulo mais antigo, a função :func:`Catalog` é " -"um apelido para a função :func:`translation` descrita acima." +"Para compatibilidade com este módulo mais antigo, a função :func:`!Catalog` " +"é um apelido para a função :func:`translation` descrita acima." -#: ../../library/gettext.rst:410 +#: ../../library/gettext.rst:407 msgid "" "One difference between this module and Henstridge's: his catalog objects " "supported access through a mapping API, but this appears to be unused and so " @@ -703,11 +705,11 @@ msgstr "" "suportavam o acesso por meio de uma API de mapeamento, mas isso parece não " "ser utilizado e, portanto, não é atualmente suportado." -#: ../../library/gettext.rst:416 +#: ../../library/gettext.rst:414 msgid "Internationalizing your programs and modules" msgstr "Internacionalizando seus programas e módulos" -#: ../../library/gettext.rst:418 +#: ../../library/gettext.rst:416 msgid "" "Internationalization (I18N) refers to the operation by which a program is " "made aware of multiple languages. Localization (L10N) refers to the " @@ -722,53 +724,53 @@ msgstr "" "local. Para fornecer mensagens multilíngues para seus programas Python, você " "precisa executar as seguintes etapas:" -#: ../../library/gettext.rst:424 +#: ../../library/gettext.rst:422 msgid "" "prepare your program or module by specially marking translatable strings" msgstr "" "preparar seu programa ou módulo especialmente marcando strings traduzíveis" -#: ../../library/gettext.rst:426 +#: ../../library/gettext.rst:424 msgid "" "run a suite of tools over your marked files to generate raw messages catalogs" msgstr "" "executar um conjunto de ferramentas nos arquivos marcados para gerar " "catálogos de mensagens não tratadas" -#: ../../library/gettext.rst:428 +#: ../../library/gettext.rst:426 msgid "create language-specific translations of the message catalogs" msgstr "criar traduções específicas do idioma dos catálogos de mensagens" -#: ../../library/gettext.rst:430 +#: ../../library/gettext.rst:428 msgid "" "use the :mod:`gettext` module so that message strings are properly translated" msgstr "" "usar o módulo :mod:`gettext` para que as strings das mensagens sejam " "traduzidas corretamente" -#: ../../library/gettext.rst:432 +#: ../../library/gettext.rst:430 msgid "" "In order to prepare your code for I18N, you need to look at all the strings " "in your files. Any string that needs to be translated should be marked by " -"wrapping it in ``_('...')`` --- that is, a call to the function :func:`_`. " -"For example::" +"wrapping it in ``_('...')`` --- that is, a call to the function :func:`_ " +"`. For example::" msgstr "" "Para preparar seu código para I18N, você precisa examinar todas as strings " "em seus arquivos. Qualquer string que precise ser traduzida deve ser marcada " -"envolvendo-a em ``_('...')`` --- isto é, uma chamada para a função :func:" -"`_`. Por exemplo::" +"envolvendo-a em ``_('...')`` --- isto é, uma chamada para a função :func:`_ " +"`. Por exemplo::" -#: ../../library/gettext.rst:441 +#: ../../library/gettext.rst:439 msgid "" "In this example, the string ``'writing a log message'`` is marked as a " "candidate for translation, while the strings ``'mylog.txt'`` and ``'w'`` are " "not." msgstr "" -"Neste exemplo, a string ``'writing a log message'`` está marcada como um " -"candidato para tradução, enquanto as strings ``'mylog.txt'`` e ``'w'`` não " -"estão." +"Neste exemplo, a string ``'escrevendo uma mensagem de log'`` está marcada " +"como um candidato para tradução, enquanto as strings ``'meulog.txt'`` e " +"``'w'`` não estão." -#: ../../library/gettext.rst:444 +#: ../../library/gettext.rst:442 msgid "" "There are a few tools to extract the strings meant for translation. The " "original GNU :program:`gettext` only supported C or C++ source code but its " @@ -790,61 +792,64 @@ msgstr "" "chamado :program:`xpot` faz um trabalho semelhante e está disponível como " "parte de seu pacote `po-utils `__." -#: ../../library/gettext.rst:454 -msgid "" -"(Python also includes pure-Python versions of these programs, called :" -"program:`pygettext.py` and :program:`msgfmt.py`; some Python distributions " -"will install them for you. :program:`pygettext.py` is similar to :program:" -"`xgettext`, but only understands Python source code and cannot handle other " -"programming languages such as C or C++. :program:`pygettext.py` supports a " -"command-line interface similar to :program:`xgettext`; for details on its " -"use, run ``pygettext.py --help``. :program:`msgfmt.py` is binary compatible " -"with GNU :program:`msgfmt`. With these two programs, you may not need the " -"GNU :program:`gettext` package to internationalize your Python applications.)" -msgstr "" -"(O Python também inclui versões em Python puro desses programas, chamadas :" -"program:`pygettext.py` e :program:`msgfmt.py`; algumas distribuições do " -"Python as instalam para você. O :program:`pygettext.py` é semelhante ao :" -"program:`xgettext`, mas apenas entende o código-fonte do Python e não " -"consegue lidar com outras linguagens de programação como C ou C++. O :" -"program:`pygettext.py` possui suporte a uma interface de linha de comando " -"semelhante à do :program:`xgettext`; para detalhes sobre seu uso, execute " -"``pygettext.py --help``. O :program:`msgfmt.py` é compatível com binários " -"com GNU :program:`msgfmt`. Com esses dois programas, você pode não precisar " -"do pacote GNU :program:`gettext` para internacionalizar suas aplicações " -"Python.)" - -#: ../../library/gettext.rst:466 -msgid "" -":program:`xgettext`, :program:`pygettext`, and similar tools generate :file:" -"`.po` files that are message catalogs. They are structured human-readable " -"files that contain every marked string in the source code, along with a " -"placeholder for the translated versions of these strings." -msgstr "" -":program:`xgettext`, :program:`pygettext` e ferramentas similares geram :" -"file:`.po` que são catálogos de mensagens. Eles são arquivos legíveis por " -"humanos estruturados que contêm todas as strings marcadas no código-fonte, " -"junto com um espaço reservado para as versões traduzidas dessas strings." - -#: ../../library/gettext.rst:472 +#: ../../library/gettext.rst:452 +msgid "" +"(Python also includes pure-Python versions of these programs, " +"called :program:`pygettext.py` and :program:`msgfmt.py`; some Python " +"distributions will install them for you. :program:`pygettext.py` is similar " +"to :program:`xgettext`, but only understands Python source code and cannot " +"handle other programming languages such as C or C++. :program:`pygettext.py` " +"supports a command-line interface similar to :program:`xgettext`; for " +"details on its use, run ``pygettext.py --help``. :program:`msgfmt.py` is " +"binary compatible with GNU :program:`msgfmt`. With these two programs, you " +"may not need the GNU :program:`gettext` package to internationalize your " +"Python applications.)" +msgstr "" +"(O Python também inclui versões em Python puro desses programas, " +"chamadas :program:`pygettext.py` e :program:`msgfmt.py`; algumas " +"distribuições do Python as instalam para você. O :program:`pygettext.py` é " +"semelhante ao :program:`xgettext`, mas apenas entende o código-fonte do " +"Python e não consegue lidar com outras linguagens de programação como C ou C+" +"+. O :program:`pygettext.py` possui suporte a uma interface de linha de " +"comando semelhante à do :program:`xgettext`; para detalhes sobre seu uso, " +"execute ``pygettext.py --help``. O :program:`msgfmt.py` é compatível com " +"binários com GNU :program:`msgfmt`. Com esses dois programas, você pode não " +"precisar do pacote GNU :program:`gettext` para internacionalizar suas " +"aplicações Python.)" + +#: ../../library/gettext.rst:464 +msgid "" +":program:`xgettext`, :program:`pygettext`, and similar tools " +"generate :file:`.po` files that are message catalogs. They are structured " +"human-readable files that contain every marked string in the source code, " +"along with a placeholder for the translated versions of these strings." +msgstr "" +":program:`xgettext`, :program:`pygettext` e ferramentas similares " +"geram :file:`.po` que são catálogos de mensagens. Eles são arquivos legíveis " +"por humanos estruturados que contêm todas as strings marcadas no código-" +"fonte, junto com um espaço reservado para as versões traduzidas dessas " +"strings." + +#: ../../library/gettext.rst:470 msgid "" "Copies of these :file:`.po` files are then handed over to the individual " "human translators who write translations for every supported natural " -"language. They send back the completed language-specific versions as a :" -"file:`.po` file that's compiled into a machine-readable :file:" -"`.mo` binary catalog file using the :program:`msgfmt` program. The :file:`." -"mo` files are used by the :mod:`gettext` module for the actual translation " -"processing at run-time." +"language. They send back the completed language-specific versions as " +"a :file:`.po` file that's compiled into a machine-" +"readable :file:`.mo` binary catalog file using the :program:`msgfmt` " +"program. The :file:`.mo` files are used by the :mod:`gettext` module for " +"the actual translation processing at run-time." msgstr "" "Cópias destes arquivos :file:`.po` são entregues aos tradutores humanos " "individuais que escrevem traduções para todos os idiomas naturais " "suportados. Eles enviam de volta as versões completas específicas do idioma " "como um arquivo :file:`.po` que é compilado em um arquivo de " -"catálogo binário legível por máquina :file:`.mo` usando o programa :program:" -"`msgfmt`. Os arquivos :file:`.mo` são usados pelo módulo :mod:`gettext` para " -"o processamento de tradução real em tempo de execução." +"catálogo binário legível por máquina :file:`.mo` usando o " +"programa :program:`msgfmt`. Os arquivos :file:`.mo` são usados pelo " +"módulo :mod:`gettext` para o processamento de tradução real em tempo de " +"execução." -#: ../../library/gettext.rst:481 +#: ../../library/gettext.rst:479 msgid "" "How you use the :mod:`gettext` module in your code depends on whether you " "are internationalizing a single module or your entire application. The next " @@ -854,21 +859,21 @@ msgstr "" "internacionalizando um único módulo ou sua aplicação inteira. As próximas " "duas seções discutirão cada caso." -#: ../../library/gettext.rst:487 +#: ../../library/gettext.rst:485 msgid "Localizing your module" msgstr "Localizando seu módulo" -#: ../../library/gettext.rst:489 +#: ../../library/gettext.rst:487 msgid "" "If you are localizing your module, you must take care not to make global " -"changes, e.g. to the built-in namespace. You should not use the GNU :program:" -"`gettext` API but instead the class-based API." +"changes, e.g. to the built-in namespace. You should not use the " +"GNU :program:`gettext` API but instead the class-based API." msgstr "" "Se você estiver localizando seu módulo, tome cuidado para não fazer " "alterações globais, por exemplo para o espaço de nomes embutidos. Você não " "deve usar a API GNU :program:`gettext`, mas a API baseada em classe." -#: ../../library/gettext.rst:493 +#: ../../library/gettext.rst:491 msgid "" "Let's say your module is called \"spam\" and the module's various natural " "language translation :file:`.mo` files reside in :file:`/usr/share/locale` " @@ -880,24 +885,24 @@ msgstr "" "formato GNU :program:`gettext`. Aqui está o que você colocaria sobre o seu " "módulo::" -#: ../../library/gettext.rst:504 +#: ../../library/gettext.rst:502 msgid "Localizing your application" msgstr "Localizando sua aplicação" -#: ../../library/gettext.rst:506 +#: ../../library/gettext.rst:504 msgid "" -"If you are localizing your application, you can install the :func:`_` " +"If you are localizing your application, you can install the :func:`!_` " "function globally into the built-in namespace, usually in the main driver " "file of your application. This will let all your application-specific files " "just use ``_('...')`` without having to explicitly install it in each file." msgstr "" -"Se você estiver localizando sua aplicação, poderá instalar a função :func:" -"`_` globalmente no espaço de nomes embutidos, geralmente no arquivo " -"principal do driver do sua aplicação. Isso permitirá que todos os arquivos " -"específicos de sua aplicação usem ``_('...')`` sem precisar instalá-la " -"explicitamente em cada arquivo." +"Se você estiver localizando sua aplicação, poderá instalar a função :func:`!" +"_` globalmente no espaço de nomes embutidos, geralmente no arquivo principal " +"do driver do sua aplicação. Isso permitirá que todos os arquivos específicos " +"de sua aplicação usem ``_('...')`` sem precisar instalá-la explicitamente em " +"cada arquivo." -#: ../../library/gettext.rst:511 +#: ../../library/gettext.rst:509 msgid "" "In the simple case then, you need only add the following bit of code to the " "main driver file of your application::" @@ -905,19 +910,19 @@ msgstr "" "No caso simples, você precisa adicionar apenas o seguinte código ao arquivo " "do driver principal da sua aplicação::" -#: ../../library/gettext.rst:517 +#: ../../library/gettext.rst:515 msgid "" -"If you need to set the locale directory, you can pass it into the :func:" -"`install` function::" +"If you need to set the locale directory, you can pass it into " +"the :func:`install` function::" msgstr "" "Se você precisar definir o diretório da localidade, poderá passá-lo para a " "função :func:`install`::" -#: ../../library/gettext.rst:525 +#: ../../library/gettext.rst:523 msgid "Changing languages on the fly" msgstr "Alterando os idiomas durante o uso" -#: ../../library/gettext.rst:527 +#: ../../library/gettext.rst:525 msgid "" "If your program needs to support many languages at the same time, you may " "want to create multiple translation instances and then switch between them " @@ -927,11 +932,11 @@ msgstr "" "convém criar várias instâncias de tradução e alternar entre elas " "explicitamente, assim::" -#: ../../library/gettext.rst:548 +#: ../../library/gettext.rst:546 msgid "Deferred translations" msgstr "Traduções adiadas" -#: ../../library/gettext.rst:550 +#: ../../library/gettext.rst:548 msgid "" "In most coding situations, strings are translated where they are coded. " "Occasionally however, you need to mark strings for translation, but defer " @@ -941,7 +946,7 @@ msgstr "" "codificadas. Ocasionalmente, no entanto, é necessário marcar strings para " "tradução, mas adiar a tradução real até mais tarde. Um exemplo clássico é::" -#: ../../library/gettext.rst:563 +#: ../../library/gettext.rst:561 msgid "" "Here, you want to mark the strings in the ``animals`` list as being " "translatable, but you don't actually want to translate them until they are " @@ -950,63 +955,64 @@ msgstr "" "Aqui, você deseja marcar as strings na lista ``animals`` como traduzíveis, " "mas na verdade não deseja traduzi-las até que sejam impressas." -#: ../../library/gettext.rst:567 +#: ../../library/gettext.rst:565 msgid "Here is one way you can handle this situation::" msgstr "Aqui está uma maneira de lidar com esta situação::" -#: ../../library/gettext.rst:583 +#: ../../library/gettext.rst:581 msgid "" -"This works because the dummy definition of :func:`_` simply returns the " +"This works because the dummy definition of :func:`!_` simply returns the " "string unchanged. And this dummy definition will temporarily override any " -"definition of :func:`_` in the built-in namespace (until the :keyword:`del` " -"command). Take care, though if you have a previous definition of :func:`_` " +"definition of :func:`!_` in the built-in namespace (until the :keyword:`del` " +"command). Take care, though if you have a previous definition of :func:`!_` " "in the local namespace." msgstr "" -"Isso funciona porque a definição fictícia de :func:`_` simplesmente retorna " -"a string inalterada. E essa definição fictícia va substituir temporariamente " -"qualquer definição de :func:`_` no espaço de nomes embutido (até o comando :" -"keyword:`del`). Tome cuidado, se você tiver uma definição anterior de :func:" -"`_` no espaço de nomes local." +"Isso funciona porque a definição fictícia de :func:`!_` simplesmente retorna " +"a string inalterada. E essa definição fictícia vai substituir " +"temporariamente qualquer definição de :func:`!_` no espaço de nomes embutido " +"(até o comando :keyword:`del`). Tome cuidado, se você tiver uma definição " +"anterior de :func:`!_` no espaço de nomes local." -#: ../../library/gettext.rst:589 +#: ../../library/gettext.rst:587 msgid "" -"Note that the second use of :func:`_` will not identify \"a\" as being " +"Note that the second use of :func:`!_` will not identify \"a\" as being " "translatable to the :program:`gettext` program, because the parameter is not " "a string literal." msgstr "" -"Observe que o segundo uso de :func:`_` não identificará \"a\" como " +"Observe que o segundo uso de :func:`!_` não identificará \"a\" como " "traduzível para o programa :program:`gettext`, porque o parâmetro não é uma " "string literal." -#: ../../library/gettext.rst:593 +#: ../../library/gettext.rst:591 msgid "Another way to handle this is with the following example::" msgstr "Outra maneira de lidar com isso é com o seguinte exemplo::" -#: ../../library/gettext.rst:607 +#: ../../library/gettext.rst:605 msgid "" -"In this case, you are marking translatable strings with the function :func:" -"`N_`, which won't conflict with any definition of :func:`_`. However, you " +"In this case, you are marking translatable strings with the function :func:`!" +"N_`, which won't conflict with any definition of :func:`!_`. However, you " "will need to teach your message extraction program to look for translatable " -"strings marked with :func:`N_`. :program:`xgettext`, :program:`pygettext`, " +"strings marked with :func:`!N_`. :program:`xgettext`, :program:`pygettext`, " "``pybabel extract``, and :program:`xpot` all support this through the use of " -"the :option:`!-k` command-line switch. The choice of :func:`N_` here is " -"totally arbitrary; it could have just as easily been :func:" -"`MarkThisStringForTranslation`." +"the :option:`!-k` command-line switch. The choice of :func:`!N_` here is " +"totally arbitrary; it could have just as easily been :func:`!" +"MarkThisStringForTranslation`." msgstr "" -"Nesse caso, você está marcando strings traduzíveis com a função :func:`N_`, " -"que não entra em conflito com nenhuma definição de :func:`_`. No entanto, " +"Nesse caso, você está marcando strings traduzíveis com a função :func:`!N_`, " +"que não entra em conflito com nenhuma definição de :func:`!_`. No entanto, " "você precisará ensinar seu programa de extração de mensagens a procurar " -"strings traduzíveis marcadas com :func:`N_`. :program:`xgettext`, :program:" -"`pygettext`, ``pybabel extract`` e :program:`xpot` possuem suporte a isso " -"através do uso da opção de linha de comando :option:`!-k`. A escolha de :" -"func:`N_` aqui é totalmente arbitrária; poderia facilmente ter sido :func:" -"`MarkThisStringForTranslation`." - -#: ../../library/gettext.rst:618 +"strings traduzíveis marcadas com :func:`!" +"N_`. :program:`xgettext`, :program:`pygettext`, ``pybabel extract`` " +"e :program:`xpot` possuem suporte a isso através do uso da opção de linha de " +"comando :option:`!-k`. A escolha de :func:`!N_` aqui é totalmente " +"arbitrária; poderia facilmente ter sido :func:`!" +"MarkThisStringForTranslation`." + +#: ../../library/gettext.rst:616 msgid "Acknowledgements" msgstr "Reconhecimentos" -#: ../../library/gettext.rst:620 +#: ../../library/gettext.rst:618 msgid "" "The following people contributed code, feedback, design suggestions, " "previous implementations, and valuable experience to the creation of this " @@ -1015,72 +1021,72 @@ msgstr "" "As seguintes pessoas contribuíram com código, feedback, sugestões de design, " "implementações anteriores e experiência valiosa para a criação deste módulo:" -#: ../../library/gettext.rst:623 +#: ../../library/gettext.rst:621 msgid "Peter Funk" msgstr "Peter Funk" -#: ../../library/gettext.rst:625 +#: ../../library/gettext.rst:623 msgid "James Henstridge" msgstr "James Henstridge" -#: ../../library/gettext.rst:627 +#: ../../library/gettext.rst:625 msgid "Juan David Ibáñez Palomar" msgstr "Juan David Ibáñez Palomar" -#: ../../library/gettext.rst:629 +#: ../../library/gettext.rst:627 msgid "Marc-André Lemburg" msgstr "Marc-André Lemburg" -#: ../../library/gettext.rst:631 +#: ../../library/gettext.rst:629 msgid "Martin von Löwis" msgstr "Martin von Löwis" -#: ../../library/gettext.rst:633 +#: ../../library/gettext.rst:631 msgid "François Pinard" msgstr "François Pinard" -#: ../../library/gettext.rst:635 +#: ../../library/gettext.rst:633 msgid "Barry Warsaw" msgstr "Barry Warsaw" -#: ../../library/gettext.rst:637 +#: ../../library/gettext.rst:635 msgid "Gustavo Niemeyer" msgstr "Gustavo Niemeyer" -#: ../../library/gettext.rst:640 +#: ../../library/gettext.rst:638 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/gettext.rst:641 +#: ../../library/gettext.rst:639 msgid "" -"The default locale directory is system dependent; for example, on RedHat " +"The default locale directory is system dependent; for example, on Red Hat " "Linux it is :file:`/usr/share/locale`, but on Solaris it is :file:`/usr/lib/" -"locale`. The :mod:`gettext` module does not try to support these system " +"locale`. The :mod:`!gettext` module does not try to support these system " "dependent defaults; instead its default is :file:`{sys.base_prefix}/share/" "locale` (see :data:`sys.base_prefix`). For this reason, it is always best to " "call :func:`bindtextdomain` with an explicit absolute path at the start of " "your application." msgstr "" -"O diretório de localidade padrão depende do sistema; por exemplo, no RedHat " +"O diretório de localidade padrão depende do sistema; por exemplo, no Red Hat " "Linux é :file:`/usr/share/locale`, mas no Solaris é :file:`/usr/lib/locale`. " -"O módulo :mod:`gettext` não tenta dar suporte a esses padrões dependentes do " -"sistema; em vez disso, seu padrão é :file:`{sys.base_prefix}/share/locale` " -"(consulte :data:`sys.base_prefix`). Por esse motivo, é sempre melhor chamar :" -"func:`bindtextdomain` com um caminho absoluto explícito no início da sua " -"aplicação." +"O módulo :mod:`!gettext` não tenta dar suporte a esses padrões dependentes " +"do sistema; em vez disso, seu padrão é :file:`{sys.base_prefix}/share/" +"locale` (consulte :data:`sys.base_prefix`). Por esse motivo, é sempre melhor " +"chamar :func:`bindtextdomain` com um caminho absoluto explícito no início da " +"sua aplicação." -#: ../../library/gettext.rst:649 +#: ../../library/gettext.rst:647 msgid "See the footnote for :func:`bindtextdomain` above." msgstr "Consulte a nota de rodapé para a :func:`bindtextdomain` acima." #: ../../library/gettext.rst:56 msgid "_ (underscore)" -msgstr "" +msgstr "_ (sublinhado)" #: ../../library/gettext.rst:56 msgid "gettext" msgstr "gettext" -#: ../../library/gettext.rst:397 +#: ../../library/gettext.rst:394 msgid "GNOME" -msgstr "" +msgstr "GNOME" diff --git a/library/glob.po b/library/glob.po index 72e6667e9..f7c3a4b3f 100644 --- a/library/glob.po +++ b/library/glob.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Sheila Gomes , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -46,22 +44,22 @@ msgstr "" "um padrão especificado de acordo com as regras usadas pelo shell Unix, " "embora os resultados sejam retornados em ordem arbitrária. Nenhuma expansão " "de til é feita, mas ``*``, ``?`` e os intervalos de caracteres expressos com " -"``[]`` serão correspondidos corretamente. Isso é feito usando as funções :" -"func:`os.scandir` e :func:`fnmatch.fnmatch` em conjunto, e não invocando " -"realmente um subshell." +"``[]`` serão correspondidos corretamente. Isso é feito usando as " +"funções :func:`os.scandir` e :func:`fnmatch.fnmatch` em conjunto, e não " +"invocando realmente um subshell." #: ../../library/glob.rst:28 msgid "" "Note that files beginning with a dot (``.``) can only be matched by patterns " -"that also start with a dot, unlike :func:`fnmatch.fnmatch` or :func:`pathlib." -"Path.glob`. (For tilde and shell variable expansion, use :func:`os.path." -"expanduser` and :func:`os.path.expandvars`.)" +"that also start with a dot, unlike :func:`fnmatch.fnmatch` " +"or :func:`pathlib.Path.glob`. (For tilde and shell variable expansion, " +"use :func:`os.path.expanduser` and :func:`os.path.expandvars`.)" msgstr "" "Observe que arquivos iniciados com um ponto (``.``) só podem ser " -"correspondidos com padrões que também iniciam com um ponto, ao contrário de :" -"func:`fnmatch.fnmatch` ou :func:`pathlib.Path.glob`. (Para expansão de til e " -"variável de shell, use :func:`os.path.expanduser` e :func:`os.path." -"expandvars`.)" +"correspondidos com padrões que também iniciam com um ponto, ao contrário " +"de :func:`fnmatch.fnmatch` ou :func:`pathlib.Path.glob`. (Para expansão de " +"til e variável de shell, use :func:`os.path.expanduser` " +"e :func:`os.path.expandvars`.)" #: ../../library/glob.rst:34 msgid "" @@ -79,28 +77,19 @@ msgstr "O módulo :mod:`pathlib` oferece objetos de caminho de alto nível." msgid "" "Return a possibly empty list of path names that match *pathname*, which must " "be a string containing a path specification. *pathname* can be either " -"absolute (like :file:`/usr/src/Python-1.5/Makefile`) or relative (like :file:" -"`../../Tools/\\*/\\*.gif`), and can contain shell-style wildcards. Broken " -"symlinks are included in the results (as in the shell). Whether or not the " -"results are sorted depends on the file system. If a file that satisfies " -"conditions is removed or added during the call of this function, whether a " -"path name for that file be included is unspecified." +"absolute (like :file:`/usr/src/Python-1.5/Makefile`) or relative " +"(like :file:`../../Tools/\\*/\\*.gif`), and can contain shell-style " +"wildcards. Broken symlinks are included in the results (as in the shell). " +"Whether or not the results are sorted depends on the file system. If a file " +"that satisfies conditions is removed or added during the call of this " +"function, whether a path name for that file be included is unspecified." msgstr "" -"Retorna uma lista possivelmente vazia de nomes de caminho que correspondem a " -"*pathname*, que deve ser uma string contendo uma especificação de caminho. " -"*pathname* pode ser absoluto (como :file:`/usr/src/Python-1.5/Makefile`) ou " -"relativo (como :file:`../../Tools/\\*/\\*.gif`) e pode conter curingas no " -"estilo shell. Links simbólicos quebrados são incluídos nos resultados (como " -"no shell). Se os resultados são classificados ou não depende do sistema de " -"arquivos. Se um arquivo que satisfaz as condições for removido ou adicionado " -"durante a chamada desta função, não é especificado se um nome de caminho " -"para esse arquivo ser incluído." #: ../../library/glob.rst:54 msgid "" "If *root_dir* is not ``None``, it should be a :term:`path-like object` " -"specifying the root directory for searching. It has the same effect on :" -"func:`glob` as changing the current directory before calling it. If " +"specifying the root directory for searching. It has the same effect " +"on :func:`glob` as changing the current directory before calling it. If " "*pathname* is relative, the result will contain paths relative to *root_dir*." msgstr "" "Se *root_dir* não for ``None``, deve ser um :term:`objeto caminho ou " @@ -113,8 +102,8 @@ msgid "" "This function can support :ref:`paths relative to directory descriptors " "` with the *dir_fd* parameter." msgstr "" -"Esta função pode suportar :ref:`paths relative to directory descriptors " -"` com o parâmetro *dir_fd*." +"Esta função oferece suporte para :ref:`caminhos relativos aos descritores de " +"diretório ` com o parâmetro *dir_fd*." #: ../../library/glob.rst:66 msgid "" @@ -125,8 +114,8 @@ msgid "" msgstr "" "Se *recursive* for verdadeiro, o padrão \"``**``\" corresponderá a qualquer " "arquivo e zero ou mais diretórios, subdiretórios e links simbólicos para " -"diretórios. Se o padrão for seguido por um :data:`os.sep` ou :data:`os." -"altsep`, então os arquivos não irão corresponder." +"diretórios. Se o padrão for seguido por um :data:`os.sep` " +"ou :data:`os.altsep`, então os arquivos não irão corresponder." #: ../../library/glob.rst:71 msgid "" @@ -141,7 +130,7 @@ msgid "" "Raises an :ref:`auditing event ` ``glob.glob`` with arguments " "``pathname``, ``recursive``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``glob.glob`` com " +"Levanta um :ref:`evento de auditoria ` ``glob.glob`` com os " "argumentos ``pathname``, ``recursive``." #: ../../library/glob.rst:74 ../../library/glob.rst:97 @@ -149,7 +138,7 @@ msgid "" "Raises an :ref:`auditing event ` ``glob.glob/2`` with arguments " "``pathname``, ``recursive``, ``root_dir``, ``dir_fd``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``glob.glob/2`` com " +"Levanta um :ref:`evento de auditoria ` ``glob.glob/2`` com os " "argumentos ``pathname``, ``recursive``, ``root_dir``, ``dir_fd``." #: ../../library/glob.rst:77 @@ -177,8 +166,8 @@ msgid "" "Return an :term:`iterator` which yields the same values as :func:`glob` " "without actually storing them all simultaneously." msgstr "" -"Retorna um :term:`iterador ` que produz os mesmos valores que :" -"func:`glob` sem realmente armazená-los todos simultaneamente." +"Retorna um :term:`iterador ` que produz os mesmos valores " +"que :func:`glob` sem realmente armazená-los todos simultaneamente." #: ../../library/glob.rst:111 msgid "" @@ -196,27 +185,27 @@ msgstr "" #: ../../library/glob.rst:120 msgid "" -"For example, consider a directory containing the following files: :file:`1." -"gif`, :file:`2.txt`, :file:`card.gif` and a subdirectory :file:`sub` which " -"contains only the file :file:`3.txt`. :func:`glob` will produce the " -"following results. Notice how any leading components of the path are " -"preserved. ::" +"For example, consider a directory containing the following " +"files: :file:`1.gif`, :file:`2.txt`, :file:`card.gif` and a " +"subdirectory :file:`sub` which contains only the " +"file :file:`3.txt`. :func:`glob` will produce the following results. " +"Notice how any leading components of the path are preserved. ::" msgstr "" -"Por exemplo, considere um diretório contendo os seguintes arquivos: :file:`1." -"gif`, :file:`2.txt`, :file:`card.gif` e um subdiretório :file:`sub` que " -"contém apenas o arquivo :file:`3.txt`. :func:`glob` produzirá os seguintes " -"resultados. Observe como todos os componentes principais do caminho são " -"preservados. ::" +"Por exemplo, considere um diretório contendo os seguintes " +"arquivos: :file:`1.gif`, :file:`2.txt`, :file:`card.gif` e um " +"subdiretório :file:`sub` que contém apenas o " +"arquivo :file:`3.txt`. :func:`glob` produzirá os seguintes resultados. " +"Observe como todos os componentes principais do caminho são preservados. ::" #: ../../library/glob.rst:138 msgid "" "If the directory contains files starting with ``.`` they won't be matched by " -"default. For example, consider a directory containing :file:`card.gif` and :" -"file:`.card.gif`::" +"default. For example, consider a directory containing :file:`card.gif` " +"and :file:`.card.gif`::" msgstr "" "Se o diretório contém arquivos começando com ``.`` eles não serão " -"correspondidos por padrão. Por exemplo, considere um diretório contendo :" -"file:`card.gif` e :file:`.card.gif` ::" +"correspondidos por padrão. Por exemplo, considere um diretório " +"contendo :file:`card.gif` e :file:`.card.gif` ::" #: ../../library/glob.rst:150 msgid "Module :mod:`fnmatch`" @@ -228,40 +217,40 @@ msgstr "Expansão de nome de arquivo no estilo shell (não caminho)" #: ../../library/glob.rst:9 msgid "filenames" -msgstr "" +msgstr "nomes de arquivos" #: ../../library/glob.rst:9 msgid "pathname expansion" -msgstr "" +msgstr "expansão de nome de arquivo" #: ../../library/glob.rst:13 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisco)" #: ../../library/glob.rst:13 ../../library/glob.rst:63 msgid "in glob-style wildcards" -msgstr "" +msgstr "caracteres curingas no estilo blog" #: ../../library/glob.rst:13 msgid "? (question mark)" -msgstr "" +msgstr "? (interrogação)" #: ../../library/glob.rst:13 msgid "[] (square brackets)" -msgstr "" +msgstr "[] (colchetes)" #: ../../library/glob.rst:13 msgid "! (exclamation)" -msgstr "" +msgstr "! (exclamação)" #: ../../library/glob.rst:13 msgid "- (minus)" -msgstr "" +msgstr "- (menos)" #: ../../library/glob.rst:13 msgid ". (dot)" -msgstr "" +msgstr ". (ponto)" #: ../../library/glob.rst:63 msgid "**" -msgstr "" +msgstr "**" diff --git a/library/graphlib.po b/library/graphlib.po index ecdee4e37..45aa8d879 100644 --- a/library/graphlib.po +++ b/library/graphlib.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# Leticia Portella , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,8 +37,8 @@ msgid "" "Provides functionality to topologically sort a graph of :term:`hashable` " "nodes." msgstr "" -"Fornece funcionalidade para classificar topologicamente um grafo de nós :" -"term:`hasheáveis `." +"Fornece funcionalidade para classificar topologicamente um grafo de " +"nós :term:`hasheáveis `." #: ../../library/graphlib.rst:22 msgid "" @@ -75,8 +73,8 @@ msgstr "" "que represente um grafo acíclico direcionado no qual as chaves sejam nós e " "os valores sejam iteráveis de todos os predecessores desse nó no grafo (os " "nós que possuem bordas que apontam para o valor na chave). Nós adicionais " -"podem ser adicionados ao grafo usando o método :meth:`~TopologicalSorter." -"add`." +"podem ser adicionados ao grafo usando o " +"método :meth:`~TopologicalSorter.add`." #: ../../library/graphlib.rst:37 msgid "" @@ -109,19 +107,20 @@ msgid "" "Call :meth:`~TopologicalSorter.done` on each node as it finishes processing." msgstr "" "Enquanto :meth:`~TopologicalSorter.is_active` é ``True``, itera pelos nós " -"retornados por :meth:`~TopologicalSorter.get_ready` e os processa. Chama :" -"meth:`~TopologicalSorter.done` em cada nó na medida em que finaliza o " +"retornados por :meth:`~TopologicalSorter.get_ready` e os processa. " +"Chama :meth:`~TopologicalSorter.done` em cada nó na medida em que finaliza o " "processamento." #: ../../library/graphlib.rst:49 msgid "" "In case just an immediate sorting of the nodes in the graph is required and " -"no parallelism is involved, the convenience method :meth:`TopologicalSorter." -"static_order` can be used directly:" +"no parallelism is involved, the convenience " +"method :meth:`TopologicalSorter.static_order` can be used directly:" msgstr "" "Caso apenas uma classificação imediata dos nós no grafo seja necessária e " -"nenhum paralelismo esteja envolvido, o método de conveniência :meth:" -"`TopologicalSorter.static_order` pode ser usado diretamente:" +"nenhum paralelismo esteja envolvido, o método de " +"conveniência :meth:`TopologicalSorter.static_order` pode ser usado " +"diretamente:" #: ../../library/graphlib.rst:60 msgid "" @@ -168,42 +167,43 @@ msgstr "" #: ../../library/graphlib.rst:102 msgid "" "Mark the graph as finished and check for cycles in the graph. If any cycle " -"is detected, :exc:`CycleError` will be raised, but :meth:`~TopologicalSorter." -"get_ready` can still be used to obtain as many nodes as possible until " -"cycles block more progress. After a call to this function, the graph cannot " -"be modified, and therefore no more nodes can be added using :meth:" -"`~TopologicalSorter.add`." +"is detected, :exc:`CycleError` will be raised, " +"but :meth:`~TopologicalSorter.get_ready` can still be used to obtain as many " +"nodes as possible until cycles block more progress. After a call to this " +"function, the graph cannot be modified, and therefore no more nodes can be " +"added using :meth:`~TopologicalSorter.add`." msgstr "" "Marca o grafo como concluído e verifica os ciclos no grafo. Se qualquer " -"ciclo for detectado, :exc:`CycleError` será gerado, mas :meth:" -"`~TopologicalSorter.get_ready` ainda poderá ser usado para obter o maior " -"número possível de nós até que os ciclos bloqueiem mais progressos. Após uma " -"chamada para esta função, o grafo não pode ser modificado e, portanto, " -"nenhum nó pode ser adicionado usando :meth:`~TopologicalSorter.add`." +"ciclo for detectado, :exc:`CycleError` será gerado, " +"mas :meth:`~TopologicalSorter.get_ready` ainda poderá ser usado para obter o " +"maior número possível de nós até que os ciclos bloqueiem mais progressos. " +"Após uma chamada para esta função, o grafo não pode ser modificado e, " +"portanto, nenhum nó pode ser adicionado " +"usando :meth:`~TopologicalSorter.add`." #: ../../library/graphlib.rst:111 msgid "" "Returns ``True`` if more progress can be made and ``False`` otherwise. " "Progress can be made if cycles do not block the resolution and either there " -"are still nodes ready that haven't yet been returned by :meth:" -"`TopologicalSorter.get_ready` or the number of nodes marked :meth:" -"`TopologicalSorter.done` is less than the number that have been returned by :" -"meth:`TopologicalSorter.get_ready`." +"are still nodes ready that haven't yet been returned " +"by :meth:`TopologicalSorter.get_ready` or the number of nodes " +"marked :meth:`TopologicalSorter.done` is less than the number that have been " +"returned by :meth:`TopologicalSorter.get_ready`." msgstr "" "Retorna ``True`` se mais progresso puder ser feito e ``False`` caso " "contrário. É possível progredir se os ciclos não bloquearem a resolução e " -"ainda houver nós prontos que ainda não foram retornados por :meth:" -"`TopologicalSorter.get_ready` ou o número de nós marcados :meth:" -"`TopologicalSorter.done` é menor que o número retornado por :meth:" -"`TopologicalSorter.get_ready`." +"ainda houver nós prontos que ainda não foram retornados " +"por :meth:`TopologicalSorter.get_ready` ou o número de nós " +"marcados :meth:`TopologicalSorter.done` é menor que o número retornado " +"por :meth:`TopologicalSorter.get_ready`." #: ../../library/graphlib.rst:118 msgid "" -"The :meth:`~TopologicalSorter.__bool__` method of this class defers to this " -"function, so instead of::" +"The :meth:`~object.__bool__` method of this class defers to this function, " +"so instead of::" msgstr "" -"O método :meth:`~TopologicalSorter.__bool__` desta classe adia para essa " -"função, então, em vez de::" +"O método :meth:`~object.__bool__` desta classe adia para essa função, então, " +"em vez de::" #: ../../library/graphlib.rst:124 msgid "it is possible to simply do::" @@ -211,11 +211,11 @@ msgstr "é possível simplesmente fazer::" #: ../../library/graphlib.rst:129 ../../library/graphlib.rst:152 msgid "" -"Raises :exc:`ValueError` if called without calling :meth:`~TopologicalSorter." -"prepare` previously." +"Raises :exc:`ValueError` if called without " +"calling :meth:`~TopologicalSorter.prepare` previously." msgstr "" -"Levanta :exc:`ValueError` se chamado sem chamar :meth:`~TopologicalSorter." -"prepare` anteriormente." +"Levanta :exc:`ValueError` se chamado sem " +"chamar :meth:`~TopologicalSorter.prepare` anteriormente." #: ../../library/graphlib.rst:134 msgid "" @@ -225,22 +225,22 @@ msgid "" msgstr "" "Marca um conjunto de nós retornados por :meth:`TopologicalSorter.get_ready` " "como processado, desbloqueando qualquer sucessor de cada nó em *nodes* para " -"ser retornado no futuro por uma chamada para :meth:`TopologicalSorter." -"get_ready`." +"ser retornado no futuro por uma chamada " +"para :meth:`TopologicalSorter.get_ready`." #: ../../library/graphlib.rst:138 msgid "" "Raises :exc:`ValueError` if any node in *nodes* has already been marked as " "processed by a previous call to this method or if a node was not added to " -"the graph by using :meth:`TopologicalSorter.add`, if called without calling :" -"meth:`~TopologicalSorter.prepare` or if node has not yet been returned by :" -"meth:`~TopologicalSorter.get_ready`." +"the graph by using :meth:`TopologicalSorter.add`, if called without " +"calling :meth:`~TopologicalSorter.prepare` or if node has not yet been " +"returned by :meth:`~TopologicalSorter.get_ready`." msgstr "" "Levanta :exc:`ValueError` se algum nó em *nodes* já foi marcado como " "processado por uma chamada anterior a este método ou se um nó não foi " "adicionado ao grafo usando :meth:`TopologicalSorter.add`, se chamado sem " -"chamar :meth:`~ TopologicalSorter.prepare` ou se o nó ainda não foi " -"retornado por :meth:`~TopologicalSorter.get_ready`." +"chamar :meth:`~TopologicalSorter.prepare` ou se o nó ainda não foi retornado " +"por :meth:`~TopologicalSorter.get_ready`." #: ../../library/graphlib.rst:146 msgid "" @@ -259,14 +259,14 @@ msgstr "" #: ../../library/graphlib.rst:157 msgid "" "Returns an iterator object which will iterate over nodes in a topological " -"order. When using this method, :meth:`~TopologicalSorter.prepare` and :meth:" -"`~TopologicalSorter.done` should not be called. This method is equivalent " -"to::" +"order. When using this method, :meth:`~TopologicalSorter.prepare` " +"and :meth:`~TopologicalSorter.done` should not be called. This method is " +"equivalent to::" msgstr "" "Retorna um objeto iterador que irá iterar sobre os nós em uma ordem " -"topológica. Ao usar este método, :meth:`~TopologicalSorter.prepare` e :meth:" -"`~TopologicalSorter.done` não devem ser chamados. Este método é equivalente " -"a::" +"topológica. Ao usar este método, :meth:`~TopologicalSorter.prepare` " +"e :meth:`~TopologicalSorter.done` não devem ser chamados. Este método é " +"equivalente a::" #: ../../library/graphlib.rst:169 msgid "" @@ -279,13 +279,14 @@ msgstr "" #: ../../library/graphlib.rst:186 msgid "" "This is due to the fact that \"0\" and \"2\" are in the same level in the " -"graph (they would have been returned in the same call to :meth:" -"`~TopologicalSorter.get_ready`) and the order between them is determined by " -"the order of insertion." +"graph (they would have been returned in the same call " +"to :meth:`~TopologicalSorter.get_ready`) and the order between them is " +"determined by the order of insertion." msgstr "" "Isso se deve ao fato de que \"0\" e \"2\" estão no mesmo nível no grafo " -"(eles teriam sido retornados na mesma chamada para :meth:`~TopologicalSorter." -"get_ready`) e a ordem entre eles é determinada pela ordem de inserção." +"(eles teriam sido retornados na mesma chamada " +"para :meth:`~TopologicalSorter.get_ready`) e a ordem entre eles é " +"determinada pela ordem de inserção." #: ../../library/graphlib.rst:192 msgid "If any cycle is detected, :exc:`CycleError` will be raised." @@ -305,20 +306,22 @@ msgid "" "cycles exist in the working graph. If multiple cycles exist, only one " "undefined choice among them will be reported and included in the exception." msgstr "" -"Subclasse de :exc:`ValueError` levantada por :meth:`TopologicalSorter." -"prepare` se houver ciclos no grafo de trabalho. Se existirem vários ciclos, " -"apenas uma opção indefinida entre eles será relatada e incluída na exceção." +"Subclasse de :exc:`ValueError` levantada " +"por :meth:`TopologicalSorter.prepare` se houver ciclos no grafo de trabalho. " +"Se existirem vários ciclos, apenas uma opção indefinida entre eles será " +"relatada e incluída na exceção." #: ../../library/graphlib.rst:207 msgid "" -"The detected cycle can be accessed via the second element in the :attr:" -"`~CycleError.args` attribute of the exception instance and consists in a " -"list of nodes, such that each node is, in the graph, an immediate " -"predecessor of the next node in the list. In the reported list, the first " -"and the last node will be the same, to make it clear that it is cyclic." +"The detected cycle can be accessed via the second element in " +"the :attr:`~BaseException.args` attribute of the exception instance and " +"consists in a list of nodes, such that each node is, in the graph, an " +"immediate predecessor of the next node in the list. In the reported list, " +"the first and the last node will be the same, to make it clear that it is " +"cyclic." msgstr "" -"O ciclo detectado pode ser acessado através do segundo elemento no atributo :" -"attr:`~CycleError.args` da instância de exceção e consiste em uma lista de " -"nós, de modo que cada nó seja, no grafo, um predecessor imediato do próximo " -"nó na lista. Na lista relatada, o primeiro e o último nó serão os mesmos, " -"para deixar claro que é cíclico." +"O ciclo detectado pode ser acessado através do segundo elemento no " +"atributo :attr:`~BaseException.args` da instância de exceção e consiste em " +"uma lista de nós, de modo que cada nó seja, no grafo, um predecessor " +"imediato do próximo nó na lista. Na lista relatada, o primeiro e o último nó " +"serão os mesmos, para deixar claro que é cíclico." diff --git a/library/grp.po b/library/grp.po index 838f63e6b..95e1fcaae 100644 --- a/library/grp.po +++ b/library/grp.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Marciel Leal , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -36,20 +32,12 @@ msgid "" "This module provides access to the Unix group database. It is available on " "all Unix versions." msgstr "" +"Este módulo fornece acesso ao banco de dados de grupos Unix. Ele está " +"disponível em todas as versões do Unix." -#: ../../includes/wasm-notavail.rst:3 -msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr ":ref:`Disponibilidade `: não Emscripten, não WASI." - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly platforms " -"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " -"more information." -msgstr "" -"Este módulo não funciona ou não está disponível em plataformas WebAssembly " -"``wasm32-emscripten`` e ``wasm32-wasi``. Veja :ref:`wasm-availability` para " -"mais informações." +#: ../../library/grp.rst:13 +msgid ":ref:`Availability `: Unix, not Emscripten, not WASI." +msgstr ":ref:`Disponibilidade `: Unix, não Emscripten, não WASI." #: ../../library/grp.rst:15 msgid "" @@ -57,6 +45,9 @@ msgid "" "correspond to the members of the ``group`` structure (Attribute field below, " "see ````):" msgstr "" +"As entradas do banco de dados de grupos são relatadas como um objeto tupla " +"ou similar, cujos atributos correspondem aos membros da estrutura ``group`` " +"(campo Atributo abaixo, consulte ````):" #: ../../library/grp.rst:20 msgid "Index" @@ -92,7 +83,7 @@ msgstr "gr_passwd" #: ../../library/grp.rst:24 msgid "the (encrypted) group password; often empty" -msgstr "" +msgstr "a senha do grupo (criptografada); geralmente vazia" #: ../../library/grp.rst:27 msgid "2" @@ -100,7 +91,7 @@ msgstr "2" #: ../../library/grp.rst:27 msgid "gr_gid" -msgstr "" +msgstr "gr_gid" #: ../../library/grp.rst:27 msgid "the numerical group ID" @@ -116,7 +107,7 @@ msgstr "gr_mem" #: ../../library/grp.rst:29 msgid "all the group member's user names" -msgstr "" +msgstr "todos os nomes de usuários dos membros do grupo" #: ../../library/grp.rst:33 msgid "" @@ -125,9 +116,16 @@ msgid "" "members of the group they are in according to the password database. Check " "both databases to get complete membership information. Also note that a " "``gr_name`` that starts with a ``+`` or ``-`` is likely to be a YP/NIS " -"reference and may not be accessible via :func:`getgrnam` or :func:" -"`getgrgid`.)" +"reference and may not be accessible via :func:`getgrnam` " +"or :func:`getgrgid`.)" msgstr "" +"O gid é um inteiro, nome e senha são strings, e a lista de membros é uma " +"lista de strings. (Observe que a maioria dos usuários não são listados " +"explicitamente como membros do grupo em que estão, de acordo com o banco de " +"dados de senhas. Verifique ambos os bancos de dados para obter informações " +"completas sobre associação. Observe também que um ``gr_name`` que começa com " +"``+`` ou ``-`` provavelmente é uma referência YP/NIS e pode não ser " +"acessível via :func:`getgrnam` ou :func:`getgrgid`.)" #: ../../library/grp.rst:40 msgid "It defines the following items:" @@ -135,24 +133,34 @@ msgstr "Isto define os seguintes itens" #: ../../library/grp.rst:45 msgid "" -"Return the group database entry for the given numeric group ID. :exc:" -"`KeyError` is raised if the entry asked for cannot be found." +"Return the group database entry for the given numeric group " +"ID. :exc:`KeyError` is raised if the entry asked for cannot be found." msgstr "" +"Retorna a entrada do banco de dados de grupos para o ID do grupo numérico " +"fornecido. :exc:`KeyError` é levantada se a entrada solicitada não puder ser " +"encontrada." #: ../../library/grp.rst:48 msgid "" ":exc:`TypeError` is raised for non-integer arguments like floats or strings." msgstr "" +":exc:`TypeError` é levantada para argumentos não inteiros, como pontos " +"flutuantes ou strings." #: ../../library/grp.rst:53 msgid "" "Return the group database entry for the given group name. :exc:`KeyError` is " "raised if the entry asked for cannot be found." msgstr "" +"Retorna a entrada do banco de dados de grupos para o nome do grupo " +"fornecido. :exc:`KeyError` é levantada se a entrada solicitada não puder ser " +"encontrada." #: ../../library/grp.rst:59 msgid "Return a list of all available group entries, in arbitrary order." msgstr "" +"Retorna uma lista de todas as entradas de grupo disponíveis, em ordem " +"arbitrária." #: ../../library/grp.rst:65 msgid "Module :mod:`pwd`" @@ -160,7 +168,7 @@ msgstr "Módulo :mod:`pwd`" #: ../../library/grp.rst:65 msgid "An interface to the user database, similar to this." -msgstr "" +msgstr "Uma interface para o banco de dados de usuários, semelhante a esta." #: ../../library/grp.rst:67 msgid "Module :mod:`spwd`" @@ -168,5 +176,4 @@ msgstr "Módulo :mod:`spwd`" #: ../../library/grp.rst:68 msgid "An interface to the shadow password database, similar to this." -msgstr "" -"Uma interface para o banco de dados de shadow passwords, similar a essa." +msgstr "Uma interface para o banco de dados de senhas shadow, similar a esta." diff --git a/library/gzip.po b/library/gzip.po index 2404142f8..dfead9745 100644 --- a/library/gzip.po +++ b/library/gzip.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Adorilson Bezerra , 2021 -# Christian Janiake , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,26 +36,37 @@ msgid "" "This module provides a simple interface to compress and decompress files " "just like the GNU programs :program:`gzip` and :program:`gunzip` would." msgstr "" +"Esse módulo disponibiliza uma interface simples para comprimir e extrair " +"arquivos como os programas GNU :program:`gzip` e :program:`gunzip` fazem." #: ../../library/gzip.rst:14 msgid "The data compression is provided by the :mod:`zlib` module." -msgstr "" +msgstr "A compressão de dados é realizada pelo módulo :mod:`zlib`." #: ../../library/gzip.rst:16 msgid "" -"The :mod:`gzip` module provides the :class:`GzipFile` class, as well as the :" -"func:`.open`, :func:`compress` and :func:`decompress` convenience functions. " -"The :class:`GzipFile` class reads and writes :program:`gzip`\\ -format " -"files, automatically compressing or decompressing the data so that it looks " -"like an ordinary :term:`file object`." +"The :mod:`gzip` module provides the :class:`GzipFile` class, as well as " +"the :func:`.open`, :func:`compress` and :func:`decompress` convenience " +"functions. The :class:`GzipFile` class reads and writes :program:`gzip`\\ " +"-format files, automatically compressing or decompressing the data so that " +"it looks like an ordinary :term:`file object`." msgstr "" +"O módulo :mod:`gzip` fornece a classe :class:`GzipFile`, bem como as funções " +"de conveniência :func:`.open`, :func:`compress` e :func:`decompress`. A " +"classe :class:`GzipFile` lê e grava arquivos no formato :program:`gzip`, " +"compactando ou descompactando automaticamente os dados para que se pareçam " +"com um :term:`objeto arquivo` comum." #: ../../library/gzip.rst:22 msgid "" -"Note that additional file formats which can be decompressed by the :program:" -"`gzip` and :program:`gunzip` programs, such as those produced by :program:" -"`compress` and :program:`pack`, are not supported by this module." +"Note that additional file formats which can be decompressed by " +"the :program:`gzip` and :program:`gunzip` programs, such as those produced " +"by :program:`compress` and :program:`pack`, are not supported by this module." msgstr "" +"Observe que formatos de arquivo adicionais que podem ser descompactados " +"pelos programas :program:`gzip` e :program:`gunzip`, como aqueles produzidos " +"por :program:`compress` e :program:`pack`, não são suportados por este " +"módulo." #: ../../library/gzip.rst:26 msgid "The module defines the following items:" @@ -69,12 +77,18 @@ msgid "" "Open a gzip-compressed file in binary or text mode, returning a :term:`file " "object`." msgstr "" +"Abre um arquivo comprimido com gzip em modo binário ou texto, " +"retornando :term:`objeto arquivo`." #: ../../library/gzip.rst:34 msgid "" -"The *filename* argument can be an actual filename (a :class:`str` or :class:" -"`bytes` object), or an existing file object to read from or write to." +"The *filename* argument can be an actual filename (a :class:`str` " +"or :class:`bytes` object), or an existing file object to read from or write " +"to." msgstr "" +"O argumento *filename* pode ser um nome de arquivo real (um " +"objeto :class:`str` ou :class:`bytes`), ou um objeto arquivo existente para " +"ler ou gravar." #: ../../library/gzip.rst:37 msgid "" @@ -82,12 +96,18 @@ msgid "" "``'w'``, ``'wb'``, ``'x'`` or ``'xb'`` for binary mode, or ``'rt'``, " "``'at'``, ``'wt'``, or ``'xt'`` for text mode. The default is ``'rb'``." msgstr "" +"O argumento *mode* pode ser qualquer um de ``'r'``, ``'rb'``, ``'a'``, " +"``'ab'``, ``'w'``, ``'wb'``, ``'x'`` ou ``'xb'`` para modo binário, ou " +"``'rt'``, ``'at'``, ``'wt'`` ou ``'xt'`` para modo texto. O padrão é " +"``'rb'``." #: ../../library/gzip.rst:41 msgid "" -"The *compresslevel* argument is an integer from 0 to 9, as for the :class:" -"`GzipFile` constructor." +"The *compresslevel* argument is an integer from 0 to 9, as for " +"the :class:`GzipFile` constructor." msgstr "" +"O argumento *compresslevel* é um inteiro de 0 a 9, como para o construtor " +"de :class:`GzipFile`." #: ../../library/gzip.rst:44 msgid "" @@ -95,23 +115,32 @@ msgid "" "constructor: ``GzipFile(filename, mode, compresslevel)``. In this case, the " "*encoding*, *errors* and *newline* arguments must not be provided." msgstr "" +"Para o modo binário, esta função equivale ao construtor " +"de :class:`GzipFile`: ``GzipFile(filename, mode, compresslevel)``. Neste " +"caso, os argumentos *encoding*, *errors* e *newline* não devem ser " +"fornecidos." #: ../../library/gzip.rst:48 msgid "" -"For text mode, a :class:`GzipFile` object is created, and wrapped in an :" -"class:`io.TextIOWrapper` instance with the specified encoding, error " +"For text mode, a :class:`GzipFile` object is created, and wrapped in " +"an :class:`io.TextIOWrapper` instance with the specified encoding, error " "handling behavior, and line ending(s)." msgstr "" +"Para o modo texto, um objeto :class:`GzipFile` é criado e encapsulado em uma " +"instância :class:`io.TextIOWrapper` com a codificação especificada, " +"comportamento de tratamento de erros e final(is) de linha." #: ../../library/gzip.rst:52 msgid "" "Added support for *filename* being a file object, support for text mode, and " "the *encoding*, *errors* and *newline* arguments." msgstr "" +"Adicionado suporte para *filename* ser um objeto arquivo, suporte para modo " +"texto e os argumentos *encoding*, *errors* e *newline*." #: ../../library/gzip.rst:56 msgid "Added support for the ``'x'``, ``'xb'`` and ``'xt'`` modes." -msgstr "" +msgstr "Adicionado suporte para os modos ``'x'``, ``'xb'`` e ``'xt'``." #: ../../library/gzip.rst:59 ../../library/gzip.rst:171 msgid "Accepts a :term:`path-like object`." @@ -119,18 +148,25 @@ msgstr "Aceita um :term:`objeto caminho ou similar`." #: ../../library/gzip.rst:64 msgid "" -"An exception raised for invalid gzip files. It inherits :exc:`OSError`. :" -"exc:`EOFError` and :exc:`zlib.error` can also be raised for invalid gzip " -"files." +"An exception raised for invalid gzip files. It inherits " +"from :exc:`OSError`. :exc:`EOFError` and :exc:`zlib.error` can also be " +"raised for invalid gzip files." msgstr "" +"Uma exceção levantada para arquivos gzip inválidos. Herda " +"de :exc:`OSError`. :exc:`EOFError` e :exc:`zlib.error` também podem ser " +"levantadas para arquivos gzip inválidos." #: ../../library/gzip.rst:72 msgid "" "Constructor for the :class:`GzipFile` class, which simulates most of the " -"methods of a :term:`file object`, with the exception of the :meth:`truncate` " -"method. At least one of *fileobj* and *filename* must be given a non-" -"trivial value." +"methods of a :term:`file object`, with the exception of " +"the :meth:`~io.IOBase.truncate` method. At least one of *fileobj* and " +"*filename* must be given a non-trivial value." msgstr "" +"Construtor para a classe :class:`GzipFile`, que simula a maioria dos métodos " +"de um :term:`objeto arquivo`, com exceção do " +"método :meth:`~io.IOBase.truncate`. Pelo menos um dos métodos *fileobj* e " +"*filename* deve receber um valor não trivial." #: ../../library/gzip.rst:77 msgid "" @@ -139,6 +175,10 @@ msgid "" "It defaults to ``None``, in which case *filename* is opened to provide a " "file object." msgstr "" +"A nova instância de classe é baseada em *fileobj*, que pode ser um arquivo " +"comum, um objeto :class:`io.BytesIO` ou qualquer outro objeto que simule um " +"arquivo. O padrão é ``None``, caso em que *filename* é aberto para fornecer " +"um objeto arquivo." #: ../../library/gzip.rst:82 msgid "" @@ -148,6 +188,11 @@ msgid "" "*fileobj*, if discernible; otherwise, it defaults to the empty string, and " "in this case the original filename is not included in the header." msgstr "" +"Quando *fileobj* não é ``None``, o argumento *filename* é usado apenas para " +"ser incluído no cabeçalho do arquivo :program:`gzip`, que pode incluir o " +"nome original do arquivo descompactado. O padrão é o nome de arquivo " +"*fileobj*, se discernível; caso contrário, o padrão é a string vazia e, " +"neste caso, o nome original do arquivo não é incluído no cabeçalho." #: ../../library/gzip.rst:88 msgid "" @@ -158,6 +203,12 @@ msgid "" "*fileobj* will not be used. It is better to always specify *mode* for " "writing." msgstr "" +"O argumento *mode* pode ser qualquer um dos seguintes: ``'r'``, ``'rb'``, " +"``'a'``, ``'ab'``, ``'w'``, ``'wb'``, ``'x'`` ou ``'xb'``, dependendo se o " +"arquivo será lido ou escrito. O padrão é o modo de *fileobj*, se " +"discernível; caso contrário, o padrão é ``'rb'``. Em versões futuras do " +"Python, o modo de *fileobj* não será usado. É melhor sempre especificar " +"*mode* para escrita." #: ../../library/gzip.rst:94 msgid "" @@ -165,6 +216,9 @@ msgid "" "file in text mode, use :func:`.open` (or wrap your :class:`GzipFile` with " "an :class:`io.TextIOWrapper`)." msgstr "" +"Observe que o arquivo é sempre aberto em modo binário. Para abrir um arquivo " +"compactado em modo texto, use :func:`.open` (ou envolva " +"seu :class:`GzipFile` com um :class:`io.TextIOWrapper`)." #: ../../library/gzip.rst:98 msgid "" @@ -173,6 +227,10 @@ msgid "" "compression, and ``9`` is slowest and produces the most compression. ``0`` " "is no compression. The default is ``9``." msgstr "" +"O argumento *compresslevel* é um inteiro de ``0`` a ``9`` que controla o " +"nível de compressão; ``1`` é o mais rápido e produz a menor compressão, e " +"``9`` é o mais lento e produz a maior compressão. ``0`` significa sem " +"compressão. O padrão é ``9``." #: ../../library/gzip.rst:103 msgid "" @@ -184,23 +242,33 @@ msgstr "" #: ../../library/gzip.rst:108 msgid "" -"Calling a :class:`GzipFile` object's :meth:`close` method does not close " +"Calling a :class:`GzipFile` object's :meth:`!close` method does not close " "*fileobj*, since you might wish to append more material after the compressed " "data. This also allows you to pass an :class:`io.BytesIO` object opened for " -"writing as *fileobj*, and retrieve the resulting memory buffer using the :" -"class:`io.BytesIO` object's :meth:`~io.BytesIO.getvalue` method." +"writing as *fileobj*, and retrieve the resulting memory buffer using " +"the :class:`io.BytesIO` object's :meth:`~io.BytesIO.getvalue` method." msgstr "" +"Chamar o método :meth:`!close` de um objeto :class:`GzipFile` não fecha " +"*fileobj*, pois você pode querer adicionar mais material após os dados " +"compactados. Isso também permite que você passe um " +"objeto :class:`io.BytesIO` aberto para escrita como *fileobj* e recupere o " +"buffer de memória resultante usando o método :meth:`~io.BytesIO.getvalue` do " +"objeto :class:`io.BytesIO`." #: ../../library/gzip.rst:114 msgid "" ":class:`GzipFile` supports the :class:`io.BufferedIOBase` interface, " -"including iteration and the :keyword:`with` statement. Only the :meth:" -"`truncate` method isn't implemented." +"including iteration and the :keyword:`with` statement. Only " +"the :meth:`~io.IOBase.truncate` method isn't implemented." msgstr "" +":class:`GzipFile` suporta a interface :class:`io.BufferedIOBase`, incluindo " +"iteração e a instrução :keyword:`with`. Apenas o " +"método :meth:`~io.IOBase.truncate` não é implementado." #: ../../library/gzip.rst:118 msgid ":class:`GzipFile` also provides the following method and attribute:" msgstr "" +":class:`GzipFile` também disponibiliza os seguintes métodos e atributos:" #: ../../library/gzip.rst:122 msgid "" @@ -211,10 +279,15 @@ msgstr "" #: ../../library/gzip.rst:127 msgid "" -"While calling :meth:`peek` does not change the file position of the :class:" -"`GzipFile`, it may change the position of the underlying file object (e.g. " -"if the :class:`GzipFile` was constructed with the *fileobj* parameter)." +"While calling :meth:`peek` does not change the file position of " +"the :class:`GzipFile`, it may change the position of the underlying file " +"object (e.g. if the :class:`GzipFile` was constructed with the *fileobj* " +"parameter)." msgstr "" +"Embora chamar :meth:`peek` não altere a posição do " +"arquivo :class:`GzipFile`, ele pode alterar a posição do objeto arquivo " +"subjacente (por exemplo, se o :class:`GzipFile` foi construído com o " +"parâmetro *fileobj*)." #: ../../library/gzip.rst:136 msgid "" @@ -227,9 +300,9 @@ msgstr "" msgid "" "All :program:`gzip` compressed streams are required to contain this " "timestamp field. Some programs, such as :program:`gunzip`\\ , make use of " -"the timestamp. The format is the same as the return value of :func:`time." -"time` and the :attr:`~os.stat_result.st_mtime` attribute of the object " -"returned by :func:`os.stat`." +"the timestamp. The format is the same as the return value " +"of :func:`time.time` and the :attr:`~os.stat_result.st_mtime` attribute of " +"the object returned by :func:`os.stat`." msgstr "" #: ../../library/gzip.rst:148 @@ -238,24 +311,31 @@ msgid "" "Equivalent to the output of :func:`os.fspath` on the original input path, " "with no other normalization, resolution or expansion." msgstr "" +"O caminho para o arquivo gzip no disco, como :class:`str` ou :class:`bytes`. " +"Equivalente à saída de :func:`os.fspath` no caminho de entrada original, sem " +"nenhuma outra normalização, resolução ou expansão." #: ../../library/gzip.rst:152 msgid "" "Support for the :keyword:`with` statement was added, along with the *mtime* " "constructor argument and :attr:`mtime` attribute." msgstr "" +"Foi adicionado suporte para a instrução :keyword:`with`, juntamente com o " +"argumento do construtor *mtime* e o atributo :attr:`mtime`." #: ../../library/gzip.rst:156 msgid "Support for zero-padded and unseekable files was added." msgstr "" +"Foi adicionado suporte para arquivos preenchidos com zeros e não " +"pesquisáveis." #: ../../library/gzip.rst:159 msgid "The :meth:`io.BufferedIOBase.read1` method is now implemented." -msgstr "" +msgstr "O método :meth:`io.BufferedIOBase.read1` agora está implementado." #: ../../library/gzip.rst:162 msgid "Added support for the ``'x'`` and ``'xb'`` modes." -msgstr "" +msgstr "Adicionado suporte para os modos ``'x'`` e ``'xb'``." #: ../../library/gzip.rst:165 msgid "" @@ -263,12 +343,17 @@ msgid "" "object>`. The :meth:`~io.BufferedIOBase.read` method now accepts an argument " "of ``None``." msgstr "" +"Adicionado suporte para escrever :term:`objetos bytes ou similares ` arbitrários. O método :meth:`~io.BufferedIOBase.read` agora " +"aceita o argumento ``None``." #: ../../library/gzip.rst:174 msgid "" "Opening :class:`GzipFile` for writing without specifying the *mode* argument " "is deprecated." msgstr "" +"Abrir :class:`GzipFile` para escrita sem especificar o argumento *mode* está " +"descontinuado." #: ../../library/gzip.rst:181 msgid "" @@ -281,16 +366,23 @@ msgstr "" #: ../../library/gzip.rst:188 msgid "Added the *mtime* parameter for reproducible output." -msgstr "" +msgstr "Adicionado o parâmetro *mtime* para saída reproduzível." #: ../../library/gzip.rst:190 msgid "" "Speed is improved by compressing all data at once instead of in a streamed " -"fashion. Calls with *mtime* set to ``0`` are delegated to :func:`zlib." -"compress` for better speed." +"fashion. Calls with *mtime* set to ``0`` are delegated " +"to :func:`zlib.compress` for better speed. In this situation the output may " +"contain a gzip header \"OS\" byte value other than 255 \"unknown\" as " +"supplied by the underlying zlib implementation." msgstr "" +"A velocidade é melhorada pela compactação de todos os dados de uma só vez, " +"em vez de em fluxo contínuo. Chamadas com *mtime* definido como ``0`` são " +"delegadas a :func:`zlib.compress` para maior velocidade. Nessa situação, a " +"saída pode conter um valor de byte \"OS\" no cabeçalho gzip diferente de 255 " +"\"unknown\", conforme fornecido pela implementação subjacente do zlib." -#: ../../library/gzip.rst:197 +#: ../../library/gzip.rst:199 msgid "" "Decompress the *data*, returning a :class:`bytes` object containing the " "uncompressed data. This function is capable of decompressing multi-member " @@ -298,83 +390,97 @@ msgid "" "certain to contain only one member the :func:`zlib.decompress` function with " "*wbits* set to 31 is faster." msgstr "" +"Descompacta *data*, retornando um objeto :class:`bytes` contendo os dados " +"descompactados. Esta função é capaz de descompactar dados de gzip de vários " +"membros (vários blocos gzip concatenados). Quando é certo que os dados " +"contêm apenas um membro, a função :func:`zlib.decompress` com *wbits* " +"definido como 31 é mais rápida." -#: ../../library/gzip.rst:204 +#: ../../library/gzip.rst:206 msgid "" "Speed is improved by decompressing members at once in memory instead of in a " "streamed fashion." msgstr "" +"A velocidade é melhorada ao descompactar os membros de uma só vez na " +"memória, em vez de fazê-lo de forma contínua." -#: ../../library/gzip.rst:211 +#: ../../library/gzip.rst:213 msgid "Examples of usage" msgstr "Exemplos de uso" -#: ../../library/gzip.rst:213 +#: ../../library/gzip.rst:215 msgid "Example of how to read a compressed file::" -msgstr "" +msgstr "Exemplo de como ler um arquivo comprimido::" -#: ../../library/gzip.rst:219 +#: ../../library/gzip.rst:221 msgid "Example of how to create a compressed GZIP file::" -msgstr "" +msgstr "Exemplo de como criar um arquivo comprimido com GZIP::" -#: ../../library/gzip.rst:226 +#: ../../library/gzip.rst:228 msgid "Example of how to GZIP compress an existing file::" -msgstr "" +msgstr "Exemplo de como comprimir um arquivo existente com GZIP::" -#: ../../library/gzip.rst:234 +#: ../../library/gzip.rst:236 msgid "Example of how to GZIP compress a binary string::" -msgstr "" +msgstr "Exemplo de como comprimir uma string binária com compressão GZIP::" -#: ../../library/gzip.rst:243 +#: ../../library/gzip.rst:245 msgid "Module :mod:`zlib`" msgstr "Módulo :mod:`zlib`" -#: ../../library/gzip.rst:243 +#: ../../library/gzip.rst:245 msgid "" "The basic data compression module needed to support the :program:`gzip` file " "format." msgstr "" +"O módulo básico de compactação de dados necessário para dar suporte ao " +"formato de arquivo do :program:`gzip`." -#: ../../library/gzip.rst:250 +#: ../../library/gzip.rst:254 msgid "Command Line Interface" msgstr "Interface de linha de comando" -#: ../../library/gzip.rst:252 +#: ../../library/gzip.rst:256 msgid "" "The :mod:`gzip` module provides a simple command line interface to compress " "or decompress files." msgstr "" +"O módulo :mod:`gzip` fornece uma interface de linha de comando simples para " +"compactar ou descompactar arquivos." -#: ../../library/gzip.rst:255 +#: ../../library/gzip.rst:259 msgid "Once executed the :mod:`gzip` module keeps the input file(s)." msgstr "" +"Uma vez executado, o módulo :mod:`gzip` mantém o(s) arquivo(s) de entrada." -#: ../../library/gzip.rst:259 +#: ../../library/gzip.rst:263 msgid "" "Add a new command line interface with a usage. By default, when you will " "execute the CLI, the default compression level is 6." msgstr "" +"Adiciona uma nova interface de linha de comando com um mensagem de uso. Por " +"padrão, ao executar a CLI, o nível de compactação padrão é 6." -#: ../../library/gzip.rst:263 +#: ../../library/gzip.rst:267 msgid "Command line options" msgstr "Opções da linha de comando" -#: ../../library/gzip.rst:267 -msgid "If *file* is not specified, read from :attr:`sys.stdin`." -msgstr "" - #: ../../library/gzip.rst:271 -msgid "Indicates the fastest compression method (less compression)." -msgstr "" +msgid "If *file* is not specified, read from :data:`sys.stdin`." +msgstr "Se o *arquivo* não for especificado, ler de :data:`sys.stdin`" #: ../../library/gzip.rst:275 -msgid "Indicates the slowest compression method (best compression)." -msgstr "" +msgid "Indicates the fastest compression method (less compression)." +msgstr "Indica o método mais rápido de compressão (menor compressão)" #: ../../library/gzip.rst:279 +msgid "Indicates the slowest compression method (best compression)." +msgstr "Indica o método mais lento de compressão (melhor compressão)." + +#: ../../library/gzip.rst:283 msgid "Decompress the given file." msgstr "Descompacta o arquivo dado." -#: ../../library/gzip.rst:283 +#: ../../library/gzip.rst:287 msgid "Show the help message." msgstr "Exibe a mensagem de ajuda." diff --git a/library/hashlib.po b/library/hashlib.po index 2fa966f68..1da6bd443 100644 --- a/library/hashlib.po +++ b/library/hashlib.po @@ -1,30 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# i17obot , 2021 -# Marco Rougeth , 2022 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,75 +36,106 @@ msgstr "**Código-fonte:** :source:`Lib/hashlib.py`" msgid "" "This module implements a common interface to many different secure hash and " "message digest algorithms. Included are the FIPS secure hash algorithms " -"SHA1, SHA224, SHA256, SHA384, and SHA512 (defined in FIPS 180-2) as well as " -"RSA's MD5 algorithm (defined in internet :rfc:`1321`). The terms \"secure " -"hash\" and \"message digest\" are interchangeable. Older algorithms were " -"called message digests. The modern term is secure hash." -msgstr "" - -#: ../../library/hashlib.rst:32 -msgid "" -"If you want the adler32 or crc32 hash functions, they are available in the :" -"mod:`zlib` module." +"SHA1, SHA224, SHA256, SHA384, SHA512, (defined in `the FIPS 180-4 " +"standard`_), the SHA-3 series (defined in `the FIPS 202 standard`_) as well " +"as RSA's MD5 algorithm (defined in internet :rfc:`1321`). The terms " +"\"secure hash\" and \"message digest\" are interchangeable. Older " +"algorithms were called message digests. The modern term is secure hash." msgstr "" -#: ../../library/hashlib.rst:37 +#: ../../library/hashlib.rst:33 msgid "" -"Some algorithms have known hash collision weaknesses, refer to the \"See " -"also\" section at the end." +"If you want the adler32 or crc32 hash functions, they are available in " +"the :mod:`zlib` module." msgstr "" +"Se você quiser as funções de hash adler32 ou crc32, elas estão disponíveis " +"no módulo :mod:`zlib`." -#: ../../library/hashlib.rst:44 +#: ../../library/hashlib.rst:40 msgid "Hash algorithms" -msgstr "" +msgstr "Algoritmos de hash" -#: ../../library/hashlib.rst:46 +#: ../../library/hashlib.rst:42 msgid "" "There is one constructor method named for each type of :dfn:`hash`. All " -"return a hash object with the same simple interface. For example: use :func:" -"`sha256` to create a SHA-256 hash object. You can now feed this object with :" -"term:`bytes-like objects ` (normally :class:`bytes`) " -"using the :meth:`update` method. At any point you can ask it for the :dfn:" -"`digest` of the concatenation of the data fed to it so far using the :meth:" -"`digest` or :meth:`hexdigest` methods." -msgstr "" - -#: ../../library/hashlib.rst:56 -msgid "" -"For better multithreading performance, the Python :term:`GIL` is released " -"for data larger than 2047 bytes at object creation or on update." -msgstr "" - -#: ../../library/hashlib.rst:61 -msgid "" -"Feeding string objects into :meth:`update` is not supported, as hashes work " -"on bytes, not on characters." -msgstr "" - -#: ../../library/hashlib.rst:66 -msgid "" -"Constructors for hash algorithms that are always present in this module are :" -"func:`sha1`, :func:`sha224`, :func:`sha256`, :func:`sha384`, :func:" -"`sha512`, :func:`blake2b`, and :func:`blake2s`. :func:`md5` is normally " -"available as well, though it may be missing or blocked if you are using a " -"rare \"FIPS compliant\" build of Python. Additional algorithms may also be " -"available depending upon the OpenSSL library that Python uses on your " -"platform. On most platforms the :func:`sha3_224`, :func:`sha3_256`, :func:" -"`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256` are also " -"available." -msgstr "" +"return a hash object with the same simple interface. For example: " +"use :func:`sha256` to create a SHA-256 hash object. You can now feed this " +"object with :term:`bytes-like objects ` " +"(normally :class:`bytes`) using the :meth:`update` method. At " +"any point you can ask it for the :dfn:`digest` of the concatenation of the " +"data fed to it so far using the :meth:`digest()` " +"or :meth:`hexdigest()` methods." +msgstr "" +"Há um método construtor nomeado para cada tipo de :dfn:`hash`. Todos " +"retornam um objeto hash com a mesma interface simples. Por exemplo: " +"use :func:`sha256` para criar um objeto hash SHA-256. Agora você pode " +"alimentar este objeto com :term:`objetos bytes ou similares ` (normalmente :class:`bytes`) usando o " +"método :meth:`update`. A qualquer momento, você pode solicitar " +"o :dfn:`digest` da concatenação dos dados alimentados até o momento usando " +"os métodos :meth:`digest()` " +"ou :meth:`hexdigest()`." + +#: ../../library/hashlib.rst:50 +msgid "" +"To allow multithreading, the Python :term:`GIL` is released while computing " +"a hash supplied more than 2047 bytes of data at once in its constructor " +"or :meth:`.update` method." +msgstr "" +"Para permitir multithreading, a :term:`GIL` do Python é liberada ao calcular " +"um hash fornecido com mais de 2047 bytes de dados de uma só vez em seu " +"construtor ou método :meth:`.update`." + +#: ../../library/hashlib.rst:57 +msgid "" +"Constructors for hash algorithms that are always present in this module " +"are :func:`sha1`, :func:`sha224`, :func:`sha256`, :func:`sha384`, :func:`sha512`, :func:`sha3_224`, :func:`sha3_256`, :func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256`, :func:`blake2b`, " +"and :func:`blake2s`. :func:`md5` is normally available as well, though it " +"may be missing or blocked if you are using a rare \"FIPS compliant\" build " +"of Python. These correspond to :data:`algorithms_guaranteed`." +msgstr "" +"Os construtores para algoritmos de hash sempre presentes neste módulo " +"são :func:`sha1`, :func:`sha224`, :func:`sha256`, :func:`sha384`, :func:`sha512`, :func:`sha3_224`, :func:`sha3_256`, :func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256`, :func:`blake2b` " +"e :func:`blake2s`. :func:`md5` normalmente também está disponível, embora " +"possa estar ausente ou bloqueado se você estiver usando uma construção rara " +"do Python \"compatível com FIPS\". Eles correspondem " +"a :data:`algorithms_guaranteed`." + +#: ../../library/hashlib.rst:65 +msgid "" +"Additional algorithms may also be available if your Python " +"distribution's :mod:`hashlib` was linked against a build of OpenSSL that " +"provides others. Others *are not guaranteed available* on all installations " +"and will only be accessible by name via :func:`new`. " +"See :data:`algorithms_available`." +msgstr "" +"Algoritmos adicionais também podem estar disponíveis se o :mod:`hashlib` da " +"sua distribuição Python tiver sido vinculado a uma construção do OpenSSL que " +"forneça outros algoritmos. Outros *não têm garantia de disponibilidade* em " +"todas as instalações e só serão acessíveis pelo nome via :func:`new`. " +"Consulte :data:`algorithms_available`." + +#: ../../library/hashlib.rst:72 +msgid "" +"Some algorithms have known hash collision weaknesses (including MD5 and " +"SHA1). Refer to `Attacks on cryptographic hash algorithms`_ and the `hashlib-" +"seealso`_ section at the end of this document." +msgstr "" +"Alguns algoritmos apresentam vulnerabilidades conhecidas em colisões de hash " +"(incluindo MD5 e SHA1). Consulte `Ataques a algoritmos de hash " +"criptográficos`_ e a seção `hashlib-seealso`_ no final deste documento." #: ../../library/hashlib.rst:76 msgid "" -"SHA3 (Keccak) and SHAKE constructors :func:`sha3_224`, :func:`sha3_256`, :" -"func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256`." -msgstr "" - -#: ../../library/hashlib.rst:80 -msgid ":func:`blake2b` and :func:`blake2s` were added." +"SHA3 (Keccak) and SHAKE " +"constructors :func:`sha3_224`, :func:`sha3_256`, :func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256` " +"were added. :func:`blake2b` and :func:`blake2s` were added." msgstr "" +"Os construtores SHA3 (Keccak) e " +"SHAKE :func:`sha3_224`, :func:`sha3_256`, :func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256` " +"foram adicionados. :func:`blake2b` e :func:`blake2s` foram adicionados." -#: ../../library/hashlib.rst:85 +#: ../../library/hashlib.rst:84 msgid "" "All hashlib constructors take a keyword-only argument *usedforsecurity* with " "default value ``True``. A false value allows the use of insecure and blocked " @@ -116,159 +143,248 @@ msgid "" "hashing algorithm is not used in a security context, e.g. as a non-" "cryptographic one-way compression function." msgstr "" +"Todos os construtores de hashlib aceitam um argumento somente-nomeado " +"*usedforsecurity* com o valor padrão ``True``. Um valor falso permite o uso " +"de algoritmos de hash inseguros e bloqueados em ambientes restritos. " +"``False`` indica que o algoritmo de hash não é usado em um contexto de " +"segurança, por exemplo, como uma função de compressão unidirecional não " +"criptográfica." -#: ../../library/hashlib.rst:92 -msgid "Hashlib now uses SHA3 and SHAKE from OpenSSL 1.1.1 and newer." -msgstr "" +#: ../../library/hashlib.rst:91 +msgid "Hashlib now uses SHA3 and SHAKE from OpenSSL if it provides it." +msgstr "O hashlib agora usa SHA3 e SHAKE do OpenSSL, se ele os fornecer." -#: ../../library/hashlib.rst:94 +#: ../../library/hashlib.rst:95 +msgid "Usage" +msgstr "Uso" + +#: ../../library/hashlib.rst:97 msgid "" -"For example, to obtain the digest of the byte string ``b\"Nobody inspects " -"the spammish repetition\"``::" +"To obtain the digest of the byte string ``b\"Nobody inspects the spammish " +"repetition\"``::" msgstr "" +"Para obter o resumo da string de bytes ``b\"Nobody inspects the spammish " +"repetition\"``::" -#: ../../library/hashlib.rst:106 +#: ../../library/hashlib.rst:109 msgid "More condensed:" -msgstr "" +msgstr "Mais condensado:" -#: ../../library/hashlib.rst:113 +#: ../../library/hashlib.rst:115 +msgid "Constructors" +msgstr "Construtores" + +#: ../../library/hashlib.rst:119 msgid "" "Is a generic constructor that takes the string *name* of the desired " "algorithm as its first parameter. It also exists to allow access to the " "above listed hashes as well as any other algorithms that your OpenSSL " -"library may offer. The named constructors are much faster than :func:`new` " -"and should be preferred." +"library may offer." msgstr "" +"É um construtor genérico que recebe a string *name* do algoritmo desejado " +"como seu primeiro parâmetro. Ele também existe para permitir acesso aos " +"hashes listados acima, bem como a quaisquer outros algoritmos que sua " +"biblioteca OpenSSL possa oferecer." -#: ../../library/hashlib.rst:119 -msgid "Using :func:`new` with an algorithm provided by OpenSSL:" -msgstr "" +#: ../../library/hashlib.rst:124 +msgid "Using :func:`new` with an algorithm name:" +msgstr "Usando :func:`new` com um nome de algoritmo:" -#: ../../library/hashlib.rst:126 -msgid "Hashlib provides the following constant attributes:" +#: ../../library/hashlib.rst:143 +msgid "" +"Named constructors such as these are faster than passing an algorithm name " +"to :func:`new`." msgstr "" +"Construtores nomeados como esses são mais rápidos do que passar um nome de " +"algoritmo para :func:`new`." -#: ../../library/hashlib.rst:130 +#: ../../library/hashlib.rst:147 +msgid "Attributes" +msgstr "Atributos" + +#: ../../library/hashlib.rst:149 +msgid "Hashlib provides the following constant module attributes:" +msgstr "O hashlib fornece os seguintes atributos de módulo constantes:" + +#: ../../library/hashlib.rst:153 msgid "" "A set containing the names of the hash algorithms guaranteed to be supported " "by this module on all platforms. Note that 'md5' is in this list despite " "some upstream vendors offering an odd \"FIPS compliant\" Python build that " "excludes it." msgstr "" +"Um conjunto contendo os nomes dos algoritmos de hash com suporte garantido " +"por este módulo em todas as plataformas. Observe que \"md5\" está nesta " +"lista, apesar de alguns fornecedores originais oferecerem uma estranha " +"construção Python \"compatível com FIPS\" que o exclui." -#: ../../library/hashlib.rst:139 +#: ../../library/hashlib.rst:162 msgid "" "A set containing the names of the hash algorithms that are available in the " -"running Python interpreter. These names will be recognized when passed to :" -"func:`new`. :attr:`algorithms_guaranteed` will always be a subset. The " +"running Python interpreter. These names will be recognized when passed " +"to :func:`new`. :attr:`algorithms_guaranteed` will always be a subset. The " "same algorithm may appear multiple times in this set under different names " "(thanks to OpenSSL)." msgstr "" +"Um conjunto contendo os nomes dos algoritmos de hash disponíveis no " +"interpretador Python em execução. Esses nomes serão reconhecidos quando " +"passados para :func:`new`. :attr:`algorithms_guaranteed` sempre será um " +"subconjunto. O mesmo algoritmo pode aparecer várias vezes neste conjunto com " +"nomes diferentes (graças ao OpenSSL)." -#: ../../library/hashlib.rst:147 +#: ../../library/hashlib.rst:171 +msgid "Hash Objects" +msgstr "Objetos hash" + +#: ../../library/hashlib.rst:173 msgid "" "The following values are provided as constant attributes of the hash objects " "returned by the constructors:" msgstr "" +"Os seguintes valores são fornecidos como atributos constantes dos objetos " +"hash retornados pelos construtores:" -#: ../../library/hashlib.rst:153 +#: ../../library/hashlib.rst:178 msgid "The size of the resulting hash in bytes." -msgstr "" +msgstr "O tamanho do hash resultante em bytes." -#: ../../library/hashlib.rst:157 +#: ../../library/hashlib.rst:182 msgid "The internal block size of the hash algorithm in bytes." -msgstr "" +msgstr "O tamanho do bloco interna do algoritmo de hash em bytes." -#: ../../library/hashlib.rst:159 +#: ../../library/hashlib.rst:184 msgid "A hash object has the following attributes:" -msgstr "" +msgstr "Um objeto hash tem os seguintes atributos:" -#: ../../library/hashlib.rst:163 +#: ../../library/hashlib.rst:188 msgid "" "The canonical name of this hash, always lowercase and always suitable as a " "parameter to :func:`new` to create another hash of this type." msgstr "" +"O nome canônico deste hash, sempre em minúsculas e sempre adequado como " +"parâmetro para :func:`new` para criar outro hash deste tipo." -#: ../../library/hashlib.rst:166 +#: ../../library/hashlib.rst:191 msgid "" "The name attribute has been present in CPython since its inception, but " "until Python 3.4 was not formally specified, so may not exist on some " "platforms." msgstr "" +"O atributo name está presente no CPython desde o seu início, mas até o " +"Python 3.4 não era especificado formalmente, então pode não existir em " +"algumas plataformas." -#: ../../library/hashlib.rst:171 +#: ../../library/hashlib.rst:196 msgid "A hash object has the following methods:" -msgstr "" +msgstr "Um objeto hash tem os seguintes métodos:" -#: ../../library/hashlib.rst:176 +#: ../../library/hashlib.rst:201 msgid "" "Update the hash object with the :term:`bytes-like object`. Repeated calls " "are equivalent to a single call with the concatenation of all the arguments: " "``m.update(a); m.update(b)`` is equivalent to ``m.update(a+b)``." msgstr "" +"Atualiza o objeto hash com o :term:`objeto bytes ou similar`. Chamadas " +"repetidas são equivalentes a uma única chamada com a concatenação de todos " +"os argumentos: ``m.update(a); m.update(b)`` é equivalente a " +"``m.update(a+b)``." -#: ../../library/hashlib.rst:181 +#: ../../library/hashlib.rst:206 msgid "" "The Python GIL is released to allow other threads to run while hash updates " "on data larger than 2047 bytes is taking place when using hash algorithms " "supplied by OpenSSL." msgstr "" -#: ../../library/hashlib.rst:189 +#: ../../library/hashlib.rst:214 msgid "" "Return the digest of the data passed to the :meth:`update` method so far. " "This is a bytes object of size :attr:`digest_size` which may contain bytes " "in the whole range from 0 to 255." msgstr "" +"Retorna o resumo dos dados passados ao método :meth:`update` até o momento. " +"Este é um objeto bytes de tamanho :attr:`digest_size` que pode conter bytes " +"em todo o intervalo de 0 a 255." -#: ../../library/hashlib.rst:196 ../../library/hashlib.rst:224 +#: ../../library/hashlib.rst:221 msgid "" "Like :meth:`digest` except the digest is returned as a string object of " "double length, containing only hexadecimal digits. This may be used to " "exchange the value safely in email or other non-binary environments." msgstr "" +"Similar a :meth:`digest`, exceto que o resumo é retornado como um objeto " +"string de comprimento duplo, contendo apenas dígitos hexadecimais. Isso pode " +"ser usado para trocar o valor com segurança em e-mails ou outros ambientes " +"não binários." -#: ../../library/hashlib.rst:203 +#: ../../library/hashlib.rst:228 msgid "" "Return a copy (\"clone\") of the hash object. This can be used to " "efficiently compute the digests of data sharing a common initial substring." msgstr "" +"Retorna uma cópia (\"clone\") do objeto hash. Isso pode ser usado para " +"calcular com eficiência os resumos de dados que compartilham uma substring " +"inicial comum." -#: ../../library/hashlib.rst:208 +#: ../../library/hashlib.rst:233 msgid "SHAKE variable length digests" -msgstr "" +msgstr "Resumos de comprimento variável de SHAKE" -#: ../../library/hashlib.rst:210 +#: ../../library/hashlib.rst:238 msgid "" "The :func:`shake_128` and :func:`shake_256` algorithms provide variable " "length digests with length_in_bits//2 up to 128 or 256 bits of security. As " "such, their digest methods require a length. Maximum length is not limited " "by the SHAKE algorithm." msgstr "" +"Os algoritmos :func:`shake_128` e :func:`shake_256` fornecem resumos de " +"comprimento variável com length_in_bits//2 de até 128 ou 256 bits de " +"segurança. Portanto, seus métodos de resumo exigem um comprimento. O " +"comprimento máximo não é limitado pelo algoritmo SHAKE." -#: ../../library/hashlib.rst:217 +#: ../../library/hashlib.rst:245 msgid "" -"Return the digest of the data passed to the :meth:`update` method so far. " -"This is a bytes object of size *length* which may contain bytes in the whole " -"range from 0 to 255." +"Return the digest of the data passed to the :meth:`~hash.update` method so " +"far. This is a bytes object of size *length* which may contain bytes in the " +"whole range from 0 to 255." msgstr "" +"Retorna o resumo dos dados passados ao método :meth:`~hash.update` até o " +"momento. Este é um objeto bytes de tamanho *length* que pode conter bytes em " +"todo o intervalo de 0 a 255." -#: ../../library/hashlib.rst:230 -msgid "File hashing" +#: ../../library/hashlib.rst:252 +msgid "" +"Like :meth:`digest` except the digest is returned as a string object of " +"double length, containing only hexadecimal digits. This may be used to " +"exchange the value in email or other non-binary environments." msgstr "" +"Similar a :meth:`digest`, exceto que o resumo é retornado como um objeto " +"string de comprimento duplo, contendo apenas dígitos hexadecimais. Isso pode " +"ser usado para trocar o valor em e-mails ou outros ambientes não binários." -#: ../../library/hashlib.rst:232 +#: ../../library/hashlib.rst:256 +msgid "Example use:" +msgstr "Exemplo de uso:" + +#: ../../library/hashlib.rst:263 +msgid "File hashing" +msgstr "Hash de arquivo" + +#: ../../library/hashlib.rst:265 msgid "" "The hashlib module provides a helper function for efficient hashing of a " "file or file-like object." msgstr "" +"O módulo hashlib fornece uma função auxiliar para hash eficiente de um " +"objeto arquivo ou similar." -#: ../../library/hashlib.rst:237 +#: ../../library/hashlib.rst:270 msgid "" "Return a digest object that has been updated with contents of file object." msgstr "" +"Retorna um objeto resumo que foi atualizado com o conteúdo do objeto arquivo." -#: ../../library/hashlib.rst:239 +#: ../../library/hashlib.rst:272 msgid "" "*fileobj* must be a file-like object opened for reading in binary mode. It " "accepts file objects from builtin :func:`open`, :class:`~io.BytesIO` " @@ -279,21 +395,23 @@ msgid "" "caller to close *fileobj*." msgstr "" -#: ../../library/hashlib.rst:247 +#: ../../library/hashlib.rst:280 msgid "" "*digest* must either be a hash algorithm name as a *str*, a hash " "constructor, or a callable that returns a hash object." msgstr "" +"*digest* deve ser um nome de algoritmo de hash como *str*, um construtor de " +"hash ou um chamável que retorna um objeto de hash." -#: ../../library/hashlib.rst:250 +#: ../../library/hashlib.rst:283 msgid "Example:" msgstr "Exemplo:" -#: ../../library/hashlib.rst:273 +#: ../../library/hashlib.rst:306 msgid "Key derivation" -msgstr "" +msgstr "Derivação de chave" -#: ../../library/hashlib.rst:275 +#: ../../library/hashlib.rst:308 msgid "" "Key derivation and key stretching algorithms are designed for secure " "password hashing. Naive algorithms such as ``sha1(password)`` are not " @@ -301,14 +419,21 @@ msgid "" "be tunable, slow, and include a `salt `_." msgstr "" +"Algoritmos de alongamento de chave e derivação de chave são projetados para " +"criar hashes de senhas seguros. Algoritmos ingênuos como ``sha1(password)`` " +"não são resistentes a ataques de força bruta. Uma boa função de hashing de " +"senhas deve ser ajustável, lenta e incluir um `salt `_." -#: ../../library/hashlib.rst:283 +#: ../../library/hashlib.rst:316 msgid "" "The function provides PKCS#5 password-based key derivation function 2. It " "uses HMAC as pseudorandom function." msgstr "" +"A função fornece a função 2 de derivação de chave baseada em senha PKCS#5. " +"Ela usa HMAC como função pseudoaleatória." -#: ../../library/hashlib.rst:286 +#: ../../library/hashlib.rst:319 msgid "" "The string *hash_name* is the desired name of the hash digest algorithm for " "HMAC, e.g. 'sha1' or 'sha256'. *password* and *salt* are interpreted as " @@ -316,8 +441,13 @@ msgid "" "sensible length (e.g. 1024). *salt* should be about 16 or more bytes from a " "proper source, e.g. :func:`os.urandom`." msgstr "" +"A string *hash_name* é o nome desejado do algoritmo de resumo de hash para " +"HMAC, por exemplo, 'sha1' ou 'sha256'. *password* e *salt* são interpretados " +"como buffers de bytes. Aplicações e bibliotecas devem limitar *password* a " +"um comprimento razoável (por exemplo, 1024). *salt* deve ter cerca de 16 " +"bytes ou mais de uma fonte adequada, por exemplo, :func:`os.urandom`." -#: ../../library/hashlib.rst:292 +#: ../../library/hashlib.rst:325 msgid "" "The number of *iterations* should be chosen based on the hash algorithm and " "computing power. As of 2022, hundreds of thousands of iterations of SHA-256 " @@ -325,172 +455,202 @@ msgid "" "your application, read *Appendix A.2.2* of NIST-SP-800-132_. The answers on " "the `stackexchange pbkdf2 iterations question`_ explain in detail." msgstr "" +"O número de *iterations* deve ser escolhido com base no algoritmo de hash e " +"no poder computacional. A partir de 2022, centenas de milhares de iterações " +"do SHA-256 são sugeridas. Para entender por que e como escolher o que é " +"melhor para sua aplicação, leia o *Appendix A.2.2* do NIST-SP-800-132_. As " +"respostas à `pergunta sobre iterações de pbkdf2 no StackExchange`_ explicam " +"em detalhes." -#: ../../library/hashlib.rst:298 +#: ../../library/hashlib.rst:331 msgid "" "*dklen* is the length of the derived key. If *dklen* is ``None`` then the " "digest size of the hash algorithm *hash_name* is used, e.g. 64 for SHA-512." msgstr "" -#: ../../library/hashlib.rst:311 +#: ../../library/hashlib.rst:344 msgid "" "A fast implementation of *pbkdf2_hmac* is available with OpenSSL. The " "Python implementation uses an inline version of :mod:`hmac`. It is about " "three times slower and doesn't release the GIL." msgstr "" -#: ../../library/hashlib.rst:317 +#: ../../library/hashlib.rst:350 msgid "" "Slow Python implementation of *pbkdf2_hmac* is deprecated. In the future the " "function will only be available when Python is compiled with OpenSSL." msgstr "" -#: ../../library/hashlib.rst:323 +#: ../../library/hashlib.rst:356 msgid "" "The function provides scrypt password-based key derivation function as " "defined in :rfc:`7914`." msgstr "" +"A função fornece a função de derivação de chave baseada em senha scrypt, " +"conforme definido em :rfc:`7914`." -#: ../../library/hashlib.rst:326 +#: ../../library/hashlib.rst:359 msgid "" "*password* and *salt* must be :term:`bytes-like objects `. Applications and libraries should limit *password* to a sensible " "length (e.g. 1024). *salt* should be about 16 or more bytes from a proper " "source, e.g. :func:`os.urandom`." msgstr "" +"*password* e *salt* devem ser :term:`objetos bytes ou similares `. Aplicações e bibliotecas devem limitar *password* a um tamanho " +"razoável (por exemplo, 1024). *salt* deve ter cerca de 16 bytes ou mais de " +"uma fonte adequada, por exemplo, :func:`os.urandom`." -#: ../../library/hashlib.rst:331 +#: ../../library/hashlib.rst:364 msgid "" "*n* is the CPU/Memory cost factor, *r* the block size, *p* parallelization " "factor and *maxmem* limits memory (OpenSSL 1.1.0 defaults to 32 MiB). " "*dklen* is the length of the derived key." msgstr "" -#: ../../library/hashlib.rst:339 +#: ../../library/hashlib.rst:372 msgid "BLAKE2" -msgstr "" +msgstr "BLAKE2" -#: ../../library/hashlib.rst:346 +#: ../../library/hashlib.rst:379 msgid "" "BLAKE2_ is a cryptographic hash function defined in :rfc:`7693` that comes " "in two flavors:" msgstr "" +"BLAKE2_ é uma função hash criptográfica definida em :rfc:`7693` que vem em " +"dois sabores:" -#: ../../library/hashlib.rst:349 +#: ../../library/hashlib.rst:382 msgid "" "**BLAKE2b**, optimized for 64-bit platforms and produces digests of any size " "between 1 and 64 bytes," msgstr "" +"**BLAKE2b**, otimizado para plataformas de 64 bits e produz resumos de " +"qualquer tamanho entre 1 e 64 bytes," -#: ../../library/hashlib.rst:352 +#: ../../library/hashlib.rst:385 msgid "" "**BLAKE2s**, optimized for 8- to 32-bit platforms and produces digests of " "any size between 1 and 32 bytes." msgstr "" +"**BLAKE2s**, otimizado para plataformas de 8 a 32 bits e produz resumos de " +"qualquer tamanho entre 1 e 32 bytes." -#: ../../library/hashlib.rst:355 +#: ../../library/hashlib.rst:388 msgid "" "BLAKE2 supports **keyed mode** (a faster and simpler replacement for HMAC_), " "**salted hashing**, **personalization**, and **tree hashing**." msgstr "" -#: ../../library/hashlib.rst:358 +#: ../../library/hashlib.rst:391 msgid "" -"Hash objects from this module follow the API of standard library's :mod:" -"`hashlib` objects." +"Hash objects from this module follow the API of standard " +"library's :mod:`hashlib` objects." msgstr "" +"Os objetos hash deste módulo seguem a API dos objetos :mod:`hashlib` da " +"biblioteca padrão." -#: ../../library/hashlib.rst:363 +#: ../../library/hashlib.rst:396 msgid "Creating hash objects" -msgstr "" +msgstr "Criando objetos hash" -#: ../../library/hashlib.rst:365 +#: ../../library/hashlib.rst:398 msgid "New hash objects are created by calling constructor functions:" -msgstr "" +msgstr "Novos objetos hash são criados chamando funções construtoras:" -#: ../../library/hashlib.rst:379 +#: ../../library/hashlib.rst:412 msgid "" "These functions return the corresponding hash objects for calculating " "BLAKE2b or BLAKE2s. They optionally take these general parameters:" msgstr "" +"Essas funções retornam os objetos hash correspondentes para calcular BLAKE2b " +"ou BLAKE2s. Opcionalmente, elas aceitam estes parâmetros gerais:" -#: ../../library/hashlib.rst:382 +#: ../../library/hashlib.rst:415 msgid "" "*data*: initial chunk of data to hash, which must be :term:`bytes-like " "object`. It can be passed only as positional argument." msgstr "" +"*data*: pedaço inicial de dados para hash, que deve ser :term:`objeto bytes " +"ou similar`. Pode ser passado apenas como argumento posicional." -#: ../../library/hashlib.rst:385 +#: ../../library/hashlib.rst:418 msgid "*digest_size*: size of output digest in bytes." -msgstr "" +msgstr "*digest_size*: tamanho do resumo de saída em bytes." -#: ../../library/hashlib.rst:387 +#: ../../library/hashlib.rst:420 msgid "" "*key*: key for keyed hashing (up to 64 bytes for BLAKE2b, up to 32 bytes for " "BLAKE2s)." msgstr "" +"*key*: chave para hash com chave (até 64 bytes para BLAKE2b, até 32 bytes " +"para BLAKE2s)." -#: ../../library/hashlib.rst:390 +#: ../../library/hashlib.rst:423 msgid "" "*salt*: salt for randomized hashing (up to 16 bytes for BLAKE2b, up to 8 " "bytes for BLAKE2s)." msgstr "" +"*salt*: sal para hash aleatório (até 16 bytes para BLAKE2b, até 8 bytes para " +"BLAKE2s)." -#: ../../library/hashlib.rst:393 +#: ../../library/hashlib.rst:426 msgid "" "*person*: personalization string (up to 16 bytes for BLAKE2b, up to 8 bytes " "for BLAKE2s)." msgstr "" +"*person*: string de personalização (até 16 bytes para BLAKE2b, até 8 bytes " +"para BLAKE2s)." -#: ../../library/hashlib.rst:396 +#: ../../library/hashlib.rst:429 msgid "The following table shows limits for general parameters (in bytes):" -msgstr "" +msgstr "A tabela a seguir mostra os limites para parâmetros gerais (em bytes):" -#: ../../library/hashlib.rst:399 +#: ../../library/hashlib.rst:432 msgid "Hash" -msgstr "" +msgstr "Hash" -#: ../../library/hashlib.rst:399 +#: ../../library/hashlib.rst:432 msgid "digest_size" msgstr "digest_size" -#: ../../library/hashlib.rst:399 +#: ../../library/hashlib.rst:432 msgid "len(key)" -msgstr "" +msgstr "len(key)" -#: ../../library/hashlib.rst:399 +#: ../../library/hashlib.rst:432 msgid "len(salt)" -msgstr "" +msgstr "len(salt)" -#: ../../library/hashlib.rst:399 +#: ../../library/hashlib.rst:432 msgid "len(person)" -msgstr "" +msgstr "len(person)" -#: ../../library/hashlib.rst:401 +#: ../../library/hashlib.rst:434 msgid "BLAKE2b" -msgstr "" +msgstr "BLAKE2b" -#: ../../library/hashlib.rst:401 +#: ../../library/hashlib.rst:434 msgid "64" -msgstr "" +msgstr "64" -#: ../../library/hashlib.rst:401 +#: ../../library/hashlib.rst:434 msgid "16" -msgstr "" +msgstr "16" -#: ../../library/hashlib.rst:402 +#: ../../library/hashlib.rst:435 msgid "BLAKE2s" -msgstr "" +msgstr "BLAKE2s" -#: ../../library/hashlib.rst:402 +#: ../../library/hashlib.rst:435 msgid "32" msgstr "32" -#: ../../library/hashlib.rst:402 +#: ../../library/hashlib.rst:435 msgid "8" msgstr "8" -#: ../../library/hashlib.rst:407 +#: ../../library/hashlib.rst:440 msgid "" "BLAKE2 specification defines constant lengths for salt and personalization " "parameters, however, for convenience, this implementation accepts byte " @@ -500,174 +660,175 @@ msgid "" "the case for *key*.)" msgstr "" -#: ../../library/hashlib.rst:414 +#: ../../library/hashlib.rst:447 msgid "These sizes are available as module `constants`_ described below." msgstr "" -#: ../../library/hashlib.rst:416 +#: ../../library/hashlib.rst:449 msgid "" "Constructor functions also accept the following tree hashing parameters:" msgstr "" -#: ../../library/hashlib.rst:418 +#: ../../library/hashlib.rst:451 msgid "*fanout*: fanout (0 to 255, 0 if unlimited, 1 in sequential mode)." msgstr "" -#: ../../library/hashlib.rst:420 +#: ../../library/hashlib.rst:453 msgid "" "*depth*: maximal depth of tree (1 to 255, 255 if unlimited, 1 in sequential " "mode)." msgstr "" -#: ../../library/hashlib.rst:423 +#: ../../library/hashlib.rst:456 msgid "" "*leaf_size*: maximal byte length of leaf (0 to ``2**32-1``, 0 if unlimited " "or in sequential mode)." msgstr "" -#: ../../library/hashlib.rst:426 +#: ../../library/hashlib.rst:459 msgid "" "*node_offset*: node offset (0 to ``2**64-1`` for BLAKE2b, 0 to ``2**48-1`` " "for BLAKE2s, 0 for the first, leftmost, leaf, or in sequential mode)." msgstr "" -#: ../../library/hashlib.rst:429 +#: ../../library/hashlib.rst:462 msgid "" "*node_depth*: node depth (0 to 255, 0 for leaves, or in sequential mode)." msgstr "" -#: ../../library/hashlib.rst:431 +#: ../../library/hashlib.rst:464 msgid "" "*inner_size*: inner digest size (0 to 64 for BLAKE2b, 0 to 32 for BLAKE2s, 0 " "in sequential mode)." msgstr "" -#: ../../library/hashlib.rst:434 +#: ../../library/hashlib.rst:467 msgid "" "*last_node*: boolean indicating whether the processed node is the last one " "(``False`` for sequential mode)." msgstr "" -#: ../../library/hashlib.rstNone +#: ../../library/hashlib.rst-1 msgid "Explanation of tree mode parameters." msgstr "" -#: ../../library/hashlib.rst:441 +#: ../../library/hashlib.rst:474 msgid "" "See section 2.10 in `BLAKE2 specification `_ for comprehensive review of tree hashing." msgstr "" -#: ../../library/hashlib.rst:447 +#: ../../library/hashlib.rst:480 msgid "Constants" msgstr "Constantes" -#: ../../library/hashlib.rst:452 +#: ../../library/hashlib.rst:485 msgid "Salt length (maximum length accepted by constructors)." msgstr "" -#: ../../library/hashlib.rst:458 +#: ../../library/hashlib.rst:491 msgid "" "Personalization string length (maximum length accepted by constructors)." msgstr "" -#: ../../library/hashlib.rst:464 +#: ../../library/hashlib.rst:497 msgid "Maximum key size." msgstr "" -#: ../../library/hashlib.rst:470 +#: ../../library/hashlib.rst:503 msgid "Maximum digest size that the hash function can output." msgstr "" -#: ../../library/hashlib.rst:474 +#: ../../library/hashlib.rst:507 msgid "Examples" msgstr "Exemplos" -#: ../../library/hashlib.rst:477 +#: ../../library/hashlib.rst:510 msgid "Simple hashing" msgstr "" -#: ../../library/hashlib.rst:479 +#: ../../library/hashlib.rst:512 msgid "" "To calculate hash of some data, you should first construct a hash object by " -"calling the appropriate constructor function (:func:`blake2b` or :func:" -"`blake2s`), then update it with the data by calling :meth:`update` on the " -"object, and, finally, get the digest out of the object by calling :meth:" -"`digest` (or :meth:`hexdigest` for hex-encoded string)." +"calling the appropriate constructor function (:func:`blake2b` " +"or :func:`blake2s`), then update it with the data by " +"calling :meth:`~hash.update` on the object, and, finally, get the digest out " +"of the object by calling :meth:`~hash.digest` (or :meth:`~hash.hexdigest` " +"for hex-encoded string)." msgstr "" -#: ../../library/hashlib.rst:492 +#: ../../library/hashlib.rst:525 msgid "" "As a shortcut, you can pass the first chunk of data to update directly to " "the constructor as the positional argument:" msgstr "" -#: ../../library/hashlib.rst:499 +#: ../../library/hashlib.rst:532 msgid "" "You can call :meth:`hash.update` as many times as you need to iteratively " "update the hash:" msgstr "" -#: ../../library/hashlib.rst:512 +#: ../../library/hashlib.rst:545 msgid "Using different digest sizes" msgstr "" -#: ../../library/hashlib.rst:514 +#: ../../library/hashlib.rst:547 msgid "" "BLAKE2 has configurable size of digests up to 64 bytes for BLAKE2b and up to " "32 bytes for BLAKE2s. For example, to replace SHA-1 with BLAKE2b without " "changing the size of output, we can tell BLAKE2b to produce 20-byte digests:" msgstr "" -#: ../../library/hashlib.rst:528 +#: ../../library/hashlib.rst:561 msgid "" "Hash objects with different digest sizes have completely different outputs " "(shorter hashes are *not* prefixes of longer hashes); BLAKE2b and BLAKE2s " "produce different outputs even if the output length is the same:" msgstr "" -#: ../../library/hashlib.rst:544 +#: ../../library/hashlib.rst:577 msgid "Keyed hashing" msgstr "" -#: ../../library/hashlib.rst:546 +#: ../../library/hashlib.rst:579 msgid "" "Keyed hashing can be used for authentication as a faster and simpler " -"replacement for `Hash-based message authentication code `_ (HMAC). BLAKE2 can be securely used in prefix-MAC " -"mode thanks to the indifferentiability property inherited from BLAKE." +"replacement for `Hash-based message authentication code `_ (HMAC). BLAKE2 can be securely used in prefix-" +"MAC mode thanks to the indifferentiability property inherited from BLAKE." msgstr "" -#: ../../library/hashlib.rst:552 +#: ../../library/hashlib.rst:585 msgid "" "This example shows how to get a (hex-encoded) 128-bit authentication code " "for message ``b'message data'`` with key ``b'pseudorandom key'``::" msgstr "" -#: ../../library/hashlib.rst:562 +#: ../../library/hashlib.rst:595 msgid "" "As a practical example, a web application can symmetrically sign cookies " "sent to users and later verify them to make sure they weren't tampered with::" msgstr "" -#: ../../library/hashlib.rst:591 +#: ../../library/hashlib.rst:624 msgid "" "Even though there's a native keyed hashing mode, BLAKE2 can, of course, be " "used in HMAC construction with :mod:`hmac` module::" msgstr "" -#: ../../library/hashlib.rst:602 +#: ../../library/hashlib.rst:635 msgid "Randomized hashing" msgstr "" -#: ../../library/hashlib.rst:604 +#: ../../library/hashlib.rst:637 msgid "" "By setting *salt* parameter users can introduce randomization to the hash " "function. Randomized hashing is useful for protecting against collision " "attacks on the hash function used in digital signatures." msgstr "" -#: ../../library/hashlib.rst:608 +#: ../../library/hashlib.rst:641 msgid "" "Randomized hashing is designed for situations where one party, the message " "preparer, generates all or part of a message to be signed by a second party, " @@ -688,19 +849,19 @@ msgid "" "when all portions of the message are prepared by the signer." msgstr "" -#: ../../library/hashlib.rst:627 +#: ../../library/hashlib.rst:660 msgid "" "(`NIST SP-800-106 \"Randomized Hashing for Digital Signatures\" `_)" msgstr "" -#: ../../library/hashlib.rst:630 +#: ../../library/hashlib.rst:663 msgid "" "In BLAKE2 the salt is processed as a one-time input to the hash function " "during initialization, rather than as an input to each compression function." msgstr "" -#: ../../library/hashlib.rst:635 +#: ../../library/hashlib.rst:668 msgid "" "*Salted hashing* (or just hashing) with BLAKE2 or any other general-purpose " "cryptographic hash function, such as SHA-256, is not suitable for hashing " @@ -708,18 +869,18 @@ msgid "" "information." msgstr "" -#: ../../library/hashlib.rst:658 +#: ../../library/hashlib.rst:691 msgid "Personalization" msgstr "" -#: ../../library/hashlib.rst:660 +#: ../../library/hashlib.rst:693 msgid "" "Sometimes it is useful to force hash function to produce different digests " "for the same input for different purposes. Quoting the authors of the Skein " "hash function:" msgstr "" -#: ../../library/hashlib.rst:664 +#: ../../library/hashlib.rst:697 msgid "" "We recommend that all application designers seriously consider doing this; " "we have seen many protocols where a hash that is computed in one part of the " @@ -729,41 +890,41 @@ msgid "" "hash function used in the protocol summarily stops this type of attack." msgstr "" -#: ../../library/hashlib.rst:671 +#: ../../library/hashlib.rst:704 msgid "" "(`The Skein Hash Function Family `_, p. 21)" msgstr "" -#: ../../library/hashlib.rst:675 +#: ../../library/hashlib.rst:708 msgid "BLAKE2 can be personalized by passing bytes to the *person* argument::" msgstr "" -#: ../../library/hashlib.rst:689 +#: ../../library/hashlib.rst:722 msgid "" "Personalization together with the keyed mode can also be used to derive " "different keys from a single one." msgstr "" -#: ../../library/hashlib.rst:703 +#: ../../library/hashlib.rst:736 msgid "Tree mode" msgstr "Modo árvore" -#: ../../library/hashlib.rst:705 +#: ../../library/hashlib.rst:738 msgid "Here's an example of hashing a minimal tree with two leaf nodes::" msgstr "" -#: ../../library/hashlib.rst:711 +#: ../../library/hashlib.rst:744 msgid "" "This example uses 64-byte internal digests, and returns the 32-byte final " "digest::" msgstr "" -#: ../../library/hashlib.rst:741 +#: ../../library/hashlib.rst:774 msgid "Credits" msgstr "" -#: ../../library/hashlib.rst:743 +#: ../../library/hashlib.rst:776 msgid "" "BLAKE2_ was designed by *Jean-Philippe Aumasson*, *Samuel Neves*, *Zooko " "Wilcox-O'Hearn*, and *Christian Winnerlein* based on SHA-3_ finalist BLAKE_ " @@ -771,114 +932,118 @@ msgid "" "*Raphael C.-W. Phan*." msgstr "" -#: ../../library/hashlib.rst:748 +#: ../../library/hashlib.rst:781 msgid "" "It uses core algorithm from ChaCha_ cipher designed by *Daniel J. " "Bernstein*." msgstr "" -#: ../../library/hashlib.rst:750 +#: ../../library/hashlib.rst:783 msgid "" "The stdlib implementation is based on pyblake2_ module. It was written by " "*Dmitry Chestnykh* based on C implementation written by *Samuel Neves*. The " "documentation was copied from pyblake2_ and written by *Dmitry Chestnykh*." msgstr "" -#: ../../library/hashlib.rst:754 +#: ../../library/hashlib.rst:787 msgid "The C code was partly rewritten for Python by *Christian Heimes*." msgstr "" -#: ../../library/hashlib.rst:756 +#: ../../library/hashlib.rst:789 msgid "" "The following public domain dedication applies for both C hash function " "implementation, extension code, and this documentation:" msgstr "" -#: ../../library/hashlib.rst:759 +#: ../../library/hashlib.rst:792 msgid "" "To the extent possible under law, the author(s) have dedicated all copyright " "and related and neighboring rights to this software to the public domain " "worldwide. This software is distributed without any warranty." msgstr "" -#: ../../library/hashlib.rst:763 +#: ../../library/hashlib.rst:796 msgid "" "You should have received a copy of the CC0 Public Domain Dedication along " "with this software. If not, see https://creativecommons.org/publicdomain/" "zero/1.0/." msgstr "" -#: ../../library/hashlib.rst:767 +#: ../../library/hashlib.rst:800 msgid "" "The following people have helped with development or contributed their " "changes to the project and the public domain according to the Creative " "Commons Public Domain Dedication 1.0 Universal:" msgstr "" -#: ../../library/hashlib.rst:771 +#: ../../library/hashlib.rst:804 msgid "*Alexandr Sokolovskiy*" msgstr "" -#: ../../library/hashlib.rst:786 +#: ../../library/hashlib.rst:824 msgid "Module :mod:`hmac`" msgstr "" -#: ../../library/hashlib.rst:786 +#: ../../library/hashlib.rst:824 msgid "A module to generate message authentication codes using hashes." msgstr "" -#: ../../library/hashlib.rst:789 +#: ../../library/hashlib.rst:827 msgid "Module :mod:`base64`" msgstr "Módulo :mod:`base64`" -#: ../../library/hashlib.rst:789 +#: ../../library/hashlib.rst:827 msgid "Another way to encode binary hashes for non-binary environments." msgstr "" -#: ../../library/hashlib.rst:792 -msgid "https://www.blake2.net" +#: ../../library/hashlib.rst:830 +msgid "https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.180-4.pdf" msgstr "" -#: ../../library/hashlib.rst:792 -msgid "Official BLAKE2 website." +#: ../../library/hashlib.rst:830 +msgid "The FIPS 180-4 publication on Secure Hash Algorithms." msgstr "" -#: ../../library/hashlib.rst:795 -msgid "" -"https://csrc.nist.gov/csrc/media/publications/fips/180/2/archive/2002-08-01/" -"documents/fips180-2.pdf" +#: ../../library/hashlib.rst:833 +msgid "https://csrc.nist.gov/publications/detail/fips/202/final" msgstr "" -#: ../../library/hashlib.rst:795 -msgid "The FIPS 180-2 publication on Secure Hash Algorithms." +#: ../../library/hashlib.rst:833 +msgid "The FIPS 202 publication on the SHA-3 Standard." msgstr "" -#: ../../library/hashlib.rst:799 -msgid "" -"https://en.wikipedia.org/wiki/" -"Cryptographic_hash_function#Cryptographic_hash_algorithms" +#: ../../library/hashlib.rst:836 +msgid "https://www.blake2.net/" +msgstr "" + +#: ../../library/hashlib.rst:836 +msgid "Official BLAKE2 website." +msgstr "" + +#: ../../library/hashlib.rst:840 +msgid "https://en.wikipedia.org/wiki/Cryptographic_hash_function" msgstr "" -#: ../../library/hashlib.rst:798 +#: ../../library/hashlib.rst:839 msgid "" "Wikipedia article with information on which algorithms have known issues and " "what that means regarding their use." msgstr "" -#: ../../library/hashlib.rst:802 +#: ../../library/hashlib.rst:843 msgid "https://www.ietf.org/rfc/rfc8018.txt" msgstr "" -#: ../../library/hashlib.rst:802 +#: ../../library/hashlib.rst:843 msgid "PKCS #5: Password-Based Cryptography Specification Version 2.1" msgstr "" -#: ../../library/hashlib.rst:804 +#: ../../library/hashlib.rst:845 msgid "" "https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf" msgstr "" -#: ../../library/hashlib.rst:805 +#: ../../library/hashlib.rst:846 msgid "NIST Recommendation for Password-Based Key Derivation." msgstr "" @@ -887,17 +1052,19 @@ msgid "message digest, MD5" msgstr "" #: ../../library/hashlib.rst:12 -msgid "secure hash algorithm, SHA1, SHA224, SHA256, SHA384, SHA512" +msgid "" +"secure hash algorithm, SHA1, SHA2, SHA224, SHA256, SHA384, SHA512, SHA3, " +"Shake, Blake2" msgstr "" -#: ../../library/hashlib.rst:64 +#: ../../library/hashlib.rst:55 msgid "OpenSSL" msgstr "OpenSSL" -#: ../../library/hashlib.rst:64 +#: ../../library/hashlib.rst:55 msgid "(use in module hashlib)" msgstr "" -#: ../../library/hashlib.rst:343 +#: ../../library/hashlib.rst:376 msgid "blake2b, blake2s" -msgstr "" +msgstr "blake2b, blake2s" diff --git a/library/heapq.po b/library/heapq.po index d28b8522c..b0c79b1e3 100644 --- a/library/heapq.po +++ b/library/heapq.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-07 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/heapq.rst:2 msgid ":mod:`heapq` --- Heap queue algorithm" -msgstr "" +msgstr ":mod:`heapq` --- Algoritmo de fila heap" #: ../../library/heapq.rst:12 msgid "**Source code:** :source:`Lib/heapq.py`" @@ -37,6 +36,8 @@ msgid "" "This module provides an implementation of the heap queue algorithm, also " "known as the priority queue algorithm." msgstr "" +"Este módulo fornece uma implementação do algoritmo de fila heap, também " +"conhecido como algoritmo de fila de prioridade." #: ../../library/heapq.rst:19 msgid "" @@ -58,6 +59,13 @@ msgid "" "\"max heap\" is more common in texts because of its suitability for in-place " "sorting)." msgstr "" +"A API abaixo difere dos algoritmos de heap de livros didáticos em dois " +"aspectos: (a) Usamos indexação baseada em zero. Isso torna o relacionamento " +"entre o índice de um nó e os índices de seus filhos um pouco menos óbvio, " +"mas é mais adequado, pois o Python usa indexação baseada em zero. (b) Nosso " +"método pop retorna o menor item, não o maior (chamado de \"min heap\" em " +"livros didáticos; um \"max heap\" é mais comum em textos devido à sua " +"adequação para classificação no local)." #: ../../library/heapq.rst:33 msgid "" @@ -65,12 +73,18 @@ msgid "" "surprises: ``heap[0]`` is the smallest item, and ``heap.sort()`` maintains " "the heap invariant!" msgstr "" +"Esses dois tornam possível visualizar o heap como uma lista regular do " +"Python sem surpresas: ``heap[0]`` é o menor item, e ``heap.sort()`` mantém o " +"invariante de heap!" #: ../../library/heapq.rst:37 msgid "" "To create a heap, use a list initialized to ``[]``, or you can transform a " "populated list into a heap via function :func:`heapify`." msgstr "" +"Para criar um heap, use uma lista inicializada com ``[]``, ou você pode " +"transformar uma lista preenchida em um heap através da " +"função :func:`heapify`." #: ../../library/heapq.rst:40 msgid "The following functions are provided:" @@ -78,7 +92,7 @@ msgstr "As seguintes funções são fornecidas:" #: ../../library/heapq.rst:45 msgid "Push the value *item* onto the *heap*, maintaining the heap invariant." -msgstr "" +msgstr "Coloca o valor *item* no *heap*, mantendo o invariante de heap." #: ../../library/heapq.rst:50 msgid "" @@ -86,6 +100,9 @@ msgid "" "invariant. If the heap is empty, :exc:`IndexError` is raised. To access " "the smallest item without popping it, use ``heap[0]``." msgstr "" +"Retira e retorna o menor item do *heap*, mantendo o invariante de heap. Se o " +"heap estiver vazio, a exceção :exc:`IndexError` será levantada. Para acessar " +"o menor item sem retirá-lo, use ``heap[0]``." #: ../../library/heapq.rst:57 msgid "" @@ -93,17 +110,23 @@ msgid "" "*heap*. The combined action runs more efficiently than :func:`heappush` " "followed by a separate call to :func:`heappop`." msgstr "" +"Coloca *item* no heap, depois retira e retorna o menor item do *heap*. A " +"ação combinada é executada com mais eficiência do que :func:`heappush` " +"seguida por uma chamada separada para :func:`heappop`." #: ../../library/heapq.rst:64 msgid "Transform list *x* into a heap, in-place, in linear time." -msgstr "" +msgstr "Transforma a lista *x* em um heap, no local, em tempo linear." #: ../../library/heapq.rst:69 msgid "" "Pop and return the smallest item from the *heap*, and also push the new " -"*item*. The heap size doesn't change. If the heap is empty, :exc:" -"`IndexError` is raised." +"*item*. The heap size doesn't change. If the heap is " +"empty, :exc:`IndexError` is raised." msgstr "" +"Abre e retorna o menor item da *heap* e também coloca o novo *item*. O " +"tamanho do heap não muda. Se o heap estiver vazio, a " +"exceção :exc:`IndexError` será levantada." #: ../../library/heapq.rst:72 msgid "" @@ -112,6 +135,10 @@ msgid "" "heap. The pop/push combination always returns an element from the heap and " "replaces it with *item*." msgstr "" +"Esta operação de uma etapa é mais eficiente que :func:`heappop` seguida " +"por :func:`heappush` e pode ser mais apropriada ao usar um heap de tamanho " +"fixo. A combinação de retirar/colocar sempre retorna um elemento do heap e o " +"substitui por *item*." #: ../../library/heapq.rst:77 msgid "" @@ -120,10 +147,14 @@ msgid "" "combination returns the smaller of the two values, leaving the larger value " "on the heap." msgstr "" +"O valor retornado pode ser maior que o *item* adicionado. Se isso não for " +"desejado, considere usar :func:`heappushpop`. Sua combinação de retirar/" +"colocar retorna o menor dos dois valores, deixando o valor maior no heap." #: ../../library/heapq.rst:83 msgid "The module also offers three general purpose functions based on heaps." msgstr "" +"O módulo também oferece três funções de propósito geral baseadas em heaps." #: ../../library/heapq.rst:88 msgid "" @@ -131,6 +162,9 @@ msgid "" "timestamped entries from multiple log files). Returns an :term:`iterator` " "over the sorted values." msgstr "" +"Mescla diversas entradas classificadas em uma única saída classificada (por " +"exemplo, mescla entradas com registro de data e hora de vários arquivos de " +"log). Retorna um :term:`iterador` sobre os valores classificados." #: ../../library/heapq.rst:92 msgid "" @@ -138,6 +172,9 @@ msgid "" "does not pull the data into memory all at once, and assumes that each of the " "input streams is already sorted (smallest to largest)." msgstr "" +"Semelhante a ``sorted(itertools.chain(*iterables))`` mas retorna um " +"iterável, não puxa os dados para a memória todos de uma vez e presume que " +"cada um dos fluxos de entrada já está classificado (do menor para o maior)." #: ../../library/heapq.rst:96 msgid "" @@ -152,6 +189,9 @@ msgid "" "extract a comparison key from each input element. The default value is " "``None`` (compare the elements directly)." msgstr "" +"*key* especifica uma :term:`função chave` de um argumento que é usado para " +"extrair uma chave de comparação de cada elemento de entrada. O valor padrão " +"é ``None`` (compare os elementos diretamente)." #: ../../library/heapq.rst:102 msgid "" @@ -160,10 +200,15 @@ msgid "" "to ``sorted(itertools.chain(*iterables), reverse=True)``, all iterables must " "be sorted from largest to smallest." msgstr "" +"*reverse* é um valor booleano. Se definido como ``True``, então os elementos " +"de entrada serão mesclados como se cada comparação fosse invertida. Para " +"obter um comportamento semelhante a ``sorted(itertools.chain(*iterables), " +"reverse=True)``, todos os iteráveis devem ser classificados do maior para o " +"menor." #: ../../library/heapq.rst:107 msgid "Added the optional *key* and *reverse* parameters." -msgstr "" +msgstr "Adicionados os parâmetros opcionais *key* e *reverse*." #: ../../library/heapq.rst:113 msgid "" @@ -173,24 +218,39 @@ msgid "" "example, ``key=str.lower``). Equivalent to: ``sorted(iterable, key=key, " "reverse=True)[:n]``." msgstr "" +"Retorna uma lista com os *n* maiores elementos do conjunto de dados definido " +"por *iterable*. *key*, se fornecido, especifica uma função de um argumento " +"que é usado para extrair uma chave de comparação de cada elemento em " +"*iterable* (por exemplo, ``key=str.lower``). Equivalente a: " +"``sorted(iterable, key=key, reverse=True)[:n]``." #: ../../library/heapq.rst:122 msgid "" "Return a list with the *n* smallest elements from the dataset defined by " "*iterable*. *key*, if provided, specifies a function of one argument that " "is used to extract a comparison key from each element in *iterable* (for " -"example, ``key=str.lower``). Equivalent to: ``sorted(iterable, key=key)[:" -"n]``." +"example, ``key=str.lower``). Equivalent to: ``sorted(iterable, key=key)" +"[:n]``." msgstr "" +"Retorna uma lista com os *n* menores elementos do conjunto de dados definido " +"por *iterable*. *key*, se fornecido, especifica uma função de um argumento " +"que é usado para extrair uma chave de comparação de cada elemento em " +"*iterable* (por exemplo, ``key=str.lower``). Equivalente a: " +"``sorted(iterable, key=key)[:n]``." #: ../../library/heapq.rst:128 msgid "" "The latter two functions perform best for smaller values of *n*. For larger " "values, it is more efficient to use the :func:`sorted` function. Also, when " -"``n==1``, it is more efficient to use the built-in :func:`min` and :func:" -"`max` functions. If repeated usage of these functions is required, consider " -"turning the iterable into an actual heap." +"``n==1``, it is more efficient to use the built-in :func:`min` " +"and :func:`max` functions. If repeated usage of these functions is " +"required, consider turning the iterable into an actual heap." msgstr "" +"As duas últimas funções têm melhor desempenho para valores menores de *n*. " +"Para valores maiores, é mais eficiente usar a função :func:`sorted`. Além " +"disso, quando ``n==1``, é mais eficiente usar as funções " +"embutidas :func:`min` e :func:`max`. Se for necessário o uso repetido dessas " +"funções, considere transformar o iterável em um heap real." #: ../../library/heapq.rst:136 msgid "Basic Examples" @@ -202,52 +262,72 @@ msgid "" "pushing all values onto a heap and then popping off the smallest values one " "at a time::" msgstr "" +"Um `heapsort `_ pode ser " +"implementado colocando todos os valores em um heap e, em seguida, retirando " +"os menores valores, um de cada vez::" #: ../../library/heapq.rst:151 msgid "" "This is similar to ``sorted(iterable)``, but unlike :func:`sorted`, this " "implementation is not stable." msgstr "" +"Isto é semelhante a ``sorted(iterable)``, mas diferente de :func:`sorted`, " +"esta implementação não é estável." #: ../../library/heapq.rst:154 msgid "" "Heap elements can be tuples. This is useful for assigning comparison values " "(such as task priorities) alongside the main record being tracked::" msgstr "" +"Os elementos de heap podem ser tuplas. Isto é útil para atribuir valores de " +"comparação (como prioridades de tarefas) juntamente com o registro principal " +"que está sendo rastreado::" #: ../../library/heapq.rst:167 msgid "Priority Queue Implementation Notes" -msgstr "" +msgstr "Notas de implementação da fila de prioridade" #: ../../library/heapq.rst:169 msgid "" "A `priority queue `_ is common " "use for a heap, and it presents several implementation challenges:" msgstr "" +"Uma `fila de prioridade `_ é " +"de uso comum para um heap e apresenta vários desafios de implementação:" #: ../../library/heapq.rst:172 msgid "" "Sort stability: how do you get two tasks with equal priorities to be " "returned in the order they were originally added?" msgstr "" +"Estabilidade de classificação: como fazer com que duas tarefas com " +"prioridades iguais sejam retornadas na ordem em que foram adicionadas " +"originalmente?" #: ../../library/heapq.rst:175 msgid "" "Tuple comparison breaks for (priority, task) pairs if the priorities are " "equal and the tasks do not have a default comparison order." msgstr "" +"A comparação de tuplas quebra para pares (prioridade, tarefa) se as " +"prioridades forem iguais e as tarefas não tiverem uma ordem de comparação " +"padrão." #: ../../library/heapq.rst:178 msgid "" "If the priority of a task changes, how do you move it to a new position in " "the heap?" msgstr "" +"Se a prioridade de uma tarefa mudar, como movê-la para uma nova posição no " +"heap?" #: ../../library/heapq.rst:181 msgid "" "Or if a pending task needs to be deleted, how do you find it and remove it " "from the queue?" msgstr "" +"Ou se uma tarefa pendente precisar ser excluída, como encontrá-la e removê-" +"la da fila?" #: ../../library/heapq.rst:184 msgid "" @@ -257,6 +337,12 @@ msgid "" "returned in the order they were added. And since no two entry counts are the " "same, the tuple comparison will never attempt to directly compare two tasks." msgstr "" +"Uma solução para os dois primeiros desafios é armazenar as entradas como uma " +"lista de 3 elementos, incluindo a prioridade, uma contagem de entradas e a " +"tarefa. A contagem de entradas serve de desempate para que duas tarefas com " +"a mesma prioridade sejam retornadas na ordem em que foram adicionadas. E " +"como não há duas contagens de entradas iguais, a comparação de tuplas nunca " +"tentará comparar diretamente duas tarefas." #: ../../library/heapq.rst:190 msgid "" @@ -264,6 +350,8 @@ msgid "" "wrapper class that ignores the task item and only compares the priority " "field::" msgstr "" +"Outra solução para o problema de tarefas não comparáveis é criar uma classe " +"wrapper que ignore o item da tarefa e compare apenas o campo de prioridade:" #: ../../library/heapq.rst:201 msgid "" @@ -271,6 +359,9 @@ msgid "" "changes to its priority or removing it entirely. Finding a task can be done " "with a dictionary pointing to an entry in the queue." msgstr "" +"Os desafios restantes giram em torno de encontrar uma tarefa pendente e " +"fazer alterações em sua prioridade ou removê-la totalmente. Encontrar uma " +"tarefa pode ser feito com um dicionário apontando para uma entrada na fila." #: ../../library/heapq.rst:205 msgid "" @@ -278,6 +369,10 @@ msgid "" "would break the heap structure invariants. So, a possible solution is to " "mark the entry as removed and add a new entry with the revised priority::" msgstr "" +"Remover a entrada ou alterar sua prioridade é mais difícil porque quebraria " +"os invariantes da estrutura de heap. Assim, uma possível solução é marcar a " +"entrada como removida e adicionar uma nova entrada com a prioridade " +"revisada::" #: ../../library/heapq.rst:239 msgid "Theory" @@ -290,12 +385,18 @@ msgid "" "elements are considered to be infinite. The interesting property of a heap " "is that ``a[0]`` is always its smallest element." msgstr "" +"Heaps são arrays para os quais ``a[k] <= a[2*k+1]`` e ``a[k] <= a[2*k+2]`` " +"para todos *k*, contando elementos de 0. Para fins de comparação, os " +"elementos inexistentes são considerados infinitos. A propriedade " +"interessante de um heap é que ``a[0]`` é sempre seu menor elemento." #: ../../library/heapq.rst:246 msgid "" "The strange invariant above is meant to be an efficient memory " "representation for a tournament. The numbers below are *k*, not ``a[k]``::" msgstr "" +"O estranho invariante acima pretende ser uma representação de memória " +"eficiente para um torneio. Os números abaixo são *k*, não ``a[k]``::" #: ../../library/heapq.rst:259 msgid "" @@ -309,6 +410,16 @@ msgid "" "two cells it tops contain three different items, but the top cell \"wins\" " "over the two topped cells." msgstr "" +"Na árvore acima, cada célula *k* está no topo de ``2*k+1`` e ``2*k+2``. Num " +"torneio binário normal que vemos nos desportos, cada célula é a vencedora " +"das duas células que está no topo, e podemos rastrear o vencedor na árvore " +"para ver todos os adversários que teve. Contudo, em muitas aplicações " +"informáticas de tais torneios, não precisamos de traçar a história de um " +"vencedor. Para sermos mais eficientes em termos de memória, quando um " +"vencedor é promovido, tentamos substituí-lo por algo de nível inferior, e a " +"regra passa a ser que uma célula e as duas células que ela cobre contêm três " +"itens diferentes, mas a célula de cima \"ganha\" sobre as duas células " +"superiores." #: ../../library/heapq.rst:268 msgid "" @@ -318,8 +429,15 @@ msgid "" "above) into the 0 position, and then percolate this new 0 down the tree, " "exchanging values, until the invariant is re-established. This is clearly " "logarithmic on the total number of items in the tree. By iterating over all " -"items, you get an O(n log n) sort." +"items, you get an *O*\\ (*n* log *n*) sort." msgstr "" +"Se esse invariante de heap estiver protegido o tempo todo, o índice 0 é " +"claramente o vencedor geral. A maneira algorítmica mais simples de removê-lo " +"e encontrar o \"próximo\" vencedor é mover algum perdedor (digamos a célula " +"30 no diagrama acima) para a posição 0 e, em seguida, filtrar esse novo 0 " +"pela árvore, trocando valores, até que o invariante é restabelecido. Isto é " +"claramente logarítmico do número total de itens na árvore. Ao iterar todos " +"os itens, você obtém uma classificação *O*\\ (*n* log *n*)." #: ../../library/heapq.rst:275 msgid "" @@ -332,6 +450,15 @@ msgid "" "they can easily go into the heap. So, a heap is a good structure for " "implementing schedulers (this is what I used for my MIDI sequencer :-)." msgstr "" +"Um recurso interessante desse tipo é que você pode inserir novos itens com " +"eficiência enquanto a classificação está em andamento, desde que os itens " +"inseridos não sejam \"melhores\" que o último 0º elemento extraído. Isto é " +"especialmente útil em contextos de simulação, onde a árvore contém todos os " +"eventos recebidos e a condição \"vitória\" significa o menor tempo " +"programado. Quando um evento agenda outros eventos para execução, eles são " +"agendados para o futuro, para que possam entrar facilmente no heap. " +"Portanto, um heap é uma boa estrutura para implementar escalonadores (foi " +"isso que usei no meu sequenciador MIDI :-)." #: ../../library/heapq.rst:284 msgid "" @@ -341,6 +468,11 @@ msgid "" "average case. However, there are other representations which are more " "efficient overall, yet the worst cases might be terrible." msgstr "" +"Várias estruturas para implementação de escalonadores foram extensivamente " +"estudadas, e os heaps são bons para isso, pois são razoavelmente rápidos, a " +"velocidade é quase constante e o pior caso não é muito diferente do caso " +"médio. No entanto, existem outras representações que são globalmente mais " +"eficientes, embora os piores casos possam ser terríveis." #: ../../library/heapq.rst:290 msgid "" @@ -355,6 +487,18 @@ msgid "" "which are twice the size of the memory for random input, and much better for " "input fuzzily ordered." msgstr "" +"Heaps também são muito úteis em classificações de discos grandes. " +"Provavelmente todos vocês sabem que uma classificação grande implica a " +"produção de \"execuções\" (que são sequências pré-classificadas, cujo " +"tamanho geralmente está relacionado à quantidade de memória da CPU), " +"seguidas de passagens de fusão para essas execuções, cuja fusão geralmente é " +"muito inteligente. organizado [#]_. É muito importante que a classificação " +"inicial produza as execuções mais longas possíveis. Os torneios são uma boa " +"maneira de conseguir isso. Se, usando toda a memória disponível para " +"realizar um torneio, você substituir e filtrar itens que se encaixem na " +"corrida atual, você produzirá corridas que têm o dobro do tamanho da memória " +"para entradas aleatórias e muito melhores para entradas ordenadas de maneira " +"imprecisa." #: ../../library/heapq.rst:300 msgid "" @@ -366,12 +510,22 @@ msgid "" "the first heap is melting. When the first heap completely vanishes, you " "switch heaps and start a new run. Clever and quite effective!" msgstr "" +"Além disso, se você gerar o 0º item no disco e obter uma entrada que pode " +"não caber no torneio atual (porque o valor \"ganha\" sobre o último valor de " +"saída), ele não poderá caber no heap, então o tamanho do heap diminui. A " +"memória liberada poderia ser reutilizada de maneira inteligente e imediata " +"para a construção progressiva de um segundo heap, que cresce exatamente na " +"mesma proporção que o primeiro heap está derretendo. Quando o primeiro heap " +"desaparece completamente, você troca os heaps e inicia uma nova execução. " +"Inteligente e bastante eficaz!" #: ../../library/heapq.rst:308 msgid "" "In a word, heaps are useful memory structures to know. I use them in a few " "applications, and I think it is good to keep a 'heap' module around. :-)" msgstr "" +"Em uma palavra, heaps são estruturas de memória úteis para conhecer. Eu os " +"uso em alguns aplicativos e acho bom manter um módulo \"heap\" por perto. :-)" #: ../../library/heapq.rst:312 msgid "Footnotes" @@ -389,3 +543,13 @@ msgid "" "Believe me, real good tape sorts were quite spectacular to watch! From all " "times, sorting has always been a Great Art! :-)" msgstr "" +"Os algoritmos de balanceamento de disco atuais, hoje em dia, são mais " +"incômodos do que inteligentes, e isso é consequência da capacidade de busca " +"dos discos. Em dispositivos que não são capazes de buscar, como grandes " +"drives de fita, a história era bem diferente, e era preciso ser muito " +"inteligente para garantir (com muita antecedência) que cada movimento da " +"fita seria o mais eficaz possível (isto é, participaria melhor na " +"\"progressão\" da fusão). Algumas fitas podiam até ser lidas de trás para " +"frente, o que também era usado para evitar o tempo de rebobinar. Acredite em " +"mim, fitas realmente boas eram espetaculares de assistir! Desde sempre, " +"ordenar sempre foi uma Grande Arte! :-)" diff --git a/library/hmac.po b/library/hmac.po index 0133a622e..8d416de54 100644 --- a/library/hmac.po +++ b/library/hmac.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,6 +34,8 @@ msgstr "**Código-fonte:** :source:`Lib/hmac.py`" #: ../../library/hmac.rst:14 msgid "This module implements the HMAC algorithm as described by :rfc:`2104`." msgstr "" +"Este módulo implementa o algoritmo HMAC, abreviação de *hash-based message " +"authentication code*, conforme descrito por :rfc:`2104`." #: ../../library/hmac.rst:19 msgid "" @@ -44,6 +45,11 @@ msgid "" "object to use. It may be any name suitable to :func:`hashlib.new`. Despite " "its argument position, it is required." msgstr "" +"Retorna um novo objeto hmac. *key* é um objeto bytes ou bytearray que " +"fornece a chave secreta. Se *msg* estiver presente, a chamada de método " +"``update(msg)`` é feita. *digestmod* é o nome do resumo, construtor do " +"resumo ou módulo para o objeto HMAC usar. Pode ser qualquer nome adequado " +"para :func:`hashlib.new`. Apesar da posição do argumento, é obrigatório." #: ../../library/hmac.rst:25 msgid "" @@ -51,135 +57,182 @@ msgid "" "of any type supported by :mod:`hashlib`. Parameter *digestmod* can be the " "name of a hash algorithm." msgstr "" +"O parâmetro *key* pode ser um objeto bytes ou bytearray. O parâmetro *msg* " +"pode ser de qualquer tipo suportado por :mod:`hashlib`. O parâmetro " +"*digestmod* pode ser o nome de um algoritmo hash." -#: ../../library/hmac.rst:33 +#: ../../library/hmac.rst:30 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 "" +"O argumento *digestmod* agora é obrigatório. Passe-o como um argumento " +"nomeado para evitar constrangimentos quando você não tiver uma *msg* inicial." -#: ../../library/hmac.rst:38 +#: ../../library/hmac.rst:37 msgid "" "Return digest of *msg* for given secret *key* and *digest*. The function is " "equivalent to ``HMAC(key, msg, digest).digest()``, but uses an optimized C " "or inline implementation, which is faster for messages that fit into memory. " -"The parameters *key*, *msg*, and *digest* have the same meaning as in :func:" -"`~hmac.new`." +"The parameters *key*, *msg*, and *digest* have the same meaning as " +"in :func:`~hmac.new`." msgstr "" +"Retorna o resumo de *msg* para o segredo *key* e *digest* fornecidos. A " +"função equivale a ``HMAC(key, msg, digest).digest()``, mas usa uma " +"implementação C otimizada ou inline, que é mais rápida para mensagens que " +"cabem na memória. Os parâmetros *key*, *msg* e *digest* têm o mesmo " +"significado que em :func:`~hmac.new`." -#: ../../library/hmac.rst:44 +#: ../../library/hmac.rst:43 msgid "" "CPython implementation detail, the optimized C implementation is only used " "when *digest* is a string and name of a digest algorithm, which is supported " "by OpenSSL." msgstr "" +"Detalhe da implementação do CPython: a implementação otimizada do C é usada " +"somente quando *digest* é uma string e o nome de um algoritmo de resumo, que " +"é suportado pelo OpenSSL." -#: ../../library/hmac.rst:51 +#: ../../library/hmac.rst:50 msgid "An HMAC object has the following methods:" -msgstr "" +msgstr "Um objeto HMAC tem os seguintes métodos:" -#: ../../library/hmac.rst:55 +#: ../../library/hmac.rst:54 msgid "" "Update the hmac object with *msg*. Repeated calls are equivalent to a " -"single call with the concatenation of all the arguments: ``m.update(a); m." -"update(b)`` is equivalent to ``m.update(a + b)``." +"single call with the concatenation of all the arguments: ``m.update(a); " +"m.update(b)`` is equivalent to ``m.update(a + b)``." msgstr "" +"Atualiza o objeto hmac com *msg*. Chamadas repetidas são equivalentes a uma " +"única chamada com a concatenação de todos os argumentos: ``m.update(a); " +"m.update(b)`` equivale a ``m.update(a + b)``." -#: ../../library/hmac.rst:59 +#: ../../library/hmac.rst:58 msgid "Parameter *msg* can be of any type supported by :mod:`hashlib`." msgstr "" +"O parâmetro *msg* pode ser de qualquer tipo suportado por :mod:`hashlib`." -#: ../../library/hmac.rst:65 +#: ../../library/hmac.rst:64 msgid "" "Return the digest of the bytes passed to the :meth:`update` method so far. " "This bytes object will be the same length as the *digest_size* of the digest " "given to the constructor. It may contain non-ASCII bytes, including NUL " "bytes." msgstr "" +"Retorna o resumo dos bytes passados para o método :meth:`update` até o " +"momento. Este objeto bytes terá o mesmo comprimento que o *digest_size* do " +"resumo dado ao construtor. Ele pode conter bytes não-ASCII, incluindo bytes " +"NUL." -#: ../../library/hmac.rst:72 +#: ../../library/hmac.rst:71 msgid "" "When comparing the output of :meth:`digest` to an externally supplied digest " -"during a verification routine, it is recommended to use the :func:" -"`compare_digest` function instead of the ``==`` operator to reduce the " -"vulnerability to timing attacks." +"during a verification routine, it is recommended to use " +"the :func:`compare_digest` function instead of the ``==`` operator to reduce " +"the vulnerability to timing attacks." msgstr "" +"Ao comparar a saída de :meth:`digest` com um resumo fornecido externamente " +"durante uma rotina de verificação, é recomendável usar a " +"função :func:`compare_digest` em vez do operador ``==`` para reduzir a " +"vulnerabilidade a ataques de temporização." -#: ../../library/hmac.rst:80 +#: ../../library/hmac.rst:79 msgid "" "Like :meth:`digest` except the digest is returned as a string twice the " "length containing only hexadecimal digits. This may be used to exchange the " "value safely in email or other non-binary environments." msgstr "" +"Como :meth:`digest` exceto que o resumo é retornado como uma string com o " +"dobro do comprimento contendo apenas dígitos hexadecimais. Isso pode ser " +"usado para trocar o valor com segurança em e-mail ou outros ambientes não " +"binários." -#: ../../library/hmac.rst:86 +#: ../../library/hmac.rst:85 msgid "" "When comparing the output of :meth:`hexdigest` to an externally supplied " -"digest during a verification routine, it is recommended to use the :func:" -"`compare_digest` function instead of the ``==`` operator to reduce the " -"vulnerability to timing attacks." +"digest during a verification routine, it is recommended to use " +"the :func:`compare_digest` function instead of the ``==`` operator to reduce " +"the vulnerability to timing attacks." msgstr "" +"Ao comparar a saída de :meth:`hexdigest` com um resumo fornecido " +"externamente durante uma rotina de verificação, é recomendável usar a " +"função :func:`compare_digest` em vez do operador ``==`` para reduzir a " +"vulnerabilidade a ataques de temporização." -#: ../../library/hmac.rst:94 +#: ../../library/hmac.rst:93 msgid "" "Return a copy (\"clone\") of the hmac object. This can be used to " "efficiently compute the digests of strings that share a common initial " "substring." msgstr "" +"Retorna uma cópia (\"clone\") do objeto hmac. Isso pode ser usado para " +"calcular eficientemente os resumos de strings que compartilham uma substring " +"inicial comum." -#: ../../library/hmac.rst:98 +#: ../../library/hmac.rst:97 msgid "A hash object has the following attributes:" -msgstr "" +msgstr "Um objeto hash tem os seguintes atributos:" -#: ../../library/hmac.rst:102 +#: ../../library/hmac.rst:101 msgid "The size of the resulting HMAC digest in bytes." -msgstr "" +msgstr "O tamanho do resumo HMAC resultante em bytes." -#: ../../library/hmac.rst:106 +#: ../../library/hmac.rst:105 msgid "The internal block size of the hash algorithm in bytes." -msgstr "" +msgstr "O tamanho do bloco interna do algoritmo de hash em bytes." -#: ../../library/hmac.rst:112 +#: ../../library/hmac.rst:111 msgid "The canonical name of this HMAC, always lowercase, e.g. ``hmac-md5``." msgstr "" +"O nome canônico deste HMAC, sempre em letras minúsculas, por exemplo, ``hmac-" +"md5``." -#: ../../library/hmac.rst:119 +#: ../../library/hmac.rst:116 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 "" +"Foram removidos os atributos não documentados ``HMAC.digest_cons``, " +"``HMAC.inner`` e ``HMAC.outer``." -#: ../../library/hmac.rst:123 +#: ../../library/hmac.rst:120 msgid "This module also provides the following helper function:" msgstr "Este módulo também fornece a seguinte função auxiliar:" -#: ../../library/hmac.rst:127 +#: ../../library/hmac.rst:124 msgid "" "Return ``a == b``. This function uses an approach designed to prevent " "timing analysis by avoiding content-based short circuiting behaviour, making " "it appropriate for cryptography. *a* and *b* must both be of the same type: " -"either :class:`str` (ASCII only, as e.g. returned by :meth:`HMAC." -"hexdigest`), or a :term:`bytes-like object`." +"either :class:`str` (ASCII only, as e.g. returned " +"by :meth:`HMAC.hexdigest`), or a :term:`bytes-like object`." msgstr "" +"Retorna ``a == b``. Esta função usa uma abordagem projetada para evitar " +"análise de tempo evitando comportamento de curto-circuito baseado em " +"conteúdo, tornando-a apropriada para criptografia. *a* e *b* devem ser ambos " +"do mesmo tipo: :class:`str` (somente ASCII, como, por exemplo, retornado " +"por :meth:`HMAC.hexdigest`), ou um :term:`objeto bytes ou similar`." -#: ../../library/hmac.rst:135 +#: ../../library/hmac.rst:132 msgid "" "If *a* and *b* are of different lengths, or if an error occurs, a timing " "attack could theoretically reveal information about the types and lengths of " "*a* and *b*—but not their values." msgstr "" +"Se *a* e *b* tiverem comprimentos diferentes, ou se ocorrer um erro, um " +"ataque de temporização poderia teoricamente revelar informações sobre os " +"tipos e comprimentos de *a* e *b*, mas não seus valores." -#: ../../library/hmac.rst:143 +#: ../../library/hmac.rst:140 msgid "" "The function uses OpenSSL's ``CRYPTO_memcmp()`` internally when available." msgstr "" +"A função usa ``CRYPTO_memcmp()`` do OpenSSL internamente quando disponível." -#: ../../library/hmac.rst:149 +#: ../../library/hmac.rst:146 msgid "Module :mod:`hashlib`" msgstr "Módulo :mod:`hashlib`" -#: ../../library/hmac.rst:150 +#: ../../library/hmac.rst:147 msgid "The Python module providing secure hash functions." -msgstr "" +msgstr "O módulo Python que fornece funções hash seguras." diff --git a/library/html.entities.po b/library/html.entities.po index 7a9c7c078..ddaa475ff 100644 --- a/library/html.entities.po +++ b/library/html.entities.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,11 +33,13 @@ msgstr "**Código-fonte:** :source:`Lib/html/entities.py`" #: ../../library/html.entities.rst:13 msgid "" -"This module defines four dictionaries, :data:`html5`, :data:" -"`name2codepoint`, :data:`codepoint2name`, and :data:`entitydefs`." +"This module defines four " +"dictionaries, :data:`html5`, :data:`name2codepoint`, :data:`codepoint2name`, " +"and :data:`entitydefs`." msgstr "" -"Esse módulo define quatro dicionários, :data:`html5`, :data:" -"`name2codepoint`, :data:`codepoint2name` e :data:`entitydefs`." +"Esse módulo define quatro " +"dicionários, :data:`html5`, :data:`name2codepoint`, :data:`codepoint2name` " +"e :data:`entitydefs`." #: ../../library/html.entities.rst:19 msgid "" @@ -45,8 +47,8 @@ msgid "" "equivalent Unicode character(s), e.g. ``html5['gt;'] == '>'``. Note that the " "trailing semicolon is included in the name (e.g. ``'gt;'``), however some of " "the names are accepted by the standard even without the semicolon: in this " -"case the name is present with and without the ``';'``. See also :func:`html." -"unescape`." +"case the name is present with and without the ``';'``. See " +"also :func:`html.unescape`." msgstr "" "Um dicionário que mapeia referências de caracteres nomeados em HTML5 [#]_ " "para os caracteres Unicode equivalentes, por exemplo, ``html5['gt;'] == " diff --git a/library/html.parser.po b/library/html.parser.po index 39442a5ca..993d5f1d7 100644 --- a/library/html.parser.po +++ b/library/html.parser.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,112 +38,168 @@ msgid "" "for parsing text files formatted in HTML (HyperText Mark-up Language) and " "XHTML." msgstr "" +"Este módulo define uma classe :class:`HTMLParser` que serve como base para " +"analisar arquivos de texto formatados em HTML (HyperText Markup Language) e " +"XHTML." #: ../../library/html.parser.rst:20 msgid "Create a parser instance able to parse invalid markup." msgstr "" +"Cria uma instância de analisador sintático capaz de analisar marcação " +"inválida." #: ../../library/html.parser.rst:22 msgid "" -"If *convert_charrefs* is ``True`` (the default), all character references " -"(except the ones in ``script``/``style`` elements) are automatically " -"converted to the corresponding Unicode characters." +"If *convert_charrefs* is true (the default), all character references " +"(except the ones in elements like ``script`` and ``style``) are " +"automatically converted to the corresponding Unicode characters." msgstr "" +"Se *convert_charrefs* for verdadeiro (o padrão), todas as referências de " +"caracteres (exceto as de elementos como ``script`` e ``style``) serão " +"convertidas automaticamente para os caracteres Unicode correspondentes." #: ../../library/html.parser.rst:26 msgid "" +"If *scripting* is false (the default), the content of the ``noscript`` " +"element is parsed normally; if it's true, it's returned as is without being " +"parsed." +msgstr "" +"Se *scripting* for falso (o padrão), o conteúdo do elemento ``noscript`` " +"será analisado normalmente; se for verdadeiro, será retornado como está, sem " +"ser analisado." + +#: ../../library/html.parser.rst:30 +msgid "" "An :class:`.HTMLParser` instance is fed HTML data and calls handler methods " "when start tags, end tags, text, comments, and other markup elements are " "encountered. The user should subclass :class:`.HTMLParser` and override its " "methods to implement the desired behavior." msgstr "" +"Uma instância de :class:`.HTMLParser` recebe dados HTML e chama métodos de " +"tratamento quando encontra tags de abertura, tags de fechamento, texto, " +"comentários e outros elementos de marcação. O usuário deve criar uma " +"subclasse de :class:`.HTMLParser` e substituir seus métodos para implementar " +"o comportamento desejado." -#: ../../library/html.parser.rst:31 +#: ../../library/html.parser.rst:35 msgid "" "This parser does not check that end tags match start tags or call the end-" "tag handler for elements which are closed implicitly by closing an outer " "element." msgstr "" +"Este analisador sintático não verifica se as tags de fechamento correspondem " +"às tags de abertura nem chama o manipulador de tags de fechamento para " +"elementos que são fechados implicitamente pelo fechamento de um elemento " +"externo." -#: ../../library/html.parser.rst:34 +#: ../../library/html.parser.rst:38 msgid "*convert_charrefs* keyword argument added." -msgstr "" +msgstr "Adicionado o argumento nomeado *convert_charrefs*." -#: ../../library/html.parser.rst:37 +#: ../../library/html.parser.rst:41 msgid "The default value for argument *convert_charrefs* is now ``True``." -msgstr "" +msgstr "O valor padrão para o argumento *convert_charrefs* agora é ``True``." + +#: ../../library/html.parser.rst:44 +msgid "Added the *scripting* parameter." +msgstr "Adicionado o parâmetro *scripting*." -#: ../../library/html.parser.rst:42 +#: ../../library/html.parser.rst:49 msgid "Example HTML Parser Application" -msgstr "" +msgstr "Exemplo de aplicação para análise de HTML" -#: ../../library/html.parser.rst:44 +#: ../../library/html.parser.rst:51 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::" +"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::" msgstr "" +"Como exemplo básico, abaixo está um analisador HTML simples que usa a " +"classe :class:`HTMLParser` para exibir as tags de abertura, tags de " +"fechamento e dados à medida que são encontrados::" -#: ../../library/html.parser.rst:64 +#: ../../library/html.parser.rst:71 msgid "The output will then be:" -msgstr "" +msgstr "A saída então será:" -#: ../../library/html.parser.rst:83 +#: ../../library/html.parser.rst:90 msgid ":class:`.HTMLParser` Methods" -msgstr "" +msgstr "Métodos :class:`.HTMLParser`" -#: ../../library/html.parser.rst:85 +#: ../../library/html.parser.rst:92 msgid ":class:`HTMLParser` instances have the following methods:" -msgstr "" +msgstr "Instâncias de :class:`HTMLParser` têm os seguintes métodos:" -#: ../../library/html.parser.rst:90 +#: ../../library/html.parser.rst:97 msgid "" "Feed some text to the parser. It is processed insofar as it consists of " -"complete elements; incomplete data is buffered until more data is fed or :" -"meth:`close` is called. *data* must be :class:`str`." +"complete elements; incomplete data is buffered until more data is fed " +"or :meth:`close` is called. *data* must be :class:`str`." msgstr "" +"Fornece algum texto ao analisador. Ele será processado na medida em que " +"consistir em elementos completos; dados incompletos serão armazenados em " +"buffer até que mais dados sejam fornecidos ou que o método :meth:`close` " +"seja chamado. Os dados devem ser do tipo :class:`str`." -#: ../../library/html.parser.rst:97 +#: ../../library/html.parser.rst:104 msgid "" "Force processing of all buffered data as if it were followed by an end-of-" "file mark. This method may be redefined by a derived class to define " "additional processing at the end of the input, but the redefined version " "should always call the :class:`HTMLParser` base class method :meth:`close`." msgstr "" +"Força o processamento de todos os dados em buffer como se fossem seguidos " +"por uma marca de fim de arquivo. Este método pode ser redefinido por uma " +"classe derivada para definir processamento adicional no final da entrada, " +"mas a versão redefinida deve sempre chamar o método :meth:`close` da classe " +"base :class:`HTMLParser`." -#: ../../library/html.parser.rst:105 +#: ../../library/html.parser.rst:112 msgid "" "Reset the instance. Loses all unprocessed data. This is called implicitly " "at instantiation time." msgstr "" +"Reinicializa a instância. Perde todos os dados não processados. Este método " +"é chamado implicitamente no momento da instanciação." -#: ../../library/html.parser.rst:111 +#: ../../library/html.parser.rst:118 msgid "Return current line number and offset." -msgstr "" +msgstr "Retorna o número da linha atual e o deslocamento." -#: ../../library/html.parser.rst:116 +#: ../../library/html.parser.rst:123 msgid "" "Return the text of the most recently opened start tag. This should not " "normally be needed for structured processing, but may be useful in dealing " "with HTML \"as deployed\" or for re-generating input with minimal changes " "(whitespace between attributes can be preserved, etc.)." msgstr "" +"Retorna o texto da tag de abertura aberta mais recentemente. Normalmente, " +"isso não é necessário para processamento estruturado, mas pode ser útil ao " +"lidar com HTML \"como implantado\" ou para regenerar a entrada com " +"alterações mínimas (o espaço em branco entre os atributos pode ser " +"preservado, etc.)." -#: ../../library/html.parser.rst:122 +#: ../../library/html.parser.rst:129 msgid "" "The following methods are called when data or markup elements are " "encountered and they are meant to be overridden in a subclass. The base " -"class implementations do nothing (except for :meth:`~HTMLParser." -"handle_startendtag`):" +"class implementations do nothing (except " +"for :meth:`~HTMLParser.handle_startendtag`):" msgstr "" +"Os seguintes métodos são chamados quando elementos de dados ou de marcação " +"são encontrados e devem ser sobrescritos em uma subclasse. As implementações " +"da classe base não fazem nada (exceto " +"por :meth:`~HTMLParser.handle_startendtag`):" -#: ../../library/html.parser.rst:129 +#: ../../library/html.parser.rst:136 msgid "" "This method is called to handle the start tag of an element (e.g. ``
``)." msgstr "" +"Este método é chamado para manipular a tag de abertura de um elemento (por " +"exemplo, ``
``)." -#: ../../library/html.parser.rst:131 +#: ../../library/html.parser.rst:138 msgid "" "The *tag* argument is the name of the tag converted to lower case. The " "*attrs* argument is a list of ``(name, value)`` pairs containing the " @@ -151,93 +207,134 @@ msgid "" "translated to lower case, and quotes in the *value* have been removed, and " "character and entity references have been replaced." msgstr "" +"O argumento *tag* é o nome da tag convertido para minúsculas. O argumento " +"*attrs* é uma lista de pares ``(nome, valor)`` contendo os atributos " +"encontrados dentro dos colchetes ``<>`` da tag. O *nome* será traduzido para " +"minúsculas, as aspas no *valor* foram removidas e as referências a " +"caracteres e entidades foram substituídas." -#: ../../library/html.parser.rst:137 +#: ../../library/html.parser.rst:144 msgid "" "For instance, for the tag ````, this method " -"would be called as ``handle_starttag('a', [('href', 'https://www.cwi." -"nl/')])``." +"would be called as ``handle_starttag('a', [('href', 'https://" +"www.cwi.nl/')])``." msgstr "" +"Por exemplo, para a tag ````, este método " +"seria chamado como ``handle_starttag('a', [('href', 'https://" +"www.cwi.nl/')])``." -#: ../../library/html.parser.rst:140 +#: ../../library/html.parser.rst:147 msgid "" "All entity references from :mod:`html.entities` are replaced in the " "attribute values." msgstr "" +"Todas as referências de entidade de :mod:`html.entities` são substituídas " +"nos valores dos atributos." -#: ../../library/html.parser.rst:146 +#: ../../library/html.parser.rst:153 msgid "" "This method is called to handle the end tag of an element (e.g. ``
``)." msgstr "" +"Este método é chamado para manipular a tag de fechamento de um elemento (por " +"exemplo, ``
``)." -#: ../../library/html.parser.rst:148 +#: ../../library/html.parser.rst:155 msgid "The *tag* argument is the name of the tag converted to lower case." msgstr "" +"O argumento *tag* é o nome da etiqueta convertido para letras minúsculas." -#: ../../library/html.parser.rst:153 +#: ../../library/html.parser.rst:160 msgid "" "Similar to :meth:`handle_starttag`, but called when the parser encounters an " "XHTML-style empty tag (````). This method may be overridden by " "subclasses which require this particular lexical information; the default " -"implementation simply calls :meth:`handle_starttag` and :meth:" -"`handle_endtag`." +"implementation simply calls :meth:`handle_starttag` " +"and :meth:`handle_endtag`." msgstr "" +"Similar a :meth:`handle_starttag`, mas chamado quando o analisador sintático " +"encontra uma tag vazia no estilo XHTML (````). Este método pode " +"ser substituído por subclasses que requerem essa informação lexical " +"específica; a implementação padrão simplesmente " +"chama :meth:`handle_starttag` e :meth:`handle_endtag`." -#: ../../library/html.parser.rst:161 +#: ../../library/html.parser.rst:168 msgid "" "This method is called to process arbitrary data (e.g. text nodes and the " -"content of ```` and ````)." +"content of elements like ``script`` and ``style``)." msgstr "" +"Este método é chamado para processar dados arbitrários (por exemplo, nós de " +"texto e o conteúdo de elementos como ``script`` e ``style``)." -#: ../../library/html.parser.rst:167 +#: ../../library/html.parser.rst:174 msgid "" "This method is called to process a named character reference of the form " "``&name;`` (e.g. ``>``), where *name* is a general entity reference (e.g. " -"``'gt'``). This method is never called if *convert_charrefs* is ``True``." +"``'gt'``). This method is only called if *convert_charrefs* is false." msgstr "" +"Este método é chamado para processar uma referência de caractere nomeada no " +"formato ``&name;`` (por exemplo, ``>``), onde *name* é uma referência de " +"entidade genérica (por exemplo, ``'gt'``). Este método só é chamado se " +"*convert_charrefs* for falso." -#: ../../library/html.parser.rst:175 +#: ../../library/html.parser.rst:182 msgid "" "This method is called to process decimal and hexadecimal numeric character " -"references of the form ``&#NNN;`` and ``&#xNNN;``. For example, the decimal " -"equivalent for ``>`` is ``>``, whereas the hexadecimal is ``>``; " -"in this case the method will receive ``'62'`` or ``'x3E'``. This method is " -"never called if *convert_charrefs* is ``True``." +"references of the form :samp:`&#{NNN};` and :samp:`&#x{NNN};`. For example, " +"the decimal equivalent for ``>`` is ``>``, whereas the hexadecimal is " +"``>``; in this case the method will receive ``'62'`` or ``'x3E'``. This " +"method is only called if *convert_charrefs* is false." msgstr "" +"Este método é chamado para processar referências de caracteres numéricos " +"decimais e hexadecimais no formato :samp:`&#{NNN};` e :samp:`&#x{NNN};`. Por " +"exemplo, o equivalente decimal para ``>`` é ``>``, enquanto o " +"hexadecimal é ``>``; neste caso, o método receberá ``'62'`` ou " +"``'x3E'``. Este método só é chamado se *convert_charrefs* for falso." -#: ../../library/html.parser.rst:184 +#: ../../library/html.parser.rst:191 msgid "" "This method is called when a comment is encountered (e.g. ````)." -#: ../../library/html.parser.rst:186 +#: ../../library/html.parser.rst:193 msgid "" "For example, the comment ```` will cause this method to be " "called with the argument ``' comment '``." msgstr "" +"Por exemplo, o comentário ```` fará com que este método " +"seja chamado com o argumento ``' comentário '``." -#: ../../library/html.parser.rst:189 +#: ../../library/html.parser.rst:196 msgid "" "The content of Internet Explorer conditional comments (condcoms) will also " "be sent to this method, so, for ````, this method will receive ``'[if IE 9]>IE9-specific contentconteúdo específico do IE9``, este método receberá ``'[if IE " +"9]>conteúdo específico do IE9``)." msgstr "" +"Este método é chamado para lidar com uma declaração de doctype HTML (por " +"exemplo, ````)." -#: ../../library/html.parser.rst:199 +#: ../../library/html.parser.rst:206 msgid "" "The *decl* parameter will be the entire contents of the declaration inside " "the ```` markup (e.g. ``'DOCTYPE html'``)." msgstr "" +"O parâmetro *decl* será todo o conteúdo da declaração dentro da marcação " +"```` (por exemplo, ``'DOCTYPE html'``)." -#: ../../library/html.parser.rst:205 +#: ../../library/html.parser.rst:212 msgid "" "Method called when a processing instruction is encountered. The *data* " "parameter will contain the entire processing instruction. For example, for " @@ -245,75 +342,100 @@ msgid "" "called as ``handle_pi(\"proc color='red'\")``. It is intended to be " "overridden by a derived class; the base class implementation does nothing." msgstr "" +"Método chamado quando uma instrução de processamento é encontrada. O " +"parâmetro *data* conterá a instrução de processamento completa. Por exemplo, " +"para a instrução de processamento ````, este método seria " +"chamado como ``handle_pi(\"proc color='red'\")``. Ele foi projetado para ser " +"substituído por uma classe derivada; a implementação da classe base não faz " +"nada." -#: ../../library/html.parser.rst:213 +#: ../../library/html.parser.rst:220 msgid "" "The :class:`HTMLParser` class uses the SGML syntactic rules for processing " "instructions. An XHTML processing instruction using the trailing ``'?'`` " "will cause the ``'?'`` to be included in *data*." msgstr "" +"A classe :class:`HTMLParser` usa as regras sintáticas SGML para processar " +"instruções. Uma instrução de processamento XHTML que usa o caractere ``'?'`` " +"no final fará com que o ``'?'`` seja incluído em *data*." -#: ../../library/html.parser.rst:220 +#: ../../library/html.parser.rst:227 msgid "" "This method is called when an unrecognized declaration is read by the parser." msgstr "" +"Este método é chamado quando uma declaração não reconhecida é lida pelo " +"analisador sintático." -#: ../../library/html.parser.rst:222 +#: ../../library/html.parser.rst:229 msgid "" "The *data* parameter will be the entire contents of the declaration inside " "the ```` markup. It is sometimes useful to be overridden by a " "derived class. The base class implementation does nothing." msgstr "" +"O parâmetro *data* será todo o conteúdo da declaração dentro da marcação ````. Às vezes, é útil que ele seja sobrescrito por uma classe derivada. " +"A implementação da classe base não faz nada." -#: ../../library/html.parser.rst:230 +#: ../../library/html.parser.rst:237 msgid "Examples" msgstr "Exemplos" -#: ../../library/html.parser.rst:232 +#: ../../library/html.parser.rst:239 msgid "" "The following class implements a parser that will be used to illustrate more " "examples::" msgstr "" +"A classe a seguir implementa um analisador sintático que será usado para " +"ilustrar mais exemplos::" -#: ../../library/html.parser.rst:269 +#: ../../library/html.parser.rst:276 msgid "Parsing a doctype::" -msgstr "" +msgstr "Analisando um doctype::" -#: ../../library/html.parser.rst:275 +#: ../../library/html.parser.rst:282 msgid "Parsing an element with a few attributes and a title::" -msgstr "" +msgstr "Analisando um elemento com alguns atributos e um título::" -#: ../../library/html.parser.rst:287 +#: ../../library/html.parser.rst:294 msgid "" -"The content of ``script`` and ``style`` elements is returned as is, without " -"further parsing::" +"The content of elements like ``script`` and ``style`` is returned as is, " +"without further parsing::" msgstr "" +"O conteúdo de elementos como ``script`` e ``style`` é retornado como está, " +"sem mais análises::" -#: ../../library/html.parser.rst:303 +#: ../../library/html.parser.rst:310 msgid "Parsing comments::" -msgstr "" +msgstr "Analisando comentários::" -#: ../../library/html.parser.rst:310 +#: ../../library/html.parser.rst:317 msgid "" "Parsing named and numeric character references and converting them to the " "correct char (note: these 3 references are all equivalent to ``'>'``)::" msgstr "" +"Analisando referências de caracteres nomeadas e numéricas e convertendo-as " +"para o caractere correto (nota: essas 3 referências são todas equivalentes a " +"``'>'``)::" -#: ../../library/html.parser.rst:318 +#: ../../library/html.parser.rst:325 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``)::" +"Feeding incomplete chunks to :meth:`~HTMLParser.feed` works, " +"but :meth:`~HTMLParser.handle_data` might be called more than once if " +"*convert_charrefs* is false::" msgstr "" +"Alimentar o :meth:`~HTMLParser.feed` com blocos incompletos funciona, " +"mas :meth:`~HTMLParser.handle_data` pode ser chamado mais de uma vez se " +"*convert_charrefs* for falso." -#: ../../library/html.parser.rst:331 +#: ../../library/html.parser.rst:338 msgid "Parsing invalid HTML (e.g. unquoted attributes) also works::" msgstr "" +"Analisando HTML inválido (por exemplo, atributos sem aspas) também funciona::" #: ../../library/html.parser.rst:9 msgid "HTML" -msgstr "" +msgstr "HTML" #: ../../library/html.parser.rst:9 msgid "XHTML" -msgstr "" +msgstr "XHTML" diff --git a/library/html.po b/library/html.po index 75ffcbfd3..f31c95f0b 100644 --- a/library/html.po +++ b/library/html.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Hildeberto Abreu Magalhães , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Marcelo Bitencourt , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Marcelo Bitencourt , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,7 +29,7 @@ msgstr ":mod:`html` --- Suporte HTML(HyperText Markup Language)" #: ../../library/html.rst:7 msgid "**Source code:** :source:`Lib/html/__init__.py`" -msgstr "**Código-fonte** :source:`Lib/html/__init__.py`" +msgstr "**Código-fonte:** :source:`Lib/html/__init__.py`" #: ../../library/html.rst:11 msgid "This module defines utilities to manipulate HTML." @@ -56,14 +52,14 @@ msgstr "" #: ../../library/html.rst:26 msgid "" -"Convert all named and numeric character references (e.g. ``>``, ``>" -"``, ``>``) in the string *s* to the corresponding Unicode characters. " -"This function uses the rules defined by the HTML 5 standard for both valid " -"and invalid character references, and the :data:`list of HTML 5 named " -"character references `." +"Convert all named and numeric character references (e.g. ``>``, " +"``>``, ``>``) in the string *s* to the corresponding Unicode " +"characters. This function uses the rules defined by the HTML 5 standard for " +"both valid and invalid character references, and the :data:`list of HTML 5 " +"named character references `." msgstr "" -"Converte todas as referências de caracteres numéricos e nomeados (ex. ``>" -"``, ``>``, ``>``) na string *s* para caracteres Unicode " +"Converte todas as referências de caracteres numéricos e nomeados (ex. " +"``>``, ``>``, ``>``) na string *s* para caracteres Unicode " "correspondentes. Essa função usa as regras definidas pelo padrão HTML 5 para " "referências de caracteres, sejam válidas ou inválidas, e a :data:`lista de " "referência de caracteres nomeados do HTML 5 `." diff --git a/library/http.client.po b/library/http.client.po index b2eb87280..22cfee8d3 100644 --- a/library/http.client.po +++ b/library/http.client.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marcos Wenneton Araújo , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 -# Marco Rougeth , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Marco Rougeth , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,8 +34,8 @@ msgstr "**Código-fonte:** :source:`Lib/http/client.py`" #: ../../library/http.client.rst:17 msgid "" "This module defines classes that implement the client side of the HTTP and " -"HTTPS protocols. It is normally not used directly --- the module :mod:" -"`urllib.request` uses it to handle URLs that use HTTP and HTTPS." +"HTTPS protocols. It is normally not used directly --- the " +"module :mod:`urllib.request` uses it to handle URLs that use HTTP and HTTPS." msgstr "" #: ../../library/http.client.rst:23 @@ -136,11 +132,9 @@ msgstr "*source_address*, *context* e *check_hostname* foram adicionados." #: ../../library/http.client.rst:85 msgid "" -"This class now supports HTTPS virtual hosts if possible (that is, if :data:" -"`ssl.HAS_SNI` is true)." +"This class now supports HTTPS virtual hosts if possible (that is, " +"if :const:`ssl.HAS_SNI` is true)." msgstr "" -"Esta classe agora suporta hosts virtuais HTTPS se possível (isto é, se :data:" -"`ssl.HAS_SNI` é true)." #: ../../library/http.client.rst:89 msgid "" @@ -153,13 +147,9 @@ msgstr "" #: ../../library/http.client.rst:93 msgid "" "This class now performs all the necessary certificate and hostname checks by " -"default. To revert to the previous, unverified, behavior :func:`ssl." -"_create_unverified_context` can be passed to the *context* parameter." +"default. To revert to the previous, unverified, behavior :func:`!" +"ssl._create_unverified_context` can be passed to the *context* parameter." msgstr "" -"Essa classe agora executa todos os certificados e verificação de hostnames " -"necessários por padrão. Para reverter ao comportamento anterior, sem " -"verificação, :func:`ssl._create_unverified_context` pode ser fornecida ao " -"argumento *context*." #: ../../library/http.client.rst:99 msgid "" @@ -167,22 +157,23 @@ msgid "" "for the default *context* or when *cert_file* is passed with a custom " "*context*." msgstr "" -"Esta classe agora habilita TLS 1.3 :attr:`ssl.SSLContext." -"post_handshake_auth` para o padrão *context* ou quanto *cert_file* é " -"fornecido com um *context* personalizado." +"Esta classe agora habilita TLS " +"1.3 :attr:`ssl.SSLContext.post_handshake_auth` para o padrão *context* ou " +"quanto *cert_file* é fornecido com um *context* personalizado." #: ../../library/http.client.rst:104 msgid "" "This class now sends an ALPN extension with protocol indicator ``http/1.1`` " -"when no *context* is given. Custom *context* should set ALPN protocols with :" -"meth:`~ssl.SSLContext.set_alpn_protocol`." +"when no *context* is given. Custom *context* should set ALPN protocols " +"with :meth:`~ssl.SSLContext.set_alpn_protocols`." msgstr "" #: ../../library/http.client.rst:111 msgid "" -"*key_file* and *cert_file* are deprecated in favor of *context*. Please use :" -"meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." -"create_default_context` select the system's trusted CA certificates for you." +"*key_file* and *cert_file* are deprecated in favor of *context*. Please " +"use :meth:`ssl.SSLContext.load_cert_chain` instead, or " +"let :func:`ssl.create_default_context` select the system's trusted CA " +"certificates for you." msgstr "" "*key_file* e *cert_file* estão descontinuados em favor de *context*. Por " "favor, em vez disso, utilize :meth:`ssl.SSLContext.load_cert_chain` ou " @@ -191,11 +182,13 @@ msgstr "" #: ../../library/http.client.rst:116 msgid "" -"The *check_hostname* parameter is also deprecated; the :attr:`ssl.SSLContext." -"check_hostname` attribute of *context* should be used instead." +"The *check_hostname* parameter is also deprecated; " +"the :attr:`ssl.SSLContext.check_hostname` attribute of *context* should be " +"used instead." msgstr "" -"O argumento *check_hostname* também está descontinuado; o atributo :attr:" -"`ssl.SSLContext.check_hostname` de *context* deve ser usado em seu lugar." +"O argumento *check_hostname* também está descontinuado; o " +"atributo :attr:`ssl.SSLContext.check_hostname` de *context* deve ser usado " +"em seu lugar." #: ../../library/http.client.rst:123 msgid "" @@ -220,26 +213,23 @@ msgstr "Este módulo fornece a seguinte função:" #: ../../library/http.client.rst:134 msgid "" "Parse the headers from a file pointer *fp* representing a HTTP request/" -"response. The file has to be a :class:`BufferedIOBase` reader (i.e. not " +"response. The file has to be a :class:`~io.BufferedIOBase` reader (i.e. not " "text) and must provide a valid :rfc:`2822` style header." msgstr "" -"Analisa os cabeçalhos de um ponteiro de arquivo *fp* representando uma " -"requisição/resposta HTTP. O arquivo deve ser um leitor :class:" -"`BufferedIOBase` (i.e. não textual) e deve fornecer um estilo válido de " -"cabeçalho :rfc:`2822`." #: ../../library/http.client.rst:138 msgid "" "This function returns an instance of :class:`http.client.HTTPMessage` that " -"holds the header fields, but no payload (the same as :attr:`HTTPResponse." -"msg` and :attr:`http.server.BaseHTTPRequestHandler.headers`). After " -"returning, the file pointer *fp* is ready to read the HTTP body." +"holds the header fields, but no payload (the same " +"as :attr:`HTTPResponse.msg` " +"and :attr:`http.server.BaseHTTPRequestHandler.headers`). After returning, " +"the file pointer *fp* is ready to read the HTTP body." msgstr "" "Esta função retorna uma instância de :class:`http.client.HTTPMessage` que " -"armazena os campos do cabeçalho, mas não o payload (o mesmo que :attr:" -"`HTTPResponse.msg` e :attr:`http.server.BaseHTTPRequestHandler.headers`). " -"Depois de retornar, o ponteiro de arquivo *fp* está pronto para ler o corpo " -"da requisição HTTP." +"armazena os campos do cabeçalho, mas não o payload (o mesmo " +"que :attr:`HTTPResponse.msg` " +"e :attr:`http.server.BaseHTTPRequestHandler.headers`). Depois de retornar, o " +"ponteiro de arquivo *fp* está pronto para ler o corpo da requisição HTTP." #: ../../library/http.client.rst:145 msgid "" @@ -259,11 +249,11 @@ msgstr "As seguintes exceções são levantadas conforme apropriado:" #: ../../library/http.client.rst:155 msgid "" -"The base class of the other exceptions in this module. It is a subclass of :" -"exc:`Exception`." +"The base class of the other exceptions in this module. It is a subclass " +"of :exc:`Exception`." msgstr "" -"A classe base das outras exceções neste módulo. É uma subclasse de :exc:" -"`Exception`." +"A classe base das outras exceções neste módulo. É uma subclasse " +"de :exc:`Exception`." #: ../../library/http.client.rst:161 ../../library/http.client.rst:172 #: ../../library/http.client.rst:177 ../../library/http.client.rst:182 @@ -368,29 +358,29 @@ msgstr "" #: ../../library/http.client.rst:270 msgid "" "If *body* is specified, the specified data is sent after the headers are " -"finished. It may be a :class:`str`, a :term:`bytes-like object`, an open :" -"term:`file object`, or an iterable of :class:`bytes`. If *body* is a " +"finished. It may be a :class:`str`, a :term:`bytes-like object`, an " +"open :term:`file object`, or an iterable of :class:`bytes`. If *body* is a " "string, it is encoded as ISO-8859-1, the default for HTTP. If it is a bytes-" "like object, the bytes are sent as is. If it is a :term:`file object`, the " "contents of the file is sent; this file object should support at least the " -"``read()`` method. If the file object is an instance of :class:`io." -"TextIOBase`, the data returned by the ``read()`` method will be encoded as " -"ISO-8859-1, otherwise the data returned by ``read()`` is sent as is. If " -"*body* is an iterable, the elements of the iterable are sent as is until the " -"iterable is exhausted." +"``read()`` method. If the file object is an instance " +"of :class:`io.TextIOBase`, the data returned by the ``read()`` method will " +"be encoded as ISO-8859-1, otherwise the data returned by ``read()`` is sent " +"as is. If *body* is an iterable, the elements of the iterable are sent as " +"is until the iterable is exhausted." msgstr "" "Se *body* é especificado, os dados especificados são mandados depois que os " -"cabeçalhos estão prontos. Pode ser um :class:`str`, um :term:`objeto byte ou " -"similar `, um :term:`objeto arquivo ` " +"cabeçalhos estão prontos. Pode ser um :class:`str`, um :term:`objeto bytes " +"ou similar `, um :term:`objeto arquivo ` " "aberto, ou um iterável de :class:`bytes`. Se *body* é uma string, ele é " -"codificado como ISO-8859-1, o padrão para HTTP. Se é um objeto do tipo byte, " -"os bytes são enviados como estão. Se é um :term:`objeto arquivo `, o conteúdo do arquivo é enviado; este objeto arquivo deve suportar " -"pelo menos o método ``read()``. Se o objeto arquivo é uma instância de :" -"class:`io.TextIOBase`, os dados retornados pelo método ``read()`` será " +"codificado como ISO-8859-1, o padrão para HTTP. Se é um objeto bytes ou " +"similar, os bytes são enviados como estão. Se é um :term:`objeto arquivo`, o " +"conteúdo do arquivo é enviado; este objeto arquivo deve oferecer suporte a " +"pelo menos o método ``read()``. Se o objeto arquivo é uma instância " +"de :class:`io.TextIOBase`, os dados retornados pelo método ``read()`` será " "codificado como ISO-8859-1, de outra forma os dados retornados por " "``read()`` são enviados como estão. Se *body* é um iterável, os elementos do " -"iterável são enviados até os mesmo se esgotar." +"iterável são enviados até o iterável se esgotar." #: ../../library/http.client.rst:282 msgid "" @@ -461,13 +451,13 @@ msgstr "" #: ../../library/http.client.rst:342 msgid "" -"If a :exc:`ConnectionError` or subclass is raised, the :class:" -"`HTTPConnection` object will be ready to reconnect when a new request is " -"sent." +"If a :exc:`ConnectionError` or subclass is raised, " +"the :class:`HTTPConnection` object will be ready to reconnect when a new " +"request is sent." msgstr "" -"Se uma :exc:`ConnectionError` ou subclasse for levantada, o objeto :class:" -"`HTTPConnection` estará pronto para se reconectar quando uma nova " -"solicitação for enviada." +"Se uma :exc:`ConnectionError` ou subclasse for levantada, o " +"objeto :class:`HTTPConnection` estará pronto para se reconectar quando uma " +"nova solicitação for enviada." #: ../../library/http.client.rst:350 msgid "" @@ -511,11 +501,13 @@ msgid "" "already have a connection." msgstr "" -#: ../../library/http.client.rst:398 +#: ../../library/http.client.rst:400 msgid "" "Raises an :ref:`auditing event ` ``http.client.connect`` with " "arguments ``self``, ``host``, ``port``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``http.client.connect`` com " +"os argumentos ``self``, ``host``, ``port``." #: ../../library/http.client.rst:394 msgid "Close the connection to the server." @@ -527,8 +519,9 @@ msgstr "" #: ../../library/http.client.rst:404 msgid "" -"As an alternative to using the :meth:`request` method described above, you " -"can also send your request step by step, by using the four functions below." +"As an alternative to using the :meth:`~HTTPConnection.request` method " +"described above, you can also send your request step by step, by using the " +"four functions below." msgstr "" #: ../../library/http.client.rst:411 @@ -562,11 +555,11 @@ msgid "" "*message_body* will be chunk-encoded as specified in :rfc:`7230`, Section " "3.3.1. How the data is encoded is dependent on the type of *message_body*. " "If *message_body* implements the :ref:`buffer interface ` the " -"encoding will result in a single chunk. If *message_body* is a :class:" -"`collections.abc.Iterable`, each iteration of *message_body* will result in " -"a chunk. If *message_body* is a :term:`file object`, each call to ``." -"read()`` will result in a chunk. The method automatically signals the end of " -"the chunk-encoded data immediately after *message_body*." +"encoding will result in a single chunk. If *message_body* is " +"a :class:`collections.abc.Iterable`, each iteration of *message_body* will " +"result in a chunk. If *message_body* is a :term:`file object`, each call to " +"``.read()`` will result in a chunk. The method automatically signals the end " +"of the chunk-encoded data immediately after *message_body*." msgstr "" #: ../../library/http.client.rst:444 @@ -578,49 +571,52 @@ msgid "" msgstr "" #: ../../library/http.client.rst:449 -msgid "Chunked encoding support. The *encode_chunked* parameter was added." +msgid "Added chunked encoding support and the *encode_chunked* parameter." msgstr "" -#: ../../library/http.client.rst:456 +#: ../../library/http.client.rst:455 msgid "" -"Send data to the server. This should be used directly only after the :meth:" -"`endheaders` method has been called and before :meth:`getresponse` is called." +"Send data to the server. This should be used directly only after " +"the :meth:`endheaders` method has been called and before :meth:`getresponse` " +"is called." msgstr "" -#: ../../library/http.client.rst:469 +#: ../../library/http.client.rst:470 msgid "" "Raises an :ref:`auditing event ` ``http.client.send`` with " "arguments ``self``, ``data``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``http.client.send`` com os " +"argumentos ``self``, ``data``." -#: ../../library/http.client.rst:466 +#: ../../library/http.client.rst:465 msgid "HTTPResponse Objects" msgstr "Objetos HTTPResponse" -#: ../../library/http.client.rst:468 +#: ../../library/http.client.rst:467 msgid "" "An :class:`HTTPResponse` instance wraps the HTTP response from the server. " "It provides access to the request headers and the entity body. The response " "is an iterable object and can be used in a with statement." msgstr "" -#: ../../library/http.client.rst:473 +#: ../../library/http.client.rst:472 msgid "" "The :class:`io.BufferedIOBase` interface is now implemented and all of its " "reader operations are supported." msgstr "" -#: ../../library/http.client.rst:480 +#: ../../library/http.client.rst:479 msgid "Reads and returns the response body, or up to the next *amt* bytes." msgstr "" -#: ../../library/http.client.rst:484 +#: ../../library/http.client.rst:483 msgid "" "Reads up to the next len(b) bytes of the response body into the buffer *b*. " "Returns the number of bytes read." msgstr "" -#: ../../library/http.client.rst:491 +#: ../../library/http.client.rst:490 msgid "" "Return the value of the header *name*, or *default* if there is no header " "matching *name*. If there is more than one header with the name *name*, " @@ -628,87 +624,87 @@ msgid "" "than a single string, its elements are similarly returned joined by commas." msgstr "" -#: ../../library/http.client.rst:498 +#: ../../library/http.client.rst:497 msgid "Return a list of (header, value) tuples." msgstr "" -#: ../../library/http.client.rst:502 +#: ../../library/http.client.rst:501 msgid "Return the ``fileno`` of the underlying socket." msgstr "" -#: ../../library/http.client.rst:506 +#: ../../library/http.client.rst:505 msgid "" "A :class:`http.client.HTTPMessage` instance containing the response " -"headers. :class:`http.client.HTTPMessage` is a subclass of :class:`email." -"message.Message`." +"headers. :class:`http.client.HTTPMessage` is a subclass " +"of :class:`email.message.Message`." msgstr "" -#: ../../library/http.client.rst:512 +#: ../../library/http.client.rst:511 msgid "" "HTTP protocol version used by server. 10 for HTTP/1.0, 11 for HTTP/1.1." msgstr "" -#: ../../library/http.client.rst:516 +#: ../../library/http.client.rst:515 msgid "" "URL of the resource retrieved, commonly used to determine if a redirect was " "followed." msgstr "" -#: ../../library/http.client.rst:520 +#: ../../library/http.client.rst:519 msgid "" -"Headers of the response in the form of an :class:`email.message." -"EmailMessage` instance." +"Headers of the response in the form of " +"an :class:`email.message.EmailMessage` instance." msgstr "" -#: ../../library/http.client.rst:524 +#: ../../library/http.client.rst:523 msgid "Status code returned by server." msgstr "" -#: ../../library/http.client.rst:528 +#: ../../library/http.client.rst:527 msgid "Reason phrase returned by server." msgstr "" -#: ../../library/http.client.rst:532 +#: ../../library/http.client.rst:531 msgid "" "A debugging hook. If :attr:`debuglevel` is greater than zero, messages will " "be printed to stdout as the response is read and parsed." msgstr "" -#: ../../library/http.client.rst:537 +#: ../../library/http.client.rst:536 msgid "Is ``True`` if the stream is closed." msgstr "" -#: ../../library/http.client.rst:541 +#: ../../library/http.client.rst:540 msgid "Deprecated in favor of :attr:`~HTTPResponse.url`." msgstr "" -#: ../../library/http.client.rst:546 +#: ../../library/http.client.rst:545 msgid "Deprecated in favor of :attr:`~HTTPResponse.headers`." msgstr "" -#: ../../library/http.client.rst:551 +#: ../../library/http.client.rst:550 msgid "Deprecated in favor of :attr:`~HTTPResponse.status`." msgstr "" -#: ../../library/http.client.rst:555 +#: ../../library/http.client.rst:554 msgid "Examples" msgstr "Exemplos" -#: ../../library/http.client.rst:557 +#: ../../library/http.client.rst:556 msgid "Here is an example session that uses the ``GET`` method::" msgstr "" -#: ../../library/http.client.rst:582 +#: ../../library/http.client.rst:581 msgid "" "Here is an example session that uses the ``HEAD`` method. Note that the " "``HEAD`` method never returns any data. ::" msgstr "" -#: ../../library/http.client.rst:597 +#: ../../library/http.client.rst:596 msgid "Here is an example session that uses the ``POST`` method::" msgstr "" -#: ../../library/http.client.rst:613 +#: ../../library/http.client.rst:612 msgid "" "Client side HTTP ``PUT`` requests are very similar to ``POST`` requests. The " "difference lies only on the server side where HTTP servers will allow " @@ -718,11 +714,11 @@ msgid "" "``PUT`` method::" msgstr "" -#: ../../library/http.client.rst:634 +#: ../../library/http.client.rst:633 msgid "HTTPMessage Objects" msgstr "" -#: ../../library/http.client.rst:636 +#: ../../library/http.client.rst:637 msgid "" "An :class:`http.client.HTTPMessage` instance holds the headers from an HTTP " "response. It is implemented using the :class:`email.message.Message` class." @@ -730,11 +726,11 @@ msgstr "" #: ../../library/http.client.rst:9 msgid "HTTP" -msgstr "" +msgstr "HTTP" #: ../../library/http.client.rst:9 msgid "protocol" -msgstr "" +msgstr "protocolo" #: ../../library/http.client.rst:9 msgid "http.client (standard module)" diff --git a/library/http.cookiejar.po b/library/http.cookiejar.po index fdd60331d..d0b31cafd 100644 --- a/library/http.cookiejar.po +++ b/library/http.cookiejar.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -46,11 +42,11 @@ msgstr "" #: ../../library/http.cookiejar.rst:19 msgid "" -"Both the regular Netscape cookie protocol and the protocol defined by :rfc:" -"`2965` are handled. RFC 2965 handling is switched off by default. :rfc:" -"`2109` cookies are parsed as Netscape cookies and subsequently treated " -"either as Netscape or RFC 2965 cookies according to the 'policy' in effect. " -"Note that the great majority of cookies on the internet are Netscape " +"Both the regular Netscape cookie protocol and the protocol defined " +"by :rfc:`2965` are handled. RFC 2965 handling is switched off by " +"default. :rfc:`2109` cookies are parsed as Netscape cookies and subsequently " +"treated either as Netscape or RFC 2965 cookies according to the 'policy' in " +"effect. Note that the great majority of cookies on the internet are Netscape " "cookies. :mod:`http.cookiejar` attempts to follow the de-facto Netscape " "cookie protocol (which differs substantially from that set out in the " "original Netscape specification), including taking note of the ``max-age`` " @@ -59,11 +55,11 @@ msgstr "" #: ../../library/http.cookiejar.rst:31 msgid "" -"The various named parameters found in :mailheader:`Set-Cookie` and :" -"mailheader:`Set-Cookie2` headers (eg. ``domain`` and ``expires``) are " +"The various named parameters found in :mailheader:`Set-Cookie` " +"and :mailheader:`Set-Cookie2` headers (eg. ``domain`` and ``expires``) are " "conventionally referred to as :dfn:`attributes`. To distinguish them from " -"Python attributes, the documentation for this module uses the term :dfn:" -"`cookie-attribute` instead." +"Python attributes, the documentation for this module uses the " +"term :dfn:`cookie-attribute` instead." msgstr "" #: ../../library/http.cookiejar.rst:38 @@ -78,12 +74,13 @@ msgstr "" #: ../../library/http.cookiejar.rst:46 msgid "" -"LoadError was made a subclass of :exc:`OSError` instead of :exc:`IOError`." +":exc:`LoadError` used to be a subtype of :exc:`IOError`, which is now an " +"alias of :exc:`OSError`." msgstr "" #: ../../library/http.cookiejar.rst:51 msgid "The following classes are provided:" -msgstr "" +msgstr "As seguintes classes são disponibilizadas:" #: ../../library/http.cookiejar.rst:56 msgid "*policy* is an object implementing the :class:`CookiePolicy` interface." @@ -135,8 +132,8 @@ msgid "" "a sequence of the only domains for which we accept and return cookies. " "*secure_protocols* is a sequence of protocols for which secure cookies can " "be added to. By default *https* and *wss* (secure websocket) are considered " -"secure protocols. For all other arguments, see the documentation for :class:" -"`CookiePolicy` and :class:`DefaultCookiePolicy` objects." +"secure protocols. For all other arguments, see the documentation " +"for :class:`CookiePolicy` and :class:`DefaultCookiePolicy` objects." msgstr "" #: ../../library/http.cookiejar.rst:98 @@ -147,17 +144,17 @@ msgid "" "attribute of 1) are treated according to the RFC 2965 rules. However, if " "RFC 2965 handling is turned off or :attr:`rfc2109_as_netscape` is ``True``, " "RFC 2109 cookies are 'downgraded' by the :class:`CookieJar` instance to " -"Netscape cookies, by setting the :attr:`version` attribute of the :class:" -"`Cookie` instance to 0. :class:`DefaultCookiePolicy` also provides some " -"parameters to allow some fine-tuning of policy." +"Netscape cookies, by setting the :attr:`version` attribute of " +"the :class:`Cookie` instance to 0. :class:`DefaultCookiePolicy` also " +"provides some parameters to allow some fine-tuning of policy." msgstr "" #: ../../library/http.cookiejar.rst:111 msgid "" "This class represents Netscape, :rfc:`2109` and :rfc:`2965` cookies. It is " -"not expected that users of :mod:`http.cookiejar` construct their own :class:" -"`Cookie` instances. Instead, if necessary, call :meth:`make_cookies` on a :" -"class:`CookieJar` instance." +"not expected that users of :mod:`http.cookiejar` construct their " +"own :class:`Cookie` instances. Instead, if necessary, " +"call :meth:`make_cookies` on a :class:`CookieJar` instance." msgstr "" #: ../../library/http.cookiejar.rst:120 @@ -174,8 +171,9 @@ msgstr "" #: ../../library/http.cookiejar.rst:123 msgid "" -"HTTP cookie classes, principally useful for server-side code. The :mod:" -"`http.cookiejar` and :mod:`http.cookies` modules do not depend on each other." +"HTTP cookie classes, principally useful for server-side code. " +"The :mod:`http.cookiejar` and :mod:`http.cookies` modules do not depend on " +"each other." msgstr "" #: ../../library/http.cookiejar.rst:131 @@ -249,10 +247,10 @@ msgstr "" #: ../../library/http.cookiejar.rst:164 msgid "" "The *request* object (usually a :class:`urllib.request.Request` instance) " -"must support the methods :meth:`get_full_url`, :meth:`has_header`, :meth:" -"`get_header`, :meth:`header_items`, :meth:`add_unredirected_header` and the " -"attributes :attr:`host`, :attr:`!type`, :attr:`unverifiable` and :attr:" -"`origin_req_host` as documented by :mod:`urllib.request`." +"must support the " +"methods :meth:`get_full_url`, :meth:`has_header`, :meth:`get_header`, :meth:`header_items`, :meth:`add_unredirected_header` " +"and the attributes :attr:`host`, :attr:`!type`, :attr:`unverifiable` " +"and :attr:`origin_req_host` as documented by :mod:`urllib.request`." msgstr "" #: ../../library/http.cookiejar.rst:172 ../../library/http.cookiejar.rst:198 @@ -263,32 +261,34 @@ msgstr "" #: ../../library/http.cookiejar.rst:178 msgid "" -"Extract cookies from HTTP *response* and store them in the :class:" -"`CookieJar`, where allowed by policy." +"Extract cookies from HTTP *response* and store them in " +"the :class:`CookieJar`, where allowed by policy." msgstr "" #: ../../library/http.cookiejar.rst:181 msgid "" -"The :class:`CookieJar` will look for allowable :mailheader:`Set-Cookie` and :" -"mailheader:`Set-Cookie2` headers in the *response* argument, and store " +"The :class:`CookieJar` will look for allowable :mailheader:`Set-Cookie` " +"and :mailheader:`Set-Cookie2` headers in the *response* argument, and store " "cookies as appropriate (subject to the :meth:`CookiePolicy.set_ok` method's " "approval)." msgstr "" #: ../../library/http.cookiejar.rst:185 msgid "" -"The *response* object (usually the result of a call to :meth:`urllib.request." -"urlopen`, or similar) should support an :meth:`info` method, which returns " -"an :class:`email.message.Message` instance." +"The *response* object (usually the result of a call " +"to :meth:`urllib.request.urlopen`, or similar) should support " +"an :meth:`info` method, which returns an :class:`email.message.Message` " +"instance." msgstr "" #: ../../library/http.cookiejar.rst:189 msgid "" "The *request* object (usually a :class:`urllib.request.Request` instance) " -"must support the method :meth:`get_full_url` and the attributes :attr:" -"`host`, :attr:`unverifiable` and :attr:`origin_req_host`, as documented by :" -"mod:`urllib.request`. The request is used to set default values for cookie-" -"attributes as well as for checking that the cookie is allowed to be set." +"must support the method :meth:`get_full_url` and the " +"attributes :attr:`host`, :attr:`unverifiable` and :attr:`origin_req_host`, " +"as documented by :mod:`urllib.request`. The request is used to set default " +"values for cookie-attributes as well as for checking that the cookie is " +"allowed to be set." msgstr "" #: ../../library/http.cookiejar.rst:203 @@ -370,8 +370,8 @@ msgstr "" msgid "" "*filename* is the name of file in which to save cookies. If *filename* is " "not specified, :attr:`self.filename` is used (whose default is the value " -"passed to the constructor, if any); if :attr:`self.filename` is :const:" -"`None`, :exc:`ValueError` is raised." +"passed to the constructor, if any); if :attr:`self.filename` " +"is :const:`None`, :exc:`ValueError` is raised." msgstr "" #: ../../library/http.cookiejar.rst:265 @@ -383,8 +383,8 @@ msgstr "" #: ../../library/http.cookiejar.rst:268 msgid "" "The file is overwritten if it already exists, thus wiping all the cookies it " -"contains. Saved cookies can be restored later using the :meth:`load` or :" -"meth:`revert` methods." +"contains. Saved cookies can be restored later using the :meth:`load` " +"or :meth:`revert` methods." msgstr "" #: ../../library/http.cookiejar.rst:275 @@ -401,16 +401,16 @@ msgstr "" #: ../../library/http.cookiejar.rst:281 msgid "" -"The named file must be in the format understood by the class, or :exc:" -"`LoadError` will be raised. Also, :exc:`OSError` may be raised, for example " -"if the file does not exist." +"The named file must be in the format understood by the class, " +"or :exc:`LoadError` will be raised. Also, :exc:`OSError` may be raised, for " +"example if the file does not exist." msgstr "" #: ../../library/http.cookiejar.rst:285 msgid ":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." msgstr "" -":exc:`IOError` costumava ser levantado, agora ele é um codinome para :exc:" -"`OSError`." +":exc:`IOError` costumava ser levantada, agora ela é um apelido " +"para :exc:`OSError`." #: ../../library/http.cookiejar.rst:291 msgid "Clear all cookies and reload cookies from a saved file." @@ -504,8 +504,8 @@ msgstr "" #: ../../library/http.cookiejar.rst:366 msgid "" "*cookie* is a :class:`Cookie` instance. *request* is an object implementing " -"the interface defined by the documentation for :meth:`CookieJar." -"extract_cookies`." +"the interface defined by the documentation " +"for :meth:`CookieJar.extract_cookies`." msgstr "" #: ../../library/http.cookiejar.rst:373 @@ -516,8 +516,8 @@ msgstr "" #: ../../library/http.cookiejar.rst:375 msgid "" "*cookie* is a :class:`Cookie` instance. *request* is an object implementing " -"the interface defined by the documentation for :meth:`CookieJar." -"add_cookie_header`." +"the interface defined by the documentation " +"for :meth:`CookieJar.add_cookie_header`." msgstr "" #: ../../library/http.cookiejar.rst:382 @@ -535,12 +535,13 @@ msgstr "" #: ../../library/http.cookiejar.rst:389 msgid "" -"If :meth:`domain_return_ok` returns true for the cookie domain, :meth:" -"`path_return_ok` is called for the cookie path. Otherwise, :meth:" -"`path_return_ok` and :meth:`return_ok` are never called for that cookie " -"domain. If :meth:`path_return_ok` returns true, :meth:`return_ok` is called " -"with the :class:`Cookie` object itself for a full check. Otherwise, :meth:" -"`return_ok` is never called for that cookie path." +"If :meth:`domain_return_ok` returns true for the cookie " +"domain, :meth:`path_return_ok` is called for the cookie path. " +"Otherwise, :meth:`path_return_ok` and :meth:`return_ok` are never called for " +"that cookie domain. If :meth:`path_return_ok` returns " +"true, :meth:`return_ok` is called with the :class:`Cookie` object itself for " +"a full check. Otherwise, :meth:`return_ok` is never called for that cookie " +"path." msgstr "" #: ../../library/http.cookiejar.rst:396 @@ -565,10 +566,10 @@ msgstr "" #: ../../library/http.cookiejar.rst:410 msgid "" -"In addition to implementing the methods above, implementations of the :class:" -"`CookiePolicy` interface must also supply the following attributes, " -"indicating which protocols should be used, and how. All of these attributes " -"may be assigned to." +"In addition to implementing the methods above, implementations of " +"the :class:`CookiePolicy` interface must also supply the following " +"attributes, indicating which protocols should be used, and how. All of " +"these attributes may be assigned to." msgstr "" #: ../../library/http.cookiejar.rst:418 @@ -629,8 +630,8 @@ msgid "" "A domain blocklist and allowlist is provided (both off by default). Only " "domains not in the blocklist and present in the allowlist (if the allowlist " "is active) participate in cookie setting and returning. Use the " -"*blocked_domains* constructor argument, and :meth:`blocked_domains` and :" -"meth:`set_blocked_domains` methods (and the corresponding argument and " +"*blocked_domains* constructor argument, and :meth:`blocked_domains` " +"and :meth:`set_blocked_domains` methods (and the corresponding argument and " "methods for *allowed_domains*). If you set an allowlist, you can turn it " "off again by setting it to :const:`None`." msgstr "" @@ -641,11 +642,12 @@ msgid "" "cookie domain to be matched. For example, ``\"example.com\"`` matches a " "blocklist entry of ``\"example.com\"``, but ``\"www.example.com\"`` does " "not. Domains that do start with a dot are matched by more specific domains " -"too. For example, both ``\"www.example.com\"`` and ``\"www.coyote.example." -"com\"`` match ``\".example.com\"`` (but ``\"example.com\"`` itself does " -"not). IP addresses are an exception, and must match exactly. For example, " -"if blocked_domains contains ``\"192.168.1.2\"`` and ``\".168.1.2\"``, " -"192.168.1.2 is blocked, but 193.168.1.2 is not." +"too. For example, both ``\"www.example.com\"`` and " +"``\"www.coyote.example.com\"`` match ``\".example.com\"`` (but " +"``\"example.com\"`` itself does not). IP addresses are an exception, and " +"must match exactly. For example, if blocked_domains contains " +"``\"192.168.1.2\"`` and ``\".168.1.2\"``, 192.168.1.2 is blocked, but " +"193.168.1.2 is not." msgstr "" #: ../../library/http.cookiejar.rst:483 @@ -693,10 +695,10 @@ msgid "" "If true, request that the :class:`CookieJar` instance downgrade :rfc:`2109` " "cookies (ie. cookies received in a :mailheader:`Set-Cookie` header with a " "version cookie-attribute of 1) to Netscape cookies by setting the version " -"attribute of the :class:`Cookie` instance to 0. The default value is :const:" -"`None`, in which case RFC 2109 cookies are downgraded if and only if :rfc:" -"`2965` handling is turned off. Therefore, RFC 2109 cookies are downgraded " -"by default." +"attribute of the :class:`Cookie` instance to 0. The default value " +"is :const:`None`, in which case RFC 2109 cookies are downgraded if and only " +"if :rfc:`2965` handling is turned off. Therefore, RFC 2109 cookies are " +"downgraded by default." msgstr "" #: ../../library/http.cookiejar.rst:532 @@ -756,8 +758,8 @@ msgstr "" #: ../../library/http.cookiejar.rst:580 msgid "" -"When setting cookies, the 'host prefix' must not contain a dot (eg. ``www." -"foo.bar.com`` can't set a cookie for ``.bar.com``, because ``www.foo`` " +"When setting cookies, the 'host prefix' must not contain a dot (eg. " +"``www.foo.bar.com`` can't set a cookie for ``.bar.com``, because ``www.foo`` " "contains a dot)." msgstr "" @@ -813,10 +815,10 @@ msgstr "" #: ../../library/http.cookiejar.rst:630 msgid "" -"Integer or :const:`None`. Netscape cookies have :attr:`version` 0. :rfc:" -"`2965` and :rfc:`2109` cookies have a ``version`` cookie-attribute of 1. " -"However, note that :mod:`http.cookiejar` may 'downgrade' RFC 2109 cookies to " -"Netscape cookies, in which case :attr:`version` is 0." +"Integer or :const:`None`. Netscape cookies have :attr:`version` " +"0. :rfc:`2965` and :rfc:`2109` cookies have a ``version`` cookie-attribute " +"of 1. However, note that :mod:`http.cookiejar` may 'downgrade' RFC 2109 " +"cookies to Netscape cookies, in which case :attr:`version` is 0." msgstr "" #: ../../library/http.cookiejar.rst:638 @@ -829,41 +831,45 @@ msgstr "" #: ../../library/http.cookiejar.rst:648 msgid "" -"String representing a port or a set of ports (eg. '80', or '80,8080'), or :" -"const:`None`." +"String representing a port or a set of ports (eg. '80', or '80,8080'), " +"or :const:`None`." msgstr "" #: ../../library/http.cookiejar.rst:654 -msgid "Cookie path (a string, eg. ``'/acme/rocket_launchers'``)." +msgid "Cookie domain (a string)." msgstr "" #: ../../library/http.cookiejar.rst:659 -msgid "``True`` if cookie should only be returned over a secure connection." +msgid "Cookie path (a string, eg. ``'/acme/rocket_launchers'``)." msgstr "" #: ../../library/http.cookiejar.rst:664 +msgid "``True`` if cookie should only be returned over a secure connection." +msgstr "" + +#: ../../library/http.cookiejar.rst:669 msgid "" -"Integer expiry date in seconds since epoch, or :const:`None`. See also the :" -"meth:`is_expired` method." +"Integer expiry date in seconds since epoch, or :const:`None`. See also " +"the :meth:`is_expired` method." msgstr "" -#: ../../library/http.cookiejar.rst:670 +#: ../../library/http.cookiejar.rst:675 msgid "``True`` if this is a session cookie." msgstr "" -#: ../../library/http.cookiejar.rst:675 +#: ../../library/http.cookiejar.rst:680 msgid "" -"String comment from the server explaining the function of this cookie, or :" -"const:`None`." +"String comment from the server explaining the function of this cookie, " +"or :const:`None`." msgstr "" -#: ../../library/http.cookiejar.rst:681 +#: ../../library/http.cookiejar.rst:686 msgid "" "URL linking to a comment from the server explaining the function of this " "cookie, or :const:`None`." msgstr "" -#: ../../library/http.cookiejar.rst:687 +#: ../../library/http.cookiejar.rst:692 msgid "" "``True`` if this cookie was received as an :rfc:`2109` cookie (ie. the " "cookie arrived in a :mailheader:`Set-Cookie` header, and the value of the " @@ -872,70 +878,70 @@ msgid "" "cookies, in which case :attr:`version` is 0." msgstr "" -#: ../../library/http.cookiejar.rst:696 +#: ../../library/http.cookiejar.rst:701 msgid "" "``True`` if a port or set of ports was explicitly specified by the server " "(in the :mailheader:`Set-Cookie` / :mailheader:`Set-Cookie2` header)." msgstr "" -#: ../../library/http.cookiejar.rst:702 +#: ../../library/http.cookiejar.rst:707 msgid "``True`` if a domain was explicitly specified by the server." msgstr "" -#: ../../library/http.cookiejar.rst:707 +#: ../../library/http.cookiejar.rst:712 msgid "" "``True`` if the domain explicitly specified by the server began with a dot " "(``'.'``)." msgstr "" -#: ../../library/http.cookiejar.rst:710 +#: ../../library/http.cookiejar.rst:715 msgid "" "Cookies may have additional non-standard cookie-attributes. These may be " "accessed using the following methods:" msgstr "" -#: ../../library/http.cookiejar.rst:716 +#: ../../library/http.cookiejar.rst:721 msgid "Return ``True`` if cookie has the named cookie-attribute." msgstr "" -#: ../../library/http.cookiejar.rst:721 +#: ../../library/http.cookiejar.rst:726 msgid "" "If cookie has the named cookie-attribute, return its value. Otherwise, " "return *default*." msgstr "" -#: ../../library/http.cookiejar.rst:727 +#: ../../library/http.cookiejar.rst:732 msgid "Set the value of the named cookie-attribute." msgstr "" -#: ../../library/http.cookiejar.rst:729 +#: ../../library/http.cookiejar.rst:734 msgid "The :class:`Cookie` class also defines the following method:" msgstr "" -#: ../../library/http.cookiejar.rst:734 +#: ../../library/http.cookiejar.rst:739 msgid "" "``True`` if cookie has passed the time at which the server requested it " "should expire. If *now* is given (in seconds since the epoch), return " "whether the cookie has expired at the specified time." msgstr "" -#: ../../library/http.cookiejar.rst:740 +#: ../../library/http.cookiejar.rst:745 msgid "Examples" msgstr "Exemplos" -#: ../../library/http.cookiejar.rst:742 +#: ../../library/http.cookiejar.rst:747 msgid "" "The first example shows the most common usage of :mod:`http.cookiejar`::" msgstr "" -#: ../../library/http.cookiejar.rst:749 +#: ../../library/http.cookiejar.rst:754 msgid "" "This example illustrates how to open a URL using your Netscape, Mozilla, or " "Lynx cookies (assumes Unix/Netscape convention for location of the cookies " "file)::" msgstr "" -#: ../../library/http.cookiejar.rst:758 +#: ../../library/http.cookiejar.rst:763 msgid "" "The next example illustrates the use of :class:`DefaultCookiePolicy`. Turn " "on :rfc:`2965` cookies, be more strict about domains when setting and " diff --git a/library/http.cookies.po b/library/http.cookies.po index 3741daca0..a32eb8eee 100644 --- a/library/http.cookies.po +++ b/library/http.cookies.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# And Past , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -46,39 +41,39 @@ msgstr "" #: ../../library/http.cookies.rst:19 msgid "" -"The module formerly strictly applied the parsing rules described in the :rfc:" -"`2109` and :rfc:`2068` specifications. It has since been discovered that " -"MSIE 3.0x doesn't follow the character rules outlined in those specs and " -"also many current day browsers and servers have relaxed parsing rules when " -"comes to Cookie handling. As a result, the parsing rules used are a bit " -"less strict." +"The module formerly strictly applied the parsing rules described in " +"the :rfc:`2109` and :rfc:`2068` specifications. It has since been " +"discovered that MSIE 3.0x didn't follow the character rules outlined in " +"those specs; many current-day browsers and servers have also relaxed parsing " +"rules when it comes to cookie handling. As a result, this module now uses " +"parsing rules that are a bit less strict than they once were." msgstr "" -#: ../../library/http.cookies.rst:25 +#: ../../library/http.cookies.rst:26 msgid "" "The character set, :data:`string.ascii_letters`, :data:`string.digits` and " "``!#$%&'*+-.^_`|~:`` denote the set of valid characters allowed by this " -"module in Cookie name (as :attr:`~Morsel.key`)." +"module in a cookie name (as :attr:`~Morsel.key`)." msgstr "" -#: ../../library/http.cookies.rst:29 -msgid "Allowed ':' as a valid Cookie name character." +#: ../../library/http.cookies.rst:30 +msgid "Allowed ':' as a valid cookie name character." msgstr "" -#: ../../library/http.cookies.rst:35 +#: ../../library/http.cookies.rst:36 msgid "" "On encountering an invalid cookie, :exc:`CookieError` is raised, so if your " "cookie data comes from a browser you should always prepare for invalid data " "and catch :exc:`CookieError` on parsing." msgstr "" -#: ../../library/http.cookies.rst:42 +#: ../../library/http.cookies.rst:43 msgid "" "Exception failing because of :rfc:`2109` invalidity: incorrect attributes, " "incorrect :mailheader:`Set-Cookie` header, etc." msgstr "" -#: ../../library/http.cookies.rst:48 +#: ../../library/http.cookies.rst:49 msgid "" "This class is a dictionary-like object whose keys are strings and whose " "values are :class:`Morsel` instances. Note that upon setting a key to a " @@ -86,62 +81,63 @@ msgid "" "and the value." msgstr "" -#: ../../library/http.cookies.rst:52 +#: ../../library/http.cookies.rst:53 msgid "If *input* is given, it is passed to the :meth:`load` method." msgstr "" -#: ../../library/http.cookies.rst:57 +#: ../../library/http.cookies.rst:58 msgid "" -"This class derives from :class:`BaseCookie` and overrides :meth:" -"`value_decode` and :meth:`value_encode`. SimpleCookie supports strings as " -"cookie values. When setting the value, SimpleCookie calls the builtin :func:" -"`str()` to convert the value to a string. Values received from HTTP are kept " -"as strings." +"This class derives from :class:`BaseCookie` and " +"overrides :meth:`~BaseCookie.value_decode` " +"and :meth:`~BaseCookie.value_encode`. :class:`!SimpleCookie` supports " +"strings as cookie values. When setting the value, :class:`!SimpleCookie` " +"calls the builtin :func:`str` to convert the value to a string. Values " +"received from HTTP are kept as strings." msgstr "" -#: ../../library/http.cookies.rst:66 +#: ../../library/http.cookies.rst:68 msgid "Module :mod:`http.cookiejar`" msgstr "Módulo :mod:`http.cookiejar`" -#: ../../library/http.cookies.rst:65 +#: ../../library/http.cookies.rst:67 msgid "" -"HTTP cookie handling for web *clients*. The :mod:`http.cookiejar` and :mod:" -"`http.cookies` modules do not depend on each other." +"HTTP cookie handling for web *clients*. The :mod:`http.cookiejar` " +"and :mod:`http.cookies` modules do not depend on each other." msgstr "" -#: ../../library/http.cookies.rst:68 +#: ../../library/http.cookies.rst:70 msgid ":rfc:`2109` - HTTP State Management Mechanism" msgstr "" -#: ../../library/http.cookies.rst:69 +#: ../../library/http.cookies.rst:71 msgid "This is the state management specification implemented by this module." msgstr "" -#: ../../library/http.cookies.rst:75 +#: ../../library/http.cookies.rst:77 msgid "Cookie Objects" msgstr "Objetos Cookie" -#: ../../library/http.cookies.rst:80 +#: ../../library/http.cookies.rst:82 msgid "" "Return a tuple ``(real_value, coded_value)`` from a string representation. " -"``real_value`` can be any type. This method does no decoding in :class:" -"`BaseCookie` --- it exists so it can be overridden." +"``real_value`` can be any type. This method does no decoding " +"in :class:`BaseCookie` --- it exists so it can be overridden." msgstr "" -#: ../../library/http.cookies.rst:87 +#: ../../library/http.cookies.rst:89 msgid "" "Return a tuple ``(real_value, coded_value)``. *val* can be any type, but " "``coded_value`` will always be converted to a string. This method does no " "encoding in :class:`BaseCookie` --- it exists so it can be overridden." msgstr "" -#: ../../library/http.cookies.rst:92 +#: ../../library/http.cookies.rst:94 msgid "" -"In general, it should be the case that :meth:`value_encode` and :meth:" -"`value_decode` are inverses on the range of *value_decode*." +"In general, it should be the case that :meth:`value_encode` " +"and :meth:`value_decode` are inverses on the range of *value_decode*." msgstr "" -#: ../../library/http.cookies.rst:98 +#: ../../library/http.cookies.rst:100 msgid "" "Return a string representation suitable to be sent as HTTP headers. *attrs* " "and *header* are sent to each :class:`Morsel`'s :meth:`output` method. *sep* " @@ -149,129 +145,94 @@ msgid "" "``'\\r\\n'`` (CRLF)." msgstr "" -#: ../../library/http.cookies.rst:106 +#: ../../library/http.cookies.rst:108 msgid "" "Return an embeddable JavaScript snippet, which, if run on a browser which " "supports JavaScript, will act the same as if the HTTP headers was sent." msgstr "" -#: ../../library/http.cookies.rst:109 ../../library/http.cookies.rst:205 -#: ../../library/http.cookies.rst:213 +#: ../../library/http.cookies.rst:111 ../../library/http.cookies.rst:207 +#: ../../library/http.cookies.rst:215 msgid "The meaning for *attrs* is the same as in :meth:`output`." msgstr "" -#: ../../library/http.cookies.rst:114 +#: ../../library/http.cookies.rst:116 msgid "" "If *rawdata* is a string, parse it as an ``HTTP_COOKIE`` and add the values " "found there as :class:`Morsel`\\ s. If it is a dictionary, it is equivalent " "to::" msgstr "" -#: ../../library/http.cookies.rst:124 +#: ../../library/http.cookies.rst:126 msgid "Morsel Objects" msgstr "Objetos Morsel" -#: ../../library/http.cookies.rst:129 +#: ../../library/http.cookies.rst:131 msgid "Abstract a key/value pair, which has some :rfc:`2109` attributes." msgstr "" -#: ../../library/http.cookies.rst:131 +#: ../../library/http.cookies.rst:133 msgid "" "Morsels are dictionary-like objects, whose set of keys is constant --- the " -"valid :rfc:`2109` attributes, which are" +"valid :rfc:`2109` attributes, which are:" msgstr "" -#: ../../library/http.cookies.rst:134 -msgid "``expires``" -msgstr "``expires``" - -#: ../../library/http.cookies.rst:135 -msgid "``path``" -msgstr "``path``" - -#: ../../library/http.cookies.rst:136 -msgid "``comment``" -msgstr "``comment``" - -#: ../../library/http.cookies.rst:137 -msgid "``domain``" -msgstr "``domain``" - -#: ../../library/http.cookies.rst:138 -msgid "``max-age``" -msgstr "``max-age``" - -#: ../../library/http.cookies.rst:139 -msgid "``secure``" -msgstr "``secure``" - -#: ../../library/http.cookies.rst:140 -msgid "``version``" -msgstr "``version``" - -#: ../../library/http.cookies.rst:141 -msgid "``httponly``" -msgstr "``httponly``" - -#: ../../library/http.cookies.rst:142 -msgid "``samesite``" -msgstr "``samesite``" - -#: ../../library/http.cookies.rst:144 +#: ../../library/http.cookies.rst:146 msgid "" "The attribute :attr:`httponly` specifies that the cookie is only transferred " "in HTTP requests, and is not accessible through JavaScript. This is intended " "to mitigate some forms of cross-site scripting." msgstr "" -#: ../../library/http.cookies.rst:148 +#: ../../library/http.cookies.rst:150 msgid "" "The attribute :attr:`samesite` specifies that the browser is not allowed to " "send the cookie along with cross-site requests. This helps to mitigate CSRF " "attacks. Valid values for this attribute are \"Strict\" and \"Lax\"." msgstr "" -#: ../../library/http.cookies.rst:152 +#: ../../library/http.cookies.rst:154 msgid "The keys are case-insensitive and their default value is ``''``." msgstr "" -#: ../../library/http.cookies.rst:154 +#: ../../library/http.cookies.rst:156 msgid "" -":meth:`~Morsel.__eq__` now takes :attr:`~Morsel.key` and :attr:`~Morsel." -"value` into account." +":meth:`!__eq__` now takes :attr:`~Morsel.key` and :attr:`~Morsel.value` into " +"account." msgstr "" -#: ../../library/http.cookies.rst:158 +#: ../../library/http.cookies.rst:160 msgid "" -"Attributes :attr:`~Morsel.key`, :attr:`~Morsel.value` and :attr:`~Morsel." -"coded_value` are read-only. Use :meth:`~Morsel.set` for setting them." +"Attributes :attr:`~Morsel.key`, :attr:`~Morsel.value` " +"and :attr:`~Morsel.coded_value` are read-only. Use :meth:`~Morsel.set` for " +"setting them." msgstr "" -#: ../../library/http.cookies.rst:163 +#: ../../library/http.cookies.rst:165 msgid "Added support for the :attr:`samesite` attribute." msgstr "" -#: ../../library/http.cookies.rst:169 +#: ../../library/http.cookies.rst:171 msgid "The value of the cookie." msgstr "O valor do cookie." -#: ../../library/http.cookies.rst:174 +#: ../../library/http.cookies.rst:176 msgid "The encoded value of the cookie --- this is what should be sent." msgstr "" -#: ../../library/http.cookies.rst:179 +#: ../../library/http.cookies.rst:181 msgid "The name of the cookie." msgstr "O nome do cookie." -#: ../../library/http.cookies.rst:184 +#: ../../library/http.cookies.rst:186 msgid "Set the *key*, *value* and *coded_value* attributes." msgstr "" -#: ../../library/http.cookies.rst:189 +#: ../../library/http.cookies.rst:191 msgid "Whether *K* is a member of the set of keys of a :class:`Morsel`." msgstr "" -#: ../../library/http.cookies.rst:194 +#: ../../library/http.cookies.rst:196 msgid "" "Return a string representation of the Morsel, suitable to be sent as an HTTP " "header. By default, all the attributes are included, unless *attrs* is " @@ -279,48 +240,48 @@ msgid "" "by default ``\"Set-Cookie:\"``." msgstr "" -#: ../../library/http.cookies.rst:202 +#: ../../library/http.cookies.rst:204 msgid "" "Return an embeddable JavaScript snippet, which, if run on a browser which " "supports JavaScript, will act the same as if the HTTP header was sent." msgstr "" -#: ../../library/http.cookies.rst:210 +#: ../../library/http.cookies.rst:212 msgid "" "Return a string representing the Morsel, without any surrounding HTTP or " "JavaScript." msgstr "" -#: ../../library/http.cookies.rst:218 +#: ../../library/http.cookies.rst:220 msgid "" "Update the values in the Morsel dictionary with the values in the dictionary " "*values*. Raise an error if any of the keys in the *values* dict is not a " "valid :rfc:`2109` attribute." msgstr "" -#: ../../library/http.cookies.rst:222 +#: ../../library/http.cookies.rst:224 msgid "an error is raised for invalid keys." msgstr "" -#: ../../library/http.cookies.rst:228 +#: ../../library/http.cookies.rst:230 msgid "Return a shallow copy of the Morsel object." msgstr "" -#: ../../library/http.cookies.rst:230 +#: ../../library/http.cookies.rst:232 msgid "return a Morsel object instead of a dict." msgstr "" -#: ../../library/http.cookies.rst:236 +#: ../../library/http.cookies.rst:238 msgid "" "Raise an error if key is not a valid :rfc:`2109` attribute, otherwise behave " "the same as :meth:`dict.setdefault`." msgstr "" -#: ../../library/http.cookies.rst:243 +#: ../../library/http.cookies.rst:245 msgid "Example" msgstr "Exemplo" -#: ../../library/http.cookies.rst:245 +#: ../../library/http.cookies.rst:247 msgid "" "The following example demonstrates how to use the :mod:`http.cookies` module." msgstr "" diff --git a/library/http.po b/library/http.po index c3b79f750..59a985618 100644 --- a/library/http.po +++ b/library/http.po @@ -1,30 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Marcos Wenneton Araújo , 2021 -# Hugo Santos Piauilino , 2022 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Hugo Santos Piauilino , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -49,23 +45,23 @@ msgid "" ":mod:`http.client` is a low-level HTTP protocol client; for high-level URL " "opening use :mod:`urllib.request`" msgstr "" -":mod:`http.client` is a low-level HTTP protocol client; for high-level URL " -"opening use :mod:`urllib.request`" +":mod:`http.client` é um cliente de protocolo HTTP de baixo nível; para " +"abertura de URL de alto nível, use :mod:`urllib.request`" #: ../../library/http.rst:20 msgid "" -":mod:`http.server` contains basic HTTP server classes based on :mod:" -"`socketserver`" +":mod:`http.server` contains basic HTTP server classes based " +"on :mod:`socketserver`" msgstr "" -":mod:`http.server` contains basic HTTP server classes based on :mod:" -"`socketserver`" +":mod:`http.server` contém classes básicas de servidor HTTP baseadas " +"em :mod:`socketserver`" #: ../../library/http.rst:21 msgid "" ":mod:`http.cookies` has utilities for implementing state management with " "cookies" msgstr "" -":mod:`http.cookies` tem utilidades para implementar gerenciamento de estado " +":mod:`http.cookies` tem utilitários para implementar gerenciamento de estado " "com cookies" #: ../../library/http.rst:22 @@ -77,6 +73,8 @@ msgid "" "The :mod:`http` module also defines the following enums that help you work " "with http related code:" msgstr "" +"O módulo :mod:`http` também define os seguintes enums que podem ajudar você " +"a trabalhar com os status code http relacionados:" #: ../../library/http.rst:31 msgid "" @@ -84,7 +82,7 @@ msgid "" "reason phrases and long descriptions written in English." msgstr "" "Subclasse de :class:`enum.IntEnum` que define um conjunto de códigos de " -"status HTTP, frases de razão e descrições longas escritas em inglês." +"estado HTTP, frases de razão e descrições longas em inglês." #: ../../library/http.rst:34 ../../library/http.rst:146 msgid "Usage::" @@ -92,14 +90,17 @@ msgstr "Uso::" #: ../../library/http.rst:53 msgid "HTTP status codes" -msgstr "códigos de status HTTP" +msgstr "Códigos de estado HTTP" #: ../../library/http.rst:55 msgid "" "Supported, `IANA-registered status codes `_ available in :class:`http." -"HTTPStatus` are:" +"http-status-codes/http-status-codes.xhtml>`_ available " +"in :class:`http.HTTPStatus` are:" msgstr "" +"Os `códigos de estado registrados no IANA `_ suportados e disponíveis " +"em :class:`http.HTTPStatus` são:" #: ../../library/http.rst:60 msgid "Code" @@ -107,11 +108,11 @@ msgstr "Código" #: ../../library/http.rst:60 ../../library/http.rst:179 msgid "Enum Name" -msgstr "Nome da Enumeração" +msgstr "Nome da enumeração" #: ../../library/http.rst:60 ../../library/http.rst:179 msgid "Details" -msgstr "Detalhes" +msgstr "Detalhes (em inglês)" #: ../../library/http.rst:62 msgid "``100``" @@ -159,7 +160,7 @@ msgstr "``EARLY_HINTS``" #: ../../library/http.rst:65 msgid "An HTTP Status Code for Indicating Hints :rfc:`8297`" -msgstr "Um código de status HTTP para indicar dicas :rfc:`8297`" +msgstr "An HTTP Status Code for Indicating Hints :rfc:`8297`" #: ../../library/http.rst:66 msgid "``200``" @@ -267,7 +268,7 @@ msgstr "``ALREADY_REPORTED``" #: ../../library/http.rst:74 msgid "WebDAV Binding Extensions :rfc:`5842`, Section 7.1 (Experimental)" -msgstr "Extensões Vinculadas WebDAV :rfc:`5842`, Seção 7.1 (Experimental)" +msgstr "WebDAV Binding Extensions :rfc:`5842`, Seção 7.1 (Experimental)" #: ../../library/http.rst:75 msgid "``226``" @@ -279,7 +280,7 @@ msgstr "``IM_USED``" #: ../../library/http.rst:75 msgid "Delta Encoding in HTTP :rfc:`3229`, Section 10.4.1" -msgstr "Codificador Delta em HTTP :rfc:`3229`, Seção 10.4.1" +msgstr "Delta Encoding in HTTP :rfc:`3229`, Seção 10.4.1" #: ../../library/http.rst:76 msgid "``300``" @@ -663,7 +664,7 @@ msgstr "``TOO_EARLY``" #: ../../library/http.rst:107 msgid "Using Early Data in HTTP :rfc:`8470`" -msgstr "Usando dados antecipados em HTTP :rfc:`8470`" +msgstr "Using Early Data in HTTP :rfc:`8470`" #: ../../library/http.rst:108 msgid "``426``" @@ -688,7 +689,7 @@ msgstr "``PRECONDITION_REQUIRED``" #: ../../library/http.rst:109 ../../library/http.rst:110 #: ../../library/http.rst:111 msgid "Additional HTTP Status Codes :rfc:`6585`" -msgstr "Códigos de Status HTTP Adicionais :rfc:`6585`" +msgstr "Additional HTTP Status Codes :rfc:`6585`" #: ../../library/http.rst:110 msgid "``429``" @@ -716,7 +717,7 @@ msgstr "``UNAVAILABLE_FOR_LEGAL_REASONS``" #: ../../library/http.rst:112 msgid "An HTTP Status Code to Report Legal Obstacles :rfc:`7725`" -msgstr "Um Código de Status HTTP para Relatar Obstáculos Legais :rfc:`7725`" +msgstr "An HTTP Status Code to Report Legal Obstacles :rfc:`7725`" #: ../../library/http.rst:113 msgid "``500``" @@ -803,8 +804,7 @@ msgid "" "Transparent Content Negotiation in HTTP :rfc:`2295`, Section 8.1 " "(Experimental)" msgstr "" -"Negociação Transparente de Conteúdo em HTTP :rfc:`2295`, Seção 8.1 " -"(Experimental)" +"Transparent Content Negotiation in HTTP :rfc:`2295`, Seção 8.1 (Experimental)" #: ../../library/http.rst:120 msgid "``507``" @@ -828,7 +828,7 @@ msgstr "``LOOP_DETECTED``" #: ../../library/http.rst:121 msgid "WebDAV Binding Extensions :rfc:`5842`, Section 7.2 (Experimental)" -msgstr "Extensões de Ligação WebDAV :rfc:`5842`, Seção 7.2 (Experimental)" +msgstr "WebDAV Binding Extensions :rfc:`5842`, Seção 7.2 (Experimental)" #: ../../library/http.rst:122 msgid "``510``" @@ -840,7 +840,7 @@ msgstr "``NOT_EXTENDED``" #: ../../library/http.rst:122 msgid "An HTTP Extension Framework :rfc:`2774`, Section 7 (Experimental)" -msgstr "Um Framework de Extensão HTTP :rfc:`2774`, Seção 7 (Experimental)" +msgstr "An HTTP Extension Framework :rfc:`2774`, Seção 7 (Experimental)" #: ../../library/http.rst:123 msgid "``511``" @@ -852,7 +852,7 @@ msgstr "``NETWORK_AUTHENTICATION_REQUIRED``" #: ../../library/http.rst:123 msgid "Additional HTTP Status Codes :rfc:`6585`, Section 6" -msgstr "Códigos de Status HTTP Adicionais :rfc:`6585`, Seção 6" +msgstr "Additional HTTP Status Codes :rfc:`6585`, Seção 6" #: ../../library/http.rst:126 msgid "" @@ -861,25 +861,25 @@ msgid "" "equal to the constant name (i.e. ``http.HTTPStatus.OK`` is also available as " "``http.client.OK``)." msgstr "" -"Para preservar compatibilidade anterior, valores de enumerações também estão " -"presentes no módulo :mod:`http.client` na forma de constantes. O nome da " -"enumeração é igual ao nome da constante (i.e. ``http.HTTPStatus.OK`` também " +"Para preservar a retrocompatibilidade, os valores de enumerações também " +"estão presentes no módulo :mod:`http.client` na forma de constantes. O nome " +"da enumeração é igual ao da constante (i.e., ``http.HTTPStatus.OK`` também " "está disponível como ``http.client.OK``)." #: ../../library/http.rst:131 msgid "Added ``421 MISDIRECTED_REQUEST`` status code." -msgstr "Código de status ``421 MISDIRECTED_REQUEST`` adicionado." +msgstr "Adicionado código de estado ``421 MISDIRECTED_REQUEST``." #: ../../library/http.rst:134 msgid "Added ``451 UNAVAILABLE_FOR_LEGAL_REASONS`` status code." -msgstr "Código de status ``451 UNAVAILABLE_FOR_LEGAL_REASONS`` adicionado." +msgstr "Adicionado código de estado ``451 UNAVAILABLE_FOR_LEGAL_REASONS``." #: ../../library/http.rst:137 msgid "" "Added ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` and ``425 TOO_EARLY`` status " "codes." msgstr "" -"Adicionados os códigos de status ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` e " +"Adicionado os códigos de estado ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` e " "``425 TOO_EARLY``." #: ../../library/http.rst:144 @@ -887,16 +887,21 @@ msgid "" "A subclass of :class:`enum.StrEnum` that defines a set of HTTP methods and " "descriptions written in English." msgstr "" +"Subclasse de :class:`enum.StrEnum` que define um conjunto de métodos HTTP e " +"suas respectivas descrições em inglês." #: ../../library/http.rst:172 msgid "HTTP methods" -msgstr "" +msgstr "Métodos HTTP" #: ../../library/http.rst:174 msgid "" "Supported, `IANA-registered methods `_ available in :class:`http.HTTPMethod` are:" msgstr "" +"Os `métodos registrados no IANA `_ suportados e disponíveis " +"em :class:`http.HTTPMethod` são:" #: ../../library/http.rst:179 msgid "Method" @@ -904,7 +909,7 @@ msgstr "Método" #: ../../library/http.rst:181 msgid "``GET``" -msgstr "" +msgstr "``GET``" #: ../../library/http.rst:181 msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.1" @@ -912,7 +917,7 @@ msgstr "" #: ../../library/http.rst:182 msgid "``HEAD``" -msgstr "" +msgstr "``HEAD``" #: ../../library/http.rst:182 msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.2" @@ -920,7 +925,7 @@ msgstr "" #: ../../library/http.rst:183 msgid "``POST``" -msgstr "" +msgstr "``POST``" #: ../../library/http.rst:183 msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.3" @@ -928,7 +933,7 @@ msgstr "" #: ../../library/http.rst:184 msgid "``PUT``" -msgstr "" +msgstr "``PUT``" #: ../../library/http.rst:184 msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.4" @@ -936,7 +941,7 @@ msgstr "" #: ../../library/http.rst:185 msgid "``DELETE``" -msgstr "" +msgstr "``DELETE``" #: ../../library/http.rst:185 msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.5" @@ -944,7 +949,7 @@ msgstr "" #: ../../library/http.rst:186 msgid "``CONNECT``" -msgstr "" +msgstr "``CONNECT``" #: ../../library/http.rst:186 msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.6" @@ -952,7 +957,7 @@ msgstr "" #: ../../library/http.rst:187 msgid "``OPTIONS``" -msgstr "" +msgstr "``OPTIONS``" #: ../../library/http.rst:187 msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.7" @@ -960,7 +965,7 @@ msgstr "" #: ../../library/http.rst:188 msgid "``TRACE``" -msgstr "" +msgstr "``TRACE``" #: ../../library/http.rst:188 msgid "HTTP/1.1 :rfc:`7231`, Section 4.3.8" @@ -968,20 +973,20 @@ msgstr "" #: ../../library/http.rst:189 msgid "``PATCH``" -msgstr "" +msgstr "``PATCH``" #: ../../library/http.rst:189 msgid "HTTP/1.1 :rfc:`5789`" -msgstr "" +msgstr "HTTP/1.1 :rfc:`5789`" #: ../../library/http.rst:9 msgid "HTTP" -msgstr "" +msgstr "HTTP" #: ../../library/http.rst:9 msgid "protocol" -msgstr "" +msgstr "protocolo" #: ../../library/http.rst:9 msgid "http (standard module)" -msgstr "" +msgstr "http (módulo padrão)" diff --git a/library/http.server.po b/library/http.server.po index 12110e4f0..b917e6b8d 100644 --- a/library/http.server.po +++ b/library/http.server.po @@ -1,31 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Sheila Gomes , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2026-10-15 21:21+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -43,8 +38,8 @@ msgstr "" #: ../../library/http.server.rst:22 msgid "" -":mod:`http.server` is not recommended for production. It only implements :" -"ref:`basic security checks `." +":mod:`http.server` is not recommended for production. It only " +"implements :ref:`basic security checks `." msgstr "" #: ../../includes/wasm-notavail.rst:3 @@ -71,9 +66,9 @@ msgstr "" #: ../../library/http.server.rst:39 msgid "" "This class builds on the :class:`~socketserver.TCPServer` class by storing " -"the server address as instance variables named :attr:`server_name` and :attr:" -"`server_port`. The server is accessible by the handler, typically through " -"the handler's :attr:`server` instance variable." +"the server address as instance variables named :attr:`server_name` " +"and :attr:`server_port`. The server is accessible by the handler, typically " +"through the handler's :attr:`server` instance variable." msgstr "" #: ../../library/http.server.rst:46 @@ -95,19 +90,19 @@ msgstr "" msgid "" "This class is used to handle the HTTP requests that arrive at the server. " "By itself, it cannot respond to any actual HTTP requests; it must be " -"subclassed to handle each request method (e.g. GET or POST). :class:" -"`BaseHTTPRequestHandler` provides a number of class and instance variables, " -"and methods for use by subclasses." +"subclassed to handle each request method (e.g. GET or " +"POST). :class:`BaseHTTPRequestHandler` provides a number of class and " +"instance variables, and methods for use by subclasses." msgstr "" #: ../../library/http.server.rst:66 msgid "" "The handler will parse the request and the headers, then call a method " "specific to the request type. The method name is constructed from the " -"request. For example, for the request method ``SPAM``, the :meth:`do_SPAM` " +"request. For example, for the request method ``SPAM``, the :meth:`!do_SPAM` " "method will be called with no arguments. All of the relevant information is " "stored in instance variables of the handler. Subclasses should not need to " -"override or extend the :meth:`__init__` method." +"override or extend the :meth:`!__init__` method." msgstr "" #: ../../library/http.server.rst:73 @@ -135,9 +130,9 @@ msgstr "" #: ../../library/http.server.rst:92 msgid "" "Contains the string representation of the HTTP request line. The terminating " -"CRLF is stripped. This attribute should be set by :meth:" -"`handle_one_request`. If no valid request line was processed, it should be " -"set to the empty string." +"CRLF is stripped. This attribute should be set " +"by :meth:`handle_one_request`. If no valid request line was processed, it " +"should be set to the empty string." msgstr "" #: ../../library/http.server.rst:99 @@ -195,9 +190,9 @@ msgstr "" #: ../../library/http.server.rst:144 msgid "" -"Contains the Python system version, in a form usable by the :attr:" -"`version_string` method and the :attr:`server_version` class variable. For " -"example, ``'Python/1.4'``." +"Contains the Python system version, in a form usable by " +"the :attr:`version_string` method and the :attr:`server_version` class " +"variable. For example, ``'Python/1.4'``." msgstr "" #: ../../library/http.server.rst:150 @@ -228,8 +223,8 @@ msgstr "" #: ../../library/http.server.rst:172 msgid "" "Specifies an :class:`email.message.Message`\\ -like class to parse HTTP " -"headers. Typically, this is not overridden, and it defaults to :class:`http." -"client.HTTPMessage`." +"headers. Typically, this is not overridden, and it defaults " +"to :class:`http.client.HTTPMessage`." msgstr "" #: ../../library/http.server.rst:178 @@ -250,13 +245,13 @@ msgstr "" msgid "" "Calls :meth:`handle_one_request` once (or, if persistent connections are " "enabled, multiple times) to handle incoming HTTP requests. You should never " -"need to override it; instead, implement appropriate :meth:`do_\\*` methods." +"need to override it; instead, implement appropriate :meth:`!do_\\*` methods." msgstr "" #: ../../library/http.server.rst:195 msgid "" -"This method will parse and dispatch the request to the appropriate :meth:" -"`do_\\*` method. You should never need to override it." +"This method will parse and dispatch the request to the appropriate :meth:`!" +"do_\\*` method. You should never need to override it." msgstr "" #: ../../library/http.server.rst:200 @@ -279,8 +274,8 @@ msgid "" "attribute holds the default values for *message* and *explain* that will be " "used if no value is provided; for unknown codes the default value for both " "is the string ``???``. The body will be empty if the method is HEAD or the " -"response code is one of the following: ``1xx``, ``204 No Content``, ``205 " -"Reset Content``, ``304 Not Modified``." +"response code is one of the following: :samp:`1{xx}`, ``204 No Content``, " +"``205 Reset Content``, ``304 Not Modified``." msgstr "" #: ../../library/http.server.rst:223 @@ -311,8 +306,8 @@ msgid "" "Adds the HTTP header to an internal buffer which will be written to the " "output stream when either :meth:`end_headers` or :meth:`flush_headers` is " "invoked. *keyword* should specify the header keyword, with *value* " -"specifying its value. Note that, after the send_header calls are done, :meth:" -"`end_headers` MUST BE called in order to complete the operation." +"specifying its value. Note that, after the send_header calls are " +"done, :meth:`end_headers` MUST BE called in order to complete the operation." msgstr "" #: ../../library/http.server.rst:250 @@ -361,15 +356,15 @@ msgstr "" msgid "" "Logs an arbitrary message to ``sys.stderr``. This is typically overridden to " "create custom error logging mechanisms. The *format* argument is a standard " -"printf-style format string, where the additional arguments to :meth:" -"`log_message` are applied as inputs to the formatting. The client ip address " -"and current date and time are prefixed to every message logged." +"printf-style format string, where the additional arguments " +"to :meth:`log_message` are applied as inputs to the formatting. The client " +"ip address and current date and time are prefixed to every message logged." msgstr "" #: ../../library/http.server.rst:301 msgid "" -"Returns the server software's version string. This is a combination of the :" -"attr:`server_version` and :attr:`sys_version` attributes." +"Returns the server software's version string. This is a combination of " +"the :attr:`server_version` and :attr:`sys_version` attributes." msgstr "" #: ../../library/http.server.rst:306 @@ -405,7 +400,7 @@ msgid "" msgstr "" #: ../../library/http.server.rst:331 -msgid "The *directory* parameter." +msgid "Added the *directory* parameter." msgstr "" #: ../../library/http.server.rst:334 @@ -414,18 +409,18 @@ msgstr "" #: ../../library/http.server.rst:337 msgid "" -"A lot of the work, such as parsing the request, is done by the base class :" -"class:`BaseHTTPRequestHandler`. This class implements the :func:`do_GET` " -"and :func:`do_HEAD` functions." +"A lot of the work, such as parsing the request, is done by the base " +"class :class:`BaseHTTPRequestHandler`. This class implements " +"the :func:`do_GET` and :func:`do_HEAD` functions." msgstr "" -"Muito do trabalho, como analisar o pedido, é feito pela classe base :class:" -"`BaseHTTPRequestHandler`. Esta classe implementa as funções :func:`do_GET` " -"e :func:`do_HEAD`." +"Muito do trabalho, como analisar o pedido, é feito pela classe " +"base :class:`BaseHTTPRequestHandler`. Esta classe implementa as " +"funções :func:`do_GET` e :func:`do_HEAD`." #: ../../library/http.server.rst:341 msgid "" -"The following are defined as class-level attributes of :class:" -"`SimpleHTTPRequestHandler`:" +"The following are defined as class-level attributes " +"of :class:`SimpleHTTPRequestHandler`:" msgstr "" #: ../../library/http.server.rst:346 @@ -470,9 +465,9 @@ msgid "" "If the request was mapped to a directory, the directory is checked for a " "file named ``index.html`` or ``index.htm`` (in that order). If found, the " "file's contents are returned; otherwise a directory listing is generated by " -"calling the :meth:`list_directory` method. This method uses :func:`os." -"listdir` to scan the directory, and returns a ``404`` error response if the :" -"func:`~os.listdir` fails." +"calling the :meth:`list_directory` method. This method " +"uses :func:`os.listdir` to scan the directory, and returns a ``404`` error " +"response if the :func:`~os.listdir` fails." msgstr "" #: ../../library/http.server.rst:379 @@ -502,8 +497,8 @@ msgstr "" #: ../../library/http.server.rst:395 msgid "" -"For example usage, see the implementation of the ``test`` function in :" -"source:`Lib/http/server.py`." +"For example usage, see the implementation of the ``test`` function " +"in :source:`Lib/http/server.py`." msgstr "" #: ../../library/http.server.rst:398 @@ -539,11 +534,11 @@ msgid "" msgstr "" #: ../../library/http.server.rst:436 -msgid "``--bind`` argument was introduced." +msgid "Added the ``--bind`` option." msgstr "" #: ../../library/http.server.rst:439 -msgid "``--bind`` argument enhanced to support IPv6" +msgid "Support IPv6 in the ``--bind`` option." msgstr "" #: ../../library/http.server.rst:442 @@ -554,7 +549,7 @@ msgid "" msgstr "" #: ../../library/http.server.rst:448 -msgid "``--directory`` argument was introduced." +msgid "Added the ``--directory`` option." msgstr "" #: ../../library/http.server.rst:451 @@ -565,7 +560,7 @@ msgid "" msgstr "" #: ../../library/http.server.rst:457 -msgid "``--protocol`` argument was introduced." +msgid "Added the ``--protocol`` option." msgstr "" #: ../../library/http.server.rst:462 @@ -630,33 +625,40 @@ msgid "" "the ``--cgi`` option::" msgstr "" -#: ../../library/http.server.rst:508 +#: ../../library/http.server.rst:507 +msgid "" +":class:`CGIHTTPRequestHandler` and the ``--cgi`` command line option are not " +"intended for use by untrusted clients and may be vulnerable to exploitation. " +"Always use within a secure environment." +msgstr "" + +#: ../../library/http.server.rst:514 msgid "Security Considerations" -msgstr "Considerações de segurança" +msgstr "Considerações de Segurança" -#: ../../library/http.server.rst:512 +#: ../../library/http.server.rst:518 msgid "" ":class:`SimpleHTTPRequestHandler` will follow symbolic links when handling " "requests, this makes it possible for files outside of the specified " "directory to be served." msgstr "" -#: ../../library/http.server.rst:516 +#: ../../library/http.server.rst:522 msgid "" "Earlier versions of Python did not scrub control characters from the log " -"messages emitted to stderr from ``python -m http.server`` or the default :" -"class:`BaseHTTPRequestHandler` ``.log_message`` implementation. This could " -"allow remote clients connecting to your server to send nefarious control " -"codes to your terminal." +"messages emitted to stderr from ``python -m http.server`` or the " +"default :class:`BaseHTTPRequestHandler` ``.log_message`` implementation. " +"This could allow remote clients connecting to your server to send nefarious " +"control codes to your terminal." msgstr "" -#: ../../library/http.server.rst:522 +#: ../../library/http.server.rst:528 msgid "Control characters are scrubbed in stderr logs." msgstr "" #: ../../library/http.server.rst:9 msgid "WWW" -msgstr "" +msgstr "WWW" #: ../../library/http.server.rst:9 msgid "server" @@ -664,11 +666,11 @@ msgstr "" #: ../../library/http.server.rst:9 msgid "HTTP" -msgstr "" +msgstr "HTTP" #: ../../library/http.server.rst:9 msgid "protocol" -msgstr "" +msgstr "protocolo" #: ../../library/http.server.rst:9 msgid "URL" @@ -678,10 +680,10 @@ msgstr "URL" msgid "httpd" msgstr "" -#: ../../library/http.server.rst:510 +#: ../../library/http.server.rst:516 msgid "http.server" -msgstr "" +msgstr "http.server" -#: ../../library/http.server.rst:510 +#: ../../library/http.server.rst:516 msgid "security" msgstr "" diff --git a/library/i18n.po b/library/i18n.po index c8ba41dd0..a975b0d83 100644 --- a/library/i18n.po +++ b/library/i18n.po @@ -1,26 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/idle.po b/library/idle.po index 31b4f0bac..9bb853853 100644 --- a/library/idle.po +++ b/library/idle.po @@ -1,29 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Risaffi , 2021 -# i17obot , 2021 -# Claudio Rogerio Carvalho Filho , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Nicolas Noda Uesu, 2025 +# Adorilson Bezerra , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-25 20:34+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Adorilson Bezerra , 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,146 +36,173 @@ msgstr "**Código-fonte:** :source:`Lib/idlelib/`" #: ../../library/idle.rst:17 msgid "IDLE is Python's Integrated Development and Learning Environment." msgstr "" +"IDLE é o Ambiente Integrado de Desenvolvimento e Aprendizagem (em inglês, " +"Integrated Development and Learning Environment) do Python." #: ../../library/idle.rst:19 msgid "IDLE has the following features:" -msgstr "" +msgstr "O IDLE tem os seguintes recursos:" #: ../../library/idle.rst:21 -msgid "coded in 100% pure Python, using the :mod:`tkinter` GUI toolkit" -msgstr "" - -#: ../../library/idle.rst:23 msgid "cross-platform: works mostly the same on Windows, Unix, and macOS" msgstr "" +"multiplataforma: funciona basicamente da mesma forma no Windows, Unix e macOS" -#: ../../library/idle.rst:25 +#: ../../library/idle.rst:23 msgid "" "Python shell window (interactive interpreter) with colorizing of code input, " "output, and error messages" msgstr "" +"janela de console do Python (interpretador interativo) com colorização de " +"entrada de código, saída e mensagens de erro" -#: ../../library/idle.rst:28 +#: ../../library/idle.rst:26 msgid "" "multi-window text editor with multiple undo, Python colorizing, smart " "indent, call tips, auto completion, and other features" msgstr "" +"editor de texto multijanela com múltiplos desfazer, colorização Python, " +"indentação inteligente, dicas de chamada, preenchimento automático e outros " +"recursos" -#: ../../library/idle.rst:31 +#: ../../library/idle.rst:29 msgid "" "search within any window, replace within editor windows, and search through " "multiple files (grep)" msgstr "" +"pesquisa em qualquer janela, substituição nas janelas do editor e pesquisa " +"em vários arquivos (grep)" -#: ../../library/idle.rst:34 +#: ../../library/idle.rst:32 msgid "" "debugger with persistent breakpoints, stepping, and viewing of global and " "local namespaces" msgstr "" +"depurador com pontos de interrupção persistentes, etapas e visualização de " +"espaço de nomes global e local" -#: ../../library/idle.rst:37 +#: ../../library/idle.rst:35 msgid "configuration, browsers, and other dialogs" -msgstr "" +msgstr "configuração, navegadores e outros diálogos" -#: ../../library/idle.rst:40 +#: ../../library/idle.rst:38 msgid "Menus" -msgstr "" +msgstr "Menus" -#: ../../library/idle.rst:42 +#: ../../library/idle.rst:40 msgid "" "IDLE has two main window types, the Shell window and the Editor window. It " "is possible to have multiple editor windows simultaneously. On Windows and " "Linux, each has its own top menu. Each menu documented below indicates " "which window type it is associated with." msgstr "" +"O IDLE possui dois tipos principais de janelas: a janela do console e a " +"janela do editor. É possível ter várias janelas do editor abertas " +"simultaneamente. No Windows e no Linux, cada uma tem seu próprio menu " +"superior. Cada menu documentado abaixo indica a qual tipo de janela está " +"associado." -#: ../../library/idle.rst:47 +#: ../../library/idle.rst:45 msgid "" "Output windows, such as used for Edit => Find in Files, are a subtype of " "editor window. They currently have the same top menu but a different " "default title and context menu." msgstr "" +"Janelas de saída, como as usadas para Edit => Find in Files, são um subtipo " +"de janela de editor. Atualmente, têm o mesmo menu superior, mas um título " +"predefinido e menu de contexto diferentes." -#: ../../library/idle.rst:51 +#: ../../library/idle.rst:49 msgid "" "On macOS, there is one application menu. It dynamically changes according " "to the window currently selected. It has an IDLE menu, and some entries " "described below are moved around to conform to Apple guidelines." msgstr "" +"No macOS, há um menu de aplicações. Ele muda dinamicamente conforme a janela " +"selecionada no momento. Ele possui um menu de IDLE e algumas entradas " +"descritas abaixo foram movidas para atender às diretrizes da Apple." -#: ../../library/idle.rst:56 +#: ../../library/idle.rst:54 msgid "File menu (Shell and Editor)" -msgstr "Menu Arquivo (Console e Editor)" +msgstr "Menu File (Shell e Editor)" -#: ../../library/idle.rst:59 +#: ../../library/idle.rst:57 msgid "New File" -msgstr "Novo Arquivo" +msgstr "New File" -#: ../../library/idle.rst:59 +#: ../../library/idle.rst:57 msgid "Create a new file editing window." -msgstr "" +msgstr "Cria uma nova janela de edição de arquivo." -#: ../../library/idle.rst:62 +#: ../../library/idle.rst:60 msgid "Open..." -msgstr "Abrir..." +msgstr "Open..." -#: ../../library/idle.rst:62 +#: ../../library/idle.rst:60 msgid "Open an existing file with an Open dialog." -msgstr "" +msgstr "Abre um arquivo existente com uma caixa de diálogo Open." -#: ../../library/idle.rst:65 +#: ../../library/idle.rst:63 msgid "Open Module..." -msgstr "" +msgstr "Open Module..." -#: ../../library/idle.rst:65 +#: ../../library/idle.rst:63 msgid "Open an existing module (searches sys.path)." -msgstr "" +msgstr "Abre um módulo existente (procura em sys.path)." -#: ../../library/idle.rst:68 +#: ../../library/idle.rst:66 msgid "Recent Files" -msgstr "Arquivos Recentes" +msgstr "Recent Files" -#: ../../library/idle.rst:68 +#: ../../library/idle.rst:66 msgid "Open a list of recent files. Click one to open it." -msgstr "" +msgstr "Abre uma lista de arquivos recentes. Clique em um para abri-lo." -#: ../../library/idle.rst:76 +#: ../../library/idle.rst:74 msgid "Module Browser" -msgstr "" +msgstr "Module Browser" -#: ../../library/idle.rst:75 +#: ../../library/idle.rst:73 msgid "" "Show functions, classes, and methods in the current Editor file in a tree " "structure. In the shell, open a module first." msgstr "" +"Mostra as funções, classes e métodos do arquivo atual do editor em uma " +"estrutura de árvore. No console, abre primeiro um módulo." -#: ../../library/idle.rst:80 +#: ../../library/idle.rst:78 msgid "Path Browser" -msgstr "" +msgstr "Path Browser" -#: ../../library/idle.rst:79 +#: ../../library/idle.rst:77 msgid "" "Show sys.path directories, modules, functions, classes and methods in a tree " "structure." msgstr "" +"Mostra os diretórios do sys.path, módulos, funções, classes e métodos em uma " +"estrutura de árvore." -#: ../../library/idle.rst:86 +#: ../../library/idle.rst:84 msgid "Save" -msgstr "Salvar" +msgstr "Save" -#: ../../library/idle.rst:83 +#: ../../library/idle.rst:81 msgid "" "Save the current window to the associated file, if there is one. Windows " "that have been changed since being opened or last saved have a \\* before " "and after the window title. If there is no associated file, do Save As " "instead." msgstr "" +"Salva o conteúdo da janela atual no arquivo associado, se houver um. Janelas " +"que foram alteradas desde que foram abertas ou salvas pela última vez têm um " +"\\* antes e depois do título da janela. Se não houver um arquivo associado, " +"executa Save As." -#: ../../library/idle.rst:93 +#: ../../library/idle.rst:91 msgid "Save As..." -msgstr "Salvar como..." +msgstr "Save As..." -#: ../../library/idle.rst:89 +#: ../../library/idle.rst:87 msgid "" "Save the current window with a Save As dialog. The file saved becomes the " "new associated file for the window. (If your file namager is set to hide " @@ -186,285 +211,324 @@ msgid "" "text files, except that on macOS Aqua,'.py' is added for all files.)" msgstr "" -#: ../../library/idle.rst:97 +#: ../../library/idle.rst:95 msgid "Save Copy As..." -msgstr "" +msgstr "Save Copy As..." -#: ../../library/idle.rst:96 +#: ../../library/idle.rst:94 msgid "" "Save the current window to different file without changing the associated " "file. (See Save As note above about filename extensions.)" msgstr "" +"Salva a janela atual em um arquivo diferente sem alterar o arquivo " +"associado. (veja Save As acima sobre a extensão do nome do arquivo.)" -#: ../../library/idle.rst:100 +#: ../../library/idle.rst:98 msgid "Print Window" -msgstr "" +msgstr "Print Window" -#: ../../library/idle.rst:100 +#: ../../library/idle.rst:98 msgid "Print the current window to the default printer." -msgstr "" +msgstr "Imprime a janela atual para a impressora padrão." -#: ../../library/idle.rst:105 +#: ../../library/idle.rst:103 msgid "Close Window" -msgstr "" +msgstr "Close Window" -#: ../../library/idle.rst:103 +#: ../../library/idle.rst:101 msgid "" "Close the current window (if an unsaved editor, ask to save; if an unsaved " "Shell, ask to quit execution). Calling ``exit()`` or ``close()`` in the " "Shell window also closes Shell. If this is the only window, also exit IDLE." msgstr "" +"Fecha a janela atual (se for um editor não salvo, pergunta se quer salvar; " +"se for um console não salvo, pergunta se quer sair da execução). Chamar " +"``exit()`` ou ``close()`` na janela do console também fecha o console. Se " +"esta for a única janela, também sai do IDLE." -#: ../../library/idle.rst:108 +#: ../../library/idle.rst:106 msgid "Exit IDLE" -msgstr "" +msgstr "Exit IDLE" -#: ../../library/idle.rst:108 +#: ../../library/idle.rst:106 msgid "Close all windows and quit IDLE (ask to save unsaved edit windows)." msgstr "" +"Fecha todas as janelas e sai do IDLE (pergunta se quer salvar as janelas de " +"edição não salvas)." -#: ../../library/idle.rst:111 +#: ../../library/idle.rst:109 msgid "Edit menu (Shell and Editor)" -msgstr "" +msgstr "Menu Edit (Shell e Editor)" -#: ../../library/idle.rst:115 +#: ../../library/idle.rst:113 msgid "Undo" -msgstr "Desfazer" +msgstr "Undo" -#: ../../library/idle.rst:114 +#: ../../library/idle.rst:112 msgid "" "Undo the last change to the current window. A maximum of 1000 changes may " "be undone." msgstr "" -"Desfaz a última alteração na janela atual. Um máximo de 1000 alterações " -"podem ser desfeitas." +"Desfaz a última alteração na janela atual. Um máximo de 1000 alterações pode " +"ser desfeito." -#: ../../library/idle.rst:118 +#: ../../library/idle.rst:116 msgid "Redo" -msgstr "" +msgstr "Redo" -#: ../../library/idle.rst:118 +#: ../../library/idle.rst:116 msgid "Redo the last undone change to the current window." -msgstr "" +msgstr "Refaz a última alteração desfeita na janela atual." -#: ../../library/idle.rst:121 +#: ../../library/idle.rst:119 msgid "Select All" -msgstr "" +msgstr "Select All" -#: ../../library/idle.rst:121 +#: ../../library/idle.rst:119 msgid "Select the entire contents of the current window." -msgstr "" +msgstr "Seleciona todo o conteúdo da janela atual." -#: ../../library/idle.rst:124 ../../library/idle.rst:370 -#: ../../library/idle.rst:355 +#: ../../library/idle.rst:122 ../../library/idle.rst:353 +#: ../../library/idle.rst:368 msgid "Cut" -msgstr "" +msgstr "Cut" -#: ../../library/idle.rst:124 ../../library/idle.rst:370 +#: ../../library/idle.rst:122 ../../library/idle.rst:368 msgid "" "Copy selection into the system-wide clipboard; then delete the selection." msgstr "" +"Copia a seleção para a área de transferência do sistema; depois apaga a " +"seleção." -#: ../../library/idle.rst:127 ../../library/idle.rst:373 -#: ../../library/idle.rst:355 +#: ../../library/idle.rst:125 ../../library/idle.rst:353 +#: ../../library/idle.rst:371 msgid "Copy" -msgstr "" +msgstr "Copy" -#: ../../library/idle.rst:127 ../../library/idle.rst:373 +#: ../../library/idle.rst:125 ../../library/idle.rst:371 msgid "Copy selection into the system-wide clipboard." -msgstr "" +msgstr "Copia a seleção para a área de transferência do sistema." -#: ../../library/idle.rst:130 ../../library/idle.rst:376 -#: ../../library/idle.rst:355 +#: ../../library/idle.rst:128 ../../library/idle.rst:353 +#: ../../library/idle.rst:374 msgid "Paste" -msgstr "" +msgstr "Paste" -#: ../../library/idle.rst:130 ../../library/idle.rst:376 +#: ../../library/idle.rst:128 ../../library/idle.rst:374 msgid "Insert contents of the system-wide clipboard into the current window." -msgstr "" +msgstr "Insere o conteúdo da área de transferência do sistema na janela atual." -#: ../../library/idle.rst:132 +#: ../../library/idle.rst:130 msgid "The clipboard functions are also available in context menus." msgstr "" +"As funções da área de transferência também estão disponíveis nos menus de " +"contexto." -#: ../../library/idle.rst:135 +#: ../../library/idle.rst:133 msgid "Find..." -msgstr "" +msgstr "Find..." -#: ../../library/idle.rst:135 +#: ../../library/idle.rst:133 msgid "Open a search dialog with many options" -msgstr "" +msgstr "Abre uma caixa de diálogo de pesquisa com muitas opções" -#: ../../library/idle.rst:138 +#: ../../library/idle.rst:136 msgid "Find Again" -msgstr "" +msgstr "Find Again" -#: ../../library/idle.rst:138 +#: ../../library/idle.rst:136 msgid "Repeat the last search, if there is one." -msgstr "" +msgstr "Repete a última pesquisa, se houver uma." -#: ../../library/idle.rst:141 +#: ../../library/idle.rst:139 msgid "Find Selection" -msgstr "" +msgstr "Find Selection" -#: ../../library/idle.rst:141 +#: ../../library/idle.rst:139 msgid "Search for the currently selected string, if there is one." -msgstr "" +msgstr "Procura a string atualmente selecionada, se houver uma." -#: ../../library/idle.rst:144 +#: ../../library/idle.rst:142 msgid "Find in Files..." -msgstr "" +msgstr "Find in Files..." -#: ../../library/idle.rst:144 +#: ../../library/idle.rst:142 msgid "Open a file search dialog. Put results in a new output window." msgstr "" +"Abre uma caixa de diálogo de pesquisa de ficheiros. Coloca os resultados " +"numa nova janela de saída." -#: ../../library/idle.rst:147 +#: ../../library/idle.rst:145 msgid "Replace..." -msgstr "" +msgstr "Replace..." -#: ../../library/idle.rst:147 +#: ../../library/idle.rst:145 msgid "Open a search-and-replace dialog." -msgstr "" +msgstr "Abre uma caixa de diálogo de pesquisa e substituição." -#: ../../library/idle.rst:152 +#: ../../library/idle.rst:150 msgid "Go to Line" -msgstr "" +msgstr "Go to Line" -#: ../../library/idle.rst:150 +#: ../../library/idle.rst:148 msgid "" "Move the cursor to the beginning of the line requested and make that line " "visible. A request past the end of the file goes to the end. Clear any " "selection and update the line and column status." msgstr "" +"Move o cursor para o início da linha solicitada e torna essa linha visível. " +"Um pedido após o final do ficheiro vai para o final. Limpa qualquer seleção " +"e atualiza o estado da linha e da coluna." -#: ../../library/idle.rst:156 +#: ../../library/idle.rst:154 msgid "Show Completions" -msgstr "" +msgstr "Show Completions" -#: ../../library/idle.rst:155 +#: ../../library/idle.rst:153 msgid "" -"Open a scrollable list allowing selection of existing names. See :ref:" -"`Completions ` in the Editing and navigation section below." +"Open a scrollable list allowing selection of existing names. " +"See :ref:`Completions ` in the Editing and navigation section " +"below." msgstr "" +"Abre uma lista suspensa que permite selecionar nomes existentes. " +"Veja :ref:`Completamentos ` na seção de Edição e Navegação " +"abaixo." -#: ../../library/idle.rst:160 +#: ../../library/idle.rst:158 msgid "Expand Word" -msgstr "" +msgstr "Expand Word" -#: ../../library/idle.rst:159 +#: ../../library/idle.rst:157 msgid "" "Expand a prefix you have typed to match a full word in the same window; " "repeat to get a different expansion." msgstr "" +"Expande um prefixo que você digitou para corresponder a uma palavra completa " +"na mesma janela; repita o processo para obter uma expansão diferente." -#: ../../library/idle.rst:165 +#: ../../library/idle.rst:163 msgid "Show Call Tip" -msgstr "" +msgstr "Show Call Tip" -#: ../../library/idle.rst:163 +#: ../../library/idle.rst:161 msgid "" "After an unclosed parenthesis for a function, open a small window with " "function parameter hints. See :ref:`Calltips ` in the Editing and " "navigation section below." msgstr "" +"Depois de um parêntese não fechado em uma função, abre uma pequena janela " +"com dicas de parâmetros da função. Veja :ref:`Dicas de Chamada ` " +"na seção de Edição e Navegação abaixo." -#: ../../library/idle.rst:168 +#: ../../library/idle.rst:166 msgid "Show Surrounding Parens" -msgstr "" +msgstr "Show Surrounding Parens" -#: ../../library/idle.rst:168 +#: ../../library/idle.rst:166 msgid "Highlight the surrounding parenthesis." -msgstr "" +msgstr "Realça os parênteses envolventes." -#: ../../library/idle.rst:173 +#: ../../library/idle.rst:171 msgid "Format menu (Editor window only)" -msgstr "" +msgstr "Menu Format (somente na janela do Editor)" -#: ../../library/idle.rst:178 +#: ../../library/idle.rst:176 msgid "Format Paragraph" -msgstr "" +msgstr "Format Paragraph" -#: ../../library/idle.rst:176 +#: ../../library/idle.rst:174 msgid "" "Reformat the current blank-line-delimited paragraph in comment block or " "multiline string or selected line in a string. All lines in the paragraph " "will be formatted to less than N columns, where N defaults to 72." msgstr "" +"Reformata o parágrafo atual, delimitado por linhas em branco, num bloco de " +"comentário ou string multilinhas, ou numa linha selecionada numa string. " +"Todas as linhas no parágrafo serão formatadas para menos de N colunas, onde " +"N é 72 por predefinição." -#: ../../library/idle.rst:181 +#: ../../library/idle.rst:179 msgid "Indent Region" -msgstr "" +msgstr "Indent Region" -#: ../../library/idle.rst:181 +#: ../../library/idle.rst:179 msgid "Shift selected lines right by the indent width (default 4 spaces)." msgstr "" +"Desloca as linhas selecionadas à direita pela largura de indentação (4 " +"espaços por padrão)." -#: ../../library/idle.rst:184 +#: ../../library/idle.rst:182 msgid "Dedent Region" -msgstr "" +msgstr "Dedent Region" -#: ../../library/idle.rst:184 +#: ../../library/idle.rst:182 msgid "Shift selected lines left by the indent width (default 4 spaces)." msgstr "" +"Desloca as linhas selecionadas à esquerda pela largura de indentação (4 " +"espaços por padrão)." -#: ../../library/idle.rst:187 +#: ../../library/idle.rst:185 msgid "Comment Out Region" -msgstr "" +msgstr "Comment Out Region" -#: ../../library/idle.rst:187 +#: ../../library/idle.rst:185 msgid "Insert ## in front of selected lines." -msgstr "" +msgstr "Insere ## à frente das linhas selecionadas." -#: ../../library/idle.rst:190 +#: ../../library/idle.rst:188 msgid "Uncomment Region" -msgstr "" +msgstr "Uncomment Region" -#: ../../library/idle.rst:190 +#: ../../library/idle.rst:188 msgid "Remove leading # or ## from selected lines." -msgstr "" +msgstr "Remove # ou ## iniciais das linhas selecionadas." -#: ../../library/idle.rst:194 +#: ../../library/idle.rst:192 msgid "Tabify Region" -msgstr "" +msgstr "Tabify Region" -#: ../../library/idle.rst:193 +#: ../../library/idle.rst:191 msgid "" "Turn *leading* stretches of spaces into tabs. (Note: We recommend using 4 " "space blocks to indent Python code.)" msgstr "" +"Converte sequências iniciais de espaços em tabs. (Nota: recomendamos usar " +"blocos de 4 espaços para indentar código Python.)" -#: ../../library/idle.rst:197 +#: ../../library/idle.rst:195 msgid "Untabify Region" -msgstr "" +msgstr "Untabify Region" -#: ../../library/idle.rst:197 +#: ../../library/idle.rst:195 msgid "Turn *all* tabs into the correct number of spaces." -msgstr "" +msgstr "Converte *todos* os tabs para o número correto de espaços." -#: ../../library/idle.rst:200 +#: ../../library/idle.rst:198 msgid "Toggle Tabs" -msgstr "" +msgstr "Toggle Tabs" -#: ../../library/idle.rst:200 +#: ../../library/idle.rst:198 msgid "Open a dialog to switch between indenting with spaces and tabs." msgstr "" +"Abre uma caixa de diálogo para alternar entre espaços e tabs para indentar." -#: ../../library/idle.rst:204 +#: ../../library/idle.rst:202 msgid "New Indent Width" -msgstr "" +msgstr "New Indent Width" -#: ../../library/idle.rst:203 +#: ../../library/idle.rst:201 msgid "" "Open a dialog to change indent width. The accepted default by the Python " "community is 4 spaces." msgstr "" +"Abre uma caixa de diálogo para alterar a largura de indentação. A largura " +"predefinida aceita pela comunidade Python é de 4 espaços." -#: ../../library/idle.rst:210 +#: ../../library/idle.rst:208 msgid "Strip Trailing Chitespace" msgstr "" -#: ../../library/idle.rst:207 +#: ../../library/idle.rst:205 msgid "" "Remove trailing space and other whitespace characters after the last non-" "whitespace character of a line by applying str.rstrip to each line, " @@ -472,15 +536,15 @@ msgid "" "extra newlines at the end of the file." msgstr "" -#: ../../library/idle.rst:216 +#: ../../library/idle.rst:214 msgid "Run menu (Editor window only)" -msgstr "" +msgstr "Menu Run (somente na janela do Editor)" -#: ../../library/idle.rst:227 +#: ../../library/idle.rst:225 msgid "Run Module" -msgstr "" +msgstr "Run Module" -#: ../../library/idle.rst:221 +#: ../../library/idle.rst:219 msgid "" "Do :ref:`Check Module `. If no error, restart the shell to " "clean the environment, then execute the module. Output is displayed in the " @@ -489,23 +553,34 @@ msgid "" "this point, one may interactively explore the result of execution. This is " "similar to executing a file with ``python -i file`` at a command line." msgstr "" +"Executa :ref:`Check Module `. Se não houver erros, reinicia o " +"console para limpar o ambiente, depois executa o módulo. A saída é exibida " +"na janela Shell. Note que a saída requer o uso de ``print`` ou ``write``. " +"Quando a execução estiver completa, a Shell mantém o foco e exibe um prompt. " +"Neste ponto, pode-se explorar interativamente o resultado da execução. Isto " +"é semelhante a executar um ficheiro com ``python -i file`` na linha de " +"comandos." -#: ../../library/idle.rst:234 +#: ../../library/idle.rst:232 msgid "Run... Customized" -msgstr "" +msgstr "Run... Customized" -#: ../../library/idle.rst:232 +#: ../../library/idle.rst:230 msgid "" "Same as :ref:`Run Module `, but run the module with customized " "settings. *Command Line Arguments* extend :data:`sys.argv` as if passed on " "a command line. The module can be run in the Shell without restarting." msgstr "" +"O mesmo que a :ref:`Run Module `, mas executa o módulo com " +"configurações personalizadas. *Argumentos de Linha de Comandos* " +"estendem :data:`sys.argv` como se passados na linha de comandos. O módulo " +"pode ser executado na Shell sem reiniciar." -#: ../../library/idle.rst:243 +#: ../../library/idle.rst:241 msgid "Check Module" -msgstr "" +msgstr "Check Module" -#: ../../library/idle.rst:239 +#: ../../library/idle.rst:237 msgid "" "Check the syntax of the module currently open in the Editor window. If the " "module has not been saved IDLE will either prompt the user to save or " @@ -513,71 +588,82 @@ msgid "" "there is a syntax error, the approximate location is indicated in the Editor " "window." msgstr "" +"Verifica a sintaxe do módulo atualmente aberto na janela do Editor. Se o " +"módulo não tiver sido salvo, o IDLE perguntará se quer salvar ou salvará " +"automaticamente, conforme configurado na aba General da caixa de diálogo " +"Settings. Se houver um erro de sintaxe, a localização aproximada é indicada " +"na janela do Editor." -#: ../../library/idle.rst:249 +#: ../../library/idle.rst:247 msgid "Python Shell" -msgstr "" +msgstr "Python Shell" -#: ../../library/idle.rst:248 +#: ../../library/idle.rst:246 msgid "Open or wake up the Python Shell window." -msgstr "" +msgstr "Abre ou ativa a janela do Shell Python." -#: ../../library/idle.rst:252 +#: ../../library/idle.rst:250 msgid "Shell menu (Shell window only)" -msgstr "" +msgstr "Menu Shell (somente na janela do Shell)" -#: ../../library/idle.rst:255 +#: ../../library/idle.rst:253 msgid "View Last Restart" -msgstr "" +msgstr "View Last Restart" -#: ../../library/idle.rst:255 +#: ../../library/idle.rst:253 msgid "Scroll the shell window to the last Shell restart." -msgstr "" +msgstr "Desloca a janela para o último reinício do Shell." -#: ../../library/idle.rst:258 +#: ../../library/idle.rst:256 msgid "Restart Shell" -msgstr "" +msgstr "Restart Shell" -#: ../../library/idle.rst:258 +#: ../../library/idle.rst:256 msgid "" "Restart the shell to clean the environment and reset display and exception " "handling." msgstr "" +"Reinicia o shell para limpar o ambiente e redefinir a apresentação e o " +"tratamento de exceções." -#: ../../library/idle.rst:261 +#: ../../library/idle.rst:259 msgid "Previous History" -msgstr "" +msgstr "Previous History" -#: ../../library/idle.rst:261 +#: ../../library/idle.rst:259 msgid "" "Cycle through earlier commands in history which match the current entry." msgstr "" +"Percorre os comandos anteriores no histórico que correspondam à entrada " +"atual." -#: ../../library/idle.rst:264 +#: ../../library/idle.rst:262 msgid "Next History" -msgstr "" +msgstr "Next History" -#: ../../library/idle.rst:264 +#: ../../library/idle.rst:262 msgid "Cycle through later commands in history which match the current entry." msgstr "" +"Percorre os comandos posteriores no histórico que correspondam à entrada " +"atual." -#: ../../library/idle.rst:267 +#: ../../library/idle.rst:265 msgid "Interrupt Execution" -msgstr "" +msgstr "Interrupt Execution" -#: ../../library/idle.rst:267 +#: ../../library/idle.rst:265 msgid "Stop a running program." -msgstr "" +msgstr "Interrompe um programa em execução." -#: ../../library/idle.rst:270 +#: ../../library/idle.rst:268 msgid "Debug menu (Shell window only)" -msgstr "" +msgstr "Menu Debug (somente na janela do Shell)" -#: ../../library/idle.rst:277 +#: ../../library/idle.rst:275 msgid "Go to File/Line" -msgstr "" +msgstr "Go to File/Line" -#: ../../library/idle.rst:273 +#: ../../library/idle.rst:271 msgid "" "Look on the current line. with the cursor, and the line above for a filename " "and line number. If found, open the file if not already open, and show the " @@ -585,46 +671,59 @@ msgid "" "and lines found by Find in Files. Also available in the context menu of the " "Shell window and Output windows." msgstr "" +"Procura na linha atual com o cursor e na linha acima por um nome de arquivo " +"e um número de linha. Se encontrado, abre o arquivo se não estiver já aberto " +"e mostra a linha. Use isto para ver as linhas de origem referenciadas num " +"traceback de exceção e as linhas encontradas por Find in Files. Também está " +"disponível no menu de contexto da janela Shell e das janelas de Saída." -#: ../../library/idle.rst:286 +#: ../../library/idle.rst:284 msgid "Debugger (toggle)" -msgstr "" +msgstr "Debugger (alternar)" -#: ../../library/idle.rst:284 +#: ../../library/idle.rst:282 msgid "" "When activated, code entered in the Shell or run from an Editor will run " "under the debugger. In the Editor, breakpoints can be set with the context " "menu. This feature is still incomplete and somewhat experimental." msgstr "" +"Quando ativado, o código introduzido na Shell ou executado a partir de um " +"Editor será executado sob o depurador. No Editor, é possível definir pontos " +"de interrupção pelo menu de contexto. Esta funcionalidade ainda está " +"incompleta e é experimental." -#: ../../library/idle.rst:290 +#: ../../library/idle.rst:288 msgid "Stack Viewer" -msgstr "" +msgstr "Stack Viewer" -#: ../../library/idle.rst:289 +#: ../../library/idle.rst:287 msgid "" "Show the stack traceback of the last exception in a tree widget, with access " "to locals and globals." msgstr "" +"Mostra o traceback da pilha da última exceção em formato de árvore, " +"incluindo acesso a locais e globais." -#: ../../library/idle.rst:293 +#: ../../library/idle.rst:291 msgid "Auto-open Stack Viewer" -msgstr "" +msgstr "Auto-open Stack Viewer" -#: ../../library/idle.rst:293 +#: ../../library/idle.rst:291 msgid "" "Toggle automatically opening the stack viewer on an unhandled exception." msgstr "" +"Alterna a abertura automática do visualizador de pilha para uma exceção não " +"tratada." -#: ../../library/idle.rst:296 +#: ../../library/idle.rst:294 msgid "Options menu (Shell and Editor)" -msgstr "" +msgstr "Menu Options (Shell e Editor)" -#: ../../library/idle.rst:304 +#: ../../library/idle.rst:302 msgid "Configure IDLE" -msgstr "" +msgstr "Configure IDLE" -#: ../../library/idle.rst:299 +#: ../../library/idle.rst:297 msgid "" "Open a configuration dialog and change preferences for the following: fonts, " "indentation, keybindings, text color themes, startup windows and size, " @@ -632,40 +731,55 @@ msgid "" "dialog by selecting Preferences in the application menu. For more details, " "see :ref:`Setting preferences ` under Help and preferences." msgstr "" +"Abre uma caixa de diálogo de configuração e alteração de preferências, tais " +"como: tipos de letra, indentação, atalhos de teclado, temas de cor de texto, " +"janelas de inicialização e tamanho, fontes de ajuda adicionais e extensões. " +"No macOS, abre a caixa de diálogo de configuração selecionando Preferences " +"no menu da aplicação. Para mais detalhes, veja :ref:`Configurando " +"preferências ` em Ajuda e preferências." -#: ../../library/idle.rst:306 +#: ../../library/idle.rst:304 msgid "" "Most configuration options apply to all windows or all future windows. The " "option items below only apply to the active window." msgstr "" +"A maioria das opções de configuração aplica-se a todas as janelas ou a todas " +"as janelas futuras. Os itens de opção abaixo aplicam-se apenas à janela " +"ativa." -#: ../../library/idle.rst:313 +#: ../../library/idle.rst:311 msgid "Show/Hide Code Context (Editor Window only)" -msgstr "" +msgstr "Show/Hide Code Context (somente janela do Editor)" -#: ../../library/idle.rst:310 +#: ../../library/idle.rst:308 msgid "" "Open a pane at the top of the edit window which shows the block context of " "the code which has scrolled above the top of the window. See :ref:`Code " "Context ` in the Editing and Navigation section below." msgstr "" +"Abre um painel no topo da janela de edição que mostra o contexto de bloco de " +"código exibido no topo da janela. Veja :ref:`Contexto de código ` na seção de Edição e navegação abaixo." -#: ../../library/idle.rst:318 +#: ../../library/idle.rst:316 msgid "Show/Hide Line Numbers (Editor Window only)" -msgstr "" +msgstr "Show/Hide Line Numbers (somente janela do Editor)" -#: ../../library/idle.rst:316 +#: ../../library/idle.rst:314 msgid "" "Open a column to the left of the edit window which shows the number of each " "line of text. The default is off, which may be changed in the preferences " "(see :ref:`Setting preferences `)." msgstr "" +"Abre uma coluna à esquerda da janela de edição que mostra o número de cada " +"linha de texto. Por padrão, está desligado, o que pode ser alterado nas " +"preferências (veja :ref:`Configurando preferências `)." -#: ../../library/idle.rst:326 +#: ../../library/idle.rst:324 msgid "Zoom/Restore Height" -msgstr "" +msgstr "Zoom/Restore Height" -#: ../../library/idle.rst:321 +#: ../../library/idle.rst:319 msgid "" "Toggles the window between normal size and maximum height. The initial size " "defaults to 40 lines by 80 chars unless changed on the General tab of the " @@ -674,242 +788,273 @@ msgid "" "Changing screen settings may invalidate the saved height. This toggle has " "no effect when a window is maximized." msgstr "" +"Alterna a janela entre o tamanho normal e a altura máxima. O tamanho inicial " +"é predefinido para 40 linhas por 80 caracteres, a menos que seja alterado na " +"General da caixa de diálogo Configure IDLE. A altura máxima de uma tela é " +"determinada ao maximizar momentaneamente uma janela pela primeira vez que " +"ela é ampliada na tela. Alterar as configurações da tela pode invalidar a " +"altura salva. Este alternar não tem efeito quando uma janela está maximizada." -#: ../../library/idle.rst:329 +#: ../../library/idle.rst:327 msgid "Window menu (Shell and Editor)" -msgstr "" +msgstr "Menu Window (Shell e Editor)" -#: ../../library/idle.rst:331 +#: ../../library/idle.rst:329 msgid "" "Lists the names of all open windows; select one to bring it to the " "foreground (deiconifying it if necessary)." msgstr "" +"Lista os nomes de todas as janelas abertas; selecione uma para trazê-la ao " +"primeiro plano (restaurando-a, se necessário)." -#: ../../library/idle.rst:335 +#: ../../library/idle.rst:333 msgid "Help menu (Shell and Editor)" -msgstr "" +msgstr "Menu Help (Shell e Editor)" -#: ../../library/idle.rst:338 +#: ../../library/idle.rst:336 msgid "About IDLE" -msgstr "" +msgstr "About IDLE" -#: ../../library/idle.rst:338 +#: ../../library/idle.rst:336 msgid "Display version, copyright, license, credits, and more." -msgstr "" +msgstr "Exibe versão, direitos de autor, licença, créditos e mais." -#: ../../library/idle.rst:342 +#: ../../library/idle.rst:340 msgid "IDLE Help" -msgstr "" +msgstr "IDLE Help" -#: ../../library/idle.rst:341 +#: ../../library/idle.rst:339 msgid "" "Display this IDLE document, detailing the menu options, basic editing and " "navigation, and other tips." msgstr "" +"Exibe este documento do IDLE, detalhando as opções de menu, edição básica e " +"navegação, e outras dicas." -#: ../../library/idle.rst:346 +#: ../../library/idle.rst:344 msgid "Python Docs" -msgstr "Documentação do Python" +msgstr "Python Docs" -#: ../../library/idle.rst:345 +#: ../../library/idle.rst:343 msgid "" "Access local Python documentation, if installed, or start a web browser and " "open docs.python.org showing the latest Python documentation." msgstr "" +"Acessa a documentação local do Python, se instalada, ou inicia um navegador " +"web e abre docs.python.org mostrando a documentação mais recente do Python." -#: ../../library/idle.rst:349 +#: ../../library/idle.rst:347 msgid "Turtle Demo" -msgstr "Demonstração com o Turtle" +msgstr "Turtle Demo" -#: ../../library/idle.rst:349 +#: ../../library/idle.rst:347 msgid "Run the turtledemo module with example Python code and turtle drawings." msgstr "" +"Executa o módulo turtledemo com exemplos de código Python e gráficos de " +"tartaruga." -#: ../../library/idle.rst:351 +#: ../../library/idle.rst:349 msgid "" "Additional help sources may be added here with the Configure IDLE dialog " "under the General tab. See the :ref:`Help sources ` subsection " "below for more on Help menu choices." msgstr "" +"Fontes de ajuda adicionais podem ser adicionadas aqui com a caixa de diálogo " +"Configure IDLE na aba General. Veja a subsecção :ref:`Fontes de ajuda ` abaixo para mais informações sobre as escolhas do menu Help." -#: ../../library/idle.rst:364 +#: ../../library/idle.rst:362 msgid "Context menus" -msgstr "" +msgstr "Menus de contexto" -#: ../../library/idle.rst:366 +#: ../../library/idle.rst:364 msgid "" "Open a context menu by right-clicking in a window (Control-click on macOS). " "Context menus have the standard clipboard functions also on the Edit menu." msgstr "" +"Abra um menu de contexto clicando com o botão direito em uma janela " +"(Control+clique no macOS). Os menus de contexto também têm as funções padrão " +"da área de transferências no menu Edit." -#: ../../library/idle.rst:378 +#: ../../library/idle.rst:376 msgid "" "Editor windows also have breakpoint functions. Lines with a breakpoint set " "are specially marked. Breakpoints only have an effect when running under " "the debugger. Breakpoints for a file are saved in the user's ``.idlerc`` " "directory." msgstr "" +"As janelas do Editor também têm funções de ponto de interrupção. As linhas " +"com um ponto de interrupção definido são especialmente destacadas. Os pontos " +"de interrupção só têm efeito quando executados no depurador. Os pontos de " +"interrupção de um ficheiro são guardados no diretório ``.idlerc`` do usuário." -#: ../../library/idle.rst:384 ../../library/idle.rst:355 +#: ../../library/idle.rst:353 ../../library/idle.rst:382 msgid "Set Breakpoint" -msgstr "" +msgstr "Set Breakpoint" -#: ../../library/idle.rst:384 +#: ../../library/idle.rst:382 msgid "Set a breakpoint on the current line." -msgstr "" +msgstr "Define um ponto de interrupção na linha atual." -#: ../../library/idle.rst:387 ../../library/idle.rst:355 +#: ../../library/idle.rst:353 ../../library/idle.rst:385 msgid "Clear Breakpoint" -msgstr "" +msgstr "Clear Breakpoint" -#: ../../library/idle.rst:387 +#: ../../library/idle.rst:385 msgid "Clear the breakpoint on that line." -msgstr "" +msgstr "Limpa o ponto de interrupção da linha." -#: ../../library/idle.rst:389 +#: ../../library/idle.rst:387 msgid "Shell and Output windows also have the following." -msgstr "" +msgstr "As janelas Shell e de saída também têm os seguintes menus de contexto." -#: ../../library/idle.rst:392 +#: ../../library/idle.rst:390 msgid "Go to file/line" -msgstr "" +msgstr "Go to file/line" -#: ../../library/idle.rst:392 +#: ../../library/idle.rst:390 msgid "Same as in Debug menu." -msgstr "" +msgstr "Igual ao menu Debug." -#: ../../library/idle.rst:394 +#: ../../library/idle.rst:392 msgid "" "The Shell window also has an output squeezing facility explained in the " "*Python Shell window* subsection below." msgstr "" +"A janela Shell também tem uma funcionalidade de compressão de saída " +"explicada na subsecção *Janela Shell Python* abaixo." -#: ../../library/idle.rst:400 +#: ../../library/idle.rst:398 msgid "Squeeze" -msgstr "" +msgstr "Squeeze" -#: ../../library/idle.rst:398 +#: ../../library/idle.rst:396 msgid "" "If the cursor is over an output line, squeeze all the output between the " "code above and the prompt below down to a 'Squeezed text' label." msgstr "" +"Se o cursor estiver sobre uma linha de saída, comprime toda a saída entre o " +"código acima e o prompt abaixo em um rótulo 'Squeezed text'." -#: ../../library/idle.rst:405 +#: ../../library/idle.rst:403 msgid "Editing and Navigation" -msgstr "" +msgstr "Edição e navegação" -#: ../../library/idle.rst:408 +#: ../../library/idle.rst:406 msgid "Editor windows" -msgstr "" +msgstr "Janelas do Editor" -#: ../../library/idle.rst:410 +#: ../../library/idle.rst:408 msgid "" "IDLE may open editor windows when it starts, depending on settings and how " "you start IDLE. Thereafter, use the File menu. There can be only one open " "editor window for a given file." msgstr "" +"O IDLE pode abrir janelas de editor ao iniciar, dependendo das configurações " +"e de como é iniciado. Depois, use o menu File. Só pode haver uma janela de " +"editor aberta para um determinado arquivo." -#: ../../library/idle.rst:414 +#: ../../library/idle.rst:412 msgid "" "The title bar contains the name of the file, the full path, and the version " "of Python and IDLE running the window. The status bar contains the line " "number ('Ln') and column number ('Col'). Line numbers start with 1; column " "numbers with 0." msgstr "" +"A barra de título contém o nome do arquivo, o caminho completo e as versões " +"do Python e do IDLE que estão sendo executadas na janela. A barra de estado " +"contém o número da linha ('Ln') e o da coluna ('Col'). Os números de linha " +"começam em 1; os de coluna, em 0." -#: ../../library/idle.rst:419 +#: ../../library/idle.rst:417 msgid "" "IDLE assumes that files with a known .py* extension contain Python code and " "that other files do not. Run Python code with the Run menu." msgstr "" +"O IDLE presume que os arquivos com uma extensão .py* conhecida contêm " +"código Python e que os demais não contêm. Execute o código Python pelo menu " +"Run." -#: ../../library/idle.rst:423 +#: ../../library/idle.rst:421 msgid "Key bindings" msgstr "Teclas de atalho" -#: ../../library/idle.rst:425 +#: ../../library/idle.rst:423 msgid "" -"In this section, 'C' refers to the :kbd:`Control` key on Windows and Unix " -"and the :kbd:`Command` key on macOS." +"The IDLE insertion cursor is a thin vertical bar between character " +"positions. When characters are entered, the insertion cursor and everything " +"to its right moves right one character and the new character is entered in " +"the new space." msgstr "" +"O cursor de inserção do IDLE é uma barra vertical fina entre posições de " +"caracteres. Quando os caracteres são introduzidos, o cursor de inserção e " +"tudo o que estiver à sua direita movem-se uma posição para a direita, e o " +"novo carácter é inserido no espaço criado." #: ../../library/idle.rst:428 -msgid ":kbd:`Backspace` deletes to the left; :kbd:`Del` deletes to the right" -msgstr "" - -#: ../../library/idle.rst:430 msgid "" -":kbd:`C-Backspace` delete word left; :kbd:`C-Del` delete word to the right" +"Several non-character keys move the cursor and possibly delete characters. " +"Deletion does not puts text on the clipboard, but IDLE has an undo list. " +"Wherever this doc discusses keys, 'C' refers to the :kbd:`Control` key on " +"Windows and Unix and the :kbd:`Command` key on macOS. (And all such " +"dicussions assume that the keys have not been re-bound to something else.)" msgstr "" -#: ../../library/idle.rst:432 -msgid "Arrow keys and :kbd:`Page Up`/:kbd:`Page Down` to move around" -msgstr "" +#: ../../library/idle.rst:435 +msgid "Arrow keys move the cursor one character or line." +msgstr "As teclas de seta movem o cursor um caractere ou uma linha." -#: ../../library/idle.rst:434 -msgid ":kbd:`C-LeftArrow` and :kbd:`C-RightArrow` moves by words" +#: ../../library/idle.rst:437 +msgid "" +":kbd:`C-LeftArrow` and :kbd:`C-RightArrow` moves left or right one word." msgstr "" +":kbd:`C-Seta-para-esquerda` e :kbd:`C-Seta-para-direita` movem uma palavra " +"para a esquerda ou para a direita." -#: ../../library/idle.rst:436 -msgid ":kbd:`Home`/:kbd:`End` go to begin/end of line" -msgstr "" +#: ../../library/idle.rst:439 +msgid ":kbd:`Home` and :kbd:`End` go to the beginning or end of the line." +msgstr ":kbd:`Home` e :kbd:`End` vão para o início ou fim da linha." -#: ../../library/idle.rst:438 -msgid ":kbd:`C-Home`/:kbd:`C-End` go to begin/end of file" -msgstr "" +#: ../../library/idle.rst:441 +msgid ":kbd:`Page Up` and :kbd:`Page Down` go up or down one screen." +msgstr ":kbd:`Page Up` e :kbd:`Page Down` sobem ou descem uma tela." -#: ../../library/idle.rst:440 -msgid "Some useful Emacs bindings are inherited from Tcl/Tk:" -msgstr "" - -#: ../../library/idle.rst:442 -msgid ":kbd:`C-a` beginning of line" -msgstr "" +#: ../../library/idle.rst:443 +msgid ":kbd:`C-Home` and :kbd:`C-End` go to beginning or end of the file." +msgstr ":kbd:`C-Home` e :kbd:`C-End` vão para o início ou fim do arquivo." -#: ../../library/idle.rst:444 -msgid ":kbd:`C-e` end of line" -msgstr "" - -#: ../../library/idle.rst:446 -msgid ":kbd:`C-k` kill line (but doesn't put it in clipboard)" +#: ../../library/idle.rst:445 +msgid "" +":kbd:`Backspace` and :kbd:`Del` (or :kbd:`C-d`) delete the previous or next " +"character." msgstr "" +":kbd:`Backspace` e :kbd:`Del` (ou :kbd:`C-d`) apagam o caractere anterior ou " +"seguinte." #: ../../library/idle.rst:448 -msgid ":kbd:`C-l` center window around the insertion point" +msgid ":kbd:`C-Backspace` and :kbd:`C-Del` delete one word left or right." msgstr "" +":kbd:`C-Backspace` e :kbd:`C-Del` apagam uma palavra para a esquerda ou para " +"a direita." #: ../../library/idle.rst:450 -msgid "" -":kbd:`C-b` go backward one character without deleting (usually you can also " -"use the cursor key for this)" -msgstr "" +msgid ":kbd:`C-k` deletes ('kills') everything to the right." +msgstr ":kbd:`C-k` apaga ('mata') tudo à direita." -#: ../../library/idle.rst:453 -msgid "" -":kbd:`C-f` go forward one character without deleting (usually you can also " -"use the cursor key for this)" -msgstr "" - -#: ../../library/idle.rst:456 -msgid "" -":kbd:`C-p` go up one line (usually you can also use the cursor key for this)" -msgstr "" - -#: ../../library/idle.rst:459 -msgid ":kbd:`C-d` delete next character" -msgstr "" - -#: ../../library/idle.rst:461 +#: ../../library/idle.rst:452 msgid "" "Standard keybindings (like :kbd:`C-c` to copy and :kbd:`C-v` to paste) may " "work. Keybindings are selected in the Configure IDLE dialog." msgstr "" +"As associações de teclas padrão (como :kbd:`C-c` para copiar e :kbd:`C-v` " +"para colar) podem funcionar. As associações de teclas são selecionadas na " +"caixa de diálogo Configure IDLE." -#: ../../library/idle.rst:465 +#: ../../library/idle.rst:456 msgid "Automatic indentation" -msgstr "" +msgstr "Indentação automática" -#: ../../library/idle.rst:467 +#: ../../library/idle.rst:458 msgid "" "After a block-opening statement, the next line is indented by 4 spaces (in " "the Python Shell window by one tab). After certain keywords (break, return " @@ -918,100 +1063,155 @@ msgid "" "Python Shell window one tab), number depends on Indent width. Currently, " "tabs are restricted to four spaces due to Tcl/Tk limitations." msgstr "" +"Depois de uma instrução de abertura de bloco, a linha seguinte é indentada " +"por 4 espaços (na janela do console do Python por uma tabulação). Depois de " +"certas palavras-chave (como break, return etc.), a linha seguinte é " +"desindentada. Na indentação inicial, :kbd:`Backspace` apaga até 4 espaços se " +"houver. :kbd:`Tab` insere espaços (na janela do console do Python, uma " +"tabulação), o número depende da largura de indentação. Atualmente, as " +"tabulações estão limitadas a quatro espaços devido a limitações do Tcl/Tk." -#: ../../library/idle.rst:474 +#: ../../library/idle.rst:465 msgid "" "See also the indent/dedent region commands on the :ref:`Format menu `." msgstr "" +"Veja também os comandos de indentar/desindentar região no :ref:`menu Format " +"`." -#: ../../library/idle.rst:478 +#: ../../library/idle.rst:469 msgid "Search and Replace" -msgstr "Busca e Substituição" +msgstr "Busca e substituição" -#: ../../library/idle.rst:480 +#: ../../library/idle.rst:471 msgid "" "Any selection becomes a search target. However, only selections within a " "line work because searches are only performed within lines with the terminal " -"newline removed. If ``[x] Regular expresion`` is checked, the target is " +"newline removed. If ``[x] Regular expression`` is checked, the target is " "interpreted according to the Python re module." msgstr "" +"Qualquer seleção torna-se um alvo de pesquisa. No entanto, apenas seleções " +"dentro de uma linha funcionam, pois as pesquisas são realizadas apenas " +"dentro de linhas, com a quebra ao final removida. Se ``[x] Regular " +"expression`` estiver marcada, o alvo é interpretado de acordo com o módulo " +"re do Python." -#: ../../library/idle.rst:488 +#: ../../library/idle.rst:479 msgid "Completions" -msgstr "" +msgstr "Autocomplementos" -#: ../../library/idle.rst:490 +#: ../../library/idle.rst:481 msgid "" "Completions are supplied, when requested and available, for module names, " "attributes of classes or functions, or filenames. Each request method " "displays a completion box with existing names. (See tab completions below " "for an exception.) For any box, change the name being completed and the item " -"highlighted in the box by typing and deleting characters; by hitting :kbd:" -"`Up`, :kbd:`Down`, :kbd:`PageUp`, :kbd:`PageDown`, :kbd:`Home`, and :kbd:" -"`End` keys; and by a single click within the box. Close the box with :kbd:" -"`Escape`, :kbd:`Enter`, and double :kbd:`Tab` keys or clicks outside the " -"box. A double click within the box selects and closes." -msgstr "" - -#: ../../library/idle.rst:501 +"highlighted in the box by typing and deleting characters; by " +"hitting :kbd:`Up`, :kbd:`Down`, :kbd:`PageUp`, :kbd:`PageDown`, :kbd:`Home`, " +"and :kbd:`End` keys; and by a single click within the box. Close the box " +"with :kbd:`Escape`, :kbd:`Enter`, and double :kbd:`Tab` keys or clicks " +"outside the box. A double click within the box selects and closes." +msgstr "" +"Os autocomplementos são fornecidos, quando solicitados e disponíveis, para " +"nomes de módulos, atributos de classes ou funções, ou nomes de arquivos. " +"Cada método de solicitação exibe uma caixa de complementos com os nomes " +"disponíveis. (Veja os complementos de tabulação abaixo para uma exceção.) " +"Para qualquer caixa, altere o nome que está a ser completado e o item " +"realçado na caixa digitando e apagando caracteres; pressionando as " +"teclas :kbd:`Up`, :kbd:`Down`, :kbd:`PageUp`, :kbd:`PageDown`, :kbd:`Home` " +"e :kbd:`End`; e com um clique simples dentro da caixa. Feche a caixa com as " +"teclas :kbd:`Escape`, :kbd:`Enter` e duplo :kbd:`Tab` ou cliques fora da " +"caixa. Um duplo clique dentro da caixa seleciona e fecha." + +#: ../../library/idle.rst:492 msgid "" "One way to open a box is to type a key character and wait for a predefined " "interval. This defaults to 2 seconds; customize it in the settings dialog. " "(To prevent auto popups, set the delay to a large number of milliseconds, " "such as 100000000.) For imported module names or class or function " -"attributes, type '.'. For filenames in the root directory, type :data:`os." -"sep` or :data:`os.altsep` immediately after an opening quote. (On Windows, " -"one can specify a drive first.) Move into subdirectories by typing a " -"directory name and a separator." -msgstr "" - -#: ../../library/idle.rst:511 +"attributes, type '.'. For filenames in the root directory, " +"type :data:`os.sep` or :data:`os.altsep` immediately after an opening " +"quote. (On Windows, one can specify a drive first.) Move into " +"subdirectories by typing a directory name and a separator." +msgstr "" +"Uma forma de abrir uma caixa é pressionar uma tecla de caractere e aguardar " +"um intervalo predefinido. Isto é predefinido para 2 segundos; personalize-o " +"na caixa de diálogo de configurações. (Para evitar pop-ups automáticos, " +"defina o atraso para um valor muito alto, como 100000000.) Para nomes de " +"módulos importados, atributos de classes ou de funções, digite '.'. Para " +"nomes de arquivos no diretório raiz, digite :data:`os.sep` " +"ou :data:`os.altsep` imediatamente após uma aspa de abertura. (No Windows, " +"pode-se especificar uma unidade antes.) Mova-se para subdiretórios digitando " +"um nome de diretório seguido de um separador." + +#: ../../library/idle.rst:502 msgid "" "Instead of waiting, or after a box is closed, open a completion box " -"immediately with Show Completions on the Edit menu. The default hot key is :" -"kbd:`C-space`. If one types a prefix for the desired name before opening " -"the box, the first match or near miss is made visible. The result is the " -"same as if one enters a prefix after the box is displayed. Show Completions " -"after a quote completes filenames in the current directory instead of a root " -"directory." -msgstr "" - -#: ../../library/idle.rst:519 +"immediately with Show Completions on the Edit menu. The default hot key " +"is :kbd:`C-space`. If one types a prefix for the desired name before " +"opening the box, the first match or near miss is made visible. The result is " +"the same as if one enters a prefix after the box is displayed. Show " +"Completions after a quote completes filenames in the current directory " +"instead of a root directory." +msgstr "" +"Em vez de esperar, ou depois de uma caixa ser fechada, abra uma caixa de " +"autocomplemento imediatamente com Show Completions no menu Edit. A tecla de " +"atalho predefinida é :kbd:`C-space`. Se digitar um prefixo para o nome " +"desejado antes de abrir a caixa, a primeira correspondência ou quase " +"correspondência torna-se visível. O resultado é o mesmo que inserir um " +"prefixo depois que a caixa é exibida. Show Completions depois de uma aspa " +"completa nomes de arquivos no diretório atual em vez do diretório raiz." + +#: ../../library/idle.rst:510 msgid "" "Hitting :kbd:`Tab` after a prefix usually has the same effect as Show " "Completions. (With no prefix, it indents.) However, if there is only one " "match to the prefix, that match is immediately added to the editor text " "without opening a box." msgstr "" +"Pressionar :kbd:`Tab` após um prefixo geralmente tem o mesmo efeito que Show " +"Completions. (Sem prefixo, faz indentação.) No entanto, se houver apenas uma " +"correspondência para o prefixo, ela é imediatamente adicionada ao texto do " +"editor, sem abrir uma caixa." -#: ../../library/idle.rst:524 +#: ../../library/idle.rst:515 msgid "" "Invoking 'Show Completions', or hitting :kbd:`Tab` after a prefix, outside " "of a string and without a preceding '.' opens a box with keywords, builtin " "names, and available module-level names." msgstr "" +"Invocar 'Show Completions', ou pressionar :kbd:`Tab` após um prefixo, fora " +"de uma string e sem um '.' anterior, abre uma caixa com palavras reservadas, " +"nomes embutidos e nomes disponíveis ao nível do módulo." -#: ../../library/idle.rst:528 +#: ../../library/idle.rst:519 msgid "" "When editing code in an editor (as oppose to Shell), increase the available " "module-level names by running your code and not restarting the Shell " "thereafter. This is especially useful after adding imports at the top of a " "file. This also increases possible attribute completions." msgstr "" +"Ao editar código em um editor (em oposição à Shell), expanda os nomes " +"disponíveis ao nível do módulo executando o seu código e não reiniciando a " +"Shell depois disso. Isto é especialmente útil depois de adicionar " +"importações no topo de um arquivo. Isto também amplia os possíveis " +"complementos de atributos." -#: ../../library/idle.rst:534 +#: ../../library/idle.rst:525 msgid "" "Completion boxes initially exclude names beginning with '_' or, for modules, " "not included in '__all__'. The hidden names can be accessed by typing '_' " "after '.', either before or after the box is opened." msgstr "" +"As caixas de autocomplemento excluem inicialmente nomes que começam com '_' " +"ou, para módulos, não incluídos em '__all__'. Os nomes ocultos podem ser " +"acessados digitando '_' depois de '.', antes ou depois da caixa ser aberta." -#: ../../library/idle.rst:541 +#: ../../library/idle.rst:532 msgid "Calltips" -msgstr "" +msgstr "Dicas de chamada" -#: ../../library/idle.rst:543 +#: ../../library/idle.rst:534 msgid "" "A calltip is shown automatically when one types :kbd:`(` after the name of " "an *accessible* function. A function name expression may include dots and " @@ -1020,8 +1220,15 @@ msgid "" "argument part of a definition, select Edit and \"Show Call Tip\" on the menu " "or enter its shortcut to display a calltip." msgstr "" +"Uma dica de chamada é exibida automaticamente quando se digita :kbd:`(` após " +"o nome de uma função *acessível*. Uma expressão de nome de função pode " +"incluir pontos e índices. Uma dica de chamada permanece até ser clicada, o " +"cursor ser movido para fora da área de argumentos, ou :kbd:`)` ser digitado. " +"Sempre que o cursor estiver na parte de argumentos de uma definição, " +"selecione Edit e \"Show Call Tip\" no menu ou insira o seu atalho para " +"exibir uma dica de chamada." -#: ../../library/idle.rst:550 +#: ../../library/idle.rst:541 msgid "" "The calltip consists of the function's signature and docstring up to the " "latter's first blank line or the fifth non-blank line. (Some builtin " @@ -1029,15 +1236,24 @@ msgid "" "indicates that the preceding or following arguments are passed by position " "or name (keyword) only. Details are subject to change." msgstr "" +"A dica de chamada consiste na assinatura da função e na string de " +"documentação até a primeira linha em branco desta ou a quinta linha não em " +"branco. (Algumas funções embutidas não têm uma assinatura acessível.) Uma " +"'/' ou '*' na assinatura indica que os argumentos precedentes ou seguintes " +"são passados apenas por posição ou nome (palavra-chave). Os detalhes estão " +"sujeitos a alterações." -#: ../../library/idle.rst:556 +#: ../../library/idle.rst:547 msgid "" "In Shell, the accessible functions depends on what modules have been " "imported into the user process, including those imported by Idle itself, and " "which definitions have been run, all since the last restart." msgstr "" +"Na Shell, as funções acessíveis dependem de quais módulos foram importados " +"para o processo do usuário, incluindo aqueles importados pelo próprio IDLE, " +"e quais definições foram executadas, tudo desde o último reinício." -#: ../../library/idle.rst:560 +#: ../../library/idle.rst:551 msgid "" "For example, restart the Shell and enter ``itertools.count(``. A calltip " "appears because Idle imports itertools into the user process for its own " @@ -1046,19 +1262,29 @@ msgid "" "nothing. Enter ``import turtle``. Thereafter, ``turtle.write(`` will " "display a calltip." msgstr "" +"Por exemplo, reinicie a Shell e introduza ``itertools.count(``. Uma dica de " +"chamada aparece porque o IDLE importa itertools para o processo do " +"utilizador para o seu próprio uso. (Isto pode mudar.) Introduza " +"``turtle.write(`` e nada aparece. O IDLE não importa turtle por si só. A " +"entrada de menu e o atalho também não fazem nada. Introduza ``import " +"turtle``. Depois disso, ``turtle.write(`` exibirá uma dica de chamada." -#: ../../library/idle.rst:567 +#: ../../library/idle.rst:558 msgid "" "In an editor, import statements have no effect until one runs the file. One " "might want to run a file after writing import statements, after adding " "function definitions, or after opening an existing file." msgstr "" +"Num editor, as instruções de importação não têm efeito até que o arquivo " +"seja executado. Pode-se querer executar um arquivo depois de escrever " +"instruções de importação, depois de adicionar definições de funções, ou " +"depois de abrir um arquivo existente." -#: ../../library/idle.rst:574 +#: ../../library/idle.rst:565 msgid "Code Context" -msgstr "" +msgstr "Contexto de código" -#: ../../library/idle.rst:576 +#: ../../library/idle.rst:567 msgid "" "Within an editor window containing Python code, code context can be toggled " "in order to show or hide a pane at the top of the window. When shown, this " @@ -1071,32 +1297,53 @@ msgid "" "will display. Clicking on a line in the context pane will move that line to " "the top of the editor." msgstr "" +"Dentro de uma janela de editor contendo código Python, o contexto de código " +"pode ser alternado para mostrar ou ocultar um painel no topo da janela. " +"Quando mostrado, este painel congela as linhas de abertura para código de " +"bloco, como aquelas que começam com as palavras-chave ``class``, ``def`` ou " +"``if``, que de outra forma poderia passar despercebido em uma rolagem de " +"página. O tamanho do painel será expandido e contraído conforme necessário " +"para mostrar todos os níveis atuais de contexto, até ao número máximo de " +"linhas definido na caixa de diálogo Configure IDLE (que é 15 por padrão). Se " +"não houver linhas de contexto atuais e a funcionalidade for ativada, uma " +"única linha em branco será exibida. Clicar numa linha no painel de contexto " +"moverá essa linha para o topo do editor." -#: ../../library/idle.rst:587 +#: ../../library/idle.rst:578 msgid "" "The text and background colors for the context pane can be configured under " "the Highlights tab in the Configure IDLE dialog." msgstr "" +"As cores de texto e fundo para o painel de contexto podem ser configuradas " +"no separador Highlights na caixa de diálogo Configure IDLE." -#: ../../library/idle.rst:591 +#: ../../library/idle.rst:582 msgid "Shell window" -msgstr "" +msgstr "Janela Shell" -#: ../../library/idle.rst:593 +#: ../../library/idle.rst:584 msgid "" "In IDLE's Shell, enter, edit, and recall complete statements. (Most consoles " "and terminals only work with a single physical line at a time)." msgstr "" +"Na Shell do IDLE, introduza, edite e recupere instruções completas. (A " +"maioria dos terminais e consolas só funciona com uma única linha física de " +"cada vez)." -#: ../../library/idle.rst:596 +#: ../../library/idle.rst:587 msgid "" "Submit a single-line statement for execution by hitting :kbd:`Return` with " -"the cursor anywhere on the line. If a line is extended with Backslash (:kbd:" -"`\\\\`), the cursor must be on the last physical line. Submit a multi-line " -"compound statement by entering a blank line after the statement." +"the cursor anywhere on the line. If a line is extended with Backslash " +"(:kbd:`\\\\`), the cursor must be on the last physical line. Submit a multi-" +"line compound statement by entering a blank line after the statement." msgstr "" +"Envie uma instrução de linha única para execução pressionando :kbd:`Return` " +"com o cursor em qualquer lugar na linha. Se uma linha for estendida com " +"barra invertida (:kbd:`\\\\`), o cursor deve estar na última linha física. " +"Envie uma instrução composta de várias linhas inserindo uma linha em branco " +"após a instrução." -#: ../../library/idle.rst:602 +#: ../../library/idle.rst:593 msgid "" "When one pastes code into Shell, it is not compiled and possibly executed " "until one hits :kbd:`Return`, as specified above. One may edit pasted code " @@ -1104,59 +1351,65 @@ msgid "" "a :exc:`SyntaxError` when multiple statements are compiled as if they were " "one." msgstr "" +"Quando se cola código na Shell, ele não é compilado e possivelmente " +"executado até que se pressione :kbd:`Return`, como especificado acima. Pode-" +"se editar o código colado primeiro. Se colar mais do que uma instrução na " +"Shell, o resultado será um :exc:`SyntaxError` quando várias instruções são " +"compiladas como se fossem uma." -#: ../../library/idle.rst:608 +#: ../../library/idle.rst:599 msgid "" "Lines containing ``RESTART`` mean that the user execution process has been " "re-started. This occurs when the user execution process has crashed, when " "one requests a restart on the Shell menu, or when one runs code in an editor " "window." msgstr "" +"Linhas contendo ``RESTART`` significam que o processo de execução do usuário " +"foi reiniciado. Isto ocorre quando o processo de execução do usuário falhou, " +"quando se solicita um reinício no menu Shell, ou quando se executa código " +"numa janela do editor." -#: ../../library/idle.rst:613 +#: ../../library/idle.rst:604 msgid "" "The editing features described in previous subsections work when entering " -"code interactively. IDLE's Shell window also responds to the following keys." +"code interactively. IDLE's Shell window also responds to the following:" msgstr "" +"As funcionalidades de edição descritas nas subsecções anteriores funcionam " +"ao introduzir código interativamente. A janela Shell do IDLE também responde " +"ao seguinte:" -#: ../../library/idle.rst:616 -msgid ":kbd:`C-c` interrupts executing command" +#: ../../library/idle.rst:607 +msgid ":kbd:`C-c` attempts to interrupt statement execution (but may fail)." msgstr "" +":kbd:`C-c` tenta interromper a execução da instrução (mas pode falhar)." -#: ../../library/idle.rst:618 -msgid "" -":kbd:`C-d` sends end-of-file; closes window if typed at a ``>>>`` prompt" -msgstr "" +#: ../../library/idle.rst:609 +msgid ":kbd:`C-d` closes Shell if typed at a ``>>>`` prompt." +msgstr ":kbd:`C-d` fecha a Shell se digitado num prompt ``>>>``." -#: ../../library/idle.rst:620 -msgid ":kbd:`Alt-/` (Expand word) is also useful to reduce typing" -msgstr "" - -#: ../../library/idle.rst:622 -msgid "Command history" -msgstr "" - -#: ../../library/idle.rst:624 +#: ../../library/idle.rst:611 msgid "" -":kbd:`Alt-p` retrieves previous command matching what you have typed. On " -"macOS use :kbd:`C-p`." +":kbd:`Alt-p` and :kbd:`Alt-n` (:kbd:`C-p` and :kbd:`C-n` on macOS) retrieve " +"to the current prompt the previous or next previously entered statement that " +"matches anything already typed." msgstr "" +":kbd:`Alt-p` e :kbd:`Alt-n` (:kbd:`C-p` e :kbd:`C-n` no macOS) recuperam " +"para o prompt atual a instrução anterior ou seguinte anteriormente " +"introduzida que corresponda a algo já digitado." -#: ../../library/idle.rst:627 -msgid ":kbd:`Alt-n` retrieves next. On macOS use :kbd:`C-n`." -msgstr "" - -#: ../../library/idle.rst:629 +#: ../../library/idle.rst:615 msgid "" -":kbd:`Return` while the cursor is on any previous command retrieves that " -"command" +":kbd:`Return` while the cursor is on any previous statement appends the " +"latter to anything already typed at the prompt." msgstr "" +":kbd:`Return` enquanto o cursor está em qualquer instrução anterior anexa " +"esta ao que já foi digitado no prompt." -#: ../../library/idle.rst:633 +#: ../../library/idle.rst:619 msgid "Text colors" -msgstr "" +msgstr "Cores de texto" -#: ../../library/idle.rst:635 +#: ../../library/idle.rst:621 msgid "" "Idle defaults to black on white text, but colors text with special meanings. " "For the shell, these are shell output, shell error, user output, and user " @@ -1165,41 +1418,66 @@ msgid "" "``def``, strings, and comments. For any text window, these are the cursor " "(when present), found text (when possible), and selected text." msgstr "" +"Por padrão, o Idle usa preto em texto branco, mas colore texto com " +"significados especiais. Para a shell, isso significa saída e erros da shell, " +"saída e erros do usuário. Para código Python, no prompt da shell ou em um " +"editor, isso significa palavras-chave, nomes de classes e funções embutidas, " +"nomes seguidos de ``class`` e ``def``, strings e comentários. Para qualquer " +"janela de texto, são o cursor (quando presente), texto encontrado (quando " +"possível) e texto selecionado." -#: ../../library/idle.rst:642 +#: ../../library/idle.rst:628 msgid "" -"IDLE also highlights the :ref:`soft keywords ` :keyword:" -"`match`, :keyword:`case `, and :keyword:`_ ` in " -"pattern-matching statements. However, this highlighting is not perfect and " -"will be incorrect in some rare cases, including some ``_``-s in ``case`` " -"patterns." +"IDLE also highlights the :ref:`soft keywords ` :keyword:`match`, :keyword:`case `, and :keyword:`_ " +"` in pattern-matching statements. However, this " +"highlighting is not perfect and will be incorrect in some rare cases, " +"including some ``_``-s in ``case`` patterns." msgstr "" +"O IDLE também destaca as :ref:`palavras reservadas suaves ` :keyword:`match`, :keyword:`case `, e :keyword:`_ " +"` em declarações de correspondência de padrões. No " +"entanto, este destaque não é perfeito e estará incorreto em alguns casos " +"raros, incluindo alguns ``_``-s em padrões de ``case``." -#: ../../library/idle.rst:648 +#: ../../library/idle.rst:634 msgid "" "Text coloring is done in the background, so uncolorized text is occasionally " "visible. To change the color scheme, use the Configure IDLE dialog " "Highlighting tab. The marking of debugger breakpoint lines in the editor " "and text in popups and dialogs is not user-configurable." msgstr "" +"A coloração do texto é feita em segundo plano, por isso, ocasionalmente, é " +"possível ver partes do texto sem cor. Para alterar o esquema de cores, use " +"a aba Highlighting na caixa de diálogo Configure IDLE. A marcação de linhas " +"de ponto de interrupção do depurador no editor e texto em pop-ups e caixas " +"de diálogo não é configurável pelo usuário." -#: ../../library/idle.rst:655 +#: ../../library/idle.rst:641 msgid "Startup and Code Execution" -msgstr "" +msgstr "Inicialização e execução de código" -#: ../../library/idle.rst:657 +#: ../../library/idle.rst:643 msgid "" "Upon startup with the ``-s`` option, IDLE will execute the file referenced " -"by the environment variables :envvar:`IDLESTARTUP` or :envvar:" -"`PYTHONSTARTUP`. IDLE first checks for ``IDLESTARTUP``; if ``IDLESTARTUP`` " -"is present the file referenced is run. If ``IDLESTARTUP`` is not present, " -"IDLE checks for ``PYTHONSTARTUP``. Files referenced by these environment " -"variables are convenient places to store functions that are used frequently " -"from the IDLE shell, or for executing import statements to import common " -"modules." -msgstr "" - -#: ../../library/idle.rst:665 +"by the environment variables :envvar:`IDLESTARTUP` " +"or :envvar:`PYTHONSTARTUP`. IDLE first checks for ``IDLESTARTUP``; if " +"``IDLESTARTUP`` is present the file referenced is run. If ``IDLESTARTUP`` " +"is not present, IDLE checks for ``PYTHONSTARTUP``. Files referenced by " +"these environment variables are convenient places to store functions that " +"are used frequently from the IDLE shell, or for executing import statements " +"to import common modules." +msgstr "" +"Ao iniciar com a opção ``-s``, o IDLE executará o arquivo referenciado pelas " +"variáveis de ambiente :envvar:`IDLESTARTUP` ou :envvar:`PYTHONSTARTUP`. O " +"IDLE verifica primeiro ``IDLESTARTUP``; se ``IDLESTARTUP`` estiver presente, " +"o arquivo referenciado é executado. Se ``IDLESTARTUP`` não estiver presente, " +"o IDLE verifica ``PYTHONSTARTUP``. Os arquivos referenciados por estas " +"variáveis de ambiente são locais convenientes para armazenar funções que são " +"usadas frequentemente a partir da shell do IDLE, ou para executar instruções " +"de importação para importar módulos comuns." + +#: ../../library/idle.rst:651 msgid "" "In addition, ``Tk`` also loads a startup file if it is present. Note that " "the Tk file is loaded unconditionally. This additional file is ``.Idle.py`` " @@ -1207,34 +1485,40 @@ msgid "" "will be executed in the Tk namespace, so this file is not useful for " "importing functions to be used from IDLE's Python shell." msgstr "" +"Além disso, ``Tk`` também carrega um arquivo de inicialização se estiver " +"presente. Note que o arquivo Tk é carregado incondicionalmente. Este arquivo " +"adicional é ``.Idle.py`` e é procurado no diretório pessoal do usuário. As " +"instruções neste arquivo serão executadas no espaço de nomes do Tk, por isso " +"este arquivo não é útil para importar funções a serem usadas a partir da " +"console Python do IDLE." -#: ../../library/idle.rst:672 +#: ../../library/idle.rst:658 msgid "Command line usage" msgstr "Uso na linha de comando" -#: ../../library/idle.rst:688 +#: ../../library/idle.rst:674 msgid "If there are arguments:" msgstr "" -#: ../../library/idle.rst:690 +#: ../../library/idle.rst:676 msgid "" -"If ``-``, ``-c``, or ``r`` is used, all arguments are placed in ``sys." -"argv[1:...]`` and ``sys.argv[0]`` is set to ``''``, ``'-c'``, or ``'-r'``. " -"No editor window is opened, even if that is the default set in the Options " -"dialog." +"If ``-``, ``-c``, or ``r`` is used, all arguments are placed in " +"``sys.argv[1:...]`` and ``sys.argv[0]`` is set to ``''``, ``'-c'``, or ``'-" +"r'``. No editor window is opened, even if that is the default set in the " +"Options dialog." msgstr "" -#: ../../library/idle.rst:695 +#: ../../library/idle.rst:681 msgid "" "Otherwise, arguments are files opened for editing and ``sys.argv`` reflects " "the arguments passed to IDLE itself." msgstr "" -#: ../../library/idle.rst:699 +#: ../../library/idle.rst:685 msgid "Startup failure" -msgstr "" +msgstr "Falha na inicialização" -#: ../../library/idle.rst:701 +#: ../../library/idle.rst:687 msgid "" "IDLE uses a socket to communicate between the IDLE GUI process and the user " "code execution process. A connection must be established whenever the Shell " @@ -1243,8 +1527,14 @@ msgid "" "usually displays a ``Tk`` error box with a 'cannot connect' message that " "directs the user here. It then exits." msgstr "" +"IDLE usa um soquete para comunicação entre o processo GUI do IDLE e o " +"processo de execução de código do usuário. Uma conexão deve ser estabelecida " +"sempre que a Shell inicia ou reinicia. (Este último é indicado por uma linha " +"divisória que diz 'RESTART'). Se o processo do usuário falhar ao conectar-se " +"ao processo GUI, geralmente exibe uma caixa de erro ``Tk`` com uma mensagem " +"'não é possível conectar' que direciona o usuário. Em seguida, sai." -#: ../../library/idle.rst:708 +#: ../../library/idle.rst:694 msgid "" "One specific connection failure on Unix systems results from misconfigured " "masquerading rules somewhere in a system's network setup. When IDLE is " @@ -1253,8 +1543,14 @@ msgid "" "diagnose with ``tcpconnect -irv 127.0.0.1 6543`` in one terminal window and " "``tcplisten `` in another." msgstr "" +"Uma falha específica de conexão em sistemas Unix resulta de regras de " +"mascaramento mal configuradas em algum lugar na configuração de rede do " +"sistema. Quando o IDLE é iniciado a partir de um terminal, você verá uma " +"mensagem começando com ``** Invalid host:``. O valor válido é ``127.0.0.1 " +"(idlelib.rpc.LOCALHOST)``. Você pode conferir com ``tcpconnect -irv " +"127.0.0.1 6543`` numa janela de terminal e ``tcplisten `` noutra." -#: ../../library/idle.rst:716 +#: ../../library/idle.rst:702 msgid "" "A common cause of failure is a user-written file with the same name as a " "standard library module, such as *random.py* and *tkinter.py*. When such a " @@ -1262,8 +1558,13 @@ msgid "" "IDLE cannot import the stdlib file. The current fix is to rename the user " "file." msgstr "" +"Uma causa comum de falha é um arquivo escrito pelo usuário com o mesmo nome " +"que um módulo da biblioteca padrão, como *random.py* e *tkinter.py*. Quando " +"tal arquivo está localizado no mesmo diretório que um arquivo que está " +"prestes a ser executado, o IDLE não consegue importar o arquivo da " +"biblioteca padrão. A solução atual é renomear o arquivo do usuário." -#: ../../library/idle.rst:722 +#: ../../library/idle.rst:708 msgid "" "Though less common than in the past, an antivirus or firewall program may " "stop the connection. If the program cannot be taught to allow the " @@ -1272,16 +1573,28 @@ msgid "" "ports. A similar problem is a network mis-configuration that blocks " "connections." msgstr "" +"Embora menos comum do que no passado, um programa antivírus ou firewall pode " +"interromper a conexão. Se o programa não puder ser configurado para permitir " +"a conexão, então deve ser desativado para que o IDLE funcione. É seguro " +"permitir esta conexão interna porque nenhum dado é visível em portas " +"externas. Um problema semelhante é uma configuração errada de rede que " +"bloqueia conexões." -#: ../../library/idle.rst:729 +#: ../../library/idle.rst:715 msgid "" "Python installation issues occasionally stop IDLE: multiple versions can " "clash, or a single installation might need admin access. If one undo the " "clash, or cannot or does not want to run as admin, it might be easiest to " "completely remove Python and start over." msgstr "" +"Problemas na instalação do Python podem, por vezes, impedir o funcionamento " +"do IDLE: versões diferentes podem entrar em conflito, ou uma instalação " +"específica pode exigir privilégios de administrador. Se não for possível " +"resolver o conflito, ou caso o usuário não possa ou não queira executar o " +"programa como administrador, a solução mais simples pode ser remover o " +"Python completamente e realizar uma nova instalação." -#: ../../library/idle.rst:734 +#: ../../library/idle.rst:720 msgid "" "A zombie pythonw.exe process could be a problem. On Windows, use Task " "Manager to check for one and stop it if there is. Sometimes a restart " @@ -1289,26 +1602,42 @@ msgid "" "connect. Dismissing the error box or using Restart Shell on the Shell menu " "may fix a temporary problem." msgstr "" +"Um processo zombie pythonw.exe pode ser um problema. No Windows, use o " +"Gerenciador de Tarefas para verificar se existe um e pará-lo, se houver. Às " +"vezes, um reinício iniciado por uma falha do programa ou Interrupção de " +"Teclado (control-C) pode falhar ao conectar. Descartar a caixa de erro ou " +"usar Reiniciar Shell no menu Shell pode resolver um problema temporário." -#: ../../library/idle.rst:740 +#: ../../library/idle.rst:726 msgid "" -"When IDLE first starts, it attempts to read user configuration files in ``~/." -"idlerc/`` (~ is one's home directory). If there is a problem, an error " +"When IDLE first starts, it attempts to read user configuration files in " +"``~/.idlerc/`` (~ is one's home directory). If there is a problem, an error " "message should be displayed. Leaving aside random disk glitches, this can " "be prevented by never editing the files by hand. Instead, use the " "configuration dialog, under Options. Once there is an error in a user " "configuration file, the best solution may be to delete it and start over " "with the settings dialog." msgstr "" +"Quando o IDLE inicia pela primeira vez, ele tenta ler os arquivos de " +"configuração do usuário em ``~/.idlerc/`` (~ é o diretório pessoal). Se " +"houver um problema, uma mensagem de erro deve ser exibida. Deixando de lado " +"falhas aleatórias no disco, isto pode ser evitado nunca editando os arquivos " +"manualmente. Em vez disso, use a caixa de diálogo de configuração, em " +"Options. Uma vez que haja um erro num arquivo de configuração do usuário, a " +"melhor solução pode ser apagá-lo e começar de novo com a caixa de diálogo de " +"configurações." -#: ../../library/idle.rst:748 +#: ../../library/idle.rst:734 msgid "" "If IDLE quits with no message, and it was not started from a console, try " "starting it from a console or terminal (``python -m idlelib``) and see if " "this results in an error message." msgstr "" +"Se o IDLE sair sem mensagem e não foi iniciado a partir de um console, tente " +"iniciá-lo a partir de um console ou terminal (``python -m idlelib``) e veja " +"se isto resulta numa mensagem de erro." -#: ../../library/idle.rst:752 +#: ../../library/idle.rst:738 msgid "" "On Unix-based systems with tcl/tk older than ``8.6.11`` (see ``About IDLE``) " "certain characters of certain fonts can cause a tk failure with a message to " @@ -1316,12 +1645,18 @@ msgid "" "such a character or later when entering such a character. If one cannot " "upgrade tcl/tk, then re-configure IDLE to use a font that works better." msgstr "" +"Em sistemas baseados em Unix com tcl/tk mais antigo que ``8.6.11`` (veja " +"``About IDLE``), certos caracteres de certas fontes podem causar uma falha " +"tk com uma mensagem para o terminal. Isto pode acontecer se iniciar o IDLE " +"para editar um arquivo com tal caractere ou mais tarde ao introduzir tal " +"caractere. Se não puder atualizar tcl/tk, então reconfigure o IDLE para usar " +"uma fonte que funcione melhor." -#: ../../library/idle.rst:760 +#: ../../library/idle.rst:746 msgid "Running user code" -msgstr "" +msgstr "Execução de código do usuário" -#: ../../library/idle.rst:762 +#: ../../library/idle.rst:748 msgid "" "With rare exceptions, the result of executing Python code with IDLE is " "intended to be the same as executing the same code by the default method, " @@ -1330,18 +1665,31 @@ msgid "" "results. For instance, ``sys.modules`` starts with more entries, and " "``threading.active_count()`` returns 2 instead of 1." msgstr "" +"Com raras exceções, o resultado da execução de código Python com o IDLE " +"destina-se a ser o mesmo que executar o mesmo código pelo método padrão, " +"diretamente com o Python numa console de sistema em modo de texto ou janela " +"de terminal. No entanto, a interface e operação diferentes afetam " +"ocasionalmente os resultados visíveis. Por exemplo, ``sys.modules`` começa " +"com mais entradas, e ``threading.active_count()`` retorna 2 em vez de 1." -#: ../../library/idle.rst:769 +#: ../../library/idle.rst:755 msgid "" "By default, IDLE runs user code in a separate OS process rather than in the " "user interface process that runs the shell and editor. In the execution " "process, it replaces ``sys.stdin``, ``sys.stdout``, and ``sys.stderr`` with " "objects that get input from and send output to the Shell window. The " -"original values stored in ``sys.__stdin__``, ``sys.__stdout__``, and ``sys." -"__stderr__`` are not touched, but may be ``None``." +"original values stored in ``sys.__stdin__``, ``sys.__stdout__``, and " +"``sys.__stderr__`` are not touched, but may be ``None``." msgstr "" +"Por padrão, o IDLE executa o código do usuário em um processo de SO separado " +"em vez de no processo de interface do usuário que executa a shell e o " +"editor. No processo de execução, substitui ``sys.stdin``, ``sys.stdout`` e " +"``sys.stderr`` por objetos que obtêm entrada e enviam saída para a janela " +"Shell. Os valores originais armazenados em ``sys.__stdin__``, " +"``sys.__stdout__`` e ``sys.__stderr__`` não são alterados, mas podem ser " +"``None``." -#: ../../library/idle.rst:776 +#: ../../library/idle.rst:762 msgid "" "Sending print output from one process to a text widget in another is slower " "than printing to a system terminal in the same process. This has the most " @@ -1352,62 +1700,96 @@ msgid "" "single string. Both format strings and :meth:`str.join` can help combine " "fields and lines." msgstr "" +"Enviar saída de impressão de um processo para um componente de texto em " +"outro processo é mais lento do que imprimir para um terminal de sistema no " +"mesmo processo. Isto tem mais efeito ao imprimir vários argumentos, pois a " +"string para cada argumento, cada separador e a nova linha são enviados " +"separadamente. Para desenvolvimento, isto geralmente não é um problema, mas " +"se quiser imprimir mais rápido no IDLE, formate e junte tudo o que quer " +"exibir e depois imprima uma única string. Tanto strings de formato " +"como :meth:`str.join` podem ajudar a combinar campos e linhas." -#: ../../library/idle.rst:785 +#: ../../library/idle.rst:771 msgid "" "IDLE's standard stream replacements are not inherited by subprocesses " "created in the execution process, whether directly by user code or by " -"modules such as multiprocessing. If such subprocess use ``input`` from sys." -"stdin or ``print`` or ``write`` to sys.stdout or sys.stderr, IDLE should be " -"started in a command line window. (On Windows, use ``python`` or ``py`` " +"modules such as multiprocessing. If such subprocess use ``input`` from " +"sys.stdin or ``print`` or ``write`` to sys.stdout or sys.stderr, IDLE should " +"be started in a command line window. (On Windows, use ``python`` or ``py`` " "rather than ``pythonw`` or ``pyw``.) The secondary subprocess will then be " "attached to that window for input and output." msgstr "" +"As substituições de fluxo padrão do IDLE não são herdadas por subprocessos " +"criados no processo de execução, quer diretamente pelo código do usuário ou " +"por módulos como multiprocessing. Se tais subprocessos usarem ``input`` de " +"sys.stdin ou ``print`` ou ``write`` para sys.stdout ou sys.stderr, o IDLE " +"deve ser iniciado numa janela de linha de comandos. (No Windows, use " +"``python`` ou ``py`` em vez de ``pythonw`` ou ``pyw``.) O subprocesso " +"secundário será então anexado a essa janela para entrada e saída." -#: ../../library/idle.rst:794 +#: ../../library/idle.rst:780 msgid "" "If ``sys`` is reset by user code, such as with ``importlib.reload(sys)``, " "IDLE's changes are lost and input from the keyboard and output to the screen " "will not work correctly." msgstr "" +"Se ``sys`` for redefinido pelo código do usuário, como com " +"``importlib.reload(sys)``, as alterações do IDLE são perdidas e a entrada do " +"teclado e a saída para a tela não funcionarão corretamente." -#: ../../library/idle.rst:798 +#: ../../library/idle.rst:784 msgid "" "When Shell has the focus, it controls the keyboard and screen. This is " "normally transparent, but functions that directly access the keyboard and " "screen will not work. These include system-specific functions that " "determine whether a key has been pressed and if so, which." msgstr "" +"Quando a Shell tem o foco, controla o teclado e a tela. Isto é normalmente " +"transparente, mas funções que acessam diretamente ao teclado e à tela não " +"funcionarão. Isto inclui funções específicas do sistema que determinam se " +"uma tecla foi pressionada e, em caso afirmativo, qual." -#: ../../library/idle.rst:803 +#: ../../library/idle.rst:789 msgid "" "The IDLE code running in the execution process adds frames to the call stack " "that would not be there otherwise. IDLE wraps ``sys.getrecursionlimit`` and " "``sys.setrecursionlimit`` to reduce the effect of the additional stack " "frames." msgstr "" +"O código IDLE em execução no processo de execução adiciona quadros à pilha " +"de chamadas que não estariam lá de outra forma. O IDLE envolve " +"``sys.getrecursionlimit`` e ``sys.setrecursionlimit`` para reduzir o efeito " +"dos quadros de pilha adicionais." -#: ../../library/idle.rst:808 +#: ../../library/idle.rst:794 msgid "" "When user code raises SystemExit either directly or by calling sys.exit, " "IDLE returns to a Shell prompt instead of exiting." msgstr "" +"Quando o código do usuário levanta SystemExit diretamente ou chamando " +"sys.exit, o IDLE retorna a um prompt Shell em vez de sair." -#: ../../library/idle.rst:812 +#: ../../library/idle.rst:798 msgid "User output in Shell" -msgstr "" +msgstr "Saída do usuário na Shell" -#: ../../library/idle.rst:814 +#: ../../library/idle.rst:800 msgid "" "When a program outputs text, the result is determined by the corresponding " -"output device. When IDLE executes user code, ``sys.stdout`` and ``sys." -"stderr`` are connected to the display area of IDLE's Shell. Some of its " -"features are inherited from the underlying Tk Text widget. Others are " +"output device. When IDLE executes user code, ``sys.stdout`` and " +"``sys.stderr`` are connected to the display area of IDLE's Shell. Some of " +"its features are inherited from the underlying Tk Text widget. Others are " "programmed additions. Where it matters, Shell is designed for development " "rather than production runs." msgstr "" +"Quando um programa produz texto, o resultado é determinado pelo dispositivo " +"de saída correspondente. Quando o IDLE executa código do usuário, " +"``sys.stdout`` e ``sys.stderr`` estão ligados à área de exibição da Shell do " +"IDLE. Algumas das suas funcionalidades são herdadas do widget de texto Tk " +"subjacente. Outras são adições programadas. Onde importa, a Shell é " +"concebida para desenvolvimento em vez de execuções de produção." -#: ../../library/idle.rst:821 +#: ../../library/idle.rst:807 msgid "" "For instance, Shell never throws away output. A program that sends " "unlimited output to Shell will eventually fill memory, resulting in a memory " @@ -1415,8 +1797,13 @@ msgid "" "output. A Windows console, for instance, keeps a user-settable 1 to 9999 " "lines, with 300 the default." msgstr "" +"Por exemplo, a Shell nunca descarta saída. Um programa que envia saída " +"ilimitada para a Shell acabará por encher a memória, resultando num erro de " +"memória. Em contraste, algumas janelas de texto do sistema mantêm apenas as " +"últimas n linhas de saída. Um console Windows, por exemplo, mantém um número " +"configurável pelo utilizador de 1 a 9999 linhas, com 300 como padrão." -#: ../../library/idle.rst:827 +#: ../../library/idle.rst:813 msgid "" "A Tk Text widget, and hence IDLE's Shell, displays characters (codepoints) " "in the BMP (Basic Multilingual Plane) subset of Unicode. Which characters " @@ -1429,8 +1816,20 @@ msgid "" "text cursor through such output with arrow keys may exhibit some surprising " "spacing behavior.) ::" msgstr "" - -#: ../../library/idle.rst:845 +"Um componente de texto Tk, e portanto a Shell do IDLE, exibe caracteres " +"(pontos de código) no subconjunto BMP (do inglês, Basic Multilingual Plane " +"ou Plano Multilíngue Básico) do Unicode. Quais caracteres são exibidos com " +"um glifo adequado e quais com uma caixa de substituição depende do sistema " +"operacional e das fontes instaladas. Os caracteres de tabulação fazem com " +"que o texto seguinte comece após a próxima paragem de tabulação. (Ocorrem a " +"cada 8 'caracteres'). Os caracteres de nova linha fazem com que o texto " +"seguinte apareça numa nova linha. Outros caracteres de controle são " +"ignorados ou exibidos como um espaço, uma caixa ou outra coisa, dependendo " +"do sistema operacional e da fonte. (Mover o cursor de texto através de tal " +"saída com as teclas de seta pode exibir algum comportamento de espaçamento " +"surpreendente.) ::" + +#: ../../library/idle.rst:831 msgid "" "The ``repr`` function is used for interactive echo of expression values. It " "returns an altered version of the input string in which control codes, some " @@ -1438,14 +1837,23 @@ msgid "" "As demonstrated above, it allows one to identify the characters in a string, " "regardless of how they are displayed." msgstr "" +"A função ``repr`` é usada para eco interativo de valores de expressão. " +"Retorna uma versão alterada da string de entrada na qual códigos de " +"controle, alguns pontos de código BMP e todos os pontos de código não-BMP " +"são substituídos por códigos de escape. Como demonstrado acima, permite " +"identificar os caracteres numa string, independentemente de como são " +"exibidos." -#: ../../library/idle.rst:851 +#: ../../library/idle.rst:837 msgid "" "Normal and error output are generally kept separate (on separate lines) from " "code input and each other. They each get different highlight colors." msgstr "" +"A saída normal e de erro são geralmente mantidas separadas (em linhas " +"separadas) da entrada de código e uma da outra. Cada uma recebe cores de " +"destaque diferentes." -#: ../../library/idle.rst:854 +#: ../../library/idle.rst:840 msgid "" "For SyntaxError tracebacks, the normal '^' marking where the error was " "detected is replaced by coloring the text with an error highlight. When code " @@ -1453,8 +1861,14 @@ msgid "" "line to jump to the corresponding line in an IDLE editor. The file will be " "opened if necessary." msgstr "" +"Para tracebacks (situação da pilha de execução) de SyntaxError, a marcação " +"normal '^' onde o erro foi detectado é substituída pela coloração do texto " +"com um realce de erro. Quando o código executado a partir de um arquivo " +"causa outras exceções, você pode clicar com o botão direito numa linha de " +"traceback para saltar para a linha correspondente num editor IDLE. O arquivo " +"será aberto se necessário." -#: ../../library/idle.rst:860 +#: ../../library/idle.rst:846 msgid "" "Shell has a special facility for squeezing output lines down to a 'Squeezed " "text' label. This is done automatically for output over N lines (N = 50 by " @@ -1462,31 +1876,40 @@ msgid "" "Settings dialog. Output with fewer lines can be squeezed by right clicking " "on the output. This can be useful lines long enough to slow down scrolling." msgstr "" +"A Shell tem uma funcionalidade especial para comprimir linhas de saída sob " +"uma etiqueta 'Squeezed text'. Isto é feito automaticamente para saída " +"superior a N linhas (N = 50 por padrão). N pode ser alterado na seção Shell " +"Preferences da página Shell/Ed da caixa de diálogo de Settings. A saída com " +"menos linhas pode ser comprimida clicando com o botão direito na saída. Isto " +"pode ser útil para linhas suficientemente longas para reduzir a rolagem." -#: ../../library/idle.rst:868 +#: ../../library/idle.rst:854 msgid "" "Squeezed output is expanded in place by double-clicking the label. It can " "also be sent to the clipboard or a separate view window by right-clicking " "the label." msgstr "" +"A saída comprimida é expandida no local ao clicar duas vezes na etiqueta. " +"Também pode ser enviada para a área de transferência ou uma janela de " +"visualização separada clicando com o botão direito na etiqueta." -#: ../../library/idle.rst:873 +#: ../../library/idle.rst:859 msgid "Developing tkinter applications" msgstr "" -#: ../../library/idle.rst:875 +#: ../../library/idle.rst:861 msgid "" "IDLE is intentionally different from standard Python in order to facilitate " -"development of tkinter programs. Enter ``import tkinter as tk; root = tk." -"Tk()`` in standard Python and nothing appears. Enter the same in IDLE and a " -"tk window appears. In standard Python, one must also enter ``root." -"update()`` to see the window. IDLE does the equivalent in the background, " -"about 20 times a second, which is about every 50 milliseconds. Next enter " -"``b = tk.Button(root, text='button'); b.pack()``. Again, nothing visibly " -"changes in standard Python until one enters ``root.update()``." +"development of tkinter programs. Enter ``import tkinter as tk; root = " +"tk.Tk()`` in standard Python and nothing appears. Enter the same in IDLE " +"and a tk window appears. In standard Python, one must also enter " +"``root.update()`` to see the window. IDLE does the equivalent in the " +"background, about 20 times a second, which is about every 50 milliseconds. " +"Next enter ``b = tk.Button(root, text='button'); b.pack()``. Again, nothing " +"visibly changes in standard Python until one enters ``root.update()``." msgstr "" -#: ../../library/idle.rst:884 +#: ../../library/idle.rst:870 msgid "" "Most tkinter programs run ``root.mainloop()``, which usually does not return " "until the tk app is destroyed. If the program is run with ``python -i`` or " @@ -1494,7 +1917,7 @@ msgid "" "``mainloop()`` returns, at which time there is nothing left to interact with." msgstr "" -#: ../../library/idle.rst:890 +#: ../../library/idle.rst:876 msgid "" "When running a tkinter program from an IDLE editor, one can comment out the " "mainloop call. One then gets a shell prompt immediately and can interact " @@ -1502,11 +1925,11 @@ msgid "" "mainloop call when running in standard Python." msgstr "" -#: ../../library/idle.rst:896 +#: ../../library/idle.rst:882 msgid "Running without a subprocess" msgstr "" -#: ../../library/idle.rst:898 +#: ../../library/idle.rst:884 msgid "" "By default, IDLE executes user code in a separate subprocess via a socket, " "which uses the internal loopback interface. This connection is not " @@ -1514,7 +1937,7 @@ msgid "" "firewall software complains anyway, you can ignore it." msgstr "" -#: ../../library/idle.rst:903 +#: ../../library/idle.rst:889 msgid "" "If the attempt to make the socket connection fails, Idle will notify you. " "Such failures are sometimes transient, but if persistent, the problem may be " @@ -1523,7 +1946,7 @@ msgid "" "command line switch." msgstr "" -#: ../../library/idle.rst:909 +#: ../../library/idle.rst:895 msgid "" "If IDLE is started with the -n command line switch it will run in a single " "process and will not create the subprocess which runs the RPC Python " @@ -1537,15 +1960,15 @@ msgid "" "at all possible." msgstr "" -#: ../../library/idle.rst:924 +#: ../../library/idle.rst:910 msgid "Help and Preferences" -msgstr "" +msgstr "Ajuda e preferências" -#: ../../library/idle.rst:929 +#: ../../library/idle.rst:915 msgid "Help sources" msgstr "" -#: ../../library/idle.rst:931 +#: ../../library/idle.rst:917 msgid "" "Help menu entry \"IDLE Help\" displays a formatted html version of the IDLE " "chapter of the Library Reference. The result, in a read-only tkinter text " @@ -1555,7 +1978,7 @@ msgid "" "the opened box." msgstr "" -#: ../../library/idle.rst:939 +#: ../../library/idle.rst:925 msgid "" "Help menu entry \"Python Docs\" opens the extensive sources of help, " "including tutorials, available at ``docs.python.org/x.y``, where 'x.y' is " @@ -1564,17 +1987,17 @@ msgid "" "instead." msgstr "" -#: ../../library/idle.rst:945 +#: ../../library/idle.rst:931 msgid "" "Selected URLs can be added or removed from the help menu at any time using " "the General tab of the Configure IDLE dialog." msgstr "" -#: ../../library/idle.rst:951 +#: ../../library/idle.rst:937 msgid "Setting preferences" -msgstr "" +msgstr "Configurando preferências" -#: ../../library/idle.rst:953 +#: ../../library/idle.rst:939 msgid "" "The font preferences, highlighting, keys, and general preferences can be " "changed via Configure IDLE on the Option menu. Non-default user settings are " @@ -1583,7 +2006,7 @@ msgid "" "or more of the files in ``.idlerc``." msgstr "" -#: ../../library/idle.rst:959 +#: ../../library/idle.rst:945 msgid "" "On the Font tab, see the text sample for the effect of font face and size on " "multiple characters in multiple languages. Edit the sample to add other " @@ -1592,7 +2015,7 @@ msgid "" "them to the top of the sample and try changing first size and then font." msgstr "" -#: ../../library/idle.rst:966 +#: ../../library/idle.rst:952 msgid "" "On the Highlights and Keys tab, select a built-in or custom color theme and " "key set. To use a newer built-in color theme or key set with older IDLEs, " @@ -1600,22 +2023,22 @@ msgid "" "IDLEs." msgstr "" -#: ../../library/idle.rst:972 +#: ../../library/idle.rst:958 msgid "IDLE on macOS" msgstr "" -#: ../../library/idle.rst:974 +#: ../../library/idle.rst:960 msgid "" "Under System Preferences: Dock, one can set \"Prefer tabs when opening " "documents\" to \"Always\". This setting is not compatible with the tk/" "tkinter GUI framework used by IDLE, and it breaks a few IDLE features." msgstr "" -#: ../../library/idle.rst:979 +#: ../../library/idle.rst:965 msgid "Extensions" msgstr "" -#: ../../library/idle.rst:981 +#: ../../library/idle.rst:967 msgid "" "IDLE contains an extension facility. Preferences for extensions can be " "changed with the Extensions tab of the preferences dialog. See the beginning " @@ -1624,21 +2047,21 @@ msgid "" "testing." msgstr "" -#: ../../library/idle.rst:989 +#: ../../library/idle.rst:975 msgid "idlelib" msgstr "" -#: ../../library/idle.rst:994 +#: ../../library/idle.rst:980 msgid "**Source code:** :source:`Lib/idlelib`" msgstr "" -#: ../../library/idle.rst:998 +#: ../../library/idle.rst:984 msgid "" "The Lib/idlelib package implements the IDLE application. See the rest of " "this page for how to use IDLE." msgstr "" -#: ../../library/idle.rst:1001 +#: ../../library/idle.rst:987 msgid "" "The files in idlelib are described in idlelib/README.txt. Access it either " "in idlelib or click Help => About IDLE on the IDLE menu. This file also " @@ -1655,26 +2078,26 @@ msgstr "" msgid "Integrated Development Environment" msgstr "" -#: ../../library/idle.rst:70 +#: ../../library/idle.rst:68 msgid "Module browser" msgstr "" -#: ../../library/idle.rst:70 +#: ../../library/idle.rst:68 msgid "Path browser" msgstr "" -#: ../../library/idle.rst:212 +#: ../../library/idle.rst:210 msgid "Run script" msgstr "" -#: ../../library/idle.rst:279 +#: ../../library/idle.rst:277 msgid "debugger" -msgstr "" +msgstr "depurador" -#: ../../library/idle.rst:279 +#: ../../library/idle.rst:277 msgid "stack viewer" msgstr "" -#: ../../library/idle.rst:355 +#: ../../library/idle.rst:353 msgid "breakpoints" msgstr "" diff --git a/library/imaplib.po b/library/imaplib.po index c4e497fe9..ef4abfc71 100644 --- a/library/imaplib.po +++ b/library/imaplib.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Italo Penaforte , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,11 +33,11 @@ msgstr "**Código-fonte:** :source:`Lib/imaplib.py`" #: ../../library/imaplib.rst:23 msgid "" -"This module defines three classes, :class:`IMAP4`, :class:`IMAP4_SSL` and :" -"class:`IMAP4_stream`, which encapsulate a connection to an IMAP4 server and " -"implement a large subset of the IMAP4rev1 client protocol as defined in :rfc:" -"`2060`. It is backward compatible with IMAP4 (:rfc:`1730`) servers, but note " -"that the ``STATUS`` command is not supported in IMAP4." +"This module defines three classes, :class:`IMAP4`, :class:`IMAP4_SSL` " +"and :class:`IMAP4_stream`, which encapsulate a connection to an IMAP4 server " +"and implement a large subset of the IMAP4rev1 client protocol as defined " +"in :rfc:`2060`. It is backward compatible with IMAP4 (:rfc:`1730`) servers, " +"but note that the ``STATUS`` command is not supported in IMAP4." msgstr "" #: ../../includes/wasm-notavail.rst:3 @@ -76,8 +74,8 @@ msgstr "" #: ../../library/imaplib.rst:44 msgid "" "The :class:`IMAP4` class supports the :keyword:`with` statement. When used " -"like this, the IMAP4 ``LOGOUT`` command is issued automatically when the :" -"keyword:`!with` statement exits. E.g.::" +"like this, the IMAP4 ``LOGOUT`` command is issued automatically when " +"the :keyword:`!with` statement exits. E.g.::" msgstr "" #: ../../library/imaplib.rst:54 @@ -86,7 +84,7 @@ msgstr "Suporte para a instrução :keyword:`with` foi adicionado." #: ../../library/imaplib.rst:57 ../../library/imaplib.rst:124 msgid "The optional *timeout* parameter was added." -msgstr "" +msgstr "O parâmetro opcional *timeout* foi adicionado." #: ../../library/imaplib.rst:60 msgid "Three exceptions are defined as attributes of the :class:`IMAP4` class:" @@ -151,15 +149,20 @@ msgstr "" #: ../../library/imaplib.rst:112 msgid "" -"The class now supports hostname check with :attr:`ssl.SSLContext." -"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +"The class now supports hostname check " +"with :attr:`ssl.SSLContext.check_hostname` and *Server Name Indication* " +"(see :const:`ssl.HAS_SNI`)." msgstr "" +"A classe agora oferece suporte a verificação de nome de host " +"com :attr:`ssl.SSLContext.check_hostname` e *Indicação de nome de servidor* " +"(veja :const:`ssl.HAS_SNI`)." #: ../../library/imaplib.rst:119 msgid "" "*keyfile* and *certfile* are deprecated in favor of *ssl_context*. Please " -"use :meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." -"create_default_context` select the system's trusted CA certificates for you." +"use :meth:`ssl.SSLContext.load_cert_chain` instead, or " +"let :func:`ssl.create_default_context` select the system's trusted CA " +"certificates for you." msgstr "" #: ../../library/imaplib.rst:127 @@ -169,8 +172,8 @@ msgstr "" #: ../../library/imaplib.rst:132 msgid "" "This is a subclass derived from :class:`IMAP4` that connects to the ``stdin/" -"stdout`` file descriptors created by passing *command* to ``subprocess." -"Popen()``." +"stdout`` file descriptors created by passing *command* to " +"``subprocess.Popen()``." msgstr "" #: ../../library/imaplib.rst:137 @@ -201,9 +204,9 @@ msgid "" "double-quotes). The *date_time* argument can be a number (int or float) " "representing seconds since epoch (as returned by :func:`time.time`), a 9-" "tuple representing local time an instance of :class:`time.struct_time` (as " -"returned by :func:`time.localtime`), an aware instance of :class:`datetime." -"datetime`, or a double-quoted string. In the last case, it is assumed to " -"already be in the correct format." +"returned by :func:`time.localtime`), an aware instance " +"of :class:`datetime.datetime`, or a double-quoted string. In the last case, " +"it is assumed to already be in the correct format." msgstr "" #: ../../library/imaplib.rst:169 @@ -333,8 +336,8 @@ msgstr "" #: ../../library/imaplib.rst:274 msgid "" "Enable *capability* (see :rfc:`5161`). Most capabilities do not need to be " -"enabled. Currently only the ``UTF8=ACCEPT`` capability is supported (see :" -"RFC:`6855`)." +"enabled. Currently only the ``UTF8=ACCEPT`` capability is supported " +"(see :RFC:`6855`)." msgstr "" #: ../../library/imaplib.rst:278 @@ -434,16 +437,18 @@ msgid "" "*timeout* parameter is set to be zero, it will raise a :class:`ValueError` " "to reject creating a non-blocking socket. This method is implicitly called " "by the :class:`IMAP4` constructor. The connection objects established by " -"this method will be used in the :meth:`IMAP4.read`, :meth:`IMAP4.readline`, :" -"meth:`IMAP4.send`, and :meth:`IMAP4.shutdown` methods. You may override this " -"method." +"this method will be used in " +"the :meth:`IMAP4.read`, :meth:`IMAP4.readline`, :meth:`IMAP4.send`, " +"and :meth:`IMAP4.shutdown` methods. You may override this method." msgstr "" -#: ../../library/imaplib.rst:390 +#: ../../library/imaplib.rst:392 msgid "" "Raises an :ref:`auditing event ` ``imaplib.open`` with arguments " "``self``, ``host``, ``port``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``imaplib.open`` com os " +"argumentos ``self``, ``host``, ``port``." #: ../../library/imaplib.rst:383 msgid "The *timeout* parameter was added." @@ -492,8 +497,8 @@ msgid "" "case no ``CHARSET`` will be specified in the request to the server. The " "IMAP protocol requires that at least one criterion be specified; an " "exception will be raised when the server returns an error. *charset* must " -"be ``None`` if the ``UTF8=ACCEPT`` capability was enabled using the :meth:" -"`enable` command." +"be ``None`` if the ``UTF8=ACCEPT`` capability was enabled using " +"the :meth:`enable` command." msgstr "" #: ../../library/imaplib.rst:434 @@ -511,11 +516,13 @@ msgstr "" msgid "Sends ``data`` to the remote server. You may override this method." msgstr "" -#: ../../library/imaplib.rst:463 +#: ../../library/imaplib.rst:465 msgid "" "Raises an :ref:`auditing event ` ``imaplib.send`` with arguments " "``self``, ``data``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``imaplib.send`` com os " +"argumentos ``self``, ``data``." #: ../../library/imaplib.rst:459 msgid "" @@ -577,8 +584,9 @@ msgstr "" #: ../../library/imaplib.rst:513 msgid "" -"The method now supports hostname check with :attr:`ssl.SSLContext." -"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +"The method now supports hostname check " +"with :attr:`ssl.SSLContext.check_hostname` and *Server Name Indication* " +"(see :const:`ssl.HAS_SNI`)." msgstr "" #: ../../library/imaplib.rst:521 @@ -683,8 +691,9 @@ msgstr "" #: ../../library/imaplib.rst:618 msgid "" -"Boolean value that is normally ``False``, but is set to ``True`` if an :meth:" -"`enable` command is successfully issued for the ``UTF8=ACCEPT`` capability." +"Boolean value that is normally ``False``, but is set to ``True`` if " +"an :meth:`enable` command is successfully issued for the ``UTF8=ACCEPT`` " +"capability." msgstr "" #: ../../library/imaplib.rst:628 @@ -703,7 +712,7 @@ msgstr "" #: ../../library/imaplib.rst:16 msgid "protocol" -msgstr "" +msgstr "protocolo" #: ../../library/imaplib.rst:16 msgid "IMAP4_SSL" diff --git a/library/imghdr.po b/library/imghdr.po index 05f873b6e..1293d7f02 100644 --- a/library/imghdr.po +++ b/library/imghdr.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Italo Penaforte , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -194,8 +189,9 @@ msgstr "" #: ../../library/imghdr.rst:74 msgid "" "A list of functions performing the individual tests. Each function takes " -"two arguments: the byte-stream and an open file-like object. When :func:" -"`what` is called with a byte-stream, the file-like object will be ``None``." +"two arguments: the byte-stream and an open file-like object. " +"When :func:`what` is called with a byte-stream, the file-like object will be " +"``None``." msgstr "" #: ../../library/imghdr.rst:78 diff --git a/library/imp.po b/library/imp.po index 64c50b463..08b3e867f 100644 --- a/library/imp.po +++ b/library/imp.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Vinicius Gubiani Ferreira , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,15 +37,15 @@ msgstr "" #: ../../library/imp.rst:17 msgid "" -"This module provides an interface to the mechanisms used to implement the :" -"keyword:`import` statement. It defines the following constants and " +"This module provides an interface to the mechanisms used to implement " +"the :keyword:`import` statement. It defines the following constants and " "functions:" msgstr "" #: ../../library/imp.rst:25 msgid "" -"Return the magic string value used to recognize byte-compiled code files (:" -"file:`.pyc` files). (This value may be different for each Python version.)" +"Return the magic string value used to recognize byte-compiled code files " +"(:file:`.pyc` files). (This value may be different for each Python version.)" msgstr "" #: ../../library/imp.rst:28 @@ -61,8 +59,9 @@ msgid "" "a string to be appended to the module name to form the filename to search " "for, *mode* is the mode string to pass to the built-in :func:`open` function " "to open the file (this can be ``'r'`` for text files or ``'rb'`` for binary " -"files), and *type* is the file type, which has one of the values :const:" -"`PY_SOURCE`, :const:`PY_COMPILED`, or :const:`C_EXTENSION`, described below." +"files), and *type* is the file type, which has one of the " +"values :const:`PY_SOURCE`, :const:`PY_COMPILED`, or :const:`C_EXTENSION`, " +"described below." msgstr "" #: ../../library/imp.rst:43 @@ -74,9 +73,10 @@ msgid "" "Try to find the module *name*. If *path* is omitted or ``None``, the list " "of directory names given by ``sys.path`` is searched, but first a few " "special places are searched: the function tries to find a built-in module " -"with the given name (:const:`C_BUILTIN`), then a frozen module (:const:" -"`PY_FROZEN`), and on some systems some other places are looked in as well " -"(on Windows, it looks in the registry which may point to a specific file)." +"with the given name (:const:`C_BUILTIN`), then a frozen module " +"(:const:`PY_FROZEN`), and on some systems some other places are looked in as " +"well (on Windows, it looks in the registry which may point to a specific " +"file)." msgstr "" #: ../../library/imp.rst:56 @@ -119,18 +119,19 @@ msgstr "" #: ../../library/imp.rst:78 msgid "" "This function does not handle hierarchical module names (names containing " -"dots). In order to find *P.M*, that is, submodule *M* of package *P*, use :" -"func:`find_module` and :func:`load_module` to find and load package *P*, and " -"then use :func:`find_module` with the *path* argument set to ``P.__path__``. " -"When *P* itself has a dotted name, apply this recipe recursively." +"dots). In order to find *P.M*, that is, submodule *M* of package *P*, " +"use :func:`find_module` and :func:`load_module` to find and load package " +"*P*, and then use :func:`find_module` with the *path* argument set to " +"``P.__path__``. When *P* itself has a dotted name, apply this recipe " +"recursively." msgstr "" #: ../../library/imp.rst:84 msgid "" "Use :func:`importlib.util.find_spec` instead unless Python 3.3 compatibility " "is required, in which case use :func:`importlib.find_loader`. For example " -"usage of the former case, see the :ref:`importlib-examples` section of the :" -"mod:`importlib` documentation." +"usage of the former case, see the :ref:`importlib-examples` section of " +"the :mod:`importlib` documentation." msgstr "" #: ../../library/imp.rst:94 @@ -164,9 +165,10 @@ msgstr "" msgid "" "If previously used in conjunction with :func:`imp.find_module` then consider " "using :func:`importlib.import_module`, otherwise use the loader returned by " -"the replacement you chose for :func:`imp.find_module`. If you called :func:" -"`imp.load_module` and related functions directly with file path arguments " -"then use a combination of :func:`importlib.util.spec_from_file_location` " +"the replacement you chose for :func:`imp.find_module`. If you " +"called :func:`imp.load_module` and related functions directly with file path " +"arguments then use a combination " +"of :func:`importlib.util.spec_from_file_location` " "and :func:`importlib.util.module_from_spec`. See the :ref:`importlib-" "examples` section of the :mod:`importlib` documentation for details of the " "various approaches." @@ -208,12 +210,16 @@ msgid "" "As with all other objects in Python the old objects are only reclaimed after " "their reference counts drop to zero." msgstr "" +"Tal como acontece com todos os outros objetos em Python, os objetos antigos " +"só são recuperados depois que suas contagens de referências caem para zero." #: ../../library/imp.rst:151 msgid "" "The names in the module namespace are updated to point to any new or changed " "objects." msgstr "" +"Os nomes no espaço de nomes do módulo são atualizados para apontar para " +"quaisquer objetos novos ou alterados." #: ../../library/imp.rst:154 msgid "" @@ -221,10 +227,13 @@ msgid "" "are not rebound to refer to the new objects and must be updated in each " "namespace where they occur if that is desired." msgstr "" +"Outras referências aos objetos antigos (como nomes externos ao módulo) não " +"são religadas para se referir aos novos objetos e devem ser atualizadas em " +"cada espaço de nomes onde ocorrem, se isso for desejado." #: ../../library/imp.rst:158 msgid "There are a number of other caveats:" -msgstr "" +msgstr "Existem várias outras ressalvas:" #: ../../library/imp.rst:160 msgid "" @@ -237,22 +246,31 @@ msgid "" "statement it can test for the table's presence and skip its initialization " "if desired::" msgstr "" +"Quando um módulo é recarregado, seu dicionário (contendo as variáveis " +"globais do módulo) é retido. As redefinições de nomes vão substituir as " +"definições antigas, portanto isso geralmente não é um problema. Se a nova " +"versão de um módulo não definir um nome definido pela versão antiga, a " +"definição antiga permanecerá. Este recurso pode ser usado para vantagem do " +"módulo se ele mantiver uma tabela global ou cache de objetos -- com uma " +"instrução :keyword:`try` ele pode testar a presença da tabela e pular sua " +"inicialização se desejar::" #: ../../library/imp.rst:173 msgid "" "It is legal though generally not very useful to reload built-in or " -"dynamically loaded modules, except for :mod:`sys`, :mod:`__main__` and :mod:" -"`builtins`. In many cases, however, extension modules are not designed to be " -"initialized more than once, and may fail in arbitrary ways when reloaded." +"dynamically loaded modules, except for :mod:`sys`, :mod:`__main__` " +"and :mod:`builtins`. In many cases, however, extension modules are not " +"designed to be initialized more than once, and may fail in arbitrary ways " +"when reloaded." msgstr "" #: ../../library/imp.rst:178 msgid "" -"If a module imports objects from another module using :keyword:`from` ... :" -"keyword:`import` ..., calling :func:`reload` for the other module does not " -"redefine the objects imported from it --- one way around this is to re-" -"execute the :keyword:`!from` statement, another is to use :keyword:`!import` " -"and qualified names (*module*.*name*) instead." +"If a module imports objects from another module " +"using :keyword:`from` ... :keyword:`import` ..., calling :func:`reload` for " +"the other module does not redefine the objects imported from it --- one way " +"around this is to re-execute the :keyword:`!from` statement, another is to " +"use :keyword:`!import` and qualified names (*module*.*name*) instead." msgstr "" #: ../../library/imp.rst:184 @@ -262,6 +280,10 @@ msgid "" "--- they continue to use the old class definition. The same is true for " "derived classes." msgstr "" +"Se um módulo instancia instâncias de uma classe, recarregar o módulo que " +"define a classe não afeta as definições de método das instâncias -- elas " +"continuam a usar a definição de classe antiga. O mesmo se aplica às classes " +"derivadas." #: ../../library/imp.rst:188 msgid "" @@ -284,11 +306,11 @@ msgid "" "Return the :pep:`3147` path to the byte-compiled file associated with the " "source *path*. For example, if *path* is ``/foo/bar/baz.py`` the return " "value would be ``/foo/bar/__pycache__/baz.cpython-32.pyc`` for Python 3.2. " -"The ``cpython-32`` string comes from the current magic tag (see :func:" -"`get_tag`; if :attr:`sys.implementation.cache_tag` is not defined then :exc:" -"`NotImplementedError` will be raised). By passing in ``True`` or ``False`` " -"for *debug_override* you can override the system's value for ``__debug__``, " -"leading to optimized bytecode." +"The ``cpython-32`` string comes from the current magic tag " +"(see :func:`get_tag`; if :attr:`sys.implementation.cache_tag` is not defined " +"then :exc:`NotImplementedError` will be raised). By passing in ``True`` or " +"``False`` for *debug_override* you can override the system's value for " +"``__debug__``, leading to optimized bytecode." msgstr "" #: ../../library/imp.rst:212 @@ -297,8 +319,8 @@ msgstr "" #: ../../library/imp.rst:214 msgid "" -"If :attr:`sys.implementation.cache_tag` is ``None``, then :exc:" -"`NotImplementedError` is raised." +"If :attr:`sys.implementation.cache_tag` is ``None``, " +"then :exc:`NotImplementedError` is raised." msgstr "" #: ../../library/imp.rst:218 @@ -312,11 +334,11 @@ msgstr "" #: ../../library/imp.rst:227 msgid "" "Given the *path* to a :pep:`3147` file name, return the associated source " -"code file path. For example, if *path* is ``/foo/bar/__pycache__/baz." -"cpython-32.pyc`` the returned path would be ``/foo/bar/baz.py``. *path* " -"need not exist, however if it does not conform to :pep:`3147` format, a :exc:" -"`ValueError` is raised. If :attr:`sys.implementation.cache_tag` is not " -"defined, :exc:`NotImplementedError` is raised." +"code file path. For example, if *path* is ``/foo/bar/__pycache__/" +"baz.cpython-32.pyc`` the returned path would be ``/foo/bar/baz.py``. *path* " +"need not exist, however if it does not conform to :pep:`3147` format, " +"a :exc:`ValueError` is raised. If :attr:`sys.implementation.cache_tag` is " +"not defined, :exc:`NotImplementedError` is raised." msgstr "" #: ../../library/imp.rst:235 @@ -463,8 +485,8 @@ msgstr "Exemplos" msgid "" "The following function emulates what was the standard import statement up to " "Python 1.4 (no hierarchical module names). (This *implementation* wouldn't " -"work in that version, since :func:`find_module` has been extended and :func:" -"`load_module` has been added in 1.4.) ::" +"work in that version, since :func:`find_module` has been extended " +"and :func:`load_module` has been added in 1.4.) ::" msgstr "" #: ../../library/imp.rst:13 @@ -473,7 +495,7 @@ msgstr "instrução" #: ../../library/imp.rst:13 msgid "import" -msgstr "" +msgstr "import" #: ../../library/imp.rst:23 msgid "file" @@ -481,4 +503,4 @@ msgstr "arquivo" #: ../../library/imp.rst:23 msgid "byte-code" -msgstr "" +msgstr "byte-code" diff --git a/library/importlib.metadata.po b/library/importlib.metadata.po index cd1d6a719..1b87ec5e1 100644 --- a/library/importlib.metadata.po +++ b/library/importlib.metadata.po @@ -1,45 +1,43 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-07 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/importlib.metadata.rst:5 -msgid "Using :mod:`!importlib.metadata`" -msgstr "" +msgid ":mod:`!importlib.metadata` -- Accessing package metadata" +msgstr ":mod:`!importlib.metadata` -- Acessando metadados do pacote" #: ../../library/importlib.metadata.rst:11 msgid "``importlib.metadata`` is no longer provisional." -msgstr "" +msgstr "``importlib.metadata`` não é mais provisório." #: ../../library/importlib.metadata.rst:14 msgid "**Source code:** :source:`Lib/importlib/metadata/__init__.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/importlib/metadata/__init__.py`" #: ../../library/importlib.metadata.rst:16 msgid "" -"``importlib_metadata`` is a library that provides access to the metadata of " +"``importlib.metadata`` is a library that provides access to the metadata of " "an installed `Distribution Package `_, such as its entry points or its top-" "level names (`Import Package `_ instalado, como seus pontos de entrada ou " +"seus nomes de nível superior (`Pacotes de Importação `_, módulos, " +"se houver). Construída em parte no sistema de importação do Python, esta " +"biblioteca pretende substituir funcionalidades semelhantes na `API de ponto " +"de entrada`_ e `API de metadados`_ de ``pkg_resources``. Junto " +"com :mod:`importlib.resources`, este pacote pode eliminar a necessidade de " +"usar o pacote ``pkg_resources`` mais antigo e menos eficiente." #: ../../library/importlib.metadata.rst:27 msgid "" -"``importlib_metadata`` operates on third-party *distribution packages* " +"``importlib.metadata`` operates on third-party *distribution packages* " "installed into Python's ``site-packages`` directory via tools such as `pip " "`_. Specifically, it works with distributions " "with discoverable ``dist-info`` or ``egg-info`` directories, and metadata " @@ -67,10 +75,17 @@ msgid "" "level *import package* names that can be imported inside Python code. One " "*distribution package* can contain multiple *import packages* (and single " "modules), and one top-level *import package* may map to multiple " -"*distribution packages* if it is a namespace package. You can use :ref:" -"`package_distributions() ` to get a mapping between " -"them." -msgstr "" +"*distribution packages* if it is a namespace package. You can " +"use :ref:`package_distributions() ` to get a mapping " +"between them." +msgstr "" +"Eles *não* são necessariamente equivalentes ou correspondem 1:1 aos nomes de " +"*pacotes de importação* de nível superior que podem ser importados dentro do " +"código Python. Um *pacote de distribuição* pode conter vários *pacotes de " +"importação* (e módulos únicos), e um *pacote de importação* de nível " +"superior pode mapear para vários *pacotes de distribuição* se for um pacote " +"de espaço de nomes. Você pode usar :ref:`package_distributions() ` para obter um mapeamento entre eles." #: ../../library/importlib.metadata.rst:47 msgid "" @@ -78,20 +93,29 @@ msgid "" "archives on :data:`sys.path`. Through an extension mechanism, the metadata " "can live almost anywhere." msgstr "" +"Por padrão, os metadados de distribuição podem residir no sistema de " +"arquivos ou em arquivos zip em :data:`sys.path`. Através de um mecanismo de " +"extensão, os metadados podem residir em praticamente qualquer lugar." #: ../../library/importlib.metadata.rst:62 msgid "https://importlib-metadata.readthedocs.io/" -msgstr "" +msgstr "https://importlib-metadata.readthedocs.io/" #: ../../library/importlib.metadata.rst:56 msgid "" "The documentation for ``importlib_metadata``, which supplies a backport of " "``importlib.metadata``. This includes an `API reference `__ for this module's classes and " -"functions, as well as a `migration guide `__ for existing users of " +"functions, as well as a `migration guide `__ for existing users of " "``pkg_resources``." msgstr "" +"A documentação para ``importlib_metadata``, que fornece um backport de " +"``importlib.metadata``. Isso inclui uma `referência de API `__ para as classes e " +"funções deste módulo, bem como um `guia de migração `__ para usuários " +"existentes de ``pkg_resources``." #: ../../library/importlib.metadata.rst:67 msgid "Overview" @@ -104,29 +128,41 @@ msgid "" "Package>`_ you've installed using ``pip``. We start by creating a virtual " "environment and installing something into it:" msgstr "" +"Digamos que você queira obter a string da versão de um `Pacote de " +"Distribuição `_ que você instalou usando ``pip``. Começamos criando " +"um ambiente virtual e instalando algo nele:" #: ../../library/importlib.metadata.rst:80 msgid "You can get the version string for ``wheel`` by running the following:" msgstr "" +"Você pode obter a string de versão para ``wheel`` executando o seguinte:" #: ../../library/importlib.metadata.rst:89 msgid "" "You can also get a collection of entry points selectable by properties of " "the EntryPoint (typically 'group' or 'name'), such as ``console_scripts``, " -"``distutils.commands`` and others. Each group contains a collection of :ref:" -"`EntryPoint ` objects." +"``distutils.commands`` and others. Each group contains a collection " +"of :ref:`EntryPoint ` objects." msgstr "" +"Você também pode obter uma coleção de pontos de entrada selecionáveis pelas " +"propriedades do EntryPoint (normalmente 'group' ou 'name'), como " +"``console_scripts``, ``distutils.commands`` e outros. Cada grupo contém uma " +"coleção de objetos :ref:`EntryPoint `." #: ../../library/importlib.metadata.rst:93 msgid "You can get the :ref:`metadata for a distribution `::" -msgstr "" +msgstr "Você pode obter os :ref:`metadados para uma distribuição `::" #: ../../library/importlib.metadata.rst:98 msgid "" -"You can also get a :ref:`distribution's version number `, list its :" -"ref:`constituent files `, and get a list of the distribution's :ref:" -"`requirements`." +"You can also get a :ref:`distribution's version number `, list " +"its :ref:`constituent files `, and get a list of the " +"distribution's :ref:`requirements`." msgstr "" +"Você também pode obter uma :ref:`número da versão da distribuição " +"`, listar seus :ref:`arquivos constituintes ` e obter uma " +"lista dos :ref:`requirements` da distribuição." #: ../../library/importlib.metadata.rst:104 msgid "Functional API" @@ -135,23 +171,30 @@ msgstr "API funcional" #: ../../library/importlib.metadata.rst:106 msgid "This package provides the following functionality via its public API." msgstr "" +"Este pacote fornece a seguinte funcionalidade por meio de sua API pública." #: ../../library/importlib.metadata.rst:112 msgid "Entry points" -msgstr "" +msgstr "Pontos de entrada" #: ../../library/importlib.metadata.rst:114 msgid "" "The ``entry_points()`` function returns a collection of entry points. Entry " "points are represented by ``EntryPoint`` instances; each ``EntryPoint`` has " "a ``.name``, ``.group``, and ``.value`` attributes and a ``.load()`` method " -"to resolve the value. There are also ``.module``, ``.attr``, and ``." -"extras`` attributes for getting the components of the ``.value`` attribute." +"to resolve the value. There are also ``.module``, ``.attr``, and " +"``.extras`` attributes for getting the components of the ``.value`` " +"attribute." msgstr "" +"A função ``entry_points()`` retorna uma coleção de pontos de entrada. Os " +"pontos de entrada são representados por instâncias ``EntryPoint``; cada " +"``EntryPoint`` tem atributos ``.name``, ``.group`` e ``.value`` e um método " +"``.load()`` para resolver o valor. Existem também atributos ``.module``, " +"``.attr`` e ``.extras`` para obter os componentes do atributo ``.value``." #: ../../library/importlib.metadata.rst:121 msgid "Query all entry points::" -msgstr "" +msgstr "Consultar todos os pontos de entrada::" #: ../../library/importlib.metadata.rst:125 msgid "" @@ -159,31 +202,42 @@ msgid "" "collection of all ``EntryPoint`` objects with ``names`` and ``groups`` " "attributes for convenience::" msgstr "" +"A função ``entry_points()`` retorna um objeto ``EntryPoints``, uma coleção " +"de todos os objetos ``EntryPoint`` com atributos ``names`` e ``groups`` por " +"conveniência::" #: ../../library/importlib.metadata.rst:132 msgid "" "``EntryPoints`` has a ``select`` method to select entry points matching " "specific properties. Select entry points in the ``console_scripts`` group::" msgstr "" +"``EntryPoints`` possui um método ``select`` para selecionar pontos de " +"entrada que correspondam a propriedades específicas. Selecione pontos de " +"entrada no grupo ``console_scripts``::" #: ../../library/importlib.metadata.rst:138 msgid "" "Equivalently, since ``entry_points`` passes keyword arguments through to " "select::" msgstr "" +"Equivalentemente, já que ``entry_points`` passa argumento nomeado para " +"seleção::" #: ../../library/importlib.metadata.rst:143 msgid "" "Pick out a specific script named \"wheel\" (found in the wheel project)::" msgstr "" +"Escolha um script específico chamado \"wheel\" (encontrado no projeto " +"wheel)::" #: ../../library/importlib.metadata.rst:149 msgid "Equivalently, query for that entry point during selection::" msgstr "" +"De forma equivalente, consulte esse ponto de entrada durante a seleção::" #: ../../library/importlib.metadata.rst:154 msgid "Inspect the resolved entry point::" -msgstr "" +msgstr "Inspecione o ponto de entrada resolvido::" #: ../../library/importlib.metadata.rst:168 msgid "" @@ -193,10 +247,15 @@ msgid "" "latest/userguide/entry_point.html>`_ for more information on entry points, " "their definition, and usage." msgstr "" +"O ``group`` e ``name`` são valores arbitrários definidos pelo autor do " +"pacote e normalmente um cliente desejará resolver todos os pontos de entrada " +"para um grupo específico. Leia `a documentação do setuptools `_ para obter mais " +"informações sobre pontos de entrada, sua definição e uso." #: ../../library/importlib.metadata.rst:174 msgid "*Compatibility Note*" -msgstr "" +msgstr "*Notas de compatibilidade*" #: ../../library/importlib.metadata.rst:176 msgid "" @@ -212,7 +271,7 @@ msgstr "" #: ../../library/importlib.metadata.rst:189 msgid "Distribution metadata" -msgstr "" +msgstr "Metadados de distribuição" #: ../../library/importlib.metadata.rst:191 msgid "" @@ -220,6 +279,9 @@ msgid "" "#term-Distribution-Package>`_ includes some metadata, which you can extract " "using the ``metadata()`` function::" msgstr "" +"Cada `Pacote de Distribuição `_ inclui alguns metadados, que você " +"pode extrair usando a função ``metadata()``::" #: ../../library/importlib.metadata.rst:197 msgid "" @@ -227,68 +289,92 @@ msgid "" "metadata keywords, and the values are returned unparsed from the " "distribution metadata::" msgstr "" +"As chaves da estrutura de dados retornada, um ``PackageMetadata``, nomeiam " +"as palavras reservadas dos metadados, e os valores são retornados sem " +"análise dos metadados de distribuição::" #: ../../library/importlib.metadata.rst:204 msgid "" "``PackageMetadata`` also presents a ``json`` attribute that returns all the " "metadata in a JSON-compatible form per :PEP:`566`::" msgstr "" +"``PackageMetadata`` também apresenta um atributo ``json`` que retorna todos " +"os metadados em um formato compatível com JSON pela :PEP:`566`::" #: ../../library/importlib.metadata.rst:212 msgid "" "The actual type of the object returned by ``metadata()`` is an " "implementation detail and should be accessed only through the interface " -"described by the `PackageMetadata protocol `_." +"described by the `PackageMetadata protocol `_." msgstr "" +"O tipo real do objeto retornado por ``metadata()`` é um detalhe de " +"implementação e deve ser acessado somente através da interface descrita pelo " +"`protocolo PackageMetadata `_." #: ../../library/importlib.metadata.rst:217 msgid "" "The ``Description`` is now included in the metadata when presented through " "the payload. Line continuation characters have been removed." msgstr "" +"A ``Description`` agora é incluída nos metadados quando apresentada através " +"do payload. Os caracteres de continuação de linha foram removidos." #: ../../library/importlib.metadata.rst:221 msgid "The ``json`` attribute was added." -msgstr "" +msgstr "O atributo ``json`` foi adicionado." -#: ../../library/importlib.metadata.rst:228 +#: ../../library/importlib.metadata.rst:227 msgid "Distribution versions" -msgstr "" +msgstr "Versões de distribuição" -#: ../../library/importlib.metadata.rst:230 +#: ../../library/importlib.metadata.rst:229 msgid "" "The ``version()`` function is the quickest way to get a `Distribution " "Package `_'s version number, as a string::" msgstr "" +"A função ``version()`` é a maneira mais rápida de obter o número de versão " +"de um `Pacote de Distribuição `_, como uma string::" -#: ../../library/importlib.metadata.rst:241 +#: ../../library/importlib.metadata.rst:240 msgid "Distribution files" -msgstr "" +msgstr "Arquivos de distribuição" -#: ../../library/importlib.metadata.rst:243 +#: ../../library/importlib.metadata.rst:242 msgid "" "You can also get the full set of files contained within a distribution. The " -"``files()`` function takes a `Distribution Package `_ name and returns all of " -"the files installed by this distribution. Each file object returned is a " -"``PackagePath``, a :class:`pathlib.PurePath` derived object with additional " -"``dist``, ``size``, and ``hash`` properties as indicated by the metadata. " -"For example::" -msgstr "" - -#: ../../library/importlib.metadata.rst:260 +"``files()`` function takes a `Distribution Package `_ name " +"and returns all of the files installed by this distribution. Each file " +"object returned is a ``PackagePath``, a :class:`pathlib.PurePath` derived " +"object with additional ``dist``, ``size``, and ``hash`` properties as " +"indicated by the metadata. For example::" +msgstr "" +"Você também pode obter o conjunto completo de arquivos contidos em uma " +"distribuição. A função ``files()`` pega um nome `Pacote de Distribuição " +"`_ e retorna todos os arquivos instalados por este distribuição. " +"Cada objeto de arquivo retornado é um ``PackagePath``, um objeto derivado " +"de :class:`pathlib.PurePath` com propriedades adicionais ``dist``, ``size`` " +"e ``hash`` conforme indicado pelos metadados. Por exemplo::" + +#: ../../library/importlib.metadata.rst:259 msgid "Once you have the file, you can also read its contents::" msgstr "Uma vez que tenha o arquivo, você também pode ler seu conteúdo::" -#: ../../library/importlib.metadata.rst:271 +#: ../../library/importlib.metadata.rst:270 msgid "" "You can also use the ``locate`` method to get a the absolute path to the " "file::" msgstr "" +"Você também pode usar o método ``locate`` para obter o caminho absoluto para " +"o arquivo::" -#: ../../library/importlib.metadata.rst:277 +#: ../../library/importlib.metadata.rst:276 msgid "" "In the case where the metadata file listing files (RECORD or SOURCES.txt) is " "missing, ``files()`` will return ``None``. The caller may wish to wrap calls " @@ -297,36 +383,51 @@ msgid "" "this condition if the target distribution is not known to have the metadata " "present." msgstr "" +"No caso em que o arquivo de metadados que lista os arquivos (RECORD ou " +"SOURCES.txt) estiver faltando, ``files()`` retornará ``None``. O chamador " +"pode querer agrupar chamadas para ``files()`` em `always_iterable `_ ou de outra forma se proteger " +"contra isso condição se a distribuição de destino não for conhecida por ter " +"os metadados presentes." -#: ../../library/importlib.metadata.rst:288 +#: ../../library/importlib.metadata.rst:287 msgid "Distribution requirements" -msgstr "" +msgstr "Requisitos de distribuição" -#: ../../library/importlib.metadata.rst:290 +#: ../../library/importlib.metadata.rst:289 msgid "" "To get the full set of requirements for a `Distribution Package `_, use " "the ``requires()`` function::" msgstr "" +"Para obter o conjunto completo de requisitos para um `Pacote de Distribuição " +"`_, use a função ``requires()``::" -#: ../../library/importlib.metadata.rst:302 +#: ../../library/importlib.metadata.rst:301 msgid "Mapping import to distribution packages" -msgstr "" +msgstr "Mapeando importação pra pacotes de distribuição" -#: ../../library/importlib.metadata.rst:304 +#: ../../library/importlib.metadata.rst:303 msgid "" -"A convenience method to resolve the `Distribution Package `_ name (or names, " -"in the case of a namespace package) that provide each importable top-level " -"Python module or `Import Package `_::" +"A convenience method to resolve the `Distribution Package `_ name " +"(or names, in the case of a namespace package) that provide each importable " +"top-level Python module or `Import Package `_::" msgstr "" +"Um método conveniente para resolver o nome do `Pacote de Distribuição " +"`_ (ou nomes, no caso de um pacote de espaço de nomes) que fornece " +"cada módulo Python de nível superior importável ou `Pacote de Importação " +"`_::" -#: ../../library/importlib.metadata.rst:317 +#: ../../library/importlib.metadata.rst:316 msgid "Distributions" -msgstr "" +msgstr "Distribuições" -#: ../../library/importlib.metadata.rst:319 +#: ../../library/importlib.metadata.rst:318 msgid "" "While the above API is the most common and convenient usage, you can get all " "of that information from the ``Distribution`` class. A ``Distribution`` is " @@ -334,89 +435,126 @@ msgid "" "Package `_. You can get the ``Distribution`` instance::" msgstr "" +"Embora a API acima seja o uso mais comum e conveniente, você pode obter " +"todas essas informações na classe ``Distribution``. Uma ``Distribution`` é " +"um objeto abstrato que representa os metadados de um `Pacote de Distribuição " +"`_ do Python. Você pode obter a instância ``Distribution``::" -#: ../../library/importlib.metadata.rst:328 +#: ../../library/importlib.metadata.rst:327 msgid "" "Thus, an alternative way to get the version number is through the " "``Distribution`` instance::" msgstr "" +"Assim, uma forma alternativa de obter o número da versão é através da " +"instância ``Distribution``::" -#: ../../library/importlib.metadata.rst:334 +#: ../../library/importlib.metadata.rst:333 msgid "" "There are all kinds of additional metadata available on the ``Distribution`` " "instance::" msgstr "" +"Existem todos os tipos de metadados adicionais disponíveis na instância " +"``Distribution``::" -#: ../../library/importlib.metadata.rst:342 +#: ../../library/importlib.metadata.rst:341 msgid "" "The full set of available metadata is not described here. See the `Core " "metadata specifications `_ for additional details." msgstr "" +"O conjunto completo de metadados disponíveis não é descrito aqui. Consulte " +"as `Especificações de metadados principais `_ para obter " +"detalhes adicionais." -#: ../../library/importlib.metadata.rst:347 +#: ../../library/importlib.metadata.rst:346 msgid "Distribution Discovery" -msgstr "" +msgstr "Descoberta de distribuição" -#: ../../library/importlib.metadata.rst:349 +#: ../../library/importlib.metadata.rst:348 msgid "" "By default, this package provides built-in support for discovery of metadata " -"for file system and zip file `Distribution Package `_\\s. This metadata " -"finder search defaults to ``sys.path``, but varies slightly in how it " -"interprets those values from how other import machinery does. In particular:" +"for file system and zip file `Distribution Package `_\\s. " +"This metadata finder search defaults to ``sys.path``, but varies slightly in " +"how it interprets those values from how other import machinery does. In " +"particular:" msgstr "" +"Por padrão, este pacote fornece suporte embutido para descoberta de " +"metadados para sistema de arquivos e arquivo zip `Pacotes de Distribuição " +"`_. Esta pesquisa do localizador de metadados tem como padrão " +"``sys.path``, mas varia um pouco na maneira como ela interpreta esses " +"valores em relação a outras mecanismo de importação. Em particular:" -#: ../../library/importlib.metadata.rst:353 +#: ../../library/importlib.metadata.rst:352 msgid "" "``importlib.metadata`` does not honor :class:`bytes` objects on ``sys.path``." msgstr "" +"``importlib.metadata`` não honra objetos :class:`bytes` em ``sys.path``." -#: ../../library/importlib.metadata.rst:354 +#: ../../library/importlib.metadata.rst:353 msgid "" "``importlib.metadata`` will incidentally honor :py:class:`pathlib.Path` " "objects on ``sys.path`` even though such values will be ignored for imports." msgstr "" +"``importlib.metadata`` irá incidentalmente honrar " +"objetos :py:class:`pathlib.Path` em ``sys.path`` mesmo que tais valores " +"sejam ignorados para importações." -#: ../../library/importlib.metadata.rst:358 +#: ../../library/importlib.metadata.rst:357 msgid "Extending the search algorithm" -msgstr "" +msgstr "Estendendo o algoritmo de pesquisa" -#: ../../library/importlib.metadata.rst:360 +#: ../../library/importlib.metadata.rst:359 msgid "" "Because `Distribution Package `_ metadata is not available through :" -"data:`sys.path` searches, or package loaders directly, the metadata for a " -"distribution is found through import system `finders`_. To find a " -"distribution package's metadata, ``importlib.metadata`` queries the list of :" -"term:`meta path finders ` on :data:`sys.meta_path`." +"glossary/#term-Distribution-Package>`_ metadata is not available " +"through :data:`sys.path` searches, or package loaders directly, the metadata " +"for a distribution is found through import system `finders`_. To find a " +"distribution package's metadata, ``importlib.metadata`` queries the list " +"of :term:`meta path finders ` on :data:`sys.meta_path`." msgstr "" -#: ../../library/importlib.metadata.rst:368 +#: ../../library/importlib.metadata.rst:367 msgid "" -"By default ``importlib_metadata`` installs a finder for distribution " +"By default ``importlib.metadata`` installs a finder for distribution " "packages found on the file system. This finder doesn't actually find any " "*distributions*, but it can find their metadata." msgstr "" +"Por padrão ``importlib.metadata`` instala um localizador para pacotes de " +"distribuição encontrados no sistema de arquivos. Na verdade, esse " +"localizador não encontra nenhuma *distribuição*, mas pode encontrar seus " +"metadados." -#: ../../library/importlib.metadata.rst:373 +#: ../../library/importlib.metadata.rst:372 msgid "" "The abstract class :py:class:`importlib.abc.MetaPathFinder` defines the " -"interface expected of finders by Python's import system. ``importlib." -"metadata`` extends this protocol by looking for an optional " +"interface expected of finders by Python's import system. " +"``importlib.metadata`` extends this protocol by looking for an optional " "``find_distributions`` callable on the finders from :data:`sys.meta_path` " "and presents this extended interface as the ``DistributionFinder`` abstract " "base class, which defines this abstract method::" msgstr "" +"A classe abstrata :py:class:`importlib.abc.MetaPathFinder` define a " +"interface esperada dos localizadores pelo sistema de importação do Python. " +"``importlib.metadata`` estende este protocolo procurando por um chamável " +"``find_distributions`` opcional nos localizadores de :data:`sys.meta_path` e " +"apresenta esta interface estendida como a classe base abstrata " +"``DistributionFinder``, que define este método abstrato::" -#: ../../library/importlib.metadata.rst:387 +#: ../../library/importlib.metadata.rst:386 msgid "" "The ``DistributionFinder.Context`` object provides ``.path`` and ``.name`` " "properties indicating the path to search and name to match and may supply " "other relevant context." msgstr "" +"O objeto ``DistributionFinder.Context`` fornece propriedades ``.path`` e " +"``.name`` indicando o caminho para pesquisar e o nome a ser correspondido e " +"pode fornecer outro contexto relevante." -#: ../../library/importlib.metadata.rst:391 +#: ../../library/importlib.metadata.rst:390 msgid "" "What this means in practice is that to support finding distribution package " "metadata in locations other than the file system, subclass ``Distribution`` " @@ -424,3 +562,9 @@ msgid "" "instances of this derived ``Distribution`` in the ``find_distributions()`` " "method." msgstr "" +"O que isso significa na prática é que para prover suporte à localização de " +"metadados de pacotes de distribuição em outros locais fora do sistema de " +"arquivos, crie uma subclasse ``Distribution`` e implemente os métodos " +"abstratos. Então, a partir de um localizador personalizado, retorne " +"instâncias deste derivado de ``Distribution`` no método " +"``find_distributions()``." diff --git a/library/importlib.po b/library/importlib.po index 393f2f545..b1a550748 100644 --- a/library/importlib.po +++ b/library/importlib.po @@ -1,40 +1,36 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 -# Mario Candido, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/importlib.rst:2 msgid ":mod:`!importlib` --- The implementation of :keyword:`!import`" -msgstr ":mod:`!importlib` --- The implementation of :keyword:`!import`" +msgstr ":mod:`!importlib` --- A implementação de :keyword:`!import`" #: ../../library/importlib.rst:12 msgid "**Source code:** :source:`Lib/importlib/__init__.py`" -msgstr "**Código Fonte:** :source:`Lib/importlib/__init__.py`" +msgstr "**Código-fonte:** :source:`Lib/importlib/__init__.py`" #: ../../library/importlib.rst:18 msgid "Introduction" @@ -42,7 +38,7 @@ msgstr "Introdução" #: ../../library/importlib.rst:20 msgid "The purpose of the :mod:`importlib` package is three-fold." -msgstr "" +msgstr "O pacote :mod:`importlib` tem três propósitos." #: ../../library/importlib.rst:22 msgid "" @@ -53,6 +49,12 @@ msgid "" "to comprehend than one implemented in a programming language other than " "Python." msgstr "" +"Uma é fornecer a implementação da instrução :keyword:`import` (e, portanto, " +"por extensão, a função :func:`__import__`) no código-fonte Python. Isso " +"fornece uma implementação de :keyword:`!import` que é portável para qualquer " +"interpretador Python. Isso também fornece uma implementação que é mais fácil " +"de compreender do que aquela implementada em uma linguagem de programação " +"diferente do Python." #: ../../library/importlib.rst:29 msgid "" @@ -61,24 +63,34 @@ msgid "" "(known generically as an :term:`importer`) to participate in the import " "process." msgstr "" +"Dois, os componentes para implementar :keyword:`import` são expostos neste " +"pacote, tornando mais fácil para os usuários criarem seus próprios objetos " +"personalizados (conhecidos genericamente como :term:`importador`) para " +"participar do processo de importação." #: ../../library/importlib.rst:33 msgid "" "Three, the package contains modules exposing additional functionality for " "managing aspects of Python packages:" msgstr "" +"Terceiro, o pacote contém módulos que expõem funcionalidades adicionais para " +"gerenciar aspectos de pacotes Python:" #: ../../library/importlib.rst:36 msgid "" ":mod:`importlib.metadata` presents access to metadata from third-party " "distributions." msgstr "" +":mod:`importlib.metadata` apresenta acesso a metadados de distribuições de " +"terceiros." #: ../../library/importlib.rst:38 msgid "" ":mod:`importlib.resources` provides routines for accessing non-code " "\"resources\" from Python packages." msgstr "" +":mod:`importlib.resources` fornece rotinas para acessar \"recursos\" não " +"codificados de pacotes Python." #: ../../library/importlib.rst:44 msgid ":ref:`import`" @@ -92,14 +104,17 @@ msgstr "A referência da linguagem para a instrução :keyword:`import`." msgid "" "`Packages specification `__" msgstr "" -"`Espeficicação dos pacotes `__" +"`Especificação dos pacotes `__" #: ../../library/importlib.rst:47 msgid "" "Original specification of packages. Some semantics have changed since the " -"writing of this document (e.g. redirecting based on ``None`` in :data:`sys." -"modules`)." +"writing of this document (e.g. redirecting based on ``None`` " +"in :data:`sys.modules`)." msgstr "" +"Especificação original dos pacotes. Algumas semânticas mudaram desde a " +"redação deste documento (por exemplo, redirecionamento baseado em ``None`` " +"em :data:`sys.modules`)." #: ../../library/importlib.rst:52 msgid "The :func:`.__import__` function" @@ -107,15 +122,15 @@ msgstr "A função :func:`.__import__`" #: ../../library/importlib.rst:52 msgid "The :keyword:`import` statement is syntactic sugar for this function." -msgstr "" +msgstr "A instrução :keyword:`import` é um açúcar sintático para esta função." #: ../../library/importlib.rst:55 msgid ":ref:`sys-path-init`" -msgstr "" +msgstr ":ref:`sys-path-init`" #: ../../library/importlib.rst:55 msgid "The initialization of :data:`sys.path`." -msgstr "" +msgstr "A inicialização de :data:`sys.path`." #: ../../library/importlib.rst:58 msgid ":pep:`235`" @@ -123,7 +138,7 @@ msgstr ":pep:`235`" #: ../../library/importlib.rst:58 msgid "Import on Case-Insensitive Platforms" -msgstr "" +msgstr "Importação em plataformas que diferenciam maiúsculo de minúsculo" #: ../../library/importlib.rst:61 msgid ":pep:`263`" @@ -131,7 +146,7 @@ msgstr ":pep:`263`" #: ../../library/importlib.rst:61 msgid "Defining Python Source Code Encodings" -msgstr "" +msgstr "Definindo codificações do código-fonte do Python" #: ../../library/importlib.rst:64 msgid ":pep:`302`" @@ -139,7 +154,7 @@ msgstr ":pep:`302`" #: ../../library/importlib.rst:64 msgid "New Import Hooks" -msgstr "" +msgstr "Novos ganchos de importação" #: ../../library/importlib.rst:67 msgid ":pep:`328`" @@ -147,7 +162,7 @@ msgstr ":pep:`328`" #: ../../library/importlib.rst:67 msgid "Imports: Multi-Line and Absolute/Relative" -msgstr "Importa: Multi-Linha e Absoluto/Relativo" +msgstr "Importações: Multilinha e Absoluto/Relativo" #: ../../library/importlib.rst:70 msgid ":pep:`366`" @@ -155,7 +170,7 @@ msgstr ":pep:`366`" #: ../../library/importlib.rst:70 msgid "Main module explicit relative imports" -msgstr "" +msgstr "Importações relativas explícitas do módulo principal" #: ../../library/importlib.rst:73 msgid ":pep:`420`" @@ -163,7 +178,7 @@ msgstr ":pep:`420`" #: ../../library/importlib.rst:73 msgid "Implicit namespace packages" -msgstr "" +msgstr "Pacotes de espaço de nomes implícitos" #: ../../library/importlib.rst:76 msgid ":pep:`451`" @@ -171,7 +186,7 @@ msgstr ":pep:`451`" #: ../../library/importlib.rst:76 msgid "A ModuleSpec Type for the Import System" -msgstr "" +msgstr "Um tipo de ModuleSpec para o sistema de importação" #: ../../library/importlib.rst:79 msgid ":pep:`488`" @@ -187,7 +202,7 @@ msgstr ":pep:`489`" #: ../../library/importlib.rst:82 msgid "Multi-phase extension module initialization" -msgstr "inicialização de módulo extensão Multi-fase" +msgstr "Inicialização de módulo extensão multifase" #: ../../library/importlib.rst:85 msgid ":pep:`552`" @@ -195,7 +210,7 @@ msgstr ":pep:`552`" #: ../../library/importlib.rst:85 msgid "Deterministic pycs" -msgstr "" +msgstr "pycs determinísticos" #: ../../library/importlib.rst:88 msgid ":pep:`3120`" @@ -203,7 +218,7 @@ msgstr ":pep:`3120`" #: ../../library/importlib.rst:88 msgid "Using UTF-8 as the Default Source Encoding" -msgstr "Usando UFT-8 como fonte padrão de codificação" +msgstr "Usando UTF-8 como fonte padrão de codificação" #: ../../library/importlib.rst:90 msgid ":pep:`3147`" @@ -211,7 +226,7 @@ msgstr ":pep:`3147`" #: ../../library/importlib.rst:91 msgid "PYC Repository Directories" -msgstr "" +msgstr "Diretórios de repositório de PYC" #: ../../library/importlib.rst:95 msgid "Functions" @@ -219,13 +234,15 @@ msgstr "Funções" #: ../../library/importlib.rst:99 msgid "An implementation of the built-in :func:`__import__` function." -msgstr "" +msgstr "Uma implementação da função embutida :func:`__import__`." #: ../../library/importlib.rst:102 msgid "" "Programmatic importing of modules should use :func:`import_module` instead " "of this function." msgstr "" +"A importação programática de módulos deve usar :func:`import_module` em vez " +"desta função." #: ../../library/importlib.rst:107 msgid "" @@ -236,16 +253,29 @@ msgid "" "package name (e.g. ``import_module('..mod', 'pkg.subpkg')`` will import " "``pkg.mod``)." msgstr "" +"Importa um módulo. O argumento *name* especifica qual módulo importar em " +"termos absolutos ou relativos (por exemplo, ``pkg.mod`` ou ``..mod``). Se o " +"nome for especificado em termos relativos, então o argumento *package* deve " +"ser definido como o nome do pacote que atuará como âncora para resolver o " +"nome do pacote (por exemplo, ``import_module('..mod', 'pkg.subpkg')`` " +"importará ``pkg.mod``)." #: ../../library/importlib.rst:115 msgid "" -"The :func:`import_module` function acts as a simplifying wrapper around :" -"func:`importlib.__import__`. This means all semantics of the function are " -"derived from :func:`importlib.__import__`. The most important difference " -"between these two functions is that :func:`import_module` returns the " -"specified package or module (e.g. ``pkg.mod``), while :func:`__import__` " +"The :func:`import_module` function acts as a simplifying wrapper " +"around :func:`importlib.__import__`. This means all semantics of the " +"function are derived from :func:`importlib.__import__`. The most important " +"difference between these two functions is that :func:`import_module` returns " +"the specified package or module (e.g. ``pkg.mod``), while :func:`__import__` " "returns the top-level package or module (e.g. ``pkg``)." msgstr "" +"A função :func:`import_module` atua como um wrapper simplificador em torno " +"de :func:`importlib.__import__`. Isso significa que toda a semântica da " +"função é derivada de :func:`importlib.__import__`. A diferença mais " +"importante entre essas duas funções é que :func:`import_module` retorna o " +"pacote ou módulo especificado (por exemplo, ``pkg.mod``), " +"enquanto :func:`__import__` retorna o pacote ou módulo de nível superior " +"(por exemplo, ``pkg``)." #: ../../library/importlib.rst:122 msgid "" @@ -254,18 +284,23 @@ msgid "" "need to call :func:`invalidate_caches` in order for the new module to be " "noticed by the import system." msgstr "" +"Se você estiver importando dinamicamente um módulo que foi criado desde que " +"o interpretador iniciou a execução (por exemplo, criou um arquivo fonte " +"Python), você pode precisar chamar :func:`invalidate_caches` para que o novo " +"módulo seja notado pelo sistema de importação." #: ../../library/importlib.rst:127 msgid "Parent packages are automatically imported." -msgstr "" +msgstr "Os pacotes pai são importados automaticamente." #: ../../library/importlib.rst:132 msgid "" "Find the loader for a module, optionally within the specified *path*. If the " "module is in :attr:`sys.modules`, then ``sys.modules[name].__loader__`` is " -"returned (unless the loader would be ``None`` or is not set, in which case :" -"exc:`ValueError` is raised). Otherwise a search using :attr:`sys.meta_path` " -"is done. ``None`` is returned if no loader is found." +"returned (unless the loader would be ``None`` or is not set, in which " +"case :exc:`ValueError` is raised). Otherwise a search " +"using :attr:`sys.meta_path` is done. ``None`` is returned if no loader is " +"found." msgstr "" #: ../../library/importlib.rst:138 @@ -284,7 +319,7 @@ msgstr "" #: ../../library/importlib.rst:149 msgid "Use :func:`importlib.util.find_spec` instead." -msgstr "" +msgstr "Use :func:`importlib.util.find_spec`." #: ../../library/importlib.rst:154 msgid "" @@ -294,12 +329,20 @@ msgid "" "created/installed while your program is running to guarantee all finders " "will notice the new module's existence." msgstr "" +"Invalida os caches internos dos localizadores armazenados " +"em :data:`sys.meta_path`. Se um localizador implementar " +"``invalidate_caches()`` então ele será chamado para realizar a invalidação. " +"Esta função deve ser chamada se algum módulo for criado/instalado enquanto " +"seu programa estiver em execução para garantir que todos os localizadores " +"notarão a existência do novo módulo." #: ../../library/importlib.rst:162 msgid "" "Namespace packages created/installed in a different :data:`sys.path` " "location after the same namespace was already imported are noticed." msgstr "" +"Pacotes de espaço de nomes criados/instalados em um local :data:`sys.path` " +"diferente após o mesmo espaço de nomes já ter sido importado são notados." #: ../../library/importlib.rst:168 msgid "" @@ -310,10 +353,16 @@ msgid "" "return value is the module object (which can be different if re-importing " "causes a different object to be placed in :data:`sys.modules`)." msgstr "" +"Recarrega um *module* importado anteriormente. O argumento deve ser um " +"objeto módulo, portanto deve ter sido importado com êxito antes. Isso é útil " +"se você editou o arquivo fonte do módulo usando um editor externo e deseja " +"experimentar a nova versão sem sair do interpretador Python. O valor de " +"retorno é o objeto módulo (que pode ser diferente se a reimportação fizer " +"com que um objeto diferente seja colocado em :data:`sys.modules`)." #: ../../library/importlib.rst:175 msgid "When :func:`reload` is executed:" -msgstr "" +msgstr "Quando :func:`reload` é executado:" #: ../../library/importlib.rst:177 msgid "" @@ -323,18 +372,27 @@ msgid "" "module. The ``init`` function of extension modules is not called a second " "time." msgstr "" +"O código do módulo Python é recompilado e o código em nível de módulo é " +"reexecutado, definindo um novo conjunto de objetos que são vinculados a " +"nomes no dicionário do módulo reutilizando o :term:`carregador` que " +"originalmente carregou o módulo. A função ``init`` dos módulos de extensão " +"não é chamada uma segunda vez." #: ../../library/importlib.rst:183 msgid "" "As with all other objects in Python the old objects are only reclaimed after " "their reference counts drop to zero." msgstr "" +"Tal como acontece com todos os outros objetos em Python, os objetos antigos " +"só são recuperados depois que suas contagens de referências caem para zero." #: ../../library/importlib.rst:186 msgid "" "The names in the module namespace are updated to point to any new or changed " "objects." msgstr "" +"Os nomes no espaço de nomes do módulo são atualizados para apontar para " +"quaisquer objetos novos ou alterados." #: ../../library/importlib.rst:189 msgid "" @@ -342,10 +400,13 @@ msgid "" "are not rebound to refer to the new objects and must be updated in each " "namespace where they occur if that is desired." msgstr "" +"Outras referências aos objetos antigos (como nomes externos ao módulo) não " +"são religadas para se referir aos novos objetos e devem ser atualizadas em " +"cada espaço de nomes onde ocorrem, se isso for desejado." #: ../../library/importlib.rst:193 msgid "There are a number of other caveats:" -msgstr "" +msgstr "Existem várias outras ressalvas:" #: ../../library/importlib.rst:195 msgid "" @@ -358,6 +419,14 @@ msgid "" "statement it can test for the table's presence and skip its initialization " "if desired::" msgstr "" +"Quando um módulo é recarregado, seu dicionário (contendo as variáveis " +"globais do módulo) é retido. As redefinições de nomes vão substituir as " +"definições antigas, portanto isso geralmente não é um problema. Se a nova " +"versão de um módulo não definir um nome definido pela versão antiga, a " +"definição antiga permanecerá. Este recurso pode ser usado para vantagem do " +"módulo se ele mantiver uma tabela global ou cache de objetos -- com uma " +"instrução :keyword:`try` ele pode testar a presença da tabela e pular sua " +"inicialização se desejar::" #: ../../library/importlib.rst:209 msgid "" @@ -367,15 +436,25 @@ msgid "" "designed to be initialized more than once, and may fail in arbitrary ways " "when reloaded." msgstr "" +"Geralmente não é muito útil recarregar módulos embutidos ou carregados " +"dinamicamente. Recarregar :mod:`sys`, :mod:`__main__`, :mod:`builtins` e " +"outros módulos principais não é recomendado. Em muitos casos, os módulos de " +"extensão não são projetados para serem inicializados mais de uma vez e podem " +"falhar de maneiras arbitrárias quando recarregados." #: ../../library/importlib.rst:215 msgid "" -"If a module imports objects from another module using :keyword:`from` ... :" -"keyword:`import` ..., calling :func:`reload` for the other module does not " -"redefine the objects imported from it --- one way around this is to re-" -"execute the :keyword:`!from` statement, another is to use :keyword:`!import` " -"and qualified names (*module.name*) instead." +"If a module imports objects from another module " +"using :keyword:`from` ... :keyword:`import` ..., calling :func:`reload` for " +"the other module does not redefine the objects imported from it --- one way " +"around this is to re-execute the :keyword:`!from` statement, another is to " +"use :keyword:`!import` and qualified names (*module.name*) instead." msgstr "" +"Se um módulo importa objetos de outro módulo " +"usando :keyword:`from` ... :keyword:`import` ..., chamar :func:`reload` para " +"o outro módulo não redefine os objetos importados dele -- uma maneira de " +"contornar isso é executar novamente a instrução :keyword:`!from`, outra é " +"usar :keyword:`!import` e nomes qualificados (*module.name*)." #: ../../library/importlib.rst:221 msgid "" @@ -384,20 +463,27 @@ msgid "" "--- they continue to use the old class definition. The same is true for " "derived classes." msgstr "" +"Se um módulo instancia instâncias de uma classe, recarregar o módulo que " +"define a classe não afeta as definições de método das instâncias -- elas " +"continuam a usar a definição de classe antiga. O mesmo se aplica às classes " +"derivadas." #: ../../library/importlib.rst:227 msgid "" -":exc:`ModuleNotFoundError` is raised when the module being reloaded lacks a :" -"class:`~importlib.machinery.ModuleSpec`." +":exc:`ModuleNotFoundError` is raised when the module being reloaded lacks " +"a :class:`~importlib.machinery.ModuleSpec`." msgstr "" +":exc:`ModuleNotFoundError` é levantada quando o módulo que está sendo " +"recarregado não possui um :class:`~importlib.machinery.ModuleSpec`." #: ../../library/importlib.rst:233 msgid ":mod:`importlib.abc` -- Abstract base classes related to import" msgstr "" +":mod:`importlib.abc` -- classes base abstratas relacionadas a importação" #: ../../library/importlib.rst:238 msgid "**Source code:** :source:`Lib/importlib/abc.py`" -msgstr "**Codigo fonte:** :source:`Lib/importlib/abc.py`" +msgstr "**Código-fonte:** :source:`Lib/importlib/abc.py`" #: ../../library/importlib.rst:243 msgid "" @@ -405,10 +491,14 @@ msgid "" "classes used by :keyword:`import`. Some subclasses of the core abstract base " "classes are also provided to help in implementing the core ABCs." msgstr "" +"O módulo :mod:`importlib.abc` contém todas as principais classes base " +"abstratas usadas por :keyword:`import`. Algumas subclasses das classes base " +"abstratas principais também são fornecidas para ajudar na implementação dss " +"ABCs principais." #: ../../library/importlib.rst:247 msgid "ABC hierarchy::" -msgstr "Hierarquia ABC::" +msgstr "Hierarquia de ABC::" #: ../../library/importlib.rst:263 msgid "An abstract base class representing a :term:`finder`." @@ -421,8 +511,8 @@ msgstr "" #: ../../library/importlib.rst:270 msgid "" "An abstract method for finding a :term:`loader` for the specified module. " -"Originally specified in :pep:`302`, this method was meant for use in :data:" -"`sys.meta_path` and in the path-based import subsystem." +"Originally specified in :pep:`302`, this method was meant for use " +"in :data:`sys.meta_path` and in the path-based import subsystem." msgstr "" #: ../../library/importlib.rst:274 @@ -432,13 +522,15 @@ msgstr "" #: ../../library/importlib.rst:278 msgid "" -"Implement :meth:`MetaPathFinder.find_spec` or :meth:`PathEntryFinder." -"find_spec` instead." +"Implement :meth:`MetaPathFinder.find_spec` " +"or :meth:`PathEntryFinder.find_spec` instead." msgstr "" #: ../../library/importlib.rst:285 msgid "An abstract base class representing a :term:`meta path finder`." msgstr "" +"Uma classe base abstrata que representa um :term:`localizador de " +"metacaminho`." #: ../../library/importlib.rst:289 ../../library/importlib.rst:344 msgid "No longer a subclass of :class:`Finder`." @@ -455,14 +547,23 @@ msgid "" "return. :func:`importlib.util.spec_from_loader` may be useful for " "implementing concrete ``MetaPathFinders``." msgstr "" +"Um método abstrato para encontrar um :term:`spec ` para o " +"módulo especificado. Se esta for uma importação de nível superior, *path* " +"será ``None``. Caso contrário, esta é uma busca por um subpacote ou módulo e " +"*path* será o valor de :attr:`__path__` do pacote pai. Se uma especificação " +"não puder ser encontrada, ``None`` será retornado. Quando passado, " +"``target`` é um objeto de módulo que o localizador pode usar para fazer uma " +"estimativa mais informada sobre qual especificação " +"retornar. :func:`importlib.util.spec_from_loader` pode ser útil para " +"implementar ``MetaPathFinders`` concretos." #: ../../library/importlib.rst:308 msgid "" "A legacy method for finding a :term:`loader` for the specified module. If " "this is a top-level import, *path* will be ``None``. Otherwise, this is a " -"search for a subpackage or module and *path* will be the value of :attr:" -"`__path__` from the parent package. If a loader cannot be found, ``None`` is " -"returned." +"search for a subpackage or module and *path* will be the value " +"of :attr:`__path__` from the parent package. If a loader cannot be found, " +"``None`` is returned." msgstr "" #: ../../library/importlib.rst:314 @@ -489,29 +590,45 @@ msgid "" "used by the finder. Used by :func:`importlib.invalidate_caches` when " "invalidating the caches of all finders on :data:`sys.meta_path`." msgstr "" +"Um método opcional que, quando chamado, deve invalidar qualquer cache " +"interno usado pelo localizador. Usado " +"por :func:`importlib.invalidate_caches` ao invalidar os caches de todos os " +"localizadores em :data:`sys.meta_path`." #: ../../library/importlib.rst:331 -msgid "Returns ``None`` when called instead of ``NotImplemented``." -msgstr "" +msgid "Returns ``None`` when called instead of :data:`NotImplemented`." +msgstr "Retorna ``None`` quando chamado em vez de :data:`NotImplemented`." #: ../../library/importlib.rst:337 msgid "" "An abstract base class representing a :term:`path entry finder`. Though it " "bears some similarities to :class:`MetaPathFinder`, ``PathEntryFinder`` is " -"meant for use only within the path-based import subsystem provided by :class:" -"`importlib.machinery.PathFinder`." +"meant for use only within the path-based import subsystem provided " +"by :class:`importlib.machinery.PathFinder`." msgstr "" +"Uma classe base abstrata que representa um :term:`localizador de entrada de " +"caminho`. Embora tenha algumas semelhanças com :class:`MetaPathFinder`, " +"``PathEntryFinder`` deve ser usado apenas dentro do subsistema de importação " +"baseado em caminho fornecido por :class:`importlib.machinery.PathFinder`." #: ../../library/importlib.rst:349 msgid "" "An abstract method for finding a :term:`spec ` for the " -"specified module. The finder will search for the module only within the :" -"term:`path entry` to which it is assigned. If a spec cannot be found, " +"specified module. The finder will search for the module only within " +"the :term:`path entry` to which it is assigned. If a spec cannot be found, " "``None`` is returned. When passed in, ``target`` is a module object that " -"the finder may use to make a more educated guess about what spec to return. :" -"func:`importlib.util.spec_from_loader` may be useful for implementing " -"concrete ``PathEntryFinders``." +"the finder may use to make a more educated guess about what spec to " +"return. :func:`importlib.util.spec_from_loader` may be useful for " +"implementing concrete ``PathEntryFinders``." msgstr "" +"Um método abstrato para encontrar um :term:`spec ` para o " +"módulo especificado. O localizador irá procurar pelo módulo apenas dentro " +"do :term:`entrada de caminho` ao qual ele está atribuído. Se um spec não " +"puder ser encontrado, ``None`` será retornado. Quando passado, ``target`` é " +"um objeto de módulo que o localizador pode usar para fazer uma estimativa " +"mais informada sobre qual spec " +"retornar. :func:`importlib.util.spec_from_loader` pode ser útil para " +"implementar ``PathEntryFinders`` concretos." #: ../../library/importlib.rst:361 msgid "" @@ -534,8 +651,8 @@ msgstr "" #: ../../library/importlib.rst:374 msgid "" -"Returns ``(None, [])`` instead of raising :exc:`NotImplementedError`. Uses :" -"meth:`find_spec` when available to provide functionality." +"Returns ``(None, [])`` instead of raising :exc:`NotImplementedError`. " +"Uses :meth:`find_spec` when available to provide functionality." msgstr "" #: ../../library/importlib.rst:383 @@ -547,26 +664,36 @@ msgstr "" #: ../../library/importlib.rst:391 msgid "" "An optional method which, when called, should invalidate any internal cache " -"used by the finder. Used by :meth:`importlib.machinery.PathFinder." -"invalidate_caches` when invalidating the caches of all cached finders." +"used by the finder. Used " +"by :meth:`importlib.machinery.PathFinder.invalidate_caches` when " +"invalidating the caches of all cached finders." msgstr "" +"Um método opcional que, quando chamado, deve invalidar qualquer cache " +"interno usado pelo localizador. Usado " +"por :meth:`importlib.machinery.PathFinder.invalidate_caches` ao invalidar os " +"caches de todos os localizadores em cache." #: ../../library/importlib.rst:399 msgid "" "An abstract base class for a :term:`loader`. See :pep:`302` for the exact " "definition for a loader." msgstr "" +"Uma classe base abstrata para um :term:`carregador`. Veja :pep:`302` para a " +"definição exata de um carregador." #: ../../library/importlib.rst:402 msgid "" -"Loaders that wish to support resource reading should implement a :meth:" -"`get_resource_reader` method as specified by :class:`importlib.resources.abc." -"ResourceReader`." +"Loaders that wish to support resource reading should implement " +"a :meth:`get_resource_reader` method as specified " +"by :class:`importlib.resources.abc.ResourceReader`." msgstr "" +"Carregadores que desejam oferecer suporte a leitura de recursos devem " +"implementar um método :meth:`get_resource_reader` conforme especificado " +"por :class:`importlib.resources.abc.ResourceReader`." #: ../../library/importlib.rst:406 msgid "Introduced the optional :meth:`get_resource_reader` method." -msgstr "" +msgstr "Introduzido o método opcional :meth:`get_resource_reader`." #: ../../library/importlib.rst:411 msgid "" @@ -574,28 +701,39 @@ msgid "" "This method may return ``None``, indicating that default module creation " "semantics should take place." msgstr "" +"Um método que retorna o objeto do módulo a ser usado ao importar um módulo. " +"Este método pode retornar ``None``, indicando que a semântica padrão de " +"criação do módulo deve ocorrer." #: ../../library/importlib.rst:417 msgid "This method is no longer optional when :meth:`exec_module` is defined." -msgstr "" +msgstr "Este método não é mais opcional quando :meth:`exec_module` é definido." #: ../../library/importlib.rst:423 msgid "" "An abstract method that executes the module in its own namespace when a " "module is imported or reloaded. The module should already be initialized " -"when :meth:`exec_module` is called. When this method exists, :meth:" -"`create_module` must be defined." +"when :meth:`exec_module` is called. When this method " +"exists, :meth:`create_module` must be defined." msgstr "" +"Um método abstrato que executa o módulo em seu próprio espaço de nomes " +"quando um módulo é importado ou recarregado. O módulo já deve estar " +"inicializado quando :meth:`exec_module` for chamado. Quando este método " +"existir, :meth:`create_module` deve ser definido." #: ../../library/importlib.rst:430 msgid ":meth:`create_module` must also be defined." -msgstr "" +msgstr ":meth:`create_module` deve ser definido." #: ../../library/importlib.rst:435 msgid "" -"A legacy method for loading a module. If the module cannot be loaded, :exc:" -"`ImportError` is raised, otherwise the loaded module is returned." +"A legacy method for loading a module. If the module cannot be " +"loaded, :exc:`ImportError` is raised, otherwise the loaded module is " +"returned." msgstr "" +"Um método legado para carregar um módulo. Se o módulo não puder ser " +"carregado, :exc:`ImportError` será levantada, caso contrário, o módulo " +"carregado será retornado." #: ../../library/importlib.rst:439 msgid "" @@ -613,6 +751,8 @@ msgid "" "The loader should set several attributes on the module (note that some of " "these attributes can change when a module is reloaded):" msgstr "" +"O carregador deve definir vários atributos no módulo (observe que alguns " +"desses atributos podem mudar quando um módulo é recarregado):" #: ../../library/importlib.rst:454 msgid ":attr:`__name__`" @@ -623,6 +763,8 @@ msgid "" "The module's fully qualified name. It is ``'__main__'`` for an executed " "module." msgstr "" +"O nome totalmente qualificado do módulo. É ``'__main__'`` para um módulo " +"executado." #: ../../library/importlib.rst:459 msgid ":attr:`__file__`" @@ -634,6 +776,9 @@ msgid "" "modules loaded from a .py file this is the filename. It is not set on all " "modules (e.g. built-in modules)." msgstr "" +"O local que o :term:`carregador` usou para carregar o módulo. Por exemplo, " +"para módulos carregados de um arquivo .py, este é o nome do arquivo. Não " +"está definido em todos os módulos (por exemplo, módulos embutidos)." #: ../../library/importlib.rst:463 msgid ":attr:`__cached__`" @@ -644,6 +789,8 @@ msgid "" "The filename of a compiled version of the module's code. It is not set on " "all modules (e.g. built-in modules)." msgstr "" +"O nome do arquivo de uma versão compilada do código do módulo. Não está " +"definido em todos os módulos (por exemplo, módulos embutido)." #: ../../library/importlib.rst:471 msgid ":attr:`__path__`" @@ -653,10 +800,16 @@ msgstr ":attr:`__path__`" msgid "" "The list of locations where the package's submodules will be found. Most of " "the time this is a single directory. The import system passes this attribute " -"to ``__import__()`` and to finders in the same way as :attr:`sys.path` but " +"to ``__import__()`` and to finders in the same way as :data:`sys.path` but " "just for the package. It is not set on non-package modules so it can be used " "as an indicator that the module is a package." msgstr "" +"A lista de locais onde os submódulos do pacote serão encontrados. Na maioria " +"das vezes, este é um único diretório. O sistema de importação passa este " +"atributo para ``__import__()`` e para os localizadores da mesma forma " +"que :data:`sys.path` mas apenas para o pacote. Não é definido em módulos que " +"não são de pacote, portanto pode ser usado como um indicador de que o módulo " +"é um pacote." #: ../../library/importlib.rst:476 msgid ":attr:`__package__`" @@ -668,6 +821,9 @@ msgid "" "string for a top-level module). If the module is a package then this is the " "same as :attr:`__name__`." msgstr "" +"O nome totalmente qualificado do pacote em que o módulo está (ou a string " +"vazia para um módulo de nível superior). Se o módulo for um pacote então é o " +"mesmo que :attr:`__name__`." #: ../../library/importlib.rst:479 msgid ":attr:`__loader__`" @@ -675,34 +831,44 @@ msgstr ":attr:`__loader__`" #: ../../library/importlib.rst:479 msgid "The :term:`loader` used to load the module." -msgstr "" +msgstr "O :term:`carregador` usado para carregar o módulo." #: ../../library/importlib.rst:481 msgid "" "When :meth:`exec_module` is available then backwards-compatible " "functionality is provided." msgstr "" +"Quando :meth:`exec_module` está disponível, então a funcionalidade " +"compatível com versões anteriores é fornecida." #: ../../library/importlib.rst:484 msgid "" "Raise :exc:`ImportError` when called instead of :exc:`NotImplementedError`. " "Functionality provided when :meth:`exec_module` is available." msgstr "" +"Levanta :exc:`ImportError` quando chamado em vez " +"de :exc:`NotImplementedError`. Funcionalidade fornecida " +"quando :meth:`exec_module` está disponível." #: ../../library/importlib.rst:489 msgid "" -"The recommended API for loading a module is :meth:`exec_module` (and :meth:" -"`create_module`). Loaders should implement it instead of :meth:" -"`load_module`. The import machinery takes care of all the other " +"The recommended API for loading a module is :meth:`exec_module` " +"(and :meth:`create_module`). Loaders should implement it instead " +"of :meth:`load_module`. The import machinery takes care of all the other " "responsibilities of :meth:`load_module` when :meth:`exec_module` is " "implemented." msgstr "" +"A API recomendada para carregar um módulo é :meth:`exec_module` " +"(e :meth:`create_module`). Os carregadores devem implementá-lo em vez " +"de :meth:`load_module`. O mecanismo de importação cuida de todas as outras " +"responsabilidades de :meth:`load_module` quando :meth:`exec_module` é " +"implementado." #: ../../library/importlib.rst:498 msgid "" "A legacy method which when implemented calculates and returns the given " -"module's representation, as a string. The module type's default :meth:" -"`__repr__` will use the result of this method as appropriate." +"module's representation, as a string. The module type's " +"default :meth:`__repr__` will use the result of this method as appropriate." msgstr "" #: ../../library/importlib.rst:504 @@ -715,15 +881,21 @@ msgstr "" #: ../../library/importlib.rst:513 msgid "" -"An abstract base class for a :term:`loader` which implements the optional :" -"pep:`302` protocol for loading arbitrary resources from the storage back-end." +"An abstract base class for a :term:`loader` which implements the " +"optional :pep:`302` protocol for loading arbitrary resources from the " +"storage back-end." msgstr "" +"Uma classe base abstrata para um :term:`carregador` que implementa o " +"protocolo opcional :pep:`302` para carregar recursos arbitrários do back-end " +"de armazenamento." #: ../../library/importlib.rst:517 msgid "" -"This ABC is deprecated in favour of supporting resource loading through :" -"class:`importlib.resources.abc.ResourceReader`." +"This ABC is deprecated in favour of supporting resource loading " +"through :class:`importlib.resources.abc.ResourceReader`." msgstr "" +"Este ABC foi descontinuado em favor do suporte ao carregamento de recursos " +"por meio de :class:`importlib.resources.abc.ResourceReader`." #: ../../library/importlib.rst:523 msgid "" @@ -734,16 +906,25 @@ msgid "" "*path* is expected to be constructed using a module's :attr:`__file__` " "attribute or an item from a package's :attr:`__path__`." msgstr "" +"Um método abstrato para retornar os bytes dos dados localizados em *path*. " +"Carregadores que possuem um backend de armazenamento arquivo ou similar que " +"permite o armazenamento de dados arbitrários podem implementar esse método " +"abstrato para fornecer acesso direto aos dados armazenados. :exc:`OSError` " +"deve ser levantada se o *path* não puder ser encontrado. Espera-se que o " +"*path* seja construído usando o atributo :attr:`__file__` de um módulo ou um " +"item de :attr:`__path__` de um pacote." #: ../../library/importlib.rst:531 msgid "Raises :exc:`OSError` instead of :exc:`NotImplementedError`." -msgstr "" +msgstr "Levanta :exc:`OSError` em vez de :exc:`NotImplementedError`." #: ../../library/importlib.rst:537 msgid "" -"An abstract base class for a :term:`loader` which implements the optional :" -"pep:`302` protocol for loaders that inspect modules." +"An abstract base class for a :term:`loader` which implements the " +"optional :pep:`302` protocol for loaders that inspect modules." msgstr "" +"Uma classe base abstrata para um :term:`carregador` que implementa o " +"protocolo opcional da :pep:`302` para carregadores que inspecionam módulos." #: ../../library/importlib.rst:542 msgid "" @@ -751,16 +932,22 @@ msgid "" "a code object (as would be the case, for example, for a built-in module). " "Raise an :exc:`ImportError` if loader cannot find the requested module." msgstr "" +"Retorna o objeto de código para um módulo, ou ``None`` se o módulo não tiver " +"um objeto código (como seria o caso, por exemplo, para um módulo embutido). " +"Levanta um :exc:`ImportError` se o carregador não conseguir encontrar o " +"módulo solicitado." #: ../../library/importlib.rst:548 msgid "" "While the method has a default implementation, it is suggested that it be " "overridden if possible for performance." msgstr "" +"Embora o método tenha uma implementação padrão, sugere-se que ele seja " +"substituído, se possível, para desempenho." #: ../../library/importlib.rst:554 msgid "No longer abstract and a concrete implementation is provided." -msgstr "" +msgstr "Não é mais abstrato e uma implementação concreta é fornecida." #: ../../library/importlib.rst:559 msgid "" @@ -770,11 +957,17 @@ msgid "" "available (e.g. a built-in module). Raises :exc:`ImportError` if the loader " "cannot find the module specified." msgstr "" +"Um método abstrato para retornar a fonte de um módulo. Ele é retornado como " +"uma string de texto usando :term:`novas linhas universais`, traduzindo todos " +"os separadores de linha reconhecidos em caracteres ``'\\n'``. Retorna " +"``None`` se nenhuma fonte estiver disponível (por exemplo, um módulo " +"embutido). Levanta :exc:`ImportError` se o carregador não puder encontrar o " +"módulo especificado." #: ../../library/importlib.rst:565 ../../library/importlib.rst:574 #: ../../library/importlib.rst:624 msgid "Raises :exc:`ImportError` instead of :exc:`NotImplementedError`." -msgstr "" +msgstr "Levanta :exc:`ImportError` em vez de :exc:`NotImplementedError`." #: ../../library/importlib.rst:570 msgid "" @@ -782,40 +975,49 @@ msgid "" "false value otherwise. :exc:`ImportError` is raised if the :term:`loader` " "cannot find the module." msgstr "" +"Um método opcional para retornar um valor verdadeiro se o módulo for um " +"pacote, um valor falso caso contrário. :exc:`ImportError` é levantada se " +"o :term:`carregador` não puder encontrar o módulo." #: ../../library/importlib.rst:579 msgid "Create a code object from Python source." -msgstr "" +msgstr "Cria um objeto código a partir de código-fonte Python" #: ../../library/importlib.rst:581 msgid "" -"The *data* argument can be whatever the :func:`compile` function supports (i." -"e. string or bytes). The *path* argument should be the \"path\" to where the " -"source code originated from, which can be an abstract concept (e.g. location " -"in a zip file)." +"The *data* argument can be whatever the :func:`compile` function supports " +"(i.e. string or bytes). The *path* argument should be the \"path\" to where " +"the source code originated from, which can be an abstract concept (e.g. " +"location in a zip file)." msgstr "" +"O argumento *data* pode ser qualquer coisa a qual a função :func:`compile` " +"tenha suporte (por exemplo, string ou bytes). O argumento *path* deve ser o " +"\"caminho\" de onde o código-fonte se originou, o que pode ser um conceito " +"abstrato (por exemplo, local em um arquivo zip)." #: ../../library/importlib.rst:586 msgid "" "With the subsequent code object one can execute it in a module by running " "``exec(code, module.__dict__)``." msgstr "" +"Com o objeto de código subsequente, é possível executá-lo em um módulo " +"executando ``exec(code, module.__dict__)``." #: ../../library/importlib.rst:591 msgid "Made the method static." -msgstr "" +msgstr "O método foi tornado estático." #: ../../library/importlib.rst:596 msgid "Implementation of :meth:`Loader.exec_module`." -msgstr "" +msgstr "Implementação de :meth:`Loader.exec_module`." #: ../../library/importlib.rst:602 msgid "Implementation of :meth:`Loader.load_module`." -msgstr "" +msgstr "Implementação de :meth:`Loader.load_module`." #: ../../library/importlib.rst:604 msgid "use :meth:`exec_module` instead." -msgstr "" +msgstr "use :meth:`exec_module`." #: ../../library/importlib.rst:610 msgid "" @@ -823,35 +1025,50 @@ msgid "" "implemented, helps a module to be executed as a script. The ABC represents " "an optional :pep:`302` protocol." msgstr "" +"Uma classe base abstrata que herda de :class:`InspectLoader` que, quando " +"implementada, ajuda um módulo a ser executado como um script. A ABC " +"representa um protocolo opcional da :pep:`302`." #: ../../library/importlib.rst:616 msgid "" "An abstract method that is to return the value of :attr:`__file__` for the " "specified module. If no path is available, :exc:`ImportError` is raised." msgstr "" +"Um método abstrato que deve retornar o valor de :attr:`__file__` para o " +"módulo especificado. Se nenhum caminho estiver " +"disponível, :exc:`ImportError` é levantada." #: ../../library/importlib.rst:620 msgid "" "If source code is available, then the method should return the path to the " "source file, regardless of whether a bytecode was used to load the module." msgstr "" +"Se o código-fonte estiver disponível, o método deverá retornar o caminho " +"para o arquivo fonte, independentemente de um bytecode ter sido usado para " +"carregar o módulo." #: ../../library/importlib.rst:630 msgid "" -"An abstract base class which inherits from :class:`ResourceLoader` and :" -"class:`ExecutionLoader`, providing concrete implementations of :meth:" -"`ResourceLoader.get_data` and :meth:`ExecutionLoader.get_filename`." +"An abstract base class which inherits from :class:`ResourceLoader` " +"and :class:`ExecutionLoader`, providing concrete implementations " +"of :meth:`ResourceLoader.get_data` and :meth:`ExecutionLoader.get_filename`." msgstr "" +"Uma classe base abstrata que herda de :class:`ResourceLoader` " +"e :class:`ExecutionLoader`, fornecendo implementações concretas " +"de :meth:`ResourceLoader.get_data` e :meth:`ExecutionLoader.get_filename`." #: ../../library/importlib.rst:634 msgid "" "The *fullname* argument is a fully resolved name of the module the loader is " "to handle. The *path* argument is the path to the file for the module." msgstr "" +"O argumento *fullname* é um nome totalmente resolvido do módulo que o " +"carregador deve manipular. O argumento *path* é o caminho para o arquivo do " +"módulo." #: ../../library/importlib.rst:641 msgid "The name of the module the loader can handle." -msgstr "" +msgstr "O nome do módulo que o carregador pode manipular." #: ../../library/importlib.rst:645 msgid "Path to the file of the module." @@ -859,26 +1076,29 @@ msgstr "Caminho para o arquivo do módulo" #: ../../library/importlib.rst:649 msgid "Calls super's ``load_module()``." -msgstr "" +msgstr "Chama ``load_module()`` do super." #: ../../library/importlib.rst:651 msgid "Use :meth:`Loader.exec_module` instead." -msgstr "" +msgstr "Use :meth:`Loader.exec_module`" #: ../../library/importlib.rst:656 ../../library/importlib.rst:1104 msgid "Returns :attr:`path`." -msgstr "" +msgstr "Retorna :attr:`path`." #: ../../library/importlib.rst:660 msgid "Reads *path* as a binary file and returns the bytes from it." -msgstr "" +msgstr "Lê *caminho* como um arquivo binário e retorna os bytes dele." #: ../../library/importlib.rst:665 msgid "" "An abstract base class for implementing source (and optionally bytecode) " -"file loading. The class inherits from both :class:`ResourceLoader` and :" -"class:`ExecutionLoader`, requiring the implementation of:" +"file loading. The class inherits from both :class:`ResourceLoader` " +"and :class:`ExecutionLoader`, requiring the implementation of:" msgstr "" +"Uma classe base abstrata para implementar o carregamento de arquivo fonte (e " +"opcionalmente bytecode). A classe herda de :class:`ResourceLoader` " +"e :class:`ExecutionLoader`, exigindo a implementação de:" #: ../../library/importlib.rst:669 msgid ":meth:`ResourceLoader.get_data`" @@ -893,50 +1113,69 @@ msgid "" "Should only return the path to the source file; sourceless loading is not " "supported." msgstr "" +"Deve retornar apenas o caminho para o arquivo fonte; o carregamento sem " +"fonte não é suportado." #: ../../library/importlib.rst:674 msgid "" "The abstract methods defined by this class are to add optional bytecode file " -"support. Not implementing these optional methods (or causing them to raise :" -"exc:`NotImplementedError`) causes the loader to only work with source code. " -"Implementing the methods allows the loader to work with source *and* " +"support. Not implementing these optional methods (or causing them to " +"raise :exc:`NotImplementedError`) causes the loader to only work with source " +"code. Implementing the methods allows the loader to work with source *and* " "bytecode files; it does not allow for *sourceless* loading where only " "bytecode is provided. Bytecode files are an optimization to speed up " "loading by removing the parsing step of Python's compiler, and so no " "bytecode-specific API is exposed." msgstr "" +"Os métodos abstratos definidos por esta classe são para adicionar suporte " +"opcional ao arquivo bytecode. Não implementar esses métodos opcionais (ou " +"fazer com que eles levantem :exc:`NotImplementedError`) faz com que o " +"carregador funcione apenas com código-fonte. Implementar os métodos permite " +"que o carregador funcione com arquivos de código-fonte *e* bytecode; ele não " +"permite carregamento *sem fonte* onde apenas o bytecode é fornecido. " +"Arquivos de bytecode são uma otimização para acelerar o carregamento " +"removendo a etapa de análise do compilador do Python e, portanto, nenhuma " +"API específica de bytecode é exposta." #: ../../library/importlib.rst:685 msgid "" "Optional abstract method which returns a :class:`dict` containing metadata " "about the specified path. Supported dictionary keys are:" msgstr "" +"Método abstrato opcional que retorna um :class:`dict` contendo metadados " +"sobre o caminho especificado. As chaves de dicionário suportadas são:" #: ../../library/importlib.rst:688 msgid "" "``'mtime'`` (mandatory): an integer or floating-point number representing " "the modification time of the source code;" msgstr "" +"``'mtime'`` (obrigatório): um número inteiro ou de ponto flutuante que " +"representa o tempo de modificação do código-fonte;" #: ../../library/importlib.rst:690 msgid "``'size'`` (optional): the size in bytes of the source code." -msgstr "" +msgstr "``'size'`` (opcional): o tamanho em bytes do código-fonte." #: ../../library/importlib.rst:692 msgid "" "Any other keys in the dictionary are ignored, to allow for future " "extensions. If the path cannot be handled, :exc:`OSError` is raised." msgstr "" +"Quaisquer outras chaves no dicionário são ignoradas, para permitir extensões " +"futuras. Se o caminho não puder ser manipulado, :exc:`OSError` é levantada." #: ../../library/importlib.rst:697 ../../library/importlib.rst:710 msgid "Raise :exc:`OSError` instead of :exc:`NotImplementedError`." -msgstr "" +msgstr "Levanta :exc:`OSError` em vez de :exc:`NotImplementedError`." #: ../../library/importlib.rst:702 msgid "" "Optional abstract method which returns the modification time for the " "specified path." msgstr "" +"Método abstrato opcional que retorna o horário de modificação do caminho " +"especificado." #: ../../library/importlib.rst:705 msgid "" @@ -944,6 +1183,10 @@ msgid "" "to implement it, but it is still available for compatibility purposes. " "Raise :exc:`OSError` if the path cannot be handled." msgstr "" +"Este método foi descontinuado em favor de :meth:`path_stats`. Você não " +"precisa implementá-lo, mas ele ainda está disponível para fins de " +"compatibilidade. Levanta :exc:`OSError` se o caminho não puder ser " +"manipulado." #: ../../library/importlib.rst:715 msgid "" @@ -951,113 +1194,146 @@ msgid "" "Any intermediate directories which do not exist are to be created " "automatically." msgstr "" +"Método abstrato opcional que grava os bytes especificados em um caminho de " +"arquivo. Quaisquer diretórios intermediários que não existam devem ser " +"criados automaticamente." #: ../../library/importlib.rst:719 msgid "" -"When writing to the path fails because the path is read-only (:attr:`errno." -"EACCES`/:exc:`PermissionError`), do not propagate the exception." +"When writing to the path fails because the path is read-only " +"(:const:`errno.EACCES`/:exc:`PermissionError`), do not propagate the " +"exception." msgstr "" +"Quando a gravação no caminho falhar porque o caminho é somente leitura " +"(:const:`errno.EACCES`/:exc:`PermissionError`), não propaga a exceção." #: ../../library/importlib.rst:723 msgid "No longer raises :exc:`NotImplementedError` when called." -msgstr "" +msgstr "Não mais levanta :exc:`NotImplementedError` quando chamado." #: ../../library/importlib.rst:728 msgid "Concrete implementation of :meth:`InspectLoader.get_code`." -msgstr "" +msgstr "Implementação concreta de :meth:`InspectLoader.get_code`." #: ../../library/importlib.rst:732 msgid "Concrete implementation of :meth:`Loader.exec_module`." -msgstr "" +msgstr "Implementação concreta de :meth:`Loader.exec_module`." #: ../../library/importlib.rst:738 msgid "Concrete implementation of :meth:`Loader.load_module`." -msgstr "" +msgstr "Implementação concreta de :meth:`Loader.load_module`." #: ../../library/importlib.rst:740 msgid "Use :meth:`exec_module` instead." -msgstr "" +msgstr "Use :meth:`exec_module`." #: ../../library/importlib.rst:745 msgid "Concrete implementation of :meth:`InspectLoader.get_source`." -msgstr "" +msgstr "Implementação concreta de :meth:`InspectLoader.get_source`." #: ../../library/importlib.rst:749 msgid "" "Concrete implementation of :meth:`InspectLoader.is_package`. A module is " -"determined to be a package if its file path (as provided by :meth:" -"`ExecutionLoader.get_filename`) is a file named ``__init__`` when the file " -"extension is removed **and** the module name itself does not end in " +"determined to be a package if its file path (as provided " +"by :meth:`ExecutionLoader.get_filename`) is a file named ``__init__`` when " +"the file extension is removed **and** the module name itself does not end in " "``__init__``." msgstr "" +"Implementação concreta de :meth:`InspectLoader.is_package`. Um módulo é " +"determinado como um pacote se seu caminho de arquivo (conforme fornecido " +"por :meth:`ExecutionLoader.get_filename`) for um arquivo chamado " +"``__init__`` quando a extensão do arquivo for removida **e** o nome do " +"módulo em si não terminar em ``__init__``." #: ../../library/importlib.rst:758 msgid ":mod:`importlib.machinery` -- Importers and path hooks" -msgstr "" +msgstr ":mod:`importlib.machinery` -- Importadores e ganchos de caminho" #: ../../library/importlib.rst:763 msgid "**Source code:** :source:`Lib/importlib/machinery.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/importlib/machinery.py`" #: ../../library/importlib.rst:767 msgid "" "This module contains the various objects that help :keyword:`import` find " "and load modules." msgstr "" +"Este módulo contém vários objetos que ajudam o :keyword:`import` a localizar " +"e carregar módulos." #: ../../library/importlib.rst:772 msgid "" "A list of strings representing the recognized file suffixes for source " "modules." msgstr "" +"Uma lista de strings representando os sufixos de arquivo reconhecidos para " +"módulos em código-fonte." #: ../../library/importlib.rst:779 msgid "" "A list of strings representing the file suffixes for non-optimized bytecode " "modules." msgstr "" +"Uma lista de strings representando os sufixos de arquivo para módulos em " +"bytecode não otimizado." #: ../../library/importlib.rst:784 ../../library/importlib.rst:794 msgid "Use :attr:`BYTECODE_SUFFIXES` instead." -msgstr "" +msgstr "Use :attr:`BYTECODE_SUFFIXES`." #: ../../library/importlib.rst:789 msgid "" "A list of strings representing the file suffixes for optimized bytecode " "modules." msgstr "" +"Uma lista de strings representando os sufixos de arquivo para módulos em " +"bytecode otimizado." #: ../../library/importlib.rst:799 msgid "" "A list of strings representing the recognized file suffixes for bytecode " "modules (including the leading dot)." msgstr "" +"Uma lista de strings representando os sufixos de arquivo reconhecidos para " +"módulos em bytecode (incluindo com ponto no início)." #: ../../library/importlib.rst:804 msgid "The value is no longer dependent on ``__debug__``." -msgstr "" +msgstr "O valor não mais depende de ``__debug__``." #: ../../library/importlib.rst:809 msgid "" "A list of strings representing the recognized file suffixes for extension " "modules." msgstr "" +"Uma lista de strings representando os sufixos de arquivo reconhecidos para " +"módulos de extensão." #: ../../library/importlib.rst:816 msgid "" "Returns a combined list of strings representing all file suffixes for " "modules recognized by the standard import machinery. This is a helper for " "code which simply needs to know if a filesystem path potentially refers to a " -"module without needing any details on the kind of module (for example, :func:" -"`inspect.getmodulename`)." +"module without needing any details on the kind of module (for " +"example, :func:`inspect.getmodulename`)." msgstr "" +"Retorna uma lista combinada de strings representando todos os sufixos de " +"arquivo para módulos reconhecidos pelo maquinário de importação padrão. Este " +"é um auxiliar para código que simplesmente precisa saber se um caminho de " +"sistema de arquivos potencialmente se refere a um módulo sem precisar de " +"detalhes sobre o tipo de módulo (por exemplo, :func:`inspect.getmodulename`)." #: ../../library/importlib.rst:827 msgid "" "An :term:`importer` for built-in modules. All known built-in modules are " -"listed in :data:`sys.builtin_module_names`. This class implements the :class:" -"`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs." +"listed in :data:`sys.builtin_module_names`. This class implements " +"the :class:`importlib.abc.MetaPathFinder` " +"and :class:`importlib.abc.InspectLoader` ABCs." msgstr "" +"Um :term:`importador` para módulos embutidos. Todos os módulos embutidos " +"conhecidos estão listados em :data:`sys.builtin_module_names`. Esta classe " +"implementa os ABCs :class:`importlib.abc.MetaPathFinder` " +"e :class:`importlib.abc.InspectLoader`." #: ../../library/importlib.rst:832 ../../library/importlib.rst:846 #: ../../library/importlib.rst:859 ../../library/importlib.rst:874 @@ -1065,35 +1341,49 @@ msgid "" "Only class methods are defined by this class to alleviate the need for " "instantiation." msgstr "" +"Somente métodos de classe são definidos por esta classe para aliviar a " +"necessidade de instanciação." #: ../../library/importlib.rst:835 msgid "" -"As part of :pep:`489`, the builtin importer now implements :meth:`Loader." -"create_module` and :meth:`Loader.exec_module`" +"As part of :pep:`489`, the builtin importer now " +"implements :meth:`Loader.create_module` and :meth:`Loader.exec_module`" msgstr "" +"Como parte da :pep:`489`, o importador embutido agora " +"implementa :meth:`Loader.create_module` e :meth:`Loader.exec_module`" #: ../../library/importlib.rst:842 msgid "" -"An :term:`importer` for frozen modules. This class implements the :class:" -"`importlib.abc.MetaPathFinder` and :class:`importlib.abc.InspectLoader` ABCs." +"An :term:`importer` for frozen modules. This class implements " +"the :class:`importlib.abc.MetaPathFinder` " +"and :class:`importlib.abc.InspectLoader` ABCs." msgstr "" +"Um :term:`importador` para módulos congelados. Esta classe implementa os " +"ABCs :class:`importlib.abc.MetaPathFinder` " +"e :class:`importlib.abc.InspectLoader`." #: ../../library/importlib.rst:849 msgid "" "Gained :meth:`~Loader.create_module` and :meth:`~Loader.exec_module` methods." msgstr "" +"Ganhou os métodos :meth:`~Loader.create_module` " +"e :meth:`~Loader.exec_module`." #: ../../library/importlib.rst:856 msgid "" ":term:`Finder ` for modules declared in the Windows registry. This " "class implements the :class:`importlib.abc.MetaPathFinder` ABC." msgstr "" +":term:`Localizador ` para módulos declarados no registro do Windows. " +"Esta classe implementa a ABC :class:`importlib.abc.MetaPathFinder`." #: ../../library/importlib.rst:864 msgid "" "Use :mod:`site` configuration instead. Future versions of Python may not " "enable this finder by default." msgstr "" +"Use a configuração de :mod:`site` em vez disso. Versões futuras do Python " +"podem não habilitar esse localizador por padrão." #: ../../library/importlib.rst:871 msgid "" @@ -1101,27 +1391,46 @@ msgid "" "attributes. This class implements the :class:`importlib.abc.MetaPathFinder` " "ABC." msgstr "" +"Um :term:`Localizador ` para atributos :data:`sys.path` e pacote " +"``__path__``. Esta classe implementa a " +"ABC :class:`importlib.abc.MetaPathFinder`." #: ../../library/importlib.rst:879 msgid "" "Class method that attempts to find a :term:`spec ` for the " "module specified by *fullname* on :data:`sys.path` or, if defined, on " -"*path*. For each path entry that is searched, :data:`sys." -"path_importer_cache` is checked. If a non-false object is found then it is " -"used as the :term:`path entry finder` to look for the module being searched " -"for. If no entry is found in :data:`sys.path_importer_cache`, then :data:" -"`sys.path_hooks` is searched for a finder for the path entry and, if found, " -"is stored in :data:`sys.path_importer_cache` along with being queried about " -"the module. If no finder is ever found then ``None`` is both stored in the " -"cache and returned." -msgstr "" +"*path*. For each path entry that is " +"searched, :data:`sys.path_importer_cache` is checked. If a non-false object " +"is found then it is used as the :term:`path entry finder` to look for the " +"module being searched for. If no entry is found " +"in :data:`sys.path_importer_cache`, then :data:`sys.path_hooks` is searched " +"for a finder for the path entry and, if found, is stored " +"in :data:`sys.path_importer_cache` along with being queried about the " +"module. If no finder is ever found then ``None`` is both stored in the cache " +"and returned." +msgstr "" +"Método de classe que tenta encontrar um :term:`spec ` para o " +"módulo especificado por *fullname* em :data:`sys.path` ou, se definido, em " +"*path*. Para cada entrada de caminho " +"pesquisada, :data:`sys.path_importer_cache` é verificado. Se um objeto não " +"falso for encontrado, ele será usado como o :term:`localizador de entrada de " +"caminho` para procurar o módulo que está sendo pesquisado. Se nenhuma " +"entrada for encontrada em :data:`sys.path_importer_cache`, " +"então :data:`sys.path_hooks` será pesquisado para um localizador para a " +"entrada de caminho e, se encontrado, será armazenado " +"em :data:`sys.path_importer_cache` junto com a consulta sobre o módulo. Se " +"nenhum localizador for encontrado, então ``None`` será armazenado no cache e " +"retornado." #: ../../library/importlib.rst:893 msgid "" "If the current working directory -- represented by an empty string -- is no " -"longer valid then ``None`` is returned but no value is cached in :data:`sys." -"path_importer_cache`." +"longer valid then ``None`` is returned but no value is cached " +"in :data:`sys.path_importer_cache`." msgstr "" +"Se o diretório de trabalho atual — representado por uma string vazia — não " +"for mais válido, ``None`` será retornado, mas nenhum valor será armazenado " +"em cache em :data:`sys.path_importer_cache`." #: ../../library/importlib.rst:900 msgid "A legacy wrapper around :meth:`find_spec`." @@ -1133,28 +1442,38 @@ msgid "" "stored in :data:`sys.path_importer_cache` that define the method. Otherwise " "entries in :data:`sys.path_importer_cache` set to ``None`` are deleted." msgstr "" +"Chama :meth:`importlib.abc.PathEntryFinder.invalidate_caches` em todos os " +"localizadores armazenados em :data:`sys.path_importer_cache` que definem o " +"método. Caso contrário, as entradas em :data:`sys.path_importer_cache` " +"definidas como ``None`` são excluídas." #: ../../library/importlib.rst:912 msgid "Entries of ``None`` in :data:`sys.path_importer_cache` are deleted." -msgstr "" +msgstr "Entradas de ``None`` em :data:`sys.path_importer_cache` são excluídas." #: ../../library/importlib.rst:915 msgid "" "Calls objects in :data:`sys.path_hooks` with the current working directory " "for ``''`` (i.e. the empty string)." msgstr "" +"Chama objetos em :data:`sys.path_hooks` com o diretório de trabalho atual " +"para ``''`` (ou seja, a string vazia)." #: ../../library/importlib.rst:922 msgid "" "A concrete implementation of :class:`importlib.abc.PathEntryFinder` which " "caches results from the file system." msgstr "" +"Uma implementação concreta de :class:`importlib.abc.PathEntryFinder` que " +"armazena em cache os resultados do sistema de arquivos." #: ../../library/importlib.rst:925 msgid "" "The *path* argument is the directory for which the finder is in charge of " "searching." msgstr "" +"O argumento *path* é o diretório que o localizador é responsável por " +"pesquisar." #: ../../library/importlib.rst:928 msgid "" @@ -1163,6 +1482,11 @@ msgid "" "The loaders are expected to be callables which accept two arguments of the " "module's name and the path to the file found." msgstr "" +"O argumento *loader_details* é um número variável de tuplas de 2 itens, cada " +"uma contendo um carregador e uma sequência de sufixos de arquivo que o " +"carregador reconhece. Espera-se que os carregadores sejam chamáveis que " +"aceitam dois argumentos do nome do módulo e o caminho para o arquivo " +"encontrado." #: ../../library/importlib.rst:933 msgid "" @@ -1176,14 +1500,25 @@ msgid "" "prevent this from happening, when you create a module dynamically, make sure " "to call :func:`importlib.invalidate_caches`." msgstr "" +"O localizador armazenará em cache o conteúdo do diretório conforme " +"necessário, fazendo chamadas de \"stat\" para cada pesquisa de módulo para " +"verificar se o cache não está desatualizado. Como a obsolescência do cache " +"depende da granularidade das informações de estado do sistema operacional do " +"sistema de arquivos, há uma condição de corrida potencial de busca por um " +"módulo, criação de um novo arquivo e, em seguida, busca pelo módulo que o " +"novo arquivo representa. Se as operações ocorrerem rápido o suficiente para " +"caber na granularidade das chamadas de \"stat\", a pesquisa do módulo " +"falhará. Para evitar que isso aconteça, ao criar um módulo dinamicamente, " +"certifique-se de chamar :func:`importlib.invalidate_caches`." #: ../../library/importlib.rst:947 msgid "The path the finder will search in." -msgstr "" +msgstr "O caminho que o localizador irá procurar." #: ../../library/importlib.rst:951 msgid "Attempt to find the spec to handle *fullname* within :attr:`path`." msgstr "" +"Tenta encontrar o spec para manipular *fullname* dentro de :attr:`path`." #: ../../library/importlib.rst:957 msgid "Attempt to find the loader to handle *fullname* within :attr:`path`." @@ -1191,20 +1526,26 @@ msgstr "" #: ../../library/importlib.rst:964 msgid "Clear out the internal cache." -msgstr "" +msgstr "Limpa o cache interno." #: ../../library/importlib.rst:968 msgid "" -"A class method which returns a closure for use on :attr:`sys.path_hooks`. An " +"A class method which returns a closure for use on :data:`sys.path_hooks`. An " "instance of :class:`FileFinder` is returned by the closure using the path " "argument given to the closure directly and *loader_details* indirectly." msgstr "" +"Um método de classe que retorna uma clausura para uso " +"em :data:`sys.path_hooks`. Uma instância de :class:`FileFinder` é retornada " +"pela clausura usando o argumento de caminho dado à clausura diretamente e " +"*loader_details* indiretamente." #: ../../library/importlib.rst:973 msgid "" -"If the argument to the closure is not an existing directory, :exc:" -"`ImportError` is raised." +"If the argument to the closure is not an existing " +"directory, :exc:`ImportError` is raised." msgstr "" +"Se o argumento para a clausura não for um diretório " +"existente, :exc:`ImportError` será levantada." #: ../../library/importlib.rst:979 msgid "" @@ -1212,43 +1553,52 @@ msgid "" "subclassing :class:`importlib.abc.FileLoader` and providing some concrete " "implementations of other methods." msgstr "" +"Uma implementação concreta de :class:`importlib.abc.SourceLoader` " +"subclassificando :class:`importlib.abc.FileLoader` e fornecendo algumas " +"implementações concretas de outros métodos." #: ../../library/importlib.rst:987 msgid "The name of the module that this loader will handle." -msgstr "" +msgstr "O nome do módulo que este carregador irá manipular." #: ../../library/importlib.rst:991 msgid "The path to the source file." -msgstr "" +msgstr "O caminho para o arquivo fonte." #: ../../library/importlib.rst:995 msgid "Return ``True`` if :attr:`path` appears to be for a package." -msgstr "" +msgstr "Retorna ``True`` se :attr:`path` parecer ser para um pacote." #: ../../library/importlib.rst:999 msgid "" "Concrete implementation of :meth:`importlib.abc.SourceLoader.path_stats`." msgstr "" +"Implementação concreta de :meth:`importlib.abc.SourceLoader.path_stats`." #: ../../library/importlib.rst:1003 msgid "Concrete implementation of :meth:`importlib.abc.SourceLoader.set_data`." -msgstr "" +msgstr "Implementação concreta de :meth:`importlib.abc.SourceLoader.set_data`." #: ../../library/importlib.rst:1007 ../../library/importlib.rst:1050 msgid "" "Concrete implementation of :meth:`importlib.abc.Loader.load_module` where " "specifying the name of the module to load is optional." msgstr "" +"Implementação concreta de :meth:`importlib.abc.Loader.load_module` onde a " +"especificação do nome do módulo para carregar é opcional" #: ../../library/importlib.rst:1012 ../../library/importlib.rst:1055 msgid "Use :meth:`importlib.abc.Loader.exec_module` instead." -msgstr "" +msgstr "Use :meth:`importlib.abc.Loader.exec_module`." #: ../../library/importlib.rst:1017 msgid "" "A concrete implementation of :class:`importlib.abc.FileLoader` which can " "import bytecode files (i.e. no source code files exist)." msgstr "" +"Uma implementação concreta de :class:`importlib.abc.FileLoader` que pode " +"importar arquivos de bytecode (ou seja, não existem arquivos de código-" +"fonte)." #: ../../library/importlib.rst:1020 msgid "" @@ -1256,71 +1606,88 @@ msgid "" "files) inhibits your modules from being usable by all Python implementations " "or new versions of Python which change the bytecode format." msgstr "" +"Observe que o uso direto de arquivos de bytecode (e, portanto, não de " +"arquivos de código-fonte) impede que seus módulos sejam utilizáveis por " +"todas as implementações do Python ou novas versões do Python que alteram o " +"formato do bytecode." #: ../../library/importlib.rst:1029 msgid "The name of the module the loader will handle." -msgstr "" +msgstr "O nome do módulo que o carregador vai manipular." #: ../../library/importlib.rst:1033 msgid "The path to the bytecode file." -msgstr "" +msgstr "O caminho para o arquivo de bytecode." #: ../../library/importlib.rst:1037 msgid "Determines if the module is a package based on :attr:`path`." -msgstr "" +msgstr "Determina se o módulo é um pacote baseado em :attr:`path`." #: ../../library/importlib.rst:1041 msgid "Returns the code object for :attr:`name` created from :attr:`path`." msgstr "" +"Retorna o objeto código para :attr:`name` criado a partir de :attr:`path`." #: ../../library/importlib.rst:1045 msgid "" "Returns ``None`` as bytecode files have no source when this loader is used." msgstr "" +"Retorna ``None``, pois os arquivos de bytecode não têm código-fonte quando " +"este carregador é usado." #: ../../library/importlib.rst:1060 msgid "" "A concrete implementation of :class:`importlib.abc.ExecutionLoader` for " "extension modules." msgstr "" +"Uma implementação concreta de :class:`importlib.abc.ExecutionLoader` para " +"módulos de extensão." #: ../../library/importlib.rst:1063 msgid "" "The *fullname* argument specifies the name of the module the loader is to " "support. The *path* argument is the path to the extension module's file." msgstr "" +"O argumento *fullname* especifica o nome do módulo ao qual o carregador deve " +"dar suporte. O argumento *path* é o caminho para o arquivo do módulo de " +"extensão." #: ../../library/importlib.rst:1070 msgid "Name of the module the loader supports." -msgstr "" +msgstr "Nome do módulo ao qual o carregador dá suporte." #: ../../library/importlib.rst:1074 msgid "Path to the extension module." -msgstr "" +msgstr "Caminho para o módulo de extensão." #: ../../library/importlib.rst:1078 msgid "" -"Creates the module object from the given specification in accordance with :" -"pep:`489`." +"Creates the module object from the given specification in accordance " +"with :pep:`489`." msgstr "" +"Cria o objeto do módulo a partir da especificação fornecida de acordo com " +"a :pep:`489`." #: ../../library/importlib.rst:1085 msgid "Initializes the given module object in accordance with :pep:`489`." -msgstr "" +msgstr "Inicializa o objeto do módulo fornecido de acordo com a :pep:`489`." #: ../../library/importlib.rst:1091 msgid "" "Returns ``True`` if the file path points to a package's ``__init__`` module " "based on :attr:`EXTENSION_SUFFIXES`." msgstr "" +"Retorna ``True`` se o caminho do arquivo aponta para o módulo ``__init__`` " +"de um pacote com base em :attr:`EXTENSION_SUFFIXES`." #: ../../library/importlib.rst:1096 msgid "Returns ``None`` as extension modules lack a code object." msgstr "" +"Retorna ``None``, pois os módulos de extensão não possuem um objeto código." #: ../../library/importlib.rst:1100 msgid "Returns ``None`` as extension modules do not have source code." -msgstr "" +msgstr "Retorna ``None`` pois os módulos de extensão não possuem código-fonte." #: ../../library/importlib.rst:1111 msgid "" @@ -1328,18 +1695,23 @@ msgid "" "namespace packages. This is an alias for a private class and is only made " "public for introspecting the ``__loader__`` attribute on namespace packages::" msgstr "" +"Uma implementação concreta de :class:`importlib.abc.InspectLoader` para " +"pacotes de espaço de nomes. Este é um apelido para uma classe privada e só é " +"tornado público para introspecção do atributo ``__loader__`` em pacotes de " +"espaço de nomes::" #: ../../library/importlib.rst:1129 msgid "" "A specification for a module's import-system-related state. This is " "typically exposed as the module's :attr:`__spec__` attribute. In the " "descriptions below, the names in parentheses give the corresponding " -"attribute available directly on the module object, e.g. ``module.__spec__." -"origin == module.__file__``. Note, however, that while the *values* are " -"usually equivalent, they can differ since there is no synchronization " -"between the two objects. For example, it is possible to update the " -"module's :attr:`__file__` at runtime and this will not be automatically " -"reflected in the module's :attr:`__spec__.origin`, and vice versa." +"attribute available directly on the module object, e.g. " +"``module.__spec__.origin == module.__file__``. Note, however, that while " +"the *values* are usually equivalent, they can differ since there is no " +"synchronization between the two objects. For example, it is possible to " +"update the module's :attr:`__file__` at runtime and this will not be " +"automatically reflected in the module's :attr:`__spec__.origin`, and vice " +"versa." msgstr "" #: ../../library/importlib.rst:1143 @@ -1370,9 +1742,9 @@ msgstr "" msgid "" "The location the :term:`loader` should use to load the module. For example, " "for modules loaded from a .py file this is the filename. The :term:`finder` " -"should always set this attribute to a meaningful value for the :term:" -"`loader` to use. In the uncommon case that there is not one (like for " -"namespace packages), it should be set to ``None``." +"should always set this attribute to a meaningful value for " +"the :term:`loader` to use. In the uncommon case that there is not one (like " +"for namespace packages), it should be set to ``None``." msgstr "" #: ../../library/importlib.rst:1167 @@ -1453,9 +1825,9 @@ msgid "" "Return the :pep:`3147`/:pep:`488` path to the byte-compiled file associated " "with the source *path*. For example, if *path* is ``/foo/bar/baz.py`` the " "return value would be ``/foo/bar/__pycache__/baz.cpython-32.pyc`` for Python " -"3.2. The ``cpython-32`` string comes from the current magic tag (see :func:" -"`get_tag`; if :attr:`sys.implementation.cache_tag` is not defined then :exc:" -"`NotImplementedError` will be raised)." +"3.2. The ``cpython-32`` string comes from the current magic tag " +"(see :func:`get_tag`; if :attr:`sys.implementation.cache_tag` is not defined " +"then :exc:`NotImplementedError` will be raised)." msgstr "" #: ../../library/importlib.rst:1235 @@ -1466,9 +1838,9 @@ msgid "" "``/foo/bar/__pycache__/baz.cpython-32.pyc``. ``None`` causes the " "interpreter's optimization level to be used. Any other value's string " "representation is used, so ``/foo/bar/baz.py`` with an *optimization* of " -"``2`` will lead to the bytecode path of ``/foo/bar/__pycache__/baz." -"cpython-32.opt-2.pyc``. The string representation of *optimization* can only " -"be alphanumeric, else :exc:`ValueError` is raised." +"``2`` will lead to the bytecode path of ``/foo/bar/__pycache__/" +"baz.cpython-32.opt-2.pyc``. The string representation of *optimization* can " +"only be alphanumeric, else :exc:`ValueError` is raised." msgstr "" #: ../../library/importlib.rst:1245 @@ -1494,18 +1866,19 @@ msgstr "Aceita um :term:`objeto caminho ou similar`." #: ../../library/importlib.rst:1263 msgid "" "Given the *path* to a :pep:`3147` file name, return the associated source " -"code file path. For example, if *path* is ``/foo/bar/__pycache__/baz." -"cpython-32.pyc`` the returned path would be ``/foo/bar/baz.py``. *path* " +"code file path. For example, if *path* is ``/foo/bar/__pycache__/" +"baz.cpython-32.pyc`` the returned path would be ``/foo/bar/baz.py``. *path* " "need not exist, however if it does not conform to :pep:`3147` or :pep:`488` " -"format, a :exc:`ValueError` is raised. If :attr:`sys.implementation." -"cache_tag` is not defined, :exc:`NotImplementedError` is raised." +"format, a :exc:`ValueError` is raised. " +"If :attr:`sys.implementation.cache_tag` is not " +"defined, :exc:`NotImplementedError` is raised." msgstr "" #: ../../library/importlib.rst:1278 msgid "" "Decode the given bytes representing source code and return it as a string " -"with universal newlines (as required by :meth:`importlib.abc.InspectLoader." -"get_source`)." +"with universal newlines (as required " +"by :meth:`importlib.abc.InspectLoader.get_source`)." msgstr "" #: ../../library/importlib.rst:1286 @@ -1515,16 +1888,18 @@ msgstr "" #: ../../library/importlib.rst:1288 msgid "" "If **name** has no leading dots, then **name** is simply returned. This " -"allows for usage such as ``importlib.util.resolve_name('sys', __spec__." -"parent)`` without doing a check to see if the **package** argument is needed." +"allows for usage such as ``importlib.util.resolve_name('sys', " +"__spec__.parent)`` without doing a check to see if the **package** argument " +"is needed." msgstr "" #: ../../library/importlib.rst:1293 msgid "" ":exc:`ImportError` is raised if **name** is a relative module name but " -"**package** is a false value (e.g. ``None`` or the empty string). :exc:" -"`ImportError` is also raised if a relative name would escape its containing " -"package (e.g. requesting ``..bacon`` from within the ``spam`` package)." +"**package** is a false value (e.g. ``None`` or the empty " +"string). :exc:`ImportError` is also raised if a relative name would escape " +"its containing package (e.g. requesting ``..bacon`` from within the ``spam`` " +"package)." msgstr "" #: ../../library/importlib.rst:1301 @@ -1536,12 +1911,19 @@ msgstr "" #: ../../library/importlib.rst:1308 msgid "" "Find the :term:`spec ` for a module, optionally relative to the " -"specified **package** name. If the module is in :attr:`sys.modules`, then " +"specified **package** name. If the module is in :data:`sys.modules`, then " "``sys.modules[name].__spec__`` is returned (unless the spec would be " "``None`` or is not set, in which case :exc:`ValueError` is raised). " -"Otherwise a search using :attr:`sys.meta_path` is done. ``None`` is returned " +"Otherwise a search using :data:`sys.meta_path` is done. ``None`` is returned " "if no spec is found." msgstr "" +"Localiza o :term:`spec ` para um módulo, opcionalmente relativo " +"ao nome do **package** especificado. Se o módulo estiver " +"em :data:`sys.modules`, então ``sys.modules[name].__spec__`` será retornado " +"(a menos que o spec seja ``None`` ou não esteja definido, nesse " +"caso :exc:`ValueError` é levantada). Caso contrário, uma pesquisa " +"usando :data:`sys.meta_path` é feita. ``None`` é retornado se nenhum spec " +"for encontrada." #: ../../library/importlib.rst:1315 msgid "" @@ -1594,19 +1976,20 @@ msgstr "" #: ../../library/importlib.rst:1354 msgid "" "The decorated method will take in the **name** of the module to be loaded as " -"expected for a :term:`loader`. If the module is not found in :data:`sys." -"modules` then a new one is constructed. Regardless of where the module came " -"from, :attr:`__loader__` set to **self** and :attr:`__package__` is set " -"based on what :meth:`importlib.abc.InspectLoader.is_package` returns (if " -"available). These attributes are set unconditionally to support reloading." +"expected for a :term:`loader`. If the module is not found " +"in :data:`sys.modules` then a new one is constructed. Regardless of where " +"the module came from, :attr:`__loader__` set to **self** " +"and :attr:`__package__` is set based on " +"what :meth:`importlib.abc.InspectLoader.is_package` returns (if available). " +"These attributes are set unconditionally to support reloading." msgstr "" #: ../../library/importlib.rst:1362 msgid "" -"If an exception is raised by the decorated method and a module was added to :" -"data:`sys.modules`, then the module will be removed to prevent a partially " -"initialized module from being in left in :data:`sys.modules`. If the module " -"was already in :data:`sys.modules` then it is left alone." +"If an exception is raised by the decorated method and a module was added " +"to :data:`sys.modules`, then the module will be removed to prevent a " +"partially initialized module from being in left in :data:`sys.modules`. If " +"the module was already in :data:`sys.modules` then it is left alone." msgstr "" #: ../../library/importlib.rst:1367 @@ -1629,11 +2012,11 @@ msgstr "" #: ../../library/importlib.rst:1381 msgid "" -"A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set the :" -"attr:`__loader__` attribute on the returned module. If the attribute is " +"A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set " +"the :attr:`__loader__` attribute on the returned module. If the attribute is " "already set the decorator does nothing. It is assumed that the first " -"positional argument to the wrapped method (i.e. ``self``) is what :attr:" -"`__loader__` should be set to." +"positional argument to the wrapped method (i.e. ``self``) is " +"what :attr:`__loader__` should be set to." msgstr "" #: ../../library/importlib.rst:1388 @@ -1647,18 +2030,19 @@ msgstr "" #: ../../library/importlib.rst:1397 msgid "" -"A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set the :" -"attr:`__package__` attribute on the returned module. If :attr:`__package__` " -"is set and has a value other than ``None`` it will not be changed." +"A :term:`decorator` for :meth:`importlib.abc.Loader.load_module` to set " +"the :attr:`__package__` attribute on the returned module. " +"If :attr:`__package__` is set and has a value other than ``None`` it will " +"not be changed." msgstr "" #: ../../library/importlib.rst:1406 msgid "" "A factory function for creating a :class:`~importlib.machinery.ModuleSpec` " "instance based on a loader. The parameters have the same meaning as they do " -"for ModuleSpec. The function uses available :term:`loader` APIs, such as :" -"meth:`InspectLoader.is_package`, to fill in any missing information on the " -"spec." +"for ModuleSpec. The function uses available :term:`loader` APIs, such " +"as :meth:`InspectLoader.is_package`, to fill in any missing information on " +"the spec." msgstr "" #: ../../library/importlib.rst:1416 @@ -1684,15 +2068,16 @@ msgstr "" #: ../../library/importlib.rst:1439 msgid "" -"This class **only** works with loaders that define :meth:`~importlib.abc." -"Loader.exec_module` as control over what module type is used for the module " -"is required. For those same reasons, the loader's :meth:`~importlib.abc." -"Loader.create_module` method must return ``None`` or a type for which its " -"``__class__`` attribute can be mutated along with not using :term:`slots " -"<__slots__>`. Finally, modules which substitute the object placed into :attr:" -"`sys.modules` will not work as there is no way to properly replace the " -"module references throughout the interpreter safely; :exc:`ValueError` is " -"raised if such a substitution is detected." +"This class **only** works with loaders that " +"define :meth:`~importlib.abc.Loader.exec_module` as control over what module " +"type is used for the module is required. For those same reasons, the " +"loader's :meth:`~importlib.abc.Loader.create_module` method must return " +"``None`` or a type for which its ``__class__`` attribute can be mutated " +"along with not using :term:`slots <__slots__>`. Finally, modules which " +"substitute the object placed into :data:`sys.modules` will not work as there " +"is no way to properly replace the module references throughout the " +"interpreter safely; :exc:`ValueError` is raised if such a substitution is " +"detected." msgstr "" #: ../../library/importlib.rst:1450 @@ -1707,8 +2092,8 @@ msgstr "" #: ../../library/importlib.rst:1458 msgid "" "Began calling :meth:`~importlib.abc.Loader.create_module`, removing the " -"compatibility warning for :class:`importlib.machinery.BuiltinImporter` and :" -"class:`importlib.machinery.ExtensionFileLoader`." +"compatibility warning for :class:`importlib.machinery.BuiltinImporter` " +"and :class:`importlib.machinery.ExtensionFileLoader`." msgstr "" #: ../../library/importlib.rst:1465 @@ -1743,8 +2128,8 @@ msgstr "" #: ../../library/importlib.rst:1497 msgid "" -"Note that if ``name`` is a submodule (contains a dot), :func:`importlib.util." -"find_spec` will import the parent module. ::" +"Note that if ``name`` is a submodule (contains a " +"dot), :func:`importlib.util.find_spec` will import the parent module. ::" msgstr "" #: ../../library/importlib.rst:1520 @@ -1769,16 +2154,17 @@ msgstr "" #: ../../library/importlib.rst:1565 msgid "" -"For deep customizations of import, you typically want to implement an :term:" -"`importer`. This means managing both the :term:`finder` and :term:`loader` " -"side of things. For finders there are two flavours to choose from depending " -"on your needs: a :term:`meta path finder` or a :term:`path entry finder`. " -"The former is what you would put on :attr:`sys.meta_path` while the latter " -"is what you create using a :term:`path entry hook` on :attr:`sys.path_hooks` " -"which works with :attr:`sys.path` entries to potentially create a finder. " -"This example will show you how to register your own importers so that import " -"will use them (for creating an importer for yourself, read the documentation " -"for the appropriate classes defined within this package)::" +"For deep customizations of import, you typically want to implement " +"an :term:`importer`. This means managing both the :term:`finder` " +"and :term:`loader` side of things. For finders there are two flavours to " +"choose from depending on your needs: a :term:`meta path finder` or " +"a :term:`path entry finder`. The former is what you would put " +"on :data:`sys.meta_path` while the latter is what you create using " +"a :term:`path entry hook` on :data:`sys.path_hooks` which works " +"with :data:`sys.path` entries to potentially create a finder. This example " +"will show you how to register your own importers so that import will use " +"them (for creating an importer for yourself, read the documentation for the " +"appropriate classes defined within this package)::" msgstr "" #: ../../library/importlib.rst:1597 @@ -1799,4 +2185,4 @@ msgstr "novas linhas universais" #: ../../library/importlib.rst:551 msgid "importlib.abc.InspectLoader.get_source method" -msgstr "" +msgstr "Método importlib.abc.InspectLoader.get_source" diff --git a/library/importlib.resources.abc.po b/library/importlib.resources.abc.po index c316e92cd..e9dceb4df 100644 --- a/library/importlib.resources.abc.po +++ b/library/importlib.resources.abc.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -60,9 +60,9 @@ msgstr "" #: ../../library/importlib.resources.abc.rst:28 msgid "" -"For any of methods of this class, a *resource* argument is expected to be a :" -"term:`path-like object` which represents conceptually just a file name. This " -"means that no subdirectory paths should be included in the *resource* " +"For any of methods of this class, a *resource* argument is expected to be " +"a :term:`path-like object` which represents conceptually just a file name. " +"This means that no subdirectory paths should be included in the *resource* " "argument. This is because the location of the package the reader is for, " "acts as the \"directory\". Hence the metaphor for directories and file names " "is packages and resources, respectively. This is also why instances of this " @@ -113,31 +113,31 @@ msgstr "Retorna o caminho do sistema de arquivos para *resource*." #: ../../library/importlib.resources.abc.rst:60 msgid "" -"If the resource does not concretely exist on the file system, raise :exc:" -"`FileNotFoundError`." +"If the resource does not concretely exist on the file system, " +"raise :exc:`FileNotFoundError`." msgstr "" -"Se o recurso não existir concretamente no sistema de arquivos, levanta :exc:" -"`FileNotFoundError`." +"Se o recurso não existir concretamente no sistema de arquivos, " +"levanta :exc:`FileNotFoundError`." #: ../../library/importlib.resources.abc.rst:65 msgid "" -"Returns ``True`` if the named *name* is considered a resource. :exc:" -"`FileNotFoundError` is raised if *name* does not exist." +"Returns ``True`` if the named *name* is considered a " +"resource. :exc:`FileNotFoundError` is raised if *name* does not exist." msgstr "" -"Retorna ``True`` se o *name* nomeado for considerado um recurso. :exc:" -"`FileNotFoundError` é levantada se *name* não existir." +"Retorna ``True`` se o *name* nomeado for considerado um " +"recurso. :exc:`FileNotFoundError` é levantada se *name* não existir." #: ../../library/importlib.resources.abc.rst:70 msgid "" "Returns an :term:`iterable` of strings over the contents of the package. Do " "note that it is not required that all names returned by the iterator be " -"actual resources, e.g. it is acceptable to return names for which :meth:" -"`is_resource` would be false." +"actual resources, e.g. it is acceptable to return names for " +"which :meth:`is_resource` would be false." msgstr "" "Retorna um :term:`iterável` de strings sobre o conteúdo do pacote. Observe " "que não é necessário que todos os nomes retornados pelo iterador sejam " -"recursos reais, por exemplo, é aceitável retornar nomes para os quais :meth:" -"`is_resource` seria falso." +"recursos reais, por exemplo, é aceitável retornar nomes para os " +"quais :meth:`is_resource` seria falso." #: ../../library/importlib.resources.abc.rst:76 msgid "" @@ -168,11 +168,11 @@ msgstr "" #: ../../library/importlib.resources.abc.rst:92 msgid "" -"For a representation of the object on the file-system, use :meth:`importlib." -"resources.as_file`." +"For a representation of the object on the file-system, " +"use :meth:`importlib.resources.as_file`." msgstr "" -"Para uma representação do objeto no sistema de arquivos, use :meth:" -"`importlib.resources.as_file`." +"Para uma representação do objeto no sistema de arquivos, " +"use :meth:`importlib.resources.as_file`." #: ../../library/importlib.resources.abc.rst:99 msgid "Abstract. The base name of this object without any parent references." @@ -205,11 +205,11 @@ msgstr "" #: ../../library/importlib.resources.abc.rst:126 msgid "" -"When opening as text, accepts encoding parameters such as those accepted by :" -"attr:`io.TextIOWrapper`." +"When opening as text, accepts encoding parameters such as those accepted " +"by :class:`io.TextIOWrapper`." msgstr "" -"Ao abrir como texto, aceita parâmetros de codificação como os aceitos por :" -"attr:`io.TextIOWrapper`." +"Ao abrir como texto, aceita parâmetros de codificação como os aceitos " +"por :class:`io.TextIOWrapper`." #: ../../library/importlib.resources.abc.rst:131 msgid "Read contents of self as bytes." @@ -221,19 +221,19 @@ msgstr "Lê o conteúdo de self como texto." #: ../../library/importlib.resources.abc.rst:140 msgid "" -"An abstract base class for resource readers capable of serving the :meth:" -"`importlib.resources.files` interface. Subclasses :class:`importlib." -"resources.abc.ResourceReader` and provides concrete implementations of the :" -"class:`importlib.resources.abc.ResourceReader`'s abstract methods. " -"Therefore, any loader supplying :class:`importlib.abc.TraversableResources` " -"also supplies ResourceReader." +"An abstract base class for resource readers capable of serving " +"the :meth:`importlib.resources.files` interface. " +"Subclasses :class:`ResourceReader` and provides concrete implementations of " +"the :class:`!ResourceReader`'s abstract methods. Therefore, any loader " +"supplying :class:`!TraversableResources` also supplies :class:`!" +"ResourceReader`." msgstr "" "Uma classe base abstrata para leitores de recursos capaz de servir a " -"interface :meth:`importlib.resources.files`. Subclasse :class:`importlib." -"resources.abc.ResourceReader` e fornece implementações concretas dos métodos " -"abstratos de :class:`importlib.resources.abc.ResourceReader`. Portanto, " -"qualquer carregador que forneça :class:`importlib.abc.TraversableResources` " -"também fornece ResourceReader." +"interface :meth:`importlib.resources.files`. É uma subclasse " +"de :class:`ResourceReader` e fornece implementações concretas dos métodos " +"abstratos de :class:`!ResourceReader`. Portanto, qualquer carregador que " +"forneça :class:`!TraversableResources` também fornece :class:`!" +"ResourceReader`." #: ../../library/importlib.resources.abc.rst:147 msgid "" diff --git a/library/importlib.resources.po b/library/importlib.resources.po index 9fb642b47..da5d1ca74 100644 --- a/library/importlib.resources.po +++ b/library/importlib.resources.po @@ -1,31 +1,34 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rodrigo Cândido, 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Last-Translator: Rodrigo Cândido, 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/importlib.resources.rst:2 -msgid ":mod:`importlib.resources` -- Resources" -msgstr ":mod:`importlib.resources` -- Recursos" +msgid "" +":mod:`importlib.resources` -- Package resource reading, opening and access" +msgstr "" +":mod:`importlib.resources` -- Leitura, abertura e acesso aos recursos de " +"pacote" #: ../../library/importlib.resources.rst:7 msgid "**Source code:** :source:`Lib/importlib/resources/__init__.py`" @@ -47,6 +50,11 @@ msgid "" "file system: for example, a package and its resources can be imported from a " "zip file using :py:mod:`zipimport`." msgstr "" +"Os recursos são mais ou menos semelhantes a arquivos dentro de diretórios, " +"embora seja importante ter em mente que isso é apenas uma metáfora. " +"Recursos e pacotes **não** precisam existir como arquivos e diretórios " +"físicos no sistema de arquivos: por exemplo, um pacote e seus recursos podem " +"ser importados de um arquivo zip usando :py:mod:`zipimport`." #: ../../library/importlib.resources.rst:26 msgid "" @@ -57,6 +65,12 @@ msgid "" "makes reading resources included in packages easier, with more stable and " "consistent semantics." msgstr "" +"Esse módulo fornece funcionalidade semelhante ao `Basic Resource Access " +"`_ do `pkg_resources `_ sem a sobrecarga de desempenho desse pacote. " +"Isso facilita a leitura de recursos incluídos em pacotes, com uma semântica " +"mais estável e consistente." #: ../../library/importlib.resources.rst:34 msgid "" @@ -65,6 +79,10 @@ msgid "" "using.html>`_ and `migrating from pkg_resources to importlib.resources " "`_." msgstr "" +"O backport autônomo desse módulo fornece mais informações sobre `uso do " +"importlib.resources `_ e `migração do pkg_resources para o importlib.resources " +"`_." #: ../../library/importlib.resources.rst:40 msgid "" @@ -72,18 +90,26 @@ msgid "" "reading should implement a ``get_resource_reader(fullname)`` method as " "specified by :class:`importlib.resources.abc.ResourceReader`." msgstr "" +":class:`Loaders ` que desejam oferecer suporte à " +"leitura de recursos devem implementar um método " +"``get_resource_reader(fullname)`` conforme especificado " +"por :class:`importlib.resources.abc.ResourceReader`." #: ../../library/importlib.resources.rst:46 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``." +"You can only pass module objects whose " +"``__spec__.submodule_search_locations`` is not ``None``." msgstr "" +"Sempre que uma função aceitar um argumento ``Package``, você poderá passar " +"um :class:`objeto módulo ` ou um nome de módulo como uma " +"string. Você só pode passar objetos de módulo cujo " +"``__spec__.submodule_search_locations`` não seja ``None``." #: ../../library/importlib.resources.rst:51 msgid "The ``Package`` type is defined as ``Union[str, ModuleType]``." -msgstr "" +msgstr "O tipo ``Package`` é definido como ``Union[str, ModuleType]``." #: ../../library/importlib.resources.rst:55 msgid "" @@ -95,8 +121,8 @@ msgstr "" #: ../../library/importlib.resources.rst:60 msgid "" -"*package* is either a name or a module object which conforms to the :data:" -"`Package` requirements." +"*package* is either a name or a module object which conforms to " +"the :class:`Package` requirements." msgstr "" #: ../../library/importlib.resources.rst:67 @@ -130,29 +156,43 @@ msgid "" "functions is that they do not support directories: they assume all resources " "are located directly within a *package*." msgstr "" +"Um conjunto de funções mais antigo e descontinuado ainda está disponível, " +"mas está programado para ser removido em uma versão futura do Python. A " +"principal desvantagem dessas funções é que elas não oferecem suporte a " +"diretórios: elas presumem que todos os recursos estão localizados " +"diretamente em um *package*." #: ../../library/importlib.resources.rst:91 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 `." msgstr "" +"Para os argumentos *resource* das funções abaixo, você pode passar o nome de " +"um recurso como uma string ou um :class:`objeto caminho ou similar " +"`." #: ../../library/importlib.resources.rst:95 msgid "The ``Resource`` type is defined as ``Union[str, os.PathLike]``." -msgstr "" +msgstr "O tipo ``Resource`` é definido como ``Union[str, os.PathLike]``." #: ../../library/importlib.resources.rst:99 msgid "Open for binary reading the *resource* within *package*." -msgstr "" +msgstr "Abre para leitura binária o *resource* dentro do *package*." #: ../../library/importlib.resources.rst:101 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." +"resources (i.e. it cannot be a directory). This function returns a " +"``typing.BinaryIO`` instance, a binary I/O stream open for reading." msgstr "" +"*package* é um nome ou um objeto módulo que está em conformidade com os " +"requisitos do ``Package``. *resource* é o nome do recurso a ser aberto " +"dentro de *package*; ele não pode conter separadores de caminho e não pode " +"ter sub-recursos (ou seja, não pode ser um diretório). Essa função retorna " +"uma instância de ``typing.BinaryIO``, um fluxo de E/S binário aberto para " +"leitura." #: ../../library/importlib.resources.rst:109 #: ../../library/importlib.resources.rst:130 @@ -168,6 +208,8 @@ msgid "" "Open for text reading the *resource* within *package*. By default, the " "resource is opened for reading as UTF-8." msgstr "" +"Abre para leitura de texto o *resource* dentro do *package*. Por padrão, o " +"recurso é aberto para leitura como UTF-8." #: ../../library/importlib.resources.rst:119 msgid "" @@ -177,17 +219,25 @@ msgid "" "resources (i.e. it cannot be a directory). *encoding* and *errors* have the " "same meaning as with built-in :func:`open`." msgstr "" +"*package* é um nome ou um objeto módulo que está em conformidade com os " +"requisitos do ``Package``. *resource* é o nome do recurso a ser aberto " +"dentro de *package*; ele não pode conter separadores de caminho e não pode " +"ter sub-recursos (ou seja, não pode ser um diretório). *encoding* e *errors* " +"têm o mesmo significado que com :func:`open` embutido." #: ../../library/importlib.resources.rst:125 msgid "" "This function returns a ``typing.TextIO`` instance, a text I/O stream open " "for reading." msgstr "" +"Essa função retorna uma instância de ``typing.TextIO``, um fluxo de E/S de " +"texto aberto para leitura." #: ../../library/importlib.resources.rst:137 msgid "" "Read and return the contents of the *resource* within *package* as ``bytes``." msgstr "" +"Lê e retorna o conteúdo do *resource* dentro do *package* como ``bytes``." #: ../../library/importlib.resources.rst:140 msgid "" @@ -197,12 +247,19 @@ msgid "" "resources (i.e. it cannot be a directory). This function returns the " "contents of the resource as :class:`bytes`." msgstr "" +"*package* é um nome ou um objeto módulo que está em conformidade com os " +"requisitos do ``Package``. *resource* é o nome do recurso a ser aberto " +"dentro de *package*; ele não pode conter separadores de caminho e não pode " +"ter sub-recursos (ou seja, não pode ser um diretório). Essa função retorna o " +"conteúdo do recurso como :class:`bytes`." #: ../../library/importlib.resources.rst:155 msgid "" "Read and return the contents of *resource* within *package* as a ``str``. By " "default, the contents are read as strict UTF-8." msgstr "" +"Lê e retorna o conteúdo de *resource* em *package* como ``str``. Por padrão, " +"o conteúdo é lido como UTF-8 estrito." #: ../../library/importlib.resources.rst:158 msgid "" @@ -213,6 +270,12 @@ msgid "" "same meaning as with built-in :func:`open`. This function returns the " "contents of the resource as :class:`str`." msgstr "" +"*package* é um nome ou um objeto módulo que está em conformidade com os " +"requisitos do ``Package``. *resource* é o nome do recurso a ser aberto " +"dentro de *package*; ele não pode conter separadores de caminho e não pode " +"ter sub-recursos (ou seja, não pode ser um diretório). *encoding* e *errors* " +"têm o mesmo significado que com :func:`open` embutido. Esta função retorna o " +"conteúdo do recurso como :class:`str`." #: ../../library/importlib.resources.rst:174 msgid "" @@ -220,12 +283,18 @@ msgid "" "function returns a context manager for use in a :keyword:`with` statement. " "The context manager provides a :class:`pathlib.Path` object." msgstr "" +"Retorna o caminho para o *resource* como um caminho real do sistema de " +"arquivos. Essa função retorna um gerenciador de contexto para uso em uma " +"instrução :keyword:`with`. O gerenciador de contexto fornece um " +"objeto :class:`pathlib.Path`." #: ../../library/importlib.resources.rst:178 msgid "" "Exiting the context manager cleans up any temporary file created when the " "resource needs to be extracted from e.g. a zip file." msgstr "" +"Sair do gerenciador de contexto limpa qualquer arquivo temporário criado " +"quando o recurso precisa ser extraído, por exemplo, de um arquivo zip." #: ../../library/importlib.resources.rst:181 msgid "" @@ -234,10 +303,15 @@ msgid "" "within *package*; it may not contain path separators and it may not have sub-" "resources (i.e. it cannot be a directory)." msgstr "" +"*package* é um nome ou um objeto módulo que está em conformidade com os " +"requisitos do ``Package``. *resource* é o nome do recurso a ser aberto " +"dentro de *package*; ele não pode conter separadores de caminho e não pode " +"ter sub-recursos (ou seja, não pode ser um diretório)." #: ../../library/importlib.resources.rst:188 msgid "Calls to this function can be replaced using :func:`as_file`::" msgstr "" +"Chamadas para essa função podem ser substituídas usando :func:`as_file`::" #: ../../library/importlib.resources.rst:195 msgid "" @@ -246,6 +320,10 @@ msgid "" "resources. *package* is either a name or a module object which conforms to " "the ``Package`` requirements." msgstr "" +"Retorna ``True`` se houver um recurso chamado *name* no pacote; caso " +"contrário, retorna ``False``. Essa função não considera os diretórios como " +"recursos. *package* é um nome ou um objeto módulo que está em conformidade " +"com os requisitos de ``Package``." #: ../../library/importlib.resources.rst:210 msgid "" @@ -253,9 +331,14 @@ msgid "" "returns :class:`str` resources (e.g. files) and non-resources (e.g. " "directories). The iterable does not recurse into subdirectories." msgstr "" +"Retorna um iterável sobre os itens nomeados no pacote. O iterável " +"retorna :class:`str` recursos (por exemplo, arquivos) e não recursos (por " +"exemplo, diretórios). O iterável não recorre a subdiretórios." #: ../../library/importlib.resources.rst:214 msgid "" "*package* is either a name or a module object which conforms to the " "``Package`` requirements." msgstr "" +"*package* é um nome ou um objeto módulo que está em conformidade com os " +"requisitos de ``Package``." diff --git a/library/index.po b/library/index.po index 7795a485e..dea2d76c5 100644 --- a/library/index.po +++ b/library/index.po @@ -1,26 +1,25 @@ # 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: -# Raphael Mendonça, 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/inspect.po b/library/inspect.po index d50893e0c..df24acdb9 100644 --- a/library/inspect.po +++ b/library/inspect.po @@ -1,32 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Hugo Santos Piauilino , 2021 -# Danilo Lima , 2021 -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Adorilson Bezerra , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-07 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -34,11 +28,11 @@ msgstr "" msgid ":mod:`inspect` --- Inspect live objects" msgstr ":mod:`inspect` --- Inspeciona objetos vivos" -#: ../../library/inspect.rst:10 +#: ../../library/inspect.rst:15 msgid "**Source code:** :source:`Lib/inspect.py`" msgstr "**Código-fonte:** :source:`Lib/inspect.py`" -#: ../../library/inspect.rst:14 +#: ../../library/inspect.rst:19 msgid "" "The :mod:`inspect` module provides several useful functions to help get " "information about live objects such as modules, classes, methods, functions, " @@ -47,515 +41,537 @@ msgid "" "extract and format the argument list for a function, or get all the " "information you need to display a detailed traceback." msgstr "" +"O módulo :mod:`inspect` fornece diversas funções úteis para ajudar a obter " +"informações sobre objetos ativos, como módulos, classes, métodos, funções, " +"tracebacks, objetos quadro e objetos código. Por exemplo, ele pode ajudar " +"você a examinar o conteúdo de uma classe, recuperar o código-fonte de um " +"método, extrair e formatar a lista de argumentos de uma função ou obter " +"todas as informações necessárias para exibir um traceback detalhado." -#: ../../library/inspect.rst:21 +#: ../../library/inspect.rst:26 msgid "" "There are four main kinds of services provided by this module: type " "checking, getting source code, inspecting classes and functions, and " "examining the interpreter stack." msgstr "" +"Há quatro tipos principais de serviços fornecidos por este módulo: " +"verificação de tipos, obtenção de código-fonte, inspeção de classes e " +"funções e exame da pilha do interpretador." -#: ../../library/inspect.rst:29 +#: ../../library/inspect.rst:34 msgid "Types and members" msgstr "Tipos e membros" -#: ../../library/inspect.rst:31 +#: ../../library/inspect.rst:36 msgid "" "The :func:`getmembers` function retrieves the members of an object such as a " "class or module. The functions whose names begin with \"is\" are mainly " -"provided as convenient choices for the second argument to :func:" -"`getmembers`. They also help you determine when you can expect to find the " -"following special attributes (see :ref:`import-mod-attrs` for module " -"attributes):" -msgstr "" - -#: ../../library/inspect.rst:41 +"provided as convenient choices for the second argument " +"to :func:`getmembers`. They also help you determine when you can expect to " +"find the following special attributes (see :ref:`import-mod-attrs` for " +"module attributes):" +msgstr "" +"A função :func:`getmembers` recupera os membros de um objeto, como uma " +"classe ou módulo. As funções cujos nomes começam com \"is\" são fornecidas " +"principalmente como opções convenientes para o segundo argumento " +"de :func:`getmembers`. Elas também ajudam a determinar quando você pode " +"esperar encontrar os seguintes atributos especiais (consulte :ref:`import-" +"mod-attrs` para atributos de módulo):" + +#: ../../library/inspect.rst:46 msgid "Type" msgstr "Tipo" -#: ../../library/inspect.rst:41 +#: ../../library/inspect.rst:46 msgid "Attribute" msgstr "Atributo" -#: ../../library/inspect.rst:41 +#: ../../library/inspect.rst:46 msgid "Description" msgstr "Descrição" -#: ../../library/inspect.rst:43 +#: ../../library/inspect.rst:48 msgid "class" -msgstr "class" +msgstr "classe" -#: ../../library/inspect.rst:43 ../../library/inspect.rst:53 -#: ../../library/inspect.rst:71 ../../library/inspect.rst:233 +#: ../../library/inspect.rst:48 ../../library/inspect.rst:58 +#: ../../library/inspect.rst:76 ../../library/inspect.rst:238 msgid "__doc__" msgstr "__doc__" -#: ../../library/inspect.rst:43 ../../library/inspect.rst:53 -#: ../../library/inspect.rst:71 ../../library/inspect.rst:233 +#: ../../library/inspect.rst:48 ../../library/inspect.rst:58 +#: ../../library/inspect.rst:76 ../../library/inspect.rst:238 msgid "documentation string" msgstr "string de documentação" -#: ../../library/inspect.rst:45 ../../library/inspect.rst:55 -#: ../../library/inspect.rst:73 ../../library/inspect.rst:202 -#: ../../library/inspect.rst:216 ../../library/inspect.rst:235 +#: ../../library/inspect.rst:50 ../../library/inspect.rst:60 +#: ../../library/inspect.rst:78 ../../library/inspect.rst:207 +#: ../../library/inspect.rst:221 ../../library/inspect.rst:240 msgid "__name__" msgstr "__name__" -#: ../../library/inspect.rst:45 +#: ../../library/inspect.rst:50 msgid "name with which this class was defined" msgstr "nome com o qual esta classe foi definida" -#: ../../library/inspect.rst:48 ../../library/inspect.rst:58 -#: ../../library/inspect.rst:76 ../../library/inspect.rst:204 -#: ../../library/inspect.rst:218 ../../library/inspect.rst:238 +#: ../../library/inspect.rst:53 ../../library/inspect.rst:63 +#: ../../library/inspect.rst:81 ../../library/inspect.rst:209 +#: ../../library/inspect.rst:223 ../../library/inspect.rst:243 msgid "__qualname__" msgstr "__qualname__" -#: ../../library/inspect.rst:48 ../../library/inspect.rst:58 -#: ../../library/inspect.rst:76 ../../library/inspect.rst:204 -#: ../../library/inspect.rst:218 ../../library/inspect.rst:238 +#: ../../library/inspect.rst:53 ../../library/inspect.rst:63 +#: ../../library/inspect.rst:81 ../../library/inspect.rst:209 +#: ../../library/inspect.rst:223 ../../library/inspect.rst:243 msgid "qualified name" msgstr "nome qualificado" -#: ../../library/inspect.rst:50 ../../library/inspect.rst:68 -#: ../../library/inspect.rst:101 +#: ../../library/inspect.rst:55 ../../library/inspect.rst:73 +#: ../../library/inspect.rst:106 msgid "__module__" msgstr "__module__" -#: ../../library/inspect.rst:50 +#: ../../library/inspect.rst:55 msgid "name of module in which this class was defined" msgstr "nome do módulo no qual esta classe foi definida" -#: ../../library/inspect.rst:53 +#: ../../library/inspect.rst:58 msgid "method" msgstr "método" -#: ../../library/inspect.rst:55 +#: ../../library/inspect.rst:60 msgid "name with which this method was defined" msgstr "nome com o qual este método foi definido" -#: ../../library/inspect.rst:60 +#: ../../library/inspect.rst:65 msgid "__func__" msgstr "__func__" -#: ../../library/inspect.rst:60 +#: ../../library/inspect.rst:65 msgid "function object containing implementation of method" msgstr "objeto função contendo implementação de método" -#: ../../library/inspect.rst:64 ../../library/inspect.rst:240 +#: ../../library/inspect.rst:69 ../../library/inspect.rst:245 msgid "__self__" msgstr "__self__" -#: ../../library/inspect.rst:64 +#: ../../library/inspect.rst:69 msgid "instance to which this method is bound, or ``None``" msgstr "instância para o qual este método está vinculado, ou ``None``." -#: ../../library/inspect.rst:68 +#: ../../library/inspect.rst:73 msgid "name of module in which this method was defined" msgstr "nome do módulo no qual este método foi definido" -#: ../../library/inspect.rst:71 +#: ../../library/inspect.rst:76 msgid "function" msgstr "função" -#: ../../library/inspect.rst:73 +#: ../../library/inspect.rst:78 msgid "name with which this function was defined" msgstr "nome com o qual esta função foi definida" -#: ../../library/inspect.rst:78 +#: ../../library/inspect.rst:83 msgid "__code__" msgstr "__code__" -#: ../../library/inspect.rst:78 +#: ../../library/inspect.rst:83 msgid "code object containing compiled function :term:`bytecode`" -msgstr "" +msgstr "objeto código contendo :term:`bytecode` da função compilada" -#: ../../library/inspect.rst:82 +#: ../../library/inspect.rst:87 msgid "__defaults__" -msgstr "" +msgstr "__defaults__" -#: ../../library/inspect.rst:82 +#: ../../library/inspect.rst:87 msgid "tuple of any default values for positional or keyword parameters" msgstr "" +"tupla de quaisquer valores padrão para parâmetros posicionais ou de " +"parâmetros nomeados" -#: ../../library/inspect.rst:86 +#: ../../library/inspect.rst:91 msgid "__kwdefaults__" msgstr "__kwdefaults__" -#: ../../library/inspect.rst:86 +#: ../../library/inspect.rst:91 msgid "mapping of any default values for keyword-only parameters" msgstr "" +"mapeamento de quaisquer valores padrão para parâmetros somente-nomeados" -#: ../../library/inspect.rst:90 +#: ../../library/inspect.rst:95 msgid "__globals__" msgstr "__globals__" -#: ../../library/inspect.rst:90 +#: ../../library/inspect.rst:95 msgid "global namespace in which this function was defined" -msgstr "" +msgstr "espaço de nomes global no qual esta função foi definida" -#: ../../library/inspect.rst:93 +#: ../../library/inspect.rst:98 msgid "__builtins__" -msgstr "" +msgstr "__builtins__" -#: ../../library/inspect.rst:93 +#: ../../library/inspect.rst:98 msgid "builtins namespace" -msgstr "" +msgstr "espaço de nomes de métodos e funções embutidas" -#: ../../library/inspect.rst:95 +#: ../../library/inspect.rst:100 msgid "__annotations__" msgstr "__annotations__" -#: ../../library/inspect.rst:95 +#: ../../library/inspect.rst:100 msgid "" "mapping of parameters names to annotations; ``\"return\"`` key is reserved " "for return annotations." msgstr "" +"mapeamento de nomes de parâmetros para anotações; a chave ``\"return\"`` é " +"reservada para anotações de retorno." -#: ../../library/inspect.rst:101 +#: ../../library/inspect.rst:106 msgid "name of module in which this function was defined" -msgstr "" +msgstr "nome do módulo no qual esta função foi definida" -#: ../../library/inspect.rst:104 +#: ../../library/inspect.rst:109 msgid "traceback" msgstr "traceback" -#: ../../library/inspect.rst:104 +#: ../../library/inspect.rst:109 msgid "tb_frame" msgstr "tb_frame" -#: ../../library/inspect.rst:104 +#: ../../library/inspect.rst:109 msgid "frame object at this level" -msgstr "" +msgstr "objeto quadro neste nível" -#: ../../library/inspect.rst:107 +#: ../../library/inspect.rst:112 msgid "tb_lasti" msgstr "tb_lasti" -#: ../../library/inspect.rst:107 ../../library/inspect.rst:129 +#: ../../library/inspect.rst:112 ../../library/inspect.rst:134 msgid "index of last attempted instruction in bytecode" -msgstr "" +msgstr "índice da última instrução tentada no bytecode" -#: ../../library/inspect.rst:110 +#: ../../library/inspect.rst:115 msgid "tb_lineno" msgstr "tb_lineno" -#: ../../library/inspect.rst:110 ../../library/inspect.rst:132 +#: ../../library/inspect.rst:115 ../../library/inspect.rst:137 msgid "current line number in Python source code" -msgstr "" +msgstr "número da linha atual no código-fonte do Python" -#: ../../library/inspect.rst:113 +#: ../../library/inspect.rst:118 msgid "tb_next" msgstr "tb_next" -#: ../../library/inspect.rst:113 +#: ../../library/inspect.rst:118 msgid "next inner traceback object (called by this level)" -msgstr "" +msgstr "próximo objeto de traceback interno (chamado por este nível)" -#: ../../library/inspect.rst:117 ../../library/inspect.rst:206 -#: ../../library/inspect.rst:223 +#: ../../library/inspect.rst:122 ../../library/inspect.rst:211 +#: ../../library/inspect.rst:228 msgid "frame" -msgstr "" +msgstr "quadro" -#: ../../library/inspect.rst:117 +#: ../../library/inspect.rst:122 msgid "f_back" msgstr "f_back" -#: ../../library/inspect.rst:117 +#: ../../library/inspect.rst:122 msgid "next outer frame object (this frame's caller)" -msgstr "" +msgstr "próximo objeto de quadro externo (chamador deste quadro)" -#: ../../library/inspect.rst:120 +#: ../../library/inspect.rst:125 msgid "f_builtins" msgstr "f_builtins" -#: ../../library/inspect.rst:120 +#: ../../library/inspect.rst:125 msgid "builtins namespace seen by this frame" -msgstr "" +msgstr "espaço de nomes de métodos e funçõess embutidas visto por este quadro" -#: ../../library/inspect.rst:123 +#: ../../library/inspect.rst:128 msgid "f_code" msgstr "f_code" -#: ../../library/inspect.rst:123 +#: ../../library/inspect.rst:128 msgid "code object being executed in this frame" -msgstr "" +msgstr "objeto código sendo executado neste quadro" -#: ../../library/inspect.rst:126 +#: ../../library/inspect.rst:131 msgid "f_globals" msgstr "f_globals" -#: ../../library/inspect.rst:126 +#: ../../library/inspect.rst:131 msgid "global namespace seen by this frame" -msgstr "" +msgstr "espaço de nomes global visto por este quadro" -#: ../../library/inspect.rst:129 +#: ../../library/inspect.rst:134 msgid "f_lasti" msgstr "f_lasti" -#: ../../library/inspect.rst:132 +#: ../../library/inspect.rst:137 msgid "f_lineno" msgstr "f_lineno" -#: ../../library/inspect.rst:135 +#: ../../library/inspect.rst:140 msgid "f_locals" msgstr "f_locals" -#: ../../library/inspect.rst:135 +#: ../../library/inspect.rst:140 msgid "local namespace seen by this frame" -msgstr "" +msgstr "espaço de nomes local visto por este quadro" -#: ../../library/inspect.rst:138 +#: ../../library/inspect.rst:143 msgid "f_trace" msgstr "f_trace" -#: ../../library/inspect.rst:138 +#: ../../library/inspect.rst:143 msgid "tracing function for this frame, or ``None``" -msgstr "" +msgstr "função de rastreamento para este quadro, ou ``None``" -#: ../../library/inspect.rst:141 ../../library/inspect.rst:210 -#: ../../library/inspect.rst:227 +#: ../../library/inspect.rst:146 ../../library/inspect.rst:215 +#: ../../library/inspect.rst:232 msgid "code" -msgstr "" +msgstr "código" -#: ../../library/inspect.rst:141 +#: ../../library/inspect.rst:146 msgid "co_argcount" msgstr "co_argcount" -#: ../../library/inspect.rst:141 +#: ../../library/inspect.rst:146 msgid "" "number of arguments (not including keyword only arguments, \\* or \\*\\* " "args)" msgstr "" +"número de argumentos (não incluindo argumentos somente-nomeados, args \\* ou " +"\\*\\*)" -#: ../../library/inspect.rst:146 +#: ../../library/inspect.rst:151 msgid "co_code" msgstr "co_code" -#: ../../library/inspect.rst:146 +#: ../../library/inspect.rst:151 msgid "string of raw compiled bytecode" -msgstr "" +msgstr "string de bytecode compilado bruto" -#: ../../library/inspect.rst:149 +#: ../../library/inspect.rst:154 msgid "co_cellvars" msgstr "co_cellvars" -#: ../../library/inspect.rst:149 +#: ../../library/inspect.rst:154 msgid "tuple of names of cell variables (referenced by containing scopes)" msgstr "" -#: ../../library/inspect.rst:153 +#: ../../library/inspect.rst:158 msgid "co_consts" msgstr "co_consts" -#: ../../library/inspect.rst:153 +#: ../../library/inspect.rst:158 msgid "tuple of constants used in the bytecode" msgstr "" -#: ../../library/inspect.rst:156 +#: ../../library/inspect.rst:161 msgid "co_filename" msgstr "co_filename" -#: ../../library/inspect.rst:156 +#: ../../library/inspect.rst:161 msgid "name of file in which this code object was created" msgstr "" -#: ../../library/inspect.rst:160 +#: ../../library/inspect.rst:165 msgid "co_firstlineno" msgstr "co_firstlineno" -#: ../../library/inspect.rst:160 +#: ../../library/inspect.rst:165 msgid "number of first line in Python source code" msgstr "" -#: ../../library/inspect.rst:163 +#: ../../library/inspect.rst:168 msgid "co_flags" msgstr "co_flags" -#: ../../library/inspect.rst:163 +#: ../../library/inspect.rst:168 msgid "" "bitmap of ``CO_*`` flags, read more :ref:`here `" msgstr "" -#: ../../library/inspect.rst:167 +#: ../../library/inspect.rst:172 msgid "co_lnotab" msgstr "co_lnotab" -#: ../../library/inspect.rst:167 +#: ../../library/inspect.rst:172 msgid "encoded mapping of line numbers to bytecode indices" msgstr "" -#: ../../library/inspect.rst:171 +#: ../../library/inspect.rst:176 msgid "co_freevars" msgstr "co_freevars" -#: ../../library/inspect.rst:171 +#: ../../library/inspect.rst:176 msgid "tuple of names of free variables (referenced via a function's closure)" msgstr "" -#: ../../library/inspect.rst:175 +#: ../../library/inspect.rst:180 msgid "co_posonlyargcount" msgstr "co_posonlyargcount" -#: ../../library/inspect.rst:175 +#: ../../library/inspect.rst:180 msgid "number of positional only arguments" msgstr "" -#: ../../library/inspect.rst:178 +#: ../../library/inspect.rst:183 msgid "co_kwonlyargcount" msgstr "co_kwonlyargcount" -#: ../../library/inspect.rst:178 +#: ../../library/inspect.rst:183 msgid "number of keyword only arguments (not including \\*\\* arg)" msgstr "" -#: ../../library/inspect.rst:182 +#: ../../library/inspect.rst:187 msgid "co_name" msgstr "co_name" -#: ../../library/inspect.rst:182 +#: ../../library/inspect.rst:187 msgid "name with which this code object was defined" msgstr "" -#: ../../library/inspect.rst:185 +#: ../../library/inspect.rst:190 msgid "co_qualname" -msgstr "" +msgstr "co_qualname" -#: ../../library/inspect.rst:185 +#: ../../library/inspect.rst:190 msgid "fully qualified name with which this code object was defined" msgstr "" -#: ../../library/inspect.rst:189 +#: ../../library/inspect.rst:194 msgid "co_names" msgstr "co_names" -#: ../../library/inspect.rst:189 +#: ../../library/inspect.rst:194 msgid "tuple of names other than arguments and function locals" msgstr "" -#: ../../library/inspect.rst:193 +#: ../../library/inspect.rst:198 msgid "co_nlocals" msgstr "co_nlocals" -#: ../../library/inspect.rst:193 +#: ../../library/inspect.rst:198 msgid "number of local variables" msgstr "" -#: ../../library/inspect.rst:195 +#: ../../library/inspect.rst:200 msgid "co_stacksize" msgstr "co_stacksize" -#: ../../library/inspect.rst:195 +#: ../../library/inspect.rst:200 msgid "virtual machine stack space required" msgstr "" -#: ../../library/inspect.rst:198 +#: ../../library/inspect.rst:203 msgid "co_varnames" msgstr "co_varnames" -#: ../../library/inspect.rst:198 +#: ../../library/inspect.rst:203 msgid "tuple of names of arguments and local variables" msgstr "" -#: ../../library/inspect.rst:202 +#: ../../library/inspect.rst:207 msgid "generator" msgstr "gerador" -#: ../../library/inspect.rst:202 ../../library/inspect.rst:216 +#: ../../library/inspect.rst:207 ../../library/inspect.rst:221 msgid "name" msgstr "nome" -#: ../../library/inspect.rst:206 +#: ../../library/inspect.rst:211 msgid "gi_frame" msgstr "gi_frame" -#: ../../library/inspect.rst:208 +#: ../../library/inspect.rst:213 msgid "gi_running" msgstr "gi_running" -#: ../../library/inspect.rst:208 +#: ../../library/inspect.rst:213 msgid "is the generator running?" msgstr "" -#: ../../library/inspect.rst:210 +#: ../../library/inspect.rst:215 msgid "gi_code" msgstr "gi_code" -#: ../../library/inspect.rst:212 +#: ../../library/inspect.rst:217 msgid "gi_yieldfrom" msgstr "gi_yieldfrom" -#: ../../library/inspect.rst:212 +#: ../../library/inspect.rst:217 msgid "object being iterated by ``yield from``, or ``None``" msgstr "" -#: ../../library/inspect.rst:216 +#: ../../library/inspect.rst:221 msgid "coroutine" msgstr "corrotina" -#: ../../library/inspect.rst:220 +#: ../../library/inspect.rst:225 msgid "cr_await" msgstr "cr_await" -#: ../../library/inspect.rst:220 +#: ../../library/inspect.rst:225 msgid "object being awaited on, or ``None``" msgstr "" -#: ../../library/inspect.rst:223 +#: ../../library/inspect.rst:228 msgid "cr_frame" msgstr "cr_frame" -#: ../../library/inspect.rst:225 +#: ../../library/inspect.rst:230 msgid "cr_running" msgstr "cr_running" -#: ../../library/inspect.rst:225 +#: ../../library/inspect.rst:230 msgid "is the coroutine running?" msgstr "" -#: ../../library/inspect.rst:227 +#: ../../library/inspect.rst:232 msgid "cr_code" msgstr "cr_code" -#: ../../library/inspect.rst:229 +#: ../../library/inspect.rst:234 msgid "cr_origin" msgstr "cr_origin" -#: ../../library/inspect.rst:229 +#: ../../library/inspect.rst:234 msgid "where coroutine was created, or ``None``. See |coroutine-origin-link|" msgstr "" -#: ../../library/inspect.rst:233 +#: ../../library/inspect.rst:238 msgid "builtin" msgstr "" -#: ../../library/inspect.rst:235 +#: ../../library/inspect.rst:240 msgid "original name of this function or method" msgstr "" -#: ../../library/inspect.rst:240 +#: ../../library/inspect.rst:245 msgid "instance to which a method is bound, or ``None``" msgstr "" -#: ../../library/inspect.rst:247 +#: ../../library/inspect.rst:252 msgid "Add ``__qualname__`` and ``gi_yieldfrom`` attributes to generators." msgstr "" -#: ../../library/inspect.rst:249 +#: ../../library/inspect.rst:254 msgid "" "The ``__name__`` attribute of generators is now set from the function name, " "instead of the code name, and it can now be modified." msgstr "" -#: ../../library/inspect.rst:254 +#: ../../library/inspect.rst:259 msgid "Add ``cr_origin`` attribute to coroutines." msgstr "" -#: ../../library/inspect.rst:258 +#: ../../library/inspect.rst:263 msgid "Add ``__builtins__`` attribute to functions." msgstr "" -#: ../../library/inspect.rst:262 +#: ../../library/inspect.rst:267 msgid "" "Return all the members of an object in a list of ``(name, value)`` pairs " "sorted by name. If the optional *predicate* argument—which will be called " @@ -563,14 +579,14 @@ msgid "" "the predicate returns a true value are included." msgstr "" -#: ../../library/inspect.rst:269 +#: ../../library/inspect.rst:274 msgid "" ":func:`getmembers` will only return class attributes defined in the " "metaclass when the argument is a class and those attributes have been listed " -"in the metaclass' custom :meth:`__dir__`." +"in the metaclass' custom :meth:`~object.__dir__`." msgstr "" -#: ../../library/inspect.rst:276 +#: ../../library/inspect.rst:281 msgid "" "Return all the members of an object in a list of ``(name, value)`` pairs " "sorted by name without triggering dynamic lookup via the descriptor " @@ -578,7 +594,7 @@ msgid "" "that satisfy a given predicate." msgstr "" -#: ../../library/inspect.rst:283 +#: ../../library/inspect.rst:288 msgid "" ":func:`getmembers_static` may not be able to retrieve all members that " "getmembers can fetch (like dynamically created attributes) and may find " @@ -587,7 +603,7 @@ msgid "" "cases." msgstr "" -#: ../../library/inspect.rst:294 +#: ../../library/inspect.rst:299 msgid "" "Return the name of the module named by the file *path*, without including " "the names of enclosing packages. The file extension is checked against all " @@ -596,215 +612,219 @@ msgid "" "``None`` is returned." msgstr "" -#: ../../library/inspect.rst:300 +#: ../../library/inspect.rst:305 msgid "" "Note that this function *only* returns a meaningful name for actual Python " "modules - paths that potentially refer to Python packages will still return " "``None``." msgstr "" -#: ../../library/inspect.rst:304 +#: ../../library/inspect.rst:309 msgid "The function is based directly on :mod:`importlib`." msgstr "" -#: ../../library/inspect.rst:310 +#: ../../library/inspect.rst:315 msgid "Return ``True`` if the object is a module." msgstr "" -#: ../../library/inspect.rst:315 +#: ../../library/inspect.rst:320 msgid "" "Return ``True`` if the object is a class, whether built-in or created in " "Python code." msgstr "" -#: ../../library/inspect.rst:321 +#: ../../library/inspect.rst:326 msgid "Return ``True`` if the object is a bound method written in Python." msgstr "" -#: ../../library/inspect.rst:326 +#: ../../library/inspect.rst:331 msgid "" "Return ``True`` if the object is a Python function, which includes functions " "created by a :term:`lambda` expression." msgstr "" -#: ../../library/inspect.rst:332 +#: ../../library/inspect.rst:337 msgid "Return ``True`` if the object is a Python generator function." msgstr "" -#: ../../library/inspect.rst:334 +#: ../../library/inspect.rst:339 msgid "" "Functions wrapped in :func:`functools.partial` now return ``True`` if the " "wrapped function is a Python generator function." msgstr "" -#: ../../library/inspect.rst:341 +#: ../../library/inspect.rst:346 msgid "Return ``True`` if the object is a generator." msgstr "" -#: ../../library/inspect.rst:346 +#: ../../library/inspect.rst:351 msgid "" "Return ``True`` if the object is a :term:`coroutine function` (a function " "defined with an :keyword:`async def` syntax)." msgstr "" -#: ../../library/inspect.rst:351 +#: ../../library/inspect.rst:356 msgid "" "Functions wrapped in :func:`functools.partial` now return ``True`` if the " "wrapped function is a :term:`coroutine function`." msgstr "" -#: ../../library/inspect.rst:358 +#: ../../library/inspect.rst:363 msgid "" -"Return ``True`` if the object is a :term:`coroutine` created by an :keyword:" -"`async def` function." +"Return ``True`` if the object is a :term:`coroutine` created by " +"an :keyword:`async def` function." msgstr "" -#: ../../library/inspect.rst:366 +#: ../../library/inspect.rst:371 msgid "" "Return ``True`` if the object can be used in :keyword:`await` expression." msgstr "" -#: ../../library/inspect.rst:368 +#: ../../library/inspect.rst:373 msgid "" "Can also be used to distinguish generator-based coroutines from regular " -"generators::" +"generators:" msgstr "" -#: ../../library/inspect.rst:385 +#: ../../library/inspect.rst:394 msgid "" "Return ``True`` if the object is an :term:`asynchronous generator` function, " -"for example::" +"for example:" msgstr "" -#: ../../library/inspect.rst:396 +#: ../../library/inspect.rst:407 msgid "" "Functions wrapped in :func:`functools.partial` now return ``True`` if the " "wrapped function is a :term:`asynchronous generator` function." msgstr "" -#: ../../library/inspect.rst:403 +#: ../../library/inspect.rst:414 msgid "" "Return ``True`` if the object is an :term:`asynchronous generator iterator` " "created by an :term:`asynchronous generator` function." msgstr "" -#: ../../library/inspect.rst:410 +#: ../../library/inspect.rst:421 msgid "Return ``True`` if the object is a traceback." msgstr "" -#: ../../library/inspect.rst:415 +#: ../../library/inspect.rst:426 msgid "Return ``True`` if the object is a frame." msgstr "" -#: ../../library/inspect.rst:420 +#: ../../library/inspect.rst:431 msgid "Return ``True`` if the object is a code." msgstr "" -#: ../../library/inspect.rst:425 +#: ../../library/inspect.rst:436 msgid "" "Return ``True`` if the object is a built-in function or a bound built-in " "method." msgstr "" -#: ../../library/inspect.rst:430 +#: ../../library/inspect.rst:441 msgid "" "Return ``True`` if the type of object is a :class:`~types.MethodWrapperType`." msgstr "" -#: ../../library/inspect.rst:432 +#: ../../library/inspect.rst:443 msgid "" -"These are instances of :class:`~types.MethodWrapperType`, such as :meth:" -"`~object.__str__`, :meth:`~object.__eq__` and :meth:`~object.__repr__`." +"These are instances of :class:`~types.MethodWrapperType`, such " +"as :meth:`~object.__str__`, :meth:`~object.__eq__` " +"and :meth:`~object.__repr__`." msgstr "" -#: ../../library/inspect.rst:440 +#: ../../library/inspect.rst:451 msgid "" "Return ``True`` if the object is a user-defined or built-in function or " "method." msgstr "" -#: ../../library/inspect.rst:445 +#: ../../library/inspect.rst:456 msgid "Return ``True`` if the object is an abstract base class." msgstr "" -#: ../../library/inspect.rst:450 +#: ../../library/inspect.rst:461 msgid "" -"Return ``True`` if the object is a method descriptor, but not if :func:" -"`ismethod`, :func:`isclass`, :func:`isfunction` or :func:`isbuiltin` are " -"true." +"Return ``True`` if the object is a method descriptor, but not " +"if :func:`ismethod`, :func:`isclass`, :func:`isfunction` " +"or :func:`isbuiltin` are true." msgstr "" -#: ../../library/inspect.rst:454 +#: ../../library/inspect.rst:465 msgid "" "This, for example, is true of ``int.__add__``. An object passing this test " "has a :meth:`~object.__get__` method but not a :meth:`~object.__set__` " -"method, but beyond that the set of attributes varies. A :attr:`~definition." -"__name__` attribute is usually sensible, and :attr:`__doc__` often is." +"method, but beyond that the set of attributes varies. " +"A :attr:`~definition.__name__` attribute is usually sensible, and :attr:`!" +"__doc__` often is." msgstr "" -#: ../../library/inspect.rst:460 +#: ../../library/inspect.rst:471 msgid "" "Methods implemented via descriptors that also pass one of the other tests " "return ``False`` from the :func:`ismethoddescriptor` test, simply because " -"the other tests promise more -- you can, e.g., count on having the :attr:" -"`__func__` attribute (etc) when an object passes :func:`ismethod`." +"the other tests promise more -- you can, e.g., count on having " +"the :attr:`~method.__func__` attribute (etc) when an object " +"passes :func:`ismethod`." msgstr "" -#: ../../library/inspect.rst:468 +#: ../../library/inspect.rst:480 msgid "Return ``True`` if the object is a data descriptor." msgstr "" -#: ../../library/inspect.rst:470 +#: ../../library/inspect.rst:482 msgid "" -"Data descriptors have a :attr:`~object.__set__` or a :attr:`~object." -"__delete__` method. Examples are properties (defined in Python), getsets, " -"and members. The latter two are defined in C and there are more specific " -"tests available for those types, which is robust across Python " -"implementations. Typically, data descriptors will also have :attr:" -"`~definition.__name__` and :attr:`__doc__` attributes (properties, getsets, " -"and members have both of these attributes), but this is not guaranteed." +"Data descriptors have a :attr:`~object.__set__` or " +"a :attr:`~object.__delete__` method. Examples are properties (defined in " +"Python), getsets, and members. The latter two are defined in C and there " +"are more specific tests available for those types, which is robust across " +"Python implementations. Typically, data descriptors will also " +"have :attr:`~definition.__name__` and :attr:`!__doc__` attributes " +"(properties, getsets, and members have both of these attributes), but this " +"is not guaranteed." msgstr "" -#: ../../library/inspect.rst:481 +#: ../../library/inspect.rst:493 msgid "Return ``True`` if the object is a getset descriptor." msgstr "" -#: ../../library/inspect.rst:485 +#: ../../library/inspect.rst:497 msgid "" -"getsets are attributes defined in extension modules via :c:type:" -"`PyGetSetDef` structures. For Python implementations without such types, " -"this method will always return ``False``." +"getsets are attributes defined in extension modules " +"via :c:type:`PyGetSetDef` structures. For Python implementations without " +"such types, this method will always return ``False``." msgstr "" -#: ../../library/inspect.rst:492 +#: ../../library/inspect.rst:504 msgid "Return ``True`` if the object is a member descriptor." msgstr "" -#: ../../library/inspect.rst:496 +#: ../../library/inspect.rst:508 msgid "" -"Member descriptors are attributes defined in extension modules via :c:type:" -"`PyMemberDef` structures. For Python implementations without such types, " -"this method will always return ``False``." +"Member descriptors are attributes defined in extension modules " +"via :c:type:`PyMemberDef` structures. For Python implementations without " +"such types, this method will always return ``False``." msgstr "" -#: ../../library/inspect.rst:504 +#: ../../library/inspect.rst:516 msgid "Retrieving source code" msgstr "" -#: ../../library/inspect.rst:508 +#: ../../library/inspect.rst:520 msgid "" -"Get the documentation string for an object, cleaned up with :func:" -"`cleandoc`. If the documentation string for an object is not provided and " -"the object is a class, a method, a property or a descriptor, retrieve the " -"documentation string from the inheritance hierarchy. Return ``None`` if the " -"documentation string is invalid or missing." +"Get the documentation string for an object, cleaned up " +"with :func:`cleandoc`. If the documentation string for an object is not " +"provided and the object is a class, a method, a property or a descriptor, " +"retrieve the documentation string from the inheritance hierarchy. Return " +"``None`` if the documentation string is invalid or missing." msgstr "" -#: ../../library/inspect.rst:514 +#: ../../library/inspect.rst:526 msgid "Documentation strings are now inherited if not overridden." msgstr "Strings de documentação agora são herdadas, se não forem sobrescritas." -#: ../../library/inspect.rst:520 +#: ../../library/inspect.rst:532 msgid "" "Return in a single string any lines of comments immediately preceding the " "object's source code (for a class, function, or method), or at the top of " @@ -813,7 +833,7 @@ msgid "" "been defined in C or the interactive shell." msgstr "" -#: ../../library/inspect.rst:529 +#: ../../library/inspect.rst:541 msgid "" "Return the name of the (text or binary) file in which an object was defined. " "This will fail with a :exc:`TypeError` if the object is a built-in module, " @@ -823,20 +843,20 @@ msgstr "" "Isso falhará com um :exc:`TypeError` se o objeto for um módulo, classe ou " "função embutidos." -#: ../../library/inspect.rst:536 +#: ../../library/inspect.rst:548 msgid "" "Try to guess which module an object was defined in. Return ``None`` if the " "module cannot be determined." msgstr "" -#: ../../library/inspect.rst:542 +#: ../../library/inspect.rst:554 msgid "" "Return the name of the Python source file in which an object was defined or " "``None`` if no way can be identified to get the source. This will fail with " "a :exc:`TypeError` if the object is a built-in module, class, or function." msgstr "" -#: ../../library/inspect.rst:550 +#: ../../library/inspect.rst:562 msgid "" "Return a list of source lines and starting line number for an object. The " "argument may be a module, class, method, function, traceback, frame, or code " @@ -847,13 +867,13 @@ msgid "" "built-in module, class, or function." msgstr "" -#: ../../library/inspect.rst:559 ../../library/inspect.rst:573 +#: ../../library/inspect.rst:571 ../../library/inspect.rst:585 msgid "" ":exc:`OSError` is raised instead of :exc:`IOError`, now an alias of the " "former." msgstr "" -#: ../../library/inspect.rst:566 +#: ../../library/inspect.rst:578 msgid "" "Return the text of the source code for an object. The argument may be a " "module, class, method, function, traceback, frame, or code object. The " @@ -862,13 +882,13 @@ msgid "" "object is a built-in module, class, or function." msgstr "" -#: ../../library/inspect.rst:580 +#: ../../library/inspect.rst:592 msgid "" "Clean up indentation from docstrings that are indented to line up with " "blocks of code." msgstr "" -#: ../../library/inspect.rst:583 +#: ../../library/inspect.rst:595 msgid "" "All leading whitespace is removed from the first line. Any leading " "whitespace that can be uniformly removed from the second line onwards is " @@ -876,80 +896,88 @@ msgid "" "Also, all tabs are expanded to spaces." msgstr "" -#: ../../library/inspect.rst:592 +#: ../../library/inspect.rst:604 msgid "Introspecting callables with the Signature object" msgstr "" -#: ../../library/inspect.rst:596 +#: ../../library/inspect.rst:608 msgid "" -"The Signature object represents the call signature of a callable object and " -"its return annotation. To retrieve a Signature object, use the :func:" -"`signature` function." +"The :class:`Signature` object represents the call signature of a callable " +"object and its return annotation. To retrieve a :class:`!Signature` object, " +"use the :func:`!signature` function." msgstr "" -#: ../../library/inspect.rst:602 -msgid "Return a :class:`Signature` object for the given ``callable``::" +#: ../../library/inspect.rst:615 +msgid "Return a :class:`Signature` object for the given *callable*:" msgstr "" -#: ../../library/inspect.rst:619 +#: ../../library/inspect.rst:634 msgid "" "Accepts a wide range of Python callables, from plain functions and classes " "to :func:`functools.partial` objects." msgstr "" -#: ../../library/inspect.rst:622 +#: ../../library/inspect.rst:637 msgid "" "For objects defined in modules using stringized annotations (``from " "__future__ import annotations``), :func:`signature` will attempt to " -"automatically un-stringize the annotations using :func:`inspect." -"get_annotations()`. The ``global``, ``locals``, and ``eval_str`` parameters " -"are passed into :func:`inspect.get_annotations()` when resolving the " -"annotations; see the documentation for :func:`inspect.get_annotations()` for " -"instructions on how to use these parameters." +"automatically un-stringize the annotations using :func:`get_annotations`. " +"The *globals*, *locals*, and *eval_str* parameters are passed " +"into :func:`get_annotations` when resolving the annotations; see the " +"documentation for :func:`get_annotations` for instructions on how to use " +"these parameters." msgstr "" -#: ../../library/inspect.rst:631 +#: ../../library/inspect.rst:646 msgid "" -"Raises :exc:`ValueError` if no signature can be provided, and :exc:" -"`TypeError` if that type of object is not supported. Also, if the " -"annotations are stringized, and ``eval_str`` is not false, the ``eval()`` " -"call(s) to un-stringize the annotations could potentially raise any kind of " -"exception." +"Raises :exc:`ValueError` if no signature can be provided, " +"and :exc:`TypeError` if that type of object is not supported. Also, if the " +"annotations are stringized, and *eval_str* is not false, the ``eval()`` " +"call(s) to un-stringize the annotations in :func:`get_annotations` could " +"potentially raise any kind of exception." msgstr "" -#: ../../library/inspect.rst:637 +#: ../../library/inspect.rst:652 msgid "" "A slash(/) in the signature of a function denotes that the parameters prior " "to it are positional-only. For more info, see :ref:`the FAQ entry on " "positional-only parameters `." msgstr "" -#: ../../library/inspect.rst:641 +#: ../../library/inspect.rst:656 msgid "" -"``follow_wrapped`` parameter. Pass ``False`` to get a signature of " -"``callable`` specifically (``callable.__wrapped__`` will not be used to " +"The *follow_wrapped* parameter was added. Pass ``False`` to get a signature " +"of *callable* specifically (``callable.__wrapped__`` will not be used to " "unwrap decorated callables.)" msgstr "" -#: ../../library/inspect.rst:646 -msgid "``globals``, ``locals``, and ``eval_str`` parameters." +#: ../../library/inspect.rst:662 ../../library/inspect.rst:771 +msgid "The *globals*, *locals*, and *eval_str* parameters were added." msgstr "" -#: ../../library/inspect.rst:651 +#: ../../library/inspect.rst:667 msgid "" "Some callables may not be introspectable in certain implementations of " "Python. For example, in CPython, some built-in functions defined in C " "provide no metadata about their arguments." msgstr "" -#: ../../library/inspect.rst:658 +#: ../../library/inspect.rst:673 +msgid "" +"If the passed object has a :attr:`!__signature__` attribute, we may use it " +"to create the signature. The exact semantics are an implementation detail " +"and are subject to unannounced changes. Consult the source code for current " +"semantics." +msgstr "" + +#: ../../library/inspect.rst:681 msgid "" -"A Signature object represents the call signature of a function and its " -"return annotation. For each parameter accepted by the function it stores a :" -"class:`Parameter` object in its :attr:`parameters` collection." +"A :class:`!Signature` object represents the call signature of a function and " +"its return annotation. For each parameter accepted by the function it " +"stores a :class:`Parameter` object in its :attr:`parameters` collection." msgstr "" -#: ../../library/inspect.rst:662 +#: ../../library/inspect.rst:686 msgid "" "The optional *parameters* argument is a sequence of :class:`Parameter` " "objects, which is validated to check that there are no parameters with " @@ -958,54 +986,54 @@ msgid "" "defaults follow parameters without defaults." msgstr "" -#: ../../library/inspect.rst:668 +#: ../../library/inspect.rst:692 msgid "" -"The optional *return_annotation* argument, can be an arbitrary Python " -"object, is the \"return\" annotation of the callable." +"The optional *return_annotation* argument can be an arbitrary Python object. " +"It represents the \"return\" annotation of the callable." msgstr "" -#: ../../library/inspect.rst:671 +#: ../../library/inspect.rst:695 msgid "" -"Signature objects are *immutable*. Use :meth:`Signature.replace` to make a " -"modified copy." +":class:`!Signature` objects are *immutable*. Use :meth:`Signature.replace` " +"to make a modified copy." msgstr "" -#: ../../library/inspect.rst:674 -msgid "Signature objects are picklable and :term:`hashable`." +#: ../../library/inspect.rst:698 +msgid ":class:`!Signature` objects are now picklable and :term:`hashable`." msgstr "" -#: ../../library/inspect.rst:679 +#: ../../library/inspect.rst:703 msgid "A special class-level marker to specify absence of a return annotation." msgstr "" -#: ../../library/inspect.rst:683 +#: ../../library/inspect.rst:707 msgid "" -"An ordered mapping of parameters' names to the corresponding :class:" -"`Parameter` objects. Parameters appear in strict definition order, " -"including keyword-only parameters." +"An ordered mapping of parameters' names to the " +"corresponding :class:`Parameter` objects. Parameters appear in strict " +"definition order, including keyword-only parameters." msgstr "" -#: ../../library/inspect.rst:687 ../../library/inspect.rst:1012 +#: ../../library/inspect.rst:711 ../../library/inspect.rst:1047 msgid "" "Python only explicitly guaranteed that it preserved the declaration order of " "keyword-only parameters as of version 3.7, although in practice this order " "had always been preserved in Python 3." msgstr "" -#: ../../library/inspect.rst:694 +#: ../../library/inspect.rst:718 msgid "" "The \"return\" annotation for the callable. If the callable has no " "\"return\" annotation, this attribute is set to :attr:`Signature.empty`." msgstr "" -#: ../../library/inspect.rst:699 +#: ../../library/inspect.rst:723 msgid "" "Create a mapping from positional and keyword arguments to parameters. " "Returns :class:`BoundArguments` if ``*args`` and ``**kwargs`` match the " "signature, or raises a :exc:`TypeError`." msgstr "" -#: ../../library/inspect.rst:705 +#: ../../library/inspect.rst:729 msgid "" "Works the same way as :meth:`Signature.bind`, but allows the omission of " "some required arguments (mimics :func:`functools.partial` behavior.) " @@ -1013,251 +1041,290 @@ msgid "" "arguments do not match the signature." msgstr "" -#: ../../library/inspect.rst:712 +#: ../../library/inspect.rst:736 msgid "" -"Create a new Signature instance based on the instance replace was invoked " -"on. It is possible to pass different ``parameters`` and/or " -"``return_annotation`` to override the corresponding properties of the base " -"signature. To remove return_annotation from the copied Signature, pass in :" -"attr:`Signature.empty`." +"Create a new :class:`Signature` instance based on the " +"instance :meth:`replace` was invoked on. It is possible to pass different " +"*parameters* and/or *return_annotation* to override the corresponding " +"properties of the base signature. To remove ``return_annotation`` from the " +"copied :class:`!Signature`, pass in :attr:`Signature.empty`." msgstr "" -#: ../../library/inspect.rst:729 +#: ../../library/inspect.rst:755 msgid "" "Return a :class:`Signature` (or its subclass) object for a given callable " -"``obj``. Pass ``follow_wrapped=False`` to get a signature of ``obj`` " -"without unwrapping its ``__wrapped__`` chain. ``globalns`` and ``localns`` " -"will be used as the namespaces when resolving annotations." +"*obj*." msgstr "" -#: ../../library/inspect.rst:734 -msgid "This method simplifies subclassing of :class:`Signature`::" +#: ../../library/inspect.rst:758 +msgid "This method simplifies subclassing of :class:`Signature`:" msgstr "" -#: ../../library/inspect.rst:743 -msgid "``globalns`` and ``localns`` parameters." +#: ../../library/inspect.rst:767 +msgid "Its behavior is otherwise identical to that of :func:`signature`." msgstr "" -#: ../../library/inspect.rst:749 +#: ../../library/inspect.rst:777 msgid "" -"Parameter objects are *immutable*. Instead of modifying a Parameter object, " -"you can use :meth:`Parameter.replace` to create a modified copy." +":class:`!Parameter` objects are *immutable*. Instead of modifying a :class:`!" +"Parameter` object, you can use :meth:`Parameter.replace` to create a " +"modified copy." msgstr "" -#: ../../library/inspect.rst:752 -msgid "Parameter objects are picklable and :term:`hashable`." +#: ../../library/inspect.rst:781 +msgid "Parameter objects are now picklable and :term:`hashable`." msgstr "" +"Objetos Parameter agora são compatíveis com pickle e :term:`hasheável`." -#: ../../library/inspect.rst:757 +#: ../../library/inspect.rst:786 msgid "" "A special class-level marker to specify absence of default values and " "annotations." msgstr "" +"Um marcador de nível de classe especial para especificar a ausência de valor " +"padrão e anotação." -#: ../../library/inspect.rst:762 +#: ../../library/inspect.rst:791 msgid "" "The name of the parameter as a string. The name must be a valid Python " "identifier." msgstr "" +"O nome do parâmetro como uma string. O nome deve ser um identificador Python " +"válido." -#: ../../library/inspect.rst:767 +#: ../../library/inspect.rst:796 msgid "" "CPython generates implicit parameter names of the form ``.0`` on the code " "objects used to implement comprehensions and generator expressions." msgstr "" +"CPython gera nomes de parâmetro implícito na forma ``.0`` no código objeto " +"usado para implementar compreensão e expressão geradora." -#: ../../library/inspect.rst:771 +#: ../../library/inspect.rst:800 msgid "" -"These parameter names are exposed by this module as names like ``implicit0``." +"These parameter names are now exposed by this module as names like " +"``implicit0``." msgstr "" +"Esses nomes de parâmetro agora são expostos por este módulo como nomes como " +"``implicit0``." -#: ../../library/inspect.rst:777 +#: ../../library/inspect.rst:806 msgid "" "The default value for the parameter. If the parameter has no default value, " "this attribute is set to :attr:`Parameter.empty`." msgstr "" +"O padrão valor para o parâmetro. Se o parâmetro não tiver padrão valor, esse " +"atributo será definido como :attr:`Parameter.empty`." -#: ../../library/inspect.rst:782 +#: ../../library/inspect.rst:811 msgid "" "The annotation for the parameter. If the parameter has no annotation, this " "attribute is set to :attr:`Parameter.empty`." msgstr "" +"A anotação para o parâmetro. Se o parâmetro não tiver anotação, esse " +"atributo será definido como :attr:`Parameter.empty`." -#: ../../library/inspect.rst:787 +#: ../../library/inspect.rst:816 msgid "" "Describes how argument values are bound to the parameter. The possible " -"values are accessible via :class:`Parameter` (like ``Parameter." -"KEYWORD_ONLY``), and support comparison and ordering, in the following order:" +"values are accessible via :class:`Parameter` (like " +"``Parameter.KEYWORD_ONLY``), and support comparison and ordering, in the " +"following order:" msgstr "" +"Descreve como valores de argumento são vinculados ao parâmetro. Os possíveis " +"valores são acessíveis via :class:`Parameter` (como " +"``Parameter.KEYWORD_ONLY``) e tem suporte para comparação e ordenação, na " +"seguinte ordem:" -#: ../../library/inspect.rst:794 +#: ../../library/inspect.rst:823 msgid "Name" msgstr "Nome" -#: ../../library/inspect.rst:794 +#: ../../library/inspect.rst:823 msgid "Meaning" msgstr "Significado" -#: ../../library/inspect.rst:796 +#: ../../library/inspect.rst:825 msgid "*POSITIONAL_ONLY*" -msgstr "" +msgstr "*POSITIONAL_ONLY*" -#: ../../library/inspect.rst:796 +#: ../../library/inspect.rst:825 msgid "" "Value must be supplied as a positional argument. Positional only parameters " "are those which appear before a ``/`` entry (if present) in a Python " "function definition." msgstr "" +"Valor deve ser fornecido como argumento posicional. Parâmetros somente-" +"posicionais são aqueles que aparecem antes de uma entrada ``/`` (se " +"presente) em uma definição de função Python." -#: ../../library/inspect.rst:801 +#: ../../library/inspect.rst:830 msgid "*POSITIONAL_OR_KEYWORD*" -msgstr "" +msgstr "*POSITIONAL_OR_KEYWORD*" -#: ../../library/inspect.rst:801 +#: ../../library/inspect.rst:830 msgid "" "Value may be supplied as either a keyword or positional argument (this is " "the standard binding behaviour for functions implemented in Python.)" msgstr "" +"Valor pode ser fornecido como argumento posicional ou nomeado (esse é o " +"comportamento de ligação padrão para funções implementadas em Python)." -#: ../../library/inspect.rst:806 +#: ../../library/inspect.rst:835 msgid "*VAR_POSITIONAL*" msgstr "```*VAR_POSITIONAL*```" -#: ../../library/inspect.rst:806 +#: ../../library/inspect.rst:835 msgid "" "A tuple of positional arguments that aren't bound to any other parameter. " "This corresponds to a ``*args`` parameter in a Python function definition." msgstr "" +"Uma tupla de argumentos posicionais que não estão vinculados a nenhum outro " +"parâmetro. Isso corresponde a um parâmetro ``*args`` em uma definição de " +"função Python." -#: ../../library/inspect.rst:811 +#: ../../library/inspect.rst:840 msgid "*KEYWORD_ONLY*" -msgstr "" +msgstr "*KEYWORD_ONLY*" -#: ../../library/inspect.rst:811 +#: ../../library/inspect.rst:840 msgid "" "Value must be supplied as a keyword argument. Keyword only parameters are " "those which appear after a ``*`` or ``*args`` entry in a Python function " "definition." msgstr "" +"Valor deve ser fornecido como argumento nomeado. Parâmetros somente-nomeados " +"são aqueles que aparecem após uma entrada ``*`` ou ``*args`` em uma " +"definição de função Python." -#: ../../library/inspect.rst:816 +#: ../../library/inspect.rst:845 msgid "*VAR_KEYWORD*" -msgstr "" +msgstr "*VAR_KEYWORD*" -#: ../../library/inspect.rst:816 +#: ../../library/inspect.rst:845 msgid "" "A dict of keyword arguments that aren't bound to any other parameter. This " "corresponds to a ``**kwargs`` parameter in a Python function definition." msgstr "" +"Um dicionário de argumentos nomeados que não estão vinculados a nenhum outro " +"parâmetro. Isso corresponde a um parâmetro ``**kwargs`` em uma definição de " +"função Python." -#: ../../library/inspect.rst:822 -msgid "Example: print all keyword-only arguments without default values::" -msgstr "" +#: ../../library/inspect.rst:851 +msgid "Example: print all keyword-only arguments without default values:" +msgstr "Exemplo: exibir todos argumentos somente-nomeados sem padrão valor:" -#: ../../library/inspect.rst:836 -msgid "Describes a enum value of Parameter.kind." +#: ../../library/inspect.rst:867 +msgid "Describes a enum value of :attr:`Parameter.kind`." msgstr "" -#: ../../library/inspect.rst:840 -msgid "Example: print all descriptions of arguments::" -msgstr "" +#: ../../library/inspect.rst:871 +msgid "Example: print all descriptions of arguments:" +msgstr "Exemplo: exibir as descrições de todos os argumento:" -#: ../../library/inspect.rst:855 +#: ../../library/inspect.rst:888 msgid "" -"Create a new Parameter instance based on the instance replaced was invoked " -"on. To override a :class:`Parameter` attribute, pass the corresponding " -"argument. To remove a default value or/and an annotation from a Parameter, " -"pass :attr:`Parameter.empty`." +"Create a new :class:`Parameter` instance based on the instance replaced was " +"invoked on. To override a :class:`!Parameter` attribute, pass the " +"corresponding argument. To remove a default value or/and an annotation from " +"a :class:`!Parameter`, pass :attr:`Parameter.empty`." msgstr "" +"Cria uma nova instância de :class:`Parameter` com base na instância em que o " +"método foi chamado. Para substituir um atributo de :class:`!Parameter`, " +"passe o argumento correspondente. Para remover um valor padrão ou/e uma " +"anotação de um :class:`!Parameter`, passe :attr:`Parameter.empty`." -#: ../../library/inspect.rst:873 +#: ../../library/inspect.rst:906 msgid "" -"In Python 3.3 Parameter objects were allowed to have ``name`` set to " -"``None`` if their ``kind`` was set to ``POSITIONAL_ONLY``. This is no longer " -"permitted." +"In Python 3.3 :class:`Parameter` objects were allowed to have ``name`` set " +"to ``None`` if their ``kind`` was set to ``POSITIONAL_ONLY``. This is no " +"longer permitted." msgstr "" +"Em Python 3.3, era permitido objetos :class:`Parameter` terem ``name`` " +"definido como ``None`` se ``kind`` estivesse definido como " +"``POSITIONAL_ONLY``. Isso não é mais permitido." -#: ../../library/inspect.rst:880 +#: ../../library/inspect.rst:913 msgid "" "Result of a :meth:`Signature.bind` or :meth:`Signature.bind_partial` call. " "Holds the mapping of arguments to the function's parameters." msgstr "" -#: ../../library/inspect.rst:885 +#: ../../library/inspect.rst:918 msgid "" "A mutable mapping of parameters' names to arguments' values. Contains only " -"explicitly bound arguments. Changes in :attr:`arguments` will reflect in :" -"attr:`args` and :attr:`kwargs`." +"explicitly bound arguments. Changes in :attr:`arguments` will reflect " +"in :attr:`args` and :attr:`kwargs`." msgstr "" -#: ../../library/inspect.rst:889 +#: ../../library/inspect.rst:922 msgid "" "Should be used in conjunction with :attr:`Signature.parameters` for any " "argument processing purposes." msgstr "" -#: ../../library/inspect.rst:894 +#: ../../library/inspect.rst:927 msgid "" "Arguments for which :meth:`Signature.bind` or :meth:`Signature.bind_partial` " -"relied on a default value are skipped. However, if needed, use :meth:" -"`BoundArguments.apply_defaults` to add them." +"relied on a default value are skipped. However, if needed, " +"use :meth:`BoundArguments.apply_defaults` to add them." msgstr "" -#: ../../library/inspect.rst:899 +#: ../../library/inspect.rst:932 msgid "" -":attr:`arguments` is now of type :class:`dict`. Formerly, it was of type :" -"class:`collections.OrderedDict`." +":attr:`arguments` is now of type :class:`dict`. Formerly, it was of " +"type :class:`collections.OrderedDict`." msgstr "" -#: ../../library/inspect.rst:905 +#: ../../library/inspect.rst:938 msgid "" -"A tuple of positional arguments values. Dynamically computed from the :attr:" -"`arguments` attribute." +"A tuple of positional arguments values. Dynamically computed from " +"the :attr:`arguments` attribute." msgstr "" -#: ../../library/inspect.rst:910 +#: ../../library/inspect.rst:943 msgid "" -"A dict of keyword arguments values. Dynamically computed from the :attr:" -"`arguments` attribute." +"A dict of keyword arguments values. Dynamically computed from " +"the :attr:`arguments` attribute." msgstr "" -#: ../../library/inspect.rst:915 +#: ../../library/inspect.rst:948 msgid "A reference to the parent :class:`Signature` object." msgstr "" -#: ../../library/inspect.rst:919 +#: ../../library/inspect.rst:952 msgid "Set default values for missing arguments." msgstr "" -#: ../../library/inspect.rst:921 +#: ../../library/inspect.rst:954 msgid "" "For variable-positional arguments (``*args``) the default is an empty tuple." msgstr "" -#: ../../library/inspect.rst:924 +#: ../../library/inspect.rst:957 msgid "" "For variable-keyword arguments (``**kwargs``) the default is an empty dict." msgstr "" -#: ../../library/inspect.rst:937 +#: ../../library/inspect.rst:970 msgid "" "The :attr:`args` and :attr:`kwargs` properties can be used to invoke " -"functions::" +"functions:" msgstr "" -#: ../../library/inspect.rst:950 +#: ../../library/inspect.rst:985 msgid ":pep:`362` - Function Signature Object." msgstr "" -#: ../../library/inspect.rst:951 +#: ../../library/inspect.rst:986 msgid "The detailed specification, implementation details and examples." msgstr "" -#: ../../library/inspect.rst:957 +#: ../../library/inspect.rst:992 msgid "Classes and functions" msgstr "Classes e funções" -#: ../../library/inspect.rst:961 +#: ../../library/inspect.rst:996 msgid "" "Arrange the given list of classes into a hierarchy of nested lists. Where a " "nested list appears, it contains classes derived from the class whose entry " @@ -1268,19 +1335,21 @@ msgid "" "will appear multiple times." msgstr "" -#: ../../library/inspect.rst:972 +#: ../../library/inspect.rst:1007 msgid "" -"Get the names and default values of a Python function's parameters. A :term:" -"`named tuple` is returned:" +"Get the names and default values of a Python function's parameters. " +"A :term:`named tuple` is returned:" msgstr "" -#: ../../library/inspect.rst:975 +#: ../../library/inspect.rst:1010 msgid "" "``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, " "annotations)``" msgstr "" +"``FullArgSpec(args, varargs, varkw, defaults, kwonlyargs, kwonlydefaults, " +"annotations)``" -#: ../../library/inspect.rst:978 +#: ../../library/inspect.rst:1013 msgid "" "*args* is a list of the positional parameter names. *varargs* is the name of " "the ``*`` parameter or ``None`` if arbitrary positional arguments are not " @@ -1295,7 +1364,7 @@ msgid "" "report the function return value annotation (if any)." msgstr "" -#: ../../library/inspect.rst:993 +#: ../../library/inspect.rst:1028 msgid "" "Note that :func:`signature` and :ref:`Signature Object ` provide the recommended API for callable introspection, and support " @@ -1305,42 +1374,43 @@ msgid "" "``inspect`` module API." msgstr "" -#: ../../library/inspect.rst:1000 +#: ../../library/inspect.rst:1035 msgid "" "This function is now based on :func:`signature`, but still ignores " "``__wrapped__`` attributes and includes the already bound first parameter in " "the signature output for bound methods." msgstr "" -#: ../../library/inspect.rst:1005 +#: ../../library/inspect.rst:1040 msgid "" -"This method was previously documented as deprecated in favour of :func:" -"`signature` in Python 3.5, but that decision has been reversed in order to " -"restore a clearly supported standard interface for single-source Python 2/3 " -"code migrating away from the legacy :func:`getargspec` API." +"This method was previously documented as deprecated in favour " +"of :func:`signature` in Python 3.5, but that decision has been reversed in " +"order to restore a clearly supported standard interface for single-source " +"Python 2/3 code migrating away from the legacy :func:`getargspec` API." msgstr "" -#: ../../library/inspect.rst:1020 +#: ../../library/inspect.rst:1055 msgid "" -"Get information about arguments passed into a particular frame. A :term:" -"`named tuple` ``ArgInfo(args, varargs, keywords, locals)`` is returned. " -"*args* is a list of the argument names. *varargs* and *keywords* are the " -"names of the ``*`` and ``**`` arguments or ``None``. *locals* is the locals " -"dictionary of the given frame." +"Get information about arguments passed into a particular frame. " +"A :term:`named tuple` ``ArgInfo(args, varargs, keywords, locals)`` is " +"returned. *args* is a list of the argument names. *varargs* and *keywords* " +"are the names of the ``*`` and ``**`` arguments or ``None``. *locals* is " +"the locals dictionary of the given frame." msgstr "" -#: ../../library/inspect.rst:1027 ../../library/inspect.rst:1037 +#: ../../library/inspect.rst:1062 ../../library/inspect.rst:1072 msgid "This function was inadvertently marked as deprecated in Python 3.5." msgstr "" -#: ../../library/inspect.rst:1032 +#: ../../library/inspect.rst:1067 msgid "" -"Format a pretty argument spec from the four values returned by :func:" -"`getargvalues`. The format\\* arguments are the corresponding optional " -"formatting functions that are called to turn names and values into strings." +"Format a pretty argument spec from the four values returned " +"by :func:`getargvalues`. The format\\* arguments are the corresponding " +"optional formatting functions that are called to turn names and values into " +"strings." msgstr "" -#: ../../library/inspect.rst:1042 +#: ../../library/inspect.rst:1077 msgid "" "Return a tuple of class cls's base classes, including cls, in method " "resolution order. No class appears more than once in this tuple. Note that " @@ -1348,7 +1418,7 @@ msgid "" "user-defined metatype is in use, cls will be the first element of the tuple." msgstr "" -#: ../../library/inspect.rst:1050 +#: ../../library/inspect.rst:1085 msgid "" "Bind the *args* and *kwds* to the argument names of the Python function or " "method *func*, as if it was called with them. For bound methods, bind also " @@ -1358,14 +1428,14 @@ msgid "" "In case of invoking *func* incorrectly, i.e. whenever ``func(*args, " "**kwds)`` would raise an exception because of incompatible signature, an " "exception of the same type and the same or similar message is raised. For " -"example::" +"example:" msgstr "" -#: ../../library/inspect.rst:1073 +#: ../../library/inspect.rst:1111 msgid "Use :meth:`Signature.bind` and :meth:`Signature.bind_partial` instead." msgstr "" -#: ../../library/inspect.rst:1079 +#: ../../library/inspect.rst:1117 msgid "" "Get the mapping of external name references in a Python function or method " "*func* to their current values. A :term:`named tuple` " @@ -1377,89 +1447,91 @@ msgid "" "builtins." msgstr "" -#: ../../library/inspect.rst:1088 +#: ../../library/inspect.rst:1126 msgid "" ":exc:`TypeError` is raised if *func* is not a Python function or method." msgstr "" -#: ../../library/inspect.rst:1095 +#: ../../library/inspect.rst:1133 msgid "" -"Get the object wrapped by *func*. It follows the chain of :attr:" -"`__wrapped__` attributes returning the last object in the chain." +"Get the object wrapped by *func*. It follows the chain " +"of :attr:`__wrapped__` attributes returning the last object in the chain." msgstr "" -#: ../../library/inspect.rst:1098 +#: ../../library/inspect.rst:1136 msgid "" "*stop* is an optional callback accepting an object in the wrapper chain as " "its sole argument that allows the unwrapping to be terminated early if the " "callback returns a true value. If the callback never returns a true value, " -"the last object in the chain is returned as usual. For example, :func:" -"`signature` uses this to stop unwrapping if any object in the chain has a " -"``__signature__`` attribute defined." +"the last object in the chain is returned as usual. For " +"example, :func:`signature` uses this to stop unwrapping if any object in the " +"chain has a ``__signature__`` attribute defined." msgstr "" -#: ../../library/inspect.rst:1105 +#: ../../library/inspect.rst:1143 msgid ":exc:`ValueError` is raised if a cycle is encountered." msgstr "" -#: ../../library/inspect.rst:1112 +#: ../../library/inspect.rst:1150 msgid "Compute the annotations dict for an object." -msgstr "" +msgstr "Calcula o dicionário de anotações para um objeto." -#: ../../library/inspect.rst:1114 +#: ../../library/inspect.rst:1152 msgid "" "``obj`` may be a callable, class, or module. Passing in an object of any " "other type raises :exc:`TypeError`." msgstr "" -#: ../../library/inspect.rst:1117 +#: ../../library/inspect.rst:1155 msgid "" "Returns a dict. ``get_annotations()`` returns a new dict every time it's " "called; calling it twice on the same object will return two different but " "equivalent dicts." msgstr "" -#: ../../library/inspect.rst:1121 +#: ../../library/inspect.rst:1159 msgid "This function handles several details for you:" -msgstr "" +msgstr "Esta função cuida de vários detalhes para você:" -#: ../../library/inspect.rst:1123 +#: ../../library/inspect.rst:1161 msgid "" -"If ``eval_str`` is true, values of type ``str`` will be un-stringized using :" -"func:`eval()`. This is intended for use with stringized annotations (``from " -"__future__ import annotations``)." +"If ``eval_str`` is true, values of type ``str`` will be un-stringized " +"using :func:`eval()`. This is intended for use with stringized annotations " +"(``from __future__ import annotations``)." msgstr "" -#: ../../library/inspect.rst:1127 +#: ../../library/inspect.rst:1165 msgid "" "If ``obj`` doesn't have an annotations dict, returns an empty dict. " "(Functions and methods always have an annotations dict; classes, modules, " "and other types of callables may not.)" msgstr "" -#: ../../library/inspect.rst:1131 +#: ../../library/inspect.rst:1169 msgid "" "Ignores inherited annotations on classes. If a class doesn't have its own " "annotations dict, returns an empty dict." msgstr "" -#: ../../library/inspect.rst:1133 +#: ../../library/inspect.rst:1171 msgid "" "All accesses to object members and dict values are done using ``getattr()`` " "and ``dict.get()`` for safety." msgstr "" +"Todos os acessos aos membros do objeto e valores do dicionário são feitos " +"usando ``getattr()`` e ``dict.get()`` por segurança." -#: ../../library/inspect.rst:1135 +#: ../../library/inspect.rst:1173 msgid "Always, always, always returns a freshly created dict." msgstr "" -#: ../../library/inspect.rst:1137 +#: ../../library/inspect.rst:1175 msgid "" "``eval_str`` controls whether or not values of type ``str`` are replaced " "with the result of calling :func:`eval()` on those values:" msgstr "" -#: ../../library/inspect.rst:1140 +#: ../../library/inspect.rst:1178 msgid "" "If eval_str is true, :func:`eval()` is called on values of type ``str``. " "(Note that ``get_annotations`` doesn't catch exceptions; if :func:`eval()` " @@ -1467,12 +1539,12 @@ msgid "" "call.)" msgstr "" -#: ../../library/inspect.rst:1144 +#: ../../library/inspect.rst:1182 msgid "" "If eval_str is false (the default), values of type ``str`` are unchanged." msgstr "" -#: ../../library/inspect.rst:1146 +#: ../../library/inspect.rst:1184 msgid "" "``globals`` and ``locals`` are passed in to :func:`eval()`; see the " "documentation for :func:`eval()` for more information. If ``globals`` or " @@ -1480,35 +1552,36 @@ msgid "" "specific default, contingent on ``type(obj)``:" msgstr "" -#: ../../library/inspect.rst:1151 +#: ../../library/inspect.rst:1189 msgid "If ``obj`` is a module, ``globals`` defaults to ``obj.__dict__``." msgstr "" -#: ../../library/inspect.rst:1152 +#: ../../library/inspect.rst:1190 msgid "" -"If ``obj`` is a class, ``globals`` defaults to ``sys.modules[obj.__module__]." -"__dict__`` and ``locals`` defaults to the ``obj`` class namespace." +"If ``obj`` is a class, ``globals`` defaults to " +"``sys.modules[obj.__module__].__dict__`` and ``locals`` defaults to the " +"``obj`` class namespace." msgstr "" -#: ../../library/inspect.rst:1155 +#: ../../library/inspect.rst:1193 msgid "" -"If ``obj`` is a callable, ``globals`` defaults to ``obj.__globals__``, " -"although if ``obj`` is a wrapped function (using ``functools." -"update_wrapper()``) it is first unwrapped." +"If ``obj`` is a callable, ``globals`` defaults to :attr:`obj.__globals__ " +"`, although if ``obj`` is a wrapped function " +"(using :func:`functools.update_wrapper`) it is first unwrapped." msgstr "" -#: ../../library/inspect.rst:1159 +#: ../../library/inspect.rst:1198 msgid "" "Calling ``get_annotations`` is best practice for accessing the annotations " "dict of any object. See :ref:`annotations-howto` for more information on " "annotations best practices." msgstr "" -#: ../../library/inspect.rst:1169 +#: ../../library/inspect.rst:1208 msgid "The interpreter stack" msgstr "A pilha to interpretador" -#: ../../library/inspect.rst:1171 +#: ../../library/inspect.rst:1210 msgid "" "Some of the following functions return :class:`FrameInfo` objects. For " "backwards compatibility these objects allow tuple-like operations on all " @@ -1516,95 +1589,95 @@ msgid "" "may be removed in the future." msgstr "" -#: ../../library/inspect.rst:1180 +#: ../../library/inspect.rst:1219 msgid "The :ref:`frame object ` that the record corresponds to." msgstr "" -#: ../../library/inspect.rst:1184 +#: ../../library/inspect.rst:1223 msgid "" "The file name associated with the code being executed by the frame this " "record corresponds to." msgstr "" -#: ../../library/inspect.rst:1189 +#: ../../library/inspect.rst:1228 msgid "" "The line number of the current line associated with the code being executed " "by the frame this record corresponds to." msgstr "" -#: ../../library/inspect.rst:1194 +#: ../../library/inspect.rst:1233 msgid "" "The function name that is being executed by the frame this record " "corresponds to." msgstr "" -#: ../../library/inspect.rst:1198 +#: ../../library/inspect.rst:1237 msgid "" "A list of lines of context from the source code that's being executed by the " "frame this record corresponds to." msgstr "" -#: ../../library/inspect.rst:1203 ../../library/inspect.rst:1242 +#: ../../library/inspect.rst:1242 ../../library/inspect.rst:1281 msgid "" "The index of the current line being executed in the :attr:`code_context` " "list." msgstr "" -#: ../../library/inspect.rst:1207 +#: ../../library/inspect.rst:1246 msgid "" "A :class:`dis.Positions` object containing the start line number, end line " "number, start column offset, and end column offset associated with the " "instruction being executed by the frame this record corresponds to." msgstr "" -#: ../../library/inspect.rst:1211 +#: ../../library/inspect.rst:1250 msgid "Return a :term:`named tuple` instead of a :class:`tuple`." msgstr "" -#: ../../library/inspect.rst:1214 +#: ../../library/inspect.rst:1253 msgid "" ":class:`!FrameInfo` is now a class instance (that is backwards compatible " "with the previous :term:`named tuple`)." msgstr "" -#: ../../library/inspect.rst:1223 +#: ../../library/inspect.rst:1262 msgid "" "The file name associated with the code being executed by the frame this " "traceback corresponds to." msgstr "" -#: ../../library/inspect.rst:1228 +#: ../../library/inspect.rst:1267 msgid "" "The line number of the current line associated with the code being executed " "by the frame this traceback corresponds to." msgstr "" -#: ../../library/inspect.rst:1233 +#: ../../library/inspect.rst:1272 msgid "" "The function name that is being executed by the frame this traceback " "corresponds to." msgstr "" -#: ../../library/inspect.rst:1237 +#: ../../library/inspect.rst:1276 msgid "" "A list of lines of context from the source code that's being executed by the " "frame this traceback corresponds to." msgstr "" -#: ../../library/inspect.rst:1246 +#: ../../library/inspect.rst:1285 msgid "" "A :class:`dis.Positions` object containing the start line number, end line " "number, start column offset, and end column offset associated with the " "instruction being executed by the frame this traceback corresponds to." msgstr "" -#: ../../library/inspect.rst:1251 +#: ../../library/inspect.rst:1290 msgid "" ":class:`!Traceback` is now a class instance (that is backwards compatible " "with the previous :term:`named tuple`)." msgstr "" -#: ../../library/inspect.rst:1258 +#: ../../library/inspect.rst:1297 msgid "" "Keeping references to frame objects, as found in the first element of the " "frame records these functions return, can cause your program to create " @@ -1616,39 +1689,40 @@ msgid "" "consumption which occurs." msgstr "" -#: ../../library/inspect.rst:1266 +#: ../../library/inspect.rst:1305 msgid "" "Though the cycle detector will catch these, destruction of the frames (and " -"local variables) can be made deterministic by removing the cycle in a :" -"keyword:`finally` clause. This is also important if the cycle detector was " -"disabled when Python was compiled or using :func:`gc.disable`. For example::" +"local variables) can be made deterministic by removing the cycle in " +"a :keyword:`finally` clause. This is also important if the cycle detector " +"was disabled when Python was compiled or using :func:`gc.disable`. For " +"example::" msgstr "" -#: ../../library/inspect.rst:1278 +#: ../../library/inspect.rst:1317 msgid "" "If you want to keep the frame around (for example to print a traceback " "later), you can also break reference cycles by using the :meth:`frame.clear` " "method." msgstr "" -#: ../../library/inspect.rst:1282 +#: ../../library/inspect.rst:1321 msgid "" "The optional *context* argument supported by most of these functions " "specifies the number of lines of context to return, which are centered " "around the current line." msgstr "" -#: ../../library/inspect.rst:1289 +#: ../../library/inspect.rst:1328 msgid "" "Get information about a frame or traceback object. A :class:`Traceback` " "object is returned." msgstr "" -#: ../../library/inspect.rst:1292 +#: ../../library/inspect.rst:1331 msgid "A :class:`Traceback` object is returned instead of a named tuple." msgstr "" -#: ../../library/inspect.rst:1297 +#: ../../library/inspect.rst:1336 msgid "" "Get a list of :class:`FrameInfo` objects for a frame and all outer frames. " "These frames represent the calls that lead to the creation of *frame*. The " @@ -1656,19 +1730,19 @@ msgid "" "represents the outermost call on *frame*'s stack." msgstr "" -#: ../../library/inspect.rst:1302 ../../library/inspect.rst:1317 -#: ../../library/inspect.rst:1343 ../../library/inspect.rst:1358 +#: ../../library/inspect.rst:1341 ../../library/inspect.rst:1356 +#: ../../library/inspect.rst:1382 ../../library/inspect.rst:1397 msgid "" "A list of :term:`named tuples ` ``FrameInfo(frame, filename, " "lineno, function, code_context, index)`` is returned." msgstr "" -#: ../../library/inspect.rst:1307 ../../library/inspect.rst:1322 -#: ../../library/inspect.rst:1348 ../../library/inspect.rst:1363 +#: ../../library/inspect.rst:1346 ../../library/inspect.rst:1361 +#: ../../library/inspect.rst:1387 ../../library/inspect.rst:1402 msgid "A list of :class:`FrameInfo` objects is returned." msgstr "" -#: ../../library/inspect.rst:1312 +#: ../../library/inspect.rst:1351 msgid "" "Get a list of :class:`FrameInfo` objects for a traceback's frame and all " "inner frames. These frames represent calls made as a consequence of " @@ -1676,11 +1750,11 @@ msgid "" "represents where the exception was raised." msgstr "" -#: ../../library/inspect.rst:1327 +#: ../../library/inspect.rst:1366 msgid "Return the frame object for the caller's stack frame." msgstr "" -#: ../../library/inspect.rst:1331 +#: ../../library/inspect.rst:1370 msgid "" "This function relies on Python stack frame support in the interpreter, which " "isn't guaranteed to exist in all implementations of Python. If running in " @@ -1688,14 +1762,14 @@ msgid "" "``None``." msgstr "" -#: ../../library/inspect.rst:1339 +#: ../../library/inspect.rst:1378 msgid "" "Return a list of :class:`FrameInfo` objects for the caller's stack. The " "first entry in the returned list represents the caller; the last entry " "represents the outermost call on the stack." msgstr "" -#: ../../library/inspect.rst:1353 +#: ../../library/inspect.rst:1392 msgid "" "Return a list of :class:`FrameInfo` objects for the stack between the " "current frame and the frame in which an exception currently being handled " @@ -1703,32 +1777,32 @@ msgid "" "entry represents where the exception was raised." msgstr "" -#: ../../library/inspect.rst:1367 +#: ../../library/inspect.rst:1406 msgid "Fetching attributes statically" msgstr "" -#: ../../library/inspect.rst:1369 +#: ../../library/inspect.rst:1408 msgid "" "Both :func:`getattr` and :func:`hasattr` can trigger code execution when " "fetching or checking for the existence of attributes. Descriptors, like " -"properties, will be invoked and :meth:`__getattr__` and :meth:" -"`__getattribute__` may be called." +"properties, will be invoked and :meth:`~object.__getattr__` " +"and :meth:`~object.__getattribute__` may be called." msgstr "" -#: ../../library/inspect.rst:1374 +#: ../../library/inspect.rst:1414 msgid "" "For cases where you want passive introspection, like documentation tools, " -"this can be inconvenient. :func:`getattr_static` has the same signature as :" -"func:`getattr` but avoids executing code when it fetches attributes." +"this can be inconvenient. :func:`getattr_static` has the same signature " +"as :func:`getattr` but avoids executing code when it fetches attributes." msgstr "" -#: ../../library/inspect.rst:1380 +#: ../../library/inspect.rst:1420 msgid "" "Retrieve attributes without triggering dynamic lookup via the descriptor " -"protocol, :meth:`__getattr__` or :meth:`__getattribute__`." +"protocol, :meth:`~object.__getattr__` or :meth:`~object.__getattribute__`." msgstr "" -#: ../../library/inspect.rst:1383 +#: ../../library/inspect.rst:1424 msgid "" "Note: this function may not be able to retrieve all attributes that getattr " "can fetch (like dynamically created attributes) and may find attributes that " @@ -1736,31 +1810,31 @@ msgid "" "return descriptors objects instead of instance members." msgstr "" -#: ../../library/inspect.rst:1389 +#: ../../library/inspect.rst:1430 msgid "" "If the instance :attr:`~object.__dict__` is shadowed by another member (for " "example a property) then this function will be unable to find instance " "members." msgstr "" -#: ../../library/inspect.rst:1395 +#: ../../library/inspect.rst:1436 msgid "" ":func:`getattr_static` does not resolve descriptors, for example slot " "descriptors or getset descriptors on objects implemented in C. The " "descriptor object is returned instead of the underlying attribute." msgstr "" -#: ../../library/inspect.rst:1399 +#: ../../library/inspect.rst:1440 msgid "" "You can handle these with code like the following. Note that for arbitrary " "getset descriptors invoking these may trigger code execution::" msgstr "" -#: ../../library/inspect.rst:1425 +#: ../../library/inspect.rst:1466 msgid "Current State of Generators and Coroutines" msgstr "" -#: ../../library/inspect.rst:1427 +#: ../../library/inspect.rst:1468 msgid "" "When implementing coroutine schedulers and for other advanced uses of " "generators, it is useful to determine whether a generator is currently " @@ -1769,31 +1843,31 @@ msgid "" "generator to be determined easily." msgstr "" -#: ../../library/inspect.rst:1435 +#: ../../library/inspect.rst:1476 msgid "Get current state of a generator-iterator." msgstr "" -#: ../../library/inspect.rst:1441 ../../library/inspect.rst:1456 +#: ../../library/inspect.rst:1478 ../../library/inspect.rst:1494 msgid "Possible states are:" msgstr "" -#: ../../library/inspect.rst:1438 +#: ../../library/inspect.rst:1480 msgid "GEN_CREATED: Waiting to start execution." msgstr "" -#: ../../library/inspect.rst:1439 +#: ../../library/inspect.rst:1481 msgid "GEN_RUNNING: Currently being executed by the interpreter." msgstr "" -#: ../../library/inspect.rst:1440 +#: ../../library/inspect.rst:1482 msgid "GEN_SUSPENDED: Currently suspended at a yield expression." msgstr "" -#: ../../library/inspect.rst:1441 +#: ../../library/inspect.rst:1483 msgid "GEN_CLOSED: Execution has completed." msgstr "" -#: ../../library/inspect.rst:1447 +#: ../../library/inspect.rst:1489 msgid "" "Get current state of a coroutine object. The function is intended to be " "used with coroutine objects created by :keyword:`async def` functions, but " @@ -1801,30 +1875,30 @@ msgid "" "``cr_frame`` attributes." msgstr "" -#: ../../library/inspect.rst:1453 +#: ../../library/inspect.rst:1496 msgid "CORO_CREATED: Waiting to start execution." msgstr "" -#: ../../library/inspect.rst:1454 +#: ../../library/inspect.rst:1497 msgid "CORO_RUNNING: Currently being executed by the interpreter." msgstr "" -#: ../../library/inspect.rst:1455 +#: ../../library/inspect.rst:1498 msgid "CORO_SUSPENDED: Currently suspended at an await expression." msgstr "" -#: ../../library/inspect.rst:1456 +#: ../../library/inspect.rst:1499 msgid "CORO_CLOSED: Execution has completed." msgstr "" -#: ../../library/inspect.rst:1460 +#: ../../library/inspect.rst:1503 msgid "" "The current internal state of the generator can also be queried. This is " "mostly useful for testing purposes, to ensure that internal state is being " "updated as expected:" msgstr "" -#: ../../library/inspect.rst:1466 +#: ../../library/inspect.rst:1509 msgid "" "Get the mapping of live local variables in *generator* to their current " "values. A dictionary is returned that maps from variable names to values. " @@ -1832,14 +1906,14 @@ msgid "" "generator, and all the same caveats apply." msgstr "" -#: ../../library/inspect.rst:1471 +#: ../../library/inspect.rst:1514 msgid "" "If *generator* is a :term:`generator` with no currently associated frame, " "then an empty dictionary is returned. :exc:`TypeError` is raised if " "*generator* is not a Python generator object." msgstr "" -#: ../../library/inspect.rst:1477 +#: ../../library/inspect.rst:1520 msgid "" "This function relies on the generator exposing a Python stack frame for " "introspection, which isn't guaranteed to be the case in all implementations " @@ -1847,72 +1921,72 @@ msgid "" "dictionary." msgstr "" -#: ../../library/inspect.rst:1486 +#: ../../library/inspect.rst:1529 msgid "" "This function is analogous to :func:`~inspect.getgeneratorlocals`, but works " "for coroutine objects created by :keyword:`async def` functions." msgstr "" -#: ../../library/inspect.rst:1495 +#: ../../library/inspect.rst:1538 msgid "Code Objects Bit Flags" msgstr "" -#: ../../library/inspect.rst:1497 +#: ../../library/inspect.rst:1540 msgid "" -"Python code objects have a ``co_flags`` attribute, which is a bitmap of the " -"following flags:" +"Python code objects have a :attr:`~codeobject.co_flags` attribute, which is " +"a bitmap of the following flags:" msgstr "" -#: ../../library/inspect.rst:1502 +#: ../../library/inspect.rst:1545 msgid "The code object is optimized, using fast locals." msgstr "" -#: ../../library/inspect.rst:1506 +#: ../../library/inspect.rst:1549 msgid "" -"If set, a new dict will be created for the frame's ``f_locals`` when the " -"code object is executed." +"If set, a new dict will be created for the frame's :attr:`~frame.f_locals` " +"when the code object is executed." msgstr "" -#: ../../library/inspect.rst:1511 +#: ../../library/inspect.rst:1554 msgid "The code object has a variable positional parameter (``*args``-like)." msgstr "" -#: ../../library/inspect.rst:1515 +#: ../../library/inspect.rst:1558 msgid "The code object has a variable keyword parameter (``**kwargs``-like)." msgstr "" -#: ../../library/inspect.rst:1519 +#: ../../library/inspect.rst:1562 msgid "The flag is set when the code object is a nested function." msgstr "" -#: ../../library/inspect.rst:1523 +#: ../../library/inspect.rst:1566 msgid "" "The flag is set when the code object is a generator function, i.e. a " "generator object is returned when the code object is executed." msgstr "" -#: ../../library/inspect.rst:1528 +#: ../../library/inspect.rst:1571 msgid "" "The flag is set when the code object is a coroutine function. When the code " "object is executed it returns a coroutine object. See :pep:`492` for more " "details." msgstr "" -#: ../../library/inspect.rst:1536 +#: ../../library/inspect.rst:1579 msgid "" "The flag is used to transform generators into generator-based coroutines. " "Generator objects with this flag can be used in ``await`` expression, and " "can ``yield from`` coroutine objects. See :pep:`492` for more details." msgstr "" -#: ../../library/inspect.rst:1545 +#: ../../library/inspect.rst:1588 msgid "" "The flag is set when the code object is an asynchronous generator function. " "When the code object is executed it returns an asynchronous generator " "object. See :pep:`525` for more details." msgstr "" -#: ../../library/inspect.rst:1552 +#: ../../library/inspect.rst:1595 msgid "" "The flags are specific to CPython, and may not be defined in other Python " "implementations. Furthermore, the flags are an implementation detail, and " @@ -1920,24 +1994,24 @@ msgid "" "use public APIs from the :mod:`inspect` module for any introspection needs." msgstr "" -#: ../../library/inspect.rst:1562 +#: ../../library/inspect.rst:1605 msgid "Command Line Interface" msgstr "Interface de linha de comando" -#: ../../library/inspect.rst:1564 +#: ../../library/inspect.rst:1607 msgid "" "The :mod:`inspect` module also provides a basic introspection capability " "from the command line." msgstr "" -#: ../../library/inspect.rst:1569 +#: ../../library/inspect.rst:1612 msgid "" "By default, accepts the name of a module and prints the source of that " "module. A class or function within the module can be printed instead by " "appended a colon and the qualified name of the target object." msgstr "" -#: ../../library/inspect.rst:1575 +#: ../../library/inspect.rst:1618 msgid "" "Print information about the specified object rather than the source code" msgstr "" diff --git a/library/internet.po b/library/internet.po index 5934731d3..40b6e4d3d 100644 --- a/library/internet.po +++ b/library/internet.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Henrique Junqueira, 2022 -# Marco Rougeth , 2023 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,27 +31,27 @@ msgstr "Protocolos de Internet e Suporte" msgid "" "The modules described in this chapter implement internet protocols and " "support for related technology. They are all implemented in Python. Most of " -"these modules require the presence of the system-dependent module :mod:" -"`socket`, which is currently supported on most popular platforms. Here is " -"an overview:" +"these modules require the presence of the system-dependent " +"module :mod:`socket`, which is currently supported on most popular " +"platforms. Here is an overview:" msgstr "" "Os módulos descritos neste capítulo implementam protocolos de internet e " "suporte para tecnologia relacionada. Todos eles são implementados em Python. " -"A maioria desses módulos requer a presença do módulo dependente do sistema :" -"mod:`socket`, que atualmente é suportado na maioria das plataformas " +"A maioria desses módulos requer a presença do módulo dependente do " +"sistema :mod:`socket`, que atualmente é suportado na maioria das plataformas " "populares. Segue uma visão geral:" #: ../../library/internet.rst:7 msgid "WWW" -msgstr "" +msgstr "WWW" #: ../../library/internet.rst:7 msgid "Internet" -msgstr "" +msgstr "Internet" #: ../../library/internet.rst:7 msgid "World Wide Web" -msgstr "" +msgstr "World Wide Web" #: ../../library/internet.rst:12 msgid "module" diff --git a/library/intro.po b/library/intro.po index b2c8c5a1c..c5d1b7ed2 100644 --- a/library/intro.po +++ b/library/intro.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Ruan Aragão , 2021 -# VERUSKA RODRIGUES DA SILVA , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -56,11 +54,11 @@ 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 "" -"A biblioteca também contém exceções e funções embutidas -- objetos que podem " -"ser usados por todo o código Python sem a necessidade de uma instrução :" -"keyword:`import`. Alguns desses são definidos pelo núcleo da linguagem, mas " -"muitos não são essenciais para as semânticas principais e são apenas " -"descritos aqui." +"A biblioteca também contém exceções e funções embutidas --- objetos que " +"podem ser usados por todo o código Python sem a necessidade de uma " +"instrução :keyword:`import`. Alguns desses são definidos pelo núcleo da " +"linguagem, mas muitos não são essenciais para as semânticas principais e são " +"apenas descritos aqui." #: ../../library/intro.rst:20 msgid "" @@ -98,7 +96,7 @@ msgid "" "grouped in chapters of related modules." msgstr "" "Este manual está organizado \"de dentro para fora\": ele primeiro descreve " -"as funções inclusas, tipos de dados e exceções, e finalmente os módulos, " +"as funções embutidas, tipos de dados e exceções, e finalmente os módulos, " "agrupados em capítulos de módulos relacionados." #: ../../library/intro.rst:36 @@ -122,10 +120,11 @@ msgstr "" "romance --- você também pode navegar pela tabela de conteúdos (no início do " "manual), ou procurar por uma função, módulo ou termo específicos no índice " "(na parte final). E finalmente, se você gostar de aprender sobre assuntos " -"diversos, você pode escolher um número de página aleatório (veja module :mod:" -"`random`) e leia uma seção ou duas. Independente da ordem na qual você leia " -"as seções deste manual, ajuda iniciar pelo capítulo :ref:`built-in-funcs`, " -"já que o resto do manual requer familiaridade com este material." +"diversos, você pode escolher um número de página aleatório (veja o " +"módulo :mod:`random`) e leia uma seção ou duas. Independente da ordem na " +"qual você leia as seções deste manual, ajuda iniciar pelo " +"capítulo :ref:`built-in-funcs`, já que o resto do manual requer " +"familiaridade com este material." #: ../../library/intro.rst:48 msgid "Let the show begin!" @@ -150,8 +149,8 @@ msgid "" "If not separately noted, all functions that claim \"Availability: Unix\" are " "supported on macOS, which builds on a Unix core." msgstr "" -"Se não for observado separadamente, todas as funções que afirmam " -"\"Disponibilidade: Unix\" são suportadas no macOS, que é baseado em um " +"Se não for indicado separadamente, todas as funções que afirmam " +"\"Disponibilidade: Unix\" são suportadas no macOS, que se baseia em um " "núcleo Unix." #: ../../library/intro.rst:63 @@ -227,16 +226,17 @@ msgstr "" #: ../../library/intro.rst:95 msgid "" "Process-related APIs are not available or always fail with an error. That " -"includes APIs that spawn new processes (:func:`~os.fork`, :func:`~os." -"execve`), wait for processes (:func:`~os.waitpid`), send signals (:func:`~os." -"kill`), or otherwise interact with processes. The :mod:`subprocess` is " -"importable but does not work." +"includes APIs that spawn new processes " +"(:func:`~os.fork`, :func:`~os.execve`), wait for processes " +"(:func:`~os.waitpid`), send signals (:func:`~os.kill`), or otherwise " +"interact with processes. The :mod:`subprocess` is importable but does not " +"work." msgstr "" "As APIs relacionadas a processo não estão disponíveis ou sempre falham com " -"um erro. Isso inclui APIs que geram novos processos (:func:`~os.fork`, :func:" -"`~os.execve`), aguardam processos (:func:`~os.waitpid`), enviam sinais (:" -"func:`~os.kill`), ou interagir com processos. O :mod:`subprocess` é " -"importável, mas não funciona." +"um erro. Isso inclui APIs que geram novos processos " +"(:func:`~os.fork`, :func:`~os.execve`), aguardam processos " +"(:func:`~os.waitpid`), enviam sinais (:func:`~os.kill`), ou interagir com " +"processos. O :mod:`subprocess` é importável, mas não funciona." #: ../../library/intro.rst:101 msgid "" diff --git a/library/io.po b/library/io.po index 35b9aabb0..bc07c83df 100644 --- a/library/io.po +++ b/library/io.po @@ -1,32 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Katyanna Moura , 2021 -# Vinícius Muniz de Melo , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Mateus Santos, 2022 -# Rafael Fontenelle , 2023 -# Adorilson Bezerra , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Adorilson Bezerra , 2023\n" +"POT-Creation-Date: 2026-10-29 22:26+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -51,6 +45,13 @@ msgid "" "any of these categories is called a :term:`file object`. Other common terms " "are *stream* and *file-like object*." msgstr "" +"O módulo :mod:`io` fornece os principais recursos do Python para lidar com " +"vários tipos de E/S. Existem três tipos principais de E/S: *E/S de texto*, " +"*E/S binária* e *E/S bruta*. Essas são categorias genéricas, e vários " +"repositórios de apoio podem ser usados para cada uma delas. Um objeto " +"concreto pertencente a qualquer uma dessas categorias é chamado " +"de :term:`objeto arquivo`. Outros termos comuns são *fluxo* e *objeto " +"arquivo ou similar*." #: ../../library/io.rst:34 msgid "" @@ -60,24 +61,36 @@ msgid "" "location), or only sequential access (for example in the case of a socket or " "pipe)." msgstr "" +"Independentemente de sua categoria, cada objeto de fluxo concreto também " +"terá vários recursos: pode ser somente leitura, somente escrita ou leitura e " +"escrita. Também pode permitir acesso aleatório arbitrário (buscando para " +"frente ou para trás em qualquer local) ou apenas acesso sequencial (por " +"exemplo, no caso de um soquete ou encadeamento)." #: ../../library/io.rst:40 msgid "" "All streams are careful about the type of data you give to them. For " -"example giving a :class:`str` object to the ``write()`` method of a binary " -"stream will raise a :exc:`TypeError`. So will giving a :class:`bytes` " -"object to the ``write()`` method of a text stream." +"example giving a :class:`str` object to the :meth:`!write` method of a " +"binary stream will raise a :exc:`TypeError`. So will giving " +"a :class:`bytes` object to the :meth:`!write` method of a text stream." msgstr "" +"Todos os fluxos são cuidadosos com o tipo de dados que você fornece a eles. " +"Por exemplo, atribuir um objeto :class:`str` ao método :meth:`!write` de um " +"fluxo binário levantará uma :exc:`TypeError`. O mesmo ocorrerá com um " +"objeto :class:`bytes` ao método :meth:`!write` de um fluxo de texto." #: ../../library/io.rst:45 msgid "" "Operations that used to raise :exc:`IOError` now raise :exc:`OSError`, " "since :exc:`IOError` is now an alias of :exc:`OSError`." msgstr "" +"Operações que costumavam levantar :exc:`IOError` agora " +"levantam :exc:`OSError`, já que :exc:`IOError` agora é um apelido " +"de :exc:`OSError`." -#: ../../library/io.rst:51 ../../library/io.rst:855 ../../library/io.rst:1122 +#: ../../library/io.rst:51 ../../library/io.rst:855 ../../library/io.rst:1149 msgid "Text I/O" -msgstr "" +msgstr "E/S de texto" #: ../../library/io.rst:53 msgid "" @@ -86,6 +99,11 @@ msgid "" "a file), encoding and decoding of data is made transparently as well as " "optional translation of platform-specific newline characters." msgstr "" +"A E/S de texto espera e produz objetos :class:`str`. Isso significa que " +"sempre que o armazenamento de apoio for composto nativamente por bytes (como " +"no caso de um arquivo), a codificação e a decodificação dos dados são feitas " +"de forma transparente, bem como a tradução opcional de caracteres de quebra " +"de linha específicos da plataforma." #: ../../library/io.rst:58 msgid "" @@ -97,16 +115,20 @@ msgstr "" msgid "" "In-memory text streams are also available as :class:`StringIO` objects::" msgstr "" +"Os fluxos de texto na memória também estão disponíveis como " +"objetos :class:`StringIO`::" #: ../../library/io.rst:67 msgid "" -"The text stream API is described in detail in the documentation of :class:" -"`TextIOBase`." +"The text stream API is described in detail in the documentation " +"of :class:`TextIOBase`." msgstr "" +"A API de fluxo de texto é descrita em detalhes na documentação " +"de :class:`TextIOBase`." -#: ../../library/io.rst:72 ../../library/io.rst:1110 +#: ../../library/io.rst:72 ../../library/io.rst:1137 msgid "Binary I/O" -msgstr "" +msgstr "E/S binária" #: ../../library/io.rst:74 msgid "" @@ -116,6 +138,12 @@ msgid "" "be used for all kinds of non-text data, and also when manual control over " "the handling of text data is desired." msgstr "" +"E/S binária (também chamada de *E/S com buffer*) espera :term:`objeto bytes " +"ou similar ` e produz objetos :class:`bytes`. Nenhuma " +"codificação, decodificação ou tradução de quebra de linha é realizada. Esta " +"categoria de fluxos pode ser usada para todos os tipos de dados não textuais " +"e também quando se deseja controle manual sobre o tratamento de dados " +"textuais." #: ../../library/io.rst:80 msgid "" @@ -127,22 +155,29 @@ msgstr "" msgid "" "In-memory binary streams are also available as :class:`BytesIO` objects::" msgstr "" +"Os fluxos binários na memória também estão disponíveis como " +"objetos :class:`BytesIO`::" #: ../../library/io.rst:89 msgid "" -"The binary stream API is described in detail in the docs of :class:" -"`BufferedIOBase`." +"The binary stream API is described in detail in the docs " +"of :class:`BufferedIOBase`." msgstr "" +"A API de fluxo binário é descrita em detalhes na documentação " +"de :class:`BufferedIOBase`." #: ../../library/io.rst:92 msgid "" "Other library modules may provide additional ways to create text or binary " "streams. See :meth:`socket.socket.makefile` for example." msgstr "" +"Outros módulos de biblioteca podem fornecer maneiras adicionais de criar " +"fluxos de texto ou binários. Veja :meth:`socket.socket.makefile` como " +"exemplo." #: ../../library/io.rst:97 msgid "Raw I/O" -msgstr "" +msgstr "E/S bruta" #: ../../library/io.rst:99 msgid "" @@ -151,21 +186,30 @@ msgid "" "manipulate a raw stream from user code. Nevertheless, you can create a raw " "stream by opening a file in binary mode with buffering disabled::" msgstr "" +"A E/S bruta (também chamada de *E/S sem buffer*) é geralmente usada como um " +"bloco de construção de baixo nível para fluxos binários e de texto; " +"raramente é útil manipular diretamente um fluxo bruto a partir do código do " +"usuário. No entanto, você pode criar um fluxo bruto abrindo um arquivo em " +"modo binário com o buffer desabilitado::" #: ../../library/io.rst:106 msgid "" "The raw stream API is described in detail in the docs of :class:`RawIOBase`." msgstr "" +"A API de fluxo bruto é descrita em detalhes na documentação " +"de :class:`RawIOBase`." #: ../../library/io.rst:112 msgid "Text Encoding" -msgstr "" +msgstr "Codificação do texto" #: ../../library/io.rst:114 msgid "" "The default encoding of :class:`TextIOWrapper` and :func:`open` is locale-" "specific (:func:`locale.getencoding`)." msgstr "" +"A codificação padrão de :class:`TextIOWrapper` e :func:`open` é específica " +"da localidade (:func:`locale.getencoding`)." #: ../../library/io.rst:117 msgid "" @@ -174,6 +218,11 @@ msgid "" "platforms use UTF-8 locale by default. This causes bugs because the locale " "encoding is not UTF-8 for most Windows users. For example::" msgstr "" +"No entanto, muitos desenvolvedores esquecem de especificar a codificação ao " +"abrir arquivos de texto codificados em UTF-8 (por exemplo, JSON, TOML, " +"Markdown, etc.), já que a maioria das plataformas Unix usa a localidade " +"UTF-8 por padrão. Isso causa bugs porque a codificação de localidade não é " +"UTF-8 para a maioria dos usuários do Windows. Por exemplo:" #: ../../library/io.rst:126 msgid "" @@ -182,16 +231,22 @@ msgid "" "``encoding=\"utf-8\"``. To use the current locale encoding, " "``encoding=\"locale\"`` is supported since Python 3.10." msgstr "" +"Portanto, é altamente recomendável que você especifique a codificação " +"explicitamente ao abrir arquivos de texto. Se quiser usar UTF-8, passe " +"``encoding=\"utf-8\"``. Para usar a codificação da localidade atual, " +"``encoding=\"locale\"`` é suportado desde o Python 3.10." #: ../../library/io.rst:135 msgid ":ref:`utf8-mode`" -msgstr "" +msgstr ":ref:`utf8-mode`" #: ../../library/io.rst:134 msgid "" "Python UTF-8 Mode can be used to change the default encoding to UTF-8 from " "locale-specific encoding." msgstr "" +"O modo Python UTF-8 pode ser usado para alterar a codificação padrão para " +"UTF-8 a partir da codificação específica de localidade." #: ../../library/io.rst:137 msgid ":pep:`686`" @@ -203,43 +258,57 @@ msgstr "Python 3.15 utilizará :ref:`utf8-mode` por padrão." #: ../../library/io.rst:143 msgid "Opt-in EncodingWarning" -msgstr "" +msgstr "Ativar EncodingWarning" #: ../../library/io.rst:145 msgid "See :pep:`597` for more details." -msgstr "" +msgstr "Veja a :pep:`597` para mais detalhes." #: ../../library/io.rst:148 msgid "" -"To find where the default locale encoding is used, you can enable the ``-X " -"warn_default_encoding`` command line option or set the :envvar:" -"`PYTHONWARNDEFAULTENCODING` environment variable, which will emit an :exc:" -"`EncodingWarning` when the default encoding is used." +"To find where the default locale encoding is used, you can enable " +"the :option:`-X warn_default_encoding <-X>` command line option or set " +"the :envvar:`PYTHONWARNDEFAULTENCODING` environment variable, which will " +"emit an :exc:`EncodingWarning` when the default encoding is used." msgstr "" +"Para descobrir onde a codificação da localidade padrão é usada, você pode " +"habilitar a opção de linha de comando :option:`-X warn_default_encoding <-" +"X>` ou definir a variável de ambiente :envvar:`PYTHONWARNDEFAULTENCODING`, " +"que emitirá um :exc:`EncodingWarning` quando a codificação padrão for usada." #: ../../library/io.rst:153 msgid "" "If you are providing an API that uses :func:`open` or :class:`TextIOWrapper` " -"and passes ``encoding=None`` as a parameter, you can use :func:" -"`text_encoding` so that callers of the API will emit an :exc:" -"`EncodingWarning` if they don't pass an ``encoding``. However, please " -"consider using UTF-8 by default (i.e. ``encoding=\"utf-8\"``) for new APIs." -msgstr "" +"and passes ``encoding=None`` as a parameter, you can " +"use :func:`text_encoding` so that callers of the API will emit " +"an :exc:`EncodingWarning` if they don't pass an ``encoding``. However, " +"please consider using UTF-8 by default (i.e. ``encoding=\"utf-8\"``) for new " +"APIs." +msgstr "" +"Se você estiver fornecendo uma API que usa :func:`open` " +"ou :class:`TextIOWrapper` e passa ``encoding=None`` como parâmetro, você " +"pode usar :func:`text_encoding` para que os chamadores da API emitam " +"um :exc:`EncodingWarning` se não passarem um ``encoding``. No entanto, " +"considere usar UTF-8 por padrão (ou seja, ``encoding=\"utf-8\"``) para novas " +"APIs." #: ../../library/io.rst:162 msgid "High-level Module Interface" -msgstr "" +msgstr "Interface de alto nível do módulo" #: ../../library/io.rst:166 msgid "" "An int containing the default buffer size used by the module's buffered I/O " -"classes. :func:`open` uses the file's blksize (as obtained by :func:`os." -"stat`) if possible." +"classes. :func:`open` uses the file's blksize (as obtained " +"by :func:`os.stat`) if possible." msgstr "" +"Um inteiro contendo o tamanho padrão do buffer usado pelas classes de E/S " +"com buffer do módulo. :func:`open` usa o tamanho do bloco (blksize) do " +"arquivo (obtido por :func:`os.stat`), se possível." #: ../../library/io.rst:173 msgid "This is an alias for the builtin :func:`open` function." -msgstr "" +msgstr "Este é um apelido para a função embutida :func:`open`." #: ../../library/io.rst:175 msgid "" @@ -252,34 +321,47 @@ msgstr "" #: ../../library/io.rst:177 msgid "" "This function raises an :ref:`auditing event ` ``open`` with " -"arguments ``path``, ``mode`` and ``flags``. The ``mode`` and ``flags`` " -"arguments may have been modified or inferred from the original call." +"arguments *path*, *mode* and *flags*. The *mode* and *flags* arguments may " +"have been modified or inferred from the original call." msgstr "" +"Esta função levanta um :ref:`evento de auditoria ` ``open`` com os " +"argumentos *path*, *mode* e *flags*. Os argumentos *mode* e *flags* podem " +"ter sido modificados ou inferidos da chamada original." #: ../../library/io.rst:184 msgid "" "Opens the provided file with mode ``'rb'``. This function should be used " "when the intent is to treat the contents as executable code." msgstr "" +"Abre o arquivo fornecido no modo ``'rb'``. Esta função deve ser utilizada " +"quando o objetivo é tratar o conteúdo como código executável." #: ../../library/io.rst:187 -msgid "``path`` should be a :class:`str` and an absolute path." -msgstr "" +msgid "*path* should be a :class:`str` and an absolute path." +msgstr "*path* deve ser uma :class:`str` e um caminho absoluto." #: ../../library/io.rst:189 msgid "" -"The behavior of this function may be overridden by an earlier call to the :c:" -"func:`PyFile_SetOpenCodeHook`. However, assuming that ``path`` is a :class:" -"`str` and an absolute path, ``open_code(path)`` should always behave the " -"same as ``open(path, 'rb')``. Overriding the behavior is intended for " -"additional validation or preprocessing of the file." +"The behavior of this function may be overridden by an earlier call to " +"the :c:func:`PyFile_SetOpenCodeHook`. However, assuming that *path* is " +"a :class:`str` and an absolute path, ``open_code(path)`` should always " +"behave the same as ``open(path, 'rb')``. Overriding the behavior is intended " +"for additional validation or preprocessing of the file." msgstr "" +"O comportamento desta função pode ser substituído por uma chamada anterior " +"a :c:func:`PyFile_SetOpenCodeHook`. No entanto, presumir que *path* seja " +"uma :class:`str` e um caminho absoluto, ``open_code(path)`` deve sempre se " +"comportar da mesma maneira que ``open(path, 'rb')``. A substituição do " +"comportamento destina-se a validações ou pré-processamentos adicionais do " +"arquivo." #: ../../library/io.rst:200 msgid "" -"This is a helper function for callables that use :func:`open` or :class:" -"`TextIOWrapper` and have an ``encoding=None`` parameter." +"This is a helper function for callables that use :func:`open` " +"or :class:`TextIOWrapper` and have an ``encoding=None`` parameter." msgstr "" +"Esta é uma função auxiliar para chamáveis que utilizam :func:`open` " +"ou :class:`TextIOWrapper` e possuem um parâmetro ``encoding=None``." #: ../../library/io.rst:203 msgid "" @@ -290,9 +372,10 @@ msgstr "" #: ../../library/io.rst:207 msgid "" -"This function emits an :class:`EncodingWarning` if :data:`sys.flags." -"warn_default_encoding ` is true and *encoding* is ``None``. " -"*stacklevel* specifies where the warning is emitted. For example::" +"This function emits an :class:`EncodingWarning` " +"if :data:`sys.flags.warn_default_encoding ` is true and " +"*encoding* is ``None``. *stacklevel* specifies where the warning is emitted. " +"For example::" msgstr "" #: ../../library/io.rst:217 @@ -349,8 +432,8 @@ msgstr "" msgid "" "The abstract base classes also provide default implementations of some " "methods in order to help implementation of concrete stream classes. For " -"example, :class:`BufferedIOBase` provides unoptimized implementations of :" -"meth:`~IOBase.readinto` and :meth:`~IOBase.readline`." +"example, :class:`BufferedIOBase` provides unoptimized implementations " +"of :meth:`!readinto` and :meth:`!readline`." msgstr "" #: ../../library/io.rst:263 @@ -365,19 +448,21 @@ msgstr "" #: ../../library/io.rst:268 msgid "" "The :class:`RawIOBase` ABC extends :class:`IOBase`. It deals with the " -"reading and writing of bytes to a stream. :class:`FileIO` subclasses :class:" -"`RawIOBase` to provide an interface to files in the machine's file system." +"reading and writing of bytes to a stream. :class:`FileIO` " +"subclasses :class:`RawIOBase` to provide an interface to files in the " +"machine's file system." msgstr "" #: ../../library/io.rst:272 msgid "" "The :class:`BufferedIOBase` ABC extends :class:`IOBase`. It deals with " -"buffering on a raw binary stream (:class:`RawIOBase`). Its subclasses, :" -"class:`BufferedWriter`, :class:`BufferedReader`, and :class:`BufferedRWPair` " -"buffer raw binary streams that are writable, readable, and both readable and " -"writable, respectively. :class:`BufferedRandom` provides a buffered " -"interface to seekable streams. Another :class:`BufferedIOBase` subclass, :" -"class:`BytesIO`, is a stream of in-memory bytes." +"buffering on a raw binary stream (:class:`RawIOBase`). Its " +"subclasses, :class:`BufferedWriter`, :class:`BufferedReader`, " +"and :class:`BufferedRWPair` buffer raw binary streams that are writable, " +"readable, and both readable and writable, " +"respectively. :class:`BufferedRandom` provides a buffered interface to " +"seekable streams. Another :class:`BufferedIOBase` " +"subclass, :class:`BytesIO`, is a stream of in-memory bytes." msgstr "" #: ../../library/io.rst:280 @@ -391,8 +476,8 @@ msgstr "" #: ../../library/io.rst:286 msgid "" -"Argument names are not part of the specification, and only the arguments of :" -"func:`open` are intended to be used as keyword arguments." +"Argument names are not part of the specification, and only the arguments " +"of :func:`open` are intended to be used as keyword arguments." msgstr "" #: ../../library/io.rst:289 @@ -486,7 +571,7 @@ msgstr "" #: ../../library/io.rst:323 msgid "" -"Even though :class:`IOBase` does not declare :meth:`read` or :meth:`write` " +"Even though :class:`IOBase` does not declare :meth:`!read` or :meth:`!write` " "because their signatures will vary, implementations and clients should " "consider those methods part of the interface. Also, implementations may " "raise a :exc:`ValueError` (or :exc:`UnsupportedOperation`) when operations " @@ -495,9 +580,10 @@ msgstr "" #: ../../library/io.rst:329 msgid "" -"The basic type used for binary data read from or written to a file is :class:" -"`bytes`. Other :term:`bytes-like objects ` are accepted " -"as method arguments too. Text I/O classes work with :class:`str` data." +"The basic type used for binary data read from or written to a file " +"is :class:`bytes`. Other :term:`bytes-like objects ` are " +"accepted as method arguments too. Text I/O classes work with :class:`str` " +"data." msgstr "" #: ../../library/io.rst:333 @@ -517,9 +603,10 @@ msgstr "" #: ../../library/io.rst:342 msgid "" -":class:`IOBase` is also a context manager and therefore supports the :" -"keyword:`with` statement. In this example, *file* is closed after the :" -"keyword:`!with` statement's suite is finished---even if an exception occurs::" +":class:`IOBase` is also a context manager and therefore supports " +"the :keyword:`with` statement. In this example, *file* is closed after " +"the :keyword:`!with` statement's suite is finished---even if an exception " +"occurs::" msgstr "" #: ../../library/io.rst:349 @@ -564,7 +651,7 @@ msgstr "" #: ../../library/io.rst:382 msgid "" -"Return ``True`` if the stream can be read from. If ``False``, :meth:`read` " +"Return ``True`` if the stream can be read from. If ``False``, :meth:`!read` " "will raise :exc:`OSError`." msgstr "" @@ -596,59 +683,57 @@ msgstr "" #: ../../library/io.rst:403 msgid "" "Note that it's already possible to iterate on file objects using ``for line " -"in file: ...`` without calling ``file.readlines()``." +"in file: ...`` without calling :meth:`!file.readlines`." msgstr "" #: ../../library/io.rst:408 msgid "" -"Change the stream position to the given byte *offset*. *offset* is " -"interpreted relative to the position indicated by *whence*. The default " -"value for *whence* is :data:`SEEK_SET`. Values for *whence* are:" +"Change the stream position to the given byte *offset*, interpreted relative " +"to the position indicated by *whence*, and return the new absolute position. " +"Values for *whence* are:" msgstr "" -#: ../../library/io.rst:412 +#: ../../library/io.rst:413 msgid "" -":data:`SEEK_SET` or ``0`` -- start of the stream (the default); *offset* " +":data:`os.SEEK_SET` or ``0`` -- start of the stream (the default); *offset* " "should be zero or positive" msgstr "" -#: ../../library/io.rst:414 +#: ../../library/io.rst:415 msgid "" -":data:`SEEK_CUR` or ``1`` -- current stream position; *offset* may be " +":data:`os.SEEK_CUR` or ``1`` -- current stream position; *offset* may be " "negative" msgstr "" -#: ../../library/io.rst:416 +#: ../../library/io.rst:417 msgid "" -":data:`SEEK_END` or ``2`` -- end of the stream; *offset* is usually negative" -msgstr "" - -#: ../../library/io.rst:419 -msgid "Return the new absolute position." +":data:`os.SEEK_END` or ``2`` -- end of the stream; *offset* is usually " +"negative" msgstr "" -#: ../../library/io.rst:421 ../../library/io.rst:930 -msgid "The ``SEEK_*`` constants." +#: ../../library/io.rst:420 ../../library/io.rst:930 +msgid "The :data:`!SEEK_*` constants." msgstr "" -#: ../../library/io.rst:424 +#: ../../library/io.rst:423 msgid "" -"Some operating systems could support additional values, like :data:`os." -"SEEK_HOLE` or :data:`os.SEEK_DATA`. The valid values for a file could depend " -"on it being open in text or binary mode." +"Some operating systems could support additional values, " +"like :const:`os.SEEK_HOLE` or :const:`os.SEEK_DATA`. The valid values for a " +"file could depend on it being open in text or binary mode." msgstr "" -#: ../../library/io.rst:431 +#: ../../library/io.rst:430 msgid "" -"Return ``True`` if the stream supports random access. If ``False``, :meth:" -"`seek`, :meth:`tell` and :meth:`truncate` will raise :exc:`OSError`." +"Return ``True`` if the stream supports random access. If " +"``False``, :meth:`seek`, :meth:`tell` and :meth:`truncate` will " +"raise :exc:`OSError`." msgstr "" -#: ../../library/io.rst:436 +#: ../../library/io.rst:435 msgid "Return the current stream position." msgstr "" -#: ../../library/io.rst:440 +#: ../../library/io.rst:439 msgid "" "Resize the stream to the given *size* in bytes (or the current position if " "*size* is not specified). The current stream position isn't changed. This " @@ -657,34 +742,34 @@ msgid "" "additional bytes are zero-filled). The new file size is returned." msgstr "" -#: ../../library/io.rst:447 +#: ../../library/io.rst:446 msgid "Windows will now zero-fill files when extending." msgstr "" -#: ../../library/io.rst:452 +#: ../../library/io.rst:451 msgid "" -"Return ``True`` if the stream supports writing. If ``False``, :meth:`write` " -"and :meth:`truncate` will raise :exc:`OSError`." +"Return ``True`` if the stream supports writing. If ``False``, :meth:`!" +"write` and :meth:`truncate` will raise :exc:`OSError`." msgstr "" -#: ../../library/io.rst:457 +#: ../../library/io.rst:456 msgid "" "Write a list of lines to the stream. Line separators are not added, so it " "is usual for each of the lines provided to have a line separator at the end." msgstr "" -#: ../../library/io.rst:463 +#: ../../library/io.rst:462 msgid "" "Prepare for object destruction. :class:`IOBase` provides a default " -"implementation of this method that calls the instance's :meth:`~IOBase." -"close` method." +"implementation of this method that calls the " +"instance's :meth:`~IOBase.close` method." msgstr "" -#: ../../library/io.rst:470 -msgid "Base class for raw binary streams. It inherits :class:`IOBase`." +#: ../../library/io.rst:469 +msgid "Base class for raw binary streams. It inherits from :class:`IOBase`." msgstr "" -#: ../../library/io.rst:472 +#: ../../library/io.rst:471 msgid "" "Raw binary streams typically provide low-level access to an underlying OS " "device or API, and do not try to encapsulate it in high-level primitives " @@ -692,13 +777,13 @@ msgid "" "text streams, described later in this page)." msgstr "" -#: ../../library/io.rst:477 +#: ../../library/io.rst:476 msgid "" -":class:`RawIOBase` provides these methods in addition to those from :class:" -"`IOBase`:" +":class:`RawIOBase` provides these methods in addition to those " +"from :class:`IOBase`:" msgstr "" -#: ../../library/io.rst:482 +#: ../../library/io.rst:481 msgid "" "Read up to *size* bytes from the object and return them. As a convenience, " "if *size* is unspecified or -1, all bytes until EOF are returned. Otherwise, " @@ -706,33 +791,33 @@ msgid "" "if the operating system call returns fewer than *size* bytes." msgstr "" -#: ../../library/io.rst:487 +#: ../../library/io.rst:486 msgid "" "If 0 bytes are returned, and *size* was not 0, this indicates end of file. " "If the object is in non-blocking mode and no bytes are available, ``None`` " "is returned." msgstr "" -#: ../../library/io.rst:491 +#: ../../library/io.rst:490 msgid "" "The default implementation defers to :meth:`readall` and :meth:`readinto`." msgstr "" -#: ../../library/io.rst:496 +#: ../../library/io.rst:495 msgid "" "Read and return all the bytes from the stream until EOF, using multiple " "calls to the stream if necessary." msgstr "" -#: ../../library/io.rst:501 +#: ../../library/io.rst:500 msgid "" "Read bytes into a pre-allocated, writable :term:`bytes-like object` *b*, and " -"return the number of bytes read. For example, *b* might be a :class:" -"`bytearray`. If the object is in non-blocking mode and no bytes are " +"return the number of bytes read. For example, *b* might be " +"a :class:`bytearray`. If the object is in non-blocking mode and no bytes are " "available, ``None`` is returned." msgstr "" -#: ../../library/io.rst:509 +#: ../../library/io.rst:508 msgid "" "Write the given :term:`bytes-like object`, *b*, to the underlying raw " "stream, and return the number of bytes written. This can be less than the " @@ -743,21 +828,21 @@ msgid "" "the implementation should only access *b* during the method call." msgstr "" -#: ../../library/io.rst:522 +#: ../../library/io.rst:521 msgid "" "Base class for binary streams that support some kind of buffering. It " -"inherits :class:`IOBase`." +"inherits from :class:`IOBase`." msgstr "" -#: ../../library/io.rst:525 +#: ../../library/io.rst:524 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." +"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." msgstr "" -#: ../../library/io.rst:530 +#: ../../library/io.rst:529 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 " @@ -765,55 +850,55 @@ msgid "" "``None``." msgstr "" -#: ../../library/io.rst:535 +#: ../../library/io.rst:534 msgid "" "Besides, the :meth:`read` method does not have a default implementation that " "defers to :meth:`readinto`." msgstr "" -#: ../../library/io.rst:538 +#: ../../library/io.rst:537 msgid "" -"A typical :class:`BufferedIOBase` implementation should not inherit from a :" -"class:`RawIOBase` implementation, but wrap one, like :class:`BufferedWriter` " -"and :class:`BufferedReader` do." +"A typical :class:`BufferedIOBase` implementation should not inherit from " +"a :class:`RawIOBase` implementation, but wrap one, " +"like :class:`BufferedWriter` and :class:`BufferedReader` do." msgstr "" -#: ../../library/io.rst:542 +#: ../../library/io.rst:541 msgid "" ":class:`BufferedIOBase` provides or overrides these data attributes and " "methods in addition to those from :class:`IOBase`:" msgstr "" -#: ../../library/io.rst:547 +#: ../../library/io.rst:546 msgid "" -"The underlying raw stream (a :class:`RawIOBase` instance) that :class:" -"`BufferedIOBase` deals with. This is not part of the :class:" -"`BufferedIOBase` API and may not exist on some implementations." +"The underlying raw stream (a :class:`RawIOBase` instance) " +"that :class:`BufferedIOBase` deals with. This is not part of " +"the :class:`BufferedIOBase` API and may not exist on some implementations." msgstr "" -#: ../../library/io.rst:553 +#: ../../library/io.rst:552 msgid "Separate the underlying raw stream from the buffer and return it." msgstr "" -#: ../../library/io.rst:555 +#: ../../library/io.rst:554 msgid "" "After the raw stream has been detached, the buffer is in an unusable state." msgstr "" -#: ../../library/io.rst:558 +#: ../../library/io.rst:557 msgid "" "Some buffers, like :class:`BytesIO`, do not have the concept of a single raw " "stream to return from this method. They raise :exc:`UnsupportedOperation`." msgstr "" -#: ../../library/io.rst:566 +#: ../../library/io.rst:565 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." +"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." msgstr "" -#: ../../library/io.rst:570 +#: ../../library/io.rst:569 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 " @@ -822,13 +907,13 @@ msgid "" "imminent." msgstr "" -#: ../../library/io.rst:576 ../../library/io.rst:599 ../../library/io.rst:609 +#: ../../library/io.rst:575 ../../library/io.rst:598 ../../library/io.rst:608 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 "" -#: ../../library/io.rst:581 +#: ../../library/io.rst:580 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`) " @@ -836,34 +921,34 @@ msgid "" "top of a :class:`BufferedIOBase` object." msgstr "" -#: ../../library/io.rst:587 +#: ../../library/io.rst:586 msgid "" "If *size* is ``-1`` (the default), an arbitrary number of bytes are returned " "(more than zero unless EOF is reached)." msgstr "" -#: ../../library/io.rst:592 +#: ../../library/io.rst:591 msgid "" "Read bytes into a pre-allocated, writable :term:`bytes-like object` *b* and " -"return the number of bytes read. For example, *b* might be a :class:" -"`bytearray`." +"return the number of bytes read. For example, *b* might be " +"a :class:`bytearray`." msgstr "" -#: ../../library/io.rst:596 +#: ../../library/io.rst:595 msgid "" "Like :meth:`read`, multiple reads may be issued to the underlying raw " "stream, unless the latter is interactive." msgstr "" -#: ../../library/io.rst:604 +#: ../../library/io.rst:603 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." -"read` (or :meth:`~RawIOBase.readinto`) method. Return the number of bytes " -"read." +"using at most one call to the underlying raw " +"stream's :meth:`~RawIOBase.read` (or :meth:`~RawIOBase.readinto`) method. " +"Return the number of bytes read." msgstr "" -#: ../../library/io.rst:616 +#: ../../library/io.rst:615 msgid "" "Write the given :term:`bytes-like object`, *b*, and return the number of " "bytes written (always equal to the length of *b* in bytes, since if the " @@ -872,41 +957,41 @@ msgid "" "or held in a buffer for performance and latency reasons." msgstr "" -#: ../../library/io.rst:623 +#: ../../library/io.rst:622 msgid "" "When in non-blocking mode, a :exc:`BlockingIOError` is raised if the data " "needed to be written to the raw stream but it couldn't accept all the data " "without blocking." msgstr "" -#: ../../library/io.rst:627 +#: ../../library/io.rst:626 msgid "" "The caller may release or mutate *b* after this method returns, so the " "implementation should only access *b* during the method call." msgstr "" -#: ../../library/io.rst:632 +#: ../../library/io.rst:631 msgid "Raw File I/O" msgstr "" -#: ../../library/io.rst:636 +#: ../../library/io.rst:635 msgid "" "A raw binary stream representing an OS-level file containing bytes data. It " -"inherits :class:`RawIOBase`." +"inherits from :class:`RawIOBase`." msgstr "" -#: ../../library/io.rst:639 +#: ../../library/io.rst:638 msgid "The *name* can be one of two things:" msgstr "" -#: ../../library/io.rst:641 +#: ../../library/io.rst:640 msgid "" "a character string or :class:`bytes` object representing the path to the " "file which will be opened. In this case closefd must be ``True`` (the " "default) otherwise an error will be raised." msgstr "" -#: ../../library/io.rst:644 +#: ../../library/io.rst:643 msgid "" "an integer representing the number of an existing OS-level file descriptor " "to which the resulting :class:`FileIO` object will give access. When the " @@ -914,7 +999,7 @@ msgid "" "set to ``False``." msgstr "" -#: ../../library/io.rst:649 +#: ../../library/io.rst:648 msgid "" "The *mode* can be ``'r'``, ``'w'``, ``'x'`` or ``'a'`` for reading " "(default), writing, exclusive creation or appending. The file will be " @@ -925,10 +1010,11 @@ msgid "" "``'+'`` to the mode to allow simultaneous reading and writing." msgstr "" -#: ../../library/io.rst:657 +#: ../../library/io.rst:656 msgid "" -"The :meth:`read` (when called with a positive argument), :meth:`readinto` " -"and :meth:`write` methods on this class will only make one system call." +"The :meth:`~RawIOBase.read` (when called with a positive " +"argument), :meth:`~RawIOBase.readinto` and :meth:`~RawIOBase.write` methods " +"on this class will only make one system call." msgstr "" #: ../../library/io.rst:660 @@ -960,8 +1046,8 @@ msgstr "O arquivo agora é não herdável." #: ../../library/io.rst:678 msgid "" -":class:`FileIO` provides these data attributes in addition to those from :" -"class:`RawIOBase` and :class:`IOBase`:" +":class:`FileIO` provides these data attributes in addition to those " +"from :class:`RawIOBase` and :class:`IOBase`:" msgstr "" #: ../../library/io.rst:683 @@ -986,9 +1072,9 @@ msgstr "" #: ../../library/io.rst:699 msgid "" -"A binary stream using an in-memory bytes buffer. It inherits :class:" -"`BufferedIOBase`. The buffer is discarded when the :meth:`~IOBase.close` " -"method is called." +"A binary stream using an in-memory bytes buffer. It inherits " +"from :class:`BufferedIOBase`. The buffer is discarded when " +"the :meth:`~IOBase.close` method is called." msgstr "" #: ../../library/io.rst:703 @@ -1036,8 +1122,8 @@ msgstr "" #: ../../library/io.rst:747 msgid "" "A buffered binary stream providing higher-level access to a readable, non " -"seekable :class:`RawIOBase` raw binary stream. It inherits :class:" -"`BufferedIOBase`." +"seekable :class:`RawIOBase` raw binary stream. It inherits " +"from :class:`BufferedIOBase`." msgstr "" #: ../../library/io.rst:751 @@ -1050,8 +1136,8 @@ msgstr "" #: ../../library/io.rst:755 msgid "" "The constructor creates a :class:`BufferedReader` for the given readable " -"*raw* stream and *buffer_size*. If *buffer_size* is omitted, :data:" -"`DEFAULT_BUFFER_SIZE` is used." +"*raw* stream and *buffer_size*. If *buffer_size* is " +"omitted, :data:`DEFAULT_BUFFER_SIZE` is used." msgstr "" #: ../../library/io.rst:759 @@ -1083,8 +1169,8 @@ msgstr "" #: ../../library/io.rst:785 msgid "" "A buffered binary stream providing higher-level access to a writeable, non " -"seekable :class:`RawIOBase` raw binary stream. It inherits :class:" -"`BufferedIOBase`." +"seekable :class:`RawIOBase` raw binary stream. It inherits " +"from :class:`BufferedIOBase`." msgstr "" #: ../../library/io.rst:789 @@ -1099,12 +1185,13 @@ msgid "when the buffer gets too small for all pending data;" msgstr "" #: ../../library/io.rst:794 -msgid "when :meth:`flush()` is called;" +msgid "when :meth:`flush` is called;" msgstr "" #: ../../library/io.rst:795 msgid "" -"when a :meth:`seek()` is requested (for :class:`BufferedRandom` objects);" +"when a :meth:`~IOBase.seek` is requested (for :class:`BufferedRandom` " +"objects);" msgstr "" #: ../../library/io.rst:796 @@ -1114,8 +1201,8 @@ msgstr "" #: ../../library/io.rst:798 msgid "" "The constructor creates a :class:`BufferedWriter` for the given writeable " -"*raw* stream. If the *buffer_size* is not given, it defaults to :data:" -"`DEFAULT_BUFFER_SIZE`." +"*raw* stream. If the *buffer_size* is not given, it defaults " +"to :data:`DEFAULT_BUFFER_SIZE`." msgstr "" #: ../../library/io.rst:802 @@ -1126,8 +1213,8 @@ msgstr "" #: ../../library/io.rst:807 msgid "" -"Force bytes held in the buffer into the raw stream. A :exc:" -"`BlockingIOError` should be raised if the raw stream blocks." +"Force bytes held in the buffer into the raw stream. " +"A :exc:`BlockingIOError` should be raised if the raw stream blocks." msgstr "" #: ../../library/io.rst:812 @@ -1139,44 +1226,44 @@ msgstr "" #: ../../library/io.rst:820 msgid "" -"A buffered binary stream providing higher-level access to a seekable :class:" -"`RawIOBase` raw binary stream. It inherits :class:`BufferedReader` and :" -"class:`BufferedWriter`." +"A buffered binary stream providing higher-level access to a " +"seekable :class:`RawIOBase` raw binary stream. It inherits " +"from :class:`BufferedReader` and :class:`BufferedWriter`." msgstr "" #: ../../library/io.rst:824 msgid "" "The constructor creates a reader and writer for a seekable raw stream, given " -"in the first argument. If the *buffer_size* is omitted it defaults to :data:" -"`DEFAULT_BUFFER_SIZE`." +"in the first argument. If the *buffer_size* is omitted it defaults " +"to :data:`DEFAULT_BUFFER_SIZE`." msgstr "" #: ../../library/io.rst:828 msgid "" -":class:`BufferedRandom` is capable of anything :class:`BufferedReader` or :" -"class:`BufferedWriter` can do. In addition, :meth:`seek` and :meth:`tell` " -"are guaranteed to be implemented." +":class:`BufferedRandom` is capable of anything :class:`BufferedReader` " +"or :class:`BufferedWriter` can do. In addition, :meth:`~IOBase.seek` " +"and :meth:`~IOBase.tell` are guaranteed to be implemented." msgstr "" #: ../../library/io.rst:835 msgid "" -"A buffered binary stream providing higher-level access to two non seekable :" -"class:`RawIOBase` raw binary streams---one readable, the other writeable. It " -"inherits :class:`BufferedIOBase`." +"A buffered binary stream providing higher-level access to two non " +"seekable :class:`RawIOBase` raw binary streams---one readable, the other " +"writeable. It inherits from :class:`BufferedIOBase`." msgstr "" #: ../../library/io.rst:839 msgid "" "*reader* and *writer* are :class:`RawIOBase` objects that are readable and " -"writeable respectively. If the *buffer_size* is omitted it defaults to :" -"data:`DEFAULT_BUFFER_SIZE`." +"writeable respectively. If the *buffer_size* is omitted it defaults " +"to :data:`DEFAULT_BUFFER_SIZE`." msgstr "" #: ../../library/io.rst:843 msgid "" ":class:`BufferedRWPair` implements all of :class:`BufferedIOBase`\\'s " -"methods except for :meth:`~BufferedIOBase.detach`, which raises :exc:" -"`UnsupportedOperation`." +"methods except for :meth:`~BufferedIOBase.detach`, which " +"raises :exc:`UnsupportedOperation`." msgstr "" #: ../../library/io.rst:849 @@ -1189,7 +1276,7 @@ msgstr "" #: ../../library/io.rst:859 msgid "" "Base class for text streams. This class provides a character and line based " -"interface to stream I/O. It inherits :class:`IOBase`." +"interface to stream I/O. It inherits from :class:`IOBase`." msgstr "" #: ../../library/io.rst:862 @@ -1217,9 +1304,9 @@ msgstr "" #: ../../library/io.rst:882 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` instance) " +"that :class:`TextIOBase` deals with. This is not part of " +"the :class:`TextIOBase` API and may not exist in some implementations." msgstr "" #: ../../library/io.rst:888 @@ -1237,20 +1324,20 @@ msgstr "" #: ../../library/io.rst:894 msgid "" "Some :class:`TextIOBase` implementations, like :class:`StringIO`, may not " -"have the concept of an underlying buffer and calling this method will raise :" -"exc:`UnsupportedOperation`." +"have the concept of an underlying buffer and calling this method will " +"raise :exc:`UnsupportedOperation`." msgstr "" #: ../../library/io.rst:902 msgid "" -"Read and return at most *size* characters from the stream as a single :class:" -"`str`. If *size* is negative or ``None``, reads until EOF." +"Read and return at most *size* characters from the stream as a " +"single :class:`str`. If *size* is negative or ``None``, reads until EOF." msgstr "" #: ../../library/io.rst:907 msgid "" -"Read until newline or EOF and return a single ``str``. If the stream is " -"already at EOF, an empty string is returned." +"Read until newline or EOF and return a single :class:`str`. If the stream " +"is already at EOF, an empty string is returned." msgstr "" #: ../../library/io.rst:910 @@ -1260,25 +1347,25 @@ msgstr "" #: ../../library/io.rst:914 msgid "" "Change the stream position to the given *offset*. Behaviour depends on the " -"*whence* parameter. The default value for *whence* is :data:`SEEK_SET`." +"*whence* parameter. The default value for *whence* is :data:`!SEEK_SET`." msgstr "" #: ../../library/io.rst:918 msgid "" -":data:`SEEK_SET` or ``0``: seek from the start of the stream (the default); " +":data:`!SEEK_SET` or ``0``: seek from the start of the stream (the default); " "*offset* must either be a number returned by :meth:`TextIOBase.tell`, or " "zero. Any other *offset* value produces undefined behaviour." msgstr "" #: ../../library/io.rst:922 msgid "" -":data:`SEEK_CUR` or ``1``: \"seek\" to the current position; *offset* must " +":data:`!SEEK_CUR` or ``1``: \"seek\" to the current position; *offset* must " "be zero, which is a no-operation (all other values are unsupported)." msgstr "" #: ../../library/io.rst:925 msgid "" -":data:`SEEK_END` or ``2``: seek to the end of the stream; *offset* must be " +":data:`!SEEK_END` or ``2``: seek to the end of the stream; *offset* must be " "zero (all other values are unsupported)." msgstr "" @@ -1300,8 +1387,9 @@ msgstr "" #: ../../library/io.rst:948 msgid "" -"A buffered text stream providing higher-level access to a :class:" -"`BufferedIOBase` buffered binary stream. It inherits :class:`TextIOBase`." +"A buffered text stream providing higher-level access to " +"a :class:`BufferedIOBase` buffered binary stream. It inherits " +"from :class:`TextIOBase`." msgstr "" #: ../../library/io.rst:952 @@ -1335,10 +1423,10 @@ msgstr "" #: ../../library/io.rst:976 msgid "" -"When reading input from the stream, if *newline* is ``None``, :term:" -"`universal newlines` mode is enabled. Lines in the input can end in " -"``'\\n'``, ``'\\r'``, or ``'\\r\\n'``, and these are translated into " -"``'\\n'`` before being returned to the caller. If *newline* is ``''``, " +"When reading input from the stream, if *newline* is " +"``None``, :term:`universal newlines` mode is enabled. Lines in the input " +"can end in ``'\\n'``, ``'\\r'``, or ``'\\r\\n'``, and these are translated " +"into ``'\\n'`` before being returned to the caller. If *newline* is ``''``, " "universal newlines mode is enabled, but line endings are returned to the " "caller untranslated. If *newline* has any of the other legal values, input " "lines are only terminated by the given string, and the line ending is " @@ -1348,10 +1436,10 @@ msgstr "" #: ../../library/io.rst:985 msgid "" "When writing output to the stream, if *newline* is ``None``, any ``'\\n'`` " -"characters written are translated to the system default line separator, :" -"data:`os.linesep`. If *newline* is ``''`` or ``'\\n'``, no translation " -"takes place. If *newline* is any of the other legal values, any ``'\\n'`` " -"characters written are translated to the given string." +"characters written are translated to the system default line " +"separator, :data:`os.linesep`. If *newline* is ``''`` or ``'\\n'``, no " +"translation takes place. If *newline* is any of the other legal values, any " +"``'\\n'`` characters written are translated to the given string." msgstr "" "Ao gravar a saída no fluxo, se *newline* for ``None``, quaisquer caracteres " "``'\\n'`` gravados serão traduzidos para o separador de linhas padrão do " @@ -1361,15 +1449,16 @@ msgstr "" #: ../../library/io.rst:991 msgid "" -"If *line_buffering* is ``True``, :meth:`flush` is implied when a call to " -"write contains a newline character or a carriage return." +"If *line_buffering* is ``True``, :meth:`~IOBase.flush` is implied when a " +"call to write contains a newline character or a carriage return." msgstr "" #: ../../library/io.rst:994 msgid "" -"If *write_through* is ``True``, calls to :meth:`write` are guaranteed not to " -"be buffered: any data written on the :class:`TextIOWrapper` object is " -"immediately handled to its underlying binary *buffer*." +"If *write_through* is ``True``, calls to :meth:`~BufferedIOBase.write` are " +"guaranteed not to be buffered: any data written on " +"the :class:`TextIOWrapper` object is immediately handled to its underlying " +"binary *buffer*." msgstr "" #: ../../library/io.rst:998 @@ -1431,70 +1520,113 @@ msgstr "" msgid "The method supports ``encoding=\"locale\"`` option." msgstr "" -#: ../../library/io.rst:1049 +#: ../../library/io.rst:1048 msgid "" -"A text stream using an in-memory text buffer. It inherits :class:" -"`TextIOBase`." +"Set the stream position. Return the new stream position as an :class:`int`." msgstr "" -#: ../../library/io.rst:1052 +#: ../../library/io.rst:1051 msgid "" -"The text buffer is discarded when the :meth:`~IOBase.close` method is called." +"Four operations are supported, given by the following argument combinations:" +msgstr "" + +#: ../../library/io.rst:1054 +msgid "``seek(0, SEEK_SET)``: Rewind to the start of the stream." msgstr "" #: ../../library/io.rst:1055 msgid "" +"``seek(cookie, SEEK_SET)``: Restore a previous position; *cookie* **must " +"be** a number returned by :meth:`tell`." +msgstr "" + +#: ../../library/io.rst:1057 +msgid "``seek(0, SEEK_END)``: Fast-forward to the end of the stream." +msgstr "" + +#: ../../library/io.rst:1058 +msgid "``seek(0, SEEK_CUR)``: Leave the current stream position unchanged." +msgstr "" + +#: ../../library/io.rst:1060 +msgid "Any other argument combinations are invalid, and may raise exceptions." +msgstr "" + +#: ../../library/io.rst:1065 +msgid ":data:`os.SEEK_SET`, :data:`os.SEEK_CUR`, and :data:`os.SEEK_END`." +msgstr "" + +#: ../../library/io.rst:1069 +msgid "" +"Return the stream position as an opaque number. The return value of :meth:`!" +"tell` can be given as input to :meth:`seek`, to restore a previous stream " +"position." +msgstr "" + +#: ../../library/io.rst:1076 +msgid "" +"A text stream using an in-memory text buffer. It inherits " +"from :class:`TextIOBase`." +msgstr "" + +#: ../../library/io.rst:1079 +msgid "" +"The text buffer is discarded when the :meth:`~IOBase.close` method is called." +msgstr "" + +#: ../../library/io.rst:1082 +msgid "" "The initial value of the buffer can be set by providing *initial_value*. If " -"newline translation is enabled, newlines will be encoded as if by :meth:" -"`~TextIOBase.write`. The stream is positioned at the start of the buffer " -"which emulates opening an existing file in a ``w+`` mode, making it ready " -"for an immediate write from the beginning or for a write that would " +"newline translation is enabled, newlines will be encoded as if " +"by :meth:`~TextIOBase.write`. The stream is positioned at the start of the " +"buffer which emulates opening an existing file in a ``w+`` mode, making it " +"ready for an immediate write from the beginning or for a write that would " "overwrite the initial value. To emulate opening a file in an ``a+`` mode " "ready for appending, use ``f.seek(0, io.SEEK_END)`` to reposition the stream " "at the end of the buffer." msgstr "" -#: ../../library/io.rst:1064 +#: ../../library/io.rst:1091 msgid "" "The *newline* argument works like that of :class:`TextIOWrapper`, except " "that when writing output to the stream, if *newline* is ``None``, newlines " "are written as ``\\n`` on all platforms." msgstr "" -#: ../../library/io.rst:1068 +#: ../../library/io.rst:1095 msgid "" -":class:`StringIO` provides this method in addition to those from :class:" -"`TextIOBase` and :class:`IOBase`:" +":class:`StringIO` provides this method in addition to those " +"from :class:`TextIOBase` and :class:`IOBase`:" msgstr "" -#: ../../library/io.rst:1073 +#: ../../library/io.rst:1100 msgid "" -"Return a ``str`` containing the entire contents of the buffer. Newlines are " -"decoded as if by :meth:`~TextIOBase.read`, although the stream position is " -"not changed." +"Return a :class:`str` containing the entire contents of the buffer. Newlines " +"are decoded as if by :meth:`~TextIOBase.read`, although the stream position " +"is not changed." msgstr "" -#: ../../library/io.rst:1077 +#: ../../library/io.rst:1104 msgid "Example usage::" msgstr "Exemplo de uso::" -#: ../../library/io.rst:1099 +#: ../../library/io.rst:1126 msgid "" "A helper codec that decodes newlines for :term:`universal newlines` mode. It " -"inherits :class:`codecs.IncrementalDecoder`." +"inherits from :class:`codecs.IncrementalDecoder`." msgstr "" -#: ../../library/io.rst:1104 +#: ../../library/io.rst:1131 msgid "Performance" -msgstr "Performance" +msgstr "Desempenho" -#: ../../library/io.rst:1106 +#: ../../library/io.rst:1133 msgid "" "This section discusses the performance of the provided concrete I/O " "implementations." msgstr "" -#: ../../library/io.rst:1112 +#: ../../library/io.rst:1139 msgid "" "By reading and writing only large chunks of data even when the user asks for " "a single byte, buffered I/O hides any inefficiency in calling and executing " @@ -1507,60 +1639,61 @@ msgid "" "data." msgstr "" -#: ../../library/io.rst:1124 +#: ../../library/io.rst:1151 msgid "" "Text I/O over a binary storage (such as a file) is significantly slower than " "binary I/O over the same storage, because it requires conversions between " "unicode and binary data using a character codec. This can become noticeable " -"handling huge amounts of text data like large log files. Also, :meth:" -"`TextIOWrapper.tell` and :meth:`TextIOWrapper.seek` are both quite slow due " -"to the reconstruction algorithm used." +"handling huge amounts of text data like large log files. " +"Also, :meth:`~TextIOBase.tell` and :meth:`~TextIOBase.seek` are both quite " +"slow due to the reconstruction algorithm used." msgstr "" -#: ../../library/io.rst:1131 +#: ../../library/io.rst:1158 msgid "" ":class:`StringIO`, however, is a native in-memory unicode container and will " "exhibit similar speed to :class:`BytesIO`." msgstr "" -#: ../../library/io.rst:1135 +#: ../../library/io.rst:1162 msgid "Multi-threading" msgstr "Multi-threading" -#: ../../library/io.rst:1137 +#: ../../library/io.rst:1164 msgid "" ":class:`FileIO` objects are thread-safe to the extent that the operating " -"system calls (such as ``read(2)`` under Unix) they wrap are thread-safe too." +"system calls (such as :manpage:`read(2)` under Unix) they wrap are thread-" +"safe too." msgstr "" -#: ../../library/io.rst:1140 +#: ../../library/io.rst:1167 msgid "" -"Binary buffered objects (instances of :class:`BufferedReader`, :class:" -"`BufferedWriter`, :class:`BufferedRandom` and :class:`BufferedRWPair`) " -"protect their internal structures using a lock; it is therefore safe to call " -"them from multiple threads at once." +"Binary buffered objects (instances " +"of :class:`BufferedReader`, :class:`BufferedWriter`, :class:`BufferedRandom` " +"and :class:`BufferedRWPair`) protect their internal structures using a lock; " +"it is therefore safe to call them from multiple threads at once." msgstr "" -#: ../../library/io.rst:1145 +#: ../../library/io.rst:1172 msgid ":class:`TextIOWrapper` objects are not thread-safe." msgstr "" -#: ../../library/io.rst:1148 +#: ../../library/io.rst:1175 msgid "Reentrancy" msgstr "" -#: ../../library/io.rst:1150 +#: ../../library/io.rst:1177 msgid "" -"Binary buffered objects (instances of :class:`BufferedReader`, :class:" -"`BufferedWriter`, :class:`BufferedRandom` and :class:`BufferedRWPair`) are " -"not reentrant. While reentrant calls will not happen in normal situations, " -"they can arise from doing I/O in a :mod:`signal` handler. If a thread tries " -"to re-enter a buffered object which it is already accessing, a :exc:" -"`RuntimeError` is raised. Note this doesn't prohibit a different thread " -"from entering the buffered object." +"Binary buffered objects (instances " +"of :class:`BufferedReader`, :class:`BufferedWriter`, :class:`BufferedRandom` " +"and :class:`BufferedRWPair`) are not reentrant. While reentrant calls will " +"not happen in normal situations, they can arise from doing I/O in " +"a :mod:`signal` handler. If a thread tries to re-enter a buffered object " +"which it is already accessing, a :exc:`RuntimeError` is raised. Note this " +"doesn't prohibit a different thread from entering the buffered object." msgstr "" -#: ../../library/io.rst:1158 +#: ../../library/io.rst:1185 msgid "" "The above implicitly extends to text files, since the :func:`open()` " "function will wrap a buffered object inside a :class:`TextIOWrapper`. This " @@ -1576,7 +1709,7 @@ msgstr "objeto arquivo" msgid "io module" msgstr "" -#: ../../library/io.rst:970 ../../library/io.rst:1094 +#: ../../library/io.rst:970 ../../library/io.rst:1121 msgid "universal newlines" msgstr "novas linhas universais" @@ -1584,6 +1717,6 @@ msgstr "novas linhas universais" msgid "io.TextIOWrapper class" msgstr "" -#: ../../library/io.rst:1094 +#: ../../library/io.rst:1121 msgid "io.IncrementalNewlineDecoder class" msgstr "" diff --git a/library/ipaddress.po b/library/ipaddress.po index 962bc2a11..754082276 100644 --- a/library/ipaddress.po +++ b/library/ipaddress.po @@ -1,34 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# mvpetri , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/ipaddress.rst:2 msgid ":mod:`ipaddress` --- IPv4/IPv6 manipulation library" -msgstr "" +msgstr ":mod:`ipaddress` --- Biblioteca de manipulação de IPv4/IPv6" #: ../../library/ipaddress.rst:9 msgid "**Source code:** :source:`Lib/ipaddress.py`" @@ -39,6 +36,8 @@ msgid "" ":mod:`ipaddress` provides the capabilities to create, manipulate and operate " "on IPv4 and IPv6 addresses and networks." msgstr "" +":mod:`ipaddress` fornece recursos para criar, manipular e operar em " +"endereços e redes IPv4 e IPv6." #: ../../library/ipaddress.rst:16 msgid "" @@ -48,22 +47,31 @@ msgid "" "subnet, checking whether or not a string represents a valid IP address or " "network definition, and so on." msgstr "" +"As funções e classes neste módulo facilitam o tratamento de várias tarefas " +"relacionadas a endereços IP, incluindo verificar se dois hosts estão ou não " +"na mesma sub-rede, iterar sobre todos os hosts em uma sub-rede específica, " +"verificar se uma string representa ou não um valor válido. Endereço IP ou " +"definição de rede e assim por diante." #: ../../library/ipaddress.rst:22 msgid "" -"This is the full module API reference—for an overview and introduction, see :" -"ref:`ipaddress-howto`." +"This is the full module API reference—for an overview and introduction, " +"see :ref:`ipaddress-howto`." msgstr "" +"Esta é a referência completa da API do módulo -- para uma visão geral e " +"introdução, consulte :ref:`ipaddress-howto`." #: ../../library/ipaddress.rst:35 msgid "Convenience factory functions" -msgstr "" +msgstr "Funções de fábrica de conveniência" #: ../../library/ipaddress.rst:37 msgid "" "The :mod:`ipaddress` module provides factory functions to conveniently " "create IP addresses, networks and interfaces:" msgstr "" +"O módulo :mod:`ipaddress` fornece funções de fábrica para criar endereços " +"IP, redes e interfaces de forma conveniente:" #: ../../library/ipaddress.rst:42 msgid "" @@ -73,6 +81,11 @@ msgid "" "default. A :exc:`ValueError` is raised if *address* does not represent a " "valid IPv4 or IPv6 address." msgstr "" +"Retorna um objeto :class:`IPv4Address` ou :class:`IPv6Address` dependendo do " +"endereço IP passado como argumento. Podem ser fornecidos endereços IPv4 ou " +"IPv6; números inteiros menores que ``2**32`` serão considerados IPv4 por " +"padrão. Uma exceção :exc:`ValueError` é levantada se *address* não " +"representar um endereço IPv4 ou IPv6 válido." #: ../../library/ipaddress.rst:56 msgid "" @@ -84,16 +97,29 @@ msgid "" "constructor. A :exc:`ValueError` is raised if *address* does not represent " "a valid IPv4 or IPv6 address, or if the network has host bits set." msgstr "" +"Retorna um objeto :class:`IPv4Network` ou :class:`IPv6Network` dependendo do " +"endereço IP passado como argumento. *address* é uma string ou número inteiro " +"que representa a rede IP. Podem ser fornecidas redes IPv4 ou IPv6; números " +"inteiros menores que ``2**32`` serão considerados IPv4 por padrão. *strict* " +"é passado para o construtor :class:`IPv4Network` ou :class:`IPv6Network`. " +"Uma exceção :exc:`ValueError` é levantada se *address* não representar um " +"endereço IPv4 ou IPv6 válido, ou se a rede tiver bits de host configurados." #: ../../library/ipaddress.rst:70 msgid "" "Return an :class:`IPv4Interface` or :class:`IPv6Interface` object depending " "on the IP address passed as argument. *address* is a string or integer " "representing the IP address. Either IPv4 or IPv6 addresses may be supplied; " -"integers less than ``2**32`` will be considered to be IPv4 by default. A :" -"exc:`ValueError` is raised if *address* does not represent a valid IPv4 or " -"IPv6 address." +"integers less than ``2**32`` will be considered to be IPv4 by default. " +"A :exc:`ValueError` is raised if *address* does not represent a valid IPv4 " +"or IPv6 address." msgstr "" +"Retorna um objeto :class:`IPv4Interface` ou :class:`IPv6Interface` " +"dependendo do endereço IP passado como argumento. *address* é uma string ou " +"um inteiro representando o endereço IP. Podem ser fornecidos endereços IPv4 " +"ou IPv6; números inteiros menores que ``2**32`` serão considerados IPv4 por " +"padrão. Uma exceção :exc:`ValueError` é levantada se *address* não " +"representar um endereço IPv4 ou IPv6 válido." #: ../../library/ipaddress.rst:77 msgid "" @@ -103,14 +129,20 @@ msgid "" "format was intended. More detailed error reporting can be obtained by " "calling the appropriate version specific class constructors directly." msgstr "" +"Uma desvantagem dessas funções de conveniência é que a necessidade de lidar " +"com os formatos IPv4 e IPv6 significa que as mensagens de erro fornecem " +"informações mínimas sobre o erro exato, pois as funções não sabem se o " +"formato IPv4 ou IPv6 foi pretendido. Relatórios de erros mais detalhados " +"podem ser obtidos chamando diretamente os construtores de classe específicos " +"da versão apropriada." #: ../../library/ipaddress.rst:86 msgid "IP Addresses" -msgstr "" +msgstr "Endereços IP" #: ../../library/ipaddress.rst:89 msgid "Address objects" -msgstr "Endereço de objetos" +msgstr "Objetos de endereço" #: ../../library/ipaddress.rst:91 msgid "" @@ -121,12 +153,20 @@ msgid "" "Address objects are :term:`hashable`, so they can be used as keys in " "dictionaries." msgstr "" +"Os objetos :class:`IPv4Address` e :class:`IPv6Address` compartilham muitos " +"atributos comuns. Alguns atributos que são significativos apenas para " +"endereços IPv6 também são implementados por objetos :class:`IPv4Address`, " +"para facilitar a escrita de código que lide corretamente com ambas as " +"versões de IP. Os objetos de endereço são :term:`hasheáveis `, " +"portanto podem ser usados como chaves em dicionários." #: ../../library/ipaddress.rst:99 msgid "" "Construct an IPv4 address. An :exc:`AddressValueError` is raised if " "*address* is not a valid IPv4 address." msgstr "" +"Constrói um endereço IPv4. Uma exceção :exc:`AddressValueError` é levantada " +"se *address* não for um endereço IPv4 válido." #: ../../library/ipaddress.rst:102 msgid "The following constitutes a valid IPv4 address:" @@ -139,6 +179,10 @@ msgid "" "integer represents an octet (byte) in the address. Leading zeroes are not " "tolerated to prevent confusion with octal notation." msgstr "" +"Uma string em notação decimal por ponto, consistindo de quatro inteiros " +"decimais em um intervalo inclusivo 0--255 separado por pontos (e.g. " +"``192.168.0.1``). Cada inteiro representa um octeto (byte) no endereço. " +"Zeros à esquerda não são tolerados para evitar confusão com notação octal." #: ../../library/ipaddress.rst:108 msgid "An integer that fits into 32 bits." @@ -149,119 +193,222 @@ msgid "" "An integer packed into a :class:`bytes` object of length 4 (most significant " "octet first)." msgstr "" +"Um inteiro compactado em um objeto :class:`bytes` de comprimento 4 (octeto " +"mais significativo primeiro)." #: ../../library/ipaddress.rst:121 msgid "" "Leading zeros are tolerated, even in ambiguous cases that look like octal " "notation." msgstr "" +"Zeros à esquerda são tolerados, mesmo em casos ambíguos que se parecem com " +"notação octal." #: ../../library/ipaddress.rst:126 msgid "" "Leading zeros are no longer tolerated and are treated as an error. IPv4 " "address strings are now parsed as strict as glibc :func:`~socket.inet_pton`." msgstr "" +"Zeros à esquerda não são mais tolerados e são tratados como um erro. As " +"strings de endereço IPv4 agora são analisadas de forma tão estrita quanto " +"glibc :func:`~socket.inet_pton`." #: ../../library/ipaddress.rst:132 -msgid "" -"The above change was also included in Python 3.9 starting with version 3.9.5." -msgstr "" - -#: ../../library/ipaddress.rst:137 -msgid "" -"The above change was also included in Python 3.8 starting with version " -"3.8.12." -msgstr "" - -#: ../../library/ipaddress.rst:142 msgid "The appropriate version number: ``4`` for IPv4, ``6`` for IPv6." -msgstr "" +msgstr "O número de versão apropriado: ``4`` para IPv4, ``6`` para IPv6." -#: ../../library/ipaddress.rst:146 +#: ../../library/ipaddress.rst:136 msgid "" "The total number of bits in the address representation for this version: " "``32`` for IPv4, ``128`` for IPv6." msgstr "" +"O número total de bits na representação de endereço para esta versão: ``32`` " +"para IPv4, ``128`` para IPv6." -#: ../../library/ipaddress.rst:149 +#: ../../library/ipaddress.rst:139 msgid "" "The prefix defines the number of leading bits in an address that are " "compared to determine whether or not an address is part of a network." msgstr "" +"O prefixo define o número de bits iniciais em um endereço que são comparados " +"para determinar se um endereço faz ou não parte de uma rede." -#: ../../library/ipaddress.rst:156 +#: ../../library/ipaddress.rst:146 msgid "" "The string representation in dotted decimal notation. Leading zeroes are " "never included in the representation." msgstr "" +"A representação de string em notação decimal pontilhada. Zeros à esquerda " +"nunca são incluídos na representação." -#: ../../library/ipaddress.rst:159 +#: ../../library/ipaddress.rst:149 msgid "" "As IPv4 does not define a shorthand notation for addresses with octets set " "to zero, these two attributes are always the same as ``str(addr)`` for IPv4 " "addresses. Exposing these attributes makes it easier to write display code " "that can handle both IPv4 and IPv6 addresses." msgstr "" +"Como o IPv4 não define uma notação abreviada para endereços com octetos " +"definidos como zero, esses dois atributos são sempre iguais a ``str(addr)`` " +"para endereços IPv4. A exposição desses atributos facilita a gravação de " +"código de exibição que pode tratar endereços IPv4 e IPv6." -#: ../../library/ipaddress.rst:166 +#: ../../library/ipaddress.rst:156 msgid "" "The binary representation of this address - a :class:`bytes` object of the " "appropriate length (most significant octet first). This is 4 bytes for IPv4 " "and 16 bytes for IPv6." msgstr "" +"A representação binária deste endereço -- um objeto :class:`bytes` de " +"comprimento apropriado (primeiro o octeto mais significativo). São 4 bytes " +"para IPv4 e 16 bytes para IPv6." -#: ../../library/ipaddress.rst:172 +#: ../../library/ipaddress.rst:162 msgid "The name of the reverse DNS PTR record for the IP address, e.g.::" msgstr "" +"O nome do registro PTR de DNS reverso para o endereço IP, por exemplo::" -#: ../../library/ipaddress.rst:179 +#: ../../library/ipaddress.rst:169 msgid "" "This is the name that could be used for performing a PTR lookup, not the " "resolved hostname itself." msgstr "" +"Este é o nome que pode ser usado para realizar uma pesquisa PTR, não o nome " +"do host resolvido em si." -#: ../../library/ipaddress.rst:186 +#: ../../library/ipaddress.rst:176 msgid "" "``True`` if the address is reserved for multicast use. See :RFC:`3171` (for " "IPv4) or :RFC:`2373` (for IPv6)." msgstr "" +"``True`` se o endereço estiver reservado para uso multicast. " +"Consulte :RFC:`3171` (para IPv4) ou :RFC:`2373` (para IPv6)." -#: ../../library/ipaddress.rst:191 +#: ../../library/ipaddress.rst:181 msgid "" -"``True`` if the address is allocated for private networks. See iana-ipv4-" -"special-registry_ (for IPv4) or iana-ipv6-special-registry_ (for IPv6)." +"``True`` if the address is defined as not globally reachable by iana-ipv4-" +"special-registry_ (for IPv4) or iana-ipv6-special-registry_ (for IPv6) with " +"the following exceptions:" msgstr "" +"``True`` se o endereço for definido como não acessível globalmente por iana-" +"ipv4-special-registry_ (para IPv4) ou iana-ipv6-special-registry_ (para " +"IPv6) com as seguintes exceções:" -#: ../../library/ipaddress.rst:197 +#: ../../library/ipaddress.rst:185 msgid "" -"``True`` if the address is allocated for public networks. See iana-ipv4-" -"special-registry_ (for IPv4) or iana-ipv6-special-registry_ (for IPv6)." +"``is_private`` is ``False`` for the shared address space (``100.64.0.0/10``)" msgstr "" +"``is_private`` é ``False`` para o espaço de endereço compartilhado " +"(``100.64.0.0/10``)" -#: ../../library/ipaddress.rst:205 +#: ../../library/ipaddress.rst:186 ../../library/ipaddress.rst:213 msgid "" -"``True`` if the address is unspecified. See :RFC:`5735` (for IPv4) or :RFC:" -"`2373` (for IPv6)." +"For IPv4-mapped IPv6-addresses the ``is_private`` value is determined by the " +"semantics of the underlying IPv4 addresses and the following condition holds " +"(see :attr:`IPv6Address.ipv4_mapped`)::" msgstr "" +"Para endereços IPv6 mapeados em IPv4, o valor ``is_private`` é determinado " +"pela semântica dos endereços IPv4 subjacentes e a seguinte condição é válida " +"(consulte :attr:`IPv6Address.ipv4_mapped`)::" -#: ../../library/ipaddress.rst:210 -msgid "``True`` if the address is otherwise IETF reserved." +#: ../../library/ipaddress.rst:192 +msgid "" +"``is_private`` has value opposite to :attr:`is_global`, except for the " +"shared address space (``100.64.0.0/10`` range) where they are both ``False``." msgstr "" +"``is_private`` tem valor oposto a :attr:`is_global`, exceto para o espaço de " +"endereço compartilhado (intervalo ``100.64.0.0/10``) onde ambos são " +"``False``." + +#: ../../library/ipaddress.rst:197 +msgid "Fixed some false positives and false negatives." +msgstr "Corrigidos alguns falsos positivos e falsos negativos." -#: ../../library/ipaddress.rst:214 +#: ../../library/ipaddress.rst:199 msgid "" -"``True`` if this is a loopback address. See :RFC:`3330` (for IPv4) or :RFC:" -"`2373` (for IPv6)." +"``192.0.0.0/24`` is considered private with the exception of " +"``192.0.0.9/32`` and ``192.0.0.10/32`` (previously: only the " +"``192.0.0.0/29`` sub-range was considered private)." msgstr "" +"``192.0.0.0/24`` é considerado privado com exceção de ``192.0.0.9/32`` e " +"``192.0.0.10/32`` (anteriormente: apenas o sub-intervalo ``192.0.0.0/29`` " +"foi considerado privado)." + +#: ../../library/ipaddress.rst:201 +msgid "``64:ff9b:1::/48`` is considered private." +msgstr "``64:ff9b:1::/48`` é considerado privado." + +#: ../../library/ipaddress.rst:202 +msgid "``2002::/16`` is considered private." +msgstr "``2002::/16`` é considerado privado." + +#: ../../library/ipaddress.rst:203 +msgid "" +"There are exceptions within ``2001::/23`` (otherwise considered private): " +"``2001:1::1/128``, ``2001:1::2/128``, ``2001:3::/32``, ``2001:4:112::/48``, " +"``2001:20::/28``, ``2001:30::/28``. The exceptions are not considered " +"private." +msgstr "" +"Existem exceções em ``2001::/23`` (de outra forma considerado privado): " +"``2001:1::1/128``, ``2001:1::2/128``, ``2001:3::/32``, ``2001:4:112::/48``, " +"``2001:20::/28``, ``2001:30::/28``. As exceções não são consideradas " +"privadas." + +#: ../../library/ipaddress.rst:209 +msgid "" +"``True`` if the address is defined as globally reachable by iana-ipv4-" +"special-registry_ (for IPv4) or iana-ipv6-special-registry_ (for IPv6) with " +"the following exception:" +msgstr "" +"``True`` se o endereço for definido como não acessível globalmente por iana-" +"ipv4-special-registry_ (para IPv4) ou iana-ipv6-special-registry_ (para " +"IPv6) com a seguinte exceção:" #: ../../library/ipaddress.rst:219 msgid "" +"``is_global`` has value opposite to :attr:`is_private`, except for the " +"shared address space (``100.64.0.0/10`` range) where they are both ``False``." +msgstr "" +"``is_global`` tem valor oposto a :attr:`is_private`, exceto para o espaço de " +"endereço compartilhado (intervalo ``100.64.0.0/10``) onde ambos são " +"``False``." + +#: ../../library/ipaddress.rst:226 +msgid "" +"Fixed some false positives and false negatives, see :attr:`is_private` for " +"details." +msgstr "" +"Corrigidos alguns falsos positivos e falsos negativos, " +"veja :attr:`is_private` para detalhes." + +#: ../../library/ipaddress.rst:230 +msgid "" +"``True`` if the address is unspecified. See :RFC:`5735` (for IPv4) " +"or :RFC:`2373` (for IPv6)." +msgstr "" +"``True`` se o endereço não estiver especificado. Consulte :RFC:`5735` (para " +"IPv4) ou :RFC:`2373` (para IPv6)." + +#: ../../library/ipaddress.rst:235 +msgid "``True`` if the address is otherwise IETF reserved." +msgstr "``True`` se o endereço for reservado para IETF." + +#: ../../library/ipaddress.rst:239 +msgid "" +"``True`` if this is a loopback address. See :RFC:`3330` (for IPv4) " +"or :RFC:`2373` (for IPv6)." +msgstr "" +"``True`` se este for um endereço de loopack. Consulte :RFC:`3330` (para " +"IPv4) ou :RFC:`2373` (para IPv6)." + +#: ../../library/ipaddress.rst:244 +msgid "" "``True`` if the address is reserved for link-local usage. See :RFC:`3927`." msgstr "" -"``True`` se o endereço está reservado para uso de link local. Ver: :RFC:" -"`3927`." +"``True`` se o endereço está reservado para uso de link local. " +"Veja: :RFC:`3927`." -#: ../../library/ipaddress.rst:227 +#: ../../library/ipaddress.rst:252 msgid "" "Returns a string representation of the IP address, controlled by an explicit " "format string. *fmt* can be one of the following: ``'s'``, the default " @@ -282,17 +429,19 @@ msgstr "" "disponíveis. ``__format__`` é utilizado por ``format``, ``str.format`` e f-" "strings." -#: ../../library/ipaddress.rst:254 +#: ../../library/ipaddress.rst:279 msgid "" "Construct an IPv6 address. An :exc:`AddressValueError` is raised if " "*address* is not a valid IPv6 address." msgstr "" +"Constrói um endereço IPv6. Uma exceção :exc:`AddressValueError` é levantada " +"se *address* não for um endereço IPv6 válido." -#: ../../library/ipaddress.rst:257 +#: ../../library/ipaddress.rst:282 msgid "The following constitutes a valid IPv6 address:" msgstr "O seguinte constitui um endereço IPv6 válido:" -#: ../../library/ipaddress.rst:259 +#: ../../library/ipaddress.rst:284 msgid "" "A string consisting of eight groups of four hexadecimal digits, each group " "representing 16 bits. The groups are separated by colons. This describes an " @@ -303,12 +452,12 @@ msgid "" msgstr "" "Uma string constituída de oito grupos de quatro dígitos hexadecimais, cada " "grupo representando 16 bits. Os grupos são separados por dois pontos. Isto " -"descreve uma notação *explodida* (longa); A string também pode ser " +"descreve uma notação *explodida* (longa); A string também pode ser " "*compactada* (notação curta) por vários meios. Ver :RFC:`4291` para " "detalhes. Por exemplo, ``\"0000:0000:0000:0000:0000:0abc:0007:0def\"`` pode " "ser compactada para ``\"::abc:7:def\"``." -#: ../../library/ipaddress.rst:267 +#: ../../library/ipaddress.rst:292 msgid "" "Optionally, the string may also have a scope zone ID, expressed with a " "suffix ``%scope_id``. If present, the scope ID must be non-empty, and may " @@ -322,16 +471,18 @@ msgstr "" "``fe80::1234%1`` pode identificar o endereço ``fe80::1234`` no primeiro link " "do nó." -#: ../../library/ipaddress.rst:272 +#: ../../library/ipaddress.rst:297 msgid "An integer that fits into 128 bits." msgstr "Um inteiro que cabe em 128 bits." -#: ../../library/ipaddress.rst:273 +#: ../../library/ipaddress.rst:298 msgid "" "An integer packed into a :class:`bytes` object of length 16, big-endian." msgstr "" +"Um inteiro compactado em um objeto :class:`bytes` de comprimento 16, big-" +"endian." -#: ../../library/ipaddress.rst:283 +#: ../../library/ipaddress.rst:308 msgid "" "The short form of the address representation, with leading zeroes in groups " "omitted and the longest sequence of groups consisting entirely of zeroes " @@ -341,11 +492,11 @@ msgstr "" "omitidos e a sequência mais longa de grupos consistida inteiramente por " "zeros colapsada em um grupo vazio único." -#: ../../library/ipaddress.rst:287 +#: ../../library/ipaddress.rst:312 msgid "This is also the value returned by ``str(addr)`` for IPv6 addresses." msgstr "Este também é o valor retornado por ``str(addr)`` para endereços IPv6." -#: ../../library/ipaddress.rst:291 +#: ../../library/ipaddress.rst:316 msgid "" "The long form of the address representation, with all leading zeroes and " "groups consisting entirely of zeroes included." @@ -353,7 +504,7 @@ msgstr "" "A forma longa da representação do endereço, com todos zeros à esquerda em " "grupos consistindo inteiramente de zeros incluídos." -#: ../../library/ipaddress.rst:295 +#: ../../library/ipaddress.rst:320 msgid "" "For the following attributes and methods, see the corresponding " "documentation of the :class:`IPv4Address` class:" @@ -361,107 +512,139 @@ msgstr "" "Para os seguintes atributos e métodos, veja a documentação correspondente " "para a classe :class:`IPv4Address`:" -#: ../../library/ipaddress.rst:310 +#: ../../library/ipaddress.rst:335 msgid "is_global" msgstr "" -#: ../../library/ipaddress.rst:315 +#: ../../library/ipaddress.rst:340 msgid "" "``True`` if the address is reserved for site-local usage. Note that the " -"site-local address space has been deprecated by :RFC:`3879`. Use :attr:" -"`~IPv4Address.is_private` to test if this address is in the space of unique " -"local addresses as defined by :RFC:`4193`." +"site-local address space has been deprecated by :RFC:`3879`. " +"Use :attr:`~IPv4Address.is_private` to test if this address is in the space " +"of unique local addresses as defined by :RFC:`4193`." msgstr "" +"``True`` se o endereço estiver reservado para uso local do site. Observe que " +"o espaço de endereço local do site foi descontinuado pelo :RFC:`3879`. " +"Use :attr:`~IPv4Address.is_private` para testar se este endereço está no " +"espaço de endereços locais exclusivos conforme definido pelo :RFC:`4193`." -#: ../../library/ipaddress.rst:322 +#: ../../library/ipaddress.rst:347 msgid "" -"For addresses that appear to be IPv4 mapped addresses (starting with ``::" -"FFFF/96``), this property will report the embedded IPv4 address. For any " +"For addresses that appear to be IPv4 mapped addresses (starting with " +"``::FFFF/96``), this property will report the embedded IPv4 address. For any " "other address, this property will be ``None``." msgstr "" +"Para endereços que parecem ser endereços mapeados IPv4 (começando com " +"``::FFFF/96``), esta propriedade reportará o endereço IPv4 incorporado. Para " +"qualquer outro endereço, esta propriedade será ``None``." -#: ../../library/ipaddress.rst:328 +#: ../../library/ipaddress.rst:353 msgid "" "For scoped addresses as defined by :RFC:`4007`, this property identifies the " "particular zone of the address's scope that the address belongs to, as a " "string. When no scope zone is specified, this property will be ``None``." msgstr "" +"Para endereços com escopo definido pelo :RFC:`4007`, esta propriedade " +"identifica a zona específica do escopo do endereço à qual o endereço " +"pertence, como uma string. Quando nenhuma zona de escopo for especificada, " +"esta propriedade será ``None``." -#: ../../library/ipaddress.rst:334 +#: ../../library/ipaddress.rst:359 msgid "" "For addresses that appear to be 6to4 addresses (starting with " "``2002::/16``) as defined by :RFC:`3056`, this property will report the " "embedded IPv4 address. For any other address, this property will be " "``None``." msgstr "" +"Para endereços que parecem ser endereços 6to4 (começando com ``2002::/16``), " +"como definido pelo :RFC:`3056`, esta propriedade reportará o endereço IPv4 " +"incorporado. Para qualquer outro endereço, esta propriedade será ``None``." -#: ../../library/ipaddress.rst:341 +#: ../../library/ipaddress.rst:366 msgid "" "For addresses that appear to be Teredo addresses (starting with " "``2001::/32``) as defined by :RFC:`4380`, this property will report the " "embedded ``(server, client)`` IP address pair. For any other address, this " "property will be ``None``." msgstr "" +"Para endereços que parecem ser endereços Teredo (começando com " +"``2001::/32``), como definido pelo :RFC:`4380`, esta propriedade reportará o " +"par de endereços ``(server, client)`` incorporado. Para qualquer outro " +"endereço, esta propriedade será ``None``." -#: ../../library/ipaddress.rst:348 +#: ../../library/ipaddress.rst:373 msgid "" "Refer to the corresponding method documentation in :class:`IPv4Address`." msgstr "" +"Consulte a documentação do método correspondente em :class:`IPv4Address`." -#: ../../library/ipaddress.rst:354 +#: ../../library/ipaddress.rst:379 msgid "Conversion to Strings and Integers" -msgstr "" +msgstr "Conversão para strings e inteiros" -#: ../../library/ipaddress.rst:356 +#: ../../library/ipaddress.rst:381 msgid "" "To interoperate with networking interfaces such as the socket module, " "addresses must be converted to strings or integers. This is handled using " "the :func:`str` and :func:`int` builtin functions::" msgstr "" +"Para interoperar com interfaces de rede, como o módulo de soquete, os " +"endereços devem ser convertidos em strings ou inteiros. Isso é tratado " +"usando as funções internas :func:`str` e :func:`int`::" -#: ../../library/ipaddress.rst:369 +#: ../../library/ipaddress.rst:394 msgid "" "Note that IPv6 scoped addresses are converted to integers without scope zone " "ID." msgstr "" +"Observe que os endereços com escopo IPv6 são convertidos em números inteiros " +"sem ID de zona de escopo." -#: ../../library/ipaddress.rst:373 ../../library/ipaddress.rst:757 -#: ../../library/ipaddress.rst:893 +#: ../../library/ipaddress.rst:398 ../../library/ipaddress.rst:782 +#: ../../library/ipaddress.rst:918 msgid "Operators" msgstr "Operadores" -#: ../../library/ipaddress.rst:375 +#: ../../library/ipaddress.rst:400 msgid "" "Address objects support some operators. Unless stated otherwise, operators " "can only be applied between compatible objects (i.e. IPv4 with IPv4, IPv6 " "with IPv6)." msgstr "" +"Os objetos de endereço têm suporte a alguns operadores. Salvo indicação em " +"contrário, os operadores só podem ser aplicados entre objetos compatíveis " +"(ou seja, IPv4 com IPv4, IPv6 com IPv6)." -#: ../../library/ipaddress.rst:381 +#: ../../library/ipaddress.rst:406 msgid "Comparison operators" -msgstr "" +msgstr "Operadores de comparação" -#: ../../library/ipaddress.rst:383 +#: ../../library/ipaddress.rst:408 msgid "" "Address objects can be compared with the usual set of comparison operators. " "Same IPv6 addresses with different scope zone IDs are not equal. Some " "examples::" msgstr "" +"Os objetos de endereço podem ser comparados com o conjunto usual de " +"operadores de comparação. Os mesmos endereços IPv6 com IDs de zona de escopo " +"diferentes não são iguais. Alguns exemplos::" -#: ../../library/ipaddress.rst:400 +#: ../../library/ipaddress.rst:425 msgid "Arithmetic operators" msgstr "Operadores aritméticos" -#: ../../library/ipaddress.rst:402 +#: ../../library/ipaddress.rst:427 msgid "" "Integers can be added to or subtracted from address objects. Some examples::" msgstr "" +"Inteiros podem ser adicionados ou subtraídos de objetos de endereço. Alguns " +"exemplos::" -#: ../../library/ipaddress.rst:415 +#: ../../library/ipaddress.rst:440 msgid "IP Network definitions" -msgstr "" +msgstr "Definições de rede IP" -#: ../../library/ipaddress.rst:417 +#: ../../library/ipaddress.rst:442 msgid "" "The :class:`IPv4Network` and :class:`IPv6Network` objects provide a " "mechanism for defining and inspecting IP network definitions. A network " @@ -471,12 +654,19 @@ msgid "" "``255.255.255.0`` and the network address ``192.168.1.0`` consists of IP " "addresses in the inclusive range ``192.168.1.0`` to ``192.168.1.255``." msgstr "" +"Os objetos :class:`IPv4Network` e :class:`IPv6Network` fornecem um mecanismo " +"para definir e inspecionar definições de rede IP. Uma definição de rede " +"consiste em uma *máscara* e um *endereço de rede* e, como tal, define um " +"intervalo de endereços IP que é igual ao endereço de rede quando mascarado " +"(E binário) com a máscara. Por exemplo, uma definição de rede com a máscara " +"``255.255.255.0`` e o endereço de rede ``192.168.1.0`` consiste em endereços " +"IP no intervalo inclusivo ``192.168.1.0`` a ``192.168.1.255``." -#: ../../library/ipaddress.rst:427 +#: ../../library/ipaddress.rst:452 msgid "Prefix, net mask and host mask" -msgstr "" +msgstr "Prefixo, máscara de rede e máscara de host" -#: ../../library/ipaddress.rst:429 +#: ../../library/ipaddress.rst:454 msgid "" "There are several equivalent ways to specify IP network masks. A *prefix* " "``/`` is a notation that denotes how many high-order bits are set in " @@ -487,27 +677,45 @@ msgid "" "example in Cisco access control lists) to denote a network mask. The host " "mask equivalent to ``/24`` in IPv4 is ``0.0.0.255``." msgstr "" - -#: ../../library/ipaddress.rst:440 +"Existem várias maneiras equivalentes de especificar máscaras de rede IP. Um " +"*prefixo* ``/`` é uma notação que denota quantos bits de ordem " +"superior estão definidos na máscara de rede. Uma máscara de rede, ou " +"*netmask*, é um endereço IP com um certo número de bits de alta ordem " +"definidos. Assim o prefixo ``/24`` é equivalente à máscara de rede " +"``255.255.255.0`` em IPv4, ou ``ffff:ff00::`` em IPv6. Além disso, uma " +"máscara de host, ou *host mask*, é o inverso lógico de uma máscara de rede e " +"às vezes é usada (por exemplo, nas listas de controle de acesso da Cisco) " +"para denotar uma máscara de rede. A máscara de host equivalente a ``/24`` em " +"IPv4 é ``0.0.0.255``." + +#: ../../library/ipaddress.rst:465 msgid "Network objects" -msgstr "Objetos Network" +msgstr "Objetos de rede" -#: ../../library/ipaddress.rst:442 +#: ../../library/ipaddress.rst:467 msgid "" "All attributes implemented by address objects are implemented by network " "objects as well. In addition, network objects implement additional " -"attributes. All of these are common between :class:`IPv4Network` and :class:" -"`IPv6Network`, so to avoid duplication they are only documented for :class:" -"`IPv4Network`. Network objects are :term:`hashable`, so they can be used as " -"keys in dictionaries." +"attributes. All of these are common between :class:`IPv4Network` " +"and :class:`IPv6Network`, so to avoid duplication they are only documented " +"for :class:`IPv4Network`. Network objects are :term:`hashable`, so they can " +"be used as keys in dictionaries." msgstr "" +"Todos os atributos implementados por objetos de endereço também são " +"implementados por objetos de rede. Além disso, os objetos de rede " +"implementam atributos adicionais. Todos estes são comuns " +"entre :class:`IPv4Network` e :class:`IPv6Network`, portanto, para evitar " +"duplicação, eles são documentados apenas para :class:`IPv4Network`. Objetos " +"de rede são :term:`hasheáveis `, portanto podem ser usados como " +"chaves em dicionários." -#: ../../library/ipaddress.rst:451 +#: ../../library/ipaddress.rst:476 msgid "" "Construct an IPv4 network definition. *address* can be one of the following:" msgstr "" +"Constrói uma definição de rede IPv4. *address* pode ser um dos seguintes:" -#: ../../library/ipaddress.rst:453 +#: ../../library/ipaddress.rst:478 msgid "" "A string consisting of an IP address and an optional mask, separated by a " "slash (``/``). The IP address is the network address, and the mask can be " @@ -518,27 +726,43 @@ msgid "" "all-zero mask which is treated as a *net mask*. If no mask is provided, " "it's considered to be ``/32``." msgstr "" +"Uma string que consiste em um endereço IP e uma máscara opcional, separados " +"por uma barra (``/``). O endereço IP é o endereço de rede, e a máscara pode " +"ser um único número, o que significa que é um *prefixo*, ou uma " +"representação de string de um endereço IPv4. Se for o último, a máscara será " +"interpretada como uma *máscara de rede* se começar com um campo diferente de " +"zero, ou como uma *máscara de host* se começar com um campo zero, com a " +"única exceção de uma máscara totalmente zero que é tratada como uma *máscara " +"de rede*. Se nenhuma máscara for fornecida, será considerada ``/32``." -#: ../../library/ipaddress.rst:462 +#: ../../library/ipaddress.rst:487 msgid "" "For example, the following *address* specifications are equivalent: " "``192.168.1.0/24``, ``192.168.1.0/255.255.255.0`` and " "``192.168.1.0/0.0.0.255``." msgstr "" +"Por exemplo, as seguintes especificações de *address* são equivalentes: " +"``192.168.1.0/24``, ``192.168.1.0/255.255.255.0`` e " +"``192.168.1.0/0.0.0.255``." -#: ../../library/ipaddress.rst:466 +#: ../../library/ipaddress.rst:491 msgid "" "An integer that fits into 32 bits. This is equivalent to a single-address " "network, with the network address being *address* and the mask being ``/32``." msgstr "" +"Um número inteiro que cabe em 32 bits. Isto é equivalente a uma rede de " +"endereço único, com o endereço de rede sendo *address* e a máscara sendo ``/" +"32``." -#: ../../library/ipaddress.rst:470 +#: ../../library/ipaddress.rst:495 msgid "" "An integer packed into a :class:`bytes` object of length 4, big-endian. The " "interpretation is similar to an integer *address*." msgstr "" +"Um inteiro compactado em um objeto :class:`bytes` de comprimento 4, big-" +"endian. A interpretação é semelhante a um *address* no formato inteiro." -#: ../../library/ipaddress.rst:473 +#: ../../library/ipaddress.rst:498 msgid "" "A two-tuple of an address description and a netmask, where the address " "description is either a string, a 32-bits integer, a 4-bytes packed integer, " @@ -546,93 +770,125 @@ msgid "" "representing the prefix length (e.g. ``24``) or a string representing the " "prefix mask (e.g. ``255.255.255.0``)." msgstr "" +"Uma tupla de dois elementos de uma descrição de endereço e uma máscara de " +"rede, onde a descrição do endereço é uma string, um número inteiro de 32 " +"bits, um número inteiro compactado de 4 bytes ou um objeto IPv4Address " +"existente; e a máscara de rede é um número inteiro que representa o " +"comprimento do prefixo (por exemplo, ``24``) ou uma string que representa a " +"máscara do prefixo (por exemplo, ``255.255.255.0``)." -#: ../../library/ipaddress.rst:479 +#: ../../library/ipaddress.rst:504 msgid "" "An :exc:`AddressValueError` is raised if *address* is not a valid IPv4 " "address. A :exc:`NetmaskValueError` is raised if the mask is not valid for " "an IPv4 address." msgstr "" +"Uma exceção :exc:`AddressValueError` é levantada se *address* não for um " +"endereço IPv4 válido. Uma exceção :exc:`NetmaskValueError` é levantada se a " +"máscara não for válida para um endereço IPv4." -#: ../../library/ipaddress.rst:483 ../../library/ipaddress.rst:703 +#: ../../library/ipaddress.rst:508 ../../library/ipaddress.rst:728 msgid "" -"If *strict* is ``True`` and host bits are set in the supplied address, then :" -"exc:`ValueError` is raised. Otherwise, the host bits are masked out to " -"determine the appropriate network address." +"If *strict* is ``True`` and host bits are set in the supplied address, " +"then :exc:`ValueError` is raised. Otherwise, the host bits are masked out " +"to determine the appropriate network address." msgstr "" +"Se *strict* for ``True`` e os bits do host estiverem definidos no endereço " +"fornecido, então :exc:`ValueError` será levantada. Caso contrário, os bits " +"do host serão mascarados para determinar o endereço de rede apropriado." -#: ../../library/ipaddress.rst:487 +#: ../../library/ipaddress.rst:512 msgid "" "Unless stated otherwise, all network methods accepting other network/address " "objects will raise :exc:`TypeError` if the argument's IP version is " "incompatible to ``self``." msgstr "" +"Salvo indicação em contrário, todos os métodos de rede que aceitam outros " +"objetos rede/endereço irão levantar :exc:`TypeError` se a versão IP do " +"argumento for incompatível com ``self``." -#: ../../library/ipaddress.rst:493 ../../library/ipaddress.rst:709 +#: ../../library/ipaddress.rst:518 ../../library/ipaddress.rst:734 msgid "Added the two-tuple form for the *address* constructor parameter." msgstr "" +"Adicionado o formulário de tupla de 2 elementos para o parâmetro do " +"construtor *address*." -#: ../../library/ipaddress.rst:498 +#: ../../library/ipaddress.rst:523 msgid "" "Refer to the corresponding attribute documentation in :class:`IPv4Address`." msgstr "" +"Consulte a documentação do atributo correspondente em :class:`IPv4Address`." -#: ../../library/ipaddress.rst:508 +#: ../../library/ipaddress.rst:533 msgid "" "These attributes are true for the network as a whole if they are true for " "both the network address and the broadcast address." msgstr "" +"Esses atributos terão valor verdadeiro para a rede como um todo se forem " +"verdadeiros tanto para o endereço de rede quanto para o endereço de " +"broadcast." -#: ../../library/ipaddress.rst:513 +#: ../../library/ipaddress.rst:538 msgid "" "The network address for the network. The network address and the prefix " "length together uniquely define a network." msgstr "" +"O endereço de rede da rede. O endereço de rede e o comprimento do prefixo " +"juntos definem exclusivamente uma rede." -#: ../../library/ipaddress.rst:518 +#: ../../library/ipaddress.rst:543 msgid "" "The broadcast address for the network. Packets sent to the broadcast address " "should be received by every host on the network." msgstr "" +"O endereço de broadcast da rede. Os pacotes enviados para o endereço de " +"broadcast devem ser recebidos por todos os hosts da rede." -#: ../../library/ipaddress.rst:523 +#: ../../library/ipaddress.rst:548 msgid "The host mask, as an :class:`IPv4Address` object." -msgstr "" +msgstr "A máscara do host, como um objeto :class:`IPv4Address`." -#: ../../library/ipaddress.rst:527 +#: ../../library/ipaddress.rst:552 msgid "The net mask, as an :class:`IPv4Address` object." -msgstr "" +msgstr "A máscara de rede, como um objeto :class:`IPv4Address`." -#: ../../library/ipaddress.rst:533 +#: ../../library/ipaddress.rst:558 msgid "" "A string representation of the network, with the mask in prefix notation." msgstr "" +"Uma representação de string da rede, com a máscara em notação de prefixo." -#: ../../library/ipaddress.rst:536 +#: ../../library/ipaddress.rst:561 msgid "" "``with_prefixlen`` and ``compressed`` are always the same as " "``str(network)``. ``exploded`` uses the exploded form the network address." msgstr "" +"``with_prefixlen`` e ``compressed`` são sempre iguais a ``str(network)``. " +"``exploded`` usa a forma explodida do endereço de rede." -#: ../../library/ipaddress.rst:542 +#: ../../library/ipaddress.rst:567 msgid "" "A string representation of the network, with the mask in net mask notation." msgstr "" +"Uma representação em string da rede, com a máscara na notação de máscara de " +"rede." -#: ../../library/ipaddress.rst:547 +#: ../../library/ipaddress.rst:572 msgid "" "A string representation of the network, with the mask in host mask notation." msgstr "" +"Uma representação de string da rede, com a máscara na notação de máscara de " +"host." -#: ../../library/ipaddress.rst:552 +#: ../../library/ipaddress.rst:577 msgid "The total number of addresses in the network." msgstr "O número total de endereços na rede." -#: ../../library/ipaddress.rst:556 +#: ../../library/ipaddress.rst:581 msgid "Length of the network prefix, in bits." msgstr "Comprimento do prefixo de rede, em bits." -#: ../../library/ipaddress.rst:560 +#: ../../library/ipaddress.rst:585 msgid "" "Returns an iterator over the usable hosts in the network. The usable hosts " "are all the IP addresses that belong to the network, except the network " @@ -641,21 +897,33 @@ msgid "" "included in the result. Networks with a mask of 32 will return a list " "containing the single host address." msgstr "" +"Retorna um iterador sobre os hosts utilizáveis na rede. Os hosts utilizáveis " +"são todos os endereços IP que pertencem à rede, exceto o próprio endereço de " +"rede e o endereço de transmissão da rede. Para redes com comprimento de " +"máscara 31, o endereço de rede e o endereço de transmissão de rede também " +"são incluídos no resultado. Redes com máscara 32 retornarão uma lista " +"contendo o endereço de host único." -#: ../../library/ipaddress.rst:578 +#: ../../library/ipaddress.rst:603 msgid "" "``True`` if this network is partly or wholly contained in *other* or *other* " "is wholly contained in this network." msgstr "" +"``True`` se esta rede estiver parcial ou totalmente contida em *other* ou " +"*other* estiver totalmente contida nesta rede." -#: ../../library/ipaddress.rst:583 +#: ../../library/ipaddress.rst:608 msgid "" "Computes the network definitions resulting from removing the given *network* " -"from this one. Returns an iterator of network objects. Raises :exc:" -"`ValueError` if *network* is not completely contained in this network." +"from this one. Returns an iterator of network objects. " +"Raises :exc:`ValueError` if *network* is not completely contained in this " +"network." msgstr "" +"Calcula as definições de rede resultantes da remoção da *network* fornecida " +"desta. Retorna um iterador de objetos de rede. Levanta :exc:`ValueError` se " +"*network* não estiver completamente contida nesta rede." -#: ../../library/ipaddress.rst:596 +#: ../../library/ipaddress.rst:621 msgid "" "The subnets that join to make the current network definition, depending on " "the argument values. *prefixlen_diff* is the amount our prefix length " @@ -664,8 +932,14 @@ msgid "" "*prefixlen_diff* and *new_prefix* must be set. Returns an iterator of " "network objects." msgstr "" +"As sub-redes que se unem para criar a definição de rede atual, dependendo " +"dos valores dos argumentos. *prefixlen_diff* é o valor pelo qual o " +"comprimento do nosso prefixo deve ser aumentado. *new_prefix* é o novo " +"prefixo desejado das sub-redes; deve ser maior que nosso prefixo. Um, e " +"apenas um, de *prefixlen_diff* e *new_prefix* deve ser definido. Retorna um " +"iterador de objetos de rede." -#: ../../library/ipaddress.rst:621 +#: ../../library/ipaddress.rst:646 msgid "" "The supernet containing this network definition, depending on the argument " "values. *prefixlen_diff* is the amount our prefix length should be " @@ -673,76 +947,106 @@ msgid "" "must be smaller than our prefix. One and only one of *prefixlen_diff* and " "*new_prefix* must be set. Returns a single network object." msgstr "" +"As super-redes contendo esta definição de rede, dependendo dos valores dos " +"argumentos. *prefixlen_diff* é o valor pelo qual o comprimento do nosso " +"prefixo deve ser diminuída. *new_prefix* é o novo prefixo desejado da super-" +"rede; deve ser maior que nosso prefixo. Um, e apenas um, de *prefixlen_diff* " +"e *new_prefix* deve ser definido. Retorna um único objeto rede." -#: ../../library/ipaddress.rst:637 +#: ../../library/ipaddress.rst:662 msgid "Return ``True`` if this network is a subnet of *other*." -msgstr "Retorna ``True`` se esta rede é uma sub-rede de *outra*." +msgstr "Retorna ``True`` se esta rede é uma sub-rede de *other*." -#: ../../library/ipaddress.rst:648 +#: ../../library/ipaddress.rst:673 msgid "Return ``True`` if this network is a supernet of *other*." -msgstr "Retorna ``True`` se esta rede é uma super-rede de *outra*." +msgstr "Retorna ``True`` se esta rede é uma super-rede de *other*." -#: ../../library/ipaddress.rst:659 +#: ../../library/ipaddress.rst:684 msgid "" "Compare this network to *other*. In this comparison only the network " "addresses are considered; host bits aren't. Returns either ``-1``, ``0`` or " "``1``." msgstr "" +"Compara esta rede com *other*. Nesta comparação são considerados apenas os " +"endereços de rede; bits de host não são. Retorna ``-1``, ``0`` ou ``1``." -#: ../../library/ipaddress.rst:670 +#: ../../library/ipaddress.rst:695 msgid "" "It uses the same ordering and comparison algorithm as \"<\", \"==\", and " "\">\"" msgstr "" +"Ele usa o mesmo algoritmo de ordenação e comparação que \"<\", \"==\" e \">\"" -#: ../../library/ipaddress.rst:676 +#: ../../library/ipaddress.rst:701 msgid "" "Construct an IPv6 network definition. *address* can be one of the following:" msgstr "" +"Constrói uma definição de rede IPv6. *address* pode ser um dos seguintes:" -#: ../../library/ipaddress.rst:678 +#: ../../library/ipaddress.rst:703 msgid "" "A string consisting of an IP address and an optional prefix length, " "separated by a slash (``/``). The IP address is the network address, and " "the prefix length must be a single number, the *prefix*. If no prefix " "length is provided, it's considered to be ``/128``." msgstr "" +"Uma string que consiste em um endereço IP e um comprimento de prefixo " +"opcional, separados por uma barra (``/``). O endereço IP é o endereço de " +"rede e o comprimento do prefixo deve ser um único número, o *prefixo*. Se " +"nenhum comprimento de prefixo for fornecido, será considerado ``/128``." -#: ../../library/ipaddress.rst:683 +#: ../../library/ipaddress.rst:708 msgid "" -"Note that currently expanded netmasks are not supported. That means ``2001:" -"db00::0/24`` is a valid argument while ``2001:db00::0/ffff:ff00::`` is not." +"Note that currently expanded netmasks are not supported. That means " +"``2001:db00::0/24`` is a valid argument while ``2001:db00::0/ffff:ff00::`` " +"is not." msgstr "" +"Observe que as máscaras de rede expandidas atualmente não são suportadas. " +"Isso significa que ``2001:db00::0/24`` é um argumento válido enquanto " +"``2001:db00::0/ffff:ff00::`` não é." -#: ../../library/ipaddress.rst:687 +#: ../../library/ipaddress.rst:712 msgid "" "An integer that fits into 128 bits. This is equivalent to a single-address " -"network, with the network address being *address* and the mask being " -"``/128``." +"network, with the network address being *address* and the mask being ``/" +"128``." msgstr "" +"Um número inteiro que cabe em 128 bits. Isto é equivalente a uma rede de " +"endereço único, com o endereço de rede sendo *address* e a máscara sendo ``/" +"128``." -#: ../../library/ipaddress.rst:691 +#: ../../library/ipaddress.rst:716 msgid "" "An integer packed into a :class:`bytes` object of length 16, big-endian. The " "interpretation is similar to an integer *address*." msgstr "" +"Um inteiro compactado em um objeto :class:`bytes` de comprimento 16, big-" +"endian. A interpretação é semelhante a um *address* no formato inteiro." -#: ../../library/ipaddress.rst:694 +#: ../../library/ipaddress.rst:719 msgid "" "A two-tuple of an address description and a netmask, where the address " "description is either a string, a 128-bits integer, a 16-bytes packed " "integer, or an existing IPv6Address object; and the netmask is an integer " "representing the prefix length." msgstr "" +"Uma tupla de dois elementos de uma descrição de endereço e uma máscara de " +"rede, onde a descrição do endereço é uma string, um número inteiro de 128 " +"bits, um número inteiro compactado de 16 bytes ou um objeto IPv6Address " +"existente; e a máscara de rede é um número inteiro que representa o " +"comprimento do prefixo." -#: ../../library/ipaddress.rst:699 +#: ../../library/ipaddress.rst:724 msgid "" "An :exc:`AddressValueError` is raised if *address* is not a valid IPv6 " "address. A :exc:`NetmaskValueError` is raised if the mask is not valid for " "an IPv6 address." msgstr "" +"Uma exceção :exc:`AddressValueError` é levantada se *address* não for um " +"endereço IPv6 válido. Uma exceção :exc:`NetmaskValueError` é levantada se a " +"máscara não for válida para um endereço IPv6." -#: ../../library/ipaddress.rst:732 +#: ../../library/ipaddress.rst:757 msgid "" "Returns an iterator over the usable hosts in the network. The usable hosts " "are all the IP addresses that belong to the network, except the Subnet-" @@ -750,140 +1054,187 @@ msgid "" "Router anycast address is also included in the result. Networks with a mask " "of 128 will return a list containing the single host address." msgstr "" +"Retorna um iterador sobre os hosts utilizáveis na rede. Os hosts utilizáveis " +"são todos os endereços IP que pertencem à rede, exceto o próprio endereço de " +"anycast do roteador da sub-rede. Para redes com comprimento de máscara 127, " +"o endereço anycast do roteador da sub-rede de rede é também incluído no " +"resultado. Redes com máscara 128 retornarão uma lista contendo o endereço de " +"host único." -#: ../../library/ipaddress.rst:747 +#: ../../library/ipaddress.rst:772 msgid "" "Refer to the corresponding attribute documentation in :class:`IPv4Network`." msgstr "" +"Consulte a documentação do atributo correspondente em :class:`IPv4Network`." -#: ../../library/ipaddress.rst:752 +#: ../../library/ipaddress.rst:777 msgid "" "These attribute is true for the network as a whole if it is true for both " "the network address and the broadcast address." msgstr "" +"This atributo terá valor verdadeiro para a rede como um todo se for " +"verdadeiro tanto para o endereço de rede quanto para o endereço de broadcast." -#: ../../library/ipaddress.rst:759 +#: ../../library/ipaddress.rst:784 msgid "" "Network objects support some operators. Unless stated otherwise, operators " "can only be applied between compatible objects (i.e. IPv4 with IPv4, IPv6 " "with IPv6)." msgstr "" +"Os objetos de rede têm suporte a alguns operadores. Salvo indicação em " +"contrário, os operadores só podem ser aplicados entre objetos compatíveis " +"(ou seja, IPv4 com IPv4, IPv6 com IPv6)." -#: ../../library/ipaddress.rst:765 ../../library/ipaddress.rst:901 +#: ../../library/ipaddress.rst:790 ../../library/ipaddress.rst:926 msgid "Logical operators" -msgstr "" +msgstr "Operadores lógicos" -#: ../../library/ipaddress.rst:767 +#: ../../library/ipaddress.rst:792 msgid "" "Network objects can be compared with the usual set of logical operators. " "Network objects are ordered first by network address, then by net mask." msgstr "" +"Os objetos de rede podem ser comparados com o conjunto usual de operadores " +"lógicos. Os objetos de rede são ordenados primeiro por endereço de rede e " +"depois por máscara de rede." -#: ../../library/ipaddress.rst:772 +#: ../../library/ipaddress.rst:797 msgid "Iteration" msgstr "Iteração" -#: ../../library/ipaddress.rst:774 +#: ../../library/ipaddress.rst:799 msgid "" "Network objects can be iterated to list all the addresses belonging to the " "network. For iteration, *all* hosts are returned, including unusable hosts " "(for usable hosts, use the :meth:`~IPv4Network.hosts` method). An example::" msgstr "" +"Os objetos de rede podem ser iterados para listar todos os endereços " +"pertencentes à rede. Para iteração, *todos* os hosts são retornados, " +"incluindo os hosts inutilizáveis (para hosts utilizáveis, use o " +"método :meth:`~IPv4Network.hosts`). Um exemplo::" -#: ../../library/ipaddress.rst:801 +#: ../../library/ipaddress.rst:826 msgid "Networks as containers of addresses" msgstr "Redes como contêineres de endereços" -#: ../../library/ipaddress.rst:803 +#: ../../library/ipaddress.rst:828 msgid "Network objects can act as containers of addresses. Some examples::" msgstr "" +"Os objetos de rede podem atuar como contêineres de endereços. Alguns " +"exemplos::" -#: ../../library/ipaddress.rst:816 +#: ../../library/ipaddress.rst:841 msgid "Interface objects" -msgstr "" +msgstr "Objetos de interface" -#: ../../library/ipaddress.rst:818 +#: ../../library/ipaddress.rst:843 msgid "" "Interface objects are :term:`hashable`, so they can be used as keys in " "dictionaries." msgstr "" +"Os objetos de interface são :term:`hasheáveis `, portanto podem " +"ser usados como chaves em dicionários." -#: ../../library/ipaddress.rst:823 +#: ../../library/ipaddress.rst:848 msgid "" "Construct an IPv4 interface. The meaning of *address* is as in the " "constructor of :class:`IPv4Network`, except that arbitrary host addresses " "are always accepted." msgstr "" +"Constrói uma interface IPv4. O significado de *address* é o mesmo do " +"construtor de :class:`IPv4Network`, exceto que endereços de host arbitrários " +"são sempre aceitos." -#: ../../library/ipaddress.rst:827 +#: ../../library/ipaddress.rst:852 msgid "" ":class:`IPv4Interface` is a subclass of :class:`IPv4Address`, so it inherits " "all the attributes from that class. In addition, the following attributes " "are available:" msgstr "" +":class:`IPv4Interface` é uma subclasse de :class:`IPv4Address`, portanto " +"herda todos os atributos dessa classe. Além disso, os seguintes atributos " +"estão disponíveis:" -#: ../../library/ipaddress.rst:833 +#: ../../library/ipaddress.rst:858 msgid "The address (:class:`IPv4Address`) without network information." -msgstr "" +msgstr "O endereço (:class:`IPv4Address`) sem informações de rede." -#: ../../library/ipaddress.rst:841 +#: ../../library/ipaddress.rst:866 msgid "The network (:class:`IPv4Network`) this interface belongs to." -msgstr "" +msgstr "A rede (:class:`IPv4Network`) à qual esta interface pertence." -#: ../../library/ipaddress.rst:849 +#: ../../library/ipaddress.rst:874 msgid "" "A string representation of the interface with the mask in prefix notation." msgstr "" +"Uma representação de string da interface com a máscara em notação de prefixo." -#: ../../library/ipaddress.rst:857 +#: ../../library/ipaddress.rst:882 msgid "" "A string representation of the interface with the network as a net mask." msgstr "" +"Uma representação de string da interface com a rede como uma máscara de rede." -#: ../../library/ipaddress.rst:865 +#: ../../library/ipaddress.rst:890 msgid "" "A string representation of the interface with the network as a host mask." msgstr "" +"Uma representação de string da interface com a rede como uma máscara de host." -#: ../../library/ipaddress.rst:874 +#: ../../library/ipaddress.rst:899 msgid "" "Construct an IPv6 interface. The meaning of *address* is as in the " "constructor of :class:`IPv6Network`, except that arbitrary host addresses " "are always accepted." msgstr "" +"Constrói uma interface IPv6. O significado de *address* é o mesmo do " +"construtor de :class:`IPv6Network`, exceto que endereços de host arbitrários " +"são sempre aceitos." -#: ../../library/ipaddress.rst:878 +#: ../../library/ipaddress.rst:903 msgid "" ":class:`IPv6Interface` is a subclass of :class:`IPv6Address`, so it inherits " "all the attributes from that class. In addition, the following attributes " "are available:" msgstr "" +":class:`IPv6Interface` é uma subclasse de :class:`IPv6Address`, portanto " +"herda todos os atributos dessa classe. Além disso, os seguintes atributos " +"estão disponíveis:" -#: ../../library/ipaddress.rst:888 +#: ../../library/ipaddress.rst:913 msgid "" "Refer to the corresponding attribute documentation in :class:`IPv4Interface`." msgstr "" +"Consulte a documentação do atributo correspondente em :class:`IPv4Interface`." -#: ../../library/ipaddress.rst:895 +#: ../../library/ipaddress.rst:920 msgid "" "Interface objects support some operators. Unless stated otherwise, " "operators can only be applied between compatible objects (i.e. IPv4 with " "IPv4, IPv6 with IPv6)." msgstr "" +"Os objetos de interface têm suporte a alguns operadores. Salvo indicação em " +"contrário, os operadores só podem ser aplicados entre objetos compatíveis " +"(ou seja, IPv4 com IPv4, IPv6 com IPv6)." -#: ../../library/ipaddress.rst:903 +#: ../../library/ipaddress.rst:928 msgid "" "Interface objects can be compared with the usual set of logical operators." msgstr "" +"Os objetos de interface podem ser comparados com o conjunto usual de " +"operadores lógicos." -#: ../../library/ipaddress.rst:905 +#: ../../library/ipaddress.rst:930 msgid "" "For equality comparison (``==`` and ``!=``), both the IP address and network " "must be the same for the objects to be equal. An interface will not compare " "equal to any address or network object." msgstr "" +"Para comparação de igualdade (``==`` e ``!=``), tanto o endereço IP quanto a " +"rede devem ser iguais para que os objetos sejam iguais. Uma interface não " +"será igual a nenhum endereço ou objeto de rede." -#: ../../library/ipaddress.rst:909 +#: ../../library/ipaddress.rst:934 msgid "" "For ordering (``<``, ``>``, etc) the rules are different. Interface and " "address objects with the same IP version can be compared, and the address " @@ -891,82 +1242,115 @@ msgid "" "objects are first compared by their networks and, if those are the same, " "then by their IP addresses." msgstr "" +"Para ordenação (``<``, ``>``, etc) as regras são diferentes. Objetos de " +"interface e de endereço com a mesma versão IP podem ser comparados e os " +"objetos de endereço sempre serão ordenados antes dos objetos de interface. " +"Dois objetos de interface são primeiro comparados por suas redes e, se forem " +"iguais, então por seus endereços IP." -#: ../../library/ipaddress.rst:917 +#: ../../library/ipaddress.rst:942 msgid "Other Module Level Functions" -msgstr "" +msgstr "Outras funções de nível de módulo" -#: ../../library/ipaddress.rst:919 +#: ../../library/ipaddress.rst:944 msgid "The module also provides the following module level functions:" -msgstr "" +msgstr "O módulo também fornece as seguintes funções de nível de módulo:" -#: ../../library/ipaddress.rst:923 +#: ../../library/ipaddress.rst:948 msgid "" "Represent an address as 4 packed bytes in network (big-endian) order. " -"*address* is an integer representation of an IPv4 IP address. A :exc:" -"`ValueError` is raised if the integer is negative or too large to be an IPv4 " -"IP address." +"*address* is an integer representation of an IPv4 IP address. " +"A :exc:`ValueError` is raised if the integer is negative or too large to be " +"an IPv4 IP address." msgstr "" +"Representa um endereço como 4 bytes compactados em ordem de rede (big-" +"endian). *address* é uma representação inteira de um endereço IP IPv4. Uma " +"exceção :exc:`ValueError` é levantada se o número inteiro for negativo ou " +"muito grande para ser um endereço IP IPv4." -#: ../../library/ipaddress.rst:936 +#: ../../library/ipaddress.rst:961 msgid "" "Represent an address as 16 packed bytes in network (big-endian) order. " -"*address* is an integer representation of an IPv6 IP address. A :exc:" -"`ValueError` is raised if the integer is negative or too large to be an IPv6 " -"IP address." +"*address* is an integer representation of an IPv6 IP address. " +"A :exc:`ValueError` is raised if the integer is negative or too large to be " +"an IPv6 IP address." msgstr "" +"Representa um endereço como 16 bytes compactados em ordem de rede (big-" +"endian). *address* é uma representação inteira de um endereço IP IPv6. Uma " +"exceção :exc:`ValueError` é levantada se o número inteiro for negativo ou " +"muito grande para ser um endereço IP IPv6." -#: ../../library/ipaddress.rst:944 +#: ../../library/ipaddress.rst:969 msgid "" "Return an iterator of the summarized network range given the first and last " -"IP addresses. *first* is the first :class:`IPv4Address` or :class:" -"`IPv6Address` in the range and *last* is the last :class:`IPv4Address` or :" -"class:`IPv6Address` in the range. A :exc:`TypeError` is raised if *first* " -"or *last* are not IP addresses or are not of the same version. A :exc:" -"`ValueError` is raised if *last* is not greater than *first* or if *first* " -"address version is not 4 or 6." -msgstr "" - -#: ../../library/ipaddress.rst:960 -msgid "" -"Return an iterator of the collapsed :class:`IPv4Network` or :class:" -"`IPv6Network` objects. *addresses* is an iterator of :class:`IPv4Network` " -"or :class:`IPv6Network` objects. A :exc:`TypeError` is raised if " -"*addresses* contains mixed version objects." -msgstr "" - -#: ../../library/ipaddress.rst:973 +"IP addresses. *first* is the first :class:`IPv4Address` " +"or :class:`IPv6Address` in the range and *last* is the " +"last :class:`IPv4Address` or :class:`IPv6Address` in the range. " +"A :exc:`TypeError` is raised if *first* or *last* are not IP addresses or " +"are not of the same version. A :exc:`ValueError` is raised if *last* is not " +"greater than *first* or if *first* address version is not 4 or 6." +msgstr "" +"Retorna um iterador do intervalo de rede resumido, considerando o primeiro e " +"o último endereço IP. *first* é o primeiro :class:`IPv4Address` " +"ou :class:`IPv6Address` no intervalo e *last* é o " +"último :class:`IPv4Address` ou :class:`IPv6Address` no intervalo. Uma " +"exceção :exc:`TypeError` é levantada se *first* ou *last* não forem " +"endereços IP ou não forem da mesma versão. Uma exceção :exc:`ValueError` é " +"levantada se *last* não for maior que *first* ou se a versão do *first* " +"endereço não for 4 ou 6." + +#: ../../library/ipaddress.rst:985 +msgid "" +"Return an iterator of the collapsed :class:`IPv4Network` " +"or :class:`IPv6Network` objects. *addresses* is an iterator " +"of :class:`IPv4Network` or :class:`IPv6Network` objects. A :exc:`TypeError` " +"is raised if *addresses* contains mixed version objects." +msgstr "" +"Retorna um iterador dos objetos :class:`IPv4Network` ou :class:`IPv6Network` " +"recolhidos. *addresses* é um iterador de objetos :class:`IPv4Network` " +"ou :class:`IPv6Network`. Uma exceção :exc:`TypeError` é levantada se " +"*addresses* contiver objetos de versão mista." + +#: ../../library/ipaddress.rst:998 msgid "" "Return a key suitable for sorting between networks and addresses. Address " "and Network objects are not sortable by default; they're fundamentally " "different, so the expression::" msgstr "" +"Retorna uma chave adequada para ordenação entre redes e endereços. Os " +"objetos de endereço e de rede não são ordenáveis por padrão; eles são " +"fundamentalmente diferentes, então a expressão::" -#: ../../library/ipaddress.rst:979 +#: ../../library/ipaddress.rst:1004 msgid "" "doesn't make sense. There are some times however, where you may wish to " "have :mod:`ipaddress` sort these anyway. If you need to do this, you can " "use this function as the *key* argument to :func:`sorted()`." msgstr "" +"não faz sentido. Porém, há alguns momentos em que você pode desejar " +"que :mod:`ipaddress` os ordene de qualquer maneira. Se precisar fazer isso, " +"você pode usar esta função como argumento *key* para :func:`sorted()`." -#: ../../library/ipaddress.rst:983 +#: ../../library/ipaddress.rst:1008 msgid "*obj* is either a network or address object." -msgstr "" +msgstr "*obj* é um objeto de rede ou de endereço." -#: ../../library/ipaddress.rst:987 +#: ../../library/ipaddress.rst:1012 msgid "Custom Exceptions" -msgstr "" +msgstr "Exceções personalizadas" -#: ../../library/ipaddress.rst:989 +#: ../../library/ipaddress.rst:1014 msgid "" "To support more specific error reporting from class constructors, the module " "defines the following exceptions:" msgstr "" +"Para oferecer suporte a relatórios de erros mais específicos de construtores " +"de classe, o módulo define as seguintes exceções:" -#: ../../library/ipaddress.rst:994 +#: ../../library/ipaddress.rst:1019 msgid "Any value error related to the address." -msgstr "" +msgstr "Qualquer erro de valor relacionado ao endereço." -#: ../../library/ipaddress.rst:999 +#: ../../library/ipaddress.rst:1024 msgid "Any value error related to the net mask." -msgstr "" +msgstr "Qualquer erro de valor relacionado à máscara de rede." diff --git a/library/ipc.po b/library/ipc.po index 52efc180e..4e2733d91 100644 --- a/library/ipc.po +++ b/library/ipc.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -37,9 +37,9 @@ msgstr "" #: ../../library/ipc.rst:10 msgid "" -"Some modules only work for two processes that are on the same machine, e.g. :" -"mod:`signal` and :mod:`mmap`. Other modules support networking protocols " -"that two or more processes can use to communicate across machines." +"Some modules only work for two processes that are on the same machine, " +"e.g. :mod:`signal` and :mod:`mmap`. Other modules support networking " +"protocols that two or more processes can use to communicate across machines." msgstr "" "Alguns módulos funcionam apenas para dois processos que estão na mesma " "máquina como, por exemplo, :mod:`signal` e :mod:`mmap`. Outros módulos " diff --git a/library/itertools.po b/library/itertools.po index 2f3c5a920..a748ec52c 100644 --- a/library/itertools.po +++ b/library/itertools.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# And Past , 2021 -# Adorilson Bezerra , 2021 -# i17obot , 2021 -# Alexandre B A Villares, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,8 +35,8 @@ msgid "" "suitable for Python." msgstr "" "Esse módulo implementa diversos blocos de instruções com :term:`iteradores " -"`, inspirados por construções de APL, Haskell, e SML. Cada uma " -"foi adequadamente reformulada para Python." +"`, inspirados por construções de APL, Haskell, e SML. Cada uma foi " +"adequadamente reformulada para Python." #: ../../library/itertools.rst:24 msgid "" @@ -76,6 +69,11 @@ msgid "" "efficient dot-product: ``sum(starmap(operator.mul, zip(vec1, vec2, " "strict=True)))``." msgstr "" +"Essa ferramentas e suas equivalências embutidas também trabalham bem com as " +"funções de alta velocidade do módulo :mod:`operator` module. Por exemplo, o " +"operador de multiplicação pode ser mapeado em dois vetores para criar um " +"produto escalar eficiente: ``sum(starmap(operator.mul, zip(vec1, vec2, " +"strict=True)))``." #: ../../library/itertools.rst:39 msgid "**Infinite iterators:**" @@ -190,7 +188,7 @@ msgstr ":func:`chain.from_iterable`" #: ../../library/itertools.rst:56 ../../library/itertools.rst:62 msgid "iterable" -msgstr "iterable" +msgstr "iterável" #: ../../library/itertools.rst:56 msgid "``chain.from_iterable(['ABC', 'DEF']) --> A B C D E F``" @@ -445,14 +443,14 @@ msgid "" "If *func* is supplied, it should be a function of two arguments. Elements of " "the input *iterable* may be any type that can be accepted as arguments to " "*func*. (For example, with the default operation of addition, elements may " -"be any addable type including :class:`~decimal.Decimal` or :class:" -"`~fractions.Fraction`.)" +"be any addable type including :class:`~decimal.Decimal` " +"or :class:`~fractions.Fraction`.)" msgstr "" "Se *func* é fornecido, deve ser uma função de dois argumentos. Elementos da " "entrada *iterable* pode ser qualquer tipo que pode ser aceito como argumento " "para *func*. (Por exemplo, com o operador padrão de adição, esses elementos " -"pode ser qualquer tipo que possa ser somado, incluindo :class:`~decimal." -"Decimal` ou :class:`~fractions.Fraction`.)" +"pode ser qualquer tipo que possa ser somado, " +"incluindo :class:`~decimal.Decimal` ou :class:`~fractions.Fraction`.)" #: ../../library/itertools.rst:112 msgid "" @@ -475,13 +473,13 @@ msgstr "Aproximadamente equivalente a::" #: ../../library/itertools.rst:136 msgid "" -"There are a number of uses for the *func* argument. It can be set to :func:" -"`min` for a running minimum, :func:`max` for a running maximum, or :func:" -"`operator.mul` for a running product. Amortization tables can be built by " -"accumulating interest and applying payments:" +"There are a number of uses for the *func* argument. It can be set " +"to :func:`min` for a running minimum, :func:`max` for a running maximum, " +"or :func:`operator.mul` for a running product. Amortization tables can be " +"built by accumulating interest and applying payments:" msgstr "" -"Há uma serie de usos para o argumento *func*. Ele pode ser definido como :" -"func:`min` para um mínimo de execução, :func:`max` para um máximo de " +"Há uma serie de usos para o argumento *func*. Ele pode ser definido " +"como :func:`min` para um mínimo de execução, :func:`max` para um máximo de " "execução, ou :func:`operator.mul` para um produto de execução. Tabelas de " "amortização podem ser construídas pela acumulação de juros e aplicação de " "pagamentos:" @@ -519,8 +517,8 @@ msgid "" "Alternate constructor for :func:`chain`. Gets chained inputs from a single " "iterable argument that is evaluated lazily. Roughly equivalent to::" msgstr "" -"Construtor alternativo para :func:`chain`. Obtém entradas encadeadas a " -"partir de um único argumento iterável que avaliado preguiçosamente. " +"Construtor alternativo para :func:`chain`. Obtém entradas encadeadas a " +"partir de um único argumento iterável que avaliado preguiçosamente. " "Aproximadamente equivalente a::" #: ../../library/itertools.rst:193 @@ -551,9 +549,9 @@ msgstr "" #: ../../library/itertools.rst:225 msgid "" -"The code for :func:`combinations` can be also expressed as a subsequence of :" -"func:`permutations` after filtering entries where the elements are not in " -"sorted order (according to their position in the input pool)::" +"The code for :func:`combinations` can be also expressed as a subsequence " +"of :func:`permutations` after filtering entries where the elements are not " +"in sorted order (according to their position in the input pool)::" msgstr "" "O código para :func:`combinations` também pode ser expresso como uma " "subsequência de :func:`permutations` depois de filtradas as entradas onde os " @@ -679,6 +677,11 @@ msgid "" "returns the element unchanged. Generally, the iterable needs to already be " "sorted on the same key function." msgstr "" +"Cria um iterador que retorna chaves e grupos consecutivos do *iterable*. A " +"*key* é uma função que calcula um valor-chave para cada elemento. Se não for " +"especificado ou for ``None``, *key* assume como padrão uma função de " +"identidade e retorna o elemento inalterado. Geralmente, o iterável precisa " +"já estar ordenado na mesma função chave." #: ../../library/itertools.rst:382 msgid "" @@ -688,14 +691,24 @@ msgid "" "the same key function). That behavior differs from SQL's GROUP BY which " "aggregates common elements regardless of their input order." msgstr "" +"O funcionamento de :func:`groupby` é semelhante ao filtro ``uniq`` no Unix. " +"Ele gera uma quebra ou um novo grupo sempre que o valor da função da tecla " +"muda (razão pela qual geralmente é necessário ordenar os dados usando a " +"mesma função da tecla). Esse comportamento difere do GROUP BY do SQL, que " +"agrega elementos comuns independentemente da ordem de entrada." #: ../../library/itertools.rst:388 msgid "" "The returned group is itself an iterator that shares the underlying iterable " -"with :func:`groupby`. Because the source is shared, when the :func:" -"`groupby` object is advanced, the previous group is no longer visible. So, " -"if that data is needed later, it should be stored as a list::" +"with :func:`groupby`. Because the source is shared, when " +"the :func:`groupby` object is advanced, the previous group is no longer " +"visible. So, if that data is needed later, it should be stored as a list::" msgstr "" +"O grupo retornado é, ele próprio, um iterador que compartilha o iterável " +"subjacente com :func:`groupby`. Como a origem é compartilhada, quando o " +"objeto :func:`groupby` avança, o grupo anterior não fica mais visível. " +"Portanto, se esses dados forem necessários posteriormente, eles devem ser " +"armazenados como uma lista:" #: ../../library/itertools.rst:400 msgid ":func:`groupby` is roughly equivalent to::" @@ -763,9 +776,9 @@ msgstr "" #: ../../library/itertools.rst:542 msgid "" -"The code for :func:`permutations` can be also expressed as a subsequence of :" -"func:`product`, filtered to exclude entries with repeated elements (those " -"from the same position in the input pool)::" +"The code for :func:`permutations` can be also expressed as a subsequence " +"of :func:`product`, filtered to exclude entries with repeated elements " +"(those from the same position in the input pool)::" msgstr "" "O código para :func:`permutations` também pode ser expresso como uma " "subsequência de :func:`product` depois de filtradas as entradas com " @@ -889,8 +902,8 @@ msgstr "" msgid "" "This itertool may require significant auxiliary storage (depending on how " "much temporary data needs to be stored). In general, if one iterator uses " -"most or all of the data before another iterator starts, it is faster to use :" -"func:`list` instead of :func:`tee`." +"most or all of the data before another iterator starts, it is faster to " +"use :func:`list` instead of :func:`tee`." msgstr "" #: ../../library/itertools.rst:684 @@ -903,15 +916,15 @@ msgstr "" #: ../../library/itertools.rst:708 msgid "" -"If one of the iterables is potentially infinite, then the :func:" -"`zip_longest` function should be wrapped with something that limits the " -"number of calls (for example :func:`islice` or :func:`takewhile`). If not " -"specified, *fillvalue* defaults to ``None``." +"If one of the iterables is potentially infinite, then " +"the :func:`zip_longest` function should be wrapped with something that " +"limits the number of calls (for example :func:`islice` " +"or :func:`takewhile`). If not specified, *fillvalue* defaults to ``None``." msgstr "" -"Se um dos iteráveis é potencialmente infinito, então a função :func:" -"`zip_longest` deve ser embrulhada por algo que limite o número de chamadas " -"(por exemplo :func:`islice` ou :func:`takewhile`). Se não especificado, " -"*fillvalue* tem o valor padrão ``None``." +"Se um dos iteráveis é potencialmente infinito, então a " +"função :func:`zip_longest` deve ser embrulhada por algo que limite o número " +"de chamadas (por exemplo :func:`islice` ou :func:`takewhile`). Se não " +"especificado, *fillvalue* tem o valor padrão ``None``." #: ../../library/itertools.rst:717 msgid "Itertools Recipes" @@ -932,9 +945,9 @@ msgid "" "``chain.from_iterable`` is related to the concept of flattening. The " "recipes also give ideas about ways that the tools can be combined — for " "example, how ``compress()`` and ``range()`` can work together. The recipes " -"also show patterns for using itertools with the :mod:`operator` and :mod:" -"`collections` modules as well as with the built-in itertools such as " -"``map()``, ``filter()``, ``reversed()``, and ``enumerate()``." +"also show patterns for using itertools with the :mod:`operator` " +"and :mod:`collections` modules as well as with the built-in itertools such " +"as ``map()``, ``filter()``, ``reversed()``, and ``enumerate()``." msgstr "" "O principal propósito das recitas itertools é educacional. As receitas " "mostram diversas maneiras de pensar sobre ferramentas individuais — por " @@ -953,10 +966,6 @@ msgid "" "as recipes. Currently, the ``iter_index()`` recipe is being tested to see " "whether it proves its worth." msgstr "" -"Um propósito secundário das receitas é servir de incubadora. As funções " -"itertools ``accumulate()``, ``compress()``, e ``pairwise()`` começaram como " -"receitas. Atualmente, a recita ``iter_index()`` está sendo testada para " -"observarmos se prova seu valor." #: ../../library/itertools.rst:736 msgid "" @@ -975,8 +984,8 @@ msgid "" "time rather than bringing the whole iterable into memory all at once. Code " "volume is kept small by linking the tools together in a functional style " "which helps eliminate temporary variables. High speed is retained by " -"preferring \"vectorized\" building blocks over the use of for-loops and :" -"term:`generator`\\s which incur interpreter overhead." +"preferring \"vectorized\" building blocks over the use of for-loops " +"and :term:`generator`\\s which incur interpreter overhead." msgstr "" "Muitas das receitas oferecem o mesmo alto desempenho que o conjunto de " "ferramentas subjacente. O desempenho superior no uso de memória é mantido " @@ -984,5 +993,5 @@ msgstr "" "para a memória de uma só vez. O volume de código é mantido pequeno " "encadeando as ferramentas em um estilo funcional que ajuda a eliminar " "variáveis temporárias. A alta velocidade é mantida pelo uso preferencia de " -"elementos construtivos \"vetorizados\" em vez do uso de laços for e :term:" -"`generator`\\s que incorrem em sobrecarga do interpretador." +"elementos construtivos \"vetorizados\" em vez do uso de laços for " +"e :term:`generator`\\s que incorrem em sobrecarga do interpretador." diff --git a/library/json.po b/library/json.po index 1c383ec51..2fa228798 100644 --- a/library/json.po +++ b/library/json.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Ricardo Cappellano , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# felipe caridade , 2021 -# i17obot , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,19 +33,19 @@ msgstr "**Código-fonte:** :source:`Lib/json/__init__.py`" #: ../../library/json.rst:14 msgid "" -"`JSON (JavaScript Object Notation) `_, specified by :rfc:" -"`7159` (which obsoletes :rfc:`4627`) and by `ECMA-404 `_, is a " -"lightweight data interchange format inspired by `JavaScript `_ object literal syntax (although it is not a " -"strict subset of JavaScript [#rfc-errata]_ )." +"`JSON (JavaScript Object Notation) `_, specified " +"by :rfc:`7159` (which obsoletes :rfc:`4627`) and by `ECMA-404 `_, is a lightweight data interchange format inspired by `JavaScript " +"`_ object literal syntax (although " +"it is not a strict subset of JavaScript [#rfc-errata]_ )." msgstr "" -"`JSON (JavaScript Object Notation) `_, especificado pela :" -"rfc:`7159` (que tornou a :rfc:`4627` obsoleta) e pelo `ECMA-404 `_, é " -"um formato leve de troca de dados inspirado pela sintaxe de objeto " -"`JavaScript `_ (embora não seja um " -"subconjunto estrito de JavaScript [#rfc-errata]_ )." +"`JSON (JavaScript Object Notation) `_, especificado " +"pela :rfc:`7159` (que tornou a :rfc:`4627` obsoleta) e pelo `ECMA-404 " +"`_, é um formato leve de troca de dados inspirado pela sintaxe de " +"objeto `JavaScript `_ (embora não " +"seja um subconjunto estrito de JavaScript [#rfc-errata]_ )." #: ../../library/json.rst:22 msgid "" @@ -67,11 +60,11 @@ msgstr "" #: ../../library/json.rst:26 msgid "" -":mod:`json` exposes an API familiar to users of the standard library :mod:" -"`marshal` and :mod:`pickle` modules." +":mod:`json` exposes an API familiar to users of the standard " +"library :mod:`marshal` and :mod:`pickle` modules." msgstr "" -":mod:`json` expõe uma API familiar para pessoas usuárias dos módulos :mod:" -"`marshal` e :mod:`pickle` da biblioteca padrão." +":mod:`json` expõe uma API familiar para pessoas usuárias dos " +"módulos :mod:`marshal` e :mod:`pickle` da biblioteca padrão." #: ../../library/json.rst:29 msgid "Encoding basic Python object hierarchies::" @@ -148,17 +141,18 @@ msgid "" "``None``) will be skipped instead of raising a :exc:`TypeError`." msgstr "" "Se *skipkeys* for verdadeiro (padrão: ``False``), as chaves de dicionário " -"que não forem de um tipo básico (:class:`str`, :class:`int`, :class:" -"`float`, :class:`bool`, ``None``) serão ignoradas ao invés de levantar uma " -"exceção :exc:`TypeError`." +"que não forem de um tipo básico " +"(:class:`str`, :class:`int`, :class:`float`, :class:`bool`, ``None``) serão " +"ignoradas ao invés de levantar uma exceção :exc:`TypeError`." #: ../../library/json.rst:150 msgid "" -"The :mod:`json` module always produces :class:`str` objects, not :class:" -"`bytes` objects. Therefore, ``fp.write()`` must support :class:`str` input." +"The :mod:`json` module always produces :class:`str` objects, " +"not :class:`bytes` objects. Therefore, ``fp.write()`` must " +"support :class:`str` input." msgstr "" -"O módulo :mod:`json` sempre produz objetos :class:`str`, e não objetos :" -"class:`bytes`. Dessa forma, ``fp.write()`` precisa ter suporte para " +"O módulo :mod:`json` sempre produz objetos :class:`str`, e não " +"objetos :class:`bytes`. Dessa forma, ``fp.write()`` precisa ter suporte para " "entradas :class:`str`." #: ../../library/json.rst:154 ../../library/json.rst:433 @@ -183,17 +177,17 @@ msgstr "" #: ../../library/json.rst:162 msgid "" -"If *allow_nan* is false (default: ``True``), then it will be a :exc:" -"`ValueError` to serialize out of range :class:`float` values (``nan``, " -"``inf``, ``-inf``) in strict compliance of the JSON specification. If " -"*allow_nan* is true, their JavaScript equivalents (``NaN``, ``Infinity``, ``-" -"Infinity``) will be used." +"If *allow_nan* is false (default: ``True``), then it will be " +"a :exc:`ValueError` to serialize out of range :class:`float` values " +"(``nan``, ``inf``, ``-inf``) in strict compliance of the JSON specification. " +"If *allow_nan* is true, their JavaScript equivalents (``NaN``, ``Infinity``, " +"``-Infinity``) will be used." msgstr "" -"Se *allow_nan* for falso (padrão: ``True``), serializar valores :class:" -"`float` fora do intervalo (``nan``, ``inf``, ``-inf``) em estrita " -"conformidade com a especificação JSON levantará uma exceção :exc:" -"`ValueError`. Se *allow_nan* for verdadeiro, seus equivalentes JavaScript " -"(``NaN``, ``Infinity``, ``-Infinity``) serão usados." +"Se *allow_nan* for falso (padrão: ``True``), serializar " +"valores :class:`float` fora do intervalo (``nan``, ``inf``, ``-inf``) em " +"estrita conformidade com a especificação JSON levantará uma " +"exceção :exc:`ValueError`. Se *allow_nan* for verdadeiro, seus equivalentes " +"JavaScript (``NaN``, ``Infinity``, ``-Infinity``) serão usados." #: ../../library/json.rst:168 ../../library/json.rst:452 msgid "" @@ -236,8 +230,8 @@ msgstr "Usa ``(',', ': ')`` como padrão se *indent* não for ``None``." msgid "" "If specified, *default* should be a function that gets called for objects " "that can't otherwise be serialized. It should return a JSON encodable " -"version of the object or raise a :exc:`TypeError`. If not specified, :exc:" -"`TypeError` is raised." +"version of the object or raise a :exc:`TypeError`. If not " +"specified, :exc:`TypeError` is raised." msgstr "" "Se especificado, *default* deve ser uma função para ser chamada para objetos " "que não podem ser serializados de outra forma. Deve retornar uma versão " @@ -254,14 +248,14 @@ msgstr "" #: ../../library/json.rst:194 msgid "" -"To use a custom :class:`JSONEncoder` subclass (e.g. one that overrides the :" -"meth:`default` method to serialize additional types), specify it with the " -"*cls* kwarg; otherwise :class:`JSONEncoder` is used." +"To use a custom :class:`JSONEncoder` subclass (e.g. one that overrides " +"the :meth:`~JSONEncoder.default` method to serialize additional types), " +"specify it with the *cls* kwarg; otherwise :class:`JSONEncoder` is used." msgstr "" "Para usar uma subclasse de :class:`JSONEncoder` personalizada (por exemplo, " -"uma que substitui o método :meth:`default` para serializar tipos " -"adicionais), especifique isso com argumento *cls*; caso contrário é usado :" -"class:`JSONEncoder`." +"uma que substitui o método :meth:`~JSONEncoder.default` para serializar " +"tipos adicionais), especifique isso com argumento *cls*; caso contrário é " +"usado :class:`JSONEncoder`." #: ../../library/json.rst:198 ../../library/json.rst:277 msgid "" @@ -283,12 +277,12 @@ msgstr "" #: ../../library/json.rst:212 msgid "" "Serialize *obj* to a JSON formatted :class:`str` using this :ref:`conversion " -"table `. The arguments have the same meaning as in :func:" -"`dump`." +"table `. The arguments have the same meaning as " +"in :func:`dump`." msgstr "" -"Serializa *obj* para uma :class:`str` com formato JSON usando essa :ref:" -"`tabela de conversão `. Os argumentos têm o mesmo " -"significado que na função :func:`dump`." +"Serializa *obj* para uma :class:`str` com formato JSON usando " +"essa :ref:`tabela de conversão `. Os argumentos têm o " +"mesmo significado que na função :func:`dump`." #: ../../library/json.rst:218 msgid "" @@ -306,9 +300,9 @@ msgstr "" #: ../../library/json.rst:227 msgid "" -"Deserialize *fp* (a ``.read()``-supporting :term:`text file` or :term:" -"`binary file` containing a JSON document) to a Python object using this :ref:" -"`conversion table `." +"Deserialize *fp* (a ``.read()``-supporting :term:`text file` " +"or :term:`binary file` containing a JSON document) to a Python object using " +"this :ref:`conversion table `." msgstr "" "Desserializa *fp* (um :term:`arquivo texto ` ou :term:`arquivo " "binário ` com suporte a ``.read()`` contendo um documento JSON) " @@ -320,8 +314,8 @@ msgid "" "*object_hook* is an optional function that will be called with the result of " "any object literal decoded (a :class:`dict`). The return value of " "*object_hook* will be used instead of the :class:`dict`. This feature can " -"be used to implement custom decoders (e.g. `JSON-RPC `_ class hinting)." +"be used to implement custom decoders (e.g. `JSON-RPC `_ class hinting)." msgstr "" "*object_hook* é uma função opcional que será chamada com o resultado de " "qualquer objeto literal decodificado (um :class:`dict`). O valor de retorno " @@ -333,16 +327,16 @@ msgstr "" msgid "" "*object_pairs_hook* is an optional function that will be called with the " "result of any object literal decoded with an ordered list of pairs. The " -"return value of *object_pairs_hook* will be used instead of the :class:" -"`dict`. This feature can be used to implement custom decoders. If " -"*object_hook* is also defined, the *object_pairs_hook* takes priority." +"return value of *object_pairs_hook* will be used instead of " +"the :class:`dict`. This feature can be used to implement custom decoders. " +"If *object_hook* is also defined, the *object_pairs_hook* takes priority." msgstr "" "*object_pairs_hook* é uma função opcional que será chamada com o resultado " "de qualquer objeto literal decodificado com uma lista ordenada de pares. O " -"valor de retorno de *object_pairs_hook* será usado no lugar do :class:" -"`dict`. Este recurso pode ser usado para implementar decodificadores " -"personalizados. Se *object_pairs_hook* também for definido, o " -"*object_pairs_hook* terá prioridade." +"valor de retorno de *object_pairs_hook* será usado no lugar " +"do :class:`dict`. Este recurso pode ser usado para implementar " +"decodificadores personalizados. Se *object_pairs_hook* também for definido, " +"o *object_pairs_hook* terá prioridade." #: ../../library/json.rst:243 ../../library/json.rst:348 msgid "Added support for *object_pairs_hook*." @@ -352,8 +346,8 @@ msgstr "Adicionado suporte para *object_pairs_hook*." msgid "" "*parse_float*, if specified, will be called with the string of every JSON " "float to be decoded. By default, this is equivalent to ``float(num_str)``. " -"This can be used to use another datatype or parser for JSON floats (e.g. :" -"class:`decimal.Decimal`)." +"This can be used to use another datatype or parser for JSON floats " +"(e.g. :class:`decimal.Decimal`)." msgstr "" "*parse_float*, se especificado, será chamada com a string de cada ponto " "flutuante JSON para ser decodificado. Por padrão, é equivalente a " @@ -364,8 +358,8 @@ msgstr "" msgid "" "*parse_int*, if specified, will be called with the string of every JSON int " "to be decoded. By default, this is equivalent to ``int(num_str)``. This " -"can be used to use another datatype or parser for JSON integers (e.g. :class:" -"`float`)." +"can be used to use another datatype or parser for JSON integers " +"(e.g. :class:`float`)." msgstr "" "*parse_int*, se especificado, será chamada com a string de cada inteiro JSON " "para ser decodificado. Por padrão, é equivalente a ``int(num_str)``. Pode " @@ -404,15 +398,15 @@ msgid "" "will be passed to the constructor of the class." msgstr "" "Para usar uma subclasse de :class:`JSONDecoder` personalizada, especifique " -"isto com o argumento kwarg ``cls``; caso contrário será usada :class:" -"`JSONDecoder`. Argumentos nomeados adicionais poderão ser passados para o " -"construtor da classe." +"isto com o argumento kwarg ``cls``; caso contrário será " +"usada :class:`JSONDecoder`. Argumentos nomeados adicionais poderão ser " +"passados para o construtor da classe." #: ../../library/json.rst:274 ../../library/json.rst:292 #: ../../library/json.rst:371 msgid "" -"If the data being deserialized is not a valid JSON document, a :exc:" -"`JSONDecodeError` will be raised." +"If the data being deserialized is not a valid JSON document, " +"a :exc:`JSONDecodeError` will be raised." msgstr "" "Se os dados a serem desserializados não forem um documento JSON válido, será " "levantada uma exceção :exc:`JSONDecodeError`." @@ -428,12 +422,12 @@ msgstr "" #: ../../library/json.rst:286 msgid "" "Deserialize *s* (a :class:`str`, :class:`bytes` or :class:`bytearray` " -"instance containing a JSON document) to a Python object using this :ref:" -"`conversion table `." +"instance containing a JSON document) to a Python object using " +"this :ref:`conversion table `." msgstr "" -"Desserializa *s* (uma instancia de :class:`str`, :class:`bytes` ou :class:" -"`bytearray` contendo um documento JSON) para um objeto Python essa :ref:" -"`tabela de conversão `." +"Desserializa *s* (uma instancia de :class:`str`, :class:`bytes` " +"ou :class:`bytearray` contendo um documento JSON) para um objeto Python " +"essa :ref:`tabela de conversão `." #: ../../library/json.rst:290 msgid "The other arguments have the same meaning as in :func:`load`." @@ -474,7 +468,7 @@ msgstr "Python" #: ../../library/json.rst:317 ../../library/json.rst:406 msgid "object" -msgstr "object" +msgstr "objeto" #: ../../library/json.rst:317 ../../library/json.rst:406 msgid "dict" @@ -498,7 +492,7 @@ msgstr "str" #: ../../library/json.rst:323 msgid "number (int)" -msgstr "number (int)" +msgstr "número (inteiro)" #: ../../library/json.rst:323 msgid "int" @@ -506,11 +500,11 @@ msgstr "int" #: ../../library/json.rst:325 msgid "number (real)" -msgstr "number (real)" +msgstr "número (real)" #: ../../library/json.rst:325 msgid "float" -msgstr "float" +msgstr "ponto flutuante" #: ../../library/json.rst:327 ../../library/json.rst:414 msgid "true" @@ -547,15 +541,15 @@ msgstr "" #: ../../library/json.rst:337 msgid "" "*object_hook*, if specified, will be called with the result of every JSON " -"object decoded and its return value will be used in place of the given :" -"class:`dict`. This can be used to provide custom deserializations (e.g. to " -"support `JSON-RPC `_ class hinting)." +"object decoded and its return value will be used in place of the " +"given :class:`dict`. This can be used to provide custom deserializations " +"(e.g. to support `JSON-RPC `_ class hinting)." msgstr "" "*object_hook*, se especificado, será chamado com o resultado de cada objeto " -"JSON decodificado e seu valor de retorno será usado no lugar do dado :class:" -"`dict`. Isso pode ser usado para fornecer desserializações personalizadas " -"(por exemplo, para oferecer suporte a dicas de classe `JSON-RPC `_)." +"JSON decodificado e seu valor de retorno será usado no lugar do " +"dado :class:`dict`. Isso pode ser usado para fornecer desserializações " +"personalizadas (por exemplo, para oferecer suporte a dicas de classe `JSON-" +"RPC `_)." #: ../../library/json.rst:342 msgid "" @@ -641,7 +635,7 @@ msgstr "int, float e Enums derivados de int e float" #: ../../library/json.rst:412 msgid "number" -msgstr "number" +msgstr "número" #: ../../library/json.rst:421 msgid "Added support for int- and float-derived Enum classes." @@ -649,26 +643,28 @@ msgstr "Adicionado suporte para classes Enum derivadas de int e float." #: ../../library/json.rst:424 msgid "" -"To extend this to recognize other objects, subclass and implement a :meth:" -"`default` method with another method that returns a serializable object for " -"``o`` if possible, otherwise it should call the superclass implementation " -"(to raise :exc:`TypeError`)." +"To extend this to recognize other objects, subclass and implement " +"a :meth:`~JSONEncoder.default` method with another method that returns a " +"serializable object for ``o`` if possible, otherwise it should call the " +"superclass implementation (to raise :exc:`TypeError`)." msgstr "" "Para estender isso para reconhecer outros objetos, crie uma subclasse e " -"implemente o método :meth:`default` com outro método que retorne um objeto " -"serializável para ``o`` se possível, caso contrário deveria chamar a " -"implementação da superclasse (para levantar :exc:`TypeError`)." +"implemente o método :meth:`~JSONEncoder.default` com outro método que " +"retorne um objeto serializável para ``o`` se possível, caso contrário " +"deveria chamar a implementação da superclasse (para " +"levantar :exc:`TypeError`)." #: ../../library/json.rst:429 msgid "" "If *skipkeys* is false (the default), a :exc:`TypeError` will be raised when " -"trying to encode keys that are not :class:`str`, :class:`int`, :class:" -"`float` or ``None``. If *skipkeys* is true, such items are simply skipped." +"trying to encode keys that are " +"not :class:`str`, :class:`int`, :class:`float` or ``None``. If *skipkeys* " +"is true, such items are simply skipped." msgstr "" "Se *skipkeys* é falso (o padrão), então sluma :exc:`TypeError` será " -"levantada ao tentar codificar as chaves que não são :class:`str`, :class:" -"`int`, :class:`float` ou ``None``. Se *skipkeys* é verdadeiro, esses itens " -"são simplesmente pulados." +"levantada ao tentar codificar as chaves que não " +"são :class:`str`, :class:`int`, :class:`float` ou ``None``. Se *skipkeys* é " +"verdadeiro, esses itens são simplesmente pulados." #: ../../library/json.rst:437 msgid "" @@ -710,20 +706,20 @@ msgstr "" #: ../../library/json.rst:481 msgid "" "Implement this method in a subclass such that it returns a serializable " -"object for *o*, or calls the base implementation (to raise a :exc:" -"`TypeError`)." +"object for *o*, or calls the base implementation (to raise " +"a :exc:`TypeError`)." msgstr "" "Implemente este método em uma subclasse que retorna um objeto serializável " -"para *o* ou que chame a implementação base (para levantar uma :exc:" -"`TypeError`)." +"para *o* ou que chame a implementação base (para levantar " +"uma :exc:`TypeError`)." #: ../../library/json.rst:485 msgid "" -"For example, to support arbitrary iterators, you could implement :meth:" -"`default` like this::" +"For example, to support arbitrary iterators, you could " +"implement :meth:`~JSONEncoder.default` like this::" msgstr "" "Por exemplo, para suporte a iteradores arbitrários, você poderia " -"implementar :meth:`default` dessa forma::" +"implementar :meth:`~JSONEncoder.default` dessa forma::" #: ../../library/json.rst:501 msgid "" @@ -775,18 +771,18 @@ msgstr "Conformidade e interoperabilidade entre padrões" #: ../../library/json.rst:550 msgid "" -"The JSON format is specified by :rfc:`7159` and by `ECMA-404 `_. " -"This section details this module's level of compliance with the RFC. For " -"simplicity, :class:`JSONEncoder` and :class:`JSONDecoder` subclasses, and " -"parameters other than those explicitly mentioned, are not considered." +"The JSON format is specified by :rfc:`7159` and by `ECMA-404 `_. This section details this module's level of compliance with the RFC. " +"For simplicity, :class:`JSONEncoder` and :class:`JSONDecoder` subclasses, " +"and parameters other than those explicitly mentioned, are not considered." msgstr "" -"O formato JSON é especificado pela :rfc:`7159` e por `ECMA-404 `_. " -"Esta seção detalha o nível de conformidade deste módulo com a RFC. Para " -"simplificar, as subclasses :class:`JSONEncoder` e :class:`JSONDecoder`, e " -"outros parâmetros além daqueles explicitamente mencionados, não são " -"considerados." +"O formato JSON é especificado pela :rfc:`7159` e por `ECMA-404 `_. Esta seção detalha o nível de conformidade deste módulo com " +"a RFC. Para simplificar, as subclasses :class:`JSONEncoder` " +"e :class:`JSONDecoder`, e outros parâmetros além daqueles explicitamente " +"mencionados, não são considerados." #: ../../library/json.rst:556 msgid "" @@ -873,8 +869,8 @@ msgid "" "The RFC does not explicitly forbid JSON strings which contain byte sequences " "that don't correspond to valid Unicode characters (e.g. unpaired UTF-16 " "surrogates), but it does note that they may cause interoperability problems. " -"By default, this module accepts and outputs (when present in the original :" -"class:`str`) code points for such sequences." +"By default, this module accepts and outputs (when present in the " +"original :class:`str`) code points for such sequences." msgstr "" "A RFC não proíbe explicitamente as strings JSON que contêm sequências de " "bytes que não correspondem a caracteres Unicode válidos (por exemplo, " @@ -942,8 +938,8 @@ msgid "" "its serializer or its deserializer." msgstr "" "A versão antiga de JSON especificada pela obsoleta :rfc:`4627` exige que o " -"valor de nível superior do texto JSON deve ser do tipo object ou array (:" -"class:`dict` ou :class:`list` Python), e não poderia ser dos tipos null, " +"valor de nível superior do texto JSON deve ser do tipo object ou array " +"(:class:`dict` ou :class:`list` Python), e não poderia ser dos tipos null, " "boolean, number ou string. :rfc:`7159` removeu essa restrição, e esse módulo " "não tem nenhuma implementação que faça essa restrição, seja em seus " "serializadores, sejam nos desserializadores." @@ -1005,8 +1001,8 @@ msgstr "" "754 e, portanto, sujeito a limitações de precisão e de intervalo da " "representação. Isso é especialmente relevante quando serializando valores " "Python :class:`int` de magnitude extremamente grande, ou quando " -"serializando instâncias de tipos numéricos \"exóticos\" como :class:`decimal." -"Decimal`." +"serializando instâncias de tipos numéricos \"exóticos\" " +"como :class:`decimal.Decimal`." #: ../../library/json.rst:673 msgid "Command Line Interface" @@ -1026,11 +1022,12 @@ msgstr "" #: ../../library/json.rst:685 msgid "" -"If the optional ``infile`` and ``outfile`` arguments are not specified, :" -"attr:`sys.stdin` and :attr:`sys.stdout` will be used respectively:" +"If the optional ``infile`` and ``outfile`` arguments are not " +"specified, :data:`sys.stdin` and :data:`sys.stdout` will be used " +"respectively:" msgstr "" "Se os argumentos opcionais ``infile`` e ``outfile`` não forem " -"especificados, :attr:`sys.stdin` e :attr:`sys.stdout` serão usados " +"especificados, :data:`sys.stdin` e :data:`sys.stdout` serão usados " "respectivamente:" #: ../../library/json.rst:697 @@ -1050,16 +1047,16 @@ msgid "The JSON file to be validated or pretty-printed:" msgstr "O arquivo JSON para ser validado ou saída embelezada:" #: ../../library/json.rst:724 -msgid "If *infile* is not specified, read from :attr:`sys.stdin`." -msgstr "Se *infile* não é especificado, lê de :attr:`sys.stdin`." +msgid "If *infile* is not specified, read from :data:`sys.stdin`." +msgstr "Se *infile* não é especificado, lê de :data:`sys.stdin`." #: ../../library/json.rst:728 msgid "" "Write the output of the *infile* to the given *outfile*. Otherwise, write it " -"to :attr:`sys.stdout`." +"to :data:`sys.stdout`." msgstr "" "Escreve a saída de *infile* para o *outfile* dado. Caso contrário, escreve " -"em :attr:`sys.stdout`." +"em :data:`sys.stdout`." #: ../../library/json.rst:733 msgid "Sort the output of dictionaries alphabetically by key." diff --git a/library/keyword.po b/library/keyword.po index 98ea51b24..c8ab38c07 100644 --- a/library/keyword.po +++ b/library/keyword.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Hildeberto Abreu Magalhães , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Hildeberto Abreu Magalhães , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -34,9 +33,12 @@ msgstr "**Código-fonte:** :source:`Lib/keyword.py`" #: ../../library/keyword.rst:11 msgid "" -"This module allows a Python program to determine if a string is a :ref:" -"`keyword ` or :ref:`soft keyword `." +"This module allows a Python program to determine if a string is " +"a :ref:`keyword ` or :ref:`soft keyword `." msgstr "" +"Este módulo permite a um programa Python determinar se uma string é " +"uma :ref:`palavra reservada ` ou :ref:`palavra reservada " +"contextual `." #: ../../library/keyword.rst:17 msgid "Return ``True`` if *s* is a Python :ref:`keyword `." @@ -47,8 +49,9 @@ msgstr "" #: ../../library/keyword.rst:22 msgid "" "Sequence containing all the :ref:`keywords ` defined for the " -"interpreter. If any keywords are defined to only be active when particular :" -"mod:`__future__` statements are in effect, these will be included as well." +"interpreter. If any keywords are defined to only be active when " +"particular :mod:`__future__` statements are in effect, these will be " +"included as well." msgstr "" "Sequência contendo todas as :ref:`palavras reservadas ` definidas " "para o interpretador. Se alguma palavra reservada estiver definida para " @@ -58,6 +61,8 @@ msgstr "" #: ../../library/keyword.rst:29 msgid "Return ``True`` if *s* is a Python :ref:`soft keyword `." msgstr "" +"Retorna ``True`` se *s* for uma :ref:`palavra reservada contextual ` do Python." #: ../../library/keyword.rst:36 msgid "" @@ -66,3 +71,7 @@ msgid "" "particular :mod:`__future__` statements are in effect, these will be " "included as well." msgstr "" +"Sequência contendo todas as :ref:`palavras reservadas contextuais ` definidas para o interpretador. Se alguma palavra reservada " +"contextual estiver definida para apenas estar ativo quando " +"instruções :mod:`__future__` tiverem efeito, estas serão incluídas também." diff --git a/library/language.po b/library/language.po index 280a1407d..1f7cb0aa0 100644 --- a/library/language.po +++ b/library/language.po @@ -1,27 +1,25 @@ # 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: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/linecache.po b/library/linecache.po index 36fcbd1a8..9f04132a2 100644 --- a/library/linecache.po +++ b/library/linecache.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Sheila Gomes , 2021 -# Italo Penaforte , 2021 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,9 +35,9 @@ msgstr "**Código-fonte:** :source:`Lib/linecache.py`" msgid "" "The :mod:`linecache` module allows one to get any line from a Python source " "file, while attempting to optimize internally, using a cache, the common " -"case where many lines are read from a single file. This is used by the :mod:" -"`traceback` module to retrieve source lines for inclusion in the formatted " -"traceback." +"case where many lines are read from a single file. This is used by " +"the :mod:`traceback` module to retrieve source lines for inclusion in the " +"formatted traceback." msgstr "" "O módulo :mod:`linecache` permite obter qualquer linha de um arquivo fonte " "Python, enquanto tenta otimizar internamente, usando um cache, o caso comum " @@ -54,8 +51,8 @@ msgid "" "uses :func:`tokenize.detect_encoding` to get the encoding of the file; in " "the absence of an encoding token, the file encoding defaults to UTF-8." msgstr "" -"A função :func:`tokenize.open` é usada para abrir arquivos. Esta função usa :" -"func:`tokenize.detect_encoding` para obter a codificação do arquivo; na " +"A função :func:`tokenize.open` é usada para abrir arquivos. Esta função " +"usa :func:`tokenize.detect_encoding` para obter a codificação do arquivo; na " "ausência de um token de codificação, o padrão de codificação do arquivo é " "UTF-8." @@ -75,20 +72,20 @@ msgstr "" #: ../../library/linecache.rst:33 msgid "" -"If a file named *filename* is not found, the function first checks for a :" -"pep:`302` ``__loader__`` in *module_globals*. If there is such a loader and " -"it defines a ``get_source`` method, then that determines the source lines " -"(if ``get_source()`` returns ``None``, then ``''`` is returned). Finally, if " -"*filename* is a relative filename, it is looked up relative to the entries " -"in the module search path, ``sys.path``." +"If a file named *filename* is not found, the function first checks for " +"a :pep:`302` ``__loader__`` in *module_globals*. If there is such a loader " +"and it defines a ``get_source`` method, then that determines the source " +"lines (if ``get_source()`` returns ``None``, then ``''`` is returned). " +"Finally, if *filename* is a relative filename, it is looked up relative to " +"the entries in the module search path, ``sys.path``." msgstr "" "Se um arquivo chamado *filename* não for encontrado, a função primeiro " "verifica por um ``__loader__`` da :pep:`302` em *module_globals*. Se existe " "um carregador e ele define um método ``get_source``, isso determina as " "linhas fonte (se ``get_source()`` retornar ``None``, então ``''`` será " "retornado). Por fim, se *filename* for um nome de arquivo relativo, ele será " -"procurado em relação às entradas no caminho de pesquisa do módulo, ``sys." -"path``." +"procurado em relação às entradas no caminho de pesquisa do módulo, " +"``sys.path``." #: ../../library/linecache.rst:44 msgid "" diff --git a/library/locale.po b/library/locale.po index 8a064f323..26f58cfb1 100644 --- a/library/locale.po +++ b/library/locale.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Welington Carlos , 2021 -# Italo Penaforte , 2021 -# Rafael Fontenelle , 2021 -# Adorilson Bezerra , 2022 -# Claudio Rogerio Carvalho Filho , 2023 -# Marco Rougeth , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Last-Translator: Marco Rougeth , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -51,10 +46,10 @@ msgstr "" #: ../../library/locale.rst:21 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." +"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 "" -"O módulo :mod:`locale` é implementado em cima do módulo :mod:`_locale`, que " +"O módulo :mod:`locale` é implementado em cima do módulo :mod:`!_locale`, que " "por sua vez usa uma implementação a localidade ANSI C se disponível." #: ../../library/locale.rst:24 @@ -114,9 +109,9 @@ msgid "" "problems." msgstr "" "Isso define a localidade de todas as categorias para a configuração padrão " -"do usuário (normalmente especificada na variável de ambiente :envvar:" -"`LANG`). Se a localidade não for alterada depois disso, o uso de " -"multithreading não deve causar problemas." +"do usuário (normalmente especificada na variável de " +"ambiente :envvar:`LANG`). Se a localidade não for alterada depois disso, o " +"uso de multithreading não deve causar problemas." #: ../../library/locale.rst:59 msgid "" @@ -157,14 +152,15 @@ msgstr "``'grouping'``" #: ../../library/locale.rst:69 msgid "" "Sequence of numbers specifying which relative positions the " -"``'thousands_sep'`` is expected. If the sequence is terminated with :const:" -"`CHAR_MAX`, no further grouping is performed. If the sequence terminates " -"with a ``0``, the last group size is repeatedly used." +"``'thousands_sep'`` is expected. If the sequence is terminated " +"with :const:`CHAR_MAX`, no further grouping is performed. If the sequence " +"terminates with a ``0``, the last group size is repeatedly used." msgstr "" "Sequência de números especificando quais posições relativas os " -"``'thousands_sep'`` são esperados. Se a sequência for terminada com :const:" -"`CHAR_MAX`, nenhum agrupamento adicional é realizado. Se a sequência termina " -"com um ``0``, o tamanho do último grupo é usado repetidamente." +"``'thousands_sep'`` são esperados. Se a sequência for terminada " +"com :const:`CHAR_MAX`, nenhum agrupamento adicional é realizado. Se a " +"sequência termina com um ``0``, o tamanho do último grupo é usado " +"repetidamente." #: ../../library/locale.rst:80 msgid "``'thousands_sep'``" @@ -312,7 +308,7 @@ msgstr "Valor" #: ../../library/locale.rst:130 msgid "Explanation" -msgstr "Explanação" +msgstr "Explicação" #: ../../library/locale.rst:132 msgid "``0``" @@ -368,12 +364,18 @@ msgid "" "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 "" +"A função define temporariamente a localidade de ``LC_CTYPE`` para a " +"localidade de ``LC_NUMERIC`` ou a localidade de ``LC_MONETARY`` se as " +"localidades forem diferentes e as strings numéricas ou monetárias não forem " +"ASCII. Esta mudança temporária afeta outras threads." #: ../../library/locale.rst:154 msgid "" "The function now temporarily sets the ``LC_CTYPE`` locale to the " "``LC_NUMERIC`` locale in some cases." msgstr "" +"A função agora define temporariamente a localidade de ``LC_CTYPE`` para a " +"localidade de ``LC_NUMERIC`` em alguns casos." #: ../../library/locale.rst:161 msgid "" @@ -410,27 +412,27 @@ 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 "" -"Obtém uma string que pode ser usada como uma string de formato para :func:" -"`time.strftime` para representar a data e a hora de uma maneira específica " -"da localidade." +"Obtém uma string que pode ser usada como uma string de formato " +"para :func:`time.strftime` para representar a data e a hora de uma maneira " +"específica da localidade." #: ../../library/locale.rst:182 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 "" -"Obtém uma string que pode ser usada como uma string de formato para :func:" -"`time.strftime` para representar uma data de uma maneira específica da " -"localidade." +"Obtém uma string que pode ser usada como uma string de formato " +"para :func:`time.strftime` para representar uma data de uma maneira " +"específica da localidade." #: ../../library/locale.rst:187 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 "" -"Obtém uma string que pode ser usada como uma string de formato para :func:" -"`time.strftime` para representar uma hora de uma maneira específica da " -"localidade." +"Obtém uma string que pode ser usada como uma string de formato " +"para :func:`time.strftime` para representar uma hora de uma maneira " +"específica da localidade." #: ../../library/locale.rst:192 msgid "" @@ -440,11 +442,11 @@ msgstr "" "Obtém uma string de formato para :func:`time.strftime` para representar a " "hora no formato am/pm." -#: ../../library/locale.rst:197 +#: ../../library/locale.rst:203 msgid "Get the name of the n-th day of the week." msgstr "Obtém o nome do enésimo dia da semana." -#: ../../library/locale.rst:201 +#: ../../library/locale.rst:207 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." @@ -453,28 +455,28 @@ msgstr "" "convenção internacional (ISO 8601) que segunda-feira é o primeiro dia da " "semana." -#: ../../library/locale.rst:207 +#: ../../library/locale.rst:219 msgid "Get the abbreviated name of the n-th day of the week." msgstr "Obtém o nome abreviado do enésimo dia da semana." -#: ../../library/locale.rst:211 +#: ../../library/locale.rst:234 msgid "Get the name of the n-th month." msgstr "Obtém o nome do enésimo dia do mês." -#: ../../library/locale.rst:215 +#: ../../library/locale.rst:249 msgid "Get the abbreviated name of the n-th month." msgstr "Obtém o nome abreviado do enésimo dia do mês." -#: ../../library/locale.rst:219 +#: ../../library/locale.rst:253 msgid "Get the radix character (decimal dot, decimal comma, etc.)." msgstr "" "Obtém o caractere separador decimal (ponto decimal, vírgula decimal etc.)." -#: ../../library/locale.rst:223 +#: ../../library/locale.rst:257 msgid "Get the separator character for thousands (groups of three digits)." msgstr "Obtém o caractere separador para milhares (grupos de três dígitos)." -#: ../../library/locale.rst:227 +#: ../../library/locale.rst:261 msgid "" "Get a regular expression that can be used with the regex function to " "recognize a positive response to a yes/no question." @@ -482,22 +484,25 @@ msgstr "" "Obtém uma expressão regular que pode ser usada com a função regex para " "reconhecer uma resposta positiva a uma pergunta sim/não." -#: ../../library/locale.rst:232 +#: ../../library/locale.rst:266 msgid "" -"Get a regular expression that can be used with the regex(3) function to " +"Get a regular expression that can be used with the ``regex(3)`` function to " "recognize a negative response to a yes/no question." msgstr "" -"Obtém uma expressão regular que pode ser usada com a função regex(3) para " -"reconhecer uma resposta negativa a uma pergunta sim/não." +"Obtém uma expressão regular que pode ser usada com a função ``regex(3)`` " +"para reconhecer uma resposta negativa a uma pergunta sim/não." -#: ../../library/locale.rst:237 +#: ../../library/locale.rst:271 msgid "" "The regular expressions for :const:`YESEXPR` and :const:`NOEXPR` use syntax " -"suitable for the :c:func:`regex` function from the C library, which might " -"differ from the syntax used in :mod:`re`." +"suitable for the ``regex`` function from the C library, which might differ " +"from the syntax used in :mod:`re`." msgstr "" +"As expressões regulares para :const:`YESEXPR` e :const:`NOEXPR` usam uma " +"sintaxe adequada para a função ``regex`` da biblioteca C, que pode ser " +"diferente da sintaxe usada em :mod:`re`." -#: ../../library/locale.rst:244 +#: ../../library/locale.rst:278 msgid "" "Get the currency symbol, preceded by \"-\" if the symbol should appear " "before the value, \"+\" if the symbol should appear after the value, or \"." @@ -507,11 +512,11 @@ msgstr "" "antes do valor, \"+\" se o símbolo deve aparecer após o valor ou \".\" se o " "símbolo deve substituir o caractere separador decimal." -#: ../../library/locale.rst:250 +#: ../../library/locale.rst:284 msgid "Get a string that represents the era used in the current locale." msgstr "Obtém uma string que represente a era usada na localidade atual." -#: ../../library/locale.rst:252 +#: ../../library/locale.rst:286 msgid "" "Most locales do not define this value. An example of a locale which does " "define this value is the Japanese one. In Japan, the traditional " @@ -522,7 +527,7 @@ msgstr "" "que define esse valor é o japonês. No Japão, a representação tradicional de " "datas inclui o nome da época correspondente ao reinado do então imperador." -#: ../../library/locale.rst:257 +#: ../../library/locale.rst:291 msgid "" "Normally it should not be necessary to use this value directly. Specifying " "the ``E`` modifier in their format strings causes the :func:`time.strftime` " @@ -531,12 +536,12 @@ msgid "" "systems." msgstr "" "Normalmente não deve ser necessário usar este valor diretamente. Especificar " -"o modificador ``E`` em suas strings de formato faz com que a função :func:" -"`time.strftime` use esta informação. O formato da string retornada não é " -"especificado e, portanto, você não deve presumir que tem conhecimento dele " -"em sistemas diferentes." +"o modificador ``E`` em suas strings de formato faz com que a " +"função :func:`time.strftime` use esta informação. O formato da string " +"retornada não é especificado e, portanto, você não deve presumir que tem " +"conhecimento dele em sistemas diferentes." -#: ../../library/locale.rst:265 +#: ../../library/locale.rst:299 msgid "" "Get a format string for :func:`time.strftime` to represent date and time in " "a locale-specific era-based way." @@ -544,7 +549,7 @@ msgstr "" "Obtém uma string de formato para :func:`time.strftime` para representar a " "data e a hora de uma forma baseada na era específica da localidade." -#: ../../library/locale.rst:270 +#: ../../library/locale.rst:304 msgid "" "Get a format string for :func:`time.strftime` to represent a date in a " "locale-specific era-based way." @@ -552,7 +557,7 @@ msgstr "" "Obtém uma string de formato para :func:`time.strftime` para representar uma " "data em uma forma baseada em era específica da localidade." -#: ../../library/locale.rst:275 +#: ../../library/locale.rst:309 msgid "" "Get a format string for :func:`time.strftime` to represent a time in a " "locale-specific era-based way." @@ -560,7 +565,7 @@ msgstr "" "Obtém uma string de formato para :func:`time.strftime` para representar uma " "hora em uma forma baseada em era específica da localidade." -#: ../../library/locale.rst:280 +#: ../../library/locale.rst:314 msgid "" "Get a representation of up to 100 values used to represent the values 0 to " "99." @@ -568,7 +573,7 @@ msgstr "" "Obtém uma representação de até 100 valores usada para representar os valores " "de 0 a 99." -#: ../../library/locale.rst:286 +#: ../../library/locale.rst:320 msgid "" "Tries to determine the default locale settings and returns them as a tuple " "of the form ``(language code, encoding)``." @@ -576,7 +581,7 @@ msgstr "" "Tenta determinar as configurações de localidade padrão e as retorna como uma " "tupla na forma ``(language code, encoding)``." -#: ../../library/locale.rst:289 +#: ../../library/locale.rst:323 msgid "" "According to POSIX, a program which has not called ``setlocale(LC_ALL, '')`` " "runs using the portable ``'C'`` locale. Calling ``setlocale(LC_ALL, '')`` " @@ -590,7 +595,7 @@ msgstr "" "variável :envvar:`LANG`. Como não queremos interferir com a configuração de " "localidade atual, emulamos o comportamento da maneira descrita acima." -#: ../../library/locale.rst:295 +#: ../../library/locale.rst:329 msgid "" "To maintain compatibility with other platforms, not only the :envvar:`LANG` " "variable is tested, but a list of variables given as envvars parameter. The " @@ -599,15 +604,15 @@ msgid "" "``'LANG'``. The GNU gettext search path contains ``'LC_ALL'``, " "``'LC_CTYPE'``, ``'LANG'`` and ``'LANGUAGE'``, in that order." msgstr "" -"Para manter a compatibilidade com outras plataformas, não apenas a variável :" -"envvar:`LANG` é testada, mas uma lista de variáveis fornecida como parâmetro " -"envvars. Será utilizado o primeiro encontrado a ser definido. *envvars* " -"padroniza para o caminho de pesquisa usado no GNU gettext; deve sempre " -"conter o nome da variável ``'LANG'``. O caminho de pesquisa do GNU gettext " -"contém ``'LC_ALL'``, ``'LC_CTYPE'``, ``'LANG'`` e ``'LANGUAGE'``, nesta " -"ordem." +"Para manter a compatibilidade com outras plataformas, não apenas a " +"variável :envvar:`LANG` é testada, mas uma lista de variáveis fornecida como " +"parâmetro envvars. Será utilizado o primeiro encontrado a ser definido. " +"*envvars* padroniza para o caminho de pesquisa usado no GNU gettext; deve " +"sempre conter o nome da variável ``'LANG'``. O caminho de pesquisa do GNU " +"gettext contém ``'LC_ALL'``, ``'LC_CTYPE'``, ``'LANG'`` e ``'LANGUAGE'``, " +"nesta ordem." -#: ../../library/locale.rst:302 ../../library/locale.rst:315 +#: ../../library/locale.rst:336 ../../library/locale.rst:349 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 " @@ -617,18 +622,19 @@ msgstr "" "*language code* e *encoding* podem ser ``None`` se seus valores não puderem " "ser determinados." -#: ../../library/locale.rst:311 +#: ../../library/locale.rst:345 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`." +"containing *language code*, *encoding*. *category* may be one of " +"the :const:`!LC_\\*` values except :const:`LC_ALL`. It defaults " +"to :const:`LC_CTYPE`." msgstr "" "Retorna a configuração atual para a categoria de localidade fornecida como " "uma sequência contendo *language code*, *encoding*. *category* pode ser um " -"dos valores :const:`LC_\\*`, exceto :const:`LC_ALL`. O padrão é :const:" -"`LC_CTYPE`." +"dos valores :const:`!LC_\\*`, exceto :const:`LC_ALL`. O padrão " +"é :const:`LC_CTYPE`." -#: ../../library/locale.rst:322 +#: ../../library/locale.rst:356 msgid "" "Return the :term:`locale encoding` used for text data, according to user " "preferences. User preferences are expressed differently on different " @@ -641,7 +647,7 @@ msgstr "" "disponíveis programaticamente em alguns sistemas, portanto, essa função " "retorna apenas uma estimativa." -#: ../../library/locale.rst:327 +#: ../../library/locale.rst:361 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 " @@ -652,14 +658,17 @@ msgstr "" "invocar setlocale não for necessário ou desejado, *do_setlocale* deve ser " "definido como ``False``." -#: ../../library/locale.rst:331 +#: ../../library/locale.rst:365 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 "" +"No Android ou se o :ref:`Modo UTF-8 do Python ` é retornado, " +"sempre retorna ``'utf-8'``, a :term:`codificação da localidade` e o " +"argumento *do_setlocale* são ignorados." -#: ../../library/locale.rst:335 ../../library/locale.rst:353 +#: ../../library/locale.rst:369 ../../library/locale.rst:387 msgid "" "The :ref:`Python preinitialization ` configures the LC_CTYPE " "locale. See also the :term:`filesystem encoding and error handler`." @@ -668,50 +677,58 @@ msgstr "" "LC_CTYPE. Veja também :term:`tratador de erros e codificação do sistema de " "arquivos`." -#: ../../library/locale.rst:338 +#: ../../library/locale.rst:372 msgid "" -"The function now always returns ``\"utf-8\"`` on Android or if the :ref:" -"`Python UTF-8 Mode ` is enabled." +"The function now always returns ``\"utf-8\"`` on Android or if " +"the :ref:`Python UTF-8 Mode ` is enabled." msgstr "" +"A função agora sempre retorna ``\"utf-8\"`` no Android ou se o :ref:`Modo " +"UTF-8 do Python ` estiver habilitado." -#: ../../library/locale.rst:345 +#: ../../library/locale.rst:379 msgid "Get the current :term:`locale encoding`:" -msgstr "" +msgstr "Obtém a atual :term:`codificação da localidade`:" -#: ../../library/locale.rst:347 +#: ../../library/locale.rst:381 msgid "On Android and VxWorks, return ``\"utf-8\"``." -msgstr "" +msgstr "No Android e no VxWorks, retorna ``\"utf-8\"``." -#: ../../library/locale.rst:348 +#: ../../library/locale.rst:382 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 "" +"No Unix, retorna a codificação da localidade :data:`LC_CTYPE` atual. Retorna " +"``\"utf-8\"`` se ``nl_langinfo(CODESET)`` retornar uma string vazia: por " +"exemplo, se a localidade LC_CTYPE atual não for compatível." -#: ../../library/locale.rst:351 +#: ../../library/locale.rst:385 msgid "On Windows, return the ANSI code page." -msgstr "" +msgstr "No Windows, retorna a página de código ANSI." -#: ../../library/locale.rst:356 +#: ../../library/locale.rst:390 msgid "" "This function is similar to :func:`getpreferredencoding(False) " "` except this function ignores the :ref:`Python UTF-8 " "Mode `." msgstr "" +"Este função é semelhante a :func:`getpreferredencoding(False) " +"`, exceto pelo fato de que esta função ignora " +"o :ref:`Modo UTF-8 do Python `." -#: ../../library/locale.rst:365 +#: ../../library/locale.rst:399 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 "" "Retorna um código de localidade normalizado para o nome de localidade " -"fornecido. O código de localidade retornado é formatado para uso com :func:" -"`setlocale`. Se a normalização falhar, o nome original será retornado " -"inalterado." +"fornecido. O código de localidade retornado é formatado para uso " +"com :func:`setlocale`. Se a normalização falhar, o nome original será " +"retornado inalterado." -#: ../../library/locale.rst:369 +#: ../../library/locale.rst:403 msgid "" "If the given encoding is not known, the function defaults to the default " "encoding for the locale code just like :func:`setlocale`." @@ -719,19 +736,19 @@ msgstr "" "Se a codificação fornecida não for conhecida, o padrão da função é a " "codificação padrão para o código da localidade, assim como :func:`setlocale`." -#: ../../library/locale.rst:375 +#: ../../library/locale.rst:409 msgid "Sets the locale for *category* to the default setting." -msgstr "Define o localidade de *category* para a configuração padrão." +msgstr "Define a localidade para *category* para a configuração padrão." -#: ../../library/locale.rst:377 +#: ../../library/locale.rst:411 msgid "" "The default setting is determined by calling :func:`getdefaultlocale`. " "*category* defaults to :const:`LC_ALL`." msgstr "" "A configuração padrão é determinada chamando :func:`getdefaultlocale`. " -"*category* tem como padrão :const:`LC_ALL`." +"*category* assume como padrão :const:`LC_ALL`." -#: ../../library/locale.rst:385 +#: ../../library/locale.rst:419 msgid "" "Compares two strings according to the current :const:`LC_COLLATE` setting. " "As any other compare function, returns a negative, or a positive value, or " @@ -743,7 +760,7 @@ msgstr "" "positivo, ou ``0``, dependendo se *string1* agrupa antes ou depois de " "*string2* ou é igual a ele." -#: ../../library/locale.rst:393 +#: ../../library/locale.rst:427 msgid "" "Transforms a string to one that can be used in locale-aware comparisons. " "For example, ``strxfrm(s1) < strxfrm(s2)`` is equivalent to ``strcoll(s1, " @@ -756,15 +773,19 @@ msgstr "" "mesma string é comparada repetidamente, por exemplo, ao agrupar uma " "sequência de strings." -#: ../../library/locale.rst:402 +#: ../../library/locale.rst:436 msgid "" "Formats a number *val* according to the current :const:`LC_NUMERIC` setting. " "The format follows the conventions of the ``%`` operator. For floating " "point values, the decimal point is modified if appropriate. If *grouping* " "is ``True``, also takes the grouping into account." msgstr "" +"Formata um número *val* de acordo com a configuração atual " +"do :const:`LC_NUMERIC`. O formato segue as convenções do operador ``%``. " +"Para valores de ponto flutuante, o ponto decimal é modificado, se " +"apropriado. Se *grouping* for ``True``, também levará em conta o agrupamento." -#: ../../library/locale.rst:407 +#: ../../library/locale.rst:441 msgid "" "If *monetary* is true, the conversion uses monetary thousands separator and " "grouping strings." @@ -772,7 +793,7 @@ msgstr "" "Se *monetary* for verdadeiro, a conversão usa o separador de milhares " "monetários e strings de agrupamento." -#: ../../library/locale.rst:410 +#: ../../library/locale.rst:444 msgid "" "Processes formatting specifiers as in ``format % val``, but takes the " "current locale settings into account." @@ -780,11 +801,11 @@ msgstr "" "Processa especificadores de formatação como em ``format % val``, mas leva as " "configurações de localidade atuais em consideração." -#: ../../library/locale.rst:413 +#: ../../library/locale.rst:447 msgid "The *monetary* keyword parameter was added." msgstr "O parâmetro nomeado *monetary* foi adicionado." -#: ../../library/locale.rst:419 +#: ../../library/locale.rst:453 msgid "" "Please note that this function works like :meth:`format_string` but will " "only work for exactly one ``%char`` specifier. For example, ``'%f'`` and " @@ -794,37 +815,43 @@ msgstr "" "funcionará para exatamente um especificador ``%char``. Por exemplo, ``'%f'`` " "e ``'%.0f'`` são especificadores válidos, mas ``'%f KiB'`` não é." -#: ../../library/locale.rst:423 +#: ../../library/locale.rst:457 msgid "For whole format strings, use :func:`format_string`." msgstr "Para strings de formato inteiras, use :func:`format_string`." -#: ../../library/locale.rst:425 +#: ../../library/locale.rst:459 msgid "Use :meth:`format_string` instead." msgstr "Use :meth:`format_string`." -#: ../../library/locale.rst:431 +#: ../../library/locale.rst:465 msgid "" "Formats a number *val* according to the current :const:`LC_MONETARY` " "settings." msgstr "" -"Formata um número *val* de acordo com as configurações atuais de :const:" -"`LC_MONETARY`." +"Formata um número *val* de acordo com as configurações atuais " +"de :const:`LC_MONETARY`." -#: ../../library/locale.rst:433 +#: ../../library/locale.rst:467 msgid "" "The returned string includes the currency symbol if *symbol* is true, which " "is the default. If *grouping* is ``True`` (which is not the default), " "grouping is done with the value. If *international* is ``True`` (which is " "not the default), the international currency symbol is used." msgstr "" +"A string retornada inclui o símbolo da moeda se *symbol* for verdadeiro, que " +"é o padrão. Se *grouping* for ``True`` (o que não é o padrão), o agrupamento " +"é feito com o valor. Se *international* for ``True`` (o que não é o padrão), " +"o símbolo da moeda internacional será usado." -#: ../../library/locale.rst:440 +#: ../../library/locale.rst:474 msgid "" "This function will not work with the 'C' locale, so you have to set a locale " "via :func:`setlocale` first." msgstr "" +"Esta função não funcionará com a localidade 'C', então você deve definir uma " +"localidade via :func:`setlocale` primeiro." -#: ../../library/locale.rst:446 +#: ../../library/locale.rst:480 msgid "" "Formats a floating point number using the same format as the built-in " "function ``str(float)``, but takes the decimal point into account." @@ -832,66 +859,85 @@ msgstr "" "Formata um número de ponto flutuante usando o mesmo formato da função " "embutida ``str(float)``, mas leva o ponto decimal em consideração." -#: ../../library/locale.rst:452 +#: ../../library/locale.rst:486 msgid "" -"Converts a string into a normalized number string, following the :const:" -"`LC_NUMERIC` settings." +"Converts a string into a normalized number string, following " +"the :const:`LC_NUMERIC` settings." msgstr "" "Converte uma string em uma string numérica normalizada, seguindo as " "configurações de :const:`LC_NUMERIC`." -#: ../../library/locale.rst:460 +#: ../../library/locale.rst:494 msgid "" -"Converts a normalized number string into a formatted string following the :" -"const:`LC_NUMERIC` settings." +"Converts a normalized number string into a formatted string following " +"the :const:`LC_NUMERIC` settings." msgstr "" "Converte uma string numérica normalizada em uma string formatada, seguindo " "as configurações de :const:`LC_NUMERIC`." -#: ../../library/locale.rst:468 +#: ../../library/locale.rst:502 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 "" -"Converte uma string para um número, de acordo com o valor da constante :" -"const:`LC_NUMERIC`, chamando *func* com o resultado da chamada à :func:" -"`delocalize` em *string*." +"Converte uma string para um número, de acordo com o valor da " +"constante :const:`LC_NUMERIC`, chamando *func* com o resultado da chamada " +"à :func:`delocalize` em *string*." -#: ../../library/locale.rst:474 +#: ../../library/locale.rst:508 msgid "" "Converts a string to an integer, following the :const:`LC_NUMERIC` " "conventions." msgstr "" -"Converte uma string em um número inteiro, seguindo as convenções de :const:" -"`LC_NUMERIC`." +"Converte uma string em um número inteiro, seguindo as convenções " +"de :const:`LC_NUMERIC`." -#: ../../library/locale.rst:481 +#: ../../library/locale.rst:513 msgid "" -"Locale category for the character type functions. Depending on the settings " -"of this category, the functions of module :mod:`string` dealing with case " -"change their behaviour." +"Locale category for the character type functions. Most importantly, this " +"category defines the text encoding, i.e. how bytes are interpreted as " +"Unicode codepoints. See :pep:`538` and :pep:`540` for how this variable " +"might be automatically coerced to ``C.UTF-8`` to avoid issues created by " +"invalid settings in containers or incompatible settings passed over remote " +"SSH connections." msgstr "" -"Categoria da localidade para as funções de tipo de caractere. Dependendo das " -"configurações desta categoria, as funções do módulo :mod:`string` lidando " -"com diferença de maiúsculo e minúsculo mudam seu comportamento." +"Categoria da localidade para as funções de tipo de caracteres. Mais " +"importante ainda, essa categoria define a codificação do texto, ou seja, " +"como os bytes são interpretado como pontos de código Unicode. " +"Consulte :pep:`538` e :pep:`540` para saber como essa variável pode ser " +"automaticamente coagida para ``C.UTF-8`` para evitar problemas criados por " +"configurações inválidas em contêineres ou configurações incompatíveis " +"passadas por conexões remotas com SSH." -#: ../../library/locale.rst:488 +#: ../../library/locale.rst:520 msgid "" -"Locale category for sorting strings. The functions :func:`strcoll` and :" -"func:`strxfrm` of the :mod:`locale` module are affected." +"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 "" -"Categoria da localidade para classificação de strings. As funções :func:" -"`strcoll` e :func:`strxfrm` do módulo :mod:`locale` são afetadas." +"O Python não usa internamente funções de transformação de caracteres " +"dependente de localidade do ``ctype.h``. Em vez disso, um ``pyctype.h`` " +"interno fornece equivalentes independentes de localidade como :c:macro:`!" +"Py_TOLOWER`." -#: ../../library/locale.rst:494 +#: ../../library/locale.rst:527 +msgid "" +"Locale category for sorting strings. The functions :func:`strcoll` " +"and :func:`strxfrm` of the :mod:`locale` module are affected." +msgstr "" +"Categoria da localidade para classificação de strings. As " +"funções :func:`strcoll` e :func:`strxfrm` do módulo :mod:`locale` são " +"afetadas." + +#: ../../library/locale.rst:533 msgid "" -"Locale category for the formatting of time. The function :func:`time." -"strftime` follows these conventions." +"Locale category for the formatting of time. The " +"function :func:`time.strftime` follows these conventions." msgstr "" -"Categoria da localidade para a formatação de hora. A função :func:`time." -"strftime` segue essas convenções." +"Categoria da localidade para a formatação de hora. A " +"função :func:`time.strftime` segue essas convenções." -#: ../../library/locale.rst:500 +#: ../../library/locale.rst:539 msgid "" "Locale category for formatting of monetary values. The available options " "are available from the :func:`localeconv` function." @@ -899,7 +945,7 @@ msgstr "" "Categoria da localidade para formatação de valores monetários. As opções " "disponíveis estão disponíveis na função :func:`localeconv`." -#: ../../library/locale.rst:506 +#: ../../library/locale.rst:545 msgid "" "Locale category for message display. Python currently does not support " "application specific locale-aware messages. Messages displayed by the " @@ -911,25 +957,27 @@ msgstr "" "aplicação. Mensagens exibidas pelo sistema operacional, como aquelas " "retornadas por :func:`os.strerror` podem ser afetadas por esta categoria." -#: ../../library/locale.rst:511 +#: ../../library/locale.rst:550 msgid "" "This value may not be available on operating systems not conforming to the " "POSIX standard, most notably Windows." msgstr "" +"Esse valor pode não estar disponível em sistemas operacionais que não " +"estejam em conformidade com o padrão POSIX, principalmente o Windows." -#: ../../library/locale.rst:517 +#: ../../library/locale.rst:556 msgid "" -"Locale category for formatting numbers. The functions :func:`.format`, :" -"func:`atoi`, :func:`atof` and :func:`.str` of the :mod:`locale` module are " -"affected by that category. All other numeric formatting operations are not " -"affected." +"Locale category for formatting numbers. The " +"functions :func:`.format`, :func:`atoi`, :func:`atof` and :func:`.str` of " +"the :mod:`locale` module are affected by that category. All other numeric " +"formatting operations are not affected." msgstr "" -"Categoria da localidade para formatação de números. As funções :func:`." -"format`, :func:`atoi`, :func:`atof` e :func:`.str` do módulo :mod:`locale` " -"são afetadas por essa categoria. Todas as outras operações de formatação " -"numérica não são afetadas." +"Categoria da localidade para formatação de números. As " +"funções :func:`.format`, :func:`atoi`, :func:`atof` e :func:`.str` do " +"módulo :mod:`locale` são afetadas por essa categoria. Todas as outras " +"operações de formatação numérica não são afetadas." -#: ../../library/locale.rst:525 +#: ../../library/locale.rst:564 msgid "" "Combination of all locale settings. If this flag is used when the locale is " "changed, setting the locale for all categories is attempted. If that fails " @@ -946,23 +994,23 @@ msgstr "" "retornada. Esta string pode ser usada posteriormente para restaurar as " "configurações." -#: ../../library/locale.rst:534 +#: ../../library/locale.rst:573 msgid "" -"This is a symbolic constant used for different values returned by :func:" -"`localeconv`." +"This is a symbolic constant used for different values returned " +"by :func:`localeconv`." msgstr "" -"Esta é uma constante simbólica usada para diferentes valores retornados por :" -"func:`localeconv`." +"Esta é uma constante simbólica usada para diferentes valores retornados " +"por :func:`localeconv`." -#: ../../library/locale.rst:538 +#: ../../library/locale.rst:577 msgid "Example::" msgstr "Exemplo::" -#: ../../library/locale.rst:551 +#: ../../library/locale.rst:590 msgid "Background, details, hints, tips and caveats" msgstr "Histórico, detalhes, dicas, dicas e advertências" -#: ../../library/locale.rst:553 +#: ../../library/locale.rst:592 msgid "" "The C standard defines the locale as a program-wide property that may be " "relatively expensive to change. On top of that, some implementations are " @@ -975,12 +1023,12 @@ msgstr "" "causar despejos de memória. Isso torna a localidade um tanto dolorosa de " "usar corretamente." -#: ../../library/locale.rst:558 +#: ../../library/locale.rst:597 msgid "" "Initially, when a program is started, the locale is the ``C`` locale, no " -"matter what the user's preferred locale is. There is one exception: the :" -"data:`LC_CTYPE` category is changed at startup to set the current locale " -"encoding to the user's preferred locale encoding. The program must " +"matter what the user's preferred locale is. There is one exception: " +"the :data:`LC_CTYPE` category is changed at startup to set the current " +"locale encoding to the user's preferred locale encoding. The program must " "explicitly say that it wants the user's preferred locale settings for other " "categories by calling ``setlocale(LC_ALL, '')``." msgstr "" @@ -992,7 +1040,7 @@ msgstr "" "de localidade preferidas do usuário para outras categorias chamando " "``setlocale(LC_ALL, '')``." -#: ../../library/locale.rst:565 +#: ../../library/locale.rst:604 msgid "" "It is generally a bad idea to call :func:`setlocale` in some library " "routine, since as a side effect it affects the entire program. Saving and " @@ -1004,7 +1052,7 @@ msgstr "" "restaurar é quase tão ruim: é caro e afeta outras threads que são executadas " "antes de as configurações serem restauradas." -#: ../../library/locale.rst:570 +#: ../../library/locale.rst:609 msgid "" "If, when coding a module for general use, you need a locale independent " "version of an operation that is affected by the locale (such as certain " @@ -1022,17 +1070,17 @@ msgstr "" "da localidade. Apenas como último recurso, você deve documentar que seu " "módulo não é compatível com configurações de localidade não-\\ ``C``." -#: ../../library/locale.rst:577 +#: ../../library/locale.rst:616 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`, :func:`.str`." +"the special functions defined by this " +"module: :func:`atof`, :func:`atoi`, :func:`.format`, :func:`.str`." msgstr "" "A única maneira de realizar operações numéricas de acordo com a localidade é " -"usar as funções especiais definidas por este módulo: :func:`atof`, :func:" -"`atoi`, :func:`.format`, :func:`.str`." +"usar as funções especiais definidas por este " +"módulo: :func:`atof`, :func:`atoi`, :func:`.format`, :func:`.str`." -#: ../../library/locale.rst:581 +#: ../../library/locale.rst:620 msgid "" "There is no way to perform case conversions and character classifications " "according to the locale. For (Unicode) text strings these are done " @@ -1050,11 +1098,11 @@ msgstr "" "ASCII ) nunca são convertidos ou considerados parte de uma classe de " "caracteres, como letras ou espaços em branco." -#: ../../library/locale.rst:592 +#: ../../library/locale.rst:631 msgid "For extension writers and programs that embed Python" msgstr "Para escritores de extensão e programas que incorporam Python" -#: ../../library/locale.rst:594 +#: ../../library/locale.rst:633 msgid "" "Extension modules should never call :func:`setlocale`, except to find out " "what the current locale is. But since the return value can only be used " @@ -1066,68 +1114,64 @@ msgstr "" "pode ser usado portavelmente para restaurá-lo, isso não é muito útil (exceto " "talvez para descobrir se a localidade é ou não ``C``)." -#: ../../library/locale.rst:599 +#: ../../library/locale.rst:638 msgid "" "When Python code uses the :mod:`locale` module to change the locale, this " "also affects the embedding application. If the embedding application " -"doesn't want this to happen, it should remove the :mod:`_locale` extension " -"module (which does all the work) from the table of built-in modules in the :" -"file:`config.c` file, and make sure that the :mod:`_locale` module is not " -"accessible as a shared library." +"doesn't want this to happen, it should remove the :mod:`!_locale` extension " +"module (which does all the work) from the table of built-in modules in " +"the :file:`config.c` file, and make sure that the :mod:`!_locale` module is " +"not accessible as a shared library." msgstr "" "Quando o código Python usa o módulo :mod:`locale` para alterar a localidade, " "isso também afeta a aplicação de incorporação. Se a aplicação de " "incorporação não quiser que isso aconteça, ele deve remover o módulo de " -"extensão :mod:`_locale` (que faz todo o trabalho) da tabela de módulos " -"embutidos no arquivo :file:`config.c` e certificar-se de que o módulo :mod:" -"`_locale` não está acessível como uma biblioteca compartilhada." +"extensão :mod:`!_locale` (que faz todo o trabalho) da tabela de módulos " +"embutidos no arquivo :file:`config.c` e certificar-se de que o módulo :mod:`!" +"_locale` não está acessível como uma biblioteca compartilhada." -#: ../../library/locale.rst:610 +#: ../../library/locale.rst:649 msgid "Access to message catalogs" msgstr "Acesso a catálogos de mensagens" -#: ../../library/locale.rst:618 +#: ../../library/locale.rst:658 msgid "" "The locale module exposes the C library's gettext interface on systems that " -"provide this interface. It consists of the functions :func:`!gettext`, :" -"func:`!dgettext`, :func:`!dcgettext`, :func:`!textdomain`, :func:`!" -"bindtextdomain`, and :func:`!bind_textdomain_codeset`. These are similar to " -"the same functions in the :mod:`gettext` module, but use the C library's " -"binary format for message catalogs, and the C library's search algorithms " -"for locating message catalogs." +"provide this interface. It consists of the " +"functions :func:`gettext`, :func:`dgettext`, :func:`dcgettext`, :func:`textdomain`, :func:`bindtextdomain`, " +"and :func:`bind_textdomain_codeset`. These are similar to the same " +"functions in the :mod:`gettext` module, but use the C library's binary " +"format for message catalogs, and the C library's search algorithms for " +"locating message catalogs." msgstr "" "O módulo locale expõe a interface gettext da biblioteca C em sistemas que " -"fornecem essa interface. Consiste nas funções :func:`!gettext`, :func:`!" -"dgettext`, :func:`!dcgettext`, :func:`!textdomain`, :func:`!bindtextdomain` " -"e :func:`!bind_textdomain_codeset`. Elas são semelhantes às mesmas funções " -"no módulo :mod:`gettext`, mas usam o formato binário da biblioteca C para " +"fornecem essa interface. Consiste nas " +"funções :func:`gettext`, :func:`dgettext`, :func:`dcgettext`, :func:`textdomain`, :func:`bindtextdomain` " +"e :func:`bind_textdomain_codeset`. Elas são semelhantes às mesmas funções no " +"módulo :mod:`gettext`, mas usam o formato binário da biblioteca C para " "catálogos de mensagens e os algoritmos de pesquisa da biblioteca C para " "localizar catálogos de mensagens." -#: ../../library/locale.rst:625 +#: ../../library/locale.rst:665 msgid "" "Python applications should normally find no need to invoke these functions, " "and should use :mod:`gettext` instead. A known exception to this rule are " -"applications that link with additional C libraries which internally invoke :" -"c:func:`gettext` or :c:func:`dcgettext`. For these applications, it may be " +"applications that link with additional C libraries which internally invoke C " +"functions ``gettext`` or ``dcgettext``. For these applications, it may be " "necessary to bind the text domain, so that the libraries can properly locate " "their message catalogs." msgstr "" "As aplicações Python normalmente não precisam invocar essas funções e devem " "usar :mod:`gettext` em seu lugar. Uma exceção conhecida a esta regra são os " "aplicativos que se vinculam a bibliotecas C adicionais que invocam " -"internamente :c:func:`gettext` ou :c:func:`dcgettext`. Para essas " -"aplicações, pode ser necessário vincular o domínio de texto, para que as " -"bibliotecas possam localizar adequadamente seus catálogos de mensagens." +"internamente ``gettext`` ou ``dcgettext``. Para essas aplicações, pode ser " +"necessário vincular o domínio de texto, para que as bibliotecas possam " +"localizar adequadamente seus catálogos de mensagens." -#: ../../library/locale.rst:19 ../../library/locale.rst:479 +#: ../../library/locale.rst:19 msgid "module" msgstr "módulo" #: ../../library/locale.rst:19 msgid "_locale" -msgstr "" - -#: ../../library/locale.rst:479 -msgid "string" -msgstr "string" +msgstr "_locale" diff --git a/library/logging.config.po b/library/logging.config.po index 82bcc42b7..685c12e87 100644 --- a/library/logging.config.po +++ b/library/logging.config.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Katyanna Moura , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Rainer Terroso, 2026 +# Rafael Fontenelle , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-21 21:52+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,26 +37,28 @@ msgstr "**Código-fonte:** :source:`Lib/logging/config.py`" msgid "" "This page contains only reference information. For tutorials, please see" msgstr "" +"Esta página contém apenas informações de referência. Para tutoriais, por " +"favor consulte" #: ../../library/logging.config.rst:17 msgid ":ref:`Basic Tutorial `" -msgstr ":ref:`Basic Tutorial `" +msgstr ":ref:`Tutorial básico `" #: ../../library/logging.config.rst:18 msgid ":ref:`Advanced Tutorial `" -msgstr ":ref:`Advanced Tutorial `" +msgstr ":ref:`Tutorial avançado `" #: ../../library/logging.config.rst:19 msgid ":ref:`Logging Cookbook `" -msgstr ":ref:`Logging Cookbook `" +msgstr ":ref:`Livro de receitas de logging `" #: ../../library/logging.config.rst:23 msgid "This section describes the API for configuring the logging module." -msgstr "" +msgstr "Esta seção descreve a API para configuração do módulo logging." #: ../../library/logging.config.rst:28 msgid "Configuration functions" -msgstr "" +msgstr "Funções de configuração" #: ../../library/logging.config.rst:30 msgid "" @@ -69,56 +68,77 @@ msgid "" "main API (defined in :mod:`logging` itself) and defining handlers which are " "declared either in :mod:`logging` or :mod:`logging.handlers`." msgstr "" +"Os seguintes função configuram o módulo logging. Elas estão localizadas no " +"módulo :mod:`logging.config`. Seu uso é opcional --- você pode configurar o " +"módulo logging usando essas funções ou fazendo chamadas para o API principal " +"(definido no próprio :mod:`logging`) e definindo manipuladores que são " +"declarados em :mod:`logging` ou :mod:`logging.handlers`." #: ../../library/logging.config.rst:38 msgid "" "Takes the logging configuration from a dictionary. The contents of this " "dictionary are described in :ref:`logging-config-dictschema` below." msgstr "" +"Obtém a configuração de logging de um dicionário. Os conteúdos desse " +"dicionário estão descritos abaixo em :ref:`logging-config-dictschema`." #: ../../library/logging.config.rst:42 msgid "" -"If an error is encountered during configuration, this function will raise a :" -"exc:`ValueError`, :exc:`TypeError`, :exc:`AttributeError` or :exc:" -"`ImportError` with a suitably descriptive message. The following is a " -"(possibly incomplete) list of conditions which will raise an error:" +"If an error is encountered during configuration, this function will raise " +"a :exc:`ValueError`, :exc:`TypeError`, :exc:`AttributeError` " +"or :exc:`ImportError` with a suitably descriptive message. The following is " +"a (possibly incomplete) list of conditions which will raise an error:" msgstr "" +"Se um erro for encontrado durante a configuração, esta função levantará uma " +"exceção :exc:`ValueError`, :exc:`TypeError`, :exc:`AttributeError` " +"ou :exc:`ImportError` com uma mensagem adequadamente descritiva. A seguir " +"está uma lista (possivelmente incompleta) de condições que levantarão um " +"erro:" #: ../../library/logging.config.rst:48 msgid "" "A ``level`` which is not a string or which is a string not corresponding to " "an actual logging level." msgstr "" +"Um ``level`` que não seja uma string ou que seja uma string que não " +"corresponda a um nível de logging atual" #: ../../library/logging.config.rst:50 msgid "A ``propagate`` value which is not a boolean." -msgstr "" +msgstr "Um valor ``propagate`` que não seja um booleano." #: ../../library/logging.config.rst:51 msgid "An id which does not have a corresponding destination." -msgstr "" +msgstr "Um id que não tenha um destino correspondente." #: ../../library/logging.config.rst:52 msgid "A non-existent handler id found during an incremental call." msgstr "" +"Um id de manipulador inexistente encontrado durante uma chamada incremental." #: ../../library/logging.config.rst:53 msgid "An invalid logger name." -msgstr "" +msgstr "Um nome de logger inválido." #: ../../library/logging.config.rst:54 msgid "Inability to resolve to an internal or external object." -msgstr "" +msgstr "Incapacidade de resolver para um objeto interno ou externo." #: ../../library/logging.config.rst:56 msgid "" "Parsing is performed by the :class:`DictConfigurator` class, whose " -"constructor is passed the dictionary used for configuration, and has a :meth:" -"`configure` method. The :mod:`logging.config` module has a callable " -"attribute :attr:`dictConfigClass` which is initially set to :class:" -"`DictConfigurator`. You can replace the value of :attr:`dictConfigClass` " -"with a suitable implementation of your own." -msgstr "" +"constructor is passed the dictionary used for configuration, and has " +"a :meth:`configure` method. The :mod:`logging.config` module has a callable " +"attribute :attr:`dictConfigClass` which is initially set " +"to :class:`DictConfigurator`. You can replace the value " +"of :attr:`dictConfigClass` with a suitable implementation of your own." +msgstr "" +"A análise é realizada pela classe :class:`DictConfigurator`, cujo construtor " +"recebe o dicionário usado para a configuração e possui um " +"método :meth:`configure`. O módulo :mod:`logging.config` tem um atributo " +"chamável :attr:`dictConfigClass` que é inicialmente definido " +"como :class:`DictConfigurator`. Você pode substituir o valor " +"de :attr:`dictConfigClass` por uma implementação adequada de sua autoria." #: ../../library/logging.config.rst:64 msgid "" @@ -126,15 +146,18 @@ msgid "" "dictionary, and then calls the :meth:`configure` method on the returned " "object to put the configuration into effect::" msgstr "" +"A função :func:`dictConfig` chama :attr:`dictConfigClass` passando o " +"dicionário especificado e, em seguida, chama o método :meth:`configure` no " +"objeto devolvido para colocar a configuração em efeito::" #: ../../library/logging.config.rst:71 msgid "" "For example, a subclass of :class:`DictConfigurator` could call " "``DictConfigurator.__init__()`` in its own :meth:`__init__()`, then set up " "custom prefixes which would be usable in the subsequent :meth:`configure` " -"call. :attr:`dictConfigClass` would be bound to this new subclass, and then :" -"func:`dictConfig` could be called exactly as in the default, uncustomized " -"state." +"call. :attr:`dictConfigClass` would be bound to this new subclass, and " +"then :func:`dictConfig` could be called exactly as in the default, " +"uncustomized state." msgstr "" #: ../../library/logging.config.rst:82 @@ -146,98 +169,135 @@ msgid "" "the developer provides a mechanism to present the choices and load the " "chosen configuration)." msgstr "" - -#: ../../library/logging.config.rst:0 -msgid "Parameters" -msgstr "Parâmetros" +"Lê a configuração de logging de um arquivo no formato :mod:`configparser`. O " +"formato do arquivo deve ser como descrito em :ref:`logging-config-" +"fileformat`. Esta função pode ser chamada várias vezes a partir de uma " +"aplicação, permitindo que um usuário final selecione entre várias " +"configurações pré-prontas (se o desenvolvedor fornecer um mecanismo para " +"apresentar as escolhas e carregar a configuração escolhida)." #: ../../library/logging.config.rst:90 msgid "" -"A filename, or a file-like object, or an instance derived from :class:" -"`~configparser.RawConfigParser`. If a ``RawConfigParser``-derived instance " -"is passed, it is used as is. Otherwise, a :class:`~configparser." -"Configparser` is instantiated, and the configuration read by it from the " -"object passed in ``fname``. If that has a :meth:`readline` method, it is " -"assumed to be a file-like object and read using :meth:`~configparser." -"ConfigParser.read_file`; otherwise, it is assumed to be a filename and " -"passed to :meth:`~configparser.ConfigParser.read`." -msgstr "" - -#: ../../library/logging.config.rst:102 -msgid "" -"Defaults to be passed to the ConfigParser can be specified in this argument." +"It will raise :exc:`FileNotFoundError` if the file doesn't exist " +"and :exc:`RuntimeError` if the file is invalid or empty." msgstr "" +"A função levantará uma exceção :exc:`FileNotFoundError` se o arquivo não " +"existir e :exc:`RuntimeError` se o arquivo for inválido ou vazio." -#: ../../library/logging.config.rst:105 -msgid "" -"If specified as ``False``, loggers which " -"exist when this call is made are left " -"enabled. The default is ``True`` because " -"this enables old behaviour in " -"a backward-compatible way. This behaviour is " -"to disable any existing non-root loggers " -"unless they or their ancestors are " -"explicitly named in the logging " -"configuration. :param encoding: The encoding used to open file when *fname* " -"is filename." -msgstr "" +#: ../../library/logging.config.rst:0 +msgid "Parameters" +msgstr "Parâmetros" -#: ../../library/logging.config.rst:112 -msgid "If specified as ``False``, loggers which" -msgstr "" +#: ../../library/logging.config.rst:94 +msgid "" +"A filename, or a file-like object, or an instance derived " +"from :class:`~configparser.RawConfigParser`. If a :class:`!RawConfigParser`-" +"derived instance is passed, it is used as is. Otherwise, " +"a :class:`~configparser.ConfigParser` is instantiated, and the configuration " +"read by it from the object passed in ``fname``. If that has " +"a :meth:`readline` method, it is assumed to be a file-like object and read " +"using :meth:`~configparser.ConfigParser.read_file`; otherwise, it is assumed " +"to be a filename and passed to :meth:`~configparser.ConfigParser.read`." +msgstr "" +"Um nome de arquivo, ou um objeto arquivo, ou uma instância derivada " +"de :class:`~configparser.RawConfigParser`. Se uma instância derivada " +"de :class:`!RawConfigParser` for passada, ela é usada como está. Caso " +"contrário, uma instância de :class:`~configparser.ConfigParser` é criada, e " +"a configuração é lida por ela a partir do objeto passado em ``fname``. Se " +"esse objeto tiver um método :meth:`readline`, ele é presumido como um objeto " +"arquivo ou similar e lido " +"usando :meth:`~configparser.ConfigParser.read_file`; caso contrário, é " +"presumido como um nome de arquivo e passado " +"para :meth:`~configparser.ConfigParser.read`." #: ../../library/logging.config.rst:106 msgid "" -"exist when this call is made are left enabled. The default is ``True`` " -"because this enables old behaviour in a backward-compatible way. This " -"behaviour is to disable any existing non-root loggers unless they or their " -"ancestors are explicitly named in the logging configuration." +"Defaults to be passed to the :class:`!ConfigParser` can be specified in this " +"argument." msgstr "" +"Os defaults a serem passados para o :class:`!ConfigParser` podem ser " +"especificados nesse argumento." -#: ../../library/logging.config.rst:0 -msgid "param encoding" +#: ../../library/logging.config.rst:109 +msgid "" +"If specified as ``False``, loggers which exist when this call is made are " +"left enabled. The default is ``True`` because this enables old behaviour in " +"a backward-compatible way. This behaviour is to disable any existing non-" +"root loggers unless they or their ancestors are explicitly named in the " +"logging configuration." msgstr "" +"Se especificado como ``False``, os loggers que existem quando esta chamada é " +"feita são deixados habilitados. O padrão é ``True`` porque isso habilita o " +"comportamento antigo de forma retrocompatível. Este comportamento é para " +"desabilitar quaisquer loggers não-raiz existentes, a menos que eles ou seus " +"ancestrais sejam explicitamente nomeados na configuração de logging." -#: ../../library/logging.config.rst:114 +#: ../../library/logging.config.rst:118 msgid "The encoding used to open file when *fname* is filename." msgstr "" +"A codificação usada para abrir o arquivo quando fname é um nome de arquivo." -#: ../../library/logging.config.rst:116 +#: ../../library/logging.config.rst:120 msgid "" "An instance of a subclass of :class:`~configparser.RawConfigParser` is now " "accepted as a value for ``fname``. This facilitates:" msgstr "" +"Uma instância de uma subclasse de :class:`~configparser.RawConfigParser` " +"agora é aceita como um valor para ``fname``. Isso facilita:" -#: ../../library/logging.config.rst:120 +#: ../../library/logging.config.rst:124 msgid "" "Use of a configuration file where logging configuration is just part of the " "overall application configuration." msgstr "" +"Uso de um arquivo de configuração onde a configuração de logging é apenas " +"parte da configuração geral da aplicação." -#: ../../library/logging.config.rst:122 +#: ../../library/logging.config.rst:126 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 "" +"Uso de uma configuração lida de um arquivo, e então modificada pela " +"aplicação que a usa (por exemplo, baseada em parâmetros de linha de comando " +"ou outros aspectos do ambiente de tempo de execução) antes de ser passada " +"para ``fileConfig``." -#: ../../library/logging.config.rst:126 -msgid "The *encoding* parameter is added." -msgstr "" +#: ../../library/logging.config.rst:130 +msgid "Added the *encoding* parameter." +msgstr "Adicionado o parâmetro encoding." -#: ../../library/logging.config.rst:131 +#: ../../library/logging.config.rst:133 msgid "" -"Starts up a socket server on the specified port, and listens for new " -"configurations. If no port is specified, the module's default :const:" -"`DEFAULT_LOGGING_CONFIG_PORT` is used. Logging configurations will be sent " -"as a file suitable for processing by :func:`dictConfig` or :func:" -"`fileConfig`. Returns a :class:`~threading.Thread` instance on which you can " -"call :meth:`~threading.Thread.start` to start the server, and which you can :" -"meth:`~threading.Thread.join` when appropriate. To stop the server, call :" -"func:`stopListening`." +"An exception will be thrown if the provided file doesn't exist or is invalid " +"or empty." msgstr "" +"Uma exceção será levantada se o arquivo fornecido não existir ou for " +"inválido ou for vazio." -#: ../../library/logging.config.rst:140 +#: ../../library/logging.config.rst:139 +msgid "" +"Starts up a socket server on the specified port, and listens for new " +"configurations. If no port is specified, the module's " +"default :const:`DEFAULT_LOGGING_CONFIG_PORT` is used. Logging configurations " +"will be sent as a file suitable for processing by :func:`dictConfig` " +"or :func:`fileConfig`. Returns a :class:`~threading.Thread` instance on " +"which you can call :meth:`~threading.Thread.start` to start the server, and " +"which you can :meth:`~threading.Thread.join` when appropriate. To stop the " +"server, call :func:`stopListening`." +msgstr "" +"Inicia um servidor soquete na porta especificada e escuta por novas " +"configurações. Se nenhuma porta for especificada, o padrão do " +"módulo :const:`DEFAULT_LOGGING_CONFIG_PORT` é usado. As configurações de " +"logging serão enviadas como um arquivo adequado para processamento " +"por :func:`dictConfig` ou por :func:`fileConfig`. Retorna uma instância " +"de :class:`~threading.Thread` na qual você pode " +"chamar :meth:`~threading.Thread.start` para iniciar o servidor, e à qual " +"você pode :meth:`~threading.Thread.join` quando apropriado. Para interromper " +"o servidor, chame :func:`stopListening`." + +#: ../../library/logging.config.rst:148 msgid "" "The ``verify`` argument, if specified, should be a callable which should " "verify whether bytes received across the socket are valid and should be " @@ -250,15 +310,29 @@ msgid "" "when only verification is done), or they could be completely different " "(perhaps if decryption were performed)." msgstr "" +"O argumento ``verify``, se especificado, deve ser um chamável que verifique " +"se os bytes recebidos através do soquete são válidos e devem ser " +"processados. Isso pode ser feito criptografando e/ou assinando o que é " +"enviado através do soquete, de modo que o chamável ``verify`` possa realizar " +"a verificação de assinatura e/ou a descriptografia. O chamável ``verify`` é " +"chamado com um único argumento – os bytes recebidos através do soquete – e " +"deve retornar os bytes a serem processados, ou ``None`` para indicar que os " +"bytes devem ser descartados. Os bytes devolvidos podem ser os mesmos que os " +"bytes passados (por exemplo, quando apenas a verificação é feita), ou podem " +"ser completamente diferentes (talvez se a descriptografia for realizada)." -#: ../../library/logging.config.rst:151 +#: ../../library/logging.config.rst:159 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 "" +"Para enviar uma configuração para o soquete, leia o arquivo de configuração " +"e o envie para o soquete como uma sequência de bytes precedida por uma " +"string de comprimento de quatro bytes empacotada em binário usando " +"``struct.pack('>L', n)``." -#: ../../library/logging.config.rst:159 +#: ../../library/logging.config.rst:167 msgid "" "Because portions of the configuration are passed through :func:`eval`, use " "of this function may open its users to a security risk. While the function " @@ -275,12 +349,27 @@ msgid "" "``verify`` argument to :func:`listen` to prevent unrecognised configurations " "from being applied." msgstr "" - -#: ../../library/logging.config.rst:175 +"Como partes da configuração são passadas por :func:`eval`, o uso dessa " +"função pode expor seus usuários a um risco de segurança. Embora a função " +"apenas se vincule a um soquete em ``localhost`` e, portanto, não aceite " +"conexões de máquinas remotas, existem cenários em que código não confiável " +"pode ser executado sob a conta do processo que chama :func:`listen`. " +"Especificamente, se o processo que chama :func:`listen` estiver sendo " +"executado em uma máquina multiusuário onde os usuários não confiam uns nos " +"outros, um usuário malicioso pode conseguir executar essencialmente código " +"arbitrário no processo de um usuário vítima, simplesmente conectando-se ao " +"soquete :func:`listen` da vítima e enviando uma configuração que execute " +"qualquer código que o atacante queira que seja executado no processo da " +"vítima. Isso é especialmente fácil de fazer se a porta padrão for usada, mas " +"não é difícil mesmo se uma porta diferente for utilizada. Para evitar o " +"risco de isso acontecer, use o argumento ``verify`` de :func:`listen` para " +"prevenir que configurações não reconhecidas sejam aplicadas." + +#: ../../library/logging.config.rst:183 msgid "The ``verify`` argument was added." -msgstr "" +msgstr "O argumento ``verify`` foi adicionado." -#: ../../library/logging.config.rst:180 +#: ../../library/logging.config.rst:188 msgid "" "If you want to send configurations to the listener which don't disable " "existing loggers, you will need to use a JSON format for the configuration, " @@ -288,19 +377,27 @@ msgid "" "to specify ``disable_existing_loggers`` as ``False`` in the configuration " "you send." msgstr "" +"Se você deseja enviar configurações para o listener que não desabilitem os " +"loggers existentes, você precisará usar um formato JSON para a configuração, " +"que usará :func:`dictConfig` para configuração. Este método permite que você " +"especifique ``disable_existing_loggers`` como ``False`` na configuração que " +"você envia." -#: ../../library/logging.config.rst:189 +#: ../../library/logging.config.rst:197 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 "" +"Interrompe o servidor de escuta que foi criado com uma chamada " +"para :func:`listen`. Essa função é tipicamente chamada antes de " +"chamar :meth:`join` no valor de retorno de :func:`listen`." -#: ../../library/logging.config.rst:195 +#: ../../library/logging.config.rst:203 msgid "Security considerations" msgstr "Considerações de segurança" -#: ../../library/logging.config.rst:197 +#: ../../library/logging.config.rst:205 msgid "" "The logging configuration functionality tries to offer convenience, and in " "part this is done by offering the ability to convert text in configuration " @@ -312,12 +409,22 @@ msgid "" "untrusted sources with *extreme caution* and satisfy yourself that nothing " "bad can happen if you load them, before actually loading them." msgstr "" - -#: ../../library/logging.config.rst:211 +"A funcionalidade de configuração de logging tenta oferecer conveniência, e " +"em parte isso é feito ao oferecer a capacidade de converter texto presente " +"em arquivos de configuração em objetos Python usados na configuração de " +"logging — por exemplo, conforme descrito em :ref:`logging-config-dict-" +"userdef`. No entanto, esses mesmos mecanismos (importar chamáveis de módulos " +"definidos pelo usuário e chamá-los com parâmetros da configuração) poderiam " +"ser usados para invocar qualquer código que você desejar, e por essa razão " +"você deve tratar arquivos de configuração de fontes não confiáveis com " +"extrema cautela e certificar-se de que nada de ruim pode acontecer se você " +"carregá-los, antes de realmente carregá-los." + +#: ../../library/logging.config.rst:219 msgid "Configuration dictionary schema" -msgstr "" +msgstr "Esquema do Dicionário de Configuração" -#: ../../library/logging.config.rst:213 +#: ../../library/logging.config.rst:221 msgid "" "Describing a logging configuration requires listing the various objects to " "create and the connections between them; for example, you may create a " @@ -329,209 +436,287 @@ msgid "" "these objects and connections is defined in :ref:`logging-config-dict-" "connections` below." msgstr "" - -#: ../../library/logging.config.rst:225 +"Descrever uma configuração de logging requer listar os vários objetos a " +"serem criados e as conexões entre eles; por exemplo, você pode criar um " +"manipulador nomeado 'console' e, em seguida, dizer que o logger nomeado " +"'startup' enviará suas mensagens para o manipulador 'console'. Estes objetos " +"não se limitam àqueles fornecidos pelo módulo :mod:`logging`, pois você pode " +"escrever sua própria classe de formatador ou de manipulador. Os parâmetros " +"para essas classes também podem precisar incluir objetos externos, como " +"``sys.stderr``. A sintaxe para descrever esses objetos e conexões é " +"definida abaixo em :ref:`logging-config-dict-connections`." + +#: ../../library/logging.config.rst:233 msgid "Dictionary Schema Details" -msgstr "" +msgstr "Detalhes do Esquema de Dicionário" -#: ../../library/logging.config.rst:227 +#: ../../library/logging.config.rst:235 msgid "" "The dictionary passed to :func:`dictConfig` must contain the following keys:" msgstr "" +"O dicionário passado para :func:`dictConfig` deve conter as chaves a seguir:" -#: ../../library/logging.config.rst:230 +#: ../../library/logging.config.rst:238 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 - deve ser definido como um valor inteiro representando a versão do " +"esquema. O único valor válido atualmente é 1, mas ter esta chave permite que " +"o esquema evolua, preservando ainda a retrocompatibilidade." -#: ../../library/logging.config.rst:235 +#: ../../library/logging.config.rst:243 msgid "" "All other keys are optional, but if present they will be interpreted as " "described below. In all cases below where a 'configuring dict' is " "mentioned, it will be checked for the special ``'()'`` key to see if a " -"custom instantiation is required. If so, the mechanism described in :ref:" -"`logging-config-dict-userdef` below is used to create an instance; " +"custom instantiation is required. If so, the mechanism described " +"in :ref:`logging-config-dict-userdef` below is used to create an instance; " "otherwise, the context is used to determine what to instantiate." msgstr "" +"Todas as outras chaves são opcionais, mas se estiverem presentes, serão " +"interpretadas conforme descrito abaixo. Em todos os casos abaixo onde um " +"'dicionário de configuração' é mencionado, ele será verificado quanto à " +"chave especial ``'()'`` para consultar se uma instanciação personalizada é " +"necessária. Se for o caso, o mecanismo descrito em :ref:`logging-config-dict-" +"userdef` abaixo é usado para criar uma instância; caso contrário, o contexto " +"é usado para determinar o que instanciar." -#: ../../library/logging.config.rst:244 +#: ../../library/logging.config.rst:252 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 - o valor correspondente será um dicionário em que cada chave é " +"um id de formatador e cada valor é um dicionário que descreve como " +"configurar a instância correspondente de :class:`~logging.Formatter`." -#: ../../library/logging.config.rst:248 +#: ../../library/logging.config.rst:256 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 "" +"O dicionário de configuração é buscado pelas chaves opcionais a seguir que " +"correspondem aos argumentos passados para criar um " +"objeto :class:`~logging.Formatter`:" -#: ../../library/logging.config.rst:252 +#: ../../library/logging.config.rst:260 msgid "``format``" -msgstr "" +msgstr "``format``" -#: ../../library/logging.config.rst:253 +#: ../../library/logging.config.rst:261 msgid "``datefmt``" -msgstr "" +msgstr "``datefmt``" -#: ../../library/logging.config.rst:254 +#: ../../library/logging.config.rst:262 msgid "``style``" -msgstr "" +msgstr "``style``" -#: ../../library/logging.config.rst:255 +#: ../../library/logging.config.rst:263 msgid "``validate`` (since version >=3.8)" -msgstr "" +msgstr "``validate`` (desde a versão >=3.8)" -#: ../../library/logging.config.rst:257 +#: ../../library/logging.config.rst:265 msgid "" "An optional ``class`` key indicates the name of the formatter's class (as a " -"dotted module and class name). The instantiation arguments are as for :" -"class:`~logging.Formatter`, thus this key is most useful for instantiating a " -"customised subclass of :class:`~logging.Formatter`. For example, the " -"alternative class might present exception tracebacks in an expanded or " -"condensed format. If your formatter requires different or extra " +"dotted module and class name). The instantiation arguments are as " +"for :class:`~logging.Formatter`, thus this key is most useful for " +"instantiating a customised subclass of :class:`~logging.Formatter`. For " +"example, the alternative class might present exception tracebacks in an " +"expanded or condensed format. If your formatter requires different or extra " "configuration keys, you should use :ref:`logging-config-dict-userdef`." msgstr "" +"Uma chave opcional ``class`` indica o nome da classe do formatador (como um " +"módulo pontilhado e nome da classe). Os argumentos de instanciação são os " +"mesmos que para :class:`~logging.Formatter` portanto, esta chave é mais útil " +"para instanciar uma subclasse personalizada " +"de ::class:`~logging.Formatter`. Por exemplo, a classe alternativa pode " +"apresentar tracebacks de exceção em um formato expandido ou condensado. Se o " +"seu formatter exigir chaves de configuração diferentes ou extras, você deve " +"usar :ref:`logging-config-dict-userdef`." -#: ../../library/logging.config.rst:266 +#: ../../library/logging.config.rst:274 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 - o valor correspondente será um dicionário no qual cada chave é um " +"id de filter e cada valor é um dicionário que descreve como configurar a " +"instância Filter correspondente." -#: ../../library/logging.config.rst:270 +#: ../../library/logging.config.rst:278 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 "" +"O dicionário de configuração é pesquisado pela chave ``name`` (que assume " +"como padrão a string vazia) e esta é usada para construir uma instância " +"de :class:`logging.Filter`." -#: ../../library/logging.config.rst:274 +#: ../../library/logging.config.rst:282 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 "" +"handlers - o valor correspondente será um dicionário no qual cada chave é um " +"id de manipulador e cada valor é um dicionário que descreve como configurar " +"a instância de Manipulador correspondente." -#: ../../library/logging.config.rst:278 ../../library/logging.config.rst:323 +#: ../../library/logging.config.rst:286 ../../library/logging.config.rst:331 msgid "The configuring dict is searched for the following keys:" -msgstr "" +msgstr "O dicionário de configuração é pesquisado para as chaves a seguir:" -#: ../../library/logging.config.rst:280 +#: ../../library/logging.config.rst:288 msgid "" "``class`` (mandatory). This is the fully qualified name of the handler " "class." msgstr "" +"``class`` (obrigatório). Esse é o nome qualificado completo da classe do " +"handler." -#: ../../library/logging.config.rst:283 +#: ../../library/logging.config.rst:291 msgid "``level`` (optional). The level of the handler." -msgstr "" +msgstr "``level`` (opcional). O nível do manipulador." -#: ../../library/logging.config.rst:285 +#: ../../library/logging.config.rst:293 msgid "``formatter`` (optional). The id of the formatter for this handler." -msgstr "" +msgstr "``formatter`` (opcional). O id do formatador para esse manipulador." -#: ../../library/logging.config.rst:288 +#: ../../library/logging.config.rst:296 msgid "``filters`` (optional). A list of ids of the filters for this handler." msgstr "" +"``filters`` (opcional). Uma lista de ids dos filtros para esse manipulador." -#: ../../library/logging.config.rst:291 ../../library/logging.config.rst:332 +#: ../../library/logging.config.rst:299 ../../library/logging.config.rst:340 msgid "``filters`` can take filter instances in addition to ids." -msgstr "" +msgstr "``filters`` podem receber instâncias de filtro além de ids." -#: ../../library/logging.config.rst:294 +#: ../../library/logging.config.rst:302 msgid "" "All *other* keys are passed through as keyword arguments to the handler's " "constructor. For example, given the snippet:" msgstr "" +"Todas as *outras* chaves são transmitidas como argumento nomeado para o " +"construtor do manipulador. Por exemplo, dado o trecho:" -#: ../../library/logging.config.rst:313 +#: ../../library/logging.config.rst:321 msgid "" -"the handler with id ``console`` is instantiated as a :class:`logging." -"StreamHandler`, using ``sys.stdout`` as the underlying stream. The handler " -"with id ``file`` is instantiated as a :class:`logging.handlers." -"RotatingFileHandler` with the keyword arguments ``filename='logconfig.log', " -"maxBytes=1024, backupCount=3``." +"the handler with id ``console`` is instantiated as " +"a :class:`logging.StreamHandler`, using ``sys.stdout`` as the underlying " +"stream. The handler with id ``file`` is instantiated as " +"a :class:`logging.handlers.RotatingFileHandler` with the keyword arguments " +"``filename='logconfig.log', maxBytes=1024, backupCount=3``." msgstr "" +"o manipulador com o id ``console`` é instanciado como " +"um :class:`logging.StreamHandler`, usando ``sys.stdout`` como o fluxo " +"subjacente. O manipulador com o id ``file`` é instanciado como " +"um :class:`logging.handlers.RotatingFileHandler` com os argumentos nomeados " +"``filename='logconfig.log', maxBytes=1024, backupCount=3``." -#: ../../library/logging.config.rst:319 +#: ../../library/logging.config.rst:327 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* - o valor correspondente será um dicionário no qual cada chave é " +"o nome de um registradores e cada valor é um dicionário que descreve como " +"configurar a instância de Registrador correspondente." -#: ../../library/logging.config.rst:325 +#: ../../library/logging.config.rst:333 msgid "``level`` (optional). The level of the logger." -msgstr "" +msgstr "``level`` (opcional). O nível do logger." -#: ../../library/logging.config.rst:327 +#: ../../library/logging.config.rst:335 msgid "``propagate`` (optional). The propagation setting of the logger." -msgstr "" +msgstr "``propagate`` (opcional). A configuração de propagação do logger." -#: ../../library/logging.config.rst:329 +#: ../../library/logging.config.rst:337 msgid "``filters`` (optional). A list of ids of the filters for this logger." msgstr "" +"``filters`` (opcional). Uma lista de ids dos filtros para esse logger." -#: ../../library/logging.config.rst:335 +#: ../../library/logging.config.rst:343 msgid "" "``handlers`` (optional). A list of ids of the handlers for this logger." msgstr "" +"``handlers`` (opcional). Uma lista de ids dos manipuladores para esse " +"logger." -#: ../../library/logging.config.rst:338 +#: ../../library/logging.config.rst:346 msgid "" "The specified loggers will be configured according to the level, " "propagation, filters and handlers specified." msgstr "" +"Os loggers especificados serão configurados de acordo com o nível, a " +"propagação, os filtros e os manipuladores especificados." -#: ../../library/logging.config.rst:341 +#: ../../library/logging.config.rst:349 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* - essa será a configuração para o logger raiz. O processamento da " +"configuração será igual ao de qualquer logger, exceto pelo fato de que a " +"configuração ``propagate`` não será aplicável." -#: ../../library/logging.config.rst:345 +#: ../../library/logging.config.rst:353 msgid "" "*incremental* - whether the configuration is to be interpreted as " "incremental to the existing configuration. This value defaults to " "``False``, which means that the specified configuration replaces the " -"existing configuration with the same semantics as used by the existing :func:" -"`fileConfig` API." +"existing configuration with the same semantics as used by the " +"existing :func:`fileConfig` API." msgstr "" +"*incremental* - se a configuração deve ser interpretada como incremental à " +"configuração existente. O padrão deste valor é ``False``, o que significa " +"que a configuração especificada substitui a configuração existente com a " +"mesma semântica usada pela configuração da API existente :func:`fileConfig`." -#: ../../library/logging.config.rst:351 +#: ../../library/logging.config.rst:359 msgid "" "If the specified value is ``True``, the configuration is processed as " "described in the section on :ref:`logging-config-dict-incremental`." msgstr "" +"Se o valor especificado for ``True``, a configuração será processada " +"conforme descrito na seção :ref:`logging-config-dict-incremental`." -#: ../../library/logging.config.rst:354 +#: ../../library/logging.config.rst:362 msgid "" "*disable_existing_loggers* - whether any existing non-root loggers are to be " -"disabled. This setting mirrors the parameter of the same name in :func:" -"`fileConfig`. If absent, this parameter defaults to ``True``. This value is " -"ignored if *incremental* is ``True``." +"disabled. This setting mirrors the parameter of the same name " +"in :func:`fileConfig`. If absent, this parameter defaults to ``True``. This " +"value is ignored if *incremental* is ``True``." msgstr "" +"*disable_existing_loggers* - se quaisquer loggers não raiz existentes devem " +"ser desabilitados. Essa configuração reflete o parâmetro de mesmo nome " +"em :func:`fileConfig`. Se ausente, o padrão deste parâmetro é ``True``. Este " +"valor é ignorado se *incremental* for ``True``." -#: ../../library/logging.config.rst:362 +#: ../../library/logging.config.rst:370 msgid "Incremental Configuration" -msgstr "" +msgstr "Configuração Incremental" -#: ../../library/logging.config.rst:364 +#: ../../library/logging.config.rst:372 msgid "" "It is difficult to provide complete flexibility for incremental " "configuration. For example, because objects such as filters and formatters " "are anonymous, once a configuration is set up, it is not possible to refer " "to such anonymous objects when augmenting a configuration." msgstr "" +"É difícil oferecer total flexibilidade para a configuração incremental. Por " +"exemplo, como objetos, assim como filtros e formatadores, são anônimos, " +"depois que uma configuração é definida, não é possível fazer referência a " +"esse objeto anônimo ao ampliar uma configuração." -#: ../../library/logging.config.rst:370 +#: ../../library/logging.config.rst:378 msgid "" "Furthermore, there is not a compelling case for arbitrarily altering the " "object graph of loggers, handlers, filters, formatters at run-time, once a " @@ -541,8 +726,16 @@ msgid "" "in a multi-threaded environment; while not impossible, the benefits are not " "worth the complexity it adds to the implementation." msgstr "" +"Além disso, não há um argumento convincente para alterar arbitrariamente o " +"grafo de objetos de loggers, manipuladores, filtros e formatadores em tempo " +"de execução, depois que uma configuração é definida; a verbosidade de " +"loggers e manipuladores pode ser controlada simplesmente ajustando os níveis " +"(e, no caso de loggers, os sinalizadores de propagação). Alterar o grafo de " +"objetos arbitrariamente de forma segura é problemático em um ambiente " +"multithread; embora não seja impossível, os benefícios não compensam a " +"complexidade que isso acrescentaria à implementação." -#: ../../library/logging.config.rst:379 +#: ../../library/logging.config.rst:387 msgid "" "Thus, when the ``incremental`` key of a configuration dict is present and is " "``True``, the system will completely ignore any ``formatters`` and " @@ -550,20 +743,30 @@ msgid "" "``handlers`` entries, and the ``level`` and ``propagate`` settings in the " "``loggers`` and ``root`` entries." msgstr "" +"Assim, quando a chave ``incremental`` de um dicionário de configuração " +"estiver presente e for ``True``, o sistema ignorará completamente quaisquer " +"entradas ``formatters`` e ``filters``, e processará apenas as configurações " +"de ``level`` nas entradas ``handlers``, e as configurações de ``level`` e " +"``propagate`` nas entradas ``loggers`` e ``root``." -#: ../../library/logging.config.rst:385 +#: ../../library/logging.config.rst:393 msgid "" "Using a value in the configuration dict lets configurations to be sent over " "the wire as pickled dicts to a socket listener. Thus, the logging verbosity " "of a long-running application can be altered over time with no need to stop " "and restart the application." msgstr "" +"Usar um valor no dicionário de configuração permite que configurações sejam " +"enviadas pela rede como dicionários pickled para um listener soquete. Assim, " +"a verbosidade de logging de uma aplicação de longa execução pode ser " +"alterada ao longo do tempo sem a necessidade de parar e reiniciar a " +"aplicação." -#: ../../library/logging.config.rst:393 +#: ../../library/logging.config.rst:401 msgid "Object connections" -msgstr "" +msgstr "Conexões de objeto" -#: ../../library/logging.config.rst:395 +#: ../../library/logging.config.rst:403 msgid "" "The schema describes a set of logging objects - loggers, handlers, " "formatters, filters - which are connected to each other in an object graph. " @@ -578,49 +781,78 @@ msgid "" "object's configuration to indicate that a connection exists between the " "source and the destination object with that id." msgstr "" - -#: ../../library/logging.config.rst:409 +"O esquema descreve um conjunto de objetos de logging — loggers, " +"manipuladores, formatadores, filtros — que são conectados uns aos outros em " +"um grafo de objetos. Assim, o esquema precisa representar conexões entre os " +"objetos. Por exemplo, suponha que, após configurado, um determinado logger " +"tenha anexado a si um determinado manipulador. Para os propósitos desta " +"discussão, podemos dizer que o logger representa a origem e o manipulador " +"representa o destino de uma conexão entre os dois. É claro que, nos objetos " +"configurados, isso é representado pelo logger mantendo uma referência ao " +"manipulador. No dicionário de configuração, isso é feito atribuindo a cada " +"objeto de destino um id que o identifica de forma inequívoca e, em seguida, " +"usando esse id na configuração do objeto de origem para indicar que existe " +"uma conexão entre o objeto de origem e o objeto de destino com aquele id." + +#: ../../library/logging.config.rst:417 msgid "So, for example, consider the following YAML snippet:" -msgstr "" +msgstr "Então, por exemplo, considere o seguinte trecho de YAML:" -#: ../../library/logging.config.rst:430 +#: ../../library/logging.config.rst:438 msgid "" "(Note: YAML used here because it's a little more readable than the " "equivalent Python source form for the dictionary.)" msgstr "" +"(Observação: o YAML é usado aqui porque é um pouco mais legível do que o " +"formulário de origem Python equivalente para o dicionário.)" -#: ../../library/logging.config.rst:433 +#: ../../library/logging.config.rst:441 msgid "" "The ids for loggers are the logger names which would be used " -"programmatically to obtain a reference to those loggers, e.g. ``foo.bar." -"baz``. The ids for Formatters and Filters can be any string value (such as " -"``brief``, ``precise`` above) and they are transient, in that they are only " -"meaningful for processing the configuration dictionary and used to determine " -"connections between objects, and are not persisted anywhere when the " -"configuration call is complete." -msgstr "" - -#: ../../library/logging.config.rst:441 +"programmatically to obtain a reference to those loggers, e.g. " +"``foo.bar.baz``. The ids for Formatters and Filters can be any string value " +"(such as ``brief``, ``precise`` above) and they are transient, in that they " +"are only meaningful for processing the configuration dictionary and used to " +"determine connections between objects, and are not persisted anywhere when " +"the configuration call is complete." +msgstr "" +"Os ids para loggers são os nomes dos loggers que seriam usados " +"programaticamente para obter uma referência a esses loggers, por exemplo, " +"``foo.bar.baz``. Os ids para Formatadores e Filtros podem ser qualquer valor " +"de string (como ``brief``, ``precise`` acima) e são transitórios, no sentido " +"de que só têm significado durante o processamento do dicionário de " +"configuração e são usados para determinar conexões entre objetos, não sendo " +"persistidos em nenhum lugar após a conclusão da chamada de configuração." + +#: ../../library/logging.config.rst:449 msgid "" "The above snippet indicates that logger named ``foo.bar.baz`` should have " "two handlers attached to it, which are described by the handler ids ``h1`` " "and ``h2``. The formatter for ``h1`` is that described by id ``brief``, and " "the formatter for ``h2`` is that described by id ``precise``." msgstr "" +"O trecho acima indica que o logger nomeado ``foo.bar.baz`` deve ter dois " +"manipuladores anexados a ele, que são descritos pelos IDs de manipulador " +"``h1`` e ``h2``. O formatador para ``h1`` é o descrito pelo id ``brief``, e " +"o formatador para ``h2`` é o descrito pelo id ``precise``." -#: ../../library/logging.config.rst:451 +#: ../../library/logging.config.rst:459 msgid "User-defined objects" -msgstr "" +msgstr "Objetos definidos pelo usuário" -#: ../../library/logging.config.rst:453 +#: ../../library/logging.config.rst:461 msgid "" "The schema supports user-defined objects for handlers, filters and " "formatters. (Loggers do not need to have different types for different " "instances, so there is no support in this configuration schema for user-" "defined logger classes.)" msgstr "" +"O esquema oferece suporte a objetos definidos pelo usuário para " +"manipuladores, filtros e formatadores. (Os loggers não precisam ter tipos " +"diferentes para instâncias diferentes, portanto este esquema de configuração " +"não provê suporte às classes de loggers definidas pelo usuário.)" -#: ../../library/logging.config.rst:458 +#: ../../library/logging.config.rst:466 msgid "" "Objects to be configured are described by dictionaries which detail their " "configuration. In some places, the logging system will be able to infer " @@ -632,23 +864,39 @@ 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 "" +"Objetos a serem configurados são descritos por dicionários que detalham sua " +"configuração. Em alguns casos, o sistema de logging consegue inferir pelo " +"contexto como um objeto deve ser instanciado, mas, quando se trata de um " +"objeto definido pelo usuário, o sistema não saberá como fazer isso. Para " +"oferecer total flexibilidade na instanciação desses objetos definidos pelo " +"usuário, é necessário fornecer uma factory — um chamável que recebe um " +"dicionário de configuração e retorna o objeto instanciado. Isso é sinalizado " +"por um caminho de importação absoluto para a factory, disponibilizado sob a " +"chave especial ``'()'``. Aqui está um exemplo concreto:" -#: ../../library/logging.config.rst:484 +#: ../../library/logging.config.rst:492 msgid "" "The above YAML snippet defines three formatters. The first, with id " "``brief``, is a standard :class:`logging.Formatter` instance with the " "specified format string. The second, with id ``default``, has a longer " -"format and also defines the time format explicitly, and will result in a :" -"class:`logging.Formatter` initialized with those two format strings. Shown " -"in Python source form, the ``brief`` and ``default`` formatters have " +"format and also defines the time format explicitly, and will result in " +"a :class:`logging.Formatter` initialized with those two format strings. " +"Shown in Python source form, the ``brief`` and ``default`` formatters have " "configuration sub-dictionaries::" msgstr "" +"O trecho YAML acima define três formatadores. O primeiro, com id ``brief``, " +"é uma instância padrão de :class:`logging.Formatter` com a string de formato " +"especificado. O segundo, com id ``default``, tem um formato mais longo e " +"também define explicitamente o formato de tempo, e resultará em " +"um :class:`logging.Formatter` inicializado com essas duas strings de " +"formatação. Em código-fonte Python, os formatadores ``brief`` e ``default`` " +"têm subdicionários de configuração::" -#: ../../library/logging.config.rst:496 +#: ../../library/logging.config.rst:504 msgid "and::" msgstr "e::" -#: ../../library/logging.config.rst:503 +#: ../../library/logging.config.rst:511 msgid "" "respectively, and as these dictionaries do not contain the special key " "``'()'``, the instantiation is inferred from the context: as a result, " @@ -656,8 +904,12 @@ msgid "" "configuration sub-dictionary for the third formatter, with id ``custom``, " "is::" msgstr "" +"respectivamente; e como esses dicionários não contêm a chave especial " +"``'()'``, a instanciação é inferida pelo contexto. Como resultado, são " +"criadas instâncias padrão de :class:`logging.Formatter`. O subdicionário de " +"configuração do terceiro formatador, com o id ``custom``, é::" -#: ../../library/logging.config.rst:516 +#: ../../library/logging.config.rst:524 msgid "" "and this contains the special key ``'()'``, which means that user-defined " "instantiation is wanted. In this case, the specified factory callable will " @@ -668,30 +920,48 @@ msgid "" "arguments. In the above example, the formatter with id ``custom`` will be " "assumed to be returned by the call::" msgstr "" +"e isso contém a chave especial ``'()'``, o que significa que se deseja uma " +"instanciação definida pelo usuário. Nesse caso, a função factory " +"especificada será usada. Se for um chamável real, ele será usado diretamente " +"— caso contrário, se você especificar uma string (como no exemplo), o " +"chamável real será localizado usando os mecanismos normais de importação. O " +"callable será chamado com os itens restantes no subdicionário de " +"configuração como argumentos nomeados. No exemplo acima, assume-se que o " +"formatter com id ``custom`` seja retornado pela chamada::" -#: ../../library/logging.config.rst:528 +#: ../../library/logging.config.rst:536 msgid "" "The values for keys such as ``bar``, ``spam`` and ``answer`` in the above " "example should not be configuration dictionaries or references such as " "``cfg://foo`` or ``ext://bar``, because they will not be processed by the " "configuration machinery, but passed to the callable as-is." msgstr "" +"Os valores de chaves como ``bar``, ``spam`` e ``answer`` no exemplo acima " +"não devem ser dicionários de configuração nem referências como ``cfg://" +"foo``, ou ``ext://bar`` porque eles não serão processados pelo maquinário de " +"configuração — serão simplesmente passados para a função callable como estão." -#: ../../library/logging.config.rst:533 +#: ../../library/logging.config.rst:541 msgid "" "The key ``'()'`` has been used as the special key because it is not a valid " "keyword parameter name, and so will not clash with the names of the keyword " "arguments used in the call. The ``'()'`` also serves as a mnemonic that the " "corresponding value is a callable." msgstr "" +"A chave ``'()'`` foi usada como chave especial porque não é um nome válido " +"de parâmetro nomeado e, portanto, não conflita com os nomes dos argumentos " +"nomeados usados na chamada. O ``'()'`` também serve como um mnemônico de que " +"o valor correspondente é um chamável." -#: ../../library/logging.config.rst:538 +#: ../../library/logging.config.rst:546 msgid "" "The ``filters`` member of ``handlers`` and ``loggers`` can take filter " "instances in addition to ids." msgstr "" +"O membro ``filters`` de ``handlers`` e ``loggers`` pode receber instâncias " +"de filtro, além de ids." -#: ../../library/logging.config.rst:542 +#: ../../library/logging.config.rst:550 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 " @@ -699,25 +969,32 @@ msgid "" "following configuration::" msgstr "" -#: ../../library/logging.config.rst:558 +#: ../../library/logging.config.rst:566 msgid "" "the returned formatter will have attribute ``foo`` set to ``'bar'`` and " "attribute ``baz`` set to ``'bozz'``." msgstr "" +"o formatador retornado terá o atributo ``foo`` definido como ``'bar'`` e o " +"atributo ``baz`` definido como ``'bozz'``." -#: ../../library/logging.config.rst:561 +#: ../../library/logging.config.rst:569 msgid "" "The values for attributes such as ``foo`` and ``baz`` in the above example " "should not be configuration dictionaries or references such as ``cfg://foo`` " "or ``ext://bar``, because they will not be processed by the configuration " "machinery, but set as attribute values as-is." msgstr "" +"Os valores de atributos como ``foo`` e ``baz`` no exemplo acima não devem " +"ser dicionários de configuração nem referências como ``cfg://foo`` ou " +"``ext://bar`` porque eles não serão processados pelo maquinário de " +"configuração, mas definidos como valores de atributo exatamente como foram " +"fornecidos." -#: ../../library/logging.config.rst:570 +#: ../../library/logging.config.rst:578 msgid "Handler configuration order" -msgstr "" +msgstr "Ordem de configuração de manipuladores" -#: ../../library/logging.config.rst:572 +#: ../../library/logging.config.rst:580 msgid "" "Handlers are configured in alphabetical order of their keys, and a " "configured handler replaces the configuration dictionary in (a working copy " @@ -733,16 +1010,16 @@ msgid "" "named ``bar``, problems would result, because the configuration of ``bar`` " "would be attempted before that of ``foo``, and ``foo`` would not yet have " "been configured. However, if the dependent handler were named ``foobar``, it " -"would be configured after ``foo``, with the result that ``cfg://handlers." -"foo`` would resolve to configured handler ``foo``, and not its configuration " -"dictionary." +"would be configured after ``foo``, with the result that ``cfg://" +"handlers.foo`` would resolve to configured handler ``foo``, and not its " +"configuration dictionary." msgstr "" -#: ../../library/logging.config.rst:593 +#: ../../library/logging.config.rst:601 msgid "Access to external objects" -msgstr "" +msgstr "Acesso a objetos externos" -#: ../../library/logging.config.rst:595 +#: ../../library/logging.config.rst:603 msgid "" "There are times where a configuration needs to refer to objects external to " "the configuration, for example ``sys.stderr``. If the configuration dict is " @@ -751,13 +1028,24 @@ msgid "" "text file, there is no standard way to distinguish ``sys.stderr`` from the " "literal string ``'sys.stderr'``. To facilitate this distinction, the " "configuration system looks for certain special prefixes in string values and " -"treat them specially. For example, if the literal string ``'ext://sys." -"stderr'`` is provided as a value in the configuration, then the ``ext://`` " -"will be stripped off and the remainder of the value processed using normal " -"import mechanisms." -msgstr "" - -#: ../../library/logging.config.rst:608 +"treat them specially. For example, if the literal string ``'ext://" +"sys.stderr'`` is provided as a value in the configuration, then the ``ext://" +"`` will be stripped off and the remainder of the value processed using " +"normal import mechanisms." +msgstr "" +"Há momentos em que uma configuração precisa se referir a objetos externos à " +"configuração, por exemplo ``sys.stderr``. Se o dicionário de configuração " +"for construído usando código Python, isso é simples, mas surge um problema " +"quando a configuração é fornecida por meio de um arquivo texto (por exemplo, " +"JSON, YAML). Em um arquivo texto, não há uma forma padrão de distinguir " +"``sys.stderr`` da string literal ``'sys.stderr'``. Para facilitar essa " +"distinção, o sistema de configuração procura por determinados prefixos " +"especiais em valores de string e os trata de forma especial. Por exemplo, se " +"a string literal ``'ext://sys.stderr'`` for fornecida como um valor na " +"configuração, então o prefixo ``ext://`` será removido e o restante do valor " +"será processado usando os mecanismos normais de importação." + +#: ../../library/logging.config.rst:616 msgid "" "The handling of such prefixes is done in a way analogous to protocol " "handling: there is a generic mechanism to look for prefixes which match the " @@ -766,12 +1054,19 @@ 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 "" +"O tratamento desses prefixos é feito de forma análoga ao tratamento de " +"protocolos: existe um mecanismo genérico para procurar prefixos que " +"correspondam à expressão regular ^(?P[a-z]+)://(?P.*), de " +"modo que, se o ``prefix`` for reconhecido, o ``suffix`` é processado de uma " +"forma dependente do prefixo e o resultado desse processamento substitui o " +"valor da string. Se o prefixo não for reconhecido, então o valor da string é " +"mantido como está." -#: ../../library/logging.config.rst:620 +#: ../../library/logging.config.rst:628 msgid "Access to internal objects" -msgstr "" +msgstr "Acesso a objetos internos" -#: ../../library/logging.config.rst:622 +#: ../../library/logging.config.rst:630 msgid "" "As well as external objects, there is sometimes also a need to refer to " "objects in the configuration. This will be done implicitly by the " @@ -781,47 +1076,71 @@ msgid "" "``handlers``, ``filters`` and ``formatter`` entries will take an object id " "and resolve to the appropriate destination object." msgstr "" +"Além de objetos externos, às vezes também é necessário fazer referência a " +"objetos na configuração. Isso será feito de forma implícita pelo sistema de " +"configuração para coisas que ele conhece. Por exemplo, o valor em forma de " +"string ``'DEBUG'`` para um ``level`` em um logger ou manipulador será " +"automaticamente convertido para o valor ``logging.DEBUG``, e as entradas " +"``handlers``, ``filters`` e ``formatter`` receberão um identificador de " +"objeto e o resolverão para o objeto de destino apropriado." -#: ../../library/logging.config.rst:630 +#: ../../library/logging.config.rst:638 msgid "" "However, a more generic mechanism is needed for user-defined objects which " -"are not known to the :mod:`logging` module. For example, consider :class:" -"`logging.handlers.MemoryHandler`, which takes a ``target`` argument which is " -"another handler to delegate to. Since the system already knows about this " -"class, then in the configuration, the given ``target`` just needs to be the " -"object id of the relevant target handler, and the system will resolve to the " -"handler from the id. If, however, a user defines a ``my.package.MyHandler`` " -"which has an ``alternate`` handler, the configuration system would not know " -"that the ``alternate`` referred to a handler. To cater for this, a generic " -"resolution system allows the user to specify:" -msgstr "" - -#: ../../library/logging.config.rst:652 +"are not known to the :mod:`logging` module. For example, " +"consider :class:`logging.handlers.MemoryHandler`, which takes a ``target`` " +"argument which is another handler to delegate to. Since the system already " +"knows about this class, then in the configuration, the given ``target`` just " +"needs to be the object id of the relevant target handler, and the system " +"will resolve to the handler from the id. If, however, a user defines a " +"``my.package.MyHandler`` which has an ``alternate`` handler, the " +"configuration system would not know that the ``alternate`` referred to a " +"handler. To cater for this, a generic resolution system allows the user to " +"specify:" +msgstr "" +"No entanto, é necessário um mecanismo mais genérico para objetos definidos " +"pelo usuário que não são conhecidos pelo módulo :mod:`logging`. Por exemplo, " +"considere :class:`logging.handlers.MemoryHandler`, que recebe um argumento " +"``target`` que é outro manipulador para o qual delegar. Como o sistema já " +"conhece essa classe, então, na configuração, o ``target`` fornecido só " +"precisa ser o id do objeto do manipulador de destino relevante, e o sistema " +"resolverá esse id para o manipulador correspondente. Se, porém, um usuário " +"definir um ``my.package.MyHandler`` que tenha um manipulador ``alternate``, " +"o sistema de configuração não saberia que ``alternate`` se refere a um " +"manipulador. Para atender a esse caso, um sistema genérico de resolução " +"permite que o usuário especifique:" + +#: ../../library/logging.config.rst:660 msgid "" "The literal string ``'cfg://handlers.file'`` will be resolved in an " "analogous way to strings with the ``ext://`` prefix, but looking in the " "configuration itself rather than the import namespace. The mechanism allows " -"access by dot or by index, in a similar way to that provided by ``str." -"format``. Thus, given the following snippet:" +"access by dot or by index, in a similar way to that provided by " +"``str.format``. Thus, given the following snippet:" msgstr "" +"A cadeia literal ``'cfg://handlers.file'`` será resolvida de maneira análoga " +"às strings com o prefixo ``ext://`` mas procurando na própria configuração " +"em vez do espaço de nomes de importação. O mecanismo permite acesso por " +"ponto ou por índice, de forma semelhante ao que é fornecido por " +"``str.format``. Assim, dado o seguinte trecho:" -#: ../../library/logging.config.rst:670 +#: ../../library/logging.config.rst:678 msgid "" "in the configuration, the string ``'cfg://handlers'`` would resolve to the " "dict with key ``handlers``, the string ``'cfg://handlers.email`` would " "resolve to the dict with key ``email`` in the ``handlers`` dict, and so on. " "The string ``'cfg://handlers.email.toaddrs[1]`` would resolve to " -"``'dev_team@domain.tld'`` and the string ``'cfg://handlers.email." -"toaddrs[0]'`` would resolve to the value ``'support_team@domain.tld'``. The " -"``subject`` value could be accessed using either ``'cfg://handlers.email." -"subject'`` or, equivalently, ``'cfg://handlers.email[subject]'``. The " -"latter form only needs to be used if the key contains spaces or non-" -"alphanumeric characters. If an index value consists only of decimal digits, " -"access will be attempted using the corresponding integer value, falling back " -"to the string value if needed." +"``'dev_team@domain.tld'`` and the string ``'cfg://" +"handlers.email.toaddrs[0]'`` would resolve to the value " +"``'support_team@domain.tld'``. The ``subject`` value could be accessed using " +"either ``'cfg://handlers.email.subject'`` or, equivalently, ``'cfg://" +"handlers.email[subject]'``. The latter form only needs to be used if the " +"key contains spaces or non-alphanumeric characters. If an index value " +"consists only of decimal digits, access will be attempted using the " +"corresponding integer value, falling back to the string value if needed." msgstr "" -#: ../../library/logging.config.rst:684 +#: ../../library/logging.config.rst:692 msgid "" "Given a string ``cfg://handlers.myhandler.mykey.123``, this will resolve to " "``config_dict['handlers']['myhandler']['mykey']['123']``. If the string is " @@ -830,37 +1149,56 @@ msgid "" "['mykey'][123]``, and fall back to ``config_dict['handlers']['myhandler']" "['mykey']['123']`` if that fails." msgstr "" +"Dada uma string ``cfg://handlers.myhandler.mykey.123``, ela será resolvida " +"como ``config_dict['handlers']['myhandler']['mykey']['123']``. Se a string " +"for especificada como ``cfg://handlers.myhandler.mykey[123]``, o sistema " +"tentará obter o valor de ``config_dict['handlers']['myhandler']['mykey']" +"[123]`` e, caso isso falhe, recorrerá a ``config_dict['handlers']" +"['myhandler']['mykey']['123']``." -#: ../../library/logging.config.rst:696 +#: ../../library/logging.config.rst:704 msgid "Import resolution and custom importers" -msgstr "" +msgstr "Resolução de importações e importadores personalizados" -#: ../../library/logging.config.rst:698 +#: ../../library/logging.config.rst:706 msgid "" "Import resolution, by default, uses the builtin :func:`__import__` function " "to do its importing. You may want to replace this with your own importing " -"mechanism: if so, you can replace the :attr:`importer` attribute of the :" -"class:`DictConfigurator` or its superclass, the :class:`BaseConfigurator` " -"class. However, you need to be careful because of the way functions are " -"accessed from classes via descriptors. If you are using a Python callable to " -"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 "" - -#: ../../library/logging.config.rst:713 +"mechanism: if so, you can replace the :attr:`importer` attribute of " +"the :class:`DictConfigurator` or its superclass, " +"the :class:`BaseConfigurator` class. However, you need to be careful because " +"of the way functions are accessed from classes via descriptors. If you are " +"using a Python callable to 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 "" +"Por padrão, a resolução de importação utiliza a função " +"embutida :func:`__import__` para realizar as importações. Caso deseje " +"substituir esse comportamento por seu próprio mecanismo de importação, você " +"pode alterar o atributo :attr:`importer` da classe :class:`DictConfigurator` " +"ou de sua superclasse, :class:`BaseConfigurator`. No entanto, é preciso ter " +"cuidado devido à forma como funções são acessadas a partir de classes por " +"meio de descritores. Se você estiver utilizando um objeto chamável do Python " +"para realizar as importações e quiser defini-lo em nível de classe, em vez " +"de em nível de instância, deverá envolvê-lo com :func:`staticmethod`. Por " +"exemplo::" + +#: ../../library/logging.config.rst:721 msgid "" "You don't need to wrap with :func:`staticmethod` if you're setting the " "import callable on a configurator *instance*." msgstr "" +"Você não precisa envolver com :func:`staticmethod` se estiver definindo o " +"chamável de importação em uma *instância* do configurador." -#: ../../library/logging.config.rst:720 +#: ../../library/logging.config.rst:728 msgid "Configuration file format" msgstr "Formato do arquivo de configuração" -#: ../../library/logging.config.rst:722 +#: ../../library/logging.config.rst:730 msgid "" -"The configuration file format understood by :func:`fileConfig` is based on :" -"mod:`configparser` functionality. The file must contain sections called " +"The configuration file format understood by :func:`fileConfig` is based " +"on :mod:`configparser` functionality. The file must contain sections called " "``[loggers]``, ``[handlers]`` and ``[formatters]`` which identify by name " "the entities of each type which are defined in the file. For each such " "entity, there is a separate section which identifies how that entity is " @@ -873,53 +1211,88 @@ msgid "" "called ``[formatter_form01]``. The root logger configuration must be " "specified in a section called ``[logger_root]``." msgstr "" - -#: ../../library/logging.config.rst:737 +"O formato do arquivo de configuração reconhecido por :func:`fileConfig` " +"baseia-se na funcionalidade do módulo :mod:`configparser`. O arquivo deve " +"conter seções chamadas ``[loggers]``, ``[handlers]`` e ``[formatters]``, que " +"identificam pelo nome as entidades de cada tipo definidas no arquivo. Para " +"cada uma dessas entidades, existe uma seção separada que especifica como a " +"entidade está configurada. Assim, para um logger chamado ``log01`` na seção " +"``[loggers]``, os detalhes de configuração relevantes são mantidos em uma " +"seção ``[logger_log01]``. Da mesma forma, um handler chamado ``hand01`` na " +"seção ``[handlers]`` terá sua configuração mantida em uma seção chamada " +"``[handler_hand01]``, enquanto um formatador chamado ``form01`` na seção " +"``[formatters]`` terá sua configuração especificada em uma seção chamada " +"``[formatter_form01]``. A configuração do logger raiz deve ser especificada " +"em uma seção chamada ``[logger_root]``." + +#: ../../library/logging.config.rst:745 msgid "" "The :func:`fileConfig` API is older than the :func:`dictConfig` API and does " "not provide functionality to cover certain aspects of logging. For example, " "you cannot configure :class:`~logging.Filter` objects, which provide for " -"filtering of messages beyond simple integer levels, using :func:" -"`fileConfig`. If you need to have instances of :class:`~logging.Filter` in " -"your logging configuration, you will need to use :func:`dictConfig`. Note " -"that future enhancements to configuration functionality will be added to :" -"func:`dictConfig`, so it's worth considering transitioning to this newer API " -"when it's convenient to do so." -msgstr "" - -#: ../../library/logging.config.rst:747 +"filtering of messages beyond simple integer levels, " +"using :func:`fileConfig`. If you need to have instances " +"of :class:`~logging.Filter` in your logging configuration, you will need to " +"use :func:`dictConfig`. Note that future enhancements to configuration " +"functionality will be added to :func:`dictConfig`, so it's worth considering " +"transitioning to this newer API when it's convenient to do so." +msgstr "" +"A API :func:`fileConfig` é mais antiga que a API :func:`dictConfig` e não " +"oferece funcionalidade para cobrir certos aspectos do registro de logs " +"(*logging*). Por exemplo, não é possível configurar " +"objetos :class:`~logging.Filter` — que permitem filtrar mensagens além dos " +"simples níveis numéricos (inteiros) — utilizando a :func:`fileConfig`. Se " +"você precisar de instâncias de :class:`~logging.Filter` em sua configuração " +"de log, deverá utilizar a :func:`dictConfig`. Vale ressaltar que futuros " +"aprimoramentos nas funcionalidades de configuração serão incorporados " +"à :func:`dictConfig`; portanto, considere migrar para essa API mais recente " +"quando for conveniente." + +#: ../../library/logging.config.rst:755 msgid "Examples of these sections in the file are given below." -msgstr "" +msgstr "Exemplos dessas seções no arquivo são fornecidos abaixo." -#: ../../library/logging.config.rst:760 +#: ../../library/logging.config.rst:768 msgid "" "The root logger must specify a level and a list of handlers. An example of a " "root logger section is given below." msgstr "" +"O logger raiz deve especificar um nível e uma lista de manipuladores. Um " +"exemplo de seção de logger raiz é dado abaixo." -#: ../../library/logging.config.rst:769 +#: ../../library/logging.config.rst:777 msgid "" "The ``level`` entry can be one of ``DEBUG, INFO, WARNING, ERROR, CRITICAL`` " "or ``NOTSET``. For the root logger only, ``NOTSET`` means that all messages " "will be logged. Level values are :ref:`evaluated ` in the context " "of the ``logging`` package's namespace." msgstr "" +"A entrada ``level`` pode ser ``DEBUG, INFO, WARNING, ERROR, CRITICAL`` ou " +"``NOTSET``. Apenas para o logger raiz, ``NOTSET`` significa que todas as " +"mensagens serão registradas. Os valores de nível são :ref:`avaliados ` no contexto do espaço de nomes do pacote ``logging``." -#: ../../library/logging.config.rst:774 +#: ../../library/logging.config.rst:782 msgid "" "The ``handlers`` entry is a comma-separated list of handler names, which " "must appear in the ``[handlers]`` section. These names must appear in the " "``[handlers]`` section and have corresponding sections in the configuration " "file." msgstr "" +"A entrada ``handlers`` é uma lista separada por vírgulas com os nomes dos " +"manipuladores, que devem aparecer na seção ``[handlers]``. Esses nomes " +"precisam aparecer na seção ``[handlers]`` e ter seções correspondentes no " +"arquivo de configuração." -#: ../../library/logging.config.rst:779 +#: ../../library/logging.config.rst:787 msgid "" "For loggers other than the root logger, some additional information is " "required. This is illustrated by the following example." msgstr "" +"Para loggers que não sejam o logger raiz, são necessárias algumas " +"informações adicionais. Isso é ilustrado pelo exemplo a seguir." -#: ../../library/logging.config.rst:790 +#: ../../library/logging.config.rst:798 msgid "" "The ``level`` and ``handlers`` entries are interpreted as for the root " "logger, except that if a non-root logger's level is specified as ``NOTSET``, " @@ -931,29 +1304,49 @@ msgid "" "hierarchical channel name of the logger, that is to say the name used by the " "application to get the logger." msgstr "" +"As entradas ``level`` e ``handlers`` são interpretadas da mesma forma que o " +"logger raiz, exceto que, se o nível de um logger não raiz for especificado " +"como ``NOTSET``, o sistema consulta os loggers situados acima na hierarquia " +"para determinar o nível efetivo do logger. O item ``propagate`` é definido " +"como 1 para indicar que as mensagens devem ser propagadas para os " +"manipuladores acima na hierarquia de loggers a partir deste logger, ou 0 " +"para indicar que as mensagens não são propagadas para manipuladores acima na " +"hierarquia. O item ``qualname`` é o nome de canal hierárquico do logger, ou " +"seja, o nome usado pela aplicação para obter o logger." -#: ../../library/logging.config.rst:799 +#: ../../library/logging.config.rst:807 msgid "" "Sections which specify handler configuration are exemplified by the " "following." msgstr "" +"As seções que especificam a configuração de manipuladores são exemplificadas " +"pelo seguinte." -#: ../../library/logging.config.rst:809 +#: ../../library/logging.config.rst:817 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'." +"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 "" +"A entrada ``class`` indica a classe do manipulador (conforme determinada " +"por :func:`eval` no espaço de nomes do pacote ``logging``). O ``level`` é " +"interpretado da mesma forma que para loggers, e ``NOTSET`` é entendido como " +"“registrar tudo”." -#: ../../library/logging.config.rst:813 +#: ../../library/logging.config.rst:821 msgid "" "The ``formatter`` entry indicates the key name of the formatter for this " "handler. If blank, a default formatter (``logging._defaultFormatter``) is " "used. If a name is specified, it must appear in the ``[formatters]`` section " "and have a corresponding section in the configuration file." msgstr "" +"A entrada ``formatter`` indica o nome da chave do formatador para esse " +"manipulador. Se estiver em branco, um formatador padrão " +"(``logging._defaultFormatter``) será usado. Se um nome for especificado, ele " +"deve aparecer na seção ``[formatters]`` e ter uma seção correspondente no " +"arquivo de configuração." -#: ../../library/logging.config.rst:818 +#: ../../library/logging.config.rst:826 msgid "" "The ``args`` entry, when :ref:`evaluated ` in the context of the " "``logging`` package's namespace, is the list of arguments to the constructor " @@ -961,48 +1354,67 @@ msgid "" "or to the examples below, to see how typical entries are constructed. If not " "provided, it defaults to ``()``." msgstr "" +"A entrada ``args``, quando :ref:`avaliada ` no contexto do espaço " +"de nomes do pacote ``logging``, é a lista de argumentos para o construtor da " +"classe de manipulador (*handler*). Consulte os construtores dos " +"manipuladores relevantes, ou os exemplos abaixo, para ver como as entradas " +"típicas são construídas. Se não for fornecida, o padrão é ``()``." -#: ../../library/logging.config.rst:824 +#: ../../library/logging.config.rst:832 msgid "" "The optional ``kwargs`` entry, when :ref:`evaluated ` in the " "context of the ``logging`` package's namespace, is the keyword argument dict " "to the constructor for the handler class. If not provided, it defaults to " "``{}``." msgstr "" +"A entrada opcional ``kwargs``, quando :ref:`avaliada ` no " +"contexto do espaço de nomes do pacote ``logging``, é o dicionário de " +"argumentos nomeados para o construtor da classe de manipulador (*handler*). " +"Se não for fornecida, o padrão é ``{}``." -#: ../../library/logging.config.rst:881 +#: ../../library/logging.config.rst:889 msgid "" "Sections which specify formatter configuration are typified by the following." msgstr "" +"As seções que especificam a configuração do formatador são caracterizadas " +"pelo seguinte." -#: ../../library/logging.config.rst:892 +#: ../../library/logging.config.rst:900 msgid "" "The arguments for the formatter configuration are the same as the keys in " "the dictionary schema :ref:`formatters section `." msgstr "" +"Os argumentos para a configuração do formatador são os mesmos que as chaves " +"no esquema do dicionário da :ref:`seção de formatadores `." -#: ../../library/logging.config.rst:898 +#: ../../library/logging.config.rst:906 msgid "" "Due to the use of :func:`eval` as described above, there are potential " "security risks which result from using the :func:`listen` to send and " "receive configurations via sockets. The risks are limited to where multiple " -"users with no mutual trust run code on the same machine; see the :func:" -"`listen` documentation for more information." +"users with no mutual trust run code on the same machine; see " +"the :func:`listen` documentation for more information." msgstr "" +"Devido ao uso de :func:`eval` conforme descrito acima, há riscos de " +"segurança potenciais decorrentes do uso de :func:`listen` para enviar e " +"receber configurações por meio de soquetes. Os riscos se limitam a situações " +"em que vários usuários sem confiança mútua executam código na mesma máquina; " +"consulte a documentação de :func:`listen` para mais informações." -#: ../../library/logging.config.rst:907 +#: ../../library/logging.config.rst:915 msgid "Module :mod:`logging`" msgstr "Módulo :mod:`logging`" -#: ../../library/logging.config.rst:907 +#: ../../library/logging.config.rst:915 msgid "API reference for the logging module." msgstr "Referência da API para o módulo de logging." -#: ../../library/logging.config.rst:909 +#: ../../library/logging.config.rst:917 msgid "Module :mod:`logging.handlers`" msgstr "Módulo :mod:`logging.handlers`" -#: ../../library/logging.config.rst:910 +#: ../../library/logging.config.rst:918 msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Tratadores úteis incluídos no módulo logging." diff --git a/library/logging.handlers.po b/library/logging.handlers.po index cd007a5de..a5d421189 100644 --- a/library/logging.handlers.po +++ b/library/logging.handlers.po @@ -1,32 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Hildeberto Abreu Magalhães , 2021 -# Sheila Gomes , 2021 -# Katyanna Moura , 2021 -# Juliana Karoline , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rainer Terroso, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rainer Terroso, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,66 +36,91 @@ msgstr "**Código-fonte:** :source:`Lib/logging/handlers.py`" msgid "" "This page contains only reference information. For tutorials, please see" msgstr "" +"Esta página contém apenas informações de referência. Para tutoriais, por " +"favor consulte" #: ../../library/logging.handlers.rst:17 msgid ":ref:`Basic Tutorial `" -msgstr ":ref:`Basic Tutorial `" +msgstr ":ref:`Tutorial básico `" #: ../../library/logging.handlers.rst:18 msgid ":ref:`Advanced Tutorial `" -msgstr ":ref:`Advanced Tutorial `" +msgstr ":ref:`Tutorial avançado `" #: ../../library/logging.handlers.rst:19 msgid ":ref:`Logging Cookbook `" -msgstr ":ref:`Logging Cookbook `" +msgstr ":ref:`Livro de receitas de logging `" #: ../../library/logging.handlers.rst:25 msgid "" "The following useful handlers are provided in the package. Note that three " -"of the handlers (:class:`StreamHandler`, :class:`FileHandler` and :class:" -"`NullHandler`) are actually defined in the :mod:`logging` module itself, but " -"have been documented here along with the other handlers." +"of the handlers (:class:`StreamHandler`, :class:`FileHandler` " +"and :class:`NullHandler`) are actually defined in the :mod:`logging` module " +"itself, but have been documented here along with the other handlers." msgstr "" +"Os seguintes tratadores úteis são fornecidos neste pacote. Observe que três " +"dos tratadores (:class:`StreamHandler`, :class:`FileHandler` " +"e :class:`NullHandler`) são, na verdade, definidos no próprio " +"módulo :mod:`logging`, mas foram documentados aqui junto com os outros " +"tratadores." #: ../../library/logging.handlers.rst:33 msgid "StreamHandler" -msgstr "" +msgstr "StreamHandler" #: ../../library/logging.handlers.rst:35 msgid "" "The :class:`StreamHandler` class, located in the core :mod:`logging` " "package, sends logging output to streams such as *sys.stdout*, *sys.stderr* " -"or any file-like object (or, more precisely, any object which supports :meth:" -"`write` and :meth:`flush` methods)." +"or any file-like object (or, more precisely, any object which " +"supports :meth:`write` and :meth:`flush` methods)." msgstr "" +"A classe :class:`StreamHandler` localizada no pacote " +"principal :mod:`logging`, envia a saída de log para fluxos como " +"*sys.stdout*, *sys.stderr* ou qualquer objeto arquivo ou similar (ou, mais " +"precisamente, qualquer objeto que provê os métodos :meth:`write` " +"e :meth:`flush`)." #: ../../library/logging.handlers.rst:43 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." +"specified, the instance will use it for logging output; otherwise, " +"*sys.stderr* will be used." msgstr "" +"Retorna uma nova instância da classe :class:`StreamHandler` Se *stream* for " +"especificado, a instância irá utilizá-lo para a saída de log; caso " +"contrário, *sys.stderr* será usado." #: ../../library/logging.handlers.rst:50 msgid "" "If a formatter is specified, it is used to format the record. The record is " "then written to the stream followed by :attr:`terminator`. If exception " -"information is present, it is formatted using :func:`traceback." -"print_exception` and appended to the stream." +"information is present, it is formatted " +"using :func:`traceback.print_exception` and appended to the stream." msgstr "" +"Se um formatador for especificado, ele será usado para formatar o registro. " +"Em seguida, o registro é escrito no fluxo, seguido por :attr:`terminator` Se " +"houver informações de exceção, elas são formatadas " +"usando :func:`traceback.print_exception` e anexadas ao fluxo." #: ../../library/logging.handlers.rst:58 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." +"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 "" +"Esvazia o fluxo chamando seu método :meth:`flush`. Observe que o " +"método :meth:`close` é herdado de :class:`~logging.Handler` e, portanto, não " +"produz nenhuma saída, de modo que uma chamada explícita a :meth:`flush` pode " +"ser necessária em alguns casos." #: ../../library/logging.handlers.rst:64 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 "" +"Define o fluxo da instância para o valor especificado, caso seja diferente. " +"O fluxo antigo é esvaziado antes que o novo fluxo seja definido." #: ../../library/logging.handlers.rst:0 msgid "Parameters" @@ -109,11 +128,11 @@ msgstr "Parâmetros" #: ../../library/logging.handlers.rst:67 msgid "The stream that the handler should use." -msgstr "" +msgstr "O fluxo que o manipulador deve usar." #: ../../library/logging.handlers.rst:0 msgid "Returns" -msgstr "" +msgstr "Retorna" #: ../../library/logging.handlers.rst:69 msgid "the old stream, if the stream was changed, or *None* if it wasn't." @@ -124,20 +143,26 @@ msgid "" "String used as the terminator when writing a formatted record to a stream. " "Default value is ``'\\n'``." msgstr "" +"String usada como terminador ao gravar um registro formatado em um fluxo. O " +"valor padrão é ``'\\n'``." #: ../../library/logging.handlers.rst:78 msgid "" "If you don't want a newline termination, you can set the handler instance's " "``terminator`` attribute to the empty string." msgstr "" +"Se você não quiser uma terminação com nova linha, pode definir o atributo " +"``terminator`` da instância do manipulador como uma string vazia." #: ../../library/logging.handlers.rst:81 msgid "In earlier versions, the terminator was hardcoded as ``'\\n'``." msgstr "" +"Nas versões anteriores, o terminador era codificado diretamente como " +"``'\\n'``." #: ../../library/logging.handlers.rst:89 msgid "FileHandler" -msgstr "" +msgstr "FileHandler" #: ../../library/logging.handlers.rst:91 msgid "" @@ -145,17 +170,27 @@ msgid "" "sends logging output to a disk file. It inherits the output functionality " "from :class:`StreamHandler`." msgstr "" +"A classe :class:`FileHandler`, localizada no pacote " +"principal :mod:`logging`, envia a saída de logging para um arquivo em disco. " +"Ela herda a funcionalidade de saída da classe :class:`StreamHandler`." #: ../../library/logging.handlers.rst:98 msgid "" "Returns a new instance of the :class:`FileHandler` class. The specified file " -"is opened and used as the stream for logging. If *mode* is not specified, :" -"const:`'a'` is used. If *encoding* is not ``None``, it is used to open the " -"file with that encoding. If *delay* is true, then file opening is deferred " -"until the first call to :meth:`emit`. By default, the file grows " -"indefinitely. If *errors* is specified, it's used to determine how encoding " -"errors are handled." +"is opened and used as the stream for logging. If *mode* is not specified, " +"``'a'`` is used. If *encoding* is not ``None``, it is used to open the file " +"with that encoding. If *delay* is true, then file opening is deferred until " +"the first call to :meth:`emit`. By default, the file grows indefinitely. If " +"*errors* is specified, it's used to determine how encoding errors are " +"handled." msgstr "" +"Retorna uma nova instância da classe :class:`FileHandler`. O arquivo " +"especificado é aberto e usado como o fluxo para logging. Se *mode* não for " +"especificado, ``'a'`` é usado. Se *encoding* não for ``None``, ele é usado " +"para abrir o arquivo com essa codificação. Se *delay* for verdadeiro, então " +"a abertura do arquivo é adiada até a primeira chamada de :meth:`emit` Por " +"padrão, o arquivo cresce indefinidamente. Se *errors* for especificado, ele " +"é usado para determinar como os erros de codificação serão tratados." #: ../../library/logging.handlers.rst:105 #: ../../library/logging.handlers.rst:190 @@ -165,27 +200,32 @@ msgid "" "As well as string values, :class:`~pathlib.Path` objects are also accepted " "for the *filename* argument." msgstr "" +"Além de valores do tipo string, objetos :class:`~pathlib.Path` também são " +"aceitos para o argumento *filename*." #: ../../library/logging.handlers.rst:109 #: ../../library/logging.handlers.rst:194 #: ../../library/logging.handlers.rst:342 #: ../../library/logging.handlers.rst:448 msgid "The *errors* parameter was added." -msgstr "" +msgstr "O parâmetro *errors* foi adicionado." #: ../../library/logging.handlers.rst:114 msgid "Closes the file." -msgstr "" +msgstr "Fecha o arquivo." #: ../../library/logging.handlers.rst:118 msgid "Outputs the record to the file." -msgstr "" +msgstr "Envia o registro para o arquivo." #: ../../library/logging.handlers.rst:120 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 "" +"Observe que, se o arquivo tiver sido fechado devido ao encerramento do " +"sistema de logging na saída e o modo do arquivo for 'w', o registro não será " +"emitido (veja :issue:`42378`)." #: ../../library/logging.handlers.rst:127 msgid "NullHandler" @@ -197,39 +237,51 @@ msgid "" "does not do any formatting or output. It is essentially a 'no-op' handler " "for use by library developers." msgstr "" +"A classe :class:`NullHandler`, localizada no pacote " +"principal :mod:`logging`, não realiza qualquer formatação ou saída. Ela é " +"essencialmente um manipulador 'no-op', destinado ao uso por desenvolvedores " +"de bibliotecas." #: ../../library/logging.handlers.rst:137 msgid "Returns a new instance of the :class:`NullHandler` class." -msgstr "" +msgstr "Retorna uma nova instância da classe :class:`NullHandler`." #: ../../library/logging.handlers.rst:141 #: ../../library/logging.handlers.rst:145 msgid "This method does nothing." -msgstr "" +msgstr "Esse método não faz nada." #: ../../library/logging.handlers.rst:149 msgid "" "This method returns ``None`` for the lock, since there is no underlying I/O " "to which access needs to be serialized." msgstr "" +"Este método retorna ``None`` para a trava, pois não há E/S subjacente cujo " +"acesso precise ser serializado." #: ../../library/logging.handlers.rst:153 msgid "" -"See :ref:`library-config` for more information on how to use :class:" -"`NullHandler`." +"See :ref:`library-config` for more information on how to " +"use :class:`NullHandler`." msgstr "" +"Consulte :ref:`library-config` para obter mais informações sobre como " +"usar :class:`NullHandler`." #: ../../library/logging.handlers.rst:159 msgid "WatchedFileHandler" -msgstr "" +msgstr "WatchedFileHandler" #: ../../library/logging.handlers.rst:163 msgid "" -"The :class:`WatchedFileHandler` class, located in the :mod:`logging." -"handlers` module, is a :class:`FileHandler` which watches the file it is " -"logging to. If the file changes, it is closed and reopened using the file " -"name." +"The :class:`WatchedFileHandler` class, located in " +"the :mod:`logging.handlers` module, is a :class:`FileHandler` which watches " +"the file it is logging to. If the file changes, it is closed and reopened " +"using the file name." msgstr "" +"A classe :class:`WatchedFileHandler`, localizada no " +"módulo :mod:`logging.handlers`, é um :class:`FileHandler` que monitora o " +"arquivo no qual está registrando logs. Se o arquivo for alterado, ele é " +"fechado e reaberto usando o nome do arquivo." #: ../../library/logging.handlers.rst:167 msgid "" @@ -240,6 +292,13 @@ msgid "" "changed.) If the file has changed, the old file stream is closed, and the " "file opened to get a new stream." msgstr "" +"Uma alteração no arquivo pode ocorrer devido ao modo de usar de programas " +"como *newsyslog* e *logrotate*, que realizam a rotação de arquivos de log. " +"Este manipulador, destinado ao uso em Unix/Linux, monitora o arquivo para " +"verificar se ele foi alterado desde a última chamada a emit. (Considera-se " +"que um arquivo foi alterado se o seu dispositivo ou nó-i tiverem mudado.) Se " +"o arquivo tiver sido alterado, o fluxo do arquivo antigo é fechado, e o " +"arquivo é aberto novamente para obter um novo fluxo." #: ../../library/logging.handlers.rst:174 msgid "" @@ -249,17 +308,29 @@ msgid "" "*ST_INO* is not supported under Windows; :func:`~os.stat` always returns " "zero for this value." msgstr "" +"Este manipulador não é apropriado para uso no Windows, porque, nesse " +"sistema, arquivos de log abertos não podem ser movidos ou renomeados — o " +"logging abre os arquivos com travas exclusivas — e, portanto, não há " +"necessidade desse tipo de manipulador. Além disso, *ST_INO* não é suportado " +"no Windows; :func:`~os.stat` sempre retorna zero para esse valor." #: ../../library/logging.handlers.rst:183 msgid "" "Returns a new instance of the :class:`WatchedFileHandler` class. The " "specified file is opened and used as the stream for logging. If *mode* is " -"not specified, :const:`'a'` is used. If *encoding* is not ``None``, it is " -"used to open the file with that encoding. If *delay* is true, then file " -"opening is deferred until the first call to :meth:`emit`. By default, the " -"file grows indefinitely. If *errors* is provided, it determines how encoding " +"not specified, ``'a'`` is used. If *encoding* is not ``None``, it is used " +"to open the file with that encoding. If *delay* is true, then file opening " +"is deferred until the first call to :meth:`emit`. By default, the file " +"grows indefinitely. If *errors* is provided, it determines how encoding " "errors are handled." msgstr "" +"Retorna uma nova instância da classe :class:`WatchedFileHandler`. O arquivo " +"especificado é aberto e usado como o fluxo para registro de logs. Se *mode* " +"não for especificado, ``'a'`` será usado. Se encoding não for ``None``, ele " +"será usado para abrir o arquivo com essa codificação. Se *delay* for " +"verdadeiro, a abertura do arquivo é adiada até a primeira chamada " +"a :meth:`emit`. Por padrão, o arquivo cresce indefinidamente. Se *errors* " +"for fornecido, ele determina como erros de codificação são tratados." #: ../../library/logging.handlers.rst:199 msgid "" @@ -267,29 +338,40 @@ msgid "" "flushed and closed and the file opened again, typically as a precursor to " "outputting the record to the file." msgstr "" +"Verifica se o arquivo foi alterado. Se tiver sido, o fluxo existente é " +"descarregado e fechado, e o arquivo é aberto novamente, normalmente como um " +"passo preliminar antes de enviar o registro para o arquivo." #: ../../library/logging.handlers.rst:208 msgid "" "Outputs the record to the file, but first calls :meth:`reopenIfNeeded` to " "reopen the file if it has changed." msgstr "" +"Emite o registro para o arquivo, mas antes chama :meth:`reopenIfNeeded` para " +"reabrir o arquivo caso ele tenha sido alterado." #: ../../library/logging.handlers.rst:214 msgid "BaseRotatingHandler" -msgstr "" +msgstr "BaseRotatingHandler" #: ../../library/logging.handlers.rst:216 msgid "" -"The :class:`BaseRotatingHandler` class, located in the :mod:`logging." -"handlers` module, is the base class for the rotating file handlers, :class:" -"`RotatingFileHandler` and :class:`TimedRotatingFileHandler`. You should not " -"need to instantiate this class, but it has attributes and methods you may " -"need to override." +"The :class:`BaseRotatingHandler` class, located in " +"the :mod:`logging.handlers` module, is the base class for the rotating file " +"handlers, :class:`RotatingFileHandler` " +"and :class:`TimedRotatingFileHandler`. You should not need to instantiate " +"this class, but it has attributes and methods you may need to override." msgstr "" +"A classe :class:`BaseRotatingHandler`, localizada no " +"módulo :mod:`logging.handlers`, é a classe base para os tratadores de " +"arquivos com rotação, :class:`RotatingFileHandler` " +"e :class:`TimedRotatingFileHandler` Em geral, não é necessário instanciar " +"essa classe, mas ela possui atributos e métodos que podem precisar ser " +"substituídos." #: ../../library/logging.handlers.rst:224 msgid "The parameters are as for :class:`FileHandler`. The attributes are:" -msgstr "" +msgstr "Os parâmetros são os mesmos de :class:`FileHandler`. Os atributos são:" #: ../../library/logging.handlers.rst:228 msgid "" @@ -297,6 +379,9 @@ msgid "" "delegates to this callable. The parameters passed to the callable are those " "passed to :meth:`rotation_filename`." msgstr "" +"Se esse atributo for definido como um chamável, o " +"método :meth:`rotation_filename` delega a ele. Os parâmetros passados ao " +"chamável são os mesmos passados para :meth:`rotation_filename`." #: ../../library/logging.handlers.rst:232 msgid "" @@ -305,6 +390,10 @@ msgid "" "every time for a given input, otherwise the rollover behaviour may not work " "as expected." msgstr "" +"A função namer é chamada muitas vezes durante a rotação, portanto deve ser a " +"mais simples e rápida possível. Ela também deve retornar sempre o mesmo " +"resultado para uma dada entrada; caso contrário, o comportamento da rotação " +"pode não funcionar como esperado." #: ../../library/logging.handlers.rst:237 msgid "" @@ -317,11 +406,25 @@ msgid "" "determining the oldest files to delete. For this to happen, the filenames " "should be sortable using the date/time portion of the filename, and a namer " "needs to respect this. (If a namer is wanted that doesn't respect this " -"scheme, it will need to be used in a subclass of :class:" -"`TimedRotatingFileHandler` which overrides the :meth:" -"`~TimedRotatingFileHandler.getFilesToDelete` method to fit in with the " -"custom naming scheme.)" -msgstr "" +"scheme, it will need to be used in a subclass " +"of :class:`TimedRotatingFileHandler` which overrides " +"the :meth:`~TimedRotatingFileHandler.getFilesToDelete` method to fit in with " +"the custom naming scheme.)" +msgstr "" +"Também vale observar que é preciso ter cuidado ao usar um namer para " +"preservar certos atributo no nome do arquivo que são usados durante a " +"rotação. Por exemplo, :class:`RotatingFileHandler` espera ter um conjunto de " +"arquivos de log cujos nomes contenham inteiros sucessivos, para que a " +"rotação funcione como esperado, e :class:`TimedRotatingFileHandler` remova " +"arquivos de log antigos (com base no parâmetro ``backupCount`` passado ao " +"inicializador do manipulador) determinando quais são os arquivos mais " +"antigos a serem excluídos. Para que isso funcione, os nomes dos arquivos " +"devem ser ordenáveis usando a porção de data/hora do nome, e um namer " +"precisa respeitar isso. (Se for desejado um namer que não respeite esse " +"esquema, ele deverá ser usado em uma subclasse " +"de :class:`TimedRotatingFileHandler` que substitua o " +"método :meth:`~TimedRotatingFileHandler.getFilesToDelete` para se adequar ao " +"esquema de nomeação personalizado.)" #: ../../library/logging.handlers.rst:255 msgid "" @@ -329,14 +432,19 @@ msgid "" "to this callable. The parameters passed to the callable are those passed " "to :meth:`rotate`." msgstr "" +"Se este atributo estiver definido como um chamável, o método :meth:`rotate` " +"delega a esse chamável. Os parâmetros passados ao chamável são os mesmos " +"passados para :meth:`rotate`." #: ../../library/logging.handlers.rst:263 msgid "Modify the filename of a log file when rotating." -msgstr "" +msgstr "Modifica o nome do arquivo de log durante a rotação." #: ../../library/logging.handlers.rst:265 msgid "This is provided so that a custom filename can be provided." msgstr "" +"Isso é fornecido para que um nome de arquivo personalizado possa ser " +"providenciado." #: ../../library/logging.handlers.rst:267 msgid "" @@ -344,14 +452,17 @@ msgid "" "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 "" +"A implementação padrão chama o atributo namer do manipulador, se ele for " +"chamável, passando o nome padrão para ele. Se o atributo não for chamável (o " +"padrão é ``None``), o nome é devolvido sem alterações." #: ../../library/logging.handlers.rst:271 msgid "The default name for the log file." -msgstr "" +msgstr "O nome padrão para o arquivo de log." #: ../../library/logging.handlers.rst:278 msgid "When rotating, rotate the current log." -msgstr "" +msgstr "Quando ocorre a rotação, rotaciona o log atual." #: ../../library/logging.handlers.rst:280 msgid "" @@ -360,47 +471,66 @@ msgid "" "isn't callable (the default is ``None``), the source is simply renamed to " "the destination." msgstr "" +"A implementação padrão chama o atributo rotator do manipulador, se ele for " +"chamável, passando os argumentos source e dest para ele. Se o atributo não " +"for chamável (o padrão é ``None``), o arquivo de origem é simplesmente " +"renomeado para o destino." #: ../../library/logging.handlers.rst:285 msgid "" "The source filename. This is normally the base filename, e.g. 'test.log'." msgstr "" +"O nome do arquivo de origem. Normalmente, este é o nome base do arquivo, por " +"exemplo, 'test.log'." #: ../../library/logging.handlers.rst:287 msgid "" -"The destination filename. This is normally what the source is rotated to, e." -"g. 'test.log.1'." +"The destination filename. This is normally what the source is rotated to, " +"e.g. 'test.log.1'." msgstr "" +"O nome do arquivo de destino. Normalmente, é para onde o arquivo de origem é " +"rotacionado, por exemplo, 'test.log.1'." #: ../../library/logging.handlers.rst:292 msgid "" "The reason the attributes exist is to save you having to subclass - you can " -"use the same callables for instances of :class:`RotatingFileHandler` and :" -"class:`TimedRotatingFileHandler`. If either the namer or rotator callable " -"raises an exception, this will be handled in the same way as any other " -"exception during an :meth:`emit` call, i.e. via the :meth:`handleError` " -"method of the handler." -msgstr "" +"use the same callables for instances of :class:`RotatingFileHandler` " +"and :class:`TimedRotatingFileHandler`. If either the namer or rotator " +"callable raises an exception, this will be handled in the same way as any " +"other exception during an :meth:`emit` call, i.e. via " +"the :meth:`handleError` method of the handler." +msgstr "" +"O motivo da existência desses atributos é evitar que você precise criar " +"subclasses — é possível usar os mesmos chamáveis para instâncias " +"de :class:`RotatingFileHandler` e :class:`TimedRotatingFileHandler`. Se o " +"chamável namer ou rotator levantar uma exceção, ela será tratada da mesma " +"forma que qualquer outra exceção durante uma chamada a :meth:`emit`, isto é, " +"por meio do método :meth:`handleError` do manipulador." #: ../../library/logging.handlers.rst:299 msgid "" "If you need to make more significant changes to rotation processing, you can " "override the methods." msgstr "" +"Se precisar fazer alterações mais significativas no processamento de " +"rotação, você pode substituir os métodos." #: ../../library/logging.handlers.rst:302 msgid "For an example, see :ref:`cookbook-rotator-namer`." -msgstr "" +msgstr "Para um exemplo, consulte :ref:`cookbook-rotator-namer`." #: ../../library/logging.handlers.rst:308 msgid "RotatingFileHandler" -msgstr "" +msgstr "RotatingFileHandler" #: ../../library/logging.handlers.rst:310 msgid "" -"The :class:`RotatingFileHandler` class, located in the :mod:`logging." -"handlers` module, supports rotation of disk log files." +"The :class:`RotatingFileHandler` class, located in " +"the :mod:`logging.handlers` module, supports rotation of disk log files." msgstr "" +"A classe :class:`RotatingFileHandler`, localizada no " +"módulo :mod:`logging.handlers`, oferece suporte à rotação de arquivos de log " +"em disco." #: ../../library/logging.handlers.rst:316 msgid "" @@ -412,46 +542,76 @@ msgid "" "grows indefinitely. If *errors* is provided, it determines how encoding " "errors are handled." msgstr "" +"Retorna uma nova instância da classe :class:`RotatingFileHandler`. O arquivo " +"especificado é aberto e usado como o stream para logging. Se *mode* não for " +"especificado, ``'a'`` é usado. Se *encoding* não for ``None``, ele é usado " +"para abrir o arquivo com essa codificação. Se *delay* for verdadeiro, a " +"abertura do arquivo é adiada até a primeira chamada a :meth:`emit`. Por " +"padrão, o arquivo cresce indefinidamente. Se *errors* for fornecido, ele é " +"usado para determinar como erros de codificação são tratados." #: ../../library/logging.handlers.rst:323 msgid "" -"You can use the *maxBytes* and *backupCount* values to allow the file to :" -"dfn:`rollover` at a predetermined size. When the size is about to be " +"You can use the *maxBytes* and *backupCount* values to allow the file " +"to :dfn:`rollover` at a predetermined size. When the size is about to be " "exceeded, the file is closed and a new file is silently opened for output. " "Rollover occurs whenever the current log file is nearly *maxBytes* in " "length; but if either of *maxBytes* or *backupCount* is zero, rollover never " "occurs, so you generally want to set *backupCount* to at least 1, and have a " "non-zero *maxBytes*. When *backupCount* is non-zero, the system will save " "old log files by appending the extensions '.1', '.2' etc., to the filename. " -"For example, with a *backupCount* of 5 and a base file name of :file:`app." -"log`, you would get :file:`app.log`, :file:`app.log.1`, :file:`app.log.2`, " -"up to :file:`app.log.5`. The file being written to is always :file:`app." -"log`. When this file is filled, it is closed and renamed to :file:`app." -"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 "" +"For example, with a *backupCount* of 5 and a base file name " +"of :file:`app.log`, you would " +"get :file:`app.log`, :file:`app.log.1`, :file:`app.log.2`, up " +"to :file:`app.log.5`. The file being written to is always :file:`app.log`. " +"When this file is filled, it is closed and renamed to :file:`app.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 "" +"Você pode usar os valores *maxBytes* e *backupCount* para permitir que o " +"arquivo faça :dfn:`rollover` em um tamanho predeterminado. Quando o tamanho " +"está prestes a ser excedido, o arquivo é fechado e um novo arquivo é aberto " +"silenciosamente para saída. A rotação ocorre sempre que o arquivo de log " +"atual está próximo de *maxBytes* em comprimento; mas, se *maxBytes* ou " +"*backupCount* for zero, a rotação nunca ocorre, portanto, em geral, você " +"deve definir *backupCount* como pelo menos 1 e usar um *maxBytes* diferente " +"de zero. Quando *backupCount* é diferente de zero, o sistema salva arquivos " +"de log antigos acrescentando as extensões '.1', '.2' etc. ao nome do " +"arquivo. Por exemplo, com um *backupCount* de 5 e um nome de arquivo " +"base :file:`app.log`, você " +"terá :file:`app.log`, :file:`app.log.1`, :file:`app.log.2`, " +"até :file:`app.log.5`. O arquivo no qual se escreve é " +"sempre :file:`app.log`. Quando esse arquivo é preenchido, ele é fechado e " +"renomeado para :file:`app.log.1` e, se existirem os " +"arquivos :file:`app.log.1`, :file:`app.log.2` etc., eles são renomeados " +"para :file:`app.log.2`, :file:`app.log.3` etc., respectivamente." #: ../../library/logging.handlers.rst:347 #: ../../library/logging.handlers.rst:453 msgid "Does a rollover, as described above." -msgstr "" +msgstr "Realiza uma rotação, conforme descrito acima." #: ../../library/logging.handlers.rst:352 msgid "" "Outputs the record to the file, catering for rollover as described " "previously." msgstr "" +"Grava o registro no arquivo, tratando a rotação conforme descrito " +"anteriormente." #: ../../library/logging.handlers.rst:358 msgid "TimedRotatingFileHandler" -msgstr "" +msgstr "TimedRotatingFileHandler" #: ../../library/logging.handlers.rst:360 msgid "" -"The :class:`TimedRotatingFileHandler` class, located in the :mod:`logging." -"handlers` module, supports rotation of disk log files at certain timed " -"intervals." +"The :class:`TimedRotatingFileHandler` class, located in " +"the :mod:`logging.handlers` module, supports rotation of disk log files at " +"certain timed intervals." msgstr "" +"A classe :class:`TimedRotatingFileHandler`, localizada no " +"módulo :mod:`logging.handlers`, oferece suporte à rotação de arquivos de log " +"em disco em intervalos de tempo determinados." #: ../../library/logging.handlers.rst:367 msgid "" @@ -460,12 +620,19 @@ msgid "" "also sets the filename suffix. Rotating happens based on the product of " "*when* and *interval*." msgstr "" +"Retorna uma nova instância da classe :class:`TimedRotatingFileHandler`. O " +"arquivo especificado é aberto e usado como fluxo para o logging. Durante a " +"rotação, o sufixo do nome do arquivo também é definido. A rotação ocorre com " +"base no produto de *when* e *interval*." #: ../../library/logging.handlers.rst:372 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 "" +"Você pode usar o *when* para especificar o tipo de *intervalo*. A lista de " +"possíveis valores está abaixo. Observe que eles não diferenciam maiúsculas " +"de minúsculas." #: ../../library/logging.handlers.rst:376 msgid "Value" @@ -473,11 +640,11 @@ msgstr "Valor" #: ../../library/logging.handlers.rst:376 msgid "Type of interval" -msgstr "" +msgstr "Tipo de intervalo" #: ../../library/logging.handlers.rst:376 msgid "If/how *atTime* is used" -msgstr "" +msgstr "Se/como *atTime* é usado" #: ../../library/logging.handlers.rst:378 msgid "``'S'``" @@ -485,14 +652,14 @@ msgstr "``'S'``" #: ../../library/logging.handlers.rst:378 msgid "Seconds" -msgstr "" +msgstr "Segundos" #: ../../library/logging.handlers.rst:378 #: ../../library/logging.handlers.rst:380 #: ../../library/logging.handlers.rst:382 #: ../../library/logging.handlers.rst:384 msgid "Ignored" -msgstr "" +msgstr "Ignorado" #: ../../library/logging.handlers.rst:380 msgid "``'M'``" @@ -500,7 +667,7 @@ msgstr "``'M'``" #: ../../library/logging.handlers.rst:380 msgid "Minutes" -msgstr "" +msgstr "Minutos" #: ../../library/logging.handlers.rst:382 msgid "``'H'``" @@ -524,12 +691,12 @@ msgstr "``'W0'-'W6'``" #: ../../library/logging.handlers.rst:386 msgid "Weekday (0=Monday)" -msgstr "" +msgstr "Dia da semana (0=Segunda)" #: ../../library/logging.handlers.rst:386 #: ../../library/logging.handlers.rst:389 msgid "Used to compute initial rollover time" -msgstr "" +msgstr "Usado para calcular o tempo inicial de rotação" #: ../../library/logging.handlers.rst:389 msgid "``'midnight'``" @@ -538,6 +705,8 @@ msgstr "``'midnight'``" #: ../../library/logging.handlers.rst:389 msgid "Roll over at midnight, if *atTime* not specified, else at time *atTime*" msgstr "" +"Faz a rotação à meia-noite, se *atTime* não for especificado; caso " +"contrário, no horário *atTime*." #: ../../library/logging.handlers.rst:394 msgid "" @@ -545,6 +714,9 @@ msgid "" "Tuesday, and so on up to 'W6' for Sunday. In this case, the value passed for " "*interval* isn't used." msgstr "" +"Ao usar rotação baseada em dia da semana, especifique 'W0' para segunda-" +"feira, 'W1' para terça-feira, e assim por diante até 'W6' para domingo. " +"Nesse caso, o valor passado para *interval* não é utilizado." #: ../../library/logging.handlers.rst:398 msgid "" @@ -553,6 +725,10 @@ msgid "" "%d_%H-%M-%S`` or a leading portion thereof, depending on the rollover " "interval." msgstr "" +"O sistema salvará arquivos de log antigos acrescentando extensões ao nome do " +"arquivo. As extensões são baseadas em data e hora, usando o formato strftime " +"``%Y-%m-%d_%H-%M-%S`` ou uma porção inicial dele, dependendo do intervalo de " +"rollover." #: ../../library/logging.handlers.rst:403 msgid "" @@ -560,12 +736,18 @@ msgid "" "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 "" +"Quando a próximo rotação é calculada pela primeira vez (no momento em que o " +"manipulador é criado), o tempo da última modificação de um arquivo de log " +"existente — ou, caso contrário, o tempo atual — é usado para determinar " +"quando a próxima rotação ocorrerá." #: ../../library/logging.handlers.rst:407 msgid "" "If the *utc* argument is true, times in UTC will be used; otherwise local " "time is used." msgstr "" +"Se o argumento *utc* for verdadeiro, serão usados horários em Horário " +"Universal Coordenado (UTC); caso contrário, será usado o horário local." #: ../../library/logging.handlers.rst:410 msgid "" @@ -574,12 +756,19 @@ msgid "" "The deletion logic uses the interval to determine which files to delete, so " "changing the interval may leave old files lying around." msgstr "" +"Se *backupCount* for diferente de zero, no máximo *backupCount* arquivos " +"serão mantidos, e, se mais arquivos fossem criados quando ocorrer a rotação, " +"o mais antigo será excluído. A lógica de exclusão usa o interval para " +"determinar quais arquivos devem ser removidos; assim, alterar o intervalo " +"pode deixar arquivos antigos remanescentes." #: ../../library/logging.handlers.rst:415 msgid "" -"If *delay* is true, then file opening is deferred until the first call to :" -"meth:`emit`." +"If *delay* is true, then file opening is deferred until the first call " +"to :meth:`emit`." msgstr "" +"Se *delay* for verdadeiro, a abertura do arquivo será adiada até a primeira " +"chamada para :meth:`emit`." #: ../../library/logging.handlers.rst:418 msgid "" @@ -590,12 +779,20 @@ msgid "" "*initial* rollover, and subsequent rollovers would be calculated via the " "normal interval calculation." msgstr "" +"Se *atTime* não for ``None``, ele deve ser uma instância de " +"``datetime.time`` que especifica a hora do dia em que ocorre a rotação, nos " +"casos em que a rotação está configurada para acontecer “à meia-noite” ou “em " +"um determinado dia da semana”. Observe que, nesses casos, o valor de " +"*atTime* é efetivamente usado para calcular a rotação inicial, e as rotações " +"subsequentes são calculadas por meio do cálculo normal do intervalo." #: ../../library/logging.handlers.rst:425 msgid "" "If *errors* is specified, it's used to determine how encoding errors are " "handled." msgstr "" +"Se *erros* for especificado, ele será usado para determinar como erros de " +"codificação são tratados." #: ../../library/logging.handlers.rst:428 msgid "" @@ -611,15 +808,30 @@ 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 "" +"O cálculo do tempo da rotação inicial é feito quando o manipulador é " +"inicializado. O cálculo dos tempos de rotações subsequentes é feito apenas " +"quando ocorre uma rotação, e a rotação ocorre somente quando há emissão de " +"saída. Se isso não for levado em consideração, pode causar alguma confusão. " +"Por exemplo, se for definido um intervalo de “a cada minuto”, isso não " +"significa que você sempre verá arquivos de log com horários (no nome do " +"arquivo) separados por um minuto; se, durante a execução da aplicação, a " +"saída de log for gerada com maior frequência do que uma vez por minuto, " +"então você pode esperar observar arquivos de log com horários separados por " +"um minuto. Se, por outro lado, as mensagens de log forem emitidas apenas uma " +"vez a cada cinco minutos (por exemplo), então haverá lacunas nos horários " +"dos arquivos correspondentes aos minutos em que não houve saída (e, " +"portanto, nenhuma rotação)." #: ../../library/logging.handlers.rst:441 msgid "*atTime* parameter was added." -msgstr "" +msgstr "parâmetro *atTime* foi adicionado." #: ../../library/logging.handlers.rst:457 msgid "" "Outputs the record to the file, catering for rollover as described above." msgstr "" +"Emite o registro para o arquivo, com a preparação para a rotação, conforme " +"descrito acima." #: ../../library/logging.handlers.rst:461 msgid "" @@ -627,10 +839,13 @@ msgid "" "These are the absolute paths of the oldest backup log files written by the " "handler." msgstr "" +"Retorna uma lista de nomes de arquivos que devem ser excluídos como parte da " +"rotação. Esses são os caminhos absolutos dos arquivos de log de backup mais " +"antigos gravados pelo manipulador." #: ../../library/logging.handlers.rst:467 msgid "SocketHandler" -msgstr "" +msgstr "SocketHandler" #: ../../library/logging.handlers.rst:469 msgid "" @@ -638,6 +853,9 @@ msgid "" "module, sends logging output to a network socket. The base class uses a TCP " "socket." msgstr "" +"A classe :class:`SocketHandler`, localizada no " +"módulo :mod:`logging.handlers`, envia a saída de logging para um soquete de " +"rede. A classe base utiliza um soquete TCP." #: ../../library/logging.handlers.rst:475 msgid "" @@ -645,25 +863,38 @@ msgid "" "communicate with a remote machine whose address is given by *host* and " "*port*." msgstr "" +"Retorna uma nova instância da classe :class:`SocketHandler`, destinada a se " +"comunicar com uma máquina remota cujo endereço é fornecido por *host* e " +"*port*." #: ../../library/logging.handlers.rst:478 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 "" +"Se ``port`` for especificado como ``None``, um Soquete de domínio Unix será " +"criado usando o valor em ``host`` - caso contrário, um soquete TCP será " +"criado." #: ../../library/logging.handlers.rst:484 msgid "Closes the socket." -msgstr "" +msgstr "Fecha o soquete." #: ../../library/logging.handlers.rst:489 msgid "" "Pickles the record's attribute dictionary and writes it to the socket in " "binary format. If there is an error with the socket, silently drops the " "packet. If the connection was previously lost, re-establishes the " -"connection. To unpickle the record at the receiving end into a :class:" -"`~logging.LogRecord`, use the :func:`~logging.makeLogRecord` function." +"connection. To unpickle the record at the receiving end into " +"a :class:`~logging.LogRecord`, use the :func:`~logging.makeLogRecord` " +"function." msgstr "" +"Serializa com pickle o dicionário de atributos do registro e o grava no " +"soquete em formato binário. Se houver um erro com o soquete, o pacote é " +"descartado silenciosamente. Se a conexão tiver sido perdida anteriormente, " +"ela é restabelecida. Para desserializar com pickle o registro no lado " +"receptor em um :class:`~logging.LogRecord`, use a " +"função :func:`~logging.makeLogRecord`." #: ../../library/logging.handlers.rst:499 msgid "" @@ -671,13 +902,19 @@ msgid "" "cause is a lost connection. Closes the socket so that we can retry on the " "next event." msgstr "" +"Trata um erro ocorrido durante :meth:`emit`. A causa mais provável é a perda " +"da conexão. Fecha o soquete para que seja possível tentar novamente no " +"próximo evento." #: ../../library/logging.handlers.rst:506 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`)." +"of socket they want. The default implementation creates a TCP socket " +"(:const:`socket.SOCK_STREAM`)." msgstr "" +"Este é um método de fábrica que permite que subclasses definam o tipo exato " +"de soquete que desejam. A implementação padrão cria um soquete TCP " +"(:const:`socket.SOCK_STREAM`)." #: ../../library/logging.handlers.rst:513 msgid "" @@ -685,6 +922,9 @@ msgid "" "prefix, and returns it ready for transmission across the socket. The details " "of this operation are equivalent to::" msgstr "" +"Serializa com pickle o dicionário de atributos do registro em formato " +"binário com um prefixo de comprimento e o retorna pronto para transmissão " +"através do socket. Os detalhes dessa operação são equivalentes a::" #: ../../library/logging.handlers.rst:521 msgid "" @@ -694,19 +934,30 @@ msgid "" "on the receiving end, or alternatively you can disable unpickling of global " "objects on the receiving end." msgstr "" +"Observe que os pickles não são completamente seguros. Se você estiver " +"preocupado com a segurança, pode ser necessário substituir este método para " +"implementar um mecanismo mais seguro. Por exemplo, você pode assinar os " +"pickles usando HMAC e depois verificá-los no lado receptor, ou " +"alternativamente pode desativar a desserialização com pickle de objetos " +"globais no lado receptor." #: ../../library/logging.handlers.rst:530 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`." +"byte-string is as described in the documentation " +"for :meth:`~SocketHandler.makePickle`." msgstr "" +"Envia para o soquete uma string de bytes serializada com pickle denominada " +"*packet*. O formato da string de bytes enviada é o descrito na documentação " +"de :meth:`~SocketHandler.makePickle`." #: ../../library/logging.handlers.rst:534 msgid "" "This function allows for partial sends, which can happen when the network is " "busy." msgstr "" +"Este função permite envios parciais, que podem ocorrer quando a rede está " +"ocupada." #: ../../library/logging.handlers.rst:540 msgid "" @@ -718,22 +969,30 @@ 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 "" +"Tenta criar um soquete; em caso de falha, utiliza um algoritmo de back-off " +"exponencial. Na falha inicial, o manipulador descarta a mensagem que estava " +"tentando enviar. Quando mensagens subsequentes são tratadas pela mesma " +"instância, ela não tentará se reconectar até que algum tempo tenha passado. " +"Os parâmetros padrão são tais que o atraso inicial é de um segundo e, se " +"após esse atraso a conexão ainda não puder ser estabelecida, o manipulador " +"dobrará o atraso a cada tentativa, até um máximo de 30 segundos." #: ../../library/logging.handlers.rst:548 msgid "This behaviour is controlled by the following handler attributes:" msgstr "" +"Este comportamento é controlado pelo seguintes atributos do manipulador:" #: ../../library/logging.handlers.rst:550 msgid "``retryStart`` (initial delay, defaulting to 1.0 seconds)." -msgstr "" +msgstr "``retryStart`` (atraso inicial, padrão de 1,0 segundo)." #: ../../library/logging.handlers.rst:551 msgid "``retryFactor`` (multiplier, defaulting to 2.0)." -msgstr "" +msgstr "``retryFactor`` (multiplicador, com padrão de 2,0)." #: ../../library/logging.handlers.rst:552 msgid "``retryMax`` (maximum delay, defaulting to 30.0 seconds)." -msgstr "" +msgstr "``retryMax`` (atraso máximo, padrão de 30,0 segundos)." #: ../../library/logging.handlers.rst:554 msgid "" @@ -742,10 +1001,14 @@ msgid "" "connection until the delay has elapsed, but just silently drop messages " "during the delay period)." msgstr "" +"Isso significa que, se o ouvinte remoto iniciar após o manipulador já ter " +"sido utilizado, mensagens podem ser perdidas (pois o manipulador nem sequer " +"tentará estabelecer uma conexão até que o atraso tenha decorrido, apenas " +"descartando silenciosamente as mensagens durante esse período de atraso)." #: ../../library/logging.handlers.rst:563 msgid "DatagramHandler" -msgstr "" +msgstr "DatagramHandler" #: ../../library/logging.handlers.rst:565 msgid "" @@ -753,6 +1016,9 @@ msgid "" "module, inherits from :class:`SocketHandler` to support sending logging " "messages over UDP sockets." msgstr "" +"A classe :class:`DatagramHandler`, localizada no " +"módulo :mod:`logging.handlers`, herda de :class:`SocketHandler` para " +"oferecer suporte ao envio de mensagens de log por meio de soquetes UDP." #: ../../library/logging.handlers.rst:572 msgid "" @@ -760,6 +1026,9 @@ msgid "" "communicate with a remote machine whose address is given by *host* and " "*port*." msgstr "" +"Retorna uma nova instância da classe :class:`DatagramHandler`, destinada a " +"se comunicar com uma máquina remota cujo endereço é fornecido por *host* e " +"*port*." #: ../../library/logging.handlers.rst:575 msgid "" @@ -770,42 +1039,65 @@ msgid "" "you, you can do a lookup yourself and initialize this handler using the " "looked-up IP address rather than the hostname." msgstr "" +"Como o UDP não é um protocolo de fluxo contínuo, não há uma conexão " +"persistente entre uma instância deste manipulador e host. Por esse motivo, " +"ao usar um soquete de rede, pode ser necessário realizar uma consulta DNS a " +"cada vez que um evento é registrado, o que pode introduzir alguma latência " +"no sistema. Se isso for um problema para você, pode realizar a consulta " +"manualmente e inicializar este manipulador usando o endereço IP obtido, em " +"vez do nome do host." #: ../../library/logging.handlers.rst:582 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 "" +"Se ``port`` for especificado como ``None``, um soquete de domínio Unix é " +"criado usando o valor de ``host``; caso contrário, é criado um soquete UDP." #: ../../library/logging.handlers.rst:588 msgid "" "Pickles the record's attribute dictionary and writes it to the socket in " "binary format. If there is an error with the socket, silently drops the " -"packet. To unpickle the record at the receiving end into a :class:`~logging." -"LogRecord`, use the :func:`~logging.makeLogRecord` function." +"packet. To unpickle the record at the receiving end into " +"a :class:`~logging.LogRecord`, use the :func:`~logging.makeLogRecord` " +"function." msgstr "" +"Serializa com pickle o dicionário de atributos do registro e o grava no " +"soquete em formato binário. Se houver um erro com o soquete, o pacote é " +"descartado silenciosamente. Para desserializar com pickle o registro no lado " +"receptor em um :class:`~logging.LogRecord`, use a " +"função :func:`~logging.makeLogRecord`." #: ../../library/logging.handlers.rst:597 msgid "" "The factory method of :class:`SocketHandler` is here overridden to create a " "UDP socket (:const:`socket.SOCK_DGRAM`)." msgstr "" +"A método de fábrica de :class:`SocketHandler` aqui é substituído para criar " +"um soquete UDP (:const:`socket.SOCK_DGRAM`)." #: ../../library/logging.handlers.rst:603 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 "" +"Envia uma sequência de bytes serializada com pickle para um soquete. O " +"formato da sequência de bytes enviada é conforme descrito na documentação " +"de :meth:`SocketHandler.makePickle`." #: ../../library/logging.handlers.rst:610 msgid "SysLogHandler" -msgstr "" +msgstr "SysLogHandler" #: ../../library/logging.handlers.rst:612 msgid "" "The :class:`SysLogHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to a remote or local Unix syslog." msgstr "" +"A classe :class:`SysLogHandler`, localizada no " +"módulo :mod:`logging.handlers`, oferece suporte ao envio de mensagens de log " +"para um syslog Unix remoto ou local." #: ../../library/logging.handlers.rst:618 msgid "" @@ -815,23 +1107,32 @@ msgid "" "``('localhost', 514)`` is used. The address is used to open a socket. An " "alternative to providing a ``(host, port)`` tuple is providing an address as " "a string, for example '/dev/log'. In this case, a Unix domain socket is used " -"to send the message to the syslog. If *facility* is not specified, :const:" -"`LOG_USER` is used. The type of socket opened depends on the *socktype* " -"argument, which defaults to :const:`socket.SOCK_DGRAM` and thus opens a UDP " -"socket. To open a TCP socket (for use with the newer syslog daemons such as " -"rsyslog), specify a value of :const:`socket.SOCK_STREAM`." +"to send the message to the syslog. If *facility* is not " +"specified, :const:`LOG_USER` is used. The type of socket opened depends on " +"the *socktype* argument, which defaults to :const:`socket.SOCK_DGRAM` and " +"thus opens a UDP socket. To open a TCP socket (for use with the newer syslog " +"daemons such as rsyslog), specify a value of :const:`socket.SOCK_STREAM`." msgstr "" #: ../../library/logging.handlers.rst:630 msgid "" -"Note that if your server is not listening on UDP port 514, :class:" -"`SysLogHandler` may appear not to work. In that case, check what address you " -"should be using for a domain socket - it's system dependent. For example, on " -"Linux it's usually '/dev/log' but on OS/X it's '/var/run/syslog'. You'll " -"need to check your platform and use the appropriate address (you may need to " -"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 "" +"Note that if your server is not listening on UDP port " +"514, :class:`SysLogHandler` may appear not to work. In that case, check what " +"address you should be using for a domain socket - it's system dependent. For " +"example, on Linux it's usually '/dev/log' but on OS/X it's '/var/run/" +"syslog'. You'll need to check your platform and use the appropriate address " +"(you may need to 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 "" +"Observe que, se o seu servidor não estiver escutando na porta UDP 514, " +"o :class:`SysLogHandler` pode parecer não funcionar. Nesse caso, verifique " +"qual endereço deve ser usado para um soquete de domínio — isso depende do " +"sistema. Por exemplo, no Linux geralmente é '/dev/log', enquanto no OS/X é '/" +"var/run/syslog'. Será necessário verificar a sua plataforma e usar o " +"endereço apropriado (talvez seja preciso fazer essa verificação em tempo de " +"execução se a aplicação precisar rodar em várias plataformas). No Windows, " +"praticamente é necessário usar a opção UDP." #: ../../library/logging.handlers.rst:639 msgid "" @@ -839,37 +1140,45 @@ msgid "" "daemon - it no longer listens on a domain socket. Therefore, you cannot " "expect :class:`SysLogHandler` to work on this system." msgstr "" +"No macOS 12.x (Monterey), a Apple alterou o comportamento do daemon syslog — " +"ele não escuta mais em um soquete de domínio. Portanto, não é possível " +"esperar que :class:`SysLogHandler` funcione nesse sistema." #: ../../library/logging.handlers.rst:643 msgid "See :gh:`91070` for more information." -msgstr "" +msgstr "Consulte :gh:`91070` para obter mais informações." #: ../../library/logging.handlers.rst:645 msgid "*socktype* was added." -msgstr "" +msgstr "*socktype* foi adicionado." #: ../../library/logging.handlers.rst:651 msgid "Closes the socket to the remote host." -msgstr "" +msgstr "Fecha o soquete para o host remoto." #: ../../library/logging.handlers.rst:655 msgid "" "Tries to create a socket and, if it's not a datagram socket, connect it to " "the other end. This method is called during handler initialization, but it's " "not regarded as an error if the other end isn't listening at this point - " -"the method will be called again when emitting an event, if but it's not " -"regarded as an error if the other end isn't listening yet --- the method " -"will be called again when emitting an event, if there is no socket at that " -"point." +"the method will be called again when emitting an event, if there is no " +"socket at that point." msgstr "" +"Tenta criar um soquete e, se ele não for um soquete de datagrama, conectá-lo " +"à outra extremidade. Este método é chamado durante a inicialização do " +"manipulador, mas não é considerado um erro se a outra extremidade não " +"estiver escutando nesse momento — o método será chamado novamente ao emitir " +"um evento, caso não haja um soquete nesse ponto." -#: ../../library/logging.handlers.rst:667 +#: ../../library/logging.handlers.rst:665 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 "" +"O registro é formatado e, em seguida, enviado ao servidor syslog. Se houver " +"informações de exceção, elas *não* são enviadas ao servidor." -#: ../../library/logging.handlers.rst:670 +#: ../../library/logging.handlers.rst:668 msgid "" "(See: :issue:`12168`.) In earlier versions, the message sent to the syslog " "daemons was always terminated with a NUL byte, because early versions of " @@ -879,8 +1188,15 @@ msgid "" "more recent daemons (which adhere more closely to RFC 5424) pass the NUL " "byte on as part of the message." msgstr "" +"(Veja: :issue:`12168`.) Em versões anteriores, a mensagem enviada aos " +"daemons syslog era sempre terminada com um byte NUL, porque versões antigas " +"desses daemons esperavam uma mensagem terminada em NUL — embora isso não " +"conste na especificação relevante (:rfc:`5424`). Versões mais recentes " +"desses daemons não esperam o byte NUL, mas o removem caso esteja presente, e " +"daemons ainda mais recentes (que aderem mais de perto à RFC 5424) repassam o " +"byte NUL como parte da mensagem." -#: ../../library/logging.handlers.rst:679 +#: ../../library/logging.handlers.rst:677 msgid "" "To enable easier handling of syslog messages in the face of all these " "differing daemon behaviours, the appending of the NUL byte has been made " @@ -889,8 +1205,14 @@ msgid "" "to ``False`` on a ``SysLogHandler`` instance in order for that instance to " "*not* append the NUL terminator." msgstr "" +"Para facilitar o tratamento de mensagens do syslog diante de todos esses " +"comportamentos distintos dos daemons, a adição do byte NUL tornou-se " +"configurável por meio de um atributo em nível de classe, ``append_nul`` O " +"valor padrão é ``True`` (preservando o comportamento existente), mas pode " +"ser definido como ``False`` em uma instância de ``SysLogHandler`` para que " +"essa instância não acrescente o terminador NUL." -#: ../../library/logging.handlers.rst:686 +#: ../../library/logging.handlers.rst:684 msgid "" "(See: :issue:`12419`.) In earlier versions, there was no facility for an " "\"ident\" or \"tag\" prefix to identify the source of the message. This can " @@ -900,263 +1222,275 @@ 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 "" +"(Consulte: :issue:`12419`) Em versões anteriores, não havia uma instalação " +"para um prefixo \"ident\" ou \"tag\" para identificar a origem da mensagem. " +"Isso agora pode ser especificado usando um atributo de nível de classe, que " +"por padrão é ``\"\"`` para preservar o comportamento existente, mas pode ser " +"substituído em uma instância de ``SysLogHandler`` para que essa instância " +"adicione o ident a cada mensagem manipulada. Observe que o ident fornecido " +"deve ser texto, não bytes, e é adicionado à mensagem exatamente como está." -#: ../../library/logging.handlers.rst:697 +#: ../../library/logging.handlers.rst:695 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 "" +"Codifica a instalação e a prioridade em um inteiro. Você pode passar strings " +"ou inteiros — se strings forem passadas, dicionários de mapeamento internos " +"são usados para convertê-las em inteiros." -#: ../../library/logging.handlers.rst:701 +#: ../../library/logging.handlers.rst:699 msgid "" "The symbolic ``LOG_`` values are defined in :class:`SysLogHandler` and " "mirror the values defined in the ``sys/syslog.h`` header file." msgstr "" +"Os valores simbólicos ``LOG_`` são definidos em :class:`SysLogHandler` e " +"espelham os valores definidos no arquivo de cabeçalho ``sys/syslog.h``." -#: ../../library/logging.handlers.rst:704 +#: ../../library/logging.handlers.rst:702 msgid "**Priorities**" -msgstr "" +msgstr "**Prioridades**" -#: ../../library/logging.handlers.rst:707 -#: ../../library/logging.handlers.rst:729 +#: ../../library/logging.handlers.rst:705 +#: ../../library/logging.handlers.rst:727 msgid "Name (string)" -msgstr "" +msgstr "Nome (string)" -#: ../../library/logging.handlers.rst:707 -#: ../../library/logging.handlers.rst:729 +#: ../../library/logging.handlers.rst:705 +#: ../../library/logging.handlers.rst:727 msgid "Symbolic value" -msgstr "" +msgstr "Valor simbólico" -#: ../../library/logging.handlers.rst:709 +#: ../../library/logging.handlers.rst:707 msgid "``alert``" msgstr "``alert``" -#: ../../library/logging.handlers.rst:709 +#: ../../library/logging.handlers.rst:707 msgid "LOG_ALERT" -msgstr "" +msgstr "LOG_ALERT" -#: ../../library/logging.handlers.rst:711 +#: ../../library/logging.handlers.rst:709 msgid "``crit`` or ``critical``" -msgstr "" +msgstr "``crit`` ou ``critical``" -#: ../../library/logging.handlers.rst:711 +#: ../../library/logging.handlers.rst:709 msgid "LOG_CRIT" -msgstr "" +msgstr "LOG_CRIT" -#: ../../library/logging.handlers.rst:713 +#: ../../library/logging.handlers.rst:711 msgid "``debug``" msgstr "``debug``" -#: ../../library/logging.handlers.rst:713 +#: ../../library/logging.handlers.rst:711 msgid "LOG_DEBUG" -msgstr "" +msgstr "LOG_DEBUG" -#: ../../library/logging.handlers.rst:715 +#: ../../library/logging.handlers.rst:713 msgid "``emerg`` or ``panic``" msgstr "" -#: ../../library/logging.handlers.rst:715 +#: ../../library/logging.handlers.rst:713 msgid "LOG_EMERG" msgstr "LOG_EMERG" -#: ../../library/logging.handlers.rst:717 +#: ../../library/logging.handlers.rst:715 msgid "``err`` or ``error``" msgstr "``err`` ou ``error``" -#: ../../library/logging.handlers.rst:717 +#: ../../library/logging.handlers.rst:715 msgid "LOG_ERR" msgstr "LOG_ERR" -#: ../../library/logging.handlers.rst:719 +#: ../../library/logging.handlers.rst:717 msgid "``info``" msgstr "``info``" -#: ../../library/logging.handlers.rst:719 +#: ../../library/logging.handlers.rst:717 msgid "LOG_INFO" msgstr "" -#: ../../library/logging.handlers.rst:721 +#: ../../library/logging.handlers.rst:719 msgid "``notice``" msgstr "``notice``" -#: ../../library/logging.handlers.rst:721 +#: ../../library/logging.handlers.rst:719 msgid "LOG_NOTICE" msgstr "" -#: ../../library/logging.handlers.rst:723 +#: ../../library/logging.handlers.rst:721 msgid "``warn`` or ``warning``" msgstr "" -#: ../../library/logging.handlers.rst:723 +#: ../../library/logging.handlers.rst:721 msgid "LOG_WARNING" msgstr "" -#: ../../library/logging.handlers.rst:726 +#: ../../library/logging.handlers.rst:724 msgid "**Facilities**" msgstr "" -#: ../../library/logging.handlers.rst:731 +#: ../../library/logging.handlers.rst:729 msgid "``auth``" msgstr "``auth``" -#: ../../library/logging.handlers.rst:731 +#: ../../library/logging.handlers.rst:729 msgid "LOG_AUTH" msgstr "" -#: ../../library/logging.handlers.rst:733 +#: ../../library/logging.handlers.rst:731 msgid "``authpriv``" msgstr "``authpriv``" -#: ../../library/logging.handlers.rst:733 +#: ../../library/logging.handlers.rst:731 msgid "LOG_AUTHPRIV" msgstr "" -#: ../../library/logging.handlers.rst:735 +#: ../../library/logging.handlers.rst:733 msgid "``cron``" msgstr "``cron``" -#: ../../library/logging.handlers.rst:735 +#: ../../library/logging.handlers.rst:733 msgid "LOG_CRON" msgstr "" -#: ../../library/logging.handlers.rst:737 +#: ../../library/logging.handlers.rst:735 msgid "``daemon``" msgstr "``daemon``" -#: ../../library/logging.handlers.rst:737 +#: ../../library/logging.handlers.rst:735 msgid "LOG_DAEMON" msgstr "" -#: ../../library/logging.handlers.rst:739 +#: ../../library/logging.handlers.rst:737 msgid "``ftp``" msgstr "``ftp``" -#: ../../library/logging.handlers.rst:739 +#: ../../library/logging.handlers.rst:737 msgid "LOG_FTP" msgstr "" -#: ../../library/logging.handlers.rst:741 +#: ../../library/logging.handlers.rst:739 msgid "``kern``" msgstr "``kern``" -#: ../../library/logging.handlers.rst:741 +#: ../../library/logging.handlers.rst:739 msgid "LOG_KERN" msgstr "" -#: ../../library/logging.handlers.rst:743 +#: ../../library/logging.handlers.rst:741 msgid "``lpr``" msgstr "``lpr``" -#: ../../library/logging.handlers.rst:743 +#: ../../library/logging.handlers.rst:741 msgid "LOG_LPR" msgstr "" -#: ../../library/logging.handlers.rst:745 +#: ../../library/logging.handlers.rst:743 msgid "``mail``" msgstr "``mail``" -#: ../../library/logging.handlers.rst:745 +#: ../../library/logging.handlers.rst:743 msgid "LOG_MAIL" msgstr "" -#: ../../library/logging.handlers.rst:747 +#: ../../library/logging.handlers.rst:745 msgid "``news``" msgstr "``news``" -#: ../../library/logging.handlers.rst:747 +#: ../../library/logging.handlers.rst:745 msgid "LOG_NEWS" msgstr "" -#: ../../library/logging.handlers.rst:749 +#: ../../library/logging.handlers.rst:747 msgid "``syslog``" msgstr "``syslog``" -#: ../../library/logging.handlers.rst:749 +#: ../../library/logging.handlers.rst:747 msgid "LOG_SYSLOG" msgstr "" -#: ../../library/logging.handlers.rst:751 +#: ../../library/logging.handlers.rst:749 msgid "``user``" msgstr "``user``" -#: ../../library/logging.handlers.rst:751 +#: ../../library/logging.handlers.rst:749 msgid "LOG_USER" msgstr "" -#: ../../library/logging.handlers.rst:753 +#: ../../library/logging.handlers.rst:751 msgid "``uucp``" msgstr "``uucp``" -#: ../../library/logging.handlers.rst:753 +#: ../../library/logging.handlers.rst:751 msgid "LOG_UUCP" msgstr "" -#: ../../library/logging.handlers.rst:755 +#: ../../library/logging.handlers.rst:753 msgid "``local0``" msgstr "``local0``" -#: ../../library/logging.handlers.rst:755 +#: ../../library/logging.handlers.rst:753 msgid "LOG_LOCAL0" msgstr "" -#: ../../library/logging.handlers.rst:757 +#: ../../library/logging.handlers.rst:755 msgid "``local1``" msgstr "``local1``" -#: ../../library/logging.handlers.rst:757 +#: ../../library/logging.handlers.rst:755 msgid "LOG_LOCAL1" msgstr "" -#: ../../library/logging.handlers.rst:759 +#: ../../library/logging.handlers.rst:757 msgid "``local2``" msgstr "``local2``" -#: ../../library/logging.handlers.rst:759 +#: ../../library/logging.handlers.rst:757 msgid "LOG_LOCAL2" msgstr "" -#: ../../library/logging.handlers.rst:761 +#: ../../library/logging.handlers.rst:759 msgid "``local3``" msgstr "``local3``" -#: ../../library/logging.handlers.rst:761 +#: ../../library/logging.handlers.rst:759 msgid "LOG_LOCAL3" msgstr "" -#: ../../library/logging.handlers.rst:763 +#: ../../library/logging.handlers.rst:761 msgid "``local4``" msgstr "``local4``" -#: ../../library/logging.handlers.rst:763 +#: ../../library/logging.handlers.rst:761 msgid "LOG_LOCAL4" msgstr "" -#: ../../library/logging.handlers.rst:765 +#: ../../library/logging.handlers.rst:763 msgid "``local5``" msgstr "``local5``" -#: ../../library/logging.handlers.rst:765 +#: ../../library/logging.handlers.rst:763 msgid "LOG_LOCAL5" msgstr "" -#: ../../library/logging.handlers.rst:767 +#: ../../library/logging.handlers.rst:765 msgid "``local6``" msgstr "``local6``" -#: ../../library/logging.handlers.rst:767 +#: ../../library/logging.handlers.rst:765 msgid "LOG_LOCAL6" msgstr "" -#: ../../library/logging.handlers.rst:769 +#: ../../library/logging.handlers.rst:767 msgid "``local7``" msgstr "``local7``" -#: ../../library/logging.handlers.rst:769 +#: ../../library/logging.handlers.rst:767 msgid "LOG_LOCAL7" msgstr "" -#: ../../library/logging.handlers.rst:774 +#: ../../library/logging.handlers.rst:772 msgid "" "Maps a logging level name to a syslog priority name. You may need to " "override this if you are using custom levels, or if the default algorithm is " @@ -1165,11 +1499,11 @@ msgid "" "all other level names to 'warning'." msgstr "" -#: ../../library/logging.handlers.rst:784 +#: ../../library/logging.handlers.rst:782 msgid "NTEventLogHandler" msgstr "" -#: ../../library/logging.handlers.rst:786 +#: ../../library/logging.handlers.rst:784 msgid "" "The :class:`NTEventLogHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to a local Windows NT, Windows " @@ -1177,23 +1511,23 @@ msgid "" "Win32 extensions for Python installed." msgstr "" -#: ../../library/logging.handlers.rst:794 +#: ../../library/logging.handlers.rst:792 msgid "" "Returns a new instance of the :class:`NTEventLogHandler` class. The " "*appname* is used to define the application name as it appears in the event " "log. An appropriate registry entry is created using this name. The *dllname* " "should give the fully qualified pathname of a .dll or .exe which contains " -"message definitions to hold in the log (if not specified, ``'win32service." -"pyd'`` is used - this is installed with the Win32 extensions and contains " -"some basic placeholder message definitions. Note that use of these " -"placeholders will make your event logs big, as the entire message source is " -"held in the log. If you want slimmer logs, you have to pass in the name of " -"your own .dll or .exe which contains the message definitions you want to use " -"in the event log). The *logtype* is one of ``'Application'``, ``'System'`` " -"or ``'Security'``, and defaults to ``'Application'``." +"message definitions to hold in the log (if not specified, " +"``'win32service.pyd'`` is used - this is installed with the Win32 extensions " +"and contains some basic placeholder message definitions. Note that use of " +"these placeholders will make your event logs big, as the entire message " +"source is held in the log. If you want slimmer logs, you have to pass in the " +"name of your own .dll or .exe which contains the message definitions you " +"want to use in the event log). The *logtype* is one of ``'Application'``, " +"``'System'`` or ``'Security'``, and defaults to ``'Application'``." msgstr "" -#: ../../library/logging.handlers.rst:810 +#: ../../library/logging.handlers.rst:808 msgid "" "At this point, you can remove the application name from the registry as a " "source of event log entries. However, if you do this, you will not be able " @@ -1202,30 +1536,31 @@ msgid "" "not do this." msgstr "" -#: ../../library/logging.handlers.rst:819 +#: ../../library/logging.handlers.rst:817 msgid "" "Determines the message ID, event category and event type, and then logs the " "message in the NT event log." msgstr "" -#: ../../library/logging.handlers.rst:825 +#: ../../library/logging.handlers.rst:823 msgid "" "Returns the event category for the record. Override this if you want to " "specify your own categories. This version returns 0." msgstr "" -#: ../../library/logging.handlers.rst:831 +#: ../../library/logging.handlers.rst:829 msgid "" "Returns the event type for the record. Override this if you want to specify " "your own types. This version does a mapping using the handler's typemap " "attribute, which is set up in :meth:`__init__` to a dictionary which " -"contains mappings for :const:`DEBUG`, :const:`INFO`, :const:`WARNING`, :" -"const:`ERROR` and :const:`CRITICAL`. If you are using your own levels, you " -"will either need to override this method or place a suitable dictionary in " -"the handler's *typemap* attribute." +"contains mappings " +"for :const:`DEBUG`, :const:`INFO`, :const:`WARNING`, :const:`ERROR` " +"and :const:`CRITICAL`. If you are using your own levels, you will either " +"need to override this method or place a suitable dictionary in the handler's " +"*typemap* attribute." msgstr "" -#: ../../library/logging.handlers.rst:842 +#: ../../library/logging.handlers.rst:840 msgid "" "Returns the message ID for the record. If you are using your own messages, " "you could do this by having the *msg* passed to the logger being an ID " @@ -1234,17 +1569,17 @@ msgid "" "message ID in :file:`win32service.pyd`." msgstr "" -#: ../../library/logging.handlers.rst:851 +#: ../../library/logging.handlers.rst:849 msgid "SMTPHandler" msgstr "" -#: ../../library/logging.handlers.rst:853 +#: ../../library/logging.handlers.rst:851 msgid "" "The :class:`SMTPHandler` class, located in the :mod:`logging.handlers` " "module, supports sending logging messages to an email address via SMTP." msgstr "" -#: ../../library/logging.handlers.rst:859 +#: ../../library/logging.handlers.rst:857 msgid "" "Returns a new instance of the :class:`SMTPHandler` class. The instance is " "initialized with the from and to addresses and subject line of the email. " @@ -1255,41 +1590,41 @@ msgid "" "*credentials* argument." msgstr "" -#: ../../library/logging.handlers.rst:866 +#: ../../library/logging.handlers.rst:864 msgid "" "To specify the use of a secure protocol (TLS), pass in a tuple to the " "*secure* argument. This will only be used when authentication credentials " "are supplied. The tuple should be either an empty tuple, or a single-value " "tuple with the name of a keyfile, or a 2-value tuple with the names of the " -"keyfile and certificate file. (This tuple is passed to the :meth:`smtplib." -"SMTP.starttls` method.)" +"keyfile and certificate file. (This tuple is passed to " +"the :meth:`smtplib.SMTP.starttls` method.)" msgstr "" -#: ../../library/logging.handlers.rst:873 +#: ../../library/logging.handlers.rst:871 msgid "" "A timeout can be specified for communication with the SMTP server using the " "*timeout* argument." msgstr "" -#: ../../library/logging.handlers.rst:876 -msgid "The *timeout* argument was added." +#: ../../library/logging.handlers.rst:874 +msgid "Added the *timeout* parameter." msgstr "" -#: ../../library/logging.handlers.rst:881 +#: ../../library/logging.handlers.rst:879 msgid "Formats the record and sends it to the specified addressees." msgstr "" -#: ../../library/logging.handlers.rst:886 +#: ../../library/logging.handlers.rst:884 msgid "" "If you want to specify a subject line which is record-dependent, override " "this method." msgstr "" -#: ../../library/logging.handlers.rst:892 +#: ../../library/logging.handlers.rst:890 msgid "MemoryHandler" msgstr "" -#: ../../library/logging.handlers.rst:894 +#: ../../library/logging.handlers.rst:892 msgid "" "The :class:`MemoryHandler` class, located in the :mod:`logging.handlers` " "module, supports buffering of logging records in memory, periodically " @@ -1297,40 +1632,41 @@ msgid "" "buffer is full, or when an event of a certain severity or greater is seen." msgstr "" -#: ../../library/logging.handlers.rst:899 +#: ../../library/logging.handlers.rst:897 msgid "" -":class:`MemoryHandler` is a subclass of the more general :class:" -"`BufferingHandler`, which is an abstract class. This buffers logging records " -"in memory. Whenever each record is added to the buffer, a check is made by " -"calling :meth:`shouldFlush` to see if the buffer should be flushed. If it " -"should, then :meth:`flush` is expected to do the flushing." +":class:`MemoryHandler` is a subclass of the more " +"general :class:`BufferingHandler`, which is an abstract class. This buffers " +"logging records in memory. Whenever each record is added to the buffer, a " +"check is made by calling :meth:`shouldFlush` to see if the buffer should be " +"flushed. If it should, then :meth:`flush` is expected to do the flushing." msgstr "" -#: ../../library/logging.handlers.rst:908 +#: ../../library/logging.handlers.rst:906 msgid "" "Initializes the handler with a buffer of the specified capacity. Here, " "*capacity* means the number of logging records buffered." msgstr "" -#: ../../library/logging.handlers.rst:914 +#: ../../library/logging.handlers.rst:912 msgid "" -"Append the record to the buffer. If :meth:`shouldFlush` returns true, call :" -"meth:`flush` to process the buffer." +"Append the record to the buffer. If :meth:`shouldFlush` returns true, " +"call :meth:`flush` to process the buffer." msgstr "" -#: ../../library/logging.handlers.rst:920 +#: ../../library/logging.handlers.rst:918 msgid "" -"You can override this to implement custom flushing behavior. This version " -"just zaps the buffer to empty." +"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 "" -#: ../../library/logging.handlers.rst:926 +#: ../../library/logging.handlers.rst:925 msgid "" "Return ``True`` if the buffer is up to capacity. This method can be " "overridden to implement custom flushing strategies." msgstr "" -#: ../../library/logging.handlers.rst:932 +#: ../../library/logging.handlers.rst:931 msgid "" "Returns a new instance of the :class:`MemoryHandler` class. The instance is " "initialized with a buffer size of *capacity* (number of records buffered). " @@ -1342,75 +1678,76 @@ msgid "" "the buffer will occur when the handler is closed." msgstr "" -#: ../../library/logging.handlers.rst:941 +#: ../../library/logging.handlers.rst:940 msgid "The *flushOnClose* parameter was added." msgstr "" -#: ../../library/logging.handlers.rst:947 +#: ../../library/logging.handlers.rst:946 msgid "Calls :meth:`flush`, sets the target to ``None`` and clears the buffer." msgstr "" -#: ../../library/logging.handlers.rst:953 +#: ../../library/logging.handlers.rst:952 msgid "" -"For a :class:`MemoryHandler`, flushing means just sending the buffered " -"records to the target, if there is one. The buffer is also cleared when this " -"happens. Override if you want different behavior." +"For a :class:`MemoryHandler` instance, flushing means just sending the " +"buffered records to the target, if there is one. The buffer is also cleared " +"when buffered records are sent to the target. Override if you want different " +"behavior." msgstr "" -#: ../../library/logging.handlers.rst:960 +#: ../../library/logging.handlers.rst:959 msgid "Sets the target handler for this handler." msgstr "" -#: ../../library/logging.handlers.rst:965 +#: ../../library/logging.handlers.rst:964 msgid "Checks for buffer full or a record at the *flushLevel* or higher." msgstr "" -#: ../../library/logging.handlers.rst:971 +#: ../../library/logging.handlers.rst:970 msgid "HTTPHandler" msgstr "HTTPHandler" -#: ../../library/logging.handlers.rst:973 +#: ../../library/logging.handlers.rst:972 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 "" -#: ../../library/logging.handlers.rst:980 +#: ../../library/logging.handlers.rst:979 msgid "" "Returns a new instance of the :class:`HTTPHandler` class. The *host* can be " "of the form ``host:port``, should you need to use a specific port number. " "If no *method* is specified, ``GET`` is used. If *secure* is true, a HTTPS " -"connection will be used. The *context* parameter may be set to a :class:`ssl." -"SSLContext` instance to configure the SSL settings used for the HTTPS " -"connection. If *credentials* is specified, it should be a 2-tuple consisting " -"of userid and password, which will be placed in a HTTP 'Authorization' " -"header using Basic authentication. If you specify credentials, you should " -"also specify secure=True so that your userid and password are not passed in " -"cleartext across the wire." +"connection will be used. The *context* parameter may be set to " +"a :class:`ssl.SSLContext` instance to configure the SSL settings used for " +"the HTTPS connection. If *credentials* is specified, it should be a 2-tuple " +"consisting of userid and password, which will be placed in a HTTP " +"'Authorization' header using Basic authentication. If you specify " +"credentials, you should also specify secure=True so that your userid and " +"password are not passed in cleartext across the wire." msgstr "" -#: ../../library/logging.handlers.rst:991 +#: ../../library/logging.handlers.rst:990 msgid "The *context* parameter was added." msgstr "" -#: ../../library/logging.handlers.rst:996 +#: ../../library/logging.handlers.rst:995 msgid "" "Provides a dictionary, based on ``record``, which is to be URL-encoded and " -"sent to the web server. The default implementation just returns ``record." -"__dict__``. This method can be overridden if e.g. only a subset of :class:" -"`~logging.LogRecord` is to be sent to the web server, or if more specific " -"customization of what's sent to the server is required." +"sent to the web server. The default implementation just returns " +"``record.__dict__``. This method can be overridden if e.g. only a subset " +"of :class:`~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 "" -#: ../../library/logging.handlers.rst:1004 +#: ../../library/logging.handlers.rst:1003 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." +"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 "" -#: ../../library/logging.handlers.rst:1008 +#: ../../library/logging.handlers.rst:1007 msgid "" "Since preparing a record for sending it to a web server is not the same as a " "generic formatting operation, using :meth:`~logging.Handler.setFormatter` to " @@ -1420,18 +1757,18 @@ msgid "" "the dictionary in a form suitable for sending to a web server." msgstr "" -#: ../../library/logging.handlers.rst:1021 +#: ../../library/logging.handlers.rst:1020 msgid "QueueHandler" msgstr "" -#: ../../library/logging.handlers.rst:1025 +#: ../../library/logging.handlers.rst:1024 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 "" -#: ../../library/logging.handlers.rst:1029 +#: ../../library/logging.handlers.rst:1028 msgid "" "Along with the :class:`QueueListener` class, :class:`QueueHandler` can be " "used to let handlers do their work on a separate thread from the one which " @@ -1441,7 +1778,7 @@ msgid "" "an email via :class:`SMTPHandler`) are done on a separate thread." msgstr "" -#: ../../library/logging.handlers.rst:1038 +#: ../../library/logging.handlers.rst:1037 msgid "" "Returns a new instance of the :class:`QueueHandler` class. The instance is " "initialized with the queue to send messages to. The *queue* can be any queue-" @@ -1451,53 +1788,55 @@ msgid "" "instances for *queue*." msgstr "" -#: ../../library/logging.handlers.rst:1045 -#: ../../library/logging.handlers.rst:1128 +#: ../../library/logging.handlers.rst:1044 +#: ../../library/logging.handlers.rst:1127 msgid "" -"If you are using :mod:`multiprocessing`, you should avoid using :class:" -"`~queue.SimpleQueue` and instead use :class:`multiprocessing.Queue`." +"If you are using :mod:`multiprocessing`, you should avoid " +"using :class:`~queue.SimpleQueue` and instead " +"use :class:`multiprocessing.Queue`." msgstr "" -#: ../../library/logging.handlers.rst:1050 +#: ../../library/logging.handlers.rst:1049 msgid "" -"Enqueues the result of preparing the LogRecord. Should an exception occur (e." -"g. because a bounded queue has filled up), the :meth:`~logging.Handler." -"handleError` method is called to handle the error. This can result in the " -"record silently being dropped (if :attr:`logging.raiseExceptions` is " -"``False``) or a message printed to ``sys.stderr`` (if :attr:`logging." -"raiseExceptions` is ``True``)." +"Enqueues the result of preparing the LogRecord. Should an exception occur " +"(e.g. because a bounded queue has filled up), " +"the :meth:`~logging.Handler.handleError` method is called to handle the " +"error. This can result in the record silently being dropped " +"(if :data:`logging.raiseExceptions` is ``False``) or a message printed to " +"``sys.stderr`` (if :data:`logging.raiseExceptions` is ``True``)." msgstr "" -#: ../../library/logging.handlers.rst:1059 +#: ../../library/logging.handlers.rst:1058 msgid "" "Prepares a record for queuing. The object returned by this method is " "enqueued." msgstr "" -#: ../../library/logging.handlers.rst:1062 +#: ../../library/logging.handlers.rst:1061 msgid "" "The base implementation formats the record to merge the message, arguments, " "exception and stack information, if present. It also removes unpickleable " -"items from the record in-place. Specifically, it overwrites the record's :" -"attr:`msg` and :attr:`message` attributes with the merged message (obtained " -"by calling the handler's :meth:`format` method), and sets the :attr:`args`, :" -"attr:`exc_info` and :attr:`exc_text` attributes to ``None``." +"items from the record in-place. Specifically, it overwrites the " +"record's :attr:`msg` and :attr:`message` attributes with the merged message " +"(obtained by calling the handler's :meth:`format` method), and sets " +"the :attr:`args`, :attr:`exc_info` and :attr:`exc_text` attributes to " +"``None``." msgstr "" -#: ../../library/logging.handlers.rst:1070 +#: ../../library/logging.handlers.rst:1069 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 "" -#: ../../library/logging.handlers.rst:1074 +#: ../../library/logging.handlers.rst:1073 msgid "" "The base implementation formats the message with arguments, sets the " "``message`` and ``msg`` attributes to the formatted message and sets the " "``args`` and ``exc_text`` attributes to ``None`` to allow pickling and to " -"prevent further attempts at formatting. This means that a handler on the :" -"class:`QueueListener` side won't have the information to do custom " +"prevent further attempts at formatting. This means that a handler on " +"the :class:`QueueListener` side won't have the information to do custom " "formatting, e.g. of exceptions. You may wish to subclass ``QueueHandler`` " "and override this method to e.g. avoid setting ``exc_text`` to ``None``. " "Note that the ``message`` / ``msg`` / ``args`` changes are related to " @@ -1507,29 +1846,29 @@ msgid "" "libraries that you use.)" msgstr "" -#: ../../library/logging.handlers.rst:1090 +#: ../../library/logging.handlers.rst:1089 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 "" -#: ../../library/logging.handlers.rst:1099 +#: ../../library/logging.handlers.rst:1098 msgid "QueueListener" msgstr "" -#: ../../library/logging.handlers.rst:1103 +#: ../../library/logging.handlers.rst:1102 msgid "" "The :class:`QueueListener` class, located in the :mod:`logging.handlers` " "module, supports receiving logging messages from a queue, such as those " "implemented in the :mod:`queue` or :mod:`multiprocessing` modules. The " "messages are received from a queue in an internal thread and passed, on the " -"same thread, to one or more handlers for processing. While :class:" -"`QueueListener` is not itself a handler, it is documented here because it " -"works hand-in-hand with :class:`QueueHandler`." +"same thread, to one or more handlers for processing. " +"While :class:`QueueListener` is not itself a handler, it is documented here " +"because it works hand-in-hand with :class:`QueueHandler`." msgstr "" -#: ../../library/logging.handlers.rst:1111 +#: ../../library/logging.handlers.rst:1110 msgid "" "Along with the :class:`QueueHandler` class, :class:`QueueListener` can be " "used to let handlers do their work on a separate thread from the one which " @@ -1539,18 +1878,18 @@ msgid "" "an email via :class:`SMTPHandler`) are done on a separate thread." msgstr "" -#: ../../library/logging.handlers.rst:1120 +#: ../../library/logging.handlers.rst:1119 msgid "" "Returns a new instance of the :class:`QueueListener` class. The instance is " "initialized with the queue to send messages to and a list of handlers which " "will handle entries placed on the queue. The queue can be any queue-like " "object; it's passed as-is to the :meth:`dequeue` method, which needs to know " "how to get messages from it. The queue is not *required* to have the task " -"tracking API (though it's used if available), which means that you can use :" -"class:`~queue.SimpleQueue` instances for *queue*." +"tracking API (though it's used if available), which means that you can " +"use :class:`~queue.SimpleQueue` instances for *queue*." msgstr "" -#: ../../library/logging.handlers.rst:1131 +#: ../../library/logging.handlers.rst:1130 msgid "" "If ``respect_handler_level`` is ``True``, a handler's level is respected " "(compared with the level for the message) when deciding whether to pass " @@ -1558,82 +1897,82 @@ msgid "" "versions - to always pass each message to each handler." msgstr "" -#: ../../library/logging.handlers.rst:1136 +#: ../../library/logging.handlers.rst:1135 msgid "The ``respect_handler_level`` argument was added." msgstr "" -#: ../../library/logging.handlers.rst:1141 +#: ../../library/logging.handlers.rst:1140 msgid "Dequeues a record and return it, optionally blocking." msgstr "" -#: ../../library/logging.handlers.rst:1143 +#: ../../library/logging.handlers.rst:1142 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 "" -#: ../../library/logging.handlers.rst:1149 +#: ../../library/logging.handlers.rst:1148 msgid "Prepare a record for handling." msgstr "" -#: ../../library/logging.handlers.rst:1151 +#: ../../library/logging.handlers.rst:1150 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 "" -#: ../../library/logging.handlers.rst:1157 +#: ../../library/logging.handlers.rst:1156 msgid "Handle a record." msgstr "" -#: ../../library/logging.handlers.rst:1159 +#: ../../library/logging.handlers.rst:1158 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`." +"actual object passed to the handlers is that which is returned " +"from :meth:`prepare`." msgstr "" -#: ../../library/logging.handlers.rst:1165 +#: ../../library/logging.handlers.rst:1164 msgid "Starts the listener." msgstr "" -#: ../../library/logging.handlers.rst:1167 +#: ../../library/logging.handlers.rst:1166 msgid "" "This starts up a background thread to monitor the queue for LogRecords to " "process." msgstr "" -#: ../../library/logging.handlers.rst:1172 +#: ../../library/logging.handlers.rst:1171 msgid "Stops the listener." msgstr "" -#: ../../library/logging.handlers.rst:1174 +#: ../../library/logging.handlers.rst:1173 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 "" -#: ../../library/logging.handlers.rst:1180 +#: ../../library/logging.handlers.rst:1179 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 "" -#: ../../library/logging.handlers.rst:1191 +#: ../../library/logging.handlers.rst:1190 msgid "Module :mod:`logging`" msgstr "Módulo :mod:`logging`" -#: ../../library/logging.handlers.rst:1191 +#: ../../library/logging.handlers.rst:1190 msgid "API reference for the logging module." msgstr "Referência da API para o módulo de logging." -#: ../../library/logging.handlers.rst:1193 +#: ../../library/logging.handlers.rst:1192 msgid "Module :mod:`logging.config`" msgstr "Módulo :mod:`logging.config`" -#: ../../library/logging.handlers.rst:1194 +#: ../../library/logging.handlers.rst:1193 msgid "Configuration API for the logging module." msgstr "API de configuração para o módulo logging." diff --git a/library/logging.po b/library/logging.po index 004fbbfd2..84a8ac800 100644 --- a/library/logging.po +++ b/library/logging.po @@ -1,36 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# Marco Rougeth , 2021 -# Katyanna Moura , 2021 -# Aline Balogh , 2021 -# i17obot , 2021 -# Danilo Lima , 2021 -# Glaucia Esppenchutz , 2021 -# Eduardo Farias, 2021 -# Rodrigo Queiroz , 2022 -# Rafael Fontenelle , 2023 -# Claudio Rogerio Carvalho Filho , 2023 -# Risaffi , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Risaffi , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -47,20 +36,20 @@ msgid "" "This page contains the API reference information. For tutorial information " "and discussion of more advanced topics, see" msgstr "" -"Esta página contêm informação de referência da API. Para informação tutorial " -"e discussão de tópicos mais avançados, consulte" +"Esta página contêm informação de referência da API. Para tutorial e " +"discussão de tópicos mais avançados, consulte" #: ../../library/logging.rst:19 msgid ":ref:`Basic Tutorial `" -msgstr ":ref:`Basic Tutorial `" +msgstr ":ref:`Tutorial básico `" #: ../../library/logging.rst:20 msgid ":ref:`Advanced Tutorial `" -msgstr ":ref:`Advanced Tutorial `" +msgstr ":ref:`Tutorial avançado `" #: ../../library/logging.rst:21 msgid ":ref:`Logging Cookbook `" -msgstr ":ref:`Logging Cookbook `" +msgstr ":ref:`Livro de receitas de logging `" #: ../../library/logging.rst:25 msgid "" @@ -83,20 +72,55 @@ msgstr "" "próprias mensagens, integradas com mensagens de módulos de terceiros." #: ../../library/logging.rst:33 -msgid "The simplest example:" -msgstr "O exemplo mais simples:" +msgid "Here's a simple example of idiomatic usage: ::" +msgstr "Aqui está um exemplo simples de uso idiomático: ::" -#: ../../library/logging.rst:41 +#: ../../library/logging.rst:58 +msgid "If you run *myapp.py*, you should see this in *myapp.log*:" +msgstr "Se você executar *myapp.py*, deverá ver isso em *myapp.log*:" + +#: ../../library/logging.rst:66 +msgid "" +"The key features of this idiomatic usage is that the majority of code is " +"simply creating a module level logger with ``getLogger(__name__)``, and " +"using that logger to do any needed logging. This is concise while allowing " +"downstream code fine grained control if needed. Logged messages to the " +"module-level logger get forwarded up to handlers of loggers in higher-level " +"modules, all the way up to the root logger; for this reason this approach is " +"known as hierarchical logging." +msgstr "" + +#: ../../library/logging.rst:73 +msgid "" +"For logging to be useful, it needs to be configured: setting the levels and " +"destinations for each logger, potentially changing how specific modules log, " +"often based on command-line arguments or application configuration. In most " +"cases, like the one above, only the root logger needs to be so configured, " +"since all the lower level loggers at module level eventually forward their " +"messages to its handlers. :func:`~logging.basicConfig` provides a quick way " +"to configure the root logger that handles many use cases." +msgstr "" +"Para que o registro de eventos seja útil, ele precisa ser configurado: " +"definir os níveis e os destinos de cada registrador, possivelmente alterando " +"a forma como módulos específico fazem seus registros, geralmente com base em " +"argumentos de linha de comando ou configuração da aplicação. Na maioria dos " +"casos, como o descrito acima, somente o registrador raiz precisa ser " +"configurado dessa forma, já que todos os registradores de nível inferior no " +"nível módulo acabam encaminhando suas mensagens para seus " +"tratadores. :func:`~logging.basicConfig` oferece uma maneira rápida de " +"configurar o registrador raiz que lida com muitos casos de uso." + +#: ../../library/logging.rst:81 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 "" "O módulo provê várias funcionalidades e flexibilidade. Se você não está " -"familiarizado com logging, a melhor maneira para se ter uma noção sobre é " -"ver os tutoriais (**veja os links acima e à direita**)." +"familiarizado com registro de eventos, a melhor maneira para se ter uma " +"noção sobre é ver os tutoriais (**veja os links acima e à direita**)." -#: ../../library/logging.rst:45 +#: ../../library/logging.rst:85 msgid "" "The basic classes defined by the module, together with their functions, are " "listed below." @@ -104,11 +128,11 @@ msgstr "" "As classes básicas definidas no módulo, juntamente com suas funções, são " "listadas abaixo." -#: ../../library/logging.rst:48 +#: ../../library/logging.rst:88 msgid "Loggers expose the interface that application code directly uses." msgstr "Loggers expõem a interface que o código da aplicação usa diretamente." -#: ../../library/logging.rst:49 +#: ../../library/logging.rst:89 msgid "" "Handlers send the log records (created by loggers) to the appropriate " "destination." @@ -116,7 +140,7 @@ msgstr "" "Handlers enviam os registros do evento (criados por loggers) aos destinos " "apropriados." -#: ../../library/logging.rst:51 +#: ../../library/logging.rst:91 msgid "" "Filters provide a finer grained facility for determining which log records " "to output." @@ -124,28 +148,29 @@ msgstr "" "Filters fornecem uma facilidade granular para determinar quais registros de " "eventos enviar à saída." -#: ../../library/logging.rst:53 +#: ../../library/logging.rst:93 msgid "Formatters specify the layout of log records in the final output." msgstr "" "Formatters especificam o layout dos registros de eventos na saída final." -#: ../../library/logging.rst:59 +#: ../../library/logging.rst:99 msgid "Logger Objects" msgstr "Objetos Logger" -#: ../../library/logging.rst:61 +#: ../../library/logging.rst:101 msgid "" "Loggers have the following attributes and methods. Note that Loggers should " "*NEVER* be instantiated directly, but always through the module-level " "function ``logging.getLogger(name)``. Multiple calls to :func:`getLogger` " "with the same name will always return a reference to the same Logger object." msgstr "" -"Loggers tem os atributos e métodos a seguir. Observem que Loggers *NUNCA* " -"devem ser instanciados diretamente, mas sempre através da função ``logging." -"getLogger(name)``. Múltiplas chamadas à função :func:`getLogger` com o mesmo " -"nome sempre retornará uma referência para o mesmo objeto Logger." +"Registradores têm os atributos e métodos a seguir. Observem que " +"registradores *NUNCA* devem ser instanciados diretamente, mas sempre através " +"da função ``logging.getLogger(name)``. Múltiplas chamadas à " +"função :func:`getLogger` com o mesmo nome sempre retornará uma referência " +"para o mesmo objeto Logger." -#: ../../library/logging.rst:66 +#: ../../library/logging.rst:106 msgid "" "The ``name`` is potentially a period-separated hierarchical value, like " "``foo.bar.baz`` (though it could also be just plain ``foo``, for example). " @@ -154,9 +179,9 @@ msgid "" "``foo``, loggers with names of ``foo.bar``, ``foo.bar.baz``, and ``foo.bam`` " "are all descendants of ``foo``. The logger name hierarchy is analogous to " "the Python package hierarchy, and identical to it if you organise your " -"loggers on a per-module basis using the recommended construction ``logging." -"getLogger(__name__)``. That's because in a module, ``__name__`` is the " -"module's name in the Python package namespace." +"loggers on a per-module basis using the recommended construction " +"``logging.getLogger(__name__)``. That's because in a module, ``__name__`` " +"is the module's name in the Python package namespace." msgstr "" "O ``name`` é, potencialmente, um valor hierárquico separado por ponto, como " "``foo.bar.baz`` (embora também possa ser simplesmente ``foo``, por exemplo). " @@ -165,11 +190,41 @@ msgstr "" "com nomes de ``foo.bar``, ``foo.bar.baz``, e ``foo.bam`` são todos " "descendentes de ``foo``. A hierarquia do nome do logger é análoga à dos " "pacotes Python, e idêntica a esses, se você organizar seus loggers baseado " -"nos módulos, usando a construção recomendada ``logging." -"getLogger(__name__)``. Isso porque num módulo, ``__name__`` é o nome do " -"módulo no espaço de nomes do pacote Python." +"nos módulos, usando a construção recomendada " +"``logging.getLogger(__name__)``. Isso porque num módulo, ``__name__`` é o " +"nome do módulo no espaço de nomes do pacote Python." -#: ../../library/logging.rst:82 +#: ../../library/logging.rst:122 +msgid "" +"This is the logger's name, and is the value that was passed " +"to :func:`getLogger` to obtain the logger." +msgstr "" + +#: ../../library/logging.rst:125 ../../library/logging.rst:185 +msgid "This attribute should be treated as read-only." +msgstr "Este atributo deve ser tratado como somente leitura." + +#: ../../library/logging.rst:129 +msgid "The threshold of this logger, as set by the :meth:`setLevel` method." +msgstr "" + +#: ../../library/logging.rst:131 +msgid "" +"Do not set this attribute directly - always use :meth:`setLevel`, which has " +"checks for the level passed to it." +msgstr "" + +#: ../../library/logging.rst:136 +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 "" + +#: ../../library/logging.rst:139 +msgid "This value should be treated as read-only." +msgstr "Este valor deve ser tratado como somente leitura." + +#: ../../library/logging.rst:143 msgid "" "If this attribute evaluates to true, events logged to this logger will be " "passed to the handlers of higher level (ancestor) loggers, in addition to " @@ -177,19 +232,22 @@ msgid "" "ancestor loggers' handlers - neither the level nor filters of the ancestor " "loggers in question are considered." msgstr "" -"Se este atributo for avaliado como verdadeiro, os registros de eventos para " -"esse logger serão repassados para loggers de níveis superiores (ancestrais), " -"em adição a qualquer destino configurado para esse logger." +"Se este atributo for verdadeiro, os eventos registrados nesse registrador " +"serão transmitidos aos tratadores dos registradores de nível mais alto " +"(ancestrais), além de quaisquer tratadores anexados a esse registrador. As " +"mensagens são passadas diretamente para os tratadores dos registradores " +"ancestrais - nem o nível nem os filtros dos registradores ancestrais em " +"questão são considerados." -#: ../../library/logging.rst:88 +#: ../../library/logging.rst:149 msgid "" "If this evaluates to false, logging messages are not passed to the handlers " "of ancestor loggers." msgstr "" -"Se o valor for falso, as mensagens de registro de eventos não são passadas " -"para loggers ancestrais." +"Se o valor for falso, as mensagens de registro não serão passadas para os " +"tratadores de registradores ancestrais." -#: ../../library/logging.rst:91 +#: ../../library/logging.rst:152 msgid "" "Spelling it out with an example: If the propagate attribute of the logger " "named ``A.B.C`` evaluates to true, any event logged to ``A.B.C`` via a " @@ -201,22 +259,23 @@ msgid "" "false, then that is the last logger whose handlers are offered the event to " "handle, and propagation stops at that point." msgstr "" -"Explicando com um exemplo: se o atributo propagate do logger chamado ``A.B." -"C`` for avaliado como true, qualquer evento registrado em ``A.B.C`` pela " -"chamada de métodos como ``logging.getLogger('A.B.C').error(...)`` será " -"[sujeito à passagem das configurações de filtro e nível do logger] passada " -"por sua vez para qualquer tratador ligado aos loggers nomeados ``A.B``, " -"``A`` e ao logger raiz, após ser passado para qualquer tratador ligado ao " -"``A.B.C``. Se qualquer logger na cadeia ``A.B.C``, ``A.B``, ``A`` tem o " -"atributo ``propagate`` definido como false, então esse será o último logger " -"cujos tratadores terão os eventos oferecidos para serem tratados e a " -"propagação terminará naquele ponto." - -#: ../../library/logging.rst:100 +"Explicando com um exemplo: se o atributo propagate do registrador chamado " +"``A.B.C`` for avaliado como verdadeiro, qualquer evento registrado em " +"``A.B.C`` pela chamada de métodos como " +"``logging.getLogger('A.B.C').error(...)`` será [sujeito à passagem das " +"configurações de filtro e nível do registrador] passado por sua vez para " +"qualquer tratador ligado aos registradores nomeados ``A.B``, ``A`` e ao " +"registrador raiz, após ser passado para qualquer tratador ligado ao " +"``A.B.C``. Se qualquer registrador na cadeia ``A.B.C``, ``A.B``, ``A`` tem o " +"atributo ``propagate`` definido como falso, então esse será o último " +"registrador cujos tratadores terão os eventos oferecidos para serem tratados " +"e a propagação terminará naquele ponto." + +#: ../../library/logging.rst:161 msgid "The constructor sets this attribute to ``True``." msgstr "O construtor atribui este valor como ``True``." -#: ../../library/logging.rst:102 +#: ../../library/logging.rst:163 msgid "" "If you attach a handler to a logger *and* one or more of its ancestors, it " "may emit the same record multiple times. In general, you should not need to " @@ -227,16 +286,33 @@ msgid "" "handlers only to the root logger, and to let propagation take care of the " "rest." msgstr "" -"Se você configurar um destino para o logger *e* um ou mais dos ancestrais, " -"pode acontecer que a mesma mensagem seja registrada várias vezes. Em geral, " -"você não precisa configurar saídas para mais que um logger - se você " -"configurar apenas para o logger principal da hierarquia, então todos os " -"eventos dos loggers descendentes serão visualizados ali, fornecido pela " -"configuração de propagação, cujo padrão é ``True``. Um cenário comum é " -"configurar as saídas somente no logger raiz, e deixar a propagação tomar " -"conta do resto." +"Se você configurar um tratador para o registrador *e* um ou mais dos " +"ancestrais, pode acontecer que a mesma mensagem seja registrada várias " +"vezes. Em geral, você não precisa configurar saídas para mais que um " +"registrador - se você configurar apenas para o registrador principal da " +"hierarquia, então todos os eventos dos registradores descendentes serão " +"visualizados ali, fornecido pela configuração de propagação, cujo padrão é " +"``True``. Um cenário comum é configurar as saídas somente no registrador " +"raiz, e deixar a propagação tomar conta do resto." -#: ../../library/logging.rst:113 +#: ../../library/logging.rst:174 +msgid "The list of handlers directly attached to this logger instance." +msgstr "" + +#: ../../library/logging.rst:176 +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 "" + +#: ../../library/logging.rst:182 +msgid "" +"This attribute disables handling of any events. It is set to ``False`` in " +"the initializer, and only changed by logging configuration code." +msgstr "" + +#: ../../library/logging.rst:189 msgid "" "Sets the threshold for this logger to *level*. Logging messages which are " "less severe than *level* will be ignored; logging messages which have " @@ -250,7 +326,7 @@ msgstr "" "para os destinos de saída configurados para o logger, a menos que o nível da " "saída tenha sido configurado para uma severidade ainda maior." -#: ../../library/logging.rst:118 +#: ../../library/logging.rst:194 msgid "" "When a logger is created, the level is set to :const:`NOTSET` (which causes " "all messages to be processed when the logger is the root logger, or " @@ -262,7 +338,7 @@ msgstr "" "raiz, ou delegação para o pai quando o logger não for um logger raiz). " "Observe que o logger raiz é criado com nível :const:`WARNING`." -#: ../../library/logging.rst:123 +#: ../../library/logging.rst:199 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 " @@ -273,7 +349,7 @@ msgstr "" "ancestral com o nível diferente de NOTSET seja encontrado ou até a raiz ser " "alcançada." -#: ../../library/logging.rst:127 +#: ../../library/logging.rst:203 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 " @@ -284,7 +360,7 @@ msgstr "" "busca por ancestrais, e é usado para determinar como um registro de evento " "será manipulado." -#: ../../library/logging.rst:131 +#: ../../library/logging.rst:207 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 " @@ -293,11 +369,11 @@ msgstr "" "Se a raiz é alcançada e o seu nível é NOTSET, então todas as mensagens serão " "processadas. Caso contrário, o nível da raiz será usada como o nível efetivo." -#: ../../library/logging.rst:134 ../../library/logging.rst:447 +#: ../../library/logging.rst:210 ../../library/logging.rst:541 msgid "See :ref:`levels` for a list of levels." msgstr "Veja :ref:`levels` para uma lista de níveis." -#: ../../library/logging.rst:136 +#: ../../library/logging.rst:212 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`. " @@ -306,53 +382,57 @@ msgid "" "expect to be passed integers." msgstr "" "O parâmetro *level* agora é aceito como uma string representando o nível tal " -"qual 'INFO', como uma alternativa as constantes inteiras tal qual :const:" -"`INFO`. Note, entretanto, que os níveis são guardados internamente como " -"inteiros e os métodos como, por exemplo, :meth:`getEffectiveLevel` e :meth:" -"`isEnabledFor` retornarão/esperarão que sejam passados inteiros." +"qual 'INFO', como uma alternativa as constantes inteiras tal " +"qual :const:`INFO`. Note, entretanto, que os níveis são guardados " +"internamente como inteiros e os métodos como, por " +"exemplo, :meth:`getEffectiveLevel` e :meth:`isEnabledFor` retornarão/" +"esperarão que sejam passados inteiros." -#: ../../library/logging.rst:146 +#: ../../library/logging.rst:222 msgid "" "Indicates if a message of severity *level* would be processed by this " -"logger. This method checks first the module-level level set by ``logging." -"disable(level)`` and then the logger's effective level as determined by :" -"meth:`getEffectiveLevel`." +"logger. This method checks first the module-level level set by " +"``logging.disable(level)`` and then the logger's effective level as " +"determined by :meth:`getEffectiveLevel`." msgstr "" "Indica se a mensagem com gravidade *level* seria processada por esse logger. " -"Esse método checa primeiro o nível à nível de módulo definido por ``logging." -"disable(level)`` e então o nível efetivo do logger como determinado por :" -"meth:`getEffectiveLevel`." - -#: ../../library/logging.rst:154 -msgid "" -"Indicates the effective level for this logger. If a value other than :const:" -"`NOTSET` has been set using :meth:`setLevel`, it is returned. Otherwise, the " -"hierarchy is traversed towards the root until a value other than :const:" -"`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 "" -"Indica o nível efeito para esse logger. Se um valor diferente de :const:" -"`NOTSET` foi definido usando :meth:`setLevel`, ele é retornado. Caso " -"contrário, a hierarquia é percorrida em direção a raiz até um valor " +"Esse método checa primeiro o nível à nível de módulo definido por " +"``logging.disable(level)`` e então o nível efetivo do logger como " +"determinado por :meth:`getEffectiveLevel`." + +#: ../../library/logging.rst:230 +msgid "" +"Indicates the effective level for this logger. If a value other " +"than :const:`NOTSET` has been set using :meth:`setLevel`, it is returned. " +"Otherwise, the hierarchy is traversed towards the root until a value other " +"than :const:`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 "" +"Indica o nível efeito para esse logger. Se um valor diferente " +"de :const:`NOTSET` foi definido usando :meth:`setLevel`, ele é retornado. " +"Caso contrário, a hierarquia é percorrida em direção a raiz até um valor " "diferente de :const:`NOTSET` ser encontrado e então esse valor é retornado. " -"O valor retornado é um inteiro, tipicamento um entre :const:`logging." -"DEBUG`, :const:`logging.INFO` etc" +"O valor retornado é um inteiro, tipicamento um " +"entre :const:`logging.DEBUG`, :const:`logging.INFO` etc" -#: ../../library/logging.rst:164 +#: ../../library/logging.rst:240 msgid "" "Returns a logger which is a descendant to this logger, as determined by the " "suffix. Thus, ``logging.getLogger('abc').getChild('def.ghi')`` would return " -"the same logger as would be returned by ``logging.getLogger('abc.def." -"ghi')``. This is a convenience method, useful when the parent logger is " -"named using e.g. ``__name__`` rather than a literal string." +"the same logger as would be returned by " +"``logging.getLogger('abc.def.ghi')``. This is a convenience method, useful " +"when the parent logger is named using e.g. ``__name__`` rather than a " +"literal string." msgstr "" "Retorna um logger que é descendente deste logger, como determinado pelo " "sufixo. Portanto, ``logging.getLogger('abc').getChild('def.ghi')`` " -"retornaria o mesmo logger que seria retornado por ``logging.getLogger('abc." -"def.ghi')``. Esse é um método de conveniência, útil quando o logger pai é " -"nomeado usando, por exemplo ``__name__`` ao invés de uma string literal." +"retornaria o mesmo logger que seria retornado por " +"``logging.getLogger('abc.def.ghi')``. Esse é um método de conveniência, útil " +"quando o logger pai é nomeado usando, por exemplo ``__name__`` ao invés de " +"uma string literal." -#: ../../library/logging.rst:175 +#: ../../library/logging.rst:251 msgid "" "Logs a message with level :const:`DEBUG` on this logger. The *msg* is the " "message format string, and the *args* are the arguments which are merged " @@ -362,7 +442,7 @@ msgid "" "are supplied." msgstr "" -#: ../../library/logging.rst:181 +#: ../../library/logging.rst:257 msgid "" "There are four keyword arguments in *kwargs* which are inspected: " "*exc_info*, *stack_info*, *stacklevel* and *extra*." @@ -370,7 +450,7 @@ msgstr "" "Existem quatro argumentos nomeados em *kwargs* que serão inspecionados: " "*exc_info*, *stack_info*, *stacklevel* e *extra*." -#: ../../library/logging.rst:184 +#: ../../library/logging.rst:260 msgid "" "If *exc_info* does not evaluate as false, it causes exception information to " "be added to the logging message. If an exception tuple (in the format " @@ -379,7 +459,7 @@ msgid "" "information." msgstr "" -#: ../../library/logging.rst:189 ../../library/logging.rst:1067 +#: ../../library/logging.rst:265 msgid "" "The second optional keyword argument is *stack_info*, which defaults to " "``False``. If true, stack information is added to the logging message, " @@ -391,14 +471,14 @@ msgid "" "handlers." msgstr "" -#: ../../library/logging.rst:198 ../../library/logging.rst:1076 +#: ../../library/logging.rst:274 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 "" -#: ../../library/logging.rst:206 ../../library/logging.rst:1084 +#: ../../library/logging.rst:282 msgid "" "This mimics the ``Traceback (most recent call last):`` which is used when " "displaying exception frames." @@ -406,19 +486,19 @@ msgstr "" "Isso imita o ``Traceback (most recent call last):`` que é usado ao exibir " "quadros de exceção." -#: ../../library/logging.rst:209 +#: ../../library/logging.rst:285 msgid "" "The third optional keyword argument is *stacklevel*, which defaults to " "``1``. If greater than 1, the corresponding number of stack frames are " -"skipped when computing the line number and function name set in the :class:" -"`LogRecord` created for the logging event. This can be used in logging " -"helpers so that the function name, filename and line number recorded are not " -"the information for the helper function/method, but rather its caller. The " -"name of this parameter mirrors the equivalent one in the :mod:`warnings` " -"module." +"skipped when computing the line number and function name set in " +"the :class:`LogRecord` created for the logging event. This can be used in " +"logging helpers so that the function name, filename and line number recorded " +"are not the information for the helper function/method, but rather its " +"caller. The name of this parameter mirrors the equivalent one in " +"the :mod:`warnings` module." msgstr "" -#: ../../library/logging.rst:217 +#: ../../library/logging.rst:293 msgid "" "The fourth keyword argument is *extra* which can be used to pass a " "dictionary which is used to populate the __dict__ of the :class:`LogRecord` " @@ -427,29 +507,29 @@ msgid "" "incorporated into logged messages. For example::" msgstr "" -#: ../../library/logging.rst:229 +#: ../../library/logging.rst:305 msgid "would print something like" msgstr "imprimiria algo como" -#: ../../library/logging.rst:235 +#: ../../library/logging.rst:311 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 "" -#: ../../library/logging.rst:239 +#: ../../library/logging.rst:315 msgid "" "If you choose to use these attributes in logged messages, you need to " -"exercise some care. In the above example, for instance, the :class:" -"`Formatter` has been set up with a format string which expects 'clientip' " -"and 'user' in the attribute dictionary of the :class:`LogRecord`. If these " -"are missing, the message will not be logged because a string formatting " -"exception will occur. So in this case, you always need to pass the *extra* " -"dictionary with these keys." +"exercise some care. In the above example, for instance, " +"the :class:`Formatter` has been set up with a format string which expects " +"'clientip' and 'user' in the attribute dictionary of the :class:`LogRecord`. " +"If these are missing, the message will not be logged because a string " +"formatting exception will occur. So in this case, you always need to pass " +"the *extra* dictionary with these keys." msgstr "" -#: ../../library/logging.rst:246 ../../library/logging.rst:1115 +#: ../../library/logging.rst:322 msgid "" "While this might be annoying, this feature is intended for use in " "specialized circumstances, such as multi-threaded servers where the same " @@ -460,7 +540,7 @@ msgid "" "particular :class:`Handler`\\ s." msgstr "" -#: ../../library/logging.rst:253 +#: ../../library/logging.rst:329 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 " @@ -470,71 +550,71 @@ msgstr "" "levando em consideração os atributos :attr:`Logger.propagate` relevantes), a " "mensagem será enviada para o tratador definido em :attr:`lastResort`." -#: ../../library/logging.rst:257 ../../library/logging.rst:1126 +#: ../../library/logging.rst:333 msgid "The *stack_info* parameter was added." -msgstr "" +msgstr "O parâmetro *stack_info* foi adicionado." -#: ../../library/logging.rst:260 +#: ../../library/logging.rst:336 msgid "The *exc_info* parameter can now accept exception instances." msgstr "" -#: ../../library/logging.rst:263 +#: ../../library/logging.rst:339 msgid "The *stacklevel* parameter was added." msgstr "O parâmetro *stacklevel* foi adicionado." -#: ../../library/logging.rst:269 +#: ../../library/logging.rst:345 msgid "" "Logs a message with level :const:`INFO` on this logger. The arguments are " "interpreted as for :meth:`debug`." msgstr "" -#: ../../library/logging.rst:275 +#: ../../library/logging.rst:351 msgid "" "Logs a message with level :const:`WARNING` on this logger. The arguments are " "interpreted as for :meth:`debug`." msgstr "" -#: ../../library/logging.rst:278 +#: ../../library/logging.rst:354 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 "" -#: ../../library/logging.rst:284 +#: ../../library/logging.rst:360 msgid "" "Logs a message with level :const:`ERROR` on this logger. The arguments are " "interpreted as for :meth:`debug`." msgstr "" -#: ../../library/logging.rst:290 +#: ../../library/logging.rst:366 msgid "" "Logs a message with level :const:`CRITICAL` on this logger. The arguments " "are interpreted as for :meth:`debug`." msgstr "" -#: ../../library/logging.rst:296 +#: ../../library/logging.rst:372 msgid "" "Logs a message with integer level *level* on this logger. The other " "arguments are interpreted as for :meth:`debug`." msgstr "" -#: ../../library/logging.rst:302 +#: ../../library/logging.rst:378 msgid "" "Logs a message with level :const:`ERROR` on this logger. The arguments are " "interpreted as for :meth:`debug`. Exception info is added to the logging " "message. This method should only be called from an exception handler." msgstr "" -#: ../../library/logging.rst:309 +#: ../../library/logging.rst:385 msgid "Adds the specified filter *filter* to this logger." msgstr "" -#: ../../library/logging.rst:314 +#: ../../library/logging.rst:390 msgid "Removes the specified filter *filter* from this logger." msgstr "" -#: ../../library/logging.rst:319 +#: ../../library/logging.rst:395 msgid "" "Apply this logger's filters to the record and return ``True`` if the record " "is to be processed. The filters are consulted in turn, until one of them " @@ -543,22 +623,22 @@ msgid "" "processing of the record occurs." msgstr "" -#: ../../library/logging.rst:328 +#: ../../library/logging.rst:404 msgid "Adds the specified handler *hdlr* to this logger." msgstr "Adiciona o tratador especificado por *hdlr* deste logger." -#: ../../library/logging.rst:333 +#: ../../library/logging.rst:409 msgid "Removes the specified handler *hdlr* from this logger." msgstr "Remove o tratador especificado por *hdlr* deste logger." -#: ../../library/logging.rst:338 +#: ../../library/logging.rst:414 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 "" -#: ../../library/logging.rst:342 +#: ../../library/logging.rst:418 msgid "" "The *stacklevel* parameter is passed from code calling the :meth:`debug` and " "other APIs. If greater than 1, the excess is used to skip stack frames " @@ -568,22 +648,22 @@ msgid "" "calls it." msgstr "" -#: ../../library/logging.rst:352 +#: ../../library/logging.rst:428 msgid "" "Handles a record by passing it to all handlers associated with this logger " "and its ancestors (until a false value of *propagate* is found). This method " "is used for unpickled records received from a socket, as well as those " -"created locally. Logger-level filtering is applied using :meth:`~Logger." -"filter`." +"created locally. Logger-level filtering is applied " +"using :meth:`~Logger.filter`." msgstr "" -#: ../../library/logging.rst:360 +#: ../../library/logging.rst:436 msgid "" "This is a factory method which can be overridden in subclasses to create " "specialized :class:`LogRecord` instances." msgstr "" -#: ../../library/logging.rst:365 +#: ../../library/logging.rst:441 msgid "" "Checks to see if this logger has any handlers configured. This is done by " "looking for handlers in this logger and its parents in the logger hierarchy. " @@ -593,15 +673,15 @@ msgid "" "the existence of handlers." msgstr "" -#: ../../library/logging.rst:374 +#: ../../library/logging.rst:450 msgid "Loggers can now be pickled and unpickled." msgstr "" -#: ../../library/logging.rst:380 +#: ../../library/logging.rst:456 msgid "Logging Levels" -msgstr "" +msgstr "Níveis de Logging" -#: ../../library/logging.rst:382 +#: ../../library/logging.rst:458 msgid "" "The numeric values of logging levels are given in the following table. These " "are primarily of interest if you want to define your own levels, and need " @@ -609,122 +689,146 @@ msgid "" "define a level with the same numeric value, it overwrites the predefined " "value; the predefined name is lost." msgstr "" +"Os valores numéricos dos níveis de logging estão listados na tabela abaixo. " +"Eles são principalmente de interesse se você quiser definir seus próprios " +"níveis, e precisa deles para definir seus valores específicos relativos aos " +"níveis predefinidos. Se você define um nível com o mesmo valor numérico, ele " +"sobrescreve o valor predefinido; o nome predefinido é perdido." -#: ../../library/logging.rst:389 +#: ../../library/logging.rst:465 msgid "Level" msgstr "Nível" -#: ../../library/logging.rst:389 +#: ../../library/logging.rst:465 msgid "Numeric value" msgstr "Valor numérico" -#: ../../library/logging.rst:391 -msgid "``CRITICAL``" -msgstr "``CRITICAL``" +#: ../../library/logging.rst:465 +msgid "What it means / When to use it" +msgstr "" -#: ../../library/logging.rst:391 -msgid "50" -msgstr "50" +#: ../../library/logging.rst:467 +msgid "0" +msgstr "0" -#: ../../library/logging.rst:393 -msgid "``ERROR``" -msgstr "``ERROR``" +#: ../../library/logging.rst:467 +msgid "" +"When set on a logger, indicates that ancestor loggers are to be consulted to " +"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 "" -#: ../../library/logging.rst:393 -msgid "40" -msgstr "40" +#: ../../library/logging.rst:475 +msgid "10" +msgstr "10" -#: ../../library/logging.rst:395 -msgid "``WARNING``" -msgstr "``WARNING``" +#: ../../library/logging.rst:475 +msgid "" +"Detailed information, typically only of interest to a developer trying to " +"diagnose a problem." +msgstr "" -#: ../../library/logging.rst:395 +#: ../../library/logging.rst:479 +msgid "20" +msgstr "20" + +#: ../../library/logging.rst:479 +msgid "Confirmation that things are working as expected." +msgstr "Confirmação de que as coisas estão funcionando como esperado." + +#: ../../library/logging.rst:482 msgid "30" msgstr "30" -#: ../../library/logging.rst:397 -msgid "``INFO``" -msgstr "``INFO``" - -#: ../../library/logging.rst:397 -msgid "20" -msgstr "20" +#: ../../library/logging.rst:482 +msgid "" +"An indication that something unexpected happened, or that a problem might " +"occur in the near future (e.g. 'disk space low'). The software is still " +"working as expected." +msgstr "" -#: ../../library/logging.rst:399 -msgid "``DEBUG``" -msgstr "``DEBUG``" +#: ../../library/logging.rst:489 +msgid "40" +msgstr "40" -#: ../../library/logging.rst:399 -msgid "10" -msgstr "10" +#: ../../library/logging.rst:489 +msgid "" +"Due to a more serious problem, the software has not been able to perform " +"some function." +msgstr "" +"Por conta de um problema mais grave, o software não conseguiu executar " +"alguma função." -#: ../../library/logging.rst:401 -msgid "``NOTSET``" -msgstr "``NOTSET``" +#: ../../library/logging.rst:493 +msgid "50" +msgstr "50" -#: ../../library/logging.rst:401 -msgid "0" -msgstr "0" +#: ../../library/logging.rst:493 +msgid "" +"A serious error, indicating that the program itself may be unable to " +"continue running." +msgstr "" +"Um erro grave, indicando que o programa pode não conseguir continuar rodando." -#: ../../library/logging.rst:408 +#: ../../library/logging.rst:502 msgid "Handler Objects" -msgstr "Manipulação de Objetos" +msgstr "Objetos Handler" -#: ../../library/logging.rst:410 +#: ../../library/logging.rst:504 msgid "" -"Handlers have the following attributes and methods. Note that :class:" -"`Handler` is never instantiated directly; this class acts as a base for more " -"useful subclasses. However, the :meth:`__init__` method in subclasses needs " -"to call :meth:`Handler.__init__`." +"Handlers have the following attributes and methods. Note " +"that :class:`Handler` is never instantiated directly; this class acts as a " +"base for more useful subclasses. However, the :meth:`!__init__` method in " +"subclasses needs to call :meth:`Handler.__init__`." msgstr "" -#: ../../library/logging.rst:419 +#: ../../library/logging.rst:513 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." +"list of filters to the empty list and creating a lock " +"(using :meth:`createLock`) for serializing access to an I/O mechanism." msgstr "" -#: ../../library/logging.rst:426 +#: ../../library/logging.rst:520 msgid "" "Initializes a thread lock which can be used to serialize access to " "underlying I/O functionality which may not be threadsafe." msgstr "" -#: ../../library/logging.rst:432 +#: ../../library/logging.rst:526 msgid "Acquires the thread lock created with :meth:`createLock`." msgstr "" -#: ../../library/logging.rst:437 +#: ../../library/logging.rst:531 msgid "Releases the thread lock acquired with :meth:`acquire`." msgstr "" -#: ../../library/logging.rst:442 +#: ../../library/logging.rst:536 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 "" -#: ../../library/logging.rst:449 +#: ../../library/logging.rst:543 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 "" -#: ../../library/logging.rst:457 +#: ../../library/logging.rst:551 msgid "Sets the :class:`Formatter` for this handler to *fmt*." msgstr "" -#: ../../library/logging.rst:462 +#: ../../library/logging.rst:556 msgid "Adds the specified filter *filter* to this handler." msgstr "" -#: ../../library/logging.rst:467 +#: ../../library/logging.rst:561 msgid "Removes the specified filter *filter* from this handler." msgstr "" -#: ../../library/logging.rst:472 +#: ../../library/logging.rst:566 msgid "" "Apply this handler's filters to the record and return ``True`` if the record " "is to be processed. The filters are consulted in turn, until one of them " @@ -733,54 +837,55 @@ msgid "" "record." msgstr "" -#: ../../library/logging.rst:481 +#: ../../library/logging.rst:575 msgid "" "Ensure all logging output has been flushed. This version does nothing and is " "intended to be implemented by subclasses." msgstr "" -#: ../../library/logging.rst:487 +#: ../../library/logging.rst:581 msgid "" "Tidy up any resources used by the handler. This version does no output but " -"removes the handler from an internal list of handlers which is closed when :" -"func:`shutdown` is called. Subclasses should ensure that this gets called " -"from overridden :meth:`close` methods." +"removes the handler from an internal list of handlers which is closed " +"when :func:`shutdown` is called. Subclasses should ensure that this gets " +"called from overridden :meth:`close` methods." msgstr "" -#: ../../library/logging.rst:495 +#: ../../library/logging.rst:589 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 "" -#: ../../library/logging.rst:502 +#: ../../library/logging.rst:596 msgid "" "This method should be called from handlers when an exception is encountered " -"during an :meth:`emit` call. If the module-level attribute " -"``raiseExceptions`` is ``False``, exceptions get silently ignored. This is " -"what is mostly wanted for a logging system - most users will not care about " -"errors in the logging system, they are more interested in application " -"errors. You could, however, replace this with a custom handler if you wish. " -"The specified record is the one which was being processed when the exception " -"occurred. (The default value of ``raiseExceptions`` is ``True``, as that is " -"more useful during development)." +"during an :meth:`emit` call. If the module-level " +"attribute :data:`raiseExceptions` is ``False``, exceptions get silently " +"ignored. This is what is mostly wanted for a logging system - most users " +"will not care about errors in the logging system, they are more interested " +"in application errors. You could, however, replace this with a custom " +"handler if you wish. The specified record is the one which was being " +"processed when the exception occurred. (The default value " +"of :data:`raiseExceptions` is ``True``, as that is more useful during " +"development)." msgstr "" -#: ../../library/logging.rst:515 +#: ../../library/logging.rst:609 msgid "" "Do formatting for a record - if a formatter is set, use it. Otherwise, use " "the default formatter for the module." msgstr "" -#: ../../library/logging.rst:521 +#: ../../library/logging.rst:615 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`." +"version is intended to be implemented by subclasses and so raises " +"a :exc:`NotImplementedError`." msgstr "" -#: ../../library/logging.rst:525 +#: ../../library/logging.rst:619 msgid "" "This method is called after a handler-level lock is acquired, which is " "released after this method returns. When you override this method, note that " @@ -789,13 +894,13 @@ msgid "" "Specifically:" msgstr "" -#: ../../library/logging.rst:531 +#: ../../library/logging.rst:625 msgid "" "Logging configuration APIs acquire the module-level lock, and then " "individual handler-level locks as those handlers are configured." msgstr "" -#: ../../library/logging.rst:534 +#: ../../library/logging.rst:628 msgid "" "Many logging APIs lock the module-level lock. If such an API is called from " "this method, it could cause a deadlock if a configuration call is made on " @@ -805,43 +910,44 @@ msgid "" "method, the handler-level lock has already been acquired)." msgstr "" -#: ../../library/logging.rst:541 +#: ../../library/logging.rst:635 msgid "" "For a list of handlers included as standard, see :mod:`logging.handlers`." msgstr "" -#: ../../library/logging.rst:546 +#: ../../library/logging.rst:640 msgid "Formatter Objects" msgstr "" -#: ../../library/logging.rst:550 +#: ../../library/logging.rst:644 msgid "" ":class:`Formatter` objects have the following attributes and methods. They " "are responsible for converting a :class:`LogRecord` to (usually) a string " -"which can be interpreted by either a human or an external system. The base :" -"class:`Formatter` allows a formatting string to be specified. If none is " -"supplied, the default value of ``'%(message)s'`` is used, which just " +"which can be interpreted by either a human or an external system. The " +"base :class:`Formatter` allows a formatting string to be specified. If none " +"is supplied, the default value of ``'%(message)s'`` is used, which just " "includes the message in the logging call. To have additional items of " "information in the formatted output (such as a timestamp), keep reading." msgstr "" -#: ../../library/logging.rst:558 +#: ../../library/logging.rst:652 msgid "" "A Formatter can be initialized with a format string which makes use of " "knowledge of the :class:`LogRecord` attributes - such as the default value " "mentioned above making use of the fact that the user's message and arguments " "are pre-formatted into a :class:`LogRecord`'s *message* attribute. This " -"format string contains standard Python %-style mapping keys. See section :" -"ref:`old-string-formatting` for more information on string formatting." +"format string contains standard Python %-style mapping keys. See " +"section :ref:`old-string-formatting` for more information on string " +"formatting." msgstr "" -#: ../../library/logging.rst:565 +#: ../../library/logging.rst:659 msgid "" -"The useful mapping keys in a :class:`LogRecord` are given in the section on :" -"ref:`logrecord-attributes`." +"The useful mapping keys in a :class:`LogRecord` are given in the section " +"on :ref:`logrecord-attributes`." msgstr "" -#: ../../library/logging.rst:571 +#: ../../library/logging.rst:665 msgid "" "Returns a new instance of the :class:`Formatter` class. The instance is " "initialized with a format string for the message as a whole, as well as a " @@ -850,50 +956,51 @@ msgid "" "format is used which is described in the :meth:`formatTime` documentation." msgstr "" -#: ../../library/logging.rst:577 +#: ../../library/logging.rst:671 msgid "" "The *style* parameter can be one of '%', '{' or '$' and determines how the " -"format string will be merged with its data: using one of %-formatting, :meth:" -"`str.format` or :class:`string.Template`. This only applies to the format " -"string *fmt* (e.g. ``'%(message)s'`` or ``{message}``), not to the actual " -"log messages passed to ``Logger.debug`` etc; see :ref:`formatting-styles` " -"for more information on using {- and $-formatting for log messages." +"format string will be merged with its data: using one of %-" +"formatting, :meth:`str.format` or :class:`string.Template`. This only " +"applies to the format string *fmt* (e.g. ``'%(message)s'`` or ``{message}" +"``), not to the actual log messages passed to ``Logger.debug`` etc; " +"see :ref:`formatting-styles` for more information on using {- and $-" +"formatting for log messages." msgstr "" -#: ../../library/logging.rst:585 +#: ../../library/logging.rst:679 msgid "" "The *defaults* parameter can be a dictionary with default values to use in " "custom fields. For example: ``logging.Formatter('%(ip)s %(message)s', " "defaults={\"ip\": None})``" msgstr "" -#: ../../library/logging.rst:589 +#: ../../library/logging.rst:683 msgid "The *style* parameter was added." msgstr "" -#: ../../library/logging.rst:592 +#: ../../library/logging.rst:686 msgid "" "The *validate* parameter was added. Incorrect or mismatched style and fmt " "will raise a ``ValueError``. For example: ``logging.Formatter('%(asctime)s - " "%(message)s', style='{')``." msgstr "" -#: ../../library/logging.rst:597 +#: ../../library/logging.rst:691 msgid "The *defaults* parameter was added." msgstr "" -#: ../../library/logging.rst:602 +#: ../../library/logging.rst:696 msgid "" "The record's attribute dictionary is used as the operand to a string " "formatting operation. Returns the resulting string. Before formatting the " "dictionary, a couple of preparatory steps are carried out. The *message* " "attribute of the record is computed using *msg* % *args*. If the formatting " "string contains ``'(asctime)'``, :meth:`formatTime` is called to format the " -"event time. If there is exception information, it is formatted using :meth:" -"`formatException` and appended to the message. Note that the formatted " -"exception information is cached in attribute *exc_text*. This is useful " -"because the exception information can be pickled and sent across the wire, " -"but you should be careful if you have more than one :class:`Formatter` " +"event time. If there is exception information, it is formatted " +"using :meth:`formatException` and appended to the message. Note that the " +"formatted exception information is cached in attribute *exc_text*. This is " +"useful because the exception information can be pickled and sent across the " +"wire, but you should be careful if you have more than one :class:`Formatter` " "subclass which customizes the formatting of exception information. In this " "case, you will have to clear the cached value (by setting the *exc_text* " "attribute to ``None``) after a formatter has done its formatting, so that " @@ -901,26 +1008,26 @@ msgid "" "recalculates it afresh." msgstr "" -#: ../../library/logging.rst:618 +#: ../../library/logging.rst:712 msgid "" "If stack information is available, it's appended after the exception " "information, using :meth:`formatStack` to transform it if necessary." msgstr "" -#: ../../library/logging.rst:624 +#: ../../library/logging.rst:718 msgid "" "This method should be called from :meth:`format` by a formatter which wants " "to make use of a formatted time. This method can be overridden in formatters " "to provide for any specific requirement, but the basic behavior is as " -"follows: if *datefmt* (a string) is specified, it is used with :func:`time." -"strftime` to format the creation time of the record. Otherwise, the format " -"'%Y-%m-%d %H:%M:%S,uuu' is used, where the uuu part is a millisecond value " -"and the other letters are as per the :func:`time.strftime` documentation. " -"An example time in this format is ``2003-01-23 00:29:50,411``. The " -"resulting string is returned." +"follows: if *datefmt* (a string) is specified, it is used " +"with :func:`time.strftime` to format the creation time of the record. " +"Otherwise, the format '%Y-%m-%d %H:%M:%S,uuu' is used, where the uuu part is " +"a millisecond value and the other letters are as per " +"the :func:`time.strftime` documentation. An example time in this format is " +"``2003-01-23 00:29:50,411``. The resulting string is returned." msgstr "" -#: ../../library/logging.rst:634 +#: ../../library/logging.rst:728 msgid "" "This function uses a user-configurable function to convert the creation time " "to a tuple. By default, :func:`time.localtime` is used; to change this for a " @@ -930,7 +1037,7 @@ msgid "" "be shown in GMT, set the ``converter`` attribute in the ``Formatter`` class." msgstr "" -#: ../../library/logging.rst:642 +#: ../../library/logging.rst:736 msgid "" "Previously, the default format was hard-coded as in this example: " "``2010-09-06 22:38:15,292`` where the part before the comma is handled by a " @@ -945,11 +1052,11 @@ msgid "" "the millisecond value)." msgstr "" -#: ../../library/logging.rst:655 +#: ../../library/logging.rst:749 msgid "The ``default_msec_format`` can be ``None``." msgstr "" -#: ../../library/logging.rst:660 +#: ../../library/logging.rst:754 msgid "" "Formats the specified exception information (a standard exception tuple as " "returned by :func:`sys.exc_info`) as a string. This default implementation " @@ -957,14 +1064,14 @@ msgid "" "returned." msgstr "" -#: ../../library/logging.rst:667 +#: ../../library/logging.rst:761 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." +"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 "" -#: ../../library/logging.rst:673 +#: ../../library/logging.rst:767 msgid "" "A base formatter class suitable for subclassing when you want to format a " "number of records. You can pass a :class:`Formatter` instance which you want " @@ -973,7 +1080,7 @@ msgid "" "used as the line formatter." msgstr "" -#: ../../library/logging.rst:681 +#: ../../library/logging.rst:775 msgid "" "Return a header for a list of *records*. The base implementation just " "returns the empty string. You will need to override this method if you want " @@ -981,14 +1088,14 @@ msgid "" "separator line." msgstr "" -#: ../../library/logging.rst:688 +#: ../../library/logging.rst:782 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 "" -#: ../../library/logging.rst:695 +#: ../../library/logging.rst:789 msgid "" "Return formatted text for a list of *records*. The base implementation just " "returns the empty string if there are no records; otherwise, it returns the " @@ -996,11 +1103,11 @@ msgid "" "and the footer." msgstr "" -#: ../../library/logging.rst:703 +#: ../../library/logging.rst:797 msgid "Filter Objects" msgstr "" -#: ../../library/logging.rst:705 +#: ../../library/logging.rst:799 msgid "" "``Filters`` can be used by ``Handlers`` and ``Loggers`` for more " "sophisticated filtering than is provided by levels. The base filter class " @@ -1010,7 +1117,7 @@ msgid "" "If initialized with the empty string, all events are passed." msgstr "" -#: ../../library/logging.rst:715 +#: ../../library/logging.rst:809 msgid "" "Returns an instance of the :class:`Filter` class. If *name* is specified, it " "names a logger which, together with its children, will have its events " @@ -1018,13 +1125,13 @@ msgid "" "event." msgstr "" -#: ../../library/logging.rst:722 +#: ../../library/logging.rst:816 msgid "" "Is the specified record to be logged? Returns zero for no, nonzero for yes. " "If deemed appropriate, the record may be modified in-place by this method." msgstr "" -#: ../../library/logging.rst:726 +#: ../../library/logging.rst:820 msgid "" "Note that filters attached to handlers are consulted before an event is " "emitted by the handler, whereas filters attached to loggers are consulted " @@ -1034,24 +1141,24 @@ msgid "" "setting, unless the filter has also been applied to those descendant loggers." msgstr "" -#: ../../library/logging.rst:733 +#: ../../library/logging.rst:827 msgid "" "You don't actually need to subclass ``Filter``: you can pass any instance " "which has a ``filter`` method with the same semantics." msgstr "" -#: ../../library/logging.rst:736 +#: ../../library/logging.rst:830 msgid "" "You don't need to create specialized ``Filter`` classes, or use other " "classes with a ``filter`` method: you can use a function (or other callable) " "as a filter. The filtering logic will check to see if the filter object has " -"a ``filter`` attribute: if it does, it's assumed to be a ``Filter`` and its :" -"meth:`~Filter.filter` method is called. Otherwise, it's assumed to be a " +"a ``filter`` attribute: if it does, it's assumed to be a ``Filter`` and " +"its :meth:`~Filter.filter` method is called. Otherwise, it's assumed to be a " "callable and called with the record as the single parameter. The returned " "value should conform to that returned by :meth:`~Filter.filter`." msgstr "" -#: ../../library/logging.rst:746 +#: ../../library/logging.rst:840 msgid "" "Although filters are used primarily to filter records based on more " "sophisticated criteria than levels, they get to see every record which is " @@ -1063,23 +1170,23 @@ msgid "" "contextual information into logs (see :ref:`filters-contextual`)." msgstr "" -#: ../../library/logging.rst:759 +#: ../../library/logging.rst:853 msgid "LogRecord Objects" msgstr "" -#: ../../library/logging.rst:761 +#: ../../library/logging.rst:855 msgid "" -":class:`LogRecord` instances are created automatically by the :class:" -"`Logger` every time something is logged, and can be created manually via :" -"func:`makeLogRecord` (for example, from a pickled event received over the " -"wire)." +":class:`LogRecord` instances are created automatically by " +"the :class:`Logger` every time something is logged, and can be created " +"manually via :func:`makeLogRecord` (for example, from a pickled event " +"received over the wire)." msgstr "" -#: ../../library/logging.rst:769 +#: ../../library/logging.rst:863 msgid "Contains all the information pertinent to the event being logged." msgstr "" -#: ../../library/logging.rst:771 +#: ../../library/logging.rst:865 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." @@ -1089,7 +1196,7 @@ msgstr "" msgid "Parameters" msgstr "Parâmetros" -#: ../../library/logging.rst:775 +#: ../../library/logging.rst:869 msgid "" "The name of the logger used to log the event represented by this :class:`!" "LogRecord`. Note that the logger name in the :class:`!LogRecord` will always " @@ -1097,54 +1204,55 @@ msgid "" "different (ancestor) logger." msgstr "" -#: ../../library/logging.rst:783 +#: ../../library/logging.rst:877 msgid "" "The :ref:`numeric level ` of the logging event (such as ``10`` for " "``DEBUG``, ``20`` for ``INFO``, etc). Note that this is converted to *two* " -"attributes of the LogRecord: :attr:`!levelno` for the numeric value and :" -"attr:`!levelname` for the corresponding level name." +"attributes of the LogRecord: :attr:`!levelno` for the numeric value " +"and :attr:`!levelname` for the corresponding level name." msgstr "" -#: ../../library/logging.rst:790 +#: ../../library/logging.rst:884 msgid "" "The full string path of the source file where the logging call was made." msgstr "" -#: ../../library/logging.rst:794 +#: ../../library/logging.rst:888 msgid "The line number in the source file where the logging call was made." msgstr "" -#: ../../library/logging.rst:798 +#: ../../library/logging.rst:892 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 "" -#: ../../library/logging.rst:803 +#: ../../library/logging.rst:897 msgid "" "Variable data to merge into the *msg* argument to obtain the event " "description." msgstr "" -#: ../../library/logging.rst:807 +#: ../../library/logging.rst:901 msgid "" -"An exception tuple with the current exception information, as returned by :" -"func:`sys.exc_info`, or ``None`` if no exception information is available." +"An exception tuple with the current exception information, as returned " +"by :func:`sys.exc_info`, or ``None`` if no exception information is " +"available." msgstr "" -#: ../../library/logging.rst:812 +#: ../../library/logging.rst:906 msgid "" "The name of the function or method from which the logging call was invoked." msgstr "" -#: ../../library/logging.rst:816 +#: ../../library/logging.rst:910 msgid "" "A text string representing stack information from the base of the stack in " "the current thread, up to the logging call." msgstr "" -#: ../../library/logging.rst:823 +#: ../../library/logging.rst:917 msgid "" "Returns the message for this :class:`LogRecord` instance after merging any " "user-supplied arguments with the message. If the user-supplied message " @@ -1153,7 +1261,7 @@ msgid "" "whose ``__str__`` method can return the actual format string to be used." msgstr "" -#: ../../library/logging.rst:830 +#: ../../library/logging.rst:924 msgid "" "The creation of a :class:`LogRecord` has been made more configurable by " "providing a factory which is used to create the record. The factory can be " @@ -1161,24 +1269,24 @@ msgid "" "this for the factory's signature)." msgstr "" -#: ../../library/logging.rst:836 +#: ../../library/logging.rst:930 msgid "" -"This functionality can be used to inject your own values into a :class:" -"`LogRecord` at creation time. You can use the following pattern::" +"This functionality can be used to inject your own values into " +"a :class:`LogRecord` at creation time. You can use the following pattern::" msgstr "" -#: ../../library/logging.rst:848 +#: ../../library/logging.rst:942 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 "" -#: ../../library/logging.rst:857 +#: ../../library/logging.rst:951 msgid "LogRecord attributes" msgstr "Atributos LogRecord" -#: ../../library/logging.rst:859 +#: ../../library/logging.rst:953 msgid "" "The LogRecord has a number of attributes, most of which are derived from the " "parameters to the constructor. (Note that the names do not always correspond " @@ -1189,325 +1297,326 @@ msgid "" "style format string." msgstr "" -#: ../../library/logging.rst:867 +#: ../../library/logging.rst:961 msgid "" "If you are using {}-formatting (:func:`str.format`), you can use ``{attrname}" -"`` as the placeholder in the format string. If you are using $-formatting (:" -"class:`string.Template`), use the form ``${attrname}``. In both cases, of " +"`` as the placeholder in the format string. If you are using $-formatting " +"(:class:`string.Template`), use the form ``${attrname}``. In both cases, of " "course, replace ``attrname`` with the actual attribute name you want to use." msgstr "" -#: ../../library/logging.rst:873 +#: ../../library/logging.rst:967 msgid "" "In the case of {}-formatting, you can specify formatting flags by placing " "them after the attribute name, separated from it with a colon. For example: " -"a placeholder of ``{msecs:03d}`` would format a millisecond value of ``4`` " +"a placeholder of ``{msecs:03.0f}`` would format a millisecond value of ``4`` " "as ``004``. Refer to the :meth:`str.format` documentation for full details " "on the options available to you." msgstr "" -#: ../../library/logging.rst:880 +#: ../../library/logging.rst:974 msgid "Attribute name" msgstr "" -#: ../../library/logging.rst:880 ../../library/logging.rst:1271 +#: ../../library/logging.rst:974 ../../library/logging.rst:1317 msgid "Format" msgstr "Formatação" -#: ../../library/logging.rst:880 ../../library/logging.rst:1271 +#: ../../library/logging.rst:974 ../../library/logging.rst:1317 msgid "Description" msgstr "Descrição" -#: ../../library/logging.rst:882 ../../library/logging.rst:0 +#: ../../library/logging.rst:0 ../../library/logging.rst:976 msgid "args" msgstr "args" -#: ../../library/logging.rst:882 ../../library/logging.rst:896 -#: ../../library/logging.rst:924 ../../library/logging.rst:942 +#: ../../library/logging.rst:976 ../../library/logging.rst:990 +#: ../../library/logging.rst:1018 ../../library/logging.rst:1036 msgid "You shouldn't need to format this yourself." msgstr "" -#: ../../library/logging.rst:882 +#: ../../library/logging.rst:976 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 "" -#: ../../library/logging.rst:887 +#: ../../library/logging.rst:981 msgid "asctime" msgstr "" -#: ../../library/logging.rst:887 +#: ../../library/logging.rst:981 msgid "``%(asctime)s``" msgstr "``%(asctime)s``" -#: ../../library/logging.rst:887 +#: ../../library/logging.rst:981 msgid "" "Human-readable time when the :class:`LogRecord` was created. By default " "this is of the form '2003-07-08 16:49:45,896' (the numbers after the comma " "are millisecond portion of the time)." msgstr "" -#: ../../library/logging.rst:893 +#: ../../library/logging.rst:987 msgid "created" msgstr "" -#: ../../library/logging.rst:893 +#: ../../library/logging.rst:987 msgid "``%(created)f``" msgstr "``%(created)f``" -#: ../../library/logging.rst:893 +#: ../../library/logging.rst:987 msgid "" -"Time when the :class:`LogRecord` was created (as returned by :func:`time." -"time`)." +"Time when the :class:`LogRecord` was created (as returned " +"by :func:`time.time`)." msgstr "" -#: ../../library/logging.rst:896 ../../library/logging.rst:0 +#: ../../library/logging.rst:0 ../../library/logging.rst:990 msgid "exc_info" msgstr "" -#: ../../library/logging.rst:896 +#: ../../library/logging.rst:990 msgid "" "Exception tuple (à la ``sys.exc_info``) or, if no exception has occurred, " "``None``." msgstr "" -#: ../../library/logging.rst:899 +#: ../../library/logging.rst:993 msgid "filename" msgstr "filename" -#: ../../library/logging.rst:899 +#: ../../library/logging.rst:993 msgid "``%(filename)s``" msgstr "``%(filename)s``" -#: ../../library/logging.rst:899 +#: ../../library/logging.rst:993 msgid "Filename portion of ``pathname``." msgstr "" -#: ../../library/logging.rst:901 +#: ../../library/logging.rst:995 msgid "funcName" msgstr "" -#: ../../library/logging.rst:901 +#: ../../library/logging.rst:995 msgid "``%(funcName)s``" msgstr "``%(funcName)s``" -#: ../../library/logging.rst:901 +#: ../../library/logging.rst:995 msgid "Name of function containing the logging call." msgstr "" -#: ../../library/logging.rst:903 +#: ../../library/logging.rst:997 msgid "levelname" msgstr "" -#: ../../library/logging.rst:903 +#: ../../library/logging.rst:997 msgid "``%(levelname)s``" msgstr "``%(levelname)s``" -#: ../../library/logging.rst:903 +#: ../../library/logging.rst:997 msgid "" "Text logging level for the message (``'DEBUG'``, ``'INFO'``, ``'WARNING'``, " "``'ERROR'``, ``'CRITICAL'``)." msgstr "" -#: ../../library/logging.rst:907 +#: ../../library/logging.rst:1001 msgid "levelno" msgstr "" -#: ../../library/logging.rst:907 +#: ../../library/logging.rst:1001 msgid "``%(levelno)s``" msgstr "``%(levelno)s``" -#: ../../library/logging.rst:907 +#: ../../library/logging.rst:1001 msgid "" -"Numeric logging level for the message (:const:`DEBUG`, :const:`INFO`, :const:" -"`WARNING`, :const:`ERROR`, :const:`CRITICAL`)." +"Numeric logging level for the message " +"(:const:`DEBUG`, :const:`INFO`, :const:`WARNING`, :const:`ERROR`, :const:`CRITICAL`)." msgstr "" -#: ../../library/logging.rst:912 +#: ../../library/logging.rst:1006 msgid "lineno" msgstr "" -#: ../../library/logging.rst:912 +#: ../../library/logging.rst:1006 msgid "``%(lineno)d``" msgstr "``%(lineno)d``" -#: ../../library/logging.rst:912 +#: ../../library/logging.rst:1006 msgid "Source line number where the logging call was issued (if available)." msgstr "" -#: ../../library/logging.rst:915 +#: ../../library/logging.rst:1009 msgid "message" msgstr "" -#: ../../library/logging.rst:915 +#: ../../library/logging.rst:1009 msgid "``%(message)s``" msgstr "``%(message)s``" -#: ../../library/logging.rst:915 +#: ../../library/logging.rst:1009 msgid "" -"The logged message, computed as ``msg % args``. This is set when :meth:" -"`Formatter.format` is invoked." +"The logged message, computed as ``msg % args``. This is set " +"when :meth:`Formatter.format` is invoked." msgstr "" -#: ../../library/logging.rst:919 +#: ../../library/logging.rst:1013 msgid "module" msgstr "módulo" -#: ../../library/logging.rst:919 +#: ../../library/logging.rst:1013 msgid "``%(module)s``" msgstr "``%(module)s``" -#: ../../library/logging.rst:919 +#: ../../library/logging.rst:1013 msgid "Module (name portion of ``filename``)." msgstr "" -#: ../../library/logging.rst:921 +#: ../../library/logging.rst:1015 msgid "msecs" msgstr "" -#: ../../library/logging.rst:921 +#: ../../library/logging.rst:1015 msgid "``%(msecs)d``" msgstr "``%(msecs)d``" -#: ../../library/logging.rst:921 +#: ../../library/logging.rst:1015 msgid "" "Millisecond portion of the time when the :class:`LogRecord` was created." msgstr "" -#: ../../library/logging.rst:924 ../../library/logging.rst:0 +#: ../../library/logging.rst:0 ../../library/logging.rst:1018 msgid "msg" msgstr "" -#: ../../library/logging.rst:924 +#: ../../library/logging.rst:1018 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 "" -#: ../../library/logging.rst:929 ../../library/logging.rst:0 +#: ../../library/logging.rst:0 ../../library/logging.rst:1023 msgid "name" msgstr "nome" -#: ../../library/logging.rst:929 +#: ../../library/logging.rst:1023 msgid "``%(name)s``" msgstr "``%(name)s``" -#: ../../library/logging.rst:929 +#: ../../library/logging.rst:1023 msgid "Name of the logger used to log the call." msgstr "" -#: ../../library/logging.rst:931 +#: ../../library/logging.rst:1025 msgid "pathname" msgstr "" -#: ../../library/logging.rst:931 +#: ../../library/logging.rst:1025 msgid "``%(pathname)s``" msgstr "``%(pathname)s``" -#: ../../library/logging.rst:931 +#: ../../library/logging.rst:1025 msgid "" "Full pathname of the source file where the logging call was issued (if " "available)." msgstr "" -#: ../../library/logging.rst:934 +#: ../../library/logging.rst:1028 msgid "process" -msgstr "" +msgstr "processo" -#: ../../library/logging.rst:934 +#: ../../library/logging.rst:1028 msgid "``%(process)d``" msgstr "``%(process)d``" -#: ../../library/logging.rst:934 +#: ../../library/logging.rst:1028 msgid "Process ID (if available)." msgstr "" -#: ../../library/logging.rst:936 +#: ../../library/logging.rst:1030 msgid "processName" msgstr "" -#: ../../library/logging.rst:936 +#: ../../library/logging.rst:1030 msgid "``%(processName)s``" msgstr "``%(processName)s``" -#: ../../library/logging.rst:936 +#: ../../library/logging.rst:1030 msgid "Process name (if available)." msgstr "" -#: ../../library/logging.rst:938 +#: ../../library/logging.rst:1032 msgid "relativeCreated" msgstr "" -#: ../../library/logging.rst:938 +#: ../../library/logging.rst:1032 msgid "``%(relativeCreated)d``" msgstr "``%(relativeCreated)d``" -#: ../../library/logging.rst:938 +#: ../../library/logging.rst:1032 msgid "" "Time in milliseconds when the LogRecord was created, relative to the time " "the logging module was loaded." msgstr "" -#: ../../library/logging.rst:942 +#: ../../library/logging.rst:1036 msgid "stack_info" msgstr "" -#: ../../library/logging.rst:942 +#: ../../library/logging.rst:1036 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 "" -#: ../../library/logging.rst:948 +#: ../../library/logging.rst:1042 msgid "thread" msgstr "" -#: ../../library/logging.rst:948 +#: ../../library/logging.rst:1042 msgid "``%(thread)d``" msgstr "``%(thread)d``" -#: ../../library/logging.rst:948 +#: ../../library/logging.rst:1042 msgid "Thread ID (if available)." msgstr "" -#: ../../library/logging.rst:950 +#: ../../library/logging.rst:1044 msgid "threadName" msgstr "" -#: ../../library/logging.rst:950 +#: ../../library/logging.rst:1044 msgid "``%(threadName)s``" msgstr "``%(threadName)s``" -#: ../../library/logging.rst:950 +#: ../../library/logging.rst:1044 msgid "Thread name (if available)." msgstr "" -#: ../../library/logging.rst:953 +#: ../../library/logging.rst:1047 msgid "*processName* was added." msgstr "" -#: ../../library/logging.rst:960 +#: ../../library/logging.rst:1054 msgid "LoggerAdapter Objects" msgstr "" -#: ../../library/logging.rst:962 +#: ../../library/logging.rst:1056 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 `." +"information into logging calls. For a usage example, see the section " +"on :ref:`adding contextual information to your logging output `." msgstr "" -#: ../../library/logging.rst:968 +#: ../../library/logging.rst:1062 msgid "" "Returns an instance of :class:`LoggerAdapter` initialized with an " "underlying :class:`Logger` instance and a dict-like object." msgstr "" -#: ../../library/logging.rst:973 +#: ../../library/logging.rst:1067 msgid "" "Modifies the message and/or keyword arguments passed to a logging call in " "order to insert contextual information. This implementation takes the object " @@ -1516,36 +1625,42 @@ msgid "" "(possibly modified) versions of the arguments passed in." msgstr "" -#: ../../library/logging.rst:979 +#: ../../library/logging.rst:1075 +msgid "Delegates to the underlying :attr:`!manager`` on *logger*." +msgstr "" + +#: ../../library/logging.rst:1079 +msgid "Delegates to the underlying :meth:`!_log`` method on *logger*." +msgstr "" + +#: ../../library/logging.rst:1081 msgid "" "In addition to the above, :class:`LoggerAdapter` supports the following " -"methods of :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` and :meth:" -"`~Logger.hasHandlers`. These methods have the same signatures as their " -"counterparts in :class:`Logger`, so you can use the two types of instances " -"interchangeably." +"methods " +"of :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` " +"and :meth:`~Logger.hasHandlers`. These methods have the same signatures as " +"their counterparts in :class:`Logger`, so you can use the two types of " +"instances interchangeably." msgstr "" -#: ../../library/logging.rst:988 +#: ../../library/logging.rst:1092 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." +"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 "" -#: ../../library/logging.rst:993 +#: ../../library/logging.rst:1098 msgid "" -"Attribute :attr:`manager` and method :meth:`_log` were added, which delegate " -"to the underlying logger and allow adapters to be nested." +"Attribute :attr:`!manager` and method :meth:`!_log` were added, which " +"delegate to the underlying logger and allow adapters to be nested." msgstr "" -#: ../../library/logging.rst:999 +#: ../../library/logging.rst:1103 msgid "Thread Safety" msgstr "" -#: ../../library/logging.rst:1001 +#: ../../library/logging.rst:1105 msgid "" "The logging module is intended to be thread-safe without any special work " "needing to be done by its clients. It achieves this though using threading " @@ -1554,7 +1669,7 @@ msgid "" "O." msgstr "" -#: ../../library/logging.rst:1006 +#: ../../library/logging.rst:1110 msgid "" "If you are implementing asynchronous signal handlers using the :mod:`signal` " "module, you may not be able to use logging from within such handlers. This " @@ -1562,33 +1677,33 @@ msgid "" "always re-entrant, and so cannot be invoked from such signal handlers." msgstr "" -#: ../../library/logging.rst:1013 +#: ../../library/logging.rst:1117 msgid "Module-Level Functions" -msgstr "Funções de Nível de Módulo" +msgstr "Funções de nível de módulo" -#: ../../library/logging.rst:1015 +#: ../../library/logging.rst:1119 msgid "" "In addition to the classes described above, there are a number of module-" "level functions." msgstr "" -#: ../../library/logging.rst:1021 +#: ../../library/logging.rst:1125 msgid "" "Return a logger with the specified name or, if name is ``None``, return a " "logger which is the root logger of the hierarchy. If specified, the name is " -"typically a dot-separated hierarchical name like *'a'*, *'a.b'* or *'a.b.c." -"d'*. Choice of these names is entirely up to the developer who is using " -"logging." +"typically a dot-separated hierarchical name like *'a'*, *'a.b'* or " +"*'a.b.c.d'*. Choice of these names is entirely up to the developer who is " +"using logging." msgstr "" -#: ../../library/logging.rst:1026 +#: ../../library/logging.rst:1130 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 "" -#: ../../library/logging.rst:1033 +#: ../../library/logging.rst:1137 msgid "" "Return either the standard :class:`Logger` class, or the last class passed " "to :func:`setLoggerClass`. This function may be called from within a new " @@ -1597,125 +1712,93 @@ msgid "" "example::" msgstr "" -#: ../../library/logging.rst:1044 +#: ../../library/logging.rst:1148 msgid "Return a callable which is used to create a :class:`LogRecord`." msgstr "" -#: ../../library/logging.rst:1046 +#: ../../library/logging.rst:1150 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 "" -#: ../../library/logging.rst:1051 +#: ../../library/logging.rst:1155 msgid "" "See :func:`setLogRecordFactory` for more information about the how the " "factory is called." msgstr "" -#: ../../library/logging.rst:1056 -msgid "" -"Logs a message with level :const:`DEBUG` on the root logger. The *msg* is " -"the message format string, and the *args* are the arguments which are merged " -"into *msg* using the string formatting operator. (Note that this means that " -"you can use keywords in the format string, together with a single dictionary " -"argument.)" -msgstr "" - -#: ../../library/logging.rst:1061 +#: ../../library/logging.rst:1160 msgid "" -"There are three keyword arguments in *kwargs* which are inspected: " -"*exc_info* which, if it does not evaluate as false, causes exception " -"information to be added to the logging message. If an exception tuple (in " -"the format returned by :func:`sys.exc_info`) or an exception instance is " -"provided, it is used; otherwise, :func:`sys.exc_info` is called to get the " -"exception information." +"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 "" -#: ../../library/logging.rst:1087 +#: ../../library/logging.rst:1164 msgid "" -"The third optional keyword argument is *extra* which can be used to pass a " -"dictionary which is used to populate the __dict__ of the LogRecord created " -"for the logging event with user-defined attributes. These custom attributes " -"can then be used as you like. For example, they could be incorporated into " -"logged messages. For example::" -msgstr "" - -#: ../../library/logging.rst:1098 -msgid "would print something like:" +"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 "" -#: ../../library/logging.rst:1104 +#: ../../library/logging.rst:1167 msgid "" -"The keys in the dictionary passed in *extra* should not clash with the keys " -"used by the logging system. (See the :class:`Formatter` documentation for " -"more information on which keys are used by the logging system.)" +"For very short scripts or quick demonstrations of ``logging`` facilities, " +"``debug`` and the other module-level functions may be convenient. However, " +"most programs will want to carefully and explicitly control the logging " +"configuration, and should therefore prefer creating a module-level logger " +"and calling :meth:`Logger.debug` (or other level-specific methods) on it, as " +"described at the beginnning of this documentation." msgstr "" -#: ../../library/logging.rst:1108 -msgid "" -"If you choose to use these attributes in logged messages, you need to " -"exercise some care. In the above example, for instance, the :class:" -"`Formatter` has been set up with a format string which expects 'clientip' " -"and 'user' in the attribute dictionary of the LogRecord. If these are " -"missing, the message will not be logged because a string formatting " -"exception will occur. So in this case, you always need to pass the *extra* " -"dictionary with these keys." -msgstr "" - -#: ../../library/logging.rst:1122 -msgid "" -"This function (as well as :func:`info`, :func:`warning`, :func:`error` and :" -"func:`critical`) will call :func:`basicConfig` if the root logger doesn't " -"have any handler attached." -msgstr "" - -#: ../../library/logging.rst:1131 +#: ../../library/logging.rst:1177 msgid "" "Logs a message with level :const:`INFO` on the root logger. The arguments " -"are interpreted as for :func:`debug`." +"and behavior are otherwise the same as for :func:`debug`." msgstr "" -#: ../../library/logging.rst:1137 +#: ../../library/logging.rst:1183 msgid "" "Logs a message with level :const:`WARNING` on the root logger. The arguments " -"are interpreted as for :func:`debug`." +"and behavior are otherwise the same as for :func:`debug`." msgstr "" -#: ../../library/logging.rst:1140 +#: ../../library/logging.rst:1186 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 "" -#: ../../library/logging.rst:1147 +#: ../../library/logging.rst:1193 msgid "" "Logs a message with level :const:`ERROR` on the root logger. The arguments " -"are interpreted as for :func:`debug`." +"and behavior are otherwise the same as for :func:`debug`." msgstr "" -#: ../../library/logging.rst:1153 +#: ../../library/logging.rst:1199 msgid "" "Logs a message with level :const:`CRITICAL` on the root logger. The " -"arguments are interpreted as for :func:`debug`." +"arguments and behavior are otherwise the same as for :func:`debug`." msgstr "" -#: ../../library/logging.rst:1159 +#: ../../library/logging.rst:1205 msgid "" "Logs a message with level :const:`ERROR` on the root logger. The arguments " -"are interpreted as for :func:`debug`. Exception info is added to the logging " -"message. This function should only be called from an exception handler." +"and behavior are otherwise the same as for :func:`debug`. Exception info is " +"added to the logging message. This function should only be called from an " +"exception handler." msgstr "" -#: ../../library/logging.rst:1165 +#: ../../library/logging.rst:1211 msgid "" -"Logs a message with level *level* on the root logger. The other arguments " -"are interpreted as for :func:`debug`." +"Logs a message with level *level* on the root logger. The arguments and " +"behavior are otherwise the same as for :func:`debug`." msgstr "" -#: ../../library/logging.rst:1170 +#: ../../library/logging.rst:1216 msgid "" "Provides an overriding level *level* for all loggers which takes precedence " "over the logger's own level. When the need arises to temporarily throttle " @@ -1723,13 +1806,13 @@ msgid "" "useful. Its effect is to disable all logging calls of severity *level* and " "below, so that if you call it with a value of INFO, then all INFO and DEBUG " "events would be discarded, whereas those of severity WARNING and above would " -"be processed according to the logger's effective level. If ``logging." -"disable(logging.NOTSET)`` is called, it effectively removes this overriding " -"level, so that logging output again depends on the effective levels of " -"individual loggers." +"be processed according to the logger's effective level. If " +"``logging.disable(logging.NOTSET)`` is called, it effectively removes this " +"overriding level, so that logging output again depends on the effective " +"levels of individual loggers." msgstr "" -#: ../../library/logging.rst:1181 +#: ../../library/logging.rst:1227 msgid "" "Note that if you have defined any custom logging level higher than " "``CRITICAL`` (this is not recommended), you won't be able to rely on the " @@ -1737,13 +1820,13 @@ msgid "" "a suitable value." msgstr "" -#: ../../library/logging.rst:1186 +#: ../../library/logging.rst:1232 msgid "" -"The *level* parameter was defaulted to level ``CRITICAL``. See :issue:" -"`28524` for more information about this change." +"The *level* parameter was defaulted to level ``CRITICAL``. " +"See :issue:`28524` for more information about this change." msgstr "" -#: ../../library/logging.rst:1192 +#: ../../library/logging.rst:1238 msgid "" "Associates level *level* with text *levelName* in an internal dictionary, " "which is used to map numeric levels to a textual representation, for example " @@ -1753,56 +1836,57 @@ msgid "" "and they should increase in increasing order of severity." msgstr "" -#: ../../library/logging.rst:1199 +#: ../../library/logging.rst:1245 msgid "" -"If you are thinking of defining your own levels, please see the section on :" -"ref:`custom-levels`." +"If you are thinking of defining your own levels, please see the section " +"on :ref:`custom-levels`." msgstr "" -#: ../../library/logging.rst:1204 +#: ../../library/logging.rst:1250 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 "" -#: ../../library/logging.rst:1212 +#: ../../library/logging.rst:1258 msgid "Returns the textual or numeric representation of logging level *level*." msgstr "" -#: ../../library/logging.rst:1214 +#: ../../library/logging.rst:1260 msgid "" -"If *level* is one of the predefined levels :const:`CRITICAL`, :const:" -"`ERROR`, :const:`WARNING`, :const:`INFO` or :const:`DEBUG` then you get the " -"corresponding string. If you have associated levels with names using :func:" -"`addLevelName` then the name you have associated with *level* is returned. " -"If a numeric value corresponding to one of the defined levels is passed in, " -"the corresponding string representation is returned." +"If *level* is one of the predefined " +"levels :const:`CRITICAL`, :const:`ERROR`, :const:`WARNING`, :const:`INFO` " +"or :const:`DEBUG` then you get the corresponding string. If you have " +"associated levels with names using :func:`addLevelName` then the name you " +"have associated with *level* is returned. If a numeric value corresponding " +"to one of the defined levels is passed in, the corresponding string " +"representation is returned." msgstr "" -#: ../../library/logging.rst:1221 +#: ../../library/logging.rst:1267 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 "" -#: ../../library/logging.rst:1225 +#: ../../library/logging.rst:1271 msgid "" "If no matching numeric or string value is passed in, the string 'Level %s' % " "level is returned." msgstr "" -#: ../../library/logging.rst:1228 +#: ../../library/logging.rst:1274 msgid "" "Levels are internally integers (as they need to be compared in the logging " "logic). This function is used to convert between an integer level and the " -"level name displayed in the formatted log output by means of the " -"``%(levelname)s`` format specifier (see :ref:`logrecord-attributes`), and " -"vice versa." +"level name displayed in the formatted log output by means of the ``%" +"(levelname)s`` format specifier (see :ref:`logrecord-attributes`), and vice " +"versa." msgstr "" -#: ../../library/logging.rst:1234 +#: ../../library/logging.rst:1280 msgid "" "In Python versions earlier than 3.4, this function could also be passed a " "text level, and would return the corresponding numeric value of the level. " @@ -1810,30 +1894,31 @@ msgid "" "Python 3.4, but reinstated in 3.4.2 due to retain backward compatibility." msgstr "" -#: ../../library/logging.rst:1242 +#: ../../library/logging.rst:1288 msgid "" "Creates and returns a new :class:`LogRecord` instance whose attributes are " -"defined by *attrdict*. This function is useful for taking a pickled :class:" -"`LogRecord` attribute dictionary, sent over a socket, and reconstituting it " -"as a :class:`LogRecord` instance at the receiving end." +"defined by *attrdict*. This function is useful for taking a " +"pickled :class:`LogRecord` attribute dictionary, sent over a socket, and " +"reconstituting it as a :class:`LogRecord` instance at the receiving end." msgstr "" -#: ../../library/logging.rst:1250 +#: ../../library/logging.rst:1296 msgid "" -"Does basic configuration for the logging system by creating a :class:" -"`StreamHandler` with a default :class:`Formatter` and adding it to the root " -"logger. The functions :func:`debug`, :func:`info`, :func:`warning`, :func:" -"`error` and :func:`critical` will call :func:`basicConfig` automatically if " -"no handlers are defined for the root logger." +"Does basic configuration for the logging system by creating " +"a :class:`StreamHandler` with a default :class:`Formatter` and adding it to " +"the root logger. The " +"functions :func:`debug`, :func:`info`, :func:`warning`, :func:`error` " +"and :func:`critical` will call :func:`basicConfig` automatically if no " +"handlers are defined for the root logger." msgstr "" -#: ../../library/logging.rst:1256 +#: ../../library/logging.rst:1302 msgid "" "This function does nothing if the root logger already has handlers " "configured, unless the keyword argument *force* is set to ``True``." msgstr "" -#: ../../library/logging.rst:1259 +#: ../../library/logging.rst:1305 msgid "" "This function should be called from the main thread before other threads are " "started. In versions of Python prior to 2.7.1 and 3.2, if this function is " @@ -1842,54 +1927,54 @@ msgid "" "unexpected results such as messages being duplicated in the log." msgstr "" -#: ../../library/logging.rst:1266 +#: ../../library/logging.rst:1312 msgid "The following keyword arguments are supported." msgstr "" -#: ../../library/logging.rst:1273 +#: ../../library/logging.rst:1319 msgid "*filename*" msgstr "" -#: ../../library/logging.rst:1273 +#: ../../library/logging.rst:1319 msgid "" "Specifies that a :class:`FileHandler` be created, using the specified " "filename, rather than a :class:`StreamHandler`." msgstr "" -#: ../../library/logging.rst:1277 +#: ../../library/logging.rst:1323 msgid "*filemode*" msgstr "" -#: ../../library/logging.rst:1277 +#: ../../library/logging.rst:1323 msgid "" "If *filename* is specified, open the file in this :ref:`mode `. " "Defaults to ``'a'``." msgstr "" -#: ../../library/logging.rst:1281 +#: ../../library/logging.rst:1327 msgid "*format*" msgstr "" -#: ../../library/logging.rst:1281 +#: ../../library/logging.rst:1327 msgid "" "Use the specified format string for the handler. Defaults to attributes " "``levelname``, ``name`` and ``message`` separated by colons." msgstr "" -#: ../../library/logging.rst:1286 +#: ../../library/logging.rst:1332 msgid "*datefmt*" msgstr "" -#: ../../library/logging.rst:1286 +#: ../../library/logging.rst:1332 msgid "" "Use the specified date/time format, as accepted by :func:`time.strftime`." msgstr "" -#: ../../library/logging.rst:1289 +#: ../../library/logging.rst:1335 msgid "*style*" msgstr "" -#: ../../library/logging.rst:1289 +#: ../../library/logging.rst:1335 msgid "" "If *format* is specified, use this style for the format string. One of " "``'%'``, ``'{'`` or ``'$'`` for :ref:`printf-style `." msgstr "" -#: ../../library/logging.rst:1300 +#: ../../library/logging.rst:1346 msgid "*stream*" msgstr "" -#: ../../library/logging.rst:1300 +#: ../../library/logging.rst:1346 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 "" -#: ../../library/logging.rst:1306 +#: ../../library/logging.rst:1352 msgid "*handlers*" msgstr "" -#: ../../library/logging.rst:1306 +#: ../../library/logging.rst:1352 msgid "" "If specified, this should be an iterable of already created handlers to add " "to the root logger. Any handlers which don't already have a formatter set " @@ -1929,111 +2014,114 @@ msgid "" "present, a ``ValueError`` is raised." msgstr "" -#: ../../library/logging.rst:1315 +#: ../../library/logging.rst:1361 msgid "*force*" msgstr "" -#: ../../library/logging.rst:1315 +#: ../../library/logging.rst:1361 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 "" -#: ../../library/logging.rst:1321 +#: ../../library/logging.rst:1367 msgid "*encoding*" msgstr "" -#: ../../library/logging.rst:1321 +#: ../../library/logging.rst:1367 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 "" -#: ../../library/logging.rst:1326 +#: ../../library/logging.rst:1372 msgid "*errors*" msgstr "" -#: ../../library/logging.rst:1326 +#: ../../library/logging.rst:1372 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. If not specified, the value 'backslashreplace' is used. " -"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'." +"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 "" -#: ../../library/logging.rst:1337 +#: ../../library/logging.rst:1383 msgid "The *style* argument was added." -msgstr "" +msgstr "O argumento *style* foi adicionado." -#: ../../library/logging.rst:1340 +#: ../../library/logging.rst:1386 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 "" -#: ../../library/logging.rst:1346 +#: ../../library/logging.rst:1392 msgid "The *force* argument was added." -msgstr "" +msgstr "O argumento *force* foi adicionado." -#: ../../library/logging.rst:1349 +#: ../../library/logging.rst:1395 msgid "The *encoding* and *errors* arguments were added." -msgstr "" +msgstr "Os argumentos *encoding* e *errors* foram adicionados." -#: ../../library/logging.rst:1354 +#: ../../library/logging.rst:1400 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 "" -#: ../../library/logging.rst:1358 +#: ../../library/logging.rst:1404 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 "" -#: ../../library/logging.rst:1365 +#: ../../library/logging.rst:1411 msgid "" "Tells the logging system to use the class *klass* when instantiating a " -"logger. The class should define :meth:`__init__` such that only a name " -"argument is required, and the :meth:`__init__` should call :meth:`Logger." -"__init__`. This function is typically called before any loggers are " +"logger. The class should define :meth:`!__init__` such that only a name " +"argument is required, and the :meth:`!__init__` should call :meth:`!" +"Logger.__init__`. This function is typically called before any loggers are " "instantiated by applications which need to use custom logger behavior. After " "this call, as at any other time, do not instantiate loggers directly using " "the subclass: continue to use the :func:`logging.getLogger` API to get your " "loggers." msgstr "" -#: ../../library/logging.rst:1376 +#: ../../library/logging.rst:1422 msgid "Set a callable which is used to create a :class:`LogRecord`." msgstr "" -#: ../../library/logging.rst:1378 +#: ../../library/logging.rst:1424 msgid "The factory callable to be used to instantiate a log record." msgstr "" -#: ../../library/logging.rst:1380 +#: ../../library/logging.rst:1426 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 "" -#: ../../library/logging.rst:1385 +#: ../../library/logging.rst:1431 msgid "The factory has the following signature:" msgstr "" -#: ../../library/logging.rst:1387 +#: ../../library/logging.rst:1433 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)``" -#: ../../library/logging.rst:1389 +#: ../../library/logging.rst:1435 msgid "The logger name." msgstr "" @@ -2041,7 +2129,7 @@ msgstr "" msgid "level" msgstr "" -#: ../../library/logging.rst:1390 +#: ../../library/logging.rst:1436 msgid "The logging level (numeric)." msgstr "" @@ -2049,7 +2137,7 @@ msgstr "" msgid "fn" msgstr "" -#: ../../library/logging.rst:1391 +#: ../../library/logging.rst:1437 msgid "The full pathname of the file where the logging call was made." msgstr "" @@ -2057,19 +2145,19 @@ msgstr "" msgid "lno" msgstr "" -#: ../../library/logging.rst:1392 +#: ../../library/logging.rst:1438 msgid "The line number in the file where the logging call was made." msgstr "" -#: ../../library/logging.rst:1393 +#: ../../library/logging.rst:1439 msgid "The logging message." msgstr "" -#: ../../library/logging.rst:1394 +#: ../../library/logging.rst:1440 msgid "The arguments for the logging message." msgstr "" -#: ../../library/logging.rst:1395 +#: ../../library/logging.rst:1441 msgid "An exception tuple, or ``None``." msgstr "" @@ -2077,7 +2165,7 @@ msgstr "" msgid "func" msgstr "func" -#: ../../library/logging.rst:1396 +#: ../../library/logging.rst:1442 msgid "The name of the function or method which invoked the logging call." msgstr "" @@ -2085,7 +2173,7 @@ msgstr "" msgid "sinfo" msgstr "" -#: ../../library/logging.rst:1398 +#: ../../library/logging.rst:1444 msgid "" "A stack traceback such as is provided by :func:`traceback.print_stack`, " "showing the call hierarchy." @@ -2095,89 +2183,105 @@ msgstr "" msgid "kwargs" msgstr "kwargs" -#: ../../library/logging.rst:1400 +#: ../../library/logging.rst:1446 msgid "Additional keyword arguments." msgstr "" -#: ../../library/logging.rst:1404 +#: ../../library/logging.rst:1450 msgid "Module-Level Attributes" msgstr "" -#: ../../library/logging.rst:1408 +#: ../../library/logging.rst:1454 msgid "" -"A \"handler of last resort\" is available through this attribute. This is a :" -"class:`StreamHandler` writing to ``sys.stderr`` with a level of ``WARNING``, " -"and is used to handle logging events in the absence of any logging " -"configuration. The end result is to just print the message to ``sys." -"stderr``. This replaces the earlier error message saying that \"no handlers " -"could be found for logger XYZ\". If you need the earlier behaviour for some " -"reason, ``lastResort`` can be set to ``None``." +"A \"handler of last resort\" is available through this attribute. This is " +"a :class:`StreamHandler` writing to ``sys.stderr`` with a level of " +"``WARNING``, and is used to handle logging events in the absence of any " +"logging configuration. The end result is to just print the message to " +"``sys.stderr``. This replaces the earlier error message saying that \"no " +"handlers could be found for logger XYZ\". If you need the earlier behaviour " +"for some reason, ``lastResort`` can be set to ``None``." msgstr "" -#: ../../library/logging.rst:1419 +#: ../../library/logging.rst:1466 +msgid "Used to see if exceptions during handling should be propagated." +msgstr "" + +#: ../../library/logging.rst:1468 +msgid "Default: ``True``." +msgstr "Padrão: ``True``." + +#: ../../library/logging.rst:1470 +msgid "" +"If :data:`raiseExceptions` is ``False``, exceptions get silently ignored. " +"This is what is mostly wanted for a logging system - most users will not " +"care about errors in the logging system, they are more interested in " +"application errors." +msgstr "" + +#: ../../library/logging.rst:1477 msgid "Integration with the warnings module" msgstr "" -#: ../../library/logging.rst:1421 +#: ../../library/logging.rst:1479 msgid "" "The :func:`captureWarnings` function can be used to integrate :mod:`logging` " "with the :mod:`warnings` module." msgstr "" -#: ../../library/logging.rst:1426 +#: ../../library/logging.rst:1484 msgid "" "This function is used to turn the capture of warnings by logging on and off." msgstr "" -#: ../../library/logging.rst:1429 +#: ../../library/logging.rst:1487 msgid "" "If *capture* is ``True``, warnings issued by the :mod:`warnings` module will " "be redirected to the logging system. Specifically, a warning will be " "formatted using :func:`warnings.formatwarning` and the resulting string " -"logged to a logger named ``'py.warnings'`` with a severity of :const:" -"`WARNING`." +"logged to a logger named ``'py.warnings'`` with a severity " +"of :const:`WARNING`." msgstr "" -#: ../../library/logging.rst:1434 +#: ../../library/logging.rst:1492 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)." +"will stop, and warnings will be redirected to their original destinations " +"(i.e. those in effect before ``captureWarnings(True)`` was called)." msgstr "" -#: ../../library/logging.rst:1442 +#: ../../library/logging.rst:1500 msgid "Module :mod:`logging.config`" msgstr "Módulo :mod:`logging.config`" -#: ../../library/logging.rst:1442 +#: ../../library/logging.rst:1500 msgid "Configuration API for the logging module." msgstr "API de configuração para o módulo logging." -#: ../../library/logging.rst:1445 +#: ../../library/logging.rst:1503 msgid "Module :mod:`logging.handlers`" msgstr "Módulo :mod:`logging.handlers`" -#: ../../library/logging.rst:1445 +#: ../../library/logging.rst:1503 msgid "Useful handlers included with the logging module." -msgstr "" +msgstr "Tratadores úteis incluídos no módulo logging." -#: ../../library/logging.rst:1449 +#: ../../library/logging.rst:1507 msgid ":pep:`282` - A Logging System" -msgstr "" +msgstr ":pep:`282` - A Logging System" -#: ../../library/logging.rst:1448 +#: ../../library/logging.rst:1506 msgid "" "The proposal which described this feature for inclusion in the Python " "standard library." msgstr "" -#: ../../library/logging.rst:1454 +#: ../../library/logging.rst:1512 msgid "" -"`Original Python logging package `_" +"`Original Python logging package `_" msgstr "" -#: ../../library/logging.rst:1452 +#: ../../library/logging.rst:1510 msgid "" "This is the original source for the :mod:`logging` package. The version of " "the package available from this site is suitable for use with Python 1.5.2, " diff --git a/library/lzma.po b/library/lzma.po index 7fc1733d0..6f31c87ce 100644 --- a/library/lzma.po +++ b/library/lzma.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,51 +38,51 @@ msgid "" "file interface supporting the ``.xz`` and legacy ``.lzma`` file formats used " "by the :program:`xz` utility, as well as raw compressed streams." msgstr "" -"Este módulo fornece classes e funções de conveniência para compactar e " -"descompactar dados usando o algoritmo de compactação LZMA. Também está " +"Este módulo fornece classes e funções de conveniência para comprimir e " +"descomprimir dados usando o algoritmo de compressão LZMA. Também está " "incluída uma interface de arquivo que oferece suporte aos formatos de " "arquivo ``.xz`` e legado ``.lzma`` usados pelo utilitário :program:`xz`, bem " -"como fluxos brutos compactados." +"como fluxos brutos comprimidos." #: ../../library/lzma.rst:21 msgid "" -"The interface provided by this module is very similar to that of the :mod:" -"`bz2` module. Note that :class:`LZMAFile` and :class:`bz2.BZ2File` are *not* " -"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." +"The interface provided by this module is very similar to that of " +"the :mod:`bz2` module. Note that :class:`LZMAFile` and :class:`bz2.BZ2File` " +"are *not* 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 "" -"A interface fornecida por este módulo é muito semelhante à do módulo :mod:" -"`bz2`. Observe que :class:`LZMAFile` e :class:`bz2.BZ2File` *não* são seguro " -"para thread, portanto, se você precisar usar uma única instância :class:" -"`LZMAFile` de vários threads, é necessário protegê-la com um bloqueio." +"A interface fornecida por este módulo é muito semelhante à do " +"módulo :mod:`bz2`. Observe que :class:`LZMAFile` e :class:`bz2.BZ2File` " +"*não* são seguro para thread, portanto, se você precisar usar uma única " +"instância :class:`LZMAFile` de vários threads, é necessário protegê-la com " +"uma trava." #: ../../library/lzma.rst:29 msgid "" "This exception is raised when an error occurs during compression or " "decompression, or while initializing the compressor/decompressor state." msgstr "" -"Essa exceção é levantada quando ocorre um erro durante a compactação ou " -"descompactação ou durante a inicialização do estado compactador/" -"descompactador." +"Essa exceção é levantada quando ocorre um erro durante a compressão ou " +"descompressão ou durante a inicialização do estado compressor/descompressor." #: ../../library/lzma.rst:34 msgid "Reading and writing compressed files" -msgstr "Lendo e escrevendo arquivos compactados" +msgstr "Lendo e escrevendo arquivos comprimidos" #: ../../library/lzma.rst:38 msgid "" "Open an LZMA-compressed file in binary or text mode, returning a :term:`file " "object`." msgstr "" -"Abre um arquivo compactado com LZMA no modo binário ou texto, retornando um :" -"term:`objeto arquivo `." +"Abre um arquivo comprimido com LZMA no modo binário ou texto, retornando " +"um :term:`objeto arquivo `." #: ../../library/lzma.rst:41 msgid "" -"The *filename* argument can be either an actual file name (given as a :class:" -"`str`, :class:`bytes` or :term:`path-like ` object), in " -"which case the named file is opened, or it can be an existing file object to " -"read from or write to." +"The *filename* argument can be either an actual file name (given as " +"a :class:`str`, :class:`bytes` or :term:`path-like ` " +"object), in which case the named file is opened, or it can be an existing " +"file object to read from or write to." msgstr "" "O argumento *filename* pode ser um nome de arquivo real (dado como um " "objeto :class:`str`, :class:`bytes` ou :term:`caminho ou similar ` object). When " -"wrapping an existing file object, the wrapped file will not be closed when " -"the :class:`LZMAFile` is closed." -msgstr "" -"Um :class:`LZMAFile` pode envolver um :term:`objeto arquivo ` " -"já aberto, ou operar diretamente em um arquivo nomeado. O argumento " -"*filename* especifica o objeto arquivo a ser encapsulado ou o nome do " -"arquivo a ser aberto (como um objeto :class:`str`, :class:`bytes` ou :term:" -"`caminho ou similar `). Ao agrupar um objeto de arquivo " -"existente, o arquivo agrupado não será fechado quando o :class:`LZMAFile` " -"for fechado." +"the file object to wrap, or the name of the file to open (as " +"a :class:`str`, :class:`bytes` or :term:`path-like ` " +"object). When wrapping an existing file object, the wrapped file will not be " +"closed when the :class:`LZMAFile` is closed." +msgstr "" +"Um :class:`LZMAFile` pode envolver um :term:`objeto arquivo` já aberto, ou " +"operar diretamente em um arquivo nomeado. O argumento *filename* especifica " +"o objeto arquivo a ser encapsulado ou o nome do arquivo a ser aberto (como " +"um objeto :class:`str`, :class:`bytes` ou :term:`objeto caminho ou " +"similar`). Ao agrupar um objeto arquivo existente, o arquivo agrupado não " +"será fechado quando o :class:`LZMAFile` for fechado." #: ../../library/lzma.rst:83 msgid "" @@ -199,24 +194,26 @@ msgid "" "single logical stream." msgstr "" "Ao abrir um arquivo para leitura, o arquivo de entrada pode ser a " -"concatenação de vários fluxos compactados separados. Estes são decodificados " +"concatenação de vários fluxos comprimidos separados. Estes são decodificados " "de forma transparente como um único fluxo lógico." #: ../../library/lzma.rst:102 msgid "" -":class:`LZMAFile` supports all the members specified by :class:`io." -"BufferedIOBase`, except for :meth:`detach` and :meth:`truncate`. Iteration " -"and the :keyword:`with` statement are supported." +":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` oferece suporte a todos os membros especificados por :" -"class:`io.BufferedIOBase`, exceto :meth:`detach` e :meth:`truncate`. " -"Iteração e a instrução :keyword:`with` são suportadas." +":class:`LZMAFile` suporta todos os membros especificados " +"por :class:`io.BufferedIOBase`, exceto :meth:`~io.BufferedIOBase.detach` " +"e :meth:`~io.IOBase.truncate`. Iteração e a instrução :keyword:`with` são " +"suportadas." -#: ../../library/lzma.rst:106 +#: ../../library/lzma.rst:107 msgid "The following method is also provided:" -msgstr "O método a seguir também é fornecido:" +msgstr "O seguinte método também é fornecido:" -#: ../../library/lzma.rst:110 +#: ../../library/lzma.rst:111 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 " @@ -227,23 +224,23 @@ msgstr "" "atingido. O número exato de bytes retornados não é especificado (o argumento " "*size* é ignorado)." -#: ../../library/lzma.rst:114 +#: ../../library/lzma.rst:115 msgid "" -"While calling :meth:`peek` does not change the file position of the :class:" -"`LZMAFile`, it may change the position of the underlying file object (e.g. " -"if the :class:`LZMAFile` was constructed by passing a file object for " -"*filename*)." +"While calling :meth:`peek` does not change the file position of " +"the :class:`LZMAFile`, it may change the position of the underlying file " +"object (e.g. if the :class:`LZMAFile` was constructed by passing a file " +"object for *filename*)." msgstr "" -"Enquanto chamar :meth:`peek` não altera a posição do arquivo de :class:" -"`LZMAFile`, pode alterar a posição do objeto arquivo subjacente (por " -"exemplo, se o :class:`LZMAFile` foi construído passando um objeto arquivo " -"para *nome do arquivo*)." +"Enquanto chamar :meth:`peek` não altera a posição do arquivo " +"de :class:`LZMAFile`, pode alterar a posição do objeto arquivo subjacente " +"(por exemplo, se o :class:`LZMAFile` foi construído passando um objeto " +"arquivo para *nome do arquivo*)." -#: ../../library/lzma.rst:119 +#: ../../library/lzma.rst:120 msgid "Added support for the ``\"x\"`` and ``\"xb\"`` modes." msgstr "Adicionado suporte para os modos ``\"x\"`` e ``\"xb\"``." -#: ../../library/lzma.rst:122 +#: ../../library/lzma.rst:123 msgid "" "The :meth:`~io.BufferedIOBase.read` method now accepts an argument of " "``None``." @@ -251,26 +248,26 @@ msgstr "" "O método :meth:`~io.BufferedIOBase.read` agora aceita um argumento de " "``None``." -#: ../../library/lzma.rst:131 +#: ../../library/lzma.rst:132 msgid "Compressing and decompressing data in memory" -msgstr "Compactando e descompactando dados na memória" +msgstr "Comprimindo e descomprimindo dados na memória" -#: ../../library/lzma.rst:135 +#: ../../library/lzma.rst:136 msgid "" "Create a compressor object, which can be used to compress data incrementally." msgstr "" -"Cria um objeto compactador, que pode ser usado para compactar dados de forma " +"Cria um objeto compressão, que pode ser usado para comprimir dados de forma " "incremental." -#: ../../library/lzma.rst:137 +#: ../../library/lzma.rst:138 msgid "" -"For a more convenient way of compressing a single chunk of data, see :func:" -"`compress`." +"For a more convenient way of compressing a single chunk of data, " +"see :func:`compress`." msgstr "" -"Para uma maneira mais conveniente de compactar um único bloco de dados, " +"Para uma maneira mais conveniente de comprimir um único bloco de dados, " "consulte :func:`compress`." -#: ../../library/lzma.rst:140 +#: ../../library/lzma.rst:141 msgid "" "The *format* argument specifies what container format should be used. " "Possible values are:" @@ -278,19 +275,19 @@ msgstr "" "O argumento *format* especifica qual formato de contêiner deve ser usado. Os " "valores possíveis são:" -#: ../../library/lzma.rst:144 +#: ../../library/lzma.rst:145 msgid ":const:`FORMAT_XZ`: The ``.xz`` container format." msgstr ":const:`FORMAT_XZ`: O formato de contêiner ``.xz``." -#: ../../library/lzma.rst:144 +#: ../../library/lzma.rst:145 msgid "This is the default format." msgstr "Este é o formato padrão." -#: ../../library/lzma.rst:148 +#: ../../library/lzma.rst:149 msgid ":const:`FORMAT_ALONE`: The legacy ``.lzma`` container format." msgstr ":const:`FORMAT_ALONE`: O formato de contêiner legado ``.lzma``." -#: ../../library/lzma.rst:147 +#: ../../library/lzma.rst:148 msgid "" "This format is more limited than ``.xz`` -- it does not support integrity " "checks or multiple filters." @@ -298,13 +295,13 @@ msgstr "" "Este formato é mais limitado que ``.xz`` -- ele não oferece suporte a " "verificações de integridade ou filtros múltiplos." -#: ../../library/lzma.rst:154 +#: ../../library/lzma.rst:155 msgid ":const:`FORMAT_RAW`: A raw data stream, not using any container format." msgstr "" ":const:`FORMAT_RAW`: Um fluxo de dados brutos, que não usa nenhum formato de " "contêiner." -#: ../../library/lzma.rst:151 +#: ../../library/lzma.rst:152 msgid "" "This format specifier does not support integrity checks, and requires that " "you always specify a custom filter chain (for both compression and " @@ -313,21 +310,21 @@ msgid "" msgstr "" "Esse especificador de formato não oferece suporte a verificações de " "integridade e exige que você sempre especifique uma cadeia de filtros " -"personalizada (para compactação e descompactação). Além disso, dados " -"compactados dessa maneira não podem ser descompactados usando :const:" -"`FORMAT_AUTO` (veja :class:`LZMADecompressor`)." +"personalizada (para compressão e descompressão). Além disso, dados " +"comprimidos dessa maneira não podem ser descomprimidos " +"usando :const:`FORMAT_AUTO` (veja :class:`LZMADecompressor`)." -#: ../../library/lzma.rst:156 +#: ../../library/lzma.rst:157 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 "" "O argumento *check* especifica o tipo de verificação de integridade a ser " -"incluída nos dados compactados. Essa verificação é usada ao descompactar, " +"incluída nos dados comprimidos. Essa verificação é usada ao descomprimir, " "para garantir que os dados não foram corrompidos. Os valores possíveis são:" -#: ../../library/lzma.rst:160 +#: ../../library/lzma.rst:161 msgid "" ":const:`CHECK_NONE`: No integrity check. This is the default (and the only " "acceptable value) for :const:`FORMAT_ALONE` and :const:`FORMAT_RAW`." @@ -335,11 +332,11 @@ msgstr "" ":const:`CHECK_NONE`: Sem verificação de integridade. Este é o padrão (e o " "único valor aceitável) para :const:`FORMAT_ALONE` e :const:`FORMAT_RAW`." -#: ../../library/lzma.rst:164 +#: ../../library/lzma.rst:165 msgid ":const:`CHECK_CRC32`: 32-bit Cyclic Redundancy Check." msgstr ":const:`CHECK_CRC32`: Verificação de redundância cíclica de 32 bits." -#: ../../library/lzma.rst:166 +#: ../../library/lzma.rst:167 msgid "" ":const:`CHECK_CRC64`: 64-bit Cyclic Redundancy Check. This is the default " "for :const:`FORMAT_XZ`." @@ -347,57 +344,58 @@ msgstr "" ":const:`CHECK_CRC64`: Verificação de redundância cíclica de 64 bits. Este é " "o padrão para :const:`FORMAT_XZ`." -#: ../../library/lzma.rst:169 +#: ../../library/lzma.rst:170 msgid ":const:`CHECK_SHA256`: 256-bit Secure Hash Algorithm." msgstr ":const:`CHECK_SHA256`: Algoritmo de hash seguro de 256 bits." -#: ../../library/lzma.rst:171 +#: ../../library/lzma.rst:172 msgid "" "If the specified check is not supported, an :class:`LZMAError` is raised." msgstr "" -"Se a verificação especificada não for suportada, uma exceção :class:" -"`LZMAError` será levantada." +"Se a verificação especificada não for suportada, uma " +"exceção :class:`LZMAError` será levantada." -#: ../../library/lzma.rst:173 +#: ../../library/lzma.rst:174 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 "" -"As configurações de compactação podem ser especificadas como um nível de " -"compactação predefinido (com o argumento *preset*) ou em detalhes como uma " +"As configurações de compressão podem ser especificadas como um nível de " +"compressão predefinido (com o argumento *preset*) ou em detalhes como uma " "cadeia de filtros personalizada (com o argumento *filters*)." -#: ../../library/lzma.rst:177 +#: ../../library/lzma.rst:178 msgid "" "The *preset* argument (if provided) should be an integer between ``0`` and " -"``9`` (inclusive), optionally OR-ed with the constant :const:" -"`PRESET_EXTREME`. If neither *preset* nor *filters* are given, the default " -"behavior is to use :const:`PRESET_DEFAULT` (preset level ``6``). Higher " -"presets produce smaller output, but make the compression process slower." +"``9`` (inclusive), optionally OR-ed with the " +"constant :const:`PRESET_EXTREME`. If neither *preset* nor *filters* are " +"given, the default behavior is to use :const:`PRESET_DEFAULT` (preset level " +"``6``). Higher presets produce smaller output, but make the compression " +"process slower." msgstr "" "O argumento *preset* (se fornecido) deve ser um inteiro entre ``0`` e ``9`` " "(inclusive), opcionalmente com OR com a constante :const:`PRESET_EXTREME`. " "Se nem *preset* nem *filters* forem fornecidos, o comportamento padrão é " "usar :const:`PRESET_DEFAULT` (nível predefinido ``6``). Predefinições mais " -"altas produzem uma saída menor, mas tornam o processo de compactação mais " +"altas produzem uma saída menor, mas tornam o processo de compressão mais " "lento." -#: ../../library/lzma.rst:186 +#: ../../library/lzma.rst:187 msgid "" "In addition to being more CPU-intensive, compression with higher presets " "also requires much more memory (and produces output that needs more memory " -"to decompress). With preset ``9`` for example, the overhead for an :class:" -"`LZMACompressor` object can be as high as 800 MiB. For this reason, it is " -"generally best to stick with the default preset." +"to decompress). With preset ``9`` for example, the overhead for " +"an :class:`LZMACompressor` object can be as high as 800 MiB. For this " +"reason, it is generally best to stick with the default preset." msgstr "" -"Além de consumir mais CPU, a compactação com predefinições mais altas também " +"Além de consumir mais CPU, a compressão com predefinições mais altas também " "requer muito mais memória (e produz uma saída que precisa de mais memória " -"para descompactar). Com a predefinição ``9`` por exemplo, a sobrecarga para " +"para descompressão). Com a predefinição ``9`` por exemplo, a sobrecarga para " "um objeto :class:`LZMACompressor` pode chegar a 800 MiB. Por esse motivo, " "geralmente é melhor ficar com a predefinição padrão." -#: ../../library/lzma.rst:192 +#: ../../library/lzma.rst:193 msgid "" "The *filters* argument (if provided) should be a filter chain specifier. " "See :ref:`filter-chain-specs` for details." @@ -405,84 +403,114 @@ msgstr "" "O argumento *filters* (se fornecido) deve ser um especificador de cadeia de " "filtros. Veja :ref:`filter-chain-specs` para detalhes." -#: ../../library/lzma.rst:197 +#: ../../library/lzma.rst:198 msgid "" "Compress *data* (a :class:`bytes` object), returning a :class:`bytes` object " "containing compressed data for at least part of the input. Some of *data* " -"may be buffered internally, for use in later calls to :meth:`compress` and :" -"meth:`flush`. The returned data should be concatenated with the output of " -"any previous calls to :meth:`compress`." +"may be buffered internally, for use in later calls to :meth:`compress` " +"and :meth:`flush`. The returned data should be concatenated with the output " +"of any previous calls to :meth:`compress`." msgstr "" +"Comprime *data* (um objeto :class:`bytes`), retornando um " +"objeto :class:`bytes` contendo dados comprimidos para pelo menos parte da " +"entrada. Alguns dos *data* podem ser armazenados internamente, para uso em " +"chamadas posteriores para :meth:`compress` e :meth:`flush`. Os dados " +"retornados devem ser concatenados com a saída de quaisquer chamadas " +"anteriores para :meth:`compress`." -#: ../../library/lzma.rst:205 +#: ../../library/lzma.rst:206 msgid "" "Finish the compression process, returning a :class:`bytes` object containing " "any data stored in the compressor's internal buffers." msgstr "" +"Conclui o processo de compressão, retornando um objeto :class:`bytes` " +"contendo todos os dados armazenados nos buffers internos do compressor." -#: ../../library/lzma.rst:208 +#: ../../library/lzma.rst:209 msgid "The compressor cannot be used after this method has been called." -msgstr "" +msgstr "O compressor não pode ser usado após a chamada deste método." -#: ../../library/lzma.rst:213 +#: ../../library/lzma.rst:214 msgid "" "Create a decompressor object, which can be used to decompress data " "incrementally." msgstr "" +"Cria um objeto descompressor, que pode ser usado para descomprimir dados de " +"forma incremental." -#: ../../library/lzma.rst:216 +#: ../../library/lzma.rst:217 msgid "" "For a more convenient way of decompressing an entire compressed stream at " "once, see :func:`decompress`." msgstr "" +"Para uma maneira mais conveniente de descomprimir um fluxo comprimido " +"inteiro de uma só vez, consulte :func:`decompress`." -#: ../../library/lzma.rst:219 +#: ../../library/lzma.rst:220 msgid "" "The *format* argument specifies the container format that should be used. " "The default is :const:`FORMAT_AUTO`, which can decompress both ``.xz`` and " -"``.lzma`` files. Other possible values are :const:`FORMAT_XZ`, :const:" -"`FORMAT_ALONE`, and :const:`FORMAT_RAW`." +"``.lzma`` files. Other possible values " +"are :const:`FORMAT_XZ`, :const:`FORMAT_ALONE`, and :const:`FORMAT_RAW`." msgstr "" +"O argumento *format* especifica o formato do contêiner que deve ser usado. O " +"padrão é :const:`FORMAT_AUTO`, que pode descomprimir os arquivos ``.xz`` e " +"``.lzma``. Outros valores possíveis " +"são :const:`FORMAT_XZ`, :const:`FORMAT_ALONE` e :const:`FORMAT_RAW`." -#: ../../library/lzma.rst:224 +#: ../../library/lzma.rst:225 msgid "" "The *memlimit* argument specifies a limit (in bytes) on the amount of memory " "that the decompressor can use. When this argument is used, decompression " "will fail with an :class:`LZMAError` if it is not possible to decompress the " "input within the given memory limit." msgstr "" +"O argumento *memlimit* especifica um limite (em bytes) na quantidade de " +"memória que o descompressor pode usar. Quando esse argumento é usado, a " +"descompressão falhará com um :class:`LZMAError` se não for possível " +"descomprimir a entrada dentro do limite de memória fornecido." -#: ../../library/lzma.rst:229 +#: ../../library/lzma.rst:230 msgid "" "The *filters* argument specifies the filter chain that was used to create " -"the stream being decompressed. This argument is required if *format* is :" -"const:`FORMAT_RAW`, but should not be used for other formats. See :ref:" -"`filter-chain-specs` for more information about filter chains." +"the stream being decompressed. This argument is required if *format* " +"is :const:`FORMAT_RAW`, but should not be used for other formats. " +"See :ref:`filter-chain-specs` for more information about filter chains." msgstr "" +"O argumento *filters* especifica a cadeia de filtros que foi usada para " +"criar o fluxo que está sendo descomprimido. Este argumento é necessário se " +"*format* for :const:`FORMAT_RAW`, mas não deve ser usado para outros " +"formatos. Veja :ref:`filter-chain-specs` para mais informações sobre cadeias " +"de filtros." -#: ../../library/lzma.rst:235 +#: ../../library/lzma.rst:236 msgid "" "This class does not transparently handle inputs containing multiple " "compressed streams, unlike :func:`decompress` and :class:`LZMAFile`. To " "decompress a multi-stream input with :class:`LZMADecompressor`, you must " "create a new decompressor for each stream." msgstr "" +"Esta classe não manipula de forma transparente entradas contendo múltiplos " +"fluxos comprimidos, diferentemente de :func:`decompress` " +"e :class:`LZMAFile`. Para descomprimir uma entrada multi-fluxo " +"com :class:`LZMADecompressor`, você deve criar um novo descompactador para " +"cada fluxo." -#: ../../library/lzma.rst:242 +#: ../../library/lzma.rst:243 msgid "" "Decompress *data* (a :term:`bytes-like object`), returning uncompressed data " "as bytes. Some of *data* may be buffered internally, for use in later calls " "to :meth:`decompress`. The returned data should be concatenated with the " "output of any previous calls to :meth:`decompress`." msgstr "" -"Descompacta dados *data* (um :term:`objeto bytes ou similar `), retornando dados não compactados como bytes. Alguns dos *data* " +"Descomprime dados *data* (um :term:`objeto bytes ou similar `), retornando dados não comprimidos como bytes. Alguns dos *data* " "podem ser armazenados em buffer internamente, para uso em chamadas " "posteriores para :meth:`decompress`. Os dados retornados devem ser " -"concatenados com a saída de qualquer chamada anterior para :meth:" -"`decompress`." +"concatenados com a saída de qualquer chamada anterior " +"para :meth:`decompress`." -#: ../../library/lzma.rst:248 +#: ../../library/lzma.rst:249 msgid "" "If *max_length* is nonnegative, returns at most *max_length* bytes of " "decompressed data. If this limit is reached and further output can be " @@ -491,234 +519,279 @@ msgid "" "``b''`` to obtain more of the output." msgstr "" "Se *max_length* for não negativo, retornará no máximo *max_length* bytes de " -"dados descompactados. Se este limite for atingido e mais saída puder ser " +"dados descomprimidos. Se este limite for atingido e mais saída puder ser " "produzida, o atributo :attr:`~.needs_input` será definido como ``False``. " "Neste caso, a próxima chamada para :meth:`~.decompress` pode fornecer *data* " "como ``b''`` para obter mais saída." -#: ../../library/lzma.rst:255 +#: ../../library/lzma.rst:256 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 "" -"Se todos os dados de entrada foram descompactados e retornados (seja porque " +"Se todos os dados de entrada foram descomprimidos e retornados (seja porque " "era menor que *max_length* bytes, ou porque *max_length* era negativo), o " "atributo :attr:`~.needs_input` será definido como ``True`` ." -#: ../../library/lzma.rst:260 +#: ../../library/lzma.rst:261 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." +"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 "" -"A tentativa de descompactar os dados após o final do fluxo ser atingido gera " +"A tentativa de descomprimir os dados após o final do fluxo ser atingido gera " "um :exc:`EOFError`. Quaisquer dados encontrados após o final do fluxo são " "ignorados e salvos no atributo :attr:`~.unused_data`." -#: ../../library/lzma.rst:264 +#: ../../library/lzma.rst:265 msgid "Added the *max_length* parameter." msgstr "Adicionado o parâmetro *max_length*." -#: ../../library/lzma.rst:269 +#: ../../library/lzma.rst:270 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." +"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 "" +"O ID da verificação de integridade usada pelo fluxo de entrada. Pode " +"ser :const:`CHECK_UNKNOWN` até que o suficiente da entrada tenha sido " +"decodificado para determinar qual verificação de integridade ela usa." -#: ../../library/lzma.rst:275 +#: ../../library/lzma.rst:276 msgid "``True`` if the end-of-stream marker has been reached." msgstr "``True`` se o marcador de fim de fluxo foi atingido." -#: ../../library/lzma.rst:279 +#: ../../library/lzma.rst:280 msgid "Data found after the end of the compressed stream." -msgstr "Dados encontrados após o término do fluxo compactado." +msgstr "Dados encontrados após o término do fluxo comprimido." -#: ../../library/lzma.rst:281 +#: ../../library/lzma.rst:282 msgid "Before the end of the stream is reached, this will be ``b\"\"``." -msgstr "" +msgstr "Antes do final do fluxo ser alcançado, isso será ``b\"\"``." -#: ../../library/lzma.rst:285 +#: ../../library/lzma.rst:286 msgid "" "``False`` if the :meth:`.decompress` method can provide more decompressed " "data before requiring new uncompressed input." msgstr "" "``False`` se o método :meth:`.decompress` puder fornecer mais dados " -"descompactados antes de exigir uma nova entrada descompactada." +"descomprimidos antes de exigir uma nova entrada não comprimida." -#: ../../library/lzma.rst:292 +#: ../../library/lzma.rst:293 msgid "" "Compress *data* (a :class:`bytes` object), returning the compressed data as " "a :class:`bytes` object." msgstr "" +"Comprime *data* (um objeto :class:`bytes`), retornando os dados comprimidos " +"como um objeto :class:`bytes`." -#: ../../library/lzma.rst:295 +#: ../../library/lzma.rst:296 msgid "" "See :class:`LZMACompressor` above for a description of the *format*, " "*check*, *preset* and *filters* arguments." msgstr "" +"Veja :class:`LZMACompressor` acima para uma descrição dos argumentos " +"*format*, *check*, *preset* e *filters*." -#: ../../library/lzma.rst:301 +#: ../../library/lzma.rst:302 msgid "" "Decompress *data* (a :class:`bytes` object), returning the uncompressed data " "as a :class:`bytes` object." msgstr "" +"Descomprime *data* (um objeto :class:`bytes`), retornando os dados não " +"comprimidos como um objeto :class:`bytes`." -#: ../../library/lzma.rst:304 +#: ../../library/lzma.rst:305 msgid "" "If *data* is the concatenation of multiple distinct compressed streams, " "decompress all of these streams, and return the concatenation of the results." msgstr "" +"Se *data* forem a concatenação de vários fluxos comprimidos distintos, " +"descomprime todos esses fluxos e retorna a concatenação dos resultados." -#: ../../library/lzma.rst:307 +#: ../../library/lzma.rst:308 msgid "" "See :class:`LZMADecompressor` above for a description of the *format*, " "*memlimit* and *filters* arguments." msgstr "" +"Veja :class:`LZMADecompressor` acima para uma descrição dos argumentos " +"*format*, *memlimit* e *filters*." -#: ../../library/lzma.rst:312 +#: ../../library/lzma.rst:313 msgid "Miscellaneous" msgstr "Diversos" -#: ../../library/lzma.rst:316 +#: ../../library/lzma.rst:317 msgid "" "Return ``True`` if the given integrity check is supported on this system." msgstr "" +"Retorna ``True`` se a verificação de integridade fornecida for suportada " +"neste sistema." -#: ../../library/lzma.rst:318 +#: ../../library/lzma.rst:319 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." +":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` e :const:`CHECK_CRC32` são sempre " +"suportados. :const:`CHECK_CRC64` e :const:`CHECK_SHA256` podem não estar " +"disponíveis se você estiver usando uma versão do :program:`liblzma` que foi " +"compilada com um conjunto de recursos limitado." -#: ../../library/lzma.rst:327 +#: ../../library/lzma.rst:328 msgid "Specifying custom filter chains" -msgstr "" +msgstr "Especificando cadeias de filtros personalizadas" -#: ../../library/lzma.rst:329 +#: ../../library/lzma.rst:330 msgid "" "A filter chain specifier is a sequence of dictionaries, where each " "dictionary contains the ID and options for a single filter. Each dictionary " "must contain the key ``\"id\"``, and may contain additional keys to specify " "filter-dependent options. Valid filter IDs are as follows:" msgstr "" +"Um especificador de cadeia de filtros é uma sequência de dicionários, onde " +"cada dicionário contém o ID e as opções para um único filtro. Cada " +"dicionário deve conter a chave ``\"id\"`` e pode conter chaves adicionais " +"para especificar opções dependentes do filtro. Os IDs de filtro válidos são " +"os seguintes:" -#: ../../library/lzma.rst:336 +#: ../../library/lzma.rst:335 msgid "Compression filters:" msgstr "Filtro Compression:" -#: ../../library/lzma.rst:335 +#: ../../library/lzma.rst:337 msgid ":const:`FILTER_LZMA1` (for use with :const:`FORMAT_ALONE`)" msgstr ":const:`FILTER_LZMA1` (para ser usado com :const:`FORMAT_ALONE`)" -#: ../../library/lzma.rst:336 +#: ../../library/lzma.rst:338 msgid "" -":const:`FILTER_LZMA2` (for use with :const:`FORMAT_XZ` and :const:" -"`FORMAT_RAW`)" +":const:`FILTER_LZMA2` (for use with :const:`FORMAT_XZ` " +"and :const:`FORMAT_RAW`)" msgstr "" -":const:`FILTER_LZMA2` (para ser utilizado com :const:`FORMAT_XZ` and :const:" -"`FORMAT_RAW`)" +":const:`FILTER_LZMA2` (para ser utilizado com :const:`FORMAT_XZ` " +"and :const:`FORMAT_RAW`)" -#: ../../library/lzma.rst:339 +#: ../../library/lzma.rst:340 msgid "Delta filter:" -msgstr "" +msgstr "Filtro delta:" -#: ../../library/lzma.rst:339 +#: ../../library/lzma.rst:342 msgid ":const:`FILTER_DELTA`" msgstr ":const:`FILTER_DELTA`" -#: ../../library/lzma.rst:347 +#: ../../library/lzma.rst:344 msgid "Branch-Call-Jump (BCJ) filters:" -msgstr "" +msgstr "Filtros Branch-Call-Jump (BCJ):" -#: ../../library/lzma.rst:342 +#: ../../library/lzma.rst:346 msgid ":const:`FILTER_X86`" msgstr ":const:`FILTER_X86`" -#: ../../library/lzma.rst:343 +#: ../../library/lzma.rst:347 msgid ":const:`FILTER_IA64`" msgstr ":const:`FILTER_IA64`" -#: ../../library/lzma.rst:344 +#: ../../library/lzma.rst:348 msgid ":const:`FILTER_ARM`" msgstr ":const:`FILTER_ARM`" -#: ../../library/lzma.rst:345 +#: ../../library/lzma.rst:349 msgid ":const:`FILTER_ARMTHUMB`" msgstr ":const:`FILTER_ARMTHUMB`" -#: ../../library/lzma.rst:346 +#: ../../library/lzma.rst:350 msgid ":const:`FILTER_POWERPC`" msgstr ":const:`FILTER_POWERPC`" -#: ../../library/lzma.rst:347 +#: ../../library/lzma.rst:351 msgid ":const:`FILTER_SPARC`" msgstr ":const:`FILTER_SPARC`" -#: ../../library/lzma.rst:349 +#: ../../library/lzma.rst:353 msgid "" "A filter chain can consist of up to 4 filters, and cannot be empty. The last " "filter in the chain must be a compression filter, and any other filters must " "be delta or BCJ filters." msgstr "" +"Uma cadeia de filtros pode consistir em até 4 filtros e não pode estar " +"vazia. O último filtro na cadeia deve ser um filtro de compressão e " +"quaisquer outros filtros devem ser filtros delta ou BCJ." -#: ../../library/lzma.rst:353 +#: ../../library/lzma.rst:357 msgid "" "Compression filters support the following options (specified as additional " "entries in the dictionary representing the filter):" msgstr "" +"Os filtros de compressão suportam as seguintes opções (especificadas como " +"entradas adicionais no dicionário que representa o filtro):" -#: ../../library/lzma.rst:356 +#: ../../library/lzma.rst:360 msgid "" "``preset``: A compression preset to use as a source of default values for " "options that are not specified explicitly." msgstr "" +"``preset``: Uma predefinição de compressão para usar como fonte de valores " +"padrão para opções que não são especificadas explicitamente." -#: ../../library/lzma.rst:358 +#: ../../library/lzma.rst:362 msgid "" "``dict_size``: Dictionary size in bytes. This should be between 4 KiB and " "1.5 GiB (inclusive)." msgstr "" +"``dict_size``: Tamanho do dicionário em bytes. Deve estar entre 4 KiB e 1,5 " +"GiB (inclusive)." -#: ../../library/lzma.rst:360 +#: ../../library/lzma.rst:364 msgid "``lc``: Number of literal context bits." -msgstr "" +msgstr "``lc``: Número de bits de contexto literal." -#: ../../library/lzma.rst:361 +#: ../../library/lzma.rst:365 msgid "" "``lp``: Number of literal position bits. The sum ``lc + lp`` must be at most " "4." msgstr "" +"``lp``: Número de bits de posição literal. A soma ``lc + lp`` deve ser no " +"máximo 4." -#: ../../library/lzma.rst:363 +#: ../../library/lzma.rst:367 msgid "``pb``: Number of position bits; must be at most 4." -msgstr "" +msgstr "``pb``: Número de bits de posição; deve ser no máximo 4." -#: ../../library/lzma.rst:364 +#: ../../library/lzma.rst:368 msgid "``mode``: :const:`MODE_FAST` or :const:`MODE_NORMAL`." -msgstr "" +msgstr "``mode``: :const:`MODE_FAST` ou :const:`MODE_NORMAL`." -#: ../../library/lzma.rst:365 +#: ../../library/lzma.rst:369 msgid "" "``nice_len``: What should be considered a \"nice length\" for a match. This " "should be 273 or less." msgstr "" +"``nice_len``: O que deve ser considerado um \"tamanho agradável\" para uma " +"correspondência. Deve ser 273 ou menos." -#: ../../library/lzma.rst:367 +#: ../../library/lzma.rst:371 msgid "" -"``mf``: What match finder to use -- :const:`MF_HC3`, :const:`MF_HC4`, :const:" -"`MF_BT2`, :const:`MF_BT3`, or :const:`MF_BT4`." +"``mf``: What match finder to use " +"-- :const:`MF_HC3`, :const:`MF_HC4`, :const:`MF_BT2`, :const:`MF_BT3`, " +"or :const:`MF_BT4`." msgstr "" +"``mf``: Qual localizador de correspondências usar " +"-- :const:`MF_HC3`, :const:`MF_HC4`, :const:`MF_BT2`, :const:`MF_BT3` " +"ou :const:`MF_BT4`." -#: ../../library/lzma.rst:369 +#: ../../library/lzma.rst:373 msgid "" "``depth``: Maximum search depth used by match finder. 0 (default) means to " "select automatically based on other filter options." msgstr "" +"``depth``: Profundidade máxima de pesquisa usada pelo localizador de " +"correspondências. 0 (padrão) significa selecionar automaticamente com base " +"em outras opções de filtro." -#: ../../library/lzma.rst:372 +#: ../../library/lzma.rst:376 msgid "" "The delta filter stores the differences between bytes, producing more " "repetitive input for the compressor in certain circumstances. It supports " @@ -726,8 +799,12 @@ msgid "" "subtracted. The default is 1, i.e. take the differences between adjacent " "bytes." msgstr "" +"O filtro delta armazena as diferenças entre bytes, produzindo uma entrada " +"mais repetitiva para o compressor em certas circunstâncias. Ele suporta uma " +"opção, ``dist``. Isso indica a distância entre bytes a ser subtraída. O " +"padrão é 1, ou seja, pega as diferenças entre bytes adjacentes." -#: ../../library/lzma.rst:377 +#: ../../library/lzma.rst:381 msgid "" "The BCJ filters are intended to be applied to machine code. They convert " "relative branches, calls and jumps in the code to use absolute addressing, " @@ -736,31 +813,38 @@ msgid "" "specifies the address that should be mapped to the beginning of the input " "data. The default is 0." msgstr "" +"Os filtros BCJ são destinados a serem aplicados ao código de máquina. Eles " +"convertem ramificações relativas, chamadas e saltos no código para usar " +"endereçamento absoluto, com o objetivo de aumentar a redundância que pode " +"ser explorada pelo compressor. Esses filtros suportam uma opção, " +"``start_offset``. Isso especifica o endereço que deve ser mapeado para o " +"início dos dados de entrada. O padrão é 0." -#: ../../library/lzma.rst:385 +#: ../../library/lzma.rst:389 msgid "Examples" msgstr "Exemplos" -#: ../../library/lzma.rst:387 +#: ../../library/lzma.rst:391 msgid "Reading in a compressed file::" -msgstr "" +msgstr "Lendo em um arquivo comprimido::" -#: ../../library/lzma.rst:393 +#: ../../library/lzma.rst:397 msgid "Creating a compressed file::" msgstr "Criando um arquivo comprimido::" -#: ../../library/lzma.rst:400 +#: ../../library/lzma.rst:404 msgid "Compressing data in memory::" -msgstr "" +msgstr "Comprimindo dados na memória::" -#: ../../library/lzma.rst:406 +#: ../../library/lzma.rst:410 msgid "Incremental compression::" msgstr "Compressão incremental::" -#: ../../library/lzma.rst:417 +#: ../../library/lzma.rst:421 msgid "Writing compressed data to an already-open file::" -msgstr "" +msgstr "Escrevendo dados comprimidos em um arquivo já aberto::" -#: ../../library/lzma.rst:426 +#: ../../library/lzma.rst:430 msgid "Creating a compressed file using a custom filter chain::" msgstr "" +"Criando um arquivo comprimido usando uma cadeia de filtros personalizada::" diff --git a/library/mailbox.po b/library/mailbox.po index 89af44f39..6d5b2f5c9 100644 --- a/library/mailbox.po +++ b/library/mailbox.po @@ -1,32 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Welington Carlos , 2021 -# Leticia Portella , 2021 -# Julia Rizza , 2021 -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-13 23:34+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,131 +35,171 @@ msgstr "**Código-fonte:** :source:`Lib/mailbox.py`" #: ../../library/mailbox.rst:14 msgid "" "This module defines two classes, :class:`Mailbox` and :class:`Message`, for " -"accessing and manipulating on-disk mailboxes and the messages they contain. :" -"class:`Mailbox` offers a dictionary-like mapping from keys to messages. :" -"class:`Message` extends the :mod:`email.message` module's :class:`~email." -"message.Message` class with format-specific state and behavior. Supported " -"mailbox formats are Maildir, mbox, MH, Babyl, and MMDF." -msgstr "" +"accessing and manipulating on-disk mailboxes and the messages they " +"contain. :class:`!Mailbox` offers a dictionary-like mapping from keys to " +"messages. :class:`!Message` extends the :mod:`email.message` " +"module's :class:`~email.message.Message` class with format-specific state " +"and behavior. Supported mailbox formats are Maildir, mbox, MH, Babyl, and " +"MMDF." +msgstr "" +"Este módulo define duas classes, :class:`Mailbox` e :class:`Message`, para " +"acessar e manipular caixas de correio em disco e as mensagens que elas " +"contêm. :class:`!Mailbox` oferece um mapeamento semelhante a um dicionário " +"de chaves para mensagens. :class:`!Message` estende a " +"classe :class:`~email.message.Message` do módulo :mod:`email.message` com " +"estado e comportamento específicos para cada formato. Os formatos de caixa " +"de correio suportados são Maildir, mbox, MH, Babyl e MMDF." #: ../../library/mailbox.rst:24 msgid "Module :mod:`email`" -msgstr "" +msgstr "Módulo :mod:`email`" #: ../../library/mailbox.rst:25 msgid "Represent and manipulate messages." -msgstr "" +msgstr "Representa e manipula mensagens." #: ../../library/mailbox.rst:31 -msgid ":class:`Mailbox` objects" -msgstr "" +msgid ":class:`!Mailbox` objects" +msgstr "Objetos :class:`!Mailbox`" #: ../../library/mailbox.rst:35 msgid "A mailbox, which may be inspected and modified." -msgstr "" +msgstr "Uma caixa de correio, que pode ser inspecionada e modificada." #: ../../library/mailbox.rst:37 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." +"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 "" +"A classe :class:`!Mailbox` define uma interface e não deve ser instanciada. " +"Em vez disso, subclasses específicas de cada formato devem herdar " +"de :class:`!Mailbox` e seu código deve instanciar uma subclasse específica." #: ../../library/mailbox.rst:41 msgid "" -"The :class:`Mailbox` interface is dictionary-like, with small keys " -"corresponding to messages. Keys are issued by the :class:`Mailbox` instance " -"with which they will be used and are only meaningful to that :class:" -"`Mailbox` instance. A key continues to identify a message even if the " +"The :class:`!Mailbox` interface is dictionary-like, with small keys " +"corresponding to messages. Keys are issued by the :class:`!Mailbox` instance " +"with which they will be used and are only meaningful to that :class:`!" +"Mailbox` instance. A key continues to identify a message even if the " "corresponding message is modified, such as by replacing it with another " "message." msgstr "" +"A interface :class:`!Mailbox` é semelhante a um dicionário, com pequenas " +"chaves correspondentes às mensagens. As chaves são emitidas pela instância " +"de :class:`!Mailbox` com a qual serão usadas e só têm significado para essa " +"instância de :class:`!Mailbox`. Uma chave continua a identificar uma " +"mensagem mesmo que a mensagem correspondente seja modificada, por exemplo, " +"ao ser substituída por outra mensagem." #: ../../library/mailbox.rst:47 msgid "" -"Messages may be added to a :class:`Mailbox` instance using the set-like " +"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 "" +"As mensagens podem ser adicionadas a uma instância de :class:`!Mailbox` " +"usando o método semelhante a um conjunto :meth:`add` e removidas usando uma " +"instrução ``del`` ou os métodos semelhantes a conjuntos :meth:`remove` " +"e :meth:`discard`." #: ../../library/mailbox.rst:51 msgid "" -":class:`Mailbox` interface semantics differ from dictionary semantics in " +":class:`!Mailbox` interface semantics differ from dictionary semantics in " "some noteworthy ways. Each time a message is requested, a new representation " "(typically a :class:`Message` instance) is generated based upon the current " -"state of the mailbox. Similarly, when a message is added to a :class:" -"`Mailbox` instance, the provided message representation's contents are " +"state of the mailbox. Similarly, when a message is added to a :class:`!" +"Mailbox` instance, the provided message representation's contents are " "copied. In neither case is a reference to the message representation kept by " -"the :class:`Mailbox` instance." +"the :class:`!Mailbox` instance." msgstr "" +"A semântica da interface :class:`!Mailbox` difere da semântica de dicionário " +"em alguns aspectos importantes. Cada vez que uma mensagem é solicitada, uma " +"nova representação (normalmente uma instância de :class:`Message`) é gerada " +"com base no estado atual da caixa de correio. Da mesma forma, quando uma " +"mensagem é adicionada a uma instância de :class:`!Mailbox`, o conteúdo da " +"representação da mensagem fornecida é copiado. Em nenhum dos casos a " +"instância de :class:`!Mailbox` mantém uma referência à representação da " +"mensagem." #: ../../library/mailbox.rst:59 msgid "" -"The default :class:`Mailbox` iterator iterates over message representations, " -"not keys as the default dictionary iterator does. Moreover, modification of " -"a mailbox during iteration is safe and well-defined. Messages added to the " -"mailbox after an iterator is created will not be seen by the iterator. " -"Messages removed from the mailbox before the iterator yields them will be " -"silently skipped, though using a key from an iterator may result in a :exc:" -"`KeyError` exception if the corresponding message is subsequently removed." -msgstr "" - -#: ../../library/mailbox.rst:70 +"The default :class:`!Mailbox` :term:`iterator` iterates over message " +"representations, not keys as the default :class:`dictionary ` iterator " +"does. Moreover, modification of a mailbox during iteration is safe and well-" +"defined. Messages added to the mailbox after an iterator is created will not " +"be seen by the iterator. Messages removed from the mailbox before the " +"iterator yields them will be silently skipped, though using a key from an " +"iterator may result in a :exc:`KeyError` exception if the corresponding " +"message is subsequently removed." +msgstr "" +"O :term:`iterador` padrão de :class:`!Mailbox` itera sobre representações de " +"mensagens, e não sobre chaves como o iterador padrão de :class:`dicionário " +"`. Além disso, a modificação de uma caixa de correio durante a " +"iteração é segura e bem definida. Mensagens adicionadas à caixa de correio " +"após a criação de um iterador não serão vistas pelo iterador. Mensagens " +"removidas da caixa de correio antes que o iterador as produza serão " +"ignoradas silenciosamente, embora o uso de uma chave de um iterador possa " +"resultar em uma exceção :exc:`KeyError` se a mensagem correspondente for " +"posteriormente removida." + +#: ../../library/mailbox.rst:71 msgid "" "Be very cautious when modifying mailboxes that might be simultaneously " "changed by some other process. The safest mailbox format to use for such " -"tasks is Maildir; try to avoid using single-file formats such as mbox for " -"concurrent writing. If you're modifying a mailbox, you *must* lock it by " -"calling the :meth:`lock` and :meth:`unlock` methods *before* reading any " -"messages in the file or making any changes by adding or deleting a message. " -"Failing to lock the mailbox runs the risk of losing messages or corrupting " -"the entire mailbox." +"tasks is :class:`Maildir`; try to avoid using single-file formats such " +"as :class:`mbox` for concurrent writing. If you're modifying a mailbox, you " +"*must* lock it by calling the :meth:`lock` and :meth:`unlock` methods " +"*before* reading any messages in the file or making any changes by adding or " +"deleting a message. Failing to lock the mailbox runs the risk of losing " +"messages or corrupting the entire mailbox." msgstr "" -#: ../../library/mailbox.rst:79 -msgid ":class:`Mailbox` instances have the following methods:" +#: ../../library/mailbox.rst:81 +msgid ":class:`!Mailbox` instances have the following methods:" msgstr "" -#: ../../library/mailbox.rst:84 +#: ../../library/mailbox.rst:86 msgid "" "Add *message* to the mailbox and return the key that has been assigned to it." msgstr "" -#: ../../library/mailbox.rst:87 +#: ../../library/mailbox.rst:89 msgid "" -"Parameter *message* may be a :class:`Message` instance, an :class:`email." -"message.Message` instance, a string, a byte string, or a file-like object " -"(which should be open in binary mode). If *message* is an instance of the " -"appropriate format-specific :class:`Message` subclass (e.g., if it's an :" -"class:`mboxMessage` instance and this is an :class:`mbox` instance), its " -"format-specific information is used. Otherwise, reasonable defaults for " -"format-specific information are used." +"Parameter *message* may be a :class:`Message` instance, " +"an :class:`email.message.Message` instance, a string, a byte string, or a " +"file-like object (which should be open in binary mode). If *message* is an " +"instance of the appropriate format-specific :class:`Message` subclass (e.g., " +"if it's an :class:`mboxMessage` instance and this is an :class:`mbox` " +"instance), its format-specific information is used. Otherwise, reasonable " +"defaults for format-specific information are used." msgstr "" -#: ../../library/mailbox.rst:96 +#: ../../library/mailbox.rst:98 msgid "Support for binary input was added." msgstr "" -#: ../../library/mailbox.rst:104 +#: ../../library/mailbox.rst:106 msgid "Delete the message corresponding to *key* from the mailbox." msgstr "" -#: ../../library/mailbox.rst:106 +#: ../../library/mailbox.rst:108 msgid "" "If no such message exists, a :exc:`KeyError` exception is raised if the " "method was called as :meth:`remove` or :meth:`__delitem__` but no exception " -"is raised if the method was called as :meth:`discard`. The behavior of :meth:" -"`discard` may be preferred if the underlying mailbox format supports " -"concurrent modification by other processes." +"is raised if the method was called as :meth:`discard`. The behavior " +"of :meth:`discard` may be preferred if the underlying mailbox format " +"supports concurrent modification by other processes." msgstr "" -#: ../../library/mailbox.rst:115 +#: ../../library/mailbox.rst:117 msgid "" -"Replace the message corresponding to *key* with *message*. Raise a :exc:" -"`KeyError` exception if no message already corresponds to *key*." +"Replace the message corresponding to *key* with *message*. Raise " +"a :exc:`KeyError` exception if no message already corresponds to *key*." msgstr "" -#: ../../library/mailbox.rst:118 +#: ../../library/mailbox.rst:120 msgid "" "As with :meth:`add`, parameter *message* may be a :class:`Message` instance, " "an :class:`email.message.Message` instance, a string, a byte string, or a " @@ -177,63 +211,76 @@ msgid "" "left unchanged." msgstr "" -#: ../../library/mailbox.rst:132 +#: ../../library/mailbox.rst:133 +msgid "Return an :term:`iterator` over all keys" +msgstr "" + +#: ../../library/mailbox.rst:138 msgid "" -"Return an iterator over all keys if called as :meth:`iterkeys` or return a " -"list of keys if called as :meth:`keys`." +"The same as :meth:`iterkeys`, except that a :class:`list` is returned rather " +"than an :term:`iterator`" msgstr "" -#: ../../library/mailbox.rst:140 +#: ../../library/mailbox.rst:145 msgid "" -"Return an iterator over representations of all messages if called as :meth:" -"`itervalues` or :meth:`__iter__` or return a list of such representations if " -"called as :meth:`values`. The messages are represented as instances of the " -"appropriate format-specific :class:`Message` subclass unless a custom " -"message factory was specified when the :class:`Mailbox` instance was " -"initialized." +"Return an :term:`iterator` over representations of all messages. The " +"messages are represented as instances of the appropriate format-" +"specific :class:`Message` subclass unless a custom message factory was " +"specified when the :class:`!Mailbox` instance was initialized." msgstr "" -#: ../../library/mailbox.rst:149 +#: ../../library/mailbox.rst:153 msgid "" "The behavior of :meth:`__iter__` is unlike that of dictionaries, which " "iterate over keys." msgstr "" -#: ../../library/mailbox.rst:156 +#: ../../library/mailbox.rst:159 +msgid "" +"The same as :meth:`itervalues`, except that a :class:`list` is returned " +"rather than an :term:`iterator`" +msgstr "" + +#: ../../library/mailbox.rst:165 +msgid "" +"Return an :term:`iterator` over (*key*, *message*) pairs, where *key* is a " +"key and *message* is a message representation. The messages are represented " +"as instances of the appropriate format-specific :class:`Message` subclass " +"unless a custom message factory was specified when the :class:`!Mailbox` " +"instance was initialized." +msgstr "" + +#: ../../library/mailbox.rst:174 msgid "" -"Return an iterator over (*key*, *message*) pairs, where *key* is a key and " -"*message* is a message representation, if called as :meth:`iteritems` or " -"return a list of such pairs if called as :meth:`items`. The messages are " -"represented as instances of the appropriate format-specific :class:`Message` " -"subclass unless a custom message factory was specified when the :class:" -"`Mailbox` instance was initialized." +"The same as :meth:`iteritems`, except that a :class:`list` of pairs is " +"returned rather than an :term:`iterator` of pairs." msgstr "" -#: ../../library/mailbox.rst:167 +#: ../../library/mailbox.rst:181 msgid "" "Return a representation of the message corresponding to *key*. If no such " -"message exists, *default* is returned if the method was called as :meth:" -"`get` and a :exc:`KeyError` exception is raised if the method was called as :" -"meth:`__getitem__`. The message is represented as an instance of the " -"appropriate format-specific :class:`Message` subclass unless a custom " -"message factory was specified when the :class:`Mailbox` instance was " +"message exists, *default* is returned if the method was called " +"as :meth:`get` and a :exc:`KeyError` exception is raised if the method was " +"called as :meth:`!__getitem__`. The message is represented as an instance of " +"the appropriate format-specific :class:`Message` subclass unless a custom " +"message factory was specified when the :class:`!Mailbox` instance was " "initialized." msgstr "" -#: ../../library/mailbox.rst:178 +#: ../../library/mailbox.rst:192 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." +"of the appropriate format-specific :class:`Message` subclass, or raise " +"a :exc:`KeyError` exception if no such message exists." msgstr "" -#: ../../library/mailbox.rst:185 +#: ../../library/mailbox.rst:199 msgid "" "Return a byte representation of the message corresponding to *key*, or raise " "a :exc:`KeyError` exception if no such message exists." msgstr "" -#: ../../library/mailbox.rst:193 +#: ../../library/mailbox.rst:207 msgid "" "Return a string representation of the message corresponding to *key*, or " "raise a :exc:`KeyError` exception if no such message exists. The message is " @@ -241,84 +288,84 @@ msgid "" "clean representation." msgstr "" -#: ../../library/mailbox.rst:201 +#: ../../library/mailbox.rst:215 msgid "" -"Return a file-like representation of the message corresponding to *key*, or " -"raise a :exc:`KeyError` exception if no such message exists. The file-like " -"object behaves as if open in binary mode. This file should be closed once " -"it is no longer needed." +"Return a :term:`file-like ` representation of the message " +"corresponding to *key*, or raise a :exc:`KeyError` exception if no such " +"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 "" -#: ../../library/mailbox.rst:206 +#: ../../library/mailbox.rst:221 msgid "" -"The file object really is a binary file; previously it was incorrectly " -"returned in text mode. Also, the file-like object now supports the context " -"management protocol: you can use a :keyword:`with` statement to " -"automatically close it." +"The file object really is a :term:`binary file`; previously it was " +"incorrectly returned in text mode. Also, the :term:`file-like object` now " +"supports the :term:`context manager` protocol: you can use a :keyword:`with` " +"statement to automatically close it." msgstr "" -#: ../../library/mailbox.rst:214 +#: ../../library/mailbox.rst:229 msgid "" -"Unlike other representations of messages, file-like representations are not " -"necessarily independent of the :class:`Mailbox` instance that created them " -"or of the underlying mailbox. More specific documentation is provided by " -"each subclass." +"Unlike other representations of messages, :term:`file-like ` representations are not necessarily independent of the :class:`!" +"Mailbox` instance that created them or of the underlying mailbox. More " +"specific documentation is provided by each subclass." msgstr "" -#: ../../library/mailbox.rst:222 +#: ../../library/mailbox.rst:238 msgid "Return ``True`` if *key* corresponds to a message, ``False`` otherwise." msgstr "" -#: ../../library/mailbox.rst:227 +#: ../../library/mailbox.rst:243 msgid "Return a count of messages in the mailbox." msgstr "" -#: ../../library/mailbox.rst:232 +#: ../../library/mailbox.rst:248 msgid "Delete all messages from the mailbox." msgstr "" -#: ../../library/mailbox.rst:237 +#: ../../library/mailbox.rst:253 msgid "" "Return a representation of the message corresponding to *key* and delete the " "message. If no such message exists, return *default*. The message is " -"represented as an instance of the appropriate format-specific :class:" -"`Message` subclass unless a custom message factory was specified when the :" -"class:`Mailbox` instance was initialized." +"represented as an instance of the appropriate format-" +"specific :class:`Message` subclass unless a custom message factory was " +"specified when the :class:`!Mailbox` instance was initialized." msgstr "" -#: ../../library/mailbox.rst:246 +#: ../../library/mailbox.rst:262 msgid "" "Return an arbitrary (*key*, *message*) pair, where *key* is a key and " "*message* is a message representation, and delete the corresponding message. " "If the mailbox is empty, raise a :exc:`KeyError` exception. The message is " -"represented as an instance of the appropriate format-specific :class:" -"`Message` subclass unless a custom message factory was specified when the :" -"class:`Mailbox` instance was initialized." +"represented as an instance of the appropriate format-" +"specific :class:`Message` subclass unless a custom message factory was " +"specified when the :class:`!Mailbox` instance was initialized." msgstr "" -#: ../../library/mailbox.rst:256 +#: ../../library/mailbox.rst:272 msgid "" "Parameter *arg* should be a *key*-to-*message* mapping or an iterable of " "(*key*, *message*) pairs. Updates the mailbox so that, for each given *key* " "and *message*, the message corresponding to *key* is set to *message* as if " "by using :meth:`__setitem__`. As with :meth:`__setitem__`, each *key* must " "already correspond to a message in the mailbox or else a :exc:`KeyError` " -"exception will be raised, so in general it is incorrect for *arg* to be a :" -"class:`Mailbox` instance." +"exception will be raised, so in general it is incorrect for *arg* to be " +"a :class:`!Mailbox` instance." msgstr "" -#: ../../library/mailbox.rst:266 +#: ../../library/mailbox.rst:282 msgid "Unlike with dictionaries, keyword arguments are not supported." msgstr "" -#: ../../library/mailbox.rst:271 +#: ../../library/mailbox.rst:287 msgid "" "Write any pending changes to the filesystem. For some :class:`Mailbox` " -"subclasses, changes are always written immediately and :meth:`flush` does " +"subclasses, changes are always written immediately and :meth:`!flush` does " "nothing, but you should still make a habit of calling this method." msgstr "" -#: ../../library/mailbox.rst:278 +#: ../../library/mailbox.rst:294 msgid "" "Acquire an exclusive advisory lock on the mailbox so that other processes " "know not to modify it. An :exc:`ExternalClashError` is raised if the lock is " @@ -327,21 +374,21 @@ msgid "" "modifications to its contents." msgstr "" -#: ../../library/mailbox.rst:287 +#: ../../library/mailbox.rst:303 msgid "Release the lock on the mailbox, if any." msgstr "" -#: ../../library/mailbox.rst:292 +#: ../../library/mailbox.rst:308 msgid "" "Flush the mailbox, unlock it if necessary, and close any open files. For " -"some :class:`Mailbox` subclasses, this method does nothing." +"some :class:`!Mailbox` subclasses, this method does nothing." msgstr "" -#: ../../library/mailbox.rst:299 -msgid ":class:`Maildir`" -msgstr ":class:`Maildir`" +#: ../../library/mailbox.rst:315 +msgid ":class:`!Maildir` objects" +msgstr "" -#: ../../library/mailbox.rst:304 +#: ../../library/mailbox.rst:320 msgid "" "A subclass of :class:`Mailbox` for mailboxes in Maildir format. Parameter " "*factory* is a callable object that accepts a file-like message " @@ -351,19 +398,19 @@ msgid "" "mailbox is created if it does not exist." msgstr "" -#: ../../library/mailbox.rst:311 +#: ../../library/mailbox.rst:327 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 "" -#: ../../library/mailbox.rst:314 +#: ../../library/mailbox.rst:330 msgid "" "It is for historical reasons that *dirname* is named as such rather than " "*path*." msgstr "" -#: ../../library/mailbox.rst:316 +#: ../../library/mailbox.rst:332 msgid "" "Maildir is a directory-based mailbox format invented for the qmail mail " "transfer agent and now widely supported by other programs. Messages in a " @@ -373,27 +420,29 @@ msgid "" "unnecessary." msgstr "" -#: ../../library/mailbox.rst:323 +#: ../../library/mailbox.rst:339 msgid "" -"Maildir mailboxes contain three subdirectories, namely: :file:`tmp`, :file:" -"`new`, and :file:`cur`. Messages are created momentarily in the :file:`tmp` " -"subdirectory and then moved to the :file:`new` subdirectory to finalize " -"delivery. A mail user agent may subsequently move the message to the :file:" -"`cur` subdirectory and store information about the state of the message in a " -"special \"info\" section appended to its file name." +"Maildir mailboxes contain three subdirectories, " +"namely: :file:`tmp`, :file:`new`, and :file:`cur`. Messages are created " +"momentarily in the :file:`tmp` subdirectory and then moved to " +"the :file:`new` subdirectory to finalize delivery. A mail user agent may " +"subsequently move the message to the :file:`cur` subdirectory and store " +"information about the state of the message in a special \"info\" section " +"appended to its file name." msgstr "" -#: ../../library/mailbox.rst:330 +#: ../../library/mailbox.rst:346 msgid "" "Folders of the style introduced by the Courier mail transfer agent are also " "supported. Any subdirectory of the main mailbox is considered a folder if " -"``'.'`` is the first character in its name. Folder names are represented by :" -"class:`Maildir` without the leading ``'.'``. Each folder is itself a Maildir " -"mailbox but should not contain other folders. Instead, a logical nesting is " -"indicated using ``'.'`` to delimit levels, e.g., \"Archived.2005.07\"." +"``'.'`` is the first character in its name. Folder names are represented " +"by :class:`!Maildir` without the leading ``'.'``. Each folder is itself a " +"Maildir mailbox but should not contain other folders. Instead, a logical " +"nesting is indicated using ``'.'`` to delimit levels, e.g., " +"\"Archived.2005.07\"." msgstr "" -#: ../../library/mailbox.rst:339 +#: ../../library/mailbox.rst:355 msgid "" "The Maildir specification requires the use of a colon (``':'``) in certain " "message file names. However, some operating systems do not permit this " @@ -402,54 +451,54 @@ msgid "" "exclamation point (``'!'``) is a popular choice. For example::" msgstr "" -#: ../../library/mailbox.rst:349 -msgid "The :attr:`colon` attribute may also be set on a per-instance basis." +#: ../../library/mailbox.rst:365 +msgid "The :attr:`!colon` attribute may also be set on a per-instance basis." msgstr "" -#: ../../library/mailbox.rst:351 +#: ../../library/mailbox.rst:367 msgid "" -":class:`Maildir` instances have all of the methods of :class:`Mailbox` in " +":class:`!Maildir` instances have all of the methods of :class:`Mailbox` in " "addition to the following:" msgstr "" -#: ../../library/mailbox.rst:357 ../../library/mailbox.rst:529 +#: ../../library/mailbox.rst:373 ../../library/mailbox.rst:545 msgid "Return a list of the names of all folders." msgstr "" -#: ../../library/mailbox.rst:362 +#: ../../library/mailbox.rst:378 msgid "" -"Return a :class:`Maildir` instance representing the folder whose name is " +"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 "" -#: ../../library/mailbox.rst:369 +#: ../../library/mailbox.rst:385 msgid "" -"Create a folder whose name is *folder* and return a :class:`Maildir` " +"Create a folder whose name is *folder* and return a :class:`!Maildir` " "instance representing it." msgstr "" -#: ../../library/mailbox.rst:375 ../../library/mailbox.rst:547 +#: ../../library/mailbox.rst:391 ../../library/mailbox.rst:563 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 "" -#: ../../library/mailbox.rst:382 +#: ../../library/mailbox.rst:398 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 "" -#: ../../library/mailbox.rst:386 +#: ../../library/mailbox.rst:402 msgid "" -"Some :class:`Mailbox` methods implemented by :class:`Maildir` deserve " +"Some :class:`Mailbox` methods implemented by :class:`!Maildir` deserve " "special remarks:" msgstr "" -#: ../../library/mailbox.rst:396 +#: ../../library/mailbox.rst:412 msgid "" "These methods generate unique file names based upon the current process ID. " "When using multiple threads, undetected name clashes may occur and cause " @@ -457,56 +506,56 @@ msgid "" "these methods to manipulate the same mailbox simultaneously." msgstr "" -#: ../../library/mailbox.rst:404 +#: ../../library/mailbox.rst:420 msgid "" "All changes to Maildir mailboxes are immediately applied, so this method " "does nothing." msgstr "" -#: ../../library/mailbox.rst:411 +#: ../../library/mailbox.rst:427 msgid "" "Maildir mailboxes do not support (or require) locking, so these methods do " "nothing." msgstr "" -#: ../../library/mailbox.rst:417 +#: ../../library/mailbox.rst:433 msgid "" -":class:`Maildir` instances do not keep any open files and the underlying " +":class:`!Maildir` instances do not keep any open files and the underlying " "mailboxes do not support locking, so this method does nothing." msgstr "" -#: ../../library/mailbox.rst:423 +#: ../../library/mailbox.rst:439 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 "" -#: ../../library/mailbox.rst:431 +#: ../../library/mailbox.rst:447 msgid "" "`maildir man page from Courier `_" msgstr "" -#: ../../library/mailbox.rst:430 +#: ../../library/mailbox.rst:446 msgid "" "A specification of the format. Describes a common extension for supporting " "folders." msgstr "" -#: ../../library/mailbox.rst:434 +#: ../../library/mailbox.rst:450 msgid "`Using maildir format `_" msgstr "" -#: ../../library/mailbox.rst:434 +#: ../../library/mailbox.rst:450 msgid "" "Notes on Maildir by its inventor. Includes an updated name-creation scheme " "and details on \"info\" semantics." msgstr "" -#: ../../library/mailbox.rst:441 -msgid ":class:`mbox`" -msgstr ":class:`mbox`" +#: ../../library/mailbox.rst:457 +msgid ":class:`!mbox` objects" +msgstr "" -#: ../../library/mailbox.rst:446 +#: ../../library/mailbox.rst:462 msgid "" "A subclass of :class:`Mailbox` for mailboxes in mbox format. Parameter " "*factory* is a callable object that accepts a file-like message " @@ -516,7 +565,7 @@ msgid "" "mailbox is created if it does not exist." msgstr "" -#: ../../library/mailbox.rst:453 +#: ../../library/mailbox.rst:469 msgid "" "The mbox format is the classic format for storing mail on Unix systems. All " "messages in an mbox mailbox are stored in a single file with the beginning " @@ -524,72 +573,73 @@ msgid "" "\"." msgstr "" -#: ../../library/mailbox.rst:457 +#: ../../library/mailbox.rst:473 msgid "" "Several variations of the mbox format exist to address perceived " -"shortcomings in the original. In the interest of compatibility, :class:" -"`mbox` implements the original format, which is sometimes referred to as :" -"dfn:`mboxo`. This means that the :mailheader:`Content-Length` header, if " +"shortcomings in the original. In the interest of compatibility, :class:`!" +"mbox` implements the original format, which is sometimes referred to " +"as :dfn:`mboxo`. This means that the :mailheader:`Content-Length` header, if " "present, is ignored and that any occurrences of \"From \" at the beginning " "of a line in a message body are transformed to \">From \" when storing the " "message, although occurrences of \">From \" are not transformed to \"From \" " "when reading the message." msgstr "" -#: ../../library/mailbox.rst:465 +#: ../../library/mailbox.rst:481 msgid "" -"Some :class:`Mailbox` methods implemented by :class:`mbox` deserve special " +"Some :class:`Mailbox` methods implemented by :class:`!mbox` deserve special " "remarks:" msgstr "" -#: ../../library/mailbox.rst:471 +#: ../../library/mailbox.rst:487 msgid "" -"Using the file after calling :meth:`flush` or :meth:`close` on the :class:" -"`mbox` instance may yield unpredictable results or raise an exception." +"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 "" -#: ../../library/mailbox.rst:479 ../../library/mailbox.rst:688 -#: ../../library/mailbox.rst:739 +#: ../../library/mailbox.rst:495 ../../library/mailbox.rst:704 +#: ../../library/mailbox.rst:755 msgid "" -"Three locking mechanisms are used---dot locking and, if available, the :c:" -"func:`flock` and :c:func:`lockf` system calls." +"Three locking mechanisms are used---dot locking and, if available, " +"the :c:func:`!flock` and :c:func:`!lockf` system calls." msgstr "" -#: ../../library/mailbox.rst:486 +#: ../../library/mailbox.rst:502 msgid "" "`mbox man page from tin `_" msgstr "" -#: ../../library/mailbox.rst:486 +#: ../../library/mailbox.rst:502 msgid "A specification of the format, with details on locking." msgstr "" -#: ../../library/mailbox.rst:489 +#: ../../library/mailbox.rst:505 msgid "" "`Configuring Netscape Mail on Unix: Why The Content-Length Format is Bad " "`_" msgstr "" -#: ../../library/mailbox.rst:489 +#: ../../library/mailbox.rst:505 msgid "An argument for using the original mbox format rather than a variation." msgstr "" -#: ../../library/mailbox.rst:491 +#: ../../library/mailbox.rst:507 msgid "" "`\"mbox\" is a family of several mutually incompatible mailbox formats " "`_" msgstr "" -#: ../../library/mailbox.rst:492 +#: ../../library/mailbox.rst:508 msgid "A history of mbox variations." msgstr "" -#: ../../library/mailbox.rst:498 -msgid ":class:`MH`" -msgstr ":class:`MH`" +#: ../../library/mailbox.rst:514 +msgid ":class:`!MH` objects" +msgstr "" -#: ../../library/mailbox.rst:503 +#: ../../library/mailbox.rst:519 msgid "" "A subclass of :class:`Mailbox` for mailboxes in MH format. Parameter " "*factory* is a callable object that accepts a file-like message " @@ -599,7 +649,7 @@ msgid "" "is created if it does not exist." msgstr "" -#: ../../library/mailbox.rst:510 +#: ../../library/mailbox.rst:526 msgid "" "MH is a directory-based mailbox format invented for the MH Message Handling " "System, a mail user agent. Each message in an MH mailbox resides in its own " @@ -610,124 +660,124 @@ msgid "" "called :file:`.mh_sequences` in each folder." msgstr "" -#: ../../library/mailbox.rst:518 +#: ../../library/mailbox.rst:534 msgid "" -"The :class:`MH` class manipulates MH mailboxes, but it does not attempt to " +"The :class:`!MH` class manipulates MH mailboxes, but it does not attempt to " "emulate all of :program:`mh`'s behaviors. In particular, it does not modify " "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 "" -#: ../../library/mailbox.rst:523 +#: ../../library/mailbox.rst:539 msgid "" -":class:`MH` instances have all of the methods of :class:`Mailbox` in " +":class:`!MH` instances have all of the methods of :class:`Mailbox` in " "addition to the following:" msgstr "" -#: ../../library/mailbox.rst:534 +#: ../../library/mailbox.rst:550 msgid "" -"Return an :class:`MH` instance representing the folder whose name is " +"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 "" -#: ../../library/mailbox.rst:541 +#: ../../library/mailbox.rst:557 msgid "" -"Create a folder whose name is *folder* and return an :class:`MH` instance " +"Create a folder whose name is *folder* and return an :class:`!MH` instance " "representing it." msgstr "" -#: ../../library/mailbox.rst:554 +#: ../../library/mailbox.rst:570 msgid "" "Return a dictionary of sequence names mapped to key lists. If there are no " "sequences, the empty dictionary is returned." msgstr "" -#: ../../library/mailbox.rst:560 +#: ../../library/mailbox.rst:576 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`." +"dictionary of names mapped to key lists, like returned " +"by :meth:`get_sequences`." msgstr "" -#: ../../library/mailbox.rst:567 +#: ../../library/mailbox.rst:583 msgid "" "Rename messages in the mailbox as necessary to eliminate gaps in numbering. " "Entries in the sequences list are updated correspondingly." msgstr "" -#: ../../library/mailbox.rst:572 +#: ../../library/mailbox.rst:588 msgid "" "Already-issued keys are invalidated by this operation and should not be " "subsequently used." msgstr "" -#: ../../library/mailbox.rst:575 +#: ../../library/mailbox.rst:591 msgid "" -"Some :class:`Mailbox` methods implemented by :class:`MH` deserve special " +"Some :class:`Mailbox` methods implemented by :class:`!MH` deserve special " "remarks:" msgstr "" -#: ../../library/mailbox.rst:583 +#: ../../library/mailbox.rst:599 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 "" -#: ../../library/mailbox.rst:590 +#: ../../library/mailbox.rst:606 msgid "" -"Three locking mechanisms are used---dot locking and, if available, the :c:" -"func:`flock` and :c:func:`lockf` system calls. For MH mailboxes, locking the " -"mailbox means locking the :file:`.mh_sequences` file and, only for the " -"duration of any operations that affect them, locking individual message " -"files." +"Three locking mechanisms are used---dot locking and, if available, " +"the :c:func:`!flock` and :c:func:`!lockf` system calls. For MH mailboxes, " +"locking the mailbox means locking the :file:`.mh_sequences` file and, only " +"for the duration of any operations that affect them, locking individual " +"message files." msgstr "" -#: ../../library/mailbox.rst:599 +#: ../../library/mailbox.rst:615 msgid "" "Depending upon the host platform, it may not be possible to remove the " "underlying message while the returned file remains open." msgstr "" -#: ../../library/mailbox.rst:605 +#: ../../library/mailbox.rst:621 msgid "" "All changes to MH mailboxes are immediately applied, so this method does " "nothing." msgstr "" -#: ../../library/mailbox.rst:611 +#: ../../library/mailbox.rst:627 msgid "" -":class:`MH` instances do not keep any open files, so this method is " +":class:`!MH` instances do not keep any open files, so this method is " "equivalent to :meth:`unlock`." msgstr "" -#: ../../library/mailbox.rst:618 +#: ../../library/mailbox.rst:634 msgid "`nmh - Message Handling System `_" msgstr "" -#: ../../library/mailbox.rst:618 +#: ../../library/mailbox.rst:634 msgid "" -"Home page of :program:`nmh`, an updated version of the original :program:" -"`mh`." +"Home page of :program:`nmh`, an updated version of the " +"original :program:`mh`." msgstr "" -#: ../../library/mailbox.rst:621 +#: ../../library/mailbox.rst:637 msgid "" "`MH & nmh: Email for Users & Programmers `_" msgstr "" -#: ../../library/mailbox.rst:621 +#: ../../library/mailbox.rst:637 msgid "" "A GPL-licensed book on :program:`mh` and :program:`nmh`, with some " "information on the mailbox format." msgstr "" -#: ../../library/mailbox.rst:628 -msgid ":class:`Babyl`" -msgstr ":class:`Babyl`" +#: ../../library/mailbox.rst:644 +msgid ":class:`!Babyl` objects" +msgstr "" -#: ../../library/mailbox.rst:633 +#: ../../library/mailbox.rst:649 msgid "" "A subclass of :class:`Mailbox` for mailboxes in Babyl format. Parameter " "*factory* is a callable object that accepts a file-like message " @@ -737,7 +787,7 @@ msgid "" "mailbox is created if it does not exist." msgstr "" -#: ../../library/mailbox.rst:640 +#: ../../library/mailbox.rst:656 msgid "" "Babyl is a single-file mailbox format used by the Rmail mail user agent " "included with Emacs. The beginning of a message is indicated by a line " @@ -747,7 +797,7 @@ msgid "" "Underscore (``'\\037'``) character." msgstr "" -#: ../../library/mailbox.rst:647 +#: ../../library/mailbox.rst:663 msgid "" "Messages in a Babyl mailbox have two sets of headers, original headers and " "so-called visible headers. Visible headers are typically a subset of the " @@ -758,31 +808,31 @@ msgid "" "in the Babyl options section." msgstr "" -#: ../../library/mailbox.rst:655 +#: ../../library/mailbox.rst:671 msgid "" -":class:`Babyl` instances have all of the methods of :class:`Mailbox` in " +":class:`!Babyl` instances have all of the methods of :class:`Mailbox` in " "addition to the following:" msgstr "" -#: ../../library/mailbox.rst:661 +#: ../../library/mailbox.rst:677 msgid "" "Return a list of the names of all user-defined labels used in the mailbox." msgstr "" -#: ../../library/mailbox.rst:665 +#: ../../library/mailbox.rst:681 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 "" -#: ../../library/mailbox.rst:670 +#: ../../library/mailbox.rst:686 msgid "" -"Some :class:`Mailbox` methods implemented by :class:`Babyl` deserve special " +"Some :class:`Mailbox` methods implemented by :class:`!Babyl` deserve special " "remarks:" msgstr "" -#: ../../library/mailbox.rst:676 +#: ../../library/mailbox.rst:692 msgid "" "In Babyl mailboxes, the headers of a message are not stored contiguously " "with the body of the message. To generate a file-like representation, the " @@ -792,30 +842,30 @@ msgid "" "memory compared to a string representation." msgstr "" -#: ../../library/mailbox.rst:695 +#: ../../library/mailbox.rst:711 msgid "" "`Format of Version 5 Babyl Files `_" msgstr "" -#: ../../library/mailbox.rst:695 +#: ../../library/mailbox.rst:711 msgid "A specification of the Babyl format." msgstr "" -#: ../../library/mailbox.rst:697 +#: ../../library/mailbox.rst:713 msgid "" "`Reading Mail with Rmail `_" msgstr "" -#: ../../library/mailbox.rst:698 +#: ../../library/mailbox.rst:714 msgid "The Rmail manual, with some information on Babyl semantics." msgstr "" -#: ../../library/mailbox.rst:704 -msgid ":class:`MMDF`" -msgstr ":class:`MMDF`" +#: ../../library/mailbox.rst:720 +msgid ":class:`!MMDF` objects" +msgstr "" -#: ../../library/mailbox.rst:709 +#: ../../library/mailbox.rst:725 msgid "" "A subclass of :class:`Mailbox` for mailboxes in MMDF format. Parameter " "*factory* is a callable object that accepts a file-like message " @@ -825,7 +875,7 @@ msgid "" "mailbox is created if it does not exist." msgstr "" -#: ../../library/mailbox.rst:716 +#: ../../library/mailbox.rst:732 msgid "" "MMDF is a single-file mailbox format invented for the Multichannel " "Memorandum Distribution Facility, a mail transfer agent. Each message is in " @@ -838,63 +888,64 @@ msgid "" "subsequent messages." msgstr "" -#: ../../library/mailbox.rst:725 +#: ../../library/mailbox.rst:741 msgid "" -"Some :class:`Mailbox` methods implemented by :class:`MMDF` deserve special " +"Some :class:`Mailbox` methods implemented by :class:`!MMDF` deserve special " "remarks:" msgstr "" -#: ../../library/mailbox.rst:731 +#: ../../library/mailbox.rst:747 msgid "" -"Using the file after calling :meth:`flush` or :meth:`close` on the :class:" -"`MMDF` instance may yield unpredictable results or raise an exception." +"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 "" -#: ../../library/mailbox.rst:746 +#: ../../library/mailbox.rst:762 msgid "" "`mmdf man page from tin `_" msgstr "" -#: ../../library/mailbox.rst:746 +#: ../../library/mailbox.rst:762 msgid "" "A specification of MMDF format from the documentation of tin, a newsreader." msgstr "" -#: ../../library/mailbox.rst:749 +#: ../../library/mailbox.rst:765 msgid "`MMDF `_" msgstr "" -#: ../../library/mailbox.rst:749 +#: ../../library/mailbox.rst:765 msgid "" "A Wikipedia article describing the Multichannel Memorandum Distribution " "Facility." msgstr "" -#: ../../library/mailbox.rst:756 -msgid ":class:`Message` objects" +#: ../../library/mailbox.rst:772 +msgid ":class:`!Message` objects" msgstr "" -#: ../../library/mailbox.rst:761 +#: ../../library/mailbox.rst:777 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." +"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 "" -#: ../../library/mailbox.rst:765 +#: ../../library/mailbox.rst:781 msgid "" "If *message* is omitted, the new instance is created in a default, empty " "state. If *message* is an :class:`email.message.Message` instance, its " "contents are copied; furthermore, any format-specific information is " -"converted insofar as possible if *message* is a :class:`Message` instance. " -"If *message* is a string, a byte string, or a file, it should contain an :" -"rfc:`2822`\\ -compliant message, which is read and parsed. Files should be " -"open in binary mode, but text mode files are accepted for backward " +"converted insofar as possible if *message* is a :class:`!Message` instance. " +"If *message* is a string, a byte string, or a file, it should contain " +"an :rfc:`2822`\\ -compliant message, which is read and parsed. Files should " +"be open in binary mode, but text mode files are accepted for backward " "compatibility." msgstr "" -#: ../../library/mailbox.rst:774 +#: ../../library/mailbox.rst:790 msgid "" "The format-specific state and behaviors offered by subclasses vary, but in " "general it is only the properties that are not specific to a particular " @@ -906,162 +957,163 @@ msgid "" "important is retained, because it applies to the message itself." msgstr "" -#: ../../library/mailbox.rst:783 +#: ../../library/mailbox.rst:799 msgid "" -"There is no requirement that :class:`Message` instances be used to represent " -"messages retrieved using :class:`Mailbox` instances. In some situations, the " -"time and memory required to generate :class:`Message` representations might " -"not be acceptable. For such situations, :class:`Mailbox` instances also " -"offer string and file-like representations, and a custom message factory may " -"be specified when a :class:`Mailbox` instance is initialized." +"There is no requirement that :class:`!Message` instances be used to " +"represent messages retrieved using :class:`Mailbox` instances. In some " +"situations, the time and memory required to generate :class:`!Message` " +"representations might not be acceptable. For such situations, :class:`!" +"Mailbox` instances also offer string and file-like representations, and a " +"custom message factory may be specified when a :class:`!Mailbox` instance is " +"initialized." msgstr "" -#: ../../library/mailbox.rst:794 -msgid ":class:`MaildirMessage`" -msgstr ":class:`MaildirMessage`" +#: ../../library/mailbox.rst:810 +msgid ":class:`!MaildirMessage` objects" +msgstr "" -#: ../../library/mailbox.rst:799 +#: ../../library/mailbox.rst:815 msgid "" "A message with Maildir-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." msgstr "" -#: ../../library/mailbox.rst:802 +#: ../../library/mailbox.rst:818 msgid "" -"Typically, a mail user agent application moves all of the messages in the :" -"file:`new` subdirectory to the :file:`cur` subdirectory after the first time " -"the user opens and closes the mailbox, recording that the messages are old " -"whether or not they've actually been read. Each message in :file:`cur` has " -"an \"info\" section added to its file name to store information about its " -"state. (Some mail readers may also add an \"info\" section to messages in :" -"file:`new`.) The \"info\" section may take one of two forms: it may contain " -"\"2,\" followed by a list of standardized flags (e.g., \"2,FR\") or it may " -"contain \"1,\" followed by so-called experimental information. Standard " -"flags for Maildir messages are as follows:" +"Typically, a mail user agent application moves all of the messages in " +"the :file:`new` subdirectory to the :file:`cur` subdirectory after the first " +"time the user opens and closes the mailbox, recording that the messages are " +"old whether or not they've actually been read. Each message in :file:`cur` " +"has an \"info\" section added to its file name to store information about " +"its state. (Some mail readers may also add an \"info\" section to messages " +"in :file:`new`.) The \"info\" section may take one of two forms: it may " +"contain \"2,\" followed by a list of standardized flags (e.g., \"2,FR\") or " +"it may contain \"1,\" followed by so-called experimental information. " +"Standard flags for Maildir messages are as follows:" msgstr "" -#: ../../library/mailbox.rst:814 ../../library/mailbox.rst:981 -#: ../../library/mailbox.rst:1351 +#: ../../library/mailbox.rst:830 ../../library/mailbox.rst:997 +#: ../../library/mailbox.rst:1368 msgid "Flag" msgstr "Sinalizador" -#: ../../library/mailbox.rst:814 ../../library/mailbox.rst:981 -#: ../../library/mailbox.rst:1351 +#: ../../library/mailbox.rst:830 ../../library/mailbox.rst:997 +#: ../../library/mailbox.rst:1368 msgid "Meaning" msgstr "Significado" -#: ../../library/mailbox.rst:814 ../../library/mailbox.rst:981 -#: ../../library/mailbox.rst:1131 ../../library/mailbox.rst:1218 -#: ../../library/mailbox.rst:1351 +#: ../../library/mailbox.rst:830 ../../library/mailbox.rst:997 +#: ../../library/mailbox.rst:1148 ../../library/mailbox.rst:1235 +#: ../../library/mailbox.rst:1368 msgid "Explanation" -msgstr "Explanação" +msgstr "Explicação" -#: ../../library/mailbox.rst:816 ../../library/mailbox.rst:987 -#: ../../library/mailbox.rst:1357 +#: ../../library/mailbox.rst:832 ../../library/mailbox.rst:1003 +#: ../../library/mailbox.rst:1374 msgid "D" msgstr "D" -#: ../../library/mailbox.rst:816 +#: ../../library/mailbox.rst:832 msgid "Draft" msgstr "" -#: ../../library/mailbox.rst:816 +#: ../../library/mailbox.rst:832 msgid "Under composition" msgstr "" -#: ../../library/mailbox.rst:818 ../../library/mailbox.rst:989 -#: ../../library/mailbox.rst:1359 +#: ../../library/mailbox.rst:834 ../../library/mailbox.rst:1005 +#: ../../library/mailbox.rst:1376 msgid "F" msgstr "F" -#: ../../library/mailbox.rst:818 ../../library/mailbox.rst:989 -#: ../../library/mailbox.rst:1359 +#: ../../library/mailbox.rst:834 ../../library/mailbox.rst:1005 +#: ../../library/mailbox.rst:1376 msgid "Flagged" msgstr "" -#: ../../library/mailbox.rst:818 ../../library/mailbox.rst:989 -#: ../../library/mailbox.rst:1137 ../../library/mailbox.rst:1359 +#: ../../library/mailbox.rst:834 ../../library/mailbox.rst:1005 +#: ../../library/mailbox.rst:1154 ../../library/mailbox.rst:1376 msgid "Marked as important" msgstr "" -#: ../../library/mailbox.rst:820 +#: ../../library/mailbox.rst:836 msgid "P" msgstr "" -#: ../../library/mailbox.rst:820 +#: ../../library/mailbox.rst:836 msgid "Passed" msgstr "" -#: ../../library/mailbox.rst:820 +#: ../../library/mailbox.rst:836 msgid "Forwarded, resent, or bounced" msgstr "" -#: ../../library/mailbox.rst:822 ../../library/mailbox.rst:983 -#: ../../library/mailbox.rst:1353 +#: ../../library/mailbox.rst:838 ../../library/mailbox.rst:999 +#: ../../library/mailbox.rst:1370 msgid "R" msgstr "" -#: ../../library/mailbox.rst:822 +#: ../../library/mailbox.rst:838 msgid "Replied" msgstr "" -#: ../../library/mailbox.rst:822 ../../library/mailbox.rst:991 -#: ../../library/mailbox.rst:1135 ../../library/mailbox.rst:1226 -#: ../../library/mailbox.rst:1361 +#: ../../library/mailbox.rst:838 ../../library/mailbox.rst:1007 +#: ../../library/mailbox.rst:1152 ../../library/mailbox.rst:1243 +#: ../../library/mailbox.rst:1378 msgid "Replied to" msgstr "" -#: ../../library/mailbox.rst:824 +#: ../../library/mailbox.rst:840 msgid "S" msgstr "" -#: ../../library/mailbox.rst:824 +#: ../../library/mailbox.rst:840 msgid "Seen" msgstr "" -#: ../../library/mailbox.rst:824 ../../library/mailbox.rst:983 -#: ../../library/mailbox.rst:1353 +#: ../../library/mailbox.rst:840 ../../library/mailbox.rst:999 +#: ../../library/mailbox.rst:1370 msgid "Read" msgstr "" -#: ../../library/mailbox.rst:826 +#: ../../library/mailbox.rst:842 msgid "T" msgstr "T" -#: ../../library/mailbox.rst:826 +#: ../../library/mailbox.rst:842 msgid "Trashed" msgstr "" -#: ../../library/mailbox.rst:826 ../../library/mailbox.rst:987 -#: ../../library/mailbox.rst:1222 ../../library/mailbox.rst:1357 +#: ../../library/mailbox.rst:842 ../../library/mailbox.rst:1003 +#: ../../library/mailbox.rst:1239 ../../library/mailbox.rst:1374 msgid "Marked for subsequent deletion" msgstr "" -#: ../../library/mailbox.rst:829 -msgid ":class:`MaildirMessage` instances offer the following methods:" +#: ../../library/mailbox.rst:845 +msgid ":class:`!MaildirMessage` instances offer the following methods:" msgstr "" -#: ../../library/mailbox.rst:834 +#: ../../library/mailbox.rst:850 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 "" -#: ../../library/mailbox.rst:840 +#: ../../library/mailbox.rst:856 msgid "" "A message is typically moved from :file:`new` to :file:`cur` after its " "mailbox has been accessed, whether or not the message is has been read. A " "message ``msg`` has been read if ``\"S\" in msg.get_flags()`` is ``True``." msgstr "" -#: ../../library/mailbox.rst:848 +#: ../../library/mailbox.rst:864 msgid "" "Set the subdirectory the message should be stored in. Parameter *subdir* " "must be either \"new\" or \"cur\"." msgstr "" -#: ../../library/mailbox.rst:854 +#: ../../library/mailbox.rst:870 msgid "" "Return a string specifying the flags that are currently set. If the message " "complies with the standard Maildir format, the result is the concatenation " @@ -1070,11 +1122,11 @@ msgid "" "flags are set or if \"info\" contains experimental semantics." msgstr "" -#: ../../library/mailbox.rst:864 +#: ../../library/mailbox.rst:880 msgid "Set the flags specified by *flags* and unset all others." msgstr "" -#: ../../library/mailbox.rst:869 +#: ../../library/mailbox.rst:885 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 " @@ -1082,7 +1134,7 @@ msgid "" "experimental information rather than flags." msgstr "" -#: ../../library/mailbox.rst:877 +#: ../../library/mailbox.rst:893 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 " @@ -1090,207 +1142,207 @@ msgid "" "the current \"info\" is not modified." msgstr "" -#: ../../library/mailbox.rst:885 +#: ../../library/mailbox.rst:901 msgid "" "Return the delivery date of the message as a floating-point number " "representing seconds since the epoch." msgstr "" -#: ../../library/mailbox.rst:891 +#: ../../library/mailbox.rst:907 msgid "" "Set the delivery date of the message to *date*, a floating-point number " "representing seconds since the epoch." msgstr "" -#: ../../library/mailbox.rst:897 +#: ../../library/mailbox.rst:913 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 "" -#: ../../library/mailbox.rst:904 +#: ../../library/mailbox.rst:920 msgid "Set \"info\" to *info*, which should be a string." msgstr "" -#: ../../library/mailbox.rst:906 +#: ../../library/mailbox.rst:922 msgid "" -"When a :class:`MaildirMessage` instance is created based upon an :class:" -"`mboxMessage` or :class:`MMDFMessage` instance, the :mailheader:`Status` " -"and :mailheader:`X-Status` headers are omitted and the following conversions " -"take place:" +"When a :class:`!MaildirMessage` instance is created based upon " +"an :class:`mboxMessage` or :class:`MMDFMessage` instance, " +"the :mailheader:`Status` and :mailheader:`X-Status` headers are omitted and " +"the following conversions take place:" msgstr "" -#: ../../library/mailbox.rst:912 ../../library/mailbox.rst:930 -#: ../../library/mailbox.rst:945 ../../library/mailbox.rst:1052 -#: ../../library/mailbox.rst:1069 ../../library/mailbox.rst:1084 -#: ../../library/mailbox.rst:1099 ../../library/mailbox.rst:1166 -#: ../../library/mailbox.rst:1181 ../../library/mailbox.rst:1195 -#: ../../library/mailbox.rst:1292 ../../library/mailbox.rst:1309 -#: ../../library/mailbox.rst:1323 ../../library/mailbox.rst:1423 -#: ../../library/mailbox.rst:1440 ../../library/mailbox.rst:1455 -#: ../../library/mailbox.rst:1471 +#: ../../library/mailbox.rst:928 ../../library/mailbox.rst:946 +#: ../../library/mailbox.rst:961 ../../library/mailbox.rst:1068 +#: ../../library/mailbox.rst:1085 ../../library/mailbox.rst:1100 +#: ../../library/mailbox.rst:1116 ../../library/mailbox.rst:1183 +#: ../../library/mailbox.rst:1198 ../../library/mailbox.rst:1212 +#: ../../library/mailbox.rst:1309 ../../library/mailbox.rst:1326 +#: ../../library/mailbox.rst:1340 ../../library/mailbox.rst:1440 +#: ../../library/mailbox.rst:1457 ../../library/mailbox.rst:1472 +#: ../../library/mailbox.rst:1488 msgid "Resulting state" msgstr "" -#: ../../library/mailbox.rst:912 ../../library/mailbox.rst:1181 -#: ../../library/mailbox.rst:1309 +#: ../../library/mailbox.rst:928 ../../library/mailbox.rst:1198 +#: ../../library/mailbox.rst:1326 msgid ":class:`mboxMessage` or :class:`MMDFMessage` state" msgstr "" -#: ../../library/mailbox.rst:915 ../../library/mailbox.rst:932 -#: ../../library/mailbox.rst:947 ../../library/mailbox.rst:1056 -#: ../../library/mailbox.rst:1427 +#: ../../library/mailbox.rst:931 ../../library/mailbox.rst:948 +#: ../../library/mailbox.rst:963 ../../library/mailbox.rst:1072 +#: ../../library/mailbox.rst:1444 msgid "\"cur\" subdirectory" msgstr "" -#: ../../library/mailbox.rst:915 ../../library/mailbox.rst:1056 -#: ../../library/mailbox.rst:1073 ../../library/mailbox.rst:1088 -#: ../../library/mailbox.rst:1103 ../../library/mailbox.rst:1427 -#: ../../library/mailbox.rst:1444 ../../library/mailbox.rst:1459 -#: ../../library/mailbox.rst:1475 +#: ../../library/mailbox.rst:931 ../../library/mailbox.rst:1072 +#: ../../library/mailbox.rst:1089 ../../library/mailbox.rst:1104 +#: ../../library/mailbox.rst:1120 ../../library/mailbox.rst:1444 +#: ../../library/mailbox.rst:1461 ../../library/mailbox.rst:1476 +#: ../../library/mailbox.rst:1492 msgid "O flag" msgstr "" -#: ../../library/mailbox.rst:917 ../../library/mailbox.rst:936 -#: ../../library/mailbox.rst:1060 ../../library/mailbox.rst:1075 -#: ../../library/mailbox.rst:1107 ../../library/mailbox.rst:1172 -#: ../../library/mailbox.rst:1188 ../../library/mailbox.rst:1431 -#: ../../library/mailbox.rst:1446 ../../library/mailbox.rst:1479 +#: ../../library/mailbox.rst:933 ../../library/mailbox.rst:952 +#: ../../library/mailbox.rst:1076 ../../library/mailbox.rst:1091 +#: ../../library/mailbox.rst:1124 ../../library/mailbox.rst:1189 +#: ../../library/mailbox.rst:1205 ../../library/mailbox.rst:1448 +#: ../../library/mailbox.rst:1463 ../../library/mailbox.rst:1496 msgid "F flag" msgstr "" -#: ../../library/mailbox.rst:919 ../../library/mailbox.rst:921 -#: ../../library/mailbox.rst:938 ../../library/mailbox.rst:953 -#: ../../library/mailbox.rst:1054 ../../library/mailbox.rst:1062 -#: ../../library/mailbox.rst:1101 ../../library/mailbox.rst:1170 -#: ../../library/mailbox.rst:1298 ../../library/mailbox.rst:1425 -#: ../../library/mailbox.rst:1433 ../../library/mailbox.rst:1473 +#: ../../library/mailbox.rst:935 ../../library/mailbox.rst:937 +#: ../../library/mailbox.rst:954 ../../library/mailbox.rst:969 +#: ../../library/mailbox.rst:1070 ../../library/mailbox.rst:1078 +#: ../../library/mailbox.rst:1118 ../../library/mailbox.rst:1187 +#: ../../library/mailbox.rst:1315 ../../library/mailbox.rst:1442 +#: ../../library/mailbox.rst:1450 ../../library/mailbox.rst:1490 msgid "R flag" msgstr "" -#: ../../library/mailbox.rst:919 ../../library/mailbox.rst:1062 -#: ../../library/mailbox.rst:1077 ../../library/mailbox.rst:1092 -#: ../../library/mailbox.rst:1109 ../../library/mailbox.rst:1186 -#: ../../library/mailbox.rst:1316 ../../library/mailbox.rst:1433 -#: ../../library/mailbox.rst:1448 ../../library/mailbox.rst:1463 -#: ../../library/mailbox.rst:1481 +#: ../../library/mailbox.rst:935 ../../library/mailbox.rst:1078 +#: ../../library/mailbox.rst:1093 ../../library/mailbox.rst:1108 +#: ../../library/mailbox.rst:1126 ../../library/mailbox.rst:1203 +#: ../../library/mailbox.rst:1333 ../../library/mailbox.rst:1450 +#: ../../library/mailbox.rst:1465 ../../library/mailbox.rst:1480 +#: ../../library/mailbox.rst:1498 msgid "A flag" msgstr "" -#: ../../library/mailbox.rst:921 ../../library/mailbox.rst:1054 -#: ../../library/mailbox.rst:1425 +#: ../../library/mailbox.rst:937 ../../library/mailbox.rst:1070 +#: ../../library/mailbox.rst:1442 msgid "S flag" msgstr "" -#: ../../library/mailbox.rst:923 ../../library/mailbox.rst:955 -#: ../../library/mailbox.rst:1058 ../../library/mailbox.rst:1296 -#: ../../library/mailbox.rst:1429 +#: ../../library/mailbox.rst:939 ../../library/mailbox.rst:971 +#: ../../library/mailbox.rst:1074 ../../library/mailbox.rst:1313 +#: ../../library/mailbox.rst:1446 msgid "T flag" msgstr "" -#: ../../library/mailbox.rst:923 ../../library/mailbox.rst:1058 -#: ../../library/mailbox.rst:1090 ../../library/mailbox.rst:1105 -#: ../../library/mailbox.rst:1314 ../../library/mailbox.rst:1429 -#: ../../library/mailbox.rst:1461 ../../library/mailbox.rst:1477 +#: ../../library/mailbox.rst:939 ../../library/mailbox.rst:1074 +#: ../../library/mailbox.rst:1106 ../../library/mailbox.rst:1122 +#: ../../library/mailbox.rst:1331 ../../library/mailbox.rst:1446 +#: ../../library/mailbox.rst:1478 ../../library/mailbox.rst:1494 msgid "D flag" msgstr "" -#: ../../library/mailbox.rst:926 +#: ../../library/mailbox.rst:942 msgid "" -"When a :class:`MaildirMessage` instance is created based upon an :class:" -"`MHMessage` instance, the following conversions take place:" +"When a :class:`!MaildirMessage` instance is created based upon " +"an :class:`MHMessage` instance, the following conversions take place:" msgstr "" -#: ../../library/mailbox.rst:930 ../../library/mailbox.rst:1069 -#: ../../library/mailbox.rst:1323 ../../library/mailbox.rst:1440 +#: ../../library/mailbox.rst:946 ../../library/mailbox.rst:1085 +#: ../../library/mailbox.rst:1340 ../../library/mailbox.rst:1457 msgid ":class:`MHMessage` state" msgstr "" -#: ../../library/mailbox.rst:932 ../../library/mailbox.rst:1073 -#: ../../library/mailbox.rst:1168 ../../library/mailbox.rst:1184 -#: ../../library/mailbox.rst:1197 ../../library/mailbox.rst:1325 -#: ../../library/mailbox.rst:1444 +#: ../../library/mailbox.rst:948 ../../library/mailbox.rst:1089 +#: ../../library/mailbox.rst:1185 ../../library/mailbox.rst:1201 +#: ../../library/mailbox.rst:1214 ../../library/mailbox.rst:1342 +#: ../../library/mailbox.rst:1461 msgid "\"unseen\" sequence" msgstr "" -#: ../../library/mailbox.rst:934 ../../library/mailbox.rst:949 +#: ../../library/mailbox.rst:950 ../../library/mailbox.rst:965 msgid "\"cur\" subdirectory and S flag" msgstr "" -#: ../../library/mailbox.rst:934 ../../library/mailbox.rst:1071 -#: ../../library/mailbox.rst:1442 +#: ../../library/mailbox.rst:950 ../../library/mailbox.rst:1087 +#: ../../library/mailbox.rst:1459 msgid "no \"unseen\" sequence" msgstr "" -#: ../../library/mailbox.rst:936 ../../library/mailbox.rst:1075 -#: ../../library/mailbox.rst:1172 ../../library/mailbox.rst:1188 -#: ../../library/mailbox.rst:1446 +#: ../../library/mailbox.rst:952 ../../library/mailbox.rst:1091 +#: ../../library/mailbox.rst:1189 ../../library/mailbox.rst:1205 +#: ../../library/mailbox.rst:1463 msgid "\"flagged\" sequence" msgstr "" -#: ../../library/mailbox.rst:938 ../../library/mailbox.rst:1077 -#: ../../library/mailbox.rst:1170 ../../library/mailbox.rst:1186 -#: ../../library/mailbox.rst:1199 ../../library/mailbox.rst:1327 -#: ../../library/mailbox.rst:1448 +#: ../../library/mailbox.rst:954 ../../library/mailbox.rst:1093 +#: ../../library/mailbox.rst:1187 ../../library/mailbox.rst:1203 +#: ../../library/mailbox.rst:1216 ../../library/mailbox.rst:1344 +#: ../../library/mailbox.rst:1465 msgid "\"replied\" sequence" msgstr "" -#: ../../library/mailbox.rst:941 +#: ../../library/mailbox.rst:957 msgid "" -"When a :class:`MaildirMessage` instance is created based upon a :class:" -"`BabylMessage` instance, the following conversions take place:" +"When a :class:`!MaildirMessage` instance is created based upon " +"a :class:`BabylMessage` instance, the following conversions take place:" msgstr "" -#: ../../library/mailbox.rst:945 ../../library/mailbox.rst:1084 -#: ../../library/mailbox.rst:1195 ../../library/mailbox.rst:1455 +#: ../../library/mailbox.rst:961 ../../library/mailbox.rst:1100 +#: ../../library/mailbox.rst:1212 ../../library/mailbox.rst:1472 msgid ":class:`BabylMessage` state" msgstr "" -#: ../../library/mailbox.rst:947 ../../library/mailbox.rst:1088 -#: ../../library/mailbox.rst:1197 ../../library/mailbox.rst:1294 -#: ../../library/mailbox.rst:1312 ../../library/mailbox.rst:1325 -#: ../../library/mailbox.rst:1459 +#: ../../library/mailbox.rst:963 ../../library/mailbox.rst:1104 +#: ../../library/mailbox.rst:1214 ../../library/mailbox.rst:1311 +#: ../../library/mailbox.rst:1329 ../../library/mailbox.rst:1342 +#: ../../library/mailbox.rst:1476 msgid "\"unseen\" label" msgstr "" -#: ../../library/mailbox.rst:949 ../../library/mailbox.rst:1086 -#: ../../library/mailbox.rst:1457 +#: ../../library/mailbox.rst:965 ../../library/mailbox.rst:1102 +#: ../../library/mailbox.rst:1474 msgid "no \"unseen\" label" msgstr "" -#: ../../library/mailbox.rst:951 ../../library/mailbox.rst:1300 +#: ../../library/mailbox.rst:967 ../../library/mailbox.rst:1317 msgid "P flag" msgstr "" -#: ../../library/mailbox.rst:951 +#: ../../library/mailbox.rst:967 msgid "\"forwarded\" or \"resent\" label" msgstr "" -#: ../../library/mailbox.rst:953 ../../library/mailbox.rst:1092 -#: ../../library/mailbox.rst:1199 ../../library/mailbox.rst:1298 -#: ../../library/mailbox.rst:1316 ../../library/mailbox.rst:1327 -#: ../../library/mailbox.rst:1463 +#: ../../library/mailbox.rst:969 ../../library/mailbox.rst:1108 +#: ../../library/mailbox.rst:1216 ../../library/mailbox.rst:1315 +#: ../../library/mailbox.rst:1333 ../../library/mailbox.rst:1344 +#: ../../library/mailbox.rst:1480 msgid "\"answered\" label" msgstr "" -#: ../../library/mailbox.rst:955 ../../library/mailbox.rst:1090 -#: ../../library/mailbox.rst:1296 ../../library/mailbox.rst:1314 -#: ../../library/mailbox.rst:1461 +#: ../../library/mailbox.rst:971 ../../library/mailbox.rst:1106 +#: ../../library/mailbox.rst:1313 ../../library/mailbox.rst:1331 +#: ../../library/mailbox.rst:1478 msgid "\"deleted\" label" msgstr "" -#: ../../library/mailbox.rst:962 -msgid ":class:`mboxMessage`" -msgstr ":class:`mboxMessage`" +#: ../../library/mailbox.rst:978 +msgid ":class:`!mboxMessage` objects" +msgstr "" -#: ../../library/mailbox.rst:967 +#: ../../library/mailbox.rst:983 msgid "" "A message with mbox-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." msgstr "" -#: ../../library/mailbox.rst:970 +#: ../../library/mailbox.rst:986 msgid "" "Messages in an mbox mailbox are stored together in a single file. The " "sender's envelope address and the time of delivery are typically stored in a " @@ -1301,63 +1353,63 @@ msgid "" "typically stored in :mailheader:`Status` and :mailheader:`X-Status` headers." msgstr "" -#: ../../library/mailbox.rst:978 +#: ../../library/mailbox.rst:994 msgid "Conventional flags for mbox messages are as follows:" msgstr "" -#: ../../library/mailbox.rst:985 ../../library/mailbox.rst:1355 +#: ../../library/mailbox.rst:1001 ../../library/mailbox.rst:1372 msgid "O" msgstr "O" -#: ../../library/mailbox.rst:985 ../../library/mailbox.rst:1355 +#: ../../library/mailbox.rst:1001 ../../library/mailbox.rst:1372 msgid "Old" -msgstr "" +msgstr "Antigo" -#: ../../library/mailbox.rst:985 ../../library/mailbox.rst:1355 +#: ../../library/mailbox.rst:1001 ../../library/mailbox.rst:1372 msgid "Previously detected by MUA" msgstr "" -#: ../../library/mailbox.rst:987 ../../library/mailbox.rst:1357 +#: ../../library/mailbox.rst:1003 ../../library/mailbox.rst:1374 msgid "Deleted" msgstr "" -#: ../../library/mailbox.rst:991 ../../library/mailbox.rst:1361 +#: ../../library/mailbox.rst:1007 ../../library/mailbox.rst:1378 msgid "A" msgstr "" -#: ../../library/mailbox.rst:991 ../../library/mailbox.rst:1361 +#: ../../library/mailbox.rst:1007 ../../library/mailbox.rst:1378 msgid "Answered" msgstr "" -#: ../../library/mailbox.rst:994 ../../library/mailbox.rst:1364 +#: ../../library/mailbox.rst:1010 ../../library/mailbox.rst:1381 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 "" -#: ../../library/mailbox.rst:998 -msgid ":class:`mboxMessage` instances offer the following methods:" +#: ../../library/mailbox.rst:1014 +msgid ":class:`!mboxMessage` instances offer the following methods:" msgstr "" -#: ../../library/mailbox.rst:1003 ../../library/mailbox.rst:1374 +#: ../../library/mailbox.rst:1019 ../../library/mailbox.rst:1391 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 "" -#: ../../library/mailbox.rst:1010 ../../library/mailbox.rst:1381 +#: ../../library/mailbox.rst:1026 ../../library/mailbox.rst:1398 msgid "" "Set the \"From \" line to *from_*, which should be specified without a " "leading \"From \" or trailing newline. For convenience, *time_* may be " "specified and will be formatted appropriately and appended to *from_*. If " "*time_* is specified, it should be a :class:`time.struct_time` instance, a " -"tuple suitable for passing to :meth:`time.strftime`, or ``True`` (to use :" -"meth:`time.gmtime`)." +"tuple suitable for passing to :func:`time.strftime`, or ``True`` (to " +"use :func:`time.gmtime`)." msgstr "" -#: ../../library/mailbox.rst:1020 ../../library/mailbox.rst:1391 +#: ../../library/mailbox.rst:1036 ../../library/mailbox.rst:1408 msgid "" "Return a string specifying the flags that are currently set. If the message " "complies with the conventional format, the result is the concatenation in " @@ -1365,304 +1417,304 @@ msgid "" "``'D'``, ``'F'``, and ``'A'``." msgstr "" -#: ../../library/mailbox.rst:1028 ../../library/mailbox.rst:1399 +#: ../../library/mailbox.rst:1044 ../../library/mailbox.rst:1416 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 "" -#: ../../library/mailbox.rst:1035 ../../library/mailbox.rst:1406 +#: ../../library/mailbox.rst:1051 ../../library/mailbox.rst:1423 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 "" -#: ../../library/mailbox.rst:1042 ../../library/mailbox.rst:1413 +#: ../../library/mailbox.rst:1058 ../../library/mailbox.rst:1430 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 "" -#: ../../library/mailbox.rst:1046 +#: ../../library/mailbox.rst:1062 msgid "" -"When an :class:`mboxMessage` instance is created based upon a :class:" -"`MaildirMessage` instance, a \"From \" line is generated based upon the :" -"class:`MaildirMessage` instance's delivery date, and the following " +"When an :class:`!mboxMessage` instance is created based upon " +"a :class:`MaildirMessage` instance, a \"From \" line is generated based upon " +"the :class:`MaildirMessage` instance's delivery date, and the following " "conversions take place:" msgstr "" -#: ../../library/mailbox.rst:1052 ../../library/mailbox.rst:1166 -#: ../../library/mailbox.rst:1292 ../../library/mailbox.rst:1423 +#: ../../library/mailbox.rst:1068 ../../library/mailbox.rst:1183 +#: ../../library/mailbox.rst:1309 ../../library/mailbox.rst:1440 msgid ":class:`MaildirMessage` state" msgstr "" -#: ../../library/mailbox.rst:1065 +#: ../../library/mailbox.rst:1081 msgid "" -"When an :class:`mboxMessage` instance is created based upon an :class:" -"`MHMessage` instance, the following conversions take place:" +"When an :class:`!mboxMessage` instance is created based upon " +"an :class:`MHMessage` instance, the following conversions take place:" msgstr "" -#: ../../library/mailbox.rst:1071 ../../library/mailbox.rst:1086 -#: ../../library/mailbox.rst:1442 ../../library/mailbox.rst:1457 +#: ../../library/mailbox.rst:1087 ../../library/mailbox.rst:1102 +#: ../../library/mailbox.rst:1459 ../../library/mailbox.rst:1474 msgid "R flag and O flag" msgstr "" -#: ../../library/mailbox.rst:1080 +#: ../../library/mailbox.rst:1096 msgid "" -"When an :class:`mboxMessage` instance is created based upon a :class:" -"`BabylMessage` instance, the following conversions take place:" +"When an :class:`!mboxMessage` instance is created based upon " +"a :class:`BabylMessage` instance, the following conversions take place:" msgstr "" -#: ../../library/mailbox.rst:1095 +#: ../../library/mailbox.rst:1111 msgid "" -"When a :class:`Message` instance is created based upon an :class:" -"`MMDFMessage` instance, the \"From \" line is copied and all flags directly " -"correspond:" +"When a :class:`!mboxMessage` instance is created based upon " +"an :class:`MMDFMessage` instance, the \"From \" line is copied and all flags " +"directly correspond:" msgstr "" -#: ../../library/mailbox.rst:1099 +#: ../../library/mailbox.rst:1116 msgid ":class:`MMDFMessage` state" msgstr "" -#: ../../library/mailbox.rst:1116 -msgid ":class:`MHMessage`" -msgstr ":class:`MHMessage`" +#: ../../library/mailbox.rst:1133 +msgid ":class:`!MHMessage` objects" +msgstr "" -#: ../../library/mailbox.rst:1121 +#: ../../library/mailbox.rst:1138 msgid "" "A message with MH-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." msgstr "" -#: ../../library/mailbox.rst:1124 +#: ../../library/mailbox.rst:1141 msgid "" "MH messages do not support marks or flags in the traditional sense, but they " "do support sequences, which are logical groupings of arbitrary messages. " -"Some mail reading programs (although not the standard :program:`mh` and :" -"program:`nmh`) use sequences in much the same way flags are used with other " -"formats, as follows:" +"Some mail reading programs (although not the standard :program:`mh` " +"and :program:`nmh`) use sequences in much the same way flags are used with " +"other formats, as follows:" msgstr "" -#: ../../library/mailbox.rst:1131 +#: ../../library/mailbox.rst:1148 msgid "Sequence" msgstr "" -#: ../../library/mailbox.rst:1133 ../../library/mailbox.rst:1220 +#: ../../library/mailbox.rst:1150 ../../library/mailbox.rst:1237 msgid "unseen" msgstr "" -#: ../../library/mailbox.rst:1133 ../../library/mailbox.rst:1220 +#: ../../library/mailbox.rst:1150 ../../library/mailbox.rst:1237 msgid "Not read, but previously detected by MUA" msgstr "" -#: ../../library/mailbox.rst:1135 +#: ../../library/mailbox.rst:1152 msgid "replied" msgstr "" -#: ../../library/mailbox.rst:1137 +#: ../../library/mailbox.rst:1154 msgid "flagged" msgstr "" -#: ../../library/mailbox.rst:1140 -msgid ":class:`MHMessage` instances offer the following methods:" +#: ../../library/mailbox.rst:1157 +msgid ":class:`!MHMessage` instances offer the following methods:" msgstr "" -#: ../../library/mailbox.rst:1145 +#: ../../library/mailbox.rst:1162 msgid "Return a list of the names of sequences that include this message." msgstr "" -#: ../../library/mailbox.rst:1150 +#: ../../library/mailbox.rst:1167 msgid "Set the list of sequences that include this message." msgstr "" -#: ../../library/mailbox.rst:1155 +#: ../../library/mailbox.rst:1172 msgid "Add *sequence* to the list of sequences that include this message." msgstr "" -#: ../../library/mailbox.rst:1160 +#: ../../library/mailbox.rst:1177 msgid "Remove *sequence* from the list of sequences that include this message." msgstr "" -#: ../../library/mailbox.rst:1162 +#: ../../library/mailbox.rst:1179 msgid "" -"When an :class:`MHMessage` instance is created based upon a :class:" -"`MaildirMessage` instance, the following conversions take place:" +"When an :class:`!MHMessage` instance is created based upon " +"a :class:`MaildirMessage` instance, the following conversions take place:" msgstr "" -#: ../../library/mailbox.rst:1168 ../../library/mailbox.rst:1294 +#: ../../library/mailbox.rst:1185 ../../library/mailbox.rst:1311 msgid "no S flag" msgstr "" -#: ../../library/mailbox.rst:1175 +#: ../../library/mailbox.rst:1192 msgid "" -"When an :class:`MHMessage` instance is created based upon an :class:" -"`mboxMessage` or :class:`MMDFMessage` instance, the :mailheader:`Status` " -"and :mailheader:`X-Status` headers are omitted and the following conversions " -"take place:" +"When an :class:`!MHMessage` instance is created based upon " +"an :class:`mboxMessage` or :class:`MMDFMessage` instance, " +"the :mailheader:`Status` and :mailheader:`X-Status` headers are omitted and " +"the following conversions take place:" msgstr "" -#: ../../library/mailbox.rst:1184 ../../library/mailbox.rst:1312 +#: ../../library/mailbox.rst:1201 ../../library/mailbox.rst:1329 msgid "no R flag" msgstr "" -#: ../../library/mailbox.rst:1191 +#: ../../library/mailbox.rst:1208 msgid "" -"When an :class:`MHMessage` instance is created based upon a :class:" -"`BabylMessage` instance, the following conversions take place:" +"When an :class:`!MHMessage` instance is created based upon " +"a :class:`BabylMessage` instance, the following conversions take place:" msgstr "" -#: ../../library/mailbox.rst:1206 -msgid ":class:`BabylMessage`" -msgstr ":class:`BabylMessage`" +#: ../../library/mailbox.rst:1223 +msgid ":class:`!BabylMessage` objects" +msgstr "" -#: ../../library/mailbox.rst:1211 +#: ../../library/mailbox.rst:1228 msgid "" "A message with Babyl-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." msgstr "" -#: ../../library/mailbox.rst:1214 +#: ../../library/mailbox.rst:1231 msgid "" "Certain message labels, called :dfn:`attributes`, are defined by convention " "to have special meanings. The attributes are as follows:" msgstr "" -#: ../../library/mailbox.rst:1218 +#: ../../library/mailbox.rst:1235 msgid "Label" msgstr "" -#: ../../library/mailbox.rst:1222 +#: ../../library/mailbox.rst:1239 msgid "deleted" msgstr "" -#: ../../library/mailbox.rst:1224 +#: ../../library/mailbox.rst:1241 msgid "filed" msgstr "" -#: ../../library/mailbox.rst:1224 +#: ../../library/mailbox.rst:1241 msgid "Copied to another file or mailbox" msgstr "" -#: ../../library/mailbox.rst:1226 +#: ../../library/mailbox.rst:1243 msgid "answered" msgstr "" -#: ../../library/mailbox.rst:1228 +#: ../../library/mailbox.rst:1245 msgid "forwarded" msgstr "" -#: ../../library/mailbox.rst:1228 +#: ../../library/mailbox.rst:1245 msgid "Forwarded" msgstr "" -#: ../../library/mailbox.rst:1230 +#: ../../library/mailbox.rst:1247 msgid "edited" msgstr "" -#: ../../library/mailbox.rst:1230 +#: ../../library/mailbox.rst:1247 msgid "Modified by the user" msgstr "" -#: ../../library/mailbox.rst:1232 +#: ../../library/mailbox.rst:1249 msgid "resent" msgstr "" -#: ../../library/mailbox.rst:1232 +#: ../../library/mailbox.rst:1249 msgid "Resent" msgstr "" -#: ../../library/mailbox.rst:1235 +#: ../../library/mailbox.rst:1252 msgid "" -"By default, Rmail displays only visible headers. The :class:`BabylMessage` " +"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 "" -#: ../../library/mailbox.rst:1239 -msgid ":class:`BabylMessage` instances offer the following methods:" +#: ../../library/mailbox.rst:1256 +msgid ":class:`!BabylMessage` instances offer the following methods:" msgstr "" -#: ../../library/mailbox.rst:1244 +#: ../../library/mailbox.rst:1261 msgid "Return a list of labels on the message." msgstr "" -#: ../../library/mailbox.rst:1249 +#: ../../library/mailbox.rst:1266 msgid "Set the list of labels on the message to *labels*." msgstr "" -#: ../../library/mailbox.rst:1254 +#: ../../library/mailbox.rst:1271 msgid "Add *label* to the list of labels on the message." msgstr "" -#: ../../library/mailbox.rst:1259 +#: ../../library/mailbox.rst:1276 msgid "Remove *label* from the list of labels on the message." msgstr "" -#: ../../library/mailbox.rst:1264 +#: ../../library/mailbox.rst:1281 msgid "" "Return an :class:`Message` instance whose headers are the message's visible " "headers and whose body is empty." msgstr "" -#: ../../library/mailbox.rst:1270 +#: ../../library/mailbox.rst:1287 msgid "" "Set the message's visible headers to be the same as the headers in " -"*message*. Parameter *visible* should be a :class:`Message` instance, an :" -"class:`email.message.Message` instance, a string, or a file-like object " +"*message*. Parameter *visible* should be a :class:`Message` instance, " +"an :class:`email.message.Message` instance, a string, or a file-like object " "(which should be open in text mode)." msgstr "" -#: ../../library/mailbox.rst:1278 +#: ../../library/mailbox.rst:1295 msgid "" -"When a :class:`BabylMessage` instance's original headers are modified, the " +"When a :class:`!BabylMessage` instance's original headers are modified, the " "visible headers are not automatically modified to correspond. This method " "updates the visible headers as follows: each visible header with a " "corresponding original header is set to the value of the original header, " "each visible header without a corresponding original header is removed, and " -"any of :mailheader:`Date`, :mailheader:`From`, :mailheader:`Reply-To`, :" -"mailheader:`To`, :mailheader:`CC`, and :mailheader:`Subject` that are " +"any of :mailheader:`Date`, :mailheader:`From`, :mailheader:`Reply-" +"To`, :mailheader:`To`, :mailheader:`CC`, and :mailheader:`Subject` that are " "present in the original headers but not the visible headers are added to the " "visible headers." msgstr "" -#: ../../library/mailbox.rst:1288 +#: ../../library/mailbox.rst:1305 msgid "" -"When a :class:`BabylMessage` instance is created based upon a :class:" -"`MaildirMessage` instance, the following conversions take place:" +"When a :class:`!BabylMessage` instance is created based upon " +"a :class:`MaildirMessage` instance, the following conversions take place:" msgstr "" -#: ../../library/mailbox.rst:1300 +#: ../../library/mailbox.rst:1317 msgid "\"forwarded\" label" msgstr "" -#: ../../library/mailbox.rst:1303 +#: ../../library/mailbox.rst:1320 msgid "" -"When a :class:`BabylMessage` instance is created based upon an :class:" -"`mboxMessage` or :class:`MMDFMessage` instance, the :mailheader:`Status` " -"and :mailheader:`X-Status` headers are omitted and the following conversions " -"take place:" +"When a :class:`!BabylMessage` instance is created based upon " +"an :class:`mboxMessage` or :class:`MMDFMessage` instance, " +"the :mailheader:`Status` and :mailheader:`X-Status` headers are omitted and " +"the following conversions take place:" msgstr "" -#: ../../library/mailbox.rst:1319 +#: ../../library/mailbox.rst:1336 msgid "" -"When a :class:`BabylMessage` instance is created based upon an :class:" -"`MHMessage` instance, the following conversions take place:" +"When a :class:`!BabylMessage` instance is created based upon " +"an :class:`MHMessage` instance, the following conversions take place:" msgstr "" -#: ../../library/mailbox.rst:1334 -msgid ":class:`MMDFMessage`" -msgstr ":class:`MMDFMessage`" +#: ../../library/mailbox.rst:1351 +msgid ":class:`!MMDFMessage` objects" +msgstr "" -#: ../../library/mailbox.rst:1339 +#: ../../library/mailbox.rst:1356 msgid "" "A message with MMDF-specific behaviors. Parameter *message* has the same " "meaning as with the :class:`Message` constructor." msgstr "" -#: ../../library/mailbox.rst:1342 +#: ../../library/mailbox.rst:1359 msgid "" "As with message in an mbox mailbox, MMDF messages are stored with the " "sender's address and the delivery date in an initial line beginning with " @@ -1670,63 +1722,63 @@ msgid "" "typically stored in :mailheader:`Status` and :mailheader:`X-Status` headers." msgstr "" -#: ../../library/mailbox.rst:1347 +#: ../../library/mailbox.rst:1364 msgid "" "Conventional flags for MMDF messages are identical to those of mbox message " "and are as follows:" msgstr "" -#: ../../library/mailbox.rst:1368 +#: ../../library/mailbox.rst:1385 msgid "" -":class:`MMDFMessage` instances offer the following methods, which are " +":class:`!MMDFMessage` instances offer the following methods, which are " "identical to those offered by :class:`mboxMessage`:" msgstr "" -#: ../../library/mailbox.rst:1417 +#: ../../library/mailbox.rst:1434 msgid "" -"When an :class:`MMDFMessage` instance is created based upon a :class:" -"`MaildirMessage` instance, a \"From \" line is generated based upon the :" -"class:`MaildirMessage` instance's delivery date, and the following " +"When an :class:`!MMDFMessage` instance is created based upon " +"a :class:`MaildirMessage` instance, a \"From \" line is generated based upon " +"the :class:`MaildirMessage` instance's delivery date, and the following " "conversions take place:" msgstr "" -#: ../../library/mailbox.rst:1436 +#: ../../library/mailbox.rst:1453 msgid "" -"When an :class:`MMDFMessage` instance is created based upon an :class:" -"`MHMessage` instance, the following conversions take place:" +"When an :class:`!MMDFMessage` instance is created based upon " +"an :class:`MHMessage` instance, the following conversions take place:" msgstr "" -#: ../../library/mailbox.rst:1451 +#: ../../library/mailbox.rst:1468 msgid "" -"When an :class:`MMDFMessage` instance is created based upon a :class:" -"`BabylMessage` instance, the following conversions take place:" +"When an :class:`!MMDFMessage` instance is created based upon " +"a :class:`BabylMessage` instance, the following conversions take place:" msgstr "" -#: ../../library/mailbox.rst:1466 +#: ../../library/mailbox.rst:1483 msgid "" -"When an :class:`MMDFMessage` instance is created based upon an :class:" -"`mboxMessage` instance, the \"From \" line is copied and all flags directly " -"correspond:" +"When an :class:`!MMDFMessage` instance is created based upon " +"an :class:`mboxMessage` instance, the \"From \" line is copied and all flags " +"directly correspond:" msgstr "" -#: ../../library/mailbox.rst:1471 +#: ../../library/mailbox.rst:1488 msgid ":class:`mboxMessage` state" msgstr "" -#: ../../library/mailbox.rst:1486 +#: ../../library/mailbox.rst:1503 msgid "Exceptions" msgstr "Exceções" -#: ../../library/mailbox.rst:1488 +#: ../../library/mailbox.rst:1505 msgid "" -"The following exception classes are defined in the :mod:`mailbox` module:" +"The following exception classes are defined in the :mod:`!mailbox` module:" msgstr "" -#: ../../library/mailbox.rst:1493 +#: ../../library/mailbox.rst:1510 msgid "The based class for all other module-specific exceptions." msgstr "" -#: ../../library/mailbox.rst:1498 +#: ../../library/mailbox.rst:1515 msgid "" "Raised when a mailbox is expected but is not found, such as when " "instantiating a :class:`Mailbox` subclass with a path that does not exist " @@ -1734,13 +1786,13 @@ msgid "" "that does not exist." msgstr "" -#: ../../library/mailbox.rst:1505 +#: ../../library/mailbox.rst:1522 msgid "" "Raised when a mailbox is not empty but is expected to be, such as when " "deleting a folder that contains messages." msgstr "" -#: ../../library/mailbox.rst:1511 +#: ../../library/mailbox.rst:1528 msgid "" "Raised when some mailbox-related condition beyond the control of the program " "causes it to be unable to proceed, such as when failing to acquire a lock " @@ -1748,29 +1800,29 @@ msgid "" "name already exists." msgstr "" -#: ../../library/mailbox.rst:1519 +#: ../../library/mailbox.rst:1536 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 "" -#: ../../library/mailbox.rst:1526 +#: ../../library/mailbox.rst:1543 msgid "Examples" msgstr "Exemplos" -#: ../../library/mailbox.rst:1528 +#: ../../library/mailbox.rst:1545 msgid "" "A simple example of printing the subjects of all messages in a mailbox that " "seem interesting::" msgstr "" -#: ../../library/mailbox.rst:1537 +#: ../../library/mailbox.rst:1554 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 "" -#: ../../library/mailbox.rst:1548 +#: ../../library/mailbox.rst:1565 msgid "" "This example sorts mail from several mailing lists into different mailboxes, " "being careful to avoid mail corruption due to concurrent modification by " diff --git a/library/mailcap.po b/library/mailcap.po index 80cb95ab5..29dd2e36b 100644 --- a/library/mailcap.po +++ b/library/mailcap.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -44,9 +43,9 @@ msgid "" "readers and web browsers react to files with different MIME types. (The name " "\"mailcap\" is derived from the phrase \"mail capability\".) For example, a " "mailcap file might contain a line like ``video/mpeg; xmpeg %s``. Then, if " -"the user encounters an email message or web document with the MIME type :" -"mimetype:`video/mpeg`, ``%s`` will be replaced by a filename (usually one " -"belonging to a temporary file) and the :program:`xmpeg` program can be " +"the user encounters an email message or web document with the MIME " +"type :mimetype:`video/mpeg`, ``%s`` will be replaced by a filename (usually " +"one belonging to a temporary file) and the :program:`xmpeg` program can be " "automatically started to view the file." msgstr "" @@ -72,8 +71,8 @@ msgid "" "activity to be performed; the default value is 'view', since in the most " "common case you simply want to view the body of the MIME-typed data. Other " "possible values might be 'compose' and 'edit', if you wanted to create a new " -"body of the given MIME type or alter the existing body data. See :rfc:" -"`1524` for a complete list of these fields." +"body of the given MIME type or alter the existing body data. " +"See :rfc:`1524` for a complete list of these fields." msgstr "" #: ../../library/mailcap.rst:45 @@ -99,9 +98,9 @@ msgstr "" msgid "" "In a mailcap file, the \"test\" field can optionally be specified to test " "some external condition (such as the machine architecture, or the window " -"system in use) to determine whether or not the mailcap line applies. :func:" -"`findmatch` will automatically check such conditions and skip the entry if " -"the check fails." +"system in use) to determine whether or not the mailcap line " +"applies. :func:`findmatch` will automatically check such conditions and " +"skip the entry if the check fails." msgstr "" #: ../../library/mailcap.rst:65 diff --git a/library/markup.po b/library/markup.po index 56e42695d..fd5d77679 100644 --- a/library/markup.po +++ b/library/markup.po @@ -1,26 +1,25 @@ # 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: -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/marshal.po b/library/marshal.po index c700baff3..c2f9c90cf 100644 --- a/library/marshal.po +++ b/library/marshal.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 -# Marco Rougeth , 2023 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -51,24 +48,25 @@ msgid "" "This is not a general \"persistence\" module. For general persistence and " "transfer of Python objects through RPC calls, see the modules :mod:`pickle` " "and :mod:`shelve`. The :mod:`marshal` module exists mainly to support " -"reading and writing the \"pseudo-compiled\" code for Python modules of :file:" -"`.pyc` files. Therefore, the Python maintainers reserve the right to modify " -"the marshal format in backward incompatible ways should the need arise. If " -"you're serializing and de-serializing Python objects, use the :mod:`pickle` " -"module instead -- the performance is comparable, version independence is " -"guaranteed, and pickle supports a substantially wider range of objects than " -"marshal." +"reading and writing the \"pseudo-compiled\" code for Python modules " +"of :file:`.pyc` files. Therefore, the Python maintainers reserve the right " +"to modify the marshal format in backward incompatible ways should the need " +"arise. If you're serializing and de-serializing Python objects, use " +"the :mod:`pickle` module instead -- the performance is comparable, version " +"independence is guaranteed, and pickle supports a substantially wider range " +"of objects than marshal." msgstr "" "Este não é um módulo de \"persistência\" geral. Para persistência geral e " -"transferência de objetos Python através de chamadas RPC, veja os módulos :" -"mod:`pickle` e :mod:`shelve`. O módulo :mod:`marshal` existe principalmente " -"para ter suporte à leitura e escrita do código \"pseudocompilado\" para " -"módulos Python de arquivos :file:`.pyc`. Portanto, os mantenedores do Python " -"se reservam o direito de modificar o formato do marshal de maneiras " -"incompatíveis com versões anteriores, caso seja necessário. Se você estiver " -"serializando e desserializando objetos Python, use o módulo :mod:`pickle` -- " -"o desempenho é comparável, a independência de versão é garantida e pickle " -"tem suporte a uma gama substancialmente maior de objetos do que marshal." +"transferência de objetos Python através de chamadas RPC, veja os " +"módulos :mod:`pickle` e :mod:`shelve`. O módulo :mod:`marshal` existe " +"principalmente para ter suporte à leitura e escrita do código " +"\"pseudocompilado\" para módulos Python de arquivos :file:`.pyc`. Portanto, " +"os mantenedores do Python se reservam o direito de modificar o formato do " +"marshal de maneiras incompatíveis com versões anteriores, caso seja " +"necessário. Se você estiver serializando e desserializando objetos Python, " +"use o módulo :mod:`pickle` -- o desempenho é comparável, a independência de " +"versão é garantida e pickle tem suporte a uma gama substancialmente maior de " +"objetos do que marshal." #: ../../library/marshal.rst:33 msgid "" @@ -89,8 +87,8 @@ msgid "" "bytearrays, tuples, lists, sets, frozensets, dictionaries, and code objects, " "where it should be understood that tuples, lists, sets, frozensets and " "dictionaries are only supported as long as the values contained therein are " -"themselves supported. The singletons :const:`None`, :const:`Ellipsis` and :" -"exc:`StopIteration` can also be marshalled and unmarshalled. For format " +"themselves supported. The singletons :const:`None`, :const:`Ellipsis` " +"and :exc:`StopIteration` can also be marshalled and unmarshalled. For format " "*version* lower than 3, recursive lists, sets and dictionaries cannot be " "written (see below)." msgstr "" @@ -101,11 +99,11 @@ msgstr "" "complexos, strings, bytes, bytearrays, tuplas, listas, conjuntos, " "frozensets, dicionários e objetos código, onde deve ser entendido que " "tuplas, listas, conjuntos, frozensets e os dicionários são suportados apenas " -"enquanto os próprios valores contidos neles forem suportados. Os singletons :" -"const:`None`, :const:`Ellipsis` e :exc:`StopIteration` também podem ser " -"serializados e dessarializados com marshal. Para formato *version* inferior " -"a 3, listas recursivas, conjuntos e dicionários não podem ser escritos (veja " -"abaixo)." +"enquanto os próprios valores contidos neles forem suportados. Os " +"singletons :const:`None`, :const:`Ellipsis` e :exc:`StopIteration` também " +"podem ser serializados e dessarializados com marshal. Para formato *version* " +"inferior a 3, listas recursivas, conjuntos e dicionários não podem ser " +"escritos (veja abaixo)." #: ../../library/marshal.rst:51 msgid "" @@ -113,7 +111,7 @@ msgid "" "bytes-like objects." msgstr "" "Existem funções que leem/gravam arquivos, bem como funções que operam em " -"objetos byte ou similares." +"objetos bytes ou similares." #: ../../library/marshal.rst:54 msgid "The module defines these functions:" @@ -129,10 +127,10 @@ msgstr "" #: ../../library/marshal.rst:62 msgid "" -"If the value has (or contains an object that has) an unsupported type, a :" -"exc:`ValueError` exception is raised --- but garbage data will also be " -"written to the file. The object will not be properly read back by :func:" -"`load`." +"If the value has (or contains an object that has) an unsupported type, " +"a :exc:`ValueError` exception is raised --- but garbage data will also be " +"written to the file. The object will not be properly read back " +"by :func:`load`." msgstr "" "Se o valor tem (ou contém um objeto que tem) um tipo não suportado, uma " "exceção :exc:`ValueError` é levantada -- mas dados de lixo também serão " @@ -151,7 +149,7 @@ msgid "" "Raises an :ref:`auditing event ` ``marshal.dumps`` with arguments " "``value``, ``version``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``marshal.dumps`` com " +"Levanta um :ref:`evento de auditoria ` ``marshal.dumps`` com os " "argumentos ``value``, ``version``." #: ../../library/marshal.rst:74 @@ -163,25 +161,27 @@ msgid "" msgstr "" "Lê um valor do arquivo aberto e retorna-o. Se nenhum valor válido for lido " "(por exemplo, porque os dados têm um formato de empacotamento incompatível " -"com uma versão diferente do Python), levanta :exc:`EOFError`, :exc:" -"`ValueError` ou :exc:`TypeError`. O arquivo deve ser um :term:`arquivo " -"binário` legível." +"com uma versão diferente do Python), " +"levanta :exc:`EOFError`, :exc:`ValueError` ou :exc:`TypeError`. O arquivo " +"deve ser um :term:`arquivo binário` legível." #: ../../library/marshal.rst:79 msgid "" "Raises an :ref:`auditing event ` ``marshal.load`` with no " "arguments." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``marshal.load`` com nenhum " -"argumento." +"Levanta um :ref:`evento de auditoria ` ``marshal.load`` sem " +"argumentos." #: ../../library/marshal.rst:83 msgid "" -"If an object containing an unsupported type was marshalled with :func:" -"`dump`, :func:`load` will substitute ``None`` for the unmarshallable type." +"If an object containing an unsupported type was marshalled " +"with :func:`dump`, :func:`load` will substitute ``None`` for the " +"unmarshallable type." msgstr "" -"Se um objeto contendo um tipo não suportado foi empacotado com :func:" -"`dump`, :func:`load` irá substituir ``None`` pelo tipo não empacotável." +"Se um objeto contendo um tipo não suportado foi empacotado " +"com :func:`dump`, :func:`load` irá substituir ``None`` pelo tipo não " +"empacotável." #: ../../library/marshal.rst:88 msgid "" @@ -199,9 +199,9 @@ msgid "" "exception if value has (or contains an object that has) an unsupported type." msgstr "" "Retorna o objeto bytes que seria escrito em um arquivo por ``dump(value, " -"file)``. O valor deve ser um tipo compatível. Levanta uma exceção :exc:" -"`ValueError` se o valor tem (ou contém um objeto que tem) um tipo não " -"suportado." +"file)``. O valor deve ser um tipo compatível. Levanta uma " +"exceção :exc:`ValueError` se o valor tem (ou contém um objeto que tem) um " +"tipo não suportado." #: ../../library/marshal.rst:98 msgid "" @@ -217,16 +217,16 @@ msgid "" "found, raise :exc:`EOFError`, :exc:`ValueError` or :exc:`TypeError`. Extra " "bytes in the input are ignored." msgstr "" -"Converte o :term:`objeto byte ou similar` em um valor. Se nenhum valor " -"válido for encontrado, levanta :exc:`EOFError`, :exc:`ValueError` ou :exc:" -"`TypeError`. Bytes extras na entrada são ignorados." +"Converte o :term:`objeto bytes ou similar` em um valor. Se nenhum valor " +"válido for encontrado, levanta :exc:`EOFError`, :exc:`ValueError` " +"ou :exc:`TypeError`. Bytes extras na entrada são ignorados." #: ../../library/marshal.rst:110 msgid "" "Raises an :ref:`auditing event ` ``marshal.loads`` with argument " "``bytes``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``marshal.loads`` com " +"Levanta um :ref:`evento de auditoria ` ``marshal.loads`` com o " "argumento ``bytes``." #: ../../library/marshal.rst:114 @@ -290,8 +290,8 @@ msgstr "objeto" #: ../../library/marshal.rst:37 msgid "code" -msgstr "" +msgstr "código" #: ../../library/marshal.rst:37 msgid "code object" -msgstr "" +msgstr "objeto código" diff --git a/library/math.po b/library/math.po index f6b18db44..98e83a9d1 100644 --- a/library/math.po +++ b/library/math.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Adorilson Bezerra , 2021 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 -# Rodrigo Cândido, 2022 -# Jader Oliveira, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -72,17 +65,17 @@ msgstr "" #: ../../library/math.rst:30 msgid "Number-theoretic and representation functions" -msgstr "Funções teóricas dos números e de representação" +msgstr "Funções de teoria dos números e de representação" #: ../../library/math.rst:34 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." +"*x*. If *x* is not a float, delegates to :meth:`x.__ceil__ " +"`, which should return an :class:`~numbers.Integral` value." msgstr "" -"Retorna o limite máximo de *x*, o menor inteiro maior ou igual que *x*. Se " -"*x* não é um float, delega para :meth:`x.__ceil__ `, cujo " -"qual deve retornar um valor do tipo :class:`~numbers.Integral`." +"Retorna o teto de *x*, o menor inteiro maior ou igual que *x*. Se *x* não é " +"um float, delega para :meth:`x.__ceil__ `, que deve " +"retornar um valor do tipo :class:`~numbers.Integral`." #: ../../library/math.rst:41 msgid "" @@ -105,16 +98,16 @@ msgid "" "Also called the binomial coefficient because it is equivalent to the " "coefficient of k-th term in polynomial expansion of ``(1 + x)ⁿ``." msgstr "" -"Também conhecido como coeficiente binomial pois é equivalente ao coeficiente " -"do k-ésimo termo na expansão polionomial ``(1 + x)ⁿ``" +"Também conhecido como coeficiente binomial pois equivale ao coeficiente do k-" +"ésimo termo na expansão polinomial ``(1 + x)ⁿ``" #: ../../library/math.rst:51 ../../library/math.rst:260 msgid "" -"Raises :exc:`TypeError` if either of the arguments are not integers. Raises :" -"exc:`ValueError` if either of the arguments are negative." +"Raises :exc:`TypeError` if either of the arguments are not integers. " +"Raises :exc:`ValueError` if either of the arguments are negative." msgstr "" -"Levanta :exc:`TypeError` se algum dos argumentos não for inteiro. Levanta :" -"exc:`ValueError` se algum dos argumentos for negativo." +"Levanta :exc:`TypeError` se algum dos argumentos não for inteiro. " +"Levanta :exc:`ValueError` se algum dos argumentos for negativo." #: ../../library/math.rst:59 msgid "" @@ -123,7 +116,7 @@ msgid "" "returns *-1.0*." msgstr "" "Retorna um ponto flutuante com a magnitude (valor absoluto) de *x*, mas o " -"sinal de *y*. Em plataformas que suportam zeros sem sinal, ``copysign(1.0, " +"sinal de *y*. Em plataformas que suportam zeros com sinal, ``copysign(1.0, " "-0.0)`` retorna *-1.0*." #: ../../library/math.rst:66 @@ -150,10 +143,9 @@ msgid "" "*x* is not a float, delegates to :meth:`x.__floor__ `, " "which should return an :class:`~numbers.Integral` value." msgstr "" -"Retorna o limite mínimo de *x*, o maior inteiro menor ou igual a *x*. Se *x* " -"não é um ponto flutuante, delega para :meth:`x.__floor__ `, cujo qual deve retornar um valpr dp tipo :class:`~numbers." -"Integral`" +"Retorna o chão de *x*, o maior inteiro menor ou igual a *x*. Se *x* não é um " +"ponto flutuante, delega para :meth:`x.__floor__ `, que " +"deve retornar um valor do tipo :class:`~numbers.Integral`" #: ../../library/math.rst:87 msgid "" @@ -213,17 +205,17 @@ msgid "" "occasionally double-round an intermediate sum causing it to be off in its " "least significant bit." msgstr "" -"A precisão do algoritmo depende das garantias aritméticas IEEE-754 e do caso " -"típico em que o modo de arredondamento é meio par. Em algumas compilações " -"que não são do Windows, a biblioteca C subjacente usa adição de precisão " -"estendida e pode ocasionalmente arredondar uma soma intermediária fazendo " -"com que ela fique fora do bit menos significativo." +"A precisão do algoritmo depende das garantias aritméticas do IEEE-754 e do " +"caso típico em que o modo de arredondamento é meio par. Em algumas " +"compilações que não são do Windows, a biblioteca C subjacente usa adição de " +"precisão estendida e pode ocasionalmente arredondar uma soma intermediária " +"fazendo com que ela introduza um erro no bit menos significativo." #: ../../library/math.rst:124 msgid "" "For further discussion and two alternative approaches, see the `ASPN " -"cookbook recipes for accurate floating point summation `_\\." +"cookbook recipes for accurate floating point summation `_\\." msgstr "" "Para uma discussão mais aprofundada e duas abordagens alternativas, consulte " "as `receitas do livro de receitas ASPN para soma de ponto flutuante preciso " @@ -276,7 +268,7 @@ msgid "" "within about 9 decimal digits. *rel_tol* must be greater than zero." msgstr "" "*rel_tol* é a tolerância relativa -- é a diferença máxima permitida entre " -"*a* e *b*, em relação ao maior valor absoluto de *a* e *b*. Por exemplo, " +"*a* e *b*, em relação ao maior valor absoluto de *a* ou *b*. Por exemplo, " "para definir uma tolerância de 5%, passe ``rel_tol=0.05``. A tolerância " "padrão é ``1e-09``, o que garante que os dois valores sejam iguais em cerca " "de 9 dígitos decimais. *rel_tol* deve ser maior que zero." @@ -374,11 +366,11 @@ msgstr "" #: ../../library/math.rst:222 msgid "" -"Return ``x * (2**i)``. This is essentially the inverse of function :func:" -"`frexp`." +"Return ``x * (2**i)``. This is essentially the inverse of " +"function :func:`frexp`." msgstr "" -"Retorna ``x * (2**i)``. Este é essencialmente o inverso da função :func:" -"`frexp`." +"Retorna ``x * (2**i)``. Este é essencialmente o inverso da " +"função :func:`frexp`." #: ../../library/math.rst:228 msgid "" @@ -418,7 +410,7 @@ msgstr "``math.nextafter(x, math.copysign(math.inf, x))`` se afasta do zero." #: ../../library/math.rst:245 msgid "See also :func:`math.ulp`." -msgstr "Veja também :func:`math.ulp.`" +msgstr "Veja também :func:`math.ulp`." #: ../../library/math.rst:251 msgid "" @@ -504,8 +496,8 @@ msgid "" "Return *x* with the fractional part removed, leaving the integer part. This " "rounds toward 0: ``trunc()`` is equivalent to :func:`floor` for positive " "*x*, and equivalent to :func:`ceil` for negative *x*. If *x* is not a float, " -"delegates to :meth:`x.__trunc__ `, which should return an :" -"class:`~numbers.Integral` value." +"delegates to :meth:`x.__trunc__ `, which should return " +"an :class:`~numbers.Integral` value." msgstr "" "Retorna *x* com a parte fracionária removida, deixando a parte inteira. Isso " "arredonda para 0: ``trunc()`` é equivalente a :func:`floor` para *x* " @@ -532,8 +524,8 @@ msgstr "Se *x* for um infinito positivo, retorna *x*." #: ../../library/math.rst:314 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 `)." +"representable float (smaller than the minimum positive *normalized* " +"float, :data:`sys.float_info.min `)." msgstr "" "Se *x* for igual a zero, retorna o menor valor flutuante positivo " "*desnormalizado* representável (menor que o ponto flutuante de valor mínimo " @@ -567,11 +559,11 @@ msgstr "" #: ../../library/math.rst:326 msgid "" -"See also :func:`math.nextafter` and :data:`sys.float_info.epsilon `." +"See also :func:`math.nextafter` and :data:`sys.float_info.epsilon " +"`." msgstr "" -"Veja também :func:`math.nextafter` e :data:`sys.float_info.epsilon `." +"Veja também :func:`math.nextafter` e :data:`sys.float_info.epsilon " +"`." #: ../../library/math.rst:332 msgid "" @@ -633,8 +625,9 @@ msgstr "" "Retorna *e* elevado à potência *x*, menos 1. Aqui *e* é a base dos " "logaritmos naturais. Para pequenos pontos flutuantes *x*, a subtração em " "``exp(x) - 1`` pode resultar em uma `perda significativa de precisão " -"`_\\; a função :func:" -"`expm1` fornece uma maneira de calcular essa quantidade com precisão total::" +"`_\\; a " +"função :func:`expm1` fornece uma maneira de calcular essa quantidade com " +"precisão total::" #: ../../library/math.rst:387 msgid "With one argument, return the natural logarithm of *x* (to base *e*)." @@ -701,8 +694,8 @@ msgid "" "function for computing exact integer powers." msgstr "" "Ao contrário do operador embutido ``**``, :func:`math.pow` converte ambos os " -"seus argumentos para o tipo :class:`float`. Use ``**`` ou a função embutida :" -"func:`pow` para calcular potências inteiras exatas." +"seus argumentos para o tipo :class:`float`. Use ``**`` ou a função " +"embutida :func:`pow` para calcular potências inteiras exatas." #: ../../library/math.rst:431 msgid "" @@ -711,8 +704,8 @@ msgid "" "IEEE 754." msgstr "" "Os casos especiais ``pow(0.0, -inf)`` e ``pow(-0.0, -inf)`` foram alterados " -"para retornar ``inf`` ao invés de retornarem :exc:`ValueError`, para ter " -"consistencia com a IEEE 754." +"para retornar ``inf`` ao invés de levantar :exc:`ValueError`, para ter " +"consistência com a IEEE 754." #: ../../library/math.rst:439 msgid "Return the square root of *x*." @@ -743,8 +736,8 @@ msgid "" "Return the arc tangent of *x*, in radians. The result is between ``-pi/2`` " "and ``pi/2``." msgstr "" -"Retorna o arco tangente de *x*, em radianos. O resultado está entre ``-" -"pi/2`` e ``pi/2``." +"Retorna o arco tangente de *x*, em radianos. O resultado está entre ``-pi/" +"2`` e ``pi/2``." #: ../../library/math.rst:465 msgid "" @@ -752,15 +745,15 @@ msgid "" "``pi``. The vector in the plane from the origin to point ``(x, y)`` makes " "this angle with the positive X axis. The point of :func:`atan2` is that the " "signs of both inputs are known to it, so it can compute the correct quadrant " -"for the angle. For example, ``atan(1)`` and ``atan2(1, 1)`` are both " -"``pi/4``, but ``atan2(-1, -1)`` is ``-3*pi/4``." +"for the angle. For example, ``atan(1)`` and ``atan2(1, 1)`` are both ``pi/" +"4``, but ``atan2(-1, -1)`` is ``-3*pi/4``." msgstr "" "Retorna ``atan(y / x)``, em radianos. O resultado está entre ``-pi`` e " "``pi``. O vetor no plano da origem ao ponto ``(x, y)`` faz este ângulo com o " "eixo X positivo. O ponto de :func:`atan2` é que os sinais de ambas as " "entradas são conhecidos por ele, então ele pode calcular o quadrante correto " -"para o ângulo. Por exemplo, ``atan(1)`` e ``atan2(1, 1)`` são ambos " -"``pi/4``, mas ``atan2(-1, -1)`` é ``-3*pi/4``." +"para o ângulo. Por exemplo, ``atan(1)`` e ``atan2(1, 1)`` são ambos ``pi/" +"4``, mas ``atan2(-1, -1)`` é ``-3*pi/4``." #: ../../library/math.rst:475 msgid "Return the cosine of *x* radians." @@ -889,12 +882,12 @@ msgstr "" #: ../../library/math.rst:579 msgid "" "The :func:`erf` function can be used to compute traditional statistical " -"functions such as the `cumulative standard normal distribution `_::" +"functions such as the `cumulative standard normal distribution `_::" msgstr "" -"A função :func:`erf` pode ser usada para computar funções estatísticas " -"tradicionais tal qual a `distribuição normal padrão cumulativa `_::" +"A função :func:`erf` pode ser usada para calcular funções estatísticas " +"tradicionais, como a `distribuição normal padrão cumulativa `_::" #: ../../library/math.rst:592 msgid "" @@ -952,8 +945,8 @@ msgstr "" #: ../../library/math.rst:643 msgid "" -"A floating-point positive infinity. (For negative infinity, use ``-math." -"inf``.) Equivalent to the output of ``float('inf')``." +"A floating-point positive infinity. (For negative infinity, use ``-" +"math.inf``.) Equivalent to the output of ``float('inf')``." msgstr "" "Um infinito positivo de ponto flutuante. (Para infinito negativo, use ``-" "math.inf``.) Equivalente à saída de ``float('inf')``." @@ -968,13 +961,13 @@ msgid "" "NaNs instead of ``is`` or ``==``. Example::" msgstr "" "Um ponto flutuante de valor \"not a number\" (NaN). Equivalente a saída do " -"``float('nan')``. Devido aos requisitos do padrão IEE-754 ``_, ``math.nan`` E ``float('nan')`` não são " +"``float('nan')``. Devido aos requisitos do padrão IEE-754 ``_, ``math.nan`` E ``float('nan')`` não são " "considerados iguais a qualquer outro valor númerico, incluindo eles mesmos. " "Para checar quando um numero é um NaN, usa-se a função :func:`isnan` ao " "invés de ``is`` ou ``==``. Exemplo::" -#: ../../library/math.rst:669 +#: ../../library/math.rst:671 msgid "It is now always available." msgstr "Agora está sempre disponível" @@ -982,15 +975,15 @@ msgstr "Agora está sempre disponível" msgid "" "The :mod:`math` module consists mostly of thin wrappers around the platform " "C math library functions. Behavior in exceptional cases follows Annex F of " -"the C99 standard where appropriate. The current implementation will raise :" -"exc:`ValueError` for invalid operations like ``sqrt(-1.0)`` or ``log(0.0)`` " -"(where C99 Annex F recommends signaling invalid operation or divide-by-" -"zero), and :exc:`OverflowError` for results that overflow (for example, " -"``exp(1000.0)``). A NaN will not be returned from any of the functions " -"above unless one or more of the input arguments was a NaN; in that case, " -"most functions will return a NaN, but (again following C99 Annex F) there " -"are some exceptions to this rule, for example ``pow(float('nan'), 0.0)`` or " -"``hypot(float('nan'), float('inf'))``." +"the C99 standard where appropriate. The current implementation will " +"raise :exc:`ValueError` for invalid operations like ``sqrt(-1.0)`` or " +"``log(0.0)`` (where C99 Annex F recommends signaling invalid operation or " +"divide-by-zero), and :exc:`OverflowError` for results that overflow (for " +"example, ``exp(1000.0)``). A NaN will not be returned from any of the " +"functions above unless one or more of the input arguments was a NaN; in that " +"case, most functions will return a NaN, but (again following C99 Annex F) " +"there are some exceptions to this rule, for example ``pow(float('nan'), " +"0.0)`` or ``hypot(float('nan'), float('inf'))``." msgstr "" "O módulo :mod:`math` consiste principalmente em invólucros finos em torno " "das funções da biblioteca matemática C da plataforma. O comportamento em " diff --git a/library/mimetypes.po b/library/mimetypes.po index 8cdb5ea55..7e74a2388 100644 --- a/library/mimetypes.po +++ b/library/mimetypes.po @@ -1,29 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Vinícius Muniz de Melo , 2021 -# Philippe Gonzaga , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Adorilson Bezerra , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Adorilson Bezerra , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -65,7 +62,7 @@ msgid "" msgstr "" "As funções descritas abaixo fornecem a interface principal para este módulo. " "Se o módulo não foi inicializado, eles chamarão :func:`init` se confiarem " -"nas informações :func:`init` configuradas." +"nas informações configuradas por :func:`init`." #: ../../library/mimetypes.rst:33 msgid "" @@ -84,15 +81,15 @@ msgid "" msgstr "" "O valor de retorno é uma tupla ``(type, encoding)`` onde o *tipo* é ``None`` " "se o tipo não puder ser ser adivinhado (sufixo ausente ou desconhecido) ou " -"uma string no formato ``'type/subtype'``, utilizável para um cabeçalho MIME :" -"mailheader:`content-type`." +"uma string no formato ``'type/subtype'``, utilizável para um cabeçalho " +"MIME :mailheader:`content-type`." #: ../../library/mimetypes.rst:40 msgid "" "*encoding* is ``None`` for no encoding or the name of the program used to " "encode (e.g. :program:`compress` or :program:`gzip`). The encoding is " -"suitable for use as a :mailheader:`Content-Encoding` header, **not** as a :" -"mailheader:`Content-Transfer-Encoding` header. The mappings are table " +"suitable for use as a :mailheader:`Content-Encoding` header, **not** as " +"a :mailheader:`Content-Transfer-Encoding` header. The mappings are table " "driven. Encoding suffixes are case sensitive; type suffixes are first tried " "case sensitively, then case insensitively." msgstr "" @@ -102,7 +99,7 @@ msgstr "" "Encoding` , **não** como cabeçalho :mailheader:`Content-Transfer-Encoding`. " "Os mapeamentos são orientados por tabela. Os sufixos de codificação " "diferenciam maiúsculas de minúsculas; os sufixos de tipo são testados " -"primeiro com maiúsculas e minúsculas e depois sem maiúsculas." +"primeiro considerando maiúsculas e minúsculas e depois sem considerar." #: ../../library/mimetypes.rst:47 msgid "" @@ -137,25 +134,25 @@ msgstr "" "pelo *tipo*. O valor de retorno é uma lista de cadeias que fornecem todas as " "extensões possíveis de nome de arquivo, incluindo o ponto (``'.'``). Não é " "garantido que as extensões tenham sido associadas a qualquer fluxo de dados " -"específico, mas seriam mapeadas para o tipo MIME *tipo* por :func:" -"`guess_type`." +"específico, mas seriam mapeadas para o tipo MIME *tipo* " +"por :func:`guess_type`." #: ../../library/mimetypes.rst:66 ../../library/mimetypes.rst:78 msgid "" -"The optional *strict* argument has the same meaning as with the :func:" -"`guess_type` function." +"The optional *strict* argument has the same meaning as with " +"the :func:`guess_type` function." msgstr "" -"O argumento opcional *strict* tem o mesmo significado que com a função :func:" -"`guess_type`." +"O argumento opcional *strict* tem o mesmo significado que usado com a " +"função :func:`guess_type`." #: ../../library/mimetypes.rst:71 msgid "" "Guess the extension for a file based on its MIME type, given by *type*. The " "return value is a string giving a filename extension, including the leading " "dot (``'.'``). The extension is not guaranteed to have been associated with " -"any particular data stream, but would be mapped to the MIME type *type* by :" -"func:`guess_type`. If no extension can be guessed for *type*, ``None`` is " -"returned." +"any particular data stream, but would be mapped to the MIME type *type* " +"by :func:`guess_type`. If no extension can be guessed for *type*, ``None`` " +"is returned." msgstr "" #: ../../library/mimetypes.rst:80 @@ -163,6 +160,8 @@ msgid "" "Some additional functions and data items are available for controlling the " "behavior of the module." msgstr "" +"Algumas funções e dados adicionais estão disponíveis para controlar o " +"comportamento do módulo." #: ../../library/mimetypes.rst:86 msgid "" @@ -173,6 +172,13 @@ msgid "" "*files* or :const:`knownfiles` takes precedence over those named before it. " "Calling :func:`init` repeatedly is allowed." msgstr "" +"Inicializa as estruturas de dados internas. Se fornecido, *files* deverá " +"ser uma sequência de nomes de arquivos que devem ser usados para aumentar o " +"mapa de tipos padrão. Se for omitido, os nomes de arquivos a serem usados " +"serão retirados de :const:`knownfiles`; no Windows, as configurações atuais " +"do registro são carregadas. Cada arquivo nomeado em *files* " +"ou :const:`knownfiles` tem precedência sobre os definidos anteriormente. É " +"permitido chamar :func:`init` repetidamente." #: ../../library/mimetypes.rst:93 msgid "" @@ -180,6 +186,9 @@ msgid "" "being applied: only the well-known values will be present from a built-in " "list." msgstr "" +"Especificar uma lista vazia para *files* impedirá que os padrões do sistema " +"sejam carregados: apenas os valores bem conhecidos estarão presentes em uma " +"lista interna." #: ../../library/mimetypes.rst:96 msgid "" @@ -187,10 +196,13 @@ msgid "" "its initial default value. This is a stable operation and will produce the " "same results when called multiple times." msgstr "" +"Se *files* for ``None``, a estrutura de dados interna será completamente " +"reconstruída com seu valor inicial padrão. Essa é uma operação estável e " +"produzirá os mesmos resultados quando chamada várias vezes." #: ../../library/mimetypes.rst:100 msgid "Previously, Windows registry settings were ignored." -msgstr "" +msgstr "Anteriormente, as configurações do registro do Windows eram ignoradas." #: ../../library/mimetypes.rst:106 msgid "" @@ -199,6 +211,11 @@ msgid "" "leading dot (``'.'``), to strings of the form ``'type/subtype'``. If the " "file *filename* does not exist or cannot be read, ``None`` is returned." msgstr "" +"Carregue o mapa de tipos fornecido no arquivo *filename*, se existir. O mapa " +"de tipos é retornado como um dicionário que faz o mapeamento de extensões de " +"nome de arquivo, incluindo o ponto inicial (``'.'``), para strings no " +"formato ``'tipo/subtipo'``. Se o arquivo *filename* não existir ou não puder " +"ser lido, ``None`` é retornado." #: ../../library/mimetypes.rst:114 msgid "" @@ -207,18 +224,25 @@ msgid "" "type is already known the extension will be added to the list of known " "extensions." msgstr "" +"Adiciona um mapeamento do tipo MIME *type* para a extensão *ext*. Quando a " +"extensão já for conhecida, o novo tipo substituirá o antigo. Quando o tipo " +"já for conhecido, a extensão será adicionada à lista de extensões conhecidas." #: ../../library/mimetypes.rst:118 msgid "" "When *strict* is ``True`` (the default), the mapping will be added to the " "official MIME types, otherwise to the non-standard ones." msgstr "" +"Quando *strict* for ``True`` (o padrão), o mapeamento será adicionado aos " +"tipos MIME oficiais, caso contrário, aos não-padrão." #: ../../library/mimetypes.rst:124 msgid "" "Flag indicating whether or not the global data structures have been " "initialized. This is set to ``True`` by :func:`init`." msgstr "" +"Sinalizador indicando se as estruturas de dados globais foram inicializadas " +"ou não. Isso é definido para ``True`` por :func:`init`." #: ../../library/mimetypes.rst:132 msgid "" @@ -226,32 +250,45 @@ msgid "" "named :file:`mime.types` and are installed in different locations by " "different packages." msgstr "" +"Lista de nomes de arquivos de mapas de tipos comumente instalados. Esses " +"arquivos são normalmente nomeado como :file:`mime.types` e são instalados em " +"diferentes locais por diferentes pacote." #: ../../library/mimetypes.rst:139 msgid "" "Dictionary mapping suffixes to suffixes. This is used to allow recognition " "of encoded files for which the encoding and the type are indicated by the " -"same extension. For example, the :file:`.tgz` extension is mapped to :file:" -"`.tar.gz` to allow the encoding and type to be recognized separately." +"same extension. For example, the :file:`.tgz` extension is mapped " +"to :file:`.tar.gz` to allow the encoding and type to be recognized " +"separately." msgstr "" +"Dicionário mapeando sufixos para sufixos. Isso é usado para permitir o " +"reconhecimento de arquivos codificados para os quais a codificação e o tipo " +"são indicados pela mesma extensão. Por exemplo, em um arquivo codificado, a " +"extensão :file:`.tgz` é mapeada para :file:`.tar.gz` para permitir que a " +"codificação e o tipo sejam reconhecidos separadamente." #: ../../library/mimetypes.rst:147 msgid "Dictionary mapping filename extensions to encoding types." msgstr "" +"Dicionário mapeando extensões de nome de arquivo para os tipos de " +"codificação." #: ../../library/mimetypes.rst:152 msgid "Dictionary mapping filename extensions to MIME types." -msgstr "" +msgstr "Dicionário mapeando extensões de nome do arquivo para tipos MIME." #: ../../library/mimetypes.rst:157 msgid "" "Dictionary mapping filename extensions to non-standard, but commonly found " "MIME types." msgstr "" +"Dicionário mapeando extensões de nome de arquivo para tipos MIME não " +"padronizados, mas comumente encontrados." #: ../../library/mimetypes.rst:161 msgid "An example usage of the module::" -msgstr "" +msgstr "Um exemplo de uso do módulo:" #: ../../library/mimetypes.rst:178 msgid "MimeTypes Objects" @@ -263,37 +300,60 @@ msgid "" "more than one MIME-type database; it provides an interface similar to the " "one of the :mod:`mimetypes` module." msgstr "" +"A classe :class:`MimeTypes` pode ser útil para aplicações que podem querer " +"mais de um banco de dados do tipo MIME; ela fornece uma interface semelhante " +"à do módulo :mod:`mimetypes`." #: ../../library/mimetypes.rst:187 msgid "" "This class represents a MIME-types database. By default, it provides access " "to the same database as the rest of this module. The initial database is a " "copy of that provided by the module, and may be extended by loading " -"additional :file:`mime.types`\\ -style files into the database using the :" -"meth:`read` or :meth:`readfp` methods. The mapping dictionaries may also be " -"cleared before loading additional data if the default data is not desired." -msgstr "" +"additional :file:`mime.types`\\ -style files into the database using " +"the :meth:`read` or :meth:`readfp` methods. The mapping dictionaries may " +"also be cleared before loading additional data if the default data is not " +"desired." +msgstr "" +"Esta classe representa um banco de dados de tipos MIME. Por padrão, ela " +"fornece acesso ao mesmo banco de dados do restante deste módulo. O banco de " +"dados inicial é uma cópia daquele fornecido pelo módulo e pode ser estendido " +"ao carregar arquivos adicionais no formato :file:`mime.types` no banco de " +"dados, usando os métodos :meth:`read` ou :meth:`readfp`. Os dicionários de " +"mapeamento também podem ser limpos antes de carregar dados adicionais, caso " +"os dados padrão não sejam desejados." #: ../../library/mimetypes.rst:194 msgid "" "The optional *filenames* parameter can be used to cause additional files to " "be loaded \"on top\" of the default database." msgstr "" +"O parâmetro opcional *filenames* pode ser usado para carregar arquivos " +"adicionais \"em cima\" do banco de dados padrão." #: ../../library/mimetypes.rst:200 msgid "" "Dictionary mapping suffixes to suffixes. This is used to allow recognition " "of encoded files for which the encoding and the type are indicated by the " -"same extension. For example, the :file:`.tgz` extension is mapped to :file:" -"`.tar.gz` to allow the encoding and type to be recognized separately. This " -"is initially a copy of the global :data:`suffix_map` defined in the module." -msgstr "" +"same extension. For example, the :file:`.tgz` extension is mapped " +"to :file:`.tar.gz` to allow the encoding and type to be recognized " +"separately. This is initially a copy of the global :data:`suffix_map` " +"defined in the module." +msgstr "" +"Dicionário mapeando sufixo para sufixo. Isso é usado para permitir o " +"reconhecimento de arquivos codificados para os quais a codificação e o tipo " +"são indicados pela mesma extensão. Por exemplo, a extensão :file:`.tgz` é " +"mapeada para :file:`.tar.gz` para permitir que a codificação e o tipo sejam " +"reconhecidos separadamente. Inicialmente, isso é uma cópia " +"do :data:`suffix_map` global definido no módulo." #: ../../library/mimetypes.rst:209 msgid "" "Dictionary mapping filename extensions to encoding types. This is initially " "a copy of the global :data:`encodings_map` defined in the module." msgstr "" +"Dicionário mapeando extensões de nome de arquivo para os tipos codificados. " +"Inicialmente, isso é uma cópia do :data:`encodings_map` global definido no " +"módulo." #: ../../library/mimetypes.rst:215 msgid "" @@ -302,51 +362,69 @@ msgid "" "one is for the standard types. They are initialized by :data:`common_types` " "and :data:`types_map`." msgstr "" +"Tupla contendo dois dicionários, mapeando extensões de nomes de arquivo para " +"tipos MIME: o primeiro dicionário é para tipos não padrão e o segundo, para " +"tipos padrão. Eles são inicializados por :data:`common_types` " +"e :data:`types_map`." #: ../../library/mimetypes.rst:223 msgid "" "Tuple containing two dictionaries, mapping MIME types to a list of filename " "extensions: the first dictionary is for the non-standards types and the " -"second one is for the standard types. They are initialized by :data:" -"`common_types` and :data:`types_map`." +"second one is for the standard types. They are initialized " +"by :data:`common_types` and :data:`types_map`." msgstr "" +"Tupla contendo dois dicionários, mapeando tipos MIM para uma lista de " +"extensões de nomes de arquivo: o primeiro dicionário é para os tipos não " +"padrão e o segundo é para os tipos padrão. Eles são inicializados " +"por :data:`common_types` e :data:`types_map`." #: ../../library/mimetypes.rst:231 msgid "" "Similar to the :func:`guess_extension` function, using the tables stored as " "part of the object." msgstr "" +"Similar à função :func:`guess_extension`, usando as tabelas armazenadas como " +"parte do objeto." #: ../../library/mimetypes.rst:237 msgid "" "Similar to the :func:`guess_type` function, using the tables stored as part " "of the object." msgstr "" +"Similar à função :func:`guess_type`, usando as tabelas armazenadas como " +"parte do objeto." #: ../../library/mimetypes.rst:243 msgid "" "Similar to the :func:`guess_all_extensions` function, using the tables " "stored as part of the object." msgstr "" +"Similar à função :func:`guess_all_extensions`, usando as tabelas armazenadas " +"como parte do objeto." #: ../../library/mimetypes.rst:249 msgid "" -"Load MIME information from a file named *filename*. This uses :meth:" -"`readfp` to parse the file." +"Load MIME information from a file named *filename*. This " +"uses :meth:`readfp` to parse the file." msgstr "" +"Carrega as informações do tipo MIME de um arquivo chamado *filename*. " +"Usa :meth:`readfp` para analisar o arquivo." #: ../../library/mimetypes.rst:252 msgid "" "If *strict* is ``True``, information will be added to list of standard " "types, else to the list of non-standard types." msgstr "" +"Se *strict* for ``True``, as informações serão adicionadas à lista de tipos " +"padrão, caso contrário, à lista de tipos não padrão." #: ../../library/mimetypes.rst:258 msgid "" "Load MIME type information from an open file *fp*. The file must have the " "format of the standard :file:`mime.types` files." msgstr "" -"Carrega informações do tipo MIME de um arquivo aberto *fp*. O arquivo " +"Carrega as informações do tipo MIME de um arquivo aberto *fp*. O arquivo " "precisa estar no formato padrão dos arquivos :file:`mime.types`." #: ../../library/mimetypes.rst:261 ../../library/mimetypes.rst:271 @@ -354,10 +432,12 @@ msgid "" "If *strict* is ``True``, information will be added to the list of standard " "types, else to the list of non-standard types." msgstr "" +"Se *strict* for ``True``, as informações serão adicionadas à lista de tipos " +"padrão, caso contrário, à lista de tipos não padrão." #: ../../library/mimetypes.rst:267 msgid "Load MIME type information from the Windows registry." -msgstr "Carrega informações do tipo MIME a partir do registro do Windows." +msgstr "Carrega as informações do tipo MIME a partir do registro do Windows." #: ../../library/mimetypes.rst:269 msgid ":ref:`Availability `: Windows." @@ -365,15 +445,15 @@ msgstr ":ref:`Disponibilidade `: Windows." #: ../../library/mimetypes.rst:11 ../../library/mimetypes.rst:31 msgid "MIME" -msgstr "" +msgstr "MIME" #: ../../library/mimetypes.rst:11 msgid "content type" -msgstr "" +msgstr "tipo de conteúdo" #: ../../library/mimetypes.rst:31 msgid "headers" -msgstr "" +msgstr "cabeçalhos" #: ../../library/mimetypes.rst:130 msgid "file" @@ -381,4 +461,4 @@ msgstr "arquivo" #: ../../library/mimetypes.rst:130 msgid "mime.types" -msgstr "" +msgstr "mime.types" diff --git a/library/misc.po b/library/misc.po deleted file mode 100644 index 6d1ccbe30..000000000 --- a/library/misc.po +++ /dev/null @@ -1,36 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Claudio Rogerio Carvalho Filho , 2017 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.9\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-01-01 05:02+0000\n" -"PO-Revision-Date: 2017-02-16 23:18+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2017\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" -"teams/5390/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: ../../library/misc.rst:5 -msgid "Miscellaneous Services" -msgstr "Serviços Diversos" - -#: ../../library/misc.rst:7 -msgid "" -"The modules described in this chapter provide miscellaneous services that " -"are available in all Python versions. Here's an overview:" -msgstr "" -"Os módulos descritos neste capítulo fornecem diversos serviços que estão " -"disponíveis em todas as versões do Python. Aqui temos uma visão geral:" diff --git a/library/mm.po b/library/mm.po index 666cc1ebc..b29ddefd4 100644 --- a/library/mm.po +++ b/library/mm.po @@ -1,26 +1,25 @@ # 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: -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/mmap.po b/library/mmap.po index b9cfd1771..da74f548b 100644 --- a/library/mmap.po +++ b/library/mmap.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -44,14 +43,14 @@ msgstr "" #: ../../library/mmap.rst:11 msgid "" -"Memory-mapped file objects behave like both :class:`bytearray` and like :" -"term:`file objects `. You can use mmap objects in most places " -"where :class:`bytearray` are expected; for example, you can use the :mod:" -"`re` module to search through a memory-mapped file. You can also change a " -"single byte by doing ``obj[index] = 97``, or change a subsequence by " -"assigning to a slice: ``obj[i1:i2] = b'...'``. You can also read and write " -"data starting at the current file position, and :meth:`seek` through the " -"file to different positions." +"Memory-mapped file objects behave like both :class:`bytearray` and " +"like :term:`file objects `. You can use mmap objects in most " +"places where :class:`bytearray` are expected; for example, you can use " +"the :mod:`re` module to search through a memory-mapped file. You can also " +"change a single byte by doing ``obj[index] = 97``, or change a subsequence " +"by assigning to a slice: ``obj[i1:i2] = b'...'``. You can also read and " +"write data starting at the current file position, and :meth:`seek` through " +"the file to different positions." msgstr "" "Objetos arquivo mapeados na memória se comportam como :class:`bytearray` e " "como :term:`objetos arquivo `. Você pode usar objetos mmap na " @@ -59,26 +58,27 @@ msgstr "" "pode usar o módulo :mod:`re` para pesquisar um arquivo mapeado na memória. " "Você também pode alterar um único byte executando ``obj[index] = 97`` ou " "alterar uma subsequência atribuindo a uma fatia: ``obj[i1:i2] = b'...'``. " -"Você também pode ler e gravar dados começando na posição atual do arquivo e :" -"meth:`seek` através do arquivo para diferentes posições." +"Você também pode ler e gravar dados começando na posição atual do arquivo " +"e :meth:`seek` através do arquivo para diferentes posições." #: ../../library/mmap.rst:19 msgid "" "A memory-mapped file is created by the :class:`~mmap.mmap` constructor, " "which is different on Unix and on Windows. In either case you must provide " "a file descriptor for a file opened for update. If you wish to map an " -"existing Python file object, use its :meth:`fileno` method to obtain the " -"correct value for the *fileno* parameter. Otherwise, you can open the file " -"using the :func:`os.open` function, which returns a file descriptor directly " -"(the file still needs to be closed when done)." +"existing Python file object, use its :meth:`~io.IOBase.fileno` method to " +"obtain the correct value for the *fileno* parameter. Otherwise, you can " +"open the file using the :func:`os.open` function, which returns a file " +"descriptor directly (the file still needs to be closed when done)." msgstr "" "Um arquivo mapeado na memória é criado pelo construtor :class:`~mmap.mmap`, " "que é diferente no Unix e no Windows. Nos dois casos, você deve fornecer um " "descritor de arquivo para um arquivo aberto para atualização. Se você deseja " -"mapear um objeto arquivo Python existente, use o método :meth:`fileno` para " -"obter o valor correto para o parâmetro *fileno*. Caso contrário, você pode " -"abrir o arquivo usando a função :func:`os.open`, que retorna um descritor de " -"arquivo diretamente (o arquivo ainda precisa ser fechado quando terminar)." +"mapear um objeto arquivo Python existente, use o " +"método :meth:`~io.IOBase.fileno` para obter o valor correto para o parâmetro " +"*fileno*. Caso contrário, você pode abrir o arquivo usando a " +"função :func:`os.open`, que retorna um descritor de arquivo diretamente (o " +"arquivo ainda precisa ser fechado quando terminar)." #: ../../library/mmap.rst:28 msgid "" @@ -102,10 +102,10 @@ msgid "" "Unix and Windows. If *access* is not specified, Windows mmap returns a " "write-through mapping. The initial memory values for all three access types " "are taken from the specified file. Assignment to an :const:`ACCESS_READ` " -"memory map raises a :exc:`TypeError` exception. Assignment to an :const:" -"`ACCESS_WRITE` memory map affects both memory and the underlying file. " -"Assignment to an :const:`ACCESS_COPY` memory map affects memory but does not " -"update the underlying file." +"memory map raises a :exc:`TypeError` exception. Assignment to " +"an :const:`ACCESS_WRITE` memory map affects both memory and the underlying " +"file. Assignment to an :const:`ACCESS_COPY` memory map affects memory but " +"does not update the underlying file." msgstr "" "Para as versões Unix e Windows do construtor, *access* pode ser especificado " "como um parâmetro opcional de palavra-chave. *access* aceita um dos quatro " @@ -116,10 +116,10 @@ msgstr "" "mmap do Windows retornará um mapeamento de gravação. Os valores iniciais da " "memória para todos os três tipos de acesso são obtidos do arquivo " "especificado. A atribuição a um mapa de memória :const:`ACCESS_READ` gera " -"uma exceção :exc:`TypeError`. A atribuição a um mapa de memória :const:" -"`ACCESS_WRITE` afeta a memória e o arquivo subjacente. A atribuição a um " -"mapa de memória :const:`ACCESS_COPY` afeta a memória, mas não atualiza o " -"arquivo subjacente." +"uma exceção :exc:`TypeError`. A atribuição a um mapa de " +"memória :const:`ACCESS_WRITE` afeta a memória e o arquivo subjacente. A " +"atribuição a um mapa de memória :const:`ACCESS_COPY` afeta a memória, mas " +"não atualiza o arquivo subjacente." #: ../../library/mmap.rst:46 msgid "Added :const:`ACCESS_DEFAULT` constant." @@ -156,38 +156,48 @@ msgid "" "same file. If you specify the name of an existing tag, that tag is opened, " "otherwise a new tag of this name is created. If this parameter is omitted " "or ``None``, the mapping is created without a name. Avoiding the use of the " -"tag parameter will assist in keeping your code portable between Unix and " -"Windows." +"*tagname* parameter will assist in keeping your code portable between Unix " +"and Windows." msgstr "" "*tagname*, se especificado e não ``None``, é uma string que fornece um nome " "de tag para o mapeamento. O Windows permite que você tenha muitos " "mapeamentos diferentes no mesmo arquivo. Se você especificar o nome de uma " "marca existente, essa marca será aberta; caso contrário, uma nova marca com " "esse nome será criada. Se este parâmetro for omitido ou ``None``, o " -"mapeamento será criado sem um nome. Evitar o uso do parâmetro tag ajudará a " -"manter seu código portátil entre o Unix e o Windows." +"mapeamento será criado sem um nome. Evitar o uso do parâmetro *tagname* " +"ajudará a manter seu código portátil entre o Unix e o Windows." #: ../../library/mmap.rst:68 msgid "" "*offset* may be specified as a non-negative integer offset. mmap references " "will be relative to the offset from the beginning of the file. *offset* " -"defaults to 0. *offset* must be a multiple of the :const:" -"`ALLOCATIONGRANULARITY`." +"defaults to 0. *offset* must be a multiple of " +"the :const:`ALLOCATIONGRANULARITY`." msgstr "" +"*offset* pode ser especificado como um deslocamento inteiro não negativo. As " +"referências mmap serão relativas ao deslocamento do início do arquivo. " +"*offset* tem como padrão 0. *offset* deve ser um múltiplo " +"de :const:`ALLOCATIONGRANULARITY`." -#: ../../library/mmap.rst:81 ../../library/mmap.rst:172 +#: ../../library/mmap.rst:83 ../../library/mmap.rst:174 msgid "" "Raises an :ref:`auditing event ` ``mmap.__new__`` with arguments " "``fileno``, ``length``, ``access``, ``offset``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``mmap.__new__`` com os " +"argumentos ``fileno``, ``length``, ``access``, ``offset``." #: ../../library/mmap.rst:77 msgid "" "**(Unix version)** Maps *length* bytes from the file specified by the file " "descriptor *fileno*, and returns a mmap object. If *length* is ``0``, the " -"maximum length of the map will be the current size of the file when :class:" -"`~mmap.mmap` is called." +"maximum length of the map will be the current size of the file " +"when :class:`~mmap.mmap` is called." msgstr "" +"**(Versão Unix)** Mapeia *length* bytes do arquivo especificado pelo " +"descritor de arquivo *fileno* e retorna um objeto mmap. Se *length* for " +"``0``, o comprimento máximo do mapa será o tamanho atual do arquivo " +"quando :class:`~mmap.mmap` for chamado." #: ../../library/mmap.rst:82 msgid "" @@ -199,6 +209,13 @@ msgid "" "possible flags with the full list specified in :ref:`MAP_* constants `." msgstr "" +"*flags* especifica a natureza do mapeamento. :const:`MAP_PRIVATE` cria um " +"mapeamento privado de cópia na gravação, de modo que alterações no conteúdo " +"do objeto mmap serão privadas para este processo, e :const:`MAP_SHARED` cria " +"um mapeamento compartilhado com todos os outros processos que mapeiam as " +"mesmas áreas do arquivo. O valor padrão é :const:`MAP_SHARED`. Alguns " +"sistemas têm sinalizadores adicionais possíveis, com a lista completa " +"especificada em :ref:`constantes MAP_* `." #: ../../library/mmap.rst:90 msgid "" @@ -207,6 +224,10 @@ msgid "" "that the pages may be read or written. *prot* defaults to :const:`PROT_READ " "\\| PROT_WRITE`." msgstr "" +"*prot*, se especificado, fornece a proteção de memória desejada; os dois " +"valores mais úteis são :const:`PROT_READ` e :const:`PROT_WRITE`, para " +"especificar que as páginas podem ser lidas ou gravadas. *prot* tem como " +"padrão :const:`PROT_READ \\| PROT_WRITE`." #: ../../library/mmap.rst:95 msgid "" @@ -215,6 +236,10 @@ msgid "" "*access*. See the description of *access* above for information on how to " "use this parameter." msgstr "" +"*access* pode ser especificado em vez de *flags* e *prot* como um parâmetro " +"nomeado opcional. É um erro especificar *flags*, *prot* e *access*. Consulte " +"a descrição de *access* acima para obter informações sobre como usar este " +"parâmetro." #: ../../library/mmap.rst:100 msgid "" @@ -223,6 +248,11 @@ msgid "" "defaults to 0. *offset* must be a multiple of :const:`ALLOCATIONGRANULARITY` " "which is equal to :const:`PAGESIZE` on Unix systems." msgstr "" +"*offset* pode ser especificado como um deslocamento inteiro não negativo. As " +"referências mmap serão relativas ao deslocamento do início do arquivo. " +"*offset* tem como padrão 0. *offset* deve ser um múltiplo " +"de :const:`ALLOCATIONGRANULARITY`, que é igual a :const:`PAGESIZE` em " +"sistemas Unix." #: ../../library/mmap.rst:105 msgid "" @@ -230,6 +260,9 @@ msgid "" "descriptor *fileno* is internally automatically synchronized with the " "physical backing store on macOS." msgstr "" +"Para garantir a validade do mapeamento de memória criado, o arquivo " +"especificado pelo descritor *fileno* é sincronizado internamente de forma " +"automática com o armazenamento de suporte físico no macOS." #: ../../library/mmap.rst:109 msgid "This example shows a simple way of using :class:`~mmap.mmap`::" @@ -237,8 +270,8 @@ msgstr "" #: ../../library/mmap.rst:134 msgid "" -":class:`~mmap.mmap` can also be used as a context manager in a :keyword:" -"`with` statement::" +":class:`~mmap.mmap` can also be used as a context manager in " +"a :keyword:`with` statement::" msgstr "" #: ../../library/mmap.rst:142 @@ -284,8 +317,8 @@ msgid "" "use of this call there is no guarantee that changes are written back before " "the object is destroyed. If *offset* and *size* are specified, only changes " "to the given range of bytes will be flushed to disk; otherwise, the whole " -"extent of the mapping is flushed. *offset* must be a multiple of the :const:" -"`PAGESIZE` or :const:`ALLOCATIONGRANULARITY`." +"extent of the mapping is flushed. *offset* must be a multiple of " +"the :const:`PAGESIZE` or :const:`ALLOCATIONGRANULARITY`." msgstr "" #: ../../library/mmap.rst:201 @@ -304,10 +337,11 @@ msgstr "" #: ../../library/mmap.rst:212 msgid "" "Send advice *option* to the kernel about the memory region beginning at " -"*start* and extending *length* bytes. *option* must be one of the :ref:" -"`MADV_* constants ` available on the system. If *start* " -"and *length* are omitted, the entire mapping is spanned. On some systems " -"(including Linux), *start* must be a multiple of the :const:`PAGESIZE`." +"*start* and extending *length* bytes. *option* must be one of " +"the :ref:`MADV_* constants ` available on the system. If " +"*start* and *length* are omitted, the entire mapping is spanned. On some " +"systems (including Linux), *start* must be a multiple of " +"the :const:`PAGESIZE`." msgstr "" #: ../../library/mmap.rst:219 @@ -379,8 +413,8 @@ msgstr "" msgid "" "Set the file's current position. *whence* argument is optional and defaults " "to ``os.SEEK_SET`` or ``0`` (absolute file positioning); other values are " -"``os.SEEK_CUR`` or ``1`` (seek relative to the current position) and ``os." -"SEEK_END`` or ``2`` (seek relative to the file's end)." +"``os.SEEK_CUR`` or ``1`` (seek relative to the current position) and " +"``os.SEEK_END`` or ``2`` (seek relative to the file's end)." msgstr "" #: ../../library/mmap.rst:291 diff --git a/library/modulefinder.po b/library/modulefinder.po index 3ba0dc2ee..c6b871502 100644 --- a/library/modulefinder.po +++ b/library/modulefinder.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,10 +39,10 @@ msgid "" "argument, after which a report of the imported modules will be printed." msgstr "" "Este módulo fornece uma classe :class:`ModuleFinder` que pode ser usada para " -"determinar o conjunto de módulos importados por um script. O ``modulefinder." -"py`` também pode ser executado como um script, fornecendo o nome do arquivo " -"de um script Python como seu argumento, após o qual um relatório dos módulos " -"importados será impresso." +"determinar o conjunto de módulos importados por um script. O " +"``modulefinder.py`` também pode ser executado como um script, fornecendo o " +"nome do arquivo de um script Python como seu argumento, após o qual um " +"relatório dos módulos importados será impresso." #: ../../library/modulefinder.rst:21 msgid "" @@ -100,8 +100,8 @@ msgid "" "A dictionary mapping module names to modules. See :ref:`modulefinder-" "example`." msgstr "" -"Um nome de módulo de mapeamento de dicionário para módulos. Veja :ref:" -"`modulefinder-example`." +"Um nome de módulo de mapeamento de dicionário para módulos. " +"Veja :ref:`modulefinder-example`." #: ../../library/modulefinder.rst:61 msgid "Example usage of :class:`ModuleFinder`" diff --git a/library/modules.po b/library/modules.po index f4211f5c0..82e950759 100644 --- a/library/modules.po +++ b/library/modules.po @@ -1,27 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/msilib.po b/library/msilib.po index 0e02a4b61..0ca6398c8 100644 --- a/library/msilib.po +++ b/library/msilib.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Risaffi , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -44,9 +40,9 @@ msgstr "" #: ../../library/msilib.rst:22 msgid "" "The :mod:`msilib` supports the creation of Microsoft Installer (``.msi``) " -"files. Because these files often contain an embedded \"cabinet\" file (``." -"cab``), it also exposes an API to create CAB files. Support for reading ``." -"cab`` files is currently not implemented; read support for the ``.msi`` " +"files. Because these files often contain an embedded \"cabinet\" file " +"(``.cab``), it also exposes an API to create CAB files. Support for reading " +"``.cab`` files is currently not implemented; read support for the ``.msi`` " "database is possible." msgstr "" @@ -152,8 +148,8 @@ msgstr "" #: ../../library/msilib.rst:104 msgid "" -"Represents entries in the Binary table; inserting such an object using :func:" -"`add_data` reads the file named *filename* into the table." +"Represents entries in the Binary table; inserting such an object " +"using :func:`add_data` reads the file named *filename* into the table." msgstr "" #: ../../library/msilib.rst:110 @@ -199,14 +195,15 @@ msgstr "" #: ../../library/msilib.rst:149 msgid "" -"Commit the changes pending in the current transaction, by calling :c:func:" -"`MSIDatabaseCommit`." +"Commit the changes pending in the current transaction, by " +"calling :c:func:`MSIDatabaseCommit`." msgstr "" #: ../../library/msilib.rst:155 msgid "" -"Return a new summary information object, by calling :c:func:" -"`MsiGetSummaryInformation`. *count* is the maximum number of updated values." +"Return a new summary information object, by " +"calling :c:func:`MsiGetSummaryInformation`. *count* is the maximum number " +"of updated values." msgstr "" #: ../../library/msilib.rst:161 @@ -236,9 +233,9 @@ msgstr "" #: ../../library/msilib.rst:187 msgid "" -"Return a record describing the columns of the view, through calling :c:func:" -"`MsiViewGetColumnInfo`. *kind* can be either ``MSICOLINFO_NAMES`` or " -"``MSICOLINFO_TYPES``." +"Return a record describing the columns of the view, through " +"calling :c:func:`MsiViewGetColumnInfo`. *kind* can be either " +"``MSICOLINFO_NAMES`` or ``MSICOLINFO_TYPES``." msgstr "" #: ../../library/msilib.rst:194 @@ -268,11 +265,11 @@ msgstr "" msgid "" "`MsiViewExecute `_ `MSIViewGetColumnInfo `_ `MsiViewFetch `_ `MsiViewModify " -"`_ " -"`MsiViewClose `_" +"library/windows/desktop/aa370516.aspx>`_ `MsiViewFetch `_ " +"`MsiViewModify `_ `MsiViewClose `_" msgstr "" #: ../../library/msilib.rst:225 @@ -281,19 +278,20 @@ msgstr "" #: ../../library/msilib.rst:230 msgid "" -"Return a property of the summary, through :c:func:" -"`MsiSummaryInfoGetProperty`. *field* is the name of the property, and can be " -"one of the constants ``PID_CODEPAGE``, ``PID_TITLE``, ``PID_SUBJECT``, " -"``PID_AUTHOR``, ``PID_KEYWORDS``, ``PID_COMMENTS``, ``PID_TEMPLATE``, " -"``PID_LASTAUTHOR``, ``PID_REVNUMBER``, ``PID_LASTPRINTED``, " -"``PID_CREATE_DTM``, ``PID_LASTSAVE_DTM``, ``PID_PAGECOUNT``, " -"``PID_WORDCOUNT``, ``PID_CHARCOUNT``, ``PID_APPNAME``, or ``PID_SECURITY``." +"Return a property of the summary, " +"through :c:func:`MsiSummaryInfoGetProperty`. *field* is the name of the " +"property, and can be one of the constants ``PID_CODEPAGE``, ``PID_TITLE``, " +"``PID_SUBJECT``, ``PID_AUTHOR``, ``PID_KEYWORDS``, ``PID_COMMENTS``, " +"``PID_TEMPLATE``, ``PID_LASTAUTHOR``, ``PID_REVNUMBER``, " +"``PID_LASTPRINTED``, ``PID_CREATE_DTM``, ``PID_LASTSAVE_DTM``, " +"``PID_PAGECOUNT``, ``PID_WORDCOUNT``, ``PID_CHARCOUNT``, ``PID_APPNAME``, or " +"``PID_SECURITY``." msgstr "" #: ../../library/msilib.rst:241 msgid "" -"Return the number of summary properties, through :c:func:" -"`MsiSummaryInfoGetPropertyCount`." +"Return the number of summary properties, " +"through :c:func:`MsiSummaryInfoGetPropertyCount`." msgstr "" #: ../../library/msilib.rst:247 @@ -305,15 +303,15 @@ msgstr "" #: ../../library/msilib.rst:254 msgid "" -"Write the modified properties to the summary information stream, using :c:" -"func:`MsiSummaryInfoPersist`." +"Write the modified properties to the summary information stream, " +"using :c:func:`MsiSummaryInfoPersist`." msgstr "" #: ../../library/msilib.rst:260 msgid "" "`MsiSummaryInfoGetProperty `_ `MsiSummaryInfoGetPropertyCount `_ " +"desktop/aa370409.aspx>`_ `MsiSummaryInfoGetPropertyCount `_ " "`MsiSummaryInfoSetProperty `_ `MsiSummaryInfoPersist `_" @@ -325,8 +323,8 @@ msgstr "" #: ../../library/msilib.rst:273 msgid "" -"Return the number of fields of the record, through :c:func:" -"`MsiRecordGetFieldCount`." +"Return the number of fields of the record, " +"through :c:func:`MsiRecordGetFieldCount`." msgstr "" #: ../../library/msilib.rst:279 @@ -349,8 +347,9 @@ msgstr "" #: ../../library/msilib.rst:297 msgid "" -"Set *field* to the contents of the file named *value*, through :c:func:" -"`MsiRecordSetStream`. *field* must be an integer; *value* a string." +"Set *field* to the contents of the file named *value*, " +"through :c:func:`MsiRecordSetStream`. *field* must be an integer; *value* a " +"string." msgstr "" #: ../../library/msilib.rst:303 @@ -468,9 +467,10 @@ msgstr "" msgid "" "`Directory Table `_ `File Table `_ `Component Table `_ `FeatureComponents Table " -"`_" +"windows/desktop/aa368596.aspx>`_ `Component Table `_ " +"`FeatureComponents Table `_" msgstr "" #: ../../library/msilib.rst:418 @@ -479,10 +479,10 @@ msgstr "Recursos" #: ../../library/msilib.rst:423 msgid "" -"Add a new record to the ``Feature`` table, using the values *id*, *parent." -"id*, *title*, *desc*, *display*, *level*, *directory*, and *attributes*. The " -"resulting feature object can be passed to the :meth:`start_component` method " -"of :class:`Directory`." +"Add a new record to the ``Feature`` table, using the values *id*, " +"*parent.id*, *title*, *desc*, *display*, *level*, *directory*, and " +"*attributes*. The resulting feature object can be passed to " +"the :meth:`start_component` method of :class:`Directory`." msgstr "" #: ../../library/msilib.rst:431 @@ -591,8 +591,8 @@ msgid "" "`_ " "`ControlEvent Table `_ `EventMapping Table `_ `RadioButton Table `_" +"us/library/windows/desktop/aa368559.aspx>`_ `RadioButton Table `_" msgstr "" #: ../../library/msilib.rst:542 diff --git a/library/msvcrt.po b/library/msvcrt.po index 232b7dee3..38e1d4383 100644 --- a/library/msvcrt.po +++ b/library/msvcrt.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -36,8 +36,8 @@ msgid "" msgstr "" "Essas funções fornecem acesso a alguns recursos úteis nas plataformas " "Windows. Alguns módulos de nível superior usam essas funções para criar as " -"implementações do Windows de seus serviços. Por exemplo, o módulo :mod:" -"`getpass` usa isso na implementação da função :func:`getpass`." +"implementações do Windows de seus serviços. Por exemplo, o " +"módulo :mod:`getpass` usa isso na implementação da função :func:`getpass`." #: ../../library/msvcrt.rst:17 msgid "" @@ -76,7 +76,7 @@ msgid "" "Lock part of a file based on file descriptor *fd* from the C runtime. " "Raises :exc:`OSError` on failure. The locked region of the file extends " "from the current file position for *nbytes* bytes, and may continue beyond " -"the end of the file. *mode* must be one of the :const:`LK_\\*` constants " +"the end of the file. *mode* must be one of the :const:`!LK_\\*` constants " "listed below. Multiple regions in a file may be locked at the same time, but " "may not overlap. Adjacent regions are not merged; they must be unlocked " "individually." @@ -84,17 +84,17 @@ msgstr "" "Bloqueia parte de um arquivo com base no descritor de arquivo *fd* no tempo " "de execução C. Levanta :exc:`OSError` em falha. A região bloqueada do " "arquivo se estende da posição atual do arquivo para *nbytes* bytes e pode " -"continuar além do final do arquivo. *mode* deve ser uma das constantes :" -"const:`LK_\\*` listadas abaixo. Várias regiões em um arquivo podem estar " -"bloqueadas ao mesmo tempo, mas não podem se sobrepor. Regiões adjacentes não " -"são mescladas; eles devem ser desbloqueados individualmente." +"continuar além do final do arquivo. *mode* deve ser uma das " +"constantes :const:`!LK_\\*` listadas abaixo. Várias regiões em um arquivo " +"podem estar bloqueadas ao mesmo tempo, mas não podem se sobrepor. Regiões " +"adjacentes não são mescladas; eles devem ser desbloqueados individualmente." #: ../../library/msvcrt.rst:45 msgid "" "Raises an :ref:`auditing event ` ``msvcrt.locking`` with arguments " "``fd``, ``mode``, ``nbytes``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``msvcrt.locking`` com " +"Levanta um :ref:`evento de auditoria ` ``msvcrt.locking`` com os " "argumentos ``fd``, ``mode``, ``nbytes``." #: ../../library/msvcrt.rst:51 @@ -113,37 +113,37 @@ msgid "" "Locks the specified bytes. If the bytes cannot be locked, :exc:`OSError` is " "raised." msgstr "" -"Bloqueia os bytes especificados. Se os bytes não puderem ser bloqueados, :" -"exc:`OSError` é levantado." +"Trava os bytes especificados. Se os bytes não puderem ser travados, uma " +"exceção :exc:`OSError` é levantada." #: ../../library/msvcrt.rst:65 msgid "Unlocks the specified bytes, which must have been previously locked." msgstr "" -"Desbloqueia os bytes especificados, que devem ter sido bloqueados " -"anteriormente." +"Destrava os bytes especificados, que devem ter sido travados anteriormente." #: ../../library/msvcrt.rst:70 msgid "" "Set the line-end translation mode for the file descriptor *fd*. To set it to " -"text mode, *flags* should be :const:`os.O_TEXT`; for binary, it should be :" -"const:`os.O_BINARY`." +"text mode, *flags* should be :const:`os.O_TEXT`; for binary, it should " +"be :const:`os.O_BINARY`." msgstr "" "Defina o modo de conversão de final de linha para o descritor de arquivo " -"*fd*. Para configurá-lo no modo de texto, *flags* deve ser :const:`os." -"O_TEXT`; para binário, deve ser :const:`os.O_BINARY`." +"*fd*. Para configurá-lo no modo de texto, *flags* deve " +"ser :const:`os.O_TEXT`; para binário, deve ser :const:`os.O_BINARY`." #: ../../library/msvcrt.rst:77 msgid "" "Create a C runtime file descriptor from the file handle *handle*. The " -"*flags* parameter should be a bitwise OR of :const:`os.O_APPEND`, :const:`os." -"O_RDONLY`, and :const:`os.O_TEXT`. The returned file descriptor may be used " -"as a parameter to :func:`os.fdopen` to create a file object." +"*flags* parameter should be a bitwise OR " +"of :const:`os.O_APPEND`, :const:`os.O_RDONLY`, and :const:`os.O_TEXT`. The " +"returned file descriptor may be used as a parameter to :func:`os.fdopen` to " +"create a file object." msgstr "" "Cria um descritor de arquivo em tempo de execução C a partir do " "identificador de arquivo *handle*. O parâmetro *flags* deve ser um OR bit a " "bit de :const:`os.O_APPEND`, :const:`os.O_RDONLY` e :const:`os.O_TEXT`. O " -"descritor de arquivo retornado pode ser usado como um parâmetro para :func:" -"`os.fdopen` para criar um objeto arquivo." +"descritor de arquivo retornado pode ser usado como um parâmetro " +"para :func:`os.fdopen` para criar um objeto arquivo." #: ../../library/msvcrt.rst:82 msgid "" @@ -151,15 +151,15 @@ msgid "" "arguments ``handle``, ``flags``." msgstr "" "Levanta um :ref:`evento de auditoria ` ``msvcrt.open_osfhandle`` " -"com argumentos ``handle``, ``flags``." +"com os argumentos ``handle``, ``flags``." #: ../../library/msvcrt.rst:87 msgid "" "Return the file handle for the file descriptor *fd*. Raises :exc:`OSError` " "if *fd* is not recognized." msgstr "" -"Retorna o identificador de arquivo para o descritor de arquivo *fd*. Leva :" -"exc:`OSError` se *fd* não for reconhecido." +"Retorna o identificador de arquivo para o descritor de arquivo *fd*. " +"Leva :exc:`OSError` se *fd* não for reconhecido." #: ../../library/msvcrt.rst:90 msgid "" @@ -167,7 +167,7 @@ msgid "" "argument ``fd``." msgstr "" "Levanta um :ref:`evento de auditoria ` ``msvcrt.get_osfhandle`` " -"com argumento ``fd``." +"com o argumento ``fd``." #: ../../library/msvcrt.rst:96 msgid "Console I/O" @@ -243,8 +243,26 @@ msgstr "Outras funções" #: ../../library/msvcrt.rst:159 msgid "" "Force the :c:func:`malloc` heap to clean itself up and return unused blocks " -"to the operating system. On failure, this raises :exc:`OSError`." +"to the operating system. On failure, this raises :exc:`OSError`." msgstr "" "Força o heap :c:func:`malloc` a ser limpado e retorna os blocos não " -"utilizados ao sistema operacional. Em caso de falha, isso levanta :exc:" -"`OSError`." +"utilizados ao sistema operacional. Em caso de falha, isso " +"levanta :exc:`OSError`." + +#: ../../library/msvcrt.rst:165 +msgid "The CRT Assembly version, from the :file:`crtassem.h` header file." +msgstr "A versão do CRT Assembly, do arquivo de cabeçalho :file:`crtassem.h`." + +#: ../../library/msvcrt.rst:170 +msgid "" +"The VC Assembly public key token, from the :file:`crtassem.h` header file." +msgstr "" +"O token da chave pública do VC Assembly, do arquivo de " +"cabeçalho :file:`crtassem.h`." + +#: ../../library/msvcrt.rst:175 +msgid "" +"The Libraries Assembly name prefix, from the :file:`crtassem.h` header file." +msgstr "" +"O prefixo do nome de Libraries Assembly, do arquivo de " +"cabeçalho :file:`crtassem.h`." diff --git a/library/multiprocessing.po b/library/multiprocessing.po index 3a33b389c..28495b213 100644 --- a/library/multiprocessing.po +++ b/library/multiprocessing.po @@ -1,33 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Ruan Aragão , 2021 -# Hugo Santos Piauilino , 2021 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Caio Fauza, 2021 -# Italo Penaforte , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -68,40 +60,56 @@ msgid "" "given machine. It runs on both Unix and Windows." msgstr "" ":mod:`multiprocessing` é um pacote que suporta invocação de processos " -"utilizando uma API semelhante ao módulo :mod:`threading`. O pacote :mod:" -"`multiprocessing` oferece simultaneamente concorrência local e remota, " -"efetivamente contornando o :term:`Bloqueio Global do Interpretador `, ao utilizar subprocessos ao invés de threads. Devido a " -"isso, o módulo :mod:`multiprocessing` permite ao programador aproveitar " -"totalmente os múltiplos processadores de uma máquina. Ele funciona tanto em " -"Unix como em Windows." +"utilizando uma API semelhante ao módulo :mod:`threading`. O " +"pacote :mod:`multiprocessing` oferece simultaneamente concorrência local e " +"remota, efetivamente contornando o :term:`Bloqueio Global do Interpretador " +"`, ao utilizar subprocessos ao invés de threads. " +"Devido a isso, o módulo :mod:`multiprocessing` permite ao programador " +"aproveitar totalmente os múltiplos processadores de uma máquina. Ele " +"funciona tanto em Unix como em Windows." #: ../../library/multiprocessing.rst:25 msgid "" "The :mod:`multiprocessing` module also introduces APIs which do not have " -"analogs in the :mod:`threading` module. A prime example of this is the :" -"class:`~multiprocessing.pool.Pool` object which offers a convenient means of " -"parallelizing the execution of a function across multiple input values, " -"distributing the input data across processes (data parallelism). The " -"following example demonstrates the common practice of defining such " +"analogs in the :mod:`threading` module. A prime example of this is " +"the :class:`~multiprocessing.pool.Pool` object which offers a convenient " +"means of parallelizing the execution of a function across multiple input " +"values, distributing the input data across processes (data parallelism). " +"The following example demonstrates the common practice of defining such " "functions in a module so that child processes can successfully import that " -"module. This basic example of data parallelism using :class:" -"`~multiprocessing.pool.Pool`, ::" -msgstr "" +"module. This basic example of data parallelism " +"using :class:`~multiprocessing.pool.Pool`, ::" +msgstr "" +"O módulo :mod:`multiprocessing` também introduz APIs que não têm análogos no " +"módulo :mod:`threading`. Um exemplo principal disso é o " +"objeto :class:`~multiprocessing.pool.Pool` que oferece um meio conveniente " +"de paralelizar a execução de uma função em vários valores de entrada, " +"distribuindo os dados de entrada entre processos (paralelismo de dados). O " +"exemplo a seguir demonstra a prática comum de definir tais funções em um " +"módulo para que os processos filhos possam importar esse módulo com sucesso. " +"Este exemplo básico de paralelismo de dados " +"usando :class:`~multiprocessing.pool.Pool`, ::" #: ../../library/multiprocessing.rst:43 msgid "will print to standard output ::" -msgstr "irá exibir na saída padrão ::" +msgstr "vai exibir na saída padrão ::" #: ../../library/multiprocessing.rst:50 msgid "" ":class:`concurrent.futures.ProcessPoolExecutor` offers a higher level " "interface to push tasks to a background process without blocking execution " -"of the calling process. Compared to using the :class:`~multiprocessing.pool." -"Pool` interface directly, the :mod:`concurrent.futures` API more readily " -"allows the submission of work to the underlying process pool to be separated " -"from waiting for the results." -msgstr "" +"of the calling process. Compared to using " +"the :class:`~multiprocessing.pool.Pool` interface directly, " +"the :mod:`concurrent.futures` API more readily allows the submission of work " +"to the underlying process pool to be separated from waiting for the results." +msgstr "" +":class:`concurrent.futures.ProcessPoolExecutor` oferece uma interface de " +"nível mais alto para enviar tarefas para um processo em segundo plano sem " +"bloquear a execução do processo de chamada. Comparado ao uso direto da " +"interface :class:`~multiprocessing.pool.Pool`, a " +"API :mod:`concurrent.futures` permite mais prontamente que o envio de " +"trabalho para o pool de processos subjacente seja separado da espera pelos " +"resultados." #: ../../library/multiprocessing.rst:59 msgid "The :class:`Process` class" @@ -109,11 +117,16 @@ msgstr "A classe :class:`Process`" #: ../../library/multiprocessing.rst:61 msgid "" -"In :mod:`multiprocessing`, processes are spawned by creating a :class:" -"`Process` object and then calling its :meth:`~Process.start` method. :class:" -"`Process` follows the API of :class:`threading.Thread`. A trivial example " -"of a multiprocess program is ::" +"In :mod:`multiprocessing`, processes are spawned by creating " +"a :class:`Process` object and then calling its :meth:`~Process.start` " +"method. :class:`Process` follows the API of :class:`threading.Thread`. A " +"trivial example of a multiprocess program is ::" msgstr "" +"Em :mod:`multiprocessing`, os processos são gerados criando um " +"objeto :class:`Process` e então chamando seu " +"método :meth:`~Process.start`. :class:`Process` segue a API " +"de :class:`threading.Thread`. Um exemplo trivial de um programa " +"multiprocesso é ::" #: ../../library/multiprocessing.rst:76 msgid "" @@ -139,8 +152,8 @@ msgid "" "Depending on the platform, :mod:`multiprocessing` supports three ways to " "start a process. These *start methods* are" msgstr "" -"Dependendo da plataforma, :mod:`multiprocessing` suporta três maneiras de " -"iniciar um processo. Estes *métodos de início* são" +"Dependendo da plataforma, :mod:`multiprocessing` provê três maneiras de " +"iniciar um processo. Estes *métodos de inicialização* são" #: ../../library/multiprocessing.rst:118 msgid "*spawn*" @@ -155,6 +168,12 @@ msgid "" "Starting a process using this method is rather slow compared to using *fork* " "or *forkserver*." msgstr "" +"O processo pai inicia um novo processo do interpretador Python. O processo " +"filho herdará apenas os recursos necessários para executar o " +"método :meth:`~Process.run` do objeto do processo. Em particular, " +"descritores de arquivo e identificadores desnecessários do processo pai não " +"serão herdados. Iniciar um processo usando esse método é bem lento comparado " +"a usar *fork* ou *forkserver*." #: ../../library/multiprocessing.rst:118 msgid "Available on Unix and Windows. The default on Windows and macOS." @@ -171,6 +190,10 @@ msgid "" "process. All resources of the parent are inherited by the child process. " "Note that safely forking a multithreaded process is problematic." msgstr "" +"O processo pai usa :func:`os.fork` para criar um fork do interpretador " +"Python. O processo filho, quando começa, é efetivamente idêntico ao processo " +"pai. Todos os recursos do pai são herdados pelo processo filho. Observe que " +"criar um fork com segurança de um processo multithread é problemático." #: ../../library/multiprocessing.rst:127 msgid "Available on Unix only. The default on Unix." @@ -203,45 +226,65 @@ msgstr "" "Disponível em plataformas Unix que suportam a passagem de descritores de " "arquivo em Unix pipes." -#: ../../library/multiprocessing.rst:142 ../../library/multiprocessing.rst:1070 -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 "" - -#: ../../library/multiprocessing.rst:146 +#: ../../library/multiprocessing.rst:140 msgid "" "*spawn* added on all Unix platforms, and *forkserver* added for some Unix " "platforms. Child processes no longer inherit all of the parents inheritable " "handles on Windows." msgstr "" +#: ../../library/multiprocessing.rst:148 +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 "" +"No macOS, o método de inicialização *spawn* agora é o padrão. O método " +"*fork* deve ser considerado inseguro, pois pode levar a travamentos do " +"subprocesso, uma vez que as bibliotecas do sistema macOS podem iniciar " +"threads. Consulte :issue:`33725`." + #: ../../library/multiprocessing.rst:152 msgid "" -"On Unix using the *spawn* or *forkserver* start methods will also start a " +"On POSIX using the *spawn* or *forkserver* start methods will also start a " "*resource tracker* process which tracks the unlinked named system resources " -"(such as named semaphores or :class:`~multiprocessing.shared_memory." -"SharedMemory` objects) created by processes of the program. When all " -"processes have exited the resource tracker unlinks any remaining tracked " -"object. Usually there should be none, but if a process was killed by a " -"signal there may be some \"leaked\" resources. (Neither leaked semaphores " -"nor shared memory segments will be automatically unlinked until the next " -"reboot. This is problematic for both objects because the system allows only " -"a limited number of named semaphores, and shared memory segments occupy some " -"space in the main memory.)" -msgstr "" +"(such as named semaphores " +"or :class:`~multiprocessing.shared_memory.SharedMemory` objects) created by " +"processes of the program. When all processes have exited the resource " +"tracker unlinks any remaining tracked object. Usually there should be none, " +"but if a process was killed by a signal there may be some \"leaked\" " +"resources. (Neither leaked semaphores nor shared memory segments will be " +"automatically unlinked until the next reboot. This is problematic for both " +"objects because the system allows only a limited number of named semaphores, " +"and shared memory segments occupy some space in the main memory.)" +msgstr "" +"No POSIX, usar os métodos de inicialização *spawn* ou *forkserver* também " +"iniciará um processo *rastreador de recursos* que rastreia os recursos de " +"sistema nomeados não vinculados (como semáforos nomeados ou " +"objetos :class:`~multiprocessing.shared_memory.SharedMemory`) criados por " +"processos do programa. Quando todos os processos tiverem saído, o rastreador " +"de recursos desvincula qualquer objeto rastreado restante. Normalmente, não " +"deve haver nenhum, mas se um processo foi morto por um sinal, pode haver " +"alguns recursos \"vazados\". (Nem os semáforos vazados nem os segmentos de " +"memória compartilhada serão desvinculados automaticamente até a próxima " +"reinicialização do sistema. Isso é problemático para ambos os objetos porque " +"o sistema permite apenas um número limitado de semáforos nomeados, e os " +"segmentos de memória compartilhada ocupam algum espaço na memória principal.)" #: ../../library/multiprocessing.rst:165 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 "" +"Para selecionar um método de inicialização, você " +"usa :func:`set_start_method` na cláusula ``if __name__ == '__main__'`` do " +"módulo principal. Por exemplo::" #: ../../library/multiprocessing.rst:182 msgid "" ":func:`set_start_method` should not be used more than once in the program." msgstr "" +":func:`set_start_method` não deve ser usada mais de uma vez no programa." #: ../../library/multiprocessing.rst:185 msgid "" @@ -249,6 +292,9 @@ msgid "" "Context objects have the same API as the multiprocessing module, and allow " "one to use multiple start methods in the same program. ::" msgstr "" +"Alternativamente, você pode usar :func:`get_context` para obter um objeto de " +"contexto. Objetos de contexto têm a mesma API que o módulo multiprocessing e " +"permitem que se usem vários métodos de inicialização no mesmo programa. ::" #: ../../library/multiprocessing.rst:203 msgid "" @@ -257,11 +303,16 @@ msgid "" "*fork* context cannot be passed to processes started using the *spawn* or " "*forkserver* start methods." msgstr "" +"Note que objetos relacionados a um contexto podem não ser compatíveis com " +"processos para um contexto diferente. Em particular, travas criadas usando o " +"contexto *fork* não podem ser passados para processos iniciados usando os " +"métodos de inicialização *spawn* ou *forkserver*." #: ../../library/multiprocessing.rst:208 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." +"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 "" "Uma biblioteca que deseja utilizar um método de início específico " "provavelmente deve utilizar :func:`get_context` para evitar interferir na " @@ -284,6 +335,8 @@ msgid "" ":mod:`multiprocessing` supports two types of communication channel between " "processes:" msgstr "" +":mod:`multiprocessing` tem suporte a dois tipos de canal de comunicação " +"entre processos:" #: ../../library/multiprocessing.rst:226 msgid "**Queues**" @@ -303,23 +356,33 @@ msgstr "" #: ../../library/multiprocessing.rst:245 msgid "**Pipes**" -msgstr "**Pipes**" +msgstr "**Encadeamentos**" #: ../../library/multiprocessing.rst:247 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 "" +"A função :func:`Pipe` retorna um par de objetos de conexão conectados por um " +"encadeamento que por padrão é duplex (bidirecional). Por exemplo::" #: ../../library/multiprocessing.rst:263 msgid "" "The two connection objects returned by :func:`Pipe` represent the two ends " -"of the pipe. Each connection object has :meth:`~Connection.send` and :meth:" -"`~Connection.recv` methods (among others). Note that data in a pipe may " -"become corrupted if two processes (or threads) try to read from or write to " -"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 "" +"of the pipe. Each connection object has :meth:`~Connection.send` " +"and :meth:`~Connection.recv` methods (among others). Note that data in a " +"pipe may become corrupted if two processes (or threads) try to read from or " +"write to 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 "" +"Os dois objetos de conexão retornados por :func:`Pipe` representam as duas " +"extremidades do encadeamento. Cada objeto de conexão tem os " +"métodos :meth:`~Connection.send` e :meth:`~Connection.recv` (entre outros). " +"Observe que os dados em um encadeamento podem ser corrompidos se dois " +"processos (ou threads) tentarem ler ou gravar na *mesma* extremidade do " +"encadeamento ao mesmo tempo. Claro que não há risco de corrupção de " +"processos usando extremidades diferentes do encadeamento ao mesmo tempo." #: ../../library/multiprocessing.rst:273 msgid "Synchronization between processes" @@ -331,14 +394,17 @@ msgid "" "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` contém equivalentes de todas as primitivas de " +"sincronização de :mod:`threading`. Por exemplo, pode-se usar uma trava para " +"garantir que apenas um processo exiba na saída padrão por vez::" #: ../../library/multiprocessing.rst:294 msgid "" "Without using the lock output from the different processes is liable to get " "all mixed up." msgstr "" -"Sem utilizar a saída do bloqueio dos diferentes processos, é possível que " -"tudo fique confuso." +"Sem utilizar a saída da trava dos diferentes processos, é possível que tudo " +"fique confuso." #: ../../library/multiprocessing.rst:299 msgid "Sharing state between processes" @@ -356,8 +422,8 @@ msgstr "" #: ../../library/multiprocessing.rst:305 msgid "" -"However, if you really do need to use some shared data then :mod:" -"`multiprocessing` provides a couple of ways of doing so." +"However, if you really do need to use some shared data " +"then :mod:`multiprocessing` provides a couple of ways of doing so." msgstr "" "No entanto, se você realmente precisa utilizar algum compartilhamento de " "dados, então :mod:`multiprocessing` fornece algumas maneiras de se fazer " @@ -365,12 +431,12 @@ msgstr "" #: ../../library/multiprocessing.rst:308 msgid "**Shared memory**" -msgstr "**Shared memory**" +msgstr "**Memória compartilhada**" #: ../../library/multiprocessing.rst:310 msgid "" -"Data can be stored in a shared memory map using :class:`Value` or :class:" -"`Array`. For example, the following code ::" +"Data can be stored in a shared memory map using :class:`Value` " +"or :class:`Array`. For example, the following code ::" msgstr "" "Os dados podem ser armazenados em um mapa de memória compartilhado " "utilizando :class:`Value` ou :class:`Array`. Por exemplo, o código a " @@ -378,7 +444,7 @@ msgstr "" #: ../../library/multiprocessing.rst:331 ../../library/multiprocessing.rst:377 msgid "will print ::" -msgstr "será impresso::" +msgstr "vai exibir ::" #: ../../library/multiprocessing.rst:336 msgid "" @@ -387,20 +453,24 @@ msgid "" "double precision float and ``'i'`` indicates a signed integer. These shared " "objects will be process and thread-safe." msgstr "" +"Os argumentos ``'d'`` e ``'i'`` usados ao criar ``num`` e ``arr`` são " +"typecodes do tipo usado pelo módulo :mod:`array`: ``'d'`` indica um ponto " +"flutuante de precisão dupla e ``'i'`` indica um inteiro com sinal. Esses " +"objetos compartilhados serão seguros para thread e processo." #: ../../library/multiprocessing.rst:341 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." +"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 "" "Para mais flexibilidade no uso de memória compartilhada, pode-se utilizar o " "módulo :mod:`multiprocessing.sharedctypes`, que suporta a criação de objetos " -"ctypes arbritários alocados da memória compartilhada." +"ctypes arbitrários alocados da memória compartilhada." #: ../../library/multiprocessing.rst:345 msgid "**Server process**" -msgstr "**Processo do Servidor**" +msgstr "**Processo de servidor**" #: ../../library/multiprocessing.rst:347 msgid "" @@ -408,15 +478,19 @@ msgid "" "holds Python objects and allows other processes to manipulate them using " "proxies." msgstr "" +"Um objeto gerenciador retornado por :func:`Manager` controla um processo de " +"servidor que contém objetos Python e permite que outros processos os " +"manipulem usando proxies." #: ../../library/multiprocessing.rst:351 msgid "" -"A manager returned by :func:`Manager` will support types :class:`list`, :" -"class:`dict`, :class:`~managers.Namespace`, :class:`Lock`, :class:`RLock`, :" -"class:`Semaphore`, :class:`BoundedSemaphore`, :class:`Condition`, :class:" -"`Event`, :class:`Barrier`, :class:`Queue`, :class:`Value` and :class:" -"`Array`. For example, ::" +"A manager returned by :func:`Manager` will support " +"types :class:`list`, :class:`dict`, :class:`~managers.Namespace`, :class:`Lock`, :class:`RLock`, :class:`Semaphore`, :class:`BoundedSemaphore`, :class:`Condition`, :class:`Event`, :class:`Barrier`, :class:`Queue`, :class:`Value` " +"and :class:`Array`. For example, ::" msgstr "" +"Um gerenciador retornado por :func:`Manager` vai oferecer suporte aos " +"tipos :class:`list`, :class:`dict`, :class:`~managers.Namespace`, :class:`Lock`, :class:`RLock`, :class:`Semaphore`, :class:`BoundedSemaphore`, :class:`Condition`, :class:`Event`, :class:`Barrier`, :class:`Queue`, :class:`Value` " +"e :class:`Array`. Por exemplo, ::" #: ../../library/multiprocessing.rst:382 msgid "" @@ -425,10 +499,15 @@ msgid "" "manager can be shared by processes on different computers over a network. " "They are, however, slower than using shared memory." msgstr "" +"Os gerenciadores de processos de servidor são mais flexíveis do que usar " +"objetos de memória compartilhada porque podem ser feitos para oferecer " +"suporte a tipos de objetos arbitrários. Além disso, um único gerenciador " +"pode ser compartilhado por processos em diferentes computadores em uma rede. " +"Eles são, no entanto, mais lentos do que usar memória compartilhada." #: ../../library/multiprocessing.rst:389 msgid "Using a pool of workers" -msgstr "" +msgstr "Usando um pool de workers" #: ../../library/multiprocessing.rst:391 msgid "" @@ -436,6 +515,9 @@ msgid "" "processes. It has methods which allows tasks to be offloaded to the worker " "processes in a few different ways." msgstr "" +"A classe :class:`~multiprocessing.pool.Pool` representa um pool de processos " +"de worker. Ela tem métodos que permitem que tarefas sejam descarregadas para " +"os processos de worker de algumas maneiras diferentes." #: ../../library/multiprocessing.rst:395 msgid "For example::" @@ -446,6 +528,8 @@ msgid "" "Note that the methods of a pool should only ever be used by the process " "which created it." msgstr "" +"Observe que os métodos de um pool só devem ser usados pelo processo que o " +"criou." #: ../../library/multiprocessing.rst:444 msgid "" @@ -455,6 +539,11 @@ msgid "" "examples, such as the :class:`multiprocessing.pool.Pool` examples will not " "work in the interactive interpreter. For example::" msgstr "" +"A funcionalidade dentro deste pacote requer que o módulo ``__main__`` seja " +"importável pelos filhos. Isso é abordado em :ref:`multiprocessing-" +"programming`, mas vale a pena apontar aqui. Isso significa que alguns " +"exemplos, como os exemplos :class:`multiprocessing.pool.Pool` não " +"funcionarão no interpretador interativo. Por exemplo::" #: ../../library/multiprocessing.rst:467 msgid "" @@ -462,6 +551,9 @@ msgid "" "in a semi-random fashion, and then you may have to stop the parent process " "somehow.)" msgstr "" +"(Se você tentar isso, na verdade, serão gerados três tracebacks completos " +"intercalados de forma semi-aleatória, e então você pode ter que interromper " +"o processo pai de alguma forma.)" #: ../../library/multiprocessing.rst:473 msgid "Reference" @@ -469,19 +561,21 @@ msgstr "Referência" #: ../../library/multiprocessing.rst:475 msgid "" -"The :mod:`multiprocessing` package mostly replicates the API of the :mod:" -"`threading` module." +"The :mod:`multiprocessing` package mostly replicates the API of " +"the :mod:`threading` module." msgstr "" +"O pacote :mod:`multiprocessing` replica principalmente a API do " +"módulo :mod:`threading`." #: ../../library/multiprocessing.rst:480 msgid ":class:`Process` and exceptions" -msgstr "" +msgstr ":class:`Process` e exceções" #: ../../library/multiprocessing.rst:485 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`." +"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 "" "Objetos processo representam atividades que são executadas em um processo " "separado. A classe :class:`Process` possui equivalentes de todos os métodos " @@ -490,15 +584,15 @@ msgstr "" #: ../../library/multiprocessing.rst:489 msgid "" "The constructor should always be called with keyword arguments. *group* " -"should always be ``None``; it exists solely for compatibility with :class:" -"`threading.Thread`. *target* is the callable object to be invoked by the :" -"meth:`run()` method. It defaults to ``None``, meaning nothing is called. " -"*name* is the process name (see :attr:`name` for more details). *args* is " -"the argument tuple for the target invocation. *kwargs* is a dictionary of " -"keyword arguments for the target invocation. If provided, the keyword-only " -"*daemon* argument sets the process :attr:`daemon` flag to ``True`` or " -"``False``. If ``None`` (the default), this flag will be inherited from the " -"creating process." +"should always be ``None``; it exists solely for compatibility " +"with :class:`threading.Thread`. *target* is the callable object to be " +"invoked by the :meth:`run()` method. It defaults to ``None``, meaning " +"nothing is called. *name* is the process name (see :attr:`name` for more " +"details). *args* is the argument tuple for the target invocation. *kwargs* " +"is a dictionary of keyword arguments for the target invocation. If " +"provided, the keyword-only *daemon* argument sets the process :attr:`daemon` " +"flag to ``True`` or ``False``. If ``None`` (the default), this flag will be " +"inherited from the creating process." msgstr "" #: ../../library/multiprocessing.rst:500 @@ -507,6 +601,9 @@ msgid "" "defaults to ``()``, can be used to specify a list or tuple of the arguments " "to pass to *target*." msgstr "" +"Por padrão, nenhum argumento é passado para *target*. O argumento *args*, " +"que tem como padrão ``()``, pode ser usado para especificar uma lista ou " +"tupla de argumentos a serem passados para *target*." #: ../../library/multiprocessing.rst:504 msgid "" @@ -514,10 +611,13 @@ msgid "" "base class constructor (:meth:`Process.__init__`) before doing anything else " "to the process." msgstr "" +"Se uma subclasse substitui o construtor, ela deve certificar-se de invocar o " +"construtor da classe base (:meth:`Process.__init__`) antes de fazer qualquer " +"outra coisa no processo." #: ../../library/multiprocessing.rst:508 -msgid "Added the *daemon* argument." -msgstr "Adicionado o argumento *daemon*." +msgid "Added the *daemon* parameter." +msgstr "Adicionado o parâmetro *daemon*." #: ../../library/multiprocessing.rst:513 msgid "Method representing the process's activity." @@ -530,12 +630,18 @@ msgid "" "argument, if any, with sequential and keyword arguments taken from the " "*args* and *kwargs* arguments, respectively." msgstr "" +"Você pode substituir esse método em uma subclasse. O método " +"padrão :meth:`run` invoca o objeto chamável passado ao construtor do objeto " +"como o argumento alvo, se houver, com argumentos nomeados e sequenciais " +"retirados dos argumentos *args* e *kwargs*, respectivamente." #: ../../library/multiprocessing.rst:520 msgid "" "Using a list or tuple as the *args* argument passed to :class:`Process` " "achieves the same effect." msgstr "" +"Usar uma lista ou tupla como argumento *args* passado para :class:`Process` " +"obtém o mesmo efeito." #: ../../library/multiprocessing.rst:523 msgid "Example::" @@ -550,6 +656,9 @@ 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 "" +"Isso deve ser chamado no máximo uma vez por objeto processo. Ele organiza " +"para que o método :meth:`run` do objeto seja invocado em um processo " +"separado." #: ../../library/multiprocessing.rst:542 msgid "" @@ -560,30 +669,45 @@ msgid "" "times out. Check the process's :attr:`exitcode` to determine if it " "terminated." msgstr "" +"Se o argumento opcional *timeout* for ``None`` (o padrão), o método bloqueia " +"até que o processo cujo método :meth:`join` é chamado termine. Se *timeout* " +"for um número positivo, ele bloqueia no máximo *timeout* segundos. Observe " +"que o método retorna ``None`` se seu processo terminar ou se o método tiver " +"tempo limite. Verifique o :attr:`exitcode` do processo para determinar se " +"ele terminou." #: ../../library/multiprocessing.rst:549 msgid "A process can be joined many times." -msgstr "" +msgstr "Um processo pode ser usar \"join\" muitas vezes." #: ../../library/multiprocessing.rst:551 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 "" +"Um processo não pode se unir porque isso causaria um impasse. É um erro " +"tentar se unir a um processo antes que ele tenha sido iniciado." #: ../../library/multiprocessing.rst:556 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 "" +"O nome do processo. O nome é uma string usada apenas para fins de " +"identificação. Não tem semântica. Vários processos podem receber o mesmo " +"nome." #: ../../library/multiprocessing.rst:560 msgid "" "The initial name is set by the constructor. If no explicit name is provided " -"to the constructor, a name of the form 'Process-N\\ :sub:`1`:N\\ :sub:" -"`2`:...:N\\ :sub:`k`' is constructed, where each N\\ :sub:`k` is the N-th " -"child of its parent." +"to the constructor, a name of the form 'Process-" +"N\\ :sub:`1`:N\\ :sub:`2`:...:N\\ :sub:`k`' is constructed, where each " +"N\\ :sub:`k` is the N-th child of its parent." msgstr "" +"O nome inicial é definido pelo construtor. Se nenhum nome explícito for " +"fornecido ao construtor, um nome do formato 'Processo-" +"N\\ :sub:`1`:N\\ :sub:`2`:...:N\\ :sub:`k`' é construído, onde cada " +"N\\ :sub:`k` é o N-ésimo filho de seu pai." #: ../../library/multiprocessing.rst:567 msgid "Return whether the process is alive." @@ -594,22 +718,28 @@ msgid "" "Roughly, a process object is alive from the moment the :meth:`start` method " "returns until the child process terminates." msgstr "" +"Em termos gerais, um objeto processo está ativo desde o momento em que o " +"método :meth:`start` retorna até o término do processo filho." #: ../../library/multiprocessing.rst:574 msgid "" -"The process's daemon flag, a Boolean value. This must be set before :meth:" -"`start` is called." +"The process's daemon flag, a Boolean value. This must be set " +"before :meth:`start` is called." msgstr "" +"O sinalizador daemon do processo, um valor Booleano. Isso deve ser definido " +"antes de :meth:`start` ser chamado." #: ../../library/multiprocessing.rst:577 msgid "The initial value is inherited from the creating process." -msgstr "" +msgstr "O valor inicial é herdado do processo de criação." #: ../../library/multiprocessing.rst:579 msgid "" "When a process exits, it attempts to terminate all of its daemonic child " "processes." msgstr "" +"Quando um processo sai, ele tenta encerrar todos os seus processos filhos " +"daemônicos." #: ../../library/multiprocessing.rst:582 msgid "" @@ -619,23 +749,34 @@ msgid "" "Unix daemons or services, they are normal processes that will be terminated " "(and not joined) if non-daemonic processes have exited." msgstr "" +"Note que um processo daemônico não tem permissão para criar processos " +"filhos. Caso contrário, um processo daemônico deixaria seus filhos órfãos se " +"ele fosse encerrado quando seu processo pai saísse. Além disso, esses " +"**não** são daemons ou serviços Unix, eles são processos normais que serão " +"encerrados (e em vez de usar \"join\") se processos não daemônicos tiverem " +"saído." #: ../../library/multiprocessing.rst:588 msgid "" "In addition to the :class:`threading.Thread` API, :class:`Process` objects " "also support the following attributes and methods:" msgstr "" +"Além da API :class:`threading.Thread`, os objetos :class:`Process` também " +"oferecem suporte aos seguintes atributos e métodos:" #: ../../library/multiprocessing.rst:593 msgid "" "Return the process ID. Before the process is spawned, this will be ``None``." msgstr "" +"Retorna o ID do processo. Antes do processo ser gerado, este será ``None``." #: ../../library/multiprocessing.rst:598 msgid "" "The child's exit code. This will be ``None`` if the process has not yet " "terminated." msgstr "" +"O código de saída da criança. Este será ``None`` se o processo ainda não " +"tiver terminado." #: ../../library/multiprocessing.rst:601 msgid "" @@ -643,6 +784,9 @@ msgid "" "0. If it terminated via :func:`sys.exit` with an integer argument *N*, the " "exit code will be *N*." msgstr "" +"Se o método :meth:`run` da criança retornar normalmente, o código de saída " +"será 0. Se ele terminar via :func:`sys.exit` com um argumento inteiro *N*, o " +"código de saída será *N*." #: ../../library/multiprocessing.rst:605 msgid "" @@ -650,16 +794,21 @@ msgid "" "the exit code will be 1. If it was terminated by signal *N*, the exit code " "will be the negative value *-N*." msgstr "" +"Se a criança for encerrada devido a uma exceção não capturada " +"em :meth:`run`, o código de saída será 1. Se ela for encerrada pelo sinal " +"*N*, o código de saída será o valor negativo *-N*." #: ../../library/multiprocessing.rst:611 msgid "The process's authentication key (a byte string)." -msgstr "" +msgstr "A chave de autenticação do processo (uma string de bytes)." #: ../../library/multiprocessing.rst:613 msgid "" "When :mod:`multiprocessing` is initialized the main process is assigned a " "random string using :func:`os.urandom`." msgstr "" +"Quando :mod:`multiprocessing` é inicializado, o processo principal recebe " +"uma string aleatória usando :func:`os.urandom`." #: ../../library/multiprocessing.rst:616 msgid "" @@ -667,22 +816,27 @@ msgid "" "authentication key of its parent process, although this may be changed by " "setting :attr:`authkey` to another byte string." msgstr "" +"Quando um objeto :class:`Process` é criado, ele herda a chave de " +"autenticação do seu processo pai, embora isso possa ser alterado " +"definindo :attr:`authkey` para outra sequência de bytes." #: ../../library/multiprocessing.rst:620 msgid "See :ref:`multiprocessing-auth-keys`." -msgstr "" +msgstr "Veja :ref:`multiprocessing-auth-keys`." #: ../../library/multiprocessing.rst:624 msgid "" "A numeric handle of a system object which will become \"ready\" when the " "process ends." msgstr "" +"Um identificador numérico de um objeto do sistema que ficará \"pronto\" " +"quando o processo terminar." #: ../../library/multiprocessing.rst:627 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." +"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 "" #: ../../library/multiprocessing.rst:631 @@ -694,16 +848,23 @@ msgstr "" #: ../../library/multiprocessing.rst:639 msgid "" -"Terminate the process. On Unix this is done using the ``SIGTERM`` signal; " -"on Windows :c:func:`TerminateProcess` is used. Note that exit handlers and " -"finally clauses, etc., will not be executed." +"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 "" +"Encerra o processo. No POSIX isso é feito usando o " +"sinal :py:const:`~signal.SIGTERM`; no Windows é usado :c:func:`!" +"TerminateProcess`. Note que os manipuladores de saída e cláusulas finally, " +"etc., não serão executados." #: ../../library/multiprocessing.rst:643 msgid "" "Note that descendant processes of the process will *not* be terminated -- " "they will simply become orphaned." msgstr "" +"Observe que os processos descendentes do processo *não* serão encerrados — " +"eles simplesmente ficarão órfãos." #: ../../library/multiprocessing.rst:648 msgid "" @@ -713,6 +874,11 @@ msgid "" "semaphore etc. then terminating it is liable to cause other processes to " "deadlock." msgstr "" +"Se esse método for usado quando o processo associado estiver usando um " +"encadeamento ou fila, então o encadeamento ou fila é passível de ser " +"corrompido e pode se tornar inutilizável por outro processo. Similarmente, " +"se o processo adquiriu um trava ou semáforo etc., então encerrá-lo é " +"passível de causar impasse em outros processos." #: ../../library/multiprocessing.rst:656 msgid "Same as :meth:`terminate()` but using the ``SIGKILL`` signal on Unix." @@ -725,21 +891,31 @@ msgid "" "running. Once :meth:`close` returns successfully, most other methods and " "attributes of the :class:`Process` object will raise :exc:`ValueError`." msgstr "" +"Fecha o objeto :class:`Process`, liberando todos os recursos associados a " +"ele. :exc:`ValueError` é levantado se o processo subjacente ainda estiver em " +"execução. Uma vez que :meth:`close` retorne com sucesso, a maioria dos " +"outros métodos e atributos do objeto :class:`Process` " +"levantará :exc:`ValueError`." #: ../../library/multiprocessing.rst:670 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." +"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 "" +"Observe que os " +"métodos :meth:`start`, :meth:`join`, :meth:`is_alive`, :meth:`terminate` " +"e :attr:`exitcode` devem ser chamados somente pelo processo que criou o " +"objeto processo." #: ../../library/multiprocessing.rst:674 msgid "Example usage of some of the methods of :class:`Process`:" -msgstr "" +msgstr "Exemplo de uso de alguns dos métodos de :class:`Process`:" #: ../../library/multiprocessing.rst:694 msgid "The base class of all :mod:`multiprocessing` exceptions." -msgstr "" +msgstr "A classe base de todas as exceções de :mod:`multiprocessing`." #: ../../library/multiprocessing.rst:698 msgid "" @@ -752,18 +928,21 @@ msgid "" "If ``e`` is an instance of :exc:`BufferTooShort` then ``e.args[0]`` will " "give the message as a byte string." msgstr "" +"Se ``e`` for uma instância de :exc:`BufferTooShort`, então ``e.args[0]`` " +"retornará a mensagem como uma string de bytes." #: ../../library/multiprocessing.rst:706 msgid "Raised when there is an authentication error." -msgstr "" +msgstr "Levantada quando há um erro de autenticação." #: ../../library/multiprocessing.rst:710 msgid "Raised by methods with a timeout when the timeout expires." msgstr "" +"Levantada por métodos com um tempo limite quando o tempo limite expira." #: ../../library/multiprocessing.rst:713 msgid "Pipes and Queues" -msgstr "" +msgstr "Encadeamentos e filas" #: ../../library/multiprocessing.rst:715 msgid "" @@ -771,43 +950,66 @@ msgid "" "communication between processes and avoids having to use any synchronization " "primitives like locks." msgstr "" +"Ao usar vários processos, geralmente é usada a passagem de mensagens para " +"comunicação entre processos e evita-se ter que usar quaisquer primitivas de " +"sincronização, como travas." #: ../../library/multiprocessing.rst:719 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 "" +"Para passar mensagens, pode-se usar :func:`Pipe` (para uma conexão entre " +"dois processos) ou uma fila (que permite múltiplos produtores e " +"consumidores)." #: ../../library/multiprocessing.rst:722 msgid "" "The :class:`Queue`, :class:`SimpleQueue` and :class:`JoinableQueue` types " "are multi-producer, multi-consumer :abbr:`FIFO (first-in, first-out)` queues " "modelled on the :class:`queue.Queue` class in the standard library. They " -"differ in that :class:`Queue` lacks the :meth:`~queue.Queue.task_done` and :" -"meth:`~queue.Queue.join` methods introduced into Python 2.5's :class:`queue." -"Queue` class." +"differ in that :class:`Queue` lacks the :meth:`~queue.Queue.task_done` " +"and :meth:`~queue.Queue.join` methods introduced into Python " +"2.5's :class:`queue.Queue` class." msgstr "" +"Os tipos :class:`Queue`, :class:`SimpleQueue` e :class:`JoinableQueue` são " +"filas :abbr:`FIFO (first-in, first-out)` multiprodutoras e multiconsumidoras " +"modeladas na classe :class:`queue.Queue` da biblioteca padrão. Elas diferem " +"porque :class:`Queue` não tem os métodos :meth:`~queue.Queue.task_done` " +"e :meth:`~queue.Queue.join` introduzidos na classe :class:`queue.Queue` do " +"Python 2.5." #: ../../library/multiprocessing.rst:729 msgid "" -"If you use :class:`JoinableQueue` then you **must** call :meth:" -"`JoinableQueue.task_done` for each task removed from the queue or else the " -"semaphore used to count the number of unfinished tasks may eventually " -"overflow, raising an exception." +"If you use :class:`JoinableQueue` then you **must** " +"call :meth:`JoinableQueue.task_done` for each task removed from the queue or " +"else the semaphore used to count the number of unfinished tasks may " +"eventually overflow, raising an exception." msgstr "" +"Se você usar :class:`JoinableQueue`, então você **deve** " +"chamar :meth:`JoinableQueue.task_done` para cada tarefa removida da fila, " +"caso contrário, o semáforo usado para contar o número de tarefas não " +"concluídas pode eventualmente transbordar, levantando uma exceção." #: ../../library/multiprocessing.rst:734 msgid "" "Note that one can also create a shared queue by using a manager object -- " "see :ref:`multiprocessing-managers`." msgstr "" +"Observe que também é possível criar uma fila compartilhada usando um objeto " +"gerenciador — veja :ref:`multiprocessing-managers`." #: ../../library/multiprocessing.rst:739 msgid "" -":mod:`multiprocessing` uses the usual :exc:`queue.Empty` and :exc:`queue." -"Full` exceptions to signal a timeout. They are not available in the :mod:" -"`multiprocessing` namespace so you need to import them from :mod:`queue`." +":mod:`multiprocessing` uses the usual :exc:`queue.Empty` " +"and :exc:`queue.Full` exceptions to signal a timeout. They are not " +"available in the :mod:`multiprocessing` namespace so you need to import them " +"from :mod:`queue`." msgstr "" +":mod:`multiprocessing` usa as exceções usuais :exc:`queue.Empty` " +"e :exc:`queue.Full` para sinalizar um tempo limite. Elas não estão " +"disponíveis no espaço de nomes do :mod:`multiprocessing`, então você precisa " +"importá-las de :mod:`queue`." #: ../../library/multiprocessing.rst:746 msgid "" @@ -817,6 +1019,12 @@ msgid "" "practical difficulties -- if they really bother you then you can instead use " "a queue created with a :ref:`manager `." msgstr "" +"Quando um objeto é colocado em uma fila, o objeto é serializado com pickle e " +"uma thread em segundo plano depois descarrega os dados serializados com " +"pickle para um encadeamento subjacente. Isso tem algumas consequências que " +"são um pouco surpreendentes, mas não devem causar nenhuma dificuldade " +"prática -- se elas realmente o incomodam, então você pode usar uma fila " +"criada com um :ref:`gerenciador `." #: ../../library/multiprocessing.rst:753 msgid "" @@ -824,6 +1032,10 @@ msgid "" "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 "" +"Depois de colocar um objeto em uma fila vazia, pode haver um atraso " +"infinitesimal antes que o método :meth:`~Queue.empty` da fila " +"retorne :const:`False` e :meth:`~Queue.get_nowait` possa retornar sem " +"levantar :exc:`queue.Empty`." #: ../../library/multiprocessing.rst:758 msgid "" @@ -832,6 +1044,10 @@ msgid "" "the same process will always be in the expected order with respect to each " "other." msgstr "" +"Se vários processos estiverem enfileirando objetos, é possível que os " +"objetos sejam recebidos na outra extremidade fora de ordem. No entanto, " +"objetos enfileirados pelo mesmo processo sempre estarão na ordem esperada em " +"relação uns aos outros." #: ../../library/multiprocessing.rst:765 msgid "" @@ -840,14 +1056,23 @@ 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 "" +"Se um processo for morto usando :meth:`Process.terminate` ou :func:`os.kill` " +"enquanto estiver tentando usar uma :class:`Queue`, os dados na fila " +"provavelmente serão corrompidos. Isso pode fazer com que qualquer outro " +"processo obtenha uma exceção quando tentar usar a fila mais tarde." #: ../../library/multiprocessing.rst:772 msgid "" "As mentioned above, if a child process has put items on a queue (and it has " -"not used :meth:`JoinableQueue.cancel_join_thread `), then that process will not terminate until all " -"buffered items have been flushed to the pipe." +"not used :meth:`JoinableQueue.cancel_join_thread " +"`), then that process will not " +"terminate until all buffered items have been flushed to the pipe." msgstr "" +"Conforme mencionado acima, se um processo filho tiver colocado itens em uma " +"fila (e não tiver usado :meth:`JoinableQueue.cancel_join_thread " +"`), esse processo não será " +"encerrado até que todos os itens armazenados em buffer tenham sido liberados " +"para o encadeamento." #: ../../library/multiprocessing.rst:777 msgid "" @@ -857,24 +1082,37 @@ msgid "" "parent process may hang on exit when it tries to join all its non-daemonic " "children." msgstr "" +"Isso significa que se você tentar juntar esse processo, poderá obter um " +"impasse, a menos que tenha certeza de que todos os itens que foram colocados " +"na fila foram consumidos. Da mesma forma, se o processo filho não for " +"daemônico, o processo pai pode travar na saída quando tentar juntar todos os " +"seus filhos não daemônicos." #: ../../library/multiprocessing.rst:782 msgid "" -"Note that a queue created using a manager does not have this issue. See :" -"ref:`multiprocessing-programming`." +"Note that a queue created using a manager does not have this issue. " +"See :ref:`multiprocessing-programming`." msgstr "" +"Note que uma fila criada usando um gerenciador não tem esse problema. " +"Veja :ref:`multiprocessing-programming`." #: ../../library/multiprocessing.rst:785 msgid "" -"For an example of the usage of queues for interprocess communication see :" -"ref:`multiprocessing-examples`." +"For an example of the usage of queues for interprocess communication " +"see :ref:`multiprocessing-examples`." msgstr "" +"Para um exemplo do uso de filas para comunicação entre processos, " +"veja :ref:`multiprocessing-examples`." #: ../../library/multiprocessing.rst:791 msgid "" -"Returns a pair ``(conn1, conn2)`` of :class:`~multiprocessing.connection." -"Connection` objects representing the ends of a pipe." +"Returns a pair ``(conn1, conn2)`` " +"of :class:`~multiprocessing.connection.Connection` objects representing the " +"ends of a pipe." msgstr "" +"Retorna um par ``(conn1, conn2)`` de " +"objetos :class:`~multiprocessing.connection.Connection` representando as " +"extremidades de um encadeamento." #: ../../library/multiprocessing.rst:795 msgid "" @@ -883,6 +1121,10 @@ msgid "" "used for receiving messages and ``conn2`` can only be used for sending " "messages." msgstr "" +"Se *duplex* for ``True`` (o padrão), então o encadeamento é bidirecional. Se " +"*duplex* for ``False``, então o encadeamento é unidirecional: ``conn1`` pode " +"ser usado somente para receber mensagens e ``conn2`` pode ser usado somente " +"para enviar mensagens." #: ../../library/multiprocessing.rst:803 msgid "" @@ -890,24 +1132,35 @@ msgid "" "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 "" +"Retorna uma fila compartilhada de processo implementada usando um " +"encadeamento e algumas travas/semáforos. Quando um processo coloca um item " +"na fila pela primeira vez, uma thread alimentadora é iniciada, a qual " +"transfere objetos de um buffer para o encadeamento." #: ../../library/multiprocessing.rst:807 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 "" +"As exceções usuais :exc:`queue.Empty` e :exc:`queue.Full` do " +"módulo :mod:`queue` da biblioteca padrão são levantadas para sinalizar " +"tempos limite." #: ../../library/multiprocessing.rst:810 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` implementa todos os métodos de :class:`queue.Queue`, " +"exceto :meth:`~queue.Queue.task_done` e :meth:`~queue.Queue.join`." #: ../../library/multiprocessing.rst:815 msgid "" "Return the approximate size of the queue. Because of multithreading/" "multiprocessing semantics, this number is not reliable." msgstr "" +"Retorna o tamanho aproximado da fila. Devido à semântica de multithreading/" +"multiprocessamento, esse número não é confiável." #: ../../library/multiprocessing.rst:818 msgid "" @@ -920,12 +1173,16 @@ msgid "" "Return ``True`` if the queue is empty, ``False`` otherwise. Because of " "multithreading/multiprocessing semantics, this is not reliable." msgstr "" +"Retorna ``True`` se a fila estiver vazia, ``False`` caso contrário. Devido à " +"semântica de multithreading/multiprocessamento, isso não é confiável." #: ../../library/multiprocessing.rst:828 msgid "" "Return ``True`` if the queue is full, ``False`` otherwise. Because of " "multithreading/multiprocessing semantics, this is not reliable." msgstr "" +"Retorna ``True`` se a fila estiver cheia, ``False`` caso contrário. Devido à " +"semântica de multithreading/multiprocessamento, isso não é confiável." #: ../../library/multiprocessing.rst:833 msgid "" @@ -937,16 +1194,26 @@ 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 "" +"Coloca *obj* na fila. Se o argumento opcional *block* for ``True`` (o " +"padrão) e *timeout* for ``None`` (o padrão), bloqueia se necessário até que " +"um slot livre esteja disponível. Se *timeout* for um número positivo, ele " +"bloqueia no máximo *timeout* segundos e levanta a exceção :exc:`queue.Full` " +"se nenhum slot livre estiver disponível dentro desse tempo. Caso contrário " +"(*block* é ``False``), coloca um item na fila se um slot livre estiver " +"imediatamente disponível, senão levanta a exceção :exc:`queue.Full` " +"(*timeout* é ignorado nesse caso)." #: ../../library/multiprocessing.rst:842 msgid "" -"If the queue is closed, :exc:`ValueError` is raised instead of :exc:" -"`AssertionError`." +"If the queue is closed, :exc:`ValueError` is raised instead " +"of :exc:`AssertionError`." msgstr "" +"Se a fila for fechada, :exc:`ValueError` será levantada em vez " +"de :exc:`AssertionError`." #: ../../library/multiprocessing.rst:848 msgid "Equivalent to ``put(obj, False)``." -msgstr "" +msgstr "Equivalente a ``put(obj, False)``." #: ../../library/multiprocessing.rst:852 msgid "" @@ -955,15 +1222,25 @@ msgid "" "necessary until an item is available. If *timeout* is a positive number, it " "blocks at most *timeout* seconds and raises the :exc:`queue.Empty` exception " "if no item was available within that time. Otherwise (block is ``False``), " -"return an item if one is immediately available, else raise the :exc:`queue." -"Empty` exception (*timeout* is ignored in that case)." -msgstr "" +"return an item if one is immediately available, else raise " +"the :exc:`queue.Empty` exception (*timeout* is ignored in that case)." +msgstr "" +"Remove e retorna um item da fila. Se os argumentos opcionais *block* forem " +"``True`` (o padrão) e *timeout* forem ``None`` (o padrão), bloqueia se " +"necessário até que um item esteja disponível. Se *timeout* for um número " +"positivo, ele bloqueia no máximo *timeout* segundos e levantada a " +"exceção :exc:`queue.Empty` se nenhum item estiver disponível dentro desse " +"tempo. Caso contrário (block for ``False``), retorna um item se um estiver " +"imediatamente disponível, senão levantada a exceção :exc:`queue.Empty` " +"(*timeout* é ignorado nesse caso)." #: ../../library/multiprocessing.rst:860 msgid "" -"If the queue is closed, :exc:`ValueError` is raised instead of :exc:" -"`OSError`." +"If the queue is closed, :exc:`ValueError` is raised instead " +"of :exc:`OSError`." msgstr "" +"Se a fila for fechada, :exc:`ValueError` será levantada em vez " +"de :exc:`OSError`." #: ../../library/multiprocessing.rst:866 msgid "Equivalent to ``get(False)``." @@ -971,9 +1248,13 @@ msgstr "Equivalente a ``get(False)``." #: ../../library/multiprocessing.rst:868 msgid "" -":class:`multiprocessing.Queue` has a few additional methods not found in :" -"class:`queue.Queue`. These methods are usually unnecessary for most code:" +":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` tem alguns métodos adicionais não encontrados " +"em :class:`queue.Queue`. Esses métodos geralmente são desnecessários para a " +"maioria dos códigos:" #: ../../library/multiprocessing.rst:874 msgid "" @@ -982,6 +1263,10 @@ msgid "" "data to the pipe. This is called automatically when the queue is garbage " "collected." msgstr "" +"Indica que nenhum dado adicional será colocado nesta fila pelo processo " +"atual. O thread em segundo plano será encerrado assim que tiver descarregado " +"todos os dados armazenados em buffer para o encadeamento. Isso é chamado " +"automaticamente quando a fila é coletada como lixo." #: ../../library/multiprocessing.rst:881 msgid "" @@ -989,13 +1274,21 @@ msgid "" "been called. It blocks until the background thread exits, ensuring that all " "data in the buffer has been flushed to the pipe." msgstr "" +"Junta a thread de segundo plano. Isso só pode ser usado depois " +"que :meth:`close` for chamado. Isso bloqueia até que a thread de segundo " +"plano saia, garantindo que todos os dados no buffer tenham sido liberados " +"para o encadeamento." #: ../../library/multiprocessing.rst:885 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." +"attempt to join the queue's background thread. The process can " +"call :meth:`cancel_join_thread` to make :meth:`join_thread` do nothing." msgstr "" +"Por padrão, se um processo não for o criador da fila, ao sair, ele tentará " +"se juntar ao thread de segundo plano da fila. O processo pode " +"chamar :meth:`cancel_join_thread` para fazer :meth:`join_thread` não fazer " +"nada." #: ../../library/multiprocessing.rst:891 msgid "" @@ -1003,6 +1296,9 @@ msgid "" "background thread from being joined automatically when the process exits -- " "see :meth:`join_thread`." msgstr "" +"Impede que :meth:`join_thread` bloqueie. Em particular, isso impede que o " +"thread de segundo plano seja unido automaticamente quando o processo sai -- " +"veja :meth:`join_thread`." #: ../../library/multiprocessing.rst:895 msgid "" @@ -1012,6 +1308,12 @@ msgid "" "to exit immediately without waiting to flush enqueued data to the underlying " "pipe, and you don't care about lost data." msgstr "" +"Um nome melhor para esse método pode ser ``allow_exit_without_flush()``. É " +"provável que ele faça com que dados enfileirados sejam perdidos, e você " +"quase certamente não precisará usá-lo. Ele está realmente lá somente se você " +"precisar que o processo atual saia imediatamente sem esperar para liberar " +"dados enfileirados para o encadeamento subjacente, e você não se importa com " +"dados perdidos." #: ../../library/multiprocessing.rst:904 msgid "" @@ -1022,21 +1324,32 @@ msgid "" "information. The same holds true for any of the specialized queue types " "listed below." msgstr "" +"A funcionalidade desta classe requer uma implementação de semáforo " +"compartilhado funcional no sistema operacional host. Sem uma, a " +"funcionalidade nesta classe será desabilitada, e as tentativas de instanciar " +"uma :class:`Queue` resultarão em um :exc:`ImportError`. Veja :issue:`3770` " +"para informações adicionais. O mesmo vale para qualquer um dos tipos de fila " +"especializados listados abaixo." #: ../../library/multiprocessing.rst:913 msgid "" "It is a simplified :class:`Queue` type, very close to a locked :class:`Pipe`." msgstr "" +"É um tipo :class:`Queue` simplificado, muito próximo de um :class:`Pipe` " +"travado." #: ../../library/multiprocessing.rst:917 msgid "Close the queue: release internal resources." -msgstr "" +msgstr "Fecha a fila: libera recursos internos." #: ../../library/multiprocessing.rst:919 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." +"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 "" +"Uma fila não deve mais ser usada depois de fechada. Por exemplo, os " +"métodos :meth:`get`, :meth:`put` e :meth:`empty` não devem mais ser chamados." #: ../../library/multiprocessing.rst:927 msgid "Return ``True`` if the queue is empty, ``False`` otherwise." @@ -1044,17 +1357,19 @@ msgstr "Retorna ``True`` se a fila estiver vazia, ``False`` caso contrário." #: ../../library/multiprocessing.rst:931 msgid "Remove and return an item from the queue." -msgstr "" +msgstr "Remove e retorna um item da fila." #: ../../library/multiprocessing.rst:935 msgid "Put *item* into the queue." -msgstr "" +msgstr "Coloca *item* na fila." #: ../../library/multiprocessing.rst:940 msgid "" ":class:`JoinableQueue`, a :class:`Queue` subclass, is a queue which " "additionally has :meth:`task_done` and :meth:`join` methods." msgstr "" +":class:`JoinableQueue`, uma subclasse de :class:`Queue`, é uma fila que " +"também possui os métodos :meth:`task_done` e :meth:`join`." #: ../../library/multiprocessing.rst:945 msgid "" @@ -1063,6 +1378,10 @@ msgid "" "call to :meth:`task_done` tells the queue that the processing on the task is " "complete." msgstr "" +"Indica que a tarefa anteriormente enfileirado está concluída. Para " +"cada :meth:`~Queue.get` usado para buscar uma tarefa, uma chamada " +"subsequente para :meth:`task_done` avisa à fila, que o processamento na " +"tarefa está concluído." #: ../../library/multiprocessing.rst:950 msgid "" @@ -1070,16 +1389,23 @@ msgid "" "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 "" +"Se um :meth:`~queue.Queue.join` estiver causando bloqueio no momento, ele " +"irá continuar quando todos os itens tiverem sido processados (significando " +"que uma chamada :meth:`task_done` foi recebida para cada item que foi " +"chamado o método :meth:`~Queue.put` para colocar na fila)." #: ../../library/multiprocessing.rst:954 msgid "" "Raises a :exc:`ValueError` if called more times than there were items placed " "in the queue." msgstr "" +"Levanta :exc:`ValueError` se for chamado mais vezes do que o número de itens " +"colocados na fila." #: ../../library/multiprocessing.rst:960 msgid "Block until all items in the queue have been gotten and processed." msgstr "" +"Bloqueia até que todos os itens na fila tenham sido obtidos e processados." #: ../../library/multiprocessing.rst:962 msgid "" @@ -1089,6 +1415,11 @@ msgid "" "the count of unfinished tasks drops to zero, :meth:`~queue.Queue.join` " "unblocks." msgstr "" +"A contagem de tarefas inacabadas aumenta sempre que um item é adicionado à " +"fila. A contagem diminui sempre que uma consumidora chama :meth:`task_done` " +"para indicar que o item foi recuperado e todo o trabalho nele foi concluído. " +"Quando a contagem de tarefas inacabadas chega a " +"zero, :meth:`~queue.Queue.join` desbloqueia." #: ../../library/multiprocessing.rst:970 msgid "Miscellaneous" @@ -1096,33 +1427,37 @@ msgstr "Diversos" #: ../../library/multiprocessing.rst:974 msgid "Return list of all live children of the current process." -msgstr "" +msgstr "Retorna a lista de todos os filhos ativos do processo atual." #: ../../library/multiprocessing.rst:976 msgid "" "Calling this has the side effect of \"joining\" any processes which have " "already finished." msgstr "" +"Chamar isso tem o efeito colateral de \"juntar\" quaisquer processos que já " +"tenham sido concluídos." #: ../../library/multiprocessing.rst:981 msgid "Return the number of CPUs in the system." -msgstr "" +msgstr "Retorna o número de CPUs no sistema." #: ../../library/multiprocessing.rst:983 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 ``len(os." -"sched_getaffinity(0))``" +"use. The number of usable CPUs can be obtained with " +"``len(os.sched_getaffinity(0))``" msgstr "" "Este número não é equivalente ao número de CPUs que o processo atual pode " -"usar. O número de CPUs utilizáveis ​​pode ser obtido com ``len(os." -"sched_getaffinity(0))``" +"usar. O número de CPUs utilizáveis pode ser obtido com " +"``len(os.sched_getaffinity(0))``" #: ../../library/multiprocessing.rst:987 msgid "" "When the number of CPUs cannot be determined a :exc:`NotImplementedError` is " "raised." msgstr "" +"Quando o número de CPUs não pode ser determinado, " +"uma :exc:`NotImplementedError` é levantada." #: ../../library/multiprocessing.rst:991 msgid ":func:`os.cpu_count`" @@ -1131,11 +1466,11 @@ msgstr ":func:`os.cpu_count`" #: ../../library/multiprocessing.rst:995 msgid "" "Return the :class:`Process` object corresponding to the current process." -msgstr "" +msgstr "Retorna o objeto :class:`Process` correspondente ao processo atual." #: ../../library/multiprocessing.rst:997 msgid "An analogue of :func:`threading.current_thread`." -msgstr "" +msgstr "Um análogo de :func:`threading.current_thread`." #: ../../library/multiprocessing.rst:1001 msgid "" @@ -1143,6 +1478,9 @@ msgid "" "the :func:`current_process`. For the main process, ``parent_process`` will " "be ``None``." msgstr "" +"Retorna o objeto :class:`Process` correspondente ao processo pai " +"do :func:`current_process`. Para o processo principal, ``parent_process`` " +"será ``None``." #: ../../library/multiprocessing.rst:1009 msgid "" @@ -1150,18 +1488,25 @@ msgid "" "frozen to produce a Windows executable. (Has been tested with **py2exe**, " "**PyInstaller** and **cx_Freeze**.)" msgstr "" +"Adiciona suporte para quando um programa que usa :mod:`multiprocessing` for " +"congelado para produzir um executável do Windows. (Foi testado com " +"**py2exe**, **PyInstaller** e **cx_Freeze**.)" #: ../../library/multiprocessing.rst:1013 msgid "" "One needs to call this function straight after the ``if __name__ == " "'__main__'`` line of the main module. For example::" msgstr "" +"É preciso chamar esta função logo após a linha ``if __name__ == '__main__'`` " +"do módulo principal. Por exemplo::" #: ../../library/multiprocessing.rst:1025 msgid "" "If the ``freeze_support()`` line is omitted then trying to run the frozen " "executable will raise :exc:`RuntimeError`." msgstr "" +"Se a linha ``freeze_support()`` for omitida, tentar executar o executável " +"congelado levantará :exc:`RuntimeError`." #: ../../library/multiprocessing.rst:1028 msgid "" @@ -1170,6 +1515,10 @@ msgid "" "by the Python interpreter on Windows (the program has not been frozen), then " "``freeze_support()`` has no effect." msgstr "" +"Chamar ``freeze_support()`` não tem efeito quando invocado em qualquer " +"sistema operacional que não seja o Windows. Além disso, se o módulo estiver " +"sendo executado normalmente pelo interpretador Python no Windows (o programa " +"não foi congelado), então ``freeze_support()`` não tem efeito." #: ../../library/multiprocessing.rst:1035 msgid "" @@ -1182,20 +1531,24 @@ msgstr "" #: ../../library/multiprocessing.rst:1045 msgid "" -"Return a context object which has the same attributes as the :mod:" -"`multiprocessing` module." +"Return a context object which has the same attributes as " +"the :mod:`multiprocessing` module." msgstr "" +"Retorna um objeto de contexto que possui os mesmos atributos do " +"módulo :mod:`multiprocessing`." #: ../../library/multiprocessing.rst:1048 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." +"*method* should be ``'fork'``, ``'spawn'``, " +"``'forkserver'``. :exc:`ValueError` is raised if the specified start method " +"is not available." msgstr "" #: ../../library/multiprocessing.rst:1057 msgid "Return the name of start method used for starting processes." msgstr "" +"Retorna o nome do método de inicialização usado para iniciar processos." #: ../../library/multiprocessing.rst:1059 msgid "" @@ -1203,6 +1556,10 @@ msgid "" "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." msgstr "" +"Se o método de início não tiver sido corrigido e *allow_none* for falso, " +"então o método de início será corrigido para o padrão e o nome será " +"retornado. Se o método de início não tiver sido corrigido e *allow_none* for " +"verdadeiro, então ``None`` será retornado." #: ../../library/multiprocessing.rst:1064 msgid "" @@ -1211,16 +1568,29 @@ msgid "" "default on Windows and macOS." msgstr "" +#: ../../library/multiprocessing.rst:1072 +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 "" +"No macOS, o método de inicialização *spawn* agora é o padrão. O método de " +"inicialização *fork* deve ser considerado inseguro, pois pode levar a " +"travamentos do subprocesso. Consulte :issue:`33725`." + #: ../../library/multiprocessing.rst:1078 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 "" +"Define o caminho do interpretador Python a ser usado ao iniciar um processo " +"filho. (Por padrão, :data:`sys.executable` é usado). Os incorporadores " +"provavelmente precisarão fazer algo como ::" #: ../../library/multiprocessing.rst:1084 msgid "before they can create child processes." -msgstr "" +msgstr "antes que eles possam criar processos filho." #: ../../library/multiprocessing.rst:1086 msgid "Now supported on Unix when the ``'spawn'`` start method is used." @@ -1233,77 +1603,104 @@ msgstr "Aceita um :term:`objeto caminho ou similar`." #: ../../library/multiprocessing.rst:1094 msgid "" "Set the method which should be used to start child processes. The *method* " -"argument can be ``'fork'``, ``'spawn'`` or ``'forkserver'``. Raises :exc:" -"`RuntimeError` if the start method has already been set and *force* is not " -"``True``. If *method* is ``None`` and *force* is ``True`` then the start " -"method is set to ``None``. If *method* is ``None`` and *force* is ``False`` " -"then the context is set to the default context." -msgstr "" +"argument can be ``'fork'``, ``'spawn'`` or ``'forkserver'``. " +"Raises :exc:`RuntimeError` if the start method has already been set and " +"*force* is not ``True``. If *method* is ``None`` and *force* is ``True`` " +"then the start method is set to ``None``. If *method* is ``None`` and " +"*force* is ``False`` then the context is set to the default context." +msgstr "" +"Define o método que deve ser usado para iniciar processos filhos. O " +"argumento *method* pode ser ``'fork'``, ``'spawn'`` ou ``'forkserver'``. " +"Levanta :exc:`RuntimeError` se o método de inicialização já tiver sido " +"definido e *force* não for ``True``. Se *method* for ``None`` e *force* for " +"``True``, o método de inicialização será definido como ``None``. Se *method* " +"for ``None`` e *force* for ``False``, o contexto será definido como o " +"contexto padrão." #: ../../library/multiprocessing.rst:1101 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 "" +"Observe que isso deve ser chamado no máximo uma vez e deve ser protegido " +"dentro da cláusula ``if __name__ == '__main__'`` do módulo principal." #: ../../library/multiprocessing.rst:1109 msgid "" -":mod:`multiprocessing` contains no analogues of :func:`threading." -"active_count`, :func:`threading.enumerate`, :func:`threading.settrace`, :" -"func:`threading.setprofile`, :class:`threading.Timer`, or :class:`threading." -"local`." +":mod:`multiprocessing` contains no analogues " +"of :func:`threading.active_count`, :func:`threading.enumerate`, :func:`threading.settrace`, :func:`threading.setprofile`, :class:`threading.Timer`, " +"or :class:`threading.local`." msgstr "" +":mod:`multiprocessing` não contém equivalentes " +"a :func:`threading.active_count`, :func:`threading.enumerate`, :func:`threading.settrace`, :func:`threading.setprofile`, :class:`threading.Timer` " +"ou :class:`threading.local`." #: ../../library/multiprocessing.rst:1116 msgid "Connection Objects" -msgstr "" +msgstr "Objetos de conexão" #: ../../library/multiprocessing.rst:1120 msgid "" "Connection objects allow the sending and receiving of picklable objects or " "strings. They can be thought of as message oriented connected sockets." msgstr "" +"Objetos de conexão permitem o envio e recebimento de strings e objetos que " +"podem ser serializados com pickle. Eles podem ser pensados como sockets " +"conectados orientados a mensagens." #: ../../library/multiprocessing.rst:1123 msgid "" -"Connection objects are usually created using :func:`Pipe ` -- see also :ref:`multiprocessing-listeners-clients`." +"Connection objects are usually created using :func:`Pipe " +"` -- see also :ref:`multiprocessing-listeners-clients`." msgstr "" +"Objetos de conexão geralmente são criados usando :func:`Pipe " +"` -- veja também :ref:`multiprocessing-listeners-" +"clients`." #: ../../library/multiprocessing.rst:1131 msgid "" "Send an object to the other end of the connection which should be read " "using :meth:`recv`." msgstr "" +"Envia um objeto para a outra extremidade da conexão que deve ser lido " +"usando :meth:`recv`." #: ../../library/multiprocessing.rst:1134 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 "" +"O objeto deve poder ser serializado com pickle. Serializações muito grandes " +"com pickles (aproximadamente 32 MiB+, embora isso dependa do sistema " +"operacional) podem levantar uma exceção :exc:`ValueError`." #: ../../library/multiprocessing.rst:1139 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." +"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 "" +"Retorna um objeto enviado a partir da outra extremidade da conexão " +"usando :meth:`send`. Bloqueia até que haja algo para receber. " +"Levanta :exc:`EOFError` se não houver mais nada para receber e a outra " +"extremidade tenha sido fechada." #: ../../library/multiprocessing.rst:1146 msgid "Return the file descriptor or handle used by the connection." -msgstr "" +msgstr "Retorna o descritor de arquivo ou identificador usado pela conexão." #: ../../library/multiprocessing.rst:1150 msgid "Close the connection." -msgstr "" +msgstr "Fecha a conexão." #: ../../library/multiprocessing.rst:1152 msgid "This is called automatically when the connection is garbage collected." -msgstr "" +msgstr "Isso é chamado automaticamente quando a conexão é coletada como lixo." #: ../../library/multiprocessing.rst:1156 msgid "Return whether there is any data available to be read." -msgstr "" +msgstr "Retorna se há algum dado disponível para leitura." #: ../../library/multiprocessing.rst:1158 msgid "" @@ -1311,44 +1708,63 @@ msgid "" "is a number then this specifies the maximum time in seconds to block. If " "*timeout* is ``None`` then an infinite timeout is used." msgstr "" +"Se *timeout* não for especificado, ele retornará imediatamente. Se *timeout* " +"for um número, isso especificará o tempo máximo em segundos para bloquear. " +"Se *timeout* for ``None``, um tempo limite infinito será usado." #: ../../library/multiprocessing.rst:1162 msgid "" -"Note that multiple connection objects may be polled at once by using :func:" -"`multiprocessing.connection.wait`." +"Note that multiple connection objects may be polled at once by " +"using :func:`multiprocessing.connection.wait`." msgstr "" +"Observe que vários objetos de conexão podem ser pesquisados ao mesmo tempo " +"usando :func:`multiprocessing.connection.wait`." #: ../../library/multiprocessing.rst:1167 msgid "Send byte data from a :term:`bytes-like object` as a complete message." msgstr "" +"Enviar dados de bytes de um :term:`objeto bytes ou similar` como uma " +"mensagem completa." #: ../../library/multiprocessing.rst:1169 msgid "" "If *offset* is given then data is read from that position in *buffer*. If " "*size* is given then that many bytes will be read from buffer. Very large " -"buffers (approximately 32 MiB+, though it depends on the OS) may raise a :" -"exc:`ValueError` exception" +"buffers (approximately 32 MiB+, though it depends on the OS) may raise " +"a :exc:`ValueError` exception" msgstr "" +"Se *offset* for fornecido, os dados serão lidos daquela posição em *buffer*. " +"Se *size* for fornecido, essa quantidade de bytes será lida do buffer. " +"Buffers muito grandes (aproximadamente 32 MiB+, embora isso dependa do " +"sistema operacional) podem levantar uma exceção :exc:`ValueError`" #: ../../library/multiprocessing.rst:1176 msgid "" "Return a complete message of byte data sent from the other end of the " -"connection as a string. Blocks until there is something to receive. Raises :" -"exc:`EOFError` if there is nothing left to receive and the other end has " -"closed." +"connection as a string. Blocks until there is something to receive. " +"Raises :exc:`EOFError` if there is nothing left to receive and the other end " +"has closed." msgstr "" +"Retorna uma mensagem completa de dados como bytes enviados a partir da outra " +"extremidade da conexão como uma string. Bloqueia até que haja algo para " +"receber. Levanta :exc:`EOFError` se não houver mais nada para receber e a " +"outra extremidade tenha sido fechada." #: ../../library/multiprocessing.rst:1181 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." +"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 "" +"Se *maxlength* for especificado e a mensagem for maior que " +"*maxlength*, :exc:`OSError` será levantada e a conexão não será mais legível." #: ../../library/multiprocessing.rst:1185 msgid "" -"This function used to raise :exc:`IOError`, which is now an alias of :exc:" -"`OSError`." +"This function used to raise :exc:`IOError`, which is now an alias " +"of :exc:`OSError`." msgstr "" +"Esta função costumava levantada :exc:`IOError`, que agora é um apelido " +"de :exc:`OSError`." #: ../../library/multiprocessing.rst:1192 msgid "" @@ -1357,6 +1773,10 @@ msgid "" "until there is something to receive. Raises :exc:`EOFError` if there is " "nothing left to receive and the other end was closed." msgstr "" +"Lê para *buffer* uma mensagem completa de dados como bytes enviados a partir " +"da outra extremidade da conexão e retorna o número de bytes na mensagem. " +"Bloqueia até que haja algo para receber. Levanta :exc:`EOFError` se não " +"houver mais nada para receber e a outra extremidade tenha sido fechada." #: ../../library/multiprocessing.rst:1198 msgid "" @@ -1364,6 +1784,10 @@ msgid "" "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* deve ser um :term:`objeto bytes ou similar` gravável. Se *offset* " +"for fornecido, a mensagem será escrita no buffer a partir dessa posição. A " +"posição deve ser um inteiro não negativo menor que o comprimento de *buffer* " +"(em bytes)." #: ../../library/multiprocessing.rst:1203 msgid "" @@ -1371,150 +1795,207 @@ msgid "" "and the complete message is available as ``e.args[0]`` where ``e`` is the " "exception instance." msgstr "" +"Se o buffer for muito curto, uma exceção :exc:`BufferTooShort` será " +"levantada e a mensagem completa estará disponível como ``e.args[0]``, onde " +"``e`` é a instância da exceção." #: ../../library/multiprocessing.rst:1207 msgid "" "Connection objects themselves can now be transferred between processes " "using :meth:`Connection.send` and :meth:`Connection.recv`." msgstr "" +"Os próprios objetos de conexão agora podem ser transferidos entre processos " +"usando :meth:`Connection.send` e :meth:`Connection.recv`." #: ../../library/multiprocessing.rst:1211 msgid "" -"Connection objects now support the context management protocol -- see :ref:" -"`typecontextmanager`. :meth:`~contextmanager.__enter__` returns the " -"connection object, and :meth:`~contextmanager.__exit__` calls :meth:`close`." +"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 "" +"Objetos de conexão agora também oferecem suporte ao protocolo de " +"gerenciamento de contexto — " +"veja :ref:`typecontextmanager`. :meth:`~contextmanager.__enter__` retorna o " +"objeto de conexão, e :meth:`~contextmanager.__exit__` chama :meth:`close`." -#: ../../library/multiprocessing.rst:1216 +#: ../../library/multiprocessing.rst:1215 msgid "For example:" msgstr "Por exemplo:" -#: ../../library/multiprocessing.rst:1241 +#: ../../library/multiprocessing.rst:1240 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 "" +"O método :meth:`Connection.recv` deserializa com picke automaticamente os " +"dados recebidos, o que pode ser um risco à segurança, a menos que você possa " +"confiar no processo que enviou a mensagem." -#: ../../library/multiprocessing.rst:1245 +#: ../../library/multiprocessing.rst:1244 msgid "" "Therefore, unless the connection object was produced using :func:`Pipe` you " "should only use the :meth:`~Connection.recv` and :meth:`~Connection.send` " -"methods after performing some sort of authentication. See :ref:" -"`multiprocessing-auth-keys`." +"methods after performing some sort of authentication. " +"See :ref:`multiprocessing-auth-keys`." msgstr "" +"Portanto, a menos que o objeto de conexão tenha sido produzido " +"usando :func:`Pipe`, você deve usar apenas os " +"métodos :meth:`~Connection.recv` e :meth:`~Connection.send` após executar " +"algum tipo de autenticação. Veja :ref:`multiprocessing-auth-keys`." -#: ../../library/multiprocessing.rst:1252 +#: ../../library/multiprocessing.rst:1251 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 "" +"Se um processo for encerrado enquanto estiver tentando ler ou escrever em um " +"encadeamento, os dados no encadeamento provavelmente serão corrompidos, " +"porque pode se tornar impossível ter certeza de onde estão os limites do " +"encadeamento da mensagem." -#: ../../library/multiprocessing.rst:1258 +#: ../../library/multiprocessing.rst:1257 msgid "Synchronization primitives" -msgstr "" +msgstr "Primitivas de sincronização" -#: ../../library/multiprocessing.rst:1262 +#: ../../library/multiprocessing.rst:1261 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." +"program as they are in a multithreaded program. See the documentation " +"for :mod:`threading` module." msgstr "" +"Geralmente, primitivas de sincronização não são tão necessárias em um " +"programa multiprocesso quanto em um programa multithread. Veja a " +"documentação do módulo :mod:`threading`." -#: ../../library/multiprocessing.rst:1266 +#: ../../library/multiprocessing.rst:1265 msgid "" "Note that one can also create synchronization primitives by using a manager " "object -- see :ref:`multiprocessing-managers`." msgstr "" +"Observe que também é possível criar primitivas de sincronização usando um " +"objeto gerenciador — veja :ref:`multiprocessing-managers`." -#: ../../library/multiprocessing.rst:1271 +#: ../../library/multiprocessing.rst:1270 msgid "A barrier object: a clone of :class:`threading.Barrier`." -msgstr "" +msgstr "Um objeto de barreira: um clone de :class:`threading.Barrier`." -#: ../../library/multiprocessing.rst:1277 +#: ../../library/multiprocessing.rst:1276 msgid "" -"A bounded semaphore object: a close analog of :class:`threading." -"BoundedSemaphore`." +"A bounded semaphore object: a close analog " +"of :class:`threading.BoundedSemaphore`." msgstr "" +"Um objeto semáforo delimitado: um análogo próximo " +"de :class:`threading.BoundedSemaphore`." -#: ../../library/multiprocessing.rst:1280 -#: ../../library/multiprocessing.rst:1418 +#: ../../library/multiprocessing.rst:1279 +#: ../../library/multiprocessing.rst:1417 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 "" +"Existe uma única diferença em relação ao seu análogo próximo: o primeiro " +"argumento do método ``acquire`` é chamado *block*, como é consistente " +"com :meth:`Lock.acquire`." -#: ../../library/multiprocessing.rst:1284 +#: ../../library/multiprocessing.rst:1283 msgid "" "On macOS, this is indistinguishable from :class:`Semaphore` because " "``sem_getvalue()`` is not implemented on that platform." msgstr "" +"No macOS, isso é indistinguível de :class:`Semaphore` porque " +"``sem_getvalue()`` não está implementado nessa plataforma." -#: ../../library/multiprocessing.rst:1289 +#: ../../library/multiprocessing.rst:1288 msgid "A condition variable: an alias for :class:`threading.Condition`." msgstr "" +"Uma variável de condição: um apelido para :class:`threading.Condition`." -#: ../../library/multiprocessing.rst:1291 +#: ../../library/multiprocessing.rst:1290 msgid "" "If *lock* is specified then it should be a :class:`Lock` or :class:`RLock` " "object from :mod:`multiprocessing`." msgstr "" +"Se *lock* for especificado, ele deverá ser um objeto :class:`Lock` " +"ou :class:`RLock` de :mod:`multiprocessing`." -#: ../../library/multiprocessing.rst:1294 -#: ../../library/multiprocessing.rst:1843 +#: ../../library/multiprocessing.rst:1293 +#: ../../library/multiprocessing.rst:1842 msgid "The :meth:`~threading.Condition.wait_for` method was added." -msgstr "" +msgstr "O método :meth:`~threading.Condition.wait_for` foi adicionado." -#: ../../library/multiprocessing.rst:1299 +#: ../../library/multiprocessing.rst:1298 msgid "A clone of :class:`threading.Event`." -msgstr "" +msgstr "Um clone de :class:`threading.Event`." -#: ../../library/multiprocessing.rst:1304 +#: ../../library/multiprocessing.rst:1303 msgid "" "A non-recursive lock object: a close analog of :class:`threading.Lock`. Once " "a process or thread has acquired a lock, subsequent attempts to acquire it " "from any process or thread will block until it is released; any process or " -"thread may release it. The concepts and behaviors of :class:`threading." -"Lock` as it applies to threads are replicated here in :class:" -"`multiprocessing.Lock` as it applies to either processes or threads, except " -"as noted." -msgstr "" - -#: ../../library/multiprocessing.rst:1312 +"thread may release it. The concepts and behaviors " +"of :class:`threading.Lock` as it applies to threads are replicated here " +"in :class:`multiprocessing.Lock` as it applies to either processes or " +"threads, except as noted." +msgstr "" +"Um objeto de trava não recursivo: um análogo próximo " +"de :class:`threading.Lock`. Uma vez que um processo ou thread tenha " +"adquirido um trava, tentativas subsequentes de adquiri-la de qualquer " +"processo ou thread bloquearão até que ele seja liberada; qualquer processo " +"ou thread pode liberá-la. Os conceitos e comportamentos " +"de :class:`threading.Lock` conforme se aplica a threads são replicados aqui " +"em :class:`multiprocessing.Lock` conforme se aplica a processos ou threads, " +"exceto conforme observado." + +#: ../../library/multiprocessing.rst:1311 msgid "" "Note that :class:`Lock` is actually a factory function which returns an " "instance of ``multiprocessing.synchronize.Lock`` initialized with a default " "context." msgstr "" +"Observe que :class:`Lock` é na verdade uma função de fábrica que retorna uma " +"instância de ``multiprocessing.synchronize.Lock`` inicializada com um " +"contexto padrão." -#: ../../library/multiprocessing.rst:1316 +#: ../../library/multiprocessing.rst:1315 msgid "" ":class:`Lock` supports the :term:`context manager` protocol and thus may be " "used in :keyword:`with` statements." msgstr "" +":class:`Lock` oferece suporte ao protocolo :term:`gerenciador de contexto` " +"e, portanto, pode ser usado em instruções :keyword:`with`." -#: ../../library/multiprocessing.rst:1321 -#: ../../library/multiprocessing.rst:1372 +#: ../../library/multiprocessing.rst:1320 +#: ../../library/multiprocessing.rst:1371 msgid "Acquire a lock, blocking or non-blocking." -msgstr "" +msgstr "Adquire uma trava, bloqueante ou não." -#: ../../library/multiprocessing.rst:1323 +#: ../../library/multiprocessing.rst:1322 msgid "" "With the *block* argument set to ``True`` (the default), the method call " "will block until the lock is in an unlocked state, then set it to locked and " "return ``True``. Note that the name of this first argument differs from " "that in :meth:`threading.Lock.acquire`." msgstr "" +"Com o argumento *block* definido como ``True`` (o padrão), a chamada do " +"método bloqueará até que a trava esteja em um estado destravado, então o " +"definirá como travada e retornará ``True``. Observe que o nome deste " +"primeiro argumento difere daquele em :meth:`threading.Lock.acquire`." -#: ../../library/multiprocessing.rst:1328 +#: ../../library/multiprocessing.rst:1327 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 "" +"Com o argumento *block* definido como ``False``, a chamada do método não " +"bloqueia. Se a trava estiver atualmente em um estado travado, retorna " +"``False``; caso contrário, defina a trava para um estado travado e retorna " +"``True``." -#: ../../library/multiprocessing.rst:1332 +#: ../../library/multiprocessing.rst:1331 msgid "" "When invoked with a positive, floating-point value for *timeout*, block for " "at most the number of seconds specified by *timeout* as long as the lock can " @@ -1527,20 +2008,35 @@ msgid "" "``False`` and is thus ignored. Returns ``True`` if the lock has been " "acquired or ``False`` if the timeout period has elapsed." msgstr "" +"Quando invocado com um valor positivo de ponto flutuante para *timeout*, " +"bloqueie por no máximo o número de segundos especificado por *timeout* " +"enquanto a trava não puder ser adquirida. Invocações com um valor negativo " +"para *timeout* são equivalentes a um *timeout* de zero. Invocações com um " +"valor *timeout* de ``None`` (o padrão) definem o período de tempo limite " +"como infinito. Observe que o tratamento de valores negativos ou ``None`` " +"para *timeout* difere do comportamento implementado " +"em :meth:`threading.Lock.acquire`. O argumento *timeout* não tem implicações " +"práticas se o argumento *block* for definido como ``False`` e, portanto, for " +"ignorado. Retorna ``True`` se a trava tiver sido adquirida ou ``False`` se o " +"período de tempo limite tiver decorrido." -#: ../../library/multiprocessing.rst:1347 +#: ../../library/multiprocessing.rst:1346 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 "" +"Libera uma trava. Isso pode ser chamado de qualquer processo ou thread, não " +"apenas do processo ou thread que originalmente adquiriu a trava." -#: ../../library/multiprocessing.rst:1350 +#: ../../library/multiprocessing.rst:1349 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 "" +"O comportamento é o mesmo de :meth:`threading.Lock.release`, exceto que " +"quando invocado em uma trava desatravada, uma :exc:`ValueError` é levantada." -#: ../../library/multiprocessing.rst:1356 +#: ../../library/multiprocessing.rst:1355 msgid "" "A recursive lock object: a close analog of :class:`threading.RLock`. A " "recursive lock must be released by the process or thread that acquired it. " @@ -1548,21 +2044,32 @@ msgid "" "thread may acquire it again without blocking; that process or thread must " "release it once for each time it has been acquired." msgstr "" +"Um objeto de trava recursiva: um análogo próximo " +"de :class:`threading.RLock`. Uma trava recursiva deve ser liberada pelo " +"processo ou thread que o adquiriu. Uma vez que um processo ou thread tenha " +"adquirido uma trava recursiva, o mesmo processo ou thread pode adquiri-la " +"novamente sem trava; esse processo ou thread deve liberá-la uma vez para " +"cada vez que ela foi adquirida." -#: ../../library/multiprocessing.rst:1362 +#: ../../library/multiprocessing.rst:1361 msgid "" "Note that :class:`RLock` is actually a factory function which returns an " "instance of ``multiprocessing.synchronize.RLock`` initialized with a default " "context." msgstr "" +"Observe que :class:`RLock` é na verdade uma função de fábrica que retorna " +"uma instância de ``multiprocessing.synchronize.RLock`` inicializada com um " +"contexto padrão." -#: ../../library/multiprocessing.rst:1366 +#: ../../library/multiprocessing.rst:1365 msgid "" ":class:`RLock` supports the :term:`context manager` protocol and thus may be " "used in :keyword:`with` statements." msgstr "" +":class:`RLock` oferece suporte ao protocolo :term:`gerenciador de contexto` " +"e, portanto, pode ser usado em instruções :keyword:`with`." -#: ../../library/multiprocessing.rst:1374 +#: ../../library/multiprocessing.rst:1373 msgid "" "When invoked with the *block* argument set to ``True``, block until the lock " "is in an unlocked state (not owned by any process or thread) unless the lock " @@ -1574,8 +2081,17 @@ msgid "" "of :meth:`threading.RLock.acquire`, starting with the name of the argument " "itself." msgstr "" +"Quando invocado com o argumento *block* definido como ``True``, bloqueia até " +"que a trava esteja em um estado destravado (não pertencente a nenhum " +"processo ou thread), a menos que a trava já seja de propriedade do processo " +"ou thread atual. O processo ou thread atual então assume a propriedade da " +"trava (se ainda não tiver propriedade) e o nível de recursão dentro de " +"incrementos por um da trava, resultando em um valor de retorno de ``True``. " +"Observe que há várias diferenças no comportamento deste primeiro argumento " +"em comparação com a implementação de :meth:`threading.RLock.acquire`, " +"começando pelo nome do argumento em si." -#: ../../library/multiprocessing.rst:1384 +#: ../../library/multiprocessing.rst:1383 msgid "" "When invoked with the *block* argument set to ``False``, do not block. If " "the lock has already been acquired (and thus is owned) by another process or " @@ -1585,15 +2101,26 @@ msgid "" "thread takes ownership and the recursion level is incremented, resulting in " "a return value of ``True``." msgstr "" +"Quando invocado com o argumento *block* definido como ``False``, não " +"bloqueie. Se a trava já tiver sido adquirida (e, portanto, for de " +"propriedade) por outro processo ou thread, o processo ou thread atual não " +"assume a propriedade e o nível de recursão dentro da trava não é alterada, " +"resultando em um valor de retorno de ``False``. Se a trava estiver em um " +"estado destravado, o processo ou thread atual assume a propriedade e o nível " +"de recursão é incrementado, resultando em um valor de retorno de ``True``." -#: ../../library/multiprocessing.rst:1392 +#: ../../library/multiprocessing.rst:1391 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`." +"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 "" +"O uso e os comportamentos do argumento *timeout* são os mesmos que " +"em :meth:`Lock.acquire`. Observe que alguns desses comportamentos de " +"*timeout* diferem dos comportamentos implementados " +"em :meth:`threading.RLock.acquire`." -#: ../../library/multiprocessing.rst:1399 +#: ../../library/multiprocessing.rst:1398 msgid "" "Release a lock, decrementing the recursion level. If after the decrement " "the recursion level is zero, reset the lock to unlocked (not owned by any " @@ -1602,76 +2129,108 @@ msgid "" "after the decrement the recursion level is still nonzero, the lock remains " "locked and owned by the calling process or thread." msgstr "" +"Libera uma trava, decrementando o nível de recursão. Se após o decremento o " +"nível de recursão for zero, redefine a trava para destravada (não " +"pertencente a nenhum processo ou thread) e se quaisquer outros processos ou " +"threads estiverem bloqueados esperando a trava ser destravada, permita que " +"exatamente um deles prossiga. Se após o decremento o nível de recursão ainda " +"for diferente de zero, o trava permanece travada e pertencente ao processo " +"ou thread de chamada." -#: ../../library/multiprocessing.rst:1407 +#: ../../library/multiprocessing.rst:1406 msgid "" -"Only call this method when the calling process or thread owns the lock. An :" -"exc:`AssertionError` is raised if this method is called by a process or " +"Only call this method when the calling process or thread owns the lock. " +"An :exc:`AssertionError` is raised if this method is called by a process or " "thread other than the owner or if the lock is in an unlocked (unowned) " "state. Note that the type of exception raised in this situation differs " "from the implemented behavior in :meth:`threading.RLock.release`." msgstr "" +"Somente chame esse método quando o processo ou thread de chamada for " +"proprietária da trava. Uma :exc:`AssertionError` é levantada se esse método " +"for chamado por um processo ou thread diferente do proprietário ou se a " +"trava estiver em um estado destravado (sem proprietário). Observe que o tipo " +"de exceção levantada nessa situação difere do comportamento implementado " +"em :meth:`threading.RLock.release`." -#: ../../library/multiprocessing.rst:1416 +#: ../../library/multiprocessing.rst:1415 msgid "A semaphore object: a close analog of :class:`threading.Semaphore`." msgstr "" +"Um objeto semáforo: um análogo próximo de :class:`threading.Semaphore`." -#: ../../library/multiprocessing.rst:1423 +#: ../../library/multiprocessing.rst:1422 msgid "" "On macOS, ``sem_timedwait`` is unsupported, so calling ``acquire()`` with a " "timeout will emulate that function's behavior using a sleeping loop." msgstr "" +"No macOS, não há suporte a ``sem_timedwait``, então chamar ``acquire()`` com " +"um tempo limite emulará o comportamento dessa função usando um laço de " +"suspensão." -#: ../../library/multiprocessing.rst:1428 +#: ../../library/multiprocessing.rst:1427 msgid "" "If the SIGINT signal generated by :kbd:`Ctrl-C` arrives while the main " -"thread is blocked by a call to :meth:`BoundedSemaphore.acquire`, :meth:`Lock." -"acquire`, :meth:`RLock.acquire`, :meth:`Semaphore.acquire`, :meth:`Condition." -"acquire` or :meth:`Condition.wait` then the call will be immediately " -"interrupted and :exc:`KeyboardInterrupt` will be raised." +"thread is blocked by a call " +"to :meth:`BoundedSemaphore.acquire`, :meth:`Lock.acquire`, :meth:`RLock.acquire`, :meth:`Semaphore.acquire`, :meth:`Condition.acquire` " +"or :meth:`Condition.wait` then the call will be immediately interrupted " +"and :exc:`KeyboardInterrupt` will be raised." msgstr "" -#: ../../library/multiprocessing.rst:1434 +#: ../../library/multiprocessing.rst:1433 msgid "" "This differs from the behaviour of :mod:`threading` where SIGINT will be " "ignored while the equivalent blocking calls are in progress." msgstr "" -#: ../../library/multiprocessing.rst:1439 +#: ../../library/multiprocessing.rst:1438 msgid "" "Some of this package's functionality requires a functioning shared semaphore " -"implementation on the host operating system. Without one, the :mod:" -"`multiprocessing.synchronize` module will be disabled, and attempts to " -"import it will result in an :exc:`ImportError`. See :issue:`3770` for " +"implementation on the host operating system. Without one, " +"the :mod:`multiprocessing.synchronize` module will be disabled, and attempts " +"to import it will result in an :exc:`ImportError`. See :issue:`3770` for " "additional information." msgstr "" +"Algumas das funcionalidades deste pacote exibem uma implementação de " +"semáforo compartilhado funcional no sistema operacional host. Sem uma, o " +"módulo :mod:`multiprocessing.synchronize` será desabilitado e as tentativas " +"de importação dele resultarão em um :exc:`ImportError`. Veja :issue:`3770` " +"para informações adicionais." -#: ../../library/multiprocessing.rst:1447 +#: ../../library/multiprocessing.rst:1446 msgid "Shared :mod:`ctypes` Objects" -msgstr "" +msgstr "Objetos :mod:`ctypes` compartilhados" -#: ../../library/multiprocessing.rst:1449 +#: ../../library/multiprocessing.rst:1448 msgid "" "It is possible to create shared objects using shared memory which can be " "inherited by child processes." msgstr "" +"É possível criar objetos compartilhados usando memória compartilhada que " +"pode ser herdada por processos filhos." -#: ../../library/multiprocessing.rst:1454 +#: ../../library/multiprocessing.rst:1453 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 "" +"Retorna um objeto :mod:`ctypes` alocado da memória compartilhada. Por " +"padrão, o valor de retorno é, na verdade, um invólucro sincronizado para o " +"objeto. O objeto em si pode ser acessado por meio do atributo *value* de " +"um :class:`Value`." -#: ../../library/multiprocessing.rst:1458 -#: ../../library/multiprocessing.rst:1545 +#: ../../library/multiprocessing.rst:1457 +#: ../../library/multiprocessing.rst:1544 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." +"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* determina o tipo do objeto retornado: é um tipo ctypes ou " +"um typecode de um caractere do tipo usado pelo módulo :mod:`array`. " +"*\\*args* é passado para o construtor para o tipo." -#: ../../library/multiprocessing.rst:1462 +#: ../../library/multiprocessing.rst:1461 msgid "" "If *lock* is ``True`` (the default) then a new recursive lock object is " "created to synchronize access to the value. If *lock* is a :class:`Lock` " @@ -1680,33 +2239,46 @@ msgid "" "be automatically protected by a lock, so it will not necessarily be " "\"process-safe\"." msgstr "" +"Se *lock* for ``True`` (o padrão), então um novo objeto de trava recursiva é " +"criado para sincronizar o acesso ao valor. Se *lock* for um " +"objeto :class:`Lock` ou :class:`RLock`, então ele será usado para " +"sincronizar o acesso ao valor. Se *lock* for ``False``, então o acesso ao " +"objeto retornado não será protegido automaticamente por uma trava, então ele " +"não será necessariamente \"seguro para processo\"." -#: ../../library/multiprocessing.rst:1469 +#: ../../library/multiprocessing.rst:1468 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 "" +"Operações como ``+=`` que envolvem uma leitura e escrita não são atômicas. " +"Então se, por exemplo, você quiser incrementar atomicamente um valor " +"compartilhado, não é suficiente apenas fazer ::" -#: ../../library/multiprocessing.rst:1475 +#: ../../library/multiprocessing.rst:1474 msgid "" "Assuming the associated lock is recursive (which it is by default) you can " "instead do ::" msgstr "" +"Supondo que a trava associada seja recursiva (o que é por padrão), você pode " +"fazer ::" -#: ../../library/multiprocessing.rst:1481 -#: ../../library/multiprocessing.rst:1571 -#: ../../library/multiprocessing.rst:1586 +#: ../../library/multiprocessing.rst:1480 +#: ../../library/multiprocessing.rst:1570 +#: ../../library/multiprocessing.rst:1585 msgid "Note that *lock* is a keyword-only argument." -msgstr "" +msgstr "Observe que *lock* é um argumento somente-nomeado." -#: ../../library/multiprocessing.rst:1485 +#: ../../library/multiprocessing.rst:1484 msgid "" "Return a ctypes array allocated from shared memory. By default the return " "value is actually a synchronized wrapper for the array." msgstr "" +"Retorna um vetor de ctypes alocado da memória compartilhada. Por padrão, o " +"valor de retorno é, na verdade, um invólucro sincronizado para o vetor." -#: ../../library/multiprocessing.rst:1488 +#: ../../library/multiprocessing.rst:1487 msgid "" "*typecode_or_type* determines the type of the elements of the returned " "array: it is either a ctypes type or a one character typecode of the kind " @@ -1715,39 +2287,56 @@ 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* determina o tipo dos elementos do vetor retornado: é um " +"tipo ctypes ou um typecode de um caractere do tipo usado pelo " +"módulo :mod:`array`. Se *size_or_initializer* for um inteiro, então ele " +"determina o comprimento do vetor, e o vetor será inicialmente zerado. Caso " +"contrário, *size_or_initializer* é uma sequência que é usada para " +"inicializar o vetor e cujo comprimento determina o comprimento do vetor." -#: ../../library/multiprocessing.rst:1495 +#: ../../library/multiprocessing.rst:1494 msgid "" "If *lock* is ``True`` (the default) then a new lock object is created to " -"synchronize access to the value. If *lock* is a :class:`Lock` or :class:" -"`RLock` object then that will be used to synchronize access to the value. " -"If *lock* is ``False`` then access to the returned object will not be " -"automatically protected by a lock, so it will not necessarily be \"process-" -"safe\"." +"synchronize access to the value. If *lock* is a :class:`Lock` " +"or :class:`RLock` object then that will be used to synchronize access to the " +"value. If *lock* is ``False`` then access to the returned object will not " +"be automatically protected by a lock, so it will not necessarily be " +"\"process-safe\"." msgstr "" +"Se *lock* for ``True`` (o padrão), então um novo objeto de trava é criado " +"para sincronizar o acesso ao valor. Se *lock* for um objeto :class:`Lock` " +"ou :class:`RLock`, então ele será usado para sincronizar o acesso ao valor. " +"Se *lock* for ``False``, então o acesso ao objeto retornado não será " +"protegido automaticamente por uma trava, então ele não será necessariamente " +"\"seguro para processo\"." -#: ../../library/multiprocessing.rst:1502 +#: ../../library/multiprocessing.rst:1501 msgid "Note that *lock* is a keyword only argument." -msgstr "" +msgstr "Observe que *lock* é um argumento somente-nomeado." -#: ../../library/multiprocessing.rst:1504 +#: ../../library/multiprocessing.rst:1503 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 "" +"Observe que um vetor de :data:`ctypes.c_char` tem atributos *value* e *raw* " +"que permitem usá-lo para armazenar e recuperar strings." -#: ../../library/multiprocessing.rst:1509 +#: ../../library/multiprocessing.rst:1508 msgid "The :mod:`multiprocessing.sharedctypes` module" -msgstr "" +msgstr "O módulo :mod:`multiprocessing.sharedctypes`" -#: ../../library/multiprocessing.rst:1514 +#: ../../library/multiprocessing.rst:1513 msgid "" "The :mod:`multiprocessing.sharedctypes` module provides functions for " "allocating :mod:`ctypes` objects from shared memory which can be inherited " "by child processes." msgstr "" +"O módulo :mod:`multiprocessing.sharedctypes` fornece funções para alocar " +"objetos :mod:`ctypes` da memória compartilhada que podem ser herdados por " +"processos filhos." -#: ../../library/multiprocessing.rst:1520 +#: ../../library/multiprocessing.rst:1519 msgid "" "Although it is possible to store a pointer in shared memory remember that " "this will refer to a location in the address space of a specific process. " @@ -1755,12 +2344,17 @@ msgid "" "second process and trying to dereference the pointer from the second process " "may cause a crash." msgstr "" +"Embora seja possível armazenar um ponteiro na memória compartilhada, lembre-" +"se de que isso se referirá a um local no espaço de endereço de um processo " +"específico. No entanto, é bem provável que o ponteiro seja inválido no " +"contexto de um segundo processo e tentar desreferenciar o ponteiro do " +"segundo processo pode causar um travamento." -#: ../../library/multiprocessing.rst:1528 +#: ../../library/multiprocessing.rst:1527 msgid "Return a ctypes array allocated from shared memory." -msgstr "" +msgstr "Retorna um vetor de ctypes alocado da memória compartilhada." -#: ../../library/multiprocessing.rst:1530 +#: ../../library/multiprocessing.rst:1529 msgid "" "*typecode_or_type* determines the type of the elements of the returned " "array: it is either a ctypes type or a one character typecode of the kind " @@ -1769,165 +2363,198 @@ 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* determina o tipo dos elementos do vetor retornado: é um " +"tipo ctypes ou um typecode de um caractere do tipo usado pelo " +"módulo :mod:`array`. Se *size_or_initializer* for um inteiro, então ele " +"determina o comprimento do vetor, e o vetor será inicialmente zerado. Caso " +"contrário, *size_or_initializer* é uma sequência que é usada para " +"inicializar o vetor e cujo comprimento determina o comprimento do vetor." -#: ../../library/multiprocessing.rst:1537 +#: ../../library/multiprocessing.rst:1536 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." +"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 "" +"Observe que definir e obter um elemento é potencialmente não atômico -- " +"use :func:`Array` para garantir que o acesso seja sincronizado " +"automaticamente usando uma trava." -#: ../../library/multiprocessing.rst:1543 +#: ../../library/multiprocessing.rst:1542 msgid "Return a ctypes object allocated from shared memory." -msgstr "" +msgstr "Retorna um objeto ctypes alocado da memória compartilhada." -#: ../../library/multiprocessing.rst:1549 +#: ../../library/multiprocessing.rst:1548 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." +"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 "" +"Observe que definir e obter o valor é potencialmente não atômico -- " +"use :func:`Value` para garantir que o acesso seja sincronizado " +"automaticamente usando uma trava." -#: ../../library/multiprocessing.rst:1553 +#: ../../library/multiprocessing.rst:1552 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 "" +"Observe que um vetor de :data:`ctypes.c_char` tem atributos ``value`` e " +"``raw`` que permitem usá-la para armazenar e recuperar strings -- veja a " +"documentação de :mod:`ctypes`." -#: ../../library/multiprocessing.rst:1559 +#: ../../library/multiprocessing.rst:1558 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 "" +"O mesmo que :func:`RawArray`, exceto que dependendo do valor de *lock*, um " +"invólucro de sincronização seguro para processo pode ser retornado em vez de " +"um vetor de ctypes brutos." -#: ../../library/multiprocessing.rst:1563 -#: ../../library/multiprocessing.rst:1579 +#: ../../library/multiprocessing.rst:1562 +#: ../../library/multiprocessing.rst:1578 msgid "" "If *lock* is ``True`` (the default) then a new lock object is created to " -"synchronize access to the value. If *lock* is a :class:`~multiprocessing." -"Lock` or :class:`~multiprocessing.RLock` object then that will be used to " -"synchronize access to the value. If *lock* is ``False`` then access to the " -"returned object will not be automatically protected by a lock, so it will " -"not necessarily be \"process-safe\"." -msgstr "" - -#: ../../library/multiprocessing.rst:1575 +"synchronize access to the value. If *lock* is " +"a :class:`~multiprocessing.Lock` or :class:`~multiprocessing.RLock` object " +"then that will be used to synchronize access to the value. If *lock* is " +"``False`` then access to the returned object will not be automatically " +"protected by a lock, so it will not necessarily be \"process-safe\"." +msgstr "" +"Se *lock* for ``True`` (o padrão), então um novo objeto de trava é criado " +"para sincronizar o acesso ao valor. Se *lock* for um " +"objeto :class:`~multiprocessing.Lock` ou :class:`~multiprocessing.RLock`, " +"então ele será usado para sincronizar o acesso ao valor. Se *lock* for " +"``False``, então o acesso ao objeto retornado não será protegido " +"automaticamente por uma trava, então ele não será necessariamente \"seguro " +"para processo\"." + +#: ../../library/multiprocessing.rst:1574 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 "" +"O mesmo que :func:`RawValue`, exceto que dependendo do valor de *lock*, um " +"invólucro de sincronização seguro para processo pode ser retornado em vez de " +"um objeto ctypes brutos." -#: ../../library/multiprocessing.rst:1590 +#: ../../library/multiprocessing.rst:1589 msgid "" "Return a ctypes object allocated from shared memory which is a copy of the " "ctypes object *obj*." msgstr "" +"Retorna um objeto ctypes alocado da memória compartilhada que é uma cópia do " +"objeto ctypes *obj*." -#: ../../library/multiprocessing.rst:1595 +#: ../../library/multiprocessing.rst:1594 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." +"to synchronize access. If *lock* is ``None`` (the default) then " +"a :class:`multiprocessing.RLock` object is created automatically." msgstr "" +"Retorna um objeto invólucro seguro para o processo para um objeto ctypes que " +"usa *lock* para sincronizar o acesso. Se *lock* for ``None`` (o padrão), " +"então um objeto :class:`multiprocessing.RLock` é criado automaticamente." -#: ../../library/multiprocessing.rst:1599 +#: ../../library/multiprocessing.rst:1598 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." +"object it wraps: :meth:`get_obj` returns the wrapped object " +"and :meth:`get_lock` returns the lock object used for synchronization." msgstr "" -#: ../../library/multiprocessing.rst:1603 +#: ../../library/multiprocessing.rst:1602 msgid "" "Note that accessing the ctypes object through the wrapper can be a lot " "slower than accessing the raw ctypes object." msgstr "" -#: ../../library/multiprocessing.rst:1606 +#: ../../library/multiprocessing.rst:1605 msgid "Synchronized objects support the :term:`context manager` protocol." msgstr "" -#: ../../library/multiprocessing.rst:1610 +#: ../../library/multiprocessing.rst:1609 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 "" -#: ../../library/multiprocessing.rst:1615 +#: ../../library/multiprocessing.rst:1614 msgid "ctypes" msgstr "ctypes" -#: ../../library/multiprocessing.rst:1615 +#: ../../library/multiprocessing.rst:1614 msgid "sharedctypes using type" msgstr "sharedctypes using type" -#: ../../library/multiprocessing.rst:1615 +#: ../../library/multiprocessing.rst:1614 msgid "sharedctypes using typecode" msgstr "sharedctypes using typecode" -#: ../../library/multiprocessing.rst:1617 +#: ../../library/multiprocessing.rst:1616 msgid "c_double(2.4)" msgstr "c_double(2.4)" -#: ../../library/multiprocessing.rst:1617 +#: ../../library/multiprocessing.rst:1616 msgid "RawValue(c_double, 2.4)" msgstr "RawValue(c_double, 2.4)" -#: ../../library/multiprocessing.rst:1617 +#: ../../library/multiprocessing.rst:1616 msgid "RawValue('d', 2.4)" msgstr "RawValue('d', 2.4)" -#: ../../library/multiprocessing.rst:1618 +#: ../../library/multiprocessing.rst:1617 msgid "MyStruct(4, 6)" msgstr "MyStruct(4, 6)" -#: ../../library/multiprocessing.rst:1618 +#: ../../library/multiprocessing.rst:1617 msgid "RawValue(MyStruct, 4, 6)" msgstr "RawValue(MyStruct, 4, 6)" -#: ../../library/multiprocessing.rst:1619 +#: ../../library/multiprocessing.rst:1618 msgid "(c_short * 7)()" msgstr "(c_short * 7)()" -#: ../../library/multiprocessing.rst:1619 +#: ../../library/multiprocessing.rst:1618 msgid "RawArray(c_short, 7)" msgstr "RawArray(c_short, 7)" -#: ../../library/multiprocessing.rst:1619 +#: ../../library/multiprocessing.rst:1618 msgid "RawArray('h', 7)" msgstr "RawArray('h', 7)" -#: ../../library/multiprocessing.rst:1620 +#: ../../library/multiprocessing.rst:1619 msgid "(c_int * 3)(9, 2, 8)" msgstr "(c_int * 3)(9, 2, 8)" -#: ../../library/multiprocessing.rst:1620 +#: ../../library/multiprocessing.rst:1619 msgid "RawArray(c_int, (9, 2, 8))" msgstr "RawArray(c_int, (9, 2, 8))" -#: ../../library/multiprocessing.rst:1620 +#: ../../library/multiprocessing.rst:1619 msgid "RawArray('i', (9, 2, 8))" msgstr "RawArray('i', (9, 2, 8))" -#: ../../library/multiprocessing.rst:1624 +#: ../../library/multiprocessing.rst:1623 msgid "" "Below is an example where a number of ctypes objects are modified by a child " "process::" msgstr "" -#: ../../library/multiprocessing.rst:1662 +#: ../../library/multiprocessing.rst:1661 msgid "The results printed are ::" msgstr "" -#: ../../library/multiprocessing.rst:1675 +#: ../../library/multiprocessing.rst:1674 msgid "Managers" msgstr "Gerenciadores" -#: ../../library/multiprocessing.rst:1677 +#: ../../library/multiprocessing.rst:1676 msgid "" "Managers provide a way to create data which can be shared between different " "processes, including sharing over a network between processes running on " @@ -1936,39 +2563,44 @@ msgid "" "proxies." msgstr "" -#: ../../library/multiprocessing.rst:1686 +#: ../../library/multiprocessing.rst:1685 msgid "" "Returns a started :class:`~multiprocessing.managers.SyncManager` object " "which can be used for sharing objects between processes. The returned " "manager object corresponds to a spawned child process and has methods which " "will create shared objects and return corresponding proxies." msgstr "" +"Retorna um objeto :class:`~multiprocessing.managers.SyncManager` " +"inicializado que pode ser usado para compartilhar objetos entre processos. O " +"objeto gerenciador retornado corresponde a um processo filho gerado e tem " +"métodos que criarão objetos compartilhados e retornarão proxies " +"correspondentes." -#: ../../library/multiprocessing.rst:1694 +#: ../../library/multiprocessing.rst:1693 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:" +"their parent process exits. The manager classes are defined in " +"the :mod:`multiprocessing.managers` module:" msgstr "" -#: ../../library/multiprocessing.rst:1700 +#: ../../library/multiprocessing.rst:1699 msgid "Create a BaseManager object." msgstr "Criando um objeto BaseManager." -#: ../../library/multiprocessing.rst:1702 +#: ../../library/multiprocessing.rst:1701 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." +"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 "" -#: ../../library/multiprocessing.rst:1705 +#: ../../library/multiprocessing.rst:1704 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 "" -#: ../../library/multiprocessing.rst:1708 +#: ../../library/multiprocessing.rst:1707 msgid "" "*authkey* is the authentication key which will be used to check the validity " "of incoming connections to the server process. If *authkey* is ``None`` " @@ -1976,19 +2608,19 @@ msgid "" "it must be a byte string." msgstr "" -#: ../../library/multiprocessing.rst:1713 +#: ../../library/multiprocessing.rst:1712 msgid "" "*serializer* must be ``'pickle'`` (use :mod:`pickle` serialization) or " "``'xmlrpclib'`` (use :mod:`xmlrpc.client` serialization)." msgstr "" -#: ../../library/multiprocessing.rst:1716 +#: ../../library/multiprocessing.rst:1715 msgid "" -"*ctx* is a context object, or ``None`` (use the current context). See the :" -"func:`get_context` function." +"*ctx* is a context object, or ``None`` (use the current context). See " +"the :func:`get_context` function." msgstr "" -#: ../../library/multiprocessing.rst:1719 +#: ../../library/multiprocessing.rst:1718 msgid "" "*shutdown_timeout* is a timeout in seconds used to wait until the process " "used by the manager completes in the :meth:`shutdown` method. If the " @@ -1996,54 +2628,54 @@ msgid "" "also times out, the process is killed." msgstr "" -#: ../../library/multiprocessing.rst:1724 +#: ../../library/multiprocessing.rst:1723 msgid "Added the *shutdown_timeout* parameter." msgstr "" -#: ../../library/multiprocessing.rst:1729 +#: ../../library/multiprocessing.rst:1728 msgid "" "Start a subprocess to start the manager. If *initializer* is not ``None`` " "then the subprocess will call ``initializer(*initargs)`` when it starts." msgstr "" -#: ../../library/multiprocessing.rst:1734 +#: ../../library/multiprocessing.rst:1733 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::" +"the control of the Manager. The :class:`Server` object supports " +"the :meth:`serve_forever` method::" msgstr "" -#: ../../library/multiprocessing.rst:1743 +#: ../../library/multiprocessing.rst:1742 msgid ":class:`Server` additionally has an :attr:`address` attribute." msgstr "" -#: ../../library/multiprocessing.rst:1747 +#: ../../library/multiprocessing.rst:1746 msgid "Connect a local manager object to a remote manager process::" msgstr "" -#: ../../library/multiprocessing.rst:1755 +#: ../../library/multiprocessing.rst:1754 msgid "" -"Stop the process used by the manager. This is only available if :meth:" -"`start` has been used to start the server process." +"Stop the process used by the manager. This is only available " +"if :meth:`start` has been used to start the server process." msgstr "" -#: ../../library/multiprocessing.rst:1758 +#: ../../library/multiprocessing.rst:1757 msgid "This can be called multiple times." msgstr "" -#: ../../library/multiprocessing.rst:1762 +#: ../../library/multiprocessing.rst:1761 msgid "" "A classmethod which can be used for registering a type or callable with the " "manager class." msgstr "" -#: ../../library/multiprocessing.rst:1765 +#: ../../library/multiprocessing.rst:1764 msgid "" "*typeid* is a \"type identifier\" which is used to identify a particular " "type of shared object. This must be a string." msgstr "" -#: ../../library/multiprocessing.rst:1768 +#: ../../library/multiprocessing.rst:1767 msgid "" "*callable* is a callable used for creating objects for this type " "identifier. If a manager instance will be connected to the server using " @@ -2051,251 +2683,274 @@ msgid "" "then this can be left as ``None``." msgstr "" -#: ../../library/multiprocessing.rst:1774 +#: ../../library/multiprocessing.rst:1773 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 "" -#: ../../library/multiprocessing.rst:1778 +#: ../../library/multiprocessing.rst:1777 msgid "" "*exposed* is used to specify a sequence of method names which proxies for " -"this typeid should be allowed to access using :meth:`BaseProxy." -"_callmethod`. (If *exposed* is ``None`` then :attr:`proxytype._exposed_` is " -"used instead if it exists.) In the case where no exposed list is specified, " -"all \"public methods\" of the shared object will be accessible. (Here a " -"\"public method\" means any attribute which has a :meth:`~object.__call__` " -"method and whose name does not begin with ``'_'``.)" +"this typeid should be allowed to access " +"using :meth:`BaseProxy._callmethod`. (If *exposed* is ``None`` " +"then :attr:`proxytype._exposed_` is used instead if it exists.) In the case " +"where no exposed list is specified, all \"public methods\" of the shared " +"object will be accessible. (Here a \"public method\" means any attribute " +"which has a :meth:`~object.__call__` method and whose name does not begin " +"with ``'_'``.)" msgstr "" -#: ../../library/multiprocessing.rst:1787 +#: ../../library/multiprocessing.rst:1786 msgid "" "*method_to_typeid* is a mapping used to specify the return type of those " "exposed methods which should return a proxy. It maps method names to typeid " -"strings. (If *method_to_typeid* is ``None`` then :attr:`proxytype." -"_method_to_typeid_` is used instead if it exists.) If a method's name is " -"not a key of this mapping or if the mapping is ``None`` then the object " -"returned by the method will be copied by value." +"strings. (If *method_to_typeid* is ``None`` " +"then :attr:`proxytype._method_to_typeid_` is used instead if it exists.) If " +"a method's name is 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 "" -#: ../../library/multiprocessing.rst:1794 +#: ../../library/multiprocessing.rst:1793 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 "" -#: ../../library/multiprocessing.rst:1798 +#: ../../library/multiprocessing.rst:1797 msgid ":class:`BaseManager` instances also have one read-only property:" msgstr "" -#: ../../library/multiprocessing.rst:1802 +#: ../../library/multiprocessing.rst:1801 msgid "The address used by the manager." msgstr "" -#: ../../library/multiprocessing.rst:1804 +#: ../../library/multiprocessing.rst:1803 msgid "" -"Manager objects support the context management protocol -- see :ref:" -"`typecontextmanager`. :meth:`~contextmanager.__enter__` starts the server " -"process (if it has not already started) and then returns the manager " +"Manager objects support the context management protocol -- " +"see :ref:`typecontextmanager`. :meth:`~contextmanager.__enter__` starts the " +"server process (if it has not already started) and then returns the manager " "object. :meth:`~contextmanager.__exit__` calls :meth:`shutdown`." msgstr "" -#: ../../library/multiprocessing.rst:1810 +#: ../../library/multiprocessing.rst:1809 msgid "" "In previous versions :meth:`~contextmanager.__enter__` did not start the " "manager's server process if it was not already started." msgstr "" -#: ../../library/multiprocessing.rst:1815 +#: ../../library/multiprocessing.rst:1814 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`." +"of processes. Objects of this type are returned " +"by :func:`multiprocessing.Manager`." msgstr "" -#: ../../library/multiprocessing.rst:1819 +#: ../../library/multiprocessing.rst:1818 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 "" -#: ../../library/multiprocessing.rst:1825 +#: ../../library/multiprocessing.rst:1824 msgid "" "Create a shared :class:`threading.Barrier` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1832 +#: ../../library/multiprocessing.rst:1831 msgid "" "Create a shared :class:`threading.BoundedSemaphore` object and return a " "proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1837 +#: ../../library/multiprocessing.rst:1836 msgid "" "Create a shared :class:`threading.Condition` object and return a proxy for " "it." msgstr "" -#: ../../library/multiprocessing.rst:1840 +#: ../../library/multiprocessing.rst:1839 msgid "" -"If *lock* is supplied then it should be a proxy for a :class:`threading." -"Lock` or :class:`threading.RLock` object." +"If *lock* is supplied then it should be a proxy for " +"a :class:`threading.Lock` or :class:`threading.RLock` object." msgstr "" -#: ../../library/multiprocessing.rst:1848 +#: ../../library/multiprocessing.rst:1847 msgid "" "Create a shared :class:`threading.Event` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1852 +#: ../../library/multiprocessing.rst:1851 msgid "" "Create a shared :class:`threading.Lock` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1856 +#: ../../library/multiprocessing.rst:1855 msgid "Create a shared :class:`Namespace` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1860 +#: ../../library/multiprocessing.rst:1859 msgid "Create a shared :class:`queue.Queue` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1864 +#: ../../library/multiprocessing.rst:1863 msgid "" "Create a shared :class:`threading.RLock` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1868 +#: ../../library/multiprocessing.rst:1867 msgid "" "Create a shared :class:`threading.Semaphore` object and return a proxy for " "it." msgstr "" -#: ../../library/multiprocessing.rst:1873 +#: ../../library/multiprocessing.rst:1872 msgid "Create an array and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1877 +#: ../../library/multiprocessing.rst:1876 msgid "" "Create an object with a writable ``value`` attribute and return a proxy for " "it." msgstr "" -#: ../../library/multiprocessing.rst:1884 +#: ../../library/multiprocessing.rst:1883 msgid "Create a shared :class:`dict` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1889 +#: ../../library/multiprocessing.rst:1888 msgid "Create a shared :class:`list` object and return a proxy for it." msgstr "" -#: ../../library/multiprocessing.rst:1891 +#: ../../library/multiprocessing.rst:1890 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 "" +"Objetos compartilhados podem ser aninhados. Por exemplo, em um objeto " +"contêiner compartilhado, como uma lista compartilhada, é possível conter " +"outros objeto compartilhados que serão gerenciados e sincronizados " +"pelo :class:`SyncManager`." -#: ../../library/multiprocessing.rst:1898 +#: ../../library/multiprocessing.rst:1897 msgid "A type that can register with :class:`SyncManager`." msgstr "" -#: ../../library/multiprocessing.rst:1900 +#: ../../library/multiprocessing.rst:1899 msgid "" "A namespace object has no public methods, but does have writable attributes. " "Its representation shows the values of its attributes." msgstr "" -#: ../../library/multiprocessing.rst:1903 +#: ../../library/multiprocessing.rst:1902 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 "" -#: ../../library/multiprocessing.rst:1919 +#: ../../library/multiprocessing.rst:1918 msgid "Customized managers" msgstr "" -#: ../../library/multiprocessing.rst:1921 +#: ../../library/multiprocessing.rst:1920 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 "" -#: ../../library/multiprocessing.rst:1946 +#: ../../library/multiprocessing.rst:1945 msgid "Using a remote manager" msgstr "" -#: ../../library/multiprocessing.rst:1948 +#: ../../library/multiprocessing.rst:1947 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 "" -#: ../../library/multiprocessing.rst:1951 +#: ../../library/multiprocessing.rst:1950 msgid "" "Running the following commands creates a server for a single shared queue " "which remote clients can access::" msgstr "" -#: ../../library/multiprocessing.rst:1963 +#: ../../library/multiprocessing.rst:1962 msgid "One client can access the server as follows::" msgstr "" -#: ../../library/multiprocessing.rst:1973 +#: ../../library/multiprocessing.rst:1972 msgid "Another client can also use it::" msgstr "" -#: ../../library/multiprocessing.rst:1984 +#: ../../library/multiprocessing.rst:1983 msgid "" "Local processes can also access that queue, using the code from above on the " "client to access it remotely::" msgstr "" -#: ../../library/multiprocessing.rst:2009 +#: ../../library/multiprocessing.rst:2008 msgid "Proxy Objects" -msgstr "" +msgstr "Objetos proxies" -#: ../../library/multiprocessing.rst:2011 +#: ../../library/multiprocessing.rst:2010 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 "" +"Um proxy é um objeto que *refere-se* a um objeto compartilhado que reside " +"(presumivelmente) em um processo diferente. Dizemos que o objeto " +"compartilhado é o *referente* do proxy. Vários objetos proxies podem ter o " +"mesmo referente." -#: ../../library/multiprocessing.rst:2015 +#: ../../library/multiprocessing.rst:2014 msgid "" "A proxy object has methods which invoke corresponding methods of its " "referent (although not every method of the referent will necessarily be " "available through the proxy). In this way, a proxy can be used just like " "its referent can:" msgstr "" +"Um proxy objeto tem métodos que invocam métodos correspondes de seu " +"referente (embora nem todo método do referente esteja necessariamente " +"disponível por meio do proxy). Dessa forma, um proxy pode ser usado da " +"mesma forma que seu referente:" -#: ../../library/multiprocessing.rst:2033 +#: ../../library/multiprocessing.rst:2032 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 "" +"Observe que, ao aplicar :func:`str` a um proxy, o retorno representará o " +"referente, enquanto que ao aplicar o :func:`repr`, o retorno representará o " +"proxy." -#: ../../library/multiprocessing.rst:2037 +#: ../../library/multiprocessing.rst:2036 msgid "" "An important feature of proxy objects is that they are picklable so they can " -"be passed between processes. As such, a referent can contain :ref:" -"`multiprocessing-proxy_objects`. This permits nesting of these managed " -"lists, dicts, and other :ref:`multiprocessing-proxy_objects`:" +"be passed between processes. As such, a referent can " +"contain :ref:`multiprocessing-proxy_objects`. This permits nesting of these " +"managed lists, dicts, and other :ref:`multiprocessing-proxy_objects`:" msgstr "" +"Um aspecto importante dos objetos proxies é o fato de que eles podem ser " +"serializados com pickle, portanto podem ser transferidos entre processos. " +"Dessa forma, um referente pode conter :ref:`multiprocessing-proxy_objects`. " +"Isso permite o aninhamento dessas listas e dicionários gerenciados e " +"outros :ref:`multiprocessing-proxy_objects`:" -#: ../../library/multiprocessing.rst:2053 +#: ../../library/multiprocessing.rst:2052 msgid "Similarly, dict and list proxies may be nested inside one another::" msgstr "" +"Da mesma forma, os proxies de dicionários e listas podem ser aninhados um " +"dentro do outro::" -#: ../../library/multiprocessing.rst:2066 +#: ../../library/multiprocessing.rst:2065 msgid "" "If standard (non-proxy) :class:`list` or :class:`dict` objects are contained " "in a referent, modifications to those mutable values will not be propagated " @@ -2305,134 +2960,147 @@ msgid "" "through the manager and so to effectively modify such an item, one could re-" "assign the modified value to the container proxy::" msgstr "" +"Se objetos padrões (não-proxy) de :class:`list` ou :class:`dict` estiverem " +"contidos em um referente, as modificações nesses mutáveis não serão " +"propagadas pelo gerente porque o proxy não tem como saber quando os valores " +"contidos nele são modificados. No entanto, o armazenamento de um valor em " +"um proxy contêiner (que aciona um ``__setitem__`` no objeto proxy) se " +"propaga pelo gerenciador e, portanto, para modificar efetivamente esse item, " +"é possível reatribuir o valor modificado ao proxy contêiner::" -#: ../../library/multiprocessing.rst:2085 +#: ../../library/multiprocessing.rst:2084 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." +"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 "" +"Essa abordagem talvez seja menos conveniente do que " +"usar :ref:`multiprocessing-proxy_objects` aninhados para a maioria dos casos " +"de uso, mas também demonstra um nível de controle sobre a sincronização." -#: ../../library/multiprocessing.rst:2091 +#: ../../library/multiprocessing.rst:2090 msgid "" "The proxy types in :mod:`multiprocessing` do nothing to support comparisons " "by value. So, for instance, we have:" msgstr "" +"Os tipos de proxies em :mod:`multiprocessing` não fazem nada com as " +"comparações de valor. Portanto, por exemplo, temos:" -#: ../../library/multiprocessing.rst:2099 +#: ../../library/multiprocessing.rst:2098 msgid "" "One should just use a copy of the referent instead when making comparisons." msgstr "" +"Em vez disso, deve-se usar uma cópia do referente ao fazer comparações." -#: ../../library/multiprocessing.rst:2103 +#: ../../library/multiprocessing.rst:2102 msgid "Proxy objects are instances of subclasses of :class:`BaseProxy`." msgstr "" -#: ../../library/multiprocessing.rst:2107 +#: ../../library/multiprocessing.rst:2106 msgid "Call and return the result of a method of the proxy's referent." msgstr "" -#: ../../library/multiprocessing.rst:2109 +#: ../../library/multiprocessing.rst:2108 msgid "" "If ``proxy`` is a proxy whose referent is ``obj`` then the expression ::" msgstr "" -#: ../../library/multiprocessing.rst:2113 +#: ../../library/multiprocessing.rst:2112 msgid "will evaluate the expression ::" msgstr "" -#: ../../library/multiprocessing.rst:2117 +#: ../../library/multiprocessing.rst:2116 msgid "in the manager's process." msgstr "" -#: ../../library/multiprocessing.rst:2119 +#: ../../library/multiprocessing.rst:2118 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 "" -#: ../../library/multiprocessing.rst:2123 +#: ../../library/multiprocessing.rst:2122 msgid "" -"If an exception is raised by the call, then is re-raised by :meth:" -"`_callmethod`. If some other exception is raised in the manager's process " -"then this is converted into a :exc:`RemoteError` exception and is raised by :" -"meth:`_callmethod`." +"If an exception is raised by the call, then is re-raised " +"by :meth:`_callmethod`. If some other exception is raised in the manager's " +"process then this is converted into a :exc:`RemoteError` exception and is " +"raised by :meth:`_callmethod`." msgstr "" -#: ../../library/multiprocessing.rst:2128 +#: ../../library/multiprocessing.rst:2127 msgid "" "Note in particular that an exception will be raised if *methodname* has not " "been *exposed*." msgstr "" -#: ../../library/multiprocessing.rst:2131 +#: ../../library/multiprocessing.rst:2130 msgid "An example of the usage of :meth:`_callmethod`:" msgstr "" -#: ../../library/multiprocessing.rst:2147 +#: ../../library/multiprocessing.rst:2146 msgid "Return a copy of the referent." msgstr "" -#: ../../library/multiprocessing.rst:2149 +#: ../../library/multiprocessing.rst:2148 msgid "If the referent is unpicklable then this will raise an exception." msgstr "" -#: ../../library/multiprocessing.rst:2153 +#: ../../library/multiprocessing.rst:2152 msgid "Return a representation of the proxy object." msgstr "" -#: ../../library/multiprocessing.rst:2157 +#: ../../library/multiprocessing.rst:2156 msgid "Return the representation of the referent." msgstr "" -#: ../../library/multiprocessing.rst:2161 +#: ../../library/multiprocessing.rst:2160 msgid "Cleanup" -msgstr "" +msgstr "Limpeza" -#: ../../library/multiprocessing.rst:2163 +#: ../../library/multiprocessing.rst:2162 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 "" -#: ../../library/multiprocessing.rst:2166 +#: ../../library/multiprocessing.rst:2165 msgid "" "A shared object gets deleted from the manager process when there are no " "longer any proxies referring to it." msgstr "" -#: ../../library/multiprocessing.rst:2171 +#: ../../library/multiprocessing.rst:2170 msgid "Process Pools" msgstr "" -#: ../../library/multiprocessing.rst:2176 +#: ../../library/multiprocessing.rst:2175 msgid "" "One can create a pool of processes which will carry out tasks submitted to " "it with the :class:`Pool` class." msgstr "" -#: ../../library/multiprocessing.rst:2181 +#: ../../library/multiprocessing.rst:2180 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 "" -#: ../../library/multiprocessing.rst:2185 +#: ../../library/multiprocessing.rst:2184 msgid "" "*processes* is the number of worker processes to use. If *processes* is " "``None`` then the number returned by :func:`os.cpu_count` is used." msgstr "" -#: ../../library/multiprocessing.rst:2188 -#: ../../library/multiprocessing.rst:2749 +#: ../../library/multiprocessing.rst:2187 +#: ../../library/multiprocessing.rst:2748 msgid "" "If *initializer* is not ``None`` then each worker process will call " "``initializer(*initargs)`` when it starts." msgstr "" -#: ../../library/multiprocessing.rst:2191 +#: ../../library/multiprocessing.rst:2190 msgid "" "*maxtasksperchild* is the number of tasks a worker process can complete " "before it will exit and be replaced with a fresh worker process, to enable " @@ -2440,21 +3108,21 @@ msgid "" "which means worker processes will live as long as the pool." msgstr "" -#: ../../library/multiprocessing.rst:2196 +#: ../../library/multiprocessing.rst:2195 msgid "" "*context* can be used to specify the context used for starting the worker " -"processes. Usually a pool is created using the function :func:" -"`multiprocessing.Pool` or the :meth:`Pool` method of a context object. In " -"both cases *context* is set appropriately." +"processes. Usually a pool is created using the " +"function :func:`multiprocessing.Pool` or the :meth:`Pool` method of a " +"context object. In both cases *context* is set appropriately." msgstr "" -#: ../../library/multiprocessing.rst:2202 +#: ../../library/multiprocessing.rst:2201 msgid "" "Note that the methods of the pool object should only be called by the " "process which created the pool." msgstr "" -#: ../../library/multiprocessing.rst:2206 +#: ../../library/multiprocessing.rst:2205 msgid "" ":class:`multiprocessing.pool` objects have internal resources that need to " "be properly managed (like any other resource) by using the pool as a context " @@ -2462,22 +3130,22 @@ msgid "" "to do this can lead to the process hanging on finalization." msgstr "" -#: ../../library/multiprocessing.rst:2211 +#: ../../library/multiprocessing.rst:2210 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 "" -#: ../../library/multiprocessing.rst:2215 -msgid "*maxtasksperchild*" -msgstr "*maxtasksperchild*" +#: ../../library/multiprocessing.rst:2214 +msgid "Added the *maxtasksperchild* parameter." +msgstr "" -#: ../../library/multiprocessing.rst:2218 -msgid "*context*" -msgstr "*context*" +#: ../../library/multiprocessing.rst:2217 +msgid "Added the *context* parameter." +msgstr "Adicionado o parâmetro *context*." -#: ../../library/multiprocessing.rst:2223 +#: ../../library/multiprocessing.rst:2222 msgid "" "Worker processes within a :class:`Pool` typically live for the complete " "duration of the Pool's work queue. A frequent pattern found in other systems " @@ -2488,7 +3156,7 @@ msgid "" "ability to the end user." msgstr "" -#: ../../library/multiprocessing.rst:2233 +#: ../../library/multiprocessing.rst:2232 msgid "" "Call *func* with arguments *args* and keyword arguments *kwds*. It blocks " "until the result is ready. Given this blocks, :meth:`apply_async` is better " @@ -2496,14 +3164,14 @@ msgid "" "executed in one of the workers of the pool." msgstr "" -#: ../../library/multiprocessing.rst:2240 +#: ../../library/multiprocessing.rst:2239 msgid "" -"A variant of the :meth:`apply` method which returns a :class:" -"`~multiprocessing.pool.AsyncResult` object." +"A variant of the :meth:`apply` method which returns " +"a :class:`~multiprocessing.pool.AsyncResult` object." msgstr "" -#: ../../library/multiprocessing.rst:2243 -#: ../../library/multiprocessing.rst:2274 +#: ../../library/multiprocessing.rst:2242 +#: ../../library/multiprocessing.rst:2273 msgid "" "If *callback* is specified then it should be a callable which accepts a " "single argument. When the result becomes ready *callback* is applied to it, " @@ -2511,60 +3179,60 @@ msgid "" "applied instead." msgstr "" -#: ../../library/multiprocessing.rst:2248 -#: ../../library/multiprocessing.rst:2279 +#: ../../library/multiprocessing.rst:2247 +#: ../../library/multiprocessing.rst:2278 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 "" -#: ../../library/multiprocessing.rst:2252 -#: ../../library/multiprocessing.rst:2283 +#: ../../library/multiprocessing.rst:2251 +#: ../../library/multiprocessing.rst:2282 msgid "" "Callbacks should complete immediately since otherwise the thread which " "handles the results will get blocked." msgstr "" -#: ../../library/multiprocessing.rst:2257 +#: ../../library/multiprocessing.rst:2256 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 "" -#: ../../library/multiprocessing.rst:2261 +#: ../../library/multiprocessing.rst:2260 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 "" -#: ../../library/multiprocessing.rst:2265 +#: ../../library/multiprocessing.rst:2264 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 "" -#: ../../library/multiprocessing.rst:2271 +#: ../../library/multiprocessing.rst:2270 msgid "" -"A variant of the :meth:`.map` method which returns a :class:" -"`~multiprocessing.pool.AsyncResult` object." +"A variant of the :meth:`.map` method which returns " +"a :class:`~multiprocessing.pool.AsyncResult` object." msgstr "" -#: ../../library/multiprocessing.rst:2288 +#: ../../library/multiprocessing.rst:2287 msgid "A lazier version of :meth:`.map`." msgstr "" -#: ../../library/multiprocessing.rst:2290 +#: ../../library/multiprocessing.rst:2289 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 "" -#: ../../library/multiprocessing.rst:2295 +#: ../../library/multiprocessing.rst:2294 msgid "" "Also if *chunksize* is ``1`` then the :meth:`!next` method of the iterator " "returned by the :meth:`imap` method has an optional *timeout* parameter: " @@ -2572,107 +3240,108 @@ msgid "" "result cannot be returned within *timeout* seconds." msgstr "" -#: ../../library/multiprocessing.rst:2302 +#: ../../library/multiprocessing.rst:2301 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 "" -#: ../../library/multiprocessing.rst:2308 +#: ../../library/multiprocessing.rst:2307 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 "" -#: ../../library/multiprocessing.rst:2312 +#: ../../library/multiprocessing.rst:2311 msgid "" "Hence an *iterable* of ``[(1,2), (3, 4)]`` results in ``[func(1,2), " "func(3,4)]``." msgstr "" -#: ../../library/multiprocessing.rst:2319 +#: ../../library/multiprocessing.rst:2318 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 "" -#: ../../library/multiprocessing.rst:2327 +#: ../../library/multiprocessing.rst:2326 msgid "" "Prevents any more tasks from being submitted to the pool. Once all the " "tasks have been completed the worker processes will exit." msgstr "" -#: ../../library/multiprocessing.rst:2332 +#: ../../library/multiprocessing.rst:2331 msgid "" "Stops the worker processes immediately without completing outstanding work. " "When the pool object is garbage collected :meth:`terminate` will be called " "immediately." msgstr "" -#: ../../library/multiprocessing.rst:2338 +#: ../../library/multiprocessing.rst:2337 msgid "" -"Wait for the worker processes to exit. One must call :meth:`close` or :meth:" -"`terminate` before using :meth:`join`." +"Wait for the worker processes to exit. One must call :meth:`close` " +"or :meth:`terminate` before using :meth:`join`." msgstr "" -#: ../../library/multiprocessing.rst:2341 +#: ../../library/multiprocessing.rst:2340 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`." +"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 "" -#: ../../library/multiprocessing.rst:2349 +#: ../../library/multiprocessing.rst:2348 msgid "" -"The class of the result returned by :meth:`Pool.apply_async` and :meth:`Pool." -"map_async`." +"The class of the result returned by :meth:`Pool.apply_async` " +"and :meth:`Pool.map_async`." msgstr "" -#: ../../library/multiprocessing.rst:2354 +#: ../../library/multiprocessing.rst:2353 msgid "" "Return the result when it arrives. If *timeout* is not ``None`` and the " -"result does not arrive within *timeout* seconds then :exc:`multiprocessing." -"TimeoutError` is raised. If the remote call raised an exception then that " -"exception will be reraised by :meth:`get`." +"result does not arrive within *timeout* seconds " +"then :exc:`multiprocessing.TimeoutError` is raised. If the remote call " +"raised an exception then that exception will be reraised by :meth:`get`." msgstr "" -#: ../../library/multiprocessing.rst:2361 +#: ../../library/multiprocessing.rst:2360 msgid "Wait until the result is available or until *timeout* seconds pass." msgstr "" -#: ../../library/multiprocessing.rst:2365 +#: ../../library/multiprocessing.rst:2364 msgid "Return whether the call has completed." msgstr "" -#: ../../library/multiprocessing.rst:2369 +#: ../../library/multiprocessing.rst:2368 msgid "" -"Return whether the call completed without raising an exception. Will raise :" -"exc:`ValueError` if the result is not ready." +"Return whether the call completed without raising an exception. Will " +"raise :exc:`ValueError` if the result is not ready." msgstr "" -#: ../../library/multiprocessing.rst:2372 +#: ../../library/multiprocessing.rst:2371 msgid "" -"If the result is not ready, :exc:`ValueError` is raised instead of :exc:" -"`AssertionError`." +"If the result is not ready, :exc:`ValueError` is raised instead " +"of :exc:`AssertionError`." msgstr "" -#: ../../library/multiprocessing.rst:2376 +#: ../../library/multiprocessing.rst:2375 msgid "The following example demonstrates the use of a pool::" msgstr "" -#: ../../library/multiprocessing.rst:2403 +#: ../../library/multiprocessing.rst:2402 msgid "Listeners and Clients" msgstr "" -#: ../../library/multiprocessing.rst:2408 +#: ../../library/multiprocessing.rst:2407 msgid "" -"Usually message passing between processes is done using queues or by using :" -"class:`~Connection` objects returned by :func:`~multiprocessing.Pipe`." +"Usually message passing between processes is done using queues or by " +"using :class:`~Connection` objects returned by :func:`~multiprocessing.Pipe`." msgstr "" -#: ../../library/multiprocessing.rst:2412 +#: ../../library/multiprocessing.rst:2411 msgid "" "However, the :mod:`multiprocessing.connection` module allows some extra " "flexibility. It basically gives a high level message oriented API for " @@ -2681,74 +3350,74 @@ msgid "" "multiple connections at the same time." msgstr "" -#: ../../library/multiprocessing.rst:2421 +#: ../../library/multiprocessing.rst:2420 msgid "" "Send a randomly generated message to the other end of the connection and " "wait for a reply." msgstr "" -#: ../../library/multiprocessing.rst:2424 +#: ../../library/multiprocessing.rst:2423 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 "" -#: ../../library/multiprocessing.rst:2430 +#: ../../library/multiprocessing.rst:2429 msgid "" "Receive a message, calculate the digest of the message using *authkey* as " "the key, and then send the digest back." msgstr "" -#: ../../library/multiprocessing.rst:2433 +#: ../../library/multiprocessing.rst:2432 msgid "" -"If a welcome message is not received, then :exc:`~multiprocessing." -"AuthenticationError` is raised." +"If a welcome message is not received, " +"then :exc:`~multiprocessing.AuthenticationError` is raised." msgstr "" -#: ../../library/multiprocessing.rst:2438 +#: ../../library/multiprocessing.rst:2437 msgid "" "Attempt to set up a connection to the listener which is using address " "*address*, returning a :class:`~Connection`." msgstr "" -#: ../../library/multiprocessing.rst:2441 +#: ../../library/multiprocessing.rst:2440 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 "" -#: ../../library/multiprocessing.rst:2445 -#: ../../library/multiprocessing.rst:2480 +#: ../../library/multiprocessing.rst:2444 +#: ../../library/multiprocessing.rst:2479 msgid "" "If *authkey* is given and not None, it should be a byte string and will be " "used as the secret key for an HMAC-based authentication challenge. No " -"authentication is done if *authkey* is None. :exc:`~multiprocessing." -"AuthenticationError` is raised if authentication fails. See :ref:" -"`multiprocessing-auth-keys`." +"authentication is done if *authkey* is " +"None. :exc:`~multiprocessing.AuthenticationError` is raised if " +"authentication fails. See :ref:`multiprocessing-auth-keys`." msgstr "" -#: ../../library/multiprocessing.rst:2453 +#: ../../library/multiprocessing.rst:2452 msgid "" "A wrapper for a bound socket or Windows named pipe which is 'listening' for " "connections." msgstr "" -#: ../../library/multiprocessing.rst:2456 +#: ../../library/multiprocessing.rst:2455 msgid "" "*address* is the address to be used by the bound socket or named pipe of the " "listener object." msgstr "" -#: ../../library/multiprocessing.rst:2461 +#: ../../library/multiprocessing.rst:2460 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 "" -#: ../../library/multiprocessing.rst:2465 +#: ../../library/multiprocessing.rst:2464 msgid "" "*family* is the type of socket (or named pipe) to use. This can be one of " "the strings ``'AF_INET'`` (for a TCP socket), ``'AF_UNIX'`` (for a Unix " @@ -2762,49 +3431,50 @@ msgid "" "using :func:`tempfile.mkstemp`." msgstr "" -#: ../../library/multiprocessing.rst:2476 +#: ../../library/multiprocessing.rst:2475 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 "" -#: ../../library/multiprocessing.rst:2488 +#: ../../library/multiprocessing.rst:2487 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 "" -#: ../../library/multiprocessing.rst:2495 +#: ../../library/multiprocessing.rst:2494 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 "" -#: ../../library/multiprocessing.rst:2499 +#: ../../library/multiprocessing.rst:2498 msgid "Listener objects have the following read-only properties:" msgstr "" -#: ../../library/multiprocessing.rst:2503 +#: ../../library/multiprocessing.rst:2502 msgid "The address which is being used by the Listener object." msgstr "" -#: ../../library/multiprocessing.rst:2507 +#: ../../library/multiprocessing.rst:2506 msgid "" "The address from which the last accepted connection came. If this is " "unavailable then it is ``None``." msgstr "" -#: ../../library/multiprocessing.rst:2510 +#: ../../library/multiprocessing.rst:2509 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`." +"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 "" -#: ../../library/multiprocessing.rst:2517 +#: ../../library/multiprocessing.rst:2516 msgid "" "Wait till an object in *object_list* is ready. Returns the list of those " "objects in *object_list* which are ready. If *timeout* is a float then the " @@ -2813,76 +3483,78 @@ msgid "" "zero timeout." msgstr "" -#: ../../library/multiprocessing.rst:2523 +#: ../../library/multiprocessing.rst:2522 msgid "" "For both Unix and Windows, an object can appear in *object_list* if it is" msgstr "" -#: ../../library/multiprocessing.rst:2526 +#: ../../library/multiprocessing.rst:2525 msgid "a readable :class:`~multiprocessing.connection.Connection` object;" msgstr "" -#: ../../library/multiprocessing.rst:2527 +#: ../../library/multiprocessing.rst:2526 msgid "a connected and readable :class:`socket.socket` object; or" msgstr "" -#: ../../library/multiprocessing.rst:2528 +#: ../../library/multiprocessing.rst:2527 msgid "" -"the :attr:`~multiprocessing.Process.sentinel` attribute of a :class:" -"`~multiprocessing.Process` object." +"the :attr:`~multiprocessing.Process.sentinel` attribute of " +"a :class:`~multiprocessing.Process` object." msgstr "" -#: ../../library/multiprocessing.rst:2531 +#: ../../library/multiprocessing.rst:2530 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 "" -#: ../../library/multiprocessing.rst:2534 +#: ../../library/multiprocessing.rst:2533 msgid "" -"**Unix**: ``wait(object_list, timeout)`` almost equivalent ``select." -"select(object_list, [], [], timeout)``. The difference is that, if :func:" -"`select.select` is interrupted by a signal, it can raise :exc:`OSError` with " -"an error number of ``EINTR``, whereas :func:`wait` will not." +"**Unix**: ``wait(object_list, timeout)`` almost equivalent " +"``select.select(object_list, [], [], timeout)``. The difference is that, " +"if :func:`select.select` is interrupted by a signal, it can " +"raise :exc:`OSError` with an error number of ``EINTR``, whereas :func:`wait` " +"will not." msgstr "" -#: ../../library/multiprocessing.rst:2540 +#: ../../library/multiprocessing.rst:2539 msgid "" "**Windows**: An item in *object_list* must either be an integer handle which " "is waitable (according to the definition used by the documentation of the " -"Win32 function ``WaitForMultipleObjects()``) or it can be an object with a :" -"meth:`fileno` method which returns a socket handle or pipe handle. (Note " -"that pipe handles and socket handles are **not** waitable handles.)" +"Win32 function ``WaitForMultipleObjects()``) or it can be an object with " +"a :meth:`~io.IOBase.fileno` method which returns a socket handle or pipe " +"handle. (Note that pipe handles and socket handles are **not** waitable " +"handles.)" msgstr "" -#: ../../library/multiprocessing.rst:2550 +#: ../../library/multiprocessing.rst:2549 msgid "**Examples**" msgstr "" -#: ../../library/multiprocessing.rst:2552 +#: ../../library/multiprocessing.rst:2551 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 "" -#: ../../library/multiprocessing.rst:2571 +#: ../../library/multiprocessing.rst:2570 msgid "" "The following code connects to the server and receives some data from the " "server::" msgstr "" -#: ../../library/multiprocessing.rst:2588 +#: ../../library/multiprocessing.rst:2587 msgid "" "The following code uses :func:`~multiprocessing.connection.wait` to wait for " "messages from multiple processes at once::" msgstr "" -#: ../../library/multiprocessing.rst:2627 +#: ../../library/multiprocessing.rst:2626 msgid "Address Formats" msgstr "Formatos de Endereços" -#: ../../library/multiprocessing.rst:2629 +#: ../../library/multiprocessing.rst:2628 msgid "" "An ``'AF_INET'`` address is a tuple of the form ``(hostname, port)`` where " "*hostname* is a string and *port* is an integer." @@ -2890,13 +3562,13 @@ msgstr "" "Um endereço ``'AF_INET'`` é uma tupla na forma de ``(hostname, port)`` sendo " "*hostname* uma string e *port* um inteiro." -#: ../../library/multiprocessing.rst:2632 +#: ../../library/multiprocessing.rst:2631 msgid "" "An ``'AF_UNIX'`` address is a string representing a filename on the " "filesystem." msgstr "" -#: ../../library/multiprocessing.rst:2635 +#: ../../library/multiprocessing.rst:2634 msgid "" "An ``'AF_PIPE'`` address is a string of the form :samp:`r'\\\\\\\\\\\\.\\" "\\pipe\\\\\\\\{PipeName}'`. To use :func:`Client` to connect to a named " @@ -2905,17 +3577,17 @@ msgid "" "instead." msgstr "" -#: ../../library/multiprocessing.rst:2640 +#: ../../library/multiprocessing.rst:2639 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 "" -#: ../../library/multiprocessing.rst:2647 +#: ../../library/multiprocessing.rst:2646 msgid "Authentication keys" msgstr "" -#: ../../library/multiprocessing.rst:2649 +#: ../../library/multiprocessing.rst:2648 msgid "" "When one uses :meth:`Connection.recv `, the data received " "is automatically unpickled. Unfortunately unpickling data from an untrusted " @@ -2923,7 +3595,7 @@ msgid "" "use the :mod:`hmac` module to provide digest authentication." msgstr "" -#: ../../library/multiprocessing.rst:2655 +#: ../../library/multiprocessing.rst:2654 msgid "" "An authentication key is a byte string which can be thought of as a " "password: once a connection is established both ends will demand proof that " @@ -2931,56 +3603,56 @@ msgid "" "using the same key does **not** involve sending the key over the connection.)" msgstr "" -#: ../../library/multiprocessing.rst:2661 +#: ../../library/multiprocessing.rst:2660 msgid "" "If authentication is requested but no authentication key is specified then " -"the return value of ``current_process().authkey`` is used (see :class:" -"`~multiprocessing.Process`). This value will be automatically inherited by " -"any :class:`~multiprocessing.Process` object that the current process " -"creates. This means that (by default) all processes of a multi-process " -"program will share a single authentication key which can be used when " -"setting up connections between themselves." +"the return value of ``current_process().authkey`` is used " +"(see :class:`~multiprocessing.Process`). This value will be automatically " +"inherited by any :class:`~multiprocessing.Process` object that the current " +"process creates. This means that (by default) all processes of a multi-" +"process program will share a single authentication key which can be used " +"when setting up connections between themselves." msgstr "" -#: ../../library/multiprocessing.rst:2669 +#: ../../library/multiprocessing.rst:2668 msgid "" -"Suitable authentication keys can also be generated by using :func:`os." -"urandom`." +"Suitable authentication keys can also be generated by " +"using :func:`os.urandom`." msgstr "" -#: ../../library/multiprocessing.rst:2673 +#: ../../library/multiprocessing.rst:2672 msgid "Logging" msgstr "Gerando logs" -#: ../../library/multiprocessing.rst:2675 +#: ../../library/multiprocessing.rst:2674 msgid "" -"Some support for logging is available. Note, however, that the :mod:" -"`logging` package does not use process shared locks so it is possible " -"(depending on the handler type) for messages from different processes to get " -"mixed up." +"Some support for logging is available. Note, however, that " +"the :mod:`logging` package does not use process shared locks so it is " +"possible (depending on the handler type) for messages from different " +"processes to get mixed up." msgstr "" -#: ../../library/multiprocessing.rst:2682 +#: ../../library/multiprocessing.rst:2681 msgid "" "Returns the logger used by :mod:`multiprocessing`. If necessary, a new one " "will be created." msgstr "" -#: ../../library/multiprocessing.rst:2685 +#: ../../library/multiprocessing.rst:2684 msgid "" -"When first created the logger has level :data:`logging.NOTSET` and no " +"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 "" -#: ../../library/multiprocessing.rst:2689 +#: ../../library/multiprocessing.rst:2688 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 "" -#: ../../library/multiprocessing.rst:2696 +#: ../../library/multiprocessing.rst:2695 msgid "" "This function performs a call to :func:`get_logger` but in addition to " "returning the logger created by get_logger, it adds a handler which sends " @@ -2989,164 +3661,164 @@ msgid "" "``level`` argument." msgstr "" -#: ../../library/multiprocessing.rst:2702 +#: ../../library/multiprocessing.rst:2701 msgid "Below is an example session with logging turned on::" msgstr "" -#: ../../library/multiprocessing.rst:2717 +#: ../../library/multiprocessing.rst:2716 msgid "For a full table of logging levels, see the :mod:`logging` module." msgstr "" -#: ../../library/multiprocessing.rst:2721 +#: ../../library/multiprocessing.rst:2720 msgid "The :mod:`multiprocessing.dummy` module" msgstr "" -#: ../../library/multiprocessing.rst:2726 +#: ../../library/multiprocessing.rst:2725 msgid "" ":mod:`multiprocessing.dummy` replicates the API of :mod:`multiprocessing` " "but is no more than a wrapper around the :mod:`threading` module." msgstr "" -#: ../../library/multiprocessing.rst:2731 +#: ../../library/multiprocessing.rst:2730 msgid "" -"In particular, the ``Pool`` function provided by :mod:`multiprocessing." -"dummy` returns an instance of :class:`ThreadPool`, which is a subclass of :" -"class:`Pool` that supports all the same method calls but uses a pool of " -"worker threads rather than worker processes." +"In particular, the ``Pool`` function provided " +"by :mod:`multiprocessing.dummy` returns an instance of :class:`ThreadPool`, " +"which is a subclass of :class:`Pool` that supports all the same method calls " +"but uses a pool of worker threads rather than worker processes." msgstr "" -#: ../../library/multiprocessing.rst:2739 +#: ../../library/multiprocessing.rst:2738 msgid "" "A thread pool object which controls a pool of worker threads to which jobs " "can be submitted. :class:`ThreadPool` instances are fully interface " "compatible with :class:`Pool` instances, and their resources must also be " "properly managed, either by using the pool as a context manager or by " -"calling :meth:`~multiprocessing.pool.Pool.close` and :meth:`~multiprocessing." -"pool.Pool.terminate` manually." +"calling :meth:`~multiprocessing.pool.Pool.close` " +"and :meth:`~multiprocessing.pool.Pool.terminate` manually." msgstr "" -#: ../../library/multiprocessing.rst:2746 +#: ../../library/multiprocessing.rst:2745 msgid "" "*processes* is the number of worker threads to use. If *processes* is " "``None`` then the number returned by :func:`os.cpu_count` is used." msgstr "" -#: ../../library/multiprocessing.rst:2752 +#: ../../library/multiprocessing.rst:2751 msgid "" "Unlike :class:`Pool`, *maxtasksperchild* and *context* cannot be provided." msgstr "" -#: ../../library/multiprocessing.rst:2756 +#: ../../library/multiprocessing.rst:2755 msgid "" "A :class:`ThreadPool` shares the same interface as :class:`Pool`, which is " -"designed around a pool of processes and predates the introduction of the :" -"class:`concurrent.futures` module. As such, it inherits some operations " -"that don't make sense for a pool backed by threads, and it has its own type " -"for representing the status of asynchronous jobs, :class:`AsyncResult`, that " -"is not understood by any other libraries." +"designed around a pool of processes and predates the introduction of " +"the :class:`concurrent.futures` module. As such, it inherits some " +"operations that don't make sense for a pool backed by threads, and it has " +"its own type for representing the status of asynchronous " +"jobs, :class:`AsyncResult`, that is not understood by any other libraries." msgstr "" -#: ../../library/multiprocessing.rst:2763 +#: ../../library/multiprocessing.rst:2762 msgid "" -"Users should generally prefer to use :class:`concurrent.futures." -"ThreadPoolExecutor`, which has a simpler interface that was designed around " -"threads from the start, and which returns :class:`concurrent.futures.Future` " -"instances that are compatible with many other libraries, including :mod:" -"`asyncio`." +"Users should generally prefer to " +"use :class:`concurrent.futures.ThreadPoolExecutor`, which has a simpler " +"interface that was designed around threads from the start, and which " +"returns :class:`concurrent.futures.Future` instances that are compatible " +"with many other libraries, including :mod:`asyncio`." msgstr "" -#: ../../library/multiprocessing.rst:2773 +#: ../../library/multiprocessing.rst:2772 msgid "Programming guidelines" msgstr "" -#: ../../library/multiprocessing.rst:2775 +#: ../../library/multiprocessing.rst:2774 msgid "" "There are certain guidelines and idioms which should be adhered to when " "using :mod:`multiprocessing`." msgstr "" -#: ../../library/multiprocessing.rst:2780 +#: ../../library/multiprocessing.rst:2779 msgid "All start methods" msgstr "" -#: ../../library/multiprocessing.rst:2782 +#: ../../library/multiprocessing.rst:2781 msgid "The following applies to all start methods." msgstr "" -#: ../../library/multiprocessing.rst:2784 +#: ../../library/multiprocessing.rst:2783 msgid "Avoid shared state" msgstr "" -#: ../../library/multiprocessing.rst:2786 +#: ../../library/multiprocessing.rst:2785 msgid "" "As far as possible one should try to avoid shifting large amounts of data " "between processes." msgstr "" -#: ../../library/multiprocessing.rst:2789 +#: ../../library/multiprocessing.rst:2788 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 "" -#: ../../library/multiprocessing.rst:2793 +#: ../../library/multiprocessing.rst:2792 msgid "Picklability" msgstr "" -#: ../../library/multiprocessing.rst:2795 +#: ../../library/multiprocessing.rst:2794 msgid "Ensure that the arguments to the methods of proxies are picklable." msgstr "" -#: ../../library/multiprocessing.rst:2797 +#: ../../library/multiprocessing.rst:2796 msgid "Thread safety of proxies" msgstr "" -#: ../../library/multiprocessing.rst:2799 +#: ../../library/multiprocessing.rst:2798 msgid "" "Do not use a proxy object from more than one thread unless you protect it " "with a lock." msgstr "" -#: ../../library/multiprocessing.rst:2802 +#: ../../library/multiprocessing.rst:2801 msgid "" "(There is never a problem with different processes using the *same* proxy.)" msgstr "" -#: ../../library/multiprocessing.rst:2804 +#: ../../library/multiprocessing.rst:2803 msgid "Joining zombie processes" msgstr "" -#: ../../library/multiprocessing.rst:2806 +#: ../../library/multiprocessing.rst:2805 msgid "" "On Unix when a process finishes but has not been joined it becomes a zombie. " -"There should never be very many because each time a new process starts (or :" -"func:`~multiprocessing.active_children` is called) all completed processes " -"which have not yet been joined will be joined. Also calling a finished " -"process's :meth:`Process.is_alive ` will " -"join the process. Even so it is probably good practice to explicitly join " -"all the processes that you start." +"There should never be very many because each time a new process starts " +"(or :func:`~multiprocessing.active_children` is called) all completed " +"processes which have not yet been joined will be joined. Also calling a " +"finished process's :meth:`Process.is_alive " +"` will join the process. Even so it is " +"probably good practice to explicitly join all the processes that you start." msgstr "" -#: ../../library/multiprocessing.rst:2814 +#: ../../library/multiprocessing.rst:2813 msgid "Better to inherit than pickle/unpickle" msgstr "" -#: ../../library/multiprocessing.rst:2816 +#: ../../library/multiprocessing.rst:2815 msgid "" -"When using the *spawn* or *forkserver* start methods many types from :mod:" -"`multiprocessing` need to be picklable so that child processes can use " -"them. However, one should generally avoid sending shared objects to other " -"processes using pipes or queues. Instead you should arrange the program so " -"that a process which needs access to a shared resource created elsewhere can " -"inherit it from an ancestor process." +"When using the *spawn* or *forkserver* start methods many types " +"from :mod:`multiprocessing` need to be picklable so that child processes can " +"use them. However, one should generally avoid sending shared objects to " +"other processes using pipes or queues. Instead you should arrange the " +"program so that a process which needs access to a shared resource created " +"elsewhere can inherit it from an ancestor process." msgstr "" -#: ../../library/multiprocessing.rst:2824 +#: ../../library/multiprocessing.rst:2823 msgid "Avoid terminating processes" msgstr "" -#: ../../library/multiprocessing.rst:2826 +#: ../../library/multiprocessing.rst:2825 msgid "" "Using the :meth:`Process.terminate ` " "method to stop a process is liable to cause any shared resources (such as " @@ -3154,27 +3826,28 @@ msgid "" "become broken or unavailable to other processes." msgstr "" -#: ../../library/multiprocessing.rst:2832 +#: ../../library/multiprocessing.rst:2831 msgid "" -"Therefore it is probably best to only consider using :meth:`Process." -"terminate ` on processes which never use " -"any shared resources." +"Therefore it is probably best to only consider " +"using :meth:`Process.terminate ` on " +"processes which never use any shared resources." msgstr "" -#: ../../library/multiprocessing.rst:2836 +#: ../../library/multiprocessing.rst:2835 msgid "Joining processes that use queues" msgstr "" -#: ../../library/multiprocessing.rst:2838 +#: ../../library/multiprocessing.rst:2837 msgid "" "Bear in mind that a process that has put items in a queue will wait before " "terminating until all the buffered items are fed by the \"feeder\" thread to " -"the underlying pipe. (The child process can call the :meth:`Queue." -"cancel_join_thread ` method of the " -"queue to avoid this behaviour.)" +"the underlying pipe. (The child process can call " +"the :meth:`Queue.cancel_join_thread " +"` method of the queue to avoid " +"this behaviour.)" msgstr "" -#: ../../library/multiprocessing.rst:2844 +#: ../../library/multiprocessing.rst:2843 msgid "" "This means that whenever you use a queue you need to make sure that all " "items which have been put on the queue will eventually be removed before the " @@ -3183,21 +3856,21 @@ msgid "" "processes will be joined automatically." msgstr "" -#: ../../library/multiprocessing.rst:2850 +#: ../../library/multiprocessing.rst:2849 msgid "An example which will deadlock is the following::" msgstr "" -#: ../../library/multiprocessing.rst:2864 +#: ../../library/multiprocessing.rst:2863 msgid "" -"A fix here would be to swap the last two lines (or simply remove the ``p." -"join()`` line)." +"A fix here would be to swap the last two lines (or simply remove the " +"``p.join()`` line)." msgstr "" -#: ../../library/multiprocessing.rst:2867 +#: ../../library/multiprocessing.rst:2866 msgid "Explicitly pass resources to child processes" msgstr "" -#: ../../library/multiprocessing.rst:2869 +#: ../../library/multiprocessing.rst:2868 msgid "" "On Unix using the *fork* start method, a child process can make use of a " "shared resource created in a parent process using a global resource. " @@ -3205,7 +3878,7 @@ msgid "" "for the child process." msgstr "" -#: ../../library/multiprocessing.rst:2874 +#: ../../library/multiprocessing.rst:2873 msgid "" "Apart from making the code (potentially) compatible with Windows and the " "other start methods this also ensures that as long as the child process is " @@ -3214,144 +3887,145 @@ msgid "" "collected in the parent process." msgstr "" -#: ../../library/multiprocessing.rst:2881 +#: ../../library/multiprocessing.rst:2880 msgid "So for instance ::" msgstr "" -#: ../../library/multiprocessing.rst:2893 +#: ../../library/multiprocessing.rst:2892 msgid "should be rewritten as ::" msgstr "" -#: ../../library/multiprocessing.rst:2905 +#: ../../library/multiprocessing.rst:2904 msgid "Beware of replacing :data:`sys.stdin` with a \"file like object\"" msgstr "" -#: ../../library/multiprocessing.rst:2907 +#: ../../library/multiprocessing.rst:2906 msgid ":mod:`multiprocessing` originally unconditionally called::" msgstr "" -#: ../../library/multiprocessing.rst:2911 +#: ../../library/multiprocessing.rst:2910 msgid "" "in the :meth:`multiprocessing.Process._bootstrap` method --- this resulted " "in issues with processes-in-processes. This has been changed to::" msgstr "" -#: ../../library/multiprocessing.rst:2917 +#: ../../library/multiprocessing.rst:2916 msgid "" "Which solves the fundamental issue of processes colliding with each other " "resulting in a bad file descriptor error, but introduces a potential danger " "to applications which replace :func:`sys.stdin` with a \"file-like object\" " -"with output buffering. This danger is that if multiple processes call :meth:" -"`~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." +"with output buffering. This danger is that if multiple processes " +"call :meth:`~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 "" -#: ../../library/multiprocessing.rst:2924 +#: ../../library/multiprocessing.rst:2923 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 "" -#: ../../library/multiprocessing.rst:2936 +#: ../../library/multiprocessing.rst:2935 msgid "" "For more information, see :issue:`5155`, :issue:`5313` and :issue:`5331`" msgstr "" -#: ../../library/multiprocessing.rst:2939 +#: ../../library/multiprocessing.rst:2938 msgid "The *spawn* and *forkserver* start methods" msgstr "" -#: ../../library/multiprocessing.rst:2941 +#: ../../library/multiprocessing.rst:2940 msgid "" -"There are a few extra restriction which don't apply to the *fork* start " +"There are a few extra restrictions which don't apply to the *fork* start " "method." msgstr "" -#: ../../library/multiprocessing.rst:2944 +#: ../../library/multiprocessing.rst:2943 msgid "More picklability" msgstr "" -#: ../../library/multiprocessing.rst:2946 +#: ../../library/multiprocessing.rst:2945 msgid "" "Ensure that all arguments to :meth:`Process.__init__` are picklable. Also, " "if you subclass :class:`~multiprocessing.Process` then make sure that " -"instances will be picklable when the :meth:`Process.start ` method is called." +"instances will be picklable when the :meth:`Process.start " +"` method is called." msgstr "" -#: ../../library/multiprocessing.rst:2951 +#: ../../library/multiprocessing.rst:2950 msgid "Global variables" msgstr "" -#: ../../library/multiprocessing.rst:2953 +#: ../../library/multiprocessing.rst:2952 msgid "" "Bear in mind that if code run in a child process tries to access a global " "variable, then the value it sees (if any) may not be the same as the value " -"in the parent process at the time that :meth:`Process.start ` was called." +"in the parent process at the time that :meth:`Process.start " +"` was called." msgstr "" -#: ../../library/multiprocessing.rst:2958 +#: ../../library/multiprocessing.rst:2957 msgid "" "However, global variables which are just module level constants cause no " "problems." msgstr "" -#: ../../library/multiprocessing.rst:2963 +#: ../../library/multiprocessing.rst:2962 msgid "Safe importing of main module" msgstr "" -#: ../../library/multiprocessing.rst:2965 +#: ../../library/multiprocessing.rst:2964 msgid "" "Make sure that the main module can be safely imported by a new Python " -"interpreter without causing unintended side effects (such a starting a new " +"interpreter without causing unintended side effects (such as starting a new " "process)." msgstr "" -#: ../../library/multiprocessing.rst:2969 +#: ../../library/multiprocessing.rst:2968 msgid "" "For example, using the *spawn* or *forkserver* start method running the " "following module would fail with a :exc:`RuntimeError`::" msgstr "" -#: ../../library/multiprocessing.rst:2981 +#: ../../library/multiprocessing.rst:2980 msgid "" "Instead one should protect the \"entry point\" of the program by using ``if " "__name__ == '__main__':`` as follows::" msgstr "" -#: ../../library/multiprocessing.rst:2995 +#: ../../library/multiprocessing.rst:2994 msgid "" "(The ``freeze_support()`` line can be omitted if the program will be run " "normally instead of frozen.)" msgstr "" -#: ../../library/multiprocessing.rst:2998 +#: ../../library/multiprocessing.rst:2997 msgid "" "This allows the newly spawned Python interpreter to safely import the module " "and then run the module's ``foo()`` function." msgstr "" -#: ../../library/multiprocessing.rst:3001 +#: ../../library/multiprocessing.rst:3000 msgid "" "Similar restrictions apply if a pool or manager is created in the main " "module." msgstr "" -#: ../../library/multiprocessing.rst:3008 +#: ../../library/multiprocessing.rst:3007 msgid "Examples" msgstr "Exemplos" -#: ../../library/multiprocessing.rst:3010 +#: ../../library/multiprocessing.rst:3009 msgid "Demonstration of how to create and use customized managers and proxies:" msgstr "" -#: ../../library/multiprocessing.rst:3016 +#: ../../library/multiprocessing.rst:3015 msgid "Using :class:`~multiprocessing.pool.Pool`:" msgstr "" -#: ../../library/multiprocessing.rst:3022 +#: ../../library/multiprocessing.rst:3021 msgid "" "An example showing how to use queues to feed tasks to a collection of worker " "processes and collect the results:" diff --git a/library/multiprocessing.shared_memory.po b/library/multiprocessing.shared_memory.po index 2437d9c6c..860a235db 100644 --- a/library/multiprocessing.shared_memory.po +++ b/library/multiprocessing.shared_memory.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Matheus Sartor, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,339 +42,395 @@ msgid "" "management of shared memory to be accessed by one or more processes on a " "multicore or symmetric multiprocessor (SMP) machine. To assist with the " "life-cycle management of shared memory especially across distinct processes, " -"a :class:`~multiprocessing.managers.BaseManager` subclass, :class:" -"`SharedMemoryManager`, is also provided in the ``multiprocessing.managers`` " -"module." +"a :class:`~multiprocessing.managers.BaseManager` " +"subclass, :class:`~multiprocessing.managers.SharedMemoryManager`, is also " +"provided in the :mod:`multiprocessing.managers` module." msgstr "" "Este módulo fornece uma classe, :class:`SharedMemory`, para a alocação e " "gerenciamento da memória compartilhada a ser acessada por um ou mais " "processos em uma máquina multicore ou de multiprocessamento simétrico (SMP). " "Para ajudar com o gerenciamento do ciclo de vida da memória compartilhada " -"especialmente entre processos distintos, uma subclasse de :class:" -"`~multiprocessing.managers.BaseManager`, :class:`SharedMemoryManager`, " -"também é fornecida no módulo ``multiprocessing.managers``" +"especialmente entre processos distintos, uma subclasse " +"de :class:`~multiprocessing.managers.BaseManager`, :class:`~multiprocessing.managers.SharedMemoryManager`, " +"também é fornecida no módulo :mod:`multiprocessing.managers`." #: ../../library/multiprocessing.shared_memory.rst:26 msgid "" -"In this module, shared memory refers to \"System V style\" shared memory " -"blocks (though is not necessarily implemented explicitly as such) and does " -"not refer to \"distributed shared memory\". This style of shared memory " -"permits distinct processes to potentially read and write to a common (or " -"shared) region of volatile memory. Processes are conventionally limited to " -"only have access to their own process memory space but shared memory permits " -"the sharing of data between processes, avoiding the need to instead send " +"In this module, shared memory refers to \"POSIX style\" shared memory blocks " +"(though is not necessarily implemented explicitly as such) and does not " +"refer to \"distributed shared memory\". This style of shared memory permits " +"distinct processes to potentially read and write to a common (or shared) " +"region of volatile memory. Processes are conventionally limited to only " +"have access to their own process memory space but shared memory permits the " +"sharing of data between processes, avoiding the need to instead send " "messages between processes containing that data. Sharing data directly via " "memory can provide significant performance benefits compared to sharing data " "via disk or socket or other communications requiring the serialization/" "deserialization and copying of data." msgstr "" "Neste módulo, memória compartilhada refere-se a blocos de memória " -"compartilhada no \"estilo UNIX SystemV\" (embora não seja necessariamente " +"compartilhada no \"estilo POSIX\" (embora não seja necessariamente " "implementado explicitamente como tal) e não se refere a \"memória " "compartilhada distribuída\". Este estilo de memória compartilhada permite " -"que processos distintos potencialmente leiam e escrevam em uma região " -"comum(ou compartilhada) de memória volátil. Os processos são " -"convencionalmente limitados a ter acesso somente ao próprio espaço de " -"memória de processo mas a memória compartilhada permite o compartilhamento " -"de dados entre processos, evitando a necessidade de enviar mensagens entre " -"processos contendo estes dados. Compartilhar dados diretamente via memória " -"pode fornecer ganhos de desempenho significativos comparado ao " -"compartilhamento de dados via disco ou soquete ou outras comunicações que " -"requerem a serialização/desserialização e cópia dos dados." +"que processos distintos potencialmente leiam e escrevam em uma região comum " +"(ou compartilhada) de memória volátil. Os processos são convencionalmente " +"limitados a ter acesso somente ao próprio espaço de memória de processo mas " +"a memória compartilhada permite o compartilhamento de dados entre processos, " +"evitando a necessidade de enviar mensagens entre processos contendo estes " +"dados. Compartilhar dados diretamente via memória pode fornecer ganhos de " +"desempenho significativos comparado ao compartilhamento de dados via disco " +"ou soquete ou outras comunicações que requerem a serialização/" +"desserialização e cópia dos dados." #: ../../library/multiprocessing.shared_memory.rst:41 msgid "" -"Creates a new shared memory block or attaches to an existing shared memory " -"block. Each shared memory block is assigned a unique name. In this way, one " -"process 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 "" -"Cria um novo bloco de memória compartilhado ou anexa a um bloco de memória " -"compartilhado existente. A cada bloco de memória compartilhado é atribuído " -"um nome único. Desta forma, um processo pode criar um bloco de memória " -"compartilhada com um nome particular e um processo diferente pode ser " -"anexado a esse mesmo bloco de memória compartilhada usando este mesmo nome." - -#: ../../library/multiprocessing.shared_memory.rst:47 +"Create an instance of the :class:`!SharedMemory` class for either creating a " +"new shared memory block or attaching to an existing shared memory block. " +"Each shared memory block is assigned a unique name. In this way, one process " +"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 "" +"Cria uma instância da classe :class:`!SharedMemory` para criar um novo bloco " +"de memória compartilhada ou anexar a um bloco de memória compartilhada " +"existente. A cada bloco de memória compartilhada é atribuído um nome único. " +"Desta forma, um processo pode criar um bloco de memória compartilhada com um " +"nome particular e um processo diferente pode ser anexado a esse mesmo bloco " +"de memória compartilhada usando este mesmo nome." + +#: ../../library/multiprocessing.shared_memory.rst:48 msgid "" "As a resource for sharing data across processes, shared memory blocks may " "outlive the original process that created them. When one process no longer " "needs access to a shared memory block that might still be needed by other " -"processes, the :meth:`close()` method should be called. When a shared memory " -"block is no longer needed by any process, the :meth:`unlink()` method should " +"processes, the :meth:`close` method should be called. When a shared memory " +"block is no longer needed by any process, the :meth:`unlink` method should " "be called to ensure proper cleanup." msgstr "" "Como um recurso para compartilhar dados entre processos, os blocos de " "memória compartilhada podem sobreviver ao processo original que os criou. " "Quando um processo não precisa mais acessar um bloco de memória " -"compartilhada que ainda pode ser necessário para outros processos, o método :" -"meth:`close()` deve ser chamado. Quando um bloco de memória compartilhada " -"não é mais necessário para nenhum processo, o método :meth:`unlink()` deve " -"ser chamado para garantir a limpeza apropriada." +"compartilhada que ainda pode ser necessário para outros processos, o " +"método :meth:`close` deve ser chamado. Quando um bloco de memória " +"compartilhada não é mais necessário para nenhum processo, o " +"método :meth:`unlink` deve ser chamado para garantir a limpeza apropriada." -#: ../../library/multiprocessing.shared_memory.rst:54 -msgid "" -"*name* is the unique name for the requested shared memory, specified as a " -"string. When creating a new shared memory block, if ``None`` (the default) " -"is supplied for the name, a novel name will be generated." -msgstr "" -"*name* é o nome único para a memória compartilhada requisitada, especificado " -"como uma string. Ao criar um novo bloco de memória compartilhada, se " -"``None`` (o padrão) é fornecido para o nome, um novo nome será gerado." +#: ../../library/multiprocessing.shared_memory.rst:0 +msgid "Parameters" +msgstr "Parâmetros" -#: ../../library/multiprocessing.shared_memory.rst:58 +#: ../../library/multiprocessing.shared_memory.rst:55 msgid "" -"*create* controls whether a new shared memory block is created (``True``) or " -"an existing shared memory block is attached (``False``)." +"The unique name for the requested shared memory, specified as a string. When " +"creating a new shared memory block, if ``None`` (the default) is supplied " +"for the name, a novel name will be generated." msgstr "" -"*create* controla quando um novo bloco de memória compartilhada é criado " -"(``True``) ou um bloco de memória compartilhada existente é anexado " -"(``False``)." +"O nome único para a memória compartilhada requisitada, especificado como uma " +"string. Ao criar um novo bloco de memória compartilhada, se ``None`` (o " +"padrão) é fornecido para o nome, um novo nome será gerado." #: ../../library/multiprocessing.shared_memory.rst:61 msgid "" -"*size* specifies the requested number of bytes when creating a new shared " -"memory block. Because some platforms choose to allocate chunks of memory " -"based upon that platform's memory page size, the exact size of the shared " -"memory block may be larger or equal to the size requested. When attaching " -"to an existing shared memory block, the ``size`` parameter is ignored." +"Control whether a new shared memory block is created (``True``) or an " +"existing shared memory block is attached (``False``)." msgstr "" -"*size* especifica o número de bytes requeridos ao criar um novo bloco de " -"memória compartilhada. Como algumas plataformas optam por alocar pedaços de " -"memória com base no tamanho da página de memória da própria plataforma, o " -"tamanho exato do bloco de memória compartilhada pode ser maior ou igual ao " -"tamanho requerido. Ao anexar a um bloco de memória compartilhada existente, " -"o parâmetro ``size`` é ignorado." +"Controla quando um novo bloco de memória compartilhada é criado (``True``) " +"ou um bloco de memória compartilhada existente é anexado (``False``)." -#: ../../library/multiprocessing.shared_memory.rst:69 +#: ../../library/multiprocessing.shared_memory.rst:65 +msgid "" +"The requested number of bytes when creating a new shared memory block. " +"Because some platforms choose to allocate chunks of memory based upon that " +"platform's memory page size, the exact size of the shared memory block may " +"be larger or equal to the size requested. When attaching to an existing " +"shared memory block, the *size* parameter is ignored." +msgstr "" +"O número de bytes requeridos ao criar um novo bloco de memória " +"compartilhada. Como algumas plataformas optam por alocar pedaços de memória " +"com base no tamanho da página de memória da própria plataforma, o tamanho " +"exato do bloco de memória compartilhada pode ser maior ou igual ao tamanho " +"requerido. Ao anexar a um bloco de memória compartilhada existente, o " +"parâmetro *size* é ignorado." + +#: ../../library/multiprocessing.shared_memory.rst:75 msgid "" -"Closes access to the shared memory from this instance. In order to ensure " -"proper cleanup of resources, all instances should call ``close()`` once the " -"instance is no longer needed. Note that calling ``close()`` does not cause " -"the shared memory block itself to be destroyed." +"Close access to the shared memory from this instance. In order to ensure " +"proper cleanup of resources, all instances should call :meth:`close` once " +"the instance is no longer needed. Note that calling :meth:`!close` does not " +"cause the shared memory block itself to be destroyed." msgstr "" "Encerra o acesso à memória compartilhada desta instância. Para garantir a " -"limpeza apropriada dos recursos, todas as instâncias devem chamar " -"``close()`` uma vez que a instância não for mais necessária. Observe que a " -"chamada a ``close()`` não implica na destruição do próprio bloco de memória " -"compartilhada." +"limpeza apropriada dos recursos, todas as instâncias devem " +"chamar :meth:`close` uma vez que a instância não for mais necessária. " +"Observe que a chamada a :meth:`!close` não implica na destruição do próprio " +"bloco de memória compartilhada." -#: ../../library/multiprocessing.shared_memory.rst:77 +#: ../../library/multiprocessing.shared_memory.rst:83 msgid "" -"Requests that the underlying shared memory block be destroyed. In order to " -"ensure proper cleanup of resources, ``unlink()`` should be called once (and " -"only once) across all processes which have need for the shared memory " +"Request that the underlying shared memory block be destroyed. In order to " +"ensure proper cleanup of resources, :meth:`unlink` should be called once " +"(and only once) across all processes which have need for the shared memory " "block. After requesting its destruction, a shared memory block may or may " "not be immediately destroyed and this behavior may differ across platforms. " -"Attempts to access data inside the shared memory block after ``unlink()`` " +"Attempts to access data inside the shared memory block after :meth:`!unlink` " "has been called may result in memory access errors. Note: the last process " -"relinquishing its hold on a shared memory block may call ``unlink()`` and :" -"meth:`close()` in either order." +"relinquishing its hold on a shared memory block may call :meth:`!unlink` " +"and :meth:`close` in either order." msgstr "" "Solicita que o bloco de memória compartilhada subjacente seja destruído. " -"Para garantir uma limpeza apropriada dos recursos, ``unlink()`` deve ser " +"Para garantir uma limpeza apropriada dos recursos, :meth:`unlink` deve ser " "chamado uma vez (e apenas uma vez) em todos os processos que precisam do " "bloco de memória compartilhada. Após solicitar sua destruição, um bloco de " "memória compartilhada pode ou não ser imediatamente destruído e este " "comportamento pode divergir entre plataformas. Tentativas de acessar dados " -"dentro do bloco de memória compartilhada depois da chamada do ``unlink()`` " -"podem resultar em erros de acesso de memória. Nota: o último processo " -"restante em um bloco de memória compartilhada pode chamar ``unlink()`` e :" -"meth:`close()` em qualquer ordem." +"dentro do bloco de memória compartilhada depois da chamada do :meth:`!" +"unlink` podem resultar em erros de acesso de memória. Nota: o último " +"processo restante em um bloco de memória compartilhada pode chamar :meth:`!" +"unlink` e :meth:`close` em qualquer ordem." -#: ../../library/multiprocessing.shared_memory.rst:90 +#: ../../library/multiprocessing.shared_memory.rst:96 msgid "A memoryview of contents of the shared memory block." msgstr "" "Uma visualização de memória do conteúdo do bloco de memória compartilhada." -#: ../../library/multiprocessing.shared_memory.rst:94 +#: ../../library/multiprocessing.shared_memory.rst:100 msgid "Read-only access to the unique name of the shared memory block." msgstr "" "Acesso somente leitura ao nome único do bloco de memória compartilhada." -#: ../../library/multiprocessing.shared_memory.rst:98 +#: ../../library/multiprocessing.shared_memory.rst:104 msgid "Read-only access to size in bytes of the shared memory block." msgstr "" "Acesso somente leitura ao tamanho em bytes do bloco de memória compartilhada." -#: ../../library/multiprocessing.shared_memory.rst:101 +#: ../../library/multiprocessing.shared_memory.rst:107 msgid "" "The following example demonstrates low-level use of :class:`SharedMemory` " "instances::" msgstr "" -"O exemplo a seguir demonstra um uso baixo nível de instâncias de :class:" -"`SharedMemory` :" +"O exemplo a seguir demonstra um uso baixo nível de instâncias " +"de :class:`SharedMemory`::" -#: ../../library/multiprocessing.shared_memory.rst:127 +#: ../../library/multiprocessing.shared_memory.rst:133 msgid "" -"The following example demonstrates a practical use of the :class:" -"`SharedMemory` class with `NumPy arrays `_, accessing " -"the same ``numpy.ndarray`` from two distinct Python shells:" +"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 "" "O exemplo a seguir demonstra um uso prático da classe :class:`SharedMemory` " -"com `arrays NumPy `_, acessando o mesmo ``numpy." -"ndarray`` de dois consoles Python distintos." +"com `arrays do NumPy `_, acessando o mesmo :class:`!" +"numpy.ndarray` de dois consoles Python distintos." -#: ../../library/multiprocessing.shared_memory.rst:181 +#: ../../library/multiprocessing.shared_memory.rst:187 msgid "" -"A subclass of :class:`~multiprocessing.managers.BaseManager` which can be " +"A subclass of :class:`multiprocessing.managers.BaseManager` which can be " "used for the management of shared memory blocks across processes." msgstr "" -"Uma subclasse de :class:`~multiprocessing.managers.BaseManager` que pode ser " +"Uma subclasse de :class:`multiprocessing.managers.BaseManager` que pode ser " "usada para o gerenciamento dos blocos de memória compartilhada entre " "processos." -#: ../../library/multiprocessing.shared_memory.rst:184 +#: ../../library/multiprocessing.shared_memory.rst:190 msgid "" -"A call to :meth:`~multiprocessing.managers.BaseManager.start` on a :class:" -"`SharedMemoryManager` instance causes a new process to be started. This new " +"A call to :meth:`~multiprocessing.managers.BaseManager.start` on a :class:`!" +"SharedMemoryManager` instance causes a new process to be started. This new " "process's sole purpose is to manage the life cycle of all shared memory " "blocks created through it. To trigger the release of all shared memory " -"blocks managed by that process, call :meth:`~multiprocessing.managers." -"BaseManager.shutdown()` on the instance. This triggers a :meth:`SharedMemory." -"unlink()` call on all of the :class:`SharedMemory` objects managed by that " -"process and then stops the process itself. By creating ``SharedMemory`` " -"instances through a ``SharedMemoryManager``, we avoid the need to manually " -"track and trigger the freeing of shared memory resources." +"blocks managed by that process, " +"call :meth:`~multiprocessing.managers.BaseManager.shutdown` on the instance. " +"This triggers a :meth:`~multiprocessing.shared_memory.SharedMemory.unlink` " +"call on all of the :class:`SharedMemory` objects managed by that process and " +"then stops the process itself. By creating :class:`!SharedMemory` instances " +"through a :class:`!SharedMemoryManager`, we avoid the need to manually track " +"and trigger the freeing of shared memory resources." msgstr "" "Uma chamada ao método :meth:`~multiprocessing.managers.BaseManager.start` em " -"uma instância de :class:`SharedMemoryManager` faz com que um novo processo " +"uma instância de :class:`!SharedMemoryManager` faz com que um novo processo " "seja iniciado. A única finalidade desse novo processo é gerenciar o ciclo de " "vida de todos os blocos de memória criados através dele. Para acionar a " "liberação de todos os blocos de memória gerenciados por este processo, " -"invoque o método :meth:`~multiprocessing.managers.BaseManager.shutdown()` na " -"instância. Isso aciona uma chamada de :meth:`SharedMemory.unlink()` em todos " -"os objetos :class:`SharedMemory` gerenciados por esse processo e então para " -"o processo em si. Ao criar instâncias de ``SharedMemory`` através de um " -"``SharedMemoryManager``, evitamos a necessidade de rastrear e acionar " -"manualmente a liberação dos recursos de memória compartilhada." - -#: ../../library/multiprocessing.shared_memory.rst:196 +"invoque o método :meth:`~multiprocessing.managers.BaseManager.shutdown` na " +"instância. Isso aciona uma chamada " +"de :meth:`~multiprocessing.shared_memory.SharedMemory.unlink` em todos os " +"objetos :class:`SharedMemory` gerenciados por esse processo e então para o " +"processo em si. Ao criar instâncias de :class:`!SharedMemory` através de " +"um :class:`!SharedMemoryManager`, evitamos a necessidade de rastrear e " +"acionar manualmente a liberação dos recursos de memória compartilhada." + +#: ../../library/multiprocessing.shared_memory.rst:202 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 "" -"Esta classe fornece métodos para criar e retornar instâncias de :class:" -"`SharedMemory` e para criar um objeto lista ou similar (:class:" -"`ShareableList`) apoiado por memória compartilhada." +"Esta classe fornece métodos para criar e retornar instâncias " +"de :class:`SharedMemory` e para criar um objeto lista ou similar " +"(:class:`ShareableList`) apoiado por memória compartilhada." -#: ../../library/multiprocessing.shared_memory.rst:200 +#: ../../library/multiprocessing.shared_memory.rst:206 msgid "" -"Refer to :class:`multiprocessing.managers.BaseManager` for a description of " +"Refer to :class:`~multiprocessing.managers.BaseManager` for a description of " "the inherited *address* and *authkey* optional input arguments and how they " -"may be used to connect to an existing ``SharedMemoryManager`` service from " -"other processes." +"may be used to connect to an existing :class:`!SharedMemoryManager` service " +"from other processes." msgstr "" -"Consulte :class:`multiprocessing.managers.BaseManager` para obter uma " +"Consulte :class:`~multiprocessing.managers.BaseManager` para obter uma " "descrição dos argumentos de entrada opcionais herdados *address* e *authkey* " -"e como eles podem ser usados para conectar-se a um serviço " -"``SharedMemoryManager`` existente de outros processos." +"e como eles podem ser usados para conectar-se a um serviço :class:`!" +"SharedMemoryManager` existente de outros processos." -#: ../../library/multiprocessing.shared_memory.rst:207 +#: ../../library/multiprocessing.shared_memory.rst:213 msgid "" "Create and return a new :class:`SharedMemory` object with the specified " -"``size`` in bytes." +"*size* in bytes." msgstr "" -"Cria e retorna um novo objeto :class:`SharedMemory` com o ``size`` " -"especificado em bytes" +"Cria e retorna um novo objeto :class:`SharedMemory` com o *size* " +"especificado em bytes." -#: ../../library/multiprocessing.shared_memory.rst:212 +#: ../../library/multiprocessing.shared_memory.rst:218 msgid "" "Create and return a new :class:`ShareableList` object, initialized by the " -"values from the input ``sequence``." +"values from the input *sequence*." msgstr "" "Cria e retorna um novo objeto :class:`ShareableList`, inicializado pelos " -"valores da entrada ``sequence`` ." +"valores da entrada *sequence*." -#: ../../library/multiprocessing.shared_memory.rst:216 +#: ../../library/multiprocessing.shared_memory.rst:222 msgid "" -"The following example demonstrates the basic mechanisms of a :class:" -"`SharedMemoryManager`:" +"The following example demonstrates the basic mechanisms of " +"a :class:`~multiprocessing.managers.SharedMemoryManager`:" msgstr "" -"O exemplo a seguir demonstra os mecanismos básicos de um :class:" -"`SharedMemoryManager`:" +"O exemplo a seguir demonstra os mecanismos básicos de " +"um :class:`~multiprocessing.managers.SharedMemoryManager`:" -#: ../../library/multiprocessing.shared_memory.rst:234 +#: ../../library/multiprocessing.shared_memory.rst:240 msgid "" "The following example depicts a potentially more convenient pattern for " -"using :class:`SharedMemoryManager` objects via the :keyword:`with` statement " -"to ensure that all shared memory blocks are released after they are no " -"longer needed:" +"using :class:`~multiprocessing.managers.SharedMemoryManager` objects via " +"the :keyword:`with` statement to ensure that all shared memory blocks are " +"released after they are no longer needed:" msgstr "" "O exemplo a seguir retrata um padrão potencialmente mais conveniente para " -"usar objetos :class:`SharedMemoryManager` através da instrução :keyword:" -"`with` para garantir que todos os blocos de memória compartilhada são " -"liberados depois que não são mais necessários." - -#: ../../library/multiprocessing.shared_memory.rst:253 -msgid "" -"When using a :class:`SharedMemoryManager` in a :keyword:`with` statement, " -"the shared memory blocks created using that manager are all released when " -"the :keyword:`with` statement's code block finishes execution." -msgstr "" -"Ao usar um :class:`SharedMemoryManager` em uma instrução :keyword:`with`, os " -"blocos de memória compartilhada criados utilizando este gerenciador são " -"todos liberados quando o bloco de código com a instrução :keyword:`with` " -"termina sua execução." - -#: ../../library/multiprocessing.shared_memory.rst:260 -msgid "" -"Provides a mutable list-like object where all values stored within are " -"stored in a shared memory block. This constrains storable values to only " -"the ``int``, ``float``, ``bool``, ``str`` (less than 10M bytes each), " -"``bytes`` (less than 10M bytes each), and ``None`` built-in data types. It " -"also notably differs from the built-in ``list`` type in that these lists can " -"not change their overall length (i.e. no append, insert, etc.) and do not " -"support the dynamic creation of new :class:`ShareableList` instances via " -"slicing." -msgstr "" -"Fornece um objeto lista ou similar, mutável, onde todos os valores " -"armazenados são armazenados em um bloco de memória compartilhada. Isto " -"restringe os valores armazenáveis apenas aos tipos de dados embutidos " -"``int``, ``float``, ``bool``, ``str`` (com menos de 10M bytes cada), " -"``bytes`` (menos de 10M bytes cada) e ``None``. Este objeto também se " -"diferencia notavelmente do tipo embutido ``list`` uma vez que este não pode " -"ter seu comprimento total modificado (ex.: não pode usar append, insert, " -"etc.) e também não oferece suporte à criação dinâmica de uma instância de :" -"class:`ShareableList` através do fatiamento do objeto." - -#: ../../library/multiprocessing.shared_memory.rst:269 -msgid "" -"*sequence* is used in populating a new ``ShareableList`` full of values. Set " -"to ``None`` to instead attach to an already existing ``ShareableList`` by " -"its unique shared memory name." -msgstr "" -"*sequence* é usado para preencher um ``ShareableList`` com valores. Defina " -"como ``None`` para anexar a uma ``ShareableList`` já existente pelo seu nome " -"único de memória compartilhada." +"usar objetos :class:`~multiprocessing.managers.SharedMemoryManager` através " +"da instrução :keyword:`with` para garantir que todos os blocos de memória " +"compartilhada são liberados depois que não são mais necessários." + +#: ../../library/multiprocessing.shared_memory.rst:259 +msgid "" +"When using a :class:`~multiprocessing.managers.SharedMemoryManager` in " +"a :keyword:`with` statement, the shared memory blocks created using that " +"manager are all released when the :keyword:`!with` statement's code block " +"finishes execution." +msgstr "" +"Ao usar um :class:`~multiprocessing.managers.SharedMemoryManager` em uma " +"instrução :keyword:`with`, os blocos de memória compartilhada criados " +"utilizando este gerenciador são todos liberados quando o bloco de código com " +"a instrução :keyword:`!with` termina sua execução." + +#: ../../library/multiprocessing.shared_memory.rst:267 +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 "" +"Fornece um objeto mutável do tipo lista onde todos os valores armazenados " +"dentro são armazenados em um bloco de memória compartilhada. Isso restringe " +"valores armazenáveis aos seguintes tipos de dados embutidos:" + +#: ../../library/multiprocessing.shared_memory.rst:271 +msgid ":class:`int` (signed 64-bit)" +msgstr ":class:`int` (com sinal, 64-bit)" + +#: ../../library/multiprocessing.shared_memory.rst:272 +msgid ":class:`float`" +msgstr ":class:`float`" #: ../../library/multiprocessing.shared_memory.rst:273 +msgid ":class:`bool`" +msgstr ":class:`bool`" + +#: ../../library/multiprocessing.shared_memory.rst:274 +msgid ":class:`str` (less than 10M bytes each when encoded as UTF-8)" +msgstr ":class:`str` (menos de 10M bytes cada quando codificado como UTF-8)" + +#: ../../library/multiprocessing.shared_memory.rst:275 +msgid ":class:`bytes` (less than 10M bytes each)" +msgstr ":class:`bytes` (menos de 10M bytes cada)" + +#: ../../library/multiprocessing.shared_memory.rst:276 +msgid "``None``" +msgstr "``None``" + +#: ../../library/multiprocessing.shared_memory.rst:278 +msgid "" +"It also notably differs from the built-in :class:`list` type in that these " +"lists can not change their overall length (i.e. no :meth:`!append`, :meth:`!" +"insert`, etc.) and do not support the dynamic creation of new :class:`!" +"ShareableList` instances via slicing." +msgstr "" +"Ele também difere notavelmente do tipo embutido :class:`list`, pois essas " +"listas não podem alterar seu comprimento geral (ou seja, sem :meth:`!" +"append`, :meth:`!insert`, etc.) e não oferecem suporte à criação dinâmica de " +"novas instâncias :class:`!ShareableList` por meio de fatiamento." + +#: ../../library/multiprocessing.shared_memory.rst:284 +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* é usado para preencher um :class:`!ShareableList` com valores. " +"Defina como ``None`` para anexar a uma :class:`!ShareableList` já existente " +"pelo seu nome único de memória compartilhada." + +#: ../../library/multiprocessing.shared_memory.rst:288 msgid "" "*name* is the unique name for the requested shared memory, as described in " -"the definition for :class:`SharedMemory`. When attaching to an existing " -"``ShareableList``, specify its shared memory block's unique name while " -"leaving ``sequence`` set to ``None``." +"the definition for :class:`SharedMemory`. When attaching to an " +"existing :class:`!ShareableList`, specify its shared memory block's unique " +"name while leaving *sequence* set to ``None``." msgstr "" "*name* é um nome único para a memória compartilhada requerida, como descrito " -"na definição de :class:`SharedMemory`. Ao anexar a uma ``ShareableList`` já " -"existente, deve-se especificar o nome único do bloco de memória " -"compartilhada e definir ``sequence`` como ``None``." +"na definição de :class:`SharedMemory`. Ao anexar a uma :class:`!" +"ShareableList` já existente, deve-se especificar o nome único do bloco de " +"memória compartilhada e definir *sequence* como ``None``." -#: ../../library/multiprocessing.shared_memory.rst:280 -msgid "Returns the number of occurrences of ``value``." -msgstr "Retorna o número de ocorrências de ``value``." +#: ../../library/multiprocessing.shared_memory.rst:295 +msgid "" +"A known issue exists for :class:`bytes` and :class:`str` values. If they end " +"with ``\\x00`` nul bytes or characters, those may be *silently stripped* " +"when fetching them by index from the :class:`!ShareableList`. This " +"``.rstrip(b'\\x00')`` behavior is considered a bug and may go away in the " +"future. See :gh:`106939`." +msgstr "" +"Existe um problema conhecido para os valores :class:`bytes` e :class:`str`. " +"Se eles terminarem com bytes ou caracteres nulos ``\\x00``, eles podem ser " +"*silenciosamente removidos* ao buscá-los pelo índice da :class:`!" +"ShareableList`. Esse comportamento ``.rstrip(b'\\x00')`` é considerado um " +"bug e pode desaparecer no futuro. Veja :gh:`106939`." + +#: ../../library/multiprocessing.shared_memory.rst:301 +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 "" +"Para aplicações onde a remoção de nulos finais é um problema, contorne-o " +"sempre anexando incondicionalmente um byte extra diferente de 0 ao final de " +"tais valores ao armazená-los e removendo-os incondicionalmente ao buscá-los:" -#: ../../library/multiprocessing.shared_memory.rst:284 +#: ../../library/multiprocessing.shared_memory.rst:324 +msgid "Return the number of occurrences of *value*." +msgstr "Retorna o número de ocorrências de *value*." + +#: ../../library/multiprocessing.shared_memory.rst:328 msgid "" -"Returns first index position of ``value``. Raises :exc:`ValueError` if " -"``value`` is not present." +"Return first index position of *value*. Raise :exc:`ValueError` if *value* " +"is not present." msgstr "" -"Retorna a primeira posição do índice de ``value``. Levanta :exc:`ValueError` " -"se ``value`` não estiver presente." +"Retorna a primeira posição do índice de *value*. Levanta :exc:`ValueError` " +"se *value* não estiver presente." -#: ../../library/multiprocessing.shared_memory.rst:289 +#: ../../library/multiprocessing.shared_memory.rst:333 msgid "" "Read-only attribute containing the :mod:`struct` packing format used by all " "currently stored values." @@ -382,19 +438,19 @@ msgstr "" "Atributo somente leitura contendo o formato de empacotamento :mod:`struct` " "usado por todos os valores armazenados atualmente." -#: ../../library/multiprocessing.shared_memory.rst:294 +#: ../../library/multiprocessing.shared_memory.rst:338 msgid "The :class:`SharedMemory` instance where the values are stored." msgstr "A instância de :class:`SharedMemory` onde os valores são armazenados." -#: ../../library/multiprocessing.shared_memory.rst:297 +#: ../../library/multiprocessing.shared_memory.rst:341 msgid "" "The following example demonstrates basic use of a :class:`ShareableList` " "instance:" msgstr "" -"O exemplo a seguir demonstra o uso básico de uma instância de :class:" -"`ShareableList`:" +"O exemplo a seguir demonstra o uso básico de uma instância " +"de :class:`ShareableList`:" -#: ../../library/multiprocessing.shared_memory.rst:330 +#: ../../library/multiprocessing.shared_memory.rst:374 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 " @@ -404,28 +460,29 @@ msgstr "" "mesma :class:`ShareableList` fornecendo o nome do bloco de memória " "compartilhada por trás dela:" -#: ../../library/multiprocessing.shared_memory.rst:345 +#: ../../library/multiprocessing.shared_memory.rst:389 msgid "" -"The following examples demonstrates that ``ShareableList`` (and underlying " -"``SharedMemory``) objects can be pickled and unpickled if needed. Note, that " -"it will still be the same shared object. This happens, because the " -"deserialized object has the same unique name and is just attached to an " -"existing object with the same name (if the object is still alive):" -msgstr "" -"Os exemplos a seguir demonstram que os objetos ``ShareableList`` (e o " -"subjacente ``SharedMemory``) podem ser serializados e desserializados com " -"pickle, se preciso. Note, ainda será o mesmo objeto compartilhado. Isto " +"The following examples demonstrates that :class:`ShareableList` (and " +"underlying :class:`SharedMemory`) objects can be pickled and unpickled if " +"needed. Note, that it will still be the same shared object. This happens, " +"because the deserialized object has the same unique name and is just " +"attached to an existing object with the same name (if the object is still " +"alive):" +msgstr "" +"Os exemplos a seguir demonstram que os objetos :class:`ShareableList` (e o " +"subjacente :class:`SharedMemory`) podem ser serializados e desserializados " +"com pickle, se preciso. Note, ainda será o mesmo objeto compartilhado. Isto " "acontece pois o objeto desserializado tem o mesmo nome único e é somente " "anexado ao objeto existente com o mesmo nome (se o objeto ainda existe):" #: ../../library/multiprocessing.shared_memory.rst:11 msgid "Shared Memory" -msgstr "" +msgstr "Memória compartilhada" #: ../../library/multiprocessing.shared_memory.rst:11 msgid "POSIX Shared Memory" -msgstr "" +msgstr "POSIX, memória compartilhada" #: ../../library/multiprocessing.shared_memory.rst:11 msgid "Named Shared Memory" -msgstr "" +msgstr "Nomeada, memória compartilhada" diff --git a/library/netdata.po b/library/netdata.po index 5bea1e4a4..402337a68 100644 --- a/library/netdata.po +++ b/library/netdata.po @@ -1,26 +1,25 @@ # 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: -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/netrc.po b/library/netrc.po index f22770e23..342ec3099 100644 --- a/library/netrc.po +++ b/library/netrc.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -48,12 +48,12 @@ msgid "" "be read. Otherwise, a :exc:`FileNotFoundError` exception will be raised. " "Parse errors will raise :exc:`NetrcParseError` with diagnostic information " "including the file name, line number, and terminating token. If no argument " -"is specified on a POSIX system, the presence of passwords in the :file:`." -"netrc` file will raise a :exc:`NetrcParseError` if the file ownership or " -"permissions are insecure (owned by a user other than the user running the " -"process, or accessible for read or write by any other user). This implements " -"security behavior equivalent to that of ftp and other programs that use :" -"file:`.netrc`." +"is specified on a POSIX system, the presence of passwords in " +"the :file:`.netrc` file will raise a :exc:`NetrcParseError` if the file " +"ownership or permissions are insecure (owned by a user other than the user " +"running the process, or accessible for read or write by any other user). " +"This implements security behavior equivalent to that of ftp and other " +"programs that use :file:`.netrc`." msgstr "" "Uma instância ou instância de subclasse de :class:`~netrc.netrc` encapsula " "dados de um arquivo netrc. O argumento de inicialização, se presente, " @@ -63,12 +63,13 @@ msgstr "" "exceção :exc:`FileNotFoundError` será levantada. Os erros de análise " "levantam :exc:`NetrcParseError` com informações de diagnóstico, incluindo o " "nome do arquivo, o número da linha e o token final. Se nenhum argumento for " -"especificado em um sistema POSIX, a presença de senhas no arquivo :file:`." -"netrc` levantará um :exc:`NetrcParseError` se a propriedade ou as permissões " -"do arquivo forem inseguras (pertencentes a um usuário que não seja o usuário " -"executando o processo ou acessível para leitura ou gravação por qualquer " -"outro usuário). Isso implementa um comportamento de segurança equivalente ao " -"do ftp e de outros programas que usam :file:`.netrc`." +"especificado em um sistema POSIX, a presença de senhas no " +"arquivo :file:`.netrc` levantará um :exc:`NetrcParseError` se a propriedade " +"ou as permissões do arquivo forem inseguras (pertencentes a um usuário que " +"não seja o usuário executando o processo ou acessível para leitura ou " +"gravação por qualquer outro usuário). Isso implementa um comportamento de " +"segurança equivalente ao do ftp e de outros programas que " +"usam :file:`.netrc`." #: ../../library/netrc.rst:35 msgid "Added the POSIX permission check." @@ -76,11 +77,11 @@ msgstr "Adicionada a verificação de permissão POSIX." #: ../../library/netrc.rst:37 msgid "" -":func:`os.path.expanduser` is used to find the location of the :file:`." -"netrc` file when *file* is not passed as argument." +":func:`os.path.expanduser` is used to find the location of " +"the :file:`.netrc` file when *file* is not passed as argument." msgstr "" -":func:`os.path.expanduser` é usado para encontrar a localização do arquivo :" -"file:`.netrc` quando *file* não é passado como argumento." +":func:`os.path.expanduser` é usado para encontrar a localização do " +"arquivo :file:`.netrc` quando *file* não é passado como argumento." #: ../../library/netrc.rst:41 msgid "" @@ -102,26 +103,34 @@ msgstr "" msgid "" "Exception raised by the :class:`~netrc.netrc` class when syntactical errors " "are encountered in source text. Instances of this exception provide three " -"interesting attributes: :attr:`msg` is a textual explanation of the error, :" -"attr:`filename` is the name of the source file, and :attr:`lineno` gives the " -"line number on which the error was found." +"interesting attributes:" msgstr "" "Exceção levantada pela classe :class:`~netrc.netrc` quando erros sintáticos " -"são encontrados no texto de origem. As instâncias desta exceção fornecem " -"três atributos interessantes: :attr:`msg` é uma explicação textual do erro, :" -"attr:`filename` é o nome do arquivo-fonte e :attr:`lineno` fornece o número " -"da linha na qual o erro foi encontrado." +"são encontrados no texto fonte. As instâncias desta exceção fornecem três " +"atributos interessantes:" + +#: ../../library/netrc.rst:58 +msgid "Textual explanation of the error." +msgstr "Explicação textual do erro." #: ../../library/netrc.rst:62 +msgid "The name of the source file." +msgstr "O nome do arquivo de origem." + +#: ../../library/netrc.rst:66 +msgid "The line number on which the error was found." +msgstr "O número da linha em que o erro foi encontrado." + +#: ../../library/netrc.rst:72 msgid "netrc Objects" msgstr "Objetos netrc" -#: ../../library/netrc.rst:64 +#: ../../library/netrc.rst:74 msgid "A :class:`~netrc.netrc` instance has the following methods:" msgstr "" "Uma instância da classe :class:`~netrc.netrc` tem os seguintes métodos:" -#: ../../library/netrc.rst:69 +#: ../../library/netrc.rst:79 msgid "" "Return a 3-tuple ``(login, account, password)`` of authenticators for " "*host*. If the netrc file did not contain an entry for the given host, " @@ -134,7 +143,7 @@ msgstr "" "nenhum host correspondente nem uma entrada padrão estiver disponível, " "retorna ``None``." -#: ../../library/netrc.rst:77 +#: ../../library/netrc.rst:87 msgid "" "Dump the class data as a string in the format of a netrc file. (This " "discards comments and may reorder the entries.)" @@ -142,12 +151,12 @@ msgstr "" "Despeja os dados da classe como uma string no formato de um arquivo netrc. " "(Isso descarta os comentários e pode reordenar as entradas.)" -#: ../../library/netrc.rst:80 +#: ../../library/netrc.rst:90 msgid "Instances of :class:`~netrc.netrc` have public instance variables:" msgstr "" "Instâncias de :class:`~netrc.netrc` possuem variáveis de instância públicas:" -#: ../../library/netrc.rst:85 +#: ../../library/netrc.rst:95 msgid "" "Dictionary mapping host names to ``(login, account, password)`` tuples. The " "'default' entry, if any, is represented as a pseudo-host by that name." @@ -156,6 +165,6 @@ msgstr "" "entrada *default*, se houver, é representada como um pseudo-host por esse " "nome." -#: ../../library/netrc.rst:91 +#: ../../library/netrc.rst:101 msgid "Dictionary mapping macro names to string lists." msgstr "Dicionário mapeando nomes de macros para listas de strings." diff --git a/library/nis.po b/library/nis.po index 73273285d..d15e49d27 100644 --- a/library/nis.po +++ b/library/nis.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -71,13 +71,13 @@ msgstr "O módulo :mod:`nis` define as seguintes funções:" #: ../../library/nis.rst:31 msgid "" -"Return the match for *key* in map *mapname*, or raise an error (:exc:`nis." -"error`) if there is none. Both should be strings, *key* is 8-bit clean. " -"Return value is an arbitrary array of bytes (may contain ``NULL`` and other " -"joys)." +"Return the match for *key* in map *mapname*, or raise an error " +"(:exc:`nis.error`) if there is none. Both should be strings, *key* is 8-bit " +"clean. Return value is an arbitrary array of bytes (may contain ``NULL`` and " +"other joys)." msgstr "" -"Retorna a correspondência para *key* no mapa *mapname* ou levanta um erro (:" -"exc:`nis.error`) se não houver nenhum. Ambos devem ser strings, *key* está " +"Retorna a correspondência para *key* no mapa *mapname* ou levanta um erro " +"(:exc:`nis.error`) se não houver nenhum. Ambos devem ser strings, *key* está " "limpo em 8 bits. O valor de retorno é uma matriz arbitrária de bytes (pode " "conter ``NULL`` e outras diversões)." diff --git a/library/nntplib.po b/library/nntplib.po index 67c7b6a89..57a4f50d4 100644 --- a/library/nntplib.po +++ b/library/nntplib.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,8 +39,8 @@ msgstr "" msgid "" "This module defines the class :class:`NNTP` which implements the client side " "of the Network News Transfer Protocol. It can be used to implement a news " -"reader or poster, or automated news processors. It is compatible with :rfc:" -"`3977` as well as the older :rfc:`977` and :rfc:`2980`." +"reader or poster, or automated news processors. It is compatible " +"with :rfc:`3977` as well as the older :rfc:`977` and :rfc:`2980`." msgstr "" #: ../../includes/wasm-notavail.rst:3 @@ -80,26 +78,26 @@ msgid "" "Return a new :class:`NNTP` object, representing a connection to the NNTP " "server running on host *host*, listening at port *port*. An optional " "*timeout* can be specified for the socket connection. If the optional *user* " -"and *password* are provided, or if suitable credentials are present in :file:" -"`/.netrc` and the optional flag *usenetrc* is true, the ``AUTHINFO USER`` " -"and ``AUTHINFO PASS`` commands are used to identify and authenticate the " -"user to the server. If the optional flag *readermode* is true, then a " +"and *password* are provided, or if suitable credentials are present " +"in :file:`/.netrc` and the optional flag *usenetrc* is true, the ``AUTHINFO " +"USER`` and ``AUTHINFO PASS`` commands are used to identify and authenticate " +"the user to the server. If the optional flag *readermode* is true, then a " "``mode reader`` command is sent before authentication is performed. Reader " "mode is sometimes necessary if you are connecting to an NNTP server on the " "local machine and intend to call reader-specific commands, such as " "``group``. If you get unexpected :exc:`NNTPPermanentError`\\ s, you might " -"need to set *readermode*. The :class:`NNTP` class supports the :keyword:" -"`with` statement to unconditionally consume :exc:`OSError` exceptions and to " -"close the NNTP connection when done, e.g.:" +"need to set *readermode*. The :class:`NNTP` class supports " +"the :keyword:`with` statement to unconditionally consume :exc:`OSError` " +"exceptions and to close the NNTP connection when done, e.g.:" msgstr "" -#: ../../library/nntplib.rst:97 ../../library/nntplib.rst:129 +#: ../../library/nntplib.rst:99 ../../library/nntplib.rst:131 msgid "" "Raises an :ref:`auditing event ` ``nntplib.connect`` with " "arguments ``self``, ``host``, ``port``." msgstr "" -#: ../../library/nntplib.rst:99 ../../library/nntplib.rst:131 +#: ../../library/nntplib.rst:101 ../../library/nntplib.rst:133 msgid "" "Raises an :ref:`auditing event ` ``nntplib.putline`` with " "arguments ``self``, ``line``." @@ -107,9 +105,9 @@ msgstr "" #: ../../library/nntplib.rst:92 ../../library/nntplib.rst:124 msgid "" -"All commands will raise an :ref:`auditing event ` ``nntplib." -"putline`` with arguments ``self`` and ``line``, where ``line`` is the bytes " -"about to be sent to the remote host." +"All commands will raise an :ref:`auditing event ` " +"``nntplib.putline`` with arguments ``self`` and ``line``, where ``line`` is " +"the bytes about to be sent to the remote host." msgstr "" #: ../../library/nntplib.rst:96 @@ -122,19 +120,22 @@ msgstr "Suporte para a instrução :keyword:`with` foi adicionado." #: ../../library/nntplib.rst:102 ../../library/nntplib.rst:135 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." +"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 "" +"Se o parâmetro *timeout* for definido como zero, será " +"levantada :class:`ValueError` para impedir a criação de um soquete não " +"bloqueante." #: ../../library/nntplib.rst:108 msgid "" "Return a new :class:`NNTP_SSL` object, representing an encrypted connection " -"to the NNTP server running on host *host*, listening at port *port*. :class:" -"`NNTP_SSL` objects have the same methods as :class:`NNTP` objects. If " -"*port* is omitted, port 563 (NNTPS) is used. *ssl_context* is also optional, " -"and is a :class:`~ssl.SSLContext` object. Please read :ref:`ssl-security` " -"for best practices. All other parameters behave the same as for :class:" -"`NNTP`." +"to the NNTP server running on host *host*, listening at port " +"*port*. :class:`NNTP_SSL` objects have the same methods as :class:`NNTP` " +"objects. If *port* is omitted, port 563 (NNTPS) is used. *ssl_context* is " +"also optional, and is a :class:`~ssl.SSLContext` object. Please " +"read :ref:`ssl-security` for best practices. All other parameters behave the " +"same as for :class:`NNTP`." msgstr "" #: ../../library/nntplib.rst:116 @@ -145,8 +146,9 @@ msgstr "" #: ../../library/nntplib.rst:130 msgid "" -"The class now supports hostname check with :attr:`ssl.SSLContext." -"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +"The class now supports hostname check " +"with :attr:`ssl.SSLContext.check_hostname` and *Server Name Indication* " +"(see :data:`ssl.HAS_SNI`)." msgstr "" #: ../../library/nntplib.rst:141 @@ -196,19 +198,19 @@ msgstr "" #: ../../library/nntplib.rst:185 msgid "Attributes" -msgstr "" +msgstr "Atributos" #: ../../library/nntplib.rst:189 msgid "" "An integer representing the version of the NNTP protocol supported by the " -"server. In practice, this should be ``2`` for servers advertising :rfc:" -"`3977` compliance and ``1`` for others." +"server. In practice, this should be ``2`` for servers " +"advertising :rfc:`3977` compliance and ``1`` for others." msgstr "" #: ../../library/nntplib.rst:197 msgid "" -"A string describing the software name and version of the NNTP server, or :" -"const:`None` if not advertised by the server." +"A string describing the software name and version of the NNTP server, " +"or :const:`None` if not advertised by the server." msgstr "" #: ../../library/nntplib.rst:203 @@ -254,52 +256,55 @@ msgstr "" #: ../../library/nntplib.rst:237 msgid "" -"Return the :rfc:`3977` capabilities advertised by the server, as a :class:" -"`dict` instance mapping capability names to (possibly empty) lists of " -"values. On legacy servers which don't understand the ``CAPABILITIES`` " +"Return the :rfc:`3977` capabilities advertised by the server, as " +"a :class:`dict` instance mapping capability names to (possibly empty) lists " +"of values. On legacy servers which don't understand the ``CAPABILITIES`` " "command, an empty dictionary is returned instead." msgstr "" #: ../../library/nntplib.rst:251 msgid "" "Send ``AUTHINFO`` commands with the user name and password. If *user* and " -"*password* are ``None`` and *usenetrc* is true, credentials from ``~/." -"netrc`` will be used if possible." +"*password* are ``None`` and *usenetrc* is true, credentials from " +"``~/.netrc`` will be used if possible." msgstr "" #: ../../library/nntplib.rst:255 msgid "" -"Unless intentionally delayed, login is normally performed during the :class:" -"`NNTP` object initialization and separately calling this function is " -"unnecessary. To force authentication to be delayed, you must not set *user* " -"or *password* when creating the object, and must set *usenetrc* to False." +"Unless intentionally delayed, login is normally performed during " +"the :class:`NNTP` object initialization and separately calling this function " +"is unnecessary. To force authentication to be delayed, you must not set " +"*user* or *password* when creating the object, and must set *usenetrc* to " +"False." msgstr "" #: ../../library/nntplib.rst:266 msgid "" "Send a ``STARTTLS`` command. This will enable encryption on the NNTP " -"connection. The *context* argument is optional and should be a :class:`ssl." -"SSLContext` object. Please read :ref:`ssl-security` for best practices." +"connection. The *context* argument is optional and should be " +"a :class:`ssl.SSLContext` object. Please read :ref:`ssl-security` for best " +"practices." msgstr "" #: ../../library/nntplib.rst:271 msgid "" "Note that this may not be done after authentication information has been " -"transmitted, and authentication occurs by default if possible during a :" -"class:`NNTP` object initialization. See :meth:`NNTP.login` for information " -"on suppressing this behavior." +"transmitted, and authentication occurs by default if possible during " +"a :class:`NNTP` object initialization. See :meth:`NNTP.login` for " +"information on suppressing this behavior." msgstr "" #: ../../library/nntplib.rst:278 msgid "" -"The method now supports hostname check with :attr:`ssl.SSLContext." -"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +"The method now supports hostname check " +"with :attr:`ssl.SSLContext.check_hostname` and *Server Name Indication* " +"(see :data:`ssl.HAS_SNI`)." msgstr "" #: ../../library/nntplib.rst:285 msgid "" -"Send a ``NEWGROUPS`` command. The *date* argument should be a :class:" -"`datetime.date` or :class:`datetime.datetime` object. Return a pair " +"Send a ``NEWGROUPS`` command. The *date* argument should be " +"a :class:`datetime.date` or :class:`datetime.datetime` object. Return a pair " "``(response, groups)`` where *groups* is a list representing the groups that " "are new since the given *date*. If *file* is supplied, though, then *groups* " "will be empty." @@ -403,8 +408,8 @@ msgid "" "*message_spec* can be either a string representing a message id, or a " "``(first, last)`` tuple of numbers indicating a range of articles in the " "current group, or a ``(first, None)`` tuple indicating a range of articles " -"starting from *first* to the last article in the current group, or :const:" -"`None` to select the current article in the current group." +"starting from *first* to the last article in the current group, " +"or :const:`None` to select the current article in the current group." msgstr "" #: ../../library/nntplib.rst:379 @@ -471,12 +476,12 @@ msgstr "" #: ../../library/nntplib.rst:445 msgid "" "Send an ``ARTICLE`` command, where *message_spec* has the same meaning as " -"for :meth:`.stat`. Return a tuple ``(response, info)`` where *info* is a :" -"class:`~collections.namedtuple` with three attributes *number*, *message_id* " -"and *lines* (in that order). *number* is the article number in the group " -"(or 0 if the information is not available), *message_id* the message id as a " -"string, and *lines* a list of lines (without terminating newlines) " -"comprising the raw message including headers and body." +"for :meth:`.stat`. Return a tuple ``(response, info)`` where *info* is " +"a :class:`~collections.namedtuple` with three attributes *number*, " +"*message_id* and *lines* (in that order). *number* is the article number in " +"the group (or 0 if the information is not available), *message_id* the " +"message id as a string, and *lines* a list of lines (without terminating " +"newlines) comprising the raw message including headers and body." msgstr "" #: ../../library/nntplib.rst:470 @@ -498,8 +503,8 @@ msgid "" "Post an article using the ``POST`` command. The *data* argument is either " "a :term:`file object` opened for binary reading, or any iterable of bytes " "objects (representing raw lines of the article to be posted). It should " -"represent a well-formed news article, including the required headers. The :" -"meth:`post` method automatically escapes lines beginning with ``.`` and " +"represent a well-formed news article, including the required headers. " +"The :meth:`post` method automatically escapes lines beginning with ``.`` and " "appends the termination line." msgstr "" @@ -560,9 +565,9 @@ msgstr "" #: ../../library/nntplib.rst:544 msgid "" "Send an ``XOVER`` command. *start* and *end* are article numbers delimiting " -"the range of articles to select. The return value is the same of for :meth:" -"`over()`. It is recommended to use :meth:`over()` instead, since it will " -"automatically use the newer ``OVER`` command if available." +"the range of articles to select. The return value is the same of " +"for :meth:`over()`. It is recommended to use :meth:`over()` instead, since " +"it will automatically use the newer ``OVER`` command if available." msgstr "" #: ../../library/nntplib.rst:552 @@ -587,7 +592,7 @@ msgstr "" #: ../../library/nntplib.rst:10 msgid "protocol" -msgstr "" +msgstr "protocolo" #: ../../library/nntplib.rst:10 msgid "Network News Transfer Protocol" diff --git a/library/numbers.po b/library/numbers.po index 8d83ced46..cda5d15f5 100644 --- a/library/numbers.po +++ b/library/numbers.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Sheila Gomes , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -34,15 +33,15 @@ msgstr "**Código-fonte:** :source:`Lib/numbers.py`" #: ../../library/numbers.rst:11 msgid "" -"The :mod:`numbers` module (:pep:`3141`) defines a hierarchy of numeric :term:" -"`abstract base classes ` which progressively define " -"more operations. None of the types defined in this module are intended to " -"be instantiated." +"The :mod:`!numbers` module (:pep:`3141`) defines a hierarchy of " +"numeric :term:`abstract base classes ` which " +"progressively define more operations. None of the types defined in this " +"module are intended to be instantiated." msgstr "" -"O módulo :mod:`numbers` (:pep:`3141`) define uma hierarquia de :term:" -"`classes base abstratas ` que progressivamente definem " -"mais operações. Nenhum dos tipos definidos neste módulo se destina a ser " -"instanciado." +"O módulo :mod:`!numbers` (:pep:`3141`) define uma hierarquia " +"de :term:`classes base abstratas ` que progressivamente " +"definem mais operações. Nenhum dos tipos definidos neste módulo se destina a " +"ser instanciado." #: ../../library/numbers.rst:18 msgid "" @@ -60,16 +59,16 @@ msgstr "A torre numérica" #: ../../library/numbers.rst:27 msgid "" "Subclasses of this type describe complex numbers and include the operations " -"that work on the built-in :class:`complex` type. These are: conversions to :" -"class:`complex` and :class:`bool`, :attr:`.real`, :attr:`.imag`, ``+``, ``-" -"``, ``*``, ``/``, ``**``, :func:`abs`, :meth:`conjugate`, ``==``, and ``!" +"that work on the built-in :class:`complex` type. These are: conversions " +"to :class:`complex` and :class:`bool`, :attr:`.real`, :attr:`.imag`, ``+``, " +"``-``, ``*``, ``/``, ``**``, :func:`abs`, :meth:`conjugate`, ``==``, and ``!" "=``. All except ``-`` and ``!=`` are abstract." msgstr "" "As subclasses deste tipo descrevem números complexos e incluem as operações " -"que funcionam no tipo embutido :class:`complex`. Elas são: conversões para :" -"class:`complex` e :class:`bool`, :attr:`.real`, :attr:`.imag`, ``+``, ``-``, " -"``*``, ``/``, ``**``, :func:`abs`, :meth:`conjugate`, ``==`` e ``!=``. Todos " -"exceto ``-`` e ``!=`` são abstratos." +"que funcionam no tipo embutido :class:`complex`. Elas são: conversões " +"para :class:`complex` e :class:`bool`, :attr:`.real`, :attr:`.imag`, ``+``, " +"``-``, ``*``, ``/``, ``**``, :func:`abs`, :meth:`conjugate`, ``==`` e ``!" +"=``. Todos exceto ``-`` e ``!=`` são abstratos." #: ../../library/numbers.rst:35 msgid "Abstract. Retrieves the real component of this number." @@ -89,35 +88,37 @@ msgstr "" #: ../../library/numbers.rst:48 msgid "" -"To :class:`Complex`, :class:`Real` adds the operations that work on real " +"To :class:`Complex`, :class:`!Real` adds the operations that work on real " "numbers." msgstr "" -"Para :class:`Complex`, :class:`Real` adiciona as operações que funcionam em " +"Para :class:`Complex`, :class:`!Real` adiciona as operações que funcionam em " "números reais." #: ../../library/numbers.rst:51 msgid "" -"In short, those are: a conversion to :class:`float`, :func:`math.trunc`, :" -"func:`round`, :func:`math.floor`, :func:`math.ceil`, :func:`divmod`, ``//``, " -"``%``, ``<``, ``<=``, ``>``, and ``>=``." +"In short, those are: a conversion " +"to :class:`float`, :func:`math.trunc`, :func:`round`, :func:`math.floor`, :func:`math.ceil`, :func:`divmod`, " +"``//``, ``%``, ``<``, ``<=``, ``>``, and ``>=``." msgstr "" -"Em suma, são: uma conversão para :class:`float`, :func:`math.trunc`, :func:" -"`round`, :func:`math.floor`, :func:`math.ceil`, :func:`divmod`, ``//``, " -"``%``, ``<``, ``<=``, ``>`` e ``>=``." +"Em suma, são: uma conversão " +"para :class:`float`, :func:`math.trunc`, :func:`round`, :func:`math.floor`, :func:`math.ceil`, :func:`divmod`, " +"``//``, ``%``, ``<``, ``<=``, ``>`` e ``>=``." #: ../../library/numbers.rst:55 msgid "" -"Real also provides defaults for :func:`complex`, :attr:`~Complex.real`, :" -"attr:`~Complex.imag`, and :meth:`~Complex.conjugate`." +"Real also provides defaults " +"for :func:`complex`, :attr:`~Complex.real`, :attr:`~Complex.imag`, " +"and :meth:`~Complex.conjugate`." msgstr "" -"Real também fornece padrão para :func:`complex`, :attr:`~Complex.real`, :" -"attr:`~Complex.imag` e :meth:`~Complex.conjugate`." +"Real também fornece padrão " +"para :func:`complex`, :attr:`~Complex.real`, :attr:`~Complex.imag` " +"e :meth:`~Complex.conjugate`." #: ../../library/numbers.rst:61 msgid "" -"Subtypes :class:`Real` and adds :attr:`~Rational.numerator` and :attr:" -"`~Rational.denominator` properties. It also provides a default for :func:" -"`float`." +"Subtypes :class:`Real` and adds :attr:`~Rational.numerator` " +"and :attr:`~Rational.denominator` properties. It also provides a default " +"for :func:`float`." msgstr "" "Estende :class:`Real` e adiciona as propriedades :attr:`~Rational.numerator` " "e :attr:`~Rational.denominator`. Ele fornece um padrão para :func:`float`." @@ -125,8 +126,8 @@ msgstr "" #: ../../library/numbers.rst:65 msgid "" "The :attr:`~Rational.numerator` and :attr:`~Rational.denominator` values " -"should be instances of :class:`Integral` and should be in lowest terms with :" -"attr:`~Rational.denominator` positive." +"should be instances of :class:`Integral` and should be in lowest terms " +"with :attr:`~Rational.denominator` positive." msgstr "" "Os valores :attr:`~Rational.numerator` e :attr:`~Rational.denominator` devem " "ser instâncias de :class:`Integral` e devem estar nos termos mais baixos " @@ -139,15 +140,16 @@ msgstr "Abstrata." #: ../../library/numbers.rst:80 msgid "" "Subtypes :class:`Rational` and adds a conversion to :class:`int`. Provides " -"defaults for :func:`float`, :attr:`~Rational.numerator`, and :attr:" -"`~Rational.denominator`. Adds abstract methods for :func:`pow` with modulus " -"and bit-string operations: ``<<``, ``>>``, ``&``, ``^``, ``|``, ``~``." +"defaults for :func:`float`, :attr:`~Rational.numerator`, " +"and :attr:`~Rational.denominator`. Adds abstract methods for :func:`pow` " +"with modulus and bit-string operations: ``<<``, ``>>``, ``&``, ``^``, ``|``, " +"``~``." msgstr "" "Estende :class:`Rational` e adiciona uma conversão para :class:`int`. " -"Fornece padrões para :func:`float`, :attr:`~Rational.numerator` e :attr:" -"`~Rational.denominator`. Adiciona métodos abstratos para :func:`pow` com " -"operações de módulo e de string de bits: ``<<``, ``>>``, ``&``, ``^``, ``|" -"``, ``~``." +"Fornece padrões para :func:`float`, :attr:`~Rational.numerator` " +"e :attr:`~Rational.denominator`. Adiciona métodos abstratos para :func:`pow` " +"com operações de módulo e de string de bits: ``<<``, ``>>``, ``&``, ``^``, " +"``|``, ``~``." #: ../../library/numbers.rst:88 msgid "Notes for type implementors" @@ -157,13 +159,13 @@ msgstr "Nota para implementadores de tipos" msgid "" "Implementors should be careful to make equal numbers equal and hash them to " "the same values. This may be subtle if there are two different extensions of " -"the real numbers. For example, :class:`fractions.Fraction` implements :func:" -"`hash` as follows::" +"the real numbers. For example, :class:`fractions.Fraction` " +"implements :func:`hash` as follows::" msgstr "" "Os implementadores devem ter o cuidado de tornar iguais números iguais e " "fazer hash deles com os mesmos valores. Isso pode ser sutil se houver duas " -"extensões diferentes dos números reais. Por exemplo, :class:`fractions." -"Fraction` implementa :func:`hash` desta forma::" +"extensões diferentes dos números reais. Por " +"exemplo, :class:`fractions.Fraction` implementa :func:`hash` desta forma::" #: ../../library/numbers.rst:109 msgid "Adding More Numeric ABCs" @@ -188,56 +190,60 @@ msgid "" "We want to implement the arithmetic operations so that mixed-mode operations " "either call an implementation whose author knew about the types of both " "arguments, or convert both to the nearest built in type and do the operation " -"there. For subtypes of :class:`Integral`, this means that :meth:`__add__` " -"and :meth:`__radd__` should be defined as::" +"there. For subtypes of :class:`Integral`, this means " +"that :meth:`~object.__add__` and :meth:`~object.__radd__` should be defined " +"as::" msgstr "" "Queremos implementar as operações aritméticas de forma que as operações de " "modo misto chamem uma implementação cujo autor conhecia os tipos de ambos os " "argumentos ou convertam ambos para o tipo embutido mais próximo e façam a " -"operação lá. Para subtipos de :class:`Integral`, isso significa que :meth:" -"`__add__` e :meth:`__radd__` devem ser definidos com::" +"operação lá. Para subtipos de :class:`Integral`, isso significa " +"que :meth:`~object.__add__` e :meth:`~object.__radd__` devem ser definidos " +"com::" -#: ../../library/numbers.rst:156 +#: ../../library/numbers.rst:157 msgid "" -"There are 5 different cases for a mixed-type operation on subclasses of :" -"class:`Complex`. I'll refer to all of the above code that doesn't refer to " -"``MyIntegral`` and ``OtherTypeIKnowAbout`` as \"boilerplate\". ``a`` will be " -"an instance of ``A``, which is a subtype of :class:`Complex` (``a : A <: " +"There are 5 different cases for a mixed-type operation on subclasses " +"of :class:`Complex`. I'll refer to all of the above code that doesn't refer " +"to ``MyIntegral`` and ``OtherTypeIKnowAbout`` as \"boilerplate\". ``a`` will " +"be an instance of ``A``, which is a subtype of :class:`Complex` (``a : A <: " "Complex``), and ``b : B <: Complex``. I'll consider ``a + b``:" msgstr "" -"Existem 5 casos diferentes para uma operação de tipo misto em subclasses de :" -"class:`Complex`. Vou me referir a todo o código acima que não se refere a " -"``MyIntegral`` e ``OtherTypeIKnowAbout`` com um \"modelo\". ``a`` será uma " +"Existem 5 casos diferentes para uma operação de tipo misto em subclasses " +"de :class:`Complex`. Vou me referir a todo o código acima que não se refere " +"a ``MyIntegral`` e ``OtherTypeIKnowAbout`` com um \"modelo\". ``a`` será uma " "instância de ``A``, que é um subtipo de :class:`Complex` (``a : A <: " "Complex``) e ``b : B <: Complex``. Vou considerar ``a + b``:" -#: ../../library/numbers.rst:163 -msgid "If ``A`` defines an :meth:`__add__` which accepts ``b``, all is well." -msgstr "Se ``A`` define um :meth:`__add__`, que aceita ``b``, está tudo bem." +#: ../../library/numbers.rst:164 +msgid "" +"If ``A`` defines an :meth:`~object.__add__` which accepts ``b``, all is well." +msgstr "" +"Se ``A`` define um :meth:`~object.__add__`, que aceita ``b``, está tudo bem." -#: ../../library/numbers.rst:165 +#: ../../library/numbers.rst:166 msgid "" "If ``A`` falls back to the boilerplate code, and it were to return a value " -"from :meth:`__add__`, we'd miss the possibility that ``B`` defines a more " -"intelligent :meth:`__radd__`, so the boilerplate should return :const:" -"`NotImplemented` from :meth:`__add__`. (Or ``A`` may not implement :meth:" -"`__add__` at all.)" +"from :meth:`~object.__add__`, we'd miss the possibility that ``B`` defines a " +"more intelligent :meth:`~object.__radd__`, so the boilerplate should " +"return :data:`NotImplemented` from :meth:`!__add__`. (Or ``A`` may not " +"implement :meth:`!__add__` at all.)" msgstr "" -"Se ``A`` voltar ao código padrão e tivesse que retornar um valor de :meth:" -"`__add__`, perderíamos a possibilidade de que ``B`` definisse um :meth:" -"`__radd__` mais inteligente, então o código padrão deve retornar :const:" -"`NotImplemented` de :meth:`__add__`. (Ou ``A`` pode não implementar :meth:" -"`__add__`.)" +"Se ``A`` voltar ao código padrão e tivesse que retornar um valor " +"de :meth:`~object.__add__`, perderíamos a possibilidade de que ``B`` " +"definisse um :meth:`~object.__radd__` mais inteligente, então o código " +"padrão deve retornar :data:`NotImplemented` de :meth:`!__add__`. (Ou ``A`` " +"pode não implementar :meth:`!__add__`.)" -#: ../../library/numbers.rst:171 +#: ../../library/numbers.rst:172 msgid "" -"Then ``B``'s :meth:`__radd__` gets a chance. If it accepts ``a``, all is " -"well." +"Then ``B``'s :meth:`~object.__radd__` gets a chance. If it accepts ``a``, " +"all is well." msgstr "" -"Então, :meth:`__radd__` do ``B`` consegue uma chance. Se ele aceitar ``a``, " -"está tudo bem." +"Então, :meth:`~object.__radd__` do ``B`` consegue uma chance. Se ele aceitar " +"``a``, está tudo bem." -#: ../../library/numbers.rst:173 +#: ../../library/numbers.rst:174 msgid "" "If it falls back to the boilerplate, there are no more possible methods to " "try, so this is where the default implementation should live." @@ -245,7 +251,7 @@ msgstr "" "Se ele recorrer ao padrão, não há mais métodos possíveis para tentar, então " "é aqui que a implementação padrão deve residir." -#: ../../library/numbers.rst:176 +#: ../../library/numbers.rst:177 msgid "" "If ``B <: A``, Python tries ``B.__radd__`` before ``A.__add__``. This is ok, " "because it was implemented with knowledge of ``A``, so it can handle those " @@ -255,23 +261,24 @@ msgstr "" "ok, porque foi implementado com conhecimento de ``A``, então ele pode lidar " "com essas instâncias antes de delegar para :class:`Complex`." -#: ../../library/numbers.rst:181 +#: ../../library/numbers.rst:182 msgid "" "If ``A <: Complex`` and ``B <: Real`` without sharing any other knowledge, " -"then the appropriate shared operation is the one involving the built in :" -"class:`complex`, and both :meth:`__radd__` s land there, so ``a+b == b+a``." +"then the appropriate shared operation is the one involving the built " +"in :class:`complex`, and both :meth:`~object.__radd__` s land there, so " +"``a+b == b+a``." msgstr "" "Se ``A <: Complex`` e ``B <: Real`` sem compartilhar nenhum outro " "conhecimento, então a operação compartilhada apropriada é aquela envolvendo " -"a :class:`complex` embutida, e ambos :meth:`__radd__` s chegam lá, de forma " -"que ``a+b == b+a``." +"a :class:`complex` embutida, e :meth:`~object.__radd__` de ambos chegam lá, " +"de forma que ``a+b == b+a``." -#: ../../library/numbers.rst:186 +#: ../../library/numbers.rst:187 msgid "" "Because most of the operations on any given type will be very similar, it " "can be useful to define a helper function which generates the forward and " -"reverse instances of any given operator. For example, :class:`fractions." -"Fraction` uses::" +"reverse instances of any given operator. For " +"example, :class:`fractions.Fraction` uses::" msgstr "" "Como a maioria das operações em qualquer tipo será muito semelhante, pode " "ser útil definir uma função auxiliar que gera as instâncias de avanço e " diff --git a/library/numeric.po b/library/numeric.po index 8ed693c73..243bc0770 100644 --- a/library/numeric.po +++ b/library/numeric.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -33,16 +32,17 @@ msgid "" "The modules described in this chapter provide numeric and math-related " "functions and data types. The :mod:`numbers` module defines an abstract " "hierarchy of numeric types. The :mod:`math` and :mod:`cmath` modules contain " -"various mathematical functions for floating-point and complex numbers. The :" -"mod:`decimal` module supports exact representations of decimal numbers, " +"various mathematical functions for floating-point and complex numbers. " +"The :mod:`decimal` module supports exact representations of decimal numbers, " "using arbitrary precision arithmetic." msgstr "" "Os módulos descritos neste capítulo fornecem funções e tipos de dados " "relacionados com o numérico e matemática. O módulo :mod:`numbers` define uma " -"hierarquia abstrata de tipos numéricos. Os módulos :mod:`math` e :mod:" -"`cmath` contêm várias funções matemáticas para números de ponto flutuante e " -"números complexos. O módulo :mod:`decimal` suporta representações exatas de " -"números decimais, usando aritmética de precisão arbitrária." +"hierarquia abstrata de tipos numéricos. Os módulos :mod:`math` " +"e :mod:`cmath` contêm várias funções matemáticas para números de ponto " +"flutuante e números complexos. O módulo :mod:`decimal` suporta " +"representações exatas de números decimais, usando aritmética de precisão " +"arbitrária." #: ../../library/numeric.rst:15 msgid "The following modules are documented in this chapter:" diff --git a/library/operator.po b/library/operator.po index 01476905c..2341c191e 100644 --- a/library/operator.po +++ b/library/operator.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Misael borges , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -37,12 +34,12 @@ msgstr "**Código-fonte:** :source:`Lib/operator.py`" #: ../../library/operator.rst:18 msgid "" "The :mod:`operator` module exports a set of efficient functions " -"corresponding to the intrinsic operators of Python. For example, ``operator." -"add(x, y)`` is equivalent to the expression ``x+y``. Many function names are " -"those used for special methods, without the double underscores. For " -"backward compatibility, many of these have a variant with the double " -"underscores kept. The variants without the double underscores are preferred " -"for clarity." +"corresponding to the intrinsic operators of Python. For example, " +"``operator.add(x, y)`` is equivalent to the expression ``x+y``. Many " +"function names are those used for special methods, without the double " +"underscores. For backward compatibility, many of these have a variant with " +"the double underscores kept. The variants without the double underscores are " +"preferred for clarity." msgstr "" "O módulo :mod:`operator` exporta um conjunto de funções eficientes " "correspondentes aos operadores intrínsecos do Python. Por exemplo, " @@ -75,8 +72,8 @@ msgid "" "``eq(a, b)`` is equivalent to ``a == b``, ``ne(a, b)`` is equivalent to ``a !" "= b``, ``gt(a, b)`` is equivalent to ``a > b`` and ``ge(a, b)`` is " "equivalent to ``a >= b``. Note that these functions can return any value, " -"which may or may not be interpretable as a Boolean value. See :ref:" -"`comparisons` for more information about rich comparisons." +"which may or may not be interpretable as a Boolean value. " +"See :ref:`comparisons` for more information about rich comparisons." msgstr "" "Executam \"comparações ricas\" entre *a* e *b*. Especialmente, ``lt(a, b)`` " "é equivalente a ``a < b``, ``le(a, b)`` é equivalente a ``a <= b``, ``eq(a, " @@ -97,15 +94,15 @@ msgstr "" #: ../../library/operator.rst:61 msgid "" -"Return the outcome of :keyword:`not` *obj*. (Note that there is no :meth:" -"`__not__` method for object instances; only the interpreter core defines " -"this operation. The result is affected by the :meth:`__bool__` and :meth:" -"`__len__` methods.)" +"Return the outcome of :keyword:`not` *obj*. (Note that there is no :meth:`!" +"__not__` method for object instances; only the interpreter core defines this " +"operation. The result is affected by the :meth:`~object.__bool__` " +"and :meth:`~object.__len__` methods.)" msgstr "" "Retorna o resultado de :keyword:`not` *obj*. (Veja que não existe nenhum " -"método :meth:`__not__` para instâncias de objetos; apenas o núcleo do " +"método :meth:`!__not__` para instâncias de objetos; apenas o núcleo do " "interpretador definirá esta operação. O resultado será afetado pelos " -"métodos :meth:`__bool__` e :meth:`__len__`.)" +"métodos :meth:`~object.__bool__` e :meth:`~object.__len__`.)" #: ../../library/operator.rst:69 msgid "" @@ -253,13 +250,14 @@ msgstr "Define em *a* o valor no índice *b* para *c*." #: ../../library/operator.rst:247 msgid "" -"Return an estimated length for the object *o*. First try to return its " +"Return an estimated length for the object *obj*. First try to return its " "actual length, then an estimate using :meth:`object.__length_hint__`, and " "finally return the default value." msgstr "" -"Retorna um comprimento estimado para o objeto *o*. Primeiro tenta retornar o " -"seu comprimento real, em seguida, uma estimativa utilizando :meth:`object." -"__length_hint__`, e finalmente retorna o valor padrão." +"Retorna um comprimento estimado para o objeto *obj*. Primeiro tenta retornar " +"o seu comprimento real, em seguida, uma estimativa " +"utilizando :meth:`object.__length_hint__`, e finalmente retorna o valor " +"padrão." #: ../../library/operator.rst:254 msgid "The following operation works with callables:" @@ -278,9 +276,9 @@ msgid "" msgstr "" "O módulo :mod:`operator` também define ferramentas para procura de itens e " "atributos generalizados. Estes são úteis para fazer extração de campo " -"rapidamente como argumentos para as funções :func:`map`, :func:`sorted`, :" -"meth:`itertools.groupby`, ou outra função que espera uma função como " -"argumento." +"rapidamente como argumentos para as " +"funções :func:`map`, :func:`sorted`, :meth:`itertools.groupby`, ou outra " +"função que espera uma função como argumento." #: ../../library/operator.rst:273 msgid "" @@ -295,13 +293,13 @@ msgstr "" #: ../../library/operator.rst:277 msgid "After ``f = attrgetter('name')``, the call ``f(b)`` returns ``b.name``." msgstr "" -"Depois de ``f = attrgetter('name')``, a chamada a ``f(b)`` retorna ``b." -"name``." +"Depois de ``f = attrgetter('name')``, a chamada a ``f(b)`` retorna " +"``b.name``." #: ../../library/operator.rst:279 msgid "" -"After ``f = attrgetter('name', 'date')``, the call ``f(b)`` returns ``(b." -"name, b.date)``." +"After ``f = attrgetter('name', 'date')``, the call ``f(b)`` returns " +"``(b.name, b.date)``." msgstr "" "Depois de ``f = attrgetter('name', 'date')``, a chamada a ``f(b)`` retorna " "``(b.name, b.date)``." @@ -322,12 +320,12 @@ msgstr "Equivalente a::" #: ../../library/operator.rst:308 msgid "" "Return a callable object that fetches *item* from its operand using the " -"operand's :meth:`__getitem__` method. If multiple items are specified, " -"returns a tuple of lookup values. For example:" +"operand's :meth:`~object.__getitem__` method. If multiple items are " +"specified, returns a tuple of lookup values. For example:" msgstr "" "Retorna um objeto chamável que busca *item* de seu operando usando o " -"operando do método :meth:`__getitem__`. Se múltiplos itens são " -"especificados, retorna uma tupla de valores da pesquisa. Por exemplo:" +"método :meth:`~object.__getitem__` do operando. Se vários itens forem " +"especificados, retorna um tupla de valores de pesquisa. Por exemplo:" #: ../../library/operator.rst:312 msgid "After ``f = itemgetter(2)``, the call ``f(r)`` returns ``r[2]``." @@ -344,13 +342,15 @@ msgstr "" #: ../../library/operator.rst:329 msgid "" -"The items can be any type accepted by the operand's :meth:`__getitem__` " -"method. Dictionaries accept any :term:`hashable` value. Lists, tuples, and " -"strings accept an index or a slice:" +"The items can be any type accepted by the " +"operand's :meth:`~object.__getitem__` method. Dictionaries accept " +"any :term:`hashable` value. Lists, tuples, and strings accept an index or a " +"slice:" msgstr "" -"Os itens podem ser qualquer tipo aceito pelo método :meth:`__getitem__`. Os " -"dicionários aceitam qualquer valor :term:`hasheável`. Listas, tuplas e " -"strings aceitam um índice ou uma fatia:" +"Os itens podem ser de qualquer tipo aceito pelo " +"método :meth:`~object.__getitem__` do operando. Dicionários aceitam " +"qualquer valor :term:`hasheável` . Listas, tuplas e strings aceitam um " +"índice ou um fatiamento:" #: ../../library/operator.rst:343 msgid "" @@ -374,8 +374,8 @@ msgstr "" msgid "" "After ``f = methodcaller('name')``, the call ``f(b)`` returns ``b.name()``." msgstr "" -"Depois de ``f = methodcaller('name')``, a chamada a ``f(b)`` retorna ``b." -"name()``." +"Depois de ``f = methodcaller('name')``, a chamada a ``f(b)`` retorna " +"``b.name()``." #: ../../library/operator.rst:362 msgid "" diff --git a/library/optparse.po b/library/optparse.po index c5899883d..4950c6a84 100644 --- a/library/optparse.po +++ b/library/optparse.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Italo Penaforte , 2021 -# And Past , 2021 -# Leticia Portella , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Leticia Portella , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,58 +36,82 @@ msgid "" "The :mod:`optparse` module is deprecated and will not be developed further; " "development will continue with the :mod:`argparse` module." msgstr "" +"O módulo :mod:`optparse` está descontinuado e não será mais desenvolvido; o " +"desenvolvimento continuará com o módulo :mod:`argparse`." #: ../../library/optparse.rst:19 msgid "" ":mod:`optparse` is a more convenient, flexible, and powerful library for " -"parsing command-line options than the old :mod:`getopt` module. :mod:" -"`optparse` uses a more declarative style of command-line parsing: you create " -"an instance of :class:`OptionParser`, populate it with options, and parse " -"the command line. :mod:`optparse` allows users to specify options in the " -"conventional GNU/POSIX syntax, and additionally generates usage and help " -"messages for you." -msgstr "" +"parsing command-line options than the old :mod:`getopt` " +"module. :mod:`optparse` uses a more declarative style of command-line " +"parsing: you create an instance of :class:`OptionParser`, populate it with " +"options, and parse the command line. :mod:`optparse` allows users to specify " +"options in the conventional GNU/POSIX syntax, and additionally generates " +"usage and help messages for you." +msgstr "" +":mod:`optparse` é uma biblioteca mais conveniente, flexível e poderosa para " +"analisar opções de linha de comando do que o antigo " +"módulo :mod:`getopt`. :mod:`optparse` usa um estilo mais declarativo de " +"análise de linha de comando: você cria uma instância " +"de :class:`OptionParser`, preenche-a com opções e analisa a linha de " +"comando. :mod:`optparse` permite que os usuários especifiquem opções na " +"sintaxe convencional GNU/POSIX e, adicionalmente, gera mensagens de uso e " +"ajuda para você." #: ../../library/optparse.rst:26 msgid "Here's an example of using :mod:`optparse` in a simple script::" -msgstr "" +msgstr "Aqui está um exemplo de uso de :mod:`optparse` em um script simples::" #: ../../library/optparse.rst:39 msgid "" "With these few lines of code, users of your script can now do the \"usual " "thing\" on the command-line, for example::" msgstr "" +"Com essas poucas linhas de código, os usuários do seu script agora podem " +"fazer \"coisas comuns\" na linha de comando, por exemplo:" #: ../../library/optparse.rst:44 msgid "" "As it parses the command line, :mod:`optparse` sets attributes of the " -"``options`` object returned by :meth:`parse_args` based on user-supplied " -"command-line values. When :meth:`parse_args` returns from parsing this " -"command line, ``options.filename`` will be ``\"outfile\"`` and ``options." -"verbose`` will be ``False``. :mod:`optparse` supports both long and short " -"options, allows short options to be merged together, and allows options to " -"be associated with their arguments in a variety of ways. Thus, the " -"following command lines are all equivalent to the above example::" -msgstr "" +"``options`` object returned by :meth:`~OptionParser.parse_args` based on " +"user-supplied command-line values. When :meth:`~OptionParser.parse_args` " +"returns from parsing this command line, ``options.filename`` will be " +"``\"outfile\"`` and ``options.verbose`` will be ``False``. :mod:`optparse` " +"supports both long and short options, allows short options to be merged " +"together, and allows options to be associated with their arguments in a " +"variety of ways. Thus, the following command lines are all equivalent to " +"the above example::" +msgstr "" +"Ao analisar a linha de comando, :mod:`optparse` define atributos do objeto " +"``options`` retornado por :meth:`~OptionParser.parse_args` com base nos " +"valores de linha de comando fornecidos pelo usuário. " +"Quando :meth:`~OptionParser.parse_args` retorna da análise desta linha de " +"comando, ``options.filename`` será ``\"outfile\"`` e ``options.verbose`` " +"será ``False``. :mod:`optparse` provê as opções longas e curtas, permite que " +"opções curtas sejam mescladas e permite que opções sejam associadas a seus " +"argumentos de várias maneiras. Portanto, as seguintes linhas de comando são " +"todas equivalentes ao exemplo acima::" #: ../../library/optparse.rst:58 msgid "Additionally, users can run one of the following ::" -msgstr "" +msgstr "Além disso, os usuários podem executar um dos seguintes:" #: ../../library/optparse.rst:63 msgid "" "and :mod:`optparse` will print out a brief summary of your script's options:" -msgstr "" +msgstr "e :mod:`optparse` vai exibir um breve resumo das opções do seu script:" #: ../../library/optparse.rst:74 msgid "" "where the value of *yourscript* is determined at runtime (normally from " "``sys.argv[0]``)." msgstr "" +"onde o valor de *seuscript* é determinado em tempo de execução (normalmente " +"de ``sys.argv[0]``)." #: ../../library/optparse.rst:81 msgid "Background" -msgstr "" +msgstr "Contexto" #: ../../library/optparse.rst:83 msgid "" @@ -102,10 +121,15 @@ msgid "" "conventionally used under Unix. If you are unfamiliar with these " "conventions, read this section to acquaint yourself with them." msgstr "" +":mod:`optparse` foi explicitamente projetado para encorajar a criação de " +"programas com interfaces de linha de comando diretas e convencionais. Para " +"esse fim, ele provê apenas a sintaxe e a semântica de linha de comando mais " +"comuns convencionalmente usadas no Unix. Se você não estiver familiarizado " +"com essas convenções, leia esta seção para se familiarizar com elas." #: ../../library/optparse.rst:93 msgid "Terminology" -msgstr "" +msgstr "Terminologia" #: ../../library/optparse.rst:104 msgid "argument" @@ -118,40 +142,59 @@ msgid "" "(``sys.argv[0]`` is the name of the program being executed). Unix shells " "also use the term \"word\"." msgstr "" +"uma string inserida na linha de comando e passada pelo shell para " +"``execl()`` ou ``execv()``. Em Python, argumentos são elementos de " +"``sys.argv[1:]`` (``sys.argv[0]`` é o nome do programa que está sendo " +"executado). Shells Unix também usam o termo \"word\"." #: ../../library/optparse.rst:101 msgid "" -"It is occasionally desirable to substitute an argument list other than ``sys." -"argv[1:]``, so you should read \"argument\" as \"an element of ``sys." -"argv[1:]``, or of some other list provided as a substitute for ``sys." -"argv[1:]``\"." +"It is occasionally desirable to substitute an argument list other than " +"``sys.argv[1:]``, so you should read \"argument\" as \"an element of " +"``sys.argv[1:]``, or of some other list provided as a substitute for " +"``sys.argv[1:]``\"." msgstr "" +"Ocasionalmente, é desejável substituir uma lista de argumentos diferente de " +"``sys.argv[1:]``, então você deve ler \"argumento\" como \"um elemento de " +"``sys.argv[1:]``, ou de alguma outra lista fornecida como um substituto para " +"``sys.argv[1:]``\"." #: ../../library/optparse.rst:134 msgid "option" -msgstr "" +msgstr "opção" #: ../../library/optparse.rst:107 msgid "" "an argument used to supply extra information to guide or customize the " "execution of a program. There are many different syntaxes for options; the " -"traditional Unix syntax is a hyphen (\"-\") followed by a single letter, e." -"g. ``-x`` or ``-F``. Also, traditional Unix syntax allows multiple options " -"to be merged into a single argument, e.g. ``-x -F`` is equivalent to ``-" -"xF``. The GNU project introduced ``--`` followed by a series of hyphen-" +"traditional Unix syntax is a hyphen (\"-\") followed by a single letter, " +"e.g. ``-x`` or ``-F``. Also, traditional Unix syntax allows multiple " +"options to be merged into a single argument, e.g. ``-x -F`` is equivalent to " +"``-xF``. The GNU project introduced ``--`` followed by a series of hyphen-" "separated words, e.g. ``--file`` or ``--dry-run``. These are the only two " "option syntaxes provided by :mod:`optparse`." msgstr "" +"um argumento usado para fornecer informações extras para guiar ou " +"personalizar a execução de um programa. Existem muitas sintaxes diferentes " +"para opções; a sintaxe tradicional do Unix é um hífen (\"-\") seguido por " +"uma única letra, por exemplo, ``-x`` ou ``-F``. Além disso, a sintaxe " +"tradicional do Unix permite que várias opções sejam mescladas em um único " +"argumento, por exemplo, ``-x -F`` é equivalente a ``-xF``. O projeto GNU " +"introduziu ``--`` seguido por uma série de palavras separadas por hífen, por " +"exemplo, ``--file`` ou ``--dry-run``. Essas são as únicas duas sintaxes de " +"opção fornecidas por :mod:`optparse`." #: ../../library/optparse.rst:116 msgid "Some other option syntaxes that the world has seen include:" -msgstr "" +msgstr "Algumas outras sintaxes de opções que o mundo viu incluem:" #: ../../library/optparse.rst:118 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 "" +"um hífen seguido por algumas letras, por exemplo ``-pf`` (isso *não* é o " +"mesmo que várias opções mescladas em um único argumento)" #: ../../library/optparse.rst:121 msgid "" @@ -159,18 +202,25 @@ msgid "" "equivalent to the previous syntax, but they aren't usually seen in the same " "program)" msgstr "" +"um hífen seguido por uma palavra completa, por exemplo ``-file`` (isso é " +"tecnicamente equivalente à sintaxe anterior, mas eles geralmente não são " +"vistos no mesmo programa)" #: ../../library/optparse.rst:125 msgid "" "a plus sign followed by a single letter, or a few letters, or a word, e.g. " "``+f``, ``+rgb``" msgstr "" +"um sinal de mais seguido por uma única letra, ou algumas letras, ou uma " +"palavra, por exemplo ``+f``, ``+rgb``" #: ../../library/optparse.rst:128 msgid "" "a slash followed by a letter, or a few letters, or a word, e.g. ``/f``, ``/" "file``" msgstr "" +"uma barra seguida de uma letra, ou algumas letras, ou uma palavra, por " +"exemplo ``/f``, ``/file``" #: ../../library/optparse.rst:131 msgid "" @@ -179,22 +229,29 @@ msgid "" "environment, and the last only makes sense if you're exclusively targeting " "Windows or certain legacy platforms (e.g. VMS, MS-DOS)." msgstr "" +"Essas sintaxes de opção não são suportadas por :mod:`optparse`, e nunca " +"serão. Isso é proposital: as três primeiras não são padrão em nenhum " +"ambiente, e a última só faz sentido se você estiver mirando exclusivamente " +"no Windows ou em certas plataformas legadas (por exemplo, VMS, MS-DOS)." #: ../../library/optparse.rst:160 msgid "option argument" -msgstr "" +msgstr "argumento de opção" #: ../../library/optparse.rst:137 msgid "" "an argument that follows an option, is closely associated with that option, " -"and is consumed from the argument list when that option is. With :mod:" -"`optparse`, option arguments may either be in a separate argument from their " -"option:" +"and is consumed from the argument list when that option is. " +"With :mod:`optparse`, option arguments may either be in a separate argument " +"from their option:" msgstr "" +"um argumento que segue uma opção, está intimamente associado a essa opção e " +"é consumido da lista de argumentos quando essa opção é. Com :mod:`optparse`, " +"os argumentos de opção podem estar em um argumento separado de sua opção:" #: ../../library/optparse.rst:147 msgid "or included in the same argument:" -msgstr "" +msgstr "ou incluídos no mesmo argumento:" #: ../../library/optparse.rst:154 msgid "" @@ -206,6 +263,13 @@ msgid "" "interpret ``-ab``? Because of this ambiguity, :mod:`optparse` does not " "support this feature." msgstr "" +"Normalmente, uma opção dada ou aceita um argumento ou não. Muitas pessoas " +"querem um recurso de \"argumentos opcionais de opção\", o que significa que " +"algumas opções aceitarão um argumento se o virem, e não aceitarão se não o " +"virem. Isso é um tanto controverso, porque torna a análise ambígua: se ``-" +"a`` aceita um argumento opcional e ``-b`` é outra opção inteiramente " +"diferente, como interpretamos ``-ab``? Por causa dessa " +"ambiguidade, :mod:`optparse` não provê esse recurso." #: ../../library/optparse.rst:165 msgid "positional argument" @@ -217,10 +281,13 @@ msgid "" "after options and their arguments have been parsed and removed from the " "argument list." msgstr "" +"algo que sobrou na lista de argumentos depois que as opções foram " +"analisadas, ou seja, depois que as opções e seus argumentos foram analisados " +"e removidos da lista de argumentos." #: ../../library/optparse.rst:171 msgid "required option" -msgstr "" +msgstr "opção obrigatória" #: ../../library/optparse.rst:168 msgid "" @@ -229,10 +296,14 @@ msgid "" "doesn't prevent you from implementing required options, but doesn't give you " "much help at it either." msgstr "" +"uma opção que deve ser fornecida na linha de comando; observe que a frase " +"\"opção obrigatória\" é autocontraditória em inglês. :mod:`optparse` não " +"impede que você implemente opções obrigatórias, mas também não ajuda muito " +"nisso." #: ../../library/optparse.rst:173 msgid "For example, consider this hypothetical command-line::" -msgstr "" +msgstr "Por exemplo, considere esta linha de comando hipotética:" #: ../../library/optparse.rst:177 msgid "" @@ -240,10 +311,13 @@ msgid "" "one argument, ``report.txt`` is an option argument. ``foo`` and ``bar`` are " "positional arguments." msgstr "" +"``-v`` e ``--report`` são ambas opções. Supondo que ``--report`` receba um " +"argumento, ``report.txt`` é um argumento de opção. ``foo`` e ``bar`` são " +"argumentos posicionais." #: ../../library/optparse.rst:185 msgid "What are options for?" -msgstr "" +msgstr "Para que servem as opções?" #: ../../library/optparse.rst:187 msgid "" @@ -256,6 +330,14 @@ msgid "" "have been rightly criticized for their non-standard syntax and confusing " "interfaces.)" msgstr "" +"As opções são usadas para fornecer informações extras para ajustar ou " +"personalizar a execução de um programa. Caso não tenha ficado claro, as " +"opções geralmente são *opcionais*. Um programa deve ser capaz de executar " +"muito bem sem nenhuma opção. (Escolha um programa aleatório dos conjuntos de " +"ferramentas Unix ou GNU. Ele pode ser executado sem nenhuma opção e ainda " +"fazer sentido? As principais exceções são ``find``, ``tar`` e ``dd`` --- " +"todos eles são mutantes excêntricos que foram corretamente criticados por " +"sua sintaxe não padrão e interfaces confusas.)" #: ../../library/optparse.rst:195 msgid "" @@ -264,6 +346,10 @@ msgid "" "of information that your program absolutely requires in order to run " "successfully, that's what positional arguments are for." msgstr "" +"Muitas pessoas querem que seus programas tenham \"opções obrigatórias\". " +"Pense nisso. Se é obrigatório, então *não é opcional*! Se há uma informação " +"que seu programa absolutamente requer para ser executado com sucesso, é para " +"isso que servem os argumentos posicionais." #: ../../library/optparse.rst:200 msgid "" @@ -273,6 +359,11 @@ 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 "" +"Como um exemplo de bom design de interface de linha de comando, considere o " +"humilde utilitário ``cp``, para copiar arquivos. Não faz muito sentido " +"tentar copiar arquivos sem fornecer um destino e pelo menos uma fonte. " +"Portanto, ``cp`` falha se você executá-lo sem argumentos. No entanto, ele " +"tem uma sintaxe flexível e útil que não requer nenhuma opção::" #: ../../library/optparse.rst:209 msgid "" @@ -283,16 +374,24 @@ msgid "" "mission of ``cp``, which is to copy either one file to another, or several " "files to another directory." msgstr "" +"Você pode ir bem longe só com isso. A maioria das implementações de ``cp`` " +"fornece um monte de opções para ajustar exatamente como os arquivos são " +"copiados: você pode preservar o modo e o tempo de modificação, evitar seguir " +"links simbólicos, perguntar antes de destruir arquivos existentes, etc. Mas " +"nada disso distrai da missão principal de ``cp``, que é copiar um arquivo " +"para outro, ou vários arquivos para outro diretório." #: ../../library/optparse.rst:220 msgid "What are positional arguments for?" -msgstr "" +msgstr "Para que servem os argumentos posicionais?" #: ../../library/optparse.rst:222 msgid "" "Positional arguments are for those pieces of information that your program " "absolutely, positively requires to run." msgstr "" +"Argumentos posicionais são para aquelas informações que seu programa " +"absolutamente e positivamente requer para ser executado." #: ../../library/optparse.rst:225 msgid "" @@ -304,6 +403,13 @@ msgid "" "configuration file, or a GUI: if you make that many demands on your users, " "most of them will simply give up." msgstr "" +"Uma boa interface de usuário deve ter o mínimo de requisitos absolutos " +"possível. Se seu programa requer 17 informações distintas para ser executado " +"com sucesso, não importa muito *como* você obtém essas informações do " +"usuário --- a maioria das pessoas desistirá e irá embora antes de executar o " +"programa com sucesso. Isso se aplica se a interface de usuário for uma linha " +"de comando, um arquivo de configuração ou uma GUI: se você fizer tantas " +"exigências aos seus usuários, a maioria deles simplesmente desistirá." #: ../../library/optparse.rst:233 msgid "" @@ -317,6 +423,16 @@ msgid "" "has drawbacks as well, of course; too many options can overwhelm users and " "make your code much harder to maintain." msgstr "" +"Em resumo, tente minimizar a quantidade de informações que os usuários são " +"absolutamente obrigados a fornecer --- use padrões sensatos sempre que " +"possível. Claro, você também quer tornar seus programas razoavelmente " +"flexíveis. É para isso que servem as opções. Novamente, não importa se são " +"entradas em um arquivo de configuração, widgets no diálogo \"Preferências\" " +"de uma GUI ou opções de linha de comando --- quanto mais opções você " +"implementar, mais flexível será seu programa e mais complicada se tornará " +"sua implementação. Muita flexibilidade também tem desvantagens, é claro; " +"muitas opções podem sobrecarregar os usuários e tornar seu código muito mais " +"difícil de manter." #: ../../library/optparse.rst:246 msgid "Tutorial" @@ -328,16 +444,21 @@ msgid "" "straightforward to use in most cases. This section covers the code patterns " "that are common to any :mod:`optparse`\\ -based program." msgstr "" +"Embora :mod:`optparse` seja bastante flexível e poderoso, ele também é " +"simples de usar na maioria dos casos. Esta seção abrange os padrões de " +"código que são comuns a qualquer programa baseado em :mod:`optparse`." #: ../../library/optparse.rst:252 msgid "" "First, you need to import the OptionParser class; then, early in the main " "program, create an OptionParser instance::" msgstr "" +"Primeiro, você precisa importar a classe OptionParser; então, no início do " +"programa principal, crie uma instância de OptionParser::" #: ../../library/optparse.rst:259 msgid "Then you can start defining options. The basic syntax is::" -msgstr "" +msgstr "Então você pode começar a definir opções. A sintaxe básica é::" #: ../../library/optparse.rst:264 msgid "" @@ -345,12 +466,17 @@ msgid "" "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 "" +"Cada opção tem uma ou mais strings de opção, como ``-f`` ou ``--file``, e " +"vários atributos de opção que informam ao :mod:`optparse` o que esperar e o " +"que fazer quando encontrar essa opção na linha de comando." #: ../../library/optparse.rst:268 msgid "" "Typically, each option will have one short option string and one long option " "string, e.g.::" msgstr "" +"Normalmente, cada opção terá uma sequência de opções curta e uma sequência " +"de opções longa, por exemplo::" #: ../../library/optparse.rst:273 msgid "" @@ -358,30 +484,45 @@ msgid "" "strings as you like (including zero), as long as there is at least one " "option string overall." msgstr "" +"Você tem a liberdade de definir quantas strings de opções curtas e longas " +"quiser (incluindo zero), desde que haja pelo menos uma string de opção no " +"geral." #: ../../library/optparse.rst:277 msgid "" "The option strings passed to :meth:`OptionParser.add_option` are effectively " "labels for the option defined by that call. For brevity, we will frequently " -"refer to *encountering an option* on the command line; in reality, :mod:" -"`optparse` encounters *option strings* and looks up options from them." +"refer to *encountering an option* on the command line; in " +"reality, :mod:`optparse` encounters *option strings* and looks up options " +"from them." msgstr "" +"As strings de opção passadas para :meth:`OptionParser.add_option` são " +"efetivamente rótulos para a opção definida por essa chamada. Para resumir, " +"frequentemente nos referiremos a *encontrar uma opção* na linha de comando; " +"na realidade, :mod:`optparse` encontra *strings de opção* e procura opções a " +"partir delas." #: ../../library/optparse.rst:283 msgid "" "Once all of your options are defined, instruct :mod:`optparse` to parse your " "program's command line::" msgstr "" +"Depois que todas as suas opções estiverem definidas, instrua :mod:`optparse` " +"para analisar a linha de comando do seu programa::" #: ../../library/optparse.rst:288 msgid "" -"(If you like, you can pass a custom argument list to :meth:`parse_args`, but " -"that's rarely necessary: by default it uses ``sys.argv[1:]``.)" +"(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 "" +"(Se desejar, você pode passar uma lista de argumentos personalizada " +"para :meth:`~OptionParser.parse_args`, mas isso raramente é necessário: por " +"padrão, ele usa ``sys.argv[1:]``.)" #: ../../library/optparse.rst:291 -msgid ":meth:`parse_args` returns two values:" -msgstr "" +msgid ":meth:`~OptionParser.parse_args` returns two values:" +msgstr ":meth:`~OptionParser.parse_args` retorna dois valores:" #: ../../library/optparse.rst:293 msgid "" @@ -390,42 +531,61 @@ msgid "" "filename supplied by the user, or ``None`` if the user did not supply that " "option" msgstr "" +"``options``, um objeto que contém valores para todas as suas opções --- por " +"exemplo, se ``--file`` receber um único argumento de string, então " +"``options.file`` será o nome do arquivo fornecido pelo usuário, ou ``None`` " +"se o usuário não forneceu essa opção" #: ../../library/optparse.rst:298 msgid "" "``args``, the list of positional arguments leftover after parsing options" msgstr "" +"``args``, a lista de argumentos posicionais restantes após a análise de " +"opções" #: ../../library/optparse.rst:300 msgid "" "This tutorial section only covers the four most important option " -"attributes: :attr:`~Option.action`, :attr:`~Option.type`, :attr:`~Option." -"dest` (destination), and :attr:`~Option.help`. Of these, :attr:`~Option." -"action` is the most fundamental." +"attributes: :attr:`~Option.action`, :attr:`~Option.type`, :attr:`~Option.dest` " +"(destination), and :attr:`~Option.help`. Of these, :attr:`~Option.action` is " +"the most fundamental." msgstr "" +"Esta seção do tutorial abrange apenas os quatro atributos de opção mais " +"importantes: :attr:`~Option.action`, :attr:`~Option.type`, :attr:`~Option.dest` " +"(destino) e :attr:`~Option.help`. Destes, :attr:`~Option.action` é o mais " +"fundamental." #: ../../library/optparse.rst:309 msgid "Understanding option actions" -msgstr "" +msgstr "Compreendendo as ações de opções" #: ../../library/optparse.rst:311 msgid "" "Actions tell :mod:`optparse` what to do when it encounters an option on the " -"command line. There is a fixed set of actions hard-coded into :mod:" -"`optparse`; adding new actions is an advanced topic covered in section :ref:" -"`optparse-extending-optparse`. Most actions tell :mod:`optparse` to store a " -"value in some variable---for example, take a string from the command line " -"and store it in an attribute of ``options``." -msgstr "" +"command line. There is a fixed set of actions hard-coded " +"into :mod:`optparse`; adding new actions is an advanced topic covered in " +"section :ref:`optparse-extending-optparse`. Most actions " +"tell :mod:`optparse` to store a value in some variable---for example, take a " +"string from the command line and store it in an attribute of ``options``." +msgstr "" +"Ações dizem ao :mod:`optparse` o que fazer quando ele encontra uma opção na " +"linha de comando. Há um conjunto fixo de ações codificadas " +"em :mod:`optparse`; adicionar novas ações é um tópico avançado abordado na " +"seção :ref:`optparse-extending-optparse`. A maioria das ações diz " +"ao :mod:`optparse` para armazenar um valor em alguma variável --- por " +"exemplo, pegue uma string da linha de comando e armazene-a em um atributo de " +"``options``." #: ../../library/optparse.rst:318 msgid "" "If you don't specify an option action, :mod:`optparse` defaults to ``store``." msgstr "" +"Se você não especificar uma ação de opção, :mod:`optparse` assumirá como " +"padrão ``store``." #: ../../library/optparse.rst:324 msgid "The store action" -msgstr "" +msgstr "A ação store" #: ../../library/optparse.rst:326 msgid "" @@ -433,6 +593,9 @@ msgid "" "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 "" +"A ação de opção mais comum é ``store``, que diz ao :mod:`optparse` para " +"pegar o próximo argumento (ou o restante do argumento atual), garantir que " +"seja do tipo correto e armazená-lo no destino escolhido." #: ../../library/optparse.rst:330 msgid "For example::" @@ -442,25 +605,37 @@ msgstr "Por exemplo::" msgid "" "Now let's make up a fake command line and ask :mod:`optparse` to parse it::" msgstr "" +"Agora vamos criar uma linha de comando falsa e pedir ao :mod:`optparse` para " +"analisá-la::" #: ../../library/optparse.rst:340 msgid "" "When :mod:`optparse` sees the option string ``-f``, it consumes the next " "argument, ``foo.txt``, and stores it in ``options.filename``. So, after " -"this call to :meth:`parse_args`, ``options.filename`` is ``\"foo.txt\"``." +"this call to :meth:`~OptionParser.parse_args`, ``options.filename`` is " +"``\"foo.txt\"``." msgstr "" +"Quando :mod:`optparse` vê a string de opção ``-f``, ele consome o próximo " +"argumento, ``foo.txt``, e o armazena em ``options.filename``. Então, após " +"essa chamada para :meth:`~OptionParser.parse_args`, ``options.filename`` é " +"``\"foo.txt\"``." #: ../../library/optparse.rst:344 msgid "" "Some other option types supported by :mod:`optparse` are ``int`` and " "``float``. Here's an option that expects an integer argument::" msgstr "" +"Alguns outros tipos de opção suportados por :mod:`optparse` são ``int`` e " +"``float``. Aqui está uma opção que espera um argumento inteiro::" #: ../../library/optparse.rst:349 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 "" +"Note que esta opção não tem uma string de opção longa, o que é perfeitamente " +"aceitável. Além disso, não há nenhuma ação explícita, já que o padrão é " +"``store``." #: ../../library/optparse.rst:352 msgid "" @@ -468,10 +643,13 @@ msgid "" "argument right up against the option: since ``-n42`` (one argument) is " "equivalent to ``-n 42`` (two arguments), the code ::" msgstr "" +"Vamos analisar outra linha de comando falsa. Desta vez, vamos colocar o " +"argumento de opção bem perto da opção: já que ``-n42`` (um argumento) " +"equivale a ``-n 42`` (dois argumentos), o código ::" #: ../../library/optparse.rst:359 msgid "will print ``42``." -msgstr "" +msgstr "vai exibir ``42``." #: ../../library/optparse.rst:361 msgid "" @@ -479,6 +657,9 @@ msgid "" "with the fact that the default action is ``store``, that means our first " "example can be a lot shorter::" msgstr "" +"Se você não especificar um tipo, :mod:`optparse` presume ``string``. " +"Combinado com o fato de que a ação padrão é ``store``, isso significa que " +"nosso primeiro exemplo pode ser muito mais curto::" #: ../../library/optparse.rst:367 msgid "" @@ -488,16 +669,23 @@ msgid "" "option strings, :mod:`optparse` looks at the first short option string: the " "default destination for ``-f`` is ``f``." msgstr "" +"Se você não fornecer um destino, :mod:`optparse` descobre um padrão sensato " +"a partir das strings de opção: se a primeira string de opção longa for ``--" +"foo-bar``, então o destino padrão é ``foo_bar``. Se não houver strings de " +"opção longas, :mod:`optparse` olha para a primeira string de opção curta: o " +"destino padrão para ``-f`` é ``f``." #: ../../library/optparse.rst:373 msgid "" ":mod:`optparse` also includes the built-in ``complex`` type. Adding types " "is covered in section :ref:`optparse-extending-optparse`." msgstr "" +":mod:`optparse` também inclui o tipo ``complex`` embutido. Adicionar tipos é " +"abordado na seção :ref:`optparse-extending-optparse`." #: ../../library/optparse.rst:380 msgid "Handling boolean (flag) options" -msgstr "" +msgstr "Manipulando opções (sinalizadores) booleanas" #: ../../library/optparse.rst:382 msgid "" @@ -506,6 +694,11 @@ 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 "" +"Opções de sinalizador --- define uma variável como true ou false quando uma " +"opção específica é vista --- são bem comuns. :mod:`optparse` suporta-as com " +"duas ações separadas, ``store_true`` e ``store_false``. Por exemplo, você " +"pode ter um sinalizador ``verbose`` que é ativado com ``-v`` e desativado " +"com ``-q``::" #: ../../library/optparse.rst:390 msgid "" @@ -513,63 +706,71 @@ msgid "" "perfectly OK. (It just means you have to be a bit careful when setting " "default values---see below.)" msgstr "" +"Aqui temos duas opções diferentes com o mesmo destino, o que é perfeitamente " +"OK. (Isso significa apenas que você tem que ter um pouco de cuidado ao " +"definir valores padrão — veja abaixo.)" #: ../../library/optparse.rst:394 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``." +"``options.verbose`` to ``True``; when it encounters ``-q``, " +"``options.verbose`` is set to ``False``." msgstr "" +"Quando :mod:`optparse` encontra ``-v`` na linha de comando, ele define " +"``options.verbose`` como ``True``; quando encontra ``-q``, " +"``options.verbose`` é definido como ``False``." #: ../../library/optparse.rst:402 msgid "Other actions" -msgstr "Outras Ações" +msgstr "Outras ações" #: ../../library/optparse.rst:404 msgid "Some other actions supported by :mod:`optparse` are:" -msgstr "" +msgstr "Algumas outras ações suportadas por :mod:`optparse` são:" -#: ../../library/optparse.rst:407 ../../library/optparse.rst:928 +#: ../../library/optparse.rst:407 ../../library/optparse.rst:929 msgid "``\"store_const\"``" msgstr "``\"store_const\"``" -#: ../../library/optparse.rst:407 ../../library/optparse.rst:928 +#: ../../library/optparse.rst:407 ../../library/optparse.rst:929 msgid "store a constant value, pre-set via :attr:`Option.const`" -msgstr "" +msgstr "armazena um valor constante, predefinido via :attr:`Option.const`" -#: ../../library/optparse.rst:410 ../../library/optparse.rst:937 +#: ../../library/optparse.rst:410 ../../library/optparse.rst:938 msgid "``\"append\"``" msgstr "``\"append\"``" -#: ../../library/optparse.rst:410 ../../library/optparse.rst:937 +#: ../../library/optparse.rst:410 ../../library/optparse.rst:938 msgid "append this option's argument to a list" -msgstr "" +msgstr "anexa o argumento desta opção a uma lista" -#: ../../library/optparse.rst:413 ../../library/optparse.rst:943 +#: ../../library/optparse.rst:413 ../../library/optparse.rst:944 msgid "``\"count\"``" msgstr "``\"count\"``" -#: ../../library/optparse.rst:413 ../../library/optparse.rst:943 +#: ../../library/optparse.rst:413 ../../library/optparse.rst:944 msgid "increment a counter by one" -msgstr "" +msgstr "incrementa um contador em um" -#: ../../library/optparse.rst:416 ../../library/optparse.rst:946 +#: ../../library/optparse.rst:416 ../../library/optparse.rst:947 msgid "``\"callback\"``" msgstr "``\"callback\"``" -#: ../../library/optparse.rst:416 ../../library/optparse.rst:946 +#: ../../library/optparse.rst:416 ../../library/optparse.rst:947 msgid "call a specified function" -msgstr "" +msgstr "chama uma função especificada" #: ../../library/optparse.rst:418 msgid "" -"These are covered in section :ref:`optparse-reference-guide`, and section :" -"ref:`optparse-option-callbacks`." +"These are covered in section :ref:`optparse-reference-guide`, and " +"section :ref:`optparse-option-callbacks`." msgstr "" +"Elas são abordadas na seção :ref:`optparse-reference-guide` e na " +"seção :ref:`optparse-option-callbacks`." #: ../../library/optparse.rst:425 msgid "Default values" -msgstr "" +msgstr "Valores padrão" #: ../../library/optparse.rst:427 msgid "" @@ -580,12 +781,22 @@ msgid "" "control. :mod:`optparse` lets you supply a default value for each " "destination, which is assigned before the command line is parsed." msgstr "" +"Todos os exemplos acima envolvem a configuração de alguma variável (o " +"\"destino\") quando certas opções de linha de comando são vistas. O que " +"acontece se essas opções nunca forem vistas? Como não fornecemos nenhum " +"padrão, todas elas são definidas como ``None``. Isso geralmente é bom, mas " +"às vezes você quer mais controle. :mod:`optparse` permite que você forneça " +"um valor padrão para cada destino, que é atribuído antes da análise da linha " +"de comando." #: ../../library/optparse.rst:434 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 "" +"Primeiro, considere o exemplo de verbose/quiet. Se quisermos " +"que :mod:`optparse` defina ``verbose`` como ``True`` a menos que ``-q`` seja " +"visto, então podemos fazer isso::" #: ../../library/optparse.rst:440 msgid "" @@ -593,36 +804,47 @@ msgid "" "particular option, and these two options happen to have the same " "destination, this is exactly equivalent::" msgstr "" +"Como os valores padrão se aplicam ao *destino* e não a qualquer opção " +"específica, e essas duas opções têm o mesmo destino, isso é exatamente " +"equivalente::" #: ../../library/optparse.rst:447 msgid "Consider this::" -msgstr "" +msgstr "Considere isso::" #: ../../library/optparse.rst:452 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 "" +"Novamente, o valor padrão para ``verbose`` será ``True``: o último valor " +"padrão fornecido para qualquer destino específico é o que conta." #: ../../library/optparse.rst:455 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:" -"`parse_args`::" +"of OptionParser, which you can call at any time before " +"calling :meth:`~OptionParser.parse_args`::" msgstr "" +"Uma maneira mais clara de especificar valores padrão é o " +"método :meth:`set_defaults` do OptionParser, que você pode chamar a qualquer " +"momento antes de chamar :meth:`~OptionParser.parse_args`::" -#: ../../library/optparse.rst:462 +#: ../../library/optparse.rst:463 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 "" +"Como antes, o último valor especificado para um destino de opção dado é o " +"que conta. Para maior clareza, tente usar um método ou outro de configuração " +"de valores padrão, não ambos." -#: ../../library/optparse.rst:470 +#: ../../library/optparse.rst:471 msgid "Generating help" -msgstr "" +msgstr "Gerando texto de ajuda" -#: ../../library/optparse.rst:472 +#: ../../library/optparse.rst:473 msgid "" ":mod:`optparse`'s ability to generate help and usage text automatically is " "useful for creating user-friendly command-line interfaces. All you have to " @@ -630,68 +852,98 @@ msgid "" "short usage message for your whole program. Here's an OptionParser " "populated with user-friendly (documented) options::" msgstr "" +"A capacidade do :mod:`optparse` de gerar texto de ajuda e uso " +"automaticamente é útil para criar interfaces de linha de comando amigáveis " +"ao usuário. Tudo o que você precisa fazer é fornecer um " +"valor :attr:`~Option.help` para cada opção e, opcionalmente, uma curta " +"mensagem de uso para todo o seu programa. Aqui está um OptionParser " +"preenchido com opções amigáveis (documentadas) ao usuário::" -#: ../../library/optparse.rst:493 +#: ../../library/optparse.rst:494 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 "" +"Se :mod:`optparse` encontrar ``-h`` ou ``--help`` na linha de comando, ou se " +"você apenas chamar :meth:`parser.print_help`, ele exibe o seguinte na saída " +"padrão:" -#: ../../library/optparse.rst:510 +#: ../../library/optparse.rst:511 msgid "" "(If the help output is triggered by a help option, :mod:`optparse` exits " "after printing the help text.)" msgstr "" +"(Se a saída de ajuda for acionada por uma opção de ajuda, :mod:`optparse` " +"sai após imprimir o texto de ajuda.)" -#: ../../library/optparse.rst:513 +#: ../../library/optparse.rst:514 msgid "" "There's a lot going on here to help :mod:`optparse` generate the best " "possible help message:" msgstr "" +"Há muita coisa acontecendo aqui para ajudar :mod:`optparse` a gerar a melhor " +"mensagem de ajuda possível:" -#: ../../library/optparse.rst:516 +#: ../../library/optparse.rst:517 msgid "the script defines its own usage message::" -msgstr "" +msgstr "o script define sua própria mensagem de uso::" -#: ../../library/optparse.rst:520 +#: ../../library/optparse.rst:521 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` expande ``%prog`` na string de uso para o nome do programa " +"atual, ou seja, ``os.path.basename(sys.argv[0])``. A string expandida é " +"então exibida antes da ajuda detalhada da opção." -#: ../../library/optparse.rst:524 +#: ../../library/optparse.rst:525 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 "" +"Se você não fornecer uma string de uso, :mod:`optparse` usa um padrão " +"simples, mas sensato: ``\"Usage: %prog [options]\"``, o que é bom se seu " +"script não aceita nenhum argumento posicional." -#: ../../library/optparse.rst:528 +#: ../../library/optparse.rst:529 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 "" +"cada opção define uma string de ajuda e não se preocupa com quebra de linha " +"--- :mod:`optparse` cuida da quebra de linhas e faz com que a saída de ajuda " +"tenha uma boa aparência." -#: ../../library/optparse.rst:532 +#: ../../library/optparse.rst:533 msgid "" "options that take a value indicate this fact in their automatically " "generated help message, e.g. for the \"mode\" option::" msgstr "" +"opções que assumem um valor indicam esse fato em sua mensagem de ajuda " +"gerada automaticamente, por exemplo, para a opção \"mode\"::" -#: ../../library/optparse.rst:537 +#: ../../library/optparse.rst:538 msgid "" "Here, \"MODE\" is called the meta-variable: it stands for the argument that " -"the user is expected to supply to ``-m``/``--mode``. By default, :mod:" -"`optparse` converts the destination variable name to uppercase and uses that " -"for the meta-variable. Sometimes, that's not what you want---for example, " -"the ``--filename`` option explicitly sets ``metavar=\"FILE\"``, resulting in " -"this automatically generated option description::" +"the user is expected to supply to ``-m``/``--mode``. By " +"default, :mod:`optparse` converts the destination variable name to uppercase " +"and uses that for the meta-variable. Sometimes, that's not what you want---" +"for example, the ``--filename`` option explicitly sets ``metavar=\"FILE\"``, " +"resulting in this automatically generated option description::" msgstr "" +"Aqui, \"MODE\" é chamado de metavariável: ele representa o argumento que o " +"usuário deve fornecer para ``-m``/``--mode``. Por padrão, :mod:`optparse` " +"converte o nome da variável de destino para maiúsculas e usa isso para a " +"metavariável. Às vezes, não é isso que você quer --- por exemplo, a opção " +"``--filename`` define explicitamente ``metavar=\"FILE\"``, resultando nesta " +"descrição de opção gerada automaticamente::" -#: ../../library/optparse.rst:546 +#: ../../library/optparse.rst:547 msgid "" "This is important for more than just saving space, though: the manually " "written help text uses the meta-variable ``FILE`` to clue the user in that " @@ -700,152 +952,206 @@ msgid "" "effective way to make your help text a lot clearer and more useful for end " "users." msgstr "" +"Isso é importante para mais do que apenas economizar espaço: o texto de " +"ajuda escrito manualmente usa a metavariável ``FILE`` para dar uma pista ao " +"usuário de que há uma conexão entre a sintaxe semiformal ``-f FILE`` e a " +"descrição semântica informal como, por exemplo, \"write output to FILE\". " +"Essa é uma maneira simples, mas eficaz, de tornar seu texto de ajuda muito " +"mais claro e útil para usuários finais." -#: ../../library/optparse.rst:552 +#: ../../library/optparse.rst:553 msgid "" "options that have a default value can include ``%default`` in the help " "string---\\ :mod:`optparse` will replace it with :func:`str` of the option's " "default value. If an option has no default value (or the default value is " "``None``), ``%default`` expands to ``none``." msgstr "" +"opções que têm um valor padrão podem incluir ``%default`` na string de ajuda " +"--- :mod:`optparse` vai substituí-lo por :func:`str` do valor padrão da " +"opção. Se uma opção não tiver um valor padrão (ou o valor padrão for " +"``None``), ``%default`` expande para ``none``." -#: ../../library/optparse.rst:558 +#: ../../library/optparse.rst:559 msgid "Grouping Options" -msgstr "" +msgstr "Agrupando opções" -#: ../../library/optparse.rst:560 +#: ../../library/optparse.rst:561 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 "" +"Ao lidar com muitas opções, é conveniente agrupar essas opções para melhor " +"saída de ajuda. Um :class:`OptionParser` pode conter vários grupos de " +"opções, cada um dos quais pode conter várias opções." -#: ../../library/optparse.rst:564 +#: ../../library/optparse.rst:565 msgid "An option group is obtained using the class :class:`OptionGroup`:" -msgstr "" +msgstr "Um grupo de opções é obtido usando a classe :class:`OptionGroup`:" -#: ../../library/optparse.rst:568 ../../library/optparse.rst:1637 +#: ../../library/optparse.rst:569 ../../library/optparse.rst:1640 msgid "where" -msgstr "" +msgstr "onde" -#: ../../library/optparse.rst:570 +#: ../../library/optparse.rst:571 msgid "" "parser is the :class:`OptionParser` instance the group will be inserted in to" msgstr "" +"*parser* é a instância :class:`OptionParser` na qual o grupo será inserido" -#: ../../library/optparse.rst:572 +#: ../../library/optparse.rst:573 msgid "title is the group title" -msgstr "" +msgstr "*title* é o título do grupo" -#: ../../library/optparse.rst:573 +#: ../../library/optparse.rst:574 msgid "description, optional, is a long description of the group" -msgstr "" +msgstr "*description*, opcional, é uma descrição longa do grupo" -#: ../../library/optparse.rst:575 +#: ../../library/optparse.rst:576 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." +":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` herda de :class:`OptionContainer` " +"(como :class:`OptionParser`) e, portanto, o método :meth:`add_option` pode " +"ser usado para adicionar uma opção ao grupo." -#: ../../library/optparse.rst:579 +#: ../../library/optparse.rst:580 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." +"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 "" +"Depois que todas as opções são declaradas, usando o " +"método :class:`OptionParser` :meth:`add_option_group` o grupo é adicionado " +"ao analisador definido anteriormente." -#: ../../library/optparse.rst:582 +#: ../../library/optparse.rst:583 msgid "" -"Continuing with the parser defined in the previous section, adding an :class:" -"`OptionGroup` to a parser is easy::" +"Continuing with the parser defined in the previous section, adding " +"an :class:`OptionGroup` to a parser is easy::" msgstr "" +"Continuando com o analisador definido na seção anterior, adicionar " +"um :class:`OptionGroup` a um analisador é fácil::" -#: ../../library/optparse.rst:591 +#: ../../library/optparse.rst:592 msgid "This would result in the following help output:" -msgstr "" +msgstr "Isso resultaria na seguinte saída de texto de ajuda:" -#: ../../library/optparse.rst:612 +#: ../../library/optparse.rst:613 msgid "" "A bit more complete example might involve using more than one group: still " "extending the previous example::" msgstr "" +"Um exemplo um pouco mais completo pode envolver o uso de mais de um grupo: " +"ainda estendendo o exemplo anterior::" -#: ../../library/optparse.rst:629 +#: ../../library/optparse.rst:630 msgid "that results in the following output:" -msgstr "" +msgstr "que resulta na seguinte saída:" -#: ../../library/optparse.rst:655 +#: ../../library/optparse.rst:656 msgid "" "Another interesting method, in particular when working programmatically with " "option groups is:" msgstr "" +"Outro método interessante, especialmente ao trabalhar programaticamente com " +"grupos de opções, é:" -#: ../../library/optparse.rst:660 +#: ../../library/optparse.rst:661 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``." +"*opt_str* (e.g. ``'-o'`` or ``'--option'``) belongs. If there's no " +"such :class:`OptionGroup`, return ``None``." msgstr "" +"Retorna o objeto :class:`OptionGroup` ao qual a string de opção curta ou " +"longa *opt_str* (por exemplo, ``'-o'`` ou ``'--option'``) pertence. Se não " +"houver tal :class:`OptionGroup`, retorna ``None``." -#: ../../library/optparse.rst:667 +#: ../../library/optparse.rst:668 msgid "Printing a version string" -msgstr "" +msgstr "Exibindo uma string de versão" -#: ../../library/optparse.rst:669 +#: ../../library/optparse.rst:670 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 "" +"Similar à string breve de uso, :mod:`optparse` também pode exibir uma string " +"de versão para seu programa. Você tem que fornecer a string como o argumento " +"``version`` para OptionParser::" -#: ../../library/optparse.rst:675 +#: ../../library/optparse.rst:676 msgid "" "``%prog`` is expanded just like it is in ``usage``. Apart from that, " -"``version`` can contain anything you like. When you supply it, :mod:" -"`optparse` automatically adds a ``--version`` option to your parser. If it " -"encounters this option on the command line, it expands your ``version`` " -"string (by replacing ``%prog``), prints it to stdout, and exits." -msgstr "" - -#: ../../library/optparse.rst:681 +"``version`` can contain anything you like. When you supply " +"it, :mod:`optparse` automatically adds a ``--version`` option to your " +"parser. If it encounters this option on the command line, it expands your " +"``version`` string (by replacing ``%prog``), prints it to stdout, and exits." +msgstr "" +"``%prog`` é expandido assim como em ``usage``. Além disso, ``version`` pode " +"conter qualquer coisa que você quiser. Quando você o " +"fornece, :mod:`optparse` adiciona automaticamente uma opção ``--version`` ao " +"seu analisador. Se ele encontrar essa opção na linha de comando, ele expande " +"sua string ``version`` (substituindo ``%prog``), exibindo-a no stdout e sai." + +#: ../../library/optparse.rst:682 msgid "For example, if your script is called ``/usr/bin/foo``:" -msgstr "" +msgstr "Por exemplo, se o seu script for chamado ``/usr/bin/foo``:" -#: ../../library/optparse.rst:688 +#: ../../library/optparse.rst:689 msgid "" "The following two methods can be used to print and get the ``version`` " "string:" msgstr "" +"Os dois métodos a seguir podem ser usados para exibir e obter a string " +"``version``:" -#: ../../library/optparse.rst:692 +#: ../../library/optparse.rst:693 msgid "" "Print the version message for the current program (``self.version``) to " "*file* (default stdout). As with :meth:`print_usage`, any occurrence of " "``%prog`` in ``self.version`` is replaced with the name of the current " "program. Does nothing if ``self.version`` is empty or undefined." msgstr "" +"Exibe a mensagem de versão para o programa atual (``self.version``) em " +"*file* (stdout padrão). Assim como em :meth:`print_usage`, qualquer " +"ocorrência de ``%prog`` em ``self.version`` é substituída pelo nome do " +"programa atual. Não faz nada se ``self.version`` estiver vazio ou indefinido." -#: ../../library/optparse.rst:699 +#: ../../library/optparse.rst:700 msgid "" "Same as :meth:`print_version` but returns the version string instead of " "printing it." msgstr "" +"O mesmo que :meth:`print_version`, mas retorna a string da versão em vez de " +"exibi-la." -#: ../../library/optparse.rst:706 +#: ../../library/optparse.rst:707 msgid "How :mod:`optparse` handles errors" -msgstr "" +msgstr "Como :mod:`optparse` trata erros" -#: ../../library/optparse.rst:708 +#: ../../library/optparse.rst:709 msgid "" "There are two broad classes of errors that :mod:`optparse` has to worry " "about: programmer errors and user errors. Programmer errors are usually " "erroneous calls to :func:`OptionParser.add_option`, e.g. invalid option " "strings, unknown option attributes, missing option attributes, etc. These " -"are dealt with in the usual way: raise an exception (either :exc:`optparse." -"OptionError` or :exc:`TypeError`) and let the program crash." +"are dealt with in the usual way: raise an exception " +"(either :exc:`optparse.OptionError` or :exc:`TypeError`) and let the program " +"crash." msgstr "" +"Existem duas classes amplas de erros com os quais :mod:`optparse` precisa se " +"preocupar: erros do programador e erros do usuário. Erros do programador " +"geralmente são chamadas errôneas para :func:`OptionParser.add_option`, por " +"exemplo, strings de opção inválidas, atributos de opção desconhecidos, " +"atributos de opção ausentes, etc. Eles são tratados da maneira usual: " +"levanta uma exceção (seja :exc:`optparse.OptionError` ou :exc:`TypeError`) e " +"deixe o programa travar." -#: ../../library/optparse.rst:715 +#: ../../library/optparse.rst:716 msgid "" "Handling user errors is much more important, since they are guaranteed to " "happen no matter how stable your code is. :mod:`optparse` can automatically " @@ -855,85 +1161,116 @@ msgid "" "you can call :func:`OptionParser.error` to signal an application-defined " "error condition::" msgstr "" +"Lidar com erros do usuário é muito mais importante, pois eles certamente " +"acontecerão não importa quão estável seu código seja. :mod:`optparse` pode " +"detectar automaticamente alguns erros do usuário, como argumentos de opção " +"ruins (passando ``-n 4x`` onde ``-n`` recebe um argumento inteiro), " +"argumentos ausentes (``-n`` no final da linha de comando, onde ``-n`` recebe " +"um argumento de qualquer tipo). Além disso, você pode " +"chamar :func:`OptionParser.error` para sinalizar uma condição de erro " +"definida pelo aplicativo::" -#: ../../library/optparse.rst:728 +#: ../../library/optparse.rst:729 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 "" +"Em ambos os casos, :mod:`optparse` lida com o erro da mesma maneira: ele " +"imprime a mensagem de uso do programa e uma mensagem de erro no erro padrão " +"e sai com o status de erro 2." -#: ../../library/optparse.rst:732 +#: ../../library/optparse.rst:733 msgid "" "Consider the first example above, where the user passes ``4x`` to an option " "that takes an integer:" msgstr "" +"Considere o primeiro exemplo acima, onde o usuário passa ``4x`` para uma " +"opção que aceita um inteiro:" -#: ../../library/optparse.rst:742 +#: ../../library/optparse.rst:743 msgid "Or, where the user fails to pass a value at all:" -msgstr "" +msgstr "Ou, quando o usuário não passa nenhum valor:" -#: ../../library/optparse.rst:751 +#: ../../library/optparse.rst:752 msgid "" ":mod:`optparse`\\ -generated error messages take care always to mention the " -"option involved in the error; be sure to do the same when calling :func:" -"`OptionParser.error` from your application code." +"option involved in the error; be sure to do the same when " +"calling :func:`OptionParser.error` from your application code." msgstr "" +"As mensagens de erro geradas pelo :mod:`optparse` tomam o cuidado de sempre " +"mencionar a opção envolvida no erro; certifique-se de fazer o mesmo ao " +"chamar :func:`OptionParser.error` do código do sua aplicação." -#: ../../library/optparse.rst:755 +#: ../../library/optparse.rst:756 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." +"needs, you'll need to subclass OptionParser and override " +"its :meth:`~OptionParser.exit` and/or :meth:`~OptionParser.error` methods." msgstr "" +"Se o comportamento padrão de tratamento de erros do :mod:`optparse` não " +"atender às suas necessidades, você precisará criar uma subclasse de " +"OptionParser e substituir seus métodos :meth:`~OptionParser.exit` e/" +"ou :meth:`~OptionParser.error`." -#: ../../library/optparse.rst:763 +#: ../../library/optparse.rst:764 msgid "Putting it all together" -msgstr "" +msgstr "Juntando tudo" -#: ../../library/optparse.rst:765 +#: ../../library/optparse.rst:766 msgid "Here's what :mod:`optparse`\\ -based scripts usually look like::" msgstr "" +"Veja como os scripts baseados no :mod:`optparse` geralmente se parecem::" -#: ../../library/optparse.rst:793 +#: ../../library/optparse.rst:794 msgid "Reference Guide" -msgstr "" +msgstr "Guia de referência" -#: ../../library/optparse.rst:799 +#: ../../library/optparse.rst:800 msgid "Creating the parser" -msgstr "" +msgstr "Criando o analisador sintático" -#: ../../library/optparse.rst:801 +#: ../../library/optparse.rst:802 msgid "" "The first step in using :mod:`optparse` is to create an OptionParser " "instance." msgstr "" +"O primeiro passo para usar o :mod:`optparse` é criar uma instância de " +"OptionParser." -#: ../../library/optparse.rst:805 +#: ../../library/optparse.rst:806 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 "" +"O construtor do OptionParser não tem argumentos obrigatórios, mas vários " +"argumentos nomeados opcionais. Você deve sempre passá-los como argumentos " +"nomeados, ou seja, não confie na ordem em que os argumentos são declarados." -#: ../../library/optparse.rst:814 +#: ../../library/optparse.rst:815 msgid "``usage`` (default: ``\"%prog [options]\"``)" -msgstr "" +msgstr "``usage`` (padrão: ``\"%prog [options]\"``)" -#: ../../library/optparse.rst:810 +#: ../../library/optparse.rst:811 msgid "" "The usage summary to print when your program is run incorrectly or with a " "help option. When :mod:`optparse` prints the usage string, it expands " "``%prog`` to ``os.path.basename(sys.argv[0])`` (or to ``prog`` if you passed " "that keyword argument). To suppress a usage message, pass the special " -"value :data:`optparse.SUPPRESS_USAGE`." +"value :const:`optparse.SUPPRESS_USAGE`." msgstr "" +"O resumo de uso para exibir quando seu programa é executado incorretamente " +"ou com uma opção de ajuda. Quando :mod:`optparse` exibe a string de uso, ele " +"expande ``%prog`` para ``os.path.basename(sys.argv[0])`` (ou para ``prog`` " +"se você passou esse argumento nomeado). Para suprimir uma mensagem de uso, " +"passe o valor especial :const:`optparse.SUPPRESS_USAGE`." -#: ../../library/optparse.rst:821 +#: ../../library/optparse.rst:822 msgid "``option_list`` (default: ``[]``)" -msgstr "" +msgstr "``option_list`` (padrão: ``[]``)" -#: ../../library/optparse.rst:817 +#: ../../library/optparse.rst:818 msgid "" "A list of Option objects to populate the parser with. The options in " "``option_list`` are added after any options in ``standard_option_list`` (a " @@ -941,151 +1278,200 @@ msgid "" "version or help options. Deprecated; use :meth:`add_option` after creating " "the parser instead." msgstr "" +"Uma lista de objetos Option para preencher o analisador sintático. As opções " +"em ``option_list`` são adicionadas após quaisquer opções em " +"``standard_option_list`` (um atributo de classe que pode ser definido por " +"subclasses de OptionParser), mas antes de quaisquer opções de versão ou " +"ajuda. Descontinuado; use :meth:`add_option` após criar o analisador " +"sintático." -#: ../../library/optparse.rst:824 +#: ../../library/optparse.rst:825 msgid "``option_class`` (default: optparse.Option)" -msgstr "" +msgstr "``option_class`` (padrão: optparse.Option)" -#: ../../library/optparse.rst:824 +#: ../../library/optparse.rst:825 msgid "Class to use when adding options to the parser in :meth:`add_option`." msgstr "" +"Classe para usar ao adicionar opções ao analisador sintático " +"em :meth:`add_option`." -#: ../../library/optparse.rst:830 +#: ../../library/optparse.rst:831 msgid "``version`` (default: ``None``)" -msgstr "" +msgstr "``version`` (padrão: ``None``)" -#: ../../library/optparse.rst:827 +#: ../../library/optparse.rst:828 msgid "" "A version string to print when the user supplies a version option. If you " "supply a true value for ``version``, :mod:`optparse` automatically adds a " "version option with the single option string ``--version``. The substring " "``%prog`` is expanded the same as for ``usage``." msgstr "" +"Uma string de versão para exibir quando o usuário fornece uma opção de " +"versão. Se você fornecer um valor true para ``version``, :mod:`optparse` " +"adiciona automaticamente uma opção de versão com a string de opção única ``--" +"version``. A substring ``%prog`` é expandida da mesma forma que para " +"``usage``." -#: ../../library/optparse.rst:835 +#: ../../library/optparse.rst:836 msgid "``conflict_handler`` (default: ``\"error\"``)" -msgstr "" +msgstr "``conflict_handler`` (padrão: ``\"error\"``)" -#: ../../library/optparse.rst:833 +#: ../../library/optparse.rst:834 msgid "" "Specifies what to do when options with conflicting option strings are added " "to the parser; see section :ref:`optparse-conflicts-between-options`." msgstr "" +"Especifica o que fazer quando opções com strings de opções conflitantes são " +"adicionadas ao analisador sintático; consulte a seção :ref:`optparse-" +"conflicts-between-options`." -#: ../../library/optparse.rst:841 +#: ../../library/optparse.rst:842 msgid "``description`` (default: ``None``)" -msgstr "" +msgstr "``description`` (padrão: ``None``)" -#: ../../library/optparse.rst:838 +#: ../../library/optparse.rst:839 msgid "" "A paragraph of text giving a brief overview of your program. :mod:`optparse` " "reformats this paragraph to fit the current terminal width and prints it " "when the user requests help (after ``usage``, but before the list of " "options)." msgstr "" +"Um parágrafo de texto que fornece uma breve visão geral do seu " +"programa. :mod:`optparse` reformata este parágrafo para ajustá-lo à largura " +"atual do terminal e o exibe quando o usuário solicita ajuda (depois de " +"``usage``, mas antes da lista de opções)." -#: ../../library/optparse.rst:846 +#: ../../library/optparse.rst:847 msgid "``formatter`` (default: a new :class:`IndentedHelpFormatter`)" -msgstr "" +msgstr "``formatter`` (padrão: um novo :class:`IndentedHelpFormatter`)" -#: ../../library/optparse.rst:844 +#: ../../library/optparse.rst:845 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 "" +"Uma instância de optparse.HelpFormatter que será usada para exibir um texto " +"de ajuda. :mod:`optparse` fornece duas classes concretas para essa " +"finalidade: IndentedHelpFormatter e TitledHelpFormatter." -#: ../../library/optparse.rst:850 +#: ../../library/optparse.rst:851 msgid "``add_help_option`` (default: ``True``)" -msgstr "" +msgstr "``add_help_option`` (padrão: ``True``)" -#: ../../library/optparse.rst:849 +#: ../../library/optparse.rst:850 msgid "" "If true, :mod:`optparse` will add a help option (with option strings ``-h`` " "and ``--help``) to the parser." msgstr "" +"Se verdadeiro, :mod:`optparse` adicionará uma opção de ajuda (com strings de " +"opção ``-h`` e ``--help``) ao analisador sintático." -#: ../../library/optparse.rst:854 +#: ../../library/optparse.rst:855 msgid "``prog``" msgstr "``prog``" -#: ../../library/optparse.rst:853 +#: ../../library/optparse.rst:854 msgid "" "The string to use when expanding ``%prog`` in ``usage`` and ``version`` " "instead of ``os.path.basename(sys.argv[0])``." msgstr "" +"A string a ser usada ao expandir ``%prog`` em ``usage`` e ``version`` em vez " +"de ``os.path.basename(sys.argv[0])``." -#: ../../library/optparse.rst:856 +#: ../../library/optparse.rst:857 msgid "``epilog`` (default: ``None``)" -msgstr "" +msgstr "``epilog`` (padrão: ``None``)" -#: ../../library/optparse.rst:857 +#: ../../library/optparse.rst:858 msgid "A paragraph of help text to print after the option help." -msgstr "" +msgstr "Um parágrafo de texto de ajuda para exibir após a ajuda da opção." -#: ../../library/optparse.rst:862 +#: ../../library/optparse.rst:863 msgid "Populating the parser" -msgstr "" +msgstr "Preenchendo o analisador sintático" -#: ../../library/optparse.rst:864 +#: ../../library/optparse.rst:865 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:" +"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 "" +"Há várias maneiras de preencher o analisador sintático com opções. A maneira " +"preferida é usando :meth:`OptionParser.add_option`, como mostrado na " +"seção :ref:`optparse-tutorial`. :meth:`add_option` pode ser chamado de uma " +"das duas maneiras:" -#: ../../library/optparse.rst:868 +#: ../../library/optparse.rst:869 msgid "pass it an Option instance (as returned by :func:`make_option`)" msgstr "" +"passar uma instância de Option (conforme retornado por :func:`make_option`)" -#: ../../library/optparse.rst:870 +#: ../../library/optparse.rst:871 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 "" +"passar qualquer combinação de argumentos nomeados e posicionais que sejam " +"aceitáveis para :func:`make_option` (ou seja, para o construtor de Option), " +"e ela criará a instância de Option para você" -#: ../../library/optparse.rst:874 +#: ../../library/optparse.rst:875 msgid "" "The other alternative is to pass a list of pre-constructed Option instances " "to the OptionParser constructor, as in::" msgstr "" +"A outra alternativa é passar uma lista de instâncias de Option pré-" +"construídas para o construtor de OptionParser, como em:" -#: ../../library/optparse.rst:885 +#: ../../library/optparse.rst:886 msgid "" "(:func:`make_option` is a factory function for creating Option instances; " -"currently it is an alias for the Option constructor. A future version of :" -"mod:`optparse` may split Option into several classes, and :func:" -"`make_option` will pick the right class to instantiate. Do not instantiate " -"Option directly.)" -msgstr "" - -#: ../../library/optparse.rst:894 +"currently it is an alias for the Option constructor. A future version " +"of :mod:`optparse` may split Option into several classes, " +"and :func:`make_option` will pick the right class to instantiate. Do not " +"instantiate Option directly.)" +msgstr "" +"(:func:`make_option` é uma função de fábrica para criar instâncias de " +"Option; atualmente é um apelido para o construtor de Option. Uma versão " +"futura de :mod:`optparse` pode dividir Option em várias classes, " +"e :func:`make_option` escolherá a classe certa para instanciar. Não " +"instancie Option diretamente.)" + +#: ../../library/optparse.rst:895 msgid "Defining options" -msgstr "" +msgstr "Definindo as opções" -#: ../../library/optparse.rst:896 +#: ../../library/optparse.rst:897 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 "" +"Cada instância de Option representa um conjunto de strings de opções de " +"linha de comando sinônimas, por exemplo, ``-f`` e ``--file``. Você pode " +"especificar qualquer número de strings de opções curtas ou longas, mas deve " +"especificar pelo menos uma string de opção geral." -#: ../../library/optparse.rst:900 +#: ../../library/optparse.rst:901 msgid "" -"The canonical way to create an :class:`Option` instance is with the :meth:" -"`add_option` method of :class:`OptionParser`." +"The canonical way to create an :class:`Option` instance is with " +"the :meth:`add_option` method of :class:`OptionParser`." msgstr "" +"A maneira canônica de criar uma instância de :class:`Option` é com o " +"método :meth:`add_option` de :class:`OptionParser`." -#: ../../library/optparse.rst:906 +#: ../../library/optparse.rst:907 msgid "To define an option with only a short option string::" -msgstr "" +msgstr "Para definir uma opção com apenas uma sequência de opções curta:" -#: ../../library/optparse.rst:910 +#: ../../library/optparse.rst:911 msgid "And to define an option with only a long option string::" -msgstr "" +msgstr "E para definir uma opção com apenas uma longa sequência de opções::" -#: ../../library/optparse.rst:914 +#: ../../library/optparse.rst:915 msgid "" "The keyword arguments define attributes of the new Option object. The most " "important option attribute is :attr:`~Option.action`, and it largely " @@ -1093,321 +1479,424 @@ msgid "" "irrelevant option attributes, or fail to pass required ones, :mod:`optparse` " "raises an :exc:`OptionError` exception explaining your mistake." msgstr "" +"Os argumentos nomeados definem atributos do novo objeto Option. O atributo " +"option mais importante é :attr:`~Option.action`, e ele determina amplamente " +"quais outros atributos são relevantes ou obrigatórios. Se você passar " +"atributos option irrelevantes, ou deixar de passar os " +"obrigatórios, :mod:`optparse` levanta uma exceção :exc:`OptionError` " +"explicando seu erro." -#: ../../library/optparse.rst:920 +#: ../../library/optparse.rst:921 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 "" +"A *action* de uma opção determina o que :mod:`optparse` faz quando encontra " +"essa opção na linha de comando. As ações de opção padrão codificadas " +"no :mod:`optparse` são:" -#: ../../library/optparse.rst:925 +#: ../../library/optparse.rst:926 msgid "``\"store\"``" msgstr "``\"store\"``" -#: ../../library/optparse.rst:925 +#: ../../library/optparse.rst:926 msgid "store this option's argument (default)" -msgstr "" +msgstr "armazena o argumento desta opção (padrão)" -#: ../../library/optparse.rst:931 +#: ../../library/optparse.rst:932 msgid "``\"store_true\"``" msgstr "``\"store_true\"``" -#: ../../library/optparse.rst:931 +#: ../../library/optparse.rst:932 msgid "store ``True``" -msgstr "" +msgstr "armazena ``True``" -#: ../../library/optparse.rst:934 +#: ../../library/optparse.rst:935 msgid "``\"store_false\"``" msgstr "``\"store_false\"``" -#: ../../library/optparse.rst:934 +#: ../../library/optparse.rst:935 msgid "store ``False``" -msgstr "" +msgstr "armazena ``False``" -#: ../../library/optparse.rst:940 +#: ../../library/optparse.rst:941 msgid "``\"append_const\"``" msgstr "``\"append_const\"``" -#: ../../library/optparse.rst:940 +#: ../../library/optparse.rst:941 msgid "append a constant value to a list, pre-set via :attr:`Option.const`" msgstr "" +"anexar um valor constante a uma lista, predefinido via :attr:`Option.const`" -#: ../../library/optparse.rst:949 ../../library/optparse.rst:1243 +#: ../../library/optparse.rst:950 ../../library/optparse.rst:1244 msgid "``\"help\"``" msgstr "``\"help\"``" -#: ../../library/optparse.rst:949 +#: ../../library/optparse.rst:950 msgid "" "print a usage message including all options and the documentation for them" msgstr "" +"exibe uma mensagem de uso incluindo todas as opções e a documentação para " +"elas" -#: ../../library/optparse.rst:951 +#: ../../library/optparse.rst:952 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 "" +"(Se você não fornecer uma ação, o padrão é ``\"store\"``. Para esta ação, " +"você também pode fornecer os atributos de opção :attr:`~Option.type` " +"e :attr:`~Option.dest`; consulte :ref:`optparse-standard-option-actions`.)" -#: ../../library/optparse.rst:955 +#: ../../library/optparse.rst:956 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`." +"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 "" +"Como você pode ver, a maioria das ações envolve armazenar ou atualizar um " +"valor em algum lugar. :mod:`optparse` sempre cria um objeto especial para " +"isso, convencionalmente chamado de ``options``, que é uma instância " +"de :class:`optparse.Values`." -#: ../../library/optparse.rst:961 +#: ../../library/optparse.rst:962 msgid "" "An object holding parsed argument names and values as attributes. Normally " "created by calling when calling :meth:`OptionParser.parse_args`, and can be " -"overridden by a custom subclass passed to the *values* argument of :meth:" -"`OptionParser.parse_args` (as described in :ref:`optparse-parsing-" +"overridden by a custom subclass passed to the *values* argument " +"of :meth:`OptionParser.parse_args` (as described in :ref:`optparse-parsing-" "arguments`)." msgstr "" +"Um objeto que contém nomes e valores de argumentos analisados como " +"atributos. Normalmente criado chamando ao " +"chamar :meth:`OptionParser.parse_args`, e pode ser substituído por uma " +"subclasse personalizada passada para o argumento *values* " +"de :meth:`OptionParser.parse_args` (conforme descrito em :ref:`optparse-" +"parsing-arguments`)." -#: ../../library/optparse.rst:966 +#: ../../library/optparse.rst:967 msgid "" "Option arguments (and various other values) are stored as attributes of this " "object, according to the :attr:`~Option.dest` (destination) option attribute." msgstr "" +"Argumentos de opção (e vários outros valores) são armazenados como atributos " +"deste objeto, de acordo com o atributo de opção :attr:`~Option.dest` " +"(destino)." -#: ../../library/optparse.rst:970 +#: ../../library/optparse.rst:971 msgid "For example, when you call ::" -msgstr "" +msgstr "Por exemplo, quando você chama ::" -#: ../../library/optparse.rst:974 +#: ../../library/optparse.rst:975 msgid "" "one of the first things :mod:`optparse` does is create the ``options`` " "object::" msgstr "" +"uma das primeiras coisas que :mod:`optparse` faz é criar o objeto " +"``options``::" -#: ../../library/optparse.rst:978 +#: ../../library/optparse.rst:979 msgid "If one of the options in this parser is defined with ::" -msgstr "" +msgstr "Se uma das opções neste analisador sintático for definida com ::" -#: ../../library/optparse.rst:982 +#: ../../library/optparse.rst:983 msgid "and the command-line being parsed includes any of the following::" msgstr "" +"e a linha de comando que está sendo analisada inclui qualquer um dos " +"seguintes:" -#: ../../library/optparse.rst:989 +#: ../../library/optparse.rst:990 msgid "" "then :mod:`optparse`, on seeing this option, will do the equivalent of ::" -msgstr "" +msgstr "então :mod:`optparse`, ao ver esta opção, fará o equivalente a ::" -#: ../../library/optparse.rst:993 +#: ../../library/optparse.rst:994 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 "" +"Os atributos de opção :attr:`~Option.type` e :attr:`~Option.dest` são quase " +"tão importantes quanto :attr:`~Option.action`, mas :attr:`~Option.action` é " +"o único que faz sentido para *todas* as opções." -#: ../../library/optparse.rst:1001 +#: ../../library/optparse.rst:1002 msgid "Option attributes" -msgstr "" +msgstr "Atributos da classe Option" -#: ../../library/optparse.rst:1005 +#: ../../library/optparse.rst:1006 msgid "" "A single command line argument, with various attributes passed by keyword to " "the constructor. Normally created with :meth:`OptionParser.add_option` " "rather than directly, and can be overridden by a custom class via the " "*option_class* argument to :class:`OptionParser`." msgstr "" +"Um único argumento de linha de comando, com vários atributos passados como " +"nomeados para o construtor. Normalmente criado " +"com :meth:`OptionParser.add_option` em vez de diretamente, e pode ser " +"substituído por uma classe personalizada por meio do argumento " +"*option_class* para :class:`OptionParser`." -#: ../../library/optparse.rst:1011 +#: ../../library/optparse.rst:1012 msgid "" -"The following option attributes may be passed as keyword arguments to :meth:" -"`OptionParser.add_option`. If you pass an option attribute that is not " -"relevant to a particular option, or fail to pass a required option " +"The following option attributes may be passed as keyword arguments " +"to :meth:`OptionParser.add_option`. If you pass an option attribute that is " +"not relevant to a particular option, or fail to pass a required option " "attribute, :mod:`optparse` raises :exc:`OptionError`." msgstr "" +"Os seguintes atributos de opção podem ser passados como argumentos nomeados " +"para :meth:`OptionParser.add_option`. Se você passar um atributo de opção " +"que não seja relevante para uma opção específica, ou deixar de passar um " +"atributo de opção obrigatório, :mod:`optparse` levanta :exc:`OptionError`." -#: ../../library/optparse.rst:1018 +#: ../../library/optparse.rst:1019 msgid "(default: ``\"store\"``)" -msgstr "" +msgstr "(padrão: ``\"store\"``)" -#: ../../library/optparse.rst:1020 +#: ../../library/optparse.rst:1021 msgid "" "Determines :mod:`optparse`'s behaviour when this option is seen on the " "command line; the available options are documented :ref:`here `." msgstr "" +"Determina o comportamento de :mod:`optparse` quando esta opção é vista na " +"linha de comando; as opções disponíveis estão documentadas :ref:`aqui " +"`." -#: ../../library/optparse.rst:1026 +#: ../../library/optparse.rst:1027 msgid "(default: ``\"string\"``)" -msgstr "" +msgstr "(padrão: ``\"string\"``)" -#: ../../library/optparse.rst:1028 +#: ../../library/optparse.rst:1029 msgid "" "The argument type expected by this option (e.g., ``\"string\"`` or " "``\"int\"``); the available option types are documented :ref:`here `." msgstr "" +"O tipo de argumento esperado por esta opção (por exemplo, ``\"string\"`` ou " +"``\"int\"``); os tipos de opções disponíveis estão documentados :ref:`aqui " +"`." -#: ../../library/optparse.rst:1034 ../../library/optparse.rst:1084 +#: ../../library/optparse.rst:1035 ../../library/optparse.rst:1085 msgid "(default: derived from option strings)" -msgstr "" +msgstr "(padrão: derivado de strings de opção)" -#: ../../library/optparse.rst:1036 +#: ../../library/optparse.rst:1037 msgid "" "If the option's action implies writing or modifying a value somewhere, this " "tells :mod:`optparse` where to write it: :attr:`~Option.dest` names an " "attribute of the ``options`` object that :mod:`optparse` builds as it parses " "the command line." msgstr "" +"Se a ação da opção implicar escrever ou modificar um valor em algum lugar, " +"isso informa ao :mod:`optparse` onde escrevê-lo: :attr:`~Option.dest` nomeia " +"um atributo do objeto ``options`` que o :mod:`optparse` constrói ao analisar " +"a linha de comando." -#: ../../library/optparse.rst:1043 +#: ../../library/optparse.rst:1044 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 "" +"O valor para usar para o destino desta opção se a opção não for vista na " +"linha de comando. Veja também :meth:`OptionParser.set_defaults`." -#: ../../library/optparse.rst:1048 +#: ../../library/optparse.rst:1049 msgid "(default: 1)" -msgstr "" +msgstr "(padrão: 1)" -#: ../../library/optparse.rst:1050 +#: ../../library/optparse.rst:1051 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`." +"option is seen. If > 1, :mod:`optparse` will store a tuple of values " +"to :attr:`~Option.dest`." msgstr "" +"Quantos argumentos do tipo :attr:`~Option.type` devem ser consumidos quando " +"esta opção for vista. Se > 1, :mod:`optparse` armazenará uma tupla de " +"valores em :attr:`~Option.dest`." -#: ../../library/optparse.rst:1056 +#: ../../library/optparse.rst:1057 msgid "For actions that store a constant value, the constant value to store." msgstr "" +"Para ações que armazenam um valor constante, o valor constante a ser " +"armazenado." -#: ../../library/optparse.rst:1060 +#: ../../library/optparse.rst:1061 msgid "" "For options of type ``\"choice\"``, the list of strings the user may choose " "from." msgstr "" +"Para opções do tipo ``\"choice\"``, a lista de strings que o usuário pode " +"escolher." -#: ../../library/optparse.rst:1065 +#: ../../library/optparse.rst:1066 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 "" +"Para opções com ação ``\"callback\"``, o chamável para chamar quando esta " +"opção for vista. Veja a seção :ref:`optparse-option-callbacks` para detalhes " +"sobre os argumentos passados para o chamável." -#: ../../library/optparse.rst:1072 +#: ../../library/optparse.rst:1073 msgid "" "Additional positional and keyword arguments to pass to ``callback`` after " "the four standard callback arguments." msgstr "" +"Argumentos nomeados e posicionais adicionais para passar para ``callback`` " +"após os quatro argumentos de retorno de chamada padrão." -#: ../../library/optparse.rst:1077 +#: ../../library/optparse.rst:1078 msgid "" "Help text to print for this option when listing all available options after " "the user supplies a :attr:`~Option.help` option (such as ``--help``). If no " "help text is supplied, the option will be listed without help text. To hide " -"this option, use the special value :data:`optparse.SUPPRESS_HELP`." +"this option, use the special value :const:`optparse.SUPPRESS_HELP`." msgstr "" +"Texto de ajuda para exibir para esta opção ao listar todas as opções " +"disponíveis após o usuário fornecer uma opção :attr:`~Option.help` (como ``--" +"help``). Se nenhum texto de ajuda for fornecido, a opção será listada sem " +"texto de ajuda. Para ocultar esta opção, use o valor " +"especial :const:`optparse.SUPPRESS_HELP`." -#: ../../library/optparse.rst:1086 +#: ../../library/optparse.rst:1087 msgid "" "Stand-in for the option argument(s) to use when printing help text. See " "section :ref:`optparse-tutorial` for an example." msgstr "" +"Substituto para o(s) argumento(s) de opção a ser(em) usado(s) ao exibir " +"texto de ajuda. Veja a seção :ref:`optparse-tutorial` para um exemplo." -#: ../../library/optparse.rst:1093 +#: ../../library/optparse.rst:1094 msgid "Standard option actions" -msgstr "" +msgstr "Ações de opção padrão" -#: ../../library/optparse.rst:1095 +#: ../../library/optparse.rst:1096 msgid "" "The various option actions all have slightly different requirements and " "effects. Most actions have several relevant option attributes which you may " "specify to guide :mod:`optparse`'s behaviour; a few have required " "attributes, which you must specify for any option using that action." msgstr "" +"As várias ações de opção têm requisitos e efeitos ligeiramente diferentes. A " +"maioria das ações tem vários atributos de opção relevantes que você pode " +"especificar para guiar o comportamento de :mod:`optparse`; algumas têm " +"atributos obrigatórios, que você deve especificar para qualquer opção que " +"use essa ação." -#: ../../library/optparse.rst:1100 +#: ../../library/optparse.rst:1101 msgid "" -"``\"store\"`` [relevant: :attr:`~Option.type`, :attr:`~Option.dest`, :attr:" -"`~Option.nargs`, :attr:`~Option.choices`]" +"``\"store\"`` " +"[relevant: :attr:`~Option.type`, :attr:`~Option.dest`, :attr:`~Option.nargs`, :attr:`~Option.choices`]" msgstr "" +"``\"store\"`` " +"[relevante: :attr:`~Option.type`, :attr:`~Option.dest`, :attr:`~Option.nargs`, :attr:`~Option.choices`]" -#: ../../library/optparse.rst:1103 +#: ../../library/optparse.rst:1104 msgid "" "The option must be followed by an argument, which is converted to a value " -"according to :attr:`~Option.type` and stored in :attr:`~Option.dest`. If :" -"attr:`~Option.nargs` > 1, multiple arguments will be consumed from the " +"according to :attr:`~Option.type` and stored in :attr:`~Option.dest`. " +"If :attr:`~Option.nargs` > 1, multiple arguments will be consumed from the " "command line; all will be converted according to :attr:`~Option.type` and " "stored to :attr:`~Option.dest` as a tuple. See the :ref:`optparse-standard-" "option-types` section." msgstr "" +"A opção deve ser seguida por um argumento, que é convertido em um valor de " +"acordo com :attr:`~Option.type` e armazenado em :attr:`~Option.dest`. " +"Se :attr:`~Option.nargs` > 1, vários argumentos serão consumidos da linha de " +"comando; todos serão convertidos de acordo com :attr:`~Option.type` e " +"armazenados em :attr:`~Option.dest` como uma tupla. Veja a " +"seção :ref:`optparse-standard-option-types`." -#: ../../library/optparse.rst:1110 +#: ../../library/optparse.rst:1111 msgid "" "If :attr:`~Option.choices` is supplied (a list or tuple of strings), the " "type defaults to ``\"choice\"``." msgstr "" +"Se :attr:`~Option.choices` for fornecido (uma lista ou tupla de strings), o " +"tipo padrão será ``\"choice\"``." -#: ../../library/optparse.rst:1113 +#: ../../library/optparse.rst:1114 msgid "If :attr:`~Option.type` is not supplied, it defaults to ``\"string\"``." msgstr "" +"Se :attr:`~Option.type` não for fornecido, o padrão será ``\"string\"``." -#: ../../library/optparse.rst:1115 +#: ../../library/optparse.rst:1116 msgid "" "If :attr:`~Option.dest` is not supplied, :mod:`optparse` derives a " "destination from the first long option string (e.g., ``--foo-bar`` implies " "``foo_bar``). If there are no long option strings, :mod:`optparse` derives a " "destination from the first short option string (e.g., ``-f`` implies ``f``)." msgstr "" +"Se :attr:`~Option.dest` não for fornecido, :mod:`optparse` deriva um destino " +"da primeira string de opção longa (por exemplo, ``--foo-bar`` implica " +"``foo_bar``). Se não houver strings de opção longas, :mod:`optparse` deriva " +"um destino da primeira string de opção curta (por exemplo, ``-f`` implica " +"``f``)." -#: ../../library/optparse.rst:1120 ../../library/optparse.rst:1140 -#: ../../library/optparse.rst:1162 ../../library/optparse.rst:1180 -#: ../../library/optparse.rst:1219 ../../library/optparse.rst:1257 +#: ../../library/optparse.rst:1121 ../../library/optparse.rst:1141 +#: ../../library/optparse.rst:1163 ../../library/optparse.rst:1181 +#: ../../library/optparse.rst:1220 ../../library/optparse.rst:1258 msgid "Example::" msgstr "Exemplo::" -#: ../../library/optparse.rst:1125 +#: ../../library/optparse.rst:1126 msgid "As it parses the command line ::" -msgstr "" +msgstr "Como ele analisa a linha de comando ::" -#: ../../library/optparse.rst:1129 +#: ../../library/optparse.rst:1130 msgid ":mod:`optparse` will set ::" -msgstr "" +msgstr ":mod:`optparse` vai definir ::" -#: ../../library/optparse.rst:1135 +#: ../../library/optparse.rst:1136 msgid "" -"``\"store_const\"`` [required: :attr:`~Option.const`; relevant: :attr:" -"`~Option.dest`]" +"``\"store_const\"`` [required: :attr:`~Option.const`; " +"relevant: :attr:`~Option.dest`]" msgstr "" +"``\"store_const\"`` [obrigatório: :attr:`~Option.const`; " +"relevante: :attr:`~Option.dest`]" -#: ../../library/optparse.rst:1138 +#: ../../library/optparse.rst:1139 msgid "The value :attr:`~Option.const` is stored in :attr:`~Option.dest`." -msgstr "" +msgstr "O valor de :attr:`~Option.const` é armazenado em :attr:`~Option.dest`." -#: ../../library/optparse.rst:1149 +#: ../../library/optparse.rst:1150 msgid "If ``--noisy`` is seen, :mod:`optparse` will set ::" -msgstr "" +msgstr "Se ``--noisy`` é encontrado, :mod:`optparse` vai definir ::" -#: ../../library/optparse.rst:1153 +#: ../../library/optparse.rst:1154 msgid "``\"store_true\"`` [relevant: :attr:`~Option.dest`]" -msgstr "" +msgstr "``\"store_true\"`` [relevante: :attr:`~Option.dest`]" -#: ../../library/optparse.rst:1155 +#: ../../library/optparse.rst:1156 msgid "" -"A special case of ``\"store_const\"`` that stores ``True`` to :attr:`~Option." -"dest`." +"A special case of ``\"store_const\"`` that stores ``True`` " +"to :attr:`~Option.dest`." msgstr "" +"Um caso especial de ``\"store_const\"`` que armazena ``True`` " +"em :attr:`~Option.dest`." -#: ../../library/optparse.rst:1158 +#: ../../library/optparse.rst:1159 msgid "``\"store_false\"`` [relevant: :attr:`~Option.dest`]" -msgstr "" +msgstr "``\"store_false\"`` [relevante: :attr:`~Option.dest`]" -#: ../../library/optparse.rst:1160 +#: ../../library/optparse.rst:1161 msgid "Like ``\"store_true\"``, but stores ``False``." -msgstr "" +msgstr "Como ``\"store_true\"``, mas armazenad ``False``." -#: ../../library/optparse.rst:1167 +#: ../../library/optparse.rst:1168 msgid "" -"``\"append\"`` [relevant: :attr:`~Option.type`, :attr:`~Option.dest`, :attr:" -"`~Option.nargs`, :attr:`~Option.choices`]" +"``\"append\"`` " +"[relevant: :attr:`~Option.type`, :attr:`~Option.dest`, :attr:`~Option.nargs`, :attr:`~Option.choices`]" msgstr "" +"``\"append\"`` " +"[relevante: :attr:`~Option.type`, :attr:`~Option.dest`, :attr:`~Option.nargs`, :attr:`~Option.choices`]" -#: ../../library/optparse.rst:1170 +#: ../../library/optparse.rst:1171 msgid "" "The option must be followed by an argument, which is appended to the list " "in :attr:`~Option.dest`. If no default value for :attr:`~Option.dest` is " @@ -1416,24 +1905,35 @@ msgid "" "multiple arguments are consumed, and a tuple of length :attr:`~Option.nargs` " "is appended to :attr:`~Option.dest`." msgstr "" +"A opção deve ser seguida por um argumento, que é anexado à lista " +"em :attr:`~Option.dest`. Se nenhum valor padrão para :attr:`~Option.dest` " +"for fornecido, uma lista vazia será criada automaticamente " +"quando :mod:`optparse` encontrar esta opção pela primeira vez na linha de " +"comando. Se :attr:`~Option.nargs` > 1, vários argumentos serão consumidos e " +"uma tupla de comprimento :attr:`~Option.nargs` será anexada " +"a :attr:`~Option.dest`." -#: ../../library/optparse.rst:1177 +#: ../../library/optparse.rst:1178 msgid "" "The defaults for :attr:`~Option.type` and :attr:`~Option.dest` are the same " "as for the ``\"store\"`` action." msgstr "" +"Os padrões para :attr:`~Option.type` e :attr:`~Option.dest` são os mesmos da " +"ação ``\"store\"``." -#: ../../library/optparse.rst:1184 +#: ../../library/optparse.rst:1185 msgid "" "If ``-t3`` is seen on the command-line, :mod:`optparse` does the equivalent " "of::" msgstr "" +"Se ``-t3`` for encontrado na linha de comando, :mod:`optparse` faz o " +"equivalente a::" -#: ../../library/optparse.rst:1190 +#: ../../library/optparse.rst:1191 msgid "If, a little later on, ``--tracks=4`` is seen, it does::" -msgstr "" +msgstr "Se, um pouco mais tarde, ``--tracks=4`` for encontrado, ele faz::" -#: ../../library/optparse.rst:1194 +#: ../../library/optparse.rst:1195 msgid "" "The ``append`` action calls the ``append`` method on the current value of " "the option. This means that any default value specified must have an " @@ -1441,354 +1941,472 @@ 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 "" +"A ação ``append`` chama o método ``append`` no valor atual da opção. Isso " +"significa que qualquer valor padrão especificado deve ter um método " +"``append``. Isso também significa que se o valor padrão não for vazio, os " +"elementos padrão estarão presentes no valor analisado para a opção, com " +"quaisquer valores da linha de comando anexados após esses valores padrão::" -#: ../../library/optparse.rst:1205 +#: ../../library/optparse.rst:1206 msgid "" -"``\"append_const\"`` [required: :attr:`~Option.const`; relevant: :attr:" -"`~Option.dest`]" +"``\"append_const\"`` [required: :attr:`~Option.const`; " +"relevant: :attr:`~Option.dest`]" msgstr "" +"``\"append_const\"`` [obrigatório: :attr:`~Option.const`; " +"relevante: :attr:`~Option.dest`]" -#: ../../library/optparse.rst:1208 +#: ../../library/optparse.rst:1209 msgid "" "Like ``\"store_const\"``, but the value :attr:`~Option.const` is appended " "to :attr:`~Option.dest`; as with ``\"append\"``, :attr:`~Option.dest` " "defaults to ``None``, and an empty list is automatically created the first " "time the option is encountered." msgstr "" +"Como ``\"store_const\"``, mas o valor de :attr:`~Option.const` é anexado " +"a :attr:`~Option.dest`; assim como em ``\"append\"``, :attr:`~Option.dest` " +"assume como padrão ``None``, e uma lista vazia é criada automaticamente na " +"primeira vez que a opção é encontrada." -#: ../../library/optparse.rst:1213 +#: ../../library/optparse.rst:1214 msgid "``\"count\"`` [relevant: :attr:`~Option.dest`]" -msgstr "" +msgstr "``\"count\"`` [relevante: :attr:`~Option.dest`]" -#: ../../library/optparse.rst:1215 +#: ../../library/optparse.rst:1216 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 "" +"Incrementa o inteiro armazenado em :attr:`~Option.dest`. Se nenhum valor " +"padrão for fornecido, :attr:`~Option.dest` é definido como zero antes de ser " +"incrementado pela primeira vez." -#: ../../library/optparse.rst:1223 +#: ../../library/optparse.rst:1224 msgid "" "The first time ``-v`` is seen on the command line, :mod:`optparse` does the " "equivalent of::" msgstr "" +"A primeira vez que ``-v`` é encontrado na linha de comando, :mod:`optparse` " +"faz o equivalente a::" -#: ../../library/optparse.rst:1229 +#: ../../library/optparse.rst:1230 msgid "Every subsequent occurrence of ``-v`` results in ::" -msgstr "" +msgstr "Cada ocorrência subsequente de ``-v`` resulta em ::" -#: ../../library/optparse.rst:1233 +#: ../../library/optparse.rst:1234 msgid "" -"``\"callback\"`` [required: :attr:`~Option.callback`; relevant: :attr:" -"`~Option.type`, :attr:`~Option.nargs`, :attr:`~Option.callback_args`, :attr:" -"`~Option.callback_kwargs`]" +"``\"callback\"`` [required: :attr:`~Option.callback`; " +"relevant: :attr:`~Option.type`, :attr:`~Option.nargs`, :attr:`~Option.callback_args`, :attr:`~Option.callback_kwargs`]" msgstr "" +"``\"callback\"`` [obrigatório: :attr:`~Option.callback`; " +"relevante: :attr:`~Option.type`, :attr:`~Option.nargs`, :attr:`~Option.callback_args`, :attr:`~Option.callback_kwargs`]" -#: ../../library/optparse.rst:1237 +#: ../../library/optparse.rst:1238 msgid "" "Call the function specified by :attr:`~Option.callback`, which is called " "as ::" msgstr "" +"Chama a função especificada por :attr:`~Option.callback`, que é chamada " +"como ::" -#: ../../library/optparse.rst:1241 +#: ../../library/optparse.rst:1242 msgid "See section :ref:`optparse-option-callbacks` for more detail." -msgstr "" +msgstr "Veja a seção :ref:`optparse-option-callbacks` para mais detalhes." -#: ../../library/optparse.rst:1245 +#: ../../library/optparse.rst:1246 msgid "" "Prints a complete help message for all the options in the current option " "parser. The help message is constructed from the ``usage`` string passed to " "OptionParser's constructor and the :attr:`~Option.help` string passed to " "every option." msgstr "" +"Exibe uma mensagem de ajuda completa para todas as opções no analisador " +"sintático de opções atual. A mensagem de ajuda é construída a partir da " +"string ``usage`` passada para o construtor do OptionParser e da " +"string :attr:`~Option.help` passada para cada opção." -#: ../../library/optparse.rst:1250 +#: ../../library/optparse.rst:1251 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 :data:`optparse.SUPPRESS_HELP`." +"value :const:`optparse.SUPPRESS_HELP`." msgstr "" +"Se nenhuma string de :attr:`~Option.help` for fornecida para uma opção, ela " +"ainda será listada na mensagem de ajuda. Para omitir uma opção " +"completamente, use o valor especial :const:`optparse.SUPPRESS_HELP`." -#: ../../library/optparse.rst:1254 +#: ../../library/optparse.rst:1255 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` adiciona automaticamente uma opção :attr:`~Option.help` a " +"todos as instâncias de OptionParsers, então normalmente você não precisa " +"criar uma." -#: ../../library/optparse.rst:1272 +#: ../../library/optparse.rst:1273 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 "" +"Se :mod:`optparse` encontrar ``-h`` ou ``--help`` na linha de comando, ele " +"vai exibir algo como a seguinte mensagem de ajuda no stdout (presumindo que " +"``sys.argv[0]`` é ``\"foo.py\"``):" -#: ../../library/optparse.rst:1285 +#: ../../library/optparse.rst:1286 msgid "" "After printing the help message, :mod:`optparse` terminates your process " "with ``sys.exit(0)``." msgstr "" +"Após exibir a mensagem de ajuda, :mod:`optparse` encerra seu processo com " +"``sys.exit(0)``." -#: ../../library/optparse.rst:1288 +#: ../../library/optparse.rst:1289 msgid "``\"version\"``" msgstr "``\"version\"``" -#: ../../library/optparse.rst:1290 +#: ../../library/optparse.rst:1291 msgid "" "Prints the version number supplied to the OptionParser to stdout and exits. " "The version number is actually formatted and printed by the " "``print_version()`` method of OptionParser. Generally only relevant if the " -"``version`` argument is supplied to the OptionParser constructor. As with :" -"attr:`~Option.help` options, you will rarely create ``version`` options, " -"since :mod:`optparse` automatically adds them when needed." -msgstr "" - -#: ../../library/optparse.rst:1301 +"``version`` argument is supplied to the OptionParser constructor. As " +"with :attr:`~Option.help` options, you will rarely create ``version`` " +"options, since :mod:`optparse` automatically adds them when needed." +msgstr "" +"Exibe o número da versão fornecido à instância de OptionParser para stdout e " +"sai. O número da versão é realmente formatado e exibido pelo método " +"``print_version()`` do OptionParser. Geralmente, é relevante somente se o " +"argumento ``version`` for fornecido ao construtor de OptionParser. Assim " +"como com as opções de :attr:`~Option.help`, você raramente criará opções " +"``version``, já que :mod:`optparse` as adiciona automaticamente quando " +"necessário." + +#: ../../library/optparse.rst:1302 msgid "Standard option types" -msgstr "" +msgstr "Tipos de opção padrão" -#: ../../library/optparse.rst:1303 +#: ../../library/optparse.rst:1304 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` tem cinco tipos de opções embutidos: ``\"string\"``, " +"``\"int\"``, ``\"choice\"``, ``\"float\"`` e ``\"complex\"``. Se você " +"precisar adicionar novos tipos de opções, veja a seção :ref:`optparse-" +"extending-optparse`." -#: ../../library/optparse.rst:1307 +#: ../../library/optparse.rst:1308 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 "" +"Os argumentos para opções de string não são verificados ou convertidos de " +"forma alguma: o texto na linha de comando é armazenado no destino (ou " +"passado para a função de retorno) como está." -#: ../../library/optparse.rst:1310 +#: ../../library/optparse.rst:1311 msgid "Integer arguments (type ``\"int\"``) are parsed as follows:" msgstr "" +"Argumentos inteiros (tipo ``\"int\"``) são analisados da seguinte forma:" -#: ../../library/optparse.rst:1312 +#: ../../library/optparse.rst:1313 msgid "if the number starts with ``0x``, it is parsed as a hexadecimal number" msgstr "" +"se o número começar com ``0x``, ele será analisado como um número hexadecimal" -#: ../../library/optparse.rst:1314 +#: ../../library/optparse.rst:1315 msgid "if the number starts with ``0``, it is parsed as an octal number" -msgstr "" +msgstr "se o número começar com ``0``, ele será analisado como um número octal" -#: ../../library/optparse.rst:1316 +#: ../../library/optparse.rst:1317 msgid "if the number starts with ``0b``, it is parsed as a binary number" msgstr "" +"se o número começar com ``0b``, ele será analisado como um número binário" -#: ../../library/optparse.rst:1318 +#: ../../library/optparse.rst:1319 msgid "otherwise, the number is parsed as a decimal number" -msgstr "" +msgstr "caso contrário, o número é analisado como um número decimal" -#: ../../library/optparse.rst:1321 +#: ../../library/optparse.rst:1322 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 "" +"A conversão é feita chamando :func:`int` com a base apropriada (2, 8, 10 ou " +"16). Se isso falhar, :mod:`optparse` também falhará, embora com uma mensagem " +"de erro mais útil." -#: ../../library/optparse.rst:1325 +#: ../../library/optparse.rst:1326 msgid "" "``\"float\"`` and ``\"complex\"`` option arguments are converted directly " "with :func:`float` and :func:`complex`, with similar error-handling." msgstr "" +"Os argumentos de opção ``\"float\"`` e ``\"complex\"`` são convertidos " +"diretamente com :func:`float` e :func:`complex`, com tratamento de erros " +"semelhante." -#: ../../library/optparse.rst:1328 +#: ../../library/optparse.rst:1329 msgid "" -"``\"choice\"`` options are a subtype of ``\"string\"`` options. The :attr:" -"`~Option.choices` option attribute (a sequence of strings) defines the set " -"of allowed option arguments. :func:`optparse.check_choice` compares user-" -"supplied option arguments against this master list and raises :exc:" -"`OptionValueError` if an invalid string is given." +"``\"choice\"`` options are a subtype of ``\"string\"`` options. " +"The :attr:`~Option.choices` option attribute (a sequence of strings) defines " +"the set of allowed option arguments. :func:`optparse.check_choice` compares " +"user-supplied option arguments against this master list and " +"raises :exc:`OptionValueError` if an invalid string is given." msgstr "" +"As opções ``\"choice\"`` são um subtipo das opções ``\"string\"``. O " +"atributo da opção :attr:`~Option.choices` (uma sequência de strings) define " +"o conjunto de argumentos de opção permitidos. :func:`optparse.check_choice` " +"compara os argumentos de opção fornecidos pelo usuário com esta lista mestre " +"e levanta :exc:`OptionValueError` se uma string inválida for fornecida." -#: ../../library/optparse.rst:1338 +#: ../../library/optparse.rst:1339 msgid "Parsing arguments" msgstr "Análise de argumentos" -#: ../../library/optparse.rst:1340 +#: ../../library/optparse.rst:1341 msgid "" -"The whole point of creating and populating an OptionParser is to call its :" -"meth:`parse_args` method::" +"The whole point of creating and populating an OptionParser is to call " +"its :meth:`~OptionParser.parse_args` method." msgstr "" +"O objetivo de criar e preencher uma instância de OptionParser é chamar seu " +"método :meth:`~OptionParser.parse_args`." -#: ../../library/optparse.rst:1345 -msgid "where the input parameters are" -msgstr "" +#: ../../library/optparse.rst:1346 +msgid "Parse the command-line options found in *args*." +msgstr "Analisa as opções de linha de comando encontradas em *args*." -#: ../../library/optparse.rst:1348 ../../library/optparse.rst:1362 -#: ../../library/optparse.rst:1681 +#: ../../library/optparse.rst:1348 +msgid "The input parameters are" +msgstr "Os parâmetros de entrada são" + +#: ../../library/optparse.rst:1351 ../../library/optparse.rst:1364 +#: ../../library/optparse.rst:1684 msgid "``args``" msgstr "``args``" -#: ../../library/optparse.rst:1348 +#: ../../library/optparse.rst:1351 msgid "the list of arguments to process (default: ``sys.argv[1:]``)" -msgstr "" +msgstr "a lista de argumentos para processar (padrão: ``sys.argv[1:]``)" -#: ../../library/optparse.rst:1353 +#: ../../library/optparse.rst:1356 msgid "``values``" msgstr "``values``" -#: ../../library/optparse.rst:1351 +#: ../../library/optparse.rst:1354 msgid "" -"an :class:`optparse.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" +"an :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 "" -#: ../../library/optparse.rst:1355 -msgid "and the return values are" -msgstr "" +#: ../../library/optparse.rst:1358 +msgid "and the return value is a pair ``(options, args)`` where" +msgstr "e o valor de retorno é um par ``(options, args)`` sendo" -#: ../../library/optparse.rst:1359 +#: ../../library/optparse.rst:1362 msgid "``options``" msgstr "``options``" -#: ../../library/optparse.rst:1358 +#: ../../library/optparse.rst:1361 msgid "" -"the same object that was passed in as ``values``, or the optparse.Values " +"the same object that was passed in as *values*, or the ``optparse.Values`` " "instance created by :mod:`optparse`" msgstr "" +"o mesmo objeto que foi passado como *values*, ou a instância " +"``optparse.Values`` criada por :mod:`optparse`" -#: ../../library/optparse.rst:1362 +#: ../../library/optparse.rst:1365 msgid "the leftover positional arguments after all options have been processed" msgstr "" +"os argumentos posicionais restantes depois que todas as opções foram " +"processadas" -#: ../../library/optparse.rst:1364 +#: ../../library/optparse.rst:1367 msgid "" "The most common usage is to supply neither keyword argument. If you supply " "``values``, it will be modified with repeated :func:`setattr` calls (roughly " "one for every option argument stored to an option destination) and returned " -"by :meth:`parse_args`." +"by :meth:`~OptionParser.parse_args`." msgstr "" +"O uso mais comum é não fornecer nenhum argumento nomeado. Se você fornecer " +"``values``, ele será modificado com chamadas repetidas de :func:`setattr` " +"(aproximadamente uma para cada argumento de opção armazenado em um destino " +"de opção) e retornado por :meth:`~OptionParser.parse_args`." -#: ../../library/optparse.rst:1369 +#: ../../library/optparse.rst:1372 msgid "" -"If :meth:`parse_args` encounters any errors in the argument list, it calls " -"the OptionParser's :meth:`error` method with an appropriate end-user error " -"message. This ultimately terminates your process with an exit status of 2 " -"(the traditional Unix exit status for command-line errors)." +"If :meth:`~OptionParser.parse_args` encounters any errors in the argument " +"list, it calls the OptionParser's :meth:`error` method with an appropriate " +"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 "" +"Se :meth:`~OptionParser.parse_args` encontrar algum erro na lista de " +"argumentos, ele chama o método :meth:`error` da instância de OptionParser " +"com uma mensagem de erro apropriada para o usuário final. Isso, em última " +"análise, encerra seu processo com um status de saída 2 (o status de saída " +"tradicional do Unix para erros de linha de comando)." -#: ../../library/optparse.rst:1378 +#: ../../library/optparse.rst:1381 msgid "Querying and manipulating your option parser" -msgstr "" +msgstr "Consultando e manipulando seu analisador sintático de opções" -#: ../../library/optparse.rst:1380 +#: ../../library/optparse.rst:1383 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 "" +"O comportamento padrão do analisador sintático de opções pode ser " +"ligeiramente personalizado, e você também pode dar uma olhada no seu " +"analisador de opções e ver o que há lá. A classe OptionParser fornece vários " +"métodos para ajudar você:" -#: ../../library/optparse.rst:1386 +#: ../../library/optparse.rst:1389 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 "" +"Define a análise para parar na primeira não opção. Por exemplo, se ``-a`` e " +"``-b`` forem ambas opções simples que não aceitam " +"argumentos, :mod:`optparse` normalmente aceita esta sintaxe::" -#: ../../library/optparse.rst:1392 +#: ../../library/optparse.rst:1395 msgid "and treats it as equivalent to ::" -msgstr "" +msgstr "e trata-a como equivalente a ::" -#: ../../library/optparse.rst:1396 +#: ../../library/optparse.rst:1399 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 "" +"Para desabilitar esse recurso, chame :meth:`disable_interspersed_args`. Isso " +"restaura a sintaxe Unix tradicional, onde a análise de opções para com o " +"primeiro argumento não-opcional." -#: ../../library/optparse.rst:1400 +#: ../../library/optparse.rst:1403 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 "" +"Use isto se você tiver um processador de comando que executa outro comando " +"que tem opções próprias e você quer ter certeza de que essas opções não " +"fiquem confusas. Por exemplo, cada comando pode ter um conjunto diferente de " +"opções." -#: ../../library/optparse.rst:1406 +#: ../../library/optparse.rst:1409 msgid "" "Set parsing to not stop on the first non-option, allowing interspersing " "switches with command arguments. This is the default behavior." msgstr "" +"Define a análise para não parar na primeira não opção, permitindo intercalar " +"alternadores com argumentos de comando. Esse é o comportamento padrão." -#: ../../library/optparse.rst:1411 +#: ../../library/optparse.rst:1414 msgid "" "Returns the Option instance with the option string *opt_str*, or ``None`` if " "no options have that option string." msgstr "" +"Retorna a instância de Option com a string de opção *opt_str*, ou ``None`` " +"se nenhuma opção tiver essa string de opção." -#: ../../library/optparse.rst:1416 +#: ../../library/optparse.rst:1419 msgid "" "Return ``True`` if the OptionParser has an option with option string " "*opt_str* (e.g., ``-q`` or ``--verbose``)." msgstr "" +"Retorna ``True`` se o objeto OptionParser tiver uma opção com string de " +"opção *opt_str* (por exemplo, ``-q`` ou ``--verbose``)." -#: ../../library/optparse.rst:1421 +#: ../../library/optparse.rst:1424 msgid "" "If the :class:`OptionParser` has an option corresponding to *opt_str*, that " "option is removed. If that option provided any other option strings, all of " "those option strings become invalid. If *opt_str* does not occur in any " "option belonging to this :class:`OptionParser`, raises :exc:`ValueError`." msgstr "" +"Se o :class:`OptionParser` tiver uma opção correspondente a *opt_str*, essa " +"opção será removida. Se essa opção fornecer quaisquer outras strings de " +"opção, todas essas strings de opção se tornarão inválidas. Se *opt_str* não " +"ocorrer em nenhuma opção pertencente a este :class:`OptionParser`, " +"levanta :exc:`ValueError`." -#: ../../library/optparse.rst:1430 +#: ../../library/optparse.rst:1433 msgid "Conflicts between options" -msgstr "" +msgstr "Conflitos entre opções" -#: ../../library/optparse.rst:1432 +#: ../../library/optparse.rst:1435 msgid "" "If you're not careful, it's easy to define options with conflicting option " "strings::" msgstr "" +"Se você não tomar cuidado, é fácil definir opções com strings de opções " +"conflitantes::" -#: ../../library/optparse.rst:1439 +#: ../../library/optparse.rst:1442 msgid "" "(This is particularly true if you've defined your own OptionParser subclass " "with some standard options.)" msgstr "" +"(Isto é particularmente verdadeiro se você definiu sua própria subclasse de " +"OptionParser com algumas opções padrão.)" -#: ../../library/optparse.rst:1442 +#: ../../library/optparse.rst:1445 msgid "" "Every time you add an option, :mod:`optparse` checks for conflicts with " "existing options. If it finds any, it invokes the current conflict-handling " "mechanism. You can set the conflict-handling mechanism either in the " "constructor::" msgstr "" +"Toda vez que você adiciona uma opção, :mod:`optparse` verifica se há " +"conflitos com opções existentes. Se encontrar algum, ele invoca o mecanismo " +"de tratamento de conflitos atual. Você pode definir o mecanismo de " +"tratamento de conflitos no construtor::" -#: ../../library/optparse.rst:1448 +#: ../../library/optparse.rst:1451 msgid "or with a separate call::" -msgstr "" +msgstr "ou com uma chamada separada::" -#: ../../library/optparse.rst:1452 +#: ../../library/optparse.rst:1455 msgid "The available conflict handlers are:" -msgstr "" +msgstr "Os manipuladores de conflitos disponíveis são:" -#: ../../library/optparse.rst:1456 +#: ../../library/optparse.rst:1459 msgid "``\"error\"`` (default)" -msgstr "" +msgstr "``\"error\"`` (padrão)" -#: ../../library/optparse.rst:1455 +#: ../../library/optparse.rst:1458 msgid "" -"assume option conflicts are a programming error and raise :exc:" -"`OptionConflictError`" +"assume option conflicts are a programming error and " +"raise :exc:`OptionConflictError`" msgstr "" +"presume que os conflitos de opções são um erro de programação e " +"levanta :exc:`OptionConflictError`" -#: ../../library/optparse.rst:1460 +#: ../../library/optparse.rst:1463 msgid "``\"resolve\"``" msgstr "``\"resolve\"``" -#: ../../library/optparse.rst:1459 +#: ../../library/optparse.rst:1462 msgid "resolve option conflicts intelligently (see below)" -msgstr "" +msgstr "resolve conflitos de opções de forma inteligente (veja abaixo)" -#: ../../library/optparse.rst:1462 +#: ../../library/optparse.rst:1465 msgid "" "As an example, let's define an :class:`OptionParser` that resolves conflicts " "intelligently and add conflicting options to it::" msgstr "" +"Como exemplo, vamos definir um :class:`OptionParser` que resolve conflitos " +"de forma inteligente e adiciona opções conflitantes a ele::" -#: ../../library/optparse.rst:1469 +#: ../../library/optparse.rst:1472 msgid "" "At this point, :mod:`optparse` detects that a previously added option is " "already using the ``-n`` option string. Since ``conflict_handler`` is " @@ -1797,8 +2415,14 @@ msgid "" "for the user to activate that option. If the user asks for help, the help " "message will reflect that::" msgstr "" +"Neste ponto, :mod:`optparse` detecta que uma opção adicionada anteriormente " +"já está usando a string de opção ``-n``. Como ``conflict_handler`` é " +"``\"resolve\"``, ele resolve a situação removendo ``-n`` da lista de strings " +"de opção da opção anterior. Agora ``--dry-run`` é a única maneira do usuário " +"ativar essa opção. Se o usuário pedir ajuda, a mensagem de ajuda refletirá " +"isso::" -#: ../../library/optparse.rst:1480 +#: ../../library/optparse.rst:1483 msgid "" "It's possible to whittle away the option strings for a previously added " "option until there are none left, and the user has no way of invoking that " @@ -1806,18 +2430,25 @@ msgid "" "option completely, so it doesn't show up in help text or anywhere else. " "Carrying on with our existing OptionParser::" msgstr "" +"É possível reduzir as strings de opção para uma opção adicionada " +"anteriormente até que não haja mais nenhuma, e o usuário não tenha como " +"invocar essa opção da linha de comando. Nesse caso, :mod:`optparse` remove " +"essa opção completamente, então ela não aparece no texto de ajuda ou em " +"nenhum outro lugar. Continuando com nosso objeto OptionParser existente::" -#: ../../library/optparse.rst:1488 +#: ../../library/optparse.rst:1491 msgid "" "At this point, the original ``-n``/``--dry-run`` option is no longer " "accessible, so :mod:`optparse` removes it, leaving this help text::" msgstr "" +"Neste ponto, a opção original ``-n``/``--dry-run`` não está mais acessível, " +"então :mod:`optparse` a remove, deixando este texto de ajuda::" -#: ../../library/optparse.rst:1500 +#: ../../library/optparse.rst:1503 msgid "Cleanup" -msgstr "" +msgstr "Limpeza" -#: ../../library/optparse.rst:1502 +#: ../../library/optparse.rst:1505 msgid "" "OptionParser instances have several cyclic references. This should not be a " "problem for Python's garbage collector, but you may wish to break the cyclic " @@ -1826,89 +2457,121 @@ msgid "" "running applications where large object graphs are reachable from your " "OptionParser." msgstr "" +"As instâncias de OptionParser têm várias referências cíclicas. Isso não deve " +"ser um problema para o coletor de lixo do Python, mas você pode desejar " +"quebrar as referências cíclicas explicitamente " +"chamando :meth:`~OptionParser.destroy` no seu OptionParser quando terminar " +"de usá-lo. Isso é particularmente útil em aplicações de longa execução, onde " +"gráficos de objetos grandes podem ser acessados do seu OptionParser." -#: ../../library/optparse.rst:1513 +#: ../../library/optparse.rst:1516 msgid "Other methods" -msgstr "" +msgstr "Outros métodos" -#: ../../library/optparse.rst:1515 +#: ../../library/optparse.rst:1518 msgid "OptionParser supports several other public methods:" -msgstr "" +msgstr "OptionParser provê vários outros métodos públicos:" -#: ../../library/optparse.rst:1519 +#: ../../library/optparse.rst:1522 msgid "" "Set the usage string according to the rules described above for the " "``usage`` constructor keyword argument. Passing ``None`` sets the default " -"usage string; use :data:`optparse.SUPPRESS_USAGE` to suppress a usage " +"usage string; use :const:`optparse.SUPPRESS_USAGE` to suppress a usage " "message." msgstr "" +"Defina a string de uso de acordo com as regras descritas acima para o " +"argumento nomeado do construtor ``usage``. Passar ``None`` define a string " +"de uso padrão; use :const:`optparse.SUPPRESS_USAGE` para suprimir uma " +"mensagem de uso." -#: ../../library/optparse.rst:1525 +#: ../../library/optparse.rst:1528 msgid "" "Print the usage message for the current program (``self.usage``) to *file* " "(default stdout). Any occurrence of the string ``%prog`` in ``self.usage`` " -"is replaced with the name of the current program. Does nothing if ``self." -"usage`` is empty or not defined." +"is replaced with the name of the current program. Does nothing if " +"``self.usage`` is empty or not defined." msgstr "" +"Exibe a mensagem de uso para o programa atual (``self.usage``) em *file* " +"(stdout padrão). Qualquer ocorrência da string ``%prog`` em ``self.usage`` é " +"substituída pelo nome do programa atual. Não faz nada se ``self.usage`` " +"estiver vazio ou não definido." -#: ../../library/optparse.rst:1532 +#: ../../library/optparse.rst:1535 msgid "" "Same as :meth:`print_usage` but returns the usage string instead of printing " "it." msgstr "" +"O mesmo que :meth:`print_usage`, mas retorna a string de uso em vez de exibi-" +"la." -#: ../../library/optparse.rst:1537 +#: ../../library/optparse.rst:1540 msgid "" -"Set default values for several option destinations at once. Using :meth:" -"`set_defaults` is the preferred way to set default values for options, since " -"multiple options can share the same destination. For example, if several " -"\"mode\" options all set the same destination, any one of them can set the " -"default, and the last one wins::" +"Set default values for several option destinations at once. " +"Using :meth:`set_defaults` is the preferred way to set default values for " +"options, since multiple options can share the same destination. For " +"example, if several \"mode\" options all set the same destination, any one " +"of them can set the default, and the last one wins::" msgstr "" +"Define valores padrão para vários destinos de opção de uma vez. " +"Usar :meth:`set_defaults` é a maneira preferida de definir valores padrão " +"para opções, já que várias opções podem compartilhar o mesmo destino. Por " +"exemplo, se várias opções de \"modo\" definirem o mesmo destino, qualquer " +"uma delas pode definir o padrão, e a última vence::" -#: ../../library/optparse.rst:1550 +#: ../../library/optparse.rst:1553 msgid "To avoid this confusion, use :meth:`set_defaults`::" -msgstr "" +msgstr "Para evitar essa confusão, use :meth:`set_defaults`::" -#: ../../library/optparse.rst:1562 +#: ../../library/optparse.rst:1565 msgid "Option Callbacks" -msgstr "" +msgstr "Funções de retorno de opção" -#: ../../library/optparse.rst:1564 +#: ../../library/optparse.rst:1567 msgid "" "When :mod:`optparse`'s built-in actions and types aren't quite enough for " "your needs, you have two choices: extend :mod:`optparse` or define a " "callback option. Extending :mod:`optparse` is more general, but overkill for " "a lot of simple cases. Quite often a simple callback is all you need." msgstr "" +"Quando as ações e tipos embutidos de :mod:`optparse` não são o bastante para " +"suas necessidades, você tem duas escolhas: estender :mod:`optparse` ou " +"definir uma opção de retorno de chamada. Estender :mod:`optparse` é mais " +"geral, mas exagero para muitos casos simples. Muitas vezes, um retorno de " +"chamada simples é tudo o que você precisa." -#: ../../library/optparse.rst:1569 +#: ../../library/optparse.rst:1572 msgid "There are two steps to defining a callback option:" -msgstr "" +msgstr "Há duas etapas para definir uma opção de retorno de chamada:" -#: ../../library/optparse.rst:1571 +#: ../../library/optparse.rst:1574 msgid "define the option itself using the ``\"callback\"`` action" -msgstr "" +msgstr "definir a opção em si usando a ação ``\"callback\"``" -#: ../../library/optparse.rst:1573 +#: ../../library/optparse.rst:1576 msgid "" "write the callback; this is a function (or method) that takes at least four " "arguments, as described below" msgstr "" +"escrever o função de retorno; esta é uma função (ou método) que recebe pelo " +"menos quatro argumentos, conforme descrito abaixo" -#: ../../library/optparse.rst:1580 +#: ../../library/optparse.rst:1583 msgid "Defining a callback option" -msgstr "" +msgstr "Definindo uma opção de retorno de chamada" -#: ../../library/optparse.rst:1582 +#: ../../library/optparse.rst:1585 msgid "" -"As always, the easiest way to define a callback option is by using the :meth:" -"`OptionParser.add_option` method. Apart from :attr:`~Option.action`, the " -"only option attribute you must specify is ``callback``, the function to " -"call::" +"As always, the easiest way to define a callback option is by using " +"the :meth:`OptionParser.add_option` method. Apart " +"from :attr:`~Option.action`, the only option attribute you must specify is " +"``callback``, the function to call::" msgstr "" +"Como sempre, a maneira mais fácil de definir uma opção de retorno de chamada " +"é usando o método :meth:`OptionParser.add_option`. Além " +"de :attr:`~Option.action`, o único atributo de opção que você deve " +"especificar é ``callback``, a função a ser chamada::" -#: ../../library/optparse.rst:1588 +#: ../../library/optparse.rst:1591 msgid "" "``callback`` is a function (or other callable object), so you must have " "already defined ``my_callback()`` when you create this callback option. In " @@ -1919,86 +2582,114 @@ msgid "" "number of command-line arguments. This is where writing callbacks gets " "tricky; it's covered later in this section." msgstr "" +"``callback`` é uma função (ou outro objeto chamável), então você já deve ter " +"definido ``my_callback()`` quando criar esta opção de retorno de chamada. " +"Neste caso simples, :mod:`optparse` nem sabe se ``-c`` aceita argumentos, o " +"que geralmente significa que a opção não aceita argumentos --- a mera " +"presença de ``-c`` na linha de comando é tudo o que ela precisa saber. Em " +"algumas circunstâncias, no entanto, você pode querer que seu retorno de " +"chamada consuma um número arbitrário de argumentos de linha de comando. É " +"aqui que escrever retornos de chamada fica complicado; isso é abordado mais " +"adiante nesta seção." -#: ../../library/optparse.rst:1597 +#: ../../library/optparse.rst:1600 msgid "" ":mod:`optparse` always passes four particular arguments to your callback, " -"and it will only pass additional arguments if you specify them via :attr:" -"`~Option.callback_args` and :attr:`~Option.callback_kwargs`. Thus, the " -"minimal callback function signature is::" +"and it will only pass additional arguments if you specify them " +"via :attr:`~Option.callback_args` and :attr:`~Option.callback_kwargs`. " +"Thus, the minimal callback function signature is::" msgstr "" +":mod:`optparse` sempre passa quatro argumentos particulares para seu retorno " +"de chamada, e ele só passará argumentos adicionais se você especificá-los " +"via :attr:`~Option.callback_args` e :attr:`~Option.callback_kwargs`. Assim, " +"a assinatura mínima da função de retorno de chamada é::" -#: ../../library/optparse.rst:1604 +#: ../../library/optparse.rst:1607 msgid "The four arguments to a callback are described below." -msgstr "" +msgstr "Os quatro argumentos para um retorno de chamada são descritos abaixo." -#: ../../library/optparse.rst:1606 +#: ../../library/optparse.rst:1609 msgid "" "There are several other option attributes that you can supply when you " "define a callback option:" msgstr "" +"Há vários outros atributos de opção que você pode fornecer ao definir uma " +"opção de retorno de chamada:" -#: ../../library/optparse.rst:1613 +#: ../../library/optparse.rst:1616 msgid ":attr:`~Option.type`" msgstr ":attr:`~Option.type`" -#: ../../library/optparse.rst:1610 +#: ../../library/optparse.rst:1613 msgid "" "has its usual meaning: as with the ``\"store\"`` or ``\"append\"`` actions, " -"it instructs :mod:`optparse` to consume one argument and convert it to :attr:" -"`~Option.type`. Rather than storing the converted value(s) anywhere, " -"though, :mod:`optparse` passes it to your callback function." +"it instructs :mod:`optparse` to consume one argument and convert it " +"to :attr:`~Option.type`. Rather than storing the converted value(s) " +"anywhere, though, :mod:`optparse` passes it to your callback function." msgstr "" +"tem seu significado usual: como com as ações ``\"store\"`` ou " +"``\"append\"``, ele instrui :mod:`optparse` a consumir um argumento e " +"convertê-lo para :attr:`~Option.type`. Em vez de armazenar o(s) valor(es) " +"convertido(s) em qualquer lugar, no entanto, :mod:`optparse` os passa para " +"sua função de retorno de chamada." -#: ../../library/optparse.rst:1619 +#: ../../library/optparse.rst:1622 msgid ":attr:`~Option.nargs`" msgstr ":attr:`~Option.nargs`" -#: ../../library/optparse.rst:1616 +#: ../../library/optparse.rst:1619 msgid "" "also has its usual meaning: if it is supplied and > 1, :mod:`optparse` will " "consume :attr:`~Option.nargs` arguments, each of which must be convertible " "to :attr:`~Option.type`. It then passes a tuple of converted values to your " "callback." msgstr "" +"também tem seu significado usual: se for fornecido e > 1, :mod:`optparse` " +"consumirá argumentos :attr:`~Option.nargs`, cada um dos quais deve ser " +"conversível para :attr:`~Option.type`. Em seguida, ele passa uma tupla de " +"valores convertidos para seu retorno de chamada." -#: ../../library/optparse.rst:1622 +#: ../../library/optparse.rst:1625 msgid ":attr:`~Option.callback_args`" msgstr ":attr:`~Option.callback_args`" -#: ../../library/optparse.rst:1622 +#: ../../library/optparse.rst:1625 msgid "a tuple of extra positional arguments to pass to the callback" msgstr "" +"uma tupla de argumentos posicionais extras para passar para a função de " +"retorno" -#: ../../library/optparse.rst:1626 +#: ../../library/optparse.rst:1629 msgid ":attr:`~Option.callback_kwargs`" msgstr ":attr:`~Option.callback_kwargs`" -#: ../../library/optparse.rst:1625 +#: ../../library/optparse.rst:1628 msgid "a dictionary of extra keyword arguments to pass to the callback" msgstr "" +"um dicionário de argumentos nomeados extras para passar para a função de " +"retorno" -#: ../../library/optparse.rst:1631 +#: ../../library/optparse.rst:1634 msgid "How callbacks are called" -msgstr "" +msgstr "Como os retornos de chamada são chamados" -#: ../../library/optparse.rst:1633 +#: ../../library/optparse.rst:1636 msgid "All callbacks are called as follows::" -msgstr "" +msgstr "Todos os retornos de chamada são chamados da seguinte forma:" -#: ../../library/optparse.rst:1640 +#: ../../library/optparse.rst:1643 msgid "``option``" msgstr "``option``" -#: ../../library/optparse.rst:1640 +#: ../../library/optparse.rst:1643 msgid "is the Option instance that's calling the callback" -msgstr "" +msgstr "é a instância de Option que está chamando o retorno de chamada" -#: ../../library/optparse.rst:1647 +#: ../../library/optparse.rst:1650 msgid "``opt_str``" msgstr "``opt_str``" -#: ../../library/optparse.rst:1643 +#: ../../library/optparse.rst:1646 msgid "" "is the option string seen on the command-line that's triggering the " "callback. (If an abbreviated long option was used, ``opt_str`` will be the " @@ -2006,59 +2697,83 @@ msgid "" "command-line as an abbreviation for ``--foobar``, then ``opt_str`` will be " "``\"--foobar\"``.)" msgstr "" +"é a string de opção vista na linha de comando que está acionando o retorno " +"de chamada. (Se uma opção longa abreviada foi usada, ``opt_str`` será a " +"string de opção canônica completa --- por exemplo, se o usuário colocar ``--" +"foo`` na linha de comando como uma abreviação para ``--foobar``, então " +"``opt_str`` será ``\"--foobar\"``.)" -#: ../../library/optparse.rst:1654 +#: ../../library/optparse.rst:1657 msgid "``value``" msgstr "``value``" -#: ../../library/optparse.rst:1650 +#: ../../library/optparse.rst:1653 msgid "" "is the argument to this option seen on the command-line. :mod:`optparse` " "will only expect an argument if :attr:`~Option.type` is set; the type of " -"``value`` will be the type implied by the option's type. If :attr:`~Option." -"type` for this option is ``None`` (no argument expected), then ``value`` " -"will be ``None``. If :attr:`~Option.nargs` > 1, ``value`` will be a tuple " -"of values of the appropriate type." -msgstr "" +"``value`` will be the type implied by the option's type. " +"If :attr:`~Option.type` for this option is ``None`` (no argument expected), " +"then ``value`` will be ``None``. If :attr:`~Option.nargs` > 1, ``value`` " +"will be a tuple of values of the appropriate type." +msgstr "" +"é o argumento para esta opção visto na linha de comando. :mod:`optparse` só " +"esperará um argumento se :attr:`~Option.type` estiver definido; o tipo de " +"``value`` será o tipo implícito pelo tipo da opção. Se :attr:`~Option.type` " +"para esta opção for ``None`` (nenhum argumento esperado), então ``value`` " +"será ``None``. Se :attr:`~Option.nargs` > 1, ``value`` será uma tupla de " +"valores do tipo apropriado." -#: ../../library/optparse.rst:1677 +#: ../../library/optparse.rst:1680 msgid "``parser``" msgstr "``parser``" -#: ../../library/optparse.rst:1657 +#: ../../library/optparse.rst:1660 msgid "" "is the OptionParser instance driving the whole thing, mainly useful because " "you can access some other interesting data through its instance attributes:" msgstr "" +"é a instância OptionParser que controla tudo, útil principalmente porque " +"você pode acessar alguns outros dados interessantes por meio de seus " +"atributos de instância:" -#: ../../library/optparse.rst:1664 +#: ../../library/optparse.rst:1667 msgid "``parser.largs``" msgstr "``parser.largs``" -#: ../../library/optparse.rst:1661 +#: ../../library/optparse.rst:1664 msgid "" "the current list of leftover arguments, ie. arguments that have been " "consumed but are neither options nor option arguments. Feel free to modify " "``parser.largs``, e.g. by adding more arguments to it. (This list will " -"become ``args``, the second return value of :meth:`parse_args`.)" +"become ``args``, the second return value " +"of :meth:`~OptionParser.parse_args`.)" msgstr "" +"a lista atual de argumentos restantes, ou seja, argumentos que foram " +"consumidos, mas não são opções nem argumentos de opção. Sinta-se à vontade " +"para modificar ``parser.largs``, por exemplo, adicionando mais argumentos a " +"ele. (Esta lista se tornará ``args``, o segundo valor de retorno " +"de :meth:`~OptionParser.parse_args`.)" -#: ../../library/optparse.rst:1670 +#: ../../library/optparse.rst:1673 msgid "``parser.rargs``" msgstr "``parser.rargs``" -#: ../../library/optparse.rst:1667 +#: ../../library/optparse.rst:1670 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 "" +"a lista atual de argumentos restantes, ou seja, com ``opt_str`` e ``value`` " +"(se aplicável) removidos, e apenas os argumentos que os seguem ainda lá. " +"Sinta-se à vontade para modificar ``parser.rargs``, por exemplo, consumindo " +"mais argumentos." -#: ../../library/optparse.rst:1677 +#: ../../library/optparse.rst:1680 msgid "``parser.values``" msgstr "``parser.values``" -#: ../../library/optparse.rst:1673 +#: ../../library/optparse.rst:1676 msgid "" "the object where option values are by default stored (an instance of " "optparse.OptionValues). This lets callbacks use the same mechanism as the " @@ -2066,28 +2781,38 @@ 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 "" +"o objeto onde os valores de opção são armazenados por padrão (uma instância " +"de optparse.OptionValues). Isso permite que as função de retorno usem o " +"mesmo mecanismo que o resto de :mod:`optparse` para armazenar valores de " +"opção; você não precisa mexer com globais ou closures. Você também pode " +"acessar ou modificar o(s) valor(es) de quaisquer opções já encontradas na " +"linha de comando." -#: ../../library/optparse.rst:1680 +#: ../../library/optparse.rst:1683 msgid "" -"is a tuple of arbitrary positional arguments supplied via the :attr:`~Option." -"callback_args` option attribute." +"is a tuple of arbitrary positional arguments supplied via " +"the :attr:`~Option.callback_args` option attribute." msgstr "" +"é uma tupla de argumentos posicionais arbitrários fornecidos por meio do " +"atributo de opção :attr:`~Option.callback_args`." -#: ../../library/optparse.rst:1686 +#: ../../library/optparse.rst:1689 msgid "``kwargs``" msgstr "``kwargs``" -#: ../../library/optparse.rst:1684 +#: ../../library/optparse.rst:1687 msgid "" -"is a dictionary of arbitrary keyword arguments supplied via :attr:`~Option." -"callback_kwargs`." +"is a dictionary of arbitrary keyword arguments supplied " +"via :attr:`~Option.callback_kwargs`." msgstr "" +"é um dicionário de argumentos nomeados arbitrários fornecidos " +"via :attr:`~Option.callback_kwargs`." -#: ../../library/optparse.rst:1691 +#: ../../library/optparse.rst:1694 msgid "Raising errors in a callback" -msgstr "" +msgstr "Levantando erros em uma função de retorno" -#: ../../library/optparse.rst:1693 +#: ../../library/optparse.rst:1696 msgid "" "The callback function should raise :exc:`OptionValueError` if there are any " "problems with the option or its argument(s). :mod:`optparse` catches this " @@ -2096,116 +2821,157 @@ msgid "" "option at fault. Otherwise, the user will have a hard time figuring out what " "they did wrong." msgstr "" +"A função de retorno de chamada deve levantar :exc:`OptionValueError` se " +"houver algum problema com a opção ou seu(s) argumento(s). :mod:`optparse` " +"captura isso e encerra o programa, exibindo a mensagem de erro que você " +"fornece para stderr. Sua mensagem deve ser clara, concisa, precisa e " +"mencionar a opção com defeito. Caso contrário, o usuário terá dificuldade em " +"descobrir o que fez de errado." -#: ../../library/optparse.rst:1703 +#: ../../library/optparse.rst:1706 msgid "Callback example 1: trivial callback" -msgstr "" +msgstr "Exemplo de função de retorno 1: retorno de chamada trivial" -#: ../../library/optparse.rst:1705 +#: ../../library/optparse.rst:1708 msgid "" "Here's an example of a callback option that takes no arguments, and simply " "records that the option was seen::" msgstr "" +"Aqui está um exemplo de uma opção de retorno de chamada que não aceita " +"argumentos e simplesmente registra que a opção foi vista:" -#: ../../library/optparse.rst:1713 +#: ../../library/optparse.rst:1716 msgid "Of course, you could do that with the ``\"store_true\"`` action." -msgstr "" +msgstr "Claro, você pode fazer isso com a ação ``\"store_true\"``." -#: ../../library/optparse.rst:1719 +#: ../../library/optparse.rst:1722 msgid "Callback example 2: check option order" -msgstr "" +msgstr "Exemplo de função de retorno 2: verificar a ordem das opções" -#: ../../library/optparse.rst:1721 +#: ../../library/optparse.rst:1724 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 "" +"Aqui está um exemplo um pouco mais interessante: registra o fato de que ``-" +"a`` é visto, mas explode se ele vier depois de ``-b`` na linha de comando. ::" -#: ../../library/optparse.rst:1736 +#: ../../library/optparse.rst:1739 msgid "Callback example 3: check option order (generalized)" msgstr "" +"Exemplo 3 de função de retorno: verificar a ordem das opções (generalizada)" -#: ../../library/optparse.rst:1738 +#: ../../library/optparse.rst:1741 msgid "" "If you want to re-use 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 "" -#: ../../library/optparse.rst:1755 +#: ../../library/optparse.rst:1758 msgid "Callback example 4: check arbitrary condition" -msgstr "" +msgstr "Exemplo de função de retorno 4: verificar uma condição arbitrária" -#: ../../library/optparse.rst:1757 +#: ../../library/optparse.rst:1760 msgid "" "Of course, you could put any condition in there---you're not limited to " "checking the values of already-defined options. For example, if you have " "options that should not be called when the moon is full, all you have to do " "is this::" msgstr "" +"Claro, você pode colocar qualquer condição ali---você não está limitado a " +"verificar os valores de opções já definidas. Por exemplo, se você tem opções " +"que não devem ser chamadas quando a lua está cheia, tudo o que você tem a " +"fazer é isto::" -#: ../../library/optparse.rst:1770 +#: ../../library/optparse.rst:1773 msgid "" "(The definition of ``is_moon_full()`` is left as an exercise for the reader.)" msgstr "" +"(A definição de ``is_moon_full()`` é deixada como um exercício para o " +"leitor.)" -#: ../../library/optparse.rst:1776 +#: ../../library/optparse.rst:1779 msgid "Callback example 5: fixed arguments" -msgstr "" +msgstr "Exemplo de função de retorno 5: argumentos fixos" -#: ../../library/optparse.rst:1778 +#: ../../library/optparse.rst:1781 msgid "" "Things get slightly more interesting when you define callback options that " "take a fixed number of arguments. Specifying that a callback option takes " "arguments is similar to defining a ``\"store\"`` or ``\"append\"`` option: " "if you define :attr:`~Option.type`, then the option takes one argument that " -"must be convertible to that type; if you further define :attr:`~Option." -"nargs`, then the option takes :attr:`~Option.nargs` arguments." +"must be convertible to that type; if you further " +"define :attr:`~Option.nargs`, then the option takes :attr:`~Option.nargs` " +"arguments." msgstr "" +"As coisas ficam um pouco mais interessantes quando você define opções de " +"retorno de chamada que aceitam um número fixo de argumentos. Especificar que " +"uma opção de retorno de chamada aceita argumentos é semelhante a definir uma " +"opção ``\"store\"`` ou ``\"append\"``: se você definir :attr:`~Option.type`, " +"então a opção aceita um argumento que deve ser conversível para esse tipo; " +"se você definir ainda :attr:`~Option.nargs`, então a opção aceita " +"argumentos :attr:`~Option.nargs`." -#: ../../library/optparse.rst:1785 +#: ../../library/optparse.rst:1788 msgid "" "Here's an example that just emulates the standard ``\"store\"`` action::" -msgstr "" +msgstr "Aqui está um exemplo que apenas emula a ação padrão ``\"store\"``::" -#: ../../library/optparse.rst:1794 +#: ../../library/optparse.rst:1797 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 "" +"Note que :mod:`optparse` cuida de consumir 3 argumentos e convertê-los em " +"números inteiros para você; tudo o que você precisa fazer é armazená-los. " +"(Ou o que for; obviamente você não precisa de uma função de retorno de " +"chamada para este exemplo.)" -#: ../../library/optparse.rst:1802 +#: ../../library/optparse.rst:1805 msgid "Callback example 6: variable arguments" -msgstr "" +msgstr "Exemplo de função de retorno 6: argumentos variáveis" -#: ../../library/optparse.rst:1804 +#: ../../library/optparse.rst:1807 msgid "" "Things get hairy when you want an option to take a variable number of " "arguments. For this case, you must write a callback, as :mod:`optparse` " "doesn't provide any built-in capabilities for it. And you have to deal with " -"certain intricacies of conventional Unix command-line parsing that :mod:" -"`optparse` normally handles for you. In particular, callbacks should " -"implement the conventional rules for bare ``--`` and ``-`` arguments:" -msgstr "" - -#: ../../library/optparse.rst:1811 +"certain intricacies of conventional Unix command-line parsing " +"that :mod:`optparse` normally handles for you. In particular, callbacks " +"should implement the conventional rules for bare ``--`` and ``-`` arguments:" +msgstr "" +"As coisas ficam complicadas quando você quer que uma opção receba um número " +"variável de argumentos. Para esse caso, você deve escrever uma função de " +"retorno, pois :mod:`optparse` não fornece nenhuma capacidade embutida para " +"ele. E você tem que lidar com certas complexidades da análise sintática de " +"linha de comando Unix convencional que :mod:`optparse` normalmente lida para " +"você. Em particular, as funções de retorno devem implementar as regras " +"convencionais para argumentos ``--`` e ``-`` simples:" + +#: ../../library/optparse.rst:1814 msgid "either ``--`` or ``-`` can be option arguments" -msgstr "" +msgstr "``--`` ou ``-`` podem ser argumentos de opção" -#: ../../library/optparse.rst:1813 +#: ../../library/optparse.rst:1816 msgid "" "bare ``--`` (if not the argument to some option): halt command-line " "processing and discard the ``--``" msgstr "" +"``--`` apenas (se não for o argumento para alguma opção): interrompe o " +"processamento da linha de comando e descarta o ``--``" -#: ../../library/optparse.rst:1816 +#: ../../library/optparse.rst:1819 msgid "" "bare ``-`` (if not the argument to some option): halt command-line " "processing but keep the ``-`` (append it to ``parser.largs``)" msgstr "" +"``-`` apenas (se não for o argumento para alguma opção): interrompe o " +"processamento da linha de comando, mas mantém o ``-`` (anexa-o a " +"``parser.largs``)" -#: ../../library/optparse.rst:1819 +#: ../../library/optparse.rst:1822 msgid "" "If you want an option that takes a variable number of arguments, there are " "several subtle, tricky issues to worry about. The exact implementation you " @@ -2213,49 +2979,67 @@ msgid "" "application (which is why :mod:`optparse` doesn't support this sort of thing " "directly)." msgstr "" +"Se você quiser uma opção que aceite um número variável de argumentos, há " +"várias questões sutis e complicadas com as quais se preocupar. A " +"implementação exata que você escolher será baseada em quais compensações " +"você está disposto a fazer para sua aplicação (é por isso " +"que :mod:`optparse` não oferece suporte a esse tipo de coisa diretamente)." -#: ../../library/optparse.rst:1825 +#: ../../library/optparse.rst:1828 msgid "" "Nevertheless, here's a stab at a callback for an option with variable " "arguments::" msgstr "" +"No entanto, aqui vai uma tentativa de função de retorno para uma opção com " +"argumentos variáveis:" -#: ../../library/optparse.rst:1859 +#: ../../library/optparse.rst:1862 msgid "Extending :mod:`optparse`" -msgstr "" +msgstr "Estendendo :mod:`optparse`" -#: ../../library/optparse.rst:1861 +#: ../../library/optparse.rst:1864 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 "" +"Como os dois principais fatores de controle sobre como :mod:`optparse` " +"interpreta as opções de linha de comando são a ação e o tipo de cada opção, " +"a direção mais provável de extensão é adicionar novas ações e novos tipos." -#: ../../library/optparse.rst:1869 +#: ../../library/optparse.rst:1872 msgid "Adding new types" -msgstr "" +msgstr "Adicionando novos tipos" -#: ../../library/optparse.rst:1871 +#: ../../library/optparse.rst:1874 msgid "" -"To add new types, you need to define your own subclass of :mod:`optparse`'s :" -"class:`Option` class. This class has a couple of attributes that define :" -"mod:`optparse`'s types: :attr:`~Option.TYPES` and :attr:`~Option." -"TYPE_CHECKER`." +"To add new types, you need to define your own subclass " +"of :mod:`optparse`'s :class:`Option` class. This class has a couple of " +"attributes that define :mod:`optparse`'s types: :attr:`~Option.TYPES` " +"and :attr:`~Option.TYPE_CHECKER`." msgstr "" +"Para adicionar novos tipos, você precisa definir sua própria subclasse da " +"classe :class:`Option` de :mod:`optparse`. Esta classe tem alguns atributos " +"que definem os tipos de :mod:`optparse`: :attr:`~Option.TYPES` " +"e :attr:`~Option.TYPE_CHECKER`." -#: ../../library/optparse.rst:1877 +#: ../../library/optparse.rst:1880 msgid "" -"A tuple of type names; in your subclass, simply define a new tuple :attr:" -"`TYPES` that builds on the standard one." +"A tuple of type names; in your subclass, simply define a new " +"tuple :attr:`TYPES` that builds on the standard one." msgstr "" +"Uma tupla de nomes de tipos; na sua subclasse, basta definir uma nova " +"tupla :attr:`TYPES` que se baseia na tupla padrão." -#: ../../library/optparse.rst:1882 +#: ../../library/optparse.rst:1885 msgid "" "A dictionary mapping type names to type-checking functions. A type-checking " "function has the following signature::" msgstr "" +"Um dicionário que mapeia nomes de tipos para funções de verificação de " +"tipos. Uma função de verificação de tipos tem a seguinte assinatura::" -#: ../../library/optparse.rst:1887 +#: ../../library/optparse.rst:1890 msgid "" "where ``option`` is an :class:`Option` instance, ``opt`` is an option string " "(e.g., ``-f``), and ``value`` is the string from the command line that must " @@ -2265,8 +3049,15 @@ msgid "" "by :meth:`OptionParser.parse_args`, or be passed to a callback as the " "``value`` parameter." msgstr "" +"sendo ``option`` uma instância :class:`Option`, ``opt`` é uma string de " +"opção (por exemplo, ``-f``), e ``value`` é a string da linha de comando que " +"deve ser verificada e convertida para o tipo desejado. ``check_mytype()`` " +"deve retornar um objeto do tipo hipotético ``mytype``. O valor retornado por " +"uma função de verificação de tipo acabará na instância OptionValues " +"retornada por :meth:`OptionParser.parse_args`, ou será passado para uma " +"função de retorno como o parâmetro ``value``." -#: ../../library/optparse.rst:1895 +#: ../../library/optparse.rst:1898 msgid "" "Your type-checking function should raise :exc:`OptionValueError` if it " "encounters any problems. :exc:`OptionValueError` takes a single string " @@ -2274,125 +3065,171 @@ msgid "" "method, which in turn prepends the program name and the string ``\"error:" "\"`` and prints everything to stderr before terminating the process." msgstr "" +"Sua função de verificação de tipo deve levantar :exc:`OptionValueError` se " +"encontrar algum problema. :exc:`OptionValueError` recebe um único argumento " +"de string, que é passado como está para o método :meth:`error` " +"do :class:`OptionParser`, que por sua vez adiciona o nome do programa e a " +"string ``\"error:\"`` e exibe tudo no stderr antes de encerrar o processo." -#: ../../library/optparse.rst:1901 +#: ../../library/optparse.rst:1904 msgid "" "Here's a silly example that demonstrates adding a ``\"complex\"`` option " "type to parse Python-style complex numbers on the command line. (This is " "even sillier than it used to be, because :mod:`optparse` 1.3 added built-in " "support for complex numbers, but never mind.)" msgstr "" +"Aqui está um exemplo bobo que demonstra a adição de um tipo de opção " +"``\"complex\"`` para analisar números complexos no estilo Python na linha de " +"comando. (Isso é ainda mais bobo do que costumava ser, " +"porque :mod:`optparse` 1.3 adicionou suporte embutido para números " +"complexos, mas não importa.)" -#: ../../library/optparse.rst:1906 +#: ../../library/optparse.rst:1909 msgid "First, the necessary imports::" -msgstr "" +msgstr "Primeiro, as importações necessárias::" -#: ../../library/optparse.rst:1911 +#: ../../library/optparse.rst:1914 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 "" +"Você precisa definir seu verificador de tipo primeiro, pois ele será " +"referenciado mais tarde (no atributo de classe :attr:`~Option.TYPE_CHECKER` " +"da sua subclasse de Option)::" -#: ../../library/optparse.rst:1921 +#: ../../library/optparse.rst:1924 msgid "Finally, the Option subclass::" -msgstr "" +msgstr "Finalmente, a subclasse de Option::" -#: ../../library/optparse.rst:1928 +#: ../../library/optparse.rst:1931 msgid "" "(If we didn't make a :func:`copy` of :attr:`Option.TYPE_CHECKER`, we would " -"end up modifying the :attr:`~Option.TYPE_CHECKER` attribute of :mod:" -"`optparse`'s Option class. This being Python, nothing stops you from doing " -"that except good manners and common sense.)" +"end up modifying the :attr:`~Option.TYPE_CHECKER` attribute " +"of :mod:`optparse`'s Option class. This being Python, nothing stops you " +"from doing that except good manners and common sense.)" msgstr "" +"(Se não fizéssemos uma :func:`copy` de :attr:`Option.TYPE_CHECKER`, " +"acabaríamos modificando o atributo :attr:`~Option.TYPE_CHECKER` da classe " +"Option de :mod:`optparse`. Sendo Python, nada impede você de fazer isso, " +"exceto boas maneiras e bom senso.)" -#: ../../library/optparse.rst:1933 +#: ../../library/optparse.rst:1936 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 "" +"Pronto! Agora você pode escrever um script que usa o novo tipo de opção como " +"qualquer outro script baseado em :mod:`optparse`, exceto que você tem que " +"instruir seu OptionParser a usar MyOption em vez de Option::" -#: ../../library/optparse.rst:1940 +#: ../../library/optparse.rst:1943 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 "" +"Como alternativa, você pode criar sua própria lista de opções e passá-la " +"para o OptionParser; se você não usar :meth:`add_option` da maneira acima, " +"não precisa informar ao OptionParser qual classe de opção usar::" -#: ../../library/optparse.rst:1951 +#: ../../library/optparse.rst:1954 msgid "Adding new actions" -msgstr "" +msgstr "Adicionando novas ações" -#: ../../library/optparse.rst:1953 +#: ../../library/optparse.rst:1956 msgid "" -"Adding new actions is a bit trickier, because you have to understand that :" -"mod:`optparse` has a couple of classifications for actions:" +"Adding new actions is a bit trickier, because you have to understand " +"that :mod:`optparse` has a couple of classifications for actions:" msgstr "" +"A adição de novas ações é um pouco mais complicado, porque você precisa " +"entender que :mod:`optparse` tem algumas classificações para ações:" -#: ../../library/optparse.rst:1959 +#: ../../library/optparse.rst:1962 msgid "\"store\" actions" -msgstr "" +msgstr "Ações \"store\"" -#: ../../library/optparse.rst:1957 +#: ../../library/optparse.rst:1960 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." +"the current OptionValues instance; these options require " +"a :attr:`~Option.dest` attribute to be supplied to the Option constructor." msgstr "" +"ações que resultam em :mod:`optparse` armazenando um valor em um atributo da " +"instância OptionValues atual; essas opções exigem que um " +"atributo :attr:`~Option.dest` seja fornecido ao construtor Option." -#: ../../library/optparse.rst:1965 +#: ../../library/optparse.rst:1968 msgid "\"typed\" actions" -msgstr "" +msgstr "Ações \"typed\"" -#: ../../library/optparse.rst:1962 +#: ../../library/optparse.rst:1965 msgid "" "actions that take a value from the command line and expect it to be of a " "certain type; or rather, a string that can be converted to a certain type. " "These options require a :attr:`~Option.type` attribute to the Option " "constructor." msgstr "" +"Ações que pegam um valor da linha de comando e esperam que ele seja de um " +"certo tipo; ou melhor, uma string que pode ser convertida para um certo " +"tipo. Essas opções requerem um atributo :attr:`~Option.type` para o " +"construtor Option." -#: ../../library/optparse.rst:1967 +#: ../../library/optparse.rst:1970 msgid "" "These are overlapping sets: some default \"store\" actions are " "``\"store\"``, ``\"store_const\"``, ``\"append\"``, and ``\"count\"``, while " "the default \"typed\" actions are ``\"store\"``, ``\"append\"``, and " "``\"callback\"``." msgstr "" +"Esses são conjuntos sobrepostos: algumas ações \"store\" padrão são " +"``\"store\"``, ``\"store_const\"``, ``\"append\"`` e ``\"count\"``, enquanto " +"as ações \"typed\" padrão são ``\"store\"``, ``\"append\"`` e " +"``\"callback\"``." -#: ../../library/optparse.rst:1971 +#: ../../library/optparse.rst:1974 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 "" +"Ao adicionar uma ação, você precisa categorizá-la listando-a em pelo menos " +"um dos seguintes atributos de classe de Option (todos são listas de strings):" -#: ../../library/optparse.rst:1976 +#: ../../library/optparse.rst:1979 msgid "All actions must be listed in ACTIONS." -msgstr "" +msgstr "Todas as ações devem ser listadas em ACTIONS." -#: ../../library/optparse.rst:1980 +#: ../../library/optparse.rst:1983 msgid "\"store\" actions are additionally listed here." -msgstr "" +msgstr "As ações \"store\" também são listadas aqui." -#: ../../library/optparse.rst:1984 +#: ../../library/optparse.rst:1987 msgid "\"typed\" actions are additionally listed here." -msgstr "" +msgstr "As ações \"typed\" também são listadas aqui." -#: ../../library/optparse.rst:1988 +#: ../../library/optparse.rst:1991 msgid "" "Actions that always take a type (i.e. whose options always take a value) are " "additionally listed here. The only effect of this is that :mod:`optparse` " "assigns the default type, ``\"string\"``, to options with no explicit type " "whose action is listed in :attr:`ALWAYS_TYPED_ACTIONS`." msgstr "" +"Ações que sempre assumem um tipo (ou seja, cujas opções sempre assumem um " +"valor) são listadas aqui adicionalmente. O único efeito disso é " +"que :mod:`optparse` atribui o tipo padrão, ``\"string\"``, a opções sem tipo " +"explícito cuja ação é listada em :attr:`ALWAYS_TYPED_ACTIONS`." -#: ../../library/optparse.rst:1993 +#: ../../library/optparse.rst:1996 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." +"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 "" +"Para realmente implementar sua nova ação, você deve substituir o " +"método :meth:`take_action` de Option e adicionar um caso que reconheça sua " +"ação." -#: ../../library/optparse.rst:1996 +#: ../../library/optparse.rst:1999 msgid "" "For example, let's add an ``\"extend\"`` action. This is similar to the " "standard ``\"append\"`` action, but instead of taking a single value from " @@ -2401,48 +3238,67 @@ msgid "" "existing list with them. That is, if ``--names`` is an ``\"extend\"`` " "option of type ``\"string\"``, the command line ::" msgstr "" +"Por exemplo, vamos adicionar uma ação ``\"extend\"``. Isso é semelhante à " +"ação padrão ``\"append\"``, mas em vez de pegar um único valor da linha de " +"comando e anexá-lo a uma lista existente, ``\"extend\"`` pegará vários " +"valores em uma única string delimitada por vírgulas e estenderá uma lista " +"existente com eles. Ou seja, se ``--names`` for uma opção ``\"extend\"`` do " +"tipo ``\"string\"``, a linha de comando ::" -#: ../../library/optparse.rst:2005 +#: ../../library/optparse.rst:2008 msgid "would result in a list ::" -msgstr "" +msgstr "resultaria em uma lista ::" -#: ../../library/optparse.rst:2009 +#: ../../library/optparse.rst:2012 msgid "Again we define a subclass of Option::" -msgstr "" +msgstr "Novamente, nós definimos uma subclasse de Option::" -#: ../../library/optparse.rst:2026 +#: ../../library/optparse.rst:2029 msgid "Features of note:" -msgstr "" +msgstr "Características de nota:" -#: ../../library/optparse.rst:2028 +#: ../../library/optparse.rst:2031 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`." +"value somewhere, so it goes in both :attr:`~Option.STORE_ACTIONS` " +"and :attr:`~Option.TYPED_ACTIONS`." msgstr "" +"``\"extend\"`` espera um valor na linha de comando e armazena esse valor em " +"algum lugar, então ele vai em :attr:`~Option.STORE_ACTIONS` " +"e :attr:`~Option.TYPED_ACTIONS`." -#: ../../library/optparse.rst:2032 +#: ../../library/optparse.rst:2035 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." +"``\"extend\"`` actions, we put the ``\"extend\"`` action " +"in :attr:`~Option.ALWAYS_TYPED_ACTIONS` as well." msgstr "" +"para garantir que :mod:`optparse` atribua o tipo padrão de ``\"string\"`` às " +"ações ``\"extend\"``, colocamos a ação ``\"extend\"`` " +"em :attr:`~Option.ALWAYS_TYPED_ACTIONS` também." -#: ../../library/optparse.rst:2036 +#: ../../library/optparse.rst:2039 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` implementa apenas esta nova ação e passa o " +"controle de volta para :meth:`Option.take_action` para as ações " +"padrão :mod:`optparse`." -#: ../../library/optparse.rst:2040 +#: ../../library/optparse.rst:2043 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`` é uma instância da classe optparse_parser.Values, que fornece o " +"método muito útil :meth:`ensure_value`. :meth:`ensure_value` é " +"essencialmente :func:`getattr` com uma válvula de segurança; é chamado " +"como ::" -#: ../../library/optparse.rst:2046 +#: ../../library/optparse.rst:2049 msgid "" "If the ``attr`` attribute of ``values`` doesn't exist or is ``None``, then " "ensure_value() first sets it to ``value``, and then returns 'value. This is " @@ -2451,32 +3307,37 @@ msgid "" "variable to be of a certain type (a list for the first two, an integer for " "the latter). Using :meth:`ensure_value` means that scripts using your " "action don't have to worry about setting a default value for the option " -"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." +"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 "" -#: ../../library/optparse.rst:2057 +#: ../../library/optparse.rst:2060 msgid "Exceptions" msgstr "Exceções" -#: ../../library/optparse.rst:2061 +#: ../../library/optparse.rst:2064 msgid "" "Raised if an :class:`Option` instance is created with invalid or " "inconsistent arguments." msgstr "" +"Levantada se uma instância de :class:`Option` for criada com argumentos " +"inválidos ou inconsistentes." -#: ../../library/optparse.rst:2066 +#: ../../library/optparse.rst:2069 msgid "Raised if conflicting options are added to an :class:`OptionParser`." msgstr "" +"Levantada se opções conflitantes forem adicionadas a um instância " +"de :class:`OptionParser`." -#: ../../library/optparse.rst:2070 +#: ../../library/optparse.rst:2073 msgid "Raised if an invalid option value is encountered on the command line." msgstr "" +"Levantada se um valor de opção inválido for encontrado na linha de comando." -#: ../../library/optparse.rst:2074 +#: ../../library/optparse.rst:2077 msgid "Raised if an invalid option is passed on the command line." -msgstr "" +msgstr "Levantada se uma opção inválida for passada na linha de comando." -#: ../../library/optparse.rst:2078 +#: ../../library/optparse.rst:2081 msgid "Raised if an ambiguous option is passed on the command line." -msgstr "" +msgstr "Levantada se uma opção ambígua for passada na linha de comando." diff --git a/library/os.path.po b/library/os.path.po index 655c85eaa..d20b62132 100644 --- a/library/os.path.po +++ b/library/os.path.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Sheila Gomes , 2021 -# Marcos Wenneton Araújo , 2021 -# Gutierri Barboza , 2023 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -49,8 +45,8 @@ msgstr "" "Este módulo implementa algumas funções úteis em nomes de caminho. Para ler " "ou escrever arquivos veja :func:`open`, e para acessar o sistema de arquivos " "veja o módulo :mod:`os`. Os parâmetros de caminho podem ser passados como " -"strings, ou bytes, ou qualquer objeto que implemente o protocolo :class:`os." -"PathLike`." +"strings, ou bytes, ou qualquer objeto que implemente o " +"protocolo :class:`os.PathLike`." #: ../../library/os.path.rst:19 msgid "" @@ -81,12 +77,12 @@ msgstr "" #: ../../library/os.path.rst:37 msgid "" "Since different operating systems have different path name conventions, " -"there are several versions of this module in the standard library. The :mod:" -"`os.path` module is always the path module suitable for the operating system " -"Python is running on, and therefore usable for local paths. However, you " -"can also import and use the individual modules if you want to manipulate a " -"path that is *always* in one of the different formats. They all have the " -"same interface:" +"there are several versions of this module in the standard library. " +"The :mod:`os.path` module is always the path module suitable for the " +"operating system Python is running on, and therefore usable for local " +"paths. However, you can also import and use the individual modules if you " +"want to manipulate a path that is *always* in one of the different formats. " +"They all have the same interface:" msgstr "" "Uma vez que diferentes sistemas operacionais têm diferentes convenções de " "nome de caminho, existem várias versões deste módulo na biblioteca padrão. O " @@ -106,15 +102,14 @@ msgstr ":mod:`ntpath` para caminhos do Windows" #: ../../library/os.path.rst:51 msgid "" -":func:`exists`, :func:`lexists`, :func:`isdir`, :func:`isfile`, :func:" -"`islink`, and :func:`ismount` now return ``False`` instead of raising an " -"exception for paths that contain characters or bytes unrepresentable at the " -"OS level." +":func:`exists`, :func:`lexists`, :func:`isdir`, :func:`isfile`, :func:`islink`, " +"and :func:`ismount` now return ``False`` instead of raising an exception for " +"paths that contain characters or bytes unrepresentable at the OS level." msgstr "" -":func:`exists`, :func:`lexists`, :func:`isdir`, :func:`isfile`, :func:" -"`islink` e :func:`ismount` agora retornam ``False`` em vez de levantar uma " -"exceção para caminhos que contêm caracteres ou bytes não representáveis no " -"nível de sistema de operacional." +":func:`exists`, :func:`lexists`, :func:`isdir`, :func:`isfile`, :func:`islink` " +"e :func:`ismount` agora retornam ``False`` em vez de levantar uma exceção " +"para caminhos que contêm caracteres ou bytes não representáveis no nível de " +"sistema de operacional." #: ../../library/os.path.rst:59 msgid "" @@ -123,22 +118,23 @@ msgid "" "follows: ``normpath(join(os.getcwd(), path))``." msgstr "" "Retorna uma versão normalizada e absolutizada do nome de caminho *path*. Na " -"maioria das plataformas, isso é equivalente a chamar a função :func:" -"`normpath` da seguinte forma: ``normpath(join(os.getcwd(), path))``." +"maioria das plataformas, isso é equivalente a chamar a " +"função :func:`normpath` da seguinte forma: ``normpath(join(os.getcwd(), " +"path))``." #: ../../library/os.path.rst:63 ../../library/os.path.rst:76 -#: ../../library/os.path.rst:116 ../../library/os.path.rst:125 -#: ../../library/os.path.rst:141 ../../library/os.path.rst:151 -#: ../../library/os.path.rst:177 ../../library/os.path.rst:197 -#: ../../library/os.path.rst:214 ../../library/os.path.rst:226 -#: ../../library/os.path.rst:235 ../../library/os.path.rst:245 -#: ../../library/os.path.rst:255 ../../library/os.path.rst:265 -#: ../../library/os.path.rst:275 ../../library/os.path.rst:294 -#: ../../library/os.path.rst:325 ../../library/os.path.rst:345 -#: ../../library/os.path.rst:368 ../../library/os.path.rst:390 -#: ../../library/os.path.rst:408 ../../library/os.path.rst:421 -#: ../../library/os.path.rst:437 ../../library/os.path.rst:453 -#: ../../library/os.path.rst:478 ../../library/os.path.rst:509 +#: ../../library/os.path.rst:118 ../../library/os.path.rst:127 +#: ../../library/os.path.rst:143 ../../library/os.path.rst:153 +#: ../../library/os.path.rst:179 ../../library/os.path.rst:199 +#: ../../library/os.path.rst:216 ../../library/os.path.rst:228 +#: ../../library/os.path.rst:237 ../../library/os.path.rst:247 +#: ../../library/os.path.rst:257 ../../library/os.path.rst:267 +#: ../../library/os.path.rst:277 ../../library/os.path.rst:296 +#: ../../library/os.path.rst:327 ../../library/os.path.rst:347 +#: ../../library/os.path.rst:386 ../../library/os.path.rst:417 +#: ../../library/os.path.rst:435 ../../library/os.path.rst:448 +#: ../../library/os.path.rst:464 ../../library/os.path.rst:480 +#: ../../library/os.path.rst:505 ../../library/os.path.rst:536 msgid "Accepts a :term:`path-like object`." msgstr "Aceita um :term:`objeto caminho ou similar`." @@ -153,8 +149,8 @@ msgstr "" "Retorna o nome base do caminho *path*. Este é o segundo elemento do par " "retornado pela passagem de *path* para a função :func:`split`. Observe que o " "resultado desta função é diferente do programa Unix :program:`basename`; " -"onde :program:`basename` para ``'/foo/bar/'`` retorna ``'bar'``, a função :" -"func:`basename` retorna uma string vazia (``''``)." +"onde :program:`basename` para ``'/foo/bar/'`` retorna ``'bar'``, a " +"função :func:`basename` retorna uma string vazia (``''``)." #: ../../library/os.path.rst:82 msgid "" @@ -169,37 +165,34 @@ msgstr "" "*paths* estiverem vazios. Ao contrário de :func:`commonprefix`, retorna um " "caminho válido." -#: ../../library/os.path.rst:88 ../../library/os.path.rst:388 -#: ../../library/os.path.rst:400 ../../library/os.path.rst:416 -#: ../../library/os.path.rst:432 +#: ../../library/os.path.rst:88 ../../library/os.path.rst:415 +#: ../../library/os.path.rst:427 ../../library/os.path.rst:443 +#: ../../library/os.path.rst:459 msgid ":ref:`Availability `: Unix, Windows." msgstr ":ref:`Disponibilidade `: Unix, Windows." #: ../../library/os.path.rst:92 msgid "Accepts a sequence of :term:`path-like objects `." msgstr "" -"Aceita uma sequência de :term:`objetos caminho ou similar `." #: ../../library/os.path.rst:98 msgid "" -"Return the longest path prefix (taken character-by-character) that is a " -"prefix of all paths in *list*. If *list* is empty, return the empty string " -"(``''``)." +"Return the longest string prefix (taken character-by-character) that is a " +"prefix of all strings in *list*. If *list* is empty, return the empty " +"string (``''``)." msgstr "" -"Retorna o prefixo de caminho mais longo (obtido caractere por caractere) que " -"é um prefixo de todos os caminhos em *list*. Se *list* estiver vazia, " -"retorna a string vazia (``''``)." #: ../../library/os.path.rst:104 msgid "" "This function may return invalid paths because it works a character at a " -"time. To obtain a valid path, see :func:`commonpath`." +"time. If you need a **common path prefix**, then the algorithm implemented " +"in this function is not secure. Use :func:`commonpath` for finding a common " +"path prefix." msgstr "" -"Esta função pode retornar caminhos inválidos porque funciona um caractere " -"por vez. Para obter um caminho válido, consulte :func:`commonpath`." -#: ../../library/os.path.rst:122 +#: ../../library/os.path.rst:124 msgid "" "Return the directory name of pathname *path*. This is the first element of " "the pair returned by passing *path* to the function :func:`split`." @@ -207,7 +200,7 @@ msgstr "" "Retorna o nome do diretório do nome de caminho *path*. Este é o primeiro " "elemento do par retornado passando *path* para a função :func:`split`." -#: ../../library/os.path.rst:131 +#: ../../library/os.path.rst:133 msgid "" "Return ``True`` if *path* refers to an existing path or an open file " "descriptor. Returns ``False`` for broken symbolic links. On some " @@ -221,7 +214,7 @@ msgstr "" "for concedida para executar :func:`os.stat` no arquivo solicitado, mesmo se " "o *path* existir fisicamente." -#: ../../library/os.path.rst:137 +#: ../../library/os.path.rst:139 msgid "" "*path* can now be an integer: ``True`` is returned if it is an open file " "descriptor, ``False`` otherwise." @@ -229,17 +222,17 @@ msgstr "" "*path* agora pode ser um inteiro: ``True`` é retornado se for um descritor " "de arquivo aberto, ``False`` caso contrário." -#: ../../library/os.path.rst:147 +#: ../../library/os.path.rst:149 msgid "" "Return ``True`` if *path* refers to an existing path. Returns ``True`` for " -"broken symbolic links. Equivalent to :func:`exists` on platforms lacking :" -"func:`os.lstat`." +"broken symbolic links. Equivalent to :func:`exists` on platforms " +"lacking :func:`os.lstat`." msgstr "" "Retorna ``True`` se *path* se referir a um caminho existente. Retorna " "``True`` para links simbólicos quebrados. Equivalente a :func:`exists` em " "plataformas sem :func:`os.lstat`." -#: ../../library/os.path.rst:159 +#: ../../library/os.path.rst:161 msgid "" "On Unix and Windows, return the argument with an initial component of ``~`` " "or ``~user`` replaced by that *user*'s home directory." @@ -247,19 +240,21 @@ msgstr "" "No Unix e no Windows, retorna o argumento com um componente inicial de ``~`` " "ou ``~user`` substituído pelo diretório inicial daquele usuário *user*." -#: ../../library/os.path.rst:164 +#: ../../library/os.path.rst:166 msgid "" -"On Unix, an initial ``~`` is replaced by the environment variable :envvar:" -"`HOME` if it is set; otherwise the current user's home directory is looked " -"up in the password directory through the built-in module :mod:`pwd`. An " -"initial ``~user`` is looked up directly in the password directory." +"On Unix, an initial ``~`` is replaced by the environment " +"variable :envvar:`HOME` if it is set; otherwise the current user's home " +"directory is looked up in the password directory through the built-in " +"module :mod:`pwd`. An initial ``~user`` is looked up directly in the " +"password directory." msgstr "" -"No Unix, um ``~`` no início é substituído pela variável de ambiente :envvar:" -"`HOME` se estiver definida; caso contrário, o diretório pessoal do usuário " -"atual é procurado no diretório de senha através do módulo embutido :mod:" -"`pwd`. Um ``~user`` no início é procurado diretamente no diretório de senhas." +"No Unix, um ``~`` no início é substituído pela variável de " +"ambiente :envvar:`HOME` se estiver definida; caso contrário, o diretório " +"pessoal do usuário atual é procurado no diretório de senha através do módulo " +"embutido :mod:`pwd`. Um ``~user`` no início é procurado diretamente no " +"diretório de senhas." -#: ../../library/os.path.rst:169 +#: ../../library/os.path.rst:171 msgid "" "On Windows, :envvar:`USERPROFILE` will be used if set, otherwise a " "combination of :envvar:`HOMEPATH` and :envvar:`HOMEDRIVE` will be used. An " @@ -273,7 +268,7 @@ msgstr "" "home do usuário atual corresponde a :envvar:`USERNAME`, e substituindo-o se " "for o caso." -#: ../../library/os.path.rst:174 +#: ../../library/os.path.rst:176 msgid "" "If the expansion fails or if the path does not begin with a tilde, the path " "is returned unchanged." @@ -281,11 +276,11 @@ msgstr "" "Se a expansão falhar ou se o caminho não começar com um til, o caminho será " "retornado inalterado." -#: ../../library/os.path.rst:180 +#: ../../library/os.path.rst:182 msgid "No longer uses :envvar:`HOME` on Windows." msgstr "Não usa mais :envvar:`HOME` no Windows." -#: ../../library/os.path.rst:189 +#: ../../library/os.path.rst:191 msgid "" "Return the argument with environment variables expanded. Substrings of the " "form ``$name`` or ``${name}`` are replaced by the value of environment " @@ -297,27 +292,27 @@ msgstr "" "ambiente *name*. Nomes de variáveis malformados e referências a variáveis " "não existentes permanecem inalterados." -#: ../../library/os.path.rst:194 +#: ../../library/os.path.rst:196 msgid "" "On Windows, ``%name%`` expansions are supported in addition to ``$name`` and " "``${name}``." msgstr "" -"No Windows, expansões ``%name%`` são suportadas juntamente a ``$name`` e " -"``${name}``." +"No Windows, expansões ``%name%`` são suportadas juntamente a ``$name`` e ``$" +"{name}``." -#: ../../library/os.path.rst:203 +#: ../../library/os.path.rst:205 msgid "" "Return the time of last access of *path*. The return value is a floating " -"point number giving the number of seconds since the epoch (see the :mod:" -"`time` module). Raise :exc:`OSError` if the file does not exist or is " -"inaccessible." +"point number giving the number of seconds since the epoch (see " +"the :mod:`time` module). Raise :exc:`OSError` if the file does not exist " +"or is inaccessible." msgstr "" "Retorna a hora do último acesso de *path*. O valor de retorno é um número de " -"ponto flutuante dando o número de segundos desde a Era Unix (veja o módulo :" -"mod:`time`). Levanta :exc:`OSError` se o arquivo não existe ou está " +"ponto flutuante dando o número de segundos desde a Era Unix (veja o " +"módulo :mod:`time`). Levanta :exc:`OSError` se o arquivo não existe ou está " "inacessível." -#: ../../library/os.path.rst:210 +#: ../../library/os.path.rst:212 msgid "" "Return the time of last modification of *path*. The return value is a " "floating point number giving the number of seconds since the epoch (see " @@ -329,7 +324,7 @@ msgstr "" "o módulo :mod:`time`). Levanta :exc:`OSError` se o arquivo não existe ou " "está inacessível." -#: ../../library/os.path.rst:220 +#: ../../library/os.path.rst:222 msgid "" "Return the system's ctime which, on some systems (like Unix) is the time of " "the last metadata change, and, on others (like Windows), is the creation " @@ -340,10 +335,10 @@ msgstr "" "Retorna o ctime do sistema que, em alguns sistemas (como Unix) é a hora da " "última alteração de metadados, e, em outros (como Windows), é a hora de " "criação de *path*. O valor de retorno é um número que fornece o número de " -"segundos desde a Era Unix (veja o módulo :mod:`time`). Levanta :exc:" -"`OSError` se o arquivo não existe ou está inacessível." +"segundos desde a Era Unix (veja o módulo :mod:`time`). " +"Levanta :exc:`OSError` se o arquivo não existe ou está inacessível." -#: ../../library/os.path.rst:232 +#: ../../library/os.path.rst:234 msgid "" "Return the size, in bytes, of *path*. Raise :exc:`OSError` if the file does " "not exist or is inaccessible." @@ -351,7 +346,7 @@ msgstr "" "Retorna o tamanho, em bytes, de *path*. Levanta :exc:`OSError` se o arquivo " "não existe ou está inacessível." -#: ../../library/os.path.rst:241 +#: ../../library/os.path.rst:243 msgid "" "Return ``True`` if *path* is an absolute pathname. On Unix, that means it " "begins with a slash, on Windows that it begins with a (back)slash after " @@ -361,17 +356,17 @@ msgstr "" "significa que começa com uma barra, no Windows começa com uma barra " "(invertida) depois de eliminar uma possível letra de unidade." -#: ../../library/os.path.rst:251 +#: ../../library/os.path.rst:253 msgid "" "Return ``True`` if *path* is an :func:`existing ` regular file. This " "follows symbolic links, so both :func:`islink` and :func:`isfile` can be " "true for the same path." msgstr "" "Retorna ``True`` se *path* for um arquivo regular :func:`existente " -"`. Isso segue links simbólicos, então :func:`islink` e :func:" -"`isfile` podem ser verdadeiros para o mesmo caminho." +"`. Isso segue links simbólicos, então :func:`islink` " +"e :func:`isfile` podem ser verdadeiros para o mesmo caminho." -#: ../../library/os.path.rst:261 +#: ../../library/os.path.rst:263 msgid "" "Return ``True`` if *path* is an :func:`existing ` directory. This " "follows symbolic links, so both :func:`islink` and :func:`isdir` can be true " @@ -381,17 +376,18 @@ msgstr "" "segue links simbólicos, então :func:`islink` e :func:`isdir` podem ser " "verdadeiros para o mesmo caminho." -#: ../../library/os.path.rst:271 +#: ../../library/os.path.rst:273 msgid "" "Return ``True`` if *path* refers to an :func:`existing ` directory " "entry that is a symbolic link. Always ``False`` if symbolic links are not " "supported by the Python runtime." msgstr "" -"Retorna ``True`` se *path* se referir a uma entrada de diretório :func:" -"`existente ` que é um link simbólico. Sempre ``False`` se links " -"simbólicos não forem suportados pelo tempo de execução Python." +"Retorna ``True`` se *path* se referir a uma entrada de " +"diretório :func:`existente ` que é um link simbólico. Sempre " +"``False`` se links simbólicos não forem suportados pelo tempo de execução " +"Python." -#: ../../library/os.path.rst:281 +#: ../../library/os.path.rst:283 msgid "" "Return ``True`` if pathname *path* is a :dfn:`mount point`: a point in a " "file system where a different file system has been mounted. On POSIX, the " @@ -405,21 +401,21 @@ msgid "" msgstr "" "Retorna ``True`` se o nome de caminho *path* for um :dfn:`ponto de " "montagem`: um ponto em um sistema de arquivos onde um sistema de arquivos " -"diferente foi montado. No POSIX, a função verifica se o pai de *path*, :file:" -"`{path}/..`, está em um dispositivo diferente de *path*, ou se :file:" -"`{path}/..` e *path* apontam para o mesmo nó-i no mesmo dispositivo -- isso " -"deve detectar pontos de montagem para todas as variantes Unix e POSIX. Não é " -"capaz de detectar confiavelmente montagens bind no mesmo sistema de " -"arquivos. No Windows, uma raiz de letra de unidade e um UNC de " +"diferente foi montado. No POSIX, a função verifica se o pai de " +"*path*, :file:`{path}/..`, está em um dispositivo diferente de *path*, ou " +"se :file:`{path}/..` e *path* apontam para o mesmo nó-i no mesmo dispositivo " +"-- isso deve detectar pontos de montagem para todas as variantes Unix e " +"POSIX. Não é capaz de detectar confiavelmente montagens bind no mesmo " +"sistema de arquivos. No Windows, uma raiz de letra de unidade e um UNC de " "compartilhamento são sempre pontos de montagem e, para qualquer outro " "caminho, ``GetVolumePathName`` é chamado para ver se é diferente do caminho " "de entrada." -#: ../../library/os.path.rst:291 +#: ../../library/os.path.rst:293 msgid "Support for detecting non-root mount points on Windows." msgstr "Suporte para detecção de pontos de montagem não raiz no Windows." -#: ../../library/os.path.rst:300 +#: ../../library/os.path.rst:302 msgid "" "Join one or more path segments intelligently. The return value is the " "concatenation of *path* and all members of *\\*paths*, with exactly one " @@ -438,28 +434,28 @@ msgstr "" "os segmentos anteriores serão ignorados e a união continuará a partir do " "segmento do caminho absoluto." -#: ../../library/os.path.rst:308 +#: ../../library/os.path.rst:310 msgid "" "On Windows, the drive is not reset when a rooted path segment (e.g., " "``r'\\foo'``) is encountered. If a segment is on a different drive or is an " "absolute path, all previous segments are ignored and the drive is reset. " -"Note that since there is a current directory for each drive, ``os.path." -"join(\"c:\", \"foo\")`` represents a path relative to the current directory " -"on drive :file:`C:` (:file:`c:foo`), not :file:`c:\\\\foo`." +"Note that since there is a current directory for each drive, " +"``os.path.join(\"c:\", \"foo\")`` represents a path relative to the current " +"directory on drive :file:`C:` (:file:`c:foo`), not :file:`c:\\\\foo`." msgstr "" "No Windows, a unidade não é redefinida quando um segmento de caminho raiz " "(por exemplo, ``r'\\foo'``) é encontrado. Se um segmento contiver uma " "unidade diferente ou um caminho absoluto, todos os segmentos anteriores " "serão ignorados e a unidade será redefinida. Observe que, como há um " "diretório atual para cada unidade, ``os.path.join(\"c:\", \"foo\")`` " -"representa um caminho relativo ao diretório atual na unidade :file:`C:` (:" -"file:`c:foo`), e não :file:`c:\\\\foo`." +"representa um caminho relativo ao diretório atual na unidade :file:`C:` " +"(:file:`c:foo`), e não :file:`c:\\\\foo`." -#: ../../library/os.path.rst:315 +#: ../../library/os.path.rst:317 msgid "Accepts a :term:`path-like object` for *path* and *paths*." msgstr "Aceita um :term:`objeto caminho ou similar` para *path* e *paths*." -#: ../../library/os.path.rst:321 +#: ../../library/os.path.rst:323 msgid "" "Normalize the case of a pathname. On Windows, convert all characters in the " "pathname to lowercase, and also convert forward slashes to backward slashes. " @@ -470,7 +466,7 @@ msgstr "" "também converte barras normais em barras invertidas. Em outros sistemas " "operacionais, retorna o caminho inalterado." -#: ../../library/os.path.rst:331 +#: ../../library/os.path.rst:333 msgid "" "Normalize a pathname by collapsing redundant separators and up-level " "references so that ``A//B``, ``A/B/``, ``A/./B`` and ``A/foo/../B`` all " @@ -485,7 +481,7 @@ msgstr "" "normais em barras invertidas. Para normalizar o estado de letras maiúsculas/" "minúsculas, use :func:`normcase`." -#: ../../library/os.path.rst:338 +#: ../../library/os.path.rst:340 msgid "" "On POSIX systems, in accordance with `IEEE Std 1003.1 2013 Edition; 4.13 " "Pathname Resolution , YEAR. # # Translators: -# Vinícius Muniz de Melo , 2021 -# 01419cbcade949a3bc5433893a160e74, 2021 -# Hildeberto Abreu Magalhães , 2021 -# Sheila Gomes , 2021 -# Italo Penaforte , 2021 -# Jayme Tosi Neto , 2021 -# Rafael Biagioni de Fazio , 2021 -# Rodrigo Neres , 2021 -# i17obot , 2021 -# Vitor Buxbaum Orlandi, 2021 -# Eduardo Farias, 2021 -# Mateus Santos, 2022 -# Adorilson Bezerra , 2023 -# Rafael Fontenelle , 2023 -# Marco Rougeth , 2023 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -52,19 +36,19 @@ msgid "" "This module provides a portable way of using operating system dependent " "functionality. If you just want to read or write a file see :func:`open`, " "if you want to manipulate paths, see the :mod:`os.path` module, and if you " -"want to read all the lines in all the files on the command line see the :mod:" -"`fileinput` module. For creating temporary files and directories see the :" -"mod:`tempfile` module, and for high-level file and directory handling see " -"the :mod:`shutil` module." +"want to read all the lines in all the files on the command line see " +"the :mod:`fileinput` module. For creating temporary files and directories " +"see the :mod:`tempfile` module, and for high-level file and directory " +"handling see the :mod:`shutil` module." msgstr "" "Este módulo fornece uma maneira simples de usar funcionalidades que são " "dependentes de sistema operacional. Se você quiser ler ou escrever um " "arquivo, veja :func:`open`; se o que quer é manipular estruturas de " "diretórios, veja o módulo :mod:`os.path`; e se quiser ler todas as linhas, " -"de todos os arquivos, na linha de comando, veja o módulo :mod:`fileinput`. " +"de todos os arquivos na linha de comando, veja o módulo :mod:`fileinput`. " "Para criar arquivos e diretórios temporários, veja o módulo :mod:`tempfile`; " -"e, para manipulação em alto nível de arquivos e diretórios, veja o módulo :" -"mod:`shutil`." +"e, para manipulação em alto nível de arquivos e diretórios, veja o " +"módulo :mod:`shutil`." #: ../../library/os.rst:19 msgid "Notes on the availability of these functions:" @@ -114,17 +98,18 @@ msgstr "" msgid "" "On WebAssembly platforms ``wasm32-emscripten`` and ``wasm32-wasi``, large " "parts of the :mod:`os` module are not available or behave differently. API " -"related to processes (e.g. :func:`~os.fork`, :func:`~os.execve`), signals (e." -"g. :func:`~os.kill`, :func:`~os.wait`), and resources (e.g. :func:`~os." -"nice`) are not available. Others like :func:`~os.getuid` and :func:`~os." -"getpid` are emulated or stubs." +"related to processes (e.g. :func:`~os.fork`, :func:`~os.execve`), signals " +"(e.g. :func:`~os.kill`, :func:`~os.wait`), and resources " +"(e.g. :func:`~os.nice`) are not available. Others like :func:`~os.getuid` " +"and :func:`~os.getpid` are emulated or stubs." msgstr "" "Nas plataformas WebAssembly ``wasm32-emscripten`` e ``wasm32-wasi``, grandes " "partes do módulo :mod:`os` não estão disponíveis ou se comportam de maneira " -"diferente. API relacionada aos processos (p. ex., :func:`~os.fork`, :func:" -"`~os.execve`), sinais (p. ex., :func:`~os.kill`, :func:`~os.wait`) e " -"recursos (p. ex., :func:`~os.nice`) não estão disponíveis. Outros como :" -"func:`~os.getuid` e :func:`~os.getpid` são emulados ou são stubs." +"diferente. API relacionada aos processos (p. " +"ex., :func:`~os.fork`, :func:`~os.execve`), sinais (p. " +"ex., :func:`~os.kill`, :func:`~os.wait`) e recursos (p. " +"ex., :func:`~os.nice`) não estão disponíveis. Outros " +"como :func:`~os.getuid` e :func:`~os.getpid` são emulados ou simulados." #: ../../library/os.rst:47 msgid "" @@ -132,8 +117,8 @@ msgid "" "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 "" -"Todas as funções neste módulo trazem :exc:`OSError` (ou suas subclasses) no " -"caso de nomes e caminhos de arquivos inválidos ou inacessíveis, ou outros " +"Todas as funções neste módulo levantam :exc:`OSError` (ou suas subclasses) " +"no caso de nomes e caminhos de arquivos inválidos ou inacessíveis, ou outros " "argumentos que possuem o tipo correto, mas não são aceitos pelo sistema " "operacional." @@ -151,11 +136,11 @@ msgstr "" #: ../../library/os.rst:63 msgid "" -":attr:`sys.platform` has a finer granularity. :func:`os.uname` gives system-" +":data:`sys.platform` has a finer granularity. :func:`os.uname` gives system-" "dependent version information." msgstr "" -":attr:`sys.platform` tem uma granularidade mais fina. :func:`os.uname` " -"fornece informação dependentes de versão do sistema." +":data:`sys.platform` tem uma granularidade mais fina. :func:`os.uname` " +"fornece informações de versão específicas do sistema." #: ../../library/os.rst:66 msgid "" @@ -182,33 +167,33 @@ msgstr "" "ambiente são representadas usando o tipo string. Em alguns sistemas, " "decodificar essas strings de e para bytes é necessário antes de passá-las " "para o sistema operacional. Python usa o :term:`tratador de erros e " -"codificação do sistema de arquivos` para realizar essa conversão (veja :func:" -"`sys.getfilesystemencoding`)." +"codificação do sistema de arquivos` para realizar essa conversão " +"(veja :func:`sys.getfilesystemencoding`)." #: ../../library/os.rst:82 msgid "" "The :term:`filesystem encoding and error handler` are configured at Python " -"startup by the :c:func:`PyConfig_Read` function: see :c:member:`~PyConfig." -"filesystem_encoding` and :c:member:`~PyConfig.filesystem_errors` members of :" -"c:type:`PyConfig`." +"startup by the :c:func:`PyConfig_Read` function: " +"see :c:member:`~PyConfig.filesystem_encoding` " +"and :c:member:`~PyConfig.filesystem_errors` members of :c:type:`PyConfig`." msgstr "" "O :term:`tratador de erros e codificação do sistema de arquivos` são " "configurados na inicialização do Python pela função :c:func:`PyConfig_Read`: " -"veja os membros :c:member:`~PyConfig.filesystem_encoding` e :c:member:" -"`~PyConfig.filesystem_errors` do :c:type:`PyConfig`." +"veja os membros :c:member:`~PyConfig.filesystem_encoding` " +"e :c:member:`~PyConfig.filesystem_errors` do :c:type:`PyConfig`." #: ../../library/os.rst:87 msgid "" "On some systems, conversion using the file system encoding may fail. In this " "case, Python uses the :ref:`surrogateescape encoding error handler " "`, which means that undecodable bytes are replaced by a " -"Unicode character U+DCxx on decoding, and these are again translated to the " -"original byte on encoding." +"Unicode character U+DC\\ *xx* on decoding, and these are again translated to " +"the original byte on encoding." msgstr "" "Em alguns sistemas a conversão, usando a codificação do sistema de arquivos, " "pode falhar. Neste caso, Python usa o :ref:`manipulador de erro de " "codificação surrogateescape `, o que significa que bytes " -"não decodificados são substituídos por um caractere Unicode U+DCxx na " +"não decodificados são substituídos por um caractere Unicode U+DC\\ *xx* na " "decodificação, e estes são novamente traduzidos para o byte original na " "codificação." @@ -216,8 +201,8 @@ msgstr "" msgid "" "The :term:`file system encoding ` " "must guarantee to successfully decode all bytes below 128. If the file " -"system encoding fails to provide this guarantee, API functions can raise :" -"exc:`UnicodeError`." +"system encoding fails to provide this guarantee, API functions can " +"raise :exc:`UnicodeError`." msgstr "" "A :term:`codificação de sistema de arquivos ` precisa garantir que todos os bytes abaixo de 128 serão " @@ -226,7 +211,7 @@ msgstr "" #: ../../library/os.rst:100 msgid "See also the :term:`locale encoding`." -msgstr "Veja também a :term:`codificação da localidade`." +msgstr "Veja também :term:`codificação da localidade`." #: ../../library/os.rst:106 msgid "Python UTF-8 Mode" @@ -273,10 +258,11 @@ msgid "" "default locale-aware mode)" msgstr "" ":data:`sys.stdin`, :data:`sys.stdout` e :data:`sys.stderr` usam UTF-8 como " -"codificação de texto, com o :ref:`tratador de erros ` " -"``surrogateescape`` sendo habilitado para :data:`sys.stdin` e :data:`sys." -"stdout` (:data:`sys.stderr` continua a usar ``backslashreplace`` como faz no " -"modo padrão com reconhecimento de localidade)" +"codificação do texto, com o :ref:`tratador de erros ` " +"``surrogateescape`` sendo habilitado para :data:`sys.stdin` " +"e :data:`sys.stdout` (:data:`sys.stderr` continua a usar " +"``backslashreplace`` como faz no modo padrão com reconhecimento de " +"localidade)" #: ../../library/os.rst:124 msgid "" @@ -288,9 +274,9 @@ msgstr "" #: ../../library/os.rst:127 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)." +"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 "" "Observe que as configurações de fluxo padrão no modo UTF-8 podem ser " "substituídas por :envvar:`PYTHONIOENCODING` (assim como podem estar no modo " @@ -337,8 +323,8 @@ msgid "" "function)." msgstr "" "O :ref:`Modo UTF-8 do Python ` está habilitado se a localidade " -"LC_CTYPE for ``C`` ou ``POSIX`` na inicialização do Python (veja a função :c:" -"func:`PyConfig_Read`)." +"LC_CTYPE for ``C`` ou ``POSIX`` na inicialização do Python (veja a " +"função :c:func:`PyConfig_Read`)." #: ../../library/os.rst:146 msgid "" @@ -375,11 +361,11 @@ msgstr "" #: ../../library/os.rst:159 msgid "" -"See also the :ref:`UTF-8 mode on Windows ` and the :term:" -"`filesystem encoding and error handler`." +"See also the :ref:`UTF-8 mode on Windows ` and " +"the :term:`filesystem encoding and error handler`." msgstr "" -"Veja também o :ref:`modo UTF-8 no Windows ` e o :term:" -"`tratador de erros e codificação do sistema de arquivos`." +"Veja também o :ref:`modo UTF-8 no Windows ` e " +"o :term:`tratador de erros e codificação do sistema de arquivos`." #: ../../library/os.rst:164 msgid ":pep:`686`" @@ -416,33 +402,33 @@ msgstr "" #: ../../library/os.rst:629 ../../library/os.rst:638 ../../library/os.rst:645 #: ../../library/os.rst:654 ../../library/os.rst:663 ../../library/os.rst:670 #: ../../library/os.rst:677 ../../library/os.rst:686 ../../library/os.rst:1051 -#: ../../library/os.rst:1195 ../../library/os.rst:1221 -#: ../../library/os.rst:1458 ../../library/os.rst:1493 -#: ../../library/os.rst:1502 ../../library/os.rst:1866 -#: ../../library/os.rst:1955 ../../library/os.rst:1995 -#: ../../library/os.rst:2212 ../../library/os.rst:2234 -#: ../../library/os.rst:3762 ../../library/os.rst:3769 -#: ../../library/os.rst:3776 ../../library/os.rst:3783 -#: ../../library/os.rst:3790 ../../library/os.rst:3797 -#: ../../library/os.rst:3804 ../../library/os.rst:3812 -#: ../../library/os.rst:3820 ../../library/os.rst:3827 -#: ../../library/os.rst:3834 ../../library/os.rst:3843 -#: ../../library/os.rst:3851 ../../library/os.rst:3859 -#: ../../library/os.rst:3866 ../../library/os.rst:3873 -#: ../../library/os.rst:3894 ../../library/os.rst:3911 -#: ../../library/os.rst:3951 ../../library/os.rst:3958 -#: ../../library/os.rst:3979 ../../library/os.rst:4106 -#: ../../library/os.rst:4155 ../../library/os.rst:4392 -#: ../../library/os.rst:4426 ../../library/os.rst:4484 -#: ../../library/os.rst:4498 ../../library/os.rst:4515 -#: ../../library/os.rst:4530 ../../library/os.rst:4541 -#: ../../library/os.rst:4553 ../../library/os.rst:4566 -#: ../../library/os.rst:4575 ../../library/os.rst:4585 -#: ../../library/os.rst:4598 ../../library/os.rst:4649 -#: ../../library/os.rst:4660 ../../library/os.rst:4672 -#: ../../library/os.rst:4679 ../../library/os.rst:4688 -#: ../../library/os.rst:4697 ../../library/os.rst:4706 -#: ../../library/os.rst:4715 +#: ../../library/os.rst:1235 ../../library/os.rst:1261 +#: ../../library/os.rst:1498 ../../library/os.rst:1518 +#: ../../library/os.rst:1527 ../../library/os.rst:1906 +#: ../../library/os.rst:1995 ../../library/os.rst:2035 +#: ../../library/os.rst:2262 ../../library/os.rst:2284 +#: ../../library/os.rst:3814 ../../library/os.rst:3821 +#: ../../library/os.rst:3828 ../../library/os.rst:3835 +#: ../../library/os.rst:3842 ../../library/os.rst:3849 +#: ../../library/os.rst:3856 ../../library/os.rst:3864 +#: ../../library/os.rst:3872 ../../library/os.rst:3879 +#: ../../library/os.rst:3886 ../../library/os.rst:3895 +#: ../../library/os.rst:3903 ../../library/os.rst:3911 +#: ../../library/os.rst:3918 ../../library/os.rst:3925 +#: ../../library/os.rst:3951 ../../library/os.rst:3973 +#: ../../library/os.rst:4013 ../../library/os.rst:4020 +#: ../../library/os.rst:4041 ../../library/os.rst:4168 +#: ../../library/os.rst:4217 ../../library/os.rst:4454 +#: ../../library/os.rst:4488 ../../library/os.rst:4549 +#: ../../library/os.rst:4563 ../../library/os.rst:4580 +#: ../../library/os.rst:4595 ../../library/os.rst:4606 +#: ../../library/os.rst:4618 ../../library/os.rst:4631 +#: ../../library/os.rst:4640 ../../library/os.rst:4650 +#: ../../library/os.rst:4663 ../../library/os.rst:4714 +#: ../../library/os.rst:4725 ../../library/os.rst:4737 +#: ../../library/os.rst:4744 ../../library/os.rst:4753 +#: ../../library/os.rst:4762 ../../library/os.rst:4771 +#: ../../library/os.rst:4780 msgid ":ref:`Availability `: Unix, not Emscripten, not WASI." msgstr ":ref:`Disponibilidade `: Unix, não Emscripten, não WASI." @@ -453,7 +439,7 @@ msgid "" "of your home directory (on some platforms), and is equivalent to " "``getenv(\"HOME\")`` in C." msgstr "" -"Um objeto :term:`mapeamento ` onde as chaves e strings que " +"Um objeto :term:`mapeamento` onde as chaves e valores são strings que " "representam o ambiente do processo. Por exemplo, ``environ['HOME']`` é o " "nome do caminho do seu diretório pessoal (em algumas plataformas), e é " "equivalente a ``getenv(\"HOME\")`` em C." @@ -462,9 +448,9 @@ msgstr "" msgid "" "This mapping is captured the first time the :mod:`os` module is imported, " "typically during Python startup as part of processing :file:`site.py`. " -"Changes to the environment made after this time are not reflected in :data:" -"`os.environ`, except for changes made by modifying :data:`os.environ` " -"directly." +"Changes to the environment made after this time are not reflected " +"in :data:`os.environ`, except for changes made by " +"modifying :data:`os.environ` directly." msgstr "" "Este mapeamento é capturado na primeira vez que o módulo :mod:`os` é " "importado, normalmente durante a inicialização do Python, como parte do " @@ -498,7 +484,7 @@ msgid "" "getting, setting, or deleting an item. For example, ``environ['monty'] = " "'python'`` maps the key ``'MONTY'`` to the value ``'python'``." msgstr "" -"No Windows, as teclas são convertidas em maiúsculas. Isso também se aplica " +"No Windows, as chaves são convertidas em maiúsculas. Isso também se aplica " "ao obter, definir ou excluir um item. Por exemplo, ``environ['monty'] = " "'python'`` mapeia a chave ``'MONTY'`` para o valor ``'python'``." @@ -513,37 +499,37 @@ msgstr "" #: ../../library/os.rst:216 msgid "" "On some platforms, including FreeBSD and macOS, setting ``environ`` may " -"cause memory leaks. Refer to the system documentation for :c:func:`putenv`." +"cause memory leaks. Refer to the system documentation for :c:func:`!putenv`." msgstr "" "Em algumas plataformas, incluindo FreeBSD e Mac OS X, a modificação de " "``environ`` pode causar vazamentos de memória. Consulte a documentação do " -"sistema para :c:func:`putenv`." +"sistema para :c:func:`!putenv`." #: ../../library/os.rst:220 msgid "" -"You can delete items in this mapping to unset environment variables. :func:" -"`unsetenv` will be called automatically when an item is deleted from :data:" -"`os.environ`, and when one of the :meth:`pop` or :meth:`clear` methods is " -"called." +"You can delete items in this mapping to unset environment " +"variables. :func:`unsetenv` will be called automatically when an item is " +"deleted from :data:`os.environ`, and when one of the :meth:`pop` " +"or :meth:`clear` methods is called." msgstr "" "Você pode excluir itens neste mapeamento para remover definição de variáveis " "de ambiente. :func:`unsetenv` será chamado automaticamente quando um item é " -"excluído de :data:`os.environ`, e quando um dos métodos :meth:`pop` ou :meth:" -"`clear` é chamado." +"excluído de :data:`os.environ`, e quando um dos métodos :meth:`pop` " +"ou :meth:`clear` é chamado." #: ../../library/os.rst:225 ../../library/os.rst:241 msgid "" "Updated to support :pep:`584`'s merge (``|``) and update (``|=``) operators." msgstr "" -"Atualizado para ter suporte os operadores de mesclagem (``|``) e de " +"Atualizado para ter suporte aos operadores de mesclagem (``|``) e de " "atualização (``|=``) da :pep:`584`." #: ../../library/os.rst:231 msgid "" "Bytes version of :data:`environ`: a :term:`mapping` object where both keys " -"and values are :class:`bytes` objects representing the process environment. :" -"data:`environ` and :data:`environb` are synchronized (modifying :data:" -"`environb` updates :data:`environ`, and vice versa)." +"and values are :class:`bytes` objects representing the process " +"environment. :data:`environ` and :data:`environb` are synchronized " +"(modifying :data:`environb` updates :data:`environ`, and vice versa)." msgstr "" "Versão bytes de :data:`environ`: um objeto de :term:`mapeamento ` " "onde as chaves e valores são objetos :class:`bytes` representando o ambiente " @@ -552,10 +538,10 @@ msgstr "" #: ../../library/os.rst:236 msgid "" -":data:`environb` is only available if :data:`supports_bytes_environ` is " +":data:`environb` is only available if :const:`supports_bytes_environ` is " "``True``." msgstr "" -":data:`environb` está disponível somente se :data:`supports_bytes_environ` " +":data:`environb` está disponível somente se :const:`supports_bytes_environ` " "for ``True``." #: ../../library/os.rst:250 @@ -564,10 +550,11 @@ msgstr "Essas funções são descritas em: :ref:`os-file-dir`." #: ../../library/os.rst:255 msgid "" -"Encode :term:`path-like ` *filename* to the :term:" -"`filesystem encoding and error handler`; return :class:`bytes` unchanged." +"Encode :term:`path-like ` *filename* to " +"the :term:`filesystem encoding and error handler`; return :class:`bytes` " +"unchanged." msgstr "" -"Codifica o :term:`objeto caminho ou similar ` *filename* " +"Codifica o *filename* :term:`caminho ou similar ` " "para :term:`tratador de erros e codificação do sistema de arquivos`; " "retorna :class:`bytes` inalterados." @@ -580,17 +567,18 @@ msgid "" "Support added to accept objects implementing the :class:`os.PathLike` " "interface." msgstr "" -"Adicionado suporte para aceitar objetos que implementam a interface :class:" -"`os.PathLike`." +"Adicionado suporte para aceitar objetos que implementam a " +"interface :class:`os.PathLike`." #: ../../library/os.rst:270 msgid "" -"Decode the :term:`path-like ` *filename* from the :term:" -"`filesystem encoding and error handler`; return :class:`str` unchanged." +"Decode the :term:`path-like ` *filename* from " +"the :term:`filesystem encoding and error handler`; return :class:`str` " +"unchanged." msgstr "" "Decodifica o :term:`objeto caminho ou similar ` *filename* " -"do :term:`tratador de erros e codificação do sistema de arquivos`; retorna :" -"class:`str` inalterada." +"do :term:`tratador de erros e codificação do sistema de arquivos`; " +"retorna :class:`str` inalterada." #: ../../library/os.rst:274 msgid ":func:`fsencode` is the reverse function." @@ -610,8 +598,8 @@ msgid "" msgstr "" "Se um objeto :class:`str` ou :class:`bytes` é passado, é retornado " "inalterado. Caso contrário, o método :meth:`~os.PathLike.__fspath__` é " -"chamado, e seu valor é retornado, desde que seja um objeto :class:`str` ou :" -"class:`bytes`. Em todos os outros casos, :exc:`TypeError` é levantada." +"chamado, e seu valor é retornado, desde que seja um objeto :class:`str` " +"ou :class:`bytes`. Em todos os outros casos, :exc:`TypeError` é levantada." #: ../../library/os.rst:297 msgid "" @@ -636,16 +624,16 @@ msgstr "" #: ../../library/os.rst:312 msgid "" "Return the value of the environment variable *key* as a string if it exists, " -"or *default* if it doesn't. *key* is a string. Note that since :func:" -"`getenv` uses :data:`os.environ`, the mapping of :func:`getenv` is similarly " -"also captured on import, and the function may not reflect future environment " -"changes." +"or *default* if it doesn't. *key* is a string. Note that " +"since :func:`getenv` uses :data:`os.environ`, the mapping of :func:`getenv` " +"is similarly also captured on import, and the function may not reflect " +"future environment changes." msgstr "" "Retorna o valor da variável de ambiente *key* como uma string se existir, ou " -"*default* se não existir. *key* é uma string. Note que já que :func:`getenv` " -"utiliza :data:`os.environ`, o mapeamento de :func:`getenv` é capturado de " -"maneira similar na importação, e a função pode não refletir futuras mudanças " -"no ambiente." +"*default* se não existir. *key* é uma string. Note que uma vez " +"que :func:`getenv` utiliza :data:`os.environ`, o mapeamento " +"de :func:`getenv` é também similarmente capturado na importação, e a função " +"pode não refletir futuras mudanças no ambiente." #: ../../library/os.rst:318 msgid "" @@ -653,57 +641,57 @@ msgid "" "and ``'surrogateescape'`` error handler. Use :func:`os.getenvb` if you would " "like to use a different encoding." msgstr "" -"No Unix, chaves e valores são decodificados com a função :func:`sys." -"getfilesystemencoding` e o o manipulador de erros ``'surrogateescape'``. " -"Use :func:`os.getenvb` se quiser usar uma codificação diferente." +"No Unix, chaves e valores são decodificados com a " +"função :func:`sys.getfilesystemencoding` e o o manipulador de erros " +"``'surrogateescape'``. Use :func:`os.getenvb` se quiser usar uma codificação " +"diferente." #: ../../library/os.rst:322 ../../library/os.rst:980 ../../library/os.rst:991 -#: ../../library/os.rst:1207 ../../library/os.rst:1642 -#: ../../library/os.rst:2039 ../../library/os.rst:2312 -#: ../../library/os.rst:3102 ../../library/os.rst:3139 -#: ../../library/os.rst:3754 ../../library/os.rst:4243 -#: ../../library/os.rst:4254 ../../library/os.rst:4371 +#: ../../library/os.rst:1247 ../../library/os.rst:1682 +#: ../../library/os.rst:2362 ../../library/os.rst:3154 +#: ../../library/os.rst:3191 ../../library/os.rst:3806 +#: ../../library/os.rst:4305 ../../library/os.rst:4316 +#: ../../library/os.rst:4433 msgid ":ref:`Availability `: Unix, Windows." msgstr ":ref:`Disponibilidade `: Unix, Windows." #: ../../library/os.rst:327 msgid "" "Return the value of the environment variable *key* as bytes if it exists, or " -"*default* if it doesn't. *key* must be bytes. Note that since :func:" -"`getenvb` uses :data:`os.environb`, the mapping of :func:`getenvb` is " -"similarly also captured on import, and the function may not reflect future " -"environment changes." +"*default* if it doesn't. *key* must be bytes. Note that " +"since :func:`getenvb` uses :data:`os.environb`, the mapping " +"of :func:`getenvb` is similarly also captured on import, and the function " +"may not reflect future environment changes." msgstr "" "Retorna o valor da variável de ambiente *key* como bytes se existir, ou " -"*default* se não existir. *key* deve ser bytes. Note que já que :func:" -"`getenvb` utiliza :data:`os.environb`, o mapeamento de :func:`getenvb` é " -"capturado de maneira similar na importação, e a função pode não refletir " -"futuras mudanças no ambiente." +"*default* se não existir. *key* deve ser bytes. Note que uma vez " +"que :func:`getenvb` utiliza :data:`os.environb`, o mapeamento " +"de :func:`getenvb` é também similarmente capturado na importação, e a função " +"pode não refletir futuras mudanças no ambiente." #: ../../library/os.rst:334 msgid "" -":func:`getenvb` is only available if :data:`supports_bytes_environ` is " +":func:`getenvb` is only available if :const:`supports_bytes_environ` is " "``True``." msgstr "" -":func:`getenvb` está disponível somente se :data:`supports_bytes_environ` " +":func:`getenvb` está disponível somente se :const:`supports_bytes_environ` " "for ``True``." #: ../../library/os.rst:337 ../../library/os.rst:376 ../../library/os.rst:522 #: ../../library/os.rst:738 ../../library/os.rst:898 ../../library/os.rst:913 #: ../../library/os.rst:924 ../../library/os.rst:947 ../../library/os.rst:968 #: ../../library/os.rst:1004 ../../library/os.rst:1028 -#: ../../library/os.rst:1040 ../../library/os.rst:1246 -#: ../../library/os.rst:1261 ../../library/os.rst:1274 -#: ../../library/os.rst:1343 ../../library/os.rst:1478 -#: ../../library/os.rst:1553 ../../library/os.rst:1580 -#: ../../library/os.rst:1615 ../../library/os.rst:1938 -#: ../../library/os.rst:1969 ../../library/os.rst:2010 -#: ../../library/os.rst:2023 ../../library/os.rst:2278 -#: ../../library/os.rst:2290 ../../library/os.rst:2968 -#: ../../library/os.rst:3125 ../../library/os.rst:3358 -#: ../../library/os.rst:4861 ../../library/os.rst:4870 -#: ../../library/os.rst:4891 ../../library/os.rst:4901 -#: ../../library/os.rst:4910 +#: ../../library/os.rst:1040 ../../library/os.rst:1286 +#: ../../library/os.rst:1301 ../../library/os.rst:1314 +#: ../../library/os.rst:1383 ../../library/os.rst:1539 +#: ../../library/os.rst:1593 ../../library/os.rst:1620 +#: ../../library/os.rst:1655 ../../library/os.rst:1978 +#: ../../library/os.rst:2009 ../../library/os.rst:2066 +#: ../../library/os.rst:2328 ../../library/os.rst:2340 +#: ../../library/os.rst:3020 ../../library/os.rst:3177 +#: ../../library/os.rst:3410 ../../library/os.rst:4928 +#: ../../library/os.rst:4937 ../../library/os.rst:4958 +#: ../../library/os.rst:4968 ../../library/os.rst:4977 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." @@ -741,8 +729,8 @@ msgid "" "The function is a stub on Emscripten and WASI, see :ref:`wasm-availability` " "for more information." msgstr "" -"A função é um stub em Emscripten e WASI, veja :ref:`wasm-availability` para " -"mais informações." +"A função é um simulação em Emscripten e WASI, veja :ref:`wasm-availability` " +"para mais informações." #: ../../library/os.rst:384 msgid "" @@ -765,52 +753,53 @@ msgstr "" #: ../../library/os.rst:402 msgid "" "On macOS, :func:`getgroups` behavior differs somewhat from other Unix " -"platforms. If the Python interpreter was built with a deployment target of :" -"const:`10.5` or earlier, :func:`getgroups` returns the list of effective " -"group ids associated with the current user process; this list is limited to " -"a system-defined number of entries, typically 16, and may be modified by " -"calls to :func:`setgroups` if suitably privileged. If built with a " -"deployment target greater than :const:`10.5`, :func:`getgroups` returns the " -"current group access list for the user associated with the effective user id " -"of the process; the group access list may change over the lifetime of the " -"process, it is not affected by calls to :func:`setgroups`, and its length is " -"not limited to 16. The deployment target value, :const:" -"`MACOSX_DEPLOYMENT_TARGET`, can be obtained with :func:`sysconfig." -"get_config_var`." +"platforms. If the Python interpreter was built with a deployment target of " +"``10.5`` or earlier, :func:`getgroups` returns the list of effective group " +"ids associated with the current user process; this list is limited to a " +"system-defined number of entries, typically 16, and may be modified by calls " +"to :func:`setgroups` if suitably privileged. If built with a deployment " +"target greater than ``10.5``, :func:`getgroups` returns the current group " +"access list for the user associated with the effective user id of the " +"process; the group access list may change over the lifetime of the process, " +"it is not affected by calls to :func:`setgroups`, and its length is not " +"limited to 16. The deployment target " +"value, :const:`MACOSX_DEPLOYMENT_TARGET`, can be obtained " +"with :func:`sysconfig.get_config_var`." msgstr "" "No Mac OS, o comportamento da função :func:`getgroups` difere um pouco de " "outras plataformas Unix. Se o interpretador Python foi compilado para " -"distribuição na versão :const:`10.5` ou anterior, :func:`getgroups` retorna " -"a lista de IDs de grupos efetivos, associados ao processo do usuário atual; " +"distribuição na versão ``10.5``, ou anterior, :func:`getgroups` retorna a " +"lista de IDs de grupos efetivos, associados ao processo do usuário atual; " "esta lista é limitada a um número de entradas definido pelo sistema, " "tipicamente 16, e pode ser modificada por chamadas para :func:`setgroups` se " "tiver o privilégio adequado. Se foi compilado para distribuição na versão " -"maior que :const:`10.5`, :func:`getgroups` retorna a lista de acesso de " -"grupo atual para o usuário associado ao ID de usuário efetivo do processo; a " -"lista de acesso de grupo pode mudar durante a vida útil do processo, e ela " -"não é afetada por chamadas para :func:`setgroups`, e seu comprimento não é " +"maior que ``10.5``, :func:`getgroups` retorna a lista de acesso de grupo " +"atual para o usuário associado ao ID de usuário efetivo do processo; a lista " +"de acesso de grupo pode mudar durante a vida útil do processo, e ela não é " +"afetada por chamadas para :func:`setgroups`, e seu comprimento não é " "limitado a 16. O valor da constante :const:`MACOSX_DEPLOYMENT_TARGET`, pode " "ser obtido com :func:`sysconfig.get_config_var`." #: ../../library/os.rst:419 msgid "" "Return the name of the user logged in on the controlling terminal of the " -"process. For most purposes, it is more useful to use :func:`getpass." -"getuser` since the latter checks the environment variables :envvar:`LOGNAME` " -"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." +"process. For most purposes, it is more useful to " +"use :func:`getpass.getuser` since the latter checks the environment " +"variables :envvar:`LOGNAME` 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 "" "Retorna o nome do usuário conectado no terminal de controle do processo. " "Para a maioria dos propósitos, é mais útil usar :func:`getpass.getuser`, já " -"que esse último verifica as variáveis de ambiente :envvar:`LOGNAME` ou :" -"envvar:`USERNAME` para descobrir quem é o usuário, e retorna para ``pwd." -"getpwuid(os.getuid())[0]`` para obter o nome de login do ID do usuário real " -"atual." +"que esse último verifica as variáveis de ambiente :envvar:`LOGNAME` " +"ou :envvar:`USERNAME` para descobrir quem é o usuário, e retorna para " +"``pwd.getpwuid(os.getuid())[0]`` para obter o nome de login do ID do usuário " +"real atual." -#: ../../library/os.rst:426 ../../library/os.rst:462 ../../library/os.rst:3719 -#: ../../library/os.rst:3935 ../../library/os.rst:4224 -#: ../../library/os.rst:4348 ../../library/os.rst:4464 -#: ../../library/os.rst:4633 +#: ../../library/os.rst:426 ../../library/os.rst:462 ../../library/os.rst:3771 +#: ../../library/os.rst:3997 ../../library/os.rst:4286 +#: ../../library/os.rst:4410 ../../library/os.rst:4529 +#: ../../library/os.rst:4698 msgid "" ":ref:`Availability `: Unix, Windows, not Emscripten, not WASI." msgstr "" @@ -840,8 +829,8 @@ msgid "" "the same id, which may be already reused by another process." msgstr "" "Retorna o ID do processo pai. Quando o processo pai é encerrado, no Unix, o " -"ID retornado é o do processo init(1); no Windows, ainda é o mesmo ID, que já " -"pode ser reutilizado por outro processo." +"ID retornado é o do processo init (1); no Windows, ainda é o mesmo ID, que " +"pode já estar sendo reutilizado por outro processo." #: ../../library/os.rst:464 msgid "Added support for Windows." @@ -849,21 +838,22 @@ msgstr "Adicionado suporte para Windows." #: ../../library/os.rst:472 msgid "" -"Get program scheduling priority. The value *which* is one of :const:" -"`PRIO_PROCESS`, :const:`PRIO_PGRP`, or :const:`PRIO_USER`, and *who* is " -"interpreted relative to *which* (a process identifier for :const:" -"`PRIO_PROCESS`, process group identifier for :const:`PRIO_PGRP`, and a user " -"ID for :const:`PRIO_USER`). A zero value for *who* denotes (respectively) " -"the calling process, the process group of the calling process, or the real " -"user ID of the calling process." -msgstr "" -"Obtém prioridade de agendamento de programa. O valor *which* é um entre :" -"const:`PRIO_PROCESS`, :const:`PRIO_PGRP` ou :const:`PRIO_USER`, e *who* é " -"interpretado em relação a *which* (um identificador de processo para :const:" -"`PRIO_PROCESS`, identificador do grupo de processos para :const:`PRIO_PGRP` " -"e um ID de usuário para :const:`PRIO_USER`). Um valor zero para *who* indica " -"(respectivamente) o processo de chamada, o grupo de processos do processo de " -"chamada ou o ID do usuário real do processo de chamada." +"Get program scheduling priority. The value *which* is one " +"of :const:`PRIO_PROCESS`, :const:`PRIO_PGRP`, or :const:`PRIO_USER`, and " +"*who* is interpreted relative to *which* (a process identifier " +"for :const:`PRIO_PROCESS`, process group identifier for :const:`PRIO_PGRP`, " +"and a user ID for :const:`PRIO_USER`). A zero value for *who* denotes " +"(respectively) the calling process, the process group of the calling " +"process, or the real user ID of the calling process." +msgstr "" +"Obtém prioridade de agendamento de programa. O valor *which* é um " +"entre :const:`PRIO_PROCESS`, :const:`PRIO_PGRP` ou :const:`PRIO_USER`, e " +"*who* é interpretado em relação a *which* (um identificador de processo " +"para :const:`PRIO_PROCESS`, identificador do grupo de processos " +"para :const:`PRIO_PGRP` e um ID de usuário para :const:`PRIO_USER`). Um " +"valor zero para *who* indica (respectivamente) o processo de chamada, o " +"grupo de processos do processo de chamada ou o ID do usuário real do " +"processo de chamada." #: ../../library/os.rst:489 msgid "" @@ -875,8 +865,8 @@ msgid "" "Return a tuple (ruid, euid, suid) denoting the current process's real, " "effective, and saved user ids." msgstr "" -"Retorna uma tupla (ruid, euid, suid) indicando os IDs de usuário reais, " -"efetivos e salvos do processo atual." +"Retorna uma tupla (ruid, euid, suid) indicando os IDs de usuário real, " +"efetivo e salvo do processo atual." #: ../../library/os.rst:508 msgid "" @@ -903,37 +893,37 @@ msgstr "" #: ../../library/os.rst:543 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`." +"changes to the environment affect subprocesses started " +"with :func:`os.system`, :func:`popen` or :func:`fork` and :func:`execv`." msgstr "" "Define a variável de ambiente denominada *key* como a string *value*. Tais " -"mudanças no ambiente afetam os subprocessos iniciados com :func:`os." -"system`, :func:`popen` ou :func:`fork` e :func:`execv`." +"mudanças no ambiente afetam os subprocessos iniciados " +"com :func:`os.system`, :func:`popen` ou :func:`fork` e :func:`execv`." #: ../../library/os.rst:547 msgid "" "Assignments to items in :data:`os.environ` are automatically translated into " "corresponding calls to :func:`putenv`; however, calls to :func:`putenv` " "don't update :data:`os.environ`, so it is actually preferable to assign to " -"items of :data:`os.environ`. This also applies to :func:`getenv` and :func:" -"`getenvb`, which respectively use :data:`os.environ` and :data:`os.environb` " -"in their implementations." +"items of :data:`os.environ`. This also applies to :func:`getenv` " +"and :func:`getenvb`, which respectively use :data:`os.environ` " +"and :data:`os.environb` in their implementations." msgstr "" "Atribuições a itens em :data:`os.environ` são automaticamente traduzidas em " -"chamadas correspondentes para :func:`putenv`; entretanto, chamadas para :" -"func:`putenv` não atualizam :data:`os.environ`, então é preferível atribuir " -"itens de :data:`os.environ`. Isso também se aplica a :func:`getenv` e :func:" -"`getenvb`, que usam respectivamente :data:`os.environ` e :data:`os.environb` " -"em suas implementações." +"chamadas correspondentes para :func:`putenv`; entretanto, chamadas " +"para :func:`putenv` não atualizam :data:`os.environ`, então é preferível " +"atribuir itens de :data:`os.environ`. Isso também se aplica a :func:`getenv` " +"e :func:`getenvb`, que usam respectivamente :data:`os.environ` " +"e :data:`os.environb` em suas implementações." #: ../../library/os.rst:555 msgid "" "On some platforms, including FreeBSD and macOS, setting ``environ`` may " -"cause memory leaks. Refer to the system documentation for :c:func:`putenv`." +"cause memory leaks. Refer to the system documentation for :c:func:`!putenv`." msgstr "" -"Em algumas plataformas, incluindo FreeBSD e macOS, definir ``environ`` pode " -"causar vazamentos de memória. Consulte a documentação do sistema para :c:" -"func:`putenv`." +"Em algumas plataformas, incluindo FreeBSD e Mac OS X, a modificação de " +"``environ`` pode causar vazamentos de memória. Consulte a documentação do " +"sistema para :c:func:`!putenv`." #: ../../library/os.rst:558 msgid "" @@ -974,9 +964,9 @@ msgstr "" #: ../../library/os.rst:593 msgid "" "On macOS, the length of *groups* may not exceed the system-defined maximum " -"number of effective group ids, typically 16. See the documentation for :func:" -"`getgroups` for cases where it may not return the same group list set by " -"calling setgroups()." +"number of effective group ids, typically 16. See the documentation " +"for :func:`getgroups` for cases where it may not return the same group list " +"set by calling setgroups()." msgstr "" "No Mac OS X, o comprimento de *groups* não pode exceder o número máximo " "definido pelo sistema de IDs de grupo efetivos, normalmente 16. Consulte a " @@ -985,45 +975,46 @@ msgstr "" #: ../../library/os.rst:600 msgid "" -"Call the system call :c:func:`setpgrp` or ``setpgrp(0, 0)`` depending on " +"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 "" -"Executa a chamada de sistema :c:func:`setpgrp` ou ``setpgrp (0, 0)`` " +"Executa a chamada de sistema :c:func:`!setpgrp` ou ``setpgrp(0, 0)`` " "dependendo da versão implementada (se houver). Veja o manual do Unix para a " "semântica." #: ../../library/os.rst:608 msgid "" -"Call the system call :c:func:`setpgid` to set the process group id of the " +"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 "" -"Executa a chamada de sistema :c:func:`setpgid` para definir o ID do grupo do " -"processo com *pid* para o grupo de processos com o id *pgrp*. Veja o manual " -"do Unix para a semântica." +"Executa a chamada de sistema :c:func:`!setpgid` para definir o ID do grupo " +"do processo com *pid* para o grupo de processos com o id *pgrp*. Veja o " +"manual do Unix para a semântica." #: ../../library/os.rst:619 msgid "" -"Set program scheduling priority. The value *which* is one of :const:" -"`PRIO_PROCESS`, :const:`PRIO_PGRP`, or :const:`PRIO_USER`, and *who* is " -"interpreted relative to *which* (a process identifier for :const:" -"`PRIO_PROCESS`, process group identifier for :const:`PRIO_PGRP`, and a user " -"ID for :const:`PRIO_USER`). A zero value for *who* denotes (respectively) " -"the calling process, the process group of the calling process, or the real " -"user ID of the calling process. *priority* is a value in the range -20 to " -"19. The default priority is 0; lower priorities cause more favorable " -"scheduling." -msgstr "" -"Define a prioridade de agendamento de programa. O valor *which* é um entre :" -"const:`PRIO_PROCESS`, :const:`PRIO_PGRP` ou :const:`PRIO_USER`, e *who* é " -"interpretado em relação a *which* (um identificador de processo para :const:" -"`PRIO_PROCESS`, identificador do grupo de processos para :const:`PRIO_PGRP` " -"e um ID de usuário para :const:`PRIO_USER`). Um valor zero para *who* indica " -"(respectivamente) o processo de chamada, o grupo de processos do processo de " -"chamada ou o ID do usuário real do processo de chamada. *priority* é um " -"valor na faixa de -20 a 19. A prioridade padrão é 0; prioridades menores " -"resultam em um agendamento mais favorável." +"Set program scheduling priority. The value *which* is one " +"of :const:`PRIO_PROCESS`, :const:`PRIO_PGRP`, or :const:`PRIO_USER`, and " +"*who* is interpreted relative to *which* (a process identifier " +"for :const:`PRIO_PROCESS`, process group identifier for :const:`PRIO_PGRP`, " +"and a user ID for :const:`PRIO_USER`). A zero value for *who* denotes " +"(respectively) the calling process, the process group of the calling " +"process, or the real user ID of the calling process. *priority* is a value " +"in the range -20 to 19. The default priority is 0; lower priorities cause " +"more favorable scheduling." +msgstr "" +"Define a prioridade de agendamento de programa. O valor *which* é um " +"entre :const:`PRIO_PROCESS`, :const:`PRIO_PGRP` ou :const:`PRIO_USER`, e " +"*who* é interpretado em relação a *which* (um identificador de processo " +"para :const:`PRIO_PROCESS`, identificador do grupo de processos " +"para :const:`PRIO_PGRP` e um ID de usuário para :const:`PRIO_USER`). Um " +"valor zero para *who* indica (respectivamente) o processo de chamada, o " +"grupo de processos do processo de chamada ou o ID do usuário real do " +"processo de chamada. *priority* é um valor na faixa de -20 a 19. A " +"prioridade padrão é 0; prioridades menores resultam em um agendamento mais " +"favorável." #: ../../library/os.rst:636 msgid "Set the current process's real and effective group ids." @@ -1043,18 +1034,18 @@ msgstr "Define os IDs de usuário real e efetivo do processo atual." #: ../../library/os.rst:668 msgid "" -"Call the system call :c:func:`getsid`. See the Unix manual for the " +"Call the system call :c:func:`!getsid`. See the Unix manual for the " "semantics." msgstr "" -"Executa a chamada de sistema :c:func:`getsid`. Veja o manual do Unix para " +"Executa a chamada de sistema :c:func:`!getsid`. Veja o manual do Unix para " "semântica." #: ../../library/os.rst:675 msgid "" -"Call the system call :c:func:`setsid`. See the Unix manual for the " +"Call the system call :c:func:`!setsid`. See the Unix manual for the " "semantics." msgstr "" -"Executa a chamada de sistema :c:func:`setsid`. Veja o manual do Unix para " +"Executa a chamada de sistema :c:func:`!setsid`. Veja o manual do Unix para " "semântica." #: ../../library/os.rst:684 @@ -1064,11 +1055,11 @@ msgstr "Define o ID de usuário do processo atual." #: ../../library/os.rst:692 msgid "" "Return the error message corresponding to the error code in *code*. On " -"platforms where :c:func:`strerror` returns ``NULL`` when given an unknown " +"platforms where :c:func:`!strerror` returns ``NULL`` when given an unknown " "error number, :exc:`ValueError` is raised." msgstr "" "Retorna a mensagem de erro correspondente ao código de erro em *code*. Nas " -"plataformas em que :c:func:`strerror` retorna ``NULL`` quando recebe um " +"plataformas em que :c:func:`!strerror` retorna ``NULL`` quando recebe um " "número de erro desconhecido, :exc:`ValueError` é levantada." #: ../../library/os.rst:699 @@ -1115,12 +1106,14 @@ msgstr ":attr:`machine` - identificador de hardware" #: ../../library/os.rst:728 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." +"five-tuple " +"containing :attr:`sysname`, :attr:`nodename`, :attr:`release`, :attr:`version`, " +"and :attr:`machine` in that order." msgstr "" "Para compatibilidade com versões anteriores, esse objeto também é iterável, " -"comportando-se como uma tupla de 5 elementos contendo :attr:`sysname`, :attr:" -"`nodename`, :attr:`release`, :attr:`version` e :attr:`machine` nessa ordem." +"comportando-se como uma tupla de 5 elementos " +"contendo :attr:`sysname`, :attr:`nodename`, :attr:`release`, :attr:`version` " +"e :attr:`machine` nessa ordem." #: ../../library/os.rst:733 msgid "" @@ -1129,11 +1122,11 @@ msgid "" "or even ``socket.gethostbyaddr(socket.gethostname())``." msgstr "" "Alguns sistemas truncam :attr:`nodename` para 8 caracteres ou para o " -"componente principal; uma maneira melhor de obter o nome do host é :func:" -"`socket.gethostname` ou até mesmo ``socket.gethostbyaddr(socket." -"gethostname())``." +"componente principal; uma maneira melhor de obter o nome do host " +"é :func:`socket.gethostname` ou até mesmo " +"``socket.gethostbyaddr(socket.gethostname())``." -#: ../../library/os.rst:740 ../../library/os.rst:4373 +#: ../../library/os.rst:740 ../../library/os.rst:4435 msgid "" "Return type changed from a tuple to a tuple-like object with named " "attributes." @@ -1144,8 +1137,8 @@ msgstr "" #: ../../library/os.rst:749 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`." +"environment affect subprocesses started " +"with :func:`os.system`, :func:`popen` or :func:`fork` and :func:`execv`." msgstr "" "Cancela (exclui) a variável de ambiente denominada *key*. Tais mudanças no " "ambiente afetam subprocessos iniciados com :func:`os.system`, :func:`popen` " @@ -1159,8 +1152,8 @@ msgid "" "items of :data:`os.environ`." msgstr "" "A exclusão de itens em :data:`os.environ` é automaticamente traduzida para " -"uma chamada correspondente a :func:`unsetenv`; no entanto, chamadas a :func:" -"`unsetenv` não atualizam :data:`os.environ`, por isso, na verdade é " +"uma chamada correspondente a :func:`unsetenv`; no entanto, chamadas " +"a :func:`unsetenv` não atualizam :data:`os.environ`, por isso, na verdade é " "preferível excluir itens de :data:`os.environ`." #: ../../library/os.rst:758 @@ -1182,8 +1175,8 @@ msgstr "Criação de objetos arquivos" #: ../../library/os.rst:769 msgid "" -"These functions create new :term:`file objects `. (See also :" -"func:`~os.open` for opening file descriptors.)" +"These functions create new :term:`file objects `. (See " +"also :func:`~os.open` for opening file descriptors.)" msgstr "" "Estas funções criam novos :term:`objetos arquivos `. (Veja " "também :func:`~os.open` para abrir os descritores de arquivos.)" @@ -1248,8 +1241,8 @@ msgstr "Fecha o descritor de arquivo *fd*." msgid "" "This function is intended for low-level I/O and must be applied to a file " "descriptor as returned by :func:`os.open` or :func:`pipe`. To close a " -"\"file object\" returned by the built-in function :func:`open` or by :func:" -"`popen` or :func:`fdopen`, use its :meth:`~io.IOBase.close` method." +"\"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 "" "Esta função destina-se a E/S de baixo nível e deve ser aplicada a um " "descritor de arquivo retornado por :func:`os.open` ou :func:`pipe`. Para " @@ -1270,18 +1263,11 @@ msgid "" "*offset_src*, to file descriptor *dst*, starting from offset *offset_dst*. " "If *offset_src* is None, then *src* is read from the current position; " "respectively for *offset_dst*. The files pointed by *src* and *dst* must " -"reside in the same filesystem, otherwise an :exc:`OSError` is raised with :" -"attr:`~OSError.errno` set to :data:`errno.EXDEV`." +"reside in the same filesystem, otherwise an :exc:`OSError` is raised " +"with :attr:`~OSError.errno` set to :const:`errno.EXDEV`." msgstr "" -"Copia *count* bytes do descritor de arquivo *src*, partindo do deslocamento " -"*offset_src*, para o descritor de arquivo *dst*, partindo do deslocamento " -"*offset_dst*. Se *offset_src* for None, então *src* é lido a partir da " -"posição atual; respectivamente, para *offset_dst*. Os arquivos apontados por " -"*src* e *dst* devem residir no mesmo sistema de arquivos, caso contrário, " -"uma :exc:`OSError` é levantada com :attr:`~OSError.errno` definido como :" -"data:`errno.EXDEV`." -#: ../../library/os.rst:834 ../../library/os.rst:1518 +#: ../../library/os.rst:834 ../../library/os.rst:1558 msgid "" "This copy is done without the additional cost of transferring data from the " "kernel to user space and then back into the kernel. Additionally, some " @@ -1327,8 +1313,8 @@ msgstr "No Unix, a função agora implementa o Modo UTF-8 do Python." #: ../../library/os.rst:861 msgid "" -"Return a duplicate of file descriptor *fd*. The new file descriptor is :ref:" -"`non-inheritable `." +"Return a duplicate of file descriptor *fd*. The new file descriptor " +"is :ref:`non-inheritable `." msgstr "" "Retorna uma cópia do descritor de arquivo *fd*. O novo descritor de arquivo " "é :ref:`não-herdável `." @@ -1345,9 +1331,9 @@ msgstr "" msgid ":ref:`Availability `: not WASI." msgstr ":ref:`Disponibilidade `: não WASI." -#: ../../library/os.rst:870 ../../library/os.rst:1094 +#: ../../library/os.rst:870 ../../library/os.rst:1134 msgid "The new file descriptor is now non-inheritable." -msgstr "O novo descritor de arquivo agora é não-herdável." +msgstr "O novo descritor de arquivo agora é não-hereditário." #: ../../library/os.rst:876 msgid "" @@ -1356,9 +1342,10 @@ msgid "" "` by default or non-inheritable if *inheritable* is " "``False``." msgstr "" -"Duplica o descritor de arquivo *fd* como *fd2*, fechando o último primeiro, " -"se necessário. Retorna *fd2*. O novo descritor de arquivo é :ref:`herdável " -"` por padrão ou não-herdável se *inheritable* for ``False``." +"Duplica o descritor de arquivo *fd* como *fd2*, fechando o último antes " +"disso, se necessário. Retorna *fd2*. O novo descritor de arquivo " +"é :ref:`herdável ` por padrão ou não-herdável se " +"*inheritable* for ``False``." #: ../../library/os.rst:883 msgid "Add the optional *inheritable* parameter." @@ -1379,7 +1366,7 @@ msgstr "" "documentação de :func:`chmod` para valores possíveis de *mode*. A partir do " "Python 3.3, isto é equivalente a ``os.chmod(fd, mode)``." -#: ../../library/os.rst:896 ../../library/os.rst:1914 ../../library/os.rst:2008 +#: ../../library/os.rst:896 ../../library/os.rst:1954 ../../library/os.rst:2051 msgid "" "Raises an :ref:`auditing event ` ``os.chmod`` with arguments " "``path``, ``mode``, ``dir_fd``." @@ -1388,8 +1375,8 @@ msgstr "" "argumentos ``path``, ``mode``, ``dir_fd``." #: ../../library/os.rst:900 ../../library/os.rst:915 ../../library/os.rst:1006 -#: ../../library/os.rst:1480 ../../library/os.rst:1911 -#: ../../library/os.rst:1940 ../../library/os.rst:3104 +#: ../../library/os.rst:1541 ../../library/os.rst:1951 +#: ../../library/os.rst:1980 ../../library/os.rst:3156 msgid "" "The function is limited on Emscripten and WASI, see :ref:`wasm-availability` " "for more information." @@ -1400,15 +1387,16 @@ msgstr "" #: ../../library/os.rst:906 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)``." +"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 "" -"Altera o o ID do proprietário e do grupo do arquivo dado por *fd* para o " -"*uid* e *gid* numérico. Para deixar um dos IDs inalteradas, defina-o como " -"-1. Veja :func:`chown`. A partir do Python 3.3, isto é equivalente a ``os." -"chown(fd, uid, gid)``." +"Altera o ID do proprietário e do grupo do arquivo dado por *fd* para o *uid* " +"e *gid* numérico. Para deixar um dos IDs inalteradas, defina-o como -1. " +"Veja :func:`chown`. A partir do Python 3.3, isto é equivalente a " +"``os.chown(fd, uid, gid)``." -#: ../../library/os.rst:911 ../../library/os.rst:1936 ../../library/os.rst:2021 +#: ../../library/os.rst:911 ../../library/os.rst:1976 ../../library/os.rst:2064 msgid "" "Raises an :ref:`auditing event ` ``os.chown`` with arguments " "``path``, ``uid``, ``gid``, ``dir_fd``." @@ -1421,7 +1409,7 @@ msgid "" "Force write of file with filedescriptor *fd* to disk. Does not force update " "of metadata." msgstr "" -"Força a gravação de arquivo com descritor de arquivo *fd* no disco. Não " +"Força a gravação do arquivo com descritor de arquivo *fd* no disco. Não " "força a atualização de metadados." #: ../../library/os.rst:927 @@ -1444,39 +1432,39 @@ msgstr "" "especificados em uma série de padrões (POSIX.1, Unix 95, Unix 98 e outros). " "Algumas plataformas definem nomes adicionais também. Os nomes conhecidos do " "sistema operacional hospedeiro são dadas no dicionário ``pathconf_names``. " -"Para variáveis ​​de configuração não incluídas neste mapeamento, também é " +"Para variáveis de configuração não incluídas neste mapeamento, também é " "aceito passar um número inteiro para *name*." -#: ../../library/os.rst:940 ../../library/os.rst:2270 +#: ../../library/os.rst:940 ../../library/os.rst:2320 msgid "" "If *name* is a string and is not known, :exc:`ValueError` is raised. If a " "specific value for *name* is not supported by the host system, even if it is " -"included in ``pathconf_names``, an :exc:`OSError` is raised with :const:" -"`errno.EINVAL` for the error number." +"included in ``pathconf_names``, an :exc:`OSError` is raised " +"with :const:`errno.EINVAL` for the error number." msgstr "" -"Se *name* for uma string e não for conhecida, exceção :exc:`ValueError` é " -"levantada. Se um valor específico para *name* não for compatível com o " +"Se *name* for uma string e não for conhecida, uma exceção :exc:`ValueError` " +"é levantada. Se um valor específico para *name* não for compatível com o " "sistema hospedeiro, mesmo que seja incluído no ``pathconf_names``, uma " "exceção :exc:`OSError` é levantada com :const:`errno.EINVAL` como número do " "erro." #: ../../library/os.rst:945 msgid "As of Python 3.3, this is equivalent to ``os.pathconf(fd, name)``." -msgstr "Assim como no Python 3.3, é equivalente a ``os.pathconf(fd, name)``." +msgstr "A partir do Python 3.3, é equivalente a ``os.pathconf(fd, name)``." #: ../../library/os.rst:952 msgid "" "Get the status of the file descriptor *fd*. Return a :class:`stat_result` " "object." msgstr "" -"Captura o estado do descritor de arquivo *fd*. Retorna um objeto :class:" -"`stat_result`." +"Captura o estado do descritor de arquivo *fd*. Retorna um " +"objeto :class:`stat_result`." #: ../../library/os.rst:955 msgid "As of Python 3.3, this is equivalent to ``os.stat(fd)``." -msgstr "Assim como no Python 3.3, é equivalente a ``os.stat(fd)``." +msgstr "A partir do Python 3.3, é equivalente a ``os.stat(fd)``." -#: ../../library/os.rst:959 ../../library/os.rst:2105 +#: ../../library/os.rst:959 ../../library/os.rst:2148 msgid "The :func:`.stat` function." msgstr "A função :func:`.stat`." @@ -1493,12 +1481,12 @@ msgstr "" #: ../../library/os.rst:973 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` " +"the native :c:func:`!fsync` function; on Windows, the MS :c:func:`!_commit` " "function." msgstr "" "Força a gravação no disco de arquivo com descritor de arquivo *fd*. No Unix, " -"isto chama a função nativa :c:func:`fsync`; no Windows, a função de MS :c:" -"func:`_commit`." +"isto chama a função nativa :c:func:`!fsync`; no Windows, a função de " +"MS :c:func:`!_commit`." #: ../../library/os.rst:976 msgid "" @@ -1507,15 +1495,15 @@ msgid "" "internal buffers associated with *f* are written to disk." msgstr "" "Se você estiver começando com um :term:`objeto arquivo ` *f* em " -"buffer do Python, primeiro use ``f.flush()``, e depois use ``os.fsync(f." -"fileno())``, para garantir que todos os buffers internos associados com *f* " -"sejam gravados no disco." +"buffer do Python, primeiro use ``f.flush()``, e depois use " +"``os.fsync(f.fileno())``, para garantir que todos os buffers internos " +"associados com *f* sejam gravados no disco." #: ../../library/os.rst:985 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)``." +"most *length* bytes in size. As of Python 3.3, this is equivalent to " +"``os.truncate(fd, length)``." msgstr "" "Trunca o arquivo correspondente ao descritor de arquivo *fd*, de modo que " "tenha no máximo *length* bytes de tamanho. A partir do Python 3.3, isto é " @@ -1529,14 +1517,14 @@ msgstr "" "Levanta :ref:`evento de auditoria ` ``os.truncate`` com os " "argumentos ``fd``, ``length``." -#: ../../library/os.rst:993 ../../library/os.rst:3143 +#: ../../library/os.rst:993 ../../library/os.rst:3195 msgid "Added support for Windows" msgstr "Adicionado suporte para o Windows." #: ../../library/os.rst:999 msgid "" -"Get the blocking mode of the file descriptor: ``False`` if the :data:" -"`O_NONBLOCK` flag is set, ``True`` if the flag is cleared." +"Get the blocking mode of the file descriptor: ``False`` if " +"the :data:`O_NONBLOCK` flag is set, ``True`` if the flag is cleared." msgstr "" "Obtém o modo de bloqueio do descritor de arquivo: ``False`` se o " "sinalizador :data:`O_NONBLOCK` estiver marcado, ``True`` se o sinalizador " @@ -1557,14 +1545,14 @@ msgstr "" #: ../../library/os.rst:1020 msgid "" "Apply, test or remove a POSIX lock on an open file descriptor. *fd* is an " -"open file descriptor. *cmd* specifies the command to use - one of :data:" -"`F_LOCK`, :data:`F_TLOCK`, :data:`F_ULOCK` or :data:`F_TEST`. *len* " +"open file descriptor. *cmd* specifies the command to use - one " +"of :data:`F_LOCK`, :data:`F_TLOCK`, :data:`F_ULOCK` or :data:`F_TEST`. *len* " "specifies the section of the file to lock." msgstr "" -"Aplica, testa ou remove um bloqueio POSIX em um descritor de arquivo aberto. " +"Aplica, testa ou remove uma trava POSIX em um descritor de arquivo aberto. " "*fd* é um descritor de arquivo aberto. *cmd* especifica o comando a ser " -"usado - um dentre :data:`F_LOCK`, :data:`F_TLOCK`, :data:`F_ULOCK` ou :data:" -"`F_TEST`. *len* especifica a seção do arquivo a ser bloqueada." +"usado - um dentre :data:`F_LOCK`, :data:`F_TLOCK`, :data:`F_ULOCK` " +"ou :data:`F_TEST`. *len* especifica a seção do arquivo para travar." #: ../../library/os.rst:1026 msgid "" @@ -1576,7 +1564,7 @@ msgstr "" #: ../../library/os.rst:1038 msgid "Flags that specify what action :func:`lockf` will take." -msgstr "Sinalizadores que especificam qual ação :func:`lockf` vai acontecer." +msgstr "Sinalizadores que especificam qual ação :func:`lockf` vai executar." #: ../../library/os.rst:1047 msgid "" @@ -1591,70 +1579,165 @@ msgstr "" #: ../../library/os.rst:1058 msgid "" "Set the current position of file descriptor *fd* to position *pos*, modified " -"by *how*: :const:`SEEK_SET` or ``0`` to set the position relative to the " -"beginning of the file; :const:`SEEK_CUR` or ``1`` to set it relative to the " -"current position; :const:`SEEK_END` or ``2`` to set it relative to the end " -"of the file. Return the new cursor position in bytes, starting from the " -"beginning." +"by *whence*, and return the new position in bytes relative to the start of " +"the file. Valid values for *whence* are:" msgstr "" "Define a posição atual do descritor de arquivo *fd* para a posição *pos*, " -"modificada por *how*: :const:`SEEK_SET` ou ``0`` para definir a posição em " -"relação ao início do arquivo; :const:`SEEK_CUR` ou ``1`` para defini-la em " -"relação à posição atual; :const:`SEEK_END` ou ``2`` para defini-la em " -"relação ao final do arquivo. Retorna a nova posição do cursor em bytes, a " -"partir do início." +"modificada por *whence*, e retorna a nova posição em bytes relativa ao " +"início do arquivo. Os valores válidos de *whence* são:" -#: ../../library/os.rst:1069 +#: ../../library/os.rst:1063 msgid "" -"Parameters to the :func:`lseek` function. Their values are 0, 1, and 2, " -"respectively." +":const:`SEEK_SET` or ``0`` -- set *pos* relative to the beginning of the file" msgstr "" -"Parâmetros para a função :func:`lseek`. Seus valores são respectivamente 0, " -"1, e 2." +":const:`SEEK_SET` ou ``0`` -- define *pos* em relação ao início do arquivo" -#: ../../library/os.rst:1072 +#: ../../library/os.rst:1064 msgid "" -"Some operating systems could support additional values, like :data:`os." -"SEEK_HOLE` or :data:`os.SEEK_DATA`." +":const:`SEEK_CUR` or ``1`` -- set *pos* relative to the current file position" msgstr "" -"Alguns sistemas operacionais podem ter suporte para valores adicionais, " -"como :data:`os.SEEK_HOLE` ou :data:`os.SEEK_DATA`." +":const:`SEEK_CUR` ou ``1`` -- define *pos* em relação à posição atual do " +"arquivo" -#: ../../library/os.rst:1079 +#: ../../library/os.rst:1065 +msgid ":const:`SEEK_END` or ``2`` -- set *pos* relative to the end of the file" +msgstr "" +":const:`SEEK_END` ou ``2`` -- define *pos* em relação ao final do arquivo" + +#: ../../library/os.rst:1066 +msgid "" +":const:`SEEK_HOLE` -- set *pos* to the next data location, relative to *pos*" +msgstr "" +":const:`SEEK_HOLE` -- define *pos* para o próximo local de dados, em relação " +"a *pos*" + +#: ../../library/os.rst:1067 +msgid "" +":const:`SEEK_DATA` -- set *pos* to the next data hole, relative to *pos*" +msgstr "" +":const:`SEEK_DATA` -- define *pos* para o próximo buraco de dados, em " +"relação a *pos*" + +#: ../../library/os.rst:1071 +msgid "Add support for :const:`!SEEK_HOLE` and :const:`!SEEK_DATA`." +msgstr "Adicionado suporte para :const:`!SEEK_HOLE` e :const:`!SEEK_DATA`." + +#: ../../library/os.rst:1078 +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 "" +"Parâmetros para a função :func:`lseek` e o método :meth:`~io.IOBase.seek` " +"em :term:`objetos arquivo ou similares `, para onde ajustar o " +"indicador de posição do arquivo." + +#: ../../library/os.rst:1082 +msgid ":const:`SEEK_SET`" +msgstr ":const:`SEEK_SET`" + +#: ../../library/os.rst:1083 +msgid "Adjust the file position relative to the beginning of the file." +msgstr "Ajusta a posição do arquivo em relação ao início do arquivo." + +#: ../../library/os.rst:1084 +msgid ":const:`SEEK_CUR`" +msgstr ":const:`SEEK_CUR`" + +#: ../../library/os.rst:1085 +msgid "Adjust the file position relative to the current file position." +msgstr "Ajusta a posição do arquivo em relação a sua posição atual." + +#: ../../library/os.rst:1087 +msgid ":const:`SEEK_END`" +msgstr ":const:`SEEK_END`" + +#: ../../library/os.rst:1087 +msgid "Adjust the file position relative to the end of the file." +msgstr "Ajusta a posição do arquivo em relação ao fim do arquivo." + +#: ../../library/os.rst:1089 +msgid "Their values are 0, 1, and 2, respectively." +msgstr "Seus valores são 0, 1 e 2, respectivamente." + +#: ../../library/os.rst:1095 +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 "" +"Parâmetros para a função :func:`lseek` e o método :meth:`~io.IOBase.seek` " +"em :term:`objetos arquivo ou similares `, para para buscar " +"dados de arquivos e buracos em arquivos alocados de forma esparsa." + +#: ../../library/os.rst:1101 +msgid ":data:`!SEEK_DATA`" +msgstr ":data:`!SEEK_DATA`" + +#: ../../library/os.rst:1100 +msgid "" +"Adjust the file offset to the next location containing data, relative to the " +"seek position." +msgstr "" +"Ajusta o deslocamento do arquivo para o próximo local contendo dados, em " +"relação à posição de busca." + +#: ../../library/os.rst:1106 +msgid ":data:`!SEEK_HOLE`" +msgstr ":data:`!SEEK_HOLE`" + +#: ../../library/os.rst:1104 +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 "" +"Ajusta o deslocamento do arquivo para o próximo local contendo um buraco, em " +"relação à posição de busca. Um buraco é definido como uma sequência de zeros." + +#: ../../library/os.rst:1110 +msgid "These operations only make sense for filesystems that support them." +msgstr "" +"Essas operações só fazem sentido para sistemas de arquivos que as suportam." + +#: ../../library/os.rst:1112 +msgid ":ref:`Availability `: Linux >= 3.1, macOS, Unix" +msgstr ":ref:`Disponibilidade `: Linux >= 3.1, macOS, Unix" + +#: ../../library/os.rst:1119 msgid "" "Open the file *path* and set various flags according to *flags* and possibly " "its mode according to *mode*. When computing *mode*, the current umask " "value is first masked out. Return the file descriptor for the newly opened " "file. The new file descriptor is :ref:`non-inheritable `." msgstr "" -"Abre o arquivo *path* e define várias sinalizadores de acordo com *flags* e, " +"Abre o arquivo *path* e define vários sinalizadores de acordo com *flags* e, " "possivelmente, seu modo, de acordo com *mode*. Ao computar *mode*, o valor " -"atual de umask é iniciar com máscara. Retorna o descritor de arquivo para o " +"atual de umask é primeiro mascarado. Retorna o descritor de arquivo para o " "arquivo recém-aberto. O novo descritor de arquivo é :ref:`não-herdável " "`." -#: ../../library/os.rst:1084 +#: ../../library/os.rst:1124 msgid "" "For a description of the flag and mode values, see the C run-time " "documentation; flag constants (like :const:`O_RDONLY` and :const:`O_WRONLY`) " -"are defined in the :mod:`os` module. In particular, on Windows adding :" -"const:`O_BINARY` is needed to open files in binary mode." +"are defined in the :mod:`os` module. In particular, on Windows " +"adding :const:`O_BINARY` is needed to open files in binary mode." msgstr "" "Para ler uma descrição dos valores de sinalizadores e modos, veja a " -"documentação de tempo de execução de C; constantes de sinalizador (como :" -"const:`O_RDONLY` e :const:`O_WRONLY`) são definidas no módulo :mod:`os`. Em " -"particular, no Windows é necessário adicionar :const:`O_BINARY` para abrir " -"arquivos em modo binário." +"documentação de C; constantes de sinalizador (como :const:`O_RDONLY` " +"e :const:`O_WRONLY`) são definidas no módulo :mod:`os`. Em particular, no " +"Windows é necessário adicionar :const:`O_BINARY` para abrir arquivos em modo " +"binário." -#: ../../library/os.rst:1089 +#: ../../library/os.rst:1129 msgid "" "This function can support :ref:`paths relative to directory descriptors " "` with the *dir_fd* parameter." msgstr "" -"Esta função pode suportar :ref:`caminhos relativos aos descritores de " +"Esta função oferece suporte para :ref:`caminhos relativos aos descritores de " "diretório ` com o parâmetro *dir_fd*." -#: ../../library/os.rst:1092 +#: ../../library/os.rst:1132 msgid "" "Raises an :ref:`auditing event ` ``open`` with arguments ``path``, " "``mode``, ``flags``." @@ -1662,100 +1745,103 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``open`` com os argumentos " "``path``, ``mode``, ``flags``." -#: ../../library/os.rst:1099 +#: ../../library/os.rst:1139 msgid "" "This function is intended for low-level I/O. For normal usage, use the " -"built-in function :func:`open`, which returns a :term:`file object` with :" -"meth:`~file.read` and :meth:`~file.write` methods (and many more). To wrap " -"a file descriptor in a file object, use :func:`fdopen`." +"built-in function :func:`open`, which returns a :term:`file object` " +"with :meth:`~file.read` and :meth:`~file.write` methods (and many more). To " +"wrap a file descriptor in a file object, use :func:`fdopen`." msgstr "" "Esta função é destinada a E/S de baixo nível. Para uso normal, use a função " "embutida :func:`open`, que retorna um :term:`objeto arquivo ` " "com os métodos :meth:`~file.read` e :meth:`~file.write` (e muitos mais). " -"Para envolver um descritor de arquivo em um objeto arquivo, use :func:" -"`fdopen`." - -#: ../../library/os.rst:1104 ../../library/os.rst:2146 -#: ../../library/os.rst:2214 ../../library/os.rst:2236 -#: ../../library/os.rst:2317 ../../library/os.rst:2348 -msgid "The *dir_fd* argument." -msgstr "O argumento *dir_fd*." +"Para envolver um descritor de arquivo em um objeto arquivo, " +"use :func:`fdopen`." + +#: ../../library/os.rst:1144 ../../library/os.rst:2153 +#: ../../library/os.rst:2193 ../../library/os.rst:2264 +#: ../../library/os.rst:2286 ../../library/os.rst:2367 +#: ../../library/os.rst:2397 ../../library/os.rst:2504 +#: ../../library/os.rst:3211 +msgid "Added the *dir_fd* parameter." +msgstr "Adicionado o parâmetro *dir_fd*." -#: ../../library/os.rst:1107 ../../library/os.rst:1426 -#: ../../library/os.rst:1597 ../../library/os.rst:4466 +#: ../../library/os.rst:1147 ../../library/os.rst:1466 +#: ../../library/os.rst:1637 ../../library/os.rst:4531 msgid "" "If the system call is interrupted and the signal handler does not raise an " -"exception, the function now retries the system call instead of raising an :" -"exc:`InterruptedError` exception (see :pep:`475` for the rationale)." +"exception, the function now retries the system call instead of raising " +"an :exc:`InterruptedError` exception (see :pep:`475` for the rationale)." msgstr "" "Se a chamada de sistema é interrompida e o tratador de sinal não levanta uma " "exceção, a função agora tenta novamente a chamada de sistema em vez de " "levantar uma exceção :exc:`InterruptedError` (consulte :pep:`475` para " "entender a justificativa)." -#: ../../library/os.rst:1112 ../../library/os.rst:1808 -#: ../../library/os.rst:1840 ../../library/os.rst:1871 -#: ../../library/os.rst:1920 ../../library/os.rst:1957 -#: ../../library/os.rst:1997 ../../library/os.rst:2012 -#: ../../library/os.rst:2025 ../../library/os.rst:2084 -#: ../../library/os.rst:2113 ../../library/os.rst:2149 -#: ../../library/os.rst:2190 ../../library/os.rst:2217 -#: ../../library/os.rst:2239 ../../library/os.rst:2280 -#: ../../library/os.rst:2351 ../../library/os.rst:2370 -#: ../../library/os.rst:2458 ../../library/os.rst:2731 -#: ../../library/os.rst:2982 ../../library/os.rst:3146 -#: ../../library/os.rst:3162 ../../library/os.rst:3202 -#: ../../library/os.rst:3301 ../../library/os.rst:3362 -#: ../../library/os.rst:3546 ../../library/os.rst:3725 -#: ../../library/os.rst:4231 +#: ../../library/os.rst:1152 ../../library/os.rst:1848 +#: ../../library/os.rst:1880 ../../library/os.rst:1911 +#: ../../library/os.rst:1960 ../../library/os.rst:1997 +#: ../../library/os.rst:2037 ../../library/os.rst:2055 +#: ../../library/os.rst:2068 ../../library/os.rst:2127 +#: ../../library/os.rst:2156 ../../library/os.rst:2196 +#: ../../library/os.rst:2240 ../../library/os.rst:2267 +#: ../../library/os.rst:2289 ../../library/os.rst:2330 +#: ../../library/os.rst:2400 ../../library/os.rst:2419 +#: ../../library/os.rst:2507 ../../library/os.rst:2780 +#: ../../library/os.rst:3034 ../../library/os.rst:3198 +#: ../../library/os.rst:3214 ../../library/os.rst:3254 +#: ../../library/os.rst:3353 ../../library/os.rst:3414 +#: ../../library/os.rst:3598 ../../library/os.rst:3777 +#: ../../library/os.rst:4293 msgid "Accepts a :term:`path-like object`." msgstr "Aceita um :term:`objeto caminho ou similar`." -#: ../../library/os.rst:1115 +#: ../../library/os.rst:1155 msgid "" -"The following constants are options for the *flags* parameter to the :func:" -"`~os.open` function. They can be combined using the bitwise OR operator ``|" -"``. Some of them are not available on all platforms. For descriptions of " -"their availability and use, consult the :manpage:`open(2)` manual page on " -"Unix or `the MSDN `_ " -"on Windows." +"The following constants are options for the *flags* parameter to " +"the :func:`~os.open` function. They can be combined using the bitwise OR " +"operator ``|``. Some of them are not available on all platforms. For " +"descriptions of their availability and use, consult the :manpage:`open(2)` " +"manual page on Unix or `the MSDN `_ on Windows." msgstr "" -"As seguintes constantes são opções para o parâmetro *flags* da função :func:" -"`~os.open`. Elas podem ser combinadas usando o operador bit a bit OR ``|``. " -"Algumas delas não estão disponíveis em todas as plataformas. Para obter " -"descrições de sua disponibilidade e uso, consulte a página do manual :" -"manpage:`open(2)` para Unix ou `o MSDN `_ para Windows." +"As seguintes constantes são opções para o parâmetro *flags* da " +"função :func:`~os.open`. Elas podem ser combinadas usando o operador bit a " +"bit OU ``|``. Algumas delas não estão disponíveis em todas as plataformas. " +"Para obter descrições de sua disponibilidade e uso, consulte a página de " +"manual :manpage:`open(2)` para Unix ou `o MSDN `_ para Windows." -#: ../../library/os.rst:1130 +#: ../../library/os.rst:1170 msgid "The above constants are available on Unix and Windows." msgstr "As constantes acima estão disponíveis no Unix e Windows." -#: ../../library/os.rst:1141 +#: ../../library/os.rst:1181 msgid "The above constants are only available on Unix." msgstr "As constantes acima estão disponíveis apenas no Unix." -#: ../../library/os.rst:1143 +#: ../../library/os.rst:1183 msgid "Add :data:`O_CLOEXEC` constant." msgstr "Adicionada a constante :data:`O_CLOEXEC`." -#: ../../library/os.rst:1154 +#: ../../library/os.rst:1194 msgid "The above constants are only available on Windows." msgstr "As constantes acima estão disponíveis apenas no Windows." -#: ../../library/os.rst:1161 +#: ../../library/os.rst:1201 msgid "The above constants are only available on macOS." msgstr "As constantes acima estão disponíveis apenas no macOS." -#: ../../library/os.rst:1163 +#: ../../library/os.rst:1203 msgid "" -"Add :data:`O_EVTONLY`, :data:`O_FSYNC`, :data:`O_SYMLINK` and :data:" -"`O_NOFOLLOW_ANY` constants." +"Add :data:`O_EVTONLY`, :data:`O_FSYNC`, :data:`O_SYMLINK` " +"and :data:`O_NOFOLLOW_ANY` constants." msgstr "" -"Adicionadas as constantes :data:`O_EVTONLY`, :data:`O_FSYNC`, :data:" -"`O_SYMLINK` e :data:`O_NOFOLLOW_ANY`." +"Adicionadas as " +"constantes :data:`O_EVTONLY`, :data:`O_FSYNC`, :data:`O_SYMLINK` " +"e :data:`O_NOFOLLOW_ANY`." -#: ../../library/os.rst:1177 +#: ../../library/os.rst:1217 msgid "" "The above constants are extensions and not present if they are not defined " "by the C library." @@ -1763,15 +1849,16 @@ msgstr "" "As constantes acima são extensões e não estarão presentes, se não forem " "definidos pela biblioteca C." -#: ../../library/os.rst:1180 +#: ../../library/os.rst:1220 msgid "" "Add :data:`O_PATH` on systems that support it. Add :data:`O_TMPFILE`, only " "available on Linux Kernel 3.11 or newer." msgstr "" -"Adicionada :data:`O_PATH` em sistemas que suportam. Adicionada :data:" -"`O_TMPFILE`, só está disponível no kernel Linux 3.11 ou mais recente." +"Adicionada :data:`O_PATH` em sistemas que oferecem suporte. " +"Adicionada :data:`O_TMPFILE`, somente disponível no kernel Linux 3.11 ou " +"mais recente." -#: ../../library/os.rst:1190 +#: ../../library/os.rst:1230 msgid "" "Open a new pseudo-terminal pair. Return a pair of file descriptors " "``(master, slave)`` for the pty and the tty, respectively. The new file " @@ -1780,14 +1867,14 @@ msgid "" msgstr "" "Abre um novo par de pseudo-terminal. Retorna um par de descritores de " "arquivos ``(master, slave)`` para o pty e o tty, respectivamente. Os novos " -"descritores de arquivos são :ref:`non-herdáveis `. Para uma " -"abordagem (ligeiramente) mais portátil, use o módulo :mod:`pty`." +"descritores de arquivos são :ref:`não-herdáveis `. Para uma " +"abordagem (ligeiramente) mais portável, use o módulo :mod:`pty`." -#: ../../library/os.rst:1197 ../../library/os.rst:1209 +#: ../../library/os.rst:1237 ../../library/os.rst:1249 msgid "The new file descriptors are now non-inheritable." msgstr "Os novos descritores de arquivos agora são não-herdáveis." -#: ../../library/os.rst:1203 +#: ../../library/os.rst:1243 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-" @@ -1797,19 +1884,20 @@ msgstr "" "w)`` usáveis para leitura e escrita, respectivamente. O novo descritor de " "arquivo é :ref:`não-herdável `." -#: ../../library/os.rst:1215 +#: ../../library/os.rst:1255 msgid "" "Create a pipe with *flags* set atomically. *flags* can be constructed by " -"ORing together one or more of these values: :data:`O_NONBLOCK`, :data:" -"`O_CLOEXEC`. Return a pair of file descriptors ``(r, w)`` usable for reading " -"and writing, respectively." +"ORing together one or more of these " +"values: :data:`O_NONBLOCK`, :data:`O_CLOEXEC`. Return a pair of file " +"descriptors ``(r, w)`` usable for reading and writing, respectively." msgstr "" "Cria um encadeamento (pipe) com *flags* definidos atomicamente. *flags* " -"podem ser construídos por ORing junto a um ou mais destes valores: :data:" -"`O_NONBLOCK`, :data:`O_CLOEXEC`. Retorna um par de descritores de arquivos " -"``(r, w)`` utilizáveis para leitura e gravação, respectivamente." +"podem ser construídos por aplicação de OU junto a um ou mais destes " +"valores: :data:`O_NONBLOCK`, :data:`O_CLOEXEC`. Retorna um par de " +"descritores de arquivos ``(r, w)`` utilizáveis para leitura e gravação, " +"respectivamente." -#: ../../library/os.rst:1228 +#: ../../library/os.rst:1268 msgid "" "Ensures that enough disk space is allocated for the file specified by *fd* " "starting from *offset* and continuing for *len* bytes." @@ -1817,29 +1905,27 @@ msgstr "" "Garante que um espaço em disco suficiente seja alocado para o arquivo " "especificado por *fd* iniciando em *offset* e continuando por *len* bytes." -#: ../../library/os.rst:1231 +#: ../../library/os.rst:1271 msgid ":ref:`Availability `: Unix, not Emscripten." msgstr ":ref:`Disponibilidade `: Unix, não Emscripten." -#: ../../library/os.rst:1238 +#: ../../library/os.rst:1278 msgid "" "Announces an intention to access data in a specific pattern thus allowing " "the kernel to make optimizations. The advice applies to the region of the " "file specified by *fd* starting at *offset* and continuing for *len* bytes. " -"*advice* is one of :data:`POSIX_FADV_NORMAL`, :data:" -"`POSIX_FADV_SEQUENTIAL`, :data:`POSIX_FADV_RANDOM`, :data:" -"`POSIX_FADV_NOREUSE`, :data:`POSIX_FADV_WILLNEED` or :data:" -"`POSIX_FADV_DONTNEED`." +"*advice* is one " +"of :data:`POSIX_FADV_NORMAL`, :data:`POSIX_FADV_SEQUENTIAL`, :data:`POSIX_FADV_RANDOM`, :data:`POSIX_FADV_NOREUSE`, :data:`POSIX_FADV_WILLNEED` " +"or :data:`POSIX_FADV_DONTNEED`." msgstr "" "Anuncia a intenção de acessar dados em um padrão específico, permitindo " "assim que o kernel faça otimizações. O conteúdo em *advice* se aplica à " "região do arquivo especificado por *fd*, iniciando em *offset* e continuando " -"por *len* bytes. *advice* é um entre :data:`POSIX_FADV_NORMAL`, :data:" -"`POSIX_FADV_SEQUENTIAL`, :data:`POSIX_FADV_RANDOM`, :data:" -"`POSIX_FADV_NOREUSE`, :data:`POSIX_FADV_WILLNEED` ou :data:" -"`POSIX_FADV_DONTNEED`." +"por *len* bytes. *advice* é um " +"entre :data:`POSIX_FADV_NORMAL`, :data:`POSIX_FADV_SEQUENTIAL`, :data:`POSIX_FADV_RANDOM`, :data:`POSIX_FADV_NOREUSE`, :data:`POSIX_FADV_WILLNEED` " +"ou :data:`POSIX_FADV_DONTNEED`." -#: ../../library/os.rst:1258 +#: ../../library/os.rst:1298 msgid "" "Flags that can be used in *advice* in :func:`posix_fadvise` that specify the " "access pattern that is likely to be used." @@ -1847,7 +1933,7 @@ msgstr "" "Sinalizadores que podem ser usados em *advice* em :func:`posix_fadvise` que " "especificam o padrão de acesso que provavelmente será usado." -#: ../../library/os.rst:1268 +#: ../../library/os.rst:1308 msgid "" "Read at most *n* bytes from file descriptor *fd* at a position of *offset*, " "leaving the file offset unchanged." @@ -1855,7 +1941,7 @@ msgstr "" "Lê no máximo *n* bytes do descritor de arquivo *fd* na posição *offset*, " "mantendo o deslocamento do arquivo inalterado." -#: ../../library/os.rst:1271 ../../library/os.rst:1415 +#: ../../library/os.rst:1311 ../../library/os.rst:1455 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." @@ -1863,20 +1949,21 @@ msgstr "" "Retorna uma bytestring contendo os bytes lidos. Se o final do arquivo " "referido por *fd* for atingido, um objeto de bytes vazio será retornado." -#: ../../library/os.rst:1281 +#: ../../library/os.rst:1321 msgid "" -"Read from a file descriptor *fd* at a position of *offset* into mutable :" -"term:`bytes-like objects ` *buffers*, leaving the file " -"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." +"Read from a file descriptor *fd* at a position of *offset* into " +"mutable :term:`bytes-like objects ` *buffers*, leaving " +"the file 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 "" "Lê de um descritor de arquivo *fd* na posição de *offset* em *buffers* " -"mutáveis de :term:`objetos byte ou similar `, deixando o " -"deslocamento do arquivo inalterado. Transfere os dados para cada buffer até " -"ficar cheio e depois passa para o próximo buffer na sequência para armazenar " -"o restante dos dados." +"mutáveis de :term:`objetos bytes ou similares `, deixando " +"o deslocamento do arquivo inalterado. Transfere os dados para cada buffer " +"até ficar cheio e depois passa para o próximo buffer na sequência para " +"armazenar o restante dos dados." -#: ../../library/os.rst:1286 ../../library/os.rst:1356 +#: ../../library/os.rst:1326 ../../library/os.rst:1396 msgid "" "The flags argument contains a bitwise OR of zero or more of the following " "flags:" @@ -1884,15 +1971,15 @@ msgstr "" "O argumento *flags* contém um OR bit a bit de zero ou mais dos seguintes " "sinalizadores:" -#: ../../library/os.rst:1289 +#: ../../library/os.rst:1329 msgid ":data:`RWF_HIPRI`" msgstr ":data:`RWF_HIPRI`" -#: ../../library/os.rst:1290 +#: ../../library/os.rst:1330 msgid ":data:`RWF_NOWAIT`" msgstr ":data:`RWF_NOWAIT`" -#: ../../library/os.rst:1292 ../../library/os.rst:1547 +#: ../../library/os.rst:1332 ../../library/os.rst:1587 msgid "" "Return the total number of bytes actually read which can be less than the " "total capacity of all the objects." @@ -1900,8 +1987,8 @@ msgstr "" "Retorna o número total de bytes realmente lidos, que pode ser menor que a " "capacidade total de todos os objetos." -#: ../../library/os.rst:1295 ../../library/os.rst:1365 -#: ../../library/os.rst:1550 ../../library/os.rst:1612 +#: ../../library/os.rst:1335 ../../library/os.rst:1405 +#: ../../library/os.rst:1590 ../../library/os.rst:1652 msgid "" "The operating system may set a limit (:func:`sysconf` value " "``'SC_IOV_MAX'``) on the number of buffers that can be used." @@ -1909,11 +1996,11 @@ msgstr "" "O sistema operacional pode definir um limite (:func:`sysconf` valor " "``'SC_IOV_MAX'``) no número de buffers que podem ser usados." -#: ../../library/os.rst:1298 +#: ../../library/os.rst:1338 msgid "Combine the functionality of :func:`os.readv` and :func:`os.pread`." msgstr "Combina a funcionalidade de :func:`os.readv` e :func:`os.pread`." -#: ../../library/os.rst:1300 ../../library/os.rst:1370 +#: ../../library/os.rst:1340 ../../library/os.rst:1410 msgid "" ":ref:`Availability `: Linux >= 2.6.30, FreeBSD >= 6.0, OpenBSD " ">= 2.7, AIX >= 7.1." @@ -1921,11 +2008,11 @@ msgstr "" ":ref:`Disponibilidade `: Linux >= 2.6.30, FreeBSD >= 6.0, " "OpenBSD >= 2.7, AIX >= 7.1." -#: ../../library/os.rst:1302 ../../library/os.rst:1372 +#: ../../library/os.rst:1342 ../../library/os.rst:1412 msgid "Using flags requires Linux >= 4.6." msgstr "O uso de sinalizadores requer Linux >= 4.6." -#: ../../library/os.rst:1309 +#: ../../library/os.rst:1349 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 " @@ -1933,24 +2020,23 @@ msgid "" msgstr "" "Não aguarda por dados que não estão disponíveis imediatamente. Se esse " "sinalizador for especificado, a chamada do sistema retorna instantaneamente " -"se for necessário ler dados do armazenamento de backup ou aguardar um " -"bloqueio." +"se for necessário ler dados do armazenamento de backup ou aguardar uma trava." -#: ../../library/os.rst:1313 +#: ../../library/os.rst:1353 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 :data:`errno." -"EAGAIN`." +"If no bytes were read, it will return ``-1`` and set errno " +"to :const:`errno.EAGAIN`." msgstr "" "Se alguns dados foram lidos com sucesso, ele retorna o número de bytes " -"lidos. Se nenhum bytes foi lido, ele retornará ``-1`` e definirá errno como :" -"data:`errno.EAGAIN`." +"lidos. Se nenhum bytes foi lido, ele retornará ``-1`` e definirá errno " +"como :const:`errno.EAGAIN`." -#: ../../library/os.rst:1317 +#: ../../library/os.rst:1357 msgid ":ref:`Availability `: Linux >= 4.14." msgstr ":ref:`Disponibilidade `: Linux >= 4.14." -#: ../../library/os.rst:1324 +#: ../../library/os.rst:1364 msgid "" "High priority read/write. Allows block-based filesystems to use polling of " "the device, which provides lower latency, but may use additional resources." @@ -1959,7 +2045,7 @@ msgstr "" "em blocos para usar a consulta do dispositivo, que fornece latência " "inferior, mas pode usar recursos adicionais." -#: ../../library/os.rst:1328 +#: ../../library/os.rst:1368 msgid "" "Currently, on Linux, this feature is usable only on a file descriptor opened " "using the :data:`O_DIRECT` flag." @@ -1967,11 +2053,11 @@ msgstr "" "Atualmente, no Linux, esse recurso é usável apenas em um descritor de " "arquivo aberto usando o sinalizador :data:`O_DIRECT`." -#: ../../library/os.rst:1331 +#: ../../library/os.rst:1371 msgid ":ref:`Availability `: Linux >= 4.6." msgstr ":ref:`Disponibilidade `: Linux >= 4.6." -#: ../../library/os.rst:1338 +#: ../../library/os.rst:1378 msgid "" "Write the bytestring in *str* to file descriptor *fd* at position of " "*offset*, leaving the file offset unchanged." @@ -1979,17 +2065,17 @@ msgstr "" "Escreve a bytestring in *str* no descritor de arquivo *fd* na posição " "*offset*, mantendo o deslocamento do arquivo inalterado." -#: ../../library/os.rst:1341 ../../library/os.rst:1587 +#: ../../library/os.rst:1381 ../../library/os.rst:1627 msgid "Return the number of bytes actually written." msgstr "Retorna o número de bytes realmente escritos." -#: ../../library/os.rst:1350 +#: ../../library/os.rst:1390 msgid "" "Write the *buffers* contents to file descriptor *fd* at a offset *offset*, " -"leaving the file offset unchanged. *buffers* must be a sequence of :term:" -"`bytes-like objects `. Buffers are processed in array " -"order. Entire contents of the first buffer is written before proceeding to " -"the second, and so on." +"leaving the file offset unchanged. *buffers* must be a sequence " +"of :term:`bytes-like objects `. Buffers are processed in " +"array order. Entire contents of the first buffer is written before " +"proceeding to the second, and so on." msgstr "" "Escreve o conteúdo de *buffers* no descritor de arquivo *fd* em um " "deslocamento *offset*, deixando o deslocamento do arquivo inalterado. " @@ -1998,49 +2084,49 @@ msgstr "" "do primeiro buffer é gravado antes de prosseguir para o segundo, e assim por " "diante." -#: ../../library/os.rst:1359 +#: ../../library/os.rst:1399 msgid ":data:`RWF_DSYNC`" msgstr ":data:`RWF_DSYNC`" -#: ../../library/os.rst:1360 +#: ../../library/os.rst:1400 msgid ":data:`RWF_SYNC`" msgstr ":data:`RWF_SYNC`" -#: ../../library/os.rst:1361 +#: ../../library/os.rst:1401 msgid ":data:`RWF_APPEND`" msgstr ":data:`RWF_APPEND`" -#: ../../library/os.rst:1363 +#: ../../library/os.rst:1403 msgid "Return the total number of bytes actually written." msgstr "Retorna o número total de bytes realmente escritos." -#: ../../library/os.rst:1368 +#: ../../library/os.rst:1408 msgid "Combine the functionality of :func:`os.writev` and :func:`os.pwrite`." msgstr "Combina a funcionalidade de :func:`os.writev` e :func:`os.pwrite`." -#: ../../library/os.rst:1379 +#: ../../library/os.rst:1419 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 "" -"Fornece um equivalente, por gravação, do sinalizador :data:`O_DSYNC` da " +"Fornece um equivalente para gravação do sinalizador :data:`O_DSYNC` da " "função :func:`os.open`. Este efeito de sinalizador se aplica apenas ao " "intervalo de dados escrito pela chamada de sistema." -#: ../../library/os.rst:1382 ../../library/os.rst:1392 +#: ../../library/os.rst:1422 ../../library/os.rst:1432 msgid ":ref:`Availability `: Linux >= 4.7." msgstr ":ref:`Disponibilidade `: Linux >= 4.7." -#: ../../library/os.rst:1389 +#: ../../library/os.rst:1429 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 "" -"Fornece um equivalente, por gravação, do sinalizador :data:`O_SYNC` da " +"Fornece um equivalente para gravação do sinalizador :data:`O_SYNC` da " "função :func:`os.open`. Este efeito de sinalizador se aplica apenas ao " "intervalo de dados escrito pela chamada de sistema." -#: ../../library/os.rst:1399 +#: ../../library/os.rst:1439 msgid "" "Provide a per-write equivalent of the :data:`O_APPEND` :func:`os.open` flag. " "This flag is meaningful only for :func:`os.pwritev`, and its effect applies " @@ -2049,36 +2135,36 @@ msgid "" "of the file. However, if the *offset* argument is ``-1``, the current file " "*offset* is updated." msgstr "" -"Fornece um equivalente, por gravação, do sinalizador :data:`O_APPEND` da " -"função :func:`os.open`. Esse sinalizador é significante apenas para :func:" -"`os.pwritev`, e seu efeito se aplica apenas ao intervalo de dados escrito " -"pela chamada de sistema. O argumento *offset* não afeta a operação de " -"escrita; o dado é sempre adicionado ao fim do arquivo. Contudo, se o " +"Fornece um equivalente para gravação do sinalizador :data:`O_APPEND` da " +"função :func:`os.open`. Esse sinalizador é significante apenas " +"para :func:`os.pwritev`, e seu efeito se aplica apenas ao intervalo de dados " +"escrito pela chamada de sistema. O argumento *offset* não afeta a operação " +"de escrita; o dado é sempre adicionado ao fim do arquivo. Contudo, se o " "argumento *offset* for ``-1``, o *offset* do arquivo atual é atualizado." -#: ../../library/os.rst:1406 +#: ../../library/os.rst:1446 msgid ":ref:`Availability `: Linux >= 4.16." msgstr ":ref:`Disponibilidade `: Linux >= 4.16." -#: ../../library/os.rst:1413 +#: ../../library/os.rst:1453 msgid "Read at most *n* bytes from file descriptor *fd*." msgstr "Lê no máximo *n* bytes do descritor de arquivos *fd*." -#: ../../library/os.rst:1420 +#: ../../library/os.rst:1460 msgid "" "This function is intended for low-level I/O and must be applied to a file " "descriptor as returned by :func:`os.open` or :func:`pipe`. To read a \"file " "object\" returned by the built-in function :func:`open` or by :func:`popen` " -"or :func:`fdopen`, or :data:`sys.stdin`, use its :meth:`~file.read` or :meth:" -"`~file.readline` methods." +"or :func:`fdopen`, or :data:`sys.stdin`, use its :meth:`~file.read` " +"or :meth:`~file.readline` methods." msgstr "" "Esta função destina-se a E/S de baixo nível e deve ser aplicada a um " "descritor de arquivo retornado por :func:`os.open` ou :func:`pipe`. Para ler " -"um \"objeto arquivo\" retornado pela função embutida :func:`open` ou por :" -"func:`popen` ou :func:`fdopen`, ou :data:`sys.stdin`, use seus métodos :meth:" -"`~file.read` ou :meth:`~file.readline`." +"um \"objeto arquivo\" retornado pela função embutida :func:`open` ou " +"por :func:`popen` ou :func:`fdopen`, ou :data:`sys.stdin`, use seus " +"métodos :meth:`~file.read` ou :meth:`~file.readline`." -#: ../../library/os.rst:1435 +#: ../../library/os.rst:1475 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 " @@ -2088,15 +2174,15 @@ msgstr "" "arquivo *out_fd* começando em *offset*. Retorna o número de bytes enviados. " "Quando o EOF é alcançado, retorna ``0``." -#: ../../library/os.rst:1439 +#: ../../library/os.rst:1479 msgid "" -"The first function notation is supported by all platforms that define :func:" -"`sendfile`." +"The first function notation is supported by all platforms that " +"define :func:`sendfile`." msgstr "" -"A primeira notação da função é suportada por todas as plataformas que " +"A primeira notação da função está disponível por todas as plataformas que " "definem :func:`sendfile`." -#: ../../library/os.rst:1442 +#: ../../library/os.rst:1482 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." @@ -2104,7 +2190,7 @@ msgstr "" "No Linux, se *offset* for fornecido como ``None``, os bytes são lidos da " "posição atual de *in_fd* e a posição de *in_fd* é atualizada." -#: ../../library/os.rst:1445 +#: ../../library/os.rst:1485 msgid "" "The second case may be used on macOS and FreeBSD where *headers* and " "*trailers* are arbitrary sequences of buffers that are written before and " @@ -2115,7 +2201,7 @@ msgstr "" "são sequências arbitrárias de buffers que são escritos antes e depois dos " "dados de *in_fd* ser escrito. Retorna o mesmo que no primeiro caso." -#: ../../library/os.rst:1449 +#: ../../library/os.rst:1489 msgid "" "On macOS and FreeBSD, a value of ``0`` for *count* specifies to send until " "the end of *in_fd* is reached." @@ -2123,7 +2209,7 @@ msgstr "" "No macOS e FreeBSD, um valor de ``0`` para *count* especifica enviar até o " "fim de *in_fd* ser alcançado." -#: ../../library/os.rst:1452 +#: ../../library/os.rst:1492 msgid "" "All platforms support sockets as *out_fd* file descriptor, and some " "platforms allow other types (e.g. regular file, pipe) as well." @@ -2132,7 +2218,7 @@ msgstr "" "*out_fd*, e algumas plataformas permitem outros tipos (por exemplo, arquivo " "regular, encadeamento) também." -#: ../../library/os.rst:1455 +#: ../../library/os.rst:1495 msgid "" "Cross-platform applications should not use *headers*, *trailers* and *flags* " "arguments." @@ -2140,32 +2226,19 @@ msgstr "" "Aplicativos de plataforma cruzada não devem usar os argumentos *headers*, " "*trailers* e *flags*." -#: ../../library/os.rst:1462 +#: ../../library/os.rst:1502 msgid "" -"For a higher-level wrapper of :func:`sendfile`, see :meth:`socket.socket." -"sendfile`." +"For a higher-level wrapper of :func:`sendfile`, " +"see :meth:`socket.socket.sendfile`." msgstr "" -"Para um invólucro de nível mais alto de :func:`sendfile`, consulte :meth:" -"`socket.socket.sendfile`." +"Para um invólucro de nível mais alto de :func:`sendfile`, " +"consulte :meth:`socket.socket.sendfile`." -#: ../../library/os.rst:1467 +#: ../../library/os.rst:1507 msgid "Parameters *out* and *in* was renamed to *out_fd* and *in_fd*." msgstr "Os parâmetros *out* e *in* foram renomeados para *out_fd* e *in_fd*." -#: ../../library/os.rst:1473 -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 "" -"Define o modo de bloqueio do descritor de arquivo especificado. Define o " -"sinalizador :data:`O_NONBLOCK` se blocking for ``False``; do contrário, " -"limpa o sinalizador." - -#: ../../library/os.rst:1476 -msgid "See also :func:`get_blocking` and :meth:`socket.socket.setblocking`." -msgstr "Veja também :func:`get_blocking` e :meth:`socket.socket.setblocking`." - -#: ../../library/os.rst:1490 +#: ../../library/os.rst:1515 msgid "" "Parameters to the :func:`sendfile` function, if the implementation supports " "them." @@ -2173,7 +2246,7 @@ msgstr "" "Parâmetros para a função :func:`sendfile`, se a implementação tiver suporte " "a eles." -#: ../../library/os.rst:1499 +#: ../../library/os.rst:1524 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 " @@ -2183,7 +2256,21 @@ msgstr "" "isso. Os dados não serão armazenados em cache na memória virtual e serão " "liberados posteriormente." -#: ../../library/os.rst:1509 +#: ../../library/os.rst:1534 +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 "" +"Define o modo de bloqueio do descritor de arquivo especificado. Define o " +"sinalizador :data:`O_NONBLOCK` se blocking for ``False``; do contrário, " +"limpa o sinalizador." + +#: ../../library/os.rst:1537 +msgid "See also :func:`get_blocking` and :meth:`socket.socket.setblocking`." +msgstr "Veja também :func:`get_blocking` e :meth:`socket.socket.setblocking`." + +#: ../../library/os.rst:1549 msgid "" "Transfer *count* bytes from file descriptor *src*, starting from offset " "*offset_src*, to file descriptor *dst*, starting from offset *offset_dst*. " @@ -2191,8 +2278,8 @@ msgid "" "is None, then *src* is read from the current position; respectively for " "*offset_dst*. The offset associated to the file descriptor that refers to a " "pipe must be ``None``. The files pointed by *src* and *dst* must reside in " -"the same filesystem, otherwise an :exc:`OSError` is raised with :attr:" -"`~OSError.errno` set to :data:`errno.EXDEV`." +"the same filesystem, otherwise an :exc:`OSError` is raised " +"with :attr:`~OSError.errno` set to :const:`errno.EXDEV`." msgstr "" "Transfere *count* bytes do descritor de arquivo *src*, começando do " "*offset_src*, para o descritor de arquivo *dst*, começando do *offset_dst*. " @@ -2201,10 +2288,10 @@ msgstr "" "mesmo para *offset_dst*. O deslocamento associado a um descritor de arquivo " "que se refere a um encadeamento deve ser ``None``. Os arquivos apontados por " "*src* e *dst* devem residir no mesmo sistema de arquivos, de outra forma " -"uma :exc:`OSError` é levantada com :attr:`~OSError.errno` definido para :" -"data:`errno.EXDEV`." +"uma :exc:`OSError` é levantada com :attr:`~OSError.errno` definido " +"para :const:`errno.EXDEV`." -#: ../../library/os.rst:1523 +#: ../../library/os.rst:1563 msgid "" "Upon successful completion, returns the number of bytes spliced to or from " "the pipe. A return value of 0 means end of input. If *src* refers to a pipe, " @@ -2212,30 +2299,30 @@ msgid "" "sense to block because there are no writers connected to the write end of " "the pipe." msgstr "" -"Após a conclusão bem-sucedida, retorna o número de bytes unidos ao " +"Após a conclusão bem-sucedida, retorna o número de bytes unidos ao " "encadeamento ou a partir dele. Um valor de retorno de 0 significa o fim da " "entrada. Se *src* se refere a um encadeamento, isso significa que não havia " "dados para transferir, e não faria sentido bloquear porque não há escritores " "conectados ao fim da escrita do encadeamento." -#: ../../library/os.rst:1529 +#: ../../library/os.rst:1569 msgid ":ref:`Availability `: Linux >= 2.6.17 with glibc >= 2.5" msgstr "" ":ref:`Disponibilidade `: Linux >= 2.6.17 com glibc >= 2.5" -#: ../../library/os.rst:1542 +#: ../../library/os.rst:1582 msgid "" "Read from a file descriptor *fd* into a number of mutable :term:`bytes-like " "objects ` *buffers*. 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 "" -"Lê de um descritor de arquivo *fd* em um número de *buffers* :term:`objetos " -"byte ou similar ` mutáveis. Transfere os dados para cada " -"buffer até que esteja cheio e, a seguir, vai para o próximo buffer na " +"Lê de um descritor de arquivo *fd* em um número de *buffers* :term:`objetos " +"bytes ou similares ` mutáveis. Transfere os dados para " +"cada buffer até que esteja cheio e, a seguir, vai para o próximo buffer na " "sequência para armazenar o restante dos dados." -#: ../../library/os.rst:1560 +#: ../../library/os.rst:1600 msgid "" "Return the process group associated with the terminal given by *fd* (an open " "file descriptor as returned by :func:`os.open`)." @@ -2243,11 +2330,11 @@ msgstr "" "Retorna o grupo de processos associado ao terminal fornecido por *fd* (um " "descritor de arquivo aberto retornado por :func:`os.open`)." -#: ../../library/os.rst:1563 ../../library/os.rst:1571 +#: ../../library/os.rst:1603 ../../library/os.rst:1611 msgid ":ref:`Availability `: Unix, not WASI." msgstr ":ref:`Disponibilidade `: Unix, não WASI." -#: ../../library/os.rst:1568 +#: ../../library/os.rst:1608 msgid "" "Set the process group associated with the terminal given by *fd* (an open " "file descriptor as returned by :func:`os.open`) to *pg*." @@ -2255,7 +2342,7 @@ msgstr "" "Define o grupo de processos associado ao terminal fornecido por *fd* (um " "descritor de arquivo aberto retornado por :func:`os.open`) para *pg*." -#: ../../library/os.rst:1576 +#: ../../library/os.rst:1616 msgid "" "Return a string which specifies the terminal device associated with file " "descriptor *fd*. If *fd* is not associated with a terminal device, an " @@ -2265,25 +2352,25 @@ msgstr "" "descritor de arquivo *fd*. Se *fd* não estiver associado a um dispositivo de " "terminal, uma exceção é levantada." -#: ../../library/os.rst:1585 +#: ../../library/os.rst:1625 msgid "Write the bytestring in *str* to file descriptor *fd*." -msgstr "Escreve a bytestring em *str* no descritor de arquivo *fd*." +msgstr "Escreve a string de bytes em *str* no descritor de arquivo *fd*." -#: ../../library/os.rst:1591 +#: ../../library/os.rst:1631 msgid "" "This function is intended for low-level I/O and must be applied to a file " "descriptor as returned by :func:`os.open` or :func:`pipe`. To write a " -"\"file object\" returned by the built-in function :func:`open` or by :func:" -"`popen` or :func:`fdopen`, or :data:`sys.stdout` or :data:`sys.stderr`, use " -"its :meth:`~file.write` method." +"\"file object\" returned by the built-in function :func:`open` or " +"by :func:`popen` or :func:`fdopen`, or :data:`sys.stdout` " +"or :data:`sys.stderr`, use its :meth:`~file.write` method." msgstr "" "Esta função destina-se a E/S de baixo nível e deve ser aplicada a um " "descritor de arquivo retornado por :func:`os.open` ou :func:`pipe`. Para " "escrever um \"objeto arquivo\" retornado pela função embutida :func:`open` " -"ou por :func:`popen` ou :func:`fdopen`, ou :data:`sys.stdout` ou :data:`sys." -"stderr`, use seu método :meth:`~file.write`." +"ou por :func:`popen` ou :func:`fdopen`, ou :data:`sys.stdout` " +"ou :data:`sys.stderr`, use seu método :meth:`~file.write`." -#: ../../library/os.rst:1605 +#: ../../library/os.rst:1645 msgid "" "Write the contents of *buffers* to file descriptor *fd*. *buffers* must be a " "sequence of :term:`bytes-like objects `. Buffers are " @@ -2291,19 +2378,20 @@ msgid "" "before proceeding to the second, and so on." msgstr "" "Escreve o conteúdo de *buffers* no descritor de arquivo *fd*. *buffers* deve " -"ser uma sequência de :term:`objetos byte ou similar `. Os " -"buffers são processados na ordem em que estão. Todo o conteúdo do primeiro " -"buffer é gravado antes de prosseguir para o segundo, e assim por diante." +"ser uma sequência de :term:`objetos bytes ou similares `. " +"Os buffers são processados na ordem em que estão. Todo o conteúdo do " +"primeiro buffer é gravado antes de prosseguir para o segundo, e assim por " +"diante." -#: ../../library/os.rst:1610 +#: ../../library/os.rst:1650 msgid "Returns the total number of bytes actually written." msgstr "Retorna o número total de bytes realmente escritos." -#: ../../library/os.rst:1623 +#: ../../library/os.rst:1663 msgid "Querying the size of a terminal" msgstr "Consultando o tamanho de um terminal" -#: ../../library/os.rst:1629 +#: ../../library/os.rst:1669 msgid "" "Return the size of the terminal window as ``(columns, lines)``, tuple of " "type :class:`terminal_size`." @@ -2311,7 +2399,7 @@ msgstr "" "Retorna o tamanho da janela do terminal como ``(columns, lines)``, tupla do " "tipo :class:`terminal_size`." -#: ../../library/os.rst:1632 +#: ../../library/os.rst:1672 msgid "" "The optional argument ``fd`` (default ``STDOUT_FILENO``, or standard output) " "specifies which file descriptor should be queried." @@ -2319,15 +2407,15 @@ msgstr "" "O argumento opcional ``fd`` (padrão ``STDOUT_FILENO``, ou saída padrão) " "especifica qual descritor de arquivo deve ser consultado." -#: ../../library/os.rst:1635 +#: ../../library/os.rst:1675 msgid "" "If the file descriptor is not connected to a terminal, an :exc:`OSError` is " "raised." msgstr "" -"Se o descritor de arquivo não estiver conectado a um terminal, uma exceção :" -"exc:`OSError` é levantada." +"Se o descritor de arquivo não estiver conectado a um terminal, uma " +"exceção :exc:`OSError` é levantada." -#: ../../library/os.rst:1638 +#: ../../library/os.rst:1678 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." @@ -2335,7 +2423,7 @@ msgstr "" ":func:`shutil.get_terminal_size` é a função de alto nível que normalmente " "deve ser usada, ``os.get_terminal_size`` é a implementação de baixo nível." -#: ../../library/os.rst:1646 +#: ../../library/os.rst:1686 msgid "" "A subclass of tuple, holding ``(columns, lines)`` of the terminal window " "size." @@ -2343,30 +2431,30 @@ msgstr "" "Uma subclasse de tupla, contendo ``(columns, lines)`` do tamanho da janela " "do terminal." -#: ../../library/os.rst:1650 +#: ../../library/os.rst:1690 msgid "Width of the terminal window in characters." msgstr "Largura da janela do terminal em caracteres." -#: ../../library/os.rst:1654 +#: ../../library/os.rst:1694 msgid "Height of the terminal window in characters." msgstr "Altura da janela do terminal em caracteres." -#: ../../library/os.rst:1660 +#: ../../library/os.rst:1700 msgid "Inheritance of File Descriptors" msgstr "Herança de descritores de arquivos" -#: ../../library/os.rst:1664 +#: ../../library/os.rst:1704 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 "" "Um descritor de arquivo tem um sinalizador \"herdável\" que indica se o " -"descritor de arquivo pode ser herdado por processos filho. Desde o Python " -"3.4, os descritores de arquivo criados pelo Python não são herdáveis por " -"padrão." +"descritor de arquivo pode ser herdado por processos filho. A partir do " +"Python 3.4, os descritores de arquivo criados pelo Python não são herdáveis " +"por padrão." -#: ../../library/os.rst:1668 +#: ../../library/os.rst:1708 msgid "" "On UNIX, non-inheritable file descriptors are closed in child processes at " "the execution of a new program, other file descriptors are inherited." @@ -2375,7 +2463,7 @@ msgstr "" "filho na execução de um novo programa, outros descritores de arquivo são " "herdados." -#: ../../library/os.rst:1671 +#: ../../library/os.rst:1711 msgid "" "On Windows, non-inheritable handles and file descriptors are closed in child " "processes, except for standard streams (file descriptors 0, 1 and 2: stdin, " @@ -2389,12 +2477,12 @@ msgstr "" "fechados em processos filho, exceto para fluxos padrão (descritores de " "arquivo 0, 1 e 2: stdin, stdout e stderr), que são sempre herdados. Usando " "as funções :func:`spawn\\* `, todos os identificadores herdáveis e " -"todos os descritores de arquivo herdáveis são herdados. Usando o módulo :mod:" -"`subprocess`, todos os descritores de arquivo, exceto fluxos padrão, são " -"fechados, e os manipuladores herdáveis são herdados apenas se o parâmetro " -"*close_fds* for ``False``." +"todos os descritores de arquivo herdáveis são herdados. Usando o " +"módulo :mod:`subprocess`, todos os descritores de arquivo, exceto fluxos " +"padrão, são fechados, e os manipuladores herdáveis são herdados apenas se o " +"parâmetro *close_fds* for ``False``." -#: ../../library/os.rst:1679 +#: ../../library/os.rst:1719 msgid "" "On WebAssembly platforms ``wasm32-emscripten`` and ``wasm32-wasi``, the file " "descriptor cannot be modified." @@ -2402,46 +2490,46 @@ msgstr "" "Nas plataformas WebAssembly ``wasm32-emscripten`` e ``wasm32-wasi``, o " "descritor de arquivo não pode ser modificado." -#: ../../library/os.rst:1684 +#: ../../library/os.rst:1724 msgid "" "Get the \"inheritable\" flag of the specified file descriptor (a boolean)." msgstr "" "Obtém o sinalizador \"herdável\" do descritor de arquivo especificado (um " "booleano)." -#: ../../library/os.rst:1688 +#: ../../library/os.rst:1728 msgid "Set the \"inheritable\" flag of the specified file descriptor." msgstr "" "Define o sinalizador \"herdável\" do descritor de arquivo especificado." -#: ../../library/os.rst:1692 +#: ../../library/os.rst:1732 msgid "Get the \"inheritable\" flag of the specified handle (a boolean)." msgstr "" "Obtém o sinalizador \"herdável\" do manipulador especificado (um booleano)." -#: ../../library/os.rst:1694 ../../library/os.rst:1700 -#: ../../library/os.rst:3651 ../../library/os.rst:4266 -#: ../../library/os.rst:4311 +#: ../../library/os.rst:1734 ../../library/os.rst:1740 +#: ../../library/os.rst:3703 ../../library/os.rst:4328 +#: ../../library/os.rst:4373 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." -#: ../../library/os.rst:1698 +#: ../../library/os.rst:1738 msgid "Set the \"inheritable\" flag of the specified handle." msgstr "Define o sinalizador \"herdável\" do manipulador especificado." -#: ../../library/os.rst:1706 +#: ../../library/os.rst:1746 msgid "Files and Directories" msgstr "Arquivos e diretórios" -#: ../../library/os.rst:1708 +#: ../../library/os.rst:1748 msgid "" "On some Unix platforms, many of these functions support one or more of these " "features:" msgstr "" -"Em algumas plataformas Unix, muitas dessas funções suportam um ou mais " -"destes recursos:" +"Em algumas plataformas Unix, muitas dessas funções oferecem suporte para um " +"ou mais destes recursos:" -#: ../../library/os.rst:1713 +#: ../../library/os.rst:1753 msgid "" "**specifying a file descriptor:** Normally the *path* argument provided to " "functions in the :mod:`os` module must be a string specifying a file path. " @@ -2451,7 +2539,7 @@ msgid "" "the function prefixed with ``f`` (e.g. call ``fchdir`` instead of " "``chdir``).)" msgstr "" -"**especificar um descritor de arquivo:** Normalmente o argumento *path* " +"**especificar um descritor de arquivo:** normalmente o argumento *path* " "fornecido para funções no módulo :mod:`os` deve ser uma string especificando " "um caminho de arquivo. No entanto, algumas funções agora aceitam " "alternativamente um descritor de arquivo aberto para seu argumento *path*. A " @@ -2459,27 +2547,28 @@ msgstr "" "POSIX, Python irá chamar a variante da função prefixada com ``f`` (por " "exemplo, chamar ``fchdir`` em vez de ``chdir``).)" -#: ../../library/os.rst:1721 +#: ../../library/os.rst:1761 msgid "" "You can check whether or not *path* can be specified as a file descriptor " "for a particular function on your platform using :data:`os.supports_fd`. If " -"this functionality is unavailable, using it will raise a :exc:" -"`NotImplementedError`." +"this functionality is unavailable, using it will raise " +"a :exc:`NotImplementedError`." msgstr "" "Você pode verificar se *path* pode ser especificado ou não como um descritor " -"de arquivo para uma função particular em sua plataforma usando :data:`os." -"supports_fd`. Se esta funcionalidade não estiver disponível, usá-la " -"levantará uma :exc:`NotImplementedError`." +"de arquivo para uma função particular em sua plataforma " +"usando :data:`os.supports_fd`. Se esta funcionalidade não estiver " +"disponível, usá-la levantará uma :exc:`NotImplementedError`." -#: ../../library/os.rst:1726 +#: ../../library/os.rst:1766 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 "" -"Se a função também suportar os argumentos *dir_fd* ou *follow_symlinks*, é " -"um erro especificar um deles ao fornecer *path* como um descritor de arquivo." +"Se a função também oferecer suporte para os argumentos *dir_fd* ou " +"*follow_symlinks*, é um erro especificar um deles ao fornecer *path* como um " +"descritor de arquivo." -#: ../../library/os.rst:1731 +#: ../../library/os.rst:1771 msgid "" "**paths relative to directory descriptors:** If *dir_fd* is not ``None``, it " "should be a file descriptor referring to a directory, and the path to " @@ -2489,25 +2578,25 @@ msgid "" "and possibly prefixed with ``f`` (e.g. call ``faccessat`` instead of " "``access``)." msgstr "" -"**caminhos relativos aos descritores de diretório:** Se *dir_fd* não for " +"**caminhos relativos aos descritores de diretório:** se *dir_fd* não for " "``None``, deve ser um descritor de arquivo referindo-se a um diretório, e o " "caminho para operar deve ser relativo; o caminho será relativo a esse " "diretório. Se o caminho for absoluto, *dir_fd* será ignorado. (Para sistemas " "POSIX, Python irá chamar a variante da função com um sufixo ``at`` e " -"possivelmente prefixado com ``f`` (por exemplo, chame ``faccessat`` ao invés " -"de ``access``)." +"possivelmente prefixado com ``f`` (por exemplo, chamar ``faccessat`` ao " +"invés de ``access``)." -#: ../../library/os.rst:1738 +#: ../../library/os.rst:1778 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 "" -"Você pode verificar se *dir_fd* é suportado ou não para uma função " +"Você pode verificar se há ou não suporte para *dir_fd* em uma função " "particular em sua plataforma usando :data:`os.supports_dir_fd`. Se não " "estiver disponível, usá-lo levantará uma :exc:`NotImplementedError`." -#: ../../library/os.rst:1744 +#: ../../library/os.rst:1784 msgid "" "**not following symlinks:** If *follow_symlinks* is ``False``, and the last " "element of the path to operate on is a symbolic link, the function will " @@ -2515,51 +2604,52 @@ msgid "" "link. (For POSIX systems, Python will call the ``l...`` variant of the " "function.)" msgstr "" -"**não seguir links simbólicos:** Se *follow_symlinks* for ``False``, e o " +"**não seguir links simbólicos:** se *follow_symlinks* for ``False``, e o " "último elemento do caminho para operar for um link simbólico, a função irá " "operar no próprio link simbólico ao invés do arquivo apontado pelo link. " "(Para sistemas POSIX, Python irá chamar a variante ``l...`` da função.)" -#: ../../library/os.rst:1750 +#: ../../library/os.rst:1790 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 "" -"Você pode verificar se *follow_symlinks* é suportado ou não para uma função " -"particular em sua plataforma usando :data:`os.supports_follow_symlinks`. Se " -"não estiver disponível, usá-lo levantará uma :exc:`NotImplementedError`." +"Você pode verificar se há ou não suporte para *follow_symlinks* em uma " +"função particular em sua plataforma " +"usando :data:`os.supports_follow_symlinks`. Se não estiver disponível, usá-" +"lo levantará uma :exc:`NotImplementedError`." -#: ../../library/os.rst:1758 +#: ../../library/os.rst:1798 msgid "" "Use the real uid/gid to test for access to *path*. Note that most " "operations will use the effective uid/gid, therefore this routine can be " "used in a suid/sgid environment to test if the invoking user has the " "specified access to *path*. *mode* should be :const:`F_OK` to test the " -"existence of *path*, or it can be the inclusive OR of one or more of :const:" -"`R_OK`, :const:`W_OK`, and :const:`X_OK` to test permissions. Return :const:" -"`True` if access is allowed, :const:`False` if not. See the Unix man page :" -"manpage:`access(2)` for more information." +"existence of *path*, or it can be the inclusive OR of one or more " +"of :const:`R_OK`, :const:`W_OK`, and :const:`X_OK` to test permissions. " +"Return :const:`True` if access is allowed, :const:`False` if not. See the " +"Unix man page :manpage:`access(2)` for more information." msgstr "" "Usa o uid/gid real para testar o acesso ao *path*. Observe que a maioria das " "operações usará o uid/gid efetivo, portanto, essa rotina pode ser usada em " -"um ambiente suid/sgid para testar se o usuário de chamada tem o acesso " +"um ambiente suid/sgid para testar se o usuário da chamada tem o acesso " "especificado ao *path*. *mode* deve ser :const:`F_OK` para testar a " -"existência de *path*, ou pode ser o OU inclusivo de um ou mais dos :const:" -"`R_OK`, :const:`W_OK`, e :const:`X_OK` para testar as permissões. Retorna :" -"const:`True` se o acesso for permitido, :const:`False` se não for. Veja a " -"página man do Unix :manpage:`access(2)` para mais informações." +"existência de *path*, ou pode ser o OU inclusivo de um ou mais " +"dos :const:`R_OK`, :const:`W_OK`, e :const:`X_OK` para testar as permissões. " +"Retorna :const:`True` se o acesso for permitido, :const:`False` se não for. " +"Veja a página man do Unix :manpage:`access(2)` para mais informações." -#: ../../library/os.rst:1767 +#: ../../library/os.rst:1807 msgid "" "This function can support specifying :ref:`paths relative to directory " "descriptors ` and :ref:`not following symlinks `." msgstr "" -"Esta função pode suportar a especificação de :ref:`caminhos relativos aos " -"descritores de diretório ` e :ref:`não seguir os links simbólicos " -"`." +"Esta função pode oferecer suporte a especificação de :ref:`caminhos " +"relativos aos descritores de diretório ` e :ref:`não seguir os links " +"simbólicos `." -#: ../../library/os.rst:1770 +#: ../../library/os.rst:1810 msgid "" "If *effective_ids* is ``True``, :func:`access` will perform its access " "checks using the effective uid/gid instead of the real uid/gid. " @@ -2570,11 +2660,11 @@ msgstr "" "Se *effective_ids* for ``True``, :func:`access` irá realizar suas " "verificações de acesso usando o uid/gid efetivo ao invés do uid/gid real. " "*effective_ids* pode não ser compatível com sua plataforma; você pode " -"verificar se está ou não disponível usando :data:`os." -"supports_effective_ids`. Se não estiver disponível, usá-lo levantará uma :" -"exc:`NotImplementedError`." +"verificar se está ou não disponível " +"usando :data:`os.supports_effective_ids`. Se não estiver disponível, usá-lo " +"levantará uma :exc:`NotImplementedError`." -#: ../../library/os.rst:1778 +#: ../../library/os.rst:1818 msgid "" "Using :func:`access` to check if a user is authorized to e.g. open a file " "before actually doing so using :func:`open` creates a security hole, because " @@ -2588,11 +2678,11 @@ msgstr "" "intervalo de tempo entre a verificação e a abertura do arquivo para manipulá-" "lo. É preferível usar as técnicas :term:`EAFP`. Por exemplo::" -#: ../../library/os.rst:1789 +#: ../../library/os.rst:1829 msgid "is better written as::" msgstr "é melhor escrito como::" -#: ../../library/os.rst:1801 +#: ../../library/os.rst:1841 msgid "" "I/O operations may fail even when :func:`access` indicates that they would " "succeed, particularly for operations on network filesystems which may have " @@ -2603,12 +2693,12 @@ msgstr "" "rede que podem ter semântica de permissões além do modelo de bits de " "permissão POSIX usual." -#: ../../library/os.rst:1805 +#: ../../library/os.rst:1845 msgid "Added the *dir_fd*, *effective_ids*, and *follow_symlinks* parameters." msgstr "" "Adicionados os parâmetros *dir_fd*, *effective_ids* e *follow_symlinks*." -#: ../../library/os.rst:1817 +#: ../../library/os.rst:1857 msgid "" "Values to pass as the *mode* parameter of :func:`access` to test the " "existence, readability, writability and executability of *path*, " @@ -2618,28 +2708,30 @@ msgstr "" "testar a existência, legibilidade, capacidade de escrita e executabilidade " "de *path*, respectivamente." -#: ../../library/os.rst:1826 +#: ../../library/os.rst:1866 msgid "Change the current working directory to *path*." msgstr "Altera o diretório de trabalho atual para *path*." -#: ../../library/os.rst:1828 +#: ../../library/os.rst:1868 msgid "" "This function can support :ref:`specifying a file descriptor `. " "The descriptor must refer to an opened directory, not an open file." msgstr "" -"Esta função pode ter suporte a :ref:`especificar um descritor de arquivo " -"`. O descritor deve fazer referência a um diretório aberto, não a " -"um arquivo aberto." +"Esta função pode oferecer suporte a :ref:`especificar um descritor de " +"arquivo `. O descritor deve fazer referência a um diretório aberto, " +"não a um arquivo aberto." -#: ../../library/os.rst:1831 +#: ../../library/os.rst:1871 msgid "" -"This function can raise :exc:`OSError` and subclasses such as :exc:" -"`FileNotFoundError`, :exc:`PermissionError`, and :exc:`NotADirectoryError`." +"This function can raise :exc:`OSError` and subclasses such " +"as :exc:`FileNotFoundError`, :exc:`PermissionError`, " +"and :exc:`NotADirectoryError`." msgstr "" -"Esta função pode levantar :exc:`OSError` e subclasses como :exc:" -"`FileNotFoundError`, :exc:`PermissionError` e :exc:`NotADirectoryError`." +"Esta função pode levantar :exc:`OSError` e subclasses " +"como :exc:`FileNotFoundError`, :exc:`PermissionError` " +"e :exc:`NotADirectoryError`." -#: ../../library/os.rst:1834 ../../library/os.rst:1967 +#: ../../library/os.rst:1874 ../../library/os.rst:2007 msgid "" "Raises an :ref:`auditing event ` ``os.chdir`` with argument " "``path``." @@ -2647,79 +2739,79 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.chdir`` com o " "argumento ``path``." -#: ../../library/os.rst:1836 +#: ../../library/os.rst:1876 msgid "" "Added support for specifying *path* as a file descriptor on some platforms." msgstr "" "Adicionado suporte para especificar *path* como um descritor de arquivo em " "algumas plataformas." -#: ../../library/os.rst:1846 +#: ../../library/os.rst:1886 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):" +"combination (bitwise OR) of the following values (as defined in " +"the :mod:`stat` module):" msgstr "" "Define os sinalizadores de *path* para os *flags* numéricos. *flags* podem " "assumir uma combinação (OU bit a bit) dos seguintes valores (conforme " "definido no módulo :mod:`stat`):" -#: ../../library/os.rst:1849 -msgid ":data:`stat.UF_NODUMP`" -msgstr ":data:`stat.UF_NODUMP`" +#: ../../library/os.rst:1889 +msgid ":const:`stat.UF_NODUMP`" +msgstr ":const:`stat.UF_NODUMP`" -#: ../../library/os.rst:1850 -msgid ":data:`stat.UF_IMMUTABLE`" -msgstr ":data:`stat.UF_IMMUTABLE`" +#: ../../library/os.rst:1890 +msgid ":const:`stat.UF_IMMUTABLE`" +msgstr ":const:`stat.UF_IMMUTABLE`" -#: ../../library/os.rst:1851 -msgid ":data:`stat.UF_APPEND`" -msgstr ":data:`stat.UF_APPEND`" +#: ../../library/os.rst:1891 +msgid ":const:`stat.UF_APPEND`" +msgstr ":const:`stat.UF_APPEND`" -#: ../../library/os.rst:1852 -msgid ":data:`stat.UF_OPAQUE`" -msgstr ":data:`stat.UF_OPAQUE`" +#: ../../library/os.rst:1892 +msgid ":const:`stat.UF_OPAQUE`" +msgstr ":const:`stat.UF_OPAQUE`" -#: ../../library/os.rst:1853 -msgid ":data:`stat.UF_NOUNLINK`" -msgstr ":data:`stat.UF_NOUNLINK`" +#: ../../library/os.rst:1893 +msgid ":const:`stat.UF_NOUNLINK`" +msgstr ":const:`stat.UF_NOUNLINK`" -#: ../../library/os.rst:1854 -msgid ":data:`stat.UF_COMPRESSED`" -msgstr ":data:`stat.UF_COMPRESSED`" +#: ../../library/os.rst:1894 +msgid ":const:`stat.UF_COMPRESSED`" +msgstr ":const:`stat.UF_COMPRESSED`" -#: ../../library/os.rst:1855 -msgid ":data:`stat.UF_HIDDEN`" -msgstr ":data:`stat.UF_HIDDEN`" +#: ../../library/os.rst:1895 +msgid ":const:`stat.UF_HIDDEN`" +msgstr ":const:`stat.UF_HIDDEN`" -#: ../../library/os.rst:1856 -msgid ":data:`stat.SF_ARCHIVED`" -msgstr ":data:`stat.SF_ARCHIVED`" +#: ../../library/os.rst:1896 +msgid ":const:`stat.SF_ARCHIVED`" +msgstr ":const:`stat.SF_ARCHIVED`" -#: ../../library/os.rst:1857 -msgid ":data:`stat.SF_IMMUTABLE`" -msgstr ":data:`stat.SF_IMMUTABLE`" +#: ../../library/os.rst:1897 +msgid ":const:`stat.SF_IMMUTABLE`" +msgstr ":const:`stat.SF_IMMUTABLE`" -#: ../../library/os.rst:1858 -msgid ":data:`stat.SF_APPEND`" -msgstr ":data:`stat.SF_APPEND`" +#: ../../library/os.rst:1898 +msgid ":const:`stat.SF_APPEND`" +msgstr ":const:`stat.SF_APPEND`" -#: ../../library/os.rst:1859 -msgid ":data:`stat.SF_NOUNLINK`" -msgstr ":data:`stat.SF_NOUNLINK`" +#: ../../library/os.rst:1899 +msgid ":const:`stat.SF_NOUNLINK`" +msgstr ":const:`stat.SF_NOUNLINK`" -#: ../../library/os.rst:1860 -msgid ":data:`stat.SF_SNAPSHOT`" -msgstr ":data:`stat.SF_SNAPSHOT`" +#: ../../library/os.rst:1900 +msgid ":const:`stat.SF_SNAPSHOT`" +msgstr ":const:`stat.SF_SNAPSHOT`" -#: ../../library/os.rst:1862 +#: ../../library/os.rst:1902 msgid "" "This function can support :ref:`not following symlinks `." msgstr "" -"Esta função pode ter suporte a :ref:`não seguir links simbólicos " +"Esta função pode oferecer suporte a :ref:`não seguir links simbólicos " "`." -#: ../../library/os.rst:1864 ../../library/os.rst:1993 +#: ../../library/os.rst:1904 ../../library/os.rst:2033 msgid "" "Raises an :ref:`auditing event ` ``os.chflags`` with arguments " "``path``, ``flags``." @@ -2727,11 +2819,11 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.chflags`` com os " "argumentos ``path``, ``flags``." -#: ../../library/os.rst:1868 -msgid "The *follow_symlinks* argument." -msgstr "O argumento *follow_symlinks*." +#: ../../library/os.rst:1908 +msgid "Added the *follow_symlinks* parameter." +msgstr "Adicionado o parâmetro *follow_symlinks*." -#: ../../library/os.rst:1877 +#: ../../library/os.rst:1917 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 " @@ -2741,105 +2833,105 @@ msgstr "" "seguintes valores (conforme definido no módulo :mod:`stat`) ou combinações " "de OU bit a bit deles:" -#: ../../library/os.rst:1881 -msgid ":data:`stat.S_ISUID`" -msgstr ":data:`stat.S_ISUID`" +#: ../../library/os.rst:1921 +msgid ":const:`stat.S_ISUID`" +msgstr ":const:`stat.S_ISUID`" -#: ../../library/os.rst:1882 -msgid ":data:`stat.S_ISGID`" -msgstr ":data:`stat.S_ISGID`" +#: ../../library/os.rst:1922 +msgid ":const:`stat.S_ISGID`" +msgstr ":const:`stat.S_ISGID`" -#: ../../library/os.rst:1883 -msgid ":data:`stat.S_ENFMT`" -msgstr ":data:`stat.S_ENFMT`" +#: ../../library/os.rst:1923 +msgid ":const:`stat.S_ENFMT`" +msgstr ":const:`stat.S_ENFMT`" -#: ../../library/os.rst:1884 -msgid ":data:`stat.S_ISVTX`" -msgstr ":data:`stat.S_ISVTX`" +#: ../../library/os.rst:1924 +msgid ":const:`stat.S_ISVTX`" +msgstr ":const:`stat.S_ISVTX`" -#: ../../library/os.rst:1885 -msgid ":data:`stat.S_IREAD`" -msgstr ":data:`stat.S_IREAD`" +#: ../../library/os.rst:1925 +msgid ":const:`stat.S_IREAD`" +msgstr ":const:`stat.S_IREAD`" -#: ../../library/os.rst:1886 -msgid ":data:`stat.S_IWRITE`" -msgstr ":data:`stat.S_IWRITE`" +#: ../../library/os.rst:1926 +msgid ":const:`stat.S_IWRITE`" +msgstr ":const:`stat.S_IWRITE`" -#: ../../library/os.rst:1887 -msgid ":data:`stat.S_IEXEC`" -msgstr ":data:`stat.S_IEXEC`" +#: ../../library/os.rst:1927 +msgid ":const:`stat.S_IEXEC`" +msgstr ":const:`stat.S_IEXEC`" -#: ../../library/os.rst:1888 -msgid ":data:`stat.S_IRWXU`" -msgstr ":data:`stat.S_IRWXU`" +#: ../../library/os.rst:1928 +msgid ":const:`stat.S_IRWXU`" +msgstr ":const:`stat.S_IRWXU`" -#: ../../library/os.rst:1889 -msgid ":data:`stat.S_IRUSR`" -msgstr ":data:`stat.S_IRUSR`" +#: ../../library/os.rst:1929 +msgid ":const:`stat.S_IRUSR`" +msgstr ":const:`stat.S_IRUSR`" -#: ../../library/os.rst:1890 -msgid ":data:`stat.S_IWUSR`" -msgstr ":data:`stat.S_IWUSR`" +#: ../../library/os.rst:1930 +msgid ":const:`stat.S_IWUSR`" +msgstr ":const:`stat.S_IWUSR`" -#: ../../library/os.rst:1891 -msgid ":data:`stat.S_IXUSR`" -msgstr ":data:`stat.S_IXUSR`" +#: ../../library/os.rst:1931 +msgid ":const:`stat.S_IXUSR`" +msgstr ":const:`stat.S_IXUSR`" -#: ../../library/os.rst:1892 -msgid ":data:`stat.S_IRWXG`" -msgstr ":data:`stat.S_IRWXG`" +#: ../../library/os.rst:1932 +msgid ":const:`stat.S_IRWXG`" +msgstr ":const:`stat.S_IRWXG`" -#: ../../library/os.rst:1893 -msgid ":data:`stat.S_IRGRP`" -msgstr ":data:`stat.S_IRGRP`" +#: ../../library/os.rst:1933 +msgid ":const:`stat.S_IRGRP`" +msgstr ":const:`stat.S_IRGRP`" -#: ../../library/os.rst:1894 -msgid ":data:`stat.S_IWGRP`" -msgstr ":data:`stat.S_IWGRP`" +#: ../../library/os.rst:1934 +msgid ":const:`stat.S_IWGRP`" +msgstr ":const:`stat.S_IWGRP`" -#: ../../library/os.rst:1895 -msgid ":data:`stat.S_IXGRP`" -msgstr ":data:`stat.S_IXGRP`" +#: ../../library/os.rst:1935 +msgid ":const:`stat.S_IXGRP`" +msgstr ":const:`stat.S_IXGRP`" -#: ../../library/os.rst:1896 -msgid ":data:`stat.S_IRWXO`" -msgstr ":data:`stat.S_IRWXO`" +#: ../../library/os.rst:1936 +msgid ":const:`stat.S_IRWXO`" +msgstr ":const:`stat.S_IRWXO`" -#: ../../library/os.rst:1897 -msgid ":data:`stat.S_IROTH`" -msgstr ":data:`stat.S_IROTH`" +#: ../../library/os.rst:1937 +msgid ":const:`stat.S_IROTH`" +msgstr ":const:`stat.S_IROTH`" -#: ../../library/os.rst:1898 -msgid ":data:`stat.S_IWOTH`" -msgstr ":data:`stat.S_IWOTH`" +#: ../../library/os.rst:1938 +msgid ":const:`stat.S_IWOTH`" +msgstr ":const:`stat.S_IWOTH`" -#: ../../library/os.rst:1899 -msgid ":data:`stat.S_IXOTH`" -msgstr ":data:`stat.S_IXOTH`" +#: ../../library/os.rst:1939 +msgid ":const:`stat.S_IXOTH`" +msgstr ":const:`stat.S_IXOTH`" -#: ../../library/os.rst:1901 ../../library/os.rst:1929 -#: ../../library/os.rst:3192 +#: ../../library/os.rst:1941 ../../library/os.rst:1969 +#: ../../library/os.rst:3244 msgid "" -"This function can support :ref:`specifying a file descriptor `, :" -"ref:`paths relative to directory descriptors ` and :ref:`not " -"following symlinks `." +"This function can support :ref:`specifying a file descriptor " +"`, :ref:`paths relative to directory descriptors ` " +"and :ref:`not following symlinks `." msgstr "" -"Esta função pode ter suporte a :ref:`especificar um descritor de arquivo " -"`, :ref:`caminhos relativos aos descritores de diretório ` " -"e :ref:`não seguir os links simbólicos `." +"Esta função pode oferecer suporte a :ref:`especificar um descritor de " +"arquivo `, :ref:`caminhos relativos aos descritores de diretório " +"` e :ref:`não seguir os links simbólicos `." -#: ../../library/os.rst:1907 +#: ../../library/os.rst:1947 msgid "" "Although Windows supports :func:`chmod`, you can only set the file's read-" "only flag with it (via the ``stat.S_IWRITE`` and ``stat.S_IREAD`` constants " "or a corresponding integer value). All other bits are ignored." msgstr "" -"Embora o Windows tenha suporte ao :func:`chmod`, você só pode definir o " -"sinalizador de somente leitura do arquivo com ele (através das constantes " +"Embora o Windows ofereça suporte ao :func:`chmod`, você só pode definir o " +"sinalizador de somente leitura do arquivo (através das constantes " "``stat.S_IWRITE`` e ``stat.S_IREAD`` ou um valor inteiro correspondente). " "Todos os outros bits são ignorados." -#: ../../library/os.rst:1916 ../../library/os.rst:1943 +#: ../../library/os.rst:1956 ../../library/os.rst:1983 msgid "" "Added support for specifying *path* as an open file descriptor, and the " "*dir_fd* and *follow_symlinks* arguments." @@ -2847,7 +2939,7 @@ msgstr "" "Adicionado suporte para especificar *path* como um descritor de arquivo " "aberto e os argumentos *dir_fd* e *follow_symlinks*." -#: ../../library/os.rst:1926 +#: ../../library/os.rst:1966 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." @@ -2855,7 +2947,7 @@ msgstr "" "Altera o proprietário e o id de grupo de *path* para *uid* e *gid* " "numéricos. Para deixar um dos ids inalterado, defina-o como -1." -#: ../../library/os.rst:1933 +#: ../../library/os.rst:1973 msgid "" "See :func:`shutil.chown` for a higher-level function that accepts names in " "addition to numeric ids." @@ -2863,15 +2955,15 @@ msgstr "" "Consulte :func:`shutil.chown` para uma função de alto nível que aceita nomes " "além de ids numéricos." -#: ../../library/os.rst:1947 +#: ../../library/os.rst:1987 msgid "Supports a :term:`path-like object`." -msgstr "Suporta um :term:`objeto caminho ou similar`." +msgstr "Oferece suporte para um :term:`objeto caminho ou similar`." -#: ../../library/os.rst:1953 +#: ../../library/os.rst:1993 msgid "Change the root directory of the current process to *path*." msgstr "Altera o diretório raiz do processo atual para *path*" -#: ../../library/os.rst:1963 +#: ../../library/os.rst:2003 msgid "" "Change the current working directory to the directory represented by the " "file descriptor *fd*. The descriptor must refer to an opened directory, not " @@ -2879,18 +2971,18 @@ msgid "" msgstr "" "Altera o diretório de trabalho atual para o diretório representado pelo " "descritor de arquivo *fd*. O descritor deve se referir a um diretório " -"aberto, não a um arquivo aberto. No Python 3.3, isso é equivalente a ``os." -"chdir(fd)``." +"aberto, não a um arquivo aberto. No Python 3.3, isso é equivalente a " +"``os.chdir(fd)``." -#: ../../library/os.rst:1974 +#: ../../library/os.rst:2014 msgid "Return a string representing the current working directory." msgstr "Retorna uma string representando o diretório de trabalho atual." -#: ../../library/os.rst:1979 +#: ../../library/os.rst:2019 msgid "Return a bytestring representing the current working directory." msgstr "Retorna uma bytestring representando o diretório de trabalho atual." -#: ../../library/os.rst:1981 +#: ../../library/os.rst:2021 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 " @@ -2900,29 +2992,45 @@ msgstr "" "código ANSI: consulte a :pep:`529` para a justificativa. A função não está " "mais descontinuada no Windows." -#: ../../library/os.rst:1989 +#: ../../library/os.rst:2029 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)``." +"not follow symbolic links. As of Python 3.3, this is equivalent to " +"``os.chflags(path, flags, follow_symlinks=False)``." msgstr "" -"Define os sinalizadores de *path* para os *flags* numéricos, como :func:" -"`chflags`, mas não segue links simbólicos. No Python 3.3, isso é equivalente " -"a ``os.chflags(path, flags, follow_symlinks=False)``." +"Define os sinalizadores de *path* para os *flags* numéricos, " +"como :func:`chflags`, mas não segue links simbólicos. No Python 3.3, isso é " +"equivalente a ``os.chflags(path, flags, follow_symlinks=False)``." -#: ../../library/os.rst:2003 +#: ../../library/os.rst:2043 msgid "" "Change the mode of *path* to the numeric *mode*. If path is a symlink, this " "affects the symlink rather than the target. See the docs for :func:`chmod` " -"for possible values of *mode*. As of Python 3.3, this is equivalent to ``os." -"chmod(path, mode, follow_symlinks=False)``." +"for possible values of *mode*. As of Python 3.3, this is equivalent to " +"``os.chmod(path, mode, follow_symlinks=False)``." msgstr "" "Altera o modo de *path* para o *mode* numérico. Se o caminho for um link " "simbólico, isso afetará o link simbólico em vez do destino. Veja a " "documentação de :func:`chmod` para valores possíveis de *mode*. No Python " "3.3, isso é equivalente a ``os.chmod(path, mode, follow_symlinks=False)``." -#: ../../library/os.rst:2017 +#: ../../library/os.rst:2048 +msgid "" +"``lchmod()`` is not part of POSIX, but Unix implementations may have it if " +"changing the mode of symbolic links is supported." +msgstr "" +"``lchmod()`` não faz parte do POSIX, mas as implementações Unix podem tê-lo " +"se houver suporte para alterar o modo de links simbólicos." + +#: ../../library/os.rst:2053 +msgid "" +":ref:`Availability `: Unix, not Linux, FreeBSD >= 1.3, NetBSD " +">= 1.3, not OpenBSD" +msgstr "" +":ref:`Disponibilidade `: Unix, não Linux, FreeBSD >= 1.3, " +"NetBSD >= 1.3, não OpenBSD" + +#: ../../library/os.rst:2060 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 " @@ -2932,42 +3040,47 @@ msgstr "" "numéricos. Esta função não seguirá links simbólicos. No Python 3.3, isso é " "equivalente a ``os.chown(path, uid, gid, follow_symlinks=False)``." -#: ../../library/os.rst:2031 +#: ../../library/os.rst:2074 msgid "Create a hard link pointing to *src* named *dst*." msgstr "Cria um link físico apontando para *src* chamado *dst*." -#: ../../library/os.rst:2033 +#: ../../library/os.rst:2076 msgid "" "This function can support specifying *src_dir_fd* and/or *dst_dir_fd* to " -"supply :ref:`paths relative to directory descriptors `, and :ref:" -"`not following symlinks `." +"supply :ref:`paths relative to directory descriptors `, " +"and :ref:`not following symlinks `." msgstr "" -"Esta função pode suportar a especificação de *src_dir_fd* e/ou *dst_dir_fd* " +"Esta função pode permitir a especificação de *src_dir_fd* e/ou *dst_dir_fd* " "para fornecer :ref:`caminhos relativos a descritores de diretório ` " "e :ref:`não seguir links simbólicos `." -#: ../../library/os.rst:2037 +#: ../../library/os.rst:2080 msgid "" "Raises an :ref:`auditing event ` ``os.link`` with arguments " "``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.link`` com argumentos " -"``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." +"Levanta um :ref:`evento de auditoria ` ``os.link`` com os " +"argumentos ``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." + +#: ../../library/os.rst:2082 +msgid ":ref:`Availability `: Unix, Windows, not Emscripten." +msgstr ":ref:`Disponibilidade `: Unix, Windows, não Emscripten." -#: ../../library/os.rst:2041 +#: ../../library/os.rst:2084 ../../library/os.rst:3999 msgid "Added Windows support." msgstr "Adicionado suporte ao Windows." -#: ../../library/os.rst:2044 -msgid "Added the *src_dir_fd*, *dst_dir_fd*, and *follow_symlinks* arguments." -msgstr "Adiciona os argumentos *src_dir_fd*, *dst_dir_fd* e *follow_symlinks*." +#: ../../library/os.rst:2087 +msgid "Added the *src_dir_fd*, *dst_dir_fd*, and *follow_symlinks* parameters." +msgstr "" +"Adicionados os parâmetros *src_dir_fd*, *dst_dir_fd* e *follow_symlinks*." -#: ../../library/os.rst:2047 ../../library/os.rst:2402 -#: ../../library/os.rst:2439 ../../library/os.rst:3114 +#: ../../library/os.rst:2090 ../../library/os.rst:2451 +#: ../../library/os.rst:2488 ../../library/os.rst:3166 msgid "Accepts a :term:`path-like object` for *src* and *dst*." msgstr "Aceita um :term:`objeto caminho ou similar` para *src* e *dst*." -#: ../../library/os.rst:2053 +#: ../../library/os.rst:2096 msgid "" "Return a list containing the names of the entries in the directory given by " "*path*. The list is in arbitrary order, and does not include the special " @@ -2981,7 +3094,7 @@ msgstr "" "for removido ou adicionado ao diretório durante a chamada desta função, não " "é especificado se um nome para esse arquivo deve ser incluído." -#: ../../library/os.rst:2059 +#: ../../library/os.rst:2102 msgid "" "*path* may be a :term:`path-like object`. If *path* is of type ``bytes`` " "(directly or indirectly through the :class:`PathLike` interface), the " @@ -2993,7 +3106,7 @@ msgstr "" "os nomes de arquivo retornados também serão do tipo ``bytes``; em todas as " "outras circunstâncias, eles serão do tipo ``str``." -#: ../../library/os.rst:2064 ../../library/os.rst:2487 +#: ../../library/os.rst:2107 ../../library/os.rst:2536 msgid "" "This function can also support :ref:`specifying a file descriptor " "`; the file descriptor must refer to a directory." @@ -3002,7 +3115,7 @@ msgstr "" "arquivo `; o descritor de arquivo deve fazer referência a um " "diretório." -#: ../../library/os.rst:2067 +#: ../../library/os.rst:2110 msgid "" "Raises an :ref:`auditing event ` ``os.listdir`` with argument " "``path``." @@ -3010,13 +3123,13 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.listdir`` com o " "argumento ``path``." -#: ../../library/os.rst:2070 +#: ../../library/os.rst:2113 msgid "To encode ``str`` filenames to ``bytes``, use :func:`~os.fsencode`." msgstr "" -"Para codificar nomes de arquivos ``str`` para ``bytes``, use :func:`~os." -"fsencode`." +"Para codificar nomes de arquivos ``str`` para ``bytes``, " +"use :func:`~os.fsencode`." -#: ../../library/os.rst:2074 +#: ../../library/os.rst:2117 msgid "" "The :func:`scandir` function returns directory entries along with file " "attribute information, giving better performance for many common use cases." @@ -3025,35 +3138,35 @@ msgstr "" "de atributo de arquivo, dando melhor desempenho para muitos casos de uso " "comuns." -#: ../../library/os.rst:2078 +#: ../../library/os.rst:2121 msgid "The *path* parameter became optional." msgstr "O parâmetro *path* tornou-se opcional." -#: ../../library/os.rst:2081 ../../library/os.rst:2973 +#: ../../library/os.rst:2124 ../../library/os.rst:3025 msgid "Added support for specifying *path* as an open file descriptor." msgstr "" "Adicionado suporte para especificar *path* como um descritor de arquivo " "aberto." -#: ../../library/os.rst:2090 +#: ../../library/os.rst:2133 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." +"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 "" -"Executa o equivalente a uma chamada de sistema :c:func:`lstat` no caminho " +"Executa o equivalente a uma chamada de sistema :c:func:`!lstat` no caminho " "fornecido. Semelhante a :func:`~os.stat`, mas não segue links simbólicos. " "Retorna um objeto :class:`stat_result`." -#: ../../library/os.rst:2094 +#: ../../library/os.rst:2137 msgid "" -"On platforms that do not support symbolic links, this is an alias for :func:" -"`~os.stat`." +"On platforms that do not support symbolic links, this is an alias " +"for :func:`~os.stat`." msgstr "" -"Em plataformas que não têm suporte a links simbólicos, este é um alias para :" -"func:`~os.stat`." +"Em plataformas que não têm suporte a links simbólicos, este é um apelido " +"para :func:`~os.stat`." -#: ../../library/os.rst:2097 +#: ../../library/os.rst:2140 msgid "" "As of Python 3.3, this is equivalent to ``os.stat(path, dir_fd=dir_fd, " "follow_symlinks=False)``." @@ -3061,9 +3174,9 @@ msgstr "" "No Python 3.3, isso é equivalente a ``os.stat(path, dir_fd=dir_fd, " "follow_symlinks=False)``." -#: ../../library/os.rst:2100 ../../library/os.rst:2138 -#: ../../library/os.rst:2203 ../../library/os.rst:2231 -#: ../../library/os.rst:2305 +#: ../../library/os.rst:2143 ../../library/os.rst:2185 +#: ../../library/os.rst:2253 ../../library/os.rst:2281 +#: ../../library/os.rst:2355 msgid "" "This function can also support :ref:`paths relative to directory descriptors " "`." @@ -3071,42 +3184,38 @@ msgstr "" "Esta função também pode ter suporte a :ref:`caminhos relativos a descritores " "de diretório `." -#: ../../library/os.rst:2107 ../../library/os.rst:2314 -#: ../../library/os.rst:3107 +#: ../../library/os.rst:2150 ../../library/os.rst:2364 +#: ../../library/os.rst:3159 msgid "Added support for Windows 6.0 (Vista) symbolic links." msgstr "Adicionado suporte para links simbólicos do Windows 6.0 (Vista)." -#: ../../library/os.rst:2110 -msgid "Added the *dir_fd* parameter." -msgstr "Adicionado o parâmetro *dir_fd*." - -#: ../../library/os.rst:2116 +#: ../../library/os.rst:2159 msgid "" "On Windows, now opens reparse points that represent another path (name " "surrogates), including symbolic links and directory junctions. Other kinds " -"of reparse points are resolved by the operating system as for :func:`~os." -"stat`." +"of reparse points are resolved by the operating system as " +"for :func:`~os.stat`." msgstr "" "No Windows, agora abre pontos de nova análise que representam outro caminho " "(substitutos de nome), incluindo links simbólicos e junções de diretório. " "Outros tipos de pontos de nova análise são resolvidos pelo sistema " "operacional como para :func:`~os.stat`." -#: ../../library/os.rst:2125 +#: ../../library/os.rst:2168 msgid "Create a directory named *path* with numeric mode *mode*." msgstr "Cria um diretório chamado *path* com o modo numérico *mode*." -#: ../../library/os.rst:2127 +#: ../../library/os.rst:2170 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 "" "Se o diretório já existe, uma exceção :exc:`FileExistsError` é levantada. Se " -"um diretório pai no caminho não existir, uma exceção :exc:" -"`FileNotFoundError` será levantada." +"um diretório pai no caminho não existir, uma " +"exceção :exc:`FileNotFoundError` será levantada." -#: ../../library/os.rst:2132 +#: ../../library/os.rst:2175 msgid "" "On some systems, *mode* is ignored. Where it is used, the current umask " "value is first masked out. If bits other than the last 9 (i.e. the last 3 " @@ -3120,15 +3229,26 @@ msgstr "" "significado depende da plataforma. Em algumas plataformas, eles são " "ignorados e você deve chamar :func:`chmod` explicitamente para defini-los." -#: ../../library/os.rst:2141 +#: ../../library/os.rst:2181 +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 "" +"No Windows, um modo *mode* de ``0o700`` é tratado especificamente para " +"aplicar controle de acesso ao novo diretório de forma que apenas o usuário " +"atual e os administradores tenham acesso. Outros valores de *mode* são " +"ignorados." + +#: ../../library/os.rst:2188 msgid "" "It is also possible to create temporary directories; see the :mod:`tempfile` " "module's :func:`tempfile.mkdtemp` function." msgstr "" -"Também é possível criar diretórios temporários; veja a função :func:" -"`tempfile.mkdtemp` do módulo :mod:`tempfile`." +"Também é possível criar diretórios temporários; veja a " +"função :func:`tempfile.mkdtemp` do módulo :mod:`tempfile`." -#: ../../library/os.rst:2144 ../../library/os.rst:2178 +#: ../../library/os.rst:2191 ../../library/os.rst:2228 msgid "" "Raises an :ref:`auditing event ` ``os.mkdir`` with arguments " "``path``, ``mode``, ``dir_fd``." @@ -3136,16 +3256,20 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.mkdir`` com os " "argumentos ``path``, ``mode``, ``dir_fd``." -#: ../../library/os.rst:2159 +#: ../../library/os.rst:2199 +msgid "Windows now handles a *mode* of ``0o700``." +msgstr "O Windows agora lida com um *mode* de ``0o700``." + +#: ../../library/os.rst:2209 msgid "" "Recursive directory creation function. Like :func:`mkdir`, but makes all " "intermediate-level directories needed to contain the leaf directory." msgstr "" -"Função de criação recursiva de diretório. Como :func:`mkdir`, mas torna " -"todos os diretórios de nível intermediário necessários para conter o " -"diretório folha." +"Função de criação recursiva de diretório. Como :func:`mkdir`, mas cria todos " +"os diretórios de nível intermediário necessários para conter o diretório " +"folha." -#: ../../library/os.rst:2162 +#: ../../library/os.rst:2212 msgid "" "The *mode* parameter is passed to :func:`mkdir` for creating the leaf " "directory; see :ref:`the mkdir() description ` for how it is " @@ -3156,11 +3280,11 @@ msgstr "" "O parâmetro *mode* é passado para :func:`mkdir` para criar o diretório " "folha; veja :ref:`a descrição do mkdir() ` para como é " "interpretado. Para definir os bits de permissão de arquivo de qualquer " -"diretório pai recém-criado, você pode definir o umask antes de invocar :func:" -"`makedirs`. Os bits de permissão de arquivo dos diretórios pais existentes " -"não são alterados." +"diretório pai recém-criado, você pode definir o umask antes de " +"invocar :func:`makedirs`. Os bits de permissão de arquivo dos diretórios " +"pais existentes não são alterados." -#: ../../library/os.rst:2168 +#: ../../library/os.rst:2218 msgid "" "If *exist_ok* is ``False`` (the default), a :exc:`FileExistsError` is raised " "if the target directory already exists." @@ -3168,7 +3292,7 @@ msgstr "" "Se *exist_ok* for ``False`` (o padrão), uma :exc:`FileExistsError` é " "levantada se o diretório alvo já existir." -#: ../../library/os.rst:2173 +#: ../../library/os.rst:2223 msgid "" ":func:`makedirs` will become confused if the path elements to create " "include :data:`pardir` (eg. \"..\" on UNIX systems)." @@ -3176,20 +3300,20 @@ msgstr "" ":func:`makedirs` ficará confuso se os elementos do caminho a serem criados " "incluírem :data:`pardir` (por exemplo, \"..\" em sistemas UNIX)." -#: ../../library/os.rst:2176 +#: ../../library/os.rst:2226 msgid "This function handles UNC paths correctly." msgstr "Esta função trata os caminhos UNC corretamente." -#: ../../library/os.rst:2180 -msgid "The *exist_ok* parameter." -msgstr "O parâmetro *exist_ok*." +#: ../../library/os.rst:2230 +msgid "Added the *exist_ok* parameter." +msgstr "Adicionado o parâmetro *exist_ok*." -#: ../../library/os.rst:2185 +#: ../../library/os.rst:2235 msgid "" -"Before Python 3.4.1, if *exist_ok* was ``True`` and the directory existed, :" -"func:`makedirs` would still raise an error if *mode* did not match the mode " -"of the existing directory. Since this behavior was impossible to implement " -"safely, it was removed in Python 3.4.1. See :issue:`21082`." +"Before Python 3.4.1, if *exist_ok* was ``True`` and the directory " +"existed, :func:`makedirs` would still raise an error if *mode* did not match " +"the mode of the existing directory. Since this behavior was impossible to " +"implement safely, it was removed in Python 3.4.1. See :issue:`21082`." msgstr "" "Antes do Python 3.4.1, se *exist_ok* fosse ``True`` e o diretório " "existisse, :func:`makedirs` ainda levantaria um erro se *mode* não " @@ -3197,7 +3321,7 @@ msgstr "" "impossível de implementar com segurança, ele foi removido no Python 3.4.1. " "Consulte :issue:`21082`." -#: ../../library/os.rst:2193 +#: ../../library/os.rst:2243 msgid "" "The *mode* argument no longer affects the file permission bits of newly " "created intermediate-level directories." @@ -3205,7 +3329,7 @@ msgstr "" "O argumento *mode* não afeta mais os bits de permissão de arquivo de " "diretórios de nível intermediário recém-criados." -#: ../../library/os.rst:2200 +#: ../../library/os.rst:2250 msgid "" "Create a FIFO (a named pipe) named *path* with numeric mode *mode*. The " "current umask value is first masked out from the mode." @@ -3213,7 +3337,7 @@ msgstr "" "Cria um FIFO (um encadeamento nomeado) chamado *path* com o modo numérico " "*mode*. O valor atual de umask é primeiro mascarado do modo." -#: ../../library/os.rst:2206 +#: ../../library/os.rst:2256 msgid "" "FIFOs are pipes that can be accessed like regular files. FIFOs exist until " "they are deleted (for example with :func:`os.unlink`). Generally, FIFOs are " @@ -3229,47 +3353,48 @@ msgstr "" "cliente para escrita. Observe que :func:`mkfifo` não abre o FIFO -- apenas " "cria o ponto de encontro." -#: ../../library/os.rst:2223 +#: ../../library/os.rst:2273 msgid "" "Create a filesystem node (file, device special file or named pipe) named " "*path*. *mode* specifies both the permissions to use and the type of node to " -"be created, being combined (bitwise OR) with one of ``stat.S_IFREG``, ``stat." -"S_IFCHR``, ``stat.S_IFBLK``, and ``stat.S_IFIFO`` (those constants are " -"available in :mod:`stat`). For ``stat.S_IFCHR`` and ``stat.S_IFBLK``, " -"*device* defines the newly created device special file (probably using :func:" -"`os.makedev`), otherwise it is ignored." +"be created, being combined (bitwise OR) with one of ``stat.S_IFREG``, " +"``stat.S_IFCHR``, ``stat.S_IFBLK``, and ``stat.S_IFIFO`` (those constants " +"are available in :mod:`stat`). For ``stat.S_IFCHR`` and ``stat.S_IFBLK``, " +"*device* defines the newly created device special file (probably " +"using :func:`os.makedev`), otherwise it is ignored." msgstr "" "Cria um nó de sistema de arquivos (arquivo, arquivo especial de dispositivo " "ou canal nomeado) chamado *path*. *mode* especifica as permissões de uso e o " -"tipo de nó a ser criado, sendo combinado (OU bit a bit) com um de ``stat." -"S_IFREG``, ``stat.S_IFCHR``, ``stat.S_IFBLK`` , e ``stat.S_IFIFO`` (essas " -"constantes estão disponíveis em :mod:`stat`). Para ``stat.S_IFCHR`` e ``stat." -"S_IFBLK``, *device* define o arquivo especial do dispositivo recém-criado " -"(provavelmente usando :func:`os.makedev`), caso contrário, ele será ignorado." +"tipo de nó a ser criado, sendo combinado (OU bit a bit) com um de " +"``stat.S_IFREG``, ``stat.S_IFCHR``, ``stat.S_IFBLK`` , e ``stat.S_IFIFO`` " +"(essas constantes estão disponíveis em :mod:`stat`). Para ``stat.S_IFCHR`` e " +"``stat.S_IFBLK``, *device* define o arquivo especial do dispositivo recém-" +"criado (provavelmente usando :func:`os.makedev`), caso contrário, ele será " +"ignorado." -#: ../../library/os.rst:2245 +#: ../../library/os.rst:2295 msgid "" -"Extract the device major number from a raw device number (usually the :attr:" -"`st_dev` or :attr:`st_rdev` field from :c:type:`stat`)." +"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 "" "Extrai o número principal de dispositivo de um número bruto de dispositivo " -"(normalmente o campo :attr:`st_dev` ou :attr:`st_rdev` de :c:type:`stat`)." +"(normalmente o campo :attr:`st_dev` ou :attr:`st_rdev` de :c:struct:`stat`)." -#: ../../library/os.rst:2251 +#: ../../library/os.rst:2301 msgid "" -"Extract the device minor number from a raw device number (usually the :attr:" -"`st_dev` or :attr:`st_rdev` field from :c:type:`stat`)." +"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 "" -"Extrai o número secundário de dispositivo de um número bruto de dispositivo " -"(geralmente o campo :attr:`st_dev` ou :attr:`st_rdev` de :c:type:`stat`)." +"Extrai o número menor de dispositivo de um número bruto de dispositivo " +"(normalmente o campo :attr:`st_dev` ou :attr:`st_rdev` de :c:struct:`stat`)." -#: ../../library/os.rst:2257 +#: ../../library/os.rst:2307 msgid "Compose a raw device number from the major and minor device numbers." msgstr "" "Compõe um número de dispositivo bruto a partir dos números de dispositivo " "principais e secundários." -#: ../../library/os.rst:2262 +#: ../../library/os.rst:2312 msgid "" "Return system configuration information relevant to a named file. *name* " "specifies the configuration value to retrieve; it may be a string which is " @@ -3288,68 +3413,69 @@ msgstr "" "Para variáveis de configuração não incluídas nesse mapeamento, passar um " "número inteiro para *name* também é aceito." -#: ../../library/os.rst:2275 ../../library/os.rst:2966 -#: ../../library/os.rst:3135 +#: ../../library/os.rst:2325 ../../library/os.rst:3018 +#: ../../library/os.rst:3187 msgid "" "This function can support :ref:`specifying a file descriptor `." msgstr "" "Esta função tem suporte a :ref:`especificar um descritor de arquivo " "`." -#: ../../library/os.rst:2286 +#: ../../library/os.rst:2336 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 "" -"Nomes de mapeamento de dicionário aceitos por :func:`pathconf` e :func:" -"`fpathconf` para os valores inteiros definidos para esses nomes pelo sistema " -"operacional do host. Isso pode ser usado para determinar o conjunto de nomes " -"conhecidos pelo sistema." +"Nomes de mapeamento de dicionário aceitos por :func:`pathconf` " +"e :func:`fpathconf` para os valores inteiros definidos para esses nomes pelo " +"sistema operacional do host. Isso pode ser usado para determinar o conjunto " +"de nomes conhecidos pelo sistema." -#: ../../library/os.rst:2295 +#: ../../library/os.rst:2345 msgid "" "Return a string representing the path to which the symbolic link points. " "The result may be either an absolute or relative pathname; if it is " -"relative, it may be converted to an absolute pathname using ``os.path." -"join(os.path.dirname(path), result)``." +"relative, it may be converted to an absolute pathname using " +"``os.path.join(os.path.dirname(path), result)``." msgstr "" "Retorna uma string representando o caminho para o qual o link simbólico " "aponta. O resultado pode ser um nome de caminho absoluto ou relativo; se for " -"relativo, pode ser convertido para um caminho absoluto usando ``os.path." -"join(os.path.dirname(path), result)``." +"relativo, pode ser convertido para um caminho absoluto usando " +"``os.path.join(os.path.dirname(path), result)``." -#: ../../library/os.rst:2300 +#: ../../library/os.rst:2350 msgid "" -"If the *path* is a string object (directly or indirectly through a :class:" -"`PathLike` interface), the result will also be a string object, and the call " -"may raise a UnicodeDecodeError. If the *path* is a bytes object (direct or " -"indirectly), the result will be a bytes object." +"If the *path* is a string object (directly or indirectly through " +"a :class:`PathLike` interface), the result will also be a string object, and " +"the call may raise a UnicodeDecodeError. If the *path* is a bytes object " +"(direct or indirectly), the result will be a bytes object." msgstr "" "Se o *path* for um objeto string (direta ou indiretamente por meio de uma " "interface :class:`PathLike`), o resultado também será um objeto string e a " -"chamada pode levantará um UnicodeDecodeError. Se o *path* for um objeto de " +"chamada pode levantar um UnicodeDecodeError. Se o *path* for um objeto de " "bytes (direto ou indireto), o resultado será um objeto de bytes." -#: ../../library/os.rst:2308 +#: ../../library/os.rst:2358 msgid "" -"When trying to resolve a path that may contain links, use :func:`~os.path." -"realpath` to properly handle recursion and platform differences." +"When trying to resolve a path that may contain links, " +"use :func:`~os.path.realpath` to properly handle recursion and platform " +"differences." msgstr "" -"Ao tentar resolver um caminho que pode conter links, use :func:`~os.path." -"realpath` para lidar corretamente com a recursão e as diferenças de " -"plataforma." +"Ao tentar resolver um caminho que pode conter links, " +"use :func:`~os.path.realpath` para lidar corretamente com a recursão e as " +"diferenças de plataforma." -#: ../../library/os.rst:2320 +#: ../../library/os.rst:2370 msgid "Accepts a :term:`path-like object` on Unix." msgstr "Aceita um :term:`objeto caminho ou similar` no Unix." -#: ../../library/os.rst:2323 +#: ../../library/os.rst:2373 msgid "Accepts a :term:`path-like object` and a bytes object on Windows." msgstr "" "Aceita um :term:`objeto caminho ou similar` e um objeto bytes no Windows." -#: ../../library/os.rst:2326 +#: ../../library/os.rst:2376 msgid "" "Added support for directory junctions, and changed to return the " "substitution path (which typically includes ``\\\\?\\`` prefix) rather than " @@ -3359,18 +3485,18 @@ msgstr "" "caminho de substituição (que normalmente inclui o prefixo ``\\\\?\\``) ao " "invés do campo opcional \"print name\" que era retornado anteriormente." -#: ../../library/os.rst:2333 +#: ../../library/os.rst:2382 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." +"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 "" -"Remove (exclui) o arquivo *path*. Se *path* for um diretório, uma :exc:" -"`OSError` é levantada. Use :func:`rmdir` para remover diretórios. Se o " -"arquivo não existir, uma :exc:`FileNotFoundError` é levantada." +"Remove (exclui) o arquivo *path*. Se *path* for um diretório, " +"uma :exc:`OSError` é levantada. Use :func:`rmdir` para remover diretórios. " +"Se o arquivo não existir, uma :exc:`FileNotFoundError` é levantada." -#: ../../library/os.rst:2337 ../../library/os.rst:2450 -#: ../../library/os.rst:3086 +#: ../../library/os.rst:2386 ../../library/os.rst:2499 +#: ../../library/os.rst:3138 msgid "" "This function can support :ref:`paths relative to directory descriptors " "`." @@ -3378,7 +3504,7 @@ msgstr "" "Esta função tem suporte a :ref:`caminhos relativos para descritores de " "diretório `." -#: ../../library/os.rst:2340 +#: ../../library/os.rst:2389 msgid "" "On Windows, attempting to remove a file that is in use causes an exception " "to be raised; on Unix, the directory entry is removed but the storage " @@ -3390,20 +3516,20 @@ msgstr "" "armazenamento alocado para o arquivo não é disponibilizado até que o arquivo " "original não esteja mais em uso." -#: ../../library/os.rst:2344 +#: ../../library/os.rst:2393 msgid "This function is semantically identical to :func:`unlink`." msgstr "Esta função é semanticamente idêntica a :func:`unlink`." -#: ../../library/os.rst:2346 ../../library/os.rst:2368 -#: ../../library/os.rst:3157 +#: ../../library/os.rst:2395 ../../library/os.rst:2417 +#: ../../library/os.rst:3209 msgid "" "Raises an :ref:`auditing event ` ``os.remove`` with arguments " "``path``, ``dir_fd``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.remove`` com " +"Levanta um :ref:`evento de auditoria ` ``os.remove`` com os " "argumentos ``path``, ``dir_fd``." -#: ../../library/os.rst:2359 +#: ../../library/os.rst:2408 msgid "" "Remove directories recursively. Works like :func:`rmdir` except that, if " "the leaf directory is successfully removed, :func:`removedirs` tries to " @@ -3423,29 +3549,29 @@ msgstr "" "bar'`` e ``'foo'`` se estiverem vazios. Levanta :exc:`OSError` se o " "diretório folha não pôde ser removido com sucesso." -#: ../../library/os.rst:2376 +#: ../../library/os.rst:2425 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 "" "Renomeia o arquivo ou diretório *src* para *dst*. Se *dst* existir, a " -"operação falhará com uma subclasse :exc:`OSError` em vários casos:" +"operação falhará com uma subclasse de :exc:`OSError` em vários casos:" -#: ../../library/os.rst:2379 +#: ../../library/os.rst:2428 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." +"operation may fail if *src* and *dst* are on different filesystems. " +"Use :func:`shutil.move` to support moves to a different filesystem." msgstr "" "No Windows, se *dst* existe então uma exceção :exc:`FileExistsError` será " "levantada. A operação pode falar se *src* e *dst* são de sistemas de " "arquivos diferentes. Use :func:`shutil.move` para mover arquivos entre " "sistemas de arquivos diferentes." -#: ../../library/os.rst:2383 +#: ../../library/os.rst:2432 msgid "" -"On Unix, if *src* is a file and *dst* is a directory or vice-versa, an :exc:" -"`IsADirectoryError` or a :exc:`NotADirectoryError` will be raised " +"On Unix, if *src* is a file and *dst* is a directory or vice-versa, " +"an :exc:`IsADirectoryError` or a :exc:`NotADirectoryError` will be raised " "respectively. If both are directories and *dst* is empty, *dst* will be " "silently replaced. If *dst* is a non-empty directory, an :exc:`OSError` is " "raised. If both are files, *dst* will be replaced silently if the user has " @@ -3453,45 +3579,45 @@ msgid "" "are on different filesystems. If successful, the renaming will be an atomic " "operation (this is a POSIX requirement)." msgstr "" -"No Unix, se *src* é um arquivo e *dst* é um diretório ou vice-versa, uma :" -"exc:`IsADirectoryError` ou uma :exc:`NotADirectoryError` será levantada " +"No Unix, se *src* é um arquivo e *dst* é um diretório ou vice-versa, " +"uma :exc:`IsADirectoryError` ou uma :exc:`NotADirectoryError` será levantada " "respectivamente. Se ambos forem diretórios e *dst* estiver vazio, *dst* será " -"substituído silenciosamente. Se *dst* for um diretório não vazio, uma :exc:" -"`OSError` é levantada. Se ambos forem arquivos, *dst* será substituído " -"silenciosamente se o usuário tiver permissão. A operação pode falhar em " -"alguns tipos de Unix se *src* e *dst* estiverem em sistemas de arquivos " -"diferentes. Se for bem-sucedido, a renomeação será uma operação atômica " -"(este é um requisito POSIX)." +"substituído silenciosamente. Se *dst* for um diretório não vazio, " +"uma :exc:`OSError` é levantada. Se ambos forem arquivos, *dst* será " +"substituído silenciosamente se o usuário tiver permissão. A operação pode " +"falhar em alguns tipos de Unix se *src* e *dst* estiverem em sistemas de " +"arquivos diferentes. Se for bem-sucedido, a renomeação será uma operação " +"atômica (este é um requisito POSIX)." -#: ../../library/os.rst:2392 ../../library/os.rst:2432 +#: ../../library/os.rst:2441 ../../library/os.rst:2481 msgid "" "This function can support specifying *src_dir_fd* and/or *dst_dir_fd* to " "supply :ref:`paths relative to directory descriptors `." msgstr "" -"Esta função pode suportar a especificação de *src_dir_fd* e/ou *dst_dir_fd* " -"para fornecer :ref:`caminhos relativos a descritores de diretório `." +"Esta função permite especificar *src_dir_fd* e/ou *dst_dir_fd* para " +"fornecer :ref:`caminhos relativos a descritores de diretório `." -#: ../../library/os.rst:2395 +#: ../../library/os.rst:2444 msgid "" -"If you want cross-platform overwriting of the destination, use :func:" -"`replace`." +"If you want cross-platform overwriting of the destination, " +"use :func:`replace`." msgstr "" "Se você quiser sobrescrita multiplataforma do destino, use :func:`replace`." -#: ../../library/os.rst:2397 ../../library/os.rst:2418 -#: ../../library/os.rst:2435 +#: ../../library/os.rst:2446 ../../library/os.rst:2467 +#: ../../library/os.rst:2484 msgid "" "Raises an :ref:`auditing event ` ``os.rename`` with arguments " "``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.rename`` com " +"Levanta um :ref:`evento de auditoria ` ``os.rename`` com os " "argumentos ``src``, ``dst``, ``src_dir_fd``, ``dst_dir_fd``." -#: ../../library/os.rst:2399 -msgid "The *src_dir_fd* and *dst_dir_fd* arguments." -msgstr "Os argumentos *src_dir_fd* e *dst_dir_fd*." +#: ../../library/os.rst:2448 +msgid "Added the *src_dir_fd* and *dst_dir_fd* parameters." +msgstr "Adicionados os parâmetros *src_dir_fd* e *dst_dir_fd*." -#: ../../library/os.rst:2408 +#: ../../library/os.rst:2457 msgid "" "Recursive directory or file renaming function. Works like :func:`rename`, " "except creation of any intermediate directories needed to make the new " @@ -3499,13 +3625,14 @@ msgid "" "corresponding to rightmost path segments of the old name will be pruned away " "using :func:`removedirs`." msgstr "" -"Diretório recursivo ou função de renomeação de arquivo. Funciona como :func:" -"`rename`, exceto que a criação de qualquer diretório intermediário " -"necessário para tornar o novo nome de caminho bom é tentada primeiro. Após a " -"renomeação, os diretórios correspondentes aos segmentos de caminho mais à " -"direita do nome antigo serão removidos usando :func:`removedirs`." +"Função de renomeação de arquivo ou diretório recursiva. Funciona " +"como :func:`rename`, exceto que a criação de qualquer diretório " +"intermediário necessário para tornar o novo nome de caminho possível é " +"tentada primeiro. Após a renomeação, os diretórios correspondentes aos " +"segmentos de caminho mais à direita do nome antigo serão removidos " +"usando :func:`removedirs`." -#: ../../library/os.rst:2415 +#: ../../library/os.rst:2464 msgid "" "This function can fail with the new directory structure made if you lack " "permissions needed to remove the leaf directory or file." @@ -3513,11 +3640,11 @@ msgstr "" "Esta função pode falhar com a nova estrutura de diretório criada se você não " "tiver as permissões necessárias para remover o arquivo ou diretório folha." -#: ../../library/os.rst:2420 +#: ../../library/os.rst:2469 msgid "Accepts a :term:`path-like object` for *old* and *new*." msgstr "Aceita um :term:`objeto caminho ou similar` para *old* e *new*." -#: ../../library/os.rst:2426 +#: ../../library/os.rst:2475 msgid "" "Rename the file or directory *src* to *dst*. If *dst* is a non-empty " "directory, :exc:`OSError` will be raised. If *dst* exists and is a file, it " @@ -3532,31 +3659,27 @@ msgstr "" "diferentes. Se for bem-sucedido, a renomeação será uma operação atômica " "(este é um requisito POSIX)." -#: ../../library/os.rst:2445 +#: ../../library/os.rst:2494 msgid "" "Remove (delete) the directory *path*. If the directory does not exist or is " "not empty, a :exc:`FileNotFoundError` or an :exc:`OSError` is raised " -"respectively. In order to remove whole directory trees, :func:`shutil." -"rmtree` can be used." +"respectively. In order to remove whole directory " +"trees, :func:`shutil.rmtree` can be used." msgstr "" "Remove (exclui) o diretório *path*. Se o diretório não existe ou não está " "vazio, uma :exc:`FileNotFoundError` ou uma :exc:`OSError` é levantada " -"respectivamente. Para remover árvores de diretório inteiras, pode ser usada :" -"func:`shutil.rmtree`." +"respectivamente. Para remover árvores de diretório inteiras, pode ser " +"usada :func:`shutil.rmtree`." -#: ../../library/os.rst:2453 +#: ../../library/os.rst:2502 msgid "" "Raises an :ref:`auditing event ` ``os.rmdir`` with arguments " "``path``, ``dir_fd``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.rmdir`` com argumentos " -"``path``, ``dir_fd``." - -#: ../../library/os.rst:2455 ../../library/os.rst:3159 -msgid "The *dir_fd* parameter." -msgstr "O parâmetro *dir_fd*." +"Levanta um :ref:`evento de auditoria ` ``os.rmdir`` com os " +"argumentos ``path``, ``dir_fd``." -#: ../../library/os.rst:2464 +#: ../../library/os.rst:2513 msgid "" "Return an iterator of :class:`os.DirEntry` objects corresponding to the " "entries in the directory given by *path*. The entries are yielded in " @@ -3572,28 +3695,30 @@ msgstr "" "criação do iterador, não é especificado se uma entrada para esse arquivo " "deve ser incluída." -#: ../../library/os.rst:2471 +#: ../../library/os.rst:2520 msgid "" "Using :func:`scandir` instead of :func:`listdir` can significantly increase " "the performance of code that also needs file type or file attribute " "information, because :class:`os.DirEntry` objects expose this information if " -"the operating system provides it when scanning a directory. All :class:`os." -"DirEntry` methods may perform a system call, but :func:`~os.DirEntry.is_dir` " -"and :func:`~os.DirEntry.is_file` usually only require a system call for " -"symbolic links; :func:`os.DirEntry.stat` always requires a system call on " -"Unix but only requires one for symbolic links on Windows." +"the operating system provides it when scanning a directory. " +"All :class:`os.DirEntry` methods may perform a system call, " +"but :func:`~os.DirEntry.is_dir` and :func:`~os.DirEntry.is_file` usually " +"only require a system call for symbolic links; :func:`os.DirEntry.stat` " +"always requires a system call on Unix but only requires one for symbolic " +"links on Windows." msgstr "" "Usar :func:`scandir` em vez de :func:`listdir` pode aumentar " "significativamente o desempenho do código que também precisa de tipo de " -"arquivo ou informações de atributo de arquivo, porque os objetos :class:`os." -"DirEntry` expõem essas informações se o sistema operacional fornecer ao " -"digitalizar um diretório. Todos os métodos de :class:`os.DirEntry` podem " -"realizar uma chamada de sistema, mas :func:`~os.DirEntry.is_dir` e :func:" -"`~os.DirEntry.is_file` normalmente requerem apenas uma chamada de sistema " -"para links simbólicos; :func:`os.DirEntry.stat` sempre requer uma chamada de " -"sistema no Unix, mas requer apenas uma para links simbólicos no Windows." +"arquivo ou informações de atributo de arquivo, porque os " +"objetos :class:`os.DirEntry` expõem essas informações se o sistema " +"operacional fornecer ao percorrer um diretório. Todos os métodos " +"de :class:`os.DirEntry` podem realizar uma chamada de sistema, " +"mas :func:`~os.DirEntry.is_dir` e :func:`~os.DirEntry.is_file` normalmente " +"requerem apenas uma chamada de sistema para links " +"simbólicos; :func:`os.DirEntry.stat` sempre requer uma chamada de sistema no " +"Unix, mas requer uma apenas para links simbólicos no Windows." -#: ../../library/os.rst:2481 +#: ../../library/os.rst:2530 msgid "" "*path* may be a :term:`path-like object`. If *path* is of type ``bytes`` " "(directly or indirectly through the :class:`PathLike` interface), the type " @@ -3603,11 +3728,11 @@ msgid "" msgstr "" "*path* pode ser um :term:`objeto caminho ou similar`. Se *path* for do tipo " "``bytes`` (direta ou indiretamente por meio da interface :class:`PathLike`), " -"o tipo do atributo :attr:`~os.DirEntry.name` e :attr:`~os.DirEntry.path` de " -"cada :class:`os.DirEntry` serão ``bytes``; em todas as outras " +"o tipo dos atributos :attr:`~os.DirEntry.name` e :attr:`~os.DirEntry.path` " +"de cada :class:`os.DirEntry` serão ``bytes``; em todas as outras " "circunstâncias, eles serão do tipo ``str``." -#: ../../library/os.rst:2490 +#: ../../library/os.rst:2539 msgid "" "Raises an :ref:`auditing event ` ``os.scandir`` with argument " "``path``." @@ -3615,19 +3740,19 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.scandir`` com o " "argumento ``path``." -#: ../../library/os.rst:2492 +#: ../../library/os.rst:2541 msgid "" "The :func:`scandir` iterator supports the :term:`context manager` protocol " "and has the following method:" msgstr "" -"O iterador :func:`scandir` suporta o protocolo :term:`gerenciador de " +"O iterador :func:`scandir` implementa o protocolo :term:`gerenciador de " "contexto` e tem o seguinte método:" -#: ../../library/os.rst:2497 +#: ../../library/os.rst:2546 msgid "Close the iterator and free acquired resources." -msgstr "Fecha o iterador e libera os recursos adquiridos." +msgstr "Fecha o iterador e libera os recursos alocados." -#: ../../library/os.rst:2499 +#: ../../library/os.rst:2548 msgid "" "This is called automatically when the iterator is exhausted or garbage " "collected, or when an error happens during iterating. However it is " @@ -3637,7 +3762,7 @@ msgstr "" "como lixo, ou quando ocorre um erro durante a iteração. No entanto, é " "aconselhável chamá-lo explicitamente ou usar a instrução :keyword:`with`." -#: ../../library/os.rst:2506 +#: ../../library/os.rst:2555 msgid "" "The following example shows a simple use of :func:`scandir` to display all " "the files (excluding directories) in the given *path* that don't start with " @@ -3646,49 +3771,49 @@ msgid "" msgstr "" "O exemplo a seguir mostra um uso simples de :func:`scandir` para exibir " "todos os arquivos (excluindo diretórios) no *path* fornecido que não começa " -"com ``'.'``. A chamada ``entry.is_file()`` geralmente não fará uma chamada " +"com ``'.'``. A chamada ``entrada.is_file()`` geralmente não fará uma chamada " "de sistema adicional::" -#: ../../library/os.rst:2518 +#: ../../library/os.rst:2567 msgid "" "On Unix-based systems, :func:`scandir` uses the system's `opendir() `_ and " "`readdir() `_ functions. On Windows, it uses the Win32 `FindFirstFileW " -"`_ and `FindNextFileW `_ functions." +"`_ and `FindNextFileW `_ functions." msgstr "" "Em sistemas baseados no Unix, :func:`scandir` usa o sistema `opendir() " "`_ e " "as funções `readdir() `_. No Windows, ela usa os funções `FindFirstFileW " -"`_ e `FindNextFileW `_ do Win32." +"`_ e `FindNextFileW `_ do Win32." -#: ../../library/os.rst:2530 +#: ../../library/os.rst:2579 msgid "" -"Added support for the :term:`context manager` protocol and the :func:" -"`~scandir.close()` method. If a :func:`scandir` iterator is neither " -"exhausted nor explicitly closed a :exc:`ResourceWarning` will be emitted in " -"its destructor." +"Added support for the :term:`context manager` protocol and " +"the :func:`~scandir.close()` method. If a :func:`scandir` iterator is " +"neither exhausted nor explicitly closed a :exc:`ResourceWarning` will be " +"emitted in its destructor." msgstr "" -"Adicionado suporte para o protocolo :term:`gerenciador de contexto` e o " +"Adicionado suporte para o protocolo de :term:`gerenciador de contexto` e o " "método :func:`~scandir.close()`. Se um iterador :func:`scandir` não estiver " "esgotado nem explicitamente fechado, uma :exc:`ResourceWarning` será emitida " "em seu destruidor." -#: ../../library/os.rst:2536 +#: ../../library/os.rst:2585 msgid "The function accepts a :term:`path-like object`." msgstr "A função aceita um :term:`objeto caminho ou similar`." -#: ../../library/os.rst:2538 +#: ../../library/os.rst:2587 msgid "Added support for :ref:`file descriptors ` on Unix." msgstr "" "Adicionado suporte para :ref:`descritores de arquivo ` no Unix." -#: ../../library/os.rst:2544 +#: ../../library/os.rst:2593 msgid "" "Object yielded by :func:`scandir` to expose the file path and other file " "attributes of a directory entry." @@ -3696,7 +3821,7 @@ msgstr "" "Objeto produzido por :func:`scandir` para expor o caminho do arquivo e " "outros atributos de arquivo de uma entrada de diretório." -#: ../../library/os.rst:2547 +#: ../../library/os.rst:2596 msgid "" ":func:`scandir` will provide as much of this information as possible without " "making additional system calls. When a ``stat()`` or ``lstat()`` system call " @@ -3707,7 +3832,7 @@ msgstr "" "``lstat()`` é feita, o objeto ``os.DirEntry`` irá armazenar o resultado em " "cache." -#: ../../library/os.rst:2551 +#: ../../library/os.rst:2600 msgid "" "``os.DirEntry`` instances are not intended to be stored in long-lived data " "structures; if you know the file metadata has changed or if a long time has " @@ -3719,7 +3844,7 @@ msgstr "" "alterados ou se passou muito tempo desde a chamada de :func:`scandir`, chame " "``os.stat(entry.path)`` para obter informações atualizadas." -#: ../../library/os.rst:2556 +#: ../../library/os.rst:2605 msgid "" "Because the ``os.DirEntry`` methods can make operating system calls, they " "may also raise :exc:`OSError`. If you need very fine-grained control over " @@ -3731,7 +3856,7 @@ msgstr "" "muito refinado sobre os erros, você pode pegar :exc:`OSError` ao chamar um " "dos métodos ``os.DirEntry`` e manipular conforme apropriado." -#: ../../library/os.rst:2561 +#: ../../library/os.rst:2610 msgid "" "To be directly usable as a :term:`path-like object`, ``os.DirEntry`` " "implements the :class:`PathLike` interface." @@ -3739,68 +3864,69 @@ msgstr "" "Para ser diretamente utilizável como um :term:`objeto caminho ou similar`, " "``os.DirEntry`` implementa a interface :class:`PathLike`." -#: ../../library/os.rst:2564 +#: ../../library/os.rst:2613 msgid "Attributes and methods on a ``os.DirEntry`` instance are as follows:" msgstr "" "Atributos e métodos em uma instância de ``os.DirEntry`` são os seguintes:" -#: ../../library/os.rst:2568 +#: ../../library/os.rst:2617 msgid "" "The entry's base filename, relative to the :func:`scandir` *path* argument." msgstr "" -"O nome do arquivo base da entrada, relativo ao argumento *path* de :func:" -"`scandir`." +"O nome do arquivo base da entrada, relativo ao argumento *path* " +"de :func:`scandir`." -#: ../../library/os.rst:2571 +#: ../../library/os.rst:2620 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." +"argument is of type ``bytes`` and ``str`` otherwise. " +"Use :func:`~os.fsdecode` to decode byte filenames." msgstr "" -"O atributo :attr:`name` será ``bytes`` se o argumento *path* de :func:" -"`scandir` for do tipo ``bytes`` e, caso contrário, ``str``. Usa :func:`~os." -"fsdecode` para decodificar nomes de arquivos de bytes." +"O atributo :attr:`name` será ``bytes`` se o argumento *path* " +"de :func:`scandir` for do tipo ``bytes`` e, caso contrário, ``str``. " +"Usa :func:`~os.fsdecode` para decodificar nomes de arquivos de bytes." -#: ../../library/os.rst:2577 +#: ../../library/os.rst:2626 msgid "" -"The entry's full path name: equivalent to ``os.path.join(scandir_path, entry." -"name)`` where *scandir_path* is the :func:`scandir` *path* argument. The " -"path is only absolute if the :func:`scandir` *path* argument was absolute. " -"If the :func:`scandir` *path* argument was a :ref:`file descriptor " -"`, the :attr:`path` attribute is the same as the :attr:`name` " -"attribute." +"The entry's full path name: equivalent to ``os.path.join(scandir_path, " +"entry.name)`` where *scandir_path* is the :func:`scandir` *path* argument. " +"The path is only absolute if the :func:`scandir` *path* argument was " +"absolute. If the :func:`scandir` *path* argument was a :ref:`file " +"descriptor `, the :attr:`path` attribute is the same as " +"the :attr:`name` attribute." msgstr "" -"O nome do caminho completo da entrada: equivalente a ``os.path." -"join(scandir_path, entry.name)`` onde *scandir_path* é o argumento *path* " -"de :func:`scandir`. O caminho só é absoluto se o argumento *path* de :func:" -"`scandir` for absoluto. Se o argumento *path* de :func:`scandir` era um :ref:" -"`descritor de arquivo `, o atributo :attr:`path` é o mesmo que o " -"atributo :attr:`name`." +"O nome do caminho completo da entrada: equivalente a " +"``os.path.join(scandir_path, entry.name)`` onde *scandir_path* é o argumento " +"*path* de :func:`scandir`. O caminho só é absoluto se o argumento *path* " +"de :func:`scandir` for absoluto. Se o argumento *path* de :func:`scandir` " +"era um :ref:`descritor de arquivo `, o atributo :attr:`path` é o " +"mesmo que o atributo :attr:`name`." -#: ../../library/os.rst:2584 +#: ../../library/os.rst:2633 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." +"argument is of type ``bytes`` and ``str`` otherwise. " +"Use :func:`~os.fsdecode` to decode byte filenames." msgstr "" -"O atributo :attr:`path` será ``bytes`` se o argumento *path* de :func:" -"`scandir` for do tipo ``bytes`` e, caso contrário, ``str``. Usa :func:`~os." -"fsdecode` para decodificar nomes de arquivos de bytes." +"O atributo :attr:`path` será ``bytes`` se o argumento *path* " +"de :func:`scandir` for do tipo ``bytes`` e, caso contrário, ``str``. " +"Usa :func:`~os.fsdecode` para decodificar nomes de arquivos de bytes." -#: ../../library/os.rst:2590 +#: ../../library/os.rst:2639 msgid "Return the inode number of the entry." msgstr "Retorna o número de nó-i da entrada." -#: ../../library/os.rst:2592 +#: ../../library/os.rst:2641 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." +"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 "" -"O resultado é armazenado em cache no objeto ``os.DirEntry``. Use ``os." -"stat(entry.path, follow_symlinks=False).st_ino`` para obter informações " +"O resultado é armazenado em cache no objeto ``os.DirEntry``. Use " +"``os.stat(entry.path, follow_symlinks=False).st_ino`` para obter informações " "atualizadas." -#: ../../library/os.rst:2596 +#: ../../library/os.rst:2645 msgid "" "On the first, uncached call, a system call is required on Windows but not on " "Unix." @@ -3808,7 +3934,7 @@ msgstr "" "Na primeira chamada sem cache, uma chamada de sistema é necessária no " "Windows, mas não no Unix." -#: ../../library/os.rst:2601 +#: ../../library/os.rst:2650 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 " @@ -3818,7 +3944,7 @@ msgstr "" "apontando para um diretório; retorna ``False`` se a entrada é ou aponta para " "qualquer outro tipo de arquivo, ou se ele não existe mais." -#: ../../library/os.rst:2605 +#: ../../library/os.rst:2654 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 " @@ -3828,7 +3954,7 @@ msgstr "" "for um diretório (sem seguir os links simbólicos); retorna ``False`` se a " "entrada for qualquer outro tipo de arquivo ou se ele não existe mais." -#: ../../library/os.rst:2609 +#: ../../library/os.rst:2658 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 " @@ -3838,7 +3964,7 @@ msgstr "" "separado para *follow_symlinks* ``True`` e ``False``. Chama :func:`os.stat` " "junto com :func:`stat.S_ISDIR` para buscar informações atualizadas." -#: ../../library/os.rst:2613 +#: ../../library/os.rst:2662 msgid "" "On the first, uncached call, no system call is required in most cases. " "Specifically, for non-symlinks, neither Windows or Unix require a system " @@ -3850,20 +3976,20 @@ msgstr "" "Na primeira chamada sem cache, nenhuma chamada do sistema é necessária na " "maioria dos casos. Especificamente, para links não simbólicos, nem o Windows " "nem o Unix requerem uma chamada de sistema, exceto em certos sistemas de " -"arquivos Unix, como sistemas de arquivos de rede, que retornam ``dirent." -"d_type == DT_UNKNOWN``. Se a entrada for um link simbólico, uma chamada de " -"sistema será necessária para seguir o link simbólico, a menos que " +"arquivos Unix, como sistemas de arquivos de rede, que retornam " +"``dirent.d_type == DT_UNKNOWN``. Se a entrada for um link simbólico, uma " +"chamada de sistema será necessária para seguir o link simbólico, a menos que " "*follow_symlinks* seja ``False``." -#: ../../library/os.rst:2620 ../../library/os.rst:2650 +#: ../../library/os.rst:2669 ../../library/os.rst:2699 msgid "" -"This method can raise :exc:`OSError`, such as :exc:`PermissionError`, but :" -"exc:`FileNotFoundError` is caught and not raised." +"This method can raise :exc:`OSError`, such as :exc:`PermissionError`, " +"but :exc:`FileNotFoundError` is caught and not raised." msgstr "" "Este método pode levantar :exc:`OSError`, tal como :exc:`PermissionError`, " "mas :exc:`FileNotFoundError` é capturada e não levantada." -#: ../../library/os.rst:2625 +#: ../../library/os.rst:2674 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-" @@ -3874,7 +4000,7 @@ msgstr "" "um diretório ou outra entrada que não seja de arquivo, ou se ela não existe " "mais." -#: ../../library/os.rst:2629 +#: ../../library/os.rst:2678 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 " @@ -3885,16 +4011,16 @@ msgstr "" "entrada for um diretório ou outra entrada que não seja um arquivo, ou se ela " "não existir mais." -#: ../../library/os.rst:2633 +#: ../../library/os.rst:2682 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 "" "O resultado é armazenado em cache no objeto ``os.DirEntry``. Chamadas de " -"sistema em cache feitas e exceções levantadas são conforme :func:`~os." -"DirEntry.is_dir`." +"sistema em cache feitas e exceções levantadas são " +"conforme :func:`~os.DirEntry.is_dir`." -#: ../../library/os.rst:2638 +#: ../../library/os.rst:2687 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 " @@ -3904,15 +4030,15 @@ msgstr "" "retorna ``False`` se a entrada apontar para um diretório ou qualquer tipo de " "arquivo, ou se ele não existir mais." -#: ../../library/os.rst:2642 +#: ../../library/os.rst:2691 msgid "" -"The result is cached on the ``os.DirEntry`` object. Call :func:`os.path." -"islink` to fetch up-to-date information." +"The result is cached on the ``os.DirEntry`` object. " +"Call :func:`os.path.islink` to fetch up-to-date information." msgstr "" -"O resultado é armazenado em cache no objeto ``os.DirEntry``. Chama :func:`os." -"path.islink` para buscar informações atualizadas." +"O resultado é armazenado em cache no objeto ``os.DirEntry``. " +"Chama :func:`os.path.islink` para buscar informações atualizadas." -#: ../../library/os.rst:2645 +#: ../../library/os.rst:2694 msgid "" "On the first, uncached call, no system call is required in most cases. " "Specifically, neither Windows or Unix require a system call, except on " @@ -3924,7 +4050,7 @@ msgstr "" "chamada de sistema, exceto em certos sistemas de arquivos Unix, como " "sistemas de arquivos de rede, que retornam ``dirent.d_type == DT_UNKNOWN``." -#: ../../library/os.rst:2655 +#: ../../library/os.rst:2704 msgid "" "Return a :class:`stat_result` object for this entry. This method follows " "symbolic links by default; to stat a symbolic link add the " @@ -3934,7 +4060,7 @@ msgstr "" "links simbólicos por padrão; para estabelecer um link simbólico, adicione o " "argumento ``follow_symlinks=False``." -#: ../../library/os.rst:2659 +#: ../../library/os.rst:2708 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 " @@ -3945,53 +4071,53 @@ msgstr "" "entrada for um ponto de nova análise (por exemplo, um link simbólico ou " "junção de diretório)." -#: ../../library/os.rst:2664 +#: ../../library/os.rst:2713 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 " +"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 "" -"No Windows, os atributos ``st_ino``, ``st_dev`` e ``st_nlink`` da :class:" -"`stat_result` são sempre definidos como zero. Chame :func:`os.stat` para " -"obter esses atributos." +"No Windows, os atributos ``st_ino``, ``st_dev`` e ``st_nlink`` " +"da :class:`stat_result` são sempre definidos como zero. " +"Chame :func:`os.stat` para obter esses atributos." -#: ../../library/os.rst:2668 +#: ../../library/os.rst:2717 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 "" "O resultado é armazenado em cache no objeto ``os.DirEntry``, com um cache " -"separado para *follow_symlinks* ``True`` e ``False``. Chama :func:`os.stat` " +"separado para *follow_symlinks* ``True`` e ``False``. Chame :func:`os.stat` " "para buscar informações atualizadas." -#: ../../library/os.rst:2672 +#: ../../library/os.rst:2721 msgid "" "Note that there is a nice correspondence between several attributes and " "methods of ``os.DirEntry`` and of :class:`pathlib.Path`. In particular, the " "``name`` attribute has the same meaning, as do the ``is_dir()``, " "``is_file()``, ``is_symlink()`` and ``stat()`` methods." msgstr "" -"Note que há uma boa correspondência entre vários atributos e métodos de ``os." -"DirEntry`` e de :class:`pathlib.Path`. Em particular, o atributo ``name`` " -"tem o mesmo significado, assim como os métodos ``is_dir()``, ``is_file()``, " -"``is_symlink()`` e ``stat()``." +"Note que há uma boa correspondência entre vários atributos e métodos de " +"``os.DirEntry`` e de :class:`pathlib.Path`. Em particular, o atributo " +"``name`` tem o mesmo significado, assim como os métodos ``is_dir()``, " +"``is_file()``, ``is_symlink()`` e ``stat()``." -#: ../../library/os.rst:2680 +#: ../../library/os.rst:2729 msgid "" -"Added support for the :class:`~os.PathLike` interface. Added support for :" -"class:`bytes` paths on Windows." +"Added support for the :class:`~os.PathLike` interface. Added support " +"for :class:`bytes` paths on Windows." msgstr "" "Adicionado suporte para a interface :class:`~os.PathLike`. Adicionado " "suporte para caminhos :class:`bytes` no Windows." -#: ../../library/os.rst:2687 +#: ../../library/os.rst:2736 msgid "" -"Get the status of a file or a file descriptor. Perform the equivalent of a :" -"c:func:`stat` system call on the given path. *path* may be specified as " -"either a string or bytes -- directly or indirectly through the :class:" -"`PathLike` interface -- or as an open file descriptor. Return a :class:" -"`stat_result` object." +"Get the status of a file or a file descriptor. Perform the equivalent of " +"a :c:func:`stat` system call on the given path. *path* may be specified as " +"either a string or bytes -- directly or indirectly through " +"the :class:`PathLike` interface -- or as an open file descriptor. Return " +"a :class:`stat_result` object." msgstr "" "Obtém o status de um arquivo ou um descritor de arquivo. Executa o " "equivalente a uma chamada de sistema :c:func:`stat` no caminho fornecido. " @@ -3999,26 +4125,26 @@ msgstr "" "indiretamente através da interface :class:`PathLike` -- ou como um descritor " "de arquivo aberto. Retorna um objeto :class:`stat_result`." -#: ../../library/os.rst:2693 +#: ../../library/os.rst:2742 msgid "" "This function normally follows symlinks; to stat a symlink add the argument " "``follow_symlinks=False``, or use :func:`lstat`." msgstr "" -"Esta função normalmente segue links simbólicos; para efetuar stat em um link " -"simbólico, adicione o argumento ``follow_symlinks=False``, ou use :func:" -"`lstat`." +"Esta função normalmente segue links simbólicos; para obter o status do link " +"simbólico, adicione o argumento ``follow_symlinks=False``, ou " +"use :func:`lstat`." -#: ../../library/os.rst:2696 ../../library/os.rst:3525 -#: ../../library/os.rst:3541 ../../library/os.rst:3557 -#: ../../library/os.rst:3577 +#: ../../library/os.rst:2745 ../../library/os.rst:3577 +#: ../../library/os.rst:3593 ../../library/os.rst:3609 +#: ../../library/os.rst:3629 msgid "" -"This function can support :ref:`specifying a file descriptor ` and :" -"ref:`not following symlinks `." +"This function can support :ref:`specifying a file descriptor ` " +"and :ref:`not following symlinks `." msgstr "" "Esta função tem suporte a :ref:`especificar um descritor de arquivo " "` e :ref:`não seguir links simbólicos `." -#: ../../library/os.rst:2699 +#: ../../library/os.rst:2748 msgid "" "On Windows, passing ``follow_symlinks=False`` will disable following all " "name-surrogate reparse points, which includes symlinks and directory " @@ -4026,40 +4152,39 @@ msgid "" "the operating system is unable to follow will be opened directly. When " "following a chain of multiple links, this may result in the original link " "being returned instead of the non-link that prevented full traversal. To " -"obtain stat results for the final path in this case, use the :func:`os.path." -"realpath` function to resolve the path name as far as possible and call :" -"func:`lstat` on the result. This does not apply to dangling symlinks or " -"junction points, which will raise the usual exceptions." -msgstr "" -"No Windows, passar ``follow_symlinks=False`` irá desabilitar o seguimento de " -"todos os pontos de nova análise substitutos de nomes, que incluem links " -"simbólicos e junções de diretório. Outros tipos de pontos de nova análise " -"que não se parecem com links ou que o sistema operacional não pode seguir " -"serão abertos diretamente. Ao seguir uma cadeia de vários links, isso pode " -"resultar no retorno do link original em vez do não-link que impediu o " -"percurso completo. Para obter resultados estatísticos para o caminho final " -"neste caso, use a função :func:`os.path.realpath` para resolver o nome do " -"caminho tanto quanto possível e chame :func:`lstat` no resultado. Isso não " -"se aplica a links simbólicos pendentes ou pontos de junção, que levantam as " -"exceções usuais." - -#: ../../library/os.rst:2712 ../../library/os.rst:3445 +"obtain stat results for the final path in this case, use " +"the :func:`os.path.realpath` function to resolve the path name as far as " +"possible and call :func:`lstat` on the result. This does not apply to " +"dangling symlinks or junction points, which will raise the usual exceptions." +msgstr "" +"No Windows, ao definir ``follow_symlinks=False`` é desativado o recurso de " +"seguir todos os pontos de nova análise, que incluem links simbólicos e " +"junções de diretório. Outros tipos de pontos de nova análise que não se " +"parecem com links ou que o sistema operacional não pode seguir serão abertos " +"diretamente. Ao seguir uma cadeia de vários links, isso pode resultar no " +"retorno do link original em vez do não-link que impediu o percurso completo. " +"Para obter resultados de *stat* para o caminho final neste caso, use a " +"função :func:`os.path.realpath` para resolver o nome do caminho tanto quanto " +"possível e chame :func:`lstat` no resultado. Isso não se aplica a links " +"simbólicos pendentes ou pontos de junção, que levantam as exceções usuais." + +#: ../../library/os.rst:2761 ../../library/os.rst:3497 msgid "Example::" msgstr "Exemplo::" -#: ../../library/os.rst:2725 +#: ../../library/os.rst:2774 msgid ":func:`fstat` and :func:`lstat` functions." msgstr "As funções :func:`fstat` e :func:`lstat`." -#: ../../library/os.rst:2727 +#: ../../library/os.rst:2776 msgid "" -"Added the *dir_fd* and *follow_symlinks* arguments, specifying a file " +"Added the *dir_fd* and *follow_symlinks* parameters, specifying a file " "descriptor instead of a path." msgstr "" -"Adicionados os argumentos *dir_fd* e *follow_symlinks*, especificando um " +"Adicionados os parâmetros *dir_fd* e *follow_symlinks*, especificando um " "descritor de arquivo em vez de um caminho." -#: ../../library/os.rst:2734 +#: ../../library/os.rst:2783 msgid "" "On Windows, all reparse points that can be resolved by the operating system " "are now followed, and passing ``follow_symlinks=False`` disables following " @@ -4070,32 +4195,32 @@ msgid "" msgstr "" "No Windows, todos os pontos de nova análise que podem ser resolvidos pelo " "sistema operacional agora são seguidos, e passar ``follow_symlinks=False`` " -"desativa após todos os pontos de nova análise substitutos de nome. Se o " +"desativa seguir todos os pontos de nova análise substitutos de nome. Se o " "sistema operacional atingir um ponto de nova análise que não é capaz de " "seguir, *stat* agora retorna as informações do caminho original como se " "``follow_symlinks=False`` tivesse sido especificado em vez de levantar um " "erro." -#: ../../library/os.rst:2745 +#: ../../library/os.rst:2794 msgid "" -"Object whose attributes correspond roughly to the members of the :c:type:" -"`stat` structure. It is used for the result of :func:`os.stat`, :func:`os." -"fstat` and :func:`os.lstat`." +"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 "" "Objeto cujos atributos correspondem aproximadamente aos membros da " -"estrutura :c:type:`stat`. É usado para o resultado de :func:`os.stat`, :func:" -"`os.fstat` e :func:`os.lstat`." +"estrutura :c:struct:`stat`. É usado para o resultado " +"de :func:`os.stat`, :func:`os.fstat` e :func:`os.lstat`." -#: ../../library/os.rst:2749 +#: ../../library/os.rst:2798 msgid "Attributes:" msgstr "Atributos:" -#: ../../library/os.rst:2753 +#: ../../library/os.rst:2802 msgid "File mode: file type and file mode bits (permissions)." msgstr "" "Modo de arquivo: tipo de arquivo e bits de modo de arquivo (permissões)." -#: ../../library/os.rst:2757 +#: ../../library/os.rst:2806 msgid "" "Platform dependent, but if non-zero, uniquely identifies the file for a " "given value of ``st_dev``. Typically:" @@ -4104,11 +4229,11 @@ msgstr "" "exclusivamente o arquivo para um determinado valor de ``st_dev``. " "Tipicamente:" -#: ../../library/os.rst:2760 +#: ../../library/os.rst:2809 msgid "the inode number on Unix," msgstr "o número do nó-i no Unix," -#: ../../library/os.rst:2761 +#: ../../library/os.rst:2810 msgid "" "the `file index `_ on " "Windows" @@ -4116,23 +4241,23 @@ msgstr "" "o `índice de arquivo `_ " "no Windows" -#: ../../library/os.rst:2767 +#: ../../library/os.rst:2816 msgid "Identifier of the device on which this file resides." msgstr "Identificador do dispositivo no qual este arquivo reside." -#: ../../library/os.rst:2771 +#: ../../library/os.rst:2820 msgid "Number of hard links." msgstr "Número de links físicos." -#: ../../library/os.rst:2775 +#: ../../library/os.rst:2824 msgid "User identifier of the file owner." msgstr "Identificador de usuário do proprietário do arquivo." -#: ../../library/os.rst:2779 +#: ../../library/os.rst:2828 msgid "Group identifier of the file owner." msgstr "Identificador de grupo do proprietário do arquivo." -#: ../../library/os.rst:2783 +#: ../../library/os.rst:2832 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 " @@ -4142,36 +4267,36 @@ msgstr "" "O tamanho de um link simbólico é o comprimento do nome do caminho que ele " "contém, sem um byte nulo final." -#: ../../library/os.rst:2787 +#: ../../library/os.rst:2836 msgid "Timestamps:" -msgstr "Timestamps:" +msgstr "Registros de data e hora:" -#: ../../library/os.rst:2791 +#: ../../library/os.rst:2840 msgid "Time of most recent access expressed in seconds." -msgstr "Tempo do acesso mais recente expresso em segundos." +msgstr "Hora do acesso mais recente expressa em segundos." -#: ../../library/os.rst:2795 +#: ../../library/os.rst:2844 msgid "Time of most recent content modification expressed in seconds." -msgstr "Tempo da modificação de conteúdo mais recente expresso em segundos." +msgstr "Hora da modificação de conteúdo mais recente expressa em segundos." -#: ../../library/os.rst:2799 ../../library/os.rst:2815 +#: ../../library/os.rst:2848 ../../library/os.rst:2868 msgid "Platform dependent:" msgstr "Dependente da plataforma:" -#: ../../library/os.rst:2801 ../../library/os.rst:2817 +#: ../../library/os.rst:2850 ../../library/os.rst:2870 msgid "the time of most recent metadata change on Unix," msgstr "a hora da mudança de metadados mais recente no Unix," -#: ../../library/os.rst:2802 +#: ../../library/os.rst:2851 msgid "the time of creation on Windows, expressed in seconds." msgstr "a hora de criação no Windows, expresso em segundos." -#: ../../library/os.rst:2806 +#: ../../library/os.rst:2855 msgid "Time of most recent access expressed in nanoseconds as an integer." msgstr "" "Hora do acesso mais recente expresso em nanossegundos como um número inteiro." -#: ../../library/os.rst:2810 +#: ../../library/os.rst:2861 msgid "" "Time of most recent content modification expressed in nanoseconds as an " "integer." @@ -4179,14 +4304,14 @@ msgstr "" "Hora da modificação de conteúdo mais recente expressa em nanossegundos como " "um número inteiro." -#: ../../library/os.rst:2818 +#: ../../library/os.rst:2871 msgid "" "the time of creation on Windows, expressed in nanoseconds as an integer." msgstr "" "a hora de criação no Windows, expresso em nanossegundos como um número " "inteiro." -#: ../../library/os.rst:2823 +#: ../../library/os.rst:2878 msgid "" "The exact meaning and resolution of the :attr:`st_atime`, :attr:`st_mtime`, " "and :attr:`st_ctime` attributes depend on the operating system and the file " @@ -4194,33 +4319,34 @@ msgid "" "systems, :attr:`st_mtime` has 2-second resolution, and :attr:`st_atime` has " "only 1-day resolution. See your operating system documentation for details." msgstr "" -"O significado e resolução exatos dos atributos :attr:`st_atime`, :attr:" -"`st_mtime`, and :attr:`st_ctime` dependem do sistema operacional e do " -"sistema de arquivos. Por exemplo, em sistemas Windows que usam os sistemas " -"de arquivos FAT ou FAT32, :attr:`st_mtime` tem resolução de 2 segundos, e :" -"attr:`st_atime` tem resolução de apenas 1 dia. Consulte a documentação do " -"sistema operacional para obter detalhes." - -#: ../../library/os.rst:2830 -msgid "" -"Similarly, although :attr:`st_atime_ns`, :attr:`st_mtime_ns`, and :attr:" -"`st_ctime_ns` are always expressed in nanoseconds, many systems do not " -"provide nanosecond precision. On systems that do provide nanosecond " -"precision, the floating-point object used to store :attr:`st_atime`, :attr:" -"`st_mtime`, and :attr:`st_ctime` cannot preserve all of it, and as such will " -"be slightly inexact. If you need the exact timestamps you should always use :" -"attr:`st_atime_ns`, :attr:`st_mtime_ns`, and :attr:`st_ctime_ns`." -msgstr "" -"Da mesma forma, embora :attr:`st_atime_ns`, :attr:`st_mtime_ns` e :attr:" -"`st_ctime_ns` sejam sempre expressos em nanossegundos, muitos sistemas não " -"fornecem precisão de nanossegundos. Em sistemas que fornecem precisão de " -"nanossegundos, o objeto de ponto flutuante usado para armazenar :attr:" -"`st_atime`, :attr:`st_mtime` e :attr:`st_ctime` não pode preservar tudo, e " -"como tal será ligeiramente inexato . Se você precisa dos carimbos de data/" -"hora exatos, sempre deve usar :attr:`st_atime_ns`, :attr:`st_mtime_ns` e :" -"attr:`st_ctime_ns`." - -#: ../../library/os.rst:2839 +"O significado e resolução exatos dos " +"atributos :attr:`st_atime`, :attr:`st_mtime`, and :attr:`st_ctime` dependem " +"do sistema operacional e do sistema de arquivos. Por exemplo, em sistemas " +"Windows que usam os sistemas de arquivos FAT ou FAT32, :attr:`st_mtime` tem " +"resolução de 2 segundos, e :attr:`st_atime` tem resolução de apenas 1 dia. " +"Consulte a documentação do sistema operacional para obter detalhes." + +#: ../../library/os.rst:2885 +msgid "" +"Similarly, although :attr:`st_atime_ns`, :attr:`st_mtime_ns`, " +"and :attr:`st_ctime_ns` are always expressed in nanoseconds, many systems do " +"not provide nanosecond precision. On systems that do provide nanosecond " +"precision, the floating-point object used to " +"store :attr:`st_atime`, :attr:`st_mtime`, and :attr:`st_ctime` cannot " +"preserve all of it, and as such will be slightly inexact. If you need the " +"exact timestamps you should always " +"use :attr:`st_atime_ns`, :attr:`st_mtime_ns`, and :attr:`st_ctime_ns`." +msgstr "" +"Da mesma forma, embora :attr:`st_atime_ns`, :attr:`st_mtime_ns` " +"e :attr:`st_ctime_ns` sejam sempre expressos em nanossegundos, muitos " +"sistemas não fornecem precisão de nanossegundos. Em sistemas que fornecem " +"precisão de nanossegundos, o objeto de ponto flutuante usado para " +"armazenar :attr:`st_atime`, :attr:`st_mtime` e :attr:`st_ctime` não pode " +"preservar tudo, e como tal será ligeiramente inexato . Se você precisa dos " +"carimbos de data/hora exatos, sempre deve " +"usar :attr:`st_atime_ns`, :attr:`st_mtime_ns` e :attr:`st_ctime_ns`." + +#: ../../library/os.rst:2894 msgid "" "On some Unix systems (such as Linux), the following attributes may also be " "available:" @@ -4228,15 +4354,15 @@ msgstr "" "Em alguns sistemas Unix (como Linux), os seguintes atributos também podem " "estar disponíveis:" -#: ../../library/os.rst:2844 +#: ../../library/os.rst:2899 msgid "" -"Number of 512-byte blocks allocated for file. This may be smaller than :attr:" -"`st_size`/512 when the file has holes." +"Number of 512-byte blocks allocated for file. This may be smaller " +"than :attr:`st_size`/512 when the file has holes." msgstr "" "Número de blocos de 512 bytes alocados para o arquivo. Isso pode ser menor " "que :attr:`st_size`/512 quando o arquivo possuir lacunas." -#: ../../library/os.rst:2849 +#: ../../library/os.rst:2904 msgid "" "\"Preferred\" blocksize for efficient file system I/O. Writing to a file in " "smaller chunks may cause an inefficient read-modify-rewrite." @@ -4245,15 +4371,15 @@ msgstr "" "Gravar em um arquivo em partes menores pode causar uma leitura-modificação-" "reescrita ineficiente." -#: ../../library/os.rst:2854 +#: ../../library/os.rst:2909 msgid "Type of device if an inode device." msgstr "Tipo de dispositivo, se for um dispositivo nó-i." -#: ../../library/os.rst:2858 +#: ../../library/os.rst:2913 msgid "User defined flags for file." -msgstr "Sinalizadores definidos pelo usuário para arquivo." +msgstr "Sinalizadores definidos pelo usuário para o arquivo." -#: ../../library/os.rst:2860 +#: ../../library/os.rst:2915 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):" @@ -4261,22 +4387,22 @@ msgstr "" "Em outros sistemas Unix (como o FreeBSD), os seguintes atributos podem estar " "disponíveis (mas só podem ser preenchidos se o root tentar usá-los):" -#: ../../library/os.rst:2865 +#: ../../library/os.rst:2920 msgid "File generation number." msgstr "Número de geração do arquivo." -#: ../../library/os.rst:2869 +#: ../../library/os.rst:2924 msgid "Time of file creation." msgstr "Horário da criação do arquivo." -#: ../../library/os.rst:2871 +#: ../../library/os.rst:2926 msgid "" "On Solaris and derivatives, the following attributes may also be available:" msgstr "" "No Solaris e derivados, os seguintes atributos também podem estar " "disponíveis:" -#: ../../library/os.rst:2876 +#: ../../library/os.rst:2931 msgid "" "String that uniquely identifies the type of the filesystem that contains the " "file." @@ -4284,190 +4410,174 @@ msgstr "" "String que identifica exclusivamente o tipo de sistema de arquivos que " "contém o arquivo." -#: ../../library/os.rst:2879 +#: ../../library/os.rst:2934 msgid "On macOS systems, the following attributes may also be available:" msgstr "" "Em sistemas macOS, os seguintes atributos também podem estar disponíveis:" -#: ../../library/os.rst:2883 +#: ../../library/os.rst:2938 msgid "Real size of the file." msgstr "Tamanho real do arquivo." -#: ../../library/os.rst:2887 +#: ../../library/os.rst:2942 msgid "Creator of the file." msgstr "Criador do arquivo." -#: ../../library/os.rst:2891 +#: ../../library/os.rst:2946 msgid "File type." msgstr "Tipo de arquivo." -#: ../../library/os.rst:2893 +#: ../../library/os.rst:2948 msgid "On Windows systems, the following attributes are also available:" msgstr "Em sistemas Windows, os seguintes atributos também estão disponíveis:" -#: ../../library/os.rst:2897 +#: ../../library/os.rst:2952 msgid "" "Windows file attributes: ``dwFileAttributes`` member of the " -"``BY_HANDLE_FILE_INFORMATION`` structure returned by :c:func:" -"`GetFileInformationByHandle`. See the ``FILE_ATTRIBUTE_*`` constants in the :" -"mod:`stat` module." +"``BY_HANDLE_FILE_INFORMATION`` structure returned by :c:func:`!" +"GetFileInformationByHandle`. See the :const:`!FILE_ATTRIBUTE_* " +"` constants in the :mod:`stat` module." msgstr "" "Atributos de arquivos no Windows: membro ``dwFileAttributes`` da estrutura " -"``BY_HANDLE_FILE_INFORMATION`` retornada por :c:func:" -"`GetFileInformationByHandle`. Veja as constantes ``FILE_ATTRIBUTE_*`` no " -"módulo :mod:`stat`." +"``BY_HANDLE_FILE_INFORMATION`` retornada por :c:func:`!" +"GetFileInformationByHandle`. Veja as constantes :const:`!FILE_ATTRIBUTE_* " +"` no módulo :mod:`stat`." -#: ../../library/os.rst:2904 +#: ../../library/os.rst:2962 msgid "" -"When :attr:`st_file_attributes` has the ``FILE_ATTRIBUTE_REPARSE_POINT`` " -"set, this field contains the tag identifying the type of reparse point. See " -"the ``IO_REPARSE_TAG_*`` constants in the :mod:`stat` module." +"When :attr:`st_file_attributes` has " +"the :const:`~stat.FILE_ATTRIBUTE_REPARSE_POINT` set, this field contains the " +"tag identifying the type of reparse point. See the :const:`IO_REPARSE_TAG_* " +"` constants in the :mod:`stat` module." msgstr "" -"Quando :attr:`st_file_attributes` tem ``FILE_ATTRIBUTE_REPARSE_POINT`` " -"definido, este campo contém uma tag identificando o tipo do ponto de " -"reanálise. Veja as constantes ``IO_REPARSE_TAG_*`` no módulo :mod:`stat`." +"Quando :attr:`st_file_attributes` " +"tem :const:`~stat.FILE_ATTRIBUTE_REPARSE_POINT` definido, este campo contém " +"uma tag identificando o tipo do ponto de nova análise. Veja as " +"constantes :const:`IO_REPARSE_TAG_* ` no " +"módulo :mod:`stat`." -#: ../../library/os.rst:2908 +#: ../../library/os.rst:2967 msgid "" "The standard module :mod:`stat` defines functions and constants that are " -"useful for extracting information from a :c:type:`stat` structure. (On " +"useful for extracting information from a :c:struct:`stat` structure. (On " "Windows, some items are filled with dummy values.)" msgstr "" "O módulo padrão :mod:`stat` define funções e constantes que são úteis para " -"extrair informações de uma estrutura :c:type:`stat`. (No Windows, alguns " +"extrair informações de uma estrutura :c:struct:`stat`. (No Windows, alguns " "itens são preenchidos com valores fictícios.)" -#: ../../library/os.rst:2912 +#: ../../library/os.rst:2971 msgid "" "For backward compatibility, a :class:`stat_result` instance is also " "accessible as a tuple of at least 10 integers giving the most important (and " -"portable) members of the :c:type:`stat` structure, in the order :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`. More items may be added at the end by some " -"implementations. For compatibility with older Python versions, accessing :" -"class:`stat_result` as a tuple always returns integers." -msgstr "" -"Para compatibilidade com versões anteriores, uma instância de :class:" -"`stat_result` também é acessível como uma tupla de pelo menos 10 inteiros, " -"fornecendo os membros mais importantes (e portáveis) da estrutura :c:type:" -"`stat`, na ordem :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`. Mais itens podem ser " -"adicionados no final por algumas implementações. Para compatibilidade com " -"versões mais antigas do Python, acessar :class:`stat_result` como uma tupla " -"sempre retorna inteiros." - -#: ../../library/os.rst:2921 -msgid "" -"Added the :attr:`st_atime_ns`, :attr:`st_mtime_ns`, and :attr:`st_ctime_ns` " -"members." -msgstr "" -"Adicionados os membros :attr:`st_atime_ns`, :attr:`st_mtime_ns` e :attr:" -"`st_ctime_ns`." - -#: ../../library/os.rst:2925 -msgid "Added the :attr:`st_file_attributes` member on Windows." -msgstr "Adicionado o membro :attr:`st_file_attributes` no Windows." - -#: ../../library/os.rst:2928 +"portable) members of the :c:struct:`stat` structure, in the " +"order :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`. " +"More items may be added at the end by some implementations. For " +"compatibility with older Python versions, accessing :class:`stat_result` as " +"a tuple always returns integers." +msgstr "" +"Para compatibilidade com versões anteriores, uma instância " +"de :class:`stat_result` também é acessível como uma tupla de pelo menos 10 " +"inteiros, fornecendo os membros mais importantes (e portáveis) da " +"estrutura :c:struct:`stat`, na " +"ordem :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`. " +"Mais itens podem ser adicionados no final por algumas implementações. Para " +"compatibilidade com versões mais antigas do Python, " +"acessar :class:`stat_result` como uma tupla sempre retorna inteiros." + +#: ../../library/os.rst:2980 msgid "Windows now returns the file index as :attr:`st_ino` when available." msgstr "" "Windows agora retorna o arquivo de índice como :attr:`st_ino` quando " "disponível." -#: ../../library/os.rst:2932 +#: ../../library/os.rst:2984 msgid "Added the :attr:`st_fstype` member to Solaris/derivatives." msgstr "Adicionado o membro :attr:`st_fstype` ao Solaris/derivados." -#: ../../library/os.rst:2935 +#: ../../library/os.rst:2987 msgid "Added the :attr:`st_reparse_tag` member on Windows." msgstr "Adicionado o membro :attr:`st_reparse_tag` no Windows." -#: ../../library/os.rst:2938 +#: ../../library/os.rst:2990 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." +"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 "" "No Windows, o membro :attr:`st_mode` agora identifica arquivos especiais " "como :const:`S_IFCHR`, :const:`S_IFIFO` ou :const:`S_IFBLK` conforme " "apropriado." -#: ../../library/os.rst:2945 +#: ../../library/os.rst:2997 msgid "" -"Perform a :c:func:`statvfs` system call on the given path. The return value " -"is an object whose attributes describe the filesystem on the given path, and " -"correspond to the members of the :c:type:`statvfs` structure, namely: :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`." +"Perform a :c:func:`!statvfs` system call on the given path. The return " +"value is an object whose attributes describe the filesystem on the given " +"path, and correspond to the members of the :c:struct:`statvfs` structure, " +"namely: :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`." msgstr "" -"Executa uma chamada de sistema :c:func:`statvfs` no caminho fornecido. O " +"Executa uma chamada de sistema :c:func:`!statvfs` no caminho fornecido. O " "valor de retorno é um objeto cujos atributos descrevem o sistema de arquivos " -"no caminho fornecido e correspondem aos membros da estrutura :c:type:" -"`statvfs`, a saber: :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`." +"no caminho fornecido e correspondem aos membros da " +"estrutura :c:struct:`statvfs`, a " +"saber: :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`." -#: ../../library/os.rst:2952 +#: ../../library/os.rst:3004 msgid "" "Two module-level constants are defined for the :attr:`f_flag` attribute's " "bit-flags: if :const:`ST_RDONLY` is set, the filesystem is mounted read-" "only, and if :const:`ST_NOSUID` is set, the semantics of setuid/setgid bits " "are disabled or not supported." msgstr "" -"Duas constantes de nível de módulo são definidas para os sinalizadores de " -"bit do atributo :attr:`f_flag`: se :const:`ST_RDONLY` for definido, o " +"Duas constantes em nível de módulo são definidas para os sinalizadores de " +"bit do atributo :attr:`f_flag`: se :const:`ST_RDONLY` estiver definido, o " "sistema de arquivos é montado somente leitura, e se :const:`ST_NOSUID` " "estiver definido, a semântica dos bits setuid/setgid é desabilitada ou não é " -"suportada." +"implementada." -#: ../../library/os.rst:2957 +#: ../../library/os.rst:3009 msgid "" "Additional module-level constants are defined for GNU/glibc based systems. " -"These are :const:`ST_NODEV` (disallow access to device special files), :" -"const:`ST_NOEXEC` (disallow program execution), :const:`ST_SYNCHRONOUS` " -"(writes are synced at once), :const:`ST_MANDLOCK` (allow mandatory locks on " -"an FS), :const:`ST_WRITE` (write on file/directory/symlink), :const:" -"`ST_APPEND` (append-only file), :const:`ST_IMMUTABLE` (immutable file), :" -"const:`ST_NOATIME` (do not update access times), :const:`ST_NODIRATIME` (do " -"not update directory access times), :const:`ST_RELATIME` (update atime " -"relative to mtime/ctime)." +"These are :const:`ST_NODEV` (disallow access to device special " +"files), :const:`ST_NOEXEC` (disallow program " +"execution), :const:`ST_SYNCHRONOUS` (writes are synced at " +"once), :const:`ST_MANDLOCK` (allow mandatory locks on an " +"FS), :const:`ST_WRITE` (write on file/directory/symlink), :const:`ST_APPEND` " +"(append-only file), :const:`ST_IMMUTABLE` (immutable " +"file), :const:`ST_NOATIME` (do not update access " +"times), :const:`ST_NODIRATIME` (do not update directory access " +"times), :const:`ST_RELATIME` (update atime relative to mtime/ctime)." msgstr "" "Constantes de nível de módulo adicionais são definidas para sistemas " "baseados em GNU/glibc. São elas :const:`ST_NODEV` (impede o acesso aos " "arquivos especiais do dispositivo), :const:`ST_NOEXEC` (não permite a " "execução do programa), :const:`ST_SYNCHRONOUS` (as escritas são " -"sincronizadas de uma vez), :const:`ST_MANDLOCK` (permitir bloqueios " -"obrigatórios em um sistema de arquivos), :const:`ST_WRITE` (escrever no " -"arquivo/diretório/symlink), :const:`ST_APPEND` (arquivo somente anexado), :" -"const:`ST_IMMUTABLE` (arquivo imutável), :const:`ST_NOATIME` (não atualiza " -"os tempos de acesso), :const:`ST_NODIRATIME` (não atualiza os tempos de " -"acesso ao diretório), :const:`ST_RELATIME` (atualiza o atime relativo ao " -"mtime/ctime)." - -#: ../../library/os.rst:2970 +"sincronizadas de uma vez), :const:`ST_MANDLOCK` (permitir travas " +"obrigatórias em um sistema de arquivos), :const:`ST_WRITE` (escrever no " +"arquivo/diretório/link simbólico), :const:`ST_APPEND` (arquivo somente " +"anexado), :const:`ST_IMMUTABLE` (arquivo imutável), :const:`ST_NOATIME` (não " +"atualiza os tempos de acesso), :const:`ST_NODIRATIME` (não atualiza os " +"tempos de acesso ao diretório), :const:`ST_RELATIME` (atualiza o atime " +"relativo ao mtime/ctime)." + +#: ../../library/os.rst:3022 msgid "The :const:`ST_RDONLY` and :const:`ST_NOSUID` constants were added." msgstr "" "As constantes :const:`ST_RDONLY` e :const:`ST_NOSUID` foram adicionadas." -#: ../../library/os.rst:2976 +#: ../../library/os.rst:3028 msgid "" -"The :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`, and :const:" -"`ST_RELATIME` constants were added." +"The :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`, " +"and :const:`ST_RELATIME` constants were added." msgstr "" -"As constantes :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` e :const:`ST_RELATIME` foram adicionadas." +"As " +"constantes :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` " +"e :const:`ST_RELATIME` foram adicionadas." -#: ../../library/os.rst:2985 -msgid "Added :attr:`f_fsid`." -msgstr "Adicionado :attr:`f_fsid`." +#: ../../library/os.rst:3037 +msgid "Added the :attr:`f_fsid` attribute." +msgstr "Adicionado o atributo :attr:`f_fsid`." -#: ../../library/os.rst:2991 +#: ../../library/os.rst:3043 msgid "" "A :class:`set` object indicating which functions in the :mod:`os` module " "accept an open file descriptor for their *dir_fd* parameter. Different " @@ -4482,13 +4592,13 @@ msgstr "" "um descritor de arquivo aberto para seu parâmetro *dir_fd*. Plataformas " "diferentes fornecem recursos diferentes, e a funcionalidade subjacente que o " "Python usa para implementar o parâmetro *dir_fd* não está disponível em " -"todas as plataformas que o Python suporta. Para fins de consistência, as " -"funções que podem suportar *dir_fd* sempre permitem especificar o parâmetro, " -"mas lançarão uma exceção se a funcionalidade for usada quando não estiver " -"disponível localmente. (Especificar ``None`` para *dir_fd* é sempre " -"suportado em todas as plataformas.)" +"todas as plataformas que o Python provê suporte. Para fins de consistência, " +"as funções que podem implementar *dir_fd* sempre permitem especificar o " +"parâmetro, mas lançarão uma exceção se a funcionalidade for usada quando não " +"estiver disponível localmente. (Especificar ``None`` para *dir_fd* é sempre " +"válido em todas as plataformas.)" -#: ../../library/os.rst:3001 +#: ../../library/os.rst:3053 msgid "" "To check whether a particular function accepts an open file descriptor for " "its *dir_fd* parameter, use the ``in`` operator on ``supports_dir_fd``. As " @@ -4501,7 +4611,7 @@ msgstr "" "se :func:`os.stat` aceita descritores de arquivo abertos para *dir_fd* na " "plataforma local::" -#: ../../library/os.rst:3008 +#: ../../library/os.rst:3060 msgid "" "Currently *dir_fd* parameters only work on Unix platforms; none of them work " "on Windows." @@ -4509,37 +4619,37 @@ msgstr "" "Atualmente os parâmetros *dir_fd* funcionam apenas em plataformas Unix; " "nenhum deles funciona no Windows." -#: ../../library/os.rst:3016 +#: ../../library/os.rst:3068 msgid "" "A :class:`set` object indicating whether :func:`os.access` permits " "specifying ``True`` for its *effective_ids* parameter on the local platform. " "(Specifying ``False`` for *effective_ids* is always supported on all " -"platforms.) If the local platform supports it, the collection will contain :" -"func:`os.access`; otherwise it will be empty." +"platforms.) If the local platform supports it, the collection will " +"contain :func:`os.access`; otherwise it will be empty." msgstr "" "Um objeto :class:`set` que indica se :func:`os.access` permite especificar " "``True`` para seu parâmetro *effective_ids* na plataforma local. " -"(Especificar ``False`` para *effective_ids* é sempre suportado em todas as " -"plataformas.) Se a plataforma local suportar, a coleção conterá :func:`os." -"access`; caso contrário, ficará vazio." +"(Especificar ``False`` para *effective_ids* é sempre válido em todas as " +"plataformas.) Se a plataforma local oferecer suporte, a coleção " +"conterá :func:`os.access`; caso contrário, ficará vazio." -#: ../../library/os.rst:3022 +#: ../../library/os.rst:3074 msgid "" "This expression evaluates to ``True`` if :func:`os.access` supports " "``effective_ids=True`` on the local platform::" msgstr "" -"Esta expressão é avaliada como ``True`` se :func:`os.access` tiver suporte a " -"``effective_ids=True`` na plataforma local::" +"Esta expressão é avaliada como ``True`` se :func:`os.access` oferecer " +"suporte a ``effective_ids=True`` na plataforma local::" -#: ../../library/os.rst:3027 +#: ../../library/os.rst:3079 msgid "" "Currently *effective_ids* is only supported on Unix platforms; it does not " "work on Windows." msgstr "" -"Atualmente, *effective_ids* é suportado apenas em plataformas Unix; não " +"Atualmente, *effective_ids* funciona apenas em plataformas Unix; não " "funciona no Windows." -#: ../../library/os.rst:3035 +#: ../../library/os.rst:3087 msgid "" "A :class:`set` object indicating which functions in the :mod:`os` module " "permit specifying their *path* parameter as an open file descriptor on the " @@ -4552,23 +4662,23 @@ msgstr "" "plataforma local. Plataformas diferentes fornecem recursos diferentes, e a " "funcionalidade subjacente que o Python usa para aceitar descritores de " "arquivos abertos como argumentos *path* não está disponível em todas as " -"plataformas que o Python suporta." +"plataformas que o Python provê suporte." -#: ../../library/os.rst:3042 +#: ../../library/os.rst:3094 msgid "" "To determine whether a particular function permits specifying an open file " "descriptor for its *path* parameter, use the ``in`` operator on " -"``supports_fd``. As an example, this expression evaluates to ``True`` if :" -"func:`os.chdir` accepts open file descriptors for *path* on your local " +"``supports_fd``. As an example, this expression evaluates to ``True`` " +"if :func:`os.chdir` accepts open file descriptors for *path* on your local " "platform::" msgstr "" "Para determinar se uma função particular permite especificar um descritor de " "arquivo aberto para seu parâmetro *path*, use o operador ``in`` em " -"``supports_fd``. Como exemplo, esta expressão é avaliada como ``True`` se :" -"func:`os.chdir` aceita descritores de arquivo abertos para *path* em sua " +"``supports_fd``. Como exemplo, esta expressão é avaliada como ``True`` " +"se :func:`os.chdir` aceita descritores de arquivo abertos para *path* em sua " "plataforma local::" -#: ../../library/os.rst:3055 +#: ../../library/os.rst:3107 msgid "" "A :class:`set` object indicating which functions in the :mod:`os` module " "accept ``False`` for their *follow_symlinks* parameter on the local " @@ -4591,25 +4701,25 @@ msgstr "" "(Especificar ``True`` para *follow_symlinks* é sempre aceito em todas as " "plataformas.)" -#: ../../library/os.rst:3065 +#: ../../library/os.rst:3117 msgid "" "To check whether a particular function accepts ``False`` for its " "*follow_symlinks* parameter, use the ``in`` operator on " "``supports_follow_symlinks``. As an example, this expression evaluates to " -"``True`` if you may specify ``follow_symlinks=False`` when calling :func:`os." -"stat` on the local platform::" +"``True`` if you may specify ``follow_symlinks=False`` when " +"calling :func:`os.stat` on the local platform::" msgstr "" "Para verificar se uma função em particular aceita ``False`` para seu " "parâmetro *follow_symlinks*, use o operador ``in`` em " "``supports_follow_symlinks``. Como exemplo, esta expressão é avaliada como " -"``True`` se você pode especificar ``follow_symlinks=False`` ao chamar :func:" -"`os.stat` na plataforma local::" +"``True`` se você pode especificar ``follow_symlinks=False`` ao " +"chamar :func:`os.stat` na plataforma local::" -#: ../../library/os.rst:3078 +#: ../../library/os.rst:3130 msgid "Create a symbolic link pointing to *src* named *dst*." msgstr "Cria um link simbólico apontando para *src* chamado *dst*." -#: ../../library/os.rst:3080 +#: ../../library/os.rst:3132 msgid "" "On Windows, a symlink represents either a file or a directory, and does not " "morph to the target dynamically. If the target is present, the type of the " @@ -4619,13 +4729,13 @@ msgid "" "ignored." msgstr "" "No Windows, um link simbólico representa um arquivo ou um diretório e não se " -"transforma no destino dinamicamente. Se o alvo estiver presente, o tipo de " -"link simbólico será criado para corresponder. Caso contrário, o link " -"simbólico será criado como um diretório se *target_is_directory* for " -"``True`` ou um link simbólico de arquivo (o padrão) caso contrário. Em " -"plataformas não Windows, *target_is_directory* é ignorado." +"transforma no destino dinamicamente. Se o alvo estiver presente, será criado " +"um link simbólico de mesmo tipo. Caso contrário, o link simbólico será " +"criado como um diretório se *target_is_directory* for ``True`` ou um link " +"simbólico de arquivo (o padrão) caso contrário. Em plataformas não Windows, " +"*target_is_directory* é ignorado." -#: ../../library/os.rst:3091 +#: ../../library/os.rst:3143 msgid "" "On newer versions of Windows 10, unprivileged accounts can create symlinks " "if Developer Mode is enabled. When Developer Mode is not available/enabled, " @@ -4638,40 +4748,40 @@ msgstr "" "*SeCreateSymbolicLinkPrivilege* é necessário ou o processo deve ser " "executado como um administrador." -#: ../../library/os.rst:3097 +#: ../../library/os.rst:3149 msgid "" ":exc:`OSError` is raised when the function is called by an unprivileged user." msgstr "" "A exceção :exc:`OSError` é levantada quando a função é chamada por um " "usuário sem privilégios." -#: ../../library/os.rst:3100 +#: ../../library/os.rst:3152 msgid "" "Raises an :ref:`auditing event ` ``os.symlink`` with arguments " "``src``, ``dst``, ``dir_fd``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.symlink`` com " -"argumentos ``src``, ``dst``, ``dir_fd``." +"Levanta um :ref:`evento de auditoria ` ``os.symlink`` com os " +"argumentos ``src``, ``dst`` e ``dir_fd``." -#: ../../library/os.rst:3110 +#: ../../library/os.rst:3162 msgid "" -"Added the *dir_fd* argument, and now allow *target_is_directory* on non-" +"Added the *dir_fd* parameter, and now allow *target_is_directory* on non-" "Windows platforms." msgstr "" -"Adicionado o argumento *dir_fd* e agora permite *target_is_directory* em " +"Adicionado o parâmetro *dir_fd*, e agora permite *target_is_directory* em " "plataformas não Windows." -#: ../../library/os.rst:3117 +#: ../../library/os.rst:3169 msgid "Added support for unelevated symlinks on Windows with Developer Mode." msgstr "" "Adicionado suporte para links simbólicos não elevados no Windows com Modo de " "Desenvolvedor." -#: ../../library/os.rst:3123 +#: ../../library/os.rst:3175 msgid "Force write of everything to disk." msgstr "Força a escrita de tudo para o disco." -#: ../../library/os.rst:3132 +#: ../../library/os.rst:3184 msgid "" "Truncate the file corresponding to *path*, so that it is at most *length* " "bytes in size." @@ -4679,30 +4789,30 @@ msgstr "" "Trunca o arquivo correspondente ao *path*, de modo que tenha no máximo " "*length* bytes." -#: ../../library/os.rst:3137 +#: ../../library/os.rst:3189 msgid "" "Raises an :ref:`auditing event ` ``os.truncate`` with arguments " "``path``, ``length``." msgstr "" -"Levanta :ref:`evento de auditoria ` ``os.truncate`` com os " -"argumentos ``path``, ``length``." +"Levanta um :ref:`evento de auditoria ` ``os.truncate`` com os " +"argumentos ``path`` e ``length``." -#: ../../library/os.rst:3152 +#: ../../library/os.rst:3204 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 "" -"Remove (exclui) o arquivo *path*. Esta função é semanticamente idêntica à :" -"func:`remove`; o nome ``unlink`` é seu nome Unix tradicional. Por favor, " +"Remove (exclui) o arquivo *path*. Esta função é semanticamente idêntica " +"à :func:`remove`; o nome ``unlink`` é seu nome Unix tradicional. Por favor, " "veja a documentação de :func:`remove` para mais informações." -#: ../../library/os.rst:3168 +#: ../../library/os.rst:3220 msgid "Set the access and modified times of the file specified by *path*." msgstr "" "Define os tempos de acesso e modificação do arquivo especificado por *path*." -#: ../../library/os.rst:3170 +#: ../../library/os.rst:3222 msgid "" ":func:`utime` takes two optional parameters, *times* and *ns*. These specify " "the times set on *path* and are used as follows:" @@ -4710,24 +4820,25 @@ msgstr "" ":func:`utime` aceita dois parâmetros opcionais, *times* e *ns*. Eles " "especificam os horários definidos no *path* e são usados da seguinte forma:" -#: ../../library/os.rst:3173 +#: ../../library/os.rst:3225 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 "" "Se *ns* for especificado, deve ser uma tupla de 2 elementos na forma " -"``(atime_ns, mtime_ns)`` onde cada membro é um int expressando nanossegundos." +"``(atime_ns, mtime_ns)`` onde cada membro é um inteiro expressando " +"nanossegundos." -#: ../../library/os.rst:3176 +#: ../../library/os.rst:3228 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 "" "Se *times* não for ``None``, deve ser uma tupla de 2 elementos na forma " -"``(atime, mtime)`` onde cada membro é um int ou ponto flutuante expressando " -"segundos." +"``(atime, mtime)`` onde cada membro é um inteiro ou ponto flutuante " +"expressando segundos." -#: ../../library/os.rst:3179 +#: ../../library/os.rst:3231 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." @@ -4736,35 +4847,35 @@ msgstr "" "especificar ``ns=(atime_ns, mtime_ns)`` onde ambos os tempos são a hora " "atual." -#: ../../library/os.rst:3183 +#: ../../library/os.rst:3235 msgid "It is an error to specify tuples for both *times* and *ns*." msgstr "É um erro especificar tuplas para ambos *times* e *ns*." -#: ../../library/os.rst:3185 +#: ../../library/os.rst:3237 msgid "" -"Note that the exact times you set here may not be returned by a subsequent :" -"func:`~os.stat` call, depending on the resolution with which your operating " -"system records access and modification times; see :func:`~os.stat`. The best " -"way to preserve exact times is to use the *st_atime_ns* and *st_mtime_ns* " -"fields from the :func:`os.stat` result object with the *ns* parameter to :" -"func:`utime`." +"Note that the exact times you set here may not be returned by a " +"subsequent :func:`~os.stat` call, depending on the resolution with which " +"your operating system records access and modification times; " +"see :func:`~os.stat`. The best way to preserve exact times is to use the " +"*st_atime_ns* and *st_mtime_ns* fields from the :func:`os.stat` result " +"object with the *ns* parameter to :func:`utime`." msgstr "" "Observe que os tempos exatos que você definiu aqui podem não ser retornados " "por uma chamada subsequente de :func:`~os.stat`, dependendo da resolução com " "a qual seu sistema operacional registra os tempos de acesso e modificação; " "veja :func:`~os.stat`. A melhor maneira de preservar os tempos exatos é usar " -"os campos *st_atime_ns* e *st_mtime_ns* do objeto de resultado :func:`os." -"stat` com o parâmetro *ns* para :func:`utime`." +"os campos *st_atime_ns* e *st_mtime_ns* do objeto de " +"resultado :func:`os.stat` com o parâmetro *ns* para :func:`utime`." -#: ../../library/os.rst:3196 +#: ../../library/os.rst:3248 msgid "" "Raises an :ref:`auditing event ` ``os.utime`` with arguments " "``path``, ``times``, ``ns``, ``dir_fd``." msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.utime`` com os " -"argumentos ``path``, ``times``, ``ns``, ``dir_fd``." +"argumentos ``path``, ``times``, ``ns`` e ``dir_fd``." -#: ../../library/os.rst:3198 +#: ../../library/os.rst:3250 msgid "" "Added support for specifying *path* as an open file descriptor, and the " "*dir_fd*, *follow_symlinks*, and *ns* parameters." @@ -4772,7 +4883,7 @@ msgstr "" "Adicionado suporte para especificar *path* como um descritor de arquivo " "aberto e os parâmetros *dir_fd*, *follow_symlinks* e *ns*." -#: ../../library/os.rst:3212 +#: ../../library/os.rst:3264 msgid "" "Generate the file names in a directory tree by walking the tree either top-" "down or bottom-up. For each directory in the tree rooted at directory *top* " @@ -4784,7 +4895,7 @@ msgstr "" "raiz no diretório *top* (incluindo o próprio *top*), ele produz uma tupla de " "3 elementos ``(dirpath, dirnames, filenames)``." -#: ../../library/os.rst:3217 +#: ../../library/os.rst:3269 msgid "" "*dirpath* is a string, the path to the directory. *dirnames* is a list of " "the names of the subdirectories in *dirpath* (including symlinks to " @@ -4803,12 +4914,12 @@ msgstr "" "nomes dos arquivos não pertencentes ao diretório em *dirpath*. Observe que " "os nomes nas listas não contêm componentes de caminho. Para obter um caminho " "completo (que começa com *top*) para um arquivo ou diretório em *dirpath*, " -"faça ``os.path.join(dirpath, name)``. Se as listas são ou não classificadas " +"execute ``os.path.join(dirpath, name)``. Se as listas são ou não ordenadas " "depende do sistema de arquivos. Se um arquivo for removido ou adicionado ao " "diretório *dirpath* durante a geração das listas, não é especificado se um " "nome para esse arquivo deve ser incluído." -#: ../../library/os.rst:3228 +#: ../../library/os.rst:3280 msgid "" "If optional argument *topdown* is ``True`` or not specified, the triple for " "a directory is generated before the triples for any of its subdirectories " @@ -4826,7 +4937,7 @@ msgstr "" "Não importa o valor de *topdown*, a lista de subdiretórios é recuperada " "antes que as tuplas para o diretório e seus subdiretórios sejam geradas." -#: ../../library/os.rst:3236 +#: ../../library/os.rst:3288 msgid "" "When *topdown* is ``True``, the caller can modify the *dirnames* list in-" "place (perhaps using :keyword:`del` or slice assignment), and :func:`walk` " @@ -4839,16 +4950,16 @@ msgid "" "itself is generated." msgstr "" "Quando *topdown* é ``True``, o chamador pode modificar a lista de *dirnames* " -"internamente (talvez usando :keyword:`del` ou atribuição de fatia), e :func:" -"`walk` só recursará nos subdiretórios cujos nomes permanecem em *dirnames*; " -"isso pode ser usado para podar a busca, impor uma ordem específica de " -"visita, ou mesmo informar à função :func:`walk` sobre os diretórios que o " -"chamador cria ou renomeia antes de retomar :func:`walk` novamente. Modificar " -"*dirnames* quando *topdown* for ``False`` não tem efeito no comportamento da " -"caminhada, porque no modo de baixo para cima os diretórios em *dirnames* são " -"gerados antes do próprio *dirpath* ser gerado." +"internamente (talvez usando :keyword:`del` ou atribuição de fatia), " +"e :func:`walk` só recursará nos subdiretórios cujos nomes permanecem em " +"*dirnames*; isso pode ser usado para podar a busca, impor uma ordem " +"específica de visita, ou mesmo informar à função :func:`walk` sobre os " +"diretórios que o chamador cria ou renomeia antes de retomar :func:`walk` " +"novamente. Modificar *dirnames* quando *topdown* for ``False`` não tem " +"efeito no comportamento da caminhada, porque no modo de baixo para cima os " +"diretórios em *dirnames* são gerados antes do próprio *dirpath* ser gerado." -#: ../../library/os.rst:3245 +#: ../../library/os.rst:3297 msgid "" "By default, errors from the :func:`scandir` call are ignored. If optional " "argument *onerror* is specified, it should be a function; it will be called " @@ -4864,7 +4975,7 @@ msgstr "" "abortar a caminhada. Observe que o nome do arquivo está disponível como o " "atributo ``filename`` do objeto de exceção." -#: ../../library/os.rst:3251 +#: ../../library/os.rst:3303 msgid "" "By default, :func:`walk` will not walk down into symbolic links that resolve " "to directories. Set *followlinks* to ``True`` to visit directories pointed " @@ -4875,17 +4986,17 @@ msgstr "" "diretórios apontados por links simbólicos, em sistemas que oferecem suporte " "a eles." -#: ../../library/os.rst:3257 +#: ../../library/os.rst:3309 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 "" "Esteja ciente de que definir *followlinks* para ``True`` pode levar a " -"recursão infinita se um link apontar para um diretório pai de si mesmo. :" -"func:`walk` não mantém registro dos diretórios que já visitou." +"recursão infinita se um link apontar para um diretório pai de si " +"mesmo. :func:`walk` não mantém registro dos diretórios que já visitou." -#: ../../library/os.rst:3263 +#: ../../library/os.rst:3315 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 " @@ -4895,17 +5006,17 @@ msgstr "" "atual entre as continuações de :func:`walk`. :func:`walk` nunca muda o " "diretório atual, e presume que seu chamador também não." -#: ../../library/os.rst:3267 ../../library/os.rst:3328 +#: ../../library/os.rst:3319 ../../library/os.rst:3380 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 CVS subdirectory::" msgstr "" -"Este exemplo exibe o número de bytes obtidos por arquivos não pertencentes " -"ao diretório em cada diretório no diretório inicial, exceto que ele não olha " -"em nenhum subdiretório CVS::" +"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 CVS::" -#: ../../library/os.rst:3280 +#: ../../library/os.rst:3332 msgid "" "In the next example (simple implementation of :func:`shutil.rmtree`), " "walking the tree bottom-up is essential, :func:`rmdir` doesn't allow " @@ -4915,15 +5026,15 @@ msgstr "" "na árvore de baixo para cima é essencial, :func:`rmdir` não permite excluir " "um diretório antes que o diretório esteja vazio::" -#: ../../library/os.rst:3295 +#: ../../library/os.rst:3347 msgid "" "Raises an :ref:`auditing event ` ``os.walk`` with arguments " "``top``, ``topdown``, ``onerror``, ``followlinks``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.walk`` com argumentos " -"``top``, ``topdown``, ``onerror``, ``followlinks``." +"Levanta um :ref:`evento de auditoria ` ``os.walk`` com os " +"argumentos ``top``, ``topdown``, ``onerror`` e ``followlinks``." -#: ../../library/os.rst:3297 +#: ../../library/os.rst:3349 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`." @@ -4931,7 +5042,7 @@ msgstr "" "Esta função agora chama :func:`os.scandir` em vez de :func:`os.listdir`, " "tornando-a mais rápida reduzindo o número de chamadas a :func:`os.stat`." -#: ../../library/os.rst:3311 +#: ../../library/os.rst:3363 msgid "" "This behaves exactly like :func:`walk`, except that it yields a 4-tuple " "``(dirpath, dirnames, filenames, dirfd)``, and it supports ``dir_fd``." @@ -4940,7 +5051,7 @@ msgstr "" "elementos ``(dirpath, dirnames, filenames, dirfd)``, e tem suporte a " "``dir_fd``." -#: ../../library/os.rst:3314 +#: ../../library/os.rst:3366 msgid "" "*dirpath*, *dirnames* and *filenames* are identical to :func:`walk` output, " "and *dirfd* is a file descriptor referring to the directory *dirpath*." @@ -4948,7 +5059,7 @@ msgstr "" "*dirpath*, *dirnames* e *filenames* são idênticos à saída de :func:`walk` e " "*dirfd* é um descritor de arquivo que faz referência ao diretório *dirpath*." -#: ../../library/os.rst:3317 +#: ../../library/os.rst:3369 msgid "" "This function always supports :ref:`paths relative to directory descriptors " "` and :ref:`not following symlinks `. Note however " @@ -4957,10 +5068,10 @@ msgid "" msgstr "" "Esta função sempre tem suporte a :ref:`caminhos relativos aos descritores de " "diretório ` e :ref:`não seguir links simbólicos `. " -"Observe, entretanto, que, ao contrário de outras funções, o valor padrão :" -"func:`fwalk` para *follow_symlinks* é ``False``." +"Observe, entretanto, que, ao contrário de outras funções, o valor " +"padrão :func:`fwalk` para *follow_symlinks* é ``False``." -#: ../../library/os.rst:3324 +#: ../../library/os.rst:3376 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 " @@ -4970,27 +5081,29 @@ msgstr "" "até a próxima etapa de iteração, então você deve duplicá-los (por exemplo, " "com :func:`dup`) se quiser mantê-los por mais tempo." -#: ../../library/os.rst:3341 +#: ../../library/os.rst:3393 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 "" -"No próximo exemplo, percorrer a árvore de baixo para cima é essencial: :func:" -"`rmdir` não permite excluir um diretório antes que o diretório esteja vazio::" +"No próximo exemplo, percorrer a árvore de baixo para cima é " +"essencial: :func:`rmdir` não permite excluir um diretório antes que o " +"diretório esteja vazio::" -#: ../../library/os.rst:3356 +#: ../../library/os.rst:3408 msgid "" "Raises an :ref:`auditing event ` ``os.fwalk`` with arguments " "``top``, ``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.fwalk`` com argumentos " -"``top``, ``topdown``, ``onerror``, ``follow_symlinks``, ``dir_fd``." +"Levanta um :ref:`evento de auditoria ` ``os.fwalk`` com os " +"argumentos ``top``, ``topdown``, ``onerror``, ``follow_symlinks`` e " +"``dir_fd``." -#: ../../library/os.rst:3365 +#: ../../library/os.rst:3417 msgid "Added support for :class:`bytes` paths." msgstr "Adicionado suporte para caminhos em :class:`bytes`." -#: ../../library/os.rst:3371 +#: ../../library/os.rst:3423 msgid "" "Create an anonymous file and return a file descriptor that refers to it. " "*flags* must be one of the ``os.MFD_*`` constants available on the system " @@ -4999,10 +5112,10 @@ msgid "" msgstr "" "Cria um arquivo anônimo e retorna um descritor de arquivo que faça " "referência a ele. *flags* deve ser uma das constantes ``os.MFD_*`` " -"disponíveis no sistema (ou uma combinação ORed bit a bit delas). Por padrão, " -"o novo descritor de arquivo é :ref:`não herdável `." +"disponíveis no sistema (ou uma combinação de OU bit a bit delas). Por " +"padrão, o novo descritor de arquivo é :ref:`não herdável `." -#: ../../library/os.rst:3376 +#: ../../library/os.rst:3428 msgid "" "The name supplied in *name* is used as a filename and will be displayed as " "the target of the corresponding symbolic link in the directory ``/proc/self/" @@ -5018,40 +5131,40 @@ msgstr "" "arquivo e, como tal, vários arquivos podem ter o mesmo nome sem quaisquer " "efeitos colaterais." -#: ../../library/os.rst:3383 +#: ../../library/os.rst:3435 msgid ":ref:`Availability `: Linux >= 3.17 with glibc >= 2.27." msgstr "" ":ref:`Disponibilidade `: Linux >= 3.17 com glibc >= 2.27." -#: ../../library/os.rst:3406 +#: ../../library/os.rst:3458 msgid "These flags can be passed to :func:`memfd_create`." -msgstr "Essss sinalizadores podem ser passados para :func:`memfd_create`." +msgstr "Esses sinalizadores podem ser passados para :func:`memfd_create`." -#: ../../library/os.rst:3408 +#: ../../library/os.rst:3460 msgid ":ref:`Availability `: Linux >= 3.17 with glibc >= 2.27" msgstr ":ref:`Disponibilidade `: Linux >= 3.17 com glibc >= 2.27" -#: ../../library/os.rst:3410 +#: ../../library/os.rst:3462 msgid "The ``MFD_HUGE*`` flags are only available since Linux 4.14." msgstr "" "Os sinalizadores ``MFD_HUGE*`` estão disponíveis somente a partir do Linux " "4.14." -#: ../../library/os.rst:3417 +#: ../../library/os.rst:3469 msgid "" "Create and return an event file descriptor. The file descriptors supports " -"raw :func:`read` and :func:`write` with a buffer size of 8, :func:`~select." -"select`, :func:`~select.poll` and similar. See man page :manpage:" -"`eventfd(2)` for more information. By default, the new file descriptor is :" -"ref:`non-inheritable `." +"raw :func:`read` and :func:`write` with a buffer size of " +"8, :func:`~select.select`, :func:`~select.poll` and similar. See man " +"page :manpage:`eventfd(2)` for more information. By default, the new file " +"descriptor is :ref:`non-inheritable `." msgstr "" "Cria e retorna um descritor de arquivo de evento. Os descritores de arquivo " -"suportam :func:`read` e :func:`write` brutos com um tamanho de buffer de 8, :" -"func:`~select.select`, :func:`~select.poll` e similares. Veja a página man :" -"manpage:`eventfd(2)` para mais informações. Por padrão, o novo descritor de " -"arquivo é :ref:`não herdável `." +"implementam :func:`read` e :func:`write` brutos com um tamanho de buffer de " +"8, :func:`~select.select`, :func:`~select.poll` e similares. Veja a página " +"man :manpage:`eventfd(2)` para mais informações. Por padrão, o novo " +"descritor de arquivo é :ref:`não herdável `." -#: ../../library/os.rst:3423 +#: ../../library/os.rst:3475 msgid "" "*initval* is the initial value of the event counter. The initial value must " "be an 32 bit unsigned integer. Please note that the initial value is limited " @@ -5063,24 +5176,24 @@ msgstr "" "inteiro sem sinal de 32 bits ainda que o contador de evento seja um inteiro " "de 64 bits com um valor máximo de 2\\ :sup:`64`\\ -\\ 2." -#: ../../library/os.rst:3428 +#: ../../library/os.rst:3480 msgid "" "*flags* can be constructed from :const:`EFD_CLOEXEC`, :const:`EFD_NONBLOCK`, " "and :const:`EFD_SEMAPHORE`." msgstr "" -"*flags* podem ser construídas a partir de :const:`EFD_CLOEXEC`, :const:" -"`EFD_NONBLOCK` e :const:`EFD_SEMAPHORE`." +"*flags* podem ser construídas a partir " +"de :const:`EFD_CLOEXEC`, :const:`EFD_NONBLOCK` e :const:`EFD_SEMAPHORE`." -#: ../../library/os.rst:3431 +#: ../../library/os.rst:3483 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." +"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 "" -"Se :const:`EFD_SEMAPHORE` for especificada e o contador de evento for " +"Se :const:`EFD_SEMAPHORE` for especificado e o contador de evento for " "diferente de zero, :func:`eventfd_read` retorna 1 e decrementa o contador em " "um." -#: ../../library/os.rst:3434 +#: ../../library/os.rst:3486 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 " @@ -5090,30 +5203,30 @@ msgstr "" "diferente de zero, :func:`eventfd_read` retorna o valor atual do contador de " "evento e zera o contador." -#: ../../library/os.rst:3438 +#: ../../library/os.rst:3490 msgid "" -"If the event counter is zero and :const:`EFD_NONBLOCK` is not specified, :" -"func:`eventfd_read` blocks." +"If the event counter is zero and :const:`EFD_NONBLOCK` is not " +"specified, :func:`eventfd_read` blocks." msgstr "" "Se o contador de evento for zero e :const:`EFD_NONBLOCK` não for " "especificado, :func:`eventfd_read` bloqueia." -#: ../../library/os.rst:3441 +#: ../../library/os.rst:3493 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." +"write operation would increment the counter to a value larger than " +"2\\ :sup:`64`\\ -\\ 2." msgstr "" ":func:`eventfd_write` incrementa o contador de evento. A escrita bloqueia se " -"a operação de escrita incrementar o contador para um valor maior que 2\\ :" -"sup:`64`\\ -\\ 2." +"a operação de escrita incrementar o contador para um valor maior que " +"2\\ :sup:`64`\\ -\\ 2." -#: ../../library/os.rst:3462 +#: ../../library/os.rst:3514 msgid ":ref:`Availability `: Linux >= 2.6.27 with glibc >= 2.8" msgstr "" ":ref:`Disponibilidade `: Linux >= 2.6.27 com glibc >= 2.8" -#: ../../library/os.rst:3468 +#: ../../library/os.rst:3520 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`." @@ -5121,34 +5234,34 @@ msgstr "" "Lê um valor de um descritor de arquivo :func:`eventfd` e retorna um inteiro " "sem sinal de 64 bits. A função não verifica se *fd* é um :func:`eventfd`." -#: ../../library/os.rst:3471 ../../library/os.rst:3480 -#: ../../library/os.rst:3488 ../../library/os.rst:3497 +#: ../../library/os.rst:3523 ../../library/os.rst:3532 +#: ../../library/os.rst:3540 ../../library/os.rst:3549 msgid ":ref:`Availability `: Linux >= 2.6.27" msgstr ":ref:`Disponibilidade `: Linux >= 2.6.27" -#: ../../library/os.rst:3477 +#: ../../library/os.rst:3529 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 "" "Adiciona *value* a um descritor de arquivo :func:`eventfd`. *value* deve ser " -"um inteiro sem sinal de 64 bits. A função não verifica se *fd* é um :func:" -"`eventfd`." +"um inteiro sem sinal de 64 bits. A função não verifica se *fd* é " +"um :func:`eventfd`." -#: ../../library/os.rst:3486 +#: ../../library/os.rst:3538 msgid "Set close-on-exec flag for new :func:`eventfd` file descriptor." msgstr "" -"Define sinalizador close-on-exec para o novo descritor de arquivo :func:" -"`eventfd`" +"Define sinalizador close-on-exec para o novo descritor de " +"arquivo :func:`eventfd`." -#: ../../library/os.rst:3494 +#: ../../library/os.rst:3546 msgid "" "Set :const:`O_NONBLOCK` status flag for new :func:`eventfd` file descriptor." msgstr "" "Define sinalizador de status :const:`O_NONBLOCK` para um novo descritor de " "arquivo :func:`eventfd`." -#: ../../library/os.rst:3503 +#: ../../library/os.rst:3555 msgid "" "Provide semaphore-like semantics for reads from a :func:`eventfd` file " "descriptor. On read the internal counter is decremented by one." @@ -5156,44 +5269,44 @@ msgstr "" "Fornece semântica de semáforo ou similar para leitura de um descritor de " "arquivo :func:`eventfd`. Na leitura o contador interno é decrementado em um." -#: ../../library/os.rst:3506 +#: ../../library/os.rst:3558 msgid ":ref:`Availability `: Linux >= 2.6.30" msgstr ":ref:`Disponibilidade `: Linux >= 2.6.30" -#: ../../library/os.rst:3512 +#: ../../library/os.rst:3564 msgid "Linux extended attributes" msgstr "Atributos estendidos do Linux" -#: ../../library/os.rst:3516 +#: ../../library/os.rst:3568 msgid "These functions are all available on Linux only." msgstr "Estas funções estão todas disponíveis apenas no Linux." -#: ../../library/os.rst:3520 +#: ../../library/os.rst:3572 msgid "" "Return the value of the extended filesystem attribute *attribute* for " -"*path*. *attribute* can be bytes or str (directly or indirectly through the :" -"class:`PathLike` interface). If it is str, it is encoded with the filesystem " -"encoding." +"*path*. *attribute* can be bytes or str (directly or indirectly through " +"the :class:`PathLike` interface). If it is str, it is encoded with the " +"filesystem encoding." msgstr "" "Retorna o valor do atributo estendido do sistema de arquivos *attribute* " "para *path*. *attribute* pode ser bytes ou str (direta ou indiretamente por " "meio da interface :class:`PathLike`). Se for str, ele é codificado com a " "codificação do sistema de arquivos." -#: ../../library/os.rst:3528 +#: ../../library/os.rst:3580 msgid "" "Raises an :ref:`auditing event ` ``os.getxattr`` with arguments " "``path``, ``attribute``." msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.getxattr`` com os " -"argumentos ``path``, ``attribute``." +"argumentos ``path`` e ``attribute``." -#: ../../library/os.rst:3530 ../../library/os.rst:3562 -#: ../../library/os.rst:3587 +#: ../../library/os.rst:3582 ../../library/os.rst:3614 +#: ../../library/os.rst:3639 msgid "Accepts a :term:`path-like object` for *path* and *attribute*." msgstr "Aceita um :term:`objeto caminho ou similar` para *path* e *attribute*." -#: ../../library/os.rst:3536 +#: ../../library/os.rst:3588 msgid "" "Return a list of the extended filesystem attributes on *path*. The " "attributes in the list are represented as strings decoded with the " @@ -5202,10 +5315,10 @@ msgid "" msgstr "" "Retorna uma lista dos atributos estendidos do sistema de arquivos em *path*. " "Os atributos na lista são representados como strings decodificadas com a " -"codificação do sistema de arquivos. Se *path* for ``None``, :func:" -"`listxattr` irá examinar o diretório atual." +"codificação do sistema de arquivos. Se *path* for " +"``None``, :func:`listxattr` irá examinar o diretório atual." -#: ../../library/os.rst:3544 +#: ../../library/os.rst:3596 msgid "" "Raises an :ref:`auditing event ` ``os.listxattr`` with argument " "``path``." @@ -5213,48 +5326,48 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.listxattr`` com o " "argumento ``path``." -#: ../../library/os.rst:3552 +#: ../../library/os.rst:3604 msgid "" "Removes the extended filesystem attribute *attribute* from *path*. " -"*attribute* should be bytes or str (directly or indirectly through the :" -"class:`PathLike` interface). If it is a string, it is encoded with the :term:" -"`filesystem encoding and error handler`." +"*attribute* should be bytes or str (directly or indirectly through " +"the :class:`PathLike` interface). If it is a string, it is encoded with " +"the :term:`filesystem encoding and error handler`." msgstr "" "Remove o atributo *attribute* do sistema de arquivos estendido do *path*. " "*attribute* deve ser bytes ou str (direta ou indiretamente através da " -"interface :class:`PathLike`). Se for uma string, é codificada com o :term:" -"`tratador de erros e codificação do sistema de arquivos`" +"interface :class:`PathLike`). Se for uma string, é codificada com " +"o :term:`tratador de erros e codificação do sistema de arquivos`" -#: ../../library/os.rst:3560 +#: ../../library/os.rst:3612 msgid "" "Raises an :ref:`auditing event ` ``os.removexattr`` with arguments " "``path``, ``attribute``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.removexattr`` com o " -"argumento ``path``, ``attribute``." +"Levanta um :ref:`evento de auditoria ` ``os.removexattr`` com os " +"argumentos ``path`` e ``attribute``." -#: ../../library/os.rst:3568 +#: ../../library/os.rst:3620 msgid "" "Set the extended filesystem attribute *attribute* on *path* to *value*. " "*attribute* must be a bytes or str with no embedded NULs (directly or " "indirectly through the :class:`PathLike` interface). If it is a str, it is " "encoded with the :term:`filesystem encoding and error handler`. *flags* may " "be :data:`XATTR_REPLACE` or :data:`XATTR_CREATE`. If :data:`XATTR_REPLACE` " -"is given and the attribute does not exist, ``ENODATA`` will be raised. If :" -"data:`XATTR_CREATE` is given and the attribute already exists, the attribute " -"will not be created and ``EEXISTS`` will be raised." +"is given and the attribute does not exist, ``ENODATA`` will be raised. " +"If :data:`XATTR_CREATE` is given and the attribute already exists, the " +"attribute will not be created and ``EEXISTS`` will be raised." msgstr "" "Define o atributo de sistema de arquivos estendido *attribute* em *path* " "como *value*. *attribute* deve ser um bytes ou str sem NULs embutidos " "(direta ou indiretamente por meio da interface :class:`PathLike`). Se for um " "str, ele é codificado com :term:`tratador de erros e codificação do sistema " -"de arquivos`. *flags* podem ser :data:`XATTR_REPLACE` ou :data:" -"`XATTR_CREATE`. Se :data:`XATTR_REPLACE` for fornecido e o atributo não " -"existe, ``ENODATA`` será levantada. Se :data:`XATTR_CREATE` for fornecido e " -"o atributo já existir, o atributo não será criado e ``EEXISTS`` será " -"levantada." +"de arquivos`. *flags* podem ser :data:`XATTR_REPLACE` " +"ou :data:`XATTR_CREATE`. Se :data:`XATTR_REPLACE` for fornecido e o atributo " +"não existe, ``ENODATA`` será levantada. Se :data:`XATTR_CREATE` for " +"fornecido e o atributo já existir, o atributo não será criado e ``EEXISTS`` " +"será levantada." -#: ../../library/os.rst:3582 +#: ../../library/os.rst:3634 msgid "" "A bug in Linux kernel versions less than 2.6.39 caused the flags argument to " "be ignored on some filesystems." @@ -5262,15 +5375,15 @@ msgstr "" "Um bug nas versões do kernel Linux inferiores a 2.6.39 fez com que o " "argumento *flags* fosse ignorado em alguns sistemas de arquivos." -#: ../../library/os.rst:3585 +#: ../../library/os.rst:3637 msgid "" "Raises an :ref:`auditing event ` ``os.setxattr`` with arguments " "``path``, ``attribute``, ``value``, ``flags``." msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.setxattr`` com os " -"argumentos ``path``, ``attribute``, ``value``, ``flags``." +"argumentos ``path``, ``attribute``, ``value`` e ``flags``." -#: ../../library/os.rst:3593 +#: ../../library/os.rst:3645 msgid "" "The maximum size the value of an extended attribute can be. Currently, this " "is 64 KiB on Linux." @@ -5278,7 +5391,7 @@ msgstr "" "O tamanho máximo que o valor de um atributo estendido pode ter. Atualmente, " "são 64 KiB no Linux." -#: ../../library/os.rst:3599 +#: ../../library/os.rst:3651 msgid "" "This is a possible value for the flags argument in :func:`setxattr`. It " "indicates the operation must create an attribute." @@ -5286,7 +5399,7 @@ msgstr "" "Este é um valor possível para o argumento *flags* em :func:`setxattr`. " "Indica que a operação deve criar um atributo." -#: ../../library/os.rst:3605 +#: ../../library/os.rst:3657 msgid "" "This is a possible value for the flags argument in :func:`setxattr`. It " "indicates the operation must replace an existing attribute." @@ -5294,15 +5407,15 @@ msgstr "" "Este é um valor possível para o argumento *flags* em :func:`setxattr`. " "Indica que a operação deve substituir um atributo existente." -#: ../../library/os.rst:3612 +#: ../../library/os.rst:3664 msgid "Process Management" msgstr "Gerenciamento de processo" -#: ../../library/os.rst:3614 +#: ../../library/os.rst:3666 msgid "These functions may be used to create and manage processes." msgstr "Estas funções podem ser usadas para criar e gerenciar processos." -#: ../../library/os.rst:3616 +#: ../../library/os.rst:3668 msgid "" "The various :func:`exec\\* ` functions take a list of arguments for " "the new program loaded into the process. In each case, the first of these " @@ -5312,21 +5425,22 @@ msgid "" "``os.execv('/bin/echo', ['foo', 'bar'])`` will only print ``bar`` on " "standard output; ``foo`` will seem to be ignored." msgstr "" -"As várias funções :func:`exec\\* ` pegam uma lista de argumentos para " -"o novo programa carregado no processo. Em cada caso, o primeiro desses " +"As várias funções :func:`exec\\* ` recebem uma lista de argumentos " +"para o novo programa carregado no processo. Em cada caso, o primeiro desses " "argumentos é passado para o novo programa como seu próprio nome, e não como " "um argumento que um usuário pode ter digitado em uma linha de comando. Para " -"o programador C, este é o ``argv[0]`` passado para um programa :c:func:" -"`main`. Por exemplo, ``os.execv('/bin/echo', ['foo', 'bar'])`` exibirá " -"apenas ``bar`` na saída padrão; ``foo`` parecerá ser ignorado." +"o programador C, este é o ``argv[0]`` passado para um " +"programa :c:func:`main`. Por exemplo, ``os.execv('/bin/echo', ['foo', " +"'bar'])`` exibirá apenas ``bar`` na saída padrão; ``foo`` parecerá ser " +"ignorado." -#: ../../library/os.rst:3627 +#: ../../library/os.rst:3679 msgid "" "Generate a :const:`SIGABRT` signal to the current process. On Unix, the " "default behavior is to produce a core dump; on Windows, the process " "immediately returns an exit code of ``3``. Be aware that calling this " -"function will not call the Python signal handler registered for :const:" -"`SIGABRT` with :func:`signal.signal`." +"function will not call the Python signal handler registered " +"for :const:`SIGABRT` with :func:`signal.signal`." msgstr "" "Gera um sinal :const:`SIGABRT` para o processo atual. No Unix, o " "comportamento padrão é produzir um despejo de memória; no Windows, o " @@ -5334,21 +5448,21 @@ msgstr "" "que chamar esta função não chamará o manipulador de sinal Python registrado " "para :const:`SIGABRT` com :func:`signal.signal`." -#: ../../library/os.rst:3636 +#: ../../library/os.rst:3688 msgid "Add a path to the DLL search path." msgstr "Adiciona um caminho ao caminho de pesquisa de DLL." -#: ../../library/os.rst:3638 +#: ../../library/os.rst:3690 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 "" "Este caminho de pesquisa é usado ao resolver dependências para módulos de " -"extensão importados (o próprio módulo é resolvido por meio de :data:`sys." -"path`), e também por :mod:`ctypes`." +"extensão importados (o próprio módulo é resolvido por meio " +"de :data:`sys.path`), e também por :mod:`ctypes`." -#: ../../library/os.rst:3642 +#: ../../library/os.rst:3694 msgid "" "Remove the directory by calling **close()** on the returned object or using " "it in a :keyword:`with` statement." @@ -5356,25 +5470,25 @@ msgstr "" "Remove o diretório chamando **close()** no objeto retornado ou usando-o em " "uma instrução :keyword:`with`." -#: ../../library/os.rst:3645 +#: ../../library/os.rst:3697 msgid "" -"See the `Microsoft documentation `_ for more information about how " -"DLLs are loaded." +"See the `Microsoft documentation `_ for more information about how DLLs " +"are loaded." msgstr "" -"Consulte a `documentação da Microsoft `_ para obter mais informações " -"sobre como as DLLs são carregadas." +"Consulte a `documentação da Microsoft `_ para obter mais informações sobre " +"como as DLLs são carregadas." -#: ../../library/os.rst:3649 +#: ../../library/os.rst:3701 msgid "" "Raises an :ref:`auditing event ` ``os.add_dll_directory`` with " "argument ``path``." msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.add_dll_directory`` " -"com argumento ``path``." +"com o argumento ``path``." -#: ../../library/os.rst:3653 +#: ../../library/os.rst:3705 msgid "" "Previous versions of CPython would resolve DLLs using the default behavior " "for the current process. This led to inconsistencies, such as only sometimes " @@ -5386,7 +5500,7 @@ msgstr "" "vezes pesquisar :envvar:`PATH` ou o diretório de trabalho atual, e funções " "do sistema operacional como ``AddDllDirectory`` sem efeito." -#: ../../library/os.rst:3660 +#: ../../library/os.rst:3712 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 " @@ -5397,7 +5511,7 @@ msgstr "" "consistência. Veja as :ref:`notas de portabilidade ` " "para informações sobre atualização de bibliotecas." -#: ../../library/os.rst:3675 +#: ../../library/os.rst:3727 msgid "" "These functions all execute a new program, replacing the current process; " "they do not return. On Unix, the new executable is loaded into the current " @@ -5405,74 +5519,74 @@ msgid "" "reported as :exc:`OSError` exceptions." msgstr "" "Todas essas funções executam um novo programa, substituindo o processo " -"atual; eles não voltam. No Unix, o novo executável é carregado no processo " +"atual; elas não retornam. No Unix, o novo executável é carregado no processo " "atual e terá a mesma identificação de processo do chamador. Os erros serão " "relatados como exceções de :exc:`OSError`." -#: ../../library/os.rst:3680 +#: ../../library/os.rst:3732 msgid "" "The current process is replaced immediately. Open file objects and " "descriptors are not flushed, so if there may be data buffered on these open " -"files, you should flush them using :func:`sys.stdout.flush` or :func:`os." -"fsync` before calling an :func:`exec\\* ` function." +"files, you should flush them using :func:`sys.stdout.flush` " +"or :func:`os.fsync` before calling an :func:`exec\\* ` function." msgstr "" -"O processo atual é substituído imediatamente. Objetos de arquivos abertos e " +"O processo atual é substituído imediatamente. Objetos arquivo abertos e " "descritores não são descarregados, então se houver dados em buffer nesses " "arquivos abertos, você deve descarregá-los usando :func:`sys.stdout.flush` " "ou :func:`os.fsync` antes de chamar uma função :func:`exec\\* `." -#: ../../library/os.rst:3686 +#: ../../library/os.rst:3738 msgid "" "The \"l\" and \"v\" variants of the :func:`exec\\* ` functions differ " "in how command-line arguments are passed. The \"l\" variants are perhaps " "the easiest to work with if the number of parameters is fixed when the code " "is written; the individual parameters simply become additional parameters to " -"the :func:`execl\\*` functions. The \"v\" variants are good when the number " -"of parameters is variable, with the arguments being passed in a list or " -"tuple as the *args* parameter. In either case, the arguments to the child " -"process should start with the name of the command being run, but this is not " -"enforced." +"the :func:`!execl\\*` functions. The \"v\" variants are good when the " +"number of parameters is variable, with the arguments being passed in a list " +"or tuple as the *args* parameter. In either case, the arguments to the " +"child process should start with the name of the command being run, but this " +"is not enforced." msgstr "" "As variantes \"l\" e \"v\" das funções :func:`exec\\* ` diferem em " "como os argumentos da linha de comando são passados. As variantes \"l\" são " "talvez as mais fáceis de trabalhar se o número de parâmetros for fixo quando " "o código for escrito; os parâmetros individuais simplesmente se tornam " -"parâmetros adicionais para as funções :func:`execl\\*`. As variantes \"v\" " +"parâmetros adicionais para as funções :func:`!execl\\*`. As variantes \"v\" " "são boas quando o número de parâmetros é variável, com os argumentos sendo " "passados em uma lista ou tupla como o parâmetro *args*. Em qualquer caso, os " "argumentos para o processo filho devem começar com o nome do comando que " "está sendo executado, mas isso não é obrigatório." -#: ../../library/os.rst:3695 -msgid "" -"The variants which include a \"p\" near the end (:func:`execlp`, :func:" -"`execlpe`, :func:`execvp`, and :func:`execvpe`) will use the :envvar:`PATH` " -"environment variable to locate the program *file*. When the environment is " -"being replaced (using one of the :func:`exec\\*e ` variants, " -"discussed in the next paragraph), the new environment is used as the source " -"of the :envvar:`PATH` variable. The other variants, :func:`execl`, :func:" -"`execle`, :func:`execv`, and :func:`execve`, will not use the :envvar:`PATH` " -"variable to locate the executable; *path* must contain an appropriate " -"absolute or relative path." -msgstr "" -"As variantes que incluem um \"p\" próximo ao final (:func:`execlp`, :func:" -"`execlpe`, :func:`execvp` e :func:`execvpe`) usarão a variável de ambiente :" -"envvar:`PATH` para localizar o programa *file*. Quando o ambiente está sendo " -"substituído (usando uma das variantes :func:`exec\\*e `, discutidas " -"no próximo parágrafo), o novo ambiente é usado como fonte da variável :" -"envvar:`PATH` As outras variantes, :func:`execl`, :func:`execle`, :func:" -"`execv` e :func:`execve`, não usarão a variável :envvar:`PATH` para " -"localizar o executável; *path* deve conter um caminho absoluto ou relativo " -"apropriado." +#: ../../library/os.rst:3747 +msgid "" +"The variants which include a \"p\" near the end " +"(:func:`execlp`, :func:`execlpe`, :func:`execvp`, and :func:`execvpe`) will " +"use the :envvar:`PATH` environment variable to locate the program *file*. " +"When the environment is being replaced (using one of the :func:`exec\\*e " +"` variants, discussed in the next paragraph), the new environment is " +"used as the source of the :envvar:`PATH` variable. The other " +"variants, :func:`execl`, :func:`execle`, :func:`execv`, and :func:`execve`, " +"will not use the :envvar:`PATH` variable to locate the executable; *path* " +"must contain an appropriate absolute or relative path." +msgstr "" +"As variantes que incluem um \"p\" próximo ao final " +"(:func:`execlp`, :func:`execlpe`, :func:`execvp` e :func:`execvpe`) usarão a " +"variável de ambiente :envvar:`PATH` para localizar o programa *file*. Quando " +"o ambiente está sendo substituído (usando uma das variantes :func:`exec\\*e " +"`, discutidas no próximo parágrafo), o novo ambiente é usado como " +"fonte da variável :envvar:`PATH` As outras " +"variantes, :func:`execl`, :func:`execle`, :func:`execv` e :func:`execve`, " +"não usarão a variável :envvar:`PATH` para localizar o executável; *path* " +"deve conter um caminho absoluto ou relativo apropriado." -#: ../../library/os.rst:3705 +#: ../../library/os.rst:3757 msgid "" "For :func:`execle`, :func:`execlpe`, :func:`execve`, and :func:`execvpe` " "(note that these all end in \"e\"), the *env* parameter must be a mapping " "which is used to define the environment variables for the new process (these " -"are used instead of the current process' environment); the functions :func:" -"`execl`, :func:`execlp`, :func:`execv`, and :func:`execvp` all cause the new " -"process to inherit the environment of the current process." +"are used instead of the current process' environment); the " +"functions :func:`execl`, :func:`execlp`, :func:`execv`, and :func:`execvp` " +"all cause the new process to inherit the environment of the current process." msgstr "" "Para :func:`execle`, :func:`execlpe`, :func:`execve` e :func:`execvpe` " "(observe que todos eles terminam em \"e\"), o parâmetro *env* deve ser um " @@ -5481,13 +5595,13 @@ msgstr "" "funções :func:`execl`, :func:`execlp`, :func:`execv` e :func:`execvp` fazem " "com que o novo processo herde o ambiente do processo atual." -#: ../../library/os.rst:3712 +#: ../../library/os.rst:3764 msgid "" "For :func:`execve` on some platforms, *path* may also be specified as an " "open file descriptor. This functionality may not be supported on your " -"platform; you can check whether or not it is available using :data:`os." -"supports_fd`. If it is unavailable, using it will raise a :exc:" -"`NotImplementedError`." +"platform; you can check whether or not it is available " +"using :data:`os.supports_fd`. If it is unavailable, using it will raise " +"a :exc:`NotImplementedError`." msgstr "" "Para :func:`execve` em algumas plataformas, *path* também pode ser " "especificado como um descritor de arquivo aberto. Esta funcionalidade pode " @@ -5495,61 +5609,61 @@ msgstr "" "disponível usando :data:`os.supports_fd`. Se não estiver disponível, usá-lo " "vai levantar uma :exc:`NotImplementedError`." -#: ../../library/os.rst:3717 +#: ../../library/os.rst:3769 msgid "" "Raises an :ref:`auditing event ` ``os.exec`` with arguments " "``path``, ``args``, ``env``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.exec`` com argumentos " -"``path``, ``args``, ``env``." +"Levanta um :ref:`evento de auditoria ` ``os.exec`` com os " +"argumentos ``path``, ``args`` e ``env``." -#: ../../library/os.rst:3721 +#: ../../library/os.rst:3773 msgid "" -"Added support for specifying *path* as an open file descriptor for :func:" -"`execve`." +"Added support for specifying *path* as an open file descriptor " +"for :func:`execve`." msgstr "" "Adicionado suporte para especificar *path* como um descritor de arquivo " "aberto para :func:`execve`." -#: ../../library/os.rst:3730 +#: ../../library/os.rst:3782 msgid "" "Exit the process with status *n*, without calling cleanup handlers, flushing " "stdio buffers, etc." msgstr "" "Sai do processo com status *n*, sem chamar manipuladores de limpeza, " -"liberando buffers de stdio etc." +"liberando buffers de entrada e saída padrões etc." -#: ../../library/os.rst:3735 +#: ../../library/os.rst:3787 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 "" -"A forma padrão de sair é :func:`sys.exit(n) . :func:`!_exit` " +"A forma padrão de sair é :func:`sys.exit(n) `. :func:`!_exit` " "normalmente só deve ser usado no processo filho após uma função :func:`fork`." -#: ../../library/os.rst:3738 +#: ../../library/os.rst:3790 msgid "" "The following exit codes are defined and can be used with :func:`_exit`, " "although they are not required. These are typically used for system " "programs written in Python, such as a mail server's external command " "delivery program." msgstr "" -"Os seguintes códigos de saída são definidos e podem ser usados com :func:" -"`_exit`, embora não sejam obrigatórios. Eles são normalmente usados para " -"programas de sistema escritos em Python, como um programa de entrega de " -"comando externo de servidor de e-mail." +"Os seguintes códigos de saída são definidos e podem ser usados " +"com :func:`_exit`, embora não sejam obrigatórios. Eles são normalmente " +"usados para programas de sistema escritos em Python, como um programa de " +"entrega de comando externo de servidor de e-mail." -#: ../../library/os.rst:3744 +#: ../../library/os.rst:3796 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 "" "Alguns deles podem não estar disponíveis em todas as plataformas Unix, pois " -"há algumas variações. Essas constantes são definidas onde são definidas pela " -"plataforma subjacente." +"há algumas variações. Essas constantes estão definidas onde elas são " +"definidas pela plataforma subjacente." -#: ../../library/os.rst:3751 +#: ../../library/os.rst:3803 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." @@ -5558,7 +5672,7 @@ msgstr "" "do valor definido de ``EXIT_SUCCESS`` em algumas plataformas. Geralmente tem " "um valor de zero." -#: ../../library/os.rst:3759 +#: ../../library/os.rst:3811 msgid "" "Exit code that means the command was used incorrectly, such as when the " "wrong number of arguments are given." @@ -5566,44 +5680,44 @@ msgstr "" "Código de saída que significa que o comando foi usado incorretamente, como " "quando o número errado de argumentos é fornecido." -#: ../../library/os.rst:3767 +#: ../../library/os.rst:3819 msgid "Exit code that means the input data was incorrect." msgstr "" "Código de saída que significa que os dados inseridos estavam incorretos." -#: ../../library/os.rst:3774 +#: ../../library/os.rst:3826 msgid "Exit code that means an input file did not exist or was not readable." msgstr "" "Código de saída que significa que um arquivo de entrada não existe ou não " "pôde ser lido." -#: ../../library/os.rst:3781 +#: ../../library/os.rst:3833 msgid "Exit code that means a specified user did not exist." msgstr "Código de saída que significa que um usuário especificado não existe." -#: ../../library/os.rst:3788 +#: ../../library/os.rst:3840 msgid "Exit code that means a specified host did not exist." msgstr "Código de saída que significa que um host especificado não existe." -#: ../../library/os.rst:3795 +#: ../../library/os.rst:3847 msgid "Exit code that means that a required service is unavailable." msgstr "" "Código de saída que significa que um serviço necessário está indisponível." -#: ../../library/os.rst:3802 +#: ../../library/os.rst:3854 msgid "Exit code that means an internal software error was detected." msgstr "" "Código de saída que significa que um erro interno do software foi detectado." -#: ../../library/os.rst:3809 +#: ../../library/os.rst:3861 msgid "" "Exit code that means an operating system error was detected, such as the " "inability to fork or create a pipe." msgstr "" "Código de saída que significa que um erro do sistema operacional foi " -"detectado, como a incapacidade de fazer fork ou criar um encadeamento." +"detectado, como a incapacidade de criar um fork ou um encadeamento." -#: ../../library/os.rst:3817 +#: ../../library/os.rst:3869 msgid "" "Exit code that means some system file did not exist, could not be opened, or " "had some other kind of error." @@ -5611,20 +5725,20 @@ msgstr "" "Código de saída que significa que algum arquivo do sistema não existia, não " "pôde ser aberto ou teve algum outro tipo de erro." -#: ../../library/os.rst:3825 +#: ../../library/os.rst:3877 msgid "Exit code that means a user specified output file could not be created." msgstr "" "Código de saída que significa que um arquivo de saída especificado pelo " "usuário não pôde ser criado." -#: ../../library/os.rst:3832 +#: ../../library/os.rst:3884 msgid "" "Exit code that means that an error occurred while doing I/O on some file." msgstr "" "Código de saída que significa que ocorreu um erro ao fazer E/S em algum " "arquivo." -#: ../../library/os.rst:3839 +#: ../../library/os.rst:3891 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 " @@ -5634,7 +5748,7 @@ msgstr "" "algo que pode não ser realmente um erro, como uma conexão de rede que não " "pôde ser feita durante uma operação de nova tentativa." -#: ../../library/os.rst:3848 +#: ../../library/os.rst:3900 msgid "" "Exit code that means that a protocol exchange was illegal, invalid, or not " "understood." @@ -5642,7 +5756,7 @@ msgstr "" "Código de saída que significa que uma troca de protocolo foi ilegal, " "inválida ou não compreendida." -#: ../../library/os.rst:3856 +#: ../../library/os.rst:3908 msgid "" "Exit code that means that there were insufficient permissions to perform the " "operation (but not intended for file system problems)." @@ -5651,25 +5765,25 @@ msgstr "" "executar a operação (mas sem intenção de causar problemas do sistema de " "arquivos)." -#: ../../library/os.rst:3864 +#: ../../library/os.rst:3916 msgid "Exit code that means that some kind of configuration error occurred." msgstr "" "Código de saída que significa que ocorreu algum tipo de erro de configuração." -#: ../../library/os.rst:3871 +#: ../../library/os.rst:3923 msgid "Exit code that means something like \"an entry was not found\"." msgstr "" "Código de saída que significa algo como \"uma entrada não foi encontrada\"." -#: ../../library/os.rst:3878 +#: ../../library/os.rst:3930 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 "" -"Faz um fork de um processo filho. Retorna ``0`` no filho e o ID de processo " -"do filho no pai. Se ocorrer um erro, uma :exc:`OSError` é levantada." +"Cria um processo filho. Retorna ``0`` no filho e o ID de processo do filho " +"no pai. Se ocorrer um erro, uma exceção :exc:`OSError` é levantada." -#: ../../library/os.rst:3881 +#: ../../library/os.rst:3933 msgid "" "Note that some platforms including FreeBSD <= 6.3 and Cygwin have known " "issues when using ``fork()`` from a thread." @@ -5677,26 +5791,33 @@ msgstr "" "Note que algumas plataformas incluindo FreeBSD <= 6.3 e Cygwin têm problemas " "conhecidos ao usar ``fork()`` a partir de um thread." -#: ../../library/os.rst:3884 +#: ../../library/os.rst:3936 msgid "" "Raises an :ref:`auditing event ` ``os.fork`` with no arguments." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.fork`` com nenhum " -"argumento." +"Levanta um :ref:`evento de auditoria ` ``os.fork`` sem argumentos." + +#: ../../library/os.rst:3940 ../../library/os.rst:3966 +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 "" +"No macOS, o uso desta função é inseguro quando combinado com o uso de APIs " +"de sistema de nível mais alto, e isso inclui o uso de :mod:`urllib.request`." -#: ../../library/os.rst:3886 +#: ../../library/os.rst:3943 msgid "" -"Calling ``fork()`` in a subinterpreter is no longer supported (:exc:" -"`RuntimeError` is raised)." +"Calling ``fork()`` in a subinterpreter is no longer supported " +"(:exc:`RuntimeError` is raised)." msgstr "" -"Chamar ``fork()`` em um subinterpretador não é mais suportado (:exc:" -"`RuntimeError` é levantada)." +"Chamar ``fork()`` em um subinterpretador não é mais possível " +"(:exc:`RuntimeError` é levantada)." -#: ../../library/os.rst:3892 +#: ../../library/os.rst:3949 msgid "See :mod:`ssl` for applications that use the SSL module with fork()." msgstr "Veja :mod:`ssl` para aplicações que usam o módulo SSL com fork()." -#: ../../library/os.rst:3899 +#: ../../library/os.rst:3956 msgid "" "Fork a child process, using a new pseudo-terminal as the child's controlling " "terminal. Return a pair of ``(pid, fd)``, where *pid* is ``0`` in the child, " @@ -5704,29 +5825,28 @@ 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 "" -"Faz um fork de um processo filho, usando um novo pseudoterminal como o " -"terminal de controle do filho. Retorna um par de ``(pid, fd)``, onde *pid* é " -"``0`` no filho, o novo ID de processo do filho no pai e *fd* é o descritor " -"de arquivo do lado mestre do pseudoterminal. Para uma abordagem mais " -"portátil, use o módulo :mod:`pty`. Se ocorrer um erro, :exc:`OSError` é " -"levantada." +"Cria um processo filho, usando um novo pseudoterminal como o terminal de " +"controle do filho. Retorna um par de ``(pid, fd)``, onde *pid* é ``0`` no " +"filho, o novo ID de processo do filho no pai e *fd* é o descritor de arquivo " +"do lado mestre do pseudoterminal. Para uma abordagem mais portátil, use o " +"módulo :mod:`pty`. Se ocorrer um erro, :exc:`OSError` é levantada." -#: ../../library/os.rst:3905 +#: ../../library/os.rst:3962 msgid "" "Raises an :ref:`auditing event ` ``os.forkpty`` with no arguments." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.forkpty`` com nenhum " -"argumento." +"Levanta um :ref:`evento de auditoria ` ``os.forkpty`` sem " +"argumentos." -#: ../../library/os.rst:3907 +#: ../../library/os.rst:3969 msgid "" -"Calling ``forkpty()`` in a subinterpreter is no longer supported (:exc:" -"`RuntimeError` is raised)." +"Calling ``forkpty()`` in a subinterpreter is no longer supported " +"(:exc:`RuntimeError` is raised)." msgstr "" -"Chamar ``forkpty()`` em um subinterpretador não é mais suportado (:exc:" -"`RuntimeError` é levantada)." +"Chamar ``forkpty()`` em um subinterpretador não é mais permitido " +"(:exc:`RuntimeError` é levantada)." -#: ../../library/os.rst:3920 +#: ../../library/os.rst:3982 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." @@ -5734,59 +5854,57 @@ msgstr "" "Envia o sinal *sig* para o processo *pid*. Constantes dos sinais específicos " "disponíveis na plataforma host são definidas no módulo :mod:`signal`." -#: ../../library/os.rst:3923 -msgid "" -"Windows: The :data:`signal.CTRL_C_EVENT` and :data:`signal.CTRL_BREAK_EVENT` " -"signals are special signals which can only be sent to console processes " -"which share a common console window, e.g., some subprocesses. Any other " -"value for *sig* will cause the process to be unconditionally killed by the " -"TerminateProcess API, and the exit code will be set to *sig*. The Windows " -"version of :func:`kill` additionally takes process handles to be killed." -msgstr "" -"Windows: Os sinais :data:`signal.CTRL_C_EVENT` e :data:`signal." -"CTRL_BREAK_EVENT` são sinais especiais que só podem ser enviados para " -"processos de console que compartilham uma janela de console comum, por " -"exemplo, alguns subprocessos. Qualquer outro valor para *sig* fará com que o " -"processo seja encerrado incondicionalmente pela API TerminateProcess e o " -"código de saída será definido como *sig*. A versão Windows de :func:`kill` " -"adicionalmente leva identificadores de processo para ser morto." - -#: ../../library/os.rst:3931 +#: ../../library/os.rst:3985 +msgid "" +"Windows: The :const:`signal.CTRL_C_EVENT` " +"and :const:`signal.CTRL_BREAK_EVENT` signals are special signals which can " +"only be sent to console processes which share a common console window, e.g., " +"some subprocesses. Any other value for *sig* will cause the process to be " +"unconditionally killed by the TerminateProcess API, and the exit code will " +"be set to *sig*. The Windows version of :func:`kill` additionally takes " +"process handles to be killed." +msgstr "" +"Windows: os sinais :const:`signal.CTRL_C_EVENT` " +"e :const:`signal.CTRL_BREAK_EVENT` são sinais especiais que só podem ser " +"enviados para processos de console que compartilham uma janela de console " +"comum, por exemplo, alguns subprocessos. Qualquer outro valor para *sig* " +"fará com que o processo seja encerrado incondicionalmente pela API " +"TerminateProcess e o código de saída será definido como *sig*. A versão " +"Windows de :func:`kill` também recebe os identificadores de processo a serem " +"eliminados." + +#: ../../library/os.rst:3993 msgid "See also :func:`signal.pthread_kill`." msgstr "Veja também :func:`signal.pthread_kill`." -#: ../../library/os.rst:3933 +#: ../../library/os.rst:3995 msgid "" "Raises an :ref:`auditing event ` ``os.kill`` with arguments " "``pid``, ``sig``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.kill`` com argumentos " -"``pid``, ``sig``." - -#: ../../library/os.rst:3937 -msgid "Windows support." -msgstr "Suporte ao Windows." +"Levanta um :ref:`evento de auditoria ` ``os.kill`` com os " +"argumentos ``pid`` e ``sig``." -#: ../../library/os.rst:3947 +#: ../../library/os.rst:4009 msgid "Send the signal *sig* to the process group *pgid*." msgstr "Envia o sinal *sig* para o grupo de processos *pgid*." -#: ../../library/os.rst:3949 +#: ../../library/os.rst:4011 msgid "" "Raises an :ref:`auditing event ` ``os.killpg`` with arguments " "``pgid``, ``sig``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.killpg`` com " -"argumentos ``pgid``, ``sig``." +"Levanta um :ref:`evento de auditoria ` ``os.killpg`` com os " +"argumentos ``pgid`` e ``sig``." -#: ../../library/os.rst:3956 +#: ../../library/os.rst:4018 msgid "" "Add *increment* to the process's \"niceness\". Return the new niceness." msgstr "" "Adiciona *increment* ao nível de \"nice\" do processo. Retorna um novo nível " "de \"nice\"." -#: ../../library/os.rst:3963 +#: ../../library/os.rst:4025 msgid "" "Return a file descriptor referring to the process *pid*. This descriptor " "can be used to perform process management without races and signals. The " @@ -5798,30 +5916,30 @@ msgstr "" "corridas e sinais. O argumento *flags* é fornecido para extensões futuras; " "nenhum valor de sinalizador está definido atualmente." -#: ../../library/os.rst:3968 +#: ../../library/os.rst:4030 msgid "See the :manpage:`pidfd_open(2)` man page for more details." msgstr "Veja a página man :manpage:`pidfd_open(2)` para mais detalhes." -#: ../../library/os.rst:3970 +#: ../../library/os.rst:4032 msgid ":ref:`Availability `: Linux >= 5.3" msgstr ":ref:`Disponibilidade `: Linux >= 5.3" -#: ../../library/os.rst:3976 +#: ../../library/os.rst:4038 msgid "" "Lock program segments into memory. The value of *op* (defined in ````) determines which segments are locked." msgstr "" -"Bloqueia os segmentos do programa na memória. O valor de *op* (definido em " -"````) determina quais segmentos estão bloqueados." +"Trava os segmentos do programa na memória. O valor de *op* (definido em " +"````) determina quais segmentos são travados." -#: ../../library/os.rst:3984 +#: ../../library/os.rst:4046 msgid "" "Open a pipe to or from command *cmd*. The return value is an open file " "object connected to the pipe, which can be read or written depending on " "whether *mode* is ``'r'`` (default) or ``'w'``. The *buffering* argument " -"have the same meaning as the corresponding argument to the built-in :func:" -"`open` function. The returned file object reads or writes text strings " -"rather than bytes." +"have the same meaning as the corresponding argument to the built-" +"in :func:`open` function. The returned file object reads or writes text " +"strings rather than bytes." msgstr "" "Abre um encadeamento, também conhecido como \"pipe\", de ou para o comando " "*cmd*. O valor de retorno é um objeto arquivo aberto conectado ao " @@ -5830,7 +5948,7 @@ msgstr "" "argumento correspondente para a função embutida :func:`open`. O objeto " "arquivo retornado lê ou escreve strings de texto em vez de bytes." -#: ../../library/os.rst:3992 +#: ../../library/os.rst:4054 msgid "" "The ``close`` method returns :const:`None` if the subprocess exited " "successfully, or the subprocess's return code if there was an error. On " @@ -5851,7 +5969,7 @@ msgstr "" "valor de retorno contém o código de retorno inteiro com sinal do processo " "filho." -#: ../../library/os.rst:4002 +#: ../../library/os.rst:4064 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 " @@ -5862,7 +5980,7 @@ msgstr "" "for ``None``. No Windows, o resultado do método ``close`` é diretamente o " "código de saída (ou ``None``)." -#: ../../library/os.rst:4007 +#: ../../library/os.rst:4069 msgid "" "This is implemented using :class:`subprocess.Popen`; see that class's " "documentation for more powerful ways to manage and communicate with " @@ -5872,11 +5990,11 @@ msgstr "" "documentação desta classe para maneiras mais poderosas de gerenciar e se " "comunicar com subprocessos." -#: ../../library/os.rst:4011 +#: ../../library/os.rst:4073 msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidade `: não Emscripten, não WASI." -#: ../../library/os.rst:4014 +#: ../../library/os.rst:4076 msgid "" "The :ref:`Python UTF-8 Mode ` affects encodings used for *cmd* " "and pipe contents." @@ -5884,37 +6002,37 @@ msgstr "" "O :ref:`Modo UTF-8 do Python ` afeta as codificações usadas para " "*cmd* e conteúdo de encadeamento." -#: ../../library/os.rst:4017 +#: ../../library/os.rst:4079 msgid "" -":func:`popen` is a simple wrapper around :class:`subprocess.Popen`. Use :" -"class:`subprocess.Popen` or :func:`subprocess.run` to control options like " -"encodings." +":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:`popen` é um wrapper simples em torno de :class:`subprocess.Popen`. " "Use :class:`subprocess.Popen` ou :func:`subprocess.run` para controlar " "opções como codificações." -#: ../../library/os.rst:4026 -msgid "Wraps the :c:func:`posix_spawn` C library API for use from Python." +#: ../../library/os.rst:4088 +msgid "Wraps the :c:func:`!posix_spawn` C library API for use from Python." msgstr "" -"Envolve a API da biblioteca C :c:func:`posix_spawn` para uso em Python." +"Envolve a API da biblioteca C :c:func:`!posix_spawn` para uso em Python." -#: ../../library/os.rst:4028 +#: ../../library/os.rst:4090 msgid "" "Most users should use :func:`subprocess.run` instead of :func:`posix_spawn`." msgstr "" -"A maioria dos usuários deveria usar :func:`subprocess.run` em vez de :func:" -"`posix_spawn`." +"A maioria dos usuários deveria usar :func:`subprocess.run` em vez " +"de :func:`posix_spawn`." -#: ../../library/os.rst:4030 +#: ../../library/os.rst:4092 msgid "" -"The positional-only arguments *path*, *args*, and *env* are similar to :func:" -"`execve`." +"The positional-only arguments *path*, *args*, and *env* are similar " +"to :func:`execve`." msgstr "" -"Os argumentos somente-posicional *path*, *args* e *env* são similares a :" -"func:`execve`." +"Os argumentos somente-posicional *path*, *args* e *env* são similares " +"a :func:`execve`." -#: ../../library/os.rst:4033 +#: ../../library/os.rst:4095 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 " @@ -5924,7 +6042,7 @@ msgstr "" "conter um diretório. Use :func:`posix_spawnp` para passar um arquivo " "executável sem diretório." -#: ../../library/os.rst:4037 +#: ../../library/os.rst:4099 msgid "" "The *file_actions* argument may be a sequence of tuples describing actions " "to take on specific file descriptors in the child process between the C " @@ -5938,59 +6056,59 @@ msgstr "" "biblioteca C. O primeiro item em cada tupla deve ser um dos três indicadores " "de tipo listados abaixo, descrevendo os elementos restantes da tupla:" -#: ../../library/os.rst:4045 +#: ../../library/os.rst:4107 msgid "(``os.POSIX_SPAWN_OPEN``, *fd*, *path*, *flags*, *mode*)" msgstr "(``os.POSIX_SPAWN_OPEN``, *fd*, *path*, *flags*, *mode*)" -#: ../../library/os.rst:4047 +#: ../../library/os.rst:4109 msgid "Performs ``os.dup2(os.open(path, flags, mode), fd)``." msgstr "Efetua ``os.dup2(os.open(path, flags, mode), fd)``." -#: ../../library/os.rst:4051 +#: ../../library/os.rst:4113 msgid "(``os.POSIX_SPAWN_CLOSE``, *fd*)" msgstr "(``os.POSIX_SPAWN_CLOSE``, *fd*)" -#: ../../library/os.rst:4053 +#: ../../library/os.rst:4115 msgid "Performs ``os.close(fd)``." msgstr "Efetua ``os.close(fd)``." -#: ../../library/os.rst:4057 +#: ../../library/os.rst:4119 msgid "(``os.POSIX_SPAWN_DUP2``, *fd*, *new_fd*)" msgstr "(``os.POSIX_SPAWN_DUP2``, *fd*, *new_fd*)" -#: ../../library/os.rst:4059 +#: ../../library/os.rst:4121 msgid "Performs ``os.dup2(fd, new_fd)``." msgstr "Efetua ``os.dup2(fd, new_fd)``." -#: ../../library/os.rst:4061 +#: ../../library/os.rst:4123 msgid "" -"These tuples correspond to the C library :c:func:" -"`posix_spawn_file_actions_addopen`, :c:func:" -"`posix_spawn_file_actions_addclose`, and :c:func:" -"`posix_spawn_file_actions_adddup2` API calls used to prepare for the :c:func:" -"`posix_spawn` call itself." +"These tuples correspond to the C library :c:func:`!" +"posix_spawn_file_actions_addopen`, :c:func:`!" +"posix_spawn_file_actions_addclose`, and :c:func:`!" +"posix_spawn_file_actions_adddup2` API calls used to prepare for " +"the :c:func:`!posix_spawn` call itself." msgstr "" -"Estas tuplas correspondem a chamadas de API da biblioteca C de :c:func:" -"`posix_spawn_file_actions_addopen`, :c:func:" -"`posix_spawn_file_actions_addclose` e :c:func:" -"`posix_spawn_file_actions_adddup2` usadas para preparar para a chamada de :c:" -"func:`posix_spawn` em si." +"Estas tuplas correspondem a chamadas de API da biblioteca C de :c:func:`!" +"posix_spawn_file_actions_addopen`, :c:func:`!" +"posix_spawn_file_actions_addclose` e :c:func:`!" +"posix_spawn_file_actions_adddup2` usadas para preparar para a chamada " +"de :c:func:`!posix_spawn` em si." -#: ../../library/os.rst:4067 +#: ../../library/os.rst:4129 msgid "" "The *setpgroup* argument will set the process group of the child to the " "value specified. If the value specified is 0, the child's process group ID " "will be made the same as its process ID. If the value of *setpgroup* is not " "set, the child will inherit the parent's process group ID. This argument " -"corresponds to the C library :c:data:`POSIX_SPAWN_SETPGROUP` flag." +"corresponds to the C library :c:macro:`!POSIX_SPAWN_SETPGROUP` flag." msgstr "" "O argumento *setpgroup* definirá o grupo de processos do filho para o valor " -"especificado. Se o valor especificado for 0, o ID do grupo de processo da " -"criança será igual ao seu ID de processo. Se o valor de *setpgroup* não for " -"definido, o filho herdará o ID do grupo de processos do pai. Este argumento " -"corresponde ao sinalizador :c:data:`POSIX_SPAWN_SETPGROUP` da biblioteca C." +"especificado. Se o valor especificado for 0, o ID do grupo de processo filho " +"será igual ao ID do processo. Se o valor de *setpgroup* não for definido, o " +"filho herdará o ID do grupo de processos do pai. Este argumento corresponde " +"ao sinalizador :c:macro:`!POSIX_SPAWN_SETPGROUP` da biblioteca C." -#: ../../library/os.rst:4073 +#: ../../library/os.rst:4135 msgid "" "If the *resetids* argument is ``True`` it will reset the effective UID and " "GID of the child to the real UID and GID of the parent process. If the " @@ -5998,127 +6116,126 @@ msgid "" "the parent. In either case, if the set-user-ID and set-group-ID permission " "bits are enabled on the executable file, their effect will override the " "setting of the effective UID and GID. This argument corresponds to the C " -"library :c:data:`POSIX_SPAWN_RESETIDS` flag." +"library :c:macro:`!POSIX_SPAWN_RESETIDS` flag." msgstr "" "Se o argumento *resetids* for ``True``, ele irá reconfigurar o UID e GID " "efetivos do filho para o UID e GID reais do processo pai. Se o argumento for " "``False``, então o filho retém o UID e GID efetivos do pai. Em ambos os " "casos, se os bits de permissão set-user-ID e set-group-ID estiverem " "habilitados no arquivo executável, seu efeito vai substituir a configuração " -"do UID e GID efetivos. Este argumento corresponde ao sinalizador :c:data:" -"`POSIX_SPAWN_RESETIDS` da biblioteca C." +"do UID e GID efetivos. Este argumento corresponde ao sinalizador :c:macro:`!" +"POSIX_SPAWN_RESETIDS` da biblioteca C." -#: ../../library/os.rst:4081 +#: ../../library/os.rst:4143 msgid "" "If the *setsid* argument is ``True``, it will create a new session ID for " -"``posix_spawn``. *setsid* requires :c:data:`POSIX_SPAWN_SETSID` or :c:data:" -"`POSIX_SPAWN_SETSID_NP` flag. Otherwise, :exc:`NotImplementedError` is " -"raised." +"``posix_spawn``. *setsid* requires :c:macro:`!POSIX_SPAWN_SETSID` " +"or :c:macro:`!POSIX_SPAWN_SETSID_NP` flag. " +"Otherwise, :exc:`NotImplementedError` is raised." msgstr "" "Se o argumento *setsid* for ``True``, ele criará um novo ID de sessão para " -"``posix_spawn``. *setsid* requer :c:data:`POSIX_SPAWN_SETSID` ou :c:data:" -"`POSIX_SPAWN_SETSID_NP`. Caso contrário, :exc:`NotImplementedError` é " -"levantada." +"``posix_spawn``. *setsid* requer :c:macro:`!POSIX_SPAWN_SETSID` " +"ou :c:macro:`!POSIX_SPAWN_SETSID_NP`. Caso " +"contrário, :exc:`NotImplementedError` é levantada." -#: ../../library/os.rst:4086 +#: ../../library/os.rst:4148 msgid "" "The *setsigmask* argument will set the signal mask to the signal set " "specified. If the parameter is not used, then the child inherits the " -"parent's signal mask. This argument corresponds to the C library :c:data:" -"`POSIX_SPAWN_SETSIGMASK` flag." +"parent's signal mask. This argument corresponds to the C library :c:macro:`!" +"POSIX_SPAWN_SETSIGMASK` flag." msgstr "" "O argumento *setsigmask* definirá a máscara de sinal para o conjunto de " "sinais especificado. Se o parâmetro não for usado, o filho herda a máscara " -"de sinal do pai. Este argumento corresponde ao sinalizador :c:data:" -"`POSIX_SPAWN_SETSIGMASK` da biblioteca C." +"de sinal do pai. Este argumento corresponde ao sinalizador :c:macro:`!" +"POSIX_SPAWN_SETSIGMASK` da biblioteca C." -#: ../../library/os.rst:4091 +#: ../../library/os.rst:4153 msgid "" "The *sigdef* argument will reset the disposition of all signals in the set " -"specified. This argument corresponds to the C library :c:data:" -"`POSIX_SPAWN_SETSIGDEF` flag." +"specified. This argument corresponds to the C library :c:macro:`!" +"POSIX_SPAWN_SETSIGDEF` flag." msgstr "" "O argumento *sigdef* redefinirá a disposição de todos os sinais no conjunto " -"especificado. Este argumento corresponde ao sinalizador :c:data:" -"`POSIX_SPAWN_SETSIGDEF` da biblioteca C." +"especificado. Este argumento corresponde ao sinalizador :c:macro:`!" +"POSIX_SPAWN_SETSIGDEF` da biblioteca C." -#: ../../library/os.rst:4095 +#: ../../library/os.rst:4157 msgid "" "The *scheduler* argument must be a tuple containing the (optional) scheduler " "policy and an instance of :class:`sched_param` with the scheduler " "parameters. A value of ``None`` in the place of the scheduler policy " "indicates that is not being provided. This argument is a combination of the " -"C library :c:data:`POSIX_SPAWN_SETSCHEDPARAM` and :c:data:" -"`POSIX_SPAWN_SETSCHEDULER` flags." +"C library :c:macro:`!POSIX_SPAWN_SETSCHEDPARAM` and :c:macro:`!" +"POSIX_SPAWN_SETSCHEDULER` flags." msgstr "" "O argumento *scheduler* deve ser uma tupla contendo a política do agendador " "(opcional) e uma instância de :class:`sched_param` com os parâmetros do " -"agendador. Um valor ``None`` no lugar da política do planejador indica que " -"não está sendo fornecido. Este argumento é uma combinação dos sinalizadores :" -"c:data:`POSIX_SPAWN_SETSCHEDPARAM` e :c:data:`POSIX_SPAWN_SETSCHEDULER` da " -"biblioteca C." +"agendador. Um valor ``None`` no lugar da política do agendador indica que a " +"política não está sendo fornecido. Este argumento é uma combinação dos " +"sinalizadores :c:macro:`!POSIX_SPAWN_SETSCHEDPARAM` e :c:macro:`!" +"POSIX_SPAWN_SETSCHEDULER` da biblioteca C." -#: ../../library/os.rst:4102 ../../library/os.rst:4118 +#: ../../library/os.rst:4164 ../../library/os.rst:4180 msgid "" "Raises an :ref:`auditing event ` ``os.posix_spawn`` with arguments " "``path``, ``argv``, ``env``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.posix_spawn`` com " -"argumentos ``path``, ``argv``, ``env``." +"Levanta um :ref:`evento de auditoria ` ``os.posix_spawn`` com os " +"argumentos ``path``, ``argv`` e ``env``." -#: ../../library/os.rst:4112 -msgid "Wraps the :c:func:`posix_spawnp` C library API for use from Python." +#: ../../library/os.rst:4174 +msgid "Wraps the :c:func:`!posix_spawnp` C library API for use from Python." msgstr "" -"Envolve a API da biblioteca C :c:func:`posix_spawnp` para uso em Python." +"Envolve a API da biblioteca C :c:func:`!posix_spawnp` para uso em Python." -#: ../../library/os.rst:4114 +#: ../../library/os.rst:4176 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 "" "Semelhante a :func:`posix_spawn` exceto que o sistema procura o arquivo " -"*executable* na lista de diretórios especificados pela variável de ambiente :" -"envvar:`PATH` (da mesma forma que para ``execvp(3)``)." +"*executable* na lista de diretórios especificados pela variável de " +"ambiente :envvar:`PATH` (da mesma forma que para ``execvp(3)``)." -#: ../../library/os.rst:4122 +#: ../../library/os.rst:4184 msgid ":ref:`Availability `: POSIX, not Emscripten, not WASI." msgstr "" ":ref:`Disponibilidade `: POSIX, não Emscripten, não WASI." -#: ../../library/os.rst:4124 +#: ../../library/os.rst:4186 msgid "See :func:`posix_spawn` documentation." msgstr "Veja a documentação de :func:`posix_spawn`." -#: ../../library/os.rst:4130 +#: ../../library/os.rst:4192 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." +"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 "" "Registra chamáveis a serem executados quando um novo processo filho é criado " "usando :func:`os.fork` ou APIs de clonagem de processos semelhantes. Os " "parâmetros são opcionais e somente-nomeados. Cada um especifica um ponto de " "chamada diferente." -#: ../../library/os.rst:4135 +#: ../../library/os.rst:4197 msgid "*before* is a function called before forking a child process." -msgstr "" -"*before* é uma função chamada antes de fazer um fork para um processo filho." +msgstr "*before* é uma função chamada antes de criar um processo filho." -#: ../../library/os.rst:4136 +#: ../../library/os.rst:4198 msgid "" "*after_in_parent* is a function called from the parent process after forking " "a child process." msgstr "" -"*after_in_parent* é uma função chamada a partir do processo pai após fazer " -"um fork para um processo filho." +"*after_in_parent* é uma função chamada a partir do processo pai após criar " +"um processo filho." -#: ../../library/os.rst:4138 +#: ../../library/os.rst:4200 msgid "*after_in_child* is a function called from the child process." msgstr "*after_in_child* é uma função chamada a partir do processo filho." -#: ../../library/os.rst:4140 +#: ../../library/os.rst:4202 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 " @@ -6128,48 +6245,50 @@ msgstr "" "interpretador Python. Um lançamento típico de :mod:`subprocess` não irá " "acioná-los, pois o filho não entrará novamente no interpretador." -#: ../../library/os.rst:4144 +#: ../../library/os.rst:4206 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 "" -"As funções registradas para execução antes de fazer o fork são chamadas na " -"ordem de registro reversa. As funções registradas para execução após o fork " -"ser feito (no pai ou no filho) são chamadas na ordem de registro." +"As funções registradas para execução antes de criar um processo filho são " +"chamadas na ordem de registro reversa. As funções registradas para execução " +"após o processo filho ser criado (no pai ou no filho) são chamadas na ordem " +"de registro." -#: ../../library/os.rst:4149 +#: ../../library/os.rst:4211 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`." +"functions, unless it explicitly " +"calls :c:func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` " +"and :c:func:`PyOS_AfterFork_Child`." msgstr "" -"Note que chamadas a :c:func:`fork` feitas por código C de terceiros pode não " -"chamar estas funções, a menos que ele explicitamente chame :c:func:" -"`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` e :c:func:" -"`PyOS_AfterFork_Child`." +"Note que chamadas a :c:func:`fork` feitas por código C de terceiros podem " +"não chamar estas funções, a menos que ele explicitamente " +"chamem :c:func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` " +"e :c:func:`PyOS_AfterFork_Child`." -#: ../../library/os.rst:4153 +#: ../../library/os.rst:4215 msgid "There is no way to unregister a function." msgstr "Não há uma forma de desfazer o registro de uma função." -#: ../../library/os.rst:4169 +#: ../../library/os.rst:4231 msgid "Execute the program *path* in a new process." msgstr "Executa o programa *path* em um novo processo." -#: ../../library/os.rst:4171 +#: ../../library/os.rst:4233 msgid "" "(Note that the :mod:`subprocess` module provides more powerful facilities " "for spawning new processes and retrieving their results; using that module " -"is preferable to using these functions. Check especially the :ref:" -"`subprocess-replacements` section.)" +"is preferable to using these functions. Check especially " +"the :ref:`subprocess-replacements` section.)" msgstr "" "(Observe que o módulo :mod:`subprocess` fornece recursos mais poderosos para " "gerar novos processos e recuperar seus resultados; usar esse módulo é " -"preferível a usar essas funções. Verifique especialmente a seção :ref:" -"`subprocess-replacements`.)" +"preferível a usar essas funções. Verifique especialmente a " +"seção :ref:`subprocess-replacements`.)" -#: ../../library/os.rst:4176 +#: ../../library/os.rst:4238 msgid "" "If *mode* is :const:`P_NOWAIT`, this function returns the process id of the " "new process; if *mode* is :const:`P_WAIT`, returns the process's exit code " @@ -6180,25 +6299,25 @@ msgstr "" "Se *mode* for :const:`P_NOWAIT`, esta função retorna o id do processo do " "novo processo; se *mode* for :const:`P_WAIT`, retorna o código de saída do " "processo se ele sair normalmente, ou ``-signal``, onde *signal* é o sinal " -"que matou o processo. No Windows, o id de processo será na verdade o " -"identificador do processo, portanto, pode ser usado com a função :func:" -"`waitpid`." +"que matou o processo. No Windows, o id do processo será na verdade o " +"manipulador do processo, portanto, pode ser usado com a " +"função :func:`waitpid`." -#: ../../library/os.rst:4182 +#: ../../library/os.rst:4244 msgid "" "Note on VxWorks, this function doesn't return ``-signal`` when the new " "process is killed. Instead it raises OSError exception." msgstr "" -"Nota sobre VxWorks: esta função não retorna ``-signal`` quando o novo " -"processo é encerrado. Em vez disso, ele levanta a exceção OSError." +"Nota sobre VxWorks: esta função não retorna ``-signal`` se o novo processo é " +"interrompido. Em vez disso, ele levanta a exceção OSError." -#: ../../library/os.rst:4185 +#: ../../library/os.rst:4247 msgid "" "The \"l\" and \"v\" variants of the :func:`spawn\\* ` functions " "differ in how command-line arguments are passed. The \"l\" variants are " "perhaps the easiest to work with if the number of parameters is fixed when " "the code is written; the individual parameters simply become additional " -"parameters to the :func:`spawnl\\*` functions. The \"v\" variants are good " +"parameters to the :func:`!spawnl\\*` functions. The \"v\" variants are good " "when the number of parameters is variable, with the arguments being passed " "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." @@ -6207,44 +6326,45 @@ msgstr "" "como os argumentos de linha de comando são passados. As variantes \"l\" são " "talvez as mais fáceis de trabalhar se o número de parâmetros for fixo quando " "o código for escrito; os parâmetros individuais simplesmente se tornam " -"parâmetros adicionais para as funções :func:`spawnl\\*`. As variantes \"v\" " +"parâmetros adicionais para as funções :func:`!spawnl\\*`. As variantes \"v\" " "são boas quando o número de parâmetros é variável, com os argumentos sendo " "passados em uma lista ou tupla como o parâmetro *args*. Em ambos os casos, " "os argumentos para o processo filho devem começar com o nome do comando que " "está sendo executado." -#: ../../library/os.rst:4194 -msgid "" -"The variants which include a second \"p\" near the end (:func:`spawnlp`, :" -"func:`spawnlpe`, :func:`spawnvp`, and :func:`spawnvpe`) will use the :envvar:" -"`PATH` environment variable to locate the program *file*. When the " -"environment is being replaced (using one of the :func:`spawn\\*e ` " -"variants, discussed in the next paragraph), the new environment is used as " -"the source of the :envvar:`PATH` variable. The other variants, :func:" -"`spawnl`, :func:`spawnle`, :func:`spawnv`, and :func:`spawnve`, will not use " -"the :envvar:`PATH` variable to locate the executable; *path* must contain an " -"appropriate absolute or relative path." -msgstr "" -"As variantes que incluem um segundo \"p\" próximo ao final (:func:" -"`spawnlp`, :func:`spawnlpe`, :func:`spawnvp` e :func:`spawnvpe`) usarão a " -"variável de ambiente :envvar:`PATH` para localizar o programa *file*. Quando " -"o ambiente está sendo substituído (usando uma das variantes :func:`spawn\\*e " -"`, discutidas no próximo parágrafo), o novo ambiente é usado como " -"fonte da variável :envvar:`PATH` As outras variantes, :func:`spawnl`, :func:" -"`spawnle`, :func:`spawnv` e :func:`spawnve`, não usarão a variável :envvar:" -"`PATH` para localizar o executável; *path* deve conter um caminho absoluto " -"ou relativo apropriado." - -#: ../../library/os.rst:4204 +#: ../../library/os.rst:4256 +msgid "" +"The variants which include a second \"p\" near the end " +"(:func:`spawnlp`, :func:`spawnlpe`, :func:`spawnvp`, and :func:`spawnvpe`) " +"will use the :envvar:`PATH` environment variable to locate the program " +"*file*. When the environment is being replaced (using one of " +"the :func:`spawn\\*e ` variants, discussed in the next paragraph), " +"the new environment is used as the source of the :envvar:`PATH` variable. " +"The other variants, :func:`spawnl`, :func:`spawnle`, :func:`spawnv`, " +"and :func:`spawnve`, will not use the :envvar:`PATH` variable to locate the " +"executable; *path* must contain an appropriate absolute or relative path." +msgstr "" +"As variantes que incluem um segundo \"p\" próximo ao final " +"(:func:`spawnlp`, :func:`spawnlpe`, :func:`spawnvp` e :func:`spawnvpe`) " +"usarão a variável de ambiente :envvar:`PATH` para localizar o programa " +"*file*. Quando o ambiente está sendo substituído (usando uma das " +"variantes :func:`spawn\\*e `, discutidas no próximo parágrafo), o " +"novo ambiente é usado como fonte da variável :envvar:`PATH`. As outras " +"variantes, :func:`spawnl`, :func:`spawnle`, :func:`spawnv` " +"e :func:`spawnve`, não usarão a variável :envvar:`PATH` para localizar o " +"executável; *path* deve conter um caminho absoluto ou relativo apropriado." + +#: ../../library/os.rst:4266 msgid "" "For :func:`spawnle`, :func:`spawnlpe`, :func:`spawnve`, and :func:`spawnvpe` " "(note that these all end in \"e\"), the *env* parameter must be a mapping " "which is used to define the environment variables for the new process (they " -"are used instead of the current process' environment); the functions :func:" -"`spawnl`, :func:`spawnlp`, :func:`spawnv`, and :func:`spawnvp` all cause the " -"new process to inherit the environment of the current process. Note that " -"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``." +"are used instead of the current process' environment); the " +"functions :func:`spawnl`, :func:`spawnlp`, :func:`spawnv`, " +"and :func:`spawnvp` all cause the new process to inherit the environment of " +"the current process. Note that 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 "" "Para :func:`spawnle`, :func:`spawnlpe`, :func:`spawnve` e :func:`spawnvpe` " "(observe que todos eles terminam em \"e\"), o parâmetro *env* deve ser um " @@ -6256,7 +6376,7 @@ msgstr "" "valores inválidos farão com que a função falhe, com um valor de retorno de " "``127``." -#: ../../library/os.rst:4213 +#: ../../library/os.rst:4275 msgid "" "As an example, the following calls to :func:`spawnlp` and :func:`spawnvpe` " "are equivalent::" @@ -6264,15 +6384,15 @@ msgstr "" "Como exemplo, as seguintes chamadas a :func:`spawnlp` e :func:`spawnvpe` são " "equivalentes::" -#: ../../library/os.rst:4222 +#: ../../library/os.rst:4284 msgid "" "Raises an :ref:`auditing event ` ``os.spawn`` with arguments " "``mode``, ``path``, ``args``, ``env``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.spawn`` com argumentos " -"``mode``, ``path``, ``args``, ``env``." +"Levanta um :ref:`evento de auditoria ` ``os.spawn`` com os " +"argumentos ``mode``, ``path``, ``args`` e ``env``." -#: ../../library/os.rst:4226 +#: ../../library/os.rst:4288 msgid "" ":func:`spawnlp`, :func:`spawnlpe`, :func:`spawnvp` and :func:`spawnvpe` are " "not available on Windows. :func:`spawnle` and :func:`spawnve` are not " @@ -6281,56 +6401,57 @@ msgid "" msgstr "" ":func:`spawnlp`, :func:`spawnlpe`, :func:`spawnvp` e :func:`spawnvpe` não " "estão disponíveis no Windows. :func:`spawnle` e :func:`spawnve` não são " -"seguros para thread no Windows; recomendamos que você use o módulo :mod:" -"`subprocess`." +"seguros para thread no Windows; recomendamos que você use o " +"módulo :mod:`subprocess`." -#: ../../library/os.rst:4238 +#: ../../library/os.rst:4300 msgid "" "Possible values for the *mode* parameter to the :func:`spawn\\* ` " -"family of functions. If either of these values is given, the :func:" -"`spawn\\*` functions will return as soon as the new process has been " -"created, with the process id as the return value." +"family of functions. If either of these values is given, " +"the :func:`spawn\\* ` functions will return as soon as the new " +"process has been created, with the process id as the return value." msgstr "" -"Valores possíveis para o parâmetro *mode* para a família de funções :func:" -"`spawn\\* `. Se qualquer um desses valores for fornecido, as " -"funções :func:`spawn\\*` retornarão assim que o novo processo for criado, " -"com o id do processo como o valor de retorno." +"Valores possíveis para o parâmetro *mode* para a família de " +"funções :func:`spawn\\* `. Se qualquer um desses valores for " +"fornecido, as funções :func:`spawn\\* ` retornarão assim que o novo " +"processo for criado, com o id do processo como o valor de retorno." -#: ../../library/os.rst:4248 +#: ../../library/os.rst:4310 msgid "" "Possible value for the *mode* parameter to the :func:`spawn\\* ` " -"family of functions. If this is given as *mode*, the :func:`spawn\\*` " -"functions will not return until the new process has run to completion and " -"will return the exit code of the process the run is successful, or ``-" -"signal`` if a signal kills the process." +"family of functions. If this is given as *mode*, the :func:`spawn\\* " +"` functions will not return until the new process has run to " +"completion and will return the exit code of the process the run is " +"successful, or ``-signal`` if a signal kills the process." msgstr "" -"Valor possível para o parâmetro *mode* para a família de funções :func:" -"`spawn\\* `. Se for fornecido como *mode*, as funções :func:" -"`spawn\\*` não retornarão até que o novo processo seja executado até a " -"conclusão e retornará o código de saída do processo em que a execução foi " -"bem-sucedida, ou ``-signal`` se um sinal interromper o processo." +"Valor possível para o parâmetro *mode* para a família de " +"funções :func:`spawn\\* `. Se for fornecido como *mode*, as " +"funções :func:`spawn\\* ` não retornarão até que o novo processo " +"seja executado até a conclusão e retornará o código de saída do processo em " +"que a execução foi bem-sucedida, ou ``-signal`` se um sinal interromper o " +"processo." -#: ../../library/os.rst:4260 +#: ../../library/os.rst:4322 msgid "" "Possible values for the *mode* parameter to the :func:`spawn\\* ` " -"family of functions. These are less portable than those listed above. :" -"const:`P_DETACH` is similar to :const:`P_NOWAIT`, but the new process is " -"detached from the console of the calling process. If :const:`P_OVERLAY` is " -"used, the current process will be replaced; the :func:`spawn\\* ` " -"function will not return." -msgstr "" -"Valores possíveis do o parâmetro *mode* para a família de funções :func:" -"`spawn\\* `. Eles são menos portáteis do que os listados acima. :" -"const:`P_DETACH` é semelhante a :const:`P_NOWAIT`, mas o novo processo é " -"separado do console do processo de chamada. Se :const:`P_OVERLAY` for usado, " -"o processo atual será substituído; a função :func:`spawn\\* ` não " -"retornará." - -#: ../../library/os.rst:4271 +"family of functions. These are less portable than those listed " +"above. :const:`P_DETACH` is similar to :const:`P_NOWAIT`, but the new " +"process is detached from the console of the calling process. " +"If :const:`P_OVERLAY` is used, the current process will be replaced; " +"the :func:`spawn\\* ` function will not return." +msgstr "" +"Valores possíveis para o parâmetro *mode* para a família de " +"funções :func:`spawn\\* `. Eles são menos portáveis do que os " +"listados acima. :const:`P_DETACH` é semelhante a :const:`P_NOWAIT`, mas o " +"novo processo é separado do console do processo de chamada. " +"Se :const:`P_OVERLAY` for usado, o processo atual será substituído; a " +"função :func:`spawn\\* ` não retornará." + +#: ../../library/os.rst:4333 msgid "Start a file with its associated application." msgstr "Inicia um arquivo com sua aplicação associada." -#: ../../library/os.rst:4273 +#: ../../library/os.rst:4335 msgid "" "When *operation* is not specified or ``'open'``, this acts like double-" "clicking the file in Windows Explorer, or giving the file name as an " @@ -6344,7 +6465,7 @@ msgstr "" "interativo de comandos: o arquivo é aberto com qualquer aplicação (se " "houver) com a extensão associada." -#: ../../library/os.rst:4278 +#: ../../library/os.rst:4340 msgid "" "When another *operation* is given, it must be a \"command verb\" that " "specifies what should be done with the file. Common verbs documented by " @@ -6357,17 +6478,17 @@ msgstr "" "em arquivos), bem como ``'explore'`` e ``'find'`` (para serem usados em " "diretórios)." -#: ../../library/os.rst:4283 +#: ../../library/os.rst:4345 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 "" "Ao iniciar uma aplicação, especifique *arguments* a serem passados como uma " -"única string. Este argumento pode não ter efeito quando usar esta função " +"única string. Este argumento pode não ter efeito quando esta função é usada " "para iniciar um documento." -#: ../../library/os.rst:4287 +#: ../../library/os.rst:4349 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 " @@ -6377,17 +6498,17 @@ msgstr "" "argumento *cwd*. Este deve ser um caminho absoluto. Um *path* relativo será " "resolvido levando em consideração este argumento." -#: ../../library/os.rst:4291 +#: ../../library/os.rst:4353 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." +"supported by the Win32 :c:func:`!ShellExecute` function." msgstr "" "Use *show_cmd* para substituir o estilo de janela padrão. Se isso terá algum " "efeito irá depender da aplicação sendo iniciada. Os valores são inteiros " -"conforme suportado pela função Win32 :c:func:`ShellExecute`." +"conforme implementado pela função Win32 :c:func:`!ShellExecute`." -#: ../../library/os.rst:4295 +#: ../../library/os.rst:4357 msgid "" ":func:`startfile` returns as soon as the associated application is launched. " "There is no option to wait for the application to close, and no way to " @@ -6405,42 +6526,42 @@ msgstr "" "a função :func:`os.path.normpath` para garantir que os caminhos sejam " "codificados corretamente para Win32." -#: ../../library/os.rst:4303 +#: ../../library/os.rst:4365 msgid "" -"To reduce interpreter startup overhead, the Win32 :c:func:`ShellExecute` " +"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 "" -"Para reduzir a sobrecarga de inicialização do interpretador, a função Win32 :" -"c:func:`ShellExecute` não é resolvida até que esta função seja chamada pela " -"primeira vez. Se a função não puder ser resolvida, :exc:" -"`NotImplementedError` será levantada." +"Para reduzir a sobrecarga de inicialização do interpretador, a função " +"Win32 :c:func:`!ShellExecute` não é resolvida até que esta função seja " +"chamada pela primeira vez. Se a função não puder ser resolvida, uma " +"exceção :exc:`NotImplementedError` será levantada." -#: ../../library/os.rst:4307 +#: ../../library/os.rst:4369 msgid "" "Raises an :ref:`auditing event ` ``os.startfile`` with arguments " "``path``, ``operation``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``os.startfile`` coms " -"argumentos ``path``, ``operation``." +"Levanta um :ref:`evento de auditoria ` ``os.startfile`` com os " +"argumentos ``path`` e ``operation``." -#: ../../library/os.rst:4309 +#: ../../library/os.rst:4371 msgid "" "Raises an :ref:`auditing event ` ``os.startfile/2`` with arguments " "``path``, ``operation``, ``arguments``, ``cwd``, ``show_cmd``." msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.startfile/2`` com os " -"argumentos ``path``, ``operation``, ``arguments``, ``cwd``, ``show_cmd``." +"argumentos ``path``, ``operation``, ``arguments``, ``cwd`` e ``show_cmd``." -#: ../../library/os.rst:4313 +#: ../../library/os.rst:4375 msgid "" -"Added the *arguments*, *cwd* and *show_cmd* arguments, and the ``os." -"startfile/2`` audit event." +"Added the *arguments*, *cwd* and *show_cmd* arguments, and the " +"``os.startfile/2`` audit event." msgstr "" "Adicionados os argumentos *arguments*, *cwd* e *show_cmd*, e o evento de " "auditoria ``os.startfile/2``." -#: ../../library/os.rst:4320 +#: ../../library/os.rst:4382 msgid "" "Execute the command (a string) in a subshell. This is implemented by " "calling the Standard C function :c:func:`system`, and has the same " @@ -6458,7 +6579,7 @@ msgstr "" "valor de retorno da função C, então o valor de retorno da função Python " "depende do sistema." -#: ../../library/os.rst:4328 +#: ../../library/os.rst:4390 msgid "" "On Unix, the return value is the exit status of the process encoded in the " "format specified for :func:`wait`." @@ -6466,13 +6587,13 @@ msgstr "" "No Unix, o valor de retorno é o status de saída do processo codificado no " "formato especificado para :func:`wait`." -#: ../../library/os.rst:4331 +#: ../../library/os.rst:4393 msgid "" "On Windows, the return value is that returned by the system shell after " -"running *command*. The shell is given by the Windows environment variable :" -"envvar:`COMSPEC`: it is usually :program:`cmd.exe`, which returns the exit " -"status of the command run; on systems using a non-native shell, consult your " -"shell documentation." +"running *command*. The shell is given by the Windows environment " +"variable :envvar:`COMSPEC`: it is usually :program:`cmd.exe`, which returns " +"the exit status of the command run; on systems using a non-native shell, " +"consult your shell documentation." msgstr "" "No Windows, o valor de retorno é aquele retornado pelo shell do sistema após " "a execução de *command*. O shell é fornecido pela variável de ambiente " @@ -6480,7 +6601,7 @@ msgstr "" "status de saída da execução do comando; em sistemas que usam um shell não " "nativo, consulte a documentação do shell." -#: ../../library/os.rst:4337 +#: ../../library/os.rst:4399 msgid "" "The :mod:`subprocess` module provides more powerful facilities for spawning " "new processes and retrieving their results; using that module is preferable " @@ -6489,10 +6610,10 @@ msgid "" msgstr "" "O módulo :mod:`subprocess` fornece recursos mais poderosos para gerar novos " "processos e recuperar seus resultados; usar esse módulo é preferível a usar " -"esta função. Veja a seção :ref:`subprocess-replacements` na documentação do :" -"mod:`subprocess` para algumas receitas úteis." +"esta função. Veja a seção :ref:`subprocess-replacements` na documentação " +"do :mod:`subprocess` para algumas receitas úteis." -#: ../../library/os.rst:4342 +#: ../../library/os.rst:4404 msgid "" "On Unix, :func:`waitstatus_to_exitcode` can be used to convert the result " "(exit status) into an exit code. On Windows, the result is directly the exit " @@ -6502,7 +6623,7 @@ msgstr "" "resultado (status de saída) em um código de saída. No Windows, o resultado é " "diretamente o código de saída." -#: ../../library/os.rst:4346 +#: ../../library/os.rst:4408 msgid "" "Raises an :ref:`auditing event ` ``os.system`` with argument " "``command``." @@ -6510,56 +6631,62 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``os.system`` com o " "argumento ``command``." -#: ../../library/os.rst:4353 +#: ../../library/os.rst:4415 msgid "" "Returns the current global process times. The return value is an object with " "five attributes:" msgstr "" -"Retorna os tempos atuais de processo globais. O valor de retorno é um objeto " +"Retorna os tempos do processo global atual. O valor de retorno é um objeto " "com cinco atributos:" -#: ../../library/os.rst:4356 +#: ../../library/os.rst:4418 msgid ":attr:`!user` - user time" msgstr ":attr:`!user` - tempo do usuário" -#: ../../library/os.rst:4357 +#: ../../library/os.rst:4419 msgid ":attr:`!system` - system time" msgstr ":attr:`!system` - tempo do sistema" -#: ../../library/os.rst:4358 +#: ../../library/os.rst:4420 msgid ":attr:`!children_user` - user time of all child processes" -msgstr ":attr:`!children_user` - tempo do usuário de todos os processo filhos" +msgstr ":attr:`!children_user` - tempo do usuário de todos os processos filhos" -#: ../../library/os.rst:4359 +#: ../../library/os.rst:4421 msgid ":attr:`!children_system` - system time of all child processes" msgstr "" -":attr:`!children_system` - tempo do sistema de todos os processo filhos" +":attr:`!children_system` - tempo do sistema de todos os processos filhos" -#: ../../library/os.rst:4360 +#: ../../library/os.rst:4422 msgid ":attr:`!elapsed` - elapsed real time since a fixed point in the past" msgstr ":attr:`!elapsed` - tempo real decorrido desde um ponto fixo no passado" -#: ../../library/os.rst:4362 +#: ../../library/os.rst:4424 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 "" "Para compatibilidade com versões anteriores, esse objeto também se comporta " -"como uma tupla de 5 elementos contendo :attr:`!user`, :attr:`!system`, :attr:" -"`!children_user`, :attr:`!children_system` e :attr:`!elapsed` nessa ordem." +"como uma tupla de 5 elementos contendo :attr:`!user`, :attr:`!" +"system`, :attr:`!children_user`, :attr:`!children_system` e :attr:`!elapsed` " +"nessa ordem." -#: ../../library/os.rst:4366 +#: ../../library/os.rst:4428 msgid "" -"See the Unix manual page :manpage:`times(2)` and `times(3) `_ manual page on Unix or `the " +"See the Unix manual page :manpage:`times(2)` and `times(3) `_ manual page on Unix or `the " "GetProcessTimes MSDN `_ on Windows. On " "Windows, only :attr:`!user` and :attr:`!system` are known; the other " "attributes are zero." msgstr "" +"Consulte as páginas de manual :manpage:`times(2)` e `times(3) `_ no Unix ou `o GetProcessTimes MSDN " +"`_ no Windows. No Windows, apenas :attr:`!" +"user` e :attr:`!system` são conhecidos; os outros atributos são zero." -#: ../../library/os.rst:4380 +#: ../../library/os.rst:4442 msgid "" "Wait for completion of a child process, and return a tuple containing its " "pid and exit status indication: a 16-bit number, whose low byte is the " @@ -6569,19 +6696,19 @@ msgid "" msgstr "" "Aguarda a conclusão de um processo filho e retorna uma tupla contendo seu " "pid e indicação de status de saída: um número de 16 bits, cujo byte baixo é " -"o número do sinal que matou o processo e cujo byte alto é o status de saída " -"(se o sinal número é zero); o bit alto do byte baixo é definido se um " -"arquivo principal foi produzido." +"o número do sinal que interrompeu o processo e cujo byte alto é o status de " +"saída (se o número do sinal é zero); o bit alto do byte baixo é definido se " +"um arquivo principal foi produzido." -#: ../../library/os.rst:4386 +#: ../../library/os.rst:4448 msgid "" "If there are no children that could be waited for, :exc:`ChildProcessError` " "is raised." msgstr "" -"Se não houver filhos que possam ser esperados, :exc:`ChildProcessError` é " -"levantada." +"Se não houver filhos que possam ser aguardados, uma " +"exceção :exc:`ChildProcessError` é levantada." -#: ../../library/os.rst:4389 ../../library/os.rst:4461 +#: ../../library/os.rst:4451 ../../library/os.rst:4526 msgid "" ":func:`waitstatus_to_exitcode` can be used to convert the exit status into " "an exit code." @@ -6589,73 +6716,74 @@ msgstr "" ":func:`waitstatus_to_exitcode` pode ser usado para converter o status de " "saída em um código de saída." -#: ../../library/os.rst:4396 +#: ../../library/os.rst:4458 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." +"the completion of a specific child process and have more " +"options. :func:`waitpid` is the only one also available on Windows." msgstr "" "As outras funções :func:`!wait*` documentadas abaixo podem ser usadas para " -"aguardar a conclusão de um processo filho específico e ter mais opções. :" -"func:`waitpid` é o único também disponível no Windows." +"aguardar a conclusão de um processo filho específico e ter mais " +"opções. :func:`waitpid` é o único também disponível no Windows." -#: ../../library/os.rst:4403 +#: ../../library/os.rst:4465 msgid "Wait for the completion of a child process." -msgstr "Aguarde a conclusão de um processo filho." +msgstr "Aguarda a conclusão de um processo filho." -#: ../../library/os.rst:4405 +#: ../../library/os.rst:4467 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 " +"*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* pode ser :data:`P_PID`, :data:`P_PGID`, :data:`P_ALL` ou (no " "Linux) :data:`P_PIDFD`. A interpretação de *id* depende disso; veja suas " "descrições individuais." -#: ../../library/os.rst:4408 +#: ../../library/os.rst:4470 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." +"*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* é uma combinação OU de sinalizadores. Pelo menos um entre :data:" -"`WEXITED`, :data:`WSTOPPED` ou :data:`WCONTINUED` é obrigatório; :data:" -"`WNOHANG` e :data:`WNOWAIT` são sinalizadores opcionais adicionais." +"*options* é uma combinação OU de sinalizadores. Pelo menos um " +"entre :data:`WEXITED`, :data:`WSTOPPED` ou :data:`WCONTINUED` é " +"obrigatório; :data:`WNOHANG` e :data:`WNOWAIT` são sinalizadores opcionais " +"adicionais." -#: ../../library/os.rst:4412 +#: ../../library/os.rst:4474 msgid "" -"The return value is an object representing the data contained in the :c:type:" -"`!siginfo_t` structure with the following attributes:" +"The return value is an object representing the data contained in " +"the :c:type:`siginfo_t` structure with the following attributes:" msgstr "" "O valor de retorno é um objeto que representa os dados contidos na " -"estrutura :c:type:`!siginfo_t` com os seguintes atributos:" +"estrutura :c:type:`siginfo_t` com os seguintes atributos:" -#: ../../library/os.rst:4415 +#: ../../library/os.rst:4477 msgid ":attr:`!si_pid` (process ID)" msgstr ":attr:`!si_pid` (ID do processo)" -#: ../../library/os.rst:4416 +#: ../../library/os.rst:4478 msgid ":attr:`!si_uid` (real user ID of the child)" msgstr ":attr:`!si_uid` (ID de usuário real do filho)" -#: ../../library/os.rst:4417 -msgid ":attr:`!si_signo` (always :data:`~signal.SIGCHLD`)" -msgstr ":attr:`!si_signo` (sempre :data:`~signal.SIGCHLD`)" +#: ../../library/os.rst:4479 +msgid ":attr:`!si_signo` (always :const:`~signal.SIGCHLD`)" +msgstr ":attr:`!si_signo` (sempre :const:`~signal.SIGCHLD`)" -#: ../../library/os.rst:4418 +#: ../../library/os.rst:4480 msgid "" ":attr:`!si_status` (the exit status or signal number, depending on :attr:`!" "si_code`)" msgstr "" -":attr:`!si_status` (o status de saída ou número do sinal, dependendo de :" -"attr:`!si_code`)" +":attr:`!si_status` (o status de saída ou número do sinal, dependendo " +"de :attr:`!si_code`)" -#: ../../library/os.rst:4419 +#: ../../library/os.rst:4481 msgid ":attr:`!si_code` (see :data:`CLD_EXITED` for possible values)" msgstr ":attr:`!si_code` (veja :data:`CLD_EXITED` para possíveis valores)" -#: ../../library/os.rst:4421 +#: ../../library/os.rst:4483 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 " @@ -6666,11 +6794,15 @@ msgstr "" "filhos correspondentes que possam ser esperados, :exc:`ChildProcessError` " "será levantada." -#: ../../library/os.rst:4433 +#: ../../library/os.rst:4491 +msgid "This function is not available on macOS." +msgstr "Esta função não está disponível no MacOS." + +#: ../../library/os.rst:4498 msgid "The details of this function differ on Unix and Windows." msgstr "Os detalhes desta função diferem no Unix e no Windows." -#: ../../library/os.rst:4435 +#: ../../library/os.rst:4500 msgid "" "On Unix: Wait for completion of a child process given by process id *pid*, " "and return a tuple containing its process id and exit status indication " @@ -6678,13 +6810,13 @@ msgid "" "the value of the integer *options*, which should be ``0`` for normal " "operation." msgstr "" -"No Unix: Aguarda a conclusão de um processo filho dado pelo id de processo " +"No Unix: aguarda a conclusão de um processo filho dado pelo id de processo " "*pid* e retorna uma tupla contendo seu id de processo e indicação de status " "de saída (codificado como para :func:`wait`). A semântica da chamada é " "afetada pelo valor do inteiro *options*, que deve ser ``0`` para operação " "normal." -#: ../../library/os.rst:4440 +#: ../../library/os.rst:4505 msgid "" "If *pid* is greater than ``0``, :func:`waitpid` requests status information " "for that specific process. If *pid* is ``0``, the request is for the status " @@ -6700,7 +6832,7 @@ msgstr "" "Se *pid* for menor que ``-1``, o status é solicitado para qualquer processo " "no grupo de processos ``-pid`` (o valor absoluto de *pid*)." -#: ../../library/os.rst:4447 +#: ../../library/os.rst:4512 msgid "" "*options* is an OR combination of flags. If it contains :data:`WNOHANG` and " "there are no matching children in the requested state, ``(0, 0)`` is " @@ -6714,28 +6846,28 @@ msgstr "" "ser esperados, :exc:`ChildProcessError` será levantada. Outras opções que " "podem ser usadas são :data:`WUNTRACED` e :data:`WCONTINUED`." -#: ../../library/os.rst:4453 +#: ../../library/os.rst:4518 msgid "" "On Windows: Wait for completion of a process given by process handle *pid*, " "and return a tuple containing *pid*, and its exit status shifted left by 8 " "bits (shifting makes cross-platform use of the function easier). A *pid* " "less than or equal to ``0`` has no special meaning on Windows, and raises an " "exception. The value of integer *options* has no effect. *pid* can refer to " -"any process whose id is known, not necessarily a child process. The :func:" -"`spawn\\* ` functions called with :const:`P_NOWAIT` return suitable " -"process handles." +"any process whose id is known, not necessarily a child process. " +"The :func:`spawn\\* ` functions called with :const:`P_NOWAIT` return " +"suitable process handles." msgstr "" -"No Windows: Aguarda a conclusão de um processo fornecido pelo identificador " +"No Windows: aguarda a conclusão de um processo fornecido pelo identificador " "de processo *pid* e retorna uma tupla contendo *pid*, e seu status de saída " "deslocado 8 bits para a esquerda (o deslocamento torna o uso da função em " "várias plataformas mais fácil). Um *pid* menor ou igual a ``0`` não tem " "nenhum significado especial no Windows e levanta uma exceção. O valor de " "inteiros *options* não tem efeito. *pid* pode se referir a qualquer processo " -"cujo id é conhecido, não necessariamente um processo filho. As funções :func:" -"`spawn\\* ` chamadas com :const:`P_NOWAIT` retornam manipuladores de " -"processo adequados." +"cujo id é conhecido, não necessariamente um processo filho. As " +"funções :func:`spawn\\* ` chamadas com :const:`P_NOWAIT` retornam " +"manipuladores de processo adequados." -#: ../../library/os.rst:4474 +#: ../../library/os.rst:4539 msgid "" "Similar to :func:`waitpid`, except no process id argument is given and a 3-" "element tuple containing the child's process id, exit status indication, and " @@ -6744,13 +6876,13 @@ msgid "" "same as that provided to :func:`waitpid` and :func:`wait4`." msgstr "" "Semelhante a :func:`waitpid`, exceto que nenhum argumento de id de processo " -"é fornecido e uma tupla de 3 elementos contendo a id do processo da criança, " +"é fornecido e uma tupla de 3 elementos contendo o id do processo filho, " "indicação de status de saída e informações de uso de recursos é retornada. " "Consulte :func:`resource.getrusage` para obter detalhes sobre as informações " -"de uso de recursos. O argumento *option* é o mesmo fornecido para :func:" -"`waitpid` e :func:`wait4`." +"de uso de recursos. O argumento *option* é o mesmo fornecido " +"para :func:`waitpid` e :func:`wait4`." -#: ../../library/os.rst:4481 ../../library/os.rst:4495 +#: ../../library/os.rst:4546 ../../library/os.rst:4560 msgid "" ":func:`waitstatus_to_exitcode` can be used to convert the exit status into " "an exitcode." @@ -6758,7 +6890,7 @@ msgstr "" ":func:`waitstatus_to_exitcode` pode ser usado para converter o status de " "saída em um código de saída." -#: ../../library/os.rst:4489 +#: ../../library/os.rst:4554 msgid "" "Similar to :func:`waitpid`, except a 3-element tuple, containing the child's " "process id, exit status indication, and resource usage information is " @@ -6766,13 +6898,13 @@ msgid "" "information. The arguments to :func:`wait4` are the same as those provided " "to :func:`waitpid`." msgstr "" -"Semelhante a :func:`waitpid`, exceto uma tupla de 3 elementos, contendo a id " -"do processo da filho, indicação de status de saída e informações de uso de " +"Semelhante a :func:`waitpid`, exceto uma tupla de 3 elementos, contendo o id " +"do processo filho, indicação de status de saída e informações de uso de " "recursos é retornada. Consulte :func:`resource.getrusage` para obter " -"detalhes sobre as informações de uso de recursos. Os argumentos para :func:" -"`wait4` são os mesmos que aqueles fornecidos a :func:`waitpid`." +"detalhes sobre as informações de uso de recursos. Os argumentos " +"para :func:`wait4` são os mesmos que aqueles fornecidos a :func:`waitpid`." -#: ../../library/os.rst:4506 +#: ../../library/os.rst:4571 msgid "" "These are the possible values for *idtype* in :func:`waitid`. They affect " "how *id* is interpreted:" @@ -6780,21 +6912,21 @@ msgstr "" "Estes são os valores possíveis para *idtype* em :func:`waitid`. Eles afetam " "como *id* é interpretado:" -#: ../../library/os.rst:4509 +#: ../../library/os.rst:4574 msgid ":data:`!P_PID` - wait for the child whose PID is *id*." msgstr ":data:`!P_PID` - espera pelo filho cujo PID é *id*." -#: ../../library/os.rst:4510 +#: ../../library/os.rst:4575 msgid ":data:`!P_PGID` - wait for any child whose progress group ID is *id*." msgstr "" ":data:`!P_PGID` - espera por qualquer filho cujo ID do grupo de progresso " "seja *id*." -#: ../../library/os.rst:4511 +#: ../../library/os.rst:4576 msgid ":data:`!P_ALL` - wait for any child; *id* is ignored." -msgstr ":data:`!P_ALL` - espera por qualquer criança; *id* é ignorado." +msgstr ":data:`!P_ALL` - espera por qualquer filho; *id* é ignorado." -#: ../../library/os.rst:4512 +#: ../../library/os.rst:4577 msgid "" ":data:`!P_PIDFD` - wait for the child identified by the file descriptor *id* " "(a process file descriptor created with :func:`pidfd_open`)." @@ -6802,34 +6934,34 @@ msgstr "" ":data:`!P_PIDFD` - espera pelo filho identificado pelo descritor de arquivo " "*id* (um descritor de arquivo de processo criado com :func:`pidfd_open`)." -#: ../../library/os.rst:4517 +#: ../../library/os.rst:4582 msgid ":data:`!P_PIDFD` is only available on Linux >= 5.4." msgstr ":data:`!P_PIDFD` só está disponível no Linux >= 5.4." -#: ../../library/os.rst:4520 +#: ../../library/os.rst:4585 msgid "The :data:`!P_PIDFD` constant." msgstr "A constante :data:`!P_PIDFD`." -#: ../../library/os.rst:4526 +#: ../../library/os.rst:4591 msgid "" -"This *options* flag for :func:`waitpid`, :func:`wait3`, :func:`wait4`, and :" -"func:`waitid` causes child processes to be reported if they have been " +"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 "" -"Este sinalizador *options* para :func:`waitpid`, :func:`wait3`, :func:" -"`wait4` e :func:`waitid` faz com que os processos filho sejam relatados se " -"eles tiverem continuado de uma parada de controle de trabalho desde que " -"foram relatados pela última vez." +"Este sinalizador *options* " +"para :func:`waitpid`, :func:`wait3`, :func:`wait4` e :func:`waitid` faz com " +"que os processos filhos sejam reportados se eles tiverem continuado de uma " +"parada de controle de trabalho desde que foram reportados pela última vez." -#: ../../library/os.rst:4535 +#: ../../library/os.rst:4600 msgid "" "This *options* flag for :func:`waitid` causes child processes that have " "terminated to be reported." msgstr "" "Este sinalizador *options* para :func:`waitid` faz com que os processos " -"filhos que terminaram sejam relatados." +"filhos que terminaram sejam reportados." -#: ../../library/os.rst:4538 +#: ../../library/os.rst:4603 msgid "" "The other ``wait*`` functions always report children that have terminated, " "so this option is not available for them." @@ -6837,7 +6969,7 @@ msgstr "" "As outras funções ``wait*`` sempre reportam filhos que terminaram, então " "esta opção não está disponível para eles." -#: ../../library/os.rst:4548 +#: ../../library/os.rst:4613 msgid "" "This *options* flag for :func:`waitid` causes child processes that have been " "stopped by the delivery of a signal to be reported." @@ -6845,35 +6977,37 @@ msgstr "" "Este sinalizador *options* para :func:`waitid` faz com que os processos " "filhos que foram parados pela entrega de um sinal sejam reportados." -#: ../../library/os.rst:4551 ../../library/os.rst:4583 +#: ../../library/os.rst:4616 ../../library/os.rst:4648 msgid "This option is not available for the other ``wait*`` functions." msgstr "Esta opção não está disponível para as outras funções ``wait*``." -#: ../../library/os.rst:4560 +#: ../../library/os.rst:4625 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 "" -"Este sinalizador de *options* para :func:`waitpid`, :func:`wait3` e :func:" -"`wait4` faz com que os processos filho também sejam relatados se eles foram " -"interrompidos, mas seu estado atual não foi relatado desde que foram parou." +"Este sinalizador de *options* para :func:`waitpid`, :func:`wait3` " +"e :func:`wait4` faz com que os processos filho também sejam reportados se " +"eles foram interrompidos, mas seu estado atual não foi reportado desde que " +"foram parados." -#: ../../library/os.rst:4564 +#: ../../library/os.rst:4629 msgid "This option is not available for :func:`waitid`." msgstr "Esta opção não está disponível para :func:`waitid`." -#: ../../library/os.rst:4571 +#: ../../library/os.rst:4636 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 "" -"Este sinalizador *options* faz com que :func:`waitpid`, :func:`wait3`, :func:" -"`wait4` e :func:`waitid` retornem imediatamente se nenhum status de processo " -"filho estiver disponível imediatamente." +"Este sinalizador *options* faz com " +"que :func:`waitpid`, :func:`wait3`, :func:`wait4` e :func:`waitid` retornem " +"imediatamente se nenhum status de processo filho estiver disponível " +"imediatamente." -#: ../../library/os.rst:4580 +#: ../../library/os.rst:4645 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 " @@ -6883,7 +7017,7 @@ msgstr "" "estado de espera, para que uma chamada :func:`!wait*` posterior possa ser " "usada para recuperar as informações de status do filho novamente." -#: ../../library/os.rst:4595 +#: ../../library/os.rst:4660 msgid "" "These are the possible values for :attr:`!si_code` in the result returned " "by :func:`waitid`." @@ -6891,19 +7025,19 @@ msgstr "" "Estes são os valores possíveis para :attr:`!si_code` no resultado retornado " "por :func:`waitid`." -#: ../../library/os.rst:4602 +#: ../../library/os.rst:4667 msgid "Added :data:`CLD_KILLED` and :data:`CLD_STOPPED` values." msgstr "Adicionados os valores :data:`CLD_KILLED` e :data:`CLD_STOPPED`." -#: ../../library/os.rst:4608 +#: ../../library/os.rst:4673 msgid "Convert a wait status to an exit code." msgstr "Converte um status de espera em um código de saída." -#: ../../library/os.rst:4610 +#: ../../library/os.rst:4675 msgid "On Unix:" msgstr "No Unix:" -#: ../../library/os.rst:4612 +#: ../../library/os.rst:4677 msgid "" "If the process exited normally (if ``WIFEXITED(status)`` is true), return " "the process exit status (return ``WEXITSTATUS(status)``): result greater " @@ -6913,7 +7047,7 @@ msgstr "" "retorna o status de saída do processo (retorna ``WEXITSTATUS(status)``): " "resultado maior ou igual a 0." -#: ../../library/os.rst:4615 +#: ../../library/os.rst:4680 msgid "" "If the process was terminated by a signal (if ``WIFSIGNALED(status)`` is " "true), return ``-signum`` where *signum* is the number of the signal that " @@ -6925,15 +7059,15 @@ msgstr "" "causou o encerramento do processo (retorna ``-WTERMSIG(status)``): resultado " "menor que 0." -#: ../../library/os.rst:4619 +#: ../../library/os.rst:4684 msgid "Otherwise, raise a :exc:`ValueError`." -msgstr "Do contrário, levanta uma :exc:`ValueError`." +msgstr "Do contrário, levanta uma exceção :exc:`ValueError`." -#: ../../library/os.rst:4621 +#: ../../library/os.rst:4686 msgid "On Windows, return *status* shifted right by 8 bits." msgstr "No Windows, retorna *status* deslocado para a direita em 8 bits." -#: ../../library/os.rst:4623 +#: ../../library/os.rst:4688 msgid "" "On Unix, if the process is being traced or if :func:`waitpid` was called " "with :data:`WUNTRACED` option, the caller must first check if " @@ -6945,52 +7079,52 @@ msgstr "" "``WIFSTOPPED(status)`` é verdadeiro. Esta função não deve ser chamada se " "``WIFSTOPPED(status)`` for verdadeiro." -#: ../../library/os.rst:4630 +#: ../../library/os.rst:4695 msgid "" -":func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:" -"`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG` functions." +":func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG` " +"functions." msgstr "" -"As funções :func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :" -"func:`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG`." +"As " +"funções :func:`WIFEXITED`, :func:`WEXITSTATUS`, :func:`WIFSIGNALED`, :func:`WTERMSIG`, :func:`WIFSTOPPED`, :func:`WSTOPSIG`." -#: ../../library/os.rst:4638 +#: ../../library/os.rst:4703 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." +"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 "" "As funções a seguir recebem um código de status do processo conforme " "retornado por :func:`system`, :func:`wait` ou :func:`waitpid` como " -"parâmetro. Eles podem ser usados ​​para determinar a disposição de um processo." +"parâmetro. Eles podem ser usados para determinar a disposição de um processo." -#: ../../library/os.rst:4644 +#: ../../library/os.rst:4709 msgid "" "Return ``True`` if a core dump was generated for the process, otherwise " "return ``False``." msgstr "" -"Retorna ``True`` se um despejo de núcleo *(core dump)* foi gerado para o " +"Retorna ``True`` se um despejo de memória *(core dump)* foi gerado para o " "processo; caso contrário, retorna ``False``." -#: ../../library/os.rst:4647 ../../library/os.rst:4713 +#: ../../library/os.rst:4712 ../../library/os.rst:4778 msgid "This function should be employed only if :func:`WIFSIGNALED` is true." msgstr "" "Esta função deve ser empregada apenas se :func:`WIFSIGNALED` for verdadeira." -#: ../../library/os.rst:4654 +#: ../../library/os.rst:4719 msgid "" -"Return ``True`` if a stopped child has been resumed by delivery of :data:" -"`~signal.SIGCONT` (if the process has been continued from a job control " -"stop), otherwise return ``False``." +"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 "" -"Retorna ``True`` se um filho interrompido foi retomado pela entrega de :data:" -"`~signal.SIGCONT` (se o processo foi continuado de uma parada de controle de " -"trabalho); caso contrário, retorna ``False``." +"Retorna ``True`` se um filho interrompido foi retomado pela entrega " +"de :const:`~signal.SIGCONT` (se o processo foi continuado de uma parada de " +"controle de trabalho); caso contrário, retorna ``False``." -#: ../../library/os.rst:4658 +#: ../../library/os.rst:4723 msgid "See :data:`WCONTINUED` option." msgstr "Veja a opção :data:`WCONTINUED`." -#: ../../library/os.rst:4665 +#: ../../library/os.rst:4730 msgid "" "Return ``True`` if the process was stopped by delivery of a signal, " "otherwise return ``False``." @@ -6998,7 +7132,7 @@ msgstr "" "Retorna ``True`` se o processo foi interrompido pela entrega de um sinal; " "caso contrário, retorna ``False``." -#: ../../library/os.rst:4668 +#: ../../library/os.rst:4733 msgid "" ":func:`WIFSTOPPED` only returns ``True`` if the :func:`waitpid` call was " "done using :data:`WUNTRACED` option or when the process is being traced " @@ -7008,7 +7142,7 @@ msgstr "" "feita usando a opção :data:`WUNTRACED` ou quando o processo está sendo " "rastreado (veja :manpage:`ptrace(2)`)." -#: ../../library/os.rst:4676 +#: ../../library/os.rst:4741 msgid "" "Return ``True`` if the process was terminated by a signal, otherwise return " "``False``." @@ -7016,7 +7150,7 @@ msgstr "" "Retorna ``True`` se o processo foi encerrado por um sinal; caso contrário, " "retorna ``False``." -#: ../../library/os.rst:4684 +#: ../../library/os.rst:4749 msgid "" "Return ``True`` if the process exited terminated normally, that is, by " "calling ``exit()`` or ``_exit()``, or by returning from ``main()``; " @@ -7026,33 +7160,33 @@ msgstr "" "``exit()`` ou ``_exit()``, ou retornando de ``main()``; caso contrário, " "retorna ``False``." -#: ../../library/os.rst:4693 +#: ../../library/os.rst:4758 msgid "Return the process exit status." msgstr "Retorna o status de saída do processo." -#: ../../library/os.rst:4695 +#: ../../library/os.rst:4760 msgid "This function should be employed only if :func:`WIFEXITED` is true." msgstr "" "Esta função deve ser empregada apenas se :func:`WIFEXITED` for verdadeira." -#: ../../library/os.rst:4702 +#: ../../library/os.rst:4767 msgid "Return the signal which caused the process to stop." msgstr "Retorna o sinal que causou a interrupção do processo." -#: ../../library/os.rst:4704 +#: ../../library/os.rst:4769 msgid "This function should be employed only if :func:`WIFSTOPPED` is true." msgstr "" "Esta função deve ser empregada apenas se :func:`WIFSTOPPED` for verdadeira." -#: ../../library/os.rst:4711 +#: ../../library/os.rst:4776 msgid "Return the number of the signal that caused the process to terminate." msgstr "Retorna o número do sinal que causou o encerramento do processo." -#: ../../library/os.rst:4719 +#: ../../library/os.rst:4784 msgid "Interface to the scheduler" msgstr "Interface do agendador" -#: ../../library/os.rst:4721 +#: ../../library/os.rst:4786 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 " @@ -7062,7 +7196,7 @@ msgstr "" "sistema operacional. Eles estão disponíveis apenas em algumas plataformas " "Unix. Para informações mais detalhadas, consulte suas páginas man do Unix." -#: ../../library/os.rst:4727 +#: ../../library/os.rst:4792 msgid "" "The following scheduling policies are exposed if they are supported by the " "operating system." @@ -7070,11 +7204,11 @@ msgstr "" "As políticas de agendamento a seguir serão expostas se houver suporte pelo " "sistema operacional." -#: ../../library/os.rst:4732 +#: ../../library/os.rst:4797 msgid "The default scheduling policy." msgstr "A política de agendamento padrão." -#: ../../library/os.rst:4736 +#: ../../library/os.rst:4801 msgid "" "Scheduling policy for CPU-intensive processes that tries to preserve " "interactivity on the rest of the computer." @@ -7082,25 +7216,27 @@ msgstr "" "Política de agendamento para processos com uso intensivo de CPU que tenta " "preservar a interatividade no resto do computador." -#: ../../library/os.rst:4741 +#: ../../library/os.rst:4806 msgid "Scheduling policy for extremely low priority background tasks." msgstr "" "Política de agendamento para tarefas em segundo plano de prioridade " "extremamente baixa." -#: ../../library/os.rst:4745 +#: ../../library/os.rst:4810 msgid "Scheduling policy for sporadic server programs." msgstr "Política de agendamento para programas de servidor esporádicos." -#: ../../library/os.rst:4749 +#: ../../library/os.rst:4814 msgid "A First In First Out scheduling policy." -msgstr "Uma política de agendamento Primeiro a Entrar, Primeiro a Sair (FIFO)." +msgstr "" +"Uma política de agendamento Primeiro a Entrar, Primeiro a Sair (First In " +"First Out - FIFO)." -#: ../../library/os.rst:4753 +#: ../../library/os.rst:4818 msgid "A round-robin scheduling policy." msgstr "Uma política de agendamento round-robin." -#: ../../library/os.rst:4757 +#: ../../library/os.rst:4822 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 " @@ -7111,25 +7247,25 @@ msgstr "" "política de agendamento e a prioridade de seu filho são redefinidas para o " "padrão." -#: ../../library/os.rst:4764 +#: ../../library/os.rst:4829 msgid "" -"This class represents tunable scheduling parameters used in :func:" -"`sched_setparam`, :func:`sched_setscheduler`, and :func:`sched_getparam`. It " -"is immutable." +"This class represents tunable scheduling parameters used " +"in :func:`sched_setparam`, :func:`sched_setscheduler`, " +"and :func:`sched_getparam`. It is immutable." msgstr "" -"Esta classe representa parâmetros de agendamento ajustáveis ​​usados ​​em :func:" -"`sched_setparam`, :func:`sched_setscheduler` e :func:`sched_getparam`. É " -"imutável." +"Esta classe representa parâmetros de agendamento ajustáveis usados " +"em :func:`sched_setparam`, :func:`sched_setscheduler` " +"e :func:`sched_getparam`. É imutável." -#: ../../library/os.rst:4768 +#: ../../library/os.rst:4833 msgid "At the moment, there is only one possible parameter:" msgstr "Neste momento, há somente um único parâmetro possível:" -#: ../../library/os.rst:4772 +#: ../../library/os.rst:4837 msgid "The scheduling priority for a scheduling policy." msgstr "A prioridade de agendamento para uma política de agendamento." -#: ../../library/os.rst:4777 +#: ../../library/os.rst:4842 msgid "" "Get the minimum priority value for *policy*. *policy* is one of the " "scheduling policy constants above." @@ -7137,7 +7273,7 @@ msgstr "" "Obtém o valor mínimo de prioridade para *policy*. *policy* é uma das " "constantes de política de agendamento acima." -#: ../../library/os.rst:4783 +#: ../../library/os.rst:4848 msgid "" "Get the maximum priority value for *policy*. *policy* is one of the " "scheduling policy constants above." @@ -7145,7 +7281,7 @@ msgstr "" "Obtém o valor máximo de prioridade para *policy*. *policy* é uma das " "constantes de política de agendamento acima." -#: ../../library/os.rst:4789 +#: ../../library/os.rst:4854 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 " @@ -7155,7 +7291,7 @@ msgstr "" "0 significa o processo de chamada. *policy* é uma das constantes de política " "de agendamento acima. *param* é uma instância de :class:`sched_param`." -#: ../../library/os.rst:4796 +#: ../../library/os.rst:4861 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 " @@ -7165,25 +7301,25 @@ msgstr "" "0 significa o processo de chamada. O resultado é uma das constantes de " "política de agendamento acima." -#: ../../library/os.rst:4803 +#: ../../library/os.rst:4868 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 "" "Define os parâmetros de agendamento para o processo com PID *pid*. Um *pid* " -"de 0 significa o processo de chamada. *param* é uma instância de :class:" -"`sched_param`." +"de 0 significa o processo de chamada. *param* é uma instância " +"de :class:`sched_param`." -#: ../../library/os.rst:4809 +#: ../../library/os.rst:4874 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 "" -"Retorna os parâmetros de agendamento como uma instância de :class:" -"`sched_param` para o processo com PID *pid*. Um *pid* de 0 significa o " -"processo de chamada." +"Retorna os parâmetros de agendamento como uma instância " +"de :class:`sched_param` para o processo com PID *pid*. Um *pid* de 0 " +"significa o processo de chamada." -#: ../../library/os.rst:4815 +#: ../../library/os.rst:4880 msgid "" "Return the round-robin quantum in seconds for the process with PID *pid*. A " "*pid* of 0 means the calling process." @@ -7191,11 +7327,11 @@ msgstr "" "Retorna o quantum round-robin em segundos para o processo com PID *pid*. Um " "*pid* de 0 significa o processo de chamada." -#: ../../library/os.rst:4821 +#: ../../library/os.rst:4886 msgid "Voluntarily relinquish the CPU." msgstr "Libera a CPU voluntariamente." -#: ../../library/os.rst:4826 +#: ../../library/os.rst:4891 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 " @@ -7205,19 +7341,24 @@ msgstr "" "conjunto de CPUs. *mask* é um iterável de inteiros que representam o " "conjunto de CPUs às quais o processo deve ser restrito." -#: ../../library/os.rst:4833 +#: ../../library/os.rst:4898 +msgid "Return the set of CPUs the process with PID *pid* is restricted to." +msgstr "" +"Retorna o conjunto de CPUs ao qual o processo com PID *pid* está restrito." + +#: ../../library/os.rst:4900 msgid "" -"Return the set of CPUs the process with PID *pid* (or the current process if " -"zero) is restricted to." +"If *pid* is zero, return the set of CPUs the calling thread of the current " +"process is restricted to." msgstr "" -"Retorna o conjunto de CPUs ao qual o processo com PID *pid* (ou o processo " -"atual se zero) está restrito." +"Se *pid* for zero, retorna o conjunto de CPUs às quais a thread chamadora do " +"processo atual está restrita." -#: ../../library/os.rst:4840 +#: ../../library/os.rst:4907 msgid "Miscellaneous System Information" msgstr "Diversas informações de sistema" -#: ../../library/os.rst:4845 +#: ../../library/os.rst:4912 msgid "" "Return string-valued system configuration values. *name* specifies the " "configuration value to retrieve; it may be a string which is the name of a " @@ -7232,11 +7373,11 @@ msgstr "" "é o nome de um valor de sistema definido; esses nomes são especificados em " "vários padrões (POSIX, Unix 95, Unix 98 e outros). Algumas plataformas " "também definem nomes adicionais. Os nomes conhecidos pelo sistema " -"operacional host são fornecidos como as chaves do dicionário " -"``confstr_names``. Para variáveis ​​de configuração não incluídas nesse " -"mapeamento, passar um número inteiro para *name* também é aceito." +"operacional são fornecidos como as chaves do dicionário ``confstr_names``. " +"Para variáveis de configuração não incluídas nesse mapeamento, passar um " +"número inteiro para *name* também é aceito." -#: ../../library/os.rst:4853 +#: ../../library/os.rst:4920 msgid "" "If the configuration value specified by *name* isn't defined, ``None`` is " "returned." @@ -7244,19 +7385,19 @@ msgstr "" "Se o valor de configuração especificado por *name* não for definido, retorna " "``None``." -#: ../../library/os.rst:4856 +#: ../../library/os.rst:4923 msgid "" "If *name* is a string and is not known, :exc:`ValueError` is raised. If a " "specific value for *name* is not supported by the host system, even if it is " -"included in ``confstr_names``, an :exc:`OSError` is raised with :const:" -"`errno.EINVAL` for the error number." +"included in ``confstr_names``, an :exc:`OSError` is raised " +"with :const:`errno.EINVAL` for the error number." msgstr "" "Se *name* for uma string e não for conhecida, :exc:`ValueError` é levantada. " -"Se um valor específico para *name* não for compatível com o sistema de host, " -"mesmo que seja incluído em ``confstr_names``, uma :exc:`OSError` é levantada " -"com :const:`errno.EINVAL` como número do erro." +"Se um valor específico para *name* não for compatível com o sistema " +"operacional do computador, mesmo que seja incluído em ``confstr_names``, " +"uma :exc:`OSError` é levantada com :const:`errno.EINVAL` como número do erro." -#: ../../library/os.rst:4866 +#: ../../library/os.rst:4933 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 " @@ -7264,26 +7405,28 @@ msgid "" msgstr "" "Nomes de mapeamento de dicionário aceitos por :func:`confstr` para os " "valores inteiros definidos para esses nomes pelo sistema operacional do " -"host. Isso pode ser usado para determinar o conjunto de nomes conhecidos " -"pelo sistema." +"computador. Isso pode ser usado para determinar o conjunto de nomes " +"conhecidos pelo sistema." -#: ../../library/os.rst:4875 +#: ../../library/os.rst:4942 msgid "" -"Return the number of CPUs in the system. Returns ``None`` if undetermined." +"Return the number of logical CPUs in the system. Returns ``None`` if " +"undetermined." msgstr "" -"Retorna o número de CPUs do sistema. Retorna ``None`` se não determinado." +"Retorna o número de CPUs lógicas do sistema. Retorna ``None`` se não " +"determinado." -#: ../../library/os.rst:4877 +#: ../../library/os.rst:4945 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 ``len(os." -"sched_getaffinity(0))``" +"This number is not equivalent to the number of logical CPUs the current " +"process can use. ``len(os.sched_getaffinity(0))`` gets the number of logical " +"CPUs the calling thread of the current process is restricted to" msgstr "" -"Este número não é equivalente ao número de CPUs que o processo atual pode " -"usar. O número de CPUs utilizáveis ​​pode ser obtido com ``len(os." -"sched_getaffinity(0))``" +"Este número não é equivalente ao número de CPUs lógicas que o processo atual " +"pode usar. ``len(os.sched_getaffinity(0))`` obtém o número de CPUs lógicas " +"às quais a thread chamadora do processo atual está restrita." -#: ../../library/os.rst:4887 +#: ../../library/os.rst:4954 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 " @@ -7293,7 +7436,7 @@ msgstr "" "últimos 1, 5 e 15 minutos ou levanta :exc:`OSError` se a média de carga não " "foi obtida." -#: ../../library/os.rst:4896 +#: ../../library/os.rst:4963 msgid "" "Return integer-valued system configuration values. If the configuration " "value specified by *name* isn't defined, ``-1`` is returned. The comments " @@ -7307,72 +7450,73 @@ msgstr "" "aplicam aqui também; o dicionário que fornece informações sobre os nomes " "conhecidos é fornecido por ``sysconf_names``." -#: ../../library/os.rst:4906 +#: ../../library/os.rst:4973 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 "" "Nomes de mapeamento de dicionário aceitos por :func:`sysconf` para os " -"valores inteiros definidos para esses nomes pelo sistema operacional do " -"host. Isso pode ser usado para determinar o conjunto de nomes conhecidos " -"pelo sistema." +"valores inteiros definidos para esses nomes pelo sistema operacional. Isso " +"pode ser usado para determinar o conjunto de nomes conhecidos pelo sistema." -#: ../../library/os.rst:4912 +#: ../../library/os.rst:4979 msgid "Add ``'SC_MINSIGSTKSZ'`` name." msgstr "Adiciona o nome ``'SC_MINSIGSTKSZ'``." -#: ../../library/os.rst:4915 +#: ../../library/os.rst:4982 msgid "" "The following data values are used to support path manipulation operations. " "These are defined for all platforms." msgstr "" -"Os dados a seguir são usados para suportar operações de manipulação de path. " -"Estão definidos e disponíveis para todas as plataformas." +"Os dados a seguir são usados para operações de manipulação de caminhos de " +"arquivos e diretórios. Estão definidos e disponíveis para todas as " +"plataformas." -#: ../../library/os.rst:4918 +#: ../../library/os.rst:4985 msgid "" "Higher-level operations on pathnames are defined in the :mod:`os.path` " "module." msgstr "" -"Operações de nível mais alto em nomes de caminho são definidos no módulo :" -"mod:`os.path`." +"Operações de nível mais alto em nomes de caminho são definidos no " +"módulo :mod:`os.path`." -#: ../../library/os.rst:4924 +#: ../../library/os.rst:4991 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`." +"directory. This is ``'.'`` for Windows and POSIX. Also available " +"via :mod:`os.path`." msgstr "" "A string constante usada pelo sistema operacional para se referir ao " -"diretório atual. Isso é ``'.'`` para Windows e POSIX. Também disponível via :" -"mod:`os.path`." +"diretório atual. Isso é ``'.'`` para Windows e POSIX. Também disponível " +"via :mod:`os.path`." -#: ../../library/os.rst:4932 +#: ../../library/os.rst:4999 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`." +"directory. This is ``'..'`` for Windows and POSIX. Also available " +"via :mod:`os.path`." msgstr "" "A string constante usada pelo sistema operacional para se referir ao " -"diretório pai. Isso é ``'..'`` para Windows e POSIX. Também disponível via :" -"mod:`os.path`." +"diretório pai. Isso é ``'..'`` para Windows e POSIX. Também disponível " +"via :mod:`os.path`." -#: ../../library/os.rst:4941 +#: ../../library/os.rst:5008 msgid "" "The character used by the operating system to separate pathname components. " "This is ``'/'`` for POSIX and ``'\\\\'`` for Windows. Note that knowing " -"this is not sufficient to be able to parse or concatenate pathnames --- use :" -"func:`os.path.split` and :func:`os.path.join` --- but it is occasionally " -"useful. Also available via :mod:`os.path`." +"this is not sufficient to be able to parse or concatenate pathnames --- " +"use :func:`os.path.split` and :func:`os.path.join` --- but it is " +"occasionally useful. Also available via :mod:`os.path`." msgstr "" "O caractere usado pelo sistema operacional para separar os componentes do " "nome do caminho. Este é ``'/'`` para POSIX e ``'\\\\'`` para Windows. " "Observe que saber disso não é suficiente para ser capaz de analisar ou " -"concatenar nomes de caminho -- use :func:`os.path.split` e :func:`os.path." -"join` -- mas ocasionalmente é útil. Também disponível via :mod:`os.path`." +"concatenar nomes de caminho -- use :func:`os.path.split` " +"e :func:`os.path.join` -- mas ocasionalmente é útil. Também disponível " +"via :mod:`os.path`." -#: ../../library/os.rst:4951 +#: ../../library/os.rst:5018 msgid "" "An alternative character used by the operating system to separate pathname " "components, or ``None`` if only one separator character exists. This is set " @@ -7384,7 +7528,7 @@ msgstr "" "existir. Isso é definido como ``'/'`` em sistemas Windows onde ``sep`` é uma " "contrabarra. Também disponível via :mod:`os.path`." -#: ../../library/os.rst:4960 +#: ../../library/os.rst:5027 msgid "" "The character which separates the base filename from the extension; for " "example, the ``'.'`` in :file:`os.py`. Also available via :mod:`os.path`." @@ -7392,7 +7536,7 @@ msgstr "" "O caractere que separa o nome do arquivo base da extensão; por exemplo, o " "``'.'`` em :file:`os.py`. Também disponível via :mod:`os.path`." -#: ../../library/os.rst:4968 +#: ../../library/os.rst:5035 msgid "" "The character conventionally used by the operating system to separate search " "path components (as in :envvar:`PATH`), such as ``':'`` for POSIX or ``';'`` " @@ -7402,23 +7546,23 @@ msgstr "" "componentes do caminho de pesquisa (como em :envvar:`PATH`), como ``':'`` " "para POSIX ou ``';'`` para Windows. Também disponível via :mod:`os.path`." -#: ../../library/os.rst:4975 +#: ../../library/os.rst:5042 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`." +"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 "" -"O caminho de pesquisa padrão usado por :func:`exec\\*p\\* ` e :func:" -"`spawn\\*p\\* ` se o ambiente não tiver uma chave ``'PATH'``. Também " -"disponível via :mod:`os.path`." +"O caminho de pesquisa padrão usado por :func:`exec\\*p\\* ` " +"e :func:`spawn\\*p\\* ` se o ambiente não tiver uma chave " +"``'PATH'``. Também disponível via :mod:`os.path`." -#: ../../library/os.rst:4982 +#: ../../library/os.rst:5049 msgid "" "The string used to separate (or, rather, terminate) lines on the current " "platform. This may be a single character, such as ``'\\n'`` for POSIX, or " -"multiple characters, for example, ``'\\r\\n'`` for Windows. Do not use *os." -"linesep* as a line terminator when writing files opened in text mode (the " -"default); use a single ``'\\n'`` instead, on all platforms." +"multiple characters, for example, ``'\\r\\n'`` for Windows. Do not use " +"*os.linesep* as a line terminator when writing files opened in text mode " +"(the default); use a single ``'\\n'`` instead, on all platforms." msgstr "" "A string usada para separar (ou melhor, encerrar) linhas na plataforma " "atual. Pode ser um único caractere, como ``'\\n'`` para POSIX, ou múltiplos " @@ -7426,7 +7570,7 @@ msgstr "" "como terminador de linha ao escrever arquivos abertos em modo de texto (o " "padrão); use um único ``'\\n'`` ao invés, em todas as plataformas." -#: ../../library/os.rst:4991 +#: ../../library/os.rst:5058 msgid "" "The file path of the null device. For example: ``'/dev/null'`` for POSIX, " "``'nul'`` for Windows. Also available via :mod:`os.path`." @@ -7434,21 +7578,22 @@ msgstr "" "O caminho do arquivo do dispositivo nulo. Por exemplo: ``'/dev/null'`` para " "POSIX, ``'nul'`` para Windows. Também disponível via :mod:`os.path`." -#: ../../library/os.rst:5002 +#: ../../library/os.rst:5069 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." +"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 "" -"Sinalizadores para uso com as funções :func:`~sys.setdlopenflags` e :func:" -"`~sys.getdlopenflags`. Veja a página man do Unix :manpage:`dlopen(3)` para " -"saber o que significam os diferentes sinalizadores." +"Sinalizadores para uso com as funções :func:`~sys.setdlopenflags` " +"e :func:`~sys.getdlopenflags`. Veja a página man do " +"Unix :manpage:`dlopen(3)` para saber o que significam os diferentes " +"sinalizadores." -#: ../../library/os.rst:5010 +#: ../../library/os.rst:5077 msgid "Random numbers" msgstr "Números aleatórios" -#: ../../library/os.rst:5015 +#: ../../library/os.rst:5082 msgid "" "Get up to *size* random bytes. The function can return less bytes than " "requested." @@ -7456,15 +7601,15 @@ msgstr "" "Obtém até *size* bytes aleatórios. Esta função pode retornar menos bytes que " "a quantia requisitada." -#: ../../library/os.rst:5018 +#: ../../library/os.rst:5085 msgid "" "These bytes can be used to seed user-space random number generators or for " "cryptographic purposes." msgstr "" -"Esses bytes podem ser usados ​​para propagar geradores de número aleatório no " +"Esses bytes podem ser usados para propagar geradores de número aleatório no " "espaço do usuário ou para fins criptográficos." -#: ../../library/os.rst:5021 +#: ../../library/os.rst:5088 msgid "" "``getrandom()`` relies on entropy gathered from device drivers and other " "sources of environmental noise. Unnecessarily reading large quantities of " @@ -7476,17 +7621,17 @@ msgstr "" "quantidades de dados terá um impacto negativo sobre outros usuários dos " "dispositivos ``/dev/random`` e ``/dev/urandom``." -#: ../../library/os.rst:5026 +#: ../../library/os.rst:5093 msgid "" "The flags argument is a bit mask that can contain zero or more of the " -"following values ORed together: :py:data:`os.GRND_RANDOM` and :py:data:" -"`GRND_NONBLOCK`." +"following values ORed together: :py:const:`os.GRND_RANDOM` " +"and :py:data:`GRND_NONBLOCK`." msgstr "" -"O argumento sinalizadores é uma máscara de bits que pode conter zero ou mais " -"dos seguintes valores operados com OU juntos: :py:data:`os.GRND_RANDOM` e :" -"py:data:`GRND_NONBLOCK`." +"O argumento *flags* é uma máscara de bits que pode conter zero ou mais dos " +"seguintes valores operados com OU: :const:`os.GRND_RANDOM` " +"e :py:data:`GRND_NONBLOCK`." -#: ../../library/os.rst:5030 +#: ../../library/os.rst:5097 msgid "" "See also the `Linux getrandom() manual page `_." @@ -7494,18 +7639,18 @@ msgstr "" "Veja também a `página de manual do getrandom() `_ do Linux." -#: ../../library/os.rst:5033 +#: ../../library/os.rst:5100 msgid ":ref:`Availability `: Linux >= 3.17." msgstr ":ref:`Disponibilidade `: Linux >= 3.17." -#: ../../library/os.rst:5039 +#: ../../library/os.rst:5106 msgid "" "Return a bytestring of *size* random bytes suitable for cryptographic use." msgstr "" -"Retorna uma bytestring de *size* bytes aleatórios próprios para uso " -"criptográfico." +"Retorna uma sequência de bytes de tamanho *size* aleatórios próprios para " +"uso criptográfico." -#: ../../library/os.rst:5041 +#: ../../library/os.rst:5108 msgid "" "This function returns random bytes from an OS-specific randomness source. " "The returned data should be unpredictable enough for cryptographic " @@ -7516,7 +7661,7 @@ msgstr "" "imprevisíveis o suficiente para aplicações criptográficos, embora sua " "qualidade exata dependa da implementação do sistema operacional." -#: ../../library/os.rst:5045 +#: ../../library/os.rst:5112 msgid "" "On Linux, if the ``getrandom()`` syscall is available, it is used in " "blocking mode: block until the system urandom entropy pool is initialized " @@ -7533,7 +7678,7 @@ msgstr "" "sinalização :data:`GRND_NONBLOCK`) ou para pesquisar até que o pool de " "entropia urandom do sistema seja inicializado." -#: ../../library/os.rst:5052 +#: ../../library/os.rst:5119 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, " @@ -7543,11 +7688,11 @@ msgstr "" "``/dev/urandom``. Se o dispositivo ``/dev/urandom`` não estiver disponível " "ou não for legível, a exceção :exc:`NotImplementedError` é levantada." -#: ../../library/os.rst:5056 +#: ../../library/os.rst:5123 msgid "On Windows, it will use ``BCryptGenRandom()``." msgstr "No Windows, ainda vai usar ``BCryptGenRandom()``." -#: ../../library/os.rst:5059 +#: ../../library/os.rst:5126 msgid "" "The :mod:`secrets` module provides higher level functions. For an easy-to-" "use interface to the random number generator provided by your platform, " @@ -7557,15 +7702,18 @@ msgstr "" "interface fácil de usar para o gerador de números aleatórios fornecido por " "sua plataforma, consulte :class:`random.SystemRandom`." -#: ../../library/os.rst:5063 +#: ../../library/os.rst:5130 msgid "" -"On Linux, ``getrandom()`` is now used in blocking mode to increase the " -"security." +"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 "" -"No Linux, ``getrandom()`` é usado agora no modo de bloqueio para aumentar a " -"segurança." +"No Linux 3.17 e mais recente, a chamada de sistema ``getrandom()`` agora é " +"usada quando disponível. No OpenBSD 5.6 e mais recentes, a função C " +"``getentropy()`` agora é usada. Essas funções evitam o uso de um descritor " +"de arquivo interno." -#: ../../library/os.rst:5067 +#: ../../library/os.rst:5136 msgid "" "On Linux, if the ``getrandom()`` syscall blocks (the urandom entropy pool is " "not initialized yet), fall back on reading ``/dev/urandom``." @@ -7574,26 +7722,23 @@ msgstr "" "entropia urandom ainda não foi inicializado), recorre à leitura ``/dev/" "urandom``." -#: ../../library/os.rst:5071 +#: ../../library/os.rst:5140 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." +"On Linux, ``getrandom()`` is now used in blocking mode to increase the " +"security." msgstr "" -"No Linux 3.17 e mais recente, a chamada de sistema ``getrandom()`` agora é " -"usada quando disponível. No OpenBSD 5.6 e mais recentes, a função C " -"``getentropy()`` agora é usada. Essas funções evitam o uso de um descritor " -"de arquivo interno." +"No Linux, ``getrandom()`` é usado agora no modo de bloqueio para aumentar a " +"segurança." -#: ../../library/os.rst:5077 +#: ../../library/os.rst:5144 msgid "" "On Windows, ``BCryptGenRandom()`` is used instead of ``CryptGenRandom()`` " "which is deprecated." msgstr "" -"No Windows, ``BCryptGenRandom()`` é usadp e, vez de ``CryptGenRandom()``, o " +"No Windows, ``BCryptGenRandom()`` é usado em vez de ``CryptGenRandom()``, o " "qual foi descontinuado." -#: ../../library/os.rst:5083 +#: ../../library/os.rst:5150 msgid "" "By default, when reading from ``/dev/random``, :func:`getrandom` blocks if " "no random bytes are available, and when reading from ``/dev/urandom``, it " @@ -7601,163 +7746,163 @@ msgid "" msgstr "" "Por padrão, ao ler de ``/dev/random``, :func:`getrandom` bloqueia se nenhum " "byte aleatório estiver disponível, e ao ler de ``/dev/urandom``, ele " -"bloqueia se o pool de entropia não ainda foi inicializado." +"bloqueia se o pool de entropia ainda não foi inicializado." -#: ../../library/os.rst:5087 +#: ../../library/os.rst:5154 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 "" -"Se o sinalizador :py:data:`GRND_NONBLOCK` estiver definido, então :func:" -"`getrandom` não bloqueia nesses casos, mas, em vez disso, levanta :exc:" -"`BlockingIOError` imediatamente." +"Se o sinalizador :py:data:`GRND_NONBLOCK` estiver definido, " +"então :func:`getrandom` não bloqueia nesses casos, mas, em vez disso, " +"levanta :exc:`BlockingIOError` imediatamente." -#: ../../library/os.rst:5094 +#: ../../library/os.rst:5161 msgid "" "If this bit is set, then random bytes are drawn from the ``/dev/" "random`` pool instead of the ``/dev/urandom`` pool." msgstr "" -"Se este bit é definido bytes aleatórios são pegos a partir de ``/dev/" +"Se este bit é definido os bytes aleatórios são sorteados a partir de ``/dev/" "random`` ao invés de ``/dev/urandom``." #: ../../library/os.rst:363 ../../library/os.rst:518 ../../library/os.rst:682 msgid "user" -msgstr "" +msgstr "usuário" #: ../../library/os.rst:363 msgid "effective id" -msgstr "" +msgstr "id efetivo" #: ../../library/os.rst:372 ../../library/os.rst:438 ../../library/os.rst:447 #: ../../library/os.rst:456 ../../library/os.rst:470 ../../library/os.rst:617 -#: ../../library/os.rst:3916 ../../library/os.rst:3943 +#: ../../library/os.rst:3978 ../../library/os.rst:4005 msgid "process" -msgstr "" +msgstr "processo" #: ../../library/os.rst:372 ../../library/os.rst:438 msgid "group" -msgstr "" +msgstr "grupo" #: ../../library/os.rst:447 ../../library/os.rst:518 msgid "id" -msgstr "" +msgstr "id" #: ../../library/os.rst:456 msgid "id of parent" -msgstr "" +msgstr "id do pai" #: ../../library/os.rst:470 ../../library/os.rst:617 msgid "scheduling priority" -msgstr "" +msgstr "prioridade de agendamento" #: ../../library/os.rst:541 ../../library/os.rst:747 msgid "environment variables" -msgstr "" +msgstr "variáveis de ambiente" #: ../../library/os.rst:541 msgid "setting" -msgstr "" +msgstr "definição" #: ../../library/os.rst:682 msgid "id, setting" -msgstr "" +msgstr "definição de id" #: ../../library/os.rst:715 msgid "gethostname() (in module socket)" -msgstr "" +msgstr "gethostname() (no módulo socket)" #: ../../library/os.rst:715 msgid "gethostbyaddr() (in module socket)" -msgstr "" +msgstr "gethostbyaddr() (no módulo socket)" -#: ../../library/os.rst:747 ../../library/os.rst:2357 +#: ../../library/os.rst:747 ../../library/os.rst:2406 msgid "deleting" -msgstr "" +msgstr "exclusão" -#: ../../library/os.rst:1188 ../../library/os.rst:2710 +#: ../../library/os.rst:1228 ../../library/os.rst:2759 msgid "module" msgstr "módulo" -#: ../../library/os.rst:1188 +#: ../../library/os.rst:1228 msgid "pty" msgstr "pty" -#: ../../library/os.rst:1824 ../../library/os.rst:2155 -#: ../../library/os.rst:2357 ../../library/os.rst:3208 -#: ../../library/os.rst:3307 +#: ../../library/os.rst:1864 ../../library/os.rst:2205 +#: ../../library/os.rst:2406 ../../library/os.rst:3260 +#: ../../library/os.rst:3359 msgid "directory" -msgstr "" +msgstr "diretório" -#: ../../library/os.rst:1824 +#: ../../library/os.rst:1864 msgid "changing" -msgstr "" +msgstr "alteração" -#: ../../library/os.rst:2155 +#: ../../library/os.rst:2205 msgid "creating" -msgstr "" +msgstr "criação" -#: ../../library/os.rst:2155 +#: ../../library/os.rst:2205 msgid "UNC paths" -msgstr "" +msgstr "caminhos UNC" -#: ../../library/os.rst:2155 +#: ../../library/os.rst:2205 msgid "and os.makedirs()" -msgstr "" +msgstr "e os.makedirs()" -#: ../../library/os.rst:2710 +#: ../../library/os.rst:2759 msgid "stat" msgstr "stat" -#: ../../library/os.rst:3208 ../../library/os.rst:3307 +#: ../../library/os.rst:3260 ../../library/os.rst:3359 msgid "walking" -msgstr "" +msgstr "percorrer" -#: ../../library/os.rst:3208 ../../library/os.rst:3307 +#: ../../library/os.rst:3260 ../../library/os.rst:3359 msgid "traversal" -msgstr "" +msgstr "traversal" -#: ../../library/os.rst:3916 ../../library/os.rst:3943 +#: ../../library/os.rst:3978 ../../library/os.rst:4005 msgid "killing" -msgstr "" +msgstr "interrupção" -#: ../../library/os.rst:3916 ../../library/os.rst:3943 +#: ../../library/os.rst:3978 ../../library/os.rst:4005 msgid "signalling" -msgstr "" +msgstr "sinalização" -#: ../../library/os.rst:4921 ../../library/os.rst:4957 +#: ../../library/os.rst:4988 ../../library/os.rst:5024 msgid ". (dot)" -msgstr "" +msgstr ". (ponto)" -#: ../../library/os.rst:4921 ../../library/os.rst:4929 -#: ../../library/os.rst:4937 ../../library/os.rst:4948 -#: ../../library/os.rst:4957 +#: ../../library/os.rst:4988 ../../library/os.rst:4996 +#: ../../library/os.rst:5004 ../../library/os.rst:5015 +#: ../../library/os.rst:5024 msgid "in pathnames" -msgstr "" +msgstr "em nomes de caminhos" -#: ../../library/os.rst:4929 +#: ../../library/os.rst:4996 msgid ".." -msgstr "" +msgstr ".." -#: ../../library/os.rst:4937 ../../library/os.rst:4948 +#: ../../library/os.rst:5004 ../../library/os.rst:5015 msgid "/ (slash)" -msgstr "" +msgstr "/ (barra)" -#: ../../library/os.rst:4938 +#: ../../library/os.rst:5005 msgid "\\ (backslash)" -msgstr "" +msgstr "\\ (contrabarra)" -#: ../../library/os.rst:4938 +#: ../../library/os.rst:5005 msgid "in pathnames (Windows)" -msgstr "" +msgstr "em nomes de caminhos (Windows)" -#: ../../library/os.rst:4964 +#: ../../library/os.rst:5031 msgid ": (colon)" -msgstr "" +msgstr ": (dois pontos)" -#: ../../library/os.rst:4964 +#: ../../library/os.rst:5031 msgid "path separator (POSIX)" -msgstr "" +msgstr "separador de caminho (POSIX)" -#: ../../library/os.rst:4964 +#: ../../library/os.rst:5031 msgid "; (semicolon)" -msgstr "" +msgstr "; (ponto e vírgula)" diff --git a/library/ossaudiodev.po b/library/ossaudiodev.po index 8b44b1cd1..58b01dbbe 100644 --- a/library/ossaudiodev.po +++ b/library/ossaudiodev.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Danilo Lima , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: Danilo Lima , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -55,8 +51,8 @@ msgstr "" #: ../../library/ossaudiodev.rst:55 msgid "" -"`Open Sound System Programmer's Guide `_" +"`Open Sound System Programmer's Guide `_" msgstr "" #: ../../library/ossaudiodev.rst:55 @@ -81,10 +77,10 @@ msgstr "" #: ../../library/ossaudiodev.rst:68 msgid "" -"(If :mod:`ossaudiodev` receives an error from a system call such as :c:func:" -"`open`, :c:func:`write`, or :c:func:`ioctl`, it raises :exc:`OSError`. " -"Errors detected directly by :mod:`ossaudiodev` result in :exc:" -"`OSSAudioError`.)" +"(If :mod:`ossaudiodev` receives an error from a system call such " +"as :c:func:`open`, :c:func:`write`, or :c:func:`ioctl`, it " +"raises :exc:`OSError`. Errors detected directly by :mod:`ossaudiodev` result " +"in :exc:`OSSAudioError`.)" msgstr "" #: ../../library/ossaudiodev.rst:72 @@ -96,11 +92,11 @@ msgstr "" #: ../../library/ossaudiodev.rst:79 msgid "" "Open an audio device and return an OSS audio device object. This object " -"supports many file-like methods, such as :meth:`read`, :meth:`write`, and :" -"meth:`fileno` (although there are subtle differences between conventional " -"Unix read/write semantics and those of OSS audio devices). It also supports " -"a number of audio-specific methods; see below for the complete list of " -"methods." +"supports many file-like methods, such as :meth:`read`, :meth:`write`, " +"and :meth:`fileno` (although there are subtle differences between " +"conventional Unix read/write semantics and those of OSS audio devices). It " +"also supports a number of audio-specific methods; see below for the complete " +"list of methods." msgstr "" #: ../../library/ossaudiodev.rst:85 @@ -207,10 +203,10 @@ msgid "" "Write a :term:`bytes-like object` *data* to the audio device: waits until " "the audio device is able to accept data, writes as much data as it will " "accept, and repeats until *data* has been completely written. If the device " -"is in blocking mode (the default), this has the same effect as :meth:" -"`write`; :meth:`writeall` is only useful in non-blocking mode. Has no " -"return value, since the amount of data written is always equal to the amount " -"of data supplied." +"is in blocking mode (the default), this has the same effect " +"as :meth:`write`; :meth:`writeall` is only useful in non-blocking mode. Has " +"no return value, since the amount of data written is always equal to the " +"amount of data supplied." msgstr "" #: ../../library/ossaudiodev.rst:181 @@ -227,11 +223,12 @@ msgid "" "(this can be useful when consulting the OSS documentation). If the " "underlying :c:func:`ioctl` fails, they all raise :exc:`OSError`." msgstr "" -"Os seguintes métodos são mapeados para exatamente uma chamada de sistema :c:" -"func:`ioctl`. A correspondência é óbvia: por exemplo, :meth:`setfmt` " -"corresponde a ``SNDCTL_DSP_SETFMT`` ioctl e :meth:`sync` a " -"``SNDCTL_DSP_SYNC`` (isto pode ser útil ao consultar a documentação do OSS). " -"Se o :c:func:`ioctl` subjacente falhar, todos eles levantam :exc:`OSError`." +"Os seguintes métodos são mapeados para exatamente uma chamada de " +"sistema :c:func:`ioctl`. A correspondência é óbvia: por " +"exemplo, :meth:`setfmt` corresponde a ``SNDCTL_DSP_SETFMT`` ioctl " +"e :meth:`sync` a ``SNDCTL_DSP_SYNC`` (isto pode ser útil ao consultar a " +"documentação do OSS). Se o :c:func:`ioctl` subjacente falhar, todos eles " +"levantam :exc:`OSError`." #: ../../library/ossaudiodev.rst:195 msgid "" @@ -333,8 +330,8 @@ msgstr "" msgid "" "Consult the OSS documentation for a full list of audio formats, and note " "that most devices support only a subset of these formats. Some older " -"devices only support :const:`AFMT_U8`; the most common format used today is :" -"const:`AFMT_S16_LE`." +"devices only support :const:`AFMT_U8`; the most common format used today " +"is :const:`AFMT_S16_LE`." msgstr "" #: ../../library/ossaudiodev.rst:238 @@ -437,8 +434,8 @@ msgid "" "checks to see if each parameter was actually set to the requested value, and " "raises :exc:`OSSAudioError` if not. Returns a tuple (*format*, *nchannels*, " "*samplerate*) indicating the parameter values that were actually set by the " -"device driver (i.e., the same as the return values of :meth:`setfmt`, :meth:" -"`channels`, and :meth:`speed`)." +"device driver (i.e., the same as the return values " +"of :meth:`setfmt`, :meth:`channels`, and :meth:`speed`)." msgstr "" #: ../../library/ossaudiodev.rst:311 @@ -510,27 +507,29 @@ msgstr "Os métodos restantes são específicos para edição de áudio:" #: ../../library/ossaudiodev.rst:382 msgid "" "This method returns a bitmask specifying the available mixer controls " -"(\"Control\" being a specific mixable \"channel\", such as :const:" -"`SOUND_MIXER_PCM` or :const:`SOUND_MIXER_SYNTH`). This bitmask indicates a " -"subset of all available mixer controls---the :const:`SOUND_MIXER_\\*` " -"constants defined at module level. To determine if, for example, the current " -"mixer object supports a PCM mixer, use the following Python code::" +"(\"Control\" being a specific mixable \"channel\", such " +"as :const:`SOUND_MIXER_PCM` or :const:`SOUND_MIXER_SYNTH`). This bitmask " +"indicates a subset of all available mixer controls---" +"the :const:`SOUND_MIXER_\\*` constants defined at module level. To determine " +"if, for example, the current mixer object supports a PCM mixer, use the " +"following Python code::" msgstr "" #: ../../library/ossaudiodev.rst:394 msgid "" -"For most purposes, the :const:`SOUND_MIXER_VOLUME` (master volume) and :" -"const:`SOUND_MIXER_PCM` controls should suffice---but code that uses the " -"mixer should be flexible when it comes to choosing mixer controls. On the " -"Gravis Ultrasound, for example, :const:`SOUND_MIXER_VOLUME` does not exist." +"For most purposes, the :const:`SOUND_MIXER_VOLUME` (master volume) " +"and :const:`SOUND_MIXER_PCM` controls should suffice---but code that uses " +"the mixer should be flexible when it comes to choosing mixer controls. On " +"the Gravis Ultrasound, for example, :const:`SOUND_MIXER_VOLUME` does not " +"exist." msgstr "" #: ../../library/ossaudiodev.rst:402 msgid "" "Returns a bitmask indicating stereo mixer controls. If a bit is set, the " "corresponding control is stereo; if it is unset, the control is either " -"monophonic or not supported by the mixer (use in combination with :meth:" -"`controls` to determine which)." +"monophonic or not supported by the mixer (use in combination " +"with :meth:`controls` to determine which)." msgstr "" #: ../../library/ossaudiodev.rst:407 @@ -556,8 +555,8 @@ msgstr "" #: ../../library/ossaudiodev.rst:424 msgid "" -"Raises :exc:`OSSAudioError` if an invalid control is specified, or :exc:" -"`OSError` if an unsupported control is specified." +"Raises :exc:`OSSAudioError` if an invalid control is specified, " +"or :exc:`OSError` if an unsupported control is specified." msgstr "" #: ../../library/ossaudiodev.rst:430 @@ -584,7 +583,7 @@ msgstr "" #: ../../library/ossaudiodev.rst:448 msgid "" "Call this function to specify a recording source. Returns a bitmask " -"indicating the new recording source (or sources) if successful; raises :exc:" -"`OSError` if an invalid source was specified. To set the current recording " -"source to the microphone input::" +"indicating the new recording source (or sources) if successful; " +"raises :exc:`OSError` if an invalid source was specified. To set the " +"current recording source to the microphone input::" msgstr "" diff --git a/library/othergui.po b/library/othergui.po deleted file mode 100644 index d3504700d..000000000 --- a/library/othergui.po +++ /dev/null @@ -1,111 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Raphael Mendonça, 2021 -# i17obot , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.10\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-03 13:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" -"teams/5390/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: ../../library/othergui.rst:4 -msgid "Other Graphical User Interface Packages" -msgstr "Outros Pacotes de Interface Gráficas de Usuário" - -#: ../../library/othergui.rst:6 -msgid "" -"Major cross-platform (Windows, macOS, Unix-like) GUI toolkits are available " -"for Python:" -msgstr "" - -#: ../../library/othergui.rst:17 -msgid "`PyGObject `_" -msgstr "" - -#: ../../library/othergui.rst:12 -msgid "" -"PyGObject provides introspection bindings for C libraries using `GObject " -"`_. One of these libraries is " -"the `GTK+ 3 `_ widget set. GTK+ comes with many more " -"widgets than Tkinter provides. An online `Python GTK+ 3 Tutorial `_ is available." -msgstr "" - -#: ../../library/othergui.rst:24 -msgid "`PyGTK `_" -msgstr "`PyGTK `_" - -#: ../../library/othergui.rst:20 -msgid "" -"PyGTK provides bindings for an older version of the library, GTK+ 2. It " -"provides an object oriented interface that is slightly higher level than the " -"C one. There are also bindings to `GNOME `_. An " -"online `tutorial `_ is " -"available." -msgstr "" - -#: ../../library/othergui.rst:31 -msgid "`PyQt `_" -msgstr "`PyQt `_" - -#: ../../library/othergui.rst:27 -msgid "" -"PyQt is a :program:`sip`\\ -wrapped binding to the Qt toolkit. Qt is an " -"extensive C++ GUI application development framework that is available for " -"Unix, Windows and macOS. :program:`sip` is a tool for generating bindings " -"for C++ libraries as Python classes, and is specifically designed for Python." -msgstr "" - -#: ../../library/othergui.rst:37 -msgid "`PySide2 `_" -msgstr "" - -#: ../../library/othergui.rst:34 -msgid "" -"Also known as the Qt for Python project, PySide2 is a newer binding to the " -"Qt toolkit. It is provided by The Qt Company and aims to provide a complete " -"port of PySide to Qt 5. Compared to PyQt, its licensing scheme is friendlier " -"to non-open source applications." -msgstr "" - -#: ../../library/othergui.rst:48 -msgid "`wxPython `_" -msgstr "" - -#: ../../library/othergui.rst:40 -msgid "" -"wxPython is a cross-platform GUI toolkit for Python that is built around the " -"popular `wxWidgets `_ (formerly wxWindows) C++ " -"toolkit. It provides a native look and feel for applications on Windows, " -"macOS, and Unix systems by using each platform's native widgets where ever " -"possible, (GTK+ on Unix-like systems). In addition to an extensive set of " -"widgets, wxPython provides classes for online documentation and context " -"sensitive help, printing, HTML viewing, low-level device context drawing, " -"drag and drop, system clipboard access, an XML-based resource format and " -"more, including an ever growing library of user-contributed modules." -msgstr "" - -#: ../../library/othergui.rst:51 -msgid "" -"PyGTK, PyQt, PySide2, and wxPython, all have a modern look and feel and more " -"widgets than Tkinter. In addition, there are many other GUI toolkits for " -"Python, both cross-platform, and platform-specific. See the `GUI Programming " -"`_ page in the Python Wiki for " -"a much more complete list, and also for links to documents where the " -"different GUI toolkits are compared." -msgstr "" diff --git a/library/parser.po b/library/parser.po deleted file mode 100644 index a8dbe5cc0..000000000 --- a/library/parser.po +++ /dev/null @@ -1,411 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Rafael Fontenelle , 2019 -# i17obot , 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.9\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-01-01 05:02+0000\n" -"PO-Revision-Date: 2017-02-16 23:21+0000\n" -"Last-Translator: i17obot , 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" -"teams/5390/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: ../../library/parser.rst:2 -msgid ":mod:`parser` --- Access Python parse trees" -msgstr ":mod:`parser` --- Acessa árvores de análise do Python" - -#: ../../library/parser.rst:21 -msgid "" -"The :mod:`parser` module provides an interface to Python's internal parser " -"and byte-code compiler. The primary purpose for this interface is to allow " -"Python code to edit the parse tree of a Python expression and create " -"executable code from this. This is better than trying to parse and modify " -"an arbitrary Python code fragment as a string because parsing is performed " -"in a manner identical to the code forming the application. It is also " -"faster." -msgstr "" -"O módulo :mod:`parser` fornece uma interface para o analisador sintático " -"interno do Python e o compilador de código de bytes. O objetivo principal " -"dessa interface é permitir que o código Python edite a árvore de análise de " -"uma expressão Python e crie código executável a partir disso. Isso é melhor " -"do que tentar analisar e modificar um fragmento de código Python arbitrário " -"como uma string, porque a análise é realizada de maneira idêntica ao código " -"que forma o aplicativo. Também é mais rápido." - -#: ../../library/parser.rst:30 -msgid "" -"The parser module is deprecated and will be removed in future versions of " -"Python. For the majority of use cases you can leverage the Abstract Syntax " -"Tree (AST) generation and compilation stage, using the :mod:`ast` module." -msgstr "" - -#: ../../library/parser.rst:34 -msgid "" -"There are a few things to note about this module which are important to " -"making use of the data structures created. This is not a tutorial on " -"editing the parse trees for Python code, but some examples of using the :mod:" -"`parser` module are presented." -msgstr "" -"Há algumas coisas a serem observadas sobre este módulo que são importantes " -"para fazer uso das estruturas de dados criadas. Este não é um tutorial sobre " -"como editar as árvores de análise para o código Python, mas são apresentados " -"alguns exemplos de uso do módulo :mod:`parser`." - -#: ../../library/parser.rst:39 -msgid "" -"Most importantly, a good understanding of the Python grammar processed by " -"the internal parser is required. For full information on the language " -"syntax, refer to :ref:`reference-index`. The parser itself is created from " -"a grammar specification defined in the file :file:`Grammar/Grammar` in the " -"standard Python distribution. The parse trees stored in the ST objects " -"created by this module are the actual output from the internal parser when " -"created by the :func:`expr` or :func:`suite` functions, described below. " -"The ST objects created by :func:`sequence2st` faithfully simulate those " -"structures. Be aware that the values of the sequences which are considered " -"\"correct\" will vary from one version of Python to another as the formal " -"grammar for the language is revised. However, transporting code from one " -"Python version to another as source text will always allow correct parse " -"trees to be created in the target version, with the only restriction being " -"that migrating to an older version of the interpreter will not support more " -"recent language constructs. The parse trees are not typically compatible " -"from one version to another, though source code has usually been forward-" -"compatible within a major release series." -msgstr "" - -#: ../../library/parser.rst:57 -msgid "" -"Each element of the sequences returned by :func:`st2list` or :func:" -"`st2tuple` has a simple form. Sequences representing non-terminal elements " -"in the grammar always have a length greater than one. The first element is " -"an integer which identifies a production in the grammar. These integers are " -"given symbolic names in the C header file :file:`Include/graminit.h` and the " -"Python module :mod:`symbol`. Each additional element of the sequence " -"represents a component of the production as recognized in the input string: " -"these are always sequences which have the same form as the parent. An " -"important aspect of this structure which should be noted is that keywords " -"used to identify the parent node type, such as the keyword :keyword:`if` in " -"an :const:`if_stmt`, are included in the node tree without any special " -"treatment. For example, the :keyword:`!if` keyword is represented by the " -"tuple ``(1, 'if')``, where ``1`` is the numeric value associated with all :" -"const:`NAME` tokens, including variable and function names defined by the " -"user. In an alternate form returned when line number information is " -"requested, the same token might be represented as ``(1, 'if', 12)``, where " -"the ``12`` represents the line number at which the terminal symbol was found." -msgstr "" - -#: ../../library/parser.rst:74 -msgid "" -"Terminal elements are represented in much the same way, but without any " -"child elements and the addition of the source text which was identified. " -"The example of the :keyword:`if` keyword above is representative. The " -"various types of terminal symbols are defined in the C header file :file:" -"`Include/token.h` and the Python module :mod:`token`." -msgstr "" - -#: ../../library/parser.rst:80 -msgid "" -"The ST objects are not required to support the functionality of this module, " -"but are provided for three purposes: to allow an application to amortize the " -"cost of processing complex parse trees, to provide a parse tree " -"representation which conserves memory space when compared to the Python list " -"or tuple representation, and to ease the creation of additional modules in C " -"which manipulate parse trees. A simple \"wrapper\" class may be created in " -"Python to hide the use of ST objects." -msgstr "" - -#: ../../library/parser.rst:88 -msgid "" -"The :mod:`parser` module defines functions for a few distinct purposes. The " -"most important purposes are to create ST objects and to convert ST objects " -"to other representations such as parse trees and compiled code objects, but " -"there are also functions which serve to query the type of parse tree " -"represented by an ST object." -msgstr "" - -#: ../../library/parser.rst:98 -msgid "Module :mod:`symbol`" -msgstr "Módulo :mod:`symbol`" - -#: ../../library/parser.rst:98 -msgid "Useful constants representing internal nodes of the parse tree." -msgstr "" - -#: ../../library/parser.rst:101 -msgid "Module :mod:`token`" -msgstr "Módulo :mod:`token`" - -#: ../../library/parser.rst:101 -msgid "" -"Useful constants representing leaf nodes of the parse tree and functions for " -"testing node values." -msgstr "" - -#: ../../library/parser.rst:108 -msgid "Creating ST Objects" -msgstr "" - -#: ../../library/parser.rst:110 -msgid "" -"ST objects may be created from source code or from a parse tree. When " -"creating an ST object from source, different functions are used to create " -"the ``'eval'`` and ``'exec'`` forms." -msgstr "" - -#: ../../library/parser.rst:117 -msgid "" -"The :func:`expr` function parses the parameter *source* as if it were an " -"input to ``compile(source, 'file.py', 'eval')``. If the parse succeeds, an " -"ST object is created to hold the internal parse tree representation, " -"otherwise an appropriate exception is raised." -msgstr "" - -#: ../../library/parser.rst:125 -msgid "" -"The :func:`suite` function parses the parameter *source* as if it were an " -"input to ``compile(source, 'file.py', 'exec')``. If the parse succeeds, an " -"ST object is created to hold the internal parse tree representation, " -"otherwise an appropriate exception is raised." -msgstr "" - -#: ../../library/parser.rst:133 -msgid "" -"This function accepts a parse tree represented as a sequence and builds an " -"internal representation if possible. If it can validate that the tree " -"conforms to the Python grammar and all nodes are valid node types in the " -"host version of Python, an ST object is created from the internal " -"representation and returned to the called. If there is a problem creating " -"the internal representation, or if the tree cannot be validated, a :exc:" -"`ParserError` exception is raised. An ST object created this way should not " -"be assumed to compile correctly; normal exceptions raised by compilation may " -"still be initiated when the ST object is passed to :func:`compilest`. This " -"may indicate problems not related to syntax (such as a :exc:`MemoryError` " -"exception), but may also be due to constructs such as the result of parsing " -"``del f(0)``, which escapes the Python parser but is checked by the bytecode " -"compiler." -msgstr "" - -#: ../../library/parser.rst:146 -msgid "" -"Sequences representing terminal tokens may be represented as either two-" -"element lists of the form ``(1, 'name')`` or as three-element lists of the " -"form ``(1, 'name', 56)``. If the third element is present, it is assumed to " -"be a valid line number. The line number may be specified for any subset of " -"the terminal symbols in the input tree." -msgstr "" - -#: ../../library/parser.rst:155 -msgid "" -"This is the same function as :func:`sequence2st`. This entry point is " -"maintained for backward compatibility." -msgstr "" - -#: ../../library/parser.rst:162 -msgid "Converting ST Objects" -msgstr "Convertendo objetos ST" - -#: ../../library/parser.rst:164 -msgid "" -"ST objects, regardless of the input used to create them, may be converted to " -"parse trees represented as list- or tuple- trees, or may be compiled into " -"executable code objects. Parse trees may be extracted with or without line " -"numbering information." -msgstr "" - -#: ../../library/parser.rst:172 -msgid "" -"This function accepts an ST object from the caller in *st* and returns a " -"Python list representing the equivalent parse tree. The resulting list " -"representation can be used for inspection or the creation of a new parse " -"tree in list form. This function does not fail so long as memory is " -"available to build the list representation. If the parse tree will only be " -"used for inspection, :func:`st2tuple` should be used instead to reduce " -"memory consumption and fragmentation. When the list representation is " -"required, this function is significantly faster than retrieving a tuple " -"representation and converting that to nested lists." -msgstr "" - -#: ../../library/parser.rst:182 -msgid "" -"If *line_info* is true, line number information will be included for all " -"terminal tokens as a third element of the list representing the token. Note " -"that the line number provided specifies the line on which the token *ends*. " -"This information is omitted if the flag is false or omitted." -msgstr "" - -#: ../../library/parser.rst:190 -msgid "" -"This function accepts an ST object from the caller in *st* and returns a " -"Python tuple representing the equivalent parse tree. Other than returning a " -"tuple instead of a list, this function is identical to :func:`st2list`." -msgstr "" - -#: ../../library/parser.rst:194 -msgid "" -"If *line_info* is true, line number information will be included for all " -"terminal tokens as a third element of the list representing the token. This " -"information is omitted if the flag is false or omitted." -msgstr "" - -#: ../../library/parser.rst:205 -msgid "" -"The Python byte compiler can be invoked on an ST object to produce code " -"objects which can be used as part of a call to the built-in :func:`exec` or :" -"func:`eval` functions. This function provides the interface to the compiler, " -"passing the internal parse tree from *st* to the parser, using the source " -"file name specified by the *filename* parameter. The default value supplied " -"for *filename* indicates that the source was an ST object." -msgstr "" - -#: ../../library/parser.rst:212 -msgid "" -"Compiling an ST object may result in exceptions related to compilation; an " -"example would be a :exc:`SyntaxError` caused by the parse tree for ``del " -"f(0)``: this statement is considered legal within the formal grammar for " -"Python but is not a legal language construct. The :exc:`SyntaxError` raised " -"for this condition is actually generated by the Python byte-compiler " -"normally, which is why it can be raised at this point by the :mod:`parser` " -"module. Most causes of compilation failure can be diagnosed " -"programmatically by inspection of the parse tree." -msgstr "" - -#: ../../library/parser.rst:225 -msgid "Queries on ST Objects" -msgstr "" - -#: ../../library/parser.rst:227 -msgid "" -"Two functions are provided which allow an application to determine if an ST " -"was created as an expression or a suite. Neither of these functions can be " -"used to determine if an ST was created from source code via :func:`expr` or :" -"func:`suite` or from a parse tree via :func:`sequence2st`." -msgstr "" - -#: ../../library/parser.rst:237 -msgid "" -"When *st* represents an ``'eval'`` form, this function returns ``True``, " -"otherwise it returns ``False``. This is useful, since code objects normally " -"cannot be queried for this information using existing built-in functions. " -"Note that the code objects created by :func:`compilest` cannot be queried " -"like this either, and are identical to those created by the built-in :func:" -"`compile` function." -msgstr "" - -#: ../../library/parser.rst:246 -msgid "" -"This function mirrors :func:`isexpr` in that it reports whether an ST object " -"represents an ``'exec'`` form, commonly known as a \"suite.\" It is not " -"safe to assume that this function is equivalent to ``not isexpr(st)``, as " -"additional syntactic fragments may be supported in the future." -msgstr "" - -#: ../../library/parser.rst:255 -msgid "Exceptions and Error Handling" -msgstr "" - -#: ../../library/parser.rst:257 -msgid "" -"The parser module defines a single exception, but may also pass other built-" -"in exceptions from other portions of the Python runtime environment. See " -"each function for information about the exceptions it can raise." -msgstr "" - -#: ../../library/parser.rst:264 -msgid "" -"Exception raised when a failure occurs within the parser module. This is " -"generally produced for validation failures rather than the built-in :exc:" -"`SyntaxError` raised during normal parsing. The exception argument is either " -"a string describing the reason of the failure or a tuple containing a " -"sequence causing the failure from a parse tree passed to :func:`sequence2st` " -"and an explanatory string. Calls to :func:`sequence2st` need to be able to " -"handle either type of exception, while calls to other functions in the " -"module will only need to be aware of the simple string values." -msgstr "" - -#: ../../library/parser.rst:273 -msgid "" -"Note that the functions :func:`compilest`, :func:`expr`, and :func:`suite` " -"may raise exceptions which are normally raised by the parsing and " -"compilation process. These include the built in exceptions :exc:" -"`MemoryError`, :exc:`OverflowError`, :exc:`SyntaxError`, and :exc:" -"`SystemError`. In these cases, these exceptions carry all the meaning " -"normally associated with them. Refer to the descriptions of each function " -"for detailed information." -msgstr "" - -#: ../../library/parser.rst:284 -msgid "ST Objects" -msgstr "" - -#: ../../library/parser.rst:286 -msgid "" -"Ordered and equality comparisons are supported between ST objects. Pickling " -"of ST objects (using the :mod:`pickle` module) is also supported." -msgstr "" - -#: ../../library/parser.rst:292 -msgid "" -"The type of the objects returned by :func:`expr`, :func:`suite` and :func:" -"`sequence2st`." -msgstr "" - -#: ../../library/parser.rst:295 -msgid "ST objects have the following methods:" -msgstr "" - -#: ../../library/parser.rst:300 -msgid "Same as ``compilest(st, filename)``." -msgstr "" - -#: ../../library/parser.rst:305 -msgid "Same as ``isexpr(st)``." -msgstr "" - -#: ../../library/parser.rst:310 -msgid "Same as ``issuite(st)``." -msgstr "O mesmo que ``issuite(st)``." - -#: ../../library/parser.rst:315 -msgid "Same as ``st2list(st, line_info, col_info)``." -msgstr "" - -#: ../../library/parser.rst:320 -msgid "Same as ``st2tuple(st, line_info, col_info)``." -msgstr "" - -#: ../../library/parser.rst:324 -msgid "Example: Emulation of :func:`compile`" -msgstr "" - -#: ../../library/parser.rst:326 -msgid "" -"While many useful operations may take place between parsing and bytecode " -"generation, the simplest operation is to do nothing. For this purpose, " -"using the :mod:`parser` module to produce an intermediate data structure is " -"equivalent to the code ::" -msgstr "" - -#: ../../library/parser.rst:336 -msgid "" -"The equivalent operation using the :mod:`parser` module is somewhat longer, " -"and allows the intermediate internal parse tree to be retained as an ST " -"object::" -msgstr "" - -#: ../../library/parser.rst:346 -msgid "" -"An application which needs both ST and code objects can package this code " -"into readily available functions::" -msgstr "" diff --git a/library/pathlib.po b/library/pathlib.po index 99334035e..649062d2d 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Marco Rougeth , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -59,8 +56,8 @@ msgid "" msgstr "" "Se você nunca usou este módulo antes ou apenas não tem certeza de qual " "classe é a certa para sua tarefa, provavelmente :class:`Path` é o que você " -"precisa. Ele instancia um :ref:`caminho concreto ` para a " -"plataforma em que o código está sendo executado." +"precisa. Esta classe instancia um :ref:`caminho concreto ` " +"para a plataforma em que o código está sendo executado." #: ../../library/pathlib.rst:30 msgid "Pure paths are useful in some special cases; for example:" @@ -73,8 +70,8 @@ msgid "" "can instantiate :class:`PureWindowsPath`." msgstr "" "Se você deseja manipular os caminhos do Windows em uma máquina Unix (ou vice-" -"versa). Você não pode instanciar uma :class:`WindowsPath` quando executado " -"no Unix, mas você pode instanciar :class:`PureWindowsPath`." +"versa). Você não pode instanciar :class:`WindowsPath` quando está no Unix, " +"mas você pode instanciar :class:`PureWindowsPath`." #: ../../library/pathlib.rst:35 msgid "" @@ -95,8 +92,8 @@ msgstr "" #: ../../library/pathlib.rst:43 msgid "" -"For low-level path manipulation on strings, you can also use the :mod:`os." -"path` module." +"For low-level path manipulation on strings, you can also use " +"the :mod:`os.path` module." msgstr "" "Para manipulação de caminho de baixo nível em strings, você também pode usar " "o módulo :mod:`os.path`." @@ -107,7 +104,7 @@ msgstr "Uso básico" #: ../../library/pathlib.rst:50 msgid "Importing the main class::" -msgstr "Importação da classe principal::" +msgstr "Importando a classe principal::" #: ../../library/pathlib.rst:54 msgid "Listing subdirectories::" @@ -148,9 +145,9 @@ msgid "" "A generic class that represents the system's path flavour (instantiating it " "creates either a :class:`PurePosixPath` or a :class:`PureWindowsPath`)::" msgstr "" -"Uma classe genérica que representa o tipo de caminho do sistema " -"(instanciando-a cria uma :class:`PurePosixPath` ou uma :class:" -"`PureWindowsPath`)::" +"Uma classe genérica que representa o tipo de caminho do sistema (ao " +"instanciá-la, cria-se uma :class:`PurePosixPath` ou " +"uma :class:`PureWindowsPath`)::" #: ../../library/pathlib.rst:108 msgid "" @@ -159,8 +156,9 @@ msgid "" "returns a string, or another path object::" msgstr "" "Cada elemento de *pathsegments* pode ser uma string representando um " -"segmento de caminho, um objeto que implementa a interface :class:`os." -"PathLike` que retorna uma string ou outro objeto caminho::" +"segmento de caminho, um objeto que implementa a " +"interface :class:`os.PathLike` que retorna uma string ou outro objeto " +"caminho::" #: ../../library/pathlib.rst:117 msgid "When *pathsegments* is empty, the current directory is assumed::" @@ -168,16 +166,16 @@ msgstr "Quando *pathsegments* está vazio, o diretório atual é presumido::" #: ../../library/pathlib.rst:122 msgid "" -"If a segment is an absolute path, all previous segments are ignored (like :" -"func:`os.path.join`)::" +"If a segment is an absolute path, all previous segments are ignored " +"(like :func:`os.path.join`)::" msgstr "" "Se um segmento for um caminho absoluto, todos os segmentos anteriores serão " "ignorados (como :func:`os.path.join`)::" #: ../../library/pathlib.rst:130 msgid "" -"On Windows, the drive is not reset when a rooted relative path segment (e." -"g., ``r'\\foo'``) is encountered::" +"On Windows, the drive is not reset when a rooted relative path segment " +"(e.g., ``r'\\foo'``) is encountered::" msgstr "" "No Windows, a unidade não é redefinida quando um segmento de caminho " "relativo enraizado (por exemplo, ``r'\\foo'``) é encontrado::" @@ -224,8 +222,8 @@ msgstr "" "de sistema de arquivos não Windows::" #: ../../library/pathlib.rst:167 ../../library/pathlib.rst:179 -#: ../../library/pathlib.rst:672 ../../library/pathlib.rst:682 -#: ../../library/pathlib.rst:692 +#: ../../library/pathlib.rst:683 ../../library/pathlib.rst:693 +#: ../../library/pathlib.rst:703 msgid "*pathsegments* is specified similarly to :class:`PurePath`." msgstr "*pathsegments* é especificado de forma similar para :class:`PurePath`." @@ -284,8 +282,8 @@ msgstr "" #: ../../library/pathlib.rst:234 msgid "" -"A path object can be used anywhere an object implementing :class:`os." -"PathLike` is accepted::" +"A path object can be used anywhere an object " +"implementing :class:`os.PathLike` is accepted::" msgstr "" "Um objeto de caminho pode ser usado em qualquer lugar em que um objeto " "implementando :class:`os.PathLike` seja aceito::" @@ -307,8 +305,8 @@ msgid "" "a bytes object, as encoded by :func:`os.fsencode`::" msgstr "" "Da mesma forma, chamar :class:`bytes` em um caminho fornece o caminho do " -"sistema de arquivos bruto como um objeto bytes, codificado por :func:`os." -"fsencode`::" +"sistema de arquivos bruto como um objeto bytes, codificado " +"por :func:`os.fsencode`::" #: ../../library/pathlib.rst:260 msgid "" @@ -365,17 +363,17 @@ msgstr "Os compartilhamentos UNC sempre têm uma raiz::" #: ../../library/pathlib.rst:326 msgid "" -"If the path starts with more than two successive slashes, :class:`~pathlib." -"PurePosixPath` collapses them::" +"If the path starts with more than two successive " +"slashes, :class:`~pathlib.PurePosixPath` collapses them::" msgstr "" -"Se o caminho começa com mais de duas barras sucessivas, :class:`~pathlib." -"PurePosixPath` as recolhe::" +"Se o caminho começa com mais de duas barras " +"sucessivas, :class:`~pathlib.PurePosixPath` as recolhe::" #: ../../library/pathlib.rst:338 msgid "" "This behavior conforms to *The Open Group Base Specifications Issue 6*, " -"paragraph `4.11 Pathname Resolution `_:" +"paragraph `4.11 Pathname Resolution `_:" msgstr "" "Este comportamento está em conformidade com o parágrafo `4.11 Pathname " "Resolution ` ``pathlib.Path.glob`` with " "arguments ``self``, ``pattern``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``pathlib.Path.glob`` com " -"argumentos ``self``, ``pattern``." +"Levanta um :ref:`evento de auditoria ` do método " +"``pathlib.Path.glob`` com os argumentos ``self`` e ``pattern``." -#: ../../library/pathlib.rst:852 ../../library/pathlib.rst:1147 +#: ../../library/pathlib.rst:863 ../../library/pathlib.rst:1158 msgid "" "Return only directories if *pattern* ends with a pathname components " "separator (:data:`~os.sep` or :data:`~os.altsep`)." @@ -783,7 +787,7 @@ msgstr "" "Retorna apenas diretórios se *pattern* terminar com um separador de " "componentes de nome de caminho (:data:`~os.sep` ou :data:`~os.altsep`)." -#: ../../library/pathlib.rst:858 +#: ../../library/pathlib.rst:869 msgid "" "Return the name of the group owning the file. :exc:`KeyError` is raised if " "the file's gid isn't found in the system database." @@ -791,7 +795,7 @@ msgstr "" "Retorna o nome do grupo que possui o arquivo. :exc:`KeyError` é levantada se " "o gid do arquivo não for encontrado no banco de dados do sistema." -#: ../../library/pathlib.rst:864 +#: ../../library/pathlib.rst:875 msgid "" "Return ``True`` if the path points to a directory (or a symbolic link " "pointing to a directory), ``False`` if it points to another kind of file." @@ -800,9 +804,9 @@ msgstr "" "simbólico apontando para um diretório), ``False`` se apontar para outro tipo " "de arquivo." -#: ../../library/pathlib.rst:867 ../../library/pathlib.rst:876 -#: ../../library/pathlib.rst:905 ../../library/pathlib.rst:914 -#: ../../library/pathlib.rst:923 ../../library/pathlib.rst:932 +#: ../../library/pathlib.rst:878 ../../library/pathlib.rst:887 +#: ../../library/pathlib.rst:916 ../../library/pathlib.rst:925 +#: ../../library/pathlib.rst:934 ../../library/pathlib.rst:943 msgid "" "``False`` is also returned if the path doesn't exist or is a broken symlink; " "other errors (such as permission errors) are propagated." @@ -810,7 +814,7 @@ msgstr "" "``False`` também é retornado se o caminho não existir ou se for um link " "simbólico quebrado; outros erros (como erros de permissão) são propagados." -#: ../../library/pathlib.rst:873 +#: ../../library/pathlib.rst:884 msgid "" "Return ``True`` if the path points to a regular file (or a symbolic link " "pointing to a regular file), ``False`` if it points to another kind of file." @@ -819,7 +823,7 @@ msgstr "" "simbólico apontando para um arquivo regular), ``False`` se apontar para " "outro tipo de arquivo." -#: ../../library/pathlib.rst:882 +#: ../../library/pathlib.rst:893 msgid "" "Return ``True`` if the path is a :dfn:`mount point`: a point in a file " "system where a different file system has been mounted. On POSIX, the " @@ -835,14 +839,14 @@ msgstr "" "o mesmo nó-i no mesmo dispositivo -- isso deve detectar pontos de montagem " "para todas as variantes Unix e POSIX. Não implementado no Windows." -#: ../../library/pathlib.rst:894 +#: ../../library/pathlib.rst:905 msgid "" "Return ``True`` if the path points to a symbolic link, ``False`` otherwise." msgstr "" "Retorna ``True`` se o caminho apontar para um link simbólico, ``False`` caso " "contrário." -#: ../../library/pathlib.rst:896 +#: ../../library/pathlib.rst:907 msgid "" "``False`` is also returned if the path doesn't exist; other errors (such as " "permission errors) are propagated." @@ -850,7 +854,7 @@ msgstr "" "``False`` também é retornado se o caminho não existir; outros erros (como " "erros de permissão) são propagados." -#: ../../library/pathlib.rst:902 +#: ../../library/pathlib.rst:913 msgid "" "Return ``True`` if the path points to a Unix socket (or a symbolic link " "pointing to a Unix socket), ``False`` if it points to another kind of file." @@ -859,7 +863,7 @@ msgstr "" "simbólico apontando para um soquete Unix), ``False`` se apontar para outro " "tipo de arquivo." -#: ../../library/pathlib.rst:911 +#: ../../library/pathlib.rst:922 msgid "" "Return ``True`` if the path points to a FIFO (or a symbolic link pointing to " "a FIFO), ``False`` if it points to another kind of file." @@ -867,7 +871,7 @@ msgstr "" "Retorna ``True`` se o caminho apontar para um FIFO (ou um link simbólico " "apontando para um FIFO), ``False`` se apontar para outro tipo de arquivo." -#: ../../library/pathlib.rst:920 +#: ../../library/pathlib.rst:931 msgid "" "Return ``True`` if the path points to a block device (or a symbolic link " "pointing to a block device), ``False`` if it points to another kind of file." @@ -876,7 +880,7 @@ msgstr "" "link simbólico apontando para um dispositivo de bloco), ``False`` se apontar " "para outro tipo de arquivo." -#: ../../library/pathlib.rst:929 +#: ../../library/pathlib.rst:940 msgid "" "Return ``True`` if the path points to a character device (or a symbolic link " "pointing to a character device), ``False`` if it points to another kind of " @@ -886,7 +890,7 @@ msgstr "" "um link simbólico apontando para um dispositivo de caractere), ``False`` se " "apontar para outro tipo de arquivo." -#: ../../library/pathlib.rst:938 +#: ../../library/pathlib.rst:949 msgid "" "When the path points to a directory, yield path objects of the directory " "contents::" @@ -894,7 +898,7 @@ msgstr "" "Quando o caminho aponta para um diretório, produz objetos caminho do " "conteúdo do diretório::" -#: ../../library/pathlib.rst:952 +#: ../../library/pathlib.rst:963 msgid "" "The children are yielded in arbitrary order, and the special entries ``'.'`` " "and ``'..'`` are not included. If a file is removed from or added to the " @@ -906,15 +910,15 @@ msgstr "" "diretório após a criação do iterador, não será especificado se um objeto " "caminho para esse arquivo será incluído." -#: ../../library/pathlib.rst:959 +#: ../../library/pathlib.rst:970 msgid "" "Like :meth:`Path.chmod` but, if the path points to a symbolic link, the " "symbolic link's mode is changed rather than its target's." msgstr "" -"Como :meth:`Path.chmod`, mas, se o caminho apontar para um link simbólico, o " -"modo do link simbólico é alterado ao invés de seu alvo." +"Como :meth:`Path.chmod`, mas se o caminho apontar para um link simbólico, o " +"modo do link simbólico é alterado em vez de seu alvo." -#: ../../library/pathlib.rst:965 +#: ../../library/pathlib.rst:976 msgid "" "Like :meth:`Path.stat` but, if the path points to a symbolic link, return " "the symbolic link's information rather than its target's." @@ -922,7 +926,7 @@ msgstr "" "Como :meth:`Path.stat`, mas, se o caminho apontar para um link simbólico, " "retorna as informações do link simbólico ao invés de seu alvo." -#: ../../library/pathlib.rst:971 +#: ../../library/pathlib.rst:982 msgid "" "Create a new directory at this given path. If *mode* is given, it is " "combined with the process' ``umask`` value to determine the file mode and " @@ -930,10 +934,10 @@ msgid "" msgstr "" "Cria um novo diretório neste caminho fornecido. Se *mode* for fornecido, ele " "é combinado com o valor ``umask`` do processo para determinar o modo do " -"arquivo e os sinalizadores de acesso. Se o caminho já existe, :exc:" -"`FileExistsError` é levantada." +"arquivo e os sinalizadores de acesso. Se o caminho já " +"existe, :exc:`FileExistsError` é levantada." -#: ../../library/pathlib.rst:976 +#: ../../library/pathlib.rst:987 msgid "" "If *parents* is true, any missing parents of this path are created as " "needed; they are created with the default permissions without taking *mode* " @@ -943,15 +947,15 @@ msgstr "" "criados conforme necessário; eles são criados com as permissões padrão sem " "levar o *mode* em consideração (imitando o comando POSIX ``mkdir -p``)." -#: ../../library/pathlib.rst:980 +#: ../../library/pathlib.rst:991 msgid "" -"If *parents* is false (the default), a missing parent raises :exc:" -"`FileNotFoundError`." +"If *parents* is false (the default), a missing parent " +"raises :exc:`FileNotFoundError`." msgstr "" -"Se *parents* for falso (o padrão), um pai ausente levanta :exc:" -"`FileNotFoundError`." +"Se *parents* for falso (o padrão), um pai ausente " +"levanta :exc:`FileNotFoundError`." -#: ../../library/pathlib.rst:983 +#: ../../library/pathlib.rst:994 msgid "" "If *exist_ok* is false (the default), :exc:`FileExistsError` is raised if " "the target directory already exists." @@ -959,22 +963,21 @@ msgstr "" "Se *exist_ok* for falso (o padrão), :exc:`FileExistsError` será levantada se " "o diretório alvo já existir." -#: ../../library/pathlib.rst:986 +#: ../../library/pathlib.rst:997 msgid "" -"If *exist_ok* is true, :exc:`FileExistsError` exceptions will be ignored " -"(same behavior as the POSIX ``mkdir -p`` command), but only if the last path " -"component is not an existing non-directory file." +"If *exist_ok* is true, :exc:`FileExistsError` will not be raised unless the " +"given path already exists in the file system and is not a directory (same " +"behavior as the POSIX ``mkdir -p`` command)." msgstr "" -"Se *exist_ok* for verdadeiro, as exceções :exc:`FileExistsError` serão " -"ignoradas (mesmo comportamento que o comando POSIX ``mkdir -p``), mas apenas " -"se o último componente do caminho não for um arquivo existente não " -"pertencente ao diretório." +"Se *exist_ok* for verdadeiro, a exceção :exc:`FileExistsError` não será " +"levantada, a menos que o caminho fornecido já exista no sistema de arquivos " +"e não seja um diretório (mesmo comportamento do comando POSIX ``mkdir -p``)." -#: ../../library/pathlib.rst:990 +#: ../../library/pathlib.rst:1001 msgid "The *exist_ok* parameter was added." msgstr "O parâmetro *exist_ok* foi adicionado." -#: ../../library/pathlib.rst:996 +#: ../../library/pathlib.rst:1007 msgid "" "Open the file pointed to by the path, like the built-in :func:`open` " "function does::" @@ -982,7 +985,7 @@ msgstr "" "Abre o arquivo apontado pelo caminho, como a função embutida :func:`open` " "faz::" -#: ../../library/pathlib.rst:1008 +#: ../../library/pathlib.rst:1019 msgid "" "Return the name of the user owning the file. :exc:`KeyError` is raised if " "the file's uid isn't found in the system database." @@ -990,15 +993,15 @@ msgstr "" "Retorna o nome do usuário que possui o arquivo. :exc:`KeyError` é levantada " "se o uid do arquivo não for encontrado no banco de dados do sistema." -#: ../../library/pathlib.rst:1014 +#: ../../library/pathlib.rst:1025 msgid "Return the binary contents of the pointed-to file as a bytes object::" msgstr "Retorna o conteúdo binário do arquivo apontado como um objeto bytes::" -#: ../../library/pathlib.rst:1027 +#: ../../library/pathlib.rst:1038 msgid "Return the decoded contents of the pointed-to file as a string::" msgstr "Retorna o conteúdo decodificado do arquivo apontado como uma string::" -#: ../../library/pathlib.rst:1035 +#: ../../library/pathlib.rst:1046 msgid "" "The file is opened and then closed. The optional parameters have the same " "meaning as in :func:`open`." @@ -1006,15 +1009,15 @@ msgstr "" "O arquivo é aberto e, então, fechado. Os parâmetros opcionais têm o mesmo " "significado que em :func:`open`." -#: ../../library/pathlib.rst:1043 +#: ../../library/pathlib.rst:1054 msgid "" -"Return the path to which the symbolic link points (as returned by :func:`os." -"readlink`)::" +"Return the path to which the symbolic link points (as returned " +"by :func:`os.readlink`)::" msgstr "" "Retorna o caminho para o qual o link simbólico aponta (conforme retornado " "por :func:`os.readlink`)::" -#: ../../library/pathlib.rst:1056 +#: ../../library/pathlib.rst:1067 msgid "" "Rename this file or directory to the given *target*, and return a new Path " "instance pointing to *target*. On Unix, if *target* exists and is a file, " @@ -1028,7 +1031,7 @@ msgstr "" "permissão. No Windows, se *target* existir, :exc:`FileExistsError` será " "levantado. *target* pode ser uma string ou outro objeto caminho::" -#: ../../library/pathlib.rst:1071 ../../library/pathlib.rst:1087 +#: ../../library/pathlib.rst:1082 ../../library/pathlib.rst:1098 msgid "" "The target path may be absolute or relative. Relative paths are interpreted " "relative to the current working directory, *not* the directory of the Path " @@ -1038,7 +1041,7 @@ msgstr "" "interpretados em relação ao diretório de trabalho atual, *não* ao diretório " "do objeto Path." -#: ../../library/pathlib.rst:1075 +#: ../../library/pathlib.rst:1086 msgid "" "It is implemented in terms of :func:`os.rename` and gives the same " "guarantees." @@ -1046,11 +1049,11 @@ msgstr "" "Está implementada em termos de :func:`os.rename` e fornece as mesmas " "garantias." -#: ../../library/pathlib.rst:1077 ../../library/pathlib.rst:1091 +#: ../../library/pathlib.rst:1088 ../../library/pathlib.rst:1102 msgid "Added return value, return the new Path instance." msgstr "Adicionado valor de retorno, returna a nova instância de Path." -#: ../../library/pathlib.rst:1083 +#: ../../library/pathlib.rst:1094 msgid "" "Rename this file or directory to the given *target*, and return a new Path " "instance pointing to *target*. If *target* points to an existing file or " @@ -1060,7 +1063,7 @@ msgstr "" "nova instância de Path apontando para *target*. Se *target* apontar para um " "arquivo ou diretório vazio, ele será substituído incondicionalmente." -#: ../../library/pathlib.rst:1097 +#: ../../library/pathlib.rst:1108 msgid "" "Make the path absolute, without normalization or resolving symlinks. Returns " "a new path object::" @@ -1068,15 +1071,15 @@ msgstr "" "Torna o caminho absoluto, sem normalização ou resolução de links simbólicos. " "Retorna um novo objeto de caminho::" -#: ../../library/pathlib.rst:1109 +#: ../../library/pathlib.rst:1120 msgid "" "Make the path absolute, resolving any symlinks. A new path object is " "returned::" msgstr "" -"Faça o caminho absoluto, resolvendo quaisquer links simbólicos. Um novo " +"Torna o caminho absoluto, resolvendo quaisquer links simbólicos. Um novo " "objeto de caminho é retornado::" -#: ../../library/pathlib.rst:1118 +#: ../../library/pathlib.rst:1129 msgid "" "\"``..``\" components are also eliminated (this is the only method to do " "so)::" @@ -1084,25 +1087,25 @@ msgstr "" "Componentes \"``..``\" também são eliminados (este é o único método para " "fazer isso)::" -#: ../../library/pathlib.rst:1124 +#: ../../library/pathlib.rst:1135 msgid "" "If the path doesn't exist and *strict* is ``True``, :exc:`FileNotFoundError` " "is raised. If *strict* is ``False``, the path is resolved as far as " "possible and any remainder is appended without checking whether it exists. " -"If an infinite loop is encountered along the resolution path, :exc:" -"`RuntimeError` is raised." +"If an infinite loop is encountered along the resolution " +"path, :exc:`RuntimeError` is raised." msgstr "" "Se o caminho não existe e *strict* é ``True``, :exc:`FileNotFoundError` é " "levantada. Se *strict* for ``False``, o caminho será resolvido tanto quanto " "possível e qualquer resto é anexado sem verificar se existe. Se um laço " -"infinito for encontrado ao longo do caminho de resolução, :exc:" -"`RuntimeError` é levantada." +"infinito for encontrado ao longo do caminho de " +"resolução, :exc:`RuntimeError` é levantada." -#: ../../library/pathlib.rst:1130 +#: ../../library/pathlib.rst:1141 msgid "The *strict* argument (pre-3.6 behavior is strict)." msgstr "O argumento *strict* (comportamento pré-3.6 é estrito)." -#: ../../library/pathlib.rst:1135 +#: ../../library/pathlib.rst:1146 msgid "" "This is like calling :func:`Path.glob` with \"``**/``\" added in front of " "the given relative *pattern*::" @@ -1110,7 +1113,7 @@ msgstr "" "É como chamar :func:`Path.glob` com \"``**/``\" adicionado na frente do " "*pattern* relativo fornecido::" -#: ../../library/pathlib.rst:1145 +#: ../../library/pathlib.rst:1156 msgid "" "Raises an :ref:`auditing event ` ``pathlib.Path.rglob`` with " "arguments ``self``, ``pattern``." @@ -1118,21 +1121,21 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``pathlib.Path.rglob`` com " "argumentos ``self``, ``pattern``." -#: ../../library/pathlib.rst:1153 +#: ../../library/pathlib.rst:1164 msgid "Remove this directory. The directory must be empty." msgstr "Remove este diretório. O diretório deve estar vazio." -#: ../../library/pathlib.rst:1158 +#: ../../library/pathlib.rst:1169 msgid "" "Return whether this path points to the same file as *other_path*, which can " -"be either a Path object, or a string. The semantics are similar to :func:" -"`os.path.samefile` and :func:`os.path.samestat`." +"be either a Path object, or a string. The semantics are similar " +"to :func:`os.path.samefile` and :func:`os.path.samestat`." msgstr "" "Retorna se este path apontar para o mesmo arquivo como *other_path*, que " -"pode ser um objeto PATH ou uma String. A semântica é semelhante a função :" -"func:`os.path.samefile` e a função :func:`os.path.samestat`." +"pode ser um objeto PATH ou uma String. A semântica é semelhante a " +"função :func:`os.path.samefile` e a função :func:`os.path.samestat`." -#: ../../library/pathlib.rst:1162 +#: ../../library/pathlib.rst:1173 msgid "" "An :exc:`OSError` can be raised if either file cannot be accessed for some " "reason." @@ -1140,85 +1143,94 @@ msgstr "" "Um :exc:`OSError` poderá ser levantado caso algum arquivo não puder ser " "acessado por alguma razão." -#: ../../library/pathlib.rst:1179 +#: ../../library/pathlib.rst:1190 +msgid "Make this path a symbolic link pointing to *target*." +msgstr "Faça desse path um symbolic link apontando para um *target*" + +#: ../../library/pathlib.rst:1192 msgid "" -"Make this path a symbolic link to *target*. Under Windows, " -"*target_is_directory* must be true (default ``False``) if the link's target " -"is a directory. Under POSIX, *target_is_directory*'s value is ignored." +"On Windows, a symlink represents either a file or a directory, and does not " +"morph to the target dynamically. If the target is present, the type of the " +"symlink will be created to match. Otherwise, the symlink will be created as " +"a directory if *target_is_directory* is ``True`` or a file symlink (the " +"default) otherwise. On non-Windows platforms, *target_is_directory* is " +"ignored." msgstr "" -"Faz deste path um link simbólico para *target*. No Windows, " -"*target_is_directory* deverá ser verdadeiro (padrão ``False``) se o local do " -"link for um diretório. Num sistema POSIX, o valor *target_is_directory* será " -"ignorado." +"No Windows, um link simbólico representa um arquivo ou um diretório e não se " +"transforma no destino dinamicamente. Se o alvo estiver presente, será criado " +"um link simbólico de mesmo tipo. Caso contrário, o link simbólico será " +"criado como um diretório se *target_is_directory* for ``True`` ou um link " +"simbólico de arquivo (o padrão) caso contrário. Em plataformas não Windows, " +"*target_is_directory* é ignorado." -#: ../../library/pathlib.rst:1195 +#: ../../library/pathlib.rst:1210 msgid "" "The order of arguments (link, target) is the reverse of :func:`os.symlink`'s." msgstr "" -"A ordem dos argumentos (link, target) é o inverso da função :func:`os." -"symlink`'s." +"A ordem dos argumentos (link, target) é o inverso da " +"função :func:`os.symlink`'s." -#: ../../library/pathlib.rst:1200 +#: ../../library/pathlib.rst:1215 msgid "Make this path a hard link to the same file as *target*." msgstr "Faz deste caminho um link físico para o mesmo arquivo que *target*." -#: ../../library/pathlib.rst:1203 +#: ../../library/pathlib.rst:1218 msgid "" "The order of arguments (link, target) is the reverse of :func:`os.link`'s." msgstr "" -"A ordem dos argumentos (link, target) é o inverso da função :func:`os." -"link`'s." +"A ordem dos argumentos (link, target) é o inverso da " +"função :func:`os.link`'s." -#: ../../library/pathlib.rst:1210 +#: ../../library/pathlib.rst:1225 msgid "Make *target* a hard link to this path." msgstr "Faz do *target* um link físico para este caminho." -#: ../../library/pathlib.rst:1214 +#: ../../library/pathlib.rst:1229 msgid "" "This function does not make this path a hard link to *target*, despite the " "implication of the function and argument names. The argument order (target, " -"link) is the reverse of :func:`Path.symlink_to` and :func:`Path." -"hardlink_to`, but matches that of :func:`os.link`." +"link) is the reverse of :func:`Path.symlink_to` " +"and :func:`Path.hardlink_to`, but matches that of :func:`os.link`." msgstr "" "Esta função não faz deste caminho um link físico para *target*, apesar da " "implicação dos nomes da função e do argumento. A ordem do argumento (target, " "link) é o reverso de :func:`Path.symlink_to` e :func:`Path.hardlink_to`, mas " "corresponde ao de :func:`os.link`." -#: ../../library/pathlib.rst:1223 +#: ../../library/pathlib.rst:1238 msgid "" "This method is deprecated in favor of :meth:`Path.hardlink_to`, as the " -"argument order of :meth:`Path.link_to` does not match that of :meth:`Path." -"symlink_to`." +"argument order of :meth:`Path.link_to` does not match that " +"of :meth:`Path.symlink_to`." msgstr "" "Este método foi descontinuado em favor de :meth:`Path.hardlink_to`, pois a " -"ordem de argumentos de :meth:`Path.link_to` não corresponde àquela de :meth:" -"`Path.symlink_to`." +"ordem de argumentos de :meth:`Path.link_to` não corresponde àquela " +"de :meth:`Path.symlink_to`." -#: ../../library/pathlib.rst:1230 +#: ../../library/pathlib.rst:1245 msgid "" "Create a file at this given path. If *mode* is given, it is combined with " "the process' ``umask`` value to determine the file mode and access flags. " "If the file already exists, the function succeeds if *exist_ok* is true (and " -"its modification time is updated to the current time), otherwise :exc:" -"`FileExistsError` is raised." +"its modification time is updated to the current time), " +"otherwise :exc:`FileExistsError` is raised." msgstr "" "Cria um arquivo neste caminho especifico. Caso o *modo* for dado, ele será " "combinado com o valor do processo ``umask`` para determinar o modo de " "arquivo e as flags de acesso. Se o arquivo já existir, a função será bem-" "sucedida se *exist_ok* for verdadeiro (e o tempo de modificação for " -"atualizado para a hora atual), caso contrário a exceção :exc:" -"`FileExistsError` será levantada." +"atualizado para a hora atual), caso contrário a " +"exceção :exc:`FileExistsError` será levantada." -#: ../../library/pathlib.rst:1239 +#: ../../library/pathlib.rst:1254 msgid "" -"Remove this file or symbolic link. If the path points to a directory, use :" -"func:`Path.rmdir` instead." +"Remove this file or symbolic link. If the path points to a directory, " +"use :func:`Path.rmdir` instead." msgstr "" "Remova esse arquivo ou link simbólico. Caso o caminho aponte para um " "diretório, use a função :func:`Path.rmdir` em vez disso." -#: ../../library/pathlib.rst:1242 +#: ../../library/pathlib.rst:1257 msgid "" "If *missing_ok* is false (the default), :exc:`FileNotFoundError` is raised " "if the path does not exist." @@ -1226,7 +1238,7 @@ msgstr "" "Se *missing_ok* for falso (o padrão), :exc:`FileNotFoundError` é levantada " "se o caminho não existir." -#: ../../library/pathlib.rst:1245 +#: ../../library/pathlib.rst:1260 msgid "" "If *missing_ok* is true, :exc:`FileNotFoundError` exceptions will be ignored " "(same behavior as the POSIX ``rm -f`` command)." @@ -1234,29 +1246,29 @@ msgstr "" "Se *missing_ok* for verdadeiro, exceções de :exc:`FileNotFoundError` serão " "ignoradas (mesmo comportamento que o comando POSIX ``rm -f``)." -#: ../../library/pathlib.rst:1248 +#: ../../library/pathlib.rst:1263 msgid "The *missing_ok* parameter was added." msgstr "O parâmetro *missing_ok* foi adicionado." -#: ../../library/pathlib.rst:1254 +#: ../../library/pathlib.rst:1269 msgid "" "Open the file pointed to in bytes mode, write *data* to it, and close the " "file::" msgstr "" -"Abre o arquivo apontado no modo bytes, escreve *dados* e fecha o arquivo::" +"Abre o arquivo apontado no modo bytes, escreve *data* e fecha o arquivo::" -#: ../../library/pathlib.rst:1263 +#: ../../library/pathlib.rst:1278 msgid "An existing file of the same name is overwritten." msgstr "Um arquivo existente de mesmo nome será substituído." -#: ../../library/pathlib.rst:1270 +#: ../../library/pathlib.rst:1285 msgid "" "Open the file pointed to in text mode, write *data* to it, and close the " "file::" msgstr "" "Abre o arquivo apontado no modo de texto, escreve *data* e fecha o arquivo::" -#: ../../library/pathlib.rst:1279 +#: ../../library/pathlib.rst:1294 msgid "" "An existing file of the same name is overwritten. The optional parameters " "have the same meaning as in :func:`open`." @@ -1264,259 +1276,261 @@ msgstr "" "Um arquivo existente com o mesmo nome é sobrescrito. Os parâmetros opcionais " "têm o mesmo significado que em :func:`open`." -#: ../../library/pathlib.rst:1284 +#: ../../library/pathlib.rst:1299 msgid "The *newline* parameter was added." msgstr "O parâmetro *newline* foi adicionado." -#: ../../library/pathlib.rst:1288 +#: ../../library/pathlib.rst:1303 msgid "Correspondence to tools in the :mod:`os` module" msgstr "Correspondência a ferramentas no módulo :mod:`os`" -#: ../../library/pathlib.rst:1290 +#: ../../library/pathlib.rst:1305 msgid "" -"Below is a table mapping various :mod:`os` functions to their corresponding :" -"class:`PurePath`/:class:`Path` equivalent." +"Below is a table mapping various :mod:`os` functions to their " +"corresponding :class:`PurePath`/:class:`Path` equivalent." msgstr "" -"Abaixo está uma tabela mapeando várias funções :mod:`os` a sua :class:" -"`PurePath`/:class:`Path` equivalente." +"Abaixo está uma tabela mapeando várias funções :mod:`os` à " +"sua :class:`PurePath`/:class:`Path` equivalente." -#: ../../library/pathlib.rst:1295 +#: ../../library/pathlib.rst:1310 msgid "" "Not all pairs of functions/methods below are equivalent. Some of them, " "despite having some overlapping use-cases, have different semantics. They " -"include :func:`os.path.abspath` and :meth:`Path.absolute`, :func:`os.path." -"relpath` and :meth:`PurePath.relative_to`." +"include :func:`os.path.abspath` " +"and :meth:`Path.absolute`, :func:`os.path.relpath` " +"and :meth:`PurePath.relative_to`." msgstr "" "Nem todos os pares de funções/métodos abaixo são equivalentes. Alguns deles, " "apesar de ter alguns casos de uso sobrepostos, têm semânticas diferentes. " -"Eles incluem :func:`os.path.abspath` e :meth:`Path.absolute`, :func:`os.path." -"relpath` e :meth:`PurePath.relative_to`." +"Eles incluem :func:`os.path.abspath` " +"e :meth:`Path.absolute`, :func:`os.path.relpath` " +"e :meth:`PurePath.relative_to`." -#: ../../library/pathlib.rst:1301 +#: ../../library/pathlib.rst:1316 msgid ":mod:`os` and :mod:`os.path`" msgstr ":mod:`os` e :mod:`os.path`" -#: ../../library/pathlib.rst:1301 +#: ../../library/pathlib.rst:1316 msgid ":mod:`pathlib`" msgstr ":mod:`pathlib`" -#: ../../library/pathlib.rst:1303 +#: ../../library/pathlib.rst:1318 msgid ":func:`os.path.abspath`" msgstr ":func:`os.path.abspath`" -#: ../../library/pathlib.rst:1303 +#: ../../library/pathlib.rst:1318 msgid ":meth:`Path.absolute` [#]_" msgstr ":meth:`Path.absolute` [#]_" -#: ../../library/pathlib.rst:1304 +#: ../../library/pathlib.rst:1319 msgid ":func:`os.path.realpath`" msgstr ":func:`os.path.realpath`" -#: ../../library/pathlib.rst:1304 +#: ../../library/pathlib.rst:1319 msgid ":meth:`Path.resolve`" msgstr ":meth:`Path.resolve`" -#: ../../library/pathlib.rst:1305 +#: ../../library/pathlib.rst:1320 msgid ":func:`os.chmod`" msgstr ":func:`os.chmod`" -#: ../../library/pathlib.rst:1305 +#: ../../library/pathlib.rst:1320 msgid ":meth:`Path.chmod`" msgstr ":meth:`Path.chmod`" -#: ../../library/pathlib.rst:1306 +#: ../../library/pathlib.rst:1321 msgid ":func:`os.mkdir`" msgstr ":func:`os.mkdir`" -#: ../../library/pathlib.rst:1306 ../../library/pathlib.rst:1307 +#: ../../library/pathlib.rst:1321 ../../library/pathlib.rst:1322 msgid ":meth:`Path.mkdir`" msgstr ":meth:`Path.mkdir`" -#: ../../library/pathlib.rst:1307 +#: ../../library/pathlib.rst:1322 msgid ":func:`os.makedirs`" msgstr ":func:`os.makedirs`" -#: ../../library/pathlib.rst:1308 +#: ../../library/pathlib.rst:1323 msgid ":func:`os.rename`" msgstr ":func:`os.rename`" -#: ../../library/pathlib.rst:1308 +#: ../../library/pathlib.rst:1323 msgid ":meth:`Path.rename`" msgstr ":meth:`Path.rename`" -#: ../../library/pathlib.rst:1309 +#: ../../library/pathlib.rst:1324 msgid ":func:`os.replace`" msgstr ":func:`os.replace`" -#: ../../library/pathlib.rst:1309 +#: ../../library/pathlib.rst:1324 msgid ":meth:`Path.replace`" msgstr ":meth:`Path.replace`" -#: ../../library/pathlib.rst:1310 +#: ../../library/pathlib.rst:1325 msgid ":func:`os.rmdir`" msgstr ":func:`os.rmdir`" -#: ../../library/pathlib.rst:1310 +#: ../../library/pathlib.rst:1325 msgid ":meth:`Path.rmdir`" msgstr ":meth:`Path.rmdir`" -#: ../../library/pathlib.rst:1311 +#: ../../library/pathlib.rst:1326 msgid ":func:`os.remove`, :func:`os.unlink`" msgstr ":func:`os.remove`, :func:`os.unlink`" -#: ../../library/pathlib.rst:1311 +#: ../../library/pathlib.rst:1326 msgid ":meth:`Path.unlink`" msgstr ":meth:`Path.unlink`" -#: ../../library/pathlib.rst:1312 +#: ../../library/pathlib.rst:1327 msgid ":func:`os.getcwd`" msgstr ":func:`os.getcwd`" -#: ../../library/pathlib.rst:1312 +#: ../../library/pathlib.rst:1327 msgid ":func:`Path.cwd`" msgstr ":func:`Path.cwd`" -#: ../../library/pathlib.rst:1313 +#: ../../library/pathlib.rst:1328 msgid ":func:`os.path.exists`" msgstr ":func:`os.path.exists`" -#: ../../library/pathlib.rst:1313 +#: ../../library/pathlib.rst:1328 msgid ":meth:`Path.exists`" msgstr ":meth:`Path.exists`" -#: ../../library/pathlib.rst:1314 +#: ../../library/pathlib.rst:1329 msgid ":func:`os.path.expanduser`" msgstr ":func:`os.path.expanduser`" -#: ../../library/pathlib.rst:1314 +#: ../../library/pathlib.rst:1329 msgid ":meth:`Path.expanduser` and :meth:`Path.home`" msgstr ":meth:`Path.expanduser` and :meth:`Path.home`" -#: ../../library/pathlib.rst:1316 +#: ../../library/pathlib.rst:1331 msgid ":func:`os.listdir`" msgstr ":func:`os.listdir`" -#: ../../library/pathlib.rst:1316 +#: ../../library/pathlib.rst:1331 msgid ":meth:`Path.iterdir`" msgstr ":meth:`Path.iterdir`" -#: ../../library/pathlib.rst:1317 +#: ../../library/pathlib.rst:1332 msgid ":func:`os.path.isdir`" msgstr ":func:`os.path.isdir`" -#: ../../library/pathlib.rst:1317 +#: ../../library/pathlib.rst:1332 msgid ":meth:`Path.is_dir`" msgstr ":meth:`Path.is_dir`" -#: ../../library/pathlib.rst:1318 +#: ../../library/pathlib.rst:1333 msgid ":func:`os.path.isfile`" msgstr ":func:`os.path.isfile`" -#: ../../library/pathlib.rst:1318 +#: ../../library/pathlib.rst:1333 msgid ":meth:`Path.is_file`" msgstr ":meth:`Path.is_file`" -#: ../../library/pathlib.rst:1319 +#: ../../library/pathlib.rst:1334 msgid ":func:`os.path.islink`" msgstr ":func:`os.path.islink`" -#: ../../library/pathlib.rst:1319 +#: ../../library/pathlib.rst:1334 msgid ":meth:`Path.is_symlink`" msgstr ":meth:`Path.is_symlink`" -#: ../../library/pathlib.rst:1320 +#: ../../library/pathlib.rst:1335 msgid ":func:`os.link`" msgstr ":func:`os.link`" -#: ../../library/pathlib.rst:1320 +#: ../../library/pathlib.rst:1335 msgid ":meth:`Path.hardlink_to`" msgstr ":meth:`Path.hardlink_to`" -#: ../../library/pathlib.rst:1321 +#: ../../library/pathlib.rst:1336 msgid ":func:`os.symlink`" msgstr ":func:`os.symlink`" -#: ../../library/pathlib.rst:1321 +#: ../../library/pathlib.rst:1336 msgid ":meth:`Path.symlink_to`" msgstr ":meth:`Path.symlink_to`" -#: ../../library/pathlib.rst:1322 +#: ../../library/pathlib.rst:1337 msgid ":func:`os.readlink`" msgstr ":func:`os.readlink`" -#: ../../library/pathlib.rst:1322 +#: ../../library/pathlib.rst:1337 msgid ":meth:`Path.readlink`" msgstr ":meth:`Path.readlink`" -#: ../../library/pathlib.rst:1323 +#: ../../library/pathlib.rst:1338 msgid ":func:`os.path.relpath`" msgstr ":func:`os.path.relpath`" -#: ../../library/pathlib.rst:1323 +#: ../../library/pathlib.rst:1338 msgid ":meth:`PurePath.relative_to` [#]_" msgstr ":meth:`PurePath.relative_to` [#]_" -#: ../../library/pathlib.rst:1324 +#: ../../library/pathlib.rst:1339 msgid ":func:`os.stat`" msgstr ":func:`os.stat`" -#: ../../library/pathlib.rst:1324 +#: ../../library/pathlib.rst:1339 msgid ":meth:`Path.stat`, :meth:`Path.owner`, :meth:`Path.group`" msgstr ":meth:`Path.stat`, :meth:`Path.owner`, :meth:`Path.group`" -#: ../../library/pathlib.rst:1327 +#: ../../library/pathlib.rst:1342 msgid ":func:`os.path.isabs`" msgstr ":func:`os.path.isabs`" -#: ../../library/pathlib.rst:1327 +#: ../../library/pathlib.rst:1342 msgid ":meth:`PurePath.is_absolute`" msgstr ":meth:`PurePath.is_absolute`" -#: ../../library/pathlib.rst:1328 +#: ../../library/pathlib.rst:1343 msgid ":func:`os.path.join`" msgstr ":func:`os.path.join`" -#: ../../library/pathlib.rst:1328 +#: ../../library/pathlib.rst:1343 msgid ":func:`PurePath.joinpath`" msgstr ":func:`PurePath.joinpath`" -#: ../../library/pathlib.rst:1329 +#: ../../library/pathlib.rst:1344 msgid ":func:`os.path.basename`" msgstr ":func:`os.path.basename`" -#: ../../library/pathlib.rst:1329 +#: ../../library/pathlib.rst:1344 msgid ":attr:`PurePath.name`" msgstr ":attr:`PurePath.name`" -#: ../../library/pathlib.rst:1330 +#: ../../library/pathlib.rst:1345 msgid ":func:`os.path.dirname`" msgstr ":func:`os.path.dirname`" -#: ../../library/pathlib.rst:1330 +#: ../../library/pathlib.rst:1345 msgid ":attr:`PurePath.parent`" msgstr ":attr:`PurePath.parent`" -#: ../../library/pathlib.rst:1331 +#: ../../library/pathlib.rst:1346 msgid ":func:`os.path.samefile`" msgstr ":func:`os.path.samefile`" -#: ../../library/pathlib.rst:1331 +#: ../../library/pathlib.rst:1346 msgid ":meth:`Path.samefile`" msgstr ":meth:`Path.samefile`" -#: ../../library/pathlib.rst:1332 +#: ../../library/pathlib.rst:1347 msgid ":func:`os.path.splitext`" msgstr ":func:`os.path.splitext`" -#: ../../library/pathlib.rst:1332 +#: ../../library/pathlib.rst:1347 msgid ":attr:`PurePath.stem` and :attr:`PurePath.suffix`" msgstr ":attr:`PurePath.stem` e :attr:`PurePath.suffix`" -#: ../../library/pathlib.rst:1337 +#: ../../library/pathlib.rst:1352 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/pathlib.rst:1338 +#: ../../library/pathlib.rst:1353 msgid "" ":func:`os.path.abspath` normalizes the resulting path, which may change its " "meaning in the presence of symlinks, while :meth:`Path.absolute` does not." @@ -1525,7 +1539,7 @@ msgstr "" "significado na presença de links simbólicos, enquanto :meth:`Path.absolute` " "não." -#: ../../library/pathlib.rst:1339 +#: ../../library/pathlib.rst:1354 msgid "" ":meth:`PurePath.relative_to` requires ``self`` to be the subpath of the " "argument, but :func:`os.path.relpath` does not." diff --git a/library/pdb.po b/library/pdb.po index 74858b282..4b20f44fa 100644 --- a/library/pdb.po +++ b/library/pdb.po @@ -1,34 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Italo Penaforte , 2023 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/pdb.rst:4 msgid ":mod:`pdb` --- The Python Debugger" -msgstr ":mod:`pdb` --- O Depurador do Python" +msgstr ":mod:`pdb` --- O depurador do Python" #: ../../library/pdb.rst:9 msgid "**Source code:** :source:`Lib/pdb.py`" @@ -52,14 +49,15 @@ msgstr "" #: ../../library/pdb.rst:26 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`." +"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 "" -"O depurador é extensível -- na verdade, ele é definido como a classe :class:" -"`Pdb`. Atualmente, isso não está documentado, mas é facilmente compreendido " -"pela leitura do código-fonte. A interface de extensão usa os módulos :mod:" -"`bdb` e :mod:`cmd`." +"O depurador é extensível -- na verdade, ele é definido como a " +"classe :class:`Pdb`. Atualmente, isso não está documentado, mas é facilmente " +"compreendido pela leitura do código-fonte. A interface de extensão usa os " +"módulos :mod:`bdb` e :mod:`cmd`." #: ../../library/pdb.rst:34 msgid "Module :mod:`faulthandler`" @@ -87,11 +85,11 @@ msgstr "" #: ../../library/pdb.rst:39 msgid "The typical usage to break into the debugger is to insert::" -msgstr "O uso típico para invadir o depurador é inserir::" +msgstr "O uso típico para entrar no depurador é inserir::" #: ../../library/pdb.rst:43 msgid "Or::" -msgstr "ou ::" +msgstr "ou::" #: ../../library/pdb.rst:47 msgid "" @@ -99,7 +97,7 @@ msgid "" "program. You can then step through the code following this statement, and " "continue running without the debugger using the :pdbcmd:`continue` command." msgstr "" -"no local que você deseja interromper o depurador e, em seguida, execute o " +"no local que você deseja entrar o depurador e, em seguida, executar o " "programa. Você pode percorrer o código seguindo esta instrução e continuar " "executando sem o depurador usando o comando :pdbcmd:`continue`." @@ -154,19 +152,19 @@ msgstr "" #: ../../library/pdb.rst:89 msgid "" -"``-c`` option is introduced to execute commands as if given in a :file:`." -"pdbrc` file, see :ref:`debugger-commands`." +"Added the ``-c`` option to execute commands as if given in a :file:`.pdbrc` " +"file; see :ref:`debugger-commands`." msgstr "" -"A opção ``-c`` é apresentada para executar comandos como se fossem dados em " -"um arquivo :file:`.pdbrc`. Veja :ref:`debugger-commands`." +"Adicionada a opção ``-c`` para executar comandos como se fossem dados em um " +"arquivo :file:`.pdbrc`. Veja :ref:`debugger-commands`." #: ../../library/pdb.rst:93 msgid "" -"``-m`` option is introduced 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." +"Added the ``-m`` option 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 "" -"A opção ``-m`` é apresentada para executar módulos de maneira similar ao " +"Adicionada a opção ``-m`` 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." @@ -195,18 +193,18 @@ msgid "" "statement using :pdbcmd:`step` or :pdbcmd:`next` (all these commands are " "explained below). The optional *globals* and *locals* arguments specify the " "environment in which the code is executed; by default the dictionary of the " -"module :mod:`__main__` is used. (See the explanation of the built-in :func:" -"`exec` or :func:`eval` functions.)" +"module :mod:`__main__` is used. (See the explanation of the built-" +"in :func:`exec` or :func:`eval` functions.)" msgstr "" "Executa a instrução *statement* (fornecida como uma string ou um objeto " "código) sob controle do depurador. O prompt do depurador aparece antes de " "qualquer código ser executado; você pode definir pontos de interrupção e " -"digitar :pdbcmd:`continue` ou pode percorrer a instrução usando :pdbcmd:" -"`step` ou :pdbcmd:`next` (todos esses comandos são explicados abaixo). Os " -"argumentos opcionais *globals* e *locals* especificam o ambiente em que o " -"código é executado; por padrão, o dicionário do módulo :mod:`__main__` é " -"usado. (Veja a explicação das funções embutidas :func:`exec` ou :func:" -"`eval`.)" +"digitar :pdbcmd:`continue` ou pode percorrer a instrução " +"usando :pdbcmd:`step` ou :pdbcmd:`next` (todos esses comandos são explicados " +"abaixo). Os argumentos opcionais *globals* e *locals* especificam o ambiente " +"em que o código é executado; por padrão, o dicionário do " +"módulo :mod:`__main__` é usado. (Veja a explicação das funções " +"embutidas :func:`exec` ou :func:`eval`.)" #: ../../library/pdb.rst:144 msgid "" @@ -216,8 +214,8 @@ msgid "" msgstr "" "Avalia a expressão *expression* (fornecida como uma string ou um objeto " "código) sob controle do depurador. Quando :func:`runeval` retorna, ele " -"retorna o valor de *expression*. Caso contrário, esta função é semelhante a :" -"func:`run`." +"retorna o valor de *expression*. Caso contrário, esta função é semelhante " +"a :func:`run`." #: ../../library/pdb.rst:151 msgid "" @@ -261,11 +259,11 @@ msgstr "" #: ../../library/pdb.rst:178 msgid "" -"Enter post-mortem debugging of the traceback found in :data:`sys." -"last_traceback`." +"Enter post-mortem debugging of the traceback found " +"in :data:`sys.last_traceback`." msgstr "" -"Entra na depuração *post-mortem* do traceback encontrado em :data:`sys." -"last_traceback`." +"Entra na depuração *post-mortem* do traceback encontrado " +"em :data:`sys.last_traceback`." #: ../../library/pdb.rst:182 msgid "" @@ -302,24 +300,24 @@ msgstr "" #: ../../library/pdb.rst:198 msgid "" "By default, Pdb sets a handler for the SIGINT signal (which is sent when the " -"user presses :kbd:`Ctrl-C` on the console) when you give a :pdbcmd:" -"`continue` command. This allows you to break into the debugger again by " -"pressing :kbd:`Ctrl-C`. If you want Pdb not to touch the SIGINT handler, " -"set *nosigint* to true." +"user presses :kbd:`Ctrl-C` on the console) when you give " +"a :pdbcmd:`continue` command. This allows you to break into the debugger " +"again by pressing :kbd:`Ctrl-C`. If you want Pdb not to touch the SIGINT " +"handler, set *nosigint* to true." msgstr "" "Por padrão, o Pdb define um manipulador para o sinal SIGINT (que é enviado " "quando o usuário pressiona :kbd:`Ctrl-C` no console) quando você dá um " "comando :pdbcmd:`continue`. Isso permite que você entre no depurador " "novamente pressionando :kbd:`Ctrl-C`. Se você deseja que o Pdb não toque no " -"manipulador SIGINT, defina *nosigint* como true." +"manipulador SIGINT, defina *nosigint* como verdadeiro." #: ../../library/pdb.rst:203 msgid "" -"The *readrc* argument defaults to true and controls whether Pdb will load ." -"pdbrc files from the filesystem." +"The *readrc* argument defaults to true and controls whether Pdb will " +"load .pdbrc files from the filesystem." msgstr "" -"O argumento *readrc* é padronizado como true e controla se o Pdb carregará " -"arquivos .pdbrc do sistema de arquivos." +"O argumento *readrc* é padronizado como verdadeiro e controla se o Pdb " +"carregará arquivos .pdbrc do sistema de arquivos." #: ../../library/pdb.rst:206 msgid "Example call to enable tracing with *skip*::" @@ -329,19 +327,19 @@ msgstr "Exemplo de chamada para habilitar rastreamento com *skip*::" msgid "" "Raises an :ref:`auditing event ` ``pdb.Pdb`` with no arguments." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``pdb.Pdb`` com nenhum " -"argumento." +"Levanta um :ref:`evento de auditoria ` ``pdb.Pdb`` sem argumentos." #: ../../library/pdb.rst:212 -msgid "The *skip* argument." -msgstr "O argumento *skip*." +msgid "Added the *skip* parameter." +msgstr "Adicionado o parâmetro *skip*." #: ../../library/pdb.rst:215 msgid "" -"The *nosigint* argument. Previously, a SIGINT handler was never set by Pdb." +"Added the *nosigint* parameter. Previously, a SIGINT handler was never set " +"by Pdb." msgstr "" -"O argumento *nosigint*. Anteriormente, um manipulador de SIGINT nunca era " -"definido por Pdb." +"Adicionado o parâmetro *nosigint*. Anteriormente, um manipulador de SIGINT " +"nunca era definido por Pdb." #: ../../library/pdb.rst:219 msgid "The *readrc* argument." @@ -423,11 +421,11 @@ msgid "" "double semicolons is to use implicit string concatenation ``';'';'`` or ``\";" "\"\";\"``." msgstr "" -"Vários comandos podem ser inseridos em uma única linha, separados por ``;;" -"``. (Um único ``;`` não é usado, pois é o separador para vários comandos em " -"uma linha que é passada para o analisador Python.) Nenhuma inteligência é " -"aplicada para separar os comandos; a entrada é dividida no primeiro par ``;;" -"``, mesmo que esteja no meio de uma string entre aspas. Uma solução " +"Vários comandos podem ser inseridos em uma única linha, separados por " +"``;;``. (Um único ``;`` não é usado, pois é o separador para vários comandos " +"em uma linha que é passada para o analisador Python.) Nenhuma inteligência é " +"aplicada para separar os comandos; a entrada é dividida no primeiro par " +"``;;``, mesmo que esteja no meio de uma string entre aspas. Uma solução " "alternativa para strings com caractere de ponto e vírgula duplo é usar a " "concatenação de string implícita ``';'';'`` ou ``\";\"\";\"``." @@ -435,18 +433,30 @@ msgstr "" msgid "" "If a file :file:`.pdbrc` exists in the user's home directory or in the " "current directory, it is read with ``'utf-8'`` encoding and executed as if " -"it had been typed at the debugger prompt. This is particularly 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." +"it had been typed at the debugger prompt, with the exception that empty " +"lines and lines starting with ``#`` are ignored. This is particularly " +"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 "" "Se um arquivo :file:`.pdbrc` existe no diretório inicial do usuário ou no " "diretório atual, ele é lido com a codificação ``'utf-8'`` e executado como " -"se tivesse sido digitado no prompt do depurador. Isso é particularmente útil " -"para aliases. Se ambos os arquivos existirem, aquele no diretório inicial " -"será lido primeiro e os aliases definidos poderão ser substituídos pelo " -"arquivo local." +"se tivesse sido digitado no prompt do depurador, com a exceção de que linhas " +"vazias e linhas iniciando com ``#`` são ignoradas. Isso é particularmente " +"útil para aliases. Se ambos os arquivos existirem, aquele no diretório " +"inicial será lido primeiro e os aliases definidos poderão ser substituídos " +"pelo arquivo local." + +#: ../../library/pdb.rst:277 +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` agora pode conter comandos que continuam a depuração, " +"como :pdbcmd:`continue` ou :pdbcmd:`next`. Anteriormente, esses comandos não " +"tinham efeito." -#: ../../library/pdb.rst:276 +#: ../../library/pdb.rst:282 msgid "" ":file:`.pdbrc` is now read with ``'utf-8'`` encoding. Previously, it was " "read with the system locale encoding." @@ -454,17 +464,7 @@ msgstr "" ":file:`.pdbrc` agora é lido com a codificação ``'utf-8'``. Anteriormente, " "ele era lido com a codificação da localidade do sistema." -#: ../../library/pdb.rst:280 -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` agora pode conter comandos que continuam a depuração, como :" -"pdbcmd:`continue` ou :pdbcmd:`next`. Anteriormente, esses comandos não " -"tinham efeito." - -#: ../../library/pdb.rst:288 +#: ../../library/pdb.rst:289 msgid "" "Without argument, print the list of available commands. With a *command* as " "argument, print help about that command. ``help pdb`` displays the full " @@ -478,7 +478,7 @@ msgstr "" "*command* deve ser um identificador, ``help exec`` deve ser inserido para " "obter ajuda sobre o comando ``!``." -#: ../../library/pdb.rst:296 +#: ../../library/pdb.rst:297 msgid "" "Print a stack trace, with the most recent frame at the bottom. An arrow " "(``>``) indicates the current frame, which determines the context of most " @@ -488,7 +488,7 @@ msgstr "" "recente na parte inferior. Uma seta (``>``) indica o quadro atual, que " "determina o contexto da maioria dos comandos." -#: ../../library/pdb.rst:301 +#: ../../library/pdb.rst:302 msgid "" "Move the current frame *count* (default one) levels down in the stack trace " "(to a newer frame)." @@ -496,7 +496,7 @@ msgstr "" "Move os níveis do quadro atual *count* (padrão 1) para baixo no stack trace " "(para um quadro mais recente)." -#: ../../library/pdb.rst:306 +#: ../../library/pdb.rst:307 msgid "" "Move the current frame *count* (default one) levels up in the stack trace " "(to an older frame)." @@ -504,7 +504,7 @@ msgstr "" "Move os níveis do quadro atual na *count* (padrão 1) para cima no stack " "trace (para um quadro mais antigo)." -#: ../../library/pdb.rst:311 +#: ../../library/pdb.rst:312 msgid "" "With a *lineno* argument, set a break there in the current file. With a " "*function* argument, set a break at the first executable statement within " @@ -523,7 +523,7 @@ msgstr "" "um número ao qual todos os outros comandos de ponto de interrupção se " "referem." -#: ../../library/pdb.rst:318 +#: ../../library/pdb.rst:319 msgid "" "If a second argument is present, it is an expression which must evaluate to " "true before the breakpoint is honored." @@ -531,7 +531,7 @@ msgstr "" "Se um segundo argumento estiver presente, é uma expressão que deve ser " "avaliada como verdadeira antes que o ponto de interrupção seja respeitado." -#: ../../library/pdb.rst:321 +#: ../../library/pdb.rst:322 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 " @@ -541,16 +541,16 @@ msgstr "" "interrupção, o número de vezes que o ponto de interrupção foi atingido, a " "contagem atual de ignorados e a condição associada, se houver." -#: ../../library/pdb.rst:327 +#: ../../library/pdb.rst:328 msgid "" "Temporary breakpoint, which is removed automatically when it is first hit. " "The arguments are the same as for :pdbcmd:`break`." msgstr "" "Ponto de interrupção temporário, que é removido automaticamente quando é " -"atingido pela primeira vez. Os argumentos são os mesmos que para :pdbcmd:" -"`break`." +"atingido pela primeira vez. Os argumentos são os mesmos que " +"para :pdbcmd:`break`." -#: ../../library/pdb.rst:332 +#: ../../library/pdb.rst:333 msgid "" "With a *filename:lineno* argument, clear all the breakpoints at this line. " "With a space separated list of breakpoint numbers, clear those breakpoints. " @@ -561,7 +561,7 @@ msgstr "" "interrupção, limpa esses pontos de interrupção. Sem argumento, limpa todas " "as quebras (mas primeiro pede a confirmação)." -#: ../../library/pdb.rst:338 +#: ../../library/pdb.rst:339 msgid "" "Disable the breakpoints given as a space separated list of breakpoint " "numbers. Disabling a breakpoint means it cannot cause the program to stop " @@ -574,11 +574,11 @@ msgstr "" "mas, ao contrário de limpar um ponto de interrupção, ele permanece na lista " "de pontos de interrupção e pode ser (re)ativado." -#: ../../library/pdb.rst:345 +#: ../../library/pdb.rst:346 msgid "Enable the breakpoints specified." msgstr "Ativa o ponto de interrupção especificado." -#: ../../library/pdb.rst:349 +#: ../../library/pdb.rst:350 msgid "" "Set the ignore count for the given breakpoint number. If *count* is " "omitted, the ignore count is set to 0. A breakpoint becomes active when the " @@ -593,7 +593,7 @@ msgstr "" "vez que o ponto de interrupção é atingido e o ponto de interrupção não é " "desativado e qualquer condição associada é avaliada como verdadeira." -#: ../../library/pdb.rst:357 +#: ../../library/pdb.rst:358 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 " @@ -604,17 +604,17 @@ msgstr "" "respeitado. Se *condition* for omitida, qualquer condição existente será " "removida; isto é, o ponto de interrupção é tornado incondicional." -#: ../../library/pdb.rst:363 +#: ../../library/pdb.rst:364 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 "" "Especifica uma lista de comandos para o número do ponto de interrupção " -"*bpnumber*. Os próprios comandos aparecem nas seguintes linhas. Digite em " +"*bpnumber*. Os próprios comandos aparecem nas linhas seguintes. Digite em " "uma linha contendo apenas ``end`` para finalizar os comandos. Um exemplo::" -#: ../../library/pdb.rst:372 +#: ../../library/pdb.rst:373 msgid "" "To remove all commands from a breakpoint, type ``commands`` and follow it " "immediately with ``end``; that is, give no commands." @@ -622,14 +622,14 @@ msgstr "" "Para remover todos os comandos de um ponto de interrupção, digite " "``commands`` e siga-o imediatamente com ``end``; isto é, não dê comandos." -#: ../../library/pdb.rst:375 +#: ../../library/pdb.rst:376 msgid "" "With no *bpnumber* argument, ``commands`` refers to the last breakpoint set." msgstr "" "Sem argumento *bpnumber*, ``commands`` refere-se ao último conjunto de " "pontos de interrupção." -#: ../../library/pdb.rst:377 +#: ../../library/pdb.rst:378 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 " @@ -639,25 +639,25 @@ msgstr "" "novamente. Simplesmente use o comando :pdbcmd:`continue`, ou :pdbcmd:`step`, " "ou qualquer outro comando que reinicie a execução." -#: ../../library/pdb.rst:381 +#: ../../library/pdb.rst:382 msgid "" -"Specifying any command resuming execution (currently :pdbcmd:`continue`, :" -"pdbcmd:`step`, :pdbcmd:`next`, :pdbcmd:`return`, :pdbcmd:`jump`, :pdbcmd:" -"`quit` and their abbreviations) terminates the command list (as if that " -"command was immediately followed by end). This is because any time you " -"resume execution (even with a simple next or step), you may encounter " -"another breakpoint—which could have its own command list, leading to " -"ambiguities about which list to execute." +"Specifying any command resuming execution " +"(currently :pdbcmd:`continue`, :pdbcmd:`step`, :pdbcmd:`next`, :pdbcmd:`return`, :pdbcmd:`jump`, :pdbcmd:`quit` " +"and their abbreviations) terminates the command list (as if that command was " +"immediately followed by end). This is because any time you resume execution " +"(even with a simple next or step), you may encounter another breakpoint—" +"which could have its own command list, leading to ambiguities about which " +"list to execute." msgstr "" -"Especificar qualquer comando que retome a execução (atualmente :pdbcmd:" -"`continue`, :pdbcmd:`step`, :pdbcmd:`next`, :pdbcmd:`return`, :pdbcmd:" -"`jump`, :pdbcmd:`quit` e suas abreviações) finaliza a lista de comandos " -"(como se esse comando fosse imediatamente seguido pelo final). Isso ocorre " -"sempre que você retoma a execução (mesmo com uma simples etapa ou etapa), " -"você pode encontrar outro ponto de interrupção — que pode ter sua própria " -"lista de comandos, levando a ambiguidades sobre qual lista executar." +"Especificar qualquer comando que retome a execução " +"(atualmente :pdbcmd:`continue`, :pdbcmd:`step`, :pdbcmd:`next`, :pdbcmd:`return`, :pdbcmd:`jump`, :pdbcmd:`quit` " +"e suas abreviações) finaliza a lista de comandos (como se esse comando fosse " +"imediatamente seguido pelo final). Isso ocorre sempre que você retoma a " +"execução (mesmo com uma simples etapa ou etapa), você pode encontrar outro " +"ponto de interrupção — que pode ter sua própria lista de comandos, levando a " +"ambiguidades sobre qual lista executar." -#: ../../library/pdb.rst:390 +#: ../../library/pdb.rst:391 msgid "" "If you use the ``silent`` command in the command list, the usual message " "about stopping at a breakpoint is not printed. This may be desirable for " @@ -671,7 +671,7 @@ msgstr "" "específica e continuar. Se nenhum dos outros comandos imprimir alguma coisa, " "você não vê sinal de que o ponto de interrupção foi atingido." -#: ../../library/pdb.rst:397 +#: ../../library/pdb.rst:398 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)." @@ -679,7 +679,7 @@ msgstr "" "Executa a linha atual, interrompe na primeira ocasião possível (em uma " "função chamada ou na próxima linha na função atual)." -#: ../../library/pdb.rst:402 +#: ../../library/pdb.rst:403 msgid "" "Continue execution until the next line in the current function is reached or " "it returns. (The difference between :pdbcmd:`next` and :pdbcmd:`step` is " @@ -688,12 +688,12 @@ msgid "" "line in the current function.)" msgstr "" "Continua a execução até que a próxima linha na função atual seja atingida ou " -"ela retorne. (A diferença entre :pdbcmd:`next` e :pdbcmd:`step` é que :" -"pdbcmd:`step` para dentro de uma função chamada, enquanto :pdbcmd:`next` " -"executa funções chamadas em (quase) velocidade máxima, parando apenas na " -"próxima linha da função atual.)" +"ela retorne. (A diferença entre :pdbcmd:`next` e :pdbcmd:`step` é " +"que :pdbcmd:`step` para dentro de uma função chamada, " +"enquanto :pdbcmd:`next` executa funções chamadas em (quase) velocidade " +"máxima, parando apenas na próxima linha da função atual.)" -#: ../../library/pdb.rst:410 +#: ../../library/pdb.rst:411 msgid "" "Without argument, continue execution until the line with a number greater " "than the current one is reached." @@ -701,7 +701,7 @@ msgstr "" "Sem argumento, continua a execução até que a linha com um número maior que o " "atual seja atingida." -#: ../../library/pdb.rst:413 +#: ../../library/pdb.rst:414 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 " @@ -711,21 +711,21 @@ msgstr "" "igual a *lineno* ser alcançada. Nos dois casos, também interrompe quando o " "quadro atual retornar." -#: ../../library/pdb.rst:417 +#: ../../library/pdb.rst:418 msgid "Allow giving an explicit line number." msgstr "Permite fornecer um número de linha explícito." -#: ../../library/pdb.rst:422 +#: ../../library/pdb.rst:423 msgid "Continue execution until the current function returns." msgstr "Continua a execução até que a função atual retorne." -#: ../../library/pdb.rst:426 +#: ../../library/pdb.rst:427 msgid "Continue execution, only stop when a breakpoint is encountered." msgstr "" "Continua a execução, interrompe apenas quando um ponto de interrupção for " "encontrado." -#: ../../library/pdb.rst:430 +#: ../../library/pdb.rst:431 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 " @@ -735,17 +735,17 @@ msgstr "" "inferior. Isso permite voltar e executar o código novamente ou avançar para " "pular o código que você não deseja executar." -#: ../../library/pdb.rst:434 +#: ../../library/pdb.rst:435 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." +"possible to jump into the middle of a :keyword:`for` loop or out of " +"a :keyword:`finally` clause." msgstr "" "Deve-se notar que nem todos os saltos são permitidos -- por exemplo, não é " "possível pular para o meio de um loop de :keyword:`for` ou sair de uma " "cláusula :keyword:`finally`." -#: ../../library/pdb.rst:440 +#: ../../library/pdb.rst:441 msgid "" "List source code for the current file. Without arguments, list 11 lines " "around the current line or continue the previous listing. With ``.`` as " @@ -760,7 +760,7 @@ msgstr "" "se o segundo argumento for menor que o primeiro, ele será interpretado como " "uma contagem." -#: ../../library/pdb.rst:446 +#: ../../library/pdb.rst:447 msgid "" "The current line in the current frame is indicated by ``->``. If an " "exception is being debugged, the line where the exception was originally " @@ -771,11 +771,11 @@ msgstr "" "sendo depurada, a linha em que a exceção foi originalmente gerada ou " "propagada é indicada por ``>>``, se for diferente da linha atual." -#: ../../library/pdb.rst:451 -msgid "The ``>>`` marker." -msgstr "O marcador ``>>``." +#: ../../library/pdb.rst:452 +msgid "Added the ``>>`` marker." +msgstr "Adicionado o marcador ``>>``." -#: ../../library/pdb.rst:456 +#: ../../library/pdb.rst:457 msgid "" "List all source code for the current function or frame. Interesting lines " "are marked as for :pdbcmd:`list`." @@ -783,15 +783,15 @@ msgstr "" "Lista todo o código-fonte da função ou quadro atual. As linhas interessantes " "estão marcadas como para :pdbcmd:`list`." -#: ../../library/pdb.rst:463 +#: ../../library/pdb.rst:464 msgid "Print the arguments of the current function and their current values." msgstr "Imprime os argumentos da função atual e seus valores atuais." -#: ../../library/pdb.rst:467 +#: ../../library/pdb.rst:468 msgid "Evaluate *expression* in the current context and print its value." msgstr "Avalia *expression* no contexto atual e imprima seu valor." -#: ../../library/pdb.rst:471 +#: ../../library/pdb.rst:472 msgid "" "``print()`` can also be used, but is not a debugger command --- this " "executes the Python :func:`print` function." @@ -799,7 +799,7 @@ msgstr "" "``print()`` também pode ser usado, mas não é um comando de depuração --- " "isso executa a função Python :func:`print`." -#: ../../library/pdb.rst:477 +#: ../../library/pdb.rst:478 msgid "" "Like the :pdbcmd:`p` command, except the value of *expression* is pretty-" "printed using the :mod:`pprint` module." @@ -807,15 +807,15 @@ msgstr "" "Como o comando :pdbcmd:`p`, exceto que o valor de *expression* é bastante " "impresso usando o módulo :mod:`pprint`." -#: ../../library/pdb.rst:482 +#: ../../library/pdb.rst:483 msgid "Print the type of *expression*." msgstr "Exibe o tipo de *expression*." -#: ../../library/pdb.rst:486 +#: ../../library/pdb.rst:487 msgid "Try to get source code of *expression* and display it." msgstr "Tenta obter o código-fonte de *expression* e exibe-o." -#: ../../library/pdb.rst:492 +#: ../../library/pdb.rst:493 msgid "" "Display the value of *expression* if it changed, each time execution stops " "in the current frame." @@ -823,13 +823,13 @@ msgstr "" "Exibe o valor de *expression* caso ela tenha sido alterada, sempre que a " "execução for interrompida no quadro atual." -#: ../../library/pdb.rst:495 +#: ../../library/pdb.rst:496 msgid "" "Without *expression*, list all display expressions for the current frame." msgstr "" "Sem *expression*, lista todas as expressões de exibição para o quadro atual." -#: ../../library/pdb.rst:499 +#: ../../library/pdb.rst:500 msgid "" "Display evaluates *expression* and compares to the result of the previous " "evaluation of *expression*, so when the result is mutable, display may not " @@ -839,11 +839,11 @@ msgstr "" "de *expression*, portanto, quando o resultado é mutável, display pode não " "ser capaz de captar as alterações." -#: ../../library/pdb.rst:503 +#: ../../library/pdb.rst:504 msgid "Example::" msgstr "Exemplo::" -#: ../../library/pdb.rst:511 +#: ../../library/pdb.rst:512 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::" @@ -852,13 +852,13 @@ msgstr "" "avaliação foi modificado internamente por ``lst.append(1)`` antes de ser " "comparado::" -#: ../../library/pdb.rst:526 +#: ../../library/pdb.rst:527 msgid "You can do some tricks with copy mechanism to make it work::" msgstr "" "Você pode fazer alguns truques com o mecanismo de cópia para fazê-lo " "funcionar::" -#: ../../library/pdb.rst:545 +#: ../../library/pdb.rst:546 msgid "" "Do not display *expression* anymore in the current frame. Without " "*expression*, clear all display expressions for the current frame." @@ -866,7 +866,7 @@ msgstr "" "Não exibe mais *expression* no quadro atual. Sem expressão, limpa todas as " "expressões de exibição para o quadro atual." -#: ../../library/pdb.rst:552 +#: ../../library/pdb.rst:553 msgid "" "Start an interactive interpreter (using the :mod:`code` module) whose global " "namespace contains all the (global and local) names found in the current " @@ -876,7 +876,7 @@ msgstr "" "de nomes global contenha todos os nomes (globais e locais) encontrados no " "escopo atual." -#: ../../library/pdb.rst:562 +#: ../../library/pdb.rst:563 msgid "" "Create an alias called *name* that executes *command*. The *command* must " "*not* be enclosed in quotes. Replaceable parameters can be indicated by " @@ -890,7 +890,7 @@ msgstr "" "os parâmetros. Se *command* for omitido, o alias atual para *name* será " "mostrado. Se nenhum argumento for fornecido, todos os aliases serão listados." -#: ../../library/pdb.rst:568 +#: ../../library/pdb.rst:569 msgid "" "Aliases may be nested and can contain anything that can be legally typed at " "the pdb prompt. Note that internal pdb commands *can* be overridden by " @@ -904,19 +904,19 @@ msgstr "" "alias seja removido. O alias é aplicado recursivamente à primeira palavra da " "linha de comando; todas as outras palavras da linha são deixadas em paz." -#: ../../library/pdb.rst:574 +#: ../../library/pdb.rst:575 msgid "" -"As an example, here are two useful aliases (especially when placed in the :" -"file:`.pdbrc` file)::" +"As an example, here are two useful aliases (especially when placed in " +"the :file:`.pdbrc` file)::" msgstr "" "Como exemplo, aqui estão dois aliases úteis (especialmente quando colocados " "no arquivo :file:`.pdbrc`)::" -#: ../../library/pdb.rst:584 +#: ../../library/pdb.rst:585 msgid "Delete the specified alias *name*." msgstr "Executa o alias *name* especificado." -#: ../../library/pdb.rst:588 +#: ../../library/pdb.rst:589 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 " @@ -930,23 +930,23 @@ msgstr "" "uma variável global, você pode prefixar o comando de atribuição com uma " "instrução :keyword:`global` na mesma linha, por exemplo::" -#: ../../library/pdb.rst:600 +#: ../../library/pdb.rst:601 msgid "" "Restart the debugged Python program. If *args* is supplied, it is split " "with :mod:`shlex` and the result is used as the new :data:`sys.argv`. " -"History, breakpoints, actions and debugger options are preserved. :pdbcmd:" -"`restart` is an alias for :pdbcmd:`run`." +"History, breakpoints, actions and debugger options are " +"preserved. :pdbcmd:`restart` is an alias for :pdbcmd:`run`." msgstr "" "Reinicia o programa Python depurado. Se *args* for fornecido, ele é dividido " "com :mod:`shlex` e o resultado é usado como o novo :data:`sys.argv`. " "Histórico, pontos de interrupção, ações e opções do depurador são " "preservados. :pdbcmd:`restart` é um apelido para :pdbcmd:`run`." -#: ../../library/pdb.rst:607 +#: ../../library/pdb.rst:608 msgid "Quit from the debugger. The program being executed is aborted." msgstr "Sai do depurador. O programa que está sendo executado é abortado." -#: ../../library/pdb.rst:611 +#: ../../library/pdb.rst:612 msgid "" "Enter a recursive debugger that steps through *code* (which is an arbitrary " "expression or statement to be executed in the current environment)." @@ -954,15 +954,15 @@ msgstr "" "Entra em um depurador recursivo que percorre *code* (que é uma expressão ou " "instrução arbitrária a ser executada no ambiente atual)." -#: ../../library/pdb.rst:617 +#: ../../library/pdb.rst:618 msgid "Print the return value for the last return of the current function." msgstr "Exibe o valor de retorno para o último retorno de a função atual." -#: ../../library/pdb.rst:620 +#: ../../library/pdb.rst:621 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/pdb.rst:621 +#: ../../library/pdb.rst:622 msgid "" "Whether a frame is considered to originate in a certain module is determined " "by the ``__name__`` in the frame globals." @@ -972,11 +972,11 @@ msgstr "" #: ../../library/pdb.rst:11 msgid "debugging" -msgstr "" +msgstr "depuração" #: ../../library/pdb.rst:21 msgid "Pdb (class in pdb)" -msgstr "" +msgstr "Pdb (classe no pdb)" #: ../../library/pdb.rst:21 msgid "module" @@ -988,11 +988,11 @@ msgstr "bdb" #: ../../library/pdb.rst:21 msgid "cmd" -msgstr "" +msgstr "cmd" #: ../../library/pdb.rst:266 msgid ".pdbrc" -msgstr "" +msgstr ".pdbrc" #: ../../library/pdb.rst:266 msgid "file" @@ -1000,8 +1000,8 @@ msgstr "arquivo" #: ../../library/pdb.rst:266 msgid "debugger" -msgstr "" +msgstr "depurador" #: ../../library/pdb.rst:266 msgid "configuration" -msgstr "" +msgstr "configuração" diff --git a/library/persistence.po b/library/persistence.po index 5c57b475e..4486322ed 100644 --- a/library/persistence.po +++ b/library/persistence.po @@ -1,26 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/pickle.po b/library/pickle.po index 21b97d8c9..76b383d3c 100644 --- a/library/pickle.po +++ b/library/pickle.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# And Past , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,9 +36,9 @@ msgid "" "The :mod:`pickle` module implements binary protocols for serializing and de-" "serializing a Python object structure. *\"Pickling\"* is the process " "whereby a Python object hierarchy is converted into a byte stream, and " -"*\"unpickling\"* is the inverse operation, whereby a byte stream (from a :" -"term:`binary file` or :term:`bytes-like object`) is converted back into an " -"object hierarchy. Pickling (and unpickling) is alternatively known as " +"*\"unpickling\"* is the inverse operation, whereby a byte stream (from " +"a :term:`binary file` or :term:`bytes-like object`) is converted back into " +"an object hierarchy. Pickling (and unpickling) is alternatively known as " "\"serialization\", \"marshalling,\" [#]_ or \"flattening\"; however, to " "avoid confusion, the terms used here are \"pickling\" and \"unpickling\"." msgstr "" @@ -49,7 +46,7 @@ msgstr "" "desserializar uma estrutura de objeto Python. *\"Pickling\"* é o processo " "pelo qual uma hierarquia de objetos Python é convertida em um fluxo de " "bytes, e *\"unpickling\"* é a operação inversa, em que um fluxo de bytes (de " -"um :term:`arquivo binário` ou :term:`objeto byte ou similar`) é convertido " +"um :term:`arquivo binário` ou :term:`objeto bytes ou similar`) é convertido " "de volta em uma hierarquia de objetos. Pickling (e unpickling) com pickle é " "alternativamente conhecido como \"serialização\", \"marshalling\" [#]_ ou " "\"flattening\"; no entanto, para evitar confusão, usa-se is termos " @@ -88,12 +85,12 @@ msgid "" "you are processing untrusted data. See :ref:`comparison-with-json`." msgstr "" "Formatos de serialização mais seguros como :mod:`json` podem ser mais " -"apropriados se você estiver processando dados não confiáveis. Vejo :ref:" -"`comparison-with-json`." +"apropriados se você estiver processando dados não confiáveis. " +"Vejo :ref:`comparison-with-json`." #: ../../library/pickle.rst:47 msgid "Relationship to other Python modules" -msgstr "Relacionamento com outros módulos Python" +msgstr "Relação com outros módulos Python" #: ../../library/pickle.rst:50 msgid "Comparison with ``marshal``" @@ -103,8 +100,8 @@ msgstr "Comparação com ``marshal``" msgid "" "Python has a more primitive serialization module called :mod:`marshal`, but " "in general :mod:`pickle` should always be the preferred way to serialize " -"Python objects. :mod:`marshal` exists primarily to support Python's :file:`." -"pyc` files." +"Python objects. :mod:`marshal` exists primarily to support " +"Python's :file:`.pyc` files." msgstr "" "Python tem um módulo de serialização mais primitivo chamado :mod:`marshal`, " "mas em geral :mod:`pickle` deve ser sempre a forma preferida de serializar " @@ -167,14 +164,14 @@ msgstr "" #: ../../library/pickle.rst:77 msgid "" "The :mod:`marshal` serialization format is not guaranteed to be portable " -"across Python versions. Because its primary job in life is to support :file:" -"`.pyc` files, the Python implementers reserve the right to change the " -"serialization format in non-backwards compatible ways should the need arise. " -"The :mod:`pickle` serialization format is guaranteed to be backwards " -"compatible across Python releases provided a compatible pickle protocol is " -"chosen and pickling and unpickling code deals with Python 2 to Python 3 type " -"differences if your data is crossing that unique breaking change language " -"boundary." +"across Python versions. Because its primary job in life is to " +"support :file:`.pyc` files, the Python implementers reserve the right to " +"change the serialization format in non-backwards compatible ways should the " +"need arise. The :mod:`pickle` serialization format is guaranteed to be " +"backwards compatible across Python releases provided a compatible pickle " +"protocol is chosen and pickling and unpickling code deals with Python 2 to " +"Python 3 type differences if your data is crossing that unique breaking " +"change language boundary." msgstr "" "O formato de serialização do :mod:`marshal` não tem garantia de " "portabilidade entre as versões do Python. Como sua principal tarefa em vida " @@ -196,6 +193,8 @@ msgid "" "There are fundamental differences between the pickle protocols and `JSON " "(JavaScript Object Notation) `_:" msgstr "" +"Existem diferenças fundamentais entre os protocolos pickle e `JSON " +"(JavaScript Object Notation) `_:" #: ../../library/pickle.rst:95 msgid "" @@ -224,8 +223,8 @@ msgid "" "JSON, by default, can only represent a subset of the Python built-in types, " "and no custom classes; pickle can represent an extremely large number of " "Python types (many of them automatically, by clever usage of Python's " -"introspection facilities; complex cases can be tackled by implementing :ref:" -"`specific object APIs `);" +"introspection facilities; complex cases can be tackled by " +"implementing :ref:`specific object APIs `);" msgstr "" "JSON, por padrão, só pode representar um subconjunto dos tipos embutidos do " "Python, e nenhuma classe personalizada; pickle pode representar um número " @@ -247,7 +246,7 @@ msgid "" "The :mod:`json` module: a standard library module allowing JSON " "serialization and deserialization." msgstr "" -"O módulo :mod:`json`: um módulo de biblioteca padrão que permite a " +"O módulo :mod:`json`: um módulo da biblioteca padrão que permite a " "serialização e desserialização JSON." #: ../../library/pickle.rst:121 @@ -263,10 +262,10 @@ msgid "" "objects." msgstr "" "O formato de dados usado por :mod:`pickle` é específico do Python. Isso tem " -"a vantagem de não haver restrições impostas por padrões externos, como JSON " -"ou XDR (que não podem representar o compartilhamento de ponteiro); no " -"entanto, isso significa que programas não Python podem não ser capazes de " -"reconstruir objetos Python conservados." +"a vantagem de não haver restrições impostas por padrões externos como JSON " +"ou XDR (que não podem representar compartilhamento de ponteiros); no " +"entanto, significa que programas não Python podem não ser capazes de " +"reconstruir objetos Python em pickle." #: ../../library/pickle.rst:131 msgid "" @@ -287,7 +286,7 @@ msgid "" msgstr "" "O módulo :mod:`pickletools` contém ferramentas para analisar fluxos de dados " "gerados por :mod:`pickle`. O código-fonte do :mod:`pickletools` tem extensos " -"comentários sobre códigos de operações usados ​​por protocolos de pickle." +"comentários sobre códigos de operações usados por protocolos de pickle." #: ../../library/pickle.rst:139 msgid "" @@ -295,7 +294,7 @@ msgid "" "The higher the protocol used, the more recent the version of Python needed " "to read the pickle produced." msgstr "" -"Existem atualmente 6 protocolos diferentes que podem ser usados ​​para a " +"Existem atualmente 6 protocolos diferentes que podem ser usados para a " "serialização com pickle. Quanto mais alto o protocolo usado, mais recente é " "a versão do Python necessária para ler o pickle produzido." @@ -321,12 +320,16 @@ msgid "" "efficient pickling of :term:`new-style classes `. Refer " "to :pep:`307` for information about improvements brought by protocol 2." msgstr "" +"A versão 2 do protocolo foi introduzida no Python 2.3. Ela fornece uma " +"serialização com pickle muito mais eficiente de :term:`classes estilo novo " +"`. Consulte :pep:`307` para obter informações sobre as " +"melhorias trazidas pelo protocolo 2." #: ../../library/pickle.rst:153 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." +"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 "" "A versão 3 do protocolo foi adicionada ao Python 3.0. Ela tem suporte " "explícito a objetos :class:`bytes` e não é possível desserializar com pickle " @@ -358,9 +361,9 @@ msgstr "" #: ../../library/pickle.rst:168 msgid "" -"Serialization is a more primitive notion than persistence; although :mod:" -"`pickle` reads and writes file objects, it does not handle the issue of " -"naming persistent objects, nor the (even more complicated) issue of " +"Serialization is a more primitive notion than persistence; " +"although :mod:`pickle` reads and writes file objects, it does not handle the " +"issue of naming persistent objects, nor the (even more complicated) issue of " "concurrent access to persistent objects. The :mod:`pickle` module can " "transform a complex object into a byte stream and it can transform the byte " "stream into an object with the same internal structure. Perhaps the most " @@ -369,8 +372,8 @@ msgid "" "database. The :mod:`shelve` module provides a simple interface to pickle " "and unpickle objects on DBM-style database files." msgstr "" -"A serialização é uma noção mais primitiva do que a persistência; embora o :" -"mod:`pickle` leia e escreva objetos de arquivo, ele não lida com a questão " +"A serialização é uma noção mais primitiva do que a persistência; embora " +"o :mod:`pickle` leia e escreva objetos arquivo, ele não lida com a questão " "de nomear objetos persistentes, nem a questão (ainda mais complicada) de " "acesso simultâneo a objetos persistentes. O módulo :mod:`pickle` pode " "transformar um objeto complexo em um fluxo de bytes e pode transformar o " @@ -388,16 +391,16 @@ msgstr "Interface do módulo" #: ../../library/pickle.rst:183 msgid "" "To serialize an object hierarchy, you simply call the :func:`dumps` " -"function. Similarly, to de-serialize a data stream, you call the :func:" -"`loads` function. However, if you want more control over serialization and " -"de-serialization, you can create a :class:`Pickler` or an :class:`Unpickler` " -"object, respectively." +"function. Similarly, to de-serialize a data stream, you call " +"the :func:`loads` function. However, if you want more control over " +"serialization and de-serialization, you can create a :class:`Pickler` or " +"an :class:`Unpickler` object, respectively." msgstr "" -"Para serializar uma hierarquia de objeto, você simplesmente chama a função :" -"func:`dumps`. Da mesma forma, para desserializar um fluxo de dados, você " -"chama a função :func:`loads`. No entanto, se você quiser mais controle sobre " -"a serialização e desserialização, pode criar um objeto :class:`Pickler` ou :" -"class:`Unpickler`, respectivamente." +"Para serializar uma hierarquia de objeto, você simplesmente chama a " +"função :func:`dumps`. Da mesma forma, para desserializar um fluxo de dados, " +"você chama a função :func:`loads`. No entanto, se você quiser mais controle " +"sobre a serialização e desserialização, pode criar um " +"objeto :class:`Pickler` ou :class:`Unpickler`, respectivamente." #: ../../library/pickle.rst:188 msgid "The :mod:`pickle` module provides the following constants:" @@ -406,13 +409,14 @@ msgstr "O módulo :mod:`pickle` fornece as seguintes constantes:" #: ../../library/pickle.rst:193 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." +"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 "" -"Um inteiro, a mais alta :ref:`versão de protocolo ` " +"Um inteiro, a :ref:`versão de protocolo ` mais alta " "disponível. Este valor pode ser passado como um valor de *protocol* para as " -"funções :func:`dump` e :func:`dumps`, bem como o construtor de :class:" -"`Pickler`." +"funções :func:`dump` e :func:`dumps`, bem como para o construtor " +"de :class:`Pickler`." #: ../../library/pickle.rst:200 msgid "" @@ -447,9 +451,9 @@ 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 "" -"Escreve a representação após a serialização com pickle do objeto *obj* no :" -"term:`objeto arquivo` aberto *file*. Isso é equivalente a ``Pickler(file, " -"protocol).dump(obj)``." +"Escreve a representação após a serialização com pickle do objeto *obj* " +"no :term:`objeto arquivo` aberto *file*. Isso é equivalente a " +"``Pickler(file, protocol).dump(obj)``." #: ../../library/pickle.rst:222 msgid "" @@ -457,7 +461,7 @@ msgid "" "same meaning as in the :class:`Pickler` constructor." msgstr "" "Os argumentos *file*, *protocol*, *fix_imports* e *buffer_callback* têm o " -"mesmo sentido que no construtor de :class:`Pickler`." +"mesmo significado que no construtor de :class:`Pickler`." #: ../../library/pickle.rst:225 ../../library/pickle.rst:236 #: ../../library/pickle.rst:328 @@ -469,8 +473,8 @@ msgid "" "Return the pickled representation of the object *obj* as a :class:`bytes` " "object, instead of writing it to a file." msgstr "" -"Retorna a representação em após a serialização com pickle do objeto *obj* " -"como um objeto :class:`bytes`, ao invés de escrevê-lo em um arquivo." +"Retorna a representação após a serialização com pickle do objeto *obj* como " +"um objeto :class:`bytes`, ao invés de escrevê-lo em um arquivo." #: ../../library/pickle.rst:233 msgid "" @@ -478,7 +482,7 @@ msgid "" "meaning as in the :class:`Pickler` constructor." msgstr "" "Os argumentos *protocol*, *fix_imports* e *buffer_callback* têm o mesmo " -"sentido que no construtor de :class:`Pickler`." +"significado que no construtor de :class:`Pickler`." #: ../../library/pickle.rst:241 msgid "" @@ -486,10 +490,10 @@ msgid "" "object` *file* and return the reconstituted object hierarchy specified " "therein. This is equivalent to ``Unpickler(file).load()``." msgstr "" -"Lê a representação serializada com pickle de um objeto a partir de :term:" -"`objeto arquivo` aberto *file* e retorna a hierarquia de objeto " -"reconstituído especificada nele. Isso é equivalente a ``Unpickler(file)." -"load()``." +"Lê a representação serializada com pickle de um objeto a partir " +"do :term:`objeto arquivo` aberto *file* e retorna a hierarquia de objeto " +"reconstituído especificada nele. Isso é equivalente a " +"``Unpickler(file).load()``." #: ../../library/pickle.rst:245 ../../library/pickle.rst:260 msgid "" @@ -507,8 +511,7 @@ msgid "" "*buffers* have the same meaning as in the :class:`Unpickler` constructor." msgstr "" "Os argumentos *file*, *fix_imports*, *encoding*, *errors*, *strict* e " -"*buffers* têm o mesmo significado que no construtor construtor :class:" -"`Unpickler`." +"*buffers* têm o mesmo significado que no construtor de :class:`Unpickler`." #: ../../library/pickle.rst:252 ../../library/pickle.rst:267 #: ../../library/pickle.rst:429 @@ -521,7 +524,7 @@ msgid "" "*data* of an object. *data* must be a :term:`bytes-like object`." msgstr "" "Retorna a hierarquia de objeto reconstituído da representação serializada " -"com pickle *data* de um objeto. *data* deve ser um :term:`objeto byte ou " +"com pickle *data* de um objeto. *data* deve ser um :term:`objeto bytes ou " "similar`." #: ../../library/pickle.rst:264 @@ -529,6 +532,8 @@ msgid "" "Arguments *fix_imports*, *encoding*, *errors*, *strict* and *buffers* have " "the same meaning as in the :class:`Unpickler` constructor." msgstr "" +"Os argumentos *fix_imports*, *encoding*, *errors*, *strict* e *buffers* têm " +"o mesmo significado que no construtor de :class:`Unpickler`." #: ../../library/pickle.rst:271 msgid "The :mod:`pickle` module defines three exceptions:" @@ -536,19 +541,19 @@ msgstr "O módulo :mod:`pickle` define três exceções:" #: ../../library/pickle.rst:275 msgid "" -"Common base class for the other pickling exceptions. It inherits :exc:" -"`Exception`." +"Common base class for the other pickling exceptions. It inherits " +"from :exc:`Exception`." msgstr "" -"Classe base comum para as outras exceções de serialização com pickle. Herda :" -"exc:`Exception`." +"Classe base comum para as outras exceções de serialização com pickle. Herda " +"de :exc:`Exception`." #: ../../library/pickle.rst:280 msgid "" "Error raised when an unpicklable object is encountered by :class:`Pickler`. " -"It inherits :exc:`PickleError`." +"It inherits from :exc:`PickleError`." msgstr "" "Erro levantado quando um objeto não serializável com pickle é encontrado " -"por :class:`Pickler`. Herda :exc:`PickleError`." +"por :class:`Pickler`. Herda de :exc:`PickleError`." #: ../../library/pickle.rst:283 msgid "" @@ -561,10 +566,10 @@ msgstr "" #: ../../library/pickle.rst:288 msgid "" "Error raised when there is a problem unpickling an object, such as a data " -"corruption or a security violation. It inherits :exc:`PickleError`." +"corruption or a security violation. It inherits from :exc:`PickleError`." msgstr "" "Erro levantado quando há um problema ao desserializar com pickle um objeto, " -"como dados corrompidos ou violação de segurança. Herda :exc:`PickleError`." +"como dados corrompidos ou violação de segurança. Herda de :exc:`PickleError`." #: ../../library/pickle.rst:291 msgid "" @@ -578,15 +583,15 @@ msgstr "" #: ../../library/pickle.rst:296 msgid "" -"The :mod:`pickle` module exports three classes, :class:`Pickler`, :class:" -"`Unpickler` and :class:`PickleBuffer`:" +"The :mod:`pickle` module exports three " +"classes, :class:`Pickler`, :class:`Unpickler` and :class:`PickleBuffer`:" msgstr "" -"O módulo :mod:`pickle` exporta três classes, :class:`Pickler`, :class:" -"`Unpickler` e :class:`PickleBuffer`:" +"O módulo :mod:`pickle` exporta três " +"classes, :class:`Pickler`, :class:`Unpickler` e :class:`PickleBuffer`:" #: ../../library/pickle.rst:301 msgid "This takes a binary file for writing a pickle data stream." -msgstr "Isso leva um arquivo binário a escrever um fluxo de dados pickle." +msgstr "Isso recebe um arquivo binário para escrever um fluxo de dados pickle." #: ../../library/pickle.rst:303 msgid "" @@ -596,16 +601,16 @@ msgid "" "number is specified, :data:`HIGHEST_PROTOCOL` is selected." msgstr "" "O argumento opcional *protocol*, um inteiro, diz ao pickler para usar o " -"protocolo fornecido; os protocolos suportados são de 0 a :data:" -"`HIGHEST_PROTOCOL`. Se não for especificado, o padrão é :data:" -"`DEFAULT_PROTOCOL`. Se um número negativo for especificado, :data:" -"`HIGHEST_PROTOCOL` é selecionado." +"protocolo fornecido; os protocolos suportados são de 0 " +"a :data:`HIGHEST_PROTOCOL`. Se não for especificado, o padrão " +"é :data:`DEFAULT_PROTOCOL`. Se um número negativo for " +"especificado, :data:`HIGHEST_PROTOCOL` é selecionado." #: ../../library/pickle.rst:308 msgid "" "The *file* argument must have a write() method that accepts a single bytes " -"argument. It can thus be an on-disk file opened for binary writing, an :" -"class:`io.BytesIO` instance, or any other custom object that meets this " +"argument. It can thus be an on-disk file opened for binary writing, " +"an :class:`io.BytesIO` instance, or any other custom object that meets this " "interface." msgstr "" "O argumento *file* deve ter um método write() que aceite um argumento de um " @@ -619,10 +624,9 @@ msgid "" "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 "" -"Se *fix_imports* for verdadeiro e *protocolo* for menor que 3, pickle " -"tentará mapear os novos nomes do Python 3 para os nomes dos módulos antigos " -"usados no Python 2, de modo que o fluxo de dados pickle seja legível com o " -"Python 2." +"Se *fix_imports* for verdadeiro e *protocol* for menor que 3, pickle tentará " +"mapear os novos nomes do Python 3 para os nomes dos módulos antigos usados " +"no Python 2, de modo que o fluxo de dados pickle seja legível com o Python 2." #: ../../library/pickle.rst:317 msgid "" @@ -692,31 +696,33 @@ msgid "" "the kind which can be declared using :func:`copyreg.pickle`. It is a " "mapping whose keys are classes and whose values are reduction functions. A " "reduction function takes a single argument of the associated class and " -"should conform to the same interface as a :meth:`__reduce__` method." +"should conform to the same interface as a :meth:`~object.__reduce__` method." msgstr "" "A tabela de despacho de um objeto pickler é um registro de *funções de " "redução* do tipo que pode ser declarado usando :func:`copyreg.pickle`. É um " "mapeamento cujas chaves são classes e cujos valores são funções de redução. " "Uma função de redução leva um único argumento da classe associada e deve " -"estar de acordo com a mesma interface de um método :meth:`__reduce__`." +"estar de acordo com a mesma interface de um " +"método :meth:`~object.__reduce__`." #: ../../library/pickle.rst:358 msgid "" "By default, a pickler object will not have a :attr:`dispatch_table` " -"attribute, and it will instead use the global dispatch table managed by the :" -"mod:`copyreg` module. However, to customize the pickling for a specific " +"attribute, and it will instead use the global dispatch table managed by " +"the :mod:`copyreg` module. However, to customize the pickling for a specific " "pickler object one can set the :attr:`dispatch_table` attribute to a dict-" -"like object. Alternatively, if a subclass of :class:`Pickler` has a :attr:" -"`dispatch_table` attribute then this will be used as the default dispatch " -"table for instances of that class." +"like object. Alternatively, if a subclass of :class:`Pickler` has " +"a :attr:`dispatch_table` attribute then this will be used as the default " +"dispatch table for instances of that class." msgstr "" "Por padrão, um objeto pickler não terá um atributo :attr:`dispatch_table`, e " -"em vez disso usará a tabela de despacho global gerenciada pelo módulo :mod:" -"`copyreg`. No entanto, para personalizar a serialização com pickle de um " -"objeto pickler específico, pode-se definir o atributo :attr:`dispatch_table` " -"para um objeto do tipo dict. Alternativamente, se uma subclasse de :class:" -"`Pickler` tem um atributo :attr:`dispatch_table` então ele será usado como a " -"tabela de despacho padrão para instâncias daquela classe." +"em vez disso usará a tabela de despacho global gerenciada pelo " +"módulo :mod:`copyreg`. No entanto, para personalizar a serialização com " +"pickle de um objeto pickler específico, pode-se definir o " +"atributo :attr:`dispatch_table` para um objeto do tipo dict. " +"Alternativamente, se uma subclasse de :class:`Pickler` tem um " +"atributo :attr:`dispatch_table` então ele será usado como a tabela de " +"despacho padrão para instâncias daquela classe." #: ../../library/pickle.rst:367 msgid "See :ref:`pickle-dispatch` for usage examples." @@ -726,16 +732,16 @@ msgstr "Consulte :ref:`pickle-dispatch` para exemplos de uso." msgid "" "Special reducer that can be defined in :class:`Pickler` subclasses. This " "method has priority over any reducer in the :attr:`dispatch_table`. It " -"should conform to the same interface as a :meth:`__reduce__` method, and can " -"optionally return ``NotImplemented`` to fallback on :attr:`dispatch_table`-" -"registered reducers to pickle ``obj``." +"should conform to the same interface as a :meth:`~object.__reduce__` method, " +"and can optionally return :data:`NotImplemented` to fallback " +"on :attr:`dispatch_table`-registered reducers to pickle ``obj``." msgstr "" "Redutor especial que pode ser definido em subclasses de :class:`Pickler`. " "Este método tem prioridade sobre qualquer redutor em :attr:`dispatch_table`. " -"Ele deve estar de acordo com a mesma interface que um método :meth:" -"`__reduce__` e pode opcionalmente retornar ``NotImplemented`` como " -"alternativa em redutores registrados em :attr:`dispatch_table` para " -"serializar com pickle ``obj``." +"Ele deve estar de acordo com a mesma interface que um " +"método :meth:`~object.__reduce__` e pode opcionalmente " +"retornar :data:`NotImplemented` como alternativa em redutores registrados " +"em :attr:`dispatch_table` para serializar com pickle ``obj``." #: ../../library/pickle.rst:379 msgid "For a detailed example, see :ref:`reducer_override`." @@ -748,7 +754,7 @@ msgid "" "superfluous PUT opcodes. It should not be used with self-referential " "objects, doing otherwise will cause :class:`Pickler` to recurse infinitely." msgstr "" -"Descontinuado. Ative o modo rápido se definido como um valor verdadeiro. O " +"Descontinuado. Ativa o modo rápido se definido como um valor verdadeiro. O " "modo rápido desabilita o uso de memo, portanto, agilizando o processo de " "serialização com pickle por não gerar códigos de operação PUT supérfluos. " "Ele não deve ser usado com objetos autorreferenciais, fazer o contrário fará " @@ -776,17 +782,17 @@ msgstr "" msgid "" "The argument *file* must have three methods, a read() method that takes an " "integer argument, a readinto() method that takes a buffer argument and a " -"readline() method that requires no arguments, as in the :class:`io." -"BufferedIOBase` interface. Thus *file* can be an on-disk file opened for " -"binary reading, an :class:`io.BytesIO` object, or any other custom object " -"that meets this interface." +"readline() method that requires no arguments, as in " +"the :class:`io.BufferedIOBase` interface. Thus *file* can be an on-disk " +"file opened for binary reading, an :class:`io.BytesIO` object, or any other " +"custom object that meets this interface." msgstr "" "O argumento *file* deve ter três métodos: um método read() que recebe um " "argumento inteiro, um método readinto() que recebe um argumento buffer e um " -"método readline() que não requer argumentos, como na interface :class:`io." -"BufferedIOBase`. Assim, *file* pode ser um arquivo em disco aberto para " -"leitura binária, um objeto :class:`io.BytesIO` ou qualquer outro objeto " -"personalizado que atenda a esta interface." +"método readline() que não requer argumentos, como na " +"interface :class:`io.BufferedIOBase`. Assim, *file* pode ser um arquivo em " +"disco aberto para leitura binária, um objeto :class:`io.BytesIO` ou qualquer " +"outro objeto personalizado que atenda a esta interface." #: ../../library/pickle.rst:408 msgid "" @@ -797,21 +803,22 @@ msgid "" "decode 8-bit string instances pickled by Python 2; these default to 'ASCII' " "and 'strict', respectively. The *encoding* can be 'bytes' to read these 8-" "bit string instances as bytes objects. Using ``encoding='latin1'`` is " -"required for unpickling NumPy arrays and instances of :class:`~datetime." -"datetime`, :class:`~datetime.date` and :class:`~datetime.time` pickled by " -"Python 2." +"required for unpickling NumPy arrays and instances " +"of :class:`~datetime.datetime`, :class:`~datetime.date` " +"and :class:`~datetime.time` pickled by Python 2." msgstr "" "Os argumentos opcionais *fix_imports*, *encoding* e *errors* são usados para " "controlar o suporte de compatibilidade ao fluxo pickle gerado pelo Python 2. " "Se *fix_imports* for verdadeiro, pickle tentará mapear os nomes antigos do " -"Python 2 para os novos nomes usados no Python 3. Os *encoding* e *erros* " -"dizem ao pickle como decodificar instâncias de string de 8 bits capturadas " -"pelo Python 2; o padrão é 'ASCII' e 'strict', respectivamente. O argumento " -"*encoding* pode ser 'bytes' para ler essas instâncias de string de 8 bits " -"como objetos de bytes. Usar ``encoding='latin1'`` é necessário para a " -"desserialização com pickle de vetores NumPy e instâncias de :class:" -"`~datetime.datetime`, :class:`~datetime.date` e :class:`~datetime.time` " -"serializadas com pickle pelo Python 2." +"Python 2 para os novos nomes usados no Python 3. Os argumentos *encoding* e " +"*errors* dizem ao pickle como decodificar instâncias de string de 8 bits " +"capturadas pelo Python 2; os padrões são 'ASCII' e 'strict', " +"respectivamente. O argumento *encoding* pode ser 'bytes' para ler essas " +"instâncias de string de 8 bits como objetos de bytes. Usar " +"``encoding='latin1'`` é necessário para a desserialização com pickle de " +"vetores NumPy e instâncias " +"de :class:`~datetime.datetime`, :class:`~datetime.date` " +"e :class:`~datetime.time` serializadas com pickle pelo Python 2." #: ../../library/pickle.rst:419 msgid "" @@ -855,12 +862,12 @@ msgstr "Levanta um :exc:`UnpicklingError` por padrão." #: ../../library/pickle.rst:443 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." +"the persistent ID *pid*. If an invalid persistent ID is encountered, " +"an :exc:`UnpicklingError` should be raised." msgstr "" "Se definido, :meth:`persistent_load` deve retornar o objeto especificado " "pelo ID persistente *pid*. Se um ID persistente inválido for encontrado, " -"uma :exc:`UnpicklingError` deve ser levantada." +"um :exc:`UnpicklingError` deve ser levantado." #: ../../library/pickle.rst:451 msgid "" @@ -877,8 +884,8 @@ msgstr "" #: ../../library/pickle.rst:456 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." +"how they can be loaded, potentially reducing security risks. Refer " +"to :ref:`pickle-restrict` for details." msgstr "" "As subclasses podem substituir isso para obter controle sobre quais tipos de " "objetos e como eles podem ser carregados, reduzindo potencialmente os riscos " @@ -890,23 +897,23 @@ msgid "" "arguments ``module``, ``name``." msgstr "" "Levanta um :ref:`evento de auditoria ` ``pickle.find_class`` com " -"argumento ``module``, ``name``." +"os argumentos ``module``, ``name``." #: ../../library/pickle.rst:464 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." +"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 "" "Um invólucro para um buffer que representa dados serializáveis com pickle. " "*buffer* deve ser um objeto :ref:`provedor de buffer `, como " -"um :term:`objeto byte ou similar` ou um vetor N-dimensional." +"um :term:`objeto bytes ou similar` ou um vetor N-dimensional." #: ../../library/pickle.rst:468 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`." +"to pass it to other APIs expecting a buffer-providing object, such " +"as :class:`memoryview`." msgstr "" ":class:`PickleBuffer` é ele próprio um provedor de buffer, de forma que é " "possível passá-lo para outras APIs que esperam um objeto provedor de buffer, " @@ -947,81 +954,108 @@ msgid "The following types can be pickled:" msgstr "Os seguintes tipos podem ser serializados com pickle:" #: ../../library/pickle.rst:497 -msgid "``None``, ``True``, and ``False``;" +msgid "" +"built-in constants (``None``, ``True``, ``False``, ``Ellipsis``, " +"and :data:`NotImplemented`);" msgstr "" +"constantes embutidas (``None``, ``True``, ``False``, ``Ellipsis`` " +"e :data:`NotImplemented`);" -#: ../../library/pickle.rst:499 +#: ../../library/pickle.rst:500 msgid "integers, floating-point numbers, complex numbers;" -msgstr "" +msgstr "inteiros, números de ponto flutuante, números complexos;" -#: ../../library/pickle.rst:501 +#: ../../library/pickle.rst:502 msgid "strings, bytes, bytearrays;" -msgstr "" +msgstr "strings, bytes, bytearrays;" -#: ../../library/pickle.rst:503 +#: ../../library/pickle.rst:504 msgid "" "tuples, lists, sets, and dictionaries containing only picklable objects;" msgstr "" +"tuplas, listas, conjuntos e dicionários contendo apenas objetos " +"serializáveis com pickle;" -#: ../../library/pickle.rst:505 +#: ../../library/pickle.rst:506 msgid "" "functions (built-in and user-defined) accessible from the top level of a " "module (using :keyword:`def`, not :keyword:`lambda`);" msgstr "" +"funções (embutidas ou definidas pelo usuário) acessíveis no nível superior " +"de um módulo (usando :keyword:`def`, não :keyword:`lambda`);" -#: ../../library/pickle.rst:508 +#: ../../library/pickle.rst:509 msgid "classes accessible from the top level of a module;" -msgstr "" +msgstr "classes acessíveis no nível superior de um módulo;" -#: ../../library/pickle.rst:510 +#: ../../library/pickle.rst:511 msgid "" -"instances of such classes whose the result of calling :meth:`__getstate__` " -"is picklable (see section :ref:`pickle-inst` for details)." +"instances of such classes whose the result of " +"calling :meth:`~object.__getstate__` is picklable (see section :ref:`pickle-" +"inst` for details)." msgstr "" +"instâncias de classes cujo o resultado da chamada " +"de :meth:`~object.__getstate__` seja serializável com pickle (veja a " +"seção :ref:`pickle-inst` para detalhes)." -#: ../../library/pickle.rst:513 +#: ../../library/pickle.rst:514 msgid "" "Attempts to pickle unpicklable objects will raise the :exc:`PicklingError` " "exception; when this happens, an unspecified number of bytes may have " "already been written to the underlying file. Trying to pickle a highly " -"recursive data structure may exceed the maximum recursion depth, a :exc:" -"`RecursionError` will be raised in this case. You can carefully raise this " -"limit with :func:`sys.setrecursionlimit`." +"recursive data structure may exceed the maximum recursion depth, " +"a :exc:`RecursionError` will be raised in this case. You can carefully " +"raise this limit with :func:`sys.setrecursionlimit`." msgstr "" "As tentativas de serializar objetos não serializáveis com pickle vão " "levantar a exceção :exc:`PicklingError`; quando isso acontece, um número não " "especificado de bytes pode já ter sido escrito no arquivo subjacente. Tentar " "serializar com pickle uma estrutura de dados altamente recursiva pode " "exceder a profundidade máxima de recursão, a :exc:`RecursionError` será " -"levantada neste caso. Você pode aumentar este limite cuidadosamente com :" -"func:`sys.setrecursionlimit`." +"levantada neste caso. Você pode aumentar este limite cuidadosamente " +"com :func:`sys.setrecursionlimit`." -#: ../../library/pickle.rst:520 +#: ../../library/pickle.rst:521 msgid "" -"Note that functions (built-in and user-defined) are pickled by fully :term:" -"`qualified name`, not by value. [#]_ This means that only the function name " -"is pickled, along with the name of the containing module and classes. " -"Neither the function's code, nor any of its function attributes are " -"pickled. Thus the defining module must be importable in the unpickling " +"Note that functions (built-in and user-defined) are pickled by " +"fully :term:`qualified name`, not by value. [#]_ This means that only the " +"function name is pickled, along with the name of the containing module and " +"classes. Neither the function's code, nor any of its function attributes " +"are pickled. Thus the defining module must be importable in the unpickling " "environment, and the module must contain the named object, otherwise an " "exception will be raised. [#]_" msgstr "" +"Observe que as funções (embutidas e definidas pelo usuário) são serializadas " +"com pickle pelo :term:`nome qualificado`, não pelo valor. [#]_ Isso " +"significa que apenas o nome da função é serializado com pickle, junto com o " +"nome do módulo e das classes contidas. Nem o código da função, nem qualquer " +"um de seus atributos de função são serializados com pickle. Assim, o módulo " +"de definição deve ser importável no ambiente de desserialização com pickle, " +"e o módulo deve conter o objeto nomeado, caso contrário, uma exceção será " +"levantada. [#]_" -#: ../../library/pickle.rst:527 +#: ../../library/pickle.rst:528 msgid "" "Similarly, classes are pickled by fully qualified name, so the same " "restrictions in the unpickling environment apply. Note that none of the " "class's code or data is pickled, so in the following example the class " "attribute ``attr`` is not restored in the unpickling environment::" msgstr "" +"Da mesma forma, as classes são serializadas com pickle pelo nome " +"qualificado, portanto, aplicam-se as mesmas restrições no ambiente de " +"desserialização com pickle. Observe que nenhum código ou dado da classe é " +"coletado, portanto, no exemplo a seguir, o atributo de classe ``attr`` não é " +"restaurado no ambiente de desserialização com pickle::" -#: ../../library/pickle.rst:537 +#: ../../library/pickle.rst:538 msgid "" "These restrictions are why picklable functions and classes must be defined " "at the top level of a module." msgstr "" +"Essas restrições são a razão pela qual as funções e classes serializáveis " +"com pickle devem ser definidas no nível superior de um módulo." -#: ../../library/pickle.rst:540 +#: ../../library/pickle.rst:541 msgid "" "Similarly, when class instances are pickled, their class's code and data are " "not pickled along with them. Only the instance data are pickled. This is " @@ -1029,24 +1063,24 @@ msgid "" "and still load objects that were created with an earlier version of the " "class. If you plan to have long-lived objects that will see many versions " "of a class, it may be worthwhile to put a version number in the objects so " -"that suitable conversions can be made by the class's :meth:`__setstate__` " -"method." +"that suitable conversions can be made by the " +"class's :meth:`~object.__setstate__` method." msgstr "" "Da mesma forma, quando as instâncias da classe são serializadas com pickle, " "o código e os dados de sua classe não são serializados junto com elas. " -"Apenas os dados da instância são serializados com pickle. Isso é feito " -"propositalmente, para que você possa corrigir bugs em uma classe ou " -"adicionar métodos à classe e ainda carregar objetos que foram criados com " -"uma versão anterior da classe. Se você planeja ter objetos de longa duração " -"que verão muitas versões de uma classe, pode valer a pena colocar um número " -"de versão nos objetos para que as conversões adequadas possam ser feitas " -"pelo método :meth:`__setstate__` da classe." - -#: ../../library/pickle.rst:552 +"Apenas os dados da instância são serializados com pickle. Isso é feito de " +"propósito para que você possa corrigir bugs em uma classe ou adicionar " +"métodos à classe e ainda carregar objetos que foram criados com uma versão " +"anterior da classe. Se você planeja ter objetos de longa duração que verão " +"muitas versões de uma classe, pode valer a pena colocar um número de versão " +"nos objetos para que as conversões adequadas possam ser feitas pelo " +"método :meth:`~object.__setstate__` da classe." + +#: ../../library/pickle.rst:553 msgid "Pickling Class Instances" -msgstr "Serializando com pickle instâncias de classes" +msgstr "Serializando instâncias de classes com pickle" -#: ../../library/pickle.rst:556 +#: ../../library/pickle.rst:557 msgid "" "In this section, we describe the general mechanisms available to you to " "define, customize, and control how class instances are pickled and unpickled." @@ -1055,24 +1089,26 @@ msgstr "" "personalizar e controlar como as instâncias de classe são serializadas e " "desserializadas com pickle." -#: ../../library/pickle.rst:559 +#: ../../library/pickle.rst:560 msgid "" "In most cases, no additional code is needed to make instances picklable. By " "default, pickle will retrieve the class and the attributes of an instance " -"via introspection. When a class instance is unpickled, its :meth:`__init__` " -"method is usually *not* invoked. The default behaviour first creates an " -"uninitialized instance and then restores the saved attributes. The " -"following code shows an implementation of this behaviour::" +"via introspection. When a class instance is unpickled, " +"its :meth:`~object.__init__` method is usually *not* invoked. The default " +"behaviour first creates an uninitialized instance and then restores the " +"saved attributes. The following code shows an implementation of this " +"behaviour::" msgstr "" "Na maioria dos casos, nenhum código adicional é necessário para tornar as " "instâncias serializáveis com pickle. Por padrão, o pickle recuperará a " "classe e os atributos de uma instância por meio de introspecção. Quando uma " -"instância de classe não está serializada com pickle, seu método :meth:" -"`__init__` geralmente *não* é invocado. O comportamento padrão primeiro cria " -"uma instância não inicializada e, em seguida, restaura os atributos salvos. " -"O código a seguir mostra uma implementação desse comportamento::" +"instância de classe não está serializada com pickle, seu " +"método :meth:`~object.__init__` geralmente *não* é invocado. O comportamento " +"padrão primeiro cria uma instância não inicializada e, em seguida, restaura " +"os atributos salvos. O código a seguir mostra uma implementação desse " +"comportamento::" -#: ../../library/pickle.rst:574 +#: ../../library/pickle.rst:575 msgid "" "Classes can alter the default behaviour by providing one or several special " "methods:" @@ -1080,24 +1116,24 @@ msgstr "" "As classes podem alterar o comportamento padrão, fornecendo um ou vários " "métodos especiais:" -#: ../../library/pickle.rst:579 +#: ../../library/pickle.rst:580 msgid "" -"In protocols 2 and newer, classes that implements the :meth:" -"`__getnewargs_ex__` method can dictate the values passed to the :meth:" -"`__new__` method upon unpickling. The method must return a pair ``(args, " -"kwargs)`` where *args* is a tuple of positional arguments and *kwargs* a " -"dictionary of named arguments for constructing the object. Those will be " -"passed to the :meth:`__new__` method upon unpickling." +"In protocols 2 and newer, classes that implements " +"the :meth:`__getnewargs_ex__` method can dictate the values passed to " +"the :meth:`__new__` method upon unpickling. The method must return a pair " +"``(args, kwargs)`` where *args* is a tuple of positional arguments and " +"*kwargs* a dictionary of named arguments for constructing the object. Those " +"will be passed to the :meth:`__new__` method upon unpickling." msgstr "" -"Nos protocolos 2 e mais recentes, as classes que implementam o método :meth:" -"`__getnewargs_ex__` podem ditar os valores passados para o método :meth:" -"`__new__` após a desserialização com pickle. O método deve retornar um par " -"``(args, kwargs)`` onde *args* é uma tupla de argumentos posicionais e " -"*kwargs* um dicionário de argumentos nomeados para construir o objeto. Esses " -"serão passados para o método :meth:`__new__` após a desserialização com " -"pickle." +"Nos protocolos 2 e mais recentes, as classes que implementam o " +"método :meth:`__getnewargs_ex__` podem ditar os valores passados para o " +"método :meth:`__new__` após a desserialização com pickle. O método deve " +"retornar um par ``(args, kwargs)`` onde *args* é uma tupla de argumentos " +"posicionais e *kwargs* um dicionário de argumentos nomeados para construir o " +"objeto. Esses serão passados para o método :meth:`__new__` após a " +"desserialização com pickle." -#: ../../library/pickle.rst:587 +#: ../../library/pickle.rst:588 msgid "" "You should implement this method if the :meth:`__new__` method of your class " "requires keyword-only arguments. Otherwise, it is recommended for " @@ -1107,11 +1143,11 @@ msgstr "" "requer argumentos somente-nomeados. Caso contrário, é recomendado para " "compatibilidade implementar :meth:`__getnewargs__`." -#: ../../library/pickle.rst:591 +#: ../../library/pickle.rst:592 msgid ":meth:`__getnewargs_ex__` is now used in protocols 2 and 3." msgstr ":meth:`__getnewargs_ex__` é agora usado em protocolos 2 e 3." -#: ../../library/pickle.rst:597 +#: ../../library/pickle.rst:598 msgid "" "This method serves a similar purpose as :meth:`__getnewargs_ex__`, but " "supports only positional arguments. It must return a tuple of arguments " @@ -1122,7 +1158,7 @@ msgstr "" "de argumentos ``args`` que serão passados para o método :meth:`__new__` após " "a desserialização com pickle." -#: ../../library/pickle.rst:601 +#: ../../library/pickle.rst:602 msgid "" ":meth:`__getnewargs__` will not be called if :meth:`__getnewargs_ex__` is " "defined." @@ -1130,57 +1166,76 @@ msgstr "" ":meth:`__getnewargs__` não será chamado se :meth:`__getnewargs_ex__` estiver " "definido." -#: ../../library/pickle.rst:604 +#: ../../library/pickle.rst:605 msgid "" -"Before Python 3.6, :meth:`__getnewargs__` was called instead of :meth:" -"`__getnewargs_ex__` in protocols 2 and 3." +"Before Python 3.6, :meth:`__getnewargs__` was called instead " +"of :meth:`__getnewargs_ex__` in protocols 2 and 3." msgstr "" -"Antes do Python 3.6, :meth:`__getnewargs__` era chamado em vez de :meth:" -"`__getnewargs_ex__` nos protocolos 2 e 3." +"Antes do Python 3.6, :meth:`__getnewargs__` era chamado em vez " +"de :meth:`__getnewargs_ex__` nos protocolos 2 e 3." -#: ../../library/pickle.rst:611 +#: ../../library/pickle.rst:612 msgid "" "Classes can further influence how their instances are pickled by overriding " "the method :meth:`__getstate__`. It is called and the returned object is " "pickled as the contents for the instance, instead of a default state. There " "are several cases:" msgstr "" +"Classes podem influenciar ainda mais como suas instâncias são serializadas " +"com pickle, substituindo o método :meth:`__getstate__`. Ele é chamado e o " +"objeto retornado é serializado com pickle como o conteúdo da instância, em " +"vez de um estado padrão. Existem vários casos:" -#: ../../library/pickle.rst:616 +#: ../../library/pickle.rst:617 msgid "" -"For a class that has no instance :attr:`~object.__dict__` and no :attr:" -"`~object.__slots__`, the default state is ``None``." +"For a class that has no instance :attr:`~object.__dict__` and " +"no :attr:`~object.__slots__`, the default state is ``None``." msgstr "" +"Para uma classe que não possui :attr:`~object.__dict__` de instância e " +"nem :attr:`~object.__slots__` , o estado padrão é ``None``." -#: ../../library/pickle.rst:619 +#: ../../library/pickle.rst:620 msgid "" -"For a class that has an instance :attr:`~object.__dict__` and no :attr:" -"`~object.__slots__`, the default state is ``self.__dict__``." +"For a class that has an instance :attr:`~object.__dict__` and " +"no :attr:`~object.__slots__`, the default state is ``self.__dict__``." msgstr "" +"Para uma classe que possui :attr:`~object.__dict__` de instância mas " +"não :attr:`~object.__slots__`, o estado padrão é ``self.__dict__``." -#: ../../library/pickle.rst:622 +#: ../../library/pickle.rst:623 msgid "" -"For a class that has an instance :attr:`~object.__dict__` and :attr:`~object." -"__slots__`, the default state is a tuple consisting of two dictionaries: " -"``self.__dict__``, and a dictionary mapping slot names to slot values. Only " -"slots that have a value are included in the latter." +"For a class that has an instance :attr:`~object.__dict__` " +"and :attr:`~object.__slots__`, the default state is a tuple consisting of " +"two dictionaries: ``self.__dict__``, and a dictionary mapping slot names to " +"slot values. Only slots that have a value are included in the latter." msgstr "" +"Para uma classe que possui :attr:`~object.__dict__` de instância " +"e :attr:`~object.__slots__`, o estado padrão é uma tupla consistindo de dois " +"dicionários: ``self.__dict__``, e um dicionário de mapeamento de nomes de " +"slot para valores de slot. Apenas os slots que possuem um valor são " +"incluídos neste último." -#: ../../library/pickle.rst:628 +#: ../../library/pickle.rst:629 msgid "" -"For a class that has :attr:`~object.__slots__` and no instance :attr:" -"`~object.__dict__`, the default state is a tuple whose first item is " -"``None`` and whose second item is a dictionary mapping slot names to slot " -"values described in the previous bullet." +"For a class that has :attr:`~object.__slots__` and no " +"instance :attr:`~object.__dict__`, the default state is a tuple whose first " +"item is ``None`` and whose second item is a dictionary mapping slot names to " +"slot values described in the previous bullet." msgstr "" +"Para uma classe que possui :attr:`~object.__slots__` e mas " +"não :attr:`~object.__dict__` de instância, o estado padrão é uma tupla cujo " +"primeiro item é ``None`` e cujo segundo item é um dicionário mapeando os " +"nomes dos slots para os valores dos slots descritos no tópico anterior." -#: ../../library/pickle.rst:633 +#: ../../library/pickle.rst:634 msgid "" -"Added the default implementation of the ``__getstate__()`` method in the :" -"class:`object` class." +"Added the default implementation of the ``__getstate__()`` method in " +"the :class:`object` class." msgstr "" +"Adicionada a implementação padrão do método ``__getstate__()`` na " +"classe :class:`object`." -#: ../../library/pickle.rst:640 +#: ../../library/pickle.rst:641 msgid "" "Upon unpickling, if the class defines :meth:`__setstate__`, it is called " "with the unpickled state. In that case, there is no requirement for the " @@ -1193,79 +1248,85 @@ msgstr "" "serializado com pickle deve ser um dicionário e seus itens são atribuídos ao " "dicionário da nova instância." -#: ../../library/pickle.rst:647 +#: ../../library/pickle.rst:648 msgid "" -"If :meth:`__getstate__` returns a false value, the :meth:`__setstate__` " -"method will not be called upon unpickling." +"If :meth:`__reduce__` returns a state with value ``None`` at pickling, " +"the :meth:`__setstate__` method will not be called upon unpickling." msgstr "" -"Se :meth:`__getstate__` retornar um valor falso, o método :meth:" -"`__setstate__` não será chamado quando da desserialização com pickle." +"Se :meth:`__reduce__` retorna um estado com valor ``None`` na serialização " +"com pickle, o método :meth:`__setstate__` não será chamado quando da " +"desserialização com pickle." -#: ../../library/pickle.rst:651 +#: ../../library/pickle.rst:652 msgid "" "Refer to the section :ref:`pickle-state` for more information about how to " -"use the methods :meth:`__getstate__` and :meth:`__setstate__`." +"use the methods :meth:`~object.__getstate__` " +"and :meth:`~object.__setstate__`." msgstr "" "Confira a seção :ref:`pickle-state` para mais informações sobre como usar os " -"métodos :meth:`__getstate__` e :meth:`__setstate__`." +"métodos :meth:`~object.__getstate__` e :meth:`~object.__setstate__`." -#: ../../library/pickle.rst:656 +#: ../../library/pickle.rst:657 msgid "" -"At unpickling time, some methods like :meth:`__getattr__`, :meth:" -"`__getattribute__`, or :meth:`__setattr__` may be called upon the instance. " -"In case those methods rely on some internal invariant being true, the type " -"should implement :meth:`__new__` to establish such an invariant, as :meth:" -"`__init__` is not called when unpickling an instance." +"At unpickling time, some methods " +"like :meth:`~object.__getattr__`, :meth:`~object.__getattribute__`, " +"or :meth:`~object.__setattr__` may be called upon the instance. In case " +"those methods rely on some internal invariant being true, the type should " +"implement :meth:`~object.__new__` to establish such an invariant, " +"as :meth:`~object.__init__` is not called when unpickling an instance." msgstr "" -"Quando da desserialização com pickle, alguns métodos, como :meth:" -"`__getattr__`, :meth:`__getattribute__` ou :meth:`__setattr__`, podem ser " -"chamados na instância. No caso desses métodos dependerem de alguma " -"invariante interna ser verdadeira, o tipo deve ser implementado :meth:" -"`__new__` para estabelecer tal invariante, pois :meth:`__init__` não é " -"chamada quando da desserialização com pickle em uma instância." +"Quando da desserialização com pickle, alguns métodos, " +"como :meth:`~object.__getattr__`, :meth:`~object.__getattribute__` " +"ou :meth:`~object.__setattr__`, podem ser chamados na instância. No caso " +"desses métodos dependerem de alguma invariante interna ser verdadeira, o " +"tipo deve ser implementado :meth:`~object.__new__` para estabelecer tal " +"invariante, pois :meth:`~object.__init__` não é chamado quando da " +"desserialização com pickle em uma instância." -#: ../../library/pickle.rst:665 +#: ../../library/pickle.rst:666 msgid "" "As we shall see, pickle does not use directly the methods described above. " -"In fact, these methods are part of the copy protocol which implements the :" -"meth:`__reduce__` special method. The copy protocol provides a unified " -"interface for retrieving the data necessary for pickling and copying " +"In fact, these methods are part of the copy protocol which implements " +"the :meth:`~object.__reduce__` special method. The copy protocol provides a " +"unified interface for retrieving the data necessary for pickling and copying " "objects. [#]_" msgstr "" "Como veremos, o pickle não usa diretamente os métodos descritos acima. Na " "verdade, esses métodos são parte do protocolo de cópia que implementa o " -"método especial :meth:`__reduce__`. O protocolo de cópia fornece uma " +"método especial :meth:`~object.__reduce__`. O protocolo de cópia fornece uma " "interface unificada para recuperar os dados necessários para serialização " "com pickle e cópia de objetos. [#]_" -#: ../../library/pickle.rst:671 +#: ../../library/pickle.rst:672 msgid "" -"Although powerful, implementing :meth:`__reduce__` directly in your classes " -"is error prone. For this reason, class designers should use the high-level " -"interface (i.e., :meth:`__getnewargs_ex__`, :meth:`__getstate__` and :meth:" -"`__setstate__`) whenever possible. We will show, however, cases where " -"using :meth:`__reduce__` is the only option or leads to more efficient " -"pickling or both." +"Although powerful, implementing :meth:`~object.__reduce__` directly in your " +"classes is error prone. For this reason, class designers should use the " +"high-level interface " +"(i.e., :meth:`~object.__getnewargs_ex__`, :meth:`~object.__getstate__` " +"and :meth:`~object.__setstate__`) whenever possible. We will show, however, " +"cases where using :meth:`!__reduce__` is the only option or leads to more " +"efficient pickling or both." msgstr "" -"Apesar de poderoso, implementar :meth:`__reduce__` diretamente em sua classe " -"é algo propenso a erro. Por este motivo, designers de classe devem usar a " -"interface de alto nível (ou seja, :meth:`__getnewargs_ex__`, :meth:" -"`__getstate__` e :meth:`__setstate__`) sempre que possível. Vamos mostrar, " -"porém, casos em que o uso de :meth:`__reduce__` é a única opção ou leva a " -"uma serialização com pickle mais eficiente, ou as ambas." +"Apesar de poderoso, implementar :meth:`~object.__reduce__` diretamente em " +"sua classe é algo propenso a erro. Por este motivo, projetistas de classe " +"devem usar a interface de alto nível (ou " +"seja, :meth:`~object.__getnewargs_ex__`, :meth:`~object.__getstate__` " +"e :meth:`~object.__setstate__`) sempre que possível. Vamos mostrar, porém, " +"casos em que o uso de :meth:`!__reduce__` é a única opção ou leva a uma " +"serialização com pickle mais eficiente, ou a ambas." -#: ../../library/pickle.rst:680 +#: ../../library/pickle.rst:681 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 "" -"A interface está atualmente definida da seguinte maneira. O método :meth:" -"`__reduce__` não aceita nenhum argumento e deve retornar uma string ou " -"preferencialmente uma tupla (o objeto retornado é frequentemente referido " -"como o \"valor de redução\")." +"A interface está atualmente definida da seguinte maneira. O " +"método :meth:`__reduce__` não aceita nenhum argumento e deve retornar uma " +"string ou preferencialmente uma tupla (o objeto retornado é frequentemente " +"referido como o \"valor de redução\")." -#: ../../library/pickle.rst:684 +#: ../../library/pickle.rst:685 msgid "" "If a string is returned, the string should be interpreted as the name of a " "global variable. It should be the object's local name relative to its " @@ -1277,7 +1338,7 @@ msgstr "" "módulo pickle pesquisa o espaço de nomes do módulo para determinar o módulo " "do objeto. Esse comportamento é normalmente útil para singletons." -#: ../../library/pickle.rst:689 +#: ../../library/pickle.rst:690 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 " @@ -1285,16 +1346,16 @@ msgid "" msgstr "" "Quando uma tupla é retornada, ela deve ter entre dois e seis itens. Os itens " "opcionais podem ser omitidos ou ``None`` pode ser fornecido como seu valor. " -"A semântica de cada item está em ordem:" +"A semântica de cada item são, em ordem:" -#: ../../library/pickle.rst:695 +#: ../../library/pickle.rst:696 msgid "" "A callable object that will be called to create the initial version of the " "object." msgstr "" "Um objeto chamável que será chamado para criar a versão inicial do objeto." -#: ../../library/pickle.rst:698 +#: ../../library/pickle.rst:699 msgid "" "A tuple of arguments for the callable object. An empty tuple must be given " "if the callable does not accept any argument." @@ -1302,39 +1363,39 @@ msgstr "" "Uma tupla de argumentos para o objeto chamável. Uma tupla vazia deve ser " "fornecida se o chamável não aceitar nenhum argumento." -#: ../../library/pickle.rst:701 +#: ../../library/pickle.rst:702 msgid "" -"Optionally, the object's state, which will be passed to the object's :meth:" -"`__setstate__` method as previously described. If the object has no such " -"method then, the value must be a dictionary and it will be added to the " -"object's :attr:`~object.__dict__` attribute." +"Optionally, the object's state, which will be passed to the " +"object's :meth:`__setstate__` method as previously described. If the object " +"has no such method then, the value must be a dictionary and it will be added " +"to the object's :attr:`~object.__dict__` attribute." msgstr "" -"Opcionalmente, o estado do objeto, que será passado para o método :meth:" -"`__setstate__` do objeto conforme descrito anteriormente. Se o objeto não " -"tiver tal método, o valor deve ser um dicionário e será adicionado ao " -"atributo :attr:`~object.__dict__` do objeto." +"Opcionalmente, o estado do objeto, que será passado para o " +"método :meth:`__setstate__` do objeto conforme descrito anteriormente. Se o " +"objeto não tiver tal método, o valor deve ser um dicionário e será " +"adicionado ao atributo :attr:`~object.__dict__` do objeto." -#: ../../library/pickle.rst:706 +#: ../../library/pickle.rst:707 msgid "" "Optionally, an iterator (and not a sequence) yielding successive items. " "These items will be appended to the object either using ``obj.append(item)`` " "or, in batch, using ``obj.extend(list_of_items)``. This is primarily used " -"for list subclasses, but may be used by other classes as long as they have :" -"meth:`append` and :meth:`extend` methods with the appropriate signature. " -"(Whether :meth:`append` or :meth:`extend` is used depends on which pickle " -"protocol version is used as well as the number of items to append, so both " -"must be supported.)" +"for list subclasses, but may be used by other classes as long as they " +"have :ref:`append and extend methods ` with the appropriate " +"signature. (Whether :meth:`!append` or :meth:`!extend` is used depends on " +"which pickle protocol version is used as well as the number of items to " +"append, so both must be supported.)" msgstr "" "Opcionalmente, um iterador (e não uma sequência) produzindo itens " "sucessivos. Esses itens serão anexados ao objeto usando ``obj.append(item)`` " -"ou, em lote, usando ``obj.extend(lista_de_itens)``. Isso é usado " +"ou, em lote, usando ``obj.extend(list_of_items)``. Isso é usado " "principalmente para subclasses de lista, mas pode ser usado por outras " -"classes, desde que tenham os métodos :meth:`append` e :meth:`extend` com a " -"assinatura apropriada. (Se :meth:`append` ou :meth:`extend` é usado depende " -"de qual versão do protocolo pickle é usada, bem como o número de itens a " -"anexar, então ambos devem ser suportados.)" +"classes, desde que tenham os :ref:`métodos append e extend ` com a assinatura apropriada. (Se :meth:`!append` ou :meth:`!extend` " +"é usado depende de qual versão do protocolo pickle é usada, bem como o " +"número de itens a anexar, então ambos devem ser suportados.)" -#: ../../library/pickle.rst:715 +#: ../../library/pickle.rst:717 msgid "" "Optionally, an iterator (not a sequence) yielding successive key-value " "pairs. These items will be stored to the object using ``obj[key] = " @@ -1344,49 +1405,50 @@ msgstr "" "Opcionalmente, um iterador (não uma sequência) produzindo pares de valor-" "chave sucessivos. Esses itens serão armazenados no objeto usando " "``obj[chave]=valor``. Isso é usado principalmente para subclasses de " -"dicionário, mas pode ser usado por outras classes, desde que implementem :" -"meth:`__setitem__`." +"dicionário, mas pode ser usado por outras classes, desde que " +"implementem :meth:`__setitem__`." -#: ../../library/pickle.rst:720 +#: ../../library/pickle.rst:722 msgid "" "Optionally, a callable with a ``(obj, state)`` signature. This callable " "allows the user to programmatically control the state-updating behavior of a " "specific object, instead of using ``obj``'s static :meth:`__setstate__` " -"method. If not ``None``, this callable will have priority over ``obj``'s :" -"meth:`__setstate__`." +"method. If not ``None``, this callable will have priority over " +"``obj``'s :meth:`__setstate__`." msgstr "" "Opcionalmente, um chamável com uma assinatura ``(obj, estado)``. Este " "chamável permite ao usuário controlar programaticamente o comportamento de " -"atualização de estado de um objeto específico, ao invés de usar o método " +"atualização de estado de um objeto específico, em vez de usar o método " "estático :meth:`__setstate__` de ``obj``. Se não for ``None``, este chamável " "terá prioridade sobre o :meth:`__setstate__` de ``obj``." -#: ../../library/pickle.rst:726 +#: ../../library/pickle.rst:728 msgid "The optional sixth tuple item, ``(obj, state)``, was added." msgstr "O sexto item opcional de tupla, ``(obj, estado)``, foi adicionado." -#: ../../library/pickle.rst:732 +#: ../../library/pickle.rst:734 msgid "" "Alternatively, a :meth:`__reduce_ex__` method may be defined. The only " "difference is this method should take a single integer argument, the " -"protocol version. When defined, pickle will prefer it over the :meth:" -"`__reduce__` method. In addition, :meth:`__reduce__` automatically becomes " -"a synonym for the extended version. The main use for this method is to " -"provide backwards-compatible reduce values for older Python releases." +"protocol version. When defined, pickle will prefer it over " +"the :meth:`__reduce__` method. In addition, :meth:`__reduce__` " +"automatically becomes a synonym for the extended version. The main use for " +"this method is to provide backwards-compatible reduce values for older " +"Python releases." msgstr "" "Alternativamente, um método :meth:`__reduce_ex__` pode ser definido. A única " "diferença é que este método deve ter um único argumento inteiro, a versão do " -"protocolo. Quando definido, pickle irá preferir isso ao método :meth:" -"`__reduce__`. Além disso, :meth:`__reduce__` automaticamente se torna um " -"sinônimo para a versão estendida. O principal uso desse método é fornecer " -"valores de redução com compatibilidade reversa para versões mais antigas do " -"Python." +"protocolo. Quando definido, pickle irá preferir isso ao " +"método :meth:`__reduce__`. Além disso, :meth:`__reduce__` automaticamente se " +"torna um sinônimo para a versão estendida. O principal uso desse método é " +"fornecer valores de redução com compatibilidade retrocompatível para versões " +"mais antigas do Python." -#: ../../library/pickle.rst:744 +#: ../../library/pickle.rst:746 msgid "Persistence of External Objects" msgstr "Persistência de objetos externos" -#: ../../library/pickle.rst:750 +#: ../../library/pickle.rst:752 msgid "" "For the benefit of object persistence, the :mod:`pickle` module supports the " "notion of a reference to an object outside the pickled data stream. Such " @@ -1401,19 +1463,19 @@ msgstr "" "protocolo 0) [#]_ ou apenas um objeto arbitrário (para qualquer protocolo " "mais recente)." -#: ../../library/pickle.rst:756 +#: ../../library/pickle.rst:758 msgid "" "The resolution of such persistent IDs is not defined by the :mod:`pickle` " "module; it will delegate this resolution to the user-defined methods on the " -"pickler and unpickler, :meth:`~Pickler.persistent_id` and :meth:`~Unpickler." -"persistent_load` respectively." +"pickler and unpickler, :meth:`~Pickler.persistent_id` " +"and :meth:`~Unpickler.persistent_load` respectively." msgstr "" -"A resolução de tais IDs persistentes não é definida pelo módulo :mod:" -"`pickle`; ele vai delegar esta resolução aos métodos definidos pelo usuário " -"no selecionador e no separador, :meth:`~Pickler.persistent_id` e :meth:" -"`~Unpickler.persistent_load` respectivamente." +"A resolução de tais IDs persistentes não é definida pelo " +"módulo :mod:`pickle`; ele vai delegar esta resolução aos métodos definidos " +"pelo usuário no selecionador e no separador, :meth:`~Pickler.persistent_id` " +"e :meth:`~Unpickler.persistent_load` respectivamente." -#: ../../library/pickle.rst:761 +#: ../../library/pickle.rst:763 msgid "" "To pickle objects that have an external persistent ID, the pickler must have " "a custom :meth:`~Pickler.persistent_id` method that takes an object as an " @@ -1431,17 +1493,17 @@ msgstr "" "retornada, o pickler serializa aquele objeto, junto com um marcador para que " "o unpickler o reconheça como um ID persistente." -#: ../../library/pickle.rst:768 +#: ../../library/pickle.rst:770 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." +"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 "" "Para desserializar com pickle objetos externos, o unpickler deve ter um " "método :meth:`~Unpickler.persistent_load` personalizado que recebe um objeto " "de ID persistente e retorna o objeto referenciado." -#: ../../library/pickle.rst:772 +#: ../../library/pickle.rst:774 msgid "" "Here is a comprehensive example presenting how persistent ID can be used to " "pickle external objects by reference." @@ -1449,11 +1511,11 @@ msgstr "" "Aqui está um exemplo abrangente que apresenta como o ID persistente pode ser " "usado para serializar com pickle objetos externos por referência." -#: ../../library/pickle.rst:780 +#: ../../library/pickle.rst:782 msgid "Dispatch Tables" msgstr "Tabelas de despacho" -#: ../../library/pickle.rst:782 +#: ../../library/pickle.rst:784 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 " @@ -1463,22 +1525,22 @@ msgstr "" "sem perturbar nenhum outro código que dependa da serialização, pode-se criar " "um pickler com uma tabela de despacho privada." -#: ../../library/pickle.rst:786 +#: ../../library/pickle.rst:788 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." +"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 "" "A tabela de despacho global gerenciada pelo módulo :mod:`copyreg` está " -"disponível como :data:`copyreg.dispatch_table`. Portanto, pode-se escolher " -"usar uma cópia modificada de :data:`copyreg.dispatch_table` como uma tabela " +"disponível como :data:`!copyreg.dispatch_table`. Portanto, pode-se escolher " +"usar uma cópia modificada de :data:`!copyreg.dispatch_table` como uma tabela " "de despacho privada." -#: ../../library/pickle.rst:791 +#: ../../library/pickle.rst:793 msgid "For example ::" msgstr "Por exemplo ::" -#: ../../library/pickle.rst:798 +#: ../../library/pickle.rst:800 msgid "" "creates an instance of :class:`pickle.Pickler` with a private dispatch table " "which handles the ``SomeClass`` class specially. Alternatively, the code ::" @@ -1487,51 +1549,55 @@ msgstr "" "privada que trata a classe ``SomeClass`` especialmente. Alternativamente, o " "código ::" -#: ../../library/pickle.rst:808 +#: ../../library/pickle.rst:810 msgid "" "does the same but all instances of ``MyPickler`` will by default share the " "private dispatch table. On the other hand, the code ::" msgstr "" +"faz o mesmo, mas todas as instâncias de ``MyPickler`` compartilharão por " +"padrão a tabela de despacho privada. Por outro lado, o código ::" -#: ../../library/pickle.rst:815 +#: ../../library/pickle.rst:817 msgid "" "modifies the global dispatch table shared by all users of the :mod:`copyreg` " "module." msgstr "" +"modifica a tabela de despacho global compartilhada por todos os usuários do " +"módulo :mod:`copyreg`." -#: ../../library/pickle.rst:820 +#: ../../library/pickle.rst:822 msgid "Handling Stateful Objects" msgstr "Manipulação de objetos com estado" -#: ../../library/pickle.rst:826 +#: ../../library/pickle.rst:828 msgid "" "Here's an example that shows how to modify pickling behavior for a class. " -"The :class:`TextReader` class opens a text file, and returns the line number " -"and line contents each time its :meth:`!readline` method is called. If a :" -"class:`TextReader` instance is pickled, all attributes *except* the file " -"object member are saved. When the instance is unpickled, the file is " -"reopened, and reading resumes from the last location. The :meth:" -"`__setstate__` and :meth:`__getstate__` methods are used to implement this " +"The :class:`!TextReader` class below opens a text file, and returns the line " +"number and line contents each time its :meth:`!readline` method is called. " +"If a :class:`!TextReader` instance is pickled, all attributes *except* the " +"file object member are saved. When the instance is unpickled, the file is " +"reopened, and reading resumes from the last location. The :meth:`!" +"__setstate__` and :meth:`!__getstate__` methods are used to implement this " "behavior. ::" msgstr "" "Aqui está um exemplo que mostra como modificar o comportamento de " -"serialização com pickle de uma classe. A classe :class:`TextReader` abre um " -"arquivo texto e retorna o número da linha e o conteúdo da linha cada vez que " -"seu método :meth:`!readline` é chamado. Se uma instância de :class:" -"`TextReader` for selecionada, todos os atributos *exceto* o membro do objeto " +"serialização com pickle de uma classe. A classe :class:`!TextReader` abaixo " +"abre um arquivo texto e retorna o número da linha e o conteúdo da linha cada " +"vez que seu método :meth:`!readline` é chamado. Se uma instância de :class:`!" +"TextReader` for selecionada, todos os atributos *exceto* o membro do objeto " "arquivo são salvos. Quando a instância é removida, o arquivo é reaberto e a " -"leitura continua a partir do último local. Os métodos :meth:`__setstate__` " -"e :meth:`__getstate__` são usados para implementar este comportamento. ::" +"leitura continua a partir do último local. Os métodos :meth:`!__setstate__` " +"e :meth:`!__getstate__` são usados para implementar este comportamento. ::" -#: ../../library/pickle.rst:872 +#: ../../library/pickle.rst:874 msgid "A sample usage might be something like this::" msgstr "Um exemplo de uso pode ser algo assim::" -#: ../../library/pickle.rst:886 +#: ../../library/pickle.rst:888 msgid "Custom Reduction for Types, Functions, and Other Objects" msgstr "Redução personalizada para tipos, funções e outros objetos" -#: ../../library/pickle.rst:890 +#: ../../library/pickle.rst:892 msgid "" "Sometimes, :attr:`~Pickler.dispatch_table` may not be flexible enough. In " "particular we may want to customize pickling based on another criterion than " @@ -1543,44 +1609,44 @@ msgstr "" "pickle com base em outro critério que não o tipo do objeto, ou podemos " "personalizar a serialização com pickle de funções e classes." -#: ../../library/pickle.rst:895 +#: ../../library/pickle.rst:897 msgid "" "For those cases, it is possible to subclass from the :class:`Pickler` class " "and implement a :meth:`~Pickler.reducer_override` method. This method can " -"return an arbitrary reduction tuple (see :meth:`__reduce__`). It can " -"alternatively return ``NotImplemented`` to fallback to the traditional " +"return an arbitrary reduction tuple (see :meth:`~object.__reduce__`). It can " +"alternatively return :data:`NotImplemented` to fallback to the traditional " "behavior." msgstr "" "Para esses casos, é possível criar uma subclasse da classe :class:`Pickler` " "e implementar um método :meth:`~Pickler.reducer_override`. Este método pode " -"retornar uma tupla de redução arbitrária (veja :meth:`__reduce__`). Ele " -"pode, alternativamente, retornar ``NotImplemented`` para retornar ao " +"retornar uma tupla de redução arbitrária (veja :meth:`~object.__reduce__`). " +"Ele pode, alternativamente, retornar :data:`NotImplemented` para retornar ao " "comportamento tradicional." -#: ../../library/pickle.rst:900 +#: ../../library/pickle.rst:902 msgid "" -"If both the :attr:`~Pickler.dispatch_table` and :meth:`~Pickler." -"reducer_override` are defined, then :meth:`~Pickler.reducer_override` method " -"takes priority." +"If both the :attr:`~Pickler.dispatch_table` " +"and :meth:`~Pickler.reducer_override` are defined, " +"then :meth:`~Pickler.reducer_override` method takes priority." msgstr "" "Se :attr:`~Pickler.dispatch_table` e :meth:`~Pickler.reducer_override` forem " "definidos, o método :meth:`~Pickler.reducer_override` tem prioridade." -#: ../../library/pickle.rst:905 +#: ../../library/pickle.rst:907 msgid "" "For performance reasons, :meth:`~Pickler.reducer_override` may not be called " "for the following objects: ``None``, ``True``, ``False``, and exact " -"instances of :class:`int`, :class:`float`, :class:`bytes`, :class:`str`, :" -"class:`dict`, :class:`set`, :class:`frozenset`, :class:`list` and :class:" -"`tuple`." +"instances " +"of :class:`int`, :class:`float`, :class:`bytes`, :class:`str`, :class:`dict`, :class:`set`, :class:`frozenset`, :class:`list` " +"and :class:`tuple`." msgstr "" "Por motivos de desempenho, :meth:`~Pickler.reducer_override` não pode ser " "chamado para os seguintes objetos: ``None``, ``True``, ``False``, e as " -"instâncias exatas de :class:`int`, :class:`float`, :class:`bytes`, :class:" -"`str`, :class:`dict`, :class:`set`, :class:`frozenset`, :class:`list` e :" -"class:`tuple`." +"instâncias exatas " +"de :class:`int`, :class:`float`, :class:`bytes`, :class:`str`, :class:`dict`, :class:`set`, :class:`frozenset`, :class:`list` " +"e :class:`tuple`." -#: ../../library/pickle.rst:911 +#: ../../library/pickle.rst:913 msgid "" "Here is a simple example where we allow pickling and reconstructing a given " "class::" @@ -1588,11 +1654,11 @@ msgstr "" "Aqui está um exemplo simples onde permitimos serialização com pickle e " "reconstrução de uma determinada classe:" -#: ../../library/pickle.rst:946 +#: ../../library/pickle.rst:948 msgid "Out-of-band Buffers" msgstr "Buffers fora da banda" -#: ../../library/pickle.rst:950 +#: ../../library/pickle.rst:952 msgid "" "In some contexts, the :mod:`pickle` module is used to transfer massive " "amounts of data. Therefore, it can be important to minimize the number of " @@ -1608,7 +1674,7 @@ msgstr "" "uma estrutura semelhante a um gráfico de objetos em um fluxo sequencial de " "bytes, envolve intrinsecamente a cópia de dados de e para o fluxo pickle." -#: ../../library/pickle.rst:957 +#: ../../library/pickle.rst:959 msgid "" "This constraint can be eschewed if both the *provider* (the implementation " "of the object types to be transferred) and the *consumer* (the " @@ -1620,23 +1686,23 @@ msgstr "" "sistema de comunicações) tiverem suporte aos recursos de transferência fora " "de banda fornecidos pelo protocolo pickle 5 e superior." -#: ../../library/pickle.rst:963 +#: ../../library/pickle.rst:965 msgid "Provider API" msgstr "API de provedor" -#: ../../library/pickle.rst:965 +#: ../../library/pickle.rst:967 msgid "" -"The large data objects to be pickled must implement a :meth:`__reduce_ex__` " -"method specialized for protocol 5 and higher, which returns a :class:" -"`PickleBuffer` instance (instead of e.g. a :class:`bytes` object) for any " -"large data." +"The large data objects to be pickled must implement " +"a :meth:`~object.__reduce_ex__` method specialized for protocol 5 and " +"higher, which returns a :class:`PickleBuffer` instance (instead of e.g. " +"a :class:`bytes` object) for any large data." msgstr "" "Os grandes objetos de dados a serem serializados com pickle devem " -"implementar um método :meth:`__reduce_ex__` especializado para o protocolo 5 " -"e superior, que retorna uma instância :class:`PickleBuffer` (em vez de, por " -"exemplo, um objeto :class:`bytes`) para quaisquer dados grandes." +"implementar um método :meth:`~object.__reduce_ex__` especializado para o " +"protocolo 5 e superior, que retorna uma instância :class:`PickleBuffer` (em " +"vez de, por exemplo, um objeto :class:`bytes`) para quaisquer dados grandes." -#: ../../library/pickle.rst:970 +#: ../../library/pickle.rst:972 msgid "" "A :class:`PickleBuffer` object *signals* that the underlying buffer is " "eligible for out-of-band data transfer. Those objects remain compatible " @@ -1650,52 +1716,53 @@ msgstr "" "consumidores também podem optar por dizer ao :mod:`pickle` que eles irão " "lidar com esses buffers por conta própria." -#: ../../library/pickle.rst:977 +#: ../../library/pickle.rst:979 msgid "Consumer API" msgstr "API de consumidor" -#: ../../library/pickle.rst:979 +#: ../../library/pickle.rst:981 msgid "" -"A communications system can enable custom handling of the :class:" -"`PickleBuffer` objects generated when serializing an object graph." +"A communications system can enable custom handling of " +"the :class:`PickleBuffer` objects generated when serializing an object graph." msgstr "" "Um sistema de comunicação pode permitir o manuseio personalizado dos " "objetos :class:`PickleBuffer` gerados ao serializar um grafo de objeto." -#: ../../library/pickle.rst:982 -msgid "" -"On the sending side, it needs to pass a *buffer_callback* argument to :class:" -"`Pickler` (or to the :func:`dump` or :func:`dumps` function), which will be " -"called with each :class:`PickleBuffer` generated while pickling the object " -"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 "" -"No lado emissor, é necessário passar um argumento *buffer_callback* para :" -"class:`Pickler` (ou para a função :func:`dump` ou :func:`dumps`), que será " -"chamada com cada :class:`PickleBuffer` gerado durante a serialização com " -"pickle do grafo do objeto. Os buffers acumulados pelo *buffer_callback* não " -"verão seus dados copiados no fluxo pickle, apenas um marcador barato será " -"inserido." - -#: ../../library/pickle.rst:989 -msgid "" -"On the receiving side, it needs to pass a *buffers* argument to :class:" -"`Unpickler` (or to the :func:`load` or :func:`loads` function), which is an " -"iterable of the buffers which were passed to *buffer_callback*. That " -"iterable should produce buffers in the same order as they were passed to " -"*buffer_callback*. Those buffers will provide the data expected by the " -"reconstructors of the objects whose pickling produced the original :class:" -"`PickleBuffer` objects." -msgstr "" -"No lado receptor, é necessário passar um argumento *buffers* para :class:" -"`Unpickler` (ou para a função :func:`load` ou :func:`load`), que é um " -"iterável dos buffers que foram passado para *buffer_callback*. Esse iterável " -"deve produzir buffers na mesma ordem em que foram passados para " +#: ../../library/pickle.rst:984 +msgid "" +"On the sending side, it needs to pass a *buffer_callback* argument " +"to :class:`Pickler` (or to the :func:`dump` or :func:`dumps` function), " +"which will be called with each :class:`PickleBuffer` generated while " +"pickling the object 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 "" +"No lado emissor, é necessário passar um argumento *buffer_callback* " +"para :class:`Pickler` (ou para a função :func:`dump` ou :func:`dumps`), que " +"será chamada com cada :class:`PickleBuffer` gerado durante a serialização " +"com pickle do grafo do objeto. Os buffers acumulados pelo *buffer_callback* " +"não verão seus dados copiados no fluxo pickle, apenas um marcador barato " +"será inserido." + +#: ../../library/pickle.rst:991 +msgid "" +"On the receiving side, it needs to pass a *buffers* argument " +"to :class:`Unpickler` (or to the :func:`load` or :func:`loads` function), " +"which is an iterable of the buffers which were passed to *buffer_callback*. " +"That iterable should produce buffers in the same order as they were passed " +"to *buffer_callback*. Those buffers will provide the data expected by the " +"reconstructors of the objects whose pickling produced the " +"original :class:`PickleBuffer` objects." +msgstr "" +"No lado receptor, é necessário passar um argumento *buffers* " +"para :class:`Unpickler` (ou para a função :func:`load` ou :func:`loads`), " +"que é um iterável dos buffers que foram passado para *buffer_callback*. Esse " +"iterável deve produzir buffers na mesma ordem em que foram passados para " "*buffer_callback*. Esses buffers fornecerão os dados esperados pelos " -"reconstrutores dos objetos cuja serialização com pickle produziu os objetos :" -"class:`PickleBuffer` originais." +"reconstrutores dos objetos cuja serialização com pickle produziu os " +"objetos :class:`PickleBuffer` originais." -#: ../../library/pickle.rst:997 +#: ../../library/pickle.rst:999 msgid "" "Between the sending side and the receiving side, the communications system " "is free to implement its own transfer mechanism for out-of-band buffers. " @@ -1707,20 +1774,20 @@ msgstr "" "banda. As otimizações potenciais incluem o uso de memória compartilhada ou " "compactação dependente do tipo de dados." -#: ../../library/pickle.rst:1003 +#: ../../library/pickle.rst:1005 msgid "Example" msgstr "Exemplo" -#: ../../library/pickle.rst:1005 +#: ../../library/pickle.rst:1007 msgid "" "Here is a trivial example where we implement a :class:`bytearray` subclass " "able to participate in out-of-band buffer pickling::" msgstr "" -"Aqui está um exemplo trivial onde implementamos uma subclasse de :class:" -"`bytearray` capaz de participar de serialização com pickle de buffer fora de " -"banda::" +"Aqui está um exemplo trivial onde implementamos uma subclasse " +"de :class:`bytearray` capaz de participar de serialização com pickle de " +"buffer fora de banda::" -#: ../../library/pickle.rst:1029 +#: ../../library/pickle.rst:1031 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 " @@ -1730,7 +1797,7 @@ msgstr "" "fornecimento do buffer se ele tiver o tipo correto. Esta é uma maneira fácil " "de simular o comportamento de cópia zero neste exemplo de brinquedo." -#: ../../library/pickle.rst:1033 +#: ../../library/pickle.rst:1035 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::" @@ -1738,7 +1805,7 @@ msgstr "" "Do lado consumidor, podemos serializar com pickle esses objetos da maneira " "usual, que quando não serializados nos dará uma cópia do objeto original::" -#: ../../library/pickle.rst:1042 +#: ../../library/pickle.rst:1044 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::" @@ -1746,7 +1813,7 @@ msgstr "" "Mas se passarmos um *buffer_callback* e, em seguida, retornarmos os buffers " "acumulados ao desserializar, seremos capazes de recuperar o objeto original::" -#: ../../library/pickle.rst:1052 +#: ../../library/pickle.rst:1054 msgid "" "This example is limited by the fact that :class:`bytearray` allocates its " "own memory: you cannot create a :class:`bytearray` instance that is backed " @@ -1762,15 +1829,15 @@ msgstr "" "serialização com pickle de cópia zero (ou fazer o mínimo de cópias possível) " "ao transferir entre processos ou sistemas distintos." -#: ../../library/pickle.rst:1059 +#: ../../library/pickle.rst:1061 msgid ":pep:`574` -- Pickle protocol 5 with out-of-band data" msgstr ":pep:`574` -- Protocolo de Pickle 5 com buffers de dados fora da banda" -#: ../../library/pickle.rst:1065 +#: ../../library/pickle.rst:1067 msgid "Restricting Globals" msgstr "Restringindo globais" -#: ../../library/pickle.rst:1070 +#: ../../library/pickle.rst:1072 msgid "" "By default, unpickling will import any class or function that it finds in " "the pickle data. For many applications, this behaviour is unacceptable as " @@ -1783,7 +1850,7 @@ msgstr "" "arbitrário. Basta considerar o que este fluxo de dados pickle feito à mão " "faz quando carregado::" -#: ../../library/pickle.rst:1080 +#: ../../library/pickle.rst:1082 msgid "" "In this example, the unpickler imports the :func:`os.system` function and " "then apply the string argument \"echo hello world\". Although this example " @@ -1794,13 +1861,13 @@ msgstr "" "o argumento string \"echo hello world\". Embora este exemplo seja " "inofensivo, não é difícil imaginar um que possa danificar seu sistema." -#: ../../library/pickle.rst:1084 +#: ../../library/pickle.rst:1086 msgid "" -"For this reason, you may want to control what gets unpickled by customizing :" -"meth:`Unpickler.find_class`. Unlike its name suggests, :meth:`Unpickler." -"find_class` is called whenever a global (i.e., a class or a function) is " -"requested. Thus it is possible to either completely forbid globals or " -"restrict them to a safe subset." +"For this reason, you may want to control what gets unpickled by " +"customizing :meth:`Unpickler.find_class`. Unlike its name " +"suggests, :meth:`Unpickler.find_class` is called whenever a global (i.e., a " +"class or a function) is requested. Thus it is possible to either completely " +"forbid globals or restrict them to a safe subset." msgstr "" "Por esta razão, você pode querer controlar o que é desserializado com pickle " "personalizando :meth:`Unpickler.find_class`. Ao contrário do que seu nome " @@ -1808,19 +1875,19 @@ msgstr "" "seja, uma classe ou uma função) é solicitado. Assim, é possível proibir " "completamente os globais ou restringi-los a um subconjunto seguro." -#: ../../library/pickle.rst:1090 +#: ../../library/pickle.rst:1092 msgid "" -"Here is an example of an unpickler allowing only few safe classes from the :" -"mod:`builtins` module to be loaded::" +"Here is an example of an unpickler allowing only few safe classes from " +"the :mod:`builtins` module to be loaded::" msgstr "" "Aqui está um exemplo de um unpickler que permite que apenas algumas classes " "seguras do módulo :mod:`builtins` sejam carregadas::" -#: ../../library/pickle.rst:1119 +#: ../../library/pickle.rst:1121 msgid "A sample usage of our unpickler working as intended::" -msgstr "" +msgstr "Um exemplo de uso do nosso unpickler funcionando como esperado::" -#: ../../library/pickle.rst:1138 +#: ../../library/pickle.rst:1140 msgid "" "As our examples shows, you have to be careful with what you allow to be " "unpickled. Therefore if security is a concern, you may want to consider " @@ -1829,14 +1896,14 @@ msgid "" msgstr "" "Como nossos exemplos mostram, você deve ter cuidado com o que permite que " "seja desserializado com pickle. Portanto, se a segurança é uma preocupação, " -"você pode querer considerar alternativas como a API de marshalling em :mod:" -"`xmlrpc.client` ou soluções de terceiros." +"você pode querer considerar alternativas como a API de marshalling " +"em :mod:`xmlrpc.client` ou soluções de terceiros." -#: ../../library/pickle.rst:1145 +#: ../../library/pickle.rst:1147 msgid "Performance" -msgstr "Performance" +msgstr "Desempenho" -#: ../../library/pickle.rst:1147 +#: ../../library/pickle.rst:1149 msgid "" "Recent versions of the pickle protocol (from protocol 2 and upwards) feature " "efficient binary encodings for several common features and built-in types. " @@ -1847,70 +1914,70 @@ msgstr "" "embutidos. Além disso, o módulo :mod:`pickle` tem um otimizador transparente " "escrito em C." -#: ../../library/pickle.rst:1155 +#: ../../library/pickle.rst:1157 msgid "Examples" msgstr "Exemplos" -#: ../../library/pickle.rst:1157 +#: ../../library/pickle.rst:1159 msgid "" "For the simplest code, use the :func:`dump` and :func:`load` functions. ::" msgstr "" "Para código mais simples, use as funções :func:`dump` e :func:`load`. ::" -#: ../../library/pickle.rst:1173 +#: ../../library/pickle.rst:1175 msgid "The following example reads the resulting pickled data. ::" msgstr "" "O exemplo a seguir lê os dados resultantes em serializados com pickle. ::" -#: ../../library/pickle.rst:1190 +#: ../../library/pickle.rst:1192 msgid "Module :mod:`copyreg`" msgstr "Módulo :mod:`copyreg`" -#: ../../library/pickle.rst:1190 +#: ../../library/pickle.rst:1192 msgid "Pickle interface constructor registration for extension types." msgstr "Registro de construtor de interface Pickle para tipos de extensão." -#: ../../library/pickle.rst:1193 +#: ../../library/pickle.rst:1195 msgid "Module :mod:`pickletools`" msgstr "Módulo :mod:`pickletools`" -#: ../../library/pickle.rst:1193 +#: ../../library/pickle.rst:1195 msgid "Tools for working with and analyzing pickled data." msgstr "Ferramentas para trabalhar e analisar dados serializados com pickle." -#: ../../library/pickle.rst:1196 +#: ../../library/pickle.rst:1198 msgid "Module :mod:`shelve`" msgstr "Módulo :mod:`shelve`" -#: ../../library/pickle.rst:1196 +#: ../../library/pickle.rst:1198 msgid "Indexed databases of objects; uses :mod:`pickle`." msgstr "Banco de dados indexado de objetos; usa :mod:`pickle`." -#: ../../library/pickle.rst:1199 +#: ../../library/pickle.rst:1201 msgid "Module :mod:`copy`" msgstr "Módulo :mod:`copy`" -#: ../../library/pickle.rst:1199 +#: ../../library/pickle.rst:1201 msgid "Shallow and deep object copying." msgstr "Cópia rasa e cópia profunda de objeto." -#: ../../library/pickle.rst:1201 +#: ../../library/pickle.rst:1203 msgid "Module :mod:`marshal`" msgstr "Módulo :mod:`marshal`" -#: ../../library/pickle.rst:1202 +#: ../../library/pickle.rst:1204 msgid "High-performance serialization of built-in types." msgstr "Serialização de alto desempenho de tipos embutidos." -#: ../../library/pickle.rst:1206 +#: ../../library/pickle.rst:1208 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/pickle.rst:1207 +#: ../../library/pickle.rst:1209 msgid "Don't confuse this with the :mod:`marshal` module" msgstr "Não confunda isso com o módulo :mod:`marshal`" -#: ../../library/pickle.rst:1209 +#: ../../library/pickle.rst:1211 msgid "" "This is why :keyword:`lambda` functions cannot be pickled: all :keyword:`!" "lambda` functions share the same name: ````." @@ -1919,15 +1986,15 @@ msgstr "" "pickle: todas as funções :keyword:`!lambda` compartilham o mesmo nome: " "````." -#: ../../library/pickle.rst:1212 +#: ../../library/pickle.rst:1214 msgid "" -"The exception raised will likely be an :exc:`ImportError` or an :exc:" -"`AttributeError` but it could be something else." +"The exception raised will likely be an :exc:`ImportError` or " +"an :exc:`AttributeError` but it could be something else." msgstr "" -"A exceção levantada provavelmente será uma :exc:`ImportError` ou uma :exc:" -"`AttributeError`, mas poderia ser outra coisa." +"A exceção levantada provavelmente será uma :exc:`ImportError` ou " +"uma :exc:`AttributeError`, mas poderia ser outra coisa." -#: ../../library/pickle.rst:1215 +#: ../../library/pickle.rst:1217 msgid "" "The :mod:`copy` module uses this protocol for shallow and deep copying " "operations." @@ -1935,70 +2002,75 @@ msgstr "" "O módulo :mod:`copy` usa este protocolo para operações de cópia rasa e cópia " "profunda." -#: ../../library/pickle.rst:1218 +#: ../../library/pickle.rst:1220 msgid "" "The limitation on alphanumeric characters is due to the fact that persistent " "IDs in protocol 0 are delimited by the newline character. Therefore if any " "kind of newline characters occurs in persistent IDs, the resulting pickled " "data will become unreadable." msgstr "" +"A limitação de caracteres alfanuméricos se deve ao fato de que os IDs " +"persistentes, no protocolo 0, serem delimitados pelo caractere de nova " +"linha. Portanto, se qualquer tipo de caractere de nova linha ocorrer em IDs " +"persistentes, os dados resultantes da serialização com pickle se tornarão " +"ilegíveis." #: ../../library/pickle.rst:12 msgid "persistence" -msgstr "" +msgstr "persistência" #: ../../library/pickle.rst:12 msgid "persistent" -msgstr "" +msgstr "persistente" #: ../../library/pickle.rst:12 msgid "objects" -msgstr "" +msgstr "objetos" #: ../../library/pickle.rst:12 msgid "serializing" -msgstr "" +msgstr "serialização" #: ../../library/pickle.rst:12 msgid "marshalling" -msgstr "" +msgstr "marshalling" #: ../../library/pickle.rst:12 msgid "flattening" -msgstr "" +msgstr "flattening" #: ../../library/pickle.rst:12 msgid "pickling" -msgstr "" +msgstr "pickling" #: ../../library/pickle.rst:123 msgid "External Data Representation" -msgstr "" +msgstr "External Data Representation" -#: ../../library/pickle.rst:663 +#: ../../library/pickle.rst:664 msgid "copy" -msgstr "" +msgstr "copy" -#: ../../library/pickle.rst:663 +#: ../../library/pickle.rst:664 msgid "protocol" -msgstr "" +msgstr "protocolo" -#: ../../library/pickle.rst:746 +#: ../../library/pickle.rst:748 msgid "persistent_id (pickle protocol)" -msgstr "" +msgstr "persistent_id (protocolo pickle)" -#: ../../library/pickle.rst:746 +#: ../../library/pickle.rst:748 msgid "persistent_load (pickle protocol)" -msgstr "" +msgstr "persistent_load (protocolo pickle)" -#: ../../library/pickle.rst:822 +#: ../../library/pickle.rst:824 msgid "__getstate__() (copy protocol)" -msgstr "" +msgstr "__getstate__() (protocolo de cópia)" -#: ../../library/pickle.rst:822 +#: ../../library/pickle.rst:824 msgid "__setstate__() (copy protocol)" -msgstr "" +msgstr "__setstate__() (protocolo de cópia)" -#: ../../library/pickle.rst:1067 +#: ../../library/pickle.rst:1069 msgid "find_class() (pickle protocol)" -msgstr "" +msgstr "find_class() (protocolo pickle)" diff --git a/library/pickletools.po b/library/pickletools.po index f1049f13d..136300113 100644 --- a/library/pickletools.po +++ b/library/pickletools.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -37,9 +36,9 @@ msgid "" "This module contains various constants relating to the intimate details of " "the :mod:`pickle` module, some lengthy comments about the implementation, " "and a few useful functions for analyzing pickled data. The contents of this " -"module are useful for Python core developers who are working on the :mod:" -"`pickle`; ordinary users of the :mod:`pickle` module probably won't find " -"the :mod:`pickletools` module relevant." +"module are useful for Python core developers who are working on " +"the :mod:`pickle`; ordinary users of the :mod:`pickle` module probably won't " +"find the :mod:`pickletools` module relevant." msgstr "" "Este módulo contém várias constantes relacionadas aos detalhes íntimos do " "módulo :mod:`pickle`, alguns comentários extensos sobre a implementação e " @@ -48,11 +47,11 @@ msgstr "" "no :mod:`pickle`; usuários comuns do módulo :mod:`pickle` provavelmente não " "acharão o módulo :mod:`pickletools` relevante." -#: ../../library/pickletools.rst:21 +#: ../../library/pickletools.rst:23 msgid "Command line usage" msgstr "Uso na linha de comando" -#: ../../library/pickletools.rst:25 +#: ../../library/pickletools.rst:27 msgid "" "When invoked from the command line, ``python -m pickletools`` will " "disassemble the contents of one or more pickle files. Note that if you want " @@ -69,35 +68,35 @@ msgstr "" "confiável, ``-m pickletools`` é uma opção mais segura porque não executa " "bytecode pickle." -#: ../../library/pickletools.rst:33 +#: ../../library/pickletools.rst:35 msgid "For example, with a tuple ``(1, 2)`` pickled in file ``x.pickle``:" msgstr "" -"Por exemplo, com uma tupla ``(1, 2)`` tratada com pickling no arquivo ``x." -"pickle``:" +"Por exemplo, com uma tupla ``(1, 2)`` tratada com pickling no arquivo " +"``x.pickle``:" -#: ../../library/pickletools.rst:50 +#: ../../library/pickletools.rst:52 msgid "Command line options" msgstr "Opções da linha de comando" -#: ../../library/pickletools.rst:56 +#: ../../library/pickletools.rst:58 msgid "Annotate each line with a short opcode description." msgstr "Anota cada linha com uma descrição curta do código de operação." -#: ../../library/pickletools.rst:60 +#: ../../library/pickletools.rst:62 msgid "Name of a file where the output should be written." msgstr "Nome de um arquivo no qual a saída deve ser escrita." -#: ../../library/pickletools.rst:64 +#: ../../library/pickletools.rst:66 msgid "The number of blanks by which to indent a new MARK level." msgstr "O número de espaços em branco para indentar um novo nível MARK." -#: ../../library/pickletools.rst:68 +#: ../../library/pickletools.rst:70 msgid "" "When multiple objects are disassembled, preserve memo between disassemblies." msgstr "" "Quando vários objetos são desmontados, preserva memo entre as desmontagens." -#: ../../library/pickletools.rst:73 +#: ../../library/pickletools.rst:75 msgid "" "When more than one pickle file are specified, print given preamble before " "each disassembly." @@ -105,11 +104,11 @@ msgstr "" "Quando mais de um arquivo serializado em pickle for especificado, imprime o " "preâmbulo fornecido antes de cada desmontagem." -#: ../../library/pickletools.rst:79 +#: ../../library/pickletools.rst:81 msgid "Programmatic Interface" msgstr "Interface programática" -#: ../../library/pickletools.rst:84 +#: ../../library/pickletools.rst:86 msgid "" "Outputs a symbolic disassembly of the pickle to the file-like object *out*, " "defaulting to ``sys.stdout``. *pickle* can be a string or a file-like " @@ -132,11 +131,11 @@ msgstr "" "uma breve descrição. O valor de *annotate* é usado como uma dica para a " "coluna onde a anotação deve começar." -#: ../../library/pickletools.rst:95 -msgid "The *annotate* argument." -msgstr "O argumento *annotate*." +#: ../../library/pickletools.rst:97 +msgid "Added the *annotate* parameter." +msgstr "Adicionado o parâmetro *annotate*." -#: ../../library/pickletools.rst:100 +#: ../../library/pickletools.rst:102 msgid "" "Provides an :term:`iterator` over all of the opcodes in a pickle, returning " "a sequence of ``(opcode, arg, pos)`` triples. *opcode* is an instance of " @@ -151,7 +150,7 @@ msgstr "" "a posição em que este código de operação está localizado. *pickle* pode ser " "uma string ou um objeto arquivo ou similar." -#: ../../library/pickletools.rst:108 +#: ../../library/pickletools.rst:110 msgid "" "Returns a new equivalent pickle string after eliminating unused ``PUT`` " "opcodes. The optimized pickle is shorter, takes less transmission time, " diff --git a/library/pipes.po b/library/pipes.po index b1b2ee06a..64ced6ebf 100644 --- a/library/pipes.po +++ b/library/pipes.po @@ -1,28 +1,25 @@ # 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: -# Marco Rougeth , 2021 -# Italo Penaforte , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/pkgutil.po b/library/pkgutil.po index fb2607b90..79c0b26a7 100644 --- a/library/pkgutil.po +++ b/library/pkgutil.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -59,16 +59,20 @@ msgid "" "This is useful if one wants to distribute different parts of a single " "logical package as multiple directories." msgstr "" +"Para cada diretório em :data:`sys.path` que tenha um subdiretório que " +"corresponda ao nome do pacote, adiciona o subdiretório ao :attr:`__path__` " +"do pacote. Isto é útil se quisermos distribuir diferentes partes de um único " +"pacote lógico como múltiplos diretórios." #: ../../library/pkgutil.rst:33 msgid "" "It also looks for :file:`\\*.pkg` files beginning where ``*`` matches the " -"*name* argument. This feature is similar to :file:`\\*.pth` files (see the :" -"mod:`site` module for more information), except that it doesn't special-case " -"lines starting with ``import``. A :file:`\\*.pkg` file is trusted at face " -"value: apart from checking for duplicates, all entries found in a :file:`\\*." -"pkg` file are added to the path, regardless of whether they exist on the " -"filesystem. (This is a feature.)" +"*name* argument. This feature is similar to :file:`\\*.pth` files (see " +"the :mod:`site` module for more information), except that it doesn't special-" +"case lines starting with ``import``. A :file:`\\*.pkg` file is trusted at " +"face value: apart from checking for duplicates, all entries found in " +"a :file:`\\*.pkg` file are added to the path, regardless of whether they " +"exist on the filesystem. (This is a feature.)" msgstr "" #: ../../library/pkgutil.rst:41 @@ -77,15 +81,24 @@ msgid "" "returned unchanged. The input path is not modified; an extended copy is " "returned. Items are only appended to the copy at the end." msgstr "" +"Se o caminho de entrada não for uma lista (como é o caso de pacotes " +"congelados), ele será retornado inalterado. O caminho de entrada não é " +"modificado; uma cópia estendida é retornada. Os itens são anexados à cópia " +"apenas no final." #: ../../library/pkgutil.rst:45 msgid "" -"It is assumed that :data:`sys.path` is a sequence. Items of :data:`sys." -"path` that are not strings referring to existing directories are ignored. " -"Unicode items on :data:`sys.path` that cause errors when used as filenames " -"may cause this function to raise an exception (in line with :func:`os.path." -"isdir` behavior)." +"It is assumed that :data:`sys.path` is a sequence. Items " +"of :data:`sys.path` that are not strings referring to existing directories " +"are ignored. Unicode items on :data:`sys.path` that cause errors when used " +"as filenames may cause this function to raise an exception (in line " +"with :func:`os.path.isdir` behavior)." msgstr "" +"Presume-se que :data:`sys.path` seja uma sequência. Itens " +"de :data:`sys.path` que não sejam strings referentes a diretórios existentes " +"são ignorados. Itens Unicode em :data:`sys.path` que causam erros quando " +"usados como nomes de arquivo podem fazer com que esta função levante uma " +"exceção (em linha com o comportamento de :func:`os.path.isdir`)." #: ../../library/pkgutil.rst:54 msgid ":pep:`302` Finder that wraps Python's \"classic\" import algorithm." @@ -119,14 +132,19 @@ msgstr "" #: ../../library/pkgutil.rst:80 msgid "Retrieve a module :term:`loader` for the given *fullname*." msgstr "" +"Recupera o :term:`carregador` de um módulo para o *fullname* fornecido." #: ../../library/pkgutil.rst:82 msgid "" -"This is a backwards compatibility wrapper around :func:`importlib.util." -"find_spec` that converts most failures to :exc:`ImportError` and only " -"returns the loader rather than the full :class:`importlib.machinery." -"ModuleSpec`." +"This is a backwards compatibility wrapper " +"around :func:`importlib.util.find_spec` that converts most failures " +"to :exc:`ImportError` and only returns the loader rather than the " +"full :class:`importlib.machinery.ModuleSpec`." msgstr "" +"Este é um invólucro para retrocompatibilidade em torno " +"de :func:`importlib.util.find_spec` que converte a maioria das falhas " +"em :exc:`ImportError` e retorna apenas o carregador, em vez " +"do :class:`importlib.machinery.ModuleSpec` completo." #: ../../library/pkgutil.rst:87 ../../library/pkgutil.rst:104 #: ../../library/pkgutil.rst:119 ../../library/pkgutil.rst:140 @@ -135,30 +153,37 @@ msgid "" "Updated to be based directly on :mod:`importlib` rather than relying on the " "package internal :pep:`302` import emulation." msgstr "" +"Atualizado para ser baseado diretamente em :mod:`importlib` em vez de " +"depender da emulação de importação interna do pacote da :pep:`302`." #: ../../library/pkgutil.rst:91 ../../library/pkgutil.rst:123 msgid "Updated to be based on :pep:`451`" -msgstr "" +msgstr "Atualizado para ser baseado na :pep:`451`" #: ../../library/pkgutil.rst:96 msgid "Retrieve a :term:`finder` for the given *path_item*." -msgstr "" +msgstr "Recupera um :term:`localizador` para o *path_item* fornecido." #: ../../library/pkgutil.rst:98 msgid "" "The returned finder is cached in :data:`sys.path_importer_cache` if it was " "newly created by a path hook." msgstr "" +"O localizador retornado é armazenado em cache " +"em :data:`sys.path_importer_cache` se ele foi criado recentemente por um " +"gancho de caminho." #: ../../library/pkgutil.rst:101 msgid "" -"The cache (or part of it) can be cleared manually if a rescan of :data:`sys." -"path_hooks` is necessary." +"The cache (or part of it) can be cleared manually if a rescan " +"of :data:`sys.path_hooks` is necessary." msgstr "" +"O cache (ou parte dele) pode ser limpo manualmente se uma nova varredura " +"de :data:`sys.path_hooks` for necessária." #: ../../library/pkgutil.rst:111 msgid "Get a :term:`loader` object for *module_or_name*." -msgstr "" +msgstr "Obtém um objeto :term:`carregador` para *module_or_name*." #: ../../library/pkgutil.rst:113 msgid "" @@ -168,10 +193,15 @@ msgid "" "not already imported, its containing package (if any) is imported, in order " "to establish the package ``__path__``." msgstr "" +"Se o módulo ou pacote estiver acessível pelo mecanismo de importação normal, " +"um invólucro em torno da parte relevante desse maquinário será retornado. " +"Retorna ``None`` se o módulo não puder ser encontrado ou importado. Se o " +"módulo nomeado ainda não tiver sido importado, o pacote que o contém (se " +"houver) será importado para estabelecer o pacote ``__path__``." #: ../../library/pkgutil.rst:129 msgid "Yield :term:`finder` objects for the given module name." -msgstr "" +msgstr "Produz objetos :term:`localizador` para o nome do módulo fornecido." #: ../../library/pkgutil.rst:131 msgid "" @@ -179,46 +209,65 @@ msgid "" "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`)." #: ../../library/pkgutil.rst:135 msgid "" "If the named module is in a package, that package is imported as a side " "effect of invoking this function." msgstr "" +"Se o módulo nomeado estiver em um pacote, esse pacote será importado como um " +"efeito colateral da invocação desta função." #: ../../library/pkgutil.rst:138 msgid "If no module name is specified, all top level finders are produced." msgstr "" +"Se nenhum nome de módulo for especificado, todos os localizadores de nível " +"superior serão produzidos." #: ../../library/pkgutil.rst:147 msgid "" "Yields :class:`ModuleInfo` for all submodules on *path*, or, if *path* is " "``None``, all top-level modules on :data:`sys.path`." msgstr "" +"Levanta :class:`ModuleInfo` para todos os submódulos em *path* ou, se *path* " +"for ``None``, todos os módulos de nível superior em :data:`sys.path`." #: ../../library/pkgutil.rst:150 ../../library/pkgutil.rst:171 msgid "" "*path* should be either ``None`` or a list of paths to look for modules in." msgstr "" +"*path* deve ser ``None`` ou uma lista de caminhos para procurar módulos." #: ../../library/pkgutil.rst:152 ../../library/pkgutil.rst:173 msgid "" "*prefix* is a string to output on the front of every module name on output." msgstr "" +"*prefix* é uma string a ser exibida na frente de cada nome de módulo na " +"saída." #: ../../library/pkgutil.rst:156 ../../library/pkgutil.rst:195 msgid "" "Only works for a :term:`finder` which defines an ``iter_modules()`` method. " "This interface is non-standard, so the module also provides implementations " -"for :class:`importlib.machinery.FileFinder` and :class:`zipimport." -"zipimporter`." +"for :class:`importlib.machinery.FileFinder` " +"and :class:`zipimport.zipimporter`." msgstr "" +"Funciona apenas para um :term:`localizador` que define um método " +"``iter_modules()``. Esta interface não é padrão, portanto, o módulo também " +"fornece implementações para :class:`importlib.machinery.FileFinder` " +"e :class:`zipimport.zipimporter`." #: ../../library/pkgutil.rst:168 msgid "" "Yields :class:`ModuleInfo` for all modules recursively on *path*, or, if " "*path* is ``None``, all accessible modules." msgstr "" +"Levanta :class:`ModuleInfo` para todos os módulos recursivamente em *path*, " +"ou, se *path* for ``None``, todos os módulos acessíveis." #: ../../library/pkgutil.rst:175 msgid "" @@ -226,15 +275,23 @@ msgid "" "the given *path*, in order to access the ``__path__`` attribute to find " "submodules." msgstr "" +"Observe que esta função deve importar todos os *pacotes* (*não* todos os " +"módulos!) no caminho *path* fornecido, para acessar o atributo ``__path__`` " +"para encontrar submódulos." #: ../../library/pkgutil.rst:179 msgid "" "*onerror* is a function which gets called with one argument (the name of the " "package which was being imported) if any exception occurs while trying to " -"import a package. If no *onerror* function is supplied, :exc:" -"`ImportError`\\s are caught and ignored, while all other exceptions are " -"propagated, terminating the search." +"import a package. If no *onerror* function is " +"supplied, :exc:`ImportError`\\s are caught and ignored, while all other " +"exceptions are propagated, terminating the search." msgstr "" +"*onerror* é uma função que é chamada com um argumento (o nome do pacote que " +"estava sendo importado) caso ocorra alguma exceção durante a tentativa de " +"importação de um pacote. Se nenhuma função *onerror* for " +"fornecida, :exc:`ImportError`\\s são capturadas e ignoradas, enquanto todas " +"as outras exceções são propagadas, encerrando a busca." #: ../../library/pkgutil.rst:185 msgid "Examples::" @@ -242,49 +299,69 @@ msgstr "Exemplos::" #: ../../library/pkgutil.rst:207 msgid "Get a resource from a package." -msgstr "" +msgstr "Obtém um recurso de um pacote." #: ../../library/pkgutil.rst:209 msgid "" -"This is a wrapper for the :term:`loader` :meth:`get_data ` API. The *package* argument should be the name of " -"a package, in standard module format (``foo.bar``). The *resource* argument " -"should be in the form of a relative filename, using ``/`` as the path " -"separator. The parent directory name ``..`` is not allowed, and nor is a " -"rooted name (starting with a ``/``)." +"This is a wrapper for the :term:`loader` :meth:`get_data " +"` API. The *package* argument should " +"be the name of a package, in standard module format (``foo.bar``). The " +"*resource* argument should be in the form of a relative filename, using ``/" +"`` as the path separator. The parent directory name ``..`` is not allowed, " +"and nor is a rooted name (starting with a ``/``)." msgstr "" +"Este é um invólucro para a API :meth:`get_data " +"` do :term:`carregador`. O argumento " +"*package* deve ser o nome de um pacote, no formato de módulo padrão " +"(``foo.bar``). O argumento *resource* deve estar no formato de um nome de " +"arquivo relativo, usando ``/`` como separador de caminho. O nome do " +"diretório pai ``..`` não é permitido, nem um nome raiz (começando com ``/``)." #: ../../library/pkgutil.rst:216 msgid "" "The function returns a binary string that is the contents of the specified " "resource." msgstr "" +"A função retorna uma string binária que é o conteúdo do recurso especificado." #: ../../library/pkgutil.rst:219 msgid "" "For packages located in the filesystem, which have already been imported, " "this is the rough equivalent of::" msgstr "" +"Para pacotes localizados no sistema de arquivos, que já foram importados, " +"isso é o equivalente aproximado de::" #: ../../library/pkgutil.rst:225 msgid "" "If the package cannot be located or loaded, or it uses a :term:`loader` " -"which does not support :meth:`get_data `, then ``None`` is returned. In particular, the :term:`loader` " -"for :term:`namespace packages ` does not support :meth:" -"`get_data `." -msgstr "" +"which does not support :meth:`get_data " +"`, then ``None`` is returned. In " +"particular, the :term:`loader` for :term:`namespace packages ` does not support :meth:`get_data " +"`." +msgstr "" +"Se o pacote não puder ser localizado ou carregado, ou se usar " +"um :term:`carregador` que não oferece suporte a :meth:`get_data " +"`, ``None`` será retornado. Em " +"particular, o :term:`carregador` para :term:`pacotes de espaço de nomes " +"` não oferece suporte a :meth:`get_data " +"`." #: ../../library/pkgutil.rst:234 msgid "Resolve a name to an object." -msgstr "" +msgstr "Resolve um nome a um objeto." #: ../../library/pkgutil.rst:236 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." +"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 "" +"Essa funcionalidade é usada em vários lugares na biblioteca padrão " +"(veja :issue:`12915`) - e funcionalidades equivalentes também estão " +"amplamente utilizadas em pacotes de terceiros, como setuptools, Django e " +"Pyramid." #: ../../library/pkgutil.rst:240 msgid "" @@ -292,14 +369,17 @@ msgid "" "where W is shorthand for a valid Python identifier and dot stands for a " "literal period in these pseudo-regexes:" msgstr "" +"Espera-se que *name* seja uma string em um dos seguintes formatos, onde W é " +"uma abreviação para um identificador Python válido e ponto representa um " +"ponto literal nessas pseudo-regexes:" #: ../../library/pkgutil.rst:244 msgid "``W(.W)*``" -msgstr "" +msgstr "``W(.W)*``" #: ../../library/pkgutil.rst:245 msgid "``W(.W)*:(W(.W)*)?``" -msgstr "" +msgstr "``W(.W)*:(W(.W)*)?``" #: ../../library/pkgutil.rst:247 msgid "" @@ -310,6 +390,12 @@ msgid "" "inferred by inspection, repeated attempts to import must be done with this " "form." msgstr "" +"A primeira forma destina-se apenas à retrocompatibilidade. Ela presume que " +"parte do nome pontilhado seja um pacote e o restante seja um objeto em algum " +"lugar dentro desse pacote, possivelmente aninhado dentro de outros objetos. " +"Como o ponto onde o pacote termina e a hierarquia de objetos começa não pode " +"ser inferido por inspeção, tentativas repetidas de importação devem ser " +"feitas com esta forma." #: ../../library/pkgutil.rst:254 msgid "" @@ -319,23 +405,33 @@ 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 "" +"Na segunda forma, o chamador deixa claro o ponto de divisão por meio de um " +"caractere de dois pontos: o nome pontilhado à esquerda do caractere de dois " +"pontos representa um pacote a ser importado, e o nome pontilhado à direita " +"representa a hierarquia de objetos dentro desse pacote. Apenas uma " +"importação é necessária nesta forma. Se terminar com caractere de dois " +"pontos, um objeto de módulo será retornado." #: ../../library/pkgutil.rst:260 msgid "" "The function will return an object (which might be a module), or raise one " "of the following exceptions:" msgstr "" +"A função retornará um objeto (que pode ser um módulo) ou levantará uma das " +"seguintes exceções:" #: ../../library/pkgutil.rst:263 msgid ":exc:`ValueError` -- if *name* isn't in a recognised format." -msgstr "" +msgstr ":exc:`ValueError` -- se *name* não estiver em um formato reconhecido." #: ../../library/pkgutil.rst:265 msgid ":exc:`ImportError` -- if an import failed when it shouldn't have." -msgstr "" +msgstr ":exc:`ImportError` -- se uma importação falhou quando não deveria." #: ../../library/pkgutil.rst:267 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` -- Se ocorrer uma falha ao percorrer a hierarquia de " +"objetos dentro do pacote importado para chegar ao objeto desejado." diff --git a/library/platform.po b/library/platform.po index 15184ad9d..cd0e7a31f 100644 --- a/library/platform.po +++ b/library/platform.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Italo Penaforte , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,16 +36,20 @@ msgid "" "Specific platforms listed alphabetically, with Linux included in the Unix " "section." msgstr "" +"Plataformas específicas listadas em ordem alfabética, com Linux incluído na " +"seção Unix." #: ../../library/platform.rst:21 msgid "Cross Platform" -msgstr "" +msgstr "Multiplataforma" #: ../../library/platform.rst:26 msgid "" "Queries the given executable (defaults to the Python interpreter binary) for " "various architecture information." msgstr "" +"Consulta o executável fornecido (o padrão é o binário do interpretador " +"Python) para obter várias informações de arquitetura." #: ../../library/platform.rst:29 msgid "" @@ -55,6 +57,9 @@ msgid "" "architecture and the linkage format used for the executable. Both values are " "returned as strings." msgstr "" +"Retorna uma tupla ``(bits, linkage)`` que contém informações sobre a " +"arquitetura de bits e o formato de linkage usado para o executável. Ambos os " +"valores são retornados como strings." #: ../../library/platform.rst:33 msgid "" @@ -63,6 +68,10 @@ msgid "" "``sizeof(long)`` on Python version < 1.5.2) is used as indicator for the " "supported pointer size." msgstr "" +"Valores que não podem ser determinados são retornados como fornecidos pelas " +"predefinições de parâmetros. Se bits for fornecido como ``''``, o " +"``sizeof(pointer)`` (ou ``sizeof(long)`` na versão Python < 1.5.2) é usado " +"como indicador para o tamanho de ponteiro suportado." #: ../../library/platform.rst:38 msgid "" @@ -71,42 +80,60 @@ 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 "" +"A função depende do comando :file:`file` do sistema para fazer o trabalho " +"real. Isso está disponível na maioria, se não em todas as plataformas Unix e " +"algumas plataformas não Unix e somente se o executável apontar para o " +"interpretador Python. Padrões razoáveis são usados quando as necessidades " +"acima não são atendidas." #: ../../library/platform.rst:45 msgid "" "On macOS (and perhaps other platforms), executable files may be universal " "files containing multiple architectures." msgstr "" +"No macOS (e talvez em outras plataformas), arquivos executáveis podem ser " +"arquivos universais contendo diversas arquiteturas." #: ../../library/platform.rst:48 msgid "" "To get at the \"64-bitness\" of the current interpreter, it is more reliable " -"to query the :attr:`sys.maxsize` attribute::" +"to query the :data:`sys.maxsize` attribute::" msgstr "" +"Para obter a \"característica de 64 bits\" do interpretador atual, é mais " +"confiável consultar o atributo :data:`sys.maxsize`::" #: ../../library/platform.rst:56 msgid "" "Returns the machine type, e.g. ``'AMD64'``. An empty string is returned if " "the value cannot be determined." msgstr "" +"Retorna o tipo de máquina, por exemplo, ``'AMD64'``. Uma string vazia é " +"retornada se o valor não puder ser determinado." #: ../../library/platform.rst:62 msgid "" "Returns the computer's network name (may not be fully qualified!). An empty " "string is returned if the value cannot be determined." msgstr "" +"Retorna o nome de rede do computador (pode não ser totalmente qualificado!). " +"Uma string vazia é retornada se o valor não puder ser determinado." #: ../../library/platform.rst:68 msgid "" "Returns a single string identifying the underlying platform with as much " "useful information as possible." msgstr "" +"Retorna uma única string identificando a plataforma subjacente com o máximo " +"de informações úteis possível." #: ../../library/platform.rst:71 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 "" +"A saída é pretendida para ser *legível por humanos* em vez de analisável por " +"máquinas. Pode parecer diferente em diferentes plataformas e isso é " +"intencional." #: ../../library/platform.rst:74 msgid "" @@ -115,22 +142,30 @@ msgid "" "SunOS will be reported as Solaris. The :func:`system_alias` function is " "used to implement this." msgstr "" +"Se *aliased* for true, a função usará apelidos para várias plataformas que " +"relatam nomes de sistemas que diferem de seus nomes comuns, por exemplo, " +"SunOS será relatado como Solaris. A função :func:`system_alias` é usada para " +"implementar isso." #: ../../library/platform.rst:79 msgid "" "Setting *terse* to true causes the function to return only the absolute " "minimum information needed to identify the platform." msgstr "" +"Definir *terse* como true faz com que a função retorne apenas o mínimo " +"absoluto de informações necessárias para identificar a plataforma." #: ../../library/platform.rst:82 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 "" +"No macOS, a função agora usa :func:`mac_ver`, se retornar uma string de " +"versão não vazia, para obter a versão do macOS em vez da versão do darwin." #: ../../library/platform.rst:90 msgid "Returns the (real) processor name, e.g. ``'amdk6'``." -msgstr "" +msgstr "Retorna o nome (real) do processador, por exemplo ``'amdk6'``." #: ../../library/platform.rst:92 msgid "" @@ -138,64 +173,85 @@ msgid "" "many platforms do not provide this information or simply return the same " "value as for :func:`machine`. NetBSD does this." msgstr "" +"Uma string vazia é retornada se o valor não puder ser determinado. Note que " +"muitas plataformas não fornecem essas informações ou simplesmente retornam o " +"mesmo valor que para :func:`machine`. O NetBSD faz isso." #: ../../library/platform.rst:99 msgid "" "Returns a tuple ``(buildno, builddate)`` stating the Python build number and " "date as strings." msgstr "" +"Retorna uma tupla ``(buildno, builddate)`` informando o número e a data da " +"construção do Python como strings." #: ../../library/platform.rst:105 msgid "Returns a string identifying the compiler used for compiling Python." msgstr "" +"Retorna uma string identificando o compilador usado para compilar Python." #: ../../library/platform.rst:110 msgid "Returns a string identifying the Python implementation SCM branch." msgstr "" +"Retorna uma string identificando a branch SCM da implementação do Python." #: ../../library/platform.rst:115 msgid "" "Returns a string identifying the Python implementation. Possible return " "values are: 'CPython', 'IronPython', 'Jython', 'PyPy'." msgstr "" +"Retorna uma string identificando a implementação do Python. Os valores de " +"retorno possíveis são: 'CPython', 'IronPython', 'Jython', 'PyPy'." #: ../../library/platform.rst:121 msgid "Returns a string identifying the Python implementation SCM revision." msgstr "" +"Retorna uma string que identifica a revisão do SCM da implementação Python." #: ../../library/platform.rst:126 msgid "Returns the Python version as string ``'major.minor.patchlevel'``." -msgstr "" +msgstr "Retorna a versão do Python como string ``'major.minor.patchlevel'``." #: ../../library/platform.rst:128 msgid "" "Note that unlike the Python ``sys.version``, the returned value will always " "include the patchlevel (it defaults to 0)." msgstr "" +"Observe que, diferentemente do ``sys.version`` do Python, o valor retornado " +"sempre incluirá o patchlevel (o padrão é 0)." #: ../../library/platform.rst:134 msgid "" "Returns the Python version as tuple ``(major, minor, patchlevel)`` of " "strings." msgstr "" +"Retorna a versão do Python como tupla ``(major, minor, patchlevel)`` de " +"strings." #: ../../library/platform.rst:136 msgid "" "Note that unlike the Python ``sys.version``, the returned value will always " "include the patchlevel (it defaults to ``'0'``)." msgstr "" +"Observe que, diferentemente do ``sys.version`` do Python, o valor retornado " +"sempre incluirá o patchlevel (o padrão é ``'0'``)." #: ../../library/platform.rst:142 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 "" +"Retorna a versão do sistema, por exemplo, ``'2.2.0'`` ou ``'NT'``. Uma " +"string vazia é retornada se o valor não puder ser determinado." #: ../../library/platform.rst:148 msgid "" "Returns the system/OS name, such as ``'Linux'``, ``'Darwin'``, ``'Java'``, " "``'Windows'``. An empty string is returned if the value cannot be determined." msgstr "" +"Retorna o nome do sistema/SO, como ``'Linux'``, ``'Darwin'``, ``'Java'``, " +"``'Windows'``. Uma string vazia é retornada se o valor não puder ser " +"determinado." #: ../../library/platform.rst:154 msgid "" @@ -203,39 +259,49 @@ msgid "" "used for some systems. It also does some reordering of the information in " "some cases where it would otherwise cause confusion." msgstr "" +"Retorna ``(sistema, release, versão)`` com apelido para nomes comuns de " +"marketing usados para alguns sistemas. Ele também faz alguma reordenação das " +"informações em alguns casos em que, de outra forma, causaria confusão." #: ../../library/platform.rst:161 msgid "" "Returns the system's release version, e.g. ``'#3 on degas'``. An empty " "string is returned if the value cannot be determined." msgstr "" +"Retorna a versão de lançamento do sistema, por exemplo, ``'#3 on degas'``. " +"Uma string vazia é retornada se o valor não puder ser determinado." #: ../../library/platform.rst:167 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`." +"containing six " +"attributes: :attr:`system`, :attr:`node`, :attr:`release`, :attr:`version`, :attr:`machine`, " +"and :attr:`processor`." msgstr "" +"Interface para uname razoavelmente portátil. Retorna " +"um :func:`~collections.namedtuple` contendo seis " +"atributos: :attr:`system`, :attr:`node`, :attr:`release`, :attr:`version`, :attr:`machine` " +"e :attr:`processor`." #: ../../library/platform.rst:171 msgid "" "Note that this adds a sixth attribute (:attr:`processor`) not present in " "the :func:`os.uname` result. Also, the attribute names are different for " -"the first two attributes; :func:`os.uname` names them :attr:`sysname` and :" -"attr:`nodename`." +"the first two attributes; :func:`os.uname` names them :attr:`sysname` " +"and :attr:`nodename`." msgstr "" #: ../../library/platform.rst:176 msgid "Entries which cannot be determined are set to ``''``." -msgstr "" +msgstr "As entradas que não podem ser determinadas são definidas como ``''``." #: ../../library/platform.rst:178 msgid "Result changed from a tuple to a :func:`~collections.namedtuple`." -msgstr "" +msgstr "O resultado mudou de uma tupla para :func:`~collections.namedtuple`." #: ../../library/platform.rst:183 msgid "Java Platform" -msgstr "" +msgstr "Plataforma Java" #: ../../library/platform.rst:188 msgid "Version interface for Jython." @@ -248,10 +314,15 @@ 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 "" +"Retorna uma tupla ``(release, vendor, vminfo, osinfo)`` com *vminfo* sendo " +"uma tupla ``(vm_name, vm_release, vm_vendor)`` e *osinfo* sendo uma tupla " +"``(os_name, os_version, os_arch)``. Valores que não podem ser determinados " +"são definidos para os padrões fornecidos como parâmetros (que são todos " +"padrão para ``''``)." #: ../../library/platform.rst:197 msgid "Windows Platform" -msgstr "" +msgstr "Plataforma Windows" #: ../../library/platform.rst:202 msgid "" @@ -261,6 +332,12 @@ msgid "" "Values which cannot be determined are set to the defaults given as " "parameters (which all default to an empty string)." msgstr "" +"Obtém informações adicionais sobre a versão do Registro do Windows e retorna " +"uma tupla ``(release, version, csd, ptype)`` referente à versão do SO, " +"número da versão, nível do CSD (service pack) e tipo de sistema operacional " +"(processador múltiplo/único). Os valores que não podem ser determinados são " +"definidos para os padrões fornecidos como parâmetros (que são todos padrão " +"para uma string vazia)." #: ../../library/platform.rst:208 msgid "" @@ -278,16 +355,22 @@ msgid "" "to ``'Enterprise'``, ``'IoTUAP'``, ``'ServerStandard'``, and " "``'nanoserver'``." msgstr "" +"Retorna uma string representando a edição atual do Windows, ou ``None`` se o " +"valor não puder ser determinado. Os valores possíveis incluem, mas não estão " +"limitados a ``'Enterprise'``, ``'IoTUAP'``, ``'ServerStandard'`` e " +"``'nanoserver'``." #: ../../library/platform.rst:224 msgid "" "Return ``True`` if the Windows edition returned by :func:`win32_edition` is " "recognized as an IoT edition." msgstr "" +"Retorna ``True`` se a edição do Windows retornada por :func:`win32_edition` " +"for reconhecida como uma edição IoT." #: ../../library/platform.rst:231 msgid "macOS Platform" -msgstr "" +msgstr "Plataforma macOS" #: ../../library/platform.rst:236 msgid "" @@ -295,12 +378,17 @@ msgid "" "versioninfo, machine)`` with *versioninfo* being a tuple ``(version, " "dev_stage, non_release_version)``." msgstr "" +"Obtém informações sobre a versão do macOS e retorna-as como tupla " +"``(release, versioninfo, machine)``, sendo *versioninfo* uma tupla " +"``(version, dev_stage, non_release_version)``." #: ../../library/platform.rst:240 msgid "" "Entries which cannot be determined are set to ``''``. All tuple entries are " "strings." msgstr "" +"Entradas que não podem ser determinadas são definidas como ``''``. Todas as " +"entradas de tupla são strings." #: ../../library/platform.rst:245 msgid "Unix Platforms" @@ -313,6 +401,10 @@ msgid "" "``(lib, version)`` which default to the given parameters in case the lookup " "fails." msgstr "" +"Tenta determinar a versão libc contra a qual o executável do arquivo (padrão " +"para o interpretador Python) está vinculado. Retorna uma tupla de strings " +"``(lib, version)`` que tem como padrão os parâmetros fornecidos caso a " +"pesquisa falhe." #: ../../library/platform.rst:253 msgid "" @@ -320,14 +412,17 @@ msgid "" "versions add symbols to the executable is probably only usable for " "executables compiled using :program:`gcc`." msgstr "" +"Observe que esta função tem conhecimento profundo de como diferentes versões " +"da libc adicionam símbolos ao executável e provavelmente só pode ser usada " +"para executáveis compilados usando :program:`gcc`." #: ../../library/platform.rst:257 msgid "The file is read and scanned in chunks of *chunksize* bytes." -msgstr "" +msgstr "O arquivo é lido e escaneado em blocos de *chunksize* bytes." #: ../../library/platform.rst:261 msgid "Linux Platforms" -msgstr "" +msgstr "Plataformas Linux" #: ../../library/platform.rst:265 msgid "" @@ -337,12 +432,19 @@ msgid "" "in most Linux distributions. A noticeable exception is Android and Android-" "based distributions." msgstr "" +"Obtém a identificação do sistema operacional do arquivo ``os-release`` e " +"retorna-a como um dict. O arquivo ``os-release`` é um `padrão " +"freedesktop.org `_ e está disponível na maioria das distribuições Linux. Uma " +"exceção notável é o Android e as distribuições baseadas em Android." #: ../../library/platform.rst:271 msgid "" "Raises :exc:`OSError` or subclass when neither ``/etc/os-release`` nor ``/" "usr/lib/os-release`` can be read." msgstr "" +"Levanta :exc:`OSError` ou subclasse quando nem ``/etc/os-release`` nem ``/" +"usr/lib/os-release`` podem ser lidos." #: ../../library/platform.rst:274 msgid "" @@ -352,6 +454,11 @@ msgid "" "defined according to the standard. All other fields are optional. Vendors " "may include additional fields." msgstr "" +"Em caso de sucesso, a função retorna um dicionário onde chaves e valores são " +"strings. Valores têm seus caracteres especiais como ``\"`` e ``$`` sem " +"aspas. Os campos ``NAME``, ``ID`` e ``PRETTY_NAME`` são sempre definidos de " +"acordo com o padrão. Todos os outros campos são opcionais. Os fornecedores " +"podem incluir campos adicionais." #: ../../library/platform.rst:280 msgid "" @@ -360,6 +467,10 @@ msgid "" "``ID_LIKE``, ``VERSION_ID``, or ``VARIANT_ID`` to identify Linux " "distributions." msgstr "" +"Note que campos como ``NAME``, ``VERSION`` e ``VARIANT`` são strings " +"adequadas para apresentação aos usuários. Os programas devem usar campos " +"como ``ID``, ``ID_LIKE``, ``VERSION_ID`` ou ``VARIANT_ID`` para identificar " +"distribuições Linux." #: ../../library/platform.rst:285 msgid "Example::" diff --git a/library/plistlib.po b/library/plistlib.po index 027b0bf20..71d66b74a 100644 --- a/library/plistlib.po +++ b/library/plistlib.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Hildeberto Abreu Magalhães , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,6 +37,9 @@ msgid "" "list\" files used by Apple, primarily on macOS and iOS. This module supports " "both binary and XML plist files." msgstr "" +"Este módulo fornece uma interface para ler e escrever os arquivos \"property " +"listas (lista de propriedades) usados pela Apple, principalmente no macOS e " +"iOS. Este módulo tem suporte a arquivos plist binários e XML." #: ../../library/plistlib.rst:23 msgid "" @@ -46,18 +47,26 @@ msgid "" "supporting basic object types, like dictionaries, lists, numbers and " "strings. Usually the top level object is a dictionary." msgstr "" +"O formato de arquivo de lista de propriedades (``.plist``) é uma " +"serialização simples que oferece suporte a tipos básicos de objetos, como " +"dicionários, listas, números e strings. Normalmente, o objeto de nível " +"superior é um dicionário." #: ../../library/plistlib.rst:27 msgid "" -"To write out and to parse a plist file, use the :func:`dump` and :func:" -"`load` functions." +"To write out and to parse a plist file, use the :func:`dump` " +"and :func:`load` functions." msgstr "" +"Para escrever e analisar um arquivo plist, use as funções :func:`dump` " +"e :func:`load`." #: ../../library/plistlib.rst:30 msgid "" -"To work with plist data in bytes objects, use :func:`dumps` and :func:" -"`loads`." +"To work with plist data in bytes objects, use :func:`dumps` " +"and :func:`loads`." msgstr "" +"Para trabalhar com dados plist em objetos bytes, use :func:`dumps` " +"e :func:`loads`." #: ../../library/plistlib.rst:33 msgid "" @@ -65,30 +74,39 @@ msgid "" "dictionaries (but only with string keys), :class:`bytes`, :class:`bytearray` " "or :class:`datetime.datetime` objects." msgstr "" +"Os valores podem ser strings, inteiros, floats, booleanos, tuplas, listas, " +"dicionários (mas somente com chaves de string), " +"objetos :class:`bytes`, :class:`bytearray` ou :class:`datetime.datetime`." #: ../../library/plistlib.rst:37 msgid "New API, old API deprecated. Support for binary format plists added." msgstr "" +"Nova API, API antiga descontinuada. Suporte para plists de formato binário " +"adicionado." #: ../../library/plistlib.rst:40 msgid "" "Support added for reading and writing :class:`UID` tokens in binary plists " "as used by NSKeyedArchiver and NSKeyedUnarchiver." msgstr "" +"Adicionado suporte para leitura e escrita de tokens :class:`UID` em plists " +"binários, conforme usado por NSKeyedArchiver e NSKeyedUnarchiver." #: ../../library/plistlib.rst:44 msgid "Old API removed." -msgstr "" +msgstr "API antiga removida." #: ../../library/plistlib.rst:49 msgid "" "`PList manual page `_" msgstr "" +"`Pagina de manual de PList `_" #: ../../library/plistlib.rst:50 msgid "Apple's documentation of the file format." -msgstr "" +msgstr "Documentação da Apple sobre o formato de arquivo." #: ../../library/plistlib.rst:53 msgid "This module defines the following functions:" @@ -99,28 +117,31 @@ 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 "" +"Lê um arquivo plist. *fp* deve ser um objeto arquivo binário e legível. " +"Retorna o objeto raiz desempacotado (que geralmente é um dicionário)." #: ../../library/plistlib.rst:61 msgid "The *fmt* is the format of the file and the following values are valid:" -msgstr "" +msgstr "*fmt* é o formato do arquivo e os seguintes valores são válidos:" #: ../../library/plistlib.rst:63 msgid ":data:`None`: Autodetect the file format" -msgstr "" +msgstr ":data:`None`: Detecta automaticamente o formato do arquivo" #: ../../library/plistlib.rst:65 msgid ":data:`FMT_XML`: XML file format" -msgstr "" +msgstr ":data:`FMT_XML`: Formato de arquivo XML" #: ../../library/plistlib.rst:67 msgid ":data:`FMT_BINARY`: Binary plist format" -msgstr "" +msgstr ":data:`FMT_BINARY`: Formato binário plist" #: ../../library/plistlib.rst:69 msgid "" "The *dict_type* is the type used for dictionaries that are read from the " "plist file." msgstr "" +"O *dict_type* é o tipo usado para dicionários que são lidos do arquivo plist." #: ../../library/plistlib.rst:72 msgid "" @@ -129,37 +150,49 @@ msgid "" "exceptions on ill-formed XML. Unknown elements will simply be ignored by " "the plist parser." msgstr "" +"Dados XML para o formato :data:`FMT_XML` são analisados usando o analisador " +"sintático Expat de :mod:`xml.parsers.expat` -- veja sua documentação para " +"possíveis exceções em XML malformado. Elementos desconhecidos serão " +"simplesmente ignorados pelo analisador de plist." #: ../../library/plistlib.rst:77 msgid "" "The parser for the binary format raises :exc:`InvalidFileException` when the " "file cannot be parsed." msgstr "" +"O analisador sintático para o formato binário " +"levanta :exc:`InvalidFileException` quando o arquivo não pode ser analisado." #: ../../library/plistlib.rst:85 msgid "" "Load a plist from a bytes object. See :func:`load` for an explanation of the " "keyword arguments." msgstr "" +"Carrega um plist de um objeto bytes. Veja :func:`load` para uma explicação " +"dos argumentos nomeados." #: ../../library/plistlib.rst:93 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." #: ../../library/plistlib.rst:96 msgid "" "The *fmt* argument specifies the format of the plist file and can be one of " "the following values:" msgstr "" +"O argumento *fmt* especifica o formato do arquivo plist e pode ser um dos " +"seguintes valores:" #: ../../library/plistlib.rst:99 msgid ":data:`FMT_XML`: XML formatted plist file" -msgstr "" +msgstr ":data:`FMT_XML`: Arquivo plist formatado em XML" #: ../../library/plistlib.rst:101 msgid ":data:`FMT_BINARY`: Binary formatted plist file" -msgstr "" +msgstr ":data:`FMT_BINARY`: Arquivo plist formatado em binário" #: ../../library/plistlib.rst:103 msgid "" @@ -167,58 +200,75 @@ msgid "" "written to the plist in sorted order, otherwise they will be written in the " "iteration order of the dictionary." msgstr "" +"Quando *sort_keys* é verdadeiro (o padrão), as chaves dos dicionários serão " +"escritas ordenadas no plist, caso contrário, elas serão escritas na ordem de " +"iteração do dicionário." #: ../../library/plistlib.rst:107 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 "" +"Quando *skipkeys* é falso (o padrão), a função levanta :exc:`TypeError` " +"quando uma chave de um dicionário não é uma string, caso contrário, tais " +"chaves são ignoradas." #: ../../library/plistlib.rst:110 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 "" +"Uma :exc:`TypeError` será levantada se o objeto for de um tipo não suportado " +"ou um contêiner que contém objetos de tipos não suportados." #: ../../library/plistlib.rst:113 msgid "" "An :exc:`OverflowError` will be raised for integer values that cannot be " "represented in (binary) plist files." msgstr "" +"Uma :exc:`OverflowError` será levantada para valores inteiros que não podem " +"ser representados em arquivos plist (binários)." #: ../../library/plistlib.rst:121 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." +"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 "" +"Retorna *value* como um objeto bytes formatado em plist. Veja a documentação " +"para :func:`dump` para uma explicação dos argumentos nomeados desta função." #: ../../library/plistlib.rst:128 msgid "The following classes are available:" -msgstr "" +msgstr "As seguintes classes estão disponíveis:" #: ../../library/plistlib.rst:132 msgid "" "Wraps an :class:`int`. This is used when reading or writing NSKeyedArchiver " "encoded data, which contains UID (see PList manual)." msgstr "" +"Envolve um :class:`int`. Isso é usado ao ler ou escrever dados codificados " +"NSKeyedArchiver, que contém UID (veja o manual de PList)." #: ../../library/plistlib.rst:135 msgid "" "It has one attribute, :attr:`data`, which can be used to retrieve the int " "value of the UID. :attr:`data` must be in the range ``0 <= data < 2**64``." msgstr "" +"Tem um atributo, :attr:`data`, que pode ser usado para recuperar o valor int " +"do UID. :attr:`data` deve estar no intervalo ``0 <= data < 2**64``." #: ../../library/plistlib.rst:141 msgid "The following constants are available:" -msgstr "" +msgstr "As seguintes constantes estão disponíveis:" #: ../../library/plistlib.rst:145 msgid "The XML format for plist files." -msgstr "" +msgstr "O formato XML para arquivos plist." #: ../../library/plistlib.rst:152 msgid "The binary format for plist files" -msgstr "" +msgstr "O formato binário para arquivos plist" #: ../../library/plistlib.rst:158 msgid "Examples" @@ -226,15 +276,15 @@ msgstr "Exemplos" #: ../../library/plistlib.rst:160 msgid "Generating a plist::" -msgstr "" +msgstr "Gerando um plist::" #: ../../library/plistlib.rst:182 msgid "Parsing a plist::" -msgstr "" +msgstr "Analisando um plist::" #: ../../library/plistlib.rst:13 msgid "plist" -msgstr "" +msgstr "plist" #: ../../library/plistlib.rst:13 msgid "file" @@ -242,4 +292,4 @@ msgstr "arquivo" #: ../../library/plistlib.rst:13 msgid "property list" -msgstr "" +msgstr "lista de propriedades" diff --git a/library/poplib.po b/library/poplib.po index c9da18fbd..5fb6d20c5 100644 --- a/library/poplib.po +++ b/library/poplib.po @@ -1,48 +1,51 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Biagioni de Fazio , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/poplib.rst:2 msgid ":mod:`poplib` --- POP3 protocol client" -msgstr "" +msgstr ":mod:`poplib` --- Cliente de protocolo POP3" #: ../../library/poplib.rst:10 msgid "**Source code:** :source:`Lib/poplib.py`" -msgstr "**Código Fonte:** :source:`Lib/poplib.py`" +msgstr " **Código-fonte:** :source:`Lib/poplib.py`" #: ../../library/poplib.rst:16 msgid "" "This module defines a class, :class:`POP3`, which encapsulates a connection " -"to a POP3 server and implements the protocol as defined in :rfc:`1939`. The :" -"class:`POP3` class supports both the minimal and optional command sets from :" -"rfc:`1939`. The :class:`POP3` class also supports the ``STLS`` command " +"to a POP3 server and implements the protocol as defined in :rfc:`1939`. " +"The :class:`POP3` class supports both the minimal and optional command sets " +"from :rfc:`1939`. The :class:`POP3` class also supports the ``STLS`` command " "introduced in :rfc:`2595` to enable encrypted communication on an already " "established connection." msgstr "" +"Este módulo define uma classe, :class:`POP3`, que encapsula uma conexão com " +"um servidor POP3 e implementa o protocolo conforme definido em :rfc:`1939`. " +"A classe :class:`POP3` oferece suporte aos conjuntos de comandos mínimos e " +"opcionais de :rfc:`1939`. A classe :class:`POP3` também oferece suporte ao " +"comando ``STLS`` introduzido em :rfc:`2595` para permitir a comunicação " +"criptografada em uma conexão já estabelecida." #: ../../library/poplib.rst:22 msgid "" @@ -50,14 +53,23 @@ msgid "" "support for connecting to POP3 servers that use SSL as an underlying " "protocol layer." msgstr "" +"Além disso, este módulo fornece uma classe :class:`POP3_SSL`, que fornece " +"suporte para conexão a servidores POP3 que usam SSL como uma camada de " +"protocolo subjacente." #: ../../library/poplib.rst:26 msgid "" "Note that POP3, though widely supported, is obsolescent. The implementation " "quality of POP3 servers varies widely, and too many are quite poor. If your " -"mailserver supports IMAP, you would be better off using the :class:`imaplib." -"IMAP4` class, as IMAP servers tend to be better implemented." +"mailserver supports IMAP, you would be better off using " +"the :class:`imaplib.IMAP4` class, as IMAP servers tend to be better " +"implemented." msgstr "" +"Observe que o POP3, embora amplamente suportado, está obsoleto. A qualidade " +"de implementação dos servidores POP3 varia muito, e muitos são bastante " +"ruins. Se o seu servidor de e-mail oferece suporte a IMAP, seria melhor usar " +"a classe :class:`imaplib.IMAP4`, pois os servidores IMAP tendem a ter uma " +"implementação melhor." #: ../../includes/wasm-notavail.rst:3 msgid ":ref:`Availability `: not Emscripten, not WASI." @@ -75,7 +87,7 @@ msgstr "" #: ../../library/poplib.rst:33 msgid "The :mod:`poplib` module provides two classes:" -msgstr "" +msgstr "O módulo :mod:`poplib` fornece duas classes:" #: ../../library/poplib.rst:38 msgid "" @@ -85,14 +97,21 @@ msgid "" "seconds for the connection attempt (if not specified, the global default " "timeout setting will be used)." msgstr "" +"Esta classe implementa o protocolo POP3 real. A conexão é criada quando a " +"instância é inicializada. Se *port* for omitido, a porta POP3 padrão (110) " +"será usada. O parâmetro opcional *timeout* especifica um tempo limite em " +"segundos para a tentativa de conexão (se não for especificado, a " +"configuração de tempo limite padrão global será usada)." -#: ../../library/poplib.rst:53 ../../library/poplib.rst:79 +#: ../../library/poplib.rst:55 ../../library/poplib.rst:81 msgid "" "Raises an :ref:`auditing event ` ``poplib.connect`` with arguments " "``self``, ``host``, ``port``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``ftplib.connect`` com os " +"argumentos ``self``, ``host``, ``port``." -#: ../../library/poplib.rst:55 ../../library/poplib.rst:81 +#: ../../library/poplib.rst:57 ../../library/poplib.rst:83 msgid "" "Raises an :ref:`auditing event ` ``poplib.putline`` with arguments " "``self``, ``line``." @@ -100,16 +119,22 @@ msgstr "" #: ../../library/poplib.rst:48 ../../library/poplib.rst:74 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." +"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 "" +"Todos os comandos levantarão um :ref:`evento de auditoria ` " +"``poplib.putline`` com os argumentos ``self`` e ``line``, onde ``line`` são " +"os bytes prestes a serem enviados ao host remoto." #: ../../library/poplib.rst:52 ../../library/poplib.rst:93 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." +"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 "" +"Se o parâmetro *timeout* for definido como zero, será " +"levantada :class:`ValueError` para impedir a criação de um soquete não " +"bloqueante." #: ../../library/poplib.rst:58 msgid "" @@ -121,6 +146,13 @@ msgid "" "single (potentially long-lived) structure. Please read :ref:`ssl-security` " "for best practices." msgstr "" +"Esta é uma subclasse de :class:`POP3` que se conecta ao servidor por meio de " +"um soquete criptografado SSL. Se *port* não for especificado, 995, a porta " +"padrão POP3 sobre SSL será usada. *timeout* funciona como no " +"construtor :class:`POP3`. *context* é um objeto " +"opcional :class:`ssl.SSLContext` que permite agrupar opções de configuração " +"SSL, certificados e chaves privadas em uma única estrutura (potencialmente " +"duradoura). Consulte :ref:`ssl-security` para obter as melhores práticas." #: ../../library/poplib.rst:66 msgid "" @@ -135,20 +167,25 @@ msgstr "Parâmetro *context* adicionado." #: ../../library/poplib.rst:81 msgid "" -"The class now supports hostname check with :attr:`ssl.SSLContext." -"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +"The class now supports hostname check " +"with :attr:`ssl.SSLContext.check_hostname` and *Server Name Indication* " +"(see :const:`ssl.HAS_SNI`)." msgstr "" +"A classe agora oferece suporte a verificação de nome de host " +"com :attr:`ssl.SSLContext.check_hostname` e *Indicação de nome de servidor* " +"(veja :const:`ssl.HAS_SNI`)." #: ../../library/poplib.rst:88 msgid "" -"*keyfile* and *certfile* are deprecated in favor of *context*. Please use :" -"meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." -"create_default_context` select the system's trusted CA certificates for you." +"*keyfile* and *certfile* are deprecated in favor of *context*. Please " +"use :meth:`ssl.SSLContext.load_cert_chain` instead, or " +"let :func:`ssl.create_default_context` select the system's trusted CA " +"certificates for you." msgstr "" #: ../../library/poplib.rst:97 msgid "One exception is defined as an attribute of the :mod:`poplib` module:" -msgstr "" +msgstr "Uma exceção é definida como um atributo do módulo :mod:`poplib`:" #: ../../library/poplib.rst:102 msgid "" @@ -156,6 +193,9 @@ msgid "" "module are not caught). The reason for the exception is passed to the " "constructor as a string." msgstr "" +"Exceção levantada em caso de erros deste módulo (erros do " +"módulo :mod:`socket` não são detectados). O motivo da exceção é passado ao " +"construtor como uma string." #: ../../library/poplib.rst:110 msgid "Module :mod:`imaplib`" @@ -220,7 +260,7 @@ msgstr "" #: ../../library/poplib.rst:158 msgid "" "Send password, response includes message count and mailbox size. Note: the " -"mailbox on the server is locked until :meth:`~poplib.quit` is called." +"mailbox on the server is locked until :meth:`~POP3.quit` is called." msgstr "" #: ../../library/poplib.rst:164 @@ -313,8 +353,9 @@ msgstr "" #: ../../library/poplib.rst:249 msgid "" -"This method supports hostname checking via :attr:`ssl.SSLContext." -"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +"This method supports hostname checking " +"via :attr:`ssl.SSLContext.check_hostname` and *Server Name Indication* " +"(see :const:`ssl.HAS_SNI`)." msgstr "" #: ../../library/poplib.rst:256 @@ -345,4 +386,4 @@ msgstr "" #: ../../library/poplib.rst:12 msgid "protocol" -msgstr "" +msgstr "protocolo" diff --git a/library/posix.po b/library/posix.po index bebba0624..23b29d261 100644 --- a/library/posix.po +++ b/library/posix.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2023 -# Claudio Rogerio Carvalho Filho , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,57 +37,62 @@ msgstr "" "padronizada pelo padrão C e pelo padrão POSIX (uma interface Unix levemente " "disfarçada)." -#: ../../library/posix.rst:16 +#: ../../library/posix.rst:14 +msgid ":ref:`Availability `: Unix." +msgstr ":ref:`Disponibilidade `: Unix." + +#: ../../library/posix.rst:18 msgid "" -"**Do not import this module directly.** Instead, import the module :mod:" -"`os`, which provides a *portable* version of this interface. On Unix, the :" -"mod:`os` module provides a superset of the :mod:`posix` interface. On non-" -"Unix operating systems the :mod:`posix` module is not available, but a " -"subset is always available through the :mod:`os` interface. Once :mod:`os` " -"is imported, there is *no* performance penalty in using it instead of :mod:" -"`posix`. In addition, :mod:`os` provides some additional functionality, " -"such as automatically calling :func:`~os.putenv` when an entry in ``os." -"environ`` is changed." +"**Do not import this module directly.** Instead, import the " +"module :mod:`os`, which provides a *portable* version of this interface. On " +"Unix, the :mod:`os` module provides a superset of the :mod:`posix` " +"interface. On non-Unix operating systems the :mod:`posix` module is not " +"available, but a subset is always available through the :mod:`os` " +"interface. Once :mod:`os` is imported, there is *no* performance penalty in " +"using it instead of :mod:`posix`. In addition, :mod:`os` provides some " +"additional functionality, such as automatically calling :func:`~os.putenv` " +"when an entry in ``os.environ`` is changed." msgstr "" -"**Não importe este módulo diretamente.** Em vez disso, importe o módulo :mod:" -"`os`, que fornece uma versão *portátil* dessa interface. No Unix, o módulo :" -"mod:`os` fornece um superconjunto da interface :mod:`posix`. Em sistemas " -"operacionais não Unix, o módulo :mod:`posix` não está disponível, mas um " -"subconjunto está sempre disponível na interface :mod:`os`. Uma vez que :mod:" -"`os` é importado, seu uso *não* causa penalidade de desempenho em comparação " -"com :mod:`posix`. Além disso, :mod:`os` fornece algumas funcionalidades " -"adicionais, como chamar automaticamente :func:`~os.putenv` quando uma " -"entrada em ``os.environ`` é alterada." - -#: ../../library/posix.rst:25 +"**Não importe este módulo diretamente.** Em vez disso, importe o " +"módulo :mod:`os`, que fornece uma versão *portátil* dessa interface. No " +"Unix, o módulo :mod:`os` fornece um superconjunto da interface :mod:`posix`. " +"Em sistemas operacionais não Unix, o módulo :mod:`posix` não está " +"disponível, mas um subconjunto está sempre disponível na " +"interface :mod:`os`. Uma vez que :mod:`os` é importado, seu uso *não* causa " +"penalidade de desempenho em comparação com :mod:`posix`. Além " +"disso, :mod:`os` fornece algumas funcionalidades adicionais, como chamar " +"automaticamente :func:`~os.putenv` quando uma entrada em ``os.environ`` é " +"alterada." + +#: ../../library/posix.rst:27 msgid "" "Errors are reported as exceptions; the usual exceptions are given for type " "errors, while errors reported by the system calls raise :exc:`OSError`." msgstr "" "Erros são relatados como exceções. As exceções usuais são dadas para erros " -"de tipo, enquanto os erros relatados pelas chamadas do sistema levantam :exc:" -"`OSError`." +"de tipo, enquanto os erros relatados pelas chamadas do sistema " +"levantam :exc:`OSError`." -#: ../../library/posix.rst:32 +#: ../../library/posix.rst:34 msgid "Large File Support" msgstr "Suporte a arquivos grandes" -#: ../../library/posix.rst:40 +#: ../../library/posix.rst:42 msgid "" "Several operating systems (including AIX and Solaris) provide support for " -"files that are larger than 2 GiB from a C programming model where :c:expr:" -"`int` and :c:expr:`long` are 32-bit values. This is typically accomplished " -"by defining the relevant size and offset types as 64-bit values. Such files " -"are sometimes referred to as :dfn:`large files`." +"files that are larger than 2 GiB from a C programming model " +"where :c:expr:`int` and :c:expr:`long` are 32-bit values. This is typically " +"accomplished by defining the relevant size and offset types as 64-bit " +"values. Such files are sometimes referred to as :dfn:`large files`." msgstr "" "Vários sistemas operacionais (incluindo AIX e Solaris) fornecem suporte a " -"arquivos maiores que 2 GiB a partir de um modelo de programação C em que :c:" -"expr:`int` e :c:expr:`long` são valores de 32 bits. Isso geralmente é " +"arquivos maiores que 2 GiB a partir de um modelo de programação C em " +"que :c:expr:`int` e :c:expr:`long` são valores de 32 bits. Isso geralmente é " "realizado definindo o tamanho relevante e os tipos de deslocamento como " "valores de 64 bits. Esses arquivos às vezes são chamados de :dfn:`arquivos " "grandes`." -#: ../../library/posix.rst:46 +#: ../../library/posix.rst:48 msgid "" "Large file support is enabled in Python when the size of an :c:type:`off_t` " "is larger than a :c:expr:`long` and the :c:expr:`long long` is at least as " @@ -97,30 +100,30 @@ msgid "" "Python with certain compiler flags to enable this mode. For example, with " "Solaris 2.6 and 2.7 you need to do something like::" msgstr "" -"O suporte a arquivos grandes é ativado no Python quando o tamanho de um :c:" -"type:`off_t` é maior que a :c:expr:`long` e :c:expr:`long long` é pelo menos " -"tão grande quanto um :c:type:`off_t`. Pode ser necessário configurar e " +"O suporte a arquivos grandes é ativado no Python quando o tamanho de " +"um :c:type:`off_t` é maior que a :c:expr:`long` e :c:expr:`long long` é pelo " +"menos tão grande quanto um :c:type:`off_t`. Pode ser necessário configurar e " "compilar o Python com certos sinalizadores do compilador para ativar esse " "modo. Por exemplo, com o Solaris 2.6 e 2.7, você precisa fazer algo como::" -#: ../../library/posix.rst:56 +#: ../../library/posix.rst:58 msgid "On large-file-capable Linux systems, this might work::" msgstr "" "Em sistemas Linux com capacidade para arquivos grandes, isso pode funcionar::" -#: ../../library/posix.rst:65 +#: ../../library/posix.rst:67 msgid "Notable Module Contents" msgstr "Conteúdo notável do módulo" -#: ../../library/posix.rst:67 +#: ../../library/posix.rst:69 msgid "" "In addition to many functions described in the :mod:`os` module " "documentation, :mod:`posix` defines the following data item:" msgstr "" -"Além de muitas funções descritas na documentação do módulo :mod:`os`, :mod:" -"`posix` define o seguinte item de dados:" +"Além de muitas funções descritas na documentação do " +"módulo :mod:`os`, :mod:`posix` define o seguinte item de dados:" -#: ../../library/posix.rst:72 +#: ../../library/posix.rst:74 msgid "" "A dictionary representing the string environment at the time the interpreter " "was started. Keys and values are bytes on Unix and str on Windows. For " @@ -133,49 +136,49 @@ msgstr "" "é o nome do caminho do diretório inicial, equivalente a ``getenv(\"HOME\")`` " "em C ." -#: ../../library/posix.rst:77 +#: ../../library/posix.rst:79 msgid "" "Modifying this dictionary does not affect the string environment passed on " "by :func:`~os.execv`, :func:`~os.popen` or :func:`~os.system`; if you need " "to change the environment, pass ``environ`` to :func:`~os.execve` or add " -"variable assignments and export statements to the command string for :func:" -"`~os.system` or :func:`~os.popen`." +"variable assignments and export statements to the command string " +"for :func:`~os.system` or :func:`~os.popen`." msgstr "" -"A modificação deste dicionário não afeta o ambiente de strings passado por :" -"func:`~os.execv`, :func:`~os.popen` ou :func:`~os.system`. Se você precisar " -"alterar o ambiente, passe ``environ`` para :func:`~os.execve` ou adicione " -"atribuições de variável e instruções de exportação para a string de comando " -"para :func:`~os.system` ou :func:`~os.popen`." +"A modificação deste dicionário não afeta o ambiente de strings passado " +"por :func:`~os.execv`, :func:`~os.popen` ou :func:`~os.system`. Se você " +"precisar alterar o ambiente, passe ``environ`` para :func:`~os.execve` ou " +"adicione atribuições de variável e instruções de exportação para a string de " +"comando para :func:`~os.system` ou :func:`~os.popen`." -#: ../../library/posix.rst:83 +#: ../../library/posix.rst:85 msgid "On Unix, keys and values are bytes." msgstr "No Unix, chaves e valores são bytes." -#: ../../library/posix.rst:88 +#: ../../library/posix.rst:90 msgid "" "The :mod:`os` module provides an alternate implementation of ``environ`` " -"which updates the environment on modification. Note also that updating :data:" -"`os.environ` will render this dictionary obsolete. Use of the :mod:`os` " -"module version of this is recommended over direct access to the :mod:`posix` " -"module." +"which updates the environment on modification. Note also that " +"updating :data:`os.environ` will render this dictionary obsolete. Use of " +"the :mod:`os` module version of this is recommended over direct access to " +"the :mod:`posix` module." msgstr "" "O módulo :mod:`os` fornece uma implementação alternativa de ``environ`` que " "atualiza o ambiente ao ocorrerem modificações. Observe também que a " "atualização de :data:`os.environ` tornará este dicionário obsoleto. O uso do " "módulo :mod:`os` é recomendado sobre o acesso direto ao módulo :mod:`posix`." -#: ../../library/posix.rst:14 +#: ../../library/posix.rst:16 msgid "module" msgstr "módulo" -#: ../../library/posix.rst:14 +#: ../../library/posix.rst:16 msgid "os" msgstr "os" -#: ../../library/posix.rst:34 +#: ../../library/posix.rst:36 msgid "large files" -msgstr "" +msgstr "arquivos grandes" -#: ../../library/posix.rst:34 +#: ../../library/posix.rst:36 msgid "file" msgstr "arquivo" diff --git a/library/pprint.po b/library/pprint.po index b1dc38405..3ae6e4793 100644 --- a/library/pprint.po +++ b/library/pprint.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# And Past , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,6 +40,13 @@ 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 "" +"O módulo :mod:`pprint` fornece a capacidade de \"imprimir de forma bonita\" " +"estruturas de dados Python arbitrárias em um formato que pode ser usado como " +"entrada para o interpretador. Se as estruturas formatadas incluírem objetos " +"que não sejam tipos fundamentais do Python, a representação poderá não ser " +"carregável. Este pode ser o caso se objetos como arquivos, soquetes ou " +"classes forem incluídos, bem como muitos outros objetos que não são " +"representáveis como literais do Python." #: ../../library/pprint.rst:21 msgid "" @@ -50,207 +55,289 @@ msgid "" "Construct :class:`PrettyPrinter` objects explicitly if you need to adjust " "the width constraint." msgstr "" +"A representação formatada mantém os objetos em uma única linha, se possível, " +"e os divide em várias linhas se não couberem na largura permitida. Construa " +"objetos :class:`PrettyPrinter` explicitamente se precisar ajustar a " +"restrição de largura." #: ../../library/pprint.rst:26 msgid "Dictionaries are sorted by key before the display is computed." msgstr "" +"Os dicionários são classificados por chave antes que a exibição seja " +"calculada." #: ../../library/pprint.rst:28 msgid "Added support for pretty-printing :class:`types.SimpleNamespace`." msgstr "" +"Adicionado suporte para impressão bonita de :class:`types.SimpleNamespace`." #: ../../library/pprint.rst:31 msgid "Added support for pretty-printing :class:`dataclasses.dataclass`." msgstr "" +"Adicionado suporte para impressão bonita de :class:`dataclasses.dataclass`." + +#: ../../library/pprint.rst:37 +msgid "Functions" +msgstr "Funções" + +#: ../../library/pprint.rst:41 +msgid "" +"Prints the formatted representation of *object* followed by a newline. If " +"*sort_dicts* is false (the default), dictionaries will be displayed with " +"their keys in insertion order, otherwise the dict keys will be sorted. " +"*args* and *kwargs* will be passed to :func:`~pprint.pprint` as formatting " +"parameters." +msgstr "" +"Imprime a representação formatada de *object* seguida por uma nova linha. Se " +"*sort_dicts* for falso (o padrão), os dicionários serão exibidos com suas " +"chaves na ordem de inserção, caso contrário, as chaves do dict serão " +"classificadas. *args* e *kwargs* serão passados para :func:`~pprint.pprint` " +"como parâmetros de formatação." + +#: ../../library/pprint.rst:64 +msgid "" +"Prints the formatted representation of *object* on *stream*, followed by a " +"newline. If *stream* is ``None``, :data:`sys.stdout` is used. This may be " +"used in the interactive interpreter instead of the :func:`print` function " +"for inspecting values (you can even reassign ``print = pprint.pprint`` for " +"use within a scope)." +msgstr "" +"Imprime a representação formatada de *object* em *stream*, seguida por uma " +"nova linha. Se *stream* for ``None``, :data:`sys.stdout` será usado. Isto " +"pode ser usado no interpretador interativo em vez da função :func:`print` " +"para inspecionar valores (você pode até reatribuir ``print = pprint.pprint`` " +"para uso dentro de um escopo)." + +#: ../../library/pprint.rst:70 +msgid "" +"The configuration parameters *stream*, *indent*, *width*, *depth*, " +"*compact*, *sort_dicts* and *underscore_numbers* are passed to " +"the :class:`PrettyPrinter` constructor and their meanings are as described " +"in its documentation below." +msgstr "" +"Os parâmetros de configuração *stream*, *indent*, *width*, *profundidade*, " +"*compact*, *sort_dicts* e *underscore_numbers* são passados para o " +"construtor do :class:`PrettyPrinter` e seus significados são descritos em " +"sua documentação abaixo." + +#: ../../library/pprint.rst:75 +msgid "" +"Note that *sort_dicts* is ``True`` by default and you might want to " +"use :func:`~pprint.pp` instead where it is ``False`` by default." +msgstr "" +"Observe que *sort_dicts* é ``True`` por padrão e você pode querer " +"usar :func:`~pprint.pp` em vez disso, onde é ``False`` por padrão." + +#: ../../library/pprint.rst:81 +msgid "" +"Return the formatted representation of *object* as a string. *indent*, " +"*width*, *depth*, *compact*, *sort_dicts* and *underscore_numbers* are " +"passed to the :class:`PrettyPrinter` constructor as formatting parameters " +"and their meanings are as described in its documentation below." +msgstr "" +"Retorna a representação formatada de *object* como uma string. *indent*, " +"*width*, *depth*, *compact*, *sort_dicts* e *underscore_numbers* são " +"passados para o construtor de :class:`PrettyPrinter` como parâmetros de " +"formatação e seus significados são descritos em sua documentação abaixo." + +#: ../../library/pprint.rst:91 +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 "" +"Determina se a representação formatada de *object* é \"legível\" ou pode ser " +"usada para reconstruir o valor usando :func:`eval`. Isso sempre retorna " +"``False`` para objetos recursivos." -#: ../../library/pprint.rst:34 -msgid "The :mod:`pprint` module defines one class:" +#: ../../library/pprint.rst:101 +msgid "Determine if *object* requires a recursive representation." +msgstr "" + +#: ../../library/pprint.rst:106 +msgid "" +"Return a string representation of *object*, protected against recursive data " +"structures. If the representation of *object* exposes a recursive entry, " +"the recursive reference will be represented as ````. The representation is not otherwise formatted." msgstr "" -#: ../../library/pprint.rst:44 +#: ../../library/pprint.rst:118 +msgid "PrettyPrinter Objects" +msgstr "Objetos PrettyPrinter" + +#: ../../library/pprint.rst:120 +msgid "This module defines one class:" +msgstr "Este módulo define uma classe:" + +#: ../../library/pprint.rst:130 msgid "" "Construct a :class:`PrettyPrinter` instance. This constructor understands " "several keyword parameters." msgstr "" +"Constrói uma instância :class:`PrettyPrinter`. Este construtor aceita vários " +"parâmetros nomeados." -#: ../../library/pprint.rst:47 +#: ../../library/pprint.rst:133 msgid "" -"*stream* (default ``sys.stdout``) is a :term:`file-like object` to which the " -"output will be written by calling its :meth:`write` method. If both *stream* " -"and ``sys.stdout`` are ``None``, then :meth:`~PrettyPrinter.pprint` silently " -"returns." +"*stream* (default :data:`!sys.stdout`) is a :term:`file-like object` to " +"which the output will be written by calling its :meth:`!write` method. If " +"both *stream* and :data:`!sys.stdout` are ``None``, " +"then :meth:`~PrettyPrinter.pprint` silently returns." msgstr "" +"*stream* (padrão :data:`!sys.stdout`) é um :term:`objeto arquivo ou similar` " +"no qual a saída será escrita chamando seu método :meth:`!write`. Se *stream* " +"e :data:`!sys.stdout` forem ``None``, então :meth:`~PrettyPrinter.pprint` " +"retornará silenciosamente." -#: ../../library/pprint.rst:52 +#: ../../library/pprint.rst:138 msgid "" "Other values configure the manner in which nesting of complex data " "structures is displayed." msgstr "" +"Outros valores configuram a maneira como o aninhamento de estruturas de " +"dados complexas é exibido." -#: ../../library/pprint.rst:55 +#: ../../library/pprint.rst:141 msgid "" "*indent* (default 1) specifies the amount of indentation added for each " "nesting level." msgstr "" +"*indent* (padrão 1) especifica a quantidade de indentação adicionado para " +"cada nível de aninhamento." -#: ../../library/pprint.rst:58 +#: ../../library/pprint.rst:144 msgid "" "*depth* controls the number of nesting levels which may be printed; if the " "data structure being printed is too deep, the next contained level is " "replaced by ``...``. By default, there is no constraint on the depth of the " "objects being formatted." msgstr "" +"*depth* controla o número de níveis de aninhamento que podem ser impressos; " +"se a estrutura de dados que está sendo impressa for muito profunda, o " +"próximo nível contido será substituído por ``...``. Por padrão, não há " +"restrição na profundidade dos objetos que estão sendo formatados." -#: ../../library/pprint.rst:63 +#: ../../library/pprint.rst:149 msgid "" "*width* (default 80) specifies 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 "" +"*width* (padrão 80) especifica o número máximo desejado de caracteres por " +"linha na saída. Se uma estrutura não puder ser formatada dentro da restrição " +"de largura, será feito o melhor esforço." -#: ../../library/pprint.rst:67 +#: ../../library/pprint.rst:153 msgid "" "*compact* impacts the way that long sequences (lists, tuples, sets, etc) are " "formatted. If *compact* is false (the default) then each item of a sequence " "will be formatted on a separate line. If *compact* is true, as many items " "as will fit within the *width* will be formatted on each output line." msgstr "" +"*compact* afeta a forma como sequências longas (listas, tuplas, conjuntos, " +"etc.) são formatadas. Se *compact* for falso (o padrão), então cada item de " +"uma sequência será formatado em uma linha separada. Se *compact* for " +"verdadeiro, tantos itens quantos couberem na *width* serão formatados em " +"cada linha de saída." -#: ../../library/pprint.rst:73 +#: ../../library/pprint.rst:159 msgid "" "If *sort_dicts* is true (the default), dictionaries will be formatted with " "their keys sorted, otherwise they will display in insertion order." msgstr "" +"Se *sort_dicts* for verdadeiro (o padrão), os dicionários serão formatados " +"com suas chaves classificadas, caso contrário, serão exibidos na ordem de " +"inserção." -#: ../../library/pprint.rst:76 +#: ../../library/pprint.rst:162 msgid "" "If *underscore_numbers* is true, integers will be formatted with the ``_`` " "character for a thousands separator, otherwise underscores are not displayed " "(the default)." msgstr "" +"Se *underscore_numbers* for verdadeiro, os números inteiros serão formatados " +"com o caractere ``_`` para um separador de milhares, caso contrário, os " +"sublinhados não serão exibidos (o padrão)." -#: ../../library/pprint.rst:80 +#: ../../library/pprint.rst:166 msgid "Added the *compact* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *compact*." -#: ../../library/pprint.rst:83 +#: ../../library/pprint.rst:169 msgid "Added the *sort_dicts* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *sort_dicts*." -#: ../../library/pprint.rst:86 +#: ../../library/pprint.rst:172 msgid "Added the *underscore_numbers* parameter." -msgstr "" - -#: ../../library/pprint.rst:89 -msgid "No longer attempts to write to ``sys.stdout`` if it is ``None``." -msgstr "" - -#: ../../library/pprint.rst:118 -msgid "" -"Return the formatted representation of *object* as a string. *indent*, " -"*width*, *depth*, *compact*, *sort_dicts* and *underscore_numbers* are " -"passed to the :class:`PrettyPrinter` constructor as formatting parameters " -"and their meanings are as described in its documentation above." -msgstr "" - -#: ../../library/pprint.rst:126 -msgid "" -"Prints the formatted representation of *object* followed by a newline. If " -"*sort_dicts* is false (the default), dictionaries will be displayed with " -"their keys in insertion order, otherwise the dict keys will be sorted. " -"*args* and *kwargs* will be passed to :func:`pprint` as formatting " -"parameters." -msgstr "" - -#: ../../library/pprint.rst:138 -msgid "" -"Prints the formatted representation of *object* on *stream*, followed by a " -"newline. If *stream* is ``None``, ``sys.stdout`` is used. This may be used " -"in the interactive interpreter instead of the :func:`print` function for " -"inspecting values (you can even reassign ``print = pprint.pprint`` for use " -"within a scope)." -msgstr "" - -#: ../../library/pprint.rst:144 -msgid "" -"The configuration parameters *stream*, *indent*, *width*, *depth*, " -"*compact*, *sort_dicts* and *underscore_numbers* are passed to the :class:" -"`PrettyPrinter` constructor and their meanings are as described in its " -"documentation above." -msgstr "" - -#: ../../library/pprint.rst:164 -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 "" - -#: ../../library/pprint.rst:174 -msgid "Determine if *object* requires a recursive representation." -msgstr "" - -#: ../../library/pprint.rst:177 -msgid "One more support function is also defined:" -msgstr "" - -#: ../../library/pprint.rst:181 -msgid "" -"Return a string representation of *object*, protected against recursive data " -"structures. If the representation of *object* exposes a recursive entry, " -"the recursive reference will be represented as ````. The representation is not otherwise formatted." -msgstr "" +msgstr "Adicionado o parâmetro *underscore_numbers*." -#: ../../library/pprint.rst:193 -msgid "PrettyPrinter Objects" -msgstr "" +#: ../../library/pprint.rst:175 +msgid "No longer attempts to write to :data:`!sys.stdout` if it is ``None``." +msgstr "Não tenta mais escrever em :data:`!sys.stdout` se for ``None``." -#: ../../library/pprint.rst:195 +#: ../../library/pprint.rst:202 msgid ":class:`PrettyPrinter` instances have the following methods:" -msgstr "" +msgstr "Instâncias :class:`PrettyPrinter` contêm os seguintes métodos:" -#: ../../library/pprint.rst:200 +#: ../../library/pprint.rst:207 msgid "" "Return the formatted representation of *object*. This takes into account " "the options passed to the :class:`PrettyPrinter` constructor." msgstr "" +"Retorna a representação formatada de *object*. Isso leva em consideração as " +"opções passadas para o construtor :class:`PrettyPrinter`." -#: ../../library/pprint.rst:206 +#: ../../library/pprint.rst:213 msgid "" "Print the formatted representation of *object* on the configured stream, " "followed by a newline." msgstr "" +"Exibe a representação formatada de *object* no fluxo configurado, seguida " +"por uma nova linha." -#: ../../library/pprint.rst:209 +#: ../../library/pprint.rst:216 msgid "" "The following methods provide the implementations for the corresponding " "functions of the same names. Using these methods on an instance is slightly " "more efficient since new :class:`PrettyPrinter` objects don't need to be " "created." msgstr "" +"Os métodos a seguir fornecem as implementações para as funções " +"correspondentes com os mesmos nomes. Usar esses métodos em uma instância é " +"um pouco mais eficiente já que novos objetos :class:`PrettyPrinter` não " +"precisam ser criados." -#: ../../library/pprint.rst:219 +#: ../../library/pprint.rst:226 msgid "" "Determine if the formatted representation of the object is \"readable,\" or " "can be used to reconstruct the value using :func:`eval`. Note that this " -"returns ``False`` for recursive objects. If the *depth* parameter of the :" -"class:`PrettyPrinter` is set and the object is deeper than allowed, this " -"returns ``False``." +"returns ``False`` for recursive objects. If the *depth* parameter of " +"the :class:`PrettyPrinter` is set and the object is deeper than allowed, " +"this returns ``False``." msgstr "" +"Determina se a representação formatada do objeto é \"legível\" ou pode ser " +"usada para reconstruir o valor usando :func:`eval`. Observe que isso retorna " +"``False`` para objetos recursivos. Se o parâmetro *depth* " +"de :class:`PrettyPrinter` estiver definido e o objeto for mais profundo que " +"o permitido, isso retornará ``False``." -#: ../../library/pprint.rst:228 +#: ../../library/pprint.rst:235 msgid "Determine if the object requires a recursive representation." -msgstr "" +msgstr "Determina se o objeto requer uma representação recursiva." -#: ../../library/pprint.rst:230 +#: ../../library/pprint.rst:237 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 "" +"Este método é fornecido como um gancho para permitir que as subclasses " +"modifiquem a maneira como os objetos são convertidos em strings. A " +"implementação padrão usa os componentes internos da implementação " +"de :func:`saferepr`." -#: ../../library/pprint.rst:237 +#: ../../library/pprint.rst:244 msgid "" "Returns three values: the formatted version of *object* as a string, a flag " "indicating whether the result is readable, and a flag indicating whether " @@ -267,46 +354,66 @@ msgid "" "the current level; recursive calls should be passed a value less than that " "of the current call." msgstr "" - -#: ../../library/pprint.rst:255 +"Retorna três valores: a versão formatada de *object* como uma string, um " +"sinalizador indicando se o resultado é legível e um sinalizador indicando se " +"a recursão foi detectada. O primeiro argumento é o objeto a ser " +"apresentado. O segundo é um dicionário que contém o :func:`id` de objetos " +"que fazem parte do contexto de apresentação atual (contêineres diretos e " +"indiretos para *objects* que estão afetando a apresentação) como chaves; se " +"for necessário apresentar um objeto que já esteja representado em *context*, " +"o terceiro valor de retorno deverá ser ``True``. Chamadas recursivas ao " +"método :meth:`.format` devem adicionar entradas adicionais para contêineres " +"neste dicionário. O terceiro argumento, *maxlevels*, fornece o limite " +"solicitado para recursão; será ``0`` se não houver limite solicitado. Este " +"argumento deve ser passado sem modificações para chamadas recursivas. O " +"quarto argumento, *level*, fornece o nível atual; chamadas recursivas devem " +"receber um valor menor que o da chamada atual." + +#: ../../library/pprint.rst:262 msgid "Example" msgstr "Exemplo" -#: ../../library/pprint.rst:257 +#: ../../library/pprint.rst:264 msgid "" -"To demonstrate several uses of the :func:`pprint` function and its " -"parameters, let's fetch information about a project from `PyPI `_::" +"To demonstrate several uses of the :func:`~pprint.pp` function and its " +"parameters, let's fetch information about a project from `PyPI `_::" msgstr "" +"Para demonstrar vários usos da função :func:`~pprint.pp` e seus parâmetros, " +"vamos buscar informações sobre um projeto no `PyPI `_::" -#: ../../library/pprint.rst:266 -msgid "In its basic form, :func:`pprint` shows the whole object::" -msgstr "" +#: ../../library/pprint.rst:273 +msgid "In its basic form, :func:`~pprint.pp` shows the whole object::" +msgstr "Em sua forma básica, :func:`~pprint.pp` mostra o objeto inteiro::" -#: ../../library/pprint.rst:322 +#: ../../library/pprint.rst:329 msgid "" "The result can be limited to a certain *depth* (ellipsis is used for deeper " "contents)::" msgstr "" +"O resultado pode ser limitado a uma certa *depth* (reticências são usadas " +"para conteúdos mais profundos)::" -#: ../../library/pprint.rst:368 +#: ../../library/pprint.rst:375 msgid "" "Additionally, maximum character *width* can be suggested. If a long object " "cannot be split, the specified width will be exceeded::" msgstr "" +"Além disso, a largura *width* máxima do caractere pode ser sugerida. Se um " +"objeto longo não puder ser dividido, a largura especificada será excedida::" -#: ../../library/pprint.rst:39 -msgid "..." -msgstr "..." - -#: ../../library/pprint.rst:39 -msgid "placeholder" -msgstr "" - -#: ../../library/pprint.rst:162 ../../library/pprint.rst:217 +#: ../../library/pprint.rst:89 ../../library/pprint.rst:224 msgid "built-in function" msgstr "função embutida" -#: ../../library/pprint.rst:162 ../../library/pprint.rst:217 +#: ../../library/pprint.rst:89 ../../library/pprint.rst:224 msgid "eval" -msgstr "" +msgstr "eval" + +#: ../../library/pprint.rst:125 +msgid "..." +msgstr "..." + +#: ../../library/pprint.rst:125 +msgid "placeholder" +msgstr "espaço reservado" diff --git a/library/profile.po b/library/profile.po index c33cbb311..9f742f61f 100644 --- a/library/profile.po +++ b/library/profile.po @@ -1,36 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# mvpetri , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/profile.rst:5 msgid "The Python Profilers" -msgstr "" +msgstr "Os Profilers do Python" #: ../../library/profile.rst:7 msgid "**Source code:** :source:`Lib/profile.py` and :source:`Lib/pstats.py`" @@ -38,7 +33,7 @@ msgstr "**Código-fonte:** :source:`Lib/profile.py` and :source:`Lib/pstats.py`" #: ../../library/profile.rst:14 msgid "Introduction to the profilers" -msgstr "" +msgstr "Introdução aos profilers" #: ../../library/profile.rst:20 msgid "" @@ -53,6 +48,8 @@ msgid "" "The Python standard library provides two different implementations of the " "same profiling interface:" msgstr "" +"A biblioteca padrão do Python tem duas implementações diferentes para a " +"mesma interface de profiling:" #: ../../library/profile.rst:28 msgid "" @@ -64,20 +61,21 @@ msgstr "" #: ../../library/profile.rst:33 msgid "" -":mod:`profile`, a pure Python module whose interface is imitated by :mod:" -"`cProfile`, but which adds significant overhead to profiled programs. If " -"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." +":mod:`profile`, a pure Python module whose interface is imitated " +"by :mod:`cProfile`, but which adds significant overhead to profiled " +"programs. If 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 "" #: ../../library/profile.rst:40 msgid "" "The profiler modules are designed to provide an execution profile for a " -"given program, not for benchmarking purposes (for that, there is :mod:" -"`timeit` for reasonably accurate results). This particularly applies to " -"benchmarking Python code against C code: the profilers introduce overhead " -"for Python code, but not for C-level functions, and so the C code would seem " -"faster than any Python one." +"given program, not for benchmarking purposes (for that, there " +"is :mod:`timeit` for reasonably accurate results). This particularly " +"applies to benchmarking Python code against C code: the profilers introduce " +"overhead for Python code, but not for C-level functions, and so the C code " +"would seem faster than any Python one." msgstr "" #: ../../library/profile.rst:51 @@ -94,6 +92,8 @@ msgstr "" #: ../../library/profile.rst:57 msgid "To profile a function that takes a single argument, you can do::" msgstr "" +"Para realizar profile de uma função que recebe apenas um argumento, você " +"pode fazer::" #: ../../library/profile.rst:63 msgid "" @@ -111,9 +111,8 @@ msgstr "" msgid "" "The first line indicates that 214 calls were monitored. Of those calls, 207 " "were :dfn:`primitive`, meaning that the call was not induced via recursion. " -"The next line: ``Ordered by: cumulative time``, indicates that the text " -"string in the far right column was used to sort the output. The column " -"headings include:" +"The next line: ``Ordered by: cumulative time`` indicates the output is " +"sorted by the ``cumtime`` values. The column headings include:" msgstr "" #: ../../library/profile.rst:89 @@ -185,42 +184,42 @@ msgid "" "formats them in various ways." msgstr "" -#: ../../library/profile.rst:124 +#: ../../library/profile.rst:126 msgid "" "The files :mod:`cProfile` and :mod:`profile` can also be invoked as a script " "to profile another script. For example::" msgstr "" -#: ../../library/profile.rst:129 +#: ../../library/profile.rst:131 msgid "``-o`` writes the profile results to a file instead of to stdout" msgstr "" -#: ../../library/profile.rst:131 +#: ../../library/profile.rst:133 msgid "" "``-s`` specifies one of the :func:`~pstats.Stats.sort_stats` sort values to " "sort the output by. This only applies when ``-o`` is not supplied." msgstr "" -#: ../../library/profile.rst:134 +#: ../../library/profile.rst:136 msgid "``-m`` specifies that a module is being profiled instead of a script." msgstr "" -#: ../../library/profile.rst:136 +#: ../../library/profile.rst:138 msgid "Added the ``-m`` option to :mod:`cProfile`." msgstr "" -#: ../../library/profile.rst:139 +#: ../../library/profile.rst:141 msgid "Added the ``-m`` option to :mod:`profile`." msgstr "" -#: ../../library/profile.rst:142 +#: ../../library/profile.rst:144 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 "" -#: ../../library/profile.rst:150 +#: ../../library/profile.rst:152 msgid "" "The :meth:`~pstats.Stats.strip_dirs` method removed the extraneous path from " "all the module names. The :meth:`~pstats.Stats.sort_stats` method sorted all " @@ -229,44 +228,44 @@ msgid "" "statistics. You might try the following sort calls::" msgstr "" -#: ../../library/profile.rst:159 +#: ../../library/profile.rst:161 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 "" -#: ../../library/profile.rst:165 +#: ../../library/profile.rst:167 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 "" -#: ../../library/profile.rst:169 +#: ../../library/profile.rst:171 msgid "" "If you were looking to see what functions were looping a lot, and taking a " "lot of time, you would do::" msgstr "" -#: ../../library/profile.rst:174 +#: ../../library/profile.rst:176 msgid "" "to sort according to time spent within each function, and then print the " "statistics for the top ten functions." msgstr "" -#: ../../library/profile.rst:177 +#: ../../library/profile.rst:179 msgid "You might also try::" -msgstr "" +msgstr "Você pode tentar também::" -#: ../../library/profile.rst:181 +#: ../../library/profile.rst:183 msgid "" "This will sort all the statistics by file name, and then print out " "statistics for only the class init methods (since they are spelled with " "``__init__`` in them). As one final example, you could try::" msgstr "" -#: ../../library/profile.rst:187 +#: ../../library/profile.rst:189 msgid "" "This line sorts statistics with a primary key of time, and a secondary key " "of cumulative time, and then prints out some of the statistics. To be " @@ -275,46 +274,46 @@ msgid "" "list is printed." msgstr "" -#: ../../library/profile.rst:192 +#: ../../library/profile.rst:194 msgid "" "If you wondered what functions called the above functions, you could now " "(``p`` is still sorted according to the last criteria) do::" msgstr "" -#: ../../library/profile.rst:197 +#: ../../library/profile.rst:199 msgid "and you would get a list of callers for each of the listed functions." msgstr "" -#: ../../library/profile.rst:199 +#: ../../library/profile.rst:201 msgid "" "If you want more functionality, you're going to have to read the manual, or " "guess what the following functions do::" msgstr "" -#: ../../library/profile.rst:205 +#: ../../library/profile.rst:207 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 "" -#: ../../library/profile.rst:210 +#: ../../library/profile.rst:212 msgid ":mod:`profile` and :mod:`cProfile` Module Reference" msgstr "" -#: ../../library/profile.rst:216 +#: ../../library/profile.rst:218 msgid "" "Both the :mod:`profile` and :mod:`cProfile` modules provide the following " "functions:" msgstr "" -#: ../../library/profile.rst:221 +#: ../../library/profile.rst:223 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 "" -#: ../../library/profile.rst:226 +#: ../../library/profile.rst:228 msgid "" "and gathers profiling statistics from the execution. If no file name is " "present, then this function automatically creates a :class:`~pstats.Stats` " @@ -323,24 +322,24 @@ msgid "" "how the results are sorted." msgstr "" -#: ../../library/profile.rst:234 +#: ../../library/profile.rst:236 msgid "" "This function is similar to :func:`run`, with added arguments to supply the " "globals and locals dictionaries for the *command* string. This routine " "executes::" msgstr "" -#: ../../library/profile.rst:240 +#: ../../library/profile.rst:242 msgid "and gathers profiling statistics as in the :func:`run` function above." msgstr "" -#: ../../library/profile.rst:244 +#: ../../library/profile.rst:246 msgid "" "This class is normally only used if more precise control over profiling is " "needed than what the :func:`cProfile.run` function provides." msgstr "" -#: ../../library/profile.rst:247 +#: ../../library/profile.rst:249 msgid "" "A custom timer can be supplied for measuring how long code takes to run via " "the *timer* argument. This must be a function that returns a single number " @@ -350,37 +349,37 @@ msgid "" "time unit would be ``.001``." msgstr "" -#: ../../library/profile.rst:254 +#: ../../library/profile.rst:256 msgid "" "Directly using the :class:`Profile` class allows formatting profile results " "without writing the profile data to a file::" msgstr "" -#: ../../library/profile.rst:269 +#: ../../library/profile.rst:271 msgid "" "The :class:`Profile` class can also be used as a context manager (supported " "only in :mod:`cProfile` module. see :ref:`typecontextmanager`)::" msgstr "" -#: ../../library/profile.rst:279 +#: ../../library/profile.rst:281 msgid "Added context manager support." msgstr "Adicionado suporte a gerenciador de contexto." -#: ../../library/profile.rst:284 +#: ../../library/profile.rst:286 msgid "Start collecting profiling data. Only in :mod:`cProfile`." -msgstr "" +msgstr "Inicia a coleta de dados de profilling. Apenas em :mod:`cProfile`." -#: ../../library/profile.rst:288 +#: ../../library/profile.rst:290 msgid "Stop collecting profiling data. Only in :mod:`cProfile`." -msgstr "" +msgstr "Para de coletar dados de profilling. Apenas em :mod:`cProfile`." -#: ../../library/profile.rst:292 +#: ../../library/profile.rst:294 msgid "" "Stop collecting profiling data and record the results internally as the " "current profile." msgstr "" -#: ../../library/profile.rst:297 +#: ../../library/profile.rst:299 msgid "" "Create a :class:`~pstats.Stats` object based on the current profile and " "print the results to stdout." @@ -388,25 +387,25 @@ msgstr "" "Cria um objeto :class:`~pstats.Stats` com base no perfil atual e imprime os " "resultados para stdout." -#: ../../library/profile.rst:302 +#: ../../library/profile.rst:304 msgid "Write the results of the current profile to *filename*." -msgstr "" +msgstr "Escreve os resultados do profile atual para *filename*." -#: ../../library/profile.rst:306 +#: ../../library/profile.rst:308 msgid "Profile the cmd via :func:`exec`." msgstr "" -#: ../../library/profile.rst:310 +#: ../../library/profile.rst:312 msgid "" "Profile the cmd via :func:`exec` with the specified global and local " "environment." msgstr "" -#: ../../library/profile.rst:315 +#: ../../library/profile.rst:317 msgid "Profile ``func(*args, **kwargs)``" msgstr "" -#: ../../library/profile.rst:317 +#: ../../library/profile.rst:319 msgid "" "Note that profiling will only work if the called command/function actually " "returns. If the interpreter is terminated (e.g. via a :func:`sys.exit` call " @@ -414,23 +413,23 @@ msgid "" "printed." msgstr "" -#: ../../library/profile.rst:325 +#: ../../library/profile.rst:327 msgid "The :class:`Stats` Class" -msgstr "" +msgstr "A classe :class:`Stats`" -#: ../../library/profile.rst:327 +#: ../../library/profile.rst:329 msgid "" "Analysis of the profiler data is done using the :class:`~pstats.Stats` class." msgstr "" -#: ../../library/profile.rst:334 +#: ../../library/profile.rst:336 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 "" -#: ../../library/profile.rst:338 +#: ../../library/profile.rst:340 msgid "" "The file selected by the above constructor must have been created by the " "corresponding version of :mod:`profile` or :mod:`cProfile`. To be specific, " @@ -444,40 +443,41 @@ msgid "" "can be used." msgstr "" -#: ../../library/profile.rst:349 +#: ../../library/profile.rst:351 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 "" -#: ../../library/profile.rst:352 +#: ../../library/profile.rst:354 msgid ":class:`Stats` objects have the following methods:" -msgstr "" +msgstr "Os objetos de :class:`Stats` tem os seguintes métodos:" -#: ../../library/profile.rst:356 +#: ../../library/profile.rst:358 msgid "" "This method for the :class:`Stats` class removes all leading path " "information from file names. It is very useful in reducing the size of the " "printout to fit within (close to) 80 columns. This method modifies the " "object, and the stripped information is lost. After performing a strip " "operation, the object is considered to have its entries in a \"random\" " -"order, as it was just after object initialization and loading. If :meth:" -"`~pstats.Stats.strip_dirs` causes two function names to be indistinguishable " -"(they are on the same line of the same filename, and have the same function " -"name), then the statistics for these two entries are accumulated into a " -"single entry." +"order, as it was just after object initialization and loading. " +"If :meth:`~pstats.Stats.strip_dirs` causes two function names to be " +"indistinguishable (they are on the same line of the same filename, and have " +"the same function name), then the statistics for these two entries are " +"accumulated into a single entry." msgstr "" -#: ../../library/profile.rst:370 +#: ../../library/profile.rst:372 msgid "" "This method of the :class:`Stats` class accumulates additional profiling " "information into the current profiling object. Its arguments should refer " -"to filenames created by the corresponding version of :func:`profile.run` or :" -"func:`cProfile.run`. Statistics for identically named (re: file, line, name) " -"functions are automatically accumulated into single function statistics." +"to filenames created by the corresponding version of :func:`profile.run` " +"or :func:`cProfile.run`. Statistics for identically named (re: file, line, " +"name) functions are automatically accumulated into single function " +"statistics." msgstr "" -#: ../../library/profile.rst:380 +#: ../../library/profile.rst:382 msgid "" "Save the data loaded into the :class:`Stats` object to a file named " "*filename*. The file is created if it does not exist, and is overwritten if " @@ -485,7 +485,7 @@ msgid "" "the :class:`profile.Profile` and :class:`cProfile.Profile` classes." msgstr "" -#: ../../library/profile.rst:388 +#: ../../library/profile.rst:390 msgid "" "This method modifies the :class:`Stats` object by sorting it according to " "the supplied criteria. The argument can be either a string or a SortKey " @@ -495,7 +495,7 @@ msgid "" "prone." msgstr "" -#: ../../library/profile.rst:395 +#: ../../library/profile.rst:397 msgid "" "When more than one key is provided, then additional keys are used as " "secondary criteria when there is equality in all keys selected before them. " @@ -504,178 +504,178 @@ msgid "" "function names) by sorting by file name." msgstr "" -#: ../../library/profile.rst:401 +#: ../../library/profile.rst:403 msgid "" "For the string argument, abbreviations can be used for any key names, as " "long as the abbreviation is unambiguous." msgstr "" -#: ../../library/profile.rst:404 +#: ../../library/profile.rst:406 msgid "The following are the valid string and SortKey:" msgstr "" -#: ../../library/profile.rst:407 +#: ../../library/profile.rst:409 msgid "Valid String Arg" msgstr "" -#: ../../library/profile.rst:407 +#: ../../library/profile.rst:409 msgid "Valid enum Arg" msgstr "" -#: ../../library/profile.rst:407 +#: ../../library/profile.rst:409 msgid "Meaning" msgstr "Significado" -#: ../../library/profile.rst:409 +#: ../../library/profile.rst:411 msgid "``'calls'``" msgstr "``'calls'``" -#: ../../library/profile.rst:409 +#: ../../library/profile.rst:411 msgid "SortKey.CALLS" msgstr "" -#: ../../library/profile.rst:409 ../../library/profile.rst:421 +#: ../../library/profile.rst:411 ../../library/profile.rst:423 msgid "call count" msgstr "call count" -#: ../../library/profile.rst:411 +#: ../../library/profile.rst:413 msgid "``'cumulative'``" msgstr "``'cumulative'``" -#: ../../library/profile.rst:411 +#: ../../library/profile.rst:413 msgid "SortKey.CUMULATIVE" msgstr "" -#: ../../library/profile.rst:411 ../../library/profile.rst:413 +#: ../../library/profile.rst:413 ../../library/profile.rst:415 msgid "cumulative time" msgstr "cumulative time" -#: ../../library/profile.rst:413 +#: ../../library/profile.rst:415 msgid "``'cumtime'``" msgstr "``'cumtime'``" -#: ../../library/profile.rst:413 ../../library/profile.rst:415 -#: ../../library/profile.rst:419 ../../library/profile.rst:421 -#: ../../library/profile.rst:435 +#: ../../library/profile.rst:415 ../../library/profile.rst:417 +#: ../../library/profile.rst:421 ../../library/profile.rst:423 +#: ../../library/profile.rst:437 msgid "N/A" msgstr "N/D" -#: ../../library/profile.rst:415 +#: ../../library/profile.rst:417 msgid "``'file'``" msgstr "``'file'``" -#: ../../library/profile.rst:415 ../../library/profile.rst:417 -#: ../../library/profile.rst:419 +#: ../../library/profile.rst:417 ../../library/profile.rst:419 +#: ../../library/profile.rst:421 msgid "file name" msgstr "" -#: ../../library/profile.rst:417 +#: ../../library/profile.rst:419 msgid "``'filename'``" msgstr "``'filename'``" -#: ../../library/profile.rst:417 +#: ../../library/profile.rst:419 msgid "SortKey.FILENAME" msgstr "" -#: ../../library/profile.rst:419 +#: ../../library/profile.rst:421 msgid "``'module'``" msgstr "``'module'``" -#: ../../library/profile.rst:421 +#: ../../library/profile.rst:423 msgid "``'ncalls'``" msgstr "``'ncalls'``" -#: ../../library/profile.rst:423 +#: ../../library/profile.rst:425 msgid "``'pcalls'``" msgstr "``'pcalls'``" -#: ../../library/profile.rst:423 +#: ../../library/profile.rst:425 msgid "SortKey.PCALLS" msgstr "" -#: ../../library/profile.rst:423 +#: ../../library/profile.rst:425 msgid "primitive call count" msgstr "" -#: ../../library/profile.rst:425 +#: ../../library/profile.rst:427 msgid "``'line'``" msgstr "``'line'``" -#: ../../library/profile.rst:425 +#: ../../library/profile.rst:427 msgid "SortKey.LINE" msgstr "" -#: ../../library/profile.rst:425 +#: ../../library/profile.rst:427 msgid "line number" msgstr "" -#: ../../library/profile.rst:427 +#: ../../library/profile.rst:429 msgid "``'name'``" msgstr "``'name'``" -#: ../../library/profile.rst:427 +#: ../../library/profile.rst:429 msgid "SortKey.NAME" msgstr "" -#: ../../library/profile.rst:427 +#: ../../library/profile.rst:429 msgid "function name" msgstr "" -#: ../../library/profile.rst:429 +#: ../../library/profile.rst:431 msgid "``'nfl'``" msgstr "``'nfl'``" -#: ../../library/profile.rst:429 +#: ../../library/profile.rst:431 msgid "SortKey.NFL" msgstr "" -#: ../../library/profile.rst:429 +#: ../../library/profile.rst:431 msgid "name/file/line" msgstr "" -#: ../../library/profile.rst:431 +#: ../../library/profile.rst:433 msgid "``'stdname'``" msgstr "``'stdname'``" -#: ../../library/profile.rst:431 +#: ../../library/profile.rst:433 msgid "SortKey.STDNAME" msgstr "" -#: ../../library/profile.rst:431 +#: ../../library/profile.rst:433 msgid "standard name" msgstr "" -#: ../../library/profile.rst:433 +#: ../../library/profile.rst:435 msgid "``'time'``" msgstr "``'time'``" -#: ../../library/profile.rst:433 +#: ../../library/profile.rst:435 msgid "SortKey.TIME" msgstr "" -#: ../../library/profile.rst:433 ../../library/profile.rst:435 +#: ../../library/profile.rst:435 ../../library/profile.rst:437 msgid "internal time" msgstr "" -#: ../../library/profile.rst:435 +#: ../../library/profile.rst:437 msgid "``'tottime'``" msgstr "``'tottime'``" -#: ../../library/profile.rst:438 +#: ../../library/profile.rst:440 msgid "" "Note that all sorts on statistics are in descending order (placing most time " "consuming items first), where as name, file, and line number searches are in " -"ascending order (alphabetical). The subtle distinction between ``SortKey." -"NFL`` and ``SortKey.STDNAME`` is that the standard name is a sort of the " -"name as printed, which means that the embedded line numbers get compared in " -"an odd way. For example, lines 3, 20, and 40 would (if the file names were " -"the same) appear in the string order 20, 3 and 40. In contrast, ``SortKey." -"NFL`` does a numeric compare of the line numbers. In fact, " +"ascending order (alphabetical). The subtle distinction between " +"``SortKey.NFL`` and ``SortKey.STDNAME`` is that the standard name is a sort " +"of the name as printed, which means that the embedded line numbers get " +"compared in an odd way. For example, lines 3, 20, and 40 would (if the file " +"names were the same) appear in the string order 20, 3 and 40. In contrast, " +"``SortKey.NFL`` does a numeric compare of the line numbers. In fact, " "``sort_stats(SortKey.NFL)`` is the same as ``sort_stats(SortKey.NAME, " "SortKey.FILENAME, SortKey.LINE)``." msgstr "" -#: ../../library/profile.rst:449 +#: ../../library/profile.rst:451 msgid "" "For backward-compatibility reasons, the numeric arguments ``-1``, ``0``, " "``1``, and ``2`` are permitted. They are interpreted as ``'stdname'``, " @@ -684,31 +684,32 @@ msgid "" "used, and additional arguments will be silently ignored." msgstr "" -#: ../../library/profile.rst:457 +#: ../../library/profile.rst:459 msgid "Added the SortKey enum." msgstr "" -#: ../../library/profile.rst:462 +#: ../../library/profile.rst:464 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 "" -#: ../../library/profile.rst:472 +#: ../../library/profile.rst:474 msgid "" "This method for the :class:`Stats` class prints out a report as described in " "the :func:`profile.run` definition." msgstr "" -#: ../../library/profile.rst:475 +#: ../../library/profile.rst:477 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`)." +"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 "" -#: ../../library/profile.rst:480 +#: ../../library/profile.rst:482 msgid "" "The arguments provided (if any) can be used to limit the list down to the " "significant entries. Initially, the list is taken to be the complete set of " @@ -720,20 +721,20 @@ msgid "" "example::" msgstr "" -#: ../../library/profile.rst:491 +#: ../../library/profile.rst:493 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 "" -#: ../../library/profile.rst:497 +#: ../../library/profile.rst:499 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 "" -#: ../../library/profile.rst:503 +#: ../../library/profile.rst:505 msgid "" "This method for the :class:`Stats` class prints a list of all functions that " "called each function in the profiled database. The ordering is identical to " @@ -743,7 +744,7 @@ msgid "" "produced the stats:" msgstr "" -#: ../../library/profile.rst:510 +#: ../../library/profile.rst:512 msgid "" "With :mod:`profile`, a number is shown in parentheses after each caller to " "show how many times this specific call was made. For convenience, a second " @@ -751,14 +752,14 @@ msgid "" "at the right." msgstr "" -#: ../../library/profile.rst:515 +#: ../../library/profile.rst:517 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 "" -#: ../../library/profile.rst:523 +#: ../../library/profile.rst:525 msgid "" "This method for the :class:`Stats` class prints a list of all function that " "were called by the indicated function. Aside from this reversal of " @@ -766,7 +767,7 @@ msgid "" "are identical to the :meth:`~pstats.Stats.print_callers` method." msgstr "" -#: ../../library/profile.rst:531 +#: ../../library/profile.rst:533 msgid "" "This method returns an instance of StatsProfile, which contains a mapping of " "function names to instances of FunctionProfile. Each FunctionProfile " @@ -774,17 +775,17 @@ msgid "" "long the function took to run, how many times it was called, etc..." msgstr "" -#: ../../library/profile.rst:536 +#: ../../library/profile.rst:538 msgid "" "Added the following dataclasses: StatsProfile, FunctionProfile. Added the " "following function: get_stats_profile." msgstr "" -#: ../../library/profile.rst:543 +#: ../../library/profile.rst:545 msgid "What Is Deterministic Profiling?" msgstr "" -#: ../../library/profile.rst:545 +#: ../../library/profile.rst:547 msgid "" ":dfn:`Deterministic profiling` is meant to reflect the fact that all " "*function call*, *function return*, and *exception* events are monitored, " @@ -797,7 +798,7 @@ msgid "" "being spent." msgstr "" -#: ../../library/profile.rst:554 +#: ../../library/profile.rst:556 msgid "" "In Python, since there is an interpreter active during execution, the " "presence of instrumented code is not required in order to do deterministic " @@ -809,7 +810,7 @@ msgid "" "time statistics about the execution of a Python program." msgstr "" -#: ../../library/profile.rst:563 +#: ../../library/profile.rst:565 msgid "" "Call count statistics can be used to identify bugs in code (surprising " "counts), and to identify possible inline-expansion points (high call " @@ -821,11 +822,11 @@ msgid "" "compared to iterative implementations." msgstr "" -#: ../../library/profile.rst:576 +#: ../../library/profile.rst:578 msgid "Limitations" -msgstr "" +msgstr "Limitações" -#: ../../library/profile.rst:578 +#: ../../library/profile.rst:580 msgid "" "One limitation has to do with accuracy of timing information. There is a " "fundamental problem with deterministic profilers involving accuracy. The " @@ -836,7 +837,7 @@ msgid "" "first error induces a second source of error." msgstr "" -#: ../../library/profile.rst:586 +#: ../../library/profile.rst:588 msgid "" "The second problem is that it \"takes a while\" from when an event is " "dispatched until the profiler's call to get the time actually *gets* the " @@ -849,7 +850,7 @@ msgid "" "clock tick), but it *can* accumulate and become very significant." msgstr "" -#: ../../library/profile.rst:596 +#: ../../library/profile.rst:598 msgid "" "The problem is more important with :mod:`profile` than with the lower-" "overhead :mod:`cProfile`. For this reason, :mod:`profile` provides a means " @@ -863,11 +864,11 @@ msgid "" "calibration." msgstr "" -#: ../../library/profile.rst:610 +#: ../../library/profile.rst:612 msgid "Calibration" msgstr "" -#: ../../library/profile.rst:612 +#: ../../library/profile.rst:614 msgid "" "The profiler of the :mod:`profile` module subtracts a constant from each " "event handling time to compensate for the overhead of calling the time " @@ -876,7 +877,7 @@ msgid "" "platform (see :ref:`profile-limitations`). ::" msgstr "" -#: ../../library/profile.rst:623 +#: ../../library/profile.rst:625 msgid "" "The method executes the number of Python calls given by the argument, " "directly and again under the profiler, measuring the time for both. It then " @@ -886,48 +887,48 @@ msgid "" "4.04e-6." msgstr "" -#: ../../library/profile.rst:629 +#: ../../library/profile.rst:631 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 "" -#: ../../library/profile.rst:633 +#: ../../library/profile.rst:635 msgid "" "When you have a consistent answer, there are three ways you can use it::" msgstr "" -#: ../../library/profile.rst:647 +#: ../../library/profile.rst:649 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 "" -#: ../../library/profile.rst:653 +#: ../../library/profile.rst:655 msgid "Using a custom timer" msgstr "" -#: ../../library/profile.rst:655 +#: ../../library/profile.rst:657 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 "" -#: ../../library/profile.rst:661 +#: ../../library/profile.rst:663 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 "" -#: ../../library/profile.rst:679 +#: ../../library/profile.rst:681 msgid ":class:`profile.Profile`" msgstr ":class:`profile.Profile`" -#: ../../library/profile.rst:666 +#: ../../library/profile.rst:668 msgid "" "``your_time_func`` should return a single number, or a list of numbers whose " "sum is the current time (like what :func:`os.times` returns). If the " @@ -936,7 +937,7 @@ msgid "" "routine." msgstr "" -#: ../../library/profile.rst:672 +#: ../../library/profile.rst:674 msgid "" "Be warned that you should calibrate the profiler class for the timer " "function that you choose (see :ref:`profile-calibration`). For most " @@ -948,11 +949,11 @@ msgid "" "along with the appropriate calibration constant." msgstr "" -#: ../../library/profile.rst:693 +#: ../../library/profile.rst:695 msgid ":class:`cProfile.Profile`" msgstr ":class:`cProfile.Profile`" -#: ../../library/profile.rst:682 +#: ../../library/profile.rst:684 msgid "" "``your_time_func`` should return a single number. If it returns integers, " "you can also invoke the class constructor with a second argument specifying " @@ -961,7 +962,7 @@ msgid "" "you would construct the :class:`Profile` instance as follows::" msgstr "" -#: ../../library/profile.rst:690 +#: ../../library/profile.rst:692 msgid "" "As the :class:`cProfile.Profile` class cannot be calibrated, custom timer " "functions should be used with care and should be as fast as possible. For " @@ -969,11 +970,11 @@ msgid "" "in the C source of the internal :mod:`_lsprof` module." msgstr "" -#: ../../library/profile.rst:695 +#: ../../library/profile.rst:697 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`." +"make precise measurements of process or wall-clock time. For example, " +"see :func:`time.perf_counter`." msgstr "" #: ../../library/profile.rst:16 diff --git a/library/pty.po b/library/pty.po index 813d2e9f0..5ae084e10 100644 --- a/library/pty.po +++ b/library/pty.po @@ -1,32 +1,31 @@ # 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: -# Rafael Fontenelle , 2021 -# And Past , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: And Past , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/pty.rst:2 msgid ":mod:`pty` --- Pseudo-terminal utilities" -msgstr "" +msgstr ":mod:`pty` --- Utilitários de pseudoterminal" #: ../../library/pty.rst:11 msgid "**Source code:** :source:`Lib/pty.py`" @@ -38,19 +37,30 @@ msgid "" "concept: starting another process and being able to write to and read from " "its controlling terminal programmatically." msgstr "" +"O módulo :mod:`pty` define operações para lidar com o conceito de " +"pseudoterminal: iniciar outro processo e poder gravar e ler de seu terminal " +"de controle programaticamente." #: ../../library/pty.rst:19 +msgid ":ref:`Availability `: Unix." +msgstr ":ref:`Disponibilidade `: Unix." + +#: ../../library/pty.rst:21 msgid "" "Pseudo-terminal handling is highly platform dependent. This code is mainly " "tested on Linux, FreeBSD, and macOS (it is supposed to work on other POSIX " "platforms but it's not been thoroughly tested)." msgstr "" +"O tratamento do pseudoterminal é altamente dependente da plataforma. Esse " +"código foi testado principalmente no Linux, no FreeBSD e no macOS (supõe-se " +"que funcione em outras plataformas POSIX, mas não foi testado " +"exaustivamente)." -#: ../../library/pty.rst:23 +#: ../../library/pty.rst:25 msgid "The :mod:`pty` module defines the following functions:" -msgstr "" +msgstr "O módulo :mod:`pty` define as seguintes funções:" -#: ../../library/pty.rst:28 +#: ../../library/pty.rst:30 msgid "" "Fork. Connect the child's controlling terminal to a pseudo-terminal. Return " "value is ``(pid, fd)``. Note that the child gets *pid* 0, and the *fd* is " @@ -58,15 +68,32 @@ msgid "" "a file descriptor connected to the child's controlling terminal (and also to " "the child's standard input and output)." msgstr "" +"Faz um fork. Conecta o terminal de controle do filho a um pseudoterminal. O " +"valor de retorno é ``(pid, fd)``. Observe que a criança recebe *pid* 0 e o " +"*fd* é *inválido*. O valor de retorno do pai é o *pid* do filho, e o *fd* é " +"um descritor de arquivo conectado ao terminal de controle do filho (e também " +"à entrada e à saída padrão do filho)." + +#: ../../library/pty.rst:36 +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 "" +"No macOS, o uso desta função é inseguro quando combinado com o uso de APIs " +"de sistema de nível mais alto, e isso inclui o uso de :mod:`urllib.request`." -#: ../../library/pty.rst:37 +#: ../../library/pty.rst:42 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 "" +"Abre um novo par de pseudoterminais, usando :func:`os.openpty`, se possível, " +"ou código de emulação para sistemas genérico Unix . Retorna um par de " +"descritores de arquivo ``(master, slave)``, para a extremidade mestre e " +"escrava, respectivamente." -#: ../../library/pty.rst:44 +#: ../../library/pty.rst:49 msgid "" "Spawn a process, and connect its controlling terminal with the current " "process's standard io. This is often used to baffle programs which insist on " @@ -74,23 +101,35 @@ msgid "" "spawned behind the pty will eventually terminate, and when it does *spawn* " "will return." msgstr "" +"Gera um processo e conecta seu terminal de controle com o E/S padrão do " +"processo atual. Isso é frequentemente usado para confundir programas que " +"insistem em ler no terminal de controle. Espera-se que o processo gerado por " +"trás do pty acabe sendo encerrado e, quando isso acontecer, o *spawn* é " +"retornado." -#: ../../library/pty.rst:50 +#: ../../library/pty.rst:55 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 "" +"Um laço copia o STDIN do processo atual para o filho e os dados recebidos do " +"filho para o STDOUT do site processar atual. Não é sinalizado para o filho " +"se o STDIN do processar atual fechar." -#: ../../library/pty.rst:54 +#: ../../library/pty.rst:59 msgid "" "The functions *master_read* and *stdin_read* are passed a file descriptor " "which they should read from, and they should always return a byte string. In " "order to force spawn to return before the child process exits an empty byte " "array should be returned to signal end of file." msgstr "" +"As funções *master_read* e o *stdin_read* recebem um descritor de arquivo do " +"qual devem ler e devem sempre retorna uma string de bytes. Para forçar " +"*spawn* retornar antes que o processo filho saia, um byte vazio vetor deve " +"ser retornado para sinalizar o fim do arquivo." -#: ../../library/pty.rst:59 +#: ../../library/pty.rst:64 msgid "" "The default implementation for both functions will read and return up to " "1024 bytes each time the function is called. The *master_read* callback is " @@ -98,8 +137,13 @@ msgid "" "child process, and *stdin_read* is passed file descriptor 0, to read from " "the parent process's standard input." msgstr "" +"A implementação padrão para ambos os funções vai ler e retornar até 1024 " +"bytes cada vez que a função for chamada. A função de retorno *master_read* é " +"passada para o descritor de arquivo mestre do pseudoterminal para ler a " +"saída do processo filho, e ao *stdin_read* é passado o descritor de arquivo " +"0, para ler a entrada padrão do processo pai." -#: ../../library/pty.rst:65 +#: ../../library/pty.rst:70 msgid "" "Returning an empty byte string from either callback is interpreted as an end-" "of-file (EOF) condition, and that callback will not be called after that. If " @@ -108,39 +152,54 @@ msgid "" "quit without any input, *spawn* will then loop forever. If *master_read* " "signals EOF the same behavior results (on linux at least)." msgstr "" +"Retornar uma string de bytes vazia de qualquer uma das funções de retorno é " +"interpretado como uma condição de fim de vida (EOF), e que a função de " +"retorno não será chamada depois disso. Se *stdin_read* sinalizar EOF, o " +"terminal de controle não poderá mais se comunicar com o processo pai OU o " +"processo filho. A menos que o filho processar seja encerrado sem nenhuma " +"entrada, *spawn* vai então fazer o laço para sempre. Se *master_read* " +"sinalizar EOF, os mesmos comportamento resultados (pelo menos no Linux)." -#: ../../library/pty.rst:72 +#: ../../library/pty.rst:77 msgid "" "Return the exit status value from :func:`os.waitpid` on the child process." msgstr "" +"Retorna o valor de status de saída de :func:`os.waitpid` no processo filho." -#: ../../library/pty.rst:74 +#: ../../library/pty.rst:79 msgid "" -":func:`waitstatus_to_exitcode` can be used to convert the exit status into " -"an exit code." +":func:`os.waitstatus_to_exitcode` can be used to convert the exit status " +"into an exit code." msgstr "" -":func:`waitstatus_to_exitcode` pode ser usado para converter o status de " +":func:`os.waitstatus_to_exitcode` pode ser usado para converter o status de " "saída em um código de saída." -#: ../../library/pty.rst:77 +#: ../../library/pty.rst:82 msgid "" "Raises an :ref:`auditing event ` ``pty.spawn`` with argument " "``argv``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``pty.spawn`` com o " +"argumento ``argv``." -#: ../../library/pty.rst:79 +#: ../../library/pty.rst:84 msgid "" ":func:`spawn` now returns the status value from :func:`os.waitpid` on the " "child process." msgstr "" +":func:`spawn` agora retorna o valor de status de :func:`os.waitpid` no " +"processo filho." -#: ../../library/pty.rst:84 +#: ../../library/pty.rst:89 msgid "Example" msgstr "Exemplo" -#: ../../library/pty.rst:88 +#: ../../library/pty.rst:93 msgid "" "The following program acts like the Unix command :manpage:`script(1)`, using " "a pseudo-terminal to record all input and output of a terminal session in a " "\"typescript\". ::" msgstr "" +"O programa a seguir funciona como o comando Unix :manpage:`script(1)` , " +"usando um pseudoterminal para registrar todas as entradas e saídas de uma " +"sessão de terminal em um \"script\". ::" diff --git a/library/pwd.po b/library/pwd.po index d102e484c..3e0cb8719 100644 --- a/library/pwd.po +++ b/library/pwd.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Marciel Leal , 2021 -# Rafael Fontenelle , 2023 -# Marco Rougeth , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Marco Rougeth , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,19 +36,9 @@ msgstr "" "e suas respectivas senhas. Isto está disponível para todas as versões do " "Unix." -#: ../../includes/wasm-notavail.rst:3 -msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr ":ref:`Disponibilidade `: não Emscripten, não WASI." - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly platforms " -"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " -"more information." -msgstr "" -"Este módulo não funciona ou não está disponível em plataformas WebAssembly " -"``wasm32-emscripten`` e ``wasm32-wasi``. Veja :ref:`wasm-availability` para " -"mais informações." +#: ../../library/pwd.rst:13 +msgid ":ref:`Availability `: Unix, not Emscripten, not WASI." +msgstr ":ref:`Disponibilidade `: Unix, não Emscripten, não WASI." #: ../../library/pwd.rst:15 msgid "" @@ -135,7 +120,7 @@ msgstr "``pw_gecos``" #: ../../library/pwd.rst:30 msgid "User name or comment field" -msgstr "Nome do usuário ou campor de comentário" +msgstr "Nome do usuário ou campo de comentário" #: ../../library/pwd.rst:32 msgid "5" @@ -180,15 +165,15 @@ msgid "" "anything useful is system-dependent. If available, the :mod:`spwd` module " "should be used where access to the encrypted password is required." msgstr "" -"Em Unix tradicional, o campo ``pw_passwd`` geralmente contém uma senha " -"encriptada com um algoritmo derivado de DES (veja o módulo :mod:`crypt`). No " -"entanto, a maioria dos Unixes modernos usam o chamado sistema *shadow " -"password*. Nesses Unixes o campo *pw_passwd* só contém um asterisco " -"(``'*'``) ou a letra ``'x'`` e a senha encriptada é guardada no arquivo :" -"file:`/etc/shadow` o qual não é permitido o acesso irrestrito a leitura. Se " -"o campo *pw_passwd* contém alguma coisa útil dependerá do sistema. Se " -"disponível, o módulo :mod:`spwd` deve ser usado para acessar onde a senha " -"for requerida." +"No Unix tradicional, o campo ``pw_passwd`` geralmente contém uma senha " +"criptografada com um algoritmo derivado do DES (veja o módulo :mod:`crypt`). " +"No entanto, a maioria dos unices modernos usa um sistema chamado de *senha " +"shadow*. Nesses unices, o campo *pw_passwd* contém apenas um asterisco " +"(``'*'``) ou a letra ``'x'`` onde a senha criptografada é armazenada em um " +"arquivo :file:`/etc/shadow` que não é legível para o mundo. Se o campo " +"*pw_passwd* contém algo útil depende do sistema. Se disponível, o " +"módulo :mod:`spwd` deve ser usado onde o acesso à senha criptografada é " +"necessário." #: ../../library/pwd.rst:53 msgid "It defines the following items:" @@ -225,8 +210,7 @@ msgstr "Módulo :mod:`spwd`" #: ../../library/pwd.rst:77 msgid "An interface to the shadow password database, similar to this." -msgstr "" -"Uma interface para o banco de dados de shadow passwords, similar a essa." +msgstr "Uma interface para o banco de dados de senhas shadow, similar a esta." #: ../../library/pwd.rst:42 msgid "module" diff --git a/library/py_compile.po b/library/py_compile.po index 363ff39bb..7e5256c63 100644 --- a/library/py_compile.po +++ b/library/py_compile.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -73,15 +72,28 @@ msgid "" "raised. This function returns the path to byte-compiled file, i.e. whatever " "*cfile* value was used." msgstr "" +"Compila um arquivo fonte para bytecode e grava o arquivo de cache de " +"bytecode. O código-fonte é carregado a partir do arquivo chamado *file*. O " +"bytecode é gravado em *cfile*, cujo padrão é o " +"caminho :pep:`3147`/:pep:`488`, terminando em ``.pyc``. Por exemplo, se " +"*file* for ``/foo/bar/baz.py``, o *cfile* será padronizado como ``/foo/bar/" +"__pycache__/baz.cpython-32.pyc`` para o Python 3.2. Se *dfile* for " +"especificado, ele será usado em vez de *file* como o nome do arquivo fonte " +"do qual as linhas de origem são obtidas para exibição em tracebacks de " +"exceção. Se *doraise* for verdadeiro, a :exc:`PyCompileError` será levantada " +"quando um erro for encontrado durante a compilação de *file*. Se *doraise* " +"for false (o padrão), uma string de erros será gravada em ``sys.stderr``, " +"mas nenhuma exceção será levantada. Essa função retorna o caminho para o " +"arquivo compilado em bytes, ou seja, qualquer valor *cfile* foi usado." #: ../../library/py_compile.rst:46 msgid "" "The *doraise* and *quiet* arguments determine how errors are handled while " "compiling file. If *quiet* is 0 or 1, and *doraise* is false, the default " "behaviour is enabled: an error string is written to ``sys.stderr``, and the " -"function returns ``None`` instead of a path. If *doraise* is true, a :exc:" -"`PyCompileError` is raised instead. However if *quiet* is 2, no message is " -"written, and *doraise* has no effect." +"function returns ``None`` instead of a path. If *doraise* is true, " +"a :exc:`PyCompileError` is raised instead. However if *quiet* is 2, no " +"message is written, and *doraise* has no effect." msgstr "" "Os argumentos *doraise* e *quiet* determinam como os erros são tratados " "durante a compilação do arquivo. Se *quiet* for 0 ou 1 e *doraise* for " @@ -101,9 +113,9 @@ msgid "" "file into place to prevent concurrent file writing issues." msgstr "" "Se o caminho que *cfile* se tornar (especificado ou computado " -"explicitamente) for um link simbólico ou um arquivo não regular, :exc:" -"`FileExistsError` será levantada. Isso serve como um aviso de que a " -"importação transformará esses caminhos em arquivos regulares se for " +"explicitamente) for um link simbólico ou um arquivo não " +"regular, :exc:`FileExistsError` será levantada. Isso serve como um aviso de " +"que a importação transformará esses caminhos em arquivos regulares se for " "permitido gravar arquivos compilados em bytes nesses caminhos. Esse é um " "efeito colateral da importação usando a renomeação de arquivo para colocar o " "arquivo final compilado em bytecode para evitar problemas de gravação " @@ -111,8 +123,8 @@ msgstr "" #: ../../library/py_compile.rst:60 msgid "" -"*optimize* controls the optimization level and is passed to the built-in :" -"func:`compile` function. The default of ``-1`` selects the optimization " +"*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* controla o nível de otimização e é passado para a função " @@ -123,8 +135,8 @@ msgstr "" msgid "" "*invalidation_mode* should be a member of the :class:`PycInvalidationMode` " "enum and controls how the generated bytecode cache is invalidated at " -"runtime. The default is :attr:`PycInvalidationMode.CHECKED_HASH` if the :" -"envvar:`SOURCE_DATE_EPOCH` environment variable is set, otherwise the " +"runtime. The default is :attr:`PycInvalidationMode.CHECKED_HASH` if " +"the :envvar:`SOURCE_DATE_EPOCH` environment variable is set, otherwise the " "default is :attr:`PycInvalidationMode.TIMESTAMP`." msgstr "" "*invalidation_mode* deve ser um membro da enum :class:`PycInvalidationMode` " @@ -139,9 +151,9 @@ msgid "" "default was *file* + ``'c'`` (``'o'`` if optimization was enabled). Also " "added the *optimize* parameter." msgstr "" -"Alterado o valor padrão de *cfile* para ficar em conformidade com a :PEP:" -"`3147`. O padrão anterior era *file* + ``'c'`` (``'o'`` se a otimização " -"estivesse ativada). Também foi adicionado o parâmetro *optimize*." +"Alterado o valor padrão de *cfile* para ficar em conformidade com " +"a :PEP:`3147`. O padrão anterior era *file* + ``'c'`` (``'o'`` se a " +"otimização estivesse ativada). Também foi adicionado o parâmetro *optimize*." #: ../../library/py_compile.rst:75 msgid "" @@ -162,13 +174,13 @@ msgstr "" msgid "" "The *invalidation_mode* parameter was added as specified in :pep:`552`. If " "the :envvar:`SOURCE_DATE_EPOCH` environment variable is set, " -"*invalidation_mode* will be forced to :attr:`PycInvalidationMode." -"CHECKED_HASH`." +"*invalidation_mode* will be forced " +"to :attr:`PycInvalidationMode.CHECKED_HASH`." msgstr "" -"O parâmetro *invalidation_mode* foi adicionado conforme especificado em :pep:" -"`552`. Se a variável de ambiente :envvar:`SOURCE_DATE_EPOCH` estiver " -"configurada, *invalidation_mode* será forçado a :attr:`PycInvalidationMode." -"CHECKED_HASH`." +"O parâmetro *invalidation_mode* foi adicionado conforme especificado " +"em :pep:`552`. Se a variável de ambiente :envvar:`SOURCE_DATE_EPOCH` estiver " +"configurada, *invalidation_mode* será forçado " +"a :attr:`PycInvalidationMode.CHECKED_HASH`." #: ../../library/py_compile.rst:88 msgid "" @@ -237,11 +249,11 @@ msgstr "" "Essa opção é útil quando os ``.pycs`` são atualizados por algum sistema " "externo ao Python, como um sistema de compilação." -#: ../../library/py_compile.rst:130 +#: ../../library/py_compile.rst:131 msgid "Command-Line Interface" -msgstr "Interface de Linha de Comando" +msgstr "Interface de linha de comando" -#: ../../library/py_compile.rst:132 +#: ../../library/py_compile.rst:133 msgid "" "This module can be invoked as a script to compile several source files. The " "files named in *filenames* are compiled and the resulting bytecode is cached " @@ -249,30 +261,38 @@ 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 "" +"Este módulo pode ser invocado como um script para compilar vários arquivos " +"fonte. Os arquivos nomeados em *filenames* são compilados e o bytecode " +"resultante é armazenado em cache da maneira normal. Este programa não " +"pesquisa uma estrutura de diretórios para localizar arquivos de origem; ele " +"apenas compila arquivos nomeados explicitamente. O status de saída será " +"diferente de zero se um dos arquivos não puder ser compilado." -#: ../../library/py_compile.rst:144 +#: ../../library/py_compile.rst:145 msgid "" "Positional arguments are files to compile. If ``-`` is the only parameter, " "the list of files is taken from standard input." msgstr "" +"Argumentos posicionais são arquivos para compilar. Se ``-`` for o único " +"parâmetro, a lista de arquivos será obtida da entrada padrão." -#: ../../library/py_compile.rst:149 +#: ../../library/py_compile.rst:150 msgid "Suppress errors output." -msgstr "" +msgstr "Suprime a saída de erros." -#: ../../library/py_compile.rst:151 +#: ../../library/py_compile.rst:152 msgid "Added support for ``-``." -msgstr "" +msgstr "Adicionado suporte a ``-``." -#: ../../library/py_compile.rst:154 +#: ../../library/py_compile.rst:155 msgid "Added support for :option:`-q`." -msgstr "" +msgstr "Adicionado suporte a :option:`-q`." -#: ../../library/py_compile.rst:160 +#: ../../library/py_compile.rst:161 msgid "Module :mod:`compileall`" msgstr "Módulo :mod:`compileall`" -#: ../../library/py_compile.rst:161 +#: ../../library/py_compile.rst:162 msgid "Utilities to compile all Python source files in a directory tree." msgstr "" "Utilitários para compilar todos os arquivos fontes Python em uma árvore de " @@ -284,4 +304,4 @@ msgstr "arquivo" #: ../../library/py_compile.rst:12 msgid "byte-code" -msgstr "" +msgstr "byte-code" diff --git a/library/pyclbr.po b/library/pyclbr.po index 887510313..5a30b02aa 100644 --- a/library/pyclbr.po +++ b/library/pyclbr.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -90,10 +90,10 @@ msgstr "" "instrução ``def`` ou ``class``. O dicionário retornado mapeia os nomes das " "funções e das classes no nível do módulo para seus descritores. Objetos " "aninhados são inseridos no dicionário filho de seus pais. Como em " -"readmodule, *module* nomeia o módulo a ser lido e *path* é anexado ao sys." -"path. Se o módulo que está sendo lido for um pacote, o dicionário retornado " -"terá uma chave ``'__path__'`` cujo valor é uma lista que contém o caminho de " -"pesquisa do pacote." +"readmodule, *module* nomeia o módulo a ser lido e *path* é anexado ao " +"sys.path. Se o módulo que está sendo lido for um pacote, o dicionário " +"retornado terá uma chave ``'__path__'`` cujo valor é uma lista que contém o " +"caminho de pesquisa do pacote." #: ../../library/pyclbr.rst:48 msgid "" @@ -114,96 +114,108 @@ msgstr "" #: ../../library/pyclbr.rst:60 msgid "Function Objects" -msgstr "Objetos Função" +msgstr "Objetos Function" -#: ../../library/pyclbr.rst:61 +#: ../../library/pyclbr.rst:64 msgid "" -"Class :class:`Function` instances describe functions defined by def " +"Class :class:`!Function` instances describe functions defined by def " "statements. They have the following attributes:" msgstr "" -"Instâncias da classe :class:`Function` descrevem funções definidas por " +"Instâncias da classe :class:`!Function` descrevem funções definidas por " "instruções def. Elas têm os seguintes atributos:" -#: ../../library/pyclbr.rst:67 +#: ../../library/pyclbr.rst:70 msgid "Name of the file in which the function is defined." msgstr "Nome do arquivo no qual a função está definida." -#: ../../library/pyclbr.rst:72 +#: ../../library/pyclbr.rst:75 msgid "The name of the module defining the function described." msgstr "O nome do módulo que define a função descrita." -#: ../../library/pyclbr.rst:77 +#: ../../library/pyclbr.rst:80 msgid "The name of the function." msgstr "O nome da função." -#: ../../library/pyclbr.rst:82 ../../library/pyclbr.rst:132 +#: ../../library/pyclbr.rst:85 ../../library/pyclbr.rst:140 msgid "The line number in the file where the definition starts." msgstr "O número da linha no arquivo em que a definição é iniciada." -#: ../../library/pyclbr.rst:87 -msgid "For top-level functions, None. For nested functions, the parent." -msgstr "Para funções de nível superior, None. Para funções aninhadas, o pai." +#: ../../library/pyclbr.rst:90 +msgid "For top-level functions, ``None``. For nested functions, the parent." +msgstr "" +"Para funções de nível superior, ``None``. Para funções aninhadas, o pai." -#: ../../library/pyclbr.rst:94 ../../library/pyclbr.rst:144 +#: ../../library/pyclbr.rst:97 msgid "" -"A dictionary mapping names to descriptors for nested functions and classes." +"A :class:`dictionary ` mapping names to descriptors for nested " +"functions and classes." msgstr "" -"Um dicionário que mapeia nomes para descritores para funções e classes " -"aninhadas." +"Um :class:`dicionário ` que mapeia nomes para descritores para funções " +"e classes aninhadas." -#: ../../library/pyclbr.rst:102 +#: ../../library/pyclbr.rst:105 msgid "" -"``True`` for functions that are defined with the ``async`` prefix, ``False`` " -"otherwise." +"``True`` for functions that are defined with the :keyword:`async ` prefix, ``False`` otherwise." msgstr "" -"``True`` para funções que são definidas com o prefixo ``async``. Caso " -"contrário, ``False``." +"``True`` para funções que são definidas com o prefixo :keyword:`async `. Caso contrário, ``False``." -#: ../../library/pyclbr.rst:110 +#: ../../library/pyclbr.rst:114 msgid "Class Objects" -msgstr "Objetos de Class" +msgstr "Objetos classe" -#: ../../library/pyclbr.rst:111 +#: ../../library/pyclbr.rst:118 msgid "" -"Class :class:`Class` instances describe classes defined by class " -"statements. They have the same attributes as Functions and two more." +"Class :class:`!Class` instances describe classes defined by class " +"statements. They have the same attributes as :class:`Functions ` " +"and two more." msgstr "" -"Instâncias da classe :class:`Class` descrevem classes definidas por " -"instruções class. Elas têm os mesmos atributos que Functions e mais dois." +"Instâncias da classe :class:`!Class` descrevem classes definidas por " +"instruções class. Elas têm os mesmos atributos que :class:`Functions " +"` e mais dois." -#: ../../library/pyclbr.rst:117 +#: ../../library/pyclbr.rst:125 msgid "Name of the file in which the class is defined." msgstr "Nome do arquivo no qual a classe está definida." -#: ../../library/pyclbr.rst:122 +#: ../../library/pyclbr.rst:130 msgid "The name of the module defining the class described." msgstr "O nome do módulo que define a classe descrita." -#: ../../library/pyclbr.rst:127 +#: ../../library/pyclbr.rst:135 msgid "The name of the class." msgstr "O nome da classe." -#: ../../library/pyclbr.rst:137 +#: ../../library/pyclbr.rst:145 msgid "For top-level classes, None. For nested classes, the parent." msgstr "Para classes de nível superior, None. Para classes aninhadas, o pai." #: ../../library/pyclbr.rst:152 msgid "" -"A list of :class:`Class` objects which describe the immediate base classes " +"A dictionary mapping names to descriptors for nested functions and classes." +msgstr "" +"Um dicionário que mapeia nomes para descritores para funções e classes " +"aninhadas." + +#: ../../library/pyclbr.rst:160 +msgid "" +"A list of :class:`!Class` objects which describe the immediate base classes " "of the class being described. Classes which are named as superclasses but " "which are not discoverable by :func:`readmodule_ex` are listed as a string " -"with the class name instead of as :class:`Class` objects." +"with the class name instead of as :class:`!Class` objects." msgstr "" -"Uma lista de objetos :class:`Class` que descreve as classes base imediatas " +"Uma lista de objetos :class:`!Class` que descreve as classes base imediatas " "da classe que está sendo descrita. Classes nomeadas como superclasses, mas " "que não podem ser descobertas por :func:`readmodule_ex` são listadas como " -"uma string com o nome da classe em vez de como objetos de :class:`Class`." +"uma string com o nome da classe em vez de como objetos de :class:`!Class`." -#: ../../library/pyclbr.rst:161 +#: ../../library/pyclbr.rst:169 msgid "" -"A dictionary mapping method names to line numbers. This can be derived from " -"the newer children dictionary, but remains for back-compatibility." +"A :class:`dictionary ` mapping method names to line numbers. This can " +"be derived from the newer :attr:`children` dictionary, but remains for back-" +"compatibility." msgstr "" -"Um dicionário que mapeia nomes de métodos para números de linha. Isso pode " -"ser derivado do dicionário filho mais novo, mas permanece para " -"compatibilidade retroativa." +"Um :class:`dicionário ` que mapeia nomes de métodos para números de " +"linha. Isso pode ser derivado do dicionário :attr:`children` mais novo, mas " +"permanece para compatibilidade retroativa." diff --git a/library/pydoc.po b/library/pydoc.po index ce5c15fc5..fca3ce0af 100644 --- a/library/pydoc.po +++ b/library/pydoc.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 -# And Past , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: And Past , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -34,41 +33,41 @@ msgstr "**Código-fonte:** :source:`Lib/pydoc.py`" #: ../../library/pydoc.rst:19 msgid "" -"The :mod:`pydoc` module automatically generates documentation from Python " +"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 "" -"O módulo :mod:`pydoc` gera automaticamente a documentação dos módulos " +"O módulo :mod:`!pydoc` gera automaticamente a documentação dos módulos " "Python. A documentação pode ser apresentada como páginas de texto no " "console, servida em um navegador web ou salva em arquivos HTML." #: ../../library/pydoc.rst:23 msgid "" "For modules, classes, functions and methods, the displayed documentation is " -"derived from the docstring (i.e. the :attr:`__doc__` attribute) of the " +"derived from the docstring (i.e. the :attr:`!__doc__` attribute) of the " "object, and recursively of its documentable members. If there is no " -"docstring, :mod:`pydoc` tries to obtain a description from the block of " +"docstring, :mod:`!pydoc` tries to obtain a description from the block of " "comment lines just above the definition of the class, function or method in " -"the source file, or at the top of the module (see :func:`inspect." -"getcomments`)." +"the source file, or at the top of the module " +"(see :func:`inspect.getcomments`)." msgstr "" "Para módulos, classes, funções e métodos, a documentação exibida é derivada " -"da docstring (ou seja, o atributo :attr:`__doc__`) do objeto, e " -"recursivamente de seus membros documentáveis. Se não houver docstring, :mod:" -"`pydoc` tenta obter uma descrição do bloco de linhas de comentário logo " -"acima da definição da classe, função ou método no arquivo fonte, ou no topo " -"do módulo (consulte :func:`inspect.getcomments`)." +"da docstring (ou seja, o atributo :attr:`!__doc__`) do objeto, e " +"recursivamente de seus membros documentáveis. Se não houver " +"docstring, :mod:`!pydoc` tenta obter uma descrição do bloco de linhas de " +"comentário logo acima da definição da classe, função ou método no arquivo " +"fonte, ou no topo do módulo (consulte :func:`inspect.getcomments`)." #: ../../library/pydoc.rst:30 msgid "" "The built-in function :func:`help` invokes the online help system in the " -"interactive interpreter, which uses :mod:`pydoc` to generate its " +"interactive interpreter, which uses :mod:`!pydoc` to generate its " "documentation as text on the console. The same text documentation can also " "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 "" "A função embutida :func:`help` invoca o sistema de ajuda online no " -"interpretador interativo, que usa :mod:`pydoc` para gerar sua documentação " +"interpretador interativo, que usa :mod:`!pydoc` para gerar sua documentação " "como texto no console. A mesma documentação de texto também pode ser vista " "de fora do interpretador Python executando :program:`pydoc` como um script " "no prompt de comando do sistema operacional. Por exemplo, executar ::" @@ -85,24 +84,24 @@ msgid "" "file, then documentation is produced for that file." msgstr "" "em um prompt de console exibirá a documentação do módulo :mod:`sys`, em um " -"estilo semelhante às páginas de manual mostradas pelo comando Unix :program:" -"`man`. O argumento para :program:`pydoc` pode ser o nome de uma função, " -"módulo ou pacote, ou uma referência pontilhada a uma classe, método ou " -"função dentro de um módulo ou módulo em um pacote. Se o argumento para :" -"program:`pydoc` parecer um caminho (ou seja, ele contém o separador de " +"estilo semelhante às páginas de manual mostradas pelo comando " +"Unix :program:`man`. O argumento para :program:`pydoc` pode ser o nome de " +"uma função, módulo ou pacote, ou uma referência pontilhada a uma classe, " +"método ou função dentro de um módulo ou módulo em um pacote. Se o argumento " +"para :program:`pydoc` parecer um caminho (ou seja, ele contém o separador de " "caminho para o seu sistema operacional, como uma barra no Unix) e se refere " "a um arquivo fonte Python existente, então a documentação é produzida para " "esse arquivo." #: ../../library/pydoc.rst:49 msgid "" -"In order to find objects and their documentation, :mod:`pydoc` imports the " +"In order to find objects and their documentation, :mod:`!pydoc` imports the " "module(s) to be documented. Therefore, any code on module level will be " "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 "" -"Para encontrar objetos e sua documentação, :mod:`pydoc` importa os módulos a " -"serem documentados. Portanto, qualquer código no nível do módulo será " +"Para encontrar objetos e sua documentação, :mod:`!pydoc` importa os módulos " +"a serem documentados. Portanto, qualquer código no nível do módulo será " "executado nessa ocasião. Use uma proteção ``if __name__ == '__main__':`` " "para executar código apenas quando um arquivo é chamado como um script e não " "apenas importado." @@ -143,11 +142,11 @@ msgstr "" #: ../../library/pydoc.rst:67 msgid "" "You can also use :program:`pydoc` to start an HTTP server on the local " -"machine that will serve documentation to visiting web browsers. :program:" -"`python -m pydoc -p 1234` will start a HTTP server on port 1234, allowing " -"you to browse the documentation at ``http://localhost:1234/`` in your " -"preferred web browser. Specifying ``0`` as the port number will select an " -"arbitrary unused port." +"machine that will serve documentation to visiting web " +"browsers. :program:`python -m pydoc -p 1234` will start a HTTP server on " +"port 1234, allowing you to browse the documentation at ``http://" +"localhost:1234/`` in your preferred web browser. Specifying ``0`` as the " +"port number will select an arbitrary unused port." msgstr "" "Você também pode usar :program:`pydoc` para iniciar um servidor HTTP na " "máquina local que servirá a documentação para os navegadores web " @@ -201,16 +200,16 @@ msgstr "" #: ../../library/pydoc.rst:90 msgid "" -"Module docs for core modules are assumed to reside in ``https://docs.python." -"org/X.Y/library/`` where ``X`` and ``Y`` are the major and minor version " -"numbers of the Python interpreter. This can be overridden by setting the :" -"envvar:`PYTHONDOCS` environment variable to a different URL or to a local " -"directory containing the Library Reference Manual pages." -msgstr "" -"Os documentos do módulo para os módulos principais são assumidos para " -"residir em ``https://docs.python.org/X.Y/library/`` onde ``X`` e ``Y`` são " +"Module docs for core modules are assumed to reside in ``https://" +"docs.python.org/X.Y/library/`` where ``X`` and ``Y`` are the major and minor " +"version numbers of the Python interpreter. This can be overridden by " +"setting the :envvar:`!PYTHONDOCS` environment variable to a different URL or " +"to a local directory containing the Library Reference Manual pages." +msgstr "" +"Os documentos do módulo para os módulos principais são presumidos como " +"residindo em ``https://docs.python.org/X.Y/library/``, sendo ``X`` e ``Y`` " "os números de versão principal e secundária do interpretador Python. Isso " -"pode ser substituído definindo a variável de ambiente :envvar:`PYTHONDOCS` " +"pode ser substituído definindo a variável de ambiente :envvar:`!PYTHONDOCS` " "para uma URL diferente ou para um diretório local contendo as páginas do " "Manual de Referência da Biblioteca." @@ -224,11 +223,13 @@ msgstr "A opção de linha de comando ``-g`` foi removida." #: ../../library/pydoc.rst:103 msgid "" -":mod:`pydoc` now uses :func:`inspect.signature` rather than :func:`inspect." -"getfullargspec` to extract signature information from callables." +":mod:`!pydoc` now uses :func:`inspect.signature` rather " +"than :func:`inspect.getfullargspec` to extract signature information from " +"callables." msgstr "" -":mod:`pydoc` agora usa :func:`inspect.signature` em vez de :func:`inspect." -"getfullargspec` para extrair informações de assinatura de chamáveis." +":mod:`!pydoc` agora usa :func:`inspect.signature` em vez " +"de :func:`inspect.getfullargspec` para extrair informações de assinatura de " +"chamáveis." #: ../../library/pydoc.rst:108 msgid "Added the ``-n`` option." @@ -236,15 +237,15 @@ msgstr "Adicionada a opção ``-n``." #: ../../library/pydoc.rst:12 msgid "documentation" -msgstr "" +msgstr "documentação" #: ../../library/pydoc.rst:12 msgid "generation" -msgstr "" +msgstr "geração" #: ../../library/pydoc.rst:12 msgid "online" -msgstr "" +msgstr "online" #: ../../library/pydoc.rst:12 msgid "help" diff --git a/library/pyexpat.po b/library/pyexpat.po index bd678f8c9..d524b58e4 100644 --- a/library/pyexpat.po +++ b/library/pyexpat.po @@ -1,34 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# And Past , 2021 -# i17obot , 2021 -# Marco Rougeth , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Marco Rougeth , 2023\n" +"POT-Creation-Date: 2026-10-27 22:41+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/pyexpat.rst:2 msgid ":mod:`xml.parsers.expat` --- Fast XML parsing using Expat" -msgstr "" +msgstr ":mod:`xml.parsers.expat` --- Análise rápida de XML usando Expat" #: ../../library/pyexpat.rst:21 msgid "" @@ -36,49 +33,66 @@ msgid "" "data. If you need to parse untrusted or unauthenticated data see :ref:`xml-" "vulnerabilities`." msgstr "" +"O módulo :mod:`pyexpat` não é seguro contra dados construídos de forma " +"maliciosa. Se você precisa processar dados não-confiáveis ou sem " +"autenticação, veja :ref:`xml-vulnerabilities`." #: ../../library/pyexpat.rst:28 msgid "" "The :mod:`xml.parsers.expat` module is a Python interface to the Expat non-" -"validating XML parser. The module provides a single extension type, :class:" -"`xmlparser`, that represents the current state of an XML parser. After an :" -"class:`xmlparser` object has been created, various attributes of the object " -"can be set to handler functions. When an XML document is then fed to the " -"parser, the handler functions are called for the character data and markup " -"in the XML document." -msgstr "" +"validating XML parser. The module provides a single extension " +"type, :class:`xmlparser`, that represents the current state of an XML " +"parser. After an :class:`xmlparser` object has been created, various " +"attributes of the object can be set to handler functions. When an XML " +"document is then fed to the parser, the handler functions are called for the " +"character data and markup in the XML document." +msgstr "" +"O módulo :mod:`xml.parsers.expat` é uma interface Python para o analisador " +"XML sem validação do Expat. O módulo fornece um único tipo de " +"extensão, :class:`xmlparser`, que representa o estado atual de um analisador " +"XML. Após um objeto :class:`xmlparser` ter sido criado, vários atributos do " +"objeto podem ser configurados para funções manipuladoras. Quando um " +"documento XML é alimentado no analisador, as funções de tratamento são " +"chamadas para os dados de caracteres e marcação no documento XML." #: ../../library/pyexpat.rst:38 msgid "" "This module uses the :mod:`pyexpat` module to provide access to the Expat " "parser. Direct use of the :mod:`pyexpat` module is deprecated." msgstr "" +"Este módulo usa o módulo :mod:`pyexpat` para fornecer acesso ao analisador " +"sintático Expat. O uso direto do módulo :mod:`pyexpat` foi descontinuado." #: ../../library/pyexpat.rst:41 msgid "This module provides one exception and one type object:" -msgstr "" +msgstr "Este módulo fornece uma exceção e um objeto de tipo:" #: ../../library/pyexpat.rst:46 msgid "" -"The exception raised when Expat reports an error. See section :ref:" -"`expaterror-objects` for more information on interpreting Expat errors." +"The exception raised when Expat reports an error. See " +"section :ref:`expaterror-objects` for more information on interpreting Expat " +"errors." msgstr "" +"A exceção levantada quando o Expat relata um erro. Veja a " +"seção :ref:`expaterror-objects` para mais informações sobre como interpretar " +"erros do Expat." #: ../../library/pyexpat.rst:52 msgid "Alias for :exc:`ExpatError`." -msgstr "" +msgstr "Apelido para :exc:`ExpatError`." #: ../../library/pyexpat.rst:57 msgid "The type of the return values from the :func:`ParserCreate` function." -msgstr "" +msgstr "O tipo dos valores de retorno da função :func:`ParserCreate`." #: ../../library/pyexpat.rst:59 msgid "The :mod:`xml.parsers.expat` module contains two functions:" -msgstr "" +msgstr "O módulo :mod:`xml.parsers.expat` contém duas funções:" #: ../../library/pyexpat.rst:64 msgid "Returns an explanatory string for a given error number *errno*." msgstr "" +"Retorna uma string explicativa para um determinado número de erro *errno*." #: ../../library/pyexpat.rst:69 msgid "" @@ -89,8 +103,22 @@ msgid "" "(Latin1), and ASCII. If *encoding* [1]_ is given it will override the " "implicit or explicit encoding of the document." msgstr "" +"Cria e retorna um novo objeto :class:`xmlparser`. *encoding*, se " +"especificado, deve ser uma string que nomeia a codificação usada pelos dados " +"XML. Expat não provê tantas codificações quanto Python e seu repertório de " +"codificações não pode ser estendido; provê UTF-8, UTF-16, ISO-8859-1 " +"(Latin1) e ASCII. Se *encoding* [1]_ for fornecido, ele substituirá a " +"codificação implícita ou explícita do documento." -#: ../../library/pyexpat.rst:76 +#: ../../library/pyexpat.rst:78 +msgid "" +"Parsers created through :func:`!ParserCreate` are called \"root\" parsers, " +"in the sense that they do not have any parent parser attached. Non-root " +"parsers are created by :meth:`parser.ExternalEntityParserCreate " +"`." +msgstr "" + +#: ../../library/pyexpat.rst:83 msgid "" "Expat can optionally do XML namespace processing for you, enabled by " "providing a value for *namespace_separator*. The value must be a one-" @@ -104,44 +132,64 @@ msgid "" "zero byte (``chr(0)``) then the namespace URI and the local part will be " "concatenated without any separator." msgstr "" - -#: ../../library/pyexpat.rst:88 +"Opcionalmente, o Expat pode fazer o processamento de espaço de nomes XML " +"para você, habilitado ao fornecer um valor para *namespace_separator*. O " +"valor deve ser uma string de um caractere; uma exceção :exc:`ValueError` " +"será levantada se a string tiver um comprimento ilegal (``None`` é " +"considerado o mesmo que omissão). Quando o processamento de espaço de nomes " +"estiver ativado, os nomes de tipos de elementos e nomes de atributos que " +"pertencem a um espaço de nomes serão expandidos. O nome do elemento passado " +"para os manipuladores de elemento :attr:`StartElementHandler` " +"e :attr:`EndElementHandler` será a concatenação do URI do espaço de nomes, o " +"caractere separador do espaço de nomes e a parte local do nome. Se o " +"separador do espaço de nomes for um byte zero (``chr(0)``), então o URI do " +"espaço de nomes e a parte local serão concatenados sem qualquer separador." + +#: ../../library/pyexpat.rst:95 msgid "" "For example, if *namespace_separator* is set to a space character (``' '``) " "and the following document is parsed:" msgstr "" +"Por exemplo, se *namespace_separator* for definido como um caractere de " +"espaço (``' '``) e o seguinte documento for analisado:" -#: ../../library/pyexpat.rst:100 +#: ../../library/pyexpat.rst:107 msgid "" ":attr:`StartElementHandler` will receive the following strings for each " "element::" msgstr "" +":attr:`StartElementHandler` receberá as seguintes strings para cada " +"elemento::" -#: ../../library/pyexpat.rst:107 +#: ../../library/pyexpat.rst:114 msgid "" -"Due to limitations in the ``Expat`` library used by :mod:`pyexpat`, the :" -"class:`xmlparser` instance returned can only be used to parse a single XML " -"document. Call ``ParserCreate`` for each document to provide unique parser " -"instances." +"Due to limitations in the ``Expat`` library used by :mod:`pyexpat`, " +"the :class:`xmlparser` instance returned can only be used to parse a single " +"XML document. Call ``ParserCreate`` for each document to provide unique " +"parser instances." msgstr "" +"Devido a limitações na biblioteca ``Expat`` usada por :mod:`pyexpat`, a " +"instância :class:`xmlparser` retornada só pode ser usada para analisar um " +"único documento XML. Chame ``ParserCreate`` para cada documento para " +"fornecer instâncias exclusivas do analisador sintático." -#: ../../library/pyexpat.rst:115 +#: ../../library/pyexpat.rst:122 msgid "`The Expat XML Parser `_" -msgstr "" +msgstr "`Expat, analisador sintático de XML `_" -#: ../../library/pyexpat.rst:116 +#: ../../library/pyexpat.rst:123 msgid "Home page of the Expat project." -msgstr "" +msgstr "Site do projeto Expat" -#: ../../library/pyexpat.rst:122 +#: ../../library/pyexpat.rst:129 msgid "XMLParser Objects" msgstr "Objetos XMLParser" -#: ../../library/pyexpat.rst:124 +#: ../../library/pyexpat.rst:131 msgid ":class:`xmlparser` objects have the following methods:" msgstr "" -#: ../../library/pyexpat.rst:129 +#: ../../library/pyexpat.rst:136 msgid "" "Parses the contents of the string *data*, calling the appropriate handler " "functions to process the parsed data. *isfinal* must be true on the final " @@ -150,71 +198,71 @@ msgid "" "time." msgstr "" -#: ../../library/pyexpat.rst:138 +#: ../../library/pyexpat.rst:145 msgid "" "Parse XML data reading from the object *file*. *file* only needs to provide " "the ``read(nbytes)`` method, returning the empty string when there's no more " "data." msgstr "" -#: ../../library/pyexpat.rst:145 +#: ../../library/pyexpat.rst:152 msgid "" "Sets the base to be used for resolving relative URIs in system identifiers " "in declarations. Resolving relative identifiers is left to the application: " -"this value will be passed through as the *base* argument to the :func:" -"`ExternalEntityRefHandler`, :func:`NotationDeclHandler`, and :func:" -"`UnparsedEntityDeclHandler` functions." +"this value will be passed through as the *base* argument to " +"the :func:`ExternalEntityRefHandler`, :func:`NotationDeclHandler`, " +"and :func:`UnparsedEntityDeclHandler` functions." msgstr "" -#: ../../library/pyexpat.rst:154 +#: ../../library/pyexpat.rst:161 msgid "" -"Returns a string containing the base set by a previous call to :meth:" -"`SetBase`, or ``None`` if :meth:`SetBase` hasn't been called." +"Returns a string containing the base set by a previous call " +"to :meth:`SetBase`, or ``None`` if :meth:`SetBase` hasn't been called." msgstr "" -#: ../../library/pyexpat.rst:160 +#: ../../library/pyexpat.rst:167 msgid "" "Returns the input data that generated the current event as a string. The " "data is in the encoding of the entity which contains the text. When called " "while an event handler is not active, the return value is ``None``." msgstr "" -#: ../../library/pyexpat.rst:167 +#: ../../library/pyexpat.rst:174 msgid "" "Create a \"child\" parser which can be used to parse an external parsed " "entity referred to by content parsed by the parent parser. The *context* " -"parameter should be the string passed to the :meth:" -"`ExternalEntityRefHandler` handler function, described below. The child " -"parser is created with the :attr:`ordered_attributes` and :attr:" -"`specified_attributes` set to the values of this parser." +"parameter should be the string passed to " +"the :meth:`ExternalEntityRefHandler` handler function, described below. The " +"child parser is created with the :attr:`ordered_attributes` " +"and :attr:`specified_attributes` set to the values of this parser." msgstr "" -#: ../../library/pyexpat.rst:176 +#: ../../library/pyexpat.rst:183 msgid "" "Control parsing of parameter entities (including the external DTD subset). " -"Possible *flag* values are :const:`XML_PARAM_ENTITY_PARSING_NEVER`, :const:" -"`XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE` and :const:" -"`XML_PARAM_ENTITY_PARSING_ALWAYS`. Return true if setting the flag was " -"successful." +"Possible *flag* values " +"are :const:`XML_PARAM_ENTITY_PARSING_NEVER`, :const:`XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE` " +"and :const:`XML_PARAM_ENTITY_PARSING_ALWAYS`. Return true if setting the " +"flag was successful." msgstr "" -#: ../../library/pyexpat.rst:184 +#: ../../library/pyexpat.rst:191 msgid "" "Calling this with a true value for *flag* (the default) will cause Expat to " "call the :attr:`ExternalEntityRefHandler` with :const:`None` for all " "arguments to allow an alternate DTD to be loaded. If the document does not " "contain a document type declaration, the :attr:`ExternalEntityRefHandler` " -"will still be called, but the :attr:`StartDoctypeDeclHandler` and :attr:" -"`EndDoctypeDeclHandler` will not be called." +"will still be called, but the :attr:`StartDoctypeDeclHandler` " +"and :attr:`EndDoctypeDeclHandler` will not be called." msgstr "" -#: ../../library/pyexpat.rst:191 +#: ../../library/pyexpat.rst:198 msgid "" "Passing a false value for *flag* will cancel a previous call that passed a " "true value, but otherwise has no effect." msgstr "" -#: ../../library/pyexpat.rst:194 +#: ../../library/pyexpat.rst:201 msgid "" "This method can only be called before the :meth:`Parse` or :meth:`ParseFile` " "methods are called; calling it after either of those have been called " @@ -222,35 +270,194 @@ msgid "" "``errors.codes[errors.XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING]``." msgstr "" -#: ../../library/pyexpat.rst:199 +#: ../../library/pyexpat.rst:210 +msgid "" +"Calling ``SetReparseDeferralEnabled(False)`` has security implications, as " +"detailed below; please make sure to understand these consequences prior to " +"using the ``SetReparseDeferralEnabled`` method." +msgstr "" + +#: ../../library/pyexpat.rst:214 +msgid "" +"Expat 2.6.0 introduced a security mechanism called \"reparse deferral\" " +"where instead of causing denial of service through quadratic runtime from " +"reparsing large tokens, reparsing of unfinished tokens is now delayed by " +"default until a sufficient amount of input is reached. Due to this delay, " +"registered handlers may — depending of the sizing of input chunks pushed to " +"Expat — no longer be called right after pushing new input to the parser. " +"Where immediate feedback and taking over responsiblity of protecting against " +"denial of service from large tokens are both wanted, calling " +"``SetReparseDeferralEnabled(False)`` disables reparse deferral for the " +"current Expat parser instance, temporarily or altogether. Calling " +"``SetReparseDeferralEnabled(True)`` allows re-enabling reparse deferral." +msgstr "" + +#: ../../library/pyexpat.rst:227 +msgid "" +"Note that :meth:`SetReparseDeferralEnabled` has been backported to some " +"prior releases of CPython as a security fix. Check for availability " +"of :meth:`SetReparseDeferralEnabled` using :func:`hasattr` if used in code " +"running across a variety of Python versions." +msgstr "" + +#: ../../library/pyexpat.rst:236 +msgid "" +"Returns whether reparse deferral is currently enabled for the given Expat " +"parser instance." +msgstr "" + +#: ../../library/pyexpat.rst:242 +msgid "" +":class:`!xmlparser` objects have the following methods to tune protections " +"against some common XML vulnerabilities." +msgstr "" + +#: ../../library/pyexpat.rst:247 +msgid "" +"Sets the number of output bytes needed to activate protection against " +"`billion laughs`_ attacks." +msgstr "" + +#: ../../library/pyexpat.rst:250 +msgid "" +"The number of output bytes includes amplification from entity expansion and " +"reading DTD files." +msgstr "" + +#: ../../library/pyexpat.rst:253 +msgid "" +"Parser objects usually have a protection activation threshold of 8 MiB, but " +"the actual default value depends on the underlying Expat library." +msgstr "" + +#: ../../library/pyexpat.rst:256 ../../library/pyexpat.rst:308 +msgid "" +"An :exc:`ExpatError` is raised if this method is called on a |xml-non-root-" +"parser| parser. The corresponding :attr:`~ExpatError.lineno` " +"and :attr:`~ExpatError.offset` should not be used as they may have no " +"special meaning." +msgstr "" + +#: ../../library/pyexpat.rst:263 +msgid "" +"Activation thresholds below 4 MiB are known to break support for DITA 1.3 " +"payload and are hence not recommended." +msgstr "" + +#: ../../library/pyexpat.rst:270 +msgid "" +"Sets the maximum tolerated amplification factor for protection against " +"`billion laughs`_ attacks." +msgstr "" + +#: ../../library/pyexpat.rst:273 +msgid "" +"The amplification factor is calculated as ``(direct + indirect) / direct`` " +"while parsing, where ``direct`` is the number of bytes read from the primary " +"document in parsing and ``indirect`` is the number of bytes added by " +"expanding entities and reading of external DTD files." +msgstr "" + +#: ../../library/pyexpat.rst:278 +msgid "" +"The *max_factor* value must be a non-NaN :class:`float` value greater than " +"or equal to 1.0. Peak amplifications of factor 15,000 for the entire payload " +"and of factor 30,000 in the middle of parsing have been observed with small " +"benign files in practice. In particular, the activation threshold should be " +"carefully chosen to avoid false positives." +msgstr "" + +#: ../../library/pyexpat.rst:284 ../../library/pyexpat.rst:330 +msgid "" +"Parser objects usually have a maximum amplification factor of 100, but the " +"actual default value depends on the underlying Expat library." +msgstr "" + +#: ../../library/pyexpat.rst:287 ../../library/pyexpat.rst:333 +msgid "" +"An :exc:`ExpatError` is raised if this method is called on a |xml-non-root-" +"parser| parser or if *max_factor* is outside the valid range. The " +"corresponding :attr:`~ExpatError.lineno` and :attr:`~ExpatError.offset` " +"should not be used as they may have no special meaning." +msgstr "" + +#: ../../library/pyexpat.rst:294 +msgid "" +"The maximum amplification factor is only considered if the threshold that " +"can be adjusted " +"by :meth:`.SetBillionLaughsAttackProtectionActivationThreshold` is exceeded." +msgstr "" + +#: ../../library/pyexpat.rst:302 +msgid "" +"Sets the number of allocated bytes of dynamic memory needed to activate " +"protection against disproportionate use of RAM." +msgstr "" + +#: ../../library/pyexpat.rst:305 +msgid "" +"Parser objects usually have an allocation activation threshold of 64 MiB, " +"but the actual default value depends on the underlying Expat library." +msgstr "" + +#: ../../library/pyexpat.rst:317 +msgid "" +"Sets the maximum amplification factor between direct input and bytes of " +"dynamic memory allocated." +msgstr "" + +#: ../../library/pyexpat.rst:320 +msgid "" +"The amplification factor is calculated as ``allocated / direct`` while " +"parsing, where ``direct`` is the number of bytes read from the primary " +"document in parsing and ``allocated`` is the number of bytes of dynamic " +"memory allocated in the parser hierarchy." +msgstr "" + +#: ../../library/pyexpat.rst:325 +msgid "" +"The *max_factor* value must be a non-NaN :class:`float` value greater than " +"or equal to 1.0. Amplification factors greater than 100.0 can be observed " +"near the start of parsing even with benign files in practice. In particular, " +"the activation threshold should be carefully chosen to avoid false positives." +msgstr "" + +#: ../../library/pyexpat.rst:340 +msgid "" +"The maximum amplification factor is only considered if the threshold that " +"can be adjusted by :meth:`.SetAllocTrackerActivationThreshold` is exceeded." +msgstr "" + +#: ../../library/pyexpat.rst:347 msgid ":class:`xmlparser` objects have the following attributes:" msgstr "" -#: ../../library/pyexpat.rst:204 +#: ../../library/pyexpat.rst:352 msgid "" "The size of the buffer used when :attr:`buffer_text` is true. A new buffer " "size can be set by assigning a new integer value to this attribute. When the " "size is changed, the buffer will be flushed." msgstr "" -#: ../../library/pyexpat.rst:212 +#: ../../library/pyexpat.rst:360 msgid "" "Setting this to true causes the :class:`xmlparser` object to buffer textual " -"content returned by Expat to avoid multiple calls to the :meth:" -"`CharacterDataHandler` callback whenever possible. This can improve " -"performance substantially since Expat normally breaks character data into " -"chunks at every line ending. This attribute is false by default, and may be " -"changed at any time." +"content returned by Expat to avoid multiple calls to " +"the :meth:`CharacterDataHandler` callback whenever possible. This can " +"improve performance substantially since Expat normally breaks character data " +"into chunks at every line ending. This attribute is false by default, and " +"may be changed at any time. Note that when it is false, data that does not " +"contain newlines may be chunked too." msgstr "" -#: ../../library/pyexpat.rst:222 +#: ../../library/pyexpat.rst:371 msgid "" "If :attr:`buffer_text` is enabled, the number of bytes stored in the buffer. " "These bytes represent UTF-8 encoded text. This attribute has no meaningful " "interpretation when :attr:`buffer_text` is false." msgstr "" -#: ../../library/pyexpat.rst:229 +#: ../../library/pyexpat.rst:378 msgid "" "Setting this attribute to a non-zero integer causes the attributes to be " "reported as a list rather than a dictionary. The attributes are presented " @@ -260,7 +467,7 @@ msgid "" "is false; it may be changed at any time." msgstr "" -#: ../../library/pyexpat.rst:239 +#: ../../library/pyexpat.rst:388 msgid "" "If set to a non-zero integer, the parser will report only those attributes " "which were specified in the document instance and not those which were " @@ -271,34 +478,34 @@ msgid "" "time." msgstr "" -#: ../../library/pyexpat.rst:247 +#: ../../library/pyexpat.rst:396 msgid "" "The following attributes contain values relating to the most recent error " "encountered by an :class:`xmlparser` object, and will only have correct " -"values once a call to :meth:`Parse` or :meth:`ParseFile` has raised an :exc:" -"`xml.parsers.expat.ExpatError` exception." +"values once a call to :meth:`Parse` or :meth:`ParseFile` has raised " +"an :exc:`xml.parsers.expat.ExpatError` exception." msgstr "" -#: ../../library/pyexpat.rst:255 +#: ../../library/pyexpat.rst:404 msgid "Byte index at which an error occurred." msgstr "" -#: ../../library/pyexpat.rst:260 +#: ../../library/pyexpat.rst:409 msgid "" -"Numeric code specifying the problem. This value can be passed to the :func:" -"`ErrorString` function, or compared to one of the constants defined in the " -"``errors`` object." +"Numeric code specifying the problem. This value can be passed to " +"the :func:`ErrorString` function, or compared to one of the constants " +"defined in the ``errors`` object." msgstr "" -#: ../../library/pyexpat.rst:267 +#: ../../library/pyexpat.rst:416 msgid "Column number at which an error occurred." msgstr "" -#: ../../library/pyexpat.rst:272 +#: ../../library/pyexpat.rst:421 msgid "Line number at which an error occurred." msgstr "" -#: ../../library/pyexpat.rst:274 +#: ../../library/pyexpat.rst:423 msgid "" "The following attributes contain values relating to the current parse " "location in an :class:`xmlparser` object. During a callback reporting a " @@ -308,28 +515,28 @@ msgid "" "whether there was an associated callback)." msgstr "" -#: ../../library/pyexpat.rst:284 +#: ../../library/pyexpat.rst:433 msgid "Current byte index in the parser input." msgstr "" -#: ../../library/pyexpat.rst:289 +#: ../../library/pyexpat.rst:438 msgid "Current column number in the parser input." msgstr "" -#: ../../library/pyexpat.rst:294 +#: ../../library/pyexpat.rst:443 msgid "Current line number in the parser input." msgstr "" -#: ../../library/pyexpat.rst:296 +#: ../../library/pyexpat.rst:445 msgid "" -"Here is the list of handlers that can be set. To set a handler on an :class:" -"`xmlparser` object *o*, use ``o.handlername = func``. *handlername* must be " -"taken from the following list, and *func* must be a callable object " -"accepting the correct number of arguments. The arguments are all strings, " -"unless otherwise stated." +"Here is the list of handlers that can be set. To set a handler on " +"an :class:`xmlparser` object *o*, use ``o.handlername = func``. " +"*handlername* must be taken from the following list, and *func* must be a " +"callable object accepting the correct number of arguments. The arguments " +"are all strings, unless otherwise stated." msgstr "" -#: ../../library/pyexpat.rst:305 +#: ../../library/pyexpat.rst:454 msgid "" "Called when the XML declaration is parsed. The XML declaration is the " "(optional) declaration of the applicable version of the XML recommendation, " @@ -340,7 +547,7 @@ msgid "" "only available with Expat version 1.95.0 or newer." msgstr "" -#: ../../library/pyexpat.rst:316 +#: ../../library/pyexpat.rst:465 msgid "" "Called when Expat begins parsing the document type declaration (``'``." msgstr "" -#: ../../library/pyexpat.rst:430 +#: ../../library/pyexpat.rst:582 msgid "" -"Called at the start of a CDATA section. This and :attr:" -"`EndCdataSectionHandler` are needed to be able to identify the syntactical " -"start and end for CDATA sections." +"Called at the start of a CDATA section. This " +"and :attr:`EndCdataSectionHandler` are needed to be able to identify the " +"syntactical start and end for CDATA sections." msgstr "" -#: ../../library/pyexpat.rst:437 +#: ../../library/pyexpat.rst:589 msgid "Called at the end of a CDATA section." msgstr "" -#: ../../library/pyexpat.rst:442 +#: ../../library/pyexpat.rst:594 msgid "" "Called for any characters in the XML document for which no applicable " "handler has been specified. This means characters that are part of a " @@ -471,14 +682,14 @@ msgid "" "supplied." msgstr "" -#: ../../library/pyexpat.rst:449 +#: ../../library/pyexpat.rst:601 msgid "" "This is the same as the :func:`DefaultHandler`, but doesn't inhibit " "expansion of internal entities. The entity reference will not be passed to " "the default handler." msgstr "" -#: ../../library/pyexpat.rst:456 +#: ../../library/pyexpat.rst:608 msgid "" "Called if the XML document hasn't been declared as being a standalone " "document. This happens when there is an external subset or a reference to a " @@ -488,7 +699,7 @@ msgid "" "set, no exception is raised by the parser for this condition." msgstr "" -#: ../../library/pyexpat.rst:466 +#: ../../library/pyexpat.rst:618 msgid "" "Called for references to external entities. *base* is the current base, as " "set by a previous call to :meth:`SetBase`. The public and system " @@ -497,355 +708,356 @@ msgid "" "is opaque and should only be used as described below." msgstr "" -#: ../../library/pyexpat.rst:472 +#: ../../library/pyexpat.rst:624 msgid "" "For external entities to be parsed, this handler must be implemented. It is " "responsible for creating the sub-parser using " "``ExternalEntityParserCreate(context)``, initializing it with the " "appropriate callbacks, and parsing the entity. This handler should return " -"an integer; if it returns ``0``, the parser will raise an :const:" -"`XML_ERROR_EXTERNAL_ENTITY_HANDLING` error, otherwise parsing will continue." +"an integer; if it returns ``0``, the parser will raise " +"an :const:`XML_ERROR_EXTERNAL_ENTITY_HANDLING` error, otherwise parsing will " +"continue." msgstr "" -#: ../../library/pyexpat.rst:480 +#: ../../library/pyexpat.rst:632 msgid "" -"If this handler is not provided, external entities are reported by the :attr:" -"`DefaultHandler` callback, if provided." +"If this handler is not provided, external entities are reported by " +"the :attr:`DefaultHandler` callback, if provided." msgstr "" -#: ../../library/pyexpat.rst:487 +#: ../../library/pyexpat.rst:639 msgid "ExpatError Exceptions" msgstr "Exceções ExpatError" -#: ../../library/pyexpat.rst:492 +#: ../../library/pyexpat.rst:644 msgid ":exc:`ExpatError` exceptions have a number of interesting attributes:" msgstr "" -#: ../../library/pyexpat.rst:497 +#: ../../library/pyexpat.rst:649 msgid "" -"Expat's internal error number for the specific error. The :data:`errors." -"messages ` dictionary maps these error " -"numbers to Expat's error messages. For example::" +"Expat's internal error number for the specific error. " +"The :data:`errors.messages ` dictionary " +"maps these error numbers to Expat's error messages. For example::" msgstr "" -#: ../../library/pyexpat.rst:509 +#: ../../library/pyexpat.rst:661 msgid "" "The :mod:`~xml.parsers.expat.errors` module also provides error message " "constants and a dictionary :data:`~xml.parsers.expat.errors.codes` mapping " "these messages back to the error codes, see below." msgstr "" -#: ../../library/pyexpat.rst:516 +#: ../../library/pyexpat.rst:668 msgid "" "Line number on which the error was detected. The first line is numbered " "``1``." msgstr "" -#: ../../library/pyexpat.rst:521 +#: ../../library/pyexpat.rst:673 msgid "" "Character offset into the line where the error occurred. The first column " "is numbered ``0``." msgstr "" -#: ../../library/pyexpat.rst:528 +#: ../../library/pyexpat.rst:680 msgid "Example" msgstr "Exemplo" -#: ../../library/pyexpat.rst:530 +#: ../../library/pyexpat.rst:682 msgid "" "The following program defines three handlers that just print out their " "arguments. ::" msgstr "" -#: ../../library/pyexpat.rst:554 +#: ../../library/pyexpat.rst:706 msgid "The output from this program is::" msgstr "" -#: ../../library/pyexpat.rst:571 +#: ../../library/pyexpat.rst:723 msgid "Content Model Descriptions" msgstr "" -#: ../../library/pyexpat.rst:577 +#: ../../library/pyexpat.rst:729 msgid "" "Content models are described using nested tuples. Each tuple contains four " "values: the type, the quantifier, the name, and a tuple of children. " "Children are simply additional content model descriptions." msgstr "" -#: ../../library/pyexpat.rst:581 +#: ../../library/pyexpat.rst:733 msgid "" -"The values of the first two fields are constants defined in the :mod:`xml." -"parsers.expat.model` module. These constants can be collected in two " -"groups: the model type group and the quantifier group." +"The values of the first two fields are constants defined in " +"the :mod:`xml.parsers.expat.model` module. These constants can be collected " +"in two groups: the model type group and the quantifier group." msgstr "" -#: ../../library/pyexpat.rst:585 +#: ../../library/pyexpat.rst:737 msgid "The constants in the model type group are:" msgstr "" -#: ../../library/pyexpat.rst:591 +#: ../../library/pyexpat.rst:743 msgid "" "The element named by the model name was declared to have a content model of " "``ANY``." msgstr "" -#: ../../library/pyexpat.rst:598 +#: ../../library/pyexpat.rst:750 msgid "" "The named element allows a choice from a number of options; this is used for " "content models such as ``(A | B | C)``." msgstr "" -#: ../../library/pyexpat.rst:605 +#: ../../library/pyexpat.rst:757 msgid "Elements which are declared to be ``EMPTY`` have this model type." -msgstr "" +msgstr "Elementos declarados como ``EMPTY`` têm este tipo de modelo." -#: ../../library/pyexpat.rst:619 +#: ../../library/pyexpat.rst:771 msgid "" "Models which represent a series of models which follow one after the other " "are indicated with this model type. This is used for models such as ``(A, " "B, C)``." msgstr "" -#: ../../library/pyexpat.rst:622 +#: ../../library/pyexpat.rst:774 msgid "The constants in the quantifier group are:" msgstr "" -#: ../../library/pyexpat.rst:628 +#: ../../library/pyexpat.rst:780 msgid "No modifier is given, so it can appear exactly once, as for ``A``." msgstr "" -#: ../../library/pyexpat.rst:634 +#: ../../library/pyexpat.rst:786 msgid "The model is optional: it can appear once or not at all, as for ``A?``." msgstr "" -#: ../../library/pyexpat.rst:640 +#: ../../library/pyexpat.rst:792 msgid "The model must occur one or more times (like ``A+``)." msgstr "" -#: ../../library/pyexpat.rst:646 +#: ../../library/pyexpat.rst:798 msgid "The model must occur zero or more times, as for ``A*``." msgstr "" -#: ../../library/pyexpat.rst:652 +#: ../../library/pyexpat.rst:804 msgid "Expat error constants" -msgstr "" +msgstr "Constantes de erro de expatriados" -#: ../../library/pyexpat.rst:656 +#: ../../library/pyexpat.rst:808 msgid "" "The following constants are provided in the :mod:`xml.parsers.expat.errors` " "module. These constants are useful in interpreting some of the attributes " "of the :exc:`ExpatError` exception objects raised when an error has " "occurred. Since for backwards compatibility reasons, the constants' value is " "the error *message* and not the numeric error *code*, you do this by " -"comparing its :attr:`code` attribute with :samp:`errors.codes[errors." -"XML_ERROR_{CONSTANT_NAME}]`." +"comparing its :attr:`code` attribute " +"with :samp:`errors.codes[errors.XML_ERROR_{CONSTANT_NAME}]`." msgstr "" -#: ../../library/pyexpat.rst:664 +#: ../../library/pyexpat.rst:816 msgid "The ``errors`` module has the following attributes:" msgstr "" -#: ../../library/pyexpat.rst:668 +#: ../../library/pyexpat.rst:820 msgid "A dictionary mapping string descriptions to their error codes." msgstr "" -#: ../../library/pyexpat.rst:675 +#: ../../library/pyexpat.rst:827 msgid "A dictionary mapping numeric error codes to their string descriptions." msgstr "" -#: ../../library/pyexpat.rst:685 +#: ../../library/pyexpat.rst:837 msgid "" "An entity reference in an attribute value referred to an external entity " "instead of an internal entity." msgstr "" -#: ../../library/pyexpat.rst:691 +#: ../../library/pyexpat.rst:843 msgid "" "A character reference referred to a character which is illegal in XML (for " "example, character ``0``, or '``�``')." msgstr "" -#: ../../library/pyexpat.rst:697 +#: ../../library/pyexpat.rst:849 msgid "" "An entity reference referred to an entity which was declared with a " "notation, so cannot be parsed." msgstr "" -#: ../../library/pyexpat.rst:703 +#: ../../library/pyexpat.rst:855 msgid "An attribute was used more than once in a start tag." msgstr "" -#: ../../library/pyexpat.rst:711 +#: ../../library/pyexpat.rst:863 msgid "" "Raised when an input byte could not properly be assigned to a character; for " "example, a NUL byte (value ``0``) in a UTF-8 input stream." msgstr "" -#: ../../library/pyexpat.rst:717 +#: ../../library/pyexpat.rst:869 msgid "Something other than whitespace occurred after the document element." msgstr "" -#: ../../library/pyexpat.rst:722 +#: ../../library/pyexpat.rst:874 msgid "" "An XML declaration was found somewhere other than the start of the input " "data." msgstr "" -#: ../../library/pyexpat.rst:727 +#: ../../library/pyexpat.rst:879 msgid "" "The document contains no elements (XML requires all documents to contain " "exactly one top-level element).." msgstr "" -#: ../../library/pyexpat.rst:733 +#: ../../library/pyexpat.rst:885 msgid "Expat was not able to allocate memory internally." msgstr "" -#: ../../library/pyexpat.rst:738 +#: ../../library/pyexpat.rst:890 msgid "A parameter entity reference was found where it was not allowed." msgstr "" -#: ../../library/pyexpat.rst:743 +#: ../../library/pyexpat.rst:895 msgid "An incomplete character was found in the input." msgstr "" -#: ../../library/pyexpat.rst:748 +#: ../../library/pyexpat.rst:900 msgid "" "An entity reference contained another reference to the same entity; possibly " "via a different name, and possibly indirectly." msgstr "" -#: ../../library/pyexpat.rst:754 +#: ../../library/pyexpat.rst:906 msgid "Some unspecified syntax error was encountered." msgstr "" -#: ../../library/pyexpat.rst:759 +#: ../../library/pyexpat.rst:911 msgid "An end tag did not match the innermost open start tag." msgstr "" -#: ../../library/pyexpat.rst:764 +#: ../../library/pyexpat.rst:916 msgid "" "Some token (such as a start tag) was not closed before the end of the stream " "or the next token was encountered." msgstr "" -#: ../../library/pyexpat.rst:770 +#: ../../library/pyexpat.rst:922 msgid "A reference was made to an entity which was not defined." msgstr "" -#: ../../library/pyexpat.rst:775 +#: ../../library/pyexpat.rst:927 msgid "The document encoding is not supported by Expat." msgstr "" -#: ../../library/pyexpat.rst:780 +#: ../../library/pyexpat.rst:932 msgid "A CDATA marked section was not closed." msgstr "" -#: ../../library/pyexpat.rst:788 +#: ../../library/pyexpat.rst:940 msgid "" "The parser determined that the document was not \"standalone\" though it " -"declared itself to be in the XML declaration, and the :attr:" -"`NotStandaloneHandler` was set and returned ``0``." +"declared itself to be in the XML declaration, and " +"the :attr:`NotStandaloneHandler` was set and returned ``0``." msgstr "" -#: ../../library/pyexpat.rst:801 +#: ../../library/pyexpat.rst:953 msgid "" "An operation was requested that requires DTD support to be compiled in, but " "Expat was configured without DTD support. This should never be reported by " "a standard build of the :mod:`xml.parsers.expat` module." msgstr "" -#: ../../library/pyexpat.rst:808 +#: ../../library/pyexpat.rst:960 msgid "" "A behavioral change was requested after parsing started that can only be " -"changed before parsing has started. This is (currently) only raised by :" -"meth:`UseForeignDTD`." +"changed before parsing has started. This is (currently) only raised " +"by :meth:`UseForeignDTD`." msgstr "" -#: ../../library/pyexpat.rst:815 +#: ../../library/pyexpat.rst:967 msgid "An undeclared prefix was found when namespace processing was enabled." msgstr "" -#: ../../library/pyexpat.rst:820 +#: ../../library/pyexpat.rst:972 msgid "" "The document attempted to remove the namespace declaration associated with a " "prefix." msgstr "" -#: ../../library/pyexpat.rst:826 +#: ../../library/pyexpat.rst:978 msgid "A parameter entity contained incomplete markup." msgstr "" -#: ../../library/pyexpat.rst:831 +#: ../../library/pyexpat.rst:983 msgid "The document contained no document element at all." msgstr "" -#: ../../library/pyexpat.rst:836 +#: ../../library/pyexpat.rst:988 msgid "There was an error parsing a text declaration in an external entity." msgstr "" -#: ../../library/pyexpat.rst:841 +#: ../../library/pyexpat.rst:993 msgid "Characters were found in the public id that are not allowed." msgstr "" -#: ../../library/pyexpat.rst:846 +#: ../../library/pyexpat.rst:998 msgid "" "The requested operation was made on a suspended parser, but isn't allowed. " "This includes attempts to provide additional input or to stop the parser." msgstr "" -#: ../../library/pyexpat.rst:852 +#: ../../library/pyexpat.rst:1004 msgid "" "An attempt to resume the parser was made when the parser had not been " "suspended." msgstr "" -#: ../../library/pyexpat.rst:857 ../../library/pyexpat.rst:890 -#: ../../library/pyexpat.rst:895 +#: ../../library/pyexpat.rst:1009 ../../library/pyexpat.rst:1042 +#: ../../library/pyexpat.rst:1047 msgid "This should not be reported to Python applications." msgstr "" -#: ../../library/pyexpat.rst:862 +#: ../../library/pyexpat.rst:1014 msgid "" "The requested operation was made on a parser which was finished parsing " "input, but isn't allowed. This includes attempts to provide additional " "input or to stop the parser." msgstr "" -#: ../../library/pyexpat.rst:872 +#: ../../library/pyexpat.rst:1024 msgid "" "An attempt was made to undeclare reserved namespace prefix ``xml`` or to " "bind it to another namespace URI." msgstr "" -#: ../../library/pyexpat.rst:879 +#: ../../library/pyexpat.rst:1031 msgid "" "An attempt was made to declare or undeclare reserved namespace prefix " "``xmlns``." msgstr "" -#: ../../library/pyexpat.rst:884 +#: ../../library/pyexpat.rst:1036 msgid "" "An attempt was made to bind the URI of one the reserved namespace prefixes " "``xml`` and ``xmlns`` to another namespace prefix." msgstr "" -#: ../../library/pyexpat.rst:900 +#: ../../library/pyexpat.rst:1052 msgid "" "The limit on input amplification factor (from DTD and entities) has been " "breached." msgstr "" -#: ../../library/pyexpat.rst:905 +#: ../../library/pyexpat.rst:1057 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/pyexpat.rst:906 +#: ../../library/pyexpat.rst:1058 msgid "" "The encoding string included in XML output should conform to the appropriate " "standards. For example, \"UTF-8\" is valid, but \"UTF8\" is not. See https://" -"www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl and https://www.iana." -"org/assignments/character-sets/character-sets.xhtml." +"www.w3.org/TR/2006/REC-xml11-20060816/#NT-EncodingDecl and https://" +"www.iana.org/assignments/character-sets/character-sets.xhtml." msgstr "" #: ../../library/pyexpat.rst:26 diff --git a/library/python.po b/library/python.po index dad873112..93f80115b 100644 --- a/library/python.po +++ b/library/python.po @@ -1,26 +1,25 @@ # 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: -# Raphael Mendonça, 2021 -# Italo Penaforte , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Italo Penaforte , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/queue.po b/library/queue.po index 51b18e95d..2c21fe62a 100644 --- a/library/queue.po +++ b/library/queue.po @@ -1,26 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-21 21:52+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -50,6 +50,14 @@ msgid "" "kept sorted (using the :mod:`heapq` module) and the lowest valued entry is " "retrieved first." msgstr "" +"O módulo implementa três tipos de fila, que diferem apenas na ordem em que " +"os itens são recuperados. Em uma fila :abbr:`FIFO (primeiro a entrar, " +"primeiro a sair)`, as primeiras tarefas adicionadas são as primeiras a ser " +"recuperadas. Em uma fila :abbr:`LIFO (último a entrar, primeiro a sair)`, o " +"item adicionado mais recentemente é o primeiro a ser recuperado (funcionando " +"como uma pilha). Em uma fila de prioridade, os itens são mantidos ordenados " +"(utilizando o módulo :mod:`heapq`) e o item de menor valor é recuperado " +"primeiro." #: ../../library/queue.rst:24 msgid "" @@ -57,6 +65,9 @@ msgid "" "competing threads; however, they are not designed to handle reentrancy " "within a thread." msgstr "" +"Internamente, esses três tipos de filas utilizam travas para bloquear " +"temporariamente threads concorrentes; no entanto, não foram projetados para " +"lidar com a reentrância dentro de uma mesma thread." #: ../../library/queue.rst:28 msgid "" @@ -64,6 +75,10 @@ msgid "" "out)` queue type, :class:`SimpleQueue`, whose specific implementation " "provides additional guarantees in exchange for the smaller functionality." msgstr "" +"Além disso, o módulo implementa um tipo \"simples\" de fila :abbr:`FIFO " +"(primeiro a entrar, primeiro a sair)`, :class:`SimpleQueue`, cuja " +"implementação específica oferece garantias adicionais em troca de uma " +"funcionalidade mais reduzida." #: ../../library/queue.rst:33 msgid "The :mod:`queue` module defines the following classes and exceptions:" @@ -117,14 +132,16 @@ msgstr "" #: ../../library/queue.rst:84 msgid "" -"Exception raised when non-blocking :meth:`~Queue.get` (or :meth:`~Queue." -"get_nowait`) is called on a :class:`Queue` object which is empty." +"Exception raised when non-blocking :meth:`~Queue.get` " +"(or :meth:`~Queue.get_nowait`) is called on a :class:`Queue` object which is " +"empty." msgstr "" #: ../../library/queue.rst:91 msgid "" -"Exception raised when non-blocking :meth:`~Queue.put` (or :meth:`~Queue." -"put_nowait`) is called on a :class:`Queue` object which is full." +"Exception raised when non-blocking :meth:`~Queue.put` " +"(or :meth:`~Queue.put_nowait`) is called on a :class:`Queue` object which is " +"full." msgstr "" #: ../../library/queue.rst:99 @@ -133,8 +150,8 @@ msgstr "Objetos Queue" #: ../../library/queue.rst:101 msgid "" -"Queue objects (:class:`Queue`, :class:`LifoQueue`, or :class:" -"`PriorityQueue`) provide the public methods described below." +"Queue objects (:class:`Queue`, :class:`LifoQueue`, " +"or :class:`PriorityQueue`) provide the public methods described below." msgstr "" #: ../../library/queue.rst:107 @@ -191,8 +208,8 @@ msgid "" "Prior to 3.0 on POSIX systems, and for all versions on Windows, if *block* " "is true and *timeout* is ``None``, this operation goes into an " "uninterruptible wait on an underlying lock. This means that no exceptions " -"can occur, and in particular a SIGINT will not trigger a :exc:" -"`KeyboardInterrupt`." +"can occur, and in particular a SIGINT will not trigger " +"a :exc:`KeyboardInterrupt`." msgstr "" #: ../../library/queue.rst:161 ../../library/queue.rst:268 @@ -208,8 +225,9 @@ msgstr "" #: ../../library/queue.rst:169 msgid "" "Indicate that a formerly enqueued task is complete. Used by queue consumer " -"threads. For each :meth:`get` used to fetch a task, a subsequent call to :" -"meth:`task_done` tells the queue that the processing on the task is complete." +"threads. For each :meth:`get` used to fetch a task, a subsequent call " +"to :meth:`task_done` tells the queue that the processing on the task is " +"complete." msgstr "" #: ../../library/queue.rst:173 @@ -224,6 +242,8 @@ msgid "" "Raises a :exc:`ValueError` if called more times than there were items placed " "in the queue." msgstr "" +"Levanta :exc:`ValueError` se for chamado mais vezes do que o número de itens " +"colocados na fila." #: ../../library/queue.rst:183 msgid "Blocks until all items in the queue have been gotten and processed." @@ -232,10 +252,10 @@ msgstr "" #: ../../library/queue.rst:185 msgid "" "The count of unfinished tasks goes up whenever an item is added to the " -"queue. The count goes down whenever a consumer thread calls :meth:" -"`task_done` to indicate that the item was retrieved and all work on it is " -"complete. When the count of unfinished tasks drops to zero, :meth:`join` " -"unblocks." +"queue. The count goes down whenever a consumer thread " +"calls :meth:`task_done` to indicate that the item was retrieved and all work " +"on it is complete. When the count of unfinished tasks drops to " +"zero, :meth:`join` unblocks." msgstr "" #: ../../library/queue.rst:191 @@ -283,8 +303,8 @@ msgstr "" #: ../../library/queue.rst:252 msgid "" -"Equivalent to ``put(item, block=False)``, provided for compatibility with :" -"meth:`Queue.put_nowait`." +"Equivalent to ``put(item, block=False)``, provided for compatibility " +"with :meth:`Queue.put_nowait`." msgstr "" #: ../../library/queue.rst:275 @@ -300,7 +320,7 @@ msgstr "" #: ../../library/queue.rst:277 msgid "" ":class:`collections.deque` is an alternative implementation of unbounded " -"queues with fast atomic :meth:`~collections.deque.append` and :meth:" -"`~collections.deque.popleft` operations that do not require locking and also " -"support indexing." +"queues with fast atomic :meth:`~collections.deque.append` " +"and :meth:`~collections.deque.popleft` operations that do not require " +"locking and also support indexing." msgstr "" diff --git a/library/quopri.po b/library/quopri.po index 5874b21eb..1565d97af 100644 --- a/library/quopri.po +++ b/library/quopri.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -47,9 +47,9 @@ msgstr "" "Mail Extensions) Part One: Mechanisms for Specifying and Describing the " "Format of Internet Message Bodies\". A codificação imprimida entre aspas é " "projetada para dados em que há relativamente poucos caracteres não " -"imprimíveis; o esquema de codificação base64 disponível através do módulo :" -"mod:`base64` é mais compacto se existirem muitos desses caracteres, como no " -"envio de um arquivo gráfico." +"imprimíveis; o esquema de codificação base64 disponível através do " +"módulo :mod:`base64` é mais compacto se existirem muitos desses caracteres, " +"como no envio de um arquivo gráfico." #: ../../library/quopri.rst:25 msgid "" @@ -61,8 +61,8 @@ msgid "" "Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text\"." msgstr "" "Decodifica o conteúdo do arquivo *input* e escreve os dados binários " -"decodificados resultantes no arquivo *output*. *input* e *output* devem ser :" -"term:`objetos arquivos binários `. Se o argumento opcional " +"decodificados resultantes no arquivo *output*. *input* e *output* devem " +"ser :term:`objetos arquivos binários `. Se o argumento opcional " "*header* estiver presente e for true, o sublinhado será decodificado como " "espaço. Isso é usado para decodificar cabeçalhos codificados em \"Q\", " "conforme descrito em :rfc:`1522`: \"MIME (Multipurpose Internet Mail " @@ -71,23 +71,23 @@ msgstr "" #: ../../library/quopri.rst:35 msgid "" "Encode the contents of the *input* file and write the resulting quoted-" -"printable data to the *output* file. *input* and *output* must be :term:" -"`binary file objects `. *quotetabs*, a non-optional flag which " -"controls whether to encode embedded spaces and tabs; when true it encodes " -"such embedded whitespace, and when false it leaves them unencoded. Note that " -"spaces and tabs appearing at the end of lines are always encoded, as per :" -"rfc:`1521`. *header* is a flag which controls if spaces are encoded as " -"underscores as per :rfc:`1522`." +"printable data to the *output* file. *input* and *output* must " +"be :term:`binary file objects `. *quotetabs*, a non-optional " +"flag which controls whether to encode embedded spaces and tabs; when true it " +"encodes such embedded whitespace, and when false it leaves them unencoded. " +"Note that spaces and tabs appearing at the end of lines are always encoded, " +"as per :rfc:`1521`. *header* is a flag which controls if spaces are encoded " +"as underscores as per :rfc:`1522`." msgstr "" "Codifica o conteúdo do arquivo *input* e grava os dados imprimíveis entre " -"aspas resultantes no arquivo *output*. *input* e *output* devem ser :term:" -"`objetos arquivos binários `. *quotetabs*, um sinalizador não " -"opcional que controla a codificação de espaços e tabulações incorporados; " -"quando true, codifica esses espaços em branco incorporados e, quando false, " -"os deixa sem codificação. Observe que os espaços e tabulações que aparecem " -"no final das linhas são sempre codificados, conforme :rfc:`1521`. *header* é " -"um sinalizador que controla se os espaços são codificados como sublinhados, " -"conforme :rfc:`1522`." +"aspas resultantes no arquivo *output*. *input* e *output* devem " +"ser :term:`objetos arquivos binários `. *quotetabs*, um " +"sinalizador não opcional que controla a codificação de espaços e tabulações " +"incorporados; quando true, codifica esses espaços em branco incorporados e, " +"quando false, os deixa sem codificação. Observe que os espaços e tabulações " +"que aparecem no final das linhas são sempre codificados, " +"conforme :rfc:`1521`. *header* é um sinalizador que controla se os espaços " +"são codificados como sublinhados, conforme :rfc:`1522`." #: ../../library/quopri.rst:48 msgid "" @@ -117,7 +117,7 @@ msgstr "Codifica e decodifica dados de base64 MIME" #: ../../library/quopri.rst:9 msgid "quoted-printable" -msgstr "" +msgstr "imprimíveis entre aspas" #: ../../library/quopri.rst:9 msgid "encoding" @@ -125,8 +125,8 @@ msgstr "codificação" #: ../../library/quopri.rst:9 msgid "MIME" -msgstr "" +msgstr "MIME" #: ../../library/quopri.rst:9 msgid "quoted-printable encoding" -msgstr "" +msgstr "codificação de imprimíveis entre aspas" diff --git a/library/random.po b/library/random.po index ca575f01c..859bcc2c9 100644 --- a/library/random.po +++ b/library/random.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# i17obot , 2021 -# Adorilson Bezerra , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -51,7 +48,7 @@ msgid "" msgstr "" "Para números inteiros, há uma seleção uniforme de um intervalo. Para " "sequências, há uma seleção uniforme de um elemento aleatório, uma função " -"para gerar uma permutação aleatória de uma lista internamanete e uma função " +"para gerar uma permutação aleatória de uma lista localmente e uma função " "para amostragem aleatória sem substituição." #: ../../library/random.rst:19 @@ -75,6 +72,15 @@ msgid "" "However, being completely deterministic, it is not suitable for all " "purposes, and is completely unsuitable for cryptographic purposes." msgstr "" +"Quase todas as funções do módulo dependem da função básica :func:`.random`, " +"que gera um ponto flutuante aleatório uniformemente no intervalo semiaberto " +"``0.0 <= X < 1.0``. Python usa o Mersenne Twister como gerador de núcleo. " +"Produz pontos flutuantes de precisão de 53 bits e possui um período de " +"2\\*\\*19937-1. A implementação subjacente em C é rápida e segura para " +"threads. O Mersenne Twister é um dos geradores de números aleatórios mais " +"amplamente testados existentes. No entanto, sendo completamente " +"determinístico, não é adequado para todos os fins e é totalmente inadequado " +"para fins criptográficos." #: ../../library/random.rst:32 msgid "" @@ -90,20 +96,14 @@ msgstr "" #: ../../library/random.rst:36 msgid "" "Class :class:`Random` can also be subclassed if you want to use a different " -"basic generator of your own devising: in that case, override the :meth:" -"`~Random.random`, :meth:`~Random.seed`, :meth:`~Random.getstate`, and :meth:" -"`~Random.setstate` methods. Optionally, a new generator can supply a :meth:" -"`~Random.getrandbits` method --- this allows :meth:`randrange` to produce " -"selections over an arbitrarily large range." +"basic generator of your own devising: see the documentation on that class " +"for more details." msgstr "" -"A classe :class:`Random` também pode ser usado como subclasse se você quiser " -"usar um gerador básico diferente de sua preferência: nesse caso, substitua " -"os métodos :meth:`~Random.random`, :meth:`~Random.seed`, :meth:`~Random." -"getstate` e :meth:`~Random.setstate`. Opcionalmente, um novo gerador pode " -"fornecer um método :meth:`~Random.getrandbits` --- isso permite que :meth:" -"`randrange` produza seleções a um intervalo grande arbitrário." +"A classe :class:`Random` também pode ser subclassificada se você quiser usar " +"um gerador básico diferente de sua própria criação: veja a documentação " +"dessa classe para mais detalhes." -#: ../../library/random.rst:42 +#: ../../library/random.rst:40 msgid "" "The :mod:`random` module also provides the :class:`SystemRandom` class which " "uses the system function :func:`os.urandom` to generate random numbers from " @@ -113,7 +113,7 @@ msgstr "" "a função do sistema :func:`os.urandom` para gerar números aleatórios a " "partir de fontes fornecidas pelo sistema operacional." -#: ../../library/random.rst:48 +#: ../../library/random.rst:46 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." @@ -121,7 +121,7 @@ msgstr "" "Os geradores pseudoaleatórios deste módulo não devem ser usados para fins de " "segurança. Para segurança ou uso criptográfico, veja o módulo :mod:`secrets`." -#: ../../library/random.rst:54 +#: ../../library/random.rst:52 msgid "" "M. Matsumoto and T. Nishimura, \"Mersenne Twister: A 623-dimensionally " "equidistributed uniform pseudorandom number generator\", ACM Transactions on " @@ -131,7 +131,7 @@ msgstr "" "equidistributed uniform pseudorandom number generator\", ACM Transactions on " "Modeling and Computer Simulation Vol. 8, No. 1, January pp.3--30 1998." -#: ../../library/random.rst:59 +#: ../../library/random.rst:57 msgid "" "`Complementary-Multiply-with-Carry recipe `_ for a compatible alternative random number generator with " @@ -142,15 +142,15 @@ msgstr "" "compatível com um longo período e operações de atualização comparativamente " "simples." -#: ../../library/random.rst:66 +#: ../../library/random.rst:64 msgid "Bookkeeping functions" msgstr "Funções de contabilidade" -#: ../../library/random.rst:70 +#: ../../library/random.rst:68 msgid "Initialize the random number generator." msgstr "Inicializa o gerador de números aleatórios." -#: ../../library/random.rst:72 +#: ../../library/random.rst:70 msgid "" "If *a* is omitted or ``None``, the current system time is used. If " "randomness sources are provided by the operating system, they are used " @@ -162,21 +162,21 @@ msgstr "" "usadas no lugar da hora do sistema (consulte a função :func:`os.urandom` " "para detalhes sobre disponibilidade)." -#: ../../library/random.rst:77 +#: ../../library/random.rst:75 msgid "If *a* is an int, it is used directly." msgstr "Se *a* é um int, ele é usado diretamente." -#: ../../library/random.rst:79 +#: ../../library/random.rst:77 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." +"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 "" -"Com a versão 2 (o padrão), o objeto a :class:`str`, :class:`bytes` ou :class:" -"`bytearray` é convertido em um objeto :class:`int` e todos os seus bits são " -"usados." +"Com a versão 2 (o padrão), o objeto a :class:`str`, :class:`bytes` " +"ou :class:`bytearray` é convertido em um objeto :class:`int` e todos os seus " +"bits são usados." -#: ../../library/random.rst:82 +#: ../../library/random.rst:80 msgid "" "With version 1 (provided for reproducing random sequences from older " "versions of Python), the algorithm for :class:`str` and :class:`bytes` " @@ -186,20 +186,24 @@ msgstr "" "mais antigas do Python), o algoritmo para :class:`str` e :class:`bytes` gera " "um intervalo mais restrito de sementes." -#: ../../library/random.rst:86 +#: ../../library/random.rst:84 msgid "" "Moved to the version 2 scheme which uses all of the bits in a string seed." msgstr "" "Movido para o esquema da versão 2, que usa todos os bits em uma semente de " "strings." -#: ../../library/random.rst:89 +#: ../../library/random.rst:87 msgid "" -"The *seed* must be one of the following types: *NoneType*, :class:`int`, :" -"class:`float`, :class:`str`, :class:`bytes`, or :class:`bytearray`." +"The *seed* must be one of the following types: " +"``None``, :class:`int`, :class:`float`, :class:`str`, :class:`bytes`, " +"or :class:`bytearray`." msgstr "" +"*seed* deve ser um dos seguintes tipos: " +"``None``, :class:`int`, :class:`float`, :class:`str`, :class:`bytes` " +"ou :class:`bytearray`." -#: ../../library/random.rst:96 +#: ../../library/random.rst:94 msgid "" "Return an object capturing the current internal state of the generator. " "This object can be passed to :func:`setstate` to restore the state." @@ -207,37 +211,37 @@ msgstr "" "Retorna um objeto capturando o estado interno atual do gerador. Este objeto " "pode ser passado para :func:`setstate` para restaurar o estado." -#: ../../library/random.rst:102 +#: ../../library/random.rst:100 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* deveria ter sido obtido de uma chamada anterior para :func:" -"`getstate`, e :func:`setstate` restaura o estado interno do gerador para o " -"que era no momento que :func:`getstate` foi chamado." +"*state* deveria ter sido obtido de uma chamada anterior " +"para :func:`getstate`, e :func:`setstate` restaura o estado interno do " +"gerador para o que era no momento que :func:`getstate` foi chamado." -#: ../../library/random.rst:108 +#: ../../library/random.rst:106 msgid "Functions for bytes" msgstr "Funções para bytes" -#: ../../library/random.rst:112 +#: ../../library/random.rst:110 msgid "Generate *n* random bytes." msgstr "Gera *n* bytes aleatórios." -#: ../../library/random.rst:114 +#: ../../library/random.rst:112 msgid "" -"This method should not be used for generating security tokens. Use :func:" -"`secrets.token_bytes` instead." +"This method should not be used for generating security tokens. " +"Use :func:`secrets.token_bytes` instead." msgstr "" -"Este método não deve ser usado para gerar tokens de segurança. Use :func:" -"`secrets.token_bytes`." +"Este método não deve ser usado para gerar tokens de segurança. " +"Use :func:`secrets.token_bytes`." -#: ../../library/random.rst:121 +#: ../../library/random.rst:119 msgid "Functions for integers" msgstr "Funções para inteiros" -#: ../../library/random.rst:126 +#: ../../library/random.rst:124 msgid "" "Return a randomly selected element from ``range(start, stop, step)``. This " "is equivalent to ``choice(range(start, stop, step))``, but doesn't actually " @@ -247,7 +251,7 @@ msgstr "" "step)``. Isso é equivalente a ``choice(range(start, stop, step))``, mas na " "verdade não cria um objeto range." -#: ../../library/random.rst:130 +#: ../../library/random.rst:128 msgid "" "The positional argument pattern matches that of :func:`range`. Keyword " "arguments should not be used because the function may use them in unexpected " @@ -257,7 +261,7 @@ msgstr "" "argumentos nomeados não devem ser usados porque a função pode usá-los de " "maneiras inesperadas." -#: ../../library/random.rst:133 +#: ../../library/random.rst:131 msgid "" ":meth:`randrange` is more sophisticated about producing equally distributed " "values. Formerly it used a style like ``int(random()*n)`` which could " @@ -267,7 +271,7 @@ msgstr "" "distribuídos. Anteriormente, usava um estilo como ``int(random()*n)``, que " "poderia produzir distribuições ligeiramente desiguais." -#: ../../library/random.rst:138 +#: ../../library/random.rst:136 msgid "" "The automatic conversion of non-integer types to equivalent integers is " "deprecated. Currently ``randrange(10.0)`` is losslessly converted to " @@ -277,16 +281,14 @@ msgstr "" "descontinuada. Atualmente ``randrange(10.0)`` é convertido sem perda para " "``randrange(10)``. No futuro, esta operação levantará :exc:`TypeError`." -#: ../../library/random.rst:143 +#: ../../library/random.rst:141 msgid "" -"The exception raised for non-integral values such as ``randrange(10.5)`` or " -"``randrange('10')`` will be changed from :exc:`ValueError` to :exc:" -"`TypeError`." +"The exception raised for non-integer values such as ``randrange(10.5)`` or " +"``randrange('10')`` will be changed from :exc:`ValueError` " +"to :exc:`TypeError`." msgstr "" -"A exceção levantada para valores não-integrais como ``randrange(10.5)`` ou " -"``randrange('10')`` será alterada de :exc:`ValueError` para :exc:`TypeError`." -#: ../../library/random.rst:150 +#: ../../library/random.rst:148 msgid "" "Return a random integer *N* such that ``a <= N <= b``. Alias for " "``randrange(a, b+1)``." @@ -294,28 +296,29 @@ msgstr "" "Retorna um inteiro aleatório *N* de forma que ``a <= N <= b``. Apelido para " "``randrange(a, b+1)``." -#: ../../library/random.rst:155 +#: ../../library/random.rst:153 msgid "" "Returns a non-negative Python integer with *k* random bits. This method is " "supplied with the MersenneTwister generator and some other generators may " -"also provide it as an optional part of the API. When available, :meth:" -"`getrandbits` enables :meth:`randrange` to handle arbitrarily large ranges." +"also provide it as an optional part of the API. When " +"available, :meth:`getrandbits` enables :meth:`randrange` to handle " +"arbitrarily large ranges." msgstr "" "Retorna um número inteiro Python não-negativo com bits aleatórios *k*. Este " "método é fornecido com o gerador MersenneTwister e alguns outros geradores " -"também podem fornecê-lo como uma parte opcional da API. Quando disponível, :" -"meth:`getrandbits` permite que :meth:`randrange` manipule intervalos " -"arbitrariamente grandes." +"também podem fornecê-lo como uma parte opcional da API. Quando " +"disponível, :meth:`getrandbits` permite que :meth:`randrange` manipule " +"intervalos arbitrariamente grandes." -#: ../../library/random.rst:161 +#: ../../library/random.rst:159 msgid "This method now accepts zero for *k*." msgstr "Este método agora aceita zero em *k*." -#: ../../library/random.rst:166 +#: ../../library/random.rst:164 msgid "Functions for sequences" msgstr "Funções para sequências" -#: ../../library/random.rst:170 +#: ../../library/random.rst:168 msgid "" "Return a random element from the non-empty sequence *seq*. If *seq* is " "empty, raises :exc:`IndexError`." @@ -323,7 +326,7 @@ msgstr "" "Retorna um elemento aleatório da sequência não vazia *seq*. Se *seq* estiver " "vazio, levanta :exc:`IndexError`." -#: ../../library/random.rst:175 +#: ../../library/random.rst:173 msgid "" "Return a *k* sized list of elements chosen from the *population* with " "replacement. If the *population* is empty, raises :exc:`IndexError`." @@ -331,7 +334,7 @@ msgstr "" "Retorna uma lista do tamanho de *k* de elementos escolhidos da *population* " "com substituição. Se a *population* estiver vazio, levanta :exc:`IndexError`." -#: ../../library/random.rst:178 +#: ../../library/random.rst:176 msgid "" "If a *weights* sequence is specified, selections are made according to the " "relative weights. Alternatively, if a *cum_weights* sequence is given, the " @@ -350,7 +353,7 @@ msgstr "" "convertidos em pesos acumulados antes de fazer seleções, portanto, fornecer " "pesos cumulativos economiza trabalho." -#: ../../library/random.rst:187 +#: ../../library/random.rst:185 msgid "" "If neither *weights* nor *cum_weights* are specified, selections are made " "with equal probability. If a weights sequence is supplied, it must be the " @@ -359,10 +362,10 @@ msgid "" msgstr "" "Se nem *weights* nem *cum_weights* forem especificados, as seleções serão " "feitas com igual probabilidade. Se uma sequência de pesos for fornecida, ela " -"deverá ter o mesmo comprimento que a sequência *population*. É um :exc:" -"`TypeError` para especificar ambos os *weights* e *cum_weights*." +"deverá ter o mesmo comprimento que a sequência *population*. É " +"um :exc:`TypeError` para especificar ambos os *weights* e *cum_weights*." -#: ../../library/random.rst:192 +#: ../../library/random.rst:190 msgid "" "The *weights* or *cum_weights* can use any numeric type that interoperates " "with the :class:`float` values returned by :func:`random` (that includes " @@ -372,18 +375,18 @@ msgid "" msgstr "" "*weights* ou *cum_weights* pode usar qualquer tipo numérico que interopera " "com os valores :class:`float` retornados por :func:`random` (que inclui " -"inteiros, ponto flutuantes, e frações mas exclui decimais). Assume-se que " +"inteiros, pontos flutuantes, e frações mas exclui decimais). Presume-se que " "pesos serão não-negativos e finitos. Uma :exc:`ValueError` é levantada se " "todos os pesos forem zero." -#: ../../library/random.rst:198 +#: ../../library/random.rst:196 msgid "" "For a given seed, the :func:`choices` function with equal weighting " -"typically produces a different sequence than repeated calls to :func:" -"`choice`. The algorithm used by :func:`choices` uses floating point " -"arithmetic for internal consistency and speed. The algorithm used by :func:" -"`choice` defaults to integer arithmetic with repeated selections to avoid " -"small biases from round-off error." +"typically produces a different sequence than repeated calls " +"to :func:`choice`. The algorithm used by :func:`choices` uses floating " +"point arithmetic for internal consistency and speed. The algorithm used " +"by :func:`choice` defaults to integer arithmetic with repeated selections to " +"avoid small biases from round-off error." msgstr "" "Para uma dada semente, a função :func:`choices` com igual peso normalmente " "produz uma sequência diferente das chamadas repetidas para :func:`choice`. O " @@ -392,15 +395,15 @@ msgstr "" "assume como padrão aritmética inteira com seleções repetidas para evitar " "pequenos vieses de erro de arredondamento." -#: ../../library/random.rst:207 +#: ../../library/random.rst:205 msgid "Raises a :exc:`ValueError` if all weights are zero." msgstr "Levanta uma :exc:`ValueError` se todos os pesos forem zero." -#: ../../library/random.rst:213 +#: ../../library/random.rst:211 msgid "Shuffle the sequence *x* in place." msgstr "Embaralha a sequência *x* internamente." -#: ../../library/random.rst:215 +#: ../../library/random.rst:213 msgid "" "To shuffle an immutable sequence and return a new shuffled list, use " "``sample(x, k=len(x))`` instead." @@ -408,7 +411,7 @@ msgstr "" "Para embaralhar uma sequência imutável e retornar uma nova lista " "embaralhada, use ``sample(x, k=len(x))``." -#: ../../library/random.rst:218 +#: ../../library/random.rst:216 msgid "" "Note that even for small ``len(x)``, the total number of permutations of *x* " "can quickly grow larger than the period of most random number generators. " @@ -423,17 +426,19 @@ msgstr "" "comprimento 2080 é a maior que pode caber no período do gerador de números " "aleatórios Mersenne Twister." -#: ../../library/random.rst:225 -msgid "The optional parameter *random*." -msgstr "O parâmetro opcional *random*." +#: ../../library/random.rst:222 +msgid "Removed the optional parameter *random*." +msgstr "Removido o parâmetro opcional *random*." -#: ../../library/random.rst:230 +#: ../../library/random.rst:228 msgid "" "Return a *k* length list of unique elements chosen from the population " "sequence. Used for random sampling without replacement." msgstr "" +"Retorna uma lista de comprimento *k* de elementos únicos escolhidos na " +"sequência populacional. Usado para amostragem aleatória sem reposição." -#: ../../library/random.rst:233 +#: ../../library/random.rst:231 msgid "" "Returns a new list containing elements from the population while leaving the " "original population unchanged. The resulting list is in selection order so " @@ -447,17 +452,17 @@ msgstr "" "que os vencedores do sorteio (a amostra) sejam divididos em grandes prêmios " "e vencedores de segundo lugar (as subfatias)." -#: ../../library/random.rst:239 +#: ../../library/random.rst:237 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 "" -"Os membros da população não precisam ser :term:`hasheáveis ` ou " -"único. Se a população contiver repetições, cada ocorrência é uma seleção " +"Os membros da população não precisam ser :term:`hasheáveis ` ou " +"únicos. Se a população contiver repetições, cada ocorrência é uma seleção " "possível na amostra." -#: ../../library/random.rst:242 +#: ../../library/random.rst:240 msgid "" "Repeated elements can be specified one at a time or with the optional " "keyword-only *counts* parameter. For example, ``sample(['red', 'blue'], " @@ -469,7 +474,7 @@ msgstr "" "'blue'], counts=[4, 2], k=5)`` é equivalente a ``sample(['red', 'red', " "'red', 'red', 'blue', 'blue'], k=5)``." -#: ../../library/random.rst:247 +#: ../../library/random.rst:245 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 " @@ -480,29 +485,31 @@ msgstr "" "eficiência de espaço para amostragem de uma grande população: " "``sample(range(10000000), k=60)``." -#: ../../library/random.rst:251 +#: ../../library/random.rst:249 msgid "" "If the sample size is larger than the population size, a :exc:`ValueError` " "is raised." msgstr "" -"Se o tamanho da amostra for maior que o tamanho da população, uma :exc:" -"`ValueError` é levantada." +"Se o tamanho da amostra for maior que o tamanho da população, " +"uma :exc:`ValueError` é levantada." -#: ../../library/random.rst:254 +#: ../../library/random.rst:252 msgid "Added the *counts* parameter." msgstr "Adicionado o parâmetro *counts*." -#: ../../library/random.rst:259 +#: ../../library/random.rst:257 msgid "" "The *population* must be a sequence. Automatic conversion of sets to lists " "is no longer supported." msgstr "" +"*population* deve ser uma sequência. A conversão automática de conjuntos em " +"listas não é mais suportada." -#: ../../library/random.rst:266 +#: ../../library/random.rst:264 msgid "Real-valued distributions" msgstr "Distribuições com valor real" -#: ../../library/random.rst:268 +#: ../../library/random.rst:266 msgid "" "The following functions generate specific real-valued distributions. " "Function parameters are named after the corresponding variables in the " @@ -514,12 +521,14 @@ msgstr "" "equação da distribuição, conforme usadas na prática matemática comum; a " "maioria dessas equações pode ser encontrada em qualquer texto estatístico." -#: ../../library/random.rst:276 +#: ../../library/random.rst:274 msgid "" "Return the next random floating point number in the range ``0.0 <= X < 1.0``" msgstr "" +"Retorna o próximo número aleatório de ponto flutuante no intervalo ``0.0 <= " +"X < 1.0``" -#: ../../library/random.rst:281 +#: ../../library/random.rst:279 msgid "" "Return a random floating point number *N* such that ``a <= N <= b`` for ``a " "<= b`` and ``b <= N <= a`` for ``b < a``." @@ -527,16 +536,15 @@ msgstr "" "Retorna um número de ponto flutuante aleatório *N* de forma que ``a <= N <= " "b`` para ``a <= b`` e ``b <= N <= a`` para ``b < a``." -#: ../../library/random.rst:284 +#: ../../library/random.rst:282 msgid "" "The end-point value ``b`` may or may not be included in the range depending " -"on floating-point rounding in the equation ``a + (b-a) * random()``." +"on floating-point rounding in the expression ``a + (b-a) * random()``." msgstr "" -"O valor do ponto final ``b`` pode ou não ser incluído no intervalo, " -"dependendo do arredondamento do ponto flutuante na equação ``a + (b-a) * " -"random()``." +"O valor final ``b`` pode ou não ser incluído no intervalo dependendo do " +"arredondamento de ponto flutuante na expressão ``a + (b-a) * random()``." -#: ../../library/random.rst:290 +#: ../../library/random.rst:289 msgid "" "Return a random floating point number *N* such that ``low <= N <= high`` and " "with the specified *mode* between those bounds. The *low* and *high* bounds " @@ -548,7 +556,7 @@ msgstr "" "e *high* são padronizados como zero e um. O argumento *mode* assume como " "padrão o ponto médio entre os limites, fornecendo uma distribuição simétrica." -#: ../../library/random.rst:298 +#: ../../library/random.rst:297 msgid "" "Beta distribution. Conditions on the parameters are ``alpha > 0`` and " "``beta > 0``. Returned values range between 0 and 1." @@ -556,7 +564,7 @@ msgstr "" "Distribuição beta. As condições nos parâmetros são ``alpha > 0`` e ``beta > " "0``. Os valores retornados variam entre 0 e 1." -#: ../../library/random.rst:304 +#: ../../library/random.rst:303 msgid "" "Exponential distribution. *lambd* is 1.0 divided by the desired mean. It " "should be nonzero. (The parameter would be called \"lambda\", but that is a " @@ -570,29 +578,31 @@ msgstr "" "positivo se *lambd* for positivo e de infinito negativo a 0 se *lambd* for " "negativo." -#: ../../library/random.rst:313 +#: ../../library/random.rst:312 msgid "" -"Gamma distribution. (*Not* the gamma function!) Conditions on the " -"parameters are ``alpha > 0`` and ``beta > 0``." +"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 "" -"Distribuição gama. (*Não* a função gama!) As condições nos parâmetros são " -"``alpha > 0`` e ``beta > 0``." +"Distribuição gama. (*Não* a função gama!) Os parâmetros de forma e escala, " +"*alfa* e *beta*, devem ter valores positivos. (As convenções de chamada " +"variam e algumas fontes definem 'beta' como o inverso da escala)." -#: ../../library/random.rst:316 +#: ../../library/random.rst:317 msgid "The probability distribution function is::" msgstr "A função de distribuição de probabilidade é::" -#: ../../library/random.rst:325 +#: ../../library/random.rst:326 msgid "" -"Normal distribution, also called the Gaussian distribution. *mu* is the " +"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 "" -"Distribuição normal, também chamada de distribuição Gaussiana. *mu* é a " -"média, e *sigma* é o desvio padrão. Isso é levemente mais rápido que a " -"função :func:`normalvariate`.." +"Distribuição normal, também chamada de distribuição gaussiana. *mu* é a " +"média e *sigma* é o desvio padrão. Isto é um pouco mais rápido que a " +"função :func:`normalvariate` definida abaixo." -#: ../../library/random.rst:329 +#: ../../library/random.rst:331 msgid "" "Multithreading note: When two threads call this function simultaneously, it " "is possible that they will receive the same return value. This can be " @@ -603,15 +613,15 @@ msgstr "" "Nota sobre multithreading: quando duas threads chamam esta função " "simultaneamente, é possível que recebam o mesmo valor de retorno. Isso pode " "ser evitado de três maneiras. 1) Fazer com que cada thread use uma instância " -"diferente do gerador de números aleatórios. 2) Colocar bloqueios em todas as " -"chamadas. 3) Usar a função mais lenta, mas segura para thread :func:" -"`normalvariate`." +"diferente do gerador de números aleatórios. 2) Colocar travas em todas as " +"chamadas. 3) Usar a função mais lenta, mas segura para " +"thread :func:`normalvariate`." -#: ../../library/random.rst:336 ../../library/random.rst:352 +#: ../../library/random.rst:338 ../../library/random.rst:354 msgid "*mu* and *sigma* now have default arguments." -msgstr "" +msgstr "*mu* e *sigma* agora têm argumentos padrão." -#: ../../library/random.rst:342 +#: ../../library/random.rst:344 msgid "" "Log normal distribution. If you take the natural logarithm of this " "distribution, you'll get a normal distribution with mean *mu* and standard " @@ -622,13 +632,13 @@ msgstr "" "distribuição, obterá uma distribuição normal com média *mu* e desvio padrão " "*sigma*. *mu* pode ter qualquer valor e *sigma* deve ser maior que zero." -#: ../../library/random.rst:350 +#: ../../library/random.rst:352 msgid "" "Normal distribution. *mu* is the mean, and *sigma* is the standard " "deviation." msgstr "Distribuição normal. *mu* é a média e *sigma* é o desvio padrão." -#: ../../library/random.rst:358 +#: ../../library/random.rst:360 msgid "" "*mu* is the mean angle, expressed in radians between 0 and 2\\*\\ *pi*, and " "*kappa* is the concentration parameter, which must be greater than or equal " @@ -640,11 +650,11 @@ msgstr "" "*kappa* for igual a zero, essa distribuição será reduzida para um ângulo " "aleatório uniforme no intervalo de 0 a 2\\*\\ *pi*." -#: ../../library/random.rst:366 +#: ../../library/random.rst:368 msgid "Pareto distribution. *alpha* is the shape parameter." msgstr "Distribuição de Pareto. *alpha* é o parâmetro de forma." -#: ../../library/random.rst:371 +#: ../../library/random.rst:373 msgid "" "Weibull distribution. *alpha* is the scale parameter and *beta* is the " "shape parameter." @@ -652,11 +662,11 @@ msgstr "" "Distribuição Weibull. *alpha* é o parâmetro de escala e *beta* é o parâmetro " "de forma." -#: ../../library/random.rst:376 +#: ../../library/random.rst:378 msgid "Alternative Generator" msgstr "Gerador alternativo" -#: ../../library/random.rst:380 +#: ../../library/random.rst:382 msgid "" "Class that implements the default pseudo-random number generator used by " "the :mod:`random` module." @@ -664,36 +674,93 @@ msgstr "" "Classe que implementa o gerador de números pseudoaleatórios padrão usado " "pelo módulo :mod:`random`." -#: ../../library/random.rst:383 +#: ../../library/random.rst:385 msgid "" -"In the future, the *seed* must be one of the following types: :class:" -"`NoneType`, :class:`int`, :class:`float`, :class:`str`, :class:`bytes`, or :" -"class:`bytearray`." +"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 "" -"No futuro, *seed* deve ser um dos seguintes tipos: :class:`NoneType`, :class:" -"`int`, :class:`float`, :class:`str`, :class:`bytes` ou :class:`bytearray`." +"Anteriormente, o *seed* poderia ser qualquer objeto hasheável. Agora está " +"limitado a: " +"``None``, :class:`int`, :class:`float`, :class:`str`, :class:`bytes` " +"ou :class:`bytearray`." #: ../../library/random.rst:390 msgid "" +"Subclasses of :class:`!Random` should override the following methods if they " +"wish to make use of a different basic generator:" +msgstr "" +"Subclasses de :class:`!Random` devem substituir os seguintes métodos se " +"desejarem fazer uso de um gerador básico diferente:" + +#: ../../library/random.rst:395 +msgid "" +"Override this method in subclasses to customise the :meth:`~random.seed` " +"behaviour of :class:`!Random` instances." +msgstr "" +"Substitua este método nas subclasses para personalizar o comportamento " +"de :meth:`~random.seed` das instâncias de :class:`!Random`." + +#: ../../library/random.rst:400 +msgid "" +"Override this method in subclasses to customise the :meth:`~random.getstate` " +"behaviour of :class:`!Random` instances." +msgstr "" +"Substitua este método nas subclasses para personalizar o comportamento " +"de :meth:`~random.getstate` das instâncias de :class:`!Random`." + +#: ../../library/random.rst:405 +msgid "" +"Override this method in subclasses to customise the :meth:`~random.setstate` " +"behaviour of :class:`!Random` instances." +msgstr "" +"Substitua este método nas subclasses para personalizar o comportamento " +"de :meth:`~random.setstate` das instâncias de :class:`!Random`." + +#: ../../library/random.rst:410 +msgid "" +"Override this method in subclasses to customise the :meth:`~random.random` " +"behaviour of :class:`!Random` instances." +msgstr "" +"Substitua este método nas subclasses para personalizar o comportamento " +"de :meth:`~random.random` das instâncias de :class:`!Random`." + +#: ../../library/random.rst:413 +msgid "" +"Optionally, a custom generator subclass can also supply the following method:" +msgstr "" +"Opcionalmente, uma subclasse geradora personalizada também pode fornecer o " +"seguinte método:" + +#: ../../library/random.rst:417 +msgid "" +"Override this method in subclasses to customise " +"the :meth:`~random.getrandbits` behaviour of :class:`!Random` instances." +msgstr "" +"Substitua este método nas subclasses para personalizar o comportamento " +"de :meth:`~random.getrandbits` das instâncias de :class:`!Random`." + +#: ../../library/random.rst:423 +msgid "" "Class that uses the :func:`os.urandom` function for generating random " "numbers from sources provided by the operating system. Not available on all " "systems. Does not rely on software state, and sequences are not " "reproducible. Accordingly, the :meth:`seed` method has no effect and is " -"ignored. The :meth:`getstate` and :meth:`setstate` methods raise :exc:" -"`NotImplementedError` if called." +"ignored. The :meth:`getstate` and :meth:`setstate` methods " +"raise :exc:`NotImplementedError` if called." msgstr "" "Classe que usa a função :func:`os.urandom` para gerar números aleatórios a " "partir de fontes fornecidas pelo sistema operacional. Não disponível em " "todos os sistemas. Não depende do estado do software e as sequências não são " "reproduzíveis. Assim, o método :meth:`seed` não tem efeito e é ignorado. Os " -"métodos :meth:`getstate` e :meth:`setstate` levantam :exc:" -"`NotImplementedError` se chamados." +"métodos :meth:`getstate` e :meth:`setstate` " +"levantam :exc:`NotImplementedError` se chamados." -#: ../../library/random.rst:399 +#: ../../library/random.rst:432 msgid "Notes on Reproducibility" msgstr "Notas sobre reprodutibilidade" -#: ../../library/random.rst:401 +#: ../../library/random.rst:434 msgid "" "Sometimes it is useful to be able to reproduce the sequences given by a " "pseudo-random number generator. By re-using a seed value, the same sequence " @@ -705,7 +772,7 @@ msgstr "" "deve ser reproduzível de execução para execução, desde que mais de uma " "thread não estejam em execução." -#: ../../library/random.rst:405 +#: ../../library/random.rst:438 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:" @@ -714,35 +781,35 @@ msgstr "" "sujeita a alterações nas versões de Python, mas dois aspectos são garantidos " "para não serem alterados:" -#: ../../library/random.rst:408 +#: ../../library/random.rst:441 msgid "" "If a new seeding method is added, then a backward compatible seeder will be " "offered." msgstr "" -"Se um novo método de semeadura for adicionado, será oferecida uma semeadora " +"Se um novo método de semeadura for adicionado, será oferecida um semeador " "compatível com versões anteriores." -#: ../../library/random.rst:411 +#: ../../library/random.rst:444 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 "" -"O método do gerador :meth:`~Random.random` continuará produzindo a mesma " +"O método :meth:`~Random.random` do gerador continuará produzindo a mesma " "sequência quando o semeador compatível receber a mesma semente." -#: ../../library/random.rst:417 +#: ../../library/random.rst:450 msgid "Examples" msgstr "Exemplos" -#: ../../library/random.rst:419 +#: ../../library/random.rst:452 msgid "Basic examples::" msgstr "Exemplos básicos::" -#: ../../library/random.rst:447 +#: ../../library/random.rst:480 msgid "Simulations::" msgstr "Simulações::" -#: ../../library/random.rst:475 +#: ../../library/random.rst:508 msgid "" "Example of `statistical bootstrapping `_ using resampling with replacement to estimate " @@ -752,7 +819,7 @@ msgstr "" "Bootstrapping_(estatística)>`_ usando reamostragem com substituição para " "estimar um intervalo de confiança para a média de uma amostra::" -#: ../../library/random.rst:488 +#: ../../library/random.rst:521 msgid "" "Example of a `resampling permutation test `_ to determine the statistical " @@ -765,14 +832,14 @@ msgstr "" "p>`_ de uma diferença observada entre os efeitos de uma droga em comparação " "com um placebo::" -#: ../../library/random.rst:515 +#: ../../library/random.rst:548 msgid "" "Simulation of arrival times and service deliveries for a multiserver queue::" msgstr "" "Simulação de tempos de chegada e entregas de serviços para uma fila " "multisservidor::" -#: ../../library/random.rst:544 +#: ../../library/random.rst:577 msgid "" "`Statistics for Hackers `_ a " "video tutorial by `Jake Vanderplas `_ a simulation of a marketplace by `Peter Norvig `_ that shows effective use of many of the tools and " "distributions provided by this module (gauss, uniform, sample, betavariate, " "choice, triangular, and randrange)." msgstr "" +"`Economics Simulation `_ uma simulação de um mercado por `Peter Norvig `_ que mostra o uso eficaz de muitas das ferramentas e " +"distribuições fornecidas por este módulo (gauss, uniform, sample, " +"betavariate, choice, triangular e randrange)." -#: ../../library/random.rst:557 +#: ../../library/random.rst:590 msgid "" -"`A Concrete Introduction to Probability (using Python) `_ a tutorial by `Peter " -"Norvig `_ covering the basics of probability " -"theory, how to write simulations, and how to perform data analysis using " -"Python." +"`A Concrete Introduction to Probability (using Python) `_ a tutorial by `Peter Norvig " +"`_ covering the basics of probability theory, " +"how to write simulations, and how to perform data analysis using Python." msgstr "" +"`A Concrete Introduction to Probability (using Python) `_ um tutorial de `Peter Norvig " +"`_ cobrindo os fundamentos da teoria das " +"probabilidades, como escrever simulações e como realizar análises de dados " +"usando Python." -#: ../../library/random.rst:565 +#: ../../library/random.rst:598 msgid "Recipes" msgstr "Receitas" -#: ../../library/random.rst:567 +#: ../../library/random.rst:600 msgid "" "These recipes show how to efficiently make random selections from the " "combinatoric iterators in the :mod:`itertools` module:" msgstr "" +"Estas receitas mostram como fazer seleções aleatórias de forma eficiente a " +"partir dos iteradores combinatórios no módulo :mod:`itertools`:" -#: ../../library/random.rst:599 +#: ../../library/random.rst:632 msgid "" "The default :func:`.random` returns multiples of 2⁻⁵³ in the range *0.0 ≤ x " "< 1.0*. All such numbers are evenly spaced and are exactly representable as " @@ -828,7 +906,7 @@ msgstr "" "possíveis. Por exemplo, ``0.05954861408025609`` não é um múltiplo inteiro de " "2⁻⁵³." -#: ../../library/random.rst:605 +#: ../../library/random.rst:638 msgid "" "The following recipe takes a different approach. All floats in the interval " "are possible selections. The mantissa comes from a uniform distribution of " @@ -842,7 +920,7 @@ msgstr "" "uma distribuição geométrica onde expoentes menores que *-53* ocorrem com " "metade da frequência do próximo expoente maior." -#: ../../library/random.rst:627 +#: ../../library/random.rst:660 msgid "" "All :ref:`real valued distributions ` in the " "class will use the new method::" @@ -850,7 +928,7 @@ msgstr "" "Todas as :ref:`distribuições reais valoradas ` na " "classe usarão o novo método::" -#: ../../library/random.rst:636 +#: ../../library/random.rst:669 msgid "" "The recipe is conceptually equivalent to an algorithm that chooses from all " "the multiples of 2⁻¹⁰⁷⁴ in the range *0.0 ≤ x < 1.0*. All such numbers are " @@ -862,15 +940,15 @@ msgstr "" "todos os múltiplos de 2⁻¹⁰⁷⁴ no intervalo *0.0 ≤ x < 1.0*. Todos esses " "números são espaçados uniformemente, mas a maioria deve ser arredondada para " "o ponto flutuante Python representável mais próximo. (O valor 2⁻¹⁰⁷⁴ é o " -"menor ponto flutuante positivo não normalizado e é igual a ``math." -"ulp(0.0)``.)" +"menor ponto flutuante positivo não normalizado e é igual a " +"``math.ulp(0.0)``.)" -#: ../../library/random.rst:645 +#: ../../library/random.rst:678 msgid "" "`Generating Pseudo-random Floating-Point Values `_ a paper by Allen B. Downey describing " -"ways to generate more fine-grained floats than normally generated by :func:`." -"random`." +"ways to generate more fine-grained floats than normally generated " +"by :func:`.random`." msgstr "" "`Generating Pseudo-random Floating-Point Values `_ um artigo de Allen B. Downey " diff --git a/library/re.po b/library/re.po index ddae1c32b..a0d6421dd 100644 --- a/library/re.po +++ b/library/re.po @@ -1,34 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Risaffi , 2021 -# i17obot , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Claudio Rogerio Carvalho Filho , 2022 -# Leticia Portella , 2022 -# Henrique Junqueira, 2022 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -52,12 +43,12 @@ msgstr "" #: ../../library/re.rst:17 msgid "" -"Both patterns and strings to be searched can be Unicode strings (:class:" -"`str`) as well as 8-bit strings (:class:`bytes`). However, Unicode strings " -"and 8-bit strings cannot be mixed: that is, you cannot match a Unicode " -"string with a byte pattern or vice-versa; similarly, when asking for a " -"substitution, the replacement string must be of the same type as both the " -"pattern and the search string." +"Both patterns and strings to be searched can be Unicode strings " +"(:class:`str`) as well as 8-bit strings (:class:`bytes`). However, Unicode " +"strings and 8-bit strings cannot be mixed: that is, you cannot match a " +"Unicode string with a bytes pattern or vice-versa; similarly, when asking " +"for a substitution, the replacement string must be of the same type as both " +"the pattern and the search string." msgstr "" "Tanto os padrões quanto as strings a serem pesquisados podem ser strings " "Unicode (:class:`str`) assim como strings de 8 bits (:class:`bytes`). No " @@ -106,7 +97,7 @@ msgstr "" "expressão regular; as contrabarras não são tratadas de nenhuma maneira " "especial em uma string literal com o prefixo ``'r'``. Portanto, ``r\"\\n\"`` " "é uma string de dois caracteres contendo ``'\\'`` e ``'n'``, enquanto " -"``\"\\n\"`` é uma string de um caractere contendo um nova linha. " +"``\"\\n\"`` é uma string de um caractere contendo uma nova linha. " "Normalmente, os padrões serão expressos em código Python usando esta notação " "de string bruta." @@ -120,8 +111,8 @@ msgstr "" "É importante notar que a maioria das operações de expressão regular estão " "disponíveis como funções e métodos em nível de módulo em :ref:`expressões " "regulares compiladas `. As funções são atalhos que não exigem " -"que você compile um objeto regex primeiro, mas perdem alguns parâmetros de " -"ajuste fino." +"que você compile um objeto de expressão regular primeiro, mas perdem-se " +"alguns parâmetros de ajuste fino." #: ../../library/re.rst:51 msgid "" @@ -182,7 +173,8 @@ msgid "" "howto`." msgstr "" "Segue uma breve explicação do formato das expressões regulares. Para mais " -"informações e uma apresentação mais suave, consulte o :ref:`regex-howto`." +"informações e uma apresentação mais suave, consulte o tutorial " +"de :ref:`regex-howto`." #: ../../library/re.rst:79 msgid "" @@ -231,7 +223,7 @@ msgstr "" msgid "The special characters are:" msgstr "Os caracteres especiais são:" -#: ../../library/re.rst:104 ../../library/re.rst:1530 +#: ../../library/re.rst:104 ../../library/re.rst:1604 msgid "``.``" msgstr "``.``" @@ -254,8 +246,9 @@ msgid "" "(Caret.) Matches the start of the string, and in :const:`MULTILINE` mode " "also matches immediately after each newline." msgstr "" -"(Sinal de circunflexo.) Corresponde ao início da string, e no modo :const:" -"`MULTILINE` também corresponde imediatamente após cada nova linha." +"(Sinal de circunflexo.) Corresponde ao início da string, e no " +"modo :const:`MULTILINE` também corresponde imediatamente após cada nova " +"linha." #: ../../library/re.rst:121 msgid "``$``" @@ -267,10 +260,10 @@ msgid "" "string, and in :const:`MULTILINE` mode also matches before a newline. " "``foo`` matches both 'foo' and 'foobar', while the regular expression " "``foo$`` matches only 'foo'. More interestingly, searching for ``foo.$`` in " -"``'foo1\\nfoo2\\n'`` matches 'foo2' normally, but 'foo1' in :const:" -"`MULTILINE` mode; searching for a single ``$`` in ``'foo\\n'`` will find two " -"(empty) matches: one just before the newline, and one at the end of the " -"string." +"``'foo1\\nfoo2\\n'`` matches 'foo2' normally, but 'foo1' " +"in :const:`MULTILINE` mode; searching for a single ``$`` in ``'foo\\n'`` " +"will find two (empty) matches: one just before the newline, and one at the " +"end of the string." msgstr "" "Corresponde ao final da string ou logo antes da nova linha no final da " "string, e no modo :const:`MULTILINE` também corresponde antes de uma nova " @@ -291,9 +284,9 @@ msgid "" "as many repetitions as are possible. ``ab*`` will match 'a', 'ab', or 'a' " "followed by any number of 'b's." msgstr "" -"Faz com que a ER resultante corresponda a 0 ou mais repetições da ER " -"anterior, tantas repetições quantas forem possíveis. ``ab*`` corresponderá a " -"'a', 'ab' ou 'a' seguido por qualquer número de 'b's." +"Faz a ER resultante corresponder a 0 ou mais repetições da ER anterior, " +"tantas repetições quantas forem possíveis. ``ab*`` corresponderá a 'a', 'ab' " +"ou 'a' seguido por uma quantidade qualquer de 'b's." #: ../../library/re.rst:135 msgid "``+``" @@ -318,8 +311,8 @@ msgid "" "Causes the resulting RE to match 0 or 1 repetitions of the preceding RE. " "``ab?`` will match either 'a' or 'ab'." msgstr "" -"Faz com que a ER resultante corresponda a 0 ou 1 repetição da ER anterior. " -"``ab?`` irá corresponder a 'a' ou 'ab'." +"Faz a ER resultante corresponder a 0 ou 1 repetição da ER anterior. ``ab?`` " +"irá corresponder a 'a' ou 'ab'." #: ../../library/re.rst:155 msgid "``*?``, ``+?``, ``??``" @@ -376,7 +369,7 @@ msgstr "" "corresponderá a todos os 4 ``'a'``, mas quando o ``'a'`` final não encontrar " "mais caracteres para corresponder, a expressão não pode ser retrocedida e, " "portanto, não corresponderá. ``x*+``, ``x++`` e ``x?+`` são equivalentes a " -"``(?>x*)``, ``(?>x+)`` e ``(?>x?)`` correspondentemente." +"``(?>x*)``, ``(?>x+)`` e ``(?>x?)`` respectivamente." #: ../../library/re.rst:187 msgid "``{m}``" @@ -408,14 +401,14 @@ msgid "" "not be omitted or the modifier would be confused with the previously " "described form." msgstr "" -"Faz com que a ER resultante corresponda de *m* a *n* repetições da ER " -"precedente, tentando corresponder ao máximo de repetições possível. Por " -"exemplo, ``a{3,5}`` irá corresponder de 3 a 5 caracteres ``'a'``. A omissão " -"de *m* especifica um limite inferior de zero e a omissão de *n* especifica " -"um limite superior infinito. Como exemplo, ``a{4,}b`` irá corresponder a " -"``'aaaab'`` ou mil caracteres ``'a'`` seguidos por um ``'b'``, mas não " -"``'aaab'``. A vírgula não pode ser omitida ou o modificador será confundido " -"com a forma descrita anteriormente." +"Faz a ER resultante corresponder de *m* a *n* repetições da ER anterior, " +"tentando corresponder ao máximo de repetições possível. Por exemplo, ``a{3,5}" +"`` irá corresponder de 3 a 5 caracteres ``'a'``. A omissão de *m* especifica " +"um limite inferior de zero e a omissão de *n* especifica um limite superior " +"infinito. Como exemplo, ``a{4,}b`` irá corresponder a ``'aaaab'`` ou mil " +"caracteres ``'a'`` seguidos por um ``'b'``, mas não ``'aaab'``. A vírgula " +"não pode ser omitida ou o modificador será confundido com a forma descrita " +"anteriormente." #: ../../library/re.rst:203 msgid "``{m,n}?``" @@ -429,11 +422,11 @@ msgid "" "character string ``'aaaaaa'``, ``a{3,5}`` will match 5 ``'a'`` characters, " "while ``a{3,5}?`` will only match 3 characters." msgstr "" -"Faz com que a ER resultante corresponda de *m* a *n* repetições da ER " -"precedente, tentando corresponder o mínimo de *poucas* repetições possível. " -"Esta é a versão não gulosa do quantificador anterior. Por exemplo, na string " -"de 6 caracteres ``'aaaaaa'``, ``a{3,5}`` irá corresponder a 5 caracteres " -"``'a'``, enquanto ``a{3,5}?`` corresponderá apenas a 3 caracteres." +"Faz a ER resultante corresponder de *m* a *n* repetições da ER anterior, " +"tentando corresponder o *mínimo* de repetições possível. Esta é a versão não " +"gulosa do quantificador anterior. Por exemplo, na string de 6 caracteres " +"``'aaaaaa'``, ``a{3,5}`` irá corresponder a 5 caracteres ``'a'``, enquanto " +"``a{3,5}?`` corresponderá apenas a 3 caracteres." #: ../../library/re.rst:218 msgid "``{m,n}+``" @@ -451,8 +444,8 @@ 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 "" -"Faz com que a ER resultante corresponda de *m* a *n* repetições da ER " -"anterior, tentando corresponder o maior número possível de repetições *sem* " +"Faz a ER resultante corresponder de *m* a *n* repetições da ER anterior, " +"tentando corresponder o maior número possível de repetições *sem* " "estabelecer nenhum ponto de retrocesso. Esta é a versão possessiva do " "quantificador acima. Por exemplo, na string de 6 caracteres ``'aaaaaa'``, " "``a{3,5}+aa`` tenta corresponder 5 caracteres ``'a'``, então, requerer mais " @@ -472,9 +465,9 @@ msgid "" "``'*'``, ``'?'``, and so forth), or signals a special sequence; special " "sequences are discussed below." msgstr "" -"Ou escapa caracteres especiais (permitindo que você corresponde a caracteres " -"como ``'*'``, ``'?'`` e assim por diante), ou sinaliza uma sequência " -"especial; sequências especiais são discutidas abaixo." +"Ou anula o efeito de caracteres especiais (permitindo a você corresponder " +"caracteres como ``'*'``, ``'?'`` e assim por diante), ou sinaliza uma " +"sequência especial; sequências especiais são discutidas abaixo." #: ../../library/re.rst:227 msgid "" @@ -493,9 +486,9 @@ msgstr "" "serão incluídos na string resultante. No entanto, se Python reconhecer a " "sequência resultante, a contrabarra deve ser repetida duas vezes. Isso é " "complicado e difícil de entender, portanto, é altamente recomendável que " -"você use strings bruta para todas as expressões, exceto as mais simples." +"você use strings brutas para todas as expressões, exceto as mais simples." -#: ../../library/re.rst:294 +#: ../../library/re.rst:293 msgid "``[]``" msgstr "``[]``" @@ -524,9 +517,9 @@ msgstr "" "separando-os por ``'-'``, por exemplo ``[a-z]`` irá corresponder a qualquer " "letra ASCII minúscula, ``[0-5][0-9]`` irá corresponder a todos os números de " "dois dígitos de ``00`` a ``59``, e ``[0-9A-Fa-f]`` irá corresponder a " -"qualquer dígito hexadecimal. Se ``-`` for escapado (por exemplo, ``[a\\-" -"z]``) ou se for colocado como o primeiro ou último caractere (por exemplo, " -"``[-a]`` ou ``[a-]``), ele corresponderá a um literal ``'-'``." +"qualquer dígito hexadecimal. Se ``-`` for precedido de uma contrabarra (por " +"exemplo, ``[a\\-z]``) ou se for colocado como o primeiro ou último caractere " +"(por exemplo, ``[-a]`` ou ``[a-]``), ele corresponderá a um literal ``'-'``." #: ../../library/re.rst:253 msgid "" @@ -541,31 +534,31 @@ msgstr "" #: ../../library/re.rst:259 msgid "" "Character classes such as ``\\w`` or ``\\S`` (defined below) are also " -"accepted inside a set, although the characters they match depends on " -"whether :const:`ASCII` or :const:`LOCALE` mode is in force." +"accepted inside a set, although the characters they match depend on the " +"flags_ used." msgstr "" -"Classes de caracteres como ``\\w`` ou ``\\S`` (definidas abaixo) também são " -"aceitas dentro de um conjunto, embora os caracteres que correspondem " -"dependam do modo :const:`ASCII` ou :const:`LOCALE` estar em vigor." +"Classes de caracteres, como ``\\w`` ou ``\\S`` (definidos abaixo), também " +"são aceitas dentro de um conjunto, embora os caracteres que eles " +"correspondem dependam dos sinalizadores_ usados." -#: ../../library/re.rst:265 +#: ../../library/re.rst:264 msgid "" -"Characters that are not within a range can be matched by :dfn:" -"`complementing` the set. If the first character of the set is ``'^'``, all " -"the characters that are *not* in the set will be matched. For example, " -"``[^5]`` will match any character except ``'5'``, and ``[^^]`` will match " -"any character except ``'^'``. ``^`` has no special meaning if it's not the " -"first character in the set." +"Characters that are not within a range can be matched " +"by :dfn:`complementing` the set. If the first character of the set is " +"``'^'``, all the characters that are *not* in the set will be matched. For " +"example, ``[^5]`` will match any character except ``'5'``, and ``[^^]`` will " +"match any character except ``'^'``. ``^`` has no special meaning if it's " +"not the first character in the set." msgstr "" -"Os caracteres que não estão dentro de um intervalo podem ser correspondidos :" -"dfn:`complementando` o conjunto. Se o primeiro caractere do conjunto for " -"``'^'``, todos os caracteres que *não* estiverem no conjunto serão " -"correspondidos. Por exemplo, ``[^5]`` irá corresponder a qualquer caractere " -"exceto ``'5'``, e ``[^^]`` irá corresponder a qualquer caractere exceto " -"``'^'``. ``^`` não tem nenhum significado especial se não for o primeiro " -"caractere do conjunto." +"Os caracteres que não estão dentro de um intervalo podem ser " +"correspondidos :dfn:`complementando` o conjunto. Se o primeiro caractere do " +"conjunto for ``'^'``, todos os caracteres que *não* estiverem no conjunto " +"serão correspondidos. Por exemplo, ``[^5]`` irá corresponder a qualquer " +"caractere exceto ``'5'``, e ``[^^]`` irá corresponder a qualquer caractere " +"exceto ``'^'``. ``^`` não tem nenhum significado especial se não for o " +"primeiro caractere do conjunto." -#: ../../library/re.rst:272 +#: ../../library/re.rst:271 msgid "" "To match a literal ``']'`` inside a set, precede it with a backslash, or " "place it at the beginning of the set. For example, both ``[()[\\]{}]`` and " @@ -574,10 +567,10 @@ msgid "" msgstr "" "Para corresponder a um ``']'`` literal dentro de um conjunto, preceda-o com " "uma contrabarra ou coloque-o no início do conjunto. Por exemplo, ``[()[\\]" -"{}]`` e ``[]()[{}]`` vai corresponder ao colchete à direita, assim como a " +"{}]`` e ``[]()[{}]`` vai corresponder ao colchete à direita, assim como o " "colchete, chave ou parêntese à esquerda." -#: ../../library/re.rst:282 +#: ../../library/re.rst:281 msgid "" "Support of nested sets and set operations as in `Unicode Technical Standard " "#18`_ might be added in the future. This would change the syntax, so to " @@ -586,15 +579,15 @@ msgid "" "or containing literal character sequences ``'--'``, ``'&&'``, ``'~~'``, and " "``'||'``. To avoid a warning escape them with a backslash." msgstr "" -"Suporte de conjuntos aninhados e operações de conjunto como no `Padrão " +"Suporte para conjuntos aninhados e operações de conjunto como no `Padrão " "Técnico do Unicode #18`_ podem ser adicionados no futuro. Isso mudaria a " "sintaxe, então para facilitar essa mudança uma :exc:`FutureWarning` será " "levantada em casos ambíguos por enquanto. Isso inclui conjuntos que começam " "com um ``'['`` literal ou contendo sequências de caracteres literais " -"``'--'``, ``'&&'``, ``'~~'`` e ``'||'``. Para evitar um aviso, escape-os com " -"uma contrabarra." +"``'--'``, ``'&&'``, ``'~~'`` e ``'||'``. Para evitar um aviso, use uma " +"contrabarra antes deles." -#: ../../library/re.rst:292 +#: ../../library/re.rst:291 msgid "" ":exc:`FutureWarning` is raised if a character set contains constructs that " "will change semantically in the future." @@ -602,11 +595,11 @@ msgstr "" ":exc:`FutureWarning` é levantada se um conjunto de caracteres contém " "construções que mudarão semanticamente no futuro." -#: ../../library/re.rst:307 +#: ../../library/re.rst:306 msgid "``|``" msgstr "``|``" -#: ../../library/re.rst:299 +#: ../../library/re.rst:298 msgid "" "``A|B``, where *A* and *B* can be arbitrary REs, creates a regular " "expression that will match either *A* or *B*. An arbitrary number of REs " @@ -622,18 +615,18 @@ msgstr "" "regular que corresponderá a *A* ou *B*. Um número arbitrário de ERs pode ser " "separado por ``'|'`` desta forma. Isso também pode ser usado dentro de " "grupos (veja abaixo). Conforme a string alvo é percorrida, ERs separadas por " -"``'|'`` são tentadas da esquerda para a direita. Quando um padrão " +"``'|'`` são avaliadas da esquerda para a direita. Quando um padrão " "corresponde completamente, essa ramificação é aceita. Isso significa que, " -"assim que *A* corresponder, *B* não será testado posteriormente, mesmo que " +"assim que *A* corresponder, *B* não será avaliado posteriormente, mesmo que " "produza uma correspondência geral mais longa. Em outras palavras, o operador " "``'|'`` nunca é guloso. Para corresponder a um ``'|'`` literal, use ``\\|``, " "ou coloque-o dentro de uma classe de caractere, como em ``[|]``." -#: ../../library/re.rst:317 +#: ../../library/re.rst:316 msgid "``(...)``" msgstr "``(...)``" -#: ../../library/re.rst:313 +#: ../../library/re.rst:312 msgid "" "Matches whatever regular expression is inside the parentheses, and indicates " "the start and end of a group; the contents of a group can be retrieved after " @@ -650,11 +643,11 @@ msgstr "" "``')'``, use ``\\(`` ou ``\\)``, ou coloque-os dentro de uma classe de " "caracteres: ``[(]``, ``[)]``." -#: ../../library/re.rst:326 +#: ../../library/re.rst:325 msgid "``(?...)``" msgstr "``(?...)``" -#: ../../library/re.rst:322 +#: ../../library/re.rst:321 msgid "" "This is an extension notation (a ``'?'`` following a ``'('`` is not " "meaningful otherwise). The first character after the ``'?'`` determines " @@ -662,130 +655,152 @@ msgid "" "do not create a new group; ``(?P...)`` is the only exception to this " "rule. Following are the currently supported extensions." msgstr "" -"Esta é uma notação de extensão (um ``'?'`` seguindo um ``'('`` não é " +"Esta é uma notação de extensão (um ``'?'`` após um ``'('`` não é " "significativo de outra forma). O primeiro caractere após o ``'?'`` determina " -"qual o significado e sintaxe posterior do construtor. As extensões " +"qual o significado e sintaxe posterior da construção. As extensões " "normalmente não criam um novo grupo; ``(?P...)`` é a única exceção a " -"esta regra. A seguir estão as extensões atualmente suportadas." +"esta regra. A seguir estão as extensões atualmente implementadas." -#: ../../library/re.rst:343 +#: ../../library/re.rst:348 msgid "``(?aiLmsux)``" msgstr "``(?aiLmsux)``" -#: ../../library/re.rst:329 +#: ../../library/re.rst:328 msgid "" "(One or more letters from the set ``'a'``, ``'i'``, ``'L'``, ``'m'``, " -"``'s'``, ``'u'``, ``'x'``.) The group matches the empty string; the letters " -"set the corresponding flags: :const:`re.A` (ASCII-only matching), :const:`re." -"I` (ignore case), :const:`re.L` (locale dependent), :const:`re.M` (multi-" -"line), :const:`re.S` (dot matches all), :const:`re.U` (Unicode matching), " -"and :const:`re.X` (verbose), for the entire regular expression. (The flags " -"are described in :ref:`contents-of-module-re`.) This is useful if you wish " -"to include the flags as part of the regular expression, instead of passing a " -"*flag* argument to the :func:`re.compile` function. Flags should be used " -"first in the expression string." +"``'s'``, ``'u'``, ``'x'``.) The group matches the empty string; the letters " +"set the corresponding flags for the entire regular expression:" msgstr "" "(Uma ou mais letras do conjunto ``'a'``, ``'i'``, ``'L'``, ``'m'``, ``'s'``, " "``'u'``, ``'x'``.) O grupo corresponde à string vazia; as letras definem os " -"sinalizadores correspondentes: :const:`re.A` (correspondência somente " -"ASCII), :const:`re.I` (não diferencia maiúsculas e minúsculas), :const:`re." -"L` (dependente do local), :const:`re.M` (multi-linha), :const:`re.S` (ponto " -"corresponde a todos), :const:`re.U` (correspondência Unicode) e :const:`re." -"X` (detalhado), para toda a expressão regular. (Os sinalizadores são " -"descritos em :ref:`contents-of-module-re`.) Isso é útil se você deseja " -"incluir os sinalizadores como parte da expressão regular, em vez de passar " -"um argumento *flag* para função :func:`re.compile`. Os sinalizadores devem " -"ser usados primeiro na string de expressão." - -#: ../../library/re.rst:342 +"sinalizadores correspondentes para toda a expressão regular:" + +#: ../../library/re.rst:333 ../../library/re.rst:365 +msgid ":const:`re.A` (ASCII-only matching)" +msgstr ":const:`re.A` (correspondência somente ASCII)" + +#: ../../library/re.rst:334 ../../library/re.rst:366 +msgid ":const:`re.I` (ignore case)" +msgstr ":const:`re.I` (ignorar maiúsculas/minúsculas)" + +#: ../../library/re.rst:335 ../../library/re.rst:367 +msgid ":const:`re.L` (locale dependent)" +msgstr ":const:`re.L` (dependente da localidade)" + +#: ../../library/re.rst:336 ../../library/re.rst:368 +msgid ":const:`re.M` (multi-line)" +msgstr ":const:`re.M` (multi-linha)" + +#: ../../library/re.rst:337 ../../library/re.rst:369 +msgid ":const:`re.S` (dot matches all)" +msgstr ":const:`re.S` (ponto corresponde a tudo)" + +#: ../../library/re.rst:338 ../../library/re.rst:370 +msgid ":const:`re.U` (Unicode matching)" +msgstr ":const:`re.U` (correspondência Unicode)" + +#: ../../library/re.rst:339 ../../library/re.rst:371 +msgid ":const:`re.X` (verbose)" +msgstr ":const:`re.X` (verboso)" + +#: ../../library/re.rst:341 +msgid "" +"(The flags are described in :ref:`contents-of-module-re`.) This is useful if " +"you wish to include the flags as part of the regular expression, instead of " +"passing a *flag* argument to the :func:`re.compile` function. Flags should " +"be used first in the expression string." +msgstr "" +"(Os sinalizadores são descritos em :ref:`contents-of-module-re`.) Isso é " +"útil se você deseja incluir os sinalizadores como parte da expressão " +"regular, em vez de passar um argumento *flag* para a " +"função :func:`re.compile`. Os sinalizadores devem ser usados primeiro na " +"string de expressão." + +#: ../../library/re.rst:347 msgid "This construction can only be used at the start of the expression." msgstr "Esta construção só pode ser usada no início da expressão." -#: ../../library/re.rst:351 +#: ../../library/re.rst:356 msgid "``(?:...)``" msgstr "``(?:...)``" -#: ../../library/re.rst:348 +#: ../../library/re.rst:353 msgid "" "A non-capturing version of regular parentheses. Matches whatever regular " "expression is inside the parentheses, but the substring matched by the group " "*cannot* be retrieved after performing a match or referenced later in the " "pattern." msgstr "" -"Uma versão sem captura de parênteses regulares. Corresponde a qualquer " +"Uma versão de não-captura de parênteses regulares. Corresponde a qualquer " "expressão regular que esteja entre parênteses, mas a substring correspondida " "pelo grupo *não pode* ser recuperada após realizar uma correspondência ou " "referenciada posteriormente no padrão." -#: ../../library/re.rst:377 +#: ../../library/re.rst:388 msgid "``(?aiLmsux-imsx:...)``" msgstr "``(?aiLmsux-imsx:...)``" -#: ../../library/re.rst:354 +#: ../../library/re.rst:359 msgid "" "(Zero or more letters from the set ``'a'``, ``'i'``, ``'L'``, ``'m'``, " "``'s'``, ``'u'``, ``'x'``, optionally followed by ``'-'`` followed by one or " "more letters from the ``'i'``, ``'m'``, ``'s'``, ``'x'``.) The letters set " -"or remove the corresponding flags: :const:`re.A` (ASCII-only matching), :" -"const:`re.I` (ignore case), :const:`re.L` (locale dependent), :const:`re.M` " -"(multi-line), :const:`re.S` (dot matches all), :const:`re.U` (Unicode " -"matching), and :const:`re.X` (verbose), for the part of the expression. (The " -"flags are described in :ref:`contents-of-module-re`.)" +"or remove the corresponding flags for the part of the expression:" msgstr "" "(Zero ou mais letras do conjunto ``'a'``, ``'i'``, ``'L'``, ``'m'``, " -"``'s'``, ``'u'``, ``'x'``, opcionalmente seguido por ``'-'`` seguido por uma " -"ou mais letras de ``'i'``, ``'m'``, ``'s'``, ``'x'``. ) As letras definem ou " -"removem os sinalizadores correspondentes: :const:`re.A` (correspondência " -"somente ASCII), :const:`re.I` (não diferencia maiúsculas e minúsculas), :" -"const:`re.L` (dependente do local), :const:`re.M` (multi-linhas), :const:`re." -"S` (ponto corresponde a todos), :const:`re.U` (correspondência Unicode) e :" -"const:`re.X` (detalhamento), para a parte da expressão. (Os sinalizadores " -"são descritos em :ref:`contents-of-module-re`.)" +"``'s'``, ``'u'``, ``'x'``, opcionalmente seguidas por ``'-'`` seguido por " +"uma ou mais letras do conjunto ``'i'``, ``'m'``, ``'s'``, ``'x'``.) O " +"conjunto de letras define ou remove os sinalizadores correspondentes para a " +"parte da expressão:" + +#: ../../library/re.rst:373 +msgid "(The flags are described in :ref:`contents-of-module-re`.)" +msgstr "(Os sinalizadores são descritos em :ref:`contents-of-module-re`.)" -#: ../../library/re.rst:364 +#: ../../library/re.rst:375 msgid "" "The letters ``'a'``, ``'L'`` and ``'u'`` are mutually exclusive when used as " "inline flags, so they can't be combined or follow ``'-'``. Instead, when " "one of them appears in an inline group, it overrides the matching mode in " "the enclosing group. In Unicode patterns ``(?a:...)`` switches to ASCII-" "only matching, and ``(?u:...)`` switches to Unicode matching (default). In " -"byte pattern ``(?L:...)`` switches to locale depending matching, and ``(?" +"bytes patterns ``(?L:...)`` switches to locale dependent matching, and ``(?" "a:...)`` switches to ASCII-only matching (default). This override is only in " "effect for the narrow inline group, and the original matching mode is " "restored outside of the group." msgstr "" "As letras ``'a'``, ``'L'`` e ``'u'`` são mutuamente exclusivas quando usadas " -"como sinalizadores em linha, portanto, não podem ser correspondidas ou " -"seguir ``'-'``. Em vez disso, quando um deles aparece em um grupo embutido, " -"ele substitui o modo de correspondência no grupo anexo. Em padrões Unicode " -"``(?a:...)`` muda para correspondência somente ASCII, e ``(?u:...)`` muda " -"para correspondência Unicode (padrão). No padrão de byte ``(?L:...)`` muda " -"para a localidade dependendo da correspondência, e ``(?a:...)`` muda para " +"como sinalizadores em linha, portanto, não podem ser combinadas ou seguir " +"``'-'``. Em vez disso, quando um deles aparece em um grupo embutido, ele " +"substitui o modo de correspondência no grupo anexo. Em padrões Unicode ``(?" +"a:...)`` muda para correspondência somente ASCII, e ``(?u:...)`` muda para " +"correspondência Unicode (padrão). Em padrões de bytes ``(?L:...)`` muda para " +"a correspondência dependente da localidade, e ``(?a:...)`` muda para " "correspondência apenas ASCII (padrão). Esta substituição só tem efeito para " "o grupo estreito em linha e o modo de correspondência original é restaurado " "fora do grupo." -#: ../../library/re.rst:376 +#: ../../library/re.rst:387 msgid "The letters ``'a'``, ``'L'`` and ``'u'`` also can be used in a group." msgstr "" "As letras ``'a'``, ``'L'`` e ``'u'`` também podem ser usadas em um grupo." -#: ../../library/re.rst:392 +#: ../../library/re.rst:403 msgid "``(?>...)``" msgstr "``(?>...)``" -#: ../../library/re.rst:380 +#: ../../library/re.rst:391 msgid "" "Attempts to match ``...`` as if it was a separate regular expression, and if " "successful, continues to match the rest of the pattern following it. If the " "subsequent pattern fails to match, the stack can only be unwound to a point " -"*before* the ``(?>...)`` because once exited, the expression, known as an :" -"dfn:`atomic group`, has thrown away all stack points within itself. Thus, " -"``(?>.*).`` would never match anything because first the ``.*`` would match " -"all characters possible, then, having nothing left to match, the final ``.`` " -"would fail to match. Since there are no stack points saved in the Atomic " -"Group, and there is no stack point before it, the entire expression would " -"thus fail to match." +"*before* the ``(?>...)`` because once exited, the expression, known as " +"an :dfn:`atomic group`, has thrown away all stack points within itself. " +"Thus, ``(?>.*).`` would never match anything because first the ``.*`` would " +"match all characters possible, then, having nothing left to match, the final " +"``.`` would fail to match. Since there are no stack points saved in the " +"Atomic Group, and there is no stack point before it, the entire expression " +"would thus fail to match." msgstr "" "Tenta corresponder ``...`` como se fosse uma expressão regular separada e, " "se for bem-sucedida, continua correspondendo ao restante do padrão que a " @@ -798,11 +813,11 @@ msgstr "" "Como não há pontos de pilha salvos no Grupo Atômico e não há ponto de pilha " "antes dele, a expressão inteira não corresponderia." -#: ../../library/re.rst:423 +#: ../../library/re.rst:434 msgid "``(?P...)``" msgstr "``(?P...)``" -#: ../../library/re.rst:397 +#: ../../library/re.rst:408 msgid "" "Similar to regular parentheses, but the substring matched by the group is " "accessible via the symbolic group name *name*. Group names must be valid " @@ -816,93 +831,91 @@ msgstr "" "definido apenas uma vez em uma expressão regular. Um grupo simbólico também " "é um grupo numerado, como se o grupo não tivesse um nome." -#: ../../library/re.rst:403 +#: ../../library/re.rst:414 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 "" "Grupos nomeados podem ser referenciados em três contextos. Se o padrão for " -"``(?P['\"]).*?(?P=quote)`` (ou seja, corresponder a uma string entre " -"aspas simples ou duplas):" +"``(?P['\"]).*?(?P=citação)`` (ou seja, corresponder a uma string " +"entre aspas simples ou duplas):" -#: ../../library/re.rst:408 +#: ../../library/re.rst:419 msgid "Context of reference to group \"quote\"" -msgstr "Contexto de referência ao grupo \"quote\"" +msgstr "Contexto de referência ao grupo \"citação\"" -#: ../../library/re.rst:408 +#: ../../library/re.rst:419 msgid "Ways to reference it" msgstr "Formas de referenciá-lo" -#: ../../library/re.rst:410 +#: ../../library/re.rst:421 msgid "in the same pattern itself" msgstr "no mesmo padrão" -#: ../../library/re.rst:410 +#: ../../library/re.rst:421 msgid "``(?P=quote)`` (as shown)" -msgstr "``(?P=quote)`` (como mostrado)" +msgstr "``(?P=citação)`` (como mostrado)" -#: ../../library/re.rst:411 ../../library/re.rst:418 +#: ../../library/re.rst:422 ../../library/re.rst:429 msgid "``\\1``" msgstr "``\\1``" -#: ../../library/re.rst:413 +#: ../../library/re.rst:424 msgid "when processing match object *m*" msgstr "ao processar a correspondência do objeto *m*" -#: ../../library/re.rst:413 +#: ../../library/re.rst:424 msgid "``m.group('quote')``" -msgstr "``m.group('quote')``" +msgstr "``m.group('citação')``" -#: ../../library/re.rst:414 +#: ../../library/re.rst:425 msgid "``m.end('quote')`` (etc.)" -msgstr "``m.end('quote')`` (etc.)" +msgstr "``m.end('citação')`` (etc.)" -#: ../../library/re.rst:416 +#: ../../library/re.rst:427 msgid "in a string passed to the *repl* argument of ``re.sub()``" msgstr "em uma string passada para o argumento *repl* de ``re.sub()``" -#: ../../library/re.rst:416 +#: ../../library/re.rst:427 msgid "``\\g``" -msgstr "``\\g``" +msgstr "``\\g``" -#: ../../library/re.rst:417 +#: ../../library/re.rst:428 msgid "``\\g<1>``" msgstr "``\\g<1>``" -#: ../../library/re.rst:421 +#: ../../library/re.rst:432 msgid "" "Group *name* containing characters outside the ASCII range (``b'\\x00'``-" "``b'\\x7f'``) in :class:`bytes` patterns." msgstr "" -"Grupo *name* contendo caracteres fora do intervalo de ASCII (``b'\\x00'``-" -"``b'\\x7f'``) nos padrões :class:`bytes`." -#: ../../library/re.rst:429 +#: ../../library/re.rst:440 msgid "``(?P=name)``" -msgstr "``(?P=name)``" +msgstr "``(?P=nome)``" -#: ../../library/re.rst:428 +#: ../../library/re.rst:439 msgid "" "A backreference to a named group; it matches whatever text was matched by " "the earlier group named *name*." msgstr "" "Uma referência anterior a um grupo nomeado; corresponde a qualquer texto que " -"corresponda ao grupo anterior denominado *name*." +"corresponda ao grupo anterior denominado *nome*." -#: ../../library/re.rst:434 +#: ../../library/re.rst:445 msgid "``(?#...)``" msgstr "``(?#...)``" -#: ../../library/re.rst:434 +#: ../../library/re.rst:445 msgid "A comment; the contents of the parentheses are simply ignored." msgstr "Um comentário; o conteúdo dos parênteses é simplesmente ignorado." -#: ../../library/re.rst:441 +#: ../../library/re.rst:452 msgid "``(?=...)``" msgstr "``(?=...)``" -#: ../../library/re.rst:439 +#: ../../library/re.rst:450 msgid "" "Matches if ``...`` matches next, but doesn't consume any of the string. " "This is called a :dfn:`lookahead assertion`. For example, ``Isaac (?" @@ -913,11 +926,11 @@ msgstr "" "=Asimov)`` corresponderá a ``'Isaac '`` apenas se for seguido por " "``'Asimov'``." -#: ../../library/re.rst:448 +#: ../../library/re.rst:459 msgid "``(?!...)``" msgstr "``(?!...)``" -#: ../../library/re.rst:446 +#: ../../library/re.rst:457 msgid "" "Matches if ``...`` doesn't match next. This is a :dfn:`negative lookahead " "assertion`. For example, ``Isaac (?!Asimov)`` will match ``'Isaac '`` only " @@ -927,11 +940,11 @@ msgstr "" "preditiva negativa`. Por exemplo, ``Isaac (?!Asimov)`` corresponderá a " "``'Isaac '`` apenas se *não* for seguido por ``'Asimov'``." -#: ../../library/re.rst:475 +#: ../../library/re.rst:486 msgid "``(?<=...)``" msgstr "``(?<=...)``" -#: ../../library/re.rst:453 +#: ../../library/re.rst:464 msgid "" "Matches if the current position in the string is preceded by a match for " "``...`` that ends at the current position. This is called a :dfn:`positive " @@ -941,8 +954,8 @@ msgid "" "length, meaning that ``abc`` or ``a|b`` are allowed, but ``a*`` and ``a{3,4}" "`` are not. Note that patterns which start with positive lookbehind " "assertions will not match at the beginning of the string being searched; you " -"will most likely want to use the :func:`search` function rather than the :" -"func:`match` function:" +"will most likely want to use the :func:`search` function rather than " +"the :func:`match` function:" msgstr "" "Corresponde se a posição atual na string for precedida por uma " "correspondência para ``...`` que termina na posição atual. Isso é chamado " @@ -953,22 +966,22 @@ msgstr "" "significa que ``abc`` ou ``a|b`` são permitidos, mas ``a*`` e ``a{3,4}`` não " "são. Observe que os padrões que começam com asserções retroativas positivas " "não corresponderão ao início da string que está sendo pesquisada; você " -"provavelmente desejará usar a função :func:`search` em vez da função :func:" -"`match`:" +"provavelmente desejará usar a função :func:`search` em vez da " +"função :func:`match`:" -#: ../../library/re.rst:468 +#: ../../library/re.rst:479 msgid "This example looks for a word following a hyphen:" msgstr "Este exemplo procura por uma palavra logo após um hífen:" -#: ../../library/re.rst:474 +#: ../../library/re.rst:485 msgid "Added support for group references of fixed length." msgstr "Adicionado suporte para referências de grupo de comprimento fixo." -#: ../../library/re.rst:484 +#: ../../library/re.rst:495 msgid "``(?'`` bem como ``'usuario@host.com'``, mas não com " "``''`` nem ``'usuario@host.com>'``." -#: ../../library/re.rst:497 ../../library/re.rst:1020 +#: ../../library/re.rst:508 ../../library/re.rst:1084 msgid "" "Group *id* containing anything except ASCII digits. Group *name* containing " -"characters outside the ASCII range (``b'\\x00'``-``b'\\x7f'``) in :class:" -"`bytes` replacement strings." +"characters outside the ASCII range (``b'\\x00'``-``b'\\x7f'``) " +"in :class:`bytes` replacement strings." msgstr "" -"Grupo *id* contendo qualquer coisa, exceto dígitos ASCII. Grupo *name* " -"contendo caracteres fora do intervalo de ASCII (``b'\\x00'``-``b'\\x7f'``) " -"em strings de substituição de :class:`bytes`." -#: ../../library/re.rst:503 +#: ../../library/re.rst:516 msgid "" "The special sequences consist of ``'\\'`` and a character from the list " "below. If the ordinary character is not an ASCII digit or an ASCII letter, " @@ -1025,11 +1035,11 @@ msgstr "" "ER resultante corresponderá ao segundo caractere. Por exemplo, ``\\$`` " "corresponde ao caractere ``'$'``." -#: ../../library/re.rst:518 +#: ../../library/re.rst:531 msgid "``\\number``" msgstr "``\\número``" -#: ../../library/re.rst:511 +#: ../../library/re.rst:524 msgid "" "Matches the contents of the group of the same number. Groups are numbered " "starting from 1. For example, ``(.+) \\1`` matches ``'the the'`` or ``'55 " @@ -1050,133 +1060,155 @@ msgstr "" "``']'`` de uma classe de caracteres, todos os escapes numéricos são tratados " "como caracteres." -#: ../../library/re.rst:523 +#: ../../library/re.rst:536 msgid "``\\A``" msgstr "``\\A``" -#: ../../library/re.rst:523 +#: ../../library/re.rst:536 msgid "Matches only at the start of the string." msgstr "Corresponde apenas ao início da string." -#: ../../library/re.rst:539 +#: ../../library/re.rst:558 msgid "``\\b``" msgstr "``\\b``" -#: ../../library/re.rst:528 +#: ../../library/re.rst:541 msgid "" "Matches the empty string, but only at the beginning or end of a word. A word " -"is defined as a sequence of word characters. Note that formally, ``\\b`` is " +"is defined as a sequence of word characters. Note that formally, ``\\b`` is " "defined as the boundary between a ``\\w`` and a ``\\W`` character (or vice " -"versa), or between ``\\w`` and the beginning/end of the string. This means " -"that ``r'\\bfoo\\b'`` matches ``'foo'``, ``'foo.'``, ``'(foo)'``, ``'bar foo " -"baz'`` but not ``'foobar'`` or ``'foo3'``." +"versa), or between ``\\w`` and the beginning or end of the string. This " +"means that ``r'\\bat\\b'`` matches ``'at'``, ``'at.'``, ``'(at)'``, and " +"``'as at ay'`` but not ``'attempt'`` or ``'atlas'``." msgstr "" "Corresponde à string vazia, mas apenas no início ou no final de uma palavra. " "Uma palavra é definida como uma sequência de caracteres de palavras. Observe " "que, formalmente, ``\\b`` é definido como a fronteira entre um caractere " "``\\w`` e um ``\\W`` (ou vice-versa), ou entre ``\\w`` e o início/fim da " -"string. Isso significa que ``r'\\bfoo\\b'`` corresponde a ``'foo'``, " -"``'foo.'``, ``'(foo)'``, ``'bar foo baz'``, mas não a ``'foobar'`` ou " -"``'foo3'``." +"string. Isso significa que ``r'\\bat\\b'`` corresponde a ``'at'``, " +"``'at.'``, ``'(at)'``, ``'as at ay'``, mas não a ``'attempt'`` ou " +"``'atlas'``." + +#: ../../library/re.rst:549 +msgid "" +"The default word characters in Unicode (str) patterns are Unicode " +"alphanumerics and the underscore, but this can be changed by 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 "" +"Os caracteres de palavras predefinidos em padrões Unicode (str) são " +"alfanuméricos Unicode e o sublinhado, mas isso pode ser alterado usando o " +"sinalizador :py:const:`~re.ASCII`. Os limites das palavras são determinados " +"pela localidade atual se o sinalizador :py:const:`~re.LOCALE` for usado." -#: ../../library/re.rst:535 +#: ../../library/re.rst:557 msgid "" -"By default Unicode alphanumerics are the ones used in Unicode patterns, but " -"this can be changed by using the :const:`ASCII` flag. Word boundaries are " -"determined by the current locale if the :const:`LOCALE` flag is used. Inside " -"a character range, ``\\b`` represents the backspace character, for " +"Inside a character range, ``\\b`` represents the backspace character, for " "compatibility with Python's string literals." msgstr "" -"Por padrão, os alfanuméricos Unicode são aqueles usados nos padrões Unicode, " -"mas isso pode ser alterado usando o sinalizador :const:`ASCII`. Os limites " -"das palavras são determinados pela localidade atual se o sinalizador :const:" -"`LOCALE` for usado. Dentro de um intervalo de caracteres, ``\\b`` representa " -"o caractere de backspace, para compatibilidade com os literais de string do " -"Python." +"Dentro de um intervalo de caracteres, ``\\b`` representa o caractere " +"backspace, para compatibilidade com strings literais do Python." -#: ../../library/re.rst:550 +#: ../../library/re.rst:572 msgid "``\\B``" msgstr "``\\B``" -#: ../../library/re.rst:544 +#: ../../library/re.rst:563 msgid "" "Matches the empty string, but only when it is *not* at the beginning or end " -"of a word. This means that ``r'py\\B'`` matches ``'python'``, ``'py3'``, " -"``'py2'``, but not ``'py'``, ``'py.'``, or ``'py!'``. ``\\B`` is just the " -"opposite of ``\\b``, so word characters in Unicode patterns are Unicode " -"alphanumerics or the underscore, although this can be changed by using the :" -"const:`ASCII` flag. Word boundaries are determined by the current locale if " -"the :const:`LOCALE` flag is used." +"of a word. This means that ``r'at\\B'`` matches ``'athens'``, ``'atom'``, " +"``'attorney'``, but not ``'at'``, ``'at.'``, or ``'at!'``. ``\\B`` is the " +"opposite of ``\\b``, so word characters in Unicode (str) patterns are " +"Unicode alphanumerics or the underscore, although this can be changed by " +"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 "" "Corresponde à string vazia, mas apenas quando *não* estiver no início ou no " -"final de uma palavra. Isso significa que ``r'py\\B'`` corresponde a " -"``'python'``, ``'py3'``, ``'py2'``, mas não ``'py'``, ``'py.'`` ou " -"``'py!'``. ``\\B`` é exatamente o oposto de ``\\b``, então caracteres de " +"final de uma palavra. Isso significa que ``r'at\\B'`` corresponde a " +"``'athens'``, ``'atom'``, ``'attorney'``, mas não ``'at'``, ``'at.'`` ou " +"``'at!'``. ``\\B`` é exatamente o oposto de ``\\b``, então caracteres de " "palavras em padrões Unicode são alfanuméricos Unicode ou o sublinhado, " -"embora isso possa ser alterado usando o sinalizador :const:`ASCII`. Os " -"limites das palavras são determinados pela localidade atual se o " -"sinalizador :const:`LOCALE` for usado." +"embora isso possa ser alterado usando o sinalizador :py:const:`~re.ASCII`. " +"Os limites das palavras são determinados pela localidade atual se o " +"sinalizador :py:const:`~re.LOCALE` for usado." -#: ../../library/re.rst:562 +#: ../../library/re.rst:588 msgid "``\\d``" msgstr "``\\d``" -#: ../../library/re.rst:559 ../../library/re.rst:579 ../../library/re.rst:598 +#: ../../library/re.rst:584 ../../library/re.rst:607 ../../library/re.rst:630 msgid "For Unicode (str) patterns:" -msgstr "Para padrões (str) Unicode:" +msgstr "Para padrões Unicode (str):" -#: ../../library/re.rst:556 +#: ../../library/re.rst:578 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. If the :const:`ASCII` flag is used only ``[0-9]`` is " -"matched." +"character category `[Nd]`__). This includes ``[0-9]``, and also many other " +"digit characters." msgstr "" "Corresponde a qualquer dígito decimal Unicode (ou seja, qualquer caractere " -"na categoria de caractere Unicode [Nd]). Isso inclui ``[0-9]``, e também " -"muitos outros caracteres de dígitos. Se o sinalizador :const:`ASCII` for " -"usado, apenas ``[0-9]`` será correspondido." +"na categoria de caractere Unicode `[Nd]`__). Isso inclui ``[0-9]``, e também " +"muitos outros caracteres de dígitos." -#: ../../library/re.rst:562 ../../library/re.rst:583 ../../library/re.rst:604 +#: ../../library/re.rst:582 +msgid "Matches ``[0-9]`` if the :py:const:`~re.ASCII` flag is used." +msgstr "" +"Se o sinalizador :py:const:`~re.ASCII` for usado, apenas ``[0-9]`` será " +"correspondido." + +#: ../../library/re.rst:588 ../../library/re.rst:611 ../../library/re.rst:636 msgid "For 8-bit (bytes) patterns:" msgstr "Para padrões de 8 bits (isto é, bytes):" -#: ../../library/re.rst:562 -msgid "Matches any decimal digit; this is equivalent to ``[0-9]``." -msgstr "Corresponde a qualquer dígito decimal; isso é equivalente a ``[0-9]``." +#: ../../library/re.rst:587 +msgid "" +"Matches any decimal digit in the ASCII character set; this is equivalent to " +"``[0-9]``." +msgstr "" +"Corresponde a qualquer dígito decimal no conjunto de caracteres ASCII; isso " +"é equivalente a ``[0-9]``." -#: ../../library/re.rst:569 +#: ../../library/re.rst:596 msgid "``\\D``" msgstr "``\\D``" -#: ../../library/re.rst:567 +#: ../../library/re.rst:593 msgid "" "Matches any character which is not a decimal digit. This is the opposite of " -"``\\d``. If the :const:`ASCII` flag is used this becomes the equivalent of " -"``[^0-9]``." +"``\\d``." msgstr "" -"Corresponde a qualquer caractere que não seja um dígito decimal. Este é o " -"oposto de ``\\d``. Se o sinalizador :const:`ASCII` for usado, isso se " -"tornará o equivalente a ``[^0-9]``." +"Corresponde a qualquer caractere que não seja um dígito decimal. Isso é o " +"oposto de ``\\d``." -#: ../../library/re.rst:583 +#: ../../library/re.rst:596 +msgid "Matches ``[^0-9]`` if the :py:const:`~re.ASCII` flag is used." +msgstr "" +"Se o sinalizador :const:`~re.ASCII` for usado, apenas ``[^0-9]`` será " +"correspondido." + +#: ../../library/re.rst:611 msgid "``\\s``" msgstr "``\\s``" -#: ../../library/re.rst:575 +#: ../../library/re.rst:602 msgid "" "Matches Unicode whitespace characters (which includes " "``[ \\t\\n\\r\\f\\v]``, and also many other characters, for example the non-" -"breaking spaces mandated by typography rules in many languages). If the :" -"const:`ASCII` flag is used, only ``[ \\t\\n\\r\\f\\v]`` is matched." +"breaking spaces mandated by typography rules in many languages)." msgstr "" "Corresponde a caracteres de espaço em branco Unicode (que inclui " "``[ \\t\\n\\r\\f\\v]``, e também muitos outros caracteres, como, por " "exemplo, os espaços não separáveis exigidos pelas regras de tipografia em " -"muitos idiomas). Se o sinalizador :const:`ASCII` for usado, apenas " +"muitos idiomas)." + +#: ../../library/re.rst:607 +msgid "" +"Matches ``[ \\t\\n\\r\\f\\v]`` if the :py:const:`~re.ASCII` flag is used." +msgstr "" +"Se o sinalizador :const:`~re.ASCII` for usado, apenas " "``[ \\t\\n\\r\\f\\v]`` é correspondido." -#: ../../library/re.rst:582 +#: ../../library/re.rst:610 msgid "" "Matches characters considered whitespace in the ASCII character set; this is " "equivalent to ``[ \\t\\n\\r\\f\\v]``." @@ -1184,73 +1216,94 @@ msgstr "" "Corresponde a caracteres considerados espaços em branco no conjunto de " "caracteres ASCII; isso é equivalente a ``[ \\t\\n\\r\\f\\v]``." -#: ../../library/re.rst:590 +#: ../../library/re.rst:619 msgid "``\\S``" msgstr "``\\S``" -#: ../../library/re.rst:588 +#: ../../library/re.rst:616 msgid "" "Matches any character which is not a whitespace character. This is the " -"opposite of ``\\s``. If the :const:`ASCII` flag is used this becomes the " -"equivalent of ``[^ \\t\\n\\r\\f\\v]``." +"opposite of ``\\s``." +msgstr "" +"Corresponde a qualquer caractere que não seja um espaço em branco. Isso é o " +"oposto de ``\\s``." + +#: ../../library/re.rst:619 +msgid "" +"Matches ``[^ \\t\\n\\r\\f\\v]`` if the :py:const:`~re.ASCII` flag is used." msgstr "" -"Corresponde a qualquer caractere que não seja um caractere de espaço em " -"branco. Este é o oposto de ``\\s``. Se o sinalizador :const:`ASCII` for " -"usado, isso se tornará o equivalente a ``[^ \\t\\n\\r\\f\\v]``." +"Se o sinalizador :const:`~re.ASCII` for usado, apenas ``[^ " +"\\t\\n\\r\\f\\v]`` é correspondido." -#: ../../library/re.rst:604 +#: ../../library/re.rst:636 msgid "``\\w``" msgstr "``\\w``" -#: ../../library/re.rst:596 +#: ../../library/re.rst:625 msgid "" -"Matches Unicode word characters; this includes alphanumeric characters (as " -"defined by :meth:`str.isalnum`) as well as the underscore (``_``). If the :" -"const:`ASCII` flag is used, only ``[a-zA-Z0-9_]`` is matched." +"Matches Unicode word characters; this includes all Unicode alphanumeric " +"characters (as defined by :py:meth:`str.isalnum`), as well as the underscore " +"(``_``)." +msgstr "" +"Corresponde a caracteres de palavras Unicode; isso inclui todos os " +"caracteres alfanuméricos Unicode (conforme definido " +"por :py:meth:`str.isalnum`), bem como o sublinhado (``_``)." + +#: ../../library/re.rst:630 +msgid "Matches ``[a-zA-Z0-9_]`` if the :py:const:`~re.ASCII` flag is used." msgstr "" -"Corresponde a caracteres Unicode de palavras; isso inclui caracteres " -"alfanuméricos (conforme definido por :meth:`str.isalnum`), bem como o " -"sublinhado (``_``). Se o sinalizador :const:`ASCII` for usado, apenas ``[a-" -"zA-Z0-9_]`` será correspondido." +"Se o sinalizador :const:`~re.ASCII` for usado, apenas ``[a-zA-Z0-9_]`` será " +"correspondido." -#: ../../library/re.rst:601 +#: ../../library/re.rst:633 msgid "" "Matches characters considered alphanumeric in the ASCII character set; this " -"is equivalent to ``[a-zA-Z0-9_]``. If the :const:`LOCALE` flag is used, " -"matches characters considered alphanumeric in the current locale and the " -"underscore." +"is equivalent to ``[a-zA-Z0-9_]``. If the :py:const:`~re.LOCALE` flag is " +"used, matches characters considered alphanumeric in the current locale and " +"the underscore." msgstr "" "Corresponde a caracteres considerados alfanuméricos no conjunto de " -"caracteres ASCII; isso é equivalente a ``[a-zA-Z0-9_]``. Se o sinalizador :" -"const:`LOCALE` for usado, corresponde aos caracteres considerados " -"alfanuméricos na localidade atual e o sublinhado." +"caracteres ASCII; isso é equivalente a ``[a-zA-Z0-9_]``. Se o " +"sinalizador :py:const:`~re.LOCALE` for usado, corresponde aos caracteres " +"considerados alfanuméricos na localidade atual e o sublinhado." -#: ../../library/re.rst:613 +#: ../../library/re.rst:650 msgid "``\\W``" msgstr "``\\W``" -#: ../../library/re.rst:609 +#: ../../library/re.rst:641 msgid "" "Matches any character which is not a word character. This is the opposite of " -"``\\w``. If the :const:`ASCII` flag is used this becomes the equivalent of " -"``[^a-zA-Z0-9_]``. If the :const:`LOCALE` flag is used, matches characters " -"which are neither alphanumeric in the current locale nor the underscore." +"``\\w``. By default, matches non-underscore (``_``) characters for " +"which :py:meth:`str.isalnum` returns ``False``." +msgstr "" +"Corresponde a qualquer caractere que não seja um caractere de palavra. Isso " +"é o oposto de ``\\w``. Por padrão, corresponde a caracteres que não são " +"sublinhados (``_``) para os quais :py:meth:`str.isalnum` retorna ``False``." + +#: ../../library/re.rst:646 +msgid "Matches ``[^a-zA-Z0-9_]`` if the :py:const:`~re.ASCII` flag is used." +msgstr "" +"Se o sinalizador :const:`~re.ASCII` for usado, apenas ``[^a-zA-Z0-9_]`` será " +"correspondido." + +#: ../../library/re.rst:648 +msgid "" +"If the :py:const:`~re.LOCALE` flag is used, matches characters which are " +"neither alphanumeric in the current locale nor the underscore." msgstr "" -"Corresponde a qualquer caractere que não seja um caractere de palavra. Este " -"é o oposto de ``\\w``. Se o sinalizador :const:`ASCII` for usado, ele se " -"tornará o equivalente a ``[^a-zA-Z0-9_]``. Se o sinalizador :const:`LOCALE` " -"for usado, corresponde a caracteres que não são alfanuméricos na localidade " -"local atual nem o sublinhado." +"Se o sinalizador :py:const:`~re.LOCALE` for usado, corresponde a caracteres " +"que não são alfanuméricos na localidade atual nem ao sublinhado." -#: ../../library/re.rst:618 +#: ../../library/re.rst:655 msgid "``\\Z``" msgstr "``\\Z``" -#: ../../library/re.rst:618 +#: ../../library/re.rst:655 msgid "Matches only at the end of the string." msgstr "Corresponde apenas ao final da string." -#: ../../library/re.rst:634 +#: ../../library/re.rst:671 msgid "" "Most of the standard escapes supported by Python string literals are also " "accepted by the regular expression parser::" @@ -1258,7 +1311,7 @@ msgstr "" "A maioria dos escapes padrão suportados por literais de string Python também " "são aceitos pelo analisador sintático de expressão regular:" -#: ../../library/re.rst:641 +#: ../../library/re.rst:678 msgid "" "(Note that ``\\b`` is used to represent word boundaries, and means " "\"backspace\" only inside character classes.)" @@ -1266,18 +1319,18 @@ msgstr "" "(Observe que ``\\b`` é usado para representar limites de palavras e " "significa fazer \"backspace\" apenas dentro das classes de caracteres.)" -#: ../../library/re.rst:644 +#: ../../library/re.rst:681 msgid "" "``'\\u'``, ``'\\U'``, and ``'\\N'`` escape sequences are only recognized in " -"Unicode patterns. In bytes patterns they are errors. Unknown escapes of " -"ASCII letters are reserved for future use and treated as errors." +"Unicode (str) patterns. In bytes patterns they are errors. Unknown escapes " +"of ASCII letters are reserved for future use and treated as errors." msgstr "" "As sequências de escape ``'\\u'``, ``'\\U'`` e ``'\\N'`` são reconhecidas " -"apenas em padrões Unicode. Em padrões de bytes, eles são erros. Escapes " -"desconhecidos de letras ASCII são reservados para uso futuro e tratados como " -"erros." +"apenas em padrões Unicode (str). Em padrões de bytes, eles são erros. " +"Escapes desconhecidos de letras ASCII são reservados para uso futuro e " +"tratados como erros." -#: ../../library/re.rst:648 +#: ../../library/re.rst:687 msgid "" "Octal escapes are included in a limited form. If the first digit is a 0, or " "if there are three octal digits, it is considered an octal escape. " @@ -1289,31 +1342,32 @@ msgstr "" "octal. Caso contrário, é uma referência de grupo. Quanto aos literais de " "string, os escapes octais têm sempre no máximo três dígitos." -#: ../../library/re.rst:653 +#: ../../library/re.rst:692 msgid "The ``'\\u'`` and ``'\\U'`` escape sequences have been added." msgstr "As sequências de escape ``'\\u'`` e ``'\\U'`` foram adicionadas." -#: ../../library/re.rst:656 +#: ../../library/re.rst:695 msgid "" "Unknown escapes consisting of ``'\\'`` and an ASCII letter now are errors." msgstr "" "Escapes desconhecidos consistindo em ``'\\'`` e uma letra ASCII agora são " "erros." -#: ../../library/re.rst:659 +#: ../../library/re.rst:698 msgid "" -"The ``'\\N{name}'`` escape sequence has been added. As in string literals, " -"it expands to the named Unicode character (e.g. ``'\\N{EM DASH}'``)." +"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 "" -"A sequência de escape ``'\\N{nome}'`` foi adicionada. Como em literais de " -"string, ela se expande para o caractere Unicode nomeado (por exemplo, " -"``'\\N{EM DASH}'``)." +"A sequência de escape :samp:`'\\\\N\\\\{{name}\\\\}'` foi adicionada. Como " +"em literais de string, ela se expande para o caractere Unicode nomeado (por " +"exemplo, ``'\\N{EM DASH}'``)." -#: ../../library/re.rst:667 +#: ../../library/re.rst:706 msgid "Module Contents" msgstr "Conteúdo do módulo" -#: ../../library/re.rst:669 +#: ../../library/re.rst:708 msgid "" "The module defines several functions, constants, and an exception. Some of " "the functions are simplified versions of the full featured methods for " @@ -1325,11 +1379,11 @@ msgstr "" "regulares compiladas. A maioria das aplicações não triviais sempre usa a " "forma compilada." -#: ../../library/re.rst:676 +#: ../../library/re.rst:715 msgid "Flags" msgstr "Sinalizadores" -#: ../../library/re.rst:678 +#: ../../library/re.rst:717 msgid "" "Flag constants are now instances of :class:`RegexFlag`, which is a subclass " "of :class:`enum.IntFlag`." @@ -1337,122 +1391,141 @@ msgstr "" "Constantes de sinalizadores agora são instâncias de :class:`RegexFlag`, que " "é uma subclasse de :class:`enum.IntFlag`." -#: ../../library/re.rst:685 +#: ../../library/re.rst:724 msgid "" "An :class:`enum.IntFlag` class containing the regex options listed below." msgstr "" -"Uma classe :class:`enum.IntFlag` contendo as opções de regex listadas abaixo." +"Uma subclasse de :class:`enum.IntFlag` contendo as opções de expressão " +"regular listadas abaixo." -#: ../../library/re.rst:687 +#: ../../library/re.rst:726 msgid "- added to ``__all__``" msgstr "- adicionada a ``__all__``" -#: ../../library/re.rst:692 +#: ../../library/re.rst:731 msgid "" "Make ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\d``, ``\\D``, ``\\s`` and " "``\\S`` perform ASCII-only matching instead of full Unicode matching. This " -"is only meaningful for Unicode patterns, and is ignored for byte patterns. " -"Corresponds to the inline flag ``(?a)``." +"is only meaningful for Unicode (str) patterns, and is ignored for bytes " +"patterns." msgstr "" "Faz com que ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\d``, ``\\D``, ``\\s`` e " "``\\S`` executem a correspondência somente ASCII em vez da correspondência " -"Unicode completa. Isso é significativo apenas para padrões Unicode e é " -"ignorado para padrões de bytes. Corresponde ao sinalizador em linha ``(?a)``." +"Unicode completa. Isso é significativo apenas para padrões Unicode (str) e é " +"ignorado para padrões de bytes." -#: ../../library/re.rst:697 -msgid "" -"Note that for backward compatibility, the :const:`re.U` flag still exists " -"(as well as its synonym :const:`re.UNICODE` and its embedded counterpart ``(?" -"u)``), but these are redundant in Python 3 since matches are Unicode by " -"default for strings (and Unicode matching isn't allowed for bytes)." -msgstr "" -"Observe que, para compatibilidade com versões anteriores, o sinalizador :" -"const:`re.U` ainda existe (bem como seu sinônimo :const:`re.UNICODE` e sua " -"contraparte incorporada ``(?u)``), mas estes são redundantes em Python 3, " -"pois as correspondências são Unicode por padrão para strings (e a " -"correspondência Unicode não é permitida para bytes)." +#: ../../library/re.rst:735 +msgid "Corresponds to the inline flag ``(?a)``." +msgstr "Corresponde ao sinalizador em linha ``(?a)``." -#: ../../library/re.rst:706 +#: ../../library/re.rst:739 msgid "" -"Display debug information about compiled expression. No corresponding inline " -"flag." +"The :py:const:`~re.U` flag still exists for backward compatibility, but is " +"redundant in Python 3 since matches are Unicode by default for ``str`` " +"patterns, and Unicode matching isn't allowed for bytes " +"patterns. :py:const:`~re.UNICODE` and the inline flag ``(?u)`` are similarly " +"redundant." msgstr "" -"Exibe informações de depuração sobre a expressão compilada. Nenhum " -"sinalizador em linha correspondente." +"O sinalizador :py:const:`~re.U` ainda existe para compatibilidade com " +"versões anteriores, mas é redundante no Python 3, pois as correspondências " +"são feitas em Unicode por padrão para padrões de ``str`` e correspondência " +"Unicode não é permitida para padrões de \"bytes\". :py:const:`~re.UNICODE` e " +"o sinalizador em linha ``(?u)`` são igualmente redundantes." -#: ../../library/re.rst:713 +#: ../../library/re.rst:748 +msgid "Display debug information about compiled expression." +msgstr "Exibe informações de depuração sobre a expressão compilada." + +#: ../../library/re.rst:750 +msgid "No corresponding inline flag." +msgstr "Nenhum sinalizador em linha correspondente." + +#: ../../library/re.rst:756 msgid "" -"Perform case-insensitive matching; expressions like ``[A-Z]`` will also " -"match lowercase letters. Full Unicode matching (such as ``Ü`` matching " -"``ü``) also works unless the :const:`re.ASCII` flag is used to disable non-" -"ASCII matches. The current locale does not change the effect of this flag " -"unless the :const:`re.LOCALE` flag is also used. Corresponds to the inline " -"flag ``(?i)``." +"Perform case-insensitive matching; expressions like ``[A-Z]`` will also " +"match lowercase letters. Full Unicode matching (such as ``Ü`` matching " +"``ü``) also works unless the :py:const:`~re.ASCII` flag is used to disable " +"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 "" -"Executa uma correspondência que não diferencia maiúsculas de minúsculas; " +"Faz uma correspondência que não diferencia maiúsculas de minúsculas; " "expressões como ``[A-Z]`` também corresponderão a letras minúsculas. A " "correspondência Unicode completa (como ``Ü`` correspondendo a ``ü``) também " -"funciona, a menos que o sinalizador :const:`re.ASCII` seja usado para " +"funciona, a menos que o sinalizador :py:const:`~re.ASCII` seja usado para " "desabilitar correspondências não ASCII. A localidade atual não muda o efeito " -"deste sinalizador a menos que o sinalizador :const:`re.LOCALE` também seja " -"usado. Corresponde ao sinalizador em linha ``(?i)``." +"deste sinalizador a menos que o sinalizador :py:const:`~re.LOCALE` também " +"seja usado." + +#: ../../library/re.rst:764 +msgid "Corresponds to the inline flag ``(?i)``." +msgstr "Corresponde ao sinalizador em linha ``(?i)``." -#: ../../library/re.rst:720 +#: ../../library/re.rst:766 msgid "" "Note that when the Unicode patterns ``[a-z]`` or ``[A-Z]`` are used in " "combination with the :const:`IGNORECASE` flag, they will match the 52 ASCII " "letters and 4 additional non-ASCII letters: 'İ' (U+0130, Latin capital " -"letter I with dot above), 'ı' (U+0131, Latin small letter dotless i), " -"'ſ' (U+017F, Latin small letter long s) and 'K' (U+212A, Kelvin sign). If " -"the :const:`ASCII` flag is used, only letters 'a' to 'z' and 'A' to 'Z' are " -"matched." +"letter I with dot above), 'ı' (U+0131, Latin small letter dotless i), 'ſ' " +"(U+017F, Latin small letter long s) and 'K' (U+212A, Kelvin sign). If " +"the :py:const:`~re.ASCII` flag is used, only letters 'a' to 'z' and 'A' to " +"'Z' are matched." msgstr "" "Observe que quando os padrões Unicode ``[a-z]`` ou ``[A-Z]`` são usados em " "combinação com o sinalizador :const:`IGNORECASE`, eles corresponderão às 52 " -"letras ASCII e 4 letras não ASCII adicionais: 'İ' (U+0130, letra latina I " +"letras ASCII e 4 letras não-ASCII adicionais: 'İ' (U+0130, letra latina I " "maiúscula com ponto em cima), 'ı' (U+0131, letra latina i minúscula sem " -"ponto), 'ſ' (U+017F, letra latina s minúscula longa) e 'K' (U+212A, sinal de " -"Kelvin). Se o sinalizador :const:`ASCII` for usado, apenas as letras 'a' a " -"'z' e 'A' a 'Z' serão correspondidas." +"ponto), 'ſ' (U+017F, letra latina s minúscula longa) e 'K' (U+212A, sinal de " +"Kelvin). Se o sinalizador :py:const:`~re.ASCII` for usado, apenas as letras " +"'a' a 'z' e 'A' a 'Z' serão correspondidas." -#: ../../library/re.rst:731 +#: ../../library/re.rst:777 msgid "" "Make ``\\w``, ``\\W``, ``\\b``, ``\\B`` and case-insensitive matching " -"dependent on the current locale. This flag can be used only with bytes " -"patterns. The use of this flag is discouraged as the locale mechanism is " -"very unreliable, it only handles one \"culture\" at a time, and it only " -"works with 8-bit locales. Unicode matching is already enabled by default in " -"Python 3 for Unicode (str) patterns, and it is able to handle different " -"locales/languages. Corresponds to the inline flag ``(?L)``." -msgstr "" -"Faz ``\\w``, ``\\W``, ``\\b``, ``\\B`` e a correspondência sem diferença " -"entre maiúsculas e minúsculas dependente do local atual. Este sinalizador " -"pode ser usado apenas com padrões de bytes. O uso desse sinalizador é " -"desencorajado porque o mecanismo de localidade não é confiável, ele só lida " -"com uma \"cultura\" por vez e só funciona com localidades de 8 bits. A " -"correspondência Unicode já está habilitada por padrão no Python 3 para " -"padrões Unicode (str) e é capaz de lidar com diferentes localidades/idiomas. " -"Corresponde ao sinalizador em linha ``(?L)``." - -#: ../../library/re.rst:740 -msgid "" -":const:`re.LOCALE` can be used only with bytes patterns and is not " -"compatible with :const:`re.ASCII`." -msgstr "" -":const:`re.LOCALE` pode ser usado apenas com padrões de bytes e não é " -"compatível com :const:`re.ASCII`." - -#: ../../library/re.rst:744 -msgid "" -"Compiled regular expression objects with the :const:`re.LOCALE` flag no " -"longer depend on the locale at compile time. Only the locale at matching " +"dependent on the current locale. This flag can be used only with bytes " +"patterns." +msgstr "" +"Faz com que ``\\w``, ``\\W``, ``\\b``, ``\\B`` e a correspondência sem " +"diferenciação de maiúsculas e minúsculas dependam da localidade atual. Esse " +"sinalizador só pode ser usado com padrões de bytes." + +#: ../../library/re.rst:781 +msgid "Corresponds to the inline flag ``(?L)``." +msgstr "Corresponde ao sinalizador em linha ``(?L)``." + +#: ../../library/re.rst:785 +msgid "" +"This flag is discouraged; consider Unicode matching instead. The locale " +"mechanism is very unreliable as it only handles one \"culture\" at a time " +"and only works with 8-bit locales. Unicode matching is enabled by default " +"for Unicode (str) patterns and it is able to handle different locales and " +"languages." +msgstr "" +"Este sinalizador é desencorajado; considere usar correspondência Unicode em " +"vez disso. O mecanismo de localidade é muito pouco confiável, pois só " +"manipula uma \"cultura\" por vez e só funciona com localidades de 8 bits. A " +"correspondência Unicode é habilitada por padrão para padrões Unicode (str) e " +"é capaz de manipular diferentes localidades e idiomas." + +#: ../../library/re.rst:792 +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` pode ser usado apenas com padrões de bytes e não é " +"compatível com :const:`~re.ASCII`." + +#: ../../library/re.rst:796 +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 "" -"Objetos expressão regular compilados com o sinalizador :const:`re.LOCALE` " -"não dependem mais da localidade em tempo de compilação. Apenas a localidade " -"no momento da correspondência afeta o resultado da correspondência." +"Objetos de expressão regular compilados com o " +"sinalizador :py:const:`~re.LOCALE` não dependem mais da localidade em tempo " +"de compilação. Apenas a localidade no momento da correspondência afeta o " +"resultado da correspondência." -#: ../../library/re.rst:753 +#: ../../library/re.rst:805 msgid "" "When specified, the pattern character ``'^'`` matches at the beginning of " "the string and at the beginning of each line (immediately following each " @@ -1460,17 +1533,20 @@ msgid "" "and at the end of each line (immediately preceding each newline). By " "default, ``'^'`` matches only at the beginning of the string, and ``'$'`` " "only at the end of the string and immediately before the newline (if any) at " -"the end of the string. Corresponds to the inline flag ``(?m)``." +"the end of the string." msgstr "" "Quando especificado, o caractere padrão ``'^'`` corresponde ao início da " "string e ao início de cada linha (imediatamente após cada nova linha); e o " "caractere padrão ``'$'`` corresponde ao final da string e ao final de cada " "linha (imediatamente antes de cada nova linha). Por padrão, ``'^'`` " "corresponde apenas no início da string, e ``'$'`` apenas no final da string " -"e imediatamente antes da nova linha (se houver) no final da string. " -"Corresponde ao sinalizador em linha ``(?m)``." +"e imediatamente antes da nova linha (se houver) no final da string." + +#: ../../library/re.rst:812 +msgid "Corresponds to the inline flag ``(?m)``." +msgstr "Corresponde ao sinalizador em linha ``(?m)``." -#: ../../library/re.rst:763 +#: ../../library/re.rst:816 msgid "" "Indicates no flag being applied, the value is ``0``. This flag may be used " "as a default value for a function keyword argument or as a base value that " @@ -1482,18 +1558,37 @@ msgstr "" "função ou como um valor base que será condicionalmente OU com outros " "sinalizadores. Exemplo de uso como valor padrão::" -#: ../../library/re.rst:776 +#: ../../library/re.rst:829 msgid "" "Make the ``'.'`` special character match any character at all, including a " -"newline; without this flag, ``'.'`` will match anything *except* a newline. " -"Corresponds to the inline flag ``(?s)``." +"newline; without this flag, ``'.'`` will match anything *except* a newline." msgstr "" -"Faz o caractere especial ``'.'`` corresponder a qualquer caractere, " -"incluindo uma nova linha; sem este sinalizador, ``'.'`` irá corresponder a " -"qualquer coisa *exceto* uma nova linha. Corresponde ao sinalizador em linha " -"``(?s)``." +"Faz o caractere especial ``'.'`` corresponder com qualquer caractere que " +"seja, incluindo uma nova linha; sem este sinalizador, ``'.'`` irá " +"corresponder a qualquer coisa, *exceto* uma nova linha." -#: ../../library/re.rst:786 +#: ../../library/re.rst:832 +msgid "Corresponds to the inline flag ``(?s)``." +msgstr "Corresponde ao sinalizador em linha ``(?s)``." + +#: ../../library/re.rst:838 +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 "" +"Em Python 3, os caracteres Unicode são correspondidos por padrão para " +"padrões ``str``. Esse sinalizador é, portanto, redundante e **sem efeito**, " +"sendo mantido apenas para compatibilidade com versões anteriores." + +#: ../../library/re.rst:843 +msgid "" +"See :py:const:`~re.ASCII` to restrict matching to ASCII characters instead." +msgstr "" +"Veja :py:const:`~re.ASCII` para restringir a correspondência apenas a " +"caracteres ASCII." + +#: ../../library/re.rst:850 msgid "" "This flag allows you to write regular expressions that look nicer and are " "more readable by allowing you to visually separate logical sections of the " @@ -1512,10 +1607,10 @@ msgstr "" "precedido por uma contrabarra sem escape, ou dentro de tokens como ``*?``, " "``(?:`` ou ``(?P<...>``. Por exemplo, ``(? :`` e ``* ?`` não são permitidos. " "Quando uma linha contém um ``#`` que não está em uma classe de caractere e " -"não é precedido por uma contrabarra sem escape, todos os caracteres da " -"extremidade esquerda, como ``#`` até o final da linha são ignorados." +"não é precedido por uma contrabarra sem escape, todos os caracteres a partir " +"do ``#`` mais à esquerda até o final da linha são ignorados." -#: ../../library/re.rst:796 +#: ../../library/re.rst:860 msgid "" "This means that the two following regular expression objects that match a " "decimal number are functionally equal::" @@ -1523,43 +1618,45 @@ msgstr "" "Isso significa que os dois seguintes objetos expressão regular que " "correspondem a um número decimal são funcionalmente iguais::" -#: ../../library/re.rst:804 +#: ../../library/re.rst:868 msgid "Corresponds to the inline flag ``(?x)``." msgstr "Corresponde ao sinalizador em linha ``(?x)``." -#: ../../library/re.rst:808 +#: ../../library/re.rst:872 msgid "Functions" msgstr "Funções" -#: ../../library/re.rst:812 +#: ../../library/re.rst:876 msgid "" "Compile a regular expression pattern into a :ref:`regular expression object " -"`, which can be used for matching using its :func:`~Pattern." -"match`, :func:`~Pattern.search` and other methods, described below." +"`, which can be used for matching using " +"its :func:`~Pattern.match`, :func:`~Pattern.search` and other methods, " +"described below." msgstr "" "Compila um padrão de expressão regular em um :ref:`objeto expressão regular " -"`, que pode ser usado para correspondência usando seu :func:" -"`~Pattern.match`, :func:`~Pattern.search` e outros métodos, descritos abaixo." +"`, que pode ser usado para correspondência usando " +"seu :func:`~Pattern.match`, :func:`~Pattern.search` e outros métodos, " +"descritos abaixo." -#: ../../library/re.rst:817 +#: ../../library/re.rst:881 msgid "" "The expression's behaviour can be modified by specifying a *flags* value. " -"Values can be any of the following variables, combined using bitwise OR (the " +"Values can be any of the `flags`_ variables, combined using bitwise OR (the " "``|`` operator)." msgstr "" -"O comportamento da expressão pode ser modificado especificando um valor " -"*flags*. Os valores podem ser qualquer uma das seguintes variáveis, " -"correspondidas usando OU bit a bit (o operador ``|``)." +"O comportamento da expressão pode ser modificado especificando um valor para " +"o parâmetro *flags*. Os valores podem ser qualquer um dos `sinalizadores`_, " +"combinados usando OU bit a bit (o operador ``|``)." -#: ../../library/re.rst:821 +#: ../../library/re.rst:885 msgid "The sequence ::" msgstr "A sequência ::" -#: ../../library/re.rst:826 +#: ../../library/re.rst:890 msgid "is equivalent to ::" -msgstr "é equivalente a::" +msgstr "equivale a ::" -#: ../../library/re.rst:830 +#: ../../library/re.rst:894 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 " @@ -1569,46 +1666,46 @@ msgstr "" "para reutilização é mais eficiente quando a expressão será usada várias " "vezes em um único programa." -#: ../../library/re.rst:836 +#: ../../library/re.rst:900 msgid "" -"The compiled versions of the most recent patterns passed to :func:`re." -"compile` and the module-level matching functions are cached, so programs " -"that use only a few regular expressions at a time needn't worry about " -"compiling regular expressions." +"The compiled versions of the most recent patterns passed " +"to :func:`re.compile` and the module-level matching functions are cached, so " +"programs that use only a few regular expressions at a time needn't worry " +"about compiling regular expressions." msgstr "" -"As versões compiladas dos padrões mais recentes passados para :func:`re." -"compile` e as funções de correspondência em nível de módulo são armazenadas " -"em cache, de modo que programas que usam apenas algumas expressões regulares " -"por vez não precisam se preocupar em compilar expressões regulares." +"As versões compiladas dos padrões mais recentes passados " +"para :func:`re.compile` e as funções de correspondência em nível de módulo " +"são armazenadas em cache, de modo que programas que usam apenas algumas " +"expressões regulares por vez não precisam se preocupar em compilar " +"expressões regulares." -#: ../../library/re.rst:844 +#: ../../library/re.rst:908 msgid "" "Scan through *string* looking for the first location where the regular " -"expression *pattern* produces a match, and return a corresponding :ref:" -"`match object `. Return ``None`` if no position in the " +"expression *pattern* produces a match, and return a " +"corresponding :class:`~re.Match`. Return ``None`` if no position in the " "string matches the pattern; note that this is different from finding a zero-" "length match at some point in the string." msgstr "" "Percorre a *string* procurando o primeiro local onde o padrão *pattern* de " -"expressão regular produz uma correspondência e retorna um :ref:`objeto " -"correspondência ` encontrado. Retorna ``None`` se nenhuma " -"posição na string corresponder ao padrão; observe que isso é diferente de " -"encontrar uma correspondência de comprimento zero em algum ponto da string." +"expressão regular produz uma correspondência e retorna um :class:`~re.Match` " +"correspondente. Retorna ``None`` se nenhuma posição na string corresponder " +"ao padrão; observe que isso é diferente de encontrar uma correspondência de " +"comprimento zero em algum ponto da string." -#: ../../library/re.rst:853 +#: ../../library/re.rst:916 msgid "" "If zero or more characters at the beginning of *string* match the regular " -"expression *pattern*, return a corresponding :ref:`match object `. Return ``None`` if the string does not match the pattern; note " -"that this is different from a zero-length match." +"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 "" "Se zero ou mais caracteres no início da *string* corresponderem ao padrão " -"*pattern* da expressão regular, retorna um :ref:`objeto correspondência " -"` encontrado. Retorna ``None`` se a string não corresponder " -"ao padrão; observe que isso é diferente de uma correspondência de " -"comprimento zero." +"*pattern* da expressão regular, retorna um :class:`~re.Match` " +"correspondente. Retorna ``None`` se a string não corresponder ao padrão; " +"observe que isso é diferente de uma correspondência de comprimento zero." -#: ../../library/re.rst:858 +#: ../../library/re.rst:921 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." @@ -1616,7 +1713,7 @@ msgstr "" "Observe que mesmo no modo :const:`MULTILINE`, :func:`re.match` irá " "corresponder apenas no início da string e não no início de cada linha." -#: ../../library/re.rst:861 +#: ../../library/re.rst:924 msgid "" "If you want to locate a match anywhere in *string*, use :func:`search` " "instead (see also :ref:`search-vs-match`)." @@ -1624,19 +1721,18 @@ msgstr "" "Se você quiser localizar uma correspondência em qualquer lugar em *string*, " "use :func:`search` (veja também :ref:`search-vs-match`)." -#: ../../library/re.rst:867 +#: ../../library/re.rst:930 msgid "" "If the whole *string* matches the regular expression *pattern*, return a " -"corresponding :ref:`match object `. Return ``None`` if the " -"string does not match the pattern; note that this is different from a zero-" -"length match." +"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 "" "Se toda a *string* corresponder ao padrão *pattern* da expressão regular, " -"retorna um :ref:`objeto correspondência ` encontrado. Retorna " -"``None`` se a string não corresponder ao padrão; observe que isso é " -"diferente de uma correspondência de comprimento zero." +"retorna um :class:`~re.Match` correspondente. Retorna ``None`` se a string " +"não corresponder ao padrão; observe que isso é diferente de uma " +"correspondência de comprimento zero." -#: ../../library/re.rst:877 +#: ../../library/re.rst:939 msgid "" "Split *string* by the occurrences of *pattern*. If capturing parentheses " "are used in *pattern*, then the text of all groups in the pattern are also " @@ -1650,7 +1746,7 @@ msgstr "" "diferente de zero, no máximo *maxsplit* divisões ocorrerão e o restante da " "string será retornado como o elemento final da lista. ::" -#: ../../library/re.rst:892 +#: ../../library/re.rst:954 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 " @@ -1660,7 +1756,7 @@ msgstr "" "string, o resultado começará com uma string vazia. O mesmo vale para o final " "da string::" -#: ../../library/re.rst:899 +#: ../../library/re.rst:961 msgid "" "That way, separator components are always found at the same relative indices " "within the result list." @@ -1668,7 +1764,7 @@ msgstr "" "Dessa forma, os componentes do separador são sempre encontrados nos mesmos " "índices relativos na lista de resultados." -#: ../../library/re.rst:902 +#: ../../library/re.rst:964 msgid "" "Empty matches for the pattern split the string only when not adjacent to a " "previous empty match." @@ -1676,29 +1772,29 @@ msgstr "" "As correspondências vazias para o padrão dividem a string apenas quando não " "adjacente a uma correspondência vazia anterior." -#: ../../library/re.rst:912 ../../library/re.rst:1002 ../../library/re.rst:1031 +#: ../../library/re.rst:976 ../../library/re.rst:1066 ../../library/re.rst:1095 msgid "Added the optional flags argument." msgstr "Adicionado o argumento de sinalizadores opcionais." -#: ../../library/re.rst:915 +#: ../../library/re.rst:979 msgid "" "Added support of splitting on a pattern that could match an empty string." msgstr "" "Adicionado suporte de divisão em um padrão que pode corresponder a uma " "string vazia." -#: ../../library/re.rst:921 +#: ../../library/re.rst:985 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 "" -"Retorna todas as correspondências não sobrepostas do *padrão* em *string*, " -"como uma lista de strings ou tuplas. A *string* é verificada da esquerda " -"para a direita e as correspondências são retornadas na ordem encontrada. " -"Correspondências vazias são incluídas no resultado." +"Retorna todas as correspondências não sobrepostas do padrão *pattern* em " +"*string*, como uma lista de strings ou tuplas. A *string* é verificada da " +"esquerda para a direita e as correspondências são retornadas na ordem " +"encontrada. Correspondências vazias são incluídas no resultado." -#: ../../library/re.rst:925 +#: ../../library/re.rst:989 msgid "" "The result depends on the number of capturing groups in the pattern. If " "there are no groups, return a list of strings matching the whole pattern. " @@ -1709,31 +1805,31 @@ msgid "" msgstr "" "O resultado depende do número de grupos de captura no padrão. Se não houver " "grupos, retorna uma lista de strings que correspondem a todo o padrão. Se " -"houver exatamente um grupo, retorne uma lista de strings correspondentes a " -"esse grupo. Se vários grupos estiverem presentes, retorne uma lista de " -"tuplas de strings correspondentes aos grupos. Grupos sem captura não afetam " -"a forma do resultado." +"houver exatamente um grupo, retorna uma lista de strings correspondentes a " +"esse grupo. Se vários grupos estiverem presentes, retorna uma lista de " +"tuplas de strings correspondentes aos grupos. Grupos de não-captura não " +"afetam a forma do resultado." -#: ../../library/re.rst:937 ../../library/re.rst:948 +#: ../../library/re.rst:1001 ../../library/re.rst:1012 msgid "Non-empty matches can now start just after a previous empty match." msgstr "" "Correspondências não vazias agora podem começar logo após uma " "correspondência vazia anterior." -#: ../../library/re.rst:943 +#: ../../library/re.rst:1007 msgid "" -"Return an :term:`iterator` yielding :ref:`match objects ` " -"over all non-overlapping matches for the RE *pattern* in *string*. The " -"*string* is scanned left-to-right, and matches are returned in the order " -"found. Empty matches are included in the result." +"Return an :term:`iterator` yielding :class:`~re.Match` objects over all non-" +"overlapping matches for the RE *pattern* in *string*. The *string* is " +"scanned left-to-right, and matches are returned in the order found. Empty " +"matches are included in the result." msgstr "" -"Retorna um :term:`iterador` produzindo :ref:`objetos correspondência ` sobre todas as correspondências não sobrepostas para o padrão " -"*pattern* de ER na *string*. A *string* é percorrida da esquerda para a " -"direita e as correspondências são retornadas na ordem encontrada. " -"Correspondências vazias são incluídas no resultado." +"Retorna um :term:`iterador` produzindo objetos :class:`~re.Match` sobre " +"todas as correspondências não sobrepostas para o padrão *pattern* em " +"*string*. A *string* é percorrida da esquerda para a direita e as " +"correspondências são retornadas na ordem encontrada. Correspondências vazias " +"são incluídas no resultado." -#: ../../library/re.rst:954 +#: ../../library/re.rst:1018 msgid "" "Return the string obtained by replacing the leftmost non-overlapping " "occurrences of *pattern* in *string* by the replacement *repl*. If the " @@ -1747,33 +1843,32 @@ msgid "" "For example::" msgstr "" "Retorna a string obtida substituindo as ocorrências não sobrepostas da " -"extremidade esquerda do padrão *pattern* na *string* pela substituição " -"*repl*. Se o padrão não for encontrado, *string* será retornado inalterado. " -"*repl* pode ser uma string ou uma função; se for uma string, qualquer escape " -"de contrabarra será processado. Ou seja, ``\\n`` é convertido em um único " -"caractere de nova linha, ``\\r`` é convertido em um retorno de carro e assim " -"por diante. Escapes desconhecidos de letras ASCII são reservados para uso " -"futuro e tratados como erros. Outros escapes desconhecidos como ``\\&`` são " -"deixados como estão. Referências anteriores, como ``\\6``, são substituídos " -"pela substring correspondida pelo grupo 6 no padrão. Por exemplo::" - -#: ../../library/re.rst:970 +"extremidade esquerda do padrão *pattern* na *string* por *repl*. Se o padrão " +"não for encontrado, *string* será retornado inalterado. *repl* pode ser uma " +"string ou uma função; se for uma string, qualquer escape de contrabarra será " +"processado. Ou seja, ``\\n`` é convertido em um único caractere de nova " +"linha, ``\\r`` é convertido em um retorno de carro e assim por diante. " +"Escapes desconhecidos de letras ASCII são reservados para uso futuro e " +"tratados como erros. Outros escapes desconhecidos como ``\\&`` são deixados " +"como estão. Referências anteriores, como ``\\6``, são substituídos pela " +"substring correspondida pelo grupo 6 no padrão. Por exemplo::" + +#: ../../library/re.rst:1034 msgid "" "If *repl* is a function, it is called for every non-overlapping occurrence " -"of *pattern*. The function takes a single :ref:`match object ` argument, and returns the replacement string. For example::" +"of *pattern*. The function takes a single :class:`~re.Match` argument, and " +"returns the replacement string. For example::" msgstr "" "Se *repl* for uma função, ela será chamada para cada ocorrência não " -"sobreposta do padrão *pattern*. A função recebe um único argumento :ref:" -"`objeto correspondência ` e retorna a string de substituição. " -"Por exemplo::" +"sobreposta do padrão *pattern*. A função recebe um único " +"argumento :class:`~re.Match` e retorna a string de substituição. Por " +"exemplo::" -#: ../../library/re.rst:982 -msgid "The pattern may be a string or a :ref:`pattern object `." -msgstr "" -"O padrão pode ser uma string ou um :ref:`objeto de padrão `." +#: ../../library/re.rst:1046 +msgid "The pattern may be a string or a :class:`~re.Pattern`." +msgstr "O padrão pode ser uma string ou um :class:`~re.Pattern`." -#: ../../library/re.rst:984 +#: ../../library/re.rst:1048 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, " @@ -1788,7 +1883,7 @@ msgstr "" "adjacentes a uma correspondência vazia anterior, então ``sub('x*', '-', " "'abxd')`` retorna ``'-a-b--d-'``." -#: ../../library/re.rst:992 +#: ../../library/re.rst:1056 msgid "" "In string-type *repl* arguments, in addition to the character escapes and " "backreferences described above, ``\\g`` will use the substring matched " @@ -1810,12 +1905,12 @@ msgstr "" "literal ``'0'``. A referência anterior ``\\g6`` substitui em toda a " "substring correspondida pela ER." -#: ../../library/re.rst:1005 ../../library/re.rst:1034 -#: ../../library/re.rst:1268 +#: ../../library/re.rst:1069 ../../library/re.rst:1098 +#: ../../library/re.rst:1342 msgid "Unmatched groups are replaced with an empty string." msgstr "Grupos sem correspondência são substituídos por uma string vazia." -#: ../../library/re.rst:1008 +#: ../../library/re.rst:1072 msgid "" "Unknown escapes in *pattern* consisting of ``'\\'`` and an ASCII letter now " "are errors." @@ -1823,41 +1918,41 @@ msgstr "" "Escapes desconhecidos no padrão *pattern* consistindo em ``'\\'`` e uma " "letra ASCII agora são erros." -#: ../../library/re.rst:1012 +#: ../../library/re.rst:1076 msgid "" "Unknown escapes in *repl* consisting of ``'\\'`` and an ASCII letter now are " "errors." msgstr "" -"Escapes desconhecidos em *repl* consistindo em ``'\\'`` e uma letra ASCII " -"agora são erros." +"Escapes desconhecidos no padrão *repl* consistindo em ``'\\'`` e uma letra " +"ASCII agora são erros." -#: ../../library/re.rst:1016 +#: ../../library/re.rst:1080 msgid "" "Empty matches for the pattern are replaced when adjacent to a previous non-" "empty match." msgstr "" -"As correspondências vazias para o padrão são substituídas quando adjacentes " -"a uma correspondência não vazia anterior." +"As correspondências vazias para o padrão sãosubstituídos quando não " +"adjacente a uma correspondência não vazia anterior." -#: ../../library/re.rst:1028 +#: ../../library/re.rst:1092 msgid "" "Perform the same operation as :func:`sub`, but return a tuple ``(new_string, " "number_of_subs_made)``." msgstr "" "Executa a mesma operação que :func:`sub`, mas retorna uma tupla " -"``(new_string, number_of_subs_made)``." +"``(nova_string, número_de_substituições_feitas)``." -#: ../../library/re.rst:1040 +#: ../../library/re.rst:1104 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 "" -"Escape caracteres especiais no padrão *pattern*. Isso é útil se você deseja " +"Escapa caracteres especiais no padrão *pattern*. Isso é útil se você deseja " "corresponder uma string literal arbitrária que pode conter metacaracteres de " -"expressão reguladora. Por exemplo::" +"expressão regular. Por exemplo::" -#: ../../library/re.rst:1055 +#: ../../library/re.rst:1119 msgid "" "This function must not be used for the replacement string in :func:`sub` " "and :func:`subn`, only backslashes should be escaped. For example::" @@ -1865,11 +1960,11 @@ msgstr "" "Esta função não deve ser usada para a string de substituição em :func:`sub` " "e :func:`subn`, apenas contrabarras devem ser escapadas. Por exemplo::" -#: ../../library/re.rst:1063 +#: ../../library/re.rst:1127 msgid "The ``'_'`` character is no longer escaped." msgstr "O caractere ``'_'`` não é mais escapado." -#: ../../library/re.rst:1066 +#: ../../library/re.rst:1130 msgid "" "Only characters that can have special meaning in a regular expression are " "escaped. As a result, ``'!'``, ``'\"'``, ``'%'``, ``\"'\"``, ``','``, " @@ -1877,19 +1972,19 @@ msgid "" "are no longer escaped." msgstr "" "Somente caracteres que podem ter um significado especial em uma expressão " -"regular são escapados. Como um resultado, ``'!'``, ``'\"'``, ``'%'``, " +"regular são escapados. Como resultado, ``'!'``, ``'\"'``, ``'%'``, " "``\"'\"``, ``','``, ``'/'``, ``':'``, ``';'``, ``'<'``, ``'='``, ``'>'``, " "``'@'``, e ``\"`\"`` não são mais escapados." -#: ../../library/re.rst:1075 +#: ../../library/re.rst:1139 msgid "Clear the regular expression cache." -msgstr "Limpa o cache de expressão regular." +msgstr "Limpa o cache da expressão regular." -#: ../../library/re.rst:1079 +#: ../../library/re.rst:1143 msgid "Exceptions" msgstr "Exceções" -#: ../../library/re.rst:1083 +#: ../../library/re.rst:1147 msgid "" "Exception raised when a string passed to one of the functions here is not a " "valid regular expression (for example, it might contain unmatched " @@ -1898,63 +1993,68 @@ msgid "" "pattern. The error instance has the following additional attributes:" msgstr "" "Exceção levantada quando uma string passada para uma das funções aqui não é " -"uma expressão regular válida (por exemplo, ela pode conter parênteses não " +"uma expressão regular válida (por exemplo, pode conter parênteses não " "correspondentes) ou quando algum outro erro ocorre durante a compilação ou " -"correspondência. Nunca é um erro se uma string não contém correspondência " -"para um padrão. A instância de erro possui os seguintes atributos adicionais:" +"correspondência. Nunca é um erro se uma string não contém nenhuma " +"correspondência para um padrão. A instância de erro tem os seguintes " +"atributos adicionais:" -#: ../../library/re.rst:1091 +#: ../../library/re.rst:1155 msgid "The unformatted error message." msgstr "A mensagem de erro não formatada." -#: ../../library/re.rst:1095 +#: ../../library/re.rst:1159 msgid "The regular expression pattern." msgstr "O padrão da expressão regular." -#: ../../library/re.rst:1099 +#: ../../library/re.rst:1163 msgid "The index in *pattern* where compilation failed (may be ``None``)." msgstr "" "O índice no padrão *pattern* no qual a compilação falhou (pode ser ``None``)." -#: ../../library/re.rst:1103 +#: ../../library/re.rst:1167 msgid "The line corresponding to *pos* (may be ``None``)." msgstr "A linha correspondente a *pos* (pode ser ``None``)." -#: ../../library/re.rst:1107 +#: ../../library/re.rst:1171 msgid "The column corresponding to *pos* (may be ``None``)." msgstr "A coluna correspondente a *pos* (pode ser ``None``)." -#: ../../library/re.rst:1109 +#: ../../library/re.rst:1173 msgid "Added additional attributes." msgstr "Adicionados os atributos adicionais." -#: ../../library/re.rst:1115 +#: ../../library/re.rst:1179 msgid "Regular Expression Objects" msgstr "Objetos expressão regular" -#: ../../library/re.rst:1117 +#: ../../library/re.rst:1183 +msgid "Compiled regular expression object returned by :func:`re.compile`." +msgstr "Objeto expressão regular compilado retornado por :func:`re.compile`." + +#: ../../library/re.rst:1185 msgid "" -"Compiled regular expression objects support the following methods and " -"attributes:" +":py:class:`re.Pattern` supports ``[]`` to indicate a Unicode (str) or bytes " +"pattern. See :ref:`types-genericalias`." msgstr "" -"Objetos expressão regular compilados oferecem suporte aos seguintes métodos " -"e atributos:" +":py:class:`re.Pattern` tem suporte a ``[]`` para indicar um padrão Unicode " +"(str) ou bytes. Veja :ref:`types-genericalias`." -#: ../../library/re.rst:1122 +#: ../../library/re.rst:1191 msgid "" "Scan through *string* looking for the first location where this regular " -"expression produces a match, and return a corresponding :ref:`match object " -"`. Return ``None`` if no position in the string matches the " -"pattern; note that this is different from finding a zero-length match at " -"some point in the string." +"expression produces a match, and return a corresponding :class:`~re.Match`. " +"Return ``None`` if no position in the string matches the pattern; note that " +"this is different from finding a zero-length match at some point in the " +"string." msgstr "" "Percorre a *string* procurando o primeiro local onde esta expressão regular " -"produz uma correspondência e retorna um :ref:`objeto correspondência ` encontrado. Retorna ``None`` se nenhuma posição na string " -"corresponder ao padrão; observe que isso é diferente de encontrar uma " -"correspondência de comprimento zero em algum ponto da string." +"produz uma correspondência e retorna um :class:`~re.Match` correspondente. " +"Retorna ``None`` se nenhuma posição na string corresponder ao padrão; " +"observe que isso é diferente de encontrar uma correspondência de comprimento " +"zero em algum ponto da string." -#: ../../library/re.rst:1128 +#: ../../library/re.rst:1196 msgid "" "The optional second parameter *pos* gives an index in the string where the " "search is to start; it defaults to ``0``. This is not completely equivalent " @@ -1968,7 +2068,7 @@ msgstr "" "string e nas posições logo após uma nova linha, mas não necessariamente no " "índice onde a pesquisa deve começar." -#: ../../library/re.rst:1134 +#: ../../library/re.rst:1202 msgid "" "The optional parameter *endpos* limits how far the string will be searched; " "it will be as if the string is *endpos* characters long, so only the " @@ -1982,54 +2082,53 @@ msgstr "" "caracteres de *pos* a ``endpos - 1`` serão procurados por uma " "correspondência. Se *endpos* for menor que *pos*, nenhuma correspondência " "será encontrada; caso contrário, se *rx* é um objeto de expressão regular " -"compilado, ``rx.search(string, 0, 50)`` é equivalente a ``rx." -"search(string[:50], 0)``. ::" +"compilado, ``rx.search(string, 0, 50)`` é equivalente a " +"``rx.search(string[:50], 0)``. ::" -#: ../../library/re.rst:1149 +#: ../../library/re.rst:1217 msgid "" "If zero or more characters at the *beginning* of *string* match this regular " -"expression, return a corresponding :ref:`match object `. " -"Return ``None`` if the string does not match the pattern; note that this is " -"different from a zero-length match." +"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 "" -"Se zero ou mais caracteres no *início* da *string* corresponderem a esta " -"expressão regular, retorna um :ref:`objeto correspondência ` " -"encontrado. Retorna ``None`` se a string não corresponder ao padrão; observe " -"que isso é diferente de uma correspondência de comprimento zero." +"Se zero ou mais caracteres no início da *string* corresponderem a esta " +"expressão regular, retorna um :class:`~re.Match` correspondente. Retorna " +"``None`` se a string não corresponder ao padrão; observe que isso é " +"diferente de uma correspondência de comprimento zero." -#: ../../library/re.rst:1154 ../../library/re.rst:1172 +#: ../../library/re.rst:1222 ../../library/re.rst:1240 msgid "" -"The optional *pos* and *endpos* parameters have the same meaning as for the :" -"meth:`~Pattern.search` method. ::" +"The optional *pos* and *endpos* parameters have the same meaning as for " +"the :meth:`~Pattern.search` method. ::" msgstr "" "Os parâmetros opcionais *pos* e *endpos* têm o mesmo significado que para o " "método :meth:`~Pattern.search`. ::" -#: ../../library/re.rst:1162 +#: ../../library/re.rst:1230 msgid "" -"If you want to locate a match anywhere in *string*, use :meth:`~Pattern." -"search` instead (see also :ref:`search-vs-match`)." +"If you want to locate a match anywhere in *string*, " +"use :meth:`~Pattern.search` instead (see also :ref:`search-vs-match`)." msgstr "" "Se você quiser localizar uma correspondência em qualquer lugar em *string*, " "use :meth:`~Pattern.search` ao invés (veja também :ref:`search-vs-match`)." -#: ../../library/re.rst:1168 +#: ../../library/re.rst:1236 msgid "" "If the whole *string* matches this regular expression, return a " -"corresponding :ref:`match object `. Return ``None`` if the " -"string does not match the pattern; note that this is different from a zero-" -"length match." +"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 "" -"Se toda a *string* corresponder a esta expressão regular, retorna um :ref:" -"`objeto correspondência ` encontrado. Retorna ``None`` se a " -"string não corresponder ao padrão; observe que isso é diferente de uma " -"correspondência de comprimento zero." +"Se toda a *string* corresponder a esta expressão regular, retorna " +"um :class:`~re.Match` correspondente. Retorna ``None`` se a string não " +"corresponder ao padrão; observe que isso é diferente de uma correspondência " +"de comprimento zero." -#: ../../library/re.rst:1186 +#: ../../library/re.rst:1254 msgid "Identical to the :func:`split` function, using the compiled pattern." msgstr "Idêntico à função :func:`split`, usando o padrão compilado." -#: ../../library/re.rst:1191 +#: ../../library/re.rst:1259 msgid "" "Similar to the :func:`findall` function, using the compiled pattern, but " "also accepts optional *pos* and *endpos* parameters that limit the search " @@ -2039,7 +2138,7 @@ msgstr "" "aceita os parâmetros *pos* e *endpos* opcionais que limitam a região de " "pesquisa como para :meth:`search`." -#: ../../library/re.rst:1198 +#: ../../library/re.rst:1266 msgid "" "Similar to the :func:`finditer` function, using the compiled pattern, but " "also accepts optional *pos* and *endpos* parameters that limit the search " @@ -2049,30 +2148,31 @@ msgstr "" "aceita os parâmetros *pos* e *endpos* opcionais que limitam a região de " "pesquisa como para :meth:`search`." -#: ../../library/re.rst:1205 +#: ../../library/re.rst:1273 msgid "Identical to the :func:`sub` function, using the compiled pattern." msgstr "Idêntico à função :func:`sub`, usando o padrão compilado." -#: ../../library/re.rst:1210 +#: ../../library/re.rst:1278 msgid "Identical to the :func:`subn` function, using the compiled pattern." msgstr "Idêntico à função :func:`subn`, usando o padrão compilado." -#: ../../library/re.rst:1215 +#: ../../library/re.rst:1283 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 :data:`UNICODE` if the pattern is a Unicode string." +"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 "" -"Os sinalizadores de correspondência de regex. Esta é uma combinação dos " -"sinalizadores fornecidos para :func:`.compile`, qualquer sinalizador em " -"linha ``(?...)`` no padrão e sinalizadores implícitos como :data:`UNICODE` " -"se o padrão for uma string Unicode." +"Os sinalizadores de correspondência de expressões regulares. Esta é uma " +"combinação dos sinalizadores fornecidos para :func:`.compile`, qualquer " +"sinalizador em linha ``(?...)`` no padrão e sinalizadores implícitos " +"como :py:const:`~re.UNICODE` se o padrão for uma string Unicode." -#: ../../library/re.rst:1222 +#: ../../library/re.rst:1290 msgid "The number of capturing groups in the pattern." msgstr "O número de grupos de captura no padrão." -#: ../../library/re.rst:1227 +#: ../../library/re.rst:1295 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 " @@ -2082,11 +2182,11 @@ msgstr "" "P)`` para números de grupo. O dicionário estará vazio se nenhum grupo " "simbólico for usado no padrão." -#: ../../library/re.rst:1234 +#: ../../library/re.rst:1302 msgid "The pattern string from which the pattern object was compiled." msgstr "A string de padrão da qual o objeto de padrão foi compilado." -#: ../../library/re.rst:1237 +#: ../../library/re.rst:1305 msgid "" "Added support of :func:`copy.copy` and :func:`copy.deepcopy`. Compiled " "regular expression objects are considered atomic." @@ -2094,43 +2194,54 @@ msgstr "" "Adicionado suporte de :func:`copy.copy` e :func:`copy.deepcopy`. Os objetos " "expressão regular compilados são considerados atômicos." -#: ../../library/re.rst:1245 +#: ../../library/re.rst:1313 msgid "Match Objects" msgstr "Objetos correspondência" -#: ../../library/re.rst:1247 +#: ../../library/re.rst:1315 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::" +"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 "" -"Objetos correspondência sempre têm um valor booleano de ``True``. Como :meth:" -"`~Pattern.match` e :meth:`~Pattern.search` retornam ``None`` quando não há " -"correspondência, você pode testar se houve uma correspondência com uma " -"simples instrução ``if``::" +"Objetos correspondência sempre têm um valor booleano de ``True``. " +"Como :meth:`~Pattern.match` e :meth:`~Pattern.search` retornam ``None`` " +"quando não há correspondência, você pode testar se houve uma correspondência " +"com uma simples instrução ``if``::" -#: ../../library/re.rst:1256 -msgid "Match objects support the following methods and attributes:" +#: ../../library/re.rst:1326 +msgid "Match object returned by successful ``match``\\ es and ``search``\\ es." msgstr "" -"Os objetos correspondência oferecem suporte aos seguintes métodos e " -"atributos:" +"Objeto correspondência retornado por ``match``\\ s e ``search``\\ s bem " +"sucedidos." -#: ../../library/re.rst:1261 +#: ../../library/re.rst:1328 +msgid "" +":py:class:`re.Match` supports ``[]`` to indicate a Unicode (str) or bytes " +"match. See :ref:`types-genericalias`." +msgstr "" +":py:class:`re.Match` tem suporte a ``[]`` para indicar uma correspondência " +"Unicode (str) ou bytes. Veja :ref:`types-genericalias`." + +#: ../../library/re.rst:1334 msgid "" "Return the string obtained by doing backslash substitution on the template " "string *template*, as done by the :meth:`~Pattern.sub` method. Escapes such " "as ``\\n`` are converted to the appropriate characters, and numeric " "backreferences (``\\1``, ``\\2``) and named backreferences (``\\g<1>``, " -"``\\g``) are replaced by the contents of the corresponding group." +"``\\g``) are replaced by the contents of the corresponding group. The " +"backreference ``\\g<0>`` will be replaced by the entire match." msgstr "" "Retorna a string obtida fazendo a substituição da contrabarra na string " -"modelo *template*, como feito pelo método :meth:`~Pattern.sub`. Escapes como " -"``\\n`` são convertidos para os caracteres apropriados, e referências " +"template *template*, como feito pelo método :meth:`~Pattern.sub`. Escapes " +"como ``\\n`` são convertidos para os caracteres apropriados, e referências " "anteriores numéricas (``\\1``, ``\\2``) e referências anteriores nomeadas " "(``\\g<1>``, ``\\g``) são substituídas pelo conteúdo do grupo " -"correspondente." +"correspondente. A referência anterior ``\\g<0>`` será substituída pela " +"correspondência completa." -#: ../../library/re.rst:1273 +#: ../../library/re.rst:1347 msgid "" "Returns one or more subgroups of the match. If there is a single argument, " "the result is a single string; if there are multiple arguments, the result " @@ -2157,33 +2268,33 @@ msgstr "" "``None``. Se um grupo estiver contido em uma parte do padrão que " "correspondeu várias vezes, a última correspondência será retornada. ::" -#: ../../library/re.rst:1295 +#: ../../library/re.rst:1369 msgid "" "If the regular expression uses the ``(?P...)`` syntax, the *groupN* " "arguments may also be strings identifying groups by their group name. If a " -"string argument is not used as a group name in the pattern, an :exc:" -"`IndexError` exception is raised." +"string argument is not used as a group name in the pattern, " +"an :exc:`IndexError` exception is raised." msgstr "" -"Se a expressão regular usa a sintaxe ``(?P...)``, os argumentos " +"Se a expressão regular usa a sintaxe ``(?P...)``, os argumentos " "*groupN* também podem ser strings que identificam grupos por seus nomes de " "grupo. Se um argumento string não for usado como um nome de grupo no padrão, " "uma exceção :exc:`IndexError` é levantada." -#: ../../library/re.rst:1300 +#: ../../library/re.rst:1374 msgid "A moderately complicated example::" msgstr "Um exemplo moderadamente complicado::" -#: ../../library/re.rst:1308 +#: ../../library/re.rst:1382 msgid "Named groups can also be referred to by their index::" msgstr "Grupos nomeados também podem ser referidos por seu índice::" -#: ../../library/re.rst:1315 +#: ../../library/re.rst:1389 msgid "If a group matches multiple times, only the last match is accessible::" msgstr "" "Se um grupo corresponder várias vezes, apenas a última correspondência " "estará acessível::" -#: ../../library/re.rst:1324 +#: ../../library/re.rst:1398 msgid "" "This is identical to ``m.group(g)``. This allows easier access to an " "individual group from a match::" @@ -2191,11 +2302,11 @@ msgstr "" "Isso é idêntico a ``m.group(g)``. Isso permite acesso mais fácil a um grupo " "individual de uma correspondência::" -#: ../../library/re.rst:1335 +#: ../../library/re.rst:1409 msgid "Named groups are supported as well::" -msgstr "Grupos nomeados também são suportados::" +msgstr "Também há suporte para grupos nomeados::" -#: ../../library/re.rst:1348 +#: ../../library/re.rst:1422 msgid "" "Return a tuple containing all the subgroups of the match, from 1 up to " "however many groups are in the pattern. The *default* argument is used for " @@ -2205,11 +2316,11 @@ msgstr "" "quantos grupos estiverem no padrão. O argumento *default* é usado para " "grupos que não participaram da correspondência; o padrão é ``None``." -#: ../../library/re.rst:1352 ../../library/re.rst:1577 +#: ../../library/re.rst:1426 ../../library/re.rst:1651 msgid "For example::" msgstr "Por exemplo::" -#: ../../library/re.rst:1358 +#: ../../library/re.rst:1432 msgid "" "If we make the decimal place and everything after it optional, not all " "groups might participate in the match. These groups will default to " @@ -2219,7 +2330,7 @@ msgstr "" "grupos podem participar da correspondência. Esses grupos serão padronizados " "como ``None``, a menos que o argumento *default* seja fornecido::" -#: ../../library/re.rst:1371 +#: ../../library/re.rst:1445 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 " @@ -2230,7 +2341,7 @@ msgstr "" "usado para grupos que não participaram da correspondência; o padrão é " "``None``. Por exemplo::" -#: ../../library/re.rst:1383 +#: ../../library/re.rst:1457 msgid "" "Return the indices of the start and end of the substring matched by *group*; " "*group* defaults to zero (meaning the whole matched substring). Return " @@ -2238,61 +2349,64 @@ 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 "" -"Retorna os índices de início e fim da substring correspondidos pelo grupo " +"Retorna os índices de início e fim da substring correspondida pelo grupo " "*group*; *group* tem como padrão zero (o que significa que toda a substring " "é correspondida). Retorna ``-1`` se *group* existe, mas não contribuiu para " "a correspondência. Para um objeto correspondência *m* e um grupo *g* que " "contribuiu para a correspondência, a substring correspondida pelo grupo *g* " "(equivalente a ``m.group(g)``) é ::" -#: ../../library/re.rst:1391 +#: ../../library/re.rst:1465 msgid "" "Note that ``m.start(group)`` will equal ``m.end(group)`` if *group* matched " -"a null string. For example, after ``m = re.search('b(c?)', 'cba')``, ``m." -"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." +"a null string. For example, after ``m = re.search('b(c?)', 'cba')``, " +"``m.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 "" "Observe que ``m.start(group)`` será igual a ``m.end(group)`` se *group* " "correspondeu a uma string nula. Por exemplo, após ``m = re.search('b(c?)', " -"'cba')``, ``m.start(0)`` é 1, ``m.end(0)`` é 2, ``m.start(1)`` e ``m." -"end(1)`` são 2, e ``m.start(2)`` levanta uma exceção :exc:`IndexError`." +"'cba')``, ``m.start(0)`` é 1, ``m.end(0)`` é 2, ``m.start(1)`` e " +"``m.end(1)`` são 2, e ``m.start(2)`` levanta uma exceção :exc:`IndexError`." -#: ../../library/re.rst:1396 +#: ../../library/re.rst:1470 msgid "An example that will remove *remove_this* from email addresses::" -msgstr "Um exemplo que removerá *remove_this* dos endereços de e-mail::" +msgstr "Um exemplo que removerá *remova_isto* dos endereços de e-mail::" -#: ../../library/re.rst:1406 +#: ../../library/re.rst:1480 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 "" -"Para uma correspondência *m*, retorna a tupla de dois ``(m.start(group), m." -"end(group))``. Observe que se *group* não contribuiu para a correspondência, " -"isso é ``(-1, -1)``. *group* tem como padrão zero, a correspondência inteira." +"Para uma correspondência *m*, retorna a tupla com dois elementos " +"``(m.start(group), m.end(group))``. Observe que se *group* não contribuiu " +"para a correspondência, isso é ``(-1, -1)``. *group* tem como padrão zero, a " +"correspondência inteira." -#: ../../library/re.rst:1413 +#: ../../library/re.rst:1487 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." +"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 "" -"O valor de *pos* que foi passado para o método :meth:`~Pattern.search` ou :" -"meth:`~Pattern.match` de um :ref:`objeto de regex `. Este é o " -"índice da string na qual o mecanismo de ER começou a procurar uma " -"correspondência." +"O valor de *pos* que foi passado para o método :meth:`~Pattern.search` " +"ou :meth:`~Pattern.match` de um :ref:`objeto expressão regular `. Este é o índice da string na qual o mecanismo de ER começou a " +"procurar uma correspondência." -#: ../../library/re.rst:1420 +#: ../../library/re.rst:1494 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." +"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 "" "O valor de *endpos* que foi passado para o método :meth:`~Pattern.search` " -"ou :meth:`~Pattern.match` de um :ref:`objeto de regex `. Este é " -"o índice da string após o qual o mecanismo de ER não vai chegar." +"ou :meth:`~Pattern.match` de um :ref:`objeto expressão regular `. Este é o índice da string após o qual o mecanismo de ER não vai " +"chegar." -#: ../../library/re.rst:1427 +#: ../../library/re.rst:1501 msgid "" "The integer index of the last matched capturing group, or ``None`` if no " "group was matched at all. For example, the expressions ``(a)b``, ``((a)" @@ -2306,7 +2420,7 @@ msgstr "" "string ``'ab'``, enquanto a expressão ``(a)(b)`` terá ``lastindex == 2``, se " "aplicada à mesma string." -#: ../../library/re.rst:1436 +#: ../../library/re.rst:1510 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." @@ -2314,36 +2428,38 @@ msgstr "" "O nome do último grupo de captura correspondido, ou ``None`` se o grupo não " "tinha um nome, ou se nenhum grupo foi correspondido." -#: ../../library/re.rst:1442 +#: ../../library/re.rst:1516 msgid "" -"The :ref:`regular expression object ` whose :meth:`~Pattern." -"match` or :meth:`~Pattern.search` method produced this match instance." +"The :ref:`regular expression object ` " +"whose :meth:`~Pattern.match` or :meth:`~Pattern.search` method produced this " +"match instance." msgstr "" -"O :ref:`objeto expressão regular ` cujo método :meth:`~Pattern." -"match` ou :meth:`~Pattern.search` produziu esta instância de correspondência." +"O :ref:`objeto expressão regular ` cujo " +"método :meth:`~Pattern.match` ou :meth:`~Pattern.search` produziu esta " +"instância de correspondência." -#: ../../library/re.rst:1448 +#: ../../library/re.rst:1522 msgid "The string passed to :meth:`~Pattern.match` or :meth:`~Pattern.search`." msgstr "" "A string passada para :meth:`~Pattern.match` ou :meth:`~Pattern.search`." -#: ../../library/re.rst:1451 +#: ../../library/re.rst:1525 msgid "" "Added support of :func:`copy.copy` and :func:`copy.deepcopy`. Match objects " "are considered atomic." msgstr "" -"Adicionado suporte de :func:`copy.copy` e :func:`copy.deepcopy`. Objetos " +"Adicionado suporte para :func:`copy.copy` e :func:`copy.deepcopy`. Objetos " "correspondência são considerados atômicos." -#: ../../library/re.rst:1459 +#: ../../library/re.rst:1533 msgid "Regular Expression Examples" msgstr "Exemplos de expressão regular" -#: ../../library/re.rst:1463 +#: ../../library/re.rst:1537 msgid "Checking for a Pair" msgstr "Verificando por um par" -#: ../../library/re.rst:1465 +#: ../../library/re.rst:1539 msgid "" "In this example, we'll use the following helper function to display match " "objects a little more gracefully::" @@ -2351,7 +2467,7 @@ msgstr "" "Neste exemplo, usaremos a seguinte função auxiliar para exibir objetos " "correspondência com um pouco mais de elegância::" -#: ../../library/re.rst:1473 +#: ../../library/re.rst:1547 msgid "" "Suppose you are writing a poker program where a player's hand is represented " "as a 5-character string with each character representing a card, \"a\" for " @@ -2364,13 +2480,13 @@ msgstr "" "\"j\" para valete, \"t\" para 10 e \"2\" a \"9\" representando a carta com " "esse valor." -#: ../../library/re.rst:1478 +#: ../../library/re.rst:1552 msgid "To see if a given string is a valid hand, one could do the following::" msgstr "" "Para ver se uma determinada string é uma mão válida, pode-se fazer o " "seguinte::" -#: ../../library/re.rst:1488 +#: ../../library/re.rst:1562 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 " @@ -2380,137 +2496,137 @@ msgstr "" "valor. Para combinar isso com uma expressão regular, pode-se usar " "referências anteriores como::" -#: ../../library/re.rst:1498 +#: ../../library/re.rst:1572 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::" +"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 "" -"Para descobrir em que carta o par consiste, pode-se usar o método :meth:" -"`~Match.group` do objeto correspondência da seguinte maneira::" +"Para descobrir em que carta o par consiste, pode-se usar o " +"método :meth:`~Match.group` do objeto correspondência da seguinte maneira::" -#: ../../library/re.rst:1517 +#: ../../library/re.rst:1591 msgid "Simulating scanf()" msgstr "Simulando scanf()" -#: ../../library/re.rst:1521 +#: ../../library/re.rst:1595 msgid "" -"Python does not currently have an equivalent to :c:func:`scanf`. Regular " -"expressions are generally more powerful, though also more verbose, than :c:" -"func:`scanf` format strings. The table below offers some more-or-less " -"equivalent mappings between :c:func:`scanf` format tokens and regular " +"Python does not currently have an equivalent to :c:func:`!scanf`. Regular " +"expressions are generally more powerful, though also more verbose, " +"than :c:func:`!scanf` format strings. The table below offers some more-or-" +"less equivalent mappings between :c:func:`!scanf` format tokens and regular " "expressions." msgstr "" -"Python atualmente não possui um equivalente a :c:func:`scanf`. Expressões " -"regulares são geralmente mais poderosas, embora também mais detalhadas, do " -"que strings de formato :c:func:`scanf`. A tabela abaixo oferece alguns " -"mapeamentos mais ou menos equivalentes entre os tokens de formato :c:func:" -"`scanf` e expressões regulares." +"Atualmente, Python não possui um equivalente a :c:func:`!scanf`. Expressões " +"regulares são geralmente mais poderosas, embora também mais prolixas, do que " +"strings de formato :c:func:`!scanf`. A tabela abaixo oferece alguns " +"mapeamentos mais ou menos equivalentes entre strings de formato :c:func:`!" +"scanf` e expressões regulares." -#: ../../library/re.rst:1528 -msgid ":c:func:`scanf` Token" -msgstr "Token :c:func:`scanf`" +#: ../../library/re.rst:1602 +msgid ":c:func:`!scanf` Token" +msgstr "Símbolo do :c:func:`!scanf`" -#: ../../library/re.rst:1528 +#: ../../library/re.rst:1602 msgid "Regular Expression" msgstr "Expressão regular" -#: ../../library/re.rst:1530 +#: ../../library/re.rst:1604 msgid "``%c``" msgstr "``%c``" -#: ../../library/re.rst:1532 +#: ../../library/re.rst:1606 msgid "``%5c``" msgstr "``%5c``" -#: ../../library/re.rst:1532 +#: ../../library/re.rst:1606 msgid "``.{5}``" msgstr "``.{5}``" -#: ../../library/re.rst:1534 +#: ../../library/re.rst:1608 msgid "``%d``" msgstr "``%d``" -#: ../../library/re.rst:1534 +#: ../../library/re.rst:1608 msgid "``[-+]?\\d+``" msgstr "``[-+]?\\d+``" -#: ../../library/re.rst:1536 +#: ../../library/re.rst:1610 msgid "``%e``, ``%E``, ``%f``, ``%g``" msgstr "``%e``, ``%E``, ``%f``, ``%g``" -#: ../../library/re.rst:1536 +#: ../../library/re.rst:1610 msgid "``[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?``" msgstr "``[-+]?(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?``" -#: ../../library/re.rst:1538 +#: ../../library/re.rst:1612 msgid "``%i``" msgstr "``%i``" -#: ../../library/re.rst:1538 +#: ../../library/re.rst:1612 msgid "``[-+]?(0[xX][\\dA-Fa-f]+|0[0-7]*|\\d+)``" msgstr "``[-+]?(0[xX][\\dA-Fa-f]+|0[0-7]*|\\d+)``" -#: ../../library/re.rst:1540 +#: ../../library/re.rst:1614 msgid "``%o``" msgstr "``%o``" -#: ../../library/re.rst:1540 +#: ../../library/re.rst:1614 msgid "``[-+]?[0-7]+``" msgstr "``[-+]?[0-7]+``" -#: ../../library/re.rst:1542 +#: ../../library/re.rst:1616 msgid "``%s``" msgstr "``%s``" -#: ../../library/re.rst:1542 +#: ../../library/re.rst:1616 msgid "``\\S+``" msgstr "``\\S+``" -#: ../../library/re.rst:1544 +#: ../../library/re.rst:1618 msgid "``%u``" msgstr "``%u``" -#: ../../library/re.rst:1544 +#: ../../library/re.rst:1618 msgid "``\\d+``" msgstr "``\\d+``" -#: ../../library/re.rst:1546 +#: ../../library/re.rst:1620 msgid "``%x``, ``%X``" msgstr "``%x``, ``%X``" -#: ../../library/re.rst:1546 +#: ../../library/re.rst:1620 msgid "``[-+]?(0[xX])?[\\dA-Fa-f]+``" msgstr "``[-+]?(0[xX])?[\\dA-Fa-f]+``" -#: ../../library/re.rst:1549 +#: ../../library/re.rst:1623 msgid "To extract the filename and numbers from a string like ::" msgstr "Para extrair um nome de arquivo e números de uma string como ::" -#: ../../library/re.rst:1553 -msgid "you would use a :c:func:`scanf` format like ::" -msgstr "você usaria um formato de :c:func:`scanf` como ::" +#: ../../library/re.rst:1627 +msgid "you would use a :c:func:`!scanf` format like ::" +msgstr "você usaria um formato :c:func:`!scanf` como ::" -#: ../../library/re.rst:1557 +#: ../../library/re.rst:1631 msgid "The equivalent regular expression would be ::" msgstr "A expressão regular equivalente seria ::" -#: ../../library/re.rst:1565 +#: ../../library/re.rst:1639 msgid "search() vs. match()" msgstr "search() vs. match()" -#: ../../library/re.rst:1569 +#: ../../library/re.rst:1643 msgid "" "Python offers different primitive operations based on regular expressions:" msgstr "" -"O Python oferece diferentes operações primitivas baseadas em expressões " +"Python oferece diferentes operações primitivas baseadas em expressões " "regulares:" -#: ../../library/re.rst:1571 +#: ../../library/re.rst:1645 msgid ":func:`re.match` checks for a match only at the beginning of the string" msgstr "" ":func:`re.match` verifica uma correspondência apenas no início da string" -#: ../../library/re.rst:1572 +#: ../../library/re.rst:1646 msgid "" ":func:`re.search` checks for a match anywhere in the string (this is what " "Perl does by default)" @@ -2518,20 +2634,20 @@ msgstr "" ":func:`re.search` verifica uma correspondência em qualquer lugar na string " "(isso é o que o Perl faz por padrão)" -#: ../../library/re.rst:1574 +#: ../../library/re.rst:1648 msgid ":func:`re.fullmatch` checks for entire string to be a match" msgstr "" ":func:`re.fullmatch` verifica toda a string para ser uma correspondência" -#: ../../library/re.rst:1586 +#: ../../library/re.rst:1660 msgid "" "Regular expressions beginning with ``'^'`` can be used with :func:`search` " "to restrict the match at the beginning of the string::" msgstr "" -"Expressões regulares começando com ``'^'`` podem ser usadas com :func:" -"`search` para restringir a correspondência no início da string::" +"Expressões regulares começando com ``'^'`` podem ser usadas " +"com :func:`search` para restringir a correspondência no início da string::" -#: ../../library/re.rst:1594 +#: ../../library/re.rst:1668 msgid "" "Note however that in :const:`MULTILINE` mode :func:`match` only matches at " "the beginning of the string, whereas using :func:`search` with a regular " @@ -2540,14 +2656,14 @@ msgid "" msgstr "" "Observe, entretanto, que no modo :const:`MULTILINE` :func:`match` apenas " "corresponde ao início da string, enquanto que usar :func:`search` com uma " -"expressão regular começando com ``'^'`` irá corresponder em no início de " -"cada linha. ::" +"expressão regular começando com ``'^'`` irá corresponder no início de cada " +"linha. ::" -#: ../../library/re.rst:1604 +#: ../../library/re.rst:1678 msgid "Making a Phonebook" msgstr "Criando uma lista telefônica" -#: ../../library/re.rst:1606 +#: ../../library/re.rst:1680 msgid "" ":func:`split` splits a string into a list delimited by the passed pattern. " "The method is invaluable for converting textual data into data structures " @@ -2559,33 +2675,33 @@ msgstr "" "que podem ser facilmente lidas e modificadas pelo Python, conforme " "demonstrado no exemplo a seguir que cria uma lista telefônica." -#: ../../library/re.rst:1611 +#: ../../library/re.rst:1685 msgid "" "First, here is the input. Normally it may come from a file, here we are " "using triple-quoted string syntax" msgstr "" "Primeiro, aqui está a entrada. Normalmente pode vir de um arquivo, aqui " -"estamos usando a sintaxe de string entre aspas triplas" +"estamos usando a sintaxe de string entre aspas triplas." -#: ../../library/re.rst:1624 +#: ../../library/re.rst:1698 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 "" -"As entradas são separadas por uma ou mais novas linhas. Agora, convertemos a " -"string em uma lista com cada linha não vazia tendo sua própria entrada:" +"Os registros são separados por uma ou mais novas linhas. Agora, convertemos " +"a string em uma lista com cada linha não vazia tendo seu próprio registro:" -#: ../../library/re.rst:1637 +#: ../../library/re.rst:1711 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 "" -"Finalmente, divida cada entrada em uma lista com nome, sobrenome, número de " +"Finalmente, divida cada registro em uma lista com nome, sobrenome, número de " "telefone e endereço. Usamos o parâmetro ``maxsplit`` de :func:`split` porque " "o endereço contém espaços, nosso padrão de divisão:" -#: ../../library/re.rst:1650 +#: ../../library/re.rst:1724 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 " @@ -2595,11 +2711,11 @@ msgstr "" "modo que não ocorre na lista de resultados. Com um ``maxsplit`` de ``4``, " "podemos separar o número da casa do nome da rua:" -#: ../../library/re.rst:1665 +#: ../../library/re.rst:1739 msgid "Text Munging" -msgstr "Mastigação de texto" +msgstr "Mastigando texto" -#: ../../library/re.rst:1667 +#: ../../library/re.rst:1741 msgid "" ":func:`sub` replaces every occurrence of a pattern with a string or the " "result of a function. This example demonstrates using :func:`sub` with a " @@ -2612,46 +2728,45 @@ msgstr "" "caracteres em cada palavra de uma frase, exceto o primeiro e o último " "caracteres::" -#: ../../library/re.rst:1684 +#: ../../library/re.rst:1758 msgid "Finding all Adverbs" msgstr "Encontrando todos os advérbios" -#: ../../library/re.rst:1686 +#: ../../library/re.rst:1760 msgid "" ":func:`findall` matches *all* occurrences of a pattern, not just the first " "one as :func:`search` does. For example, if a writer wanted to find all of " "the adverbs in some text, they might use :func:`findall` in the following " "manner::" msgstr "" -":func:`findall` corresponde a *todas* as ocorrências de um padrão, não " -"apenas a primeira como :func:`search` faz. Por exemplo, se um escritor " -"deseja encontrar todos os advérbios em algum texto, ele pode usar :func:" -"`findall` da seguinte maneira::" +":func:`findall` corresponde *todas* as ocorrências de um padrão, não apenas " +"a primeira como :func:`search` faz. Por exemplo, se uma pessoa deseja " +"encontrar todos os advérbios em algum texto, ela pode usar :func:`findall` " +"da seguinte maneira::" -#: ../../library/re.rst:1697 +#: ../../library/re.rst:1771 msgid "Finding all Adverbs and their Positions" msgstr "Encontrando todos os advérbios e suas posições" -#: ../../library/re.rst:1699 +#: ../../library/re.rst:1773 msgid "" "If one wants more information about all matches of a pattern than the " -"matched text, :func:`finditer` is useful as it provides :ref:`match objects " -"` instead of strings. Continuing with the previous example, " -"if a writer wanted to find all of the adverbs *and their positions* in some " -"text, they would use :func:`finditer` in the following manner::" -msgstr "" -"Caso seja desejado obter mais informações sobre todas as correspondências de " -"um padrão do que o texto correspondido, :func:`finditer` é útil, pois " -"fornece :ref:`objetos correspondência ` em vez de strings. " -"Continuando com o exemplo anterior, se um escritor quisesse encontrar todos " -"os advérbios *e suas posições* em algum texto, ele usaria :func:`finditer` " -"da seguinte maneira::" - -#: ../../library/re.rst:1713 +"matched text, :func:`finditer` is useful as it provides :class:`~re.Match` " +"objects instead of strings. Continuing with the previous example, if a " +"writer wanted to find all of the adverbs *and their positions* in some text, " +"they would use :func:`finditer` in the following manner::" +msgstr "" +"Se alguém deseja obter mais informações sobre todas as correspondências de " +"um padrão além do texto correspondido, :func:`finditer` é útil, pois fornece " +"objetos :class:`~re.Match` em vez de strings. Continuando com o exemplo " +"anterior, se um escritor quisesse encontrar todos os advérbios *e suas " +"posições* em algum texto, ele usaria :func:`finditer` da seguinte maneira::" + +#: ../../library/re.rst:1787 msgid "Raw String Notation" msgstr "Notação de string bruta" -#: ../../library/re.rst:1715 +#: ../../library/re.rst:1789 msgid "" "Raw string notation (``r\"text\"``) keeps regular expressions sane. Without " "it, every backslash (``'\\'``) in a regular expression would have to be " @@ -2659,11 +2774,11 @@ msgid "" "lines of code are functionally identical::" msgstr "" "A notação de string bruta (``r\"texto\"``) mantém as expressões regulares " -"sãs. Sem ele, cada contrabarra (``'\\'``) em uma expressão regular teria que " -"ser prefixada com outra para escapar dela. Por exemplo, as duas linhas de " -"código a seguir são funcionalmente idênticas::" +"sãs. Sem ela, cada contrabarra (``'\\'``) em uma expressão regular teria que " +"ser prefixada com outra para ter seu efeito de caractere especial anulado. " +"Por exemplo, as duas linhas de código a seguir são funcionalmente idênticas::" -#: ../../library/re.rst:1725 +#: ../../library/re.rst:1799 msgid "" "When one wants to match a literal backslash, it must be escaped in the " "regular expression. With raw string notation, this means ``r\"\\\\\"``. " @@ -2671,40 +2786,40 @@ msgid "" "following lines of code functionally identical::" msgstr "" "Quando se deseja corresponder a uma contrabarra literal, ela deve ser " -"escapada na expressão regular. Com a notação de string bruta, isso significa " -"``r\"\\\\\"``. Sem a notação de string bruta, deve-se usar ``\"\\\\\\\\\"``, " -"tornando as seguintes linhas de código funcionalmente idênticas::" +"prefixada com outra contrabarra na expressão regular. Com a notação de " +"string bruta, isso significa ``r\"\\\\\"``. Sem a notação de string bruta, " +"deve-se usar ``\"\\\\\\\\\"``, tornando as seguintes linhas de código " +"funcionalmente idênticas::" -#: ../../library/re.rst:1737 +#: ../../library/re.rst:1811 msgid "Writing a Tokenizer" msgstr "Escrevendo um tokenizador" -#: ../../library/re.rst:1739 +#: ../../library/re.rst:1813 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 "" -"Um `tokenizador, tokenizer ou scanner `_ analisa uma string para categorizar grupos de " -"caracteres. Este é um primeiro passo útil para escrever um compilador ou " -"interpretador." +"Um `tokenizador ou scanner `_ " +"analisa uma string para categorizar grupos de caracteres. Este é um primeiro " +"passo útil para escrever um compilador ou interpretador." -#: ../../library/re.rst:1743 +#: ../../library/re.rst:1817 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 "" "As categorias de texto são especificadas com expressões regulares. A técnica " -"é combiná-las em uma única expressão regular mestre e fazer um loop em " +"é combiná-las em uma única expressão regular mestre e fazer um laço em " "correspondências sucessivas::" -#: ../../library/re.rst:1799 +#: ../../library/re.rst:1873 msgid "The tokenizer produces the following output::" msgstr "O tokenizador produz a seguinte saída::" -#: ../../library/re.rst:1822 +#: ../../library/re.rst:1896 msgid "" "Friedl, Jeffrey. Mastering Regular Expressions. 3rd ed., O'Reilly Media, " "2009. The third edition of the book no longer covers Python at all, but the " @@ -2715,3 +2830,224 @@ msgstr "" "2009. A terceira edição do livro não cobre mais o Python, mas a primeira " "edição cobriu a escrita de bons padrões de expressão regular em grandes " "detalhes." + +#: ../../library/re.rst:99 +msgid ". (dot)" +msgstr ". (ponto)" + +#: ../../library/re.rst:99 ../../library/re.rst:106 ../../library/re.rst:112 +#: ../../library/re.rst:123 ../../library/re.rst:130 ../../library/re.rst:137 +#: ../../library/re.rst:143 ../../library/re.rst:157 ../../library/re.rst:181 +#: ../../library/re.rst:220 ../../library/re.rst:235 ../../library/re.rst:244 +#: ../../library/re.rst:257 ../../library/re.rst:262 ../../library/re.rst:295 +#: ../../library/re.rst:308 ../../library/re.rst:318 ../../library/re.rst:350 +#: ../../library/re.rst:405 ../../library/re.rst:436 ../../library/re.rst:442 +#: ../../library/re.rst:447 ../../library/re.rst:454 ../../library/re.rst:461 +#: ../../library/re.rst:488 ../../library/re.rst:498 ../../library/re.rst:521 +#: ../../library/re.rst:533 ../../library/re.rst:538 ../../library/re.rst:560 +#: ../../library/re.rst:574 ../../library/re.rst:590 ../../library/re.rst:598 +#: ../../library/re.rst:613 ../../library/re.rst:621 ../../library/re.rst:638 +#: ../../library/re.rst:652 ../../library/re.rst:657 ../../library/re.rst:848 +#: ../../library/re.rst:1054 +msgid "in regular expressions" +msgstr "em expressões regulares" + +#: ../../library/re.rst:106 ../../library/re.rst:262 +msgid "^ (caret)" +msgstr "^ (circunflexo)" + +#: ../../library/re.rst:112 +msgid "$ (dollar)" +msgstr "$ (dólar)" + +#: ../../library/re.rst:123 +msgid "* (asterisk)" +msgstr "* (asterisco)" + +#: ../../library/re.rst:130 +msgid "+ (plus)" +msgstr "+ (mais)" + +#: ../../library/re.rst:137 +msgid "? (question mark)" +msgstr "? (interrogação)" + +#: ../../library/re.rst:143 +msgid "*?" +msgstr "*?" + +#: ../../library/re.rst:143 +msgid "+?" +msgstr "+?" + +#: ../../library/re.rst:143 +msgid "??" +msgstr "??" + +#: ../../library/re.rst:157 +msgid "*+" +msgstr "*+" + +#: ../../library/re.rst:157 +msgid "++" +msgstr "++" + +#: ../../library/re.rst:157 +msgid "?+" +msgstr "?+" + +#: ../../library/re.rst:181 +msgid "{} (curly brackets)" +msgstr "{} (chaves)" + +#: ../../library/re.rst:220 ../../library/re.rst:257 ../../library/re.rst:521 +msgid "\\ (backslash)" +msgstr "\\ (contrabarra)" + +#: ../../library/re.rst:235 +msgid "[] (square brackets)" +msgstr "[] (colchetes)" + +#: ../../library/re.rst:244 +msgid "- (minus)" +msgstr "- (menos)" + +#: ../../library/re.rst:295 +msgid "| (vertical bar)" +msgstr "| (barra vertical)" + +#: ../../library/re.rst:308 +msgid "() (parentheses)" +msgstr "() (parênteses)" + +#: ../../library/re.rst:318 +msgid "(?" +msgstr "(?" + +#: ../../library/re.rst:350 +msgid "(?:" +msgstr "(?:" + +#: ../../library/re.rst:405 +msgid "(?P<" +msgstr "(?P<" + +#: ../../library/re.rst:436 +msgid "(?P=" +msgstr "(?P=" + +#: ../../library/re.rst:442 +msgid "(?#" +msgstr "(?#" + +#: ../../library/re.rst:447 +msgid "(?=" +msgstr "(?=" + +#: ../../library/re.rst:454 +msgid "(?!" +msgstr "(?!" + +#: ../../library/re.rst:461 +msgid "(?<=" +msgstr "(?<=" + +#: ../../library/re.rst:488 +msgid "(?, YEAR. # # Translators: -# And Past , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/readline.rst:2 msgid ":mod:`readline` --- GNU readline interface" -msgstr "" +msgstr ":mod:`readline` --- Interface para o GNU readline" #: ../../library/readline.rst:12 msgid "" @@ -35,9 +34,16 @@ msgid "" "This module can be used directly, or via the :mod:`rlcompleter` module, " "which supports completion of Python identifiers at the interactive prompt. " "Settings made using this module affect the behaviour of both the " -"interpreter's interactive prompt and the prompts offered by the built-in :" -"func:`input` function." +"interpreter's interactive prompt and the prompts offered by the built-" +"in :func:`input` function." msgstr "" +"O módulo :mod:`readline` define uma série de funções para facilitar o " +"autocomplemento e leitura/gravação de arquivos históricos do interpretador " +"Python. Este módulo pode ser usado diretamente ou através do " +"módulo :mod:`rlcompleter`, que provê o autocomplemento de identificadores " +"Python no prompt interativo. As configurações feitas usando este módulo " +"afetam o comportamento do prompt interativo do interpretador e dos prompts " +"oferecidos pela função embutida :func:`input`." #: ../../library/readline.rst:20 msgid "" @@ -48,6 +54,12 @@ msgid "" "constructs of that file, and the capabilities of the Readline library in " "general." msgstr "" +"As combinações de teclas do Readline podem ser configuradas através de um " +"arquivo de inicialização, normalmente ``.inputrc`` em seu diretório inicial. " +"Consulte `Readline Init File `_ no manual do GNU Readline para obter " +"informações sobre o formato e construções permitidas desse arquivo e os " +"recursos da biblioteca do Readline em geral." #: ../../library/readline.rst:29 msgid "" @@ -55,6 +67,10 @@ msgid "" "library instead of GNU readline. On macOS the :mod:`readline` module detects " "which library is being used at run time." msgstr "" +"A API da biblioteca Readline subjacente pode ser implementada pela " +"biblioteca ``libedit`` em vez do GNU readline. No macOS, o " +"módulo :mod:`readline` detecta qual biblioteca está sendo usada no tempo de " +"execução." #: ../../library/readline.rst:34 msgid "" @@ -63,6 +79,10 @@ msgid "" "for the text \"libedit\" in :const:`readline.__doc__` to differentiate " "between GNU readline and libedit." msgstr "" +"O arquivo de configuração para ``libedit`` é diferente daquele do GNU " +"readline. Se você carregar programaticamente strings de configuração, você " +"pode verificar o texto \"libedit\" em :const:`readline.__doc__` para " +"diferenciar entre GNU readline e libedit." #: ../../library/readline.rst:39 msgid "" @@ -71,6 +91,10 @@ msgid "" "example, the following content in ``~/.editrc`` will turn ON *vi* " "keybindings and TAB completion::" msgstr "" +"Se você usar a emulação readline *editline*/``libedit`` no macOS, o arquivo " +"de inicialização localizado no seu diretório home será chamado ``.editrc``. " +"Por exemplo, o seguinte conteúdo em ``~/.editrc`` ativará as combinações de " +"teclas *vi* e a conclusão por TAB::" #: ../../library/readline.rst:49 msgid "Init file" @@ -79,12 +103,16 @@ msgstr "Arquivo init" #: ../../library/readline.rst:51 msgid "The following functions relate to the init file and user configuration:" msgstr "" +"As seguintes funções estão relacionadas ao arquivo init e à configuração do " +"usuário:" #: ../../library/readline.rst:56 msgid "" -"Execute the init line provided in the *string* argument. This calls :c:func:" -"`rl_parse_and_bind` in the underlying library." +"Execute the init line provided in the *string* argument. This " +"calls :c:func:`rl_parse_and_bind` in the underlying library." msgstr "" +"Executa a linha de init fornecida no argumento *string*. Isso " +"chama :c:func:`rl_parse_and_bind` na biblioteca subjacente." #: ../../library/readline.rst:62 msgid "" @@ -92,32 +120,43 @@ msgid "" "filename used. This calls :c:func:`rl_read_init_file` in the underlying " "library." msgstr "" +"Executa um arquivo de inicialização do readline. O nome de arquivo padrão é " +"o último nome de arquivo usado. Isso chama :c:func:`rl_read_init_file` na " +"biblioteca subjacente." #: ../../library/readline.rst:67 msgid "Line buffer" -msgstr "" +msgstr "Buffer de linha" #: ../../library/readline.rst:69 msgid "The following functions operate on the line buffer:" -msgstr "" +msgstr "As seguintes funções operam no buffer de linha:" #: ../../library/readline.rst:74 msgid "" "Return the current contents of the line buffer (:c:data:`rl_line_buffer` in " "the underlying library)." msgstr "" +"Retorna o conteúdo atual do buffer de linha (:c:data:`rl_line_buffer` na " +"biblioteca subjacente)." #: ../../library/readline.rst:80 msgid "" -"Insert text into the line buffer at the cursor position. This calls :c:func:" -"`rl_insert_text` in the underlying library, but ignores the return value." +"Insert text into the line buffer at the cursor position. This " +"calls :c:func:`rl_insert_text` in the underlying library, but ignores the " +"return value." msgstr "" +"Insere texto no buffer de linha na posição do cursor. Isso " +"chama :c:func:`rl_insert_text` na biblioteca subjacente, mas ignora o valor " +"de retorno." #: ../../library/readline.rst:87 msgid "" "Change what's displayed on the screen to reflect the current contents of the " "line buffer. This calls :c:func:`rl_redisplay` in the underlying library." msgstr "" +"Altera o que é exibido na tela para refletir o conteúdo atual do buffer de " +"linha. Isso chama :c:func:`rl_redisplay` na biblioteca subjacente." #: ../../library/readline.rst:92 msgid "History file" @@ -125,7 +164,7 @@ msgstr "Arquivo de histórico" #: ../../library/readline.rst:94 msgid "The following functions operate on a history file:" -msgstr "" +msgstr "As seguintes funções operam em um arquivo histórico:" #: ../../library/readline.rst:99 msgid "" @@ -133,37 +172,53 @@ msgid "" "filename is :file:`~/.history`. This calls :c:func:`read_history` in the " "underlying library." msgstr "" +"Carrega um arquivo de histórico do readline e anexa-o à lista de histórico. " +"O nome do arquivo padrão é :file:`~/.history`. Isso " +"chama :c:func:`read_history` na biblioteca subjacente." #: ../../library/readline.rst:106 msgid "" "Save the history list to a readline history file, overwriting any existing " -"file. The default filename is :file:`~/.history`. This calls :c:func:" -"`write_history` in the underlying library." +"file. The default filename is :file:`~/.history`. This " +"calls :c:func:`write_history` in the underlying library." msgstr "" +"Salva a lista de histórico em um arquivo de histórico readline, substituindo " +"qualquer arquivo existente. O nome do arquivo padrão é :file:`~/.history`. " +"Isso chama :c:func:`write_history` na biblioteca subjacente." #: ../../library/readline.rst:113 msgid "" "Append the last *nelements* items of history to a file. The default " -"filename is :file:`~/.history`. The file must already exist. This calls :c:" -"func:`append_history` in the underlying library. This function only exists " -"if Python was compiled for a version of the library that supports it." +"filename is :file:`~/.history`. The file must already exist. This " +"calls :c:func:`append_history` in the underlying library. This function " +"only exists if Python was compiled for a version of the library that " +"supports it." msgstr "" +"Anexa os últimos *nelements* itens do histórico a um arquivo. O nome do " +"arquivo padrão é :file:`~/.history`. O arquivo já deve existir. Isso " +"chama :c:func:`append_history` na biblioteca subjacente. Esta função só " +"existe se o Python foi compilado para uma versão da biblioteca que a suporta." #: ../../library/readline.rst:125 msgid "" -"Set or return the desired number of lines to save in the history file. The :" -"func:`write_history_file` function uses this value to truncate the history " -"file, by calling :c:func:`history_truncate_file` in the underlying library. " -"Negative values imply unlimited history file size." +"Set or return the desired number of lines to save in the history file. " +"The :func:`write_history_file` function uses this value to truncate the " +"history file, by calling :c:func:`history_truncate_file` in the underlying " +"library. Negative values imply unlimited history file size." msgstr "" +"Define ou retorna o número desejado de linhas para salvar no arquivo de " +"histórico. A função :func:`write_history_file` usa este valor para truncar o " +"arquivo de histórico, chamando :c:func:`history_truncate_file` na biblioteca " +"subjacente. Valores negativos implicam tamanho ilimitado do arquivo de " +"histórico." #: ../../library/readline.rst:133 msgid "History list" -msgstr "" +msgstr "Lista de histórico" #: ../../library/readline.rst:135 msgid "The following functions operate on a global history list:" -msgstr "" +msgstr "As seguintes funções operam em uma lista de histórico global:" #: ../../library/readline.rst:140 msgid "" @@ -171,6 +226,9 @@ msgid "" "underlying library. The Python function only exists if Python was compiled " "for a version of the library that supports it." msgstr "" +"Limpa o histórico atual. Isso chama :c:func:`clear_history` na biblioteca " +"subjacente. A função Python só existe se o Python foi compilado para uma " +"versão da biblioteca que a suporta." #: ../../library/readline.rst:147 msgid "" @@ -178,12 +236,17 @@ msgid "" "from :func:`get_history_length`, which returns the maximum number of lines " "that will be written to a history file.)" msgstr "" +"Retorna o número de itens atualmente no histórico. (Isso é diferente " +"de :func:`get_history_length`, que retorna o número máximo de linhas que " +"serão gravadas em um arquivo de histórico.)" #: ../../library/readline.rst:154 msgid "" "Return the current contents of history item at *index*. The item index is " "one-based. This calls :c:func:`history_get` in the underlying library." msgstr "" +"Retorna o conteúdo atual do item do histórico em *index*. O índice do item é " +"baseado em um. Isso chama :c:func:`history_get` na biblioteca subjacente." #: ../../library/readline.rst:160 msgid "" @@ -191,6 +254,9 @@ msgid "" "is zero-based. This calls :c:func:`remove_history` in the underlying " "library." msgstr "" +"Remove o item de histórico especificado por sua posição do histórico. A " +"posição conta a partir de zero. Isso chama :c:func:`remove_history` na " +"biblioteca subjacente." #: ../../library/readline.rst:167 msgid "" @@ -198,12 +264,17 @@ msgid "" "zero-based. This calls :c:func:`replace_history_entry` in the underlying " "library." msgstr "" +"Substitui o item de histórico especificado pela sua posição por *linha*. A " +"posição conta a partir do zero. Isso chama :c:func:`replace_history_entry` " +"na biblioteca subjacente." #: ../../library/readline.rst:174 msgid "" "Append *line* to the history buffer, as if it was the last line typed. This " "calls :c:func:`add_history` in the underlying library." msgstr "" +"Acrescenta *line* ao buffer do histórico, como se fosse a última linha " +"digitada. Isso chama :c:func:`add_history` na biblioteca subjacente." #: ../../library/readline.rst:180 msgid "" @@ -211,16 +282,22 @@ msgid "" "input via readline. The *enabled* argument should be a Boolean value that " "when true, enables auto history, and that when false, disables auto history." msgstr "" +"Habilita ou desabilita chamadas automáticas para :c:func:`add_history` ao " +"ler a entrada via readline. O argumento *enabled* deve ser um valor booleano " +"que, quando verdadeiro, ativa o histórico automático e, quando falso, " +"desativa o histórico automático." #: ../../library/readline.rst:188 msgid "" "Auto history is enabled by default, and changes to this do not persist " "across multiple sessions." msgstr "" +"O histórico automático está ativado por padrão e as alterações não persistem " +"em várias sessões." #: ../../library/readline.rst:193 msgid "Startup hooks" -msgstr "" +msgstr "Ganchos de inicialização" #: ../../library/readline.rst:198 msgid "" @@ -230,6 +307,11 @@ msgid "" "installed is removed. The hook is called with no arguments just before " "readline prints the first prompt." msgstr "" +"Define ou remove a função invocada pelo retorno de " +"chamada :c:data:`rl_startup_hook` da biblioteca subjacente. Se *function* " +"for especificada, ela será usada como a nova função de gancho; se omitido ou " +"``None``, qualquer função já instalada será removida. O gancho é chamado sem " +"argumentos antes de readline imprimir o primeiro prompt." #: ../../library/readline.rst:207 msgid "" @@ -241,12 +323,19 @@ msgid "" "characters. This function only exists if Python was compiled for a version " "of the library that supports it." msgstr "" +"Define ou remove a função invocada pelo retorno de " +"chamada :c:data:`rl_pre_input_hook` da biblioteca subjacente. Se *function* " +"for especificada, ela será usada como a nova função de gancho; se omitida ou " +"``None``, qualquer função já instalada será removida. O gancho é chamado sem " +"argumentos após a impressão do primeiro prompt e pouco antes de readline " +"começar a ler os caracteres de entrada. Esta função só existe se o Python " +"foi compilado para uma versão da biblioteca que a suporta." -#: ../../library/readline.rst:217 +#: ../../library/readline.rst:219 msgid "Completion" -msgstr "" +msgstr "Autocomplemento" -#: ../../library/readline.rst:219 +#: ../../library/readline.rst:221 msgid "" "The following functions relate to implementing a custom word completion " "function. This is typically operated by the Tab key, and can suggest and " @@ -255,8 +344,16 @@ msgid "" "interactive interpreter. If the :mod:`readline` module is to be used with a " "custom completer, a different set of word delimiters should be set." msgstr "" +"As funções a seguir estão relacionadas à implementação de uma função " +"personalizada de autocomplemento ou *completion*, em inglês, de palavras. " +"Isso normalmente é operado pela tecla Tab e pode sugerir e completar " +"automaticamente uma palavra que está sendo digitada. Por padrão, Readline " +"está configurado para ser usado por :mod:`rlcompleter` para completar " +"identificadores Python para o interpretador interativo. Se o " +"módulo :mod:`readline` for usado com um autocomplemento personalizado, um " +"conjunto diferente de delimitadores de palavras deverá ser definido." -#: ../../library/readline.rst:229 +#: ../../library/readline.rst:231 msgid "" "Set or remove the completer function. If *function* is specified, it will " "be used as the new completer function; if omitted or ``None``, any completer " @@ -265,46 +362,75 @@ msgid "" "returns a non-string value. It should return the next possible completion " "starting with *text*." msgstr "" +"Define ou remove a função de autocomplemento. Se *function* for " +"especificada, ela será usada como a nova função de autocomplemento; se " +"omitido ou ``None``, qualquer função de autocomplemento já instalada será " +"removida. A função de autocomplemento é chamada como ``function(text, " +"state)``, para *state* em ``0``, ``1``, ``2``, ..., até retornar um valor " +"que não seja string. Deve retornar o próximo autocomplemento possível " +"começando com *text*." -#: ../../library/readline.rst:236 +#: ../../library/readline.rst:238 msgid "" "The installed completer function is invoked by the *entry_func* callback " "passed to :c:func:`rl_completion_matches` in the underlying library. The " -"*text* string comes from the first parameter to the :c:data:" -"`rl_attempted_completion_function` callback of the underlying library." +"*text* string comes from the first parameter to " +"the :c:data:`rl_attempted_completion_function` callback of the underlying " +"library." msgstr "" +"A função de autocomplemento instalada é invocada pelo retorno de chamada " +"*entry_func* passado para :c:func:`rl_completion_matches` na biblioteca " +"subjacente. A string *text* vem do primeiro parâmetro para o retorno de " +"chamada :c:data:`rl_attempted_completion_function` da biblioteca subjacente." -#: ../../library/readline.rst:245 +#: ../../library/readline.rst:247 msgid "" "Get the completer function, or ``None`` if no completer function has been " "set." msgstr "" +"Obtém a função de autocomplemento ou ``None`` se nenhuma função de " +"autocomplemento tiver sido definida." -#: ../../library/readline.rst:250 +#: ../../library/readline.rst:252 msgid "" -"Get the type of completion being attempted. This returns the :c:data:" -"`rl_completion_type` variable in the underlying library as an integer." +"Get the type of completion being attempted. This returns " +"the :c:data:`rl_completion_type` variable in the underlying library as an " +"integer." msgstr "" +"Obtém o tipo de autocomplemento que está sendo tentado. Isso retorna a " +"variável :c:data:`rl_completion_type` na biblioteca subjacente como um " +"número inteiro." -#: ../../library/readline.rst:258 +#: ../../library/readline.rst:260 msgid "" "Get the beginning or ending index of the completion scope. These indexes are " -"the *start* and *end* arguments passed to the :c:data:" -"`rl_attempted_completion_function` callback of the underlying library. The " -"values may be different in the same input editing scenario based on the " -"underlying C readline implementation. Ex: libedit is known to behave " -"differently than libreadline." +"the *start* and *end* arguments passed to " +"the :c:data:`rl_attempted_completion_function` callback of the underlying " +"library. The values may be different in the same input editing scenario " +"based on the underlying C readline implementation. Ex: libedit is known to " +"behave differently than libreadline." msgstr "" +"Obtém o índice inicial ou final do escopo de autocomplemento. Esses índices " +"são os argumentos *start* e *end* passados para o retorno de " +"chamada :c:data:`rl_attempted_completion_function` da biblioteca subjacente. " +"Os valores podem ser diferentes no mesmo cenário de edição de entrada com " +"base na implementação de C readline subjacente. Por exemplo, sabe-se que o " +"libedit se comporta de maneira diferente do libreadline." -#: ../../library/readline.rst:269 +#: ../../library/readline.rst:271 msgid "" "Set or get the word delimiters for completion. These determine the start of " "the word to be considered for completion (the completion scope). These " "functions access the :c:data:`rl_completer_word_break_characters` variable " "in the underlying library." msgstr "" +"Define ou obtém os delimitadores de palavras para autocomplemento. Estes " +"determinam o início da palavra a ser considerada para autocomplemento (o " +"escopo de autocomplemento). Essas funções acessam a " +"variável :c:data:`rl_completer_word_break_characters` na biblioteca " +"subjacente." -#: ../../library/readline.rst:277 +#: ../../library/readline.rst:279 msgid "" "Set or remove the completion display function. If *function* is specified, " "it will be used as the new completion display function; if omitted or " @@ -314,12 +440,21 @@ msgid "" "called as ``function(substitution, [matches], longest_match_length)`` once " "each time matches need to be displayed." msgstr "" +"Define ou remove a função de exibição de autocomplemento. Se *function* for " +"especificada, ela será usada como a nova função de exibição de " +"autocomplemento; se omitida ou ``None``, qualquer função de exibição de " +"autocomplemento já instalada será removida. Isso define ou limpa o retorno " +"de chamada :c:data:`rl_completion_display_matches_hook` na biblioteca " +"subjacente. A função de exibição de autocomplemento é chamada como " +"``function(substitution, [correspondências], " +"comprimento_da_correspondência_mais_longa)`` uma vez que cada " +"correspondência precisa ser exibida." -#: ../../library/readline.rst:290 +#: ../../library/readline.rst:292 msgid "Example" msgstr "Exemplo" -#: ../../library/readline.rst:292 +#: ../../library/readline.rst:294 msgid "" "The following example demonstrates how to use the :mod:`readline` module's " "history reading and writing functions to automatically load and save a " @@ -327,21 +462,33 @@ msgid "" "The code below would normally be executed automatically during interactive " "sessions from the user's :envvar:`PYTHONSTARTUP` file. ::" msgstr "" +"O exemplo a seguir demonstra como usar as funções de leitura e gravação de " +"histórico do módulo :mod:`readline` para carregar e salvar automaticamente " +"um arquivo de histórico chamado :file:`.python_history` do diretório inicial " +"do usuário. O código abaixo normalmente seria executado automaticamente " +"durante sessões interativas do arquivo :envvar:`PYTHONSTARTUP` do usuário. ::" -#: ../../library/readline.rst:312 +#: ../../library/readline.rst:314 msgid "" -"This code is actually automatically run when Python is run in :ref:" -"`interactive mode ` (see :ref:`rlcompleter-config`)." +"This code is actually automatically run when Python is run " +"in :ref:`interactive mode ` (see :ref:`rlcompleter-config`)." msgstr "" +"Na verdade, este código é executado automaticamente quando o Python é " +"executado no :ref:`modo interativo ` " +"(veja :ref:`rlcompleter-config`)." -#: ../../library/readline.rst:315 +#: ../../library/readline.rst:317 msgid "" "The following example achieves the same goal but supports concurrent " "interactive sessions, by only appending the new history. ::" msgstr "" +"O exemplo a seguir atinge o mesmo objetivo, mas oferece suporte a sessões " +"interativas simultâneas, anexando apenas o novo histórico. ::" -#: ../../library/readline.rst:336 +#: ../../library/readline.rst:338 msgid "" "The following example extends the :class:`code.InteractiveConsole` class to " "support history save/restore. ::" msgstr "" +"O exemplo a seguir estende a classe :class:`code.InteractiveConsole` para " +"prover salvamento/restauração do histórico. ::" diff --git a/library/reprlib.po b/library/reprlib.po index 1b9f5fe68..9627c3443 100644 --- a/library/reprlib.po +++ b/library/reprlib.po @@ -1,32 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/reprlib.rst:2 msgid ":mod:`reprlib` --- Alternate :func:`repr` implementation" -msgstr "" +msgstr ":mod:`reprlib` --- Implementação alternativa à :func:`repr`" #: ../../library/reprlib.rst:9 msgid "**Source code:** :source:`Lib/reprlib.py`" @@ -34,14 +33,17 @@ msgstr "**Código-fonte:** :source:`Lib/reprlib.py`" #: ../../library/reprlib.rst:13 msgid "" -"The :mod:`reprlib` module provides a means for producing object " +"The :mod:`!reprlib` module provides a means for producing object " "representations with limits on the size of the resulting strings. This is " "used in the Python debugger and may be useful in other contexts as well." msgstr "" +"O módulo :mod:`!reprlib` fornece um meio de produzir representações de " +"objetos com limites no tamanho das strings resultantes. Isso é usado no " +"depurador Python e pode ser útil em outros contextos também." #: ../../library/reprlib.rst:17 msgid "This module provides a class, an instance, and a function:" -msgstr "" +msgstr "Este módulo fornece uma classe, uma instância e uma função." #: ../../library/reprlib.rst:22 msgid "" @@ -50,13 +52,22 @@ msgid "" "types are added to avoid the generation of representations which are " "excessively long." msgstr "" +"Classe que fornece serviços de formatação úteis na implementação de funções " +"semelhantes à embutida :func:`repr`; limites de tamanho para diferentes " +"tipos de objetos são adicionados para evitar a geração de representações " +"excessivamente longas." #: ../../library/reprlib.rst:29 msgid "" -"This is an instance of :class:`Repr` which is used to provide the :func:`." -"repr` function described below. Changing the attributes of this object will " -"affect the size limits used by :func:`.repr` and the Python debugger." +"This is an instance of :class:`Repr` which is used to provide " +"the :func:`.repr` function described below. Changing the attributes of this " +"object will affect the size limits used by :func:`.repr` and the Python " +"debugger." msgstr "" +"Esta é uma instância de :class:`Repr` que é usada para fornecer a " +"função :func:`.repr` descrita abaixo. Alterar os atributos deste objeto " +"afetará os limites de tamanho usados por :func:`.repr` e pelo depurador " +"Python." #: ../../library/reprlib.rst:37 msgid "" @@ -64,78 +75,108 @@ msgid "" "similar to that returned by the built-in function of the same name, but with " "limits on most sizes." msgstr "" +"Este é o método :meth:`~Repr.repr` de ``aRepr``. Ele retorna uma string " +"semelhante à retornada pela função embutida de mesmo nome, mas com limites " +"na maioria dos tamanhos." #: ../../library/reprlib.rst:41 msgid "" "In addition to size-limiting tools, the module also provides a decorator for " -"detecting recursive calls to :meth:`__repr__` and substituting a placeholder " -"string instead." +"detecting recursive calls to :meth:`~object.__repr__` and substituting a " +"placeholder string instead." msgstr "" +"Além das ferramentas de limitação de tamanho, o módulo também fornece um " +"decorador para detectar chamadas recursivas para :meth:`~object.__repr__` e " +"substituir uma string de espaço reservado." #: ../../library/reprlib.rst:50 msgid "" -"Decorator for :meth:`__repr__` methods to detect recursive calls within the " -"same thread. If a recursive call is made, the *fillvalue* is returned, " -"otherwise, the usual :meth:`__repr__` call is made. For example:" +"Decorator for :meth:`~object.__repr__` methods to detect recursive calls " +"within the same thread. If a recursive call is made, the *fillvalue* is " +"returned, otherwise, the usual :meth:`!__repr__` call is made. For example:" msgstr "" +"Decorador para métodos :meth:`~object.__repr__` para detectar chamadas " +"recursivas dentro da mesma thread. Se uma chamada recursiva for feita, o " +"*fillvalue* é retornado; caso contrário, a chamada usual :meth:`!__repr__` é " +"feita. Por exemplo:" -#: ../../library/reprlib.rst:72 +#: ../../library/reprlib.rst:74 msgid "Repr Objects" msgstr "Objetos Repr" -#: ../../library/reprlib.rst:74 +#: ../../library/reprlib.rst:76 msgid "" ":class:`Repr` instances provide several attributes which can be used to " "provide size limits for the representations of different object types, and " "methods which format specific object types." msgstr "" +"Instâncias :class:`Repr` fornecem vários atributos que podem ser usados para " +"fornecer limites de tamanho para as representações de diferentes tipos de " +"objetos e métodos que formatam tipos de objetos específicos." -#: ../../library/reprlib.rst:81 +#: ../../library/reprlib.rst:83 msgid "" "This string is displayed for recursive references. It defaults to ``...``." -msgstr "" +msgstr "Esta string é exibida para referências recursivas. O padrão é ``...``." -#: ../../library/reprlib.rst:89 +#: ../../library/reprlib.rst:91 msgid "" "Depth limit on the creation of recursive representations. The default is " "``6``." msgstr "" +"Limite de profundidade na criação de representações recursivas. O padrão é " +"``6``." -#: ../../library/reprlib.rst:100 +#: ../../library/reprlib.rst:102 msgid "" "Limits on the number of entries represented for the named object type. The " "default is ``4`` for :attr:`maxdict`, ``5`` for :attr:`maxarray`, and ``6`` " "for the others." msgstr "" +"Limites no número de entradas representadas para o tipo de objeto nomeado. O " +"padrão é ``4`` para :attr:`maxdict`, ``5`` para :attr:`maxarray` e ``6`` " +"para os demais." -#: ../../library/reprlib.rst:107 +#: ../../library/reprlib.rst:109 msgid "" "Maximum number of characters in the representation for an integer. Digits " "are dropped from the middle. The default is ``40``." msgstr "" +"Número máximo de caracteres na representação para um inteiro. Os dígitos são " +"omitidos a partir do meio. O padrão é ``40``." -#: ../../library/reprlib.rst:113 +#: ../../library/reprlib.rst:115 msgid "" "Limit on the number of characters in the representation of the string. Note " "that the \"normal\" representation of the string is used as the character " "source: if escape sequences are needed in the representation, these may be " "mangled when the representation is shortened. The default is ``30``." msgstr "" +"Limite no número de caracteres na representação da string. Observe que a " +"representação \"normal\" da string é usada como fonte de caracteres: se " +"sequências de escape forem necessárias na representação, elas poderão ser " +"distorcidas quando a representação for encurtada. O padrão é ``30``." -#: ../../library/reprlib.rst:121 +#: ../../library/reprlib.rst:123 msgid "" "This limit is used to control the size of object types for which no specific " "formatting method is available on the :class:`Repr` object. It is applied in " "a similar manner as :attr:`maxstring`. The default is ``20``." msgstr "" +"Este limite é usado para controlar o tamanho de tipos de objetos para os " +"quais nenhum método de formatação específico está disponível no " +"objeto :class:`Repr`. Ele é aplicado de maneira semelhante " +"a :attr:`maxstring`. O padrão é ``20``." -#: ../../library/reprlib.rst:128 +#: ../../library/reprlib.rst:130 msgid "" "The equivalent to the built-in :func:`repr` that uses the formatting imposed " "by the instance." msgstr "" +"O equivalente ao :func:`repr` embutido que usa a formatação imposta pela " +"instância." -#: ../../library/reprlib.rst:134 +#: ../../library/reprlib.rst:136 msgid "" "Recursive implementation used by :meth:`.repr`. This uses the type of *obj* " "to determine which formatting method to call, passing it *obj* and *level*. " @@ -143,27 +184,42 @@ msgid "" "formatting, with ``level - 1`` for the value of *level* in the recursive " "call." msgstr "" +"Implementação recursiva usada por :meth:`.repr`. Esta usa o tipo de *obj* " +"para determinar qual método de formatação chamar, passando *obj* e *level*. " +"Os métodos específicos de tipo devem chamar :meth:`repr1` para realizar a " +"formatação recursiva, com ``level - 1`` para o valor de *level* na chamada " +"recursiva." -#: ../../library/reprlib.rst:143 +#: ../../library/reprlib.rst:145 msgid "" "Formatting methods for specific types are implemented as methods with a name " -"based on the type name. In the method name, **TYPE** is replaced by ``'_'." -"join(type(obj).__name__.split())``. Dispatch to these methods is handled by :" -"meth:`repr1`. Type-specific methods which need to recursively format a value " -"should call ``self.repr1(subobj, level - 1)``." -msgstr "" +"based on the type name. In the method name, **TYPE** is replaced by " +"``'_'.join(type(obj).__name__.split())``. Dispatch to these methods is " +"handled by :meth:`repr1`. Type-specific methods which need to recursively " +"format a value should call ``self.repr1(subobj, level - 1)``." +msgstr "" +"Métodos de formatação para tipos específicos são implementados como métodos " +"com um nome baseado no nome do tipo. No nome do método, **TYPE** é " +"substituído por ``'_'.join(type(obj).__name__.split())``. O despacho para " +"esses métodos é tratado por :meth:`repr1`. Métodos específicos de tipo que " +"precisam formatar um valor recursivamente devem chamar ``self.repr1(subobj, " +"level - 1)``." -#: ../../library/reprlib.rst:153 +#: ../../library/reprlib.rst:155 msgid "Subclassing Repr Objects" -msgstr "" +msgstr "Estendendo objetos Repr" -#: ../../library/reprlib.rst:155 +#: ../../library/reprlib.rst:157 msgid "" -"The use of dynamic dispatching by :meth:`Repr.repr1` allows subclasses of :" -"class:`Repr` to add support for additional built-in object types or to " +"The use of dynamic dispatching by :meth:`Repr.repr1` allows subclasses " +"of :class:`Repr` to add support for additional built-in object types or to " "modify the handling of types already supported. This example shows how " -"special support for file objects could be added::" +"special support for file objects could be added:" msgstr "" +"O uso de despacho dinâmico por :meth:`Repr.repr1` permite que subclasses " +"de :class:`Repr` adicionem suporte para tipos de objetos embutidos " +"adicionais ou modifiquem o tratamento de tipos já suportados. Este exemplo " +"mostra como suporte especial para objetos arquivo pode ser adicionado:" #: ../../library/reprlib.rst:46 msgid "..." @@ -171,4 +227,4 @@ msgstr "..." #: ../../library/reprlib.rst:46 msgid "placeholder" -msgstr "" +msgstr "espaço reservado" diff --git a/library/resource.po b/library/resource.po index 7a176dadf..d38e8beb8 100644 --- a/library/resource.po +++ b/library/resource.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,42 +32,41 @@ msgid "" "This module provides basic mechanisms for measuring and controlling system " "resources utilized by a program." msgstr "" +"Este módulo fornece mecanismos básicos para medir e controlar os recursos do " +"sistema usados por um programa." -#: ../../includes/wasm-notavail.rst:3 -msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr ":ref:`Disponibilidade `: não Emscripten, não WASI." - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly platforms " -"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " -"more information." -msgstr "" -"Este módulo não funciona ou não está disponível em plataformas WebAssembly " -"``wasm32-emscripten`` e ``wasm32-wasi``. Veja :ref:`wasm-availability` para " -"mais informações." +#: ../../library/resource.rst:16 +msgid ":ref:`Availability `: Unix, not Emscripten, not WASI." +msgstr ":ref:`Disponibilidade `: Unix, não Emscripten, não WASI." #: ../../library/resource.rst:18 msgid "" "Symbolic constants are used to specify particular system resources and to " "request usage information about either the current process or its children." msgstr "" +"Constantes simbólicas são usadas para especificar recursos específicos do " +"sistema e para solicitar informações de uso sobre o processo atual ou seus " +"filhos." #: ../../library/resource.rst:21 msgid "An :exc:`OSError` is raised on syscall failure." msgstr "" +"Uma exceção :exc:`OSError` é levantada em caso de falha de chamada de " +"sistema." #: ../../library/resource.rst:26 msgid "A deprecated alias of :exc:`OSError`." -msgstr "" +msgstr "Um apelido descontinuado de :exc:`OSError`." #: ../../library/resource.rst:28 msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`." msgstr "" +"Seguindo a :pep:`3151`, esta classe foi transformada em um apelido " +"de :exc:`OSError`." #: ../../library/resource.rst:33 msgid "Resource Limits" -msgstr "" +msgstr "Limites de recursos" #: ../../library/resource.rst:35 msgid "" @@ -82,6 +78,13 @@ msgid "" "soft limit, but not raised. (Only processes with the effective UID of the " "super-user can raise a hard limit.)" msgstr "" +"O uso de recursos pode ser limitado usando a função :func:`setrlimit` " +"descrita abaixo. Cada recurso é controlado por um par de limites: um limite " +"suave e um limite rígido. O limite suave é o limite atual e pode ser " +"reduzido ou aumentado por um processo ao longo do tempo. O limite suave " +"nunca pode exceder o limite rígido. O limite rígido pode ser reduzido para " +"qualquer valor maior que o limite suave, mas não aumentado. (Somente " +"processos com o UID efetivo do superusuário podem aumentar um limite rígido.)" #: ../../library/resource.rst:43 msgid "" @@ -91,10 +94,15 @@ msgid "" "resources which cannot be checked or controlled by the operating system are " "not defined in this module for those platforms." msgstr "" +"Os recursos específicos que podem ser limitados dependem do sistema. Eles " +"são descritos na página man :manpage:`getrlimit(2)`. Os recursos listados " +"abaixo são suportados quando o sistema operacional subjacente os suporta; " +"recursos que não podem ser verificados ou controlados pelo sistema " +"operacional não são definidos neste módulo para essas plataformas." #: ../../library/resource.rst:52 msgid "Constant used to represent the limit for an unlimited resource." -msgstr "" +msgstr "Constante usada para representar o limite de um recurso ilimitado." #: ../../library/resource.rst:57 msgid "" @@ -102,6 +110,10 @@ msgid "" "*resource*. Raises :exc:`ValueError` if an invalid resource is specified, " "or :exc:`error` if the underlying system call fails unexpectedly." msgstr "" +"Retorna uma tupla ``(suave, rígido)`` com os limites soft e hard atuais de " +"*resource*. Levanta :exc:`ValueError` se um recurso inválido for " +"especificado, ou :exc:`error` se a chamada do sistema subjacente falhar " +"inesperadamente." #: ../../library/resource.rst:64 msgid "" @@ -110,33 +122,49 @@ msgid "" "of :data:`~resource.RLIM_INFINITY` can be used to request a limit that is " "unlimited." msgstr "" +"Define novos limites de consumo de *resource*. O argumento *limits* deve ser " +"uma tupla ``(suave, rígido)`` de dois inteiros descrevendo os novos limites. " +"Um valor de :data:`~resource.RLIM_INFINITY` pode ser usado para solicitar um " +"limite ilimitado." #: ../../library/resource.rst:69 msgid "" "Raises :exc:`ValueError` if an invalid resource is specified, if the new " "soft limit exceeds the hard limit, or if a process tries to raise its hard " "limit. Specifying a limit of :data:`~resource.RLIM_INFINITY` when the hard " -"or system limit for that resource is not unlimited will result in a :exc:" -"`ValueError`. A process with the effective UID of super-user can request " -"any valid limit value, including unlimited, but :exc:`ValueError` will still " -"be raised if the requested limit exceeds the system imposed limit." -msgstr "" +"or system limit for that resource is not unlimited will result in " +"a :exc:`ValueError`. A process with the effective UID of super-user can " +"request any valid limit value, including unlimited, but :exc:`ValueError` " +"will still be raised if the requested limit exceeds the system imposed limit." +msgstr "" +"Levanta :exc:`ValueError` se um recurso inválido for especificado, se o novo " +"limite suave exceder o limite rígido ou se um processo tentar aumentar seu " +"limite rígido. Especificar um limite de :data:`~resource.RLIM_INFINITY` " +"quando o limite rígido ou do sistema para esse recurso não for ilimitado " +"resultará em uma exceção :exc:`ValueError`. Um processo com o UID efetivo de " +"superusuário pode solicitar qualquer valor limite válido, incluindo " +"ilimitado, mas :exc:`ValueError` ainda será levantada se o limite solicitado " +"exceder o limite imposto pelo sistema." #: ../../library/resource.rst:78 msgid "" "``setrlimit`` may also raise :exc:`error` if the underlying system call " "fails." msgstr "" +"``setrlimit`` também pode levantar :exc:`error` se a chamada do sistema " +"subjacente falhar." #: ../../library/resource.rst:81 msgid "VxWorks only supports setting :data:`RLIMIT_NOFILE`." -msgstr "" +msgstr "VxWorks só oferece suporte a definir :data:`RLIMIT_NOFILE`." -#: ../../library/resource.rst:92 +#: ../../library/resource.rst:83 msgid "" "Raises an :ref:`auditing event ` ``resource.setrlimit`` with " "arguments ``resource``, ``limits``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``resource.setrlimit`` com " +"os argumentos ``resource``, ``limits``." #: ../../library/resource.rst:88 msgid "" @@ -146,6 +174,10 @@ msgid "" "*limits* have the same meaning as in :func:`setrlimit`, except that *limits* " "is optional." msgstr "" +"Combina :func:`setrlimit` e :func:`getrlimit` em uma única função e permite " +"obter e definir os limites de recursos de um processo arbitrário. Se *pid* " +"for 0, a chamada se aplica ao processo atual. *resource* e *limits* têm o " +"mesmo significado que em :func:`setrlimit`, exceto que *limits* é opcional." #: ../../library/resource.rst:94 msgid "" @@ -153,19 +185,27 @@ msgid "" "process *pid*. When *limits* is given the *resource* limit of the process is " "set and the former resource limit is returned." msgstr "" +"Quando *limits* não é fornecido, a função retorna o limite de *resource* do " +"processo *pid*. Quando *limits* é fornecido, o limite de *resource* do " +"processo é definido e o limite de recurso anterior é retornado." #: ../../library/resource.rst:98 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." +"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 "" +"Levanta :exc:`ProcessLookupError` quando *pid* não pode ser encontrado " +"e :exc:`PermissionError` quando o usuário não tem ``CAP_SYS_RESOURCE`` para " +"o processo." -#: ../../library/resource.rst:111 +#: ../../library/resource.rst:102 msgid "" "Raises an :ref:`auditing event ` ``resource.prlimit`` with " "arguments ``pid``, ``resource``, ``limits``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``resource.prlimit`` com os " +"argumentos ``pid``, ``resource``, ``limits``." #: ../../library/resource.rst:104 msgid ":ref:`Availability `: Linux >= 2.6.36 with glibc >= 2.13." @@ -178,6 +218,9 @@ msgid "" "the :func:`setrlimit` and :func:`getrlimit` functions described below. The " "values of these symbols are exactly the constants used by C programs." msgstr "" +"Esses símbolos definem recursos cujo consumo pode ser controlado usando as " +"funções :func:`setrlimit` e :func:`getrlimit` descritas abaixo. Os valores " +"desses símbolos são exatamente as constantes usadas por programas em C." #: ../../library/resource.rst:113 msgid "" @@ -187,6 +230,11 @@ msgid "" "--- symbols not defined for a platform will not be available from this " "module on that platform." msgstr "" +"A página man do Unix para :manpage:`getrlimit(2)` lista os recursos " +"disponíveis. Observe que nem todos os sistemas usam o mesmo símbolo ou o " +"mesmo valor para denotar o mesmo recurso. Este módulo não tenta mascarar " +"diferenças de plataforma --- símbolos não definidos para uma plataforma não " +"estarão disponíveis neste módulo para essa plataforma." #: ../../library/resource.rst:122 msgid "" @@ -194,6 +242,10 @@ msgid "" "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 "" +"O tamanho máximo (em bytes) de um arquivo de núcleo (core file) que o " +"processo atual pode criar. Isso pode resultar na criação de um arquivo de " +"núcleo parcial se um núcleo maior for necessário para conter a imagem " +"completa do processo." #: ../../library/resource.rst:129 msgid "" @@ -202,140 +254,171 @@ 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 "" +"O tempo máximo de processador (em segundos) que um processo pode usar. Se " +"esse limite for excedido, um sinal :const:`SIGXCPU` é enviado ao processo. " +"(Consulte a documentação do módulo :mod:`signal` para obter informações " +"sobre como capturar esse sinal e fazer algo útil, por exemplo, liberar " +"arquivos abertos no disco.)" #: ../../library/resource.rst:137 msgid "The maximum size of a file which the process may create." -msgstr "" +msgstr "O tamanho máximo de um arquivo que o processo pode criar." #: ../../library/resource.rst:142 msgid "The maximum size (in bytes) of the process's heap." -msgstr "" +msgstr "O tamanho máximo (em bytes) da heap do processo." #: ../../library/resource.rst:147 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 "" +"O tamanho máximo (em bytes) da pilha de chamadas para o processo atual. Isso " +"afeta apenas a pilha da thread principal em um processo multithread." #: ../../library/resource.rst:153 msgid "" "The maximum resident set size that should be made available to the process." msgstr "" +"O tamanho máximo do conjunto de residentes que deve ser disponibilizado para " +"o processo." #: ../../library/resource.rst:158 msgid "The maximum number of processes the current process may create." -msgstr "" +msgstr "O número máximo de processos que o processo atual pode criar." #: ../../library/resource.rst:163 msgid "The maximum number of open file descriptors for the current process." msgstr "" +"O número máximo de descritores de arquivo abertos para o processo atual." #: ../../library/resource.rst:168 msgid "The BSD name for :const:`RLIMIT_NOFILE`." -msgstr "" +msgstr "O nome BSD para :const:`RLIMIT_NOFILE`." #: ../../library/resource.rst:173 msgid "The maximum address space which may be locked in memory." -msgstr "" +msgstr "O espaço máximo de endereço que pode ser travado na memória." #: ../../library/resource.rst:178 msgid "The largest area of mapped memory which the process may occupy." -msgstr "" +msgstr "A maior área de memória mapeada que o processo pode ocupar." -#: ../../library/resource.rst:183 +#: ../../library/resource.rst:180 ../../library/resource.rst:268 +msgid ":ref:`Availability `: FreeBSD >= 11." +msgstr ":ref:`Disponibilidade `: FreeBSD >= 11." + +#: ../../library/resource.rst:185 msgid "" "The maximum area (in bytes) of address space which may be taken by the " "process." msgstr "" +"A área máxima (em bytes) de espaço de endereço que pode ser ocupada pelo " +"processo." -#: ../../library/resource.rst:188 +#: ../../library/resource.rst:190 msgid "The number of bytes that can be allocated for POSIX message queues." msgstr "" +"O número de bytes que podem ser alocados para filas de mensagens POSIX." -#: ../../library/resource.rst:190 ../../library/resource.rst:227 +#: ../../library/resource.rst:192 ../../library/resource.rst:229 msgid ":ref:`Availability `: Linux >= 2.6.8." msgstr ":ref:`Disponibilidade `: Linux >= 2.6.8." -#: ../../library/resource.rst:197 +#: ../../library/resource.rst:199 msgid "The ceiling for the process's nice level (calculated as 20 - rlim_cur)." msgstr "" +"O teto para o nível agradável do processo (calculado como 20 - rlim_cur)." -#: ../../library/resource.rst:199 ../../library/resource.rst:208 +#: ../../library/resource.rst:201 ../../library/resource.rst:210 msgid ":ref:`Availability `: Linux >= 2.6.12." msgstr ":ref:`Disponibilidade `: Linux >= 2.6.12." -#: ../../library/resource.rst:206 +#: ../../library/resource.rst:208 msgid "The ceiling of the real-time priority." -msgstr "" +msgstr "O teto da prioridade em tempo real." -#: ../../library/resource.rst:215 +#: ../../library/resource.rst:217 msgid "" "The time limit (in microseconds) on CPU time that a process can spend under " "real-time scheduling without making a blocking syscall." msgstr "" +"O limite de tempo (em microssegundos) no tempo de CPU que um processo pode " +"gastar sob agendamento em tempo real sem fazer uma chamada de sistema de " +"bloqueio." -#: ../../library/resource.rst:218 +#: ../../library/resource.rst:220 msgid ":ref:`Availability `: Linux >= 2.6.25." msgstr ":ref:`Disponibilidade `: Linux >= 2.6.25." -#: ../../library/resource.rst:225 +#: ../../library/resource.rst:227 msgid "The number of signals which the process may queue." -msgstr "" +msgstr "O número de sinais que o processo pode enfileirar." -#: ../../library/resource.rst:233 +#: ../../library/resource.rst:235 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 "" +"O tamanho máximo (em bytes) de uso do buffer de soquete para este usuário. " +"Isso limita a quantidade de memória de rede e, portanto, a quantidade de " +"mbufs que este usuário pode armazenar a qualquer momento." -#: ../../library/resource.rst:237 ../../library/resource.rst:250 -#: ../../library/resource.rst:258 +#: ../../library/resource.rst:239 ../../library/resource.rst:252 +#: ../../library/resource.rst:260 msgid ":ref:`Availability `: FreeBSD." msgstr ":ref:`Disponibilidade `: FreeBSD." -#: ../../library/resource.rst:243 +#: ../../library/resource.rst:245 msgid "" "The maximum size (in bytes) of the swap space that may be reserved or used " "by all of this user id's processes. This limit is enforced only if bit 1 of " -"the vm.overcommit sysctl is set. Please see `tuning(7) `__ for a complete description of " -"this sysctl." +"the vm.overcommit sysctl is set. Please see `tuning(7) `__ for a complete " +"description of this sysctl." msgstr "" +"O tamanho máximo (em bytes) do espaço de swap que pode ser reservado ou " +"utilizado por todos os processos deste ID de usuário. Este limite é aplicado " +"somente se o bit 1 do sysctl vm.overcommit estiver definido. Consulte " +"`tuning(7) `__ " +"para uma descrição completa deste sysctl." -#: ../../library/resource.rst:256 +#: ../../library/resource.rst:258 msgid "The maximum number of pseudo-terminals created by this user id." -msgstr "" +msgstr "O número máximo de pseudoterminais criados por este ID de usuário." -#: ../../library/resource.rst:264 +#: ../../library/resource.rst:266 msgid "The maximum number of kqueues this user id is allowed to create." msgstr "" +"O número máximo de kqueues que esse ID de usuário tem permissão para criar." -#: ../../library/resource.rst:266 -msgid ":ref:`Availability `: FreeBSD >= 11." -msgstr ":ref:`Disponibilidade `: FreeBSD >= 11." - -#: ../../library/resource.rst:271 +#: ../../library/resource.rst:273 msgid "Resource Usage" -msgstr "" +msgstr "Uso de recursos" -#: ../../library/resource.rst:273 +#: ../../library/resource.rst:275 msgid "These functions are used to retrieve resource usage information:" msgstr "" +"Essas funções são usadas para recuperar informações de uso de recursos:" -#: ../../library/resource.rst:278 +#: ../../library/resource.rst:280 msgid "" "This function returns an object that describes the resources consumed by " "either the current process or its children, as specified by the *who* " -"parameter. The *who* parameter should be specified using one of the :const:" -"`RUSAGE_\\*` constants described below." +"parameter. The *who* parameter should be specified using one of " +"the :const:`!RUSAGE_\\*` constants described below." msgstr "" +"Esta função retorna um objeto que descreve os recursos consumidos pelo " +"processo atual ou seus filhos, conforme especificado pelo parâmetro *who*. O " +"parâmetro *who* deve ser especificado usando uma das constantes :const:`!" +"RUSAGE_\\*` descritas abaixo." -#: ../../library/resource.rst:283 +#: ../../library/resource.rst:285 msgid "A simple example::" msgstr "Um exemplo simples::" -#: ../../library/resource.rst:297 +#: ../../library/resource.rst:299 msgid "" "The fields of the return value each describe how a particular system " "resource has been used, e.g. amount of time spent running is user mode or " @@ -343,267 +426,292 @@ msgid "" "dependent on the clock tick internal, e.g. the amount of memory the process " "is using." msgstr "" +"Os campos do valor de retorno descrevem como um recurso específico do " +"sistema foi utilizado, por exemplo, a quantidade de tempo gasto em execução " +"no modo de usuário ou o número de vezes que o processo foi trocado da " +"memória principal. Alguns valores dependem do tique do relógio interno, por " +"exemplo, a quantidade de memória que o processo está usando." -#: ../../library/resource.rst:302 +#: ../../library/resource.rst:304 msgid "" "For backward compatibility, the return value is also accessible as a tuple " "of 16 elements." msgstr "" +"Para retrocompatibilidade, o valor de retorno também pode ser acessado como " +"uma tupla de 16 elementos." -#: ../../library/resource.rst:305 +#: ../../library/resource.rst:307 msgid "" "The fields :attr:`ru_utime` and :attr:`ru_stime` of the return value are " "floating point values representing the amount of time spent executing in " "user mode and the amount of time spent executing in system mode, " -"respectively. The remaining values are integers. Consult the :manpage:" -"`getrusage(2)` man page for detailed information about these values. A brief " -"summary is presented here:" +"respectively. The remaining values are integers. Consult " +"the :manpage:`getrusage(2)` man page for detailed information about these " +"values. A brief summary is presented here:" msgstr "" -#: ../../library/resource.rst:312 +#: ../../library/resource.rst:314 msgid "Index" msgstr "Índice" -#: ../../library/resource.rst:312 +#: ../../library/resource.rst:314 msgid "Field" msgstr "Campo" -#: ../../library/resource.rst:312 +#: ../../library/resource.rst:314 msgid "Resource" -msgstr "" +msgstr "Recurso" -#: ../../library/resource.rst:314 +#: ../../library/resource.rst:316 msgid "``0``" msgstr "``0``" -#: ../../library/resource.rst:314 +#: ../../library/resource.rst:316 msgid ":attr:`ru_utime`" msgstr ":attr:`ru_utime`" -#: ../../library/resource.rst:314 +#: ../../library/resource.rst:316 msgid "time in user mode (float seconds)" -msgstr "" +msgstr "tempo no modo de usuário (segundos em pontos flutuantes)" -#: ../../library/resource.rst:316 +#: ../../library/resource.rst:318 msgid "``1``" msgstr "``1``" -#: ../../library/resource.rst:316 +#: ../../library/resource.rst:318 msgid ":attr:`ru_stime`" msgstr ":attr:`ru_stime`" -#: ../../library/resource.rst:316 +#: ../../library/resource.rst:318 msgid "time in system mode (float seconds)" -msgstr "" +msgstr "tempo no modo de sistema (segundos em pontos flutuantes)" -#: ../../library/resource.rst:318 +#: ../../library/resource.rst:320 msgid "``2``" msgstr "``2``" -#: ../../library/resource.rst:318 +#: ../../library/resource.rst:320 msgid ":attr:`ru_maxrss`" msgstr ":attr:`ru_maxrss`" -#: ../../library/resource.rst:318 +#: ../../library/resource.rst:320 msgid "maximum resident set size" -msgstr "" +msgstr "tamanho máximo do conjunto residente" -#: ../../library/resource.rst:320 +#: ../../library/resource.rst:322 msgid "``3``" msgstr "``3``" -#: ../../library/resource.rst:320 +#: ../../library/resource.rst:322 msgid ":attr:`ru_ixrss`" msgstr ":attr:`ru_ixrss`" -#: ../../library/resource.rst:320 +#: ../../library/resource.rst:322 msgid "shared memory size" -msgstr "" +msgstr "tamanho da memória compartilhada" -#: ../../library/resource.rst:322 +#: ../../library/resource.rst:324 msgid "``4``" msgstr "``4``" -#: ../../library/resource.rst:322 +#: ../../library/resource.rst:324 msgid ":attr:`ru_idrss`" msgstr ":attr:`ru_idrss`" -#: ../../library/resource.rst:322 +#: ../../library/resource.rst:324 msgid "unshared memory size" -msgstr "" +msgstr "tamanho da memória não compartilhada" -#: ../../library/resource.rst:324 +#: ../../library/resource.rst:326 msgid "``5``" msgstr "``5``" -#: ../../library/resource.rst:324 +#: ../../library/resource.rst:326 msgid ":attr:`ru_isrss`" msgstr ":attr:`ru_isrss`" -#: ../../library/resource.rst:324 +#: ../../library/resource.rst:326 msgid "unshared stack size" -msgstr "" +msgstr "tamanho da pilha não compartilhada" -#: ../../library/resource.rst:326 +#: ../../library/resource.rst:328 msgid "``6``" msgstr "``6``" -#: ../../library/resource.rst:326 +#: ../../library/resource.rst:328 msgid ":attr:`ru_minflt`" msgstr ":attr:`ru_minflt`" -#: ../../library/resource.rst:326 +#: ../../library/resource.rst:328 msgid "page faults not requiring I/O" -msgstr "" +msgstr "falhas de página que não requerem E/S" -#: ../../library/resource.rst:328 +#: ../../library/resource.rst:330 msgid "``7``" msgstr "``7``" -#: ../../library/resource.rst:328 +#: ../../library/resource.rst:330 msgid ":attr:`ru_majflt`" msgstr ":attr:`ru_majflt`" -#: ../../library/resource.rst:328 +#: ../../library/resource.rst:330 msgid "page faults requiring I/O" -msgstr "" +msgstr "falhas de página que requerem E/S" -#: ../../library/resource.rst:330 +#: ../../library/resource.rst:332 msgid "``8``" msgstr "``8``" -#: ../../library/resource.rst:330 +#: ../../library/resource.rst:332 msgid ":attr:`ru_nswap`" msgstr ":attr:`ru_nswap`" -#: ../../library/resource.rst:330 +#: ../../library/resource.rst:332 msgid "number of swap outs" -msgstr "" +msgstr "número de trocas para a memórias de swap" -#: ../../library/resource.rst:332 +#: ../../library/resource.rst:334 msgid "``9``" msgstr "``9``" -#: ../../library/resource.rst:332 +#: ../../library/resource.rst:334 msgid ":attr:`ru_inblock`" msgstr ":attr:`ru_inblock`" -#: ../../library/resource.rst:332 +#: ../../library/resource.rst:334 msgid "block input operations" -msgstr "" +msgstr "operações de entrada de bloco" -#: ../../library/resource.rst:334 +#: ../../library/resource.rst:336 msgid "``10``" msgstr "``10``" -#: ../../library/resource.rst:334 +#: ../../library/resource.rst:336 msgid ":attr:`ru_oublock`" msgstr ":attr:`ru_oublock`" -#: ../../library/resource.rst:334 +#: ../../library/resource.rst:336 msgid "block output operations" -msgstr "" +msgstr "operações de saída de bloco" -#: ../../library/resource.rst:336 +#: ../../library/resource.rst:338 msgid "``11``" msgstr "``11``" -#: ../../library/resource.rst:336 +#: ../../library/resource.rst:338 msgid ":attr:`ru_msgsnd`" msgstr ":attr:`ru_msgsnd`" -#: ../../library/resource.rst:336 +#: ../../library/resource.rst:338 msgid "messages sent" -msgstr "" +msgstr "mensagens enviadas" -#: ../../library/resource.rst:338 +#: ../../library/resource.rst:340 msgid "``12``" msgstr "``12``" -#: ../../library/resource.rst:338 +#: ../../library/resource.rst:340 msgid ":attr:`ru_msgrcv`" msgstr ":attr:`ru_msgrcv`" -#: ../../library/resource.rst:338 +#: ../../library/resource.rst:340 msgid "messages received" -msgstr "" +msgstr "mensagens recebidas" -#: ../../library/resource.rst:340 +#: ../../library/resource.rst:342 msgid "``13``" msgstr "``13``" -#: ../../library/resource.rst:340 +#: ../../library/resource.rst:342 msgid ":attr:`ru_nsignals`" msgstr ":attr:`ru_nsignals`" -#: ../../library/resource.rst:340 +#: ../../library/resource.rst:342 msgid "signals received" -msgstr "" +msgstr "sinais recebidos" -#: ../../library/resource.rst:342 +#: ../../library/resource.rst:344 msgid "``14``" msgstr "``14``" -#: ../../library/resource.rst:342 +#: ../../library/resource.rst:344 msgid ":attr:`ru_nvcsw`" msgstr ":attr:`ru_nvcsw`" -#: ../../library/resource.rst:342 +#: ../../library/resource.rst:344 msgid "voluntary context switches" -msgstr "" +msgstr "trocas voluntárias de contexto" -#: ../../library/resource.rst:344 +#: ../../library/resource.rst:346 msgid "``15``" msgstr "``15``" -#: ../../library/resource.rst:344 +#: ../../library/resource.rst:346 msgid ":attr:`ru_nivcsw`" msgstr ":attr:`ru_nivcsw`" -#: ../../library/resource.rst:344 +#: ../../library/resource.rst:346 msgid "involuntary context switches" -msgstr "" +msgstr "trocas involuntárias de contexto" -#: ../../library/resource.rst:347 +#: ../../library/resource.rst:349 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 "" +"Esta função levantará uma :exc:`ValueError` se um parâmetro *who* inválido " +"for especificado. Também pode levantar uma exceção :exc:`error` em " +"circunstâncias incomuns." -#: ../../library/resource.rst:353 +#: ../../library/resource.rst:355 msgid "" "Returns the number of bytes in a system page. (This need not be the same as " "the hardware page size.)" msgstr "" +"Retorna o número de bytes em uma página do sistema. (Não precisa ser o mesmo " +"que o tamanho da página de hardware.)" -#: ../../library/resource.rst:356 +#: ../../library/resource.rst:358 msgid "" -"The following :const:`RUSAGE_\\*` symbols are passed to the :func:" -"`getrusage` function to specify which processes information should be " -"provided for." +"The following :const:`!RUSAGE_\\*` symbols are passed to " +"the :func:`getrusage` function to specify which processes information should " +"be provided for." msgstr "" +"Os seguintes símbolos :const:`!RUSAGE_\\*` são passados para a " +"função :func:`getrusage` para especificar quais informações de processos " +"devem ser fornecidas." -#: ../../library/resource.rst:362 +#: ../../library/resource.rst:364 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 "" +"Passeapara :func:`getrusage` para solicitar recursos consumidos pelo " +"processo de chamada, que é a soma dos recursos usados por todas as threads " +"no processo." -#: ../../library/resource.rst:368 +#: ../../library/resource.rst:370 msgid "" "Pass to :func:`getrusage` to request resources consumed by child processes " "of the calling process which have been terminated and waited for." msgstr "" +"Passa para :func:`getrusage` para solicitar recursos consumidos por " +"processos filhos do processo de chamada que foram encerrados e aguardados." -#: ../../library/resource.rst:374 +#: ../../library/resource.rst:376 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 "" +"Passa para :func:`getrusage` para solicitar recursos consumidos pelo " +"processo atual e pelos processos filhos. Pode não estar disponível em todos " +"os sistemas." -#: ../../library/resource.rst:380 +#: ../../library/resource.rst:382 msgid "" "Pass to :func:`getrusage` to request resources consumed by the current " "thread. May not be available on all systems." msgstr "" +"Passa para :func:`getrusage` para solicitar recursos consumidos pela thread " +"atual. Pode não estar disponível em todos os sistemas." diff --git a/library/rlcompleter.po b/library/rlcompleter.po index bd36c9234..e5c6dbe4c 100644 --- a/library/rlcompleter.po +++ b/library/rlcompleter.po @@ -1,33 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Italo Penaforte , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/rlcompleter.rst:2 msgid ":mod:`rlcompleter` --- Completion function for GNU readline" -msgstr ":mod:`rlcompleter` --- Função de completamento para GNU readline" +msgstr ":mod:`rlcompleter` --- Função de autocomplemento para GNU readline" #: ../../library/rlcompleter.rst:9 msgid "**Source code:** :source:`Lib/rlcompleter.py`" @@ -35,43 +33,45 @@ msgstr "**Código-fonte:** :source:`Lib/rlcompleter.py`" #: ../../library/rlcompleter.rst:13 msgid "" -"The :mod:`rlcompleter` module defines a completion function suitable for " -"the :mod:`readline` module by completing valid Python identifiers and " -"keywords." +"The :mod:`!rlcompleter` module defines a completion function suitable to be " +"passed to :func:`~readline.set_completer` in the :mod:`readline` module." msgstr "" -"O módulo :mod:`rlcompleter` define uma função de completamento adequada para " -"o módulo :mod:`readline` completando identificadores Python válidos e " -"palavras reservadas." +"O módulo :mod:`!rlcompleter` define uma função de autocompletamento adequada " +"para ser passada para :func:`~readline.set_completer` no " +"módulo :mod:`readline`." #: ../../library/rlcompleter.rst:16 msgid "" "When this module is imported on a Unix platform with the :mod:`readline` " "module available, an instance of the :class:`Completer` class is " -"automatically created and its :meth:`complete` method is set as the :mod:" -"`readline` completer." +"automatically created and its :meth:`~Completer.complete` method is set as " +"the :ref:`readline completer `. The method provides " +"completion of valid Python :ref:`identifiers and keywords `." msgstr "" -"Quando este módulo é importado em uma plataforma Unix com o módulo :mod:" -"`readline` disponível, uma instância da classe :class:`Completer` é criada " -"automaticamente e seu método :meth:`complete` é definido como o completador " -"de :mod:`readline`." +"Quando este módulo é importado em uma plataforma Unix com o " +"módulo :mod:`readline` disponível, uma instância da " +"classe :class:`Completer` é criada automaticamente e seu " +"método :meth:`~Completer.complete` é definido como o :ref:`autocompletamento " +"do readline `. O método fornece o autocompletamento " +"de :ref:`identificadores e palavras-chaves ` válidas do Python." -#: ../../library/rlcompleter.rst:20 +#: ../../library/rlcompleter.rst:22 msgid "Example::" msgstr "Exemplo::" -#: ../../library/rlcompleter.rst:31 +#: ../../library/rlcompleter.rst:33 msgid "" -"The :mod:`rlcompleter` module is designed for use with Python's :ref:" -"`interactive mode `. Unless Python is run with the :option:" -"`-S` option, the module is automatically imported and configured (see :ref:" -"`rlcompleter-config`)." +"The :mod:`!rlcompleter` module is designed for use with " +"Python's :ref:`interactive mode `. Unless Python is run " +"with the :option:`-S` option, the module is automatically imported and " +"configured (see :ref:`rlcompleter-config`)." msgstr "" -"O módulo :mod:`rlcompleter` é projetado para uso com o :ref:`modo interativo " -"` do Python. A menos que Python seja executado com a opção :" -"option:`-S`, o módulo é automaticamente importado e configurado (veja :ref:" -"`rlcompleter-config`)." +"O módulo :mod:`!rlcompleter` é projetado para uso com o :ref:`modo " +"interativo ` do Python. A menos que Python seja executado " +"com a opção :option:`-S`, o módulo é automaticamente importado e configurado " +"(veja :ref:`rlcompleter-config`)." -#: ../../library/rlcompleter.rst:36 +#: ../../library/rlcompleter.rst:38 msgid "" "On platforms without :mod:`readline`, the :class:`Completer` class defined " "by this module can still be used for custom purposes." @@ -79,41 +79,48 @@ msgstr "" "Em plataformas sem :mod:`readline`, a classe :class:`Completer` definida por " "este módulo ainda pode ser usada para propósitos personalizados." -#: ../../library/rlcompleter.rst:43 -msgid "Completer Objects" -msgstr "Objetos Completer" - -#: ../../library/rlcompleter.rst:45 +#: ../../library/rlcompleter.rst:46 msgid "Completer objects have the following method:" msgstr "Os objetos Completer têm o seguinte método:" #: ../../library/rlcompleter.rst:50 -msgid "Return the *state*\\ th completion for *text*." -msgstr "Retorna o *state*\\-ésimo completamento para *text*." +msgid "Return the next possible completion for *text*." +msgstr "Retorna o próximo completamento possível para *text*." #: ../../library/rlcompleter.rst:52 msgid "" +"When called by the :mod:`readline` module, this method is called " +"successively with ``state == 0, 1, 2, ...`` until the method returns " +"``None``." +msgstr "" +"Quando chamado pelo módulo :mod:`readline`, este método é chamado " +"sucessivamente com ``state == 0, 1, 2, ...`` até que o método retorne " +"``None``." + +#: ../../library/rlcompleter.rst:56 +msgid "" "If called for *text* that doesn't include a period character (``'.'``), it " -"will complete from names currently defined in :mod:`__main__`, :mod:" -"`builtins` and keywords (as defined by the :mod:`keyword` module)." +"will complete from names currently defined " +"in :mod:`__main__`, :mod:`builtins` and keywords (as defined by " +"the :mod:`keyword` module)." msgstr "" "Se chamado para *text* que não inclui um caractere de ponto (``'.'``), ele " -"será completado a partir dos nomes atualmente definidos em :mod:`__main__`, :" -"mod:`builtins` e palavras reservadas (conforme definido pelo módulo :mod:" -"`keyword`)." +"será completado a partir dos nomes atualmente definidos " +"em :mod:`__main__`, :mod:`builtins` e palavras reservadas (conforme definido " +"pelo módulo :mod:`keyword`)." -#: ../../library/rlcompleter.rst:56 +#: ../../library/rlcompleter.rst:60 msgid "" "If called for a dotted name, it will try to evaluate anything without " "obvious side-effects (functions will not be evaluated, but it can generate " -"calls to :meth:`__getattr__`) up to the last part, and find matches for the " -"rest via the :func:`dir` function. Any exception raised during the " +"calls to :meth:`~object.__getattr__`) up to the last part, and find matches " +"for the rest via the :func:`dir` function. Any exception raised during the " "evaluation of the expression is caught, silenced and :const:`None` is " "returned." msgstr "" "Se chamado por um nome pontilhado, vai tentar avaliar qualquer coisa sem " "efeitos colaterais óbvios (as funções não serão avaliadas, mas pode levantar " -"chamadas para :meth:`__getattr__`) até a última parte e encontrar " +"chamadas para :meth:`~object.__getattr__`) até a última parte e encontrar " "correspondências para o resto por meio da função :func:`dir`. Qualquer " "exceção levantada durante a avaliação da expressão é capturada, silenciada " "e :const:`None` é retornado." diff --git a/library/runpy.po b/library/runpy.po index a67179680..7fca7729c 100644 --- a/library/runpy.po +++ b/library/runpy.po @@ -1,28 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hemílio Lauro , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 -# Marco Rougeth , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Marco Rougeth , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -64,10 +62,10 @@ msgid "" "likely to be a more suitable choice than this module." msgstr "" "Além disso, quaisquer funções e classes definidas pelo código executado não " -"têm garantia de funcionar corretamente após o retorno de uma função :mod:" -"`runpy`. Se essa limitação não for aceitável para um determinado caso de " -"uso, :mod:`importlib` provavelmente será uma escolha mais adequada do que " -"este módulo." +"têm garantia de funcionar corretamente após o retorno de uma " +"função :mod:`runpy`. Se essa limitação não for aceitável para um determinado " +"caso de uso, :mod:`importlib` provavelmente será uma escolha mais adequada " +"do que este módulo." #: ../../library/runpy.rst:27 msgid "The :mod:`runpy` module provides two functions:" @@ -89,12 +87,12 @@ msgstr "" msgid "" "The *mod_name* argument should be an absolute module name. If the module " "name refers to a package rather than a normal module, then that package is " -"imported and the ``__main__`` submodule within that package is then executed " -"and the resulting module globals dictionary returned." +"imported and the :mod:`__main__` submodule within that package is then " +"executed and the resulting module globals dictionary returned." msgstr "" "O argumento *mod_name* deve ser um nome de módulo absoluto. Se o nome do " "módulo se referir a um pacote ao invés de um módulo normal, então esse " -"pacote é importado e o submódulo ``__main__`` dentro desse pacote é então " +"pacote é importado e o submódulo :mod:`__main__` dentro desse pacote é então " "executado e o dicionário global do módulo resultante retornado." #: ../../library/runpy.rst:46 @@ -111,7 +109,7 @@ msgstr "" "variáveis globais especiais abaixo for definida no dicionário fornecido, " "estas definições serão substituídas por :func:`run_module`." -#: ../../library/runpy.rst:52 ../../library/runpy.rst:121 +#: ../../library/runpy.rst:52 ../../library/runpy.rst:122 msgid "" "The special global variables ``__name__``, ``__spec__``, ``__file__``, " "``__cached__``, ``__loader__`` and ``__package__`` are set in the globals " @@ -127,19 +125,19 @@ msgstr "" #: ../../library/runpy.rst:58 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." +"``__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__`` é definido como *run_name* se este argumento opcional não for :" -"const:`None`, para ``mod_name + '.__main__'`` se o módulo nomeado for um " -"pacote e para o argumento *mod_name* caso contrário ." +"``__name__`` é definido como *run_name* se este argumento opcional não " +"for :const:`None`, para ``mod_name + '.__main__'`` se o módulo nomeado for " +"um pacote e para o argumento *mod_name* caso contrário ." #: ../../library/runpy.rst:62 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*)." +"(that is, ``__spec__.name`` will always be *mod_name* or ``mod_name + " +"'.__main__``, never *run_name*)." msgstr "" "``__spec__`` será definido adequadamente para o modo *efetivamente* " "importado (isto é, ``__spec__.name`` vai sempre ser *mod_name* ou ``mod_name " @@ -147,38 +145,38 @@ msgstr "" #: ../../library/runpy.rst:66 msgid "" -"``__file__``, ``__cached__``, ``__loader__`` and ``__package__`` are :ref:" -"`set as normal ` based on the module spec." +"``__file__``, ``__cached__``, ``__loader__`` and ``__package__`` " +"are :ref:`set as normal ` based on the module spec." msgstr "" -"``__file__``, ``__cached__``, ``__loader__`` e ``__package__`` são :ref:" -"`definidos como normal ` com base na especificação do " +"``__file__``, ``__cached__``, ``__loader__`` e ``__package__`` " +"são :ref:`definidos como normal ` com base no spec de " "módulo." #: ../../library/runpy.rst:69 msgid "" "If the argument *alter_sys* is supplied and evaluates to :const:`True`, then " -"``sys.argv[0]`` is updated with the value of ``__file__`` and ``sys." -"modules[__name__]`` is updated with a temporary module object for the module " -"being executed. Both ``sys.argv[0]`` and ``sys.modules[__name__]`` are " -"restored to their original values before the function returns." +"``sys.argv[0]`` is updated with the value of ``__file__`` and " +"``sys.modules[__name__]`` is updated with a temporary module object for the " +"module being executed. Both ``sys.argv[0]`` and ``sys.modules[__name__]`` " +"are restored to their original values before the function returns." msgstr "" "Se o argumento *alter_sys* for fornecido e for avaliado como :const:`True`, " -"então ``sys.argv[0]`` será atualizado com o valor de ``__file__`` e ``sys." -"modules[__name__]`` é atualizado com um objeto de módulo temporário para o " -"módulo que está sendo executado. Ambos ``sys.argv[0]`` e ``sys." -"modules[__name__]`` são restaurados para seus valores originais antes que a " -"função retorne." +"então ``sys.argv[0]`` será atualizado com o valor de ``__file__`` e " +"``sys.modules[__name__]`` é atualizado com um objeto de módulo temporário " +"para o módulo que está sendo executado. Ambos ``sys.argv[0]`` e " +"``sys.modules[__name__]`` são restaurados para seus valores originais antes " +"que a função retorne." #: ../../library/runpy.rst:75 msgid "" "Note that this manipulation of :mod:`sys` is not thread-safe. Other threads " "may see the partially initialised module, as well as the altered list of " -"arguments. It is recommended that the :mod:`sys` module be left alone when " +"arguments. It is recommended that the ``sys`` module be left alone when " "invoking this function from threaded code." msgstr "" "Note que esta manipulação de :mod:`sys` não é segura para thread. Outras " "threads podem ver o módulo parcialmente inicializado, bem como a lista " -"alterada de argumentos. É recomendado que o módulo :mod:`sys` seja deixado " +"alterada de argumentos. É recomendado que o módulo ``sys`` seja deixado " "sozinho ao invocar esta função a partir do código encadeado." #: ../../library/runpy.rst:81 @@ -190,10 +188,10 @@ msgstr "" #: ../../library/runpy.rst:84 msgid "" -"Added ability to execute packages by looking for a ``__main__`` submodule." +"Added ability to execute packages by looking for a :mod:`__main__` submodule." msgstr "" -"Adicionada capacidade de executar pacotes procurando por um sub-módulo " -"``__main__``." +"Adicionada capacidade de executar pacotes procurando por um " +"submódulo :mod:`__main__`." #: ../../library/runpy.rst:87 msgid "Added ``__cached__`` global variable (see :pep:`3147`)." @@ -203,10 +201,10 @@ msgstr "Adicionada a variável global ``__cached__`` (veja :pep:`3147`)." msgid "" "Updated to take advantage of the module spec feature added by :pep:`451`. " "This allows ``__cached__`` to be set correctly for modules run this way, as " -"well as ensuring the real module name is always accessible as ``__spec__." -"name``." +"well as ensuring the real module name is always accessible as " +"``__spec__.name``." msgstr "" -"Atualizado para aproveitar o recurso de especificação do módulo adicionado " +"Atualizado para aproveitar o recurso de spec de módulo adicionado " "por :pep:`451`. Isso permite que ``__cached__`` seja configurado " "corretamente para módulos executados desta forma, assim como garante que o " "nome real do módulo esteja sempre acessível como ``__spec__.name``." @@ -216,35 +214,38 @@ msgid "" "Execute the code at the named filesystem location and return the resulting " "module globals dictionary. As with a script name supplied to the CPython " "command line, the supplied path may refer to a Python source file, a " -"compiled bytecode file or a valid sys.path entry containing a ``__main__`` " -"module (e.g. a zipfile containing a top-level ``__main__.py`` file)." +"compiled bytecode file or a valid :data:`sys.path` entry containing " +"a :mod:`__main__` module (e.g. a zipfile containing a top-level " +"``__main__.py`` file)." msgstr "" "Executa o código no local do sistema de arquivos nomeado e retorna o " "dicionário global do módulo resultante. Assim como um nome de script " "fornecido à linha de comando CPython, o caminho fornecido pode se referir a " -"um arquivo de origem Python, um arquivo de bytecode compilado ou uma entrada " -"sys.path válida contendo um módulo ``__main__`` (por exemplo, um arquivo zip " -"contendo um arquivo de topo de nível ``__main__.py``)." +"um arquivo de origem Python, um arquivo de bytecode compilado ou uma " +"entrada :data:`sys.path` válida contendo um módulo :mod:`__main__` (por " +"exemplo, um arquivo zip contendo um arquivo de topo de nível " +"``__main__.py``)." -#: ../../library/runpy.rst:107 +#: ../../library/runpy.rst:108 msgid "" "For a simple script, the specified code is simply executed in a fresh module " -"namespace. For a valid sys.path entry (typically a zipfile or directory), " -"the entry is first added to the beginning of ``sys.path``. The function then " -"looks for and executes a :mod:`__main__` module using the updated path. Note " -"that there is no special protection against invoking an existing :mod:" -"`__main__` entry located elsewhere on ``sys.path`` if there is no such " -"module at the specified location." +"namespace. For a valid :data:`sys.path` entry (typically a zipfile or " +"directory), the entry is first added to the beginning of ``sys.path``. The " +"function then looks for and executes a :mod:`__main__` module using the " +"updated path. Note that there is no special protection against invoking an " +"existing ``__main__`` entry located elsewhere on ``sys.path`` if there is no " +"such module at the specified location." msgstr "" "Para um script simples, o código especificado é simplesmente executado em um " -"novo espaço de nomes de módulo. Para uma entrada sys.path válida " +"novo espaço de nomes de módulo. Para uma entrada válida :data:`sys.path` " "(normalmente um arquivo zip ou diretório), a entrada é primeiro adicionada " -"ao início de ``sys.path``. A função então procura e executa um módulo :mod:" -"`__main__` usando o caminho atualizado. Observe que não há proteção especial " -"contra invocar uma entrada :mod:`__main__` existente localizada em outro " -"lugar em ``sys.path`` se não houver tal módulo no local especificado." +"ao início de ``sys.path``. A função então procura e executa um " +"módulo :mod:`__main__` usando o caminho atualizado. Observe que não há " +"proteção especial contra invocar uma entrada ``__main__`` existente " +"localizada em outro lugar em ``sys.path`` se não houver tal módulo no local " +"especificado." -#: ../../library/runpy.rst:115 +#: ../../library/runpy.rst:116 msgid "" "The optional dictionary argument *init_globals* may be used to pre-populate " "the module's globals dictionary before the code is executed. The supplied " @@ -258,15 +259,15 @@ msgstr "" "variáveis globais especiais abaixo for definida no dicionário fornecido, " "estas definições serão substituídas por :func:`run_path`." -#: ../../library/runpy.rst:127 +#: ../../library/runpy.rst:128 msgid "" -"``__name__`` is set to *run_name* if this optional argument is not :const:" -"`None` and to ``''`` otherwise." +"``__name__`` is set to *run_name* if this optional argument is " +"not :const:`None` and to ``''`` otherwise." msgstr "" -"``__name__`` é definido como *run_name* se este argumento opcional não for :" -"const:`None` e como ``''`` caso contrário." +"``__name__`` é definido como *run_name* se este argumento opcional não " +"for :const:`None` e como ``''`` caso contrário." -#: ../../library/runpy.rst:130 +#: ../../library/runpy.rst:131 msgid "" "If the supplied path directly references a script file (whether as source or " "as precompiled byte code), then ``__file__`` will be set to the supplied " @@ -278,53 +279,53 @@ msgstr "" "para o caminho fornecido e ``__spec__``, ``__cached__``, ``__loader__`` e " "``__package__`` serão todos definidos como :const:`None`." -#: ../../library/runpy.rst:135 +#: ../../library/runpy.rst:136 msgid "" -"If the supplied path is a reference to a valid sys.path entry, then " -"``__spec__`` will be set appropriately for the imported ``__main__`` module " -"(that is, ``__spec__.name`` will always be ``__main__``). ``__file__``, " -"``__cached__``, ``__loader__`` and ``__package__`` will be :ref:`set as " -"normal ` based on the module spec." +"If the supplied path is a reference to a valid :data:`sys.path` entry, then " +"``__spec__`` will be set appropriately for the imported :mod:`__main__` " +"module (that is, ``__spec__.name`` will always be ``__main__``). " +"``__file__``, ``__cached__``, ``__loader__`` and ``__package__`` will " +"be :ref:`set as normal ` based on the module spec." msgstr "" -"Se o caminho fornecido for uma referência a uma entrada sys.path válida, " -"então ``__spec__`` será definido apropriadamente para o módulo ``__main__`` " -"importado (ou seja, ``__spec__.name`` sempre será ``__main__``). " -"``__file__``, ``__cached__``, ``__loader__`` e ``__package__`` serão :ref:" -"`definidos como normal ` com base na especificação do " -"módulo." - -#: ../../library/runpy.rst:141 +"Se o caminho fornecido for uma referência a uma entrada :data:`sys.path` " +"válida, então ``__spec__`` será definido apropriadamente para o " +"módulo :mod:`__main__` importado (ou seja, ``__spec__.name`` sempre será " +"``__main__``). ``__file__``, ``__cached__``, ``__loader__`` e " +"``__package__`` serão :ref:`definidos como normal ` com " +"base no spec de módulo." + +#: ../../library/runpy.rst:142 msgid "" -"A number of alterations are also made to the :mod:`sys` module. Firstly, " -"``sys.path`` may be altered as described above. ``sys.argv[0]`` is updated " -"with the value of ``path_name`` and ``sys.modules[__name__]`` is updated " -"with a temporary module object for the module being executed. All " +"A number of alterations are also made to the :mod:`sys` module. " +"Firstly, :data:`sys.path` may be altered as described above. ``sys.argv[0]`` " +"is updated with the value of ``path_name`` and ``sys.modules[__name__]`` is " +"updated with a temporary module object for the module being executed. All " "modifications to items in :mod:`sys` are reverted before the function " "returns." msgstr "" -"Várias alterações também são feitas no módulo :mod:`sys`. Primeiramente, " -"``sys.path`` pode ser alterado conforme descrito acima. ``sys.argv[0]`` é " -"atualizado com o valor de ``path_name`` e ``sys.modules[__name__]`` é " -"atualizado com um objeto de módulo temporário para o módulo que está sendo " -"executado. Todas as modificações em itens em :mod:`sys` são revertidas antes " -"que a função retorne." - -#: ../../library/runpy.rst:148 +"Várias alterações também são feitas no módulo :mod:`sys`. " +"Primeiramente, :data:`sys.path` pode ser alterado conforme descrito acima. " +"``sys.argv[0]`` é atualizado com o valor de ``path_name`` e " +"``sys.modules[__name__]`` é atualizado com um objeto de módulo temporário " +"para o módulo que está sendo executado. Todas as modificações em itens " +"em :mod:`sys` são revertidas antes que a função retorne." + +#: ../../library/runpy.rst:149 msgid "" "Note that, unlike :func:`run_module`, the alterations made to :mod:`sys` are " "not optional in this function as these adjustments are essential to allowing " -"the execution of sys.path entries. As the thread-safety limitations still " -"apply, use of this function in threaded code should be either serialised " -"with the import lock or delegated to a separate process." +"the execution of :data:`sys.path` entries. As the thread-safety limitations " +"still apply, use of this function in threaded code should be either " +"serialised with the import lock or delegated to a separate process." msgstr "" -"Note que, diferentemente de :func:`run_module`, as alterações feitas em :mod:" -"`sys` não são opcionais nesta função, pois esses ajustes são essenciais para " -"permitir a execução das entradas do sys.path. Como as limitações de " -"segurança de encadeamento ainda se aplicam, o uso dessa função no código " -"encadeado deve ser serializado com o bloqueio de importação ou delegado a um " -"processo separado." - -#: ../../library/runpy.rst:155 +"Note que, diferentemente de :func:`run_module`, as alterações feitas " +"em :mod:`sys` não são opcionais nesta função, pois esses ajustes são " +"essenciais para permitir a execução das entradas do :data:`sys.path`. Como " +"as limitações de segurança de threads ainda se aplicam, o uso dessa função " +"no código encadeado deve ser serializado com a trava de importação ou " +"delegado a um processo separado." + +#: ../../library/runpy.rst:156 msgid "" ":ref:`using-on-interface-options` for equivalent functionality on the " "command line (``python path/to/script``)." @@ -332,43 +333,43 @@ msgstr "" ":ref:`using-on-interface-options` para funcionalidade equivalente na linha " "de comando (``python path/to/script``)." -#: ../../library/runpy.rst:160 +#: ../../library/runpy.rst:161 msgid "" "Updated to take advantage of the module spec feature added by :pep:`451`. " "This allows ``__cached__`` to be set correctly in the case where " -"``__main__`` is imported from a valid sys.path entry rather than being " -"executed directly." +"``__main__`` is imported from a valid :data:`sys.path` entry rather than " +"being executed directly." msgstr "" -"Atualizado para aproveitar o recurso de especificação do módulo adicionado " +"Atualizado para aproveitar o recurso de spec de módulo adicionado " "por :pep:`451`. Isso permite que ``__cached__`` seja definido corretamente " -"no caso em que ``__main__`` é importado de uma entrada sys.path válida em " -"vez de ser executado diretamente." +"no caso em que ``__main__`` é importado de uma entrada :data:`sys.path` " +"válida em vez de ser executado diretamente." -#: ../../library/runpy.rst:169 +#: ../../library/runpy.rst:170 msgid ":pep:`338` -- Executing modules as scripts" -msgstr ":pep:`338` -- Executando módulos como scripts" +msgstr ":pep:`338` -- Executing modules as scripts" -#: ../../library/runpy.rst:169 ../../library/runpy.rst:172 +#: ../../library/runpy.rst:170 ../../library/runpy.rst:173 msgid "PEP written and implemented by Nick Coghlan." msgstr "PEP escrita e implementada por Nick Coghlan." -#: ../../library/runpy.rst:172 +#: ../../library/runpy.rst:173 msgid ":pep:`366` -- Main module explicit relative imports" msgstr ":pep:`366` -- Importações relativas explícitas do módulo principal" -#: ../../library/runpy.rst:175 +#: ../../library/runpy.rst:176 msgid ":pep:`451` -- A ModuleSpec Type for the Import System" msgstr ":pep:`451` -- Um tipo ModuleSpec para o sistema de importação" -#: ../../library/runpy.rst:175 +#: ../../library/runpy.rst:176 msgid "PEP written and implemented by Eric Snow" msgstr "PEP escrita e implementada por Eric Snow" -#: ../../library/runpy.rst:177 +#: ../../library/runpy.rst:178 msgid ":ref:`using-on-general` - CPython command line details" msgstr ":ref:`using-on-general` - Detalhes da linha de comando do CPython" -#: ../../library/runpy.rst:179 +#: ../../library/runpy.rst:180 msgid "The :func:`importlib.import_module` function" msgstr "A função :func:`importlib.import_module`" @@ -378,4 +379,4 @@ msgstr "módulo" #: ../../library/runpy.rst:32 ../../library/runpy.rst:98 msgid "__main__" -msgstr "" +msgstr "__main__" diff --git a/library/sched.po b/library/sched.po index 5d1432e7f..3d34f00bd 100644 --- a/library/sched.po +++ b/library/sched.po @@ -1,27 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Italo Penaforte , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,6 +36,8 @@ msgid "" "The :mod:`sched` module defines a class which implements a general purpose " "event scheduler:" msgstr "" +"O módulo :mod:`sched` define uma classe que implementa um agendador de " +"eventos de uso geral:" #: ../../library/sched.rst:20 msgid "" @@ -50,15 +50,25 @@ msgid "" "argument ``0`` after each event is run to allow other threads an opportunity " "to run in multi-threaded applications." msgstr "" +"A classe :class:`scheduler` define uma interface genérica para agendar " +"eventos. Ela precisa de duas funções para lidar com o \"mundo externo\" --- " +"*timefunc* deve ser chamável sem argumentos e retornar um número (o " +"\"tempo\", em quaisquer unidades). A função *delayfunc* deve ser chamável " +"com um argumento, compatível com a saída de *timefunc*, e deve atrasar a " +"mesma quantidade de unidades de tempo. *delayfunc* também será chamada com o " +"argumento ``0`` após a execução de cada evento para permitir que outras " +"threads executem em aplicações multithread." #: ../../library/sched.rst:29 msgid "*timefunc* and *delayfunc* parameters are optional." -msgstr "" +msgstr "Os parâmetros *timefunc* e *delayfunc* são opcionais." #: ../../library/sched.rst:32 msgid "" ":class:`scheduler` class can be safely used in multi-threaded environments." msgstr "" +"A classe :class:`scheduler` pode ser usada com segurança em ambientes " +"multithread." #: ../../library/sched.rst:36 msgid "Example::" @@ -70,7 +80,7 @@ msgstr "Objetos Scheduler" #: ../../library/sched.rst:69 msgid ":class:`scheduler` instances have the following methods and attributes:" -msgstr "" +msgstr "As instâncias :class:`scheduler` têm os seguintes métodos e atributos:" #: ../../library/sched.rst:74 msgid "" @@ -79,6 +89,11 @@ 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 "" +"Agenda um novo evento. O argumento *time* deve ser um tipo numérico " +"compatível com o valor de retorno da função *timefunc* passada ao " +"construtor. Eventos agendados para o mesmo *time* serão executados na ordem " +"de sua prioridade *priority*. Um número menor representa uma prioridade " +"maior." #: ../../library/sched.rst:79 msgid "" @@ -86,16 +101,22 @@ msgid "" "*argument* is a sequence holding the positional arguments for *action*. " "*kwargs* is a dictionary holding the keyword arguments for *action*." msgstr "" +"Executa o evento significa executar ``action(*argument, **kwargs)``. " +"*argument* é uma sequência que contém os argumentos posicionais para " +"*action*. *kwargs* é um dicionário que contém os argumentos nomeados para " +"*action*." #: ../../library/sched.rst:83 msgid "" "Return value is an event which may be used for later cancellation of the " "event (see :meth:`cancel`)." msgstr "" +"O valor de retorno é um evento que pode ser usado para cancelamento " +"posterior do evento (veja :meth:`cancel`)." #: ../../library/sched.rst:86 ../../library/sched.rst:99 msgid "*argument* parameter is optional." -msgstr "" +msgstr "o parâmetro *argument* é opcional." #: ../../library/sched.rst:89 ../../library/sched.rst:102 msgid "*kwargs* parameter was added." @@ -107,23 +128,31 @@ msgid "" "the other arguments, the effect and the return value are the same as those " "for :meth:`enterabs`." msgstr "" +"Agenda um evento para atrasar *delay* mais unidades de tempo. Além do tempo " +"relativo, os outros argumentos, o efeito e o valor de retorno são os mesmos " +"de :meth:`enterabs`." #: ../../library/sched.rst:107 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 "" +"Remove o evento da fila. Se *event* não for um evento atualmente na fila, " +"este método levantará uma :exc:`ValueError`." #: ../../library/sched.rst:113 msgid "Return ``True`` if the event queue is empty." -msgstr "" +msgstr "Retorna ``True`` se a fila de eventos estiver vazia." #: ../../library/sched.rst:118 msgid "" -"Run all scheduled events. This method will wait (using the :func:" -"`delayfunc` function passed to the constructor) for the next event, then " -"execute it and so on until there are no more scheduled events." +"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 "" +"Executa todos os eventos agendados. Este método aguardará (usando a função " +"*delayfunc* passada ao construtor) o próximo evento, depois o executará e " +"assim por diante até que não haja mais eventos agendados." #: ../../library/sched.rst:122 msgid "" @@ -131,6 +160,9 @@ msgid "" "(if any) and then return the deadline of the next scheduled call in the " "scheduler (if any)." msgstr "" +"Se *blocking* for falso, executa os eventos agendados que expirarão mais " +"cedo (se houver) e então retorna o prazo da próxima chamada agendada no " +"agendador (se houver)." #: ../../library/sched.rst:126 msgid "" @@ -139,6 +171,10 @@ msgid "" "an exception is raised by *action*, the event will not be attempted in " "future calls to :meth:`run`." msgstr "" +"Tanto *action* quanto *delayfunc* podem levantar uma exceção. Em ambos os " +"casos, o agendador manterá um estado consistente e propagará a exceção. Se " +"uma exceção for gerada por *action*, o evento não será tentado em chamadas " +"futuras para :meth:`run`." #: ../../library/sched.rst:131 msgid "" @@ -147,10 +183,14 @@ msgid "" "dropped; the calling code is responsible for canceling events which are no " "longer pertinent." msgstr "" +"Se uma sequência de eventos demorar mais para ser executada do que o tempo " +"disponível antes do próximo evento, o agendador simplesmente ficará para " +"trás. Nenhum evento será descartado; o código de chamada é responsável por " +"cancelar eventos que não são mais pertinentes." #: ../../library/sched.rst:136 msgid "*blocking* parameter was added." -msgstr "" +msgstr "O argumento *blocking* foi adicionado." #: ../../library/sched.rst:141 msgid "" @@ -158,7 +198,10 @@ msgid "" "will be run. Each event is shown as a :term:`named tuple` with the " "following fields: time, priority, action, argument, kwargs." msgstr "" +"Atributo somente leitura que retorna uma lista de eventos futuros na ordem " +"em que serão executados. Cada evento é exibido como uma :term:`tupla " +"nomeada` com os seguintes campos: time, priority, action, argument, kwargs." #: ../../library/sched.rst:11 msgid "event scheduling" -msgstr "" +msgstr "agendamento de eventos" diff --git a/library/secrets.po b/library/secrets.po index d50e641d6..2c915a529 100644 --- a/library/secrets.po +++ b/library/secrets.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -77,8 +75,8 @@ msgid "" "additional details." msgstr "" "Uma classe para gerar números aleatórios usando as fontes da mais alta " -"qualidade fornecidas pelo sistema operacional. Veja :class:`random." -"SystemRandom` para detalhes adicionais." +"qualidade fornecidas pelo sistema operacional. " +"Veja :class:`random.SystemRandom` para detalhes adicionais." #: ../../library/secrets.rst:47 msgid "Return a randomly chosen element from a non-empty sequence." @@ -203,8 +201,8 @@ msgstr "" "Retorna ``True`` se as strings ou :term:`objetos tipo arquivo ` *a* e *b* forem iguais, caso contrário, ``False``, usando uma " "\"comparação de tempo constante\" para reduzir o risco de `ataques de " -"temporização `_. Veja :" -"func:`hmac.compare_digest` para detalhes adicionais." +"temporização `_. " +"Veja :func:`hmac.compare_digest` para detalhes adicionais." #: ../../library/secrets.rst:140 msgid "Recipes and best practices" diff --git a/library/security_warnings.po b/library/security_warnings.po index bb893dd6b..3180db6ef 100644 --- a/library/security_warnings.po +++ b/library/security_warnings.po @@ -1,31 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-08-10 13:22+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/security_warnings.rst:6 msgid "Security Considerations" -msgstr "Considerações de segurança" +msgstr "Considerações de Segurança" #: ../../library/security_warnings.rst:8 msgid "The following modules have specific security considerations:" @@ -33,8 +33,8 @@ msgstr "Os módulos a seguir têm considerações de segurança específicas:" #: ../../library/security_warnings.rst:10 msgid "" -":mod:`base64`: :ref:`base64 security considerations ` in :" -"rfc:`4648`" +":mod:`base64`: :ref:`base64 security considerations ` " +"in :rfc:`4648`" msgstr "" ":mod:`base64`: :ref:`considerações de segurança do base64 ` " "na :rfc:`4648`" @@ -135,9 +135,9 @@ msgstr "" #: ../../library/security_warnings.rst:36 msgid "" "The :option:`-I` command line option can be used to run Python in isolated " -"mode. When it cannot be used, the :option:`-P` option or the :envvar:" -"`PYTHONSAFEPATH` environment variable can be used to not prepend a " -"potentially unsafe path to :data:`sys.path` such as the current directory, " +"mode. When it cannot be used, the :option:`-P` option or " +"the :envvar:`PYTHONSAFEPATH` environment variable can be used to not prepend " +"a potentially unsafe path to :data:`sys.path` such as the current directory, " "the script's directory or an empty string." msgstr "" "A opção de linha de comando :option:`-I` pode ser usada para executar o " @@ -148,4 +148,4 @@ msgstr "" #: ../../library/security_warnings.rst:3 msgid "security considerations" -msgstr "" +msgstr "considerações de segurança" diff --git a/library/select.po b/library/select.po index 5392cbc19..af11b7422 100644 --- a/library/select.po +++ b/library/select.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Welington Carlos , 2021 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Hemílio Lauro , 2021 -# Marco Rougeth , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,14 +29,22 @@ msgstr "" #: ../../library/select.rst:9 msgid "" -"This module provides access to the :c:func:`select` and :c:func:`poll` " -"functions available in most operating systems, :c:func:`devpoll` available " -"on Solaris and derivatives, :c:func:`epoll` available on Linux 2.5+ and :c:" -"func:`kqueue` available on most BSD. Note that on Windows, it only works for " -"sockets; on other operating systems, it also works for other file types (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 "" +"This module provides access to the :c:func:`!select` and :c:func:`!poll` " +"functions available in most operating systems, :c:func:`!devpoll` available " +"on Solaris and derivatives, :c:func:`!epoll` available on Linux 2.5+ " +"and :c:func:`!kqueue` available on most BSD. Note that on Windows, it only " +"works for sockets; on other operating systems, it also works for other file " +"types (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 "" +"Este módulo fornece acesso às funções :c:func:`!select` e :c:func:`!poll` " +"disponíveis na maioria dos sistemas operacionais, :c:func:`!devpoll` " +"disponível no Solaris e derivados, :c:func:`!epoll` disponível no Linux 2.5+ " +"e :c:func:`!kqueue` disponível na maioria dos BSD. Observe que no Windows, " +"ele funciona apenas para sockets; em outros sistemas operacionais, ele " +"também funciona para outros tipos de arquivo (em particular, no Unix, ele " +"funciona em pipes). Ele não pode ser usado em arquivos regulares para " +"determinar se um arquivo cresceu desde a última leitura." #: ../../library/select.rst:20 msgid "" @@ -51,6 +53,10 @@ msgid "" "encouraged to use the :mod:`selectors` module instead, unless they want " "precise control over the OS-level primitives used." msgstr "" +"O módulo :mod:`selectors` permite multiplexação de E/S de alto nível e " +"eficiente, construída sobre as primitivas do módulo :mod:`select`. Os " +"usuários são encorajados a usar o módulo :mod:`selectors` em vez disso, a " +"menos que queiram controle preciso sobre as primitivas de nível de SO usadas." #: ../../includes/wasm-notavail.rst:3 msgid ":ref:`Availability `: not Emscripten, not WASI." @@ -72,11 +78,13 @@ msgstr "O módulo define o seguinte:" #: ../../library/select.rst:32 msgid "A deprecated alias of :exc:`OSError`." -msgstr "" +msgstr "Um apelido descontinuado de :exc:`OSError`." #: ../../library/select.rst:34 msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`." msgstr "" +"Seguindo a :pep:`3151`, esta classe foi transformada em um apelido " +"de :exc:`OSError`." #: ../../library/select.rst:40 msgid "" @@ -84,19 +92,28 @@ msgid "" "polling object; see section :ref:`devpoll-objects` below for the methods " "supported by devpoll objects." msgstr "" +"(Suportado somente no Solaris e derivados.) Retorna um objeto de pesquisa ``/" +"dev/poll``; consulte a seção :ref:`devpoll-objects` abaixo para os métodos " +"suportados pelos objetos devpoll." #: ../../library/select.rst:44 msgid "" -":c:func:`devpoll` objects are linked to the number of file descriptors " -"allowed at the time of instantiation. If your program reduces this value, :c:" -"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` objects are linked to the number of file descriptors " +"allowed at the time of instantiation. If your program reduces this " +"value, :c:func:`!devpoll` will fail. If your program increases this " +"value, :c:func:`!devpoll` may return an incomplete list of active file " +"descriptors." +msgstr "" +"Objetos :c:func:`!devpoll` são vinculados ao número de descritores de " +"arquivo permitidos no momento da instanciação. Se seu programa reduzir esse " +"valor, :c:func:`!devpoll` falhará. Se seu programa aumentar esse " +"valor, :c:func:`!devpoll` pode retornar uma lista incompleta de descritores " +"de arquivo ativos." #: ../../library/select.rst:50 ../../library/select.rst:79 #: ../../library/select.rst:106 msgid "The new file descriptor is :ref:`non-inheritable `." -msgstr "" +msgstr "O novo descritor de arquivo é :ref:`não herdável `." #: ../../library/select.rst:54 ../../library/select.rst:108 msgid "The new file descriptor is now non-inheritable." @@ -112,7 +129,7 @@ msgstr "" msgid "" "*sizehint* informs epoll about the expected number of events to be " "registered. It must be positive, or ``-1`` to use the default. It is only " -"used on older systems where :c:func:`epoll_create1` is not available; " +"used on older systems where :c:func:`!epoll_create1` is not available; " "otherwise it has no effect (though its value is still checked)." msgstr "" @@ -131,9 +148,9 @@ msgstr "" #: ../../library/select.rst:75 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." +"``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 "" #: ../../library/select.rst:81 @@ -162,19 +179,21 @@ msgstr "" #: ../../library/select.rst:103 msgid "" -"(Only supported on BSD.) Returns a kernel queue object; see section :ref:" -"`kqueue-objects` below for the methods supported by kqueue objects." +"(Only supported on BSD.) Returns a kernel queue object; see " +"section :ref:`kqueue-objects` below for the methods supported by kqueue " +"objects." msgstr "" #: ../../library/select.rst:114 msgid "" -"(Only supported on BSD.) Returns a kernel event object; see section :ref:" -"`kevent-objects` below for the methods supported by kevent objects." +"(Only supported on BSD.) Returns a kernel event object; see " +"section :ref:`kevent-objects` below for the methods supported by kevent " +"objects." msgstr "" #: ../../library/select.rst:120 msgid "" -"This is a straightforward interface to the Unix :c:func:`select` system " +"This is a straightforward interface to the Unix :c:func:`!select` system " "call. The first three arguments are iterables of 'waitable objects': either " "integers representing file descriptors or objects with a parameterless " "method named :meth:`~io.IOBase.fileno` returning such an integer:" @@ -214,18 +233,19 @@ msgstr "" #: ../../library/select.rst:145 msgid "" "Among the acceptable object types in the iterables are Python :term:`file " -"objects ` (e.g. ``sys.stdin``, or objects returned by :func:" -"`open` or :func:`os.popen`), socket objects returned by :func:`socket." -"socket`. You may also define a :dfn:`wrapper` class yourself, as long as it " -"has an appropriate :meth:`~io.IOBase.fileno` method (that really returns a " -"file descriptor, not just a random integer)." +"objects ` (e.g. ``sys.stdin``, or objects returned " +"by :func:`open` or :func:`os.popen`), socket objects returned " +"by :func:`socket.socket`. You may also define a :dfn:`wrapper` class " +"yourself, as long as it has an appropriate :meth:`~io.IOBase.fileno` method " +"(that really returns a file descriptor, not just a random integer)." msgstr "" #: ../../library/select.rst:156 msgid "" "File objects on Windows are not acceptable, but sockets are. On Windows, " -"the underlying :c:func:`select` function is provided by the WinSock library, " -"and does not handle file descriptors that don't originate from WinSock." +"the underlying :c:func:`!select` function is provided by the WinSock " +"library, and does not handle file descriptors that don't originate from " +"WinSock." msgstr "" #: ../../library/select.rst:161 ../../library/select.rst:267 @@ -240,9 +260,10 @@ msgstr "" #: ../../library/select.rst:170 msgid "" "The minimum number of bytes which can be written without blocking to a pipe " -"when the pipe has been reported as ready for writing by :func:`~select." -"select`, :func:`poll` or another interface in this module. This doesn't " -"apply to other kind of file-like objects such as sockets." +"when the pipe has been reported as ready for writing " +"by :func:`~select.select`, :func:`!poll` or another interface in this " +"module. This doesn't apply to other kind of file-like objects such as " +"sockets." msgstr "" #: ../../library/select.rst:175 @@ -259,14 +280,14 @@ msgstr "" #: ../../library/select.rst:187 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)." +"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 "" #: ../../library/select.rst:191 msgid "" -"``/dev/poll`` behaviour is very close to the standard :c:func:`poll` object." +"``/dev/poll`` behaviour is very close to the standard :c:func:`!poll` object." msgstr "" #: ../../library/select.rst:197 @@ -283,26 +304,26 @@ msgstr "" #: ../../library/select.rst:218 ../../library/select.rst:390 msgid "" -"Register a file descriptor with the polling object. Future calls to the :" -"meth:`poll` method will then check whether the file descriptor has any " -"pending I/O events. *fd* can be either an integer, or an object with a :" -"meth:`~io.IOBase.fileno` method that returns an integer. File objects " +"Register a file descriptor with the polling object. Future calls to " +"the :meth:`poll` method will then check whether the file descriptor has any " +"pending I/O events. *fd* can be either an integer, or an object with " +"a :meth:`~io.IOBase.fileno` method that returns an integer. File objects " "implement :meth:`!fileno`, so they can also be used as the argument." msgstr "" #: ../../library/select.rst:224 msgid "" "*eventmask* is an optional bitmask describing the type of events you want to " -"check for. The constants are the same that with :c:func:`poll` object. The " -"default value is a combination of the constants :const:`POLLIN`, :const:" -"`POLLPRI`, and :const:`POLLOUT`." +"check for. The constants are the same that with :c:func:`!poll` object. The " +"default value is a combination of the " +"constants :const:`POLLIN`, :const:`POLLPRI`, and :const:`POLLOUT`." msgstr "" #: ../../library/select.rst:231 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`." +"it first. This is an important difference compared with :c:func:`!poll`." msgstr "" #: ../../library/select.rst:239 @@ -313,9 +334,9 @@ msgstr "" #: ../../library/select.rst:246 ../../library/select.rst:434 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." +"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 "" #: ../../library/select.rst:250 @@ -329,13 +350,14 @@ msgid "" "Polls the set of registered file descriptors, and returns a possibly empty " "list containing ``(fd, event)`` 2-tuples for the descriptors that have " "events or errors to report. *fd* is the file descriptor, and *event* is a " -"bitmask with bits set for the reported events for that descriptor --- :const:" -"`POLLIN` for waiting input, :const:`POLLOUT` to indicate that the descriptor " -"can be written to, and so forth. An empty list indicates that the call timed " -"out and no file descriptors had any events to report. If *timeout* is given, " -"it specifies the length of time in milliseconds which the system will wait " -"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." +"bitmask with bits set for the reported events for that descriptor " +"--- :const:`POLLIN` for waiting input, :const:`POLLOUT` to indicate that the " +"descriptor can be written to, and so forth. An empty list indicates that the " +"call timed out and no file descriptors had any events to report. If " +"*timeout* is given, it specifies the length of time in milliseconds which " +"the system will wait 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 "" #: ../../library/select.rst:277 @@ -529,22 +551,23 @@ msgstr "" #: ../../library/select.rst:379 msgid "" -"The :c:func:`poll` system call, supported on most Unix systems, provides " +"The :c:func:`!poll` system call, supported on most Unix systems, provides " "better scalability for network servers that service many, many clients at " -"the same time. :c:func:`poll` scales better because the system call only " -"requires listing the file descriptors of interest, while :c:func:`select` " +"the same time. :c:func:`!poll` scales better because the system call only " +"requires listing the file descriptors of interest, while :c:func:`!select` " "builds a bitmap, turns on bits for the fds of interest, and then afterward " -"the whole bitmap has to be linearly scanned again. :c:func:`select` is " -"O(highest file descriptor), while :c:func:`poll` is O(number of file " -"descriptors)." +"the whole bitmap has to be linearly scanned again. :c:func:`!select` is " +"*O*\\ (*highest file descriptor*), while :c:func:`!poll` is *O*\\ (*number " +"of file descriptors*)." msgstr "" #: ../../library/select.rst:396 msgid "" "*eventmask* is an optional bitmask describing the type of events you want to " -"check for, and can be a combination of the constants :const:`POLLIN`, :const:" -"`POLLPRI`, and :const:`POLLOUT`, described in the table below. If not " -"specified, the default value used will check for all 3 types of events." +"check for, and can be a combination of the " +"constants :const:`POLLIN`, :const:`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 "" #: ../../library/select.rst:404 @@ -614,14 +637,14 @@ msgstr "" msgid "" "Modifies an already registered fd. This has the same effect as " "``register(fd, eventmask)``. Attempting to modify a file descriptor that " -"was never registered causes an :exc:`OSError` exception with errno :const:" -"`ENOENT` to be raised." +"was never registered causes an :exc:`OSError` exception with " +"errno :const:`ENOENT` to be raised." msgstr "" #: ../../library/select.rst:438 msgid "" -"Attempting to remove a file descriptor that was never registered causes a :" -"exc:`KeyError` exception to be raised." +"Attempting to remove a file descriptor that was never registered causes " +"a :exc:`KeyError` exception to be raised." msgstr "" #: ../../library/select.rst:444 @@ -629,13 +652,14 @@ msgid "" "Polls the set of registered file descriptors, and returns a possibly empty " "list containing ``(fd, event)`` 2-tuples for the descriptors that have " "events or errors to report. *fd* is the file descriptor, and *event* is a " -"bitmask with bits set for the reported events for that descriptor --- :const:" -"`POLLIN` for waiting input, :const:`POLLOUT` to indicate that the descriptor " -"can be written to, and so forth. An empty list indicates that the call timed " -"out and no file descriptors had any events to report. If *timeout* is given, " -"it specifies the length of time in milliseconds which the system will wait " -"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." +"bitmask with bits set for the reported events for that descriptor " +"--- :const:`POLLIN` for waiting input, :const:`POLLOUT` to indicate that the " +"descriptor can be written to, and so forth. An empty list indicates that the " +"call timed out and no file descriptors had any events to report. If " +"*timeout* is given, it specifies the length of time in milliseconds which " +"the system will wait 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 "" #: ../../library/select.rst:465 @@ -678,7 +702,7 @@ msgstr "" #: ../../library/select.rst:508 msgid "https://man.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2" -msgstr "" +msgstr "https://man.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2" #: ../../library/select.rst:512 msgid "" @@ -1020,7 +1044,7 @@ msgstr "" #: ../../library/select.rst:141 msgid "popen() (in module os)" -msgstr "" +msgstr "popen() (no módulo os)" #: ../../library/select.rst:154 msgid "WinSock" diff --git a/library/selectors.po b/library/selectors.po index c770360d1..3a0c0ae1b 100644 --- a/library/selectors.po +++ b/library/selectors.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 -# Hemílio Lauro , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -52,11 +45,12 @@ msgstr "" #: ../../library/selectors.rst:20 msgid "" "It defines a :class:`BaseSelector` abstract base class, along with several " -"concrete implementations (:class:`KqueueSelector`, :class:" -"`EpollSelector`...), that can be used to wait for I/O readiness notification " -"on multiple file objects. In the following, \"file object\" refers to any " -"object with a :meth:`fileno()` method, or a raw file descriptor. See :term:" -"`file object`." +"concrete implementations " +"(:class:`KqueueSelector`, :class:`EpollSelector`...), that can be used to " +"wait for I/O readiness notification on multiple file objects. In the " +"following, \"file object\" refers to any object with " +"a :meth:`~io.IOBase.fileno` method, or a raw file descriptor. " +"See :term:`file object`." msgstr "" #: ../../library/selectors.rst:26 @@ -119,18 +113,10 @@ msgstr "Constante" msgid "Meaning" msgstr "Significado" -#: ../../library/selectors.rst:63 -msgid ":const:`EVENT_READ`" -msgstr ":const:`EVENT_READ`" - #: ../../library/selectors.rst:63 msgid "Available for read" msgstr "Disponível para leitura" -#: ../../library/selectors.rst:65 -msgid ":const:`EVENT_WRITE`" -msgstr ":const:`EVENT_WRITE`" - #: ../../library/selectors.rst:65 msgid "Available for write" msgstr "Disponível para escrita" @@ -166,11 +152,12 @@ msgid "" "A :class:`BaseSelector` is used to wait for I/O event readiness on multiple " "file objects. It supports file stream registration, unregistration, and a " "method to wait for I/O events on those streams, with an optional timeout. " -"It's an abstract base class, so cannot be instantiated. Use :class:" -"`DefaultSelector` instead, or one of :class:`SelectSelector`, :class:" -"`KqueueSelector` etc. if you want to specifically use an implementation, and " -"your platform supports it. :class:`BaseSelector` and its concrete " -"implementations support the :term:`context manager` protocol." +"It's an abstract base class, so cannot be instantiated. " +"Use :class:`DefaultSelector` instead, or one " +"of :class:`SelectSelector`, :class:`KqueueSelector` etc. if you want to " +"specifically use an implementation, and your platform supports " +"it. :class:`BaseSelector` and its concrete implementations support " +"the :term:`context manager` protocol." msgstr "" #: ../../library/selectors.rst:108 @@ -187,9 +174,9 @@ msgstr "" #: ../../library/selectors.rst:115 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." +"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 "" #: ../../library/selectors.rst:121 @@ -204,10 +191,10 @@ msgstr "" #: ../../library/selectors.rst:126 msgid "" -"This returns the associated :class:`SelectorKey` instance, or raises a :exc:" -"`KeyError` if *fileobj* is not registered. It will raise :exc:`ValueError` " -"if *fileobj* is invalid (e.g. it has no ``fileno()`` method or its " -"``fileno()`` method has an invalid return value)." +"This returns the associated :class:`SelectorKey` instance, or raises " +"a :exc:`KeyError` if *fileobj* is not registered. It will " +"raise :exc:`ValueError` if *fileobj* is invalid (e.g. it has no ``fileno()`` " +"method or its ``fileno()`` method has an invalid return value)." msgstr "" #: ../../library/selectors.rst:133 @@ -216,16 +203,16 @@ msgstr "" #: ../../library/selectors.rst:135 msgid "" -"This is equivalent to :meth:`BaseSelector.unregister(fileobj)` followed by :" -"meth:`BaseSelector.register(fileobj, events, data)`, except that it can be " +"This is equivalent to ``BaseSelector.unregister(fileobj)`` followed by " +"``BaseSelector.register(fileobj, events, data)``, except that it can be " "implemented more efficiently." msgstr "" #: ../../library/selectors.rst:139 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." +"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 "" #: ../../library/selectors.rst:145 @@ -329,8 +316,8 @@ msgstr "" #: ../../library/selectors.rst:227 msgid "" -"This returns the file descriptor used by the underlying :func:`select." -"devpoll` object." +"This returns the file descriptor used by the " +"underlying :func:`select.devpoll` object." msgstr "" #: ../../library/selectors.rst:234 @@ -339,8 +326,8 @@ msgstr "" #: ../../library/selectors.rst:238 msgid "" -"This returns the file descriptor used by the underlying :func:`select." -"kqueue` object." +"This returns the file descriptor used by the " +"underlying :func:`select.kqueue` object." msgstr "" #: ../../library/selectors.rst:243 diff --git a/library/shelve.po b/library/shelve.po index ae12bdd3d..9ea13e5c4 100644 --- a/library/shelve.po +++ b/library/shelve.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# And Past , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 -# Marco Rougeth , 2023 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -53,15 +47,15 @@ msgid "" "for the underlying database. As a side-effect, an extension may be added to " "the filename and more than one file may be created. By default, the " "underlying database file is opened for reading and writing. The optional " -"*flag* parameter has the same interpretation as the *flag* parameter of :" -"func:`dbm.open`." +"*flag* parameter has the same interpretation as the *flag* parameter " +"of :func:`dbm.open`." msgstr "" #: ../../library/shelve.rst:28 msgid "" -"By default, pickles created with :data:`pickle.DEFAULT_PROTOCOL` are used to " -"serialize values. The version of the pickle protocol can be specified with " -"the *protocol* parameter." +"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 "" #: ../../library/shelve.rst:32 @@ -70,18 +64,18 @@ msgid "" "dictionary entry is modified. By default modified objects are written " "*only* when assigned to the shelf (see :ref:`shelve-example`). If the " "optional *writeback* parameter is set to ``True``, all entries accessed are " -"also cached in memory, and written back on :meth:`~Shelf.sync` and :meth:" -"`~Shelf.close`; this can make it handier to mutate mutable entries in the " -"persistent dictionary, but, if many entries are accessed, it can consume " -"vast amounts of memory for the cache, and it can make the close operation " -"very slow since all accessed entries are written back (there is no way to " -"determine which accessed entries are mutable, nor which ones were actually " -"mutated)." +"also cached in memory, and written back on :meth:`~Shelf.sync` " +"and :meth:`~Shelf.close`; this can make it handier to mutate mutable entries " +"in the persistent dictionary, but, if many entries are accessed, it can " +"consume vast amounts of memory for the cache, and it can make the close " +"operation very slow since all accessed entries are written back (there is no " +"way to determine which accessed entries are mutable, nor which ones were " +"actually mutated)." msgstr "" -#: ../../library/shelve.rst:44 ../../library/shelve.rst:145 +#: ../../library/shelve.rst:44 ../../library/shelve.rst:148 msgid "" -":data:`pickle.DEFAULT_PROTOCOL` is now used as the default pickle protocol." +":const:`pickle.DEFAULT_PROTOCOL` is now used as the default pickle protocol." msgstr "" #: ../../library/shelve.rst:48 @@ -90,9 +84,9 @@ msgstr "Aceita um :term:`objeto caminho ou similar` como nome de arquivo." #: ../../library/shelve.rst:53 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::" +"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 "" #: ../../library/shelve.rst:64 @@ -160,21 +154,27 @@ msgid "" "implementation used." msgstr "" -#: ../../library/shelve.rst:119 +#: ../../library/shelve.rst:116 +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 "" + +#: ../../library/shelve.rst:122 msgid "" "A subclass of :class:`collections.abc.MutableMapping` which stores pickled " "values in the *dict* object." msgstr "" -#: ../../library/shelve.rst:122 +#: ../../library/shelve.rst:125 msgid "" -"By default, pickles created with :data:`pickle.DEFAULT_PROTOCOL` are used to " -"serialize values. The version of the pickle protocol can be specified with " -"the *protocol* parameter. See the :mod:`pickle` documentation for a " +"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. See the :mod:`pickle` documentation for a " "discussion of the pickle protocols." msgstr "" -#: ../../library/shelve.rst:127 +#: ../../library/shelve.rst:130 msgid "" "If the *writeback* parameter is ``True``, the object will hold a cache of " "all entries accessed and write them back to the *dict* at sync and close " @@ -182,74 +182,74 @@ msgid "" "much more memory and make sync and close take a long time." msgstr "" -#: ../../library/shelve.rst:132 +#: ../../library/shelve.rst:135 msgid "" "The *keyencoding* parameter is the encoding used to encode keys before they " "are used with the underlying dict." msgstr "" -#: ../../library/shelve.rst:135 +#: ../../library/shelve.rst:138 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 "" -#: ../../library/shelve.rst:138 +#: ../../library/shelve.rst:141 msgid "" "Added the *keyencoding* parameter; previously, keys were always encoded in " "UTF-8." msgstr "" -#: ../../library/shelve.rst:142 +#: ../../library/shelve.rst:145 msgid "Added context manager support." msgstr "Adicionado suporte a gerenciador de contexto." -#: ../../library/shelve.rst:152 +#: ../../library/shelve.rst:155 msgid "" -"A subclass of :class:`Shelf` which exposes :meth:`first`, :meth:`!next`, :" -"meth:`previous`, :meth:`last` and :meth:`set_location` which are available " -"in the third-party :mod:`bsddb` module from `pybsddb `_ but not in other database modules. The *dict* " -"object passed to the constructor must support those methods. This is " -"generally accomplished by calling one of :func:`bsddb.hashopen`, :func:" -"`bsddb.btopen` or :func:`bsddb.rnopen`. The optional *protocol*, " -"*writeback*, and *keyencoding* parameters have the same interpretation as " -"for the :class:`Shelf` class." +"A subclass of :class:`Shelf` which exposes :meth:`!first`, :meth:`!" +"next`, :meth:`!previous`, :meth:`!last` and :meth:`!set_location` methods. " +"These are available in the third-party :mod:`!bsddb` module from `pybsddb " +"`_ but not in other database " +"modules. The *dict* object passed to the constructor must support those " +"methods. This is generally accomplished by calling one of :func:`!" +"bsddb.hashopen`, :func:`!bsddb.btopen` or :func:`!bsddb.rnopen`. The " +"optional *protocol*, *writeback*, and *keyencoding* parameters have the same " +"interpretation as for the :class:`Shelf` class." msgstr "" -#: ../../library/shelve.rst:165 +#: ../../library/shelve.rst:169 msgid "" "A subclass of :class:`Shelf` which accepts a *filename* instead of a dict-" "like object. The underlying file will be opened using :func:`dbm.open`. By " "default, the file will be created and opened for both read and write. The " -"optional *flag* parameter has the same interpretation as for the :func:`." -"open` function. The optional *protocol* and *writeback* parameters have the " -"same interpretation as for the :class:`Shelf` class." +"optional *flag* parameter has the same interpretation as for " +"the :func:`.open` function. The optional *protocol* and *writeback* " +"parameters have the same interpretation as for the :class:`Shelf` class." msgstr "" -#: ../../library/shelve.rst:176 +#: ../../library/shelve.rst:180 msgid "Example" msgstr "Exemplo" -#: ../../library/shelve.rst:178 +#: ../../library/shelve.rst:182 msgid "" "To summarize the interface (``key`` is a string, ``data`` is an arbitrary " "object)::" msgstr "" -#: ../../library/shelve.rst:215 +#: ../../library/shelve.rst:219 msgid "Module :mod:`dbm`" msgstr "Módulo :mod:`dbm`" -#: ../../library/shelve.rst:215 +#: ../../library/shelve.rst:219 msgid "Generic interface to ``dbm``-style databases." msgstr "" -#: ../../library/shelve.rst:217 +#: ../../library/shelve.rst:221 msgid "Module :mod:`pickle`" msgstr "Módulo :mod:`pickle`" -#: ../../library/shelve.rst:218 +#: ../../library/shelve.rst:222 msgid "Object serialization used by :mod:`shelve`." msgstr "" @@ -263,8 +263,8 @@ msgstr "pickle" #: ../../library/shelve.rst:97 msgid "dbm.ndbm" -msgstr "" +msgstr "dbm.ndbm" #: ../../library/shelve.rst:97 msgid "dbm.gnu" -msgstr "" +msgstr "dbm.gnu" diff --git a/library/shlex.po b/library/shlex.po index a36a938e1..165420912 100644 --- a/library/shlex.po +++ b/library/shlex.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -47,12 +45,12 @@ msgstr "" #: ../../library/shlex.rst:26 msgid "" -"Split the string *s* using shell-like syntax. If *comments* is :const:" -"`False` (the default), the parsing of comments in the given string will be " -"disabled (setting the :attr:`~shlex.commenters` attribute of the :class:" -"`~shlex.shlex` instance to the empty string). This function operates in " -"POSIX mode by default, but uses non-POSIX mode if the *posix* argument is " -"false." +"Split the string *s* using shell-like syntax. If *comments* " +"is :const:`False` (the default), the parsing of comments in the given string " +"will be disabled (setting the :attr:`~shlex.commenters` attribute of " +"the :class:`~shlex.shlex` instance to the empty string). This function " +"operates in POSIX mode by default, but uses non-POSIX mode if the *posix* " +"argument is false." msgstr "" #: ../../library/shlex.rst:35 @@ -100,8 +98,8 @@ msgstr "" #: ../../library/shlex.rst:75 msgid "" -"Consider using functions that pass command arguments with lists such as :" -"func:`subprocess.run` with ``shell=False``." +"Consider using functions that pass command arguments with lists such " +"as :func:`subprocess.run` with ``shell=False``." msgstr "" #: ../../library/shlex.rst:78 @@ -124,25 +122,26 @@ msgstr "" msgid "" "A :class:`~shlex.shlex` instance or subclass instance is a lexical analyzer " "object. The initialization argument, if present, specifies where to read " -"characters from. It must be a file-/stream-like object with :meth:`~io." -"TextIOBase.read` and :meth:`~io.TextIOBase.readline` methods, or a string. " -"If no argument is given, input will be taken from ``sys.stdin``. The second " -"optional argument is a filename string, which sets the initial value of the :" -"attr:`~shlex.infile` attribute. If the *instream* argument is omitted or " -"equal to ``sys.stdin``, this second argument defaults to \"stdin\". The " -"*posix* argument defines the operational mode: when *posix* is not true " -"(default), the :class:`~shlex.shlex` instance will operate in compatibility " -"mode. When operating in POSIX mode, :class:`~shlex.shlex` will try to be as " -"close as possible to the POSIX shell parsing rules. The *punctuation_chars* " -"argument provides a way to make the behaviour even closer to how real shells " -"parse. This can take a number of values: the default value, ``False``, " -"preserves the behaviour seen under Python 3.5 and earlier. If set to " -"``True``, then parsing of the characters ``();<>|&`` is changed: any run of " -"these characters (considered punctuation characters) is returned as a single " -"token. If set to a non-empty string of characters, those characters will be " -"used as the punctuation characters. Any characters in the :attr:`wordchars` " -"attribute that appear in *punctuation_chars* will be removed from :attr:" -"`wordchars`. See :ref:`improved-shell-compatibility` for more information. " +"characters from. It must be a file-/stream-like object " +"with :meth:`~io.TextIOBase.read` and :meth:`~io.TextIOBase.readline` " +"methods, or a string. If no argument is given, input will be taken from " +"``sys.stdin``. The second optional argument is a filename string, which sets " +"the initial value of the :attr:`~shlex.infile` attribute. If the *instream* " +"argument is omitted or equal to ``sys.stdin``, this second argument defaults " +"to \"stdin\". The *posix* argument defines the operational mode: when " +"*posix* is not true (default), the :class:`~shlex.shlex` instance will " +"operate in compatibility mode. When operating in POSIX " +"mode, :class:`~shlex.shlex` will try to be as close as possible to the POSIX " +"shell parsing rules. The *punctuation_chars* argument provides a way to " +"make the behaviour even closer to how real shells parse. This can take a " +"number of values: the default value, ``False``, preserves the behaviour seen " +"under Python 3.5 and earlier. If set to ``True``, then parsing of the " +"characters ``();<>|&`` is changed: any run of these characters (considered " +"punctuation characters) is returned as a single token. If set to a non-" +"empty string of characters, those characters will be used as the punctuation " +"characters. Any characters in the :attr:`wordchars` attribute that appear " +"in *punctuation_chars* will be removed from :attr:`wordchars`. " +"See :ref:`improved-shell-compatibility` for more information. " "*punctuation_chars* can be set only upon :class:`~shlex.shlex` instance " "creation and can't be modified later." msgstr "" @@ -217,8 +216,9 @@ msgstr "" msgid "" "This hook is exposed so that you can use it to implement directory search " "paths, addition of file extensions, and other namespace hacks. There is no " -"corresponding 'close' hook, but a shlex instance will call the :meth:`~io." -"IOBase.close` method of the sourced input stream when it returns EOF." +"corresponding 'close' hook, but a shlex instance will call " +"the :meth:`~io.IOBase.close` method of the sourced input stream when it " +"returns EOF." msgstr "" #: ../../library/shlex.rst:199 @@ -273,10 +273,10 @@ msgstr "" msgid "" "The string of characters that will accumulate into multi-character tokens. " "By default, includes all ASCII alphanumerics and underscore. In POSIX mode, " -"the accented characters in the Latin-1 set are also included. If :attr:" -"`punctuation_chars` is not empty, the characters ``~-./*?=``, which can " -"appear in filename specifications and command line parameters, will also be " -"included in this attribute, and any characters which appear in " +"the accented characters in the Latin-1 set are also included. " +"If :attr:`punctuation_chars` is not empty, the characters ``~-./*?=``, which " +"can appear in filename specifications and command line parameters, will also " +"be included in this attribute, and any characters which appear in " "``punctuation_chars`` will be removed from ``wordchars`` if they are present " "there. If :attr:`whitespace_split` is set to ``True``, this will have no " "effect." @@ -314,15 +314,15 @@ msgstr "" msgid "" "If ``True``, tokens will only be split in whitespaces. This is useful, for " "example, for parsing command lines with :class:`~shlex.shlex`, getting " -"tokens in a similar way to shell arguments. When used in combination with :" -"attr:`punctuation_chars`, tokens will be split on whitespace in addition to " -"those characters." +"tokens in a similar way to shell arguments. When used in combination " +"with :attr:`punctuation_chars`, tokens will be split on whitespace in " +"addition to those characters." msgstr "" #: ../../library/shlex.rst:285 msgid "" -"The :attr:`punctuation_chars` attribute was made compatible with the :attr:" -"`whitespace_split` attribute." +"The :attr:`punctuation_chars` attribute was made compatible with " +"the :attr:`whitespace_split` attribute." msgstr "" #: ../../library/shlex.rst:292 @@ -449,19 +449,20 @@ msgstr "" #: ../../library/shlex.rst:384 msgid "" -"Enclosing characters in quotes which are not part of :attr:`~shlex." -"escapedquotes` (e.g. ``\"'\"``) preserve the literal value of all characters " -"within the quotes;" +"Enclosing characters in quotes which are not part " +"of :attr:`~shlex.escapedquotes` (e.g. ``\"'\"``) preserve the literal value " +"of all characters within the quotes;" msgstr "" #: ../../library/shlex.rst:388 msgid "" -"Enclosing characters in quotes which are part of :attr:`~shlex." -"escapedquotes` (e.g. ``'\"'``) preserves the literal value of all characters " -"within the quotes, with the exception of the characters mentioned in :attr:" -"`~shlex.escape`. The escape characters retain its special meaning only when " -"followed by the quote in use, or the escape character itself. Otherwise the " -"escape character will be considered a normal character." +"Enclosing characters in quotes which are part " +"of :attr:`~shlex.escapedquotes` (e.g. ``'\"'``) preserves the literal value " +"of all characters within the quotes, with the exception of the characters " +"mentioned in :attr:`~shlex.escape`. The escape characters retain its " +"special meaning only when followed by the quote in use, or the escape " +"character itself. Otherwise the escape character will be considered a normal " +"character." msgstr "" #: ../../library/shlex.rst:396 @@ -515,14 +516,14 @@ msgstr "" #: ../../library/shlex.rst:456 msgid "" "However, to match the shell as closely as possible, it is recommended to " -"always use ``posix`` and :attr:`~shlex.whitespace_split` when using :attr:" -"`~shlex.punctuation_chars`, which will negate :attr:`~shlex.wordchars` " -"entirely." +"always use ``posix`` and :attr:`~shlex.whitespace_split` when " +"using :attr:`~shlex.punctuation_chars`, which will " +"negate :attr:`~shlex.wordchars` entirely." msgstr "" #: ../../library/shlex.rst:461 msgid "" "For best effect, ``punctuation_chars`` should be set in conjunction with " -"``posix=True``. (Note that ``posix=False`` is the default for :class:`~shlex." -"shlex`.)" +"``posix=True``. (Note that ``posix=False`` is the default " +"for :class:`~shlex.shlex`.)" msgstr "" diff --git a/library/shutil.po b/library/shutil.po index 6dc8797b6..8f71448d2 100644 --- a/library/shutil.po +++ b/library/shutil.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Claudio Rogerio Carvalho Filho , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -47,11 +45,12 @@ msgstr "" #: ../../library/shutil.rst:25 msgid "" -"Even the higher-level file copying functions (:func:`shutil.copy`, :func:" -"`shutil.copy2`) cannot copy all file metadata." +"Even the higher-level file copying functions " +"(:func:`shutil.copy`, :func:`shutil.copy2`) cannot copy all file metadata." msgstr "" -"Mesmo as funções de cópia de arquivos de nível mais alto (:func:`shutil." -"copy`, :func:`shutil.copy2`) não podem copiar todos os metadados do arquivo." +"Mesmo as funções de cópia de arquivos de nível mais alto " +"(:func:`shutil.copy`, :func:`shutil.copy2`) não podem copiar todos os " +"metadados do arquivo." #: ../../library/shutil.rst:28 msgid "" @@ -74,31 +73,34 @@ msgstr "Operações de diretório e arquivos" #: ../../library/shutil.rst:42 msgid "" -"Copy the contents of the file-like object *fsrc* to the file-like object " -"*fdst*. The integer *length*, if given, is the buffer size. In particular, a " -"negative *length* value means to copy the data without looping over the " -"source data in chunks; by default the data is read in chunks to avoid " -"uncontrolled memory consumption. Note that if the current 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 "" -"Copia o conteúdo do objeto arquivo ou similar *fsrc* para o objeto arquivo " -"ou similar *fdst*. O número inteiro *length*, se fornecido, é o tamanho do " -"buffer. Em particular, um valor negativo *length* significa copiar os dados " -"sem repetir os dados de origem em pedaços; por padrão, os dados são lidos em " -"pedaços para evitar o consumo descontrolado de memória. Observe que, se a " -"posição atual do arquivo do objeto *fsrc* não for 0, apenas o conteúdo da " -"posição atual do arquivo até o final do arquivo será copiado." +"Copy the contents of the :term:`file-like object ` *fsrc* to " +"the file-like object *fdst*. The integer *length*, if given, is the buffer " +"size. In particular, a negative *length* value means to copy the data " +"without looping over the source data in chunks; by default the data is read " +"in chunks to avoid uncontrolled memory consumption. Note that if the current " +"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 "" +"Copia o conteúdo do :term:`objeto arquivo ou similar ` *fsrc* " +"para o objeto arquivo ou similar *fdst*. O número inteiro *length*, se " +"fornecido, é o tamanho do buffer. Em particular, um valor negativo *length* " +"significa copiar os dados sem repetir os dados de origem em pedaços; por " +"padrão, os dados são lidos em pedaços para evitar o consumo descontrolado de " +"memória. Observe que, se a posição atual do arquivo do objeto *fsrc* não for " +"0, apenas o conteúdo da posição atual do arquivo até o final do arquivo será " +"copiado." #: ../../library/shutil.rst:53 msgid "" "Copy the contents (no metadata) of the file named *src* to a file named " "*dst* and return *dst* in the most efficient way possible. *src* and *dst* " -"are path-like objects or path names given as strings." +"are :term:`path-like objects ` or path names given as " +"strings." msgstr "" "Copia o conteúdo (sem metadados) do arquivo chamado *src* para um arquivo " "chamado *dst* e retorna *dst* da maneira mais eficiente possível. *src* e " -"*dst* são objetos to tipo caminhos ou nomes de caminhos dados como strings." +"*dst* são :term:`objetos caminho ou similares ` ou nomes " +"de caminhos dados como strings." #: ../../library/shutil.rst:57 msgid "" @@ -106,9 +108,10 @@ msgid "" "for a copy that accepts a target directory path. If *src* and *dst* specify " "the same file, :exc:`SameFileError` is raised." msgstr "" -"*dst* deve ser o nome completo do arquivo de destino; veja :func:`~shutil." -"copy` para uma cópia que aceita um caminho de diretório de destino. Se *src* " -"e *dst* especificarem o mesmo arquivo, :exc:`SameFileError` será levantada." +"*dst* deve ser o nome completo do arquivo de destino; " +"veja :func:`~shutil.copy` para uma cópia que aceita um caminho de diretório " +"de destino. Se *src* e *dst* especificarem o mesmo " +"arquivo, :exc:`SameFileError` será levantada." #: ../../library/shutil.rst:61 msgid "" @@ -117,10 +120,10 @@ msgid "" "Special files such as character or block devices and pipes cannot be copied " "with this function." msgstr "" -"O local de destino deve ser gravável; caso contrário, uma exceção :exc:" -"`OSError` será levantada. Se o *dst* já existir, ele será substituído. " -"Arquivos especiais como dispositivos de caractere ou bloco e encadeamentos " -"(pipe) não podem ser copiados com esta função." +"O local de destino deve ser gravável; caso contrário, uma " +"exceção :exc:`OSError` será levantada. Se o *dst* já existir, ele será " +"substituído. Arquivos especiais como dispositivos de caractere ou bloco e " +"encadeamentos (pipe) não podem ser copiados com esta função." #: ../../library/shutil.rst:66 msgid "" @@ -137,7 +140,7 @@ msgid "" "Raises an :ref:`auditing event ` ``shutil.copyfile`` with " "arguments ``src``, ``dst``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``shutil.copyfile`` com " +"Levanta um :ref:`evento de auditoria ` ``shutil.copyfile`` com os " "argumentos ``src``, ``dst``." #: ../../library/shutil.rst:72 @@ -158,15 +161,15 @@ msgstr "" #: ../../library/shutil.rst:81 ../../library/shutil.rst:185 #: ../../library/shutil.rst:217 ../../library/shutil.rst:287 -#: ../../library/shutil.rst:381 +#: ../../library/shutil.rst:384 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 "" "As chamadas de sistema de cópia rápida específicas da plataforma podem ser " -"usadas internamente para copiar o arquivo com mais eficiência. Veja a seção :" -"ref:`shutil-platform-dependent-efficient-copy-operations`." +"usadas internamente para copiar o arquivo com mais eficiência. Veja a " +"seção :ref:`shutil-platform-dependent-efficient-copy-operations`." #: ../../library/shutil.rst:88 msgid "" @@ -179,30 +182,31 @@ msgstr "" #: ../../library/shutil.rst:96 msgid "" "Copy the permission bits from *src* to *dst*. The file contents, owner, and " -"group are unaffected. *src* and *dst* are path-like objects or path names " -"given as strings. If *follow_symlinks* is false, and both *src* and *dst* " -"are symbolic links, :func:`copymode` will attempt to modify the mode of " -"*dst* itself (rather than the file it points to). This functionality is not " -"available on every platform; please see :func:`copystat` for more " -"information. If :func:`copymode` cannot modify symbolic links on the local " -"platform, and it is asked to do so, it will do nothing and return." +"group are unaffected. *src* and *dst* are :term:`path-like objects ` or path names given as strings. If *follow_symlinks* is false, " +"and both *src* and *dst* are symbolic links, :func:`copymode` will attempt " +"to modify the mode of *dst* itself (rather than the file it points to). " +"This functionality is not available on every platform; please " +"see :func:`copystat` for more information. If :func:`copymode` cannot " +"modify symbolic links on the local platform, and it is asked to do so, it " +"will do nothing and return." msgstr "" "Copia os bits de permissão de *src* para *dst*. O conteúdo do arquivo, o " -"proprietário e o grupo não são afetados. *src* e *dst* são objetos " -"semelhantes a caminhos ou nomes de caminhos dados como strings. Se " -"*follow_symlinks* for falso e *src* e *dst* forem links simbólicos, :func:" -"`copymode` tentará modificar o modo do *dst* (e não o arquivo para o qual " -"ele aponta). Essa funcionalidade não está disponível em todas as " -"plataformas; veja :func:`copystat` para mais informações. Se :func:" -"`copymode` não puder modificar links simbólicos na plataforma local, e for " -"solicitado a fazê-lo, não fará nada e retornará." +"proprietário e o grupo não são afetados. *src* e *dst* são :term:`objetos " +"caminho ou similares ` ou nomes de caminhos dados como " +"strings. Se *follow_symlinks* for falso e *src* e *dst* forem links " +"simbólicos, :func:`copymode` tentará modificar o modo do *dst* (e não o " +"arquivo para o qual ele aponta). Essa funcionalidade não está disponível em " +"todas as plataformas; veja :func:`copystat` para mais informações. " +"Se :func:`copymode` não puder modificar links simbólicos na plataforma " +"local, e for solicitado a fazê-lo, não fará nada e retornará." #: ../../library/shutil.rst:106 ../../library/shutil.rst:179 msgid "" "Raises an :ref:`auditing event ` ``shutil.copymode`` with " "arguments ``src``, ``dst``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``shutil.copymode`` com " +"Levanta um :ref:`evento de auditoria ` ``shutil.copymode`` com os " "argumentos ``src``, ``dst``." #: ../../library/shutil.rst:108 @@ -214,14 +218,15 @@ msgid "" "Copy the permission bits, last access time, last modification time, and " "flags from *src* to *dst*. On Linux, :func:`copystat` also copies the " "\"extended attributes\" where possible. The file contents, owner, and group " -"are unaffected. *src* and *dst* are path-like objects or path names given " -"as strings." +"are unaffected. *src* and *dst* are :term:`path-like objects ` or path names given as strings." msgstr "" "Copia os bits de permissão, hora do último acesso, hora da última " "modificação e sinalizadores de *src* para *dst*. No Linux, :func:`copystat` " "também copia os \"atributos estendidos\" sempre que possível. O conteúdo do " -"arquivo, o proprietário e o grupo não são afetados. *src* e *dst* são " -"objetos semelhantes a caminhos ou nomes de caminhos dados como strings." +"arquivo, o proprietário e o grupo não são afetados. *src* e *dst* " +"são :term:`objetos caminho ou similares ` ou nomes de " +"caminhos dados como strings." #: ../../library/shutil.rst:119 msgid "" @@ -249,27 +254,28 @@ msgid "" "If ``os.chmod in os.supports_follow_symlinks`` is ``True``, :func:`copystat` " "can modify the permission bits of a symbolic link." msgstr "" -"Se ``os.chmod in os.supports_follow_symlinks`` for ``True``, :func:" -"`copystat` pode modificar os bits de permissão de um link simbólico." +"Se ``os.chmod in os.supports_follow_symlinks`` for " +"``True``, :func:`copystat` pode modificar os bits de permissão de um link " +"simbólico." #: ../../library/shutil.rst:136 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 "" -"Se ``os.utime in os.supports_follow_symlinks`` for ``True``, :func:" -"`copystat` pode modificar as horas da última modificação e do último acesso " -"de um link simbólico." +"Se ``os.utime in os.supports_follow_symlinks`` for " +"``True``, :func:`copystat` pode modificar as horas da última modificação e " +"do último acesso de um link simbólico." #: ../../library/shutil.rst:140 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.)" +"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 "" -"Se ``os.chflags in os.supports_follow_symlinks`` for ``True``, :func:" -"`copystat` pode modificar os sinalizadores de um link simbólico. (``os." -"chflags`` não está disponível em todas as plataformas.)" +"Se ``os.chflags in os.supports_follow_symlinks`` for " +"``True``, :func:`copystat` pode modificar os sinalizadores de um link " +"simbólico. (``os.chflags`` não está disponível em todas as plataformas.)" #: ../../library/shutil.rst:145 msgid "" @@ -278,8 +284,9 @@ msgid "" "can. :func:`copystat` never returns failure." msgstr "" "Nas plataformas em que algumas ou todas essas funcionalidades não estão " -"disponíveis, quando solicitado a modificar um link simbólico, :func:" -"`copystat` copiará tudo o que puder. :func:`copystat` nunca retorna falha." +"disponíveis, quando solicitado a modificar um link " +"simbólico, :func:`copystat` copiará tudo o que puder. :func:`copystat` nunca " +"retorna falha." #: ../../library/shutil.rst:150 msgid "Please see :data:`os.supports_follow_symlinks` for more information." @@ -291,7 +298,7 @@ msgid "" "Raises an :ref:`auditing event ` ``shutil.copystat`` with " "arguments ``src``, ``dst``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``shutil.copystat`` com " +"Levanta um :ref:`evento de auditoria ` ``shutil.copystat`` com os " "argumentos ``src``, ``dst``." #: ../../library/shutil.rst:155 @@ -309,6 +316,11 @@ 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 "" +"Copia o arquivo *src* para o arquivo ou diretório *dst*. *src* e *dst* devem " +"ser :term:`objetos arquivo ou similares ` ou strings. Se " +"*dst* especificar um diretório, o arquivo será copiado para *dst* usando o " +"nome de arquivo base de *src*. Se *dst* especifica um arquivo que já existe, " +"ele será substituído. Retorna o caminho para o arquivo recém-criado." #: ../../library/shutil.rst:166 msgid "" @@ -354,15 +366,24 @@ msgid "" "attempts to copy all metadata from the *src* symbolic link to the newly " "created *dst* symbolic link. However, this functionality is not available on " "all platforms. On platforms where some or all of this functionality is " -"unavailable, :func:`copy2` will preserve all the metadata it can; :func:" -"`copy2` never raises an exception because it cannot preserve file metadata." -msgstr "" +"unavailable, :func:`copy2` will preserve all the metadata it " +"can; :func:`copy2` never raises an exception because it cannot preserve file " +"metadata." +msgstr "" +"Quando *follow_symlinks* for falso e *src* for um link " +"simbólico, :func:`copy2` tenta copiar todos os metadados do link simbólico " +"*src* para o link simbólico *dst* recém-criado. No entanto, essa " +"funcionalidade não está disponível em todas as plataformas. Nas plataformas " +"em que algumas ou todas essas funcionalidades não estão " +"disponíveis, :func:`copy2` preservará todos os metadados que " +"puder; :func:`copy2` nunca levanta uma exceção porque não pode preservar os " +"metadados do arquivo." #: ../../library/shutil.rst:204 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." +":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` usa :func:`copystat` para copiar os metadados do arquivo. Por " "favor, veja :func:`copystat` para obter mais informações sobre o suporte da " @@ -380,9 +401,9 @@ msgstr "" #: ../../library/shutil.rst:224 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." +"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 "" "Esta função de fábrica cria uma função que pode ser usada como um chamável " "para o argumento *ignore* de :func:`copytree`, ignorando arquivos e " @@ -395,6 +416,10 @@ msgid "" "named *dst* and return the destination directory. All intermediate " "directories needed to contain *dst* will also be created by default." msgstr "" +"Copia recursivamente uma árvore de diretórios inteira com raiz em *src* para " +"um diretório chamado *dst* e retorna o diretório de destino. Todos os " +"diretórios intermediários necessários para conter *dst* também serão criados " +"por padrão." #: ../../library/shutil.rst:237 msgid "" @@ -472,40 +497,48 @@ msgstr "" "Se *copy_function* for fornecida, deverá ser um chamável que será usado para " "copiar cada arquivo. Ele será chamado com o caminho de origem e o caminho de " "destino como argumentos. Por padrão, :func:`~shutil.copy2` é usada, mas " -"qualquer função que possua suporte à mesma assinatura (como :func:`~shutil." -"copy`) pode ser usada." +"qualquer função que possua suporte à mesma assinatura " +"(como :func:`~shutil.copy`) pode ser usada." #: ../../library/shutil.rst:269 msgid "" -"If *dirs_exist_ok* is false (the default) and *dst* already exists, a :exc:" -"`FileExistsError` is raised. If *dirs_exist_ok* is true, the copying " +"If *dirs_exist_ok* is false (the default) and *dst* already exists, " +"a :exc:`FileExistsError` is raised. If *dirs_exist_ok* is true, the copying " "operation will continue if it encounters existing directories, and files " "within the *dst* tree will be overwritten by corresponding files from the " "*src* tree." msgstr "" +"Se *dirs_exist_ok* for false (o padrão) e *dst* já existir, " +"uma :exc:`FileExistsError` será levantada. Se *dirs_exist_ok* for true, a " +"operação de cópia continuará se encontrar diretórios existentes, e os " +"arquivos dentro da árvore *dst* serão sobrescritos pelos arquivos " +"correspondentes da árvore *src*." #: ../../library/shutil.rst:275 msgid "" "Raises an :ref:`auditing event ` ``shutil.copytree`` with " "arguments ``src``, ``dst``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``shutil.copytree`` com " +"Levanta um :ref:`evento de auditoria ` ``shutil.copytree`` com os " "argumentos ``src``, ``dst``." #: ../../library/shutil.rst:277 -msgid "Copy metadata when *symlinks* is false. Now returns *dst*." -msgstr "Copia metadados quando *symlinks* for falso. Agora, retorna *dst*." - -#: ../../library/shutil.rst:281 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 "" +"Adicionado o argumento *copy_function* para poder fornecer uma função de " +"cópia personalizada. Adicionado o argumento *ignore_dangling_symlinks* para " +"silenciar erros de links simbólicos quando *symlinks* for falso." + +#: ../../library/shutil.rst:283 +msgid "Copy metadata when *symlinks* is false. Now returns *dst*." +msgstr "Copia metadados quando *symlinks* for falso. Agora, retorna *dst*." #: ../../library/shutil.rst:292 -msgid "The *dirs_exist_ok* parameter." -msgstr "O parâmetro *dirs_exist_ok*." +msgid "Added the *dirs_exist_ok* parameter." +msgstr "Adicionado o parâmetro *dirs_exist_ok*." #: ../../library/shutil.rst:299 msgid "" @@ -540,13 +573,14 @@ msgid "" "attribute to determine which case applies." msgstr "" "Em plataformas que suportam as funções baseadas em descritores de arquivo " -"necessárias, uma versão resistente a ataques de links simbólicos de :func:" -"`rmtree` é usada por padrão. Em outras plataformas, a implementação :func:" -"`rmtree` é suscetível a um ataque de link simbólico: dados o tempo e as " -"circunstâncias apropriados, os invasores podem manipular links simbólicos no " -"sistema de arquivos para excluir arquivos que eles não seriam capazes de " -"acessar de outra forma. Os aplicativos podem usar o atributo de função :data:" -"`rmtree.avoids_symlink_attacks` para determinar qual caso se aplica." +"necessárias, uma versão resistente a ataques de links simbólicos " +"de :func:`rmtree` é usada por padrão. Em outras plataformas, a " +"implementação :func:`rmtree` é suscetível a um ataque de link simbólico: " +"dados o tempo e as circunstâncias apropriados, os invasores podem manipular " +"links simbólicos no sistema de arquivos para excluir arquivos que eles não " +"seriam capazes de acessar de outra forma. Os aplicativos podem usar o " +"atributo de função :data:`rmtree.avoids_symlink_attacks` para determinar " +"qual caso se aplica." #: ../../library/shutil.rst:318 msgid "" @@ -561,8 +595,8 @@ msgid "" "The first parameter, *function*, is the function which raised the exception; " "it depends on the platform and implementation. The second parameter, " "*path*, will be the path name passed to *function*. The third parameter, " -"*excinfo*, will be the exception information returned by :func:`sys." -"exc_info`. Exceptions raised by *onerror* will not be caught." +"*excinfo*, will be the exception information returned " +"by :func:`sys.exc_info`. Exceptions raised by *onerror* will not be caught." msgstr "" "O primeiro parâmetro, *function*, é a função que levantou a exceção; depende " "da plataforma e da implementação. O segundo parâmetro, *path*, será o nome " @@ -575,6 +609,8 @@ msgid "" "Raises an :ref:`auditing event ` ``shutil.rmtree`` with arguments " "``path``, ``dir_fd``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``shutil.rmtree`` com os " +"argumentos ``path``, ``dir_fd``." #: ../../library/shutil.rst:329 msgid "" @@ -610,62 +646,71 @@ msgstr "" #: ../../library/shutil.rst:351 msgid "" -"Recursively move a file or directory (*src*) to another location (*dst*) and " -"return the destination." +"Recursively move a file or directory (*src*) to another location and return " +"the destination." msgstr "" -"Move recursivamente um arquivo ou diretório (*src*) para outro local (*dst*) " -"e retorna ao destino." +"Move recursivamente um arquivo ou diretório (*src*) para outro local e " +"retorna ao destino." #: ../../library/shutil.rst:354 msgid "" -"If the destination is an existing directory, then *src* is moved inside that " -"directory. If the destination already exists but is not a directory, it may " -"be overwritten depending on :func:`os.rename` semantics." +"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 "" -"Se o destino for um diretório existente, *src* será movido para dentro desse " -"diretório. Se o destino já existe, mas não é um diretório, ele pode ser " -"sobrescrito dependendo da semântica :func:`os.rename`." +"Se *dst* for um diretório existente ou um symlink para um diretório, então " +"*src* é movido para dentro desse diretório. O caminho de destino nesse " +"diretório não deve existir ainda." #: ../../library/shutil.rst:358 msgid "" +"If *dst* already exists but is not a directory, it may be overwritten " +"depending on :func:`os.rename` semantics." +msgstr "" +"Se *dst* já existir, mas não for um diretório, ele poderá ser substituído " +"dependendo da semântica de :func:`os.rename`." + +#: ../../library/shutil.rst:361 +msgid "" "If the destination is on the current filesystem, then :func:`os.rename` is " -"used. Otherwise, *src* is copied to *dst* using *copy_function* and then " -"removed. In case of symlinks, a new symlink pointing to the target of *src* " -"will be created in or as *dst* and *src* will be removed." +"used. Otherwise, *src* is copied to the destination using *copy_function* " +"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 "" "Se o destino está no sistema de arquivos atual, então :func:`os.rename` é " -"usado. Caso contrário, *src* é copiado para *dst* usando *copy_function* e " -"depois removido. No caso de links simbólicos, um novo link simbólico " -"apontando para o destino de *src* será criado em ou conforme *dst* e *src* " -"serão removidos." +"usado. Caso contrário, *src* é copiado para o destino usando *copy_function* " +"e depois removido. No caso de links simbólicos, um novo link simbólico " +"apontando para o destino de *src* será criado como o destino e *src* serão " +"removidos." -#: ../../library/shutil.rst:363 +#: ../../library/shutil.rst:366 msgid "" -"If *copy_function* is given, it must be a callable that takes two arguments " -"*src* and *dst*, and will be used to copy *src* to *dst* if :func:`os." -"rename` cannot be used. If the source is a directory, :func:`copytree` is " -"called, passing it the :func:`copy_function`. The default *copy_function* " -"is :func:`copy2`. Using :func:`~shutil.copy` as the *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." +"If *copy_function* is given, it must be a callable that takes two arguments, " +"*src* and the destination, and will be used to copy *src* to the destination " +"if :func:`os.rename` cannot be used. If the source is a " +"directory, :func:`copytree` is called, passing it the *copy_function*. The " +"default *copy_function* is :func:`copy2`. Using :func:`~shutil.copy` as the " +"*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 "" "Se *copy_function* for fornecido, deve ser um chamável que leva dois " -"argumentos *src* e *dst*, e será usado para copiar *src* para *dst* se :func:" -"`os.rename` não puder ser usado. Se a fonte for um diretório, :func:" -"`copytree` é chamado, passando a :func:`copy_function`. A *copy_function* " -"padrão é :func:`copy2`. Usar :func:`~shutil.copy` como *copy_function* " -"permite que a movimentação seja bem-sucedida quando não é possível copiar " -"também os metadados, às custas de não copiar nenhum dos metadados." +"argumentos *src* e a destinação, e será usado para copiar *src* para a " +"destinação se :func:`os.rename` não puder ser usado. Se a fonte for um " +"diretório, :func:`copytree` é chamado, passando *copy_function*. A " +"*copy_function* padrão é :func:`copy2`. Usar :func:`~shutil.copy` como " +"*copy_function* permite que a movimentação seja bem-sucedida quando não é " +"possível copiar também os metadados, às custas de não copiar nenhum dos " +"metadados." -#: ../../library/shutil.rst:371 +#: ../../library/shutil.rst:374 msgid "" "Raises an :ref:`auditing event ` ``shutil.move`` with arguments " "``src``, ``dst``." msgstr "" -"Levanta um :ref:`evento auditoria ` ``shutil.move`` com argumentos " -"``src``, ``dst``." +"Levanta um :ref:`evento de auditoria ` ``shutil.move`` com os " +"argumentos ``src``, ``dst``." -#: ../../library/shutil.rst:373 +#: ../../library/shutil.rst:376 msgid "" "Added explicit symlink handling for foreign filesystems, thus adapting it to " "the behavior of GNU's :program:`mv`. Now returns *dst*." @@ -674,38 +719,49 @@ msgstr "" "arquivos externos, adaptando-os ao comportamento do GNU :program:`mv`. Agora " "retorna *dst*." -#: ../../library/shutil.rst:378 +#: ../../library/shutil.rst:381 msgid "Added the *copy_function* keyword argument." msgstr "Adicionado o argumento nomeado *copy_function*." -#: ../../library/shutil.rst:386 +#: ../../library/shutil.rst:389 msgid "Accepts a :term:`path-like object` for both *src* and *dst*." msgstr "Aceita um :term:`objeto caminho ou similar` para *src* e *dst*." -#: ../../library/shutil.rst:391 +#: ../../library/shutil.rst:394 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 "" -"Retorna estatísticas de uso de disco sobre o caminho fornecido como :term:" -"`tupla nomeada` com os atributos *total*, *used* e *free*, que são a " -"quantidade de espaço total, usado e livre, em bytes. *path* pode ser um " -"arquivo ou diretório." +"Retorna estatísticas de uso de disco sobre o caminho fornecido " +"como :term:`tupla nomeada` com os atributos *total*, *used* e *free*, que " +"são a quantidade de espaço total, usado e livre, em bytes. *path* pode ser " +"um arquivo ou diretório." + +#: ../../library/shutil.rst:401 +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 "" +"Em sistemas de arquivos Unix, *path* deve apontar para um caminho dentro de " +"uma partição de sistema de arquivos **montada**. Nessas plataformas, o " +"CPython não tenta recuperar informações de uso de disco de sistemas de " +"arquivos não montados." -#: ../../library/shutil.rst:398 +#: ../../library/shutil.rst:407 msgid "On Windows, *path* can now be a file or directory." msgstr "No Windows, *path* pode agora ser um arquivo ou diretório." -#: ../../library/shutil.rst:401 +#: ../../library/shutil.rst:410 msgid ":ref:`Availability `: Unix, Windows." msgstr ":ref:`Disponibilidade `: Unix, Windows." -#: ../../library/shutil.rst:405 +#: ../../library/shutil.rst:414 msgid "Change owner *user* and/or *group* of the given *path*." msgstr "Altera o proprietário *usuário* e/ou *group* do *path* fornecido." -#: ../../library/shutil.rst:407 +#: ../../library/shutil.rst:416 msgid "" "*user* can be a system user name or a uid; the same applies to *group*. At " "least one argument is required." @@ -713,23 +769,23 @@ msgstr "" "*user* pode ser um nome de usuário do sistema ou um uid; o mesmo se aplica " "ao *group*. É necessário pelo menos um argumento." -#: ../../library/shutil.rst:410 +#: ../../library/shutil.rst:419 msgid "See also :func:`os.chown`, the underlying function." msgstr "Veja também :func:`os.chown`, a função subjacente." -#: ../../library/shutil.rst:412 +#: ../../library/shutil.rst:421 msgid "" "Raises an :ref:`auditing event ` ``shutil.chown`` with arguments " "``path``, ``user``, ``group``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``shutil.chown`` com " +"Levanta um :ref:`evento de auditoria ` ``shutil.chown`` com os " "argumentos ``path``, ``user``, ``group``." -#: ../../library/shutil.rst:414 +#: ../../library/shutil.rst:423 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." -#: ../../library/shutil.rst:421 +#: ../../library/shutil.rst:430 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``." @@ -737,7 +793,7 @@ msgstr "" "Retorna o caminho para um executável que seria executado se o *cmd* " "fornecido fosse chamado. Se nenhum *cmd* for chamado, retorna ``None``." -#: ../../library/shutil.rst:424 +#: ../../library/shutil.rst:433 msgid "" "*mode* is a permission mask passed to :func:`os.access`, by default " "determining if the file exists and executable." @@ -745,16 +801,13 @@ msgstr "" "*mode* é uma máscara de permissão passada para :func:`os.access`, por padrão " "determinando se o arquivo existe e é executável." -#: ../../library/shutil.rst:427 +#: ../../library/shutil.rst:436 msgid "" "When no *path* is specified, the results of :func:`os.environ` are used, " -"returning either the \"PATH\" value or a fallback of :attr:`os.defpath`." +"returning either the \"PATH\" value or a fallback of :data:`os.defpath`." msgstr "" -"Quando nenhum *path* é especificado, os resultados de :func:`os.environ` são " -"usados, retornando o valor de \"PATH\" ou uma alternativa de :attr:`os." -"defpath`." -#: ../../library/shutil.rst:430 +#: ../../library/shutil.rst:439 msgid "" "On Windows, the current directory is always prepended to the *path* whether " "or not you use the default or provide your own, which is the behavior the " @@ -772,7 +825,7 @@ msgstr "" "pesquisar ``PATHEXT`` para saber que deve procurar por ``python.exe`` dentro " "dos diretórios de *path*. Por exemplo, no Windows::" -#: ../../library/shutil.rst:443 +#: ../../library/shutil.rst:452 msgid "" "The :class:`bytes` type is now accepted. If *cmd* type is :class:`bytes`, " "the result type is also :class:`bytes`." @@ -780,7 +833,7 @@ msgstr "" "O tipo :class:`bytes` é agora aceitado. Se o tipo de *cmd* é :class:`bytes`, " "o tipo resultante também é :class:`bytes`." -#: ../../library/shutil.rst:449 +#: ../../library/shutil.rst:458 msgid "" "This exception collects exceptions that are raised during a multi-file " "operation. For :func:`copytree`, the exception argument is a list of 3-" @@ -790,66 +843,66 @@ msgstr "" "vários arquivos. Para :func:`copytree`, o argumento de exceção é uma lista " "de tuplas de 3 elementos (*srcname*, *dstname*, *exception*)." -#: ../../library/shutil.rst:456 +#: ../../library/shutil.rst:465 msgid "Platform-dependent efficient copy operations" msgstr "Operações de cópia eficientes dependentes da plataforma" -#: ../../library/shutil.rst:458 +#: ../../library/shutil.rst:467 msgid "" -"Starting from Python 3.8, all functions involving a file copy (:func:" -"`copyfile`, :func:`~shutil.copy`, :func:`copy2`, :func:`copytree`, and :func:" -"`move`) may use platform-specific \"fast-copy\" syscalls in order to copy " -"the file more efficiently (see :issue:`33671`). \"fast-copy\" means that the " -"copying operation occurs within the kernel, avoiding the use of userspace " -"buffers in Python as in \"``outfd.write(infd.read())``\"." -msgstr "" -"A partir do Python 3.8, todas as funções envolvendo uma cópia de arquivo (:" -"func:`copyfile`, :func:`~shutil.copy`, :func:`copy2`, :func:`copytree` e :" -"func:`move` ) podem usar chamadas do sistema de \"cópia rápida\" específicas " -"da plataforma para copiar o arquivo de forma mais eficiente (veja :issue:" -"`33671`). \"cópia rápida\" significa que a operação de cópia ocorre dentro " -"do kernel, evitando o uso de buffers de espaço de usuário em Python como em " -"\"``outfd.write(infd.read())``\"." - -#: ../../library/shutil.rst:466 +"Starting from Python 3.8, all functions involving a file copy " +"(:func:`copyfile`, :func:`~shutil.copy`, :func:`copy2`, :func:`copytree`, " +"and :func:`move`) may use platform-specific \"fast-copy\" syscalls in order " +"to copy the file more efficiently (see :issue:`33671`). \"fast-copy\" means " +"that the copying operation occurs within the kernel, avoiding the use of " +"userspace buffers in Python as in \"``outfd.write(infd.read())``\"." +msgstr "" +"A partir do Python 3.8, todas as funções envolvendo uma cópia de arquivo " +"(:func:`copyfile`, :func:`~shutil.copy`, :func:`copy2`, :func:`copytree` " +"e :func:`move` ) podem usar chamadas do sistema de \"cópia rápida\" " +"específicas da plataforma para copiar o arquivo de forma mais eficiente " +"(veja :issue:`33671`). \"cópia rápida\" significa que a operação de cópia " +"ocorre dentro do kernel, evitando o uso de buffers de espaço de usuário em " +"Python como em \"``outfd.write(infd.read())``\"." + +#: ../../library/shutil.rst:475 msgid "On macOS `fcopyfile`_ is used to copy the file content (not metadata)." msgstr "" "No macOS, `fcopyfile`_ é usado para copiar o conteúdo do arquivo (não " "metadados)." -#: ../../library/shutil.rst:468 +#: ../../library/shutil.rst:477 msgid "On Linux :func:`os.sendfile` is used." msgstr "No Linux, :func:`os.sendfile` é usado." -#: ../../library/shutil.rst:470 +#: ../../library/shutil.rst:479 msgid "" "On Windows :func:`shutil.copyfile` uses a bigger default buffer size (1 MiB " -"instead of 64 KiB) and a :func:`memoryview`-based variant of :func:`shutil." -"copyfileobj` is used." +"instead of 64 KiB) and a :func:`memoryview`-based variant " +"of :func:`shutil.copyfileobj` is used." msgstr "" "No Windows, :func:`shutil.copyfile` usa um tamanho de buffer padrão maior (1 " "MiB ao invés de 64 KiB) e uma variante de :func:`shutil.copyfileobj` baseada " "em :func:`memoryview` é usada." -#: ../../library/shutil.rst:474 +#: ../../library/shutil.rst:483 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." +"file then shutil will silently fallback on using less " +"efficient :func:`copyfileobj` function internally." msgstr "" "Se a operação de cópia rápida falhar e nenhum dado foi escrito no arquivo de " "destino, o shutil irá silenciosamente voltar a usar a função menos " "eficiente :func:`copyfileobj` internamente." -#: ../../library/shutil.rst:483 +#: ../../library/shutil.rst:492 msgid "copytree example" msgstr "Exemplo de copytree" -#: ../../library/shutil.rst:485 +#: ../../library/shutil.rst:494 msgid "An example that uses the :func:`ignore_patterns` helper::" -msgstr "" +msgstr "Um exemplo que usa o auxiliar :func:`ignore_patterns`::" -#: ../../library/shutil.rst:491 +#: ../../library/shutil.rst:500 msgid "" "This will copy everything except ``.pyc`` files and files or directories " "whose name starts with ``tmp``." @@ -857,17 +910,17 @@ msgstr "" "Isso irá copiar tudo, exceto os arquivos ``.pyc`` e arquivos ou diretórios " "cujo nome começa com ``tmp``." -#: ../../library/shutil.rst:494 +#: ../../library/shutil.rst:503 msgid "Another example that uses the *ignore* argument to add a logging call::" msgstr "" "Outro exemplo que usa o argumento *ignore* para adicionar uma chamada de " "registro::" -#: ../../library/shutil.rst:509 +#: ../../library/shutil.rst:518 msgid "rmtree example" msgstr "exemplo rmtree" -#: ../../library/shutil.rst:511 +#: ../../library/shutil.rst:520 msgid "" "This example shows how to remove a directory tree on Windows where some of " "the files have their read-only bit set. It uses the onerror callback to " @@ -879,43 +932,48 @@ msgstr "" "função de retorno onerror para limpar o bit somente leitura e tentar remover " "novamente. Qualquer falha subsequente se propagará. ::" -#: ../../library/shutil.rst:529 +#: ../../library/shutil.rst:538 msgid "Archiving operations" msgstr "Operações de arquivamento" -#: ../../library/shutil.rst:533 +#: ../../library/shutil.rst:542 msgid "Added support for the *xztar* format." msgstr "Adicionado suporte ao formato *xztar*." -#: ../../library/shutil.rst:537 +#: ../../library/shutil.rst:546 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 "" "Utilitários de alto nível para criar e ler arquivos compactados e arquivados " -"também são fornecidos. Eles contam com os módulos :mod:`zipfile` e :mod:" -"`tarfile`." +"também são fornecidos. Eles contam com os módulos :mod:`zipfile` " +"e :mod:`tarfile`." -#: ../../library/shutil.rst:542 +#: ../../library/shutil.rst:551 msgid "Create an archive file (such as zip or tar) and return its name." msgstr "Cria um arquivo compactado (como zip ou tar) e retorna seu nome." -#: ../../library/shutil.rst:544 +#: ../../library/shutil.rst:553 msgid "" "*base_name* is the name of the file to create, including the path, minus any " -"format-specific extension. *format* is the archive format: one of " -"\"zip\" (if the :mod:`zlib` module is available), \"tar\", \"gztar\" (if " -"the :mod:`zlib` module is available), \"bztar\" (if the :mod:`bz2` module is " -"available), or \"xztar\" (if the :mod:`lzma` module is available)." +"format-specific extension." msgstr "" "*base_name* é o nome do arquivo a ser criado, incluindo o caminho, menos " -"qualquer extensão específica de formato. *format* é o formato do arquivo: um " -"de \"zip\" (se o módulo :mod:`zlib` estiver disponível), \"tar\", " -"\"gztar\" (se o módulo :mod:`zlib` estiver disponível), \"bztar\" (se o " -"módulo :mod:`bz2` estiver disponível) ou \"xztar\" (se o módulo :mod:`lzma` " -"estiver disponível)." +"qualquer extensão específica do formato." + +#: ../../library/shutil.rst:556 +msgid "" +"*format* is the archive format: one of \"zip\" (if the :mod:`zlib` module is " +"available), \"tar\", \"gztar\" (if the :mod:`zlib` module is available), " +"\"bztar\" (if the :mod:`bz2` module is available), or \"xztar\" (if " +"the :mod:`lzma` module is available)." +msgstr "" +"*format* é o formato do arquivo: um de \"zip\" (se o módulo :mod:`zlib` " +"estiver disponível), \"tar\", \"gztar\" (se o módulo :mod:`zlib` estiver " +"disponível), \"bztar\" (se o módulo :mod:`bz2` estiver disponível) ou " +"\"xztar\" (se o módulo :mod:`lzma` estiver disponível)." -#: ../../library/shutil.rst:550 +#: ../../library/shutil.rst:561 msgid "" "*root_dir* is a directory that will be the root directory of the archive, " "all paths in the archive will be relative to it; for example, we typically " @@ -925,7 +983,7 @@ msgstr "" "caminhos no arquivo serão relativos a ele; por exemplo, normalmente chdir em " "*root_dir* antes de criar o arquivo." -#: ../../library/shutil.rst:554 +#: ../../library/shutil.rst:565 msgid "" "*base_dir* is the directory where we start archiving from; i.e. *base_dir* " "will be the common prefix of all files and directories in the archive. " @@ -934,15 +992,15 @@ msgid "" msgstr "" "*base_dir* é o diretório de onde iniciamos o arquivamento; ou seja, " "*base_dir* será o prefixo comum de todos os arquivos e diretórios no " -"arquivo. *base_dir* deve ser fornecido em relação a *root_dir*. Veja :ref:" -"`shutil-archiving-example-with-basedir` para como usar *base_dir* e " -"*root_dir* juntos." +"arquivo. *base_dir* deve ser fornecido em relação a *root_dir*. " +"Veja :ref:`shutil-archiving-example-with-basedir` para como usar *base_dir* " +"e *root_dir* juntos." -#: ../../library/shutil.rst:560 +#: ../../library/shutil.rst:571 msgid "*root_dir* and *base_dir* both default to the current directory." msgstr "*root_dir* e *base_dir* têm com padrão o diretório atual." -#: ../../library/shutil.rst:562 +#: ../../library/shutil.rst:573 msgid "" "If *dry_run* is true, no archive is created, but the operations that would " "be executed are logged to *logger*." @@ -950,7 +1008,7 @@ msgstr "" "Se *dry_run* for verdadeiro, nenhum arquivo é criado, mas as operações que " "seriam executadas são registradas no *logger*." -#: ../../library/shutil.rst:565 +#: ../../library/shutil.rst:576 msgid "" "*owner* and *group* are used when creating a tar archive. By default, uses " "the current owner and group." @@ -958,7 +1016,7 @@ msgstr "" "*owner* e *group* são usados ao criar um arquivo tar. Por padrão, usa o " "proprietário e grupo atuais." -#: ../../library/shutil.rst:568 +#: ../../library/shutil.rst:579 msgid "" "*logger* must be an object compatible with :pep:`282`, usually an instance " "of :class:`logging.Logger`." @@ -966,26 +1024,26 @@ msgstr "" "*logger* deve ser um objeto compatível com a :pep:`282`, geralmente uma " "instância de :class:`logging.Logger`." -#: ../../library/shutil.rst:571 +#: ../../library/shutil.rst:582 msgid "The *verbose* argument is unused and deprecated." msgstr "O argumento *verbose* não é usado e foi descontinuado." -#: ../../library/shutil.rst:573 +#: ../../library/shutil.rst:584 msgid "" "Raises an :ref:`auditing event ` ``shutil.make_archive`` with " "arguments ``base_name``, ``format``, ``root_dir``, ``base_dir``." msgstr "" "Levanta um :ref:`evento de auditoria ` ``shutil.make_archive`` com " -"argumentos ``base_name``, ``format``, ``root_dir``, ``base_dir``." +"os argumentos ``base_name``, ``format``, ``root_dir``, ``base_dir``." -#: ../../library/shutil.rst:577 +#: ../../library/shutil.rst:588 msgid "" -"This function is not thread-safe when custom archivers registered with :func:" -"`register_archive_format` are used. In this case it temporarily changes the " -"current working directory of the process to perform archiving." +"This function is not thread-safe when custom archivers registered " +"with :func:`register_archive_format` are used. In this case it temporarily " +"changes the current working directory of the process to perform archiving." msgstr "" -#: ../../library/shutil.rst:582 +#: ../../library/shutil.rst:593 msgid "" "The modern pax (POSIX.1-2001) format is now used instead of the legacy GNU " "format for archives created with ``format=\"tar\"``." @@ -993,13 +1051,15 @@ msgstr "" "O formato pax moderno (POSIX.1-2001) agora é usado em vez do formato GNU " "legado para arquivos criados com ``format=\"tar\"``." -#: ../../library/shutil.rst:586 +#: ../../library/shutil.rst:597 msgid "" "This function is now made thread-safe during creation of standard ``.zip`` " "and tar archives." msgstr "" +"Esta função agora é segura para thread durante a criação de arquivos " +"``.zip`` e tar padrão." -#: ../../library/shutil.rst:592 +#: ../../library/shutil.rst:603 msgid "" "Return a list of supported formats for archiving. Each element of the " "returned sequence is a tuple ``(name, description)``." @@ -1007,40 +1067,40 @@ msgstr "" "Retorna uma lista de formatos suportados para arquivamento. Cada elemento da " "sequência retornada é uma tupla ``(nome, descrição)``." -#: ../../library/shutil.rst:595 ../../library/shutil.rst:698 +#: ../../library/shutil.rst:606 ../../library/shutil.rst:709 msgid "By default :mod:`shutil` provides these formats:" msgstr "Por padrão, :mod:`shutil` fornece estes formatos:" -#: ../../library/shutil.rst:597 +#: ../../library/shutil.rst:608 msgid "*zip*: ZIP file (if the :mod:`zlib` module is available)." msgstr "*zip*: arquivo ZIP (se o módulo :mod:`zlib` estiver disponível)." -#: ../../library/shutil.rst:598 +#: ../../library/shutil.rst:609 msgid "" "*tar*: Uncompressed tar file. Uses POSIX.1-2001 pax format for new archives." msgstr "" "*tar*: Arquivo tar não compactado. Usa o formato POSIX.1-2001 pax para novos " "arquivos." -#: ../../library/shutil.rst:599 ../../library/shutil.rst:703 +#: ../../library/shutil.rst:610 ../../library/shutil.rst:714 msgid "*gztar*: gzip'ed tar-file (if the :mod:`zlib` module is available)." msgstr "" "*gztar*: arquivo tar compactado com gzip (se o módulo :mod:`zlib` estiver " "disponível)." -#: ../../library/shutil.rst:600 ../../library/shutil.rst:704 +#: ../../library/shutil.rst:611 ../../library/shutil.rst:715 msgid "*bztar*: bzip2'ed tar-file (if the :mod:`bz2` module is available)." msgstr "" "*bztar*: arquivo tar compactado com bzip2 (se o módulo :mod:`bz2` estiver " "disponível)." -#: ../../library/shutil.rst:601 ../../library/shutil.rst:705 +#: ../../library/shutil.rst:612 ../../library/shutil.rst:716 msgid "*xztar*: xz'ed tar-file (if the :mod:`lzma` module is available)." msgstr "" "*xztar*: Arquivo tar compactado com xz (se o módulo :mod:`lzma` estiver " "disponível)." -#: ../../library/shutil.rst:603 +#: ../../library/shutil.rst:614 msgid "" "You can register new formats or provide your own archiver for any existing " "formats, by using :func:`register_archive_format`." @@ -1048,11 +1108,11 @@ msgstr "" "Você pode registrar novos formatos ou fornecer seu próprio arquivador para " "quaisquer formatos existentes, usando :func:`register_archive_format`." -#: ../../library/shutil.rst:609 +#: ../../library/shutil.rst:620 msgid "Register an archiver for the format *name*." msgstr "Registra um arquivador para o formato *name*." -#: ../../library/shutil.rst:611 +#: ../../library/shutil.rst:622 msgid "" "*function* is the callable that will be used to unpack archives. The " "callable will receive the *base_name* of the file to create, followed by the " @@ -1060,22 +1120,22 @@ msgid "" "Further arguments are passed as keyword arguments: *owner*, *group*, " "*dry_run* and *logger* (as passed in :func:`make_archive`)." msgstr "" -"*function* é o chamável que será usado para descompactar arquivos. O " +"*function* é o chamável que será usado para desempacotar arquivos. O " "chamável receberá o *base_name* do arquivo a ser criado, seguido pelo " "*base_dir* (cujo padrão é :data:`os.curdir`) para iniciar o arquivamento. " -"Outros argumentos são passados ​​como argumentos nomeados *owner*, *group*, " +"Outros argumentos são passados como argumentos nomeados *owner*, *group*, " "*dry_run* e *logger* (como passado em :func:`make_archive`)." -#: ../../library/shutil.rst:617 +#: ../../library/shutil.rst:628 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 "" "Se fornecido, *extra_args* é uma sequência de pares ``(nome, valor)`` que " -"serão usados ​​como argumentos nomeados extras quando o arquivador chamável " +"serão usados como argumentos nomeados extras quando o arquivador chamável " "for usado." -#: ../../library/shutil.rst:620 +#: ../../library/shutil.rst:631 msgid "" "*description* is used by :func:`get_archive_formats` which returns the list " "of archivers. Defaults to an empty string." @@ -1083,39 +1143,40 @@ msgstr "" "*description* é usado por :func:`get_archive_formats` que retorna a lista de " "arquivadores. O padrão é uma string vazia." -#: ../../library/shutil.rst:626 +#: ../../library/shutil.rst:637 msgid "Remove the archive format *name* from the list of supported formats." msgstr "Remove o formato de arquivo *name* da lista de formatos suportados." -#: ../../library/shutil.rst:631 +#: ../../library/shutil.rst:642 msgid "Unpack an archive. *filename* is the full path of the archive." -msgstr "Descompacta um arquivo. *filename* é o caminho completo do arquivo." +msgstr "Desempacota um arquivo. *filename* é o caminho completo do arquivo." -#: ../../library/shutil.rst:633 +#: ../../library/shutil.rst:644 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* é o nome do diretório de destino onde o arquivo é " -"descompactado. Se não for fornecido, o diretório de trabalho atual será " +"desempacotado. Se não for fornecido, o diretório de trabalho atual será " "usado." -#: ../../library/shutil.rst:636 +#: ../../library/shutil.rst:647 msgid "" "*format* is the archive format: one of \"zip\", \"tar\", \"gztar\", " -"\"bztar\", or \"xztar\". Or any other format registered with :func:" -"`register_unpack_format`. If not provided, :func:`unpack_archive` will use " -"the archive file name extension and see if an unpacker was registered for " -"that extension. In case none is found, a :exc:`ValueError` is raised." +"\"bztar\", or \"xztar\". Or any other format registered " +"with :func:`register_unpack_format`. If not " +"provided, :func:`unpack_archive` will use the archive file name extension " +"and see if an unpacker was registered for that extension. In case none is " +"found, a :exc:`ValueError` is raised." msgstr "" "*format* é o formato do arquivo: um de \"zip\", \"tar\", \"gztar\", " -"\"bztar\" ou \"xztar\". Ou qualquer outro formato registrado com :func:" -"`register_unpack_format`. Se não for fornecido, :func:`unpack_archive` irá " -"usar a extensão do nome do arquivo e ver se um descompactador foi registrado " -"para essa extensão. Caso nenhum seja encontrado, uma :exc:`ValueError` é " -"levantada." +"\"bztar\" ou \"xztar\". Ou qualquer outro formato registrado " +"com :func:`register_unpack_format`. Se não for " +"fornecido, :func:`unpack_archive` irá usar a extensão do nome do arquivo e " +"ver se um desempacotador foi registrado para essa extensão. Caso nenhum seja " +"encontrado, uma :exc:`ValueError` é levantada." -#: ../../library/shutil.rst:643 +#: ../../library/shutil.rst:654 msgid "" "The keyword-only *filter* argument, which was added in Python 3.11.4, is " "passed to the underlying unpacking function. For zip files, *filter* is not " @@ -1125,70 +1186,82 @@ msgid "" "default for tar files in Python 3.14." msgstr "" -#: ../../library/shutil.rst:652 +#: ../../library/shutil.rst:663 msgid "" "Raises an :ref:`auditing event ` ``shutil.unpack_archive`` with " "arguments ``filename``, ``extract_dir``, ``format``." msgstr "" "Levanta um :ref:`evento de auditoria ` ``shutil.unpack_archive`` " -"com argumentos ``filename``, ``extract_dir``, ``format``." +"com os argumentos ``filename``, ``extract_dir``, ``format``." -#: ../../library/shutil.rst:656 +#: ../../library/shutil.rst:667 msgid "" "Never extract archives from untrusted sources without prior inspection. It " "is possible that files are created outside of the path specified in the " "*extract_dir* argument, e.g. members that have absolute filenames starting " "with \"/\" or filenames with two dots \"..\"." msgstr "" +"Nunca extrai arquivos de fontes não confiáveis sem inspeção prévia. É " +"possível que arquivos sejam criados fora do caminho especificado no " +"argumento *extract_dir*, por exemplo, membros que têm nomes de arquivo " +"absolutos começando com \"/\" ou nomes de arquivo com dois pontos \"..\"." -#: ../../library/shutil.rst:661 +#: ../../library/shutil.rst:672 msgid "Accepts a :term:`path-like object` for *filename* and *extract_dir*." msgstr "" "Aceita um :term:`objeto caminho ou similar ` para " "*filename* e *extract_dir*." -#: ../../library/shutil.rst:664 +#: ../../library/shutil.rst:675 msgid "Added the *filter* argument." -msgstr "" +msgstr "Adicionado o argumento *filter*." -#: ../../library/shutil.rst:669 +#: ../../library/shutil.rst:680 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." +"*extensions* is a list of extensions corresponding to the format, like " +"``.zip`` for Zip files." msgstr "" -"Registra um formato de descompactação. *name* é o nome do formato e " -"*extensions* é uma lista de extensões correspondentes ao formato, como ``." -"zip`` para arquivos Zip." +"Registra um formato de desempacotamento. *name* é o nome do formato e " +"*extensions* é uma lista de extensões correspondentes ao formato, como " +"``.zip`` para arquivos Zip." -#: ../../library/shutil.rst:673 +#: ../../library/shutil.rst:684 msgid "" "*function* is the callable that will be used to unpack archives. The " "callable will receive:" msgstr "" +"*function* é o chamável que será usado para desempacotar arquivos. O " +"chamável receberá:" -#: ../../library/shutil.rst:676 +#: ../../library/shutil.rst:687 msgid "the path of the archive, as a positional argument;" -msgstr "" +msgstr "o caminho do arquivo, como argumento posicional;" -#: ../../library/shutil.rst:677 +#: ../../library/shutil.rst:688 msgid "" "the directory the archive must be extracted to, as a positional argument;" msgstr "" +"o diretório para o qual o arquivo deve ser extraído, como um argumento " +"posicional;" -#: ../../library/shutil.rst:678 +#: ../../library/shutil.rst:689 msgid "" -"possibly a *filter* keyword argument, if it was given to :func:" -"`unpack_archive`;" +"possibly a *filter* keyword argument, if it was given " +"to :func:`unpack_archive`;" msgstr "" +"possivelmente um argumento nomeado *filter*, se foi dado " +"a :func:`unpack_archive`;" -#: ../../library/shutil.rst:680 +#: ../../library/shutil.rst:691 msgid "" "additional keyword arguments, specified by *extra_args* as a sequence of " "``(name, value)`` tuples." msgstr "" +"argumentos nomeados adicionais, especificados por *extra_args* como uma " +"sequência de tuplas ``(nome, valor)``." -#: ../../library/shutil.rst:683 +#: ../../library/shutil.rst:694 msgid "" "*description* can be provided to describe the format, and will be returned " "by the :func:`get_unpack_formats` function." @@ -1196,13 +1269,13 @@ msgstr "" "*description* pode ser fornecido para descrever o formato e será devolvido " "pela função :func:`get_unpack_formats`." -#: ../../library/shutil.rst:689 +#: ../../library/shutil.rst:700 msgid "Unregister an unpack format. *name* is the name of the format." msgstr "" -"Cancela o registro de um formato de descompactação. *name* é o nome do " +"Cancela o registro de um formato de desempacotamento. *name* é o nome do " "formato." -#: ../../library/shutil.rst:694 +#: ../../library/shutil.rst:705 msgid "" "Return a list of all registered formats for unpacking. Each element of the " "returned sequence is a tuple ``(name, extensions, description)``." @@ -1211,19 +1284,19 @@ msgstr "" "Cada elemento da sequência retornada é uma tupla ``(name, extensions, " "description)``." -#: ../../library/shutil.rst:700 +#: ../../library/shutil.rst:711 msgid "" "*zip*: ZIP file (unpacking compressed files works only if the corresponding " "module is available)." msgstr "" -"*zip*: arquivo ZIP (descompactar arquivos compactados funciona apenas se o " +"*zip*: arquivo ZIP (desempacotar arquivos compactados funciona apenas se o " "módulo correspondente estiver disponível)." -#: ../../library/shutil.rst:702 +#: ../../library/shutil.rst:713 msgid "*tar*: uncompressed tar file." msgstr "*tar*: arquivo tar não comprimido." -#: ../../library/shutil.rst:707 +#: ../../library/shutil.rst:718 msgid "" "You can register new formats or provide your own unpacker for any existing " "formats, by using :func:`register_unpack_format`." @@ -1231,11 +1304,11 @@ msgstr "" "Você pode registrar novos formatos ou fornecer seu próprio desempacotador " "para quaisquer formatos existentes, usando :func:`register_unpack_format`." -#: ../../library/shutil.rst:714 +#: ../../library/shutil.rst:725 msgid "Archiving example" msgstr "Exemplo de arquivo" -#: ../../library/shutil.rst:716 +#: ../../library/shutil.rst:727 msgid "" "In this example, we create a gzip'ed tar-file archive containing all files " "found in the :file:`.ssh` directory of the user::" @@ -1243,15 +1316,15 @@ msgstr "" "Neste exemplo, criamos um arquivo tar compactado com gzip contendo todos os " "arquivos encontrados no diretório :file:`.ssh` do usuário::" -#: ../../library/shutil.rst:726 +#: ../../library/shutil.rst:737 msgid "The resulting archive contains:" msgstr "O arquivo resultante contém:" -#: ../../library/shutil.rst:744 +#: ../../library/shutil.rst:755 msgid "Archiving example with *base_dir*" msgstr "Exemplo de arquivamento com *base_dir*" -#: ../../library/shutil.rst:746 +#: ../../library/shutil.rst:757 msgid "" "In this example, similar to the `one above `_, we " "show how to use :func:`make_archive`, but this time with the usage of " @@ -1261,27 +1334,27 @@ msgstr "" "como usar :func:`make_archive`, mas desta vez com o uso de *base_dir*. Agora " "temos a seguinte estrutura de diretório:" -#: ../../library/shutil.rst:760 +#: ../../library/shutil.rst:771 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::" +"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 "" -"No arquivo final, :file:`please_add.txt` deve ser incluído, mas :file:" -"`do_not_add.txt` não deve. Portanto, usamos o seguinte::" +"No arquivo final, :file:`please_add.txt` deve ser incluído, " +"mas :file:`do_not_add.txt` não deve. Portanto, usamos o seguinte::" -#: ../../library/shutil.rst:774 +#: ../../library/shutil.rst:785 msgid "Listing the files in the resulting archive gives us:" msgstr "Listar os arquivos no arquivo resultante nos dá:" -#: ../../library/shutil.rst:784 +#: ../../library/shutil.rst:795 msgid "Querying the size of the output terminal" msgstr "Consultando o tamanho do terminal de saída" -#: ../../library/shutil.rst:788 +#: ../../library/shutil.rst:799 msgid "Get the size of the terminal window." msgstr "Obtém o tamanho da janela do terminal." -#: ../../library/shutil.rst:790 +#: ../../library/shutil.rst:801 msgid "" "For each of the two dimensions, the environment variable, ``COLUMNS`` and " "``LINES`` respectively, is checked. If the variable is defined and the value " @@ -1291,17 +1364,17 @@ msgstr "" "``LINES`` respectivamente, é verificada. Se a variável estiver definida e o " "valor for um número inteiro positivo, ela será usada." -#: ../../library/shutil.rst:794 +#: ../../library/shutil.rst:805 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`." +"terminal connected to :data:`sys.__stdout__` is queried by " +"invoking :func:`os.get_terminal_size`." msgstr "" "Quando ``COLUMNS`` ou ``LINES`` não está definida, que é o caso comum, o " -"terminal conectado a :data:`sys.__stdout__` é consultado invocando :func:`os." -"get_terminal_size`." +"terminal conectado a :data:`sys.__stdout__` é consultado " +"invocando :func:`os.get_terminal_size`." -#: ../../library/shutil.rst:798 +#: ../../library/shutil.rst:809 msgid "" "If the terminal size cannot be successfully queried, either because the " "system doesn't support querying, or because we are not connected to a " @@ -1315,12 +1388,12 @@ msgstr "" "``fallback`` é ``(80, 24)``, que é o tamanho padrão usado por muitos " "emuladores de terminal." -#: ../../library/shutil.rst:804 +#: ../../library/shutil.rst:815 msgid "The value returned is a named tuple of type :class:`os.terminal_size`." msgstr "" "O valor retornado é uma tupla nomeada do tipo :class:`os.terminal_size`." -#: ../../library/shutil.rst:806 +#: ../../library/shutil.rst:817 msgid "" "See also: The Single UNIX Specification, Version 2, `Other Environment " "Variables`_." @@ -1328,11 +1401,13 @@ msgstr "" "Veja também: The Single UNIX Specification, Versão 2, `Other Environment " "Variables`_." -#: ../../library/shutil.rst:811 +#: ../../library/shutil.rst:822 msgid "" "The ``fallback`` values are also used if :func:`os.get_terminal_size` " "returns zeroes." msgstr "" +"Os valores ``fallback`` também são usados se :func:`os.get_terminal_size` " +"retornar zeros." #: ../../library/shutil.rst:12 msgid "file" @@ -1340,16 +1415,16 @@ msgstr "arquivo" #: ../../library/shutil.rst:12 msgid "copying" -msgstr "" +msgstr "cópia" #: ../../library/shutil.rst:12 msgid "copying files" -msgstr "" +msgstr "cópia de arquivos" #: ../../library/shutil.rst:297 msgid "directory" -msgstr "" +msgstr "diretório" #: ../../library/shutil.rst:297 msgid "deleting" -msgstr "" +msgstr "exclusão" diff --git a/library/signal.po b/library/signal.po index fd74d72db..26a9b6be0 100644 --- a/library/signal.po +++ b/library/signal.po @@ -1,31 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Alexandre B A Villares, 2021 -# Renan Lopes , 2021 -# i17obot , 2021 -# mvpetri , 2022 -# Raphael Mendonça, 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,11 +30,12 @@ msgstr "" #: ../../library/signal.rst:7 msgid "**Source code:** :source:`Lib/signal.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/signal.py`" #: ../../library/signal.rst:11 msgid "This module provides mechanisms to use signal handlers in Python." msgstr "" +"Este módulo fornece mecanismos para usar manipuladores de sinal em Python." #: ../../library/signal.rst:15 msgid "General rules" @@ -54,14 +50,24 @@ msgid "" "translated into a :exc:`KeyboardInterrupt` exception if the parent process " "has not changed it." msgstr "" +"A função :func:`signal.signal` permite definir manipuladores personalizados " +"a serem executados quando um sinal é recebido. Um pequeno número de " +"manipuladores padrão são instalados: :const:`SIGPIPE` é ignorado (então " +"erros de gravação em encadeamentos e sockets podem ser relatados como " +"exceções comuns do Python) e :const:`SIGINT` é traduzido em uma " +"exceção :exc:`KeyboardInterrupt` se o processo pai não a tiver alterado." #: ../../library/signal.rst:24 msgid "" "A handler for a particular signal, once set, remains installed until it is " "explicitly reset (Python emulates the BSD style interface regardless of the " -"underlying implementation), with the exception of the handler for :const:" -"`SIGCHLD`, which follows the underlying implementation." +"underlying implementation), with the exception of the handler " +"for :const:`SIGCHLD`, which follows the underlying implementation." msgstr "" +"Um manipulador para um sinal específico, uma vez definido, permanece " +"instalado até ser explicitamente redefinido (o Python emula a interface de " +"estilo BSD independentemente da implementação subjacente), com exceção do " +"manipulador para :const:`SIGCHLD`, que segue a implementação subjacente." #: ../../library/signal.rst:29 msgid "" @@ -69,10 +75,13 @@ msgid "" "are emulated and therefore behave differently. Several functions and signals " "are not available on these platforms." msgstr "" +"Em plataformas WebAssembly ``wasm32-emscripten`` e ``wasm32-wasi``, os " +"sinais são emulados e, portanto, se comportam de forma diferente. Várias " +"funções e sinais não estão disponíveis nessas plataformas." #: ../../library/signal.rst:34 msgid "Execution of Python signal handlers" -msgstr "" +msgstr "Execução de manipuladores de sinais Python" #: ../../library/signal.rst:36 msgid "" @@ -82,16 +91,27 @@ msgid "" "handler at a later point(for example at the next :term:`bytecode` " "instruction). This has consequences:" msgstr "" +"Um manipulador de sinal Python não é executado dentro do manipulador de " +"sinal de baixo nível (C). Em vez disso, o manipulador de sinal de baixo " +"nível define um sinalizador que diz à :term:`máquina virtual` para executar " +"o manipulador de sinal Python correspondente em um ponto posterior (por " +"exemplo, na próxima instrução :term:`bytecode`). Isso tem consequências:" #: ../../library/signal.rst:42 msgid "" -"It makes little sense to catch synchronous errors like :const:`SIGFPE` or :" -"const:`SIGSEGV` that are caused by an invalid operation in C code. Python " -"will return from the signal handler to the C code, which is likely to raise " -"the same signal again, causing Python to apparently hang. From Python 3.3 " -"onwards, you can use the :mod:`faulthandler` module to report on synchronous " -"errors." +"It makes little sense to catch synchronous errors like :const:`SIGFPE` " +"or :const:`SIGSEGV` that are caused by an invalid operation in C code. " +"Python will return from the signal handler to the C code, which is likely to " +"raise the same signal again, causing Python to apparently hang. From Python " +"3.3 onwards, you can use the :mod:`faulthandler` module to report on " +"synchronous errors." msgstr "" +"Faz pouco sentido capturar erros síncronos como :const:`SIGFPE` " +"ou :const:`SIGSEGV` que são causados por uma operação inválida no código C. " +"O Python retornará do manipulador de sinais para o código C, o que " +"provavelmente levantará o mesmo sinal novamente, fazendo com que o Python " +"aparentemente trave. Do Python 3.3 em diante, você pode usar o " +"módulo :mod:`faulthandler` para relatar erros síncronos." #: ../../library/signal.rst:49 msgid "" @@ -100,6 +120,11 @@ msgid "" "arbitrary amount of time, regardless of any signals received. The Python " "signal handlers will be called when the calculation finishes." msgstr "" +"Um cálculo de longa duração implementado puramente em C (como " +"correspondência de expressão regular em um grande corpo de texto) pode ser " +"executado ininterruptamente por um período de tempo arbitrário, " +"independentemente de quaisquer sinais recebidos. Os manipuladores de sinal " +"do Python serão chamados quando o cálculo terminar." #: ../../library/signal.rst:54 msgid "" @@ -107,10 +132,13 @@ msgid "" "the main thread. See the :ref:`note below ` for a " "discussion." msgstr "" +"Se o manipulador levantar uma exceção, ela será levantada \"do nada\" na " +"thread principal. Veja a :ref:`nota abaixo ` para " +"uma discussão." #: ../../library/signal.rst:62 msgid "Signals and threads" -msgstr "" +msgstr "Sinais e threads" #: ../../library/signal.rst:64 msgid "" @@ -120,12 +148,19 @@ msgid "" "You can use the synchronization primitives from the :mod:`threading` module " "instead." msgstr "" +"Os manipuladores de sinais Python são sempre executados na thread principal " +"do Python do interpretador principal, mesmo se o sinal foi recebido em outra " +"thread. Isso significa que os sinais não podem ser usados como um meio de " +"comunicação entre threads. Você pode usar as primitivas de sincronização do " +"módulo :mod:`threading` em vez disso." #: ../../library/signal.rst:69 msgid "" "Besides, only the main thread of the main interpreter is allowed to set a " "new signal handler." msgstr "" +"Além disso, somente a thread principal do interpretador principal tem " +"permissão para definir um novo manipulador de sinal." #: ../../library/signal.rst:73 msgid "Module contents" @@ -133,59 +168,74 @@ msgstr "Conteúdo do módulo" #: ../../library/signal.rst:75 msgid "" -"signal (SIG*), handler (:const:`SIG_DFL`, :const:`SIG_IGN`) and sigmask (:" -"const:`SIG_BLOCK`, :const:`SIG_UNBLOCK`, :const:`SIG_SETMASK`) related " -"constants listed below were turned into :class:`enums ` (:" -"class:`Signals`, :class:`Handlers` and :class:`Sigmasks` respectively). :" -"func:`getsignal`, :func:`pthread_sigmask`, :func:`sigpending` and :func:" -"`sigwait` functions return human-readable :class:`enums ` as :" -"class:`Signals` objects." -msgstr "" +"signal (SIG*), handler (:const:`SIG_DFL`, :const:`SIG_IGN`) and sigmask " +"(:const:`SIG_BLOCK`, :const:`SIG_UNBLOCK`, :const:`SIG_SETMASK`) related " +"constants listed below were turned into :class:`enums ` " +"(:class:`Signals`, :class:`Handlers` and :class:`Sigmasks` " +"respectively). :func:`getsignal`, :func:`pthread_sigmask`, :func:`sigpending` " +"and :func:`sigwait` functions return human-readable :class:`enums " +"` as :class:`Signals` objects." +msgstr "" +"As constantes relacionadas a sinal (SIG*), manipulador " +"(:const:`SIG_DFL`, :const:`SIG_IGN`) e sigmask " +"(:const:`SIG_BLOCK`, :const:`SIG_UNBLOCK`, :const:`SIG_SETMASK`) listadas " +"abaixo foram transformadas em :class:`enums ` " +"(:class:`Signals`, :class:`Handlers` e :class:`Sigmasks` respectivamente). " +"As funções :func:`getsignal`, :func:`pthread_sigmask`, :func:`sigpending` " +"e :func:`sigwait` retornam :class:`enums ` legíveis por " +"humanos como objetos :class:`Signals`." #: ../../library/signal.rst:85 msgid "The signal module defines three enums:" -msgstr "" +msgstr "O módulo de sinal define três enumerações:" #: ../../library/signal.rst:89 msgid "" ":class:`enum.IntEnum` collection of SIG* constants and the CTRL_* constants." msgstr "" +"Coleção de :class:`enum.IntEnum` de constantes SIG* e constantes CTRL_*." #: ../../library/signal.rst:95 msgid "" -":class:`enum.IntEnum` collection the constants :const:`SIG_DFL` and :const:" -"`SIG_IGN`." +":class:`enum.IntEnum` collection the constants :const:`SIG_DFL` " +"and :const:`SIG_IGN`." msgstr "" +"Coleção de :class:`enum.IntEnum` das constantes :const:`SIG_DFL` " +"e :const:`SIG_IGN`." #: ../../library/signal.rst:101 msgid "" -":class:`enum.IntEnum` collection the constants :const:`SIG_BLOCK`, :const:" -"`SIG_UNBLOCK` and :const:`SIG_SETMASK`." +":class:`enum.IntEnum` collection the " +"constants :const:`SIG_BLOCK`, :const:`SIG_UNBLOCK` and :const:`SIG_SETMASK`." msgstr "" +"Coleção de :class:`enum.IntEnum` das " +"constantes :const:`SIG_BLOCK`, :const:`SIG_UNBLOCK` e :const:`SIG_SETMASK`." #: ../../library/signal.rst:103 ../../library/signal.rst:136 #: ../../library/signal.rst:148 ../../library/signal.rst:154 -#: ../../library/signal.rst:164 ../../library/signal.rst:178 -#: ../../library/signal.rst:196 ../../library/signal.rst:204 -#: ../../library/signal.rst:230 ../../library/signal.rst:236 -#: ../../library/signal.rst:242 ../../library/signal.rst:349 -#: ../../library/signal.rst:388 ../../library/signal.rst:435 -#: ../../library/signal.rst:469 ../../library/signal.rst:499 -#: ../../library/signal.rst:506 ../../library/signal.rst:559 -#: ../../library/signal.rst:601 ../../library/signal.rst:616 -#: ../../library/signal.rst:642 ../../library/signal.rst:662 +#: ../../library/signal.rst:166 ../../library/signal.rst:180 +#: ../../library/signal.rst:198 ../../library/signal.rst:206 +#: ../../library/signal.rst:232 ../../library/signal.rst:238 +#: ../../library/signal.rst:244 ../../library/signal.rst:351 +#: ../../library/signal.rst:390 ../../library/signal.rst:437 +#: ../../library/signal.rst:471 ../../library/signal.rst:501 +#: ../../library/signal.rst:508 ../../library/signal.rst:561 +#: ../../library/signal.rst:603 ../../library/signal.rst:618 +#: ../../library/signal.rst:644 ../../library/signal.rst:664 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." -#: ../../library/signal.rst:105 ../../library/signal.rst:471 +#: ../../library/signal.rst:105 ../../library/signal.rst:473 msgid "" "See the man page :manpage:`sigprocmask(2)` and :manpage:`pthread_sigmask(3)` " "for further information." msgstr "" +"Veja a página man :manpage:`sigprocmask(2)` e :manpage:`pthread_sigmask(3)` " +"para mais informações." #: ../../library/signal.rst:111 msgid "The variables defined in the :mod:`signal` module are:" -msgstr "" +msgstr "As variáveis definidas no módulo :mod:`signal` são:" #: ../../library/signal.rst:116 msgid "" @@ -194,215 +244,269 @@ msgid "" "default action for :const:`SIGQUIT` is to dump core and exit, while the " "default action for :const:`SIGCHLD` is to simply ignore it." msgstr "" +"Esta é uma das duas opções de manipulação de sinal padrão; ela simplesmente " +"executará a função padrão para o sinal. Por exemplo, na maioria dos " +"sistemas, a ação padrão para :const:`SIGQUIT` é despejar o núcleo e sair, " +"enquanto a ação padrão para :const:`SIGCHLD` é simplesmente ignorá-lo." #: ../../library/signal.rst:124 msgid "" "This is another standard signal handler, which will simply ignore the given " "signal." msgstr "" +"Este é outro manipulador de sinal padrão, que simplesmente ignorará o sinal " +"fornecido." #: ../../library/signal.rst:130 msgid "Abort signal from :manpage:`abort(3)`." -msgstr "" +msgstr "Sinal de abortar de :manpage:`abort(3)`." #: ../../library/signal.rst:134 msgid "Timer signal from :manpage:`alarm(2)`." -msgstr "" +msgstr "Sinal do temporizador de :manpage:`alarm(2)`." #: ../../library/signal.rst:140 msgid "Interrupt from keyboard (CTRL + BREAK)." -msgstr "" +msgstr "Interrupção do teclado (CTRL + BREAK)." -#: ../../library/signal.rst:142 ../../library/signal.rst:260 -#: ../../library/signal.rst:270 +#: ../../library/signal.rst:142 ../../library/signal.rst:262 +#: ../../library/signal.rst:272 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." #: ../../library/signal.rst:146 msgid "Bus error (bad memory access)." -msgstr "" +msgstr "Erro de barramento (acesso incorreto à memória)." #: ../../library/signal.rst:152 msgid "Child process stopped or terminated." -msgstr "" +msgstr "Processo filho interrompido ou encerrado." #: ../../library/signal.rst:158 msgid "Alias to :data:`SIGCHLD`." +msgstr "Apelido para :data:`SIGCHLD`." + +#: ../../library/signal.rst:160 +msgid ":ref:`Availability `: not macOS." msgstr "" -#: ../../library/signal.rst:162 +#: ../../library/signal.rst:164 msgid "Continue the process if it is currently stopped" -msgstr "" +msgstr "Continua o processo se ele estiver parado no momento" -#: ../../library/signal.rst:168 +#: ../../library/signal.rst:170 msgid "Floating-point exception. For example, division by zero." -msgstr "" +msgstr "Exceção de ponto flutuante. Por exemplo, divisão por zero." -#: ../../library/signal.rst:171 +#: ../../library/signal.rst:173 msgid "" ":exc:`ZeroDivisionError` is raised when the second argument of a division or " "modulo operation is zero." msgstr "" +":exc:`ZeroDivisionError` é levatanda quando o segundo argumento de uma " +"operação de divisão ou módulo é zero." -#: ../../library/signal.rst:176 +#: ../../library/signal.rst:178 msgid "" "Hangup detected on controlling terminal or death of controlling process." msgstr "" +"Travamento detectado no terminal de controle ou morte do processo de " +"controle." -#: ../../library/signal.rst:182 +#: ../../library/signal.rst:184 msgid "Illegal instruction." msgstr "Instrução ilegal." -#: ../../library/signal.rst:186 +#: ../../library/signal.rst:188 msgid "Interrupt from keyboard (CTRL + C)." -msgstr "" +msgstr "Interrupção do teclado (CTRL + C)." -#: ../../library/signal.rst:188 +#: ../../library/signal.rst:190 msgid "Default action is to raise :exc:`KeyboardInterrupt`." -msgstr "" +msgstr "A ação padrão é levantar :exc:`KeyboardInterrupt`." -#: ../../library/signal.rst:192 +#: ../../library/signal.rst:194 msgid "Kill signal." -msgstr "" +msgstr "Sinal para encerrar forçadamente." -#: ../../library/signal.rst:194 +#: ../../library/signal.rst:196 msgid "It cannot be caught, blocked, or ignored." -msgstr "" +msgstr "Ele não pode ser capturado, bloqueado ou ignorado." -#: ../../library/signal.rst:200 +#: ../../library/signal.rst:202 msgid "Broken pipe: write to pipe with no readers." -msgstr "" +msgstr "Encadeamento quebrado: escreve no encadeamento sem leitores." -#: ../../library/signal.rst:202 +#: ../../library/signal.rst:204 msgid "Default action is to ignore the signal." -msgstr "" +msgstr "A ação padrão é ignorar o sinal." -#: ../../library/signal.rst:208 +#: ../../library/signal.rst:210 msgid "Segmentation fault: invalid memory reference." -msgstr "" +msgstr "Falha de segmentação: referência de memória inválida." -#: ../../library/signal.rst:212 +#: ../../library/signal.rst:214 msgid "" "Stack fault on coprocessor. The Linux kernel does not raise this signal: it " "can only be raised in user space." msgstr "" +"Falha de pilha no coprocessador. O kernel Linux não levanta esse sinal: ele " +"só pode ser emitido no espaço do usuário." -#: ../../library/signal.rst:215 +#: ../../library/signal.rst:217 msgid ":ref:`Availability `: Linux." msgstr ":ref:`Disponibilidade `: Linux." -#: ../../library/signal.rst:217 +#: ../../library/signal.rst:219 msgid "" -"On architectures where the signal is available. See the man page :manpage:" -"`signal(7)` for further information." +"On architectures where the signal is available. See the man " +"page :manpage:`signal(7)` for further information." msgstr "" +"Em arquiteturas onde o sinal está disponível. Veja a página " +"man :manpage:`signal(7)` para mais informações." -#: ../../library/signal.rst:224 +#: ../../library/signal.rst:226 msgid "Termination signal." -msgstr "" +msgstr "Sinal de encerramento." -#: ../../library/signal.rst:228 +#: ../../library/signal.rst:230 msgid "User-defined signal 1." -msgstr "" +msgstr "Sinal definido pelo usuário 1." -#: ../../library/signal.rst:234 +#: ../../library/signal.rst:236 msgid "User-defined signal 2." -msgstr "" +msgstr "Sinal definido pelo usuário 2." -#: ../../library/signal.rst:240 +#: ../../library/signal.rst:242 msgid "Window resize signal." -msgstr "" +msgstr "Sinal de redimensionamento do Windows." -#: ../../library/signal.rst:246 +#: ../../library/signal.rst:248 msgid "" "All the signal numbers are defined symbolically. For example, the hangup " "signal is defined as :const:`signal.SIGHUP`; the variable names are " "identical to the names used in C programs, as found in ````. The " "Unix man page for ':c:func:`signal`' lists the existing signals (on some " -"systems this is :manpage:`signal(2)`, on others the list is in :manpage:" -"`signal(7)`). Note that not all systems define the same set of signal names; " -"only those names defined by the system are defined by this module." -msgstr "" - -#: ../../library/signal.rst:257 +"systems this is :manpage:`signal(2)`, on others the list is " +"in :manpage:`signal(7)`). Note that not all systems define the same set of " +"signal names; only those names defined by the system are defined by this " +"module." +msgstr "" +"Todos os números de sinal são definidos simbolicamente. Por exemplo, o sinal " +"de desligamento é definido como :const:`signal.SIGHUP`; os nomes das " +"variáveis são idênticos aos usados em programas C, como encontrados em " +"````. A página man do Unix para ':c:func:`signal`' lista os sinais " +"existentes (em alguns sistemas, é :manpage:`signal(2)`, em outros, a lista " +"está em :manpage:`signal(7)`). Observe que nem todos os sistemas definem o " +"mesmo conjunto de nomes de sinais; apenas os nomes definidos pelo sistema " +"são definidos por este módulo." + +#: ../../library/signal.rst:259 msgid "" "The signal corresponding to the :kbd:`Ctrl+C` keystroke event. This signal " "can only be used with :func:`os.kill`." msgstr "" +"O sinal correspondente ao evento de pressionamento de tecla :kbd:`Ctrl+C`. " +"Este sinal só pode ser usado com :func:`os.kill`." -#: ../../library/signal.rst:267 +#: ../../library/signal.rst:269 msgid "" "The signal corresponding to the :kbd:`Ctrl+Break` keystroke event. This " "signal can only be used with :func:`os.kill`." msgstr "" +"O sinal correspondente ao evento de pressionamento de " +"tecla :kbd:`Ctrl+Break`. Este sinal só pode ser usado com :func:`os.kill`." -#: ../../library/signal.rst:277 +#: ../../library/signal.rst:279 msgid "" -"One more than the number of the highest signal number. Use :func:" -"`valid_signals` to get valid signal numbers." +"One more than the number of the highest signal number. " +"Use :func:`valid_signals` to get valid signal numbers." msgstr "" +"Um a mais que o número do sinal mais alto. Use :func:`valid_signals` para " +"obter números de sinais válidos." -#: ../../library/signal.rst:283 +#: ../../library/signal.rst:285 msgid "" "Decrements interval timer in real time, and delivers :const:`SIGALRM` upon " "expiration." msgstr "" +"Diminui o intervalo do temporizador em tempo real e entrega :const:`SIGALRM` " +"ao expirar." -#: ../../library/signal.rst:289 +#: ../../library/signal.rst:291 msgid "" "Decrements interval timer only when the process is executing, and delivers " "SIGVTALRM upon expiration." msgstr "" +"Diminui o intervalo do temporizador somente quando o processo está em " +"execução e entrega SIGVTALRM após a expiração." -#: ../../library/signal.rst:295 +#: ../../library/signal.rst:297 msgid "" "Decrements interval timer both when the process executes and when the system " "is executing on behalf of the process. Coupled with ITIMER_VIRTUAL, this " "timer is usually used to profile the time spent by the application in user " "and kernel space. SIGPROF is delivered upon expiration." msgstr "" +"Diminui o temporizador de intervalo tanto quando o processo é executado " +"quanto quando o sistema está executando em nome do processo. Juntamente com " +"o ITIMER_VIRTUAL, este temporizador é geralmente usado para criar um perfil " +"do tempo gasto pelo aplicativo nos espaços do usuário e do kernel. O SIGPROF " +"é fornecido após a expiração." -#: ../../library/signal.rst:303 +#: ../../library/signal.rst:305 msgid "" "A possible value for the *how* parameter to :func:`pthread_sigmask` " "indicating that signals are to be blocked." msgstr "" +"Um possível valor para o parâmetro *how* para :func:`pthread_sigmask` " +"indicando que os sinais devem ser bloqueados." -#: ../../library/signal.rst:310 +#: ../../library/signal.rst:312 msgid "" "A possible value for the *how* parameter to :func:`pthread_sigmask` " "indicating that signals are to be unblocked." msgstr "" +"Um possível valor para o parâmetro *how* para :func:`pthread_sigmask` " +"indicando que os sinais devem ser desbloqueados." -#: ../../library/signal.rst:317 +#: ../../library/signal.rst:319 msgid "" "A possible value for the *how* parameter to :func:`pthread_sigmask` " "indicating that the signal mask is to be replaced." msgstr "" +"Um possível valor para o parâmetro *how* para :func:`pthread_sigmask` " +"indicando que a máscara de sinal deve ser substituída." -#: ../../library/signal.rst:323 +#: ../../library/signal.rst:325 msgid "The :mod:`signal` module defines one exception:" -msgstr "" +msgstr "O módulo :mod:`signal` define uma exceção:" -#: ../../library/signal.rst:327 +#: ../../library/signal.rst:329 msgid "" -"Raised to signal an error from the underlying :func:`setitimer` or :func:" -"`getitimer` implementation. Expect this error if an invalid interval timer " -"or a negative time is passed to :func:`setitimer`. This error is a subtype " -"of :exc:`OSError`." +"Raised to signal an error from the underlying :func:`setitimer` " +"or :func:`getitimer` implementation. Expect this error if an invalid " +"interval timer or a negative time is passed to :func:`setitimer`. This error " +"is a subtype of :exc:`OSError`." msgstr "" +"Levantada para sinalizar um erro da implementação subjacente " +"de :func:`setitimer` ou :func:`getitimer`. Espere este erro se um " +"temporizador de intervalo inválido ou um tempo negativo for passado " +"para :func:`setitimer`. Este erro é um subtipo de :exc:`OSError`." -#: ../../library/signal.rst:332 +#: ../../library/signal.rst:334 msgid "" -"This error used to be a subtype of :exc:`IOError`, which is now an alias of :" -"exc:`OSError`." +"This error used to be a subtype of :exc:`IOError`, which is now an alias " +"of :exc:`OSError`." msgstr "" +"Este erro costumava ser um subtipo de :exc:`IOError`, que agora é um apelido " +"de :exc:`OSError`." -#: ../../library/signal.rst:337 +#: ../../library/signal.rst:339 msgid "The :mod:`signal` module defines the following functions:" -msgstr "" +msgstr "O módulo :mod:`signal` define as seguintes funções:" -#: ../../library/signal.rst:342 +#: ../../library/signal.rst:344 msgid "" "If *time* is non-zero, this function requests that a :const:`SIGALRM` signal " "be sent to the process in *time* seconds. Any previously scheduled alarm is " @@ -412,73 +516,102 @@ msgid "" "alarm is canceled. If the return value is zero, no alarm is currently " "scheduled." msgstr "" +"Se *time* for diferente de zero, esta função solicita que um " +"sinal :const:`SIGALRM` seja enviado ao processo em *time* segundos. Qualquer " +"alarme previamente agendado será cancelado (apenas um alarme pode ser " +"agendado por vez). O valor retornado será o número de segundos antes de " +"qualquer alarme previamente configurado ter sido emitido. Se *time* for " +"zero, nenhum alarme será agendado e qualquer alarme agendado será cancelado. " +"Se o valor retornado for zero, nenhum alarme será agendado no momento." -#: ../../library/signal.rst:351 +#: ../../library/signal.rst:353 msgid "See the man page :manpage:`alarm(2)` for further information." -msgstr "" +msgstr "Veja a página man :manpage:`alarm(2)` para mais informações." -#: ../../library/signal.rst:356 +#: ../../library/signal.rst:358 msgid "" "Return the current signal handler for the signal *signalnum*. The returned " -"value may be a callable Python object, or one of the special values :const:" -"`signal.SIG_IGN`, :const:`signal.SIG_DFL` or :const:`None`. Here, :const:" -"`signal.SIG_IGN` means that the signal was previously ignored, :const:" -"`signal.SIG_DFL` means that the default way of handling the signal was " -"previously in use, and ``None`` means that the previous signal handler was " -"not installed from Python." +"value may be a callable Python object, or one of the special " +"values :const:`signal.SIG_IGN`, :const:`signal.SIG_DFL` or :const:`None`. " +"Here, :const:`signal.SIG_IGN` means that the signal was previously " +"ignored, :const:`signal.SIG_DFL` means that the default way of handling the " +"signal was previously in use, and ``None`` means that the previous signal " +"handler was not installed from Python." msgstr "" +"Retorna o manipulador de sinal atual para o sinal *signalnum*. O valor " +"retornado pode ser um objeto Python invocável ou um dos valores " +"especiais :const:`signal.SIG_IGN`, :const:`signal.SIG_DFL` ou :const:`None`. " +"Aqui, :const:`signal.SIG_IGN` significa que o sinal foi ignorado " +"anteriormente, :const:`signal.SIG_DFL` significa que a maneira padrão de " +"manipular o sinal estava em uso anteriormente e ``None`` significa que o " +"manipulador de sinal anterior não foi instalado a partir do Python." -#: ../../library/signal.rst:367 +#: ../../library/signal.rst:369 msgid "" -"Returns the description of signal *signalnum*, such as \"Interrupt\" for :" -"const:`SIGINT`. Returns :const:`None` if *signalnum* has no description. " -"Raises :exc:`ValueError` if *signalnum* is invalid." +"Returns the description of signal *signalnum*, such as \"Interrupt\" " +"for :const:`SIGINT`. Returns :const:`None` if *signalnum* has no " +"description. Raises :exc:`ValueError` if *signalnum* is invalid." msgstr "" +"Retorna a descrição do sinal *signalnum*, como \"Interrupt\" " +"para :const:`SIGINT`. Retorna :const:`None` se *signalnum* não tiver " +"descrição. Levanta :exc:`ValueError` se *signalnum* for inválido." -#: ../../library/signal.rst:376 +#: ../../library/signal.rst:378 msgid "" "Return the set of valid signal numbers on this platform. This can be less " "than ``range(1, NSIG)`` if some signals are reserved by the system for " "internal use." msgstr "" +"Retorna o conjunto de números de sinais válidos nesta plataforma. Pode ser " +"menor que ``range(1, NSIG)`` se alguns sinais forem reservados pelo sistema " +"para uso interno." -#: ../../library/signal.rst:385 +#: ../../library/signal.rst:387 msgid "" "Cause the process to sleep until a signal is received; the appropriate " "handler will then be called. Returns nothing." msgstr "" +"Faz o processo hibernar até que um sinal seja recebido; o manipulador " +"apropriado será então chamado. Não retorna nada." -#: ../../library/signal.rst:390 +#: ../../library/signal.rst:392 msgid "See the man page :manpage:`signal(2)` for further information." -msgstr "" +msgstr "Veja a página man :manpage:`signal(2)` para mais informações." -#: ../../library/signal.rst:392 +#: ../../library/signal.rst:394 msgid "" -"See also :func:`sigwait`, :func:`sigwaitinfo`, :func:`sigtimedwait` and :" -"func:`sigpending`." +"See also :func:`sigwait`, :func:`sigwaitinfo`, :func:`sigtimedwait` " +"and :func:`sigpending`." msgstr "" +"veja também :func:`sigwait`, :func:`sigwaitinfo`, :func:`sigtimedwait` " +"e :func:`sigpending`." -#: ../../library/signal.rst:398 +#: ../../library/signal.rst:400 msgid "Sends a signal to the calling process. Returns nothing." -msgstr "" +msgstr "Envia um sinal para o processo de chamada. Não retorna nada." -#: ../../library/signal.rst:405 +#: ../../library/signal.rst:407 msgid "" "Send signal *sig* to the process referred to by file descriptor *pidfd*. " "Python does not currently support the *siginfo* parameter; it must be " "``None``. The *flags* argument is provided for future extensions; no flag " "values are currently defined." msgstr "" +"Envia o sinal *sig* para o processo referenciado pelo descritor de arquivo " +"*pidfd*. Atualmente, o Python não suporta o parâmetro *siginfo*; ele deve " +"ser ``None``. O argumento *flags* é fornecido para futuras extensões; nenhum " +"valor de sinalizador está definido no momento." -#: ../../library/signal.rst:410 +#: ../../library/signal.rst:412 msgid "See the :manpage:`pidfd_send_signal(2)` man page for more information." msgstr "" +"Veja a página man :manpage:`pidfd_send_signal(2)` para mais informações." -#: ../../library/signal.rst:412 +#: ../../library/signal.rst:414 msgid ":ref:`Availability `: Linux >= 5.1" msgstr ":ref:`Disponibilidade `: Linux >= 5.1" -#: ../../library/signal.rst:418 +#: ../../library/signal.rst:420 msgid "" "Send the signal *signalnum* to the thread *thread_id*, another thread in the " "same process as the caller. The target thread can be executing any code " @@ -488,150 +621,210 @@ msgid "" "point of sending a signal to a particular Python thread would be to force a " "running system call to fail with :exc:`InterruptedError`." msgstr "" +"Envia o sinal *signalnum* para a thread *thread_id*, outra thread no mesmo " +"processo que a chamadora. A thread alvo pode estar executando qualquer " +"código (Python ou não). No entanto, se a thread alvo estiver executando o " +"interpretador Python, os manipuladores de sinal Python " +"serão :ref:`executados pela thread principal do interpretador principal " +"`. Portanto, o único objetivo de enviar um sinal para " +"uma thread Python específica seria forçar uma chamada de sistema em execução " +"a falhar com :exc:`InterruptedError`." -#: ../../library/signal.rst:426 +#: ../../library/signal.rst:428 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 "" -#: ../../library/signal.rst:430 +#: ../../library/signal.rst:432 msgid "" "If *signalnum* is 0, then no signal is sent, but error checking is still " "performed; this can be used to check if the target thread is still running." msgstr "" +"Se *signalnum* for 0, nenhum sinal será enviado, mas a verificação de erros " +"ainda será realizada; isso pode ser usado para verificar se a thread de " +"destino ainda está em execução." -#: ../../library/signal.rst:433 +#: ../../library/signal.rst:435 msgid "" "Raises an :ref:`auditing event ` ``signal.pthread_kill`` with " "arguments ``thread_id``, ``signalnum``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``signal.pthread_kill`` com " +"os argumentos ``thread_id``, ``signalnum``." -#: ../../library/signal.rst:437 +#: ../../library/signal.rst:439 msgid "See the man page :manpage:`pthread_kill(3)` for further information." -msgstr "" +msgstr "Veja a página man :manpage:`pthread_kill(3)` para mais informações." -#: ../../library/signal.rst:439 +#: ../../library/signal.rst:441 msgid "See also :func:`os.kill`." -msgstr "" +msgstr "Veja também :func:`os.kill`." -#: ../../library/signal.rst:446 +#: ../../library/signal.rst:448 msgid "" "Fetch and/or change the signal mask of the calling thread. The signal mask " "is the set of signals whose delivery is currently blocked for the caller. " "Return the old signal mask as a set of signals." msgstr "" +"Busca e/ou altera a máscara de sinal da thread chamadora. A máscara de sinal " +"é o conjunto de sinais cuja entrega está atualmente bloqueada para o " +"chamador. Retorna a máscara de sinal antiga como um conjunto de sinais." -#: ../../library/signal.rst:450 +#: ../../library/signal.rst:452 msgid "" "The behavior of the call is dependent on the value of *how*, as follows." -msgstr "" +msgstr "O comportamento da chamada depende do valor de *how*, como segue." -#: ../../library/signal.rst:452 +#: ../../library/signal.rst:454 msgid "" ":data:`SIG_BLOCK`: The set of blocked signals is the union of the current " "set and the *mask* argument." msgstr "" +":data:`SIG_BLOCK`: O conjunto de sinais bloqueados é a união do conjunto " +"atual e do argumento *mask*." -#: ../../library/signal.rst:454 +#: ../../library/signal.rst:456 msgid "" ":data:`SIG_UNBLOCK`: The signals in *mask* are removed from the current set " "of blocked signals. It is permissible to attempt to unblock a signal which " "is not blocked." msgstr "" +":data:`SIG_UNBLOCK`: Os sinais em *mask* são removidos do conjunto atual de " +"sinais bloqueados. É permitido tentar desbloquear um sinal que não esteja " +"bloqueado." -#: ../../library/signal.rst:457 +#: ../../library/signal.rst:459 msgid "" ":data:`SIG_SETMASK`: The set of blocked signals is set to the *mask* " "argument." msgstr "" +":data:`SIG_SETMASK`: O conjunto de sinais bloqueados é definido como o " +"argumento *mask*." -#: ../../library/signal.rst:460 +#: ../../library/signal.rst:462 msgid "" -"*mask* is a set of signal numbers (e.g. {:const:`signal.SIGINT`, :const:" -"`signal.SIGTERM`}). Use :func:`~signal.valid_signals` for a full mask " -"including all signals." +"*mask* is a set of signal numbers (e.g. " +"{:const:`signal.SIGINT`, :const:`signal.SIGTERM`}). " +"Use :func:`~signal.valid_signals` for a full mask including all signals." msgstr "" +"*mask* é um conjunto de números de sinais (ex.: " +"{:const:`signal.SIGINT`, :const:`signal.SIGTERM`}). " +"Use :func:`~signal.valid_signals` para uma máscara completa, incluindo todos " +"os sinais." -#: ../../library/signal.rst:464 +#: ../../library/signal.rst:466 msgid "" "For example, ``signal.pthread_sigmask(signal.SIG_BLOCK, [])`` reads the " "signal mask of the calling thread." msgstr "" +"Por exemplo, ``signal.pthread_sigmask(signal.SIG_BLOCK, [])`` lê a máscara " +"de sinal da thread de chamada." -#: ../../library/signal.rst:467 +#: ../../library/signal.rst:469 msgid ":data:`SIGKILL` and :data:`SIGSTOP` cannot be blocked." -msgstr "" +msgstr ":data:`SIGKILL` e :data:`SIGSTOP` não podem ser bloqueados." -#: ../../library/signal.rst:474 +#: ../../library/signal.rst:476 msgid "See also :func:`pause`, :func:`sigpending` and :func:`sigwait`." msgstr "Veja também :func:`pause`, :func:`sigpending` e :func:`sigwait`." -#: ../../library/signal.rst:481 +#: ../../library/signal.rst:483 msgid "" -"Sets given interval timer (one of :const:`signal.ITIMER_REAL`, :const:" -"`signal.ITIMER_VIRTUAL` or :const:`signal.ITIMER_PROF`) specified by *which* " -"to fire after *seconds* (float is accepted, different from :func:`alarm`) " -"and after that every *interval* seconds (if *interval* is non-zero). The " -"interval timer specified by *which* can be cleared by setting *seconds* to " -"zero." +"Sets given interval timer (one " +"of :const:`signal.ITIMER_REAL`, :const:`signal.ITIMER_VIRTUAL` " +"or :const:`signal.ITIMER_PROF`) specified by *which* to fire after *seconds* " +"(float is accepted, different from :func:`alarm`) and after that every " +"*interval* seconds (if *interval* is non-zero). The interval timer specified " +"by *which* can be cleared by setting *seconds* to zero." msgstr "" +"Define o temporizador de intervalo fornecido (um dos " +"seguintes: :const:`signal.ITIMER_REAL`, :const:`signal.ITIMER_VIRTUAL` " +"ou :const:`signal.ITIMER_PROF`) especificado por *which* para disparar após " +"*seconds* (float é aceito, diferente de :func:`alarm`) e, depois disso, a " +"cada *interval* segundos (se *interval* for diferente de zero). O " +"temporizador de intervalo especificado por *which* pode ser zerado definindo " +"*seconds* como zero." -#: ../../library/signal.rst:488 +#: ../../library/signal.rst:490 msgid "" "When an interval timer fires, a signal is sent to the process. The signal " "sent is dependent on the timer being used; :const:`signal.ITIMER_REAL` will " -"deliver :const:`SIGALRM`, :const:`signal.ITIMER_VIRTUAL` sends :const:" -"`SIGVTALRM`, and :const:`signal.ITIMER_PROF` will deliver :const:`SIGPROF`." +"deliver :const:`SIGALRM`, :const:`signal.ITIMER_VIRTUAL` " +"sends :const:`SIGVTALRM`, and :const:`signal.ITIMER_PROF` will " +"deliver :const:`SIGPROF`." msgstr "" +"Quando um temporizador de intervalo dispara, um sinal é enviado ao processo. " +"O sinal enviado depende do temporizador " +"utilizado; :const:`signal.ITIMER_REAL` " +"enviará :const:`SIGALRM`, :const:`signal.ITIMER_VIRTUAL` " +"enviará :const:`SIGVTALRM` e :const:`signal.ITIMER_PROF` " +"enviará :const:`SIGPROF`." -#: ../../library/signal.rst:494 +#: ../../library/signal.rst:496 msgid "The old values are returned as a tuple: (delay, interval)." -msgstr "" +msgstr "Os valores antigos são retornados como uma tupla: (atraso, intervalo)." -#: ../../library/signal.rst:496 +#: ../../library/signal.rst:498 msgid "" -"Attempting to pass an invalid interval timer will cause an :exc:" -"`ItimerError`." +"Attempting to pass an invalid interval timer will cause " +"an :exc:`ItimerError`." msgstr "" +"Tentar passar um intervalo de tempo inválido causará uma :exc:`ItimerError`." -#: ../../library/signal.rst:504 +#: ../../library/signal.rst:506 msgid "Returns current value of a given interval timer specified by *which*." msgstr "" +"Retorna o valor atual de um intervalo de tempo especificado por *which*." -#: ../../library/signal.rst:511 +#: ../../library/signal.rst:513 msgid "" "Set the wakeup file descriptor to *fd*. When a signal is received, the " "signal number is written as a single byte into the fd. This can be used by " "a library to wakeup a poll or select call, allowing the signal to be fully " "processed." msgstr "" +"Define o descritor de arquivo de ativação como *fd*. Quando um sinal é " +"recebido, o número do sinal é escrito como um único byte no fd. Isso pode " +"ser usado por uma biblioteca para ativar uma chamada de poll ou seleção, " +"permitindo que o sinal seja totalmente processado." -#: ../../library/signal.rst:516 +#: ../../library/signal.rst:518 msgid "" "The old wakeup fd is returned (or -1 if file descriptor wakeup was not " "enabled). If *fd* is -1, file descriptor wakeup is disabled. If not -1, " "*fd* must be non-blocking. It is up to the library to remove any bytes from " "*fd* before calling poll or select again." msgstr "" +"O antigo fd de ativação é retornado (ou -1 se a ativação do descritor de " +"arquivo não estava habilitada). Se *fd* for -1, a ativação do descritor de " +"arquivo está desabilitada. Se não for -1, *fd* deve ser não bloqueante. Cabe " +"à biblioteca remover quaisquer bytes de *fd* antes de chamar poll ou select " +"novamente." -#: ../../library/signal.rst:521 ../../library/signal.rst:576 +#: ../../library/signal.rst:523 ../../library/signal.rst:578 msgid "" "When threads are enabled, this function can only be called from :ref:`the " "main thread of the main interpreter `; attempting to " "call it from other threads will cause a :exc:`ValueError` exception to be " "raised." msgstr "" +"Quando threads estão habilitadas, esta função só pode ser chamada " +"da :ref:`thread principal do interpretador principal `; " +"tentar chamá-la de outras threads levantará uma exceção :exc:`ValueError`." -#: ../../library/signal.rst:526 +#: ../../library/signal.rst:528 msgid "" "There are two common ways to use this function. In both approaches, you use " "the fd to wake up when a signal arrives, but then they differ in how they " "determine *which* signal or signals have arrived." msgstr "" +"Há duas maneiras comuns de usar esta função. Em ambas as abordagens, você " +"usa o fd para despertar quando um sinal chega, mas elas diferem na forma " +"como determinam *which* sinal ou sinais chegaram." -#: ../../library/signal.rst:531 +#: ../../library/signal.rst:533 msgid "" "In the first approach, we read the data out of the fd's buffer, and the byte " "values give you the signal numbers. This is simple, but in rare cases it can " @@ -641,8 +834,15 @@ msgid "" "you should set ``warn_on_full_buffer=True``, which will at least cause a " "warning to be printed to stderr when signals are lost." msgstr "" +"Na primeira abordagem, lemos os dados do buffer do fd, e os valores dos " +"bytes fornecem os números dos sinais. Isso é simples, mas em casos raros " +"pode apresentar um problema: geralmente, o fd terá um espaço de buffer " +"limitado e, se muitos sinais chegarem muito rápido, o buffer pode ficar " +"cheio e alguns sinais podem ser perdidos. Se você usar essa abordagem, " +"defina ``warn_on_full_buffer=True``, o que pelo menos fará com que um aviso " +"seja impresso no stderr quando os sinais forem perdidos." -#: ../../library/signal.rst:540 +#: ../../library/signal.rst:542 msgid "" "In the second approach, we use the wakeup fd *only* for wakeups, and ignore " "the actual byte values. In this case, all we care about is whether the fd's " @@ -651,155 +851,215 @@ msgid "" "``warn_on_full_buffer=False``, so that your users are not confused by " "spurious warning messages." msgstr "" +"Na segunda abordagem, usamos o fd de ativação *apenas* para ativações e " +"ignoramos os valores de bytes reais. Nesse caso, tudo o que importa é se o " +"buffer do fd está vazio ou não; um buffer cheio não indica nenhum problema. " +"Se você usar essa abordagem, defina ``warn_on_full_buffer=False`` para que " +"seus usuários não sejam confundidos por mensagens de aviso falsas." -#: ../../library/signal.rst:547 +#: ../../library/signal.rst:549 msgid "On Windows, the function now also supports socket handles." msgstr "No Windows, a função agora também suporta manipuladores de socket." -#: ../../library/signal.rst:550 +#: ../../library/signal.rst:552 msgid "Added ``warn_on_full_buffer`` parameter." -msgstr "" +msgstr "Adiciona o parâmetro ``warn_on_full_buffer``." -#: ../../library/signal.rst:555 +#: ../../library/signal.rst:557 msgid "" "Change system call restart behaviour: if *flag* is :const:`False`, system " "calls will be restarted when interrupted by signal *signalnum*, otherwise " "system calls will be interrupted. Returns nothing." msgstr "" +"Altera o comportamento de reinicialização de chamadas de sistema: se *flag* " +"for :const:`False`, as chamadas de sistema serão reiniciadas quando " +"interrompidas pelo sinal *signalnum*; caso contrário, as chamadas de sistema " +"serão interrompidas. Não retorna nada." -#: ../../library/signal.rst:561 +#: ../../library/signal.rst:563 msgid "See the man page :manpage:`siginterrupt(3)` for further information." -msgstr "" +msgstr "Veja a página man :manpage:`siginterrupt(3)` para mais informações." -#: ../../library/signal.rst:563 +#: ../../library/signal.rst:565 msgid "" "Note that installing a signal handler with :func:`signal` will reset the " -"restart behaviour to interruptible by implicitly calling :c:func:" -"`siginterrupt` with a true *flag* value for the given signal." +"restart behaviour to interruptible by implicitly calling :c:func:`!" +"siginterrupt` with a true *flag* value for the given signal." msgstr "" +"Observe que a instalação de um manipulador de sinal com :func:`signal` " +"redefinirá o comportamento de reinicialização para interrompível ao chamar " +"implicitamente :c:func:`!siginterrupt` com *flag* contendo valor verdadeiro " +"para o sinal fornecido." -#: ../../library/signal.rst:570 +#: ../../library/signal.rst:572 msgid "" "Set the handler for signal *signalnum* to the function *handler*. *handler* " "can be a callable Python object taking two arguments (see below), or one of " "the special values :const:`signal.SIG_IGN` or :const:`signal.SIG_DFL`. The " -"previous signal handler will be returned (see the description of :func:" -"`getsignal` above). (See the Unix man page :manpage:`signal(2)` for further " -"information.)" +"previous signal handler will be returned (see the description " +"of :func:`getsignal` above). (See the Unix man page :manpage:`signal(2)` " +"for further information.)" msgstr "" +"Define o manipulador do sinal *signalnum* para a função *handler*. *handler* " +"pode ser um objeto Python invocável que recebe dois argumentos (veja " +"abaixo), ou um dos valores especiais :const:`signal.SIG_IGN` " +"ou :const:`signal.SIG_DFL`. O manipulador de sinal anterior será retornado " +"(veja a descrição de :func:`getsignal` acima). (Consulte a página man do " +"Unix :manpage:`signal(2)` para mais informações.)" -#: ../../library/signal.rst:581 +#: ../../library/signal.rst:583 msgid "" "The *handler* is called with two arguments: the signal number and the " "current stack frame (``None`` or a frame object; for a description of frame " "objects, see the :ref:`description in the type hierarchy ` or " "see the attribute descriptions in the :mod:`inspect` module)." msgstr "" +"O *handler* é chamado com dois argumentos: o número do sinal e o quadro de " +"pilha atual (``None`` ou um objeto quadro; para uma descrição dos objetos " +"quadro, consulte a :ref:`descrição na hierarquia de tipo ` ou " +"consulte as descrições de atributo no módulo :mod:`inspect`)." -#: ../../library/signal.rst:586 +#: ../../library/signal.rst:588 msgid "" -"On Windows, :func:`signal` can only be called with :const:`SIGABRT`, :const:" -"`SIGFPE`, :const:`SIGILL`, :const:`SIGINT`, :const:`SIGSEGV`, :const:" -"`SIGTERM`, or :const:`SIGBREAK`. A :exc:`ValueError` will be raised in any " -"other case. Note that not all systems define the same set of signal names; " +"On Windows, :func:`signal` can only be called " +"with :const:`SIGABRT`, :const:`SIGFPE`, :const:`SIGILL`, :const:`SIGINT`, :const:`SIGSEGV`, :const:`SIGTERM`, " +"or :const:`SIGBREAK`. A :exc:`ValueError` will be raised in any other case. " +"Note that not all systems define the same set of signal names; " "an :exc:`AttributeError` will be raised if a signal name is not defined as " "``SIG*`` module level constant." msgstr "" +"No Windows, :func:`signal` só pode ser chamado " +"com :const:`SIGABRT`, :const:`SIGFPE`, :const:`SIGILL`, :const:`SIGINT`, :const:`SIGSEGV`, :const:`SIGTERM` " +"ou :const:`SIGBREAK`. Uma exceção :exc:`ValueError` será levantada em " +"qualquer outro caso. Observe que nem todos os sistemas definem o mesmo " +"conjunto de nomes de sinais; uma exceção :exc:`AttributeError` será " +"levantada se um nome de sinal não for definido como constante de nível de " +"módulo ``SIG*``." -#: ../../library/signal.rst:597 +#: ../../library/signal.rst:599 msgid "" "Examine the set of signals that are pending for delivery to the calling " "thread (i.e., the signals which have been raised while blocked). Return the " "set of the pending signals." msgstr "" +"Examine o conjunto de sinais pendentes para entrega ao thread de chamada (ou " +"seja, os sinais que foram gerados enquanto bloqueados). Retorne o conjunto " +"de sinais pendentes." -#: ../../library/signal.rst:603 +#: ../../library/signal.rst:605 msgid "See the man page :manpage:`sigpending(2)` for further information." -msgstr "" +msgstr "Veja a página man :manpage:`sigpending(2)` para mais informações." -#: ../../library/signal.rst:605 +#: ../../library/signal.rst:607 msgid "See also :func:`pause`, :func:`pthread_sigmask` and :func:`sigwait`." msgstr "Veja também :func:`pause`, :func:`pthread_sigmask` e :func:`sigwait`." -#: ../../library/signal.rst:612 +#: ../../library/signal.rst:614 msgid "" "Suspend execution of the calling thread until the delivery of one of the " "signals specified in the signal set *sigset*. The function accepts the " "signal (removes it from the pending list of signals), and returns the signal " "number." msgstr "" +"Suspende a execução do thread de chamada até a entrega de um dos sinais " +"especificados no conjunto de sinais *sigset*. A função aceita o sinal " +"(remove-o da lista de sinais pendentes) e retorna o número do sinal." -#: ../../library/signal.rst:618 +#: ../../library/signal.rst:620 msgid "See the man page :manpage:`sigwait(3)` for further information." -msgstr "" +msgstr "Veja a página man :manpage:`sigwait(3)` para mais informações." -#: ../../library/signal.rst:620 +#: ../../library/signal.rst:622 msgid "" -"See also :func:`pause`, :func:`pthread_sigmask`, :func:`sigpending`, :func:" -"`sigwaitinfo` and :func:`sigtimedwait`." +"See " +"also :func:`pause`, :func:`pthread_sigmask`, :func:`sigpending`, :func:`sigwaitinfo` " +"and :func:`sigtimedwait`." msgstr "" +"Veja " +"também :func:`pause`, :func:`pthread_sigmask`, :func:`sigpending`, :func:`sigwaitinfo` " +"e :func:`sigtimedwait`." -#: ../../library/signal.rst:628 +#: ../../library/signal.rst:630 msgid "" "Suspend execution of the calling thread until the delivery of one of the " "signals specified in the signal set *sigset*. The function accepts the " "signal and removes it from the pending list of signals. If one of the " "signals in *sigset* is already pending for the calling thread, the function " "will return immediately with information about that signal. The signal " -"handler is not called for the delivered signal. The function raises an :exc:" -"`InterruptedError` if it is interrupted by a signal that is not in *sigset*." +"handler is not called for the delivered signal. The function raises " +"an :exc:`InterruptedError` if it is interrupted by a signal that is not in " +"*sigset*." msgstr "" +"Suspende a execução da thread chamadora até a entrega de um dos sinais " +"especificados no conjunto de sinais *sigset*. A função aceita o sinal e o " +"remove da lista de sinais pendentes. Se um dos sinais em *sigset* já estiver " +"pendente para a thread chamadora, a função retornará imediatamente com " +"informações sobre esse sinal. O manipulador de sinais não é chamado para o " +"sinal entregue. A função levanta :exc:`InterruptedError` se for interrompida " +"por um sinal que não esteja em *sigset*." -#: ../../library/signal.rst:637 +#: ../../library/signal.rst:639 msgid "" -"The return value is an object representing the data contained in the :c:type:" -"`siginfo_t` structure, namely: :attr:`si_signo`, :attr:`si_code`, :attr:" -"`si_errno`, :attr:`si_pid`, :attr:`si_uid`, :attr:`si_status`, :attr:" -"`si_band`." +"The return value is an object representing the data contained in " +"the :c:type:`siginfo_t` structure, " +"namely: :attr:`si_signo`, :attr:`si_code`, :attr:`si_errno`, :attr:`si_pid`, :attr:`si_uid`, :attr:`si_status`, :attr:`si_band`." msgstr "" +"O valor de retorno é um objeto que representa os dados contidos na estrutura " +"de :c:type:`siginfo_t`, a " +"saber: :attr:`si_signo`, :attr:`si_code`, :attr:`si_errno`, :attr:`si_pid`, :attr:`si_uid`, :attr:`si_status`, :attr:`si_band`." -#: ../../library/signal.rst:644 +#: ../../library/signal.rst:646 msgid "See the man page :manpage:`sigwaitinfo(2)` for further information." -msgstr "" +msgstr "Veja a página man :manpage:`sigwaitinfo(2)` para mais informações." -#: ../../library/signal.rst:646 +#: ../../library/signal.rst:648 msgid "See also :func:`pause`, :func:`sigwait` and :func:`sigtimedwait`." -msgstr "" +msgstr "Veja também :func:`pause`, :func:`sigwait` e :func:`sigtimedwait`." -#: ../../library/signal.rst:650 +#: ../../library/signal.rst:652 msgid "" "The function is now retried if interrupted by a signal not in *sigset* and " "the signal handler does not raise an exception (see :pep:`475` for the " "rationale)." msgstr "" +"A função agora é tentada novamente se interrompida por um sinal que não " +"esteja em *sigset* e o manipulador de sinal não levanta uma exceção " +"(veja :pep:`475` para a justificativa)." -#: ../../library/signal.rst:658 +#: ../../library/signal.rst:660 msgid "" "Like :func:`sigwaitinfo`, but takes an additional *timeout* argument " -"specifying a timeout. If *timeout* is specified as :const:`0`, a poll is " +"specifying a timeout. If *timeout* is specified as ``0``, a poll is " "performed. Returns :const:`None` if a timeout occurs." msgstr "" +"Semelhante a :func:`sigwaitinfo`, mas recebe um argumento *timeout* " +"adicional que especifica um tempo limite. Se *timeout* for especificado como " +"``0``, uma consulta será realizada. Retorna :const:`None` se ocorrer um " +"tempo limite." -#: ../../library/signal.rst:664 +#: ../../library/signal.rst:666 msgid "See the man page :manpage:`sigtimedwait(2)` for further information." -msgstr "" +msgstr "Veja a página man :manpage:`sigtimedwait(2)` para mais informações." -#: ../../library/signal.rst:666 +#: ../../library/signal.rst:668 msgid "See also :func:`pause`, :func:`sigwait` and :func:`sigwaitinfo`." -msgstr "" +msgstr "Veja também :func:`pause`, :func:`sigwait` e :func:`sigwaitinfo`." -#: ../../library/signal.rst:670 +#: ../../library/signal.rst:672 msgid "" "The function is now retried with the recomputed *timeout* if interrupted by " "a signal not in *sigset* and the signal handler does not raise an exception " "(see :pep:`475` for the rationale)." msgstr "" +"A função agora é tentada novamente com o *timeout* recalculado se " +"interrompida por um sinal que não esteja em *sigset* e o manipulador de " +"sinal não levanta uma exceção (veja :pep:`475` para a justificativa)." -#: ../../library/signal.rst:679 +#: ../../library/signal.rst:681 msgid "Examples" msgstr "Exemplos" -#: ../../library/signal.rst:681 +#: ../../library/signal.rst:683 msgid "" "Here is a minimal example program. It uses the :func:`alarm` function to " "limit the time spent waiting to open a file; this is useful if the file is " @@ -808,33 +1068,50 @@ msgid "" "alarm before opening the file; if the operation takes too long, the alarm " "signal will be sent, and the handler raises an exception. ::" msgstr "" +"Aqui está um programa de exemplo mínimo. Ele usa a função :func:`alarm` para " +"limitar o tempo gasto esperando para abrir um arquivo; isso é útil se o " +"arquivo for para um dispositivo serial que pode não estar ligado, o que " +"normalmente faria com que o :func:`os.open` travasse indefinidamente. A " +"solução é definir um alarme de 5 segundos antes de abrir o arquivo; se a " +"operação demorar muito, o sinal de alarme será enviado e o manipulador " +"levantará uma exceção. ::" -#: ../../library/signal.rst:705 +#: ../../library/signal.rst:707 msgid "Note on SIGPIPE" -msgstr "" +msgstr "Nota sobre SIGPIPE" -#: ../../library/signal.rst:707 +#: ../../library/signal.rst:709 msgid "" -"Piping output of your program to tools like :manpage:`head(1)` will cause a :" -"const:`SIGPIPE` signal to be sent to your process when the receiver of its " -"standard output closes early. This results in an exception like :code:" -"`BrokenPipeError: [Errno 32] Broken pipe`. To handle this case, wrap your " -"entry point to catch this exception as follows::" +"Piping output of your program to tools like :manpage:`head(1)` will cause " +"a :const:`SIGPIPE` signal to be sent to your process when the receiver of " +"its standard output closes early. This results in an exception " +"like :code:`BrokenPipeError: [Errno 32] Broken pipe`. To handle this case, " +"wrap your entry point to catch this exception as follows::" msgstr "" +"Canalizar a saída do seu programa para ferramentas como :manpage:`head(1)` " +"fará com que um sinal :const:`SIGPIPE` seja enviado ao seu processo quando o " +"receptor da saída padrão fechar antes do tempo. Isso resulta em uma exceção " +"como :code:`BrokenPipeError: [Errno 32] Broken pipe`. Para lidar com esse " +"caso, envolva seu ponto de entrada para capturar essa exceção da seguinte " +"maneira:" -#: ../../library/signal.rst:734 +#: ../../library/signal.rst:736 msgid "" "Do not set :const:`SIGPIPE`'s disposition to :const:`SIG_DFL` in order to " "avoid :exc:`BrokenPipeError`. Doing that would cause your program to exit " "unexpectedly whenever any socket connection is interrupted while your " "program is still writing to it." msgstr "" +"Não defina a disposição de :const:`SIGPIPE` como :const:`SIG_DFL` para " +"evitar :exc:`BrokenPipeError`. Isso faria com que seu programa encerrasse " +"inesperadamente sempre que qualquer conexão de soquete fosse interrompida " +"enquanto o programa ainda estivesse escrevendo nele." -#: ../../library/signal.rst:743 +#: ../../library/signal.rst:745 msgid "Note on Signal Handlers and Exceptions" -msgstr "" +msgstr "Nota sobre manipuladores de sinais e exceções" -#: ../../library/signal.rst:745 +#: ../../library/signal.rst:747 msgid "" "If a signal handler raises an exception, the exception will be propagated to " "the main thread and may be raised after any :term:`bytecode` instruction. " @@ -844,18 +1121,34 @@ msgid "" "exception resulting from a signal handler) may on rare occasions put the " "program in an unexpected state." msgstr "" +"Se um manipulador de sinais levantar uma exceção, a exceção será propagada " +"para a thread principal e poderá ser levantada após qualquer " +"instrução :term:`bytecode`. Mais notavelmente, uma :exc:`KeyboardInterrupt` " +"pode aparecer a qualquer momento durante a execução. A maioria dos códigos " +"Python, incluindo a biblioteca padrão, não pode ser robusta contra isso, e, " +"portanto, uma :exc:`KeyboardInterrupt` (ou qualquer outra exceção resultante " +"de um manipulador de sinais) pode, em raras ocasiões, colocar o programa em " +"um estado inesperado." -#: ../../library/signal.rst:752 +#: ../../library/signal.rst:754 msgid "To illustrate this issue, consider the following code::" -msgstr "" +msgstr "Para ilustrar esse problema, considere o seguinte código:" -#: ../../library/signal.rst:769 +#: ../../library/signal.rst:771 msgid "" -"For many programs, especially those that merely want to exit on :exc:" -"`KeyboardInterrupt`, this is not a problem, but applications that are " -"complex or require high reliability should avoid raising exceptions from " +"For many programs, especially those that merely want to exit " +"on :exc:`KeyboardInterrupt`, this is not a problem, but applications that " +"are complex or require high reliability should avoid raising exceptions from " "signal handlers. They should also avoid catching :exc:`KeyboardInterrupt` as " "a means of gracefully shutting down. Instead, they should install their " "own :const:`SIGINT` handler. Below is an example of an HTTP server that " "avoids :exc:`KeyboardInterrupt`::" msgstr "" +"Para muitos programas, especialmente aqueles que simplesmente desejam " +"encerrar em :exc:`KeyboardInterrupt`, isso não é um problema, mas aplicações " +"complexos ou que exigem alta confiabilidade devem evitar levantar exceções " +"de manipuladores de sinal. Eles também devem evitar " +"capturar :exc:`KeyboardInterrupt` como forma de encerrar o programa sem " +"problemas. Em vez disso, devem instalar seu próprio " +"manipulador :const:`SIGINT`. Abaixo está um exemplo de um servidor HTTP que " +"evita :exc:`KeyboardInterrupt`::" diff --git a/library/site.po b/library/site.po index ad8fdb6eb..b6f2be087 100644 --- a/library/site.po +++ b/library/site.po @@ -1,29 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Adorilson Bezerra , 2021 -# i17obot , 2021 -# Marco Rougeth , 2023 -# Vinicius Gubiani Ferreira , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2026 +# Rafael Fontenelle , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -51,19 +48,13 @@ msgid "" "path and add a few builtins, unless :option:`-S` was used. In that case, " "this module can be safely imported with no automatic modifications to the " "module search path or additions to the builtins. To explicitly trigger the " -"usual site-specific additions, call the :func:`site.main` function." +"usual site-specific additions, call the :func:`main` function." msgstr "" -"A importação deste módulo anexará os caminhos específicos do site ao caminho " -"de pesquisa do módulo e adicionará alguns recursos internos, a menos que :" -"option:`-S` tenha sido usada. Nesse caso, este módulo pode ser importado com " -"segurança, sem modificações automáticas no caminho de pesquisa do módulo ou " -"adições aos componentes internos. Para acionar explicitamente as adições " -"habituais específicas do site, chame a função :func:`site.main`." #: ../../library/site.rst:24 msgid "" -"Importing the module used to trigger paths manipulation even when using :" -"option:`-S`." +"Importing the module used to trigger paths manipulation even when " +"using :option:`-S`." msgstr "" "A importação do módulo usado para acionar a manipulação de caminhos, mesmo " "ao usar :option:`-S`." @@ -79,6 +70,14 @@ msgid "" "it to ``sys.path`` and also inspects the newly added path for configuration " "files." msgstr "" +"Ele começa construindo até quatro diretórios a partir de uma parte no início " +"e uma no final. Para a parte no início, ele usa ``sys.prefix`` e " +"``sys.exec_prefix``; inícios vazios são ignorados. Para a parte no final, " +"ele usa a string vazia e então :file:`lib/site-packages` (no Windows) " +"ou :file:`lib/python{X.Y}/site-packages` (no Unix e macOS). Para cada uma " +"das combinações distintas início-fim, ele vê se se refere a um diretório " +"existente e, se sim, adiciona-o a ``sys.path`` e também inspeciona o caminho " +"recém-adicionado para arquivos de configuração." #: ../../library/site.rst:40 msgid "Support for the \"site-python\" directory has been removed." @@ -89,11 +88,11 @@ msgid "" "If a file named \"pyvenv.cfg\" exists one directory above sys.executable, " "sys.prefix and sys.exec_prefix are set to that directory and it is also " "checked for site-packages (sys.base_prefix and sys.base_exec_prefix will " -"always be the \"real\" prefixes of the Python installation). If \"pyvenv." -"cfg\" (a bootstrap configuration file) contains the key \"include-system-" -"site-packages\" set to anything other than \"true\" (case-insensitive), the " -"system-level prefixes will not be searched for site-packages; otherwise they " -"will." +"always be the \"real\" prefixes of the Python installation). If " +"\"pyvenv.cfg\" (a bootstrap configuration file) contains the key \"include-" +"system-site-packages\" set to anything other than \"true\" (case-" +"insensitive), the system-level prefixes will not be searched for site-" +"packages; otherwise they will." msgstr "" "Se um arquivo chamado \"pyvenv.cfg\" existir em um diretório acima, então " "sys.executable, sys.prefix e sys.exec_prefix serão configurados para esse " @@ -107,23 +106,23 @@ msgstr "" #: ../../library/site.rst:56 msgid "" -"A path configuration file is a file whose name has the form :file:`{name}." -"pth` and exists in one of the four directories mentioned above; its contents " -"are additional items (one per line) to be added to ``sys.path``. Non-" -"existing items are never added to ``sys.path``, and no check is made that " -"the item refers to a directory rather than a file. No item is added to " -"``sys.path`` more than once. Blank lines and lines beginning with ``#`` are " -"skipped. Lines starting with ``import`` (followed by space or tab) are " -"executed." -msgstr "" -"Um arquivo de configuração de caminho é aquele cujo nome tem o formato :file:" -"`{name}.pth` e que existe em um dos quatro diretórios mencionados acima; seu " -"conteúdo são itens adicionais (um por linha) a serem adicionados ao ``sys." -"path``. Itens inexistentes nunca são adicionados ao ``sys.path`` e não é " -"verificado se o item se refere a um diretório, e não a um arquivo. Nenhum " -"item é adicionado ao ``sys.path`` mais de uma vez. Linhas em branco e linhas " -"iniciadas com ``#`` são ignoradas. Linhas iniciadas com ``import`` (seguidas " -"de espaço ou tabulação) são executadas." +"A path configuration file is a file whose name has the " +"form :file:`{name}.pth` and exists in one of the four directories mentioned " +"above; its contents are additional items (one per line) to be added to " +"``sys.path``. Non-existing items are never added to ``sys.path``, and no " +"check is made that the item refers to a directory rather than a file. No " +"item is added to ``sys.path`` more than once. Blank lines and lines " +"beginning with ``#`` are skipped. Lines starting with ``import`` (followed " +"by space or tab) are executed." +msgstr "" +"Um arquivo de configuração de caminho é aquele cujo nome tem o " +"formato :file:`{name}.pth` e que existe em um dos quatro diretórios " +"mencionados acima; seu conteúdo são itens adicionais (um por linha) a serem " +"adicionados ao ``sys.path``. Itens inexistentes nunca são adicionados ao " +"``sys.path`` e não é verificado se o item se refere a um diretório, e não a " +"um arquivo. Nenhum item é adicionado ao ``sys.path`` mais de uma vez. Linhas " +"em branco e linhas iniciadas com ``#`` são ignoradas. Linhas iniciadas com " +"``import`` (seguidas de espaço ou tabulação) são executadas." #: ../../library/site.rst:66 msgid "" @@ -139,7 +138,7 @@ msgstr "" "Uma linha executável em um arquivo :file:`.pth` é executada a cada " "inicialização do Python, independentemente de um módulo em particular ser " "realmente usado. Seu impacto deve, portanto, ser reduzido ao mínimo. O " -"objetivo principal das linhas executáveis ​​é tornar o(s) módulo(s) " +"objetivo principal das linhas executáveis é tornar o(s) módulo(s) " "correspondente(s) importável (carregar ganchos de importação de terceiros, " "ajustar :envvar:`PATH` etc). Qualquer outra inicialização deve ser feita na " "importação real de um módulo, se e quando isso acontecer. Limitar um " @@ -148,20 +147,21 @@ msgstr "" #: ../../library/site.rst:81 msgid "" -"For example, suppose ``sys.prefix`` and ``sys.exec_prefix`` are set to :file:" -"`/usr/local`. The Python X.Y library is then installed in :file:`/usr/local/" -"lib/python{X.Y}`. Suppose this has a subdirectory :file:`/usr/local/lib/" -"python{X.Y}/site-packages` with three subsubdirectories, :file:`foo`, :file:" -"`bar` and :file:`spam`, and two path configuration files, :file:`foo.pth` " -"and :file:`bar.pth`. Assume :file:`foo.pth` contains the following::" +"For example, suppose ``sys.prefix`` and ``sys.exec_prefix`` are set " +"to :file:`/usr/local`. The Python X.Y library is then installed in :file:`/" +"usr/local/lib/python{X.Y}`. Suppose this has a subdirectory :file:`/usr/" +"local/lib/python{X.Y}/site-packages` with three " +"subsubdirectories, :file:`foo`, :file:`bar` and :file:`spam`, and two path " +"configuration files, :file:`foo.pth` and :file:`bar.pth`. " +"Assume :file:`foo.pth` contains the following::" msgstr "" "Por exemplo, suponha que ``sys.prefix`` e ``sys.exec_prefix`` sejam " -"definidos com :file:`/usr/local`. A biblioteca Python X.Y é instalado em :" -"file:`/usr/local/lib/python{X.Y}`. Suponha que isso tenha um subdiretório :" -"file:`/usr/local/lib/python{X.Y}/site-packages` com três subsubdiretórios, :" -"file:`foo`, :file:`bar` e :file:`spam`, e dois caminhos arquivos de " -"configuração, :file:`foo.pth` e :file:`bar.pth`. Presuma que :file:`foo." -"pth` contém o seguinte::" +"definidos com :file:`/usr/local`. A biblioteca Python X.Y é instalado " +"em :file:`/usr/local/lib/python{X.Y}`. Suponha que isso tenha um " +"subdiretório :file:`/usr/local/lib/python{X.Y}/site-packages` com três " +"subsubdiretórios, :file:`foo`, :file:`bar` e :file:`spam`, e dois caminhos " +"arquivos de configuração, :file:`foo.pth` e :file:`bar.pth`. Presuma " +"que :file:`foo.pth` contém o seguinte::" #: ../../library/site.rst:95 msgid "and :file:`bar.pth` contains::" @@ -177,194 +177,278 @@ msgstr "" #: ../../library/site.rst:107 msgid "" -"Note that :file:`bletch` is omitted because it doesn't exist; the :file:" -"`bar` directory precedes the :file:`foo` directory because :file:`bar.pth` " -"comes alphabetically before :file:`foo.pth`; and :file:`spam` is omitted " -"because it is not mentioned in either path configuration file." -msgstr "" -"Observe que :file:`bletch` é omitido porque não existe; o diretório :file:" -"`bar` precede o diretório :file:`foo` porque :file:`bar.pth` vem em ordem " -"alfabética antes de :file:`foo.pth`; e :file:`spam` é omitido porque não é " -"mencionado em nenhum dos arquivos de configuração de caminho." - -#: ../../library/site.rst:114 +"Note that :file:`bletch` is omitted because it doesn't exist; " +"the :file:`bar` directory precedes the :file:`foo` directory " +"because :file:`bar.pth` comes alphabetically before :file:`foo.pth`; " +"and :file:`spam` is omitted because it is not mentioned in either path " +"configuration file." +msgstr "" +"Observe que :file:`bletch` é omitido porque não existe; o " +"diretório :file:`bar` precede o diretório :file:`foo` porque :file:`bar.pth` " +"vem em ordem alfabética antes de :file:`foo.pth`; e :file:`spam` é omitido " +"porque não é mencionado em nenhum dos arquivos de configuração de caminho." + +#: ../../library/site.rst:113 +msgid ":mod:`sitecustomize`" +msgstr ":mod:`sitecustomize`" + +#: ../../library/site.rst:117 msgid "" -"After these path manipulations, an attempt is made to import a module named :" -"mod:`sitecustomize`, which can perform arbitrary site-specific " +"After these path manipulations, an attempt is made to import a module " +"named :mod:`sitecustomize`, which can perform arbitrary site-specific " "customizations. It is typically created by a system administrator in the " "site-packages directory. If this import fails with an :exc:`ImportError` or " -"its subclass exception, and the exception's :attr:`name` attribute equals to " -"``'sitecustomize'``, it is silently ignored. If Python is started without " -"output streams available, as with :file:`pythonw.exe` on Windows (which is " -"used by default to start IDLE), attempted output from :mod:`sitecustomize` " -"is ignored. Any other exception causes a silent and perhaps mysterious " -"failure of the process." -msgstr "" - -#: ../../library/site.rst:126 +"its subclass exception, and the exception's :attr:`~ImportError.name` " +"attribute equals to ``'sitecustomize'``, it is silently ignored. If Python " +"is started without output streams available, as with :file:`pythonw.exe` on " +"Windows (which is used by default to start IDLE), attempted output " +"from :mod:`sitecustomize` is ignored. Any other exception causes a silent " +"and perhaps mysterious failure of the process." +msgstr "" +"Após essas manipulações de caminho, é feita uma tentativa de importar um " +"módulo chamado :mod:`sitecustomize`, que pode executar personalizações " +"arbitrárias específicas do site. Ele é normalmente criado por um " +"administrador de sistema no diretório site-packages. Se essa importação " +"falhar com uma :exc:`ImportError` ou sua exceção de subclasse, e o " +"atributo :attr:`~ImportError.name` da exceção for igual a " +"``'sitecustomize'``, ele será ignorado silenciosamente. Se o Python for " +"iniciado sem fluxos de saída disponíveis, como com :file:`pythonw.exe` no " +"Windows (que é usado por padrão para iniciar o IDLE), a tentativa de saída " +"de :mod:`sitecustomize` será ignorada. Qualquer outra exceção causa uma " +"falha silenciosa e talvez misteriosa do processo." + +#: ../../library/site.rst:129 +msgid ":mod:`usercustomize`" +msgstr ":mod:`usercustomize`" + +#: ../../library/site.rst:133 msgid "" -"After this, an attempt is made to import a module named :mod:" -"`usercustomize`, which can perform arbitrary user-specific customizations, " -"if :data:`ENABLE_USER_SITE` is true. This file is intended to be created in " -"the user site-packages directory (see below), which is part of ``sys.path`` " -"unless disabled by :option:`-s`. If this import fails with an :exc:" -"`ImportError` or its subclass exception, and the exception's :attr:`name` " -"attribute equals to ``'usercustomize'``, it is silently ignored." -msgstr "" - -#: ../../library/site.rst:134 +"After this, an attempt is made to import a module " +"named :mod:`usercustomize`, which can perform arbitrary user-specific " +"customizations, if :data:`~site.ENABLE_USER_SITE` is true. This file is " +"intended to be created in the user site-packages directory (see below), " +"which is part of ``sys.path`` unless disabled by :option:`-s`. If this " +"import fails with an :exc:`ImportError` or its subclass exception, and the " +"exception's :attr:`~ImportError.name` attribute equals to " +"``'usercustomize'``, it is silently ignored." +msgstr "" +"Depois disso, é feita uma tentativa de importar um módulo " +"chamado :mod:`usercustomize`, que pode executar personalizações arbitrárias " +"específicas do usuário, se :data:`~site.ENABLE_USER_SITE` for true. Este " +"arquivo deve ser criado no diretório site-packages de usuário (veja abaixo), " +"que faz parte de ``sys.path`` a menos que seja desabilitado por :option:`-" +"s`. Se esta importação falhar com um :exc:`ImportError` ou sua exceção de " +"subclasse, e o atributo :attr:`~ImportError.name` da exceção for igual a " +"``'usercustomize'``, ele será ignorado silenciosamente." + +#: ../../library/site.rst:141 msgid "" "Note that for some non-Unix systems, ``sys.prefix`` and ``sys.exec_prefix`` " -"are empty, and the path manipulations are skipped; however the import of :" -"mod:`sitecustomize` and :mod:`usercustomize` is still attempted." +"are empty, and the path manipulations are skipped; however the import " +"of :mod:`sitecustomize` and :mod:`usercustomize` is still attempted." msgstr "" +"Observe que, para alguns sistemas não Unix, ``sys.prefix`` e " +"``sys.exec_prefix`` estão vazios, e as manipulações de caminho são " +"ignoradas; no entanto, a importação de :mod:`sitecustomize` " +"e :mod:`usercustomize` ainda é tentada." -#: ../../library/site.rst:142 +#: ../../library/site.rst:150 msgid "Readline configuration" msgstr "Configuração Readline" -#: ../../library/site.rst:144 +#: ../../library/site.rst:152 msgid "" "On systems that support :mod:`readline`, this module will also import and " -"configure the :mod:`rlcompleter` module, if Python is started in :ref:" -"`interactive mode ` and without the :option:`-S` option. " -"The default behavior is enable tab-completion and to use :file:`~/." -"python_history` as the history save file. To disable it, delete (or " -"override) the :data:`sys.__interactivehook__` attribute in your :mod:" -"`sitecustomize` or :mod:`usercustomize` module or your :envvar:" -"`PYTHONSTARTUP` file." -msgstr "" - -#: ../../library/site.rst:153 +"configure the :mod:`rlcompleter` module, if Python is started " +"in :ref:`interactive mode ` and without the :option:`-S` " +"option. The default behavior is enable tab-completion and to " +"use :file:`~/.python_history` as the history save file. To disable it, " +"delete (or override) the :data:`sys.__interactivehook__` attribute in " +"your :mod:`sitecustomize` or :mod:`usercustomize` module or " +"your :envvar:`PYTHONSTARTUP` file." +msgstr "" +"Em sistemas que oferecem suporte a :mod:`readline`, este módulo também " +"importará e configurará o módulo :mod:`rlcompleter`, se o Python for " +"iniciado em :ref:`modo interativo ` e sem a opção :option:`-" +"S`. O comportamento padrão é habilitar tab-completion e " +"usar :file:`~/.python_history` como o arquivo de salvamento do histórico. " +"Para desabilitá-lo, exclua (ou substitua) o " +"atributo :data:`sys.__interactivehook__` no seu módulo :mod:`sitecustomize` " +"ou :mod:`usercustomize` ou no seu arquivo :envvar:`PYTHONSTARTUP`." + +#: ../../library/site.rst:161 msgid "Activation of rlcompleter and history was made automatic." -msgstr "" +msgstr "A ativação do rlcompleter e do histórico foi feita automaticamente." -#: ../../library/site.rst:158 +#: ../../library/site.rst:166 msgid "Module contents" msgstr "Conteúdo do módulo" -#: ../../library/site.rst:162 +#: ../../library/site.rst:170 msgid "A list of prefixes for site-packages directories." -msgstr "" +msgstr "Uma lista de prefixos para diretórios site-package." -#: ../../library/site.rst:167 +#: ../../library/site.rst:175 msgid "" "Flag showing the status of the user site-packages directory. ``True`` means " "that it is enabled and was added to ``sys.path``. ``False`` means that it " -"was disabled by user request (with :option:`-s` or :envvar:" -"`PYTHONNOUSERSITE`). ``None`` means it was disabled for security reasons " -"(mismatch between user or group id and effective id) or by an administrator." -msgstr "" - -#: ../../library/site.rst:177 +"was disabled by user request (with :option:`-s` " +"or :envvar:`PYTHONNOUSERSITE`). ``None`` means it was disabled for security " +"reasons (mismatch between user or group id and effective id) or by an " +"administrator." +msgstr "" +"Sinalizador mostrando o status do diretório site-packages do usuário. " +"``True`` significa que ele está habilitado e foi adicionado a ``sys.path``. " +"``False`` significa que ele foi desabilitado por solicitação do usuário " +"(com :option:`-s` ou :envvar:`PYTHONNOUSERSITE`). ``None`` significa que ele " +"foi desabilitado por motivos de segurança (incompatibilidade entre o ID do " +"usuário ou grupo e o ID efetivo) ou por um administrador." + +#: ../../library/site.rst:185 msgid "" -"Path to the user site-packages for the running Python. Can be ``None`` if :" -"func:`getusersitepackages` hasn't been called yet. Default value is :file:" -"`~/.local/lib/python{X.Y}/site-packages` for UNIX and non-framework macOS " -"builds, :file:`~/Library/Python/{X.Y}/lib/python/site-packages` for macOS " -"framework builds, and :file:`{%APPDATA%}\\\\Python\\\\Python{XY}\\\\site-" -"packages` on Windows. This directory is a site directory, which means that :" -"file:`.pth` files in it will be processed." -msgstr "" - -#: ../../library/site.rst:188 +"Path to the user site-packages for the running Python. Can be ``None`` " +"if :func:`getusersitepackages` hasn't been called yet. Default value " +"is :file:`~/.local/lib/python{X.Y}/site-packages` for UNIX and non-framework " +"macOS builds, :file:`~/Library/Python/{X.Y}/lib/python/site-packages` for " +"macOS framework builds, and :file:`{%APPDATA%}\\\\Python\\\\Python{XY}\\" +"\\site-packages` on Windows. This directory is a site directory, which " +"means that :file:`.pth` files in it will be processed." +msgstr "" +"Caminho para o usuário site-packages para o Python em execução. Pode ser " +"``None`` se :func:`getusersitepackages` ainda não tiver sido chamado. O " +"valor padrão é :file:`~/.local/lib/python{X.Y}/site-packages` para " +"construções UNIX e macOS não-framework, :file:`~/Library/Python/{X.Y}/lib/" +"python/site-packages` para construções macOS framework e :file:`{%APPDATA%}\\" +"\\Python\\\\Python{XY}\\\\site-packages` no Windows. Este diretório é um " +"diretório de site, o que significa que os arquivos :file:`.pth` nele serão " +"processados." + +#: ../../library/site.rst:196 msgid "" -"Path to the base directory for the user site-packages. Can be ``None`` if :" -"func:`getuserbase` hasn't been called yet. Default value is :file:`~/." -"local` for UNIX and macOS non-framework builds, :file:`~/Library/Python/{X.Y}" -"` for macOS framework builds, and :file:`{%APPDATA%}\\\\Python` for " -"Windows. This value is used by Distutils to compute the installation " -"directories for scripts, data files, Python modules, etc. for the :ref:`user " -"installation scheme `. See also :envvar:" -"`PYTHONUSERBASE`." +"Path to the base directory for the user site-packages. Can be ``None`` " +"if :func:`getuserbase` hasn't been called yet. Default value " +"is :file:`~/.local` for UNIX and macOS non-framework builds, :file:`~/" +"Library/Python/{X.Y}` for macOS framework builds, and :file:`{%APPDATA%}\\" +"\\Python` for Windows. This value is used by Distutils to compute the " +"installation directories for scripts, data files, Python modules, etc. for " +"the :ref:`user installation scheme `. See " +"also :envvar:`PYTHONUSERBASE`." msgstr "" -#: ../../library/site.rst:200 +#: ../../library/site.rst:208 msgid "" "Adds all the standard site-specific directories to the module search path. " "This function is called automatically when this module is imported, unless " "the Python interpreter was started with the :option:`-S` flag." msgstr "" +"Adiciona todos os diretórios padrão específicos do site ao caminho de " +"pesquisa de módulos. Esta função é chamada automaticamente quando este " +"módulo é importado, a menos que o interpretador Python tenha sido iniciado " +"com o sinalizador :option:`-S`." -#: ../../library/site.rst:204 +#: ../../library/site.rst:212 msgid "This function used to be called unconditionally." -msgstr "" +msgstr "Esta função costumava ser chamada incondicionalmente." -#: ../../library/site.rst:210 +#: ../../library/site.rst:218 msgid "" "Add a directory to sys.path and process its :file:`.pth` files. Typically " "used in :mod:`sitecustomize` or :mod:`usercustomize` (see above)." msgstr "" +"Adiciona um diretório a sys.path e processa seus arquivos :file:`.pth`. " +"Normalmente usado em :mod:`sitecustomize` ou :mod:`usercustomize` (veja " +"acima)." -#: ../../library/site.rst:216 +#: ../../library/site.rst:224 msgid "Return a list containing all global site-packages directories." msgstr "" +"Retorna uma lista contendo todos os diretórios globais de pacotes de sites." -#: ../../library/site.rst:223 +#: ../../library/site.rst:231 msgid "" "Return the path of the user base directory, :data:`USER_BASE`. If it is not " -"initialized yet, this function will also set it, respecting :envvar:" -"`PYTHONUSERBASE`." +"initialized yet, this function will also set it, " +"respecting :envvar:`PYTHONUSERBASE`." msgstr "" +"Retorna o caminho do diretório base do usuário, :data:`USER_BASE`. Se ele " +"ainda não foi inicializado, esta função também o definirá, " +"respeitando :envvar:`PYTHONUSERBASE`." -#: ../../library/site.rst:232 +#: ../../library/site.rst:240 msgid "" -"Return the path of the user-specific site-packages directory, :data:" -"`USER_SITE`. If it is not initialized yet, this function will also set it, " -"respecting :data:`USER_BASE`. To determine if the user-specific site-" -"packages was added to ``sys.path`` :data:`ENABLE_USER_SITE` should be used." -msgstr "" - -#: ../../library/site.rst:244 +"Return the path of the user-specific site-packages " +"directory, :data:`USER_SITE`. If it is not initialized yet, this function " +"will also set it, respecting :data:`USER_BASE`. To determine if the user-" +"specific site-packages was added to ``sys.path`` :data:`ENABLE_USER_SITE` " +"should be used." +msgstr "" +"Retorna o caminho do diretório site-packages específico do " +"usuário, :data:`USER_SITE`. Se ele ainda não foi inicializado, esta função " +"também o definirá, respeitando :data:`USER_BASE`. Para determinar se o site-" +"packages específico do usuário foi adicionado a " +"``sys.path``, :data:`ENABLE_USER_SITE` deve ser usado." + +#: ../../library/site.rst:252 msgid "Command Line Interface" msgstr "Interface de linha de comando" -#: ../../library/site.rst:248 +#: ../../library/site.rst:256 msgid "" "The :mod:`site` module also provides a way to get the user directories from " "the command line:" msgstr "" +"O módulo :mod:`site` também fornece uma maneira de obter os diretórios do " +"usuário a partir da linha de comando:" -#: ../../library/site.rst:256 +#: ../../library/site.rst:264 msgid "" -"If it is called without arguments, it will print the contents of :data:`sys." -"path` on the standard output, followed by the value of :data:`USER_BASE` and " -"whether the directory exists, then the same thing for :data:`USER_SITE`, and " -"finally the value of :data:`ENABLE_USER_SITE`." +"If it is called without arguments, it will print the contents " +"of :data:`sys.path` on the standard output, followed by the value " +"of :data:`USER_BASE` and whether the directory exists, then the same thing " +"for :data:`USER_SITE`, and finally the value of :data:`ENABLE_USER_SITE`." msgstr "" +"Se for chamado sem argumentos, ele vai exibir o conteúdo de :data:`sys.path` " +"na saída padrão, seguido pelo valor de :data:`USER_BASE` e se o diretório " +"existe, depois o mesmo para :data:`USER_SITE` e, finalmente, o valor " +"de :data:`ENABLE_USER_SITE`." -#: ../../library/site.rst:263 +#: ../../library/site.rst:271 msgid "Print the path to the user base directory." -msgstr "" +msgstr "Exibe o caminho para o diretório base do usuário." -#: ../../library/site.rst:267 +#: ../../library/site.rst:275 msgid "Print the path to the user site-packages directory." -msgstr "" +msgstr "Exibe o caminho para o diretório site-packages do usuário." -#: ../../library/site.rst:269 +#: ../../library/site.rst:277 msgid "" "If both options are given, user base and user site will be printed (always " "in this order), separated by :data:`os.pathsep`." msgstr "" +"Se ambas as opções forem fornecidas, a base do usuário e o site do usuário " +"serão exibidos (sempre nesta ordem), separados por :data:`os.pathsep`." -#: ../../library/site.rst:272 +#: ../../library/site.rst:280 msgid "" "If any option is given, the script will exit with one of these values: ``0`` " "if the user site-packages directory is enabled, ``1`` if it was disabled by " "the user, ``2`` if it is disabled for security reasons or by an " "administrator, and a value greater than 2 if there is an error." msgstr "" +"Se qualquer opção for fornecida, o script sairá com um destes valores: ``0`` " +"se o diretório site-packages do usuário estiver habilitado, ``1`` se ele foi " +"desabilitado pelo usuário, ``2`` se ele foi desabilitado por motivos de " +"segurança ou por um administrador, e um valor maior que 2 se houver um erro." -#: ../../library/site.rst:279 +#: ../../library/site.rst:287 msgid ":pep:`370` -- Per user site-packages directory" msgstr ":pep:`370` -- Diretório site-packages por usuário." -#: ../../library/site.rst:280 +#: ../../library/site.rst:288 msgid ":ref:`sys-path-init` -- The initialization of :data:`sys.path`." -msgstr "" +msgstr ":ref:`sys-path-init` -- A inicialização de :data:`sys.path`." -#: ../../library/site.rst:16 ../../library/site.rst:112 -#: ../../library/site.rst:124 +#: ../../library/site.rst:16 msgid "module" msgstr "módulo" @@ -378,11 +462,11 @@ msgstr "caminho" #: ../../library/site.rst:28 msgid "site-packages" -msgstr "" +msgstr "site-packages" #: ../../library/site.rst:28 msgid "directory" -msgstr "" +msgstr "diretório" #: ../../library/site.rst:52 msgid "# (hash)" @@ -398,7 +482,7 @@ msgstr "instrução" #: ../../library/site.rst:52 msgid "import" -msgstr "" +msgstr "import" #: ../../library/site.rst:77 msgid "package" @@ -406,16 +490,8 @@ msgstr "pacote" #: ../../library/site.rst:77 msgid "configuration" -msgstr "" +msgstr "configuração" #: ../../library/site.rst:77 msgid "file" msgstr "arquivo" - -#: ../../library/site.rst:112 -msgid "sitecustomize" -msgstr "" - -#: ../../library/site.rst:124 -msgid "usercustomize" -msgstr "" diff --git a/library/smtpd.po b/library/smtpd.po index f8c2836f6..baa02f5a9 100644 --- a/library/smtpd.po +++ b/library/smtpd.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -266,8 +262,8 @@ msgstr "" #: ../../library/smtpd.rst:175 msgid "" -"To use a custom SMTPChannel implementation you need to override the :attr:" -"`SMTPServer.channel_class` of your :class:`SMTPServer`." +"To use a custom SMTPChannel implementation you need to override " +"the :attr:`SMTPServer.channel_class` of your :class:`SMTPServer`." msgstr "" #: ../../library/smtpd.rst:178 @@ -288,8 +284,8 @@ msgstr "" #: ../../library/smtpd.rst:196 msgid "" -"Holds the address of the client, the second value returned by :func:`socket." -"accept `" +"Holds the address of the client, the second value returned " +"by :func:`socket.accept `" msgstr "" #: ../../library/smtpd.rst:201 @@ -330,8 +326,8 @@ msgstr "" #: ../../library/smtpd.rst:232 msgid "" -"Holds the fully qualified domain name of the server as returned by :func:" -"`socket.getfqdn`." +"Holds the fully qualified domain name of the server as returned " +"by :func:`socket.getfqdn`." msgstr "" #: ../../library/smtpd.rst:237 @@ -362,8 +358,8 @@ msgstr "" #: ../../library/smtpd.rst:248 msgid "" -"Accepts the greeting from the client and stores it in :attr:" -"`seen_greeting`. Sets server to base command mode." +"Accepts the greeting from the client and stores it " +"in :attr:`seen_greeting`. Sets server to base command mode." msgstr "" #: ../../library/smtpd.rst:250 @@ -372,8 +368,8 @@ msgstr "EHLO" #: ../../library/smtpd.rst:250 msgid "" -"Accepts the greeting from the client and stores it in :attr:" -"`seen_greeting`. Sets server to extended command mode." +"Accepts the greeting from the client and stores it " +"in :attr:`seen_greeting`. Sets server to extended command mode." msgstr "" #: ../../library/smtpd.rst:252 @@ -398,8 +394,8 @@ msgstr "" #: ../../library/smtpd.rst:254 msgid "" -"Accepts the \"MAIL FROM:\" syntax and stores the supplied address as :attr:" -"`mailfrom`. In extended command mode, accepts the :rfc:`1870` SIZE " +"Accepts the \"MAIL FROM:\" syntax and stores the supplied address " +"as :attr:`mailfrom`. In extended command mode, accepts the :rfc:`1870` SIZE " "attribute and responds appropriately based on the value of *data_size_limit*." msgstr "" @@ -409,8 +405,8 @@ msgstr "" #: ../../library/smtpd.rst:258 msgid "" -"Accepts the \"RCPT TO:\" syntax and stores the supplied addresses in the :" -"attr:`rcpttos` list." +"Accepts the \"RCPT TO:\" syntax and stores the supplied addresses in " +"the :attr:`rcpttos` list." msgstr "" #: ../../library/smtpd.rst:260 diff --git a/library/smtplib.po b/library/smtplib.po index be9f5086f..5fbbd0336 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -1,28 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,6 +39,11 @@ msgid "" "daemon. For details of SMTP and ESMTP operation, consult :rfc:`821` (Simple " "Mail Transfer Protocol) and :rfc:`1869` (SMTP Service Extensions)." msgstr "" +"O módulo :mod:`smtplib` define um objeto de sessão de cliente SMTP que pode " +"ser usado para enviar e-mails para qualquer máquina da internet com um " +"daemon de escuta SMTP ou ESMTP. Para obter detalhes sobre a operação SMTP e " +"ESMTP, consulte :rfc:`821` (Simple Mail Transfer Protocol) e :rfc:`1869` " +"(SMTP Service Extensions)." #: ../../includes/wasm-notavail.rst:3 msgid ":ref:`Availability `: not Emscripten, not WASI." @@ -63,33 +66,35 @@ msgid "" "*host* and *port* parameters are given, the SMTP :meth:`connect` method is " "called with those parameters during initialization. If specified, " "*local_hostname* is used as the FQDN of the local host in the HELO/EHLO " -"command. Otherwise, the local hostname is found using :func:`socket." -"getfqdn`. If the :meth:`connect` call returns anything other than a success " -"code, an :exc:`SMTPConnectError` is raised. The optional *timeout* parameter " -"specifies a timeout in seconds for blocking operations like the connection " -"attempt (if not specified, the global default timeout setting will be " -"used). If the timeout expires, :exc:`TimeoutError` is raised. The optional " -"*source_address* parameter allows binding to some specific source address in " -"a machine with multiple network interfaces, and/or to some specific source " -"TCP port. It takes a 2-tuple ``(host, port)``, for the socket to bind to as " -"its source address before connecting. If omitted (or if *host* or *port* are " -"``''`` and/or ``0`` respectively) the OS default behavior will be used." +"command. Otherwise, the local hostname is found " +"using :func:`socket.getfqdn`. If the :meth:`connect` call returns anything " +"other than a success code, an :exc:`SMTPConnectError` is raised. The " +"optional *timeout* parameter specifies a timeout in seconds for blocking " +"operations like the connection attempt (if not specified, the global default " +"timeout setting will be used). If the timeout expires, :exc:`TimeoutError` " +"is raised. The optional *source_address* parameter allows binding to some " +"specific source address in a machine with multiple network interfaces, and/" +"or to some specific source TCP port. It takes a 2-tuple ``(host, port)``, " +"for the socket to bind to as its source address before connecting. If " +"omitted (or if *host* or *port* are ``''`` and/or ``0`` respectively) the OS " +"default behavior will be used." msgstr "" #: ../../library/smtplib.rst:44 msgid "" -"For normal use, you should only require the initialization/connect, :meth:" -"`sendmail`, and :meth:`SMTP.quit` methods. An example is included below." +"For normal use, you should only require the initialization/" +"connect, :meth:`sendmail`, and :meth:`SMTP.quit` methods. An example is " +"included below." msgstr "" #: ../../library/smtplib.rst:48 msgid "" "The :class:`SMTP` class supports the :keyword:`with` statement. When used " -"like this, the SMTP ``QUIT`` command is issued automatically when the :" -"keyword:`!with` statement exits. E.g.::" +"like this, the SMTP ``QUIT`` command is issued automatically when " +"the :keyword:`!with` statement exits. E.g.::" msgstr "" -#: ../../library/smtplib.rst:68 +#: ../../library/smtplib.rst:70 msgid "" "Raises an :ref:`auditing event ` ``smtplib.send`` with arguments " "``self``, ``data``." @@ -97,9 +102,9 @@ msgstr "" #: ../../library/smtplib.rst:61 msgid "" -"All commands will raise an :ref:`auditing event ` ``smtplib.SMTP." -"send`` with arguments ``self`` and ``data``, where ``data`` is the bytes " -"about to be sent to the remote host." +"All commands will raise an :ref:`auditing event ` " +"``smtplib.SMTP.send`` with arguments ``self`` and ``data``, where ``data`` " +"is the bytes about to be sent to the remote host." msgstr "" #: ../../library/smtplib.rst:65 @@ -112,20 +117,20 @@ msgstr "" #: ../../library/smtplib.rst:71 msgid "The SMTPUTF8 extension (:rfc:`6531`) is now supported." -msgstr "" +msgstr "A extensão SMTPUTF8 ( :rfc:`6531` ) é suportada agora." #: ../../library/smtplib.rst:74 ../../library/smtplib.rst:115 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" +"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 "" #: ../../library/smtplib.rst:82 msgid "" -"An :class:`SMTP_SSL` instance behaves exactly the same as instances of :" -"class:`SMTP`. :class:`SMTP_SSL` should be used for situations where SSL is " -"required from the beginning of the connection and using :meth:`starttls` is " -"not appropriate. If *host* is not specified, the local host is used. If " +"An :class:`SMTP_SSL` instance behaves exactly the same as instances " +"of :class:`SMTP`. :class:`SMTP_SSL` should be used for situations where SSL " +"is required from the beginning of the connection and using :meth:`starttls` " +"is not appropriate. If *host* is not specified, the local host is used. If " "*port* is zero, the standard SMTP-over-SSL port (465) is used. The optional " "arguments *local_hostname*, *timeout* and *source_address* have the same " "meaning as they do in the :class:`SMTP` class. *context*, also optional, " @@ -147,25 +152,30 @@ msgstr "*context* foi adicionado." #: ../../library/smtplib.rst:103 msgid "" -"The class now supports hostname check with :attr:`ssl.SSLContext." -"check_hostname` and *Server Name Indication* (see :data:`ssl.HAS_SNI`)." +"The class now supports hostname check " +"with :attr:`ssl.SSLContext.check_hostname` and *Server Name Indication* " +"(see :const:`ssl.HAS_SNI`)." msgstr "" +"A classe agora oferece suporte a verificação de nome de host " +"com :attr:`ssl.SSLContext.check_hostname` e *Indicação de nome de servidor* " +"(veja :const:`ssl.HAS_SNI`)." #: ../../library/smtplib.rst:110 ../../library/smtplib.rst:414 msgid "" -"*keyfile* and *certfile* are deprecated in favor of *context*. Please use :" -"meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." -"create_default_context` select the system's trusted CA certificates for you." +"*keyfile* and *certfile* are deprecated in favor of *context*. Please " +"use :meth:`ssl.SSLContext.load_cert_chain` instead, or " +"let :func:`ssl.create_default_context` select the system's trusted CA " +"certificates for you." msgstr "" #: ../../library/smtplib.rst:122 msgid "" "The LMTP protocol, which is very similar to ESMTP, is heavily based on the " -"standard SMTP client. It's common to use Unix sockets for LMTP, so our :meth:" -"`connect` method must support that as well as a regular host:port server. " -"The optional arguments local_hostname and source_address have the same " -"meaning as they do in the :class:`SMTP` class. To specify a Unix socket, you " -"must use an absolute path for *host*, starting with a '/'." +"standard SMTP client. It's common to use Unix sockets for LMTP, so " +"our :meth:`connect` method must support that as well as a regular host:port " +"server. The optional arguments local_hostname and source_address have the " +"same meaning as they do in the :class:`SMTP` class. To specify a Unix " +"socket, you must use an absolute path for *host*, starting with a '/'." msgstr "" #: ../../library/smtplib.rst:129 @@ -177,7 +187,7 @@ msgstr "" #: ../../library/smtplib.rst:133 msgid "The optional *timeout* parameter was added." -msgstr "" +msgstr "O parâmetro opcional *timeout* foi adicionado." #: ../../library/smtplib.rst:137 msgid "A nice selection of exceptions is defined as well:" @@ -210,9 +220,9 @@ msgstr "" #: ../../library/smtplib.rst:166 msgid "" -"Sender address refused. In addition to the attributes set by on all :exc:" -"`SMTPResponseException` exceptions, this sets 'sender' to the string that " -"the SMTP server refused." +"Sender address refused. In addition to the attributes set by on " +"all :exc:`SMTPResponseException` exceptions, this sets 'sender' to the " +"string that the SMTP server refused." msgstr "" #: ../../library/smtplib.rst:173 @@ -224,15 +234,15 @@ msgstr "" #: ../../library/smtplib.rst:180 msgid "The SMTP server refused to accept the message data." -msgstr "" +msgstr "O servidor SMTP recusou aceitar o dados da mensagem." #: ../../library/smtplib.rst:185 msgid "Error occurred during establishment of a connection with the server." -msgstr "" +msgstr "Ocorreu um erro ao estabelecer uma conexão com o servidor." #: ../../library/smtplib.rst:190 msgid "The server refused our ``HELO`` message." -msgstr "" +msgstr "O servidor recusou sua mensagem ``HELO``." #: ../../library/smtplib.rst:195 msgid "The command or option attempted is not supported by the server." @@ -306,8 +316,8 @@ msgstr "" #: ../../library/smtplib.rst:248 msgid "" -"If the connection to the server is lost while waiting for the reply, :exc:" -"`SMTPServerDisconnected` will be raised." +"If the connection to the server is lost while waiting for the " +"reply, :exc:`SMTPServerDisconnected` will be raised." msgstr "" #: ../../library/smtplib.rst:254 @@ -321,11 +331,13 @@ msgid "" "connection response." msgstr "" -#: ../../library/smtplib.rst:271 +#: ../../library/smtplib.rst:273 msgid "" "Raises an :ref:`auditing event ` ``smtplib.connect`` with " "arguments ``self``, ``host``, ``port``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``smtplib.connect`` com os " +"argumentos ``self``, ``host``, ``port``." #: ../../library/smtplib.rst:267 msgid "" @@ -349,9 +361,9 @@ msgid "" "response for ESMTP option and store them for use by :meth:`has_extn`. Also " "sets several informational attributes: the message returned by the server is " "stored as the :attr:`ehlo_resp` attribute, :attr:`does_esmtp` is set to " -"``True`` or ``False`` depending on whether the server supports ESMTP, and :" -"attr:`esmtp_features` will be a dictionary containing the names of the SMTP " -"service extensions this server supports, and their parameters (if any)." +"``True`` or ``False`` depending on whether the server supports ESMTP, " +"and :attr:`esmtp_features` will be a dictionary containing the names of the " +"SMTP service extensions this server supports, and their parameters (if any)." msgstr "" #: ../../library/smtplib.rst:288 @@ -394,7 +406,7 @@ msgstr "" #: ../../library/smtplib.rst:316 msgid "Many sites disable SMTP ``VRFY`` in order to foil spammers." -msgstr "" +msgstr "Muitos servidores desabilitam o SMTP ``VRFY`` para despistar spammers." #: ../../library/smtplib.rst:321 msgid "" @@ -411,7 +423,7 @@ msgstr ":exc:`SMTPAuthenticationError`" #: ../../library/smtplib.rst:331 msgid "The server didn't accept the username/password combination." -msgstr "" +msgstr "O servidor não aceitou a combinação de usuário/senha." #: ../../library/smtplib.rst:334 ../../library/smtplib.rst:423 #: ../../library/smtplib.rst:500 @@ -472,7 +484,7 @@ msgstr "" #: ../../library/smtplib.rst:365 msgid "data = authobject(challenge=None)" -msgstr "" +msgstr "data = authobject(challenge=None)" #: ../../library/smtplib.rst:367 msgid "" @@ -497,10 +509,10 @@ msgstr "" #: ../../library/smtplib.rst:381 msgid "" "The ``SMTP`` class provides ``authobjects`` for the ``CRAM-MD5``, ``PLAIN``, " -"and ``LOGIN`` mechanisms; they are named ``SMTP.auth_cram_md5``, ``SMTP." -"auth_plain``, and ``SMTP.auth_login`` respectively. They all require that " -"the ``user`` and ``password`` properties of the ``SMTP`` instance are set to " -"appropriate values." +"and ``LOGIN`` mechanisms; they are named ``SMTP.auth_cram_md5``, " +"``SMTP.auth_plain``, and ``SMTP.auth_login`` respectively. They all require " +"that the ``user`` and ``password`` properties of the ``SMTP`` instance are " +"set to appropriate values." msgstr "" #: ../../library/smtplib.rst:387 @@ -521,8 +533,8 @@ msgstr "" #: ../../library/smtplib.rst:402 msgid "" -"If *keyfile* and *certfile* are provided, they are used to create an :class:" -"`ssl.SSLContext`." +"If *keyfile* and *certfile* are provided, they are used to create " +"an :class:`ssl.SSLContext`." msgstr "" #: ../../library/smtplib.rst:405 @@ -540,7 +552,7 @@ msgstr "" #: ../../library/smtplib.rst:423 msgid "The server does not support the STARTTLS extension." -msgstr "" +msgstr "O servidor não da suporte a extensão STARTTLS." #: ../../library/smtplib.rst:426 msgid ":exc:`RuntimeError`" @@ -552,14 +564,16 @@ msgstr "" #: ../../library/smtplib.rst:431 msgid "" -"The method now supports hostname check with :attr:`SSLContext." -"check_hostname` and *Server Name Indicator* (see :data:`~ssl.HAS_SNI`)." +"The method now supports hostname check " +"with :attr:`SSLContext.check_hostname` and *Server Name Indicator* " +"(see :const:`~ssl.HAS_SNI`)." msgstr "" #: ../../library/smtplib.rst:436 msgid "" -"The error raised for lack of STARTTLS support is now the :exc:" -"`SMTPNotSupportedError` subclass instead of the base :exc:`SMTPException`." +"The error raised for lack of STARTTLS support is now " +"the :exc:`SMTPNotSupportedError` subclass instead of the " +"base :exc:`SMTPException`." msgstr "" #: ../../library/smtplib.rst:444 @@ -617,7 +631,7 @@ msgstr "" #: ../../library/smtplib.rst:480 msgid "This method may raise the following exceptions:" -msgstr "" +msgstr "Esse método deve levantar as seguintes exceções:" #: ../../library/smtplib.rst:486 msgid ":exc:`SMTPRecipientsRefused`" @@ -637,7 +651,7 @@ msgstr ":exc:`SMTPSenderRefused`" #: ../../library/smtplib.rst:492 msgid "The server didn't accept the *from_addr*." -msgstr "" +msgstr "O servidor não aceita o *from_addr*." #: ../../library/smtplib.rst:496 msgid ":exc:`SMTPDataError`" @@ -685,28 +699,29 @@ msgid "" "those arguments with addresses extracted from the headers of *msg* as " "specified in :rfc:`5322`\\: *from_addr* is set to the :mailheader:`Sender` " "field if it is present, and otherwise to the :mailheader:`From` field. " -"*to_addrs* combines the values (if any) of the :mailheader:`To`, :mailheader:" -"`Cc`, and :mailheader:`Bcc` fields from *msg*. If exactly one set of :" -"mailheader:`Resent-*` headers appear in the message, the regular headers are " -"ignored and the :mailheader:`Resent-*` headers are used instead. If the " -"message contains more than one set of :mailheader:`Resent-*` headers, a :exc:" -"`ValueError` is raised, since there is no way to unambiguously detect the " -"most recent set of :mailheader:`Resent-` headers." +"*to_addrs* combines the values (if any) of " +"the :mailheader:`To`, :mailheader:`Cc`, and :mailheader:`Bcc` fields from " +"*msg*. If exactly one set of :mailheader:`Resent-*` headers appear in the " +"message, the regular headers are ignored and the :mailheader:`Resent-*` " +"headers are used instead. If the message contains more than one set " +"of :mailheader:`Resent-*` headers, a :exc:`ValueError` is raised, since " +"there is no way to unambiguously detect the most recent set " +"of :mailheader:`Resent-` headers." msgstr "" #: ../../library/smtplib.rst:533 msgid "" -"``send_message`` serializes *msg* using :class:`~email.generator." -"BytesGenerator` with ``\\r\\n`` as the *linesep*, and calls :meth:`sendmail` " -"to transmit the resulting message. Regardless of the values of *from_addr* " -"and *to_addrs*, ``send_message`` does not transmit any :mailheader:`Bcc` or :" -"mailheader:`Resent-Bcc` headers that may appear in *msg*. If any of the " -"addresses in *from_addr* and *to_addrs* contain non-ASCII characters and the " -"server does not advertise ``SMTPUTF8`` support, an :exc:`SMTPNotSupported` " -"error is raised. Otherwise the ``Message`` is serialized with a clone of " -"its :mod:`~email.policy` with the :attr:`~email.policy.EmailPolicy.utf8` " -"attribute set to ``True``, and ``SMTPUTF8`` and ``BODY=8BITMIME`` are added " -"to *mail_options*." +"``send_message`` serializes *msg* " +"using :class:`~email.generator.BytesGenerator` with ``\\r\\n`` as the " +"*linesep*, and calls :meth:`sendmail` to transmit the resulting message. " +"Regardless of the values of *from_addr* and *to_addrs*, ``send_message`` " +"does not transmit any :mailheader:`Bcc` or :mailheader:`Resent-Bcc` headers " +"that may appear in *msg*. If any of the addresses in *from_addr* and " +"*to_addrs* contain non-ASCII characters and the server does not advertise " +"``SMTPUTF8`` support, an :exc:`SMTPNotSupported` error is raised. Otherwise " +"the ``Message`` is serialized with a clone of its :mod:`~email.policy` with " +"the :attr:`~email.policy.EmailPolicy.utf8` attribute set to ``True``, and " +"``SMTPUTF8`` and ``BODY=8BITMIME`` are added to *mail_options*." msgstr "" #: ../../library/smtplib.rst:547 @@ -744,8 +759,8 @@ msgstr "" #: ../../library/smtplib.rst:604 msgid "" "In general, you will want to use the :mod:`email` package's features to " -"construct an email message, which you can then send via :meth:`~smtplib.SMTP." -"send_message`; see :ref:`email-examples`." +"construct an email message, which you can then send " +"via :meth:`~smtplib.SMTP.send_message`; see :ref:`email-examples`." msgstr "" #: ../../library/smtplib.rst:11 @@ -754,7 +769,7 @@ msgstr "" #: ../../library/smtplib.rst:11 msgid "protocol" -msgstr "" +msgstr "protocolo" #: ../../library/smtplib.rst:11 msgid "Simple Mail Transfer Protocol" diff --git a/library/sndhdr.po b/library/sndhdr.po index 14190a76c..c415d4a71 100644 --- a/library/sndhdr.po +++ b/library/sndhdr.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Henrique Junqueira, 2022 -# Marco Rougeth , 2022 -# Claudio Rogerio Carvalho Filho , 2022 -# Sheila Gomes , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Sheila Gomes , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -47,18 +43,18 @@ msgstr "" msgid "" "The :mod:`sndhdr` provides utility functions which attempt to determine the " "type of sound data which is in a file. When these functions are able to " -"determine what type of sound data is stored in a file, they return a :func:" -"`~collections.namedtuple`, containing five attributes: (``filetype``, " -"``framerate``, ``nchannels``, ``nframes``, ``sampwidth``). The value for " -"*type* indicates the data type and will be one of the strings ``'aifc'``, " -"``'aiff'``, ``'au'``, ``'hcom'``, ``'sndr'``, ``'sndt'``, ``'voc'``, " -"``'wav'``, ``'8svx'``, ``'sb'``, ``'ub'``, or ``'ul'``. The *sampling_rate* " -"will be either the actual value or ``0`` if unknown or difficult to decode. " -"Similarly, *channels* will be either the number of channels or ``0`` if it " -"cannot be determined or if the value is difficult to decode. The value for " -"*frames* will be either the number of frames or ``-1``. The last item in " -"the tuple, *bits_per_sample*, will either be the sample size in bits or " -"``'A'`` for A-LAW or ``'U'`` for u-LAW." +"determine what type of sound data is stored in a file, they return " +"a :func:`~collections.namedtuple`, containing five attributes: " +"(``filetype``, ``framerate``, ``nchannels``, ``nframes``, ``sampwidth``). " +"The value for *type* indicates the data type and will be one of the strings " +"``'aifc'``, ``'aiff'``, ``'au'``, ``'hcom'``, ``'sndr'``, ``'sndt'``, " +"``'voc'``, ``'wav'``, ``'8svx'``, ``'sb'``, ``'ub'``, or ``'ul'``. The " +"*sampling_rate* will be either the actual value or ``0`` if unknown or " +"difficult to decode. Similarly, *channels* will be either the number of " +"channels or ``0`` if it cannot be determined or if the value is difficult to " +"decode. The value for *frames* will be either the number of frames or " +"``-1``. The last item in the tuple, *bits_per_sample*, will either be the " +"sample size in bits or ``'A'`` for A-LAW or ``'U'`` for u-LAW." msgstr "" "O :mod:`sndhdr` fornece funções de utilitário que tentam determinar o tipo " "de dados de som que estão em um arquivo. Quando estas funções são capazes de " @@ -77,13 +73,13 @@ msgstr "" #: ../../library/sndhdr.rst:40 msgid "" -"Determines the type of sound data stored in the file *filename* using :func:" -"`whathdr`. If it succeeds, returns a namedtuple as described above, " -"otherwise ``None`` is returned." +"Determines the type of sound data stored in the file *filename* " +"using :func:`whathdr`. If it succeeds, returns a namedtuple as described " +"above, otherwise ``None`` is returned." msgstr "" -"Determina o tipo de dados de som armazenados no arquivo *filename* usando :" -"func:`whathdr`. Se tiver sucesso, retorna uma namedtuple conforme descrito " -"acima, caso contrário, ``None`` será retornado." +"Determina o tipo de dados de som armazenados no arquivo *filename* " +"usando :func:`whathdr`. Se tiver sucesso, retorna uma namedtuple conforme " +"descrito acima, caso contrário, ``None`` será retornado." #: ../../library/sndhdr.rst:44 ../../library/sndhdr.rst:54 msgid "Result changed from a tuple to a namedtuple." @@ -204,8 +200,9 @@ msgstr "" #: ../../library/sndhdr.rst:88 msgid "" "A list of functions performing the individual tests. Each function takes " -"two arguments: the byte-stream and an open file-like object. When :func:" -"`what` is called with a byte-stream, the file-like object will be ``None``." +"two arguments: the byte-stream and an open file-like object. " +"When :func:`what` is called with a byte-stream, the file-like object will be " +"``None``." msgstr "" #: ../../library/sndhdr.rst:92 @@ -222,8 +219,8 @@ msgstr "Exemplo:" #: ../../library/sndhdr.rst:13 msgid "A-LAW" -msgstr "" +msgstr "A-LAW" #: ../../library/sndhdr.rst:13 msgid "u-LAW" -msgstr "" +msgstr "u-LAW" diff --git a/library/socket.po b/library/socket.po index d6091c4fa..924e64223 100644 --- a/library/socket.po +++ b/library/socket.po @@ -1,36 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Leticia Portella , 2021 -# Italo Penaforte , 2021 -# And Past , 2021 -# felipe caridade , 2021 -# Marcos Wenneton Araújo , 2021 -# Marcone G , 2021 -# Augusta Carla Klug , 2021 -# i17obot , 2021 -# yyyyyyyan , 2021 -# Marco Rougeth , 2023 -# Claudio Rogerio Carvalho Filho , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -78,19 +67,19 @@ msgstr "" msgid "" "The Python interface is a straightforward transliteration of the Unix system " "call and library interface for sockets to Python's object-oriented style: " -"the :func:`.socket` function returns a :dfn:`socket object` whose methods " -"implement the various socket system calls. Parameter types are somewhat " -"higher-level than in the C interface: as with :meth:`read` and :meth:`write` " -"operations on Python files, buffer allocation on receive operations is " -"automatic, and buffer length is implicit on send operations." +"the :func:`~socket.socket` function returns a :dfn:`socket object` whose " +"methods implement the various socket system calls. Parameter types are " +"somewhat higher-level than in the C interface: as with :meth:`read` " +"and :meth:`write` operations on Python files, buffer allocation on receive " +"operations is automatic, and buffer length is implicit on send operations." msgstr "" "A interface Python é uma transliteração direta da chamada de sistema e " "interface de biblioteca de soquetes do Unix para o estilo orientado a " -"objetos do Python: a função :func:`.socket` retorna um :dfn:`objeto socket` " -"cujos métodos implementam as diversas chamadas de sistema de soquetes. Os " -"tipos de parâmetro são consideravelmente de nível mais alto que os da " -"interface em C: assim como as operações :meth:`read` e :meth:`write` em " -"arquivos Python, a alocação de buffer em operações de recebimento é " +"objetos do Python: a função :func:`~socket.socket` retorna um :dfn:`objeto " +"socket` cujos métodos implementam as diversas chamadas de sistema de " +"soquetes. Os tipos de parâmetro são consideravelmente de nível mais alto que " +"os da interface em C: assim como as operações :meth:`read` e :meth:`write` " +"em arquivos Python, a alocação de buffer em operações de recebimento é " "automática, e o comprimento do buffer é implícito em operações de envio." #: ../../library/socket.rst:36 @@ -99,15 +88,15 @@ msgstr "Módulo :mod:`socketserver`" #: ../../library/socket.rst:36 msgid "Classes that simplify writing network servers." -msgstr "" +msgstr "Classes que simplificam a escrita de servidores de rede." #: ../../library/socket.rst:38 msgid "Module :mod:`ssl`" -msgstr "" +msgstr "Módulo :mod:`ssl`" #: ../../library/socket.rst:39 msgid "A TLS/SSL wrapper for socket objects." -msgstr "" +msgstr "Um invólucro de TLS/SSL para objetos socket." #: ../../library/socket.rst:43 msgid "Socket families" @@ -127,6 +116,10 @@ msgid "" "selected based on the address family specified when the socket object was " "created. Socket addresses are represented as follows:" msgstr "" +"O formato de endereço requerido por um objeto socket em particular é " +"selecionado automaticamente com base na família de endereços especificada " +"quando o objeto socket foi criado. Endereços de socket são representados da " +"seguinte forma:" #: ../../library/socket.rst:52 msgid "" @@ -139,14 +132,24 @@ msgid "" "deal with both types of address. A string or bytes-like object can be used " "for either type of address when passing it as an argument." msgstr "" +"O endereço de um socket :const:`AF_UNIX` vinculado a um nó do sistema de " +"arquivos é representado como uma string, usando a codificação do sistema de " +"arquivos e o tratador de erros ``'surrogateescape'`` (veja :pep:`383`). Um " +"endereço no espaço de nomes abstrato do Linux é retornado como " +"um :term:`objeto bytes ou similar` com um byte nulo inicial; observe que os " +"sockets neste espaço de nomes podem se comunicar com sockets normais do " +"sistema de arquivos, então programas destinados a rodar no Linux podem " +"precisar lidar com ambos os tipos de endereço. Uma string ou um objeto bytes " +"ou similar pode ser usado para qualquer tipo de endereço ao passá-lo como um " +"argumento." #: ../../library/socket.rst:62 msgid "" "Previously, :const:`AF_UNIX` socket paths were assumed to use UTF-8 encoding." msgstr "" -#: ../../library/socket.rst:66 ../../library/socket.rst:1043 -#: ../../library/socket.rst:1085 ../../library/socket.rst:1844 +#: ../../library/socket.rst:66 ../../library/socket.rst:1049 +#: ../../library/socket.rst:1091 ../../library/socket.rst:1851 msgid "Writable :term:`bytes-like object` is now accepted." msgstr "" @@ -162,10 +165,10 @@ msgstr "" msgid "" "For IPv4 addresses, two special forms are accepted instead of a host " "address: ``''`` represents :const:`INADDR_ANY`, which is used to bind to all " -"interfaces, and the string ``''`` represents :const:" -"`INADDR_BROADCAST`. This behavior is not compatible with IPv6, therefore, " -"you may want to avoid these if you intend to support IPv6 with your Python " -"programs." +"interfaces, and the string ``''`` " +"represents :const:`INADDR_BROADCAST`. This behavior is not compatible with " +"IPv6, therefore, you may want to avoid these if you intend to support IPv6 " +"with your Python programs." msgstr "" #: ../../library/socket.rst:83 @@ -320,8 +323,8 @@ msgstr "" msgid "*feat* and *mask* are unsigned 32bit integers." msgstr "" -#: ../../library/socket.rst:171 ../../library/socket.rst:519 -#: ../../library/socket.rst:1766 +#: ../../library/socket.rst:171 ../../library/socket.rst:525 +#: ../../library/socket.rst:1773 msgid ":ref:`Availability `: Linux >= 2.6.38." msgstr ":ref:`Disponibilidade `: Linux >= 2.6.38." @@ -336,7 +339,7 @@ msgid "" "context ID or CID and port are integers." msgstr "" -#: ../../library/socket.rst:181 ../../library/socket.rst:592 +#: ../../library/socket.rst:181 ../../library/socket.rst:598 msgid ":ref:`Availability `: Linux >= 3.9" msgstr ":ref:`Disponibilidade `: Linux >= 3.9" @@ -347,7 +350,7 @@ msgstr "" #: ../../library/socket.rst:187 msgid "" ":const:`AF_PACKET` is a low-level interface directly to network devices. The " -"packets are represented by the tuple ``(ifname, proto[, pkttype[, hatype[, " +"addresses are represented by the tuple ``(ifname, proto[, pkttype[, hatype[, " "addr]]])`` where:" msgstr "" @@ -356,55 +359,53 @@ msgid "*ifname* - String specifying the device name." msgstr "" #: ../../library/socket.rst:192 -msgid "" -"*proto* - An in network-byte-order integer specifying the Ethernet protocol " -"number." +msgid "*proto* - An integer specifying the Ethernet protocol number." msgstr "" -#: ../../library/socket.rst:194 +#: ../../library/socket.rst:193 msgid "*pkttype* - Optional integer specifying the packet type:" msgstr "" -#: ../../library/socket.rst:196 +#: ../../library/socket.rst:195 msgid "``PACKET_HOST`` (the default) - Packet addressed to the local host." msgstr "" -#: ../../library/socket.rst:197 +#: ../../library/socket.rst:196 msgid "``PACKET_BROADCAST`` - Physical-layer broadcast packet." msgstr "" -#: ../../library/socket.rst:198 +#: ../../library/socket.rst:197 msgid "" "``PACKET_MULTICAST`` - Packet sent to a physical-layer multicast address." msgstr "" -#: ../../library/socket.rst:199 +#: ../../library/socket.rst:198 msgid "" "``PACKET_OTHERHOST`` - Packet to some other host that has been caught by a " "device driver in promiscuous mode." msgstr "" -#: ../../library/socket.rst:201 +#: ../../library/socket.rst:200 msgid "" "``PACKET_OUTGOING`` - Packet originating from the local host that is looped " "back to a packet socket." msgstr "" -#: ../../library/socket.rst:203 +#: ../../library/socket.rst:202 msgid "*hatype* - Optional integer specifying the ARP hardware address type." msgstr "" -#: ../../library/socket.rst:204 +#: ../../library/socket.rst:203 msgid "" "*addr* - Optional bytes-like object specifying the hardware physical " "address, whose interpretation depends on the device." msgstr "" -#: ../../library/socket.rst:207 ../../library/socket.rst:480 +#: ../../library/socket.rst:206 ../../library/socket.rst:486 msgid ":ref:`Availability `: Linux >= 2.2." msgstr ":ref:`Disponibilidade `: Linux >= 2.2." -#: ../../library/socket.rst:209 +#: ../../library/socket.rst:208 msgid "" ":const:`AF_QIPCRTR` is a Linux-only socket based interface for communicating " "with services running on co-processors in Qualcomm platforms. The address " @@ -412,11 +413,11 @@ msgid "" "*port* are non-negative integers." msgstr "" -#: ../../library/socket.rst:214 ../../library/socket.rst:568 +#: ../../library/socket.rst:213 ../../library/socket.rst:574 msgid ":ref:`Availability `: Linux >= 4.7." msgstr ":ref:`Disponibilidade `: Linux >= 4.7." -#: ../../library/socket.rst:218 +#: ../../library/socket.rst:217 msgid "" ":const:`IPPROTO_UDPLITE` is a variant of UDP which allows you to specify " "what portion of a packet is covered with the checksum. It adds two socket " @@ -427,18 +428,19 @@ msgid "" "of their data. In both cases ``length`` should be in ``range(8, 2**16, 8)``." msgstr "" -#: ../../library/socket.rst:227 +#: ../../library/socket.rst:226 msgid "" "Such a socket should be constructed with ``socket(AF_INET, SOCK_DGRAM, " "IPPROTO_UDPLITE)`` for IPv4 or ``socket(AF_INET6, SOCK_DGRAM, " "IPPROTO_UDPLITE)`` for IPv6." msgstr "" -#: ../../library/socket.rst:231 +#: ../../library/socket.rst:230 msgid ":ref:`Availability `: Linux >= 2.6.20, FreeBSD >= 10.1" msgstr "" +":ref:`Disponibilidade `: Linux >= 2.6.20, FreeBSD >= 10.1" -#: ../../library/socket.rst:235 +#: ../../library/socket.rst:234 msgid "" "If you use a hostname in the *host* portion of IPv4/v6 socket address, the " "program may show a nondeterministic behavior, as Python uses the first " @@ -448,304 +450,314 @@ msgid "" "deterministic behavior use a numeric address in *host* portion." msgstr "" -#: ../../library/socket.rst:242 +#: ../../library/socket.rst:241 msgid "" "All errors raise exceptions. The normal exceptions for invalid argument " "types and out-of-memory conditions can be raised. Errors related to socket " "or address semantics raise :exc:`OSError` or one of its subclasses." msgstr "" -#: ../../library/socket.rst:247 +#: ../../library/socket.rst:246 msgid "" "Non-blocking mode is supported through :meth:`~socket.setblocking`. A " -"generalization of this based on timeouts is supported through :meth:`~socket." -"settimeout`." +"generalization of this based on timeouts is supported " +"through :meth:`~socket.settimeout`." msgstr "" -#: ../../library/socket.rst:253 +#: ../../library/socket.rst:252 msgid "Module contents" msgstr "Conteúdo do módulo" -#: ../../library/socket.rst:255 +#: ../../library/socket.rst:254 msgid "The module :mod:`socket` exports the following elements." msgstr "" -#: ../../library/socket.rst:259 +#: ../../library/socket.rst:258 msgid "Exceptions" msgstr "Exceções" -#: ../../library/socket.rst:263 +#: ../../library/socket.rst:262 msgid "A deprecated alias of :exc:`OSError`." -msgstr "" +msgstr "Um apelido descontinuado de :exc:`OSError`." -#: ../../library/socket.rst:265 +#: ../../library/socket.rst:264 msgid "Following :pep:`3151`, this class was made an alias of :exc:`OSError`." msgstr "" +"Seguindo a :pep:`3151`, esta classe foi transformada em um apelido " +"de :exc:`OSError`." -#: ../../library/socket.rst:271 +#: ../../library/socket.rst:270 msgid "" "A subclass of :exc:`OSError`, this exception is raised for address-related " -"errors, i.e. for functions that use *h_errno* in the POSIX C API, including :" -"func:`gethostbyname_ex` and :func:`gethostbyaddr`. The accompanying value is " -"a pair ``(h_errno, string)`` representing an error returned by a library " -"call. *h_errno* is a numeric value, while *string* represents the " -"description of *h_errno*, as returned by the :c:func:`hstrerror` C function." +"errors, i.e. for functions that use *h_errno* in the POSIX C API, " +"including :func:`gethostbyname_ex` and :func:`gethostbyaddr`. The " +"accompanying value is a pair ``(h_errno, string)`` representing an error " +"returned by a library 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 "" -#: ../../library/socket.rst:279 ../../library/socket.rst:292 -#: ../../library/socket.rst:305 +#: ../../library/socket.rst:278 ../../library/socket.rst:291 +#: ../../library/socket.rst:304 msgid "This class was made a subclass of :exc:`OSError`." msgstr "" -#: ../../library/socket.rst:284 +#: ../../library/socket.rst:283 msgid "" "A subclass of :exc:`OSError`, this exception is raised for address-related " "errors by :func:`getaddrinfo` and :func:`getnameinfo`. The accompanying " "value is a pair ``(error, string)`` representing an error returned by a " "library call. *string* represents the description of *error*, as returned " "by the :c:func:`gai_strerror` C function. The numeric *error* value will " -"match one of the :const:`EAI_\\*` constants defined in this module." +"match one of the :const:`!EAI_\\*` constants defined in this module." msgstr "" -#: ../../library/socket.rst:297 +#: ../../library/socket.rst:296 msgid "A deprecated alias of :exc:`TimeoutError`." msgstr "" -#: ../../library/socket.rst:299 +#: ../../library/socket.rst:298 msgid "" "A subclass of :exc:`OSError`, this exception is raised when a timeout occurs " -"on a socket which has had timeouts enabled via a prior call to :meth:" -"`~socket.settimeout` (or implicitly through :func:`~socket." -"setdefaulttimeout`). The accompanying value is a string whose value is " -"currently always \"timed out\"." +"on a socket which has had timeouts enabled via a prior call " +"to :meth:`~socket.settimeout` (or implicitly " +"through :func:`~socket.setdefaulttimeout`). The accompanying value is a " +"string whose value is currently always \"timed out\"." msgstr "" -#: ../../library/socket.rst:308 +#: ../../library/socket.rst:307 msgid "This class was made an alias of :exc:`TimeoutError`." msgstr "Esta classe foi feita como um apelido de :exc:`TimeoutError`." -#: ../../library/socket.rst:313 +#: ../../library/socket.rst:312 msgid "Constants" msgstr "Constantes" -#: ../../library/socket.rst:315 +#: ../../library/socket.rst:314 msgid "" -"The AF_* and SOCK_* constants are now :class:`AddressFamily` and :class:" -"`SocketKind` :class:`.IntEnum` collections." +"The AF_* and SOCK_* constants are now :class:`AddressFamily` " +"and :class:`SocketKind` :class:`.IntEnum` collections." msgstr "" -#: ../../library/socket.rst:324 +#: ../../library/socket.rst:323 msgid "" "These constants represent the address (and protocol) families, used for the " -"first argument to :func:`.socket`. If the :const:`AF_UNIX` constant is not " -"defined then this protocol is unsupported. More constants may be available " -"depending on the system." +"first argument to :func:`~socket.socket`. If the :const:`AF_UNIX` constant " +"is not defined then this protocol is unsupported. More constants may be " +"available depending on the system." +msgstr "" + +#: ../../library/socket.rst:330 +msgid "" +":const:`AF_UNSPEC` means that :func:`getaddrinfo` should return socket " +"addresses for any address family (either IPv4, IPv6, or any other) that can " +"be used." msgstr "" -#: ../../library/socket.rst:336 +#: ../../library/socket.rst:340 msgid "" -"These constants represent the socket types, used for the second argument to :" -"func:`.socket`. More constants may be available depending on the system. " -"(Only :const:`SOCK_STREAM` and :const:`SOCK_DGRAM` appear to be generally " -"useful.)" +"These constants represent the socket types, used for the second argument " +"to :func:`~socket.socket`. More constants may be available depending on the " +"system. (Only :const:`SOCK_STREAM` and :const:`SOCK_DGRAM` appear to be " +"generally useful.)" msgstr "" -#: ../../library/socket.rst:344 +#: ../../library/socket.rst:348 msgid "" "These two constants, if defined, can be combined with the socket types and " "allow you to set some flags atomically (thus avoiding possible race " "conditions and the need for separate calls)." msgstr "" -#: ../../library/socket.rst:350 +#: ../../library/socket.rst:354 msgid "" -"`Secure File Descriptor Handling `_ for a more thorough explanation." +"`Secure File Descriptor Handling `_ for a more thorough explanation." msgstr "" -#: ../../library/socket.rst:353 +#: ../../library/socket.rst:357 msgid ":ref:`Availability `: Linux >= 2.6.27." msgstr ":ref:`Disponibilidade `: Linux >= 2.6.27." -#: ../../library/socket.rst:372 +#: ../../library/socket.rst:378 msgid "" "Many constants of these forms, documented in the Unix documentation on " "sockets and/or the IP protocol, are also defined in the socket module. They " -"are generally used in arguments to the :meth:`setsockopt` and :meth:" -"`getsockopt` methods of socket objects. In most cases, only those symbols " -"that are defined in the Unix header files are defined; for a few symbols, " -"default values are provided." +"are generally used in arguments to the :meth:`~socket.setsockopt` " +"and :meth:`~socket.getsockopt` methods of socket objects. In most cases, " +"only those symbols that are defined in the Unix header files are defined; " +"for a few symbols, default values are provided." msgstr "" -#: ../../library/socket.rst:379 +#: ../../library/socket.rst:385 msgid "" "``SO_DOMAIN``, ``SO_PROTOCOL``, ``SO_PEERSEC``, ``SO_PASSSEC``, " "``TCP_USER_TIMEOUT``, ``TCP_CONGESTION`` were added." msgstr "" -#: ../../library/socket.rst:383 +#: ../../library/socket.rst:389 msgid "" "On Windows, ``TCP_FASTOPEN``, ``TCP_KEEPCNT`` appear if run-time Windows " "supports." msgstr "" -#: ../../library/socket.rst:387 +#: ../../library/socket.rst:393 msgid "``TCP_NOTSENT_LOWAT`` was added." msgstr "" -#: ../../library/socket.rst:390 +#: ../../library/socket.rst:396 msgid "" "On Windows, ``TCP_KEEPIDLE``, ``TCP_KEEPINTVL`` appear if run-time Windows " "supports." msgstr "" -#: ../../library/socket.rst:393 +#: ../../library/socket.rst:399 msgid "" "``IP_RECVTOS`` was added. Added ``TCP_KEEPALIVE``. On MacOS this constant " "can be used in the same way that ``TCP_KEEPIDLE`` is used on Linux." msgstr "" -#: ../../library/socket.rst:398 +#: ../../library/socket.rst:404 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 "" -#: ../../library/socket.rst:407 ../../library/socket.rst:477 -#: ../../library/socket.rst:488 +#: ../../library/socket.rst:413 ../../library/socket.rst:483 +#: ../../library/socket.rst:494 msgid "" "Many constants of these forms, documented in the Linux documentation, are " "also defined in the socket module." msgstr "" -#: ../../library/socket.rst:410 +#: ../../library/socket.rst:416 msgid ":ref:`Availability `: Linux >= 2.6.25, NetBSD >= 8." msgstr ":ref:`Disponibilidade `: Linux >= 2.6.25, NetBSD >= 8." -#: ../../library/socket.rst:414 +#: ../../library/socket.rst:420 msgid "NetBSD support was added." msgstr "" -#: ../../library/socket.rst:420 +#: ../../library/socket.rst:426 msgid "" "CAN_BCM, in the CAN protocol family, is the broadcast manager (BCM) " "protocol. Broadcast manager constants, documented in the Linux " "documentation, are also defined in the socket module." msgstr "" -#: ../../library/socket.rst:424 ../../library/socket.rst:459 +#: ../../library/socket.rst:430 ../../library/socket.rst:465 msgid ":ref:`Availability `: Linux >= 2.6.25." msgstr ":ref:`Disponibilidade `: Linux >= 2.6.25." -#: ../../library/socket.rst:427 +#: ../../library/socket.rst:433 msgid "" "The :data:`CAN_BCM_CAN_FD_FRAME` flag is only available on Linux >= 4.8." msgstr "" -#: ../../library/socket.rst:433 +#: ../../library/socket.rst:439 msgid "" "Enables CAN FD support in a CAN_RAW socket. This is disabled by default. " "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 "" -#: ../../library/socket.rst:437 ../../library/socket.rst:448 +#: ../../library/socket.rst:443 ../../library/socket.rst:454 msgid "This constant is documented in the Linux documentation." msgstr "" -#: ../../library/socket.rst:439 +#: ../../library/socket.rst:445 msgid ":ref:`Availability `: Linux >= 3.6." msgstr ":ref:`Disponibilidade `: Linux >= 3.6." -#: ../../library/socket.rst:445 +#: ../../library/socket.rst:451 msgid "" "Joins the applied CAN filters such that only CAN frames that match all given " "CAN filters are passed to user space." msgstr "" -#: ../../library/socket.rst:450 +#: ../../library/socket.rst:456 msgid ":ref:`Availability `: Linux >= 4.1." msgstr ":ref:`Disponibilidade `: Linux >= 4.1." -#: ../../library/socket.rst:456 +#: ../../library/socket.rst:462 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 "" -#: ../../library/socket.rst:465 +#: ../../library/socket.rst:471 msgid "" "CAN_J1939, in the CAN protocol family, is the SAE J1939 protocol. J1939 " "constants, documented in the Linux documentation." msgstr "" -#: ../../library/socket.rst:468 +#: ../../library/socket.rst:474 msgid ":ref:`Availability `: Linux >= 5.4." msgstr ":ref:`Disponibilidade `: Linux >= 5.4." -#: ../../library/socket.rst:491 +#: ../../library/socket.rst:497 msgid ":ref:`Availability `: Linux >= 2.6.30." msgstr ":ref:`Disponibilidade `: Linux >= 2.6.30." -#: ../../library/socket.rst:501 +#: ../../library/socket.rst:507 msgid "" "Constants for Windows' WSAIoctl(). The constants are used as arguments to " "the :meth:`~socket.socket.ioctl` method of socket objects." msgstr "" -#: ../../library/socket.rst:504 ../../library/socket.rst:1458 +#: ../../library/socket.rst:510 ../../library/socket.rst:1464 msgid "``SIO_LOOPBACK_FAST_PATH`` was added." msgstr "" -#: ../../library/socket.rst:510 +#: ../../library/socket.rst:516 msgid "" "TIPC related constants, matching the ones exported by the C socket API. See " "the TIPC documentation for more information." msgstr "" -#: ../../library/socket.rst:517 +#: ../../library/socket.rst:523 msgid "Constants for Linux Kernel cryptography." msgstr "" -#: ../../library/socket.rst:529 +#: ../../library/socket.rst:535 msgid "Constants for Linux host/guest communication." msgstr "" -#: ../../library/socket.rst:531 +#: ../../library/socket.rst:537 msgid ":ref:`Availability `: Linux >= 4.8." msgstr ":ref:`Disponibilidade `: Linux >= 4.8." -#: ../../library/socket.rst:537 +#: ../../library/socket.rst:543 msgid ":ref:`Availability `: BSD, macOS." msgstr ":ref:`Disponibilidade `: BSD, macOS." -#: ../../library/socket.rst:543 +#: ../../library/socket.rst:549 msgid "" "This constant contains a boolean value which indicates if IPv6 is supported " "on this platform." msgstr "" -#: ../../library/socket.rst:549 +#: ../../library/socket.rst:555 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 "" -#: ../../library/socket.rst:558 +#: ../../library/socket.rst:564 msgid "" "For use with :const:`BTPROTO_HCI`. :const:`HCI_FILTER` is not available for " "NetBSD or DragonFlyBSD. :const:`HCI_TIME_STAMP` and :const:`HCI_DATA_DIR` " "are not available for FreeBSD, NetBSD, or DragonFlyBSD." msgstr "" -#: ../../library/socket.rst:565 +#: ../../library/socket.rst:571 msgid "" "Constant for Qualcomm's IPC router protocol, used to communicate with " "service providing remote processors." msgstr "" -#: ../../library/socket.rst:574 +#: ../../library/socket.rst:580 msgid "" "LOCAL_CREDS and LOCAL_CREDS_PERSISTENT can be used with SOCK_DGRAM, " "SOCK_STREAM sockets, equivalent to Linux/DragonFlyBSD SO_PASSCRED, while " @@ -754,129 +766,132 @@ msgid "" "message type." msgstr "" -#: ../../library/socket.rst:583 +#: ../../library/socket.rst:589 msgid ":ref:`Availability `: FreeBSD." msgstr ":ref:`Disponibilidade `: FreeBSD." -#: ../../library/socket.rst:587 +#: ../../library/socket.rst:593 msgid "" -"Constant to optimize CPU locality, to be used in conjunction with :data:" -"`SO_REUSEPORT`." +"Constant to optimize CPU locality, to be used in conjunction " +"with :data:`SO_REUSEPORT`." msgstr "" -#: ../../library/socket.rst:595 +#: ../../library/socket.rst:601 msgid "Functions" msgstr "Funções" -#: ../../library/socket.rst:598 +#: ../../library/socket.rst:604 msgid "Creating sockets" msgstr "Criação de sockets" -#: ../../library/socket.rst:600 +#: ../../library/socket.rst:606 msgid "" "The following functions all create :ref:`socket objects `." msgstr "" -#: ../../library/socket.rst:605 +#: ../../library/socket.rst:611 msgid "" "Create a new socket using the given address family, socket type and protocol " -"number. The address family should be :const:`AF_INET` (the default), :const:" -"`AF_INET6`, :const:`AF_UNIX`, :const:`AF_CAN`, :const:`AF_PACKET`, or :const:" -"`AF_RDS`. The socket type should be :const:`SOCK_STREAM` (the default), :" -"const:`SOCK_DGRAM`, :const:`SOCK_RAW` or perhaps one of the other ``SOCK_`` " -"constants. The protocol number is usually zero and may be omitted or in the " -"case where the address family is :const:`AF_CAN` the protocol should be one " -"of :const:`CAN_RAW`, :const:`CAN_BCM`, :const:`CAN_ISOTP` or :const:" -"`CAN_J1939`." +"number. The address family should be :const:`AF_INET` (the " +"default), :const:`AF_INET6`, :const:`AF_UNIX`, :const:`AF_CAN`, :const:`AF_PACKET`, " +"or :const:`AF_RDS`. The socket type should be :const:`SOCK_STREAM` (the " +"default), :const:`SOCK_DGRAM`, :const:`SOCK_RAW` or perhaps one of the other " +"``SOCK_`` constants. The protocol number is usually zero and may be omitted " +"or in the case where the address family is :const:`AF_CAN` the protocol " +"should be one of :const:`CAN_RAW`, :const:`CAN_BCM`, :const:`CAN_ISOTP` " +"or :const:`CAN_J1939`." msgstr "" -#: ../../library/socket.rst:615 +#: ../../library/socket.rst:621 msgid "" "If *fileno* is specified, the values for *family*, *type*, and *proto* are " "auto-detected from the specified file descriptor. Auto-detection can be " "overruled by calling the function with explicit *family*, *type*, or *proto* " "arguments. This only affects how Python represents e.g. the return value " -"of :meth:`socket.getpeername` but not the actual OS resource. Unlike :func:" -"`socket.fromfd`, *fileno* will return the same socket and not a duplicate. " -"This may help close a detached socket using :meth:`socket.close()`." +"of :meth:`socket.getpeername` but not the actual OS resource. " +"Unlike :func:`socket.fromfd`, *fileno* will return the same socket and not a " +"duplicate. This may help close a detached socket " +"using :meth:`socket.close()`." msgstr "" -#: ../../library/socket.rst:624 ../../library/socket.rst:770 -#: ../../library/socket.rst:1277 ../../library/socket.rst:1371 +#: ../../library/socket.rst:630 ../../library/socket.rst:776 +#: ../../library/socket.rst:1283 ../../library/socket.rst:1377 msgid "The newly created socket is :ref:`non-inheritable `." msgstr "" -#: ../../library/socket.rst:635 +#: ../../library/socket.rst:643 msgid "" "Raises an :ref:`auditing event ` ``socket.__new__`` with arguments " "``self``, ``family``, ``type``, ``protocol``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``socket.__new__`` com os " +"argumentos ``self``, ``family``, ``type``, ``protocol``." -#: ../../library/socket.rst:628 +#: ../../library/socket.rst:634 msgid "The AF_CAN family was added. The AF_RDS family was added." msgstr "" -#: ../../library/socket.rst:632 +#: ../../library/socket.rst:638 msgid "The CAN_BCM protocol was added." msgstr "" -#: ../../library/socket.rst:635 ../../library/socket.rst:772 +#: ../../library/socket.rst:641 ../../library/socket.rst:778 msgid "The returned socket is now non-inheritable." msgstr "" -#: ../../library/socket.rst:638 +#: ../../library/socket.rst:644 msgid "The CAN_ISOTP protocol was added." msgstr "" -#: ../../library/socket.rst:641 +#: ../../library/socket.rst:647 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 "" -#: ../../library/socket.rst:653 +#: ../../library/socket.rst:659 msgid "" "will still create a non-blocking socket on OSes that support " "``SOCK_NONBLOCK``, but ``sock.type`` will be set to ``socket.SOCK_STREAM``." msgstr "" -#: ../../library/socket.rst:657 +#: ../../library/socket.rst:663 msgid "The CAN_J1939 protocol was added." msgstr "" -#: ../../library/socket.rst:660 +#: ../../library/socket.rst:666 msgid "The IPPROTO_MPTCP protocol was added." msgstr "" -#: ../../library/socket.rst:665 +#: ../../library/socket.rst:671 msgid "" "Build a pair of connected socket objects using the given address family, " "socket type, and protocol number. Address family, socket type, and protocol " -"number are as for the :func:`.socket` function above. The default family is :" -"const:`AF_UNIX` if defined on the platform; otherwise, the default is :const:" -"`AF_INET`." +"number are as for the :func:`~socket.socket` function above. The default " +"family is :const:`AF_UNIX` if defined on the platform; otherwise, the " +"default is :const:`AF_INET`." msgstr "" -#: ../../library/socket.rst:670 +#: ../../library/socket.rst:676 msgid "The newly created sockets are :ref:`non-inheritable `." msgstr "" -#: ../../library/socket.rst:672 +#: ../../library/socket.rst:678 msgid "" "The returned socket objects now support the whole socket API, rather than a " "subset." msgstr "" -#: ../../library/socket.rst:676 +#: ../../library/socket.rst:682 msgid "The returned sockets are now non-inheritable." msgstr "" -#: ../../library/socket.rst:679 +#: ../../library/socket.rst:685 msgid "Windows support added." msgstr "" -#: ../../library/socket.rst:685 +#: ../../library/socket.rst:691 msgid "" "Connect to a TCP service listening on the internet *address* (a 2-tuple " "``(host, port)``), and return the socket object. This is a higher-level " @@ -887,21 +902,21 @@ msgid "" "IPv4 and IPv6." msgstr "" -#: ../../library/socket.rst:693 +#: ../../library/socket.rst:699 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 "" -#: ../../library/socket.rst:698 +#: ../../library/socket.rst:704 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 "" -#: ../../library/socket.rst:702 +#: ../../library/socket.rst:708 msgid "" "When a connection cannot be created, an exception is raised. By default, it " "is the exception from the last address in the list. If *all_errors* is " @@ -909,99 +924,99 @@ msgid "" "attempts." msgstr "" -#: ../../library/socket.rst:707 +#: ../../library/socket.rst:713 msgid "*source_address* was added." msgstr "*source_address* foi adicionado." -#: ../../library/socket.rst:710 +#: ../../library/socket.rst:716 msgid "*all_errors* was added." msgstr "" -#: ../../library/socket.rst:716 +#: ../../library/socket.rst:722 msgid "" "Convenience function which creates a TCP socket bound to *address* (a 2-" "tuple ``(host, port)``) and return the socket object." msgstr "" -#: ../../library/socket.rst:719 +#: ../../library/socket.rst:725 msgid "" "*family* should be either :data:`AF_INET` or :data:`AF_INET6`. *backlog* is " "the queue size passed to :meth:`socket.listen`; if not specified , a default " -"reasonable value is chosen. *reuse_port* dictates whether to set the :data:" -"`SO_REUSEPORT` socket option." +"reasonable value is chosen. *reuse_port* dictates whether to set " +"the :data:`SO_REUSEPORT` socket option." msgstr "" -#: ../../library/socket.rst:724 +#: ../../library/socket.rst:730 msgid "" "If *dualstack_ipv6* is true and the platform supports it the socket will be " -"able to accept both IPv4 and IPv6 connections, else it will raise :exc:" -"`ValueError`. Most POSIX platforms and Windows are supposed to support this " -"functionality. When this functionality is enabled the address returned by :" -"meth:`socket.getpeername` when an IPv4 connection occurs will be an IPv6 " -"address represented as an IPv4-mapped IPv6 address. If *dualstack_ipv6* is " -"false it will explicitly disable this functionality on platforms that enable " -"it by default (e.g. Linux). This parameter can be used in conjunction with :" -"func:`has_dualstack_ipv6`:" +"able to accept both IPv4 and IPv6 connections, else it will " +"raise :exc:`ValueError`. Most POSIX platforms and Windows are supposed to " +"support this functionality. When this functionality is enabled the address " +"returned by :meth:`socket.getpeername` when an IPv4 connection occurs will " +"be an IPv6 address represented as an IPv4-mapped IPv6 address. If " +"*dualstack_ipv6* is false it will explicitly disable this functionality on " +"platforms that enable it by default (e.g. Linux). This parameter can be used " +"in conjunction with :func:`has_dualstack_ipv6`:" msgstr "" -#: ../../library/socket.rst:746 +#: ../../library/socket.rst:752 msgid "" "On POSIX platforms the :data:`SO_REUSEADDR` socket option is set in order to " "immediately reuse previous sockets which were bound on the same *address* " "and remained in TIME_WAIT state." msgstr "" -#: ../../library/socket.rst:754 +#: ../../library/socket.rst:760 msgid "" "Return ``True`` if the platform supports creating a TCP socket which can " "handle both IPv4 and IPv6 connections." msgstr "" -#: ../../library/socket.rst:761 +#: ../../library/socket.rst:767 msgid "" "Duplicate the file descriptor *fd* (an integer as returned by a file " -"object's :meth:`fileno` method) and build a socket object from the result. " -"Address family, socket type and protocol number are as for the :func:`." -"socket` function above. The file descriptor should refer to a socket, but " -"this is not checked --- subsequent operations on the object may fail if the " -"file descriptor is invalid. This function is rarely needed, but can be used " -"to get or set socket options on a socket passed to a program as standard " -"input or output (such as a server started by the Unix inet daemon). The " -"socket is assumed to be in blocking mode." +"object's :meth:`~io.IOBase.fileno` method) and build a socket object from " +"the result. Address family, socket type and protocol number are as for " +"the :func:`~socket.socket` function above. The file descriptor should refer " +"to a socket, but this is not checked --- subsequent operations on the object " +"may fail if the file descriptor is invalid. This function is rarely needed, " +"but can be used to get or set socket options on a socket passed to a program " +"as standard input or output (such as a server started by the Unix inet " +"daemon). The socket is assumed to be in blocking mode." msgstr "" -#: ../../library/socket.rst:778 +#: ../../library/socket.rst:784 msgid "" "Instantiate a socket from data obtained from the :meth:`socket.share` " "method. The socket is assumed to be in blocking mode." msgstr "" -#: ../../library/socket.rst:781 ../../library/socket.rst:1872 +#: ../../library/socket.rst:787 ../../library/socket.rst:1879 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." -#: ../../library/socket.rst:788 +#: ../../library/socket.rst:794 msgid "" "This is a Python type object that represents the socket object type. It is " "the same as ``type(socket(...))``." msgstr "" -#: ../../library/socket.rst:793 +#: ../../library/socket.rst:799 msgid "Other functions" msgstr "Outras funções" -#: ../../library/socket.rst:795 +#: ../../library/socket.rst:801 msgid "The :mod:`socket` module also offers various network-related services:" msgstr "" -#: ../../library/socket.rst:800 +#: ../../library/socket.rst:806 msgid "" "Close a socket file descriptor. This is like :func:`os.close`, but for " "sockets. On some platforms (most noticeable Windows) :func:`os.close` does " "not work for socket file descriptors." msgstr "" -#: ../../library/socket.rst:808 +#: ../../library/socket.rst:814 msgid "" "Translate the *host*/*port* argument into a sequence of 5-tuples that " "contain all the necessary arguments for creating a socket connected to that " @@ -1011,7 +1026,7 @@ msgid "" "and *port*, you can pass ``NULL`` to the underlying C API." msgstr "" -#: ../../library/socket.rst:815 +#: ../../library/socket.rst:821 msgid "" "The *family*, *type* and *proto* arguments can be optionally specified in " "order to narrow the list of addresses returned. Passing zero as a value for " @@ -1022,50 +1037,53 @@ msgid "" "domain name." msgstr "" -#: ../../library/socket.rst:823 +#: ../../library/socket.rst:829 msgid "The function returns a list of 5-tuples with the following structure:" msgstr "" -#: ../../library/socket.rst:825 +#: ../../library/socket.rst:831 msgid "``(family, type, proto, canonname, sockaddr)``" -msgstr "" +msgstr "``(family, type, proto, canonname, sockaddr)``" -#: ../../library/socket.rst:827 +#: ../../library/socket.rst:833 msgid "" "In these tuples, *family*, *type*, *proto* are all integers and are meant to " -"be passed to the :func:`.socket` function. *canonname* will be a string " -"representing the canonical name of the *host* if :const:`AI_CANONNAME` is " -"part of the *flags* argument; else *canonname* will be empty. *sockaddr* is " -"a tuple describing a socket address, whose format depends on the returned " -"*family* (a ``(address, port)`` 2-tuple for :const:`AF_INET`, a ``(address, " -"port, flowinfo, scope_id)`` 4-tuple for :const:`AF_INET6`), and is meant to " -"be passed to the :meth:`socket.connect` method." +"be passed to the :func:`~socket.socket` function. *canonname* will be a " +"string representing the canonical name of the *host* " +"if :const:`AI_CANONNAME` is part of the *flags* argument; else *canonname* " +"will be empty. *sockaddr* is a tuple describing a socket address, whose " +"format depends on the returned *family* (a ``(address, port)`` 2-tuple " +"for :const:`AF_INET`, a ``(address, port, flowinfo, scope_id)`` 4-tuple " +"for :const:`AF_INET6`), and is meant to be passed to " +"the :meth:`socket.connect` method." msgstr "" -#: ../../library/socket.rst:846 +#: ../../library/socket.rst:854 msgid "" "Raises an :ref:`auditing event ` ``socket.getaddrinfo`` with " "arguments ``host``, ``port``, ``family``, ``type``, ``protocol``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``socket.getaddrinfo`` com " +"os argumentos ``host``, ``port``, ``family``, ``type``, ``protocol``." -#: ../../library/socket.rst:839 +#: ../../library/socket.rst:845 msgid "" "The following example fetches address information for a hypothetical TCP " "connection to ``example.org`` on port 80 (results may differ on your system " "if IPv6 isn't enabled)::" msgstr "" -#: ../../library/socket.rst:849 +#: ../../library/socket.rst:855 msgid "parameters can now be passed using keyword arguments." msgstr "" -#: ../../library/socket.rst:852 +#: ../../library/socket.rst:858 msgid "" "for IPv6 multicast addresses, string representing an address will not " "contain ``%scope_id`` part." msgstr "" -#: ../../library/socket.rst:858 +#: ../../library/socket.rst:864 msgid "" "Return a fully qualified domain name for *name*. If *name* is omitted or " "empty, it is interpreted as the local host. To find the fully qualified " @@ -1076,7 +1094,7 @@ msgid "" "``'0.0.0.0'``, the hostname from :func:`gethostname` is returned." msgstr "" -#: ../../library/socket.rst:869 +#: ../../library/socket.rst:875 msgid "" "Translate a host name to IPv4 address format. The IPv4 address is returned " "as a string, such as ``'100.50.200.5'``. If the host name is an IPv4 " @@ -1086,27 +1104,29 @@ msgid "" "stack support." msgstr "" -#: ../../library/socket.rst:884 ../../library/socket.rst:900 +#: ../../library/socket.rst:892 ../../library/socket.rst:908 msgid "" "Raises an :ref:`auditing event ` ``socket.gethostbyname`` with " "argument ``hostname``." msgstr "" - -#: ../../library/socket.rst:877 ../../library/socket.rst:893 -#: ../../library/socket.rst:906 ../../library/socket.rst:921 -#: ../../library/socket.rst:938 ../../library/socket.rst:949 -#: ../../library/socket.rst:960 ../../library/socket.rst:971 -#: ../../library/socket.rst:1295 ../../library/socket.rst:1342 -#: ../../library/socket.rst:1356 ../../library/socket.rst:1376 -#: ../../library/socket.rst:1423 ../../library/socket.rst:1468 -#: ../../library/socket.rst:1850 ../../library/socket.rst:1860 +"Levanta um :ref:`evento de auditoria ` ``socket.gethostbyname`` " +"com o argumento ``hostname``." + +#: ../../library/socket.rst:883 ../../library/socket.rst:899 +#: ../../library/socket.rst:912 ../../library/socket.rst:927 +#: ../../library/socket.rst:944 ../../library/socket.rst:955 +#: ../../library/socket.rst:966 ../../library/socket.rst:977 +#: ../../library/socket.rst:1301 ../../library/socket.rst:1348 +#: ../../library/socket.rst:1362 ../../library/socket.rst:1382 +#: ../../library/socket.rst:1429 ../../library/socket.rst:1474 +#: ../../library/socket.rst:1857 ../../library/socket.rst:1867 msgid ":ref:`Availability `: not WASI." msgstr ":ref:`Disponibilidade `: não WASI." -#: ../../library/socket.rst:882 +#: ../../library/socket.rst:888 msgid "" -"Translate a host name to IPv4 address format, extended interface. Return a " -"triple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is the host's " +"Translate a host name to IPv4 address format, extended interface. Return a 3-" +"tuple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is the host's " "primary host name, *aliaslist* is a (possibly empty) list of alternative " "host names for the same address, and *ipaddrlist* is a list of IPv4 " "addresses for the same interface on the same host (often but not always a " @@ -1115,42 +1135,46 @@ msgid "" "stack support." msgstr "" -#: ../../library/socket.rst:898 +#: ../../library/socket.rst:904 msgid "" "Return a string containing the hostname of the machine where the Python " "interpreter is currently executing." msgstr "" -#: ../../library/socket.rst:910 +#: ../../library/socket.rst:918 msgid "" "Raises an :ref:`auditing event ` ``socket.gethostname`` with no " "arguments." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``socket.gethostname`` sem " +"argumentos." -#: ../../library/socket.rst:903 +#: ../../library/socket.rst:909 msgid "" "Note: :func:`gethostname` doesn't always return the fully qualified domain " "name; use :func:`getfqdn` for that." msgstr "" -#: ../../library/socket.rst:911 +#: ../../library/socket.rst:917 msgid "" -"Return a triple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is " +"Return a 3-tuple ``(hostname, aliaslist, ipaddrlist)`` where *hostname* is " "the primary host name responding to the given *ip_address*, *aliaslist* is a " "(possibly empty) list of alternative host names for the same address, and " "*ipaddrlist* is a list of IPv4/v6 addresses for the same interface on the " "same host (most likely containing only a single address). To find the fully " -"qualified domain name, use the function :func:`getfqdn`. :func:" -"`gethostbyaddr` supports both IPv4 and IPv6." +"qualified domain name, use the " +"function :func:`getfqdn`. :func:`gethostbyaddr` supports both IPv4 and IPv6." msgstr "" -#: ../../library/socket.rst:928 +#: ../../library/socket.rst:936 msgid "" "Raises an :ref:`auditing event ` ``socket.gethostbyaddr`` with " "argument ``ip_address``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``socket.gethostbyaddr`` " +"com o argumento ``ip_address``." -#: ../../library/socket.rst:926 +#: ../../library/socket.rst:932 msgid "" "Translate a socket address *sockaddr* into a 2-tuple ``(host, port)``. " "Depending on the settings of *flags*, the result can contain a fully " @@ -1158,92 +1182,99 @@ msgid "" "Similarly, *port* can contain a string port name or a numeric port number." msgstr "" -#: ../../library/socket.rst:931 +#: ../../library/socket.rst:937 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 "" -#: ../../library/socket.rst:934 +#: ../../library/socket.rst:940 msgid "" "For more information about *flags* you can consult :manpage:`getnameinfo(3)`." msgstr "" -#: ../../library/socket.rst:945 +#: ../../library/socket.rst:953 msgid "" "Raises an :ref:`auditing event ` ``socket.getnameinfo`` with " "argument ``sockaddr``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``socket.getnameinfo`` com " +"o argumento ``sockaddr``." -#: ../../library/socket.rst:943 +#: ../../library/socket.rst:949 msgid "" "Translate an internet protocol name (for example, ``'icmp'``) to a constant " -"suitable for passing as the (optional) third argument to the :func:`.socket` " -"function. This is usually only needed for sockets opened in \"raw\" mode (:" -"const:`SOCK_RAW`); for the normal socket modes, the correct protocol is " -"chosen automatically if the protocol is omitted or zero." +"suitable for passing as the (optional) third argument to " +"the :func:`~socket.socket` function. This is usually only needed for " +"sockets opened in \"raw\" mode (:const:`SOCK_RAW`); for the normal socket " +"modes, the correct protocol is chosen automatically if the protocol is " +"omitted or zero." msgstr "" -#: ../../library/socket.rst:954 +#: ../../library/socket.rst:960 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 "" -#: ../../library/socket.rst:967 +#: ../../library/socket.rst:975 msgid "" "Raises an :ref:`auditing event ` ``socket.getservbyname`` with " "arguments ``servicename``, ``protocolname``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``socket.getservbyname`` " +"com os argumentos ``servicename``, ``protocolname``." -#: ../../library/socket.rst:965 +#: ../../library/socket.rst:971 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 "" -#: ../../library/socket.rst:978 +#: ../../library/socket.rst:986 msgid "" "Raises an :ref:`auditing event ` ``socket.getservbyport`` with " "arguments ``port``, ``protocolname``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``socket.getservbyport`` " +"com os argumentos ``port`` e ``protocolname``." -#: ../../library/socket.rst:976 +#: ../../library/socket.rst:982 msgid "" "Convert 32-bit positive integers from network to host byte order. On " "machines where the host byte order is the same as network byte order, this " "is a no-op; otherwise, it performs a 4-byte swap operation." msgstr "" -#: ../../library/socket.rst:983 +#: ../../library/socket.rst:989 msgid "" "Convert 16-bit positive integers from network to host byte order. On " "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 "" -#: ../../library/socket.rst:987 ../../library/socket.rst:1005 +#: ../../library/socket.rst:993 ../../library/socket.rst:1011 msgid "" "Raises :exc:`OverflowError` if *x* does not fit in a 16-bit unsigned integer." msgstr "" -#: ../../library/socket.rst:994 +#: ../../library/socket.rst:1000 msgid "" "Convert 32-bit positive integers from host to network byte order. On " "machines where the host byte order is the same as network byte order, this " "is a no-op; otherwise, it performs a 4-byte swap operation." msgstr "" -#: ../../library/socket.rst:1001 +#: ../../library/socket.rst:1007 msgid "" "Convert 16-bit positive integers from host to network byte order. On " "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 "" -#: ../../library/socket.rst:1012 +#: ../../library/socket.rst:1018 msgid "" "Convert an IPv4 address from dotted-quad string format (for example, " "'123.45.67.89') to 32-bit packed binary format, as a bytes object four " @@ -1252,26 +1283,26 @@ msgid "" "which is the C type for the 32-bit packed binary this function returns." msgstr "" -#: ../../library/socket.rst:1018 +#: ../../library/socket.rst:1024 msgid "" ":func:`inet_aton` also accepts strings with less than three dots; see the " "Unix manual page :manpage:`inet(3)` for details." msgstr "" -#: ../../library/socket.rst:1021 +#: ../../library/socket.rst:1027 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`." +"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 "" -#: ../../library/socket.rst:1025 +#: ../../library/socket.rst:1031 msgid "" ":func:`inet_aton` does not support IPv6, and :func:`inet_pton` should be " "used instead for IPv4/v6 dual stack support." msgstr "" -#: ../../library/socket.rst:1031 +#: ../../library/socket.rst:1037 msgid "" "Convert a 32-bit packed IPv4 address (a :term:`bytes-like object` four bytes " "in length) to its standard dotted-quad string representation (for example, " @@ -1281,7 +1312,7 @@ msgid "" "argument." msgstr "" -#: ../../library/socket.rst:1038 +#: ../../library/socket.rst:1044 msgid "" "If the byte sequence passed to this function is not exactly 4 bytes in " "length, :exc:`OSError` will be raised. :func:`inet_ntoa` does not support " @@ -1289,32 +1320,32 @@ msgid "" "support." msgstr "" -#: ../../library/socket.rst:1049 +#: ../../library/socket.rst:1055 msgid "" "Convert an IP address from its family-specific string format to a packed, " "binary format. :func:`inet_pton` is useful when a library or network " -"protocol calls for an object of type :c:struct:`in_addr` (similar to :func:" -"`inet_aton`) or :c:struct:`in6_addr`." +"protocol calls for an object of type :c:struct:`in_addr` (similar " +"to :func:`inet_aton`) or :c:struct:`in6_addr`." msgstr "" -#: ../../library/socket.rst:1054 +#: ../../library/socket.rst:1060 msgid "" -"Supported values for *address_family* are currently :const:`AF_INET` and :" -"const:`AF_INET6`. If the IP address string *ip_string* is invalid, :exc:" -"`OSError` will be raised. Note that exactly what is valid depends on both " -"the value of *address_family* and the underlying implementation of :c:func:" -"`inet_pton`." +"Supported values for *address_family* are currently :const:`AF_INET` " +"and :const:`AF_INET6`. If the IP address string *ip_string* is " +"invalid, :exc:`OSError` will be raised. Note that exactly what is valid " +"depends on both the value of *address_family* and the underlying " +"implementation of :c:func:`inet_pton`." msgstr "" -#: ../../library/socket.rst:1060 ../../library/socket.rst:1080 +#: ../../library/socket.rst:1066 ../../library/socket.rst:1086 msgid ":ref:`Availability `: Unix, Windows." msgstr ":ref:`Disponibilidade `: Unix, Windows." -#: ../../library/socket.rst:1062 ../../library/socket.rst:1082 +#: ../../library/socket.rst:1068 ../../library/socket.rst:1088 msgid "Windows support added" msgstr "Suporte para Windows adicionado." -#: ../../library/socket.rst:1068 +#: ../../library/socket.rst:1074 msgid "" "Convert a packed IP address (a :term:`bytes-like object` of some number of " "bytes) to its standard, family-specific string representation (for example, " @@ -1323,35 +1354,36 @@ msgid "" "(similar to :func:`inet_ntoa`) or :c:struct:`in6_addr`." msgstr "" -#: ../../library/socket.rst:1075 +#: ../../library/socket.rst:1081 msgid "" -"Supported values for *address_family* are currently :const:`AF_INET` and :" -"const:`AF_INET6`. If the bytes object *packed_ip* is not the correct length " -"for the specified address family, :exc:`ValueError` will be raised. :exc:" -"`OSError` is raised for errors from the call to :func:`inet_ntop`." +"Supported values for *address_family* are currently :const:`AF_INET` " +"and :const:`AF_INET6`. If the bytes object *packed_ip* is not the correct " +"length for the specified address family, :exc:`ValueError` will be " +"raised. :exc:`OSError` is raised for errors from the call " +"to :func:`inet_ntop`." msgstr "" -#: ../../library/socket.rst:1097 +#: ../../library/socket.rst:1103 msgid "" "Return the total length, without trailing padding, of an ancillary data item " "with associated data of the given *length*. This value can often be used as " "the buffer size for :meth:`~socket.recvmsg` to receive a single item of " -"ancillary data, but :rfc:`3542` requires portable applications to use :func:" -"`CMSG_SPACE` and thus include space for padding, even when the item will be " -"the last in the buffer. Raises :exc:`OverflowError` if *length* is outside " -"the permissible range of values." +"ancillary data, but :rfc:`3542` requires portable applications to " +"use :func:`CMSG_SPACE` and thus include space for padding, even when the " +"item will be the last in the buffer. Raises :exc:`OverflowError` if " +"*length* is outside the permissible range of values." msgstr "" -#: ../../library/socket.rst:1106 ../../library/socket.rst:1129 +#: ../../library/socket.rst:1112 ../../library/socket.rst:1135 msgid ":ref:`Availability `: Unix, not Emscripten, not WASI." msgstr ":ref:`Disponibilidade `: Unix, não Emscripten, não WASI." -#: ../../library/socket.rst:1108 ../../library/socket.rst:1598 -#: ../../library/socket.rst:1642 ../../library/socket.rst:1750 +#: ../../library/socket.rst:1114 ../../library/socket.rst:1605 +#: ../../library/socket.rst:1649 ../../library/socket.rst:1757 msgid "Most Unix platforms." msgstr "" -#: ../../library/socket.rst:1115 +#: ../../library/socket.rst:1121 msgid "" "Return the buffer size needed for :meth:`~socket.recvmsg` to receive an " "ancillary data item with associated data of the given *length*, along with " @@ -1361,7 +1393,7 @@ msgid "" "values." msgstr "" -#: ../../library/socket.rst:1123 +#: ../../library/socket.rst:1129 msgid "" "Note that some systems might support ancillary data without providing this " "function. Also note that setting the buffer size using the results of this " @@ -1369,146 +1401,150 @@ msgid "" "received, since additional data may be able to fit into the padding area." msgstr "" -#: ../../library/socket.rst:1131 +#: ../../library/socket.rst:1137 msgid "most Unix platforms." msgstr "" -#: ../../library/socket.rst:1138 +#: ../../library/socket.rst:1144 msgid "" "Return the default timeout in seconds (float) for new socket objects. A " "value of ``None`` indicates that new socket objects have no timeout. When " "the socket module is first imported, the default is ``None``." msgstr "" -#: ../../library/socket.rst:1145 +#: ../../library/socket.rst:1151 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." +"socket module is first imported, the default is ``None``. " +"See :meth:`~socket.settimeout` for possible values and their respective " +"meanings." msgstr "" -#: ../../library/socket.rst:1153 +#: ../../library/socket.rst:1159 msgid "" "Set the machine's hostname to *name*. This will raise an :exc:`OSError` if " "you don't have enough rights." msgstr "" -#: ../../library/socket.rst:1165 +#: ../../library/socket.rst:1173 msgid "" "Raises an :ref:`auditing event ` ``socket.sethostname`` with " "argument ``name``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``socket.sethostname`` com " +"o argumento ``name``." -#: ../../library/socket.rst:1158 ../../library/socket.rst:1596 -#: ../../library/socket.rst:1640 +#: ../../library/socket.rst:1164 ../../library/socket.rst:1603 +#: ../../library/socket.rst:1647 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." -#: ../../library/socket.rst:1165 +#: ../../library/socket.rst:1171 msgid "" "Return a list of network interface information (index int, name string) " "tuples. :exc:`OSError` if the system call fails." msgstr "" -#: ../../library/socket.rst:1169 ../../library/socket.rst:1196 -#: ../../library/socket.rst:1213 ../../library/socket.rst:1230 -#: ../../library/socket.rst:1244 +#: ../../library/socket.rst:1175 ../../library/socket.rst:1202 +#: ../../library/socket.rst:1219 ../../library/socket.rst:1236 +#: ../../library/socket.rst:1250 msgid "" ":ref:`Availability `: Unix, Windows, not Emscripten, not WASI." msgstr "" ":ref:`Disponibilidade `: Unix, Windows, não Emscripten, não " "WASI." -#: ../../library/socket.rst:1173 ../../library/socket.rst:1200 -#: ../../library/socket.rst:1217 +#: ../../library/socket.rst:1179 ../../library/socket.rst:1206 +#: ../../library/socket.rst:1223 msgid "Windows support was added." msgstr "Suporte ao Windows foi adicionado." -#: ../../library/socket.rst:1178 +#: ../../library/socket.rst:1184 msgid "" "On Windows network interfaces have different names in different contexts " "(all names are examples):" msgstr "" -#: ../../library/socket.rst:1181 +#: ../../library/socket.rst:1187 msgid "UUID: ``{FB605B73-AAC2-49A6-9A2F-25416AEA0573}``" msgstr "" -#: ../../library/socket.rst:1182 +#: ../../library/socket.rst:1188 msgid "name: ``ethernet_32770``" msgstr "" -#: ../../library/socket.rst:1183 +#: ../../library/socket.rst:1189 msgid "friendly name: ``vEthernet (nat)``" msgstr "" -#: ../../library/socket.rst:1184 +#: ../../library/socket.rst:1190 msgid "description: ``Hyper-V Virtual Ethernet Adapter``" msgstr "" -#: ../../library/socket.rst:1186 +#: ../../library/socket.rst:1192 msgid "" "This function returns names of the second form from the list, " "``ethernet_32770`` in this example case." msgstr "" -#: ../../library/socket.rst:1192 +#: ../../library/socket.rst:1198 msgid "" -"Return a network interface index number corresponding to an interface name. :" -"exc:`OSError` if no interface with the given name exists." +"Return a network interface index number corresponding to an interface " +"name. :exc:`OSError` if no interface with the given name exists." msgstr "" -#: ../../library/socket.rst:1204 ../../library/socket.rst:1221 +#: ../../library/socket.rst:1210 ../../library/socket.rst:1227 msgid "\"Interface name\" is a name as documented in :func:`if_nameindex`." msgstr "" -#: ../../library/socket.rst:1209 +#: ../../library/socket.rst:1215 msgid "" -"Return a network interface name corresponding to an interface index number. :" -"exc:`OSError` if no interface with the given index exists." +"Return a network interface name corresponding to an interface index " +"number. :exc:`OSError` if no interface with the given index exists." msgstr "" -#: ../../library/socket.rst:1226 +#: ../../library/socket.rst:1232 msgid "" "Send the list of file descriptors *fds* over an :const:`AF_UNIX` socket " -"*sock*. The *fds* parameter is a sequence of file descriptors. Consult :meth:" -"`sendmsg` for the documentation of these parameters." +"*sock*. The *fds* parameter is a sequence of file descriptors. " +"Consult :meth:`~socket.sendmsg` for the documentation of these parameters." msgstr "" -#: ../../library/socket.rst:1232 ../../library/socket.rst:1246 +#: ../../library/socket.rst:1238 ../../library/socket.rst:1252 msgid "" "Unix platforms supporting :meth:`~socket.sendmsg` and :const:`SCM_RIGHTS` " "mechanism." msgstr "" -#: ../../library/socket.rst:1240 +#: ../../library/socket.rst:1246 msgid "" "Receive up to *maxfds* file descriptors from an :const:`AF_UNIX` socket " -"*sock*. Return ``(msg, list(fds), flags, addr)``. Consult :meth:`recvmsg` " -"for the documentation of these parameters." +"*sock*. Return ``(msg, list(fds), flags, addr)``. " +"Consult :meth:`~socket.recvmsg` for the documentation of these parameters." msgstr "" -#: ../../library/socket.rst:1253 +#: ../../library/socket.rst:1259 msgid "Any truncated integers at the end of the list of file descriptors." msgstr "" -#: ../../library/socket.rst:1259 +#: ../../library/socket.rst:1265 msgid "Socket Objects" msgstr "" -#: ../../library/socket.rst:1261 +#: ../../library/socket.rst:1267 msgid "" -"Socket objects have the following methods. Except for :meth:`~socket." -"makefile`, these correspond to Unix system calls applicable to sockets." +"Socket objects have the following methods. Except " +"for :meth:`~socket.makefile`, these correspond to Unix system calls " +"applicable to sockets." msgstr "" -#: ../../library/socket.rst:1265 +#: ../../library/socket.rst:1271 msgid "" "Support for the :term:`context manager` protocol was added. Exiting the " "context manager is equivalent to calling :meth:`~socket.close`." msgstr "" -#: ../../library/socket.rst:1272 +#: ../../library/socket.rst:1278 msgid "" "Accept a connection. The socket must be bound to an address and listening " "for connections. The return value is a pair ``(conn, address)`` where *conn* " @@ -1517,33 +1553,35 @@ msgid "" "connection." msgstr "" -#: ../../library/socket.rst:1279 ../../library/socket.rst:1373 +#: ../../library/socket.rst:1285 ../../library/socket.rst:1379 msgid "The socket is now non-inheritable." msgstr "" -#: ../../library/socket.rst:1282 ../../library/socket.rst:1511 -#: ../../library/socket.rst:1525 ../../library/socket.rst:1602 -#: ../../library/socket.rst:1675 ../../library/socket.rst:1694 -#: ../../library/socket.rst:1711 ../../library/socket.rst:1756 +#: ../../library/socket.rst:1288 ../../library/socket.rst:1518 +#: ../../library/socket.rst:1532 ../../library/socket.rst:1609 +#: ../../library/socket.rst:1682 ../../library/socket.rst:1701 +#: ../../library/socket.rst:1718 ../../library/socket.rst:1763 msgid "" "If the system call is interrupted and the signal handler does not raise an " -"exception, the method now retries the system call instead of raising an :exc:" -"`InterruptedError` exception (see :pep:`475` for the rationale)." +"exception, the method now retries the system call instead of raising " +"an :exc:`InterruptedError` exception (see :pep:`475` for the rationale)." msgstr "" -#: ../../library/socket.rst:1290 +#: ../../library/socket.rst:1296 msgid "" "Bind the socket to *address*. The socket must not already be bound. (The " "format of *address* depends on the address family --- see above.)" msgstr "" -#: ../../library/socket.rst:1302 +#: ../../library/socket.rst:1310 msgid "" "Raises an :ref:`auditing event ` ``socket.bind`` with arguments " "``self``, ``address``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``socket.bind`` com os " +"argumentos ``self``, ``address``." -#: ../../library/socket.rst:1300 +#: ../../library/socket.rst:1306 msgid "" "Mark the socket closed. The underlying system resource (e.g. a file " "descriptor) is also closed when all file objects from :meth:`makefile()` are " @@ -1552,58 +1590,60 @@ msgid "" "flushed)." msgstr "" -#: ../../library/socket.rst:1306 +#: ../../library/socket.rst:1312 msgid "" "Sockets are automatically closed when they are garbage-collected, but it is " "recommended to :meth:`close` them explicitly, or to use a :keyword:`with` " "statement around them." msgstr "" -#: ../../library/socket.rst:1310 +#: ../../library/socket.rst:1316 msgid "" -":exc:`OSError` is now raised if an error occurs when the underlying :c:func:" -"`close` call is made." +":exc:`OSError` is now raised if an error occurs when the " +"underlying :c:func:`close` call is made." msgstr "" -#: ../../library/socket.rst:1316 +#: ../../library/socket.rst:1322 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()`." +"connection in a timely fashion, call :meth:`shutdown()` " +"before :meth:`close()`." msgstr "" -#: ../../library/socket.rst:1324 +#: ../../library/socket.rst:1330 msgid "" "Connect to a remote socket at *address*. (The format of *address* depends on " "the address family --- see above.)" msgstr "" -#: ../../library/socket.rst:1327 +#: ../../library/socket.rst:1333 msgid "" "If the connection is interrupted by a signal, the method waits until the " "connection completes, or raise a :exc:`TimeoutError` on timeout, if the " "signal handler doesn't raise an exception and the socket is blocking or has " -"a timeout. For non-blocking sockets, the method raises an :exc:" -"`InterruptedError` exception if the connection is interrupted by a signal " -"(or the exception raised by the signal handler)." +"a timeout. For non-blocking sockets, the method raises " +"an :exc:`InterruptedError` exception if the connection is interrupted by a " +"signal (or the exception raised by the signal handler)." msgstr "" -#: ../../library/socket.rst:1343 ../../library/socket.rst:1363 +#: ../../library/socket.rst:1351 ../../library/socket.rst:1371 msgid "" "Raises an :ref:`auditing event ` ``socket.connect`` with arguments " "``self``, ``address``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``socket.connect`` com os " +"argumentos ``self``, ``address``." -#: ../../library/socket.rst:1336 +#: ../../library/socket.rst:1342 msgid "" -"The method now waits until the connection completes instead of raising an :" -"exc:`InterruptedError` exception if the connection is interrupted by a " +"The method now waits until the connection completes instead of raising " +"an :exc:`InterruptedError` exception if the connection is interrupted by a " "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 "" -#: ../../library/socket.rst:1347 +#: ../../library/socket.rst:1353 msgid "" "Like ``connect(address)``, but return an error indicator instead of raising " "an exception for errors returned by the C-level :c:func:`connect` call " @@ -1613,38 +1653,38 @@ msgid "" "asynchronous connects." msgstr "" -#: ../../library/socket.rst:1360 +#: ../../library/socket.rst:1366 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 "" -#: ../../library/socket.rst:1369 +#: ../../library/socket.rst:1375 msgid "Duplicate the socket." msgstr "" -#: ../../library/socket.rst:1381 +#: ../../library/socket.rst:1387 msgid "" "Return the socket's file descriptor (a small integer), or -1 on failure. " "This is useful with :func:`select.select`." msgstr "" -#: ../../library/socket.rst:1384 +#: ../../library/socket.rst:1390 msgid "" "Under Windows the small integer returned by this method cannot be used where " "a file descriptor can be used (such as :func:`os.fdopen`). Unix does not " "have this limitation." msgstr "" -#: ../../library/socket.rst:1390 +#: ../../library/socket.rst:1396 msgid "" "Get the :ref:`inheritable flag ` of the socket's file " "descriptor or socket's handle: ``True`` if the socket can be inherited in " "child processes, ``False`` if it cannot." msgstr "" -#: ../../library/socket.rst:1399 +#: ../../library/socket.rst:1405 msgid "" "Return the remote address to which the socket is connected. This is useful " "to find out the port number of a remote IPv4/v6 socket, for instance. (The " @@ -1652,69 +1692,71 @@ msgid "" "above.) On some systems this function is not supported." msgstr "" -#: ../../library/socket.rst:1407 +#: ../../library/socket.rst:1413 msgid "" "Return the socket's own address. This is useful to find out the port number " "of an IPv4/v6 socket, for instance. (The format of the address returned " "depends on the address family --- see above.)" msgstr "" -#: ../../library/socket.rst:1414 +#: ../../library/socket.rst:1420 msgid "" -"Return the value of the given socket option (see the Unix man page :manpage:" -"`getsockopt(2)`). The needed symbolic constants (:const:`SO_\\*` etc.) are " -"defined in this module. If *buflen* is absent, an integer option is assumed " -"and its integer value is returned by the function. If *buflen* is present, " -"it specifies the maximum length of the buffer used to receive the option in, " -"and this buffer is returned as a bytes object. It is up to the caller to " -"decode the contents of the buffer (see the optional built-in module :mod:" -"`struct` for a way to decode C structures encoded as byte strings)." +"Return the value of the given socket option (see the Unix man " +"page :manpage:`getsockopt(2)`). The needed symbolic constants (:ref:`SO_\\* " +"etc. `) are defined in this module. If *buflen* is " +"absent, an integer option is assumed and its integer value is returned by " +"the function. If *buflen* is present, it specifies the maximum length of " +"the buffer used to receive the option in, and this buffer is returned as a " +"bytes object. It is up to the caller to decode the contents of the buffer " +"(see the optional built-in module :mod:`struct` for a way to decode C " +"structures encoded as byte strings)." msgstr "" -#: ../../library/socket.rst:1428 +#: ../../library/socket.rst:1434 msgid "" "Return ``True`` if socket is in blocking mode, ``False`` if in non-blocking." msgstr "" -#: ../../library/socket.rst:1431 -msgid "This is equivalent to checking ``socket.gettimeout() == 0``." +#: ../../library/socket.rst:1437 +msgid "This is equivalent to checking ``socket.gettimeout() != 0``." msgstr "" -#: ../../library/socket.rst:1438 +#: ../../library/socket.rst:1444 msgid "" "Return the timeout in seconds (float) associated with socket operations, or " -"``None`` if no timeout is set. This reflects the last call to :meth:" -"`setblocking` or :meth:`settimeout`." +"``None`` if no timeout is set. This reflects the last call " +"to :meth:`setblocking` or :meth:`settimeout`." msgstr "" #: ../../library/socket.rst:0 msgid "platform" msgstr "platform" -#: ../../library/socket.rst:1445 +#: ../../library/socket.rst:1451 msgid "Windows" msgstr "Windows" -#: ../../library/socket.rst:1447 +#: ../../library/socket.rst:1453 msgid "" "The :meth:`ioctl` method is a limited interface to the WSAIoctl system " -"interface. Please refer to the `Win32 documentation `_ for more information." +"interface. Please refer to the `Win32 documentation `_ for more " +"information." msgstr "" -#: ../../library/socket.rst:1452 +#: ../../library/socket.rst:1458 msgid "" "On other platforms, the generic :func:`fcntl.fcntl` and :func:`fcntl.ioctl` " "functions may be used; they accept a socket object as their first argument." msgstr "" -#: ../../library/socket.rst:1455 +#: ../../library/socket.rst:1461 msgid "" "Currently only the following control codes are supported: ``SIO_RCVALL``, " "``SIO_KEEPALIVE_VALS``, and ``SIO_LOOPBACK_FAST_PATH``." msgstr "" -#: ../../library/socket.rst:1463 +#: ../../library/socket.rst:1469 msgid "" "Enable a server to accept connections. If *backlog* is specified, it must " "be at least 0 (if it is lower, it is set to 0); it specifies the number of " @@ -1722,11 +1764,11 @@ msgid "" "connections. If not specified, a default reasonable value is chosen." msgstr "" -#: ../../library/socket.rst:1470 +#: ../../library/socket.rst:1476 msgid "The *backlog* parameter is now optional." msgstr "" -#: ../../library/socket.rst:1479 +#: ../../library/socket.rst:1485 msgid "" "Return a :term:`file object` associated with the socket. The exact returned " "type depends on the arguments given to :meth:`makefile`. These arguments " @@ -1735,43 +1777,44 @@ msgid "" "``'b'``." msgstr "" -#: ../../library/socket.rst:1484 +#: ../../library/socket.rst:1490 msgid "" "The socket must be in blocking mode; it can have a timeout, but the file " "object's internal buffer may end up in an inconsistent state if a timeout " "occurs." msgstr "" -#: ../../library/socket.rst:1488 +#: ../../library/socket.rst:1494 msgid "" "Closing the file object returned by :meth:`makefile` won't close the " -"original socket unless all other file objects have been closed and :meth:" -"`socket.close` has been called on the socket object." +"original socket unless all other file objects have been closed " +"and :meth:`socket.close` has been called on the socket object." msgstr "" -#: ../../library/socket.rst:1494 +#: ../../library/socket.rst:1500 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 "" -#: ../../library/socket.rst:1501 +#: ../../library/socket.rst:1507 msgid "" "Receive data from the socket. The return value is a bytes object " "representing the data received. The maximum amount of data to be received " -"at once is specified by *bufsize*. See the Unix manual page :manpage:" -"`recv(2)` for the meaning of the optional argument *flags*; it defaults to " -"zero." +"at once is specified by *bufsize*. A returned empty bytes object indicates " +"that the client has disconnected. See the Unix manual " +"page :manpage:`recv(2)` for the meaning of the optional argument *flags*; it " +"defaults to zero." msgstr "" -#: ../../library/socket.rst:1508 +#: ../../library/socket.rst:1515 msgid "" "For best match with hardware and network realities, the value of *bufsize* " "should be a relatively small power of 2, for example, 4096." msgstr "" -#: ../../library/socket.rst:1519 +#: ../../library/socket.rst:1526 msgid "" "Receive data from the socket. The return value is a pair ``(bytes, " "address)`` where *bytes* is a bytes object representing the data received " @@ -1781,14 +1824,14 @@ msgid "" "address family --- see above.)" msgstr "" -#: ../../library/socket.rst:1530 +#: ../../library/socket.rst:1537 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`." +"``%scope_id`` part anymore. In order to get full IPv6 address " +"use :func:`getnameinfo`." msgstr "" -#: ../../library/socket.rst:1537 +#: ../../library/socket.rst:1544 msgid "" "Receive normal data (up to *bufsize* bytes) and ancillary data from the " "socket. The *ancbufsize* argument sets the size in bytes of the internal " @@ -1799,7 +1842,7 @@ msgid "" "*flags* argument defaults to 0 and has the same meaning as for :meth:`recv`." msgstr "" -#: ../../library/socket.rst:1547 +#: ../../library/socket.rst:1554 msgid "" "The return value is a 4-tuple: ``(data, ancdata, msg_flags, address)``. The " "*data* item is a :class:`bytes` object holding the non-ancillary data " @@ -1814,51 +1857,53 @@ msgid "" "socket, if available; otherwise, its value is unspecified." msgstr "" -#: ../../library/socket.rst:1561 +#: ../../library/socket.rst:1568 msgid "" "On some systems, :meth:`sendmsg` and :meth:`recvmsg` can be used to pass " "file descriptors between processes over an :const:`AF_UNIX` socket. When " "this facility is used (it is often restricted to :const:`SOCK_STREAM` " "sockets), :meth:`recvmsg` will return, in its ancillary data, items of the " -"form ``(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)``, where *fds* is a :" -"class:`bytes` object representing the new file descriptors as a binary array " -"of the native C :c:expr:`int` type. If :meth:`recvmsg` raises an exception " -"after the system call returns, it will first attempt to close any file " -"descriptors received via this mechanism." +"form ``(socket.SOL_SOCKET, socket.SCM_RIGHTS, fds)``, where *fds* is " +"a :class:`bytes` object representing the new file descriptors as a binary " +"array of the native C :c:expr:`int` type. If :meth:`recvmsg` raises an " +"exception after the system call returns, it will first attempt to close any " +"file descriptors received via this mechanism." msgstr "" -#: ../../library/socket.rst:1572 +#: ../../library/socket.rst:1579 msgid "" "Some systems do not indicate the truncated length of ancillary data items " "which have been only partially received. If an item appears to extend " -"beyond the end of the buffer, :meth:`recvmsg` will issue a :exc:" -"`RuntimeWarning`, and will return the part of it which is inside the buffer " -"provided it has not been truncated before the start of its associated data." +"beyond the end of the buffer, :meth:`recvmsg` will issue " +"a :exc:`RuntimeWarning`, and will return the part of it which is inside the " +"buffer provided it has not been truncated before the start of its associated " +"data." msgstr "" -#: ../../library/socket.rst:1579 +#: ../../library/socket.rst:1586 msgid "" "On systems which support the :const:`SCM_RIGHTS` mechanism, the following " "function will receive up to *maxfds* file descriptors, returning the message " "data and a list containing the descriptors (while ignoring unexpected " -"conditions such as unrelated control messages being received). See also :" -"meth:`sendmsg`. ::" +"conditions such as unrelated control messages being received). See " +"also :meth:`sendmsg`. ::" msgstr "" -#: ../../library/socket.rst:1610 +#: ../../library/socket.rst:1617 msgid "" -"Receive normal data and ancillary data from the socket, behaving as :meth:" -"`recvmsg` would, but scatter the non-ancillary data into a series of buffers " -"instead of returning a new bytes object. The *buffers* argument must be an " -"iterable of objects that export writable buffers (e.g. :class:`bytearray` " -"objects); these will be filled with successive chunks of the non-ancillary " -"data until it has all been written or there are no more buffers. The " -"operating system may set a limit (:func:`~os.sysconf` value ``SC_IOV_MAX``) " -"on the number of buffers that can be used. The *ancbufsize* and *flags* " -"arguments have the same meaning as for :meth:`recvmsg`." +"Receive normal data and ancillary data from the socket, behaving " +"as :meth:`recvmsg` would, but scatter the non-ancillary data into a series " +"of buffers instead of returning a new bytes object. The *buffers* argument " +"must be an iterable of objects that export writable buffers " +"(e.g. :class:`bytearray` objects); these will be filled with successive " +"chunks of the non-ancillary data until it has all been written or there are " +"no more buffers. The operating system may set a limit (:func:`~os.sysconf` " +"value ``SC_IOV_MAX``) on the number of buffers that can be used. The " +"*ancbufsize* and *flags* arguments have the same meaning as " +"for :meth:`recvmsg`." msgstr "" -#: ../../library/socket.rst:1621 +#: ../../library/socket.rst:1628 msgid "" "The return value is a 4-tuple: ``(nbytes, ancdata, msg_flags, address)``, " "where *nbytes* is the total number of bytes of non-ancillary data written " @@ -1866,11 +1911,11 @@ msgid "" "for :meth:`recvmsg`." msgstr "" -#: ../../library/socket.rst:1626 +#: ../../library/socket.rst:1633 msgid "Example::" msgstr "Exemplo::" -#: ../../library/socket.rst:1649 +#: ../../library/socket.rst:1656 msgid "" "Receive data from the socket, writing it into *buffer* instead of creating a " "new bytestring. The return value is a pair ``(nbytes, address)`` where " @@ -1880,7 +1925,7 @@ msgid "" "format of *address* depends on the address family --- see above.)" msgstr "" -#: ../../library/socket.rst:1659 +#: ../../library/socket.rst:1666 msgid "" "Receive up to *nbytes* bytes from the socket, storing the data into a buffer " "rather than creating a new bytestring. If *nbytes* is not specified (or 0), " @@ -1889,7 +1934,7 @@ msgid "" "of the optional argument *flags*; it defaults to zero." msgstr "" -#: ../../library/socket.rst:1668 +#: ../../library/socket.rst:1675 msgid "" "Send data to the socket. The socket must be connected to a remote socket. " "The optional *flags* argument has the same meaning as for :meth:`recv` " @@ -1899,7 +1944,7 @@ msgid "" "data. For further information on this topic, consult the :ref:`socket-howto`." msgstr "" -#: ../../library/socket.rst:1683 +#: ../../library/socket.rst:1690 msgid "" "Send data to the socket. The socket must be connected to a remote socket. " "The optional *flags* argument has the same meaning as for :meth:`recv` " @@ -1909,13 +1954,13 @@ msgid "" "to determine how much data, if any, was successfully sent." msgstr "" -#: ../../library/socket.rst:1690 +#: ../../library/socket.rst:1697 msgid "" "The socket timeout is no longer reset each time data is sent successfully. " "The socket timeout is now the maximum total duration to send all data." msgstr "" -#: ../../library/socket.rst:1703 +#: ../../library/socket.rst:1710 msgid "" "Send data to the socket. The socket should not be connected to a remote " "socket, since the destination socket is specified by *address*. The " @@ -1924,19 +1969,21 @@ msgid "" "address family --- see above.)" msgstr "" -#: ../../library/socket.rst:1718 +#: ../../library/socket.rst:1727 msgid "" "Raises an :ref:`auditing event ` ``socket.sendto`` with arguments " "``self``, ``address``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``socket.sendto`` com os " +"argumentos ``self``, ``address``." -#: ../../library/socket.rst:1719 +#: ../../library/socket.rst:1726 msgid "" "Send normal and ancillary data to the socket, gathering the non-ancillary " "data from a series of buffers and concatenating it into a single message. " -"The *buffers* argument specifies the non-ancillary data as an iterable of :" -"term:`bytes-like objects ` (e.g. :class:`bytes` objects); " -"the operating system may set a limit (:func:`~os.sysconf` value " +"The *buffers* argument specifies the non-ancillary data as an iterable " +"of :term:`bytes-like objects ` (e.g. :class:`bytes` " +"objects); the operating system may set a limit (:func:`~os.sysconf` value " "``SC_IOV_MAX``) on the number of buffers that can be used. The *ancdata* " "argument specifies the ancillary data (control messages) as an iterable of " "zero or more tuples ``(cmsg_level, cmsg_type, cmsg_data)``, where " @@ -1950,162 +1997,167 @@ msgid "" "bytes of non-ancillary data sent." msgstr "" -#: ../../library/socket.rst:1739 +#: ../../library/socket.rst:1746 msgid "" -"The following function sends the list of file descriptors *fds* over an :" -"const:`AF_UNIX` socket, on systems which support the :const:`SCM_RIGHTS` " +"The following function sends the list of file descriptors *fds* over " +"an :const:`AF_UNIX` socket, on systems which support the :const:`SCM_RIGHTS` " "mechanism. See also :meth:`recvmsg`. ::" msgstr "" -#: ../../library/socket.rst:1748 +#: ../../library/socket.rst:1755 msgid ":ref:`Availability `: Unix, not WASI." msgstr ":ref:`Disponibilidade `: Unix, não WASI." -#: ../../library/socket.rst:1761 +#: ../../library/socket.rst:1770 msgid "" "Raises an :ref:`auditing event ` ``socket.sendmsg`` with arguments " "``self``, ``address``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``socket.sendmsg`` com os " +"argumentos ``self``, ``address``." -#: ../../library/socket.rst:1763 +#: ../../library/socket.rst:1770 msgid "" "Specialized version of :meth:`~socket.sendmsg` for :const:`AF_ALG` socket. " "Set mode, IV, AEAD associated data length and flags for :const:`AF_ALG` " "socket." msgstr "" -#: ../../library/socket.rst:1772 +#: ../../library/socket.rst:1779 msgid "" -"Send a file until EOF is reached by using high-performance :mod:`os." -"sendfile` and return the total number of bytes which were sent. *file* must " -"be a regular file object opened in binary mode. If :mod:`os.sendfile` is not " -"available (e.g. Windows) or *file* is not a regular file :meth:`send` will " -"be used instead. *offset* tells from where to start reading the file. If " -"specified, *count* is the total number of bytes to transmit as opposed to " -"sending the file until EOF is reached. File position is updated on return or " -"also in case of error in which case :meth:`file.tell() ` can " -"be used to figure out the number of bytes which were sent. The socket must " -"be of :const:`SOCK_STREAM` type. Non-blocking sockets are not supported." +"Send a file until EOF is reached by using high-" +"performance :mod:`os.sendfile` and return the total number of bytes which " +"were sent. *file* must be a regular file object opened in binary mode. " +"If :mod:`os.sendfile` is not available (e.g. Windows) or *file* is not a " +"regular file :meth:`send` will be used instead. *offset* tells from where to " +"start reading the file. If specified, *count* is the total number of bytes " +"to transmit as opposed to sending the file until EOF is reached. File " +"position is updated on return or also in case of error in which " +"case :meth:`file.tell() ` can be used to figure out the " +"number of bytes which were sent. The socket must be of :const:`SOCK_STREAM` " +"type. Non-blocking sockets are not supported." msgstr "" -#: ../../library/socket.rst:1788 +#: ../../library/socket.rst:1795 msgid "" "Set the :ref:`inheritable flag ` of the socket's file " "descriptor or socket's handle." msgstr "" -#: ../../library/socket.rst:1796 +#: ../../library/socket.rst:1803 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 "" -#: ../../library/socket.rst:1799 +#: ../../library/socket.rst:1806 msgid "" "This method is a shorthand for certain :meth:`~socket.settimeout` calls:" msgstr "" -#: ../../library/socket.rst:1801 +#: ../../library/socket.rst:1808 msgid "``sock.setblocking(True)`` is equivalent to ``sock.settimeout(None)``" msgstr "" -#: ../../library/socket.rst:1803 +#: ../../library/socket.rst:1810 msgid "``sock.setblocking(False)`` is equivalent to ``sock.settimeout(0.0)``" msgstr "" -#: ../../library/socket.rst:1805 +#: ../../library/socket.rst:1812 msgid "" -"The method no longer applies :const:`SOCK_NONBLOCK` flag on :attr:`socket." -"type`." +"The method no longer applies :const:`SOCK_NONBLOCK` flag " +"on :attr:`socket.type`." msgstr "" -#: ../../library/socket.rst:1812 +#: ../../library/socket.rst:1819 msgid "" "Set a timeout on blocking socket operations. The *value* argument can be a " "nonnegative floating point number expressing seconds, or ``None``. If a non-" -"zero value is given, subsequent socket operations will raise a :exc:" -"`timeout` exception if the timeout period *value* has elapsed before the " -"operation has completed. If zero is given, the socket is put in non-" +"zero value is given, subsequent socket operations will raise " +"a :exc:`timeout` exception if the timeout period *value* has elapsed before " +"the operation has completed. If zero is given, the socket is put in non-" "blocking mode. If ``None`` is given, the socket is put in blocking mode." msgstr "" -#: ../../library/socket.rst:1819 +#: ../../library/socket.rst:1826 msgid "" "For further information, please consult the :ref:`notes on socket timeouts " "`." msgstr "" -#: ../../library/socket.rst:1821 +#: ../../library/socket.rst:1828 msgid "" -"The method no longer toggles :const:`SOCK_NONBLOCK` flag on :attr:`socket." -"type`." +"The method no longer toggles :const:`SOCK_NONBLOCK` flag " +"on :attr:`socket.type`." msgstr "" -#: ../../library/socket.rst:1834 +#: ../../library/socket.rst:1841 msgid "" -"Set the value of the given socket option (see the Unix manual page :manpage:" -"`setsockopt(2)`). The needed symbolic constants are defined in the :mod:" -"`socket` module (:const:`SO_\\*` etc.). The value can be an integer, " -"``None`` or a :term:`bytes-like object` representing a buffer. In the later " -"case it is up to the caller to ensure that the bytestring contains the " -"proper bits (see the optional built-in module :mod:`struct` for a way to " -"encode C structures as bytestrings). When *value* is set to ``None``, " -"*optlen* argument is required. It's equivalent to call :c:func:`setsockopt` " -"C function with ``optval=NULL`` and ``optlen=optlen``." +"Set the value of the given socket option (see the Unix manual " +"page :manpage:`setsockopt(2)`). The needed symbolic constants are defined " +"in this module (:ref:`!SO_\\* etc. `). The value can " +"be an integer, ``None`` or a :term:`bytes-like object` representing a " +"buffer. In the later case it is up to the caller to ensure that the " +"bytestring contains the proper bits (see the optional built-in " +"module :mod:`struct` for a way to encode C structures as bytestrings). When " +"*value* is set to ``None``, *optlen* argument is required. It's equivalent " +"to call :c:func:`setsockopt` C function with ``optval=NULL`` and " +"``optlen=optlen``." msgstr "" -#: ../../library/socket.rst:1847 +#: ../../library/socket.rst:1854 msgid "setsockopt(level, optname, None, optlen: int) form added." msgstr "" -#: ../../library/socket.rst:1855 +#: ../../library/socket.rst:1862 msgid "" -"Shut down one or both halves of the connection. If *how* is :const:" -"`SHUT_RD`, further receives are disallowed. If *how* is :const:`SHUT_WR`, " -"further sends are disallowed. If *how* is :const:`SHUT_RDWR`, further sends " -"and receives are disallowed." +"Shut down one or both halves of the connection. If *how* " +"is :const:`SHUT_RD`, further receives are disallowed. If *how* " +"is :const:`SHUT_WR`, further sends are disallowed. If *how* " +"is :const:`SHUT_RDWR`, further sends and receives are disallowed." msgstr "" -#: ../../library/socket.rst:1865 +#: ../../library/socket.rst:1872 msgid "" "Duplicate a socket and prepare it for sharing with a target process. The " "target process must be provided with *process_id*. The resulting bytes " "object can then be passed to the target process using some form of " -"interprocess communication and the socket can be recreated there using :func:" -"`fromshare`. Once this method has been called, it is safe to close the " -"socket since the operating system has already duplicated it for the target " -"process." +"interprocess communication and the socket can be recreated there " +"using :func:`fromshare`. Once this method has been called, it is safe to " +"close the socket since the operating system has already duplicated it for " +"the target process." msgstr "" -#: ../../library/socket.rst:1877 +#: ../../library/socket.rst:1884 msgid "" -"Note that there are no methods :meth:`read` or :meth:`write`; use :meth:" -"`~socket.recv` and :meth:`~socket.send` without *flags* argument instead." +"Note that there are no methods :meth:`read` or :meth:`write`; " +"use :meth:`~socket.recv` and :meth:`~socket.send` without *flags* argument " +"instead." msgstr "" -#: ../../library/socket.rst:1880 +#: ../../library/socket.rst:1887 msgid "" "Socket objects also have these (read-only) attributes that correspond to the " "values given to the :class:`~socket.socket` constructor." msgstr "" -#: ../../library/socket.rst:1886 +#: ../../library/socket.rst:1893 msgid "The socket family." msgstr "" -#: ../../library/socket.rst:1891 +#: ../../library/socket.rst:1898 msgid "The socket type." msgstr "" -#: ../../library/socket.rst:1896 +#: ../../library/socket.rst:1903 msgid "The socket protocol." msgstr "" -#: ../../library/socket.rst:1903 +#: ../../library/socket.rst:1910 msgid "Notes on socket timeouts" msgstr "Notas sobre tempo limite de soquete" -#: ../../library/socket.rst:1905 +#: ../../library/socket.rst:1912 msgid "" "A socket object can be in one of three modes: blocking, non-blocking, or " "timeout. Sockets are by default always created in blocking mode, but this " @@ -2115,13 +2167,13 @@ msgstr "" "tempo limite. Por padrão, os soquetes sempre são criados no modo de " "bloqueio, mas isso pode ser alterado chamando :func:`setdefaulttimeout`." -#: ../../library/socket.rst:1909 +#: ../../library/socket.rst:1916 msgid "" "In *blocking mode*, operations block until complete or the system returns an " "error (such as connection timed out)." msgstr "" -#: ../../library/socket.rst:1912 +#: ../../library/socket.rst:1919 msgid "" "In *non-blocking mode*, operations fail (with an error that is unfortunately " "system-dependent) if they cannot be completed immediately: functions from " @@ -2129,14 +2181,14 @@ msgid "" "available for reading or writing." msgstr "" -#: ../../library/socket.rst:1917 +#: ../../library/socket.rst:1924 msgid "" "In *timeout mode*, operations fail if they cannot be completed within the " "timeout specified for the socket (they raise a :exc:`timeout` exception) or " "if the system returns an error." msgstr "" -#: ../../library/socket.rst:1922 +#: ../../library/socket.rst:1929 msgid "" "At the operating system level, sockets in *timeout mode* are internally set " "in non-blocking mode. Also, the blocking and timeout modes are shared " @@ -2145,38 +2197,38 @@ msgid "" "you decide to use the :meth:`~socket.fileno()` of a socket." msgstr "" -#: ../../library/socket.rst:1929 +#: ../../library/socket.rst:1936 msgid "Timeouts and the ``connect`` method" msgstr "" -#: ../../library/socket.rst:1931 +#: ../../library/socket.rst:1938 msgid "" "The :meth:`~socket.connect` operation is also subject to the timeout " "setting, and in general it is recommended to call :meth:`~socket.settimeout` " -"before calling :meth:`~socket.connect` or pass a timeout parameter to :meth:" -"`create_connection`. However, the system network stack may also return a " -"connection timeout error of its own regardless of any Python socket timeout " -"setting." +"before calling :meth:`~socket.connect` or pass a timeout parameter " +"to :meth:`create_connection`. However, the system network stack may also " +"return a connection timeout error of its own regardless of any Python socket " +"timeout setting." msgstr "" -#: ../../library/socket.rst:1939 +#: ../../library/socket.rst:1946 msgid "Timeouts and the ``accept`` method" msgstr "" -#: ../../library/socket.rst:1941 +#: ../../library/socket.rst:1948 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:" +"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 "" -#: ../../library/socket.rst:1945 +#: ../../library/socket.rst:1952 msgid "" "if the listening socket is in *blocking mode* or in *timeout mode*, the " "socket returned by :meth:`~socket.accept` is in *blocking mode*;" msgstr "" -#: ../../library/socket.rst:1948 +#: ../../library/socket.rst:1955 msgid "" "if the listening socket is in *non-blocking mode*, whether the socket " "returned by :meth:`~socket.accept` is in blocking or non-blocking mode is " @@ -2184,106 +2236,107 @@ msgid "" "it is recommended you manually override this setting." msgstr "" -#: ../../library/socket.rst:1957 +#: ../../library/socket.rst:1964 msgid "Example" msgstr "Exemplo" -#: ../../library/socket.rst:1959 +#: ../../library/socket.rst:1966 msgid "" "Here are four minimal example programs using the TCP/IP protocol: a server " "that echoes all data that it receives back (servicing only one client), and " -"a client using it. Note that a server must perform the sequence :func:`." -"socket`, :meth:`~socket.bind`, :meth:`~socket.listen`, :meth:`~socket." -"accept` (possibly repeating the :meth:`~socket.accept` to service more than " -"one client), while a client only needs the sequence :func:`.socket`, :meth:" -"`~socket.connect`. Also note that the server does not :meth:`~socket." -"sendall`/:meth:`~socket.recv` on the socket it is listening on but on the " -"new socket returned by :meth:`~socket.accept`." +"a client using it. Note that a server must perform the " +"sequence :func:`~socket.socket`, :meth:`~socket.bind`, :meth:`~socket.listen`, :meth:`~socket.accept` " +"(possibly repeating the :meth:`~socket.accept` to service more than one " +"client), while a client only needs the " +"sequence :func:`~socket.socket`, :meth:`~socket.connect`. Also note that " +"the server does not :meth:`~socket.sendall`/:meth:`~socket.recv` on the " +"socket it is listening on but on the new socket returned " +"by :meth:`~socket.accept`." msgstr "" -#: ../../library/socket.rst:1969 +#: ../../library/socket.rst:1976 msgid "The first two examples support IPv4 only. ::" msgstr "" -#: ../../library/socket.rst:2000 +#: ../../library/socket.rst:2007 msgid "" "The next two examples are identical to the above two, but support both IPv4 " "and IPv6. The server side will listen to the first address family available " "(it should listen to both instead). On most of IPv6-ready systems, IPv6 will " "take precedence and the server may not accept IPv4 traffic. The client side " -"will try to connect to the all addresses returned as a result of the name " +"will try to connect to all the addresses returned as a result of the name " "resolution, and sends traffic to the first one connected successfully. ::" msgstr "" -#: ../../library/socket.rst:2072 +#: ../../library/socket.rst:2079 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 "" -#: ../../library/socket.rst:2097 +#: ../../library/socket.rst:2104 msgid "" "The next example shows how to use the socket interface to communicate to a " "CAN network using the raw socket protocol. To use CAN with the broadcast " "manager protocol instead, open a socket with::" msgstr "" -#: ../../library/socket.rst:2103 +#: ../../library/socket.rst:2110 msgid "" "After binding (:const:`CAN_RAW`) or connecting (:const:`CAN_BCM`) the " "socket, you can use the :meth:`socket.send` and :meth:`socket.recv` " "operations (and their counterparts) on the socket object as usual." msgstr "" -#: ../../library/socket.rst:2107 +#: ../../library/socket.rst:2114 msgid "This last example might require special privileges::" msgstr "" -#: ../../library/socket.rst:2147 +#: ../../library/socket.rst:2154 msgid "" "Running an example several times with too small delay between executions, " "could lead to this error::" msgstr "" -#: ../../library/socket.rst:2152 +#: ../../library/socket.rst:2159 msgid "" "This is because the previous execution has left the socket in a " "``TIME_WAIT`` state, and can't be immediately reused." msgstr "" -#: ../../library/socket.rst:2155 +#: ../../library/socket.rst:2162 msgid "" -"There is a :mod:`socket` flag to set, in order to prevent this, :data:" -"`socket.SO_REUSEADDR`::" +"There is a :mod:`socket` flag to set, in order to prevent " +"this, :const:`socket.SO_REUSEADDR`::" msgstr "" -#: ../../library/socket.rst:2162 +#: ../../library/socket.rst:2169 msgid "" "the :data:`SO_REUSEADDR` flag tells the kernel to reuse a local socket in " "``TIME_WAIT`` state, without waiting for its natural timeout to expire." msgstr "" -#: ../../library/socket.rst:2168 +#: ../../library/socket.rst:2175 msgid "" "For an introduction to socket programming (in C), see the following papers:" msgstr "" "Para uma introdução à programação de socket (em C), veja os seguintes " "artigos:" -#: ../../library/socket.rst:2170 +#: ../../library/socket.rst:2177 msgid "" "*An Introductory 4.3BSD Interprocess Communication Tutorial*, by Stuart " "Sechrest" msgstr "" -#: ../../library/socket.rst:2172 +#: ../../library/socket.rst:2179 msgid "" "*An Advanced 4.3BSD Interprocess Communication Tutorial*, by Samuel J. " "Leffler et al," msgstr "" -#: ../../library/socket.rst:2175 +#: ../../library/socket.rst:2182 msgid "" "both in the UNIX Programmer's Manual, Supplementary Documents 1 (sections " "PS1:7 and PS1:8). The platform-specific reference material for the various " @@ -2302,18 +2355,18 @@ msgstr "objeto" msgid "socket" msgstr "socket" -#: ../../library/socket.rst:1477 +#: ../../library/socket.rst:1483 msgid "I/O control" -msgstr "" +msgstr "controle de E/S" -#: ../../library/socket.rst:1477 +#: ../../library/socket.rst:1483 msgid "buffering" -msgstr "" +msgstr "buffering" -#: ../../library/socket.rst:1832 +#: ../../library/socket.rst:1839 msgid "module" msgstr "módulo" -#: ../../library/socket.rst:1832 +#: ../../library/socket.rst:1839 msgid "struct" msgstr "struct" diff --git a/library/socketserver.po b/library/socketserver.po index b5a0c18b1..4a86a9cfe 100644 --- a/library/socketserver.po +++ b/library/socketserver.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,6 +36,8 @@ msgid "" "The :mod:`socketserver` module simplifies the task of writing network " "servers." msgstr "" +"O módulo :mod:`socketserver` simplifica a tarefa de escrever servidores de " +"rede." #: ../../includes/wasm-notavail.rst:3 msgid ":ref:`Availability `: not Emscripten, not WASI." @@ -57,7 +55,7 @@ msgstr "" #: ../../library/socketserver.rst:15 msgid "There are four basic concrete server classes:" -msgstr "" +msgstr "Existem quatro classes básicas de servidores concretos:" #: ../../library/socketserver.rst:20 msgid "" @@ -67,6 +65,11 @@ msgid "" "and :meth:`~BaseServer.server_activate`. The other parameters are passed to " "the :class:`BaseServer` base class." msgstr "" +"Isso usa o protocolo TCP da internet, que fornece fluxos contínuos de dados " +"entre o cliente e o servidor. Se *bind_and_activate* for true, o construtor " +"tenta automaticamente invocar :meth:`~BaseServer.server_bind` " +"e :meth:`~BaseServer.server_activate`. Os outros parâmetros são passados " +"para a classe base :class:`BaseServer`." #: ../../library/socketserver.rst:30 msgid "" @@ -74,6 +77,9 @@ msgid "" "arrive out of order or be lost while in transit. The parameters are the " "same as for :class:`TCPServer`." msgstr "" +"Isso usa datagramas, que são pacotes discretos de informações que podem " +"chegar fora de ordem ou ser perdidos durante o trânsito. Os parâmetros são " +"os mesmos de :class:`TCPServer`." #: ../../library/socketserver.rst:38 msgid "" @@ -81,6 +87,9 @@ msgid "" "but use Unix domain sockets; they're not available on non-Unix platforms. " "The parameters are the same as for :class:`TCPServer`." msgstr "" +"Essas classes usadas com menos frequência são semelhantes às classes TCP e " +"UDP, mas usam soquetes de domínio Unix; elas não estão disponíveis em " +"plataformas não Unix. Os parâmetros são os mesmos de :class:`TCPServer`." #: ../../library/socketserver.rst:44 msgid "" @@ -97,9 +106,9 @@ msgstr "" "iniciada. Isso não é adequado se cada solicitação demorar muito para ser " "concluída, porque exige muita computação ou porque retorna muitos dados que " "o cliente demora a processar. A solução é criar um processo ou thread " -"separado para lidar com cada solicitação; as classes misturadas :class:" -"`ForkingMixIn` e :class:`ThreadingMixIn` podem ser usadas para oferecer " -"suporte ao comportamento assíncrono." +"separado para lidar com cada solicitação; as classes " +"misturadas :class:`ForkingMixIn` e :class:`ThreadingMixIn` podem ser usadas " +"para oferecer suporte ao comportamento assíncrono." #: ../../library/socketserver.rst:52 msgid "" @@ -110,10 +119,23 @@ msgid "" "classes, passing it the server's address and the request handler class. It " "is recommended to use the server in a :keyword:`with` statement. Then call " "the :meth:`~BaseServer.handle_request` or :meth:`~BaseServer.serve_forever` " -"method of the server object to process one or many requests. Finally, call :" -"meth:`~BaseServer.server_close` to close the socket (unless you used a :" -"keyword:`!with` statement)." -msgstr "" +"method of the server object to process one or many requests. Finally, " +"call :meth:`~BaseServer.server_close` to close the socket (unless you used " +"a :keyword:`!with` statement)." +msgstr "" +"Criar um servidor requer várias etapas. Primeiro, você deve criar uma classe " +"de manipulador de solicitação estendendo a " +"classe :class:`BaseRequestHandler` e substituindo seu " +"método :meth:`~BaseRequestHandler.handle`; esse método processará as " +"solicitações recebidas. Segundo, você deve instanciar uma das classes de " +"servidor, passando a ela o endereço do servidor e a classe de manipulador de " +"solicitação. É recomendável usar o servidor em uma " +"instrução :keyword:`with`. Em seguida, chame o " +"método :meth:`~BaseServer.handle_request` " +"ou :meth:`~BaseServer.serve_forever` do objeto do servidor para processar " +"uma ou muitas solicitações. Finalmente, " +"chame :meth:`~BaseServer.server_close` para fechar o soquete (a menos que " +"você tenha usado uma instrução :keyword:`!with`)." #: ../../library/socketserver.rst:64 msgid "" @@ -123,25 +145,37 @@ msgid "" "attribute *daemon_threads*, which indicates whether or not the server should " "wait for thread termination. You should set the flag explicitly if you " "would like threads to behave autonomously; the default is :const:`False`, " -"meaning that Python will not exit until all threads created by :class:" -"`ThreadingMixIn` have exited." -msgstr "" +"meaning that Python will not exit until all threads created " +"by :class:`ThreadingMixIn` have exited." +msgstr "" +"Ao herdar de :class:`ThreadingMixIn` para comportamento de conexão em " +"threads, você deve declarar explicitamente como quer que suas threads se " +"comportem em um desligamento abrupto. A classe :class:`ThreadingMixIn` " +"define um atributo *daemon_threads*, que indica se o servidor deve ou não " +"esperar pelo término da thread. Você deve definir o sinalizador " +"explicitamente se quiser que as threads se comportem de forma autônoma; o " +"padrão é :const:`False`, o que significa que o Python não sairá até que " +"todas as threads criadas por :class:`ThreadingMixIn` tenham sido encerradas." #: ../../library/socketserver.rst:73 msgid "" "Server classes have the same external methods and attributes, no matter what " "network protocol they use." msgstr "" +"As classes de servidor têm os mesmos métodos e atributos externos, não " +"importa qual protocolo de rede eles usam." #: ../../library/socketserver.rst:78 msgid "Server Creation Notes" -msgstr "" +msgstr "Notas sobre criação do servidor" #: ../../library/socketserver.rst:80 msgid "" "There are five classes in an inheritance diagram, four of which represent " "synchronous servers of four types::" msgstr "" +"Existem cinco classes em um diagrama de herança, quatro das quais " +"representam servidores síncronos de quatro tipos:" #: ../../library/socketserver.rst:97 msgid "" @@ -149,6 +183,9 @@ msgid "" "from :class:`UnixStreamServer` --- the only difference between an IP and a " "Unix server is the address family." msgstr "" +"Observe que :class:`UnixDatagramServer` deriva de :class:`UDPServer`, não " +"de :class:`UnixStreamServer` --- a única diferença entre um IP e um servidor " +"Unix é a família de endereços." #: ../../library/socketserver.rst:105 msgid "" @@ -156,60 +193,98 @@ msgid "" "these mix-in classes. For instance, :class:`ThreadingUDPServer` is created " "as follows::" msgstr "" +"Versões de fork e threads de cada tipo de servidor podem ser criadas usando " +"essas classes mix-in. Por exemplo, :class:`ThreadingUDPServer` é criado da " +"seguinte forma::" #: ../../library/socketserver.rst:112 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." +"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 "" +"A classe mix-in vem primeiro, pois ela substitui um método definido " +"em :class:`UDPServer`. Definir os vários atributos também altera o " +"comportamento do mecanismo de servidor subjacente." #: ../../library/socketserver.rst:116 msgid "" ":class:`ForkingMixIn` and the Forking classes mentioned below are only " "available on POSIX platforms that support :func:`~os.fork`." msgstr "" +":class:`ForkingMixIn` e as classes Forking mencionadas abaixo estão " +"disponíveis apenas em plataformas POSIX que oferecem suporte " +"a :func:`~os.fork`." -#: ../../library/socketserver.rst:119 +#: ../../library/socketserver.rst:121 msgid "" -":meth:`socketserver.ForkingMixIn.server_close` waits until all child " -"processes complete, except if :attr:`socketserver.ForkingMixIn." -"block_on_close` attribute is false." +":meth:`ForkingMixIn.server_close ` waits until all " +"child processes complete, except if :attr:`block_on_close` attribute is " +"``False``." msgstr "" +":meth:`ForkingMixIn.server_close ` aguarda até que " +"todos os processos filho sejam concluídos, exceto se o " +"atributo :attr:`block_on_close` for ``False``." -#: ../../library/socketserver.rst:123 +#: ../../library/socketserver.rst:125 msgid "" -":meth:`socketserver.ThreadingMixIn.server_close` waits until all non-daemon " -"threads complete, except if :attr:`socketserver.ThreadingMixIn." -"block_on_close` attribute is false. Use daemonic threads by setting :data:" -"`ThreadingMixIn.daemon_threads` to ``True`` to not wait until threads " -"complete." +":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 ` aguarda até " +"que todos as threads não daemon sejam concluídos, exceto se o " +"atributo :attr:`block_on_close` for ``False``." -#: ../../library/socketserver.rst:132 +#: ../../library/socketserver.rst:131 msgid "" -":meth:`socketserver.ForkingMixIn.server_close` and :meth:`socketserver." -"ThreadingMixIn.server_close` now waits until all child processes and non-" -"daemonic threads complete. Add a new :attr:`socketserver.ForkingMixIn." -"block_on_close` class attribute to opt-in for the pre-3.7 behaviour." +"For :class:`ThreadingMixIn` use daemonic threads by " +"setting :data:`ThreadingMixIn.daemon_threads ` to ``True`` " +"to not wait until threads complete." msgstr "" +"Para :class:`ThreadingMixIn`, use threads como daemon " +"definindo :data:`ThreadingMixIn.daemon_threads ` como " +"``True`` para não esperar até que as threads sejam concluídas." -#: ../../library/socketserver.rst:144 -msgid "These classes are pre-defined using the mix-in classes." +#: ../../library/socketserver.rst:137 +msgid "" +":meth:`ForkingMixIn.server_close ` " +"and :meth:`ThreadingMixIn.server_close ` now waits " +"until all child processes and non-daemonic threads complete. Add a " +"new :attr:`ForkingMixIn.block_on_close ` class attribute to " +"opt-in for the pre-3.7 behaviour." msgstr "" +":meth:`ForkingMixIn.server_close ` " +"e :meth:`ThreadingMixIn.server_close ` agora " +"esperam até que todos os processos filhos e threads não daemon sejam " +"concluídos. Adicione um novo atributo de " +"classe :attr:`ForkingMixIn.block_on_close ` para optar pelo " +"comportamento pré-3.7." -#: ../../library/socketserver.rst:147 +#: ../../library/socketserver.rst:149 +msgid "These classes are pre-defined using the mix-in classes." +msgstr "Essas classes são predefinidas usando as classes mix-in." + +#: ../../library/socketserver.rst:152 msgid "" -"To implement a service, you must derive a class from :class:" -"`BaseRequestHandler` and redefine its :meth:`~BaseRequestHandler.handle` " -"method. You can then run various versions of the service by combining one of " -"the server classes with your request handler class. The request handler " -"class must be different for datagram or stream services. This can be hidden " -"by using the handler subclasses :class:`StreamRequestHandler` or :class:" -"`DatagramRequestHandler`." +"To implement a service, you must derive a class " +"from :class:`BaseRequestHandler` and redefine " +"its :meth:`~BaseRequestHandler.handle` method. You can then run various " +"versions of the service by combining one of the server classes with your " +"request handler class. The request handler class must be different for " +"datagram or stream services. This can be hidden by using the handler " +"subclasses :class:`StreamRequestHandler` or :class:`DatagramRequestHandler`." msgstr "" +"Para implementar um serviço, você deve derivar uma classe " +"de :class:`BaseRequestHandler` e redefinir seu " +"método :meth:`~BaseRequestHandler.handle`. Você pode então executar várias " +"versões do serviço combinando uma das classes de servidor com sua classe de " +"manipulador de solicitação. A classe de manipulador de solicitação deve ser " +"diferente para serviços de datagrama ou fluxo. Isso pode ser ocultado usando " +"as subclasses de manipulador :class:`StreamRequestHandler` " +"ou :class:`DatagramRequestHandler`." -#: ../../library/socketserver.rst:155 +#: ../../library/socketserver.rst:160 msgid "" "Of course, you still have to use your head! For instance, it makes no sense " "to use a forking server if the service contains state in memory that can be " @@ -218,8 +293,15 @@ 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 "" +"Claro, você ainda tem que usar sua cabeça! Por exemplo, não faz sentido usar " +"um servidor de Forking se o serviço contém estado na memória que pode ser " +"modificado por diferentes solicitações, já que as modificações no processo " +"filho nunca atingiriam o estado inicial mantido no processo pai e passado " +"para cada filho. Neste caso, você pode usar um servidor de Threading, mas " +"provavelmente terá que usar travas para proteger a integridade dos dados " +"compartilhados." -#: ../../library/socketserver.rst:162 +#: ../../library/socketserver.rst:167 msgid "" "On the other hand, if you are building an HTTP server where all data is " "stored externally (for instance, in the file system), a synchronous class " @@ -228,17 +310,28 @@ msgid "" "all the data it has requested. Here a threading or forking server is " "appropriate." msgstr "" +"Por outro lado, se você estiver construindo um servidor HTTP onde todos os " +"dados são armazenados externamente (por exemplo, no sistema de arquivos), " +"uma classe síncrona essencialmente tornará o serviço \"surdo\" enquanto uma " +"solicitação estiver sendo manipulada -- o que pode ser por um tempo muito " +"longo se um cliente for lento para receber todos os dados que solicitou. " +"Aqui, um servidor de Threading ou Forking é apropriado." -#: ../../library/socketserver.rst:168 +#: ../../library/socketserver.rst:173 msgid "" "In some cases, it may be appropriate to process part of a request " "synchronously, but to finish processing in a forked child depending on the " "request data. This can be implemented by using a synchronous server and " -"doing an explicit fork in the request handler class :meth:" -"`~BaseRequestHandler.handle` method." +"doing an explicit fork in the request handler " +"class :meth:`~BaseRequestHandler.handle` method." msgstr "" +"Em alguns casos, pode ser apropriado processar parte de uma solicitação de " +"forma síncrona, mas terminar o processamento em um filho bifurcado " +"dependendo dos dados da solicitação. Isso pode ser implementado usando um " +"servidor síncrono e fazendo uma bifurcação explícita no método da classe do " +"manipulador de solicitações :meth:`~BaseRequestHandler.handle`." -#: ../../library/socketserver.rst:173 +#: ../../library/socketserver.rst:178 msgid "" "Another approach to handling multiple simultaneous requests in an " "environment that supports neither threads nor :func:`~os.fork` (or where " @@ -251,37 +344,52 @@ msgid "" "this." msgstr "" -#: ../../library/socketserver.rst:187 +#: ../../library/socketserver.rst:192 msgid "Server Objects" msgstr "Objetos Server" -#: ../../library/socketserver.rst:191 +#: ../../library/socketserver.rst:196 msgid "" "This is the superclass of all Server objects in the module. It defines the " "interface, given below, but does not implement most of the methods, which is " -"done in subclasses. The two parameters are stored in the respective :attr:" -"`server_address` and :attr:`RequestHandlerClass` attributes." +"done in subclasses. The two parameters are stored in the " +"respective :attr:`server_address` and :attr:`RequestHandlerClass` attributes." msgstr "" +"Esta é a superclasse de todos os objetos Server no módulo. Ela define a " +"interface, dada abaixo, mas não implementa a maioria dos métodos, o que é " +"feito em subclasses. Os dois parâmetros são armazenados nos respectivos " +"atributos :attr:`server_address` e :attr:`RequestHandlerClass`." -#: ../../library/socketserver.rst:199 +#: ../../library/socketserver.rst:204 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 "" +"Retorna um descritor de arquivo inteiro para o soquete no qual o servidor " +"está escutando. Esta função é mais comumente passada para :mod:`selectors`, " +"para permitir o monitoramento de múltiplos servidores no mesmo processo." -#: ../../library/socketserver.rst:206 +#: ../../library/socketserver.rst:211 msgid "" "Process a single request. This function calls the following methods in " -"order: :meth:`get_request`, :meth:`verify_request`, and :meth:" -"`process_request`. If the user-provided :meth:`~BaseRequestHandler.handle` " -"method of the handler class raises an exception, the server's :meth:" -"`handle_error` method will be called. If no request is received within :" -"attr:`timeout` seconds, :meth:`handle_timeout` will be called and :meth:" -"`handle_request` will return." -msgstr "" - -#: ../../library/socketserver.rst:218 +"order: :meth:`get_request`, :meth:`verify_request`, " +"and :meth:`process_request`. If the user-" +"provided :meth:`~BaseRequestHandler.handle` method of the handler class " +"raises an exception, the server's :meth:`handle_error` method will be " +"called. If no request is received within :attr:`timeout` " +"seconds, :meth:`handle_timeout` will be called and :meth:`handle_request` " +"will return." +msgstr "" +"Processa uma única solicitação. Esta função chama os seguintes métodos em " +"ordem: :meth:`get_request`, :meth:`verify_request` " +"e :meth:`process_request`. Se o método :meth:`~BaseRequestHandler.handle` " +"fornecido pelo usuário da classe manipuladora levantar uma exceção, o " +"método :meth:`handle_error` do servidor será chamado. Se nenhuma solicitação " +"for recebida dentro de :attr:`timeout` segundos, :meth:`handle_timeout` será " +"chamado e :meth:`handle_request` retornará." + +#: ../../library/socketserver.rst:223 msgid "" "Handle requests until an explicit :meth:`shutdown` request. Poll for " "shutdown every *poll_interval* seconds. Ignores the :attr:`timeout` " @@ -290,66 +398,89 @@ msgid "" "example, the :class:`ForkingMixIn` class uses :meth:`service_actions` to " "clean up zombie child processes." msgstr "" +"Manipula solicitações até uma solicitação explícita :meth:`shutdown`. Sonda " +"para desligamento a cada *poll_interval* segundos. Ignora o " +"atributo :attr:`timeout`. Ele também chama :meth:`service_actions`, que pode " +"ser usado por uma subclasse ou mixin para fornecer ações específicas para um " +"determinado serviço. Por exemplo, a classe :class:`ForkingMixIn` " +"usa :meth:`service_actions` para limpar processos filhos zumbis." -#: ../../library/socketserver.rst:226 +#: ../../library/socketserver.rst:231 msgid "Added ``service_actions`` call to the ``serve_forever`` method." -msgstr "" +msgstr "Adicionada chamada ``service_actions`` ao método ``serve_forever``." -#: ../../library/socketserver.rst:232 +#: ../../library/socketserver.rst:237 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 "" +"Isso é chamado no laço :meth:`serve_forever`. Este método pode ser " +"substituído por subclasses ou classes mixin para executar ações específicas " +"para um determinado serviço, como ações de limpeza." -#: ../../library/socketserver.rst:240 +#: ../../library/socketserver.rst:245 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." +"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 "" +"Diz ao laço :meth:`serve_forever` para parar e esperar até que isso " +"aconteça. :meth:`shutdown` deve ser chamado enquanto :meth:`serve_forever` " +"estiver em execução em um thread diferente, caso contrário, ocorrerá um " +"impasse." -#: ../../library/socketserver.rst:247 +#: ../../library/socketserver.rst:252 msgid "Clean up the server. May be overridden." -msgstr "" +msgstr "Limpa o servidor. Pode ser substituído." -#: ../../library/socketserver.rst:252 +#: ../../library/socketserver.rst:257 msgid "" "The family of protocols to which the server's socket belongs. Common " "examples are :const:`socket.AF_INET` and :const:`socket.AF_UNIX`." msgstr "" -#: ../../library/socketserver.rst:258 +#: ../../library/socketserver.rst:263 msgid "" "The user-provided request handler class; an instance of this class is " "created for each request." msgstr "" +"A classe de manipulador de solicitações fornecida pelo usuário; uma " +"instância dessa classe é criada para cada solicitação." -#: ../../library/socketserver.rst:264 +#: ../../library/socketserver.rst:269 msgid "" "The address on which the server is listening. The format of addresses " -"varies depending on the protocol family; see the documentation for the :mod:" -"`socket` module for details. For internet protocols, this is a tuple " -"containing a string giving the address, and an integer port number: " +"varies depending on the protocol family; see the documentation for " +"the :mod:`socket` module for details. For internet protocols, this is a " +"tuple containing a string giving the address, and an integer port number: " "``('127.0.0.1', 80)``, for example." msgstr "" +"O endereço no qual o servidor está escutando. O formato dos endereços varia " +"dependendo da família do protocolo; veja a documentação do " +"módulo :mod:`socket` para detalhes. Para protocolos de internet, esta é uma " +"tupla contendo uma string dando o endereço e um número de porta inteiro: " +"``('127.0.0.1', 80)``, por exemplo." -#: ../../library/socketserver.rst:273 +#: ../../library/socketserver.rst:278 msgid "" "The socket object on which the server will listen for incoming requests." msgstr "O objeto soquete no qual o servidor ouve para solicitações recebidas." -#: ../../library/socketserver.rst:276 +#: ../../library/socketserver.rst:281 msgid "The server classes support the following class variables:" msgstr "" +"As classes de servidor oferecem suporte às seguintes variáveis de classe:" -#: ../../library/socketserver.rst:282 +#: ../../library/socketserver.rst:287 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." +"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 "" +"Se o servidor permitirá a reutilização de um endereço. O padrão " +"é :const:`False`, e pode ser definido em subclasses para alterar a política." -#: ../../library/socketserver.rst:288 +#: ../../library/socketserver.rst:293 msgid "" "The size of the request queue. If it takes a long time to process a single " "request, any requests that arrive while the server is busy are placed into a " @@ -357,53 +488,78 @@ 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 "" +"O tamanho da fila de requisições. Se levar muito tempo para processar uma " +"única requisição, todas as requisições que chegarem enquanto o servidor " +"estiver ocupado serão colocadas em uma fila, até :attr:`request_queue_size` " +"requisições. Quando a fila estiver cheia, outras requisições de clientes " +"receberão um erro \"Conexão negada\". O valor padrão é geralmente 5, mas " +"isso pode ser substituído por subclasses." -#: ../../library/socketserver.rst:297 +#: ../../library/socketserver.rst:302 msgid "" -"The type of socket used by the server; :const:`socket.SOCK_STREAM` and :" -"const:`socket.SOCK_DGRAM` are two common values." +"The type of socket used by the server; :const:`socket.SOCK_STREAM` " +"and :const:`socket.SOCK_DGRAM` are two common values." msgstr "" +"O tipo de soquete usado pelo servidor; :const:`socket.SOCK_STREAM` " +"e :const:`socket.SOCK_DGRAM` são dois valores comuns." -#: ../../library/socketserver.rst:303 +#: ../../library/socketserver.rst:308 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 "" +"Duração do tempo limite, medida em segundos, ou :const:`None` se nenhum " +"tempo limite for desejado. Se :meth:`handle_request` não receber nenhuma " +"requisição de entrada dentro do período de tempo limite, o " +"método :meth:`handle_timeout` será chamado." -#: ../../library/socketserver.rst:308 +#: ../../library/socketserver.rst:313 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 "" +"Existem vários métodos de servidor que podem ser substituídos por subclasses " +"de classes de servidor base, como :class:`TCPServer`; esses métodos não são " +"úteis para usuários externos do objeto de servidor." -#: ../../library/socketserver.rst:317 +#: ../../library/socketserver.rst:322 msgid "" "Actually processes the request by instantiating :attr:`RequestHandlerClass` " "and calling its :meth:`~BaseRequestHandler.handle` method." msgstr "" +"Na verdade, processa a solicitação instanciando :attr:`RequestHandlerClass` " +"e chamando seu método :meth:`~BaseRequestHandler.handle`." -#: ../../library/socketserver.rst:323 +#: ../../library/socketserver.rst:328 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 "" +"Deve aceitar uma solicitação do soquete e retornar uma tupla de 2 elementos " +"contendo o *novo* objeto de soquete a ser usado para se comunicar com o " +"cliente e o endereço do cliente." -#: ../../library/socketserver.rst:330 +#: ../../library/socketserver.rst:335 msgid "" "This function is called if the :meth:`~BaseRequestHandler.handle` method of " "a :attr:`RequestHandlerClass` instance raises an exception. The default " "action is to print the traceback to standard error and continue handling " "further requests." msgstr "" +"Esta função é chamada se o método :meth:`~BaseRequestHandler.handle` de uma " +"instância :attr:`RequestHandlerClass` levanta uma exceção. A ação padrão é " +"exibir o traceback para erro padrão e continuar manipulando solicitações " +"futuras." -#: ../../library/socketserver.rst:335 +#: ../../library/socketserver.rst:340 msgid "Now only called for exceptions derived from the :exc:`Exception` class." msgstr "" +"Agora é chamada apenas para exceções derivadas da classe :exc:`Exception`." -#: ../../library/socketserver.rst:342 +#: ../../library/socketserver.rst:347 msgid "" "This function is called when the :attr:`timeout` attribute has been set to a " "value other than :const:`None` and the timeout period has passed with no " @@ -411,171 +567,253 @@ msgid "" "collect the status of any child processes that have exited, while in " "threading servers this method does nothing." msgstr "" +"Esta função é chamada quando o atributo :attr:`timeout` foi definido para um " +"valor diferente de :const:`None` e o período de timeout passou sem que " +"nenhuma solicitação tenha sido recebida. A ação padrão para servidores de " +"bifurcação é coletar o status de quaisquer processos filhos que tenham " +"saído, enquanto em servidores de threading esse método não faz nada." -#: ../../library/socketserver.rst:351 +#: ../../library/socketserver.rst:356 msgid "" -"Calls :meth:`finish_request` to create an instance of the :attr:" -"`RequestHandlerClass`. If desired, this function can create a new process " -"or thread to handle the request; the :class:`ForkingMixIn` and :class:" -"`ThreadingMixIn` classes do this." +"Calls :meth:`finish_request` to create an instance of " +"the :attr:`RequestHandlerClass`. If desired, this function can create a new " +"process or thread to handle the request; the :class:`ForkingMixIn` " +"and :class:`ThreadingMixIn` classes do this." msgstr "" +"Chama :meth:`finish_request` para criar uma instância " +"de :attr:`RequestHandlerClass`. Se desejado, esta função pode criar um novo " +"processo ou thread para manipular a solicitação; as " +"classes :class:`ForkingMixIn` e :class:`ThreadingMixIn` fazem isso." -#: ../../library/socketserver.rst:363 +#: ../../library/socketserver.rst:368 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 "" +"Chamado pelo construtor do servidor para ativar o servidor. O comportamento " +"padrão para um servidor TCP apenas invoca :meth:`~socket.socket.listen` no " +"soquete do servidor. Pode ser substituído." -#: ../../library/socketserver.rst:370 +#: ../../library/socketserver.rst:375 msgid "" "Called by the server's constructor to bind the socket to the desired " "address. May be overridden." msgstr "" +"Chamada pelo construtor do servidor para vincular o soquete ao endereço " +"desejado. Pode ser substituída." -#: ../../library/socketserver.rst:376 +#: ../../library/socketserver.rst:381 msgid "" "Must return a Boolean value; if the value is :const:`True`, the request will " "be processed, and if it's :const:`False`, the request will be denied. This " "function can be overridden to implement access controls for a server. The " "default implementation always returns :const:`True`." msgstr "" +"Deve retornar um valor booleano; se o valor for :const:`True`, a solicitação " +"será processada, e se for :const:`False`, a solicitação será negada. Esta " +"função pode ser substituída para implementar controles de acesso para um " +"servidor. A implementação padrão sempre retorna :const:`True`." -#: ../../library/socketserver.rst:382 +#: ../../library/socketserver.rst:387 msgid "" "Support for the :term:`context manager` protocol was added. Exiting the " "context manager is equivalent to calling :meth:`server_close`." msgstr "" +"Foi adicionado suporte para o protocolo :term:`gerenciador de contexto`. " +"Sair do gerenciador de contexto é equivalente a chamar :meth:`server_close`." -#: ../../library/socketserver.rst:388 +#: ../../library/socketserver.rst:393 msgid "Request Handler Objects" -msgstr "" +msgstr "Objetos manipulador de requisições" -#: ../../library/socketserver.rst:392 +#: ../../library/socketserver.rst:397 msgid "" "This is the superclass of all request handler objects. It defines the " "interface, given below. A concrete request handler subclass must define a " "new :meth:`handle` method, and can override any of the other methods. A new " "instance of the subclass is created for each request." msgstr "" +"Esta é a superclasse de todos os objetos manipulador de requisições. Ela " +"define a interface, dada abaixo. Uma subclasse concreta do manipulador de " +"requisições deve definir um novo método :meth:`handle` e pode substituir " +"qualquer um dos outros métodos. Uma nova instância da subclasse é criada " +"para cada requisição." -#: ../../library/socketserver.rst:401 +#: ../../library/socketserver.rst:406 msgid "" "Called before the :meth:`handle` method to perform any initialization " "actions required. The default implementation does nothing." msgstr "" +"Chamada antes do método :meth:`handle` para executar quaisquer ações de " +"inicialização necessárias. A implementação padrão não faz nada." -#: ../../library/socketserver.rst:407 +#: ../../library/socketserver.rst:412 msgid "" "This function must do all the work required to service a request. The " "default implementation does nothing. Several instance attributes are " -"available to it; the request is available as :attr:`self.request`; the " -"client address as :attr:`self.client_address`; and the server instance as :" -"attr:`self.server`, in case it needs access to per-server information." +"available to it; the request is available as :attr:`request`; the client " +"address as :attr:`client_address`; and the server instance " +"as :attr:`server`, in case it needs access to per-server information." msgstr "" +"Esta função deve fazer todo o trabalho necessário para atender a uma " +"solicitação. A implementação padrão não faz nada. Vários atributos de " +"instância estão disponíveis para ela; a solicitação está disponível " +"como :attr:`request`; o endereço do cliente como :attr:`client_address`; e a " +"instância do servidor como :attr:`server`, caso precise de acesso a " +"informações por servidor." -#: ../../library/socketserver.rst:413 +#: ../../library/socketserver.rst:418 msgid "" -"The type of :attr:`self.request` is different for datagram or stream " -"services. For stream services, :attr:`self.request` is a socket object; for " -"datagram services, :attr:`self.request` is a pair of string and socket." +"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 "" +"O tipo de :attr:`request` é diferente para serviços de datagrama ou fluxo. " +"Para serviços de fluxo, :attr:`request` é um objeto soquete; para serviços " +"de datagrama, :attr:`request` é um par de string e soquete." -#: ../../library/socketserver.rst:420 +#: ../../library/socketserver.rst:425 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 "" +"Chamada após o método :meth:`handle` para executar quaisquer ações de " +"limpeza necessárias. A implementação padrão não faz nada. Se :meth:`setup` " +"levanta uma exceção, esta função não será chamada." -#: ../../library/socketserver.rst:428 +#: ../../library/socketserver.rst:432 msgid "" -"These :class:`BaseRequestHandler` subclasses override the :meth:" -"`~BaseRequestHandler.setup` and :meth:`~BaseRequestHandler.finish` methods, " -"and provide :attr:`self.rfile` and :attr:`self.wfile` attributes. The :attr:" -"`self.rfile` and :attr:`self.wfile` attributes can be read or written, " -"respectively, to get the request data or return data to the client. The :" -"attr:`!rfile` attributes support the :class:`io.BufferedIOBase` readable " -"interface, and :attr:`!wfile` attributes support the :class:`!io." -"BufferedIOBase` writable interface." +"The *new* :class:`socket.socket` object to be used to communicate with the " +"client." msgstr "" +"O *novo* objeto :class:`socket.socket` a ser usado para se comunicar com o " +"cliente." + +#: ../../library/socketserver.rst:438 +msgid "Client address returned by :meth:`BaseServer.get_request`." +msgstr "Endereço do cliente retornado por :meth:`BaseServer.get_request`." + +#: ../../library/socketserver.rst:443 +msgid ":class:`BaseServer` object used for handling the request." +msgstr "Objeto :class:`BaseServer` usado para manipular a solicitação." -#: ../../library/socketserver.rst:437 +#: ../../library/socketserver.rst:449 msgid "" -":attr:`StreamRequestHandler.wfile` also supports the :class:`io." -"BufferedIOBase` writable interface." +"These :class:`BaseRequestHandler` subclasses override " +"the :meth:`~BaseRequestHandler.setup` and :meth:`~BaseRequestHandler.finish` " +"methods, and provide :attr:`rfile` and :attr:`wfile` attributes." msgstr "" +"Essas subclasses :class:`BaseRequestHandler` substituem os " +"métodos :meth:`~BaseRequestHandler.setup` " +"e :meth:`~BaseRequestHandler.finish` e fornecem os atributos :attr:`rfile` " +"e :attr:`wfile`." -#: ../../library/socketserver.rst:443 +#: ../../library/socketserver.rst:455 +msgid "" +"A file object from which receives the request is read. Support " +"the :class:`io.BufferedIOBase` readable interface." +msgstr "" +"Um objeto arquivo do qual recebe a solicitação é lido. Oferece suporte à " +"interface legível :class:`io.BufferedIOBase`." + +#: ../../library/socketserver.rst:460 +msgid "" +"A file object to which the reply is written. Support " +"the :class:`io.BufferedIOBase` writable interface" +msgstr "" +"Um objeto arquivo no qual a resposta é escrita. Oferece suporte à interface " +"gravável :class:`io.BufferedIOBase`" + +#: ../../library/socketserver.rst:464 +msgid "" +":attr:`wfile` also supports the :class:`io.BufferedIOBase` writable " +"interface." +msgstr "" +":attr:`wfile` também oferece suporte à interface " +"gravável :class:`io.BufferedIOBase`." + +#: ../../library/socketserver.rst:470 msgid "Examples" msgstr "Exemplos" -#: ../../library/socketserver.rst:446 +#: ../../library/socketserver.rst:473 msgid ":class:`socketserver.TCPServer` Example" -msgstr "" +msgstr "Exemplo de :class:`socketserver.TCPServer`" -#: ../../library/socketserver.rst:448 ../../library/socketserver.rst:547 +#: ../../library/socketserver.rst:475 ../../library/socketserver.rst:575 msgid "This is the server side::" -msgstr "" +msgstr "Este é o lado do servidor::" -#: ../../library/socketserver.rst:478 +#: ../../library/socketserver.rst:505 msgid "" "An alternative request handler class that makes use of streams (file-like " "objects that simplify communication by providing the standard file " "interface)::" msgstr "" +"Uma classe de manipulador de solicitações alternativa que faz uso de fluxos " +"(objetos arquivo ou similares que simplificam a comunicação ao fornecer a " +"interface de arquivo padrão)::" -#: ../../library/socketserver.rst:493 +#: ../../library/socketserver.rst:520 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 single ``recv()`` call in the first handler will just return what " -"has been sent from the client in one ``sendall()`` call." +"has been received so far from the client's ``sendall()`` call (typically all " +"of it, but this is not guaranteed by the TCP protocol)." msgstr "" -#: ../../library/socketserver.rst:499 ../../library/socketserver.rst:571 +#: ../../library/socketserver.rst:527 ../../library/socketserver.rst:599 msgid "This is the client side::" -msgstr "" +msgstr "Este é o lado do cliente::" -#: ../../library/socketserver.rst:520 ../../library/socketserver.rst:646 +#: ../../library/socketserver.rst:548 ../../library/socketserver.rst:674 msgid "The output of the example should look something like this:" -msgstr "" +msgstr "A saída do exemplo deve se parecer com algo como isso:" -#: ../../library/socketserver.rst:522 +#: ../../library/socketserver.rst:550 msgid "Server:" -msgstr "" +msgstr "Servidor:" -#: ../../library/socketserver.rst:532 +#: ../../library/socketserver.rst:560 msgid "Client:" msgstr "Cliente:" -#: ../../library/socketserver.rst:545 +#: ../../library/socketserver.rst:573 msgid ":class:`socketserver.UDPServer` Example" msgstr "Exemplo :class:`socketserver.UDPServer`" -#: ../../library/socketserver.rst:590 +#: ../../library/socketserver.rst:618 msgid "" "The output of the example should look exactly like for the TCP server " "example." msgstr "" +"A saída do exemplo deve ser exatamente igual à do exemplo do servidor TCP." -#: ../../library/socketserver.rst:594 +#: ../../library/socketserver.rst:622 msgid "Asynchronous Mixins" -msgstr "" +msgstr "Mixins assíncronos" -#: ../../library/socketserver.rst:596 +#: ../../library/socketserver.rst:624 msgid "" -"To build asynchronous handlers, use the :class:`ThreadingMixIn` and :class:" -"`ForkingMixIn` classes." +"To build asynchronous handlers, use the :class:`ThreadingMixIn` " +"and :class:`ForkingMixIn` classes." msgstr "" +"Para construir manipuladores assíncronos, use as " +"classes :class:`ThreadingMixIn` e :class:`ForkingMixIn`." -#: ../../library/socketserver.rst:599 +#: ../../library/socketserver.rst:627 msgid "An example for the :class:`ThreadingMixIn` class::" -msgstr "" +msgstr "Um exemplo para a classe :class:`ThreadingMixIn`::" -#: ../../library/socketserver.rst:657 +#: ../../library/socketserver.rst:685 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 "" +"A classe :class:`ForkingMixIn` é usada da mesma forma, exceto que o servidor " +"gerará um novo processo para cada solicitação. Disponível apenas em " +"plataformas POSIX que oferecem suporte a :func:`~os.fork`." diff --git a/library/spwd.po b/library/spwd.po index f10d1f3e1..1787a3adf 100644 --- a/library/spwd.po +++ b/library/spwd.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Marciel Leal , 2021 -# i17obot , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -203,8 +197,8 @@ msgstr "Reservado" #: ../../library/spwd.rst:55 msgid "" -"The sp_namp and sp_pwdp items are strings, all others are integers. :exc:" -"`KeyError` is raised if the entry asked for cannot be found." +"The sp_namp and sp_pwdp items are strings, all others are " +"integers. :exc:`KeyError` is raised if the entry asked for cannot be found." msgstr "" "Os itens sp_namp e sp_pwdp são strings, todos os outros são números " "inteiros. :exc:`KeyError` é levantada se a entrada solicitada não puder ser " diff --git a/library/sqlite3.po b/library/sqlite3.po index 7ff47d7e9..d42a774a2 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Leticia Portella , 2021 -# Marco Rougeth , 2021 -# And Past , 2022 -# i17obot , 2022 -# (Douglas da Silva) , 2022 -# Claudio Rogerio Carvalho Filho , 2022 -# Rodrigo Cândido, 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -51,18 +44,18 @@ msgstr "" "disco que não requer um processo de servidor separado e permite acessar o " "banco de dados usando uma variante não padrão da linguagem de consulta SQL. " "Algumas aplicações podem usar SQLite para armazenamento interno de dados. " -"Também é possível prototipar uma aplicação usando SQLite e, em seguida, " +"Também é possível prototipar um aplicativo usando SQLite e, em seguida, " "portar o código para um banco de dados maior, como PostgreSQL ou Oracle." #: ../../library/sqlite3.rst:30 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.7.15 or newer." +"SQL interface compliant with the DB-API 2.0 specification described " +"by :pep:`249`, and requires SQLite 3.7.15 or newer." msgstr "" "O módulo :mod:`!sqlite3` foi escrito por Gerhard Häring. Ele fornece uma " -"interface SQL compatível com a especificação DB-API 2.0 descrita pela :pep:" -"`249` e requer SQLite 3.7.15 ou mais recente." +"interface SQL compatível com a especificação DB-API 2.0 descrita " +"pela :pep:`249` e requer SQLite 3.7.15 ou mais recente." #: ../../library/sqlite3.rst:34 msgid "This document includes four main sections:" @@ -130,6 +123,10 @@ msgid "" "basic :mod:`!sqlite3` functionality. It assumes a fundamental understanding " "of database concepts, including `cursors`_ and `transactions`_." msgstr "" +"Neste tutorial, você criará um banco de dados de filmes do Monty Python " +"usando a funcionalidade básica :mod:`!sqlite3`. Ele pressupõe uma " +"compreensão fundamental dos conceitos de banco de dados, incluindo " +"`cursores`_ e `transações`_." #: ../../library/sqlite3.rst:73 msgid "" @@ -138,19 +135,29 @@ msgid "" "create a connection to the database :file:`tutorial.db` in the current " "working directory, implicitly creating it if it does not exist:" msgstr "" +"Primeiro, precisamos criar um novo banco de dados e abrir uma conexão com o " +"banco de dados para permitir que :mod:`!sqlite3` funcione com ele. " +"Chame :func:`sqlite3.connect` para criar uma conexão com o banco de " +"dados :file:`tutorial.db` no diretório de trabalho atual, criando-o " +"implicitamente se ele não existir:" #: ../../library/sqlite3.rst:84 msgid "" "The returned :class:`Connection` object ``con`` represents the connection to " "the on-disk database." msgstr "" +"O objeto :class:`Connection` ``con`` retornado representa a conexão com o " +"banco de dados em disco." #: ../../library/sqlite3.rst:87 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`:" +"will need to use a database cursor. Call :meth:`con.cursor() " +"` to create the :class:`Cursor`:" msgstr "" +"Para executar instruções SQL e buscar resultados de consultas SQL, " +"precisaremos usar um cursor de banco de dados. Chame :meth:`con.cursor() " +"` para criar o :class:`Cursor`:" #: ../../library/sqlite3.rst:95 msgid "" @@ -158,61 +165,96 @@ msgid "" "database table ``movie`` with columns for title, release year, and review " "score. For simplicity, we can just use column names in the table declaration " "-- thanks to the `flexible typing`_ feature of SQLite, specifying the data " -"types is optional. Execute the ``CREATE TABLE`` statement by calling :meth:" -"`cur.execute(...) `:" +"types is optional. Execute the ``CREATE TABLE`` statement by " +"calling :meth:`cur.execute(...) `:" msgstr "" +"Agora que temos uma conexão com o banco de dados e um cursor, podemos criar " +"uma tabela de banco de dados ``movie`` com colunas para título, ano de " +"lançamento e pontuação da revisão. Para simplificar, podemos apenas usar " +"nomes de colunas na declaração da tabela - graças ao recurso `tipagem " +"flexível`_ do SQLite, especificar os tipos de dados é opcional. Execute a " +"instrução ``CREATE TABLE`` chamando :meth:`cur.execute(...) " +"`:" #: ../../library/sqlite3.rst:111 msgid "" "We can verify that the new table has been created by querying the " "``sqlite_master`` table built-in to SQLite, which should now contain an " "entry for the ``movie`` table definition (see `The Schema Table`_ for " -"details). Execute that query by calling :meth:`cur.execute(...) `, assign the result to ``res``, and call :meth:`res.fetchone() " -"` to fetch the resulting row:" +"details). Execute that query by calling :meth:`cur.execute(...) " +"`, assign the result to ``res``, and " +"call :meth:`res.fetchone() ` to fetch the resulting row:" msgstr "" +"Podemos verificar se a nova tabela foi criada consultando a tabela embutida " +"``sqlite_master`` no SQLite, que agora deve conter uma entrada para a " +"definição da tabela ``movie`` (veja `The Schema Table`_ para detalhes). " +"Execute essa consulta chamando :meth:`cur.execute(...) `, " +"atribua o resultado a ``res`` e chame :meth:`res.fetchone() " +"` para buscar a linha resultante:" #: ../../library/sqlite3.rst:125 msgid "" -"We can see that the table has been created, as the query returns a :class:" -"`tuple` containing the table's name. If we query ``sqlite_master`` for a non-" -"existent table ``spam``, :meth:`!res.fetchone()` will return ``None``:" +"We can see that the table has been created, as the query returns " +"a :class:`tuple` containing the table's name. If we query ``sqlite_master`` " +"for a non-existent table ``spam``, :meth:`!res.fetchone()` will return " +"``None``:" msgstr "" +"Podemos ver que a tabela foi criada, pois a consulta retorna " +"uma :class:`tuple` contendo o nome da tabela. Se consultarmos " +"``sqlite_master`` por uma tabela inexistente ``spam``, :meth:`!" +"res.fetchone()` retornará ``None``:" #: ../../library/sqlite3.rst:136 msgid "" "Now, add two rows of data supplied as SQL literals by executing an " -"``INSERT`` statement, once again by calling :meth:`cur.execute(...) `:" +"``INSERT`` statement, once again by calling :meth:`cur.execute(...) " +"`:" msgstr "" +"Agora, adicione duas linhas de dados fornecidos como literais SQL executando " +"uma instrução ``INSERT``, mais uma vez chamando :meth:`cur.execute(...) " +"`:" #: ../../library/sqlite3.rst:148 msgid "" "The ``INSERT`` statement implicitly opens a transaction, which needs to be " "committed before changes are saved in the database (see :ref:`sqlite3-" -"controlling-transactions` for details). Call :meth:`con.commit() ` on the connection object to commit the transaction:" +"controlling-transactions` for details). Call :meth:`con.commit() " +"` on the connection object to commit the transaction:" msgstr "" +"A instrução ``INSERT`` abre implicitamente uma transação, que precisa ser " +"confirmada antes que as alterações sejam salvas no banco de dados " +"(veja :ref:`sqlite3-controlling-transactions` para detalhes). " +"Chame :meth:`con.commit() ` no objeto de conexão para " +"confirmar a transação:" #: ../../library/sqlite3.rst:158 msgid "" "We can verify that the data was inserted correctly by executing a ``SELECT`` " "query. Use the now-familiar :meth:`cur.execute(...) ` to " -"assign the result to ``res``, and call :meth:`res.fetchall() ` to return all resulting rows:" +"assign the result to ``res``, and call :meth:`res.fetchall() " +"` to return all resulting rows:" msgstr "" +"Podemos verificar que os dados foram inseridos corretamente executando uma " +"consulta ``SELECT``. Use o já conhecido :meth:`cur.execute(...) " +"` para atribuir o resultado a ``res`` e " +"chame :meth:`res.fetchall() ` para retornar todas as linhas " +"resultantes." #: ../../library/sqlite3.rst:170 msgid "" "The result is a :class:`list` of two :class:`!tuple`\\s, one per row, each " "containing that row's ``score`` value." msgstr "" +"O resultado é uma :class:`list` de duas :class:`!tuple`\\s, uma por linha, " +"cada uma contendo o valor ``score`` dessa linha." #: ../../library/sqlite3.rst:173 msgid "" -"Now, insert three more rows by calling :meth:`cur.executemany(...) `:" +"Now, insert three more rows by calling :meth:`cur.executemany(...) " +"`:" msgstr "" +"Agora, insira mais três linhas chamando :meth:`cur.executemany(...) " +"`:" #: ../../library/sqlite3.rst:186 msgid "" @@ -221,35 +263,51 @@ msgid "" "to bind Python values to SQL statements, to avoid `SQL injection attacks`_ " "(see :ref:`sqlite3-placeholders` for more details)." msgstr "" +"Observe que espaços reservados ``?`` são usados para vincular ``data`` à " +"consulta. Sempre use espaços reservados em vez de :ref:`formatação de string " +"` para vincular valores Python a instruções SQL, para evitar " +"`ataques de injeção de SQL`_ (consulte :ref:`sqlite3-placeholders` para mais " +"detalhes)." #: ../../library/sqlite3.rst:192 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 "" +"Podemos verificar que as novas linhas foram inseridas executando uma " +"consulta ``SELECT``, desta vez iterando sobre os resultados da consulta." #: ../../library/sqlite3.rst:206 msgid "" "Each row is a two-item :class:`tuple` of ``(year, title)``, matching the " "columns selected in the query." msgstr "" +"Cada linha é uma :class:`tuple` de dois itens ``(year, title)``, " +"correspondendo às colunas selecionadas na consulta." #: ../../library/sqlite3.rst:209 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:" +"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 "" +"Finalmente, verifique se o banco de dados foi gravado no disco " +"chamando :meth:`con.close() ` para fechar a conexão " +"existente, abrir uma nova, criar um novo cursor e, em seguida, consultar o " +"banco de dados." #: ../../library/sqlite3.rst:224 msgid "" "You've now created an SQLite database using the :mod:`!sqlite3` module, " "inserted data and retrieved values from it in multiple ways." msgstr "" +"Você agora criou um banco de dados SQLite usando o módulo :mod:`!sqlite3`, " +"inseriu dados e recuperou valores dele de várias maneiras." #: ../../library/sqlite3.rst:236 msgid ":ref:`sqlite3-howtos` for further reading:" -msgstr "" +msgstr ":ref:`sqlite3-howtos` para leitura adicional:" #: ../../library/sqlite3.rst:238 msgid ":ref:`sqlite3-placeholders`" @@ -263,18 +321,20 @@ msgstr ":ref:`sqlite3-adapters`" msgid ":ref:`sqlite3-converters`" msgstr ":ref:`sqlite3-converters`" -#: ../../library/sqlite3.rst:241 ../../library/sqlite3.rst:557 +#: ../../library/sqlite3.rst:241 ../../library/sqlite3.rst:558 msgid ":ref:`sqlite3-connection-context-manager`" msgstr ":ref:`sqlite3-connection-context-manager`" #: ../../library/sqlite3.rst:242 msgid ":ref:`sqlite3-howto-row-factory`" -msgstr "" +msgstr ":ref:`sqlite3-howto-row-factory`" #: ../../library/sqlite3.rst:244 msgid "" ":ref:`sqlite3-explanation` for in-depth background on transaction control." msgstr "" +":ref:`sqlite3-explanation` para obter informações detalhadas sobre o " +"controle de transações." #: ../../library/sqlite3.rst:249 msgid "Reference" @@ -282,11 +342,11 @@ msgstr "Referência" #: ../../library/sqlite3.rst:257 msgid "Module functions" -msgstr "" +msgstr "Funções do módulo" #: ../../library/sqlite3.rst:264 msgid "Open a connection to an SQLite database." -msgstr "" +msgstr "Abra uma conexão com um banco de dados SQLite." #: ../../library/sqlite3.rst:0 msgid "Parameters" @@ -294,32 +354,41 @@ msgstr "Parâmetros" #: ../../library/sqlite3.rst:266 msgid "" -"The path to the database file to be opened. Pass ``\":memory:\"`` to open a " -"connection to a database that is in RAM instead of on disk." +"The path to the database file to be opened. You can pass ``\":memory:\"`` to " +"create an `SQLite database existing only in memory `_, and open a connection to it." msgstr "" +"O caminho para o arquivo do banco de dados a ser aberto. Você pode passar " +"``\":memory:\"`` para criar um banco de dados `SQLite que existirá apenas na " +"memória `_, e abrir uma conexão com ele." -#: ../../library/sqlite3.rst:272 +#: ../../library/sqlite3.rst:273 msgid "" -"How many seconds the connection should wait before raising an :exc:" -"`OperationalError` when a table is locked. If another connection opens a " -"transaction to modify a table, that table will be locked until the " +"How many seconds the connection should wait before raising " +"an :exc:`OperationalError` when a table is locked. If another connection " +"opens a transaction to modify a table, that table will be locked until the " "transaction is committed. Default five seconds." msgstr "" +"Quantos segundos a conexão deve aguardar antes de levantar uma " +"exceção :exc:`OperationalError` quando uma tabela estiver bloqueada. Se " +"outra conexão abrir uma transação para modificar uma tabela, essa tabela " +"permanecerá bloqueada até que a transação seja confirmada. O padrão é cinco " +"segundos." -#: ../../library/sqlite3.rst:279 +#: ../../library/sqlite3.rst:280 msgid "" "Control whether and how data types not :ref:`natively supported by SQLite " "` are looked up to be converted to Python types, using the " "converters registered with :func:`register_converter`. Set it to any " -"combination (using ``|``, bitwise or) of :const:`PARSE_DECLTYPES` and :const:" -"`PARSE_COLNAMES` to enable this. Column names takes precedence over declared " -"types if both flags are set. Types cannot be detected for generated fields " -"(for example ``max(data)``), even when the *detect_types* parameter is set; :" -"class:`str` will be returned instead. By default (``0``), type detection is " -"disabled." +"combination (using ``|``, bitwise or) of :const:`PARSE_DECLTYPES` " +"and :const:`PARSE_COLNAMES` to enable this. Column names takes precedence " +"over declared types if both flags are set. Types cannot be detected for " +"generated fields (for example ``max(data)``), even when the *detect_types* " +"parameter is set; :class:`str` will be returned instead. By default (``0``), " +"type detection is disabled." msgstr "" -#: ../../library/sqlite3.rst:293 +#: ../../library/sqlite3.rst:294 msgid "" "The :attr:`~Connection.isolation_level` of the connection, controlling " "whether and how transactions are implicitly opened. Can be ``\"DEFERRED\"`` " @@ -328,7 +397,7 @@ msgid "" "for more." msgstr "" -#: ../../library/sqlite3.rst:301 +#: ../../library/sqlite3.rst:302 msgid "" "If ``True`` (default), :exc:`ProgrammingError` will be raised if the " "database connection is used by a thread other than the one that created it. " @@ -337,19 +406,19 @@ msgid "" "See :attr:`threadsafety` for more information." msgstr "" -#: ../../library/sqlite3.rst:310 +#: ../../library/sqlite3.rst:311 msgid "" "A custom subclass of :class:`Connection` to create the connection with, if " "not the default :class:`Connection` class." msgstr "" -#: ../../library/sqlite3.rst:314 +#: ../../library/sqlite3.rst:315 msgid "" "The number of statements that :mod:`!sqlite3` should internally cache for " "this connection, to avoid parsing overhead. By default, 128 statements." msgstr "" -#: ../../library/sqlite3.rst:319 +#: ../../library/sqlite3.rst:320 msgid "" "If set to ``True``, *database* is interpreted as a :abbr:`URI (Uniform " "Resource Identifier)` with a file path and an optional query string. The " @@ -362,32 +431,36 @@ msgstr "" msgid "Return type" msgstr "" -#: ../../library/sqlite3.rst:330 +#: ../../library/sqlite3.rst:331 msgid "" "Raises an :ref:`auditing event ` ``sqlite3.connect`` with argument " "``database``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``sqlite3.connect`` com o " +"argumento ``database``." -#: ../../library/sqlite3.rst:331 +#: ../../library/sqlite3.rst:332 msgid "" "Raises an :ref:`auditing event ` ``sqlite3.connect/handle`` with " "argument ``connection_handle``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``sqlite3.connect/handle`` " +"com o argumento ``connection_handle``." -#: ../../library/sqlite3.rst:333 -msgid "The *uri* parameter." -msgstr "" +#: ../../library/sqlite3.rst:334 +msgid "Added the *uri* parameter." +msgstr "Adicionado o parâmetro *uri*." -#: ../../library/sqlite3.rst:336 +#: ../../library/sqlite3.rst:337 msgid "" "*database* can now also be a :term:`path-like object`, not only a string." msgstr "" -#: ../../library/sqlite3.rst:339 -msgid "The ``sqlite3.connect/handle`` auditing event." +#: ../../library/sqlite3.rst:340 +msgid "Added the ``sqlite3.connect/handle`` auditing event." msgstr "" -#: ../../library/sqlite3.rst:344 +#: ../../library/sqlite3.rst:345 msgid "" "Return ``True`` if the string *statement* appears to contain one or more " "complete SQL statements. No syntactic verification or parsing of any kind is " @@ -395,18 +468,18 @@ msgid "" "and the statement is terminated by a semicolon." msgstr "" -#: ../../library/sqlite3.rst:350 +#: ../../library/sqlite3.rst:351 msgid "For example:" msgstr "Por exemplo:" -#: ../../library/sqlite3.rst:359 +#: ../../library/sqlite3.rst:360 msgid "" "This function may be useful during command-line input to determine if the " "entered text seems to form a complete SQL statement, or if additional input " "is needed before calling :meth:`~Cursor.execute`." msgstr "" -#: ../../library/sqlite3.rst:365 +#: ../../library/sqlite3.rst:366 msgid "" "Enable or disable callback tracebacks. By default you will not get any " "tracebacks in user-defined functions, aggregates, converters, authorizer " @@ -415,23 +488,23 @@ msgid "" "on :data:`sys.stderr`. Use ``False`` to disable the feature again." msgstr "" -#: ../../library/sqlite3.rst:372 +#: ../../library/sqlite3.rst:373 msgid "" "Register an :func:`unraisable hook handler ` for an " "improved debug experience:" msgstr "" -#: ../../library/sqlite3.rst:397 +#: ../../library/sqlite3.rst:398 msgid "" -"Register an *adapter* callable to adapt the Python type *type* into an " -"SQLite type. The adapter is called with a Python object of type *type* as " +"Register an *adapter* :term:`callable` to adapt the Python type *type* into " +"an SQLite type. The adapter is called with a Python object of type *type* as " "its sole argument, and must return a value of a :ref:`type that SQLite " "natively understands `." msgstr "" -#: ../../library/sqlite3.rst:405 +#: ../../library/sqlite3.rst:406 msgid "" -"Register the *converter* callable to convert SQLite objects of type " +"Register the *converter* :term:`callable` to convert SQLite objects of type " "*typename* into a Python object of a specific type. The converter is invoked " "for all SQLite values of type *typename*; it is passed a :class:`bytes` " "object and should return an object of the desired Python type. Consult the " @@ -439,17 +512,17 @@ msgid "" "type detection works." msgstr "" -#: ../../library/sqlite3.rst:413 +#: ../../library/sqlite3.rst:414 msgid "" "Note: *typename* and the name of the type in your query are matched case-" "insensitively." msgstr "" -#: ../../library/sqlite3.rst:420 +#: ../../library/sqlite3.rst:421 msgid "Module constants" msgstr "Constantes do módulo" -#: ../../library/sqlite3.rst:424 +#: ../../library/sqlite3.rst:425 msgid "" "Pass this flag value to the *detect_types* parameter of :func:`connect` to " "look up a converter function by using the type name, parsed from the query " @@ -457,13 +530,13 @@ msgid "" "in square brackets (``[]``)." msgstr "" -#: ../../library/sqlite3.rst:434 +#: ../../library/sqlite3.rst:435 msgid "" "This flag may be combined with :const:`PARSE_DECLTYPES` using the ``|`` " "(bitwise or) operator." msgstr "" -#: ../../library/sqlite3.rst:439 +#: ../../library/sqlite3.rst:440 msgid "" "Pass this flag value to the *detect_types* parameter of :func:`connect` to " "look up a converter function using the declared types for each column. The " @@ -472,61 +545,61 @@ msgid "" "the converter dictionary key. For example:" msgstr "" -#: ../../library/sqlite3.rst:455 +#: ../../library/sqlite3.rst:456 msgid "" "This flag may be combined with :const:`PARSE_COLNAMES` using the ``|`` " "(bitwise or) operator." msgstr "" -#: ../../library/sqlite3.rst:462 +#: ../../library/sqlite3.rst:463 msgid "" -"Flags that should be returned by the *authorizer_callback* callable passed " -"to :meth:`Connection.set_authorizer`, to indicate whether:" +"Flags that should be returned by the *authorizer_callback* :term:`callable` " +"passed to :meth:`Connection.set_authorizer`, to indicate whether:" msgstr "" -#: ../../library/sqlite3.rst:465 +#: ../../library/sqlite3.rst:466 msgid "Access is allowed (:const:`!SQLITE_OK`)," msgstr "" -#: ../../library/sqlite3.rst:466 +#: ../../library/sqlite3.rst:467 msgid "" "The SQL statement should be aborted with an error (:const:`!SQLITE_DENY`)" msgstr "" -#: ../../library/sqlite3.rst:467 +#: ../../library/sqlite3.rst:468 msgid "" "The column should be treated as a ``NULL`` value (:const:`!SQLITE_IGNORE`)" msgstr "" -#: ../../library/sqlite3.rst:471 +#: ../../library/sqlite3.rst:472 msgid "" "String constant stating the supported DB-API level. Required by the DB-API. " "Hard-coded to ``\"2.0\"``." msgstr "" -#: ../../library/sqlite3.rst:476 +#: ../../library/sqlite3.rst:477 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 "" -#: ../../library/sqlite3.rst:482 +#: ../../library/sqlite3.rst:483 msgid "The ``named`` DB-API parameter style is also supported." msgstr "" -#: ../../library/sqlite3.rst:486 +#: ../../library/sqlite3.rst:487 msgid "" "Version number of the runtime SQLite library as a :class:`string `." msgstr "" -#: ../../library/sqlite3.rst:490 +#: ../../library/sqlite3.rst:491 msgid "" -"Version number of the runtime SQLite library as a :class:`tuple` of :class:" -"`integers `." +"Version number of the runtime SQLite library as a :class:`tuple` " +"of :class:`integers `." msgstr "" -#: ../../library/sqlite3.rst:495 +#: ../../library/sqlite3.rst:496 msgid "" "Integer constant required by the DB-API 2.0, stating the level of thread " "safety the :mod:`!sqlite3` module supports. This attribute is set based on " @@ -534,267 +607,268 @@ msgid "" "underlying SQLite library is compiled with. The SQLite threading modes are:" msgstr "" -#: ../../library/sqlite3.rst:500 +#: ../../library/sqlite3.rst:501 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 "" -#: ../../library/sqlite3.rst:502 +#: ../../library/sqlite3.rst:503 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 "" -#: ../../library/sqlite3.rst:505 +#: ../../library/sqlite3.rst:506 msgid "" "**Serialized**: In serialized mode, SQLite can be safely used by multiple " "threads with no restriction." msgstr "" -#: ../../library/sqlite3.rst:508 +#: ../../library/sqlite3.rst:509 msgid "" "The mappings from SQLite threading modes to DB-API 2.0 threadsafety levels " "are as follows:" msgstr "" -#: ../../library/sqlite3.rst:512 +#: ../../library/sqlite3.rst:513 msgid "SQLite threading mode" msgstr "" -#: ../../library/sqlite3.rst:512 +#: ../../library/sqlite3.rst:513 msgid "`threadsafety`_" msgstr "" -#: ../../library/sqlite3.rst:512 +#: ../../library/sqlite3.rst:513 msgid "`SQLITE_THREADSAFE`_" msgstr "" -#: ../../library/sqlite3.rst:512 +#: ../../library/sqlite3.rst:513 msgid "DB-API 2.0 meaning" msgstr "" -#: ../../library/sqlite3.rst:515 +#: ../../library/sqlite3.rst:516 msgid "single-thread" msgstr "" -#: ../../library/sqlite3.rst:515 +#: ../../library/sqlite3.rst:516 msgid "0" msgstr "0" -#: ../../library/sqlite3.rst:515 +#: ../../library/sqlite3.rst:516 msgid "Threads may not share the module" msgstr "" -#: ../../library/sqlite3.rst:518 +#: ../../library/sqlite3.rst:519 msgid "multi-thread" msgstr "" -#: ../../library/sqlite3.rst:518 ../../library/sqlite3.rst:521 +#: ../../library/sqlite3.rst:519 ../../library/sqlite3.rst:522 msgid "1" msgstr "1" -#: ../../library/sqlite3.rst:518 +#: ../../library/sqlite3.rst:519 msgid "2" msgstr "2" -#: ../../library/sqlite3.rst:518 +#: ../../library/sqlite3.rst:519 msgid "Threads may share the module, but not connections" msgstr "" -#: ../../library/sqlite3.rst:521 +#: ../../library/sqlite3.rst:522 msgid "serialized" msgstr "" -#: ../../library/sqlite3.rst:521 +#: ../../library/sqlite3.rst:522 msgid "3" msgstr "3" -#: ../../library/sqlite3.rst:521 +#: ../../library/sqlite3.rst:522 msgid "Threads may share the module, connections and cursors" msgstr "" -#: ../../library/sqlite3.rst:528 +#: ../../library/sqlite3.rst:529 msgid "Set *threadsafety* dynamically instead of hard-coding it to ``1``." msgstr "" -#: ../../library/sqlite3.rst:533 +#: ../../library/sqlite3.rst:534 msgid "" "Version number of this module as a :class:`string `. This is not the " "version of the SQLite library." msgstr "" -#: ../../library/sqlite3.rst:538 +#: ../../library/sqlite3.rst:539 msgid "" "Version number of this module as a :class:`tuple` of :class:`integers " "`. This is not the version of the SQLite library." msgstr "" -#: ../../library/sqlite3.rst:545 +#: ../../library/sqlite3.rst:546 msgid "Connection objects" msgstr "" -#: ../../library/sqlite3.rst:549 +#: ../../library/sqlite3.rst:550 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`." +"is created using :func:`sqlite3.connect`. Their main purpose is " +"creating :class:`Cursor` objects, and :ref:`sqlite3-controlling-" +"transactions`." msgstr "" -#: ../../library/sqlite3.rst:556 +#: ../../library/sqlite3.rst:557 msgid ":ref:`sqlite3-connection-shortcuts`" msgstr "" -#: ../../library/sqlite3.rst:559 +#: ../../library/sqlite3.rst:560 msgid "An SQLite database connection has the following attributes and methods:" msgstr "" -#: ../../library/sqlite3.rst:563 +#: ../../library/sqlite3.rst:564 msgid "" "Create and return a :class:`Cursor` object. The cursor method accepts a " -"single optional parameter *factory*. If supplied, this must be a callable " -"returning an instance of :class:`Cursor` or its subclasses." +"single optional parameter *factory*. If supplied, this must be " +"a :term:`callable` returning an instance of :class:`Cursor` or its " +"subclasses." msgstr "" -#: ../../library/sqlite3.rst:570 +#: ../../library/sqlite3.rst:571 msgid "" "Open a :class:`Blob` handle to an existing :abbr:`BLOB (Binary Large " "OBject)`." msgstr "" -#: ../../library/sqlite3.rst:573 +#: ../../library/sqlite3.rst:574 msgid "The name of the table where the blob is located." msgstr "" -#: ../../library/sqlite3.rst:576 +#: ../../library/sqlite3.rst:577 msgid "The name of the column where the blob is located." msgstr "" -#: ../../library/sqlite3.rst:579 +#: ../../library/sqlite3.rst:580 msgid "The name of the row where the blob is located." msgstr "" -#: ../../library/sqlite3.rst:582 +#: ../../library/sqlite3.rst:583 msgid "" "Set to ``True`` if the blob should be opened without write permissions. " "Defaults to ``False``." msgstr "" -#: ../../library/sqlite3.rst:587 +#: ../../library/sqlite3.rst:588 msgid "" "The name of the database where the blob is located. Defaults to ``\"main\"``." msgstr "" #: ../../library/sqlite3.rst:0 msgid "Raises" -msgstr "" +msgstr "Levanta" -#: ../../library/sqlite3.rst:591 +#: ../../library/sqlite3.rst:592 msgid "When trying to open a blob in a ``WITHOUT ROWID`` table." msgstr "" -#: ../../library/sqlite3.rst:598 +#: ../../library/sqlite3.rst:599 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 "" -#: ../../library/sqlite3.rst:605 +#: ../../library/sqlite3.rst:606 msgid "" "Commit any pending transaction to the database. If there is no open " "transaction, this method is a no-op." msgstr "" -#: ../../library/sqlite3.rst:610 +#: ../../library/sqlite3.rst:611 msgid "" "Roll back to the start of any pending transaction. If there is no open " "transaction, this method is a no-op." msgstr "" -#: ../../library/sqlite3.rst:615 +#: ../../library/sqlite3.rst:616 msgid "" "Close the database connection. Any pending transaction is not committed " "implicitly; make sure to :meth:`commit` before closing to avoid losing " "pending changes." msgstr "" -#: ../../library/sqlite3.rst:622 +#: ../../library/sqlite3.rst:623 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 "" -#: ../../library/sqlite3.rst:628 +#: ../../library/sqlite3.rst:629 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 "" -#: ../../library/sqlite3.rst:634 +#: ../../library/sqlite3.rst:635 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 "" -#: ../../library/sqlite3.rst:640 +#: ../../library/sqlite3.rst:641 msgid "Create or remove a user-defined SQL function." msgstr "" -#: ../../library/sqlite3.rst:642 +#: ../../library/sqlite3.rst:643 msgid "The name of the SQL function." msgstr "O nome da função SQL." -#: ../../library/sqlite3.rst:645 +#: ../../library/sqlite3.rst:646 msgid "" "The number of arguments the SQL function can accept. If ``-1``, it may take " "any number of arguments." msgstr "" -#: ../../library/sqlite3.rst:649 +#: ../../library/sqlite3.rst:650 msgid "" -"A 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." +"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 "" -#: ../../library/sqlite3.rst:656 +#: ../../library/sqlite3.rst:657 msgid "" "If ``True``, the created SQL function is marked as `deterministic `_, which allows SQLite to perform additional " "optimizations." msgstr "" -#: ../../library/sqlite3.rst:661 +#: ../../library/sqlite3.rst:662 msgid "If *deterministic* is used with SQLite versions older than 3.8.3." msgstr "" -#: ../../library/sqlite3.rst:664 -msgid "The *deterministic* parameter." +#: ../../library/sqlite3.rst:665 +msgid "Added the *deterministic* parameter." msgstr "" -#: ../../library/sqlite3.rst:667 ../../library/sqlite3.rst:705 -#: ../../library/sqlite3.rst:768 ../../library/sqlite3.rst:1019 -#: ../../library/sqlite3.rst:1256 ../../library/sqlite3.rst:1383 -#: ../../library/sqlite3.rst:1411 +#: ../../library/sqlite3.rst:668 ../../library/sqlite3.rst:706 +#: ../../library/sqlite3.rst:769 ../../library/sqlite3.rst:1021 +#: ../../library/sqlite3.rst:1362 ../../library/sqlite3.rst:1390 msgid "Example:" msgstr "Exemplo:" -#: ../../library/sqlite3.rst:683 +#: ../../library/sqlite3.rst:684 msgid "Create or remove a user-defined SQL aggregate function." msgstr "" -#: ../../library/sqlite3.rst:685 +#: ../../library/sqlite3.rst:686 msgid "The name of the SQL aggregate function." msgstr "" -#: ../../library/sqlite3.rst:688 +#: ../../library/sqlite3.rst:689 msgid "" "The number of arguments the SQL aggregate function can accept. If ``-1``, it " "may take any number of arguments." msgstr "" -#: ../../library/sqlite3.rst:692 +#: ../../library/sqlite3.rst:693 msgid "" "A class must implement the following methods: * ``step()``: Add a row to " "the aggregate. * ``finalize()``: Return the final result of the aggregate " @@ -803,45 +877,45 @@ msgid "" "*n_arg*. Set to ``None`` to remove an existing SQL aggregate function." msgstr "" -#: ../../library/sqlite3.rst:693 +#: ../../library/sqlite3.rst:694 msgid "A class must implement the following methods:" msgstr "Uma classe deve implementar os seguintes métodos:" -#: ../../library/sqlite3.rst:695 +#: ../../library/sqlite3.rst:696 msgid "``step()``: Add a row to the aggregate." msgstr "" -#: ../../library/sqlite3.rst:696 ../../library/sqlite3.rst:752 +#: ../../library/sqlite3.rst:697 ../../library/sqlite3.rst:753 msgid "" "``finalize()``: Return the final result of the aggregate as :ref:`a type " "natively supported by SQLite `." msgstr "" -#: ../../library/sqlite3.rst:699 +#: ../../library/sqlite3.rst:700 msgid "" "The number of arguments that the ``step()`` method must accept is controlled " "by *n_arg*." msgstr "" -#: ../../library/sqlite3.rst:702 +#: ../../library/sqlite3.rst:703 msgid "Set to ``None`` to remove an existing SQL aggregate function." msgstr "" -#: ../../library/sqlite3.rst:737 +#: ../../library/sqlite3.rst:738 msgid "Create or remove a user-defined aggregate window function." msgstr "" -#: ../../library/sqlite3.rst:739 +#: ../../library/sqlite3.rst:740 msgid "The name of the SQL aggregate window function to create or remove." msgstr "" -#: ../../library/sqlite3.rst:742 +#: ../../library/sqlite3.rst:743 msgid "" "The number of arguments the SQL aggregate window function can accept. If " "``-1``, it may take any number of arguments." msgstr "" -#: ../../library/sqlite3.rst:746 +#: ../../library/sqlite3.rst:747 msgid "" "A class that must implement the following methods: * ``step()``: Add a row " "to the current window. * ``value()``: Return the current value of the " @@ -853,88 +927,88 @@ msgid "" "function." msgstr "" -#: ../../library/sqlite3.rst:747 +#: ../../library/sqlite3.rst:748 msgid "A class that must implement the following methods:" msgstr "Uma classe que deve implementar os seguintes métodos:" -#: ../../library/sqlite3.rst:749 +#: ../../library/sqlite3.rst:750 msgid "``step()``: Add a row to the current window." msgstr "" -#: ../../library/sqlite3.rst:750 +#: ../../library/sqlite3.rst:751 msgid "``value()``: Return the current value of the aggregate." msgstr "" -#: ../../library/sqlite3.rst:751 +#: ../../library/sqlite3.rst:752 msgid "``inverse()``: Remove a row from the current window." msgstr "" -#: ../../library/sqlite3.rst:755 +#: ../../library/sqlite3.rst:756 msgid "" "The number of arguments that the ``step()`` and ``value()`` methods must " "accept is controlled by *num_params*." msgstr "" -#: ../../library/sqlite3.rst:758 +#: ../../library/sqlite3.rst:759 msgid "Set to ``None`` to remove an existing SQL aggregate window function." msgstr "" -#: ../../library/sqlite3.rst:760 +#: ../../library/sqlite3.rst:761 msgid "" "If used with a version of SQLite older than 3.25.0, which does not support " "aggregate window functions." msgstr "" -#: ../../library/sqlite3.rst:823 +#: ../../library/sqlite3.rst:824 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 "" -#: ../../library/sqlite3.rst:827 +#: ../../library/sqlite3.rst:828 msgid "``1`` if the first is ordered higher than the second" msgstr "" -#: ../../library/sqlite3.rst:828 +#: ../../library/sqlite3.rst:829 msgid "``-1`` if the first is ordered lower than the second" msgstr "" -#: ../../library/sqlite3.rst:829 +#: ../../library/sqlite3.rst:830 msgid "``0`` if they are ordered equal" msgstr "" -#: ../../library/sqlite3.rst:831 +#: ../../library/sqlite3.rst:832 msgid "The following example shows a reverse sorting collation:" msgstr "" -#: ../../library/sqlite3.rst:859 +#: ../../library/sqlite3.rst:860 msgid "Remove a collation function by setting *callable* to ``None``." msgstr "" -#: ../../library/sqlite3.rst:861 +#: ../../library/sqlite3.rst:862 msgid "" "The collation name can contain any Unicode character. Earlier, only ASCII " "characters were allowed." msgstr "" -#: ../../library/sqlite3.rst:868 +#: ../../library/sqlite3.rst:869 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`." +"executing on the connection. Aborted queries will raise " +"an :exc:`OperationalError`." msgstr "" -#: ../../library/sqlite3.rst:875 +#: ../../library/sqlite3.rst:876 msgid "" -"Register callable *authorizer_callback* to be invoked for each attempt to " -"access a column of a table in the database. The callback should return one " -"of :const:`SQLITE_OK`, :const:`SQLITE_DENY`, or :const:`SQLITE_IGNORE` to " -"signal how access to the column should be handled by the underlying SQLite " -"library." +"Register :term:`callable` *authorizer_callback* to be invoked for each " +"attempt to access a column of a table in the database. The callback should " +"return one of :const:`SQLITE_OK`, :const:`SQLITE_DENY`, " +"or :const:`SQLITE_IGNORE` to signal how access to the column should be " +"handled by the underlying SQLite library." msgstr "" -#: ../../library/sqlite3.rst:881 +#: ../../library/sqlite3.rst:883 msgid "" "The first argument to the callback signifies what kind of operation is to be " "authorized. The second and third argument will be arguments or ``None`` " @@ -944,7 +1018,7 @@ msgid "" "attempt or ``None`` if this access attempt is directly from input SQL code." msgstr "" -#: ../../library/sqlite3.rst:888 +#: ../../library/sqlite3.rst:890 msgid "" "Please consult the SQLite documentation about the possible values for the " "first argument and the meaning of the second and third argument depending on " @@ -952,63 +1026,64 @@ msgid "" "module." msgstr "" -#: ../../library/sqlite3.rst:892 +#: ../../library/sqlite3.rst:894 msgid "Passing ``None`` as *authorizer_callback* will disable the authorizer." msgstr "" -#: ../../library/sqlite3.rst:894 +#: ../../library/sqlite3.rst:896 msgid "Added support for disabling the authorizer using ``None``." msgstr "" -#: ../../library/sqlite3.rst:900 +#: ../../library/sqlite3.rst:902 msgid "" -"Register callable *progress_handler* to be invoked for every *n* " +"Register :term:`callable` *progress_handler* to be invoked for every *n* " "instructions of the SQLite virtual machine. This is useful if you want to " "get called from SQLite during long-running operations, for example to update " "a GUI." msgstr "" -#: ../../library/sqlite3.rst:905 +#: ../../library/sqlite3.rst:907 msgid "" "If you want to clear any previously installed progress handler, call the " "method with ``None`` for *progress_handler*." msgstr "" -#: ../../library/sqlite3.rst:908 +#: ../../library/sqlite3.rst:910 msgid "" "Returning a non-zero value from the handler function will terminate the " "currently executing query and cause it to raise an :exc:`OperationalError` " "exception." msgstr "" -#: ../../library/sqlite3.rst:915 +#: ../../library/sqlite3.rst:917 msgid "" -"Register callable *trace_callback* to be invoked for each SQL statement that " -"is actually executed by the SQLite backend." +"Register :term:`callable` *trace_callback* to be invoked for each SQL " +"statement that is actually executed by the SQLite backend." msgstr "" -#: ../../library/sqlite3.rst:918 +#: ../../library/sqlite3.rst:920 msgid "" "The only argument passed to the callback is the statement (as :class:`str`) " "that is being executed. The return value of the callback is ignored. Note " -"that the backend does not only run statements passed to the :meth:`Cursor." -"execute` methods. Other sources include the :ref:`transaction management " -"` of the :mod:`!sqlite3` module and the " -"execution of triggers defined in the current database." +"that the backend does not only run statements passed to " +"the :meth:`Cursor.execute` methods. Other sources include " +"the :ref:`transaction management ` of " +"the :mod:`!sqlite3` module and the execution of triggers defined in the " +"current database." msgstr "" -#: ../../library/sqlite3.rst:926 +#: ../../library/sqlite3.rst:928 msgid "Passing ``None`` as *trace_callback* will disable the trace callback." msgstr "" -#: ../../library/sqlite3.rst:929 +#: ../../library/sqlite3.rst:931 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 "" -#: ../../library/sqlite3.rst:939 +#: ../../library/sqlite3.rst:941 msgid "" "Enable the SQLite engine to load SQLite extensions from shared libraries if " "*enabled* is ``True``; else, disallow loading SQLite extensions. SQLite " @@ -1017,117 +1092,126 @@ msgid "" "distributed with SQLite." msgstr "" -#: ../../library/sqlite3.rst:948 +#: ../../library/sqlite3.rst:950 msgid "" "The :mod:`!sqlite3` module is not built with loadable extension support by " "default, because some platforms (notably macOS) have SQLite libraries which " "are compiled without this feature. To get loadable extension support, you " -"must pass the :option:`--enable-loadable-sqlite-extensions` option to :" -"program:`configure`." +"must pass the :option:`--enable-loadable-sqlite-extensions` option " +"to :program:`configure`." msgstr "" -#: ../../library/sqlite3.rst:955 +#: ../../library/sqlite3.rst:957 msgid "" "Raises an :ref:`auditing event ` ``sqlite3.enable_load_extension`` " "with arguments ``connection``, ``enabled``." msgstr "" +"Levanta um :ref:`evento de auditoria ` " +"``sqlite3.enable_load_extension`` com os argumentos ``connection``, " +"``enabled``." -#: ../../library/sqlite3.rst:959 +#: ../../library/sqlite3.rst:961 msgid "Added the ``sqlite3.enable_load_extension`` auditing event." msgstr "" -#: ../../library/sqlite3.rst:1002 +#: ../../library/sqlite3.rst:1004 msgid "" "Load an SQLite extension from a shared library located at *path*. Enable " "extension loading with :meth:`enable_load_extension` before calling this " "method." msgstr "" -#: ../../library/sqlite3.rst:1006 +#: ../../library/sqlite3.rst:1008 msgid "" "Raises an :ref:`auditing event ` ``sqlite3.load_extension`` with " "arguments ``connection``, ``path``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``sqlite3.load_extension`` " +"com os argumentos ``connection``, ``path``." -#: ../../library/sqlite3.rst:1010 +#: ../../library/sqlite3.rst:1012 msgid "Added the ``sqlite3.load_extension`` auditing event." msgstr "" -#: ../../library/sqlite3.rst:1015 +#: ../../library/sqlite3.rst:1017 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." +"when saving an in-memory database for later restoration. Similar to the " +"``.dump`` command in the :program:`sqlite3` shell." msgstr "" -#: ../../library/sqlite3.rst:1033 +#: ../../library/sqlite3.rst:1034 ../../library/sqlite3.rst:1104 +msgid ":ref:`sqlite3-howto-encoding`" +msgstr ":ref:`sqlite3-howto-encoding`" + +#: ../../library/sqlite3.rst:1039 msgid "Create a backup of an SQLite database." msgstr "" -#: ../../library/sqlite3.rst:1035 +#: ../../library/sqlite3.rst:1041 msgid "" "Works even if the database is being accessed by other clients or " "concurrently by the same connection." msgstr "" -#: ../../library/sqlite3.rst:1038 +#: ../../library/sqlite3.rst:1044 msgid "The database connection to save the backup to." msgstr "" -#: ../../library/sqlite3.rst:1041 +#: ../../library/sqlite3.rst:1047 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 "" -#: ../../library/sqlite3.rst:1047 +#: ../../library/sqlite3.rst:1053 msgid "" -"If set to a callable, it is invoked with three integer arguments for every " -"backup iteration: the *status* of the last iteration, the *remaining* number " -"of pages still to be copied, and the *total* number of pages. Defaults to " -"``None``." +"If set to a :term:`callable`, it is invoked with three integer arguments for " +"every backup iteration: the *status* of the last iteration, the *remaining* " +"number of pages still to be copied, and the *total* number of pages. " +"Defaults to ``None``." msgstr "" -#: ../../library/sqlite3.rst:1056 +#: ../../library/sqlite3.rst:1062 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 "" -#: ../../library/sqlite3.rst:1063 +#: ../../library/sqlite3.rst:1069 msgid "" "The number of seconds to sleep between successive attempts to back up " "remaining pages." msgstr "" -#: ../../library/sqlite3.rst:1067 +#: ../../library/sqlite3.rst:1073 msgid "Example 1, copy an existing database into another:" msgstr "" -#: ../../library/sqlite3.rst:1086 +#: ../../library/sqlite3.rst:1092 msgid "Example 2, copy an existing database into a transient copy:" msgstr "" -#: ../../library/sqlite3.rst:1098 +#: ../../library/sqlite3.rst:1108 msgid "Get a connection runtime limit." msgstr "" -#: ../../library/sqlite3.rst:1100 +#: ../../library/sqlite3.rst:1110 msgid "The `SQLite limit category`_ to be queried." msgstr "" -#: ../../library/sqlite3.rst:1105 ../../library/sqlite3.rst:1142 +#: ../../library/sqlite3.rst:1115 ../../library/sqlite3.rst:1152 msgid "If *category* is not recognised by the underlying SQLite library." msgstr "" -#: ../../library/sqlite3.rst:1108 +#: ../../library/sqlite3.rst:1118 msgid "" -"Example, query the maximum length of an SQL statement for :class:" -"`Connection` ``con`` (the default is 1000000000):" +"Example, query the maximum length of an SQL statement " +"for :class:`Connection` ``con`` (the default is 1000000000):" msgstr "" -#: ../../library/sqlite3.rst:1128 +#: ../../library/sqlite3.rst:1138 msgid "" "Set a connection runtime limit. Attempts to increase a limit above its hard " "upper bound are silently truncated to the hard upper bound. Regardless of " @@ -1135,22 +1219,22 @@ msgid "" "returned." msgstr "" -#: ../../library/sqlite3.rst:1133 +#: ../../library/sqlite3.rst:1143 msgid "The `SQLite limit category`_ to be set." msgstr "" -#: ../../library/sqlite3.rst:1136 +#: ../../library/sqlite3.rst:1146 msgid "" "The value of the new limit. If negative, the current limit is unchanged." msgstr "" -#: ../../library/sqlite3.rst:1145 +#: ../../library/sqlite3.rst:1155 msgid "" "Example, limit the number of attached databases to 1 for :class:`Connection` " "``con`` (the default limit is 10):" msgstr "" -#: ../../library/sqlite3.rst:1162 +#: ../../library/sqlite3.rst:1172 msgid "" "Serialize a database into a :class:`bytes` object. For an ordinary on-disk " "database file, the serialization is just a copy of the disk file. For an in-" @@ -1159,65 +1243,65 @@ msgid "" "backed up to disk." msgstr "" -#: ../../library/sqlite3.rst:1168 +#: ../../library/sqlite3.rst:1178 msgid "The database name to be serialized. Defaults to ``\"main\"``." msgstr "" -#: ../../library/sqlite3.rst:1176 +#: ../../library/sqlite3.rst:1186 msgid "" "This method is only available if the underlying SQLite library has the " "serialize API." msgstr "" -#: ../../library/sqlite3.rst:1184 +#: ../../library/sqlite3.rst:1194 msgid "" -"Deserialize a :meth:`serialized ` database into a :class:" -"`Connection`. This method causes the database connection to disconnect from " -"database *name*, and reopen *name* as an in-memory database based on the " -"serialization contained in *data*." +"Deserialize a :meth:`serialized ` database into " +"a :class:`Connection`. This method causes the database connection to " +"disconnect from database *name*, and reopen *name* as an in-memory database " +"based on the serialization contained in *data*." msgstr "" -#: ../../library/sqlite3.rst:1190 +#: ../../library/sqlite3.rst:1200 msgid "A serialized database." msgstr "" -#: ../../library/sqlite3.rst:1193 +#: ../../library/sqlite3.rst:1203 msgid "The database name to deserialize into. Defaults to ``\"main\"``." msgstr "" -#: ../../library/sqlite3.rst:1197 +#: ../../library/sqlite3.rst:1207 msgid "" "If the database connection is currently involved in a read transaction or a " "backup operation." msgstr "" -#: ../../library/sqlite3.rst:1201 +#: ../../library/sqlite3.rst:1211 msgid "If *data* does not contain a valid SQLite database." msgstr "" -#: ../../library/sqlite3.rst:1204 +#: ../../library/sqlite3.rst:1214 msgid "If :func:`len(data) ` is larger than ``2**63 - 1``." msgstr "" -#: ../../library/sqlite3.rst:1209 +#: ../../library/sqlite3.rst:1219 msgid "" "This method is only available if the underlying SQLite library has the " "deserialize API." msgstr "" -#: ../../library/sqlite3.rst:1216 +#: ../../library/sqlite3.rst:1226 msgid "" "This read-only attribute corresponds to the low-level SQLite `autocommit " "mode`_." msgstr "" -#: ../../library/sqlite3.rst:1219 +#: ../../library/sqlite3.rst:1229 msgid "" "``True`` if a transaction is active (there are uncommitted changes), " "``False`` otherwise." msgstr "" -#: ../../library/sqlite3.rst:1226 +#: ../../library/sqlite3.rst:1236 msgid "" "This attribute controls the :ref:`transaction handling ` performed by :mod:`!sqlite3`. If set to ``None``, " @@ -1227,85 +1311,88 @@ msgid "" "` is performed." msgstr "" -#: ../../library/sqlite3.rst:1234 +#: ../../library/sqlite3.rst:1244 msgid "" "If not overridden by the *isolation_level* parameter of :func:`connect`, the " "default is ``\"\"``, which is an alias for ``\"DEFERRED\"``." msgstr "" -#: ../../library/sqlite3.rst:1239 +#: ../../library/sqlite3.rst:1249 msgid "" "The initial :attr:`~Cursor.row_factory` for :class:`Cursor` objects created " -"from this connection. Assigning to this attribute does not affect the :attr:" -"`!row_factory` of existing cursors belonging to this connection, only new " -"ones. Is ``None`` by default, meaning each row is returned as a :class:" -"`tuple`." +"from this connection. Assigning to this attribute does not affect " +"the :attr:`!row_factory` of existing cursors belonging to this connection, " +"only new ones. Is ``None`` by default, meaning each row is returned as " +"a :class:`tuple`." msgstr "" -#: ../../library/sqlite3.rst:1246 ../../library/sqlite3.rst:1538 -#: ../../library/sqlite3.rst:1561 +#: ../../library/sqlite3.rst:1256 ../../library/sqlite3.rst:1516 +#: ../../library/sqlite3.rst:1539 msgid "See :ref:`sqlite3-howto-row-factory` for more details." -msgstr "" +msgstr "Consulte :ref:`sqlite3-howto-row-factory` para mais detalhes." -#: ../../library/sqlite3.rst:1250 +#: ../../library/sqlite3.rst:1260 msgid "" -"A 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`. If " -"you want to return ``bytes`` instead, set *text_factory* to ``bytes``." +"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 "" -#: ../../library/sqlite3.rst:1290 +#: ../../library/sqlite3.rst:1265 +msgid "See :ref:`sqlite3-howto-encoding` for more details." +msgstr "Consulte :ref:`sqlite3-howto-encoding` para mais detalhes." + +#: ../../library/sqlite3.rst:1269 msgid "" "Return the total number of database rows that have been modified, inserted, " "or deleted since the database connection was opened." msgstr "" -#: ../../library/sqlite3.rst:1297 +#: ../../library/sqlite3.rst:1276 msgid "Cursor objects" msgstr "" -#: ../../library/sqlite3.rst:1299 +#: ../../library/sqlite3.rst:1278 msgid "" "A ``Cursor`` object represents a `database cursor`_ which is used to execute " "SQL statements, and manage the context of a fetch operation. Cursors are " -"created using :meth:`Connection.cursor`, or by using any of the :ref:" -"`connection shortcut methods `." +"created using :meth:`Connection.cursor`, or by using any of " +"the :ref:`connection shortcut methods `." msgstr "" -#: ../../library/sqlite3.rst:1306 +#: ../../library/sqlite3.rst:1285 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:" +"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 "" -#: ../../library/sqlite3.rst:1331 +#: ../../library/sqlite3.rst:1310 msgid "A :class:`Cursor` instance has the following attributes and methods." msgstr "" -#: ../../library/sqlite3.rst:1338 +#: ../../library/sqlite3.rst:1317 msgid "" -"Execute SQL a single SQL statement, optionally binding Python values using :" -"ref:`placeholders `." +"Execute a single SQL statement, optionally binding Python values " +"using :ref:`placeholders `." msgstr "" -#: ../../library/sqlite3.rst:1342 +#: ../../library/sqlite3.rst:1321 msgid "A single SQL statement." msgstr "" -#: ../../library/sqlite3.rst:1345 +#: ../../library/sqlite3.rst:1324 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 "" -#: ../../library/sqlite3.rst:1352 +#: ../../library/sqlite3.rst:1331 msgid "If *sql* contains more than one SQL statement." msgstr "" -#: ../../library/sqlite3.rst:1355 +#: ../../library/sqlite3.rst:1334 msgid "" "If :attr:`~Connection.isolation_level` is not ``None``, *sql* is an " "``INSERT``, ``UPDATE``, ``DELETE``, or ``REPLACE`` statement, and there is " @@ -1313,43 +1400,43 @@ msgid "" "*sql*." msgstr "" -#: ../../library/sqlite3.rst:1360 +#: ../../library/sqlite3.rst:1339 msgid "Use :meth:`executescript` to execute multiple SQL statements." msgstr "" -#: ../../library/sqlite3.rst:1364 +#: ../../library/sqlite3.rst:1343 msgid "" "For every item in *parameters*, repeatedly execute the :ref:`parameterized " "` :abbr:`DML (Data Manipulation Language)` SQL " "statement *sql*." msgstr "" -#: ../../library/sqlite3.rst:1368 +#: ../../library/sqlite3.rst:1347 msgid "Uses the same implicit transaction handling as :meth:`~Cursor.execute`." msgstr "" -#: ../../library/sqlite3.rst:1370 +#: ../../library/sqlite3.rst:1349 msgid "A single SQL DML statement." msgstr "" -#: ../../library/sqlite3.rst:1373 +#: ../../library/sqlite3.rst:1352 msgid "" "An :term:`!iterable` of parameters to bind with the placeholders in *sql*. " "See :ref:`sqlite3-placeholders`." msgstr "" -#: ../../library/sqlite3.rst:1379 +#: ../../library/sqlite3.rst:1358 msgid "" -"If *sql* contains more than one SQL statement, or is not a DML statment." +"If *sql* contains more than one SQL statement, or is not a DML statement." msgstr "" -#: ../../library/sqlite3.rst:1396 +#: ../../library/sqlite3.rst:1375 msgid "" "Any resulting rows are discarded, including DML statements with `RETURNING " "clauses`_." msgstr "" -#: ../../library/sqlite3.rst:1403 +#: ../../library/sqlite3.rst:1382 msgid "" "Execute the SQL statements in *sql_script*. If there is a pending " "transaction, an implicit ``COMMIT`` statement is executed first. No other " @@ -1357,24 +1444,24 @@ msgid "" "added to *sql_script*." msgstr "" -#: ../../library/sqlite3.rst:1409 +#: ../../library/sqlite3.rst:1388 msgid "*sql_script* must be a :class:`string `." msgstr "" -#: ../../library/sqlite3.rst:1427 +#: ../../library/sqlite3.rst:1405 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 "" -#: ../../library/sqlite3.rst:1435 +#: ../../library/sqlite3.rst:1413 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 "" -#: ../../library/sqlite3.rst:1438 +#: ../../library/sqlite3.rst:1416 msgid "" "The number of rows to fetch per call is specified by the *size* parameter. " "If *size* is not given, :attr:`arraysize` determines the number of rows to " @@ -1382,7 +1469,7 @@ msgid "" "available are returned." msgstr "" -#: ../../library/sqlite3.rst:1444 +#: ../../library/sqlite3.rst:1422 msgid "" "Note there are performance considerations involved with the *size* " "parameter. For optimal performance, it is usually best to use the arraysize " @@ -1390,55 +1477,55 @@ msgid "" "the same value from one :meth:`fetchmany` call to the next." msgstr "" -#: ../../library/sqlite3.rst:1451 +#: ../../library/sqlite3.rst:1429 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 "" -#: ../../library/sqlite3.rst:1458 +#: ../../library/sqlite3.rst:1436 msgid "Close the cursor now (rather than whenever ``__del__`` is called)." msgstr "" -#: ../../library/sqlite3.rst:1460 +#: ../../library/sqlite3.rst:1438 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." +"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 "" -#: ../../library/sqlite3.rst:1465 ../../library/sqlite3.rst:1469 +#: ../../library/sqlite3.rst:1443 ../../library/sqlite3.rst:1447 msgid "Required by the DB-API. Does nothing in :mod:`!sqlite3`." msgstr "" -#: ../../library/sqlite3.rst:1473 +#: ../../library/sqlite3.rst:1451 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." +"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 "" -#: ../../library/sqlite3.rst:1478 +#: ../../library/sqlite3.rst:1456 msgid "" "Read-only attribute that provides the SQLite database :class:`Connection` " -"belonging to the cursor. A :class:`Cursor` object created by calling :meth:" -"`con.cursor() ` will have a :attr:`connection` attribute " -"that refers to *con*:" +"belonging to the cursor. A :class:`Cursor` object created by " +"calling :meth:`con.cursor() ` will have " +"a :attr:`connection` attribute that refers to *con*:" msgstr "" -#: ../../library/sqlite3.rst:1492 +#: ../../library/sqlite3.rst:1470 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 "" -#: ../../library/sqlite3.rst:1496 +#: ../../library/sqlite3.rst:1474 msgid "It is set for ``SELECT`` statements without any matching rows as well." msgstr "" -#: ../../library/sqlite3.rst:1500 +#: ../../library/sqlite3.rst:1478 msgid "" "Read-only attribute that provides the row id of the last inserted row. It is " "only updated after successful ``INSERT`` or ``REPLACE`` statements using " @@ -1448,15 +1535,15 @@ msgid "" "``None``." msgstr "" -#: ../../library/sqlite3.rst:1508 +#: ../../library/sqlite3.rst:1486 msgid "Inserts into ``WITHOUT ROWID`` tables are not recorded." msgstr "" -#: ../../library/sqlite3.rst:1510 +#: ../../library/sqlite3.rst:1488 msgid "Added support for the ``REPLACE`` statement." msgstr "" -#: ../../library/sqlite3.rst:1515 +#: ../../library/sqlite3.rst:1493 msgid "" "Read-only attribute that provides the number of modified rows for " "``INSERT``, ``UPDATE``, ``DELETE``, and ``REPLACE`` statements; is ``-1`` " @@ -1466,7 +1553,7 @@ msgid "" "resulting rows must be fetched in order for :attr:`!rowcount` to be updated." msgstr "" -#: ../../library/sqlite3.rst:1526 +#: ../../library/sqlite3.rst:1504 msgid "" "Control how a row fetched from this :class:`!Cursor` is represented. If " "``None``, a row is represented as a :class:`tuple`. Can be set to the " @@ -1475,118 +1562,118 @@ msgid "" "and returns a custom object representing an SQLite row." msgstr "" -#: ../../library/sqlite3.rst:1533 +#: ../../library/sqlite3.rst:1511 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." +"Cursor` was created. Assigning to this attribute does not " +"affect :attr:`Connection.row_factory` of the parent connection." msgstr "" -#: ../../library/sqlite3.rst:1549 +#: ../../library/sqlite3.rst:1527 msgid "Row objects" msgstr "" -#: ../../library/sqlite3.rst:1553 +#: ../../library/sqlite3.rst:1531 msgid "" -"A :class:`!Row` instance serves as a highly optimized :attr:`~Connection." -"row_factory` for :class:`Connection` objects. It supports iteration, " -"equality testing, :func:`len`, and :term:`mapping` access by column name and " -"index." +"A :class:`!Row` instance serves as a highly " +"optimized :attr:`~Connection.row_factory` for :class:`Connection` objects. " +"It supports iteration, equality testing, :func:`len`, and :term:`mapping` " +"access by column name and index." msgstr "" -#: ../../library/sqlite3.rst:1558 +#: ../../library/sqlite3.rst:1536 msgid "" "Two :class:`!Row` objects compare equal if they have identical column names " "and values." msgstr "" -#: ../../library/sqlite3.rst:1565 +#: ../../library/sqlite3.rst:1543 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`." +"Immediately after a query, it is the first member of each tuple " +"in :attr:`Cursor.description`." msgstr "" -#: ../../library/sqlite3.rst:1569 +#: ../../library/sqlite3.rst:1547 msgid "Added support of slicing." msgstr "" -#: ../../library/sqlite3.rst:1576 +#: ../../library/sqlite3.rst:1554 msgid "Blob objects" msgstr "" -#: ../../library/sqlite3.rst:1582 +#: ../../library/sqlite3.rst:1560 msgid "" "A :class:`Blob` instance is a :term:`file-like object` that can read and " -"write data in an SQLite :abbr:`BLOB (Binary Large OBject)`. Call :func:" -"`len(blob) ` to get the size (number of bytes) of the blob. Use indices " -"and :term:`slices ` for direct access to the blob data." +"write data in an SQLite :abbr:`BLOB (Binary Large OBject)`. " +"Call :func:`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 "" -#: ../../library/sqlite3.rst:1587 +#: ../../library/sqlite3.rst:1565 msgid "" "Use the :class:`Blob` as a :term:`context manager` to ensure that the blob " "handle is closed after use." msgstr "" -#: ../../library/sqlite3.rst:1617 +#: ../../library/sqlite3.rst:1595 msgid "Close the blob." msgstr "" -#: ../../library/sqlite3.rst:1619 +#: ../../library/sqlite3.rst:1597 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." +"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 "" -#: ../../library/sqlite3.rst:1625 +#: ../../library/sqlite3.rst:1603 msgid "" "Read *length* bytes of data from the blob at the current offset position. If " "the end of the blob is reached, the data up to :abbr:`EOF (End of File)` " -"will be returned. When *length* is not specified, or is negative, :meth:" -"`~Blob.read` will read until the end of the blob." +"will be returned. When *length* is not specified, or is " +"negative, :meth:`~Blob.read` will read until the end of the blob." msgstr "" -#: ../../library/sqlite3.rst:1633 +#: ../../library/sqlite3.rst:1611 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`." +"the blob length. Writing beyond the end of the blob will " +"raise :exc:`ValueError`." msgstr "" -#: ../../library/sqlite3.rst:1639 +#: ../../library/sqlite3.rst:1617 msgid "Return the current access position of the blob." msgstr "" -#: ../../library/sqlite3.rst:1643 +#: ../../library/sqlite3.rst:1621 msgid "" "Set the current access position of the blob to *offset*. The *origin* " -"argument defaults to :data:`os.SEEK_SET` (absolute blob positioning). Other " -"values for *origin* are :data:`os.SEEK_CUR` (seek relative to the current " -"position) and :data:`os.SEEK_END` (seek relative to the blob’s end)." +"argument defaults to :const:`os.SEEK_SET` (absolute blob positioning). Other " +"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 "" -#: ../../library/sqlite3.rst:1651 +#: ../../library/sqlite3.rst:1629 msgid "PrepareProtocol objects" msgstr "" -#: ../../library/sqlite3.rst:1655 +#: ../../library/sqlite3.rst:1633 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 "" -#: ../../library/sqlite3.rst:1663 +#: ../../library/sqlite3.rst:1641 msgid "Exceptions" msgstr "Exceções" -#: ../../library/sqlite3.rst:1665 +#: ../../library/sqlite3.rst:1643 msgid "The exception hierarchy is defined by the DB-API 2.0 (:pep:`249`)." msgstr "" -#: ../../library/sqlite3.rst:1669 +#: ../../library/sqlite3.rst:1647 msgid "" "This exception is not currently raised by the :mod:`!sqlite3` module, but " "may be raised by applications using :mod:`!sqlite3`, for example if a user-" @@ -1594,39 +1681,39 @@ msgid "" "of :exc:`Exception`." msgstr "" -#: ../../library/sqlite3.rst:1676 +#: ../../library/sqlite3.rst:1654 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 "" -#: ../../library/sqlite3.rst:1680 +#: ../../library/sqlite3.rst:1658 msgid "" "If the exception originated from within the SQLite library, the following " "two attributes are added to the exception:" msgstr "" -#: ../../library/sqlite3.rst:1685 +#: ../../library/sqlite3.rst:1663 msgid "" -"The numeric error code from the `SQLite API `_" +"The numeric error code from the `SQLite API `_" msgstr "" -#: ../../library/sqlite3.rst:1692 +#: ../../library/sqlite3.rst:1670 msgid "" "The symbolic name of the numeric error code from the `SQLite API `_" msgstr "" -#: ../../library/sqlite3.rst:1699 +#: ../../library/sqlite3.rst:1677 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 "" -#: ../../library/sqlite3.rst:1706 +#: ../../library/sqlite3.rst:1684 msgid "" "Exception raised for errors that are related to the database. This serves as " "the base exception for several types of database errors. It is only raised " @@ -1634,14 +1721,14 @@ msgid "" "subclass of :exc:`Error`." msgstr "" -#: ../../library/sqlite3.rst:1713 +#: ../../library/sqlite3.rst:1691 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 "" -#: ../../library/sqlite3.rst:1719 +#: ../../library/sqlite3.rst:1697 msgid "" "Exception raised for errors that are related to the database's operation, " "and not necessarily under the control of the programmer. For example, the " @@ -1649,28 +1736,28 @@ msgid "" "``OperationalError`` is a subclass of :exc:`DatabaseError`." msgstr "" -#: ../../library/sqlite3.rst:1727 +#: ../../library/sqlite3.rst:1705 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 "" -#: ../../library/sqlite3.rst:1732 +#: ../../library/sqlite3.rst:1710 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 "" -#: ../../library/sqlite3.rst:1739 +#: ../../library/sqlite3.rst:1717 msgid "" "Exception raised for :mod:`!sqlite3` API programming errors, for example " "supplying the wrong number of bindings to a query, or trying to operate on a " -"closed :class:`Connection`. ``ProgrammingError`` is a subclass of :exc:" -"`DatabaseError`." +"closed :class:`Connection`. ``ProgrammingError`` is a subclass " +"of :exc:`DatabaseError`." msgstr "" -#: ../../library/sqlite3.rst:1746 +#: ../../library/sqlite3.rst:1724 msgid "" "Exception raised in case a method or database API is not supported by the " "underlying SQLite library. For example, setting *deterministic* to ``True`` " @@ -1679,78 +1766,78 @@ msgid "" "subclass of :exc:`DatabaseError`." msgstr "" -#: ../../library/sqlite3.rst:1756 +#: ../../library/sqlite3.rst:1734 msgid "SQLite and Python types" msgstr "" -#: ../../library/sqlite3.rst:1758 +#: ../../library/sqlite3.rst:1736 msgid "" "SQLite natively supports the following types: ``NULL``, ``INTEGER``, " "``REAL``, ``TEXT``, ``BLOB``." msgstr "" -#: ../../library/sqlite3.rst:1761 +#: ../../library/sqlite3.rst:1739 msgid "" "The following Python types can thus be sent to SQLite without any problem:" msgstr "" -#: ../../library/sqlite3.rst:1764 ../../library/sqlite3.rst:1781 +#: ../../library/sqlite3.rst:1742 ../../library/sqlite3.rst:1759 msgid "Python type" -msgstr "Python type" +msgstr "Tipo em Python" -#: ../../library/sqlite3.rst:1764 ../../library/sqlite3.rst:1781 +#: ../../library/sqlite3.rst:1742 ../../library/sqlite3.rst:1759 msgid "SQLite type" -msgstr "Tipo SQLite" +msgstr "Tipo em SQLite" -#: ../../library/sqlite3.rst:1766 ../../library/sqlite3.rst:1783 +#: ../../library/sqlite3.rst:1744 ../../library/sqlite3.rst:1761 msgid "``None``" msgstr "``None``" -#: ../../library/sqlite3.rst:1766 ../../library/sqlite3.rst:1783 +#: ../../library/sqlite3.rst:1744 ../../library/sqlite3.rst:1761 msgid "``NULL``" msgstr "``NULL``" -#: ../../library/sqlite3.rst:1768 ../../library/sqlite3.rst:1785 +#: ../../library/sqlite3.rst:1746 ../../library/sqlite3.rst:1763 msgid ":class:`int`" msgstr ":class:`int`" -#: ../../library/sqlite3.rst:1768 ../../library/sqlite3.rst:1785 +#: ../../library/sqlite3.rst:1746 ../../library/sqlite3.rst:1763 msgid "``INTEGER``" msgstr "``INTEGER``" -#: ../../library/sqlite3.rst:1770 ../../library/sqlite3.rst:1787 +#: ../../library/sqlite3.rst:1748 ../../library/sqlite3.rst:1765 msgid ":class:`float`" msgstr ":class:`float`" -#: ../../library/sqlite3.rst:1770 ../../library/sqlite3.rst:1787 +#: ../../library/sqlite3.rst:1748 ../../library/sqlite3.rst:1765 msgid "``REAL``" msgstr "``REAL``" -#: ../../library/sqlite3.rst:1772 +#: ../../library/sqlite3.rst:1750 msgid ":class:`str`" msgstr ":class:`str`" -#: ../../library/sqlite3.rst:1772 ../../library/sqlite3.rst:1789 +#: ../../library/sqlite3.rst:1750 ../../library/sqlite3.rst:1767 msgid "``TEXT``" msgstr "``TEXT``" -#: ../../library/sqlite3.rst:1774 ../../library/sqlite3.rst:1792 +#: ../../library/sqlite3.rst:1752 ../../library/sqlite3.rst:1770 msgid ":class:`bytes`" msgstr ":class:`bytes`" -#: ../../library/sqlite3.rst:1774 ../../library/sqlite3.rst:1792 +#: ../../library/sqlite3.rst:1752 ../../library/sqlite3.rst:1770 msgid "``BLOB``" msgstr "``BLOB``" -#: ../../library/sqlite3.rst:1778 +#: ../../library/sqlite3.rst:1756 msgid "This is how SQLite types are converted to Python types by default:" msgstr "" -#: ../../library/sqlite3.rst:1789 +#: ../../library/sqlite3.rst:1767 msgid "depends on :attr:`~Connection.text_factory`, :class:`str` by default" msgstr "" -#: ../../library/sqlite3.rst:1795 +#: ../../library/sqlite3.rst:1773 msgid "" "The type system of the :mod:`!sqlite3` module is extensible in two ways: you " "can store additional Python types in an SQLite database via :ref:`object " @@ -1759,42 +1846,42 @@ msgid "" "converters>`." msgstr "" -#: ../../library/sqlite3.rst:1805 +#: ../../library/sqlite3.rst:1783 msgid "Default adapters and converters" msgstr "" -#: ../../library/sqlite3.rst:1807 +#: ../../library/sqlite3.rst:1785 msgid "" "There are default adapters for the date and datetime types in the datetime " "module. They will be sent as ISO dates/ISO timestamps to SQLite." msgstr "" -#: ../../library/sqlite3.rst:1810 +#: ../../library/sqlite3.rst:1788 msgid "" -"The default converters are registered under the name \"date\" for :class:" -"`datetime.date` and under the name \"timestamp\" for :class:`datetime." -"datetime`." +"The default converters are registered under the name \"date\" " +"for :class:`datetime.date` and under the name \"timestamp\" " +"for :class:`datetime.datetime`." msgstr "" -#: ../../library/sqlite3.rst:1814 +#: ../../library/sqlite3.rst:1792 msgid "" "This way, you can use date/timestamps from Python without any additional " "fiddling in most cases. The format of the adapters is also compatible with " "the experimental SQLite date/time functions." msgstr "" -#: ../../library/sqlite3.rst:1818 +#: ../../library/sqlite3.rst:1796 msgid "The following example demonstrates this." msgstr "" -#: ../../library/sqlite3.rst:1822 +#: ../../library/sqlite3.rst:1800 msgid "" "If a timestamp stored in SQLite has a fractional part longer than 6 numbers, " "its value will be truncated to microsecond precision by the timestamp " "converter." msgstr "" -#: ../../library/sqlite3.rst:1828 +#: ../../library/sqlite3.rst:1806 msgid "" "The default \"timestamp\" converter ignores UTC offsets in the database and " "always returns a naive :class:`datetime.datetime` object. To preserve UTC " @@ -1802,15 +1889,15 @@ msgid "" "offset-aware converter with :func:`register_converter`." msgstr "" -#: ../../library/sqlite3.rst:1837 +#: ../../library/sqlite3.rst:1815 msgid "How-to guides" -msgstr "" +msgstr "Guias de como fazer" -#: ../../library/sqlite3.rst:1842 +#: ../../library/sqlite3.rst:1820 msgid "How to use placeholders to bind values in SQL queries" msgstr "" -#: ../../library/sqlite3.rst:1844 +#: ../../library/sqlite3.rst:1822 msgid "" "SQL operations usually need to use values from Python variables. However, " "beware of using Python's string operations to assemble queries, as they are " @@ -1818,7 +1905,7 @@ msgid "" "close the single quote and inject ``OR TRUE`` to select all rows::" msgstr "" -#: ../../library/sqlite3.rst:1857 +#: ../../library/sqlite3.rst:1835 msgid "" "Instead, use the DB-API's parameter substitution. To insert a variable into " "a query string, use a placeholder in the string, and substitute the actual " @@ -1826,7 +1913,7 @@ msgid "" "second argument of the cursor's :meth:`~Cursor.execute` method." msgstr "" -#: ../../library/sqlite3.rst:1862 +#: ../../library/sqlite3.rst:1840 msgid "" "An SQL statement may use one of two kinds of placeholders: question marks " "(qmark style) or named placeholders (named style). For the qmark style, " @@ -1837,24 +1924,24 @@ msgid "" "are ignored. Here's an example of both styles:" msgstr "" -#: ../../library/sqlite3.rst:1899 +#: ../../library/sqlite3.rst:1877 msgid "" ":pep:`249` numeric placeholders are *not* supported. If used, they will be " "interpreted as named placeholders." msgstr "" -#: ../../library/sqlite3.rst:1906 +#: ../../library/sqlite3.rst:1884 msgid "How to adapt custom Python types to SQLite values" msgstr "" -#: ../../library/sqlite3.rst:1908 +#: ../../library/sqlite3.rst:1886 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 "" -#: ../../library/sqlite3.rst:1912 +#: ../../library/sqlite3.rst:1890 msgid "" "There are two ways to adapt Python objects to SQLite types: letting your " "object adapt itself, or using an *adapter callable*. The latter will take " @@ -1864,11 +1951,11 @@ msgid "" "custom adapter functions." msgstr "" -#: ../../library/sqlite3.rst:1924 +#: ../../library/sqlite3.rst:1902 msgid "How to write adaptable objects" msgstr "" -#: ../../library/sqlite3.rst:1926 +#: ../../library/sqlite3.rst:1904 msgid "" "Suppose we have a :class:`!Point` class that represents a pair of " "coordinates, ``x`` and ``y``, in a Cartesian coordinate system. The " @@ -1878,100 +1965,100 @@ msgid "" "object passed to *protocol* will be of type :class:`PrepareProtocol`." msgstr "" -#: ../../library/sqlite3.rst:1957 +#: ../../library/sqlite3.rst:1935 msgid "How to register adapter callables" msgstr "" -#: ../../library/sqlite3.rst:1959 +#: ../../library/sqlite3.rst:1937 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 "" -#: ../../library/sqlite3.rst:1989 +#: ../../library/sqlite3.rst:1967 msgid "How to convert SQLite values to custom Python types" msgstr "" -#: ../../library/sqlite3.rst:1991 +#: ../../library/sqlite3.rst:1969 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 "" -#: ../../library/sqlite3.rst:1996 +#: ../../library/sqlite3.rst:1974 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 "" -#: ../../library/sqlite3.rst:1999 +#: ../../library/sqlite3.rst:1977 msgid "" "First, we'll define a converter function that accepts the string as a " "parameter and constructs a :class:`!Point` object from it." msgstr "" -#: ../../library/sqlite3.rst:2004 +#: ../../library/sqlite3.rst:1982 msgid "" "Converter functions are **always** passed a :class:`bytes` object, no matter " "the underlying SQLite data type." msgstr "" -#: ../../library/sqlite3.rst:2013 +#: ../../library/sqlite3.rst:1991 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 "" -#: ../../library/sqlite3.rst:2017 +#: ../../library/sqlite3.rst:1995 msgid "Implicit: set *detect_types* to :const:`PARSE_DECLTYPES`" msgstr "" -#: ../../library/sqlite3.rst:2018 +#: ../../library/sqlite3.rst:1996 msgid "Explicit: set *detect_types* to :const:`PARSE_COLNAMES`" msgstr "" -#: ../../library/sqlite3.rst:2019 +#: ../../library/sqlite3.rst:1997 msgid "" -"Both: set *detect_types* to ``sqlite3.PARSE_DECLTYPES | sqlite3." -"PARSE_COLNAMES``. Column names take precedence over declared types." +"Both: set *detect_types* to ``sqlite3.PARSE_DECLTYPES | " +"sqlite3.PARSE_COLNAMES``. Column names take precedence over declared types." msgstr "" -#: ../../library/sqlite3.rst:2023 +#: ../../library/sqlite3.rst:2001 msgid "The following example illustrates the implicit and explicit approaches:" msgstr "" -#: ../../library/sqlite3.rst:2074 +#: ../../library/sqlite3.rst:2052 msgid "Adapter and converter recipes" msgstr "" -#: ../../library/sqlite3.rst:2076 +#: ../../library/sqlite3.rst:2054 msgid "This section shows recipes for common adapters and converters." msgstr "" -#: ../../library/sqlite3.rst:2138 +#: ../../library/sqlite3.rst:2116 msgid "How to use connection shortcut methods" msgstr "" -#: ../../library/sqlite3.rst:2140 +#: ../../library/sqlite3.rst:2118 msgid "" -"Using the :meth:`~Connection.execute`, :meth:`~Connection.executemany`, and :" -"meth:`~Connection.executescript` methods of the :class:`Connection` class, " -"your code can be written more concisely because you don't have to create the " -"(often superfluous) :class:`Cursor` objects explicitly. Instead, the :class:" -"`Cursor` objects are created implicitly and these shortcut methods return " -"the cursor objects. This way, you can execute a ``SELECT`` statement and " -"iterate over it directly using only a single call on the :class:`Connection` " -"object." +"Using the :meth:`~Connection.execute`, :meth:`~Connection.executemany`, " +"and :meth:`~Connection.executescript` methods of the :class:`Connection` " +"class, your code can be written more concisely because you don't have to " +"create the (often superfluous) :class:`Cursor` objects explicitly. Instead, " +"the :class:`Cursor` objects are created implicitly and these shortcut " +"methods return the cursor objects. This way, you can execute a ``SELECT`` " +"statement and iterate over it directly using only a single call on " +"the :class:`Connection` object." msgstr "" -#: ../../library/sqlite3.rst:2181 +#: ../../library/sqlite3.rst:2159 msgid "How to use the connection context manager" msgstr "" -#: ../../library/sqlite3.rst:2183 +#: ../../library/sqlite3.rst:2161 msgid "" "A :class:`Connection` object can be used as a context manager that " "automatically commits or rolls back open transactions when leaving the body " @@ -1981,66 +2068,67 @@ msgid "" "exception, the transaction is rolled back." msgstr "" -#: ../../library/sqlite3.rst:2192 +#: ../../library/sqlite3.rst:2170 msgid "" "If there is no open transaction upon leaving the body of the ``with`` " "statement, the context manager is a no-op." msgstr "" -#: ../../library/sqlite3.rst:2197 +#: ../../library/sqlite3.rst:2174 msgid "" "The context manager neither implicitly opens a new transaction nor closes " -"the connection." +"the connection. If you need a closing context manager, consider " +"using :meth:`contextlib.closing`." msgstr "" -#: ../../library/sqlite3.rst:2230 +#: ../../library/sqlite3.rst:2208 msgid "How to work with SQLite URIs" msgstr "" -#: ../../library/sqlite3.rst:2232 +#: ../../library/sqlite3.rst:2210 msgid "Some useful URI tricks include:" msgstr "" -#: ../../library/sqlite3.rst:2234 +#: ../../library/sqlite3.rst:2212 msgid "Open a database in read-only mode:" msgstr "" -#: ../../library/sqlite3.rst:2243 +#: ../../library/sqlite3.rst:2221 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 "" -#: ../../library/sqlite3.rst:2253 +#: ../../library/sqlite3.rst:2231 msgid "Create a shared named in-memory database:" msgstr "" -#: ../../library/sqlite3.rst:2267 +#: ../../library/sqlite3.rst:2245 msgid "" "More information about this feature, including a list of parameters, can be " "found in the `SQLite URI documentation`_." msgstr "" -#: ../../library/sqlite3.rst:2276 +#: ../../library/sqlite3.rst:2254 msgid "How to create and use row factories" msgstr "" -#: ../../library/sqlite3.rst:2278 +#: ../../library/sqlite3.rst:2256 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`." +"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 "" -#: ../../library/sqlite3.rst:2283 +#: ../../library/sqlite3.rst:2261 msgid "" -"While :attr:`!row_factory` exists as an attribute both on the :class:" -"`Cursor` and the :class:`Connection`, it is recommended to set :class:" -"`Connection.row_factory`, so all cursors created from the connection will " -"use the same row factory." +"While :attr:`!row_factory` exists as an attribute both on " +"the :class:`Cursor` and the :class:`Connection`, it is recommended to " +"set :class:`Connection.row_factory`, so all cursors created from the " +"connection will use the same row factory." msgstr "" -#: ../../library/sqlite3.rst:2288 +#: ../../library/sqlite3.rst:2266 msgid "" ":class:`!Row` provides indexed and case-insensitive named access to columns, " "with minimal memory overhead and performance impact over a :class:`!tuple`. " @@ -2048,95 +2136,163 @@ msgid "" "attribute:" msgstr "" -#: ../../library/sqlite3.rst:2298 +#: ../../library/sqlite3.rst:2276 msgid "Queries now return :class:`!Row` objects:" msgstr "" -#: ../../library/sqlite3.rst:2313 +#: ../../library/sqlite3.rst:2293 +msgid "" +"The ``FROM`` clause can be omitted in the ``SELECT`` statement, as in the " +"above example. In such cases, SQLite returns a single row with columns " +"defined by expressions, e.g. literals, with the given aliases ``expr AS " +"alias``." +msgstr "" + +#: ../../library/sqlite3.rst:2298 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 "" -#: ../../library/sqlite3.rst:2322 +#: ../../library/sqlite3.rst:2307 msgid "" "Using it, queries now return a :class:`!dict` instead of a :class:`!tuple`:" msgstr "" -#: ../../library/sqlite3.rst:2332 +#: ../../library/sqlite3.rst:2317 msgid "The following row factory returns a :term:`named tuple`:" msgstr "" -#: ../../library/sqlite3.rst:2343 +#: ../../library/sqlite3.rst:2328 msgid ":func:`!namedtuple_factory` can be used as follows:" msgstr "" -#: ../../library/sqlite3.rst:2358 +#: ../../library/sqlite3.rst:2343 +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 "" + +#: ../../library/sqlite3.rst:2351 +msgid "How to handle non-UTF-8 text encodings" +msgstr "" + +#: ../../library/sqlite3.rst:2353 +msgid "" +"By default, :mod:`!sqlite3` uses :class:`str` to adapt SQLite values with " +"the ``TEXT`` data type. This works well for UTF-8 encoded text, but it might " +"fail for other encodings and invalid UTF-8. You can use a " +"custom :attr:`~Connection.text_factory` to handle such cases." +msgstr "" + +#: ../../library/sqlite3.rst:2359 +msgid "" +"Because of SQLite's `flexible typing`_, it is not uncommon to encounter " +"table columns with the ``TEXT`` data type containing non-UTF-8 encodings, or " +"even arbitrary data. To demonstrate, let's assume we have a database with " +"ISO-8859-2 (Latin-2) encoded text, for example a table of Czech-English " +"dictionary entries. Assuming we now have a :class:`Connection` " +"instance :py:data:`!con` connected to this database, we can decode the " +"Latin-2 encoded text using this :attr:`~Connection.text_factory`:" +msgstr "" + +#: ../../library/sqlite3.rst:2372 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`." +"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 "" -#: ../../library/sqlite3.rst:2366 +#: ../../library/sqlite3.rst:2381 +msgid "" +"The :mod:`!sqlite3` module API does not support strings containing " +"surrogates." +msgstr "" + +#: ../../library/sqlite3.rst:2386 +msgid ":ref:`unicode-howto`" +msgstr ":ref:`unicode-howto`" + +#: ../../library/sqlite3.rst:2392 msgid "Explanation" -msgstr "Explanação" +msgstr "Explicação" -#: ../../library/sqlite3.rst:2371 +#: ../../library/sqlite3.rst:2397 msgid "Transaction control" -msgstr "" +msgstr "Controle de transações" -#: ../../library/sqlite3.rst:2373 +#: ../../library/sqlite3.rst:2399 msgid "" "The :mod:`!sqlite3` module does not adhere to the transaction handling " "recommended by :pep:`249`." msgstr "" -#: ../../library/sqlite3.rst:2376 +#: ../../library/sqlite3.rst:2402 msgid "" "If the connection attribute :attr:`~Connection.isolation_level` is not " -"``None``, new transactions are implicitly opened before :meth:`~Cursor." -"execute` and :meth:`~Cursor.executemany` executes ``INSERT``, ``UPDATE``, " -"``DELETE``, or ``REPLACE`` statements; for other statements, no implicit " -"transaction handling is performed. Use the :meth:`~Connection.commit` and :" -"meth:`~Connection.rollback` methods to respectively commit and roll back " -"pending transactions. You can choose the underlying `SQLite transaction " -"behaviour`_ — that is, whether and what type of ``BEGIN`` statements :mod:`!" -"sqlite3` implicitly executes – via the :attr:`~Connection.isolation_level` " -"attribute." -msgstr "" - -#: ../../library/sqlite3.rst:2389 +"``None``, new transactions are implicitly opened " +"before :meth:`~Cursor.execute` and :meth:`~Cursor.executemany` executes " +"``INSERT``, ``UPDATE``, ``DELETE``, or ``REPLACE`` statements; for other " +"statements, no implicit transaction handling is performed. Use " +"the :meth:`~Connection.commit` and :meth:`~Connection.rollback` methods to " +"respectively commit and roll back pending transactions. You can choose the " +"underlying `SQLite transaction behaviour`_ — that is, whether and what type " +"of ``BEGIN`` statements :mod:`!sqlite3` implicitly executes – via " +"the :attr:`~Connection.isolation_level` attribute." +msgstr "" +"Se o atributo de conexão :attr:`~Connection.isolation_level` não for " +"``None``, novas transações são abertas implicitamente antes " +"de :meth:`~Cursor.execute` e :meth:`~Cursor.executemany` executa instruções " +"``INSERT``, ``UPDATE``, ``DELETE`` ou ``REPLACE``; para outras instruções, " +"nenhuma manipulação de transação implícita é executada. Use os " +"métodos :meth:`~Connection.commit` e :meth:`~Connection.rollback` para fazer " +"commit e reverter respectivamente transações pendentes. Você pode escolher o " +"`comportamento subjacente de transação do SQLite`_ -- isto é, se e que tipo " +"de instruções ``BEGIN`` do :mod:`!sqlite3` são executadas implicitamente -- " +"através do atributo :attr:`~Connection.isolation_level`." + +#: ../../library/sqlite3.rst:2415 msgid "" "If :attr:`~Connection.isolation_level` is set to ``None``, no transactions " "are implicitly opened at all. This leaves the underlying SQLite library in " "`autocommit mode`_, but also allows the user to perform their own " "transaction handling using explicit SQL statements. The underlying SQLite " -"library autocommit mode can be queried using the :attr:`~Connection." -"in_transaction` attribute." +"library autocommit mode can be queried using " +"the :attr:`~Connection.in_transaction` attribute." msgstr "" +"Se :attr:`~Connection.isolation_level` estiver definido como ``None``, " +"nenhuma transação será aberta implicitamente. Isso deixa a biblioteca SQLite " +"subjacente no `modo autocommit`_, mas também permite que o usuário execute " +"sua própria manipulação de transações usando instruções SQL explícitas. O " +"modo de autocommit da biblioteca SQLite subjacente pode ser consultado " +"usando o atributo :attr:`~Connection.in_transaction`." -#: ../../library/sqlite3.rst:2397 +#: ../../library/sqlite3.rst:2423 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 "" +"O método :meth:`~Cursor.executescript` compromete implicitamente qualquer " +"transação pendente antes da execução do script SQL fornecido, " +"independentemente do valor de :attr:`~Connection.isolation_level`." -#: ../../library/sqlite3.rst:2401 +#: ../../library/sqlite3.rst:2427 msgid "" ":mod:`!sqlite3` used to implicitly commit an open transaction before DDL " "statements. This is no longer the case." msgstr "" +":mod:`!sqlite3` costumava fazer commit de forma implícita de uma transação " +"aberta antes das instruções DDL. Este não é mais o caso." -#: ../../library/sqlite3.rst:1333 +#: ../../library/sqlite3.rst:1312 msgid "? (question mark)" -msgstr "" +msgstr "? (interrogação)" -#: ../../library/sqlite3.rst:1333 ../../library/sqlite3.rst:1334 +#: ../../library/sqlite3.rst:1312 ../../library/sqlite3.rst:1313 msgid "in SQL statements" -msgstr "" +msgstr "em instruções SQL" -#: ../../library/sqlite3.rst:1334 +#: ../../library/sqlite3.rst:1313 msgid ": (colon)" -msgstr "" +msgstr ": (dois pontos)" diff --git a/library/ssl.po b/library/ssl.po index d4eb09c86..4e1c348df 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -1,34 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Leticia Portella , 2021 -# Italo Penaforte , 2021 -# felipe caridade , 2021 -# i17obot , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Rafael Biagioni de Fazio , 2021 -# Rafael Fontenelle , 2022 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2026-10-21 21:52+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -49,14 +40,25 @@ msgid "" "and probably additional platforms, as long as OpenSSL is installed on that " "platform." msgstr "" +"Este módulo fornece acesso à criptografia Transport Layer Security " +"(frequentemente conhecida como \"Secure Sockets Layer\") e aos recursos de " +"autenticação de pares para sockets de rede, tanto do lado do cliente quanto " +"do lado do servidor. Este módulo usa a biblioteca OpenSSL. Ela está " +"disponível em todos os sistemas Unix modernos, Windows, macOS e " +"provavelmente plataformas adicionais, desde que o OpenSSL esteja instalado " +"nessa plataforma." #: ../../library/ssl.rst:26 msgid "" "Some behavior may be platform dependent, since calls are made to the " "operating system socket APIs. The installed version of OpenSSL may also " -"cause variations in behavior. For example, TLSv1.3 with OpenSSL version " -"1.1.1." +"cause variations in behavior. For example, TLSv1.3 comes with OpenSSL " +"version 1.1.1." msgstr "" +"Alguns comportamentos podem depender da plataforma, já que chamadas são " +"feitas para as APIs de socket do sistema operacional. A versão instalada do " +"OpenSSL também pode causar variações no comportamento. Por exemplo, o " +"TLSv1.3 vem com a versão 1.1.1 do OpenSSL." #: ../../library/ssl.rst:32 msgid "" @@ -64,6 +66,9 @@ msgid "" "lead to a false sense of security, as the default settings of the ssl module " "are not necessarily appropriate for your application." msgstr "" +"Não use este módulo sem ler o :ref:`ssl-security`. Fazer isso pode levar a " +"uma falsa sensação de segurança, pois as configurações padrão do módulo ssl " +"não são necessariamente apropriadas para sua aplicação." #: ../../includes/wasm-notavail.rst:3 msgid ":ref:`Availability `: not Emscripten, not WASI." @@ -85,6 +90,9 @@ msgid "" "more general information about TLS, SSL, and certificates, the reader is " "referred to the documents in the \"See Also\" section at the bottom." msgstr "" +"Esta seção documenta os objetos e funções no módulo ``ssl``; para obter mais " +"informações gerais sobre TLS, SSL e certificados, o leitor pode consultar os " +"documentos na seção \"Consulte também\" na parte inferior." #: ../../library/ssl.rst:42 msgid "" @@ -102,61 +110,72 @@ msgid "" "manage settings and certificates, which can then be inherited by SSL sockets " "created through the :meth:`SSLContext.wrap_socket` method." msgstr "" +"Para aplicações mais sofisticadas, a classe :class:`ssl.SSLContext` ajuda a " +"gerenciar configurações e certificados, que podem ser herdados por soquetes " +"SSL criados por meio do método :meth:`SSLContext.wrap_socket`." #: ../../library/ssl.rst:53 msgid "Updated to support linking with OpenSSL 1.1.0" -msgstr "" +msgstr "Atualizado para oferecer suporte à vinculação com OpenSSL 1.1.0" #: ../../library/ssl.rst:58 msgid "" "OpenSSL 0.9.8, 1.0.0 and 1.0.1 are deprecated and no longer supported. In " "the future the ssl module will require at least OpenSSL 1.0.2 or 1.1.0." msgstr "" +"OpenSSL 0.9.8, 1.0.0 e 1.0.1 estão descontinuado e não são mais suportados. " +"No futuro, o módulo ssl exigirá pelo menos OpenSSL 1.0.2 ou 1.1.0." #: ../../library/ssl.rst:64 msgid "" ":pep:`644` has been implemented. The ssl module requires OpenSSL 1.1.1 or " "newer." msgstr "" +":pep:`644` foi implementado. O módulo ssl requer OpenSSL 1.1.1 ou mais " +"recente." #: ../../library/ssl.rst:67 msgid "" "Use of deprecated constants and functions result in deprecation warnings." msgstr "" +"O uso de constantes e funções descontinuados resulta em avisos de " +"descontinuação." #: ../../library/ssl.rst:71 msgid "Functions, Constants, and Exceptions" -msgstr "" +msgstr "Funções, constantes e exceções." #: ../../library/ssl.rst:75 msgid "Socket creation" -msgstr "" +msgstr "Criação de socket" #: ../../library/ssl.rst:77 msgid "" -"Since Python 3.2 and 2.7.9, it is recommended to use the :meth:`SSLContext." -"wrap_socket` of an :class:`SSLContext` instance to wrap sockets as :class:" -"`SSLSocket` objects. The helper functions :func:`create_default_context` " -"returns a new context with secure default settings. The old :func:" -"`wrap_socket` function is deprecated since it is both inefficient and has no " -"support for server name indication (SNI) and hostname matching." +"Since Python 3.2 and 2.7.9, it is recommended to use " +"the :meth:`SSLContext.wrap_socket` of an :class:`SSLContext` instance to " +"wrap sockets as :class:`SSLSocket` objects. The helper " +"functions :func:`create_default_context` returns a new context with secure " +"default settings. The old :func:`wrap_socket` function is deprecated since " +"it is both inefficient and has no support for server name indication (SNI) " +"and hostname matching." msgstr "" #: ../../library/ssl.rst:85 msgid "Client socket example with default context and IPv4/IPv6 dual stack::" msgstr "" +"Exemplo de soquete de cliente com contexto padrão e pilha dupla IPv4/IPv6::" #: ../../library/ssl.rst:98 msgid "Client socket example with custom context and IPv4::" -msgstr "" +msgstr "Exemplo de soquete de cliente com contexto personalizado e IPv4::" #: ../../library/ssl.rst:110 msgid "Server socket example listening on localhost IPv4::" -msgstr "" +msgstr "Exemplo de soquete de servidor escutando no localhost IPv4::" #: ../../library/ssl.rst:124 msgid "Context creation" -msgstr "" +msgstr "Criação de contexto" #: ../../library/ssl.rst:126 msgid "" @@ -182,13 +201,13 @@ msgstr "" #: ../../library/ssl.rst:142 msgid "" -"The settings are: :data:`PROTOCOL_TLS_CLIENT` or :data:" -"`PROTOCOL_TLS_SERVER`, :data:`OP_NO_SSLv2`, and :data:`OP_NO_SSLv3` with " -"high encryption cipher suites without RC4 and without unauthenticated cipher " -"suites. Passing :data:`~Purpose.SERVER_AUTH` as *purpose* sets :data:" -"`~SSLContext.verify_mode` to :data:`CERT_REQUIRED` and either loads CA " -"certificates (when at least one of *cafile*, *capath* or *cadata* is given) " -"or uses :meth:`SSLContext.load_default_certs` to load default CA " +"The settings are: :data:`PROTOCOL_TLS_CLIENT` " +"or :data:`PROTOCOL_TLS_SERVER`, :data:`OP_NO_SSLv2`, and :data:`OP_NO_SSLv3` " +"with high encryption cipher suites without RC4 and without unauthenticated " +"cipher suites. Passing :const:`~Purpose.SERVER_AUTH` as *purpose* " +"sets :data:`~SSLContext.verify_mode` to :data:`CERT_REQUIRED` and either " +"loads CA certificates (when at least one of *cafile*, *capath* or *cadata* " +"is given) or uses :meth:`SSLContext.load_default_certs` to load default CA " "certificates." msgstr "" @@ -208,8 +227,8 @@ msgstr "" #: ../../library/ssl.rst:160 msgid "" -"If your application needs specific settings, you should create a :class:" -"`SSLContext` and apply the settings yourself." +"If your application needs specific settings, you should create " +"a :class:`SSLContext` and apply the settings yourself." msgstr "" #: ../../library/ssl.rst:164 @@ -218,9 +237,9 @@ msgid "" "with a :class:`SSLContext` created by this function that they get an error " "stating \"Protocol or cipher suite mismatch\", it may be that they only " "support SSL3.0 which this function excludes using the :data:`OP_NO_SSLv3`. " -"SSL3.0 is widely considered to be `completely broken `_. If you still wish to continue to use this function but " -"still allow SSL 3.0 connections you can re-enable them using::" +"SSL3.0 is widely considered to be `completely broken `_. If you still wish to continue to use this " +"function but still allow SSL 3.0 connections you can re-enable them using::" msgstr "" #: ../../library/ssl.rst:180 @@ -241,8 +260,9 @@ msgstr "" #: ../../library/ssl.rst:194 msgid "" -"The context now uses :data:`PROTOCOL_TLS_CLIENT` or :data:" -"`PROTOCOL_TLS_SERVER` protocol instead of generic :data:`PROTOCOL_TLS`." +"The context now uses :data:`PROTOCOL_TLS_CLIENT` " +"or :data:`PROTOCOL_TLS_SERVER` protocol instead of " +"generic :data:`PROTOCOL_TLS`." msgstr "" #: ../../library/ssl.rst:200 @@ -339,11 +359,11 @@ msgstr "" #: ../../library/ssl.rst:300 msgid "" -"Return *num* cryptographically strong pseudo-random bytes. Raises an :class:" -"`SSLError` if the PRNG has not been seeded with enough data or if the " -"operation is not supported by the current RAND method. :func:`RAND_status` " -"can be used to check the status of the PRNG and :func:`RAND_add` can be used " -"to seed the PRNG." +"Return *num* cryptographically strong pseudo-random bytes. Raises " +"an :class:`SSLError` if the PRNG has not been seeded with enough data or if " +"the operation is not supported by the current RAND " +"method. :func:`RAND_status` can be used to check the status of the PRNG " +"and :func:`RAND_add` can be used to seed the PRNG." msgstr "" #: ../../library/ssl.rst:306 ../../library/ssl.rst:327 @@ -376,23 +396,23 @@ msgstr "" #: ../../library/ssl.rst:333 msgid "" -"OpenSSL has deprecated :func:`ssl.RAND_pseudo_bytes`, use :func:`ssl." -"RAND_bytes` instead." +"OpenSSL has deprecated :func:`ssl.RAND_pseudo_bytes`, " +"use :func:`ssl.RAND_bytes` instead." msgstr "" #: ../../library/ssl.rst:338 msgid "" "Return ``True`` if the SSL pseudo-random number generator has been seeded " -"with 'enough' randomness, and ``False`` otherwise. You can use :func:`ssl." -"RAND_egd` and :func:`ssl.RAND_add` to increase the randomness of the pseudo-" -"random number generator." +"with 'enough' randomness, and ``False`` otherwise. You can " +"use :func:`ssl.RAND_egd` and :func:`ssl.RAND_add` to increase the randomness " +"of the pseudo-random number generator." msgstr "" #: ../../library/ssl.rst:345 msgid "" "Mix the given *bytes* into the SSL pseudo-random number generator. The " "parameter *entropy* (a float) is a lower bound on the entropy contained in " -"string (so you can always use :const:`0.0`). See :rfc:`1750` for more " +"string (so you can always use ``0.0``). See :rfc:`1750` for more " "information on sources of entropy." msgstr "" @@ -406,12 +426,12 @@ msgstr "Manipulação de certificados" #: ../../library/ssl.rst:362 msgid "" -"Verify that *cert* (in decoded format as returned by :meth:`SSLSocket." -"getpeercert`) matches the given *hostname*. The rules applied are those for " -"checking the identity of HTTPS servers as outlined in :rfc:`2818`, :rfc:" -"`5280` and :rfc:`6125`. In addition to HTTPS, this function should be " -"suitable for checking the identity of servers in various SSL-based protocols " -"such as FTPS, IMAPS, POPS and others." +"Verify that *cert* (in decoded format as returned " +"by :meth:`SSLSocket.getpeercert`) matches the given *hostname*. The rules " +"applied are those for checking the identity of HTTPS servers as outlined " +"in :rfc:`2818`, :rfc:`5280` and :rfc:`6125`. In addition to HTTPS, this " +"function should be suitable for checking the identity of servers in various " +"SSL-based protocols such as FTPS, IMAPS, POPS and others." msgstr "" #: ../../library/ssl.rst:369 @@ -476,10 +496,11 @@ msgid "" "PEM-encoded string. If ``ssl_version`` is specified, uses that version of " "the SSL protocol to attempt to connect to the server. If ``ca_certs`` is " "specified, it should be a file containing a list of root certificates, the " -"same format as used for the same parameter in :meth:`SSLContext." -"wrap_socket`. The call will attempt to validate the server certificate " -"against that set of root certificates, and will fail if the validation " -"attempt fails. A timeout can be specified with the ``timeout`` parameter." +"same format as used for the same parameter " +"in :meth:`SSLContext.wrap_socket`. The call will attempt to validate the " +"server certificate against that set of root certificates, and will fail if " +"the validation attempt fails. A timeout can be specified with the " +"``timeout`` parameter." msgstr "" #: ../../library/ssl.rst:444 @@ -488,8 +509,8 @@ msgstr "" #: ../../library/ssl.rst:447 msgid "" -"The default *ssl_version* is changed from :data:`PROTOCOL_SSLv3` to :data:" -"`PROTOCOL_TLS` for maximum compatibility with modern servers." +"The default *ssl_version* is changed from :data:`PROTOCOL_SSLv3` " +"to :data:`PROTOCOL_TLS` for maximum compatibility with modern servers." msgstr "" #: ../../library/ssl.rst:451 @@ -557,14 +578,15 @@ msgstr "" #: ../../library/ssl.rst:486 msgid "" "The function returns a list of (cert_bytes, encoding_type, trust) tuples. " -"The encoding_type specifies the encoding of cert_bytes. It is either :const:" -"`x509_asn` for X.509 ASN.1 data or :const:`pkcs_7_asn` for PKCS#7 ASN.1 " -"data. Trust specifies the purpose of the certificate as a set of OIDS or " -"exactly ``True`` if the certificate is trustworthy for all purposes." +"The encoding_type specifies the encoding of cert_bytes. It is " +"either :const:`x509_asn` for X.509 ASN.1 data or :const:`pkcs_7_asn` for " +"PKCS#7 ASN.1 data. Trust specifies the purpose of the certificate as a set " +"of OIDS or exactly ``True`` if the certificate is trustworthy for all " +"purposes." msgstr "" #: ../../library/ssl.rst:493 ../../library/ssl.rst:1637 -#: ../../library/ssl.rst:1932 +#: ../../library/ssl.rst:1957 msgid "Example::" msgstr "Exemplo::" @@ -581,16 +603,17 @@ msgstr "" #: ../../library/ssl.rst:509 msgid "" "The function returns a list of (cert_bytes, encoding_type, trust) tuples. " -"The encoding_type specifies the encoding of cert_bytes. It is either :const:" -"`x509_asn` for X.509 ASN.1 data or :const:`pkcs_7_asn` for PKCS#7 ASN.1 data." +"The encoding_type specifies the encoding of cert_bytes. It is " +"either :const:`x509_asn` for X.509 ASN.1 data or :const:`pkcs_7_asn` for " +"PKCS#7 ASN.1 data." msgstr "" #: ../../library/ssl.rst:523 msgid "" "Takes an instance ``sock`` of :class:`socket.socket`, and returns an " "instance of :class:`ssl.SSLSocket`, a subtype of :class:`socket.socket`, " -"which wraps the underlying socket in an SSL context. ``sock`` must be a :" -"data:`~socket.SOCK_STREAM` socket; other socket types are unsupported." +"which wraps the underlying socket in an SSL context. ``sock`` must be " +"a :data:`~socket.SOCK_STREAM` socket; other socket types are unsupported." msgstr "" #: ../../library/ssl.rst:528 @@ -598,23 +621,24 @@ msgid "" "Internally, function creates a :class:`SSLContext` with protocol " "*ssl_version* and :attr:`SSLContext.options` set to *cert_reqs*. If " "parameters *keyfile*, *certfile*, *ca_certs* or *ciphers* are set, then the " -"values are passed to :meth:`SSLContext.load_cert_chain`, :meth:`SSLContext." -"load_verify_locations`, and :meth:`SSLContext.set_ciphers`." +"values are passed " +"to :meth:`SSLContext.load_cert_chain`, :meth:`SSLContext.load_verify_locations`, " +"and :meth:`SSLContext.set_ciphers`." msgstr "" #: ../../library/ssl.rst:535 msgid "" "The arguments *server_side*, *do_handshake_on_connect*, and " -"*suppress_ragged_eofs* have the same meaning as :meth:`SSLContext." -"wrap_socket`." +"*suppress_ragged_eofs* have the same meaning " +"as :meth:`SSLContext.wrap_socket`." msgstr "" #: ../../library/ssl.rst:541 msgid "" -"Since Python 3.2 and 2.7.9, it is recommended to use the :meth:`SSLContext." -"wrap_socket` instead of :func:`wrap_socket`. The top-level function is " -"limited and creates an insecure client socket without server name indication " -"or hostname matching." +"Since Python 3.2 and 2.7.9, it is recommended to use " +"the :meth:`SSLContext.wrap_socket` instead of :func:`wrap_socket`. The top-" +"level function is limited and creates an insecure client socket without " +"server name indication or hostname matching." msgstr "" #: ../../library/ssl.rst:547 @@ -642,7 +666,7 @@ msgid "" "does not send any for client cert authentication." msgstr "" -#: ../../library/ssl.rst:564 ../../library/ssl.rst:2340 +#: ../../library/ssl.rst:564 ../../library/ssl.rst:2365 msgid "See the discussion of :ref:`ssl-security` below." msgstr "" @@ -650,8 +674,8 @@ msgstr "" msgid "" "Possible value for :attr:`SSLContext.verify_mode`, or the ``cert_reqs`` " "parameter to :func:`wrap_socket`. In client mode, :const:`CERT_OPTIONAL` " -"has the same meaning as :const:`CERT_REQUIRED`. It is recommended to use :" -"const:`CERT_REQUIRED` for client-side sockets instead." +"has the same meaning as :const:`CERT_REQUIRED`. It is recommended to " +"use :const:`CERT_REQUIRED` for client-side sockets instead." msgstr "" #: ../../library/ssl.rst:573 @@ -678,9 +702,9 @@ msgid "" "raised if no certificate is provided, or if its validation fails. This mode " "is **not** sufficient to verify a certificate in client mode as it does not " "match hostnames. :attr:`~SSLContext.check_hostname` must be enabled as well " -"to verify the authenticity of a cert. :const:`PROTOCOL_TLS_CLIENT` uses :" -"const:`CERT_REQUIRED` and enables :attr:`~SSLContext.check_hostname` by " -"default." +"to verify the authenticity of a cert. :const:`PROTOCOL_TLS_CLIENT` " +"uses :const:`CERT_REQUIRED` and enables :attr:`~SSLContext.check_hostname` " +"by default." msgstr "" #: ../../library/ssl.rst:595 @@ -706,8 +730,8 @@ msgid "" "Possible value for :attr:`SSLContext.verify_flags`. In this mode, only the " "peer cert is checked but none of the intermediate CA certificates. The mode " "requires a valid CRL that is signed by the peer cert's issuer (its direct " -"ancestor CA). If no proper CRL has been loaded with :attr:`SSLContext." -"load_verify_locations`, validation will fail." +"ancestor CA). If no proper CRL has been loaded " +"with :attr:`SSLContext.load_verify_locations`, validation will fail." msgstr "" #: ../../library/ssl.rst:629 @@ -758,8 +782,8 @@ msgstr "" #: ../../library/ssl.rst:682 msgid "" "TLS clients and servers require different default settings for secure " -"communication. The generic TLS protocol constant is deprecated in favor of :" -"data:`PROTOCOL_TLS_CLIENT` and :data:`PROTOCOL_TLS_SERVER`." +"communication. The generic TLS protocol constant is deprecated in favor " +"of :data:`PROTOCOL_TLS_CLIENT` and :data:`PROTOCOL_TLS_SERVER`." msgstr "" #: ../../library/ssl.rst:688 @@ -819,9 +843,9 @@ msgstr "" #: ../../library/ssl.rst:738 msgid "" "OpenSSL has deprecated all version specific protocols. Use the default " -"protocol :data:`PROTOCOL_TLS_SERVER` or :data:`PROTOCOL_TLS_CLIENT` with :" -"attr:`SSLContext.minimum_version` and :attr:`SSLContext.maximum_version` " -"instead." +"protocol :data:`PROTOCOL_TLS_SERVER` or :data:`PROTOCOL_TLS_CLIENT` " +"with :attr:`SSLContext.minimum_version` " +"and :attr:`SSLContext.maximum_version` instead." msgstr "" #: ../../library/ssl.rst:746 @@ -883,8 +907,9 @@ msgstr "" #: ../../library/ssl.rst:814 msgid "" -"The option is deprecated since OpenSSL 1.1.0, use the new :attr:`SSLContext." -"minimum_version` and :attr:`SSLContext.maximum_version` instead." +"The option is deprecated since OpenSSL 1.1.0, use the " +"new :attr:`SSLContext.minimum_version` " +"and :attr:`SSLContext.maximum_version` instead." msgstr "" #: ../../library/ssl.rst:821 @@ -916,8 +941,8 @@ msgstr "" #: ../../library/ssl.rst:851 msgid "" -"The option is deprecated since OpenSSL 1.1.0. It was added to 2.7.15, 3.6.3 " -"and 3.7.0 for backwards compatibility with OpenSSL 1.0.2." +"The option is deprecated since OpenSSL 1.1.0. It was added to 2.7.15 and " +"3.6.3 for backwards compatibility with OpenSSL 1.0.2." msgstr "" #: ../../library/ssl.rst:857 @@ -1076,8 +1101,8 @@ msgstr "" #: ../../library/ssl.rst:1042 msgid "" -"Used as the return value of the callback function in :meth:`SSLContext." -"set_servername_callback`." +"Used as the return value of the callback function " +"in :meth:`SSLContext.set_servername_callback`." msgstr "" #: ../../library/ssl.rst:1049 @@ -1086,18 +1111,18 @@ msgstr "" #: ../../library/ssl.rst:1055 msgid "" -"Option for :func:`create_default_context` and :meth:`SSLContext." -"load_default_certs`. This value indicates that the context may be used to " -"authenticate web servers (therefore, it will be used to create client-side " -"sockets)." +"Option for :func:`create_default_context` " +"and :meth:`SSLContext.load_default_certs`. This value indicates that the " +"context may be used to authenticate web servers (therefore, it will be used " +"to create client-side sockets)." msgstr "" #: ../../library/ssl.rst:1064 msgid "" -"Option for :func:`create_default_context` and :meth:`SSLContext." -"load_default_certs`. This value indicates that the context may be used to " -"authenticate web clients (therefore, it will be used to create server-side " -"sockets)." +"Option for :func:`create_default_context` " +"and :meth:`SSLContext.load_default_certs`. This value indicates that the " +"context may be used to authenticate web clients (therefore, it will be used " +"to create server-side sockets)." msgstr "" #: ../../library/ssl.rst:1073 @@ -1106,8 +1131,9 @@ msgstr "" #: ../../library/ssl.rst:1079 msgid "" -":class:`enum.IntEnum` collection of SSL and TLS versions for :attr:" -"`SSLContext.maximum_version` and :attr:`SSLContext.minimum_version`." +":class:`enum.IntEnum` collection of SSL and TLS versions " +"for :attr:`SSLContext.maximum_version` " +"and :attr:`SSLContext.minimum_version`." msgstr "" #: ../../library/ssl.rst:1087 @@ -1123,8 +1149,8 @@ msgstr "" #: ../../library/ssl.rst:1101 msgid "" -"All :class:`TLSVersion` members except :attr:`TLSVersion.TLSv1_2` and :attr:" -"`TLSVersion.TLSv1_3` are deprecated." +"All :class:`TLSVersion` members except :attr:`TLSVersion.TLSv1_2` " +"and :attr:`TLSVersion.TLSv1_3` are deprecated." msgstr "" #: ../../library/ssl.rst:1106 @@ -1160,24 +1186,16 @@ msgid ":meth:`~socket.socket.fileno()`" msgstr ":meth:`~socket.socket.fileno()`" #: ../../library/ssl.rst:1118 -msgid "" -":meth:`~socket.socket.getpeername()`, :meth:`~socket.socket.getsockname()`" -msgstr "" -":meth:`~socket.socket.getpeername()`, :meth:`~socket.socket.getsockname()`" +msgid ":meth:`~socket.socket.getpeername()`, :meth:`~socket.socket.getsockname()`" +msgstr ":meth:`~socket.socket.getpeername()`, :meth:`~socket.socket.getsockname()`" #: ../../library/ssl.rst:1119 -msgid "" -":meth:`~socket.socket.getsockopt()`, :meth:`~socket.socket.setsockopt()`" -msgstr "" -":meth:`~socket.socket.getsockopt()`, :meth:`~socket.socket.setsockopt()`" +msgid ":meth:`~socket.socket.getsockopt()`, :meth:`~socket.socket.setsockopt()`" +msgstr ":meth:`~socket.socket.getsockopt()`, :meth:`~socket.socket.setsockopt()`" #: ../../library/ssl.rst:1120 -msgid "" -":meth:`~socket.socket.gettimeout()`, :meth:`~socket.socket.settimeout()`, :" -"meth:`~socket.socket.setblocking()`" -msgstr "" -":meth:`~socket.socket.gettimeout()`, :meth:`~socket.socket.settimeout()`, :" -"meth:`~socket.socket.setblocking()`" +msgid ":meth:`~socket.socket.gettimeout()`, :meth:`~socket.socket.settimeout()`, :meth:`~socket.socket.setblocking()`" +msgstr ":meth:`~socket.socket.gettimeout()`, :meth:`~socket.socket.settimeout()`, :meth:`~socket.socket.setblocking()`" #: ../../library/ssl.rst:1122 msgid ":meth:`~socket.socket.listen()`" @@ -1219,8 +1237,8 @@ msgstr "" #: ../../library/ssl.rst:1137 msgid "" -"Instances of :class:`SSLSocket` must be created using the :meth:`SSLContext." -"wrap_socket` method." +"Instances of :class:`SSLSocket` must be created using " +"the :meth:`SSLContext.wrap_socket` method." msgstr "" #: ../../library/ssl.rst:1140 @@ -1236,15 +1254,16 @@ msgstr "" #: ../../library/ssl.rst:1148 msgid "" -"It is deprecated to create a :class:`SSLSocket` instance directly, use :meth:" -"`SSLContext.wrap_socket` to wrap a socket." +"It is deprecated to create a :class:`SSLSocket` instance directly, " +"use :meth:`SSLContext.wrap_socket` to wrap a socket." msgstr "" #: ../../library/ssl.rst:1152 msgid "" -":class:`SSLSocket` instances must to created with :meth:`~SSLContext." -"wrap_socket`. In earlier versions, it was possible to create instances " -"directly. This was never documented or officially supported." +":class:`SSLSocket` instances must to created " +"with :meth:`~SSLContext.wrap_socket`. In earlier versions, it was possible " +"to create instances directly. This was never documented or officially " +"supported." msgstr "" #: ../../library/ssl.rst:1158 @@ -1267,8 +1286,8 @@ msgstr "" #: ../../library/ssl.rst:1171 msgid "" -"Raise :exc:`SSLWantReadError` or :exc:`SSLWantWriteError` if the socket is :" -"ref:`non-blocking ` and the read would block." +"Raise :exc:`SSLWantReadError` or :exc:`SSLWantWriteError` if the socket " +"is :ref:`non-blocking ` and the read would block." msgstr "" #: ../../library/ssl.rst:1174 @@ -1296,8 +1315,8 @@ msgstr "" #: ../../library/ssl.rst:1190 msgid "" -"Raise :exc:`SSLWantReadError` or :exc:`SSLWantWriteError` if the socket is :" -"ref:`non-blocking ` and the write would block." +"Raise :exc:`SSLWantReadError` or :exc:`SSLWantWriteError` if the socket " +"is :ref:`non-blocking ` and the write would block." msgstr "" #: ../../library/ssl.rst:1193 @@ -1321,14 +1340,15 @@ msgid "" "The :meth:`~SSLSocket.read` and :meth:`~SSLSocket.write` methods are the low-" "level methods that read and write unencrypted, application-level data and " "decrypt/encrypt it to encrypted, wire-level data. These methods require an " -"active SSL connection, i.e. the handshake was completed and :meth:`SSLSocket." -"unwrap` was not called." +"active SSL connection, i.e. the handshake was completed " +"and :meth:`SSLSocket.unwrap` was not called." msgstr "" #: ../../library/ssl.rst:1211 msgid "" -"Normally you should use the socket API methods like :meth:`~socket.socket." -"recv` and :meth:`~socket.socket.send` instead of these methods." +"Normally you should use the socket API methods " +"like :meth:`~socket.socket.recv` and :meth:`~socket.socket.send` instead of " +"these methods." msgstr "" #: ../../library/ssl.rst:1217 @@ -1337,9 +1357,9 @@ msgstr "" #: ../../library/ssl.rst:1219 msgid "" -"The handshake method also performs :func:`match_hostname` when the :attr:" -"`~SSLContext.check_hostname` attribute of the socket's :attr:`~SSLSocket." -"context` is true." +"The handshake method also performs :func:`match_hostname` when " +"the :attr:`~SSLContext.check_hostname` attribute of the " +"socket's :attr:`~SSLSocket.context` is true." msgstr "" #: ../../library/ssl.rst:1224 @@ -1350,17 +1370,17 @@ msgstr "" #: ../../library/ssl.rst:1228 msgid "" -"Hostname or IP address is matched by OpenSSL during handshake. The function :" -"func:`match_hostname` is no longer used. In case OpenSSL refuses a hostname " -"or IP address, the handshake is aborted early and a TLS alert message is " -"sent to the peer." +"Hostname or IP address is matched by OpenSSL during handshake. The " +"function :func:`match_hostname` is no longer used. In case OpenSSL refuses a " +"hostname or IP address, the handshake is aborted early and a TLS alert " +"message is sent to the peer." msgstr "" #: ../../library/ssl.rst:1236 msgid "" "If there is no certificate for the peer on the other end of the connection, " -"return ``None``. If the SSL handshake hasn't been done yet, raise :exc:" -"`ValueError`." +"return ``None``. If the SSL handshake hasn't been done yet, " +"raise :exc:`ValueError`." msgstr "" #: ../../library/ssl.rst:1240 @@ -1385,8 +1405,8 @@ msgstr "" #: ../../library/ssl.rst:1275 msgid "" -"To validate a certificate for a particular service, you can use the :func:" -"`match_hostname` function." +"To validate a certificate for a particular service, you can use " +"the :func:`match_hostname` function." msgstr "" #: ../../library/ssl.rst:1278 @@ -1407,9 +1427,9 @@ msgstr "" #: ../../library/ssl.rst:1287 msgid "" "for a server SSL socket, the client will only provide a certificate when " -"requested by the server; therefore :meth:`getpeercert` will return :const:" -"`None` if you used :const:`CERT_NONE` (rather than :const:`CERT_OPTIONAL` " -"or :const:`CERT_REQUIRED`)." +"requested by the server; therefore :meth:`getpeercert` will " +"return :const:`None` if you used :const:`CERT_NONE` (rather " +"than :const:`CERT_OPTIONAL` or :const:`CERT_REQUIRED`)." msgstr "" #: ../../library/ssl.rst:1292 @@ -1469,17 +1489,18 @@ msgstr "" msgid "" "The *cb_type* parameter allow selection of the desired channel binding type. " "Valid channel binding types are listed in the :data:`CHANNEL_BINDING_TYPES` " -"list. Currently only the 'tls-unique' channel binding, defined by :rfc:" -"`5929`, is supported. :exc:`ValueError` will be raised if an unsupported " -"channel binding type is requested." +"list. Currently only the 'tls-unique' channel binding, defined " +"by :rfc:`5929`, is supported. :exc:`ValueError` will be raised if an " +"unsupported channel binding type is requested." msgstr "" #: ../../library/ssl.rst:1346 msgid "" -"Return the protocol that was selected during the TLS handshake. If :meth:" -"`SSLContext.set_alpn_protocols` was not called, if the other party does not " -"support ALPN, if this socket does not support any of the client's proposed " -"protocols, or if the handshake has not happened yet, ``None`` is returned." +"Return the protocol that was selected during the TLS handshake. " +"If :meth:`SSLContext.set_alpn_protocols` was not called, if the other party " +"does not support ALPN, if this socket does not support any of the client's " +"proposed protocols, or if the handshake has not happened yet, ``None`` is " +"returned." msgstr "" #: ../../library/ssl.rst:1356 @@ -1507,8 +1528,8 @@ msgstr "" msgid "" "Requests post-handshake authentication (PHA) from a TLS 1.3 client. PHA can " "only be initiated for a TLS 1.3 connection from a server-side socket, after " -"the initial TLS handshake and with PHA enabled on both sides, see :attr:" -"`SSLContext.post_handshake_auth`." +"the initial TLS handshake and with PHA enabled on both sides, " +"see :attr:`SSLContext.post_handshake_auth`." msgstr "" #: ../../library/ssl.rst:1382 @@ -1520,8 +1541,8 @@ msgstr "" #: ../../library/ssl.rst:1386 msgid "" -"If any precondition isn't met (e.g. not TLS 1.3, PHA not enabled), an :exc:" -"`SSLError` is raised." +"If any precondition isn't met (e.g. not TLS 1.3, PHA not enabled), " +"an :exc:`SSLError` is raised." msgstr "" #: ../../library/ssl.rst:1390 @@ -1569,16 +1590,16 @@ msgstr "" msgid "" "The attribute is now always ASCII text. When ``server_hostname`` is an " "internationalized domain name (IDN), this attribute now stores the A-label " -"form (``\"xn--pythn-mua.org\"``), rather than the U-label form (``\"pythön." -"org\"``)." +"form (``\"xn--pythn-mua.org\"``), rather than the U-label form " +"(``\"pythön.org\"``)." msgstr "" #: ../../library/ssl.rst:1441 msgid "" "The :class:`SSLSession` for this SSL connection. The session is available " "for client and server side sockets after the TLS handshake has been " -"performed. For client sockets the session can be set before :meth:" -"`~SSLSocket.do_handshake` has been called to reuse a session." +"performed. For client sockets the session can be set " +"before :meth:`~SSLSocket.do_handshake` has been called to reuse a session." msgstr "" #: ../../library/ssl.rst:1454 @@ -1708,29 +1729,28 @@ msgstr "" #: ../../library/ssl.rst:1503 msgid "" -"The context is created with secure default values. The options :data:" -"`OP_NO_COMPRESSION`, :data:`OP_CIPHER_SERVER_PREFERENCE`, :data:" -"`OP_SINGLE_DH_USE`, :data:`OP_SINGLE_ECDH_USE`, :data:`OP_NO_SSLv2` (except " -"for :data:`PROTOCOL_SSLv2`), and :data:`OP_NO_SSLv3` (except for :data:" -"`PROTOCOL_SSLv3`) are set by default. The initial cipher suite list contains " -"only ``HIGH`` ciphers, no ``NULL`` ciphers and no ``MD5`` ciphers (except " -"for :data:`PROTOCOL_SSLv2`)." +"The context is created with secure default values. The " +"options :data:`OP_NO_COMPRESSION`, :data:`OP_CIPHER_SERVER_PREFERENCE`, :data:`OP_SINGLE_DH_USE`, :data:`OP_SINGLE_ECDH_USE`, :data:`OP_NO_SSLv2` " +"(except for :data:`PROTOCOL_SSLv2`), and :data:`OP_NO_SSLv3` (except " +"for :data:`PROTOCOL_SSLv3`) are set by default. The initial cipher suite " +"list contains only ``HIGH`` ciphers, no ``NULL`` ciphers and no ``MD5`` " +"ciphers (except for :data:`PROTOCOL_SSLv2`)." msgstr "" #: ../../library/ssl.rst:1514 msgid "" ":class:`SSLContext` without protocol argument is deprecated. The context " -"class will either require :data:`PROTOCOL_TLS_CLIENT` or :data:" -"`PROTOCOL_TLS_SERVER` protocol in the future." +"class will either require :data:`PROTOCOL_TLS_CLIENT` " +"or :data:`PROTOCOL_TLS_SERVER` protocol in the future." msgstr "" #: ../../library/ssl.rst:1520 msgid "" "The default cipher suites now include only secure AES and ChaCha20 ciphers " "with forward secrecy and security level 2. RSA and DH keys with less than " -"2048 bits and ECC keys with less than 224 bits are prohibited. :data:" -"`PROTOCOL_TLS`, :data:`PROTOCOL_TLS_CLIENT`, and :data:`PROTOCOL_TLS_SERVER` " -"use TLS 1.2 as minimum TLS version." +"2048 bits and ECC keys with less than 224 bits are " +"prohibited. :data:`PROTOCOL_TLS`, :data:`PROTOCOL_TLS_CLIENT`, " +"and :data:`PROTOCOL_TLS_SERVER` use TLS 1.2 as minimum TLS version." msgstr "" #: ../../library/ssl.rst:1527 @@ -1792,25 +1812,26 @@ msgstr "" msgid "" "Load a set of default \"certification authority\" (CA) certificates from " "default locations. On Windows it loads CA certs from the ``CA`` and ``ROOT`` " -"system stores. On all systems it calls :meth:`SSLContext." -"set_default_verify_paths`. In the future the method may load CA certificates " -"from other locations, too." +"system stores. On all systems it " +"calls :meth:`SSLContext.set_default_verify_paths`. In the future the method " +"may load CA certificates from other locations, too." msgstr "" #: ../../library/ssl.rst:1581 msgid "" "The *purpose* flag specifies what kind of CA certificates are loaded. The " -"default settings :data:`Purpose.SERVER_AUTH` loads certificates, that are " +"default settings :const:`Purpose.SERVER_AUTH` loads certificates, that are " "flagged and trusted for TLS web server authentication (client side " -"sockets). :data:`Purpose.CLIENT_AUTH` loads CA certificates for client " +"sockets). :const:`Purpose.CLIENT_AUTH` loads CA certificates for client " "certificate verification on the server side." msgstr "" #: ../../library/ssl.rst:1591 msgid "" "Load a set of \"certification authority\" (CA) certificates used to validate " -"other peers' certificates when :data:`verify_mode` is other than :data:" -"`CERT_NONE`. At least one of *cafile* or *capath* must be specified." +"other peers' certificates when :data:`verify_mode` is other " +"than :data:`CERT_NONE`. At least one of *cafile* or *capath* must be " +"specified." msgstr "" #: ../../library/ssl.rst:1595 @@ -1831,8 +1852,8 @@ msgstr "" msgid "" "The *capath* string, if present, is the path to a directory containing " "several CA certificates in PEM format, following an `OpenSSL specific layout " -"`_." +"`_." msgstr "" #: ../../library/ssl.rst:1609 @@ -1865,8 +1886,8 @@ msgstr "" #: ../../library/ssl.rst:1634 msgid "" -"Get a list of enabled ciphers. The list is in order of cipher priority. See :" -"meth:`SSLContext.set_ciphers`." +"Get a list of enabled ciphers. The list is in order of cipher priority. " +"See :meth:`SSLContext.set_ciphers`." msgstr "" #: ../../library/ssl.rst:1671 @@ -1896,16 +1917,16 @@ msgstr "" #: ../../library/ssl.rst:1691 msgid "" -"TLS 1.3 cipher suites cannot be disabled with :meth:`~SSLContext." -"set_ciphers`." +"TLS 1.3 cipher suites cannot be disabled " +"with :meth:`~SSLContext.set_ciphers`." msgstr "" #: ../../library/ssl.rst:1696 msgid "" "Specify which protocols the socket should advertise during the SSL/TLS " -"handshake. It should be a list of ASCII strings, like ``['http/1.1', " -"'spdy/2']``, ordered by preference. The selection of a protocol will happen " -"during the handshake, and will play out according to :rfc:`7301`. After a " +"handshake. It should be a list of ASCII strings, like ``['http/1.1', 'spdy/" +"2']``, ordered by preference. The selection of a protocol will happen during " +"the handshake, and will play out according to :rfc:`7301`. After a " "successful handshake, the :meth:`SSLSocket.selected_alpn_protocol` method " "will return the agreed-upon protocol." msgstr "" @@ -1923,9 +1944,9 @@ msgid "" "ordered by preference. The selection of a protocol will happen during the " "handshake, and will play out according to the `Application Layer Protocol " "Negotiation `_. After a successful handshake, the :meth:" -"`SSLSocket.selected_npn_protocol` method will return the agreed-upon " -"protocol." +"Layer_Protocol_Negotiation>`_. After a successful handshake, " +"the :meth:`SSLSocket.selected_npn_protocol` method will return the agreed-" +"upon protocol." msgstr "" #: ../../library/ssl.rst:1718 @@ -1962,45 +1983,61 @@ msgstr "" #: ../../library/ssl.rst:1746 msgid "" -"A typical use of this callback is to change the :class:`ssl.SSLSocket`'s :" -"attr:`SSLSocket.context` attribute to a new object of type :class:" -"`SSLContext` representing a certificate chain that matches the server name." +"A typical use of this callback is to change " +"the :class:`ssl.SSLSocket`'s :attr:`SSLSocket.context` attribute to a new " +"object of type :class:`SSLContext` representing a certificate chain that " +"matches the server name." msgstr "" #: ../../library/ssl.rst:1751 msgid "" +"If the callback assigns a new context to :attr:`SSLSocket.context`, any " +"further ClientHello message on the same connection (for example after a TLS " +"1.3 HelloRetryRequest) is dispatched to the new context's *sni_callback*, if " +"it has one; the original callback is not called again for that connection." +msgstr "" + +#: ../../library/ssl.rst:1757 +msgid "" "Due to the early negotiation phase of the TLS connection, only limited " -"methods and attributes are usable like :meth:`SSLSocket." -"selected_alpn_protocol` and :attr:`SSLSocket.context`. The :meth:`SSLSocket." -"getpeercert`, :meth:`SSLSocket.cipher` and :meth:`SSLSocket.compression` " -"methods require that the TLS connection has progressed beyond the TLS Client " -"Hello and therefore will not return meaningful values nor can they be called " -"safely." +"methods and attributes are usable " +"like :meth:`SSLSocket.selected_alpn_protocol` and :attr:`SSLSocket.context`. " +"The :meth:`SSLSocket.getpeercert`, :meth:`SSLSocket.cipher` " +"and :meth:`SSLSocket.compression` methods require that the TLS connection " +"has progressed beyond the TLS Client Hello and therefore will not return " +"meaningful values nor can they be called safely." msgstr "" -#: ../../library/ssl.rst:1759 +#: ../../library/ssl.rst:1765 msgid "" "The *sni_callback* function must return ``None`` to allow the TLS " -"negotiation to continue. If a TLS failure is required, a constant :const:" -"`ALERT_DESCRIPTION_* ` can be returned. " -"Other return values will result in a TLS fatal error with :const:" -"`ALERT_DESCRIPTION_INTERNAL_ERROR`." +"negotiation to continue. If a TLS failure is required, a " +"constant :const:`ALERT_DESCRIPTION_* ` can " +"be returned. Other return values will result in a TLS fatal error " +"with :const:`ALERT_DESCRIPTION_INTERNAL_ERROR`." msgstr "" -#: ../../library/ssl.rst:1765 +#: ../../library/ssl.rst:1771 msgid "" "If an exception is raised from the *sni_callback* function the TLS " -"connection will terminate with a fatal TLS alert message :const:" -"`ALERT_DESCRIPTION_HANDSHAKE_FAILURE`." +"connection will terminate with a fatal TLS alert " +"message :const:`ALERT_DESCRIPTION_HANDSHAKE_FAILURE`." msgstr "" -#: ../../library/ssl.rst:1769 +#: ../../library/ssl.rst:1775 msgid "" "This method will raise :exc:`NotImplementedError` if the OpenSSL library had " "OPENSSL_NO_TLSEXT defined when it was built." msgstr "" -#: ../../library/ssl.rst:1776 +#: ../../library/ssl.rst:1780 +msgid "" +"After the callback assigns a new :attr:`SSLSocket.context`, later " +"ClientHello messages on the connection are dispatched to the new context's " +"*sni_callback*." +msgstr "" + +#: ../../library/ssl.rst:1787 msgid "" "This is a legacy API retained for backwards compatibility. When possible, " "you should use :attr:`sni_callback` instead. The given " @@ -2009,14 +2046,14 @@ msgid "" "*server_name_callback* receives a decoded U-label (``\"pythön.org\"``)." msgstr "" -#: ../../library/ssl.rst:1782 +#: ../../library/ssl.rst:1793 msgid "" "If there is an decoding error on the server name, the TLS connection will " "terminate with an :const:`ALERT_DESCRIPTION_INTERNAL_ERROR` fatal TLS alert " "message to the client." msgstr "" -#: ../../library/ssl.rst:1790 +#: ../../library/ssl.rst:1801 msgid "" "Load the key generation parameters for Diffie-Hellman (DH) key exchange. " "Using DH key exchange improves forward secrecy at the expense of " @@ -2025,13 +2062,13 @@ msgid "" "format." msgstr "" -#: ../../library/ssl.rst:1796 +#: ../../library/ssl.rst:1807 msgid "" -"This setting doesn't apply to client sockets. You can also use the :data:" -"`OP_SINGLE_DH_USE` option to further improve security." +"This setting doesn't apply to client sockets. You can also use " +"the :data:`OP_SINGLE_DH_USE` option to further improve security." msgstr "" -#: ../../library/ssl.rst:1803 +#: ../../library/ssl.rst:1814 msgid "" "Set the curve name for Elliptic Curve-based Diffie-Hellman (ECDH) key " "exchange. ECDH is significantly faster than regular DH while arguably as " @@ -2040,52 +2077,53 @@ msgid "" "curve." msgstr "" -#: ../../library/ssl.rst:1809 +#: ../../library/ssl.rst:1820 msgid "" -"This setting doesn't apply to client sockets. You can also use the :data:" -"`OP_SINGLE_ECDH_USE` option to further improve security." +"This setting doesn't apply to client sockets. You can also use " +"the :data:`OP_SINGLE_ECDH_USE` option to further improve security." msgstr "" -#: ../../library/ssl.rst:1812 +#: ../../library/ssl.rst:1823 msgid "This method is not available if :data:`HAS_ECDH` is ``False``." msgstr "" -#: ../../library/ssl.rst:1817 +#: ../../library/ssl.rst:1828 msgid "" "`SSL/TLS & Perfect Forward Secrecy `_" msgstr "" -#: ../../library/ssl.rst:1818 +#: ../../library/ssl.rst:1829 msgid "Vincent Bernat." msgstr "" -#: ../../library/ssl.rst:1824 +#: ../../library/ssl.rst:1835 msgid "" -"Wrap an existing Python socket *sock* and return an instance of :attr:" -"`SSLContext.sslsocket_class` (default :class:`SSLSocket`). The returned SSL " -"socket is tied to the context, its settings and certificates. *sock* must be " -"a :data:`~socket.SOCK_STREAM` socket; other socket types are unsupported." +"Wrap an existing Python socket *sock* and return an instance " +"of :attr:`SSLContext.sslsocket_class` (default :class:`SSLSocket`). The " +"returned SSL socket is tied to the context, its settings and certificates. " +"*sock* must be a :const:`~socket.SOCK_STREAM` socket; other socket types are " +"unsupported." msgstr "" -#: ../../library/ssl.rst:1830 +#: ../../library/ssl.rst:1841 msgid "" "The parameter ``server_side`` is a boolean which identifies whether server-" "side or client-side behavior is desired from this socket." msgstr "" -#: ../../library/ssl.rst:1833 +#: ../../library/ssl.rst:1844 msgid "" "For client-side sockets, the context construction is lazy; if the underlying " "socket isn't connected yet, the context construction will be performed " "after :meth:`connect` is called on the socket. For server-side sockets, if " "the socket has no remote peer, it is assumed to be a listening socket, and " "the server-side SSL wrapping is automatically performed on client " -"connections accepted via the :meth:`accept` method. The method may raise :" -"exc:`SSLError`." +"connections accepted via the :meth:`accept` method. The method may " +"raise :exc:`SSLError`." msgstr "" -#: ../../library/ssl.rst:1841 +#: ../../library/ssl.rst:1852 msgid "" "On client connections, the optional parameter *server_hostname* specifies " "the hostname of the service which we are connecting to. This allows a " @@ -2094,81 +2132,100 @@ msgid "" "*server_hostname* will raise a :exc:`ValueError` if *server_side* is true." msgstr "" -#: ../../library/ssl.rst:1847 +#: ../../library/ssl.rst:1858 msgid "" "The parameter ``do_handshake_on_connect`` specifies whether to do the SSL " "handshake automatically after doing a :meth:`socket.connect`, or whether the " -"application program will call it explicitly, by invoking the :meth:" -"`SSLSocket.do_handshake` method. Calling :meth:`SSLSocket.do_handshake` " -"explicitly gives the program control over the blocking behavior of the " -"socket I/O involved in the handshake." +"application program will call it explicitly, by invoking " +"the :meth:`SSLSocket.do_handshake` method. " +"Calling :meth:`SSLSocket.do_handshake` explicitly gives the program control " +"over the blocking behavior of the socket I/O involved in the handshake." msgstr "" -#: ../../library/ssl.rst:1854 +#: ../../library/ssl.rst:1865 msgid "" -"The parameter ``suppress_ragged_eofs`` specifies how the :meth:`SSLSocket." -"recv` method should signal unexpected EOF from the other end of the " -"connection. If specified as :const:`True` (the default), it returns a " -"normal EOF (an empty bytes object) in response to unexpected EOF errors " -"raised from the underlying socket; if :const:`False`, it will raise the " -"exceptions back to the caller." +"The parameter ``suppress_ragged_eofs`` specifies how " +"the :meth:`SSLSocket.recv` method should signal unexpected EOF from the " +"other end of the connection. If specified as :const:`True` (the default), " +"it returns a normal EOF (an empty bytes object) in response to unexpected " +"EOF errors raised from the underlying socket; if :const:`False`, it will " +"raise the exceptions back to the caller." msgstr "" -#: ../../library/ssl.rst:1861 +#: ../../library/ssl.rst:1872 msgid "*session*, see :attr:`~SSLSocket.session`." msgstr "" -#: ../../library/ssl.rst:1863 +#: ../../library/ssl.rst:1874 +msgid "" +"To wrap an :class:`SSLSocket` in another :class:`SSLSocket`, " +"use :meth:`SSLContext.wrap_bio`." +msgstr "" + +#: ../../library/ssl.rst:1877 msgid "" "Always allow a server_hostname to be passed, even if OpenSSL does not have " "SNI." msgstr "" -#: ../../library/ssl.rst:1867 ../../library/ssl.rst:1893 +#: ../../library/ssl.rst:1881 ../../library/ssl.rst:1911 msgid "*session* argument was added." msgstr "o argumento *session* foi adicionado." -#: ../../library/ssl.rst:1870 +#: ../../library/ssl.rst:1884 msgid "" "The method returns an instance of :attr:`SSLContext.sslsocket_class` instead " "of hard-coded :class:`SSLSocket`." msgstr "" -#: ../../library/ssl.rst:1876 +#: ../../library/ssl.rst:1890 msgid "" -"The return type of :meth:`SSLContext.wrap_socket`, defaults to :class:" -"`SSLSocket`. The attribute can be overridden on instance of class in order " -"to return a custom subclass of :class:`SSLSocket`." +"The return type of :meth:`SSLContext.wrap_socket`, defaults " +"to :class:`SSLSocket`. The attribute can be overridden on instance of class " +"in order to return a custom subclass of :class:`SSLSocket`." msgstr "" -#: ../../library/ssl.rst:1885 +#: ../../library/ssl.rst:1899 msgid "" -"Wrap the BIO objects *incoming* and *outgoing* and return an instance of :" -"attr:`SSLContext.sslobject_class` (default :class:`SSLObject`). The SSL " +"Wrap the BIO objects *incoming* and *outgoing* and return an instance " +"of :attr:`SSLContext.sslobject_class` (default :class:`SSLObject`). The SSL " "routines will read input data from the incoming BIO and write data to the " "outgoing BIO." msgstr "" -#: ../../library/ssl.rst:1890 +#: ../../library/ssl.rst:1904 msgid "" "The *server_side*, *server_hostname* and *session* parameters have the same " -"meaning as in :meth:`SSLContext.wrap_socket`." +"meaning as in :meth:`SSLContext.wrap_socket`, and are validated in the same " +"way: in particular a :exc:`DeprecationWarning` is raised " +"when :attr:`~SSLContext.check_hostname` is enabled but no *server_hostname* " +"is given, since there would be no name to match the peer's certificate " +"against. In Python 3.13 and later a ``ValueError`` is raised instead." msgstr "" -#: ../../library/ssl.rst:1896 +#: ../../library/ssl.rst:1914 msgid "" "The method returns an instance of :attr:`SSLContext.sslobject_class` instead " "of hard-coded :class:`SSLObject`." msgstr "" -#: ../../library/ssl.rst:1902 +#: ../../library/ssl.rst:1918 +msgid "" +"The *server_side*, *server_hostname* and *session* parameters are now " +"validated as :meth:`SSLContext.wrap_socket` validates them. Previously a " +"context with :attr:`~SSLContext.check_hostname` enabled and no " +"*server_hostname* was accepted, and verified the certificate chain but never " +"the peer's identity." +msgstr "" + +#: ../../library/ssl.rst:1927 msgid "" -"The return type of :meth:`SSLContext.wrap_bio`, defaults to :class:" -"`SSLObject`. The attribute can be overridden on instance of class in order " -"to return a custom subclass of :class:`SSLObject`." +"The return type of :meth:`SSLContext.wrap_bio`, defaults " +"to :class:`SSLObject`. The attribute can be overridden on instance of class " +"in order to return a custom subclass of :class:`SSLObject`." msgstr "" -#: ../../library/ssl.rst:1910 +#: ../../library/ssl.rst:1935 msgid "" "Get statistics about the SSL sessions created or managed by this context. A " "dictionary is returned which maps the names of each `piece of information " @@ -2177,28 +2234,29 @@ msgid "" "misses in the session cache since the context was created::" msgstr "" -#: ../../library/ssl.rst:1921 +#: ../../library/ssl.rst:1946 msgid "" "Whether to match the peer cert's hostname in :meth:`SSLSocket.do_handshake`. " -"The context's :attr:`~SSLContext.verify_mode` must be set to :data:" -"`CERT_OPTIONAL` or :data:`CERT_REQUIRED`, and you must pass " +"The context's :attr:`~SSLContext.verify_mode` must be set " +"to :data:`CERT_OPTIONAL` or :data:`CERT_REQUIRED`, and you must pass " "*server_hostname* to :meth:`~SSLContext.wrap_socket` in order to match the " -"hostname. Enabling hostname checking automatically sets :attr:`~SSLContext." -"verify_mode` from :data:`CERT_NONE` to :data:`CERT_REQUIRED`. It cannot be " -"set back to :data:`CERT_NONE` as long as hostname checking is enabled. The :" -"data:`PROTOCOL_TLS_CLIENT` protocol enables hostname checking by default. " -"With other protocols, hostname checking must be enabled explicitly." +"hostname. Enabling hostname checking automatically " +"sets :attr:`~SSLContext.verify_mode` from :data:`CERT_NONE` " +"to :data:`CERT_REQUIRED`. It cannot be set back to :data:`CERT_NONE` as " +"long as hostname checking is enabled. The :data:`PROTOCOL_TLS_CLIENT` " +"protocol enables hostname checking by default. With other protocols, " +"hostname checking must be enabled explicitly." msgstr "" -#: ../../library/ssl.rst:1949 +#: ../../library/ssl.rst:1974 msgid "" -":attr:`~SSLContext.verify_mode` is now automatically changed to :data:" -"`CERT_REQUIRED` when hostname checking is enabled and :attr:`~SSLContext." -"verify_mode` is :data:`CERT_NONE`. Previously the same operation would have " -"failed with a :exc:`ValueError`." +":attr:`~SSLContext.verify_mode` is now automatically changed " +"to :data:`CERT_REQUIRED` when hostname checking is enabled " +"and :attr:`~SSLContext.verify_mode` is :data:`CERT_NONE`. Previously the " +"same operation would have failed with a :exc:`ValueError`." msgstr "" -#: ../../library/ssl.rst:1956 +#: ../../library/ssl.rst:1981 msgid "" "Write TLS keys to a keylog file, whenever key material is generated or " "received. The keylog file is designed for debugging purposes only. The file " @@ -2207,56 +2265,58 @@ msgid "" "synchronized between threads, but not between processes." msgstr "" -#: ../../library/ssl.rst:1966 +#: ../../library/ssl.rst:1991 msgid "" "A :class:`TLSVersion` enum member representing the highest supported TLS " "version. The value defaults to :attr:`TLSVersion.MAXIMUM_SUPPORTED`. The " -"attribute is read-only for protocols other than :attr:`PROTOCOL_TLS`, :attr:" -"`PROTOCOL_TLS_CLIENT`, and :attr:`PROTOCOL_TLS_SERVER`." +"attribute is read-only for protocols other " +"than :attr:`PROTOCOL_TLS`, :attr:`PROTOCOL_TLS_CLIENT`, " +"and :attr:`PROTOCOL_TLS_SERVER`." msgstr "" -#: ../../library/ssl.rst:1971 +#: ../../library/ssl.rst:1996 msgid "" -"The attributes :attr:`~SSLContext.maximum_version`, :attr:`~SSLContext." -"minimum_version` and :attr:`SSLContext.options` all affect the supported SSL " -"and TLS versions of the context. The implementation does not prevent invalid " -"combination. For example a context with :attr:`OP_NO_TLSv1_2` in :attr:" -"`~SSLContext.options` and :attr:`~SSLContext.maximum_version` set to :attr:" -"`TLSVersion.TLSv1_2` will not be able to establish a TLS 1.2 connection." +"The " +"attributes :attr:`~SSLContext.maximum_version`, :attr:`~SSLContext.minimum_version` " +"and :attr:`SSLContext.options` all affect the supported SSL and TLS versions " +"of the context. The implementation does not prevent invalid combination. For " +"example a context with :attr:`OP_NO_TLSv1_2` in :attr:`~SSLContext.options` " +"and :attr:`~SSLContext.maximum_version` set to :attr:`TLSVersion.TLSv1_2` " +"will not be able to establish a TLS 1.2 connection." msgstr "" -#: ../../library/ssl.rst:1984 +#: ../../library/ssl.rst:2009 msgid "" "Like :attr:`SSLContext.maximum_version` except it is the lowest supported " "version or :attr:`TLSVersion.MINIMUM_SUPPORTED`." msgstr "" -#: ../../library/ssl.rst:1991 +#: ../../library/ssl.rst:2016 msgid "" -"Control the number of TLS 1.3 session tickets of a :attr:" -"`PROTOCOL_TLS_SERVER` context. The setting has no impact on TLS 1.0 to 1.2 " -"connections." +"Control the number of TLS 1.3 session tickets of " +"a :attr:`PROTOCOL_TLS_SERVER` context. The setting has no impact on TLS 1.0 " +"to 1.2 connections." msgstr "" -#: ../../library/ssl.rst:1999 +#: ../../library/ssl.rst:2024 msgid "" "An integer representing the set of SSL options enabled on this context. The " -"default value is :data:`OP_ALL`, but you can specify other options such as :" -"data:`OP_NO_SSLv2` by ORing them together." +"default value is :data:`OP_ALL`, but you can specify other options such " +"as :data:`OP_NO_SSLv2` by ORing them together." msgstr "" -#: ../../library/ssl.rst:2003 +#: ../../library/ssl.rst:2028 msgid ":attr:`SSLContext.options` returns :class:`Options` flags:" msgstr "" -#: ../../library/ssl.rst:2011 +#: ../../library/ssl.rst:2036 msgid "" "All ``OP_NO_SSL*`` and ``OP_NO_TLS*`` options have been deprecated since " -"Python 3.7. Use :attr:`SSLContext.minimum_version` and :attr:`SSLContext." -"maximum_version` instead." +"Python 3.7. Use :attr:`SSLContext.minimum_version` " +"and :attr:`SSLContext.maximum_version` instead." msgstr "" -#: ../../library/ssl.rst:2017 +#: ../../library/ssl.rst:2042 msgid "" "Enable TLS 1.3 post-handshake client authentication. Post-handshake auth is " "disabled by default and a server can only request a TLS client certificate " @@ -2264,73 +2324,74 @@ msgid "" "client certificate at any time after the handshake." msgstr "" -#: ../../library/ssl.rst:2022 +#: ../../library/ssl.rst:2047 msgid "" "When enabled on client-side sockets, the client signals the server that it " "supports post-handshake authentication." msgstr "" -#: ../../library/ssl.rst:2025 +#: ../../library/ssl.rst:2050 msgid "" "When enabled on server-side sockets, :attr:`SSLContext.verify_mode` must be " "set to :data:`CERT_OPTIONAL` or :data:`CERT_REQUIRED`, too. The actual " -"client cert exchange is delayed until :meth:`SSLSocket." -"verify_client_post_handshake` is called and some I/O is performed." +"client cert exchange is delayed " +"until :meth:`SSLSocket.verify_client_post_handshake` is called and some I/O " +"is performed." msgstr "" -#: ../../library/ssl.rst:2035 +#: ../../library/ssl.rst:2060 msgid "" "The protocol version chosen when constructing the context. This attribute " "is read-only." msgstr "" -#: ../../library/ssl.rst:2040 +#: ../../library/ssl.rst:2065 msgid "" "Whether :attr:`~SSLContext.check_hostname` falls back to verify the cert's " "subject common name in the absence of a subject alternative name extension " "(default: true)." msgstr "" -#: ../../library/ssl.rst:2048 +#: ../../library/ssl.rst:2073 msgid "" -"The flag had no effect with OpenSSL before version 1.1.1k. Python 3.8.9, " +"The flag had no effect with OpenSSL before version 1.1.1l. Python 3.8.9, " "3.9.3, and 3.10 include workarounds for previous versions." msgstr "" -#: ../../library/ssl.rst:2053 +#: ../../library/ssl.rst:2078 msgid "" "An integer representing the `security level `_ for the context. This " "attribute is read-only." msgstr "" -#: ../../library/ssl.rst:2061 +#: ../../library/ssl.rst:2086 msgid "" -"The flags for certificate verification operations. You can set flags like :" -"data:`VERIFY_CRL_CHECK_LEAF` by ORing them together. By default OpenSSL does " -"neither require nor verify certificate revocation lists (CRLs)." +"The flags for certificate verification operations. You can set flags " +"like :data:`VERIFY_CRL_CHECK_LEAF` by ORing them together. By default " +"OpenSSL does neither require nor verify certificate revocation lists (CRLs)." msgstr "" -#: ../../library/ssl.rst:2067 +#: ../../library/ssl.rst:2092 msgid ":attr:`SSLContext.verify_flags` returns :class:`VerifyFlags` flags:" msgstr "" -#: ../../library/ssl.rst:2075 +#: ../../library/ssl.rst:2100 msgid "" "Whether to try to verify other peers' certificates and how to behave if " -"verification fails. This attribute must be one of :data:`CERT_NONE`, :data:" -"`CERT_OPTIONAL` or :data:`CERT_REQUIRED`." +"verification fails. This attribute must be one " +"of :data:`CERT_NONE`, :data:`CERT_OPTIONAL` or :data:`CERT_REQUIRED`." msgstr "" -#: ../../library/ssl.rst:2079 +#: ../../library/ssl.rst:2104 msgid ":attr:`SSLContext.verify_mode` returns :class:`VerifyMode` enum:" msgstr "" -#: ../../library/ssl.rst:2092 +#: ../../library/ssl.rst:2117 msgid "Certificates" msgstr "Certificados" -#: ../../library/ssl.rst:2094 +#: ../../library/ssl.rst:2119 msgid "" "Certificates in general are part of a public-key / private-key system. In " "this system, each *principal*, (which may be a machine, or a person, or an " @@ -2341,7 +2402,7 @@ msgid "" "other part, and **only** with the other part." msgstr "" -#: ../../library/ssl.rst:2102 +#: ../../library/ssl.rst:2127 msgid "" "A certificate contains information about two principals. It contains the " "name of a *subject*, and the subject's public key. It also contains a " @@ -2355,7 +2416,7 @@ msgid "" "as two fields, called \"notBefore\" and \"notAfter\"." msgstr "" -#: ../../library/ssl.rst:2112 +#: ../../library/ssl.rst:2137 msgid "" "In the Python use of certificates, a client or server can use a certificate " "to prove who they are. The other side of a network connection can also be " @@ -2368,18 +2429,18 @@ msgid "" "take place." msgstr "" -#: ../../library/ssl.rst:2122 +#: ../../library/ssl.rst:2147 msgid "" "Python uses files to contain certificates. They should be formatted as " "\"PEM\" (see :rfc:`1422`), which is a base-64 encoded form wrapped with a " "header line and a footer line::" msgstr "" -#: ../../library/ssl.rst:2131 +#: ../../library/ssl.rst:2156 msgid "Certificate chains" msgstr "" -#: ../../library/ssl.rst:2133 +#: ../../library/ssl.rst:2158 msgid "" "The Python files which contain certificates can contain a sequence of " "certificates, sometimes called a *certificate chain*. This chain should " @@ -2395,27 +2456,27 @@ msgid "" "agency which issued the certification authority's certificate::" msgstr "" -#: ../../library/ssl.rst:2157 +#: ../../library/ssl.rst:2182 msgid "CA certificates" msgstr "" -#: ../../library/ssl.rst:2159 +#: ../../library/ssl.rst:2184 msgid "" "If you are going to require validation of the other side of the connection's " "certificate, you need to provide a \"CA certs\" file, filled with the " "certificate chains for each issuer you are willing to trust. Again, this " "file just contains these chains concatenated together. For validation, " "Python will use the first chain it finds in the file which matches. The " -"platform's certificates file can be used by calling :meth:`SSLContext." -"load_default_certs`, this is done automatically with :func:`." -"create_default_context`." +"platform's certificates file can be used by " +"calling :meth:`SSLContext.load_default_certs`, this is done automatically " +"with :func:`.create_default_context`." msgstr "" -#: ../../library/ssl.rst:2168 +#: ../../library/ssl.rst:2193 msgid "Combined key and certificate" msgstr "" -#: ../../library/ssl.rst:2170 +#: ../../library/ssl.rst:2195 msgid "" "Often the private key is stored in the same file as the certificate; in this " "case, only the ``certfile`` parameter to :meth:`SSLContext.load_cert_chain` " @@ -2424,11 +2485,11 @@ msgid "" "certificate chain::" msgstr "" -#: ../../library/ssl.rst:2184 +#: ../../library/ssl.rst:2209 msgid "Self-signed certificates" msgstr "" -#: ../../library/ssl.rst:2186 +#: ../../library/ssl.rst:2211 msgid "" "If you are going to create a server that provides SSL-encrypted connection " "services, you will need to acquire a certificate for that service. There " @@ -2438,51 +2499,51 @@ msgid "" "package, using something like the following::" msgstr "" -#: ../../library/ssl.rst:2215 +#: ../../library/ssl.rst:2240 msgid "" "The disadvantage of a self-signed certificate is that it is its own root " "certificate, and no one else will have it in their cache of known (and " "trusted) root certificates." msgstr "" -#: ../../library/ssl.rst:2221 +#: ../../library/ssl.rst:2246 msgid "Examples" msgstr "Exemplos" -#: ../../library/ssl.rst:2224 +#: ../../library/ssl.rst:2249 msgid "Testing for SSL support" msgstr "" -#: ../../library/ssl.rst:2226 +#: ../../library/ssl.rst:2251 msgid "" "To test for the presence of SSL support in a Python installation, user code " "should use the following idiom::" msgstr "" -#: ../../library/ssl.rst:2237 +#: ../../library/ssl.rst:2262 msgid "Client-side operation" msgstr "" -#: ../../library/ssl.rst:2239 +#: ../../library/ssl.rst:2264 msgid "" "This example creates a SSL context with the recommended security settings " "for client sockets, including automatic certificate verification::" msgstr "" -#: ../../library/ssl.rst:2244 +#: ../../library/ssl.rst:2269 msgid "" "If you prefer to tune security settings yourself, you might create a context " "from scratch (but beware that you might not get the settings right)::" msgstr "" -#: ../../library/ssl.rst:2251 +#: ../../library/ssl.rst:2276 msgid "" "(this snippet assumes your operating system places a bundle of all CA " "certificates in ``/etc/ssl/certs/ca-bundle.crt``; if not, you'll get an " "error and have to adjust the location)" msgstr "" -#: ../../library/ssl.rst:2255 +#: ../../library/ssl.rst:2280 msgid "" "The :data:`PROTOCOL_TLS_CLIENT` protocol configures the context for cert " "validation and hostname verification. :attr:`~SSLContext.verify_mode` is set " @@ -2490,36 +2551,36 @@ msgid "" "``True``. All other protocols create SSL contexts with insecure defaults." msgstr "" -#: ../../library/ssl.rst:2260 +#: ../../library/ssl.rst:2285 msgid "" -"When you use the context to connect to a server, :const:`CERT_REQUIRED` and :" -"attr:`~SSLContext.check_hostname` validate the server certificate: it " +"When you use the context to connect to a server, :const:`CERT_REQUIRED` " +"and :attr:`~SSLContext.check_hostname` validate the server certificate: it " "ensures that the server certificate was signed with one of the CA " "certificates, checks the signature for correctness, and verifies other " "properties like validity and identity of the hostname::" msgstr "" -#: ../../library/ssl.rst:2270 +#: ../../library/ssl.rst:2295 msgid "You may then fetch the certificate::" msgstr "" -#: ../../library/ssl.rst:2274 +#: ../../library/ssl.rst:2299 msgid "" "Visual inspection shows that the certificate does identify the desired " "service (that is, the HTTPS host ``www.python.org``)::" msgstr "" -#: ../../library/ssl.rst:2317 +#: ../../library/ssl.rst:2342 msgid "" "Now the SSL channel is established and the certificate verified, you can " "proceed to talk with the server::" msgstr "" -#: ../../library/ssl.rst:2344 +#: ../../library/ssl.rst:2369 msgid "Server-side operation" msgstr "" -#: ../../library/ssl.rst:2346 +#: ../../library/ssl.rst:2371 msgid "" "For server operation, typically you'll need to have a server certificate, " "and private key, each in a file. You'll first create a context holding the " @@ -2528,20 +2589,21 @@ msgid "" "start waiting for clients to connect::" msgstr "" -#: ../../library/ssl.rst:2361 +#: ../../library/ssl.rst:2386 msgid "" "When a client connects, you'll call :meth:`accept` on the socket to get the " -"new socket from the other end, and use the context's :meth:`SSLContext." -"wrap_socket` method to create a server-side SSL socket for the connection::" +"new socket from the other end, and use the " +"context's :meth:`SSLContext.wrap_socket` method to create a server-side SSL " +"socket for the connection::" msgstr "" -#: ../../library/ssl.rst:2374 +#: ../../library/ssl.rst:2399 msgid "" "Then you'll read data from the ``connstream`` and do something with it till " "you are finished with the client (or the client is finished with you)::" msgstr "" -#: ../../library/ssl.rst:2388 +#: ../../library/ssl.rst:2413 msgid "" "And go back to listening for new client connections (of course, a real " "server would probably handle each client connection in a separate thread, or " @@ -2549,46 +2611,46 @@ msgid "" "event loop)." msgstr "" -#: ../../library/ssl.rst:2396 +#: ../../library/ssl.rst:2421 msgid "Notes on non-blocking sockets" msgstr "" -#: ../../library/ssl.rst:2398 +#: ../../library/ssl.rst:2423 msgid "" "SSL sockets behave slightly different than regular sockets in non-blocking " "mode. When working with non-blocking sockets, there are thus several things " "you need to be aware of:" msgstr "" -#: ../../library/ssl.rst:2402 +#: ../../library/ssl.rst:2427 msgid "" "Most :class:`SSLSocket` methods will raise either :exc:`SSLWantWriteError` " "or :exc:`SSLWantReadError` instead of :exc:`BlockingIOError` if an I/O " "operation would block. :exc:`SSLWantReadError` will be raised if a read " -"operation on the underlying socket is necessary, and :exc:" -"`SSLWantWriteError` for a write operation on the underlying socket. Note " -"that attempts to *write* to an SSL socket may require *reading* from the " -"underlying socket first, and attempts to *read* from the SSL socket may " +"operation on the underlying socket is necessary, " +"and :exc:`SSLWantWriteError` for a write operation on the underlying socket. " +"Note that attempts to *write* to an SSL socket may require *reading* from " +"the underlying socket first, and attempts to *read* from the SSL socket may " "require a prior *write* to the underlying socket." msgstr "" -#: ../../library/ssl.rst:2414 +#: ../../library/ssl.rst:2439 msgid "" "In earlier Python versions, the :meth:`!SSLSocket.send` method returned zero " "instead of raising :exc:`SSLWantWriteError` or :exc:`SSLWantReadError`." msgstr "" -#: ../../library/ssl.rst:2418 +#: ../../library/ssl.rst:2443 msgid "" "Calling :func:`~select.select` tells you that the OS-level socket can be " "read from (or written to), but it does not imply that there is sufficient " "data at the upper SSL layer. For example, only part of an SSL frame might " "have arrived. Therefore, you must be ready to handle :meth:`SSLSocket.recv` " -"and :meth:`SSLSocket.send` failures, and retry after another call to :func:" -"`~select.select`." +"and :meth:`SSLSocket.send` failures, and retry after another call " +"to :func:`~select.select`." msgstr "" -#: ../../library/ssl.rst:2425 +#: ../../library/ssl.rst:2450 msgid "" "Conversely, since the SSL layer has its own framing, a SSL socket may still " "have data available for reading without :func:`~select.select` being aware " @@ -2597,49 +2659,50 @@ msgid "" "call if still necessary." msgstr "" -#: ../../library/ssl.rst:2431 +#: ../../library/ssl.rst:2456 msgid "" -"(of course, similar provisions apply when using other primitives such as :" -"func:`~select.poll`, or those in the :mod:`selectors` module)" +"(of course, similar provisions apply when using other primitives such " +"as :func:`~select.poll`, or those in the :mod:`selectors` module)" msgstr "" -#: ../../library/ssl.rst:2434 +#: ../../library/ssl.rst:2459 msgid "" -"The SSL handshake itself will be non-blocking: the :meth:`SSLSocket." -"do_handshake` method has to be retried until it returns successfully. Here " -"is a synopsis using :func:`~select.select` to wait for the socket's " -"readiness::" +"The SSL handshake itself will be non-blocking: " +"the :meth:`SSLSocket.do_handshake` method has to be retried until it returns " +"successfully. Here is a synopsis using :func:`~select.select` to wait for " +"the socket's readiness::" msgstr "" -#: ../../library/ssl.rst:2450 +#: ../../library/ssl.rst:2475 msgid "" "The :mod:`asyncio` module supports :ref:`non-blocking SSL sockets ` and provides a higher level API. It polls for events using " -"the :mod:`selectors` module and handles :exc:`SSLWantWriteError`, :exc:" -"`SSLWantReadError` and :exc:`BlockingIOError` exceptions. It runs the SSL " -"handshake asynchronously as well." +"the :mod:`selectors` module and " +"handles :exc:`SSLWantWriteError`, :exc:`SSLWantReadError` " +"and :exc:`BlockingIOError` exceptions. It runs the SSL handshake " +"asynchronously as well." msgstr "" -#: ../../library/ssl.rst:2459 +#: ../../library/ssl.rst:2484 msgid "Memory BIO Support" -msgstr "" +msgstr "Підтримка BIO пам'яті" -#: ../../library/ssl.rst:2463 +#: ../../library/ssl.rst:2488 msgid "" -"Ever since the SSL module was introduced in Python 2.6, the :class:" -"`SSLSocket` class has provided two related but distinct areas of " +"Ever since the SSL module was introduced in Python 2.6, " +"the :class:`SSLSocket` class has provided two related but distinct areas of " "functionality:" msgstr "" -#: ../../library/ssl.rst:2466 +#: ../../library/ssl.rst:2491 msgid "SSL protocol handling" msgstr "" -#: ../../library/ssl.rst:2467 +#: ../../library/ssl.rst:2492 msgid "Network IO" msgstr "" -#: ../../library/ssl.rst:2469 +#: ../../library/ssl.rst:2494 msgid "" "The network IO API is identical to that provided by :class:`socket.socket`, " "from which :class:`SSLSocket` also inherits. This allows an SSL socket to be " @@ -2647,19 +2710,19 @@ msgid "" "add SSL support to an existing application." msgstr "" -#: ../../library/ssl.rst:2474 +#: ../../library/ssl.rst:2499 msgid "" "Combining SSL protocol handling and network IO usually works well, but there " "are some cases where it doesn't. An example is async IO frameworks that want " "to use a different IO multiplexing model than the \"select/poll on a file " -"descriptor\" (readiness based) model that is assumed by :class:`socket." -"socket` and by the internal OpenSSL socket IO routines. This is mostly " -"relevant for platforms like Windows where this model is not efficient. For " -"this purpose, a reduced scope variant of :class:`SSLSocket` called :class:" -"`SSLObject` is provided." +"descriptor\" (readiness based) model that is assumed " +"by :class:`socket.socket` and by the internal OpenSSL socket IO routines. " +"This is mostly relevant for platforms like Windows where this model is not " +"efficient. For this purpose, a reduced scope variant of :class:`SSLSocket` " +"called :class:`SSLObject` is provided." msgstr "" -#: ../../library/ssl.rst:2485 +#: ../../library/ssl.rst:2510 msgid "" "A reduced-scope variant of :class:`SSLSocket` representing an SSL protocol " "instance that does not contain any network IO methods. This class is " @@ -2667,7 +2730,7 @@ msgid "" "for SSL through memory buffers." msgstr "" -#: ../../library/ssl.rst:2490 +#: ../../library/ssl.rst:2515 msgid "" "This class implements an interface on top of a low-level SSL object as " "implemented by OpenSSL. This object captures the state of an SSL connection " @@ -2675,7 +2738,7 @@ msgid "" "separate \"BIO\" objects which are OpenSSL's IO abstraction layer." msgstr "" -#: ../../library/ssl.rst:2495 +#: ../../library/ssl.rst:2520 msgid "" "This class has no public constructor. An :class:`SSLObject` instance must " "be created using the :meth:`~SSLContext.wrap_bio` method. This method will " @@ -2684,273 +2747,275 @@ msgid "" "instance, while the *outgoing* BIO is used to pass data the other way around." msgstr "" -#: ../../library/ssl.rst:2502 +#: ../../library/ssl.rst:2527 msgid "The following methods are available:" msgstr "" -#: ../../library/ssl.rst:2504 +#: ../../library/ssl.rst:2529 msgid ":attr:`~SSLSocket.context`" msgstr ":attr:`~SSLSocket.context`" -#: ../../library/ssl.rst:2505 +#: ../../library/ssl.rst:2530 msgid ":attr:`~SSLSocket.server_side`" msgstr ":attr:`~SSLSocket.server_side`" -#: ../../library/ssl.rst:2506 +#: ../../library/ssl.rst:2531 msgid ":attr:`~SSLSocket.server_hostname`" msgstr ":attr:`~SSLSocket.server_hostname`" -#: ../../library/ssl.rst:2507 +#: ../../library/ssl.rst:2532 msgid ":attr:`~SSLSocket.session`" msgstr ":attr:`~SSLSocket.session`" -#: ../../library/ssl.rst:2508 +#: ../../library/ssl.rst:2533 msgid ":attr:`~SSLSocket.session_reused`" msgstr ":attr:`~SSLSocket.session_reused`" -#: ../../library/ssl.rst:2509 +#: ../../library/ssl.rst:2534 msgid ":meth:`~SSLSocket.read`" msgstr ":meth:`~SSLSocket.read`" -#: ../../library/ssl.rst:2510 +#: ../../library/ssl.rst:2535 msgid ":meth:`~SSLSocket.write`" msgstr ":meth:`~SSLSocket.write`" -#: ../../library/ssl.rst:2511 +#: ../../library/ssl.rst:2536 msgid ":meth:`~SSLSocket.getpeercert`" msgstr ":meth:`~SSLSocket.getpeercert`" -#: ../../library/ssl.rst:2512 +#: ../../library/ssl.rst:2537 msgid ":meth:`~SSLSocket.selected_alpn_protocol`" msgstr "" -#: ../../library/ssl.rst:2513 +#: ../../library/ssl.rst:2538 msgid ":meth:`~SSLSocket.selected_npn_protocol`" msgstr ":meth:`~SSLSocket.selected_npn_protocol`" -#: ../../library/ssl.rst:2514 +#: ../../library/ssl.rst:2539 msgid ":meth:`~SSLSocket.cipher`" msgstr ":meth:`~SSLSocket.cipher`" -#: ../../library/ssl.rst:2515 +#: ../../library/ssl.rst:2540 msgid ":meth:`~SSLSocket.shared_ciphers`" msgstr ":meth:`~SSLSocket.shared_ciphers`" -#: ../../library/ssl.rst:2516 +#: ../../library/ssl.rst:2541 msgid ":meth:`~SSLSocket.compression`" msgstr ":meth:`~SSLSocket.compression`" -#: ../../library/ssl.rst:2517 +#: ../../library/ssl.rst:2542 msgid ":meth:`~SSLSocket.pending`" msgstr ":meth:`~SSLSocket.pending`" -#: ../../library/ssl.rst:2518 +#: ../../library/ssl.rst:2543 msgid ":meth:`~SSLSocket.do_handshake`" msgstr ":meth:`~SSLSocket.do_handshake`" -#: ../../library/ssl.rst:2519 +#: ../../library/ssl.rst:2544 msgid ":meth:`~SSLSocket.verify_client_post_handshake`" msgstr "" -#: ../../library/ssl.rst:2520 +#: ../../library/ssl.rst:2545 msgid ":meth:`~SSLSocket.unwrap`" msgstr ":meth:`~SSLSocket.unwrap`" -#: ../../library/ssl.rst:2521 +#: ../../library/ssl.rst:2546 msgid ":meth:`~SSLSocket.get_channel_binding`" msgstr ":meth:`~SSLSocket.get_channel_binding`" -#: ../../library/ssl.rst:2522 +#: ../../library/ssl.rst:2547 msgid ":meth:`~SSLSocket.version`" msgstr "" -#: ../../library/ssl.rst:2524 +#: ../../library/ssl.rst:2549 msgid "" "When compared to :class:`SSLSocket`, this object lacks the following " "features:" msgstr "" -#: ../../library/ssl.rst:2527 +#: ../../library/ssl.rst:2552 msgid "" "Any form of network IO; ``recv()`` and ``send()`` read and write only to the " "underlying :class:`MemoryBIO` buffers." msgstr "" -#: ../../library/ssl.rst:2530 +#: ../../library/ssl.rst:2555 msgid "" "There is no *do_handshake_on_connect* machinery. You must always manually " "call :meth:`~SSLSocket.do_handshake` to start the handshake." msgstr "" -#: ../../library/ssl.rst:2533 +#: ../../library/ssl.rst:2558 msgid "" "There is no handling of *suppress_ragged_eofs*. All end-of-file conditions " -"that are in violation of the protocol are reported via the :exc:" -"`SSLEOFError` exception." +"that are in violation of the protocol are reported via " +"the :exc:`SSLEOFError` exception." msgstr "" -#: ../../library/ssl.rst:2537 +#: ../../library/ssl.rst:2562 msgid "" "The method :meth:`~SSLSocket.unwrap` call does not return anything, unlike " "for an SSL socket where it returns the underlying socket." msgstr "" -#: ../../library/ssl.rst:2540 +#: ../../library/ssl.rst:2565 msgid "" -"The *server_name_callback* callback passed to :meth:`SSLContext." -"set_servername_callback` will get an :class:`SSLObject` instance instead of " -"a :class:`SSLSocket` instance as its first parameter." +"The *server_name_callback* callback passed " +"to :meth:`SSLContext.set_servername_callback` will get an :class:`SSLObject` " +"instance instead of a :class:`SSLSocket` instance as its first parameter." msgstr "" -#: ../../library/ssl.rst:2544 +#: ../../library/ssl.rst:2569 msgid "Some notes related to the use of :class:`SSLObject`:" msgstr "" -#: ../../library/ssl.rst:2546 +#: ../../library/ssl.rst:2571 msgid "" "All IO on an :class:`SSLObject` is :ref:`non-blocking `. " -"This means that for example :meth:`~SSLSocket.read` will raise an :exc:" -"`SSLWantReadError` if it needs more data than the incoming BIO has available." +"This means that for example :meth:`~SSLSocket.read` will raise " +"an :exc:`SSLWantReadError` if it needs more data than the incoming BIO has " +"available." msgstr "" -#: ../../library/ssl.rst:2551 +#: ../../library/ssl.rst:2576 msgid "" -"There is no module-level ``wrap_bio()`` call like there is for :meth:" -"`~SSLContext.wrap_socket`. An :class:`SSLObject` is always created via an :" -"class:`SSLContext`." +"There is no module-level ``wrap_bio()`` call like there is " +"for :meth:`~SSLContext.wrap_socket`. An :class:`SSLObject` is always created " +"via an :class:`SSLContext`." msgstr "" -#: ../../library/ssl.rst:2555 +#: ../../library/ssl.rst:2580 msgid "" -":class:`SSLObject` instances must to created with :meth:`~SSLContext." -"wrap_bio`. In earlier versions, it was possible to create instances " -"directly. This was never documented or officially supported." +":class:`SSLObject` instances must to created " +"with :meth:`~SSLContext.wrap_bio`. In earlier versions, it was possible to " +"create instances directly. This was never documented or officially supported." msgstr "" -#: ../../library/ssl.rst:2561 +#: ../../library/ssl.rst:2586 msgid "" "An SSLObject communicates with the outside world using memory buffers. The " "class :class:`MemoryBIO` provides a memory buffer that can be used for this " "purpose. It wraps an OpenSSL memory BIO (Basic IO) object:" msgstr "" -#: ../../library/ssl.rst:2567 +#: ../../library/ssl.rst:2592 msgid "" "A memory buffer that can be used to pass data between Python and an SSL " "protocol instance." msgstr "" -#: ../../library/ssl.rst:2572 +#: ../../library/ssl.rst:2597 msgid "Return the number of bytes currently in the memory buffer." msgstr "" -#: ../../library/ssl.rst:2576 +#: ../../library/ssl.rst:2601 msgid "" "A boolean indicating whether the memory BIO is current at the end-of-file " "position." msgstr "" -#: ../../library/ssl.rst:2581 +#: ../../library/ssl.rst:2606 msgid "" "Read up to *n* bytes from the memory buffer. If *n* is not specified or " "negative, all bytes are returned." msgstr "" -#: ../../library/ssl.rst:2586 +#: ../../library/ssl.rst:2611 msgid "" "Write the bytes from *buf* to the memory BIO. The *buf* argument must be an " "object supporting the buffer protocol." msgstr "" -#: ../../library/ssl.rst:2589 +#: ../../library/ssl.rst:2614 msgid "" "The return value is the number of bytes written, which is always equal to " "the length of *buf*." msgstr "" -#: ../../library/ssl.rst:2594 +#: ../../library/ssl.rst:2619 msgid "" "Write an EOF marker to the memory BIO. After this method has been called, it " "is illegal to call :meth:`~MemoryBIO.write`. The attribute :attr:`eof` will " "become true after all data currently in the buffer has been read." msgstr "" -#: ../../library/ssl.rst:2600 +#: ../../library/ssl.rst:2625 msgid "SSL session" msgstr "" -#: ../../library/ssl.rst:2606 +#: ../../library/ssl.rst:2631 msgid "Session object used by :attr:`~SSLSocket.session`." msgstr "" -#: ../../library/ssl.rst:2618 +#: ../../library/ssl.rst:2643 msgid "Security considerations" msgstr "Considerações de segurança" -#: ../../library/ssl.rst:2621 +#: ../../library/ssl.rst:2646 msgid "Best defaults" msgstr "" -#: ../../library/ssl.rst:2623 +#: ../../library/ssl.rst:2648 msgid "" "For **client use**, if you don't have any special requirements for your " -"security policy, it is highly recommended that you use the :func:" -"`create_default_context` function to create your SSL context. It will load " -"the system's trusted CA certificates, enable certificate validation and " -"hostname checking, and try to choose reasonably secure protocol and cipher " -"settings." +"security policy, it is highly recommended that you use " +"the :func:`create_default_context` function to create your SSL context. It " +"will load the system's trusted CA certificates, enable certificate " +"validation and hostname checking, and try to choose reasonably secure " +"protocol and cipher settings." msgstr "" -#: ../../library/ssl.rst:2630 +#: ../../library/ssl.rst:2655 msgid "" "For example, here is how you would use the :class:`smtplib.SMTP` class to " "create a trusted, secure connection to a SMTP server::" msgstr "" -#: ../../library/ssl.rst:2639 +#: ../../library/ssl.rst:2664 msgid "" -"If a client certificate is needed for the connection, it can be added with :" -"meth:`SSLContext.load_cert_chain`." +"If a client certificate is needed for the connection, it can be added " +"with :meth:`SSLContext.load_cert_chain`." msgstr "" -#: ../../library/ssl.rst:2642 +#: ../../library/ssl.rst:2667 msgid "" -"By contrast, if you create the SSL context by calling the :class:" -"`SSLContext` constructor yourself, it will not have certificate validation " -"nor hostname checking enabled by default. If you do so, please read the " -"paragraphs below to achieve a good security level." +"By contrast, if you create the SSL context by calling " +"the :class:`SSLContext` constructor yourself, it will not have certificate " +"validation nor hostname checking enabled by default. If you do so, please " +"read the paragraphs below to achieve a good security level." msgstr "" -#: ../../library/ssl.rst:2648 +#: ../../library/ssl.rst:2673 msgid "Manual settings" msgstr "" -#: ../../library/ssl.rst:2651 +#: ../../library/ssl.rst:2676 msgid "Verifying certificates" msgstr "" -#: ../../library/ssl.rst:2653 +#: ../../library/ssl.rst:2678 msgid "" -"When calling the :class:`SSLContext` constructor directly, :const:" -"`CERT_NONE` is the default. Since it does not authenticate the other peer, " -"it can be insecure, especially in client mode where most of time you would " -"like to ensure the authenticity of the server you're talking to. Therefore, " -"when in client mode, it is highly recommended to use :const:" -"`CERT_REQUIRED`. However, it is in itself not sufficient; you also have to " -"check that the server certificate, which can be obtained by calling :meth:" -"`SSLSocket.getpeercert`, matches the desired service. For many protocols " -"and applications, the service can be identified by the hostname; in this " -"case, the :func:`match_hostname` function can be used. This common check is " -"automatically performed when :attr:`SSLContext.check_hostname` is enabled." +"When calling the :class:`SSLContext` constructor " +"directly, :const:`CERT_NONE` is the default. Since it does not authenticate " +"the other peer, it can be insecure, especially in client mode where most of " +"time you would like to ensure the authenticity of the server you're talking " +"to. Therefore, when in client mode, it is highly recommended to " +"use :const:`CERT_REQUIRED`. However, it is in itself not sufficient; you " +"also have to check that the server certificate, which can be obtained by " +"calling :meth:`SSLSocket.getpeercert`, matches the desired service. For " +"many protocols and applications, the service can be identified by the " +"hostname; in this case, the :func:`match_hostname` function can be used. " +"This common check is automatically performed " +"when :attr:`SSLContext.check_hostname` is enabled." msgstr "" -#: ../../library/ssl.rst:2666 +#: ../../library/ssl.rst:2691 msgid "" -"Hostname matchings is now performed by OpenSSL. Python no longer uses :func:" -"`match_hostname`." +"Hostname matchings is now performed by OpenSSL. Python no longer " +"uses :func:`match_hostname`." msgstr "" -#: ../../library/ssl.rst:2670 +#: ../../library/ssl.rst:2695 msgid "" "In server mode, if you want to authenticate your clients using the SSL layer " "(rather than using a higher-level authentication mechanism), you'll also " @@ -2958,85 +3023,85 @@ msgid "" "certificate." msgstr "" -#: ../../library/ssl.rst:2676 +#: ../../library/ssl.rst:2701 msgid "Protocol versions" msgstr "" -#: ../../library/ssl.rst:2678 +#: ../../library/ssl.rst:2703 msgid "" "SSL versions 2 and 3 are considered insecure and are therefore dangerous to " "use. If you want maximum compatibility between clients and servers, it is " -"recommended to use :const:`PROTOCOL_TLS_CLIENT` or :const:" -"`PROTOCOL_TLS_SERVER` as the protocol version. SSLv2 and SSLv3 are disabled " -"by default." +"recommended to use :const:`PROTOCOL_TLS_CLIENT` " +"or :const:`PROTOCOL_TLS_SERVER` as the protocol version. SSLv2 and SSLv3 are " +"disabled by default." msgstr "" -#: ../../library/ssl.rst:2691 +#: ../../library/ssl.rst:2716 msgid "" -"The SSL context created above will only allow TLSv1.2 and later (if " -"supported by your system) connections to a server. :const:" -"`PROTOCOL_TLS_CLIENT` implies certificate validation and hostname checks by " -"default. You have to load certificates into the context." +"The SSL context created above will only allow TLSv1.3 and later (if " +"supported by your system) connections to a " +"server. :const:`PROTOCOL_TLS_CLIENT` implies certificate validation and " +"hostname checks by default. You have to load certificates into the context." msgstr "" -#: ../../library/ssl.rst:2698 +#: ../../library/ssl.rst:2723 msgid "Cipher selection" msgstr "" -#: ../../library/ssl.rst:2700 +#: ../../library/ssl.rst:2725 msgid "" "If you have advanced security requirements, fine-tuning of the ciphers " -"enabled when negotiating a SSL session is possible through the :meth:" -"`SSLContext.set_ciphers` method. Starting from Python 3.2.3, the ssl module " -"disables certain weak ciphers by default, but you may want to further " -"restrict the cipher choice. Be sure to read OpenSSL's documentation about " -"the `cipher list format `_. If you want to check which ciphers are enabled " -"by a given cipher list, use :meth:`SSLContext.get_ciphers` or the ``openssl " -"ciphers`` command on your system." +"enabled when negotiating a SSL session is possible through " +"the :meth:`SSLContext.set_ciphers` method. Starting from Python 3.2.3, the " +"ssl module disables certain weak ciphers by default, but you may want to " +"further restrict the cipher choice. Be sure to read OpenSSL's documentation " +"about the `cipher list format `_. If you want to check which ciphers are " +"enabled by a given cipher list, use :meth:`SSLContext.get_ciphers` or the " +"``openssl ciphers`` command on your system." msgstr "" -#: ../../library/ssl.rst:2711 +#: ../../library/ssl.rst:2736 msgid "Multi-processing" msgstr "" -#: ../../library/ssl.rst:2713 +#: ../../library/ssl.rst:2738 msgid "" "If using this module as part of a multi-processed application (using, for " "example the :mod:`multiprocessing` or :mod:`concurrent.futures` modules), be " "aware that OpenSSL's internal random number generator does not properly " "handle forked processes. Applications must change the PRNG state of the " "parent process if they use any SSL feature with :func:`os.fork`. Any " -"successful call of :func:`~ssl.RAND_add`, :func:`~ssl.RAND_bytes` or :func:" -"`~ssl.RAND_pseudo_bytes` is sufficient." +"successful call of :func:`~ssl.RAND_add`, :func:`~ssl.RAND_bytes` " +"or :func:`~ssl.RAND_pseudo_bytes` is sufficient." msgstr "" -#: ../../library/ssl.rst:2725 +#: ../../library/ssl.rst:2750 msgid "TLS 1.3" msgstr "" -#: ../../library/ssl.rst:2729 +#: ../../library/ssl.rst:2754 msgid "" "The TLS 1.3 protocol behaves slightly differently than previous version of " "TLS/SSL. Some new TLS 1.3 features are not yet available." msgstr "" -#: ../../library/ssl.rst:2732 +#: ../../library/ssl.rst:2757 msgid "" "TLS 1.3 uses a disjunct set of cipher suites. All AES-GCM and ChaCha20 " -"cipher suites are enabled by default. The method :meth:`SSLContext." -"set_ciphers` cannot enable or disable any TLS 1.3 ciphers yet, but :meth:" -"`SSLContext.get_ciphers` returns them." +"cipher suites are enabled by default. The " +"method :meth:`SSLContext.set_ciphers` cannot enable or disable any TLS 1.3 " +"ciphers yet, but :meth:`SSLContext.get_ciphers` returns them." msgstr "" -#: ../../library/ssl.rst:2736 +#: ../../library/ssl.rst:2761 msgid "" "Session tickets are no longer sent as part of the initial handshake and are " "handled differently. :attr:`SSLSocket.session` and :class:`SSLSession` are " "not compatible with TLS 1.3." msgstr "" -#: ../../library/ssl.rst:2739 +#: ../../library/ssl.rst:2764 msgid "" "Client-side certificates are also no longer verified during the initial " "handshake. A server can request a certificate at any time. Clients process " @@ -3044,31 +3109,31 @@ msgid "" "server." msgstr "" -#: ../../library/ssl.rst:2743 +#: ../../library/ssl.rst:2768 msgid "" "TLS 1.3 features like early data, deferred TLS client cert request, " "signature algorithm configuration, and rekeying are not supported yet." msgstr "" -#: ../../library/ssl.rst:2750 +#: ../../library/ssl.rst:2775 msgid "Class :class:`socket.socket`" msgstr "" -#: ../../library/ssl.rst:2750 +#: ../../library/ssl.rst:2775 msgid "Documentation of underlying :mod:`socket` class" msgstr "" -#: ../../library/ssl.rst:2753 +#: ../../library/ssl.rst:2778 msgid "" "`SSL/TLS Strong Encryption: An Introduction `_" msgstr "" -#: ../../library/ssl.rst:2753 +#: ../../library/ssl.rst:2778 msgid "Intro from the Apache HTTP Server documentation" msgstr "" -#: ../../library/ssl.rst:2756 +#: ../../library/ssl.rst:2781 msgid "" ":rfc:`RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: " "Certificate-Based Key Management <1422>`" @@ -3076,19 +3141,19 @@ msgstr "" ":rfc:`RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: " "Certificate-Based Key Management <1422>`" -#: ../../library/ssl.rst:2756 +#: ../../library/ssl.rst:2781 msgid "Steve Kent" msgstr "" -#: ../../library/ssl.rst:2759 +#: ../../library/ssl.rst:2784 msgid ":rfc:`RFC 4086: Randomness Requirements for Security <4086>`" msgstr ":rfc:`RFC 4086: Randomness Requirements for Security <4086>`" -#: ../../library/ssl.rst:2759 +#: ../../library/ssl.rst:2784 msgid "Donald E., Jeffrey I. Schiller" msgstr "" -#: ../../library/ssl.rst:2762 +#: ../../library/ssl.rst:2787 msgid "" ":rfc:`RFC 5280: Internet X.509 Public Key Infrastructure Certificate and " "Certificate Revocation List (CRL) Profile <5280>`" @@ -3096,11 +3161,11 @@ msgstr "" ":rfc:`RFC 5280: Internet X.509 Public Key Infrastructure Certificate and " "Certificate Revocation List (CRL) Profile <5280>`" -#: ../../library/ssl.rst:2762 +#: ../../library/ssl.rst:2787 msgid "D. Cooper" msgstr "" -#: ../../library/ssl.rst:2765 +#: ../../library/ssl.rst:2790 msgid "" ":rfc:`RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 " "<5246>`" @@ -3108,29 +3173,29 @@ msgstr "" ":rfc:`RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2 " "<5246>`" -#: ../../library/ssl.rst:2765 +#: ../../library/ssl.rst:2790 msgid "T. Dierks et. al." msgstr "T. Dierks et. al." -#: ../../library/ssl.rst:2768 +#: ../../library/ssl.rst:2793 msgid ":rfc:`RFC 6066: Transport Layer Security (TLS) Extensions <6066>`" msgstr ":rfc:`RFC 6066: Transport Layer Security (TLS) Extensions <6066>`" -#: ../../library/ssl.rst:2768 +#: ../../library/ssl.rst:2793 msgid "D. Eastlake" msgstr "" -#: ../../library/ssl.rst:2771 +#: ../../library/ssl.rst:2796 msgid "" "`IANA TLS: Transport Layer Security (TLS) Parameters `_" msgstr "" -#: ../../library/ssl.rst:2771 +#: ../../library/ssl.rst:2796 msgid "IANA" msgstr "" -#: ../../library/ssl.rst:2774 +#: ../../library/ssl.rst:2799 msgid "" ":rfc:`RFC 7525: Recommendations for Secure Use of Transport Layer Security " "(TLS) and Datagram Transport Layer Security (DTLS) <7525>`" @@ -3138,17 +3203,17 @@ msgstr "" ":rfc:`RFC 7525: Recommendations for Secure Use of Transport Layer Security " "(TLS) and Datagram Transport Layer Security (DTLS) <7525>`" -#: ../../library/ssl.rst:2774 +#: ../../library/ssl.rst:2799 msgid "IETF" msgstr "" -#: ../../library/ssl.rst:2776 +#: ../../library/ssl.rst:2801 msgid "" "`Mozilla's Server Side TLS recommendations `_" msgstr "" -#: ../../library/ssl.rst:2777 +#: ../../library/ssl.rst:2802 msgid "Mozilla" msgstr "" @@ -3176,10 +3241,10 @@ msgstr "" msgid "Secure Sockets Layer" msgstr "" -#: ../../library/ssl.rst:2085 +#: ../../library/ssl.rst:2110 msgid "certificates" -msgstr "" +msgstr "сертифікати" -#: ../../library/ssl.rst:2087 +#: ../../library/ssl.rst:2112 msgid "X509 certificate" msgstr "" diff --git a/library/stat.po b/library/stat.po index edb0a0132..0d5b7e889 100644 --- a/library/stat.po +++ b/library/stat.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Sheila Gomes , 2021 -# Italo Penaforte , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,69 +35,78 @@ msgstr "**Código-fonte:** :source:`Lib/stat.py`" msgid "" "The :mod:`stat` module defines constants and functions for interpreting the " "results of :func:`os.stat`, :func:`os.fstat` and :func:`os.lstat` (if they " -"exist). For complete details about the :c:func:`stat`, :c:func:`fstat` and :" -"c:func:`lstat` calls, consult the documentation for your system." +"exist). For complete details about the :c:func:`stat`, :c:func:`!fstat` " +"and :c:func:`!lstat` calls, consult the documentation for your system." msgstr "" "O módulo :mod:`stat` define constantes e funções para interpretar os " "resultados de :func:`os.stat`, :func:`os.fstat` e :func:`os.lstat` (se " -"existirem). Para detalhes completos sobre chamadas :c:func:`stat`, :c:func:" -"`fstat` e :c:func:`lstat`, consulte a documentação do seu sistema." +"existirem). Para detalhes completos sobre chamadas :c:func:`stat`, :c:func:`!" +"fstat` e :c:func:`!lstat`, consulte a documentação do seu sistema." #: ../../library/stat.rst:19 msgid "The stat module is backed by a C implementation." -msgstr "" +msgstr "O módulo stat é apoiado por uma implementação C." #: ../../library/stat.rst:22 msgid "" "The :mod:`stat` module defines the following functions to test for specific " "file types:" msgstr "" +"O módulo :mod:`stat` define as seguintes funções para testar tipos de " +"arquivos específicos:" #: ../../library/stat.rst:28 msgid "Return non-zero if the mode is from a directory." -msgstr "" +msgstr "Retorna diferente de zero se o modo for de um diretório." #: ../../library/stat.rst:33 msgid "Return non-zero if the mode is from a character special device file." msgstr "" +"Retorna diferente de zero se o modo for de um arquivo de dispositivo " +"especial de caractere." #: ../../library/stat.rst:38 msgid "Return non-zero if the mode is from a block special device file." msgstr "" +"Retorna diferente de zero se o modo for de um arquivo de dispositivo " +"especial de bloco." #: ../../library/stat.rst:43 msgid "Return non-zero if the mode is from a regular file." -msgstr "" +msgstr "Retorna diferente de zero se o modo for de um arquivo regular." #: ../../library/stat.rst:48 msgid "Return non-zero if the mode is from a FIFO (named pipe)." msgstr "" +"Retorna diferente de zero se o modo for de um FIFO (encadeamento nomeado)." #: ../../library/stat.rst:53 msgid "Return non-zero if the mode is from a symbolic link." -msgstr "" +msgstr "Retorna diferente de zero se o modo for de um link simbólico." #: ../../library/stat.rst:58 msgid "Return non-zero if the mode is from a socket." -msgstr "" +msgstr "Retorna diferente de zero se o modo for de um soquete." #: ../../library/stat.rst:62 msgid "Return non-zero if the mode is from a door." -msgstr "" +msgstr "Retorna diferente de zero se o modo for de uma porta." #: ../../library/stat.rst:68 msgid "Return non-zero if the mode is from an event port." -msgstr "" +msgstr "Retorna diferente de zero se o modo for de uma porta de eventos." #: ../../library/stat.rst:74 msgid "Return non-zero if the mode is from a whiteout." -msgstr "" +msgstr "Retorna diferente de zero se o modo for de um apagamento." #: ../../library/stat.rst:78 msgid "" "Two additional functions are defined for more general manipulation of the " "file's mode:" msgstr "" +"Duas funções adicionais são definidas para manipulação mais geral do modo do " +"arquivo:" #: ../../library/stat.rst:84 msgid "" @@ -108,22 +114,34 @@ msgid "" "---that is, the file's permission bits, plus the sticky bit, set-group-id, " "and set-user-id bits (on systems that support them)." msgstr "" +"Retorna a parte do modo do arquivo que pode ser definido " +"por :func:`os.chmod` --- ou seja, os bits de permissão do arquivo, mais os " +"bits sticky bit, set-group-id e set-user-id (em sistemas que têm suporte a " +"eles)." #: ../../library/stat.rst:91 msgid "" "Return the portion of the file's mode that describes the file type (used by " -"the :func:`S_IS\\*` functions above)." +"the :func:`!S_IS\\*` functions above)." msgstr "" +"Retorna a parte do modo do arquivo que descreve o tipo de arquivo (usado " +"pelas funções :func:`!S_IS\\*` acima)." #: ../../library/stat.rst:94 msgid "" -"Normally, you would use the :func:`os.path.is\\*` functions for testing the " +"Normally, you would use the :func:`!os.path.is\\*` functions for testing the " "type of a file; the functions here are useful when you are doing multiple " "tests of the same file and wish to avoid the overhead of the :c:func:`stat` " "system call for each test. These are also useful when checking for " "information about a file that isn't handled by :mod:`os.path`, like the " "tests for block and character devices." msgstr "" +"Normalmente, você usaria as funções :func:`!os.path.is\\*` para testar o " +"tipo de um arquivo; as funções aqui são úteis quando você está fazendo " +"vários testes do mesmo arquivo e deseja evitar a sobrecarga da chamada de " +"sistema :c:func:`stat` para cada teste. Eles também são úteis ao verificar " +"informações sobre um arquivo que não é manipulado por :mod:`os.path`, como " +"os testes para dispositivos de blocos e caracteres." #: ../../library/stat.rst:101 msgid "Example::" @@ -134,58 +152,65 @@ msgid "" "An additional utility function is provided to convert a file's mode in a " "human readable string:" msgstr "" +"Uma função utilitária adicional é fornecida para converter o modo de um " +"arquivo em uma string legível por humanos:" #: ../../library/stat.rst:134 msgid "Convert a file's mode to a string of the form '-rwxrwxrwx'." -msgstr "" +msgstr "Converte o modo de um arquivo em uma string no formato '-rwxrwxrwx'." #: ../../library/stat.rst:138 msgid "" "The function supports :data:`S_IFDOOR`, :data:`S_IFPORT` and :data:`S_IFWHT`." msgstr "" +"A função tem suporte a :data:`S_IFDOOR`, :data:`S_IFPORT` e :data:`S_IFWHT`." #: ../../library/stat.rst:143 msgid "" "All the variables below are simply symbolic indexes into the 10-tuple " "returned by :func:`os.stat`, :func:`os.fstat` or :func:`os.lstat`." msgstr "" +"Todas as variáveis abaixo são simplesmente índices simbólicos nas 10 tuplas " +"retornadas por :func:`os.stat`, :func:`os.fstat` ou :func:`os.lstat`." #: ../../library/stat.rst:149 msgid "Inode protection mode." -msgstr "" +msgstr "Modo de proteção de nó-i." #: ../../library/stat.rst:154 msgid "Inode number." -msgstr "" +msgstr "Número de nó-i." #: ../../library/stat.rst:159 msgid "Device inode resides on." -msgstr "" +msgstr "Nó-i em que o dispositivo reside." #: ../../library/stat.rst:164 msgid "Number of links to the inode." -msgstr "" +msgstr "Número de links para o nó-i." #: ../../library/stat.rst:169 msgid "User id of the owner." -msgstr "" +msgstr "O ID de usuário para o proprietário." #: ../../library/stat.rst:174 msgid "Group id of the owner." -msgstr "" +msgstr "O ID de grupo para o proprietário." #: ../../library/stat.rst:179 msgid "" "Size in bytes of a plain file; amount of data waiting on some special files." msgstr "" +"Tamanho em bytes de um arquivo simples; quantidade de dados aguardando em " +"alguns arquivos especiais." #: ../../library/stat.rst:184 msgid "Time of last access." -msgstr "" +msgstr "Hora do último acesso." #: ../../library/stat.rst:189 msgid "Time of last modification." -msgstr "" +msgstr "Hora da última modificação." #: ../../library/stat.rst:194 msgid "" @@ -193,84 +218,107 @@ msgid "" "Unix) is the time of the last metadata change, and, on others (like " "Windows), is the creation time (see platform documentation for details)." msgstr "" +"O \"ctime\" conforme relatado pelo sistema operacional. Em alguns sistemas " +"(como Unix) é o horário da última alteração de metadados e, em outros (como " +"Windows), é o horário de criação (consulte a documentação da plataforma para " +"obter detalhes)." #: ../../library/stat.rst:198 msgid "" "The interpretation of \"file size\" changes according to the file type. For " "plain files this is the size of the file in bytes. For FIFOs and sockets " "under most flavors of Unix (including Linux in particular), the \"size\" is " -"the number of bytes waiting to be read at the time of the call to :func:`os." -"stat`, :func:`os.fstat`, or :func:`os.lstat`; this can sometimes be useful, " -"especially for polling one of these special files after a non-blocking " -"open. The meaning of the size field for other character and block devices " -"varies more, depending on the implementation of the underlying system call." -msgstr "" +"the number of bytes waiting to be read at the time of the call " +"to :func:`os.stat`, :func:`os.fstat`, or :func:`os.lstat`; this can " +"sometimes be useful, especially for polling one of these special files after " +"a non-blocking open. The meaning of the size field for other character and " +"block devices varies more, depending on the implementation of the underlying " +"system call." +msgstr "" +"A interpretação do “tamanho do arquivo” muda de acordo com o tipo de " +"arquivo. Para arquivos simples, este é o tamanho do arquivo em bytes. Para " +"FIFOs e soquetes na maioria dos tipos de Unix (incluindo Linux em " +"particular), o \"tamanho\" é o número de bytes aguardando para serem lidos " +"no momento da chamada para :func:`os.stat`, :func:`os.fstat` " +"ou :func:`os.lstat`; isso às vezes pode ser útil, especialmente para " +"pesquisar um desses arquivos especiais após uma abertura sem bloqueio. O " +"significado do campo de tamanho para outros dispositivos de caracteres e " +"blocos varia mais, dependendo da implementação da chamada de sistema " +"subjacente." #: ../../library/stat.rst:207 msgid "The variables below define the flags used in the :data:`ST_MODE` field." msgstr "" +"As variáveis abaixo definem os sinalizadores utilizadas no " +"campo :data:`ST_MODE`." #: ../../library/stat.rst:209 msgid "" "Use of the functions above is more portable than use of the first set of " "flags:" msgstr "" +"O uso das funções acima é mais portátil do que o uso do primeiro conjunto de " +"sinalizadores:" #: ../../library/stat.rst:213 msgid "Socket." -msgstr "" +msgstr "Soquete." #: ../../library/stat.rst:217 msgid "Symbolic link." -msgstr "" +msgstr "Link simbólico." #: ../../library/stat.rst:221 msgid "Regular file." -msgstr "" +msgstr "Arquivo regular." #: ../../library/stat.rst:225 msgid "Block device." -msgstr "" +msgstr "Dispositivo de bloco." #: ../../library/stat.rst:229 msgid "Directory." -msgstr "" +msgstr "Diretório." #: ../../library/stat.rst:233 msgid "Character device." -msgstr "" +msgstr "Dispositivo de caracteres." #: ../../library/stat.rst:237 msgid "FIFO." -msgstr "" +msgstr "FIFO." #: ../../library/stat.rst:241 msgid "Door." -msgstr "" +msgstr "Porta." #: ../../library/stat.rst:247 msgid "Event port." -msgstr "" +msgstr "Porta de eventos." #: ../../library/stat.rst:253 msgid "Whiteout." -msgstr "" +msgstr "Apagamento." #: ../../library/stat.rst:259 msgid "" ":data:`S_IFDOOR`, :data:`S_IFPORT` or :data:`S_IFWHT` are defined as 0 when " "the platform does not have support for the file types." msgstr "" +":data:`S_IFDOOR`, :data:`S_IFPORT` ou :data:`S_IFWHT` são definidos como 0 " +"quando a plataforma não possui suporte para os tipos de arquivo." #: ../../library/stat.rst:262 msgid "" -"The following flags can also be used in the *mode* argument of :func:`os." -"chmod`:" +"The following flags can also be used in the *mode* argument " +"of :func:`os.chmod`:" msgstr "" +"Os seguintes sinalizadores também podem ser usados no argumento *mode* " +"de :func:`os.chmod`:" #: ../../library/stat.rst:266 msgid "Set UID bit." -msgstr "" +msgstr "Define o bit de UID." #: ../../library/stat.rst:270 msgid "" @@ -282,6 +330,13 @@ msgid "" "execution bit (:data:`S_IXGRP`) set, the set-group-ID bit indicates " "mandatory file/record locking (see also :data:`S_ENFMT`)." msgstr "" +"Bit de set-group-ID. Este bit tem vários usos especiais. Para um diretório, " +"indica que a semântica BSD deve ser usada para esse diretório: os arquivos " +"criados lá herdam seu ID de grupo do diretório, não do ID de grupo efetivo " +"do processo de criação, e os diretórios criados lá também receberão o " +"conjunto de bits :data:`S_ISGID`. Para um arquivo que não possui o bit de " +"execução de grupo (:data:`S_IXGRP`) definido, o bit de set-group-ID indica " +"trava obrigatória de arquivo/registro (veja também :data:`S_ENFMT`)." #: ../../library/stat.rst:281 msgid "" @@ -289,34 +344,38 @@ msgid "" "that directory can be renamed or deleted only by the owner of the file, by " "the owner of the directory, or by a privileged process." msgstr "" +"Sticky bit. Quando este bit é definido em um diretório, significa que um " +"arquivo nesse diretório pode ser renomeado ou excluído apenas pelo " +"proprietário do arquivo, pelo proprietário do diretório ou por um processo " +"privilegiado." #: ../../library/stat.rst:287 msgid "Mask for file owner permissions." -msgstr "" +msgstr "Máscara para permissões de proprietário de arquivo." #: ../../library/stat.rst:291 msgid "Owner has read permission." -msgstr "" +msgstr "Proprietário tem permissão de leitura." #: ../../library/stat.rst:295 msgid "Owner has write permission." -msgstr "" +msgstr "Proprietário tem permissão de escrita." #: ../../library/stat.rst:299 msgid "Owner has execute permission." -msgstr "" +msgstr "Proprietário tem permissão de execução." #: ../../library/stat.rst:303 msgid "Mask for group permissions." -msgstr "" +msgstr "Máscara para permissões de grupo." #: ../../library/stat.rst:307 msgid "Group has read permission." -msgstr "" +msgstr "Grupo tem permissão de leitura." #: ../../library/stat.rst:311 msgid "Group has write permission." -msgstr "" +msgstr "Grupo tem permissão de escrita." #: ../../library/stat.rst:315 msgid "Group has execute permission." @@ -324,95 +383,107 @@ msgstr "Grupo tem permissão de execução." #: ../../library/stat.rst:319 msgid "Mask for permissions for others (not in group)." -msgstr "" +msgstr "Máscara para permissões para outros (não no grupo)." #: ../../library/stat.rst:323 msgid "Others have read permission." -msgstr "" +msgstr "Outros têm permissão de leitura." #: ../../library/stat.rst:327 msgid "Others have write permission." -msgstr "" +msgstr "Outros têm permissão de escrita." #: ../../library/stat.rst:331 msgid "Others have execute permission." -msgstr "" +msgstr "Outros têm permissão de execução." #: ../../library/stat.rst:335 msgid "" -"System V file locking enforcement. This flag is shared with :data:" -"`S_ISGID`: file/record locking is enforced on files that do not have the " -"group execution bit (:data:`S_IXGRP`) set." +"System V file locking enforcement. This flag is shared " +"with :data:`S_ISGID`: file/record locking is enforced on files that do not " +"have the group execution bit (:data:`S_IXGRP`) set." msgstr "" +"Aplicação de trava de arquivo do System V. Este sinalizador é compartilhada " +"com :data:`S_ISGID`: a trava de arquivo/registro é aplicada em arquivos que " +"não possuem o bit de execução de grupo (:data:`S_IXGRP`) definido." #: ../../library/stat.rst:341 msgid "Unix V7 synonym for :data:`S_IRUSR`." -msgstr "" +msgstr "Sinônimo Unix V7 para :data:`S_IRUSR`." #: ../../library/stat.rst:345 msgid "Unix V7 synonym for :data:`S_IWUSR`." -msgstr "" +msgstr "Sinônimo Unix V7 para :data:`S_IWUSR`." #: ../../library/stat.rst:349 msgid "Unix V7 synonym for :data:`S_IXUSR`." -msgstr "" +msgstr "Sinônimo Unix V7 para :data:`S_IXUSR`." #: ../../library/stat.rst:351 msgid "" -"The following flags can be used in the *flags* argument of :func:`os." -"chflags`:" +"The following flags can be used in the *flags* argument " +"of :func:`os.chflags`:" msgstr "" +"Os seguintes sinalizadores podem ser usados no argumento *flags* " +"de :func:`os.chflags`:" #: ../../library/stat.rst:355 msgid "Do not dump the file." -msgstr "" +msgstr "Não despeja o arquivo." #: ../../library/stat.rst:359 ../../library/stat.rst:387 msgid "The file may not be changed." -msgstr "" +msgstr "O arquivo não pode ser alterado." #: ../../library/stat.rst:363 ../../library/stat.rst:391 msgid "The file may only be appended to." -msgstr "" +msgstr "O arquivo só pode sofrer acréscimos." #: ../../library/stat.rst:367 msgid "The directory is opaque when viewed through a union stack." -msgstr "" +msgstr "O diretório é opaco quando visualizado por meio de uma pilha de união." #: ../../library/stat.rst:371 ../../library/stat.rst:395 msgid "The file may not be renamed or deleted." -msgstr "" +msgstr "O arquivo não pode ser renomeado ou excluído." #: ../../library/stat.rst:375 msgid "The file is stored compressed (macOS 10.6+)." -msgstr "" +msgstr "O arquivo é armazenado compactado (macOS 10.6+)." #: ../../library/stat.rst:379 msgid "The file should not be displayed in a GUI (macOS 10.5+)." -msgstr "" +msgstr "O arquivo não deve ser exibido em uma GUI (macOS 10.5+)." #: ../../library/stat.rst:383 msgid "The file may be archived." -msgstr "" +msgstr "O arquivo não pode ser arquivado." #: ../../library/stat.rst:399 msgid "The file is a snapshot file." -msgstr "" +msgstr "O arquivo é um arquivo de captura (snapshot)." #: ../../library/stat.rst:401 msgid "" "See the \\*BSD or macOS systems man page :manpage:`chflags(2)` for more " "information." msgstr "" +"Consulte a página man dos sistemas \\*BSD ou macOS :manpage:`chflags(2)` " +"para obter mais informações." #: ../../library/stat.rst:403 msgid "" "On Windows, the following file attribute constants are available for use " -"when testing bits in the ``st_file_attributes`` member returned by :func:`os." -"stat`. See the `Windows API documentation `_ for more detail on the meaning of " -"these constants." +"when testing bits in the ``st_file_attributes`` member returned " +"by :func:`os.stat`. See the `Windows API documentation `_ for more " +"detail on the meaning of these constants." msgstr "" +"No Windows, as seguintes constantes de atributos de arquivo estão " +"disponíveis para uso ao testar bits no membro ``st_file_attributes`` " +"retornado por :func:`os.stat`. Consulte a `documentação da API do Windows " +"`_ " +"para obter mais detalhes sobre o significado dessas constantes." #: ../../library/stat.rst:429 msgid "" @@ -420,3 +491,6 @@ msgid "" "``st_reparse_tag`` member returned by :func:`os.lstat`. These are well-known " "constants, but are not an exhaustive list." msgstr "" +"No Windows, as seguintes constantes estão disponíveis para comparação com o " +"membro ``st_reparse_tag`` retornado por :func:`os.lstat`. Estas são " +"constantes bem conhecidas, mas não são uma lista exaustiva." diff --git a/library/statistics.po b/library/statistics.po index 0658ef58a..92368504e 100644 --- a/library/statistics.po +++ b/library/statistics.po @@ -1,33 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Felipe Rodrigues , 2021 -# Leticia Portella , 2021 -# Adorilson Bezerra , 2021 -# Melissa Weber Mendonça , 2021 -# i17obot , 2021 -# Gabriel Aparecido Fonseca , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -55,24 +47,29 @@ msgid "" "statisticians such as Minitab, SAS and Matlab. It is aimed at the level of " "graphing and scientific calculators." msgstr "" +"O módulo não tem a intenção de competir com bibliotecas de terceiros como " +"`NumPy `_, `SciPy `_, ou pacotes " +"proprietários de estatísticas com todos os recursos destinados a " +"estatísticos profissionais como Minitab, SAS e Matlab. Ela destina-se ao " +"nível de calculadoras gráficas e científicas." #: ../../library/statistics.rst:30 msgid "" -"Unless explicitly noted, these functions support :class:`int`, :class:" -"`float`, :class:`~decimal.Decimal` and :class:`~fractions.Fraction`. " -"Behaviour with other types (whether in the numeric tower or not) is " -"currently unsupported. Collections with a mix of types are also undefined " -"and implementation-dependent. If your input data consists of mixed types, " -"you may be able to use :func:`map` to ensure a consistent result, for " -"example: ``map(float, input_data)``." -msgstr "" -"A menos que seja explicitamente indicado, essas funções suportam :class:" -"`int`, :class:`float`, :class:`~decimal.Decimal` e :class:`~fractions." -"Fraction`. O uso com outros tipos (sejam numéricos ou não) não é atualmente " -"suportado. Coleções com uma mistura de tipos também são indefinidas e " -"dependentes da implementação. Se os seus dados de entrada consistem de tipos " -"misturados, você pode usar :func:`map` para garantir um resultado " -"consistente, por exemplo ``map(float, dado_entrada)``." +"Unless explicitly noted, these functions " +"support :class:`int`, :class:`float`, :class:`~decimal.Decimal` " +"and :class:`~fractions.Fraction`. Behaviour with other types (whether in the " +"numeric tower or not) is currently unsupported. Collections with a mix of " +"types are also undefined and implementation-dependent. If your input data " +"consists of mixed types, you may be able to use :func:`map` to ensure a " +"consistent result, for example: ``map(float, input_data)``." +msgstr "" +"A menos que seja explicitamente indicado, essas funções " +"suportam :class:`int`, :class:`float`, :class:`~decimal.Decimal` " +"e :class:`~fractions.Fraction`. O uso com outros tipos (sejam numéricos ou " +"não) não é atualmente suportado. Coleções com uma mistura de tipos também " +"são indefinidas e dependentes da implementação. Se os seus dados de entrada " +"consistem de tipos misturados, você pode usar :func:`map` para garantir um " +"resultado consistente, por exemplo ``map(float, dado_entrada)``." #: ../../library/statistics.rst:38 msgid "" @@ -84,6 +81,13 @@ msgid "" "``quantiles()``. The ``NaN`` values should be stripped before calling these " "functions::" msgstr "" +"Alguns conjuntos de dados usam valores ``NaN`` (não um número) para " +"representar dados ausentes. Como os NaNs possuem semântica de comparação " +"incomum, eles causam comportamentos surpreendentes ou indefinidos nas " +"funções estatísticas que classificam dados ou contam ocorrências. As funções " +"afetadas são ``median()``, ``median_low()``, ``median_high()``, " +"``median_grouped()``, ``mode()``, ``multimode()`` e ``quantiles()``. Os " +"valores ``NaN`` devem ser removidos antes de chamar estas funções::" #: ../../library/statistics.rst:68 msgid "Averages and measures of central location" @@ -110,7 +114,7 @@ msgstr ":func:`fmean`" #: ../../library/statistics.rst:75 msgid "Fast, floating point arithmetic mean, with optional weighting." -msgstr "" +msgstr "Média aritmética rápida de ponto flutuante, com ponderação opcional." #: ../../library/statistics.rst:76 msgid ":func:`geometric_mean`" @@ -174,7 +178,7 @@ msgstr ":func:`multimode`" #: ../../library/statistics.rst:83 msgid "List of modes (most common values) of discrete or nominal data." -msgstr "" +msgstr "Lista de modas (valores mais comuns) de dados discretos ou nominais." #: ../../library/statistics.rst:84 msgid ":func:`quantiles`" @@ -230,24 +234,25 @@ msgstr "Variância amostral dos dados." #: ../../library/statistics.rst:101 msgid "Statistics for relations between two inputs" -msgstr "" +msgstr "Estatísticas para relações entre duas entradas" #: ../../library/statistics.rst:103 msgid "" "These functions calculate statistics regarding relations between two inputs." msgstr "" +"Essas funções calculam estatísticas sobre relações entre duas entradas." #: ../../library/statistics.rst:106 msgid ":func:`covariance`" -msgstr "" +msgstr ":func:`covariance`" #: ../../library/statistics.rst:106 msgid "Sample covariance for two variables." -msgstr "" +msgstr "Covariância amostral para duas variáveis." #: ../../library/statistics.rst:107 msgid ":func:`correlation`" -msgstr "" +msgstr ":func:`correlation`" #: ../../library/statistics.rst:107 msgid "Pearson's correlation coefficient for two variables." @@ -255,11 +260,11 @@ msgstr "" #: ../../library/statistics.rst:108 msgid ":func:`linear_regression`" -msgstr "" +msgstr ":func:`linear_regression`" #: ../../library/statistics.rst:108 msgid "Slope and intercept for simple linear regression." -msgstr "" +msgstr "Inclinação e intersecção para regressão linear simples." #: ../../library/statistics.rst:113 msgid "Function details" @@ -309,6 +314,11 @@ msgid "" "a more robust, although less efficient, measure of `central tendency " "`_, see :func:`median`." msgstr "" +"A média é fortemente afetada por `outliers `_ (valor atípico) e não é necessariamente um exemplo típico dos " +"pontos de dados. Para uma medida mais robusta, embora menos eficiente, de " +"`tendência central `_, " +"veja :func:`median`." #: ../../library/statistics.rst:154 msgid "" @@ -332,14 +342,14 @@ msgstr "" #: ../../library/statistics.rst:165 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 " +"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 "" "Essa função executa mais rapidamente do que a função :func:`mean` e sempre " "retorna um :class:`float`. *data* pode ser uma sequência ou iterável. Se o " -"conjunto de dados de entrada estiver vazio, levanta uma exceção :exc:" -"`StatisticsError`." +"conjunto de dados de entrada estiver vazio, levanta uma " +"exceção :exc:`StatisticsError`." #: ../../library/statistics.rst:174 msgid "" @@ -347,16 +357,21 @@ msgid "" "for a course by weighting quizzes at 20%, homework at 20%, a midterm exam at " "30%, and a final exam at 30%:" msgstr "" +"A ponderação opcional é suportada. Por exemplo, um professor atribui uma " +"nota para um curso ponderando questionários em 20%, trabalhos de casa em " +"20%, um exame de meio de período em 30% e um exame final em 30%:" #: ../../library/statistics.rst:185 msgid "" -"If *weights* is supplied, it must be the same length as the *data* or a :exc:" -"`ValueError` will be raised." +"If *weights* is supplied, it must be the same length as the *data* or " +"a :exc:`ValueError` will be raised." msgstr "" +"Se *weights* for fornecido, deve ter o mesmo comprimento que *data* ou " +"uma :exc:`ValueError` será levantada." #: ../../library/statistics.rst:190 ../../library/statistics.rst:258 msgid "Added support for *weights*." -msgstr "" +msgstr "Adicionado suporte a *weights*." #: ../../library/statistics.rst:196 msgid "Convert *data* to floats and compute the geometric mean." @@ -404,6 +419,10 @@ 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 "" +"A média harmônica é a recíproca da média arimética calculada pela " +"função :func:`mean` dos recíprocos dos dados. Por exemplo, a média harmônica " +"de três valores *a*, *b* e *c* será equivalente a ``3/(1/a + 1/b + 1/c)``. " +"Se um dos valores for zero, o resultado também será zero." #: ../../library/statistics.rst:228 msgid "" @@ -411,6 +430,9 @@ msgid "" "the data. It is often appropriate when averaging ratios or rates, for " "example speeds." msgstr "" +"A média harmônica é um tipo de média, uma medida de localização central dos " +"dados. Ela é geralmente apropriada quando se está calculando a média de " +"razões e taxas; por exemplo, velocidades." #: ../../library/statistics.rst:232 msgid "" @@ -426,12 +448,17 @@ msgid "" "to 60 km/hr for the remaining 30 km of the journey. What is the average " "speed?" msgstr "" +"Suponha que um carro viaja a 40 km/h por 5 km e, quando o trânsito melhora, " +"acelera para 60 km/h pelos 30 km restantes da viagem. Qual é a velocidade " +"média?" #: ../../library/statistics.rst:249 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` é levantada se *data* for vazio, qualquer elemento " +"for menor que zero, ou se a soma ponderada não for positiva." #: ../../library/statistics.rst:252 msgid "" @@ -492,8 +519,9 @@ msgstr "" #: ../../library/statistics.rst:293 msgid "" -"Return the low median of numeric data. If *data* is empty, :exc:" -"`StatisticsError` is raised. *data* can be a sequence or iterable." +"Return the low median of numeric data. If *data* is " +"empty, :exc:`StatisticsError` is raised. *data* can be a sequence or " +"iterable." msgstr "" "Retorna a mediana inferior de dados numéricos. Se *data* for vazio, a " "exceção :exc:`StatisticsError` é levantada. *data* pode ser uma sequência ou " @@ -553,8 +581,9 @@ msgid "" "is raised. *data* can be a sequence or iterable." msgstr "" "Retorna a mediana de dados contínuos agrupados, calculada como o 50º " -"percentil, usando interpolação. Se *data* for vazio, a exceção :exc:" -"`StatisticsError` é levantada. *data* pode ser uma sequência ou um iterável." +"percentil, usando interpolação. Se *data* for vazio, a " +"exceção :exc:`StatisticsError` é levantada. *data* pode ser uma sequência ou " +"um iterável." #: ../../library/statistics.rst:342 msgid "" @@ -605,15 +634,15 @@ msgstr "" #: ../../library/statistics.rst:376 msgid "" -"The `SSMEDIAN `_ function in the Gnome Gnumeric " +"The `SSMEDIAN `_ function in the Gnome Gnumeric " "spreadsheet, including `this discussion `_." msgstr "" -"A função `SSMEDIAN `_ na planilha Gnome Gnumeric, incluindo " -"`essa discussão `_." +"A função `SSMEDIAN `_ na planilha Gnome Gnumeric, " +"incluindo `essa discussão `_." #: ../../library/statistics.rst:384 msgid "" @@ -642,7 +671,7 @@ 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`` assume que os dados são discretos e retorna um único valor. Esse é " +"``mode`` presume que os dados são discretos e retorna um único valor. Esse é " "o tratamento padrão do conceito de moda normalmente ensinado nas escolas:" #: ../../library/statistics.rst:401 @@ -846,9 +875,9 @@ msgstr "" #: ../../library/statistics.rst:571 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." +"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 "" "Caso você de alguma forma saiba a verdadeira média populacional μ você " "deveria passar para a função :func:`pvariance` como o parâmetro *mu* para " @@ -871,8 +900,8 @@ msgid "" msgstr "" "Defina *n* como 4 para quartis (o padrão). Defina *n* como 10 para decis. " "Defina *n* como 100 para percentis, o que fornece os 99 pontos de corte que " -"separam *data* em 100 grupos de tamanhos iguais. Levanta a exceção :exc:" -"`StatisticsError` se *n* não for pelo menos 1." +"separam *data* em 100 grupos de tamanhos iguais. Levanta a " +"exceção :exc:`StatisticsError` se *n* não for pelo menos 1." #: ../../library/statistics.rst:585 msgid "" @@ -945,12 +974,16 @@ msgid "" "Return the sample covariance of two inputs *x* and *y*. Covariance is a " "measure of the joint variability of two inputs." msgstr "" +"Retorna a covariância da amostra de duas entradas *x* e *y*. Covariância é " +"uma medida da variabilidade conjunta de duas entradas." #: ../../library/statistics.rst:632 msgid "" -"Both inputs must be of the same length (no less than two), otherwise :exc:" -"`StatisticsError` is raised." +"Both inputs must be of the same length (no less than two), " +"otherwise :exc:`StatisticsError` is raised." msgstr "" +"Ambas as entradas devem ter o mesmo comprimento (não menos que dois), caso " +"contrário, :exc:`StatisticsError` será levantada." #: ../../library/statistics.rst:653 msgid "" @@ -967,19 +1000,27 @@ 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 "" +"Ambas as entradas devem ter o mesmo comprimento (não menos que dois) e não " +"precisam ser constantes, caso contrário, :exc:`StatisticsError` será " +"levantada." #: ../../library/statistics.rst:678 msgid "" -"Return the slope and intercept of `simple linear regression `_ parameters estimated using " +"Return the slope and intercept of `simple linear regression `_ parameters estimated using " "ordinary least squares. Simple linear regression describes the relationship " "between an independent variable *x* and a dependent variable *y* in terms of " "this linear function:" msgstr "" +"Retorna a inclinação e a interceptação dos parâmetros de `regressão linear " +"simples `_ estimados " +"usando mínimos quadrados ordinários. A regressão linear simples descreve a " +"relação entre uma variável independente *x* e uma variável dependente *y* em " +"termos desta função linear:" #: ../../library/statistics.rst:684 msgid "*y = slope \\* x + intercept + noise*" -msgstr "" +msgstr "*y = slope \\* x + intercept + noise*" #: ../../library/statistics.rst:686 msgid "" @@ -988,13 +1029,20 @@ msgid "" "explained by the linear regression (it is equal to the difference between " "predicted and actual values of the dependent variable)." msgstr "" +"onde ``slope`` e ``intercept`` são os parâmetros de regressão que são " +"estimados, e ``noise`` representa a variabilidade dos dados que não foi " +"explicada pela regressão linear (é igual à diferença entre os valores " +"previstos e reais da variável dependente)." #: ../../library/statistics.rst:692 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." +"independent variable *x* cannot be constant; otherwise " +"a :exc:`StatisticsError` is raised." msgstr "" +"Ambas as entradas devem ter o mesmo comprimento (não menos que dois) e a " +"variável independente *x* não pode ser constante; caso contrário, " +"um :exc:`StatisticsError` será levantada." #: ../../library/statistics.rst:696 msgid "" @@ -1003,6 +1051,10 @@ msgid "" "cumulative number of Monty Python films that would have been produced by " "2019 assuming that they had kept the pace." msgstr "" +"Por exemplo, podemos usar as `datas de lançamento dos filmes do Monty Python " +"`_ para prever o número " +"cumulativo de filmes do Monty Python que teriam sido produzidos até 2019, " +"supondo que eles tivessem mantido o ritmo." #: ../../library/statistics.rst:710 msgid "" @@ -1011,14 +1063,18 @@ msgid "" "line passing through the origin. Since the *intercept* will always be 0.0, " "the underlying linear function simplifies to:" msgstr "" +"Se *proportional* for verdadeiro, a variável independente *x* e a variável " +"dependente *y* são assumidas como diretamente proporcionais. Os dados são " +"ajustados a uma linha que passa pela origem. Como o *intercept* sempre será " +"0,0, a função linear subjacente simplifica para:" #: ../../library/statistics.rst:716 msgid "*y = slope \\* x + noise*" -msgstr "" +msgstr "*y = slope \\* x + noise*" #: ../../library/statistics.rst:720 msgid "Added support for *proportional*." -msgstr "" +msgstr "Adicionado suporte a *proportional*." #: ../../library/statistics.rst:724 msgid "Exceptions" @@ -1040,23 +1096,23 @@ msgstr "Objetos :class:`NormalDist`" #: ../../library/statistics.rst:736 msgid "" ":class:`NormalDist` is a tool for creating and manipulating normal " -"distributions of a `random variable `_. It is a class that treats the mean and " -"standard deviation of data measurements as a single entity." +"distributions of a `random variable `_. It is a class that treats the mean and standard " +"deviation of data measurements as a single entity." msgstr "" ":class:`NormalDist` é uma ferramenta para criar e manipular distribuições " "normais de uma `variável aleatória `_. É uma classe que trata a média e o desvio " -"padrão das medições de dados como uma entidade única." +"Variável_aleatória>`_. É uma classe que trata a média e o desvio padrão das " +"medições de dados como uma entidade única." #: ../../library/statistics.rst:742 msgid "" -"Normal distributions arise from the `Central Limit Theorem `_ and have a wide range of " +"Normal distributions arise from the `Central Limit Theorem `_ and have a wide range of " "applications in statistics." msgstr "" -"Distribuições normais surgem do `Teorema Central do Limite `_ e possuem uma gama de " +"Distribuições normais surgem do `Teorema Central do Limite `_ e possuem uma gama de " "aplicações em estatísticas." #: ../../library/statistics.rst:748 @@ -1066,9 +1122,8 @@ msgid "" "`standard deviation `_." msgstr "" "Retorna um novo objeto *NormalDist* onde *mu* representa a `média aritmética " -"`_ e *sigma* " -"representa o `desvio padrão `_." +"`_ e *sigma* representa o " +"`desvio padrão `_." #: ../../library/statistics.rst:753 msgid "If *sigma* is negative, raises :exc:`StatisticsError`." @@ -1079,8 +1134,8 @@ msgid "" "A read-only property for the `arithmetic mean `_ of a normal distribution." msgstr "" -"Uma propriedade somente leitura para a `média aritmética `_ de uma distribuição normal." +"Uma propriedade somente leitura para a `média aritmética `_ de uma distribuição normal." #: ../../library/statistics.rst:763 msgid "" @@ -1088,7 +1143,7 @@ msgid "" "Median>`_ of a normal distribution." msgstr "" "Uma propriedade somente leitura para a `mediana `_ de uma distribuição normal." +"wiki/Mediana_(estatística)>`_ de uma distribuição normal." #: ../../library/statistics.rst:769 msgid "" @@ -1096,15 +1151,15 @@ msgid "" "Mode_(statistics)>`_ of a normal distribution." msgstr "" "Uma propriedade somente leitura para a `moda `_ de uma distribuição normal." +"Moda_(estatística)>`_ de uma distribuição normal." #: ../../library/statistics.rst:775 msgid "" "A read-only property for the `standard deviation `_ of a normal distribution." msgstr "" -"Uma propriedade somente leitura para o `desvio padrão `_ de uma distribuição normal." +"Uma propriedade somente leitura para o `desvio padrão `_ de uma distribuição normal." #: ../../library/statistics.rst:781 msgid "" @@ -1113,8 +1168,8 @@ msgid "" "deviation." msgstr "" "Uma propriedade somente leitura para a `variância `_ de uma distribuição normal. Igual ao quadrado do " -"desvio padrão." +"wiki/Variáncia>`_ de uma distribuição normal. Igual ao quadrado do desvio " +"padrão." #: ../../library/statistics.rst:787 msgid "" @@ -1163,11 +1218,11 @@ msgid "" "random variable *X* will be near the given value *x*. Mathematically, it is " "the limit of the ratio ``P(x <= X < x+dx) / dx`` as *dx* approaches zero." msgstr "" -"Usando uma `função densidade de probabilidade (fdp) `_, calcula a probabilidade relativa que " -"uma variável aleatória *X* estará perto do valor dado *x*. Matematicamente, " -"é o limite da razão ``P(x <= X < x+dx) / dx`` quando *dx* se aproxima de " -"zero." +"Usando uma `função densidade de probabilidade (fdp) `_, calcula a probabilidade relativa " +"que uma variável aleatória *X* estará perto do valor dado *x*. " +"Matematicamente, é o limite da razão ``P(x <= X < x+dx) / dx`` quando *dx* " +"se aproxima de zero." #: ../../library/statistics.rst:813 msgid "" @@ -1176,6 +1231,10 @@ msgid "" "\"density\"). Since the likelihood is relative to other points, its value " "can be greater than ``1.0``." msgstr "" +"A probabilidade relativa é calculada como a probabilidade de uma amostra " +"ocorrer em um intervalo estreito dividida pela largura do intervalo (daí a " +"palavra \"densidade\"). Como a probabilidade é relativa a outros pontos, seu " +"valor pode ser maior que ``1.0``." #: ../../library/statistics.rst:820 msgid "" @@ -1185,18 +1244,23 @@ msgid "" "is written ``P(X <= x)``." msgstr "" "Usando uma `função distribuição acumulada (fda) `_, calcula a " -"probabilidade de que uma variável aleatória *X* seja menor ou igual a *x*. " -"Matematicamente, é representada da seguinte maneira: ``P(X <= x)``." +"wiki/Função_distribuição_acumulada>`_, calcula a probabilidade de que uma " +"variável aleatória *X* seja menor ou igual a *x*. Matematicamente, é " +"representada da seguinte maneira: ``P(X <= x)``." #: ../../library/statistics.rst:827 msgid "" "Compute the inverse cumulative distribution function, also known as the " "`quantile function `_ or " -"the `percent-point `_ " +"the `percent-point `_ " "function. Mathematically, it is written ``x : P(X <= x) = p``." msgstr "" +"Calcula a função distribuição acumulada inversa, também conhecida como " +"`função quantil `_ ou o `função ponto " +"percentual `_. Matematicamente, é representada como ``x : P(X <= x) = p``." #: ../../library/statistics.rst:833 msgid "" @@ -1272,8 +1336,8 @@ msgid "" "Since normal distributions arise from additive effects of independent " "variables, it is possible to `add and subtract two independent normally " "distributed random variables `_ represented as instances of :" -"class:`NormalDist`. For example:" +"Sum_of_normally_distributed_random_variables>`_ represented as instances " +"of :class:`NormalDist`. For example:" msgstr "" "Uma vez que distribuições normais surgem de efeitos aditivos de variáveis " "independentes, é possível `adicionar e subtrair duas variáveis aleatórias " @@ -1298,8 +1362,8 @@ msgid "" "determine the percentage of students with test scores between 1100 and 1200, " "after rounding to the nearest whole number:" msgstr "" -"Por exemplo, considerando os `dados históricos para exames SAT `_ mostrando que as " +"Por exemplo, considerando os `dados históricos para exames SAT `_ mostrando que as " "pontuações são normalmente distribuídas com média de 1060 e desvio padrão de " "195, determine o percentual de alunos com pontuações de teste entre 1100 e " "1200, após arredondar para o número inteiro mais próximo:" @@ -1329,6 +1393,10 @@ msgid "" "`_ when the sample " "size is large and when the probability of a successful trial is near 50%." msgstr "" +"As distribuições normais podem ser usadas para aproximar `distribuições " +"binomiais `_ quando " +"o tamanho da amostra é grande e quando a probabilidade de um teste bem-" +"sucedido é próximo a 50%." #: ../../library/statistics.rst:945 msgid "" @@ -1353,11 +1421,16 @@ msgstr "" #: ../../library/statistics.rst:978 msgid "" -"Wikipedia has a `nice example of a Naive Bayesian Classifier `_. The " +"Wikipedia has a `nice example of a Naive Bayesian Classifier `_. The " "challenge is to predict a person's gender from measurements of normally " "distributed features including height, weight, and foot size." msgstr "" +"A Wikipedia tem um `bom exemplo de um Classificador Bayesiano Ingênuo " +"`_. O desafio é prever o sexo " +"de uma pessoa a partir de medidas de características normalmente " +"distribuídas, incluindo altura, peso e tamanho do pé." #: ../../library/statistics.rst:983 msgid "" @@ -1384,8 +1457,8 @@ msgid "" "the prior times the product of likelihoods for the feature measurements " "given the gender:" msgstr "" -"Começando com uma `probabilidade a priori de 50% `_ de ser homem ou mulher, calculamos a " +"Começando com uma `probabilidade a priori `_ de 50% de ser homem ou mulher, calculamos a " "posteriori como a priori vezes o produto das probabilidade para as " "características de medidas dado o gênero:" diff --git a/library/stdtypes.po b/library/stdtypes.po index 3a24ae781..e7fadaaa4 100644 --- a/library/stdtypes.po +++ b/library/stdtypes.po @@ -1,40 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# i17obot , 2021 -# Welington Carlos , 2021 -# Tiago Henrique , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 -# Danilo Lima , 2021 -# Italo Penaforte , 2022 -# Julia Rizza , 2023 -# Vinicius Gubiani Ferreira , 2023 -# Claudio Rogerio Carvalho Filho , 2023 -# Adorilson Bezerra , 2023 -# Marco Rougeth , 2023 -# felipe caridade , 2023 -# Ricardo Cappellano , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -78,10 +63,10 @@ msgid "" msgstr "" "Algumas operações são suportadas por vários tipos de objetos; em particular, " "praticamente todos os objetos podem ser comparados em termos de igualdade, " -"testados quanto ao valor de verdade e convertidos em uma string (com a " +"testados quanto ao valor verdade e convertidos em uma string (com a " "função :func:`repr` ou a função ligeiramente diferente :func:`str`). A " -"última função é implicitamente usada quando um objeto é escrito pela função :" -"func:`print`." +"última função é implicitamente usada quando um objeto é escrito pela " +"função :func:`print`." #: ../../library/stdtypes.rst:32 msgid "Truth Value Testing" @@ -89,30 +74,30 @@ msgstr "Teste do valor verdade" #: ../../library/stdtypes.rst:41 msgid "" -"Any object can be tested for truth value, for use in an :keyword:`if` or :" -"keyword:`while` condition or as operand of the Boolean operations below." +"Any object can be tested for truth value, for use in an :keyword:`if` " +"or :keyword:`while` condition or as operand of the Boolean operations below." msgstr "" -"Qualquer objeto pode ser testado quanto ao valor de verdade, para uso em uma " +"Qualquer objeto pode ser testado quanto ao valor verdade, para uso em uma " "condição :keyword:`if` ou :keyword:`while` ou como operando das operações " "booleanas abaixo." #: ../../library/stdtypes.rst:46 msgid "" -"By default, an object is considered true unless its class defines either a :" -"meth:`__bool__` method that returns ``False`` or a :meth:`__len__` method " -"that returns zero, when called with the object. [1]_ Here are most of the " -"built-in objects considered false:" +"By default, an object is considered true unless its class defines either " +"a :meth:`~object.__bool__` method that returns ``False`` or " +"a :meth:`~object.__len__` method that returns zero, when called with the " +"object. [1]_ Here are most of the built-in objects considered false:" msgstr "" "Por padrão, um objeto é considerado verdadeiro, a menos que sua a classe " -"defina um método :meth:`__bool__` que retorne ``False`` ou um método :meth:" -"`__len__` que retorna zero, quando chamado com o objeto. [1]_ Aqui estão a " -"maioria dos objetos embutidos considerados falsos:" +"defina um método :meth:`~object.__bool__` que retorne ``False`` ou um " +"método :meth:`~object.__len__` que retorna zero, quando chamado com o " +"objeto. [1]_ Aqui estão a maioria dos objetos embutidos considerados falsos:" -#: ../../library/stdtypes.rst:55 -msgid "constants defined to be false: ``None`` and ``False``." -msgstr "constantes definidas para serem falsas: ``None`` e ``False``." +#: ../../library/stdtypes.rst:56 +msgid "constants defined to be false: ``None`` and ``False``" +msgstr "constantes definidas para serem falsas: ``None`` e ``False``" -#: ../../library/stdtypes.rst:57 +#: ../../library/stdtypes.rst:58 msgid "" "zero of any numeric type: ``0``, ``0.0``, ``0j``, ``Decimal(0)``, " "``Fraction(0, 1)``" @@ -120,7 +105,7 @@ msgstr "" "zero de qualquer tipo numérico: ``0``, ``0.0``, ``0j``, ``Decimal(0)``, " "``Fraction(0, 1)``" -#: ../../library/stdtypes.rst:60 +#: ../../library/stdtypes.rst:61 msgid "" "empty sequences and collections: ``''``, ``()``, ``[]``, ``{}``, ``set()``, " "``range(0)``" @@ -128,7 +113,7 @@ msgstr "" "sequências e coleções vazias: ``''``, ``()``, ``[]``, ``{}``, ``set()``, " "``range(0)``" -#: ../../library/stdtypes.rst:69 +#: ../../library/stdtypes.rst:70 msgid "" "Operations and built-in functions that have a Boolean result always return " "``0`` or ``False`` for false and ``1`` or ``True`` for true, unless " @@ -140,90 +125,89 @@ msgstr "" "indicações ao contrário. (Exceção importante: as operações Booleanas ``or`` " "e ``and`` sempre retornam um de seus operandos.)" -#: ../../library/stdtypes.rst:78 +#: ../../library/stdtypes.rst:79 msgid "Boolean Operations --- :keyword:`!and`, :keyword:`!or`, :keyword:`!not`" msgstr "" "Operações booleanas --- :keyword:`!and`, :keyword:`!or`, :keyword:`!not`" -#: ../../library/stdtypes.rst:82 +#: ../../library/stdtypes.rst:83 msgid "These are the Boolean operations, ordered by ascending priority:" msgstr "Esses são as operações booleanas, ordenados por prioridade ascendente:" -#: ../../library/stdtypes.rst:85 ../../library/stdtypes.rst:143 -#: ../../library/stdtypes.rst:275 ../../library/stdtypes.rst:363 -#: ../../library/stdtypes.rst:413 ../../library/stdtypes.rst:922 -#: ../../library/stdtypes.rst:1127 +#: ../../library/stdtypes.rst:86 ../../library/stdtypes.rst:144 +#: ../../library/stdtypes.rst:276 ../../library/stdtypes.rst:366 +#: ../../library/stdtypes.rst:416 ../../library/stdtypes.rst:925 +#: ../../library/stdtypes.rst:1130 msgid "Operation" msgstr "Operação" -#: ../../library/stdtypes.rst:85 ../../library/stdtypes.rst:275 -#: ../../library/stdtypes.rst:363 ../../library/stdtypes.rst:413 -#: ../../library/stdtypes.rst:922 ../../library/stdtypes.rst:1127 +#: ../../library/stdtypes.rst:86 ../../library/stdtypes.rst:276 +#: ../../library/stdtypes.rst:366 ../../library/stdtypes.rst:416 +#: ../../library/stdtypes.rst:925 ../../library/stdtypes.rst:1130 msgid "Result" msgstr "Resultado" -#: ../../library/stdtypes.rst:85 ../../library/stdtypes.rst:275 -#: ../../library/stdtypes.rst:413 ../../library/stdtypes.rst:922 -#: ../../library/stdtypes.rst:1127 ../../library/stdtypes.rst:2372 -#: ../../library/stdtypes.rst:3590 +#: ../../library/stdtypes.rst:86 ../../library/stdtypes.rst:276 +#: ../../library/stdtypes.rst:416 ../../library/stdtypes.rst:925 +#: ../../library/stdtypes.rst:1130 ../../library/stdtypes.rst:2374 +#: ../../library/stdtypes.rst:3592 msgid "Notes" msgstr "Notas" -#: ../../library/stdtypes.rst:87 +#: ../../library/stdtypes.rst:88 msgid "``x or y``" msgstr "``x or y``" -#: ../../library/stdtypes.rst:87 +#: ../../library/stdtypes.rst:88 msgid "if *x* is true, then *x*, else *y*" msgstr "se *x* é true, então *x*, do contrário *y*" -#: ../../library/stdtypes.rst:87 ../../library/stdtypes.rst:285 -#: ../../library/stdtypes.rst:924 ../../library/stdtypes.rst:927 -#: ../../library/stdtypes.rst:1138 ../../library/stdtypes.rst:2378 -#: ../../library/stdtypes.rst:3596 +#: ../../library/stdtypes.rst:88 ../../library/stdtypes.rst:927 +#: ../../library/stdtypes.rst:930 ../../library/stdtypes.rst:1141 +#: ../../library/stdtypes.rst:2380 ../../library/stdtypes.rst:3598 msgid "\\(1)" msgstr "\\(1)" -#: ../../library/stdtypes.rst:90 +#: ../../library/stdtypes.rst:91 msgid "``x and y``" msgstr "``x and y``" -#: ../../library/stdtypes.rst:90 +#: ../../library/stdtypes.rst:91 msgid "if *x* is false, then *x*, else *y*" msgstr "se *x* é falso, então *x*, do contrário *y*" -#: ../../library/stdtypes.rst:90 ../../library/stdtypes.rst:288 -#: ../../library/stdtypes.rst:308 ../../library/stdtypes.rst:1166 -#: ../../library/stdtypes.rst:2382 ../../library/stdtypes.rst:2384 -#: ../../library/stdtypes.rst:3600 ../../library/stdtypes.rst:3602 +#: ../../library/stdtypes.rst:91 ../../library/stdtypes.rst:289 +#: ../../library/stdtypes.rst:309 ../../library/stdtypes.rst:1169 +#: ../../library/stdtypes.rst:2384 ../../library/stdtypes.rst:2386 +#: ../../library/stdtypes.rst:3602 ../../library/stdtypes.rst:3604 msgid "\\(2)" msgstr "\\(2)" -#: ../../library/stdtypes.rst:93 +#: ../../library/stdtypes.rst:94 msgid "``not x``" msgstr "``not x``" -#: ../../library/stdtypes.rst:93 +#: ../../library/stdtypes.rst:94 msgid "if *x* is false, then ``True``, else ``False``" msgstr "se *x* é falso, então ``True``, caso contrário ``False``" -#: ../../library/stdtypes.rst:93 ../../library/stdtypes.rst:936 -#: ../../library/stdtypes.rst:1169 ../../library/stdtypes.rst:2386 -#: ../../library/stdtypes.rst:2388 ../../library/stdtypes.rst:2390 -#: ../../library/stdtypes.rst:2392 ../../library/stdtypes.rst:3604 -#: ../../library/stdtypes.rst:3606 ../../library/stdtypes.rst:3608 -#: ../../library/stdtypes.rst:3610 +#: ../../library/stdtypes.rst:94 ../../library/stdtypes.rst:939 +#: ../../library/stdtypes.rst:1172 ../../library/stdtypes.rst:2388 +#: ../../library/stdtypes.rst:2390 ../../library/stdtypes.rst:2392 +#: ../../library/stdtypes.rst:2394 ../../library/stdtypes.rst:3606 +#: ../../library/stdtypes.rst:3608 ../../library/stdtypes.rst:3610 +#: ../../library/stdtypes.rst:3612 msgid "\\(3)" msgstr "\\(3)" -#: ../../library/stdtypes.rst:102 ../../library/stdtypes.rst:319 -#: ../../library/stdtypes.rst:431 ../../library/stdtypes.rst:973 -#: ../../library/stdtypes.rst:1177 ../../library/stdtypes.rst:2418 -#: ../../library/stdtypes.rst:3640 +#: ../../library/stdtypes.rst:103 ../../library/stdtypes.rst:320 +#: ../../library/stdtypes.rst:434 ../../library/stdtypes.rst:976 +#: ../../library/stdtypes.rst:1180 ../../library/stdtypes.rst:2420 +#: ../../library/stdtypes.rst:3642 msgid "Notes:" msgstr "Notas:" -#: ../../library/stdtypes.rst:105 +#: ../../library/stdtypes.rst:106 msgid "" "This is a short-circuit operator, so it only evaluates the second argument " "if the first one is false." @@ -231,7 +215,7 @@ msgstr "" "Esse é um operador de curto-circuito, por isso só avalia o segundo argumento " "se o primeiro é falso." -#: ../../library/stdtypes.rst:109 +#: ../../library/stdtypes.rst:110 msgid "" "This is a short-circuit operator, so it only evaluates the second argument " "if the first one is true." @@ -239,7 +223,7 @@ msgstr "" "Este é um operador de curto-circuito, por isso só avalia o segundo argumento " "se o primeiro é verdadeiro." -#: ../../library/stdtypes.rst:113 +#: ../../library/stdtypes.rst:114 msgid "" "``not`` has a lower priority than non-Boolean operators, so ``not a == b`` " "is interpreted as ``not (a == b)``, and ``a == not b`` is a syntax error." @@ -248,11 +232,11 @@ msgstr "" "``not a == b`` é interpretado como ``not (a == b)`` e ``a == not b`` é um " "erro de sintaxe." -#: ../../library/stdtypes.rst:120 +#: ../../library/stdtypes.rst:121 msgid "Comparisons" msgstr "Comparações" -#: ../../library/stdtypes.rst:134 +#: ../../library/stdtypes.rst:135 msgid "" "There are eight comparison operations in Python. They all have the same " "priority (which is higher than that of the Boolean operations). Comparisons " @@ -267,81 +251,81 @@ msgstr "" "(porém em ambos os casos *z* não é avaliado de todo quando ``x < y`` é " "sabido ser falso)." -#: ../../library/stdtypes.rst:140 +#: ../../library/stdtypes.rst:141 msgid "This table summarizes the comparison operations:" msgstr "Esta tabela resume as operações de comparação:" -#: ../../library/stdtypes.rst:143 ../../library/stdtypes.rst:2349 -#: ../../library/stdtypes.rst:2372 ../../library/stdtypes.rst:3567 -#: ../../library/stdtypes.rst:3590 +#: ../../library/stdtypes.rst:144 ../../library/stdtypes.rst:2351 +#: ../../library/stdtypes.rst:2374 ../../library/stdtypes.rst:3569 +#: ../../library/stdtypes.rst:3592 msgid "Meaning" msgstr "Significado" -#: ../../library/stdtypes.rst:145 +#: ../../library/stdtypes.rst:146 msgid "``<``" msgstr "``<``" -#: ../../library/stdtypes.rst:145 +#: ../../library/stdtypes.rst:146 msgid "strictly less than" msgstr "estritamente menor que" -#: ../../library/stdtypes.rst:147 +#: ../../library/stdtypes.rst:148 msgid "``<=``" msgstr "``<=``" -#: ../../library/stdtypes.rst:147 +#: ../../library/stdtypes.rst:148 msgid "less than or equal" msgstr "menor que ou igual" -#: ../../library/stdtypes.rst:149 +#: ../../library/stdtypes.rst:150 msgid "``>``" msgstr "``>``" -#: ../../library/stdtypes.rst:149 +#: ../../library/stdtypes.rst:150 msgid "strictly greater than" msgstr "estritamente maior que" -#: ../../library/stdtypes.rst:151 +#: ../../library/stdtypes.rst:152 msgid "``>=``" msgstr "``>=``" -#: ../../library/stdtypes.rst:151 +#: ../../library/stdtypes.rst:152 msgid "greater than or equal" msgstr "maior que ou igual" -#: ../../library/stdtypes.rst:153 +#: ../../library/stdtypes.rst:154 msgid "``==``" msgstr "``==``" -#: ../../library/stdtypes.rst:153 +#: ../../library/stdtypes.rst:154 msgid "equal" msgstr "igual" -#: ../../library/stdtypes.rst:155 +#: ../../library/stdtypes.rst:156 msgid "``!=``" msgstr "``!=``" -#: ../../library/stdtypes.rst:155 +#: ../../library/stdtypes.rst:156 msgid "not equal" msgstr "não é igual" -#: ../../library/stdtypes.rst:157 +#: ../../library/stdtypes.rst:158 msgid "``is``" msgstr "``is``" -#: ../../library/stdtypes.rst:157 +#: ../../library/stdtypes.rst:158 msgid "object identity" msgstr "identidade do objeto" -#: ../../library/stdtypes.rst:159 +#: ../../library/stdtypes.rst:160 msgid "``is not``" msgstr "``is not``" -#: ../../library/stdtypes.rst:159 +#: ../../library/stdtypes.rst:160 msgid "negated object identity" msgstr "identidade de objeto negada" -#: ../../library/stdtypes.rst:166 +#: ../../library/stdtypes.rst:167 msgid "" "Objects of different types, except different numeric types, never compare " "equal. The ``==`` operator is always defined but for some object types (for " @@ -357,7 +341,7 @@ msgstr "" "sentido; por exemplo, eles levantam uma exceção :exc:`TypeError` quando um " "dos argumentos é um número complexo." -#: ../../library/stdtypes.rst:180 +#: ../../library/stdtypes.rst:181 msgid "" "Non-identical instances of a class normally compare as non-equal unless the " "class defines the :meth:`~object.__eq__` method." @@ -365,23 +349,25 @@ msgstr "" "Instâncias não idênticas de uma classe normalmente comparam-se como " "desiguais ao menos que a classe defina o método :meth:`~object.__eq__`." -#: ../../library/stdtypes.rst:183 +#: ../../library/stdtypes.rst:184 msgid "" "Instances of a class cannot be ordered with respect to other instances of " "the same class, or other types of object, unless the class defines enough of " -"the methods :meth:`~object.__lt__`, :meth:`~object.__le__`, :meth:`~object." -"__gt__`, and :meth:`~object.__ge__` (in general, :meth:`~object.__lt__` and :" -"meth:`~object.__eq__` are sufficient, if you want the conventional meanings " -"of the comparison operators)." +"the " +"methods :meth:`~object.__lt__`, :meth:`~object.__le__`, :meth:`~object.__gt__`, " +"and :meth:`~object.__ge__` (in general, :meth:`~object.__lt__` " +"and :meth:`~object.__eq__` are sufficient, if you want the conventional " +"meanings of the comparison operators)." msgstr "" "Instâncias de uma classe não podem ser ordenadas com respeito a outras " "instâncias da mesma classe, ou outros tipos de objeto, ao menos que a classe " -"defina o suficiente dos métodos :meth:`~object.__lt__`, :meth:`~object." -"__le__`, :meth:`~object.__gt__` e :meth:`~object.__ge__` (no geral, :meth:" -"`~object.__lt__` e :meth:`~object.__eq__` são suficientes, se você quiser o " -"significado convencional dos operadores de comparação)." +"defina o suficiente dos " +"métodos :meth:`~object.__lt__`, :meth:`~object.__le__`, :meth:`~object.__gt__` " +"e :meth:`~object.__ge__` (no geral, :meth:`~object.__lt__` " +"e :meth:`~object.__eq__` são suficientes, se você quiser o significado " +"convencional dos operadores de comparação)." -#: ../../library/stdtypes.rst:190 +#: ../../library/stdtypes.rst:191 msgid "" "The behavior of the :keyword:`is` and :keyword:`is not` operators cannot be " "customized; also they can be applied to any two objects and never raise an " @@ -391,33 +377,34 @@ msgstr "" "ser personalizado; além disso eles podem ser aplicados a quaisquer dois " "objetos e nunca levantam uma exceção." -#: ../../library/stdtypes.rst:198 +#: ../../library/stdtypes.rst:199 msgid "" -"Two more operations with the same syntactic priority, :keyword:`in` and :" -"keyword:`not in`, are supported by types that are :term:`iterable` or " -"implement the :meth:`__contains__` method." +"Two more operations with the same syntactic priority, :keyword:`in` " +"and :keyword:`not in`, are supported by types that are :term:`iterable` or " +"implement the :meth:`~object.__contains__` method." msgstr "" -"Mais duas operações com a mesma prioridade sintática, :keyword:`in` e :" -"keyword:`not in`, são suportadas por tipos que são :term:`iteráveis " -"` ou implementam o método :meth:`__contains__`." +"Mais duas operações com a mesma prioridade sintática, :keyword:`in` " +"e :keyword:`not in`, são suportadas por tipos que são :term:`iteráveis " +"` ou implementam o método :meth:`~object.__contains__`." -#: ../../library/stdtypes.rst:205 +#: ../../library/stdtypes.rst:206 msgid "Numeric Types --- :class:`int`, :class:`float`, :class:`complex`" msgstr "Tipos numéricos --- :class:`int`, :class:`float`, :class:`complex`" -#: ../../library/stdtypes.rst:215 +#: ../../library/stdtypes.rst:216 msgid "" "There are three distinct numeric types: :dfn:`integers`, :dfn:`floating " "point numbers`, and :dfn:`complex numbers`. In addition, Booleans are a " "subtype of integers. Integers have unlimited precision. Floating point " "numbers are usually implemented using :c:expr:`double` in C; information " "about the precision and internal representation of floating point numbers " -"for the machine on which your program is running is available in :data:`sys." -"float_info`. Complex numbers have a real and imaginary part, which are each " -"a floating point number. To extract these parts from a complex number *z*, " -"use ``z.real`` and ``z.imag``. (The standard library includes the additional " -"numeric types :mod:`fractions.Fraction`, for rationals, and :mod:`decimal." -"Decimal`, for floating-point numbers with user-definable precision.)" +"for the machine on which your program is running is available " +"in :data:`sys.float_info`. Complex numbers have a real and imaginary part, " +"which are each a floating point number. To extract these parts from a " +"complex number *z*, use ``z.real`` and ``z.imag``. (The standard library " +"includes the additional numeric types :mod:`fractions.Fraction`, for " +"rationals, and :mod:`decimal.Decimal`, for floating-point numbers with user-" +"definable precision.)" msgstr "" "Existem três tipos numéricos distintos: :dfn:`inteiros`, :dfn:`números de " "ponto flutuante` e :dfn:`números complexos`. Além disso, os booleanos são um " @@ -432,7 +419,7 @@ msgstr "" "racionais, e :mod:`decimal.Decimal`, para números de ponto flutuante com " "precisão definida pelo usuário.)" -#: ../../library/stdtypes.rst:237 +#: ../../library/stdtypes.rst:238 msgid "" "Numbers are created by numeric literals or as the result of built-in " "functions and operators. Unadorned integer literals (including hex, octal " @@ -451,7 +438,7 @@ msgstr "" "com a qual você pode adicionar a um integral ou flutuante para receber um " "número complexo com partes reais e imaginárias." -#: ../../library/stdtypes.rst:262 +#: ../../library/stdtypes.rst:263 msgid "" "Python fully supports mixed arithmetic: when a binary arithmetic operator " "has operands of different numeric types, the operand with the \"narrower\" " @@ -468,7 +455,7 @@ msgstr "" "tipos se comporta como se os valores exatos desses números estivessem sendo " "comparados. [2]_" -#: ../../library/stdtypes.rst:268 +#: ../../library/stdtypes.rst:269 msgid "" "The constructors :func:`int`, :func:`float`, and :func:`complex` can be used " "to produce numbers of a specific type." @@ -476,7 +463,7 @@ msgstr "" "Os construtores :func:`int`, :func:`float`, e :func:`complex` podem ser " "usados para produzir números de um tipo específico." -#: ../../library/stdtypes.rst:271 +#: ../../library/stdtypes.rst:272 msgid "" "All numeric types (except complex) support the following operations (for " "priorities of the operations, see :ref:`operator-summary`):" @@ -484,123 +471,127 @@ msgstr "" "Todos os tipos numéricos (exceto complexos) suportam as seguintes operações " "(para prioridades das operações, consulte :ref:`operator-summary`):" -#: ../../library/stdtypes.rst:275 +#: ../../library/stdtypes.rst:276 msgid "Full documentation" msgstr "Documentação completa" -#: ../../library/stdtypes.rst:277 +#: ../../library/stdtypes.rst:278 msgid "``x + y``" msgstr "``x + y``" -#: ../../library/stdtypes.rst:277 +#: ../../library/stdtypes.rst:278 msgid "sum of *x* and *y*" msgstr "soma de *x* e *y*" -#: ../../library/stdtypes.rst:279 +#: ../../library/stdtypes.rst:280 msgid "``x - y``" msgstr "``x - y``" -#: ../../library/stdtypes.rst:279 +#: ../../library/stdtypes.rst:280 msgid "difference of *x* and *y*" msgstr "diferença de *x* e *y*" -#: ../../library/stdtypes.rst:281 +#: ../../library/stdtypes.rst:282 msgid "``x * y``" msgstr "``x * y``" -#: ../../library/stdtypes.rst:281 +#: ../../library/stdtypes.rst:282 msgid "product of *x* and *y*" msgstr "produto de *x* e *y*" -#: ../../library/stdtypes.rst:283 +#: ../../library/stdtypes.rst:284 msgid "``x / y``" msgstr "``x / y``" -#: ../../library/stdtypes.rst:283 +#: ../../library/stdtypes.rst:284 msgid "quotient of *x* and *y*" msgstr "quociente de *x* e *y*" -#: ../../library/stdtypes.rst:285 +#: ../../library/stdtypes.rst:286 msgid "``x // y``" msgstr "``x // y``" -#: ../../library/stdtypes.rst:285 +#: ../../library/stdtypes.rst:286 msgid "floored quotient of *x* and *y*" msgstr "piso do quociente de *x* e *y*" -#: ../../library/stdtypes.rst:288 +#: ../../library/stdtypes.rst:286 +msgid "\\(1)\\(2)" +msgstr "\\(1)\\(2)" + +#: ../../library/stdtypes.rst:289 msgid "``x % y``" msgstr "``x % y``" -#: ../../library/stdtypes.rst:288 +#: ../../library/stdtypes.rst:289 msgid "remainder of ``x / y``" msgstr "restante de ``x / y``" -#: ../../library/stdtypes.rst:290 +#: ../../library/stdtypes.rst:291 msgid "``-x``" msgstr "``-x``" -#: ../../library/stdtypes.rst:290 +#: ../../library/stdtypes.rst:291 msgid "*x* negated" msgstr "*x* negado" -#: ../../library/stdtypes.rst:292 +#: ../../library/stdtypes.rst:293 msgid "``+x``" msgstr "``+x``" -#: ../../library/stdtypes.rst:292 +#: ../../library/stdtypes.rst:293 msgid "*x* unchanged" msgstr "*x* inalterado" -#: ../../library/stdtypes.rst:294 +#: ../../library/stdtypes.rst:295 msgid "``abs(x)``" msgstr "``abs(x)``" -#: ../../library/stdtypes.rst:294 +#: ../../library/stdtypes.rst:295 msgid "absolute value or magnitude of *x*" msgstr "valor absoluto ou magnitude de *x*" -#: ../../library/stdtypes.rst:294 +#: ../../library/stdtypes.rst:295 msgid ":func:`abs`" msgstr ":func:`abs`" -#: ../../library/stdtypes.rst:297 +#: ../../library/stdtypes.rst:298 msgid "``int(x)``" msgstr "``int(x)``" -#: ../../library/stdtypes.rst:297 +#: ../../library/stdtypes.rst:298 msgid "*x* converted to integer" msgstr "*x* convertido em inteiro" -#: ../../library/stdtypes.rst:297 +#: ../../library/stdtypes.rst:298 msgid "\\(3)\\(6)" msgstr "\\(3)\\(6)" -#: ../../library/stdtypes.rst:297 +#: ../../library/stdtypes.rst:298 msgid ":func:`int`" msgstr ":func:`int`" -#: ../../library/stdtypes.rst:299 +#: ../../library/stdtypes.rst:300 msgid "``float(x)``" msgstr "``float(x)``" -#: ../../library/stdtypes.rst:299 +#: ../../library/stdtypes.rst:300 msgid "*x* converted to floating point" msgstr "*x* convertido em ponto flutuante" -#: ../../library/stdtypes.rst:299 +#: ../../library/stdtypes.rst:300 msgid "\\(4)\\(6)" msgstr "\\(4)\\(6)" -#: ../../library/stdtypes.rst:299 +#: ../../library/stdtypes.rst:300 msgid ":func:`float`" msgstr ":func:`float`" -#: ../../library/stdtypes.rst:301 +#: ../../library/stdtypes.rst:302 msgid "``complex(re, im)``" msgstr "``complex(re, im)``" -#: ../../library/stdtypes.rst:301 +#: ../../library/stdtypes.rst:302 msgid "" "a complex number with real part *re*, imaginary part *im*. *im* defaults to " "zero." @@ -608,72 +599,77 @@ msgstr "" "um número complexo com parte real *re*, parte imaginária *im*. *im* tem como " "padrão zero." -#: ../../library/stdtypes.rst:301 ../../library/stdtypes.rst:1159 -#: ../../library/stdtypes.rst:2380 ../../library/stdtypes.rst:3627 +#: ../../library/stdtypes.rst:302 ../../library/stdtypes.rst:1162 +#: ../../library/stdtypes.rst:2382 ../../library/stdtypes.rst:3629 msgid "\\(6)" msgstr "\\(6)" -#: ../../library/stdtypes.rst:301 +#: ../../library/stdtypes.rst:302 msgid ":func:`complex`" msgstr ":func:`complex`" -#: ../../library/stdtypes.rst:305 +#: ../../library/stdtypes.rst:306 msgid "``c.conjugate()``" msgstr "``c.conjugate()``" -#: ../../library/stdtypes.rst:305 +#: ../../library/stdtypes.rst:306 msgid "conjugate of the complex number *c*" msgstr "conjugado do número complexo *c*" -#: ../../library/stdtypes.rst:308 +#: ../../library/stdtypes.rst:309 msgid "``divmod(x, y)``" msgstr "``divmod(x, y)``" -#: ../../library/stdtypes.rst:308 +#: ../../library/stdtypes.rst:309 msgid "the pair ``(x // y, x % y)``" msgstr "o par ``(x // y, x % y)``" -#: ../../library/stdtypes.rst:308 +#: ../../library/stdtypes.rst:309 msgid ":func:`divmod`" msgstr ":func:`divmod`" -#: ../../library/stdtypes.rst:310 +#: ../../library/stdtypes.rst:311 msgid "``pow(x, y)``" msgstr "``pow(x, y)``" -#: ../../library/stdtypes.rst:310 ../../library/stdtypes.rst:312 +#: ../../library/stdtypes.rst:311 ../../library/stdtypes.rst:313 msgid "*x* to the power *y*" msgstr "*x* elevado a *y*" -#: ../../library/stdtypes.rst:310 ../../library/stdtypes.rst:312 -#: ../../library/stdtypes.rst:1148 ../../library/stdtypes.rst:1151 -#: ../../library/stdtypes.rst:2405 ../../library/stdtypes.rst:2408 -#: ../../library/stdtypes.rst:2411 ../../library/stdtypes.rst:3623 -#: ../../library/stdtypes.rst:3630 +#: ../../library/stdtypes.rst:311 ../../library/stdtypes.rst:313 +#: ../../library/stdtypes.rst:1151 ../../library/stdtypes.rst:1154 +#: ../../library/stdtypes.rst:2407 ../../library/stdtypes.rst:2410 +#: ../../library/stdtypes.rst:2413 ../../library/stdtypes.rst:3625 +#: ../../library/stdtypes.rst:3632 msgid "\\(5)" msgstr "\\(5)" -#: ../../library/stdtypes.rst:310 +#: ../../library/stdtypes.rst:311 msgid ":func:`pow`" msgstr ":func:`pow`" -#: ../../library/stdtypes.rst:312 +#: ../../library/stdtypes.rst:313 msgid "``x ** y``" msgstr "``x ** y``" -#: ../../library/stdtypes.rst:322 +#: ../../library/stdtypes.rst:323 msgid "" -"Also referred to as integer division. The resultant value is a whole " -"integer, though the result's type is not necessarily int. The result is " +"Also referred to as integer division. For operands of type :class:`int`, " +"the result has type :class:`int`. For operands of type :class:`float`, the " +"result has type :class:`float`. In general, the result is a whole integer, " +"though the result's type is not necessarily :class:`int`. The result is " "always rounded towards minus infinity: ``1//2`` is ``0``, ``(-1)//2`` is " "``-1``, ``1//(-2)`` is ``-1``, and ``(-1)//(-2)`` is ``0``." msgstr "" -"Também referido como uma divisão inteira. O valor resultante é um integral " -"inteiro, embora o tipo oriundo do resultado não seja necessariamente int. O " -"resultado é sempre arredondado para menos infinito: ``1//2`` é ``0``, " -"``(-1)//2`` é ``-1``, ``1//(-2)`` é ``-1`` e ``(-1)//(-2)`` é ``0``." +"Também referido como uma divisão inteira. Para operandos do " +"tipo :class:`int`, o resultado tem o tipo :class:`int`; Para operandos do " +"tipo :class:`float`, o resultado tem o tipo :class:`float`. Em geral o " +"resultado é inteiro como todo, apesar do tipo do resultado não " +"necessariamente ser :class:`int`. O resultado é sempre arredondado para " +"menos infinito: ``1//2`` é ``0``, ``(-1)//2`` é ``-1``, ``1//(-2)`` é ``-1`` " +"e ``(-1)//(-2)`` é ``0``." -#: ../../library/stdtypes.rst:328 +#: ../../library/stdtypes.rst:331 msgid "" "Not for complex numbers. Instead convert to floats using :func:`abs` if " "appropriate." @@ -681,7 +677,7 @@ msgstr "" "Não para números complexos. Ao invés disso, converte para pontos flutuantes " "usando :func:`abs` se for apropriado." -#: ../../library/stdtypes.rst:339 +#: ../../library/stdtypes.rst:342 msgid "" "Conversion from :class:`float` to :class:`int` truncates, discarding the " "fractional part. See functions :func:`math.floor` and :func:`math.ceil` for " @@ -691,7 +687,7 @@ msgstr "" "fracionária. Veja as funções :func:`math.floor` e :func:`math.ceil` para " "conversões alternativas." -#: ../../library/stdtypes.rst:344 +#: ../../library/stdtypes.rst:347 msgid "" "float also accepts the strings \"nan\" and \"inf\" with an optional prefix " "\"+\" or \"-\" for Not a Number (NaN) and positive or negative infinity." @@ -700,7 +696,7 @@ msgstr "" "opcional \"+\" ou \"-\" a Não é um Número (NaN) e infinidade positiva ou " "negativa." -#: ../../library/stdtypes.rst:348 +#: ../../library/stdtypes.rst:351 msgid "" "Python defines ``pow(0, 0)`` and ``0 ** 0`` to be ``1``, as is common for " "programming languages." @@ -708,7 +704,7 @@ msgstr "" "Python define ``pow(0, 0)`` e ``0 ** 0`` sendo ``1``, como é comum para " "linguagens de programação." -#: ../../library/stdtypes.rst:352 +#: ../../library/stdtypes.rst:355 msgid "" "The numeric literals accepted include the digits ``0`` to ``9`` or any " "Unicode equivalent (code points with the ``Nd`` property)." @@ -716,16 +712,14 @@ msgstr "" "Os literais numéricos aceitos incluem os dígitos de ``0`` a ``9`` ou " "qualquer equivalente Unicode (pontos de código com a propriedade ``Nd``)." -#: ../../library/stdtypes.rst:355 +#: ../../library/stdtypes.rst:358 msgid "" -"See https://www.unicode.org/Public/14.0.0/ucd/extracted/DerivedNumericType." -"txt for a complete list of code points with the ``Nd`` property." +"See https://www.unicode.org/Public/14.0.0/ucd/extracted/" +"DerivedNumericType.txt for a complete list of code points with the ``Nd`` " +"property." msgstr "" -"Veja https://www.unicode.org/Public/14.0.0/ucd/extracted/DerivedNumericType." -"txt para obter uma lista completa de pontos de código com a propriedade " -"``Nd``." -#: ../../library/stdtypes.rst:359 +#: ../../library/stdtypes.rst:362 msgid "" "All :class:`numbers.Real` types (:class:`int` and :class:`float`) also " "include the following operations:" @@ -733,19 +727,19 @@ msgstr "" "Todos os tipos :class:`numbers.Real` (:class:`int` e :class:`float`) também " "incluem as seguintes operações." -#: ../../library/stdtypes.rst:365 +#: ../../library/stdtypes.rst:368 msgid ":func:`math.trunc(\\ x) `" msgstr ":func:`math.trunc(\\ x) `" -#: ../../library/stdtypes.rst:365 +#: ../../library/stdtypes.rst:368 msgid "*x* truncated to :class:`~numbers.Integral`" msgstr "*x* truncado para :class:`~numbers.Integral`" -#: ../../library/stdtypes.rst:368 +#: ../../library/stdtypes.rst:371 msgid ":func:`round(x[, n]) `" msgstr ":func:`round(x[, n]) `" -#: ../../library/stdtypes.rst:368 +#: ../../library/stdtypes.rst:371 msgid "" "*x* rounded to *n* digits, rounding half to even. If *n* is omitted, it " "defaults to 0." @@ -753,35 +747,35 @@ msgstr "" "*x* arredondado para *n* dígitos, arredondando metade para igualar. Se *n* é " "omitido, ele toma o padrão de 0." -#: ../../library/stdtypes.rst:372 +#: ../../library/stdtypes.rst:375 msgid ":func:`math.floor(\\ x) `" msgstr ":func:`math.floor(\\ x) `" -#: ../../library/stdtypes.rst:372 +#: ../../library/stdtypes.rst:375 msgid "the greatest :class:`~numbers.Integral` <= *x*" msgstr "o maior :class:`~numbers.Integral` <= *x*" -#: ../../library/stdtypes.rst:375 +#: ../../library/stdtypes.rst:378 msgid ":func:`math.ceil(x) `" msgstr ":func:`math.ceil(x) `" -#: ../../library/stdtypes.rst:375 +#: ../../library/stdtypes.rst:378 msgid "the least :class:`~numbers.Integral` >= *x*" msgstr "pelo menos :class:`~numbers.Integral` >= *x*" -#: ../../library/stdtypes.rst:379 +#: ../../library/stdtypes.rst:382 msgid "" "For additional numeric operations see the :mod:`math` and :mod:`cmath` " "modules." msgstr "" -"Para operações numéricas adicionais, consulte os módulos :mod:`math` e :mod:" -"`cmath`." +"Para operações numéricas adicionais, consulte os módulos :mod:`math` " +"e :mod:`cmath`." -#: ../../library/stdtypes.rst:388 +#: ../../library/stdtypes.rst:391 msgid "Bitwise Operations on Integer Types" msgstr "Operações de bits em tipos inteiros" -#: ../../library/stdtypes.rst:402 +#: ../../library/stdtypes.rst:405 msgid "" "Bitwise operations only make sense for integers. The result of bitwise " "operations is calculated as though carried out in two's complement with an " @@ -791,113 +785,113 @@ msgstr "" "operações bit a bit é calculado como se fosse realizado no complemento de " "dois com um número infinito de bits de sinal." -#: ../../library/stdtypes.rst:406 +#: ../../library/stdtypes.rst:409 msgid "" "The priorities of the binary bitwise operations are all lower than the " "numeric operations and higher than the comparisons; the unary operation " "``~`` has the same priority as the other unary numeric operations (``+`` and " "``-``)." msgstr "" -"As prioridades das operações vit a bit binárias são todas menores do que as " +"As prioridades das operações bit a bit binárias são todas menores do que as " "operações numéricas e maiores que as comparações; a operação unária ``~`` " "tem a mesma prioridade que as outras operações numéricas unárias (``+`` e ``-" "``)." -#: ../../library/stdtypes.rst:410 +#: ../../library/stdtypes.rst:413 msgid "This table lists the bitwise operations sorted in ascending priority:" msgstr "" "Esta tabela lista as operações de bits classificadas em prioridade " "ascendente:" -#: ../../library/stdtypes.rst:415 +#: ../../library/stdtypes.rst:418 msgid "``x | y``" msgstr "``x | y``" -#: ../../library/stdtypes.rst:415 +#: ../../library/stdtypes.rst:418 msgid "bitwise :dfn:`or` of *x* and *y*" msgstr ":dfn:`ou` bit a bit de *x* e *y*" -#: ../../library/stdtypes.rst:415 ../../library/stdtypes.rst:418 -#: ../../library/stdtypes.rst:421 ../../library/stdtypes.rst:1172 -#: ../../library/stdtypes.rst:2394 ../../library/stdtypes.rst:2398 -#: ../../library/stdtypes.rst:3612 ../../library/stdtypes.rst:3616 +#: ../../library/stdtypes.rst:418 ../../library/stdtypes.rst:421 +#: ../../library/stdtypes.rst:424 ../../library/stdtypes.rst:1175 +#: ../../library/stdtypes.rst:2396 ../../library/stdtypes.rst:2400 +#: ../../library/stdtypes.rst:3614 ../../library/stdtypes.rst:3618 msgid "\\(4)" msgstr "\\(4)" -#: ../../library/stdtypes.rst:418 +#: ../../library/stdtypes.rst:421 msgid "``x ^ y``" msgstr "``x ^ y``" -#: ../../library/stdtypes.rst:418 +#: ../../library/stdtypes.rst:421 msgid "bitwise :dfn:`exclusive or` of *x* and *y*" msgstr ":dfn:`ou exclusivo` bit a bit de *x* e *y*" -#: ../../library/stdtypes.rst:421 +#: ../../library/stdtypes.rst:424 msgid "``x & y``" msgstr "``x & y``" -#: ../../library/stdtypes.rst:421 +#: ../../library/stdtypes.rst:424 msgid "bitwise :dfn:`and` of *x* and *y*" msgstr ":dfn:`e` bit a bit de *x* e *y*" -#: ../../library/stdtypes.rst:424 +#: ../../library/stdtypes.rst:427 msgid "``x << n``" msgstr "``x << n``" -#: ../../library/stdtypes.rst:424 +#: ../../library/stdtypes.rst:427 msgid "*x* shifted left by *n* bits" msgstr "*x* deslocado para a esquerda por *n* bits" -#: ../../library/stdtypes.rst:424 +#: ../../library/stdtypes.rst:427 msgid "(1)(2)" msgstr "(1)(2)" -#: ../../library/stdtypes.rst:426 +#: ../../library/stdtypes.rst:429 msgid "``x >> n``" msgstr "``x >> n``" -#: ../../library/stdtypes.rst:426 +#: ../../library/stdtypes.rst:429 msgid "*x* shifted right by *n* bits" msgstr "*x* deslocado para a direita por *n* bits" -#: ../../library/stdtypes.rst:426 +#: ../../library/stdtypes.rst:429 msgid "(1)(3)" msgstr "(1)(3)" -#: ../../library/stdtypes.rst:428 +#: ../../library/stdtypes.rst:431 msgid "``~x``" msgstr "``~x``" -#: ../../library/stdtypes.rst:428 +#: ../../library/stdtypes.rst:431 msgid "the bits of *x* inverted" msgstr "os bits de *x* invertidos" -#: ../../library/stdtypes.rst:434 +#: ../../library/stdtypes.rst:437 msgid "" "Negative shift counts are illegal and cause a :exc:`ValueError` to be raised." msgstr "" -"Contagens de deslocamento negativo são ilegais e levantam uma :exc:" -"`ValueError` ." +"Contagens de deslocamento negativo são ilegais e levantam " +"uma :exc:`ValueError` ." -#: ../../library/stdtypes.rst:437 +#: ../../library/stdtypes.rst:440 msgid "" "A left shift by *n* bits is equivalent to multiplication by ``pow(2, n)``." msgstr "" "Um deslocamento à esquerda por *n* bits é equivalente à multiplicação por " "``pow(2, n)``." -#: ../../library/stdtypes.rst:440 +#: ../../library/stdtypes.rst:443 msgid "" "A right shift by *n* bits is equivalent to floor division by ``pow(2, n)``." msgstr "" "Um deslocamento à direita por *n* bits é equivalente à divisão pelo piso por " "``pow(2, n)``." -#: ../../library/stdtypes.rst:443 +#: ../../library/stdtypes.rst:446 msgid "" "Performing these calculations with at least one extra sign extension bit in " -"a finite two's complement representation (a working bit-width of ``1 + max(x." -"bit_length(), y.bit_length())`` or more) is sufficient to get the same " +"a finite two's complement representation (a working bit-width of ``1 + " +"max(x.bit_length(), y.bit_length())`` or more) is sufficient to get the same " "result as if there were an infinite number of sign bits." msgstr "" "Executar esses cálculos com pelo menos um bit extra de extensão de sinal na " @@ -905,19 +899,20 @@ msgstr "" "``1 + max(x.bit_length(), y.bit_length())`` ou mais) é suficiente para obter " "o mesmo resultado como se houvesse um número infinito de bits de sinal." -#: ../../library/stdtypes.rst:450 +#: ../../library/stdtypes.rst:453 msgid "Additional Methods on Integer Types" msgstr "Métodos adicionais em tipos inteiros" -#: ../../library/stdtypes.rst:452 +#: ../../library/stdtypes.rst:455 msgid "" "The int type implements the :class:`numbers.Integral` :term:`abstract base " "class`. In addition, it provides a few more methods:" msgstr "" -"O tipo int implementa a :term:`classe base abstrata` :class:`numbers." -"Integral`. Além disso, ele provê mais alguns métodos:" +"O tipo int implementa a :term:`classe base " +"abstrata` :class:`numbers.Integral`. Além disso, ele provê mais alguns " +"métodos:" -#: ../../library/stdtypes.rst:457 +#: ../../library/stdtypes.rst:460 msgid "" "Return the number of bits necessary to represent an integer in binary, " "excluding the sign and leading zeros::" @@ -925,13 +920,13 @@ msgstr "" "Retorna o número de bits necessários para representar um inteiro em binário, " "excluindo o sinal e entrelinha zeros::" -#: ../../library/stdtypes.rst:466 +#: ../../library/stdtypes.rst:469 msgid "" "More precisely, if ``x`` is nonzero, then ``x.bit_length()`` is the unique " "positive integer ``k`` such that ``2**(k-1) <= abs(x) < 2**k``. " "Equivalently, when ``abs(x)`` is small enough to have a correctly rounded " -"logarithm, then ``k = 1 + int(log(abs(x), 2))``. If ``x`` is zero, then ``x." -"bit_length()`` returns ``0``." +"logarithm, then ``k = 1 + int(log(abs(x), 2))``. If ``x`` is zero, then " +"``x.bit_length()`` returns ``0``." msgstr "" "Mais precisamente, se ``x`` for diferente de zero, então ``x.bit_length()`` " "é o único positivo inteiro ``k`` tal que ``2**(k-1) <= abs(x) < 2**k``. " @@ -939,12 +934,12 @@ msgstr "" "logaritmo corretamente arrendondado, então ``k = 1 + int(log(abs(x), 2))``. " "Se ``x`` é zero, então ``x.bit_length()`` retorna ``0``." -#: ../../library/stdtypes.rst:472 ../../library/stdtypes.rst:495 -#: ../../library/stdtypes.rst:540 ../../library/stdtypes.rst:584 +#: ../../library/stdtypes.rst:475 ../../library/stdtypes.rst:498 +#: ../../library/stdtypes.rst:543 ../../library/stdtypes.rst:587 msgid "Equivalent to::" msgstr "Equivalente a::" -#: ../../library/stdtypes.rst:483 +#: ../../library/stdtypes.rst:486 msgid "" "Return the number of ones in the binary representation of the absolute value " "of the integer. This is also known as the population count. Example::" @@ -952,21 +947,21 @@ msgstr "" "Retorna o número de unidades na representação binária do valor absoluto do " "inteiro. Isso também é conhecido como contagem da população. Exemplo::" -#: ../../library/stdtypes.rst:504 +#: ../../library/stdtypes.rst:507 msgid "Return an array of bytes representing an integer." msgstr "Retorna um vetor de bytes representando um inteiro." -#: ../../library/stdtypes.rst:516 +#: ../../library/stdtypes.rst:519 msgid "" -"The integer is represented using *length* bytes, and defaults to 1. An :exc:" -"`OverflowError` is raised if the integer is not representable with the given " -"number of bytes." +"The integer is represented using *length* bytes, and defaults to 1. " +"An :exc:`OverflowError` is raised if the integer is not representable with " +"the given number of bytes." msgstr "" -"O inteiro é representado usando *length* bytes, e o padrão é 1. Uma :exc:" -"`OverflowError` é levantada se um inteiro não é representável com o dado " -"número de bytes." +"O inteiro é representado usando *length* bytes, e o padrão é 1. " +"Uma :exc:`OverflowError` é levantada se um inteiro não é representável com o " +"dado número de bytes." -#: ../../library/stdtypes.rst:520 +#: ../../library/stdtypes.rst:523 msgid "" "The *byteorder* argument determines the byte order used to represent the " "integer, and defaults to ``\"big\"``. If *byteorder* is ``\"big\"``, the " @@ -978,7 +973,7 @@ msgstr "" "mais significativo está no início do vetor de byte. Se *byteorder* é " "``\"little\"``, o byte mais significativo está no final do vetor de byte." -#: ../../library/stdtypes.rst:526 +#: ../../library/stdtypes.rst:529 msgid "" "The *signed* argument determines whether two's complement is used to " "represent the integer. If *signed* is ``False`` and a negative integer is " @@ -990,7 +985,7 @@ msgstr "" "dado, uma :exc:`OverflowError` é levantada. O valor padrão para *signed* é " "``False``." -#: ../../library/stdtypes.rst:531 +#: ../../library/stdtypes.rst:534 msgid "" "The default values can be used to conveniently turn an integer into a single " "byte object::" @@ -998,7 +993,7 @@ msgstr "" "Os valores padrão podem ser usados para transformar convenientemente um " "inteiro em um objeto de byte único::" -#: ../../library/stdtypes.rst:537 +#: ../../library/stdtypes.rst:540 msgid "" "However, when using the default arguments, don't try to convert a value " "greater than 255 or you'll get an :exc:`OverflowError`." @@ -1006,40 +1001,40 @@ msgstr "" "No entanto, ao usar os argumentos padrão, não tente converter um valor maior " "que 255 ou você obterá um :exc:`OverflowError`." -#: ../../library/stdtypes.rst:553 +#: ../../library/stdtypes.rst:556 msgid "Added default argument values for ``length`` and ``byteorder``." msgstr "" "Adicionados valores de argumento padrão para ``length`` e ``byteorder``." -#: ../../library/stdtypes.rst:558 +#: ../../library/stdtypes.rst:561 msgid "Return the integer represented by the given array of bytes." msgstr "Retorna o inteiro representado pelo vetor de bytes dado." -#: ../../library/stdtypes.rst:571 +#: ../../library/stdtypes.rst:574 msgid "" "The argument *bytes* must either be a :term:`bytes-like object` or an " "iterable producing bytes." msgstr "" -"O argumento *bytes* precisa ou ser um :term:`objeto byte ou similar ` ou um iterador produzindo bytes." -#: ../../library/stdtypes.rst:574 +#: ../../library/stdtypes.rst:577 msgid "" "The *byteorder* argument determines the byte order used to represent the " "integer, and defaults to ``\"big\"``. If *byteorder* is ``\"big\"``, the " "most significant byte is at the beginning of the byte array. If *byteorder* " "is ``\"little\"``, the most significant byte is at the end of the byte " -"array. To request the native byte order of the host system, use :data:`sys." -"byteorder` as the byte order value." +"array. To request the native byte order of the host system, " +"use :data:`sys.byteorder` as the byte order value." msgstr "" "O argumento *byteorder* determina a ordem de bytes usada para representar um " "inteiro, e o padrão é ``\"big\"``. Se o *byteorder* é ``\"big\"``, o byte " "mais significativo está no início do vetor de byte. Se *byteorder* é " "``\"little\"``, o byte mais significativo está no final do vetor de byte. " -"Para requisitar a ordem nativa de byte do sistema hospedeiro, use :data:`sys." -"byteorder` como o valor da ordem de byte." +"Para requisitar a ordem nativa de byte do sistema hospedeiro, " +"use :data:`sys.byteorder` como o valor da ordem de byte." -#: ../../library/stdtypes.rst:581 +#: ../../library/stdtypes.rst:584 msgid "" "The *signed* argument indicates whether two's complement is used to " "represent the integer." @@ -1047,11 +1042,11 @@ msgstr "" "O argumento *signed* indica quando o complemento de dois é usado para " "representar o inteiro." -#: ../../library/stdtypes.rst:601 +#: ../../library/stdtypes.rst:604 msgid "Added default argument value for ``byteorder``." -msgstr "Adicionados valor de argumento padrão para ``byteorder``." +msgstr "Adicionado valor de argumento padrão para ``byteorder``." -#: ../../library/stdtypes.rst:606 +#: ../../library/stdtypes.rst:609 msgid "" "Return a pair of integers whose ratio is exactly equal to the original " "integer and with a positive denominator. The integer ratio of integers " @@ -1063,19 +1058,20 @@ msgstr "" "números inteiros (números inteiros) é sempre o número inteiro como numerador " "e ``1`` como denominador." -#: ../../library/stdtypes.rst:614 +#: ../../library/stdtypes.rst:617 msgid "Additional Methods on Float" msgstr "Métodos adicionais em ponto flutuante" -#: ../../library/stdtypes.rst:616 +#: ../../library/stdtypes.rst:619 msgid "" "The float type implements the :class:`numbers.Real` :term:`abstract base " "class`. float also has the following additional methods." msgstr "" -"O tipo float implementa a :term:`classe base abstrata` :class:`numbers." -"Real`. float também possui os seguintes métodos adicionais." +"O tipo float implementa a :term:`classe base " +"abstrata` :class:`numbers.Real`. float também possui os seguintes métodos " +"adicionais." -#: ../../library/stdtypes.rst:621 +#: ../../library/stdtypes.rst:624 msgid "" "Return a pair of integers whose ratio is exactly equal to the original float " "and with a positive denominator. Raises :exc:`OverflowError` on infinities " @@ -1085,7 +1081,7 @@ msgstr "" "original e com um denominador positivo. Levanta um :exc:`OverflowError` em " "infinidades e um :exc:`ValueError` em NaNs." -#: ../../library/stdtypes.rst:628 +#: ../../library/stdtypes.rst:631 msgid "" "Return ``True`` if the float instance is finite with integral value, and " "``False`` otherwise::" @@ -1093,7 +1089,7 @@ msgstr "" "Retorna ``True`` se a instância do float for finita com o valor integral e " "``False``, caso contrário::" -#: ../../library/stdtypes.rst:636 +#: ../../library/stdtypes.rst:639 msgid "" "Two methods support conversion to and from hexadecimal strings. Since " "Python's floats are stored internally as binary numbers, converting a float " @@ -1110,7 +1106,7 @@ msgstr "" "números de ponto flutuante. Isso pode ser útil na depuração e no trabalho " "numérico." -#: ../../library/stdtypes.rst:647 +#: ../../library/stdtypes.rst:650 msgid "" "Return a representation of a floating-point number as a hexadecimal string. " "For finite floating-point numbers, this representation will always include a " @@ -1120,7 +1116,7 @@ msgstr "" "hexadecimal. Para números de ponto flutuante finitos, essa representação vai " "sempre incluir um ``0x`` inicial e um ``p`` final e expoente." -#: ../../library/stdtypes.rst:655 +#: ../../library/stdtypes.rst:658 msgid "" "Class method to return the float represented by a hexadecimal string *s*. " "The string *s* may have leading and trailing whitespace." @@ -1129,19 +1125,19 @@ msgstr "" "string hexadecimal *s*. A string *s* pode ter espaços em branco iniciais e " "finais." -#: ../../library/stdtypes.rst:660 +#: ../../library/stdtypes.rst:663 msgid "" -"Note that :meth:`float.hex` is an instance method, while :meth:`float." -"fromhex` is a class method." +"Note that :meth:`float.hex` is an instance method, " +"while :meth:`float.fromhex` is a class method." msgstr "" -"Note que :meth:`float.hex` é um método de instância, enquanto :meth:`float." -"fromhex` é um método de classe." +"Note que :meth:`float.hex` é um método de instância, " +"enquanto :meth:`float.fromhex` é um método de classe." -#: ../../library/stdtypes.rst:663 +#: ../../library/stdtypes.rst:666 msgid "A hexadecimal string takes the form::" msgstr "Uma string hexadecimal toma a forma::" -#: ../../library/stdtypes.rst:667 +#: ../../library/stdtypes.rst:670 msgid "" "where the optional ``sign`` may by either ``+`` or ``-``, ``integer`` and " "``fraction`` are strings of hexadecimal digits, and ``exponent`` is a " @@ -1165,7 +1161,7 @@ msgstr "" "produzidas pelo formato do caractere ``%a`` do C ou ``Double.toHexString`` " "do Java são aceitos pelo :meth:`float.fromhex`." -#: ../../library/stdtypes.rst:680 +#: ../../library/stdtypes.rst:683 msgid "" "Note that the exponent is written in decimal rather than hexadecimal, and " "that it gives the power of 2 by which to multiply the coefficient. For " @@ -1177,7 +1173,7 @@ msgstr "" "string hexadecimal ``0x3.a7p10`` representa o número de ponto flutuante ``(3 " "+ 10./16 + 7./16**2) * 2.0**10`` ou ``3740.0``::" -#: ../../library/stdtypes.rst:690 +#: ../../library/stdtypes.rst:693 msgid "" "Applying the reverse conversion to ``3740.0`` gives a different hexadecimal " "string representing the same number::" @@ -1185,23 +1181,24 @@ msgstr "" "Aplicando a conversão inversa a ``3740.0`` retorna uma string hexadecimal " "diferente representada pelo mesmo número::" -#: ../../library/stdtypes.rst:700 +#: ../../library/stdtypes.rst:703 msgid "Hashing of numeric types" msgstr "Hashing de tipos numéricos" -#: ../../library/stdtypes.rst:702 +#: ../../library/stdtypes.rst:705 msgid "" "For numbers ``x`` and ``y``, possibly of different types, it's a requirement " -"that ``hash(x) == hash(y)`` whenever ``x == y`` (see the :meth:`~object." -"__hash__` method documentation for more details). For ease of " -"implementation and efficiency across a variety of numeric types (including :" -"class:`int`, :class:`float`, :class:`decimal.Decimal` and :class:`fractions." -"Fraction`) Python's hash for numeric types is based on a single mathematical " -"function that's defined for any rational number, and hence applies to all " -"instances of :class:`int` and :class:`fractions.Fraction`, and all finite " -"instances of :class:`float` and :class:`decimal.Decimal`. Essentially, this " -"function is given by reduction modulo ``P`` for a fixed prime ``P``. The " -"value of ``P`` is made available to Python as the :attr:`modulus` attribute " +"that ``hash(x) == hash(y)`` whenever ``x == y`` (see " +"the :meth:`~object.__hash__` method documentation for more details). For " +"ease of implementation and efficiency across a variety of numeric types " +"(including :class:`int`, :class:`float`, :class:`decimal.Decimal` " +"and :class:`fractions.Fraction`) Python's hash for numeric types is based on " +"a single mathematical function that's defined for any rational number, and " +"hence applies to all instances of :class:`int` " +"and :class:`fractions.Fraction`, and all finite instances of :class:`float` " +"and :class:`decimal.Decimal`. Essentially, this function is given by " +"reduction modulo ``P`` for a fixed prime ``P``. The value of ``P`` is made " +"available to Python as the :attr:`~sys.hash_info.modulus` attribute " "of :data:`sys.hash_info`." msgstr "" "Para números ``x`` e ``y``, possivelmente de diferentes tipos, é um " @@ -1211,14 +1208,14 @@ msgstr "" "numéricos (incluindo :class:`int`, :class:`float`, :class:`decimal.Decimal` " "e :class:`fractions.Fraction`), o hash do Python para tipos numéricos é " "baseado em uma única função matemática que é definida para qualquer número " -"racional e, portanto, se aplica para todas as instâncias de :class:`int` e :" -"class:`fractions.Fraction`, e todas as instâncias finitas das classes :class:" -"`float` e :class:`decimal.Decimal`. Essencialmente, essa função é dada pelo " -"módulo de redução ``P`` para um primo fixado ``P``. O valor de ``P`` é " -"disponibilizado ao Python como um atributo :attr:`modulus` do :data:`sys." -"hash_info`." +"racional e, portanto, se aplica para todas as instâncias de :class:`int` " +"e :class:`fractions.Fraction`, e todas as instâncias finitas das " +"classes :class:`float` e :class:`decimal.Decimal`. Essencialmente, essa " +"função é dada pelo módulo de redução ``P`` para um primo fixado ``P``. O " +"valor de ``P`` é disponibilizado ao Python como um " +"atributo :attr:`~sys.hash_info.modulus` do :data:`sys.hash_info`." -#: ../../library/stdtypes.rst:717 +#: ../../library/stdtypes.rst:720 msgid "" "Currently, the prime used is ``P = 2**31 - 1`` on machines with 32-bit C " "longs and ``P = 2**61 - 1`` on machines with 64-bit C longs." @@ -1226,11 +1223,11 @@ msgstr "" "Atualmente, o primo usado é ``P = 2**31 - 1`` em máquinas com longos de 32 " "bits do C e ``P = 2**61 - 1`` em máquinas com longos de 64 bits do C." -#: ../../library/stdtypes.rst:720 +#: ../../library/stdtypes.rst:723 msgid "Here are the rules in detail:" msgstr "Aqui estão as regras em detalhe:" -#: ../../library/stdtypes.rst:722 +#: ../../library/stdtypes.rst:725 msgid "" "If ``x = m / n`` is a nonnegative rational number and ``n`` is not divisible " "by ``P``, define ``hash(x)`` as ``m * invmod(n, P) % P``, where ``invmod(n, " @@ -1240,7 +1237,7 @@ msgstr "" "por ``P``, define ``hash(x)`` como ``m * invmod(n, P) % P``, onde " "``invmod(n, P)`` retorna o inverso do módulo de ``n`` com ``P``." -#: ../../library/stdtypes.rst:726 +#: ../../library/stdtypes.rst:729 msgid "" "If ``x = m / n`` is a nonnegative rational number and ``n`` is divisible by " "``P`` (but ``m`` is not) then ``n`` has no inverse modulo ``P`` and the rule " @@ -1252,7 +1249,7 @@ msgstr "" "regra acima não se aplica; nesse caso defina ``hash(x)`` para ser o valor " "constante ``sys.hash_info.inf``." -#: ../../library/stdtypes.rst:731 +#: ../../library/stdtypes.rst:734 msgid "" "If ``x = m / n`` is a negative rational number define ``hash(x)`` as ``-" "hash(-x)``. If the resulting hash is ``-1``, replace it with ``-2``." @@ -1260,7 +1257,7 @@ msgstr "" "Se ``x = m / n`` é um número racional negativo, defina ``hash(x)`` como ``-" "hash(-x)``. Se a hash resultante é ``-1``, a substituo com ``-2``." -#: ../../library/stdtypes.rst:735 +#: ../../library/stdtypes.rst:738 msgid "" "The particular values ``sys.hash_info.inf`` and ``-sys.hash_info.inf`` are " "used as hash values for positive infinity or negative infinity " @@ -1270,13 +1267,14 @@ msgstr "" "usados como valores de hash para infinidade positiva ou infinidade negativa " "(respectivamente)." -#: ../../library/stdtypes.rst:739 +#: ../../library/stdtypes.rst:742 msgid "" "For a :class:`complex` number ``z``, the hash values of the real and " -"imaginary parts are combined by computing ``hash(z.real) + sys.hash_info." -"imag * hash(z.imag)``, reduced modulo ``2**sys.hash_info.width`` so that it " -"lies in ``range(-2**(sys.hash_info.width - 1), 2**(sys.hash_info.width - " -"1))``. Again, if the result is ``-1``, it's replaced with ``-2``." +"imaginary parts are combined by computing ``hash(z.real) + " +"sys.hash_info.imag * hash(z.imag)``, reduced modulo " +"``2**sys.hash_info.width`` so that it lies in " +"``range(-2**(sys.hash_info.width - 1), 2**(sys.hash_info.width - 1))``. " +"Again, if the result is ``-1``, it's replaced with ``-2``." msgstr "" "Para número :class:`complex` ``z``, o valor da hash do número real partes " "imaginárias são combinados calculando ``hash(z.real) + sys.hash_info.imag * " @@ -1284,21 +1282,21 @@ msgstr "" "permaneça em ``range(-2**(sys.hash_info.width - 1), 2**(sys.hash_info.width " "- 1))``. Novamente, se o resultado é ``-1``, ele é substituído por ``-2``." -#: ../../library/stdtypes.rst:747 +#: ../../library/stdtypes.rst:750 msgid "" "To clarify the above rules, here's some example Python code, equivalent to " -"the built-in hash, for computing the hash of a rational number, :class:" -"`float`, or :class:`complex`::" +"the built-in hash, for computing the hash of a rational " +"number, :class:`float`, or :class:`complex`::" msgstr "" "Para esclarecer as regras acima, aqui estão alguns exemplos de código em " "Python, equivalentes ao hash embutido, para calcular o hash de números " "racionais, :class:`float` ou :class:`complex`::" -#: ../../library/stdtypes.rst:802 +#: ../../library/stdtypes.rst:805 msgid "Iterator Types" msgstr "Tipos iteradores" -#: ../../library/stdtypes.rst:810 +#: ../../library/stdtypes.rst:813 msgid "" "Python supports a concept of iteration over containers. This is implemented " "using two distinct methods; these are used to allow user-defined classes to " @@ -1310,24 +1308,24 @@ msgstr "" "definidas pelo usuário suportem iteração. Sequências, descritas abaixo em " "mais detalhes, sempre suportam os métodos de iteração." -#: ../../library/stdtypes.rst:815 +#: ../../library/stdtypes.rst:818 msgid "" -"One method needs to be defined for container objects to provide :term:" -"`iterable` support:" +"One method needs to be defined for container objects to " +"provide :term:`iterable` support:" msgstr "" "Um método necessita ser definido para objetos contêineres afim destes " "proverem suporte a :term:`iterável`:" -#: ../../library/stdtypes.rst:822 +#: ../../library/stdtypes.rst:825 msgid "" "Return an :term:`iterator` object. The object is required to support the " "iterator protocol described below. If a container supports different types " "of iteration, additional methods can be provided to specifically request " "iterators for those iteration types. (An example of an object supporting " "multiple forms of iteration would be a tree structure which supports both " -"breadth-first and depth-first traversal.) This method corresponds to the :c:" -"member:`~PyTypeObject.tp_iter` slot of the type structure for Python objects " -"in the Python/C API." +"breadth-first and depth-first traversal.) This method corresponds to " +"the :c:member:`~PyTypeObject.tp_iter` slot of the type structure for Python " +"objects in the Python/C API." msgstr "" "Retorna um objeto :term:`iterador`. O objeto deve suportar o protocolo " "iterador descrito abaixo. Se um contêiner suporta diferentes tipos de " @@ -1335,10 +1333,11 @@ msgstr "" "especificamente iteradores para aqueles tipos de iterações. (Um exemplo de " "um objeto suportando múltiplas formas de iteração seria uma estrutura em " "árvore a qual suporta ambas travessias de travessia em largura e em " -"profundidade.) Esse método corresponde ao slot :c:member:`~PyTypeObject." -"tp_iter` da estrutura de tipos para objetos Python na API Python/C." +"profundidade.) Esse método corresponde ao " +"slot :c:member:`~PyTypeObject.tp_iter` da estrutura de tipos para objetos " +"Python na API Python/C." -#: ../../library/stdtypes.rst:831 +#: ../../library/stdtypes.rst:834 msgid "" "The iterator objects themselves are required to support the following two " "methods, which together form the :dfn:`iterator protocol`:" @@ -1346,20 +1345,21 @@ msgstr "" "Os próprios objetos iteradores são obrigados a suportarem os dois métodos a " "seguir, que juntos formam o :dfn:`protocolo iterador`:" -#: ../../library/stdtypes.rst:837 +#: ../../library/stdtypes.rst:840 msgid "" "Return the :term:`iterator` object itself. This is required to allow both " -"containers and iterators to be used with the :keyword:`for` and :keyword:" -"`in` statements. This method corresponds to the :c:member:`~PyTypeObject." -"tp_iter` slot of the type structure for Python objects in the Python/C API." +"containers and iterators to be used with the :keyword:`for` " +"and :keyword:`in` statements. This method corresponds to " +"the :c:member:`~PyTypeObject.tp_iter` slot of the type structure for Python " +"objects in the Python/C API." msgstr "" "Retorna o próprio objeto :term:`iterador` em si. Isso é necessário para " "permitir que ambos os contêineres e iteradores sejam usados com as " -"instruções :keyword:`for` e :keyword:`in`. Este método corresponde ao slot :" -"c:member:`~PyTypeObject.tp_iter` da estrutura de tipos para objetos Python " -"na API Python/C." +"instruções :keyword:`for` e :keyword:`in`. Este método corresponde ao " +"slot :c:member:`~PyTypeObject.tp_iter` da estrutura de tipos para objetos " +"Python na API Python/C." -#: ../../library/stdtypes.rst:846 +#: ../../library/stdtypes.rst:849 msgid "" "Return the next item from the :term:`iterator`. If there are no further " "items, raise the :exc:`StopIteration` exception. This method corresponds to " @@ -1367,11 +1367,11 @@ msgid "" "Python objects in the Python/C API." msgstr "" "Retorna o próximo item do :term:`iterador`. Se não houver itens além, a " -"exceção :exc:`StopIteration` é levantada. Esse método corresponde ao slot :c:" -"member:`~PyTypeObject.tp_iternext` da estrutura de tipos para objetos Python " -"na API Python/C." +"exceção :exc:`StopIteration` é levantada. Esse método corresponde ao " +"slot :c:member:`~PyTypeObject.tp_iternext` da estrutura de tipos para " +"objetos Python na API Python/C." -#: ../../library/stdtypes.rst:851 +#: ../../library/stdtypes.rst:854 msgid "" "Python defines several iterator objects to support iteration over general " "and specific sequence types, dictionaries, and other more specialized " @@ -1383,42 +1383,44 @@ msgstr "" "especializadas. Os tipos específicos não são importantes além de sua " "implementação do protocolo iterador." -#: ../../library/stdtypes.rst:856 +#: ../../library/stdtypes.rst:859 msgid "" -"Once an iterator's :meth:`~iterator.__next__` method raises :exc:" -"`StopIteration`, it must continue to do so on subsequent calls. " +"Once an iterator's :meth:`~iterator.__next__` method " +"raises :exc:`StopIteration`, it must continue to do so on subsequent calls. " "Implementations that do not obey this property are deemed broken." msgstr "" -"Uma vez que o método :meth:`~iterator.__next__` do iterador levantou :exc:" -"`StopIteration`, ele deve continuar fazendo isso em chamadas subsequentes. " -"Implementações que não obedecem essa propriedade são consideradas quebradas." +"Uma vez que o método :meth:`~iterator.__next__` do iterador " +"levantou :exc:`StopIteration`, ele deve continuar fazendo isso em chamadas " +"subsequentes. Implementações que não obedecem essa propriedade são " +"consideradas quebradas." -#: ../../library/stdtypes.rst:864 +#: ../../library/stdtypes.rst:867 msgid "Generator Types" msgstr "Tipos geradores" -#: ../../library/stdtypes.rst:866 +#: ../../library/stdtypes.rst:869 msgid "" "Python's :term:`generator`\\s provide a convenient way to implement the " -"iterator protocol. If a container object's :meth:`__iter__` method is " -"implemented as a generator, it will automatically return an iterator object " -"(technically, a generator object) supplying the :meth:`__iter__` and :meth:" -"`~generator.__next__` methods. More information about generators can be " -"found in :ref:`the documentation for the yield expression `." +"iterator protocol. If a container object's :meth:`~iterator.__iter__` " +"method is implemented as a generator, it will automatically return an " +"iterator object (technically, a generator object) supplying the :meth:`!" +"__iter__` and :meth:`~generator.__next__` methods. More information about " +"generators can be found in :ref:`the documentation for the yield expression " +"`." msgstr "" "Os :term:`geradores ` do Python proveem uma maneira conveniente " -"para implementar o protocolo iterador. Se o método :meth:`__iter__` de um " -"objeto contêiner é implementado como um gerador, ele irá automaticamente " -"retornar um objeto iterador (tecnicamente, um objeto gerador) fornecendo os " -"métodos :meth:`__iter__` e :meth:`~generator.__next__` . Mais informações " -"sobre geradores podem ser encontradas na :ref:`documentação para a expressão " -"yield `." - -#: ../../library/stdtypes.rst:878 +"para implementar o protocolo iterador. Se o " +"método :meth:`~iterator.__iter__` de um objeto contêiner é implementado como " +"um gerador, ele irá automaticamente retornar um objeto iterador " +"(tecnicamente, um objeto gerador) fornecendo os métodos :meth:`!__iter__` " +"e :meth:`~generator.__next__` . Mais informações sobre geradores podem ser " +"encontradas na :ref:`documentação para a expressão yield `." + +#: ../../library/stdtypes.rst:881 msgid "Sequence Types --- :class:`list`, :class:`tuple`, :class:`range`" msgstr "Tipos sequências --- :class:`list`, :class:`tuple`, :class:`range`" -#: ../../library/stdtypes.rst:880 +#: ../../library/stdtypes.rst:883 msgid "" "There are three basic sequence types: lists, tuples, and range objects. " "Additional sequence types tailored for processing of :ref:`binary data " @@ -1430,11 +1432,11 @@ msgstr "" "binários ` e :ref:`strings de texto ` são descritos em " "seções dedicadas." -#: ../../library/stdtypes.rst:889 +#: ../../library/stdtypes.rst:892 msgid "Common Sequence Operations" msgstr "Operações comuns de sequências" -#: ../../library/stdtypes.rst:893 +#: ../../library/stdtypes.rst:896 msgid "" "The operations in the following table are supported by most sequence types, " "both mutable and immutable. The :class:`collections.abc.Sequence` ABC is " @@ -1442,11 +1444,11 @@ msgid "" "sequence types." msgstr "" "As operações nas seguintes tabelas são suportadas pela maioria dos tipos " -"sequências, ambos mutáveis e imutáveis. A classe ABC :class:`collections.abc." -"Sequence` é fornecida para tornar fácil a correta implementação desses " -"operadores em tipos sequências personalizados." +"sequências, ambos mutáveis e imutáveis. A classe " +"ABC :class:`collections.abc.Sequence` é fornecida para tornar fácil a " +"correta implementação desses operadores em tipos sequências personalizados." -#: ../../library/stdtypes.rst:898 +#: ../../library/stdtypes.rst:901 msgid "" "This table lists the sequence operations sorted in ascending priority. In " "the table, *s* and *t* are sequences of the same type, *n*, *i*, *j* and *k* " @@ -1458,7 +1460,7 @@ msgstr "" "e *k* são inteiros e *x* é um objeto arbitrário que atende a qualquer " "restrição de valor e tipo imposta por *s*." -#: ../../library/stdtypes.rst:903 +#: ../../library/stdtypes.rst:906 msgid "" "The ``in`` and ``not in`` operations have the same priorities as the " "comparison operations. The ``+`` (concatenation) and ``*`` (repetition) " @@ -1469,108 +1471,108 @@ msgstr "" "de comparação. As operações ``+`` (concatenação) e ``*`` (repetição) têm a " "mesma prioridade que as operações numéricas correspondentes. [3]_" -#: ../../library/stdtypes.rst:924 +#: ../../library/stdtypes.rst:927 msgid "``x in s``" msgstr "``x in s``" -#: ../../library/stdtypes.rst:924 +#: ../../library/stdtypes.rst:927 msgid "``True`` if an item of *s* is equal to *x*, else ``False``" msgstr "" "``True`` caso um item de *s* seja igual a *x*, caso contrário ``False``" -#: ../../library/stdtypes.rst:927 +#: ../../library/stdtypes.rst:930 msgid "``x not in s``" msgstr "``x not in s``" -#: ../../library/stdtypes.rst:927 +#: ../../library/stdtypes.rst:930 msgid "``False`` if an item of *s* is equal to *x*, else ``True``" msgstr "``False`` caso um item de *s* for igual a *x*, caso contrário ``True``" -#: ../../library/stdtypes.rst:930 +#: ../../library/stdtypes.rst:933 msgid "``s + t``" msgstr "``s + t``" -#: ../../library/stdtypes.rst:930 +#: ../../library/stdtypes.rst:933 msgid "the concatenation of *s* and *t*" msgstr "a concatenação de *s* e *t*" -#: ../../library/stdtypes.rst:930 +#: ../../library/stdtypes.rst:933 msgid "(6)(7)" msgstr "(6)(7)" -#: ../../library/stdtypes.rst:933 +#: ../../library/stdtypes.rst:936 msgid "``s * n`` or ``n * s``" msgstr "``s * n`` ou ``n * s``" -#: ../../library/stdtypes.rst:933 +#: ../../library/stdtypes.rst:936 msgid "equivalent to adding *s* to itself *n* times" msgstr "equivalente a adicionar *s* a si mesmo *n* vezes" -#: ../../library/stdtypes.rst:933 +#: ../../library/stdtypes.rst:936 msgid "(2)(7)" msgstr "(2)(7)" -#: ../../library/stdtypes.rst:936 +#: ../../library/stdtypes.rst:939 msgid "``s[i]``" msgstr "``s[i]``" -#: ../../library/stdtypes.rst:936 +#: ../../library/stdtypes.rst:939 msgid "*i*\\ th item of *s*, origin 0" msgstr "*i*\\ -ésimo item de *s*, origem 0" -#: ../../library/stdtypes.rst:938 +#: ../../library/stdtypes.rst:941 msgid "``s[i:j]``" msgstr "``s[i:j]``" -#: ../../library/stdtypes.rst:938 +#: ../../library/stdtypes.rst:941 msgid "slice of *s* from *i* to *j*" msgstr "fatia de *s* de *i* até *j*" -#: ../../library/stdtypes.rst:938 +#: ../../library/stdtypes.rst:941 msgid "(3)(4)" msgstr "(3)(4)" -#: ../../library/stdtypes.rst:940 +#: ../../library/stdtypes.rst:943 msgid "``s[i:j:k]``" msgstr "``s[i:j:k]``" -#: ../../library/stdtypes.rst:940 +#: ../../library/stdtypes.rst:943 msgid "slice of *s* from *i* to *j* with step *k*" msgstr "fatia de *s* de *i* até *j* com passo *k*" -#: ../../library/stdtypes.rst:940 +#: ../../library/stdtypes.rst:943 msgid "(3)(5)" msgstr "(3)(5)" -#: ../../library/stdtypes.rst:943 +#: ../../library/stdtypes.rst:946 msgid "``len(s)``" msgstr "``len(s)``" -#: ../../library/stdtypes.rst:943 +#: ../../library/stdtypes.rst:946 msgid "length of *s*" msgstr "comprimento de *s*" -#: ../../library/stdtypes.rst:945 +#: ../../library/stdtypes.rst:948 msgid "``min(s)``" msgstr "``min(s)``" -#: ../../library/stdtypes.rst:945 +#: ../../library/stdtypes.rst:948 msgid "smallest item of *s*" msgstr "menor item de *s*" -#: ../../library/stdtypes.rst:947 +#: ../../library/stdtypes.rst:950 msgid "``max(s)``" msgstr "``max(s)``" -#: ../../library/stdtypes.rst:947 +#: ../../library/stdtypes.rst:950 msgid "largest item of *s*" msgstr "maior item de *s*" -#: ../../library/stdtypes.rst:949 +#: ../../library/stdtypes.rst:952 msgid "``s.index(x[, i[, j]])``" msgstr "``s.index(x[, i[, j]])``" -#: ../../library/stdtypes.rst:949 +#: ../../library/stdtypes.rst:952 msgid "" "index of the first occurrence of *x* in *s* (at or after index *i* and " "before index *j*)" @@ -1578,19 +1580,19 @@ msgstr "" "índice da primeira ocorrência de *x* em *s* (no ou após o índice *i*, e " "antes do índice *j*)" -#: ../../library/stdtypes.rst:949 ../../library/stdtypes.rst:3598 +#: ../../library/stdtypes.rst:952 ../../library/stdtypes.rst:3600 msgid "\\(8)" msgstr "\\(8)" -#: ../../library/stdtypes.rst:953 +#: ../../library/stdtypes.rst:956 msgid "``s.count(x)``" msgstr "``s.count(x)``" -#: ../../library/stdtypes.rst:953 +#: ../../library/stdtypes.rst:956 msgid "total number of occurrences of *x* in *s*" msgstr "numero total de ocorrência de *x* em *s*" -#: ../../library/stdtypes.rst:957 +#: ../../library/stdtypes.rst:960 msgid "" "Sequences of the same type also support comparisons. In particular, tuples " "and lists are compared lexicographically by comparing corresponding " @@ -1598,20 +1600,20 @@ 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 "" -"Sequências do mesmo tipo também suportam comparações. Em particular, tuplas " -"e listas são comparadas lexicograficamente pela comparação de elementos " -"correspondentes. Isso significa que para comparar igualmente, cada elemento " -"deve comparar igual e as duas sequências devem ser do mesmo tipo e possuírem " -"o mesmo comprimento. (Para detalhes completos, veja :ref:`comparisons` na " -"referência da linguagem.)" +"Sequências do mesmo tipo também admitem comparações. Em particular, tuplas e " +"listas são comparadas lexicograficamente por meio da comparação de elementos " +"correspondentes. Isso significa que, para comparar igualmente, cada elemento " +"deve ser comparado igual e as duas sequências devem ser do mesmo tipo e " +"possuir o mesmo comprimento. (Para detalhes completos, " +"veja :ref:`comparisons` na referência da linguagem.)" -#: ../../library/stdtypes.rst:967 +#: ../../library/stdtypes.rst:970 msgid "" "Forward and reversed iterators over mutable sequences access values using an " "index. That index will continue to march forward (or backward) even if the " -"underlying sequence is mutated. The iterator terminates only when an :exc:" -"`IndexError` or a :exc:`StopIteration` is encountered (or when the index " -"drops below zero)." +"underlying sequence is mutated. The iterator terminates only when " +"an :exc:`IndexError` or a :exc:`StopIteration` is encountered (or when the " +"index drops below zero)." msgstr "" "Iteradores para frente e reversos sobre sequências mutáveis acessam valores " "usando um índice. Esse índice continuará avançando (ou retrocedendo) mesmo " @@ -1619,7 +1621,7 @@ msgstr "" "um :exc:`IndexError` ou um :exc:`StopIteration` é encontrado (ou quando o " "índice cai abaixo de zero)." -#: ../../library/stdtypes.rst:976 +#: ../../library/stdtypes.rst:979 msgid "" "While the ``in`` and ``not in`` operations are used only for simple " "containment testing in the general case, some specialised sequences (such " @@ -1631,7 +1633,7 @@ msgstr "" "como :class:`str`, :class:`bytes` e :class:`bytearray`) também usam-nas para " "testes de subsequências::" -#: ../../library/stdtypes.rst:985 +#: ../../library/stdtypes.rst:988 msgid "" "Values of *n* less than ``0`` are treated as ``0`` (which yields an empty " "sequence of the same type as *s*). Note that items in the sequence *s* are " @@ -1643,7 +1645,7 @@ msgstr "" "*s* não são copiados; eles são referenciados várias vezes. Isso " "frequentemente assombra novos programadores Python; considere então que::" -#: ../../library/stdtypes.rst:997 +#: ../../library/stdtypes.rst:1000 msgid "" "What has happened is that ``[[]]`` is a one-element list containing an empty " "list, so all three elements of ``[[]] * 3`` are references to this single " @@ -1655,14 +1657,14 @@ msgstr "" "única lista vazia. Modificar qualquer um dos elementos de ``lists`` modifica " "a lista vazia. Podemos criar uma lista de listas diferentes dessa maneira::" -#: ../../library/stdtypes.rst:1009 +#: ../../library/stdtypes.rst:1012 msgid "" "Further explanation is available in the FAQ entry :ref:`faq-multidimensional-" "list`." msgstr "" -"Outra explicação está disponível no FAQ :ref:`faq-multidimensional-list`." +"Mais explicação está disponível no FAQ :ref:`faq-multidimensional-list`." -#: ../../library/stdtypes.rst:1013 +#: ../../library/stdtypes.rst:1016 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 " @@ -1672,7 +1674,7 @@ msgstr "" "``len(s) + i`` ou ``len(s) + j`` será substituído. Mas note que ``-0`` ainda " "será ``0``." -#: ../../library/stdtypes.rst:1018 +#: ../../library/stdtypes.rst:1021 msgid "" "The slice of *s* from *i* to *j* is defined as the sequence of items with " "index *k* such that ``i <= k < j``. If *i* or *j* is greater than " @@ -1685,7 +1687,7 @@ msgstr "" "``len(s)``. Se *i* for omitido ou ``None``, use ``0``. Se *j* for omitido ou " "``None``, usa ``len(s)``. Se *i* for maior ou igual a *j*, a fatia é vazia." -#: ../../library/stdtypes.rst:1025 +#: ../../library/stdtypes.rst:1028 msgid "" "The slice of *s* from *i* to *j* with step *k* is defined as the sequence of " "items with index ``x = i + n*k`` such that ``0 <= n < (j-i)/k``. In other " @@ -1707,7 +1709,7 @@ msgstr "" "valores \"finais\" (cujo final depende de *k*). Nota: *k* não pode ser zero. " "Se *k* for ``None``, o mesmo será tratado como sendo igual a ``1``." -#: ../../library/stdtypes.rst:1036 +#: ../../library/stdtypes.rst:1039 msgid "" "Concatenating immutable sequences always results in a new object. This " "means that building up a sequence by repeated concatenation will have a " @@ -1720,50 +1722,50 @@ msgstr "" "Para obter um custo de tempo de execução linear, devemos alternar para uma " "das alternativas abaixo:" -#: ../../library/stdtypes.rst:1041 +#: ../../library/stdtypes.rst:1044 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" +"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 "" "Se estiver concatenando objetos :class:`str`, você pode criar uma lista e " -"usar :meth:`str.join` no final ou então escrever numa instância de :class:" -"`io.StringIO` e recuperar o seu valor ao final" +"usar :meth:`str.join` no final ou então escrever numa instância " +"de :class:`io.StringIO` e recuperar o seu valor ao final" -#: ../../library/stdtypes.rst:1045 +#: ../../library/stdtypes.rst:1048 msgid "" -"if concatenating :class:`bytes` objects, you can similarly use :meth:`bytes." -"join` or :class:`io.BytesIO`, or you can do in-place concatenation with a :" -"class:`bytearray` object. :class:`bytearray` objects are mutable and have " -"an efficient overallocation mechanism" +"if concatenating :class:`bytes` objects, you can similarly " +"use :meth:`bytes.join` or :class:`io.BytesIO`, or you can do in-place " +"concatenation with a :class:`bytearray` object. :class:`bytearray` objects " +"are mutable and have an efficient overallocation mechanism" msgstr "" "Se estiver concatenando objetos :class:`bytes`, você também pode usar o " "método :meth:`bytes.join` ou :class:`io.BytesIO`, ou você pode fazer " -"concatenação interna com um objeto :class:`bytearray`. A classe :class:" -"`bytearray` são objetos mutáveis e possuem um eficiente mecanismo de " -"superalocação" +"concatenação interna com um objeto :class:`bytearray`. A " +"classe :class:`bytearray` são objetos mutáveis e possuem um eficiente " +"mecanismo de superalocação" -#: ../../library/stdtypes.rst:1050 +#: ../../library/stdtypes.rst:1053 msgid "if concatenating :class:`tuple` objects, extend a :class:`list` instead" msgstr "" -"Se estiver concatenando objetos :class:`tuple`, estenda a classe :class:" -"`list` em vez disso" +"Se estiver concatenando objetos :class:`tuple`, estenda a " +"classe :class:`list` em vez disso" -#: ../../library/stdtypes.rst:1052 +#: ../../library/stdtypes.rst:1055 msgid "for other types, investigate the relevant class documentation" msgstr "para outros tipos, busque na documentação relevante da classe" -#: ../../library/stdtypes.rst:1056 +#: ../../library/stdtypes.rst:1059 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 "" -"Alguns tipos sequências (como :class:`range`) apenas suportam sequências de " -"itens que seguem padrões específicos e, portanto, não suportam concatenação " -"ou repetição de sequência." +"Alguns tipos de sequências (como :class:`range`) apenas aceitam sequências " +"de itens que seguem padrões específicos e, portanto, não implementam " +"concatenação nem repetição de sequências." -#: ../../library/stdtypes.rst:1061 +#: ../../library/stdtypes.rst:1064 msgid "" "``index`` raises :exc:`ValueError` when *x* is not found in *s*. Not all " "implementations support passing the additional arguments *i* and *j*. These " @@ -1779,31 +1781,31 @@ msgstr "" "``s[i:j].index(x)``, apenas sem copiar nenhum dado e com o índice retornado " "sendo relativo ao início da sequência e não ao início da fatia." -#: ../../library/stdtypes.rst:1072 +#: ../../library/stdtypes.rst:1075 msgid "Immutable Sequence Types" msgstr "Tipos sequência imutáveis" -#: ../../library/stdtypes.rst:1079 +#: ../../library/stdtypes.rst:1082 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." +"not also implemented by mutable sequence types is support for " +"the :func:`hash` built-in." msgstr "" "A única operação que os tipos sequências imutáveis geralmente implementam " "que também não é implementada pelos tipos sequências mutáveis é suporte para " "a função embutida :func:`hash`." -#: ../../library/stdtypes.rst:1083 +#: ../../library/stdtypes.rst:1086 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." +"to be used as :class:`dict` keys and stored in :class:`set` " +"and :class:`frozenset` instances." msgstr "" -"Esse suporte permite sequências imutáveis, tais como instâncias da classe :" -"class:`tuple`, serem usadas como chaves de dicionários :class:`dict` e " -"armazenados em instâncias de :class:`set` e de :class:`frozenset`." +"Esse suporte permite sequências imutáveis, tais como instâncias da " +"classe :class:`tuple`, serem usadas como chaves de dicionários :class:`dict` " +"e armazenados em instâncias de :class:`set` e de :class:`frozenset`." -#: ../../library/stdtypes.rst:1087 +#: ../../library/stdtypes.rst:1090 msgid "" "Attempting to hash an immutable sequence that contains unhashable values " "will result in :exc:`TypeError`." @@ -1811,11 +1813,11 @@ msgstr "" "A tentativa de obter um hash de uma sequência imutável que contém valores " "desnecessários resultará em um erro :exc:`TypeError`." -#: ../../library/stdtypes.rst:1094 +#: ../../library/stdtypes.rst:1097 msgid "Mutable Sequence Types" msgstr "Tipos sequências mutáveis" -#: ../../library/stdtypes.rst:1101 +#: ../../library/stdtypes.rst:1104 msgid "" "The operations in the following table are defined on mutable sequence types. " "The :class:`collections.abc.MutableSequence` ABC is provided to make it " @@ -1826,7 +1828,7 @@ msgstr "" "fácil a implementação correta dessas operações em tipos sequências " "personalizados." -#: ../../library/stdtypes.rst:1105 +#: ../../library/stdtypes.rst:1108 msgid "" "In the table *s* is an instance of a mutable sequence type, *t* is any " "iterable object and *x* is an arbitrary object that meets any type and value " @@ -1838,134 +1840,134 @@ msgstr "" "restrição de tipo e valor imposto por *s* (por exemplo :class:`bytearray` só " "aceita inteiros que atendam a restrição de valor ``0 <= x <= 255``)." -#: ../../library/stdtypes.rst:1129 +#: ../../library/stdtypes.rst:1132 msgid "``s[i] = x``" msgstr "``s[i] = x``" -#: ../../library/stdtypes.rst:1129 +#: ../../library/stdtypes.rst:1132 msgid "item *i* of *s* is replaced by *x*" msgstr "item *i* de *s* é substituído por *x*" -#: ../../library/stdtypes.rst:1132 +#: ../../library/stdtypes.rst:1135 msgid "``s[i:j] = t``" msgstr "``s[i:j] = t``" -#: ../../library/stdtypes.rst:1132 +#: ../../library/stdtypes.rst:1135 msgid "" "slice of *s* from *i* to *j* is replaced by the contents of the iterable *t*" msgstr "" "fatias de *s* de *i* até *j* são substituídas pelo conteúdo do iterável *t*" -#: ../../library/stdtypes.rst:1136 +#: ../../library/stdtypes.rst:1139 msgid "``del s[i:j]``" msgstr "``del s[i:j]``" -#: ../../library/stdtypes.rst:1136 +#: ../../library/stdtypes.rst:1139 msgid "same as ``s[i:j] = []``" msgstr "o mesmo que ``s[i:j] = []``" -#: ../../library/stdtypes.rst:1138 +#: ../../library/stdtypes.rst:1141 msgid "``s[i:j:k] = t``" msgstr "``s[i:j:k] = t``" -#: ../../library/stdtypes.rst:1138 +#: ../../library/stdtypes.rst:1141 msgid "the elements of ``s[i:j:k]`` are replaced by those of *t*" msgstr "os elementos de ``s[i:j:k]`` são substituídos por aqueles de *t*" -#: ../../library/stdtypes.rst:1141 +#: ../../library/stdtypes.rst:1144 msgid "``del s[i:j:k]``" msgstr "``del s[i:j:k]``" -#: ../../library/stdtypes.rst:1141 +#: ../../library/stdtypes.rst:1144 msgid "removes the elements of ``s[i:j:k]`` from the list" msgstr "remove os elementos de ``s[i:j:k]`` desde a listas" -#: ../../library/stdtypes.rst:1144 +#: ../../library/stdtypes.rst:1147 msgid "``s.append(x)``" msgstr "``s.append(x)``" -#: ../../library/stdtypes.rst:1144 +#: ../../library/stdtypes.rst:1147 msgid "" "appends *x* to the end of the sequence (same as ``s[len(s):len(s)] = [x]``)" msgstr "" "adiciona *x* no final da sequência (igual a ``s[len(s):len(s)] = [x]``)" -#: ../../library/stdtypes.rst:1148 +#: ../../library/stdtypes.rst:1151 msgid "``s.clear()``" msgstr "``s.clear()``" -#: ../../library/stdtypes.rst:1148 +#: ../../library/stdtypes.rst:1151 msgid "removes all items from *s* (same as ``del s[:]``)" msgstr "remove todos os itens de *s* (mesmo que ``del s[:]``)" -#: ../../library/stdtypes.rst:1151 +#: ../../library/stdtypes.rst:1154 msgid "``s.copy()``" msgstr "``s.copy()``" -#: ../../library/stdtypes.rst:1151 +#: ../../library/stdtypes.rst:1154 msgid "creates a shallow copy of *s* (same as ``s[:]``)" msgstr "cria uma cópia rasa de *s* (mesmo que ``s[:]``)" -#: ../../library/stdtypes.rst:1154 +#: ../../library/stdtypes.rst:1157 msgid "``s.extend(t)`` or ``s += t``" msgstr "``s.extend(t)`` ou ``s += t``" -#: ../../library/stdtypes.rst:1154 +#: ../../library/stdtypes.rst:1157 msgid "" "extends *s* with the contents of *t* (for the most part the same as " "``s[len(s):len(s)] = t``)" msgstr "" -"estende *s* com o conteúdo de *t* (na maior parte do mesmo ``s[len(s):" -"len(s)] = t``)" +"estende *s* com o conteúdo de *t* (na maior parte do mesmo " +"``s[len(s):len(s)] = t``)" -#: ../../library/stdtypes.rst:1159 +#: ../../library/stdtypes.rst:1162 msgid "``s *= n``" msgstr "``s *= n``" -#: ../../library/stdtypes.rst:1159 +#: ../../library/stdtypes.rst:1162 msgid "updates *s* with its contents repeated *n* times" msgstr "atualiza *s* com o seu conteúdo por *n* vezes" -#: ../../library/stdtypes.rst:1162 +#: ../../library/stdtypes.rst:1165 msgid "``s.insert(i, x)``" msgstr "``s.insert(i, x)``" -#: ../../library/stdtypes.rst:1162 +#: ../../library/stdtypes.rst:1165 msgid "" "inserts *x* into *s* at the index given by *i* (same as ``s[i:i] = [x]``)" msgstr "" "insere *x* dentro de *s* no índice dado por *i* (igual a ``s[i:i] = [x]``)" -#: ../../library/stdtypes.rst:1166 +#: ../../library/stdtypes.rst:1169 msgid "``s.pop()`` or ``s.pop(i)``" msgstr "``s.pop()`` ou ``s.pop(i)``" -#: ../../library/stdtypes.rst:1166 +#: ../../library/stdtypes.rst:1169 msgid "retrieves the item at *i* and also removes it from *s*" msgstr "retorna o item em *i* e também remove-o de *s*" -#: ../../library/stdtypes.rst:1169 +#: ../../library/stdtypes.rst:1172 msgid "``s.remove(x)``" msgstr "``s.remove(x)``" -#: ../../library/stdtypes.rst:1169 +#: ../../library/stdtypes.rst:1172 msgid "remove the first item from *s* where ``s[i]`` is equal to *x*" msgstr "remove o primeiro item de *s* sendo ``s[i]`` igual a *x*" -#: ../../library/stdtypes.rst:1172 +#: ../../library/stdtypes.rst:1175 msgid "``s.reverse()``" msgstr "``s.reverse()``" -#: ../../library/stdtypes.rst:1172 +#: ../../library/stdtypes.rst:1175 msgid "reverses the items of *s* in place" msgstr "inverte os itens de *s* in-place" -#: ../../library/stdtypes.rst:1180 +#: ../../library/stdtypes.rst:1183 msgid "*t* must have the same length as the slice it is replacing." msgstr "" "*t* deve ter o mesmo comprimento que a fatia a qual ele está substituindo." -#: ../../library/stdtypes.rst:1183 +#: ../../library/stdtypes.rst:1186 msgid "" "The optional argument *i* defaults to ``-1``, so that by default the last " "item is removed and returned." @@ -1973,12 +1975,12 @@ msgstr "" "O argumento opcional *i* tem como padrão ``-1``, de modo que, por padrão, o " "último item é removido e retornado." -#: ../../library/stdtypes.rst:1187 +#: ../../library/stdtypes.rst:1190 msgid ":meth:`remove` raises :exc:`ValueError` when *x* is not found in *s*." msgstr "" ":meth:`remove` levanta :exc:`ValueError` quando *x* não é encontrado em *s*." -#: ../../library/stdtypes.rst:1190 +#: ../../library/stdtypes.rst:1193 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 " @@ -1989,41 +1991,43 @@ msgstr "" "ocorre como sendo um efeito colateral, o mesmo não retorna a sequência " "invertida." -#: ../../library/stdtypes.rst:1195 +#: ../../library/stdtypes.rst:1198 msgid "" ":meth:`clear` and :meth:`!copy` are included for consistency with the " "interfaces of mutable containers that don't support slicing operations (such " -"as :class:`dict` and :class:`set`). :meth:`!copy` is not part of the :class:" -"`collections.abc.MutableSequence` ABC, but most concrete mutable sequence " -"classes provide it." +"as :class:`dict` and :class:`set`). :meth:`!copy` is not part of " +"the :class:`collections.abc.MutableSequence` ABC, but most concrete mutable " +"sequence classes provide it." msgstr "" ":meth:`clear` e :meth:`!copy` estão incluídos para consistência com as " "interfaces de contêineres mutáveis que não suportam operações de fatiamento " -"(como :class:`dict` e :class:`set`). :meth:`!copy` não faz parte da ABC de :" -"class:`collections.abc.MutableSequence`, mas a maioria das classes concretas " -"de sequências mutáveis fornece isso." +"(como :class:`dict` e :class:`set`). :meth:`!copy` não faz parte da ABC " +"de :class:`collections.abc.MutableSequence`, mas a maioria das classes " +"concretas de sequências mutáveis fornece isso." -#: ../../library/stdtypes.rst:1201 +#: ../../library/stdtypes.rst:1204 msgid ":meth:`clear` and :meth:`!copy` methods." msgstr "Métodos :meth:`clear` e :meth:`!copy`." -#: ../../library/stdtypes.rst:1205 +#: ../../library/stdtypes.rst:1208 msgid "" -"The value *n* is an integer, or an object implementing :meth:`~object." -"__index__`. Zero and negative values of *n* clear the sequence. Items in " -"the sequence are not copied; they are referenced multiple times, as " -"explained for ``s * n`` under :ref:`typesseq-common`." +"The value *n* is an integer, or an object " +"implementing :meth:`~object.__index__`. Zero and negative values of *n* " +"clear the sequence. Items in the sequence are not copied; they are " +"referenced multiple times, as explained for ``s * n`` under :ref:`typesseq-" +"common`." msgstr "" -"O valor *n* é um inteiro, ou um objeto implementando :meth:`~object." -"__index__`. Valores zero e negativos de *n* limparão a sequência. Os itens " -"na sequência não são copiados; eles são referenciados várias vezes, como " -"explicado para ``s * n`` em :ref:`typesseq-common`." +"O valor *n* é um inteiro, ou um objeto " +"implementando :meth:`~object.__index__`. Valores zero e negativos de *n* " +"limparão a sequência. Os itens na sequência não são copiados; eles são " +"referenciados várias vezes, como explicado para ``s * n`` em :ref:`typesseq-" +"common`." -#: ../../library/stdtypes.rst:1214 +#: ../../library/stdtypes.rst:1217 msgid "Lists" msgstr "Listas" -#: ../../library/stdtypes.rst:1218 +#: ../../library/stdtypes.rst:1221 msgid "" "Lists are mutable sequences, typically used to store collections of " "homogeneous items (where the precise degree of similarity will vary by " @@ -2033,28 +2037,28 @@ msgstr "" "coleções de itens homogêneos (onde o grau preciso de similaridade variará de " "acordo com a aplicação)." -#: ../../library/stdtypes.rst:1224 +#: ../../library/stdtypes.rst:1227 msgid "Lists may be constructed in several ways:" msgstr "As listas podem ser construídas de várias maneiras:" -#: ../../library/stdtypes.rst:1226 +#: ../../library/stdtypes.rst:1229 msgid "Using a pair of square brackets to denote the empty list: ``[]``" msgstr "Usando um par de colchetes para denotar uma lista vazia: ``[]``" -#: ../../library/stdtypes.rst:1227 +#: ../../library/stdtypes.rst:1230 msgid "" "Using square brackets, separating items with commas: ``[a]``, ``[a, b, c]``" msgstr "Usando colchetes, separando itens por vírgulas: ``[a]``, ``[a, b, c]``" -#: ../../library/stdtypes.rst:1228 +#: ../../library/stdtypes.rst:1231 msgid "Using a list comprehension: ``[x for x in iterable]``" msgstr "Usando uma compreensão de lista: ``[x for x in iterable]``" -#: ../../library/stdtypes.rst:1229 +#: ../../library/stdtypes.rst:1232 msgid "Using the type constructor: ``list()`` or ``list(iterable)``" msgstr "Usando o construtor de tipo: ``list()`` ou ``list(iterable)``" -#: ../../library/stdtypes.rst:1231 +#: ../../library/stdtypes.rst:1234 msgid "" "The constructor builds a list whose items are the same and in the same order " "as *iterable*'s items. *iterable* may be either a sequence, a container " @@ -2072,15 +2076,15 @@ msgstr "" "``[1, 2, 3]``. Se nenhum argumento for dado, o construtor criará uma nova " "lista vazia ``[]``." -#: ../../library/stdtypes.rst:1240 +#: ../../library/stdtypes.rst:1243 msgid "" "Many other operations also produce lists, including the :func:`sorted` built-" "in." msgstr "" -"Muitas outras operações também produzem listas, incluindo a função embutida :" -"func:`sorted`." +"Muitas outras operações também produzem listas, incluindo a função " +"embutida :func:`sorted`." -#: ../../library/stdtypes.rst:1243 +#: ../../library/stdtypes.rst:1246 msgid "" "Lists implement all of the :ref:`common ` and :ref:`mutable " "` sequence operations. Lists also provide the following " @@ -2090,7 +2094,7 @@ msgstr "" "common>` e :ref:`mutáveis `. As listas também fornecem o " "seguinte método adicional:" -#: ../../library/stdtypes.rst:1249 +#: ../../library/stdtypes.rst:1252 msgid "" "This method sorts the list in place, using only ``<`` comparisons between " "items. Exceptions are not suppressed - if any comparison operations fail, " @@ -2102,15 +2106,15 @@ msgstr "" "comparação falhar, toda a operação de ordenação falhará (e a lista " "provavelmente será deixada em um estado parcialmente modificado)." -#: ../../library/stdtypes.rst:1254 +#: ../../library/stdtypes.rst:1257 msgid "" -":meth:`sort` accepts two arguments that can only be passed by keyword (:ref:" -"`keyword-only arguments `):" +":meth:`sort` accepts two arguments that can only be passed by keyword " +"(:ref:`keyword-only arguments `):" msgstr "" -":meth:`sort` aceita 2 argumentos que só podem ser passados como :ref:" -"`argumentos somente-nomeados `:" +":meth:`sort` aceita 2 argumentos que só podem ser passados " +"como :ref:`argumentos somente-nomeados `:" -#: ../../library/stdtypes.rst:1257 +#: ../../library/stdtypes.rst:1260 msgid "" "*key* specifies a function of one argument that is used to extract a " "comparison key from each list element (for example, ``key=str.lower``). The " @@ -2119,13 +2123,13 @@ msgid "" "list items are sorted directly without calculating a separate key value." msgstr "" "*key* especifica uma função de um argumento que é usado para extrair uma " -"chave de comparação de cada elemento da lista (por exemplo, ``key=str." -"lower``). A chave correspondente a cada item na lista é calculada uma vez e " -"depois usada para todo o processo de classificação. O valor padrão ``None`` " -"significa que os itens da lista são classificados diretamente sem calcular " -"um valor de chave separado." +"chave de comparação de cada elemento da lista (por exemplo, " +"``key=str.lower``). A chave correspondente a cada item na lista é calculada " +"uma vez e depois usada para todo o processo de classificação. O valor padrão " +"``None`` significa que os itens da lista são classificados diretamente sem " +"calcular um valor de chave separado." -#: ../../library/stdtypes.rst:1264 +#: ../../library/stdtypes.rst:1267 msgid "" "The :func:`functools.cmp_to_key` utility is available to convert a 2.x style " "*cmp* function to a *key* function." @@ -2133,7 +2137,7 @@ msgstr "" "A função utilitária :func:`functools.cmp_to_key` está disponível para " "converter a função *cmp* no estilo 2.x para uma função *key*." -#: ../../library/stdtypes.rst:1267 +#: ../../library/stdtypes.rst:1270 msgid "" "*reverse* is a boolean value. If set to ``True``, then the list elements " "are sorted as if each comparison were reversed." @@ -2142,7 +2146,7 @@ msgstr "" "elementos da lista são classificados como se cada comparação estivesse " "invertida." -#: ../../library/stdtypes.rst:1270 +#: ../../library/stdtypes.rst:1273 msgid "" "This method modifies the sequence in place for economy of space when sorting " "a large sequence. To remind users that it operates by side effect, it does " @@ -2155,7 +2159,7 @@ msgstr "" "função :func:`sorted` para solicitar explicitamente uma nova instância da " "lista ordenada)." -#: ../../library/stdtypes.rst:1275 +#: ../../library/stdtypes.rst:1278 msgid "" "The :meth:`sort` method is guaranteed to be stable. A sort is stable if it " "guarantees not to change the relative order of elements that compare equal " @@ -2167,14 +2171,14 @@ msgstr "" "comparam igual -- isso é útil para classificar em várias passagens (por " "exemplo, classificar por departamento, depois por nota salarial)." -#: ../../library/stdtypes.rst:1280 +#: ../../library/stdtypes.rst:1283 msgid "" "For sorting examples and a brief sorting tutorial, see :ref:`sortinghowto`." msgstr "" -"Para exemplos de classificação e um breve tutorial de classificação, veja :" -"ref:`sortinghowto`." +"Para exemplos de classificação e um breve tutorial de classificação, " +"veja :ref:`sortinghowto`." -#: ../../library/stdtypes.rst:1284 +#: ../../library/stdtypes.rst:1287 msgid "" "While a list is being sorted, the effect of attempting to mutate, or even " "inspect, the list is undefined. The C implementation of Python makes the " @@ -2187,17 +2191,17 @@ msgstr "" "exceção :exc:`ValueError` se puder detectar que a lista foi alterada durante " "uma ordenação." -#: ../../library/stdtypes.rst:1293 +#: ../../library/stdtypes.rst:1296 msgid "Tuples" msgstr "Tuplas" -#: ../../library/stdtypes.rst:1297 +#: ../../library/stdtypes.rst:1300 msgid "" "Tuples are immutable sequences, typically used to store collections of " "heterogeneous data (such as the 2-tuples produced by the :func:`enumerate` " "built-in). Tuples are also used for cases where an immutable sequence of " -"homogeneous data is needed (such as allowing storage in a :class:`set` or :" -"class:`dict` instance)." +"homogeneous data is needed (such as allowing storage in a :class:`set` " +"or :class:`dict` instance)." msgstr "" "Tuplas são sequências imutáveis, tipicamente usadas para armazenar coleções " "de dados heterogêneos (como as tuplas de 2 elementos produzidas pelo função " @@ -2205,29 +2209,29 @@ msgstr "" "necessária uma sequência imutável de dados homogêneos (como permitir o " "armazenamento em uma instância :class:`set` ou :class:`dict`)." -#: ../../library/stdtypes.rst:1305 +#: ../../library/stdtypes.rst:1308 msgid "Tuples may be constructed in a number of ways:" msgstr "As tuplas podem ser construídas de várias maneiras:" -#: ../../library/stdtypes.rst:1307 +#: ../../library/stdtypes.rst:1310 msgid "Using a pair of parentheses to denote the empty tuple: ``()``" msgstr "Usando um par de parênteses para denotar a tupla vazia: ``()``" -#: ../../library/stdtypes.rst:1308 +#: ../../library/stdtypes.rst:1311 msgid "Using a trailing comma for a singleton tuple: ``a,`` or ``(a,)``" msgstr "" "Usando uma vírgula à direita para uma tupla singleton: ``a,`` ou ``(a,)``" -#: ../../library/stdtypes.rst:1309 +#: ../../library/stdtypes.rst:1312 msgid "Separating items with commas: ``a, b, c`` or ``(a, b, c)``" msgstr "Separando os itens com vírgulas: ``a, b, c`` ou ``(a, b, c)``" -#: ../../library/stdtypes.rst:1310 +#: ../../library/stdtypes.rst:1313 msgid "Using the :func:`tuple` built-in: ``tuple()`` or ``tuple(iterable)``" msgstr "" "Usando a função embutida :func:`tuple`: ``tuple()`` ou ``tuple(iterable)``" -#: ../../library/stdtypes.rst:1312 +#: ../../library/stdtypes.rst:1315 msgid "" "The constructor builds a tuple whose items are the same and in the same " "order as *iterable*'s items. *iterable* may be either a sequence, a " @@ -2244,7 +2248,7 @@ msgstr "" "'b', 'c')`` e ``tuple( [1, 2, 3] )`` retorna ``(1, 2, 3)``. Se nenhum " "argumento for dado, o construtor criará uma tupla vazia, ``()``." -#: ../../library/stdtypes.rst:1320 +#: ../../library/stdtypes.rst:1323 msgid "" "Note that it is actually the comma which makes a tuple, not the parentheses. " "The parentheses are optional, except in the empty tuple case, or when they " @@ -2258,7 +2262,7 @@ msgstr "" "é uma chamada da função com três argumentos, enquanto que ``f((a, b, c))`` é " "uma chamada de função com uma tupla de 3 elementos com um único argumento." -#: ../../library/stdtypes.rst:1326 +#: ../../library/stdtypes.rst:1329 msgid "" "Tuples implement all of the :ref:`common ` sequence " "operations." @@ -2266,7 +2270,7 @@ msgstr "" "As tuplas implementam todas as operações :ref:`comuns ` de " "sequência." -#: ../../library/stdtypes.rst:1329 +#: ../../library/stdtypes.rst:1332 msgid "" "For heterogeneous collections of data where access by name is clearer than " "access by index, :func:`collections.namedtuple` may be a more appropriate " @@ -2276,34 +2280,35 @@ msgstr "" "que o acesso pelo índice, :func:`collections.namedtuple` pode ser uma " "escolha mais apropriada do que um objeto tupla simples." -#: ../../library/stdtypes.rst:1337 +#: ../../library/stdtypes.rst:1340 msgid "Ranges" msgstr "Intervalos" -#: ../../library/stdtypes.rst:1341 +#: ../../library/stdtypes.rst:1344 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 "" "O tipo :class:`range` representa uma sequência imutável de números e é " -"comumente usado para percorrer um número determinado de vezes em um laço :" -"keyword:`for`." +"comumente usado para percorrer um número determinado de vezes em um " +"laço :keyword:`for`." -#: ../../library/stdtypes.rst:1348 +#: ../../library/stdtypes.rst:1351 msgid "" -"The arguments to the range constructor must be integers (either built-in :" -"class:`int` or any object that implements the :meth:`~object.__index__` " +"The arguments to the range constructor must be integers (either built-" +"in :class:`int` or any object that implements the :meth:`~object.__index__` " "special method). If the *step* argument is omitted, it defaults to ``1``. " "If the *start* argument is omitted, it defaults to ``0``. If *step* is " "zero, :exc:`ValueError` is raised." msgstr "" -"Os argumentos para o construtor de intervalo devem ser inteiros (:class:" -"`int` embutido ou qualquer objeto que implemente o método especial :meth:" -"`~object.__index__`). Se o argumento *step* for omitido, será usado o padrão " -"``1``. Se o argumento *start* for omitido, será usado o padrão ``0``. Se " -"*step* for zero, uma exceção :exc:`ValueError` será levantada." +"Os argumentos para o construtor de intervalo devem ser inteiros " +"(:class:`int` embutido ou qualquer objeto que implemente o método " +"especial :meth:`~object.__index__`). Se o argumento *step* for omitido, será " +"usado o padrão ``1``. Se o argumento *start* for omitido, será usado o " +"padrão ``0``. Se *step* for zero, uma exceção :exc:`ValueError` será " +"levantada." -#: ../../library/stdtypes.rst:1354 +#: ../../library/stdtypes.rst:1357 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``." @@ -2311,7 +2316,7 @@ msgstr "" "Para um *step* positivo, o conteúdo de um intervalo ``r`` será determinado " "pela fórmula ``r[i] = start + step*i`` onde ``i >= 0`` e ``r[i] < stop``." -#: ../../library/stdtypes.rst:1358 +#: ../../library/stdtypes.rst:1361 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 " @@ -2321,7 +2326,7 @@ msgstr "" "fórmula ``r[i] = start + step*i``, mas as restrições serão ``i >= 0`` e " "``r[i] > stop``." -#: ../../library/stdtypes.rst:1362 +#: ../../library/stdtypes.rst:1365 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 " @@ -2332,21 +2337,21 @@ msgstr "" "como indexadores partindo do final da sequência determinada pelos índices " "positivos." -#: ../../library/stdtypes.rst:1367 +#: ../../library/stdtypes.rst:1370 msgid "" "Ranges containing absolute values larger than :data:`sys.maxsize` are " -"permitted but some features (such as :func:`len`) may raise :exc:" -"`OverflowError`." +"permitted but some features (such as :func:`len`) may " +"raise :exc:`OverflowError`." msgstr "" "Intervalos contendo valores absolutos maiores que :data:`sys.maxsize` são " -"permitidos, mas alguns recursos (como :func:`len`) podem levantar :exc:" -"`OverflowError`." +"permitidos, mas alguns recursos (como :func:`len`) podem " +"levantar :exc:`OverflowError`." -#: ../../library/stdtypes.rst:1371 +#: ../../library/stdtypes.rst:1374 msgid "Range examples::" msgstr "Exemplos de intervalos::" -#: ../../library/stdtypes.rst:1388 +#: ../../library/stdtypes.rst:1391 msgid "" "Ranges implement all of the :ref:`common ` sequence " "operations except concatenation and repetition (due to the fact that range " @@ -2358,28 +2363,28 @@ msgstr "" "objetos intervalos só podem representar sequências que seguem um padrão " "rígido. e a repetição e a concatenação geralmente vão violar esse padrão)." -#: ../../library/stdtypes.rst:1395 +#: ../../library/stdtypes.rst:1398 msgid "" "The value of the *start* parameter (or ``0`` if the parameter was not " "supplied)" msgstr "" "O valor do parâmetro *start* (ou ``0`` se o parâmetro não for fornecido)" -#: ../../library/stdtypes.rst:1400 +#: ../../library/stdtypes.rst:1403 msgid "The value of the *stop* parameter" msgstr "O valor do parâmetro *stop*" -#: ../../library/stdtypes.rst:1404 +#: ../../library/stdtypes.rst:1407 msgid "" "The value of the *step* parameter (or ``1`` if the parameter was not " "supplied)" msgstr "" "O valor do parâmetro *step* (ou ``1`` se o parâmetro não for fornecido)" -#: ../../library/stdtypes.rst:1407 +#: ../../library/stdtypes.rst:1410 msgid "" -"The advantage of the :class:`range` type over a regular :class:`list` or :" -"class:`tuple` is that a :class:`range` object will always take the same " +"The advantage of the :class:`range` type over a regular :class:`list` " +"or :class:`tuple` is that a :class:`range` object will always take the same " "(small) amount of memory, no matter the size of the range it represents (as " "it only stores the ``start``, ``stop`` and ``step`` values, calculating " "individual items and subranges as needed)." @@ -2390,7 +2395,7 @@ msgstr "" "representando (como ele apenas armazena os valores ``start``, ``stop`` e " "``step``, calculando itens individuais e subintervalos conforme necessário)." -#: ../../library/stdtypes.rst:1413 +#: ../../library/stdtypes.rst:1416 msgid "" "Range objects implement the :class:`collections.abc.Sequence` ABC, and " "provide features such as containment tests, element index lookup, slicing " @@ -2400,7 +2405,7 @@ msgstr "" "fornecem recursos como testes de contenção, pesquisa de índice de elemento, " "fatiamento e suporte a índices negativos (veja :ref:`typesseq`):" -#: ../../library/stdtypes.rst:1433 +#: ../../library/stdtypes.rst:1436 msgid "" "Testing range objects for equality with ``==`` and ``!=`` compares them as " "sequences. That is, two range objects are considered equal if they " @@ -2412,21 +2417,22 @@ msgstr "" "Testar objetos intervalos por igualdade com ``==`` e ``!=`` os compara como " "sequências. Ou seja, dois objetos intervalos são considerados iguais se " "representarem a mesma sequência de valores. (Observe que dois objetos " -"intervalos considerados iguais podem ter diferentes atributos :attr:`~range." -"start`, :attr:`~range.stop` e :attr:`~range.step`, por exemplo ``range(0) == " -"range(2, 1, 3)`` ou ``range(0, 3, 2) == range(0, 4, 2)``.)" +"intervalos considerados iguais podem ter diferentes " +"atributos :attr:`~range.start`, :attr:`~range.stop` e :attr:`~range.step`, " +"por exemplo ``range(0) == range(2, 1, 3)`` ou ``range(0, 3, 2) == range(0, " +"4, 2)``.)" -#: ../../library/stdtypes.rst:1440 +#: ../../library/stdtypes.rst:1443 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." +"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 "" "Implementa a ABC Sequence. Suporte a fatiamento e a índices negativos. Testa " "objetos :class:`int` para associação em tempo constante em vez de iterar " "através de todos os itens." -#: ../../library/stdtypes.rst:1446 +#: ../../library/stdtypes.rst:1449 msgid "" "Define '==' and '!=' to compare range objects based on the sequence of " "values they define (instead of comparing based on object identity)." @@ -2435,14 +2441,15 @@ msgstr "" "valores que eles definem (em vez de comparar com base na identidade do " "objeto)." -#: ../../library/stdtypes.rst:1451 +#: ../../library/stdtypes.rst:1454 msgid "" -"The :attr:`~range.start`, :attr:`~range.stop` and :attr:`~range.step` " +"Added the :attr:`~range.start`, :attr:`~range.stop` and :attr:`~range.step` " "attributes." msgstr "" -"Os atributos :attr:`~range.start`, :attr:`~range.stop` e :attr:`~range.step`." +"Adicionados os atributos :attr:`~range.start`, :attr:`~range.stop` " +"e :attr:`~range.step`." -#: ../../library/stdtypes.rst:1457 +#: ../../library/stdtypes.rst:1459 msgid "" "The `linspace recipe `_ shows " "how to implement a lazy version of range suitable for floating point " @@ -2452,29 +2459,30 @@ msgstr "" "mostra como implementar uma versão preguiçosa de um intervalo adequado para " "aplicações de ponto flutuante." -#: ../../library/stdtypes.rst:1469 +#: ../../library/stdtypes.rst:1471 msgid "Text Sequence Type --- :class:`str`" msgstr "Tipo sequência de texto --- :class:`str`" -#: ../../library/stdtypes.rst:1471 +#: ../../library/stdtypes.rst:1473 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:" +"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 "" -"Os dados textuais em Python são tratados com objetos :class:`str`, ou :dfn:" -"`strings`. Strings são :ref:`sequências ` imutáveis de pontos de " -"código Unicode. As strings literais são escritas de diversas maneiras:" +"Os dados textuais em Python são tratados com objetos :class:`str`, " +"ou :dfn:`strings`. Strings são :ref:`sequências ` imutáveis de " +"pontos de código Unicode. As strings literais são escritas de diversas " +"maneiras:" -#: ../../library/stdtypes.rst:1476 +#: ../../library/stdtypes.rst:1478 msgid "Single quotes: ``'allows embedded \"double\" quotes'``" msgstr "Aspas simples: ``'permitem aspas \"duplas\" internas'``" -#: ../../library/stdtypes.rst:1477 +#: ../../library/stdtypes.rst:1479 msgid "Double quotes: ``\"allows embedded 'single' quotes\"``" msgstr "Aspas duplas: ``\"permitem aspas 'simples' internas\"``" -#: ../../library/stdtypes.rst:1478 +#: ../../library/stdtypes.rst:1480 msgid "" "Triple quoted: ``'''Three single quotes'''``, ``\"\"\"Three double " "quotes\"\"\"``" @@ -2482,7 +2490,7 @@ msgstr "" "Aspas triplas: ``'''Três aspas simples'''``, ``\"\"\"Três aspas " "duplas\"\"\"``" -#: ../../library/stdtypes.rst:1480 +#: ../../library/stdtypes.rst:1482 msgid "" "Triple quoted strings may span multiple lines - all associated whitespace " "will be included in the string literal." @@ -2490,7 +2498,7 @@ msgstr "" "Strings de aspas triplas podem expandir por várias linhas -- todos os " "espaços em branco associados serão incluídos em literal string." -#: ../../library/stdtypes.rst:1483 +#: ../../library/stdtypes.rst:1485 msgid "" "String literals that are part of a single expression and have only " "whitespace between them will be implicitly converted to a single string " @@ -2500,17 +2508,18 @@ msgstr "" "espaços em branco entre eles serão implicitamente convertidos em um único " "literal string. Isso é, ``(\"spam \" \"eggs\") == \"spam eggs\"``." -#: ../../library/stdtypes.rst:1487 +#: ../../library/stdtypes.rst:1489 msgid "" "See :ref:`strings` for more about the various forms of string literal, " -"including supported escape sequences, and the ``r`` (\"raw\") prefix that " -"disables most escape sequence processing." +"including supported :ref:`escape sequences `, and the " +"``r`` (\"raw\") prefix that disables most escape sequence processing." msgstr "" "Veja :ref:`strings` para mais informações sobre as várias formas de literal " -"de string, incluindo o suporte a strings de escape, e o prefixo ``r`` " -"(\"raw\") que desabilita a maioria dos processos de escape." +"de string, incluindo o suporte a :ref:`sequêncis de escape `, e o prefixo ``r`` (\"raw\") que desabilita a maioria dos " +"processos de sequência de escape." -#: ../../library/stdtypes.rst:1491 +#: ../../library/stdtypes.rst:1493 msgid "" "Strings may also be created from other objects using the :class:`str` " "constructor." @@ -2518,7 +2527,7 @@ msgstr "" "As strings também podem ser criadas a partir de outros objetos usando o " "construtor :class:`str`." -#: ../../library/stdtypes.rst:1494 +#: ../../library/stdtypes.rst:1496 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]``." @@ -2527,17 +2536,17 @@ msgstr "" "string produz strings de comprimento 1. Ou seja, para uma string não vazia " "*s*, ``s[0] == s[0:1]``." -#: ../../library/stdtypes.rst:1500 +#: ../../library/stdtypes.rst:1502 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." +"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 "" "Também não existe um tipo string mutável, mas o método :meth:`str.join` ou a " "classe :class:`io.StringIO` podem ser usados para construir strings de forma " "eficiente a partir de vários partes distintas." -#: ../../library/stdtypes.rst:1504 +#: ../../library/stdtypes.rst:1506 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 " @@ -2548,7 +2557,7 @@ msgstr "" "sobre o significado de literais strings e não pode ser combinado com o " "prefixo ``r``." -#: ../../library/stdtypes.rst:1516 +#: ../../library/stdtypes.rst:1518 msgid "" "Return a :ref:`string ` version of *object*. If *object* is not " "provided, returns the empty string. Otherwise, the behavior of ``str()`` " @@ -2559,43 +2568,37 @@ msgstr "" "``str()`` dependerá se o *encoding* ou *errors* são fornecidos, da seguinte " "forma." -#: ../../library/stdtypes.rst:1520 +#: ../../library/stdtypes.rst:1522 msgid "" -"If neither *encoding* nor *errors* is given, ``str(object)`` returns :meth:" -"`type(object).__str__(object) `, which is the \"informal\" " -"or nicely printable string representation of *object*. For string objects, " -"this is the string itself. If *object* does not have a :meth:`~object." -"__str__` method, then :func:`str` falls back to returning :meth:" -"`repr(object) `." +"If neither *encoding* nor *errors* is given, ``str(object)`` " +"returns :meth:`type(object).__str__(object) `, which is the " +"\"informal\" or nicely printable string representation of *object*. For " +"string objects, this is the string itself. If *object* does not have " +"a :meth:`~object.__str__` method, then :func:`str` falls back to " +"returning :meth:`repr(object) `." msgstr "" -"Se nem o *encoding* nem os *errors* forem dados, ``str(object)`` retorna o " -"método :meth:`type(object).__str__(object) `, que é a " -"representação de string \"informal\" ou que pode ser facilmente imprimível " -"de *object*. Para objetos string, esta é a própria string. Se *object* não " -"tiver um método :meth:`~object.__str__`, então a função :func:`str` " -"retornará :func:`repr(object) `." -#: ../../library/stdtypes.rst:1532 +#: ../../library/stdtypes.rst:1534 msgid "" -"If at least one of *encoding* or *errors* is given, *object* should be a :" -"term:`bytes-like object` (e.g. :class:`bytes` or :class:`bytearray`). In " +"If at least one of *encoding* or *errors* is given, *object* should be " +"a :term:`bytes-like object` (e.g. :class:`bytes` or :class:`bytearray`). In " "this case, if *object* is a :class:`bytes` (or :class:`bytearray`) object, " -"then ``str(bytes, encoding, errors)`` is equivalent to :meth:`bytes." -"decode(encoding, errors) `. Otherwise, the bytes object " -"underlying the buffer object is obtained before calling :meth:`bytes." -"decode`. See :ref:`binaryseq` and :ref:`bufferobjects` for information on " -"buffer objects." +"then ``str(bytes, encoding, errors)`` is equivalent " +"to :meth:`bytes.decode(encoding, errors) `. Otherwise, the " +"bytes object underlying the buffer object is obtained before " +"calling :meth:`bytes.decode`. See :ref:`binaryseq` and :ref:`bufferobjects` " +"for information on buffer objects." msgstr "" "Se pelo menos um de *encoding* ou *errors* for fornecido, *object* deve ser " -"um :term:`objeto byte ou similar ` (por exemplo, :class:" -"`bytes` ou :class:`bytearray`). Nesse caso, se *object* for um objeto :class:" -"`bytes` (ou :class:`bytearray`), então ``str(bytes, encoding, errors)`` será " -"equivalente a :meth:`bytes.decode(encoding, errors) `. Caso " -"contrário, o objeto byte subjacente ao objeto buffer é obtido antes de " +"um :term:`objeto bytes ou similar` (por exemplo, :class:`bytes` " +"ou :class:`bytearray`). Nesse caso, se *object* for um objeto :class:`bytes` " +"(ou :class:`bytearray`), então ``str(bytes, encoding, errors)`` equivale " +"a :meth:`bytes.decode(encoding, errors) `. Caso contrário, o " +"objeto bytes subjacente ao objeto buffer é obtido antes de " "chamar :meth:`bytes.decode`. Veja :ref:`binaryseq` e :ref:`bufferobjects` " "para obter informações sobre objetos buffer." -#: ../../library/stdtypes.rst:1541 +#: ../../library/stdtypes.rst:1543 msgid "" "Passing a :class:`bytes` object to :func:`str` without the *encoding* or " "*errors* arguments falls under the first case of returning the informal " @@ -2607,23 +2610,23 @@ msgstr "" "representação informal de strings (consulte também a opção de linha de " "comando :option:`-b` para Python). Por exemplo::" -#: ../../library/stdtypes.rst:1549 +#: ../../library/stdtypes.rst:1551 msgid "" -"For more information on the ``str`` class and its methods, see :ref:" -"`textseq` and the :ref:`string-methods` section below. To output formatted " -"strings, see the :ref:`f-strings` and :ref:`formatstrings` sections. In " -"addition, see the :ref:`stringservices` section." +"For more information on the ``str`` class and its methods, " +"see :ref:`textseq` and the :ref:`string-methods` section below. To output " +"formatted strings, see the :ref:`f-strings` and :ref:`formatstrings` " +"sections. In addition, see the :ref:`stringservices` section." msgstr "" -"Para mais informações sobre a classe ``str`` e seus métodos, veja :ref:" -"`textseq` e a seção :ref:`string-methods` abaixo. Para gerar strings " -"formatadas, veja as seções :ref:`f-strings` e :ref:`formatstrings`. Além " -"disso, veja a seção :ref:`stringservices`." +"Para mais informações sobre a classe ``str`` e seus métodos, " +"veja :ref:`textseq` e a seção :ref:`string-methods` abaixo. Para gerar " +"strings formatadas, veja as seções :ref:`f-strings` e :ref:`formatstrings`. " +"Além disso, veja a seção :ref:`stringservices`." -#: ../../library/stdtypes.rst:1561 +#: ../../library/stdtypes.rst:1563 msgid "String Methods" -msgstr "Métodos de string" +msgstr "String Methods" -#: ../../library/stdtypes.rst:1566 +#: ../../library/stdtypes.rst:1568 msgid "" "Strings implement all of the :ref:`common ` sequence " "operations, along with the additional methods described below." @@ -2631,24 +2634,24 @@ msgstr "" "Strings implementam todas as operações :ref:`comuns ` de " "sequências, juntamente com os métodos adicionais descritos abaixo." -#: ../../library/stdtypes.rst:1569 +#: ../../library/stdtypes.rst:1571 msgid "" "Strings also support two styles of string formatting, one providing a large " -"degree of flexibility and customization (see :meth:`str.format`, :ref:" -"`formatstrings` and :ref:`string-formatting`) and the other based on C " -"``printf`` style formatting that handles a narrower range of types and is " -"slightly harder to use correctly, but is often faster for the cases it can " -"handle (:ref:`old-string-formatting`)." +"degree of flexibility and customization " +"(see :meth:`str.format`, :ref:`formatstrings` and :ref:`string-formatting`) " +"and the other based on C ``printf`` style formatting that handles a narrower " +"range of types and is slightly harder to use correctly, but is often faster " +"for the cases it can handle (:ref:`old-string-formatting`)." msgstr "" "Strings também possuem suporte para duas formas de formatação de string, uma " -"fornecendo uma ampla gama de flexibilidade e customização (veja :meth:`str." -"format`, :ref:`formatstrings` e :ref:`string-formatting`) e a outra baseada " -"no estilo de formatação ``printf`` da linguagem C, que lida com uma gama " -"menor de tipos e é levemente mais difícil de utilizar corretamente, mas é " -"frequentemente mais rápida para os casos na qual ela consegue manipular (:" -"ref:`old-string-formatting`)." +"fornecendo uma ampla gama de flexibilidade e customização " +"(veja :meth:`str.format`, :ref:`formatstrings` e :ref:`string-formatting`) e " +"a outra baseada no estilo de formatação ``printf`` da linguagem C, que lida " +"com uma gama menor de tipos e é levemente mais difícil de utilizar " +"corretamente, mas é frequentemente mais rápida para os casos na qual ela " +"consegue manipular (:ref:`old-string-formatting`)." -#: ../../library/stdtypes.rst:1576 +#: ../../library/stdtypes.rst:1578 msgid "" "The :ref:`textservices` section of the standard library covers a number of " "other modules that provide various text related utilities (including regular " @@ -2658,7 +2661,7 @@ msgstr "" "outros módulos que fornecem vários utilitários relacionados a texto " "(incluindo suporte a expressões regulares no módulo :mod:`re`)." -#: ../../library/stdtypes.rst:1582 +#: ../../library/stdtypes.rst:1584 msgid "" "Return a copy of the string with its first character capitalized and the " "rest lowercased." @@ -2666,7 +2669,7 @@ msgstr "" "Retorna uma cópia da string com o seu primeiro caractere em maiúsculo e o " "restante em minúsculo." -#: ../../library/stdtypes.rst:1585 +#: ../../library/stdtypes.rst:1587 msgid "" "The first character is now put into titlecase rather than uppercase. This " "means that characters like digraphs will only have their first letter " @@ -2676,7 +2679,7 @@ msgstr "" "maiúsculas. Isso significa que caracteres como dígrafos apenas terão sua " "primeira letra alterada para maiúscula, ao invés de todos os caracteres." -#: ../../library/stdtypes.rst:1592 +#: ../../library/stdtypes.rst:1594 msgid "" "Return a casefolded copy of the string. Casefolded strings may be used for " "caseless matching." @@ -2684,13 +2687,13 @@ msgstr "" "Retorna uma cópia da string em *casefolded*. Strings em *casefold* podem ser " "usadas para corresponder letras sem importar se são minúsculas ou maiúsculas." -#: ../../library/stdtypes.rst:1595 +#: ../../library/stdtypes.rst:1597 msgid "" "Casefolding is similar to lowercasing but more aggressive because it is " "intended to remove all case distinctions in a string. For example, the " "German lowercase letter ``'ß'`` is equivalent to ``\"ss\"``. Since it is " -"already lowercase, :meth:`lower` would do nothing to ``'ß'``; :meth:" -"`casefold` converts it to ``\"ss\"``." +"already lowercase, :meth:`lower` would do nothing to " +"``'ß'``; :meth:`casefold` converts it to ``\"ss\"``." msgstr "" "*Casefolding* é similar a mudar para letras minúsculas, mas mais agressivo " "porque destina-se a remover todas as diferenças maiúsculas/minúsculas em uma " @@ -2699,13 +2702,13 @@ msgstr "" "fazer nada para ``'ß'``; já o método :meth:`casefold` converte a letra para " "``\"ss\"``." -#: ../../library/stdtypes.rst:1601 +#: ../../library/stdtypes.rst:1603 msgid "" "The casefolding algorithm is described in section 3.13 of the Unicode " "Standard." msgstr "O algoritmo *casefolding* é descrito na seção 3.13 do Padrão Unicode." -#: ../../library/stdtypes.rst:1609 +#: ../../library/stdtypes.rst:1611 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 " @@ -2716,7 +2719,7 @@ msgstr "" "caractere de espaço ASCII). A string original é retornada se *width* é menor " "ou igual que ``len(s)``." -#: ../../library/stdtypes.rst:1617 +#: ../../library/stdtypes.rst:1619 msgid "" "Return the number of non-overlapping occurrences of substring *sub* in the " "range [*start*, *end*]. Optional arguments *start* and *end* are " @@ -2726,7 +2729,7 @@ msgstr "" "intervalo [*start*, *end*]. Argumentos opcionais *start* e *end* são " "interpretados como na notação de fatias." -#: ../../library/stdtypes.rst:1621 +#: ../../library/stdtypes.rst:1623 msgid "" "If *sub* is empty, returns the number of empty strings between characters " "which is the length of the string plus one." @@ -2734,11 +2737,11 @@ msgstr "" "Se *sub* estiver vazio, retorna o número de strings vazias entre os " "caracteres, que é o comprimento da string mais um." -#: ../../library/stdtypes.rst:1627 +#: ../../library/stdtypes.rst:1629 msgid "Return the string encoded to :class:`bytes`." msgstr "Retorna a string codificada para :class:`bytes`." -#: ../../library/stdtypes.rst:1629 ../../library/stdtypes.rst:2764 +#: ../../library/stdtypes.rst:1631 ../../library/stdtypes.rst:2766 msgid "" "*encoding* defaults to ``'utf-8'``; see :ref:`standard-encodings` for " "possible values." @@ -2746,44 +2749,44 @@ msgstr "" "*encoding* tem como padrão ``'utf-8'``; veja :ref:`standard-encodings` para " "valores possíveis." -#: ../../library/stdtypes.rst:1632 +#: ../../library/stdtypes.rst:1634 msgid "" "*errors* controls how encoding errors are handled. If ``'strict'`` (the " "default), a :exc:`UnicodeError` exception is raised. Other possible values " "are ``'ignore'``, ``'replace'``, ``'xmlcharrefreplace'``, " -"``'backslashreplace'`` and any other name registered via :func:`codecs." -"register_error`. See :ref:`error-handlers` for details." +"``'backslashreplace'`` and any other name registered " +"via :func:`codecs.register_error`. See :ref:`error-handlers` for details." msgstr "" "*errors* controla como os erros de codificação são tratados. Se ``'strict'`` " "(o padrão), uma exceção :exc:`UnicodeError` é levantada. Outros valores " "possíveis são ``'ignore'``, ``'replace'``, ``'xmlcharrefreplace'``, " -"``'backslashreplace'`` e qualquer outro nome registrado via :func:`codecs." -"register_error`. Veja :ref:`error-handlers` para detalhes." +"``'backslashreplace'`` e qualquer outro nome registrado " +"via :func:`codecs.register_error`. Veja :ref:`error-handlers` para detalhes." -#: ../../library/stdtypes.rst:1639 +#: ../../library/stdtypes.rst:1641 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." +"unless an encoding error actually occurs, :ref:`devmode` is enabled or " +"a :ref:`debug build ` is used." 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." +"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." -#: ../../library/stdtypes.rst:1644 ../../library/stdtypes.rst:2783 +#: ../../library/stdtypes.rst:1646 ../../library/stdtypes.rst:2785 msgid "Added support for keyword arguments." msgstr "Adicionado suporte para argumentos nomeados." -#: ../../library/stdtypes.rst:1647 ../../library/stdtypes.rst:2786 +#: ../../library/stdtypes.rst:1649 ../../library/stdtypes.rst:2788 msgid "" -"The value of the *errors* argument is now checked in :ref:`devmode` and in :" -"ref:`debug mode `." +"The value of the *errors* argument is now checked in :ref:`devmode` and " +"in :ref:`debug mode `." msgstr "" -"O valor do argumento *errors* agora é verificado em :ref:`devmode` e no :ref:" -"`modo de depuração `." +"O valor do argumento *errors* agora é verificado em :ref:`devmode` e " +"no :ref:`modo de depuração `." -#: ../../library/stdtypes.rst:1654 +#: ../../library/stdtypes.rst:1656 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. " @@ -2796,7 +2799,7 @@ msgstr "" "daquela posição. Com o parâmetro opcional *end*, devemos parar de comparar " "na posição especificada." -#: ../../library/stdtypes.rst:1662 +#: ../../library/stdtypes.rst:1664 msgid "" "Return a copy of the string where all tab characters are replaced by one or " "more spaces, depending on the current column and the given tab size. Tab " @@ -2825,7 +2828,7 @@ msgstr "" "ser modificado e a coluna atual é incrementada em uma unidade " "independentemente de como o caractere é representado quando é impresso." -#: ../../library/stdtypes.rst:1683 +#: ../../library/stdtypes.rst:1685 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 " @@ -2836,17 +2839,17 @@ msgstr "" "são interpretados como na notação de fatiamento. Retorna ``-1`` se *sub* não " "for localizado." -#: ../../library/stdtypes.rst:1689 +#: ../../library/stdtypes.rst:1691 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::" +"position of *sub*. To check if *sub* is a substring or not, use " +"the :keyword:`in` operator::" msgstr "" "O método :meth:`~str.find` deve ser usado apenas se precisarmos conhecer a " "posição de *sub*. Para verificar se *sub* é ou não uma substring, use o " "operador :keyword:`in`::" -#: ../../library/stdtypes.rst:1699 +#: ../../library/stdtypes.rst:1701 msgid "" "Perform a string formatting operation. The string on which this method is " "called can contain literal text or replacement fields delimited by braces " @@ -2862,7 +2865,7 @@ msgstr "" "da string onde cada campo para substituição é substituído com o valor da " "string do argumento correspondente." -#: ../../library/stdtypes.rst:1709 +#: ../../library/stdtypes.rst:1711 msgid "" "See :ref:`formatstrings` for a description of the various formatting options " "that can be specified in format strings." @@ -2870,26 +2873,27 @@ msgstr "" "Veja :ref:`formatstrings` para uma descrição das várias opções de formatação " "que podem ser especificadas em uma strings de formato." -#: ../../library/stdtypes.rst:1713 +#: ../../library/stdtypes.rst:1715 msgid "" -"When formatting a number (:class:`int`, :class:`float`, :class:`complex`, :" -"class:`decimal.Decimal` and subclasses) with the ``n`` type (ex: ``'{:n}'." -"format(1234)``), the function temporarily sets the ``LC_CTYPE`` locale to " -"the ``LC_NUMERIC`` locale to decode ``decimal_point`` and ``thousands_sep`` " -"fields of :c:func:`localeconv` if they are non-ASCII or longer than 1 byte, " -"and the ``LC_NUMERIC`` locale is different than the ``LC_CTYPE`` locale. " -"This temporary change affects other threads." +"When formatting a number " +"(:class:`int`, :class:`float`, :class:`complex`, :class:`decimal.Decimal` " +"and subclasses) with the ``n`` type (ex: ``'{:n}'.format(1234)``), the " +"function temporarily sets the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` " +"locale to decode ``decimal_point`` and ``thousands_sep`` fields " +"of :c:func:`localeconv` if they are non-ASCII or longer than 1 byte, and the " +"``LC_NUMERIC`` locale is different than the ``LC_CTYPE`` locale. This " +"temporary change affects other threads." msgstr "" -"Ao formatar um número (:class:`int`, :class:`float`, :class:`complex`, :" -"class:`decimal.Decimal` e sub-classes) com o tipo ``n`` (ex: ``'{:n}'." -"format(1234)``), a função define temporariamente a localidade ``LC_CTYPE`` " -"para a localidade ``LC_NUMERIC`` a fim de decodificar campos " -"``decimal_point`` e ``thousands_sep`` de :c:func:`localeconv` se eles são " -"caracteres não-ASCII ou maiores que 1 byte, e a localidade ``LC_NUMERIC`` é " -"diferente da localidade ``LC_CTYPE``. Esta mudança temporária afeta outras " -"threads." +"Ao formatar um número " +"(:class:`int`, :class:`float`, :class:`complex`, :class:`decimal.Decimal` e " +"sub-classes) com o tipo ``n`` (ex: ``'{:n}'.format(1234)``), a função define " +"temporariamente a localidade ``LC_CTYPE`` para a localidade ``LC_NUMERIC`` a " +"fim de decodificar campos ``decimal_point`` e ``thousands_sep`` " +"de :c:func:`localeconv` se eles são caracteres não-ASCII ou maiores que 1 " +"byte, e a localidade ``LC_NUMERIC`` é diferente da localidade ``LC_CTYPE``. " +"Esta mudança temporária afeta outras threads." -#: ../../library/stdtypes.rst:1722 +#: ../../library/stdtypes.rst:1724 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." @@ -2897,7 +2901,7 @@ msgstr "" "Ao formatar um número com o tipo ``n``, a função define temporariamente a " "localidade ``LC_CTYPE`` para a localidade ``LC_NUMERIC`` em alguns casos." -#: ../../library/stdtypes.rst:1730 +#: ../../library/stdtypes.rst:1732 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 " @@ -2907,7 +2911,7 @@ msgstr "" "é usado diretamente e não copiado para uma classe :class:`dict`. Isso é útil " "se, por exemplo, ``mapping`` é uma subclasse de dict:" -#: ../../library/stdtypes.rst:1746 +#: ../../library/stdtypes.rst:1748 msgid "" "Like :meth:`~str.find`, but raise :exc:`ValueError` when the substring is " "not found." @@ -2915,24 +2919,24 @@ msgstr "" "Senelhante a :meth:`~str.find`, mas levanta :exc:`ValueError` quando a " "substring não é encontrada." -#: ../../library/stdtypes.rst:1752 +#: ../../library/stdtypes.rst:1754 msgid "" "Return ``True`` if all characters in the string are alphanumeric and there " "is at least one character, ``False`` otherwise. A character ``c`` is " -"alphanumeric if one of the following returns ``True``: ``c.isalpha()``, ``c." -"isdecimal()``, ``c.isdigit()``, or ``c.isnumeric()``." +"alphanumeric if one of the following returns ``True``: ``c.isalpha()``, " +"``c.isdecimal()``, ``c.isdigit()``, or ``c.isnumeric()``." msgstr "" "Retorna ``True`` se todos os caracteres na string são alfanuméricos e existe " "pelo menos um caractere, ou ``False`` caso contrário. Um caractere ``c`` é " -"alfanumérico se um dos seguintes retorna ``True``: ``c.isalpha()``, ``c." -"isdecimal()``, ``c.isdigit()``, ou ``c.isnumeric()``." +"alfanumérico se um dos seguintes retorna ``True``: ``c.isalpha()``, " +"``c.isdecimal()``, ``c.isdigit()``, ou ``c.isnumeric()``." -#: ../../library/stdtypes.rst:1760 +#: ../../library/stdtypes.rst:1762 msgid "" "Return ``True`` if all characters in the string are alphabetic and there is " "at least one character, ``False`` otherwise. Alphabetic characters are " -"those characters defined in the Unicode character database as \"Letter\", i." -"e., those with general category property being one of \"Lm\", \"Lt\", " +"those characters defined in the Unicode character database as \"Letter\", " +"i.e., those with general category property being one of \"Lm\", \"Lt\", " "\"Lu\", \"Ll\", or \"Lo\". Note that this is different from the " "\"Alphabetic\" property defined in the Unicode Standard." msgstr "" @@ -2943,7 +2947,7 @@ msgstr "" "\"Lm\", \"Lt\", \"Lu\", \"Ll\" ou \"Lo\". Perceba que isso é diferente da " "propriedade \"Alfabética\" definida no Unicode padrão." -#: ../../library/stdtypes.rst:1769 +#: ../../library/stdtypes.rst:1771 msgid "" "Return ``True`` if the string is empty or all characters in the string are " "ASCII, ``False`` otherwise. ASCII characters have code points in the range " @@ -2953,7 +2957,7 @@ msgstr "" "ASCII, ``False`` caso contrário. Caracteres ASCII têm pontos de código no " "intervalo U+0000-U+007F." -#: ../../library/stdtypes.rst:1778 +#: ../../library/stdtypes.rst:1780 msgid "" "Return ``True`` if all characters in the string are decimal characters and " "there is at least one character, ``False`` otherwise. Decimal characters are " @@ -2967,7 +2971,7 @@ msgstr "" "exemplo U+0660, ou dígito zero para arábico-índico. Formalmente, um " "caractere decimal é um caractere em Unicode cuja categoria geral é \"Nd\"." -#: ../../library/stdtypes.rst:1788 +#: ../../library/stdtypes.rst:1790 msgid "" "Return ``True`` if all characters in the string are digits and there is at " "least one character, ``False`` otherwise. Digits include decimal characters " @@ -2984,7 +2988,7 @@ msgstr "" "de Kharosthi. Formalmente, um dígito é um caractere que tem a propriedade " "com valor Numeric_Type=Digit ou Numeric_Type=Decimal." -#: ../../library/stdtypes.rst:1798 +#: ../../library/stdtypes.rst:1800 msgid "" "Return ``True`` if the string is a valid identifier according to the " "language definition, section :ref:`identifiers`." @@ -2992,7 +2996,7 @@ msgstr "" "Retorna ``True`` se a string é um identificador válido conforme a definição " "da linguagem, seção :ref:`identifiers`." -#: ../../library/stdtypes.rst:1801 +#: ../../library/stdtypes.rst:1803 msgid "" "Call :func:`keyword.iskeyword` to test whether string ``s`` is a reserved " "identifier, such as :keyword:`def` and :keyword:`class`." @@ -3000,11 +3004,11 @@ msgstr "" "Chame :func:`keyword.iskeyword` para testar se a string ``s`` é uma palavra " "reservada, tal como :keyword:`def` e :keyword:`class`." -#: ../../library/stdtypes.rst:1804 +#: ../../library/stdtypes.rst:1806 msgid "Example: ::" msgstr "Exemplo: ::" -#: ../../library/stdtypes.rst:1817 +#: ../../library/stdtypes.rst:1819 msgid "" "Return ``True`` if all cased characters [4]_ in the string are lowercase and " "there is at least one cased character, ``False`` otherwise." @@ -3013,7 +3017,7 @@ msgstr "" "minúsculo) [4]_ na string são minúsculos e existe pelo menos um caractere em " "caixa, ``False`` caso contrário." -#: ../../library/stdtypes.rst:1823 +#: ../../library/stdtypes.rst:1825 msgid "" "Return ``True`` if all characters in the string are numeric characters, and " "there is at least one character, ``False`` otherwise. Numeric characters " @@ -3029,7 +3033,7 @@ msgstr "" "Formalmente, caracteres numéricos são aqueles que possuem propriedades com " "valor Numeric_Type=Digit, Numeric_Type=Decimal ou Numeric_Type=Numeric." -#: ../../library/stdtypes.rst:1833 +#: ../../library/stdtypes.rst:1835 msgid "" "Return ``True`` if all characters in the string are printable or the string " "is empty, ``False`` otherwise. Nonprintable characters are those characters " @@ -3046,28 +3050,29 @@ msgstr "" "representa o espaço (0x20), o qual é impresso. (Perceba que caracteres que " "podem ser impressos, neste contexto, são aqueles que não devem ser escapados " "quando :func:`repr` é invocada sobre uma string. Ela não tem sentido no " -"tratamento de strings escritas usando :data:`sys.stdout` ou :data:`sys." -"stderr`.)" +"tratamento de strings escritas usando :data:`sys.stdout` " +"ou :data:`sys.stderr`.)" -#: ../../library/stdtypes.rst:1844 +#: ../../library/stdtypes.rst:1846 msgid "" "Return ``True`` if there are only whitespace characters in the string and " "there is at least one character, ``False`` otherwise." msgstr "" "Retorna ``True`` se existem apenas caracteres de espaço em branco na string " -"e existe pelo menos caractere, ``False`` caso contrário." +"e existe pelo menos um caractere, ``False`` caso contrário." -#: ../../library/stdtypes.rst:1847 +#: ../../library/stdtypes.rst:1849 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``." +"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 "" "Um caractere é *espaço em branco* se no banco de dados de caracteres Unicode " "(veja :mod:`unicodedata`), ou pertence a categoria geral ``Zs`` " "(\"Separador, espaço\"), ou sua classe bidirecional é ``WS``, ``B`` ou ``S``." -#: ../../library/stdtypes.rst:1855 +#: ../../library/stdtypes.rst:1857 msgid "" "Return ``True`` if the string is a titlecased string and there is at least " "one character, for example uppercase characters may only follow uncased " @@ -3079,7 +3084,7 @@ msgstr "" "diferenciam maiúsculas/minúsculas, e caracteres minúsculos somente podem " "proceder caracteres que permitem ambos. Retorna ``False`` caso contrário." -#: ../../library/stdtypes.rst:1862 +#: ../../library/stdtypes.rst:1864 msgid "" "Return ``True`` if all cased characters [4]_ in the string are uppercase and " "there is at least one cased character, ``False`` otherwise." @@ -3088,19 +3093,19 @@ msgstr "" "minúsculas [4]_ na string estão com letras maiúsculas, e existe pelo menos " "um caractere maiúsculo, ``False`` caso contrário." -#: ../../library/stdtypes.rst:1880 +#: ../../library/stdtypes.rst:1882 msgid "" -"Return a string which is the concatenation of the strings in *iterable*. A :" -"exc:`TypeError` will be raised if there are any non-string values in " +"Return a string which is the concatenation of the strings in *iterable*. " +"A :exc:`TypeError` will be raised if there are any non-string values in " "*iterable*, including :class:`bytes` objects. The separator between " "elements is the string providing this method." msgstr "" -"Retorna a string que é a concatenação das strings no *iterável*. Uma :exc:" -"`TypeError` será levantada se existirem quaisquer valores que não sejam " -"strings no *iterável*, incluindo objetos :class:`bytes`. O separador entre " -"elementos é a string que está fornecendo este método." +"Retorna a string que é a concatenação das strings no *iterável*. " +"Uma :exc:`TypeError` será levantada se existirem quaisquer valores que não " +"sejam strings no *iterável*, incluindo objetos :class:`bytes`. O separador " +"entre elementos é a string que está fornecendo este método." -#: ../../library/stdtypes.rst:1888 +#: ../../library/stdtypes.rst:1890 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 " @@ -3111,7 +3116,7 @@ msgstr "" "caractere ASCII de espaço). A string original é retornada se *width* é menor " "ou igual que ``len(s)``." -#: ../../library/stdtypes.rst:1895 +#: ../../library/stdtypes.rst:1897 msgid "" "Return a copy of the string with all the cased characters [4]_ converted to " "lowercase." @@ -3119,7 +3124,7 @@ msgstr "" "Retorna uma cópia da string com todos os caracteres que permitem maiúsculo E " "minúsculo [4]_ convertidos para letras minúsculas." -#: ../../library/stdtypes.rst:1898 +#: ../../library/stdtypes.rst:1900 msgid "" "The lowercasing algorithm used is described in section 3.13 of the Unicode " "Standard." @@ -3127,7 +3132,7 @@ msgstr "" "O algoritmo usado para letras minúsculas é descrito na seção 3.13 do Padrão " "Unicode." -#: ../../library/stdtypes.rst:1904 +#: ../../library/stdtypes.rst:1906 msgid "" "Return a copy of the string with leading characters removed. The *chars* " "argument is a string specifying the set of characters to be removed. If " @@ -3140,9 +3145,9 @@ msgstr "" "removidos. Se for omitido ou se for ``None``, o argumento *chars* será " "considerado como espaço em branco por padrão para a remoção. O argumento " "*chars* não é um prefixo; ao invés disso, todas as combinações dos seus " -"valores são retirados::" +"valores são removidas::" -#: ../../library/stdtypes.rst:1914 +#: ../../library/stdtypes.rst:1916 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::" @@ -3150,15 +3155,15 @@ msgstr "" "Consulte :meth:`str.removeprefix` para um método que removerá uma única " "string de prefixo em vez de todo um conjunto de caracteres. Por exemplo::" -#: ../../library/stdtypes.rst:1925 +#: ../../library/stdtypes.rst:1927 msgid "" -"This static method returns a translation table usable for :meth:`str." -"translate`." +"This static method returns a translation table usable " +"for :meth:`str.translate`." msgstr "" -"Este método estático retorna uma tabela de tradução usável para :meth:`str." -"translate`." +"Este método estático retorna uma tabela de tradução usável " +"para :meth:`str.translate`." -#: ../../library/stdtypes.rst:1927 +#: ../../library/stdtypes.rst:1929 msgid "" "If there is only one argument, it must be a dictionary mapping Unicode " "ordinals (integers) or characters (strings of length 1) to Unicode ordinals, " @@ -3170,7 +3175,7 @@ msgstr "" "Unicode, strings (de comprimento arbitrário) ou ``None``. Caracteres chave " "serão então convertidos para números ordinais." -#: ../../library/stdtypes.rst:1932 +#: ../../library/stdtypes.rst:1934 msgid "" "If there are two arguments, they must be strings of equal length, and in the " "resulting dictionary, each character in x will be mapped to the character at " @@ -3182,7 +3187,7 @@ msgstr "" "na mesma posição em y. Se existir um terceiro argumento, ele deve ser uma " "string, cujos caracteres serão mapeados para ``None`` no resultado." -#: ../../library/stdtypes.rst:1940 +#: ../../library/stdtypes.rst:1942 msgid "" "Split the string at the first occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself, and the part " @@ -3194,7 +3199,7 @@ msgstr "" "parte após o separador. Se o separador não for encontrado, retorna uma tupla " "com 3 elementos contendo a string, seguido de duas strings vazias." -#: ../../library/stdtypes.rst:1948 +#: ../../library/stdtypes.rst:1950 msgid "" "If the string starts with the *prefix* string, return " "``string[len(prefix):]``. Otherwise, return a copy of the original string::" @@ -3202,7 +3207,7 @@ msgstr "" "Se a string começar com a string *prefix*, retorna ``string[len(prefix):]``. " "Caso contrário, retorna uma cópia da string original::" -#: ../../library/stdtypes.rst:1962 +#: ../../library/stdtypes.rst:1964 msgid "" "If the string ends with the *suffix* string and that *suffix* is not empty, " "return ``string[:-len(suffix)]``. Otherwise, return a copy of the original " @@ -3212,17 +3217,17 @@ msgstr "" "retorna ``string[:-len(suffix)]``. Caso contrário, retorna uma cópia da " "string original::" -#: ../../library/stdtypes.rst:1976 +#: ../../library/stdtypes.rst:1978 msgid "" "Return a copy of the string with all occurrences of substring *old* replaced " "by *new*. If the optional argument *count* is given, only the first *count* " "occurrences are replaced." msgstr "" -"Retorna uma cópia da string com todas as ocorrências da substring *old* " -"substituídas por *new*. Se o argumento opcional *count* é fornecido, apenas " -"as primeiras *count* ocorrências são substituídas." +"Retornar uma cópia da string com todas as ocorrências de substrings " +"*antigas* substituídas por *novo*. Se o argumento opcional *count* for " +"fornecido, apenas as primeiras ocorrências de *count* serão substituídas." -#: ../../library/stdtypes.rst:1983 +#: ../../library/stdtypes.rst:1985 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* " @@ -3233,7 +3238,7 @@ msgstr "" "Argumentos opcionais *start* e *end* são interpretados usando a notação " "slice. Retorna ``-1`` em caso de falha." -#: ../../library/stdtypes.rst:1990 +#: ../../library/stdtypes.rst:1992 msgid "" "Like :meth:`rfind` but raises :exc:`ValueError` when the substring *sub* is " "not found." @@ -3241,7 +3246,7 @@ msgstr "" "Similar a :meth:`rfind` mas levanta um :exc:`ValueError` quando a substring " "*sub* não é encontrada." -#: ../../library/stdtypes.rst:1996 +#: ../../library/stdtypes.rst:1998 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 " @@ -3252,7 +3257,7 @@ msgstr "" "um caractere de espaço ASCII). A string original é retornada se *width* é " "menor que ou igual a ``len(s)``." -#: ../../library/stdtypes.rst:2003 +#: ../../library/stdtypes.rst:2005 msgid "" "Split the string at the last occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself, and the part " @@ -3265,7 +3270,7 @@ msgstr "" "com 3 elementos contendo duas strings vazias, seguido da própria string " "original." -#: ../../library/stdtypes.rst:2011 +#: ../../library/stdtypes.rst:2013 msgid "" "Return a list of the words in the string, using *sep* as the delimiter " "string. If *maxsplit* is given, at most *maxsplit* splits are done, the " @@ -3277,10 +3282,10 @@ msgstr "" "delimitadora. Se *maxsplit* é fornecido, no máximo *maxsplit* cortes são " "feitos, sendo estes mais *à direita*. Se *sep* não foi especificado ou " "``None`` foi informado, qualquer string de espaço em branco é um separador. " -"Exceto pelo fato de separar pela direita, :meth:`rsplit` se comporta como :" -"meth:`split`, o qual é descrito em detalhes abaixo." +"Exceto pelo fato de separar pela direita, :meth:`rsplit` se comporta " +"como :meth:`split`, o qual é descrito em detalhes abaixo." -#: ../../library/stdtypes.rst:2020 +#: ../../library/stdtypes.rst:2022 msgid "" "Return a copy of the string with trailing characters removed. The *chars* " "argument is a string specifying the set of characters to be removed. If " @@ -3293,9 +3298,9 @@ msgstr "" "removidos. Se omitidos ou tiver o valor ``None``, o argumento *chars* " "considera como padrão a remoção dos espaços em branco. O argumento *chars* " "não é um sufixo; ao invés disso, todas as combinações dos seus valores são " -"removidos::" +"removidas::" -#: ../../library/stdtypes.rst:2030 +#: ../../library/stdtypes.rst:2032 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::" @@ -3303,7 +3308,7 @@ msgstr "" "Consulte :meth:`str.removesuffix` para um método que removerá uma única " "string de sufixo em vez de todo um conjunto de caracteres. Por exemplo::" -#: ../../library/stdtypes.rst:2040 +#: ../../library/stdtypes.rst:2042 msgid "" "Return a list of the words in the string, using *sep* as the delimiter " "string. If *maxsplit* is given, at most *maxsplit* splits are done (thus, " @@ -3317,7 +3322,7 @@ msgstr "" "*maxsplit* não foi especificado ou ``-1`` foi informado, então não existe " "limite no número de cortes (todos os cortes possíveis são realizados)." -#: ../../library/stdtypes.rst:2046 +#: ../../library/stdtypes.rst:2048 msgid "" "If *sep* is given, consecutive delimiters are not grouped together and are " "deemed to delimit empty strings (for example, ``'1,,2'.split(',')`` returns " @@ -3326,26 +3331,26 @@ msgid "" "Splitting an empty string with a specified separator returns ``['']``." msgstr "" "Se *sep* é fornecido, delimitadores consecutivos não são agrupados juntos e " -"eles são destinados para delimitar strings vazias (por exemplo ``'1,,2'." -"split(',')`` retorna ``['1', '', '2']``). O argumento *sep* pode consistir " -"de múltiplos caracteres (por exemplo, ``'1<>2<>3'.split('<>')`` retorna " -"``['1', '2', '3']``). Separar uma string vazia com um separador especificado " -"retorna ``['']``." - -#: ../../library/stdtypes.rst:2052 ../../library/stdtypes.rst:2068 -#: ../../library/stdtypes.rst:2120 ../../library/stdtypes.rst:2188 -#: ../../library/stdtypes.rst:2255 ../../library/stdtypes.rst:3102 -#: ../../library/stdtypes.rst:3118 ../../library/stdtypes.rst:3209 -#: ../../library/stdtypes.rst:3225 ../../library/stdtypes.rst:3250 -#: ../../library/stdtypes.rst:3264 ../../library/stdtypes.rst:3292 -#: ../../library/stdtypes.rst:3306 ../../library/stdtypes.rst:3324 -#: ../../library/stdtypes.rst:3351 ../../library/stdtypes.rst:3374 -#: ../../library/stdtypes.rst:3401 ../../library/stdtypes.rst:3443 -#: ../../library/stdtypes.rst:3467 +"eles são destinados para delimitar strings vazias (por exemplo " +"``'1,,2'.split(',')`` retorna ``['1', '', '2']``). O argumento *sep* pode " +"consistir de múltiplos caracteres (por exemplo, ``'1<>2<>3'.split('<>')`` " +"retorna ``['1', '2', '3']``). Separar uma string vazia com um separador " +"especificado retorna ``['']``." + +#: ../../library/stdtypes.rst:2054 ../../library/stdtypes.rst:2070 +#: ../../library/stdtypes.rst:2122 ../../library/stdtypes.rst:2190 +#: ../../library/stdtypes.rst:2257 ../../library/stdtypes.rst:3104 +#: ../../library/stdtypes.rst:3120 ../../library/stdtypes.rst:3211 +#: ../../library/stdtypes.rst:3227 ../../library/stdtypes.rst:3252 +#: ../../library/stdtypes.rst:3266 ../../library/stdtypes.rst:3294 +#: ../../library/stdtypes.rst:3308 ../../library/stdtypes.rst:3326 +#: ../../library/stdtypes.rst:3353 ../../library/stdtypes.rst:3376 +#: ../../library/stdtypes.rst:3403 ../../library/stdtypes.rst:3445 +#: ../../library/stdtypes.rst:3469 msgid "For example::" msgstr "Por exemplo::" -#: ../../library/stdtypes.rst:2061 +#: ../../library/stdtypes.rst:2063 msgid "" "If *sep* is not specified or is ``None``, a different splitting algorithm is " "applied: runs of consecutive whitespace are regarded as a single separator, " @@ -3362,7 +3367,7 @@ msgstr "" "consiste apenas de espaços em branco com o separador ``None``, retorna " "``[]``." -#: ../../library/stdtypes.rst:2083 +#: ../../library/stdtypes.rst:2085 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 " @@ -3372,7 +3377,7 @@ msgstr "" "cada linha. Quebras de linhas não são incluídas na lista resultante a não " "ser que *keepends* seja fornecido e seja verdadeiro." -#: ../../library/stdtypes.rst:2087 +#: ../../library/stdtypes.rst:2089 msgid "" "This method splits on the following line boundaries. In particular, the " "boundaries are a superset of :term:`universal newlines`." @@ -3381,107 +3386,107 @@ msgstr "" "limites são um superconjunto de :term:`novas linhas universais `." -#: ../../library/stdtypes.rst:2091 +#: ../../library/stdtypes.rst:2093 msgid "Representation" msgstr "Representação" -#: ../../library/stdtypes.rst:2091 +#: ../../library/stdtypes.rst:2093 msgid "Description" msgstr "Descrição" -#: ../../library/stdtypes.rst:2093 +#: ../../library/stdtypes.rst:2095 msgid "``\\n``" msgstr "``\\n``" -#: ../../library/stdtypes.rst:2093 +#: ../../library/stdtypes.rst:2095 msgid "Line Feed" msgstr "Feed de linha" -#: ../../library/stdtypes.rst:2095 +#: ../../library/stdtypes.rst:2097 msgid "``\\r``" msgstr "``\\r``" -#: ../../library/stdtypes.rst:2095 +#: ../../library/stdtypes.rst:2097 msgid "Carriage Return" msgstr "Retorno de Carro" -#: ../../library/stdtypes.rst:2097 +#: ../../library/stdtypes.rst:2099 msgid "``\\r\\n``" msgstr "``\\r\\n``" -#: ../../library/stdtypes.rst:2097 +#: ../../library/stdtypes.rst:2099 msgid "Carriage Return + Line Feed" msgstr "Retorno do Carro + Feed da Linha" -#: ../../library/stdtypes.rst:2099 +#: ../../library/stdtypes.rst:2101 msgid "``\\v`` or ``\\x0b``" msgstr "``\\v`` ou ``\\x0b``" -#: ../../library/stdtypes.rst:2099 +#: ../../library/stdtypes.rst:2101 msgid "Line Tabulation" msgstr "Tabulação de Linha" -#: ../../library/stdtypes.rst:2101 +#: ../../library/stdtypes.rst:2103 msgid "``\\f`` or ``\\x0c``" msgstr "``\\f`` ou ``\\x0c``" -#: ../../library/stdtypes.rst:2101 +#: ../../library/stdtypes.rst:2103 msgid "Form Feed" msgstr "Formulário de Feed" -#: ../../library/stdtypes.rst:2103 +#: ../../library/stdtypes.rst:2105 msgid "``\\x1c``" msgstr "``\\x1c``" -#: ../../library/stdtypes.rst:2103 +#: ../../library/stdtypes.rst:2105 msgid "File Separator" msgstr "Separador de Arquivos" -#: ../../library/stdtypes.rst:2105 +#: ../../library/stdtypes.rst:2107 msgid "``\\x1d``" msgstr "``\\x1d``" -#: ../../library/stdtypes.rst:2105 +#: ../../library/stdtypes.rst:2107 msgid "Group Separator" msgstr "Separador de Grupo" -#: ../../library/stdtypes.rst:2107 +#: ../../library/stdtypes.rst:2109 msgid "``\\x1e``" msgstr "``\\x1e``" -#: ../../library/stdtypes.rst:2107 +#: ../../library/stdtypes.rst:2109 msgid "Record Separator" msgstr "Separador de Registro" -#: ../../library/stdtypes.rst:2109 +#: ../../library/stdtypes.rst:2111 msgid "``\\x85``" msgstr "``\\x85``" -#: ../../library/stdtypes.rst:2109 +#: ../../library/stdtypes.rst:2111 msgid "Next Line (C1 Control Code)" msgstr "Próxima Linha (C1 Control Code)" -#: ../../library/stdtypes.rst:2111 +#: ../../library/stdtypes.rst:2113 msgid "``\\u2028``" msgstr "``\\u2028``" -#: ../../library/stdtypes.rst:2111 +#: ../../library/stdtypes.rst:2113 msgid "Line Separator" msgstr "Separador de Linha" -#: ../../library/stdtypes.rst:2113 +#: ../../library/stdtypes.rst:2115 msgid "``\\u2029``" msgstr "``\\u2029``" -#: ../../library/stdtypes.rst:2113 +#: ../../library/stdtypes.rst:2115 msgid "Paragraph Separator" msgstr "Separador de Parágrafo" -#: ../../library/stdtypes.rst:2118 +#: ../../library/stdtypes.rst:2120 msgid "``\\v`` and ``\\f`` added to list of line boundaries." msgstr "``\\v`` e ``\\f`` adicionado à lista de limites de linha." -#: ../../library/stdtypes.rst:2127 +#: ../../library/stdtypes.rst:2129 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 " @@ -3491,11 +3496,11 @@ msgstr "" "*sep* é fornecido, este método retorna uma lista vazia para a uma String " "vazia e uma quebra de linha de terminal não resulta numa linha extra::" -#: ../../library/stdtypes.rst:2136 +#: ../../library/stdtypes.rst:2138 msgid "For comparison, ``split('\\n')`` gives::" msgstr "Para comparação, temos ``split('\\n')``::" -#: ../../library/stdtypes.rst:2146 +#: ../../library/stdtypes.rst:2148 msgid "" "Return ``True`` if string starts with the *prefix*, otherwise return " "``False``. *prefix* can also be a tuple of prefixes to look for. With " @@ -3507,7 +3512,7 @@ msgstr "" "procurados. Com *start* opcional, a String de teste começa nessa posição. " "Com *fim* opcional, interrompe a comparação de String nessa posição." -#: ../../library/stdtypes.rst:2154 +#: ../../library/stdtypes.rst:2156 msgid "" "Return a copy of the string with the leading and trailing characters " "removed. The *chars* argument is a string specifying the set of characters " @@ -3522,7 +3527,7 @@ msgstr "" "prefixo, nem um sufixo; ao contrário disso, todas as combinações dos seus " "seus valores são removidas::" -#: ../../library/stdtypes.rst:2165 +#: ../../library/stdtypes.rst:2167 msgid "" "The outermost leading and trailing *chars* argument values are stripped from " "the string. Characters are removed from the leading end until reaching a " @@ -3534,17 +3539,17 @@ msgstr "" "caractere da string que não está contido no conjunto de caracteres em " "*chars*. Uma ação similar acontece no extremo final da string. Por exemplo::" -#: ../../library/stdtypes.rst:2178 +#: ../../library/stdtypes.rst:2180 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``." +"and vice versa. Note that it is not necessarily true that " +"``s.swapcase().swapcase() == s``." msgstr "" "Retorna uma cópia da string com caracteres maiúsculos convertidos para " -"minúsculos e vice-versa. Perceba que não é necessariamente verdade que ``s." -"swapcase().swapcase() == s``." +"minúsculos e vice-versa. Perceba que não é necessariamente verdade que " +"``s.swapcase().swapcase() == s``." -#: ../../library/stdtypes.rst:2185 +#: ../../library/stdtypes.rst:2187 msgid "" "Return a titlecased version of the string where words start with an " "uppercase character and the remaining characters are lowercase." @@ -3553,7 +3558,7 @@ msgstr "" "caractere com letra maiúscula e os caracteres restantes são em letras " "minúsculas." -#: ../../library/stdtypes.rst:2193 ../../library/stdtypes.rst:3411 +#: ../../library/stdtypes.rst:2195 ../../library/stdtypes.rst:3413 msgid "" "The algorithm uses a simple language-independent definition of a word as " "groups of consecutive letters. The definition works in many contexts but it " @@ -3562,10 +3567,10 @@ msgid "" msgstr "" "O algoritmo usa uma definição simples independente de idioma para uma " "palavra, como grupos de letras consecutivas. A definição funciona em muitos " -"contextos, mas isso significa que apóstrofes em contradições e possessivos " +"contextos, mas isso significa que apóstrofes em contrações e possessivos " "formam limites de palavras, os quais podem não ser o resultado desejado::" -#: ../../library/stdtypes.rst:2201 +#: ../../library/stdtypes.rst:2203 msgid "" "The :func:`string.capwords` function does not have this problem, as it " "splits words on spaces only." @@ -3573,7 +3578,7 @@ msgstr "" "A função :func:`string.capwords` não tem esse problema, pois ela divide " "palavras apenas em espaços." -#: ../../library/stdtypes.rst:2204 +#: ../../library/stdtypes.rst:2206 msgid "" "Alternatively, a workaround for apostrophes can be constructed using regular " "expressions::" @@ -3581,28 +3586,28 @@ msgstr "" "Alternativamente, uma solução alternativa para os apóstrofes pode ser " "construída usando expressões regulares::" -#: ../../library/stdtypes.rst:2219 +#: ../../library/stdtypes.rst:2221 msgid "" "Return a copy of the string in which each character has been mapped through " "the given translation table. The table must be an object that implements " -"indexing via :meth:`__getitem__`, typically a :term:`mapping` or :term:" -"`sequence`. When indexed by a Unicode ordinal (an integer), the table " -"object can do any of the following: return a Unicode ordinal or a string, to " -"map the character to one or more other characters; return ``None``, to " -"delete the character from the return string; or raise a :exc:`LookupError` " -"exception, to map the character to itself." +"indexing via :meth:`~object.__getitem__`, typically a :term:`mapping` " +"or :term:`sequence`. When indexed by a Unicode ordinal (an integer), the " +"table object can do any of the following: return a Unicode ordinal or a " +"string, to map the character to one or more other characters; return " +"``None``, to delete the character from the return string; or raise " +"a :exc:`LookupError` exception, to map the character to itself." msgstr "" "Retorna uma cópia da string na qual cada caractere foi mapeado através da " "tabela de tradução fornecida. A tabela deve ser um objeto que implementa " -"indexação através de :meth:`__getitem__`, tipicamente um :term:`mapeamento " -"` ou uma :term:`sequência `. Quando indexada por um " -"ordinal unicode (um inteiro), o objeto tabela pode fazer qualquer uma das " -"seguintes ações: retornar um ordinal unicode ou uma string, para mapear o " -"caractere para um ou mais caracteres; retornar ``None``, para deletar o " -"caractere da string de retorno; ou levantar uma exceção :exc:`LookupError`, " -"para mapear o caractere para si mesmo." +"indexação através de :meth:`~object.__getitem__`, tipicamente " +"um :term:`mapeamento ` ou uma :term:`sequência `. Quando " +"indexada por um ordinal unicode (um inteiro), o objeto tabela pode fazer " +"qualquer uma das seguintes ações: retornar um ordinal unicode ou uma string, " +"para mapear o caractere para um ou mais caracteres; retornar ``None``, para " +"deletar o caractere da string de retorno; ou levantar uma " +"exceção :exc:`LookupError`, para mapear o caractere para si mesmo." -#: ../../library/stdtypes.rst:2228 +#: ../../library/stdtypes.rst:2230 msgid "" "You can use :meth:`str.maketrans` to create a translation map from character-" "to-character mappings in different formats." @@ -3610,7 +3615,7 @@ msgstr "" "Você pode usar :meth:`str.maketrans` para criar um mapa de tradução com " "mapeamentos caractere para caractere em diferentes formatos." -#: ../../library/stdtypes.rst:2231 +#: ../../library/stdtypes.rst:2233 msgid "" "See also the :mod:`codecs` module for a more flexible approach to custom " "character mappings." @@ -3618,7 +3623,7 @@ msgstr "" "Veja também o módulo :mod:`codecs` para uma abordagem mais flexível para " "mapeamento de caractere customizado." -#: ../../library/stdtypes.rst:2237 +#: ../../library/stdtypes.rst:2239 msgid "" "Return a copy of the string with all the cased characters [4]_ converted to " "uppercase. Note that ``s.upper().isupper()`` might be ``False`` if ``s`` " @@ -3627,13 +3632,13 @@ msgid "" "titlecase)." msgstr "" "Retorna uma cópia da string com todos os caracteres que permitem maiúsculo e " -"minúsculo [4]_ convertidos para letras maiúsculas. Perceba que ``s.upper()." -"isupper()`` pode ser ``False`` se ``s`` contiver caracteres que não possuem " -"maiúsculas e minúsculas, ou se a categoria Unicode do(s) caractere(s) " -"resultante(s) não for \"Lu\" (Letra maiúscula), mas por ex \"Lt\" (Letra em " -"titlecase)." +"minúsculo [4]_ convertidos para letras maiúsculas. Perceba que " +"``s.upper().isupper()`` pode ser ``False`` se ``s`` contiver caracteres que " +"não possuem maiúsculas e minúsculas, ou se a categoria Unicode do(s) " +"caractere(s) resultante(s) não for \"Lu\" (Letra maiúscula), mas por ex " +"\"Lt\" (Letra em titlecase)." -#: ../../library/stdtypes.rst:2243 +#: ../../library/stdtypes.rst:2245 msgid "" "The uppercasing algorithm used is described in section 3.13 of the Unicode " "Standard." @@ -3641,7 +3646,7 @@ msgstr "" "O algoritmo de maiúsculas utilizado é descrito na seção 3.13 do Padrão " "Unicode." -#: ../../library/stdtypes.rst:2249 +#: ../../library/stdtypes.rst:2251 msgid "" "Return a copy of the string left filled with ASCII ``'0'`` digits to make a " "string of length *width*. A leading sign prefix (``'+'``/``'-'``) is handled " @@ -3654,11 +3659,11 @@ msgstr "" "caractere de sinal em vez de antes. A String original será retornada se o " "*width* for menor ou igual a ``len(s)``." -#: ../../library/stdtypes.rst:2267 +#: ../../library/stdtypes.rst:2269 msgid "``printf``-style String Formatting" -msgstr "Formatação de String no Formato no estilo ``printf``" +msgstr "Formatação de string no estilo ``printf``" -#: ../../library/stdtypes.rst:2280 +#: ../../library/stdtypes.rst:2282 msgid "" "The formatting operations described here exhibit a variety of quirks that " "lead to a number of common errors (such as failing to display tuples and " @@ -3671,12 +3676,12 @@ msgstr "" "As operações de formatação descritas aqui exibem uma variedade de " "peculiaridades que levam a diversos erros comuns (tais como não conseguir " "exibir tuplas e dicionários corretamente). Usar o novo :ref:`formatador de " -"string literal (f-strings) `, a interface :meth:`str.format`, ou :" -"ref:`templates de strings ` pode ajudar a evitar esses " +"string literal (f-strings) `, a interface :meth:`str.format`, " +"ou :ref:`templates de strings ` pode ajudar a evitar esses " "erros. Cada uma dessas alternativas fornece seus próprios custos e " "benefícios de simplicidade, flexibilidade, e/ou extensibilidade." -#: ../../library/stdtypes.rst:2288 +#: ../../library/stdtypes.rst:2290 msgid "" "String objects have one unique built-in operation: the ``%`` operator " "(modulo). This is also known as the string *formatting* or *interpolation* " @@ -3685,14 +3690,14 @@ msgid "" "elements of *values*. The effect is similar to using the :c:func:`sprintf` " "in the C language." msgstr "" -"Os objetos string possuem um único operador embutido: o operador ``%`` " -"(módulo). O mesmo também é conhecido como o operador de *formatação* ou " -"*interpolação*. Dado ``format % values`` (onde *format* é uma string), as " -"especificações de conversão ``%`` em *format* são substituídas por zero ou " -"mais elementos de *values*. O efeito é semelhante ao uso da função :c:func:" -"`sprintf` na linguagem C." +"Objetos string possuem uma operação integrada exclusiva: o operador ``%`` " +"(modulo). Isso também é conhecido como o string de *formatação* ou o " +"operador de *interpolação*. Dado ``format % values`` (onde *format* é uma " +"string), as especificações de conversão ``%`` em *format* são substituídas " +"por zero ou mais elementos de *values*. O efeito é semelhante ao uso da " +"função :c:func:`sprintf` na linguagem C." -#: ../../library/stdtypes.rst:2294 +#: ../../library/stdtypes.rst:2296 msgid "" "If *format* requires a single argument, *values* may be a single non-tuple " "object. [5]_ Otherwise, *values* must be a tuple with exactly the number of " @@ -3705,7 +3710,7 @@ msgstr "" "string de formatação, ou um único mapa de objetos (por exemplo, um " "dicionário)." -#: ../../library/stdtypes.rst:2304 ../../library/stdtypes.rst:3522 +#: ../../library/stdtypes.rst:2306 ../../library/stdtypes.rst:3524 msgid "" "A conversion specifier contains two or more characters and has the following " "components, which must occur in this order:" @@ -3713,19 +3718,19 @@ msgstr "" "Um especificador de conversão contém dois ou mais caracteres e tem os " "seguintes componentes, que devem aparecer nesta ordem:" -#: ../../library/stdtypes.rst:2307 ../../library/stdtypes.rst:3525 +#: ../../library/stdtypes.rst:2309 ../../library/stdtypes.rst:3527 msgid "The ``'%'`` character, which marks the start of the specifier." msgstr "O caractere ``'%'``, que determina o início do especificador." -#: ../../library/stdtypes.rst:2309 ../../library/stdtypes.rst:3527 +#: ../../library/stdtypes.rst:2311 ../../library/stdtypes.rst:3529 msgid "" "Mapping key (optional), consisting of a parenthesised sequence of characters " "(for example, ``(somename)``)." msgstr "" -"Mapeamento de Chaves (opcional), consistindo de uma sequência entre " +"Mapeamento de chaves (opcional), consistindo de uma sequência entre " "parênteses de caracteres (por exemplo, ``(algumnome)``)." -#: ../../library/stdtypes.rst:2312 ../../library/stdtypes.rst:3530 +#: ../../library/stdtypes.rst:2314 ../../library/stdtypes.rst:3532 msgid "" "Conversion flags (optional), which affect the result of some conversion " "types." @@ -3733,18 +3738,18 @@ msgstr "" "Flags de conversão (opcional), que afetam o resultado de alguns tipos de " "conversão." -#: ../../library/stdtypes.rst:2315 ../../library/stdtypes.rst:3533 +#: ../../library/stdtypes.rst:2317 ../../library/stdtypes.rst:3535 msgid "" "Minimum field width (optional). If specified as an ``'*'`` (asterisk), the " "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 "" -"Largura mínima do Campo(opcional). Se for especificado por ``'*'`` " +"Largura mínima do campo (opcional). Se for especificado como um ``'*'`` " "(asterisco), a largura real será lida a partir do próximo elemento da tupla " "em *values* e o objeto a converter virá após a largura mínima do campo e a " "precisão que é opcional." -#: ../../library/stdtypes.rst:2319 ../../library/stdtypes.rst:3537 +#: ../../library/stdtypes.rst:2321 ../../library/stdtypes.rst:3539 msgid "" "Precision (optional), given as a ``'.'`` (dot) followed by the precision. " "If specified as ``'*'`` (an asterisk), the actual precision is read from the " @@ -3756,15 +3761,15 @@ msgstr "" "será lida a partir do próximo elemento da tupla em *values*, e o valor a " "converter virá após a precisão." -#: ../../library/stdtypes.rst:2324 ../../library/stdtypes.rst:3542 +#: ../../library/stdtypes.rst:2326 ../../library/stdtypes.rst:3544 msgid "Length modifier (optional)." -msgstr "Modificador de Comprimento(opcional)." +msgstr "Modificador de comprimento (opcional)." -#: ../../library/stdtypes.rst:2326 ../../library/stdtypes.rst:3544 +#: ../../library/stdtypes.rst:2328 ../../library/stdtypes.rst:3546 msgid "Conversion type." -msgstr "Tipos de Conversão" +msgstr "Tipo de conversão." -#: ../../library/stdtypes.rst:2328 +#: ../../library/stdtypes.rst:2330 msgid "" "When the right argument is a dictionary (or other mapping type), then the " "formats in the string *must* include a parenthesised mapping key into that " @@ -3777,7 +3782,7 @@ msgstr "" "A key de mapeamento seleciona o valor a ser formatado a partir do " "mapeamento. Por exemplo:" -#: ../../library/stdtypes.rst:2337 ../../library/stdtypes.rst:3555 +#: ../../library/stdtypes.rst:2339 ../../library/stdtypes.rst:3557 msgid "" "In this case no ``*`` specifiers may occur in a format (since they require a " "sequential parameter list)." @@ -3785,38 +3790,38 @@ msgstr "" "Nesse caso, nenhum especificador ``*`` poderá ocorrer num formato (uma vez " "que eles exigem uma lista de parâmetros sequenciais)." -#: ../../library/stdtypes.rst:2340 ../../library/stdtypes.rst:3558 +#: ../../library/stdtypes.rst:2342 ../../library/stdtypes.rst:3560 msgid "The conversion flag characters are:" msgstr "Os caracteres flags de conversão são:" -#: ../../library/stdtypes.rst:2349 ../../library/stdtypes.rst:3567 +#: ../../library/stdtypes.rst:2351 ../../library/stdtypes.rst:3569 msgid "Flag" msgstr "Sinalizador" -#: ../../library/stdtypes.rst:2351 ../../library/stdtypes.rst:3569 +#: ../../library/stdtypes.rst:2353 ../../library/stdtypes.rst:3571 msgid "``'#'``" msgstr "``'#'``" -#: ../../library/stdtypes.rst:2351 ../../library/stdtypes.rst:3569 +#: ../../library/stdtypes.rst:2353 ../../library/stdtypes.rst:3571 msgid "" "The value conversion will use the \"alternate form\" (where defined below)." msgstr "" -"A conversão de valor usará o \"formulário alternativo\" (em que definimos " +"A conversão de valor usará o \"formulário alternativo\" (conforme definido " "abaixo)." -#: ../../library/stdtypes.rst:2354 ../../library/stdtypes.rst:3572 +#: ../../library/stdtypes.rst:2356 ../../library/stdtypes.rst:3574 msgid "``'0'``" msgstr "``'0'``" -#: ../../library/stdtypes.rst:2354 ../../library/stdtypes.rst:3572 +#: ../../library/stdtypes.rst:2356 ../../library/stdtypes.rst:3574 msgid "The conversion will be zero padded for numeric values." msgstr "A conversão será preenchida por zeros para valores numéricos." -#: ../../library/stdtypes.rst:2356 ../../library/stdtypes.rst:3574 +#: ../../library/stdtypes.rst:2358 ../../library/stdtypes.rst:3576 msgid "``'-'``" msgstr "``'-'``" -#: ../../library/stdtypes.rst:2356 ../../library/stdtypes.rst:3574 +#: ../../library/stdtypes.rst:2358 ../../library/stdtypes.rst:3576 msgid "" "The converted value is left adjusted (overrides the ``'0'`` conversion if " "both are given)." @@ -3824,126 +3829,126 @@ msgstr "" "O valor convertido será ajustado à esquerda (substitui a conversão ``'0'`` " "se ambos forem fornecidos)." -#: ../../library/stdtypes.rst:2359 ../../library/stdtypes.rst:3577 +#: ../../library/stdtypes.rst:2361 ../../library/stdtypes.rst:3579 msgid "``' '``" msgstr "``' '``" -#: ../../library/stdtypes.rst:2359 ../../library/stdtypes.rst:3577 +#: ../../library/stdtypes.rst:2361 ../../library/stdtypes.rst:3579 msgid "" "(a space) A blank should be left before a positive number (or empty string) " "produced by a signed conversion." msgstr "" "(um espaço) Um espaço em branco deverá ser deixado antes de um número " -"positivo (ou uma String vazia) produzido por uma conversão assinada." +"positivo (ou uma string vazia) produzido por uma conversão assinada." -#: ../../library/stdtypes.rst:2362 ../../library/stdtypes.rst:3580 +#: ../../library/stdtypes.rst:2364 ../../library/stdtypes.rst:3582 msgid "``'+'``" msgstr "``'+'``" -#: ../../library/stdtypes.rst:2362 ../../library/stdtypes.rst:3580 +#: ../../library/stdtypes.rst:2364 ../../library/stdtypes.rst:3582 msgid "" "A sign character (``'+'`` or ``'-'``) will precede the conversion (overrides " "a \"space\" flag)." msgstr "" -"Um sinal de caractere (``'+'`` ou ``'-'``) precedera a conversão " -"(substituindo o sinalizador \"space\")." +"Um sinal de caractere (``'+'`` ou ``'-'``) precederá a conversão " +"(substituindo o sinalizador de \"espaço\")." -#: ../../library/stdtypes.rst:2366 ../../library/stdtypes.rst:3584 +#: ../../library/stdtypes.rst:2368 ../../library/stdtypes.rst:3586 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 "" "Um modificador de comprimento (``h``, ``l``, ou ``L``) pode estar presente, " -"mas será ignorado, pois o mesmo não é necessário para o Python -- então por " -"exemplo ``%ld`` é idêntico a ``%d``." +"mas será ignorado, pois o mesmo não é necessário para o Python -- então, por " +"exemplo, ``%ld`` é idêntico a ``%d``." -#: ../../library/stdtypes.rst:2369 ../../library/stdtypes.rst:3587 +#: ../../library/stdtypes.rst:2371 ../../library/stdtypes.rst:3589 msgid "The conversion types are:" msgstr "Os tipos de conversão são:" -#: ../../library/stdtypes.rst:2372 ../../library/stdtypes.rst:3590 +#: ../../library/stdtypes.rst:2374 ../../library/stdtypes.rst:3592 msgid "Conversion" msgstr "Conversão" -#: ../../library/stdtypes.rst:2374 ../../library/stdtypes.rst:3592 +#: ../../library/stdtypes.rst:2376 ../../library/stdtypes.rst:3594 msgid "``'d'``" msgstr "``'d'``" -#: ../../library/stdtypes.rst:2374 ../../library/stdtypes.rst:2376 -#: ../../library/stdtypes.rst:3592 ../../library/stdtypes.rst:3594 +#: ../../library/stdtypes.rst:2376 ../../library/stdtypes.rst:2378 +#: ../../library/stdtypes.rst:3594 ../../library/stdtypes.rst:3596 msgid "Signed integer decimal." msgstr "Número decimal inteiro sinalizador." -#: ../../library/stdtypes.rst:2376 ../../library/stdtypes.rst:3594 +#: ../../library/stdtypes.rst:2378 ../../library/stdtypes.rst:3596 msgid "``'i'``" msgstr "``'i'``" -#: ../../library/stdtypes.rst:2378 ../../library/stdtypes.rst:3596 +#: ../../library/stdtypes.rst:2380 ../../library/stdtypes.rst:3598 msgid "``'o'``" msgstr "``'o'``" -#: ../../library/stdtypes.rst:2378 ../../library/stdtypes.rst:3596 +#: ../../library/stdtypes.rst:2380 ../../library/stdtypes.rst:3598 msgid "Signed octal value." msgstr "Valor octal sinalizador." -#: ../../library/stdtypes.rst:2380 ../../library/stdtypes.rst:3598 +#: ../../library/stdtypes.rst:2382 ../../library/stdtypes.rst:3600 msgid "``'u'``" msgstr "``'u'``" -#: ../../library/stdtypes.rst:2380 ../../library/stdtypes.rst:3598 +#: ../../library/stdtypes.rst:2382 ../../library/stdtypes.rst:3600 msgid "Obsolete type -- it is identical to ``'d'``." msgstr "Tipo obsoleto -- é idêntico a ``'d'``." -#: ../../library/stdtypes.rst:2382 ../../library/stdtypes.rst:3600 +#: ../../library/stdtypes.rst:2384 ../../library/stdtypes.rst:3602 msgid "``'x'``" msgstr "``'x'``" -#: ../../library/stdtypes.rst:2382 ../../library/stdtypes.rst:3600 +#: ../../library/stdtypes.rst:2384 ../../library/stdtypes.rst:3602 msgid "Signed hexadecimal (lowercase)." -msgstr "Sinalizador hexadecimal (minúsculas)." +msgstr "Hexadecimal com sinal (minúsculo)." -#: ../../library/stdtypes.rst:2384 ../../library/stdtypes.rst:3602 +#: ../../library/stdtypes.rst:2386 ../../library/stdtypes.rst:3604 msgid "``'X'``" msgstr "``'X'``" -#: ../../library/stdtypes.rst:2384 ../../library/stdtypes.rst:3602 +#: ../../library/stdtypes.rst:2386 ../../library/stdtypes.rst:3604 msgid "Signed hexadecimal (uppercase)." -msgstr "Sinalizador hexadecimal (maiúscula)." +msgstr "Hexadecimal com sinal (maiúsculo)." -#: ../../library/stdtypes.rst:2386 ../../library/stdtypes.rst:3604 +#: ../../library/stdtypes.rst:2388 ../../library/stdtypes.rst:3606 msgid "``'e'``" msgstr "``'e'``" -#: ../../library/stdtypes.rst:2386 ../../library/stdtypes.rst:3604 +#: ../../library/stdtypes.rst:2388 ../../library/stdtypes.rst:3606 msgid "Floating point exponential format (lowercase)." msgstr "Formato exponencial de ponto flutuante (minúsculas)." -#: ../../library/stdtypes.rst:2388 ../../library/stdtypes.rst:3606 +#: ../../library/stdtypes.rst:2390 ../../library/stdtypes.rst:3608 msgid "``'E'``" msgstr "``'E'``" -#: ../../library/stdtypes.rst:2388 ../../library/stdtypes.rst:3606 +#: ../../library/stdtypes.rst:2390 ../../library/stdtypes.rst:3608 msgid "Floating point exponential format (uppercase)." msgstr "Formato exponencial de ponto flutuante (maiúscula)." -#: ../../library/stdtypes.rst:2390 ../../library/stdtypes.rst:3608 +#: ../../library/stdtypes.rst:2392 ../../library/stdtypes.rst:3610 msgid "``'f'``" msgstr "``'f'``" -#: ../../library/stdtypes.rst:2390 ../../library/stdtypes.rst:2392 -#: ../../library/stdtypes.rst:3608 ../../library/stdtypes.rst:3610 +#: ../../library/stdtypes.rst:2392 ../../library/stdtypes.rst:2394 +#: ../../library/stdtypes.rst:3610 ../../library/stdtypes.rst:3612 msgid "Floating point decimal format." msgstr "Formato decimal de ponto flutuante." -#: ../../library/stdtypes.rst:2392 ../../library/stdtypes.rst:3610 +#: ../../library/stdtypes.rst:2394 ../../library/stdtypes.rst:3612 msgid "``'F'``" msgstr "``'F'``" -#: ../../library/stdtypes.rst:2394 ../../library/stdtypes.rst:3612 +#: ../../library/stdtypes.rst:2396 ../../library/stdtypes.rst:3614 msgid "``'g'``" msgstr "``'g'``" -#: ../../library/stdtypes.rst:2394 ../../library/stdtypes.rst:3612 +#: ../../library/stdtypes.rst:2396 ../../library/stdtypes.rst:3614 msgid "" "Floating point format. Uses lowercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." @@ -3952,11 +3957,11 @@ msgstr "" "expoente for inferior a -4 ou não inferior a precisão, formato decimal, caso " "contrário." -#: ../../library/stdtypes.rst:2398 ../../library/stdtypes.rst:3616 +#: ../../library/stdtypes.rst:2400 ../../library/stdtypes.rst:3618 msgid "``'G'``" msgstr "``'G'``" -#: ../../library/stdtypes.rst:2398 ../../library/stdtypes.rst:3616 +#: ../../library/stdtypes.rst:2400 ../../library/stdtypes.rst:3618 msgid "" "Floating point format. Uses uppercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." @@ -3965,49 +3970,50 @@ msgstr "" "expoente for inferior a -4 ou não inferior que a precisão, formato decimal, " "caso contrário." -#: ../../library/stdtypes.rst:2402 ../../library/stdtypes.rst:3620 +#: ../../library/stdtypes.rst:2404 ../../library/stdtypes.rst:3622 msgid "``'c'``" msgstr "``'c'``" -#: ../../library/stdtypes.rst:2402 +#: ../../library/stdtypes.rst:2404 msgid "Single character (accepts integer or single character string)." -msgstr "Caráter único (aceita inteiro ou um único caractere String)." +msgstr "Caractere único (aceita inteiro ou um único caractere string)." -#: ../../library/stdtypes.rst:2405 ../../library/stdtypes.rst:3633 +#: ../../library/stdtypes.rst:2407 ../../library/stdtypes.rst:3635 msgid "``'r'``" msgstr "``'r'``" -#: ../../library/stdtypes.rst:2405 +#: ../../library/stdtypes.rst:2407 msgid "String (converts any Python object using :func:`repr`)." msgstr "String (converte qualquer objeto Python usando a função :func:`repr`)." -#: ../../library/stdtypes.rst:2408 ../../library/stdtypes.rst:3627 +#: ../../library/stdtypes.rst:2410 ../../library/stdtypes.rst:3629 msgid "``'s'``" msgstr "``'s'``" -#: ../../library/stdtypes.rst:2408 +#: ../../library/stdtypes.rst:2410 msgid "String (converts any Python object using :func:`str`)." msgstr "String (converte qualquer objeto Python usando a função :func:`str`)." -#: ../../library/stdtypes.rst:2411 ../../library/stdtypes.rst:3630 +#: ../../library/stdtypes.rst:2413 ../../library/stdtypes.rst:3632 msgid "``'a'``" msgstr "``'a'``" -#: ../../library/stdtypes.rst:2411 +#: ../../library/stdtypes.rst:2413 msgid "String (converts any Python object using :func:`ascii`)." msgstr "" "String (converte qualquer objeto Python usando a função :func:`ascii`)." -#: ../../library/stdtypes.rst:2414 ../../library/stdtypes.rst:3636 +#: ../../library/stdtypes.rst:2416 ../../library/stdtypes.rst:3638 msgid "``'%'``" msgstr "``'%'``" -#: ../../library/stdtypes.rst:2414 ../../library/stdtypes.rst:3636 +#: ../../library/stdtypes.rst:2416 ../../library/stdtypes.rst:3638 msgid "No argument is converted, results in a ``'%'`` character in the result." msgstr "" -"Nenhum argumento é convertido, resultando um caractere ``''%'`` no resultado." +"Nenhum argumento é convertido, resultando em um caractere ``'%'`` no " +"resultado." -#: ../../library/stdtypes.rst:2421 ../../library/stdtypes.rst:3643 +#: ../../library/stdtypes.rst:2423 ../../library/stdtypes.rst:3645 msgid "" "The alternate form causes a leading octal specifier (``'0o'``) to be " "inserted before the first digit." @@ -4015,7 +4021,7 @@ msgstr "" "A forma alternativa faz com que um especificador octal principal (``'0o'``) " "seja inserido antes do primeiro dígito." -#: ../../library/stdtypes.rst:2425 ../../library/stdtypes.rst:3647 +#: ../../library/stdtypes.rst:2427 ../../library/stdtypes.rst:3649 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 " @@ -4025,7 +4031,7 @@ msgstr "" "formato ``'x'`` or ``'X'`` foi usado) para ser inserido antes do primeiro " "dígito." -#: ../../library/stdtypes.rst:2429 ../../library/stdtypes.rst:3651 +#: ../../library/stdtypes.rst:2431 ../../library/stdtypes.rst:3653 msgid "" "The alternate form causes the result to always contain a decimal point, even " "if no digits follow it." @@ -4033,14 +4039,14 @@ msgstr "" "A forma alternativa faz com que o resultado sempre contenha um ponto " "decimal, mesmo que nenhum dígito o siga." -#: ../../library/stdtypes.rst:2432 ../../library/stdtypes.rst:3654 +#: ../../library/stdtypes.rst:2434 ../../library/stdtypes.rst:3656 msgid "" "The precision determines the number of digits after the decimal point and " "defaults to 6." msgstr "" "A precisão determina o número de dígitos após o ponto decimal e o padrão é 6." -#: ../../library/stdtypes.rst:2436 ../../library/stdtypes.rst:3658 +#: ../../library/stdtypes.rst:2438 ../../library/stdtypes.rst:3660 msgid "" "The alternate form causes the result to always contain a decimal point, and " "trailing zeroes are not removed as they would otherwise be." @@ -4048,31 +4054,31 @@ msgstr "" "A forma alternativa faz com que o resultado sempre contenha um ponto decimal " "e os zeros à direita não sejam removidos, como de outra forma seriam." -#: ../../library/stdtypes.rst:2439 ../../library/stdtypes.rst:3661 +#: ../../library/stdtypes.rst:2441 ../../library/stdtypes.rst:3663 msgid "" "The precision determines the number of significant digits before and after " "the decimal point and defaults to 6." msgstr "" "A precisão determina o número de dígitos significativos antes e depois do " -"ponto decimal e o padrão é 6." +"ponto decimal e o padrão seja 6." -#: ../../library/stdtypes.rst:2443 ../../library/stdtypes.rst:3665 +#: ../../library/stdtypes.rst:2445 ../../library/stdtypes.rst:3667 msgid "If precision is ``N``, the output is truncated to ``N`` characters." -msgstr "Se a precisão for ``N``, a saída será truncada em caracteres ``N``." +msgstr "Se a precisão for ``N``, a saída será truncada em ``N`` caracteres." -#: ../../library/stdtypes.rst:2446 ../../library/stdtypes.rst:3674 +#: ../../library/stdtypes.rst:2448 ../../library/stdtypes.rst:3676 msgid "See :pep:`237`." msgstr "Veja :pep:`237`." -#: ../../library/stdtypes.rst:2448 +#: ../../library/stdtypes.rst:2450 msgid "" "Since Python strings have an explicit length, ``%s`` conversions do not " "assume that ``'\\0'`` is the end of the string." msgstr "" -"Como as Strings do Python possuem comprimento explícito, ``%s`` as " -"conversões não assumem que ``'\\0'`` é o fim da string." +"Como as strings no Python possuem comprimento explícito, conversões de " +"``%s`` não presumem que ``'\\0'`` seja o fim da string." -#: ../../library/stdtypes.rst:2453 +#: ../../library/stdtypes.rst:2455 msgid "" "``%f`` conversions for numbers whose absolute value is over 1e50 are no " "longer replaced by ``%g`` conversions." @@ -4080,40 +4086,41 @@ msgstr "" "``%f`` as conversões para números cujo valor absoluto é superior a 1e50 não " "são mais substituídas pela conversão ``%g``." -#: ../../library/stdtypes.rst:2464 +#: ../../library/stdtypes.rst:2466 msgid "" -"Binary Sequence Types --- :class:`bytes`, :class:`bytearray`, :class:" -"`memoryview`" +"Binary Sequence Types " +"--- :class:`bytes`, :class:`bytearray`, :class:`memoryview`" msgstr "" -"Tipos de Sequência Binária --- :class:`bytes`, :class:`bytearray`, :class:" -"`memoryview`" +"Tipos de sequência binária " +"--- :class:`bytes`, :class:`bytearray`, :class:`memoryview`" -#: ../../library/stdtypes.rst:2472 +#: ../../library/stdtypes.rst:2474 msgid "" -"The core built-in types for manipulating binary data are :class:`bytes` and :" -"class:`bytearray`. They are supported by :class:`memoryview` which uses the :" -"ref:`buffer protocol ` to access the memory of other binary " -"objects without needing to make a copy." +"The core built-in types for manipulating binary data are :class:`bytes` " +"and :class:`bytearray`. They are supported by :class:`memoryview` which uses " +"the :ref:`buffer protocol ` to access the memory of other " +"binary objects without needing to make a copy." msgstr "" -"Os principais tipos embutidos para manipular dados binários são :class:" -"`bytes` e :class:`bytearray`. Eles são suportados por :class:`memoryview` a " -"qual usa o :ref:`buffer protocol ` para acessar a memória de " -"outros objetos binários sem precisar fazer uma cópia." +"Os principais tipos embutidos para manipular dados binários " +"são :class:`bytes` e :class:`bytearray`. Eles são suportados " +"por :class:`memoryview` a qual usa o :ref:`protocolo buffer ` " +"para acessar a memória de outros objetos binários sem precisar fazer uma " +"cópia." -#: ../../library/stdtypes.rst:2477 +#: ../../library/stdtypes.rst:2479 msgid "" "The :mod:`array` module supports efficient storage of basic data types like " "32-bit integers and IEEE754 double-precision floating values." msgstr "" -"O módulo :mod:`array` suporta armazenamento eficiente de tipos de dados " -"básicos como inteiros de 32 bits e valores de ponto-flutuante com precisão " -"dupla IEEE754." +"O módulo :mod:`array` provê suporte a um armazenamento eficiente de tipos de " +"dados básicos como inteiros de 32 bits e valores de ponto flutuante com " +"precisão dupla IEEE754." -#: ../../library/stdtypes.rst:2483 +#: ../../library/stdtypes.rst:2485 msgid "Bytes Objects" msgstr "Objetos Bytes" -#: ../../library/stdtypes.rst:2487 +#: ../../library/stdtypes.rst:2489 msgid "" "Bytes objects are immutable sequences of single bytes. Since many major " "binary protocols are based on the ASCII text encoding, bytes objects offer " @@ -4126,51 +4133,51 @@ msgstr "" "trabalhamos com dados compatíveis com ASCII, e são proximamente relacionados " "com objetos string em uma variedade de outros sentidos." -#: ../../library/stdtypes.rst:2494 +#: ../../library/stdtypes.rst:2496 msgid "" "Firstly, the syntax for bytes literals is largely the same as that for " "string literals, except that a ``b`` prefix is added:" msgstr "" "Em primeiro lugar, a sintaxe para literais de bytes é em grande parte a " -"mesma para literais de String, exceto que um prefixo ``b`` é adicionado:" +"mesma para literais de string, exceto que um prefixo ``b`` é adicionado:" -#: ../../library/stdtypes.rst:2497 +#: ../../library/stdtypes.rst:2499 msgid "Single quotes: ``b'still allows embedded \"double\" quotes'``" -msgstr "Aspas simples: ``b'still allows embedded \"double\" quotes'``" +msgstr "Aspas simples: ``b'ainda permite aspas \"duplas\" dentro'``" -#: ../../library/stdtypes.rst:2498 +#: ../../library/stdtypes.rst:2500 msgid "Double quotes: ``b\"still allows embedded 'single' quotes\"``" -msgstr "Aspas duplas: ``b\"still allows embedded 'single' quotes\"``" +msgstr "Aspas duplas: ``b\"ainda permite aspas 'simples' dentro\"``" -#: ../../library/stdtypes.rst:2499 +#: ../../library/stdtypes.rst:2501 msgid "" "Triple quoted: ``b'''3 single quotes'''``, ``b\"\"\"3 double quotes\"\"\"``" msgstr "" -"Aspas triplas: ``b'''3 single quotes'''``, ``b\"\"\"3 double quotes\"\"\"``" +"Aspas triplas: ``b'''3 aspas simples'''``, ``b\"\"\"3 aspas duplas\"\"\"``" -#: ../../library/stdtypes.rst:2501 +#: ../../library/stdtypes.rst:2503 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 "" "Apenas caracteres ASCII são permitidos em literais de bytes " -"(independentemente da codificação declarada). Qualquer valor binário " -"superior a 127 deverá ser inserido em literais de bytes usando a sequência " -"de escape apropriada." +"(independentemente da codificação declarada no código-fonte). Qualquer valor " +"binário superior a 127 deverá ser inserido em literais de bytes usando a " +"sequência de escape apropriada." -#: ../../library/stdtypes.rst:2505 +#: ../../library/stdtypes.rst:2507 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 "" "Assim como string literais, bytes literais também podem usar um prefixo " -"``r`` para desabilitar o processamento de sequências de escape. Veja :ref:" -"`strings` para mais sobre as várias formas de bytes literais, incluindo " -"suporte a sequências de escape." +"``r`` para desabilitar o processamento de sequências de escape. " +"Veja :ref:`strings` para mais sobre as várias formas de bytes literais, " +"incluindo suporte a sequências de escape." -#: ../../library/stdtypes.rst:2509 +#: ../../library/stdtypes.rst:2511 msgid "" "While bytes literals and representations are based on ASCII text, bytes " "objects actually behave like immutable sequences of integers, with each " @@ -4193,7 +4200,7 @@ msgstr "" "cegamente em formatos de dados binários que não são compatíveis com ASCII " "irá usualmente resultar em dados corrompidos)." -#: ../../library/stdtypes.rst:2519 +#: ../../library/stdtypes.rst:2521 msgid "" "In addition to the literal forms, bytes objects can be created in a number " "of other ways:" @@ -4201,27 +4208,27 @@ msgstr "" "Além das formas literais, os objetos bytes podem ser criados de várias " "outras maneiras:" -#: ../../library/stdtypes.rst:2522 +#: ../../library/stdtypes.rst:2524 msgid "A zero-filled bytes object of a specified length: ``bytes(10)``" msgstr "" "Um bytes preenchido com objetos zero com um comprimento especificado: " "``bytes(10)``" -#: ../../library/stdtypes.rst:2523 +#: ../../library/stdtypes.rst:2525 msgid "From an iterable of integers: ``bytes(range(20))``" msgstr "De um iterável de inteiros: ``bytes(range(20))``" -#: ../../library/stdtypes.rst:2524 +#: ../../library/stdtypes.rst:2526 msgid "Copying existing binary data via the buffer protocol: ``bytes(obj)``" msgstr "" "Copiando dados binários existentes através do protocolo de Buffer: " "``bytes(obj)``" -#: ../../library/stdtypes.rst:2526 +#: ../../library/stdtypes.rst:2528 msgid "Also see the :ref:`bytes ` built-in." msgstr "Veja também os embutidos :ref:`bytes `." -#: ../../library/stdtypes.rst:2528 +#: ../../library/stdtypes.rst:2530 msgid "" "Since 2 hexadecimal digits correspond precisely to a single byte, " "hexadecimal numbers are a commonly used format for describing binary data. " @@ -4233,7 +4240,7 @@ msgstr "" "binários. Portanto, o tipo bytes tem um método de classe adicional para ler " "dados nesse formato:" -#: ../../library/stdtypes.rst:2534 +#: ../../library/stdtypes.rst:2536 msgid "" "This :class:`bytes` class method returns a bytes object, decoding the given " "string object. The string must contain two hexadecimal digits per byte, " @@ -4243,7 +4250,7 @@ msgstr "" "decodificando o objeto string fornecido. A string deve conter dois dígitos " "hexadecimais por byte, com espaço em branco ASCII sendo ignorado." -#: ../../library/stdtypes.rst:2541 +#: ../../library/stdtypes.rst:2543 msgid "" ":meth:`bytes.fromhex` now skips all ASCII whitespace in the string, not just " "spaces." @@ -4251,7 +4258,7 @@ msgstr "" ":meth:`bytes.fromhex` agora ignora todos os espaços em branco em ASCII na " "string, não apenas espaços." -#: ../../library/stdtypes.rst:2545 +#: ../../library/stdtypes.rst:2547 msgid "" "A reverse conversion function exists to transform a bytes object into its " "hexadecimal representation." @@ -4259,7 +4266,7 @@ msgstr "" "Uma função de conversão reversa existe para transformar um objeto bytes na " "sua representação hexadecimal." -#: ../../library/stdtypes.rst:2550 ../../library/stdtypes.rst:2635 +#: ../../library/stdtypes.rst:2552 ../../library/stdtypes.rst:2637 msgid "" "Return a string object containing two hexadecimal digits for each byte in " "the instance." @@ -4267,7 +4274,7 @@ msgstr "" "Retorna um objeto string contendo dois dígitos hexadecimais para cada byte " "na instância." -#: ../../library/stdtypes.rst:2556 +#: ../../library/stdtypes.rst:2558 msgid "" "If you want to make the hex string easier to read, you can specify a single " "character separator *sep* parameter to include in the output. By default, " @@ -4282,7 +4289,7 @@ msgstr "" "Valores positivos calculam a posição do separador a partir da direita, " "valores negativos calculam a partir da esquerda." -#: ../../library/stdtypes.rst:2573 +#: ../../library/stdtypes.rst:2575 msgid "" ":meth:`bytes.hex` now supports optional *sep* and *bytes_per_sep* parameters " "to insert separators between bytes in the hex output." @@ -4290,7 +4297,7 @@ msgstr "" ":meth:`bytes.hex` agora suporta os parâmetros opcionais *sep* e " "*bytes_per_sep* para inserir separadores entre bytes na saída hexadecimal." -#: ../../library/stdtypes.rst:2577 +#: ../../library/stdtypes.rst:2579 msgid "" "Since bytes objects are sequences of integers (akin to a tuple), for a bytes " "object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be a bytes " @@ -4303,7 +4310,7 @@ msgstr "" "strings de texto, onde tanto o uso por índice quanto por fatiamento irão " "produzir uma string de comprimento 1)" -#: ../../library/stdtypes.rst:2582 +#: ../../library/stdtypes.rst:2584 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 " @@ -4314,19 +4321,19 @@ msgstr "" "46])``. Você sempre pode converter um objeto bytes em uma lista de inteiros " "usando ``list(b)``." -#: ../../library/stdtypes.rst:2590 +#: ../../library/stdtypes.rst:2592 msgid "Bytearray Objects" -msgstr "Bytearray Objects" +msgstr "Objetos Bytearray" -#: ../../library/stdtypes.rst:2594 +#: ../../library/stdtypes.rst:2596 msgid "" ":class:`bytearray` objects are a mutable counterpart to :class:`bytes` " "objects." msgstr "" -"Objetos :class:`bytearray` são mutáveis, em contrapartida a objetos :class:" -"`bytes`." +"Objetos :class:`bytearray` são mutáveis, em contrapartida a " +"objetos :class:`bytes`." -#: ../../library/stdtypes.rst:2599 +#: ../../library/stdtypes.rst:2601 msgid "" "There is no dedicated literal syntax for bytearray objects, instead they are " "always created by calling the constructor:" @@ -4334,28 +4341,28 @@ msgstr "" "Não existe sintaxe literal dedicada para objetos de bytearray, ao invés " "disso eles sempre são criados através da chamada do construtor:" -#: ../../library/stdtypes.rst:2602 +#: ../../library/stdtypes.rst:2604 msgid "Creating an empty instance: ``bytearray()``" msgstr "Criando uma instância vazia: ``bytearray()``" -#: ../../library/stdtypes.rst:2603 +#: ../../library/stdtypes.rst:2605 msgid "Creating a zero-filled instance with a given length: ``bytearray(10)``" msgstr "" "Criando uma instância cheia de zero com um determinado comprimento: " "``bytearray(10)``" -#: ../../library/stdtypes.rst:2604 +#: ../../library/stdtypes.rst:2606 msgid "From an iterable of integers: ``bytearray(range(20))``" msgstr "A partir de inteiros iteráveis: ``bytearray(range(20))``" -#: ../../library/stdtypes.rst:2605 +#: ../../library/stdtypes.rst:2607 msgid "" "Copying existing binary data via the buffer protocol: ``bytearray(b'Hi!')``" msgstr "" "Copiando dados binários existentes através do protocolo de buffer: " "``bytearray(b'Hi!')``" -#: ../../library/stdtypes.rst:2607 +#: ../../library/stdtypes.rst:2609 msgid "" "As bytearray objects are mutable, they support the :ref:`mutable ` sequence operations in addition to the common bytes and bytearray " @@ -4365,11 +4372,11 @@ msgstr "" "sequência :ref:`mutable ` além das operações comuns de " "bytes e bytearray descritas em :ref:`bytes-methods`." -#: ../../library/stdtypes.rst:2611 +#: ../../library/stdtypes.rst:2613 msgid "Also see the :ref:`bytearray ` built-in." msgstr "Veja também o tipo embutido :ref:`bytearray `." -#: ../../library/stdtypes.rst:2613 +#: ../../library/stdtypes.rst:2615 msgid "" "Since 2 hexadecimal digits correspond precisely to a single byte, " "hexadecimal numbers are a commonly used format for describing binary data. " @@ -4381,7 +4388,7 @@ msgstr "" "dados binários. Consequentemente, o tipo de bytearray tem um método de " "classe adicional para ler dados nesse formato:" -#: ../../library/stdtypes.rst:2619 +#: ../../library/stdtypes.rst:2621 msgid "" "This :class:`bytearray` class method returns bytearray object, decoding the " "given string object. The string must contain two hexadecimal digits per " @@ -4392,7 +4399,7 @@ msgstr "" "dois dígitos hexadecimais por byte, com espaços em branco ASCII sendo " "ignorados." -#: ../../library/stdtypes.rst:2626 +#: ../../library/stdtypes.rst:2628 msgid "" ":meth:`bytearray.fromhex` now skips all ASCII whitespace in the string, not " "just spaces." @@ -4400,7 +4407,7 @@ msgstr "" ":meth:`bytearray.fromhex` agora ignora todos os espaços em branco em ASCII " "na string, não apenas espaços." -#: ../../library/stdtypes.rst:2630 +#: ../../library/stdtypes.rst:2632 msgid "" "A reverse conversion function exists to transform a bytearray object into " "its hexadecimal representation." @@ -4408,7 +4415,7 @@ msgstr "" "Existe uma função de conversão reversa para transformar um objeto bytearray " "em sua representação hexadecimal." -#: ../../library/stdtypes.rst:2643 +#: ../../library/stdtypes.rst:2645 msgid "" "Similar to :meth:`bytes.hex`, :meth:`bytearray.hex` now supports optional " "*sep* and *bytes_per_sep* parameters to insert separators between bytes in " @@ -4418,7 +4425,7 @@ msgstr "" "parâmetros opcionais *sep* e *bytes_per_sep* para inserir separadores entre " "bytes na saída hexadecimal." -#: ../../library/stdtypes.rst:2648 +#: ../../library/stdtypes.rst:2650 msgid "" "Since bytearray objects are sequences of integers (akin to a list), for a " "bytearray object *b*, ``b[0]`` will be an integer, while ``b[0:1]`` will be " @@ -4431,7 +4438,7 @@ msgstr "" "Strings de texto, onde tanto a indexação como o fatiamento produzirão " "sequências de comprimento 1)" -#: ../../library/stdtypes.rst:2653 +#: ../../library/stdtypes.rst:2655 msgid "" "The representation of bytearray objects uses the bytes literal format " "(``bytearray(b'...')``) since it is often more useful than e.g. " @@ -4443,11 +4450,11 @@ msgstr "" "exemplo, ``bytearray([46, 46, 46])``. Você sempre pode converter um objeto " "bytearray em uma lista de inteiros usando ``list(b)``." -#: ../../library/stdtypes.rst:2662 +#: ../../library/stdtypes.rst:2664 msgid "Bytes and Bytearray Operations" msgstr "Operações com Bytes e Bytearray" -#: ../../library/stdtypes.rst:2667 +#: ../../library/stdtypes.rst:2669 msgid "" "Both bytes and bytearray objects support the :ref:`common ` " "sequence operations. They interoperate not just with operands of the same " @@ -4455,14 +4462,14 @@ 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 "" -"Ambos os tipos, bytes e os objetos bytearray suportam as operações de " -"sequências :ref:`comuns `. Os mesmo interagem não apenas " -"com operandos do mesmo tipo, mas com qualquer :term:`objeto byte ou similar " -"`. Devido a esta flexibilidade, os mesmos podem ser " -"misturados livremente em operações sem causar erros. No entanto, o tipo de " -"retorno do resultado pode depender da ordem dos operandos." +"Ambos os tipos, bytes e objetos do tipo bytearray, aceitam as operações de " +"sequências :ref:`comuns `. Os mesmos interagem não apenas " +"com operandos do mesmo tipo, mas também com qualquer :term:`objeto bytes ou " +"similar `. Devido a esta flexibilidade, os mesmos podem " +"ser misturados livremente em operações sem causar erros. No entanto, o tipo " +"de retorno do resultado pode depender da ordem dos operandos." -#: ../../library/stdtypes.rst:2675 +#: ../../library/stdtypes.rst:2677 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 " @@ -4472,21 +4479,21 @@ msgstr "" "assim como os métodos de Strings não aceitam bytes como argumentos. Por " "exemplo, devemos escrever::" -#: ../../library/stdtypes.rst:2682 +#: ../../library/stdtypes.rst:2684 msgid "and::" msgstr "e::" -#: ../../library/stdtypes.rst:2687 +#: ../../library/stdtypes.rst:2689 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 "" -"Alguns operações com bytes e bytearray assumem o uso de formatos binários " +"Alguns operações com bytes e bytearray presumem o uso de formatos binários " "compatíveis com ASCII e, portanto, devem ser evitados ao trabalhar com dados " "binários arbitrários. Essas restrições são abordadas a seguir." -#: ../../library/stdtypes.rst:2692 +#: ../../library/stdtypes.rst:2694 msgid "" "Using these ASCII based operations to manipulate binary data that is not " "stored in an ASCII based format may lead to data corruption." @@ -4495,7 +4502,7 @@ msgstr "" "não são armazenados num formato baseado em ASCII poderá resultar na " "corrupção de dados." -#: ../../library/stdtypes.rst:2695 +#: ../../library/stdtypes.rst:2697 msgid "" "The following methods on bytes and bytearray objects can be used with " "arbitrary binary data." @@ -4503,7 +4510,7 @@ msgstr "" "Os métodos a seguir em Bytes e Bytearray podem ser usados com dados binários " "arbitrários." -#: ../../library/stdtypes.rst:2701 +#: ../../library/stdtypes.rst:2703 msgid "" "Return the number of non-overlapping occurrences of subsequence *sub* in the " "range [*start*, *end*]. Optional arguments *start* and *end* are " @@ -4513,17 +4520,17 @@ msgstr "" "intervalo [*start*, *end*]. Os argumentos opcionais *start* e *end* são " "interpretados como na notação de fatiamento." -#: ../../library/stdtypes.rst:2705 ../../library/stdtypes.rst:2810 -#: ../../library/stdtypes.rst:2832 ../../library/stdtypes.rst:2898 -#: ../../library/stdtypes.rst:2911 +#: ../../library/stdtypes.rst:2707 ../../library/stdtypes.rst:2812 +#: ../../library/stdtypes.rst:2834 ../../library/stdtypes.rst:2900 +#: ../../library/stdtypes.rst:2913 msgid "" "The subsequence to search for may be any :term:`bytes-like object` or an " "integer in the range 0 to 255." msgstr "" -"A subsequência a ser procurada poderá ser qualquer :term:`objeto byte ou " -"similar ` ou um inteiro no intervalo de 0 a 255." +"A subsequência a ser procurada poderá ser qualquer :term:`objeto bytes ou " +"similar` ou um inteiro no intervalo de 0 a 255." -#: ../../library/stdtypes.rst:2708 +#: ../../library/stdtypes.rst:2710 msgid "" "If *sub* is empty, returns the number of empty slices between characters " "which is the length of the bytes object plus one." @@ -4531,14 +4538,14 @@ msgstr "" "Se *sub* estiver vazio, retorna o número de fatias vazias entre os " "caracteres, que é o comprimento do objeto bytes mais um." -#: ../../library/stdtypes.rst:2711 ../../library/stdtypes.rst:2822 -#: ../../library/stdtypes.rst:2835 ../../library/stdtypes.rst:2901 -#: ../../library/stdtypes.rst:2914 +#: ../../library/stdtypes.rst:2713 ../../library/stdtypes.rst:2824 +#: ../../library/stdtypes.rst:2837 ../../library/stdtypes.rst:2903 +#: ../../library/stdtypes.rst:2916 msgid "Also accept an integer in the range 0 to 255 as the subsequence." msgstr "" "Também aceita um número inteiro no intervalo de 0 a 255 como subsequência." -#: ../../library/stdtypes.rst:2718 +#: ../../library/stdtypes.rst:2720 msgid "" "If the binary data starts with the *prefix* string, return " "``bytes[len(prefix):]``. Otherwise, return a copy of the original binary " @@ -4548,21 +4555,19 @@ msgstr "" "``bytes[len(prefix):]``. Caso contrário, retorna uma cópia dos dados " "binários originais::" -#: ../../library/stdtypes.rst:2727 +#: ../../library/stdtypes.rst:2729 msgid "The *prefix* may be any :term:`bytes-like object`." -msgstr "" -"O *prefix* pode ser qualquer :term:`objeto byte ou similar `." - -#: ../../library/stdtypes.rst:2731 ../../library/stdtypes.rst:2753 -#: ../../library/stdtypes.rst:2886 ../../library/stdtypes.rst:2979 -#: ../../library/stdtypes.rst:2993 ../../library/stdtypes.rst:3024 -#: ../../library/stdtypes.rst:3038 ../../library/stdtypes.rst:3080 -#: ../../library/stdtypes.rst:3150 ../../library/stdtypes.rst:3168 -#: ../../library/stdtypes.rst:3196 ../../library/stdtypes.rst:3335 -#: ../../library/stdtypes.rst:3390 ../../library/stdtypes.rst:3433 -#: ../../library/stdtypes.rst:3454 ../../library/stdtypes.rst:3476 -#: ../../library/stdtypes.rst:3678 +msgstr "O *prefix* pode ser qualquer :term:`objeto bytes ou similar`." + +#: ../../library/stdtypes.rst:2733 ../../library/stdtypes.rst:2755 +#: ../../library/stdtypes.rst:2888 ../../library/stdtypes.rst:2981 +#: ../../library/stdtypes.rst:2995 ../../library/stdtypes.rst:3026 +#: ../../library/stdtypes.rst:3040 ../../library/stdtypes.rst:3082 +#: ../../library/stdtypes.rst:3152 ../../library/stdtypes.rst:3170 +#: ../../library/stdtypes.rst:3198 ../../library/stdtypes.rst:3337 +#: ../../library/stdtypes.rst:3392 ../../library/stdtypes.rst:3435 +#: ../../library/stdtypes.rst:3456 ../../library/stdtypes.rst:3478 +#: ../../library/stdtypes.rst:3680 msgid "" "The bytearray version of this method does *not* operate in place - it always " "produces a new object, even if no changes were made." @@ -4570,7 +4575,7 @@ msgstr "" "A versão Bytearray deste método *não* opera no local -- o mesmo sempre " "produz um novo objeto, mesmo que não tenha sido feitas alterações." -#: ../../library/stdtypes.rst:2740 +#: ../../library/stdtypes.rst:2742 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 " @@ -4580,22 +4585,20 @@ msgstr "" "estiver vazia, retorna ``bytes[:-len(suffix)]``. Caso contrário, retorna uma " "cópia dos dados binários originais::" -#: ../../library/stdtypes.rst:2749 +#: ../../library/stdtypes.rst:2751 msgid "The *suffix* may be any :term:`bytes-like object`." -msgstr "" -"O *suffix* pode ser qualquer :term:`objeto byte ou similar `." +msgstr "O *suffix* pode ser qualquer :term:`objeto bytes ou similar`." -#: ../../library/stdtypes.rst:2762 +#: ../../library/stdtypes.rst:2764 msgid "Return the bytes decoded to a :class:`str`." msgstr "Retorna os bytes decodificados para uma :class:`str`." -#: ../../library/stdtypes.rst:2767 +#: ../../library/stdtypes.rst:2769 msgid "" "*errors* controls how decoding errors are handled. If ``'strict'`` (the " "default), a :exc:`UnicodeError` exception is raised. Other possible values " -"are ``'ignore'``, ``'replace'``, and any other name registered via :func:" -"`codecs.register_error`. See :ref:`error-handlers` for details." +"are ``'ignore'``, ``'replace'``, and any other name registered " +"via :func:`codecs.register_error`. See :ref:`error-handlers` for details." msgstr "" "*errors* controla como os erros de decodificação são tratados. Se " "``'strict'`` (o padrão), uma exceção :exc:`UnicodeError` é levantada. Outros " @@ -4603,28 +4606,28 @@ msgstr "" "registrado via :func:`codecs.register_error`. Veja :ref:`error-handlers` " "para detalhes." -#: ../../library/stdtypes.rst:2773 +#: ../../library/stdtypes.rst:2775 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." +"unless a decoding error actually occurs, :ref:`devmode` is enabled or " +"a :ref:`debug build ` is used." msgstr "" "Por motivos de desempenho, o valor de *errors* não é verificado quanto à " -"validade, a menos que um erro de decodificação realmente ocorra, :ref:" -"`devmode` esteja ativado ou uma :ref:`construção de depuração ` " -"seja usada." +"validade, a menos que um erro de decodificação realmente " +"ocorra, :ref:`devmode` esteja ativado ou uma :ref:`construção de depuração " +"` seja usada." -#: ../../library/stdtypes.rst:2779 +#: ../../library/stdtypes.rst:2781 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." +"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 "" "Passar o argumento *encoding* para :class:`str` permite decodificar qualquer " -"objeto :term:`objeto byte ou similar` diretamente, sem a necessidade de " +"objeto :term:`objeto bytes ou similar` diretamente, sem a necessidade de " "criar um objeto :class:`!bytes` ou :class:`!bytearray` temporário." -#: ../../library/stdtypes.rst:2794 +#: ../../library/stdtypes.rst:2796 msgid "" "Return ``True`` if the binary data ends with the specified *suffix*, " "otherwise return ``False``. *suffix* can also be a tuple of suffixes to " @@ -4637,13 +4640,13 @@ msgstr "" "começa naquela posição. Com o parâmetro opcional *end*, o método encerra a " "comparação na posição fornecida." -#: ../../library/stdtypes.rst:2799 +#: ../../library/stdtypes.rst:2801 msgid "The suffix(es) to search for may be any :term:`bytes-like object`." msgstr "" -"O sufixo(es) para buscas pode ser qualquer termos :term:`objeto byte ou " -"similar `." +"O sufixo(es) para buscas pode ser qualquer termos :term:`objeto bytes ou " +"similar`." -#: ../../library/stdtypes.rst:2805 +#: ../../library/stdtypes.rst:2807 msgid "" "Return the lowest index in the data where the subsequence *sub* is found, " "such that *sub* is contained in the slice ``s[start:end]``. Optional " @@ -4655,17 +4658,17 @@ msgstr "" "opcionais *start* e *end* são interpretados como na notação de fatiamento. " "Retorna ``-1`` se *sub* não for localizada." -#: ../../library/stdtypes.rst:2815 +#: ../../library/stdtypes.rst:2817 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::" +"position of *sub*. To check if *sub* is a substring or not, use " +"the :keyword:`in` operator::" msgstr "" "O método :meth:`~bytes.find` deve ser usado apenas se você precisa saber a " "posição de *sub*. Para verificar se *sub* é uma substring ou não, use o " "operador :keyword:`in`::" -#: ../../library/stdtypes.rst:2829 +#: ../../library/stdtypes.rst:2831 msgid "" "Like :meth:`~bytes.find`, but raise :exc:`ValueError` when the subsequence " "is not found." @@ -4673,7 +4676,7 @@ msgstr "" "Como :meth:`~bytes.find`, mas levanta a exceção :exc:`ValueError` quando a " "subsequência não for encontrada." -#: ../../library/stdtypes.rst:2842 +#: ../../library/stdtypes.rst:2844 msgid "" "Return a bytes or bytearray object which is the concatenation of the binary " "data sequences in *iterable*. A :exc:`TypeError` will be raised if there " @@ -4683,25 +4686,26 @@ msgid "" "method." msgstr "" "Retorna um objeto bytes ou bytearray que é a concatenação das sequências de " -"dados binários no *iterável*. Um :exc:`TypeError` será levantado se " -"existirem quaisquer valores que não sejam :term:`objeto byte ou similar " -"`, no *iterável*, incluindo objetos :class:`str`. O " -"separador entre elementos é o conteúdo do objeto bytes ou bytearray que está " +"dados binários no iterável *iterable*. Uma exceção :exc:`TypeError` será " +"levantada se existirem quaisquer valores que não sejam :term:`objeto bytes " +"ou similar`, no *iterable*, incluindo objetos :class:`str`. O separador " +"entre elementos é o conteúdo do objeto bytes ou bytearray que está " "fornecendo este método." -#: ../../library/stdtypes.rst:2853 +#: ../../library/stdtypes.rst:2855 msgid "" -"This static method returns a translation table usable for :meth:`bytes." -"translate` that will map each character in *from* into the character at the " -"same position in *to*; *from* and *to* must both be :term:`bytes-like " -"objects ` and have the same length." +"This static method returns a translation table usable " +"for :meth:`bytes.translate` that will map each character in *from* into the " +"character at the same position in *to*; *from* and *to* must both " +"be :term:`bytes-like objects ` and have the same length." msgstr "" -"Este método estático retorna uma tabela de tradução usável para :meth:`bytes." -"translate`, que irá mapear cada caractere em *from* no caractere na mesma " -"posição em *to*; *from* e *to* devem ambos ser :term:`objeto byte ou similar " -"` e ter o mesmo comprimento." +"Este método estático retorna uma tabela de tradução usável " +"para :meth:`bytes.translate`, que irá mapear cada caractere em *from* no " +"caractere na mesma posição em *to*; *from* e *to* devem ambos " +"ser :term:`objetos bytes ou similares ` e ter o mesmo " +"comprimento." -#: ../../library/stdtypes.rst:2864 +#: ../../library/stdtypes.rst:2866 msgid "" "Split the sequence at the first occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself or its " @@ -4715,13 +4719,12 @@ msgstr "" "com 3 elementos contendo uma cópia da sequência original, seguido de dois " "bytes ou objetos bytearray vazios." -#: ../../library/stdtypes.rst:2871 ../../library/stdtypes.rst:2928 +#: ../../library/stdtypes.rst:2873 ../../library/stdtypes.rst:2930 msgid "The separator to search for may be any :term:`bytes-like object`." msgstr "" -"O separador para buscar pode ser qualquer termos :term:`objeto byte ou " -"similar `." +"O separador para buscar pode ser qualquer :term:`objeto bytes ou similar`." -#: ../../library/stdtypes.rst:2877 +#: ../../library/stdtypes.rst:2879 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 " @@ -4731,15 +4734,15 @@ msgstr "" "*antigas* substituídas por *novo*. Se o argumento opcional *count* for " "fornecido, apenas as primeiras ocorrências de *count* serão substituídas." -#: ../../library/stdtypes.rst:2881 +#: ../../library/stdtypes.rst:2883 msgid "" "The subsequence to search for and its replacement may be any :term:`bytes-" "like object`." msgstr "" -"A subsequência para buscar e substituição pode ser qualquer termos :term:" -"`objeto byte ou similar `." +"A subsequência para buscar e substituição pode ser qualquer " +"termos :term:`objeto bytes ou similar`." -#: ../../library/stdtypes.rst:2893 +#: ../../library/stdtypes.rst:2895 msgid "" "Return the highest index in the sequence where the subsequence *sub* is " "found, such that *sub* is contained within ``s[start:end]``. Optional " @@ -4751,7 +4754,7 @@ msgstr "" "argumentos opcionais *start* e *end* são interpretados como na notação de " "fatiamento. Caso ocorra algum problema será retornado ``-1``." -#: ../../library/stdtypes.rst:2908 +#: ../../library/stdtypes.rst:2910 msgid "" "Like :meth:`~bytes.rfind` but raises :exc:`ValueError` when the subsequence " "*sub* is not found." @@ -4759,7 +4762,7 @@ msgstr "" "Semelhante a :meth:`~bytes.rfind` mas levanta :exc:`ValueError` quando a " "subsequência *sub* não é encontrada." -#: ../../library/stdtypes.rst:2921 +#: ../../library/stdtypes.rst:2923 msgid "" "Split the sequence at the last occurrence of *sep*, and return a 3-tuple " "containing the part before the separator, the separator itself or its " @@ -4773,7 +4776,7 @@ msgstr "" "com 3 elementos contendo dois bytes ou objetos bytearray vazios, seguido por " "uma cópia da sequência original." -#: ../../library/stdtypes.rst:2934 +#: ../../library/stdtypes.rst:2936 msgid "" "Return ``True`` if the binary data starts with the specified *prefix*, " "otherwise return ``False``. *prefix* can also be a tuple of prefixes to " @@ -4786,13 +4789,13 @@ msgstr "" "na posição indicada. Com o parâmetro opcional *end*, encerra a procura na " "posição indicada." -#: ../../library/stdtypes.rst:2939 +#: ../../library/stdtypes.rst:2941 msgid "The prefix(es) to search for may be any :term:`bytes-like object`." msgstr "" -"Os prefixos para pesquisar podem ser qualquer :term:`objeto byte ou similar " -"`." +"Os prefixos para pesquisar podem ser qualquer :term:`objeto bytes ou " +"similar`." -#: ../../library/stdtypes.rst:2945 +#: ../../library/stdtypes.rst:2947 msgid "" "Return a copy of the bytes or bytearray object where all bytes occurring in " "the optional argument *delete* are removed, and the remaining bytes have " @@ -4804,14 +4807,14 @@ msgstr "" "foram mapeados através da tabela de tradução fornecida, a qual deve ser um " "objeto bytes de comprimento 256." -#: ../../library/stdtypes.rst:2950 +#: ../../library/stdtypes.rst:2952 msgid "" "You can use the :func:`bytes.maketrans` method to create a translation table." msgstr "" "Você pode usar o método :func:`bytes.maketrans` para criar uma tabela de " "tradução." -#: ../../library/stdtypes.rst:2953 +#: ../../library/stdtypes.rst:2955 msgid "" "Set the *table* argument to ``None`` for translations that only delete " "characters::" @@ -4819,11 +4822,11 @@ msgstr "" "Define o argumento *table* como ``None`` para traduções que excluem apenas " "caracteres::" -#: ../../library/stdtypes.rst:2959 +#: ../../library/stdtypes.rst:2961 msgid "*delete* is now supported as a keyword argument." msgstr "*delete* agora é suportado como um argumento nomeado." -#: ../../library/stdtypes.rst:2963 +#: ../../library/stdtypes.rst:2965 msgid "" "The following methods on bytes and bytearray objects have default behaviours " "that assume the use of ASCII compatible binary formats, but can still be " @@ -4832,12 +4835,12 @@ msgid "" "instead produce new objects." msgstr "" "Os seguintes métodos de objetos bytes e bytearray tem comportamentos padrões " -"que assumem o uso de formatos binários compatíveis com ASCII, mas ainda " +"que presumem o uso de formatos binários compatíveis com ASCII, mas ainda " "podem ser usados com dados binários arbitrários através da passagem " "argumentos apropriados. Perceba que todos os métodos de bytearray nesta " "seção *não* alteram os argumentos, e ao invés disso produzem novos objetos." -#: ../../library/stdtypes.rst:2972 +#: ../../library/stdtypes.rst:2974 msgid "" "Return a copy of the object centered in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -4849,7 +4852,7 @@ msgstr "" "um espaço ASCII). Para objetos :class:`bytes`, a sequência original é " "retornada se *width* é menor que ou igual a ``len(s)``." -#: ../../library/stdtypes.rst:2986 +#: ../../library/stdtypes.rst:2988 msgid "" "Return a copy of the object left justified in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -4861,7 +4864,7 @@ msgstr "" "(o padrão é um espaço ASCII). Para objetos :class:`bytes`, a sequência " "original é retornada se *width* é menor que ou igual a ``len(s)``." -#: ../../library/stdtypes.rst:3000 +#: ../../library/stdtypes.rst:3002 msgid "" "Return a copy of the sequence with specified leading bytes removed. The " "*chars* argument is a binary sequence specifying the set of byte values to " @@ -4876,20 +4879,20 @@ msgstr "" "usualmente utilizado com caracteres ASCII. Se for omitido ou for ``None``, o " "argumento *chars* irá remover por padrão os espaços em branco ASCII. O " "argumento *chars* não é um prefixo; ao contrário disso, todas as combinações " -"dos seus seus valores são removidas::" +"dos seus valores são removidas::" -#: ../../library/stdtypes.rst:3012 +#: ../../library/stdtypes.rst:3014 msgid "" "The binary sequence of byte values to remove may be any :term:`bytes-like " "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 "" -"A sequência binária de valores de bytes a serem removidos pode ser :term:" -"`objeto byte ou similar `. Consulte :meth:`~bytes." -"removeprefix` para um método que removerá uma única string de prefixo em vez " -"de todo um conjunto de caracteres. Por exemplo::" +"A sequência binária de valores de bytes a serem removidos pode " +"ser :term:`objeto bytes ou similar`. Consulte :meth:`~bytes.removeprefix` " +"para um método que removerá uma única string de prefixo em vez de todo um " +"conjunto de caracteres. Por exemplo::" -#: ../../library/stdtypes.rst:3031 +#: ../../library/stdtypes.rst:3033 msgid "" "Return a copy of the object right justified in a sequence of length *width*. " "Padding is done using the specified *fillbyte* (default is an ASCII space). " @@ -4901,7 +4904,7 @@ msgstr "" "(o padrão é um espaço ASCII). Para objetos :class:`bytes`, a sequência " "original é retornada se *width* é menor que ou igual a ``len(s)``." -#: ../../library/stdtypes.rst:3045 +#: ../../library/stdtypes.rst:3047 msgid "" "Split the binary sequence into subsequences of the same type, using *sep* as " "the delimiter string. If *maxsplit* is given, at most *maxsplit* splits are " @@ -4914,11 +4917,11 @@ msgstr "" "um delimitador de string. Se *maxsplit* é fornecido, no máximo *maxsplit* " "divisões são feitas, aquelas que estão *mais à direita*. Se *sep* não é " "especificado ou é ``None``, qualquer subsequência consistindo unicamente de " -"espaço em branco ASCII é um separador. Exceto por dividir pela direita, :" -"meth:`rsplit` comporta-se como :meth:`split`, o qual é descrito em detalhes " -"abaixo." +"espaço em branco ASCII é um separador. Exceto por dividir pela " +"direita, :meth:`rsplit` comporta-se como :meth:`split`, o qual é descrito em " +"detalhes abaixo." -#: ../../library/stdtypes.rst:3056 +#: ../../library/stdtypes.rst:3058 msgid "" "Return a copy of the sequence with specified trailing bytes removed. The " "*chars* argument is a binary sequence specifying the set of byte values to " @@ -4933,20 +4936,20 @@ msgstr "" "utilizado com caracteres ASCII. Se for omitido ou for ``None``, o argumento " "*chars* irá remover por padrão os espaços em branco ASCII. O argumento " "*chars* não é um sufixo; ao contrário disso, todas as combinações dos seus " -"seus valores são removidas::" +"valores são removidas::" -#: ../../library/stdtypes.rst:3068 +#: ../../library/stdtypes.rst:3070 msgid "" "The binary sequence of byte values to remove may be any :term:`bytes-like " "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 "" -"A sequência binária de valores de bytes a serem removidos pode ser :term:" -"`objeto byte ou similar `. Consulte :meth:`~bytes." -"removesuffix` para um método que removerá uma única string de sufixo em vez " -"de todo um conjunto de caracteres. Por exemplo::" +"A sequência binária de valores de bytes a serem removidos pode " +"ser :term:`objeto bytes ou similar`. Consulte :meth:`~bytes.removesuffix` " +"para um método que removerá uma única string de sufixo em vez de todo um " +"conjunto de caracteres. Por exemplo::" -#: ../../library/stdtypes.rst:3087 +#: ../../library/stdtypes.rst:3089 msgid "" "Split the binary sequence into subsequences of the same type, using *sep* as " "the delimiter string. If *maxsplit* is given and non-negative, at most " @@ -4960,7 +4963,7 @@ msgstr "" "elementos). Se *maxsplit* não é especificado ou é ``-1``, então não existe " "limite no número de divisões (todas as divisões possíveis são feitas)." -#: ../../library/stdtypes.rst:3093 +#: ../../library/stdtypes.rst:3095 msgid "" "If *sep* is given, consecutive delimiters are not grouped together and are " "deemed to delimit empty subsequences (for example, ``b'1,,2'.split(b',')`` " @@ -4971,15 +4974,16 @@ msgid "" "object being split. The *sep* argument may be any :term:`bytes-like object`." msgstr "" "Se *sep* é fornecido, delimitadores consecutivos não são agrupados juntos e " -"eles são destinados para delimitar strings vazias (por exemplo ``b'1,,2'." -"split(b',')`` retorna ``[b'1', b'', b'2']``). O argumento *sep* pode " -"consistir de uma sequência de múltiplos bytes (por exemplo, ``b'1<>2<>3'." -"split(b'<>')`` retorna ``[b'1', b'2', b'3']``). Separar uma sequência vazia " -"com um separador especificado retorna ``[b'']`` ou ``[bytearray(b'')]`` " -"dependendo do tipo do objeto que está sendo separado. O argumento *sep* pode " -"ser qualquer :term:`objeto byte ou similar `." +"eles são destinados para delimitar strings vazias (por exemplo " +"``b'1,,2'.split(b',')`` retorna ``[b'1', b'', b'2']``). O argumento *sep* " +"pode consistir de uma sequência de múltiplos bytes (por exemplo, " +"``b'1<>2<>3'.split(b'<>')`` retorna ``[b'1', b'2', b'3']``). Separar uma " +"sequência vazia com um separador especificado retorna ``[b'']`` ou " +"``[bytearray(b'')]`` dependendo do tipo do objeto que está sendo separado. O " +"argumento *sep* pode ser qualquer :term:`objeto byte ou similar `." -#: ../../library/stdtypes.rst:3111 +#: ../../library/stdtypes.rst:3113 msgid "" "If *sep* is not specified or is ``None``, a different splitting algorithm is " "applied: runs of consecutive ASCII whitespace are regarded as a single " @@ -4996,7 +5000,7 @@ msgstr "" "sequência que consiste apenas de espaços em branco ASCII sem um separador " "especificado, retorna ``[]``." -#: ../../library/stdtypes.rst:3132 +#: ../../library/stdtypes.rst:3134 msgid "" "Return a copy of the sequence with specified leading and trailing bytes " "removed. The *chars* argument is a binary sequence specifying the set of " @@ -5011,29 +5015,29 @@ msgstr "" "método é normalmente utilizado com caracteres ASCII. Se for omitido ou for " "``None``, o argumento *chars* irá remover por padrão os espaços em branco " "ASCII. O argumento *chars* não é um prefixo, nem um sufixo; ao contrário " -"disso, todas as combinações dos seus seus valores são removidas::" +"disso, todas as combinações dos seus valores são removidas::" -#: ../../library/stdtypes.rst:3145 +#: ../../library/stdtypes.rst:3147 msgid "" "The binary sequence of byte values to remove may be any :term:`bytes-like " "object`." msgstr "" -"A sequência binária de valores de bytes a serem removidos pode ser qualquer :" -"term:`objeto byte ou similar `." +"A sequência binária de valores de bytes a serem removidos pode ser " +"qualquer :term:`objeto bytes ou similar`." -#: ../../library/stdtypes.rst:3154 +#: ../../library/stdtypes.rst:3156 msgid "" "The following methods on bytes and bytearray objects assume the use of ASCII " "compatible binary formats and should not be applied to arbitrary binary " "data. Note that all of the bytearray methods in this section do *not* " "operate in place, and instead produce new objects." msgstr "" -"O seguintes métodos de bytes e objetos bytearray assumem o uso de formatos " +"O seguintes métodos de bytes e objetos bytearray presumem o uso de formatos " "binários compatíveis com ASCII e não devem ser aplicados a dados binários " "arbitrários. Perceba que todos os métodos de bytearray nesta seção *não* " "alteram os argumentos, e ao invés disso produzem novos objetos." -#: ../../library/stdtypes.rst:3162 +#: ../../library/stdtypes.rst:3164 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 " @@ -5043,7 +5047,7 @@ msgstr "" "ASCII, e o primeiro byte em letra maiúscula e o resto em letras minúsculas. " "Valores de bytes que não são ASCII são passados adiante sem mudanças." -#: ../../library/stdtypes.rst:3175 +#: ../../library/stdtypes.rst:3177 msgid "" "Return a copy of the sequence where all ASCII tab characters are replaced by " "one or more ASCII spaces, depending on the current column and the given tab " @@ -5073,7 +5077,7 @@ msgstr "" "incrementada em uma unidade independentemente de como o byte é representado " "quanto é impresso::" -#: ../../library/stdtypes.rst:3203 +#: ../../library/stdtypes.rst:3205 msgid "" "Return ``True`` if all bytes in the sequence are alphabetical ASCII " "characters or ASCII decimal digits and the sequence is not empty, ``False`` " @@ -5088,7 +5092,7 @@ msgstr "" "Dígitos decimais ASCII são aqueles valores de byte na sequência " "``b'0123456789'``." -#: ../../library/stdtypes.rst:3220 +#: ../../library/stdtypes.rst:3222 msgid "" "Return ``True`` if all bytes in the sequence are alphabetic ASCII characters " "and the sequence is not empty, ``False`` otherwise. Alphabetic ASCII " @@ -5100,7 +5104,7 @@ msgstr "" "alfabéticos ASCII são aqueles cujo valor dos bytes estão na sequência " "``b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'``." -#: ../../library/stdtypes.rst:3236 +#: ../../library/stdtypes.rst:3238 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." @@ -5108,7 +5112,7 @@ msgstr "" "Retorna ``True`` se a sequência é vazia ou todos os bytes na sequência são " "ASCII, ``False`` caso contrário. Bytes ASCII estão no intervalo 0-0x7F." -#: ../../library/stdtypes.rst:3246 +#: ../../library/stdtypes.rst:3248 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 " @@ -5118,7 +5122,7 @@ msgstr "" "a sequência não é vazia, ``False`` caso contrário. Dígitos decimais ASCII " "são aqueles cujos valores dos bytes estão na sequência ``b'0123456789'``." -#: ../../library/stdtypes.rst:3261 +#: ../../library/stdtypes.rst:3263 msgid "" "Return ``True`` if there is at least one lowercase ASCII character in the " "sequence and no uppercase ASCII characters, ``False`` otherwise." @@ -5126,9 +5130,9 @@ msgstr "" "Retorna ``True`` se existe pelo menos um caractere minúsculo ASCII na " "sequência e nenhum caractere maiúsculo ASCII, ``False`` caso contrário." -#: ../../library/stdtypes.rst:3271 ../../library/stdtypes.rst:3313 -#: ../../library/stdtypes.rst:3329 ../../library/stdtypes.rst:3379 -#: ../../library/stdtypes.rst:3448 +#: ../../library/stdtypes.rst:3273 ../../library/stdtypes.rst:3315 +#: ../../library/stdtypes.rst:3331 ../../library/stdtypes.rst:3381 +#: ../../library/stdtypes.rst:3450 msgid "" "Lowercase ASCII characters are those byte values in the sequence " "``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " @@ -5139,7 +5143,7 @@ msgstr "" "aqueles cujos valores de bytes estão na sequência " "``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``." -#: ../../library/stdtypes.rst:3279 +#: ../../library/stdtypes.rst:3281 msgid "" "Return ``True`` if all bytes in the sequence are ASCII whitespace and the " "sequence is not empty, ``False`` otherwise. ASCII whitespace characters are " @@ -5152,7 +5156,7 @@ msgstr "" "\\t\\n\\r\\x0b\\f'`` (espaço, tabulação, nova linha, retorno do cursor, " "tabulação vertical, formulário de entrada)." -#: ../../library/stdtypes.rst:3288 +#: ../../library/stdtypes.rst:3290 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 " @@ -5162,7 +5166,7 @@ msgstr "" "vazia, ``False`` caso contrário. Veja :meth:`bytes.title` para mais detalhes " "sobre a definição de \"titlecased\"." -#: ../../library/stdtypes.rst:3303 +#: ../../library/stdtypes.rst:3305 msgid "" "Return ``True`` if there is at least one uppercase alphabetic ASCII " "character in the sequence and no lowercase ASCII characters, ``False`` " @@ -5172,7 +5176,7 @@ msgstr "" "ASCII na sequência e nenhum caractere minúsculo ASCII, ``False`` caso " "contrário." -#: ../../library/stdtypes.rst:3321 +#: ../../library/stdtypes.rst:3323 msgid "" "Return a copy of the sequence with all the uppercase ASCII characters " "converted to their corresponding lowercase counterpart." @@ -5180,7 +5184,7 @@ msgstr "" "Retorna uma cópia da sequência com todos os caracteres maiúsculos ASCII " "convertidos para os seus correspondentes caracteres minúsculos." -#: ../../library/stdtypes.rst:3346 +#: ../../library/stdtypes.rst:3348 msgid "" "Return a list of the lines in the binary sequence, breaking at ASCII line " "boundaries. This method uses the :term:`universal newlines` approach to " @@ -5193,7 +5197,7 @@ msgstr "" "não são incluídas na lista resultante a não ser que *keepends* seja " "fornecido e verdadeiro." -#: ../../library/stdtypes.rst:3358 +#: ../../library/stdtypes.rst:3360 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 " @@ -5203,7 +5207,7 @@ msgstr "" "fornecida, este método retorna uma lista vazia para a string vazia, e uma " "quebra de linha terminal não resulta em uma linha extra::" -#: ../../library/stdtypes.rst:3371 +#: ../../library/stdtypes.rst:3373 msgid "" "Return a copy of the sequence with all the lowercase ASCII characters " "converted to their corresponding uppercase counterpart and vice-versa." @@ -5211,19 +5215,19 @@ msgstr "" "Retorna uma cópia da sequência com todos os caracteres minúsculos ASCII " "convertidos para caracteres maiúsculos correspondentes, e vice-versa." -#: ../../library/stdtypes.rst:3383 +#: ../../library/stdtypes.rst:3385 msgid "" -"Unlike :func:`str.swapcase()`, it is always the case that ``bin.swapcase()." -"swapcase() == bin`` for the binary versions. Case conversions are " -"symmetrical in ASCII, even though that is not generally true for arbitrary " -"Unicode code points." +"Unlike :func:`str.swapcase()`, it is always the case that " +"``bin.swapcase().swapcase() == bin`` for the binary versions. Case " +"conversions are symmetrical in ASCII, even though that is not generally true " +"for arbitrary Unicode code points." msgstr "" -"Ao contrário de :func:`str.swapcase()`, é sempre fato que ``bin.swapcase()." -"swapcase() == bin`` para as versões binárias. Conversões maiúsculas/" -"minúsculas são simétricas em ASCII, apesar que isso não é geralmente verdade " -"para pontos de codificação arbitrários Unicode." +"Ao contrário de :func:`str.swapcase()`, é sempre fato que " +"``bin.swapcase().swapcase() == bin`` para as versões binárias. Conversões " +"maiúsculas/minúsculas são simétricas em ASCII, apesar que isso não é " +"geralmente verdade para pontos de codificação arbitrários Unicode." -#: ../../library/stdtypes.rst:3397 +#: ../../library/stdtypes.rst:3399 msgid "" "Return a titlecased version of the binary sequence where words start with an " "uppercase ASCII character and the remaining characters are lowercase. " @@ -5234,7 +5238,7 @@ msgstr "" "letras minúsculas. Bytes quem não possuem diferença entre maiúscula/" "minúscula não são alterados." -#: ../../library/stdtypes.rst:3406 +#: ../../library/stdtypes.rst:3408 msgid "" "Lowercase ASCII characters are those byte values in the sequence " "``b'abcdefghijklmnopqrstuvwxyz'``. Uppercase ASCII characters are those byte " @@ -5247,14 +5251,14 @@ msgstr "" "``b'ABCDEFGHIJKLMNOPQRSTUVWXYZ'``. Todos os outros valores de bytes ignoram " "maiúsculas/minúsculas." -#: ../../library/stdtypes.rst:3419 +#: ../../library/stdtypes.rst:3421 msgid "" "A workaround for apostrophes can be constructed using regular expressions::" msgstr "" "Uma solução alternativa para os apóstrofes pode ser construída usando " "expressões regulares::" -#: ../../library/stdtypes.rst:3440 +#: ../../library/stdtypes.rst:3442 msgid "" "Return a copy of the sequence with all the lowercase ASCII characters " "converted to their corresponding uppercase counterpart." @@ -5262,7 +5266,7 @@ msgstr "" "Retorna uma cópia da sequência com todos os caracteres minúsculos ASCII " "convertidos para sua contraparte maiúscula correspondente." -#: ../../library/stdtypes.rst:3461 +#: ../../library/stdtypes.rst:3463 msgid "" "Return a copy of the sequence left filled with ASCII ``b'0'`` digits to make " "a sequence of length *width*. A leading sign prefix (``b'+'``/ ``b'-'``) is " @@ -5277,11 +5281,11 @@ msgstr "" "objetos :class:`bytes`, a sequência original é retornada se *width* é menor " "que ou igual a ``len(seq)``." -#: ../../library/stdtypes.rst:3483 +#: ../../library/stdtypes.rst:3485 msgid "``printf``-style Bytes Formatting" msgstr "Estilo de Formatação de bytes ``printf``-style" -#: ../../library/stdtypes.rst:3500 +#: ../../library/stdtypes.rst:3502 msgid "" "The formatting operations described here exhibit a variety of quirks that " "lead to a number of common errors (such as failing to display tuples and " @@ -5293,14 +5297,14 @@ msgstr "" "exibição de Tuplas e Dicionários corretamente). Se o valor que está sendo " "impresso puder ser uma tupla ou dicionário, envolva-o numa tupla." -#: ../../library/stdtypes.rst:3505 +#: ../../library/stdtypes.rst:3507 msgid "" "Bytes objects (``bytes``/``bytearray``) have one unique built-in operation: " "the ``%`` operator (modulo). This is also known as the bytes *formatting* or " "*interpolation* operator. Given ``format % values`` (where *format* is a " "bytes object), ``%`` conversion specifications in *format* are replaced with " -"zero or more elements of *values*. The effect is similar to using the :c:" -"func:`sprintf` in the C language." +"zero or more elements of *values*. The effect is similar to using " +"the :c:func:`sprintf` in the C language." msgstr "" "Objetos Bytes (``bytes``/``bytearray``) possuem uma operação integrada " "exclusiva: o operador ``%`` (modulo). Isso também é conhecido como o bytes " @@ -5309,7 +5313,7 @@ msgstr "" "*format* são substituídas por zero ou mais elementos de *values*. O efeito é " "semelhante ao uso da função :c:func:`sprintf` na linguagem C." -#: ../../library/stdtypes.rst:3512 +#: ../../library/stdtypes.rst:3514 msgid "" "If *format* requires a single argument, *values* may be a single non-tuple " "object. [5]_ Otherwise, *values* must be a tuple with exactly the number of " @@ -5321,7 +5325,7 @@ msgstr "" "o número de itens especificados pelo objeto de formatação de Bytes, ou um " "único objeto de mapeamento (por exemplo, um dicionário)." -#: ../../library/stdtypes.rst:3546 +#: ../../library/stdtypes.rst:3548 msgid "" "When the right argument is a dictionary (or other mapping type), then the " "formats in the bytes object *must* include a parenthesised mapping key into " @@ -5334,23 +5338,23 @@ msgstr "" "O mapeamento de chaves seleciona o valor a ser formatado a partir do " "mapeamento. Por exemplo:" -#: ../../library/stdtypes.rst:3620 +#: ../../library/stdtypes.rst:3622 msgid "Single byte (accepts integer or single byte objects)." msgstr "Byte simples (aceita objetos inteiros ou de byte único)." -#: ../../library/stdtypes.rst:3623 +#: ../../library/stdtypes.rst:3625 msgid "``'b'``" msgstr "``'b'``" -#: ../../library/stdtypes.rst:3623 +#: ../../library/stdtypes.rst:3625 msgid "" "Bytes (any object that follows the :ref:`buffer protocol ` or " -"has :meth:`__bytes__`)." +"has :meth:`~object.__bytes__`)." msgstr "" "Bytes (qualquer objeto que segue o :ref:`buffer protocol ` o " -"que possui :meth:`__bytes__`)." +"que possui :meth:`~object.__bytes__`)." -#: ../../library/stdtypes.rst:3627 +#: ../../library/stdtypes.rst:3629 msgid "" "``'s'`` is an alias for ``'b'`` and should only be used for Python2/3 code " "bases." @@ -5358,7 +5362,7 @@ msgstr "" "``'s'`` é um alias para ``'b'`` e só deve ser usado para bases de código " "Python2/3." -#: ../../library/stdtypes.rst:3630 +#: ../../library/stdtypes.rst:3632 msgid "" "Bytes (converts any Python object using ``repr(obj).encode('ascii', " "'backslashreplace')``)." @@ -5366,7 +5370,7 @@ msgstr "" "Bytes (converte qualquer objeto Python usando ``repr(obj).encode('ascii', " "'backslashreplace')``)." -#: ../../library/stdtypes.rst:3633 +#: ../../library/stdtypes.rst:3635 msgid "" "``'r'`` is an alias for ``'a'`` and should only be used for Python2/3 code " "bases." @@ -5374,48 +5378,48 @@ msgstr "" "``'r'`` é um alias para ``'a'`` e só deve ser usado para bases de código " "Python2/3." -#: ../../library/stdtypes.rst:3633 +#: ../../library/stdtypes.rst:3635 msgid "\\(7)" msgstr "\\(7)" -#: ../../library/stdtypes.rst:3668 +#: ../../library/stdtypes.rst:3670 msgid "``b'%s'`` is deprecated, but will not be removed during the 3.x series." msgstr "" "``b'%s'`` está descontinuado, mas não será removido durante a versão 3.x." -#: ../../library/stdtypes.rst:3671 +#: ../../library/stdtypes.rst:3673 msgid "``b'%r'`` is deprecated, but will not be removed during the 3.x series." msgstr "``b'%r'`` entrou em desuso, mas não serão removidos na versão 3.x." -#: ../../library/stdtypes.rst:3683 +#: ../../library/stdtypes.rst:3685 msgid ":pep:`461` - Adding % formatting to bytes and bytearray" msgstr ":pep:`461` - Adicionar formatação % para to bytes e bytearray" -#: ../../library/stdtypes.rst:3690 +#: ../../library/stdtypes.rst:3692 msgid "Memory Views" -msgstr "Memory Views" +msgstr "Visões de memória" -#: ../../library/stdtypes.rst:3692 +#: ../../library/stdtypes.rst:3694 msgid "" ":class:`memoryview` objects allow Python code to access the internal data of " "an object that supports the :ref:`buffer protocol ` without " "copying." msgstr "" -"O objeto :class:`memoryview` permite que o código Python acesse os dados " -"internos de um objeto que suporte o :ref:`buffer protocol ` " -"sem copiá-lo." +"Objetos :class:`memoryview` permitem que código Python acesse os dados " +"internos de um objeto que implemente o :ref:`protocolo buffer " +"` sem copiá-lo." -#: ../../library/stdtypes.rst:3698 +#: ../../library/stdtypes.rst:3700 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 "" "Cria uma :class:`memoryview` que referencia *object*. *object* deve ter " -"suporte ao protocolo de buffer. Objetos embutidos que suportam o protocolo " -"de buffer incluem :class:`bytes` e :class:`bytearray`." +"suporte ao protocolo de buffer. Objetos embutidos com suporte ao protocolo " +"de buffer incluem: :class:`bytes` e :class:`bytearray`." -#: ../../library/stdtypes.rst:3702 +#: ../../library/stdtypes.rst:3704 msgid "" "A :class:`memoryview` has the notion of an *element*, which is the atomic " "memory unit handled by the originating *object*. For many simple types such " @@ -5428,7 +5432,7 @@ msgstr "" "único, mas outros tipos tais como :class:`array.array` podem ter elementos " "maiores." -#: ../../library/stdtypes.rst:3707 +#: ../../library/stdtypes.rst:3709 msgid "" "``len(view)`` is equal to the length of :class:`~memoryview.tolist`. If " "``view.ndim = 0``, the length is 1. If ``view.ndim = 1``, the length is " @@ -5444,7 +5448,7 @@ msgstr "" "atributo :class:`~memoryview.itemsize` irá lhe dar o número de bytes em um " "elemento individual." -#: ../../library/stdtypes.rst:3714 +#: ../../library/stdtypes.rst:3716 msgid "" "A :class:`memoryview` supports slicing and indexing to expose its data. One-" "dimensional slicing will result in a subview::" @@ -5452,7 +5456,7 @@ msgstr "" "Um :class:`memoryview` suporta fatiamento e indexação para expor seus dados. " "Fatiamento unidimensional irá resultar em uma subview::" -#: ../../library/stdtypes.rst:3727 +#: ../../library/stdtypes.rst:3729 msgid "" "If :class:`~memoryview.format` is one of the native format specifiers from " "the :mod:`struct` module, indexing with an integer or a tuple of integers is " @@ -5465,17 +5469,17 @@ msgstr "" "Se :class:`~memoryview.format` é um dos especificadores de formatação " "nativos do módulo :mod:`struct`, indexar com um inteiro ou uma tupla de " "inteiros também é suportado, e retorna um *element* único com o tipo " -"correto. Memoryviews unidimensionais podem ser indexadas com um inteiro ou " -"uma tupla contendo um inteiro. Memoryviews multi-dimensionais podem ser " -"indexadas com tuplas de exatamente *ndim* inteiros, onde *ndim* é o número " -"de dimensões. Memoryviews zero-dimensionais podem ser indexadas com uma " -"tupla vazia." +"correto. Visões de memória unidimensionais podem ser indexadas por um " +"inteiro ou por uma tupla contendo um inteiro. Visões de memória " +"multidimensionais podem ser indexadas por tuplas de exatamente *ndim* " +"inteiros, onde *ndim* é o número de dimensões. Visões de memória zero-" +"dimensionais podem ser indexadas por uma tupla vazia." -#: ../../library/stdtypes.rst:3736 +#: ../../library/stdtypes.rst:3738 msgid "Here is an example with a non-byte format::" msgstr "Aqui temos um exemplo usando um formato não-byte::" -#: ../../library/stdtypes.rst:3748 +#: ../../library/stdtypes.rst:3750 msgid "" "If the underlying object is writable, the memoryview supports one-" "dimensional slice assignment. Resizing is not allowed::" @@ -5483,44 +5487,44 @@ msgstr "" "Se o objeto subjacente é gravável, a memoryview suporta atribuição de fatias " "unidimensionais. Redimensionamento não é permitido::" -#: ../../library/stdtypes.rst:3769 +#: ../../library/stdtypes.rst:3771 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 "" -"Memoryviews unidimensionais de tipos :term:`hasheáveis ` (somente " -"leitura) com formatos 'B', 'b' ou 'c' também são hasheáveis. O hash é " -"definido como ``hash(m) == hash(m.tobytes())``::" +"Visões de memória unidimensionais de tipos :term:`hasheáveis ` " +"(somente leitura) com formatos 'B', 'b' ou 'c' também são hasheáveis. O hash " +"é definido como ``hash(m) == hash(m.tobytes())``::" -#: ../../library/stdtypes.rst:3781 +#: ../../library/stdtypes.rst:3783 msgid "" "One-dimensional memoryviews can now be sliced. One-dimensional memoryviews " "with formats 'B', 'b' or 'c' are now :term:`hashable`." msgstr "" -"Memoryviews unidimensionais agora podem ser fatiadas. Memoryviews " -"unidimensionais com formatos 'B', 'b' ou 'c' agora são :term:`hasheáveis " -"`." +"Visões de memória unidimensionais agora podem ser fatiadas. Visões de " +"memória unidimensionais com formatos 'B', 'b' ou 'c' agora " +"são :term:`hasheáveis `." -#: ../../library/stdtypes.rst:3785 +#: ../../library/stdtypes.rst:3787 msgid "" -"memoryview is now registered automatically with :class:`collections.abc." -"Sequence`" +"memoryview is now registered automatically " +"with :class:`collections.abc.Sequence`" msgstr "" -"O memoryview agora é registrado automaticamente como uma classe :class:" -"`collections.abc.Sequence`" +"O memoryview agora é registrado automaticamente como uma " +"classe :class:`collections.abc.Sequence`" -#: ../../library/stdtypes.rst:3789 +#: ../../library/stdtypes.rst:3791 msgid "memoryviews can now be indexed with tuple of integers." msgstr "" "Atualmente, os memoryvies podem ser indexadas com uma tupla de números " "inteiros." -#: ../../library/stdtypes.rst:3792 +#: ../../library/stdtypes.rst:3794 msgid ":class:`memoryview` has several methods:" msgstr ":class:`memoryview` possui vários métodos:" -#: ../../library/stdtypes.rst:3796 +#: ../../library/stdtypes.rst:3798 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' " @@ -5531,26 +5535,27 @@ msgstr "" "códigos de formatação dos respectivos operadores são interpretados usando a " "sintaxe :mod:`struct`." -#: ../../library/stdtypes.rst:3800 +#: ../../library/stdtypes.rst:3802 msgid "" -"For the subset of :mod:`struct` format strings currently supported by :meth:" -"`tolist`, ``v`` and ``w`` are equal if ``v.tolist() == w.tolist()``::" +"For the subset of :mod:`struct` format strings currently supported " +"by :meth:`tolist`, ``v`` and ``w`` are equal if ``v.tolist() == " +"w.tolist()``::" msgstr "" "Para o subconjunto :mod:`struct` a formatação de Strings atualmente " -"suportadas por :meth:`tolist`, ``v`` e ``w`` são iguais se ``v.tolist() == w." -"tolist()``::" +"suportadas por :meth:`tolist`, ``v`` e ``w`` são iguais se ``v.tolist() == " +"w.tolist()``::" -#: ../../library/stdtypes.rst:3819 +#: ../../library/stdtypes.rst:3821 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 "" -"Se qualquer string de formatação não for suportada pelo módulo :mod:" -"`struct`, então os objetos irão sempre comparar como diferentes (mesmo se as " -"strings de formatação e o conteúdo do buffer são idênticos)::" +"Se qualquer string de formatação não for suportada pelo " +"módulo :mod:`struct`, então os objetos irão sempre comparar como diferentes " +"(mesmo se as strings de formatação e o conteúdo do buffer são idênticos)::" -#: ../../library/stdtypes.rst:3835 +#: ../../library/stdtypes.rst:3837 msgid "" "Note that, as with floating point numbers, ``v is w`` does *not* imply ``v " "== w`` for memoryview objects." @@ -5558,7 +5563,7 @@ msgstr "" "Perceba que, assim como com números de ponto flutuante, ``v is w`` *não* " "implica em ``v == w`` para objetos memoryview." -#: ../../library/stdtypes.rst:3838 +#: ../../library/stdtypes.rst:3840 msgid "" "Previous versions compared the raw memory disregarding the item format and " "the logical array structure." @@ -5566,7 +5571,7 @@ msgstr "" "Versões anteriores comparavam a memória bruta desconsiderando o formato do " "item e estrutura lógica do array." -#: ../../library/stdtypes.rst:3844 +#: ../../library/stdtypes.rst:3846 msgid "" "Return the data in the buffer as a bytestring. This is equivalent to " "calling the :class:`bytes` constructor on the memoryview. ::" @@ -5574,7 +5579,7 @@ msgstr "" "Retorna os dados no buffer como um bytestring. Isso é equivalente a chamar o " "construtor de :class:`bytes` na memoryview. ::" -#: ../../library/stdtypes.rst:3853 +#: ../../library/stdtypes.rst:3855 msgid "" "For non-contiguous arrays the result is equal to the flattened list " "representation with all elements converted to bytes. :meth:`tobytes` " @@ -5586,7 +5591,7 @@ msgstr "" "suporta todos os formatos de strings, incluindo aqueles que não estão na " "sintaxe do módulo :mod:`struct`." -#: ../../library/stdtypes.rst:3858 +#: ../../library/stdtypes.rst:3860 msgid "" "*order* can be {'C', 'F', 'A'}. When *order* is 'C' or 'F', the data of the " "original array is converted to C or Fortran order. For contiguous views, 'A' " @@ -5600,7 +5605,7 @@ msgstr "" "ordem de Fortran em memória é preservada. Para views não contígua, os dados " "são convertidos primeiro para C. *order=None* é o mesmo que *order='C'*." -#: ../../library/stdtypes.rst:3867 +#: ../../library/stdtypes.rst:3869 msgid "" "Return a string object containing two hexadecimal digits for each byte in " "the buffer. ::" @@ -5608,7 +5613,7 @@ msgstr "" "Retorna um objeto string contendo dois dígitos hexadecimais para cada byte " "no buffer. ::" -#: ../../library/stdtypes.rst:3876 +#: ../../library/stdtypes.rst:3878 msgid "" "Similar to :meth:`bytes.hex`, :meth:`memoryview.hex` now supports optional " "*sep* and *bytes_per_sep* parameters to insert separators between bytes in " @@ -5618,20 +5623,20 @@ msgstr "" "parâmetros opcionais *sep* e *bytes_per_sep* para inserir separadores entre " "bytes na saída hexadecimal." -#: ../../library/stdtypes.rst:3883 +#: ../../library/stdtypes.rst:3885 msgid "Return the data in the buffer as a list of elements. ::" msgstr "Retorna os dados no buffer como uma lista de elementos. ::" -#: ../../library/stdtypes.rst:3893 +#: ../../library/stdtypes.rst:3895 msgid "" -":meth:`tolist` now supports all single character native formats in :mod:" -"`struct` module syntax as well as multi-dimensional representations." +":meth:`tolist` now supports all single character native formats " +"in :mod:`struct` module syntax as well as multi-dimensional representations." msgstr "" ":meth:`tolist` agora suporta todos os formatos nativos de caracteres únicos " "na sintaxe do módulo :mod:`struct`, assim como representações multi-" "dimensionais." -#: ../../library/stdtypes.rst:3900 +#: ../../library/stdtypes.rst:3902 msgid "" "Return a readonly version of the memoryview object. The original memoryview " "object is unchanged. ::" @@ -5639,21 +5644,21 @@ msgstr "" "Retorna uma versão somente leitura do objeto memoryview. O objeto memoryview " "original não é alterado. ::" -#: ../../library/stdtypes.rst:3919 +#: ../../library/stdtypes.rst:3921 msgid "" "Release the underlying buffer exposed by the memoryview object. Many " -"objects take special actions when a view is held on them (for example, a :" -"class:`bytearray` would temporarily forbid resizing); therefore, calling " +"objects take special actions when a view is held on them (for example, " +"a :class:`bytearray` would temporarily forbid resizing); therefore, calling " "release() is handy to remove these restrictions (and free any dangling " "resources) as soon as possible." msgstr "" "Libera o buffer subjacente exposto pelo objeto memoryview. Muitos objetos " -"aceitam ações especiais quando a view é mantida com eles (por exemplo, um :" -"class:`bytearray` iria temporariamente proibir o redimensionamento); " +"aceitam ações especiais quando a view é mantida com eles (por exemplo, " +"um :class:`bytearray` iria temporariamente proibir o redimensionamento); " "portanto, chamar release() é útil para remover essas restrições (e liberar " "quaisquer recursos pendurados) o mais breve possível." -#: ../../library/stdtypes.rst:3925 +#: ../../library/stdtypes.rst:3927 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 " @@ -5663,7 +5668,7 @@ msgstr "" "levanta um :class:`ValueError` (exceto :meth:`release()`, o qual pode ser " "chamado múltiplas vezes)::" -#: ../../library/stdtypes.rst:3936 +#: ../../library/stdtypes.rst:3938 msgid "" "The context management protocol can be used for a similar effect, using the " "``with`` statement::" @@ -5671,7 +5676,7 @@ msgstr "" "O protocolo de gerenciamento de contexto pode ser usado para efeitos " "similares, usando a instrução ``with``::" -#: ../../library/stdtypes.rst:3952 +#: ../../library/stdtypes.rst:3954 msgid "" "Cast a memoryview to a new format or shape. *shape* defaults to " "``[byte_length//new_itemsize]``, which means that the result view will be " @@ -5685,47 +5690,49 @@ msgstr "" "si mesmo não é copiado. Conversões suportadas são 1D -> C-:term:`contíguo " "` r C-contíguo -> 1D." -#: ../../library/stdtypes.rst:3958 +#: ../../library/stdtypes.rst:3960 msgid "" -"The destination format is restricted to a single element native format in :" -"mod:`struct` syntax. One of the formats must be a byte format ('B', 'b' or " -"'c'). The byte length of the result must be the same as the original length." +"The destination format is restricted to a single element native format " +"in :mod:`struct` syntax. One of the formats must be a byte format ('B', 'b' " +"or '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 "" -"O formato de destino é restrito a um elemento em formato nativo na sintaxe :" -"mod:`struct`. Um dos formatos deve ser um formato de byte ('B', 'b' ou 'c'). " -"O comprimento de bytes do resultado deve ser o mesmo que o comprimento " -"original." +"O formato de destino é restrito a um elemento em formato nativo na " +"sintaxe :mod:`struct`. Um dos formatos deve ser um formato de byte ('B', 'b' " +"ou 'c'). O comprimento de bytes do resultado deve ser o mesmo que o " +"comprimento original. Observe que todos os comprimentos de bytes podem " +"depender do sistema operacional." -#: ../../library/stdtypes.rst:3963 +#: ../../library/stdtypes.rst:3966 msgid "Cast 1D/long to 1D/unsigned bytes::" msgstr "Converte de 1D/long para 1D/unsigned bytes::" -#: ../../library/stdtypes.rst:3986 +#: ../../library/stdtypes.rst:3989 msgid "Cast 1D/unsigned bytes to 1D/char::" msgstr "Converte de 1D/unsigned bytes para 1D/char::" -#: ../../library/stdtypes.rst:3999 +#: ../../library/stdtypes.rst:4002 msgid "Cast 1D/bytes to 3D/ints to 1D/signed char::" msgstr "Converte de 1D/bytes para 3D/ints para 1D/signed char::" -#: ../../library/stdtypes.rst:4025 +#: ../../library/stdtypes.rst:4028 msgid "Cast 1D/unsigned long to 2D/unsigned long::" msgstr "Converte 1D/unsigned long para 2D/unsigned long::" -#: ../../library/stdtypes.rst:4039 +#: ../../library/stdtypes.rst:4042 msgid "The source format is no longer restricted when casting to a byte view." msgstr "" "O formato fonte não é mais restrito ao converter para uma visão de byte." -#: ../../library/stdtypes.rst:4042 +#: ../../library/stdtypes.rst:4045 msgid "There are also several readonly attributes available:" msgstr "Existem também diversos atributos somente leitura disponíveis:" -#: ../../library/stdtypes.rst:4046 +#: ../../library/stdtypes.rst:4049 msgid "The underlying object of the memoryview::" msgstr "O objeto subjacente da memoryview::" -#: ../../library/stdtypes.rst:4057 +#: ../../library/stdtypes.rst:4060 msgid "" "``nbytes == product(shape) * itemsize == len(m.tobytes())``. This is the " "amount of space in bytes that the array would use in a contiguous " @@ -5735,15 +5742,15 @@ msgstr "" "quantidade de espaço em bytes que o array deve usar em uma representação " "contígua. Ela não é necessariamente igual a ``len(m)``::" -#: ../../library/stdtypes.rst:4076 +#: ../../library/stdtypes.rst:4079 msgid "Multi-dimensional arrays::" msgstr "Arrays Multi-dimensional::" -#: ../../library/stdtypes.rst:4093 +#: ../../library/stdtypes.rst:4096 msgid "A bool indicating whether the memory is read only." msgstr "Um bool que indica se a memória é somente leitura." -#: ../../library/stdtypes.rst:4097 +#: ../../library/stdtypes.rst:4100 msgid "" "A string containing the format (in :mod:`struct` module style) for each " "element in the view. A memoryview can be created from exporters with " @@ -5755,7 +5762,7 @@ msgstr "" "com strings de formato arbitrário, mas alguns métodos (ex: :meth:`tolist`) " "são restritos a formatos de elementos nativos." -#: ../../library/stdtypes.rst:4102 +#: ../../library/stdtypes.rst:4105 msgid "" "format ``'B'`` is now handled according to the struct module syntax. This " "means that ``memoryview(b'abc')[0] == b'abc'[0] == 97``." @@ -5763,11 +5770,11 @@ msgstr "" "formato ``'B'`` agora é tratado de acordo com a sintaxe do módulo struct. " "Isso significa que ``memoryview(b'abc')[0] == b'abc'[0] == 97``." -#: ../../library/stdtypes.rst:4108 +#: ../../library/stdtypes.rst:4111 msgid "The size in bytes of each element of the memoryview::" msgstr "O tamanho em Bytes de cada elemento do memoryview::" -#: ../../library/stdtypes.rst:4121 +#: ../../library/stdtypes.rst:4124 msgid "" "An integer indicating how many dimensions of a multi-dimensional array the " "memory represents." @@ -5775,7 +5782,7 @@ msgstr "" "Um número inteiro que indica quantas dimensões de uma matriz " "multidimensional a memória representa." -#: ../../library/stdtypes.rst:4126 +#: ../../library/stdtypes.rst:4129 msgid "" "A tuple of integers the length of :attr:`ndim` giving the shape of the " "memory as an N-dimensional array." @@ -5783,11 +5790,11 @@ msgstr "" "Uma tupla de inteiros de comprimento :attr:`ndim` dando a forma da memória " "como uma matriz N-dimensional." -#: ../../library/stdtypes.rst:4129 ../../library/stdtypes.rst:4137 +#: ../../library/stdtypes.rst:4132 ../../library/stdtypes.rst:4140 msgid "An empty tuple instead of ``None`` when ndim = 0." msgstr "Uma tupla vazia ao invés de ``None`` quando ndim = 0." -#: ../../library/stdtypes.rst:4134 +#: ../../library/stdtypes.rst:4137 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." @@ -5795,46 +5802,47 @@ msgstr "" "Uma tupla de inteiros de comprimento de :attr:`ndim` dando o tamanho em " "bytes para acessar cada elemento de cada dimensão da matriz." -#: ../../library/stdtypes.rst:4142 +#: ../../library/stdtypes.rst:4145 msgid "Used internally for PIL-style arrays. The value is informational only." msgstr "" "Usado internamente para estilos de Arrays PIL. O valor \\é apenas " "informativo." -#: ../../library/stdtypes.rst:4146 +#: ../../library/stdtypes.rst:4149 msgid "A bool indicating whether the memory is C-:term:`contiguous`." msgstr "Um bool que indica se a memória é :term:`contígua ` C." -#: ../../library/stdtypes.rst:4152 +#: ../../library/stdtypes.rst:4155 msgid "A bool indicating whether the memory is Fortran :term:`contiguous`." msgstr "" "Um bool que indica se a memória é :term:`contígua ` Fortran." -#: ../../library/stdtypes.rst:4158 +#: ../../library/stdtypes.rst:4161 msgid "A bool indicating whether the memory is :term:`contiguous`." msgstr "Um bool que indica se a memória é :term:`contígua `." -#: ../../library/stdtypes.rst:4166 +#: ../../library/stdtypes.rst:4169 msgid "Set Types --- :class:`set`, :class:`frozenset`" msgstr "Tipo conjuntos --- :class:`set`, :class:`frozenset`" -#: ../../library/stdtypes.rst:4170 +#: ../../library/stdtypes.rst:4173 msgid "" "A :dfn:`set` object is an unordered collection of distinct :term:`hashable` " "objects. Common uses include membership testing, removing duplicates from a " "sequence, and computing mathematical operations such as intersection, union, " "difference, and symmetric difference. (For other containers see the built-" -"in :class:`dict`, :class:`list`, and :class:`tuple` classes, and the :mod:" -"`collections` module.)" +"in :class:`dict`, :class:`list`, and :class:`tuple` classes, and " +"the :mod:`collections` module.)" msgstr "" -"Um objeto :dfn:`conjunto` é uma coleção não ordenada de objetos :term:" -"`hasheáveis ` distintos. Usos comuns incluem testes de associação, " -"remover duplicatas de uma sequência e computar operações matemáticas tais " -"como interseção, união, diferença e diferença simétrica. (Para outros tipos " -"de contêineres veja as classes embutidas :class:`dict`, :class:`list` e :" -"class:`tuple`, e o módulo :mod:`collections`.)" +"Um objeto :dfn:`conjunto` é uma coleção não ordenada de " +"objetos :term:`hasheáveis ` distintos. Usos comuns incluem testes " +"de associação, remover duplicatas de uma sequência e computar operações " +"matemáticas tais como interseção, união, diferença e diferença simétrica. " +"(Para outros tipos de contêineres veja as classes " +"embutidas :class:`dict`, :class:`list` e :class:`tuple`, e o " +"módulo :mod:`collections`.)" -#: ../../library/stdtypes.rst:4177 +#: ../../library/stdtypes.rst:4180 msgid "" "Like other collections, sets support ``x in set``, ``len(set)``, and ``for x " "in set``. Being an unordered collection, sets do not record element " @@ -5846,27 +5854,27 @@ msgstr "" "posição de elementos ou ordem de inserção. Portanto, conjuntos não suportam " "indexação, fatiamento ou outros comportamentos de sequências ou similares." -#: ../../library/stdtypes.rst:4182 +#: ../../library/stdtypes.rst:4185 msgid "" -"There are currently two built-in set types, :class:`set` and :class:" -"`frozenset`. The :class:`set` type is mutable --- the contents can be " -"changed using methods like :meth:`~set.add` and :meth:`~set.remove`. Since " -"it is mutable, it has no hash value and cannot be used as either a " +"There are currently two built-in set types, :class:`set` " +"and :class:`frozenset`. The :class:`set` type is mutable --- the contents " +"can be changed using methods like :meth:`~set.add` and :meth:`~set.remove`. " +"Since it is mutable, it has no hash value and cannot be used as either a " "dictionary key or as an element of another set. The :class:`frozenset` type " "is immutable and :term:`hashable` --- its contents cannot be altered after " "it is created; it can therefore be used as a dictionary key or as an element " "of another set." msgstr "" -"Existem atualmente dois tipos de conjuntos embutidos, :class:`set` e :class:" -"`frozenset`. O tipo :class:`set` é mutável -- o conteúdo pode ser alterado " -"usando métodos como :meth:`~set.add` e :meth:`~set.remove`. Como ele é " -"mutável, ele não tem valor hash e não pode ser usado como chave de " +"Existem atualmente dois tipos de conjuntos embutidos, :class:`set` " +"e :class:`frozenset`. O tipo :class:`set` é mutável -- o conteúdo pode ser " +"alterado usando métodos como :meth:`~set.add` e :meth:`~set.remove`. Como " +"ele é mutável, ele não tem valor hash e não pode ser usado como chave de " "dicionário ou um elemento de um outro conjunto. O tipo :class:`frozenset` é " "imutável e :term:`hasheável ` -- seu conteúdo não pode ser " "alterado depois de ter sido criado; ele pode então ser usado como chave de " "dicionário ou como um elemento de outro conjunto." -#: ../../library/stdtypes.rst:4190 +#: ../../library/stdtypes.rst:4193 msgid "" "Non-empty sets (not frozensets) can be created by placing a comma-separated " "list of elements within braces, for example: ``{'jack', 'sjoerd'}``, in " @@ -5876,11 +5884,11 @@ msgstr "" "posicionando uma lista de elementos separados por vírgula dentro de chaves, " "por exemplo: ``{'jack', 'sjoerd'}``, além do construtor :class:`set`." -#: ../../library/stdtypes.rst:4194 +#: ../../library/stdtypes.rst:4197 msgid "The constructors for both classes work the same:" msgstr "Os construtores de ambas as classes funcionam da mesma forma:" -#: ../../library/stdtypes.rst:4199 +#: ../../library/stdtypes.rst:4202 msgid "" "Return a new set or frozenset object whose elements are taken from " "*iterable*. The elements of a set must be :term:`hashable`. To represent " @@ -5888,38 +5896,38 @@ msgid "" "*iterable* is not specified, a new empty set is returned." msgstr "" "Retorna um novo objeto set ou frozenset, cujos elementos são obtidos a " -"partir de um *iterable*. Os elementos de um conjunto devem ser :term:" -"`hasheável `. Para representar conjuntos de sets, os sets internos " -"devem ser objetos :class:`frozenset`. Se *iterable* não for especificado, um " -"novo conjunto vazio é retornado." +"partir de um *iterable*. Os elementos de um conjunto devem " +"ser :term:`hasheáveis `. Para representar conjuntos de sets, os " +"sets internos devem ser objetos :class:`frozenset`. Se *iterable* não for " +"especificado, um novo conjunto vazio é retornado." -#: ../../library/stdtypes.rst:4205 +#: ../../library/stdtypes.rst:4208 msgid "Sets can be created by several means:" msgstr "Conjuntos podem ser criados de várias formas:" -#: ../../library/stdtypes.rst:4207 +#: ../../library/stdtypes.rst:4210 msgid "" "Use a comma-separated list of elements within braces: ``{'jack', 'sjoerd'}``" msgstr "" "Usar uma lista de elementos separados por vírgulas entre chaves: ``{'jack', " "'sjoerd'}``" -#: ../../library/stdtypes.rst:4208 +#: ../../library/stdtypes.rst:4211 msgid "" "Use a set comprehension: ``{c for c in 'abracadabra' if c not in 'abc'}``" msgstr "" "Usar uma compreensão de conjunto: ``{c for c in 'abracadabra' if c not in " "'abc'}``" -#: ../../library/stdtypes.rst:4209 +#: ../../library/stdtypes.rst:4212 msgid "" "Use the type constructor: ``set()``, ``set('foobar')``, ``set(['a', 'b', " "'foo'])``" msgstr "" -"Usar o construtor de tipo: ``set()``, ``set('foobar')``, ``set(['a', 'b', " +"Usar o construtor da classe: ``set()``, ``set('foobar')``, ``set(['a', 'b', " "'foo'])``" -#: ../../library/stdtypes.rst:4211 +#: ../../library/stdtypes.rst:4214 msgid "" "Instances of :class:`set` and :class:`frozenset` provide the following " "operations:" @@ -5927,19 +5935,19 @@ msgstr "" "Instâncias de :class:`set` e :class:`frozenset` fornecem as seguintes " "operações:" -#: ../../library/stdtypes.rst:4216 +#: ../../library/stdtypes.rst:4219 msgid "Return the number of elements in set *s* (cardinality of *s*)." msgstr "Retorna o número de elementos no set *s* (cardinalidade de *s*)." -#: ../../library/stdtypes.rst:4220 +#: ../../library/stdtypes.rst:4223 msgid "Test *x* for membership in *s*." msgstr "Testa se *x* pertence a *s*." -#: ../../library/stdtypes.rst:4224 +#: ../../library/stdtypes.rst:4227 msgid "Test *x* for non-membership in *s*." msgstr "Testa se *x* não pertence a *s*." -#: ../../library/stdtypes.rst:4228 +#: ../../library/stdtypes.rst:4231 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." @@ -5947,11 +5955,11 @@ msgstr "" "Retorna ``True`` se o conjunto não tem elementos em comum com *other*. " "Conjuntos são disjuntos se e somente se a sua interseção é o conjunto vazio." -#: ../../library/stdtypes.rst:4234 +#: ../../library/stdtypes.rst:4237 msgid "Test whether every element in the set is in *other*." msgstr "Testa se cada elemento do conjunto está contido em *other*." -#: ../../library/stdtypes.rst:4238 +#: ../../library/stdtypes.rst:4241 msgid "" "Test whether the set is a proper subset of *other*, that is, ``set <= other " "and set != other``." @@ -5959,11 +5967,11 @@ msgstr "" "Testa se o conjunto é um subconjunto próprio de *other*, isto é, ``set <= " "other and set != other``." -#: ../../library/stdtypes.rst:4244 +#: ../../library/stdtypes.rst:4247 msgid "Test whether every element in *other* is in the set." msgstr "Testa se cada elemento em *other* está contido no conjunto." -#: ../../library/stdtypes.rst:4248 +#: ../../library/stdtypes.rst:4251 msgid "" "Test whether the set is a proper superset of *other*, that is, ``set >= " "other and set != other``." @@ -5971,51 +5979,51 @@ msgstr "" "Testa se o conjunto é um superconjunto próprio de *other*, isto é, ``set >= " "other and set != other``." -#: ../../library/stdtypes.rst:4254 +#: ../../library/stdtypes.rst:4257 msgid "Return a new set with elements from the set and all others." msgstr "" "Retorna um novo conjunto com elementos do conjunto e de todos os outros." -#: ../../library/stdtypes.rst:4259 +#: ../../library/stdtypes.rst:4262 msgid "Return a new set with elements common to the set and all others." msgstr "" "Retorna um novo conjunto com elementos comuns do conjunto e de todos os " "outros." -#: ../../library/stdtypes.rst:4264 +#: ../../library/stdtypes.rst:4267 msgid "Return a new set with elements in the set that are not in the others." msgstr "" "Retorna um novo conjunto com elementos no conjunto que não estão nos outros." -#: ../../library/stdtypes.rst:4269 +#: ../../library/stdtypes.rst:4272 msgid "" "Return a new set with elements in either the set or *other* but not both." msgstr "" "Retorna um novo conjunto com elementos estejam ou no conjunto ou em *other*, " "mas não em ambos." -#: ../../library/stdtypes.rst:4273 +#: ../../library/stdtypes.rst:4276 msgid "Return a shallow copy of the set." msgstr "Retorna uma cópia rasa do conjunto." -#: ../../library/stdtypes.rst:4276 +#: ../../library/stdtypes.rst:4279 msgid "" -"Note, the non-operator versions of :meth:`union`, :meth:`intersection`, :" -"meth:`difference`, :meth:`symmetric_difference`, :meth:`issubset`, and :meth:" -"`issuperset` methods will accept any iterable as an argument. In contrast, " -"their operator based counterparts require their arguments to be sets. This " -"precludes error-prone constructions like ``set('abc') & 'cbs'`` in favor of " -"the more readable ``set('abc').intersection('cbs')``." +"Note, the non-operator versions " +"of :meth:`union`, :meth:`intersection`, :meth:`difference`, :meth:`symmetric_difference`, :meth:`issubset`, " +"and :meth:`issuperset` methods will accept any iterable as an argument. In " +"contrast, their operator based counterparts require their arguments to be " +"sets. This precludes error-prone constructions like ``set('abc') & 'cbs'`` " +"in favor of the more readable ``set('abc').intersection('cbs')``." msgstr "" -"Observe que, as versões não-operador dos métodos :meth:`union`, :meth:" -"`intersection`, :meth:`difference`, :meth:`symmetric_difference`, :meth:" -"`issubset`, e :meth:`issuperset` irão aceitar qualquer iterável como um " -"argumento. Em contraste, suas contrapartes baseadas em operadores exigem que " -"seus argumentos sejam conjuntos. Isso impede construções suscetíveis a erros " -"como ``set('abc') & 'cbs'`` e favorece a forma mais legível ``set('abc')." -"intersection('cbs')``." +"Observe que, as versões não-operador dos " +"métodos :meth:`union`, :meth:`intersection`, :meth:`difference`, :meth:`symmetric_difference`, :meth:`issubset`, " +"e :meth:`issuperset` irão aceitar qualquer iterável como um argumento. Em " +"contraste, suas contrapartes baseadas em operadores exigem que seus " +"argumentos sejam conjuntos. Isso impede construções suscetíveis a erros como " +"``set('abc') & 'cbs'`` e favorece a forma mais legível " +"``set('abc').intersection('cbs')``." -#: ../../library/stdtypes.rst:4283 +#: ../../library/stdtypes.rst:4286 msgid "" "Both :class:`set` and :class:`frozenset` support set to set comparisons. Two " "sets are equal if and only if every element of each set is contained in the " @@ -6024,16 +6032,15 @@ 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 "" -"Tanto :class:`set` quanto :class:`frozenset` suportam comparar um conjunto " -"com outro. Dois conjuntos são iguais se, e somente se, cada elemento de cada " -"conjunto está contido no outro conjunto (cada um é um subconjunto do outro). " -"Um conjunto é menor que outro se, e somente se, o primeiro conjunto é um " -"subconjunto adequado do segundo (é um subconjunto, mas não é igual). Um " -"conjunto é maior que outro conjunto se, e somente se, o primeiro conjunto é " -"um superconjunto próprio do segundo conjunto (é um superconjunto, mas não é " -"igual)." +"Tanto :class:`set` quanto :class:`frozenset` aceitam comparações entre " +"conjuntos. Dois conjuntos são iguais se e somente se cada elemento de um " +"está contido no outro (cada um é um subconjunto do outro). Um conjunto é " +"menor que outro se, e somente se, o primeiro conjunto é um subconjunto " +"adequado do segundo (é um subconjunto, mas não é igual). Um conjunto é maior " +"que outro conjunto se, e somente se, o primeiro conjunto é um superconjunto " +"próprio do segundo conjunto (é um superconjunto, mas não é igual)." -#: ../../library/stdtypes.rst:4290 +#: ../../library/stdtypes.rst:4293 msgid "" "Instances of :class:`set` are compared to instances of :class:`frozenset` " "based on their members. For example, ``set('abc') == frozenset('abc')`` " @@ -6043,7 +6050,7 @@ msgstr "" "baseados nos seus membros. Por exemplo, ``set('abc') == frozenset('abc')`` " "retorna ``True`` e assim como ``set('abc') in set([frozenset('abc')])``." -#: ../../library/stdtypes.rst:4294 +#: ../../library/stdtypes.rst:4297 msgid "" "The subset and equality comparisons do not generalize to a total ordering " "function. For example, any two nonempty disjoint sets are not equal and are " @@ -6055,7 +6062,7 @@ msgstr "" "vazios, não são iguais e não são subconjuntos um do outro, então *todos* os " "seguintes retornam ``False``: ``ab``." -#: ../../library/stdtypes.rst:4299 +#: ../../library/stdtypes.rst:4302 msgid "" "Since sets only define partial ordering (subset relationships), the output " "of the :meth:`list.sort` method is undefined for lists of sets." @@ -6064,23 +6071,23 @@ msgstr "" "relacionamentos), a saída do método :meth:`list.sort` é indefinida para " "listas e conjuntos." -#: ../../library/stdtypes.rst:4302 +#: ../../library/stdtypes.rst:4305 msgid "Set elements, like dictionary keys, must be :term:`hashable`." msgstr "" -"Elementos de conjuntos, assim como chaves de dicionário, devem ser :term:" -"`hasheáveis `." +"Elementos de conjuntos, assim como chaves de dicionário, devem " +"ser :term:`hasheáveis `." -#: ../../library/stdtypes.rst:4304 +#: ../../library/stdtypes.rst:4307 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 "" -"Operações binárias que misturam instâncias de :class:`set` com :class:" -"`frozenset` retornam o tipo do primeiro operando. Por exemplo: " +"Operações binárias que misturam instâncias de :class:`set` " +"com :class:`frozenset` retornam o tipo do primeiro operando. Por exemplo: " "``frozenset('ab') | set('bc')`` retorna uma instância de :class:`frozenset`." -#: ../../library/stdtypes.rst:4308 +#: ../../library/stdtypes.rst:4311 msgid "" "The following table lists operations available for :class:`set` that do not " "apply to immutable instances of :class:`frozenset`:" @@ -6088,31 +6095,31 @@ msgstr "" "A seguinte tabela lista operações disponíveis para :class:`set` que não se " "aplicam para instâncias imutáveis de :class:`frozenset`:" -#: ../../library/stdtypes.rst:4314 +#: ../../library/stdtypes.rst:4317 msgid "Update the set, adding elements from all others." msgstr "Atualiza o conjunto, adicionando elementos dos outros." -#: ../../library/stdtypes.rst:4319 +#: ../../library/stdtypes.rst:4322 msgid "Update the set, keeping only elements found in it and all others." msgstr "" "Atualiza o conjunto, mantendo somente elementos encontrados nele e em outros." -#: ../../library/stdtypes.rst:4324 +#: ../../library/stdtypes.rst:4327 msgid "Update the set, removing elements found in others." msgstr "Atualiza o conjunto, removendo elementos encontrados em outros." -#: ../../library/stdtypes.rst:4329 +#: ../../library/stdtypes.rst:4332 msgid "" "Update the set, keeping only elements found in either set, but not in both." msgstr "" "Atualiza o conjunto, mantendo somente elementos encontrados em qualquer " "conjunto, mas não em ambos." -#: ../../library/stdtypes.rst:4333 +#: ../../library/stdtypes.rst:4336 msgid "Add element *elem* to the set." msgstr "Adiciona o elemento *elem* ao conjunto." -#: ../../library/stdtypes.rst:4337 +#: ../../library/stdtypes.rst:4340 msgid "" "Remove element *elem* from the set. Raises :exc:`KeyError` if *elem* is not " "contained in the set." @@ -6120,11 +6127,11 @@ msgstr "" "Remove o elemento *elem* do conjunto. Levanta :exc:`KeyError` se *elem* não " "estiver contido no conjunto." -#: ../../library/stdtypes.rst:4342 +#: ../../library/stdtypes.rst:4345 msgid "Remove element *elem* from the set if it is present." msgstr "Remove o elemento *elem* do conjunto se ele estiver presente." -#: ../../library/stdtypes.rst:4346 +#: ../../library/stdtypes.rst:4349 msgid "" "Remove and return an arbitrary element from the set. Raises :exc:`KeyError` " "if the set is empty." @@ -6132,58 +6139,61 @@ msgstr "" "Remove e retorna um elemento arbitrário do conjunto. Levanta :exc:`KeyError` " "se o conjunto estiver vazio." -#: ../../library/stdtypes.rst:4351 +#: ../../library/stdtypes.rst:4354 msgid "Remove all elements from the set." msgstr "Remove todos os elementos do conjunto." -#: ../../library/stdtypes.rst:4354 +#: ../../library/stdtypes.rst:4357 msgid "" -"Note, the non-operator versions of the :meth:`update`, :meth:" -"`intersection_update`, :meth:`difference_update`, and :meth:" -"`symmetric_difference_update` methods will accept any iterable as an " -"argument." +"Note, the non-operator versions of " +"the :meth:`update`, :meth:`intersection_update`, :meth:`difference_update`, " +"and :meth:`symmetric_difference_update` methods will accept any iterable as " +"an argument." msgstr "" -"Perceba, as versões sem operador dos métodos :meth:`update`, :meth:" -"`intersection_update`, :meth:`difference_update` e :meth:" -"`symmetric_difference_update` irão aceitar qualquer iterável como um " +"Perceba, as versões sem operador dos " +"métodos :meth:`update`, :meth:`intersection_update`, :meth:`difference_update` " +"e :meth:`symmetric_difference_update` irão aceitar qualquer iterável como um " "argumento." -#: ../../library/stdtypes.rst:4359 +#: ../../library/stdtypes.rst:4362 msgid "" -"Note, the *elem* argument to the :meth:`__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*." +"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 "" -"Perceba, o argumento *elem* para os métodos :meth:`__contains__`, :meth:" -"`remove` e :meth:`discard` pode ser um conjunto. Para suportar pesquisas por " -"um frozenset equivalente, um frozenset temporário é criado a partir de " -"*elem*." +"Perceba, o argumento *elem* para os " +"métodos :meth:`~object.__contains__`, :meth:`remove` e :meth:`discard` pode " +"ser um conjunto. Para suportar pesquisas por um frozenset equivalente, um " +"frozenset temporário é criado a partir de *elem*." -#: ../../library/stdtypes.rst:4367 +#: ../../library/stdtypes.rst:4371 msgid "Mapping Types --- :class:`dict`" msgstr "Tipo mapeamento --- :class:`dict`" -#: ../../library/stdtypes.rst:4377 +#: ../../library/stdtypes.rst:4381 msgid "" "A :term:`mapping` object maps :term:`hashable` values to arbitrary objects. " "Mappings are mutable objects. There is currently only one standard mapping " -"type, the :dfn:`dictionary`. (For other containers see the built-in :class:" -"`list`, :class:`set`, and :class:`tuple` classes, and the :mod:`collections` " -"module.)" +"type, the :dfn:`dictionary`. (For other containers see the built-" +"in :class:`list`, :class:`set`, and :class:`tuple` classes, and " +"the :mod:`collections` module.)" msgstr "" "Um objeto :term:`mapeamento ` mapeia valores :term:`hasheáveis " "` para objetos arbitrários. Mapeamentos são objetos mutáveis. " "Existe no momento apenas um tipo de mapeamento padrão, o :dfn:`dicionário`. " -"(Para outros contêineres, veja as classes embutidas :class:`list`, :class:" -"`set` e :class:`tuple`, e o módulo :mod:`collections`.)" +"(Para outros contêineres, veja as classes " +"embutidas :class:`list`, :class:`set` e :class:`tuple`, e o " +"módulo :mod:`collections`.)" -#: ../../library/stdtypes.rst:4383 +#: ../../library/stdtypes.rst:4387 msgid "" -"A dictionary's keys are *almost* arbitrary values. Values that are not :" -"term:`hashable`, that is, values containing lists, dictionaries or other " -"mutable types (that are compared by value rather than by object identity) " -"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." +"A dictionary's keys are *almost* arbitrary values. Values that are " +"not :term:`hashable`, that is, values containing lists, dictionaries or " +"other mutable types (that are compared by value rather than by object " +"identity) 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 "" "As chaves de um dicionário são *quase* valores arbitrários. Valores que não " "são :term:`hasheáveis `, ou seja, valores contendo listas, " @@ -6192,7 +6202,7 @@ msgstr "" "iguais (como ``1``, ``1.0`` e ``True``) podem ser usados alternadamente para " "indexar a mesma entrada do dicionário." -#: ../../library/stdtypes.rst:4394 +#: ../../library/stdtypes.rst:4398 msgid "" "Return a new dictionary initialized from an optional positional argument and " "a possibly empty set of keyword arguments." @@ -6200,11 +6210,11 @@ msgstr "" "Retorna um novo dicionário inicializado a partir de um argumento posicional " "opcional, e um conjunto de argumentos nomeados possivelmente vazio." -#: ../../library/stdtypes.rst:4397 +#: ../../library/stdtypes.rst:4401 msgid "Dictionaries can be created by several means:" msgstr "Os dicionários podem ser criados de várias formas:" -#: ../../library/stdtypes.rst:4399 +#: ../../library/stdtypes.rst:4403 msgid "" "Use a comma-separated list of ``key: value`` pairs within braces: ``{'jack': " "4098, 'sjoerd': 4127}`` or ``{4098: 'jack', 4127: 'sjoerd'}``" @@ -6212,13 +6222,13 @@ msgstr "" "Usar uma lista de pares ``key: value`` separados por vírgula com chaves: " "``{'jack': 4098, 'sjoerd': 4127}`` ou ``{4098: 'jack', 4127: 'sjoerd'}``" -#: ../../library/stdtypes.rst:4401 +#: ../../library/stdtypes.rst:4405 msgid "Use a dict comprehension: ``{}``, ``{x: x ** 2 for x in range(10)}``" msgstr "" "Usar uma compreensão de dicionário: ``{}``, ``{x: x ** 2 for x in range(10)}" "``" -#: ../../library/stdtypes.rst:4402 +#: ../../library/stdtypes.rst:4406 msgid "" "Use the type constructor: ``dict()``, ``dict([('foo', 100), ('bar', " "200)])``, ``dict(foo=100, bar=200)``" @@ -6226,7 +6236,7 @@ msgstr "" "Usar o construtor de tipo: ``dict()``, ``dict([('foo', 100), ('bar', " "200)])``, ``dict(foo=100, bar=200)``" -#: ../../library/stdtypes.rst:4405 +#: ../../library/stdtypes.rst:4409 msgid "" "If no positional argument is given, an empty dictionary is created. If a " "positional argument is given and it is a mapping object, a dictionary is " @@ -6240,14 +6250,14 @@ msgstr "" "Se nenhum argumento posicional é fornecido, um dicionário vazio é criado. Se " "um argumento posicional é fornecido e é um objeto de mapeamento, um " "dicionário é criado com os mesmos pares de chave-valor que o objeto de " -"mapeamento. Caso contrário, o argumento posicional deve ser um objeto :term:" -"`iterável `. Cada item no iterável deve ser por si mesmo um " -"iterável com exatamente dois objetos. O primeiro objeto de cada item torna-" -"se a chave no novo dicionário, e o segundo objeto, o valor correspondente. " -"Se a chave ocorrer mais do que uma vez, o último valor para aquela chave " -"torna-se o valor correspondente no novo dicionário." +"mapeamento. Caso contrário, o argumento posicional deve ser um " +"objeto :term:`iterável `. Cada item no iterável deve ser por si " +"mesmo um iterável com exatamente dois objetos. O primeiro objeto de cada " +"item torna-se a chave no novo dicionário, e o segundo objeto, o valor " +"correspondente. Se a chave ocorrer mais do que uma vez, o último valor para " +"aquela chave torna-se o valor correspondente no novo dicionário." -#: ../../library/stdtypes.rst:4415 +#: ../../library/stdtypes.rst:4419 msgid "" "If keyword arguments are given, the keyword arguments and their values are " "added to the dictionary created from the positional argument. If a key " @@ -6259,7 +6269,7 @@ msgstr "" "uma chave sendo adicionada já está presente, o valor do argumento nomeado " "substitui o valor do argumento posicional." -#: ../../library/stdtypes.rst:4420 +#: ../../library/stdtypes.rst:4424 msgid "" "To illustrate, the following examples all return a dictionary equal to " "``{\"one\": 1, \"two\": 2, \"three\": 3}``::" @@ -6267,7 +6277,7 @@ msgstr "" "Para ilustrar, os seguintes exemplos todos retornam um dicionário igual a " "``{\"one\": 1, \"two\": 2, \"three\": 3}``::" -#: ../../library/stdtypes.rst:4432 +#: ../../library/stdtypes.rst:4436 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." @@ -6276,23 +6286,23 @@ msgstr "" "para chaves que são identificadores válidos no Python. Caso contrário, " "quaisquer chaves válidas podem ser usadas." -#: ../../library/stdtypes.rst:4436 +#: ../../library/stdtypes.rst:4440 msgid "" "These are the operations that dictionaries support (and therefore, custom " "mapping types should support too):" msgstr "" -"Estas são as operações que dicionários suportam (e portanto, tipos de " -"mapeamento personalizados devem suportar também):" +"Estas são as operações que dicionários aceitam (e, portanto, tipos de " +"mapeamento personalizados devem aceitar também):" -#: ../../library/stdtypes.rst:4441 +#: ../../library/stdtypes.rst:4445 msgid "Return a list of all the keys used in the dictionary *d*." msgstr "Retorna uma lista de todas as chaves usadas no dicionário *d*." -#: ../../library/stdtypes.rst:4445 +#: ../../library/stdtypes.rst:4449 msgid "Return the number of items in the dictionary *d*." msgstr "Retorna o número de itens no dicionário *d*." -#: ../../library/stdtypes.rst:4449 +#: ../../library/stdtypes.rst:4453 msgid "" "Return the item of *d* with key *key*. Raises a :exc:`KeyError` if *key* is " "not in the map." @@ -6300,15 +6310,15 @@ msgstr "" "Retorna o item de *d* com a chave *key*. Levanta um :exc:`KeyError` se *key* " "não estiver no mapeamento." -#: ../../library/stdtypes.rst:4454 +#: ../../library/stdtypes.rst:4458 msgid "" "If a subclass of dict defines a method :meth:`__missing__` and *key* is not " "present, the ``d[key]`` operation calls that method with the key *key* as " "argument. The ``d[key]`` operation then returns or raises whatever is " "returned or raised by the ``__missing__(key)`` call. No other operations or " -"methods invoke :meth:`__missing__`. If :meth:`__missing__` is not defined, :" -"exc:`KeyError` is raised. :meth:`__missing__` must be a method; it cannot be " -"an instance variable::" +"methods invoke :meth:`__missing__`. If :meth:`__missing__` is not " +"defined, :exc:`KeyError` is raised. :meth:`__missing__` must be a method; it " +"cannot be an instance variable::" msgstr "" "Se uma subclasse de um dict define um método :meth:`__missing__` e *key* não " "estiver presente, a operação ``d[key]`` chama aquele método com a chave " @@ -6318,21 +6328,21 @@ msgstr "" "for definido, então :exc:`KeyError` é levantado. :meth:`__missing__` deve " "ser um método; ele não pode ser uma variável de instância::" -#: ../../library/stdtypes.rst:4472 +#: ../../library/stdtypes.rst:4476 msgid "" -"The example above shows part of the implementation of :class:`collections." -"Counter`. A different ``__missing__`` method is used by :class:`collections." -"defaultdict`." +"The example above shows part of the implementation " +"of :class:`collections.Counter`. A different ``__missing__`` method is used " +"by :class:`collections.defaultdict`." msgstr "" -"O exemplo acima mostra parte da implementação de :class:`collections." -"Counter`. Um método ``__missing__`` diferente é usado para :class:" -"`collections.defaultdict`." +"O exemplo acima mostra parte da implementação " +"de :class:`collections.Counter`. Um método ``__missing__`` diferente é usado " +"para :class:`collections.defaultdict`." -#: ../../library/stdtypes.rst:4478 +#: ../../library/stdtypes.rst:4482 msgid "Set ``d[key]`` to *value*." msgstr "Define ``d[key]`` para *value*." -#: ../../library/stdtypes.rst:4482 +#: ../../library/stdtypes.rst:4486 msgid "" "Remove ``d[key]`` from *d*. Raises a :exc:`KeyError` if *key* is not in the " "map." @@ -6340,16 +6350,16 @@ msgstr "" "Remove ``d[key]`` do *d*. Levanta uma exceção :exc:`KeyError` se *key* não " "estiver no mapeamento." -#: ../../library/stdtypes.rst:4487 +#: ../../library/stdtypes.rst:4491 msgid "Return ``True`` if *d* has a key *key*, else ``False``." msgstr "" "Retorna ``True`` se *d* tiver uma chave *key*, caso contrário ``False``." -#: ../../library/stdtypes.rst:4491 +#: ../../library/stdtypes.rst:4495 msgid "Equivalent to ``not key in d``." msgstr "Equivalente a ``not key in d``." -#: ../../library/stdtypes.rst:4495 +#: ../../library/stdtypes.rst:4499 msgid "" "Return an iterator over the keys of the dictionary. This is a shortcut for " "``iter(d.keys())``." @@ -6357,22 +6367,22 @@ msgstr "" "Retorna um iterador para as chaves do dicionário. Isso é um atalho para " "``iter(d.keys())``." -#: ../../library/stdtypes.rst:4500 +#: ../../library/stdtypes.rst:4504 msgid "Remove all items from the dictionary." msgstr "Remove todos os itens do dicionário." -#: ../../library/stdtypes.rst:4504 +#: ../../library/stdtypes.rst:4508 msgid "Return a shallow copy of the dictionary." msgstr "Retorna uma cópia superficial do dicionário." -#: ../../library/stdtypes.rst:4508 +#: ../../library/stdtypes.rst:4512 msgid "" "Create a new dictionary with keys from *iterable* and values set to *value*." msgstr "" "Cria um novo dicionário com chaves provenientes de *iterable* e valores " "definidos como *value*." -#: ../../library/stdtypes.rst:4510 +#: ../../library/stdtypes.rst:4514 msgid "" ":meth:`fromkeys` is a class method that returns a new dictionary. *value* " "defaults to ``None``. All of the values refer to just a single instance, so " @@ -6386,7 +6396,7 @@ msgstr "" "objeto mutável tal como uma lista vazia. Para obter valores distintos, use " "uma :ref:`compreensão de dicionário ` ao invés." -#: ../../library/stdtypes.rst:4518 +#: ../../library/stdtypes.rst:4522 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 " @@ -6396,7 +6406,7 @@ msgstr "" "*default*. Se *default* não é fornecido, será usado o valor padrão ``None``, " "de tal forma que este método nunca levanta um :exc:`KeyError`." -#: ../../library/stdtypes.rst:4524 +#: ../../library/stdtypes.rst:4528 msgid "" "Return a new view of the dictionary's items (``(key, value)`` pairs). See " "the :ref:`documentation of view objects `." @@ -6404,7 +6414,7 @@ msgstr "" "Retorna uma nova visão dos itens do dicionário (pares de ``(key, value)``). " "Veja a :ref:`documentação de objetos de visão de dicionário `." -#: ../../library/stdtypes.rst:4529 +#: ../../library/stdtypes.rst:4533 msgid "" "Return a new view of the dictionary's keys. See the :ref:`documentation of " "view objects `." @@ -6412,17 +6422,17 @@ msgstr "" "Retorna uma nova visão das chaves do dicionário. Veja a :ref:`documentação " "de objetos de visão de dicionário `." -#: ../../library/stdtypes.rst:4534 +#: ../../library/stdtypes.rst:4538 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." +"*default*. If *default* is not given and *key* is not in the dictionary, " +"a :exc:`KeyError` is raised." msgstr "" "Se *key* está no dicionário, remove a mesma e retorna o seu valor, caso " "contrário retorna *default*. Se *default* não foi fornecido e *key* não está " "no dicionário, um :exc:`KeyError` é levantado." -#: ../../library/stdtypes.rst:4540 +#: ../../library/stdtypes.rst:4544 msgid "" "Remove and return a ``(key, value)`` pair from the dictionary. Pairs are " "returned in :abbr:`LIFO (last-in, first-out)` order." @@ -6430,17 +6440,17 @@ msgstr "" "Remove e retorna um par ``(key, value)`` do dicionário. Pares são retornados " "como uma pilha, ou seja em ordem :abbr:`LIFO (last-in, first-out)`." -#: ../../library/stdtypes.rst:4543 +#: ../../library/stdtypes.rst:4547 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`." +"often used in set algorithms. If the dictionary is empty, " +"calling :meth:`popitem` raises a :exc:`KeyError`." msgstr "" ":meth:`popitem` é útil para destrutivamente iterar sobre um dicionário, algo " "comumente usado em algoritmos de conjunto. Se o dicionário estiver vazio, " "chamar :meth:`popitem` levanta um :exc:`KeyError`." -#: ../../library/stdtypes.rst:4547 +#: ../../library/stdtypes.rst:4551 msgid "" "LIFO order is now guaranteed. In prior versions, :meth:`popitem` would " "return an arbitrary key/value pair." @@ -6448,7 +6458,7 @@ msgstr "" "Ordem LIFO agora é garantida. Em versões anteriores, :meth:`popitem` iria " "retornar um par chave/valor arbitrário." -#: ../../library/stdtypes.rst:4553 +#: ../../library/stdtypes.rst:4557 msgid "" "Return a reverse iterator over the keys of the dictionary. This is a " "shortcut for ``reversed(d.keys())``." @@ -6456,7 +6466,7 @@ msgstr "" "Retorna um iterador revertido sobre as chaves do dicionário. Isso é um " "atalho para ``reversed(d.keys())``." -#: ../../library/stdtypes.rst:4560 +#: ../../library/stdtypes.rst:4564 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``." @@ -6465,7 +6475,7 @@ msgstr "" "valor *default* e retorna *default*. *default* por padrão usa o valor " "``None``." -#: ../../library/stdtypes.rst:4566 +#: ../../library/stdtypes.rst:4570 msgid "" "Update the dictionary with the key/value pairs from *other*, overwriting " "existing keys. Return ``None``." @@ -6473,7 +6483,7 @@ msgstr "" "Atualiza o dicionário com os pares chave/valor existente em *other*, " "sobrescrevendo chaves existentes. Retorna ``None``." -#: ../../library/stdtypes.rst:4569 +#: ../../library/stdtypes.rst:4573 msgid "" ":meth:`update` accepts either another dictionary object or an iterable of " "key/value pairs (as tuples or other iterables of length two). If keyword " @@ -6485,7 +6495,7 @@ msgstr "" "argumentos nomeados são especificados, o dicionário é então atualizado com " "esses pares de chave/valor: ``d.update(red=1, blue=2)``." -#: ../../library/stdtypes.rst:4576 +#: ../../library/stdtypes.rst:4580 msgid "" "Return a new view of the dictionary's values. See the :ref:`documentation " "of view objects `." @@ -6493,17 +6503,17 @@ msgstr "" "Retorna uma nova visão dos valores do dicionário. Veja a :ref:`documentação " "de objetos de visão de dicionário `." -#: ../../library/stdtypes.rst:4579 +#: ../../library/stdtypes.rst:4583 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 "" "Uma comparação de igualdade entre uma visão de ``dict.values()`` e outra, " -"sempre irá retornar ``False``. Isso também se aplica ao comparar ``dict." -"values()`` entre si::" +"sempre irá retornar ``False``. Isso também se aplica ao comparar " +"``dict.values()`` entre si::" -#: ../../library/stdtypes.rst:4589 +#: ../../library/stdtypes.rst:4593 msgid "" "Create a new dictionary with the merged keys and values of *d* and *other*, " "which must both be dictionaries. The values of *other* take priority when " @@ -6513,18 +6523,18 @@ msgstr "" "*other*, que devem ser dicionários. Os valores de *other* têm prioridade " "quando *d* e *other* compartilham chaves." -#: ../../library/stdtypes.rst:4597 +#: ../../library/stdtypes.rst:4601 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 "" -"Atualiza o dicionário *d* com chaves e valores de *other*, que podem ser a :" -"term:`mapeamento ` ou um :term:`iterável ` dos pares " +"Atualiza o dicionário *d* com chaves e valores de *other*, que podem ser " +"a :term:`mapeamento ` ou um :term:`iterável ` dos pares " "chave/valor. Os valores de *other* têm prioridade quando *d* e *other* " "compartilham chaves." -#: ../../library/stdtypes.rst:4603 +#: ../../library/stdtypes.rst:4607 msgid "" "Dictionaries compare equal if and only if they have the same ``(key, " "value)`` pairs (regardless of ordering). Order comparisons ('<', '<=', '>=', " @@ -6534,7 +6544,7 @@ msgstr "" "(independente de ordem). Comparações de ordem ('<', '<=', '>=', '>') " "levantam :exc:`TypeError`." -#: ../../library/stdtypes.rst:4607 +#: ../../library/stdtypes.rst:4611 msgid "" "Dictionaries preserve insertion order. Note that updating a key does not " "affect the order. Keys added after deletion are inserted at the end. ::" @@ -6542,7 +6552,7 @@ msgstr "" "Dicionários preservam a ordem de inserção. Perceba que atualizar a chave não " "afeta a ordem. Chaves adicionadas após a deleção são inseridas no final. ::" -#: ../../library/stdtypes.rst:4625 +#: ../../library/stdtypes.rst:4629 msgid "" "Dictionary order is guaranteed to be insertion order. This behavior was an " "implementation detail of CPython from 3.6." @@ -6551,39 +6561,39 @@ msgstr "" "comportamento era um detalhe de implementação do CPython a partir da versão " "3.6." -#: ../../library/stdtypes.rst:4629 +#: ../../library/stdtypes.rst:4633 msgid "Dictionaries and dictionary views are reversible. ::" msgstr "Dicionários e visões de dicionários são reversíveis. ::" -#: ../../library/stdtypes.rst:4641 +#: ../../library/stdtypes.rst:4645 msgid "Dictionaries are now reversible." msgstr "Dicionários agora são reversíveis." -#: ../../library/stdtypes.rst:4646 +#: ../../library/stdtypes.rst:4650 msgid "" -":class:`types.MappingProxyType` can be used to create a read-only view of a :" -"class:`dict`." +":class:`types.MappingProxyType` can be used to create a read-only view of " +"a :class:`dict`." msgstr "" ":class:`types.MappingProxyType` podem ser usados para criar uma visão " "somente leitura de um :class:`dict`." -#: ../../library/stdtypes.rst:4653 +#: ../../library/stdtypes.rst:4657 msgid "Dictionary view objects" msgstr "Objetos de visão de dicionário" -#: ../../library/stdtypes.rst:4655 +#: ../../library/stdtypes.rst:4659 msgid "" -"The objects returned by :meth:`dict.keys`, :meth:`dict.values` and :meth:" -"`dict.items` are *view objects*. They provide a dynamic view on the " -"dictionary's entries, which means that when the dictionary changes, the view " -"reflects these changes." +"The objects returned by :meth:`dict.keys`, :meth:`dict.values` " +"and :meth:`dict.items` are *view objects*. They provide a dynamic view on " +"the dictionary's entries, which means that when the dictionary changes, the " +"view reflects these changes." msgstr "" -"Os objetos retornados por :meth:`dict.keys`, :meth:`dict.values` e :meth:" -"`dict.items` são *objetos de visão*. Eles fornecem uma visão dinâmica das " -"entradas do dicionário, o que significa que quando o dicionário muda, a " -"visão reflete essas mudanças." +"Os objetos retornados por :meth:`dict.keys`, :meth:`dict.values` " +"e :meth:`dict.items` são *objetos de visão*. Eles fornecem uma visão " +"dinâmica das entradas do dicionário, o que significa que quando o dicionário " +"muda, a visão reflete essas mudanças." -#: ../../library/stdtypes.rst:4660 +#: ../../library/stdtypes.rst:4664 msgid "" "Dictionary views can be iterated over to yield their respective data, and " "support membership tests:" @@ -6591,11 +6601,11 @@ msgstr "" "Visões de dicionários podem ser iteradas para apresentar seus respectivos " "dados, e suportar testes de existência:" -#: ../../library/stdtypes.rst:4665 +#: ../../library/stdtypes.rst:4669 msgid "Return the number of entries in the dictionary." msgstr "Retorna o número de entradas no dicionário." -#: ../../library/stdtypes.rst:4669 +#: ../../library/stdtypes.rst:4673 msgid "" "Return an iterator over the keys, values or items (represented as tuples of " "``(key, value)``) in the dictionary." @@ -6603,19 +6613,19 @@ msgstr "" "Retorna um iterador sobre as chaves, valores ou itens (representados como " "tuplas de ``(key, value)``) no dicionário." -#: ../../library/stdtypes.rst:4672 +#: ../../library/stdtypes.rst:4676 msgid "" "Keys and values are iterated over in insertion order. This allows the " -"creation of ``(value, key)`` pairs using :func:`zip`: ``pairs = zip(d." -"values(), d.keys())``. Another way to create the same list is ``pairs = " -"[(v, k) for (k, v) in d.items()]``." +"creation of ``(value, key)`` pairs using :func:`zip`: ``pairs = " +"zip(d.values(), d.keys())``. Another way to create the same list is ``pairs " +"= [(v, k) for (k, v) in d.items()]``." msgstr "" "Chaves e valores são iterados em ordem de inserção. Isso permite a criação " -"de pares ``(value, key)`` usando :func:`zip`: ``pairs = zip(d.values(), d." -"keys())``. Outra maneira de criar a mesma lista é ``pairs = [(v, k) for (k, " -"v) in d.items()]``." +"de pares ``(value, key)`` usando :func:`zip`: ``pairs = zip(d.values(), " +"d.keys())``. Outra maneira de criar a mesma lista é ``pairs = [(v, k) for " +"(k, v) in d.items()]``." -#: ../../library/stdtypes.rst:4677 +#: ../../library/stdtypes.rst:4681 msgid "" "Iterating views while adding or deleting entries in the dictionary may raise " "a :exc:`RuntimeError` or fail to iterate over all entries." @@ -6623,11 +6633,11 @@ msgstr "" "Iterar sobre visões enquanto adiciona ou deleta entradas no dicionário pode " "levantar um :exc:`RuntimeError` ou falhar a iteração sobre todas as entradas." -#: ../../library/stdtypes.rst:4680 +#: ../../library/stdtypes.rst:4684 msgid "Dictionary order is guaranteed to be insertion order." msgstr "Ordem do dicionário é garantida como a ordem de inserção." -#: ../../library/stdtypes.rst:4685 +#: ../../library/stdtypes.rst:4689 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)." @@ -6635,7 +6645,7 @@ msgstr "" "Retorna ``True`` se *x* está nas chaves, valores ou itens do dicionário " "subjacente (no último caso, *x* deve ser uma tupla de ``(key, value)``)." -#: ../../library/stdtypes.rst:4690 +#: ../../library/stdtypes.rst:4694 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." @@ -6643,11 +6653,11 @@ msgstr "" "Retorna um iterador reverso sobre as chaves, valores ou itens do dicionário. " "A visão será iterada na ordem reversa de inserção." -#: ../../library/stdtypes.rst:4693 +#: ../../library/stdtypes.rst:4697 msgid "Dictionary views are now reversible." msgstr "Visões de dicionário agora são reversíveis." -#: ../../library/stdtypes.rst:4698 +#: ../../library/stdtypes.rst:4702 msgid "" "Return a :class:`types.MappingProxyType` that wraps the original dictionary " "to which the view refers." @@ -6655,34 +6665,26 @@ msgstr "" "Retorna um :class:`types.MappingProxyType` que envolve o dicionário original " "ao qual a visão se refere." -#: ../../library/stdtypes.rst:4703 -msgid "" -"Keys views are set-like since their entries are unique and :term:" -"`hashable`. If all values are hashable, so that ``(key, value)`` pairs are " -"unique and hashable, then the items view is also set-like. (Values views " -"are not treated as set-like since the entries are generally not unique.) " -"For set-like views, all of the operations defined for the abstract base " -"class :class:`collections.abc.Set` are available (for example, ``==``, " -"``<``, or ``^``)." -msgstr "" -"Visões chave são similar a conjunto, como suas entradas são únicas e " -"hasheáveis. Se todos os valores são :term:`hasheáveis `, de tal " -"forma que os pares ``(key, value)`` são únicos e hasheáveis, então a visão " -"dos itens também é um similar a conjunto. (Visões de valores não são " -"tratadas de como similar a conjunto, pois as entradas geralmente não são " -"únicas.) Para visões similares a conjunto, todas as operações definidas para " -"a classe base abstrata :class:`collections.abc.Set` estão disponíveis (por " -"exemplo, ``==``, ``<``, ou ``^``)." - -#: ../../library/stdtypes.rst:4710 +#: ../../library/stdtypes.rst:4707 +msgid "" +"Keys views are set-like since their entries are unique " +"and :term:`hashable`. If all values are hashable, so that ``(key, value)`` " +"pairs are unique and hashable, then the items view is also set-like. " +"(Values views are not treated as set-like since the entries are generally " +"not unique.) For set-like views, all of the operations defined for the " +"abstract base class :class:`collections.abc.Set` are available (for example, " +"``==``, ``<``, or ``^``)." +msgstr "" + +#: ../../library/stdtypes.rst:4714 msgid "An example of dictionary view usage::" msgstr "Um exemplo da utilização da visualização de dicionário::" -#: ../../library/stdtypes.rst:4751 +#: ../../library/stdtypes.rst:4757 msgid "Context Manager Types" msgstr "Tipos de Gerenciador de Contexto" -#: ../../library/stdtypes.rst:4758 +#: ../../library/stdtypes.rst:4764 msgid "" "Python's :keyword:`with` statement supports the concept of a runtime context " "defined by a context manager. This is implemented using a pair of methods " @@ -6696,7 +6698,7 @@ msgstr "" "inicializado antes da execução das instruções, e encerrado quando as " "instruções terminam:" -#: ../../library/stdtypes.rst:4766 +#: ../../library/stdtypes.rst:4772 msgid "" "Enter the runtime context and return either this object or another object " "related to the runtime context. The value returned by this method is bound " @@ -6705,21 +6707,22 @@ msgid "" msgstr "" "Entra no contexto em tempo de execução e retorna este objeto ou outro objeto " "relacionado ao contexto em tempo de execução. O valor retornado por este " -"método é ligado ao identificador na cláusula :keyword:`!as` das instruções :" -"keyword:`with` usando este gerenciador de contexto." +"método é ligado ao identificador na cláusula :keyword:`!as` das " +"instruções :keyword:`with` usando este gerenciador de contexto." -#: ../../library/stdtypes.rst:4771 +#: ../../library/stdtypes.rst:4777 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." +"object`. File objects return themselves from __enter__() to " +"allow :func:`open` to be used as the context expression in a :keyword:`with` " +"statement." msgstr "" -"Um exemplo de gerenciador de contexto que retorna a si mesmo é um :term:" -"`objeto arquivo `. Objeto arquivos retornam a si mesmos do " -"método __enter__() para permitir que :func:`open` seja usado como a " -"expressão de contexto em uma instrução :keyword:`with`." +"Um exemplo de gerenciador de contexto que retorna a si mesmo é " +"um :term:`objeto arquivo `. Objeto arquivos retornam a si " +"mesmos do método __enter__() para permitir que :func:`open` seja usado como " +"a expressão de contexto em uma instrução :keyword:`with`." -#: ../../library/stdtypes.rst:4775 +#: ../../library/stdtypes.rst:4781 msgid "" "An example of a context manager that returns a related object is the one " "returned by :func:`decimal.localcontext`. These managers set the active " @@ -6735,7 +6738,7 @@ msgstr "" "no contexto decimal atual, no corpo contido na instrução :keyword:`with`, " "sem afetar o código fora da instrução :keyword:`!with`." -#: ../../library/stdtypes.rst:4785 +#: ../../library/stdtypes.rst:4791 msgid "" "Exit the runtime context and return a Boolean flag indicating if any " "exception that occurred should be suppressed. If an exception occurred while " @@ -6750,7 +6753,7 @@ msgstr "" "(situação da pilha de execução). Caso contrário, os três argumentos são " "``None``." -#: ../../library/stdtypes.rst:4790 +#: ../../library/stdtypes.rst:4796 msgid "" "Returning a true value from this method will cause the :keyword:`with` " "statement to suppress the exception and continue execution with the " @@ -6760,28 +6763,29 @@ msgid "" "replace any exception that occurred in the body of the :keyword:`!with` " "statement." msgstr "" -"Retornar um valor verdadeiro deste método fará com que a instrução :keyword:" -"`with` suprima a exceção e continue a execução com a instrução imediatamente " -"após a instrução :keyword:`!with`. Caso contrário a exceção continuará " -"propagando após este método ter encerrado sua execução. Exceções que " -"ocorrerem durante a execução deste método irão substituir qualquer exceção " -"que tenha ocorrido dentro do corpo da instrução :keyword:`!with`." +"Retornar um valor verdadeiro deste método fará com que a " +"instrução :keyword:`with` suprima a exceção e continue a execução com a " +"instrução imediatamente após a instrução :keyword:`!with`. Caso contrário a " +"exceção continuará propagando após este método ter encerrado sua execução. " +"Exceções que ocorrerem durante a execução deste método irão substituir " +"qualquer exceção que tenha ocorrido dentro do corpo da instrução :keyword:`!" +"with`." -#: ../../library/stdtypes.rst:4797 +#: ../../library/stdtypes.rst:4803 msgid "" "The exception passed in should never be reraised explicitly - instead, this " "method should return a false value to indicate that the method completed " "successfully and does not want to suppress the raised exception. This allows " -"context management code to easily detect whether or not an :meth:`__exit__` " -"method has actually failed." +"context management code to easily detect whether or not " +"an :meth:`~object.__exit__` method has actually failed." msgstr "" "A exceção passada nunca deve ser re-levantada explicitamente - ao invés " "disso, este método deve retornar um valor falso para indicar que o método " "completou sua execução com sucesso, e não quer suprimir a exceção levantada. " "Isso permite ao código do gerenciador de contexto facilmente detectar se um " -"método :meth:`__exit__` realmente falhou ou não." +"método :meth:`~object.__exit__` realmente falhou ou não." -#: ../../library/stdtypes.rst:4803 +#: ../../library/stdtypes.rst:4809 msgid "" "Python defines several context managers to support easy thread " "synchronisation, prompt closure of files or other objects, and simpler " @@ -6793,27 +6797,29 @@ msgstr "" "sincronização de threads, solicita o fechamento de arquivos ou outros " "objetos, e manipula de forma simples o contexto ativo de aritmética decimal. " "Os tipos especificados não são tratados de forma especial além da sua " -"implementação e do protocolo do gerenciador de contexto. Veja o módulo :mod:" -"`contextlib` para alguns exemplos." +"implementação e do protocolo do gerenciador de contexto. Veja o " +"módulo :mod:`contextlib` para alguns exemplos." -#: ../../library/stdtypes.rst:4809 +#: ../../library/stdtypes.rst:4815 msgid "" "Python's :term:`generator`\\s and the :class:`contextlib.contextmanager` " "decorator provide a convenient way to implement these protocols. If a " "generator function is decorated with the :class:`contextlib.contextmanager` " -"decorator, it will return a context manager implementing the necessary :meth:" -"`~contextmanager.__enter__` and :meth:`~contextmanager.__exit__` methods, " -"rather than the iterator produced by an undecorated generator function." -msgstr "" -"Os :term:`gerador`\\es do Python e o decorador :class:`contextlib." -"contextmanager` fornecem uma maneira conveniente de implementar esses " -"protocolos. Se uma função geradora for decorada com o decorador :class:" -"`contextlib.contextmanager`, ela retornará um gerenciador de contexto " -"implementando os métodos necessários :meth:`~contextmanager.__enter__` e :" -"meth:`~contextmanager.__exit__`, em vez de o iterador produzido por uma " +"decorator, it will return a context manager implementing the " +"necessary :meth:`~contextmanager.__enter__` " +"and :meth:`~contextmanager.__exit__` methods, rather than the iterator " +"produced by an undecorated generator function." +msgstr "" +"Os :term:`gerador`\\es do Python e o " +"decorador :class:`contextlib.contextmanager` fornecem uma maneira " +"conveniente de implementar esses protocolos. Se uma função geradora for " +"decorada com o decorador :class:`contextlib.contextmanager`, ela retornará " +"um gerenciador de contexto implementando os métodos " +"necessários :meth:`~contextmanager.__enter__` " +"e :meth:`~contextmanager.__exit__`, em vez de o iterador produzido por uma " "função geradora não decorada." -#: ../../library/stdtypes.rst:4816 +#: ../../library/stdtypes.rst:4822 msgid "" "Note that there is no specific slot for any of these methods in the type " "structure for Python objects in the Python/C API. Extension types wanting to " @@ -6828,28 +6834,28 @@ msgstr "" "contexto em tempo de execução, a sobrecarga na pesquisa de dicionário em uma " "única classe é negligenciável." -#: ../../library/stdtypes.rst:4824 +#: ../../library/stdtypes.rst:4830 msgid "" -"Type Annotation Types --- :ref:`Generic Alias `, :ref:" -"`Union `" +"Type Annotation Types --- :ref:`Generic Alias `, :ref:`Union `" msgstr "" -"Tipos de anotação de tipo --- :ref:`Apelido genérico `, :" -"ref:`União `" +"Tipos de anotação de tipo --- :ref:`Apelido genérico `, :ref:`União `" -#: ../../library/stdtypes.rst:4829 +#: ../../library/stdtypes.rst:4835 msgid "" -"The core built-in types for :term:`type annotations ` are :ref:" -"`Generic Alias ` and :ref:`Union `." +"The core built-in types for :term:`type annotations ` " +"are :ref:`Generic Alias ` and :ref:`Union `." msgstr "" "Os principais tipos embutidos para :term:`anotações de tipo ` " "são :ref:`Apelido genérico ` e :ref:`União `." -#: ../../library/stdtypes.rst:4836 +#: ../../library/stdtypes.rst:4842 msgid "Generic Alias Type" msgstr "Tipo Generic Alias" -#: ../../library/stdtypes.rst:4842 +#: ../../library/stdtypes.rst:4848 msgid "" "``GenericAlias`` objects are generally created by :ref:`subscripting " "` a class. They are most often used with :ref:`container " @@ -6866,7 +6872,7 @@ msgstr "" "são destinados principalmente para uso com :term:`anotações de tipo " "`." -#: ../../library/stdtypes.rst:4852 +#: ../../library/stdtypes.rst:4858 msgid "" "It is generally only possible to subscript a class if the class implements " "the special method :meth:`~object.__class_getitem__`." @@ -6874,7 +6880,7 @@ msgstr "" "Geralmente só é possível subscrever uma classe se a classe implementar o " "método especial :meth:`~object.__class_getitem__`." -#: ../../library/stdtypes.rst:4855 +#: ../../library/stdtypes.rst:4861 msgid "" "A ``GenericAlias`` object acts as a proxy for a :term:`generic type`, " "implementing *parameterized generics*." @@ -6882,21 +6888,21 @@ msgstr "" "Um objeto ``GenericAlias`` atua como um proxy para um :term:`tipo genérico`, " "implementando *genéricos parametrizados*." -#: ../../library/stdtypes.rst:4858 +#: ../../library/stdtypes.rst:4864 msgid "" "For a container class, the argument(s) supplied to a :ref:`subscription " "` of the class may indicate the type(s) of the elements an " "object contains. For example, ``set[bytes]`` can be used in type annotations " -"to signify a :class:`set` in which all the elements are of type :class:" -"`bytes`." +"to signify a :class:`set` in which all the elements are of " +"type :class:`bytes`." msgstr "" -"Para uma classe contêiner, o(s) argumento(s) fornecido(s) para uma :ref:" -"`subscrição ` da classe pode indicar o(s) tipo(s) dos " -"elementos que um objeto contém. Por exemplo, ``set[bytes]`` pode ser usado " -"em anotações de tipo para significar um :class:`set` em que todos os " +"Para uma classe contêiner, o(s) argumento(s) fornecido(s) para " +"uma :ref:`subscrição ` da classe pode indicar o(s) tipo(s) " +"dos elementos que um objeto contém. Por exemplo, ``set[bytes]`` pode ser " +"usado em anotações de tipo para significar um :class:`set` em que todos os " "elementos são do tipo :class:`bytes`." -#: ../../library/stdtypes.rst:4864 +#: ../../library/stdtypes.rst:4870 msgid "" "For a class which defines :meth:`~object.__class_getitem__` but is not a " "container, the argument(s) supplied to a subscription of the class will " @@ -6910,7 +6916,7 @@ msgstr "" "em um objeto. Por exemplo, :mod:`expressões regulares ` podem ser usadas " "tanto no tipo de dados :class:`str` quanto no tipo de dados :class:`bytes`:" -#: ../../library/stdtypes.rst:4870 +#: ../../library/stdtypes.rst:4876 msgid "" "If ``x = re.search('foo', 'foo')``, ``x`` will be a :ref:`re.Match ` object where the return values of ``x.group(0)`` and ``x[0]`` will " @@ -6922,11 +6928,11 @@ msgstr "" "serão ambos do tipo :class:`str`. Podemos representar este tipo de objeto em " "anotações de tipo com o ``GenericAlias`` ``re.Match[str]``." -#: ../../library/stdtypes.rst:4876 +#: ../../library/stdtypes.rst:4882 msgid "" "If ``y = re.search(b'bar', b'bar')``, (note the ``b`` for :class:`bytes`), " -"``y`` will also be an instance of ``re.Match``, but the return values of ``y." -"group(0)`` and ``y[0]`` will both be of type :class:`bytes`. In type " +"``y`` will also be an instance of ``re.Match``, but the return values of " +"``y.group(0)`` and ``y[0]`` will both be of type :class:`bytes`. In type " "annotations, we would represent this variety of :ref:`re.Match ` objects with ``re.Match[bytes]``." msgstr "" @@ -6936,17 +6942,17 @@ msgstr "" "anotações de tipo, representaríamos esta variedade de objetos :ref:`re.Match " "` com ``re.Match[bytes]``." -#: ../../library/stdtypes.rst:4882 +#: ../../library/stdtypes.rst:4888 msgid "" -"``GenericAlias`` objects are instances of the class :class:`types." -"GenericAlias`, which can also be used to create ``GenericAlias`` objects " -"directly." +"``GenericAlias`` objects are instances of the " +"class :class:`types.GenericAlias`, which can also be used to create " +"``GenericAlias`` objects directly." msgstr "" -"Objetos ``GenericAlias`` são instâncias da classe :class:`types." -"GenericAlias`, que também podem ser usadas para criar objetos " -"``GenericAlias`` diretamente." +"Objetos ``GenericAlias`` são instâncias da " +"classe :class:`types.GenericAlias`, que também podem ser usadas para criar " +"objetos ``GenericAlias`` diretamente." -#: ../../library/stdtypes.rst:4888 +#: ../../library/stdtypes.rst:4894 msgid "" "Creates a ``GenericAlias`` representing a type ``T`` parameterized by types " "*X*, *Y*, and more depending on the ``T`` used. For example, a function " @@ -6956,20 +6962,20 @@ msgstr "" "*X*, *Y* e mais, dependendo do ``T`` usados. Por exemplo, uma função " "esperando uma :class:`list` contendo elementos :class:`float`::" -#: ../../library/stdtypes.rst:4896 +#: ../../library/stdtypes.rst:4902 msgid "" "Another example for :term:`mapping` objects, using a :class:`dict`, which is " "a generic type expecting two type parameters representing the key type and " "the value type. In this example, the function expects a ``dict`` with keys " "of type :class:`str` and values of type :class:`int`::" msgstr "" -"Outro exemplo para :term:`mapeamento ` de objetos, usando um :class:" -"`dict`, o qual é um tipo genérico esperando 2 tipos de parâmetros " +"Outro exemplo para :term:`mapeamento ` de objetos, usando " +"um :class:`dict`, o qual é um tipo genérico esperando 2 tipos de parâmetros " "representando o tipo da chave e o tipo do valor. Neste exemplo, a função " -"espera um ``dict`` com chaves do tipo :class:`str` e valores do tipo :class:" -"`int`::" +"espera um ``dict`` com chaves do tipo :class:`str` e valores do " +"tipo :class:`int`::" -#: ../../library/stdtypes.rst:4904 +#: ../../library/stdtypes.rst:4910 msgid "" "The builtin functions :func:`isinstance` and :func:`issubclass` do not " "accept ``GenericAlias`` types for their second argument::" @@ -6977,7 +6983,7 @@ msgstr "" "As funções embutidas :func:`isinstance` e :func:`issubclass` não aceitam " "tipos ``GenericAlias`` para o seu segundo argumento::" -#: ../../library/stdtypes.rst:4912 +#: ../../library/stdtypes.rst:4918 msgid "" "The Python runtime does not enforce :term:`type annotations `. " "This extends to generic types and their type parameters. When creating a " @@ -6991,7 +6997,7 @@ msgstr "" "verificados pelo seu tipo. Por exemplo, o seguinte código é desencorajado, " "mas irá executar sem erros::" -#: ../../library/stdtypes.rst:4922 +#: ../../library/stdtypes.rst:4928 msgid "" "Furthermore, parameterized generics erase type parameters during object " "creation::" @@ -6999,7 +7005,7 @@ msgstr "" "Além disso, genéricos parametrizados removem parâmetros tipados durante a " "criação do objeto::" -#: ../../library/stdtypes.rst:4933 +#: ../../library/stdtypes.rst:4939 msgid "" "Calling :func:`repr` or :func:`str` on a generic shows the parameterized " "type::" @@ -7007,7 +7013,7 @@ msgstr "" "Chamar :func:`repr` ou :func:`str` sobre um genérico mostra o tipo " "parametrizado::" -#: ../../library/stdtypes.rst:4941 +#: ../../library/stdtypes.rst:4947 msgid "" "The :meth:`~object.__getitem__` method of generic containers will raise an " "exception to disallow mistakes like ``dict[str][str]``::" @@ -7015,7 +7021,7 @@ msgstr "" "O método :meth:`~object.__getitem__` de contêineres genéricos irá levantar " "uma exceção para não permitir erros como ``dict[str][str]``::" -#: ../../library/stdtypes.rst:4949 +#: ../../library/stdtypes.rst:4955 msgid "" "However, such expressions are valid when :ref:`type variables ` " "are used. The index must have as many elements as there are type variable " @@ -7023,14 +7029,14 @@ msgid "" msgstr "" "Entretanto, tais expressões são válidas quando :ref:`type variáveis " "` são usadas. O índice deve ter tantos elementos quantos forem os " -"itens de variável de tipo no objeto ``GenericAlias`` :attr:`~genericalias." -"__args__`. ::" +"itens de variável de tipo no objeto " +"``GenericAlias`` :attr:`~genericalias.__args__`. ::" -#: ../../library/stdtypes.rst:4960 +#: ../../library/stdtypes.rst:4966 msgid "Standard Generic Classes" msgstr "Classes genéricas padrão" -#: ../../library/stdtypes.rst:4962 +#: ../../library/stdtypes.rst:4968 msgid "" "The following standard library classes support parameterized generics. This " "list is non-exhaustive." @@ -7038,237 +7044,237 @@ msgstr "" "As seguintes classes de biblioteca padrão oferecem suporte a genéricos " "parametrizados. Esta lista não é exaustiva." -#: ../../library/stdtypes.rst:4965 +#: ../../library/stdtypes.rst:4971 msgid ":class:`tuple`" msgstr ":class:`tuple`" -#: ../../library/stdtypes.rst:4966 +#: ../../library/stdtypes.rst:4972 msgid ":class:`list`" msgstr ":class:`list`" -#: ../../library/stdtypes.rst:4967 +#: ../../library/stdtypes.rst:4973 msgid ":class:`dict`" msgstr ":class:`dict`" -#: ../../library/stdtypes.rst:4968 +#: ../../library/stdtypes.rst:4974 msgid ":class:`set`" msgstr ":class:`set`" -#: ../../library/stdtypes.rst:4969 +#: ../../library/stdtypes.rst:4975 msgid ":class:`frozenset`" msgstr ":class:`frozenset`" -#: ../../library/stdtypes.rst:4970 +#: ../../library/stdtypes.rst:4976 msgid ":class:`type`" msgstr ":class:`type`" -#: ../../library/stdtypes.rst:4971 +#: ../../library/stdtypes.rst:4977 msgid ":class:`collections.deque`" msgstr ":class:`collections.deque`" -#: ../../library/stdtypes.rst:4972 +#: ../../library/stdtypes.rst:4978 msgid ":class:`collections.defaultdict`" msgstr ":class:`collections.defaultdict`" -#: ../../library/stdtypes.rst:4973 +#: ../../library/stdtypes.rst:4979 msgid ":class:`collections.OrderedDict`" msgstr ":class:`collections.OrderedDict`" -#: ../../library/stdtypes.rst:4974 +#: ../../library/stdtypes.rst:4980 msgid ":class:`collections.Counter`" msgstr ":class:`collections.Counter`" -#: ../../library/stdtypes.rst:4975 +#: ../../library/stdtypes.rst:4981 msgid ":class:`collections.ChainMap`" msgstr ":class:`collections.ChainMap`" -#: ../../library/stdtypes.rst:4976 +#: ../../library/stdtypes.rst:4982 msgid ":class:`collections.abc.Awaitable`" msgstr ":class:`collections.abc.Awaitable`" -#: ../../library/stdtypes.rst:4977 +#: ../../library/stdtypes.rst:4983 msgid ":class:`collections.abc.Coroutine`" msgstr ":class:`collections.abc.Coroutine`" -#: ../../library/stdtypes.rst:4978 +#: ../../library/stdtypes.rst:4984 msgid ":class:`collections.abc.AsyncIterable`" msgstr ":class:`collections.abc.AsyncIterable`" -#: ../../library/stdtypes.rst:4979 +#: ../../library/stdtypes.rst:4985 msgid ":class:`collections.abc.AsyncIterator`" msgstr ":class:`collections.abc.AsyncIterator`" -#: ../../library/stdtypes.rst:4980 +#: ../../library/stdtypes.rst:4986 msgid ":class:`collections.abc.AsyncGenerator`" msgstr ":class:`collections.abc.AsyncGenerator`" -#: ../../library/stdtypes.rst:4981 +#: ../../library/stdtypes.rst:4987 msgid ":class:`collections.abc.Iterable`" msgstr ":class:`collections.abc.Iterable`" -#: ../../library/stdtypes.rst:4982 +#: ../../library/stdtypes.rst:4988 msgid ":class:`collections.abc.Iterator`" msgstr ":class:`collections.abc.Iterator`" -#: ../../library/stdtypes.rst:4983 +#: ../../library/stdtypes.rst:4989 msgid ":class:`collections.abc.Generator`" msgstr ":class:`collections.abc.Generator`" -#: ../../library/stdtypes.rst:4984 +#: ../../library/stdtypes.rst:4990 msgid ":class:`collections.abc.Reversible`" msgstr ":class:`collections.abc.Reversible`" -#: ../../library/stdtypes.rst:4985 +#: ../../library/stdtypes.rst:4991 msgid ":class:`collections.abc.Container`" msgstr ":class:`collections.abc.Container`" -#: ../../library/stdtypes.rst:4986 +#: ../../library/stdtypes.rst:4992 msgid ":class:`collections.abc.Collection`" msgstr ":class:`collections.abc.Collection`" -#: ../../library/stdtypes.rst:4987 +#: ../../library/stdtypes.rst:4993 msgid ":class:`collections.abc.Callable`" msgstr ":class:`collections.abc.Callable`" -#: ../../library/stdtypes.rst:4988 +#: ../../library/stdtypes.rst:4994 msgid ":class:`collections.abc.Set`" msgstr ":class:`collections.abc.Set`" -#: ../../library/stdtypes.rst:4989 +#: ../../library/stdtypes.rst:4995 msgid ":class:`collections.abc.MutableSet`" msgstr ":class:`collections.abc.MutableSet`" -#: ../../library/stdtypes.rst:4990 +#: ../../library/stdtypes.rst:4996 msgid ":class:`collections.abc.Mapping`" msgstr ":class:`collections.abc.Mapping`" -#: ../../library/stdtypes.rst:4991 +#: ../../library/stdtypes.rst:4997 msgid ":class:`collections.abc.MutableMapping`" msgstr ":class:`collections.abc.MutableMapping`" -#: ../../library/stdtypes.rst:4992 +#: ../../library/stdtypes.rst:4998 msgid ":class:`collections.abc.Sequence`" msgstr ":class:`collections.abc.Sequence`" -#: ../../library/stdtypes.rst:4993 +#: ../../library/stdtypes.rst:4999 msgid ":class:`collections.abc.MutableSequence`" msgstr ":class:`collections.abc.MutableSequence`" -#: ../../library/stdtypes.rst:4994 +#: ../../library/stdtypes.rst:5000 msgid ":class:`collections.abc.ByteString`" msgstr ":class:`collections.abc.ByteString`" -#: ../../library/stdtypes.rst:4995 +#: ../../library/stdtypes.rst:5001 msgid ":class:`collections.abc.MappingView`" msgstr ":class:`collections.abc.MappingView`" -#: ../../library/stdtypes.rst:4996 +#: ../../library/stdtypes.rst:5002 msgid ":class:`collections.abc.KeysView`" msgstr ":class:`collections.abc.KeysView`" -#: ../../library/stdtypes.rst:4997 +#: ../../library/stdtypes.rst:5003 msgid ":class:`collections.abc.ItemsView`" msgstr ":class:`collections.abc.ItemsView`" -#: ../../library/stdtypes.rst:4998 +#: ../../library/stdtypes.rst:5004 msgid ":class:`collections.abc.ValuesView`" msgstr ":class:`collections.abc.ValuesView`" -#: ../../library/stdtypes.rst:4999 +#: ../../library/stdtypes.rst:5005 msgid ":class:`contextlib.AbstractContextManager`" msgstr ":class:`contextlib.AbstractContextManager`" -#: ../../library/stdtypes.rst:5000 +#: ../../library/stdtypes.rst:5006 msgid ":class:`contextlib.AbstractAsyncContextManager`" msgstr ":class:`contextlib.AbstractAsyncContextManager`" -#: ../../library/stdtypes.rst:5001 +#: ../../library/stdtypes.rst:5007 msgid ":class:`dataclasses.Field`" msgstr ":class:`dataclasses.Field`" -#: ../../library/stdtypes.rst:5002 +#: ../../library/stdtypes.rst:5008 msgid ":class:`functools.cached_property`" msgstr ":class:`functools.cached_property`" -#: ../../library/stdtypes.rst:5003 +#: ../../library/stdtypes.rst:5009 msgid ":class:`functools.partialmethod`" msgstr ":class:`functools.partialmethod`" -#: ../../library/stdtypes.rst:5004 +#: ../../library/stdtypes.rst:5010 msgid ":class:`os.PathLike`" msgstr ":class:`os.PathLike`" -#: ../../library/stdtypes.rst:5005 +#: ../../library/stdtypes.rst:5011 msgid ":class:`queue.LifoQueue`" msgstr ":class:`queue.LifoQueue`" -#: ../../library/stdtypes.rst:5006 +#: ../../library/stdtypes.rst:5012 msgid ":class:`queue.Queue`" msgstr ":class:`queue.Queue`" -#: ../../library/stdtypes.rst:5007 +#: ../../library/stdtypes.rst:5013 msgid ":class:`queue.PriorityQueue`" msgstr ":class:`queue.PriorityQueue`" -#: ../../library/stdtypes.rst:5008 +#: ../../library/stdtypes.rst:5014 msgid ":class:`queue.SimpleQueue`" msgstr ":class:`queue.SimpleQueue`" -#: ../../library/stdtypes.rst:5009 +#: ../../library/stdtypes.rst:5015 msgid ":ref:`re.Pattern `" msgstr ":ref:`re.Pattern `" -#: ../../library/stdtypes.rst:5010 +#: ../../library/stdtypes.rst:5016 msgid ":ref:`re.Match `" msgstr ":ref:`re.Match `" -#: ../../library/stdtypes.rst:5011 +#: ../../library/stdtypes.rst:5017 msgid ":class:`shelve.BsdDbShelf`" msgstr ":class:`shelve.BsdDbShelf`" -#: ../../library/stdtypes.rst:5012 +#: ../../library/stdtypes.rst:5018 msgid ":class:`shelve.DbfilenameShelf`" msgstr ":class:`shelve.DbfilenameShelf`" -#: ../../library/stdtypes.rst:5013 +#: ../../library/stdtypes.rst:5019 msgid ":class:`shelve.Shelf`" msgstr ":class:`shelve.Shelf`" -#: ../../library/stdtypes.rst:5014 +#: ../../library/stdtypes.rst:5020 msgid ":class:`types.MappingProxyType`" msgstr ":class:`types.MappingProxyType`" -#: ../../library/stdtypes.rst:5015 +#: ../../library/stdtypes.rst:5021 msgid ":class:`weakref.WeakKeyDictionary`" msgstr ":class:`weakref.WeakKeyDictionary`" -#: ../../library/stdtypes.rst:5016 +#: ../../library/stdtypes.rst:5022 msgid ":class:`weakref.WeakMethod`" msgstr ":class:`weakref.WeakMethod`" -#: ../../library/stdtypes.rst:5017 +#: ../../library/stdtypes.rst:5023 msgid ":class:`weakref.WeakSet`" msgstr ":class:`weakref.WeakSet`" -#: ../../library/stdtypes.rst:5018 +#: ../../library/stdtypes.rst:5024 msgid ":class:`weakref.WeakValueDictionary`" msgstr ":class:`weakref.WeakValueDictionary`" -#: ../../library/stdtypes.rst:5023 +#: ../../library/stdtypes.rst:5029 msgid "Special Attributes of ``GenericAlias`` objects" msgstr "Atributos especiais de objetos ``GenericAlias``" -#: ../../library/stdtypes.rst:5025 +#: ../../library/stdtypes.rst:5031 msgid "All parameterized generics implement special read-only attributes." msgstr "" "Todos os genéricos parametrizados implementam atributos especiais somente " "leitura." -#: ../../library/stdtypes.rst:5029 +#: ../../library/stdtypes.rst:5035 msgid "This attribute points at the non-parameterized generic class::" msgstr "Este atributo aponta para a classe genérica não parametrizada::" -#: ../../library/stdtypes.rst:5037 +#: ../../library/stdtypes.rst:5043 msgid "" "This attribute is a :class:`tuple` (possibly of length 1) of generic types " "passed to the original :meth:`~object.__class_getitem__` of the generic " @@ -7278,7 +7284,7 @@ msgstr "" "genéricos passado para o método :meth:`~object.__class_getitem__` original " "da classe genérica::" -#: ../../library/stdtypes.rst:5047 +#: ../../library/stdtypes.rst:5053 msgid "" "This attribute is a lazily computed tuple (possibly empty) of unique type " "variables found in ``__args__``::" @@ -7286,55 +7292,57 @@ msgstr "" "O atributo é uma tupla computada preguiçosamente (possivelmente vazia) de " "variáveis de tipo único encontradas em ``__args__``::" -#: ../../library/stdtypes.rst:5058 +#: ../../library/stdtypes.rst:5064 msgid "" "A ``GenericAlias`` object with :class:`typing.ParamSpec` parameters may not " -"have correct ``__parameters__`` after substitution because :class:`typing." -"ParamSpec` is intended primarily for static type checking." +"have correct ``__parameters__`` after substitution " +"because :class:`typing.ParamSpec` is intended primarily for static type " +"checking." msgstr "" "Um objeto ``GenericAlias`` com os parâmetros :class:`typing.ParamSpec` pode " -"não ter ``__parameters__`` correto após a substituição porque :class:`typing." -"ParamSpec` se destina principalmente à verificação de tipo estático." +"não ter ``__parameters__`` correto após a substituição " +"porque :class:`typing.ParamSpec` se destina principalmente à verificação de " +"tipo estático." -#: ../../library/stdtypes.rst:5065 +#: ../../library/stdtypes.rst:5071 msgid "" "A boolean that is true if the alias has been unpacked using the ``*`` " "operator (see :data:`~typing.TypeVarTuple`)." msgstr "" -"Um booleano que é true se o apelido foi descompactado usando o operador " +"Um booleano que é true se o apelido foi desempacotado usando o operador " "``*`` (consulte :data:`~typing.TypeVarTuple`)." -#: ../../library/stdtypes.rst:5074 +#: ../../library/stdtypes.rst:5080 msgid ":pep:`484` - Type Hints" -msgstr ":pep:`484` - Dicas de tipos" +msgstr ":pep:`484` - Dicas de tipo" -#: ../../library/stdtypes.rst:5074 +#: ../../library/stdtypes.rst:5080 msgid "Introducing Python's framework for type annotations." msgstr "Apresentando a estrutura do Python para anotações de tipo." -#: ../../library/stdtypes.rst:5079 +#: ../../library/stdtypes.rst:5085 msgid ":pep:`585` - Type Hinting Generics In Standard Collections" msgstr ":pep:`585` - Sugestão de tipo para Genéricos em coleções padrão" -#: ../../library/stdtypes.rst:5077 +#: ../../library/stdtypes.rst:5083 msgid "" "Introducing the ability to natively parameterize standard-library classes, " -"provided they implement the special class method :meth:`~object." -"__class_getitem__`." +"provided they implement the special class " +"method :meth:`~object.__class_getitem__`." msgstr "" "Apresentando a capacidade de parametrizar nativamente as classes da " -"biblioteca padrão, desde que implementem o método de classe especial :meth:" -"`~object.__class_getitem__`." +"biblioteca padrão, desde que implementem o método de classe " +"especial :meth:`~object.__class_getitem__`." -#: ../../library/stdtypes.rst:5082 +#: ../../library/stdtypes.rst:5088 msgid "" -":ref:`Generics`, :ref:`user-defined generics ` and :" -"class:`typing.Generic`" +":ref:`Generics`, :ref:`user-defined generics ` " +"and :class:`typing.Generic`" msgstr "" ":ref:`Generics`, :ref:`genéricos definidos pelo usuário ` e :class:`typing.Generic`" -#: ../../library/stdtypes.rst:5082 +#: ../../library/stdtypes.rst:5088 msgid "" "Documentation on how to implement generic classes that can be parameterized " "at runtime and understood by static type-checkers." @@ -7343,64 +7351,79 @@ msgstr "" "parametrizadas em tempo de execução e compreendidas por verificadores de " "tipo estático." -#: ../../library/stdtypes.rst:5091 +#: ../../library/stdtypes.rst:5097 msgid "Union Type" msgstr "Tipo União" -#: ../../library/stdtypes.rst:5097 +#: ../../library/stdtypes.rst:5103 msgid "" "A union object holds the value of the ``|`` (bitwise or) operation on " "multiple :ref:`type objects `. These types are intended " "primarily for :term:`type annotations `. The union type " -"expression enables cleaner type hinting syntax compared to :data:`typing." -"Union`." +"expression enables cleaner type hinting syntax compared " +"to :data:`typing.Union`." msgstr "" -"Um objeto união contém o valor da operação ``|`` (bit a bit ou) em vários :" -"ref:`objetos tipo `. Esses tipos são destinados " +"Um objeto união contém o valor da operação ``|`` (bit a bit ou) em " +"vários :ref:`objetos tipo `. Esses tipos são destinados " "principalmente para :term:`anotações de tipo `. A expressão de " "tipo de união habilita a sintaxe de sugestão de tipo mais limpo em " "comparação com :data:`typing.Union`." -#: ../../library/stdtypes.rst:5104 +#: ../../library/stdtypes.rst:5110 msgid "" "Defines a union object which holds types *X*, *Y*, and so forth. ``X | Y`` " "means either X or Y. It is equivalent to ``typing.Union[X, Y]``. For " -"example, the following function expects an argument of type :class:`int` or :" -"class:`float`::" +"example, the following function expects an argument of type :class:`int` " +"or :class:`float`::" msgstr "" "Define um objeto união que contém os tipos *X*, *Y* e assim por diante. ``X " "| Y`` significa X ou Y. É equivalente a ``typing.Union[X, Y]``. Por exemplo, " -"a seguinte função espera um argumento do tipo :class:`int` ou :class:" -"`float`::" +"a seguinte função espera um argumento do tipo :class:`int` " +"ou :class:`float`::" -#: ../../library/stdtypes.rst:5114 +#: ../../library/stdtypes.rst:5120 +msgid "" +"The ``|`` operand cannot be used at runtime to define unions where one or " +"more members is a forward reference. For example, ``int | \"Foo\"``, where " +"``\"Foo\"`` is a reference to a class not yet defined, will fail at runtime. " +"For unions which include forward references, present the whole expression as " +"a string, e.g. ``\"int | Foo\"``." +msgstr "" +"O operando ``|`` não pode ser usado em tempo de execução para definir uniões " +"onde um ou mais membros são uma referência direta. Por exemplo, ``int | " +"\"Foo\"``, onde ``\"Foo\"`` é uma referência a uma classe ainda não " +"definida, falhará em tempo de execução. Para uniões que incluem referências " +"futuras, apresente a expressão inteira como uma string, por exemplo. ``\"int " +"| Foo\"``." + +#: ../../library/stdtypes.rst:5128 msgid "" "Union objects can be tested for equality with other union objects. Details:" msgstr "" "Os objetos união podem ser testados quanto à igualdade com outros objetos " "união. Detalhes:" -#: ../../library/stdtypes.rst:5116 +#: ../../library/stdtypes.rst:5130 msgid "Unions of unions are flattened::" msgstr "Uniões de uniões são achatadas::" -#: ../../library/stdtypes.rst:5120 +#: ../../library/stdtypes.rst:5134 msgid "Redundant types are removed::" msgstr "Tipos redundantes são removidos::" -#: ../../library/stdtypes.rst:5124 +#: ../../library/stdtypes.rst:5138 msgid "When comparing unions, the order is ignored::" msgstr "Ao comparar uniões, a ordem é ignorada::" -#: ../../library/stdtypes.rst:5128 +#: ../../library/stdtypes.rst:5142 msgid "It is compatible with :data:`typing.Union`::" msgstr "É compatível com :data:`typing.Union`::" -#: ../../library/stdtypes.rst:5132 +#: ../../library/stdtypes.rst:5146 msgid "Optional types can be spelled as a union with ``None``::" msgstr "Tipos opcionais podem ser escritos como uma união com ``None``::" -#: ../../library/stdtypes.rst:5139 +#: ../../library/stdtypes.rst:5153 msgid "" "Calls to :func:`isinstance` and :func:`issubclass` are also supported with a " "union object::" @@ -7408,43 +7431,43 @@ msgstr "" "Chamadas para :func:`isinstance` e :func:`issubclass` também são suportados " "com um objeto união::" -#: ../../library/stdtypes.rst:5145 +#: ../../library/stdtypes.rst:5159 msgid "" -"However, union objects containing :ref:`parameterized generics ` cannot be used::" +"However, :ref:`parameterized generics ` in union objects " +"cannot be checked::" msgstr "" -"No entanto, objetos união contendo :ref:`genéricos parametrizados ` não podem ser usados::" +"No entanto, :ref:`genéricos parametrizados ` em objetos " +"de união não podem ser verificados::" -#: ../../library/stdtypes.rst:5153 +#: ../../library/stdtypes.rst:5169 msgid "" -"The user-exposed type for the union object can be accessed from :data:`types." -"UnionType` and used for :func:`isinstance` checks. An object cannot be " -"instantiated from the type::" +"The user-exposed type for the union object can be accessed " +"from :data:`types.UnionType` and used for :func:`isinstance` checks. An " +"object cannot be instantiated from the type::" msgstr "" -"O tipo exposto ao usuário para o objeto união pode ser acessado a partir de :" -"data:`types.UnionType` e usado por verificações de :func:`isinstance`. Um " -"objeto não pode ser instanciado a partir do tipo::" +"O tipo exposto ao usuário para o objeto união pode ser acessado a partir " +"de :data:`types.UnionType` e usado por verificações de :func:`isinstance`. " +"Um objeto não pode ser instanciado a partir do tipo::" -#: ../../library/stdtypes.rst:5166 +#: ../../library/stdtypes.rst:5182 msgid "" -"The :meth:`__or__` method for type objects was added to support the syntax " -"``X | Y``. If a metaclass implements :meth:`__or__`, the Union may override " -"it::" +"The :meth:`!__or__` method for type objects was added to support the syntax " +"``X | Y``. If a metaclass implements :meth:`!__or__`, the Union may " +"override it:" msgstr "" -"O método :meth:`__or__` para objetos de tipo foi adicionado para suportar a " -"sintaxe ``X | Y``. Se uma metaclasse implementa :meth:`__or__`, a União pode " -"substituí-la::" +"O método :meth:`!__or__` para objetos de tipo foi adicionado para suportar a " +"sintaxe ``X | Y``. Se uma metaclasse implementa :meth:`!__or__`, a União " +"pode substituí-la:" -#: ../../library/stdtypes.rst:5184 +#: ../../library/stdtypes.rst:5202 msgid ":pep:`604` -- PEP proposing the ``X | Y`` syntax and the Union type." msgstr ":pep:`604` -- PEP propondo a sintaxe ``X | Y`` e o tipo União." -#: ../../library/stdtypes.rst:5192 +#: ../../library/stdtypes.rst:5210 msgid "Other Built-in Types" msgstr "Outros tipos embutidos" -#: ../../library/stdtypes.rst:5194 +#: ../../library/stdtypes.rst:5212 msgid "" "The interpreter supports several other kinds of objects. Most of these " "support only one or two operations." @@ -7452,69 +7475,69 @@ msgstr "" "O interpretador suporta diversos outros tipos de objetos. Maior parte " "desses, suporta apenas uma ou duas operações." -#: ../../library/stdtypes.rst:5201 +#: ../../library/stdtypes.rst:5219 msgid "Modules" msgstr "Módulos" -#: ../../library/stdtypes.rst:5203 +#: ../../library/stdtypes.rst:5221 msgid "" "The only special operation on a module is attribute access: ``m.name``, " "where *m* is a module and *name* accesses a name defined in *m*'s symbol " -"table. Module attributes can be assigned to. (Note that the :keyword:" -"`import` statement is not, strictly speaking, an operation on a module " -"object; ``import foo`` does not require a module object named *foo* to " -"exist, rather it requires an (external) *definition* for a module named " +"table. Module attributes can be assigned to. (Note that " +"the :keyword:`import` statement is not, strictly speaking, an operation on a " +"module object; ``import foo`` does not require a module object named *foo* " +"to exist, rather it requires an (external) *definition* for a module named " "*foo* somewhere.)" msgstr "" "A única operação especial em um módulo é o acesso a um atributo: ``m.name``, " "onde *m* é um módulo e *name* acessa o nome defino na tabela de símbolos de " -"*m*. Atributos de módulo podem receber atribuição. (Perceba que a instrução :" -"keyword:`import` não é, estritamente falando, uma operação em um objeto do " -"módulo; ``import foo`` não requer que um objeto do módulo chamado *foo* " -"exista, ao invés disso requer uma *definição* (externa) de um módulo chamado " -"*foo* em algum lugar.)" +"*m*. Atributos de módulo podem receber atribuição. (Perceba que a " +"instrução :keyword:`import` não é, estritamente falando, uma operação em um " +"objeto do módulo; ``import foo`` não requer que um objeto do módulo chamado " +"*foo* exista, ao invés disso requer uma *definição* (externa) de um módulo " +"chamado *foo* em algum lugar.)" -#: ../../library/stdtypes.rst:5210 +#: ../../library/stdtypes.rst:5228 msgid "" "A special attribute of every module is :attr:`~object.__dict__`. This is the " "dictionary containing the module's symbol table. Modifying this dictionary " "will actually change the module's symbol table, but direct assignment to " -"the :attr:`~object.__dict__` attribute is not possible (you can write ``m." -"__dict__['a'] = 1``, which defines ``m.a`` to be ``1``, but you can't write " -"``m.__dict__ = {}``). Modifying :attr:`~object.__dict__` directly is not " -"recommended." +"the :attr:`~object.__dict__` attribute is not possible (you can write " +"``m.__dict__['a'] = 1``, which defines ``m.a`` to be ``1``, but you can't " +"write ``m.__dict__ = {}``). Modifying :attr:`~object.__dict__` directly is " +"not recommended." msgstr "" "Um atributo especial de cada módulo é :attr:`~object.__dict__`. Este é o " "dicionário contendo a tabela de símbolos do modulo. Modificar este " "dicionário vai na verdade modificar a tabela de símbolos do módulo, mas " "atribuição direta para o atributo :attr:`~object.__dict__` não é possível " "(você pode escrever ``m.__dict__['a'] = 1``, o qual define ``m.a`` para ser " -"``1``, mas você não consegue escrever ``m.__dict__ = {}``). Modificar :attr:" -"`~object.__dict__` diretamente não é recomendado." +"``1``, mas você não consegue escrever ``m.__dict__ = {}``). " +"Modificar :attr:`~object.__dict__` diretamente não é recomendado." -#: ../../library/stdtypes.rst:5218 +#: ../../library/stdtypes.rst:5236 msgid "" -"Modules built into the interpreter are written like this: ````. If loaded from a file, they are written as ````." +"Modules built into the interpreter are written like this: ````. If loaded from a file, they are written as ````." msgstr "" -"Módulos embutidos no interpretador são escritos desta forma: ````. Se carregados a partir de um arquivo, eles são escritos " -"como ````." +"Módulos embutidos no interpretador são escritos desta forma: ````. Se carregados a partir de um arquivo, eles são escritos como " +"````." -#: ../../library/stdtypes.rst:5226 +#: ../../library/stdtypes.rst:5244 msgid "Classes and Class Instances" msgstr "Classes e Instâncias de Classes" -#: ../../library/stdtypes.rst:5228 +#: ../../library/stdtypes.rst:5246 msgid "See :ref:`objects` and :ref:`class` for these." msgstr "Veja :ref:`objects` e :ref:`class` para estes." -#: ../../library/stdtypes.rst:5234 +#: ../../library/stdtypes.rst:5252 msgid "Functions" msgstr "Funções" -#: ../../library/stdtypes.rst:5236 +#: ../../library/stdtypes.rst:5254 msgid "" "Function objects are created by function definitions. The only operation on " "a function object is to call it: ``func(argument-list)``." @@ -7523,7 +7546,7 @@ msgstr "" "que pode ser feita em um objeto função é chamá-la: ``func(lista-de-" "argumentos)``." -#: ../../library/stdtypes.rst:5239 +#: ../../library/stdtypes.rst:5257 msgid "" "There are really two flavors of function objects: built-in functions and " "user-defined functions. Both support the same operation (to call the " @@ -7535,97 +7558,102 @@ msgstr "" "função), mas a implementação é diferente, portanto os diferentes tipos de " "objetos." -#: ../../library/stdtypes.rst:5243 +#: ../../library/stdtypes.rst:5261 msgid "See :ref:`function` for more information." msgstr "Veja a função :ref:`function` para mais informações." -#: ../../library/stdtypes.rst:5249 +#: ../../library/stdtypes.rst:5267 msgid "Methods" msgstr "Métodos" -#: ../../library/stdtypes.rst:5253 +#: ../../library/stdtypes.rst:5271 msgid "" "Methods are functions that are called using the attribute notation. There " -"are two flavors: built-in methods (such as :meth:`append` on lists) and " -"class instance methods. Built-in methods are described with the types that " -"support them." +"are two flavors: :ref:`built-in methods ` (such " +"as :meth:`append` on lists) and :ref:`class instance method `. Built-in methods are described with the types that support them." msgstr "" "Métodos são funções que são chamadas usando a notação de atributo. Existem " -"duas opções: métodos embutidos (tal como :meth:`append` em listas) e métodos " -"de instância de classe. Métodos embutidos são descritos com os tipos que " +"duas opções: :ref:`métodos embutidos ` (tal " +"como :meth:`append` em listas) e :ref:`métodos de instância de classe " +"`. Métodos embutidos são descritos com os tipos que " "suportam eles." -#: ../../library/stdtypes.rst:5258 +#: ../../library/stdtypes.rst:5276 msgid "" "If you access a method (a function defined in a class namespace) through an " -"instance, you get a special object: a :dfn:`bound method` (also called :dfn:" -"`instance method`) object. When called, it will add the ``self`` argument to " -"the argument list. Bound methods have two special read-only attributes: ``m." -"__self__`` is the object on which the method operates, and ``m.__func__`` is " -"the function implementing the method. Calling ``m(arg-1, arg-2, ..., arg-" -"n)`` is completely equivalent to calling ``m.__func__(m.__self__, arg-1, " -"arg-2, ..., arg-n)``." +"instance, you get a special object: a :dfn:`bound method` (also " +"called :ref:`instance method `) object. When called, it " +"will add the ``self`` argument to the argument list. Bound methods have two " +"special read-only attributes: :attr:`m.__self__ ` is the " +"object on which the method operates, and :attr:`m.__func__ " +"` is the function implementing the method. Calling " +"``m(arg-1, arg-2, ..., arg-n)`` is completely equivalent to calling " +"``m.__func__(m.__self__, arg-1, arg-2, ..., arg-n)``." msgstr "" "Se você acessar um método (uma função definida em um espaço de nomes de uma " "classe) através de uma instância, você obtém um objeto especial: um objeto " -"com :dfn:`método vinculado` (também chamado de :dfn:`método de instância`). " -"Quando chamado, ele irá adicionar o argumento ``self`` para a lista de " -"argumentos. Métodos vinculados tem dois atributos somente leitura especiais: " -"``m.__self__`` é o objeto no qual o método opera, e ``m.__func__`` é a " -"função que implementa o método. Chamar ``m(arg-1, arg-2, ..., arg-n)`` é " -"completamente equivalente a chamar ``m.__func__(m.__self__, arg-1, " -"arg-2, ..., arg-n)``." - -#: ../../library/stdtypes.rst:5267 -msgid "" -"Like function objects, bound method objects support getting arbitrary " -"attributes. However, since method attributes are actually stored on the " -"underlying function object (``meth.__func__``), setting method attributes on " -"bound methods is disallowed. Attempting to set an attribute on a method " -"results in an :exc:`AttributeError` being raised. In order to set a method " -"attribute, you need to explicitly set it on the underlying function object::" -msgstr "" -"Assim como objetos função, objetos de métodos vinculados tem suporte para " -"receber atributos arbitrários. Entretanto, como atributos de método na " -"verdade são armazenados no objeto função subjacente (``meth.__func__``), " -"definir atributos de método em métodos vinculados não é permitido. Tentar " -"definir um atributo em um método resulta em um :exc:`AttributeError` sendo " -"levantado. A fim de definir um atributo de método, você precisa definir " -"explicitamente ele no objeto função subjacente::" - -#: ../../library/stdtypes.rst:5287 ../../library/stdtypes.rst:5318 -msgid "See :ref:`types` for more information." -msgstr "Veja o tipo :ref:`types` para maiores informações." - -#: ../../library/stdtypes.rst:5295 +"com :dfn:`método vinculado` (também chamado de :ref:`método de instância " +"`). Quando chamado, ele irá adicionar o argumento ``self`` " +"para a lista de argumentos. Métodos vinculados tem dois atributos somente " +"leitura especiais: :attr:`m.__self__ ` é o objeto no qual o " +"método opera, e :attr:`m.__func__ ` é a função que " +"implementa o método. Chamar ``m(arg-1, arg-2, ..., arg-n)`` é completamente " +"equivalente a chamar ``m.__func__(m.__self__, arg-1, arg-2, ..., arg-n)``." + +#: ../../library/stdtypes.rst:5287 +msgid "" +"Like :ref:`function objects `, bound method objects " +"support getting arbitrary attributes. However, since method attributes are " +"actually stored on the underlying function object (:attr:`method.__func__`), " +"setting method attributes on bound methods is disallowed. Attempting to set " +"an attribute on a method results in an :exc:`AttributeError` being raised. " +"In order to set a method attribute, you need to explicitly set it on the " +"underlying function object:" +msgstr "" +"Assim como :ref:`objetos função `, objetos de métodos " +"vinculados tem suporte para receber atributos arbitrários. Entretanto, como " +"atributos de método na verdade são armazenados no objeto função subjacente " +"(:attr:`method.__func__`), definir atributos de método em métodos vinculados " +"não é permitido. Tentar definir um atributo em um método resulta em " +"um :exc:`AttributeError` sendo levantado. A fim de definir um atributo de " +"método, você precisa definir explicitamente ele no objeto função subjacente::" + +#: ../../library/stdtypes.rst:5310 +msgid "See :ref:`instance-methods` for more information." +msgstr "Veja :ref:`instance-methods` para mais informações." + +#: ../../library/stdtypes.rst:5318 msgid "Code Objects" msgstr "Objetos código" -#: ../../library/stdtypes.rst:5301 +#: ../../library/stdtypes.rst:5324 msgid "" "Code objects are used by the implementation to represent \"pseudo-compiled\" " "executable Python code such as a function body. They differ from function " "objects because they don't contain a reference to their global execution " "environment. Code objects are returned by the built-in :func:`compile` " -"function and can be extracted from function objects through their :attr:" -"`__code__` attribute. See also the :mod:`code` module." +"function and can be extracted from function objects through " +"their :attr:`~function.__code__` attribute. See also the :mod:`code` module." msgstr "" "Objetos código são usados pela implementação para representar código Python " "executável \"pseudo-compilado\", tal como corpo de uma função. Eles são " "diferentes de objetos função porque eles não contém uma referência para os " "seus ambientes de execução global. Objetos código são retornados pela função " "embutida :func:`compile` e podem ser extraídos de objetos função através do " -"seu atributo :attr:`__code__`. Veja também o módulo :mod:`code`." +"seu atributo :attr:`~function.__code__`. Veja também o módulo :mod:`code`." -#: ../../library/stdtypes.rst:5308 +#: ../../library/stdtypes.rst:5331 msgid "" -"Accessing ``__code__`` raises an :ref:`auditing event ` ``object." -"__getattr__`` with arguments ``obj`` and ``\"__code__\"``." +"Accessing :attr:`~function.__code__` raises an :ref:`auditing event " +"` ``object.__getattr__`` with arguments ``obj`` and " +"``\"__code__\"``." msgstr "" -"Acessar ``__code__`` levanta um :ref:`evento de auditoria ` " -"``object.__getattr__`` com argumentos ``obj`` e ``\"__code__\"``." +"Acessar :attr:`~function.__code__` levanta um :ref:`evento de auditoria " +"` ``object.__getattr__`` com os argumentos ``obj`` e " +"``\"__code__\"``." -#: ../../library/stdtypes.rst:5315 +#: ../../library/stdtypes.rst:5338 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." @@ -7633,11 +7661,15 @@ msgstr "" "Um objeto de código pode ser executado ou avaliado passando-o (ao invés da " "string fonte) para as funções embutidas :func:`exec` ou :func:`eval`." -#: ../../library/stdtypes.rst:5324 +#: ../../library/stdtypes.rst:5341 +msgid "See :ref:`types` for more information." +msgstr "Veja o tipo :ref:`types` para maiores informações." + +#: ../../library/stdtypes.rst:5347 msgid "Type Objects" msgstr "Objetos tipo" -#: ../../library/stdtypes.rst:5330 +#: ../../library/stdtypes.rst:5353 msgid "" "Type objects represent the various object types. An object's type is " "accessed by the built-in function :func:`type`. There are no special " @@ -7649,15 +7681,15 @@ msgstr "" "especiais sobre tipos. O módulo padrão :mod:`types` define nomes para todos " "os tipos padrão embutidos." -#: ../../library/stdtypes.rst:5335 +#: ../../library/stdtypes.rst:5358 msgid "Types are written like this: ````." msgstr "Tipos são escritos como isto: ````." -#: ../../library/stdtypes.rst:5341 +#: ../../library/stdtypes.rst:5364 msgid "The Null Object" msgstr "O objeto nulo" -#: ../../library/stdtypes.rst:5343 +#: ../../library/stdtypes.rst:5366 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 " @@ -7668,55 +7700,56 @@ msgstr "" "objeto nulo, chamado de ``None`` (um nome embutido). ``type(None)()`` produz " "o mesmo singleton." -#: ../../library/stdtypes.rst:5347 +#: ../../library/stdtypes.rst:5370 msgid "It is written as ``None``." msgstr "Ele é escrito como ``None``." -#: ../../library/stdtypes.rst:5354 +#: ../../library/stdtypes.rst:5377 msgid "The Ellipsis Object" msgstr "O Objeto Ellipsis" -#: ../../library/stdtypes.rst:5356 +#: ../../library/stdtypes.rst:5379 msgid "" "This object is commonly used by slicing (see :ref:`slicings`). It supports " -"no special operations. There is exactly one ellipsis object, named :const:" -"`Ellipsis` (a built-in name). ``type(Ellipsis)()`` produces the :const:" -"`Ellipsis` singleton." +"no special operations. There is exactly one ellipsis object, " +"named :const:`Ellipsis` (a built-in name). ``type(Ellipsis)()`` produces " +"the :const:`Ellipsis` singleton." msgstr "" "Este objeto é comumente usado através de fatiamento (veja :ref:`slicings`). " "Ela não suporta operações especiais. Existe exatamente um objeto ellipsis, " "nomeado :const:`Ellipsis` (um nome embutido). ``type(Ellipsis)()`` produz o " "singleton :const:`Ellipsis`." -#: ../../library/stdtypes.rst:5361 +#: ../../library/stdtypes.rst:5384 msgid "It is written as ``Ellipsis`` or ``...``." msgstr "Está escrito com ``Ellipsis`` ou ``...``." -#: ../../library/stdtypes.rst:5367 +#: ../../library/stdtypes.rst:5390 msgid "The NotImplemented Object" msgstr "O Objeto NotImplemented" -#: ../../library/stdtypes.rst:5369 +#: ../../library/stdtypes.rst:5392 msgid "" "This object is returned from comparisons and binary operations when they are " "asked to operate on types they don't support. See :ref:`comparisons` for " -"more information. There is exactly one ``NotImplemented`` object. " -"``type(NotImplemented)()`` produces the singleton instance." +"more information. There is exactly one :data:`NotImplemented` " +"object. :code:`type(NotImplemented)()` produces the singleton instance." msgstr "" "Este objeto é retornado a partir de comparações e operações binárias quando " -"elas são solicitadas para operar em tipos nos quais eles não suportam. Veja :" -"ref:`comparisons` para mais informações. Existe exatamente um objeto " -"``NotImplemented``. ``type(NotImplemented)()`` produz o mesmo valor." +"elas são solicitadas para operar em tipos nos quais eles não suportam. " +"Veja :ref:`comparisons` para mais informações. Existe exatamente um " +"objeto :data:`NotImplemented`. :code:`type(NotImplemented)()` produz o mesmo " +"valor." -#: ../../library/stdtypes.rst:5374 -msgid "It is written as ``NotImplemented``." -msgstr "Está escrito como ``NotImplemented``." +#: ../../library/stdtypes.rst:5397 +msgid "It is written as :code:`NotImplemented`." +msgstr "Está escrito como :code:`NotImplemented`." -#: ../../library/stdtypes.rst:5380 +#: ../../library/stdtypes.rst:5403 msgid "Boolean Values" msgstr "Valores Booleanos" -#: ../../library/stdtypes.rst:5382 +#: ../../library/stdtypes.rst:5405 msgid "" "Boolean values are the two constant objects ``False`` and ``True``. They " "are used to represent truth values (although other values can also be " @@ -7735,37 +7768,39 @@ msgstr "" "booleano, se o valor puder ser interpretado como um valor verdadeiro (veja a " "seção :ref:`truth` acima)." -#: ../../library/stdtypes.rst:5395 +#: ../../library/stdtypes.rst:5418 msgid "They are written as ``False`` and ``True``, respectively." msgstr "Eles são escritos como ``False`` e ``True``, respectivamente." -#: ../../library/stdtypes.rst:5401 +#: ../../library/stdtypes.rst:5424 msgid "Internal Objects" msgstr "Objetos Internos" -#: ../../library/stdtypes.rst:5403 +#: ../../library/stdtypes.rst:5426 msgid "" -"See :ref:`types` for this information. It describes stack frame objects, " -"traceback objects, and slice objects." +"See :ref:`types` for this information. It describes :ref:`stack frame " +"objects `, :ref:`traceback objects `, and " +"slice objects." msgstr "" -"Veja :ref:`a hierarquia de tipos padrão ` para esta informação. Ela " -"descreve objetos de stack frame, objetos de traceback, e fatias de objetos." +"Veja :ref:`types` para esta informação. Descreve :ref:`objetos de quadro de " +"pilha `, :ref:`objetos traceback (situação da pilha de " +"execução) `, e objetos fatia." -#: ../../library/stdtypes.rst:5410 +#: ../../library/stdtypes.rst:5434 msgid "Special Attributes" msgstr "Atributos Especiais" -#: ../../library/stdtypes.rst:5412 +#: ../../library/stdtypes.rst:5436 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." +"types, where they are relevant. Some of these are not reported by " +"the :func:`dir` built-in function." msgstr "" "A implementação adiciona alguns atributos especiais somente leitura para " "diversos tipos de objetos, onde eles são relevantes. Alguns desses não são " "reportados pela função embutida :func:`dir`." -#: ../../library/stdtypes.rst:5419 +#: ../../library/stdtypes.rst:5443 msgid "" "A dictionary or other mapping object used to store an object's (writable) " "attributes." @@ -7773,20 +7808,20 @@ msgstr "" "Um dicionário ou outro objeto de mapeamento usado para armazenar os " "atributos (graváveis) de um objeto." -#: ../../library/stdtypes.rst:5425 +#: ../../library/stdtypes.rst:5449 msgid "The class to which a class instance belongs." msgstr "A classe à qual pertence uma instância de classe." -#: ../../library/stdtypes.rst:5430 +#: ../../library/stdtypes.rst:5454 msgid "The tuple of base classes of a class object." msgstr "A tupla de classes base de um objeto classe." -#: ../../library/stdtypes.rst:5435 +#: ../../library/stdtypes.rst:5459 msgid "" "The name of the class, function, method, descriptor, or generator instance." msgstr "O nome da classe, função, método, descritor, ou instância geradora." -#: ../../library/stdtypes.rst:5441 +#: ../../library/stdtypes.rst:5465 msgid "" "The :term:`qualified name` of the class, function, method, descriptor, or " "generator instance." @@ -7794,7 +7829,7 @@ msgstr "" "O :term:`nome qualificado ` da classe, função, método, " "descritor, ou instância geradora." -#: ../../library/stdtypes.rst:5449 +#: ../../library/stdtypes.rst:5473 msgid "" "This attribute is a tuple of classes that are considered when looking for " "base classes during method resolution." @@ -7802,7 +7837,7 @@ msgstr "" "Este atributo é uma tupla de classes que são consideradas ao procurar por " "classes bases durante resolução de métodos." -#: ../../library/stdtypes.rst:5455 +#: ../../library/stdtypes.rst:5479 msgid "" "This method can be overridden by a metaclass to customize the method " "resolution order for its instances. It is called at class instantiation, " @@ -7812,7 +7847,7 @@ msgstr "" "de resolução de métodos para suas instâncias. Ele é chamado na instanciação " "da classe, e o seu resultado é armazenado em :attr:`~class.__mro__`." -#: ../../library/stdtypes.rst:5462 +#: ../../library/stdtypes.rst:5486 msgid "" "Each class keeps a list of weak references to its immediate subclasses. " "This method returns a list of all those references still alive. The list is " @@ -7822,24 +7857,24 @@ msgstr "" "imediatas. Este método retorna uma lista de todas essas referências ainda " "vivas. A lista está na ordem que são definidas. Exemplo::" -#: ../../library/stdtypes.rst:5473 +#: ../../library/stdtypes.rst:5497 msgid "Integer string conversion length limitation" msgstr "Limitação de comprimento de string na conversão para inteiro" -#: ../../library/stdtypes.rst:5475 +#: ../../library/stdtypes.rst:5499 msgid "" -"CPython has a global limit for converting between :class:`int` and :class:" -"`str` to mitigate denial of service attacks. This limit *only* applies to " -"decimal or other non-power-of-two number bases. Hexadecimal, octal, and " -"binary conversions are unlimited. The limit can be configured." +"CPython has a global limit for converting between :class:`int` " +"and :class:`str` to mitigate denial of service attacks. This limit *only* " +"applies to decimal or other non-power-of-two number bases. Hexadecimal, " +"octal, and binary conversions are unlimited. The limit can be configured." msgstr "" -"CPython tem um limite global para conversão entre :class:`int` e :class:" -"`str` para mitigar ataques de negação de serviço. Esse limite *somente* se " -"aplica a bases numéricas decimais ou outras que não sejam potência de dois. " -"As conversões hexadecimais, octais e binárias são ilimitadas. O limite pode " -"ser configurado." +"CPython tem um limite global para conversão entre :class:`int` " +"e :class:`str` para mitigar ataques de negação de serviço. Esse limite " +"*somente* se aplica a bases numéricas decimais ou outras que não sejam " +"potência de dois. As conversões hexadecimais, octais e binárias são " +"ilimitadas. O limite pode ser configurado." -#: ../../library/stdtypes.rst:5480 +#: ../../library/stdtypes.rst:5504 msgid "" "The :class:`int` type in CPython is an arbitrary length number stored in " "binary form (commonly known as a \"bignum\"). There exists no algorithm that " @@ -7856,7 +7891,7 @@ msgstr "" "têm complexidade subquadrática. Converter um valor grande como ``int('1' * " "500_000)`` pode levar mais de um segundo em uma CPU rápida." -#: ../../library/stdtypes.rst:5487 +#: ../../library/stdtypes.rst:5511 msgid "" "Limiting conversion size offers a practical way to avoid `CVE-2020-10735 " "`_." @@ -7865,7 +7900,7 @@ msgstr "" "`CVE-2020-10735 `_." -#: ../../library/stdtypes.rst:5490 +#: ../../library/stdtypes.rst:5514 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. " @@ -7875,59 +7910,59 @@ msgstr "" "ou saída quando um algoritmo de conversão não linear estiver envolvido. " "Sublinhados e o sinal não são contados para o limite." -#: ../../library/stdtypes.rst:5494 +#: ../../library/stdtypes.rst:5518 msgid "" "When an operation would exceed the limit, a :exc:`ValueError` is raised:" msgstr "" "Quando uma operação excede o limite, uma exceção :exc:`ValueError` é " "levantada:" -#: ../../library/stdtypes.rst:5516 +#: ../../library/stdtypes.rst:5540 msgid "" -"The default limit is 4300 digits as provided in :data:`sys.int_info." -"default_max_str_digits `. The lowest limit that can be " -"configured is 640 digits as provided in :data:`sys.int_info." -"str_digits_check_threshold `." +"The default limit is 4300 digits as provided " +"in :data:`sys.int_info.default_max_str_digits `. The lowest " +"limit that can be configured is 640 digits as provided " +"in :data:`sys.int_info.str_digits_check_threshold `." msgstr "" -"O limite padrão é de 4300 dígitos conforme fornecido em :data:`sys.int_info." -"default_max_str_digits `. O limite mínimo que pode ser " -"configurado é de 640 dígitos conforme fornecido em :data:`sys.int_info." -"str_digits_check_threshold `." +"O limite padrão é de 4300 dígitos conforme fornecido " +"em :data:`sys.int_info.default_max_str_digits `. O limite " +"mínimo que pode ser configurado é de 640 dígitos conforme fornecido " +"em :data:`sys.int_info.str_digits_check_threshold `." -#: ../../library/stdtypes.rst:5521 +#: ../../library/stdtypes.rst:5545 msgid "Verification:" msgstr "Verificação:" -#: ../../library/stdtypes.rst:5536 +#: ../../library/stdtypes.rst:5560 msgid "Affected APIs" msgstr "APIs afetadas" -#: ../../library/stdtypes.rst:5538 +#: ../../library/stdtypes.rst:5562 msgid "" -"The limitation only applies to potentially slow conversions between :class:" -"`int` and :class:`str` or :class:`bytes`:" +"The limitation only applies to potentially slow conversions " +"between :class:`int` and :class:`str` or :class:`bytes`:" msgstr "" -"A limitação só se aplica a conversões potencialmente lentas entre :class:" -"`int` e :class:`str` ou :class:`bytes`:" +"A limitação só se aplica a conversões potencialmente lentas " +"entre :class:`int` e :class:`str` ou :class:`bytes`:" -#: ../../library/stdtypes.rst:5541 +#: ../../library/stdtypes.rst:5565 msgid "``int(string)`` with default base 10." msgstr "``int(string)`` com padrão sendo base 10." -#: ../../library/stdtypes.rst:5542 +#: ../../library/stdtypes.rst:5566 msgid "``int(string, base)`` for all bases that are not a power of 2." msgstr "" "``int(string, base)`` para todas as bases que não são uma potência de 2." -#: ../../library/stdtypes.rst:5543 +#: ../../library/stdtypes.rst:5567 msgid "``str(integer)``." msgstr "``str(integer)``." -#: ../../library/stdtypes.rst:5544 +#: ../../library/stdtypes.rst:5568 msgid "``repr(integer)``." msgstr "``repr(integer)``." -#: ../../library/stdtypes.rst:5545 +#: ../../library/stdtypes.rst:5569 msgid "" "any other string conversion to base 10, for example ``f\"{integer}\"``, " "``\"{}\".format(integer)``, or ``b\"%d\" % integer``." @@ -7935,39 +7970,39 @@ msgstr "" "qualquer outra conversão de string para base 10 como, por exemplo, " "``f\"{integer}\"``, ``\"{}\".format(integer)`` ou ``b\"%d\" % integer``." -#: ../../library/stdtypes.rst:5548 +#: ../../library/stdtypes.rst:5572 msgid "The limitations do not apply to functions with a linear algorithm:" msgstr "As limitações não se aplicam a funções com um algoritmo linear:" -#: ../../library/stdtypes.rst:5550 +#: ../../library/stdtypes.rst:5574 msgid "``int(string, base)`` with base 2, 4, 8, 16, or 32." msgstr "``int(string, base)`` com base 2, 4, 8, 16 ou 32." -#: ../../library/stdtypes.rst:5551 +#: ../../library/stdtypes.rst:5575 msgid ":func:`int.from_bytes` and :func:`int.to_bytes`." msgstr ":func:`int.from_bytes` e :func:`int.to_bytes`." -#: ../../library/stdtypes.rst:5552 +#: ../../library/stdtypes.rst:5576 msgid ":func:`hex`, :func:`oct`, :func:`bin`." msgstr ":func:`hex`, :func:`oct`, :func:`bin`." -#: ../../library/stdtypes.rst:5553 +#: ../../library/stdtypes.rst:5577 msgid ":ref:`formatspec` for hex, octal, and binary numbers." msgstr ":ref:`formatspec` para números hexa, octal e binários" -#: ../../library/stdtypes.rst:5554 +#: ../../library/stdtypes.rst:5578 msgid ":class:`str` to :class:`float`." msgstr ":class:`str` para :class:`float`." -#: ../../library/stdtypes.rst:5555 +#: ../../library/stdtypes.rst:5579 msgid ":class:`str` to :class:`decimal.Decimal`." msgstr ":class:`str` para :class:`decimal.Decimal`." -#: ../../library/stdtypes.rst:5558 +#: ../../library/stdtypes.rst:5582 msgid "Configuring the limit" msgstr "Configurando o limiter" -#: ../../library/stdtypes.rst:5560 +#: ../../library/stdtypes.rst:5584 msgid "" "Before Python starts up you can use an environment variable or an " "interpreter command line flag to configure the limit:" @@ -7975,7 +8010,7 @@ msgstr "" "Antes de iniciar o Python, você pode usar uma variável de ambiente ou um " "sinalizador de linha de comando do interpretador para configurar o limite:" -#: ../../library/stdtypes.rst:5563 +#: ../../library/stdtypes.rst:5587 msgid "" ":envvar:`PYTHONINTMAXSTRDIGITS`, e.g. ``PYTHONINTMAXSTRDIGITS=640 python3`` " "to set the limit to 640 or ``PYTHONINTMAXSTRDIGITS=0 python3`` to disable " @@ -7985,7 +8020,7 @@ msgstr "" "python3`` para definir o limite para 640 ou ``PYTHONINTMAXSTRDIGITS=0 " "python3`` para desabilitar a limitação." -#: ../../library/stdtypes.rst:5566 +#: ../../library/stdtypes.rst:5590 msgid "" ":option:`-X int_max_str_digits <-X>`, e.g. ``python3 -X " "int_max_str_digits=640``" @@ -7993,30 +8028,31 @@ msgstr "" ":option:`-X int_max_str_digits <-X>`, por exemplo ``python3 -X " "int_max_str_digits=640``" -#: ../../library/stdtypes.rst:5568 +#: ../../library/stdtypes.rst:5592 msgid "" -":data:`sys.flags.int_max_str_digits` contains the value of :envvar:" -"`PYTHONINTMAXSTRDIGITS` or :option:`-X int_max_str_digits <-X>`. If both the " -"env var and the ``-X`` option are set, the ``-X`` option takes precedence. A " -"value of *-1* indicates that both were unset, thus a value of :data:`sys." -"int_info.default_max_str_digits` was used during initialization." +":data:`sys.flags.int_max_str_digits` contains the value " +"of :envvar:`PYTHONINTMAXSTRDIGITS` or :option:`-X int_max_str_digits <-X>`. " +"If both the env var and the ``-X`` option are set, the ``-X`` option takes " +"precedence. A 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` contém o valor de :envvar:" -"`PYTHONINTMAXSTRDIGITS` ou :option:`-X int_max_str_digits <-X>`. Se a " -"variável env e a opção ``-X`` estiverem definidas, a opção ``-X`` terá " +":data:`sys.flags.int_max_str_digits` contém o valor " +"de :envvar:`PYTHONINTMAXSTRDIGITS` ou :option:`-X int_max_str_digits <-X>`. " +"Se a variável env e a opção ``-X`` estiverem definidas, a opção ``-X`` terá " "precedência. Um valor de *-1* indica que ambos não foram definidos, " "portanto, um valor de :data:`sys.int_info.default_max_str_digits` foi usado " "durante a inicialização." -#: ../../library/stdtypes.rst:5574 +#: ../../library/stdtypes.rst:5598 msgid "" -"From code, you can inspect the current limit and set a new one using these :" -"mod:`sys` APIs:" +"From code, you can inspect the current limit and set a new one using " +"these :mod:`sys` APIs:" msgstr "" "A partir do código, você pode inspecionar o limite atual e definir um novo " "usando estas APIs :mod:`sys`:" -#: ../../library/stdtypes.rst:5577 +#: ../../library/stdtypes.rst:5601 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 " @@ -8026,15 +8062,15 @@ msgstr "" "um getter e um setter para o limite de todo o interpretador. Os " "subinterpretadores têm seu próprio limite." -#: ../../library/stdtypes.rst:5581 +#: ../../library/stdtypes.rst:5605 msgid "" -"Information about the default and minimum can be found in :attr:`sys." -"int_info`:" +"Information about the default and minimum can be found " +"in :data:`sys.int_info`:" msgstr "" -"Informações sobre o padrão e o mínimo podem ser encontradas em :attr:`sys." -"int_info`:" +"Informações sobre o padrão e o mínimo podem ser encontradas " +"em :data:`sys.int_info`:" -#: ../../library/stdtypes.rst:5583 +#: ../../library/stdtypes.rst:5607 msgid "" ":data:`sys.int_info.default_max_str_digits ` is the compiled-" "in default limit." @@ -8042,7 +8078,7 @@ msgstr "" ":data:`sys.int_info.default_max_str_digits ` é o limite padrão " "compilado." -#: ../../library/stdtypes.rst:5585 +#: ../../library/stdtypes.rst:5609 msgid "" ":data:`sys.int_info.str_digits_check_threshold ` is the lowest " "accepted value for the limit (other than 0 which disables it)." @@ -8050,7 +8086,7 @@ msgstr "" ":data:`sys.int_info.str_digits_check_threshold ` é o menor " "valor aceito para o limite (diferente de 0 que o desabilita)." -#: ../../library/stdtypes.rst:5592 +#: ../../library/stdtypes.rst:5616 msgid "" "Setting a low limit *can* lead to problems. While rare, code exists that " "contains integer constants in decimal in their source that exceed the " @@ -8071,7 +8107,7 @@ msgstr "" "para source que contém tais constantes grandes é convertê-las para a forma " "hexadecimal ``0x``, pois não há limite." -#: ../../library/stdtypes.rst:5601 +#: ../../library/stdtypes.rst:5625 msgid "" "Test your application thoroughly if you use a low limit. Ensure your tests " "run with the limit set early via the environment or flag so that it applies " @@ -8084,36 +8120,31 @@ msgstr "" "inicialização e até mesmo durante qualquer etapa de instalação que possa " "invocar o Python para pré-compilar fontes ``.py`` para arquivos ``.pyc``." -#: ../../library/stdtypes.rst:5607 +#: ../../library/stdtypes.rst:5631 msgid "Recommended configuration" msgstr "Configuração recomendada" -#: ../../library/stdtypes.rst:5609 +#: ../../library/stdtypes.rst:5633 msgid "" "The default :data:`sys.int_info.default_max_str_digits` is expected to be " "reasonable for most applications. If your application requires a different " "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.11." msgstr "" -"Espera-se que o padrão :data:`sys.int_info.default_max_str_digits` seja " -"razoável para a maioria das aplicações. Se sua aplicação exigir um limite " -"diferente, defina-o em seu ponto de entrada principal usando código " -"agnóstico de versão Python, pois essas APIs foram adicionadas em lançamentos " -"de patch de segurança em versões anteriores a 3.11." -#: ../../library/stdtypes.rst:5614 +#: ../../library/stdtypes.rst:5638 msgid "Example::" msgstr "Exemplo::" -#: ../../library/stdtypes.rst:5626 +#: ../../library/stdtypes.rst:5650 msgid "If you need to disable it entirely, set it to ``0``." msgstr "Se você precisar desativá-lo totalmente, defina-o como ``0``." -#: ../../library/stdtypes.rst:5630 +#: ../../library/stdtypes.rst:5654 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/stdtypes.rst:5631 +#: ../../library/stdtypes.rst:5655 msgid "" "Additional information on these special methods may be found in the Python " "Reference Manual (:ref:`customization`)." @@ -8122,7 +8153,7 @@ msgstr "" "no Manual de Referência do Python (:ref:`Customização básica " "`)." -#: ../../library/stdtypes.rst:5634 +#: ../../library/stdtypes.rst:5658 msgid "" "As a consequence, the list ``[1, 2]`` is considered equal to ``[1.0, 2.0]``, " "and similarly for tuples." @@ -8130,13 +8161,13 @@ msgstr "" "Como uma consequência, a lista ``[1, 2]`` é considerada igual a ``[1.0, " "2.0]``, e similarmente para tuplas." -#: ../../library/stdtypes.rst:5637 +#: ../../library/stdtypes.rst:5661 msgid "They must have since the parser can't tell the type of the operands." msgstr "" "Eles precisam ter, já que o analisador sintático não consegue dizer o tipo " "dos operandos." -#: ../../library/stdtypes.rst:5639 +#: ../../library/stdtypes.rst:5663 msgid "" "Cased characters are those with general category property being one of " "\"Lu\" (Letter, uppercase), \"Ll\" (Letter, lowercase), or \"Lt\" (Letter, " @@ -8146,7 +8177,7 @@ msgstr "" "de categoria geral igual a \"Lu\" (Letra, maiúscula), \"Ll\" (Letra, " "minúscula), ou \"Lt\" (Letra, em formato de título)." -#: ../../library/stdtypes.rst:5642 +#: ../../library/stdtypes.rst:5666 msgid "" "To format only a tuple you should therefore provide a singleton tuple whose " "only element is the tuple to be formatted." @@ -8158,16 +8189,16 @@ msgstr "" msgid "built-in" msgstr "embutido" -#: ../../library/stdtypes.rst:13 ../../library/stdtypes.rst:315 -#: ../../library/stdtypes.rst:390 ../../library/stdtypes.rst:907 -#: ../../library/stdtypes.rst:1074 ../../library/stdtypes.rst:1096 -#: ../../library/stdtypes.rst:1111 ../../library/stdtypes.rst:4369 -#: ../../library/stdtypes.rst:5326 +#: ../../library/stdtypes.rst:13 ../../library/stdtypes.rst:316 +#: ../../library/stdtypes.rst:393 ../../library/stdtypes.rst:910 +#: ../../library/stdtypes.rst:1077 ../../library/stdtypes.rst:1099 +#: ../../library/stdtypes.rst:1114 ../../library/stdtypes.rst:4373 +#: ../../library/stdtypes.rst:5349 msgid "types" msgstr "types" -#: ../../library/stdtypes.rst:34 ../../library/stdtypes.rst:1111 -#: ../../library/stdtypes.rst:4369 +#: ../../library/stdtypes.rst:34 ../../library/stdtypes.rst:1114 +#: ../../library/stdtypes.rst:4373 msgid "statement" msgstr "instrução" @@ -8185,15 +8216,15 @@ msgstr "verdade" #: ../../library/stdtypes.rst:34 msgid "value" -msgstr "value" +msgstr "valor" -#: ../../library/stdtypes.rst:34 ../../library/stdtypes.rst:80 -#: ../../library/stdtypes.rst:207 ../../library/stdtypes.rst:5390 +#: ../../library/stdtypes.rst:34 ../../library/stdtypes.rst:81 +#: ../../library/stdtypes.rst:208 ../../library/stdtypes.rst:5413 msgid "Boolean" msgstr "Booleano" -#: ../../library/stdtypes.rst:34 ../../library/stdtypes.rst:80 -#: ../../library/stdtypes.rst:390 +#: ../../library/stdtypes.rst:34 ../../library/stdtypes.rst:81 +#: ../../library/stdtypes.rst:393 msgid "operations" msgstr "operações" @@ -8205,698 +8236,698 @@ msgstr "false" msgid "true" msgstr "true" -#: ../../library/stdtypes.rst:51 +#: ../../library/stdtypes.rst:52 msgid "None (Built-in object)" msgstr "None (Objeto embutido)" -#: ../../library/stdtypes.rst:51 +#: ../../library/stdtypes.rst:52 msgid "False (Built-in object)" msgstr "False (objeto embutido)" -#: ../../library/stdtypes.rst:63 ../../library/stdtypes.rst:97 -#: ../../library/stdtypes.rst:122 ../../library/stdtypes.rst:194 -#: ../../library/stdtypes.rst:245 ../../library/stdtypes.rst:390 -#: ../../library/stdtypes.rst:907 +#: ../../library/stdtypes.rst:64 ../../library/stdtypes.rst:98 +#: ../../library/stdtypes.rst:123 ../../library/stdtypes.rst:195 +#: ../../library/stdtypes.rst:246 ../../library/stdtypes.rst:393 +#: ../../library/stdtypes.rst:910 msgid "operator" -msgstr "operator" +msgstr "operador" -#: ../../library/stdtypes.rst:63 ../../library/stdtypes.rst:97 +#: ../../library/stdtypes.rst:64 ../../library/stdtypes.rst:98 msgid "or" msgstr "or" -#: ../../library/stdtypes.rst:63 ../../library/stdtypes.rst:97 +#: ../../library/stdtypes.rst:64 ../../library/stdtypes.rst:98 msgid "and" msgstr "and" -#: ../../library/stdtypes.rst:63 ../../library/stdtypes.rst:5390 +#: ../../library/stdtypes.rst:64 ../../library/stdtypes.rst:5413 msgid "False" msgstr "False" -#: ../../library/stdtypes.rst:63 ../../library/stdtypes.rst:5390 +#: ../../library/stdtypes.rst:64 ../../library/stdtypes.rst:5413 msgid "True" msgstr "True" -#: ../../library/stdtypes.rst:97 +#: ../../library/stdtypes.rst:98 msgid "not" msgstr "not" -#: ../../library/stdtypes.rst:122 +#: ../../library/stdtypes.rst:123 msgid "chaining" -msgstr "" +msgstr "encadeamento" -#: ../../library/stdtypes.rst:122 +#: ../../library/stdtypes.rst:123 msgid "comparisons" -msgstr "" +msgstr "comparações" -#: ../../library/stdtypes.rst:122 +#: ../../library/stdtypes.rst:123 msgid "comparison" -msgstr "" +msgstr "comparação" -#: ../../library/stdtypes.rst:122 +#: ../../library/stdtypes.rst:123 msgid "==" -msgstr "" +msgstr "==" -#: ../../library/stdtypes.rst:122 +#: ../../library/stdtypes.rst:123 msgid "< (less)" -msgstr "" +msgstr "< (menor que)" -#: ../../library/stdtypes.rst:122 +#: ../../library/stdtypes.rst:123 msgid "<=" -msgstr "" +msgstr "<=" -#: ../../library/stdtypes.rst:122 +#: ../../library/stdtypes.rst:123 msgid "> (greater)" -msgstr "" +msgstr "> (maior)" -#: ../../library/stdtypes.rst:122 +#: ../../library/stdtypes.rst:123 msgid ">=" -msgstr "" +msgstr ">=" -#: ../../library/stdtypes.rst:122 +#: ../../library/stdtypes.rst:123 msgid "!=" -msgstr "" +msgstr "!=" -#: ../../library/stdtypes.rst:122 +#: ../../library/stdtypes.rst:123 msgid "is" -msgstr "" +msgstr "is" -#: ../../library/stdtypes.rst:122 +#: ../../library/stdtypes.rst:123 msgid "is not" -msgstr "" - -#: ../../library/stdtypes.rst:162 ../../library/stdtypes.rst:207 -#: ../../library/stdtypes.rst:891 ../../library/stdtypes.rst:1074 -#: ../../library/stdtypes.rst:1096 ../../library/stdtypes.rst:1216 -#: ../../library/stdtypes.rst:1295 ../../library/stdtypes.rst:1339 -#: ../../library/stdtypes.rst:1461 ../../library/stdtypes.rst:1497 -#: ../../library/stdtypes.rst:2466 ../../library/stdtypes.rst:2485 -#: ../../library/stdtypes.rst:2592 ../../library/stdtypes.rst:4168 -#: ../../library/stdtypes.rst:4369 ../../library/stdtypes.rst:4838 -#: ../../library/stdtypes.rst:5093 ../../library/stdtypes.rst:5251 -#: ../../library/stdtypes.rst:5290 +msgstr "is not" + +#: ../../library/stdtypes.rst:163 ../../library/stdtypes.rst:208 +#: ../../library/stdtypes.rst:894 ../../library/stdtypes.rst:1077 +#: ../../library/stdtypes.rst:1099 ../../library/stdtypes.rst:1219 +#: ../../library/stdtypes.rst:1298 ../../library/stdtypes.rst:1342 +#: ../../library/stdtypes.rst:1463 ../../library/stdtypes.rst:1499 +#: ../../library/stdtypes.rst:2468 ../../library/stdtypes.rst:2487 +#: ../../library/stdtypes.rst:2594 ../../library/stdtypes.rst:4171 +#: ../../library/stdtypes.rst:4373 ../../library/stdtypes.rst:4844 +#: ../../library/stdtypes.rst:5099 ../../library/stdtypes.rst:5269 +#: ../../library/stdtypes.rst:5313 msgid "object" msgstr "objeto" -#: ../../library/stdtypes.rst:162 ../../library/stdtypes.rst:207 -#: ../../library/stdtypes.rst:228 ../../library/stdtypes.rst:315 -#: ../../library/stdtypes.rst:332 +#: ../../library/stdtypes.rst:163 ../../library/stdtypes.rst:208 +#: ../../library/stdtypes.rst:229 ../../library/stdtypes.rst:316 +#: ../../library/stdtypes.rst:335 msgid "numeric" -msgstr "" +msgstr "numérico" -#: ../../library/stdtypes.rst:162 +#: ../../library/stdtypes.rst:163 msgid "objects" -msgstr "" +msgstr "objetos" -#: ../../library/stdtypes.rst:162 +#: ../../library/stdtypes.rst:163 msgid "comparing" -msgstr "" +msgstr "comparando" -#: ../../library/stdtypes.rst:172 +#: ../../library/stdtypes.rst:173 msgid "__eq__() (instance method)" -msgstr "" +msgstr "__eq__() (método de instância)" -#: ../../library/stdtypes.rst:172 +#: ../../library/stdtypes.rst:173 msgid "__ne__() (instance method)" -msgstr "" +msgstr "__ne__() (método de instância)" -#: ../../library/stdtypes.rst:172 +#: ../../library/stdtypes.rst:173 msgid "__lt__() (instance method)" -msgstr "" +msgstr "__lt__() (método de instância)" -#: ../../library/stdtypes.rst:172 +#: ../../library/stdtypes.rst:173 msgid "__le__() (instance method)" -msgstr "" +msgstr "__le__() (método de instância)" -#: ../../library/stdtypes.rst:172 +#: ../../library/stdtypes.rst:173 msgid "__gt__() (instance method)" -msgstr "" +msgstr "__gt__() (método de instância)" -#: ../../library/stdtypes.rst:172 +#: ../../library/stdtypes.rst:173 msgid "__ge__() (instance method)" -msgstr "" +msgstr "__ge__() (método de instância)" -#: ../../library/stdtypes.rst:194 ../../library/stdtypes.rst:907 +#: ../../library/stdtypes.rst:195 ../../library/stdtypes.rst:910 msgid "in" -msgstr "" +msgstr "in" -#: ../../library/stdtypes.rst:194 ../../library/stdtypes.rst:907 +#: ../../library/stdtypes.rst:195 ../../library/stdtypes.rst:910 msgid "not in" -msgstr "" +msgstr "not in" -#: ../../library/stdtypes.rst:207 ../../library/stdtypes.rst:228 -#: ../../library/stdtypes.rst:390 +#: ../../library/stdtypes.rst:208 ../../library/stdtypes.rst:229 +#: ../../library/stdtypes.rst:393 msgid "integer" msgstr "inteiro" -#: ../../library/stdtypes.rst:207 ../../library/stdtypes.rst:228 +#: ../../library/stdtypes.rst:208 ../../library/stdtypes.rst:229 msgid "floating point" -msgstr "" +msgstr "ponto flutuante" -#: ../../library/stdtypes.rst:207 ../../library/stdtypes.rst:228 +#: ../../library/stdtypes.rst:208 ../../library/stdtypes.rst:229 msgid "complex number" msgstr "número complexo" -#: ../../library/stdtypes.rst:207 +#: ../../library/stdtypes.rst:208 msgid "C" msgstr "C" -#: ../../library/stdtypes.rst:207 +#: ../../library/stdtypes.rst:208 msgid "language" -msgstr "" +msgstr "linguagem" -#: ../../library/stdtypes.rst:228 +#: ../../library/stdtypes.rst:229 msgid "literals" -msgstr "" +msgstr "literais" -#: ../../library/stdtypes.rst:228 +#: ../../library/stdtypes.rst:229 msgid "hexadecimal" -msgstr "" +msgstr "hexadecimal" -#: ../../library/stdtypes.rst:228 +#: ../../library/stdtypes.rst:229 msgid "octal" -msgstr "" +msgstr "octal" -#: ../../library/stdtypes.rst:228 +#: ../../library/stdtypes.rst:229 msgid "binary" -msgstr "" +msgstr "binário" -#: ../../library/stdtypes.rst:245 +#: ../../library/stdtypes.rst:246 msgid "arithmetic" -msgstr "" +msgstr "aritmética" -#: ../../library/stdtypes.rst:245 ../../library/stdtypes.rst:907 -#: ../../library/stdtypes.rst:1074 ../../library/stdtypes.rst:4369 -#: ../../library/stdtypes.rst:5297 ../../library/stdtypes.rst:5311 -#: ../../library/stdtypes.rst:5326 +#: ../../library/stdtypes.rst:246 ../../library/stdtypes.rst:910 +#: ../../library/stdtypes.rst:1077 ../../library/stdtypes.rst:4373 +#: ../../library/stdtypes.rst:5320 ../../library/stdtypes.rst:5334 +#: ../../library/stdtypes.rst:5349 msgid "built-in function" msgstr "função embutida" -#: ../../library/stdtypes.rst:245 +#: ../../library/stdtypes.rst:246 msgid "int" msgstr "int" -#: ../../library/stdtypes.rst:245 +#: ../../library/stdtypes.rst:246 msgid "float" msgstr "ponto flutuante" -#: ../../library/stdtypes.rst:245 +#: ../../library/stdtypes.rst:246 msgid "complex" -msgstr "" +msgstr "complexo" -#: ../../library/stdtypes.rst:245 ../../library/stdtypes.rst:2342 -#: ../../library/stdtypes.rst:3560 +#: ../../library/stdtypes.rst:246 ../../library/stdtypes.rst:2344 +#: ../../library/stdtypes.rst:3562 msgid "+ (plus)" -msgstr "" +msgstr "+ (mais)" -#: ../../library/stdtypes.rst:245 +#: ../../library/stdtypes.rst:246 msgid "unary operator" -msgstr "" +msgstr "operador unário" -#: ../../library/stdtypes.rst:245 +#: ../../library/stdtypes.rst:246 msgid "binary operator" -msgstr "" +msgstr "operador binário" -#: ../../library/stdtypes.rst:245 ../../library/stdtypes.rst:2342 -#: ../../library/stdtypes.rst:3560 +#: ../../library/stdtypes.rst:246 ../../library/stdtypes.rst:2344 +#: ../../library/stdtypes.rst:3562 msgid "- (minus)" -msgstr "" +msgstr "- (menos)" -#: ../../library/stdtypes.rst:245 ../../library/stdtypes.rst:2299 -#: ../../library/stdtypes.rst:3517 +#: ../../library/stdtypes.rst:246 ../../library/stdtypes.rst:2301 +#: ../../library/stdtypes.rst:3519 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisco)" -#: ../../library/stdtypes.rst:245 +#: ../../library/stdtypes.rst:246 msgid "/ (slash)" -msgstr "" +msgstr "/ (barra)" -#: ../../library/stdtypes.rst:245 +#: ../../library/stdtypes.rst:246 msgid "//" -msgstr "" +msgstr "//" -#: ../../library/stdtypes.rst:245 ../../library/stdtypes.rst:2269 -#: ../../library/stdtypes.rst:3485 +#: ../../library/stdtypes.rst:246 ../../library/stdtypes.rst:2271 +#: ../../library/stdtypes.rst:3487 msgid "% (percent)" -msgstr "" +msgstr "% (porcentagem)" -#: ../../library/stdtypes.rst:245 +#: ../../library/stdtypes.rst:246 msgid "**" -msgstr "" +msgstr "**" -#: ../../library/stdtypes.rst:315 ../../library/stdtypes.rst:390 -#: ../../library/stdtypes.rst:907 ../../library/stdtypes.rst:1111 -#: ../../library/stdtypes.rst:4369 +#: ../../library/stdtypes.rst:316 ../../library/stdtypes.rst:393 +#: ../../library/stdtypes.rst:910 ../../library/stdtypes.rst:1114 +#: ../../library/stdtypes.rst:4373 msgid "operations on" -msgstr "" +msgstr "operações em" -#: ../../library/stdtypes.rst:315 +#: ../../library/stdtypes.rst:316 msgid "conjugate() (complex number method)" -msgstr "" +msgstr "conjugate() (método de número complexo)" -#: ../../library/stdtypes.rst:332 ../../library/stdtypes.rst:1563 -#: ../../library/stdtypes.rst:2466 ../../library/stdtypes.rst:5326 +#: ../../library/stdtypes.rst:335 ../../library/stdtypes.rst:1565 +#: ../../library/stdtypes.rst:2468 ../../library/stdtypes.rst:5349 msgid "module" msgstr "módulo" -#: ../../library/stdtypes.rst:332 +#: ../../library/stdtypes.rst:335 msgid "math" msgstr "math" -#: ../../library/stdtypes.rst:332 +#: ../../library/stdtypes.rst:335 msgid "floor() (in module math)" -msgstr "" +msgstr "floor() (no módulo math)" -#: ../../library/stdtypes.rst:332 +#: ../../library/stdtypes.rst:335 msgid "ceil() (in module math)" -msgstr "" +msgstr "ceil() (no módulo math)" -#: ../../library/stdtypes.rst:332 +#: ../../library/stdtypes.rst:335 msgid "trunc() (in module math)" -msgstr "" +msgstr "trunc() (no módulo math)" -#: ../../library/stdtypes.rst:332 +#: ../../library/stdtypes.rst:335 msgid "conversions" -msgstr "" +msgstr "conversões" -#: ../../library/stdtypes.rst:390 +#: ../../library/stdtypes.rst:393 msgid "bitwise" -msgstr "" +msgstr "bit a bit" -#: ../../library/stdtypes.rst:390 +#: ../../library/stdtypes.rst:393 msgid "shifting" -msgstr "" +msgstr "deslocamento" -#: ../../library/stdtypes.rst:390 +#: ../../library/stdtypes.rst:393 msgid "masking" -msgstr "" +msgstr "mascaramento" -#: ../../library/stdtypes.rst:390 +#: ../../library/stdtypes.rst:393 msgid "| (vertical bar)" -msgstr "" +msgstr "| (barra vertical)" -#: ../../library/stdtypes.rst:390 +#: ../../library/stdtypes.rst:393 msgid "^ (caret)" -msgstr "" +msgstr "^ (circunflexo)" -#: ../../library/stdtypes.rst:390 +#: ../../library/stdtypes.rst:393 msgid "& (ampersand)" -msgstr "" +msgstr "& (e comercial)" -#: ../../library/stdtypes.rst:390 +#: ../../library/stdtypes.rst:393 msgid "<<" -msgstr "" +msgstr "<<" -#: ../../library/stdtypes.rst:390 +#: ../../library/stdtypes.rst:393 msgid ">>" -msgstr "" +msgstr ">>" -#: ../../library/stdtypes.rst:390 +#: ../../library/stdtypes.rst:393 msgid "~ (tilde)" -msgstr "" +msgstr "~ (til)" -#: ../../library/stdtypes.rst:804 +#: ../../library/stdtypes.rst:807 msgid "iterator protocol" -msgstr "" +msgstr "protocolo iterador" -#: ../../library/stdtypes.rst:804 ../../library/stdtypes.rst:4753 +#: ../../library/stdtypes.rst:807 ../../library/stdtypes.rst:4759 msgid "protocol" -msgstr "" +msgstr "protocolo" -#: ../../library/stdtypes.rst:804 +#: ../../library/stdtypes.rst:807 msgid "iterator" msgstr "iterador" -#: ../../library/stdtypes.rst:804 ../../library/stdtypes.rst:891 -#: ../../library/stdtypes.rst:907 ../../library/stdtypes.rst:1074 -#: ../../library/stdtypes.rst:1096 ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:807 ../../library/stdtypes.rst:894 +#: ../../library/stdtypes.rst:910 ../../library/stdtypes.rst:1077 +#: ../../library/stdtypes.rst:1099 ../../library/stdtypes.rst:1114 msgid "sequence" msgstr "sequência" -#: ../../library/stdtypes.rst:804 +#: ../../library/stdtypes.rst:807 msgid "iteration" -msgstr "" +msgstr "iteração" -#: ../../library/stdtypes.rst:804 +#: ../../library/stdtypes.rst:807 msgid "container" -msgstr "" +msgstr "contêiner" -#: ../../library/stdtypes.rst:804 +#: ../../library/stdtypes.rst:807 msgid "iteration over" -msgstr "" +msgstr "iteração por" -#: ../../library/stdtypes.rst:907 ../../library/stdtypes.rst:4369 +#: ../../library/stdtypes.rst:910 ../../library/stdtypes.rst:4373 msgid "len" -msgstr "" +msgstr "len" -#: ../../library/stdtypes.rst:907 +#: ../../library/stdtypes.rst:910 msgid "min" -msgstr "" +msgstr "min" -#: ../../library/stdtypes.rst:907 +#: ../../library/stdtypes.rst:910 msgid "max" -msgstr "" +msgstr "max" -#: ../../library/stdtypes.rst:907 +#: ../../library/stdtypes.rst:910 msgid "concatenation" -msgstr "" +msgstr "concatenação" -#: ../../library/stdtypes.rst:907 +#: ../../library/stdtypes.rst:910 msgid "operation" -msgstr "" +msgstr "operação" -#: ../../library/stdtypes.rst:907 +#: ../../library/stdtypes.rst:910 msgid "repetition" -msgstr "" +msgstr "repetição" -#: ../../library/stdtypes.rst:907 ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:910 ../../library/stdtypes.rst:1114 msgid "subscript" -msgstr "" +msgstr "subscrito" -#: ../../library/stdtypes.rst:907 ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:910 ../../library/stdtypes.rst:1114 msgid "slice" msgstr "fatia" -#: ../../library/stdtypes.rst:907 +#: ../../library/stdtypes.rst:910 msgid "count() (sequence method)" -msgstr "" +msgstr "count() (método de sequência)" -#: ../../library/stdtypes.rst:907 +#: ../../library/stdtypes.rst:910 msgid "index() (sequence method)" -msgstr "" +msgstr "index() (método de sequência)" -#: ../../library/stdtypes.rst:963 +#: ../../library/stdtypes.rst:966 msgid "loop" -msgstr "" +msgstr "laço" -#: ../../library/stdtypes.rst:963 +#: ../../library/stdtypes.rst:966 msgid "over mutable sequence" -msgstr "" +msgstr "sobre sequência mutável" -#: ../../library/stdtypes.rst:963 +#: ../../library/stdtypes.rst:966 msgid "mutable sequence" -msgstr "" +msgstr "sequência mutável" -#: ../../library/stdtypes.rst:963 +#: ../../library/stdtypes.rst:966 msgid "loop over" -msgstr "" +msgstr "laço sobre" -#: ../../library/stdtypes.rst:1074 +#: ../../library/stdtypes.rst:1077 msgid "immutable" msgstr "imutável" -#: ../../library/stdtypes.rst:1074 ../../library/stdtypes.rst:1295 +#: ../../library/stdtypes.rst:1077 ../../library/stdtypes.rst:1298 msgid "tuple" msgstr "tupla" -#: ../../library/stdtypes.rst:1074 +#: ../../library/stdtypes.rst:1077 msgid "hash" -msgstr "" +msgstr "hash" -#: ../../library/stdtypes.rst:1096 +#: ../../library/stdtypes.rst:1099 msgid "mutable" msgstr "mutável" -#: ../../library/stdtypes.rst:1096 ../../library/stdtypes.rst:1111 -#: ../../library/stdtypes.rst:1216 +#: ../../library/stdtypes.rst:1099 ../../library/stdtypes.rst:1114 +#: ../../library/stdtypes.rst:1219 msgid "list" msgstr "lista" -#: ../../library/stdtypes.rst:1096 ../../library/stdtypes.rst:2466 -#: ../../library/stdtypes.rst:2592 ../../library/stdtypes.rst:2664 -#: ../../library/stdtypes.rst:3485 +#: ../../library/stdtypes.rst:1099 ../../library/stdtypes.rst:2468 +#: ../../library/stdtypes.rst:2594 ../../library/stdtypes.rst:2666 +#: ../../library/stdtypes.rst:3487 msgid "bytearray" -msgstr "" +msgstr "bytearray" -#: ../../library/stdtypes.rst:1111 ../../library/stdtypes.rst:4369 -#: ../../library/stdtypes.rst:5093 ../../library/stdtypes.rst:5326 +#: ../../library/stdtypes.rst:1114 ../../library/stdtypes.rst:4373 +#: ../../library/stdtypes.rst:5099 ../../library/stdtypes.rst:5349 msgid "type" msgstr "tipo" -#: ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:1114 msgid "assignment" -msgstr "" +msgstr "atribuição" -#: ../../library/stdtypes.rst:1111 ../../library/stdtypes.rst:4369 +#: ../../library/stdtypes.rst:1114 ../../library/stdtypes.rst:4373 msgid "del" -msgstr "" +msgstr "del" -#: ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:1114 msgid "append() (sequence method)" -msgstr "" +msgstr "append() (método de sequência)" -#: ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:1114 msgid "clear() (sequence method)" -msgstr "" +msgstr "clear() (método de sequência)" -#: ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:1114 msgid "copy() (sequence method)" -msgstr "" +msgstr "copy() (método de sequência)" -#: ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:1114 msgid "extend() (sequence method)" -msgstr "" +msgstr "extend() (método de sequência)" -#: ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:1114 msgid "insert() (sequence method)" -msgstr "" +msgstr "insert() (método de sequência)" -#: ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:1114 msgid "pop() (sequence method)" -msgstr "" +msgstr "pop() (método de sequência)" -#: ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:1114 msgid "remove() (sequence method)" -msgstr "" +msgstr "remove() (método de sequência)" -#: ../../library/stdtypes.rst:1111 +#: ../../library/stdtypes.rst:1114 msgid "reverse() (sequence method)" -msgstr "" +msgstr "reverse() (método de sequência)" -#: ../../library/stdtypes.rst:1339 +#: ../../library/stdtypes.rst:1342 msgid "range" -msgstr "" +msgstr "range" -#: ../../library/stdtypes.rst:1461 ../../library/stdtypes.rst:1510 -#: ../../library/stdtypes.rst:1555 ../../library/stdtypes.rst:2269 +#: ../../library/stdtypes.rst:1463 ../../library/stdtypes.rst:1512 +#: ../../library/stdtypes.rst:1557 ../../library/stdtypes.rst:2271 msgid "string" msgstr "string" -#: ../../library/stdtypes.rst:1461 +#: ../../library/stdtypes.rst:1463 msgid "text sequence type" -msgstr "" +msgstr "tipo sequência de texto" -#: ../../library/stdtypes.rst:1461 ../../library/stdtypes.rst:1510 -#: ../../library/stdtypes.rst:1528 +#: ../../library/stdtypes.rst:1463 ../../library/stdtypes.rst:1512 +#: ../../library/stdtypes.rst:1530 msgid "str (built-in class)" -msgstr "" +msgstr "str (classe embutida)" -#: ../../library/stdtypes.rst:1461 +#: ../../library/stdtypes.rst:1463 msgid "(see also string)" -msgstr "" +msgstr "(veja também string)" -#: ../../library/stdtypes.rst:1497 +#: ../../library/stdtypes.rst:1499 msgid "io.StringIO" -msgstr "" +msgstr "io.StringIO" -#: ../../library/stdtypes.rst:1528 ../../library/stdtypes.rst:2458 +#: ../../library/stdtypes.rst:1530 ../../library/stdtypes.rst:2460 msgid "buffer protocol" -msgstr "" +msgstr "protocolo de buffer" -#: ../../library/stdtypes.rst:1528 ../../library/stdtypes.rst:2466 -#: ../../library/stdtypes.rst:2485 ../../library/stdtypes.rst:2664 -#: ../../library/stdtypes.rst:3485 +#: ../../library/stdtypes.rst:1530 ../../library/stdtypes.rst:2468 +#: ../../library/stdtypes.rst:2487 ../../library/stdtypes.rst:2666 +#: ../../library/stdtypes.rst:3487 msgid "bytes" -msgstr "" +msgstr "bytes" -#: ../../library/stdtypes.rst:1555 ../../library/stdtypes.rst:2664 +#: ../../library/stdtypes.rst:1557 ../../library/stdtypes.rst:2666 msgid "methods" -msgstr "" +msgstr "métodos" -#: ../../library/stdtypes.rst:1563 +#: ../../library/stdtypes.rst:1565 msgid "re" msgstr "re" -#: ../../library/stdtypes.rst:2078 ../../library/stdtypes.rst:3339 +#: ../../library/stdtypes.rst:2080 ../../library/stdtypes.rst:3341 msgid "universal newlines" msgstr "novas linhas universais" -#: ../../library/stdtypes.rst:2078 +#: ../../library/stdtypes.rst:2080 msgid "str.splitlines method" -msgstr "" +msgstr "método str.splitlines" -#: ../../library/stdtypes.rst:2269 +#: ../../library/stdtypes.rst:2271 msgid "formatting, string (%)" -msgstr "" +msgstr "formatação, string (%)" -#: ../../library/stdtypes.rst:2269 +#: ../../library/stdtypes.rst:2271 msgid "interpolation, string (%)" -msgstr "" +msgstr "interpolação, string (%)" -#: ../../library/stdtypes.rst:2269 +#: ../../library/stdtypes.rst:2271 msgid "formatting, printf" -msgstr "" +msgstr "formatação, printf" -#: ../../library/stdtypes.rst:2269 +#: ../../library/stdtypes.rst:2271 msgid "interpolation, printf" -msgstr "" +msgstr "interpolação, printf" -#: ../../library/stdtypes.rst:2269 ../../library/stdtypes.rst:3485 +#: ../../library/stdtypes.rst:2271 ../../library/stdtypes.rst:3487 msgid "printf-style formatting" -msgstr "" +msgstr "printf, estilo de formatação" -#: ../../library/stdtypes.rst:2269 ../../library/stdtypes.rst:3485 +#: ../../library/stdtypes.rst:2271 ../../library/stdtypes.rst:3487 msgid "sprintf-style formatting" -msgstr "" +msgstr "sprintf, estilo de formatação" -#: ../../library/stdtypes.rst:2299 ../../library/stdtypes.rst:3517 +#: ../../library/stdtypes.rst:2301 ../../library/stdtypes.rst:3519 msgid "() (parentheses)" -msgstr "" +msgstr "() (parênteses)" -#: ../../library/stdtypes.rst:2299 ../../library/stdtypes.rst:2342 -#: ../../library/stdtypes.rst:3517 ../../library/stdtypes.rst:3560 +#: ../../library/stdtypes.rst:2301 ../../library/stdtypes.rst:2344 +#: ../../library/stdtypes.rst:3519 ../../library/stdtypes.rst:3562 msgid "in printf-style formatting" -msgstr "" +msgstr "em formatação no estilo printf" -#: ../../library/stdtypes.rst:2299 ../../library/stdtypes.rst:3517 +#: ../../library/stdtypes.rst:2301 ../../library/stdtypes.rst:3519 msgid ". (dot)" -msgstr "" +msgstr ". (ponto)" -#: ../../library/stdtypes.rst:2342 ../../library/stdtypes.rst:3560 +#: ../../library/stdtypes.rst:2344 ../../library/stdtypes.rst:3562 msgid "# (hash)" msgstr "# (cerquilha)" -#: ../../library/stdtypes.rst:2342 ../../library/stdtypes.rst:3560 +#: ../../library/stdtypes.rst:2344 ../../library/stdtypes.rst:3562 msgid "space" msgstr "espaço" -#: ../../library/stdtypes.rst:2458 +#: ../../library/stdtypes.rst:2460 msgid "binary sequence types" -msgstr "" +msgstr "tipos de sequência binária" -#: ../../library/stdtypes.rst:2466 +#: ../../library/stdtypes.rst:2468 msgid "memoryview" -msgstr "" +msgstr "memoryview" -#: ../../library/stdtypes.rst:2466 +#: ../../library/stdtypes.rst:2468 msgid "array" msgstr "array" -#: ../../library/stdtypes.rst:3339 +#: ../../library/stdtypes.rst:3341 msgid "bytes.splitlines method" -msgstr "" +msgstr "método bytes.splitlines" -#: ../../library/stdtypes.rst:3339 +#: ../../library/stdtypes.rst:3341 msgid "bytearray.splitlines method" -msgstr "" +msgstr "método bytearray.splitlines" -#: ../../library/stdtypes.rst:3485 +#: ../../library/stdtypes.rst:3487 msgid "formatting" -msgstr "" +msgstr "formatação" -#: ../../library/stdtypes.rst:3485 +#: ../../library/stdtypes.rst:3487 msgid "bytes (%)" -msgstr "" +msgstr "bytes (%)" -#: ../../library/stdtypes.rst:3485 +#: ../../library/stdtypes.rst:3487 msgid "bytearray (%)" -msgstr "" +msgstr "bytearray (%)" -#: ../../library/stdtypes.rst:3485 +#: ../../library/stdtypes.rst:3487 msgid "interpolation" -msgstr "" +msgstr "interpolação" -#: ../../library/stdtypes.rst:4168 +#: ../../library/stdtypes.rst:4171 msgid "set" -msgstr "" +msgstr "set" -#: ../../library/stdtypes.rst:4369 +#: ../../library/stdtypes.rst:4373 msgid "mapping" msgstr "mapeamento" -#: ../../library/stdtypes.rst:4369 +#: ../../library/stdtypes.rst:4373 msgid "dictionary" msgstr "dicionário" -#: ../../library/stdtypes.rst:4452 +#: ../../library/stdtypes.rst:4456 msgid "__missing__()" -msgstr "" +msgstr "__missing__()" -#: ../../library/stdtypes.rst:4753 +#: ../../library/stdtypes.rst:4759 msgid "context manager" msgstr "gerenciador de contexto" -#: ../../library/stdtypes.rst:4753 +#: ../../library/stdtypes.rst:4759 msgid "context management protocol" -msgstr "" +msgstr "protocolo de gerenciamento de contexto" -#: ../../library/stdtypes.rst:4753 +#: ../../library/stdtypes.rst:4759 msgid "context management" -msgstr "" +msgstr "gerenciamento de contexto" -#: ../../library/stdtypes.rst:4826 +#: ../../library/stdtypes.rst:4832 msgid "annotation" msgstr "anotação" -#: ../../library/stdtypes.rst:4826 +#: ../../library/stdtypes.rst:4832 msgid "type annotation; type hint" -msgstr "" +msgstr "tipo, anotação de; tipo, dica de" -#: ../../library/stdtypes.rst:4838 +#: ../../library/stdtypes.rst:4844 msgid "GenericAlias" -msgstr "" +msgstr "GenericAlias" -#: ../../library/stdtypes.rst:4838 +#: ../../library/stdtypes.rst:4844 msgid "Generic" -msgstr "" +msgstr "Generic" -#: ../../library/stdtypes.rst:4838 +#: ../../library/stdtypes.rst:4844 msgid "Alias" -msgstr "" +msgstr "Alias" -#: ../../library/stdtypes.rst:5093 +#: ../../library/stdtypes.rst:5099 msgid "Union" -msgstr "" +msgstr "União" -#: ../../library/stdtypes.rst:5093 +#: ../../library/stdtypes.rst:5099 msgid "union" -msgstr "" +msgstr "união" -#: ../../library/stdtypes.rst:5251 +#: ../../library/stdtypes.rst:5269 msgid "method" msgstr "método" -#: ../../library/stdtypes.rst:5290 +#: ../../library/stdtypes.rst:5313 msgid "code" -msgstr "" +msgstr "código" -#: ../../library/stdtypes.rst:5290 +#: ../../library/stdtypes.rst:5313 msgid "code object" -msgstr "" +msgstr "objeto código" -#: ../../library/stdtypes.rst:5297 +#: ../../library/stdtypes.rst:5320 msgid "compile" -msgstr "" +msgstr "compile" -#: ../../library/stdtypes.rst:5297 +#: ../../library/stdtypes.rst:5320 msgid "__code__ (function object attribute)" -msgstr "" +msgstr "__code__ (atributo de objeto função)" -#: ../../library/stdtypes.rst:5311 +#: ../../library/stdtypes.rst:5334 msgid "exec" msgstr "exec" -#: ../../library/stdtypes.rst:5311 +#: ../../library/stdtypes.rst:5334 msgid "eval" -msgstr "" +msgstr "eval" -#: ../../library/stdtypes.rst:5350 +#: ../../library/stdtypes.rst:5373 msgid "..." msgstr "..." -#: ../../library/stdtypes.rst:5350 +#: ../../library/stdtypes.rst:5373 msgid "ellipsis literal" -msgstr "reticências literais" +msgstr "literal de reticências" -#: ../../library/stdtypes.rst:5390 +#: ../../library/stdtypes.rst:5413 msgid "values" -msgstr "" +msgstr "valores" diff --git a/library/string.po b/library/string.po index 2f3c0b4ae..c10463b21 100644 --- a/library/string.po +++ b/library/string.po @@ -1,33 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Adson Rodrigues , 2021 -# Marcos Wenneton Araújo , 2021 -# i17obot , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -57,12 +49,13 @@ msgstr "As constantes definidas neste módulo são:" #: ../../library/string.rst:26 msgid "" -"The concatenation of the :const:`ascii_lowercase` and :const:" -"`ascii_uppercase` constants described below. This value is not locale-" -"dependent." +"The concatenation of the :const:`ascii_lowercase` " +"and :const:`ascii_uppercase` constants described below. This value is not " +"locale-dependent." msgstr "" -"A concatenação das constantes :const:`ascii_lowercase` e :const:" -"`ascii_uppercase` descritas abaixo. Este valor não depende da localidade." +"A concatenação das constantes :const:`ascii_lowercase` " +"e :const:`ascii_uppercase` descritas abaixo. Este valor não depende da " +"localidade." #: ../../library/string.rst:32 msgid "" @@ -103,8 +96,9 @@ msgstr "" #: ../../library/string.rst:64 msgid "" "String of ASCII characters which are considered printable. This is a " -"combination of :const:`digits`, :const:`ascii_letters`, :const:" -"`punctuation`, and :const:`whitespace`." +"combination " +"of :const:`digits`, :const:`ascii_letters`, :const:`punctuation`, " +"and :const:`whitespace`." msgstr "" "String de caracteres ASCII que são considerados imprimíveis. Esta é uma " "combinação de :const:`digits`, :const:`ascii_letters`, :const:`punctuation` " @@ -134,11 +128,11 @@ msgid "" "method." msgstr "" "A classe embutida de string fornece a capacidade de fazer substituições de " -"variáveis complexas e formatação de valor por meio do método :meth:`~str." -"format` descrito na :pep:`3101`. A classe :class:`Formatter` no módulo :mod:" -"`string` permite que você crie e personalize seus próprios comportamentos de " -"formatação de strings usando a mesma implementação que o método embutido :" -"meth:`~str.format`." +"variáveis complexas e formatação de valor por meio do " +"método :meth:`~str.format` descrito na :pep:`3101`. A " +"classe :class:`Formatter` no módulo :mod:`string` permite que você crie e " +"personalize seus próprios comportamentos de formatação de strings usando a " +"mesma implementação que o método embutido :meth:`~str.format`." #: ../../library/string.rst:90 msgid "The :class:`Formatter` class has the following public methods:" @@ -147,8 +141,8 @@ msgstr "A classe :class:`Formatter` tem os seguintes métodos públicos:" #: ../../library/string.rst:94 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`." +"positional and keyword arguments. It is just a wrapper that " +"calls :meth:`vformat`." msgstr "" "O método principal da API. Ele aceita uma string de formato e um conjunto " "arbitrário de argumentos posicionais e nomeados. É apenas um invólucro que " @@ -167,17 +161,18 @@ msgid "" "This function does the actual work of formatting. It is exposed as a " "separate function for cases where you want to pass in a predefined " "dictionary of arguments, rather than unpacking and repacking the dictionary " -"as individual arguments using the ``*args`` and ``**kwargs`` syntax. :meth:" -"`vformat` does the work of breaking up the format string into character data " -"and replacement fields. It calls the various methods described below." +"as individual arguments using the ``*args`` and ``**kwargs`` " +"syntax. :meth:`vformat` does the work of breaking up the format string into " +"character data and replacement fields. It calls the various methods " +"described below." msgstr "" "Esta função realiza o trabalho real de formatação. Ela é exposta como uma " -"função separada para casos onde você deseja passar um dicionário predefinido " -"de argumentos, ao invés de desempacotar e empacotar novamente o dicionário " -"como argumentos individuais usando a sintaxe ``*args`` e ``**kwargs``. :meth:" -"`vformat` faz o trabalho de quebrar a string de formato em dados de " -"caracteres e campos de substituição. Ela chama os vários métodos descritos " -"abaixo." +"função separada para casos em que você deseja passar um dicionário " +"predefinido de argumentos, em vez de desempacotar e empacotar novamente o " +"dicionário como argumentos individuais usando a sintaxe ``*args`` e " +"``**kwargs``. :meth:`vformat` faz o trabalho de quebrar a string de formato " +"em dados de caracteres e campos de substituição. Ela chama os vários métodos " +"descritos a seguir." #: ../../library/string.rst:112 msgid "" @@ -196,7 +191,7 @@ msgid "" msgstr "" "Percorre format_string e retorna um iterável de tuplas (*literal_text*, " "*field_name*, *format_spec*, *conversion*). Isso é usado por :meth:`vformat` " -"para quebrar a string em texto literal ou campos de substituição." +"para quebrar a string em texto literal ou em campos de substituição." #: ../../library/string.rst:122 msgid "" @@ -218,17 +213,17 @@ msgstr "" msgid "" "Given *field_name* as returned by :meth:`parse` (see above), convert it to " "an object to be formatted. Returns a tuple (obj, used_key). The default " -"version takes strings of the form defined in :pep:`3101`, such as " -"\"0[name]\" or \"label.title\". *args* and *kwargs* are as passed in to :" -"meth:`vformat`. The return value *used_key* has the same meaning as the " +"version takes strings of the form defined in :pep:`3101`, such as \"0[name]" +"\" or \"label.title\". *args* and *kwargs* are as passed in " +"to :meth:`vformat`. The return value *used_key* has the same meaning as the " "*key* parameter to :meth:`get_value`." msgstr "" "Dado *field_name* conforme retornado por :meth:`parse` (veja acima), " "converte-o em um objeto a ser formatado. Retorna uma tupla (obj, used_key). " "A versão padrão aceita strings no formato definido na :pep:`3101`, como " -"\"0[name]\" ou \"label.title\". *args* e *kwargs* são como passados para :" -"meth:`vformat`. O valor de retorno *used_key* tem o mesmo significado que o " -"parâmetro *key* para :meth:`get_value`." +"\"0[name]\" ou \"label.title\". *args* e *kwargs* são como passados " +"para :meth:`vformat`. O valor de retorno *used_key* tem o mesmo significado " +"que o parâmetro *key* para :meth:`get_value`." #: ../../library/string.rst:140 msgid "" @@ -237,19 +232,18 @@ msgid "" "argument in *args*; if it is a string, then it represents a named argument " "in *kwargs*." msgstr "" -"Obtém um determinado valor de campo. O argumento *key* será um inteiro ou " -"uma string. Se for um inteiro, ele representa o índice do argumento " -"posicional em *args*; se for uma string, então representa um argumento " -"nomeado em *kwargs*." +"Obtém o valor de um campo. O argumento *key* será um inteiro ou uma string. " +"Se for um inteiro, ele representa o índice do argumento posicional em " +"*args*; se for uma string, representa um argumento nomeado em *kwargs*." #: ../../library/string.rst:145 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." +"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 "" -"O parâmetro *args* é definido para a lista de argumentos posicionais para :" -"meth:`vformat`, e o parâmetro *kwargs* é definido para o dicionário de " +"O parâmetro *args* é definido para a lista de argumentos posicionais " +"de :meth:`vformat`, e o parâmetro *kwargs* é definido para o dicionário de " "argumentos nomeados." #: ../../library/string.rst:149 @@ -260,27 +254,27 @@ msgid "" msgstr "" "Para nomes de campos compostos, essas funções são chamadas apenas para o " "primeiro componente do nome do campo; os componentes subsequentes são " -"tratados por meio de operações normais de atributo e indexação." +"tratados por meio de operações normais de atributo e de indexação." #: ../../library/string.rst:153 msgid "" "So for example, the field expression '0.name' would cause :meth:`get_value` " "to be called with a *key* argument of 0. The ``name`` attribute will be " -"looked up after :meth:`get_value` returns by calling the built-in :func:" -"`getattr` function." +"looked up after :meth:`get_value` returns by calling the built-" +"in :func:`getattr` function." msgstr "" -"Então, por exemplo, a expressão de campo '0.name' faria com que :meth:" -"`get_value` fosse chamado com um argumento *key* de 0. O atributo ``name`` " -"será pesquisado após :meth:`get_value` retorna chamando a função embutida :" -"func:`getattr`." +"Então, por exemplo, a expressão de campo '0.name' faria com " +"que :meth:`get_value` fosse chamado com o argumento *key* 0. O atributo " +"``name`` será pesquisado após a função :meth:`get_value` retornar, chamando " +"a função embutida :func:`getattr`." #: ../../library/string.rst:158 msgid "" -"If the index or keyword refers to an item that does not exist, then an :exc:" -"`IndexError` or :exc:`KeyError` should be raised." +"If the index or keyword refers to an item that does not exist, then " +"an :exc:`IndexError` or :exc:`KeyError` should be raised." msgstr "" -"Se o índice ou palavra-chave se referir a um item que não existe, um :exc:" -"`IndexError` ou :exc:`KeyError` deve ser levantada." +"Se o índice ou palavra-chave se referir a um item que não existe, " +"um :exc:`IndexError` ou :exc:`KeyError` deve ser levantado." #: ../../library/string.rst:163 msgid "" @@ -288,16 +282,17 @@ msgid "" "function is the set of all argument keys that were actually referred to in " "the format string (integers for positional arguments, and strings for named " "arguments), and a reference to the *args* and *kwargs* that was passed to " -"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." +"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 "" "Implementa a verificação de argumentos não usados, se desejar. Os argumentos " -"para esta função são o conjunto de todas as chaves de argumento que foram " -"realmente referidas na string de formato (inteiros para argumentos " -"posicionais e strings para argumentos nomeados) e uma referência a *args* e " -"*kwargs* que foi passada para vformat. O conjunto de argumentos não " -"utilizados pode ser calculado a partir desses parâmetros. Presume-se que :" -"meth:`check_unused_args` levata uma exceção se a verificação falhar." +"para esta função são o conjunto de todas as chaves de argumento realmente " +"referidas na string de formato (inteiros para argumentos posicionais e " +"strings para argumentos nomeados), e uma referência a *args* e *kwargs* que " +"foi passada para vformat. O conjunto de argumentos não utilizados pode ser " +"calculado com base nesses parâmetros. Presume-se " +"que :meth:`check_unused_args` levante uma exceção caso a verificação falhe." #: ../../library/string.rst:173 msgid "" @@ -313,9 +308,10 @@ msgid "" "(as in the tuple returned by the :meth:`parse` method). The default version " "understands 's' (str), 'r' (repr) and 'a' (ascii) conversion types." msgstr "" -"Converte o valor (retornado por :meth:`get_field`) dado um tipo de conversão " -"(como na tupla retornada pelo método :meth:`parse`). A versão padrão entende " -"os tipos de conversão \"s\" (str), \"r\" (repr) e \"a\" (ascii)." +"Converte o valor (retornado por :meth:`get_field`) de acordo com um tipo de " +"conversão (como na tupla retornada pelo método :meth:`parse`). A versão " +"padrão entende os tipos de conversão \"s\" (str), \"r\" (repr) e \"a\" " +"(ascii)." #: ../../library/string.rst:187 msgid "Format String Syntax" @@ -346,9 +342,9 @@ msgid "" "``." msgstr "" "As strings de formato contêm \"campos de substituição\" entre chaves ``{}``. " -"Tudo o que não estiver entre chaves é considerado texto literal, que é " -"copiado inalterado para a saída. Se você precisar incluir um caractere de " -"chave no texto literal, ele pode ser escapado duplicando: ``{{`` e ``}}``." +"Tudo o que não estiver entre chaves é considerado texto literal e é copiado " +"inalterado para a saída. Se você precisar incluir um caractere de chave no " +"texto literal, ele pode ser escapado duplicando-o: ``{{`` e ``}}``." #: ../../library/string.rst:207 msgid "The grammar for a replacement field is as follows:" @@ -365,9 +361,9 @@ msgid "" msgstr "" "Em termos menos formais, o campo de substituição pode começar com um " "*field_name* que especifica o objeto cujo valor deve ser formatado e " -"inserido na saída em vez do campo de substituição. O *field_name* é " -"opcionalmente seguido por um campo *conversion*, que é precedido por um " -"ponto de exclamação ``'!'``, e um *format_spec*, que é precedido por dois " +"inserido na saída, em vez do próprio campo de substituição. O *field_name* é " +"opcionalmente seguido de um campo *conversion*, que é precedido por um ponto " +"de exclamação ``'!'``, e de um *format_spec*, que é precedido por dois " "pontos ``':'``. Eles especificam um formato não padrão para o valor de " "substituição." @@ -379,51 +375,54 @@ msgstr "Veja também a seção :ref:`formatspec`." msgid "" "The *field_name* itself begins with an *arg_name* that is either a number or " "a keyword. If it's a number, it refers to a positional argument, and if " -"it's a keyword, it refers to a named keyword argument. If the numerical " -"arg_names in a format string are 0, 1, 2, ... in sequence, they can all be " -"omitted (not just some) and the numbers 0, 1, 2, ... will be automatically " -"inserted in that order. Because *arg_name* is not quote-delimited, it is not " -"possible to specify arbitrary dictionary keys (e.g., the strings ``'10'`` or " -"``':-]'``) within a format string. The *arg_name* can be followed by any " -"number of index or attribute expressions. An expression of the form ``'." -"name'`` selects the named attribute using :func:`getattr`, while an " -"expression of the form ``'[index]'`` does an index lookup using :func:" -"`__getitem__`." -msgstr "" -"O próprio *field_name* começa com um *arg_name* que é um número ou uma " -"palavra-chave. Se for um número, ele se refere a um argumento posicional, e " -"se for uma palavra-chave, ele se refere a um argumento nomeado. Se os " -"arg_names numéricos em uma string de formato forem 0, 1, 2, ... em " -"sequência, eles podem ser todos omitidos (não apenas alguns) e os números 0, " -"1, 2, ... serão inseridos automaticamente nessa ordem . Como *arg_name* não " -"é delimitado por aspas, não é possível especificar chaves de dicionário " -"arbitrárias (por exemplo, as strings ``'10'`` ou ``':-]'``) dentro de uma " -"string de formato. O *arg_name* pode ser seguido por qualquer número de " -"expressões de índice ou atributo. Uma expressão da forma ``'.name'`` " -"seleciona o atributo nomeado usando :func:`getattr`, enquanto uma expressão " -"da forma ``'[index]'`` faz uma pesquisa de índice usando :func:`__getitem__`." - -#: ../../library/string.rst:240 +"it's a keyword, it refers to a named keyword argument. An *arg_name* is " +"treated as a number if a call to :meth:`str.isdecimal` on the string would " +"return true. If the numerical arg_names in a format string are 0, 1, 2, ... " +"in sequence, they can all be omitted (not just some) and the numbers 0, 1, " +"2, ... will be automatically inserted in that order. Because *arg_name* is " +"not quote-delimited, it is not possible to specify arbitrary dictionary keys " +"(e.g., the strings ``'10'`` or ``':-]'``) within a format string. The " +"*arg_name* can be followed by any number of index or attribute expressions. " +"An expression of the form ``'.name'`` selects the named attribute " +"using :func:`getattr`, while an expression of the form ``'[index]'`` does an " +"index lookup using :func:`__getitem__`." +msgstr "" +"O *nome_do_campo* em si começa com um *nome_do_arg* que é ou um número ou " +"uma palavra-chave. Se for um número, se refere a um argumento-posicional, se " +"for uma palavra-chave, se refere a uma palavra-chave nomeada. Um " +"*nome_do_arg* é tratado como um número se uma chamada ao " +"método :meth:`str.isdecimal`na string retornar verdadeiro. se o numeral " +"nomes_dos_args em uma string formatada for 0, 1, 2, ... em sequência, eles " +"podem ser todos omitidos (não só alguns) e os números 0, 1, 2, ... serão " +"automaticamente inseridos nesta ordem. Pois *nome_do_arg* não é delimitado " +"por citações, não é possível especificar chaves arbitrárias de um dicionário " +"(por ex., as strings ``'10'`` ou ``':-]'``) dentro de uma string formatada. " +"O *nome_do_arg* pode ser seguido por qualquer número de índice ou expressões " +"de atributo. Uma expressão da forma ``'.name'`` seleciona o atributo nomeado " +"usando :func:`getattr`, enquanto uma expressão da forma ``'[index]'`` faz " +"uma busca de índices usando :func:`__getitem__`." + +#: ../../library/string.rst:242 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 "" -"Os especificadores de argumento posicional podem ser omitidos para :meth:" -"`str.format`, de forma que ``'{} {}'.format(a, b)`` é equivalente a ``'{0} " -"{1}'.format(a, b)``." +"Os especificadores de argumento posicional podem ser omitidos " +"para :meth:`str.format`, de forma que ``'{} {}'.format(a, b)`` é equivalente " +"a ``'{0} {1}'.format(a, b)``." -#: ../../library/string.rst:244 +#: ../../library/string.rst:246 msgid "" "The positional argument specifiers can be omitted for :class:`Formatter`." msgstr "" -"Os especificadores de argumento posicional podem ser omitidos para :class:" -"`Formatter`." +"Os especificadores de argumento posicional podem ser omitidos " +"para :class:`Formatter`." -#: ../../library/string.rst:247 +#: ../../library/string.rst:249 msgid "Some simple format string examples::" msgstr "Alguns exemplos simples de string de formato::" -#: ../../library/string.rst:256 +#: ../../library/string.rst:258 msgid "" "The *conversion* field causes a type coercion before formatting. Normally, " "the job of formatting a value is done by the :meth:`__format__` method of " @@ -432,28 +431,28 @@ msgid "" "converting the value to a string before calling :meth:`__format__`, the " "normal formatting logic is bypassed." msgstr "" -"O campo *conversion* causa uma coerção de tipo antes da formatação. " -"Normalmente, o trabalho de formatação de um valor é feito pelo método :meth:" -"`__format__` do próprio valor. No entanto, em alguns casos, é desejável " -"forçar um tipo a ser formatado como uma string, substituindo sua própria " -"definição de formatação. Ao converter o valor em uma string antes de chamar :" -"meth:`__format__`, a lógica de formatação normal é contornada." +"O campo de *conversão* causa uma coerção de tipo antes da formatação. " +"Normalmente, o trabalho de formatar um valor é feito pelo " +"método :meth:`__format__` do próprio valor. No entanto, em alguns casos é " +"desejável forçar um tipo a ser formatado como string, sobrepondo sua própria " +"definição de formatação. Ao converter o valor em uma string antes de " +"chamar :meth:`__format__`, a lógica normal de formatação é ignorada." -#: ../../library/string.rst:263 +#: ../../library/string.rst:265 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`." +"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 "" -"Três sinalizadores de conversão são atualmente suportados: ``'!s'``, que " +"Atualmente, há suporte para três sinalizadores de conversão: ``'!s'``, que " "chama :func:`str` no valor; ``'!r'``, que chama :func:`repr`; e ``'!a'``, " "que chama :func:`ascii`." -#: ../../library/string.rst:267 +#: ../../library/string.rst:269 msgid "Some examples::" msgstr "Alguns exemplos:" -#: ../../library/string.rst:273 +#: ../../library/string.rst:275 msgid "" "The *format_spec* field contains a specification of how the value should be " "presented, including such details as field width, alignment, padding, " @@ -461,20 +460,20 @@ msgid "" "\"formatting mini-language\" or interpretation of the *format_spec*." msgstr "" "O campo *format_spec* contém uma especificação de como o valor deve ser " -"apresentado, incluindo detalhes como largura do campo, alinhamento, " -"preenchimento, precisão decimal e assim por diante. Cada tipo de valor pode " -"definir sua própria \"minilinguagem de formatação\" ou interpretação de " +"apresentado, incluindo detalhes como a largura do campo, o alinhamento, o " +"preenchimento, a precisão decimal e assim por diante. Cada tipo de valor " +"pode definir sua própria \"minilinguagem de formatação\" ou interpretação de " "*format_spec*." -#: ../../library/string.rst:278 +#: ../../library/string.rst:280 msgid "" "Most built-in types support a common formatting mini-language, which is " "described in the next section." msgstr "" "A maioria dos tipos embutidos oferece suporte a uma minilinguagem de " -"formatação comum, que é descrita na próxima seção." +"formatação comum, descrita na próxima seção." -#: ../../library/string.rst:281 +#: ../../library/string.rst:283 msgid "" "A *format_spec* field can also include nested replacement fields within it. " "These nested replacement fields may contain a field name, conversion flag " @@ -483,29 +482,28 @@ msgid "" "*format_spec* string is interpreted. This allows the formatting of a value " "to be dynamically specified." msgstr "" -"Um campo *format_spec* também pode incluir campos de substituição aninhados " -"dentro dele. Esses campos de substituição aninhados podem conter um nome de " -"campo, sinalizador de conversão e especificação de formato, mas um " -"aninhamento mais profundo não é permitido. Os campos de substituição em " -"format_spec são substituídos antes que a string *format_spec* seja " -"interpretada. Isso permite que a formatação de um valor seja especificada " -"dinamicamente." +"O campo *format_spec* também pode conter campos de substituição aninhados. " +"Esses campos de substituição aninhados podem conter um nome de campo, um " +"sinalizador de conversão e uma especificação de formato, mas um aninhamento " +"mais profundo não é permitido. Os campos de substituição em format_spec são " +"substituídos antes que a string *format_spec* seja interpretada. Isso " +"permite que a formatação de um valor seja especificada dinamicamente." -#: ../../library/string.rst:288 +#: ../../library/string.rst:290 msgid "See the :ref:`formatexamples` section for some examples." msgstr "Veja a seção :ref:`formatexamples` para alguns exemplos." -#: ../../library/string.rst:294 +#: ../../library/string.rst:296 msgid "Format Specification Mini-Language" msgstr "Minilinguagem de especificação de formato" -#: ../../library/string.rst:296 +#: ../../library/string.rst:298 msgid "" "\"Format specifications\" are used within replacement fields contained " -"within a format string to define how individual values are presented (see :" -"ref:`formatstrings` and :ref:`f-strings`). They can also be passed directly " -"to the built-in :func:`format` function. Each formattable type may define " -"how the format specification is to be interpreted." +"within a format string to define how individual values are presented " +"(see :ref:`formatstrings` and :ref:`f-strings`). They can also be passed " +"directly to the built-in :func:`format` function. Each formattable type may " +"define how the format specification is to be interpreted." msgstr "" "\"Especificações de formato\" são usadas nos campos de substituição contidos " "em uma string de formato para definir como os valores individuais são " @@ -514,7 +512,7 @@ msgstr "" "tipo formatável pode definir como a especificação do formato deve ser " "interpretada." -#: ../../library/string.rst:303 +#: ../../library/string.rst:305 msgid "" "Most built-in types implement the following options for format " "specifications, although some of the formatting options are only supported " @@ -522,23 +520,23 @@ msgid "" msgstr "" "A maioria dos tipos embutidos implementa as seguintes opções para " "especificações de formato, embora algumas das opções de formatação sejam " -"suportadas apenas pelos tipos numéricos." +"válidas apenas para tipos numéricos." -#: ../../library/string.rst:306 +#: ../../library/string.rst:308 msgid "" "A general convention is that an empty format specification produces the same " "result as if you had called :func:`str` on the value. A non-empty format " "specification typically modifies the result." msgstr "" "Uma convenção geral é que uma especificação de formato vazia produz o mesmo " -"resultado como se você tivesse chamado :func:`str` no valor. Uma " -"especificação de formato não vazio normalmente modifica o resultado." +"resultado que se você tivesse chamado :func:`str` no valor. Uma " +"especificação de formato não vazio geralmente modifica o resultado." -#: ../../library/string.rst:310 +#: ../../library/string.rst:312 msgid "The general form of a *standard format specifier* is:" msgstr "A forma geral de um *especificador de formato padrão* é:" -#: ../../library/string.rst:322 +#: ../../library/string.rst:324 msgid "" "If a valid *align* value is specified, it can be preceded by a *fill* " "character that can be any character and defaults to a space if omitted. It " @@ -556,49 +554,49 @@ msgstr "" "inserir uma chave com um campo de substituição aninhado. Esta limitação não " "afeta a função :func:`format`." -#: ../../library/string.rst:331 +#: ../../library/string.rst:333 msgid "The meaning of the various alignment options is as follows:" msgstr "O significado das várias opções de alinhamento é o seguinte:" -#: ../../library/string.rst:340 ../../library/string.rst:371 +#: ../../library/string.rst:342 ../../library/string.rst:373 msgid "Option" msgstr "Opção" -#: ../../library/string.rst:340 ../../library/string.rst:371 -#: ../../library/string.rst:454 ../../library/string.rst:465 -#: ../../library/string.rst:500 +#: ../../library/string.rst:342 ../../library/string.rst:373 +#: ../../library/string.rst:456 ../../library/string.rst:467 +#: ../../library/string.rst:502 msgid "Meaning" msgstr "Significado" -#: ../../library/string.rst:342 +#: ../../library/string.rst:344 msgid "``'<'``" msgstr "``'<'``" -#: ../../library/string.rst:342 +#: ../../library/string.rst:344 msgid "" "Forces the field to be left-aligned within the available space (this is the " "default for most objects)." msgstr "" -"Força o alinhamento à esquerda do campo dentro do espaço disponível (este é " -"o padrão para a maioria dos objetos)." +"Força o alinhamento à esquerda do campo no espaço disponível (este é o " +"padrão para a maioria dos objetos)." -#: ../../library/string.rst:345 +#: ../../library/string.rst:347 msgid "``'>'``" msgstr "``'>'``" -#: ../../library/string.rst:345 +#: ../../library/string.rst:347 msgid "" "Forces the field to be right-aligned within the available space (this is the " "default for numbers)." msgstr "" -"Força o alinhamento à direita do campo dentro do espaço disponível (este é o " -"padrão para números)." +"Força o alinhamento à direita do campo no espaço disponível (este é o padrão " +"para números)." -#: ../../library/string.rst:348 +#: ../../library/string.rst:350 msgid "``'='``" msgstr "``'='``" -#: ../../library/string.rst:348 +#: ../../library/string.rst:350 msgid "" "Forces the padding to be placed after the sign (if any) but before the " "digits. This is used for printing fields in the form '+000000120'. This " @@ -610,46 +608,46 @@ msgstr "" "alinhamento só é válida para tipos numéricos. Torna-se o padrão para números " "quando \"0\" precede imediatamente a largura do campo." -#: ../../library/string.rst:354 +#: ../../library/string.rst:356 msgid "``'^'``" msgstr "``'^'``" -#: ../../library/string.rst:354 +#: ../../library/string.rst:356 msgid "Forces the field to be centered within the available space." msgstr "Força a centralização do campo no espaço disponível." -#: ../../library/string.rst:358 +#: ../../library/string.rst:360 msgid "" "Note that unless a minimum field width is defined, the field width will " "always be the same size as the data to fill it, so that the alignment option " "has no meaning in this case." msgstr "" "Observe que, a menos que uma largura de campo mínima seja definida, a " -"largura do campo sempre será do mesmo tamanho que os dados para preenchê-lo, " -"de modo que a opção de alinhamento não tem significado neste caso." +"largura do campo sempre será igual à largura dos dados que preenchem, de " +"modo que a opção de alinhamento não tem significado neste caso." -#: ../../library/string.rst:362 +#: ../../library/string.rst:364 msgid "" "The *sign* option is only valid for number types, and can be one of the " "following:" msgstr "" "A opção *sign* só é válida para tipos numéricos e pode ser um dos seguintes:" -#: ../../library/string.rst:373 +#: ../../library/string.rst:375 msgid "``'+'``" msgstr "``'+'``" -#: ../../library/string.rst:373 +#: ../../library/string.rst:375 msgid "" "indicates that a sign should be used for both positive as well as negative " "numbers." msgstr "indica que um sinal deve ser usado para números positivos e negativos." -#: ../../library/string.rst:376 +#: ../../library/string.rst:378 msgid "``'-'``" msgstr "``'-'``" -#: ../../library/string.rst:376 +#: ../../library/string.rst:378 msgid "" "indicates that a sign should be used only for negative numbers (this is the " "default behavior)." @@ -657,11 +655,11 @@ msgstr "" "indica que um sinal deve ser usado apenas para números negativos (este é o " "comportamento padrão)." -#: ../../library/string.rst:379 ../../library/string.rst:365 +#: ../../library/string.rst:367 ../../library/string.rst:381 msgid "space" msgstr "espaço" -#: ../../library/string.rst:379 +#: ../../library/string.rst:381 msgid "" "indicates that a leading space should be used on positive numbers, and a " "minus sign on negative numbers." @@ -669,21 +667,21 @@ msgstr "" "indica que um espaço inicial deve ser usado em números positivos e um sinal " "de menos em números negativos." -#: ../../library/string.rst:386 +#: ../../library/string.rst:388 msgid "" "The ``'z'`` option coerces negative zero floating-point values to positive " "zero after rounding to the format precision. This option is only valid for " "floating-point presentation types." msgstr "" "A opção ``'z'`` força valores de ponto flutuante de zero negativo para zero " -"positivo após o arredondamento para a precisão do formato. Esta opção só é " -"válida para tipos de apresentação de ponto flutuante." +"positivo após o arredondamento, conforme a precisão do formato. Esta opção " +"só é válida para tipos de apresentação de ponto flutuante." -#: ../../library/string.rst:390 +#: ../../library/string.rst:392 msgid "Added the ``'z'`` option (see also :pep:`682`)." msgstr "Adicionada a opção ``'z'`` (veja também :pep:`682`)." -#: ../../library/string.rst:395 +#: ../../library/string.rst:397 msgid "" "The ``'#'`` option causes the \"alternate form\" to be used for the " "conversion. The alternate form is defined differently for different types. " @@ -696,19 +694,19 @@ msgid "" "of these conversions only if a digit follows it. In addition, for ``'g'`` " "and ``'G'`` conversions, trailing zeros are not removed from the result." msgstr "" -"A opção ``'#'`` faz com que a \"forma alternativa\" seja usada para a " -"conversão. A forma alternativa é definida de forma diferente para diferentes " -"tipos. Esta opção é válida apenas para tipos inteiros, pontos flutuantes e " -"complexos. Para inteiros, quando a saída binária, octal ou hexadecimal é " -"usada, esta opção adiciona o prefixo respectivo ``'0b'``, ``'0o'``, ``'0x'`` " -"ou ``'0X'`` ao valor de saída. Para pontos flutuante e complexo, a forma " -"alternativa faz com que o resultado da conversão sempre contenha um " -"caractere de ponto decimal, mesmo se nenhum dígito o seguir. Normalmente, um " -"caractere de ponto decimal aparece no resultado dessas conversões apenas se " -"um dígito o seguir. Além disso, para conversões ``'g'`` e ``'G'``, os zeros " -"finais não são removidos do resultado." +"A opção ``'#'`` faz com que a \"forma alternativa\" seja usada na conversão. " +"A forma alternativa é definida de forma diferente para cada tipo. Esta opção " +"é válida apenas para tipos inteiros, pontos flutuantes e complexos. Para " +"inteiros, quando a saída binária, octal ou hexadecimal é usada, esta opção " +"adiciona o prefixo respectivo ``'0b'``, ``'0o'``, ``'0x'`` ou ``'0X'`` ao " +"valor de saída. Para pontos flutuantes e complexos, a forma alternativa faz " +"com que o resultado da conversão sempre contenha um caractere de ponto " +"decimal, mesmo que não haja nenhum dígito após. Normalmente, um caractere de " +"ponto decimal aparece no resultado dessas conversões apenas se houver um " +"dígito depois. Além disso, nas conversões ``'g'`` e ``'G'``, os zeros finais " +"não são removidos do resultado." -#: ../../library/string.rst:409 +#: ../../library/string.rst:411 msgid "" "The ``','`` option signals the use of a comma for a thousands separator. For " "a locale aware separator, use the ``'n'`` integer presentation type instead." @@ -717,11 +715,11 @@ msgstr "" "Para um separador que reconhece a localidade, use o tipo de apresentação " "inteiro ``'n'``." -#: ../../library/string.rst:413 +#: ../../library/string.rst:415 msgid "Added the ``','`` option (see also :pep:`378`)." msgstr "Adicionada a opção ``','`` (veja também :pep:`378`)." -#: ../../library/string.rst:418 +#: ../../library/string.rst:420 msgid "" "The ``'_'`` option signals the use of an underscore for a thousands " "separator for floating point presentation types and for integer presentation " @@ -735,11 +733,11 @@ msgstr "" "``'b'``, ``'o'``, ``'x'`` e ``'X'``, sublinhados serão inseridos a cada 4 " "dígitos. Para outros tipos de apresentação, especificar esta opção é um erro." -#: ../../library/string.rst:425 +#: ../../library/string.rst:427 msgid "Added the ``'_'`` option (see also :pep:`515`)." msgstr "Adicionada a opção ``'_'`` (veja também :pep:`515`)." -#: ../../library/string.rst:428 +#: ../../library/string.rst:430 msgid "" "*width* is a decimal integer defining the minimum total field width, " "including any prefixes, separators, and other formatting characters. If not " @@ -750,7 +748,7 @@ msgstr "" "formatação. Se não for especificado, a largura do campo será determinada " "pelo conteúdo." -#: ../../library/string.rst:432 +#: ../../library/string.rst:434 msgid "" "When no explicit alignment is given, preceding the *width* field by a zero " "(``'0'``) character enables sign-aware zero-padding for numeric types. This " @@ -762,15 +760,15 @@ msgstr "" "reconhecimento de sinal para tipos numéricos. Isso é equivalente a um " "caractere de *fill* de valor ``'0'`` com um tipo de *alignment* de ``'='``." -#: ../../library/string.rst:437 +#: ../../library/string.rst:439 msgid "" "Preceding the *width* field by ``'0'`` no longer affects the default " "alignment for strings." msgstr "" -"Precedendo o campo *width* com ``'0'`` não afeta mais o alinhamento padrão " -"para strings." +"Preceder o campo *width* com ``'0'`` não afeta mais o alinhamento padrão de " +"strings." -#: ../../library/string.rst:441 +#: ../../library/string.rst:443 msgid "" "The *precision* is a decimal integer indicating how many digits should be " "displayed after the decimal point for presentation types ``'f'`` and " @@ -788,54 +786,54 @@ msgstr "" "caracteres serão usados do conteúdo do campo. *precision* não é permitido " "para valores inteiros." -#: ../../library/string.rst:449 +#: ../../library/string.rst:451 msgid "Finally, the *type* determines how the data should be presented." msgstr "Finalmente, o *type* determina como os dados devem ser apresentados." -#: ../../library/string.rst:451 +#: ../../library/string.rst:453 msgid "The available string presentation types are:" msgstr "Os tipos de apresentação de string disponíveis são:" -#: ../../library/string.rst:454 ../../library/string.rst:465 -#: ../../library/string.rst:500 +#: ../../library/string.rst:456 ../../library/string.rst:467 +#: ../../library/string.rst:502 msgid "Type" msgstr "Tipo" -#: ../../library/string.rst:456 +#: ../../library/string.rst:458 msgid "``'s'``" msgstr "``'s'``" -#: ../../library/string.rst:456 +#: ../../library/string.rst:458 msgid "String format. This is the default type for strings and may be omitted." msgstr "" "Formato de string. Este é o tipo padrão para strings e pode ser omitido." -#: ../../library/string.rst:459 ../../library/string.rst:488 -#: ../../library/string.rst:575 +#: ../../library/string.rst:461 ../../library/string.rst:490 +#: ../../library/string.rst:577 msgid "None" msgstr "None" -#: ../../library/string.rst:459 +#: ../../library/string.rst:461 msgid "The same as ``'s'``." msgstr "O mesmo que ``'s'``." -#: ../../library/string.rst:462 +#: ../../library/string.rst:464 msgid "The available integer presentation types are:" msgstr "Os tipos de apresentação inteira disponíveis são:" -#: ../../library/string.rst:467 +#: ../../library/string.rst:469 msgid "``'b'``" msgstr "``'b'``" -#: ../../library/string.rst:467 +#: ../../library/string.rst:469 msgid "Binary format. Outputs the number in base 2." msgstr "Formato binário. Exibe o número na base 2." -#: ../../library/string.rst:469 +#: ../../library/string.rst:471 msgid "``'c'``" msgstr "``'c'``" -#: ../../library/string.rst:469 +#: ../../library/string.rst:471 msgid "" "Character. Converts the integer to the corresponding unicode character " "before printing." @@ -843,27 +841,27 @@ msgstr "" "Caractere. Converte o inteiro no caractere Unicode correspondente antes de " "imprimir." -#: ../../library/string.rst:472 +#: ../../library/string.rst:474 msgid "``'d'``" msgstr "``'d'``" -#: ../../library/string.rst:472 +#: ../../library/string.rst:474 msgid "Decimal Integer. Outputs the number in base 10." msgstr "Inteiro decimal. Exibe o número na base 10." -#: ../../library/string.rst:474 +#: ../../library/string.rst:476 msgid "``'o'``" msgstr "``'o'``" -#: ../../library/string.rst:474 +#: ../../library/string.rst:476 msgid "Octal format. Outputs the number in base 8." msgstr "Formato octal. Exibe o número na base 8." -#: ../../library/string.rst:476 +#: ../../library/string.rst:478 msgid "``'x'``" msgstr "``'x'``" -#: ../../library/string.rst:476 +#: ../../library/string.rst:478 msgid "" "Hex format. Outputs the number in base 16, using lower-case letters for the " "digits above 9." @@ -871,25 +869,25 @@ msgstr "" "Formato hexadecimal. Produz o número na base 16, usando letras minúsculas " "para os dígitos acima de 9." -#: ../../library/string.rst:479 +#: ../../library/string.rst:481 msgid "``'X'``" msgstr "``'X'``" -#: ../../library/string.rst:479 +#: ../../library/string.rst:481 msgid "" "Hex format. Outputs the number in base 16, using upper-case letters for the " "digits above 9. In case ``'#'`` is specified, the prefix ``'0x'`` will be " "upper-cased to ``'0X'`` as well." msgstr "" -"Formato hexadecimal. Produz o número na base 16, usando letras maiúsculas " +"Formato hexadecimal. Exibe o número na base 16, usando letras maiúsculas " "para os dígitos acima de 9. No caso de ``'#'`` ser especificado, o prefixo " "``'0x'`` será maiúsculo para ``'0X'`` também." -#: ../../library/string.rst:484 ../../library/string.rst:568 +#: ../../library/string.rst:486 ../../library/string.rst:570 msgid "``'n'``" msgstr "``'n'``" -#: ../../library/string.rst:484 +#: ../../library/string.rst:486 msgid "" "Number. This is the same as ``'d'``, except that it uses the current locale " "setting to insert the appropriate number separator characters." @@ -897,11 +895,11 @@ msgstr "" "Número. É o mesmo que ``'d'``, exceto que usa a configuração local atual " "para inserir os caracteres separadores de número apropriados." -#: ../../library/string.rst:488 +#: ../../library/string.rst:490 msgid "The same as ``'d'``." msgstr "O mesmo que ``'d'``." -#: ../../library/string.rst:491 +#: ../../library/string.rst:493 msgid "" "In addition to the above presentation types, integers can be formatted with " "the floating point presentation types listed below (except ``'n'`` and " @@ -913,28 +911,28 @@ msgstr "" "e ``None``). Ao fazer isso, :func:`float` é usado para converter o inteiro " "em um número de ponto flutuante antes da formatação." -#: ../../library/string.rst:496 +#: ../../library/string.rst:498 msgid "" -"The available presentation types for :class:`float` and :class:`~decimal." -"Decimal` values are:" +"The available presentation types for :class:`float` " +"and :class:`~decimal.Decimal` values are:" msgstr "" -"Os tipos de apresentação disponíveis para :class:`float` e :class:`~decimal." -"Decimal` valores são:" +"Os tipos de apresentação disponíveis para valores :class:`float` " +"e :class:`~decimal.Decimal` são:" -#: ../../library/string.rst:502 +#: ../../library/string.rst:504 msgid "``'e'``" msgstr "``'e'``" -#: ../../library/string.rst:502 +#: ../../library/string.rst:504 msgid "" "Scientific notation. For a given precision ``p``, formats the number in " "scientific notation with the letter 'e' separating the coefficient from the " "exponent. The coefficient has one digit before and ``p`` digits after the " "decimal point, for a total of ``p + 1`` significant digits. With no " "precision given, uses a precision of ``6`` digits after the decimal point " -"for :class:`float`, and shows all coefficient digits for :class:`~decimal." -"Decimal`. If no digits follow the decimal point, the decimal point is also " -"removed unless the ``#`` option is used." +"for :class:`float`, and shows all coefficient digits " +"for :class:`~decimal.Decimal`. If no digits follow the decimal point, the " +"decimal point is also removed unless the ``#`` option is used." msgstr "" "Notação científica. Para uma dada precisão ``p``, formata o número em " "notação científica com a letra \"e\" separando o coeficiente do expoente. O " @@ -945,11 +943,11 @@ msgstr "" "nenhum dígito seguir o ponto decimal, o ponto decimal também é removido, a " "menos que a opção ``#`` seja usada." -#: ../../library/string.rst:514 +#: ../../library/string.rst:516 msgid "``'E'``" msgstr "``'E'``" -#: ../../library/string.rst:514 +#: ../../library/string.rst:516 msgid "" "Scientific notation. Same as ``'e'`` except it uses an upper case 'E' as the " "separator character." @@ -957,11 +955,11 @@ msgstr "" "Notação científica. O mesmo que ``'e'``, exceto que usa um 'E' maiúsculo " "como caractere separador." -#: ../../library/string.rst:517 +#: ../../library/string.rst:519 msgid "``'f'``" msgstr "``'f'``" -#: ../../library/string.rst:517 +#: ../../library/string.rst:519 msgid "" "Fixed-point notation. For a given precision ``p``, formats the number as a " "decimal number with exactly ``p`` digits following the decimal point. With " @@ -979,11 +977,11 @@ msgstr "" "dígito seguir o ponto decimal, o ponto decimal também é removido, a menos " "que a opção ``#`` seja usada." -#: ../../library/string.rst:527 +#: ../../library/string.rst:529 msgid "``'F'``" msgstr "``'F'``" -#: ../../library/string.rst:527 +#: ../../library/string.rst:529 msgid "" "Fixed-point notation. Same as ``'f'``, but converts ``nan`` to ``NAN`` and " "``inf`` to ``INF``." @@ -991,11 +989,11 @@ msgstr "" "Notação de ponto fixo. O mesmo que ``'f'``, mas converte ``nan`` para " "``NAN`` e ``inf`` para ``INF``." -#: ../../library/string.rst:530 +#: ../../library/string.rst:532 msgid "``'g'``" msgstr "``'g'``" -#: ../../library/string.rst:530 +#: ../../library/string.rst:532 msgid "" "General format. For a given precision ``p >= 1``, this rounds the number to " "``p`` significant digits and then formats the result in either fixed-point " @@ -1003,11 +1001,11 @@ msgid "" "``0`` is treated as equivalent to a precision of ``1``." msgstr "" "Formato geral. Para uma determinada precisão ``p >= 1``, isso arredonda o " -"número para ``p`` dígitos significativos e então formata o resultado em " -"formato de ponto fixo ou em notação científica, dependendo de sua magnitude. " -"Uma precisão de ``0`` é tratada como equivalente a uma precisão de ``1``." +"número para ``p`` dígitos significativos e, então, formata o resultado em " +"ponto fixo ou em notação científica, conforme sua magnitude. Uma precisão de " +"``0`` é tratada como equivalente a uma precisão de ``1``." -#: ../../library/string.rst:537 +#: ../../library/string.rst:539 msgid "" "The precise rules are as follows: suppose that the result formatted with " "presentation type ``'e'`` and precision ``p-1`` would have exponent " @@ -1024,51 +1022,51 @@ msgstr "" "Então, se ``m <= exp < p``, onde ``m`` é -4 para pontos flutuantes e -6 " "para :class:`Decimals `, o número é formatado com o tipo de " "apresentação ``'f'`` e precisão ``p-1-exp``. Caso contrário, o número é " -"formatado com tipo de apresentação ``'e'`` e precisão ``p-1``. Em ambos os " -"casos, zeros à direita insignificantes são removidos do significando, e o " +"formatado com o tipo de apresentação ``'e'`` e a precisão ``p-1``. Em ambos " +"os casos, zeros à direita insignificantes são removidos do significando, e o " "ponto decimal também é removido se não houver dígitos restantes após ele, a " "menos que a opção ``'#'`` seja usada." -#: ../../library/string.rst:550 +#: ../../library/string.rst:552 msgid "" -"With no precision given, uses a precision of ``6`` significant digits for :" -"class:`float`. For :class:`~decimal.Decimal`, the coefficient of the result " -"is formed from the coefficient digits of the value; scientific notation is " -"used for values smaller than ``1e-6`` in absolute value and values where the " -"place value of the least significant digit is larger than 1, and fixed-point " -"notation is used otherwise." +"With no precision given, uses a precision of ``6`` significant digits " +"for :class:`float`. For :class:`~decimal.Decimal`, the coefficient of the " +"result is formed from the coefficient digits of the value; scientific " +"notation is used for values smaller than ``1e-6`` in absolute value and " +"values where the place value of the least significant digit is larger than " +"1, and fixed-point notation is used otherwise." msgstr "" "Sem precisão fornecida, usa uma precisão de ``6`` dígitos significativos " "para :class:`float`. Para :class:`~decimal.Decimal`, o coeficiente do " "resultado é formado a partir dos dígitos do coeficiente do valor; a notação " "científica é usada para valores menores que ``1e-6`` em valor absoluto e " -"valores onde o valor posicional do dígito menos significativo é maior que 1, " -"e a notação de ponto fixo é usada de outra forma." +"valores em que o valor posicional do dígito menos significativo é maior que " +"1, e a notação de ponto fixo é usada de outra forma." -#: ../../library/string.rst:559 +#: ../../library/string.rst:561 msgid "" "Positive and negative infinity, positive and negative zero, and nans, are " "formatted as ``inf``, ``-inf``, ``0``, ``-0`` and ``nan`` respectively, " "regardless of the precision." msgstr "" -"Infinito positivo e negativo, zero positivo e negativo e nans, são " +"Infinito positivo e negativo, zero positivo e negativo e não-números, são " "formatados como ``inf``, ``-inf``, ``0``, ``-0`` e ``nan``, respectivamente, " "independentemente da precisão." -#: ../../library/string.rst:564 +#: ../../library/string.rst:566 msgid "``'G'``" msgstr "``'G'``" -#: ../../library/string.rst:564 +#: ../../library/string.rst:566 msgid "" "General format. Same as ``'g'`` except switches to ``'E'`` if the number " "gets too large. The representations of infinity and NaN are uppercased, too." msgstr "" "Formato geral. O mesmo que ``'g'``, exceto muda para ``'E'`` se o número " -"ficar muito grande. As representações de infinito e NaN também são " +"ficar muito grande. As representações de infinito e de NaN também são " "maiúsculas." -#: ../../library/string.rst:568 +#: ../../library/string.rst:570 msgid "" "Number. This is the same as ``'g'``, except that it uses the current locale " "setting to insert the appropriate number separator characters." @@ -1076,19 +1074,19 @@ msgstr "" "Número. É o mesmo que ``'g'``, exceto que usa a configuração da localidade " "atual para inserir os caracteres separadores de número apropriados." -#: ../../library/string.rst:572 +#: ../../library/string.rst:574 msgid "``'%'``" msgstr "``'%'``" -#: ../../library/string.rst:572 +#: ../../library/string.rst:574 msgid "" "Percentage. Multiplies the number by 100 and displays in fixed (``'f'``) " "format, followed by a percent sign." msgstr "" "Porcentagem. Multiplica o número por 100 e exibe no formato fixo (``'f'``), " -"seguido por um sinal de porcentagem." +"seguido de um sinal de porcentagem." -#: ../../library/string.rst:575 +#: ../../library/string.rst:577 msgid "" "For :class:`float` this is the same as ``'g'``, except that when fixed-point " "notation is used to format the result, it always includes at least one digit " @@ -1100,137 +1098,138 @@ msgstr "" "um dígito após a vírgula decimal. A precisão usada é tão grande quanto " "necessário para representar o valor fornecido fielmente." -#: ../../library/string.rst:581 +#: ../../library/string.rst:583 msgid "" "For :class:`~decimal.Decimal`, this is the same as either ``'g'`` or ``'G'`` " "depending on the value of ``context.capitals`` for the current decimal " "context." msgstr "" -"Para :class:`~decimal.Decimal`, é o mesmo que ``'g'`` ou ``'G'`` dependendo " -"do valor de ``context.capitals`` para o contexto decimal atual." +"Para :class:`~decimal.Decimal`, é o mesmo que ``'g'`` ou ``'G'``, dependendo " +"do valor de ``context.capitals`` no contexto decimal atual." -#: ../../library/string.rst:585 +#: ../../library/string.rst:587 msgid "" "The overall effect is to match the output of :func:`str` as altered by the " "other format modifiers." msgstr "" "O efeito geral é combinar a saída de :func:`str` conforme alterada pelos " -"outros modificadores de formato." +"demais modificadores de formato." -#: ../../library/string.rst:593 +#: ../../library/string.rst:595 msgid "Format examples" msgstr "Exemplos de formato" -#: ../../library/string.rst:595 +#: ../../library/string.rst:597 msgid "" "This section contains examples of the :meth:`str.format` syntax and " "comparison with the old ``%``-formatting." msgstr "" "Esta seção contém exemplos da sintaxe de :meth:`str.format` e comparação com " -"a antiga formatação ``%``." +"a antiga formatação com ``%``." -#: ../../library/string.rst:598 +#: ../../library/string.rst:600 msgid "" "In most of the cases the syntax is similar to the old ``%``-formatting, with " "the addition of the ``{}`` and with ``:`` used instead of ``%``. For " "example, ``'%03.2f'`` can be translated to ``'{:03.2f}'``." msgstr "" -"Na maioria dos casos a sintaxe é semelhante à antiga formatação de ``%``, " -"com a adição de ``{}`` e com ``:`` usado em vez de ``%``. Por exemplo, " +"Na maioria dos casos, a sintaxe é semelhante à antiga formatação com ``%``, " +"com a adição de ``{}`` e o uso de ``:`` em vez de ``%``. Por exemplo, " "``'%03.2f'`` pode ser traduzido para ``'{:03.2f}'``." -#: ../../library/string.rst:602 +#: ../../library/string.rst:604 msgid "" "The new format syntax also supports new and different options, shown in the " "following examples." msgstr "" -"A nova sintaxe de formato também oferece suporte a opções novas e " -"diferentes, mostradas nos exemplos a seguir." +"A nova sintaxe de formato também oferece suporte a novas e diferentes " +"opções, como mostradas nos exemplos a seguir." -#: ../../library/string.rst:605 +#: ../../library/string.rst:607 msgid "Accessing arguments by position::" -msgstr "Acessando os argumentos por posição::" +msgstr "Acessando argumentos por posição::" -#: ../../library/string.rst:618 +#: ../../library/string.rst:620 msgid "Accessing arguments by name::" -msgstr "Acessando os argumentos por nome::" +msgstr "Acessando argumentos por nome::" -#: ../../library/string.rst:626 +#: ../../library/string.rst:628 msgid "Accessing arguments' attributes::" -msgstr "Acessando os atributos dos argumentos::" +msgstr "Acessando atributos dos argumentos::" -#: ../../library/string.rst:641 +#: ../../library/string.rst:643 msgid "Accessing arguments' items::" -msgstr "Acessando os itens dos argumentos::" +msgstr "Acessando itens dos argumentos::" -#: ../../library/string.rst:647 +#: ../../library/string.rst:649 msgid "Replacing ``%s`` and ``%r``::" msgstr "Substituindo ``%s`` e ``%r``::" -#: ../../library/string.rst:652 +#: ../../library/string.rst:654 msgid "Aligning the text and specifying a width::" msgstr "Alinhando o texto e especificando uma largura::" -#: ../../library/string.rst:663 +#: ../../library/string.rst:665 msgid "Replacing ``%+f``, ``%-f``, and ``% f`` and specifying a sign::" msgstr "Substituindo ``%+f``, ``%-f`` e ``% f`` e especificando um sinal::" -#: ../../library/string.rst:672 +#: ../../library/string.rst:674 msgid "" "Replacing ``%x`` and ``%o`` and converting the value to different bases::" msgstr "" "Substituindo ``%x`` e ``%o`` e convertendo o valor para bases diferentes::" -#: ../../library/string.rst:681 +#: ../../library/string.rst:683 msgid "Using the comma as a thousands separator::" msgstr "Usando a vírgula como um separador de milhares::" -#: ../../library/string.rst:686 +#: ../../library/string.rst:688 msgid "Expressing a percentage::" msgstr "Expressando uma porcentagem::" -#: ../../library/string.rst:693 +#: ../../library/string.rst:695 msgid "Using type-specific formatting::" msgstr "Usando formatação específica do tipo::" -#: ../../library/string.rst:700 +#: ../../library/string.rst:702 msgid "Nesting arguments and more complex examples::" -msgstr "Argumentos de aninhamento e exemplos mais complexos::" +msgstr "Aninhando argumentos e exemplos mais complexos::" -#: ../../library/string.rst:734 +#: ../../library/string.rst:736 msgid "Template strings" -msgstr "Strings de modelo" +msgstr "Strings template" -#: ../../library/string.rst:736 +#: ../../library/string.rst:738 msgid "" -"Template strings provide simpler string substitutions as described in :pep:" -"`292`. A primary use case for template strings is for internationalization " -"(i18n) since in that context, the simpler syntax and functionality makes it " -"easier to translate than other built-in string formatting facilities in " -"Python. As an example of a library built on template strings for i18n, see " -"the `flufl.i18n `_ package." +"Template strings provide simpler string substitutions as described " +"in :pep:`292`. A primary use case for template strings is for " +"internationalization (i18n) since in that context, the simpler syntax and " +"functionality makes it easier to translate than other built-in string " +"formatting facilities in Python. As an example of a library built on " +"template strings for i18n, see the `flufl.i18n `_ package." msgstr "" -"Strings de modelo fornecem substituições de string mais simples, conforme " -"descrito em :pep:`292`. Um caso de uso primário para strings de modelo é " -"para internacionalização (i18n), uma vez que, nesse contexto, a sintaxe e a " +"Strings template fornecem substituições de string mais simples, conforme " +"descrito em :pep:`292`. Um caso de uso primário para strings template é a " +"internacionalização (i18n), uma vez que, nesse contexto, a sintaxe e a " "funcionalidade mais simples tornam mais fácil traduzir do que outros " "recursos embutidos de formatação de strings no Python. Como um exemplo de " -"biblioteca construída sobre strings de modelo para i18n, veja o pacote " +"biblioteca construída sobre strings template para i18n, veja o pacote " "`flufl.i18n `_." -#: ../../library/string.rst:746 +#: ../../library/string.rst:748 msgid "" "Template strings support ``$``-based substitutions, using the following " "rules:" msgstr "" -"Strings de modelo oferecem suporte a substituições baseadas em ``$``, usando " +"Strings template oferecem suporte a substituições baseadas em ``$``, usando " "as seguintes regras:" -#: ../../library/string.rst:748 +#: ../../library/string.rst:750 msgid "``$$`` is an escape; it is replaced with a single ``$``." msgstr "``$$`` é um escape; é substituído por um único ``$``." -#: ../../library/string.rst:750 +#: ../../library/string.rst:752 msgid "" "``$identifier`` names a substitution placeholder matching a mapping key of " "``\"identifier\"``. By default, ``\"identifier\"`` is restricted to any " @@ -1239,15 +1238,14 @@ msgid "" "character after the ``$`` character terminates this placeholder " "specification." msgstr "" -"``$identifier`` nomeia um espaço reservado de substituição correspondendo a " -"uma chave de mapeamento de ``\"identifier\"``. Por padrão, " -"``\"identifier\"`` é restrito a qualquer string ASCII alfanumérica que não " -"faz distinção entre maiúsculas e minúsculas (incluindo sublinhados) que " -"começa com um sublinhado ou letra ASCII. O primeiro caractere não " -"identificador após o caractere ``$`` termina esta especificação de espaço " -"reservado." +"``$identifier`` nomeia um espaço reservado de substituição correspondente à " +"chave de mapeamento ``\"identifier\"``. Por padrão, ``\"identifier\"`` é " +"restrito a qualquer string ASCII alfanumérica que não distingue maiúsculas e " +"minúsculas (incluindo sublinhados) e que começa com um sublinhado ou com uma " +"letra ASCII. O primeiro caractere não identificador após o caractere ``$`` " +"termina esta especificação de espaço reservado." -#: ../../library/string.rst:757 +#: ../../library/string.rst:759 msgid "" "``${identifier}`` is equivalent to ``$identifier``. It is required when " "valid identifier characters follow the placeholder but are not part of the " @@ -1257,15 +1255,15 @@ msgstr "" "caracteres identificadores válidos seguem o marcador de posição, mas não " "fazem parte do marcador, como ``\"${noun}ification\"``." -#: ../../library/string.rst:761 +#: ../../library/string.rst:763 msgid "" -"Any other appearance of ``$`` in the string will result in a :exc:" -"`ValueError` being raised." +"Any other appearance of ``$`` in the string will result in " +"a :exc:`ValueError` being raised." msgstr "" -"Qualquer outra ocorrência de ``$`` na string resultará em uma :exc:" -"`ValueError` sendo levantada." +"Qualquer outra ocorrência de ``$`` na string resultará em " +"uma :exc:`ValueError` sendo levantada." -#: ../../library/string.rst:764 +#: ../../library/string.rst:766 msgid "" "The :mod:`string` module provides a :class:`Template` class that implements " "these rules. The methods of :class:`Template` are:" @@ -1273,11 +1271,11 @@ msgstr "" "O módulo :mod:`string` fornece uma classe :class:`Template` que implementa " "essas regras. Os métodos de :class:`Template` são:" -#: ../../library/string.rst:770 +#: ../../library/string.rst:772 msgid "The constructor takes a single argument which is the template string." -msgstr "O construtor recebe um único argumento que é a string de modelo." +msgstr "O construtor recebe um único argumento que é a string template" -#: ../../library/string.rst:775 +#: ../../library/string.rst:777 msgid "" "Performs the template substitution, returning a new string. *mapping* is " "any dictionary-like object with keys that match the placeholders in the " @@ -1292,7 +1290,7 @@ msgstr "" "*kwds* são fornecidos e há duplicatas, os marcadores de *kwds* têm " "precedência." -#: ../../library/string.rst:784 +#: ../../library/string.rst:786 msgid "" "Like :meth:`substitute`, except that if placeholders are missing from " "*mapping* and *kwds*, instead of raising a :exc:`KeyError` exception, the " @@ -1301,13 +1299,13 @@ msgid "" "simply return ``$`` instead of raising :exc:`ValueError`." msgstr "" "Como :meth:`substitute`, exceto que se os espaços reservados estiverem " -"faltando em *mapping* e *kwds*, em vez de levantar uma exceção :exc:" -"`KeyError`, o espaço reservado original aparecerá na string resultante " -"intacta. Além disso, ao contrário de :meth:`substitute`, qualquer outra " -"ocorrência de ``$`` simplesmente retornará ``$`` em vez de levantar :exc:" -"`ValueError`." +"faltando em *mapping* e *kwds*, em vez de levantar uma " +"exceção :exc:`KeyError`, o espaço reservado original aparecerá na string " +"resultante intacta. Além disso, ao contrário de :meth:`substitute`, qualquer " +"outra ocorrência de ``$`` simplesmente retornará ``$`` em vez de " +"levantar :exc:`ValueError`." -#: ../../library/string.rst:790 +#: ../../library/string.rst:792 msgid "" "While other exceptions may still occur, this method is called \"safe\" " "because it always tries to return a usable string instead of raising an " @@ -1321,18 +1319,18 @@ msgstr "" "levantar uma exceção. Em outro sentido, :meth:`safe_substitute` pode ser " "qualquer coisa diferente de seguro, uma vez que irá ignorar silenciosamente " "modelos malformados contendo delimitadores pendentes, chaves não " -"correspondidas ou espacos reservados que não são identificadores Python " +"correspondidas ou espaços reservados que não são identificadores Python " "válidos." -#: ../../library/string.rst:800 +#: ../../library/string.rst:802 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 "" "Retorna falso se o modelo tiver espaços reservados inválidos que farão com " "que :meth:`substitute` levante :exc:`ValueError`." -#: ../../library/string.rst:808 +#: ../../library/string.rst:810 msgid "" "Returns a list of the valid identifiers in the template, in the order they " "first appear, ignoring any invalid identifiers." @@ -1340,13 +1338,13 @@ msgstr "" "Retorna uma lista dos identificadores válidos no modelo, na ordem em que " "aparecem pela primeira vez, ignorando quaisquer identificadores inválidos." -#: ../../library/string.rst:813 +#: ../../library/string.rst:815 msgid ":class:`Template` instances also provide one public data attribute:" msgstr "" "Instâncias de :class:`Template` também fornecem um atributo de dados " "públicos:" -#: ../../library/string.rst:817 +#: ../../library/string.rst:819 msgid "" "This is the object passed to the constructor's *template* argument. In " "general, you shouldn't change it, but read-only access is not enforced." @@ -1354,11 +1352,11 @@ msgstr "" "Este é o objeto passado para o argumento *template* do construtor. Em geral, " "você não deve alterá-lo, mas o acesso somente leitura não é obrigatório." -#: ../../library/string.rst:820 +#: ../../library/string.rst:822 msgid "Here is an example of how to use a Template::" msgstr "Aqui está um exemplo de como usar uma instância de Template::" -#: ../../library/string.rst:838 +#: ../../library/string.rst:840 msgid "" "Advanced usage: you can derive subclasses of :class:`Template` to customize " "the placeholder syntax, delimiter character, or the entire regular " @@ -1367,26 +1365,27 @@ msgid "" msgstr "" "Uso avançado: você pode derivar subclasses de :class:`Template` para " "personalizar a sintaxe do espaço reservado, caractere delimitador ou toda a " -"expressão regular usada para analisar strings de modelo. Para fazer isso, " +"expressão regular usada para analisar strings template. Para fazer isso, " "você pode substituir estes atributos de classe:" -#: ../../library/string.rst:843 +#: ../../library/string.rst:845 msgid "" "*delimiter* -- This is the literal string describing a placeholder " "introducing delimiter. The default value is ``$``. Note that this should " -"*not* be a regular expression, as the implementation will call :meth:`re." -"escape` on this string as needed. Note further that you cannot change the " -"delimiter after class creation (i.e. a different delimiter must be set in " -"the subclass's class namespace)." +"*not* be a regular expression, as the implementation will " +"call :meth:`re.escape` on this string as needed. Note further that you " +"cannot change the delimiter after class creation (i.e. a different delimiter " +"must be set in the subclass's class namespace)." msgstr "" "*delimiter* -- Este é a string literal que descreve um delimitador de " "introdução do espaço reservado. O valor padrão é ``$``. Note que esta *não* " -"deve ser uma expressão regular, já que a implementação irá chamar :meth:`re." -"escape` nesta string conforme necessário. Observe também que você não pode " -"alterar o delimitador após a criação da classe (ou seja, um delimitador " -"diferente deve ser definido no espaço de nomes da classe da subclasse)." +"deve ser uma expressão regular, já que a implementação irá " +"chamar :meth:`re.escape` nesta string conforme necessário. Observe também " +"que você não pode alterar o delimitador após a criação da classe (ou seja, " +"um delimitador diferente deve ser definido no espaço de nomes da classe da " +"subclasse)." -#: ../../library/string.rst:850 +#: ../../library/string.rst:852 msgid "" "*idpattern* -- This is the regular expression describing the pattern for non-" "braced placeholders. The default value is the regular expression ``(?a:[_a-" @@ -1398,7 +1397,7 @@ msgstr "" "[_a-z][_a-z0-9]*)``. Se for fornecido e *braceidpattern* for ``None``, esse " "padrão também se aplicará o espaço reservado com chaves." -#: ../../library/string.rst:857 +#: ../../library/string.rst:859 msgid "" "Since default *flags* is ``re.IGNORECASE``, pattern ``[a-z]`` can match with " "some non-ASCII characters. That's why we use the local ``a`` flag here." @@ -1407,15 +1406,15 @@ msgstr "" "corresponder a alguns caracteres não ASCII. É por isso que usamos o " "sinalizador local ``a`` aqui." -#: ../../library/string.rst:861 +#: ../../library/string.rst:863 msgid "" "*braceidpattern* can be used to define separate patterns used inside and " "outside the braces." msgstr "" -"*braceidpattern* pode ser usado para definir padrões separados usados ​​dentro " +"*braceidpattern* pode ser usado para definir padrões separados usados dentro " "e fora das chaves." -#: ../../library/string.rst:865 +#: ../../library/string.rst:867 msgid "" "*braceidpattern* -- This is like *idpattern* but describes the pattern for " "braced placeholders. Defaults to ``None`` which means to fall back to " @@ -1429,7 +1428,7 @@ msgstr "" "fornecido, permite definir padrões diferentes para espaço reservado com e " "sem chaves." -#: ../../library/string.rst:873 +#: ../../library/string.rst:875 msgid "" "*flags* -- The regular expression flags that will be applied when compiling " "the regular expression used for recognizing substitutions. The default " @@ -1443,7 +1442,7 @@ msgstr "" "aos sinalizadores, então *idpattern*\\s personalizados devem seguir as " "convenções para expressões regulares verbosas." -#: ../../library/string.rst:881 +#: ../../library/string.rst:883 msgid "" "Alternatively, you can provide the entire regular expression pattern by " "overriding the class attribute *pattern*. If you do this, the value must be " @@ -1457,7 +1456,7 @@ msgstr "" "nomeados. Os grupos de captura correspondem às regras fornecidas acima, " "junto com a regra inválida do espaço reservado:" -#: ../../library/string.rst:887 +#: ../../library/string.rst:889 msgid "" "*escaped* -- This group matches the escape sequence, e.g. ``$$``, in the " "default pattern." @@ -1465,7 +1464,7 @@ msgstr "" "*escaped* -- Este grupo corresponde à sequência de escape, por exemplo ``$" "$``, no padrão." -#: ../../library/string.rst:890 +#: ../../library/string.rst:892 msgid "" "*named* -- This group matches the unbraced placeholder name; it should not " "include the delimiter in capturing group." @@ -1473,7 +1472,7 @@ msgstr "" "*named* -- Este grupo corresponde ao nome do espaço reservado sem chaves; " "não deve incluir o delimitador no grupo de captura." -#: ../../library/string.rst:893 +#: ../../library/string.rst:895 msgid "" "*braced* -- This group matches the brace enclosed placeholder name; it " "should not include either the delimiter or braces in the capturing group." @@ -1481,7 +1480,7 @@ msgstr "" "*braced* -- Este grupo corresponde ao nome do espaço reservado entre chaves; " "ele não deve incluir o delimitador ou chaves no grupo de captura." -#: ../../library/string.rst:896 +#: ../../library/string.rst:898 msgid "" "*invalid* -- This group matches any other delimiter pattern (usually a " "single delimiter), and it should appear last in the regular expression." @@ -1490,7 +1489,7 @@ msgstr "" "(geralmente um único delimitador) e deve aparecer por último na expressão " "regular." -#: ../../library/string.rst:899 +#: ../../library/string.rst:901 msgid "" "The methods on this class will raise :exc:`ValueError` if the pattern " "matches the template without one of these named groups matching." @@ -1498,18 +1497,18 @@ msgstr "" "Os métodos nesta classe irão levantar :exc:`ValueError` se o padrão " "corresponder ao modelo sem que um desses grupos nomeados corresponda." -#: ../../library/string.rst:904 +#: ../../library/string.rst:906 msgid "Helper functions" msgstr "Funções auxiliares" -#: ../../library/string.rst:908 +#: ../../library/string.rst:910 msgid "" "Split the argument into words using :meth:`str.split`, capitalize each word " -"using :meth:`str.capitalize`, and join the capitalized words using :meth:" -"`str.join`. If the optional second argument *sep* is absent or ``None``, " -"runs of whitespace characters are replaced by a single space and leading and " -"trailing whitespace are removed, otherwise *sep* is used to split and join " -"the words." +"using :meth:`str.capitalize`, and join the capitalized words " +"using :meth:`str.join`. If the optional second argument *sep* is absent or " +"``None``, runs of whitespace characters are replaced by a single space and " +"leading and trailing whitespace are removed, otherwise *sep* is used to " +"split and join the words." msgstr "" "Divide o argumento em palavras usando :meth:`str.split`, coloca cada palavra " "em maiúscula usando :meth:`str.capitalize`, e junte as palavras em " @@ -1521,75 +1520,75 @@ msgstr "" #: ../../library/string.rst:195 msgid "{} (curly brackets)" -msgstr "" +msgstr "{} (chaves)" -#: ../../library/string.rst:195 ../../library/string.rst:333 -#: ../../library/string.rst:365 ../../library/string.rst:384 -#: ../../library/string.rst:393 ../../library/string.rst:407 -#: ../../library/string.rst:416 +#: ../../library/string.rst:195 ../../library/string.rst:335 +#: ../../library/string.rst:367 ../../library/string.rst:386 +#: ../../library/string.rst:395 ../../library/string.rst:409 +#: ../../library/string.rst:418 msgid "in string formatting" -msgstr "" +msgstr "na formatação de strings" #: ../../library/string.rst:195 msgid ". (dot)" -msgstr "" +msgstr ". (ponto)" #: ../../library/string.rst:195 msgid "[] (square brackets)" -msgstr "" +msgstr "[] (colchetes)" #: ../../library/string.rst:195 msgid "! (exclamation)" -msgstr "" +msgstr "! (exclamação)" #: ../../library/string.rst:195 msgid ": (colon)" -msgstr "" +msgstr ": (dois pontos)" -#: ../../library/string.rst:333 +#: ../../library/string.rst:335 msgid "< (less)" -msgstr "" +msgstr "< (menor que)" -#: ../../library/string.rst:333 +#: ../../library/string.rst:335 msgid "> (greater)" -msgstr "" +msgstr "> (maior)" -#: ../../library/string.rst:333 +#: ../../library/string.rst:335 msgid "= (equals)" -msgstr "" +msgstr "= (igual)" -#: ../../library/string.rst:333 +#: ../../library/string.rst:335 msgid "^ (caret)" -msgstr "" +msgstr "^ (circunflexo)" -#: ../../library/string.rst:365 +#: ../../library/string.rst:367 msgid "+ (plus)" -msgstr "" +msgstr "+ (mais)" -#: ../../library/string.rst:365 +#: ../../library/string.rst:367 msgid "- (minus)" -msgstr "" +msgstr "- (menos)" -#: ../../library/string.rst:384 +#: ../../library/string.rst:386 msgid "z" -msgstr "" +msgstr "z" -#: ../../library/string.rst:393 +#: ../../library/string.rst:395 msgid "# (hash)" msgstr "# (cerquilha)" -#: ../../library/string.rst:407 +#: ../../library/string.rst:409 msgid ", (comma)" -msgstr "" +msgstr ", (vírgula)" -#: ../../library/string.rst:416 +#: ../../library/string.rst:418 msgid "_ (underscore)" -msgstr "" +msgstr "_ (sublinhado)" -#: ../../library/string.rst:744 +#: ../../library/string.rst:746 msgid "$ (dollar)" -msgstr "" +msgstr "$ (dólar)" -#: ../../library/string.rst:744 +#: ../../library/string.rst:746 msgid "in template strings" -msgstr "" +msgstr "em strings template" diff --git a/library/stringprep.po b/library/stringprep.po index f38ebdf16..9dc4a15f0 100644 --- a/library/stringprep.po +++ b/library/stringprep.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,6 +40,12 @@ msgid "" "possible identifications, to allow only identifications consisting of " "\"printable\" characters." msgstr "" +"Ao identificar coisas (como nomes de host) na internet, muitas vezes é " +"necessário comparar tais identificações para \"igualdade\". Exatamente como " +"essa comparação é executada pode depender do domínio da aplicação, por " +"exemplo, se deve ser insensível a maiúsculas e minúsculas ou não. Também " +"pode ser necessário restringir as possíveis identificações, para permitir " +"apenas identificações consistindo de caracteres \"imprimíveis\"." #: ../../library/stringprep.rst:21 msgid "" @@ -52,118 +58,161 @@ msgid "" "``stringprep`` profile is ``nameprep``, which is used for internationalized " "domain names." msgstr "" +":rfc:`3454` define um procedimento para \"preparar\" strings Unicode em " +"protocolos de internet. Antes de passar strings para o fio, elas são " +"processadas com o procedimento de preparação, após o qual elas têm uma certa " +"forma normalizada. O RFC define um conjunto de tabelas, que podem ser " +"combinadas em perfis. Cada perfil deve definir quais tabelas ele usa, e " +"quais outras partes opcionais do procedimento ``stringprep`` são parte do " +"perfil. Um exemplo de um perfil ``stringprep`` é ``nameprep``, que é usado " +"para nomes de domínio internacionalizados." #: ../../library/stringprep.rst:29 msgid "" "The module :mod:`stringprep` only exposes the tables from :rfc:`3454`. As " -"these tables would be very large to represent them as dictionaries or lists, " -"the module uses the Unicode character database internally. The module source " +"these tables would be very large to represent as dictionaries or lists, the " +"module uses the Unicode character database internally. The module source " "code itself was generated using the ``mkstringprep.py`` utility." msgstr "" +"O módulo :mod:`stringprep` expõe apenas as tabelas do :rfc:`3454`. Como " +"essas tabelas seriam muito grandes para representar como dicionários ou " +"listas, o módulo usa o banco de dados de caracteres Unicode internamente. O " +"código-fonte do módulo em si foi gerado usando o utilitário " +"``mkstringprep.py``." #: ../../library/stringprep.rst:34 msgid "" "As a result, these tables are exposed as functions, not as data structures. " -"There are two kinds of tables in the RFC: sets and mappings. For a set, :mod:" -"`stringprep` provides the \"characteristic function\", i.e. a function that " -"returns ``True`` if the parameter is part of the set. For mappings, it " -"provides the mapping function: given the key, it returns the associated " -"value. Below is a list of all functions available in the module." -msgstr "" +"There are two kinds of tables in the RFC: sets and mappings. For a " +"set, :mod:`stringprep` provides the \"characteristic function\", i.e. a " +"function that returns ``True`` if the parameter is part of the set. For " +"mappings, it provides the mapping function: given the key, it returns the " +"associated value. Below is a list of all functions available in the module." +msgstr "" +"Como resultado, essas tabelas são expostas como funções, não como estruturas " +"de dados. Existem dois tipos de tabelas no RFC: conjuntos e mapeamentos. " +"Para um conjunto, :mod:`stringprep` fornece a \"função característica\", ou " +"seja, uma função que retorna ``True`` se o parâmetro fizer parte do " +"conjunto. Para mapeamentos, ele fornece a função de mapeamento: dada a " +"chave, ele retorna o valor associado. Abaixo está uma lista de todas as " +"funções disponíveis no módulo." #: ../../library/stringprep.rst:44 msgid "" "Determine whether *code* is in tableA.1 (Unassigned code points in Unicode " "3.2)." msgstr "" +"Determina se *code* está na tabela A.1 (pontos de código não atribuídos no " +"Unicode 3.2)." #: ../../library/stringprep.rst:49 msgid "Determine whether *code* is in tableB.1 (Commonly mapped to nothing)." -msgstr "" +msgstr "Determina se *code* está na tabela B.1 (comumente mapeado para nada)." #: ../../library/stringprep.rst:54 msgid "" "Return the mapped value for *code* according to tableB.2 (Mapping for case-" "folding used with NFKC)." msgstr "" +"Retorna o valor mapeado para *code* de acordo com a tabela B.2 (mapeamento " +"para dobramento de casos usado com NFKC)." #: ../../library/stringprep.rst:60 msgid "" "Return the mapped value for *code* according to tableB.3 (Mapping for case-" "folding used with no normalization)." msgstr "" +"Retorna o valor mapeado para *code* de acordo com a tabela B.3 (mapeamento " +"para dobramento de casos usado com nenhuma normalização)." #: ../../library/stringprep.rst:66 msgid "Determine whether *code* is in tableC.1.1 (ASCII space characters)." -msgstr "" +msgstr "Determina se *code* está na tabela C.1.1 (caracteres de espaço ASCII)." #: ../../library/stringprep.rst:71 msgid "" "Determine whether *code* is in tableC.1.2 (Non-ASCII space characters)." msgstr "" +"Determina se *code* está na tabela C.1.2 (caracteres de espaço não-ASCII)." #: ../../library/stringprep.rst:76 msgid "" "Determine whether *code* is in tableC.1 (Space characters, union of C.1.1 " "and C.1.2)." msgstr "" +"Determina se *code* está na tabela C.1 (caracteres de espaço, união de C.1.1 " +"e C.1.2)." #: ../../library/stringprep.rst:82 msgid "Determine whether *code* is in tableC.2.1 (ASCII control characters)." msgstr "" +"Determina se *code* está na tabela C.2.1 (caracteres de controle ASCII)." #: ../../library/stringprep.rst:87 msgid "" "Determine whether *code* is in tableC.2.2 (Non-ASCII control characters)." msgstr "" +"Determina se *code* está na tabela C.2.2 (caracteres de controle não-ASCII)." #: ../../library/stringprep.rst:92 msgid "" "Determine whether *code* is in tableC.2 (Control characters, union of C.2.1 " "and C.2.2)." msgstr "" +"Determina se *code* está na tabela C.2 (caracteres de controle, união de " +"C.2.1 e C.2.2)." #: ../../library/stringprep.rst:98 msgid "Determine whether *code* is in tableC.3 (Private use)." -msgstr "" +msgstr "Determina se *code* está na tabela C.3 (uso privado)." #: ../../library/stringprep.rst:103 msgid "Determine whether *code* is in tableC.4 (Non-character code points)." msgstr "" +"Determina se *code* está na tabela C.4 (pontos de código não-caracteres)." #: ../../library/stringprep.rst:108 msgid "Determine whether *code* is in tableC.5 (Surrogate codes)." -msgstr "" +msgstr "Determina se *code* está na tabela C.5 (códigos substitutos)." #: ../../library/stringprep.rst:113 msgid "" "Determine whether *code* is in tableC.6 (Inappropriate for plain text)." msgstr "" +"Determina se *code* está na tabela C.6 (inapropriado para texto simples)." #: ../../library/stringprep.rst:118 msgid "" "Determine whether *code* is in tableC.7 (Inappropriate for canonical " "representation)." msgstr "" +"Determina se *code* está na tabela C.7 (inapropriado para para representação " +"canônica)." #: ../../library/stringprep.rst:124 msgid "" "Determine whether *code* is in tableC.8 (Change display properties or are " "deprecated)." msgstr "" +"Determina se *code* está na tabela C.8 (alteram propriedades de exibição ou " +"estão descontinuadas)." #: ../../library/stringprep.rst:130 msgid "Determine whether *code* is in tableC.9 (Tagging characters)." -msgstr "" +msgstr "Determina se *code* está na tabela C.9 (caracteres de tag)." #: ../../library/stringprep.rst:135 msgid "" "Determine whether *code* is in tableD.1 (Characters with bidirectional " "property \"R\" or \"AL\")." msgstr "" +"Determina se *code* está na tabela D.1 (Caracteres com propriedade " +"bidirecional \"R\" ou \"AL\")." #: ../../library/stringprep.rst:141 msgid "" "Determine whether *code* is in tableD.2 (Characters with bidirectional " "property \"L\")." msgstr "" +"Determina se *code* está na tabela D.2 (Caracteres com propriedade " +"bidirecional \"L\")." diff --git a/library/struct.po b/library/struct.po index 77d0a6ef0..4bd4d2bbf 100644 --- a/library/struct.po +++ b/library/struct.po @@ -1,34 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Misael borges , 2021 -# Juliana Karoline , 2021 -# (Douglas da Silva) , 2022 -# i17obot , 2022 -# Vinicius Gubiani Ferreira , 2022 -# Julia Rizza , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -50,6 +41,13 @@ msgid "" "connections), or data transfer between the Python application and the C " "layer." msgstr "" +"Este módulo converte entre valores Python e structs C representados como " +"objetos :class:`bytes` do Python. :ref:`Strings de formato ` compactas descrevem as conversões pretendidas de/para valores " +"Python. As funções e objetos do módulo podem ser usados para duas aplicações " +"amplamente distintas, troca de dados com fontes externas (arquivos ou " +"conexões de rede) ou transferência de dados entre a aplicação Python e a " +"camada C." #: ../../library/struct.rst:25 msgid "" @@ -62,31 +60,48 @@ msgid "" "for defining byte ordering and padding between elements. See :ref:`struct-" "alignment` for details." msgstr "" +"Quando nenhum caractere de prefixo é fornecido, o modo nativo é o padrão. " +"Ele empacota ou descompacta dados com base na plataforma e no compilador nos " +"quais o interpretador Python foi construído. O resultado do empacotamento de " +"uma dada estrutura C inclui bytes de preenchimento que mantêm o alinhamento " +"adequado para os tipos C envolvidos; similarmente, o alinhamento é levado em " +"conta ao desempacotar. Em contraste, ao comunicar dados entre fontes " +"externas, o programador é responsável por definir a ordenação de bytes e o " +"preenchimento entre os elementos. Veja :ref:`struct-alignment` para detalhes." #: ../../library/struct.rst:35 msgid "" "Several :mod:`struct` functions (and methods of :class:`Struct`) take a " -"*buffer* argument. This refers to objects that implement the :ref:" -"`bufferobjects` and provide either a readable or read-writable buffer. The " -"most common types used for that purpose are :class:`bytes` and :class:" -"`bytearray`, but many other types that can be viewed as an array of bytes " -"implement the buffer protocol, so that they can be read/filled without " -"additional copying from a :class:`bytes` object." -msgstr "" +"*buffer* argument. This refers to objects that implement " +"the :ref:`bufferobjects` and provide either a readable or read-writable " +"buffer. The most common types used for that purpose are :class:`bytes` " +"and :class:`bytearray`, but many other types that can be viewed as an array " +"of bytes implement the buffer protocol, so that they can be read/filled " +"without additional copying from a :class:`bytes` object." +msgstr "" +"Várias funções :mod:`struct` (e métodos de :class:`Struct`) recebem um " +"argumento *buffer*. Isso se refere a objetos que " +"implementam :ref:`bufferobjects` e fornecem um buffer legível ou de leitura-" +"gravação. Os tipos mais comuns usados para esse propósito são :class:`bytes` " +"e :class:`bytearray`, mas muitos outros tipos que podem ser vistos como uma " +"matriz de bytes implementam o protocolo de buffer, para que possam ser lidos/" +"preenchidos sem cópia adicional de um objeto :class:`bytes`." #: ../../library/struct.rst:44 msgid "Functions and Exceptions" -msgstr "Funções e Exceções" +msgstr "Funções e exceções" #: ../../library/struct.rst:46 msgid "The module defines the following exception and functions:" -msgstr "" +msgstr "O módulo define as seguintes exceções e funções:" #: ../../library/struct.rst:51 msgid "" "Exception raised on various occasions; argument is a string describing what " "is wrong." msgstr "" +"Exceção levantada em várias ocasiões; argumento é uma string que descreve o " +"que está errado." #: ../../library/struct.rst:57 msgid "" @@ -239,72 +254,90 @@ msgstr "rede (= big-endian)" msgid "If the first character is not one of these, ``'@'`` is assumed." msgstr "Se o primeiro caractere não for um destes, ``'@'`` é presumido." -#: ../../library/struct.rst:159 +#: ../../library/struct.rst:161 +msgid "" +"The number 1023 (``0x3ff`` in hexadecimal) has the following byte " +"representations:" +msgstr "" + +#: ../../library/struct.rst:163 +msgid "``03 ff`` in big-endian (``>``)" +msgstr "" + +#: ../../library/struct.rst:164 +msgid "``ff 03`` in little-endian (``<``)" +msgstr "" + +#: ../../library/struct.rst:166 +msgid "Python example:" +msgstr "" + +#: ../../library/struct.rst:174 msgid "" "Native byte order is big-endian or little-endian, depending on the host " "system. For example, Intel x86, AMD64 (x86-64), and Apple M1 are little-" -"endian; IBM z and many legacy architectures are big-endian. Use :data:`sys." -"byteorder` to check the endianness of your system." +"endian; IBM z and many legacy architectures are big-endian. " +"Use :data:`sys.byteorder` to check the endianness of your system." msgstr "" -#: ../../library/struct.rst:164 +#: ../../library/struct.rst:179 msgid "" "Native size and alignment are determined using the C compiler's ``sizeof`` " "expression. This is always combined with native byte order." msgstr "" -#: ../../library/struct.rst:167 +#: ../../library/struct.rst:182 msgid "" -"Standard size depends only on the format character; see the table in the :" -"ref:`format-characters` section." +"Standard size depends only on the format character; see the table in " +"the :ref:`format-characters` section." msgstr "" -#: ../../library/struct.rst:170 +#: ../../library/struct.rst:185 msgid "" "Note the difference between ``'@'`` and ``'='``: both use native byte order, " "but the size and alignment of the latter is standardized." msgstr "" -#: ../../library/struct.rst:173 +#: ../../library/struct.rst:188 msgid "" "The form ``'!'`` represents the network byte order which is always big-" "endian as defined in `IETF RFC 1700 `_." msgstr "" -#: ../../library/struct.rst:176 +#: ../../library/struct.rst:191 msgid "" "There is no way to indicate non-native byte order (force byte-swapping); use " "the appropriate choice of ``'<'`` or ``'>'``." msgstr "" -#: ../../library/struct.rst:179 ../../library/struct.rst:258 +#: ../../library/struct.rst:194 ../../library/struct.rst:273 msgid "Notes:" msgstr "Notas:" -#: ../../library/struct.rst:181 +#: ../../library/struct.rst:196 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 "" -#: ../../library/struct.rst:184 +#: ../../library/struct.rst:199 msgid "" "No padding is added when using non-native size and alignment, e.g. with '<', " "'>', '=', and '!'." msgstr "" -#: ../../library/struct.rst:187 +#: ../../library/struct.rst:202 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 "" -#: ../../library/struct.rst:195 +#: ../../library/struct.rst:210 msgid "Format Characters" msgstr "Caracteres Formatados" -#: ../../library/struct.rst:197 +#: ../../library/struct.rst:212 msgid "" "Format characters have the following meaning; the conversion between C and " "Python values should be obvious given their types. The 'Standard size' " @@ -314,310 +347,310 @@ msgid "" "platform-dependent." msgstr "" -#: ../../library/struct.rst:205 +#: ../../library/struct.rst:220 msgid "Format" msgstr "Formatação" -#: ../../library/struct.rst:205 +#: ../../library/struct.rst:220 msgid "C Type" msgstr "Tipo em C" -#: ../../library/struct.rst:205 +#: ../../library/struct.rst:220 msgid "Python type" -msgstr "Python type" +msgstr "Tipo em Python" -#: ../../library/struct.rst:205 +#: ../../library/struct.rst:220 msgid "Standard size" msgstr "" -#: ../../library/struct.rst:205 +#: ../../library/struct.rst:220 msgid "Notes" msgstr "Notas" -#: ../../library/struct.rst:207 +#: ../../library/struct.rst:222 msgid "``x``" msgstr "``x``" -#: ../../library/struct.rst:207 +#: ../../library/struct.rst:222 msgid "pad byte" msgstr "" -#: ../../library/struct.rst:207 +#: ../../library/struct.rst:222 msgid "no value" msgstr "" -#: ../../library/struct.rst:207 +#: ../../library/struct.rst:222 msgid "\\(7)" msgstr "\\(7)" -#: ../../library/struct.rst:209 +#: ../../library/struct.rst:224 msgid "``c``" msgstr "``c``" -#: ../../library/struct.rst:209 +#: ../../library/struct.rst:224 msgid ":c:expr:`char`" msgstr ":c:expr:`char`" -#: ../../library/struct.rst:209 +#: ../../library/struct.rst:224 msgid "bytes of length 1" msgstr "" -#: ../../library/struct.rst:209 ../../library/struct.rst:211 -#: ../../library/struct.rst:213 ../../library/struct.rst:215 +#: ../../library/struct.rst:224 ../../library/struct.rst:226 +#: ../../library/struct.rst:228 ../../library/struct.rst:230 msgid "1" msgstr "1" -#: ../../library/struct.rst:211 +#: ../../library/struct.rst:226 msgid "``b``" msgstr "``b``" -#: ../../library/struct.rst:211 +#: ../../library/struct.rst:226 msgid ":c:expr:`signed char`" msgstr "" -#: ../../library/struct.rst:211 ../../library/struct.rst:213 -#: ../../library/struct.rst:217 ../../library/struct.rst:219 -#: ../../library/struct.rst:221 ../../library/struct.rst:223 -#: ../../library/struct.rst:225 ../../library/struct.rst:227 -#: ../../library/struct.rst:229 ../../library/struct.rst:231 -#: ../../library/struct.rst:234 ../../library/struct.rst:236 -#: ../../library/struct.rst:248 +#: ../../library/struct.rst:226 ../../library/struct.rst:228 +#: ../../library/struct.rst:232 ../../library/struct.rst:234 +#: ../../library/struct.rst:236 ../../library/struct.rst:238 +#: ../../library/struct.rst:240 ../../library/struct.rst:242 +#: ../../library/struct.rst:244 ../../library/struct.rst:246 +#: ../../library/struct.rst:249 ../../library/struct.rst:251 +#: ../../library/struct.rst:263 msgid "integer" msgstr "inteiro" -#: ../../library/struct.rst:211 +#: ../../library/struct.rst:226 msgid "\\(1), \\(2)" msgstr "" -#: ../../library/struct.rst:213 +#: ../../library/struct.rst:228 msgid "``B``" msgstr "``B``" -#: ../../library/struct.rst:213 +#: ../../library/struct.rst:228 msgid ":c:expr:`unsigned char`" msgstr ":c:expr:`unsigned char`" -#: ../../library/struct.rst:213 ../../library/struct.rst:217 -#: ../../library/struct.rst:219 ../../library/struct.rst:221 -#: ../../library/struct.rst:223 ../../library/struct.rst:225 -#: ../../library/struct.rst:227 ../../library/struct.rst:229 -#: ../../library/struct.rst:231 +#: ../../library/struct.rst:228 ../../library/struct.rst:232 +#: ../../library/struct.rst:234 ../../library/struct.rst:236 +#: ../../library/struct.rst:238 ../../library/struct.rst:240 +#: ../../library/struct.rst:242 ../../library/struct.rst:244 +#: ../../library/struct.rst:246 msgid "\\(2)" msgstr "\\(2)" -#: ../../library/struct.rst:215 +#: ../../library/struct.rst:230 msgid "``?``" msgstr "``?``" -#: ../../library/struct.rst:215 +#: ../../library/struct.rst:230 msgid ":c:expr:`_Bool`" msgstr ":c:expr:`_Bool`" -#: ../../library/struct.rst:215 +#: ../../library/struct.rst:230 msgid "bool" msgstr "bool" -#: ../../library/struct.rst:215 +#: ../../library/struct.rst:230 msgid "\\(1)" msgstr "\\(1)" -#: ../../library/struct.rst:217 +#: ../../library/struct.rst:232 msgid "``h``" msgstr "``h``" -#: ../../library/struct.rst:217 +#: ../../library/struct.rst:232 msgid ":c:expr:`short`" msgstr ":c:expr:`short`" -#: ../../library/struct.rst:217 ../../library/struct.rst:219 -#: ../../library/struct.rst:238 +#: ../../library/struct.rst:232 ../../library/struct.rst:234 +#: ../../library/struct.rst:253 msgid "2" msgstr "2" -#: ../../library/struct.rst:219 +#: ../../library/struct.rst:234 msgid "``H``" msgstr "``H``" -#: ../../library/struct.rst:219 +#: ../../library/struct.rst:234 msgid ":c:expr:`unsigned short`" msgstr ":c:expr:`unsigned short`" -#: ../../library/struct.rst:221 +#: ../../library/struct.rst:236 msgid "``i``" msgstr "``i``" -#: ../../library/struct.rst:221 +#: ../../library/struct.rst:236 msgid ":c:expr:`int`" msgstr ":c:expr:`int`" -#: ../../library/struct.rst:221 ../../library/struct.rst:223 -#: ../../library/struct.rst:225 ../../library/struct.rst:227 -#: ../../library/struct.rst:240 +#: ../../library/struct.rst:236 ../../library/struct.rst:238 +#: ../../library/struct.rst:240 ../../library/struct.rst:242 +#: ../../library/struct.rst:255 msgid "4" msgstr "4" -#: ../../library/struct.rst:223 +#: ../../library/struct.rst:238 msgid "``I``" msgstr "``I``" -#: ../../library/struct.rst:223 +#: ../../library/struct.rst:238 msgid ":c:expr:`unsigned int`" msgstr ":c:expr:`unsigned int`" -#: ../../library/struct.rst:225 +#: ../../library/struct.rst:240 msgid "``l``" msgstr "``l``" -#: ../../library/struct.rst:225 +#: ../../library/struct.rst:240 msgid ":c:expr:`long`" msgstr ":c:expr:`long`" -#: ../../library/struct.rst:227 +#: ../../library/struct.rst:242 msgid "``L``" msgstr "``L``" -#: ../../library/struct.rst:227 +#: ../../library/struct.rst:242 msgid ":c:expr:`unsigned long`" msgstr ":c:expr:`unsigned long`" -#: ../../library/struct.rst:229 +#: ../../library/struct.rst:244 msgid "``q``" msgstr "``q``" -#: ../../library/struct.rst:229 +#: ../../library/struct.rst:244 msgid ":c:expr:`long long`" -msgstr "" +msgstr ":c:expr:`long long`" -#: ../../library/struct.rst:229 ../../library/struct.rst:231 -#: ../../library/struct.rst:242 +#: ../../library/struct.rst:244 ../../library/struct.rst:246 +#: ../../library/struct.rst:257 msgid "8" msgstr "8" -#: ../../library/struct.rst:231 +#: ../../library/struct.rst:246 msgid "``Q``" msgstr "``Q``" -#: ../../library/struct.rst:231 +#: ../../library/struct.rst:246 msgid ":c:expr:`unsigned long long`" -msgstr "" +msgstr ":c:expr:`unsigned long long`" -#: ../../library/struct.rst:234 +#: ../../library/struct.rst:249 msgid "``n``" msgstr "``n``" -#: ../../library/struct.rst:234 -msgid ":c:expr:`ssize_t`" -msgstr "" +#: ../../library/struct.rst:249 +msgid ":c:type:`ssize_t`" +msgstr ":c:type:`ssize_t`" -#: ../../library/struct.rst:234 ../../library/struct.rst:236 +#: ../../library/struct.rst:249 ../../library/struct.rst:251 msgid "\\(3)" msgstr "\\(3)" -#: ../../library/struct.rst:236 +#: ../../library/struct.rst:251 msgid "``N``" msgstr "``N``" -#: ../../library/struct.rst:236 -msgid ":c:expr:`size_t`" -msgstr ":c:expr:`size_t`" +#: ../../library/struct.rst:251 +msgid ":c:type:`size_t`" +msgstr ":c:type:`size_t`" -#: ../../library/struct.rst:238 +#: ../../library/struct.rst:253 msgid "``e``" msgstr "``e``" -#: ../../library/struct.rst:238 +#: ../../library/struct.rst:253 msgid "\\(6)" msgstr "\\(6)" -#: ../../library/struct.rst:238 ../../library/struct.rst:240 -#: ../../library/struct.rst:242 +#: ../../library/struct.rst:253 ../../library/struct.rst:255 +#: ../../library/struct.rst:257 msgid "float" -msgstr "float" +msgstr "ponto flutuante" -#: ../../library/struct.rst:238 ../../library/struct.rst:240 -#: ../../library/struct.rst:242 +#: ../../library/struct.rst:253 ../../library/struct.rst:255 +#: ../../library/struct.rst:257 msgid "\\(4)" msgstr "\\(4)" -#: ../../library/struct.rst:240 +#: ../../library/struct.rst:255 msgid "``f``" msgstr "``f``" -#: ../../library/struct.rst:240 +#: ../../library/struct.rst:255 msgid ":c:expr:`float`" msgstr ":c:expr:`float`" -#: ../../library/struct.rst:242 +#: ../../library/struct.rst:257 msgid "``d``" msgstr "``d``" -#: ../../library/struct.rst:242 +#: ../../library/struct.rst:257 msgid ":c:expr:`double`" msgstr ":c:expr:`double`" -#: ../../library/struct.rst:244 +#: ../../library/struct.rst:259 msgid "``s``" msgstr "``s``" -#: ../../library/struct.rst:244 ../../library/struct.rst:246 +#: ../../library/struct.rst:259 ../../library/struct.rst:261 msgid ":c:expr:`char[]`" msgstr "" -#: ../../library/struct.rst:244 ../../library/struct.rst:246 +#: ../../library/struct.rst:259 ../../library/struct.rst:261 msgid "bytes" -msgstr "" +msgstr "bytes" -#: ../../library/struct.rst:244 +#: ../../library/struct.rst:259 msgid "\\(9)" msgstr "\\(9)" -#: ../../library/struct.rst:246 +#: ../../library/struct.rst:261 msgid "``p``" msgstr "``p``" -#: ../../library/struct.rst:246 +#: ../../library/struct.rst:261 msgid "\\(8)" msgstr "\\(8)" -#: ../../library/struct.rst:248 +#: ../../library/struct.rst:263 msgid "``P``" msgstr "``P``" -#: ../../library/struct.rst:248 +#: ../../library/struct.rst:263 msgid ":c:expr:`void \\*`" msgstr "" -#: ../../library/struct.rst:248 +#: ../../library/struct.rst:263 msgid "\\(5)" msgstr "\\(5)" -#: ../../library/struct.rst:251 +#: ../../library/struct.rst:266 msgid "Added support for the ``'n'`` and ``'N'`` formats." msgstr "" -#: ../../library/struct.rst:254 +#: ../../library/struct.rst:269 msgid "Added support for the ``'e'`` format." msgstr "" -#: ../../library/struct.rst:263 +#: ../../library/struct.rst:278 msgid "" "The ``'?'`` conversion code corresponds to the :c:expr:`_Bool` type defined " -"by C99. If this type is not available, it is simulated using a :c:expr:" -"`char`. In standard mode, it is always represented by one byte." +"by C99. If this type is not available, it is simulated using " +"a :c:expr:`char`. In standard mode, it is always represented by one byte." msgstr "" -#: ../../library/struct.rst:268 +#: ../../library/struct.rst:283 msgid "" "When attempting to pack a non-integer using any of the integer conversion " -"codes, if the non-integer has a :meth:`__index__` method then that method is " -"called to convert the argument to an integer before packing." +"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 "" -#: ../../library/struct.rst:272 -msgid "Added use of the :meth:`__index__` method for non-integers." +#: ../../library/struct.rst:287 +msgid "Added use of the :meth:`~object.__index__` method for non-integers." msgstr "" -#: ../../library/struct.rst:276 +#: ../../library/struct.rst:291 msgid "" "The ``'n'`` and ``'N'`` conversion codes are only available for the native " "size (selected as the default or with the ``'@'`` byte order character). For " @@ -625,7 +658,7 @@ msgid "" "your application." msgstr "" -#: ../../library/struct.rst:282 +#: ../../library/struct.rst:297 msgid "" "For the ``'f'``, ``'d'`` and ``'e'`` conversion codes, the packed " "representation uses the IEEE 754 binary32, binary64 or binary16 format (for " @@ -633,7 +666,7 @@ msgid "" "format used by the platform." msgstr "" -#: ../../library/struct.rst:288 +#: ../../library/struct.rst:303 msgid "" "The ``'P'`` format character is only available for the native byte ordering " "(selected as the default or with the ``'@'`` byte order character). The byte " @@ -642,7 +675,7 @@ msgid "" "ordering, so the ``'P'`` format is not available." msgstr "" -#: ../../library/struct.rst:295 +#: ../../library/struct.rst:310 msgid "" "The IEEE 754 binary16 \"half precision\" type was introduced in the 2008 " "revision of the `IEEE 754 standard `_. It has a sign " @@ -654,25 +687,25 @@ msgid "" "format `_ for more information." msgstr "" -#: ../../library/struct.rst:305 +#: ../../library/struct.rst:320 msgid "When packing, ``'x'`` inserts one NUL byte." msgstr "" -#: ../../library/struct.rst:308 +#: ../../library/struct.rst:323 msgid "" "The ``'p'`` format character encodes a \"Pascal string\", meaning a short " "variable-length string stored in a *fixed number of bytes*, given by the " "count. The first byte stored is the length of the string, or 255, whichever " -"is smaller. The bytes of the string follow. If the string passed in to :" -"func:`pack` is too long (longer than the count minus 1), only the leading " -"``count-1`` bytes of the string are stored. If the string is shorter than " -"``count-1``, it is padded with null bytes so that exactly count bytes in all " -"are used. Note that for :func:`unpack`, the ``'p'`` format character " -"consumes ``count`` bytes, but that the string returned can never contain " -"more than 255 bytes." +"is smaller. The bytes of the string follow. If the string passed in " +"to :func:`pack` is too long (longer than the count minus 1), only the " +"leading ``count-1`` bytes of the string are stored. If the string is " +"shorter than ``count-1``, it is padded with null bytes so that exactly count " +"bytes in all are used. Note that for :func:`unpack`, the ``'p'`` format " +"character consumes ``count`` bytes, but that the string returned can never " +"contain more than 255 bytes." msgstr "" -#: ../../library/struct.rst:320 +#: ../../library/struct.rst:335 msgid "" "For the ``'s'`` format character, the count is interpreted as the length of " "the bytes, not a repeat count like for the other format characters; for " @@ -687,33 +720,33 @@ msgid "" "(while ``'0c'`` means 0 characters)." msgstr "" -#: ../../library/struct.rst:333 +#: ../../library/struct.rst:348 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 "" -#: ../../library/struct.rst:336 +#: ../../library/struct.rst:351 msgid "" "Whitespace characters between formats are ignored; a count and its format " "must not contain whitespace though." msgstr "" -#: ../../library/struct.rst:339 +#: ../../library/struct.rst:354 msgid "" "When packing a value ``x`` using one of the integer formats (``'b'``, " "``'B'``, ``'h'``, ``'H'``, ``'i'``, ``'I'``, ``'l'``, ``'L'``, ``'q'``, " -"``'Q'``), if ``x`` is outside the valid range for that format then :exc:" -"`struct.error` is raised." +"``'Q'``), if ``x`` is outside the valid range for that format " +"then :exc:`struct.error` is raised." msgstr "" -#: ../../library/struct.rst:344 +#: ../../library/struct.rst:359 msgid "" "Previously, some of the integer formats wrapped out-of-range values and " "raised :exc:`DeprecationWarning` instead of :exc:`struct.error`." msgstr "" -#: ../../library/struct.rst:350 +#: ../../library/struct.rst:365 msgid "" "For the ``'?'`` format character, the return value is either :const:`True` " "or :const:`False`. When packing, the truth value of the argument object is " @@ -721,39 +754,39 @@ msgid "" "packed, and any non-zero value will be ``True`` when unpacking." msgstr "" -#: ../../library/struct.rst:360 +#: ../../library/struct.rst:375 msgid "Examples" msgstr "Exemplos" -#: ../../library/struct.rst:363 +#: ../../library/struct.rst:378 msgid "" "Native byte order examples (designated by the ``'@'`` format prefix or lack " "of any prefix character) may not match what the reader's machine produces as " "that depends on the platform and compiler." msgstr "" -#: ../../library/struct.rst:368 +#: ../../library/struct.rst:383 msgid "" "Pack and unpack integers of three different sizes, using big endian " "ordering::" msgstr "" -#: ../../library/struct.rst:379 +#: ../../library/struct.rst:394 msgid "Attempt to pack an integer which is too large for the defined field::" msgstr "" -#: ../../library/struct.rst:386 +#: ../../library/struct.rst:401 msgid "" "Demonstrate the difference between ``'s'`` and ``'c'`` format characters::" msgstr "" -#: ../../library/struct.rst:394 +#: ../../library/struct.rst:409 msgid "" "Unpacked fields can be named by assigning them to variables or by wrapping " "the result in a named tuple::" msgstr "" -#: ../../library/struct.rst:405 +#: ../../library/struct.rst:420 msgid "" "The ordering of format characters may have an impact on size in native mode " "since padding is implicit. In standard mode, the user is responsible for " @@ -763,41 +796,41 @@ msgid "" "a little endian machine::" msgstr "" -#: ../../library/struct.rst:422 +#: ../../library/struct.rst:437 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 "" -#: ../../library/struct.rst:432 +#: ../../library/struct.rst:447 msgid "Module :mod:`array`" msgstr "" -#: ../../library/struct.rst:432 +#: ../../library/struct.rst:447 msgid "Packed binary storage of homogeneous data." msgstr "" -#: ../../library/struct.rst:435 +#: ../../library/struct.rst:450 msgid "Module :mod:`json`" -msgstr "" +msgstr "Módulo :mod:`json`" -#: ../../library/struct.rst:435 +#: ../../library/struct.rst:450 msgid "JSON encoder and decoder." msgstr "" -#: ../../library/struct.rst:437 +#: ../../library/struct.rst:452 msgid "Module :mod:`pickle`" msgstr "Módulo :mod:`pickle`" -#: ../../library/struct.rst:438 +#: ../../library/struct.rst:453 msgid "Python object serialization." msgstr "" -#: ../../library/struct.rst:444 +#: ../../library/struct.rst:459 msgid "Applications" msgstr "" -#: ../../library/struct.rst:446 +#: ../../library/struct.rst:461 msgid "" "Two main applications for the :mod:`struct` module exist, data interchange " "between Python and C code within an application or another application " @@ -807,11 +840,11 @@ msgid "" "speaking, the format strings constructed for these two domains are distinct." msgstr "" -#: ../../library/struct.rst:457 +#: ../../library/struct.rst:472 msgid "Native Formats" msgstr "" -#: ../../library/struct.rst:459 +#: ../../library/struct.rst:474 msgid "" "When constructing format strings which mimic native layouts, the compiler " "and machine architecture determine byte ordering and padding. In such cases, " @@ -822,35 +855,35 @@ msgid "" "of consective chunks of data." msgstr "" -#: ../../library/struct.rst:467 +#: ../../library/struct.rst:482 msgid "" "Consider these two simple examples (on a 64-bit, little-endian machine)::" msgstr "" -#: ../../library/struct.rst:475 +#: ../../library/struct.rst:490 msgid "" "Data is not padded to an 8-byte boundary at the end of the second format " "string without the use of extra padding. A zero-repeat format code solves " "that problem::" msgstr "" -#: ../../library/struct.rst:482 +#: ../../library/struct.rst:497 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 "" -#: ../../library/struct.rst:485 +#: ../../library/struct.rst:500 msgid "" "By default, native byte ordering and alignment is used, but it is better to " "be explicit and use the ``'@'`` prefix character." msgstr "" -#: ../../library/struct.rst:492 +#: ../../library/struct.rst:507 msgid "Standard Formats" msgstr "" -#: ../../library/struct.rst:494 +#: ../../library/struct.rst:509 msgid "" "When exchanging data beyond your process such as networking or storage, be " "precise. Specify the exact byte order, size, and alignment. Do not assume " @@ -864,22 +897,22 @@ msgid "" "from the previous section, we have::" msgstr "" -#: ../../library/struct.rst:521 +#: ../../library/struct.rst:536 msgid "" "The above results (executed on a 64-bit machine) aren't guaranteed to match " "when executed on different machines. For example, the examples below were " "executed on a 32-bit machine::" msgstr "" -#: ../../library/struct.rst:536 +#: ../../library/struct.rst:551 msgid "Classes" msgstr "Classes" -#: ../../library/struct.rst:538 +#: ../../library/struct.rst:553 msgid "The :mod:`struct` module also defines the following type:" msgstr "" -#: ../../library/struct.rst:543 +#: ../../library/struct.rst:558 msgid "" "Return a new Struct object which writes and reads binary data according to " "the format string *format*. Creating a ``Struct`` object once and calling " @@ -887,56 +920,56 @@ msgid "" "same format since the format string is only compiled once." msgstr "" -#: ../../library/struct.rst:550 +#: ../../library/struct.rst:565 msgid "" -"The compiled versions of the most recent format strings passed to :class:" -"`Struct` and the module-level functions are cached, so programs that use " -"only a few format strings needn't worry about reusing a single :class:" -"`Struct` instance." +"The compiled versions of the most recent format strings passed " +"to :class:`Struct` and the module-level functions are cached, so programs " +"that use only a few format strings needn't worry about reusing a " +"single :class:`Struct` instance." msgstr "" -#: ../../library/struct.rst:555 +#: ../../library/struct.rst:570 msgid "Compiled Struct objects support the following methods and attributes:" msgstr "" -#: ../../library/struct.rst:559 +#: ../../library/struct.rst:574 msgid "" "Identical to the :func:`pack` function, using the compiled format. " "(``len(result)`` will equal :attr:`size`.)" msgstr "" -#: ../../library/struct.rst:565 +#: ../../library/struct.rst:580 msgid "Identical to the :func:`pack_into` function, using the compiled format." msgstr "" -#: ../../library/struct.rst:570 +#: ../../library/struct.rst:585 msgid "" "Identical to the :func:`unpack` function, using the compiled format. The " "buffer's size in bytes must equal :attr:`size`." msgstr "" -#: ../../library/struct.rst:576 +#: ../../library/struct.rst:591 msgid "" "Identical to the :func:`unpack_from` function, using the compiled format. " -"The buffer's size in bytes, starting at position *offset*, must be at least :" -"attr:`size`." +"The buffer's size in bytes, starting at position *offset*, must be at " +"least :attr:`size`." msgstr "" -#: ../../library/struct.rst:583 +#: ../../library/struct.rst:598 msgid "" "Identical to the :func:`iter_unpack` function, using the compiled format. " "The buffer's size in bytes must be a multiple of :attr:`size`." msgstr "" -#: ../../library/struct.rst:590 +#: ../../library/struct.rst:605 msgid "The format string used to construct this Struct object." msgstr "" -#: ../../library/struct.rst:592 +#: ../../library/struct.rst:607 msgid "The format string type is now :class:`str` instead of :class:`bytes`." msgstr "" -#: ../../library/struct.rst:597 +#: ../../library/struct.rst:612 msgid "" "The calculated size of the struct (and hence of the bytes object produced by " "the :meth:`pack` method) corresponding to :attr:`format`." @@ -956,7 +989,7 @@ msgstr "" #: ../../library/struct.rst:9 msgid "binary" -msgstr "" +msgstr "binário" #: ../../library/struct.rst:9 msgid "data" @@ -964,29 +997,29 @@ msgstr "dados" #: ../../library/struct.rst:132 msgid "@ (at)" -msgstr "" +msgstr "@ (arroba)" -#: ../../library/struct.rst:132 ../../library/struct.rst:261 -#: ../../library/struct.rst:348 +#: ../../library/struct.rst:132 ../../library/struct.rst:276 +#: ../../library/struct.rst:363 msgid "in struct format strings" msgstr "" #: ../../library/struct.rst:132 msgid "= (equals)" -msgstr "" +msgstr "= (igual)" #: ../../library/struct.rst:132 msgid "< (less)" -msgstr "" +msgstr "< (menor que)" #: ../../library/struct.rst:132 msgid "> (greater)" -msgstr "" +msgstr "> (maior)" #: ../../library/struct.rst:132 msgid "! (exclamation)" -msgstr "" +msgstr "! (exclamação)" -#: ../../library/struct.rst:261 ../../library/struct.rst:348 +#: ../../library/struct.rst:276 ../../library/struct.rst:363 msgid "? (question mark)" -msgstr "" +msgstr "? (interrogação)" diff --git a/library/subprocess.po b/library/subprocess.po index f9a356c81..c8a07f9d4 100644 --- a/library/subprocess.po +++ b/library/subprocess.po @@ -1,33 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Leticia Portella , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Misael borges , 2021 -# i17obot , 2021 -# Augusta Carla Klug , 2021 -# Hildeberto Abreu Magalhães , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -85,10 +77,10 @@ msgid "" "function for all use cases it can handle. For more advanced use cases, the " "underlying :class:`Popen` interface can be used directly." msgstr "" -"A abordagem recomendada para invocar subprocessos é usar a função :func:" -"`run` para todos os casos de uso que ela pode manipular. Para casos de uso " -"mais avançados, a interface subjacente :class:`Popen` pode ser usada " -"diretamente." +"A abordagem recomendada para invocar subprocessos é usar a " +"função :func:`run` para todos os casos de uso que ela pode manipular. Para " +"casos de uso mais avançados, a interface subjacente :class:`Popen` pode ser " +"usada diretamente." #: ../../library/subprocess.rst:43 msgid "" @@ -117,57 +109,68 @@ msgstr "" #: ../../library/subprocess.rst:53 msgid "" "If *capture_output* is true, stdout and stderr will be captured. When used, " -"the internal :class:`Popen` object is automatically created with " -"``stdout=PIPE`` and ``stderr=PIPE``. The *stdout* and *stderr* arguments may " -"not be supplied at the same time as *capture_output*. If you wish to " -"capture and combine both streams into one, use ``stdout=PIPE`` and " -"``stderr=STDOUT`` instead of *capture_output*." +"the internal :class:`Popen` object is automatically created with *stdout* " +"and *stdin* both set to :data:`~subprocess.PIPE`. The *stdout* and *stderr* " +"arguments may not be supplied at the same time as *capture_output*. If you " +"wish to capture and combine both streams into one, set *stdout* " +"to :data:`~subprocess.PIPE` and *stderr* to :data:`~subprocess.STDOUT`, " +"instead of using *capture_output*." msgstr "" "Se *capture_output* for verdadeiro, stdout e stderr serão capturados. Quando " -"usado, o objeto interno :class:`Popen` é automaticamente criado com " -"``stdout=PIPE`` e ``stderr=PIPE``. Os argumentos *stdout * e *stderr* não " -"podem ser fornecidos ao mesmo tempo que *capture_output*. Se você deseja " -"capturar e combinar os dois fluxos em um, use ``stdout=PIPE`` e " -"``stderr=STDOUT`` ao invés de *capture_output*." - -#: ../../library/subprocess.rst:60 -msgid "" -"The *timeout* argument is passed to :meth:`Popen.communicate`. If the " -"timeout expires, the child process will be killed and waited for. The :exc:" -"`TimeoutExpired` exception will be re-raised after the child process has " -"terminated." -msgstr "" -"O argumento *timeout* é passado para :meth:`Popen.communicate`. Se o tempo " -"limite expirar, o processo filho será encerrado e aguardado. A exceção :exc:" -"`TimeoutExpired` será levantada novamente após o término do processo filho." - -#: ../../library/subprocess.rst:65 +"usado, o objeto interno :class:`Popen` é automaticamente criado com *stdout* " +"and *stdin* definidos como :data:`~subprocess.PIPE`. Os argumentos *stdout * " +"e *stderr* não podem ser fornecidos ao mesmo tempo que *capture_output*. Se " +"você deseja capturar e combinar os dois fluxos em um, defina *stdout* " +"para :data:`~subprocess.PIPE` e *stderr* para :data:`~subprocess.STDOUT`, ao " +"invés de usar *capture_output*." + +#: ../../library/subprocess.rst:62 +msgid "" +"A *timeout* may be specified in seconds, it is internally passed on " +"to :meth:`Popen.communicate`. If the timeout expires, the child process will " +"be killed and waited for. The :exc:`TimeoutExpired` exception will be re-" +"raised after the child process has terminated. The initial process creation " +"itself cannot be interrupted on many platform APIs so you are not guaranteed " +"to see a timeout exception until at least after however long process " +"creation takes." +msgstr "" +"Um *timeout* pode ser especificado em segundos, ele é passado internamente " +"para :meth:`Popen.communicate`. Se o tempo limite expirar, o processo filho " +"será eliminado e aguardado. A exceção :exc:`TimeoutExpired` será levantada " +"novamente após o término do processo filho. A criação inicial do processo em " +"si não pode ser interrompida em muitas APIs de plataforma, portanto, não há " +"garantia de que você verá uma exceção de tempo limite até, pelo menos, o " +"tempo que a criação do processo demorar." + +#: ../../library/subprocess.rst:70 msgid "" "The *input* argument is passed to :meth:`Popen.communicate` and thus to the " "subprocess's stdin. If used it must be a byte sequence, or a string if " "*encoding* or *errors* is specified or *text* is true. When used, the " -"internal :class:`Popen` object is automatically created with ``stdin=PIPE``, " -"and the *stdin* argument may not be used as well." +"internal :class:`Popen` object is automatically created with *stdin* set " +"to :data:`~subprocess.PIPE`, and the *stdin* argument may not be used as " +"well." msgstr "" "O argumento *input* é passado para :meth:`Popen.communicate` e, portanto, " "para o stdin do subprocesso. Se usado, deve ser uma sequência de bytes ou " "uma string se *encoding* ou *errors* forem especificados ou *text* for " "verdadeiro. Quando usado, o objeto internal :class:`Popen` é automaticamente " -"criado com ``stdin=PIPE``, e o argumento *stdin* também não pode ser usado." +"criado com :data:`~subprocess.PIPE`, e o argumento *stdin* também não pode " +"ser usado." -#: ../../library/subprocess.rst:71 +#: ../../library/subprocess.rst:77 msgid "" -"If *check* is true, and the process exits with a non-zero exit code, a :exc:" -"`CalledProcessError` exception will be raised. Attributes of that exception " -"hold the arguments, the exit code, and stdout and stderr if they were " -"captured." +"If *check* is true, and the process exits with a non-zero exit code, " +"a :exc:`CalledProcessError` exception will be raised. Attributes of that " +"exception hold the arguments, the exit code, and stdout and stderr if they " +"were captured." msgstr "" "Se *check* for verdadeiro, e o processo sair com um código de saída " "diferente de zero, uma exceção :exc:`CalledProcessError` será levantada. Os " "atributos dessa exceção contêm os argumentos, o código de saída e stdout e " "stderr se eles foram capturados." -#: ../../library/subprocess.rst:76 +#: ../../library/subprocess.rst:82 msgid "" "If *encoding* or *errors* are specified, or *text* is true, file objects for " "stdin, stdout and stderr are opened in text mode using the specified " @@ -176,37 +179,37 @@ msgid "" "backwards compatibility. By default, file objects are opened in binary mode." msgstr "" "Se *encoding* ou *errors* forem especificados, ou *text* for verdadeiro, os " -"objetos de arquivo para stdin, stdout e stderr são abertos em modo de texto " +"objetos arquivo para stdin, stdout e stderr são abertos em modo de texto " "usando a *encoding* e *errors* especificados ou o :class:`io.TextIOWrapper` " "padrão. O argumento *universal_newlines* é equivalente a *text* e é " "fornecido para compatibilidade com versões anteriores. Por padrão, os " "objetos arquivo são abertos no modo binário." -#: ../../library/subprocess.rst:82 +#: ../../library/subprocess.rst:88 msgid "" "If *env* is not ``None``, it must be a mapping that defines the environment " "variables for the new process; these are used instead of the default " "behavior of inheriting the current process' environment. It is passed " "directly to :class:`Popen`. This mapping can be str to str on any platform " -"or bytes to bytes on POSIX platforms much like :data:`os.environ` or :data:" -"`os.environb`." +"or bytes to bytes on POSIX platforms much like :data:`os.environ` " +"or :data:`os.environb`." msgstr "" "Se *env* não for ``None``, deve ser um mapeamento que defina as variáveis de " "ambiente para o novo processo; elas são usadas em vez do comportamento " -"padrão de herdar o ambiente do processo atual. É passado diretamente para :" -"class:`Popen`. Este mapeamento pode ser str para str em qualquer plataforma " -"ou bytes para bytes em plataformas POSIX como :data:`os.environ` ou :data:" -"`os.environb`." +"padrão de herdar o ambiente do processo atual. É passado diretamente " +"para :class:`Popen`. Este mapeamento pode ser str para str em qualquer " +"plataforma ou bytes para bytes em plataformas POSIX como :data:`os.environ` " +"ou :data:`os.environb`." -#: ../../library/subprocess.rst:89 +#: ../../library/subprocess.rst:95 msgid "Examples::" msgstr "Exemplos::" -#: ../../library/subprocess.rst:107 +#: ../../library/subprocess.rst:113 msgid "Added *encoding* and *errors* parameters" -msgstr "Adicionado os parâmetros *encoding* e *errors*." +msgstr "Adicionados os parâmetros *encoding* e *errors*." -#: ../../library/subprocess.rst:111 +#: ../../library/subprocess.rst:117 msgid "" "Added the *text* parameter, as a more understandable alias of " "*universal_newlines*. Added the *capture_output* parameter." @@ -214,31 +217,35 @@ msgstr "" "Adicionado o parâmetro *text*, como um apelido mais compreensível que " "*universal_newlines*. Adicionado o parâmetro *capture_output*." -#: ../../library/subprocess.rst:116 ../../library/subprocess.rst:501 -#: ../../library/subprocess.rst:1184 ../../library/subprocess.rst:1224 -#: ../../library/subprocess.rst:1287 +#: ../../library/subprocess.rst:122 ../../library/subprocess.rst:507 +#: ../../library/subprocess.rst:1206 ../../library/subprocess.rst:1246 +#: ../../library/subprocess.rst:1309 msgid "" "Changed Windows shell search order for ``shell=True``. The current directory " "and ``%PATH%`` are replaced with ``%COMSPEC%`` and ``%SystemRoot%" -"\\System32\\cmd.exe``. As a result, dropping a malicious program named ``cmd." -"exe`` into a current directory no longer works." +"\\System32\\cmd.exe``. As a result, dropping a malicious program named " +"``cmd.exe`` into a current directory no longer works." msgstr "" +"Ordem de pesquisa do shell do Windows alterada para ``shell=True``. O " +"diretório atual e ``%PATH%`` são substituídos por ``%COMSPEC%`` e " +"``%SystemRoot%\\System32\\cmd.exe``. Como resultado, colocar um programa " +"malicioso chamado ``cmd.exe`` em um diretório atual não funciona mais." -#: ../../library/subprocess.rst:124 +#: ../../library/subprocess.rst:130 msgid "" "The return value from :func:`run`, representing a process that has finished." msgstr "" "O valor de retorno de :func:`run`, representando um processo que foi " "concluído." -#: ../../library/subprocess.rst:128 +#: ../../library/subprocess.rst:134 msgid "" "The arguments used to launch the process. This may be a list or a string." msgstr "" "Os argumentos usados para iniciar o processo. Pode ser uma lista ou uma " "string." -#: ../../library/subprocess.rst:132 +#: ../../library/subprocess.rst:138 msgid "" "Exit status of the child process. Typically, an exit status of 0 indicates " "that it ran successfully." @@ -246,7 +253,7 @@ msgstr "" "Status de saída do processo filho. Normalmente, um status de saída 0 indica " "que foi executado com êxito." -#: ../../library/subprocess.rst:135 ../../library/subprocess.rst:931 +#: ../../library/subprocess.rst:141 ../../library/subprocess.rst:953 msgid "" "A negative value ``-N`` indicates that the child was terminated by signal " "``N`` (POSIX only)." @@ -254,17 +261,17 @@ msgstr "" "Um valor negativo ``-N`` indica que o filho foi terminado pelo sinal ``N`` " "(POSIX apenas)." -#: ../../library/subprocess.rst:140 +#: ../../library/subprocess.rst:146 msgid "" -"Captured stdout from the child process. A bytes sequence, or a string if :" -"func:`run` was called with an encoding, errors, or text=True. ``None`` if " -"stdout was not captured." +"Captured stdout from the child process. A bytes sequence, or a string " +"if :func:`run` was called with an encoding, errors, or text=True. ``None`` " +"if stdout was not captured." msgstr "" -"Stdout capturado do processo filho. Uma sequência de bytes ou uma string se :" -"func:`run` foi chamada com uma codificação, erros ou text=True. ``None`` se " -"stdout não foi capturado." +"Stdout capturado do processo filho. Uma sequência de bytes ou uma string " +"se :func:`run` foi chamada com uma codificação, erros ou text=True. ``None`` " +"se stdout não foi capturado." -#: ../../library/subprocess.rst:144 +#: ../../library/subprocess.rst:150 msgid "" "If you ran the process with ``stderr=subprocess.STDOUT``, stdout and stderr " "will be combined in this attribute, and :attr:`stderr` will be ``None``." @@ -272,33 +279,33 @@ msgstr "" "Se você executou o processo com ``stderr=subprocess.STDOUT``, stdout e " "stderr serão combinados neste atributo, e :attr:`stderr` será ``None``." -#: ../../library/subprocess.rst:150 +#: ../../library/subprocess.rst:156 msgid "" -"Captured stderr from the child process. A bytes sequence, or a string if :" -"func:`run` was called with an encoding, errors, or text=True. ``None`` if " -"stderr was not captured." +"Captured stderr from the child process. A bytes sequence, or a string " +"if :func:`run` was called with an encoding, errors, or text=True. ``None`` " +"if stderr was not captured." msgstr "" -"Stderr capturado do processo filho. Uma sequência de bytes ou uma string se :" -"func:`run` foi chamada com uma codificação, erros ou text=True. ``None`` se " -"stderr não foi capturado." +"Stderr capturado do processo filho. Uma sequência de bytes ou uma string " +"se :func:`run` foi chamada com uma codificação, erros ou text=True. ``None`` " +"se stderr não foi capturado." -#: ../../library/subprocess.rst:156 +#: ../../library/subprocess.rst:162 msgid "If :attr:`returncode` is non-zero, raise a :exc:`CalledProcessError`." msgstr "" -"Se :attr:`returncode` é diferente de zero, levantar um :exc:" -"`CalledProcessError`." +"Se :attr:`returncode` é diferente de zero, levantar " +"um :exc:`CalledProcessError`." -#: ../../library/subprocess.rst:162 +#: ../../library/subprocess.rst:168 msgid "" "Special value that can be used as the *stdin*, *stdout* or *stderr* argument " "to :class:`Popen` and indicates that the special file :data:`os.devnull` " "will be used." msgstr "" "Valor especial que pode ser usado como o argumento *stdin*, *stdout* ou " -"*stderr* para :class:`Popen` e indica que o arquivo especial :data:`os." -"devnull` será usado." +"*stderr* para :class:`Popen` e indica que o arquivo " +"especial :data:`os.devnull` será usado." -#: ../../library/subprocess.rst:171 +#: ../../library/subprocess.rst:177 msgid "" "Special value that can be used as the *stdin*, *stdout* or *stderr* argument " "to :class:`Popen` and indicates that a pipe to the standard stream should be " @@ -308,21 +315,21 @@ msgstr "" "*stderr* para :class:`Popen` e indica que um encadeamento para o fluxo " "padrão deve ser aberto. Mais útil com :meth:`Popen.communicate`." -#: ../../library/subprocess.rst:178 +#: ../../library/subprocess.rst:184 msgid "" "Special value that can be used as the *stderr* argument to :class:`Popen` " "and indicates that standard error should go into the same handle as standard " "output." msgstr "" -"Valor especial que pode ser usado como o argumento *stderr* para :class:" -"`Popen` e indica que o erro padrão deve ir para o mesmo manipulador que a " -"saída padrão." +"Valor especial que pode ser usado como o argumento *stderr* " +"para :class:`Popen` e indica que o erro padrão deve ir para o mesmo " +"manipulador que a saída padrão." -#: ../../library/subprocess.rst:185 +#: ../../library/subprocess.rst:191 msgid "Base class for all other exceptions from this module." msgstr "Classe base para todas as outras exceções deste módulo." -#: ../../library/subprocess.rst:192 +#: ../../library/subprocess.rst:198 msgid "" "Subclass of :exc:`SubprocessError`, raised when a timeout expires while " "waiting for a child process." @@ -330,46 +337,59 @@ msgstr "" "Subclasse de :exc:`SubprocessError`, levantada quando um tempo limite expira " "enquanto espera por um processo filho." -#: ../../library/subprocess.rst:197 ../../library/subprocess.rst:241 +#: ../../library/subprocess.rst:203 ../../library/subprocess.rst:247 msgid "Command that was used to spawn the child process." msgstr "Comando que foi usado para gerar o processo filho." -#: ../../library/subprocess.rst:201 +#: ../../library/subprocess.rst:207 msgid "Timeout in seconds." msgstr "Tempo limite em segundos." -#: ../../library/subprocess.rst:205 +#: ../../library/subprocess.rst:211 msgid "" -"Output of the child process if it was captured by :func:`run` or :func:" -"`check_output`. Otherwise, ``None``. This is always :class:`bytes` when " -"any output was captured regardless of the ``text=True`` setting. It may " -"remain ``None`` instead of ``b''`` when no output was observed." +"Output of the child process if it was captured by :func:`run` " +"or :func:`check_output`. Otherwise, ``None``. This is " +"always :class:`bytes` when any output was captured regardless of the " +"``text=True`` setting. It may remain ``None`` instead of ``b''`` when no " +"output was observed." msgstr "" +"Saída do processo filho se ele foi capturado por :func:`run` " +"ou :func:`check_output`. Caso contrário, ``None``. Isto é " +"sempre :class:`bytes` quando qualquer saída foi capturada independente da " +"configuração ``text=True``. Pode permanecer ``None`` em vez de ``b''`` " +"quando nenhuma saída foi observada." -#: ../../library/subprocess.rst:213 ../../library/subprocess.rst:250 +#: ../../library/subprocess.rst:219 ../../library/subprocess.rst:256 msgid "Alias for output, for symmetry with :attr:`stderr`." msgstr "Apelido para a saída, para simetria com :attr:`stderr`." -#: ../../library/subprocess.rst:217 +#: ../../library/subprocess.rst:223 msgid "" "Stderr output of the child process if it was captured by :func:`run`. " "Otherwise, ``None``. This is always :class:`bytes` when stderr output was " "captured regardless of the ``text=True`` setting. It may remain ``None`` " "instead of ``b''`` when no stderr output was observed." msgstr "" +"Saída de stderr do processo filho se ele foi capturado por :func:`run`. Caso " +"contrário, ``None``. Isto é sempre :class:`bytes` quando a saída de stderr " +"foi capturada independente da configuração ``text=True``. Pode permanecer " +"``None`` em vez de ``b''`` quando nenhuma saída de stderr foi observada." -#: ../../library/subprocess.rst:224 ../../library/subprocess.rst:257 +#: ../../library/subprocess.rst:230 ../../library/subprocess.rst:263 msgid "*stdout* and *stderr* attributes added" -msgstr "Atributos *stdout* e *stderr* adicionados" +msgstr "Adicionados os atributos *stdout* e *stderr*" -#: ../../library/subprocess.rst:229 +#: ../../library/subprocess.rst:235 msgid "" -"Subclass of :exc:`SubprocessError`, raised when a process run by :func:" -"`check_call`, :func:`check_output`, or :func:`run` (with ``check=True``) " -"returns a non-zero exit status." +"Subclass of :exc:`SubprocessError`, raised when a process run " +"by :func:`check_call`, :func:`check_output`, or :func:`run` (with " +"``check=True``) returns a non-zero exit status." msgstr "" +"Subclasse de :exc:`SubprocessError`, levantada quando um processo executado " +"por :func:`check_call`, :func:`check_output` ou :func:`run` (com " +"``check=True``) retorna um status de saída diferente de zero." -#: ../../library/subprocess.rst:236 +#: ../../library/subprocess.rst:242 msgid "" "Exit status of the child process. If the process exited due to a signal, " "this will be the negative signal number." @@ -377,15 +397,15 @@ msgstr "" "Status de saída do processo filho. Se o processo foi encerrado devido a um " "sinal, este será o número do sinal negativo." -#: ../../library/subprocess.rst:245 +#: ../../library/subprocess.rst:251 msgid "" -"Output of the child process if it was captured by :func:`run` or :func:" -"`check_output`. Otherwise, ``None``." +"Output of the child process if it was captured by :func:`run` " +"or :func:`check_output`. Otherwise, ``None``." msgstr "" -"Saída do processo filho se ele foi capturado por :func:`run` ou :func:" -"`check_output`. Caso contrário, ``None``." +"Saída do processo filho se ele foi capturado por :func:`run` " +"ou :func:`check_output`. Caso contrário, ``None``." -#: ../../library/subprocess.rst:254 +#: ../../library/subprocess.rst:260 msgid "" "Stderr output of the child process if it was captured by :func:`run`. " "Otherwise, ``None``." @@ -393,24 +413,24 @@ msgstr "" "Saída stderr do processo filho se ele foi capturado por :func:`run`. Caso " "contrário, ``None``." -#: ../../library/subprocess.rst:264 +#: ../../library/subprocess.rst:270 msgid "Frequently Used Arguments" msgstr "Argumentos usados frequentemente" -#: ../../library/subprocess.rst:266 +#: ../../library/subprocess.rst:272 msgid "" "To support a wide variety of use cases, the :class:`Popen` constructor (and " "the convenience functions) accept a large number of optional arguments. For " "most typical use cases, many of these arguments can be safely left at their " "default values. The arguments that are most commonly needed are:" msgstr "" -"Para suportar uma ampla variedade de casos de uso, o construtor :class:" -"`Popen` (e as funções de conveniência) aceita muitos argumentos opcionais. " -"Para a maioria dos casos de uso típicos, muitos desses argumentos podem ser " -"seguramente deixados em seus valores padrão. Os argumentos mais comumente " -"necessários são:" +"Para suportar uma ampla variedade de casos de uso, o " +"construtor :class:`Popen` (e as funções de conveniência) aceita muitos " +"argumentos opcionais. Para a maioria dos casos de uso típicos, muitos desses " +"argumentos podem ser seguramente deixados em seus valores padrão. Os " +"argumentos mais comumente necessários são:" -#: ../../library/subprocess.rst:271 +#: ../../library/subprocess.rst:277 msgid "" "*args* is required for all calls and should be a string, or a sequence of " "program arguments. Providing a sequence of arguments is generally preferred, " @@ -421,13 +441,13 @@ msgid "" msgstr "" "*args* é necessário para todas as chamadas e deve ser uma string ou uma " "sequência de argumentos do programa. Fornecer uma sequência de argumentos " -"geralmente é preferível, pois permite que o módulo cuide de qualquer " -"escapamento e citação de argumentos que forem necessários (por exemplo, para " -"permitir espaços em nomes de arquivo). Se for passada uma única string, " -"*shell* deve ser :const:`True` (veja abaixo) ou então a string deve apenas " -"nomear o programa a ser executado sem especificar nenhum argumento." +"geralmente é preferível, pois permite que o módulo cuide de qualquer escape " +"e aspas em argumentos que forem necessários (por exemplo, para permitir " +"espaços em nomes de arquivo). Se for passada uma única string, *shell* deve " +"ser :const:`True` (veja abaixo) ou então a string deve apenas nomear o " +"programa a ser executado sem especificar nenhum argumento." -#: ../../library/subprocess.rst:279 +#: ../../library/subprocess.rst:285 msgid "" "*stdin*, *stdout* and *stderr* specify the executed program's standard " "input, standard output and standard error file handles, respectively. Valid " @@ -442,7 +462,7 @@ msgid "" "handle as for *stdout*." msgstr "" -#: ../../library/subprocess.rst:294 +#: ../../library/subprocess.rst:300 msgid "" "If *encoding* or *errors* are specified, or *text* (also known as " "*universal_newlines*) is true, the file objects *stdin*, *stdout* and " @@ -450,12 +470,12 @@ msgid "" "specified in the call or the defaults for :class:`io.TextIOWrapper`." msgstr "" "Se *encoding* ou *errors* forem especificados, ou *text* (também conhecido " -"como *universal_newlines*) for verdadeiro, os objetos de arquivo *stdin*, " +"como *universal_newlines*) for verdadeiro, os objetos arquivo *stdin*, " "*stdout* e *stderr* serão abertos em modo de texto usando a *encoding* e " -"*errors* especificados na chamada ou os valores padrão para :class:`io." -"TextIOWrapper`." +"*errors* especificados na chamada ou os valores padrão " +"para :class:`io.TextIOWrapper`." -#: ../../library/subprocess.rst:300 +#: ../../library/subprocess.rst:306 msgid "" "For *stdin*, line ending characters ``'\\n'`` in the input will be converted " "to the default line separator :data:`os.linesep`. For *stdout* and *stderr*, " @@ -470,7 +490,7 @@ msgstr "" "documentação da classe :class:`io.TextIOWrapper` quando o argumento " "*newline* para seu construtor é ``None``." -#: ../../library/subprocess.rst:306 +#: ../../library/subprocess.rst:312 msgid "" "If text mode is not used, *stdin*, *stdout* and *stderr* will be opened as " "binary streams. No encoding or line ending conversion is performed." @@ -479,26 +499,27 @@ msgstr "" "como fluxos binários. Nenhuma codificação ou conversão de final de linha é " "executada." -#: ../../library/subprocess.rst:309 -msgid "Added *encoding* and *errors* parameters." +#: ../../library/subprocess.rst:315 ../../library/subprocess.rst:1561 +#: ../../library/subprocess.rst:1579 +msgid "Added the *encoding* and *errors* parameters." msgstr "Adicionados os parâmetros *encoding* e *errors*." -#: ../../library/subprocess.rst:312 +#: ../../library/subprocess.rst:318 msgid "Added the *text* parameter as an alias for *universal_newlines*." msgstr "" "Adicionado o parâmetro *text* como um apelido para *universal_newlines*." -#: ../../library/subprocess.rst:317 +#: ../../library/subprocess.rst:323 msgid "" -"The newlines attribute of the file objects :attr:`Popen.stdin`, :attr:`Popen." -"stdout` and :attr:`Popen.stderr` are not updated by the :meth:`Popen." -"communicate` method." +"The newlines attribute of the file " +"objects :attr:`Popen.stdin`, :attr:`Popen.stdout` and :attr:`Popen.stderr` " +"are not updated by the :meth:`Popen.communicate` method." msgstr "" -"O atributo newlines dos objetos arquivo :attr:`Popen.stdin`, :attr:`Popen." -"stdout` e :attr:`Popen.stderr` não são atualizados pelo método :meth:`Popen." -"communicate`." +"O atributo newlines dos objetos " +"arquivo :attr:`Popen.stdin`, :attr:`Popen.stdout` e :attr:`Popen.stderr` não " +"são atualizados pelo método :meth:`Popen.communicate`." -#: ../../library/subprocess.rst:321 +#: ../../library/subprocess.rst:327 msgid "" "If *shell* is ``True``, the specified command will be executed through the " "shell. This can be useful if you are using Python primarily for the " @@ -506,9 +527,9 @@ msgid "" "convenient access to other shell features such as shell pipes, filename " "wildcards, environment variable expansion, and expansion of ``~`` to a " "user's home directory. However, note that Python itself offers " -"implementations of many shell-like features (in particular, :mod:`glob`, :" -"mod:`fnmatch`, :func:`os.walk`, :func:`os.path.expandvars`, :func:`os.path." -"expanduser`, and :mod:`shutil`)." +"implementations of many shell-like features (in " +"particular, :mod:`glob`, :mod:`fnmatch`, :func:`os.walk`, :func:`os.path.expandvars`, :func:`os.path.expanduser`, " +"and :mod:`shutil`)." msgstr "" "Se *shell* for ``True``, o comando especificado será executado através do " "shell. Isso pode ser útil se você estiver usando Python principalmente para " @@ -517,28 +538,30 @@ msgstr "" "canais de shell, caracteres curinga de nome de arquivo, expansão de variável " "de ambiente e expansão de ``~`` para o diretório inicial de um usuário. No " "entanto, observe que o próprio Python oferece implementações de muitos " -"recursos semelhantes a shell (em particular, :mod:`glob`, :mod:`fnmatch`, :" -"func:`os.walk`, :func:`os.path.expandvars`, :func:`os.path.expanduser` e :" -"mod:`shutil`)." +"recursos semelhantes a shell (em " +"particular, :mod:`glob`, :mod:`fnmatch`, :func:`os.walk`, :func:`os.path.expandvars`, :func:`os.path.expanduser` " +"e :mod:`shutil`)." -#: ../../library/subprocess.rst:331 +#: ../../library/subprocess.rst:337 msgid "" -"When *universal_newlines* is ``True``, the class uses the encoding :func:" -"`locale.getpreferredencoding(False) ` instead " -"of ``locale.getpreferredencoding()``. See the :class:`io.TextIOWrapper` " -"class for more information on this change." +"When *universal_newlines* is ``True``, the class uses the " +"encoding :func:`locale.getpreferredencoding(False) " +"` instead of " +"``locale.getpreferredencoding()``. See the :class:`io.TextIOWrapper` class " +"for more information on this change." msgstr "" -"Quando *universal_newlines* é ``True``, a classe usa a codificação :func:" -"`locale.getpreferredencoding(False) ` em vez de " -"``locale.getpreferredencoding()``. Veja a classe :class:`io.TextIOWrapper` " -"para mais informações sobre esta alteração." +"Quando *universal_newlines* é ``True``, a classe usa a " +"codificação :func:`locale.getpreferredencoding(False) " +"` em vez de ``locale.getpreferredencoding()``. " +"Veja a classe :class:`io.TextIOWrapper` para mais informações sobre esta " +"alteração." -#: ../../library/subprocess.rst:339 ../../library/subprocess.rst:460 +#: ../../library/subprocess.rst:345 ../../library/subprocess.rst:466 msgid "" "Read the `Security Considerations`_ section before using ``shell=True``." msgstr "Leia a seção `Security Considerations`_ antes de usar ``shell=True``." -#: ../../library/subprocess.rst:341 +#: ../../library/subprocess.rst:347 msgid "" "These options, along with all of the other options, are described in more " "detail in the :class:`Popen` constructor documentation." @@ -546,11 +569,11 @@ msgstr "" "Essas opções, junto com todas as outras opções, são descritas em mais " "detalhes na documentação do construtor :class:`Popen`." -#: ../../library/subprocess.rst:346 +#: ../../library/subprocess.rst:352 msgid "Popen Constructor" msgstr "Construtor Popen" -#: ../../library/subprocess.rst:348 +#: ../../library/subprocess.rst:354 msgid "" "The underlying process creation and management in this module is handled by " "the :class:`Popen` class. It offers a lot of flexibility so that developers " @@ -562,22 +585,22 @@ msgstr "" "desenvolvedores sejam capazes de lidar com os casos menos comuns não " "cobertos pelas funções de conveniência." -#: ../../library/subprocess.rst:363 +#: ../../library/subprocess.rst:369 msgid "" -"Execute a child program in a new process. On POSIX, the class uses :meth:" -"`os.execvpe`-like behavior to execute the child program. On Windows, the " -"class uses the Windows ``CreateProcess()`` function. The arguments to :" -"class:`Popen` are as follows." +"Execute a child program in a new process. On POSIX, the class " +"uses :meth:`os.execvpe`-like behavior to execute the child program. On " +"Windows, the class uses the Windows ``CreateProcess()`` function. The " +"arguments to :class:`Popen` are as follows." msgstr "" "Executa um programa filho em um novo processo. No POSIX, a classe usa o " "comportamento de :meth:`os.execvpe` para executar o programa filho. No " "Windows, a classe usa a função Windows ``CreateProcess()``. Os argumentos " "para :class:`Popen` são os seguintes." -#: ../../library/subprocess.rst:368 +#: ../../library/subprocess.rst:374 msgid "" -"*args* should be a sequence of program arguments or else a single string or :" -"term:`path-like object`. By default, the program to execute is the first " +"*args* should be a sequence of program arguments or else a single string " +"or :term:`path-like object`. By default, the program to execute is the first " "item in *args* if *args* is a sequence. If *args* is a string, the " "interpretation is platform-dependent and described below. See the *shell* " "and *executable* arguments for additional differences from the default " @@ -592,7 +615,7 @@ msgstr "" "diferenças adicionais em relação ao comportamento padrão. Salvo indicação em " "contrário, é recomendado passar *args* como uma sequência." -#: ../../library/subprocess.rst:378 +#: ../../library/subprocess.rst:384 msgid "" "For maximum reliability, use a fully qualified path for the executable. To " "search for an unqualified name on :envvar:`PATH`, use :meth:`shutil.which`. " @@ -600,8 +623,14 @@ msgid "" "launch the current Python interpreter again, and use the ``-m`` command-line " "format to launch an installed module." msgstr "" +"Para confiabilidade máxima, use um caminho totalmente qualificado para o " +"executável. Para procurar um nome não qualificado no :envvar:`PATH`, " +"use :meth:`shutil.which`. Em todas as plataformas, " +"passar :data:`sys.executable` é a maneira recomendada de relançar o " +"interpretador Python atual, e usar o formato de linha de comando ``-m`` para " +"iniciar um módulo instalado." -#: ../../library/subprocess.rst:384 +#: ../../library/subprocess.rst:390 msgid "" "Resolving the path of *executable* (or the first item of *args*) is platform " "dependent. For POSIX, see :meth:`os.execvpe`, and note that when resolving " @@ -614,8 +643,17 @@ msgid "" "the ``PATH`` environment variable. Using a full path avoids all of these " "variations." msgstr "" +"Resolver o caminho do executável (ou o primeiro item de *args*) depende da " +"plataforma. Para POSIX, veja :meth:`os.execvpe`, e note que ao resolver ou " +"procurar o caminho do executável, *cwd* substitui o diretório de trabalho " +"atual e *env* pode substituir a variável de ambiente ``PATH``. Para Windows, " +"veja a documentação dos parâmetros ``lpApplicationName`` e ``lpCommandLine`` " +"do WinAPI ``CreateProcess``, e note que ao resolver ou procurar o caminho do " +"executável com ``shell=False``, *cwd* não substitui o diretório de trabalho " +"atual e *env* não pode substituir a variável de ambiente ``PATH``. Usar um " +"caminho completo evita todas essas variações." -#: ../../library/subprocess.rst:395 +#: ../../library/subprocess.rst:401 msgid "" "An example of passing some arguments to an external program as a sequence " "is::" @@ -623,7 +661,7 @@ msgstr "" "Um exemplo de passagem de alguns argumentos para um programa externo como " "uma sequência é::" -#: ../../library/subprocess.rst:400 +#: ../../library/subprocess.rst:406 msgid "" "On POSIX, if *args* is a string, the string is interpreted as the name or " "path of the program to execute. However, this can only be done if not " @@ -633,7 +671,7 @@ msgstr "" "caminho do programa a ser executado. No entanto, isso só pode ser feito se " "não forem passados argumentos para o programa." -#: ../../library/subprocess.rst:406 +#: ../../library/subprocess.rst:412 msgid "" "It may not be obvious how to break a shell command into a sequence of " "arguments, especially in complex cases. :meth:`shlex.split` can illustrate " @@ -643,7 +681,7 @@ msgstr "" "argumentos, especialmente em casos complexos. :meth:`shlex.split` pode " "ilustrar como determinar a tokenização correta para *args*::" -#: ../../library/subprocess.rst:418 +#: ../../library/subprocess.rst:424 msgid "" "Note in particular that options (such as *-input*) and arguments (such as " "*eggs.txt*) that are separated by whitespace in the shell go in separate " @@ -651,13 +689,14 @@ msgid "" "used in the shell (such as filenames containing spaces or the *echo* command " "shown above) are single list elements." msgstr "" -"Observe em particular que as opções (como *-input*) e argumentos (como *eggs." -"txt*) que são separados por espaços em branco no shell vão em elementos de " -"lista separados, enquanto os argumentos que precisam de aspas ou escape de " -"contrabarra quando usados no shell (como nomes de arquivos contendo espaços " -"ou o comando *echo* mostrado acima) são um único elemento de lista." +"Observe em particular que as opções (como *-input*) e argumentos (como " +"*eggs.txt*) que são separados por espaços em branco no shell vão em " +"elementos de lista separados, enquanto os argumentos que precisam de aspas " +"ou escape de contrabarra quando usados no shell (como nomes de arquivos " +"contendo espaços ou o comando *echo* mostrado acima) são um único elemento " +"de lista." -#: ../../library/subprocess.rst:424 +#: ../../library/subprocess.rst:430 msgid "" "On Windows, if *args* is a sequence, it will be converted to a string in a " "manner described in :ref:`converting-argument-sequence`. This is because " @@ -667,29 +706,35 @@ msgstr "" "maneira descrita em :ref:`converting-argument-sequence`. Isso ocorre porque " "o ``CreateProcess()`` subjacente opera em strings." -#: ../../library/subprocess.rst:428 +#: ../../library/subprocess.rst:434 msgid "" "*args* parameter accepts a :term:`path-like object` if *shell* is ``False`` " "and a sequence containing path-like objects on POSIX." msgstr "" "O parâmetro *args* aceita um :term:`objeto caminho ou similar ` se *shell* é ``False`` e uma sequência contendo objetos caminho ou " -"similar no POSIX." +"similares no POSIX." -#: ../../library/subprocess.rst:432 +#: ../../library/subprocess.rst:438 msgid "" "*args* parameter accepts a :term:`path-like object` if *shell* is ``False`` " "and a sequence containing bytes and path-like objects on Windows." msgstr "" +"O parâmetro *args* aceita um :term:`objeto caminho ou similar` se *shell* " +"for ``False`` e uma sequência contendo bytes e objetos caminho ou similares " +"no Windows." -#: ../../library/subprocess.rst:437 +#: ../../library/subprocess.rst:443 msgid "" "The *shell* argument (which defaults to ``False``) specifies whether to use " "the shell as the program to execute. If *shell* is ``True``, it is " "recommended to pass *args* as a string rather than as a sequence." msgstr "" +"O argumento *shell* (que por padrão é ``False``) especifica se deve usar o " +"*shell* como o programa a ser executado. Se *shell* for ``True``, é " +"recomendado passar *args* como uma string em vez de uma sequência." -#: ../../library/subprocess.rst:441 +#: ../../library/subprocess.rst:447 msgid "" "On POSIX with ``shell=True``, the shell defaults to :file:`/bin/sh`. If " "*args* is a string, the string specifies the command to execute through the " @@ -697,11 +742,19 @@ msgid "" "when typed at the shell prompt. This includes, for example, quoting or " "backslash escaping filenames with spaces in them. If *args* is a sequence, " "the first item specifies the command string, and any additional items will " -"be treated as additional arguments to the shell itself. That is to say, :" -"class:`Popen` does the equivalent of::" +"be treated as additional arguments to the shell itself. That is to " +"say, :class:`Popen` does the equivalent of::" msgstr "" +"Em POSIX com ``shell=True``, o *shell* padrão é :file:`/bin/sh`. Se *args* " +"for uma string, a *string* especifica o comando a ser executado através do " +"*shell*. Isso significa que a *string* deve ser formatada exatamente como " +"seria ao ser digitada no prompt do *shell*. Isso inclui, por exemplo, citar " +"ou escapar com contrabarra nomes de arquivos que contenham espaços. Se " +"*args* for uma sequência, o primeiro item especifica a *string* do comando, " +"e quaisquer itens adicionais serão tratados como argumentos adicionais para " +"o próprio *shell*. Ou seja, :class:`Popen` faz o equivalente a:" -#: ../../library/subprocess.rst:452 +#: ../../library/subprocess.rst:458 msgid "" "On Windows with ``shell=True``, the :envvar:`COMSPEC` environment variable " "specifies the default shell. The only time you need to specify " @@ -709,45 +762,68 @@ msgid "" "into the shell (e.g. :command:`dir` or :command:`copy`). You do not need " "``shell=True`` to run a batch file or console-based executable." msgstr "" +"No Windows com ``shell=True``, a variável de ambiente :envvar:`COMSPEC` " +"especifica o shell padrão. A única vez que você precisa especificar " +"``shell=True`` no Windows é quando o comando que você deseja executar é " +"construído no shell (por exemplo, :command:`dir` ou :command:`copy`). Você " +"não precisa de ``shell=True`` para executar um arquivo em lote ou executável " +"baseado em console." -#: ../../library/subprocess.rst:462 +#: ../../library/subprocess.rst:468 msgid "" "*bufsize* will be supplied as the corresponding argument to the :func:`open` " "function when creating the stdin/stdout/stderr pipe file objects:" msgstr "" +"*bufsize* será fornecido como o argumento correspondente à " +"função :func:`open` ao criar os objetos arquivo de encadeamento stdin/stdout/" +"stderr:" -#: ../../library/subprocess.rst:466 +#: ../../library/subprocess.rst:472 msgid "" -":const:`0` means unbuffered (read and write are one system call and can " -"return short)" +"``0`` means unbuffered (read and write are one system call and can return " +"short)" msgstr "" +"``0`` significa sem buffer (leitura e gravação são uma chamada de sistema e " +"podem retornar curto)" -#: ../../library/subprocess.rst:468 +#: ../../library/subprocess.rst:474 msgid "" -":const:`1` means line buffered (only usable if ``text=True`` or " +"``1`` means line buffered (only usable if ``text=True`` or " "``universal_newlines=True``)" msgstr "" +"``1`` significa buffer de linha (utilizável somente se ``text=True`` ou " +"``universal_newlines=True``)" -#: ../../library/subprocess.rst:470 +#: ../../library/subprocess.rst:476 msgid "any other positive value means use a buffer of approximately that size" msgstr "" +"qualquer outro valor positivo significa usar um buffer de aproximadamente " +"esse tamanho" -#: ../../library/subprocess.rst:472 +#: ../../library/subprocess.rst:478 msgid "" -"negative bufsize (the default) means the system default of io." -"DEFAULT_BUFFER_SIZE will be used." +"negative bufsize (the default) means the system default of " +"io.DEFAULT_BUFFER_SIZE will be used." msgstr "" +"bufsize negativo (o padrão) significa que o padrão do sistema " +"io.DEFAULT_BUFFER_SIZE será usado." -#: ../../library/subprocess.rst:475 +#: ../../library/subprocess.rst:481 msgid "" "*bufsize* now defaults to -1 to enable buffering by default to match the " "behavior that most code expects. In versions prior to Python 3.2.4 and " -"3.3.1 it incorrectly defaulted to :const:`0` which was unbuffered and " -"allowed short reads. This was unintentional and did not match the behavior " -"of Python 2 as most code expected." +"3.3.1 it incorrectly defaulted to ``0`` which was unbuffered and allowed " +"short reads. This was unintentional and did not match the behavior of " +"Python 2 as most code expected." msgstr "" +"*bufsize* agora assume o padrão -1 para habilitar o buffer por padrão para " +"corresponder ao comportamento que a maioria dos códigos espera. Em versões " +"anteriores ao Python 3.2.4 e 3.3.1, ele assumia incorretamente o padrão " +"``0``, que não tinha buffer e permitia leituras curtas. Isso não foi " +"intencional e não correspondeu ao comportamento do Python 2, como a maioria " +"dos códigos esperava." -#: ../../library/subprocess.rst:482 +#: ../../library/subprocess.rst:488 msgid "" "The *executable* argument specifies a replacement program to execute. It " "is very seldom needed. When ``shell=False``, *executable* replaces the " @@ -759,159 +835,185 @@ msgid "" "POSIX the *executable* argument specifies a replacement shell for the " "default :file:`/bin/sh`." msgstr "" - -#: ../../library/subprocess.rst:492 +"O argumento *executable* especifica um programa de substituição para " +"executar. Ele é muito raramente necessário. Quando ``shell=False``, " +"*executable* substitui o programa a ser executado especificado por *args*. " +"No entanto, o *args* original ainda é passado para o programa. A maioria dos " +"programas trata o programa especificado por *args* como o nome do comando, " +"que pode então ser diferente do programa realmente executado. No POSIX, o " +"nome *args* se torna o nome de exibição para o executável em utilitários " +"como :program:`ps`. Se ``shell=True``, no POSIX o argumento *executable* " +"especifica um shell de substituição para o padrão :file:`/bin/sh`." + +#: ../../library/subprocess.rst:498 msgid "*executable* parameter accepts a :term:`path-like object` on POSIX." msgstr "" +"O parâmetro *executable* aceita um :term:`objeto caminho ou similar` no " +"POSIX." -#: ../../library/subprocess.rst:495 +#: ../../library/subprocess.rst:501 msgid "" "*executable* parameter accepts a bytes and :term:`path-like object` on " "Windows." msgstr "" +"O parâmetro *executable* aceita um :term:`objeto caminho ou similar` bytes " +"no Windows." -#: ../../library/subprocess.rst:507 +#: ../../library/subprocess.rst:513 msgid "" "*stdin*, *stdout* and *stderr* specify the executed program's standard " "input, standard output and standard error file handles, respectively. Valid " "values are :data:`PIPE`, :data:`DEVNULL`, an existing file descriptor (a " "positive integer), an existing :term:`file object` with a valid file " "descriptor, and ``None``. :data:`PIPE` indicates that a new pipe to the " -"child should be created. :data:`DEVNULL` indicates that the special file :" -"data:`os.devnull` will be used. With the default settings of ``None``, no " -"redirection will occur; the child's file handles will be inherited from the " -"parent. Additionally, *stderr* can be :data:`STDOUT`, which indicates that " -"the stderr data from the applications should be captured into the same file " -"handle as for stdout." +"child should be created. :data:`DEVNULL` indicates that the special " +"file :data:`os.devnull` will be used. With the default settings of ``None``, " +"no redirection will occur; the child's file handles will be inherited from " +"the parent. Additionally, *stderr* can be :data:`STDOUT`, which indicates " +"that the stderr data from the applications should be captured into the same " +"file handle as for stdout." msgstr "" -#: ../../library/subprocess.rst:519 +#: ../../library/subprocess.rst:525 msgid "" "If *preexec_fn* is set to a callable object, this object will be called in " "the child process just before the child is executed. (POSIX only)" msgstr "" +"Se *preexec_fn* for definido como um objeto chamável, esse objeto será " +"chamado no processo filho pouco antes de o filho ser executado. (Somente " +"POSIX)" -#: ../../library/subprocess.rst:525 +#: ../../library/subprocess.rst:531 msgid "" "The *preexec_fn* parameter is NOT SAFE to use in the presence of threads in " "your application. The child process could deadlock before exec is called." msgstr "" +"O parâmetro *preexec_fn* NÃO É SEGURO para uso na presença de threads em sua " +"aplicação. O processo filho pode travar antes de exec ser chamado." -#: ../../library/subprocess.rst:531 +#: ../../library/subprocess.rst:537 msgid "" "If you need to modify the environment for the child use the *env* parameter " "rather than doing it in a *preexec_fn*. The *start_new_session* and " "*process_group* parameters should take the place of code using *preexec_fn* " "to call :func:`os.setsid` or :func:`os.setpgid` in the child." msgstr "" +"Se você precisar modificar o ambiente para o filho, use o parâmetro *env* em " +"vez de fazer isso em um *preexec_fn*. Os parâmetros *start_new_session* e " +"*process_group* devem tomar o lugar do código usando *preexec_fn* para " +"chamar :func:`os.setsid` ou :func:`os.setpgid` no filho." -#: ../../library/subprocess.rst:538 +#: ../../library/subprocess.rst:544 msgid "" "The *preexec_fn* parameter is no longer supported in subinterpreters. The " "use of the parameter in a subinterpreter raises :exc:`RuntimeError`. The new " "restriction may affect applications that are deployed in mod_wsgi, uWSGI, " "and other embedded environments." msgstr "" +"O parâmetro *preexec_fn* não é mais suportado em subinterpretadores. O uso " +"do parâmetro em um subinterpretador levanta :exc:`RuntimeError`. A nova " +"restrição pode afetar aplicações que são implantadas em mod_wsgi, uWSGI e " +"outros ambientes incorporados." -#: ../../library/subprocess.rst:543 +#: ../../library/subprocess.rst:549 msgid "" -"If *close_fds* is true, all file descriptors except :const:`0`, :const:`1` " -"and :const:`2` will be closed before the child process is executed. " -"Otherwise when *close_fds* is false, file descriptors obey their inheritable " -"flag as described in :ref:`fd_inheritance`." +"If *close_fds* is true, all file descriptors except ``0``, ``1`` and ``2`` " +"will be closed before the child process is executed. Otherwise when " +"*close_fds* is false, file descriptors obey their inheritable flag as " +"described in :ref:`fd_inheritance`." msgstr "" -#: ../../library/subprocess.rst:548 +#: ../../library/subprocess.rst:554 msgid "" "On Windows, if *close_fds* is true then no handles will be inherited by the " -"child process unless explicitly passed in the ``handle_list`` element of :" -"attr:`STARTUPINFO.lpAttributeList`, or by standard handle redirection." +"child process unless explicitly passed in the ``handle_list`` element " +"of :attr:`STARTUPINFO.lpAttributeList`, or by standard handle redirection." msgstr "" -#: ../../library/subprocess.rst:552 +#: ../../library/subprocess.rst:558 msgid "" "The default for *close_fds* was changed from :const:`False` to what is " "described above." msgstr "" -#: ../../library/subprocess.rst:556 +#: ../../library/subprocess.rst:562 msgid "" -"On Windows the default for *close_fds* was changed from :const:`False` to :" -"const:`True` when redirecting the standard handles. It's now possible to set " -"*close_fds* to :const:`True` when redirecting the standard handles." +"On Windows the default for *close_fds* was changed from :const:`False` " +"to :const:`True` when redirecting the standard handles. It's now possible to " +"set *close_fds* to :const:`True` when redirecting the standard handles." msgstr "" -#: ../../library/subprocess.rst:561 +#: ../../library/subprocess.rst:567 msgid "" "*pass_fds* is an optional sequence of file descriptors to keep open between " -"the parent and child. Providing any *pass_fds* forces *close_fds* to be :" -"const:`True`. (POSIX only)" +"the parent and child. Providing any *pass_fds* forces *close_fds* to " +"be :const:`True`. (POSIX only)" msgstr "" -#: ../../library/subprocess.rst:565 +#: ../../library/subprocess.rst:571 msgid "The *pass_fds* parameter was added." msgstr "O parâmetro *pass_fds* foi adicionado." -#: ../../library/subprocess.rst:568 +#: ../../library/subprocess.rst:574 msgid "" "If *cwd* is not ``None``, the function changes the working directory to " -"*cwd* before executing the child. *cwd* can be a string, bytes or :term:" -"`path-like ` object. On POSIX, the function looks for " -"*executable* (or for the first item in *args*) relative to *cwd* if the " -"executable path is a relative path." +"*cwd* before executing the child. *cwd* can be a string, bytes " +"or :term:`path-like ` object. On POSIX, the function " +"looks for *executable* (or for the first item in *args*) relative to *cwd* " +"if the executable path is a relative path." msgstr "" -#: ../../library/subprocess.rst:574 +#: ../../library/subprocess.rst:580 msgid "*cwd* parameter accepts a :term:`path-like object` on POSIX." msgstr "" -#: ../../library/subprocess.rst:577 +#: ../../library/subprocess.rst:583 msgid "*cwd* parameter accepts a :term:`path-like object` on Windows." msgstr "" -#: ../../library/subprocess.rst:580 +#: ../../library/subprocess.rst:586 msgid "*cwd* parameter accepts a bytes object on Windows." msgstr "" -#: ../../library/subprocess.rst:583 +#: ../../library/subprocess.rst:589 msgid "" "If *restore_signals* is true (the default) all signals that Python has set " "to SIG_IGN are restored to SIG_DFL in the child process before the exec. " "Currently this includes the SIGPIPE, SIGXFZ and SIGXFSZ signals. (POSIX only)" msgstr "" -#: ../../library/subprocess.rst:588 +#: ../../library/subprocess.rst:594 msgid "*restore_signals* was added." msgstr "*restore_signals* foi adicionado." -#: ../../library/subprocess.rst:591 +#: ../../library/subprocess.rst:597 msgid "" "If *start_new_session* is true the ``setsid()`` system call will be made in " "the child process prior to the execution of the subprocess." msgstr "" -#: ../../library/subprocess.rst:594 ../../library/subprocess.rst:601 -#: ../../library/subprocess.rst:611 ../../library/subprocess.rst:620 -#: ../../library/subprocess.rst:629 ../../library/subprocess.rst:635 +#: ../../library/subprocess.rst:600 ../../library/subprocess.rst:607 +#: ../../library/subprocess.rst:617 ../../library/subprocess.rst:626 +#: ../../library/subprocess.rst:641 ../../library/subprocess.rst:647 msgid ":ref:`Availability `: POSIX" msgstr ":ref:`Disponibilidade `: POSIX" -#: ../../library/subprocess.rst:595 +#: ../../library/subprocess.rst:601 msgid "*start_new_session* was added." msgstr "*start_new_session* foi adicionado." -#: ../../library/subprocess.rst:598 +#: ../../library/subprocess.rst:604 msgid "" "If *process_group* is a non-negative integer, the ``setpgid(0, value)`` " "system call will be made in the child process prior to the execution of the " "subprocess." msgstr "" -#: ../../library/subprocess.rst:602 +#: ../../library/subprocess.rst:608 msgid "*process_group* was added." msgstr "" -#: ../../library/subprocess.rst:605 +#: ../../library/subprocess.rst:611 msgid "" "If *group* is not ``None``, the setregid() system call will be made in the " "child process prior to the execution of the subprocess. If the provided " @@ -920,7 +1022,7 @@ msgid "" "passed verbatim. (POSIX only)" msgstr "" -#: ../../library/subprocess.rst:614 +#: ../../library/subprocess.rst:620 msgid "" "If *extra_groups* is not ``None``, the setgroups() system call will be made " "in the child process prior to the execution of the subprocess. Strings " @@ -929,7 +1031,7 @@ msgid "" "verbatim. (POSIX only)" msgstr "" -#: ../../library/subprocess.rst:623 +#: ../../library/subprocess.rst:629 msgid "" "If *user* is not ``None``, the setreuid() system call will be made in the " "child process prior to the execution of the subprocess. If the provided " @@ -938,29 +1040,36 @@ msgid "" "passed verbatim. (POSIX only)" msgstr "" -#: ../../library/subprocess.rst:632 +#: ../../library/subprocess.rst:637 +msgid "" +"Specifying *user* will not drop existing supplementary group memberships! " +"The caller must also pass ``extra_groups=()`` to reduce the group membership " +"of the child process for security purposes." +msgstr "" + +#: ../../library/subprocess.rst:644 msgid "" "If *umask* is not negative, the umask() system call will be made in the " "child process prior to the execution of the subprocess." msgstr "" -#: ../../library/subprocess.rst:638 +#: ../../library/subprocess.rst:650 msgid "" "If *env* is not ``None``, it must be a mapping that defines the environment " "variables for the new process; these are used instead of the default " "behavior of inheriting the current process' environment. This mapping can be " -"str to str on any platform or bytes to bytes on POSIX platforms much like :" -"data:`os.environ` or :data:`os.environb`." +"str to str on any platform or bytes to bytes on POSIX platforms much " +"like :data:`os.environ` or :data:`os.environb`." msgstr "" -#: ../../library/subprocess.rst:646 +#: ../../library/subprocess.rst:658 msgid "" "If specified, *env* must provide any variables required for the program to " "execute. On Windows, in order to run a `side-by-side assembly`_ the " "specified *env* **must** include a valid :envvar:`SystemRoot`." msgstr "" -#: ../../library/subprocess.rst:652 +#: ../../library/subprocess.rst:664 msgid "" "If *encoding* or *errors* are specified, or *text* is true, the file objects " "*stdin*, *stdout* and *stderr* are opened in text mode with the specified " @@ -970,71 +1079,74 @@ msgid "" "in binary mode." msgstr "" -#: ../../library/subprocess.rst:658 +#: ../../library/subprocess.rst:670 msgid "*encoding* and *errors* were added." msgstr "*encoding* e *errors* foram adicionados." -#: ../../library/subprocess.rst:661 ../../library/subprocess.rst:1282 +#: ../../library/subprocess.rst:673 ../../library/subprocess.rst:1304 msgid "*text* was added as a more readable alias for *universal_newlines*." msgstr "" "*text* foi adicionado como um atalho mais legível para *universal_newlines*." -#: ../../library/subprocess.rst:664 +#: ../../library/subprocess.rst:676 msgid "" "If given, *startupinfo* will be a :class:`STARTUPINFO` object, which is " -"passed to the underlying ``CreateProcess`` function. *creationflags*, if " -"given, can be one or more of the following flags:" +"passed to the underlying ``CreateProcess`` function." msgstr "" -#: ../../library/subprocess.rst:668 +#: ../../library/subprocess.rst:679 +msgid "If given, *creationflags*, can be one or more of the following flags:" +msgstr "" + +#: ../../library/subprocess.rst:681 msgid ":data:`CREATE_NEW_CONSOLE`" msgstr ":data:`CREATE_NEW_CONSOLE`" -#: ../../library/subprocess.rst:669 +#: ../../library/subprocess.rst:682 msgid ":data:`CREATE_NEW_PROCESS_GROUP`" msgstr ":data:`CREATE_NEW_PROCESS_GROUP`" -#: ../../library/subprocess.rst:670 +#: ../../library/subprocess.rst:683 msgid ":data:`ABOVE_NORMAL_PRIORITY_CLASS`" msgstr ":data:`ABOVE_NORMAL_PRIORITY_CLASS`" -#: ../../library/subprocess.rst:671 +#: ../../library/subprocess.rst:684 msgid ":data:`BELOW_NORMAL_PRIORITY_CLASS`" msgstr ":data:`BELOW_NORMAL_PRIORITY_CLASS`" -#: ../../library/subprocess.rst:672 +#: ../../library/subprocess.rst:685 msgid ":data:`HIGH_PRIORITY_CLASS`" msgstr ":data:`HIGH_PRIORITY_CLASS`" -#: ../../library/subprocess.rst:673 +#: ../../library/subprocess.rst:686 msgid ":data:`IDLE_PRIORITY_CLASS`" msgstr ":data:`IDLE_PRIORITY_CLASS`" -#: ../../library/subprocess.rst:674 +#: ../../library/subprocess.rst:687 msgid ":data:`NORMAL_PRIORITY_CLASS`" msgstr ":data:`NORMAL_PRIORITY_CLASS`" -#: ../../library/subprocess.rst:675 +#: ../../library/subprocess.rst:688 msgid ":data:`REALTIME_PRIORITY_CLASS`" msgstr ":data:`REALTIME_PRIORITY_CLASS`" -#: ../../library/subprocess.rst:676 +#: ../../library/subprocess.rst:689 msgid ":data:`CREATE_NO_WINDOW`" msgstr ":data:`CREATE_NO_WINDOW`" -#: ../../library/subprocess.rst:677 +#: ../../library/subprocess.rst:690 msgid ":data:`DETACHED_PROCESS`" msgstr ":data:`DETACHED_PROCESS`" -#: ../../library/subprocess.rst:678 +#: ../../library/subprocess.rst:691 msgid ":data:`CREATE_DEFAULT_ERROR_MODE`" msgstr ":data:`CREATE_DEFAULT_ERROR_MODE`" -#: ../../library/subprocess.rst:679 +#: ../../library/subprocess.rst:692 msgid ":data:`CREATE_BREAKAWAY_FROM_JOB`" msgstr ":data:`CREATE_BREAKAWAY_FROM_JOB`" -#: ../../library/subprocess.rst:681 +#: ../../library/subprocess.rst:694 msgid "" "*pipesize* can be used to change the size of the pipe when :data:`PIPE` is " "used for *stdin*, *stdout* or *stderr*. The size of the pipe is only changed " @@ -1042,36 +1154,36 @@ msgid "" "platforms will ignore this parameter." msgstr "" -#: ../../library/subprocess.rst:686 -msgid "The ``pipesize`` parameter was added." +#: ../../library/subprocess.rst:699 +msgid "Added the *pipesize* parameter." msgstr "" -#: ../../library/subprocess.rst:689 +#: ../../library/subprocess.rst:702 msgid "" "Popen objects are supported as context managers via the :keyword:`with` " "statement: on exit, standard file descriptors are closed, and the process is " "waited for. ::" msgstr "" -#: ../../library/subprocess.rst:705 +#: ../../library/subprocess.rst:720 msgid "" "Raises an :ref:`auditing event ` ``subprocess.Popen`` with " "arguments ``executable``, ``args``, ``cwd``, ``env``." msgstr "" -#: ../../library/subprocess.rst:698 +#: ../../library/subprocess.rst:711 msgid "" -"Popen and the other functions in this module that use it raise an :ref:" -"`auditing event ` ``subprocess.Popen`` with arguments " +"Popen and the other functions in this module that use it raise " +"an :ref:`auditing event ` ``subprocess.Popen`` with arguments " "``executable``, ``args``, ``cwd``, and ``env``. The value for ``args`` may " "be a single string or a list of strings, depending on platform." msgstr "" -#: ../../library/subprocess.rst:703 +#: ../../library/subprocess.rst:716 msgid "Added context manager support." msgstr "Adicionado suporte a gerenciador de contexto." -#: ../../library/subprocess.rst:706 +#: ../../library/subprocess.rst:719 msgid "" "Popen destructor now emits a :exc:`ResourceWarning` warning if the child " "process is still running." @@ -1079,20 +1191,20 @@ msgstr "" "O destruidor Popen agora emite um aviso :exc:`ResourceWarning` se o processo " "filho ainda estiver em execução." -#: ../../library/subprocess.rst:710 +#: ../../library/subprocess.rst:723 msgid "" "Popen can use :func:`os.posix_spawn` in some cases for better performance. " "On Windows Subsystem for Linux and QEMU User Emulation, Popen constructor " "using :func:`os.posix_spawn` no longer raise an exception on errors like " -"missing program, but the child process fails with a non-zero :attr:`~Popen." -"returncode`." +"missing program, but the child process fails with a non-" +"zero :attr:`~Popen.returncode`." msgstr "" -#: ../../library/subprocess.rst:719 +#: ../../library/subprocess.rst:732 msgid "Exceptions" msgstr "Exceções" -#: ../../library/subprocess.rst:721 +#: ../../library/subprocess.rst:734 msgid "" "Exceptions raised in the child process, before the new program has started " "to execute, will be re-raised in the parent." @@ -1100,18 +1212,18 @@ msgstr "" "Exceções levantadas no processo filho, antes que o novo programa comece a " "ser executado, serão levantadas novamente no pai." -#: ../../library/subprocess.rst:724 +#: ../../library/subprocess.rst:737 msgid "" "The most common exception raised is :exc:`OSError`. This occurs, for " "example, when trying to execute a non-existent file. Applications should " -"prepare for :exc:`OSError` exceptions. Note that, when ``shell=True``, :exc:" -"`OSError` will be raised by the child only if the selected shell itself was " -"not found. To determine if the shell failed to find the requested " -"application, it is necessary to check the return code or output from the " -"subprocess." +"prepare for :exc:`OSError` exceptions. Note that, when " +"``shell=True``, :exc:`OSError` will be raised by the child only if the " +"selected shell itself was not found. To determine if the shell failed to " +"find the requested application, it is necessary to check the return code or " +"output from the subprocess." msgstr "" -#: ../../library/subprocess.rst:731 +#: ../../library/subprocess.rst:744 msgid "" "A :exc:`ValueError` will be raised if :class:`Popen` is called with invalid " "arguments." @@ -1119,43 +1231,41 @@ msgstr "" "A exceção :exc:`ValueError` será levantada se :class:`Popen` for chamado com " "argumentos inválidos." -#: ../../library/subprocess.rst:734 +#: ../../library/subprocess.rst:747 msgid "" -":func:`check_call` and :func:`check_output` will raise :exc:" -"`CalledProcessError` if the called process returns a non-zero return code." +":func:`check_call` and :func:`check_output` will " +"raise :exc:`CalledProcessError` if the called process returns a non-zero " +"return code." msgstr "" -":func:`check_call` e :func:`check_output` levantarão :exc:" -"`CalledProcessError` se o processo chamado retornar um código de retorno " -"diferente de zero." +":func:`check_call` e :func:`check_output` " +"levantarão :exc:`CalledProcessError` se o processo chamado retornar um " +"código de retorno diferente de zero." -#: ../../library/subprocess.rst:738 +#: ../../library/subprocess.rst:751 msgid "" -"All of the functions and methods that accept a *timeout* parameter, such as :" -"func:`call` and :meth:`Popen.communicate` will raise :exc:`TimeoutExpired` " -"if the timeout expires before the process exits." +"All of the functions and methods that accept a *timeout* parameter, such " +"as :func:`run` and :meth:`Popen.communicate` will " +"raise :exc:`TimeoutExpired` if the timeout expires before the process exits." msgstr "" -"Todas as funções e métodos que aceitam um parâmetro de *timeout*, como :func:" -"`call` e :meth:`Popen.communicate` levantarão :exc:`TimeoutExpired` se o " -"tempo limite expirar antes de o processo terminar." -#: ../../library/subprocess.rst:742 +#: ../../library/subprocess.rst:755 msgid "" "Exceptions defined in this module all inherit from :exc:`SubprocessError`." msgstr "" "Todas as exceções definidas neste módulo herdam de :exc:`SubprocessError`." -#: ../../library/subprocess.rst:744 +#: ../../library/subprocess.rst:757 msgid "The :exc:`SubprocessError` base class was added." msgstr "A classe base :exc:`SubprocessError` foi adicionada." -#: ../../library/subprocess.rst:750 +#: ../../library/subprocess.rst:763 msgid "Security Considerations" msgstr "Considerações de Segurança" -#: ../../library/subprocess.rst:752 +#: ../../library/subprocess.rst:765 msgid "" -"Unlike some other popen functions, this implementation will never implicitly " -"call a system shell. This means that all characters, including shell " +"Unlike some other popen functions, this library will not implicitly choose " +"to call a system shell. This means that all characters, including shell " "metacharacters, can safely be passed to child processes. If the shell is " "invoked explicitly, via ``shell=True``, it is the application's " "responsibility to ensure that all whitespace and metacharacters are quoted " @@ -1165,34 +1275,45 @@ msgid "" "escaping." msgstr "" -#: ../../library/subprocess.rst:764 +#: ../../library/subprocess.rst:775 +msgid "" +"On Windows, batch files (:file:`*.bat` or :file:`*.cmd`) may be launched by " +"the operating system in a system shell regardless of the arguments passed to " +"this library. This could result in arguments being parsed according to shell " +"rules, but without any escaping added by Python. If you are intentionally " +"launching a batch file with arguments from untrusted sources, consider " +"passing ``shell=True`` to allow Python to escape special characters. " +"See :gh:`114539` for additional discussion." +msgstr "" + +#: ../../library/subprocess.rst:785 msgid "Popen Objects" msgstr "Objetos Popen" -#: ../../library/subprocess.rst:766 +#: ../../library/subprocess.rst:787 msgid "Instances of the :class:`Popen` class have the following methods:" msgstr "Instâncias da classe :class:`Popen` têm os seguintes métodos:" -#: ../../library/subprocess.rst:771 +#: ../../library/subprocess.rst:792 msgid "" -"Check if child process has terminated. Set and return :attr:`~Popen." -"returncode` attribute. Otherwise, returns ``None``." +"Check if child process has terminated. Set and " +"return :attr:`~Popen.returncode` attribute. Otherwise, returns ``None``." msgstr "" -#: ../../library/subprocess.rst:777 +#: ../../library/subprocess.rst:798 msgid "" -"Wait for child process to terminate. Set and return :attr:`~Popen." -"returncode` attribute." +"Wait for child process to terminate. Set and " +"return :attr:`~Popen.returncode` attribute." msgstr "" -#: ../../library/subprocess.rst:780 +#: ../../library/subprocess.rst:801 msgid "" -"If the process does not terminate after *timeout* seconds, raise a :exc:" -"`TimeoutExpired` exception. It is safe to catch this exception and retry " -"the wait." +"If the process does not terminate after *timeout* seconds, raise " +"a :exc:`TimeoutExpired` exception. It is safe to catch this exception and " +"retry the wait." msgstr "" -#: ../../library/subprocess.rst:786 +#: ../../library/subprocess.rst:807 msgid "" "This will deadlock when using ``stdout=PIPE`` or ``stderr=PIPE`` and the " "child process generates enough output to a pipe such that it blocks waiting " @@ -1200,20 +1321,21 @@ msgid "" "when using pipes to avoid that." msgstr "" -#: ../../library/subprocess.rst:793 +#: ../../library/subprocess.rst:814 msgid "" -"The function is implemented using a busy loop (non-blocking call and short " -"sleeps). Use the :mod:`asyncio` module for an asynchronous wait: see :class:" -"`asyncio.create_subprocess_exec`." +"When the ``timeout`` parameter is not ``None``, then (on POSIX) the function " +"is implemented using a busy loop (non-blocking call and short sleeps). Use " +"the :mod:`asyncio` module for an asynchronous wait: " +"see :class:`asyncio.create_subprocess_exec`." msgstr "" -#: ../../library/subprocess.rst:797 ../../library/subprocess.rst:838 -#: ../../library/subprocess.rst:1179 ../../library/subprocess.rst:1219 -#: ../../library/subprocess.rst:1273 +#: ../../library/subprocess.rst:819 ../../library/subprocess.rst:860 +#: ../../library/subprocess.rst:1201 ../../library/subprocess.rst:1241 +#: ../../library/subprocess.rst:1295 msgid "*timeout* was added." msgstr "*timeout* foi adicionado." -#: ../../library/subprocess.rst:802 +#: ../../library/subprocess.rst:824 msgid "" "Interact with process: Send data to stdin. Read data from stdout and " "stderr, until end-of-file is reached. Wait for process to terminate and set " @@ -1223,13 +1345,13 @@ msgid "" "must be a string. Otherwise, it must be bytes." msgstr "" -#: ../../library/subprocess.rst:809 +#: ../../library/subprocess.rst:831 msgid "" ":meth:`communicate` returns a tuple ``(stdout_data, stderr_data)``. The data " "will be strings if streams were opened in text mode; otherwise, bytes." msgstr "" -#: ../../library/subprocess.rst:813 +#: ../../library/subprocess.rst:835 msgid "" "Note that if you want to send data to the process's stdin, you need to " "create the Popen object with ``stdin=PIPE``. Similarly, to get anything " @@ -1237,61 +1359,61 @@ msgid "" "and/or ``stderr=PIPE`` too." msgstr "" -#: ../../library/subprocess.rst:818 +#: ../../library/subprocess.rst:840 msgid "" -"If the process does not terminate after *timeout* seconds, a :exc:" -"`TimeoutExpired` exception will be raised. Catching this exception and " -"retrying communication will not lose any output." +"If the process does not terminate after *timeout* seconds, " +"a :exc:`TimeoutExpired` exception will be raised. Catching this exception " +"and retrying communication will not lose any output." msgstr "" -#: ../../library/subprocess.rst:822 +#: ../../library/subprocess.rst:844 msgid "" "The child process is not killed if the timeout expires, so in order to " "cleanup properly a well-behaved application should kill the child process " "and finish communication::" msgstr "" -#: ../../library/subprocess.rst:835 +#: ../../library/subprocess.rst:857 msgid "" "The data read is buffered in memory, so do not use this method if the data " "size is large or unlimited." msgstr "" -#: ../../library/subprocess.rst:844 +#: ../../library/subprocess.rst:866 msgid "Sends the signal *signal* to the child." msgstr "Envia o sinal *signal* para o filho." -#: ../../library/subprocess.rst:846 +#: ../../library/subprocess.rst:868 msgid "Do nothing if the process completed." msgstr "Não faz nada se o processo for concluído." -#: ../../library/subprocess.rst:850 +#: ../../library/subprocess.rst:872 msgid "" "On Windows, SIGTERM is an alias for :meth:`terminate`. CTRL_C_EVENT and " "CTRL_BREAK_EVENT can be sent to processes started with a *creationflags* " "parameter which includes ``CREATE_NEW_PROCESS_GROUP``." msgstr "" -#: ../../library/subprocess.rst:857 +#: ../../library/subprocess.rst:879 msgid "" -"Stop the child. On POSIX OSs the method sends SIGTERM to the child. On " -"Windows the Win32 API function :c:func:`TerminateProcess` is called to stop " -"the child." +"Stop the child. On POSIX OSs the method sends :py:const:`~signal.SIGTERM` to " +"the child. On Windows the Win32 API function :c:func:`!TerminateProcess` is " +"called to stop the child." msgstr "" -#: ../../library/subprocess.rst:864 +#: ../../library/subprocess.rst:886 msgid "" "Kills the child. On POSIX OSs the function sends SIGKILL to the child. On " "Windows :meth:`kill` is an alias for :meth:`terminate`." msgstr "" -#: ../../library/subprocess.rst:868 +#: ../../library/subprocess.rst:890 msgid "" "The following attributes are also set by the class for you to access. " "Reassigning them to new values is unsupported:" msgstr "" -#: ../../library/subprocess.rst:873 +#: ../../library/subprocess.rst:895 msgid "" "The *args* argument as it was passed to :class:`Popen` -- a sequence of " "program arguments or else a single string." @@ -1299,7 +1421,7 @@ msgstr "" "O argumento *args* conforme foi passado para :class:`Popen` - uma sequência " "de argumentos do programa ou então uma única string." -#: ../../library/subprocess.rst:880 +#: ../../library/subprocess.rst:902 msgid "" "If the *stdin* argument was :data:`PIPE`, this attribute is a writeable " "stream object as returned by :func:`open`. If the *encoding* or *errors* " @@ -1308,7 +1430,7 @@ msgid "" "*stdin* argument was not :data:`PIPE`, this attribute is ``None``." msgstr "" -#: ../../library/subprocess.rst:889 +#: ../../library/subprocess.rst:911 msgid "" "If the *stdout* argument was :data:`PIPE`, this attribute is a readable " "stream object as returned by :func:`open`. Reading from the stream provides " @@ -1318,7 +1440,7 @@ msgid "" "argument was not :data:`PIPE`, this attribute is ``None``." msgstr "" -#: ../../library/subprocess.rst:899 +#: ../../library/subprocess.rst:921 msgid "" "If the *stderr* argument was :data:`PIPE`, this attribute is a readable " "stream object as returned by :func:`open`. Reading from the stream provides " @@ -1328,19 +1450,19 @@ msgid "" "argument was not :data:`PIPE`, this attribute is ``None``." msgstr "" -#: ../../library/subprocess.rst:908 +#: ../../library/subprocess.rst:930 msgid "" -"Use :meth:`~Popen.communicate` rather than :attr:`.stdin.write `, :attr:`.stdout.read ` or :attr:`.stderr.read ` to avoid deadlocks due to any of the other OS pipe buffers filling " -"up and blocking the child process." +"Use :meth:`~Popen.communicate` rather than :attr:`.stdin.write " +"`, :attr:`.stdout.read ` or :attr:`.stderr.read " +"` to avoid deadlocks due to any of the other OS pipe buffers " +"filling up and blocking the child process." msgstr "" -#: ../../library/subprocess.rst:916 +#: ../../library/subprocess.rst:938 msgid "The process ID of the child process." msgstr "O ID de processo do processo filho." -#: ../../library/subprocess.rst:918 +#: ../../library/subprocess.rst:940 msgid "" "Note that if you set the *shell* argument to ``True``, this is the process " "ID of the spawned shell." @@ -1348,30 +1470,30 @@ msgstr "" "Observe que se você definir o argumento *shell* como ``True``, este é o ID " "do processo do shell gerado." -#: ../../library/subprocess.rst:924 +#: ../../library/subprocess.rst:946 msgid "" "The child return code. Initially ``None``, :attr:`returncode` is set by a " "call to the :meth:`poll`, :meth:`wait`, or :meth:`communicate` methods if " "they detect that the process has terminated." msgstr "" -#: ../../library/subprocess.rst:928 +#: ../../library/subprocess.rst:950 msgid "" "A ``None`` value indicates that the process hadn't yet terminated at the " "time of the last method call." msgstr "" -#: ../../library/subprocess.rst:936 +#: ../../library/subprocess.rst:958 msgid "Windows Popen Helpers" msgstr "" -#: ../../library/subprocess.rst:938 +#: ../../library/subprocess.rst:960 msgid "" "The :class:`STARTUPINFO` class and following constants are only available on " "Windows." msgstr "" -#: ../../library/subprocess.rst:944 +#: ../../library/subprocess.rst:966 msgid "" "Partial support of the Windows `STARTUPINFO `__ structure is used for :class:`Popen` " @@ -1379,38 +1501,38 @@ msgid "" "only arguments." msgstr "" -#: ../../library/subprocess.rst:949 +#: ../../library/subprocess.rst:971 msgid "Keyword-only argument support was added." msgstr "" -#: ../../library/subprocess.rst:954 +#: ../../library/subprocess.rst:976 msgid "" "A bit field that determines whether certain :class:`STARTUPINFO` attributes " "are used when the process creates a window. ::" msgstr "" -#: ../../library/subprocess.rst:962 +#: ../../library/subprocess.rst:984 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " "the standard input handle for the process. If :data:`STARTF_USESTDHANDLES` " "is not specified, the default for standard input is the keyboard buffer." msgstr "" -#: ../../library/subprocess.rst:969 +#: ../../library/subprocess.rst:991 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " "the standard output handle for the process. Otherwise, this attribute is " "ignored and the default for standard output is the console window's buffer." msgstr "" -#: ../../library/subprocess.rst:976 +#: ../../library/subprocess.rst:998 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESTDHANDLES`, this attribute is " "the standard error handle for the process. Otherwise, this attribute is " "ignored and the default for standard error is the console window's buffer." msgstr "" -#: ../../library/subprocess.rst:982 +#: ../../library/subprocess.rst:1004 msgid "" "If :attr:`dwFlags` specifies :data:`STARTF_USESHOWWINDOW`, this attribute " "can be any of the values that can be specified in the ``nCmdShow`` parameter " @@ -1419,141 +1541,141 @@ msgid "" "Otherwise, this attribute is ignored." msgstr "" -#: ../../library/subprocess.rst:989 +#: ../../library/subprocess.rst:1011 msgid "" -":data:`SW_HIDE` is provided for this attribute. It is used when :class:" -"`Popen` is called with ``shell=True``." +":data:`SW_HIDE` is provided for this attribute. It is used " +"when :class:`Popen` is called with ``shell=True``." msgstr "" -#: ../../library/subprocess.rst:994 +#: ../../library/subprocess.rst:1016 msgid "" "A dictionary of additional attributes for process creation as given in " -"``STARTUPINFOEX``, see `UpdateProcThreadAttribute `__." +"``STARTUPINFOEX``, see `UpdateProcThreadAttribute `__." msgstr "" -#: ../../library/subprocess.rst:998 +#: ../../library/subprocess.rst:1020 msgid "Supported attributes:" msgstr "Atributos suportados:" -#: ../../library/subprocess.rst:1016 +#: ../../library/subprocess.rst:1038 msgid "**handle_list**" msgstr "**handle_list**" -#: ../../library/subprocess.rst:1001 +#: ../../library/subprocess.rst:1023 msgid "" "Sequence of handles that will be inherited. *close_fds* must be true if non-" "empty." msgstr "" -#: ../../library/subprocess.rst:1004 +#: ../../library/subprocess.rst:1026 msgid "" -"The handles must be temporarily made inheritable by :func:`os." -"set_handle_inheritable` when passed to the :class:`Popen` constructor, else :" -"class:`OSError` will be raised with Windows error " +"The handles must be temporarily made inheritable " +"by :func:`os.set_handle_inheritable` when passed to the :class:`Popen` " +"constructor, else :class:`OSError` will be raised with Windows error " "``ERROR_INVALID_PARAMETER`` (87)." msgstr "" -#: ../../library/subprocess.rst:1011 +#: ../../library/subprocess.rst:1033 msgid "" "In a multithreaded process, use caution to avoid leaking handles that are " "marked inheritable when combining this feature with concurrent calls to " -"other process creation functions that inherit all handles such as :func:`os." -"system`. This also applies to standard handle redirection, which " -"temporarily creates inheritable handles." +"other process creation functions that inherit all handles such " +"as :func:`os.system`. This also applies to standard handle redirection, " +"which temporarily creates inheritable handles." msgstr "" -#: ../../library/subprocess.rst:1021 +#: ../../library/subprocess.rst:1043 msgid "Windows Constants" msgstr "Constantes do Windows" -#: ../../library/subprocess.rst:1023 +#: ../../library/subprocess.rst:1045 msgid "The :mod:`subprocess` module exposes the following constants." msgstr "" -#: ../../library/subprocess.rst:1027 +#: ../../library/subprocess.rst:1049 msgid "" "The standard input device. Initially, this is the console input buffer, " "``CONIN$``." msgstr "" -#: ../../library/subprocess.rst:1032 +#: ../../library/subprocess.rst:1054 msgid "" "The standard output device. Initially, this is the active console screen " "buffer, ``CONOUT$``." msgstr "" -#: ../../library/subprocess.rst:1037 +#: ../../library/subprocess.rst:1059 msgid "" "The standard error device. Initially, this is the active console screen " "buffer, ``CONOUT$``." msgstr "" -#: ../../library/subprocess.rst:1042 +#: ../../library/subprocess.rst:1064 msgid "Hides the window. Another window will be activated." msgstr "Oculta a janela. Outra janela será ativada." -#: ../../library/subprocess.rst:1046 +#: ../../library/subprocess.rst:1068 msgid "" -"Specifies that the :attr:`STARTUPINFO.hStdInput`, :attr:`STARTUPINFO." -"hStdOutput`, and :attr:`STARTUPINFO.hStdError` attributes contain additional " -"information." +"Specifies that " +"the :attr:`STARTUPINFO.hStdInput`, :attr:`STARTUPINFO.hStdOutput`, " +"and :attr:`STARTUPINFO.hStdError` attributes contain additional information." msgstr "" -#: ../../library/subprocess.rst:1052 +#: ../../library/subprocess.rst:1074 msgid "" "Specifies that the :attr:`STARTUPINFO.wShowWindow` attribute contains " "additional information." msgstr "" -#: ../../library/subprocess.rst:1057 +#: ../../library/subprocess.rst:1079 msgid "" "The new process has a new console, instead of inheriting its parent's " "console (the default)." msgstr "" -#: ../../library/subprocess.rst:1062 +#: ../../library/subprocess.rst:1084 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "group will be created. This flag is necessary for using :func:`os.kill` on " "the subprocess." msgstr "" -#: ../../library/subprocess.rst:1066 +#: ../../library/subprocess.rst:1088 msgid "This flag is ignored if :data:`CREATE_NEW_CONSOLE` is specified." msgstr "" -#: ../../library/subprocess.rst:1070 +#: ../../library/subprocess.rst:1092 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an above average priority." msgstr "" -#: ../../library/subprocess.rst:1077 +#: ../../library/subprocess.rst:1099 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have a below average priority." msgstr "" -#: ../../library/subprocess.rst:1084 +#: ../../library/subprocess.rst:1106 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have a high priority." msgstr "" -#: ../../library/subprocess.rst:1091 +#: ../../library/subprocess.rst:1113 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an idle (lowest) priority." msgstr "" -#: ../../library/subprocess.rst:1098 +#: ../../library/subprocess.rst:1120 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have an normal priority. (default)" msgstr "" -#: ../../library/subprocess.rst:1105 +#: ../../library/subprocess.rst:1127 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will have realtime priority. You should almost never use " @@ -1563,20 +1685,20 @@ msgid "" "perform brief tasks that should have limited interruptions." msgstr "" -#: ../../library/subprocess.rst:1116 +#: ../../library/subprocess.rst:1138 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will not create a window." msgstr "" -#: ../../library/subprocess.rst:1123 +#: ../../library/subprocess.rst:1145 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "will not inherit its parent's console. This value cannot be used with " "CREATE_NEW_CONSOLE." msgstr "" -#: ../../library/subprocess.rst:1131 +#: ../../library/subprocess.rst:1153 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "does not inherit the error mode of the calling process. Instead, the new " @@ -1584,17 +1706,17 @@ msgid "" "multithreaded shell applications that run with hard errors disabled." msgstr "" -#: ../../library/subprocess.rst:1141 +#: ../../library/subprocess.rst:1163 msgid "" "A :class:`Popen` ``creationflags`` parameter to specify that a new process " "is not associated with the job." msgstr "" -#: ../../library/subprocess.rst:1149 +#: ../../library/subprocess.rst:1171 msgid "Older high-level API" msgstr "API de alto nível mais antiga" -#: ../../library/subprocess.rst:1151 +#: ../../library/subprocess.rst:1173 msgid "" "Prior to Python 3.5, these three functions comprised the high level API to " "subprocess. You can now use :func:`run` in many cases, but lots of existing " @@ -1604,22 +1726,22 @@ msgstr "" "subprocesso. Agora você pode usar :func:`run` em muitos casos, mas muitos " "códigos existentes chamam essas funções." -#: ../../library/subprocess.rst:1158 +#: ../../library/subprocess.rst:1180 msgid "" "Run the command described by *args*. Wait for command to complete, then " "return the :attr:`~Popen.returncode` attribute." msgstr "" -#: ../../library/subprocess.rst:1161 ../../library/subprocess.rst:1201 +#: ../../library/subprocess.rst:1183 ../../library/subprocess.rst:1223 msgid "" "Code needing to capture stdout or stderr should use :func:`run` instead::" msgstr "" -#: ../../library/subprocess.rst:1165 ../../library/subprocess.rst:1205 +#: ../../library/subprocess.rst:1187 ../../library/subprocess.rst:1227 msgid "To suppress stdout or stderr, supply a value of :data:`DEVNULL`." msgstr "" -#: ../../library/subprocess.rst:1167 ../../library/subprocess.rst:1207 +#: ../../library/subprocess.rst:1189 ../../library/subprocess.rst:1229 msgid "" "The arguments shown above are merely some common ones. The full function " "signature is the same as that of the :class:`Popen` constructor - this " @@ -1627,229 +1749,230 @@ msgid "" "to that interface." msgstr "" -#: ../../library/subprocess.rst:1174 ../../library/subprocess.rst:1214 +#: ../../library/subprocess.rst:1196 ../../library/subprocess.rst:1236 msgid "" "Do not use ``stdout=PIPE`` or ``stderr=PIPE`` with this function. The child " "process will block if it generates enough output to a pipe to fill up the OS " "pipe buffer as the pipes are not being read from." msgstr "" -#: ../../library/subprocess.rst:1194 +#: ../../library/subprocess.rst:1216 msgid "" "Run command with arguments. Wait for command to complete. If the return " -"code was zero then return, otherwise raise :exc:`CalledProcessError`. The :" -"exc:`CalledProcessError` object will have the return code in the :attr:" -"`~CalledProcessError.returncode` attribute. If :func:`check_call` was unable " -"to start the process it will propagate the exception that was raised." +"code was zero then return, otherwise raise :exc:`CalledProcessError`. " +"The :exc:`CalledProcessError` object will have the return code in " +"the :attr:`~CalledProcessError.returncode` attribute. If :func:`check_call` " +"was unable to start the process it will propagate the exception that was " +"raised." msgstr "" -#: ../../library/subprocess.rst:1236 +#: ../../library/subprocess.rst:1258 msgid "Run command with arguments and return its output." msgstr "Executa o comando com argumentos e retorna sua saída." -#: ../../library/subprocess.rst:1238 +#: ../../library/subprocess.rst:1260 msgid "" -"If the return code was non-zero it raises a :exc:`CalledProcessError`. The :" -"exc:`CalledProcessError` object will have the return code in the :attr:" -"`~CalledProcessError.returncode` attribute and any output in the :attr:" -"`~CalledProcessError.output` attribute." +"If the return code was non-zero it raises a :exc:`CalledProcessError`. " +"The :exc:`CalledProcessError` object will have the return code in " +"the :attr:`~CalledProcessError.returncode` attribute and any output in " +"the :attr:`~CalledProcessError.output` attribute." msgstr "" -#: ../../library/subprocess.rst:1243 +#: ../../library/subprocess.rst:1265 msgid "This is equivalent to::" msgstr "Isso equivale a::" -#: ../../library/subprocess.rst:1247 +#: ../../library/subprocess.rst:1269 msgid "" "The arguments shown above are merely some common ones. The full function " "signature is largely the same as that of :func:`run` - most arguments are " -"passed directly through to that interface. One API deviation from :func:" -"`run` behavior exists: passing ``input=None`` will behave the same as " -"``input=b''`` (or ``input=''``, depending on other arguments) rather than " -"using the parent's standard input file handle." +"passed directly through to that interface. One API deviation " +"from :func:`run` behavior exists: passing ``input=None`` will behave the " +"same as ``input=b''`` (or ``input=''``, depending on other arguments) rather " +"than using the parent's standard input file handle." msgstr "" -#: ../../library/subprocess.rst:1254 +#: ../../library/subprocess.rst:1276 msgid "" "By default, this function will return the data as encoded bytes. The actual " "encoding of the output data may depend on the command being invoked, so the " "decoding to text will often need to be handled at the application level." msgstr "" -#: ../../library/subprocess.rst:1258 +#: ../../library/subprocess.rst:1280 msgid "" "This behaviour may be overridden by setting *text*, *encoding*, *errors*, or " "*universal_newlines* to ``True`` as described in :ref:`frequently-used-" "arguments` and :func:`run`." msgstr "" -#: ../../library/subprocess.rst:1262 +#: ../../library/subprocess.rst:1284 msgid "" -"To also capture standard error in the result, use ``stderr=subprocess." -"STDOUT``::" +"To also capture standard error in the result, use " +"``stderr=subprocess.STDOUT``::" msgstr "" -#: ../../library/subprocess.rst:1276 +#: ../../library/subprocess.rst:1298 msgid "Support for the *input* keyword argument was added." msgstr "" -#: ../../library/subprocess.rst:1279 +#: ../../library/subprocess.rst:1301 msgid "*encoding* and *errors* were added. See :func:`run` for details." msgstr "" -#: ../../library/subprocess.rst:1297 +#: ../../library/subprocess.rst:1319 msgid "Replacing Older Functions with the :mod:`subprocess` Module" msgstr "" -#: ../../library/subprocess.rst:1299 +#: ../../library/subprocess.rst:1321 msgid "" "In this section, \"a becomes b\" means that b can be used as a replacement " "for a." msgstr "" -#: ../../library/subprocess.rst:1303 +#: ../../library/subprocess.rst:1325 msgid "" "All \"a\" functions in this section fail (more or less) silently if the " -"executed program cannot be found; the \"b\" replacements raise :exc:" -"`OSError` instead." +"executed program cannot be found; the \"b\" replacements " +"raise :exc:`OSError` instead." msgstr "" -#: ../../library/subprocess.rst:1307 +#: ../../library/subprocess.rst:1329 msgid "" -"In addition, the replacements using :func:`check_output` will fail with a :" -"exc:`CalledProcessError` if the requested operation produces a non-zero " -"return code. The output is still available as the :attr:`~CalledProcessError." -"output` attribute of the raised exception." +"In addition, the replacements using :func:`check_output` will fail with " +"a :exc:`CalledProcessError` if the requested operation produces a non-zero " +"return code. The output is still available as " +"the :attr:`~CalledProcessError.output` attribute of the raised exception." msgstr "" -#: ../../library/subprocess.rst:1312 +#: ../../library/subprocess.rst:1334 msgid "" "In the following examples, we assume that the relevant functions have " "already been imported from the :mod:`subprocess` module." msgstr "" -#: ../../library/subprocess.rst:1317 +#: ../../library/subprocess.rst:1339 msgid "Replacing :program:`/bin/sh` shell command substitution" msgstr "" -#: ../../library/subprocess.rst:1323 ../../library/subprocess.rst:1334 -#: ../../library/subprocess.rst:1351 +#: ../../library/subprocess.rst:1345 ../../library/subprocess.rst:1356 +#: ../../library/subprocess.rst:1373 msgid "becomes::" msgstr "torna-se::" -#: ../../library/subprocess.rst:1328 +#: ../../library/subprocess.rst:1350 msgid "Replacing shell pipeline" msgstr "" -#: ../../library/subprocess.rst:1341 +#: ../../library/subprocess.rst:1363 msgid "" "The ``p1.stdout.close()`` call after starting the p2 is important in order " "for p1 to receive a SIGPIPE if p2 exits before p1." msgstr "" -#: ../../library/subprocess.rst:1344 +#: ../../library/subprocess.rst:1366 msgid "" "Alternatively, for trusted input, the shell's own pipeline support may still " "be used directly:" msgstr "" -#: ../../library/subprocess.rst:1357 +#: ../../library/subprocess.rst:1379 msgid "Replacing :func:`os.system`" msgstr "Substituindo :func:`os.system`" -#: ../../library/subprocess.rst:1365 +#: ../../library/subprocess.rst:1387 msgid "Notes:" msgstr "Notas:" -#: ../../library/subprocess.rst:1367 +#: ../../library/subprocess.rst:1389 msgid "Calling the program through the shell is usually not required." msgstr "" -#: ../../library/subprocess.rst:1368 +#: ../../library/subprocess.rst:1390 msgid "" -"The :func:`call` return value is encoded differently to that of :func:`os." -"system`." +"The :func:`call` return value is encoded differently to that " +"of :func:`os.system`." msgstr "" -#: ../../library/subprocess.rst:1371 +#: ../../library/subprocess.rst:1393 msgid "" "The :func:`os.system` function ignores SIGINT and SIGQUIT signals while the " -"command is running, but the caller must do this separately when using the :" -"mod:`subprocess` module." +"command is running, but the caller must do this separately when using " +"the :mod:`subprocess` module." msgstr "" -#: ../../library/subprocess.rst:1375 +#: ../../library/subprocess.rst:1397 msgid "A more realistic example would look like this::" msgstr "Um exemplo mais realista ficaria assim::" -#: ../../library/subprocess.rst:1388 +#: ../../library/subprocess.rst:1410 msgid "Replacing the :func:`os.spawn ` family" msgstr "" -#: ../../library/subprocess.rst:1390 +#: ../../library/subprocess.rst:1412 msgid "P_NOWAIT example::" msgstr "Exemplo P_NOWAIT::" -#: ../../library/subprocess.rst:1396 +#: ../../library/subprocess.rst:1418 msgid "P_WAIT example::" msgstr "Exemplo P_WAIT::" -#: ../../library/subprocess.rst:1402 +#: ../../library/subprocess.rst:1424 msgid "Vector example::" msgstr "Exemplo de vetor::" -#: ../../library/subprocess.rst:1408 +#: ../../library/subprocess.rst:1430 msgid "Environment example::" msgstr "Exemplo de ambiente::" -#: ../../library/subprocess.rst:1417 +#: ../../library/subprocess.rst:1439 msgid "Replacing :func:`os.popen`, :func:`os.popen2`, :func:`os.popen3`" msgstr "" -#: ../../library/subprocess.rst:1447 +#: ../../library/subprocess.rst:1469 msgid "Return code handling translates as follows::" msgstr "" -#: ../../library/subprocess.rst:1463 -msgid "Replacing functions from the :mod:`popen2` module" +#: ../../library/subprocess.rst:1485 +msgid "Replacing functions from the :mod:`!popen2` module" msgstr "" -#: ../../library/subprocess.rst:1467 +#: ../../library/subprocess.rst:1489 msgid "" "If the cmd argument to popen2 functions is a string, the command is executed " "through /bin/sh. If it is a list, the command is directly executed." msgstr "" -#: ../../library/subprocess.rst:1486 +#: ../../library/subprocess.rst:1508 msgid "" -":class:`popen2.Popen3` and :class:`popen2.Popen4` basically work as :class:" -"`subprocess.Popen`, except that:" +":class:`popen2.Popen3` and :class:`popen2.Popen4` basically work " +"as :class:`subprocess.Popen`, except that:" msgstr "" -#: ../../library/subprocess.rst:1489 +#: ../../library/subprocess.rst:1511 msgid ":class:`Popen` raises an exception if the execution fails." msgstr "" -#: ../../library/subprocess.rst:1491 +#: ../../library/subprocess.rst:1513 msgid "The *capturestderr* argument is replaced with the *stderr* argument." msgstr "" -#: ../../library/subprocess.rst:1493 +#: ../../library/subprocess.rst:1515 msgid "``stdin=PIPE`` and ``stdout=PIPE`` must be specified." msgstr "" -#: ../../library/subprocess.rst:1495 +#: ../../library/subprocess.rst:1517 msgid "" "popen2 closes all file descriptors by default, but you have to specify " "``close_fds=True`` with :class:`Popen` to guarantee this behavior on all " "platforms or past Python versions." msgstr "" -#: ../../library/subprocess.rst:1501 +#: ../../library/subprocess.rst:1523 msgid "Legacy Shell Invocation Functions" msgstr "" -#: ../../library/subprocess.rst:1503 +#: ../../library/subprocess.rst:1525 msgid "" "This module also provides the following legacy functions from the 2.x " "``commands`` module. These operations implicitly invoke the system shell and " @@ -1857,11 +1980,11 @@ msgid "" "handling consistency are valid for these functions." msgstr "" -#: ../../library/subprocess.rst:1510 +#: ../../library/subprocess.rst:1532 msgid "Return ``(exitcode, output)`` of executing *cmd* in a shell." msgstr "" -#: ../../library/subprocess.rst:1512 +#: ../../library/subprocess.rst:1534 msgid "" "Execute the string *cmd* in a shell with :meth:`Popen.check_output` and " "return a 2-tuple ``(exitcode, output)``. *encoding* and *errors* are used to " @@ -1869,85 +1992,81 @@ msgid "" "details." msgstr "" -#: ../../library/subprocess.rst:1517 +#: ../../library/subprocess.rst:1539 msgid "" "A trailing newline is stripped from the output. The exit code for the " "command can be interpreted as the return code of subprocess. Example::" msgstr "" -#: ../../library/subprocess.rst:1530 ../../library/subprocess.rst:1552 +#: ../../library/subprocess.rst:1552 ../../library/subprocess.rst:1574 msgid ":ref:`Availability `: Unix, Windows." -msgstr ":ref:`Disponibilidade`: Unix, Windows." +msgstr ":ref:`Disponibilidade `: Unix, Windows." -#: ../../library/subprocess.rst:1532 +#: ../../library/subprocess.rst:1554 msgid "Windows support was added." msgstr "Suporte ao Windows foi adicionado." -#: ../../library/subprocess.rst:1535 +#: ../../library/subprocess.rst:1557 msgid "" "The function now returns (exitcode, output) instead of (status, output) as " -"it did in Python 3.3.3 and earlier. exitcode has the same value as :attr:" -"`~Popen.returncode`." -msgstr "" - -#: ../../library/subprocess.rst:1539 ../../library/subprocess.rst:1557 -msgid "Added *encoding* and *errors* arguments." +"it did in Python 3.3.3 and earlier. exitcode has the same value " +"as :attr:`~Popen.returncode`." msgstr "" -#: ../../library/subprocess.rst:1544 +#: ../../library/subprocess.rst:1566 msgid "Return output (stdout and stderr) of executing *cmd* in a shell." msgstr "" -#: ../../library/subprocess.rst:1546 +#: ../../library/subprocess.rst:1568 msgid "" "Like :func:`getstatusoutput`, except the exit code is ignored and the return " "value is a string containing the command's output. Example::" msgstr "" -#: ../../library/subprocess.rst:1554 +#: ../../library/subprocess.rst:1576 msgid "Windows support added" msgstr "Suporte para Windows adicionado." -#: ../../library/subprocess.rst:1562 +#: ../../library/subprocess.rst:1584 msgid "Notes" msgstr "Notas" -#: ../../library/subprocess.rst:1567 +#: ../../library/subprocess.rst:1589 msgid "Converting an argument sequence to a string on Windows" msgstr "Converter uma sequência de argumentos em uma string no Windows" -#: ../../library/subprocess.rst:1569 +#: ../../library/subprocess.rst:1591 msgid "" "On Windows, an *args* sequence is converted to a string that can be parsed " "using the following rules (which correspond to the rules used by the MS C " "runtime):" msgstr "" -#: ../../library/subprocess.rst:1573 +#: ../../library/subprocess.rst:1595 msgid "" "Arguments are delimited by white space, which is either a space or a tab." msgstr "" -#: ../../library/subprocess.rst:1576 +#: ../../library/subprocess.rst:1598 msgid "" "A string surrounded by double quotation marks is interpreted as a single " "argument, regardless of white space contained within. A quoted string can " "be embedded in an argument." msgstr "" -#: ../../library/subprocess.rst:1581 +#: ../../library/subprocess.rst:1603 msgid "" "A double quotation mark preceded by a backslash is interpreted as a literal " "double quotation mark." msgstr "" -#: ../../library/subprocess.rst:1584 +#: ../../library/subprocess.rst:1606 msgid "" "Backslashes are interpreted literally, unless they immediately precede a " "double quotation mark." msgstr "" -#: ../../library/subprocess.rst:1587 +#: ../../library/subprocess.rst:1609 msgid "" "If backslashes immediately precede a double quotation mark, every pair of " "backslashes is interpreted as a literal backslash. If the number of " @@ -1955,41 +2074,41 @@ msgid "" "mark as described in rule 3." msgstr "" -#: ../../library/subprocess.rst:1596 +#: ../../library/subprocess.rst:1618 msgid ":mod:`shlex`" msgstr ":mod:`shlex`" -#: ../../library/subprocess.rst:1597 +#: ../../library/subprocess.rst:1619 msgid "Module which provides function to parse and escape command lines." msgstr "" -#: ../../library/subprocess.rst:1604 +#: ../../library/subprocess.rst:1626 msgid "Disabling use of ``vfork()`` or ``posix_spawn()``" msgstr "" -#: ../../library/subprocess.rst:1606 +#: ../../library/subprocess.rst:1628 msgid "" "On Linux, :mod:`subprocess` defaults to using the ``vfork()`` system call " "internally when it is safe to do so rather than ``fork()``. This greatly " "improves performance." msgstr "" -#: ../../library/subprocess.rst:1610 +#: ../../library/subprocess.rst:1632 msgid "" "If you ever encounter a presumed highly unusual situation where you need to " -"prevent ``vfork()`` from being used by Python, you can set the :attr:" -"`subprocess._USE_VFORK` attribute to a false value." +"prevent ``vfork()`` from being used by Python, you can set " +"the :const:`subprocess._USE_VFORK` attribute to a false value." msgstr "" -#: ../../library/subprocess.rst:1618 +#: ../../library/subprocess.rst:1640 msgid "" "Setting this has no impact on use of ``posix_spawn()`` which could use " -"``vfork()`` internally within its libc implementation. There is a similar :" -"attr:`subprocess._USE_POSIX_SPAWN` attribute if you need to prevent use of " -"that." +"``vfork()`` internally within its libc implementation. There is a " +"similar :const:`subprocess._USE_POSIX_SPAWN` attribute if you need to " +"prevent use of that." msgstr "" -#: ../../library/subprocess.rst:1627 +#: ../../library/subprocess.rst:1649 msgid "" "It is safe to set these to false on any Python version. They will have no " "effect on older versions when unsupported. Do not assume the attributes are " @@ -1997,25 +2116,25 @@ msgid "" "the corresponding function will be used, only that it may be." msgstr "" -#: ../../library/subprocess.rst:1632 +#: ../../library/subprocess.rst:1654 msgid "" "Please file issues any time you have to use these private knobs with a way " "to reproduce the issue you were seeing. Link to that issue from a comment in " "your code." msgstr "" -#: ../../library/subprocess.rst:1636 +#: ../../library/subprocess.rst:1658 msgid "``_USE_POSIX_SPAWN``" -msgstr "" +msgstr "``_USE_POSIX_SPAWN``" -#: ../../library/subprocess.rst:1637 +#: ../../library/subprocess.rst:1659 msgid "``_USE_VFORK``" msgstr "" -#: ../../library/subprocess.rst:291 +#: ../../library/subprocess.rst:297 msgid "universal newlines" msgstr "novas linhas universais" -#: ../../library/subprocess.rst:291 +#: ../../library/subprocess.rst:297 msgid "subprocess module" msgstr "" diff --git a/library/sunau.po b/library/sunau.po index cfc3e620c..dea355571 100644 --- a/library/sunau.po +++ b/library/sunau.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# i17obot , 2021 -# Adorilson Bezerra , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Adorilson Bezerra , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -46,8 +42,8 @@ msgstr "" #: ../../library/sunau.rst:18 msgid "" "The :mod:`sunau` module provides a convenient interface to the Sun AU sound " -"format. Note that this module is interface-compatible with the modules :mod:" -"`aifc` and :mod:`wave`." +"format. Note that this module is interface-compatible with the " +"modules :mod:`aifc` and :mod:`wave`." msgstr "" "O módulo :mod:`sunau` fornece uma interface conveniente para o formato de " "som AU da Sun. Observe que este módulo é compatível com a interface dos " @@ -276,12 +272,12 @@ msgstr "" #: ../../library/sunau.rst:154 msgid "" "Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth, " -"framerate, nframes, comptype, compname)``, equivalent to output of the :meth:" -"`get\\*` methods." +"framerate, nframes, comptype, compname)``, equivalent to output of " +"the :meth:`get\\*` methods." msgstr "" "Retorna uma :func:`~collections.namedtuple` ``(nchannels, sampwidth, " -"framerate, nframes, comptype, compname)``, equivalente à saída dos métodos :" -"meth:`get\\*`." +"framerate, nframes, comptype, compname)``, equivalente à saída dos " +"métodos :meth:`get\\*`." #: ../../library/sunau.rst:161 msgid "" @@ -307,8 +303,8 @@ msgstr "" #: ../../library/sunau.rst:176 msgid "" -"Set the file pointer to the specified position. Only values returned from :" -"meth:`tell` should be used for *pos*." +"Set the file pointer to the specified position. Only values returned " +"from :meth:`tell` should be used for *pos*." msgstr "" "Define o ponteiro do arquivo para a posição especificada. Apenas os valores " "retornados de :meth:`tell` devem ser usados para *pos*." @@ -323,11 +319,11 @@ msgstr "" #: ../../library/sunau.rst:185 msgid "" -"The following two functions are defined for compatibility with the :mod:" -"`aifc`, and don't do anything interesting." +"The following two functions are defined for compatibility with " +"the :mod:`aifc`, and don't do anything interesting." msgstr "" -"As duas funções a seguir são definidas para compatibilidade com o :mod:" -"`aifc`, e não fazem nada de interessante." +"As duas funções a seguir são definidas para compatibilidade com " +"o :mod:`aifc`, e não fazem nada de interessante." #: ../../library/sunau.rst:191 msgid "Returns ``None``." @@ -393,11 +389,11 @@ msgstr "" #: ../../library/sunau.rst:246 msgid "" -"Return current position in the file, with the same disclaimer for the :meth:" -"`AU_read.tell` and :meth:`AU_read.setpos` methods." +"Return current position in the file, with the same disclaimer for " +"the :meth:`AU_read.tell` and :meth:`AU_read.setpos` methods." msgstr "" -"Retorna a posição atual no arquivo, com as mesmas observações dos métodos :" -"meth:`AU_read.tell` e :meth:`AU_read.setpos`." +"Retorna a posição atual no arquivo, com as mesmas observações dos " +"métodos :meth:`AU_read.tell` e :meth:`AU_read.setpos`." #: ../../library/sunau.rst:252 msgid "Write audio frames, without correcting *nframes*." @@ -405,8 +401,7 @@ msgstr "Escreve quadros de áudio, sem corrigir *nframes*." #: ../../library/sunau.rst:254 ../../library/sunau.rst:262 msgid "Any :term:`bytes-like object` is now accepted." -msgstr "" -"Todo :term:`objeto byte ou similar ` agora é aceito." +msgstr "Todo :term:`objeto bytes ou similar` agora é aceito." #: ../../library/sunau.rst:260 msgid "Write audio frames and make sure *nframes* is correct." @@ -423,8 +418,8 @@ msgstr "Este método é chamado após a exclusão." #: ../../library/sunau.rst:272 msgid "" -"Note that it is invalid to set any parameters after calling :meth:" -"`writeframes` or :meth:`writeframesraw`." +"Note that it is invalid to set any parameters after " +"calling :meth:`writeframes` or :meth:`writeframesraw`." msgstr "" -"Observe que é inválido definir qualquer parâmetro após chamar :meth:" -"`writeframes` ou :meth:`writeframesraw`." +"Observe que é inválido definir qualquer parâmetro após " +"chamar :meth:`writeframes` ou :meth:`writeframesraw`." diff --git a/library/superseded.po b/library/superseded.po index 657ab05ef..6f8cc995a 100644 --- a/library/superseded.po +++ b/library/superseded.po @@ -1,32 +1,31 @@ # 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: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/superseded.rst:5 msgid "Superseded Modules" -msgstr "Módulos Substituídos" +msgstr "Módulos substituídos" #: ../../library/superseded.rst:7 msgid "" diff --git a/library/symbol.po b/library/symbol.po deleted file mode 100644 index 99dfa50ad..000000000 --- a/library/symbol.po +++ /dev/null @@ -1,69 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Rafael Fontenelle , 2020 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.9\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-01-01 05:02+0000\n" -"PO-Revision-Date: 2017-02-16 23:28+0000\n" -"Last-Translator: Rafael Fontenelle , 2020\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" -"teams/5390/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: ../../library/symbol.rst:2 -msgid ":mod:`symbol` --- Constants used with Python parse trees" -msgstr ":mod:`symbol` --- Constantes usadas com árvores de análise do Python" - -#: ../../library/symbol.rst:9 -msgid "**Source code:** :source:`Lib/symbol.py`" -msgstr "**Código-fonte:** :source:`Lib/symbol.py`" - -#: ../../library/symbol.rst:13 -msgid "" -"This module provides constants which represent the numeric values of " -"internal nodes of the parse tree. Unlike most Python constants, these use " -"lower-case names. Refer to the file :file:`Grammar/Grammar` in the Python " -"distribution for the definitions of the names in the context of the language " -"grammar. The specific numeric values which the names map to may change " -"between Python versions." -msgstr "" -"Este módulo fornece constantes que representam os valores numéricos dos nós " -"internos da árvore de análise. Diferentemente da maioria das constantes do " -"Python, elas usam nomes de letras minúsculas. Consulte o arquivo :file:" -"`Grammar/Grammar` na distribuição Python para as definições dos nomes no " -"contexto da gramática do idioma. Os valores numéricos específicos para os " -"quais os nomes mapeiam podem mudar entre as versões do Python." - -#: ../../library/symbol.rst:22 -msgid "" -"The symbol module is deprecated and will be removed in future versions of " -"Python." -msgstr "" -"O módulo símbolo foi descontinuado e será removido em versões futuras do " -"Python." - -#: ../../library/symbol.rst:25 -msgid "This module also provides one additional data object:" -msgstr "Esse módulo também fornece um objeto de dados adicional." - -#: ../../library/symbol.rst:30 -msgid "" -"Dictionary mapping the numeric values of the constants defined in this " -"module back to name strings, allowing more human-readable representation of " -"parse trees to be generated." -msgstr "" -"Dicionário que mapeia os valores numéricos das constantes definidas neste " -"módulo de volta para cadeias de nomes, permitindo que seja gerada uma " -"representação mais legível de árvores de análise." diff --git a/library/symtable.po b/library/symtable.po index 5d3ea94fc..4a8473e89 100644 --- a/library/symtable.po +++ b/library/symtable.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -97,8 +95,8 @@ msgstr "" #: ../../library/symtable.rst:72 msgid "" -"Return a view object containing the names of symbols in the table. See the :" -"ref:`documentation of view objects `." +"Return a view object containing the names of symbols in the table. See " +"the :ref:`documentation of view objects `." msgstr "" #: ../../library/symtable.rst:77 @@ -115,8 +113,8 @@ msgstr "" #: ../../library/symtable.rst:90 msgid "" -"A namespace for a function or method. This class inherits :class:" -"`SymbolTable`." +"A namespace for a function or method. This class inherits " +"from :class:`SymbolTable`." msgstr "" #: ../../library/symtable.rst:95 @@ -140,7 +138,7 @@ msgid "Return a tuple containing names of free variables in this function." msgstr "" #: ../../library/symtable.rst:116 -msgid "A namespace of a class. This class inherits :class:`SymbolTable`." +msgid "A namespace of a class. This class inherits from :class:`SymbolTable`." msgstr "" #: ../../library/symtable.rst:120 diff --git a/library/sys.po b/library/sys.po index dd4fdf1c1..f39c7aac4 100644 --- a/library/sys.po +++ b/library/sys.po @@ -1,35 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rogério Araújo , 2021 -# Hildeberto Abreu Magalhães , 2021 -# Welington Carlos , 2021 -# felipe caridade , 2021 -# a76d6fb6142d7607ab0526dcbddb02d7_7bf0da0 <3b5fb0f281c8dfb4c0170f2ee2a6cfcf_843623>, 2021 -# i17obot , 2021 -# yyyyyyyan , 2021 -# Raphael Mendonça, 2023 -# Claudio Rogerio Carvalho Filho , 2023 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -53,10 +43,10 @@ msgid "" "script, this contains the ABI flags as specified by :pep:`3149`." msgstr "" "Em sistemas POSIX onde Python foi construído com o script ``configure`` " -"padrão, ele contém os sinalizadores ABI conforme especificado por :pep:" -"`3149`." +"padrão, ele contém os sinalizadores ABI conforme especificado " +"por :pep:`3149`." -#: ../../library/sys.rst:19 +#: ../../library/sys.rst:21 msgid "" "Default flags became an empty string (``m`` flag for pymalloc has been " "removed)." @@ -81,12 +71,13 @@ msgid "" "Hooks can then log the event, raise an exception to abort the operation, or " "terminate the process entirely." msgstr "" -"Quando um evento de auditoria é levantado através da função :func:`sys." -"audit`, cada gancho será chamado na ordem em que foi adicionado com o nome " -"do evento e a tupla de argumentos. Ganchos nativos adicionados por :c:func:" -"`PySys_AddAuditHook` são chamados primeiro, seguidos por ganchos adicionados " -"no (sub)interpretador atual. Os ganchos podem registrar o evento, levantar " -"uma exceção para cancelar a operação ou encerrar o processo completamente." +"Quando um evento de auditoria é levantado através da " +"função :func:`sys.audit`, cada gancho será chamado na ordem em que foi " +"adicionado com o nome do evento e a tupla de argumentos. Ganchos nativos " +"adicionados por :c:func:`PySys_AddAuditHook` são chamados primeiro, seguidos " +"por ganchos adicionados no (sub)interpretador atual. Os ganchos podem " +"registrar o evento, levantar uma exceção para cancelar a operação ou " +"encerrar o processo completamente." #: ../../library/sys.rst:38 msgid "" @@ -96,8 +87,8 @@ msgid "" "particular, malicious code can trivially disable or bypass hooks added using " "this function. At a minimum, any security-sensitive hooks must be added " "using the C API :c:func:`PySys_AddAuditHook` before initialising the " -"runtime, and any modules allowing arbitrary memory modification (such as :" -"mod:`ctypes`) should be completely removed or closely monitored." +"runtime, and any modules allowing arbitrary memory modification (such " +"as :mod:`ctypes`) should be completely removed or closely monitored." msgstr "" "Observe que os ganchos de auditoria são principalmente para coletar " "informações sobre ações internas ou não observáveis, seja por Python ou " @@ -106,14 +97,9 @@ msgstr "" "desabilitar ou ignorar os ganchos adicionados usando esta função. No mínimo, " "quaisquer ganchos sensíveis à segurança devem ser adicionados usando a API " "C :c:func:`PySys_AddAuditHook` antes de inicializar o tempo de execução, e " -"quaisquer módulos que permitam modificação arbitrária da memória (como :mod:" -"`ctypes`) devem ser completamente removidos ou monitorados de perto." - -#: ../../library/sys.rst:47 -msgid "" -"Raises an :ref:`auditing event ` ``sys.addaudithook`` with no " -"arguments." -msgstr " " +"quaisquer módulos que permitam modificação arbitrária da memória " +"(como :mod:`ctypes`) devem ser completamente removidos ou monitorados de " +"perto." #: ../../library/sys.rst:49 msgid "" @@ -124,11 +110,11 @@ msgid "" "hook has been added unless they control all existing hooks." msgstr "" "Chamar :func:`sys.addaudithook` levantará um evento de auditoria denominado " -"``sys.addaudithook`` com nenhum argumentos. Se qualquer gancho existente " -"levantar uma exceção derivada de :class:`RuntimeError`, o novo gancho não " -"será adicionado e a exceção será suprimida. Como resultado, os chamadores " -"não podem presumir que seu gancho foi adicionado, a menos que controlem " -"todos os ganchos existentes." +"``sys.addaudithook`` sem argumentos. Se qualquer gancho existente levantar " +"uma exceção derivada de :class:`RuntimeError`, o novo gancho não será " +"adicionado e a exceção será suprimida. Como resultado, os chamadores não " +"podem presumir que seu gancho foi adicionado, a menos que controlem todos os " +"ganchos existentes." #: ../../library/sys.rst:56 msgid "" @@ -240,11 +226,11 @@ msgstr "" #: ../../library/sys.rst:117 msgid "" -"Hooks are added using the :func:`sys.addaudithook` or :c:func:" -"`PySys_AddAuditHook` functions." +"Hooks are added using the :func:`sys.addaudithook` " +"or :c:func:`PySys_AddAuditHook` functions." msgstr "" -"Ganchos são adicionados usando as funções :func:`sys.addaudithook` ou :c:" -"func:`PySys_AddAuditHook`." +"Ganchos são adicionados usando as funções :func:`sys.addaudithook` " +"ou :c:func:`PySys_AddAuditHook`." #: ../../library/sys.rst:120 msgid "" @@ -264,38 +250,40 @@ msgstr "" #: ../../library/sys.rst:131 msgid "" -"Set during Python startup, before ``site.py`` is run, to the same value as :" -"data:`exec_prefix`. If not running in a :ref:`virtual environment `, the values will stay the same; if ``site.py`` finds that a virtual " "environment is in use, the values of :data:`prefix` and :data:`exec_prefix` " -"will be changed to point to the virtual environment, whereas :data:" -"`base_prefix` and :data:`base_exec_prefix` will remain pointing to the base " -"Python installation (the one which the virtual environment was created from)." +"will be changed to point to the virtual environment, " +"whereas :data:`base_prefix` and :data:`base_exec_prefix` will remain " +"pointing to the base Python installation (the one which the virtual " +"environment was created from)." msgstr "" "Definido durante a inicialização do Python, antes de ``site.py`` ser " "executado, para o mesmo valor que :data:`exec_prefix`. Se não estiver " "executando em um :ref:`ambiente virtual `, os valores permanecerão " "os mesmos; se ``site.py`` descobrir que um ambiente virtual está em uso, os " "valores de :data:`prefix` e :data:`exec_prefix` serão alterados para apontar " -"para o ambiente virtual, enquanto :data:`base_prefix` e :data:" -"`base_exec_prefix` permanecerá apontando para a instalação base do Python " -"(aquela a partir da qual o ambiente virtual foi criado)." +"para o ambiente virtual, enquanto :data:`base_prefix` " +"e :data:`base_exec_prefix` permanecerá apontando para a instalação base do " +"Python (aquela a partir da qual o ambiente virtual foi criado)." #: ../../library/sys.rst:145 msgid "" -"Set during Python startup, before ``site.py`` is run, to the same value as :" -"data:`prefix`. If not running in a :ref:`virtual environment `, " -"the values will stay the same; if ``site.py`` finds that a virtual " +"Set during Python startup, before ``site.py`` is run, to the same value " +"as :data:`prefix`. If not running in a :ref:`virtual environment `, the values will stay the same; if ``site.py`` finds that a virtual " "environment is in use, the values of :data:`prefix` and :data:`exec_prefix` " -"will be changed to point to the virtual environment, whereas :data:" -"`base_prefix` and :data:`base_exec_prefix` will remain pointing to the base " -"Python installation (the one which the virtual environment was created from)." +"will be changed to point to the virtual environment, " +"whereas :data:`base_prefix` and :data:`base_exec_prefix` will remain " +"pointing to the base Python installation (the one which the virtual " +"environment was created from)." msgstr "" "Definido durante a inicialização do Python, antes de ``site.py`` ser " "executado, para o mesmo valor que :data:`prefix`. Se não estiver executando " "em um :ref:`ambiente virtual `, os valores permanecerão os mesmos; " -"se ``site.py`` descobrir que um ambiente virtual está em uso, os valores de :" -"data:`prefix` e :data:`exec_prefix` serão alterados para apontar para o " +"se ``site.py`` descobrir que um ambiente virtual está em uso, os valores " +"de :data:`prefix` e :data:`exec_prefix` serão alterados para apontar para o " "ambiente virtual, enquanto :data:`base_prefix` e :data:`base_exec_prefix` " "permanecerá apontando para a instalação base do Python (aquela a partir da " "qual o ambiente virtual foi criado)." @@ -321,27 +309,39 @@ msgstr "" "forma --- ``modules.keys()`` apenas lista os módulos importados.)" #: ../../library/sys.rst:169 -msgid "See also the :attr:`sys.stdlib_module_names` list." -msgstr "Veja também a lista de :attr:`sys.stdlib_module_names`." +msgid "See also the :data:`sys.stdlib_module_names` list." +msgstr "Veja também a lista de :data:`sys.stdlib_module_names`." #: ../../library/sys.rst:174 msgid "" "Call ``func(*args)``, while tracing is enabled. The tracing state is saved, " "and restored afterwards. This is intended to be called from a debugger from " -"a checkpoint, to recursively debug some other code." +"a checkpoint, to recursively debug or profile some other code." msgstr "" "Chama ``func(*args)``, enquanto o rastreamento está habilitado. O estado de " "rastreamento é salvo e restaurado posteriormente. Isso deve ser chamado de " -"um depurador de um ponto de verificação, para depurar recursivamente algum " -"outro código." +"um depurador de um ponto de verificação, para depurar ou analisar o " +"desempenho recursivamente algum outro código." -#: ../../library/sys.rst:181 +#: ../../library/sys.rst:178 +msgid "" +"Tracing is suspended while calling a tracing function set " +"by :func:`settrace` or :func:`setprofile` to avoid infinite " +"recursion. :func:`!call_tracing` enables explicit recursion of the tracing " +"function." +msgstr "" +"O rastreamento é suspenso ao chamar uma função de rastreamento definida " +"por :func:`settrace` ou :func:`setprofile` para evitar recursão " +"infinita. :func:`!call_tracing` habilita a recursão explícita da função de " +"rastreamento." + +#: ../../library/sys.rst:185 msgid "A string containing the copyright pertaining to the Python interpreter." msgstr "" "Uma string contendo os direitos autorais pertencentes ao interpretador " "Python." -#: ../../library/sys.rst:186 +#: ../../library/sys.rst:190 msgid "" "Clear the internal type cache. The type cache is used to speed up attribute " "and method lookups. Use the function *only* to drop unnecessary references " @@ -351,13 +351,13 @@ msgstr "" "pesquisas de atributos e métodos. Use a função *apenas* para descartar " "referências desnecessárias durante a depuração de vazamento de referência." -#: ../../library/sys.rst:190 ../../library/sys.rst:206 -#: ../../library/sys.rst:219 +#: ../../library/sys.rst:194 ../../library/sys.rst:210 +#: ../../library/sys.rst:223 msgid "" "This function should be used for internal and specialized purposes only." msgstr "Esta função deve ser usada apenas para fins internos e especializados." -#: ../../library/sys.rst:195 +#: ../../library/sys.rst:199 msgid "" "Return a dictionary mapping each thread's identifier to the topmost stack " "frame currently active in that thread at the time the function is called. " @@ -369,7 +369,7 @@ msgstr "" "encadeamento no momento em que a função é chamada. Observe que as funções no " "módulo :mod:`traceback` podem construir a pilha de chamadas dado tal quadro." -#: ../../library/sys.rst:200 +#: ../../library/sys.rst:204 msgid "" "This is most useful for debugging deadlock: this function does not require " "the deadlocked threads' cooperation, and such threads' call stacks are " @@ -377,22 +377,22 @@ msgid "" "deadlocked thread may bear no relationship to that thread's current activity " "by the time calling code examines the frame." msgstr "" -"Isso é mais útil para depurar impasses: esta função não requer a cooperação " -"dos encadeamentos em impasse e as pilhas de chamadas de tais encadeamentos " +"Isso é mais útil para fazer a depuração de impasses: esta função não requer " +"a cooperação das threads em impasse e as pilhas de chamadas de tais threads " "são congeladas enquanto permanecerem em impasse (*deadlock*). O quadro " -"retornado para um encadeamento sem impasse pode não ter nenhuma relação com " -"a atividade atual desse encadeamento no momento em que o código de chamada " -"examina o quadro." +"retornado para uma thread sem impasse pode não ter nenhuma relação com a " +"atividade atual da thread no momento em que o código de chamada examina o " +"quadro." -#: ../../library/sys.rst:208 +#: ../../library/sys.rst:212 msgid "" "Raises an :ref:`auditing event ` ``sys._current_frames`` with no " "arguments." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``sys._current_frames`` com " -"nenhum argumento." +"Levanta um :ref:`evento de auditoria ` ``sys._current_frames`` sem " +"argumentos." -#: ../../library/sys.rst:212 +#: ../../library/sys.rst:216 msgid "" "Return a dictionary mapping each thread's identifier to the topmost " "exception currently active in that thread at the time the function is " @@ -405,19 +405,19 @@ msgstr "" "manipulando uma exceção no momento, ele não será incluído no dicionário de " "resultados." -#: ../../library/sys.rst:217 +#: ../../library/sys.rst:221 msgid "This is most useful for statistical profiling." msgstr "Isso é mais útil para criação de perfil estatístico." -#: ../../library/sys.rst:221 +#: ../../library/sys.rst:225 msgid "" "Raises an :ref:`auditing event ` ``sys._current_exceptions`` with " "no arguments." msgstr "" "Levanta um :ref:`evento de auditoria ` ``sys._current_exceptions`` " -"com nenhum argumento." +"sem argumentos." -#: ../../library/sys.rst:225 +#: ../../library/sys.rst:229 msgid "" "This hook function is called by built-in :func:`breakpoint`. By default, it " "drops you into the :mod:`pdb` debugger, but it can be set to any other " @@ -427,7 +427,7 @@ msgstr "" "padrão, ela leva você ao depurador :mod:`pdb`, mas pode ser configurado para " "qualquer outra função para que você possa escolher qual depurador será usado." -#: ../../library/sys.rst:229 +#: ../../library/sys.rst:233 msgid "" "The signature of this function is dependent on what it calls. For example, " "the default binding (e.g. ``pdb.set_trace()``) expects no arguments, but you " @@ -443,50 +443,51 @@ msgstr "" "``*args`` e ``**kws`` diretamente. O que quer que ``breakpointhooks()`` " "retorne é retornado de ``breakpoint()``." -#: ../../library/sys.rst:236 +#: ../../library/sys.rst:240 msgid "" -"The default implementation first consults the environment variable :envvar:" -"`PYTHONBREAKPOINT`. If that is set to ``\"0\"`` then this function returns " -"immediately; i.e. it is a no-op. If the environment variable is not set, or " -"is set to the empty string, ``pdb.set_trace()`` is called. Otherwise this " -"variable should name a function to run, using Python's dotted-import " -"nomenclature, e.g. ``package.subpackage.module.function``. In this case, " +"The default implementation first consults the environment " +"variable :envvar:`PYTHONBREAKPOINT`. If that is set to ``\"0\"`` then this " +"function returns immediately; i.e. it is a no-op. If the environment " +"variable is not set, or is set to the empty string, ``pdb.set_trace()`` is " +"called. Otherwise this variable should name a function to run, using " +"Python's dotted-import nomenclature, e.g. " +"``package.subpackage.module.function``. In this case, " "``package.subpackage.module`` would be imported and the resulting module " "must have a callable named ``function()``. This is run, passing in " -"``*args`` and ``**kws``, and whatever ``function()`` returns, ``sys." -"breakpointhook()`` returns to the built-in :func:`breakpoint` function." -msgstr "" -"A implementação padrão primeiro consulta a variável de ambiente :envvar:" -"`PYTHONBREAKPOINT`. Se for definido como ``\"0\"``, então esta função " -"retorna imediatamente; ou seja, é um no-op. Se a variável de ambiente não " -"for definida, ou for definida como uma string vazia, ``pdb.set_trace()`` " -"será chamado. Caso contrário, essa variável deve nomear uma função a ser " -"executada, usando a nomenclatura de importação pontilhada do Python, por " -"exemplo ``package.subpackage.module.function``. Neste caso, ``package." -"subpackage.module`` seria importado e o módulo resultante deve ter um " -"chamável chamado ``function()``. Isso é executado, passando ``*args`` e " -"``**kws``, e qualquer que seja o retorno de ``function()``, ``sys." -"breakpointhook()`` retorna para a função embutida :func:`breakpoint`." - -#: ../../library/sys.rst:248 -msgid "" -"Note that if anything goes wrong while importing the callable named by :" -"envvar:`PYTHONBREAKPOINT`, a :exc:`RuntimeWarning` is reported and the " +"``*args`` and ``**kws``, and whatever ``function()`` returns, " +"``sys.breakpointhook()`` returns to the built-in :func:`breakpoint` function." +msgstr "" +"A implementação padrão primeiro consulta a variável de " +"ambiente :envvar:`PYTHONBREAKPOINT`. Se for definido como ``\"0\"``, então " +"esta função retorna imediatamente; ou seja, é um no-op. Se a variável de " +"ambiente não for definida, ou for definida como uma string vazia, " +"``pdb.set_trace()`` será chamado. Caso contrário, essa variável deve nomear " +"uma função a ser executada, usando a nomenclatura de importação pontilhada " +"do Python, por exemplo ``package.subpackage.module.function``. Neste caso, " +"``package.subpackage.module`` seria importado e o módulo resultante deve ter " +"um chamável chamado ``function()``. Isso é executado, passando ``*args`` e " +"``**kws``, e qualquer que seja o retorno de ``function()``, " +"``sys.breakpointhook()`` retorna para a função embutida :func:`breakpoint`." + +#: ../../library/sys.rst:252 +msgid "" +"Note that if anything goes wrong while importing the callable named " +"by :envvar:`PYTHONBREAKPOINT`, a :exc:`RuntimeWarning` is reported and the " "breakpoint is ignored." msgstr "" -"Observe que se algo der errado ao importar o chamável nomeado por :envvar:" -"`PYTHONBREAKPOINT`, uma :exc:`RuntimeWarning` é relatado e o ponto de " -"interrupção é ignorado." +"Observe que se algo der errado ao importar o chamável nomeado " +"por :envvar:`PYTHONBREAKPOINT`, uma :exc:`RuntimeWarning` é relatado e o " +"ponto de interrupção é ignorado." -#: ../../library/sys.rst:252 +#: ../../library/sys.rst:256 msgid "" -"Also note that if ``sys.breakpointhook()`` is overridden programmatically, :" -"envvar:`PYTHONBREAKPOINT` is *not* consulted." +"Also note that if ``sys.breakpointhook()`` is overridden " +"programmatically, :envvar:`PYTHONBREAKPOINT` is *not* consulted." msgstr "" "Observe também que se ``sys.breakpointhook()`` for sobrescrito " "programaticamente, :envvar:`PYTHONBREAKPOINT` *não* será consultado." -#: ../../library/sys.rst:259 +#: ../../library/sys.rst:263 msgid "" "Print low-level information to stderr about the state of CPython's memory " "allocator." @@ -494,17 +495,17 @@ msgstr "" "Imprima informações de baixo nível para stderr sobre o estado do alocador de " "memória do CPython." -#: ../../library/sys.rst:262 +#: ../../library/sys.rst:266 msgid "" "If Python is :ref:`built in debug mode ` (:option:`configure --" "with-pydebug option <--with-pydebug>`), it also performs some expensive " "internal consistency checks." msgstr "" -"Se o Python for :ref:`compilado no modo de depuração ` (:option:" -"`opção --with-pydebug do configure <--with-pydebug>`), ele também executa " -"algumas verificações de consistência interna custosas." +"Se o Python for :ref:`compilado no modo de depuração ` " +"(:option:`opção --with-pydebug do configure <--with-pydebug>`), ele também " +"executa algumas verificações de consistência interna custosas." -#: ../../library/sys.rst:270 +#: ../../library/sys.rst:274 msgid "" "This function is specific to CPython. The exact output format is not " "defined here, and may change." @@ -512,58 +513,58 @@ msgstr "" "Esta função é específica para CPython. O formato de saída exato não é " "definido aqui e pode mudar." -#: ../../library/sys.rst:276 +#: ../../library/sys.rst:280 msgid "Integer specifying the handle of the Python DLL." msgstr "Número inteiro que especifica o identificador da DLL do Python." -#: ../../library/sys.rst:278 ../../library/sys.rst:879 -#: ../../library/sys.rst:1585 ../../library/sys.rst:1818 +#: ../../library/sys.rst:282 ../../library/sys.rst:943 +#: ../../library/sys.rst:1670 ../../library/sys.rst:1906 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." -#: ../../library/sys.rst:283 +#: ../../library/sys.rst:287 msgid "" -"If *value* is not ``None``, this function prints ``repr(value)`` to ``sys." -"stdout``, and saves *value* in ``builtins._``. If ``repr(value)`` is not " -"encodable to ``sys.stdout.encoding`` with ``sys.stdout.errors`` error " -"handler (which is probably ``'strict'``), encode it to ``sys.stdout." -"encoding`` with ``'backslashreplace'`` error handler." +"If *value* is not ``None``, this function prints ``repr(value)`` to " +"``sys.stdout``, and saves *value* in ``builtins._``. If ``repr(value)`` is " +"not encodable to ``sys.stdout.encoding`` with ``sys.stdout.errors`` error " +"handler (which is probably ``'strict'``), encode it to " +"``sys.stdout.encoding`` with ``'backslashreplace'`` error handler." msgstr "" -"Se *value* não for ``None``, esta função imprime ``repr(value)`` em ``sys." -"stdout``, e salva *value* em ``builtins._``. Se ``repr(value)`` não for " -"codificável para ``sys.stdout.encoding`` com o tratador de erros ``sys." -"stdout.errors`` (que provavelmente é ``'strict'``), codifica-o para ``sys." -"stdout.encoding`` com tratador de erros ``'backslashreplace'``." +"Se *value* não for ``None``, esta função imprime ``repr(value)`` em " +"``sys.stdout``, e salva *value* em ``builtins._``. Se ``repr(value)`` não " +"for codificável para ``sys.stdout.encoding`` com o tratador de erros " +"``sys.stdout.errors`` (que provavelmente é ``'strict'``), codifica-o para " +"``sys.stdout.encoding`` com tratador de erros ``'backslashreplace'``." -#: ../../library/sys.rst:289 +#: ../../library/sys.rst:293 msgid "" -"``sys.displayhook`` is called on the result of evaluating an :term:" -"`expression` entered in an interactive Python session. The display of these " -"values can be customized by assigning another one-argument function to ``sys." -"displayhook``." +"``sys.displayhook`` is called on the result of evaluating " +"an :term:`expression` entered in an interactive Python session. The display " +"of these values can be customized by assigning another one-argument function " +"to ``sys.displayhook``." msgstr "" -"``sys.displayhook`` é chamado no resultado da avaliação de uma :term:" -"`expressão` inserida em uma sessão interativa do Python. A exibição desses " -"valores pode ser personalizada atribuindo outra função de um argumento a " -"``sys.displayhook``." +"``sys.displayhook`` é chamado no resultado da avaliação de " +"uma :term:`expressão` inserida em uma sessão interativa do Python. A " +"exibição desses valores pode ser personalizada atribuindo outra função de um " +"argumento a ``sys.displayhook``." -#: ../../library/sys.rst:293 +#: ../../library/sys.rst:297 msgid "Pseudo-code::" msgstr "Pseudocódigo::" -#: ../../library/sys.rst:313 +#: ../../library/sys.rst:317 msgid "Use ``'backslashreplace'`` error handler on :exc:`UnicodeEncodeError`." msgstr "" -"Usa o tratador de erros ``'backslashreplace'`` ao ser levantada :exc:" -"`UnicodeEncodeError`." +"Usa o tratador de erros ``'backslashreplace'`` ao ser " +"levantada :exc:`UnicodeEncodeError`." -#: ../../library/sys.rst:319 +#: ../../library/sys.rst:323 msgid "" "If this is true, Python won't try to write ``.pyc`` files on the import of " "source modules. This value is initially set to ``True`` or ``False`` " -"depending on the :option:`-B` command line option and the :envvar:" -"`PYTHONDONTWRITEBYTECODE` environment variable, but you can set it yourself " -"to control bytecode file generation." +"depending on the :option:`-B` command line option and " +"the :envvar:`PYTHONDONTWRITEBYTECODE` environment variable, but you can set " +"it yourself to control bytecode file generation." msgstr "" "Se isso for true, o Python não tentará escrever arquivos ``.pyc`` na " "importação de módulos fonte. Este valor é inicialmente definido como " @@ -571,7 +572,7 @@ msgstr "" "da variável de ambiente :envvar:`PYTHONDONTWRITEBYTECODE`, mas você mesmo " "pode configurá-lo para controlar geração de arquivo bytecode." -#: ../../library/sys.rst:328 +#: ../../library/sys.rst:332 msgid "" "A :term:`named tuple` holding information about the environment on the " "*wasm32-emscripten* platform. The named tuple is provisional and may change " @@ -580,21 +581,7 @@ msgstr "" "Um :term:`tupla nomeada` contendo informações sobre o ambiente na plataforma " "*wasm32-emscripten*. A tupla nomeada é provisória e pode mudar no futuro." -#: ../../library/sys.rst:335 ../../library/sys.rst:1026 -#: ../../library/sys.rst:1701 -msgid "Attribute" -msgstr "Atributo" - -#: ../../library/sys.rst:335 ../../library/sys.rst:1026 -#: ../../library/sys.rst:1701 -msgid "Explanation" -msgstr "Explanação" - -#: ../../library/sys.rst:337 -msgid ":const:`emscripten_version`" -msgstr ":const:`emscripten_version`" - -#: ../../library/sys.rst:337 +#: ../../library/sys.rst:338 msgid "" "Emscripten version as tuple of ints (major, minor, micro), e.g. ``(3, 1, " "8)``." @@ -602,41 +589,29 @@ msgstr "" "Versão emscripten como tupla de ints (maior, menor, micro), por exemplo " "``(3, 1, 8)``." -#: ../../library/sys.rst:340 -msgid ":const:`runtime`" -msgstr ":const:`runtime`" - -#: ../../library/sys.rst:340 +#: ../../library/sys.rst:342 msgid "" "Runtime string, e.g. browser user agent, ``'Node.js v14.18.2'``, or " "``'UNKNOWN'``." msgstr "" -"String em tempo de execução; por exemplo, user-agent do navegador, ``'Node." -"js v14.18.2'``, ou ``'UNKNOWN'``." - -#: ../../library/sys.rst:343 -msgid ":const:`pthreads`" -msgstr ":const:`pthreads`" +"String em tempo de execução; por exemplo, user-agent do navegador, " +"``'Node.js v14.18.2'``, ou ``'UNKNOWN'``." -#: ../../library/sys.rst:343 +#: ../../library/sys.rst:346 msgid "``True`` if Python is compiled with Emscripten pthreads support." msgstr "" "``True`` se o Python for compilado com suporte a pthreads do Emscripten." -#: ../../library/sys.rst:346 -msgid ":const:`shared_memory`" -msgstr ":const:`shared_memory`" - -#: ../../library/sys.rst:346 +#: ../../library/sys.rst:350 msgid "``True`` if Python is compiled with shared memory support." msgstr "" "``True`` se o Python for compilado com suporte a memória compartilhada." -#: ../../library/sys.rst:350 +#: ../../library/sys.rst:352 msgid ":ref:`Availability `: Emscripten." msgstr ":ref:`Disponibilidade `: Emscripten." -#: ../../library/sys.rst:357 +#: ../../library/sys.rst:359 msgid "" "If this is set (not ``None``), Python will write bytecode-cache ``.pyc`` " "files to (and read them from) a parallel directory tree rooted at this " @@ -655,50 +630,50 @@ msgstr "" "compilação, certifique-se de executá-lo com o mesmo prefixo pycache (se " "houver) que usará em tempo de execução." -#: ../../library/sys.rst:365 +#: ../../library/sys.rst:367 msgid "" "A relative path is interpreted relative to the current working directory." msgstr "" "Um caminho relativo é interpretado em relação ao diretório de trabalho atual." -#: ../../library/sys.rst:367 +#: ../../library/sys.rst:369 msgid "" "This value is initially set based on the value of the :option:`-X` " -"``pycache_prefix=PATH`` command-line option or the :envvar:" -"`PYTHONPYCACHEPREFIX` environment variable (command-line takes precedence). " -"If neither are set, it is ``None``." +"``pycache_prefix=PATH`` command-line option or " +"the :envvar:`PYTHONPYCACHEPREFIX` environment variable (command-line takes " +"precedence). If neither are set, it is ``None``." msgstr "" "Este valor é definido inicialmente com base no valor da opção de linha de " -"comando :option:`-X` ``pycache_prefix=PATH`` ou na variável de ambiente :" -"envvar:`PYTHONPYCACHEPREFIX` (a linha de comando tem precedência). Se nenhum " -"estiver definido, é ``None``." +"comando :option:`-X` ``pycache_prefix=PATH`` ou na variável de " +"ambiente :envvar:`PYTHONPYCACHEPREFIX` (a linha de comando tem precedência). " +"Se nenhum estiver definido, é ``None``." -#: ../../library/sys.rst:377 +#: ../../library/sys.rst:379 msgid "" "This function prints out a given traceback and exception to ``sys.stderr``." msgstr "" "Esta função imprime um determinado traceback (situação da pilha de execução) " "e exceção para ``sys.stderr``." -#: ../../library/sys.rst:379 +#: ../../library/sys.rst:381 msgid "" -"When an exception is raised and uncaught, the interpreter calls ``sys." -"excepthook`` with three arguments, the exception class, exception instance, " -"and a traceback object. In an interactive session this happens just before " -"control is returned to the prompt; in a Python program this happens just " -"before the program exits. The handling of such top-level exceptions can be " -"customized by assigning another three-argument function to ``sys." -"excepthook``." +"When an exception other than :exc:`SystemExit` is raised and uncaught, the " +"interpreter calls ``sys.excepthook`` with three arguments, the exception " +"class, exception instance, and a traceback object. In an interactive " +"session this happens just before control is returned to the prompt; in a " +"Python program this happens just before the program exits. The handling of " +"such top-level exceptions can be customized by assigning another three-" +"argument function to ``sys.excepthook``." msgstr "" -"Quando uma exceção é lançada e não capturada, o interpretador chama ``sys." -"excepthook`` com três argumentos, a classe de exceção, a instância de " -"exceção e um objeto traceback. Em uma sessão interativa, isso acontece logo " -"antes de o controle retornar ao prompt; em um programa Python, isso acontece " -"pouco antes de o programa ser encerrado. A manipulação de tais exceções de " -"nível superior pode ser personalizada atribuindo outra função de três " -"argumentos a ``sys.excepthook``." +"Quando uma exceção além da :exc:`SystemExit` é levantada e não capturada, o " +"interpretador chama ``sys.excepthook`` com três argumentos, a classe de " +"exceção, a instância de exceção e um objeto traceback. Em uma sessão " +"interativa, isso acontece logo antes de o controle retornar ao prompt; em um " +"programa Python, isso acontece pouco antes de o programa ser encerrado. A " +"manipulação de tais exceções de nível superior pode ser personalizada " +"atribuindo outra função de três argumentos a ``sys.excepthook``." -#: ../../library/sys.rst:386 +#: ../../library/sys.rst:388 msgid "" "Raises an :ref:`auditing event ` ``sys.excepthook`` with arguments " "``hook``, ``type``, ``value``, ``traceback``." @@ -706,14 +681,14 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``sys.excepthook`` com " "argumentos ``hook``, ``type``, ``value``, ``traceback``." -#: ../../library/sys.rst:388 +#: ../../library/sys.rst:390 msgid "" "Raise an auditing event ``sys.excepthook`` with arguments ``hook``, " "``type``, ``value``, ``traceback`` when an uncaught exception occurs. If no " "hook has been set, ``hook`` may be ``None``. If any hook raises an exception " "derived from :class:`RuntimeError` the call to the hook will be suppressed. " -"Otherwise, the audit hook exception will be reported as unraisable and ``sys." -"excepthook`` will be called." +"Otherwise, the audit hook exception will be reported as unraisable and " +"``sys.excepthook`` will be called." msgstr "" "Levanta um evento de auditoria ``sys.excepthook`` com os argumentos " "``hook``, ``type``, ``value``, ``traceback`` quando ocorre uma exceção não " @@ -723,17 +698,17 @@ msgstr "" "auditoria será relatada como não aumentável e ``sys.excepthook`` será " "chamado." -#: ../../library/sys.rst:397 +#: ../../library/sys.rst:399 msgid "" "The :func:`sys.unraisablehook` function handles unraisable exceptions and " -"the :func:`threading.excepthook` function handles exception raised by :func:" -"`threading.Thread.run`." +"the :func:`threading.excepthook` function handles exception raised " +"by :func:`threading.Thread.run`." msgstr "" "A função :func:`sys.unraisablehook` lida com exceções que não podem ser " "levantadas e a função :func:`threading.excepthook` trata exceções levantadas " "por :func:`threading.Thread.run`." -#: ../../library/sys.rst:407 +#: ../../library/sys.rst:409 msgid "" "These objects contain the original values of ``breakpointhook``, " "``displayhook``, ``excepthook``, and ``unraisablehook`` at the start of the " @@ -747,15 +722,15 @@ msgstr "" "``excepthook``, ``unraisablehook`` possam ser restaurados caso sejam " "substituídos por objetos quebrados ou alternativos." -#: ../../library/sys.rst:413 +#: ../../library/sys.rst:415 msgid "__breakpointhook__" msgstr "__breakpointhook__" -#: ../../library/sys.rst:416 +#: ../../library/sys.rst:418 msgid "__unraisablehook__" msgstr "__unraisablehook__" -#: ../../library/sys.rst:422 +#: ../../library/sys.rst:424 msgid "" "This function, when called while an exception handler is executing (such as " "an ``except`` or ``except*`` clause), returns the exception instance that " @@ -768,31 +743,31 @@ msgstr "" "exceção estão aninhados um dentro do outro, apenas a exceção tratada pelo " "tratador mais interno é acessível." -#: ../../library/sys.rst:427 +#: ../../library/sys.rst:429 msgid "If no exception handler is executing, this function returns ``None``." msgstr "" "Se nenhum tratador de exceções estiver em execução, esta função retornará " "``None``." -#: ../../library/sys.rst:434 +#: ../../library/sys.rst:436 msgid "" "This function returns the old-style representation of the handled exception. " "If an exception ``e`` is currently handled (so :func:`exception` would " -"return ``e``), :func:`exc_info` returns the tuple ``(type(e), e, e." -"__traceback__)``. That is, a tuple containing the type of the exception (a " -"subclass of :exc:`BaseException`), the exception itself, and a :ref:" -"`traceback object ` which typically encapsulates the call " -"stack at the point where the exception last occurred." +"return ``e``), :func:`exc_info` returns the tuple ``(type(e), e, " +"e.__traceback__)``. That is, a tuple containing the type of the exception (a " +"subclass of :exc:`BaseException`), the exception itself, and " +"a :ref:`traceback object ` which typically encapsulates " +"the call stack at the point where the exception last occurred." msgstr "" "Essa função retorna a representação de estilo antigo da exceção tratada. Se " "uma exceção ``e`` é tratada atualmente (de forma que :func:`exception` " -"retornaria ``e``), :func:`exc_info` retorna a tupla ``(type(e), e, e." -"__traceback__)``. Ou seja, uma tupla contendo o tipo da exceção (uma " +"retornaria ``e``), :func:`exc_info` retorna a tupla ``(type(e), e, " +"e.__traceback__)``. Ou seja, uma tupla contendo o tipo da exceção (uma " "subclasse de :exc:`BaseException`), a própria exceção e um :ref:`objeto de " "traceback ` que normalmente encapsula a pilha de chamadas " "no ponto em que a última exceção ocorreu." -#: ../../library/sys.rst:445 +#: ../../library/sys.rst:447 msgid "" "If no exception is being handled anywhere on the stack, this function return " "a tuple containing three ``None`` values." @@ -800,51 +775,52 @@ msgstr "" "Se nenhuma exceção estiver sendo tratada em qualquer lugar da pilha, esta " "função retornará uma tupla contendo três valores ``None``." -#: ../../library/sys.rst:448 +#: ../../library/sys.rst:450 msgid "" "The ``type`` and ``traceback`` fields are now derived from the ``value`` " "(the exception instance), so when an exception is modified while it is being " -"handled, the changes are reflected in the results of subsequent calls to :" -"func:`exc_info`." +"handled, the changes are reflected in the results of subsequent calls " +"to :func:`exc_info`." msgstr "" "Os campos ``type`` e ``traceback`` agora são derivados do ``value`` (a " "instância da exceção), portanto, quando uma exceção é modificada enquanto " "está sendo tratada, as alterações são refletidas nos resultados das " "subsequentes chamadas para :func:`exc_info`." -#: ../../library/sys.rst:456 +#: ../../library/sys.rst:458 msgid "" "A string giving the site-specific directory prefix where the platform-" "dependent Python files are installed; by default, this is also ``'/usr/" "local'``. This can be set at build time with the ``--exec-prefix`` argument " "to the :program:`configure` script. Specifically, all configuration files " -"(e.g. the :file:`pyconfig.h` header file) are installed in the directory :" -"file:`{exec_prefix}/lib/python{X.Y}/config`, and shared library modules are " -"installed in :file:`{exec_prefix}/lib/python{X.Y}/lib-dynload`, where *X.Y* " -"is the version number of Python, for example ``3.2``." +"(e.g. the :file:`pyconfig.h` header file) are installed in the " +"directory :file:`{exec_prefix}/lib/python{X.Y}/config`, and shared library " +"modules are installed in :file:`{exec_prefix}/lib/python{X.Y}/lib-dynload`, " +"where *X.Y* is the version number of Python, for example ``3.2``." msgstr "" "Uma string que fornece o prefixo do diretório específico do site onde os " "arquivos Python dependentes da plataforma são instalados; por padrão, também " "é ``'/usr/local'``. Isso pode ser definido em tempo de compilação com o " "argumento ``--exec-prefix`` para o script :program:`configure`. " "Especificamente, todos os arquivos de configuração (por exemplo, o arquivo " -"de cabeçalho :file:`pyconfig.h`) são instalados no diretório :file:" -"`{exec_prefix}/lib/python{X.Y}/config`, e os módulos da biblioteca " -"compartilhada são instalados em :file:`{exec_prefix}/lib/python{X.Y}/lib-" -"dynload`, onde *X.Y* é o número da versão do Python, por exemplo ``3.2``." +"de cabeçalho :file:`pyconfig.h`) são instalados no " +"diretório :file:`{exec_prefix}/lib/python{X.Y}/config`, e os módulos da " +"biblioteca compartilhada são instalados em :file:`{exec_prefix}/lib/" +"python{X.Y}/lib-dynload`, onde *X.Y* é o número da versão do Python, por " +"exemplo ``3.2``." -#: ../../library/sys.rst:467 +#: ../../library/sys.rst:469 msgid "" "If a :ref:`virtual environment ` is in effect, this value will be " "changed in ``site.py`` to point to the virtual environment. The value for " -"the Python installation will still be available, via :data:" -"`base_exec_prefix`." +"the Python installation will still be available, " +"via :data:`base_exec_prefix`." msgstr "" "Se um :ref:`ambiente virtual ` estiver em vigor, este valor será " "alterado em ``site.py`` para apontar para o ambiente virtual. O valor para a " "instalação do Python ainda estará disponível, via :data:`base_exec_prefix`." -#: ../../library/sys.rst:475 +#: ../../library/sys.rst:477 msgid "" "A string giving the absolute path of the executable binary for the Python " "interpreter, on systems where this makes sense. If Python is unable to " @@ -853,10 +829,10 @@ msgid "" msgstr "" "Uma string que fornece o caminho absoluto do binário executável para o " "interpretador Python, em sistemas onde isso faz sentido. Se o Python não " -"conseguir recuperar o caminho real para seu executável, :data:`sys." -"executable` será uma string vazia ou ``None``." +"conseguir recuperar o caminho real para seu " +"executável, :data:`sys.executable` será uma string vazia ou ``None``." -#: ../../library/sys.rst:483 +#: ../../library/sys.rst:485 msgid "" "Raise a :exc:`SystemExit` exception, signaling an intention to exit the " "interpreter." @@ -864,7 +840,7 @@ msgstr "" "Levanta uma exceção :exc:`SystemExit`, sinalizando a intenção de sair do " "interpretador." -#: ../../library/sys.rst:485 +#: ../../library/sys.rst:487 msgid "" "The optional argument *arg* can be an integer giving the exit status " "(defaulting to zero), or another type of object. If it is an integer, zero " @@ -886,14 +862,14 @@ msgstr "" "dos sistemas exige que ele esteja no intervalo de 0 a 127 e, caso contrário, " "produz resultados indefinidos. Alguns sistemas têm uma convenção para " "atribuir significados específicos a códigos de saída específicos, mas estes " -"são geralmente subdesenvolvidos; Programas Unix geralmente usam 2 para erros " -"de sintaxe de linha de comando e 1 para todos os outros tipos de erros. Se " -"outro tipo de objeto for passado, ``None`` é equivalente a passar zero, e " -"qualquer outro objeto é impresso em :data:`stderr` e resulta em um código de " -"saída de 1. Em particular, ``sys.exit( \"alguma mensagem de erro\")`` é uma " -"maneira rápida de sair de um programa quando ocorre um erro." +"são geralmente pouco desenvolvidos; programas Unix geralmente usam 2 para " +"erros de sintaxe de linha de comando e 1 para todos os outros tipos de " +"erros. Se outro tipo de objeto for passado, ``None`` é equivalente a passar " +"zero, e qualquer outro objeto é impresso em :data:`stderr` e resulta em um " +"código de saída de 1. Em particular, ``sys.exit( \"alguma mensagem de " +"erro\")`` é uma maneira rápida de sair de um programa quando ocorre um erro." -#: ../../library/sys.rst:498 +#: ../../library/sys.rst:500 msgid "" "Since :func:`exit` ultimately \"only\" raises an exception, it will only " "exit the process when called from the main thread, and the exception is not " @@ -902,22 +878,22 @@ msgid "" "an outer level." msgstr "" "Uma vez que :func:`exit` em última análise, \"apenas\" gera uma exceção, ele " -"só sairá do processo quando chamado do thread principal e a exceção não é " +"só sairá do processo quando chamado da thread principal e a exceção não é " "interceptada. As ações de limpeza especificadas pelas cláusulas finally de " "instruções :keyword:`try` são honradas e é possível interceptar a tentativa " "de saída em um nível externo." -#: ../../library/sys.rst:503 +#: ../../library/sys.rst:505 msgid "" -"If an error occurs in the cleanup after the Python interpreter has caught :" -"exc:`SystemExit` (such as an error flushing buffered data in the standard " -"streams), the exit status is changed to 120." +"If an error occurs in the cleanup after the Python interpreter has " +"caught :exc:`SystemExit` (such as an error flushing buffered data in the " +"standard streams), the exit status is changed to 120." msgstr "" -"Se ocorrer um erro na limpeza após o interpretador Python ter capturado :exc:" -"`SystemExit` (como um erro ao liberar dados em buffer nos fluxos padrão), o " -"status de saída é alterado para 120." +"Se ocorrer um erro na limpeza após o interpretador Python ter " +"capturado :exc:`SystemExit` (como um erro ao liberar dados em buffer nos " +"fluxos padrão), o status de saída é alterado para 120." -#: ../../library/sys.rst:511 +#: ../../library/sys.rst:513 msgid "" "The :term:`named tuple` *flags* exposes the status of command line flags. " "The attributes are read only." @@ -925,145 +901,68 @@ msgstr "" "A :term:`tupla nomeada` *flags* expõe o status dos sinalizadores de linha de " "comando. Os atributos são somente leitura." -#: ../../library/sys.rst:515 ../../library/sys.rst:572 -#: ../../library/sys.rst:925 -msgid "attribute" -msgstr "atributo" - -#: ../../library/sys.rst:515 -msgid "flag" -msgstr "sinalizador" - -#: ../../library/sys.rst:517 -msgid ":const:`debug`" -msgstr ":const:`debug`" - -#: ../../library/sys.rst:517 +#: ../../library/sys.rst:519 msgid ":option:`-d`" msgstr ":option:`-d`" -#: ../../library/sys.rst:518 -msgid ":const:`inspect`" -msgstr ":const:`inspect`" - -#: ../../library/sys.rst:518 ../../library/sys.rst:519 +#: ../../library/sys.rst:522 ../../library/sys.rst:525 msgid ":option:`-i`" msgstr ":option:`-i`" -#: ../../library/sys.rst:519 -msgid ":const:`interactive`" -msgstr ":const:`interactive`" - -#: ../../library/sys.rst:520 -msgid ":const:`isolated`" -msgstr ":const:`isolated`" - -#: ../../library/sys.rst:520 +#: ../../library/sys.rst:528 msgid ":option:`-I`" msgstr ":option:`-I`" -#: ../../library/sys.rst:521 -msgid ":const:`optimize`" -msgstr ":const:`optimize`" - -#: ../../library/sys.rst:521 +#: ../../library/sys.rst:531 msgid ":option:`-O` or :option:`-OO`" msgstr ":option:`-O` ou :option:`-OO`" -#: ../../library/sys.rst:522 -msgid ":const:`dont_write_bytecode`" -msgstr ":const:`dont_write_bytecode`" - -#: ../../library/sys.rst:522 +#: ../../library/sys.rst:534 msgid ":option:`-B`" msgstr ":option:`-B`" -#: ../../library/sys.rst:523 -msgid ":const:`no_user_site`" -msgstr ":const:`no_user_site`" - -#: ../../library/sys.rst:523 +#: ../../library/sys.rst:537 msgid ":option:`-s`" msgstr ":option:`-s`" -#: ../../library/sys.rst:524 -msgid ":const:`no_site`" -msgstr ":const:`no_site`" - -#: ../../library/sys.rst:524 +#: ../../library/sys.rst:540 msgid ":option:`-S`" msgstr ":option:`-S`" -#: ../../library/sys.rst:525 -msgid ":const:`ignore_environment`" -msgstr ":const:`ignore_environment`" - -#: ../../library/sys.rst:525 +#: ../../library/sys.rst:543 msgid ":option:`-E`" msgstr ":option:`-E`" -#: ../../library/sys.rst:526 -msgid ":const:`verbose`" -msgstr ":const:`verbose`" - -#: ../../library/sys.rst:526 +#: ../../library/sys.rst:546 msgid ":option:`-v`" msgstr ":option:`-v`" -#: ../../library/sys.rst:527 -msgid ":const:`bytes_warning`" -msgstr ":const:`bytes_warning`" - -#: ../../library/sys.rst:527 +#: ../../library/sys.rst:549 msgid ":option:`-b`" msgstr ":option:`-b`" -#: ../../library/sys.rst:528 -msgid ":const:`quiet`" -msgstr ":const:`quiet`" - -#: ../../library/sys.rst:528 +#: ../../library/sys.rst:552 msgid ":option:`-q`" msgstr ":option:`-q`" -#: ../../library/sys.rst:529 -msgid ":const:`hash_randomization`" -msgstr ":const:`hash_randomization`" - -#: ../../library/sys.rst:529 +#: ../../library/sys.rst:555 msgid ":option:`-R`" msgstr ":option:`-R`" -#: ../../library/sys.rst:530 -msgid ":const:`dev_mode`" -msgstr ":const:`dev_mode`" - -#: ../../library/sys.rst:530 +#: ../../library/sys.rst:558 msgid ":option:`-X dev <-X>` (:ref:`Python Development Mode `)" msgstr "" ":option:`-X dev <-X>` (:ref:`Modo de Desenvolvimento do Python `)" -#: ../../library/sys.rst:531 -msgid ":const:`utf8_mode`" -msgstr ":const:`utf8_mode`" - -#: ../../library/sys.rst:531 +#: ../../library/sys.rst:561 msgid ":option:`-X utf8 <-X>`" msgstr ":option:`-X utf8 <-X>`" -#: ../../library/sys.rst:532 -msgid ":const:`safe_path`" -msgstr ":const:`safe_path`" - -#: ../../library/sys.rst:532 +#: ../../library/sys.rst:564 msgid ":option:`-P`" msgstr ":option:`-P`" -#: ../../library/sys.rst:533 -msgid ":const:`int_max_str_digits`" -msgstr ":const:`int_max_str_digits`" - -#: ../../library/sys.rst:533 +#: ../../library/sys.rst:567 msgid "" ":option:`-X int_max_str_digits <-X>` (:ref:`integer string conversion length " "limitation `)" @@ -1071,43 +970,55 @@ msgstr "" ":option:`-X int_max_str_digits <-X>` (:ref:`limitação de comprimento de " "string na conversão para inteiro `)" -#: ../../library/sys.rst:536 +#: ../../library/sys.rst:571 +msgid ":option:`-X warn_default_encoding <-X>`" +msgstr ":option:`-X warn_default_encoding <-X>`" + +#: ../../library/sys.rst:573 msgid "Added ``quiet`` attribute for the new :option:`-q` flag." msgstr "Adicionado o atributo ``quiet`` para o novo sinalizador :option:`-q`." -#: ../../library/sys.rst:539 +#: ../../library/sys.rst:576 msgid "The ``hash_randomization`` attribute." msgstr "O atributo ``hash_randomization``." -#: ../../library/sys.rst:542 +#: ../../library/sys.rst:579 msgid "Removed obsolete ``division_warning`` attribute." msgstr "Removido o atributo obsoleto ``division_warning``." -#: ../../library/sys.rst:545 +#: ../../library/sys.rst:582 msgid "Added ``isolated`` attribute for :option:`-I` ``isolated`` flag." msgstr "" "Adicionado o atributo ``isolated`` para o sinalizador :option:`-I` " "``isolated``." -#: ../../library/sys.rst:548 +#: ../../library/sys.rst:585 msgid "" "Added the ``dev_mode`` attribute for the new :ref:`Python Development Mode " "` and the ``utf8_mode`` attribute for the new :option:`-X` " "``utf8`` flag." msgstr "" "Adicionado o atributo ``dev_mode`` para o novo :ref:`Modo de Desenvolvimento " -"do Python ` e o atributo ``utf8_mode`` para o novo sinalizador :" -"option:`-X` ``utf8``." +"do Python ` e o atributo ``utf8_mode`` para o novo " +"sinalizador :option:`-X` ``utf8``." + +#: ../../library/sys.rst:590 +msgid "" +"Added ``warn_default_encoding`` attribute for :option:`-X` " +"``warn_default_encoding`` flag." +msgstr "" +"Adicionado o atributo ``warn_default_encoding`` para o sinalizador :option:`-" +"X` ``warn_default_encoding``." -#: ../../library/sys.rst:553 +#: ../../library/sys.rst:593 msgid "Added the ``safe_path`` attribute for :option:`-P` option." msgstr "Adicionado o atributo ``safe_path`` para a opção :option:`-P`." -#: ../../library/sys.rst:556 +#: ../../library/sys.rst:596 msgid "Added the ``int_max_str_digits`` attribute." msgstr "Adicionado o atributo ``int_max_str_digits``." -#: ../../library/sys.rst:562 +#: ../../library/sys.rst:602 msgid "" "A :term:`named tuple` holding information about the float type. It contains " "low level information about the precision and internal representation. The " @@ -1123,123 +1034,103 @@ msgstr "" "linguagem de programação 'C'; consulte a seção 5.2.4.2.2 do padrão ISO/IEC C " "de 1999 [C99]_, 'Características dos tipos flutuantes', para obter detalhes." -#: ../../library/sys.rst:572 +#: ../../library/sys.rst:609 +msgid "Attributes of the :data:`!float_info` :term:`named tuple`" +msgstr "Atributos da :term:`tupla nomeada` :data:`!float_info`" + +#: ../../library/sys.rst:612 +msgid "attribute" +msgstr "atributo" + +#: ../../library/sys.rst:613 msgid "float.h macro" msgstr "macro em float.h" -#: ../../library/sys.rst:572 ../../library/sys.rst:925 +#: ../../library/sys.rst:614 msgid "explanation" msgstr "explicação" -#: ../../library/sys.rst:574 -msgid "``epsilon``" -msgstr "``epsilon``" - -#: ../../library/sys.rst:574 -msgid "``DBL_EPSILON``" -msgstr "``DBL_EPSILON``" +#: ../../library/sys.rst:617 +msgid ":c:macro:`!DBL_EPSILON`" +msgstr ":c:macro:`!DBL_EPSILON`" -#: ../../library/sys.rst:574 +#: ../../library/sys.rst:618 msgid "" "difference between 1.0 and the least value greater than 1.0 that is " -"representable as a float" +"representable as a float." msgstr "" "diferença entre 1,0 e o menor valor maior que 1,0 que pode ser representado " -"como ponto flutuante" +"como ponto flutuante." -#: ../../library/sys.rst:577 +#: ../../library/sys.rst:621 msgid "See also :func:`math.ulp`." -msgstr "Veja também :func:`math.ulp.`" +msgstr "Veja também :func:`math.ulp`." -#: ../../library/sys.rst:579 -msgid "``dig``" -msgstr "``dig``" - -#: ../../library/sys.rst:579 -msgid "``DBL_DIG``" -msgstr "``DBL_DIG``" +#: ../../library/sys.rst:624 +msgid ":c:macro:`!DBL_DIG`" +msgstr ":c:macro:`!DBL_DIG`" -#: ../../library/sys.rst:579 +#: ../../library/sys.rst:625 msgid "" -"maximum number of decimal digits that can be faithfully represented in a " -"float; see below" +"The maximum number of decimal digits that can be faithfully represented in a " +"float; see below." msgstr "" -"número máximo de dígitos decimais que podem ser fielmente representados em " -"um ponto flutuante; Veja abaixo" - -#: ../../library/sys.rst:582 -msgid "``mant_dig``" -msgstr "``mant_dig``" +"O número máximo de dígitos decimais que podem ser fielmente representados em " +"um ponto flutuante; veja abaixo." -#: ../../library/sys.rst:582 -msgid "``DBL_MANT_DIG``" -msgstr "``DBL_MANT_DIG``" +#: ../../library/sys.rst:629 +msgid ":c:macro:`!DBL_MANT_DIG`" +msgstr ":c:macro:`!DBL_MANT_DIG`" -#: ../../library/sys.rst:582 +#: ../../library/sys.rst:630 msgid "" -"float precision: the number of base-``radix`` digits in the significand of a " -"float" +"Float precision: the number of base-``radix`` digits in the significand of a " +"float." msgstr "" -"precisão do ponto flutuante: o número de dígitos de base ``radix`` no " -"significando de um ponto flutuante" - -#: ../../library/sys.rst:585 -msgid "``max``" -msgstr "``max``" +"Precisão do ponto flutuante: o número de dígitos de base ``radix`` no " +"significando de um ponto flutuante." -#: ../../library/sys.rst:585 -msgid "``DBL_MAX``" -msgstr "``DBL_MAX``" - -#: ../../library/sys.rst:585 -msgid "maximum representable positive finite float" -msgstr "ponto flutuante finito positivo máximo representável" +#: ../../library/sys.rst:634 +msgid ":c:macro:`!DBL_MAX`" +msgstr ":c:macro:`!DBL_MAX`" -#: ../../library/sys.rst:587 -msgid "``max_exp``" -msgstr "``max_exp``" +#: ../../library/sys.rst:635 +msgid "The maximum representable positive finite float." +msgstr "O ponto flutuante finito positivo máximo representável." -#: ../../library/sys.rst:587 -msgid "``DBL_MAX_EXP``" -msgstr "``DBL_MAX_EXP``" +#: ../../library/sys.rst:638 +msgid ":c:macro:`!DBL_MAX_EXP`" +msgstr ":c:macro:`!DBL_MAX_EXP`" -#: ../../library/sys.rst:587 +#: ../../library/sys.rst:639 msgid "" -"maximum integer *e* such that ``radix**(e-1)`` is a representable finite " -"float" +"The maximum integer *e* such that ``radix**(e-1)`` is a representable finite " +"float." msgstr "" -"inteiro máximo *e* de tal modo que ``radix**(e-1)`` é um ponto flutuante " -"finito representável" - -#: ../../library/sys.rst:590 -msgid "``max_10_exp``" -msgstr "``max_10_exp``" +"O inteiro máximo *e* de tal modo que ``radix**(e-1)`` é um ponto flutuante " +"finito representável." -#: ../../library/sys.rst:590 -msgid "``DBL_MAX_10_EXP``" -msgstr "``DBL_MAX_10_EXP``" +#: ../../library/sys.rst:643 +msgid ":c:macro:`!DBL_MAX_10_EXP`" +msgstr ":c:macro:`!DBL_MAX_10_EXP`" -#: ../../library/sys.rst:590 +#: ../../library/sys.rst:644 msgid "" -"maximum integer *e* such that ``10**e`` is in the range of representable " -"finite floats" +"The maximum integer *e* such that ``10**e`` is in the range of representable " +"finite floats." msgstr "" -"inteiro máximo *e* de tal modo que ``10**e`` é um intervalo de pontos " -"flutuantes finitos representáveis" - -#: ../../library/sys.rst:593 -msgid "``min``" -msgstr "``min``" +"O inteiro máximo *e* de tal modo que ``10**e`` é um intervalo de pontos " +"flutuantes finitos representáveis." -#: ../../library/sys.rst:593 -msgid "``DBL_MIN``" -msgstr "``DBL_MIN``" +#: ../../library/sys.rst:648 +msgid ":c:macro:`!DBL_MIN`" +msgstr ":c:macro:`!DBL_MIN`" -#: ../../library/sys.rst:593 -msgid "minimum representable positive *normalized* float" -msgstr "ponto flutuante *normalizado* positivo mínimo representável" +#: ../../library/sys.rst:649 +msgid "The minimum representable positive *normalized* float." +msgstr "O ponto flutuante *normalizado* positivo mínimo representável." -#: ../../library/sys.rst:595 +#: ../../library/sys.rst:651 msgid "" "Use :func:`math.ulp(0.0) ` to get the smallest positive " "*denormalized* representable float." @@ -1247,88 +1138,91 @@ msgstr "" "Use :func:`math.ulp(0.0) ` para obter o menor ponto flutuante " "representável positivo *desnormalizado*." -#: ../../library/sys.rst:599 -msgid "``min_exp``" -msgstr "``min_exp``" +#: ../../library/sys.rst:655 +msgid ":c:macro:`!DBL_MIN_EXP`" +msgstr ":c:macro:`!DBL_MIN_EXP`" + +#: ../../library/sys.rst:656 +msgid "" +"The minimum integer *e* such that ``radix**(e-1)`` is a normalized float." +msgstr "" +"O inteiro mínimo *e* de tal modo que ``radix**(e-1)`` é um ponto flutuante " +"normalizado." -#: ../../library/sys.rst:599 -msgid "``DBL_MIN_EXP``" -msgstr "``DBL_MIN_EXP``" +#: ../../library/sys.rst:660 +msgid ":c:macro:`!DBL_MIN_10_EXP`" +msgstr ":c:macro:`!DBL_MIN_10_EXP`" -#: ../../library/sys.rst:599 -msgid "minimum integer *e* such that ``radix**(e-1)`` is a normalized float" +#: ../../library/sys.rst:661 +msgid "The minimum integer *e* such that ``10**e`` is a normalized float." msgstr "" -"inteiro mínimo *e* de tal modo que ``radix**(e-1)`` é um ponto flutuante " -"normalizado" +"O inteiro mínimo *e* de tal modo que ``10**e`` é um ponto flutuante " +"normalizado." -#: ../../library/sys.rst:602 -msgid "``min_10_exp``" -msgstr "``min_10_exp``" +#: ../../library/sys.rst:664 +msgid ":c:macro:`!FLT_RADIX`" +msgstr ":c:macro:`!FLT_RADIX`" -#: ../../library/sys.rst:602 -msgid "``DBL_MIN_10_EXP``" -msgstr "``DBL_MIN_10_EXP``" +#: ../../library/sys.rst:665 +msgid "The radix of exponent representation." +msgstr "A raiz da representação do expoente." -#: ../../library/sys.rst:602 -msgid "minimum integer *e* such that ``10**e`` is a normalized float" -msgstr "" -"inteiro mínimo *e* de tal modo que ``10**e`` é um ponto flutuante normalizado" +#: ../../library/sys.rst:668 +msgid ":c:macro:`!FLT_ROUNDS`" +msgstr ":c:macro:`!FLT_ROUNDS`" -#: ../../library/sys.rst:605 -msgid "``radix``" -msgstr "``radix``" +#: ../../library/sys.rst:669 +msgid "" +"An integer representing the rounding mode for floating-point arithmetic. " +"This reflects the value of the system :c:macro:`!FLT_ROUNDS` macro at " +"interpreter startup time:" +msgstr "" +"Um inteiro representando o modo de arredondamento para aritmética de ponto " +"flutuante. Isso reflete o valor da macro do sistema :c:macro:`!FLT_ROUNDS` " +"no momento da inicialização do interpretador:" -#: ../../library/sys.rst:605 -msgid "``FLT_RADIX``" -msgstr "``FLT_RADIX``" +#: ../../library/sys.rst:673 +msgid "``-1``: indeterminable" +msgstr "``-1``: indeterminável" -#: ../../library/sys.rst:605 -msgid "radix of exponent representation" -msgstr "raiz da representação do expoente" +#: ../../library/sys.rst:674 +msgid "``0``: toward zero" +msgstr "``0``: em direção a zero" -#: ../../library/sys.rst:607 -msgid "``rounds``" -msgstr "``rounds``" +#: ../../library/sys.rst:675 +msgid "``1``: to nearest" +msgstr "``1``: para o mais próximo" -#: ../../library/sys.rst:607 -msgid "``FLT_ROUNDS``" -msgstr "``FLT_ROUNDS``" +#: ../../library/sys.rst:676 +msgid "``2``: toward positive infinity" +msgstr "``2``: em direção ao infinito positivo" -#: ../../library/sys.rst:607 -msgid "" -"integer representing the rounding mode for floating-point arithmetic. This " -"reflects the value of the system ``FLT_ROUNDS`` macro at interpreter startup " -"time: ``-1`` indeterminable, ``0`` toward zero, ``1`` to nearest, ``2`` " -"toward positive infinity, ``3`` toward negative infinity" -msgstr "" -"inteiro representando o modo de arredondamento para aritmética de ponto " -"flutuante. Isso reflete o valor da macro ``FLT_ROUNDS`` do sistema no tempo " -"de inicialização do interpretador: ``-1`` indeterminável, ``0`` para zero, " -"``1`` para o mais próximo, ``2`` para infinito positivo , ``3`` em direção " -"ao infinito negativo" +#: ../../library/sys.rst:677 +msgid "``3``: toward negative infinity" +msgstr "``3``: em direção ao infinito negativo" -#: ../../library/sys.rst:617 +#: ../../library/sys.rst:679 msgid "" -"All other values for ``FLT_ROUNDS`` characterize implementation-defined " -"rounding behavior." +"All other values for :c:macro:`!FLT_ROUNDS` characterize implementation-" +"defined rounding behavior." msgstr "" -"Todos os outros valores para ``FLT_ROUNDS`` caracterizam o comportamento de " -"arredondamento definido pela implementação." +"Todos os outros valores para :c:macro:`!FLT_ROUNDS` caracterizam o " +"comportamento de arredondamento definido pela implementação." -#: ../../library/sys.rst:621 +#: ../../library/sys.rst:682 msgid "" "The attribute :attr:`sys.float_info.dig` needs further explanation. If " -"``s`` is any string representing a decimal number with at most :attr:`sys." -"float_info.dig` significant digits, then converting ``s`` to a float and " +"``s`` is any string representing a decimal number with at most :attr:`!" +"sys.float_info.dig` significant digits, then converting ``s`` to a float and " "back again will recover a string representing the same decimal value::" msgstr "" "O atributo :attr:`sys.float_info.dig` precisa de mais explicações. Se ``s`` " -"for qualquer string representando um número decimal com no máximo :attr:`sys." -"float_info.dig` dígitos significativos, então converter ``s`` para ponto " +"for qualquer string representando um número decimal com no máximo :attr:`!" +"sys.float_info.dig` dígitos significativos, então converter ``s`` para ponto " "flutuante e vice-versa recuperará uma string representando o mesmo decimal " "valor::" -#: ../../library/sys.rst:634 +#: ../../library/sys.rst:695 msgid "" "But for strings with more than :attr:`sys.float_info.dig` significant " "digits, this isn't always true::" @@ -1336,7 +1230,7 @@ msgstr "" "Mas para strings com mais de :attr:`sys.float_info.dig` dígitos " "significativos, isso nem sempre é verdade::" -#: ../../library/sys.rst:643 +#: ../../library/sys.rst:704 msgid "" "A string indicating how the :func:`repr` function behaves for floats. If " "the string has value ``'short'`` then for a finite float ``x``, ``repr(x)`` " @@ -1353,23 +1247,23 @@ msgstr "" "``repr(x)`` se comporta da mesma forma que nas versões do Python anteriores " "a 3.1." -#: ../../library/sys.rst:656 +#: ../../library/sys.rst:717 msgid "" "Return the number of memory blocks currently allocated by the interpreter, " "regardless of their size. This function is mainly useful for tracking and " "debugging memory leaks. Because of the interpreter's internal caches, the " -"result can vary from call to call; you may have to call :func:" -"`_clear_type_cache()` and :func:`gc.collect()` to get more predictable " -"results." +"result can vary from call to call; you may have to " +"call :func:`_clear_type_cache()` and :func:`gc.collect()` to get more " +"predictable results." msgstr "" "Retorna o número de blocos de memória atualmente alocados pelo " "interpretador, independentemente de seu tamanho. Esta função é útil " "principalmente para rastrear e depurar vazamentos de memória. Devido aos " "caches internos do interpretador, o resultado pode variar de chamada para " -"chamada; você pode ter que chamar :func:`_clear_type_cache()` e :func:`gc." -"collect()` para obter resultados mais previsíveis." +"chamada; você pode ter que chamar :func:`_clear_type_cache()` " +"e :func:`gc.collect()` para obter resultados mais previsíveis." -#: ../../library/sys.rst:663 +#: ../../library/sys.rst:724 msgid "" "If a Python build or implementation cannot reasonably compute this " "information, :func:`getallocatedblocks()` is allowed to return 0 instead." @@ -1378,17 +1272,17 @@ msgstr "" "razoavelmente essas informações, :func:`getallocatedblocks()` poderá " "retornar 0 em seu lugar." -#: ../../library/sys.rst:671 +#: ../../library/sys.rst:732 msgid "Return the build time API version of Android as an integer." msgstr "" "Retorna a versão da API de tempo de compilação do Android como um número " "inteiro." -#: ../../library/sys.rst:673 +#: ../../library/sys.rst:734 msgid ":ref:`Availability `: Android." msgstr ":ref:`Disponibilidade `: Android." -#: ../../library/sys.rst:680 +#: ../../library/sys.rst:741 msgid "" "Return the name of the current default string encoding used by the Unicode " "implementation." @@ -1396,37 +1290,37 @@ msgstr "" "Retorna o nome da codificação de string padrão atual usada pela " "implementação Unicode." -#: ../../library/sys.rst:686 +#: ../../library/sys.rst:747 msgid "" "Return the current value of the flags that are used for :c:func:`dlopen` " "calls. Symbolic names for the flag values can be found in the :mod:`os` " -"module (``RTLD_xxx`` constants, e.g. :data:`os.RTLD_LAZY`)." +"module (:samp:`RTLD_{xxx}` constants, e.g. :const:`os.RTLD_LAZY`)." msgstr "" -"Retorna o valor atual dos sinalizadores que são usados para chamadas :c:func:" -"`dlopen`. Nomes simbólicos para os valores dos sinalizadores podem ser " -"encontrados no módulo :mod:`os` (constantes ``RTLD_xxx``, por exemplo :data:" -"`os.RTLD_LAZY`)." +"Retorna o valor atual dos sinalizadores que são usados para " +"chamadas :c:func:`dlopen`. Nomes simbólicos para os valores dos " +"sinalizadores podem ser encontrados no módulo :mod:`os` " +"(constantes :samp:`RTLD_{xxx}`, por exemplo :const:`os.RTLD_LAZY`)." -#: ../../library/sys.rst:691 ../../library/sys.rst:1347 +#: ../../library/sys.rst:752 ../../library/sys.rst:1422 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." -#: ../../library/sys.rst:696 +#: ../../library/sys.rst:757 msgid "" "Get the :term:`filesystem encoding `: " "the encoding used with the :term:`filesystem error handler ` to convert between Unicode filenames and bytes " -"filenames. The filesystem error handler is returned from :func:" -"`getfilesystemencodeerrors`." +"filenames. The filesystem error handler is returned " +"from :func:`getfilesystemencodeerrors`." msgstr "" "Obtém o :term:`codificação do sistema de arquivos `: a codificação usada com o :term:`manipulador de erros do " "sistema de arquivos ` para converter " "entre nomes de arquivos Unicode e nomes de arquivos de bytes. O manipulador " -"de erros do sistema de arquivos é retornado de :func:" -"`getfilesystemencodeerrors`." +"de erros do sistema de arquivos é retornado " +"de :func:`getfilesystemencodeerrors`." -#: ../../library/sys.rst:702 +#: ../../library/sys.rst:763 msgid "" "For best compatibility, str should be used for filenames in all cases, " "although representing filenames as bytes is also supported. Functions " @@ -1439,7 +1333,7 @@ msgstr "" "devem suportar str ou bytes e converter internamente para a representação " "preferencial do sistema." -#: ../../library/sys.rst:707 ../../library/sys.rst:735 +#: ../../library/sys.rst:768 ../../library/sys.rst:796 msgid "" ":func:`os.fsencode` and :func:`os.fsdecode` should be used to ensure that " "the correct encoding and errors mode are used." @@ -1447,63 +1341,63 @@ msgstr "" ":func:`os.fsencode` e :func:`os.fsdecode` devem ser usados para garantir que " "a codificação correta e o modo de erros sejam usados." -#: ../../library/sys.rst:710 ../../library/sys.rst:738 +#: ../../library/sys.rst:771 ../../library/sys.rst:799 msgid "" "The :term:`filesystem encoding and error handler` are configured at Python " -"startup by the :c:func:`PyConfig_Read` function: see :c:member:`~PyConfig." -"filesystem_encoding` and :c:member:`~PyConfig.filesystem_errors` members of :" -"c:type:`PyConfig`." +"startup by the :c:func:`PyConfig_Read` function: " +"see :c:member:`~PyConfig.filesystem_encoding` " +"and :c:member:`~PyConfig.filesystem_errors` members of :c:type:`PyConfig`." msgstr "" "O :term:`tratador de erros e codificação do sistema de arquivos` são " "configurados na inicialização do Python pela função :c:func:`PyConfig_Read`: " -"veja os membros :c:member:`~PyConfig.filesystem_encoding` e :c:member:" -"`~PyConfig.filesystem_errors` do :c:type:`PyConfig`." +"veja os membros :c:member:`~PyConfig.filesystem_encoding` " +"e :c:member:`~PyConfig.filesystem_errors` do :c:type:`PyConfig`." -#: ../../library/sys.rst:715 +#: ../../library/sys.rst:776 msgid ":func:`getfilesystemencoding` result cannot be ``None`` anymore." msgstr "" "O resultado de :func:`getfilesystemencoding` não pode mais ser ``None``." -#: ../../library/sys.rst:718 +#: ../../library/sys.rst:779 msgid "" -"Windows is no longer guaranteed to return ``'mbcs'``. See :pep:`529` and :" -"func:`_enablelegacywindowsfsencoding` for more information." +"Windows is no longer guaranteed to return ``'mbcs'``. See :pep:`529` " +"and :func:`_enablelegacywindowsfsencoding` for more information." msgstr "" -"O Windows não tem mais garantia de retornar ``'mbcs'``. Veja :pep:`529` e :" -"func:`_enablelegacywindowsfsencoding` para mais informações." +"O Windows não tem mais garantia de retornar ``'mbcs'``. Veja :pep:`529` " +"e :func:`_enablelegacywindowsfsencoding` para mais informações." -#: ../../library/sys.rst:722 +#: ../../library/sys.rst:783 msgid "" "Return ``'utf-8'`` if the :ref:`Python UTF-8 Mode ` is enabled." msgstr "" "Retorna ``'utf-8'`` se o :ref:`Modo UTF-8 do Python ` estiver " "ativado." -#: ../../library/sys.rst:729 +#: ../../library/sys.rst:790 msgid "" "Get the :term:`filesystem error handler `: the error handler used with the :term:`filesystem encoding " "` to convert between Unicode " -"filenames and bytes filenames. The filesystem encoding is returned from :" -"func:`getfilesystemencoding`." +"filenames and bytes filenames. The filesystem encoding is returned " +"from :func:`getfilesystemencoding`." msgstr "" "Obtém o :term:`manipulador de erros do sistema de arquivos `: o manipulador de erros usado com a :term:" -"`codificação do sistema de arquivos ` " -"para converter entre nomes de arquivos Unicode e nomes de arquivos de bytes. " -"A codificação do sistema de arquivos é retornado de :func:" -"`getfilesystemencoding`." +"encoding and error handler>`: o manipulador de erros usado com " +"a :term:`codificação do sistema de arquivos ` para converter entre nomes de arquivos Unicode e nomes de arquivos " +"de bytes. A codificação do sistema de arquivos é retornado " +"de :func:`getfilesystemencoding`." -#: ../../library/sys.rst:747 +#: ../../library/sys.rst:808 msgid "" "Returns the current value for the :ref:`integer string conversion length " "limitation `. See also :func:`set_int_max_str_digits`." msgstr "" "Retorna o valor atual para a :ref:`limitação de comprimento de string na " -"conversão para inteiro `. Veja também :func:" -"`set_int_max_str_digits`." +"conversão para inteiro `. Veja " +"também :func:`set_int_max_str_digits`." -#: ../../library/sys.rst:754 +#: ../../library/sys.rst:815 msgid "" "Return the reference count of the *object*. The count returned is generally " "one higher than you might expect, because it includes the (temporary) " @@ -1511,21 +1405,28 @@ msgid "" msgstr "" "Retorna a contagem de referências do *object*. A contagem retornada é " "geralmente um valor maior do que o esperado, porque inclui a referência " -"(temporária) como um argumento para :func:`getrefcount`." +"(temporária) passada como argumento para :func:`getrefcount`." -#: ../../library/sys.rst:761 +#: ../../library/sys.rst:819 +msgid "" +"Note that the returned value may not actually reflect how many references to " +"the object are actually held. Consequently, do not rely on the returned " +"value to be accurate, other than a value of 0 or 1." +msgstr "" + +#: ../../library/sys.rst:825 msgid "" "Return the current value of the recursion limit, the maximum depth of the " "Python interpreter stack. This limit prevents infinite recursion from " -"causing an overflow of the C stack and crashing Python. It can be set by :" -"func:`setrecursionlimit`." +"causing an overflow of the C stack and crashing Python. It can be set " +"by :func:`setrecursionlimit`." msgstr "" "Retorna o valor atual do limite de recursão, a profundidade máxima da pilha " "do interpretador Python. Esse limite evita que a recursão infinita cause um " -"estouro da pilha C e falhe o Python. Pode ser definido por :func:" -"`setrecursionlimit`." +"estouro da pilha C e falhe o Python. Pode ser definido " +"por :func:`setrecursionlimit`." -#: ../../library/sys.rst:769 +#: ../../library/sys.rst:833 msgid "" "Return the size of an object in bytes. The object can be any type of object. " "All built-in objects will return correct results, but this does not have to " @@ -1536,7 +1437,7 @@ msgstr "" "não precisa ser verdadeiro para extensões de terceiros, pois é específico da " "implementação." -#: ../../library/sys.rst:774 +#: ../../library/sys.rst:838 msgid "" "Only the memory consumption directly attributed to the object is accounted " "for, not the memory consumption of objects it refers to." @@ -1544,7 +1445,7 @@ msgstr "" "Apenas o consumo de memória diretamente atribuído ao objeto é contabilizado, " "não o consumo de memória dos objetos a que ele se refere." -#: ../../library/sys.rst:777 +#: ../../library/sys.rst:841 msgid "" "If given, *default* will be returned if the object does not provide means to " "retrieve the size. Otherwise a :exc:`TypeError` will be raised." @@ -1553,7 +1454,7 @@ msgstr "" "recuperar o tamanho. Caso contrário, uma exceção :exc:`TypeError` será " "levantada." -#: ../../library/sys.rst:780 +#: ../../library/sys.rst:844 msgid "" ":func:`getsizeof` calls the object's ``__sizeof__`` method and adds an " "additional garbage collector overhead if the object is managed by the " @@ -1563,22 +1464,22 @@ msgstr "" "sobrecarga adicional do coletor de lixo se o objeto for gerenciado pelo " "coletor de lixo." -#: ../../library/sys.rst:784 +#: ../../library/sys.rst:848 msgid "" "See `recursive sizeof recipe `_ for an example of using :func:`getsizeof` recursively to find the size " "of containers and all their contents." msgstr "" -#: ../../library/sys.rst:790 +#: ../../library/sys.rst:854 msgid "" -"Return the interpreter's \"thread switch interval\"; see :func:" -"`setswitchinterval`." +"Return the interpreter's \"thread switch interval\"; " +"see :func:`setswitchinterval`." msgstr "" -"Retorna o \"intervalo de troca de thread\" do interpretador; veja :func:" -"`setswitchinterval`." +"Retorna o \"intervalo de troca de thread\" do interpretador; " +"veja :func:`setswitchinterval`." -#: ../../library/sys.rst:798 +#: ../../library/sys.rst:862 msgid "" "Return a frame object from the call stack. If optional integer *depth* is " "given, return the frame object that many calls below the top of the stack. " @@ -1592,7 +1493,7 @@ msgstr "" "é levantada. O padrão para *depth* é zero, retornando o quadro no topo da " "pilha de chamadas." -#: ../../library/sys.rst:803 +#: ../../library/sys.rst:867 msgid "" "Raises an :ref:`auditing event ` ``sys._getframe`` with argument " "``frame``." @@ -1600,7 +1501,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``sys._getframe`` com o " "argumento ``frame``." -#: ../../library/sys.rst:807 +#: ../../library/sys.rst:871 msgid "" "This function should be used for internal and specialized purposes only. It " "is not guaranteed to exist in all implementations of Python." @@ -1608,16 +1509,16 @@ msgstr "" "Esta função deve ser usada apenas para fins internos e especializados. Não é " "garantido que exista em todas as implementações do Python." -#: ../../library/sys.rst:817 +#: ../../library/sys.rst:881 msgid "Get the profiler function as set by :func:`setprofile`." msgstr "" "Obtém a função do criador de perfil conforme definido por :func:`setprofile`." -#: ../../library/sys.rst:826 +#: ../../library/sys.rst:890 msgid "Get the trace function as set by :func:`settrace`." msgstr "Obtém a função trace conforme definido por :func:`settrace`." -#: ../../library/sys.rst:830 +#: ../../library/sys.rst:894 msgid "" "The :func:`gettrace` function is intended only for implementing debuggers, " "profilers, coverage tools and the like. Its behavior is part of the " @@ -1625,82 +1526,82 @@ msgid "" "thus may not be available in all Python implementations." msgstr "" "A função :func:`gettrace` destina-se apenas à implementação de depuradores, " -"criadores de perfil, ferramentas de cobertura e similares. Seu comportamento " -"faz parte da plataforma de implementação, e não da definição da linguagem e, " +"perfiladores, ferramentas de cobertura e similares. Seu comportamento faz " +"parte da plataforma de implementação, e não da definição da linguagem e, " "portanto, pode não estar disponível em todas as implementações do Python." -#: ../../library/sys.rst:838 +#: ../../library/sys.rst:902 msgid "" "Return a named tuple describing the Windows version currently running. The " "named elements are *major*, *minor*, *build*, *platform*, *service_pack*, " "*service_pack_minor*, *service_pack_major*, *suite_mask*, *product_type* and " "*platform_version*. *service_pack* contains a string, *platform_version* a 3-" "tuple and all other values are integers. The components can also be accessed " -"by name, so ``sys.getwindowsversion()[0]`` is equivalent to ``sys." -"getwindowsversion().major``. For compatibility with prior versions, only the " -"first 5 elements are retrievable by indexing." +"by name, so ``sys.getwindowsversion()[0]`` is equivalent to " +"``sys.getwindowsversion().major``. For compatibility with prior versions, " +"only the first 5 elements are retrievable by indexing." msgstr "" "Retorna uma tupla nomeada que descreve a versão do Windows em execução no " "momento. Os elementos nomeados são *major*, *minor*, *build*, *platform*, " "*service_pack*, *service_pack_minor*, *service_pack_major*, *suite_mask*, " "*product_type* e *platform_version*. *service_pack* contém uma string, " "*platform_version* uma tupla de 3 elementos e todos os outros valores são " -"inteiros. Os componentes também podem ser acessados pelo nome, então ``sys." -"getwindowsversion()[0]`` é equivalente a ``sys.getwindowsversion().major``. " -"Para compatibilidade com versões anteriores, apenas os primeiros 5 elementos " -"são recuperáveis por indexação." +"inteiros. Os componentes também podem ser acessados pelo nome, então " +"``sys.getwindowsversion()[0]`` é equivalente a " +"``sys.getwindowsversion().major``. Para compatibilidade com versões " +"anteriores, apenas os primeiros 5 elementos são recuperáveis por indexação." -#: ../../library/sys.rst:849 -msgid "*platform* will be :const:`2 (VER_PLATFORM_WIN32_NT)`." -msgstr "*platform* será :const:`2 (VER_PLATFORM_WIN32_NT)`." +#: ../../library/sys.rst:913 +msgid "*platform* will be ``2`` (VER_PLATFORM_WIN32_NT)." +msgstr "*platform* será ``2`` (VER_PLATFORM_WIN32_NT)." -#: ../../library/sys.rst:851 +#: ../../library/sys.rst:915 msgid "*product_type* may be one of the following values:" msgstr "*product_type* pode ser um dos seguintes valores:" -#: ../../library/sys.rst:854 +#: ../../library/sys.rst:918 msgid "Constant" msgstr "Constante" -#: ../../library/sys.rst:854 +#: ../../library/sys.rst:918 msgid "Meaning" msgstr "Significado" -#: ../../library/sys.rst:856 -msgid ":const:`1 (VER_NT_WORKSTATION)`" -msgstr ":const:`1 (VER_NT_WORKSTATION)`" +#: ../../library/sys.rst:920 +msgid "``1`` (VER_NT_WORKSTATION)" +msgstr "``1`` (VER_NT_WORKSTATION)" -#: ../../library/sys.rst:856 +#: ../../library/sys.rst:920 msgid "The system is a workstation." msgstr "O sistema é uma estação de trabalho" -#: ../../library/sys.rst:858 -msgid ":const:`2 (VER_NT_DOMAIN_CONTROLLER)`" -msgstr ":const:`2 (VER_NT_DOMAIN_CONTROLLER)`" +#: ../../library/sys.rst:922 +msgid "``2`` (VER_NT_DOMAIN_CONTROLLER)" +msgstr "``2`` (VER_NT_DOMAIN_CONTROLLER)" -#: ../../library/sys.rst:858 +#: ../../library/sys.rst:922 msgid "The system is a domain controller." msgstr "O sistema é um controlador de domínio." -#: ../../library/sys.rst:861 -msgid ":const:`3 (VER_NT_SERVER)`" -msgstr ":const:`3 (VER_NT_SERVER)`" +#: ../../library/sys.rst:925 +msgid "``3`` (VER_NT_SERVER)" +msgstr "``3`` (VER_NT_SERVER)" -#: ../../library/sys.rst:861 +#: ../../library/sys.rst:925 msgid "The system is a server, but not a domain controller." msgstr "O sistema é um servidor, mas não um controlador de domínio." -#: ../../library/sys.rst:865 +#: ../../library/sys.rst:929 msgid "" -"This function wraps the Win32 :c:func:`GetVersionEx` function; see the " -"Microsoft documentation on :c:func:`OSVERSIONINFOEX` for more information " +"This function wraps the Win32 :c:func:`!GetVersionEx` function; see the " +"Microsoft documentation on :c:func:`!OSVERSIONINFOEX` for more information " "about these fields." msgstr "" -"Esta função atua como um envólucro em volta da função Win32 :c:func:" -"`GetVersionEx`; consulte a documentação da Microsoft em :c:func:" -"`OSVERSIONINFOEX` para obter mais informações sobre esses campos." +"Esta função atua como um envólucro em volta da função Win32 :c:func:`!" +"GetVersionEx`; consulte a documentação da Microsoft em :c:func:`!" +"OSVERSIONINFOEX` para obter mais informações sobre esses campos." -#: ../../library/sys.rst:869 +#: ../../library/sys.rst:933 msgid "" "*platform_version* returns the major version, minor version and build number " "of the current operating system, rather than the version that is being " @@ -1712,17 +1613,17 @@ msgstr "" "sendo emulada para o processo. Destina-se a ser usado no registro, e não na " "detecção de recursos." -#: ../../library/sys.rst:875 +#: ../../library/sys.rst:939 msgid "" "*platform_version* derives the version from kernel32.dll which can be of a " "different version than the OS version. Please use :mod:`platform` module for " "achieving accurate OS version." msgstr "" "*platform_version* deriva a versão de kernel32.dll que pode ser de uma " -"versão diferente da versão do sistema operacional. Use o módulo :mod:" -"`platform` para obter a versão precisa do sistema operacional." +"versão diferente da versão do sistema operacional. Use o " +"módulo :mod:`platform` para obter a versão precisa do sistema operacional." -#: ../../library/sys.rst:881 +#: ../../library/sys.rst:945 msgid "" "Changed to a named tuple and added *service_pack_minor*, " "*service_pack_major*, *suite_mask*, and *product_type*." @@ -1730,45 +1631,45 @@ msgstr "" "Alterado para uma tupla nomeada e adicionado *service_pack_minor*, " "*service_pack_major*, *suite_mask* e *product_type*." -#: ../../library/sys.rst:885 +#: ../../library/sys.rst:949 msgid "Added *platform_version*" msgstr "Adicionado *platform_version*" -#: ../../library/sys.rst:891 +#: ../../library/sys.rst:955 msgid "" -"Returns an *asyncgen_hooks* object, which is similar to a :class:" -"`~collections.namedtuple` of the form ``(firstiter, finalizer)``, where " -"*firstiter* and *finalizer* are expected to be either ``None`` or functions " -"which take an :term:`asynchronous generator iterator` as an argument, and " -"are used to schedule finalization of an asynchronous generator by an event " -"loop." +"Returns an *asyncgen_hooks* object, which is similar to " +"a :class:`~collections.namedtuple` of the form ``(firstiter, finalizer)``, " +"where *firstiter* and *finalizer* are expected to be either ``None`` or " +"functions which take an :term:`asynchronous generator iterator` as an " +"argument, and are used to schedule finalization of an asynchronous generator " +"by an event loop." msgstr "" -"Retorna um objeto *asyncgen_hooks*, que é semelhante a um :class:" -"`~collections.namedtuple` no formato ``(firstiter, finalizer)``, onde " -"*firstiter* e *finalizer* devem ser ``None`` ou funções que recebem um :term:" -"`iterador gerador assíncrono` como argumento e são usadas para agendar a " -"finalização de um gerador assíncrono por um laço de eventos." +"Retorna um objeto *asyncgen_hooks*, que é semelhante a " +"um :class:`~collections.namedtuple` no formato ``(firstiter, finalizer)``, " +"onde *firstiter* e *finalizer* devem ser ``None`` ou funções que recebem " +"um :term:`iterador gerador assíncrono` como argumento e são usadas para " +"agendar a finalização de um gerador assíncrono por um laço de eventos." -#: ../../library/sys.rst:898 +#: ../../library/sys.rst:962 msgid "See :pep:`525` for more details." msgstr "Veja :pep:`525` para mais detalhes." -#: ../../library/sys.rst:902 ../../library/sys.rst:1549 +#: ../../library/sys.rst:966 ../../library/sys.rst:1634 msgid "" "This function has been added on a provisional basis (see :pep:`411` for " "details.)" msgstr "" "Esta função foi adicionada provisoriamente (veja :pep:`411` para detalhes.)" -#: ../../library/sys.rst:908 +#: ../../library/sys.rst:972 msgid "" -"Get the current coroutine origin tracking depth, as set by :func:" -"`set_coroutine_origin_tracking_depth`." +"Get the current coroutine origin tracking depth, as set " +"by :func:`set_coroutine_origin_tracking_depth`." msgstr "" "Obtém a profundidade de rastreamento da origem da corrotina atual, conforme " "definido por :func:`set_coroutine_origin_tracking_depth`." -#: ../../library/sys.rst:914 ../../library/sys.rst:1570 +#: ../../library/sys.rst:978 ../../library/sys.rst:1655 msgid "" "This function has been added on a provisional basis (see :pep:`411` for " "details.) Use it only for debugging purposes." @@ -1776,84 +1677,52 @@ msgstr "" "Esta função foi adicionada provisoriamente (veja :pep:`411` para detalhes.) " "Use-a apenas para propósitos de depuração." -#: ../../library/sys.rst:920 +#: ../../library/sys.rst:984 msgid "" "A :term:`named tuple` giving parameters of the numeric hash implementation. " "For more details about hashing of numeric types, see :ref:`numeric-hash`." msgstr "" "Uma :term:`tupla nomeada` fornecendo parâmetros da implementação de hash " -"numérico. Para mais detalhes sobre hashing de tipos numéricos, veja :ref:" -"`numeric-hash`." - -#: ../../library/sys.rst:927 -msgid ":const:`width`" -msgstr ":const:`width`" +"numérico. Para mais detalhes sobre hashing de tipos numéricos, " +"veja :ref:`numeric-hash`." -#: ../../library/sys.rst:927 -msgid "width in bits used for hash values" -msgstr "largura em bits usada para fazer hash de valores" +#: ../../library/sys.rst:990 +msgid "The width in bits used for hash values" +msgstr "A largura em bits usada para fazer hash de valores" -#: ../../library/sys.rst:929 -msgid ":const:`modulus`" -msgstr ":const:`modulus`" - -#: ../../library/sys.rst:929 -msgid "prime modulus P used for numeric hash scheme" -msgstr "módulo primo P usado para esquema de hash numérico" - -#: ../../library/sys.rst:931 -msgid ":const:`inf`" -msgstr ":const:`inf`" - -#: ../../library/sys.rst:931 -msgid "hash value returned for a positive infinity" -msgstr "valor de hash retornado para um infinito positivo" - -#: ../../library/sys.rst:933 -msgid ":const:`nan`" -msgstr ":const:`nan`" - -#: ../../library/sys.rst:933 -msgid "(this attribute is no longer used)" -msgstr "(este atributo não é mais usado)" - -#: ../../library/sys.rst:935 -msgid ":const:`imag`" -msgstr ":const:`imag`" - -#: ../../library/sys.rst:935 -msgid "multiplier used for the imaginary part of a complex number" -msgstr "multiplicador usado para a parte imaginária de um número complexo" +#: ../../library/sys.rst:994 +msgid "The prime modulus P used for numeric hash scheme" +msgstr "O módulo primo P usado para esquema de hash numérico" -#: ../../library/sys.rst:938 -msgid ":const:`algorithm`" -msgstr ":const:`algorithm`" +#: ../../library/sys.rst:998 +msgid "The hash value returned for a positive infinity" +msgstr "O valor de hash retornado para um infinito positivo" -#: ../../library/sys.rst:938 -msgid "name of the algorithm for hashing of str, bytes, and memoryview" -msgstr "nome do algoritmo para hash de str, bytes e memoryview" +#: ../../library/sys.rst:1002 +msgid "(This attribute is no longer used)" +msgstr "(Este atributo não é mais usado)" -#: ../../library/sys.rst:941 -msgid ":const:`hash_bits`" -msgstr ":const:`hash_bits`" +#: ../../library/sys.rst:1006 +msgid "The multiplier used for the imaginary part of a complex number" +msgstr "O multiplicador usado para a parte imaginária de um número complexo" -#: ../../library/sys.rst:941 -msgid "internal output size of the hash algorithm" -msgstr "tamanho da saída interna do algoritmo de hash" +#: ../../library/sys.rst:1010 +msgid "The name of the algorithm for hashing of str, bytes, and memoryview" +msgstr "O nome do algoritmo para hash de str, bytes e memoryview" -#: ../../library/sys.rst:943 -msgid ":const:`seed_bits`" -msgstr ":const:`seed_bits`" +#: ../../library/sys.rst:1014 +msgid "The internal output size of the hash algorithm" +msgstr "O tamanho da saída interna do algoritmo de hash" -#: ../../library/sys.rst:943 -msgid "size of the seed key of the hash algorithm" -msgstr "tamanho da chave semente do algoritmo hash" +#: ../../library/sys.rst:1018 +msgid "The size of the seed key of the hash algorithm" +msgstr "O tamanho da chave semente do algoritmo hash" -#: ../../library/sys.rst:949 +#: ../../library/sys.rst:1022 msgid "Added *algorithm*, *hash_bits* and *seed_bits*" msgstr "Adicionado *algorithm*, *hash_bits* e *seed_bits*" -#: ../../library/sys.rst:955 +#: ../../library/sys.rst:1028 msgid "" "The version number encoded as a single integer. This is guaranteed to " "increase with each version, including proper support for non-production " @@ -1865,7 +1734,7 @@ msgstr "" "produção. Por exemplo, para testar se o interpretador Python é pelo menos a " "versão 1.5.2, use::" -#: ../../library/sys.rst:966 +#: ../../library/sys.rst:1039 msgid "" "This is called ``hexversion`` since it only really looks meaningful when " "viewed as the result of passing it to the built-in :func:`hex` function. " @@ -1873,17 +1742,17 @@ msgid "" "human-friendly encoding of the same information." msgstr "" "Isso é chamado ``hexversion`` já que só parece realmente significativo " -"quando visto como o resultado de passá-lo para a função embutida :func:" -"`hex`. A :term:`tupla nomeada` :data:`sys.version_info` pode ser usada para " -"uma codificação mais amigável das mesmas informações." +"quando visto como o resultado de passá-lo para a função " +"embutida :func:`hex`. A :term:`tupla nomeada` :data:`sys.version_info` pode " +"ser usada para uma codificação mais amigável das mesmas informações." -#: ../../library/sys.rst:971 +#: ../../library/sys.rst:1044 msgid "More details of ``hexversion`` can be found at :ref:`apiabiversion`." msgstr "" -"Mais detalhes sobre ``hexversion`` podem ser encontrados em :ref:" -"`apiabiversion`." +"Mais detalhes sobre ``hexversion`` podem ser encontrados " +"em :ref:`apiabiversion`." -#: ../../library/sys.rst:976 +#: ../../library/sys.rst:1049 msgid "" "An object containing information about the implementation of the currently " "running Python interpreter. The following attributes are required to exist " @@ -1893,7 +1762,7 @@ msgstr "" "Python em execução no momento. Os atributos a seguir devem existir em todas " "as implementações do Python." -#: ../../library/sys.rst:980 +#: ../../library/sys.rst:1053 msgid "" "*name* is the implementation's identifier, e.g. ``'cpython'``. The actual " "string is defined by the Python implementation, but it is guaranteed to be " @@ -1903,7 +1772,7 @@ msgstr "" "string real é definida pela implementação do Python, mas é garantido que " "seja minúscula." -#: ../../library/sys.rst:984 +#: ../../library/sys.rst:1057 msgid "" "*version* is a named tuple, in the same format as :data:`sys.version_info`. " "It represents the version of the Python *implementation*. This has a " @@ -1914,14 +1783,25 @@ msgid "" "would be ``sys.version_info(2, 7, 2, 'final', 0)``. For CPython they are " "the same value, since it is the reference implementation." msgstr "" +"*version* é uma tupla nomeada, no mesmo formato " +"que :data:`sys.version_info`. Ela representa a versão da implementação " +"Python em *implementation*. Isso tem um significado distinto da versão " +"específica da *linguagem* Python à qual o interpretador em execução no " +"momento está em conformidade, que ``sys.version_info`` representa. Por " +"exemplo, para PyPy 1.8 ``sys.implementation.version`` pode ser " +"``sys.version_info(1, 8, 0, 'final', 0)``, enquanto ``sys.version_info`` " +"seria ``sys.version_info(2, 7, 2, 'final', 0)``. Para CPython, eles são o " +"mesmo valor, pois é a implementação de referência." -#: ../../library/sys.rst:994 +#: ../../library/sys.rst:1067 msgid "" -"*hexversion* is the implementation version in hexadecimal format, like :data:" -"`sys.hexversion`." +"*hexversion* is the implementation version in hexadecimal format, " +"like :data:`sys.hexversion`." msgstr "" +"*hexversion* é a versão de implementação em formato hexadecimal, " +"como :data:`sys.hexversion`." -#: ../../library/sys.rst:997 +#: ../../library/sys.rst:1070 msgid "" "*cache_tag* is the tag used by the import machinery in the filenames of " "cached modules. By convention, it would be a composite of the " @@ -1929,72 +1809,85 @@ msgid "" "implementation may use some other value if appropriate. If ``cache_tag`` is " "set to ``None``, it indicates that module caching should be disabled." msgstr "" +"*cache_tag* é a tag usada pelo mecanismo de importação nos nomes de arquivo " +"dos módulos em cache. Por convenção, seria um composto do nome e da versão " +"da implementação, como ``'cpython-33'``. No entanto, uma implementação " +"Python pode usar algum outro valor, se apropriado. Se ``cache_tag`` for " +"definido como ``None``, isso indica que o cache do módulo deve ser " +"desabilitado." -#: ../../library/sys.rst:1004 +#: ../../library/sys.rst:1077 msgid "" ":data:`sys.implementation` may contain additional attributes specific to the " "Python implementation. These non-standard attributes must start with an " -"underscore, and are not described here. Regardless of its contents, :data:" -"`sys.implementation` will not change during a run of the interpreter, nor " -"between implementation versions. (It may change between Python language " -"versions, however.) See :pep:`421` for more information." +"underscore, and are not described here. Regardless of its " +"contents, :data:`sys.implementation` will not change during a run of the " +"interpreter, nor between implementation versions. (It may change between " +"Python language versions, however.) See :pep:`421` for more information." msgstr "" +":data:`sys.implementation` pode conter atributos adicionais específicos para " +"a implementação do Python. Esses atributos não padrão devem começar com um " +"sublinhado e não são descritos aqui. Independentemente do seu " +"conteúdo, :data:`sys.implementation` não mudará durante uma execução do " +"interpretador, nem entre versões de implementação. (No entanto, ele pode " +"mudar entre versões da linguagem Python.) Veja a :pep:`421` para mais " +"informações." -#: ../../library/sys.rst:1015 +#: ../../library/sys.rst:1088 msgid "" "The addition of new required attributes must go through the normal PEP " "process. See :pep:`421` for more information." msgstr "" +"A adição de novos atributos obrigatórios deve passar pelo processo normal de " +"PEPs. Veja a :pep:`421` para mais informações." -#: ../../library/sys.rst:1020 +#: ../../library/sys.rst:1093 msgid "" "A :term:`named tuple` that holds information about Python's internal " "representation of integers. The attributes are read only." msgstr "" +"Uma :term:`tupla nomeada` que contém informações sobre a representação " +"interna de inteiros do Python. Os atributos são somente leitura." -#: ../../library/sys.rst:1028 -msgid ":const:`bits_per_digit`" -msgstr ":const:`bits_per_digit`" - -#: ../../library/sys.rst:1028 +#: ../../library/sys.rst:1098 msgid "" -"number of bits held in each digit. Python integers are stored internally in " -"base ``2**int_info.bits_per_digit``" +"The number of bits held in each digit. Python integers are stored internally " +"in base ``2**int_info.bits_per_digit``." msgstr "" +"O número de bits mantidos em cada dígito. Os inteiros do Python são " +"armazenados internamente na base ``2**int_info.bits_per_digit``." -#: ../../library/sys.rst:1032 -msgid ":const:`sizeof_digit`" -msgstr ":const:`sizeof_digit`" +#: ../../library/sys.rst:1103 +msgid "The size in bytes of the C type used to represent a digit." +msgstr "O tamanho em bytes do tipo C usado para representar um dígito." -#: ../../library/sys.rst:1032 -msgid "size in bytes of the C type used to represent a digit" -msgstr "" - -#: ../../library/sys.rst:1035 -msgid ":const:`default_max_str_digits`" -msgstr "" - -#: ../../library/sys.rst:1035 +#: ../../library/sys.rst:1107 msgid "" -"default value for :func:`sys.get_int_max_str_digits` when it is not " +"The default value for :func:`sys.get_int_max_str_digits` when it is not " "otherwise explicitly configured." msgstr "" +"O valor padrão para :func:`sys.get_int_max_str_digits` quando não estiver " +"explicitamente configurado." -#: ../../library/sys.rst:1039 -msgid ":const:`str_digits_check_threshold`" -msgstr "" - -#: ../../library/sys.rst:1039 +#: ../../library/sys.rst:1112 msgid "" -"minimum non-zero value for :func:`sys.set_int_max_str_digits`, :envvar:" -"`PYTHONINTMAXSTRDIGITS`, or :option:`-X int_max_str_digits <-X>`." +"The minimum non-zero value " +"for :func:`sys.set_int_max_str_digits`, :envvar:`PYTHONINTMAXSTRDIGITS`, " +"or :option:`-X int_max_str_digits <-X>`." msgstr "" +"O valor mínimo diferente de zero " +"para :func:`sys.set_int_max_str_digits`, :envvar:`PYTHONINTMAXSTRDIGITS` " +"ou :option:`-X int_max_str_digits <-X>`." -#: ../../library/sys.rst:1047 -msgid "Added ``default_max_str_digits`` and ``str_digits_check_threshold``." +#: ../../library/sys.rst:1119 +msgid "" +"Added :attr:`~int_info.default_max_str_digits` " +"and :attr:`~int_info.str_digits_check_threshold`." msgstr "" +"Adicionados :attr:`~int_info.default_max_str_digits` " +"e :attr:`~int_info.str_digits_check_threshold`." -#: ../../library/sys.rst:1053 +#: ../../library/sys.rst:1125 msgid "" "When this attribute exists, its value is automatically called (with no " "arguments) when the interpreter is launched in :ref:`interactive mode `." msgstr "" +"Quando esse atributo existe, seu valor é chamado automaticamente (sem " +"argumentos) quando o interpretador é iniciado em :ref:`modo interativo `. Isso é feito após o arquivo :envvar:`PYTHONSTARTUP` ser lido, " +"para que você possa definir esse gancho lá. O " +"módulo :mod:`site` :ref:`define isso `." -#: ../../library/sys.rst:1059 +#: ../../library/sys.rst:1131 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_interactivehook`` " "with argument ``hook``." msgstr "" -#: ../../library/sys.rst:1061 +#: ../../library/sys.rst:1133 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_interactivehook`` " "with the hook object as the argument when the hook is called on startup." msgstr "" +"Levanta um :ref:`evento de auditoria ` " +"``cpython.run_interactivehook`` com o objeto gancho como o argumento quando " +"o gancho é chamado na inicialização." -#: ../../library/sys.rst:1070 +#: ../../library/sys.rst:1142 msgid "" "Enter *string* in the table of \"interned\" strings and return the interned " "string -- which is *string* itself or a copy. Interning strings is useful to " @@ -2026,20 +1927,29 @@ msgid "" "interned, and the dictionaries used to hold module, class or instance " "attributes have interned keys." msgstr "" +"Insere *string* na tabela de strings \"internalizadas\" e retorna a string " +"internalizada -- que é a própria *string* ou uma cópia. Strings " +"internalizadas são úteis para obter um pouco de desempenho na pesquisa de " +"dicionário -- se as chaves em um dicionário foram internalizadas, e a chave " +"de pesquisa para internalizada, já que comparações de chaves (após o hash) " +"podem ser feitas por uma comparação de ponteiros em vez de uma comparação de " +"strings. Normalmente, os nomes usados em programas Python são internalizados " +"automaticamente, e os dicionários usados para armazenar atributos de módulo, " +"classe ou instância têm chaves internalizadas." -#: ../../library/sys.rst:1078 +#: ../../library/sys.rst:1150 msgid "" "Interned strings are not immortal; you must keep a reference to the return " "value of :func:`intern` around to benefit from it." msgstr "" -#: ../../library/sys.rst:1084 +#: ../../library/sys.rst:1156 msgid "" "Return :const:`True` if the Python interpreter is :term:`shutting down " "`, :const:`False` otherwise." msgstr "" -#: ../../library/sys.rst:1094 +#: ../../library/sys.rst:1166 msgid "" "These three variables are not always defined; they are set when an exception " "is not handled and the interpreter prints an error message and a stack " @@ -2050,75 +1960,98 @@ msgid "" "information.)" msgstr "" -#: ../../library/sys.rst:1102 +#: ../../library/sys.rst:1174 msgid "" -"The meaning of the variables is the same as that of the return values from :" -"func:`exc_info` above." +"The meaning of the variables is the same as that of the return values " +"from :func:`exc_info` above." msgstr "" -#: ../../library/sys.rst:1108 +#: ../../library/sys.rst:1180 msgid "" "An integer giving the maximum value a variable of type :c:type:`Py_ssize_t` " "can take. It's usually ``2**31 - 1`` on a 32-bit platform and ``2**63 - 1`` " "on a 64-bit platform." msgstr "" +"Um inteiro que fornece o valor máximo que uma variável do " +"tipo :c:type:`Py_ssize_t` pode assumir. Geralmente é ``2**31 - 1`` em uma " +"plataforma de 32 bits e ``2**63 - 1`` em uma plataforma de 64 bits." -#: ../../library/sys.rst:1115 +#: ../../library/sys.rst:1187 msgid "" "An integer giving the value of the largest Unicode code point, i.e. " "``1114111`` (``0x10FFFF`` in hexadecimal)." msgstr "" +"Um inteiro que fornece o valor do maior ponto de código Unicode, ou seja, " +"``1114111`` (``0x10FFFF`` em hexadecimal)." -#: ../../library/sys.rst:1118 +#: ../../library/sys.rst:1190 msgid "" "Before :pep:`393`, ``sys.maxunicode`` used to be either ``0xFFFF`` or " "``0x10FFFF``, depending on the configuration option that specified whether " "Unicode characters were stored as UCS-2 or UCS-4." msgstr "" +"Antes da :pep:`393`, ``sys.maxunicode`` costumava ser ``0xFFFF`` ou " +"``0x10FFFF``, dependendo da opção de configuração que especificava se os " +"caracteres Unicode eram armazenados como UCS-2 ou UCS-4." -#: ../../library/sys.rst:1126 +#: ../../library/sys.rst:1198 msgid "" -"A list of :term:`meta path finder` objects that have their :meth:`~importlib." -"abc.MetaPathFinder.find_spec` methods called to see if one of the objects " -"can find the module to be imported. By default, it holds entries that " -"implement Python's default import semantics. The :meth:`~importlib.abc." -"MetaPathFinder.find_spec` method is called with at least the absolute name " -"of the module being imported. If the module to be imported is contained in a " -"package, then the parent package's :attr:`__path__` attribute is passed in " -"as a second argument. The method returns a :term:`module spec`, or ``None`` " -"if the module cannot be found." +"A list of :term:`meta path finder` objects that have " +"their :meth:`~importlib.abc.MetaPathFinder.find_spec` methods called to see " +"if one of the objects can find the module to be imported. By default, it " +"holds entries that implement Python's default import semantics. " +"The :meth:`~importlib.abc.MetaPathFinder.find_spec` method is called with at " +"least the absolute name of the module being imported. If the module to be " +"imported is contained in a package, then the parent " +"package's :attr:`__path__` attribute is passed in as a second argument. The " +"method returns a :term:`module spec`, or ``None`` if the module cannot be " +"found." msgstr "" - -#: ../../library/sys.rst:1139 +"Uma lista de objetos :term:`localizador de metacaminho` que têm seus " +"métodos :meth:`~importlib.abc.MetaPathFinder.find_spec` chamados para ver se " +"um dos objetos consegue encontrar o módulo a ser importado. Por padrão, ele " +"contém entradas que implementam a semântica de importação padrão do Python. " +"O método :meth:`~importlib.abc.MetaPathFinder.find_spec` é chamado com pelo " +"menos o nome absoluto do módulo que está sendo importado. Se o módulo a ser " +"importado estiver contido em um pacote, o atributo :attr:`__path__` do " +"pacote pai é passado como um segundo argumento. O método retorna " +"uma :term:`especificação do módulo`, ou ``None`` se o módulo não puder ser " +"encontrado." + +#: ../../library/sys.rst:1211 msgid ":class:`importlib.abc.MetaPathFinder`" msgstr ":class:`importlib.abc.MetaPathFinder`" -#: ../../library/sys.rst:1139 +#: ../../library/sys.rst:1211 msgid "" -"The abstract base class defining the interface of finder objects on :data:" -"`meta_path`." +"The abstract base class defining the interface of finder objects " +"on :data:`meta_path`." msgstr "" +"A classe base abstrata que define a interface dos objetos localizadores " +"em :data:`meta_path`." -#: ../../library/sys.rst:1143 +#: ../../library/sys.rst:1215 msgid ":class:`importlib.machinery.ModuleSpec`" msgstr ":class:`importlib.machinery.ModuleSpec`" -#: ../../library/sys.rst:1142 +#: ../../library/sys.rst:1214 msgid "" "The concrete class which :meth:`~importlib.abc.MetaPathFinder.find_spec` " "should return instances of." msgstr "" +"A classe concreta da qual :meth:`~importlib.abc.MetaPathFinder.find_spec` " +"deve retornar instâncias." -#: ../../library/sys.rst:1148 +#: ../../library/sys.rst:1220 msgid "" -":term:`Module specs ` were introduced in Python 3.4, by :pep:" -"`451`. Earlier versions of Python looked for a method called :meth:" -"`~importlib.abc.MetaPathFinder.find_module`. This is still called as a " -"fallback if a :data:`meta_path` entry doesn't have a :meth:`~importlib.abc." -"MetaPathFinder.find_spec` method." +":term:`Module specs ` were introduced in Python 3.4, " +"by :pep:`451`. Earlier versions of Python looked for a method " +"called :meth:`~importlib.abc.MetaPathFinder.find_module`. This is still " +"called as a fallback if a :data:`meta_path` entry doesn't have " +"a :meth:`~importlib.abc.MetaPathFinder.find_spec` method." msgstr "" -#: ../../library/sys.rst:1156 +#: ../../library/sys.rst:1228 msgid "" "This is a dictionary that maps module names to modules which have already " "been loaded. This can be manipulated to force reloading of modules and " @@ -2129,99 +2062,145 @@ msgid "" "size may change during iteration as a side effect of code or activity in " "other threads." msgstr "" +"Este é um dicionário que mapeia nomes de módulos para módulos que já foram " +"carregados. Isso pode ser manipulado para forçar o recarregamento de módulos " +"e outros truques. No entanto, substituir o dicionário não vai funcionar " +"necessariamente como esperado e excluir itens essenciais do dicionário pode " +"fazer com que o Python falhe. Se você quiser iterar sobre este dicionário " +"global, sempre use ``sys.modules.copy()`` ou ``tuple(sys.modules)`` para " +"evitar exceções, pois seu tamanho pode mudar durante a iteração como um " +"efeito colateral do código ou atividade em outros threads." -#: ../../library/sys.rst:1168 +#: ../../library/sys.rst:1240 msgid "" "The list of the original command line arguments passed to the Python " "executable." msgstr "" +"A lista dos argumentos originais da linha de comando passados para o " +"executável Python." -#: ../../library/sys.rst:1171 -msgid "See also :data:`sys.argv`." +#: ../../library/sys.rst:1243 +msgid "" +"The elements of :data:`sys.orig_argv` are the arguments to the Python " +"interpreter, while the elements of :data:`sys.argv` are the arguments to the " +"user's program. Arguments consumed by the interpreter itself will be present " +"in :data:`sys.orig_argv` and missing from :data:`sys.argv`." msgstr "" +"Os elementos de :data:`sys.orig_argv` são os argumentos para o interpretador " +"Python, enquanto os elementos de :data:`sys.argv` são os argumentos para o " +"programa do usuário. Os argumentos consumidos pelo próprio interpretador " +"estarão presentes em :data:`sys.orig_argv` e ausentes em :data:`sys.argv`." -#: ../../library/sys.rst:1180 +#: ../../library/sys.rst:1255 msgid "" "A list of strings that specifies the search path for modules. Initialized " "from the environment variable :envvar:`PYTHONPATH`, plus an installation-" "dependent default." msgstr "" +"Uma lista de strings que especifica o caminho de pesquisa para módulos. " +"Inicializado a partir da variável de ambiente :envvar:`PYTHONPATH`, mais um " +"padrão dependente da instalação." -#: ../../library/sys.rst:1184 +#: ../../library/sys.rst:1259 msgid "" "By default, as initialized upon program startup, a potentially unsafe path " "is prepended to :data:`sys.path` (*before* the entries inserted as a result " "of :envvar:`PYTHONPATH`):" msgstr "" +"Por padrão, conforme inicializado na inicialização do programa, um caminho " +"potencialmente inseguro é adicionado ao :data:`sys.path` (*antes* das " +"entradas inseridas como resultado de :envvar:`PYTHONPATH`):" -#: ../../library/sys.rst:1188 +#: ../../library/sys.rst:1263 msgid "" "``python -m module`` command line: prepend the current working directory." msgstr "" +"A linha de comando ``python -m módulo``: adiciona o diretório de trabalho " +"atual" -#: ../../library/sys.rst:1190 +#: ../../library/sys.rst:1265 msgid "" "``python script.py`` command line: prepend the script's directory. If it's a " "symbolic link, resolve symbolic links." msgstr "" +"A linha de comando ``python script.py``: prefixa o diretório do script. Se " +"for um link simbólico, resolve links simbólicos." -#: ../../library/sys.rst:1192 +#: ../../library/sys.rst:1267 msgid "" "``python -c code`` and ``python`` (REPL) command lines: prepend an empty " "string, which means the current working directory." msgstr "" +"As linhas de comando ``python -c código`` e ``python`` (REPL): adiciona uma " +"string vazia, que indica o diretório de trabalho atual." -#: ../../library/sys.rst:1195 +#: ../../library/sys.rst:1270 msgid "" "To not prepend this potentially unsafe path, use the :option:`-P` command " "line option or the :envvar:`PYTHONSAFEPATH` environment variable." msgstr "" +"Para não acrescentar esse caminho potencialmente inseguro, use a opção de " +"linha de comando :option:`-P` ou a variável de " +"ambiente :envvar:`PYTHONSAFEPATH`." -#: ../../library/sys.rst:1198 +#: ../../library/sys.rst:1273 msgid "" "A program is free to modify this list for its own purposes. Only strings " "should be added to :data:`sys.path`; all other data types are ignored during " "import." msgstr "" +"Um programa é livre para modificar esta lista para seus próprios propósitos. " +"Somente strings devem ser adicionadas a :data:`sys.path`; todos os outros " +"tipos de dados são ignorados durante a importação." -#: ../../library/sys.rst:1204 +#: ../../library/sys.rst:1279 msgid "" -"Module :mod:`site` This describes how to use .pth files to extend :data:`sys." -"path`." +"Module :mod:`site` This describes how to use .pth files to " +"extend :data:`sys.path`." msgstr "" +"Módulo :mod:`site` Descreve como usar arquivos .pth para " +"estender :data:`sys.path`." -#: ../../library/sys.rst:1209 +#: ../../library/sys.rst:1284 msgid "" -"A list of callables that take a path argument to try to create a :term:" -"`finder` for the path. If a finder can be created, it is to be returned by " -"the callable, else raise :exc:`ImportError`." +"A list of callables that take a path argument to try to create " +"a :term:`finder` for the path. If a finder can be created, it is to be " +"returned by the callable, else raise :exc:`ImportError`." msgstr "" +"Uma lista de chamáveis que recebem um argumento de caminho para tentar criar " +"um :term:`localizador` para o caminho. Se um localizador puder ser criado, " +"ele deve ser retornado pelo chamável, senão, ele levanta :exc:`ImportError`." -#: ../../library/sys.rst:1213 ../../library/sys.rst:1224 +#: ../../library/sys.rst:1288 ../../library/sys.rst:1299 msgid "Originally specified in :pep:`302`." -msgstr "" +msgstr "Originalmente especificado na :pep:`302`." -#: ../../library/sys.rst:1218 +#: ../../library/sys.rst:1293 msgid "" "A dictionary acting as a cache for :term:`finder` objects. The keys are " "paths that have been passed to :data:`sys.path_hooks` and the values are the " "finders that are found. If a path is a valid file system path but no finder " "is found on :data:`sys.path_hooks` then ``None`` is stored." msgstr "" +"Um dicionário atuando como um cache para objetos do :term:`localizador`. As " +"chaves são caminhos que foram passados para :data:`sys.path_hooks` e os " +"valores são os localizadores que são encontrados. Se um caminho for um " +"caminho de sistema de arquivo válido, mas nenhum localizador for encontrado " +"em :data:`sys.path_hooks`, então ``None`` é armazenado." -#: ../../library/sys.rst:1226 +#: ../../library/sys.rst:1301 msgid "" "``None`` is stored instead of :class:`imp.NullImporter` when no finder is " "found." msgstr "" -#: ../../library/sys.rst:1233 +#: ../../library/sys.rst:1308 msgid "" "This string contains a platform identifier that can be used to append " "platform-specific components to :data:`sys.path`, for instance." msgstr "" -#: ../../library/sys.rst:1236 +#: ../../library/sys.rst:1311 msgid "" "For Unix systems, except on Linux and AIX, this is the lowercased OS name as " "returned by ``uname -s`` with the first part of the version as returned by " @@ -2230,97 +2209,99 @@ msgid "" "version, it is therefore recommended to use the following idiom::" msgstr "" -#: ../../library/sys.rst:1249 +#: ../../library/sys.rst:1324 msgid "For other systems, the values are:" msgstr "" -#: ../../library/sys.rst:1252 +#: ../../library/sys.rst:1327 msgid "System" -msgstr "" +msgstr "Sistema" -#: ../../library/sys.rst:1252 +#: ../../library/sys.rst:1327 msgid "``platform`` value" -msgstr "" +msgstr "Valor de ``platform``" -#: ../../library/sys.rst:1254 +#: ../../library/sys.rst:1329 msgid "AIX" -msgstr "" +msgstr "AIX" -#: ../../library/sys.rst:1254 +#: ../../library/sys.rst:1329 msgid "``'aix'``" msgstr "``'aix'``" -#: ../../library/sys.rst:1255 +#: ../../library/sys.rst:1330 msgid "Emscripten" -msgstr "" +msgstr "Emscripten" -#: ../../library/sys.rst:1255 +#: ../../library/sys.rst:1330 msgid "``'emscripten'``" -msgstr "" +msgstr "``'emscripten'``" -#: ../../library/sys.rst:1256 +#: ../../library/sys.rst:1331 msgid "Linux" -msgstr "" +msgstr "Linux" -#: ../../library/sys.rst:1256 +#: ../../library/sys.rst:1331 msgid "``'linux'``" msgstr "``'linux'``" -#: ../../library/sys.rst:1257 +#: ../../library/sys.rst:1332 msgid "WASI" -msgstr "" +msgstr "WASI" -#: ../../library/sys.rst:1257 +#: ../../library/sys.rst:1332 msgid "``'wasi'``" -msgstr "" +msgstr "``'wasi'``" -#: ../../library/sys.rst:1258 +#: ../../library/sys.rst:1333 msgid "Windows" msgstr "Windows" -#: ../../library/sys.rst:1258 +#: ../../library/sys.rst:1333 msgid "``'win32'``" msgstr "``'win32'``" -#: ../../library/sys.rst:1259 +#: ../../library/sys.rst:1334 msgid "Windows/Cygwin" msgstr "Windows/Cygwin" -#: ../../library/sys.rst:1259 +#: ../../library/sys.rst:1334 msgid "``'cygwin'``" msgstr "``'cygwin'``" -#: ../../library/sys.rst:1260 +#: ../../library/sys.rst:1335 msgid "macOS" msgstr "macOS" -#: ../../library/sys.rst:1260 +#: ../../library/sys.rst:1335 msgid "``'darwin'``" msgstr "``'darwin'``" -#: ../../library/sys.rst:1263 +#: ../../library/sys.rst:1338 msgid "" -"On Linux, :attr:`sys.platform` doesn't contain the major version anymore. It " +"On Linux, :data:`sys.platform` doesn't contain the major version anymore. It " "is always ``'linux'``, instead of ``'linux2'`` or ``'linux3'``. Since older " "Python versions include the version number, it is recommended to always use " "the ``startswith`` idiom presented above." msgstr "" -#: ../../library/sys.rst:1269 +#: ../../library/sys.rst:1344 msgid "" -"On AIX, :attr:`sys.platform` doesn't contain the major version anymore. It " +"On AIX, :data:`sys.platform` doesn't contain the major version anymore. It " "is always ``'aix'``, instead of ``'aix5'`` or ``'aix7'``. Since older " "Python versions include the version number, it is recommended to always use " "the ``startswith`` idiom presented above." msgstr "" -#: ../../library/sys.rst:1277 +#: ../../library/sys.rst:1352 msgid "" -":attr:`os.name` has a coarser granularity. :func:`os.uname` gives system-" +":data:`os.name` has a coarser granularity. :func:`os.uname` gives system-" "dependent version information." msgstr "" +":data:`os.name` tem uma granularidade mais substancial. :func:`os.uname` " +"fornece informações de versão dependentes do sistema." -#: ../../library/sys.rst:1280 +#: ../../library/sys.rst:1355 msgid "" "The :mod:`platform` module provides detailed checks for the system's " "identity." @@ -2328,45 +2309,60 @@ msgstr "" "O módulo :mod:`platform` fornece verificações detalhadas sobre a " "identificação do sistema." -#: ../../library/sys.rst:1286 +#: ../../library/sys.rst:1361 msgid "" "Name of the platform-specific library directory. It is used to build the " "path of standard library and the paths of installed extension modules." msgstr "" +"Nome do diretório da biblioteca específica da plataforma. É usado para " +"construir o caminho da biblioteca padrão e os caminhos dos módulos de " +"extensão instalados." -#: ../../library/sys.rst:1289 +#: ../../library/sys.rst:1364 msgid "" "It is equal to ``\"lib\"`` on most platforms. On Fedora and SuSE, it is " -"equal to ``\"lib64\"`` on 64-bit platforms which gives the following ``sys." -"path`` paths (where ``X.Y`` is the Python ``major.minor`` version):" +"equal to ``\"lib64\"`` on 64-bit platforms which gives the following " +"``sys.path`` paths (where ``X.Y`` is the Python ``major.minor`` version):" msgstr "" +"É igual a ``\"lib\"`` na maioria das plataformas. No Fedora e SuSE, é igual " +"a ``\"lib64\"`` em plataformas de 64 bits, o que fornece os seguintes " +"caminhos ``sys.path`` (onde ``X.Y`` é a versão ``major.minor`` do Python):" -#: ../../library/sys.rst:1293 +#: ../../library/sys.rst:1368 msgid "" "``/usr/lib64/pythonX.Y/``: Standard library (like ``os.py`` of the :mod:`os` " "module)" msgstr "" +"``/usr/lib64/pythonX.Y/``: Biblioteca padrão (como ``os.py`` do " +"módulo :mod:`os`)" -#: ../../library/sys.rst:1295 +#: ../../library/sys.rst:1370 msgid "" "``/usr/lib64/pythonX.Y/lib-dynload/``: C extension modules of the standard " "library (like the :mod:`errno` module, the exact filename is platform " "specific)" msgstr "" +"``/usr/lib64/pythonX.Y/lib-dynload/``: Módulos de extensão C da biblioteca " +"padrão (como o módulo :mod:`errno`, o nome exato do arquivo é específico da " +"plataforma)" -#: ../../library/sys.rst:1298 +#: ../../library/sys.rst:1373 msgid "" -"``/usr/lib/pythonX.Y/site-packages/`` (always use ``lib``, not :data:`sys." -"platlibdir`): Third-party modules" +"``/usr/lib/pythonX.Y/site-packages/`` (always use ``lib``, " +"not :data:`sys.platlibdir`): Third-party modules" msgstr "" +"``/usr/lib/pythonX.Y/site-packages/`` (sempre usa ``lib``, " +"não :data:`sys.platlibdir`): Módulos de terceiros" -#: ../../library/sys.rst:1300 +#: ../../library/sys.rst:1375 msgid "" "``/usr/lib64/pythonX.Y/site-packages/``: C extension modules of third-party " "packages" msgstr "" +"``/usr/lib64/pythonX.Y/site-packages/``: Módulos de extensão C de pacotes de " +"terceiros" -#: ../../library/sys.rst:1308 +#: ../../library/sys.rst:1383 msgid "" "A string giving the site-specific directory prefix where the platform " "independent Python files are installed; on Unix, the default is :file:`/usr/" @@ -2374,15 +2370,23 @@ msgid "" "to the :program:`configure` script. See :ref:`installation_paths` for " "derived paths." msgstr "" +"Uma string que fornece o prefixo do diretório específico do site onde os " +"arquivos Python independentes de plataforma são instalados; no Unix, o " +"padrão é :file:`/usr/local`. Isso pode ser definido no momento da construção " +"com o argumento :option:`--prefix` para o script :program:`configure`. " +"Veja :ref:`installation_paths` para caminhos derivados." -#: ../../library/sys.rst:1314 +#: ../../library/sys.rst:1389 msgid "" "If a :ref:`virtual environment ` is in effect, this value will be " "changed in ``site.py`` to point to the virtual environment. The value for " "the Python installation will still be available, via :data:`base_prefix`." msgstr "" +"Se um :ref:`ambiente virtual ` estiver em vigor, este valor será " +"alterado em ``site.py`` para apontar para o ambiente virtual. O valor para a " +"instalação do Python ainda estará disponível, via :data:`base_prefix`." -#: ../../library/sys.rst:1329 +#: ../../library/sys.rst:1404 msgid "" "Strings specifying the primary and secondary prompt of the interpreter. " "These are only defined if the interpreter is in interactive mode. Their " @@ -2391,29 +2395,43 @@ msgid "" "time the interpreter prepares to read a new interactive command; this can be " "used to implement a dynamic prompt." msgstr "" +"Strings especificando o prompt primário e secundário do interpretador. Elas " +"são definidas somente se o interpretador estiver no modo interativo. Seus " +"valores iniciais neste caso são ``'>>> '`` e ``'... '``. Se um objeto não " +"string for atribuído a qualquer variável, seu :func:`str` é reavaliado cada " +"vez que o interpretador se prepara para ler um novo comando interativo; isso " +"pode ser usado para implementar um prompt dinâmico." -#: ../../library/sys.rst:1339 +#: ../../library/sys.rst:1414 msgid "" "Set the flags used by the interpreter for :c:func:`dlopen` calls, such as " "when the interpreter loads extension modules. Among other things, this will " "enable a lazy resolving of symbols when importing a module, if called as " "``sys.setdlopenflags(0)``. To share symbols across extension modules, call " "as ``sys.setdlopenflags(os.RTLD_GLOBAL)``. Symbolic names for the flag " -"values can be found in the :mod:`os` module (``RTLD_xxx`` constants, e.g. :" -"data:`os.RTLD_LAZY`)." +"values can be found in the :mod:`os` module (:samp:`RTLD_{xxx}` constants, " +"e.g. :const:`os.RTLD_LAZY`)." msgstr "" +"Define os sinalizadores usados pelo interpretador para " +"chamadas :c:func:`dlopen`, como quando o interpretador carrega módulos de " +"extensão. Entre outras coisas, isso habilitará uma resolução preguiçosa de " +"símbolos ao importar um módulo, se chamado como ``sys.setdlopenflags(0)``. " +"Para compartilhar símbolos entre módulos de extensão, chame como " +"``sys.setdlopenflags(os.RTLD_GLOBAL)``. Nomes simbólicos para os valores de " +"sinalizadores podem ser encontrados no módulo :mod:`os` " +"(constantes :samp:`RTLD_{xxx}`, por exemplo, :const:`os.RTLD_LAZY`)." -#: ../../library/sys.rst:1351 +#: ../../library/sys.rst:1426 msgid "" "Set the :ref:`integer string conversion length limitation " -"` used by this interpreter. See also :func:" -"`get_int_max_str_digits`." +"` used by this interpreter. See " +"also :func:`get_int_max_str_digits`." msgstr "" "Define a :ref:`limitação de comprimento de string na conversão para inteiro " -"` usada por este interpretador. Veja também :func:" -"`get_int_max_str_digits`." +"` usada por este interpretador. Veja " +"também :func:`get_int_max_str_digits`." -#: ../../library/sys.rst:1363 +#: ../../library/sys.rst:1438 msgid "" "Set the system's profile function, which allows you to implement a Python " "source code profiler in Python. See chapter :ref:`profile` for more " @@ -2427,100 +2445,147 @@ msgid "" "Also, its return value is not used, so it can simply return ``None``. Error " "in the profile function will cause itself unset." msgstr "" +"Define a função de perfil do sistema, que permite implementar um perfilador " +"de código-fonte Python em Python. Veja o capítulo :ref:`profile` para mais " +"informações sobre o perfilador Python. A função de perfil do sistema é " +"chamada de forma semelhante à função de rastreamento do sistema " +"(veja :func:`settrace`), mas é chamada com eventos diferentes, por exemplo, " +"não é chamada para cada linha de código executada (apenas na chamada e " +"retorno, mas o evento de retorno é relatado mesmo quando uma exceção foi " +"definida). A função é específica do thread, mas não há como o perfilador " +"saber sobre trocas de contexto entre threads, então não faz sentido usá-la " +"na presença de vários threads. Além disso, seu valor de retorno não é usado, " +"então ele pode simplesmente retornar ``None``. Um erro na função de perfil " +"fará com que sua própria definição seja removida." + +#: ../../library/sys.rst:1450 +msgid "" +"The same tracing mechanism is used for :func:`!setprofile` " +"as :func:`settrace`. To trace calls with :func:`!setprofile` inside a " +"tracing function (e.g. in a debugger breakpoint), see :func:`call_tracing`." +msgstr "" +"O mesmo mecanismo de rastreamento é usado para :func:`!setprofile` " +"como :func:`settrace`. Para rastrear chamadas com :func:`!setprofile` dentro " +"de uma função de rastreamento (por exemplo, em um ponto de interrupção do " +"depurador), consulte :func:`call_tracing`." -#: ../../library/sys.rst:1374 +#: ../../library/sys.rst:1454 msgid "" "Profile functions should have three arguments: *frame*, *event*, and *arg*. " "*frame* is the current stack frame. *event* is a string: ``'call'``, " "``'return'``, ``'c_call'``, ``'c_return'``, or ``'c_exception'``. *arg* " "depends on the event type." msgstr "" +"As funções de perfil devem ter três argumentos: *frame*, *event* e *arg*. " +"*frame* é o quadro de pilha atual. *event* é uma string: ``'call'``, " +"``'return'``, ``'c_call'``, ``'c_return'`` ou ``'c_exception'``. *arg* " +"depende do tipo de evento." -#: ../../library/sys.rst:1379 -msgid "" -"Raises an :ref:`auditing event ` ``sys.setprofile`` with no " -"arguments." -msgstr "" - -#: ../../library/sys.rst:1381 ../../library/sys.rst:1462 +#: ../../library/sys.rst:1459 ../../library/sys.rst:1546 msgid "The events have the following meaning:" -msgstr "" +msgstr "Os eventos têm o seguinte significado:" -#: ../../library/sys.rst:1385 ../../library/sys.rst:1467 +#: ../../library/sys.rst:1463 ../../library/sys.rst:1551 msgid "``'call'``" msgstr "``'call'``" -#: ../../library/sys.rst:1384 +#: ../../library/sys.rst:1462 msgid "" "A function is called (or some other code block entered). The profile " "function is called; *arg* is ``None``." msgstr "" +"Uma função é chamada (ou algum outro bloco de código é inserido). A função " +"de perfil é chamada; *arg* é ``None``." -#: ../../library/sys.rst:1390 ../../library/sys.rst:1482 +#: ../../library/sys.rst:1468 ../../library/sys.rst:1567 msgid "``'return'``" msgstr "``'return'``" -#: ../../library/sys.rst:1388 +#: ../../library/sys.rst:1466 msgid "" "A function (or other code block) is about to return. The profile function " "is called; *arg* is the value that will be returned, or ``None`` if the " "event is caused by an exception being raised." msgstr "" +"Uma função (ou outro bloco de código) está prestes a retornar. A função de " +"perfilação é chamada; *arg* é o valor que será retornado, ou ``None`` se o " +"evento for causado por uma exceção sendo levantada." -#: ../../library/sys.rst:1394 +#: ../../library/sys.rst:1472 msgid "``'c_call'``" msgstr "``'c_call'``" -#: ../../library/sys.rst:1393 +#: ../../library/sys.rst:1471 msgid "" "A C function is about to be called. This may be an extension function or a " "built-in. *arg* is the C function object." msgstr "" +"Uma função C está prestes a ser chamada. Pode ser uma função de extensão ou " +"uma embutida. *arg* é o objeto da função C." -#: ../../library/sys.rst:1397 +#: ../../library/sys.rst:1475 msgid "``'c_return'``" msgstr "``'c_return'``" -#: ../../library/sys.rst:1397 +#: ../../library/sys.rst:1475 msgid "A C function has returned. *arg* is the C function object." -msgstr "" +msgstr "Uma função C foi retornada. *arg* é o objeto da função C." -#: ../../library/sys.rst:1399 +#: ../../library/sys.rst:1478 msgid "``'c_exception'``" msgstr "``'c_exception'``" -#: ../../library/sys.rst:1400 +#: ../../library/sys.rst:1478 msgid "A C function has raised an exception. *arg* is the C function object." +msgstr "Uma função C levantou uma exceção. *arg* é o objeto da função C." + +#: ../../library/sys.rst:1480 +msgid "" +"Raises an :ref:`auditing event ` ``sys.setprofile`` with no " +"arguments." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``sys.setprofile`` sem " +"argumentos." -#: ../../library/sys.rst:1404 +#: ../../library/sys.rst:1485 msgid "" "Set the maximum depth of the Python interpreter stack to *limit*. This " "limit prevents infinite recursion from causing an overflow of the C stack " "and crashing Python." msgstr "" +"Define a profundidade máxima da pilha do interpretador Python para *limit*. " +"Esse limite impede que a recursão infinita cause um estouro da pilha C e " +"trave o Python." -#: ../../library/sys.rst:1408 +#: ../../library/sys.rst:1489 msgid "" "The highest possible limit is platform-dependent. A user may need to set " "the limit higher when they have a program that requires deep recursion and a " "platform that supports a higher limit. This should be done with care, " "because a too-high limit can lead to a crash." msgstr "" +"O limite mais alto possível depende da plataforma. Um usuário pode precisar " +"definir o limite mais alto quando tiver um programa que exija recursão " +"profunda e uma plataforma que dê suporte a um limite mais alto. Isso deve " +"ser feito com cuidado, porque um limite muito alto pode levar a uma falha." -#: ../../library/sys.rst:1413 +#: ../../library/sys.rst:1494 msgid "" -"If the new limit is too low at the current recursion depth, a :exc:" -"`RecursionError` exception is raised." +"If the new limit is too low at the current recursion depth, " +"a :exc:`RecursionError` exception is raised." msgstr "" +"Se o novo limite for muito baixo na profundidade de recursão atual, uma " +"exceção :exc:`RecursionError` será levantada." -#: ../../library/sys.rst:1416 +#: ../../library/sys.rst:1497 msgid "" "A :exc:`RecursionError` exception is now raised if the new limit is too low " "at the current recursion depth." msgstr "" +"Uma exceção :exc:`RecursionError` agora é levantada se o novo limite for " +"muito baixo na profundidade de recursão atual." -#: ../../library/sys.rst:1423 +#: ../../library/sys.rst:1504 msgid "" "Set the interpreter's thread switch interval (in seconds). This floating-" "point value determines the ideal duration of the \"timeslices\" allocated to " @@ -2530,177 +2595,272 @@ msgid "" "the operating system's decision. The interpreter doesn't have its own " "scheduler." msgstr "" +"Define o intervalo de troca de thread do interpretador (em segundos). Este " +"valor de ponto flutuante determina a duração ideal das \"fatias de tempo\" " +"alocadas para threads Python em execução simultânea. Observe que o valor " +"real pode ser maior, especialmente se funções ou métodos internos de " +"execução longa forem usados. Além disso, qual thread se torna agendada no " +"final do intervalo é uma decisão do sistema operacional. O interpretador não " +"tem seu próprio escalonador." -#: ../../library/sys.rst:1440 +#: ../../library/sys.rst:1521 msgid "" "Set the system's trace function, which allows you to implement a Python " "source code debugger in Python. The function is thread-specific; for a " "debugger to support multiple threads, it must register a trace function " -"using :func:`settrace` for each thread being debugged or use :func:" -"`threading.settrace`." +"using :func:`settrace` for each thread being debugged or " +"use :func:`threading.settrace`." msgstr "" +"Define a função trace do sistema, que permite que você implemente um " +"depurador de código-fonte Python em Python. A função é específica de thread; " +"para um depurador suportar múltiplas threads, ele deve registrar uma função " +"trace usando :func:`settrace` para cada thread que está sendo depurada ou " +"usar :func:`threading.settrace`." -#: ../../library/sys.rst:1445 +#: ../../library/sys.rst:1526 msgid "" "Trace functions should have three arguments: *frame*, *event*, and *arg*. " "*frame* is the current stack frame. *event* is a string: ``'call'``, " "``'line'``, ``'return'``, ``'exception'`` or ``'opcode'``. *arg* depends on " "the event type." msgstr "" +"As funções de rastreamento devem ter três argumentos: *frame*, *event* e " +"*arg*. *frame* é o quadro de pilha atual. *event* é uma string: ``'call'``, " +"``'line'``, ``'return'``, ``'exception'`` ou ``'opcode'``. *arg* depende do " +"tipo de evento." -#: ../../library/sys.rst:1450 +#: ../../library/sys.rst:1531 msgid "" "The trace function is invoked (with *event* set to ``'call'``) whenever a " "new local scope is entered; it should return a reference to a local trace " "function to be used for the new scope, or ``None`` if the scope shouldn't be " "traced." msgstr "" +"A função de rastreamento é invocada (com *event* definido como ``'call'``) " +"sempre que um novo escopo local é inserido; ela deve retornar uma referência " +"a uma função de rastreamento local a ser usada para o novo escopo, ou " +"``None`` se o escopo não deve ser rastreado." -#: ../../library/sys.rst:1455 +#: ../../library/sys.rst:1536 msgid "" -"The local trace function should return a reference to itself (or to another " -"function for further tracing in that scope), or ``None`` to turn off tracing " -"in that scope." +"The local trace function should return a reference to itself, or to another " +"function which would then be used as the local trace function for the scope." msgstr "" +"A função de rastreamento local deve retornar uma referência a si mesma ou a " +"outra função que seria então usada como a função de rastreamento local para " +"o escopo." -#: ../../library/sys.rst:1459 +#: ../../library/sys.rst:1539 msgid "" "If there is any error occurred in the trace function, it will be unset, just " "like ``settrace(None)`` is called." msgstr "" +"Se ocorrer algum erro na função de rastreamento, ela será desativada, assim " +"como ``settrace(None)`` é chamado." + +#: ../../library/sys.rst:1543 +msgid "" +"Tracing is disabled while calling the trace function (e.g. a function set " +"by :func:`!settrace`). For recursive tracing see :func:`call_tracing`." +msgstr "" +"O rastreamento é desabilitado ao chamar a função de rastreamento (por " +"exemplo, uma função definida por :func:`!settrace`). Para rastreamento " +"recursivo, veja :func:`call_tracing`." -#: ../../library/sys.rst:1465 +#: ../../library/sys.rst:1549 msgid "" "A function is called (or some other code block entered). The global trace " "function is called; *arg* is ``None``; the return value specifies the local " "trace function." msgstr "" +"Uma função é chamada (ou algum outro bloco de código é inserido). A função " +"de rastreamento global é chamada; *arg* é ``None``; o valor de retorno " +"especifica a função de rastreamento local." -#: ../../library/sys.rst:1476 +#: ../../library/sys.rst:1561 msgid "``'line'``" msgstr "``'line'``" -#: ../../library/sys.rst:1470 +#: ../../library/sys.rst:1554 msgid "" "The interpreter is about to execute a new line of code or re-execute the " "condition of a loop. The local trace function is called; *arg* is ``None``; " "the return value specifies the new local trace function. See :file:`Objects/" "lnotab_notes.txt` for a detailed explanation of how this works. Per-line " -"events may be disabled for a frame by setting :attr:`f_trace_lines` to :" -"const:`False` on that frame." +"events may be disabled for a frame by setting :attr:`~frame.f_trace_lines` " +"to :const:`False` on that :ref:`frame `." msgstr "" +"O interpretador está prestes a executar uma nova linha de código ou " +"reexecutar a condição de um laço. A função de rastreamento local é chamada; " +"*arg* é ``None``; o valor de retorno especifica a nova função de " +"rastreamento local. Veja :file:`Objects/lnotab_notes.txt` para uma " +"explicação detalhada de como isso funciona. Eventos por linha podem ser " +"desabilitados para um quadro definindo :attr:`~frame.f_trace_lines` " +"como :const:`False` naquele :ref:`quadro `." -#: ../../library/sys.rst:1479 +#: ../../library/sys.rst:1564 msgid "" "A function (or other code block) is about to return. The local trace " "function is called; *arg* is the value that will be returned, or ``None`` if " "the event is caused by an exception being raised. The trace function's " "return value is ignored." msgstr "" +"Uma função (ou outro bloco de código) está prestes a retornar. A função de " +"rastreamento local é chamada; *arg* é o valor que será retornado, ou " +"``None`` se o evento for causado por uma exceção sendo levantada. O valor de " +"retorno da função de rastreamento é ignorado." -#: ../../library/sys.rst:1487 +#: ../../library/sys.rst:1572 msgid "``'exception'``" msgstr "``'exception'``" -#: ../../library/sys.rst:1485 +#: ../../library/sys.rst:1570 msgid "" "An exception has occurred. The local trace function is called; *arg* is a " "tuple ``(exception, value, traceback)``; the return value specifies the new " "local trace function." msgstr "" +"Ocorreu uma exceção. A função de rastreamento local é chamada; *arg* é uma " +"tupla ``(exception, value, traceback)``; o valor de retorno especifica a " +"nova função de rastreamento local." -#: ../../library/sys.rst:1495 +#: ../../library/sys.rst:1580 msgid "``'opcode'``" msgstr "``'opcode'``" -#: ../../library/sys.rst:1490 +#: ../../library/sys.rst:1575 msgid "" "The interpreter is about to execute a new opcode (see :mod:`dis` for opcode " "details). The local trace function is called; *arg* is ``None``; the return " "value specifies the new local trace function. Per-opcode events are not " -"emitted by default: they must be explicitly requested by setting :attr:" -"`f_trace_opcodes` to :const:`True` on the frame." +"emitted by default: they must be explicitly requested by " +"setting :attr:`~frame.f_trace_opcodes` to :const:`True` on the :ref:`frame " +"`." msgstr "" +"O interpretador está prestes a executar um novo opcode (veja :mod:`dis` para " +"detalhes do opcode). A função de rastreamento local é chamada; *arg* é " +"``None``; o valor de retorno especifica a nova função de rastreamento local. " +"Eventos por opcode não são emitidos por padrão: eles devem ser " +"explicitamente solicitados definindo :attr:`~frame.f_trace_opcodes` " +"como :const:`True` no :ref:`quadro `." -#: ../../library/sys.rst:1497 +#: ../../library/sys.rst:1582 msgid "" "Note that as an exception is propagated down the chain of callers, an " "``'exception'`` event is generated at each level." msgstr "" +"Observe que, à medida que uma exceção é propagada pela cadeia de chamadores, " +"um evento ``'exception'`` é gerado em cada nível." -#: ../../library/sys.rst:1500 +#: ../../library/sys.rst:1585 msgid "" "For more fine-grained usage, it's possible to set a trace function by " "assigning ``frame.f_trace = tracefunc`` explicitly, rather than relying on " "it being set indirectly via the return value from an already installed trace " "function. This is also required for activating the trace function on the " "current frame, which :func:`settrace` doesn't do. Note that in order for " -"this to work, a global tracing function must have been installed with :func:" -"`settrace` in order to enable the runtime tracing machinery, but it doesn't " -"need to be the same tracing function (e.g. it could be a low overhead " -"tracing function that simply returns ``None`` to disable itself immediately " -"on each frame)." -msgstr "" - -#: ../../library/sys.rst:1511 +"this to work, a global tracing function must have been installed " +"with :func:`settrace` in order to enable the runtime tracing machinery, but " +"it doesn't need to be the same tracing function (e.g. it could be a low " +"overhead tracing function that simply returns ``None`` to disable itself " +"immediately on each frame)." +msgstr "" +"Para um uso mais refinado, é possível definir uma função de rastreamento " +"atribuindo ``frame.f_trace = tracefunc`` explicitamente, em vez de depender " +"de ser definida indiretamente por meio do valor de retorno de uma função de " +"rastreamento já instalada. Isso também é necessário para ativar a função de " +"rastreamento no quadro atual, o que :func:`settrace` não faz. Observe que, " +"para que isso funcione, uma função de rastreamento global deve ter sido " +"instalada com :func:`settrace` para habilitar o maquinário de rastreamento " +"em tempo de execução, mas não precisa ser a mesma função de rastreamento " +"(por exemplo, pode ser uma função de rastreamento de baixa sobrecarga que " +"simplesmente retorna ``None`` para se desabilitar imediatamente em cada " +"quadro)." + +#: ../../library/sys.rst:1596 msgid "For more information on code and frame objects, refer to :ref:`types`." msgstr "" +"Para mais informações sobre objetos de código e quadro, " +"consulte :ref:`types`." -#: ../../library/sys.rst:1513 +#: ../../library/sys.rst:1598 msgid "" "Raises an :ref:`auditing event ` ``sys.settrace`` with no " "arguments." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``sys.settrace`` sem " +"argumentos." -#: ../../library/sys.rst:1517 +#: ../../library/sys.rst:1602 msgid "" "The :func:`settrace` function is intended only for implementing debuggers, " "profilers, coverage tools and the like. Its behavior is part of the " "implementation platform, rather than part of the language definition, and " "thus may not be available in all Python implementations." msgstr "" +"A função :func:`settrace` destina-se apenas à implementação de depuradores, " +"perfiladores, ferramentas de cobertura e similares. Seu comportamento faz " +"parte da plataforma de implementação, e não da definição da linguagem e, " +"portanto, pode não estar disponível em todas as implementações do Python." -#: ../../library/sys.rst:1524 +#: ../../library/sys.rst:1609 msgid "" -"``'opcode'`` event type added; :attr:`f_trace_lines` and :attr:" -"`f_trace_opcodes` attributes added to frames" +"``'opcode'`` event type added; :attr:`~frame.f_trace_lines` " +"and :attr:`~frame.f_trace_opcodes` attributes added to frames" msgstr "" +"Tipo de evento ``'opcode'`` adicionado; " +"atributos :attr:`~frame.f_trace_lines` e :attr:`~frame.f_trace_opcodes` " +"adicionados a quadros" -#: ../../library/sys.rst:1529 +#: ../../library/sys.rst:1614 msgid "" -"Accepts two optional keyword arguments which are callables that accept an :" -"term:`asynchronous generator iterator` as an argument. The *firstiter* " +"Accepts two optional keyword arguments which are callables that accept " +"an :term:`asynchronous generator iterator` as an argument. The *firstiter* " "callable will be called when an asynchronous generator is iterated for the " "first time. The *finalizer* will be called when an asynchronous generator is " "about to be garbage collected." msgstr "" +"Aceita dois argumentos nomeados opcionais que são chamáveis que aceitam " +"um :term:`iterador gerador assíncrono` como argumento. O chamável " +"*firstiter* será chamado quando um gerador assíncrono for iterado pela " +"primeira vez. O *finalizer* será chamado quando um gerador assíncrono " +"estiver prestes a ser coletado como lixo." -#: ../../library/sys.rst:1535 +#: ../../library/sys.rst:1620 msgid "" -"Raises an :ref:`auditing event ` ``sys." -"set_asyncgen_hooks_firstiter`` with no arguments." +"Raises an :ref:`auditing event ` " +"``sys.set_asyncgen_hooks_firstiter`` with no arguments." msgstr "" +"Levanta um :ref:`evento de auditoria ` " +"``sys.set_asyncgen_hooks_firstiter`` sem argumentos." -#: ../../library/sys.rst:1537 +#: ../../library/sys.rst:1622 msgid "" -"Raises an :ref:`auditing event ` ``sys." -"set_asyncgen_hooks_finalizer`` with no arguments." +"Raises an :ref:`auditing event ` " +"``sys.set_asyncgen_hooks_finalizer`` with no arguments." msgstr "" +"Levanta um :ref:`evento de auditoria ` " +"``sys.set_asyncgen_hooks_finalizer`` sem argumentos." -#: ../../library/sys.rst:1539 +#: ../../library/sys.rst:1624 msgid "" "Two auditing events are raised because the underlying API consists of two " "calls, each of which must raise its own event." msgstr "" +"Dois eventos de auditoria são gerados porque a API subjacente consiste em " +"duas chamadas, cada uma das quais deve levantar seu próprio evento." -#: ../../library/sys.rst:1542 +#: ../../library/sys.rst:1627 msgid "" "See :pep:`525` for more details, and for a reference example of a " -"*finalizer* method see the implementation of ``asyncio.Loop." -"shutdown_asyncgens`` in :source:`Lib/asyncio/base_events.py`" +"*finalizer* method see the implementation of " +"``asyncio.Loop.shutdown_asyncgens`` in :source:`Lib/asyncio/base_events.py`" msgstr "" +"Veja a :pep:`525` para mais detalhes, e para um exemplo de referência de um " +"método *finalizer* veja a implementação de " +"``asyncio.Loop.shutdown_asyncgens`` em :source:`Lib/asyncio/base_events.py`" -#: ../../library/sys.rst:1554 +#: ../../library/sys.rst:1639 msgid "" "Allows enabling or disabling coroutine origin tracking. When enabled, the " "``cr_origin`` attribute on coroutine objects will contain a tuple of " @@ -2709,74 +2869,98 @@ msgid "" "disabled, ``cr_origin`` will be None." msgstr "" -#: ../../library/sys.rst:1561 +#: ../../library/sys.rst:1646 msgid "" "To enable, pass a *depth* value greater than zero; this sets the number of " "frames whose information will be captured. To disable, pass set *depth* to " "zero." msgstr "" +"Para habilitar, passe um valor *depth* maior que zero; isso define o número " +"de quadros cujas informações serão capturadas. Para desabilitar, defina " +"*depth* para zero." -#: ../../library/sys.rst:1565 +#: ../../library/sys.rst:1650 msgid "This setting is thread-specific." -msgstr "" +msgstr "Esta configuração é específica do thread." -#: ../../library/sys.rst:1575 +#: ../../library/sys.rst:1660 msgid "" "Changes the :term:`filesystem encoding and error handler` to 'mbcs' and " "'replace' respectively, for consistency with versions of Python prior to 3.6." msgstr "" +"Altera :term:`tratador de erros e codificação do sistema de arquivos` para " +"'replace' e 'mbcs' respectivamente, para consistência com versões do Python " +"anteriores à 3.6." -#: ../../library/sys.rst:1579 +#: ../../library/sys.rst:1664 msgid "" "This is equivalent to defining the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " "environment variable before launching Python." msgstr "" +"Isso é equivalente a definir a variável de " +"ambiente :envvar:`PYTHONLEGACYWINDOWSFSENCODING` antes de iniciar o Python." -#: ../../library/sys.rst:1582 +#: ../../library/sys.rst:1667 msgid "" -"See also :func:`sys.getfilesystemencoding` and :func:`sys." -"getfilesystemencodeerrors`." +"See also :func:`sys.getfilesystemencoding` " +"and :func:`sys.getfilesystemencodeerrors`." msgstr "" +"Veja também :func:`sys.getfilesystemencoding` " +"e :func:`sys.getfilesystemencodeerrors`." -#: ../../library/sys.rst:1587 +#: ../../library/sys.rst:1672 msgid "See :pep:`529` for more details." msgstr "Veja :pep:`529` para mais detalhes." -#: ../../library/sys.rst:1594 +#: ../../library/sys.rst:1679 msgid "" ":term:`File objects ` used by the interpreter for standard " "input, output and errors:" msgstr "" +":term:`Objetos arquivo ` usados pelo interpretador para entrada " +"padrão, saída e erros:" -#: ../../library/sys.rst:1597 +#: ../../library/sys.rst:1682 msgid "" -"``stdin`` is used for all interactive input (including calls to :func:" -"`input`);" +"``stdin`` is used for all interactive input (including calls " +"to :func:`input`);" msgstr "" +"``stdin`` é usado para todas as entradas interativas (incluindo chamadas " +"para :func:`input`);" -#: ../../library/sys.rst:1599 +#: ../../library/sys.rst:1684 msgid "" "``stdout`` is used for the output of :func:`print` and :term:`expression` " "statements and for the prompts of :func:`input`;" msgstr "" +"``stdout`` é usado para a saída das instruções :func:`print` " +"e :term:`expressões ` e para os prompts de :func:`input`;" -#: ../../library/sys.rst:1601 +#: ../../library/sys.rst:1686 msgid "The interpreter's own prompts and its error messages go to ``stderr``." msgstr "" +"Os prompts do próprio interpretador e suas mensagens de erro vão para " +"``stderr``." -#: ../../library/sys.rst:1603 +#: ../../library/sys.rst:1688 msgid "" "These streams are regular :term:`text files ` like those returned " "by the :func:`open` function. Their parameters are chosen as follows:" msgstr "" +"Esses fluxos são :term:`arquivos texto ` regulares como aqueles " +"retornados pela função :func:`open`. Seus parâmetros são escolhidos da " +"seguinte forma:" -#: ../../library/sys.rst:1607 +#: ../../library/sys.rst:1692 msgid "" -"The encoding and error handling are is initialized from :c:member:`PyConfig." -"stdio_encoding` and :c:member:`PyConfig.stdio_errors`." +"The encoding and error handling are is initialized " +"from :c:member:`PyConfig.stdio_encoding` " +"and :c:member:`PyConfig.stdio_errors`." msgstr "" +"A codificação e o tratamento de erros são inicializados a partir " +"de :c:member:`PyConfig.stdio_encoding` e :c:member:`PyConfig.stdio_errors`." -#: ../../library/sys.rst:1610 +#: ../../library/sys.rst:1695 msgid "" "On Windows, UTF-8 is used for the console device. Non-character devices " "such as disk files and pipes use the system locale encoding (i.e. the ANSI " @@ -2786,163 +2970,214 @@ msgid "" "defaults to the system :term:`locale encoding` if the process is not " "initially attached to a console." msgstr "" +"No Windows, o UTF-8 é usado para o dispositivo de console. Dispositivos não-" +"caracteres, como arquivos de disco e pipes, usam a codificação da localidade " +"do sistema (ou seja, a página de código ANSI). Dispositivos de caracteres " +"não-console, como NUL (ou seja, onde ``isatty()`` retorna ``True``) usam o " +"valor das páginas de código de entrada e saída do console na inicialização, " +"respectivamente para stdin e stdout/stderr. Isso assume como padrão " +"a :term:`codificação da localidade` do sistema se o processo não for " +"inicialmente anexado a um console." -#: ../../library/sys.rst:1619 +#: ../../library/sys.rst:1704 msgid "" "The special behaviour of the console can be overridden by setting the " "environment variable PYTHONLEGACYWINDOWSSTDIO before starting Python. In " "that case, the console codepages are used as for any other character device." msgstr "" +"O comportamento especial do console pode ser substituído definindo a " +"variável de ambiente PYTHONLEGACYWINDOWSSTDIO antes de iniciar o Python. " +"Nesse caso, as páginas de código do console são usadas como para qualquer " +"outro dispositivo de caractere." -#: ../../library/sys.rst:1624 +#: ../../library/sys.rst:1709 msgid "" -"Under all platforms, you can override the character encoding by setting the :" -"envvar:`PYTHONIOENCODING` environment variable before starting Python or by " -"using the new :option:`-X` ``utf8`` command line option and :envvar:" -"`PYTHONUTF8` environment variable. However, for the Windows console, this " -"only applies when :envvar:`PYTHONLEGACYWINDOWSSTDIO` is also set." +"Under all platforms, you can override the character encoding by setting " +"the :envvar:`PYTHONIOENCODING` environment variable before starting Python " +"or by using the new :option:`-X` ``utf8`` command line option " +"and :envvar:`PYTHONUTF8` environment variable. However, for the Windows " +"console, this only applies when :envvar:`PYTHONLEGACYWINDOWSSTDIO` is also " +"set." msgstr "" +"Em todas as plataformas, você pode substituir a codificação de caracteres " +"definindo a variável de ambiente :envvar:`PYTHONIOENCODING` antes de iniciar " +"o Python ou usando a nova opção de linha de comando :option:`-X` ``utf8`` e " +"a variável de ambiente :envvar:`PYTHONUTF8`. No entanto, para o console do " +"Windows, isso só se aplica quando :envvar:`PYTHONLEGACYWINDOWSSTDIO` também " +"está definido." -#: ../../library/sys.rst:1631 +#: ../../library/sys.rst:1716 msgid "" "When interactive, the ``stdout`` stream is line-buffered. Otherwise, it is " "block-buffered like regular text files. The ``stderr`` stream is line-" "buffered in both cases. You can make both streams unbuffered by passing " -"the :option:`-u` command-line option or setting the :envvar:" -"`PYTHONUNBUFFERED` environment variable." +"the :option:`-u` command-line option or setting " +"the :envvar:`PYTHONUNBUFFERED` environment variable." msgstr "" +"Quando interativo, o fluxo ``stdout`` é armazenado em buffer de linha. Caso " +"contrário, ele é armazenado em buffer de bloco como arquivos texto comuns. O " +"fluxo ``stderr`` é armazenado em buffer de linha em ambos os casos. Você " +"pode tornar ambos os fluxos sem buffer passando a opção de linha de " +"comando :option:`-u` ou definindo a variável de " +"ambiente :envvar:`PYTHONUNBUFFERED`." -#: ../../library/sys.rst:1637 +#: ../../library/sys.rst:1722 msgid "" "Non-interactive ``stderr`` is now line-buffered instead of fully buffered." msgstr "" +"``stderr`` não interativo agora é armazenado em buffer de linha em vez de " +"totalmente armazenado em buffer." -#: ../../library/sys.rst:1643 +#: ../../library/sys.rst:1728 msgid "" "To write or read binary data from/to the standard streams, use the " "underlying binary :data:`~io.TextIOBase.buffer` object. For example, to " "write bytes to :data:`stdout`, use ``sys.stdout.buffer.write(b'abc')``." msgstr "" +"Para escrever ou ler dados binários de/para os fluxos padrão, use o objeto " +"binário subjacente :data:`~io.TextIOBase.buffer`. Por exemplo, para escrever " +"bytes em :data:`stdout`, use ``sys.stdout.buffer.write(b'abc')``." -#: ../../library/sys.rst:1647 +#: ../../library/sys.rst:1732 msgid "" "However, if you are writing a library (and do not control in which context " "its code will be executed), be aware that the standard streams may be " "replaced with file-like objects like :class:`io.StringIO` which do not " -"support the :attr:`~io.BufferedIOBase.buffer` attribute." +"support the :attr:`!buffer` attribute." msgstr "" +"Entretanto, se você estiver escrevendo uma biblioteca (e não controlar em " +"qual contexto seu código será executado), esteja ciente de que os fluxos " +"padrão podem ser substituídos por objetos arquivo ou similares, " +"como :class:`io.StringIO`, que não oferecem suporte ao atributo :attr:`!" +"buffer`." -#: ../../library/sys.rst:1657 +#: ../../library/sys.rst:1742 msgid "" "These objects contain the original values of ``stdin``, ``stderr`` and " "``stdout`` at the start of the program. They are used during finalization, " "and could be useful to print to the actual standard stream no matter if the " "``sys.std*`` object has been redirected." msgstr "" +"Esses objetos contêm os valores originais de ``stdin``, ``stderr`` e " +"``stdout`` no início do programa. Eles são usados durante a finalização e " +"podem ser úteis para imprimir no fluxo padrão real, não importa se o objeto " +"``sys.std*`` foi redirecionado." -#: ../../library/sys.rst:1662 +#: ../../library/sys.rst:1747 msgid "" "It can also be used to restore the actual files to known working file " "objects in case they have been overwritten with a broken object. However, " "the preferred way to do this is to explicitly save the previous stream " "before replacing it, and restore the saved object." msgstr "" +"Ele também pode ser usado para restaurar os arquivos reais para objetos " +"arquivo de trabalho conhecidos, caso tenham sido substituídos por um objeto " +"quebrado. No entanto, a maneira preferida de fazer isso é salvar " +"explicitamente o fluxo anterior antes de substituí-lo e restaurar o objeto " +"salvo." -#: ../../library/sys.rst:1668 +#: ../../library/sys.rst:1753 msgid "" "Under some conditions ``stdin``, ``stdout`` and ``stderr`` as well as the " "original values ``__stdin__``, ``__stdout__`` and ``__stderr__`` can be " "``None``. It is usually the case for Windows GUI apps that aren't connected " "to a console and Python apps started with :program:`pythonw`." msgstr "" +"Sob algumas condições, ``stdin``, ``stdout`` e ``stderr``, bem como os " +"valores originais de ``__stdin__``, ``__stdout__`` e ``__stderr__`` podem " +"ser ``None``. Geralmente é o caso de aplicativos GUI do Windows que não " +"estão conectados a um console e aplicativos Python iniciados " +"com :program:`pythonw`." -#: ../../library/sys.rst:1676 +#: ../../library/sys.rst:1761 msgid "" "A frozenset of strings containing the names of standard library modules." msgstr "" +"Um frozenset de strings contendo os nomes dos módulos da biblioteca padrão." -#: ../../library/sys.rst:1678 +#: ../../library/sys.rst:1763 msgid "" "It is the same on all platforms. Modules which are not available on some " "platforms and modules disabled at Python build are also listed. All module " "kinds are listed: pure Python, built-in, frozen and extension modules. Test " "modules are excluded." msgstr "" +"É o mesmo em todas as plataformas. Módulos que não estão disponíveis em " +"algumas plataformas e módulos desabilitados na construção do Python também " +"são listados. Todos os tipos de módulos são listados: Python puro, módulos " +"embutidos, congelados e de extensão. Módulos de teste são excluídos." -#: ../../library/sys.rst:1683 +#: ../../library/sys.rst:1768 msgid "" "For packages, only the main package is listed: sub-packages and sub-modules " "are not listed. For example, the ``email`` package is listed, but the " "``email.mime`` sub-package and the ``email.message`` sub-module are not " "listed." msgstr "" +"Para pacotes, somente o pacote principal é listado: subpacotes e submódulos " +"não são listados. Por exemplo, o pacote ``email`` é listado, mas o subpacote " +"``email.mime`` e o submódulo ``email.message`` não são listados." -#: ../../library/sys.rst:1688 -msgid "See also the :attr:`sys.builtin_module_names` list." -msgstr "" +#: ../../library/sys.rst:1773 +msgid "See also the :data:`sys.builtin_module_names` list." +msgstr "Veja também a lista de :data:`sys.builtin_module_names`." -#: ../../library/sys.rst:1695 +#: ../../library/sys.rst:1780 msgid "" "A :term:`named tuple` holding information about the thread implementation." msgstr "" +"Uma :term:`tupla nomeada` contendo informações sobre a implementação de " +"threads." -#: ../../library/sys.rst:1703 -msgid ":const:`name`" -msgstr ":const:`name`" +#: ../../library/sys.rst:1785 +msgid "The name of the thread implementation:" +msgstr "O nome da implementação da thread:" -#: ../../library/sys.rst:1703 -msgid "Name of the thread implementation:" -msgstr "" - -#: ../../library/sys.rst:1705 -msgid "``'nt'``: Windows threads" -msgstr "" +#: ../../library/sys.rst:1787 +msgid "``\"nt\"``: Windows threads" +msgstr "``\"nt\"``: Threads do Windows" -#: ../../library/sys.rst:1706 -msgid "``'pthread'``: POSIX threads" -msgstr "``'pthread'``: threads POSIX" +#: ../../library/sys.rst:1788 +msgid "``\"pthread\"``: POSIX threads" +msgstr "``\"pthread\"``: Threads do POSIX" -#: ../../library/sys.rst:1707 +#: ../../library/sys.rst:1789 msgid "" -"``'pthread-stubs'``: stub POSIX threads (on WebAssembly platforms without " +"``\"pthread-stubs\"``: stub POSIX threads (on WebAssembly platforms without " "threading support)" msgstr "" +"``\"pthread-stubs\"``: stubs de threads POSIX (em plataformas WebAssembly " +"que não implementam threads)." -#: ../../library/sys.rst:1709 -msgid "``'solaris'``: Solaris threads" -msgstr "" +#: ../../library/sys.rst:1791 +msgid "``\"solaris\"``: Solaris threads" +msgstr "``\"solaris\"``: Threads do Solaris" -#: ../../library/sys.rst:1711 -msgid ":const:`lock`" -msgstr ":const:`lock`" +#: ../../library/sys.rst:1795 +msgid "The name of the lock implementation:" +msgstr "O nome da implementação de trava." -#: ../../library/sys.rst:1711 -msgid "Name of the lock implementation:" -msgstr "" - -#: ../../library/sys.rst:1713 -msgid "``'semaphore'``: a lock uses a semaphore" -msgstr "" +#: ../../library/sys.rst:1797 +msgid "``\"semaphore\"``: a lock uses a semaphore" +msgstr "``\"semaphore\"``: uma trava usa um semáforo" -#: ../../library/sys.rst:1714 -msgid "``'mutex+cond'``: a lock uses a mutex and a condition variable" -msgstr "" +#: ../../library/sys.rst:1798 +msgid "``\"mutex+cond\"``: a lock uses a mutex and a condition variable" +msgstr "``\"mutex+cond\"``: uma trava usa um mutex e uma variável de condição" -#: ../../library/sys.rst:1716 +#: ../../library/sys.rst:1799 msgid "``None`` if this information is unknown" -msgstr "" +msgstr "``None`` se essa informação for desconhecida" -#: ../../library/sys.rst:1718 -msgid ":const:`version`" -msgstr ":const:`version`" - -#: ../../library/sys.rst:1718 +#: ../../library/sys.rst:1803 msgid "" -"Name and version of the thread library. It is a string, or ``None`` if this " -"information is unknown." +"The name and version of the thread library. It is a string, or ``None`` if " +"this information is unknown." msgstr "" +"O nome e a versão da biblioteca de threads. É uma string, ou ``None`` se " +"essa informação for desconhecida." -#: ../../library/sys.rst:1727 +#: ../../library/sys.rst:1811 msgid "" "When this variable is set to an integer value, it determines the maximum " "number of levels of traceback information printed when an unhandled " @@ -2950,87 +3185,112 @@ msgid "" "traceback information is suppressed and only the exception type and value " "are printed." msgstr "" +"Quando essa variável é definida como um valor inteiro, ela determina o " +"número máximo de níveis de informações de traceback impressas quando ocorre " +"uma exceção não tratada. O padrão é ``1000``. Quando definida como ``0`` ou " +"menos, todas as informações de traceback são suprimidas e apenas o tipo e o " +"valor da exceção são impressos." -#: ../../library/sys.rst:1735 +#: ../../library/sys.rst:1819 msgid "Handle an unraisable exception." -msgstr "" +msgstr "Manipula uma exceção não levantada" -#: ../../library/sys.rst:1737 +#: ../../library/sys.rst:1821 msgid "" "Called when an exception has occurred but there is no way for Python to " "handle it. For example, when a destructor raises an exception or during " "garbage collection (:func:`gc.collect`)." msgstr "" +"Chamada quando uma exceção ocorreu, mas não há como o Python manipulá-la. " +"Por exemplo, quando um destrutor levanta uma exceção ou durante a coleta de " +"lixo (:func:`gc.collect`)." -#: ../../library/sys.rst:1741 +#: ../../library/sys.rst:1825 msgid "The *unraisable* argument has the following attributes:" -msgstr "" +msgstr "O argumento *unraisable* tem os seguintes atributos:" -#: ../../library/sys.rst:1743 -msgid "*exc_type*: Exception type." -msgstr "*exc_type*: Tipo de exceção.." +#: ../../library/sys.rst:1827 +msgid ":attr:`!exc_type`: Exception type." +msgstr ":attr:`!exc_type`: Tipo de exceção." -#: ../../library/sys.rst:1744 -msgid "*exc_value*: Exception value, can be ``None``." -msgstr "*exc_value*: Valor da exceção, pode ser ``None``." +#: ../../library/sys.rst:1828 +msgid ":attr:`!exc_value`: Exception value, can be ``None``." +msgstr ":attr:`!exc_value`: Valor da exceção, pode ser ``None``." -#: ../../library/sys.rst:1745 -msgid "*exc_traceback*: Exception traceback, can be ``None``." -msgstr "*exc_traceback*: Pilha de execução da exceção, pode ser ``None``." +#: ../../library/sys.rst:1829 +msgid ":attr:`!exc_traceback`: Exception traceback, can be ``None``." +msgstr ":attr:`!exc_traceback`: Traceback da exceção, pode ser ``None``." -#: ../../library/sys.rst:1746 -msgid "*err_msg*: Error message, can be ``None``." -msgstr "" +#: ../../library/sys.rst:1830 +msgid ":attr:`!err_msg`: Error message, can be ``None``." +msgstr ":attr:`!err_msg`: Mensagem de erro, pode ser ``None``." -#: ../../library/sys.rst:1747 -msgid "*object*: Object causing the exception, can be ``None``." -msgstr "" +#: ../../library/sys.rst:1831 +msgid ":attr:`!object`: Object causing the exception, can be ``None``." +msgstr ":attr:`!object`: O objeto que causa a exceção pode ser ``None``." -#: ../../library/sys.rst:1749 +#: ../../library/sys.rst:1833 msgid "" -"The default hook formats *err_msg* and *object* as: ``f'{err_msg}: {object!" -"r}'``; use \"Exception ignored in\" error message if *err_msg* is ``None``." +"The default hook formats :attr:`!err_msg` and :attr:`!object` as: " +"``f'{err_msg}: {object!r}'``; use \"Exception ignored in\" error message " +"if :attr:`!err_msg` is ``None``." msgstr "" +"Os formatos de gancho padrão :attr:`!err_msg` e :attr:`!object` como: " +"``f'{err_msg}: {object!r}'``; usa a mensagem de erro \"Exception ignored " +"in\" se :attr:`!err_msg` for ``None``." -#: ../../library/sys.rst:1753 +#: ../../library/sys.rst:1837 msgid "" ":func:`sys.unraisablehook` can be overridden to control how unraisable " "exceptions are handled." msgstr "" +":func:`sys.unraisablehook` pode ser substituída para controlar como exceções " +"não levantáveis são manipuladas." -#: ../../library/sys.rst:1756 -msgid "" -"Storing *exc_value* using a custom hook can create a reference cycle. It " -"should be cleared explicitly to break the reference cycle when the exception " -"is no longer needed." -msgstr "" +#: ../../library/sys.rst:1842 +msgid ":func:`excepthook` which handles uncaught exceptions." +msgstr ":func:`excepthook`, que manipula exceções não capturadas." -#: ../../library/sys.rst:1760 +#: ../../library/sys.rst:1846 msgid "" -"Storing *object* using a custom hook can resurrect it if it is set to an " -"object which is being finalized. Avoid storing *object* after the custom " -"hook completes to avoid resurrecting objects." +"Storing :attr:`!exc_value` using a custom hook can create a reference cycle. " +"It should be cleared explicitly to break the reference cycle when the " +"exception is no longer needed." msgstr "" +"Armazena :attr:`!exc_value` usando um gancho personalizado pode criar um " +"ciclo de referência. Ele deve ser limpo explicitamente para quebrar o ciclo " +"de referência quando a exceção não for mais necessária." -#: ../../library/sys.rst:1764 -msgid "See also :func:`excepthook` which handles uncaught exceptions." +#: ../../library/sys.rst:1850 +msgid "" +"Storing :attr:`!object` using a custom hook can resurrect it if it is set to " +"an object which is being finalized. Avoid storing :attr:`!object` after the " +"custom hook completes to avoid resurrecting objects." msgstr "" +"Armazenar :attr:`!object` usando um gancho personalizado pode ressuscitá-lo " +"se ele for definido como um objeto que está sendo finalizado. Evite " +"armazenar :attr:`!object` após o gancho personalizado ser concluído para " +"evitar ressuscitar objetos." -#: ../../library/sys.rst:1766 +#: ../../library/sys.rst:1854 msgid "" "Raises an :ref:`auditing event ` ``sys.unraisablehook`` with " "arguments ``hook``, ``unraisable``." msgstr "" -#: ../../library/sys.rst:1768 +#: ../../library/sys.rst:1856 msgid "" -"Raise an auditing event ``sys.unraisablehook`` with arguments ``hook``, " -"``unraisable`` when an exception that cannot be handled occurs. The " -"``unraisable`` object is the same as what will be passed to the hook. If no " -"hook has been set, ``hook`` may be ``None``." +"Raise an auditing event ``sys.unraisablehook`` with arguments *hook*, " +"*unraisable* when an exception that cannot be handled occurs. The " +"*unraisable* object is the same as what will be passed to the hook. If no " +"hook has been set, *hook* may be ``None``." msgstr "" +"Levanta um evento de auditoria ``sys.unraisablehook`` com argumentos *hook* " +"e *unraisable* quando ocorrer uma exceção que não puder ser manipulada. O " +"objeto *unraisable* é o mesmo que será passado para o gancho. Se nenhum " +"gancho tiver sido definido, *hook* pode ser ``None``." -#: ../../library/sys.rst:1777 +#: ../../library/sys.rst:1865 msgid "" "A string containing the version number of the Python interpreter plus " "additional information on the build number and compiler used. This string " @@ -3038,36 +3298,53 @@ msgid "" "version information out of it, rather, use :data:`version_info` and the " "functions provided by the :mod:`platform` module." msgstr "" +"Uma string contendo o número da versão do interpretador Python mais " +"informações adicionais sobre o número da construção e o compilador usado. " +"Esta string é exibida quando o interpretador interativo é iniciado. Não " +"extraia informações de versão dela, em vez disso, use :data:`version_info` e " +"as funções fornecidas pelo módulo :mod:`platform`." -#: ../../library/sys.rst:1786 +#: ../../library/sys.rst:1874 msgid "" "The C API version for this interpreter. Programmers may find this useful " "when debugging version conflicts between Python and extension modules." msgstr "" +"A versão da API C para este interpretador. Programadores podem achar isso " +"útil ao depurar conflitos de versão entre Python e módulos de extensão." -#: ../../library/sys.rst:1792 +#: ../../library/sys.rst:1880 msgid "" "A tuple containing the five components of the version number: *major*, " "*minor*, *micro*, *releaselevel*, and *serial*. All values except " "*releaselevel* are integers; the release level is ``'alpha'``, ``'beta'``, " "``'candidate'``, or ``'final'``. The ``version_info`` value corresponding " "to the Python version 2.0 is ``(2, 0, 0, 'final', 0)``. The components can " -"also be accessed by name, so ``sys.version_info[0]`` is equivalent to ``sys." -"version_info.major`` and so on." -msgstr "" - -#: ../../library/sys.rst:1800 +"also be accessed by name, so ``sys.version_info[0]`` is equivalent to " +"``sys.version_info.major`` and so on." +msgstr "" +"Uma tupla contendo os cinco componentes do número da versão: *major*, " +"*minor*, *micro*, *releaselevel* e *serial*. Todos os valores, exceto " +"*releaselevel*, são inteiros; o nível de versão é ``'alpha'``, ``'beta'``, " +"``'candidate'`` ou ``'final'``. O valor ``version_info`` correspondente à " +"versão 2.0 do Python é ``(2, 0, 0, 'final', 0)``. Os componentes também " +"podem ser acessados por nome, então ``sys.version_info[0]`` é equivalente a " +"``sys.version_info.major`` e assim por diante." + +#: ../../library/sys.rst:1888 msgid "Added named component attributes." -msgstr "" +msgstr "Adiciona componentes nomeados como atributos." -#: ../../library/sys.rst:1805 +#: ../../library/sys.rst:1893 msgid "" "This is an implementation detail of the warnings framework; do not modify " "this value. Refer to the :mod:`warnings` module for more information on the " "warnings framework." msgstr "" +"Este é um detalhe de implementação do framework de avisos; não modifique " +"este valor. Consulte o módulo :mod:`warnings` para obter mais informações " +"sobre o framework de avisos." -#: ../../library/sys.rst:1812 +#: ../../library/sys.rst:1900 msgid "" "The version number used to form registry keys on Windows platforms. This is " "stored as string resource 1000 in the Python DLL. The value is normally the " @@ -3075,88 +3352,104 @@ msgid "" "in the :mod:`sys` module for informational purposes; modifying this value " "has no effect on the registry keys used by Python." msgstr "" +"O número da versão usado para formar chaves de registro em plataformas " +"Windows. Isso é armazenado como recurso de string 1000 na DLL do Python. O " +"valor normalmente é a versão principal e secundária do interpretador Python " +"em execução. Ele é fornecido no módulo :mod:`sys` para fins informativos; " +"modificar esse valor não tem efeito nas chaves de registro usadas pelo " +"Python." -#: ../../library/sys.rst:1823 +#: ../../library/sys.rst:1911 msgid "" "A dictionary of the various implementation-specific flags passed through " "the :option:`-X` command-line option. Option names are either mapped to " "their values, if given explicitly, or to :const:`True`. Example:" msgstr "" +"Um dicionário dos vários sinalizadores específicos de implementação passados " +"pela opção de linha de comando :option:`-X`. Os nomes de opção são mapeados " +"para seus valores, se fornecidos explicitamente, ou para :const:`True`. " +"Exemplo:" -#: ../../library/sys.rst:1839 +#: ../../library/sys.rst:1927 msgid "" "This is a CPython-specific way of accessing options passed through :option:`-" "X`. Other implementations may export them through other means, or not at " "all." msgstr "" +"Esta é uma maneira específica do CPython de acessar opções passadas " +"por :option:`-X`. Outras implementações podem exportá-las por outros meios, " +"ou não exportá-las." -#: ../../library/sys.rst:1847 +#: ../../library/sys.rst:1935 msgid "Citations" -msgstr "" +msgstr "Citações" -#: ../../library/sys.rst:1848 +#: ../../library/sys.rst:1936 msgid "" "ISO/IEC 9899:1999. \"Programming languages -- C.\" A public draft of this " "standard is available at https://www.open-std.org/jtc1/sc22/wg14/www/docs/" "n1256.pdf\\ ." msgstr "" +"ISO/IEC 9899:1999. \"Programming languages -- C.\" Um rascunho público " +"desta norma está disponível em https://www.open-std.org/jtc1/sc22/wg14/www/" +"docs/n1256.pdf\\ ." #: ../../library/sys.rst:97 msgid "auditing" -msgstr "" +msgstr "auditoria" -#: ../../library/sys.rst:443 +#: ../../library/sys.rst:445 msgid "object" msgstr "objeto" -#: ../../library/sys.rst:443 +#: ../../library/sys.rst:445 msgid "traceback" msgstr "traceback" -#: ../../library/sys.rst:813 ../../library/sys.rst:1359 +#: ../../library/sys.rst:877 ../../library/sys.rst:1434 msgid "profile function" -msgstr "" +msgstr "função de perfilação" -#: ../../library/sys.rst:813 ../../library/sys.rst:1359 +#: ../../library/sys.rst:877 ../../library/sys.rst:1434 msgid "profiler" -msgstr "" +msgstr "perfilador" -#: ../../library/sys.rst:822 ../../library/sys.rst:1436 +#: ../../library/sys.rst:886 ../../library/sys.rst:1517 msgid "trace function" -msgstr "" +msgstr "função de rastreamento" -#: ../../library/sys.rst:822 ../../library/sys.rst:1436 +#: ../../library/sys.rst:886 ../../library/sys.rst:1517 msgid "debugger" -msgstr "" +msgstr "depurador" -#: ../../library/sys.rst:1178 +#: ../../library/sys.rst:1253 msgid "module" msgstr "módulo" -#: ../../library/sys.rst:1178 +#: ../../library/sys.rst:1253 msgid "search" msgstr "pesquisa" -#: ../../library/sys.rst:1178 +#: ../../library/sys.rst:1253 msgid "path" msgstr "caminho" -#: ../../library/sys.rst:1323 +#: ../../library/sys.rst:1398 msgid "interpreter prompts" -msgstr "" +msgstr "prompts do interpretador" -#: ../../library/sys.rst:1323 +#: ../../library/sys.rst:1398 msgid "prompts, interpreter" -msgstr "" +msgstr "interpretador, prompts" -#: ../../library/sys.rst:1323 +#: ../../library/sys.rst:1398 msgid ">>>" msgstr ">>>" -#: ../../library/sys.rst:1323 +#: ../../library/sys.rst:1398 msgid "interpreter prompt" -msgstr "" +msgstr "prompt do interpretador" -#: ../../library/sys.rst:1323 +#: ../../library/sys.rst:1398 msgid "..." msgstr "..." diff --git a/library/sys_path_init.po b/library/sys_path_init.po index 3066bb0be..fe883ded3 100644 --- a/library/sys_path_init.po +++ b/library/sys_path_init.po @@ -1,45 +1,51 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Julia Rizza , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Last-Translator: Julia Rizza , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/sys_path_init.rst:4 msgid "The initialization of the :data:`sys.path` module search path" -msgstr "" +msgstr "A inicialização do caminho de pesquisa de módulos :data:`sys.path`" #: ../../library/sys_path_init.rst:6 msgid "" "A module search path is initialized when Python starts. This module search " "path may be accessed at :data:`sys.path`." msgstr "" +"Um caminho de pesquisa de módulos é inicializado quando o Python é iniciado. " +"Este caminho de pesquisa de módulos pode ser acessado em :data:`sys.path`." #: ../../library/sys_path_init.rst:9 msgid "" "The first entry in the module search path is the directory that contains the " "input script, if there is one. Otherwise, the first entry is the current " -"directory, which is the case when executing the interactive shell, a :option:" -"`-c` command, or :option:`-m` module." +"directory, which is the case when executing the interactive shell, " +"a :option:`-c` command, or :option:`-m` module." msgstr "" +"A primeira entrada no caminho de pesquisa de módulos é o diretório que " +"contém o script de entrada, se houver. Caso contrário, a primeira entrada é " +"o diretório atual, que é o caso ao executar o console interativo, um comando " +"com :option:`-c` ou um módulo com :option:`-m`." #: ../../library/sys_path_init.rst:14 msgid "" @@ -47,6 +53,9 @@ msgid "" "directories to the search path. If this environment variable is found then " "the contents are added to the module search path." msgstr "" +"A variável de ambiente :envvar:`PYTHONPATH` é frequentemente usada para " +"adicionar diretórios ao caminho de pesquisa. Se esta variável de ambiente " +"for encontrada, o conteúdo será adicionado ao caminho de pesquisa de módulos." #: ../../library/sys_path_init.rst:20 msgid "" @@ -55,6 +64,10 @@ msgid "" "variables. The :mod:`site` module offers more nuanced techniques as " "mentioned below." msgstr "" +":envvar:`PYTHONPATH` afetará todas as versões/ambientes Python instalados. " +"Tenha cuidado ao definir isso em seu perfil do shell ou em variáveis de " +"ambiente globais. O módulo :mod:`site` oferece técnicas mais diferenciadas, " +"conforme mencionado abaixo." #: ../../library/sys_path_init.rst:24 msgid "" @@ -65,6 +78,12 @@ msgid "" "called ``prefix``. The directory with the extension modules is called " "``exec_prefix``." msgstr "" +"Os próximos itens adicionados são os diretórios contendo módulos padrão do " +"Python, bem como quaisquer :term:`módulos de extensão ` " +"dos quais esses módulos dependem. Módulos de extensão são arquivos ``.pyd`` " +"no Windows e arquivos ``.so`` em outras plataformas. O diretório com os " +"módulos Python independentes de plataforma é chamado ``prefix``. O diretório " +"com os módulos de extensão é chamado ``exec_prefix``." #: ../../library/sys_path_init.rst:30 msgid "" @@ -75,30 +94,53 @@ msgid "" "are followed so the real Python executable location is used as the search " "starting point. The Python executable location is called ``home``." msgstr "" +"A variável de ambiente :envvar:`PYTHONHOME` pode ser usada para definir os " +"locais ``prefix`` e ``exec_prefix``. Caso contrário, esses diretórios serão " +"encontrados usando o executável Python como ponto de partida e, em seguida, " +"procurando por vários arquivos e diretórios \"de referência\". Observe que " +"todos os links simbólicos são seguidos para que o local real do executável " +"do Python seja usado como ponto de partida da pesquisa. O local do " +"executável do Python é chamado ``home``." #: ../../library/sys_path_init.rst:37 msgid "" "Once ``home`` is determined, the ``prefix`` directory is found by first " -"looking for :file:`python{majorversion}{minorversion}.zip` (``python311." -"zip``). On Windows the zip archive is searched for in ``home`` and on Unix " -"the archive is expected to be in :file:`lib`. Note that the expected zip " -"archive location is added to the module search path even if the archive does " -"not exist. If no archive was found, Python on Windows will continue the " -"search for ``prefix`` by looking for :file:`Lib\\\\os.py`. Python on Unix " -"will look for :file:`lib/python{majorversion}.{minorversion}/os.py` (``lib/" -"python3.11/os.py``). On Windows ``prefix`` and ``exec_prefix`` are the same, " -"however on other platforms :file:`lib/python{majorversion}.{minorversion}/" -"lib-dynload` (``lib/python3.11/lib-dynload``) is searched for and used as an " -"anchor for ``exec_prefix``. On some platforms :file:`lib` may be :file:" -"`lib64` or another value, see :data:`sys.platlibdir` and :envvar:" -"`PYTHONPLATLIBDIR`." +"looking for :file:`python{majorversion}{minorversion}.zip` " +"(``python311.zip``). On Windows the zip archive is searched for in ``home`` " +"and on Unix the archive is expected to be in :file:`lib`. Note that the " +"expected zip archive location is added to the module search path even if the " +"archive does not exist. If no archive was found, Python on Windows will " +"continue the search for ``prefix`` by looking for :file:`Lib\\\\os.py`. " +"Python on Unix will look for :file:`lib/python{majorversion}.{minorversion}/" +"os.py` (``lib/python3.11/os.py``). On Windows ``prefix`` and ``exec_prefix`` " +"are the same, however on other platforms :file:`lib/python{majorversion}." +"{minorversion}/lib-dynload` (``lib/python3.11/lib-dynload``) is searched for " +"and used as an anchor for ``exec_prefix``. On some platforms :file:`lib` may " +"be :file:`lib64` or another value, see :data:`sys.platlibdir` " +"and :envvar:`PYTHONPLATLIBDIR`." msgstr "" +"Uma vez que ``home`` é determinado, o diretório ``prefix`` é encontrado " +"procurando primeiro por :file:`python{majorversion}{minorversion}.zip` " +"(``python311.zip``). No Windows, o arquivo zip é procurado em ``home`` e no " +"Unix espera-se que o arquivo esteja em :file:`lib`. Observe que o local " +"esperado do arquivo zip é adicionado ao caminho de pesquisa de módulos, " +"mesmo que o arquivo não exista. Se nenhum arquivo for encontrado, o Python " +"no Windows continuará a pesquisa por ``prefix`` procurando por :file:`Lib\\" +"\\os.py`. Python no Unix procurará por :file:`lib/python{majorversion}." +"{minorversion}/os.py` (``lib/python3.11/os.py``). No Windows, ``prefix`` e " +"``exec_prefix`` são iguais, porém em outras plataformas :file:`lib/" +"python{majorversion}.{minorversion}/lib-dynload` (``lib/python3.11/lib-" +"dynload``) é pesquisado e usado como âncora para ``exec_prefix``. Em algumas " +"plataformas, :file:`lib` pode ser :file:`lib64` ou outro valor, " +"veja :data:`sys.platlibdir` e :envvar:`PYTHONPLATLIBDIR`." #: ../../library/sys_path_init.rst:50 msgid "" -"Once found, ``prefix`` and ``exec_prefix`` are available at :data:`sys." -"prefix` and :data:`sys.exec_prefix` respectively." +"Once found, ``prefix`` and ``exec_prefix`` are available " +"at :data:`sys.prefix` and :data:`sys.exec_prefix` respectively." msgstr "" +"Uma vez encontrados, ``prefix`` e ``exec_prefix`` estão disponíveis " +"em :data:`sys.prefix` e :data:`sys.exec_prefix`, respectivamente." #: ../../library/sys_path_init.rst:53 msgid "" @@ -107,12 +149,21 @@ msgid "" "the search path is to create :mod:`sitecustomize` or :mod:`usercustomize` " "modules as described in the :mod:`site` module documentation." msgstr "" +"Finalmente, o módulo :mod:`site` é processado e os diretórios :file:`site-" +"packages` são adicionados ao caminho de pesquisa de módulos. Uma maneira " +"comum de personalizar o caminho de pesquisa é criar " +"módulos :mod:`sitecustomize` ou :mod:`usercustomize` conforme descrito na " +"documentação do módulo :mod:`site`." #: ../../library/sys_path_init.rst:60 msgid "" -"Certain command line options may further affect path calculations. See :" -"option:`-E`, :option:`-I`, :option:`-s` and :option:`-S` for further details." +"Certain command line options may further affect path calculations. " +"See :option:`-E`, :option:`-I`, :option:`-s` and :option:`-S` for further " +"details." msgstr "" +"Certas opções de linha de comando podem afetar ainda mais os cálculos de " +"caminho. Veja :option:`-E`, :option:`-I`, :option:`-s` e :option:`-S` para " +"mais detalhes." #: ../../library/sys_path_init.rst:64 msgid "Virtual environments" @@ -123,12 +174,18 @@ msgid "" "If Python is run in a virtual environment (as described at :ref:`tut-venv`) " "then ``prefix`` and ``exec_prefix`` are specific to the virtual environment." msgstr "" +"Se Python for executado em um ambiente virtual (conforme descrito " +"em :ref:`tut-venv`), então ``prefix`` e ``exec_prefix`` são específicos para " +"o ambiente virtual." #: ../../library/sys_path_init.rst:69 msgid "" "If a ``pyvenv.cfg`` file is found alongside the main executable, or in the " "directory one level above the executable, the following variations apply:" msgstr "" +"Se um arquivo ``pyvenv.cfg`` for encontrado juntamente com o principal " +"executável, ou no diretório um nível acima do executável, as seguintes " +"variações se aplicam:" #: ../../library/sys_path_init.rst:72 msgid "" @@ -136,10 +193,13 @@ msgid "" "path is used instead of the path to the main executable when deducing " "``prefix`` and ``exec_prefix``." msgstr "" +"Se ``home`` é um caminho absoluto e :envvar:`PYTHONHOME` não está definido, " +"o caminho é usado ao invés do caminho ao principal executável quando " +"deduzindo ``prefix`` e ``exec_prefix``." #: ../../library/sys_path_init.rst:77 msgid "_pth files" -msgstr "" +msgstr "Arquivos _pth" #: ../../library/sys_path_init.rst:79 msgid "" @@ -151,6 +211,15 @@ msgid "" "the shared library name overrides the one based on the executable, which " "allows paths to be restricted for any program loading the runtime if desired." msgstr "" +"Para substituir completamente :data:`sys.path`, crie um arquivo ``._pth`` " +"com o mesmo nome da biblioteca compartilhada ou executável (``python._pth`` " +"ou ``python311._pth``). O caminho da biblioteca compartilhada é sempre " +"conhecido no Windows, mas pode não estar disponível em outras plataformas. " +"No arquivo ``._pth``, especifique uma linha para cada caminho a ser " +"adicionado a :data:`sys.path`. O arquivo baseado no nome da biblioteca " +"compartilhada substitui aquele baseado no executável, o que permite que os " +"caminhos sejam restritos para qualquer programa que carregue o tempo de " +"execução, se desejado." #: ../../library/sys_path_init.rst:87 msgid "" @@ -165,8 +234,8 @@ msgstr "" "ignorados, o modo isolado é ativado, e :mod:`site` não é importado a menos " "que uma linha do arquivo especifique ``import site``. Caminhos em branco e " "linhas começando com ``#`` são ignorados. Cada caminho pode ser absoluto ou " -"relativo ao local do arquivo. Instruções de importação que não seja ao " -"``site`` não são permitidas, e código arbitrário não pode ser especificado." +"relativo ao local do arquivo. Instruções de importação diferente de ``site`` " +"não são permitidas, e código arbitrário não pode ser especificado." #: ../../library/sys_path_init.rst:94 msgid "" @@ -179,21 +248,28 @@ msgstr "" #: ../../library/sys_path_init.rst:98 msgid "Embedded Python" -msgstr "" +msgstr "Python embarcado" #: ../../library/sys_path_init.rst:100 msgid "" -"If Python is embedded within another application :c:func:" -"`Py_InitializeFromConfig` and the :c:type:`PyConfig` structure can be used " -"to initialize Python. The path specific details are described at :ref:`init-" -"path-config`. Alternatively the older :c:func:`Py_SetPath` can be used to " -"bypass the initialization of the module search path." +"If Python is embedded within another " +"application :c:func:`Py_InitializeFromConfig` and the :c:type:`PyConfig` " +"structure can be used to initialize Python. The path specific details are " +"described at :ref:`init-path-config`. Alternatively the " +"older :c:func:`Py_SetPath` can be used to bypass the initialization of the " +"module search path." msgstr "" +"Se o Python estiver incorporado em outra " +"aplicação, :c:func:`Py_InitializeFromConfig` e a " +"estrutura :c:type:`PyConfig` podem ser usados para inicializar o Python. Os " +"detalhes específicos do caminho estão descritos em :ref:`init-path-config`. " +"Alternativamente, o :c:func:`Py_SetPath` mais antigo pode ser usado para " +"ignorar a inicialização do caminho de pesquisa de módulos." #: ../../library/sys_path_init.rst:107 msgid ":ref:`windows_finding_modules` for detailed Windows notes." -msgstr "" +msgstr ":ref:`windows_finding_modules` para observações detalhadas do Windows." #: ../../library/sys_path_init.rst:108 msgid ":ref:`using-on-unix` for Unix details." -msgstr "" +msgstr ":ref:`using-on-unix` para detalhes do Unix." diff --git a/library/sysconfig.po b/library/sysconfig.po index 07c43dccf..516f1b08d 100644 --- a/library/sysconfig.po +++ b/library/sysconfig.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -30,6 +27,7 @@ msgstr "" msgid "" ":mod:`sysconfig` --- Provide access to Python's configuration information" msgstr "" +":mod:`sysconfig` --- Fornece acesso às informações de configuração do Python" #: ../../library/sysconfig.rst:12 msgid "**Source code:** :source:`Lib/sysconfig.py`" @@ -41,225 +39,572 @@ msgid "" "information like the list of installation paths and the configuration " "variables relevant for the current platform." msgstr "" +"O módulo :mod:`sysconfig` fornece acesso às informações de configuração do " +"Python, como a lista de caminhos de instalação e as variáveis de " +"configuração relevantes para a plataforma atual." -#: ../../library/sysconfig.rst:24 +#: ../../library/sysconfig.rst:25 msgid "Configuration variables" -msgstr "" +msgstr "Variáveis de configuração" -#: ../../library/sysconfig.rst:26 +#: ../../library/sysconfig.rst:27 msgid "" "A Python distribution contains a :file:`Makefile` and a :file:`pyconfig.h` " "header file that are necessary to build both the Python binary itself and " "third-party C extensions compiled using :mod:`distutils`." msgstr "" -#: ../../library/sysconfig.rst:30 +#: ../../library/sysconfig.rst:31 msgid "" ":mod:`sysconfig` puts all variables found in these files in a dictionary " "that can be accessed using :func:`get_config_vars` or :func:`get_config_var`." msgstr "" +":mod:`sysconfig` coloca todas as variáveis encontradas nestes arquivos em um " +"dicionário que pode ser acessado usando :func:`get_config_vars` " +"ou :func:`get_config_var`." -#: ../../library/sysconfig.rst:33 +#: ../../library/sysconfig.rst:34 msgid "Notice that on Windows, it's a much smaller set." -msgstr "" +msgstr "Note que no Windows, é um conjunto muito menor." -#: ../../library/sysconfig.rst:37 +#: ../../library/sysconfig.rst:38 msgid "" "With no arguments, return a dictionary of all configuration variables " "relevant for the current platform." msgstr "" +"Sem argumentos, retorna um dicionário de todas as variáveis de configuração " +"relevantes para a plataforma atual." -#: ../../library/sysconfig.rst:40 +#: ../../library/sysconfig.rst:41 msgid "" "With arguments, return a list of values that result from looking up each " "argument in the configuration variable dictionary." msgstr "" +"Com argumentos, retorna uma lista de valores resultantes da pesquisa de cada " +"argumento no dicionário de variáveis de configuração." -#: ../../library/sysconfig.rst:43 +#: ../../library/sysconfig.rst:44 msgid "For each argument, if the value is not found, return ``None``." msgstr "Para cada argumento, se o valor não for encontrado, retorna ``None``." -#: ../../library/sysconfig.rst:48 +#: ../../library/sysconfig.rst:49 msgid "" "Return the value of a single variable *name*. Equivalent to " "``get_config_vars().get(name)``." msgstr "" +"Retorna o valor de uma única variável *name*. Equivalente a " +"``get_config_vars().get(name)``." -#: ../../library/sysconfig.rst:51 +#: ../../library/sysconfig.rst:52 msgid "If *name* is not found, return ``None``." -msgstr "" +msgstr "Se *name* não for encontrado, retorna ``None``." -#: ../../library/sysconfig.rst:53 +#: ../../library/sysconfig.rst:54 msgid "Example of usage::" -msgstr "" +msgstr "Exemplo de uso::" -#: ../../library/sysconfig.rst:66 +#: ../../library/sysconfig.rst:68 msgid "Installation paths" -msgstr "" +msgstr "Caminhos de instalação" -#: ../../library/sysconfig.rst:68 +#: ../../library/sysconfig.rst:70 msgid "" "Python uses an installation scheme that differs depending on the platform " -"and on the installation options. These schemes are stored in :mod:" -"`sysconfig` under unique identifiers based on the value returned by :const:" -"`os.name`." -msgstr "" - -#: ../../library/sysconfig.rst:72 -msgid "" -"Every new component that is installed using :mod:`distutils` or a Distutils-" -"based system will follow the same scheme to copy its file in the right " -"places." -msgstr "" - -#: ../../library/sysconfig.rst:76 +"and on the installation options. These schemes are stored " +"in :mod:`sysconfig` under unique identifiers based on the value returned " +"by :const:`os.name`. The schemes are used by package installers to determine " +"where to copy files to." +msgstr "" +"O Python usa um esquema de instalação que difere dependendo da plataforma e " +"das opções de instalação. Esses esquemas são armazenados em :mod:`sysconfig` " +"sob identificadores únicos baseados no valor retornado por :const:`os.name`. " +"Os esquemas são usados por instaladores de pacote para determinar para onde " +"copiar arquivos." + +#: ../../library/sysconfig.rst:75 msgid "Python currently supports nine schemes:" -msgstr "" +msgstr "Python atualmente oferece suporte a nove esquemas:" -#: ../../library/sysconfig.rst:78 +#: ../../library/sysconfig.rst:77 msgid "" "*posix_prefix*: scheme for POSIX platforms like Linux or macOS. This is the " "default scheme used when Python or a component is installed." msgstr "" +"*posix_prefix*: esquema para plataformas POSIX como Linux ou macOS. Este é o " +"esquema padrão usado quando o Python ou um componente é instalado." -#: ../../library/sysconfig.rst:80 +#: ../../library/sysconfig.rst:79 msgid "" -"*posix_home*: scheme for POSIX platforms used when a *home* option is used " -"upon installation. This scheme is used when a component is installed " -"through Distutils with a specific home prefix." +"*posix_home*: scheme for POSIX platforms, when the *home* option is used. " +"This scheme defines paths located under a specific home prefix." msgstr "" +"*posix_home*: esquema para plataformas POSIX, quando a opção *home* é usada. " +"Esse esquema define caminhos localizados sob um prefixo inicial específico." -#: ../../library/sysconfig.rst:83 +#: ../../library/sysconfig.rst:81 msgid "" -"*posix_user*: scheme for POSIX platforms used when a component is installed " -"through Distutils and the *user* option is used. This scheme defines paths " -"located under the user home directory." +"*posix_user*: scheme for POSIX platforms, when the *user* option is used. " +"This scheme defines paths located under the user's home directory " +"(:const:`site.USER_BASE`)." msgstr "" +"*posix_user*: esquema para plataformas POSIX, quando a opção *user* é usada. " +"Esse esquema define caminhos localizados sob o diretório pessoal (home) do " +"usuário (:const:`site.USER_BASE`)." -#: ../../library/sysconfig.rst:86 +#: ../../library/sysconfig.rst:84 msgid "" "*posix_venv*: scheme for :mod:`Python virtual environments ` on POSIX " -"platforms; by default it is the same as *posix_prefix* ." +"platforms; by default it is the same as *posix_prefix*." msgstr "" +"*posix_venv*: esquema para :mod:`ambientes virtuais do Python ` em " +"plataformas POSIX; por padrão, é o mesmo que *posix_prefix*." -#: ../../library/sysconfig.rst:88 -msgid "*nt*: scheme for NT platforms like Windows." +#: ../../library/sysconfig.rst:86 +msgid "" +"*nt*: scheme for Windows. This is the default scheme used when Python or a " +"component is installed." msgstr "" +"*nt*: esquema para Windows. Este é o esquema padrão usado quando o Python ou " +"um componente é instalado." -#: ../../library/sysconfig.rst:89 -msgid "*nt_user*: scheme for NT platforms, when the *user* option is used." -msgstr "" +#: ../../library/sysconfig.rst:88 +msgid "*nt_user*: scheme for Windows, when the *user* option is used." +msgstr "*nt_user*: esquema para Windows, quando utilizada a opção *user*." -#: ../../library/sysconfig.rst:90 +#: ../../library/sysconfig.rst:89 msgid "" -"*nt_venv*: scheme for :mod:`Python virtual environments ` on NT " -"platforms; by default it is the same as *nt* ." +"*nt_venv*: scheme for :mod:`Python virtual environments ` on Windows; " +"by default it is the same as *nt*." msgstr "" +"*nt_venv*: esquema para :mod:`ambientes virtuais do Python ` no " +"Windows; por padrão, é o mesmo que *nt_prefix*." -#: ../../library/sysconfig.rst:92 +#: ../../library/sysconfig.rst:91 msgid "" -"*venv*: a scheme with values from ether *posix_venv* or *nt_venv* depending " -"on the platform Python runs on" +"*venv*: a scheme with values from either *posix_venv* or *nt_venv* depending " +"on the platform Python runs on." msgstr "" +"*venv*: um esquema com valores de *posix_venv* ou *nt_venv* dependendo da " +"plataforma em que o Python é executado." -#: ../../library/sysconfig.rst:94 +#: ../../library/sysconfig.rst:93 msgid "*osx_framework_user*: scheme for macOS, when the *user* option is used." msgstr "" +"*osx_framework_user*: esquema para plataformas macOS, quando utilizada a " +"opção *user*." -#: ../../library/sysconfig.rst:96 +#: ../../library/sysconfig.rst:95 msgid "" "Each scheme is itself composed of a series of paths and each path has a " "unique identifier. Python currently uses eight paths:" msgstr "" +"Cada esquema é composto por uma série de caminhos e cada caminho possui um " +"identificador único. Python atualmente usa oito caminhos:" -#: ../../library/sysconfig.rst:99 +#: ../../library/sysconfig.rst:98 msgid "" "*stdlib*: directory containing the standard Python library files that are " "not platform-specific." msgstr "" +"*stdlib*: diretório que contém os arquivos da biblioteca Python padrão que " +"não são específicos da plataforma." -#: ../../library/sysconfig.rst:101 +#: ../../library/sysconfig.rst:100 msgid "" "*platstdlib*: directory containing the standard Python library files that " "are platform-specific." msgstr "" +"*platstdlib*: diretório que contém os arquivos da biblioteca Python padrão " +"que são específicos da plataforma." -#: ../../library/sysconfig.rst:103 +#: ../../library/sysconfig.rst:102 msgid "*platlib*: directory for site-specific, platform-specific files." msgstr "" +"*platlib*: diretório para arquivos específicos do site e específicos da " +"plataforma." -#: ../../library/sysconfig.rst:104 -msgid "*purelib*: directory for site-specific, non-platform-specific files." +#: ../../library/sysconfig.rst:103 +msgid "" +"*purelib*: directory for site-specific, non-platform-specific files ('pure' " +"Python)." msgstr "" +"*purelib*: diretório para arquivos específicos do site e não específicos da " +"plataforma (Python 'pure')." -#: ../../library/sysconfig.rst:105 +#: ../../library/sysconfig.rst:104 msgid "" "*include*: directory for non-platform-specific header files for the Python C-" "API." msgstr "" +"*include*: diretório para arquivos de cabeçalho não específicos da " +"plataforma para a API C do Python." -#: ../../library/sysconfig.rst:107 +#: ../../library/sysconfig.rst:106 msgid "" "*platinclude*: directory for platform-specific header files for the Python C-" "API." msgstr "" +"*platinclude*: diretório para arquivos de cabeçalho específicos da " +"plataforma para a API C do Python." -#: ../../library/sysconfig.rst:109 +#: ../../library/sysconfig.rst:108 msgid "*scripts*: directory for script files." -msgstr "" +msgstr "*scripts*: diretório para arquivos de script." -#: ../../library/sysconfig.rst:110 +#: ../../library/sysconfig.rst:109 msgid "*data*: directory for data files." -msgstr "" +msgstr "*data*: diretório para arquivos de dados." + +#: ../../library/sysconfig.rst:115 +msgid "User scheme" +msgstr "Esquema de usuário" + +#: ../../library/sysconfig.rst:117 +msgid "" +"This scheme is designed to be the most convenient solution for users that " +"don't have write permission to the global site-packages directory or don't " +"want to install into it." +msgstr "" +"Este esquema foi projetado para ser a solução mais conveniente para usuários " +"que não têm permissão de escrita no diretório global de pacotes de sites ou " +"não desejam instalar nele." + +#: ../../library/sysconfig.rst:121 +msgid "" +"Files will be installed into subdirectories of :const:`site.USER_BASE` " +"(written as :file:`{userbase}` hereafter). This scheme installs pure Python " +"modules and extension modules in the same location (also known " +"as :const:`site.USER_SITE`)." +msgstr "" +"Os arquivos serão instalados em subdiretórios de :const:`site.USER_BASE` " +"(escrito como :file:`{userbase}` daqui em diante). Este esquema instala " +"módulos Python puros e módulos de extensão no mesmo local (também conhecido " +"como :const:`site.USER_SITE`)." + +#: ../../library/sysconfig.rst:126 +msgid "``posix_user``" +msgstr "``posix_user``" + +#: ../../library/sysconfig.rst:129 ../../library/sysconfig.rst:144 +#: ../../library/sysconfig.rst:159 ../../library/sysconfig.rst:187 +#: ../../library/sysconfig.rst:229 ../../library/sysconfig.rst:245 +msgid "Path" +msgstr "Caminho" + +#: ../../library/sysconfig.rst:129 ../../library/sysconfig.rst:144 +#: ../../library/sysconfig.rst:159 ../../library/sysconfig.rst:187 +#: ../../library/sysconfig.rst:229 ../../library/sysconfig.rst:245 +msgid "Installation directory" +msgstr "Diretório de instalação" + +#: ../../library/sysconfig.rst:131 ../../library/sysconfig.rst:146 +#: ../../library/sysconfig.rst:161 ../../library/sysconfig.rst:189 +#: ../../library/sysconfig.rst:231 ../../library/sysconfig.rst:247 +msgid "*stdlib*" +msgstr "*stdlib*" + +#: ../../library/sysconfig.rst:131 ../../library/sysconfig.rst:132 +msgid ":file:`{userbase}/lib/python{X.Y}`" +msgstr ":file:`{userbase}/lib/python{X.Y}`" + +#: ../../library/sysconfig.rst:132 ../../library/sysconfig.rst:147 +#: ../../library/sysconfig.rst:162 ../../library/sysconfig.rst:190 +#: ../../library/sysconfig.rst:232 ../../library/sysconfig.rst:248 +msgid "*platstdlib*" +msgstr "*platstdlib*" + +#: ../../library/sysconfig.rst:133 ../../library/sysconfig.rst:148 +#: ../../library/sysconfig.rst:163 ../../library/sysconfig.rst:191 +#: ../../library/sysconfig.rst:233 ../../library/sysconfig.rst:249 +msgid "*platlib*" +msgstr "*platlib*" + +#: ../../library/sysconfig.rst:133 ../../library/sysconfig.rst:134 +msgid ":file:`{userbase}/lib/python{X.Y}/site-packages`" +msgstr ":file:`{userbase}/lib/python{X.Y}/site-packages`" + +#: ../../library/sysconfig.rst:134 ../../library/sysconfig.rst:149 +#: ../../library/sysconfig.rst:164 ../../library/sysconfig.rst:192 +#: ../../library/sysconfig.rst:234 ../../library/sysconfig.rst:250 +msgid "*purelib*" +msgstr "*purelib*" + +#: ../../library/sysconfig.rst:135 ../../library/sysconfig.rst:150 +#: ../../library/sysconfig.rst:165 ../../library/sysconfig.rst:193 +#: ../../library/sysconfig.rst:235 ../../library/sysconfig.rst:251 +msgid "*include*" +msgstr "*include*" + +#: ../../library/sysconfig.rst:135 ../../library/sysconfig.rst:165 +msgid ":file:`{userbase}/include/python{X.Y}`" +msgstr ":file:`{userbase}/include/python{X.Y}`" + +#: ../../library/sysconfig.rst:136 ../../library/sysconfig.rst:151 +#: ../../library/sysconfig.rst:166 ../../library/sysconfig.rst:195 +#: ../../library/sysconfig.rst:237 ../../library/sysconfig.rst:253 +msgid "*scripts*" +msgstr "*scripts*" + +#: ../../library/sysconfig.rst:136 ../../library/sysconfig.rst:166 +msgid ":file:`{userbase}/bin`" +msgstr ":file:`{userbase}/bin`" + +#: ../../library/sysconfig.rst:137 ../../library/sysconfig.rst:152 +#: ../../library/sysconfig.rst:167 ../../library/sysconfig.rst:196 +#: ../../library/sysconfig.rst:238 ../../library/sysconfig.rst:254 +msgid "*data*" +msgstr "*data*" + +#: ../../library/sysconfig.rst:137 ../../library/sysconfig.rst:152 +#: ../../library/sysconfig.rst:167 +msgid ":file:`{userbase}`" +msgstr ":file:`{userbase}`" + +#: ../../library/sysconfig.rst:141 +msgid "``nt_user``" +msgstr "``nt_user``" + +#: ../../library/sysconfig.rst:146 ../../library/sysconfig.rst:147 +msgid ":file:`{userbase}\\\\Python{XY}`" +msgstr ":file:`{userbase}\\\\Python{XY}`" + +#: ../../library/sysconfig.rst:148 ../../library/sysconfig.rst:149 +msgid ":file:`{userbase}\\\\Python{XY}\\\\site-packages`" +msgstr ":file:`{userbase}\\\\Python{XY}\\\\site-packages`" + +#: ../../library/sysconfig.rst:150 +msgid ":file:`{userbase}\\\\Python{XY}\\\\Include`" +msgstr ":file:`{userbase}\\\\Python{XY}\\\\Include`" + +#: ../../library/sysconfig.rst:151 +msgid ":file:`{userbase}\\\\Python{XY}\\\\Scripts`" +msgstr ":file:`{userbase}\\\\Python{XY}\\\\Scripts`" + +#: ../../library/sysconfig.rst:156 +msgid "``osx_framework_user``" +msgstr "``osx_framework_user``" + +#: ../../library/sysconfig.rst:161 ../../library/sysconfig.rst:162 +msgid ":file:`{userbase}/lib/python`" +msgstr ":file:`{userbase}/lib/python`" + +#: ../../library/sysconfig.rst:163 ../../library/sysconfig.rst:164 +msgid ":file:`{userbase}/lib/python/site-packages`" +msgstr ":file:`{userbase}/lib/python/site-packages`" + +#: ../../library/sysconfig.rst:174 +msgid "Home scheme" +msgstr "Esquema de home" + +#: ../../library/sysconfig.rst:176 +msgid "" +"The idea behind the \"home scheme\" is that you build and maintain a " +"personal stash of Python modules. This scheme's name is derived from the " +"idea of a \"home\" directory on Unix, since it's not unusual for a Unix user " +"to make their home directory have a layout similar to :file:`/usr/` " +"or :file:`/usr/local/`. This scheme can be used by anyone, regardless of the " +"operating system they are installing for." +msgstr "" +"A ideia por trás do \"esquema home\" é que você construa e mantenha um " +"estoque pessoal de módulos Python. O nome deste esquema é derivado da ideia " +"de um diretório \"home\" no Unix, uma vez que não é incomum para um usuário " +"Unix fazer seu diretório home ter um layout semelhante a :file:`/usr/` " +"ou :file:`/usr/local/`. Este esquema pode ser usado por qualquer pessoa, " +"independentemente do sistema operacional para o qual está instalando." + +#: ../../library/sysconfig.rst:184 +msgid "``posix_home``" +msgstr "``posix_home``" + +#: ../../library/sysconfig.rst:189 ../../library/sysconfig.rst:190 +#: ../../library/sysconfig.rst:191 ../../library/sysconfig.rst:192 +msgid ":file:`{home}/lib/python`" +msgstr ":file:`{home}/lib/python`" + +#: ../../library/sysconfig.rst:193 ../../library/sysconfig.rst:194 +msgid ":file:`{home}/include/python`" +msgstr ":file:`{home}/include/python`" + +#: ../../library/sysconfig.rst:194 ../../library/sysconfig.rst:236 +#: ../../library/sysconfig.rst:252 +msgid "*platinclude*" +msgstr "*platinclude*" + +#: ../../library/sysconfig.rst:195 +msgid ":file:`{home}/bin`" +msgstr ":file:`{home}/bin`" + +#: ../../library/sysconfig.rst:196 +msgid ":file:`{home}`" +msgstr ":file:`{home}`" + +#: ../../library/sysconfig.rst:203 +msgid "Prefix scheme" +msgstr "Esquema de prefixo" + +#: ../../library/sysconfig.rst:205 +msgid "" +"The \"prefix scheme\" is useful when you wish to use one Python installation " +"to perform the build/install (i.e., to run the setup script), but install " +"modules into the third-party module directory of a different Python " +"installation (or something that looks like a different Python " +"installation). If this sounds a trifle unusual, it is---that's why the user " +"and home schemes come before. However, there are at least two known cases " +"where the prefix scheme will be useful." +msgstr "" +"O \"esquema prefixo\" é útil quando você deseja usar uma instalação Python " +"para realizar a compilação/instalação (ou seja, para executar o script de " +"configuração), mas instalar módulos no diretório de módulo de terceiros de " +"uma instalação Python diferente (ou algo que parece uma instalação diferente " +"do Python). Se isso parece um pouco incomum, então é -- é por isso que os " +"esquemas usuário e home vêm antes. No entanto, existem pelo menos dois casos " +"conhecidos em que o esquema prefixo será útil." + +#: ../../library/sysconfig.rst:212 +msgid "" +"First, consider that many Linux distributions put Python in :file:`/usr`, " +"rather than the more traditional :file:`/usr/local`. This is entirely " +"appropriate, since in those cases Python is part of \"the system\" rather " +"than a local add-on. However, if you are installing Python modules from " +"source, you probably want them to go in :file:`/usr/local/lib/python2.{X}` " +"rather than :file:`/usr/lib/python2.{X}`." +msgstr "" +"Primeiro, considere que muitas distribuições Linux colocam Python em :file:`/" +"usr`, ao invés do mais tradicional :file:`/usr/local`. Isso é totalmente " +"apropriado, já que, nesses casos, o Python é parte do \"sistema\" em vez de " +"um complemento local. No entanto, se você estiver instalando módulos Python " +"a partir do código-fonte, provavelmente deseja que eles entrem em :file:`/" +"usr/local/lib/python2.{X}` em vez de :file:`/usr/lib/python2.{X}`." + +#: ../../library/sysconfig.rst:219 +msgid "" +"Another possibility is a network filesystem where the name used to write to " +"a remote directory is different from the name used to read it: for example, " +"the Python interpreter accessed as :file:`/usr/local/bin/python` might " +"search for modules in :file:`/usr/local/lib/python2.{X}`, but those modules " +"would have to be installed to, say, :file:`/mnt/{@server}/export/lib/python2." +"{X}`." +msgstr "" +"Outra possibilidade é um sistema de arquivos de rede onde o nome usado para " +"escrever em um diretório remoto é diferente do nome usado para lê-lo: por " +"exemplo, o interpretador Python acessado como :file:`/usr/local/bin/python` " +"pode pesquisar por módulos em :file:`/usr/local/lib/python2.{X}`, mas esses " +"módulos teriam que ser instalados em, digamos, :file:`/mnt/{@server}/export/" +"lib/python2.{X}`." + +#: ../../library/sysconfig.rst:226 +msgid "``posix_prefix``" +msgstr "``posix_prefix``" + +#: ../../library/sysconfig.rst:231 ../../library/sysconfig.rst:232 +msgid ":file:`{prefix}/lib/python{X.Y}`" +msgstr ":file:`{prefix}/lib/python{X.Y}`" -#: ../../library/sysconfig.rst:112 -msgid ":mod:`sysconfig` provides some functions to determine these paths." +#: ../../library/sysconfig.rst:233 ../../library/sysconfig.rst:234 +msgid ":file:`{prefix}/lib/python{X.Y}/site-packages`" +msgstr ":file:`{prefix}/lib/python{X.Y}/site-packages`" + +#: ../../library/sysconfig.rst:235 ../../library/sysconfig.rst:236 +msgid ":file:`{prefix}/include/python{X.Y}`" +msgstr ":file:`{prefix}/include/python{X.Y}`" + +#: ../../library/sysconfig.rst:237 +msgid ":file:`{prefix}/bin`" +msgstr ":file:`{prefix}/bin`" + +#: ../../library/sysconfig.rst:238 ../../library/sysconfig.rst:254 +msgid ":file:`{prefix}`" +msgstr ":file:`{prefix}`" + +#: ../../library/sysconfig.rst:242 +msgid "``nt``" +msgstr "``nt``" + +#: ../../library/sysconfig.rst:247 ../../library/sysconfig.rst:248 +msgid ":file:`{prefix}\\\\Lib`" +msgstr ":file:`{prefix}\\\\Lib`" + +#: ../../library/sysconfig.rst:249 ../../library/sysconfig.rst:250 +msgid ":file:`{prefix}\\\\Lib\\\\site-packages`" +msgstr ":file:`{prefix}\\\\Lib\\\\site-packages`" + +#: ../../library/sysconfig.rst:251 ../../library/sysconfig.rst:252 +msgid ":file:`{prefix}\\\\Include`" +msgstr ":file:`{prefix}\\\\Include`" + +#: ../../library/sysconfig.rst:253 +msgid ":file:`{prefix}\\\\Scripts`" +msgstr ":file:`{prefix}\\\\Scripts`" + +#: ../../library/sysconfig.rst:259 +msgid "Installation path functions" +msgstr "Funções de caminho de instalação" + +#: ../../library/sysconfig.rst:261 +msgid "" +":mod:`sysconfig` provides some functions to determine these installation " +"paths." msgstr "" +":mod:`sysconfig` fornece algumas funções para determinar esses caminhos de " +"instalação." -#: ../../library/sysconfig.rst:116 +#: ../../library/sysconfig.rst:265 msgid "" -"Return a tuple containing all schemes currently supported in :mod:" -"`sysconfig`." +"Return a tuple containing all schemes currently supported " +"in :mod:`sysconfig`." msgstr "" +"Retorna uma tupla contendo todos os esquemas atualmente suportados " +"em :mod:`sysconfig`." -#: ../../library/sysconfig.rst:122 +#: ../../library/sysconfig.rst:271 msgid "Return the default scheme name for the current platform." -msgstr "" +msgstr "Retorna o nome do esquema padrão para a plataforma atual." -#: ../../library/sysconfig.rst:124 +#: ../../library/sysconfig.rst:273 msgid "" "This function was previously named ``_get_default_scheme()`` and considered " "an implementation detail." msgstr "" +"Esta função era chamada de ``_get_default_scheme()`` e considerada um " +"detalhe de implementação." -#: ../../library/sysconfig.rst:128 +#: ../../library/sysconfig.rst:277 msgid "" "When Python runs from a virtual environment, the *venv* scheme is returned." msgstr "" +"Quando o Python é executado em um ambiente virtual, o esquema *venv* é " +"retornado." -#: ../../library/sysconfig.rst:134 +#: ../../library/sysconfig.rst:283 msgid "" "Return a preferred scheme name for an installation layout specified by *key*." msgstr "" +"Retorna um nome de esquema preferido para um layout de instalação " +"especificado por *key*." -#: ../../library/sysconfig.rst:136 +#: ../../library/sysconfig.rst:285 msgid "*key* must be either ``\"prefix\"``, ``\"home\"``, or ``\"user\"``." -msgstr "" +msgstr "*key* deve ser ``\"prefix\"``, ``\"home\"`` ou ``\"user\"``." -#: ../../library/sysconfig.rst:138 +#: ../../library/sysconfig.rst:287 msgid "" "The return value is a scheme name listed in :func:`get_scheme_names`. It can " "be passed to :mod:`sysconfig` functions that take a *scheme* argument, such " "as :func:`get_paths`." msgstr "" +"O valor de retorno é um nome de esquema listado em :func:`get_scheme_names`. " +"Ele pode ser passado para as funções :mod:`sysconfig` que recebem um " +"argumento *scheme*, como :func:`get_paths`." -#: ../../library/sysconfig.rst:144 +#: ../../library/sysconfig.rst:293 msgid "" "When Python runs from a virtual environment and ``key=\"prefix\"``, the " "*venv* scheme is returned." msgstr "" +"Quando o Python é executado em um ambiente virtual e ``key=\"prefix\"``, o " +"esquema *venv* é retornado." -#: ../../library/sysconfig.rst:151 +#: ../../library/sysconfig.rst:300 msgid "" "Return a dict containing preferred scheme names on the current platform. " "Python implementers and redistributors may add their preferred schemes to " @@ -268,110 +613,148 @@ msgid "" "and language package managers to use, so packages installed by either do not " "mix with those by the other." msgstr "" +"Retorna um dict contendo nomes de esquema preferidos na plataforma atual. Os " +"implementadores e redistribuidores do Python podem adicionar seus esquemas " +"preferidos ao valor global de nível de módulo ``_INSTALL_SCHEMES`` e " +"modificar esta função para retornar esses nomes de esquema. Por exemplo, " +"fornecer esquemas diferentes para os gerenciadores de pacotes de sistema e " +"idioma usarem, de modo que os pacotes instalados por um não se misturem com " +"os do outro." -#: ../../library/sysconfig.rst:158 +#: ../../library/sysconfig.rst:307 msgid "" -"End users should not use this function, but :func:`get_default_scheme` and :" -"func:`get_preferred_scheme()` instead." +"End users should not use this function, but :func:`get_default_scheme` " +"and :func:`get_preferred_scheme()` instead." msgstr "" +"Os usuários finais não devem usar esta função, " +"mas :func:`get_default_scheme` e :func:`get_preferred_scheme()`." -#: ../../library/sysconfig.rst:166 +#: ../../library/sysconfig.rst:315 msgid "" -"Return a tuple containing all path names currently supported in :mod:" -"`sysconfig`." +"Return a tuple containing all path names currently supported " +"in :mod:`sysconfig`." msgstr "" +"Retorna uma tupla contendo todos os nomes de caminhos atualmente suportados " +"em :mod:`sysconfig`." -#: ../../library/sysconfig.rst:172 +#: ../../library/sysconfig.rst:321 msgid "" "Return an installation path corresponding to the path *name*, from the " "install scheme named *scheme*." msgstr "" +"Retorna um caminho de instalação correspondente ao caminho *name*, do " +"esquema de instalação denominado *scheme*." -#: ../../library/sysconfig.rst:175 +#: ../../library/sysconfig.rst:324 msgid "" "*name* has to be a value from the list returned by :func:`get_path_names`." msgstr "" +"*name* deve ser um valor da lista retornada por :func:`get_path_names`." -#: ../../library/sysconfig.rst:177 +#: ../../library/sysconfig.rst:326 msgid "" ":mod:`sysconfig` stores installation paths corresponding to each path name, " "for each platform, with variables to be expanded. For instance the *stdlib* " "path for the *nt* scheme is: ``{base}/Lib``." msgstr "" +":mod:`sysconfig` armazena os caminhos de instalação correspondentes a cada " +"nome de caminho, para cada plataforma, com variáveis a serem expandidas. Por " +"exemplo, o caminho *stdlib* para o esquema *nt* é: ``{base}/Lib``." -#: ../../library/sysconfig.rst:181 +#: ../../library/sysconfig.rst:330 msgid "" ":func:`get_path` will use the variables returned by :func:`get_config_vars` " "to expand the path. All variables have default values for each platform so " "one may call this function and get the default value." msgstr "" +":func:`get_path` usará as variáveis retornadas por :func:`get_config_vars` " +"para expandir o caminho. Todas as variáveis possuem valores padrão para cada " +"plataforma, portanto, pode-se chamar esta função e obter o valor padrão." -#: ../../library/sysconfig.rst:185 +#: ../../library/sysconfig.rst:334 msgid "" -"If *scheme* is provided, it must be a value from the list returned by :func:" -"`get_scheme_names`. Otherwise, the default scheme for the current platform " -"is used." +"If *scheme* is provided, it must be a value from the list returned " +"by :func:`get_scheme_names`. Otherwise, the default scheme for the current " +"platform is used." msgstr "" +"Se *scheme* for fornecido, deve ser um valor da lista retornada " +"por :func:`get_scheme_names`. Caso contrário, o esquema padrão para a " +"plataforma atual é usado." -#: ../../library/sysconfig.rst:189 +#: ../../library/sysconfig.rst:338 msgid "" "If *vars* is provided, it must be a dictionary of variables that will update " -"the dictionary return by :func:`get_config_vars`." +"the dictionary returned by :func:`get_config_vars`." msgstr "" +"Se *vars* for fornecido, deve ser um dicionário de variáveis que atualizará " +"o dicionário retornado por :func:`get_config_vars`." -#: ../../library/sysconfig.rst:192 +#: ../../library/sysconfig.rst:341 msgid "" "If *expand* is set to ``False``, the path will not be expanded using the " "variables." msgstr "" +"Se *expand* for definido como ``False``, o caminho não será expandido usando " +"as variáveis." -#: ../../library/sysconfig.rst:195 +#: ../../library/sysconfig.rst:344 msgid "If *name* is not found, raise a :exc:`KeyError`." -msgstr "" +msgstr "Se *name* não for encontrado, levanta uma :exc:`KeyError`." -#: ../../library/sysconfig.rst:200 +#: ../../library/sysconfig.rst:349 msgid "" "Return a dictionary containing all installation paths corresponding to an " "installation scheme. See :func:`get_path` for more information." msgstr "" +"Retorna um dicionário contendo todos os caminhos de instalação " +"correspondentes a um esquema de instalação. Veja :func:`get_path` para mais " +"informações." -#: ../../library/sysconfig.rst:203 +#: ../../library/sysconfig.rst:352 msgid "" "If *scheme* is not provided, will use the default scheme for the current " "platform." msgstr "" +"Se *esquema* não for fornecido, usará o esquema padrão para a plataforma " +"atual." -#: ../../library/sysconfig.rst:206 +#: ../../library/sysconfig.rst:355 msgid "" "If *vars* is provided, it must be a dictionary of variables that will update " "the dictionary used to expand the paths." msgstr "" +"Se *vars* for fornecido, deve ser um dicionário de variáveis que atualizará " +"o dicionário usado para expandir os caminhos." -#: ../../library/sysconfig.rst:209 +#: ../../library/sysconfig.rst:358 msgid "If *expand* is set to false, the paths will not be expanded." -msgstr "" +msgstr "Se *expand* for definido como falso, os caminhos não serão expandidos." -#: ../../library/sysconfig.rst:211 +#: ../../library/sysconfig.rst:360 msgid "" -"If *scheme* is not an existing scheme, :func:`get_paths` will raise a :exc:" -"`KeyError`." +"If *scheme* is not an existing scheme, :func:`get_paths` will raise " +"a :exc:`KeyError`." msgstr "" +"Se *scheme* não for um esquema existente, :func:`get_paths` vai levantar " +"uma :exc:`KeyError`." -#: ../../library/sysconfig.rst:216 +#: ../../library/sysconfig.rst:365 msgid "Other functions" msgstr "Outras funções" -#: ../../library/sysconfig.rst:220 +#: ../../library/sysconfig.rst:369 msgid "" "Return the ``MAJOR.MINOR`` Python version number as a string. Similar to " "``'%d.%d' % sys.version_info[:2]``." msgstr "" +"Retorna o número da versão Python ``MAJOR.MINOR`` como uma string. " +"Semelhante a ``'%d.%d' % sys.version_info[:2]``." -#: ../../library/sysconfig.rst:226 +#: ../../library/sysconfig.rst:375 msgid "Return a string that identifies the current platform." -msgstr "" +msgstr "Retorna uma string que identifica a plataforma atual." -#: ../../library/sysconfig.rst:228 +#: ../../library/sysconfig.rst:377 msgid "" "This is used mainly to distinguish platform-specific build directories and " "platform-specific built distributions. Typically includes the OS name and " @@ -379,106 +762,126 @@ msgid "" "exact information included depends on the OS; e.g., on Linux, the kernel " "version isn't particularly important." msgstr "" +"Isso é usado principalmente para distinguir diretórios de construção " +"específicos da plataforma e distribuições construídas específicas da " +"plataforma. Geralmente inclui o nome e a versão do sistema operacional e a " +"arquitetura (conforme fornecido por 'os.uname()'), embora as informações " +"exatas incluídas dependam do sistema operacional; por exemplo, no Linux, a " +"versão do kernel não é particularmente importante." -#: ../../library/sysconfig.rst:234 +#: ../../library/sysconfig.rst:383 msgid "Examples of returned values:" msgstr "Exemplos de valores retornados:" -#: ../../library/sysconfig.rst:236 +#: ../../library/sysconfig.rst:385 msgid "linux-i586" -msgstr "" +msgstr "linux-i586" -#: ../../library/sysconfig.rst:237 +#: ../../library/sysconfig.rst:386 msgid "linux-alpha (?)" -msgstr "" +msgstr "linux-alpha (?)" -#: ../../library/sysconfig.rst:238 +#: ../../library/sysconfig.rst:387 msgid "solaris-2.6-sun4u" msgstr "solaris-2.6-sun4u" -#: ../../library/sysconfig.rst:240 +#: ../../library/sysconfig.rst:389 msgid "Windows will return one of:" -msgstr "" +msgstr "Windows vai retornar um entre:" -#: ../../library/sysconfig.rst:242 +#: ../../library/sysconfig.rst:391 msgid "win-amd64 (64bit Windows on AMD64, aka x86_64, Intel64, and EM64T)" -msgstr "" +msgstr "win-amd64 (Windows 64 bits no AMD64, isto é, x86_64, Intel64 e EM64T)" -#: ../../library/sysconfig.rst:243 +#: ../../library/sysconfig.rst:392 msgid "win32 (all others - specifically, sys.platform is returned)" -msgstr "" +msgstr "win32 (todos os demais - especificamente, sys.platform é retornado)" -#: ../../library/sysconfig.rst:245 +#: ../../library/sysconfig.rst:394 msgid "macOS can return:" -msgstr "" +msgstr "macOS pode retornar:" -#: ../../library/sysconfig.rst:247 +#: ../../library/sysconfig.rst:396 msgid "macosx-10.6-ppc" -msgstr "" +msgstr "macosx-10.6-ppc" -#: ../../library/sysconfig.rst:248 +#: ../../library/sysconfig.rst:397 msgid "macosx-10.4-ppc64" -msgstr "" +msgstr "macosx-10.4-ppc64" -#: ../../library/sysconfig.rst:249 +#: ../../library/sysconfig.rst:398 msgid "macosx-10.3-i386" -msgstr "" +msgstr "macosx-10.3-i386" -#: ../../library/sysconfig.rst:250 +#: ../../library/sysconfig.rst:399 msgid "macosx-10.4-fat" -msgstr "" +msgstr "macosx-10.4-fat" -#: ../../library/sysconfig.rst:252 +#: ../../library/sysconfig.rst:401 msgid "" "For other non-POSIX platforms, currently just returns :data:`sys.platform`." msgstr "" +"Para outras plataformas não POSIX, é retornado apenas :data:`sys.platform`." -#: ../../library/sysconfig.rst:257 +#: ../../library/sysconfig.rst:406 msgid "" "Return ``True`` if the running Python interpreter was built from source and " "is being run from its built location, and not from a location resulting from " "e.g. running ``make install`` or installing via a binary installer." msgstr "" +"Retorna ``True`` se o interpretador Python em execução foi construído a " +"partir do código-fonte e está sendo executado a partir de seu local de " +"construção, e não de um local resultante de, por exemplo, executando ``make " +"install`` ou instalando através de um instalador binário." -#: ../../library/sysconfig.rst:264 +#: ../../library/sysconfig.rst:413 msgid "Parse a :file:`config.h`\\-style file." -msgstr "" +msgstr "Analisa um arquivo no estilo :file:`config.h`." -#: ../../library/sysconfig.rst:266 +#: ../../library/sysconfig.rst:415 msgid "" "*fp* is a file-like object pointing to the :file:`config.h`\\-like file." msgstr "" +"*fp* é um objeto arquivo ou similar apontando para o " +"arquivo :file:`config.h` ou similar." -#: ../../library/sysconfig.rst:268 +#: ../../library/sysconfig.rst:417 msgid "" "A dictionary containing name/value pairs is returned. If an optional " "dictionary is passed in as the second argument, it is used instead of a new " "dictionary, and updated with the values read in the file." msgstr "" +"Um dicionário contendo pares nome/valor é retornado. Se um dicionário " +"opcional for passado como segundo argumento, ele será usado no lugar de um " +"novo dicionário e atualizado com os valores lidos no arquivo." -#: ../../library/sysconfig.rst:275 +#: ../../library/sysconfig.rst:424 msgid "Return the path of :file:`pyconfig.h`." -msgstr "" +msgstr "Retorna o caminho do :file:`pyconfig.h`." -#: ../../library/sysconfig.rst:279 +#: ../../library/sysconfig.rst:428 msgid "Return the path of :file:`Makefile`." -msgstr "" +msgstr "Retorna o caminho do :file:`Makefile`." -#: ../../library/sysconfig.rst:283 +#: ../../library/sysconfig.rst:433 msgid "Using :mod:`sysconfig` as a script" msgstr "Usando o módulo :mod:`sysconfig` como um Script" -#: ../../library/sysconfig.rst:285 +#: ../../library/sysconfig.rst:435 msgid "You can use :mod:`sysconfig` as a script with Python's *-m* option:" msgstr "" +"Você pode usar :mod:`sysconfig` como um script com a opção *-m* do Python:" -#: ../../library/sysconfig.rst:311 +#: ../../library/sysconfig.rst:461 msgid "" -"This call will print in the standard output the information returned by :" -"func:`get_platform`, :func:`get_python_version`, :func:`get_path` and :func:" -"`get_config_vars`." +"This call will print in the standard output the information returned " +"by :func:`get_platform`, :func:`get_python_version`, :func:`get_path` " +"and :func:`get_config_vars`." msgstr "" +"Esta chamada imprimirá na saída padrão as informações retornadas " +"por :func:`get_platform`, :func:`get_python_version`, :func:`get_path` " +"e :func:`get_config_vars`." #: ../../library/sysconfig.rst:14 msgid "configuration information" -msgstr "" +msgstr "informações de configuração" diff --git a/library/syslog.po b/library/syslog.po index a9693c912..6c5cb517a 100644 --- a/library/syslog.po +++ b/library/syslog.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,29 +38,19 @@ msgstr "" "do recurso ``syslog``." #: ../../library/syslog.rst:14 +msgid ":ref:`Availability `: Unix, not Emscripten, not WASI." +msgstr ":ref:`Disponibilidade `: Unix, não Emscripten, não WASI." + +#: ../../library/syslog.rst:16 msgid "" "This module wraps the system ``syslog`` family of routines. A pure Python " -"library that can speak to a syslog server is available in the :mod:`logging." -"handlers` module as :class:`SysLogHandler`." +"library that can speak to a syslog server is available in " +"the :mod:`logging.handlers` module as :class:`SysLogHandler`." msgstr "" "Este módulo é uma camada para a família de rotinas ``syslog`` do sistema. " "Uma biblioteca Python pura que pode se comunicar com um servidor syslog está " "disponível no módulo :mod:`logging.handlers` como :class:`SysLogHandler`." -#: ../../includes/wasm-notavail.rst:3 -msgid ":ref:`Availability `: not Emscripten, not WASI." -msgstr ":ref:`Disponibilidade `: não Emscripten, não WASI." - -#: ../../includes/wasm-notavail.rst:5 -msgid "" -"This module does not work or is not available on WebAssembly platforms " -"``wasm32-emscripten`` and ``wasm32-wasi``. See :ref:`wasm-availability` for " -"more information." -msgstr "" -"Este módulo não funciona ou não está disponível em plataformas WebAssembly " -"``wasm32-emscripten`` e ``wasm32-wasi``. Veja :ref:`wasm-availability` para " -"mais informações." - #: ../../library/syslog.rst:20 msgid "The module defines the following functions:" msgstr "O módulo define as seguintes funções:" @@ -86,18 +73,18 @@ msgstr "" #: ../../library/syslog.rst:33 msgid "" -"If :func:`openlog` has not been called prior to the call to :func:`syslog`, :" -"func:`openlog` will be called with no arguments." +"If :func:`openlog` has not been called prior to the call " +"to :func:`syslog`, :func:`openlog` will be called with no arguments." msgstr "" -"Se :func:`openlog` não foi chamado antes da chamada para :func:`syslog`, :" -"func:`openlog` será chamado sem argumentos." +"Se :func:`openlog` não foi chamado antes da chamada " +"para :func:`syslog`, :func:`openlog` será chamado sem argumentos." -#: ../../library/syslog.rst:45 +#: ../../library/syslog.rst:36 msgid "" "Raises an :ref:`auditing event ` ``syslog.syslog`` with arguments " "``priority``, ``message``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``syslog.syslog`` com " +"Levanta um :ref:`evento de auditoria ` ``syslog.syslog`` com os " "argumentos ``priority``, ``message``." #: ../../library/syslog.rst:38 @@ -112,13 +99,13 @@ msgstr "" #: ../../library/syslog.rst:46 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." +"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 "" "As opções de log das chamadas subsequentes :func:`syslog` podem ser " -"definidas chamando :func:`openlog`. :func:`syslog` irá chamar :func:" -"`openlog` sem argumentos se o log não estiver aberto no momento." +"definidas chamando :func:`openlog`. :func:`syslog` irá " +"chamar :func:`openlog` sem argumentos se o log não estiver aberto no momento." #: ../../library/syslog.rst:50 msgid "" @@ -136,12 +123,12 @@ msgstr "" "nomeado opcional *facility* (o padrão é :const:`LOG_USER`) define o recurso " "padrão para mensagens que não possuem um recurso explicitamente codificado." -#: ../../library/syslog.rst:66 +#: ../../library/syslog.rst:57 msgid "" "Raises an :ref:`auditing event ` ``syslog.openlog`` with arguments " "``ident``, ``logoption``, ``facility``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``syslog.openlog`` com " +"Levanta um :ref:`evento de auditoria ` ``syslog.openlog`` com os " "argumentos ``ident``, ``logoption``, ``facility``." #: ../../library/syslog.rst:59 @@ -163,21 +150,21 @@ msgstr "" msgid "" "This causes the module to behave as it does when initially imported. For " "example, :func:`openlog` will be called on the first :func:`syslog` call " -"(if :func:`openlog` hasn't already been called), and *ident* and other :func:" -"`openlog` parameters are reset to defaults." +"(if :func:`openlog` hasn't already been called), and *ident* and " +"other :func:`openlog` parameters are reset to defaults." msgstr "" "Isso faz com que o módulo se comporte como quando importado inicialmente. " "Por exemplo, :func:`openlog` será chamado na primeira chamada :func:`syslog` " -"(se :func:`openlog` ainda não foi chamado), e *ident* e outro :func:" -"`openlog` os parâmetros são redefinidos para os padrões." +"(se :func:`openlog` ainda não foi chamado), e *ident* e " +"outro :func:`openlog` os parâmetros são redefinidos para os padrões." -#: ../../library/syslog.rst:82 +#: ../../library/syslog.rst:73 msgid "" "Raises an :ref:`auditing event ` ``syslog.closelog`` with no " "arguments." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``syslog.closelog`` com " -"nenhum argumento." +"Levanta um :ref:`evento de auditoria ` ``syslog.closelog`` sem " +"argumentos." #: ../../library/syslog.rst:78 msgid "" @@ -195,12 +182,12 @@ msgstr "" "individual *pri*. A função ``LOG_UPTO(pri)`` calcula a máscara para todas as " "prioridades até e incluindo *pri*." -#: ../../library/syslog.rst:94 +#: ../../library/syslog.rst:85 msgid "" "Raises an :ref:`auditing event ` ``syslog.setlogmask`` with " "argument ``maskpri``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``syslog.setlogmask`` com " +"Levanta um :ref:`evento de auditoria ` ``syslog.setlogmask`` com o " "argumento ``maskpri``." #: ../../library/syslog.rst:87 @@ -212,14 +199,8 @@ msgid "Priority levels (high to low):" msgstr "Níveis de prioridade (alto a baixo):" #: ../../library/syslog.rst:90 -msgid "" -":const:`LOG_EMERG`, :const:`LOG_ALERT`, :const:`LOG_CRIT`, :const:" -"`LOG_ERR`, :const:`LOG_WARNING`, :const:`LOG_NOTICE`, :const:`LOG_INFO`, :" -"const:`LOG_DEBUG`." -msgstr "" -":const:`LOG_EMERG`, :const:`LOG_ALERT`, :const:`LOG_CRIT`, :const:" -"`LOG_ERR`, :const:`LOG_WARNING`, :const:`LOG_NOTICE`, :const:`LOG_INFO`, :" -"const:`LOG_DEBUG`." +msgid ":const:`LOG_EMERG`, :const:`LOG_ALERT`, :const:`LOG_CRIT`, :const:`LOG_ERR`, :const:`LOG_WARNING`, :const:`LOG_NOTICE`, :const:`LOG_INFO`, :const:`LOG_DEBUG`." +msgstr ":const:`LOG_EMERG`, :const:`LOG_ALERT`, :const:`LOG_CRIT`, :const:`LOG_ERR`, :const:`LOG_WARNING`, :const:`LOG_NOTICE`, :const:`LOG_INFO`, :const:`LOG_DEBUG`." #: ../../library/syslog.rst:99 msgid "Facilities:" @@ -227,15 +208,13 @@ msgstr "Facilidades:" #: ../../library/syslog.rst:95 msgid "" -":const:`LOG_KERN`, :const:`LOG_USER`, :const:`LOG_MAIL`, :const:" -"`LOG_DAEMON`, :const:`LOG_AUTH`, :const:`LOG_LPR`, :const:`LOG_NEWS`, :const:" -"`LOG_UUCP`, :const:`LOG_CRON`, :const:`LOG_SYSLOG`, :const:`LOG_LOCAL0` to :" -"const:`LOG_LOCAL7`, and, if defined in ````, :const:`LOG_AUTHPRIV`." +":const:`LOG_KERN`, :const:`LOG_USER`, :const:`LOG_MAIL`, :const:`LOG_DAEMON`, :const:`LOG_AUTH`, :const:`LOG_LPR`, :const:`LOG_NEWS`, :const:`LOG_UUCP`, :const:`LOG_CRON`, :const:`LOG_SYSLOG`, :const:`LOG_LOCAL0` " +"to :const:`LOG_LOCAL7`, and, if defined in " +"````, :const:`LOG_AUTHPRIV`." msgstr "" -":const:`LOG_KERN`, :const:`LOG_USER`, :const:`LOG_MAIL`, :const:" -"`LOG_DAEMON`, :const:`LOG_AUTH`, :const:`LOG_LPR`, :const:`LOG_NEWS`, :const:" -"`LOG_UUCP`, :const:`LOG_CRON`, :const:`LOG_SYSLOG`, :const:`LOG_LOCAL0` até :" -"const:`LOG_LOCAL7` e, se definido em ````, :const:`LOG_AUTHPRIV`." +":const:`LOG_KERN`, :const:`LOG_USER`, :const:`LOG_MAIL`, :const:`LOG_DAEMON`, :const:`LOG_AUTH`, :const:`LOG_LPR`, :const:`LOG_NEWS`, :const:`LOG_UUCP`, :const:`LOG_CRON`, :const:`LOG_SYSLOG`, :const:`LOG_LOCAL0` " +"até :const:`LOG_LOCAL7` e, se definido em " +"````, :const:`LOG_AUTHPRIV`." #: ../../library/syslog.rst:105 msgid "Log options:" @@ -244,12 +223,12 @@ msgstr "Opções de log:" #: ../../library/syslog.rst:102 msgid "" ":const:`LOG_PID`, :const:`LOG_CONS`, :const:`LOG_NDELAY`, and, if defined in " -"````, :const:`LOG_ODELAY`, :const:`LOG_NOWAIT`, and :const:" -"`LOG_PERROR`." +"````, :const:`LOG_ODELAY`, :const:`LOG_NOWAIT`, " +"and :const:`LOG_PERROR`." msgstr "" ":const:`LOG_PID`, :const:`LOG_CONS`, :const:`LOG_NDELAY` e, se definido em " -"````, :const:`LOG_ODELAY`, :const:`LOG_NOWAIT` e :const:" -"`LOG_PERROR`." +"````, :const:`LOG_ODELAY`, :const:`LOG_NOWAIT` " +"e :const:`LOG_PERROR`." #: ../../library/syslog.rst:108 msgid "Examples" diff --git a/library/tabnanny.po b/library/tabnanny.po index 11a101727..48aaab2dd 100644 --- a/library/tabnanny.po +++ b/library/tabnanny.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -95,8 +92,8 @@ msgstr "" #: ../../library/tabnanny.rst:57 msgid "" -"This function is used by :func:`check` to process tokens generated by the :" -"mod:`tokenize` module." +"This function is used by :func:`check` to process tokens generated by " +"the :mod:`tokenize` module." msgstr "" "Esta função é usada por :func:`check` para processar os tokens gerados pelo " "módulo :mod:`tokenize`." diff --git a/library/tarfile.po b/library/tarfile.po index 3e384d8ef..355193cbb 100644 --- a/library/tarfile.po +++ b/library/tarfile.po @@ -1,31 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# And Past , 2021 -# Giovana Morais , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 -# Marco Rougeth , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Marco Rougeth , 2023\n" +"POT-Creation-Date: 2026-10-25 20:34+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -44,20 +39,26 @@ msgid "" "module to read or write :file:`.zip` files, or the higher-level functions " "in :ref:`shutil `." msgstr "" +"O módulo :mod:`tarfile` possibilita a leitura e gravação de arquivos tar, " +"incluindo aqueles que utilizam compactação gzip, bz2 e lzma. Use o " +"módulo :mod:`zipfile` para ler ou gravar arquivos :file:`.zip` ou as funções " +"de nível mais alto em :ref:`shutil `." #: ../../library/tarfile.rst:19 msgid "Some facts and figures:" -msgstr "" +msgstr "Alguns fatos e números:" #: ../../library/tarfile.rst:21 msgid "" "reads and writes :mod:`gzip`, :mod:`bz2` and :mod:`lzma` compressed archives " "if the respective modules are available." msgstr "" +"lê e grava arquivos compactados :mod:`gzip`, :mod:`bz2` e :mod:`lzma` se os " +"respectivos módulos estiverem disponíveis." #: ../../library/tarfile.rst:24 msgid "read/write support for the POSIX.1-1988 (ustar) format." -msgstr "" +msgstr "suporte de leitura/gravação para o formato POSIX.1-1988 (ustar)." #: ../../library/tarfile.rst:26 msgid "" @@ -65,10 +66,13 @@ msgid "" "*longlink* extensions, read-only support for all variants of the *sparse* " "extension including restoration of sparse files." msgstr "" +"suporte de leitura/gravação para o formato GNU tar, incluindo extensões " +"*longname* e *longlink*, suporte somente leitura para todas as variantes da " +"extensão *sparse*, incluindo restauração de arquivos esparsos." #: ../../library/tarfile.rst:30 msgid "read/write support for the POSIX.1-2001 (pax) format." -msgstr "" +msgstr "suporte de leitura/gravação para o formato POSIX.1-2001 (pax)." #: ../../library/tarfile.rst:32 msgid "" @@ -76,10 +80,14 @@ msgid "" "character devices and block devices and is able to acquire and restore file " "information like timestamp, access permissions and owner." msgstr "" +"manipula diretórios, arquivos regulares, links físicos, links simbólicos, " +"fifos, dispositivos de caracteres e dispositivos de bloco e é capaz de " +"adquirir e restaurar informações de arquivo, como registro de data e hora, " +"permissões de acesso e proprietário." #: ../../library/tarfile.rst:36 msgid "Added support for :mod:`lzma` compression." -msgstr "Adiciona suporte para compressão :mod:`lzma`." +msgstr "Adicionado suporte para compactação :mod:`lzma`." #: ../../library/tarfile.rst:42 msgid "" @@ -87,28 +95,33 @@ msgid "" "information on :class:`TarFile` objects and the keyword arguments that are " "allowed, see :ref:`tarfile-objects`." msgstr "" +"Retorna um objeto :class:`TarFile` para o caminho *name*. Para obter " +"informações detalhadas sobre objetos :class:`TarFile` e os argumentos " +"nomeados permitidos, consulte :ref:`tarfile-objects`." #: ../../library/tarfile.rst:46 msgid "" "*mode* has to be a string of the form ``'filemode[:compression]'``, it " "defaults to ``'r'``. Here is a full list of mode combinations:" msgstr "" +"*mode* deve ser uma string no formato ``'filemode[:compression]'``, o padrão " +"é ``'r'``. Aqui está uma lista completa de combinações de modos:" #: ../../library/tarfile.rst:50 msgid "mode" -msgstr "modo" +msgstr "mode" #: ../../library/tarfile.rst:50 msgid "action" -msgstr "action" +msgstr "ação" #: ../../library/tarfile.rst:52 msgid "``'r' or 'r:*'``" -msgstr "" +msgstr "``'r' or 'r:*'``" #: ../../library/tarfile.rst:52 msgid "Open for reading with transparent compression (recommended)." -msgstr "" +msgstr "Abre para leitura com compactação transparente (recomendado)." #: ../../library/tarfile.rst:55 msgid "``'r:'``" @@ -116,7 +129,7 @@ msgstr "``'r:'``" #: ../../library/tarfile.rst:55 msgid "Open for reading exclusively without compression." -msgstr "" +msgstr "Abre para leitura exclusivamente sem compactação." #: ../../library/tarfile.rst:58 msgid "``'r:gz'``" @@ -124,7 +137,7 @@ msgstr "``'r:gz'``" #: ../../library/tarfile.rst:58 msgid "Open for reading with gzip compression." -msgstr "" +msgstr "Abre para leitura com compactação gzip." #: ../../library/tarfile.rst:60 msgid "``'r:bz2'``" @@ -132,7 +145,7 @@ msgstr "``'r:bz2'``" #: ../../library/tarfile.rst:60 msgid "Open for reading with bzip2 compression." -msgstr "" +msgstr "Abre para leitura com compactação bzip2." #: ../../library/tarfile.rst:62 msgid "``'r:xz'``" @@ -140,17 +153,19 @@ msgstr "``'r:xz'``" #: ../../library/tarfile.rst:62 msgid "Open for reading with lzma compression." -msgstr "" +msgstr "Abre para leitura com compactação lzma." #: ../../library/tarfile.rst:64 msgid "``'x'`` or ``'x:'``" -msgstr "" +msgstr "``'x'`` ou ``'x:'``" #: ../../library/tarfile.rst:64 msgid "" -"Create a tarfile exclusively without compression. Raise a :exc:" -"`FileExistsError` exception if it already exists." +"Create a tarfile exclusively without compression. Raise " +"a :exc:`FileExistsError` exception if it already exists." msgstr "" +"Cria um arquivo tar exclusivamente sem compactação. Levanta uma " +"exceção :exc:`FileExistsError` se ele já existir." #: ../../library/tarfile.rst:69 msgid "``'x:gz'``" @@ -161,6 +176,8 @@ msgid "" "Create a tarfile with gzip compression. Raise a :exc:`FileExistsError` " "exception if it already exists." msgstr "" +"Cria um arquivo tar com compactação gzip. Levanta uma " +"exceção :exc:`FileExistsError` se ele já existir." #: ../../library/tarfile.rst:73 msgid "``'x:bz2'``" @@ -171,6 +188,8 @@ msgid "" "Create a tarfile with bzip2 compression. Raise a :exc:`FileExistsError` " "exception if it already exists." msgstr "" +"Cria um arquivo tar com compactação bzip2. Levanta uma " +"exceção :exc:`FileExistsError` se ele já existir." #: ../../library/tarfile.rst:77 msgid "``'x:xz'``" @@ -181,24 +200,28 @@ msgid "" "Create a tarfile with lzma compression. Raise a :exc:`FileExistsError` " "exception if it already exists." msgstr "" +"Cria um arquivo tar com compactação lzma. Levanta uma " +"exceção :exc:`FileExistsError` se ele já existir." #: ../../library/tarfile.rst:81 msgid "``'a' or 'a:'``" -msgstr "" +msgstr "``'a' or 'a:'``" #: ../../library/tarfile.rst:81 msgid "" "Open for appending with no compression. The file is created if it does not " "exist." msgstr "" +"Aberto para acrescentar conteúdo sem compactação. O arquivo é criado se não " +"existir." #: ../../library/tarfile.rst:84 msgid "``'w' or 'w:'``" -msgstr "" +msgstr "``'w' or 'w:'``" #: ../../library/tarfile.rst:84 msgid "Open for uncompressed writing." -msgstr "" +msgstr "Abre para gravação descompactada." #: ../../library/tarfile.rst:86 msgid "``'w:gz'``" @@ -206,7 +229,7 @@ msgstr "``'w:gz'``" #: ../../library/tarfile.rst:86 msgid "Open for gzip compressed writing." -msgstr "" +msgstr "Abre para gravação compactada com gzip." #: ../../library/tarfile.rst:88 msgid "``'w:bz2'``" @@ -214,7 +237,7 @@ msgstr "``'w:bz2'``" #: ../../library/tarfile.rst:88 msgid "Open for bzip2 compressed writing." -msgstr "" +msgstr "Abre para gravação compactada com bzip2." #: ../../library/tarfile.rst:90 msgid "``'w:xz'``" @@ -222,27 +245,35 @@ msgstr "``'w:xz'``" #: ../../library/tarfile.rst:90 msgid "Open for lzma compressed writing." -msgstr "" +msgstr "Abre para gravação compactada com lzma." #: ../../library/tarfile.rst:93 msgid "" "Note that ``'a:gz'``, ``'a:bz2'`` or ``'a:xz'`` is not possible. If *mode* " -"is not suitable to open a certain (compressed) file for reading, :exc:" -"`ReadError` is raised. Use *mode* ``'r'`` to avoid this. If a compression " -"method is not supported, :exc:`CompressionError` is raised." +"is not suitable to open a certain (compressed) file for " +"reading, :exc:`ReadError` is raised. Use *mode* ``'r'`` to avoid this. If a " +"compression method is not supported, :exc:`CompressionError` is raised." msgstr "" +"Observe que ``'a:gz'``, ``'a:bz2'`` ou ``'a:xz'`` não são possíveis. Se o " +"*mode* não for adequado para abrir um determinado arquivo (compactado) para " +"leitura, :exc:`ReadError` será levantada. Use o *mode* ``'r'`` para evitar " +"isso. Se um método de compactação não for suportado, :exc:`CompressionError` " +"será levantada." #: ../../library/tarfile.rst:98 msgid "" "If *fileobj* is specified, it is used as an alternative to a :term:`file " "object` opened in binary mode for *name*. It is supposed to be at position 0." msgstr "" +"Se *fileobj* for especificado, ele será usado como alternativa a " +"um :term:`objeto arquivo` aberto em modo binário para *name*. Ele deve estar " +"na posição 0." #: ../../library/tarfile.rst:101 msgid "" -"For modes ``'w:gz'``, ``'r:gz'``, ``'w:bz2'``, ``'r:bz2'``, ``'x:gz'``, ``'x:" -"bz2'``, :func:`tarfile.open` accepts the keyword argument *compresslevel* " -"(default ``9``) to specify the compression level of the file." +"For modes ``'w:gz'``, ``'r:gz'``, ``'w:bz2'``, ``'r:bz2'``, ``'x:gz'``, " +"``'x:bz2'``, :func:`tarfile.open` accepts the keyword argument " +"*compresslevel* (default ``9``) to specify the compression level of the file." msgstr "" #: ../../library/tarfile.rst:105 @@ -256,395 +287,559 @@ msgid "" "For special purposes, there is a second format for *mode*: ``'filemode|" "[compression]'``. :func:`tarfile.open` will return a :class:`TarFile` " "object that processes its data as a stream of blocks. No random seeking " -"will be done on the file. If given, *fileobj* may be any object that has a :" -"meth:`read` or :meth:`write` method (depending on the *mode*). *bufsize* " -"specifies the blocksize and defaults to ``20 * 512`` bytes. Use this variant " -"in combination with e.g. ``sys.stdin``, a socket :term:`file object` or a " -"tape device. However, such a :class:`TarFile` object is limited in that it " +"will be done on the file. If given, *fileobj* may be any object that has " +"a :meth:`~io.RawIOBase.read` or :meth:`~io.RawIOBase.write` method " +"(depending on the *mode*) that works with bytes. *bufsize* specifies the " +"blocksize and defaults to ``20 * 512`` bytes. Use this variant in " +"combination with e.g. ``sys.stdin.buffer``, a socket :term:`file object` or " +"a tape device. However, such a :class:`TarFile` object is limited in that it " "does not allow random access, see :ref:`tar-examples`. The currently " "possible modes:" msgstr "" +"Para fins especiais, existe um segundo formato para *mode*: ``'filemode|" +"[compression]'``. :func:`tarfile.open` retornará um objeto :class:`TarFile` " +"que processa seus dados como um fluxo de blocos. Nenhuma busca aleatória " +"será realizada no arquivo. Se fornecido, *fileobj* pode ser qualquer objeto " +"que tenha um método :meth:`~io.RawIOBase.read` " +"ou :meth:`~io.RawIOBase.write` (dependendo do *mode*) que funcione com " +"bytes. *bufsize* especifica o tamanho do bloco e o padrão é ``20 * 512`` " +"bytes. Use esta variante em combinação com, por exemplo, " +"``sys.stdin.buffer``, um :term:`objeto arquivo` de soquete ou um dispositivo " +"de fita. No entanto, tal objeto :class:`TarFile` é limitado, pois não " +"permite acesso aleatório; consulte :ref:`tar-examples`. Os modos atualmente " +"possíveis:" -#: ../../library/tarfile.rst:120 +#: ../../library/tarfile.rst:122 msgid "Mode" msgstr "Modo" -#: ../../library/tarfile.rst:120 +#: ../../library/tarfile.rst:122 msgid "Action" -msgstr "" +msgstr "Ação" -#: ../../library/tarfile.rst:122 +#: ../../library/tarfile.rst:124 msgid "``'r|*'``" msgstr "``'r|*'``" -#: ../../library/tarfile.rst:122 +#: ../../library/tarfile.rst:124 msgid "Open a *stream* of tar blocks for reading with transparent compression." msgstr "" +"Abre um *stream* de blocos tar para leitura com compactação transparente." -#: ../../library/tarfile.rst:125 +#: ../../library/tarfile.rst:127 msgid "``'r|'``" msgstr "``'r|'``" -#: ../../library/tarfile.rst:125 +#: ../../library/tarfile.rst:127 msgid "Open a *stream* of uncompressed tar blocks for reading." -msgstr "" +msgstr "Abre um *stream* de blocos tar não compactados para leitura." -#: ../../library/tarfile.rst:128 +#: ../../library/tarfile.rst:130 msgid "``'r|gz'``" msgstr "``'r|gz'``" -#: ../../library/tarfile.rst:128 +#: ../../library/tarfile.rst:130 msgid "Open a gzip compressed *stream* for reading." -msgstr "" +msgstr "Abre um *stream* compactado com gzip para leitura." -#: ../../library/tarfile.rst:131 +#: ../../library/tarfile.rst:133 msgid "``'r|bz2'``" msgstr "``'r|bz2'``" -#: ../../library/tarfile.rst:131 +#: ../../library/tarfile.rst:133 msgid "Open a bzip2 compressed *stream* for reading." -msgstr "" +msgstr "Abre um *stream* compactado com bzip2 para leitura." -#: ../../library/tarfile.rst:134 +#: ../../library/tarfile.rst:136 msgid "``'r|xz'``" msgstr "``'r|xz'``" -#: ../../library/tarfile.rst:134 +#: ../../library/tarfile.rst:136 msgid "Open an lzma compressed *stream* for reading." -msgstr "" +msgstr "Abre um *stream* compactado com lzma para leitura." -#: ../../library/tarfile.rst:137 +#: ../../library/tarfile.rst:139 msgid "``'w|'``" msgstr "``'w|'``" -#: ../../library/tarfile.rst:137 +#: ../../library/tarfile.rst:139 msgid "Open an uncompressed *stream* for writing." -msgstr "" +msgstr "Abre um *stream* descompactado para gravação." -#: ../../library/tarfile.rst:139 +#: ../../library/tarfile.rst:141 msgid "``'w|gz'``" msgstr "``'w|gz'``" -#: ../../library/tarfile.rst:139 +#: ../../library/tarfile.rst:141 msgid "Open a gzip compressed *stream* for writing." -msgstr "" +msgstr "Abre um *stream* compactado com gzip para gravação." -#: ../../library/tarfile.rst:142 +#: ../../library/tarfile.rst:144 msgid "``'w|bz2'``" msgstr "``'w|bz2'``" -#: ../../library/tarfile.rst:142 +#: ../../library/tarfile.rst:144 msgid "Open a bzip2 compressed *stream* for writing." -msgstr "" +msgstr "Abre um *stream* compactado com bzip2 para gravação." -#: ../../library/tarfile.rst:145 +#: ../../library/tarfile.rst:147 msgid "``'w|xz'``" msgstr "``'w|xz'``" -#: ../../library/tarfile.rst:145 +#: ../../library/tarfile.rst:147 msgid "Open an lzma compressed *stream* for writing." -msgstr "" +msgstr "Abre um *stream* compactado com lzma para gravação." -#: ../../library/tarfile.rst:149 ../../library/tarfile.rst:365 +#: ../../library/tarfile.rst:151 ../../library/tarfile.rst:421 msgid "The ``'x'`` (exclusive creation) mode was added." msgstr "O modo ``'x'`` (criação exclusiva) foi adicionado." -#: ../../library/tarfile.rst:152 ../../library/tarfile.rst:368 -#: ../../library/tarfile.rst:605 +#: ../../library/tarfile.rst:154 ../../library/tarfile.rst:424 +#: ../../library/tarfile.rst:661 msgid "The *name* parameter accepts a :term:`path-like object`." -msgstr "" +msgstr "O parâmetro *name* aceita um :term:`objeto caminho ou similar`." -#: ../../library/tarfile.rst:159 +#: ../../library/tarfile.rst:161 msgid "" "Class for reading and writing tar archives. Do not use this class directly: " "use :func:`tarfile.open` instead. See :ref:`tarfile-objects`." msgstr "" +"Classe para ler e escrever arquivos tar. Não use esta classe diretamente: " +"use :func:`tarfile.open` em vez disso. Veja :ref:`tarfile-objects`." -#: ../../library/tarfile.rst:165 +#: ../../library/tarfile.rst:167 msgid "" -"Return :const:`True` if *name* is a tar archive file, that the :mod:" -"`tarfile` module can read. *name* may be a :class:`str`, file, or file-like " -"object." +"Return :const:`True` if *name* is a tar archive file, that " +"the :mod:`tarfile` module can read. *name* may be a :class:`str`, file, or " +"file-like object." msgstr "" +"Retorna :const:`True` se *name* for um arquivo tar que o " +"módulo :mod:`tarfile` possa ler. *name* pode ser uma :class:`str`, objeto " +"arquivo ou similar." -#: ../../library/tarfile.rst:168 +#: ../../library/tarfile.rst:170 msgid "Support for file and file-like objects." msgstr "Suporte para arquivo e objetos arquivo ou similares." -#: ../../library/tarfile.rst:172 +#: ../../library/tarfile.rst:174 msgid "The :mod:`tarfile` module defines the following exceptions:" -msgstr "" +msgstr "O módulo :mod:`tarfile` define as seguintes exceções:" -#: ../../library/tarfile.rst:177 +#: ../../library/tarfile.rst:179 msgid "Base class for all :mod:`tarfile` exceptions." -msgstr "" +msgstr "Classe base para todas as exceções de :mod:`tarfile`." -#: ../../library/tarfile.rst:182 +#: ../../library/tarfile.rst:184 msgid "" "Is raised when a tar archive is opened, that either cannot be handled by " "the :mod:`tarfile` module or is somehow invalid." msgstr "" +"É levantada quando um arquivo tar é aberto e não pode ser manipulado pelo " +"módulo :mod:`tarfile` ou é inválido de alguma forma." -#: ../../library/tarfile.rst:188 +#: ../../library/tarfile.rst:190 msgid "" "Is raised when a compression method is not supported or when the data cannot " "be decoded properly." msgstr "" +"É levantada quando um método de compactação não é suportado ou quando os " +"dados não podem ser decodificados corretamente." -#: ../../library/tarfile.rst:194 +#: ../../library/tarfile.rst:196 msgid "" -"Is raised for the limitations that are typical for stream-like :class:" -"`TarFile` objects." +"Is raised for the limitations that are typical for stream-" +"like :class:`TarFile` objects." msgstr "" +"É levantada para as limitações típicas de objetos :class:`TarFile` do tipo " +"fluxo." -#: ../../library/tarfile.rst:200 +#: ../../library/tarfile.rst:202 msgid "" "Is raised for *non-fatal* errors when using :meth:`TarFile.extract`, but " "only if :attr:`TarFile.errorlevel`\\ ``== 2``." msgstr "" +"É levantada para erros *não fatais* ao usar :meth:`TarFile.extract`, mas " +"somente se :attr:`TarFile.errorlevel`\\ ``== 2``." -#: ../../library/tarfile.rst:206 +#: ../../library/tarfile.rst:208 msgid "Is raised by :meth:`TarInfo.frombuf` if the buffer it gets is invalid." msgstr "" +"É levantada por :meth:`TarInfo.frombuf` se o buffer obtido for inválido." -#: ../../library/tarfile.rst:211 +#: ../../library/tarfile.rst:213 msgid "" "Base class for members :ref:`refused ` by filters." msgstr "" +"Classe base para membros :ref:`recusados ` por " +"filtros." -#: ../../library/tarfile.rst:216 +#: ../../library/tarfile.rst:218 msgid "" -"Information about the member that the filter refused to extract, as :ref:" -"`TarInfo `." +"Information about the member that the filter refused to extract, " +"as :ref:`TarInfo `." msgstr "" +"Informações sobre o membro que o filtro se recusou a extrair, " +"como :ref:`TarInfo `." -#: ../../library/tarfile.rst:221 +#: ../../library/tarfile.rst:223 msgid "Raised to refuse extracting a member with an absolute path." msgstr "" +"Levantada para recusar a extração de um membro com um caminho absoluto." -#: ../../library/tarfile.rst:225 +#: ../../library/tarfile.rst:227 msgid "Raised to refuse extracting a member outside the destination directory." msgstr "" +"Levantada para recusar a extração de um membro fora do diretório de destino." -#: ../../library/tarfile.rst:229 +#: ../../library/tarfile.rst:231 msgid "Raised to refuse extracting a special file (e.g. a device or pipe)." msgstr "" +"Levantada para recusar a extração de um arquivo especial (por exemplo, um " +"dispositivo ou encadeamento)." -#: ../../library/tarfile.rst:233 +#: ../../library/tarfile.rst:235 msgid "Raised to refuse extracting a symbolic link with an absolute path." msgstr "" +"Levantada para recusar a extração de um link simbólico com um caminho " +"absoluto." -#: ../../library/tarfile.rst:237 +#: ../../library/tarfile.rst:239 msgid "" "Raised to refuse extracting a symbolic link pointing outside the destination " "directory." msgstr "" +"Levantada para recusar a extração de um link simbólico apontando para fora " +"do diretório de destino." -#: ../../library/tarfile.rst:241 -msgid "The following constants are available at the module level:" +#: ../../library/tarfile.rst:244 +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 "" +"Levantada para recusar a emulação de um link (físico ou simbólico) extraindo " +"outro membro do arquivo, quando esse membro seria rejeitado pelo local do " +"filtro. A exceção levantada para rejeitar o membro substituto está " +"disponível como :attr:`!BaseException.__context__`." + +#: ../../library/tarfile.rst:252 +msgid "The following constants are available at the module level:" +msgstr "As seguintes constantes estão disponíveis a nível de módulo:" -#: ../../library/tarfile.rst:245 +#: ../../library/tarfile.rst:256 msgid "" "The default character encoding: ``'utf-8'`` on Windows, the value returned " "by :func:`sys.getfilesystemencoding` otherwise." msgstr "" +"A codificação de caracteres padrão: ``'utf-8'`` no Windows, o valor " +"retornado por :func:`sys.getfilesystemencoding`, caso contrário." + +#: ../../library/tarfile.rst:262 +msgid "A regular file :attr:`~TarInfo.type`." +msgstr "Um arquivo normal :attr:`~TarInfo.type`." + +#: ../../library/tarfile.rst:266 +msgid "A link (inside tarfile) :attr:`~TarInfo.type`." +msgstr "Um link (dentro do arquivo tar) :attr:`~TarInfo.type`." + +#: ../../library/tarfile.rst:270 +msgid "A symbolic link :attr:`~TarInfo.type`." +msgstr "Um link simbólico :attr:`~TarInfo.type`." + +#: ../../library/tarfile.rst:274 +msgid "A character special device :attr:`~TarInfo.type`." +msgstr "Um dispositivo especial de caracteres :attr:`~TarInfo.type`." + +#: ../../library/tarfile.rst:278 +msgid "A block special device :attr:`~TarInfo.type`." +msgstr "Um dispositivo especial de bloco :attr:`~TarInfo.type`." + +#: ../../library/tarfile.rst:282 +msgid "A directory :attr:`~TarInfo.type`." +msgstr "Um diretório :attr:`~TarInfo.type`." + +#: ../../library/tarfile.rst:286 +msgid "A FIFO special device :attr:`~TarInfo.type`." +msgstr "Um dispositivo especial de FIFO :attr:`~TarInfo.type`." + +#: ../../library/tarfile.rst:290 +msgid "A contiguous file :attr:`~TarInfo.type`." +msgstr "Um arquivo contíguo :attr:`~TarInfo.type`." -#: ../../library/tarfile.rst:249 +#: ../../library/tarfile.rst:294 +msgid "A GNU tar longname :attr:`~TarInfo.type`." +msgstr "Um :attr:`~TarInfo.type` de longname de GNU tar." + +#: ../../library/tarfile.rst:298 +msgid "A GNU tar longlink :attr:`~TarInfo.type`." +msgstr "Um :attr:`~TarInfo.type` de longlink de GNU tar." + +#: ../../library/tarfile.rst:302 +msgid "A GNU tar sparse file :attr:`~TarInfo.type`." +msgstr "Um :attr:`~TarInfo.type` de arquivo esparso de GNU tar." + +#: ../../library/tarfile.rst:305 msgid "" -"Each of the following constants defines a tar archive format that the :mod:" -"`tarfile` module is able to create. See section :ref:`tar-formats` for " -"details." +"Each of the following constants defines a tar archive format that " +"the :mod:`tarfile` module is able to create. See section :ref:`tar-formats` " +"for details." msgstr "" +"Cada uma das constantes a seguir define um formato de arquivo tar que o " +"módulo :mod:`tarfile` é capaz de criar. Consulte a seção :ref:`tar-formats` " +"para obter detalhes." -#: ../../library/tarfile.rst:256 +#: ../../library/tarfile.rst:312 msgid "POSIX.1-1988 (ustar) format." -msgstr "" +msgstr "formato POSIX.1-1988 (ustar)." -#: ../../library/tarfile.rst:261 +#: ../../library/tarfile.rst:317 msgid "GNU tar format." msgstr "Formato tar GNU" -#: ../../library/tarfile.rst:266 +#: ../../library/tarfile.rst:322 msgid "POSIX.1-2001 (pax) format." -msgstr "" +msgstr "formato POSIX.1-2001 (pax)." -#: ../../library/tarfile.rst:271 +#: ../../library/tarfile.rst:327 msgid "" -"The default format for creating archives. This is currently :const:" -"`PAX_FORMAT`." +"The default format for creating archives. This is " +"currently :const:`PAX_FORMAT`." msgstr "" +"O formato padrão para criação de arquivos. Atualmente, é :const:`PAX_FORMAT`." -#: ../../library/tarfile.rst:273 +#: ../../library/tarfile.rst:329 msgid "" -"The default format for new archives was changed to :const:`PAX_FORMAT` from :" -"const:`GNU_FORMAT`." +"The default format for new archives was changed to :const:`PAX_FORMAT` " +"from :const:`GNU_FORMAT`." msgstr "" +"O formato padrão para novos arquivos foi alterado de :const:`GNU_FORMAT` " +"para :const:`PAX_FORMAT`." -#: ../../library/tarfile.rst:281 +#: ../../library/tarfile.rst:337 msgid "Module :mod:`zipfile`" -msgstr "" +msgstr "Módulo :mod:`zipfile`" -#: ../../library/tarfile.rst:281 +#: ../../library/tarfile.rst:337 msgid "Documentation of the :mod:`zipfile` standard module." -msgstr "" +msgstr "Documentação do módulo padrão :mod:`zipfile`." -#: ../../library/tarfile.rst:285 +#: ../../library/tarfile.rst:341 msgid ":ref:`archiving-operations`" msgstr ":ref:`archiving-operations`" -#: ../../library/tarfile.rst:284 +#: ../../library/tarfile.rst:340 msgid "" "Documentation of the higher-level archiving facilities provided by the " "standard :mod:`shutil` module." msgstr "" +"Documentação das funcionalidades de arquivamento de nível mais alto " +"fornecidas pelo módulo padrão :mod:`shutil`." -#: ../../library/tarfile.rst:287 +#: ../../library/tarfile.rst:343 msgid "" "`GNU tar manual, Basic Tar Format `_" msgstr "" +"`Manual do GNU tar, Formato Básico do Tar `_" -#: ../../library/tarfile.rst:288 +#: ../../library/tarfile.rst:344 msgid "Documentation for tar archive files, including GNU tar extensions." -msgstr "" +msgstr "Documentação para arquivos tar, incluindo extensões GNU tar." -#: ../../library/tarfile.rst:294 +#: ../../library/tarfile.rst:350 msgid "TarFile Objects" -msgstr "" +msgstr "Objetos TarFile" -#: ../../library/tarfile.rst:296 +#: ../../library/tarfile.rst:352 msgid "" "The :class:`TarFile` object provides an interface to a tar archive. A tar " "archive is a sequence of blocks. An archive member (a stored file) is made " "up of a header block followed by data blocks. It is possible to store a file " -"in a tar archive several times. Each archive member is represented by a :" -"class:`TarInfo` object, see :ref:`tarinfo-objects` for details." -msgstr "" - -#: ../../library/tarfile.rst:302 -msgid "" -"A :class:`TarFile` object can be used as a context manager in a :keyword:" -"`with` statement. It will automatically be closed when the block is " -"completed. Please note that in the event of an exception an archive opened " -"for writing will not be finalized; only the internally used file object will " -"be closed. See the :ref:`tar-examples` section for a use case." -msgstr "" - -#: ../../library/tarfile.rst:308 +"in a tar archive several times. Each archive member is represented by " +"a :class:`TarInfo` object, see :ref:`tarinfo-objects` for details." +msgstr "" +"O objeto :class:`TarFile` fornece uma interface para um arquivo tar. Um " +"arquivo tar é uma sequência de blocos. Um membro do arquivo (um arquivo " +"armazenado) é composto por um bloco de cabeçalho seguido por blocos de " +"dados. É possível armazenar um arquivo em um arquivo tar várias vezes. Cada " +"membro do arquivo é representado por um objeto :class:`TarInfo`, " +"veja :ref:`tarinfo-objects` para mais detalhes." + +#: ../../library/tarfile.rst:358 +msgid "" +"A :class:`TarFile` object can be used as a context manager in " +"a :keyword:`with` statement. It will automatically be closed when the block " +"is completed. Please note that in the event of an exception an archive " +"opened for writing will not be finalized; only the internally used file " +"object will be closed. See the :ref:`tar-examples` section for a use case." +msgstr "" +"Um objeto :class:`TarFile` pode ser usado como gerenciador de contexto em " +"uma instrução :keyword:`with`. Ele será fechado automaticamente quando o " +"bloco for concluído. Observe que, em caso de exceção, um arquivo aberto para " +"gravação não será finalizado; apenas o objeto arquivo usado internamente " +"será fechado. Consulte a seção :ref:`tar-examples` para um exemplo de uso." + +#: ../../library/tarfile.rst:364 msgid "Added support for the context management protocol." -msgstr "" +msgstr "Adicionado suporte para o protocolo de gerenciamento de contexto." -#: ../../library/tarfile.rst:313 +#: ../../library/tarfile.rst:369 msgid "" "All following arguments are optional and can be accessed as instance " "attributes as well." msgstr "" +"Todos os argumentos a seguir são opcionais e também podem ser acessados como " +"atributos de instância." -#: ../../library/tarfile.rst:316 +#: ../../library/tarfile.rst:372 msgid "" "*name* is the pathname of the archive. *name* may be a :term:`path-like " "object`. It can be omitted if *fileobj* is given. In this case, the file " -"object's :attr:`name` attribute is used if it exists." +"object's :attr:`!name` attribute is used if it exists." msgstr "" +"*name* é o caminho do arquivo. *name* pode ser um :term:`objeto caminho ou " +"similar`. Pode ser omitido se *fileobj* for fornecido. Nesse caso, o " +"atributo :attr:`!name` do objeto arquivo será usado, se existir." -#: ../../library/tarfile.rst:320 +#: ../../library/tarfile.rst:376 msgid "" "*mode* is either ``'r'`` to read from an existing archive, ``'a'`` to append " "data to an existing file, ``'w'`` to create a new file overwriting an " "existing one, or ``'x'`` to create a new file only if it does not already " "exist." msgstr "" +"O parâmetro *mode* pode ser ``'r'`` para ler de um arquivo existente, " +"``'a'`` para adicionar dados a um arquivo existente, ``'w'`` para criar um " +"novo arquivo sobrescrevendo um existente ou ``'x'`` para criar um novo " +"arquivo somente se ele ainda não existir." -#: ../../library/tarfile.rst:324 +#: ../../library/tarfile.rst:380 msgid "" "If *fileobj* is given, it is used for reading or writing data. If it can be " "determined, *mode* is overridden by *fileobj*'s mode. *fileobj* will be used " "from position 0." msgstr "" +"Se *fileobj* for fornecido, ele será usado para leitura ou gravação de " +"dados. Se for possível determinar, *mode* será substituído pelo modo de " +"*fileobj*. *fileobj* será usado a partir da posição 0." -#: ../../library/tarfile.rst:330 +#: ../../library/tarfile.rst:386 msgid "*fileobj* is not closed, when :class:`TarFile` is closed." -msgstr "" +msgstr "*fileobj* não é fechado quando :class:`TarFile` é fechado." -#: ../../library/tarfile.rst:332 +#: ../../library/tarfile.rst:388 msgid "" "*format* controls the archive format for writing. It must be one of the " "constants :const:`USTAR_FORMAT`, :const:`GNU_FORMAT` or :const:`PAX_FORMAT` " "that are defined at module level. When reading, format will be automatically " "detected, even if different formats are present in a single archive." msgstr "" +"*format* controla o formato de gravação do arquivo. Deve ser uma das " +"constantes :const:`USTAR_FORMAT`, :const:`GNU_FORMAT` ou :const:`PAX_FORMAT` " +"definidas no nível do módulo. Durante a leitura, o formato será detectado " +"automaticamente, mesmo que diferentes formatos estejam presentes em um único " +"arquivo." -#: ../../library/tarfile.rst:337 +#: ../../library/tarfile.rst:393 msgid "" "The *tarinfo* argument can be used to replace the default :class:`TarInfo` " "class with a different one." msgstr "" +"O argumento *tarinfo* pode ser usado para substituir a classe " +"padrão :class:`TarInfo` por uma diferente." -#: ../../library/tarfile.rst:340 +#: ../../library/tarfile.rst:396 msgid "" "If *dereference* is :const:`False`, add symbolic and hard links to the " "archive. If it is :const:`True`, add the content of the target files to the " "archive. This has no effect on systems that do not support symbolic links." msgstr "" +"Se *dereference* for :const:`False`, adiciona links físicos e simbólicos ao " +"arquivo. Se for :const:`True`, adiciona o conteúdo dos arquivos de destino " +"ao arquivo. Isso não tem efeito em sistemas que não oferecem suporte a links " +"simbólicos." -#: ../../library/tarfile.rst:344 +#: ../../library/tarfile.rst:400 msgid "" "If *ignore_zeros* is :const:`False`, treat an empty block as the end of the " "archive. If it is :const:`True`, skip empty (and invalid) blocks and try to " "get as many members as possible. This is only useful for reading " "concatenated or damaged archives." msgstr "" +"Se *ignore_zeros* for :const:`False`, trata um bloco vazio como o fim do " +"arquivo. Se for :const:`True`, ignora blocos vazios (e inválidos) e tenta " +"obter o máximo de membros possível. Isso só é útil para ler arquivos " +"concatenados ou corrompidos." -#: ../../library/tarfile.rst:348 +#: ../../library/tarfile.rst:404 msgid "" "*debug* can be set from ``0`` (no debug messages) up to ``3`` (all debug " "messages). The messages are written to ``sys.stderr``." msgstr "" +"O parâmetro *debug* pode ser configurado de ``0`` (nenhuma mensagem de " +"depuração) até ``3`` (todas as mensagens de depuração). As mensagens são " +"gravadas em ``sys.stderr``." -#: ../../library/tarfile.rst:351 +#: ../../library/tarfile.rst:407 msgid "" "*errorlevel* controls how extraction errors are handled, see :attr:`the " -"corresponding attribute <~TarFile.errorlevel>`." +"corresponding attribute `." msgstr "" +"*errorlevel* controla como os erros de extração são tratados, veja :attr:`o " +"atributo correspondente `." -#: ../../library/tarfile.rst:354 +#: ../../library/tarfile.rst:410 msgid "" "The *encoding* and *errors* arguments define the character encoding to be " "used for reading or writing the archive and how conversion errors are going " -"to be handled. The default settings will work for most users. See section :" -"ref:`tar-unicode` for in-depth information." +"to be handled. The default settings will work for most users. See " +"section :ref:`tar-unicode` for in-depth information." msgstr "" +"Os argumentos *encoding* e *errors* definem a codificação de caracteres a " +"ser usada para leitura ou gravação do arquivo e como os erros de conversão " +"serão tratados. As configurações padrão funcionarão para a maioria dos " +"usuários. Consulta a seção :ref:`tar-unicode` para obter informações " +"detalhadas." -#: ../../library/tarfile.rst:359 +#: ../../library/tarfile.rst:415 msgid "" "The *pax_headers* argument is an optional dictionary of strings which will " "be added as a pax global header if *format* is :const:`PAX_FORMAT`." msgstr "" +"O argumento *pax_headers* é um dicionário opcional de strings que será " +"adicionado como um cabeçalho global pax se *format* for :const:`PAX_FORMAT`." -#: ../../library/tarfile.rst:362 ../../library/tarfile.rst:678 +#: ../../library/tarfile.rst:418 ../../library/tarfile.rst:735 msgid "Use ``'surrogateescape'`` as the default for the *errors* argument." -msgstr "" +msgstr "Usa ``'surrogateescape'`` como padrão para o argumento *errors*." -#: ../../library/tarfile.rst:374 +#: ../../library/tarfile.rst:430 msgid "" "Alternative constructor. The :func:`tarfile.open` function is actually a " "shortcut to this classmethod." msgstr "" +"Construtor alternativo. A função :func:`tarfile.open` é, na verdade, um " +"atalho para este método de classe." -#: ../../library/tarfile.rst:380 +#: ../../library/tarfile.rst:436 msgid "" "Return a :class:`TarInfo` object for member *name*. If *name* can not be " "found in the archive, :exc:`KeyError` is raised." msgstr "" +"Retorna um objeto :class:`TarInfo` para o membro *name*. Se *name* não for " +"encontrado no arquivo, uma exceção :exc:`KeyError` será levantada." -#: ../../library/tarfile.rst:385 +#: ../../library/tarfile.rst:441 msgid "" "If a member occurs more than once in the archive, its last occurrence is " "assumed to be the most up-to-date version." msgstr "" +"Se um membro aparecer mais de uma vez no arquivo, presume-se que sua última " +"ocorrência seja a versão mais atualizada." -#: ../../library/tarfile.rst:391 +#: ../../library/tarfile.rst:447 msgid "" "Return the members of the archive as a list of :class:`TarInfo` objects. The " "list has the same order as the members in the archive." @@ -652,32 +847,42 @@ msgstr "" "Retorna os membros do arquivo como uma lista de objetos :class:`TarInfo`. A " "lista tem a mesma ordem que os membros no arquivo." -#: ../../library/tarfile.rst:397 +#: ../../library/tarfile.rst:453 msgid "" "Return the members as a list of their names. It has the same order as the " "list returned by :meth:`getmembers`." msgstr "" +"Retorna os membros como uma lista com seus nomes. A lista está na mesma " +"ordem que a lista retornada por :meth:`getmembers`." -#: ../../library/tarfile.rst:403 +#: ../../library/tarfile.rst:459 msgid "" "Print a table of contents to ``sys.stdout``. If *verbose* is :const:`False`, " "only the names of the members are printed. If it is :const:`True`, output " "similar to that of :program:`ls -l` is produced. If optional *members* is " "given, it must be a subset of the list returned by :meth:`getmembers`." msgstr "" +"Envia um índice para ``sys.stdout``. Se *verbose* for :const:`False`, apenas " +"os nomes dos membros serão exibidos. Se for :const:`True`, a saída será " +"semelhante à do comando :program:`ls -l`. Se o parâmetro opcional *members* " +"for fornecido, ele deverá ser um subconjunto da lista retornada pelo " +"método :meth:`getmembers`." -#: ../../library/tarfile.rst:408 +#: ../../library/tarfile.rst:464 msgid "Added the *members* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *members*." -#: ../../library/tarfile.rst:414 +#: ../../library/tarfile.rst:470 msgid "" -"Return the next member of the archive as a :class:`TarInfo` object, when :" -"class:`TarFile` is opened for reading. Return :const:`None` if there is no " -"more available." +"Return the next member of the archive as a :class:`TarInfo` object, " +"when :class:`TarFile` is opened for reading. Return :const:`None` if there " +"is no more available." msgstr "" +"Retorna o próximo membro do arquivo como um objeto :class:`TarInfo`, " +"quando :class:`TarFile` é aberto para leitura. Retorna :const:`None` se não " +"houver mais nenhum disponível." -#: ../../library/tarfile.rst:421 +#: ../../library/tarfile.rst:477 msgid "" "Extract all members from the archive to the current working directory or " "directory *path*. If optional *members* is given, it must be a subset of the " @@ -689,14 +894,14 @@ msgid "" "fail." msgstr "" -#: ../../library/tarfile.rst:429 +#: ../../library/tarfile.rst:485 msgid "" "If *numeric_owner* is :const:`True`, the uid and gid numbers from the " "tarfile are used to set the owner/group for the extracted files. Otherwise, " "the named values from the tarfile are used." msgstr "" -#: ../../library/tarfile.rst:433 +#: ../../library/tarfile.rst:489 msgid "" "The *filter* argument, which was added in Python 3.11.4, specifies how " "``members`` are modified or rejected before extraction. See :ref:`tarfile-" @@ -704,7 +909,7 @@ msgid "" "depending on which *tar* features you need to support." msgstr "" -#: ../../library/tarfile.rst:441 +#: ../../library/tarfile.rst:497 msgid "" "Never extract archives from untrusted sources without prior inspection. It " "is possible that files are created outside of *path*, e.g. members that have " @@ -712,26 +917,26 @@ msgid "" "\"``." msgstr "" -#: ../../library/tarfile.rst:446 ../../library/tarfile.rst:479 +#: ../../library/tarfile.rst:502 ../../library/tarfile.rst:535 msgid "" "Set ``filter='data'`` to prevent the most dangerous security issues, and " "read the :ref:`tarfile-extraction-filter` section for details." msgstr "" -#: ../../library/tarfile.rst:449 ../../library/tarfile.rst:485 +#: ../../library/tarfile.rst:505 ../../library/tarfile.rst:541 msgid "Added the *numeric_owner* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *numeric_owner*." -#: ../../library/tarfile.rst:452 ../../library/tarfile.rst:488 +#: ../../library/tarfile.rst:508 ../../library/tarfile.rst:544 msgid "The *path* parameter accepts a :term:`path-like object`." msgstr "O parâmetro *path* aceita um :term:`objeto caminho ou similar`." -#: ../../library/tarfile.rst:455 ../../library/tarfile.rst:491 -#: ../../library/tarfile.rst:571 +#: ../../library/tarfile.rst:511 ../../library/tarfile.rst:547 +#: ../../library/tarfile.rst:627 msgid "Added the *filter* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *filter*." -#: ../../library/tarfile.rst:461 +#: ../../library/tarfile.rst:517 msgid "" "Extract a member from the archive to the current working directory, using " "its full name. Its file information is extracted as accurately as possible. " @@ -740,27 +945,27 @@ msgid "" "File attributes (owner, mtime, mode) are set unless *set_attrs* is false." msgstr "" -#: ../../library/tarfile.rst:467 +#: ../../library/tarfile.rst:523 msgid "" -"The *numeric_owner* and *filter* arguments are the same as for :meth:" -"`extractall`." +"The *numeric_owner* and *filter* arguments are the same as " +"for :meth:`extractall`." msgstr "" -#: ../../library/tarfile.rst:472 +#: ../../library/tarfile.rst:528 msgid "" "The :meth:`extract` method does not take care of several extraction issues. " "In most cases you should consider using the :meth:`extractall` method." msgstr "" -#: ../../library/tarfile.rst:477 +#: ../../library/tarfile.rst:533 msgid "See the warning for :meth:`extractall`." msgstr "" -#: ../../library/tarfile.rst:482 +#: ../../library/tarfile.rst:538 msgid "Added the *set_attrs* parameter." msgstr "" -#: ../../library/tarfile.rst:497 +#: ../../library/tarfile.rst:553 msgid "" "Extract a member from the archive as a file object. *member* may be a " "filename or a :class:`TarInfo` object. If *member* is a regular file or a " @@ -769,53 +974,62 @@ msgid "" "the archive, :exc:`KeyError` is raised." msgstr "" -#: ../../library/tarfile.rst:503 +#: ../../library/tarfile.rst:559 msgid "Return an :class:`io.BufferedReader` object." msgstr "" -#: ../../library/tarfile.rst:509 +#: ../../library/tarfile.rst:565 msgid "" -"If *errorlevel* is ``0``, errors are ignored when using :meth:`TarFile." -"extract` and :meth:`TarFile.extractall`. Nevertheless, they appear as error " -"messages in the debug output when *debug* is greater than 0. If ``1`` (the " -"default), all *fatal* errors are raised as :exc:`OSError` or :exc:" -"`FilterError` exceptions. If ``2``, all *non-fatal* errors are raised as :" -"exc:`TarError` exceptions as well." +"If *errorlevel* is ``0``, errors are ignored when " +"using :meth:`TarFile.extract` and :meth:`TarFile.extractall`. Nevertheless, " +"they appear as error messages in the debug output when *debug* is greater " +"than 0. If ``1`` (the default), all *fatal* errors are raised " +"as :exc:`OSError` or :exc:`FilterError` exceptions. If ``2``, all *non-" +"fatal* errors are raised as :exc:`TarError` exceptions as well." msgstr "" +"Se *errorlevel* for ``0``, os erros serão ignorados ao " +"usar :meth:`TarFile.extract` e :meth:`TarFile.extractall`. No entanto, eles " +"aparecem como mensagens de erro na saída de depuração quando *debug* for " +"maior que 0. Se ``1`` (o padrão), todos os erros *fatais* serão levantados " +"como exceções :exc:`OSError` ou :exc:`FilterError`. Se ``2``, todos os erros " +"*não fatais* também serão levantados como exceções :exc:`TarError`." -#: ../../library/tarfile.rst:517 +#: ../../library/tarfile.rst:573 msgid "" "Some exceptions, e.g. ones caused by wrong argument types or data " "corruption, are always raised." msgstr "" -#: ../../library/tarfile.rst:520 +#: ../../library/tarfile.rst:576 msgid "" -"Custom :ref:`extraction filters ` should raise :" -"exc:`FilterError` for *fatal* errors and :exc:`ExtractError` for *non-fatal* " -"ones." +"Custom :ref:`extraction filters ` should " +"raise :exc:`FilterError` for *fatal* errors and :exc:`ExtractError` for *non-" +"fatal* ones." msgstr "" -#: ../../library/tarfile.rst:524 +#: ../../library/tarfile.rst:580 msgid "" "Note that when an exception is raised, the archive may be partially " "extracted. It is the user’s responsibility to clean up." msgstr "" -#: ../../library/tarfile.rst:531 +#: ../../library/tarfile.rst:587 msgid "" "The :ref:`extraction filter ` used as a default " -"for the *filter* argument of :meth:`~TarFile.extract` and :meth:`~TarFile." -"extractall`." +"for the *filter* argument of :meth:`~TarFile.extract` " +"and :meth:`~TarFile.extractall`." msgstr "" +"O :ref:`filtro de extração ` usado como um padrão " +"para o argumento *filter* de :meth:`~TarFile.extract` " +"e :meth:`~TarFile.extractall`." -#: ../../library/tarfile.rst:535 +#: ../../library/tarfile.rst:591 msgid "" "The attribute may be ``None`` or a callable. String names are not allowed " "for this attribute, unlike the *filter* argument to :meth:`~TarFile.extract`." msgstr "" -#: ../../library/tarfile.rst:539 +#: ../../library/tarfile.rst:595 msgid "" "If ``extraction_filter`` is ``None`` (the default), calling an extraction " "method without a *filter* argument will use the :func:`fully_trusted " @@ -823,19 +1037,19 @@ msgid "" "versions." msgstr "" -#: ../../library/tarfile.rst:544 +#: ../../library/tarfile.rst:600 msgid "" "In Python 3.12+, leaving ``extraction_filter=None`` will emit a " "``DeprecationWarning``." msgstr "" -#: ../../library/tarfile.rst:547 +#: ../../library/tarfile.rst:603 msgid "" "In Python 3.14+, leaving ``extraction_filter=None`` will cause extraction " "methods to use the :func:`data ` filter by default." msgstr "" -#: ../../library/tarfile.rst:550 +#: ../../library/tarfile.rst:606 msgid "" "The attribute may be set on instances or overridden in subclasses. It also " "is possible to set it on the ``TarFile`` class itself to set a global " @@ -846,24 +1060,24 @@ msgid "" "argument." msgstr "" -#: ../../library/tarfile.rst:560 +#: ../../library/tarfile.rst:616 msgid "" "Add the file *name* to the archive. *name* may be any type of file " "(directory, fifo, symbolic link, etc.). If given, *arcname* specifies an " "alternative name for the file in the archive. Directories are added " -"recursively by default. This can be avoided by setting *recursive* to :const:" -"`False`. Recursion adds entries in sorted order. If *filter* is given, it " -"should be a function that takes a :class:`TarInfo` object argument and " -"returns the changed :class:`TarInfo` object. If it instead returns :const:" -"`None` the :class:`TarInfo` object will be excluded from the archive. See :" -"ref:`tar-examples` for an example." +"recursively by default. This can be avoided by setting *recursive* " +"to :const:`False`. Recursion adds entries in sorted order. If *filter* is " +"given, it should be a function that takes a :class:`TarInfo` object argument " +"and returns the changed :class:`TarInfo` object. If it instead " +"returns :const:`None` the :class:`TarInfo` object will be excluded from the " +"archive. See :ref:`tar-examples` for an example." msgstr "" -#: ../../library/tarfile.rst:574 +#: ../../library/tarfile.rst:630 msgid "Recursion adds entries in sorted order." msgstr "" -#: ../../library/tarfile.rst:580 +#: ../../library/tarfile.rst:636 msgid "" "Add the :class:`TarInfo` object *tarinfo* to the archive. If *fileobj* is " "given, it should be a :term:`binary file`, and ``tarinfo.size`` bytes are " @@ -871,7 +1085,7 @@ msgid "" "objects directly, or by using :meth:`gettarinfo`." msgstr "" -#: ../../library/tarfile.rst:588 +#: ../../library/tarfile.rst:644 msgid "" "Create a :class:`TarInfo` object from the result of :func:`os.stat` or " "equivalent on an existing file. The file is either named by *name*, or " @@ -882,31 +1096,31 @@ msgid "" "The name should be a text string." msgstr "" -#: ../../library/tarfile.rst:597 +#: ../../library/tarfile.rst:653 msgid "" "You can modify some of the :class:`TarInfo`’s attributes before you add it " "using :meth:`addfile`. If the file object is not an ordinary file object " -"positioned at the beginning of the file, attributes such as :attr:`~TarInfo." -"size` may need modifying. This is the case for objects such as :class:" -"`~gzip.GzipFile`. The :attr:`~TarInfo.name` may also be modified, in which " -"case *arcname* could be a dummy string." +"positioned at the beginning of the file, attributes such " +"as :attr:`~TarInfo.size` may need modifying. This is the case for objects " +"such as :class:`~gzip.GzipFile`. The :attr:`~TarInfo.name` may also be " +"modified, in which case *arcname* could be a dummy string." msgstr "" -#: ../../library/tarfile.rst:611 +#: ../../library/tarfile.rst:667 msgid "" "Close the :class:`TarFile`. In write mode, two finishing zero blocks are " "appended to the archive." msgstr "" -#: ../../library/tarfile.rst:617 +#: ../../library/tarfile.rst:674 msgid "A dictionary containing key-value pairs of pax global headers." -msgstr "" +msgstr "Um dicionário contendo pares de chave-valor de cabeçalhos globais pax." -#: ../../library/tarfile.rst:624 +#: ../../library/tarfile.rst:681 msgid "TarInfo Objects" -msgstr "" +msgstr "Objetos TarInfo" -#: ../../library/tarfile.rst:626 +#: ../../library/tarfile.rst:683 msgid "" "A :class:`TarInfo` object represents one member in a :class:`TarFile`. Aside " "from storing all required attributes of a file (like file type, size, time, " @@ -914,197 +1128,230 @@ msgid "" "type. It does *not* contain the file's data itself." msgstr "" -#: ../../library/tarfile.rst:631 +#: ../../library/tarfile.rst:688 msgid "" -":class:`TarInfo` objects are returned by :class:`TarFile`'s methods :meth:" -"`~TarFile.getmember`, :meth:`~TarFile.getmembers` and :meth:`~TarFile." -"gettarinfo`." +":class:`TarInfo` objects are returned by :class:`TarFile`'s " +"methods :meth:`~TarFile.getmember`, :meth:`~TarFile.getmembers` " +"and :meth:`~TarFile.gettarinfo`." msgstr "" -#: ../../library/tarfile.rst:635 +#: ../../library/tarfile.rst:692 msgid "" -"Modifying the objects returned by :meth:`~!TarFile.getmember` or :meth:`~!" -"TarFile.getmembers` will affect all subsequent operations on the archive. " -"For cases where this is unwanted, you can use :mod:`copy.copy() ` or " -"call the :meth:`~TarInfo.replace` method to create a modified copy in one " -"step." +"Modifying the objects returned by :meth:`~TarFile.getmember` " +"or :meth:`~TarFile.getmembers` will affect all subsequent operations on the " +"archive. For cases where this is unwanted, you can use :mod:`copy.copy() " +"` or call the :meth:`~TarInfo.replace` method to create a modified " +"copy in one step." msgstr "" -#: ../../library/tarfile.rst:641 +#: ../../library/tarfile.rst:698 msgid "" "Several attributes can be set to ``None`` to indicate that a piece of " "metadata is unused or unknown. Different :class:`TarInfo` methods handle " "``None`` differently:" msgstr "" -#: ../../library/tarfile.rst:645 +#: ../../library/tarfile.rst:702 msgid "" "The :meth:`~TarFile.extract` or :meth:`~TarFile.extractall` methods will " "ignore the corresponding metadata, leaving it set to a default." msgstr "" -#: ../../library/tarfile.rst:647 +#: ../../library/tarfile.rst:704 msgid ":meth:`~TarFile.addfile` will fail." -msgstr "" +msgstr ":meth:`~TarFile.addfile` falhará." -#: ../../library/tarfile.rst:648 +#: ../../library/tarfile.rst:705 msgid ":meth:`~TarFile.list` will print a placeholder string." -msgstr "" +msgstr ":meth:`~TarFile.list` imprimirá uma string como um espaço reservado." -#: ../../library/tarfile.rst:651 +#: ../../library/tarfile.rst:708 msgid "Added :meth:`~TarInfo.replace` and handling of ``None``." msgstr "" -#: ../../library/tarfile.rst:657 +#: ../../library/tarfile.rst:714 msgid "Create a :class:`TarInfo` object." -msgstr "" +msgstr "Cria um objeto :class:`TarInfo`." -#: ../../library/tarfile.rst:662 +#: ../../library/tarfile.rst:719 msgid "Create and return a :class:`TarInfo` object from string buffer *buf*." msgstr "" +"Cria e retorna um objeto :class:`TarInfo` a partir do buffer de string do " +"parâmetro *buf*." -#: ../../library/tarfile.rst:664 +#: ../../library/tarfile.rst:721 msgid "Raises :exc:`HeaderError` if the buffer is invalid." -msgstr "" +msgstr "Levanta :exc:`HeaderError` se o buffer for inválido." -#: ../../library/tarfile.rst:669 +#: ../../library/tarfile.rst:726 msgid "" "Read the next member from the :class:`TarFile` object *tarfile* and return " "it as a :class:`TarInfo` object." msgstr "" -#: ../../library/tarfile.rst:675 +#: ../../library/tarfile.rst:732 msgid "" "Create a string buffer from a :class:`TarInfo` object. For information on " "the arguments see the constructor of the :class:`TarFile` class." msgstr "" -#: ../../library/tarfile.rst:682 +#: ../../library/tarfile.rst:739 msgid "A ``TarInfo`` object has the following public data attributes:" msgstr "" -#: ../../library/tarfile.rst:688 +#: ../../library/tarfile.rst:745 msgid "Name of the archive member." -msgstr "" +msgstr "Nome do arquivo." -#: ../../library/tarfile.rst:694 +#: ../../library/tarfile.rst:751 msgid "Size in bytes." -msgstr "" +msgstr "Tamanho em bytes." -#: ../../library/tarfile.rst:700 +#: ../../library/tarfile.rst:757 msgid "" -"Time of last modification in seconds since the :ref:`epoch `, as in :" -"attr:`os.stat_result.st_mtime`." +"Time of last modification in seconds since the :ref:`epoch `, as " +"in :attr:`os.stat_result.st_mtime`." msgstr "" -#: ../../library/tarfile.rst:705 ../../library/tarfile.rst:716 -#: ../../library/tarfile.rst:743 ../../library/tarfile.rst:754 -#: ../../library/tarfile.rst:765 ../../library/tarfile.rst:776 +#: ../../library/tarfile.rst:762 ../../library/tarfile.rst:773 +#: ../../library/tarfile.rst:805 ../../library/tarfile.rst:816 +#: ../../library/tarfile.rst:827 ../../library/tarfile.rst:838 msgid "" -"Can be set to ``None`` for :meth:`~TarFile.extract` and :meth:`~TarFile." -"extractall`, causing extraction to skip applying this attribute." +"Can be set to ``None`` for :meth:`~TarFile.extract` " +"and :meth:`~TarFile.extractall`, causing extraction to skip applying this " +"attribute." msgstr "" -#: ../../library/tarfile.rst:712 +#: ../../library/tarfile.rst:769 msgid "Permission bits, as for :func:`os.chmod`." msgstr "" -#: ../../library/tarfile.rst:722 +#: ../../library/tarfile.rst:779 msgid "" -"File type. *type* is usually one of these constants: :const:`REGTYPE`, :" -"const:`AREGTYPE`, :const:`LNKTYPE`, :const:`SYMTYPE`, :const:`DIRTYPE`, :" -"const:`FIFOTYPE`, :const:`CONTTYPE`, :const:`CHRTYPE`, :const:`BLKTYPE`, :" -"const:`GNUTYPE_SPARSE`. To determine the type of a :class:`TarInfo` object " -"more conveniently, use the ``is*()`` methods below." +"File type. *type* is usually one of these " +"constants: :const:`REGTYPE`, :const:`AREGTYPE`, :const:`LNKTYPE`, :const:`SYMTYPE`, :const:`DIRTYPE`, :const:`FIFOTYPE`, :const:`CONTTYPE`, :const:`CHRTYPE`, :const:`BLKTYPE`, :const:`GNUTYPE_SPARSE`. " +"To determine the type of a :class:`TarInfo` object more conveniently, use " +"the ``is*()`` methods below." msgstr "" -#: ../../library/tarfile.rst:732 +#: ../../library/tarfile.rst:789 msgid "" "Name of the target file name, which is only present in :class:`TarInfo` " "objects of type :const:`LNKTYPE` and :const:`SYMTYPE`." msgstr "" -#: ../../library/tarfile.rst:739 -msgid "User ID of the user who originally stored this member." +#: ../../library/tarfile.rst:792 +msgid "" +"For symbolic links (``SYMTYPE``), the *linkname* is relative to the " +"directory that contains the link. For hard links (``LNKTYPE``), the " +"*linkname* is relative to the root of the archive." msgstr "" -#: ../../library/tarfile.rst:750 +#: ../../library/tarfile.rst:801 +msgid "User ID of the user who originally stored this member." +msgstr "ID do usuário do usuário que originalmente armazenou este membro." + +#: ../../library/tarfile.rst:812 msgid "Group ID of the user who originally stored this member." -msgstr "" +msgstr "ID do grupo do usuário que originalmente armazenou este membro." -#: ../../library/tarfile.rst:761 +#: ../../library/tarfile.rst:823 msgid "User name." -msgstr "" +msgstr "Nome do usuário." -#: ../../library/tarfile.rst:772 +#: ../../library/tarfile.rst:834 msgid "Group name." +msgstr "Nome do grupo." + +#: ../../library/tarfile.rst:845 +msgid "Header checksum." +msgstr "Cabeçalho de soma de verificação." + +#: ../../library/tarfile.rst:851 +msgid "Device major number." +msgstr "Número principal do dispositivo." + +#: ../../library/tarfile.rst:857 +msgid "Device minor number." +msgstr "Número menor do dispositivo." + +#: ../../library/tarfile.rst:863 +msgid "The tar header starts here." +msgstr "O cabeçalho do tar começa aqui." + +#: ../../library/tarfile.rst:869 +msgid "The file's data starts here." +msgstr "Os dados do arquivo começam aqui." + +#: ../../library/tarfile.rst:874 +msgid "Sparse member information." msgstr "" -#: ../../library/tarfile.rst:783 +#: ../../library/tarfile.rst:880 msgid "" "A dictionary containing key-value pairs of an associated pax extended header." msgstr "" -#: ../../library/tarfile.rst:791 +#: ../../library/tarfile.rst:888 msgid "" "Return a *new* copy of the :class:`!TarInfo` object with the given " "attributes changed. For example, to return a ``TarInfo`` with the group name " "set to ``'staff'``, use::" msgstr "" -#: ../../library/tarfile.rst:797 +#: ../../library/tarfile.rst:894 msgid "" -"By default, a deep copy is made. If *deep* is false, the copy is shallow, i." -"e. ``pax_headers`` and any custom attributes are shared with the original " +"By default, a deep copy is made. If *deep* is false, the copy is shallow, " +"i.e. ``pax_headers`` and any custom attributes are shared with the original " "``TarInfo`` object." msgstr "" -#: ../../library/tarfile.rst:801 +#: ../../library/tarfile.rst:898 msgid "A :class:`TarInfo` object also provides some convenient query methods:" msgstr "" -#: ../../library/tarfile.rst:806 -msgid "Return :const:`True` if the :class:`Tarinfo` object is a regular file." +#: ../../library/tarfile.rst:903 +msgid "Return :const:`True` if the :class:`TarInfo` object is a regular file." msgstr "" -#: ../../library/tarfile.rst:811 +#: ../../library/tarfile.rst:908 msgid "Same as :meth:`isfile`." -msgstr "" +msgstr "Igual a :meth:`isfile`." -#: ../../library/tarfile.rst:816 +#: ../../library/tarfile.rst:913 msgid "Return :const:`True` if it is a directory." -msgstr "" +msgstr "Retorna :const:`True` se for um diretório." -#: ../../library/tarfile.rst:821 +#: ../../library/tarfile.rst:918 msgid "Return :const:`True` if it is a symbolic link." -msgstr "" +msgstr "Retorna :const:`True` se for um link simbólico." -#: ../../library/tarfile.rst:826 +#: ../../library/tarfile.rst:923 msgid "Return :const:`True` if it is a hard link." -msgstr "" +msgstr "Retorna :const:`True` se for um link físico." -#: ../../library/tarfile.rst:831 +#: ../../library/tarfile.rst:928 msgid "Return :const:`True` if it is a character device." -msgstr "" +msgstr "Retorna :const:`True` se for um caractere." -#: ../../library/tarfile.rst:836 +#: ../../library/tarfile.rst:933 msgid "Return :const:`True` if it is a block device." msgstr "" -#: ../../library/tarfile.rst:841 +#: ../../library/tarfile.rst:938 msgid "Return :const:`True` if it is a FIFO." -msgstr "" +msgstr "Retorna :const:`True` se for um FIFO." -#: ../../library/tarfile.rst:846 +#: ../../library/tarfile.rst:943 msgid "" "Return :const:`True` if it is one of character device, block device or FIFO." msgstr "" -#: ../../library/tarfile.rst:852 +#: ../../library/tarfile.rst:949 msgid "Extraction filters" -msgstr "" +msgstr "Filtros de extração" -#: ../../library/tarfile.rst:856 +#: ../../library/tarfile.rst:953 msgid "" "The *tar* format is designed to capture all details of a UNIX-like " "filesystem, which makes it very powerful. Unfortunately, the features make " @@ -1114,212 +1361,245 @@ msgid "" "components, or symlinks that affect later members)." msgstr "" -#: ../../library/tarfile.rst:864 +#: ../../library/tarfile.rst:961 msgid "" "In most cases, the full functionality is not needed. Therefore, *tarfile* " "supports extraction filters: a mechanism to limit functionality, and thus " "mitigate some of the security issues." msgstr "" -#: ../../library/tarfile.rst:870 +#: ../../library/tarfile.rst:967 msgid ":pep:`706`" -msgstr "" +msgstr ":pep:`706`" -#: ../../library/tarfile.rst:871 +#: ../../library/tarfile.rst:968 msgid "Contains further motivation and rationale behind the design." -msgstr "" +msgstr "Contém a motivação e lógica escolhida para este design." -#: ../../library/tarfile.rst:873 +#: ../../library/tarfile.rst:970 msgid "" -"The *filter* argument to :meth:`TarFile.extract` or :meth:`~TarFile." -"extractall` can be:" +"The *filter* argument to :meth:`TarFile.extract` " +"or :meth:`~TarFile.extractall` can be:" msgstr "" -#: ../../library/tarfile.rst:876 +#: ../../library/tarfile.rst:973 msgid "" "the string ``'fully_trusted'``: Honor all metadata as specified in the " "archive. Should be used if the user trusts the archive completely, or " "implements their own complex verification." msgstr "" -#: ../../library/tarfile.rst:881 +#: ../../library/tarfile.rst:978 msgid "" "the string ``'tar'``: Honor most *tar*-specific features (i.e. features of " "UNIX-like filesystems), but block features that are very likely to be " "surprising or malicious. See :func:`tar_filter` for details." msgstr "" -#: ../../library/tarfile.rst:885 +#: ../../library/tarfile.rst:982 msgid "" "the string ``'data'``: Ignore or block most features specific to UNIX-like " -"filesystems. Intended for extracting cross-platform data archives. See :func:" -"`data_filter` for details." +"filesystems. Intended for extracting cross-platform data archives. " +"See :func:`data_filter` for details." msgstr "" -#: ../../library/tarfile.rst:889 +#: ../../library/tarfile.rst:986 msgid "``None`` (default): Use :attr:`TarFile.extraction_filter`." msgstr "" -#: ../../library/tarfile.rst:891 +#: ../../library/tarfile.rst:988 msgid "" "If that is also ``None`` (the default), the ``'fully_trusted'`` filter will " "be used (for compatibility with earlier versions of Python)." msgstr "" -#: ../../library/tarfile.rst:894 +#: ../../library/tarfile.rst:991 msgid "In Python 3.12, the default will emit a ``DeprecationWarning``." msgstr "" -#: ../../library/tarfile.rst:896 +#: ../../library/tarfile.rst:993 msgid "" "In Python 3.14, the ``'data'`` filter will become the default instead. It's " "possible to switch earlier; see :attr:`TarFile.extraction_filter`." msgstr "" -#: ../../library/tarfile.rst:899 +#: ../../library/tarfile.rst:996 msgid "" -"A callable which will be called for each extracted member with a :ref:" -"`TarInfo ` describing the member and the destination path " -"to where the archive is extracted (i.e. the same path is used for all " +"A callable which will be called for each extracted member with " +"a :ref:`TarInfo ` describing the member and the destination " +"path to where the archive is extracted (i.e. the same path is used for all " "members)::" msgstr "" -#: ../../library/tarfile.rst:906 +#: ../../library/tarfile.rst:1003 msgid "" "The callable is called just before each member is extracted, so it can take " "the current state of the disk into account. It can:" msgstr "" -#: ../../library/tarfile.rst:910 +#: ../../library/tarfile.rst:1007 msgid "" "return a :class:`TarInfo` object which will be used instead of the metadata " "in the archive, or" msgstr "" -#: ../../library/tarfile.rst:912 +#: ../../library/tarfile.rst:1009 msgid "return ``None``, in which case the member will be skipped, or" msgstr "" -#: ../../library/tarfile.rst:913 +#: ../../library/tarfile.rst:1010 msgid "" -"raise an exception to abort the operation or skip the member, depending on :" -"attr:`~TarFile.errorlevel`. Note that when extraction is aborted, :meth:" -"`~TarFile.extractall` may leave the archive partially extracted. It does not " -"attempt to clean up." +"raise an exception to abort the operation or skip the member, depending " +"on :attr:`~TarFile.errorlevel`. Note that when extraction is " +"aborted, :meth:`~TarFile.extractall` may leave the archive partially " +"extracted. It does not attempt to clean up." msgstr "" -#: ../../library/tarfile.rst:919 +#: ../../library/tarfile.rst:1016 msgid "Default named filters" msgstr "" -#: ../../library/tarfile.rst:921 +#: ../../library/tarfile.rst:1018 msgid "" "The pre-defined, named filters are available as functions, so they can be " "reused in custom filters:" msgstr "" -#: ../../library/tarfile.rst:926 +#: ../../library/tarfile.rst:1023 msgid "Return *member* unchanged." -msgstr "" +msgstr "Retorna *member* inalterado." -#: ../../library/tarfile.rst:928 +#: ../../library/tarfile.rst:1025 msgid "This implements the ``'fully_trusted'`` filter." msgstr "" -#: ../../library/tarfile.rst:932 +#: ../../library/tarfile.rst:1029 msgid "Implements the ``'tar'`` filter." msgstr "" -#: ../../library/tarfile.rst:934 -msgid "Strip leading slashes (``/`` and :attr:`os.sep`) from filenames." +#: ../../library/tarfile.rst:1031 +msgid "Strip leading slashes (``/`` and :data:`os.sep`) from filenames." msgstr "" -#: ../../library/tarfile.rst:935 +#: ../../library/tarfile.rst:1032 msgid "" ":ref:`Refuse ` to extract files with absolute " "paths (in case the name is absolute even after stripping slashes, e.g. ``C:/" "foo`` on Windows). This raises :class:`~tarfile.AbsolutePathError`." msgstr "" -#: ../../library/tarfile.rst:939 +#: ../../library/tarfile.rst:1036 +msgid "" +"Normalize filenames (:attr:`TarInfo.name`) that contain ``..`` components " +"using :func:`os.path.normpath`. Note that this removes internal ``..`` " +"components, which may change the meaning of the name if it traverses " +"symbolic links." +msgstr "" + +#: ../../library/tarfile.rst:1040 msgid "" ":ref:`Refuse ` to extract files whose absolute " "path (after following symlinks) would end up outside the destination. This " "raises :class:`~tarfile.OutsideDestinationError`." msgstr "" -#: ../../library/tarfile.rst:942 +#: ../../library/tarfile.rst:1043 msgid "" -"Clear high mode bits (setuid, setgid, sticky) and group/other write bits (:" -"attr:`~stat.S_IWGRP`|:attr:`~stat.S_IWOTH`)." +":ref:`Refuse ` to extract links (hard or soft) " +"whose name refers to the destination directory itself. This " +"raises :class:`~tarfile.OutsideDestinationError`. Note that such files are " +"refused even on platforms that do not support symbolic links." msgstr "" -#: ../../library/tarfile.rst:945 ../../library/tarfile.rst:978 +#: ../../library/tarfile.rst:1048 +msgid "" +"Clear high mode bits (setuid, setgid, sticky) and group/other write bits " +"(:const:`~stat.S_IWGRP` | :const:`~stat.S_IWOTH`)." +msgstr "" + +#: ../../library/tarfile.rst:1051 ../../library/tarfile.rst:1094 msgid "Return the modified ``TarInfo`` member." msgstr "" -#: ../../library/tarfile.rst:949 +#: ../../library/tarfile.rst:1055 +msgid "Filenames containing ``..`` components are now normalized." +msgstr "" + +#: ../../library/tarfile.rst:1059 msgid "" "Implements the ``'data'`` filter. In addition to what ``tar_filter`` does:" msgstr "" -#: ../../library/tarfile.rst:952 +#: ../../library/tarfile.rst:1062 +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 "" + +#: ../../library/tarfile.rst:1068 msgid "" ":ref:`Refuse ` to extract links (hard or soft) " "that link to absolute paths, or ones that link outside the destination." msgstr "" -#: ../../library/tarfile.rst:955 +#: ../../library/tarfile.rst:1071 msgid "" -"This raises :class:`~tarfile.AbsoluteLinkError` or :class:`~tarfile." -"LinkOutsideDestinationError`." +"This raises :class:`~tarfile.AbsoluteLinkError` " +"or :class:`~tarfile.LinkOutsideDestinationError`." msgstr "" -#: ../../library/tarfile.rst:958 +#: ../../library/tarfile.rst:1074 msgid "" "Note that such files are refused even on platforms that do not support " "symbolic links." msgstr "" -#: ../../library/tarfile.rst:961 +#: ../../library/tarfile.rst:1077 msgid "" ":ref:`Refuse ` to extract device files (including " "pipes). This raises :class:`~tarfile.SpecialFileError`." msgstr "" -#: ../../library/tarfile.rst:965 +#: ../../library/tarfile.rst:1081 msgid "For regular files, including hard links:" -msgstr "" +msgstr "Para arquivos comuns, incluindo links físicos:" -#: ../../library/tarfile.rst:967 +#: ../../library/tarfile.rst:1083 msgid "" -"Set the owner read and write permissions (:attr:`~stat.S_IRUSR`|:attr:`~stat." -"S_IWUSR`)." +"Set the owner read and write permissions (:const:`~stat.S_IRUSR` " +"| :const:`~stat.S_IWUSR`)." msgstr "" -#: ../../library/tarfile.rst:969 +#: ../../library/tarfile.rst:1085 msgid "" -"Remove the group & other executable permission (:attr:`~stat.S_IXGRP`|:attr:" -"`~stat.S_IXOTH`) if the owner doesn’t have it (:attr:`~stat.S_IXUSR`)." +"Remove the group & other executable permission (:const:`~stat.S_IXGRP` " +"| :const:`~stat.S_IXOTH`) if the owner doesn’t have it " +"(:const:`~stat.S_IXUSR`)." msgstr "" -#: ../../library/tarfile.rst:973 +#: ../../library/tarfile.rst:1089 msgid "" "For other files (directories), set ``mode`` to ``None``, so that extraction " "methods skip applying permission bits." msgstr "" -#: ../../library/tarfile.rst:975 +#: ../../library/tarfile.rst:1091 msgid "" "Set user and group info (``uid``, ``gid``, ``uname``, ``gname``) to " "``None``, so that extraction methods skip setting it." msgstr "" -#: ../../library/tarfile.rst:984 +#: ../../library/tarfile.rst:1098 +msgid "Link targets are now normalized." +msgstr "" + +#: ../../library/tarfile.rst:1104 msgid "Filter errors" msgstr "" -#: ../../library/tarfile.rst:986 +#: ../../library/tarfile.rst:1106 msgid "" "When a filter refuses to extract a file, it will raise an appropriate " "exception, a subclass of :class:`~tarfile.FilterError`. This will abort the " @@ -1328,11 +1608,11 @@ msgid "" "continue." msgstr "" -#: ../../library/tarfile.rst:994 +#: ../../library/tarfile.rst:1114 msgid "Hints for further verification" -msgstr "" +msgstr "Dicas para verificação adicional" -#: ../../library/tarfile.rst:996 +#: ../../library/tarfile.rst:1116 msgid "" "Even with ``filter='data'``, *tarfile* is not suited for extracting " "untrusted files without prior inspection. Among other issues, the pre-" @@ -1340,69 +1620,73 @@ msgid "" "additional checks." msgstr "" -#: ../../library/tarfile.rst:1001 +#: ../../library/tarfile.rst:1121 msgid "Here is an incomplete list of things to consider:" -msgstr "" +msgstr "Aqui está uma lista incompleta de itens a serem considerados:" -#: ../../library/tarfile.rst:1003 +#: ../../library/tarfile.rst:1123 msgid "" -"Extract to a :func:`new temporary directory ` to prevent e." -"g. exploiting pre-existing links, and to make it easier to clean up after a " -"failed extraction." +"Extract to a :func:`new temporary directory ` to prevent " +"e.g. exploiting pre-existing links, and to make it easier to clean up after " +"a failed extraction." +msgstr "" + +#: ../../library/tarfile.rst:1126 +msgid "Disallow symbolic links if you do not need the functionality." msgstr "" -#: ../../library/tarfile.rst:1006 +#: ../../library/tarfile.rst:1127 msgid "" "When working with untrusted data, use external (e.g. OS-level) limits on " "disk, memory and CPU usage." msgstr "" -#: ../../library/tarfile.rst:1008 +#: ../../library/tarfile.rst:1129 msgid "" "Check filenames against an allow-list of characters (to filter out control " "characters, confusables, foreign path separators, etc.)." msgstr "" -#: ../../library/tarfile.rst:1011 +#: ../../library/tarfile.rst:1132 msgid "" "Check that filenames have expected extensions (discouraging files that " "execute when you “click on them”, or extension-less files like Windows " "special device names)." msgstr "" -#: ../../library/tarfile.rst:1013 +#: ../../library/tarfile.rst:1134 msgid "" "Limit the number of extracted files, total size of extracted data, filename " "length (including symlink length), and size of individual files." msgstr "" -#: ../../library/tarfile.rst:1015 +#: ../../library/tarfile.rst:1136 msgid "Check for files that would be shadowed on case-insensitive filesystems." msgstr "" -#: ../../library/tarfile.rst:1017 +#: ../../library/tarfile.rst:1138 msgid "Also note that:" -msgstr "" +msgstr "Observe também que:" -#: ../../library/tarfile.rst:1019 +#: ../../library/tarfile.rst:1140 msgid "" "Tar files may contain multiple versions of the same file. Later ones are " "expected to overwrite any earlier ones. This feature is crucial to allow " "updating tape archives, but can be abused maliciously." msgstr "" -#: ../../library/tarfile.rst:1023 +#: ../../library/tarfile.rst:1144 msgid "" "*tarfile* does not protect against issues with “live” data, e.g. an attacker " "tinkering with the destination (or source) directory while extraction (or " "archiving) is in progress." msgstr "" -#: ../../library/tarfile.rst:1029 +#: ../../library/tarfile.rst:1150 msgid "Supporting older Python versions" -msgstr "" +msgstr "Suporte a versões mais antigas do Python" -#: ../../library/tarfile.rst:1031 +#: ../../library/tarfile.rst:1152 msgid "" "Extraction filters were added to Python 3.12, and are backported to older " "versions as security updates. To check whether the feature is available, use " @@ -1410,163 +1694,164 @@ msgid "" "version." msgstr "" -#: ../../library/tarfile.rst:1036 +#: ../../library/tarfile.rst:1157 msgid "" "The following examples show how to support Python versions with and without " "the feature. Note that setting ``extraction_filter`` will affect any " "subsequent operations." msgstr "" -#: ../../library/tarfile.rst:1040 +#: ../../library/tarfile.rst:1161 msgid "Fully trusted archive::" msgstr "" -#: ../../library/tarfile.rst:1045 +#: ../../library/tarfile.rst:1166 msgid "" "Use the ``'data'`` filter if available, but revert to Python 3.11 behavior " "(``'fully_trusted'``) if this feature is not available::" msgstr "" -#: ../../library/tarfile.rst:1052 +#: ../../library/tarfile.rst:1173 msgid "Use the ``'data'`` filter; *fail* if it is not available::" -msgstr "" +msgstr "Use o filtro ``'data'``; *fail* se ele não estiver disponível::" -#: ../../library/tarfile.rst:1056 +#: ../../library/tarfile.rst:1177 msgid "or::" -msgstr "or::" +msgstr "ou::" -#: ../../library/tarfile.rst:1061 +#: ../../library/tarfile.rst:1182 msgid "Use the ``'data'`` filter; *warn* if it is not available::" -msgstr "" +msgstr "Use o filtro ``'data'``; *warn* se ele não estiver disponível::" -#: ../../library/tarfile.rst:1072 +#: ../../library/tarfile.rst:1193 msgid "Stateful extraction filter example" msgstr "" -#: ../../library/tarfile.rst:1074 +#: ../../library/tarfile.rst:1195 msgid "" "While *tarfile*'s extraction methods take a simple *filter* callable, custom " "filters may be more complex objects with an internal state. It may be useful " "to write these as context managers, to be used like this::" msgstr "" -#: ../../library/tarfile.rst:1081 +#: ../../library/tarfile.rst:1202 msgid "Such a filter can be written as, for example::" msgstr "" -#: ../../library/tarfile.rst:1103 +#: ../../library/tarfile.rst:1224 msgid "Command-Line Interface" -msgstr "Interface de Linha de Comando" +msgstr "Interface de linha de comando" -#: ../../library/tarfile.rst:1107 +#: ../../library/tarfile.rst:1228 msgid "" "The :mod:`tarfile` module provides a simple command-line interface to " "interact with tar archives." msgstr "" -#: ../../library/tarfile.rst:1110 +#: ../../library/tarfile.rst:1231 msgid "" -"If you want to create a new tar archive, specify its name after the :option:" -"`-c` option and then list the filename(s) that should be included:" +"If you want to create a new tar archive, specify its name after " +"the :option:`-c` option and then list the filename(s) that should be " +"included:" msgstr "" -#: ../../library/tarfile.rst:1117 +#: ../../library/tarfile.rst:1238 msgid "Passing a directory is also acceptable:" -msgstr "Passar um diretório também é aceito:" +msgstr "Passar um diretório também é aceitável:" -#: ../../library/tarfile.rst:1123 +#: ../../library/tarfile.rst:1244 msgid "" -"If you want to extract a tar archive into the current directory, use the :" -"option:`-e` option:" +"If you want to extract a tar archive into the current directory, use " +"the :option:`-e` option:" msgstr "" -#: ../../library/tarfile.rst:1130 +#: ../../library/tarfile.rst:1251 msgid "" "You can also extract a tar archive into a different directory by passing the " "directory's name:" msgstr "" -#: ../../library/tarfile.rst:1137 +#: ../../library/tarfile.rst:1258 msgid "For a list of the files in a tar archive, use the :option:`-l` option:" msgstr "" -#: ../../library/tarfile.rst:1145 +#: ../../library/tarfile.rst:1266 msgid "Command-line options" msgstr "Opções de linha de comando" -#: ../../library/tarfile.rst:1150 +#: ../../library/tarfile.rst:1271 msgid "List files in a tarfile." -msgstr "" +msgstr "Lista os arquivos em um arquivo tar." -#: ../../library/tarfile.rst:1155 +#: ../../library/tarfile.rst:1276 msgid "Create tarfile from source files." -msgstr "" +msgstr "Cria um arquivo tar a partir dos arquivos de origem." -#: ../../library/tarfile.rst:1160 +#: ../../library/tarfile.rst:1281 msgid "" "Extract tarfile into the current directory if *output_dir* is not specified." msgstr "" -#: ../../library/tarfile.rst:1165 +#: ../../library/tarfile.rst:1286 msgid "Test whether the tarfile is valid or not." msgstr "" -#: ../../library/tarfile.rst:1169 +#: ../../library/tarfile.rst:1290 msgid "Verbose output." -msgstr "" +msgstr "Saída detalhada." -#: ../../library/tarfile.rst:1173 +#: ../../library/tarfile.rst:1294 msgid "" "Specifies the *filter* for ``--extract``. See :ref:`tarfile-extraction-" "filter` for details. Only string names are accepted (that is, " "``fully_trusted``, ``tar``, and ``data``)." msgstr "" -#: ../../library/tarfile.rst:1183 +#: ../../library/tarfile.rst:1304 msgid "Examples" msgstr "Exemplos" -#: ../../library/tarfile.rst:1185 +#: ../../library/tarfile.rst:1306 msgid "How to extract an entire tar archive to the current working directory::" msgstr "" -#: ../../library/tarfile.rst:1192 +#: ../../library/tarfile.rst:1313 msgid "" "How to extract a subset of a tar archive with :meth:`TarFile.extractall` " "using a generator function instead of a list::" msgstr "" -#: ../../library/tarfile.rst:1207 +#: ../../library/tarfile.rst:1328 msgid "How to create an uncompressed tar archive from a list of filenames::" msgstr "" -#: ../../library/tarfile.rst:1215 +#: ../../library/tarfile.rst:1336 msgid "The same example using the :keyword:`with` statement::" msgstr "" -#: ../../library/tarfile.rst:1222 +#: ../../library/tarfile.rst:1343 msgid "" "How to read a gzip compressed tar archive and display some member " "information::" msgstr "" -#: ../../library/tarfile.rst:1236 +#: ../../library/tarfile.rst:1357 msgid "" "How to create an archive and reset the user information using the *filter* " "parameter in :meth:`TarFile.add`::" msgstr "" -#: ../../library/tarfile.rst:1252 +#: ../../library/tarfile.rst:1373 msgid "Supported tar formats" -msgstr "" +msgstr "Formatos tar suportados" -#: ../../library/tarfile.rst:1254 +#: ../../library/tarfile.rst:1375 msgid "" "There are three tar formats that can be created with the :mod:`tarfile` " "module:" msgstr "" -#: ../../library/tarfile.rst:1256 +#: ../../library/tarfile.rst:1377 msgid "" "The POSIX.1-1988 ustar format (:const:`USTAR_FORMAT`). It supports filenames " "up to a length of at best 256 characters and linknames up to 100 characters. " @@ -1574,7 +1859,7 @@ msgid "" "supported format." msgstr "" -#: ../../library/tarfile.rst:1261 +#: ../../library/tarfile.rst:1382 msgid "" "The GNU tar format (:const:`GNU_FORMAT`). It supports long filenames and " "linknames, files bigger than 8 GiB and sparse files. It is the de facto " @@ -1582,7 +1867,7 @@ msgid "" "extensions for long names, sparse file support is read-only." msgstr "" -#: ../../library/tarfile.rst:1266 +#: ../../library/tarfile.rst:1387 msgid "" "The POSIX.1-2001 pax format (:const:`PAX_FORMAT`). It is the most flexible " "format with virtually no limits. It supports long filenames and linknames, " @@ -1593,7 +1878,7 @@ msgid "" "*ustar* format. It is the current default format for new archives." msgstr "" -#: ../../library/tarfile.rst:1274 +#: ../../library/tarfile.rst:1395 msgid "" "It extends the existing *ustar* format with extra headers for information " "that cannot be stored otherwise. There are two flavours of pax headers: " @@ -1602,13 +1887,13 @@ msgid "" "in a pax header is encoded in *UTF-8* for portability reasons." msgstr "" -#: ../../library/tarfile.rst:1280 +#: ../../library/tarfile.rst:1401 msgid "" "There are some more variants of the tar format which can be read, but not " "created:" msgstr "" -#: ../../library/tarfile.rst:1283 +#: ../../library/tarfile.rst:1404 msgid "" "The ancient V7 format. This is the first tar format from Unix Seventh " "Edition, storing only regular files and directories. Names must not be " @@ -1617,17 +1902,17 @@ msgid "" "ASCII characters." msgstr "" -#: ../../library/tarfile.rst:1288 +#: ../../library/tarfile.rst:1409 msgid "" "The SunOS tar extended format. This format is a variant of the POSIX.1-2001 " "pax format, but is not compatible." msgstr "" -#: ../../library/tarfile.rst:1294 +#: ../../library/tarfile.rst:1415 msgid "Unicode issues" -msgstr "" +msgstr "Problemas de Unicode" -#: ../../library/tarfile.rst:1296 +#: ../../library/tarfile.rst:1417 msgid "" "The tar format was originally conceived to make backups on tape drives with " "the main focus on preserving file system information. Nowadays tar archives " @@ -1642,13 +1927,13 @@ msgid "" "It stores non-ASCII metadata using the universal character encoding *UTF-8*." msgstr "" -#: ../../library/tarfile.rst:1308 +#: ../../library/tarfile.rst:1429 msgid "" "The details of character conversion in :mod:`tarfile` are controlled by the " "*encoding* and *errors* keyword arguments of the :class:`TarFile` class." msgstr "" -#: ../../library/tarfile.rst:1311 +#: ../../library/tarfile.rst:1432 msgid "" "*encoding* defines the character encoding to use for the metadata in the " "archive. The default value is :func:`sys.getfilesystemencoding` or " @@ -1657,7 +1942,7 @@ msgid "" "not set appropriately, this conversion may fail." msgstr "" -#: ../../library/tarfile.rst:1317 +#: ../../library/tarfile.rst:1438 msgid "" "The *errors* argument defines how characters are treated that cannot be " "converted. Possible values are listed in section :ref:`error-handlers`. The " @@ -1665,7 +1950,7 @@ msgid "" "system calls, see :ref:`os-filenames`." msgstr "" -#: ../../library/tarfile.rst:1322 +#: ../../library/tarfile.rst:1443 msgid "" "For :const:`PAX_FORMAT` archives (the default), *encoding* is generally not " "needed because all the metadata is stored using *UTF-8*. *encoding* is only " diff --git a/library/telnetlib.po b/library/telnetlib.po index 7b61ff589..08a4dbc8c 100644 --- a/library/telnetlib.po +++ b/library/telnetlib.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -99,9 +96,9 @@ msgstr "" #: ../../library/telnetlib.rst:52 msgid "" -"A :class:`Telnet` object is a context manager and can be used in a :keyword:" -"`with` statement. When the :keyword:`!with` block ends, the :meth:`close` " -"method is called::" +"A :class:`Telnet` object is a context manager and can be used in " +"a :keyword:`with` statement. When the :keyword:`!with` block ends, " +"the :meth:`close` method is called::" msgstr "" "Um objeto :class:`Telnet` é um gerenciador de contexto e pode ser usado em " "uma instrução :keyword:`with`. Quando o bloco :keyword:`!with` termina, o " @@ -205,7 +202,7 @@ msgstr "" msgid "Do not try to reopen an already connected instance." msgstr "" -#: ../../library/telnetlib.rst:159 +#: ../../library/telnetlib.rst:161 msgid "" "Raises an :ref:`auditing event ` ``telnetlib.Telnet.open`` with " "arguments ``self``, ``host``, ``port``." @@ -226,7 +223,7 @@ msgstr "" #: ../../library/telnetlib.rst:168 msgid "Close the connection." -msgstr "" +msgstr "Fecha a conexão." #: ../../library/telnetlib.rst:173 msgid "Return the socket object used internally." @@ -243,7 +240,7 @@ msgid "" "connection is closed." msgstr "" -#: ../../library/telnetlib.rst:196 +#: ../../library/telnetlib.rst:198 msgid "" "Raises an :ref:`auditing event ` ``telnetlib.Telnet.write`` with " "arguments ``self``, ``buffer``." @@ -251,8 +248,8 @@ msgstr "" #: ../../library/telnetlib.rst:189 msgid "" -"This method used to raise :exc:`socket.error`, which is now an alias of :exc:" -"`OSError`." +"This method used to raise :exc:`socket.error`, which is now an alias " +"of :exc:`OSError`." msgstr "" #: ../../library/telnetlib.rst:196 @@ -269,9 +266,9 @@ msgstr "" #: ../../library/telnetlib.rst:208 msgid "" -"The first argument is a list of regular expressions, either compiled (:ref:" -"`regex objects `) or uncompiled (byte strings). The optional " -"second argument is a timeout, in seconds; the default is to block " +"The first argument is a list of regular expressions, either compiled " +"(:ref:`regex objects `) or uncompiled (byte strings). The " +"optional second argument is a timeout, in seconds; the default is to block " "indefinitely." msgstr "" @@ -314,7 +311,7 @@ msgstr "" #: ../../library/telnetlib.rst:12 msgid "protocol" -msgstr "" +msgstr "protocolo" #: ../../library/telnetlib.rst:12 msgid "Telnet" diff --git a/library/tempfile.po b/library/tempfile.po index 7ffdc74ee..f5c0f7271 100644 --- a/library/tempfile.po +++ b/library/tempfile.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -37,10 +34,11 @@ msgstr "**Código-fonte:** :source:`Lib/tempfile.py`" #: ../../library/tempfile.rst:17 msgid "" "This module creates temporary files and directories. It works on all " -"supported platforms. :class:`TemporaryFile`, :class:`NamedTemporaryFile`, :" -"class:`TemporaryDirectory`, and :class:`SpooledTemporaryFile` are high-level " -"interfaces which provide automatic cleanup and can be used as context " -"managers. :func:`mkstemp` and :func:`mkdtemp` are lower-level functions " +"supported " +"platforms. :class:`TemporaryFile`, :class:`NamedTemporaryFile`, :class:`TemporaryDirectory`, " +"and :class:`SpooledTemporaryFile` are high-level interfaces which provide " +"automatic cleanup and can be used as :term:`context managers `. :func:`mkstemp` and :func:`mkdtemp` are lower-level functions " "which require manual cleanup." msgstr "" @@ -73,9 +71,9 @@ msgstr "" #: ../../library/tempfile.rst:44 msgid "" -"The resulting object can be used as a context manager (see :ref:`tempfile-" -"examples`). On completion of the context or destruction of the file object " -"the temporary file will be removed from the filesystem." +"The resulting object can be used as a :term:`context manager` " +"(see :ref:`tempfile-examples`). On completion of the context or destruction " +"of the file object the temporary file will be removed from the filesystem." msgstr "" #: ../../library/tempfile.rst:49 @@ -102,8 +100,8 @@ msgstr "" #: ../../library/tempfile.rst:62 msgid "" -"The :py:data:`os.O_TMPFILE` flag is used if it is available and works (Linux-" -"specific, requires Linux kernel 3.11 or later)." +"The :py:const:`os.O_TMPFILE` flag is used if it is available and works " +"(Linux-specific, requires Linux kernel 3.11 or later)." msgstr "" #: ../../library/tempfile.rst:65 @@ -113,18 +111,20 @@ msgid "" msgstr "" #: ../../library/tempfile.rst:68 ../../library/tempfile.rst:96 -#: ../../library/tempfile.rst:205 +#: ../../library/tempfile.rst:211 msgid "" "Raises an :ref:`auditing event ` ``tempfile.mkstemp`` with " "argument ``fullpath``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``tempfile.mkstemp`` com o " +"argumento ``fullpath``." #: ../../library/tempfile.rst:72 -msgid "The :py:data:`os.O_TMPFILE` flag is now used if available." +msgid "The :py:const:`os.O_TMPFILE` flag is now used if available." msgstr "" #: ../../library/tempfile.rst:74 ../../library/tempfile.rst:98 -#: ../../library/tempfile.rst:123 +#: ../../library/tempfile.rst:125 msgid "Added *errors* parameter." msgstr "Parâmetro *errors* foi adicionado." @@ -132,14 +132,15 @@ msgstr "Parâmetro *errors* foi adicionado." msgid "" "This function operates exactly as :func:`TemporaryFile` does, except that " "the file is guaranteed to have a visible name in the file system (on Unix, " -"the directory entry is not unlinked). That name can be retrieved from the :" -"attr:`name` attribute of the returned file-like object. Whether the name " -"can be used to open the file a second time, while the named temporary file " -"is still open, varies across platforms (it can be so used on Unix; it cannot " -"on Windows). If *delete* is true (the default), the file is deleted as soon " -"as it is closed. The returned object is always a file-like object whose :" -"attr:`!file` attribute is the underlying true file object. This file-like " -"object can be used in a :keyword:`with` statement, just like a normal file." +"the directory entry is not unlinked). That name can be retrieved from " +"the :attr:`name` attribute of the returned file-like object. Whether the " +"name can be used to open the file a second time, while the named temporary " +"file is still open, varies across platforms (it can be so used on Unix; it " +"cannot on Windows). If *delete* is true (the default), the file is deleted " +"as soon as it is closed. The returned object is always a file-like object " +"whose :attr:`!file` attribute is the underlying true file object. This file-" +"like object can be used in a :keyword:`with` statement, just like a normal " +"file." msgstr "" #: ../../library/tempfile.rst:93 @@ -152,76 +153,79 @@ msgstr "" msgid "" "This class operates exactly as :func:`TemporaryFile` does, except that data " "is spooled in memory until the file size exceeds *max_size*, or until the " -"file's :func:`fileno` method is called, at which point the contents are " -"written to disk and operation proceeds as with :func:`TemporaryFile`." +"file's :func:`~io.IOBase.fileno` method is called, at which point the " +"contents are written to disk and operation proceeds as " +"with :func:`TemporaryFile`." msgstr "" -#: ../../library/tempfile.rst:110 +#: ../../library/tempfile.rst:112 msgid "" -"The resulting file has one additional method, :func:`rollover`, which causes " -"the file to roll over to an on-disk file regardless of its size." +"The resulting file has one additional method, :meth:`!rollover`, which " +"causes the file to roll over to an on-disk file regardless of its size." msgstr "" -#: ../../library/tempfile.rst:113 +#: ../../library/tempfile.rst:115 msgid "" -"The returned object is a file-like object whose :attr:`_file` attribute is " +"The returned object is a file-like object whose :attr:`!_file` attribute is " "either an :class:`io.BytesIO` or :class:`io.TextIOWrapper` object (depending " "on whether binary or text *mode* was specified) or a true file object, " -"depending on whether :func:`rollover` has been called. This file-like " +"depending on whether :meth:`rollover` has been called. This file-like " "object can be used in a :keyword:`with` statement, just like a normal file." msgstr "" -#: ../../library/tempfile.rst:120 -msgid "the truncate method now accepts a ``size`` argument." +#: ../../library/tempfile.rst:122 +msgid "the truncate method now accepts a *size* argument." msgstr "" -#: ../../library/tempfile.rst:126 +#: ../../library/tempfile.rst:128 msgid "" "Fully implements the :class:`io.BufferedIOBase` and :class:`io.TextIOBase` " "abstract base classes (depending on whether binary or text *mode* was " "specified)." msgstr "" -#: ../../library/tempfile.rst:134 +#: ../../library/tempfile.rst:136 msgid "" -"This class securely creates a temporary directory using the same rules as :" -"func:`mkdtemp`. The resulting object can be used as a context manager (see :" -"ref:`tempfile-examples`). On completion of the context or destruction of " -"the temporary directory object, the newly created temporary directory and " -"all its contents are removed from the filesystem." +"This class securely creates a temporary directory using the same rules " +"as :func:`mkdtemp`. The resulting object can be used as a :term:`context " +"manager` (see :ref:`tempfile-examples`). On completion of the context or " +"destruction of the temporary directory object, the newly created temporary " +"directory and all its contents are removed from the filesystem." msgstr "" -#: ../../library/tempfile.rst:140 +#: ../../library/tempfile.rst:144 msgid "" -"The directory name can be retrieved from the :attr:`name` attribute of the " -"returned object. When the returned object is used as a context manager, " -"the :attr:`name` will be assigned to the target of the :keyword:`!as` clause " -"in the :keyword:`with` statement, if there is one." +"The directory name can be retrieved from the :attr:`!name` attribute of the " +"returned object. When the returned object is used as a :term:`context " +"manager`, the :attr:`!name` will be assigned to the target of the :keyword:`!" +"as` clause in the :keyword:`with` statement, if there is one." msgstr "" -#: ../../library/tempfile.rst:145 +#: ../../library/tempfile.rst:151 msgid "" -"The directory can be explicitly cleaned up by calling the :func:`cleanup` " +"The directory can be explicitly cleaned up by calling the :meth:`!cleanup` " "method. If *ignore_cleanup_errors* is true, any unhandled exceptions during " "explicit or implicit cleanup (such as a :exc:`PermissionError` removing open " "files on Windows) will be ignored, and the remaining removable items deleted " "on a \"best-effort\" basis. Otherwise, errors will be raised in whatever " -"context cleanup occurs (the :func:`cleanup` call, exiting the context " +"context cleanup occurs (the :meth:`!cleanup` call, exiting the context " "manager, when the object is garbage-collected or during interpreter " "shutdown)." msgstr "" -#: ../../library/tempfile.rst:154 ../../library/tempfile.rst:234 +#: ../../library/tempfile.rst:160 ../../library/tempfile.rst:240 msgid "" "Raises an :ref:`auditing event ` ``tempfile.mkdtemp`` with " "argument ``fullpath``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``tempfile.mkdtemp`` com o " +"argumento ``fullpath``." -#: ../../library/tempfile.rst:158 +#: ../../library/tempfile.rst:164 msgid "Added *ignore_cleanup_errors* parameter." msgstr "" -#: ../../library/tempfile.rst:164 +#: ../../library/tempfile.rst:170 msgid "" "Creates a temporary file in the most secure manner possible. There are no " "race conditions in the file's creation, assuming that the platform properly " @@ -232,13 +236,13 @@ msgid "" "processes." msgstr "" -#: ../../library/tempfile.rst:172 +#: ../../library/tempfile.rst:178 msgid "" "Unlike :func:`TemporaryFile`, the user of :func:`mkstemp` is responsible for " "deleting the temporary file when done with it." msgstr "" -#: ../../library/tempfile.rst:175 +#: ../../library/tempfile.rst:181 msgid "" "If *suffix* is not ``None``, the file name will end with that suffix, " "otherwise there will be no suffix. :func:`mkstemp` does not put a dot " @@ -246,14 +250,14 @@ msgid "" "beginning of *suffix*." msgstr "" -#: ../../library/tempfile.rst:180 +#: ../../library/tempfile.rst:186 msgid "" "If *prefix* is not ``None``, the file name will begin with that prefix; " -"otherwise, a default prefix is used. The default is the return value of :" -"func:`gettempprefix` or :func:`gettempprefixb`, as appropriate." +"otherwise, a default prefix is used. The default is the return value " +"of :func:`gettempprefix` or :func:`gettempprefixb`, as appropriate." msgstr "" -#: ../../library/tempfile.rst:184 +#: ../../library/tempfile.rst:190 msgid "" "If *dir* is not ``None``, the file will be created in that directory; " "otherwise, a default directory is used. The default directory is chosen " @@ -264,7 +268,7 @@ msgid "" "commands via ``os.popen()``." msgstr "" -#: ../../library/tempfile.rst:192 +#: ../../library/tempfile.rst:198 msgid "" "If any of *suffix*, *prefix*, and *dir* are not ``None``, they must be the " "same type. If they are bytes, the returned name will be bytes instead of " @@ -272,20 +276,20 @@ msgid "" "behavior, pass ``suffix=b''``." msgstr "" -#: ../../library/tempfile.rst:198 +#: ../../library/tempfile.rst:204 msgid "" "If *text* is specified and true, the file is opened in text mode. Otherwise, " "(the default) the file is opened in binary mode." msgstr "" -#: ../../library/tempfile.rst:201 +#: ../../library/tempfile.rst:207 msgid "" ":func:`mkstemp` returns a tuple containing an OS-level handle to an open " "file (as would be returned by :func:`os.open`) and the absolute pathname of " "that file, in that order." msgstr "" -#: ../../library/tempfile.rst:207 ../../library/tempfile.rst:236 +#: ../../library/tempfile.rst:213 ../../library/tempfile.rst:242 msgid "" "*suffix*, *prefix*, and *dir* may now be supplied in bytes in order to " "obtain a bytes return value. Prior to this, only str was allowed. *suffix* " @@ -293,108 +297,108 @@ msgid "" "default value to be used." msgstr "" -#: ../../library/tempfile.rst:213 ../../library/tempfile.rst:242 +#: ../../library/tempfile.rst:219 ../../library/tempfile.rst:248 msgid "The *dir* parameter now accepts a :term:`path-like object`." msgstr "" -#: ../../library/tempfile.rst:219 +#: ../../library/tempfile.rst:225 msgid "" "Creates a temporary directory in the most secure manner possible. There are " "no race conditions in the directory's creation. The directory is readable, " "writable, and searchable only by the creating user ID." msgstr "" -#: ../../library/tempfile.rst:223 +#: ../../library/tempfile.rst:229 msgid "" "The user of :func:`mkdtemp` is responsible for deleting the temporary " "directory and its contents when done with it." msgstr "" -#: ../../library/tempfile.rst:226 +#: ../../library/tempfile.rst:232 msgid "" -"The *prefix*, *suffix*, and *dir* arguments are the same as for :func:" -"`mkstemp`." +"The *prefix*, *suffix*, and *dir* arguments are the same as " +"for :func:`mkstemp`." msgstr "" -#: ../../library/tempfile.rst:229 +#: ../../library/tempfile.rst:235 msgid "" ":func:`mkdtemp` returns the absolute pathname of the new directory if *dir* " -"is ``None`` or is an absolute path. If *dir* is a relative path, :func:" -"`mkdtemp` returns a relative path on Python 3.11 and lower. However, on 3.12 " -"it will return an absolute path in all situations." +"is ``None`` or is an absolute path. If *dir* is a relative " +"path, :func:`mkdtemp` returns a relative path on Python 3.11 and lower. " +"However, on 3.12 it will return an absolute path in all situations." msgstr "" -#: ../../library/tempfile.rst:248 +#: ../../library/tempfile.rst:254 msgid "" "Return the name of the directory used for temporary files. This defines the " "default value for the *dir* argument to all functions in this module." msgstr "" -#: ../../library/tempfile.rst:252 +#: ../../library/tempfile.rst:258 msgid "" "Python searches a standard list of directories to find one which the calling " "user can create files in. The list is:" msgstr "" -#: ../../library/tempfile.rst:255 +#: ../../library/tempfile.rst:261 msgid "The directory named by the :envvar:`TMPDIR` environment variable." msgstr "" -#: ../../library/tempfile.rst:257 +#: ../../library/tempfile.rst:263 msgid "The directory named by the :envvar:`TEMP` environment variable." msgstr "" -#: ../../library/tempfile.rst:259 +#: ../../library/tempfile.rst:265 msgid "The directory named by the :envvar:`TMP` environment variable." msgstr "" -#: ../../library/tempfile.rst:261 +#: ../../library/tempfile.rst:267 msgid "A platform-specific location:" msgstr "Uma localização específica por plataforma:" -#: ../../library/tempfile.rst:263 +#: ../../library/tempfile.rst:269 msgid "" "On Windows, the directories :file:`C:\\\\TEMP`, :file:`C:\\\\TMP`, :file:`\\" "\\TEMP`, and :file:`\\\\TMP`, in that order." msgstr "" -#: ../../library/tempfile.rst:266 +#: ../../library/tempfile.rst:272 msgid "" -"On all other platforms, the directories :file:`/tmp`, :file:`/var/tmp`, and :" -"file:`/usr/tmp`, in that order." +"On all other platforms, the directories :file:`/tmp`, :file:`/var/tmp`, " +"and :file:`/usr/tmp`, in that order." msgstr "" -#: ../../library/tempfile.rst:269 +#: ../../library/tempfile.rst:275 msgid "As a last resort, the current working directory." msgstr "" -#: ../../library/tempfile.rst:271 +#: ../../library/tempfile.rst:277 msgid "" "The result of this search is cached, see the description of :data:`tempdir` " "below." msgstr "" -#: ../../library/tempfile.rst:276 +#: ../../library/tempfile.rst:282 msgid "" "Always returns a str. Previously it would return any :data:`tempdir` value " "regardless of type so long as it was not ``None``." msgstr "" -#: ../../library/tempfile.rst:281 +#: ../../library/tempfile.rst:287 msgid "Same as :func:`gettempdir` but the return value is in bytes." msgstr "" -#: ../../library/tempfile.rst:287 +#: ../../library/tempfile.rst:293 msgid "" "Return the filename prefix used to create temporary files. This does not " "contain the directory component." msgstr "" -#: ../../library/tempfile.rst:292 +#: ../../library/tempfile.rst:298 msgid "Same as :func:`gettempprefix` but the return value is in bytes." msgstr "" -#: ../../library/tempfile.rst:296 +#: ../../library/tempfile.rst:302 msgid "" "The module uses a global variable to store the name of the directory used " "for temporary files returned by :func:`gettempdir`. It can be set directly " @@ -404,43 +408,43 @@ msgid "" "unsuspecting code by changing global API behavior." msgstr "" -#: ../../library/tempfile.rst:305 +#: ../../library/tempfile.rst:311 msgid "" "When set to a value other than ``None``, this variable defines the default " "value for the *dir* argument to the functions defined in this module, " "including its type, bytes or str. It cannot be a :term:`path-like object`." msgstr "" -#: ../../library/tempfile.rst:310 +#: ../../library/tempfile.rst:316 msgid "" "If ``tempdir`` is ``None`` (the default) at any call to any of the above " "functions except :func:`gettempprefix` it is initialized following the " "algorithm described in :func:`gettempdir`." msgstr "" -#: ../../library/tempfile.rst:316 +#: ../../library/tempfile.rst:322 msgid "" "Beware that if you set ``tempdir`` to a bytes value, there is a nasty side " -"effect: The global default return type of :func:`mkstemp` and :func:" -"`mkdtemp` changes to bytes when no explicit ``prefix``, ``suffix``, or " -"``dir`` arguments of type str are supplied. Please do not write code " -"expecting or depending on this. This awkward behavior is maintained for " -"compatibility with the historical implementation." +"effect: The global default return type of :func:`mkstemp` " +"and :func:`mkdtemp` changes to bytes when no explicit ``prefix``, " +"``suffix``, or ``dir`` arguments of type str are supplied. Please do not " +"write code expecting or depending on this. This awkward behavior is " +"maintained for compatibility with the historical implementation." msgstr "" -#: ../../library/tempfile.rst:327 +#: ../../library/tempfile.rst:333 msgid "Examples" msgstr "Exemplos" -#: ../../library/tempfile.rst:329 +#: ../../library/tempfile.rst:335 msgid "Here are some examples of typical usage of the :mod:`tempfile` module::" msgstr "" -#: ../../library/tempfile.rst:361 +#: ../../library/tempfile.rst:367 msgid "Deprecated functions and variables" msgstr "" -#: ../../library/tempfile.rst:363 +#: ../../library/tempfile.rst:369 msgid "" "A historical way to create temporary files was to first generate a file name " "with the :func:`mktemp` function and then create a file using this name. " @@ -451,11 +455,11 @@ msgid "" "used by :func:`mkstemp` and the other functions described above." msgstr "" -#: ../../library/tempfile.rst:374 +#: ../../library/tempfile.rst:380 msgid "Use :func:`mkstemp` instead." msgstr "Use :func:`mkstemp`." -#: ../../library/tempfile.rst:377 +#: ../../library/tempfile.rst:383 msgid "" "Return an absolute pathname of a file that did not exist at the time the " "call is made. The *prefix*, *suffix*, and *dir* arguments are similar to " @@ -463,7 +467,7 @@ msgid "" "``prefix=None`` are not supported." msgstr "" -#: ../../library/tempfile.rst:384 +#: ../../library/tempfile.rst:390 msgid "" "Use of this function may introduce a security hole in your program. By the " "time you get around to doing anything with the file name it returns, someone " diff --git a/library/termios.po b/library/termios.po index e1202c25d..4991a14e3 100644 --- a/library/termios.po +++ b/library/termios.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# And Past , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -44,17 +41,22 @@ msgstr "" "*termios* configurado durante a instalação." #: ../../library/termios.rst:19 +msgid ":ref:`Availability `: Unix." +msgstr ":ref:`Disponibilidade `: Unix." + +#: ../../library/termios.rst:21 msgid "" "All functions in this module take a file descriptor *fd* as their first " -"argument. This can be an integer file descriptor, such as returned by ``sys." -"stdin.fileno()``, or a :term:`file object`, such as ``sys.stdin`` itself." +"argument. This can be an integer file descriptor, such as returned by " +"``sys.stdin.fileno()``, or a :term:`file object`, such as ``sys.stdin`` " +"itself." msgstr "" "Todas as funções neste módulo usam um descritor de arquivo *fd* como seu " "primeiro argumento. Pode ser um descritor de arquivo de tipo inteiro, como " "retornado por ``sys.stdin.fileno()``, ou um :term:`objeto arquivo `, como o próprio ``sys.stdin``." -#: ../../library/termios.rst:23 +#: ../../library/termios.rst:25 msgid "" "This module also defines all the constants needed to work with the functions " "provided here; these have the same name as their counterparts in C. Please " @@ -66,11 +68,11 @@ msgstr "" "C. Consulte a documentação do sistema para mais informações sobre o uso " "dessas interfaces de controle de terminal." -#: ../../library/termios.rst:28 +#: ../../library/termios.rst:30 msgid "The module defines the following functions:" msgstr "O módulo define as seguintes funções:" -#: ../../library/termios.rst:33 +#: ../../library/termios.rst:35 msgid "" "Return a list containing the tty attributes for file descriptor *fd*, as " "follows: ``[iflag, oflag, cflag, lflag, ispeed, ospeed, cc]`` where *cc* is " @@ -83,29 +85,39 @@ msgstr "" "Retorna uma lista contendo os atributos tty para o descritor de arquivo " "*fd*, da seguinte forma: ``[iflag, oflag, cflag, lflag, ispeed, ospeed, " "cc]`` onde *cc* é uma lista dos caracteres especiais do tty (cada uma string " -"de comprimento 1, exceto os itens com índices :const:`VMIN` e :const:" -"`VTIME`, que são números inteiros quando esses campos são definidos). A " -"interpretação dos sinalizadores e as velocidades, bem como a indexação no " -"vetor *cc*, devem ser feitas usando as constantes simbólicas definidas no " -"módulo :mod:`termios`." +"de comprimento 1, exceto os itens com índices :const:`VMIN` " +"e :const:`VTIME`, que são números inteiros quando esses campos são " +"definidos). A interpretação dos sinalizadores e as velocidades, bem como a " +"indexação no vetor *cc*, devem ser feitas usando as constantes simbólicas " +"definidas no módulo :mod:`termios`." -#: ../../library/termios.rst:44 +#: ../../library/termios.rst:46 msgid "" "Set the tty attributes for file descriptor *fd* from the *attributes*, which " "is a list like the one returned by :func:`tcgetattr`. The *when* argument " -"determines when the attributes are changed: :const:`TCSANOW` to change " -"immediately, :const:`TCSADRAIN` to change after transmitting all queued " -"output, or :const:`TCSAFLUSH` to change after transmitting all queued output " -"and discarding all queued input." +"determines when the attributes are changed:" msgstr "" -"Define os atributos tty para o descritor de arquivo *fd* a partir de " -"*attribute*, que é uma lista como a retornada por :func:`tcgetattr`. O " -"argumento *when* determina quando os atributos são alterados: :const:" -"`TCSANOW` para mudar imediatamente, :const:`TCSADRAIN` para alterar após " -"transmitir todas as saídas na fila ou :const:`TCSAFLUSH` para alterar após " -"transmitir todas as saídas na fila e descartando todas as entradas na fila." - -#: ../../library/termios.rst:54 +"Define os atributos do tty para descritor de arquivo *fd* a partir de " +"*attributes*, que é uma lista como a retornada por :func:`tcgetattr`. O " +"argumento *when* determina quando os atributos são alterados:" + +#: ../../library/termios.rst:52 +msgid "Change attributes immediately." +msgstr "Altera os atributos imediatamente." + +#: ../../library/termios.rst:56 +msgid "Change attributes after transmitting all queued output." +msgstr "Altera os atributos depois de transmitir todas as saídas enfileiradas." + +#: ../../library/termios.rst:60 +msgid "" +"Change attributes after transmitting all queued output and discarding all " +"queued input." +msgstr "" +"Altera os atributos depois de transmitir todas as saídas enfileiradas e " +"descartar todas as entradas enfileiradas." + +#: ../../library/termios.rst:66 msgid "" "Send a break on file descriptor *fd*. A zero *duration* sends a break for " "0.25--0.5 seconds; a nonzero *duration* has a system dependent meaning." @@ -115,81 +127,83 @@ msgstr "" "*duration* com valor diferente de zero tem um significado dependente do " "sistema." -#: ../../library/termios.rst:60 +#: ../../library/termios.rst:72 msgid "" "Wait until all output written to file descriptor *fd* has been transmitted." msgstr "" "Aguarda até que toda a saída escrita no descritor de arquivo *fd* seja " "transmitida." -#: ../../library/termios.rst:65 +#: ../../library/termios.rst:77 msgid "" "Discard queued data on file descriptor *fd*. The *queue* selector specifies " "which queue: :const:`TCIFLUSH` for the input queue, :const:`TCOFLUSH` for " "the output queue, or :const:`TCIOFLUSH` for both queues." msgstr "" "Descarta dados na fila no descritor de arquivo *fd*. O seletor *queue* " -"especifica qual fila: :const:`TCIFLUSH` para a fila de entrada, :const:" -"`TCOFLUSH` para a fila de saída ou :const:`TCIOFLUSH` para as duas filas." +"especifica qual fila: :const:`TCIFLUSH` para a fila de " +"entrada, :const:`TCOFLUSH` para a fila de saída ou :const:`TCIOFLUSH` para " +"as duas filas." -#: ../../library/termios.rst:72 +#: ../../library/termios.rst:84 msgid "" "Suspend or resume input or output on file descriptor *fd*. The *action* " "argument can be :const:`TCOOFF` to suspend output, :const:`TCOON` to restart " "output, :const:`TCIOFF` to suspend input, or :const:`TCION` to restart input." msgstr "" "Suspende ou retoma a entrada ou saída no descritor de arquivo *fd*. O " -"argumento *action* pode ser :const:`TCOOFF` para suspender a saída, :const:" -"`TCOON` para reiniciar a saída, :const:`TCIOFF` para suspender a entrada ou :" -"const:`TCION` para reiniciar a entrada." +"argumento *action* pode ser :const:`TCOOFF` para suspender a " +"saída, :const:`TCOON` para reiniciar a saída, :const:`TCIOFF` para suspender " +"a entrada ou :const:`TCION` para reiniciar a entrada." -#: ../../library/termios.rst:79 +#: ../../library/termios.rst:91 msgid "" "Return a tuple ``(ws_row, ws_col)`` containing the tty window size for file " -"descriptor *fd*. Requires :const:`termios.TIOCGWINSZ` or :const:`termios." -"TIOCGSIZE`." +"descriptor *fd*. Requires :const:`termios.TIOCGWINSZ` " +"or :const:`termios.TIOCGSIZE`." msgstr "" "Retorna uma tupla ``(ws_row, ws_col)`` contendo o tamanho da janela de " -"terminal para o descritor de arquivo *fd*. Requer :const:`termios." -"TIOCGWINSZ` ou :const:`termios.TIOCGSIZE`." +"terminal para o descritor de arquivo *fd*. " +"Requer :const:`termios.TIOCGWINSZ` ou :const:`termios.TIOCGSIZE`." -#: ../../library/termios.rst:88 +#: ../../library/termios.rst:100 msgid "" "Set the tty window size for file descriptor *fd* from *winsize*, which is a " -"two-item tuple ``(ws_row, ws_col)`` like the one returned by :func:" -"`tcgetwinsize`. Requires at least one of the pairs (:const:`termios." -"TIOCGWINSZ`, :const:`termios.TIOCSWINSZ`); (:const:`termios.TIOCGSIZE`, :" -"const:`termios.TIOCSSIZE`) to be defined." +"two-item tuple ``(ws_row, ws_col)`` like the one returned " +"by :func:`tcgetwinsize`. Requires at least one of the pairs " +"(:const:`termios.TIOCGWINSZ`, :const:`termios.TIOCSWINSZ`); " +"(:const:`termios.TIOCGSIZE`, :const:`termios.TIOCSSIZE`) to be defined." msgstr "" "Define o tamanho da janela de terminal para o descritor de arquivo *fd* de " "*winsize*, que é uma tupla de dois elementos ``(ws_row, ws_col)`` como a " -"retornada por :func:`tcgetwinsize`. Requer pelo menos um dos pares (:const:" -"`termios.TIOCGWINSZ`, :const:`termios.TIOCSWINSZ`); (:const:`termios." -"TIOCGSIZE`, :const:`termios.TIOCSSIZE`) a ser definido." +"retornada por :func:`tcgetwinsize`. Requer pelo menos um dos pares " +"(:const:`termios.TIOCGWINSZ`, :const:`termios.TIOCSWINSZ`); " +"(:const:`termios.TIOCGSIZE`, :const:`termios.TIOCSSIZE`) a ser definido." -#: ../../library/termios.rst:99 +#: ../../library/termios.rst:111 msgid "Module :mod:`tty`" msgstr "Módulo :mod:`tty`" -#: ../../library/termios.rst:100 +#: ../../library/termios.rst:112 msgid "Convenience functions for common terminal control operations." msgstr "Funções de conveniência para operações comuns de controle de terminal." -#: ../../library/termios.rst:106 +#: ../../library/termios.rst:118 msgid "Example" msgstr "Exemplo" -#: ../../library/termios.rst:108 +#: ../../library/termios.rst:120 msgid "" "Here's a function that prompts for a password with echoing turned off. Note " -"the technique using a separate :func:`tcgetattr` call and a :keyword:" -"`try` ... :keyword:`finally` statement to ensure that the old tty attributes " -"are restored exactly no matter what happens::" +"the technique using a separate :func:`tcgetattr` call and " +"a :keyword:`try` ... :keyword:`finally` statement to ensure that the old tty " +"attributes are restored exactly no matter what happens::" msgstr "" "Aqui está uma função que solicita uma senha com o eco desativado. Observe a " -"técnica usando uma chamada separada :func:`tcgetattr` e uma instrução :" -"keyword:`try` ... :keyword:`finally` para garantir que os atributos tty " -"antigos sejam restaurados exatamente, aconteça o que acontecer::" +"técnica usando uma chamada separada :func:`tcgetattr` e uma " +"instrução :keyword:`try` ... :keyword:`finally` para garantir que os " +"atributos tty antigos sejam restaurados exatamente, aconteça o que " +"acontecer::" #: ../../library/termios.rst:8 msgid "POSIX" @@ -197,8 +211,8 @@ msgstr "POSIX" #: ../../library/termios.rst:8 msgid "I/O control" -msgstr "" +msgstr "controle de E/S" #: ../../library/termios.rst:8 msgid "tty" -msgstr "" +msgstr "tty" diff --git a/library/test.po b/library/test.po index a3af2be91..71652f79f 100644 --- a/library/test.po +++ b/library/test.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# João Porfirio, 2022 -# Altair Ribeiro, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -49,9 +44,9 @@ msgstr "" #: ../../library/test.rst:18 msgid "" "The :mod:`test` package contains all regression tests for Python as well as " -"the modules :mod:`test.support` and :mod:`test.regrtest`. :mod:`test." -"support` is used to enhance your tests while :mod:`test.regrtest` drives the " -"testing suite." +"the modules :mod:`test.support` " +"and :mod:`test.regrtest`. :mod:`test.support` is used to enhance your tests " +"while :mod:`test.regrtest` drives the testing suite." msgstr "" "O pacote :mod:`test` contém todos os testes de regressão do Python, bem como " "os módulos :mod:`test.support` e :mod:`test.regrtest`. :mod:`test.support` é " @@ -124,13 +119,13 @@ msgstr "Um boilerplate básico é muitas vezes usado::" #: ../../library/test.rst:88 msgid "" -"This code pattern allows the testing suite to be run by :mod:`test." -"regrtest`, on its own as a script that supports the :mod:`unittest` CLI, or " -"via the ``python -m unittest`` CLI." +"This code pattern allows the testing suite to be run " +"by :mod:`test.regrtest`, on its own as a script that supports " +"the :mod:`unittest` CLI, or via the ``python -m unittest`` CLI." msgstr "" -"Este padrão de código permite que o conjunto de testes seja executado pelo :" -"mod:`test.regrtest`, por conta própria, como um script que suporte o :mod:" -"`unittest` CLI, ou através do ``python -m unittest`` CLI." +"Este padrão de código permite que o conjunto de testes seja executado " +"pelo :mod:`test.regrtest`, por conta própria, como um script que suporte " +"o :mod:`unittest` CLI, ou através do ``python -m unittest`` CLI." #: ../../library/test.rst:92 msgid "" @@ -231,15 +226,17 @@ msgstr "" #: ../../library/test.rst:145 msgid "" -"When using this pattern, remember that all classes that inherit from :class:" -"`unittest.TestCase` are run as tests. The :class:`Mixin` class in the " -"example above does not have any data and so can't be run by itself, thus it " -"does not inherit from :class:`unittest.TestCase`." +"When using this pattern, remember that all classes that inherit " +"from :class:`unittest.TestCase` are run as tests. The :class:`!" +"TestFuncAcceptsSequencesMixin` class in the example above does not have any " +"data and so can't be run by itself, thus it does not inherit " +"from :class:`unittest.TestCase`." msgstr "" -"Ao usar este padrão, lembre-se que todas as classes que herdam de :class:" -"`unittest.TestCase` são executadas como testes. A classe :class:`Mixin` no " -"exemplo acima não tem nenhum dado e, portanto, não pode ser executada " -"sozinha, portanto, ela não herda de :class:`unittest.TestCase`." +"Ao usar este padrão, lembre-se que todas as classes que herdam " +"de :class:`unittest.TestCase` são executadas como testes. A classe :class:`!" +"TestFuncAcceptsSequencesMixin` no exemplo acima não tem nenhum dado e, " +"portanto, não pode ser executada sozinha, portanto, ela não herda " +"de :class:`unittest.TestCase`." #: ../../library/test.rst:153 msgid "Test Driven Development" @@ -253,25 +250,25 @@ msgstr "Um livro de Kent Beck sobre escrita de testes antes do código." msgid "Running tests using the command-line interface" msgstr "Executando testes usando a interface de linha de comando" -#: ../../library/test.rst:162 +#: ../../library/test.rst:165 msgid "" "The :mod:`test` package can be run as a script to drive Python's regression " "test suite, thanks to the :option:`-m` option: :program:`python -m test`. " "Under the hood, it uses :mod:`test.regrtest`; the call :program:`python -m " "test.regrtest` used in previous Python versions still works. Running the " -"script by itself automatically starts running all regression tests in the :" -"mod:`test` package. It does this by finding all modules in the package whose " -"name starts with ``test_``, importing them, and executing the function :func:" -"`test_main` if present or loading the tests via unittest.TestLoader." -"loadTestsFromModule if ``test_main`` does not exist. The names of tests to " -"execute may also be passed to the script. Specifying a single regression " -"test (:program:`python -m test test_spam`) will minimize output and only " -"print whether the test passed or failed." +"script by itself automatically starts running all regression tests in " +"the :mod:`test` package. It does this by finding all modules in the package " +"whose name starts with ``test_``, importing them, and executing the " +"function :func:`test_main` if present or loading the tests via " +"unittest.TestLoader.loadTestsFromModule if ``test_main`` does not exist. " +"The names of tests to execute may also be passed to the script. Specifying a " +"single regression test (:program:`python -m test test_spam`) will minimize " +"output and only print whether the test passed or failed." msgstr "" "O pacote :mod:`test` pode ser executado como um script para conduzir o " -"conjunto de testes de regressão do Python, graças à opção :option:`-m`: :" -"program:`python -m test`. Nos bastidores, ele usa :mod:`test.regrtest`; a " -"chamada :program:`python -m test.regrtest` usado nas versões anteriores do " +"conjunto de testes de regressão do Python, graças à opção :option:`-" +"m`: :program:`python -m test`. Nos bastidores, ele usa :mod:`test.regrtest`; " +"a chamada :program:`python -m test.regrtest` usado nas versões anteriores do " "Python ainda funciona. Executar o script por si só começa a executar todos " "os testes de regressão no pacote :mod:`test`. Ele faz isso encontrando todos " "os módulos no pacote cujo nome começa com ``test_``, importando-os e " @@ -281,7 +278,7 @@ msgstr "" "Especificando um teste de regressão simples (:program:`python -m test " "test_spam`) minimizará saiba e imprima apenas se o teste passou ou falhou." -#: ../../library/test.rst:175 +#: ../../library/test.rst:178 msgid "" "Running :mod:`test` directly allows what resources are available for tests " "to use to be set. You do this by using the ``-u`` command-line option. " @@ -293,14 +290,24 @@ msgid "" "the ``audio`` and ``largefile`` resources. For a list of all resources and " "more command-line options, run :program:`python -m test -h`." msgstr "" +"A execução de :mod:`test` permite definir diretamente quais recursos estão " +"disponíveis para os testes usarem. Você faz isso usando a opção de linha de " +"comando ``-u``. Especificar ``all`` como o valor para a opção ``-u`` ativa " +"todos os recursos possíveis: :program:`python -m test -uall`. Se todos menos " +"um recurso for desejado (um caso mais comum), uma lista separada por " +"vírgulas de recursos que não são desejados pode ser listada após ``all``. O " +"comando :program:`python -m test -uall,-audio,-largefile` " +"executará :mod:`test` com todos os recursos, exceto os recursos ``audio`` e " +"``largefile``. Para obter uma lista de todos os recursos e mais opções de " +"linha de comando, execute :program:`python -m test -h`." -#: ../../library/test.rst:186 +#: ../../library/test.rst:189 msgid "" "Some other ways to execute the regression tests depend on what platform the " "tests are being executed on. On Unix, you can run :program:`make test` at " -"the top-level directory where Python was built. On Windows, executing :" -"program:`rt.bat` from your :file:`PCbuild` directory will run all regression " -"tests." +"the top-level directory where Python was built. On Windows, " +"executing :program:`rt.bat` from your :file:`PCbuild` directory will run all " +"regression tests." msgstr "" "Alguns outros meios para executar os testes de regressão dependem em qual " "plataforma os testes estão sendo executados. No Unix, você pode executar: " @@ -308,11 +315,11 @@ msgstr "" "construído. No Windows, executar: programa 'rt.bat' do seu diretório: file: " "'PCbuild' executará todos os testes de regressão." -#: ../../library/test.rst:194 +#: ../../library/test.rst:197 msgid ":mod:`test.support` --- Utilities for the Python test suite" msgstr ":mod:`test.support` --- Utilitários para o conjunto de teste do Python" -#: ../../library/test.rst:200 +#: ../../library/test.rst:203 msgid "" "The :mod:`test.support` module provides support for Python's regression test " "suite." @@ -320,7 +327,7 @@ msgstr "" "O módulo :mod:`test.support` fornece suporte para a suíte de testes de " "regressão do Python." -#: ../../library/test.rst:205 +#: ../../library/test.rst:208 msgid "" ":mod:`test.support` is not a public module. It is documented here to help " "Python developers write tests. The API of this module is subject to change " @@ -331,82 +338,98 @@ msgstr "" "está sujeito a mudar sem problemas de compatibilidade entre as versões " "anteriores." -#: ../../library/test.rst:210 +#: ../../library/test.rst:213 msgid "This module defines the following exceptions:" msgstr "Esse módulo define as seguintes exceções:" -#: ../../library/test.rst:214 +#: ../../library/test.rst:217 msgid "" -"Exception to be raised when a test fails. This is deprecated in favor of :" -"mod:`unittest`\\ -based tests and :class:`unittest.TestCase`'s assertion " +"Exception to be raised when a test fails. This is deprecated in favor " +"of :mod:`unittest`\\ -based tests and :class:`unittest.TestCase`'s assertion " "methods." msgstr "" +"Exceção a ser levantada quando um teste falha. Isto foi descontinuado em " +"favor dos testes baseados em :mod:`unittest` e métodos de asserção " +"de :class:`unittest.TestCase`." -#: ../../library/test.rst:221 +#: ../../library/test.rst:224 msgid "" "Subclass of :exc:`unittest.SkipTest`. Raised when a resource (such as a " "network connection) is not available. Raised by the :func:`requires` " "function." msgstr "" +"Subclasse de :exc:`unittest.SkipTest`. Levantada quando um recurso (como uma " +"conexão de rede) não está disponível. Levantada pela função :func:`requires`." -#: ../../library/test.rst:226 +#: ../../library/test.rst:229 msgid "The :mod:`test.support` module defines the following constants:" msgstr "O módulo :mod:`test.support` define as seguintes constantes:" -#: ../../library/test.rst:230 +#: ../../library/test.rst:233 msgid "" "``True`` when verbose output is enabled. Should be checked when more " -"detailed information is desired about a running test. *verbose* is set by :" -"mod:`test.regrtest`." +"detailed information is desired about a running test. *verbose* is set " +"by :mod:`test.regrtest`." msgstr "" +"``True`` quando a saída detalhada está habilitada. Deve ser verificado " +"quando informações mais detalhadas são desejadas sobre um teste em execução. " +"*verbose* é definido por :mod:`test.regrtest`." -#: ../../library/test.rst:237 +#: ../../library/test.rst:240 msgid "``True`` if the running interpreter is Jython." msgstr "``True`` se o interpretador em execução for Jython." -#: ../../library/test.rst:242 +#: ../../library/test.rst:245 msgid "``True`` if the system is Android." msgstr "``True`` se o sistema é Android." -#: ../../library/test.rst:247 +#: ../../library/test.rst:250 msgid "Path for shell if not on Windows; otherwise ``None``." msgstr "" "Caminho para o console se não estiver no Windows; por outro lado ``None``" -#: ../../library/test.rst:252 +#: ../../library/test.rst:255 msgid "" "Timeout in seconds for tests using a network server listening on the network " "local loopback interface like ``127.0.0.1``." msgstr "" +"Tempo limite em segundos para testes usando um servidor de rede escutando na " +"interface de loopback local da rede como ``127.0.0.1``." -#: ../../library/test.rst:255 +#: ../../library/test.rst:258 msgid "" "The timeout is long enough to prevent test failure: it takes into account " "that the client and the server can run in different threads or even " "different processes." msgstr "" +"O tempo limite é longo o suficiente para evitar a falha do teste: leva em " +"consideração que o cliente e o servidor podem ser executados em diferentes " +"threads ou mesmo processos diferentes." -#: ../../library/test.rst:259 +#: ../../library/test.rst:262 msgid "" -"The timeout should be long enough for :meth:`~socket.socket.connect`, :meth:" -"`~socket.socket.recv` and :meth:`~socket.socket.send` methods of :class:" -"`socket.socket`." +"The timeout should be long enough " +"for :meth:`~socket.socket.connect`, :meth:`~socket.socket.recv` " +"and :meth:`~socket.socket.send` methods of :class:`socket.socket`." msgstr "" +"O tempo limite deve ser longo o suficiente para os " +"métodos :meth:`~socket.socket.connect`, :meth:`~socket.socket.recv` " +"e :meth:`~socket.socket.send` de :class:`socket.socket`." -#: ../../library/test.rst:263 +#: ../../library/test.rst:266 msgid "Its default value is 5 seconds." msgstr "Seu valor padrão é 5 segundos." -#: ../../library/test.rst:265 +#: ../../library/test.rst:268 msgid "See also :data:`INTERNET_TIMEOUT`." msgstr "Veja também :data:`INTERNET_TIMEOUT`." -#: ../../library/test.rst:270 +#: ../../library/test.rst:273 msgid "Timeout in seconds for network requests going to the internet." msgstr "" "Tempo limite em segundos para solicitações de rede indo para a Internet." -#: ../../library/test.rst:272 +#: ../../library/test.rst:275 msgid "" "The timeout is short enough to prevent a test to wait for too long if the " "internet request is blocked for whatever reason." @@ -414,261 +437,270 @@ msgstr "" "O tempo limite é curto o suficiente para evitar que um teste espere muito " "tempo se a requisição da Internet for bloqueada por qualquer motivo." -#: ../../library/test.rst:275 +#: ../../library/test.rst:278 msgid "" "Usually, a timeout using :data:`INTERNET_TIMEOUT` should not mark a test as " -"failed, but skip the test instead: see :func:`~test.support.socket_helper." -"transient_internet`." +"failed, but skip the test instead: " +"see :func:`~test.support.socket_helper.transient_internet`." msgstr "" +"Normalmente, um tempo limite usando :data:`INTERNET_TIMEOUT` não deve marcar " +"um teste como falhado, mas ignorá-lo: " +"veja :func:`~test.support.socket_helper.transient_internet`." -#: ../../library/test.rst:279 +#: ../../library/test.rst:282 msgid "Its default value is 1 minute." msgstr "Seu valor padrão é 1 minuto." -#: ../../library/test.rst:281 +#: ../../library/test.rst:284 msgid "See also :data:`LOOPBACK_TIMEOUT`." msgstr "Veja também :data:`LOOPBACK_TIMEOUT`." -#: ../../library/test.rst:286 +#: ../../library/test.rst:289 msgid "" "Timeout in seconds to mark a test as failed if the test takes \"too long\"." msgstr "" "Tempo limite em segundos para marcar um teste como falho se o teste demorar " "\"muito tempo\"." -#: ../../library/test.rst:288 +#: ../../library/test.rst:291 msgid "" "The timeout value depends on the regrtest ``--timeout`` command line option." msgstr "" "O valor do tempo limite depende da opção da linha de comando regrtest ``--" "timeout``." -#: ../../library/test.rst:290 +#: ../../library/test.rst:293 msgid "" "If a test using :data:`SHORT_TIMEOUT` starts to fail randomly on slow " "buildbots, use :data:`LONG_TIMEOUT` instead." msgstr "" +"Se um teste usando :data:`SHORT_TIMEOUT` começar a falhar aleatoriamente em " +"buildbots lentos, use :data:`LONG_TIMEOUT`." -#: ../../library/test.rst:293 +#: ../../library/test.rst:296 msgid "Its default value is 30 seconds." msgstr "Seu valor padrão é 30 segundos." -#: ../../library/test.rst:298 +#: ../../library/test.rst:301 msgid "Timeout in seconds to detect when a test hangs." msgstr "Tempo limite em segundos para detectar quando um teste trava." -#: ../../library/test.rst:300 +#: ../../library/test.rst:303 msgid "" "It is long enough to reduce the risk of test failure on the slowest Python " "buildbots. It should not be used to mark a test as failed if the test takes " "\"too long\". The timeout value depends on the regrtest ``--timeout`` " "command line option." msgstr "" +"É longo o suficiente para reduzir o risco de falha de teste nos buildbots " +"Python mais lentos. Não deve ser usado para marcar um teste como reprovado " +"se o teste demorar \"muito tempo\". O valor do tempo limite depende da opção " +"de linha de comando regrtest ``--timeout``." -#: ../../library/test.rst:305 +#: ../../library/test.rst:308 msgid "Its default value is 5 minutes." msgstr "Seu valor padrão é 5 minutos." -#: ../../library/test.rst:307 +#: ../../library/test.rst:310 msgid "" -"See also :data:`LOOPBACK_TIMEOUT`, :data:`INTERNET_TIMEOUT` and :data:" -"`SHORT_TIMEOUT`." +"See also :data:`LOOPBACK_TIMEOUT`, :data:`INTERNET_TIMEOUT` " +"and :data:`SHORT_TIMEOUT`." msgstr "" +"Veja também :data:`LOOPBACK_TIMEOUT`, :data:`INTERNET_TIMEOUT` " +"e :data:`SHORT_TIMEOUT`." -#: ../../library/test.rst:313 +#: ../../library/test.rst:316 msgid "Set when tests can be skipped when they are not useful for PGO." msgstr "" +"Definido quando os testes podem ser ignorados quando não são úteis para PGO." -#: ../../library/test.rst:318 +#: ../../library/test.rst:321 msgid "" "A constant that is likely larger than the underlying OS pipe buffer size, to " "make writes blocking." msgstr "" +"Uma constante que provavelmente é maior que o tamanho do buffer de canal do " +"sistema operacional subjacente, para fazer o bloqueio de escritas." -#: ../../library/test.rst:324 +#: ../../library/test.rst:327 msgid "" "A constant that is likely larger than the underlying OS socket buffer size, " "to make writes blocking." msgstr "" +"Uma constante que provavelmente é maior que o tamanho do buffer de soquete " +"do sistema operacional subjacente, para fazer o bloqueio de escritas." -#: ../../library/test.rst:330 +#: ../../library/test.rst:333 msgid "Set to the top level directory that contains :mod:`test.support`." msgstr "Define o diretório de mais alto nível que contém :mod:`test.support`." -#: ../../library/test.rst:335 +#: ../../library/test.rst:338 msgid "Set to the top level directory for the test package." msgstr "Define o diretório de mais alto nível para o pacote de teste." -#: ../../library/test.rst:340 +#: ../../library/test.rst:343 msgid "Set to the ``data`` directory within the test package." -msgstr "" +msgstr "Define o diretório ``data`` de dentro do pacote de teste." -#: ../../library/test.rst:345 +#: ../../library/test.rst:348 msgid "Set to :data:`sys.maxsize` for big memory tests." msgstr "Define :data:`sys.maxsize` para grandes testes de memória." -#: ../../library/test.rst:350 +#: ../../library/test.rst:353 msgid "" "Set by :func:`set_memlimit` as the memory limit for big memory tests. " "Limited by :data:`MAX_Py_ssize_t`." msgstr "" -#: ../../library/test.rst:356 +#: ../../library/test.rst:359 msgid "" "Set by :func:`set_memlimit` as the memory limit for big memory tests. Not " "limited by :data:`MAX_Py_ssize_t`." msgstr "" -#: ../../library/test.rst:362 +#: ../../library/test.rst:365 msgid "" -"Set to ``True`` if Python is built without docstrings (the :c:macro:" -"`WITH_DOC_STRINGS` macro is not defined). See the :option:`configure --" -"without-doc-strings <--without-doc-strings>` option." +"Set to ``True`` if Python is built without docstrings " +"(the :c:macro:`WITH_DOC_STRINGS` macro is not defined). See " +"the :option:`configure --without-doc-strings <--without-doc-strings>` option." msgstr "" -#: ../../library/test.rst:366 +#: ../../library/test.rst:369 msgid "See also the :data:`HAVE_DOCSTRINGS` variable." msgstr "" -#: ../../library/test.rst:371 +#: ../../library/test.rst:374 msgid "" -"Set to ``True`` if function docstrings are available. See the :option:" -"`python -OO <-O>` option, which strips docstrings of functions implemented " -"in Python." +"Set to ``True`` if function docstrings are available. See " +"the :option:`python -OO <-O>` option, which strips docstrings of functions " +"implemented in Python." msgstr "" -#: ../../library/test.rst:374 +#: ../../library/test.rst:377 msgid "See also the :data:`MISSING_C_DOCSTRINGS` variable." msgstr "" -#: ../../library/test.rst:379 +#: ../../library/test.rst:382 msgid "Define the URL of a dedicated HTTP server for the network tests." msgstr "" -#: ../../library/test.rst:384 +#: ../../library/test.rst:387 msgid "Object that is equal to anything. Used to test mixed type comparison." msgstr "" -#: ../../library/test.rst:389 +#: ../../library/test.rst:392 msgid "" "Object that is not equal to anything (even to :data:`ALWAYS_EQ`). Used to " "test mixed type comparison." msgstr "" -#: ../../library/test.rst:395 +#: ../../library/test.rst:398 msgid "" "Object that is greater than anything (except itself). Used to test mixed " "type comparison." msgstr "" -#: ../../library/test.rst:401 +#: ../../library/test.rst:404 msgid "" "Object that is less than anything (except itself). Used to test mixed type " "comparison." msgstr "" -#: ../../library/test.rst:405 +#: ../../library/test.rst:408 msgid "The :mod:`test.support` module defines the following functions:" msgstr "O módulo :mod:`test.support` define as seguintes funções:" -#: ../../library/test.rst:409 -msgid "" -"Return ``True`` if *resource* is enabled and available. The list of " -"available resources is only set when :mod:`test.regrtest` is executing the " -"tests." +#: ../../library/test.rst:412 +msgid "Run the loop body until ``break`` stops the loop." msgstr "" -#: ../../library/test.rst:416 -msgid "Return ``True`` if Python was not built with ``-O0`` or ``-Og``." +#: ../../library/test.rst:414 +msgid "" +"After *timeout* seconds, raise an :exc:`AssertionError` if *error* is true, " +"or just stop the loop if *error* is false." msgstr "" -#: ../../library/test.rst:421 -msgid "Return :data:`_testcapi.WITH_PYMALLOC`." -msgstr "Retorna :data:`_testcapi.WITH_PYMALLOC`." +#: ../../library/test.rst:417 +msgid "Example::" +msgstr "Exemplo::" -#: ../../library/test.rst:426 -msgid "" -"Raise :exc:`ResourceDenied` if *resource* is not available. *msg* is the " -"argument to :exc:`ResourceDenied` if it is raised. Always returns ``True`` " -"if called by a function whose ``__name__`` is ``'__main__'``. Used when " -"tests are executed by :mod:`test.regrtest`." +#: ../../library/test.rst:423 ../../library/test.rst:447 +msgid "Example of error=False usage::" msgstr "" -#: ../../library/test.rst:434 -msgid "Return a repr of *dict* with keys sorted." +#: ../../library/test.rst:433 +msgid "Wait strategy that applies exponential backoff." msgstr "" -#: ../../library/test.rst:439 +#: ../../library/test.rst:435 msgid "" -"Return the path to the file named *filename*. If no match is found " -"*filename* is returned. This does not equal a failure since it could be the " -"path to the file." +"Run the loop body until ``break`` stops the loop. Sleep at each loop " +"iteration, but not at the first iteration. The sleep delay is doubled at " +"each iteration (up to *max_delay* seconds)." msgstr "" -#: ../../library/test.rst:443 -msgid "" -"Setting *subdir* indicates a relative path to use to find the file rather " -"than looking directly in the path directories." +#: ../../library/test.rst:439 +msgid "See :func:`busy_retry` documentation for the parameters usage." msgstr "" -#: ../../library/test.rst:449 -msgid "" -"Determine whether *test* matches the patterns set in :func:`set_match_tests`." +#: ../../library/test.rst:441 +msgid "Example raising an exception after SHORT_TIMEOUT seconds::" msgstr "" -#: ../../library/test.rst:454 +#: ../../library/test.rst:457 msgid "" -"Define match patterns on test filenames and test method names for filtering " +"Return ``True`` if *resource* is enabled and available. The list of " +"available resources is only set when :mod:`test.regrtest` is executing the " "tests." msgstr "" -#: ../../library/test.rst:459 -msgid "" -"Execute :class:`unittest.TestCase` subclasses passed to the function. The " -"function scans the classes for methods starting with the prefix ``test_`` " -"and executes the tests individually." +#: ../../library/test.rst:464 +msgid "Return ``True`` if Python was not built with ``-O0`` or ``-Og``." msgstr "" -#: ../../library/test.rst:463 +#: ../../library/test.rst:469 +msgid "Return :const:`_testcapi.WITH_PYMALLOC`." +msgstr "" + +#: ../../library/test.rst:474 msgid "" -"It is also legal to pass strings as parameters; these should be keys in " -"``sys.modules``. Each associated module will be scanned by ``unittest." -"TestLoader.loadTestsFromModule()``. This is usually seen in the following :" -"func:`test_main` function::" +"Raise :exc:`ResourceDenied` if *resource* is not available. *msg* is the " +"argument to :exc:`ResourceDenied` if it is raised. Always returns ``True`` " +"if called by a function whose ``__name__`` is ``'__main__'``. Used when " +"tests are executed by :mod:`test.regrtest`." msgstr "" -#: ../../library/test.rst:471 -msgid "This will run all tests defined in the named module." -msgstr "Isso executará todos os testes definidos no módulo nomeado." +#: ../../library/test.rst:482 +msgid "Return a repr of *dict* with keys sorted." +msgstr "" -#: ../../library/test.rst:476 +#: ../../library/test.rst:487 msgid "" -"Run :func:`doctest.testmod` on the given *module*. Return ``(failure_count, " -"test_count)``." +"Return the path to the file named *filename*. If no match is found " +"*filename* is returned. This does not equal a failure since it could be the " +"path to the file." msgstr "" -#: ../../library/test.rst:479 +#: ../../library/test.rst:491 msgid "" -"If *verbosity* is ``None``, :func:`doctest.testmod` is run with verbosity " -"set to :data:`verbose`. Otherwise, it is run with verbosity set to " -"``None``. *optionflags* is passed as ``optionflags`` to :func:`doctest." -"testmod`." +"Setting *subdir* indicates a relative path to use to find the file rather " +"than looking directly in the path directories." msgstr "" -#: ../../library/test.rst:487 +#: ../../library/test.rst:497 msgid "" "Set the :func:`sys.setswitchinterval` to the given *interval*. Defines a " "minimum interval for Android systems to prevent the system from hanging." msgstr "" -#: ../../library/test.rst:493 +#: ../../library/test.rst:503 msgid "" "Use this check to guard CPython's implementation-specific tests or to run " "them only on the implementations guarded by the arguments. This function " "returns ``True`` or ``False`` depending on the host platform. Example usage::" msgstr "" -#: ../../library/test.rst:505 +#: ../../library/test.rst:515 msgid "" "Set the values for :data:`max_memuse` and :data:`real_max_memuse` for big " "memory tests." @@ -676,7 +708,7 @@ msgstr "" "Define os valores para :data:`max_memuse` e :data:`real_max_memuse` para " "grandes testes de memória." -#: ../../library/test.rst:511 +#: ../../library/test.rst:521 msgid "" "Store the value from *stdout*. It is meant to hold the stdout at the time " "the regrtest began." @@ -684,15 +716,15 @@ msgstr "" "Armazena o valor de *stdout*. Destina-se a manter o stdout no momento em que " "o registro começou." -#: ../../library/test.rst:517 +#: ../../library/test.rst:527 msgid "" -"Return the original stdout set by :func:`record_original_stdout` or ``sys." -"stdout`` if it's not set." +"Return the original stdout set by :func:`record_original_stdout` or " +"``sys.stdout`` if it's not set." msgstr "" "Retorna o stdout original definido por :func:`record_original_stdout` ou " "``sys.stdout`` se não estiver definido." -#: ../../library/test.rst:523 +#: ../../library/test.rst:533 msgid "" "Return a list of command line arguments reproducing the current settings in " "``sys.flags`` and ``sys.warnoptions``." @@ -700,7 +732,7 @@ msgstr "" "Retorna uma lista de argumentos de linha de comando reproduzindo as " "configurações em ``sys.flags`` e ``sys.warnoptions``." -#: ../../library/test.rst:529 +#: ../../library/test.rst:539 msgid "" "Return a list of command line arguments reproducing the current optimization " "settings in ``sys.flags``." @@ -708,141 +740,145 @@ msgstr "" "Retorna a lista de argumentos da linha de comando reproduzindo as " "configurações de otimização atuais em ``sys.flags``." -#: ../../library/test.rst:537 +#: ../../library/test.rst:547 msgid "" -"A context managers that temporarily replaces the named stream with :class:" -"`io.StringIO` object." +"A context managers that temporarily replaces the named stream " +"with :class:`io.StringIO` object." msgstr "" "Um gerenciador de contexto que substitui temporariamente o fluxo nomeado " "pelo objeto :class:`io.StringIO`." -#: ../../library/test.rst:540 +#: ../../library/test.rst:550 msgid "Example use with output streams::" msgstr "Exemplo do uso com fluxos de saída::" -#: ../../library/test.rst:548 +#: ../../library/test.rst:558 msgid "Example use with input stream::" msgstr "Exemplo de uso com fluxo de entrada::" -#: ../../library/test.rst:560 +#: ../../library/test.rst:570 msgid "A context manager that temporary disables :mod:`faulthandler`." msgstr "" "Um gerenciador de contexto que desativa temporariamente :mod:`faulthandler`." -#: ../../library/test.rst:565 +#: ../../library/test.rst:575 msgid "" "Force as many objects as possible to be collected. This is needed because " "timely deallocation is not guaranteed by the garbage collector. This means " "that ``__del__`` methods may be called later than expected and weakrefs may " "remain alive for longer than expected." msgstr "" +"Força a coleta de tantos objetos quanto possível. Isso é necessário porque a " +"desalocação oportuna não é garantida pelo coletor de lixo. Isso significa " +"que os métodos ``__del__`` podem ser chamados mais tarde do que o esperado e " +"as referência fraca podem permanecer ativas por mais tempo do que o esperado." -#: ../../library/test.rst:573 +#: ../../library/test.rst:583 msgid "" "A context manager that disables the garbage collector on entry. On exit, the " "garbage collector is restored to its prior state." msgstr "" -#: ../../library/test.rst:579 +#: ../../library/test.rst:589 msgid "Context manager to swap out an attribute with a new object." msgstr "" -#: ../../library/test.rst:581 ../../library/test.rst:599 -#: ../../library/test.rst:828 ../../library/test.rst:1301 +#: ../../library/test.rst:591 ../../library/test.rst:609 +#: ../../library/test.rst:838 ../../library/test.rst:1304 msgid "Usage::" msgstr "Uso::" -#: ../../library/test.rst:586 +#: ../../library/test.rst:596 msgid "" "This will set ``obj.attr`` to 5 for the duration of the ``with`` block, " "restoring the old value at the end of the block. If ``attr`` doesn't exist " "on ``obj``, it will be created and then deleted at the end of the block." msgstr "" -#: ../../library/test.rst:591 ../../library/test.rst:609 +#: ../../library/test.rst:601 ../../library/test.rst:619 msgid "" "The old value (or ``None`` if it doesn't exist) will be assigned to the " "target of the \"as\" clause, if there is one." msgstr "" -#: ../../library/test.rst:597 +#: ../../library/test.rst:607 msgid "Context manager to swap out an item with a new object." msgstr "" -#: ../../library/test.rst:604 +#: ../../library/test.rst:614 msgid "" "This will set ``obj[\"item\"]`` to 5 for the duration of the ``with`` block, " "restoring the old value at the end of the block. If ``item`` doesn't exist " "on ``obj``, it will be created and then deleted at the end of the block." msgstr "" -#: ../../library/test.rst:615 +#: ../../library/test.rst:625 msgid "" -"Call the ``flush()`` method on :data:`sys.stdout` and then on :data:`sys." -"stderr`. It can be used to make sure that the logs order is consistent " -"before writing into stderr." +"Call the ``flush()`` method on :data:`sys.stdout` and then " +"on :data:`sys.stderr`. It can be used to make sure that the logs order is " +"consistent before writing into stderr." msgstr "" -#: ../../library/test.rst:624 +#: ../../library/test.rst:634 msgid "" "Print a warning into :data:`sys.__stderr__`. Format the message as: " "``f\"Warning -- {msg}\"``. If *msg* is made of multiple lines, add " "``\"Warning -- \"`` prefix to each line." msgstr "" -#: ../../library/test.rst:633 +#: ../../library/test.rst:643 msgid "" "Wait until process *pid* completes and check that the process exit code is " "*exitcode*." msgstr "" -#: ../../library/test.rst:636 +#: ../../library/test.rst:646 msgid "" "Raise an :exc:`AssertionError` if the process exit code is not equal to " "*exitcode*." msgstr "" -#: ../../library/test.rst:639 +#: ../../library/test.rst:649 msgid "" "If the process runs longer than *timeout* seconds (:data:`SHORT_TIMEOUT` by " "default), kill the process and raise an :exc:`AssertionError`. The timeout " "feature is not available on Windows." msgstr "" -#: ../../library/test.rst:648 +#: ../../library/test.rst:658 msgid "" "Return the size of the :c:type:`PyObject` whose structure members are " "defined by *fmt*. The returned value includes the size of the Python object " "header and alignment." msgstr "" -#: ../../library/test.rst:654 +#: ../../library/test.rst:664 msgid "" "Return the size of the :c:type:`PyVarObject` whose structure members are " "defined by *fmt*. The returned value includes the size of the Python object " "header and alignment." msgstr "" -#: ../../library/test.rst:660 +#: ../../library/test.rst:670 msgid "" "For testcase *test*, assert that the ``sys.getsizeof`` for *o* plus the GC " "header size equals *size*." msgstr "" -#: ../../library/test.rst:666 +#: ../../library/test.rst:676 msgid "" -"A decorator to conditionally mark tests with :func:`unittest." -"expectedFailure`. Any use of this decorator should have an associated " -"comment identifying the relevant tracker issue." +"A decorator to conditionally mark tests " +"with :func:`unittest.expectedFailure`. Any use of this decorator should have " +"an associated comment identifying the relevant tracker issue." msgstr "" -#: ../../library/test.rst:673 +#: ../../library/test.rst:683 msgid "" "A decorator that skips the decorated test on TLS certification validation " "failures." msgstr "" -#: ../../library/test.rst:678 +#: ../../library/test.rst:688 msgid "" "A decorator for running a function in a different locale, correctly " "resetting it after it has finished. *catstr* is the locale category as a " @@ -850,73 +886,73 @@ msgid "" "sequentially, and the first valid locale will be used." msgstr "" -#: ../../library/test.rst:686 +#: ../../library/test.rst:696 msgid "" "A decorator for running a function in a specific timezone, correctly " "resetting it after it has finished." msgstr "" -#: ../../library/test.rst:692 +#: ../../library/test.rst:702 msgid "" "Decorator for the minimum version when running test on FreeBSD. If the " "FreeBSD version is less than the minimum, the test is skipped." msgstr "" -#: ../../library/test.rst:698 +#: ../../library/test.rst:708 msgid "" "Decorator for the minimum version when running test on Linux. If the Linux " "version is less than the minimum, the test is skipped." msgstr "" -#: ../../library/test.rst:704 +#: ../../library/test.rst:714 msgid "" "Decorator for the minimum version when running test on macOS. If the macOS " "version is less than the minimum, the test is skipped." msgstr "" -#: ../../library/test.rst:710 +#: ../../library/test.rst:720 msgid "Decorator for skipping tests on non-IEEE 754 platforms." msgstr "" -#: ../../library/test.rst:715 +#: ../../library/test.rst:725 msgid "Decorator for skipping tests if :mod:`zlib` doesn't exist." msgstr "" -#: ../../library/test.rst:720 +#: ../../library/test.rst:730 msgid "Decorator for skipping tests if :mod:`gzip` doesn't exist." msgstr "" -#: ../../library/test.rst:725 +#: ../../library/test.rst:735 msgid "Decorator for skipping tests if :mod:`bz2` doesn't exist." msgstr "" -#: ../../library/test.rst:730 +#: ../../library/test.rst:740 msgid "Decorator for skipping tests if :mod:`lzma` doesn't exist." msgstr "" -#: ../../library/test.rst:735 +#: ../../library/test.rst:745 msgid "Decorator for skipping tests if *resource* is not available." msgstr "" -#: ../../library/test.rst:740 +#: ../../library/test.rst:750 msgid "Decorator for only running the test if :data:`HAVE_DOCSTRINGS`." msgstr "" -#: ../../library/test.rst:745 +#: ../../library/test.rst:755 msgid "Decorator for tests only applicable to CPython." msgstr "" -#: ../../library/test.rst:750 +#: ../../library/test.rst:760 msgid "" "Decorator for invoking :func:`check_impl_detail` on *guards*. If that " "returns ``False``, then uses *msg* as the reason for skipping the test." msgstr "" -#: ../../library/test.rst:756 +#: ../../library/test.rst:766 msgid "Decorator to temporarily turn off tracing for the duration of the test." msgstr "" -#: ../../library/test.rst:761 +#: ../../library/test.rst:771 msgid "" "Decorator for tests which involve reference counting. The decorator does " "not run the test if it is not run by CPython. Any trace function is unset " @@ -924,11 +960,11 @@ msgid "" "trace function." msgstr "" -#: ../../library/test.rst:769 +#: ../../library/test.rst:779 msgid "Decorator for bigmem tests." msgstr "" -#: ../../library/test.rst:771 +#: ../../library/test.rst:781 msgid "" "*size* is a requested size for the test (in arbitrary, test-interpreted " "units.) *memuse* is the number of bytes per unit for the test, or a good " @@ -936,7 +972,7 @@ msgid "" "each, could be decorated with ``@bigmemtest(size=_4G, memuse=2)``." msgstr "" -#: ../../library/test.rst:776 +#: ../../library/test.rst:786 msgid "" "The *size* argument is normally passed to the decorated test method as an " "extra argument. If *dry_run* is ``True``, the value passed to the test " @@ -944,11 +980,11 @@ msgid "" "means the test doesn't support dummy runs when ``-M`` is not specified." msgstr "" -#: ../../library/test.rst:784 +#: ../../library/test.rst:794 msgid "Decorator for tests that fill the address space." -msgstr "Decorador para testes que preeenche o espaço do endereço." +msgstr "Decorador para testes que preenche o espaço do endereço." -#: ../../library/test.rst:789 +#: ../../library/test.rst:799 msgid "" "Test for syntax errors in *statement* by attempting to compile *statement*. " "*testcase* is the :mod:`unittest` instance for the test. *errtext* is the " @@ -958,44 +994,44 @@ msgid "" "of the exception." msgstr "" -#: ../../library/test.rst:799 +#: ../../library/test.rst:809 msgid "Open *url*. If open fails, raises :exc:`TestFailed`." msgstr "Abre *url*. Se falhar em abrir, levanta :exc:`TestFailed`." -#: ../../library/test.rst:804 +#: ../../library/test.rst:814 msgid "" "Use this at the end of ``test_main`` whenever sub-processes are started. " "This will help ensure that no extra children (zombies) stick around to hog " "resources and create problems when looking for refleaks." msgstr "" -#: ../../library/test.rst:811 +#: ../../library/test.rst:821 msgid "" "Get an attribute, raising :exc:`unittest.SkipTest` if :exc:`AttributeError` " "is raised." msgstr "" -#: ../../library/test.rst:817 +#: ../../library/test.rst:827 msgid "" -"Context manager catching unraisable exception using :func:`sys." -"unraisablehook`." +"Context manager catching unraisable exception " +"using :func:`sys.unraisablehook`." msgstr "" -#: ../../library/test.rst:820 +#: ../../library/test.rst:830 msgid "" "Storing the exception value (``cm.unraisable.exc_value``) creates a " "reference cycle. The reference cycle is broken explicitly when the context " "manager exits." msgstr "" -#: ../../library/test.rst:824 +#: ../../library/test.rst:834 msgid "" "Storing the object (``cm.unraisable.object``) can resurrect it if it is set " "to an object which is being finalized. Exiting the context manager clears " "the stored object." msgstr "" -#: ../../library/test.rst:845 +#: ../../library/test.rst:855 msgid "" "Generic implementation of the :mod:`unittest` ``load_tests`` protocol for " "use in test packages. *pkg_dir* is the root directory of the package; " @@ -1004,55 +1040,55 @@ msgid "" "the following::" msgstr "" -#: ../../library/test.rst:860 +#: ../../library/test.rst:870 msgid "" "Returns the set of attributes, functions or methods of *ref_api* not found " "on *other_api*, except for a defined list of items to be ignored in this " "check specified in *ignore*." msgstr "" -#: ../../library/test.rst:864 +#: ../../library/test.rst:874 msgid "" "By default this skips private attributes beginning with '_' but includes all " "magic methods, i.e. those starting and ending in '__'." msgstr "" -#: ../../library/test.rst:872 +#: ../../library/test.rst:882 msgid "" "Override *object_to_patch.attr_name* with *new_value*. Also add cleanup " "procedure to *test_instance* to restore *object_to_patch* for *attr_name*. " "The *attr_name* should be a valid attribute for *object_to_patch*." msgstr "" -#: ../../library/test.rst:880 +#: ../../library/test.rst:890 msgid "" -"Run *code* in subinterpreter. Raise :exc:`unittest.SkipTest` if :mod:" -"`tracemalloc` is enabled." +"Run *code* in subinterpreter. Raise :exc:`unittest.SkipTest` " +"if :mod:`tracemalloc` is enabled." msgstr "" -#: ../../library/test.rst:886 +#: ../../library/test.rst:896 msgid "Assert instances of *cls* are deallocated after iterating." msgstr "" -#: ../../library/test.rst:891 +#: ../../library/test.rst:901 msgid "" "Check for the existence of the compiler executables whose names are listed " "in *cmd_names* or all the compiler executables when *cmd_names* is empty and " "return the first missing executable or ``None`` when none is found missing." msgstr "" -#: ../../library/test.rst:899 +#: ../../library/test.rst:909 msgid "" "Assert that the ``__all__`` variable of *module* contains all public names." msgstr "" -#: ../../library/test.rst:901 +#: ../../library/test.rst:911 msgid "" "The module's public names (its API) are detected automatically based on " "whether they match the public name convention and were defined in *module*." msgstr "" -#: ../../library/test.rst:905 +#: ../../library/test.rst:915 msgid "" "The *name_of_module* argument can specify (as a string or tuple thereof) " "what module(s) an API could be defined in order to be detected as a public " @@ -1060,7 +1096,7 @@ msgid "" "other modules, possibly a C backend (like ``csv`` and its ``_csv``)." msgstr "" -#: ../../library/test.rst:910 +#: ../../library/test.rst:920 msgid "" "The *extra* argument can be a set of names that wouldn't otherwise be " "automatically detected as \"public\", like objects without a proper " @@ -1068,46 +1104,46 @@ msgid "" "detected ones." msgstr "" -#: ../../library/test.rst:914 +#: ../../library/test.rst:924 msgid "" "The *not_exported* argument can be a set of names that must not be treated " "as part of the public API even though their names indicate otherwise." msgstr "" -#: ../../library/test.rst:917 ../../library/test.rst:1550 +#: ../../library/test.rst:927 ../../library/test.rst:1554 msgid "Example use::" msgstr "Exemplo de uso::" -#: ../../library/test.rst:940 +#: ../../library/test.rst:950 msgid "" "Skip tests if the :mod:`multiprocessing.synchronize` module is missing, if " "there is no available semaphore implementation, or if creating a lock raises " "an :exc:`OSError`." msgstr "" -#: ../../library/test.rst:949 +#: ../../library/test.rst:959 msgid "Assert that type *tp* cannot be instantiated using *args* and *kwds*." msgstr "" -#: ../../library/test.rst:956 +#: ../../library/test.rst:966 msgid "" -"This function returns a context manager that will change the global :func:" -"`sys.set_int_max_str_digits` setting for the duration of the context to " -"allow execution of test code that needs a different limit on the number of " -"digits when converting between an integer and string." +"This function returns a context manager that will change the " +"global :func:`sys.set_int_max_str_digits` setting for the duration of the " +"context to allow execution of test code that needs a different limit on the " +"number of digits when converting between an integer and string." msgstr "" -#: ../../library/test.rst:964 +#: ../../library/test.rst:974 msgid "The :mod:`test.support` module defines the following classes:" msgstr "" -#: ../../library/test.rst:969 +#: ../../library/test.rst:979 msgid "" "A context manager used to try to prevent crash dialog popups on tests that " "are expected to crash a subprocess." msgstr "" -#: ../../library/test.rst:972 +#: ../../library/test.rst:982 msgid "" "On Windows, it disables Windows Error Reporting dialogs using `SetErrorMode " "`_." @@ -1116,98 +1152,97 @@ msgstr "" "usando SetErrorMode _." -#: ../../library/test.rst:975 +#: ../../library/test.rst:985 msgid "" -"On UNIX, :func:`resource.setrlimit` is used to set :attr:`resource." -"RLIMIT_CORE`'s soft limit to 0 to prevent coredump file creation." +"On UNIX, :func:`resource.setrlimit` is used to " +"set :const:`resource.RLIMIT_CORE`'s soft limit to 0 to prevent coredump file " +"creation." msgstr "" -#: ../../library/test.rst:979 -msgid "On both platforms, the old value is restored by :meth:`__exit__`." +#: ../../library/test.rst:989 +msgid "" +"On both platforms, the old value is restored by :meth:`~object.__exit__`." msgstr "" -#: ../../library/test.rst:984 +#: ../../library/test.rst:994 msgid "" "Class to save and restore signal handlers registered by the Python signal " "handler." msgstr "" -#: ../../library/test.rst:989 +#: ../../library/test.rst:999 msgid "" "Save the signal handlers to a dictionary mapping signal numbers to the " "current signal handler." msgstr "" -#: ../../library/test.rst:994 +#: ../../library/test.rst:1004 msgid "" "Set the signal numbers from the :meth:`save` dictionary to the saved handler." msgstr "" -#: ../../library/test.rst:1002 +#: ../../library/test.rst:1012 msgid "Try to match a single dict with the supplied arguments." msgstr "Tenta corresponder um único dicionário com os argumentos fornecidos." -#: ../../library/test.rst:1007 +#: ../../library/test.rst:1017 msgid "Try to match a single stored value (*dv*) with a supplied value (*v*)." msgstr "" "Tente combinar um único valor armazenado (*dv*) com um valor fornecido (*v*)." -#: ../../library/test.rst:1014 -msgid "Run *test* and return the result." -msgstr "Executa *test* e retorna o resultado." - -#: ../../library/test.rst:1018 +#: ../../library/test.rst:1021 msgid ":mod:`test.support.socket_helper` --- Utilities for socket tests" msgstr "" -#: ../../library/test.rst:1024 +#: ../../library/test.rst:1027 msgid "" "The :mod:`test.support.socket_helper` module provides support for socket " "tests." msgstr "" -#: ../../library/test.rst:1031 +#: ../../library/test.rst:1034 msgid "Set to ``True`` if IPv6 is enabled on this host, ``False`` otherwise." msgstr "" -#: ../../library/test.rst:1036 +#: ../../library/test.rst:1039 msgid "" "Returns an unused port that should be suitable for binding. This is " "achieved by creating a temporary socket with the same family and type as the " -"``sock`` parameter (default is :const:`~socket.AF_INET`, :const:`~socket." -"SOCK_STREAM`), and binding it to the specified host address (defaults to " -"``0.0.0.0``) with the port set to 0, eliciting an unused ephemeral port from " -"the OS. The temporary socket is then closed and deleted, and the ephemeral " -"port is returned." +"``sock`` parameter (default " +"is :const:`~socket.AF_INET`, :const:`~socket.SOCK_STREAM`), and binding it " +"to the specified host address (defaults to ``0.0.0.0``) with the port set to " +"0, eliciting an unused ephemeral port from the OS. The temporary socket is " +"then closed and deleted, and the ephemeral port is returned." msgstr "" -#: ../../library/test.rst:1045 +#: ../../library/test.rst:1048 msgid "" "Either this method or :func:`bind_port` should be used for any tests where a " "server socket needs to be bound to a particular port for the duration of the " "test. Which one to use depends on whether the calling code is creating a " "Python socket, or if an unused port needs to be provided in a constructor or " "passed to an external program (i.e. the ``-accept`` argument to openssl's " -"s_server mode). Always prefer :func:`bind_port` over :func:" -"`find_unused_port` where possible. Using a hard coded port is discouraged " -"since it can make multiple instances of the test impossible to run " -"simultaneously, which is a problem for buildbots." +"s_server mode). Always prefer :func:`bind_port` " +"over :func:`find_unused_port` where possible. Using a hard coded port is " +"discouraged since it can make multiple instances of the test impossible to " +"run simultaneously, which is a problem for buildbots." msgstr "" -#: ../../library/test.rst:1059 +#: ../../library/test.rst:1062 msgid "" "Bind the socket to a free port and return the port number. Relies on " "ephemeral ports in order to ensure we are using an unbound port. This is " "important as many tests may be running simultaneously, especially in a " -"buildbot environment. This method raises an exception if the ``sock." -"family`` is :const:`~socket.AF_INET` and ``sock.type`` is :const:`~socket." -"SOCK_STREAM`, and the socket has :const:`~socket.SO_REUSEADDR` or :const:" -"`~socket.SO_REUSEPORT` set on it. Tests should never set these socket " -"options for TCP/IP sockets. The only case for setting these options is " -"testing multicasting via multiple UDP sockets." +"buildbot environment. This method raises an exception if the " +"``sock.family`` is :const:`~socket.AF_INET` and ``sock.type`` " +"is :const:`~socket.SOCK_STREAM`, and the socket " +"has :const:`~socket.SO_REUSEADDR` or :const:`~socket.SO_REUSEPORT` set on " +"it. Tests should never set these socket options for TCP/IP sockets. The only " +"case for setting these options is testing multicasting via multiple UDP " +"sockets." msgstr "" -#: ../../library/test.rst:1070 +#: ../../library/test.rst:1073 msgid "" "Additionally, if the :const:`~socket.SO_EXCLUSIVEADDRUSE` socket option is " "available (i.e. on Windows), it will be set on the socket. This will " @@ -1215,58 +1250,58 @@ msgid "" "test." msgstr "" -#: ../../library/test.rst:1078 +#: ../../library/test.rst:1081 msgid "" -"Bind a Unix socket, raising :exc:`unittest.SkipTest` if :exc:" -"`PermissionError` is raised." +"Bind a Unix socket, raising :exc:`unittest.SkipTest` " +"if :exc:`PermissionError` is raised." msgstr "" -#: ../../library/test.rst:1084 +#: ../../library/test.rst:1087 msgid "" "A decorator for running tests that require a functional ``bind()`` for Unix " "sockets." msgstr "" -#: ../../library/test.rst:1090 +#: ../../library/test.rst:1093 msgid "" "A context manager that raises :exc:`~test.support.ResourceDenied` when " "various issues with the internet connection manifest themselves as " "exceptions." msgstr "" -#: ../../library/test.rst:1096 +#: ../../library/test.rst:1099 msgid "" ":mod:`test.support.script_helper` --- Utilities for the Python execution " "tests" msgstr "" -#: ../../library/test.rst:1102 +#: ../../library/test.rst:1105 msgid "" "The :mod:`test.support.script_helper` module provides support for Python's " "script execution tests." msgstr "" -#: ../../library/test.rst:1107 +#: ../../library/test.rst:1110 msgid "" "Return ``True`` if ``sys.executable interpreter`` requires environment " "variables in order to be able to run at all." msgstr "" -#: ../../library/test.rst:1110 +#: ../../library/test.rst:1113 msgid "" "This is designed to be used with ``@unittest.skipIf()`` to annotate tests " "that need to use an ``assert_python*()`` function to launch an isolated mode " "(``-I``) or no environment mode (``-E``) sub-interpreter process." msgstr "" -#: ../../library/test.rst:1114 +#: ../../library/test.rst:1117 msgid "" "A normal build & test does not run into this situation but it can happen " "when trying to run the standard library test suite from an interpreter that " "doesn't have an obvious home with Python's current home finding logic." msgstr "" -#: ../../library/test.rst:1118 +#: ../../library/test.rst:1121 msgid "" "Setting :envvar:`PYTHONHOME` is one way to get most of the testsuite to run " "in that situation. :envvar:`PYTHONPATH` or :envvar:`PYTHONUSERSITE` are " @@ -1274,65 +1309,65 @@ msgid "" "interpreter can start." msgstr "" -#: ../../library/test.rst:1126 +#: ../../library/test.rst:1129 msgid "" "Set up the environment based on *env_vars* for running the interpreter in a " "subprocess. The values can include ``__isolated``, ``__cleanenv``, " "``__cwd``, and ``TERM``." msgstr "" -#: ../../library/test.rst:1130 ../../library/test.rst:1146 -#: ../../library/test.rst:1158 +#: ../../library/test.rst:1133 ../../library/test.rst:1149 +#: ../../library/test.rst:1161 msgid "The function no longer strips whitespaces from *stderr*." msgstr "" -#: ../../library/test.rst:1136 +#: ../../library/test.rst:1139 msgid "" "Assert that running the interpreter with *args* and optional environment " "variables *env_vars* succeeds (``rc == 0``) and return a ``(return code, " "stdout, stderr)`` tuple." msgstr "" -#: ../../library/test.rst:1140 +#: ../../library/test.rst:1143 msgid "" "If the *__cleanenv* keyword-only parameter is set, *env_vars* is used as a " "fresh environment." msgstr "" -#: ../../library/test.rst:1143 +#: ../../library/test.rst:1146 msgid "" "Python is started in isolated mode (command line option ``-I``), except if " "the *__isolated* keyword-only parameter is set to ``False``." msgstr "" -#: ../../library/test.rst:1152 +#: ../../library/test.rst:1155 msgid "" "Assert that running the interpreter with *args* and optional environment " "variables *env_vars* fails (``rc != 0``) and return a ``(return code, " "stdout, stderr)`` tuple." msgstr "" -#: ../../library/test.rst:1156 +#: ../../library/test.rst:1159 msgid "See :func:`assert_python_ok` for more options." msgstr "" -#: ../../library/test.rst:1164 +#: ../../library/test.rst:1167 msgid "Run a Python subprocess with the given arguments." msgstr "" -#: ../../library/test.rst:1166 +#: ../../library/test.rst:1169 msgid "" -"*kw* is extra keyword args to pass to :func:`subprocess.Popen`. Returns a :" -"class:`subprocess.Popen` object." +"*kw* is extra keyword args to pass to :func:`subprocess.Popen`. Returns " +"a :class:`subprocess.Popen` object." msgstr "" -#: ../../library/test.rst:1172 +#: ../../library/test.rst:1175 msgid "" "Run the given :class:`subprocess.Popen` process until completion and return " "stdout." msgstr "" -#: ../../library/test.rst:1178 +#: ../../library/test.rst:1181 msgid "" "Create script containing *source* in path *script_dir* and " "*script_basename*. If *omit_suffix* is ``False``, append ``.py`` to the " @@ -1342,7 +1377,7 @@ msgstr "" "*script_basename*. Se *omit_suffix* ``False``, acrescente ``.py`` ao nome. " "Retorna o caminho completo do script." -#: ../../library/test.rst:1185 +#: ../../library/test.rst:1188 msgid "" "Create zip file at *zip_dir* and *zip_basename* with extension ``zip`` which " "contains the files in *script_name*. *name_in_zip* is the archive name. " @@ -1352,7 +1387,7 @@ msgstr "" "contém os arquivos em *script_name*. *name_in_zip* é o nome do arquivo. " "Retorna uma tupla contendo ``(full path, full path of archive name)``." -#: ../../library/test.rst:1192 +#: ../../library/test.rst:1195 msgid "" "Create a directory named *pkg_dir* containing an ``__init__`` file with " "*init_source* as its contents." @@ -1360,7 +1395,7 @@ msgstr "" "Cria um diretório nomeado *pkg_dir* contendo um arquivo ``__init__`` com " "*init_source* como seus conteúdos." -#: ../../library/test.rst:1199 +#: ../../library/test.rst:1202 msgid "" "Create a zip package directory with a path of *zip_dir* and *zip_basename* " "containing an empty ``__init__`` file and a file *script_basename* " @@ -1369,7 +1404,7 @@ msgid "" "path and the archive name for the zip file." msgstr "" -#: ../../library/test.rst:1207 +#: ../../library/test.rst:1210 msgid "" ":mod:`test.support.bytecode_helper` --- Support tools for testing correct " "bytecode generation" @@ -1377,54 +1412,54 @@ msgstr "" ":mod:`test.support.bytecode_helper` --- Ferramentas de suporte para testar a " "geração correta de bytecode" -#: ../../library/test.rst:1212 +#: ../../library/test.rst:1215 msgid "" "The :mod:`test.support.bytecode_helper` module provides support for testing " "and inspecting bytecode generation." msgstr "" -#: ../../library/test.rst:1217 +#: ../../library/test.rst:1220 msgid "The module defines the following class:" msgstr "O módulo define a seguinte classe:" -#: ../../library/test.rst:1221 +#: ../../library/test.rst:1224 msgid "This class has custom assertion methods for inspecting bytecode." msgstr "" -#: ../../library/test.rst:1225 +#: ../../library/test.rst:1228 msgid "Return the disassembly of *co* as string." msgstr "" -#: ../../library/test.rst:1230 +#: ../../library/test.rst:1233 msgid "" "Return instr if *opname* is found, otherwise throws :exc:`AssertionError`." msgstr "" -#: ../../library/test.rst:1235 +#: ../../library/test.rst:1238 msgid "Throws :exc:`AssertionError` if *opname* is found." msgstr "" -#: ../../library/test.rst:1239 +#: ../../library/test.rst:1242 msgid ":mod:`test.support.threading_helper` --- Utilities for threading tests" msgstr "" -#: ../../library/test.rst:1244 +#: ../../library/test.rst:1247 msgid "" "The :mod:`test.support.threading_helper` module provides support for " "threading tests." msgstr "" -#: ../../library/test.rst:1251 +#: ../../library/test.rst:1254 msgid "" "Join a *thread* within *timeout*. Raise an :exc:`AssertionError` if thread " "is still alive after *timeout* seconds." msgstr "" -#: ../../library/test.rst:1257 +#: ../../library/test.rst:1260 msgid "Decorator to ensure the threads are cleaned up even if the test fails." msgstr "" -#: ../../library/test.rst:1262 +#: ../../library/test.rst:1265 msgid "" "Context manager to start *threads*, which is a sequence of threads. *unlock* " "is a function called after the threads are started, even if an exception was " @@ -1432,79 +1467,79 @@ msgid "" "will attempt to join the started threads upon exit." msgstr "" -#: ../../library/test.rst:1270 +#: ../../library/test.rst:1273 msgid "" "Cleanup up threads not specified in *original_values*. Designed to emit a " "warning if a test leaves running threads in the background." msgstr "" -#: ../../library/test.rst:1276 +#: ../../library/test.rst:1279 msgid "Return current thread count and copy of dangling threads." msgstr "" -#: ../../library/test.rst:1281 +#: ../../library/test.rst:1284 msgid "" "Context manager to wait until all threads created in the ``with`` statement " "exit." msgstr "" -#: ../../library/test.rst:1287 +#: ../../library/test.rst:1290 msgid "" -"Context manager catching :class:`threading.Thread` exception using :func:" -"`threading.excepthook`." +"Context manager catching :class:`threading.Thread` exception " +"using :func:`threading.excepthook`." msgstr "" -#: ../../library/test.rst:1290 +#: ../../library/test.rst:1293 msgid "Attributes set when an exception is caught:" msgstr "" -#: ../../library/test.rst:1292 +#: ../../library/test.rst:1295 msgid "``exc_type``" msgstr "``exc_type``" -#: ../../library/test.rst:1293 +#: ../../library/test.rst:1296 msgid "``exc_value``" msgstr "``exc_value``" -#: ../../library/test.rst:1294 +#: ../../library/test.rst:1297 msgid "``exc_traceback``" msgstr "``exc_traceback``" -#: ../../library/test.rst:1295 +#: ../../library/test.rst:1298 msgid "``thread``" msgstr "``thread``" -#: ../../library/test.rst:1297 +#: ../../library/test.rst:1300 msgid "See :func:`threading.excepthook` documentation." msgstr "" -#: ../../library/test.rst:1299 +#: ../../library/test.rst:1302 msgid "These attributes are deleted at the context manager exit." msgstr "" -#: ../../library/test.rst:1319 +#: ../../library/test.rst:1322 msgid ":mod:`test.support.os_helper` --- Utilities for os tests" msgstr "" -#: ../../library/test.rst:1324 +#: ../../library/test.rst:1327 msgid "The :mod:`test.support.os_helper` module provides support for os tests." msgstr "" -#: ../../library/test.rst:1331 +#: ../../library/test.rst:1334 msgid "A non-ASCII character encodable by :func:`os.fsencode`." msgstr "" -#: ../../library/test.rst:1336 +#: ../../library/test.rst:1339 msgid "Set to :func:`os.getcwd`." msgstr "" -#: ../../library/test.rst:1341 +#: ../../library/test.rst:1344 msgid "" "Set to a name that is safe to use as the name of a temporary file. Any " "temporary file that is created should be closed and unlinked (removed)." msgstr "" -#: ../../library/test.rst:1347 +#: ../../library/test.rst:1350 msgid "" "Set to a filename containing the :data:`FS_NONASCII` character, if it " "exists. This guarantees that if the filename exists, it can be encoded and " @@ -1512,7 +1547,7 @@ msgid "" "a non-ASCII filename to be easily skipped on platforms where they can't work." msgstr "" -#: ../../library/test.rst:1355 +#: ../../library/test.rst:1358 msgid "" "Set to a filename (str type) that should not be able to be encoded by file " "system encoding in strict mode. It may be ``None`` if it's not possible to " @@ -1522,7 +1557,7 @@ msgstr "" "codificação do sistema de arquivos no modo estrito. Ele pode ser ``None`` se " "não for possível gerar como um nome de arquivo." -#: ../../library/test.rst:1362 +#: ../../library/test.rst:1365 msgid "" "Set to a filename (bytes type) that should not be able to be decoded by file " "system encoding in strict mode. It may be ``None`` if it's not possible to " @@ -1532,11 +1567,11 @@ msgstr "" "codificação do sistema de arquivos no modo estrito. Ele pode ser ``None`` se " "não for possível ser gerado com um nome de arquivo." -#: ../../library/test.rst:1369 +#: ../../library/test.rst:1372 msgid "Set to a non-ASCII name for a temporary file." msgstr "Define um nome não-ASCII para o arquivo temporário." -#: ../../library/test.rst:1374 +#: ../../library/test.rst:1377 msgid "" "Class used to temporarily set or unset environment variables. Instances can " "be used as a context manager and have a complete dictionary interface for " @@ -1545,18 +1580,19 @@ msgid "" "instance will be rolled back." msgstr "" -#: ../../library/test.rst:1380 +#: ../../library/test.rst:1383 msgid "Added dictionary interface." msgstr "Adicionada uma interface para dicionário." -#: ../../library/test.rst:1386 +#: ../../library/test.rst:1389 msgid "" -"Simple :term:`path-like object`. It implements the :meth:`__fspath__` " -"method which just returns the *path* argument. If *path* is an exception, " -"it will be raised in :meth:`!__fspath__`." +"Simple :term:`path-like object`. It implements " +"the :meth:`~os.PathLike.__fspath__` method which just returns the *path* " +"argument. If *path* is an exception, it will be raised in :meth:`!" +"__fspath__`." msgstr "" -#: ../../library/test.rst:1393 +#: ../../library/test.rst:1397 msgid "" "Temporarily set the environment variable ``envvar`` to the value of " "``value``." @@ -1564,45 +1600,45 @@ msgstr "" "Temporariamente define a variável de ambiente ``envvar`` para o valor " "``value``." -#: ../../library/test.rst:1399 +#: ../../library/test.rst:1403 msgid "Temporarily unset the environment variable ``envvar``." msgstr "Desativa temporariamente a variável de ambiente ``envvar``." -#: ../../library/test.rst:1404 +#: ../../library/test.rst:1408 msgid "Return ``True`` if the OS supports symbolic links, ``False`` otherwise." msgstr "" -#: ../../library/test.rst:1410 +#: ../../library/test.rst:1414 msgid "Return ``True`` if the OS supports xattr, ``False`` otherwise." msgstr "" -#: ../../library/test.rst:1416 +#: ../../library/test.rst:1420 msgid "" "A context manager that temporarily changes the current working directory to " "*path* and yields the directory." msgstr "" -#: ../../library/test.rst:1419 +#: ../../library/test.rst:1423 msgid "" "If *quiet* is ``False``, the context manager raises an exception on error. " "Otherwise, it issues only a warning and keeps the current working directory " "the same." msgstr "" -#: ../../library/test.rst:1426 +#: ../../library/test.rst:1430 msgid "" "Create an empty file with *filename*. If it already exists, truncate it." msgstr "" -#: ../../library/test.rst:1431 +#: ../../library/test.rst:1435 msgid "Count the number of open file descriptors." msgstr "Conta o número de descritores de arquivos abertos." -#: ../../library/test.rst:1436 +#: ../../library/test.rst:1440 msgid "Return ``True`` if the file system for *directory* is case-insensitive." msgstr "" -#: ../../library/test.rst:1441 +#: ../../library/test.rst:1445 msgid "" "Create an invalid file descriptor by opening and closing a temporary file, " "and returning its descriptor." @@ -1610,31 +1646,31 @@ msgstr "" "Cria um descritor de arquivo inválido abrindo e fechando um arquivo " "temporário e retornando seu descritor." -#: ../../library/test.rst:1447 +#: ../../library/test.rst:1451 msgid "" "Call :func:`os.rmdir` on *filename*. On Windows platforms, this is wrapped " "with a wait loop that checks for the existence of the file, which is needed " "due to antivirus programs that can hold files open and prevent deletion." msgstr "" -#: ../../library/test.rst:1455 +#: ../../library/test.rst:1459 msgid "" -"Call :func:`shutil.rmtree` on *path* or call :func:`os.lstat` and :func:`os." -"rmdir` to remove a path and its contents. As with :func:`rmdir`, on Windows " -"platforms this is wrapped with a wait loop that checks for the existence of " -"the files." +"Call :func:`shutil.rmtree` on *path* or call :func:`os.lstat` " +"and :func:`os.rmdir` to remove a path and its contents. As " +"with :func:`rmdir`, on Windows platforms this is wrapped with a wait loop " +"that checks for the existence of the files." msgstr "" -#: ../../library/test.rst:1463 +#: ../../library/test.rst:1467 msgid "A decorator for running tests that require support for symbolic links." msgstr "" "Um decorador para executar testes que requerem suporte para links simbólicos." -#: ../../library/test.rst:1468 +#: ../../library/test.rst:1472 msgid "A decorator for running tests that require support for xattr." msgstr "Um decorador para execução de testes que requerem suporte para xattr." -#: ../../library/test.rst:1473 +#: ../../library/test.rst:1477 msgid "" "A context manager that temporarily creates a new directory and changes the " "current working directory (CWD)." @@ -1642,15 +1678,15 @@ msgstr "" "Um gerenciador de contexto que cria temporariamente um novo diretório e " "altera o diretório de trabalho atual (CWD)." -#: ../../library/test.rst:1476 +#: ../../library/test.rst:1480 msgid "" "The context manager creates a temporary directory in the current directory " "with name *name* before temporarily changing the current working directory. " -"If *name* is ``None``, the temporary directory is created using :func:" -"`tempfile.mkdtemp`." +"If *name* is ``None``, the temporary directory is created " +"using :func:`tempfile.mkdtemp`." msgstr "" -#: ../../library/test.rst:1481 +#: ../../library/test.rst:1485 msgid "" "If *quiet* is ``False`` and it is not possible to create or change the CWD, " "an error is raised. Otherwise, only a warning is raised and the original " @@ -1660,7 +1696,7 @@ msgstr "" "é levantado. Por outro lado, somente um aviso surge e o CWD original é " "utilizado." -#: ../../library/test.rst:1488 +#: ../../library/test.rst:1492 msgid "" "A context manager that creates a temporary directory at *path* and yields " "the directory." @@ -1668,43 +1704,43 @@ msgstr "" "Um gerenciador de contexto que cria um diretório temporário no *path* e " "produz o diretório." -#: ../../library/test.rst:1491 +#: ../../library/test.rst:1495 msgid "" -"If *path* is ``None``, the temporary directory is created using :func:" -"`tempfile.mkdtemp`. If *quiet* is ``False``, the context manager raises an " -"exception on error. Otherwise, if *path* is specified and cannot be " -"created, only a warning is issued." +"If *path* is ``None``, the temporary directory is created " +"using :func:`tempfile.mkdtemp`. If *quiet* is ``False``, the context " +"manager raises an exception on error. Otherwise, if *path* is specified and " +"cannot be created, only a warning is issued." msgstr "" -#: ../../library/test.rst:1499 +#: ../../library/test.rst:1503 msgid "A context manager that temporarily sets the process umask." msgstr "" "Um gerenciador de contexto que temporariamente define o umask do processo." -#: ../../library/test.rst:1504 +#: ../../library/test.rst:1508 msgid "" "Call :func:`os.unlink` on *filename*. As with :func:`rmdir`, on Windows " "platforms, this is wrapped with a wait loop that checks for the existence of " "the file." msgstr "" -#: ../../library/test.rst:1510 +#: ../../library/test.rst:1514 msgid ":mod:`test.support.import_helper` --- Utilities for import tests" msgstr "" -#: ../../library/test.rst:1515 +#: ../../library/test.rst:1519 msgid "" "The :mod:`test.support.import_helper` module provides support for import " "tests." msgstr "" -#: ../../library/test.rst:1522 +#: ../../library/test.rst:1526 msgid "" "Remove the module named *module_name* from ``sys.modules`` and delete any " "byte-compiled files of the module." msgstr "" -#: ../../library/test.rst:1528 +#: ../../library/test.rst:1532 msgid "" "This function imports and returns a fresh copy of the named Python module by " "removing the named module from ``sys.modules`` before doing the import. Note " @@ -1712,46 +1748,46 @@ msgid "" "operation." msgstr "" -#: ../../library/test.rst:1533 +#: ../../library/test.rst:1537 msgid "" "*fresh* is an iterable of additional module names that are also removed from " "the ``sys.modules`` cache before doing the import." msgstr "" -#: ../../library/test.rst:1536 +#: ../../library/test.rst:1540 msgid "" "*blocked* is an iterable of module names that are replaced with ``None`` in " "the module cache during the import to ensure that attempts to import them " "raise :exc:`ImportError`." msgstr "" -#: ../../library/test.rst:1540 +#: ../../library/test.rst:1544 msgid "" "The named module and any modules named in the *fresh* and *blocked* " "parameters are saved before starting the import and then reinserted into " "``sys.modules`` when the fresh import is complete." msgstr "" -#: ../../library/test.rst:1544 +#: ../../library/test.rst:1548 msgid "" "Module and package deprecation messages are suppressed during this import if " "*deprecated* is ``True``." msgstr "" -#: ../../library/test.rst:1547 +#: ../../library/test.rst:1551 msgid "" "This function will raise :exc:`ImportError` if the named module cannot be " "imported." msgstr "" -#: ../../library/test.rst:1564 +#: ../../library/test.rst:1568 msgid "" "This function imports and returns the named module. Unlike a normal import, " "this function raises :exc:`unittest.SkipTest` if the module cannot be " "imported." msgstr "" -#: ../../library/test.rst:1568 +#: ../../library/test.rst:1572 msgid "" "Module and package deprecation messages are suppressed during this import if " "*deprecated* is ``True``. If a module is required on a platform but " @@ -1759,21 +1795,21 @@ msgid "" "which will be compared against :data:`sys.platform`." msgstr "" -#: ../../library/test.rst:1578 +#: ../../library/test.rst:1582 msgid "Return a copy of :data:`sys.modules`." msgstr "Retorna a cópia de :data:`sys.modules`." -#: ../../library/test.rst:1583 +#: ../../library/test.rst:1587 msgid "" "Remove modules except for *oldmodules* and ``encodings`` in order to " "preserve internal cache." msgstr "" -#: ../../library/test.rst:1589 +#: ../../library/test.rst:1593 msgid "Delete *name* from ``sys.modules``." msgstr "Exclui o *name* de ``sys.modules``." -#: ../../library/test.rst:1594 +#: ../../library/test.rst:1598 msgid "" "Move a :pep:`3147`/:pep:`488` pyc file to its legacy pyc location and return " "the file system path to the legacy pyc file. The *source* value is the file " @@ -1781,78 +1817,79 @@ msgid "" "3147/488 pyc file must exist." msgstr "" -#: ../../library/test.rst:1602 +#: ../../library/test.rst:1606 msgid "" "A context manager to force import to return a new module reference. This is " -"useful for testing module-level behaviors, such as the emission of a :exc:" -"`DeprecationWarning` on import. Example usage::" +"useful for testing module-level behaviors, such as the emission of " +"a :exc:`DeprecationWarning` on import. Example usage::" msgstr "" -#: ../../library/test.rst:1612 +#: ../../library/test.rst:1616 msgid "A context manager to temporarily add directories to :data:`sys.path`." msgstr "" -#: ../../library/test.rst:1614 +#: ../../library/test.rst:1618 msgid "" "This makes a copy of :data:`sys.path`, appends any directories given as " "positional arguments, then reverts :data:`sys.path` to the copied settings " "when the context ends." msgstr "" -#: ../../library/test.rst:1618 +#: ../../library/test.rst:1622 msgid "" "Note that *all* :data:`sys.path` modifications in the body of the context " "manager, including replacement of the object, will be reverted at the end of " "the block." msgstr "" -#: ../../library/test.rst:1624 +#: ../../library/test.rst:1628 msgid ":mod:`test.support.warnings_helper` --- Utilities for warnings tests" msgstr "" -#: ../../library/test.rst:1629 +#: ../../library/test.rst:1633 msgid "" "The :mod:`test.support.warnings_helper` module provides support for warnings " "tests." msgstr "" -#: ../../library/test.rst:1636 +#: ../../library/test.rst:1640 msgid "" -"Suppress warnings that are instances of *category*, which must be :exc:" -"`Warning` or a subclass. Roughly equivalent to :func:`warnings." -"catch_warnings` with :meth:`warnings.simplefilter('ignore', " -"category=category) `. For example::" +"Suppress warnings that are instances of *category*, which must " +"be :exc:`Warning` or a subclass. Roughly equivalent " +"to :func:`warnings.catch_warnings` " +"with :meth:`warnings.simplefilter('ignore', category=category) " +"`. For example::" msgstr "" -#: ../../library/test.rst:1651 +#: ../../library/test.rst:1655 msgid "" "Context manager to check that no :exc:`ResourceWarning` was raised. You " "must remove the object which may emit :exc:`ResourceWarning` before the end " "of the context manager." msgstr "" -#: ../../library/test.rst:1658 +#: ../../library/test.rst:1662 msgid "" "Test for syntax warning in *statement* by attempting to compile *statement*. " "Test also that the :exc:`SyntaxWarning` is emitted only once, and that it " "will be converted to a :exc:`SyntaxError` when turned into error. *testcase* " "is the :mod:`unittest` instance for the test. *errtext* is the regular " -"expression which should match the string representation of the emitted :exc:" -"`SyntaxWarning` and raised :exc:`SyntaxError`. If *lineno* is not ``None``, " -"compares to the line of the warning and exception. If *offset* is not " -"``None``, compares to the offset of the exception." +"expression which should match the string representation of the " +"emitted :exc:`SyntaxWarning` and raised :exc:`SyntaxError`. If *lineno* is " +"not ``None``, compares to the line of the warning and exception. If *offset* " +"is not ``None``, compares to the offset of the exception." msgstr "" -#: ../../library/test.rst:1672 +#: ../../library/test.rst:1676 msgid "" "A convenience wrapper for :func:`warnings.catch_warnings()` that makes it " "easier to test that a warning was correctly raised. It is approximately " -"equivalent to calling ``warnings.catch_warnings(record=True)`` with :meth:" -"`warnings.simplefilter` set to ``always`` and with the option to " +"equivalent to calling ``warnings.catch_warnings(record=True)`` " +"with :meth:`warnings.simplefilter` set to ``always`` and with the option to " "automatically validate the results that are recorded." msgstr "" -#: ../../library/test.rst:1678 +#: ../../library/test.rst:1682 msgid "" "``check_warnings`` accepts 2-tuples of the form ``(\"message regexp\", " "WarningCategory)`` as positional arguments. If one or more *filters* are " @@ -1864,15 +1901,15 @@ msgid "" "*quiet* to ``True``." msgstr "" -#: ../../library/test.rst:1687 +#: ../../library/test.rst:1691 msgid "If no arguments are specified, it defaults to::" msgstr "Se nenhum argumento é especificado, o padrão é::" -#: ../../library/test.rst:1691 +#: ../../library/test.rst:1695 msgid "In this case all warnings are caught and no errors are raised." msgstr "Nesse caso, todos os avisos são capturados e nenhum erro é gerado." -#: ../../library/test.rst:1693 +#: ../../library/test.rst:1697 msgid "" "On entry to the context manager, a :class:`WarningRecorder` instance is " "returned. The underlying warnings list from :func:`~warnings.catch_warnings` " @@ -1884,17 +1921,17 @@ msgid "" "return ``None``." msgstr "" -#: ../../library/test.rst:1702 +#: ../../library/test.rst:1706 msgid "" "The recorder object also has a :meth:`reset` method, which clears the " "warnings list." msgstr "" -#: ../../library/test.rst:1705 +#: ../../library/test.rst:1709 msgid "The context manager is designed to be used like this::" msgstr "O gerenciador de contexto é desenhado para ser utilizado dessa forma::" -#: ../../library/test.rst:1712 +#: ../../library/test.rst:1716 msgid "" "In this case if either warning was not raised, or some other warning was " "raised, :func:`check_warnings` would raise an error." @@ -1902,13 +1939,13 @@ msgstr "" "No caso, se um aviso não foi levantado, ou algum outro aviso não foi " "levantado, :func:`check_warnings` deveria aparecer como um erro." -#: ../../library/test.rst:1715 +#: ../../library/test.rst:1719 msgid "" "When a test needs to look more deeply into the warnings, rather than just " "checking whether or not they occurred, code like this can be used::" msgstr "" -#: ../../library/test.rst:1729 +#: ../../library/test.rst:1733 msgid "" "Here all warnings will be caught, and the test code tests the captured " "warnings directly." @@ -1916,12 +1953,12 @@ msgstr "" "Aqui todos os avisos serão capturados e o código de teste testa os avisos " "diretamente capturados." -#: ../../library/test.rst:1732 +#: ../../library/test.rst:1736 msgid "New optional arguments *filters* and *quiet*." msgstr "Novos argumentos opcionais *filters* e *quiet*." -#: ../../library/test.rst:1738 +#: ../../library/test.rst:1742 msgid "" -"Class used to record warnings for unit tests. See documentation of :func:" -"`check_warnings` above for more details." +"Class used to record warnings for unit tests. See documentation " +"of :func:`check_warnings` above for more details." msgstr "" diff --git a/library/text.po b/library/text.po index 2551f6783..da77e328a 100644 --- a/library/text.po +++ b/library/text.po @@ -1,26 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/textwrap.po b/library/textwrap.po index c5815317e..ca8f0b135 100644 --- a/library/textwrap.po +++ b/library/textwrap.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,12 +33,17 @@ msgstr "**Código-fonte:** :source:`Lib/textwrap.py`" #: ../../library/textwrap.rst:14 msgid "" -"The :mod:`textwrap` module provides some convenience functions, as well as :" -"class:`TextWrapper`, the class that does all the work. If you're just " +"The :mod:`textwrap` module provides some convenience functions, as well " +"as :class:`TextWrapper`, the class that does all the work. If you're just " "wrapping or filling one or two text strings, the convenience functions " -"should be good enough; otherwise, you should use an instance of :class:" -"`TextWrapper` for efficiency." +"should be good enough; otherwise, you should use an instance " +"of :class:`TextWrapper` for efficiency." msgstr "" +"O módulo :mod:`textwrap` fornece algumas funções convenientes, assim " +"como :class:`TextWrapper`, a classe que faz todo o trabalho. Se você estiver " +"apenas preenchendo ou fazendo quebra de linha de uma ou duas strings, as " +"funções de conveniência deverão ser boas o suficiente; caso contrário, você " +"deve usar uma instância de :class:`TextWrapper` para eficiência." #: ../../library/textwrap.rst:27 msgid "" @@ -48,61 +51,90 @@ msgid "" "*width* characters long. Returns a list of output lines, without final " "newlines." msgstr "" +"Quebra do parágrafo único em *text* (uma string) para que cada linha tenha, " +"no máximo, *width* caracteres. Retorna uma lista de linhas de saída, sem " +"novas linhas ao final." #: ../../library/textwrap.rst:31 msgid "" -"Optional keyword arguments correspond to the instance attributes of :class:" -"`TextWrapper`, documented below." +"Optional keyword arguments correspond to the instance attributes " +"of :class:`TextWrapper`, documented below." msgstr "" +"Argumentos nomeados opcionais correspondem aos atributos de instância " +"de :class:`TextWrapper`, documentados abaixo." #: ../../library/textwrap.rst:34 msgid "" -"See the :meth:`TextWrapper.wrap` method for additional details on how :func:" -"`wrap` behaves." +"See the :meth:`TextWrapper.wrap` method for additional details on " +"how :func:`wrap` behaves." msgstr "" +"Veja o método :meth:`TextWrapper.wrap` para detalhes adicionais sobre " +"como :func:`wrap` se comporta." #: ../../library/textwrap.rst:45 msgid "" "Wraps the single paragraph in *text*, and returns a single string containing " "the wrapped paragraph. :func:`fill` is shorthand for ::" msgstr "" +"Quebra o parágrafo único em *text* e retorna uma única string contendo o " +"parágrafo quebrado. :func:`fill` é uma abreviação de ::" #: ../../library/textwrap.rst:50 msgid "" -"In particular, :func:`fill` accepts exactly the same keyword arguments as :" -"func:`wrap`." +"In particular, :func:`fill` accepts exactly the same keyword arguments " +"as :func:`wrap`." msgstr "" +"Em particular, :func:`fill` aceita exatamente os mesmos argumentos nomeados " +"que :func:`wrap`." #: ../../library/textwrap.rst:58 msgid "Collapse and truncate the given *text* to fit in the given *width*." msgstr "" +"Reduz e trunca o texto *text* para que ele caiba na largura *width* " +"fornecida." #: ../../library/textwrap.rst:60 msgid "" "First the whitespace in *text* is collapsed (all whitespace is replaced by " "single spaces). If the result fits in the *width*, it is returned. " "Otherwise, enough words are dropped from the end so that the remaining words " -"plus the :attr:`placeholder` fit within :attr:`width`::" +"plus the *placeholder* fit within *width*::" msgstr "" +"Primeiro, o espaço em branco em *text* é reduzido (todos os espaços em " +"branco são substituídos por espaços simples). Se o resultado couber em " +"*width*, ele será retornado. Caso contrário, palavras suficientes serão " +"eliminadas do final para que as palavras restantes mais o *placeholder* " +"caibam em *largura*::" #: ../../library/textwrap.rst:72 msgid "" -"Optional keyword arguments correspond to the instance attributes of :class:" -"`TextWrapper`, documented below. Note that the whitespace is collapsed " -"before the text is passed to the :class:`TextWrapper` :meth:`fill` function, " -"so changing the value of :attr:`.tabsize`, :attr:`.expand_tabs`, :attr:`." -"drop_whitespace`, and :attr:`.replace_whitespace` will have no effect." +"Optional keyword arguments correspond to the instance attributes " +"of :class:`TextWrapper`, documented below. Note that the whitespace is " +"collapsed before the text is passed to the :class:`TextWrapper` :meth:`fill` " +"function, so changing the value " +"of :attr:`.tabsize`, :attr:`.expand_tabs`, :attr:`.drop_whitespace`, " +"and :attr:`.replace_whitespace` will have no effect." msgstr "" +"Argumentos nomeados opcionais correspondem aos atributos de instância " +"de :class:`TextWrapper`, documentados abaixo. Observe que o espaço em branco " +"é reduzido antes do texto ser passado para a " +"função :class:`TextWrapper` :meth:`fill`, alterando assim o valor " +"de :attr:`.tabsize`, :attr:`.expand_tabs`, :attr:`.drop_whitespace` " +"e :attr:`.replace_whitespace` não terão efeito." #: ../../library/textwrap.rst:82 msgid "Remove any common leading whitespace from every line in *text*." msgstr "" +"Remove qualquer espaço em branco inicial em comum de todas as linhas do " +"*text*." #: ../../library/textwrap.rst:84 msgid "" "This can be used to make triple-quoted strings line up with the left edge of " "the display, while still presenting them in the source code in indented form." msgstr "" +"Isso pode ser usado para alinhar strings entre aspas triplas à borda " +"esquerda da tela, enquanto ainda as apresenta no código-fonte com indentação." #: ../../library/textwrap.rst:87 msgid "" @@ -110,12 +142,17 @@ msgid "" "equal: the lines ``\" hello\"`` and ``\"\\thello\"`` are considered to have " "no common leading whitespace." msgstr "" +"Observe que tabulações e espaços são tratados como espaços em branco, mas " +"não são iguais: as linhas ``\" hello\"`` e ``\"\\thello\"`` são " +"consideradas como não tendo espaços em branco iniciais comuns." #: ../../library/textwrap.rst:91 msgid "" "Lines containing only whitespace are ignored in the input and normalized to " "a single newline character in the output." msgstr "" +"Linhas contendo apenas espaços em branco são ignoradas na entrada e " +"normalizadas para uma nova linha de um único caractere na saída." #: ../../library/textwrap.rst:94 ../../library/textwrap.rst:115 msgid "For example::" @@ -123,17 +160,19 @@ msgstr "Por exemplo::" #: ../../library/textwrap.rst:108 msgid "Add *prefix* to the beginning of selected lines in *text*." -msgstr "" +msgstr "Adiciona *prefix* ao início das linhas selecionadas em *text*." #: ../../library/textwrap.rst:110 msgid "Lines are separated by calling ``text.splitlines(True)``." -msgstr "" +msgstr "As linhas são separadas chamando ``text.splitlines(True)``." #: ../../library/textwrap.rst:112 msgid "" "By default, *prefix* is added to all lines that do not consist solely of " "whitespace (including any line endings)." msgstr "" +"Por padrão, *prefix* é adicionado a todas as linhas que não consistem apenas " +"em espaços em branco (incluindo quaisquer finais de linha)." #: ../../library/textwrap.rst:121 msgid "" @@ -141,22 +180,34 @@ msgid "" "indented. For example, it is easy to add *prefix* to even empty and " "whitespace-only lines::" msgstr "" +"O argumento opcional *predicate* pode ser usado para controlar quais linhas " +"têm indentação. Por exemplo, é fácil adicionar *prefix* até mesmo em linhas " +"vazias e apenas com espaços em branco::" #: ../../library/textwrap.rst:134 msgid "" -":func:`wrap`, :func:`fill` and :func:`shorten` work by creating a :class:" -"`TextWrapper` instance and calling a single method on it. That instance is " -"not reused, so for applications that process many text strings using :func:" -"`wrap` and/or :func:`fill`, it may be more efficient to create your own :" -"class:`TextWrapper` object." +":func:`wrap`, :func:`fill` and :func:`shorten` work by creating " +"a :class:`TextWrapper` instance and calling a single method on it. That " +"instance is not reused, so for applications that process many text strings " +"using :func:`wrap` and/or :func:`fill`, it may be more efficient to create " +"your own :class:`TextWrapper` object." msgstr "" +":func:`wrap`, :func:`fill` e :func:`shorten` funcionam criando uma " +"instância :class:`TextWrapper` e chamando um único método nela. Essa " +"instância não é reutilizada, então para aplicações que processam muitas " +"strings de texto usando :func:`wrap` e/ou :func:`fill`, pode ser mais " +"eficiente criar seu próprio objeto :class:`TextWrapper`." #: ../../library/textwrap.rst:140 msgid "" "Text is preferably wrapped on whitespaces and right after the hyphens in " -"hyphenated words; only then will long words be broken if necessary, unless :" -"attr:`TextWrapper.break_long_words` is set to false." +"hyphenated words; only then will long words be broken if necessary, " +"unless :attr:`TextWrapper.break_long_words` is set to false." msgstr "" +"O texto é preferencialmente colocado em espaços em branco e logo após os " +"hífens nas palavras hifenizadas; somente então palavras longas serão " +"quebradas se necessário, a menos que :attr:`TextWrapper.break_long_words` " +"seja definido como falso." #: ../../library/textwrap.rst:146 msgid "" @@ -164,6 +215,9 @@ msgid "" "arguments. Each keyword argument corresponds to an instance attribute, so " "for example ::" msgstr "" +"O construtor :class:`TextWrapper` aceita vários argumentos nomeados " +"opcionais. Cada argumento nomeado corresponde a um atributo de instância, " +"por exemplo::" #: ../../library/textwrap.rst:152 msgid "is the same as ::" @@ -181,20 +235,29 @@ msgid "" "The :class:`TextWrapper` instance attributes (and keyword arguments to the " "constructor) are as follows:" msgstr "" +"Os atributos de instância :class:`TextWrapper` (e argumentos nomeados para o " +"construtor) são os seguintes:" #: ../../library/textwrap.rst:167 msgid "" "(default: ``70``) The maximum length of wrapped lines. As long as there are " -"no individual words in the input text longer than :attr:`width`, :class:" -"`TextWrapper` guarantees that no output line will be longer than :attr:" -"`width` characters." +"no individual words in the input text longer " +"than :attr:`width`, :class:`TextWrapper` guarantees that no output line will " +"be longer than :attr:`width` characters." msgstr "" +"(padrão: ``70``) O comprimento máximo das linhas quebradas. Contanto que não " +"existam palavras individuais no texto de entrada maiores " +"que :attr:`width`, :class:`TextWrapper` garante que nenhuma linha de saída " +"será maior que :attr:`width` caracteres." #: ../../library/textwrap.rst:175 msgid "" "(default: ``True``) If true, then all tab characters in *text* will be " -"expanded to spaces using the :meth:`expandtabs` method of *text*." +"expanded to spaces using the :meth:`~str.expandtabs` method of *text*." msgstr "" +"(padrão: ``True``) Se verdadeiro, então todos os caracteres de tabulação em " +"*text* serão expandidos para espaços usando o método :meth:`~str.expandtabs` " +"de *text*." #: ../../library/textwrap.rst:181 msgid "" @@ -202,14 +265,22 @@ msgid "" "*text* will be expanded to zero or more spaces, depending on the current " "column and the given tab size." msgstr "" +"(padrão: ``8``) Se :attr:`expand_tabs` for verdadeiro, então todos os " +"caracteres de tabulação em *text* serão expandidos para zero ou mais " +"espaços, dependendo da coluna atual e do tamanho da tabulação fornecido." #: ../../library/textwrap.rst:190 msgid "" -"(default: ``True``) If true, after tab expansion but before wrapping, the :" -"meth:`wrap` method will replace each whitespace character with a single " +"(default: ``True``) If true, after tab expansion but before wrapping, " +"the :meth:`wrap` method will replace each whitespace character with a single " "space. The whitespace characters replaced are as follows: tab, newline, " "vertical tab, formfeed, and carriage return (``'\\t\\n\\v\\f\\r'``)." msgstr "" +"(padrão: ``True``) Se verdadeiro, após a expansão da tabulação, mas antes da " +"quebra, o método :meth:`wrap` substituirá cada caractere de espaço em branco " +"por um único espaço. Os caracteres de espaço em branco substituídos são os " +"seguintes: tabulação, nova linha, tabulação vertical, feed de formulário e " +"retorno de carro (``'\\t\\n\\v\\f\\r'``)." #: ../../library/textwrap.rst:198 msgid "" @@ -217,6 +288,9 @@ msgid "" "tab character will be replaced by a single space, which is *not* the same as " "tab expansion." msgstr "" +"Se :attr:`expand_tabs` for falso e :attr:`replace_whitespace` for " +"verdadeiro, cada caractere de tabulação será substituído por um único " +"espaço, que *não* é o mesmo que expansão de tabulação." #: ../../library/textwrap.rst:204 msgid "" @@ -225,6 +299,10 @@ msgid "" "paragraphs (using :meth:`str.splitlines` or similar) which are wrapped " "separately." msgstr "" +"Se :attr:`replace_whitespace` for falso, novas linhas podem aparecer no meio " +"de uma linha e causar uma saída estranha. Por esta razão, o texto deve ser " +"dividido em parágrafos (usando :meth:`str.splitlines` ou similar) que são " +"agrupados separadamente." #: ../../library/textwrap.rst:212 msgid "" @@ -234,6 +312,11 @@ msgid "" "follows it. If whitespace being dropped takes up an entire line, the whole " "line is dropped." msgstr "" +"(padrão: ``True``) Se verdadeiro, os espaços em branco no início e no final " +"de cada linha (após quebra automática, mas antes do recuo) são eliminados. O " +"espaço em branco no início do parágrafo, entretanto, não será eliminado se " +"não houver espaço em branco após ele. Se o espaço em branco eliminado ocupar " +"uma linha inteira, a linha inteira será eliminada." #: ../../library/textwrap.rst:221 msgid "" @@ -241,6 +324,9 @@ msgid "" "output. Counts towards the length of the first line. The empty string is " "not indented." msgstr "" +"(padrão: ``''``) String que será anexada à primeira linha da saída com " +"quebra de linha. Conta para o comprimento da primeira linha. A string vazia " +"não recebe indentação." #: ../../library/textwrap.rst:228 msgid "" @@ -248,6 +334,9 @@ msgid "" "output except the first. Counts towards the length of each line except the " "first." msgstr "" +"(padrão: ``''``) String que será anexada a todas as linhas da saída com " +"quebra de linha, exceto a primeira. Conta para o comprimento de cada linha, " +"exceto a primeira." #: ../../library/textwrap.rst:235 msgid "" @@ -257,9 +346,17 @@ msgid "" "However, the sentence detection algorithm is imperfect: it assumes that a " "sentence ending consists of a lowercase letter followed by one of ``'.'``, " "``'!'``, or ``'?'``, possibly followed by one of ``'\"'`` or ``\"'\"``, " -"followed by a space. One problem with this is algorithm is that it is " -"unable to detect the difference between \"Dr.\" in ::" -msgstr "" +"followed by a space. One problem with this algorithm is that it is unable " +"to detect the difference between \"Dr.\" in ::" +msgstr "" +"(padrão: ``False``) Se verdadeiro, :class:`TextWrapper` tenta detectar " +"finais de sentenças e garantir que as sentenças sejam sempre separadas por " +"exatamente dois espaços. Isso geralmente é desejado para texto em fonte " +"monoespaçada. No entanto, o algoritmo de detecção de frase é imperfeito: ele " +"presume que o final de uma frase consiste em uma letra minúscula seguida por " +"uma de ``'.'``, ``'!'`` ou ``'?'``, possivelmente seguido por um de ``'\"'`` " +"ou ``\"'\"``, seguido por um espaço. Um problema com este algoritmo é que " +"ele é incapaz de detectar a diferença entre \"Dr.\" em ::" #: ../../library/textwrap.rst:246 msgid "and \"Spot.\" in ::" @@ -267,7 +364,7 @@ msgstr "e \"Spot.\" em ::" #: ../../library/textwrap.rst:250 msgid ":attr:`fix_sentence_endings` is false by default." -msgstr "" +msgstr ":attr:`fix_sentence_endings` é falso por padrão" #: ../../library/textwrap.rst:252 msgid "" @@ -276,6 +373,10 @@ msgid "" "after a period to separate sentences on the same line, it is specific to " "English-language texts." msgstr "" +"Como o algoritmo de detecção de frase depende de ``string.lowercase`` para a " +"definição de \"letra minúscula\" e de uma convenção de usar dois espaços " +"após um ponto final para separar frases na mesma linha, ele é específico " +"para textos em inglês." #: ../../library/textwrap.rst:260 msgid "" @@ -285,6 +386,11 @@ msgid "" "than :attr:`width`. (Long words will be put on a line by themselves, in " "order to minimize the amount by which :attr:`width` is exceeded.)" msgstr "" +"(padrão: ``True``) Se verdadeiro, palavras maiores que :attr:`width` serão " +"quebradas para garantir que nenhuma linha seja maior que :attr:`width`. Se " +"for falso, palavras longas não serão quebradas e algumas linhas poderão ser " +"maiores que :attr:`width`. (Palavras longas serão colocadas sozinhas em uma " +"linha, a fim de minimizar o valor pelo qual :attr:`width` é excedido.)" #: ../../library/textwrap.rst:269 msgid "" @@ -295,39 +401,59 @@ msgid "" "want truly insecable words. Default behaviour in previous versions was to " "always allow breaking hyphenated words." msgstr "" +"(padrão: ``True``) Se verdadeiro, a quebra ocorrerá preferencialmente em " +"espaços em branco e logo após hífens em palavras compostas, como é habitual " +"em inglês. Se for falso, apenas os espaços em branco serão considerados " +"locais potencialmente bons para quebras de linha, mas você precisa " +"definir :attr:`break_long_words` como falso se quiser palavras " +"verdadeiramente inseparáveis. O comportamento padrão nas versões anteriores " +"era sempre permitir a quebra de palavras hifenizadas." #: ../../library/textwrap.rst:279 msgid "" "(default: ``None``) If not ``None``, then the output will contain at most " "*max_lines* lines, with *placeholder* appearing at the end of the output." msgstr "" +"(padrão: ``None``) Se não for ``None``, então a saída conterá no máximo " +"*max_lines* linhas, com *placeholder* aparecendo no final da saída." #: ../../library/textwrap.rst:289 msgid "" "(default: ``' [...]'``) String that will appear at the end of the output " "text if it has been truncated." msgstr "" +"(padrão: ``' [...]'``) String que aparecerá no final do texto de saída se " +"ele tiver sido truncado." #: ../../library/textwrap.rst:295 msgid "" ":class:`TextWrapper` also provides some public methods, analogous to the " "module-level convenience functions:" msgstr "" +":class:`TextWrapper` também fornece alguns métodos públicos, análogos às " +"funções de conveniência em nível de módulo:" #: ../../library/textwrap.rst:300 msgid "" -"Wraps the single paragraph in *text* (a string) so every line is at most :" -"attr:`width` characters long. All wrapping options are taken from instance " -"attributes of the :class:`TextWrapper` instance. Returns a list of output " -"lines, without final newlines. If the wrapped output has no content, the " -"returned list is empty." +"Wraps the single paragraph in *text* (a string) so every line is at " +"most :attr:`width` characters long. All wrapping options are taken from " +"instance attributes of the :class:`TextWrapper` instance. Returns a list of " +"output lines, without final newlines. If the wrapped output has no content, " +"the returned list is empty." msgstr "" +"Quebra o parágrafo único em *text* (uma string) para que cada linha tenha no " +"máximo :attr:`width` caracteres. Todas as opções de quebra de linha são " +"obtidas dos atributos da instância :class:`TextWrapper`. Retorna uma lista " +"de linhas de saída, sem novas linhas finais. Se a saída agrupada não tiver " +"conteúdo, a lista retornada estará vazia." #: ../../library/textwrap.rst:309 msgid "" "Wraps the single paragraph in *text*, and returns a single string containing " "the wrapped paragraph." msgstr "" +"Quebra o parágrafo único em *text* e retorna uma única string contendo o " +"parágrafo quebrado." #: ../../library/textwrap.rst:285 msgid "..." @@ -335,4 +461,4 @@ msgstr "..." #: ../../library/textwrap.rst:285 msgid "placeholder" -msgstr "" +msgstr "espaço reservado" diff --git a/library/threading.po b/library/threading.po index d112c6e36..b93cd744e 100644 --- a/library/threading.po +++ b/library/threading.po @@ -1,34 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Octavio von Sydow , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Fabio Aragao , 2021 -# i17obot , 2021 -# Caio Fauza, 2021 -# Italo Penaforte , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Gustavo Reis, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Gustavo Reis, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -45,6 +37,8 @@ msgid "" "This module constructs higher-level threading interfaces on top of the lower " "level :mod:`_thread` module." msgstr "" +"Este módulo constrói interfaces de alto nível para threading usando o " +"módulo :mod:`_thread`, de mais baixo nível." #: ../../library/threading.rst:14 msgid "This module used to be optional, it is now always available." @@ -83,9 +77,10 @@ msgid "" "lock>`, only one thread can execute Python code at once (even though certain " "performance-oriented libraries might overcome this limitation). If you want " "your application to make better use of the computational resources of multi-" -"core machines, you are advised to use :mod:`multiprocessing` or :class:" -"`concurrent.futures.ProcessPoolExecutor`. However, threading is still an " -"appropriate model if you want to run multiple I/O-bound tasks simultaneously." +"core machines, you are advised to use :mod:`multiprocessing` " +"or :class:`concurrent.futures.ProcessPoolExecutor`. However, threading is " +"still an appropriate model if you want to run multiple I/O-bound tasks " +"simultaneously." msgstr "" #: ../../includes/wasm-notavail.rst:3 @@ -245,10 +240,10 @@ msgstr "" #: ../../library/threading.rst:137 msgid "" "Return a list of all :class:`Thread` objects currently active. The list " -"includes daemonic threads and dummy thread objects created by :func:" -"`current_thread`. It excludes terminated threads and threads that have not " -"yet been started. However, the main thread is always part of the result, " -"even when terminated." +"includes daemonic threads and dummy thread objects created " +"by :func:`current_thread`. It excludes terminated threads and threads that " +"have not yet been started. However, the main thread is always part of the " +"result, even when terminated." msgstr "" #: ../../library/threading.rst:146 @@ -286,9 +281,9 @@ msgid "" "*size* argument specifies the stack size to be used for subsequently created " "threads, and must be 0 (use platform or configured default) or a positive " "integer value of at least 32,768 (32 KiB). If *size* is not specified, 0 is " -"used. If changing the thread stack size is unsupported, a :exc:" -"`RuntimeError` is raised. If the specified stack size is invalid, a :exc:" -"`ValueError` is raised and the stack size is unmodified. 32 KiB is " +"used. If changing the thread stack size is unsupported, " +"a :exc:`RuntimeError` is raised. If the specified stack size is invalid, " +"a :exc:`ValueError` is raised and the stack size is unmodified. 32 KiB is " "currently the minimum supported stack size value to guarantee sufficient " "stack space for the interpreter itself. Note that some platforms may have " "particular restrictions on values for the stack size, such as requiring a " @@ -321,7 +316,7 @@ msgstr ":ref:`Disponibilidade `: Windows, pthreads." #: ../../library/threading.rst:210 msgid "Unix platforms with POSIX threads support." -msgstr "" +msgstr "Plataformas Unix com suporte a threads POSIX." #: ../../library/threading.rst:213 msgid "This module also defines the following constant:" @@ -331,8 +326,8 @@ msgstr "" msgid "" "The maximum value allowed for the *timeout* parameter of blocking functions " "(:meth:`Lock.acquire`, :meth:`RLock.acquire`, :meth:`Condition.wait`, etc.). " -"Specifying a timeout greater than this value will raise an :exc:" -"`OverflowError`." +"Specifying a timeout greater than this value will raise " +"an :exc:`OverflowError`." msgstr "" #: ../../library/threading.rst:225 @@ -378,7 +373,7 @@ msgstr "" #: ../../library/threading.rst:256 msgid "" "For more details and extensive examples, see the documentation string of " -"the :mod:`_threading_local` module: :source:`Lib/_threading_local.py`." +"the :mod:`!_threading_local` module: :source:`Lib/_threading_local.py`." msgstr "" #: ../../library/threading.rst:263 @@ -391,8 +386,8 @@ msgid "" "thread of control. There are two ways to specify the activity: by passing a " "callable object to the constructor, or by overriding the :meth:`~Thread.run` " "method in a subclass. No other methods (except for the constructor) should " -"be overridden in a subclass. In other words, *only* override the :meth:" -"`~Thread.__init__` and :meth:`~Thread.run` methods of this class." +"be overridden in a subclass. In other words, *only* override the " +"``__init__()`` and :meth:`~Thread.run` methods of this class." msgstr "" #: ../../library/threading.rst:272 @@ -406,8 +401,8 @@ msgstr "" msgid "" "Once the thread's activity is started, the thread is considered 'alive'. It " "stops being alive when its :meth:`~Thread.run` method terminates -- either " -"normally, or by raising an unhandled exception. The :meth:`~Thread." -"is_alive` method tests whether the thread is alive." +"normally, or by raising an unhandled exception. " +"The :meth:`~Thread.is_alive` method tests whether the thread is alive." msgstr "" #: ../../library/threading.rst:281 @@ -425,9 +420,9 @@ msgstr "" #: ../../library/threading.rst:288 msgid "" -"If the :meth:`~Thread.run` method raises an exception, :func:`threading." -"excepthook` is called to handle it. By default, :func:`threading.excepthook` " -"ignores silently :exc:`SystemExit`." +"If the :meth:`~Thread.run` method raises an " +"exception, :func:`threading.excepthook` is called to handle it. By " +"default, :func:`threading.excepthook` ignores silently :exc:`SystemExit`." msgstr "" #: ../../library/threading.rst:292 @@ -472,8 +467,8 @@ msgstr "" #: ../../library/threading.rst:321 msgid "" -"*group* should be ``None``; reserved for future extension when a :class:" -"`ThreadGroup` class is implemented." +"*group* should be ``None``; reserved for future extension when a :class:`!" +"ThreadGroup` class is implemented." msgstr "" #: ../../library/threading.rst:324 @@ -517,12 +512,12 @@ msgid "" msgstr "" #: ../../library/threading.rst:345 -msgid "Use the *target* name if *name* argument is omitted." -msgstr "" +msgid "Added the *daemon* parameter." +msgstr "Adicionado o parâmetro *daemon*." #: ../../library/threading.rst:348 -msgid "Added the *daemon* argument." -msgstr "Adicionado o argumento *daemon*." +msgid "Use the *target* name if *name* argument is omitted." +msgstr "" #: ../../library/threading.rst:353 msgid "Start the thread's activity." @@ -555,8 +550,8 @@ msgstr "" #: ../../library/threading.rst:371 msgid "" -"Using list or tuple as the *args* argument which passed to the :class:" -"`Thread` could achieve the same effect." +"Using list or tuple as the *args* argument which passed to " +"the :class:`Thread` could achieve the same effect." msgstr "" #: ../../library/threading.rst:374 @@ -577,8 +572,8 @@ msgid "" "floating point number specifying a timeout for the operation in seconds (or " "fractions thereof). As :meth:`~Thread.join` always returns ``None``, you " "must call :meth:`~Thread.is_alive` after :meth:`~Thread.join` to decide " -"whether a timeout happened -- if the thread is still alive, the :meth:" -"`~Thread.join` call timed out." +"whether a timeout happened -- if the thread is still alive, " +"the :meth:`~Thread.join` call timed out." msgstr "" #: ../../library/threading.rst:400 @@ -662,8 +657,8 @@ msgid "" "or not (``False``). This must be set before :meth:`~Thread.start` is " "called, otherwise :exc:`RuntimeError` is raised. Its initial value is " "inherited from the creating thread; the main thread is not a daemon thread " -"and therefore all threads created in the main thread default to :attr:" -"`~Thread.daemon` = ``False``." +"and therefore all threads created in the main thread default " +"to :attr:`~Thread.daemon` = ``False``." msgstr "" #: ../../library/threading.rst:468 @@ -685,22 +680,22 @@ msgstr "" msgid "" "A primitive lock is a synchronization primitive that is not owned by a " "particular thread when locked. In Python, it is currently the lowest level " -"synchronization primitive available, implemented directly by the :mod:" -"`_thread` extension module." +"synchronization primitive available, implemented directly by " +"the :mod:`_thread` extension module." msgstr "" #: ../../library/threading.rst:489 msgid "" "A primitive lock is in one of two states, \"locked\" or \"unlocked\". It is " -"created in the unlocked state. It has two basic methods, :meth:`~Lock." -"acquire` and :meth:`~Lock.release`. When the state is unlocked, :meth:" -"`~Lock.acquire` changes the state to locked and returns immediately. When " -"the state is locked, :meth:`~Lock.acquire` blocks until a call to :meth:" -"`~Lock.release` in another thread changes it to unlocked, then the :meth:" -"`~Lock.acquire` call resets it to locked and returns. The :meth:`~Lock." -"release` method should only be called in the locked state; it changes the " -"state to unlocked and returns immediately. If an attempt is made to release " -"an unlocked lock, a :exc:`RuntimeError` will be raised." +"created in the unlocked state. It has two basic " +"methods, :meth:`~Lock.acquire` and :meth:`~Lock.release`. When the state is " +"unlocked, :meth:`~Lock.acquire` changes the state to locked and returns " +"immediately. When the state is locked, :meth:`~Lock.acquire` blocks until a " +"call to :meth:`~Lock.release` in another thread changes it to unlocked, then " +"the :meth:`~Lock.acquire` call resets it to locked and returns. " +"The :meth:`~Lock.release` method should only be called in the locked state; " +"it changes the state to unlocked and returns immediately. If an attempt is " +"made to release an unlocked lock, a :exc:`RuntimeError` will be raised." msgstr "" #: ../../library/threading.rst:500 @@ -710,9 +705,9 @@ msgstr "" #: ../../library/threading.rst:502 msgid "" "When more than one thread is blocked in :meth:`~Lock.acquire` waiting for " -"the state to turn to unlocked, only one thread proceeds when a :meth:`~Lock." -"release` call resets the state to unlocked; which one of the waiting threads " -"proceeds is not defined, and may vary across implementations." +"the state to turn to unlocked, only one thread proceeds when " +"a :meth:`~Lock.release` call resets the state to unlocked; which one of the " +"waiting threads proceeds is not defined, and may vary across implementations." msgstr "" #: ../../library/threading.rst:507 @@ -735,7 +730,7 @@ msgstr "" #: ../../library/threading.rst:523 ../../library/threading.rst:603 msgid "Acquire a lock, blocking or non-blocking." -msgstr "" +msgstr "Adquire uma trava, bloqueante ou não." #: ../../library/threading.rst:525 msgid "" @@ -818,11 +813,11 @@ msgstr "" msgid "" "To lock the lock, a thread calls its :meth:`~RLock.acquire` method; this " "returns once the thread owns the lock. To unlock the lock, a thread calls " -"its :meth:`~Lock.release` method. :meth:`~Lock.acquire`/:meth:`~Lock." -"release` call pairs may be nested; only the final :meth:`~Lock.release` " -"(the :meth:`~Lock.release` of the outermost pair) resets the lock to " -"unlocked and allows another thread blocked in :meth:`~Lock.acquire` to " -"proceed." +"its :meth:`~Lock.release` " +"method. :meth:`~Lock.acquire`/:meth:`~Lock.release` call pairs may be " +"nested; only the final :meth:`~Lock.release` (the :meth:`~Lock.release` of " +"the outermost pair) resets the lock to unlocked and allows another thread " +"blocked in :meth:`~Lock.acquire` to proceed." msgstr "" #: ../../library/threading.rst:586 @@ -890,8 +885,9 @@ msgstr "" #: ../../library/threading.rst:637 msgid "" -"Only call this method when the calling thread owns the lock. A :exc:" -"`RuntimeError` is raised if this method is called when the lock is unlocked." +"Only call this method when the calling thread owns the lock. " +"A :exc:`RuntimeError` is raised if this method is called when the lock is " +"unlocked." msgstr "" #: ../../library/threading.rst:647 @@ -910,25 +906,26 @@ msgstr "" msgid "" "A condition variable obeys the :ref:`context management protocol `: using the ``with`` statement acquires the associated lock for the " -"duration of the enclosed block. The :meth:`~Condition.acquire` and :meth:" -"`~Condition.release` methods also call the corresponding methods of the " -"associated lock." +"duration of the enclosed block. The :meth:`~Condition.acquire` " +"and :meth:`~Condition.release` methods also call the corresponding methods " +"of the associated lock." msgstr "" #: ../../library/threading.rst:660 msgid "" -"Other methods must be called with the associated lock held. The :meth:" -"`~Condition.wait` method releases the lock, and then blocks until another " -"thread awakens it by calling :meth:`~Condition.notify` or :meth:`~Condition." -"notify_all`. Once awakened, :meth:`~Condition.wait` re-acquires the lock " -"and returns. It is also possible to specify a timeout." +"Other methods must be called with the associated lock held. " +"The :meth:`~Condition.wait` method releases the lock, and then blocks until " +"another thread awakens it by calling :meth:`~Condition.notify` " +"or :meth:`~Condition.notify_all`. Once awakened, :meth:`~Condition.wait` re-" +"acquires the lock and returns. It is also possible to specify a timeout." msgstr "" #: ../../library/threading.rst:666 msgid "" "The :meth:`~Condition.notify` method wakes up one of the threads waiting for " -"the condition variable, if any are waiting. The :meth:`~Condition." -"notify_all` method wakes up all threads waiting for the condition variable." +"the condition variable, if any are waiting. " +"The :meth:`~Condition.notify_all` method wakes up all threads waiting for " +"the condition variable." msgstr "" #: ../../library/threading.rst:670 @@ -945,11 +942,11 @@ msgid "" "The typical programming style using condition variables uses the lock to " "synchronize access to some shared state; threads that are interested in a " "particular change of state call :meth:`~Condition.wait` repeatedly until " -"they see the desired state, while threads that modify the state call :meth:" -"`~Condition.notify` or :meth:`~Condition.notify_all` when they change the " -"state in such a way that it could possibly be a desired state for one of the " -"waiters. For example, the following code is a generic producer-consumer " -"situation with unlimited buffer capacity::" +"they see the desired state, while threads that modify the state " +"call :meth:`~Condition.notify` or :meth:`~Condition.notify_all` when they " +"change the state in such a way that it could possibly be a desired state for " +"one of the waiters. For example, the following code is a generic producer-" +"consumer situation with unlimited buffer capacity::" msgstr "" #: ../../library/threading.rst:696 @@ -957,18 +954,18 @@ msgid "" "The ``while`` loop checking for the application's condition is necessary " "because :meth:`~Condition.wait` can return after an arbitrary long time, and " "the condition which prompted the :meth:`~Condition.notify` call may no " -"longer hold true. This is inherent to multi-threaded programming. The :" -"meth:`~Condition.wait_for` method can be used to automate the condition " +"longer hold true. This is inherent to multi-threaded programming. " +"The :meth:`~Condition.wait_for` method can be used to automate the condition " "checking, and eases the computation of timeouts::" msgstr "" #: ../../library/threading.rst:708 msgid "" -"To choose between :meth:`~Condition.notify` and :meth:`~Condition." -"notify_all`, consider whether one state change can be interesting for only " -"one or several waiting threads. E.g. in a typical producer-consumer " -"situation, adding one item to the buffer only needs to wake up one consumer " -"thread." +"To choose between :meth:`~Condition.notify` " +"and :meth:`~Condition.notify_all`, consider whether one state change can be " +"interesting for only one or several waiting threads. E.g. in a typical " +"producer-consumer situation, adding one item to the buffer only needs to " +"wake up one consumer thread." msgstr "" #: ../../library/threading.rst:716 @@ -986,7 +983,7 @@ msgstr "" #: ../../library/threading.rst:723 ../../library/threading.rst:847 #: ../../library/threading.rst:893 ../../library/threading.rst:945 -#: ../../library/threading.rst:1016 +#: ../../library/threading.rst:1013 msgid "changed from a factory function to a class." msgstr "" @@ -1026,12 +1023,12 @@ msgstr "" #: ../../library/threading.rst:751 msgid "" -"When the underlying lock is an :class:`RLock`, it is not released using its :" -"meth:`release` method, since this may not actually unlock the lock when it " -"was acquired multiple times recursively. Instead, an internal interface of " -"the :class:`RLock` class is used, which really unlocks it even when it has " -"been recursively acquired several times. Another internal interface is then " -"used to restore the recursion level when the lock is reacquired." +"When the underlying lock is an :class:`RLock`, it is not released using " +"its :meth:`release` method, since this may not actually unlock the lock when " +"it was acquired multiple times recursively. Instead, an internal interface " +"of the :class:`RLock` class is used, which really unlocks it even when it " +"has been recursively acquired several times. Another internal interface is " +"then used to restore the recursion level when the lock is reacquired." msgstr "" #: ../../library/threading.rst:759 @@ -1039,8 +1036,10 @@ msgid "" "The return value is ``True`` unless a given *timeout* expired, in which case " "it is ``False``." msgstr "" +"O valor de retorno é ``True`` exceto se um dado *timout* expire, no caso em " +"que é ``False``." -#: ../../library/threading.rst:762 ../../library/threading.rst:981 +#: ../../library/threading.rst:762 ../../library/threading.rst:978 msgid "Previously, the method always returned ``None``." msgstr "" @@ -1075,8 +1074,8 @@ msgstr "" #: ../../library/threading.rst:790 msgid "" "By default, wake up one thread waiting on this condition, if any. If the " -"calling thread has not acquired the lock when this method is called, a :exc:" -"`RuntimeError` is raised." +"calling thread has not acquired the lock when this method is called, " +"a :exc:`RuntimeError` is raised." msgstr "" #: ../../library/threading.rst:794 @@ -1102,10 +1101,10 @@ msgstr "" #: ../../library/threading.rst:808 msgid "" -"Wake up all threads waiting on this condition. This method acts like :meth:" -"`notify`, but wakes up all waiting threads instead of one. If the calling " -"thread has not acquired the lock when this method is called, a :exc:" -"`RuntimeError` is raised." +"Wake up all threads waiting on this condition. This method acts " +"like :meth:`notify`, but wakes up all waiting threads instead of one. If the " +"calling thread has not acquired the lock when this method is called, " +"a :exc:`RuntimeError` is raised." msgstr "" #: ../../library/threading.rst:813 @@ -1120,17 +1119,17 @@ msgstr "" msgid "" "This is one of the oldest synchronization primitives in the history of " "computer science, invented by the early Dutch computer scientist Edsger W. " -"Dijkstra (he used the names ``P()`` and ``V()`` instead of :meth:`~Semaphore." -"acquire` and :meth:`~Semaphore.release`)." +"Dijkstra (he used the names ``P()`` and ``V()`` instead " +"of :meth:`~Semaphore.acquire` and :meth:`~Semaphore.release`)." msgstr "" #: ../../library/threading.rst:826 msgid "" -"A semaphore manages an internal counter which is decremented by each :meth:" -"`~Semaphore.acquire` call and incremented by each :meth:`~Semaphore.release` " -"call. The counter can never go below zero; when :meth:`~Semaphore.acquire` " -"finds that it is zero, it blocks, waiting until some other thread calls :" -"meth:`~Semaphore.release`." +"A semaphore manages an internal counter which is decremented by " +"each :meth:`~Semaphore.acquire` call and incremented by " +"each :meth:`~Semaphore.release` call. The counter can never go below zero; " +"when :meth:`~Semaphore.acquire` finds that it is zero, it blocks, waiting " +"until some other thread calls :meth:`~Semaphore.release`." msgstr "" #: ../../library/threading.rst:832 @@ -1170,10 +1169,10 @@ msgstr "" #: ../../library/threading.rst:858 msgid "" -"If the internal counter is zero on entry, block until awoken by a call to :" -"meth:`~Semaphore.release`. Once awoken (and the counter is greater than 0), " -"decrement the counter by 1 and return ``True``. Exactly one thread will be " -"awoken by each call to :meth:`~Semaphore.release`. The order in which " +"If the internal counter is zero on entry, block until awoken by a call " +"to :meth:`~Semaphore.release`. Once awoken (and the counter is greater than " +"0), decrement the counter by 1 and return ``True``. Exactly one thread will " +"be awoken by each call to :meth:`~Semaphore.release`. The order in which " "threads are awoken should not be relied on." msgstr "" @@ -1205,10 +1204,10 @@ msgstr "" #: ../../library/threading.rst:887 msgid "" "Class implementing bounded semaphore objects. A bounded semaphore checks to " -"make sure its current value doesn't exceed its initial value. If it does, :" -"exc:`ValueError` is raised. In most situations semaphores are used to guard " -"resources with limited capacity. If the semaphore is released too many " -"times it's a sign of a bug. If not given, *value* defaults to 1." +"make sure its current value doesn't exceed its initial value. If it " +"does, :exc:`ValueError` is raised. In most situations semaphores are used to " +"guard resources with limited capacity. If the semaphore is released too " +"many times it's a sign of a bug. If not given, *value* defaults to 1." msgstr "" #: ../../library/threading.rst:900 @@ -1248,17 +1247,18 @@ msgstr "" #: ../../library/threading.rst:933 msgid "" -"An event object manages an internal flag that can be set to true with the :" -"meth:`~Event.set` method and reset to false with the :meth:`~Event.clear` " -"method. The :meth:`~Event.wait` method blocks until the flag is true." +"An event object manages an internal flag that can be set to true with " +"the :meth:`~Event.set` method and reset to false with " +"the :meth:`~Event.clear` method. The :meth:`~Event.wait` method blocks " +"until the flag is true." msgstr "" #: ../../library/threading.rst:940 msgid "" "Class implementing event objects. An event manages a flag that can be set " -"to true with the :meth:`~Event.set` method and reset to false with the :meth:" -"`clear` method. The :meth:`wait` method blocks until the flag is true. The " -"flag is initially false." +"to true with the :meth:`~Event.set` method and reset to false with " +"the :meth:`clear` method. The :meth:`wait` method blocks until the flag is " +"true. The flag is initially false." msgstr "" #: ../../library/threading.rst:950 @@ -1285,52 +1285,46 @@ msgstr "" #: ../../library/threading.rst:968 msgid "" -"Block until the internal flag is true. If the internal flag is true on " -"entry, return immediately. Otherwise, block until another thread calls :" -"meth:`.set` to set the flag to true, or until the optional timeout occurs." +"Block as long as the internal flag is false and the timeout, if given, has " +"not expired. The return value represents the reason that this blocking " +"method returned; ``True`` if returning because the internal flag is set to " +"true, or ``False`` if a timeout is given and the the internal flag did not " +"become true within the given wait time." msgstr "" -#: ../../library/threading.rst:972 +#: ../../library/threading.rst:974 msgid "" "When the timeout argument is present and not ``None``, it should be a " -"floating point number specifying a timeout for the operation in seconds (or " -"fractions thereof)." +"floating point number specifying a timeout for the operation in seconds, or " +"fractions thereof." msgstr "" -#: ../../library/threading.rst:976 -msgid "" -"This method returns ``True`` if and only if the internal flag has been set " -"to true, either before the wait call or after the wait starts, so it will " -"always return ``True`` except if a timeout is given and the operation times " -"out." -msgstr "" - -#: ../../library/threading.rst:988 +#: ../../library/threading.rst:985 msgid "Timer Objects" msgstr "Objetos Timer" -#: ../../library/threading.rst:990 +#: ../../library/threading.rst:987 msgid "" "This class represents an action that should be run only after a certain " -"amount of time has passed --- a timer. :class:`Timer` is a subclass of :" -"class:`Thread` and as such also functions as an example of creating custom " -"threads." +"amount of time has passed --- a timer. :class:`Timer` is a subclass " +"of :class:`Thread` and as such also functions as an example of creating " +"custom threads." msgstr "" -#: ../../library/threading.rst:994 +#: ../../library/threading.rst:991 msgid "" -"Timers are started, as with threads, by calling their :meth:`~Timer.start` " -"method. The timer can be stopped (before its action has begun) by calling " -"the :meth:`~Timer.cancel` method. The interval the timer will wait before " -"executing its action may not be exactly the same as the interval specified " -"by the user." +"Timers are started, as with threads, by calling their :meth:`Timer.start " +"` method. The timer can be stopped (before its action has " +"begun) by calling the :meth:`~Timer.cancel` method. The interval the timer " +"will wait before executing its action may not be exactly the same as the " +"interval specified by the user." msgstr "" -#: ../../library/threading.rst:1000 +#: ../../library/threading.rst:997 msgid "For example::" msgstr "Por exemplo::" -#: ../../library/threading.rst:1011 +#: ../../library/threading.rst:1008 msgid "" "Create a timer that will run *function* with arguments *args* and keyword " "arguments *kwargs*, after *interval* seconds have passed. If *args* is " @@ -1338,17 +1332,17 @@ msgid "" "``None`` (the default) then an empty dict will be used." msgstr "" -#: ../../library/threading.rst:1021 +#: ../../library/threading.rst:1018 msgid "" "Stop the timer, and cancel the execution of the timer's action. This will " "only work if the timer is still in its waiting stage." msgstr "" -#: ../../library/threading.rst:1026 +#: ../../library/threading.rst:1023 msgid "Barrier Objects" msgstr "" -#: ../../library/threading.rst:1030 +#: ../../library/threading.rst:1027 msgid "" "This class provides a simple synchronization primitive for use by a fixed " "number of threads that need to wait for each other. Each of the threads " @@ -1357,18 +1351,18 @@ msgid "" "calls. At this point, the threads are released simultaneously." msgstr "" -#: ../../library/threading.rst:1036 +#: ../../library/threading.rst:1033 msgid "" "The barrier can be reused any number of times for the same number of threads." msgstr "" -#: ../../library/threading.rst:1038 +#: ../../library/threading.rst:1035 msgid "" "As an example, here is a simple way to synchronize a client and server " "thread::" msgstr "" -#: ../../library/threading.rst:1058 +#: ../../library/threading.rst:1055 msgid "" "Create a barrier object for *parties* number of threads. An *action*, when " "provided, is a callable to be called by one of the threads when they are " @@ -1376,7 +1370,7 @@ msgid "" "the :meth:`wait` method." msgstr "" -#: ../../library/threading.rst:1065 +#: ../../library/threading.rst:1062 msgid "" "Pass the barrier. When all the threads party to the barrier have called " "this function, they are all released simultaneously. If a *timeout* is " @@ -1384,44 +1378,44 @@ msgid "" "constructor." msgstr "" -#: ../../library/threading.rst:1070 +#: ../../library/threading.rst:1067 msgid "" "The return value is an integer in the range 0 to *parties* -- 1, different " "for each thread. This can be used to select a thread to do some special " "housekeeping, e.g.::" msgstr "" -#: ../../library/threading.rst:1079 +#: ../../library/threading.rst:1076 msgid "" "If an *action* was provided to the constructor, one of the threads will have " "called it prior to being released. Should this call raise an error, the " "barrier is put into the broken state." msgstr "" -#: ../../library/threading.rst:1083 +#: ../../library/threading.rst:1080 msgid "If the call times out, the barrier is put into the broken state." msgstr "" -#: ../../library/threading.rst:1085 +#: ../../library/threading.rst:1082 msgid "" "This method may raise a :class:`BrokenBarrierError` exception if the barrier " "is broken or reset while a thread is waiting." msgstr "" -#: ../../library/threading.rst:1090 +#: ../../library/threading.rst:1087 msgid "" "Return the barrier to the default, empty state. Any threads waiting on it " "will receive the :class:`BrokenBarrierError` exception." msgstr "" -#: ../../library/threading.rst:1093 +#: ../../library/threading.rst:1090 msgid "" "Note that using this function may require some external synchronization if " "there are other threads whose state is unknown. If a barrier is broken it " "may be better to just leave it and create a new one." msgstr "" -#: ../../library/threading.rst:1099 +#: ../../library/threading.rst:1096 msgid "" "Put the barrier into a broken state. This causes any active or future calls " "to :meth:`wait` to fail with the :class:`BrokenBarrierError`. Use this for " @@ -1429,63 +1423,63 @@ msgid "" "application." msgstr "" -#: ../../library/threading.rst:1104 +#: ../../library/threading.rst:1101 msgid "" "It may be preferable to simply create the barrier with a sensible *timeout* " "value to automatically guard against one of the threads going awry." msgstr "" -#: ../../library/threading.rst:1110 +#: ../../library/threading.rst:1107 msgid "The number of threads required to pass the barrier." msgstr "" -#: ../../library/threading.rst:1114 +#: ../../library/threading.rst:1111 msgid "The number of threads currently waiting in the barrier." msgstr "" -#: ../../library/threading.rst:1118 +#: ../../library/threading.rst:1115 msgid "A boolean that is ``True`` if the barrier is in the broken state." msgstr "" -#: ../../library/threading.rst:1123 +#: ../../library/threading.rst:1120 msgid "" -"This exception, a subclass of :exc:`RuntimeError`, is raised when the :class:" -"`Barrier` object is reset or broken." +"This exception, a subclass of :exc:`RuntimeError`, is raised when " +"the :class:`Barrier` object is reset or broken." msgstr "" -#: ../../library/threading.rst:1130 +#: ../../library/threading.rst:1127 msgid "" "Using locks, conditions, and semaphores in the :keyword:`!with` statement" msgstr "" -#: ../../library/threading.rst:1132 +#: ../../library/threading.rst:1129 msgid "" -"All of the objects provided by this module that have :meth:`acquire` and :" -"meth:`release` methods can be used as context managers for a :keyword:`with` " -"statement. The :meth:`acquire` method will be called when the block is " -"entered, and :meth:`release` will be called when the block is exited. " -"Hence, the following snippet::" +"All of the objects provided by this module that have ``acquire`` and " +"``release`` methods can be used as context managers for a :keyword:`with` " +"statement. The ``acquire`` method will be called when the block is entered, " +"and ``release`` will be called when the block is exited. Hence, the " +"following snippet::" msgstr "" -#: ../../library/threading.rst:1141 +#: ../../library/threading.rst:1138 msgid "is equivalent to::" msgstr "é equivalente a::" -#: ../../library/threading.rst:1149 +#: ../../library/threading.rst:1146 msgid "" -"Currently, :class:`Lock`, :class:`RLock`, :class:`Condition`, :class:" -"`Semaphore`, and :class:`BoundedSemaphore` objects may be used as :keyword:" -"`with` statement context managers." +"Currently, :class:`Lock`, :class:`RLock`, :class:`Condition`, :class:`Semaphore`, " +"and :class:`BoundedSemaphore` objects may be used as :keyword:`with` " +"statement context managers." msgstr "" #: ../../library/threading.rst:155 ../../library/threading.rst:164 msgid "trace function" -msgstr "" +msgstr "função de rastreamento" #: ../../library/threading.rst:164 msgid "debugger" -msgstr "" +msgstr "depurador" #: ../../library/threading.rst:175 ../../library/threading.rst:184 msgid "profile function" -msgstr "" +msgstr "função de perfilação" diff --git a/library/time.po b/library/time.po index cf6b72255..1de54a01f 100644 --- a/library/time.po +++ b/library/time.po @@ -1,37 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Welington Carlos , 2021 -# Misael borges , 2021 -# Danielle Farias , 2021 -# Vinicius Gubiani Ferreira , 2021 -# i17obot , 2021 -# Marco Rougeth , 2021 -# mvpetri , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Rodrigo Queiroz , 2021 -# Vitor Buxbaum Orlandi, 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -70,6 +58,9 @@ 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 "" +"O :dfn:`era` (*epoch*) é o ponto onde o tempo começa, o valor de retorno de " +"``time.gmtime(0)``. É 1º de janeiro de 1970, 00:00:00 (UTC) em todas as " +"plataformas." #: ../../library/time.rst:31 msgid "" @@ -88,6 +79,9 @@ msgid "" "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 "" +"As funções desse módulo podem não conseguir tratar de datas e horários antes " +"do epoch_ ou muito distantes no futuro. O limite no futuro é determinado " +"pela biblioteca C; para sistemas de 32 bit, geralmente é 2038." #: ../../library/time.rst:45 msgid "" @@ -141,31 +135,25 @@ msgstr "" msgid "" "On the other hand, the precision of :func:`.time` and :func:`sleep` is " "better than their Unix equivalents: times are expressed as floating point " -"numbers, :func:`.time` returns the most accurate time available (using Unix :" -"c:func:`gettimeofday` where available), and :func:`sleep` will accept a time " -"with a nonzero fraction (Unix :c:func:`select` is used to implement this, " -"where available)." -msgstr "" -"Por outro lado, a precisão de :func:`.time` e :func:`sleep` é melhor do que " -"suas equivalentes Unix: Tempos são expressos como números em ponto " -"flutuante, :func:`.time` retorna o tempo mais preciso disponível " -"(utilizando :c:func:`gettimeofday` do Unix, quando disponível) e :func:" -"`sleep` irá aceitar qualquer tempo como uma fração não zero (:c:func:" -"`select` do Unix é utilizada para implementar isto, quando disponível)." +"numbers, :func:`.time` returns the most accurate time available (using " +"Unix :c:func:`!gettimeofday` where available), and :func:`sleep` will accept " +"a time with a nonzero fraction (Unix :c:func:`!select` is used to implement " +"this, where available)." +msgstr "" #: ../../library/time.rst:78 msgid "" -"The time value as returned by :func:`gmtime`, :func:`localtime`, and :func:" -"`strptime`, and accepted by :func:`asctime`, :func:`mktime` and :func:" -"`strftime`, is a sequence of 9 integers. The return values of :func:" -"`gmtime`, :func:`localtime`, and :func:`strptime` also offer attribute names " -"for individual fields." +"The time value as returned by :func:`gmtime`, :func:`localtime`, " +"and :func:`strptime`, and accepted by :func:`asctime`, :func:`mktime` " +"and :func:`strftime`, is a sequence of 9 integers. The return values " +"of :func:`gmtime`, :func:`localtime`, and :func:`strptime` also offer " +"attribute names for individual fields." msgstr "" "O valor de tempo conforme retornado pelas :func:`gmtime`, :func:`localtime`, " -"e :func:`strptime`, e aceito pelas :func:`asctime`, :func:`mktime` e :func:" -"`strftime`, é uma sequência de 9 inteiros. Os valores retornados das :func:" -"`gmtime`, :func:`localtime`, e :func:`strptime` também oferecem nomes de " -"atributo para campos individuais." +"e :func:`strptime`, e aceito pelas :func:`asctime`, :func:`mktime` " +"e :func:`strftime`, é uma sequência de 9 inteiros. Os valores retornados " +"das :func:`gmtime`, :func:`localtime`, e :func:`strptime` também oferecem " +"nomes de atributo para campos individuais." #: ../../library/time.rst:84 msgid "See :class:`struct_time` for a description of these objects." @@ -173,79 +161,81 @@ msgstr "Veja :class:`struct_time` para a descrição desses objetos." #: ../../library/time.rst:86 msgid "" -"The :class:`struct_time` type was extended to provide the :attr:`tm_gmtoff` " -"and :attr:`tm_zone` attributes when platform supports corresponding ``struct " -"tm`` members." +"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 "" -"O tipo :class:`struct_time` foi estendido para prover os atributos :attr:" -"`tm_gmtoff` e :attr:`tm_zone` quando a plataforma suporta os membros " -"``struct tm`` correspondentes" +"O tipo :class:`struct_time` foi estendido para prover os " +"atributos :attr:`~struct_time.tm_gmtoff` e :attr:`~struct_time.tm_zone` " +"quando a plataforma suporta os membros ``struct tm`` correspondentes" -#: ../../library/time.rst:91 +#: ../../library/time.rst:92 msgid "" -"The :class:`struct_time` attributes :attr:`tm_gmtoff` and :attr:`tm_zone` " -"are now available on all platforms." +"The :class:`struct_time` attributes :attr:`~struct_time.tm_gmtoff` " +"and :attr:`~struct_time.tm_zone` are now available on all platforms." msgstr "" -"Os atributos :attr:`tm_gmtoff` e :attr:`tm_zone` da classe :class:" -"`struct_time` estão disponíveis em todas as plataformas agora." +"Os atributos :attr:`~struct_time.tm_gmtoff` e :attr:`~struct_time.tm_zone` " +"da classe :class:`struct_time` estão disponíveis em todas as plataformas " +"agora." -#: ../../library/time.rst:95 +#: ../../library/time.rst:97 msgid "Use the following functions to convert between time representations:" msgstr "" "Utilize as seguintes funções para converter entre representações de tempo:" -#: ../../library/time.rst:98 +#: ../../library/time.rst:100 msgid "From" msgstr "De" -#: ../../library/time.rst:98 +#: ../../library/time.rst:100 msgid "To" msgstr "Para" -#: ../../library/time.rst:98 +#: ../../library/time.rst:100 msgid "Use" msgstr "Utilize" -#: ../../library/time.rst:100 ../../library/time.rst:103 -#: ../../library/time.rst:106 ../../library/time.rst:109 -#: ../../library/time.rst:29 +#: ../../library/time.rst:29 ../../library/time.rst:102 +#: ../../library/time.rst:105 ../../library/time.rst:108 +#: ../../library/time.rst:111 msgid "seconds since the epoch" msgstr "segundos desde a era" -#: ../../library/time.rst:100 ../../library/time.rst:106 +#: ../../library/time.rst:102 ../../library/time.rst:108 msgid ":class:`struct_time` in UTC" msgstr ":class:`struct_time` em UTC" -#: ../../library/time.rst:100 +#: ../../library/time.rst:102 msgid ":func:`gmtime`" msgstr ":func:`gmtime`" -#: ../../library/time.rst:103 ../../library/time.rst:109 +#: ../../library/time.rst:105 ../../library/time.rst:111 msgid ":class:`struct_time` in local time" msgstr ":class:`struct_time` em tempo local" -#: ../../library/time.rst:103 +#: ../../library/time.rst:105 msgid ":func:`localtime`" msgstr ":func:`localtime`" -#: ../../library/time.rst:106 +#: ../../library/time.rst:108 msgid ":func:`calendar.timegm`" msgstr ":func:`calendar.timegm`" -#: ../../library/time.rst:109 +#: ../../library/time.rst:111 msgid ":func:`mktime`" msgstr ":func:`mktime`" -#: ../../library/time.rst:117 +#: ../../library/time.rst:119 msgid "Functions" msgstr "Funções" -#: ../../library/time.rst:121 +#: ../../library/time.rst:123 msgid "" -"Convert a tuple or :class:`struct_time` representing a time as returned by :" -"func:`gmtime` or :func:`localtime` to a string of the following form: ``'Sun " -"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'``." +"Convert a tuple or :class:`struct_time` representing a time as returned " +"by :func:`gmtime` or :func:`localtime` to a string of the following form: " +"``'Sun 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 "" "Converte a tupla ou :class:`struct_time` representando um tempo como " "retornado pela :func:`gmtime` ou :func:`localtime` para uma string com o " @@ -253,7 +243,7 @@ msgstr "" "caracteres e possui espaçamento se o dia é de apenas um dígito. Por exemplo, " "``'Wed Jun 9 04:26:40 1993'``." -#: ../../library/time.rst:127 +#: ../../library/time.rst:129 msgid "" "If *t* is not provided, the current time as returned by :func:`localtime` is " "used. Locale information is not used by :func:`asctime`." @@ -261,7 +251,7 @@ msgstr "" "Se *t* não é fornecido, o tempo atual como retornado por :func:`localtime` é " "utilizado. Informação de localidade não é utilizada por :func:`asctime`." -#: ../../library/time.rst:132 +#: ../../library/time.rst:134 msgid "" "Unlike the C function of the same name, :func:`asctime` does not add a " "trailing newline." @@ -269,7 +259,7 @@ msgstr "" "Diferentemente da função em C de mesmo nome, :func:`asctime` não adiciona " "uma nova linha em seguida." -#: ../../library/time.rst:137 +#: ../../library/time.rst:139 msgid "" "Return the *clk_id* of the thread-specific CPU-time clock for the specified " "*thread_id*." @@ -277,17 +267,18 @@ msgstr "" "Retorna o *clk_id* do relógio de tempo de CPU específico da thread para a " "*thread_id* especificada." -#: ../../library/time.rst:139 +#: ../../library/time.rst:141 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 "" -"Utilize a :func:`threading.get_ident` ou o atributo :attr:`~threading.Thread." -"ident` dos objetos :class:`threading.Thread` para obter um valor adequado " -"para *thread_id*." +"Utilize a :func:`threading.get_ident` ou o " +"atributo :attr:`~threading.Thread.ident` dos " +"objetos :class:`threading.Thread` para obter um valor adequado para " +"*thread_id*." -#: ../../library/time.rst:144 +#: ../../library/time.rst:146 msgid "" "Passing an invalid or expired *thread_id* may result in undefined behavior, " "such as segmentation fault." @@ -295,33 +286,36 @@ msgstr "" "Passando um *thread_id* inválido ou expirado pode resultar em um " "comportamento indefinido, como, por exemplo, falha de segmentação." -#: ../../library/time.rst:147 +#: ../../library/time.rst:149 msgid ":ref:`Availability `: Unix" msgstr ":ref:`Disponibilidade `: Unix" -#: ../../library/time.rst:149 +#: ../../library/time.rst:151 msgid "" "See the man page for :manpage:`pthread_getcpuclockid(3)` for further " "information." msgstr "" +"Veja a página man para :manpage:`pthread_getcpuclockid(3)` para mais " +"informações." -#: ../../library/time.rst:156 +#: ../../library/time.rst:158 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 "" -"Retorna a resolução (precisão) do relógio *clk_id* especificado. Confira :" -"ref:`time-clock-id-constants` para uma lista de valores aceitos para *clk_id*" +"Retorna a resolução (precisão) do relógio *clk_id* especificado. " +"Confira :ref:`time-clock-id-constants` para uma lista de valores aceitos " +"para *clk_id*" -#: ../../library/time.rst:159 ../../library/time.rst:172 -#: ../../library/time.rst:181 ../../library/time.rst:194 -#: ../../library/time.rst:203 ../../library/time.rst:680 -#: ../../library/time.rst:797 ../../library/time.rst:816 -#: ../../library/time.rst:844 ../../library/time.rst:879 +#: ../../library/time.rst:161 ../../library/time.rst:174 +#: ../../library/time.rst:183 ../../library/time.rst:196 +#: ../../library/time.rst:205 ../../library/time.rst:716 +#: ../../library/time.rst:833 ../../library/time.rst:852 +#: ../../library/time.rst:880 ../../library/time.rst:915 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." -#: ../../library/time.rst:166 +#: ../../library/time.rst:168 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*." @@ -329,61 +323,65 @@ msgstr "" "Retorna o tempo to relógio *clk_id* especificado. Confira :ref:`time-clock-" "id-constants` para uma lista de valores aceitos para *clk_id*." -#: ../../library/time.rst:169 +#: ../../library/time.rst:171 msgid "" -"Use :func:`clock_gettime_ns` to avoid the precision loss caused by the :" -"class:`float` type." +"Use :func:`clock_gettime_ns` to avoid the precision loss caused by " +"the :class:`float` type." msgstr "" "Use :func:`clock_gettime_ns` para evitar perda de precisão causada pelo " "tipo :class:`float`." -#: ../../library/time.rst:179 +#: ../../library/time.rst:181 msgid "Similar to :func:`clock_gettime` but return time as nanoseconds." msgstr "" "Semelhante à :func:`clock_gettime`, mas retorna o tempo em nanossegundos." -#: ../../library/time.rst:188 +#: ../../library/time.rst:190 msgid "" -"Set the time of the specified clock *clk_id*. Currently, :data:" -"`CLOCK_REALTIME` is the only accepted value for *clk_id*." +"Set the time of the specified clock *clk_id*. " +"Currently, :data:`CLOCK_REALTIME` is the only accepted value for *clk_id*." msgstr "" -"Define o tempo do relógio *clk_id* especificado. Atualmente, :data:" -"`CLOCK_REALTIME` é o único valor aceito para *clk_id*." +"Define o tempo do relógio *clk_id* especificado. " +"Atualmente, :data:`CLOCK_REALTIME` é o único valor aceito para *clk_id*." -#: ../../library/time.rst:191 +#: ../../library/time.rst:193 msgid "" -"Use :func:`clock_settime_ns` to avoid the precision loss caused by the :" -"class:`float` type." +"Use :func:`clock_settime_ns` to avoid the precision loss caused by " +"the :class:`float` type." msgstr "" "Use :func:`clock_settime_ns` para evitar perda de precisão causada pelo " "tipo :class:`float`." -#: ../../library/time.rst:201 +#: ../../library/time.rst:203 msgid "Similar to :func:`clock_settime` but set time with nanoseconds." msgstr "" "Semelhante à :func:`clock_settime`, mas define o tempo em nanossegundos." -#: ../../library/time.rst:210 +#: ../../library/time.rst:212 msgid "" "Convert a time expressed in seconds since the epoch_ to a string of a form: " "``'Sun Jun 20 23:21:05 1993'`` representing local time. 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 "" +"Converte um tempo expresso em segundos desde o epoch_ para uma string de " +"forma: ``'Sun Jun 20 23:21:05 1993'`` representando tempo local. O campo dia " +"tem comprimento de dois caracteres e é deslocado por um espaço se o dia tem " +"um único dígito. Por exemplo, ``'Wed Jun 9 04:26:40 1993'``." -#: ../../library/time.rst:215 +#: ../../library/time.rst:217 msgid "" -"If *secs* is not provided or :const:`None`, the current time as returned by :" -"func:`.time` is used. ``ctime(secs)`` is equivalent to " -"``asctime(localtime(secs))``. Locale information is not used by :func:" -"`ctime`." +"If *secs* is not provided or :const:`None`, the current time as returned " +"by :func:`.time` is used. ``ctime(secs)`` is equivalent to " +"``asctime(localtime(secs))``. Locale information is not used " +"by :func:`ctime`." msgstr "" "Se *secs* não é fornecido ou :const:`None`, o tempo atual como retornado " "por :func:`.time` é utilizado. ``ctime(secs)`` é equivalente a " -"``asctime(localtime(secs))``. Informação de localidade não é utilizada por :" -"func:`ctime`." +"``asctime(localtime(secs))``. Informação de localidade não é utilizada " +"por :func:`ctime`." -#: ../../library/time.rst:223 +#: ../../library/time.rst:225 msgid "" "Get information on the specified clock as a namespace object. Supported " "clock names and the corresponding functions to read their value are:" @@ -392,31 +390,31 @@ msgstr "" "de relógios suportados e as funções correspondentes para ler seus valores " "são:" -#: ../../library/time.rst:227 +#: ../../library/time.rst:229 msgid "``'monotonic'``: :func:`time.monotonic`" msgstr "``'monotonic'``: :func:`time.monotonic`" -#: ../../library/time.rst:228 +#: ../../library/time.rst:230 msgid "``'perf_counter'``: :func:`time.perf_counter`" msgstr "``'perf_counter'``: :func:`time.perf_counter`" -#: ../../library/time.rst:229 +#: ../../library/time.rst:231 msgid "``'process_time'``: :func:`time.process_time`" msgstr "``'process_time'``: :func:`time.process_time`" -#: ../../library/time.rst:230 +#: ../../library/time.rst:232 msgid "``'thread_time'``: :func:`time.thread_time`" msgstr "``'thread_time'``: :func:`time.thread_time`" -#: ../../library/time.rst:231 +#: ../../library/time.rst:233 msgid "``'time'``: :func:`time.time`" msgstr "``'time'``: :func:`time.time`" -#: ../../library/time.rst:233 +#: ../../library/time.rst:235 msgid "The result has the following attributes:" -msgstr "O resultado possui os seguintes atributos:" +msgstr "O resultado tem os seguintes atributos:" -#: ../../library/time.rst:235 +#: ../../library/time.rst:237 msgid "" "*adjustable*: ``True`` if the clock can be changed automatically (e.g. by a " "NTP daemon) or manually by the system administrator, ``False`` otherwise" @@ -425,7 +423,7 @@ msgstr "" "exemplo, por um daemon NTP) ou manualmente por um administrador do sistema, " "``False`` se contrário" -#: ../../library/time.rst:237 +#: ../../library/time.rst:239 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." @@ -433,28 +431,34 @@ msgstr "" "*implementation*: O nome da função C subjacente utilizada para obter o valor " "do relógio. Confira :ref:`time-clock-id-constants` para valores possíveis." -#: ../../library/time.rst:239 +#: ../../library/time.rst:241 msgid "" "*monotonic*: ``True`` if the clock cannot go backward, ``False`` otherwise" msgstr "" "*monotonic*: ``True`` se o relógio não pode retornar a valores anteriores, " "backward, ``False`` contrário" -#: ../../library/time.rst:241 +#: ../../library/time.rst:243 msgid "*resolution*: The resolution of the clock in seconds (:class:`float`)" msgstr "*resolution*: A resolução do relógio em segundos (:class:`float`)" -#: ../../library/time.rst:248 +#: ../../library/time.rst:250 msgid "" -"Convert a time expressed in seconds since the epoch_ to a :class:" -"`struct_time` in UTC in which the dst flag is always zero. If *secs* is not " -"provided or :const:`None`, the current time as returned by :func:`.time` is " -"used. Fractions of a second are ignored. See above for a description of " -"the :class:`struct_time` object. See :func:`calendar.timegm` for the inverse " -"of this function." +"Convert a time expressed in seconds since the epoch_ to " +"a :class:`struct_time` in UTC in which the dst flag is always zero. If " +"*secs* is not provided or :const:`None`, the current time as returned " +"by :func:`.time` is used. Fractions of a second are ignored. See above for " +"a description of the :class:`struct_time` object. " +"See :func:`calendar.timegm` for the inverse of this function." msgstr "" +"Converte um tempo expresso em segundos desde o epoch_ para " +"uma :class:`struct_time` em UTC onde o sinalizador de horário de verão é " +"sempre zero. Se *secs* não é fornecido ou :const:`None`, o tempo atual como " +"retornado por :func:`.time` é utilizado. Frações de segundo são ignoradas. " +"Veja acima para uma descrição do objeto :class:`struct_time`. " +"Veja :func:`calendar.timegm` para o inverso desta função." -#: ../../library/time.rst:258 +#: ../../library/time.rst:260 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. " @@ -465,44 +469,44 @@ msgstr "" "é utilizado. O sinalizador de horário de verão é definido como ``1`` quando " "o Horário de verão for aplicável para o tempo fornecido." -#: ../../library/time.rst:262 +#: ../../library/time.rst:264 msgid "" ":func:`localtime` may raise :exc:`OverflowError`, if the timestamp is " "outside the range of values supported by the platform C :c:func:`localtime` " -"or :c:func:`gmtime` functions, and :exc:`OSError` on :c:func:`localtime` or :" -"c:func:`gmtime` failure. It's common for this to be restricted to years " +"or :c:func:`gmtime` functions, and :exc:`OSError` on :c:func:`localtime` " +"or :c:func:`gmtime` failure. It's common for this to be restricted to years " "between 1970 and 2038." msgstr "" ":func:`localtime` pode levantar :exc:`OverflowError`, se o registro de data " "e hora estiver fora de valores suportados pelas funções :c:func:`localtime` " -"or :c:func:`gmtime` da plataforma C, e :exc:`OSError` no caso de :c:func:" -"`localtime` ou :c:func:`gmtime` falharem. É comum É comum que isso seja " -"restrito a anos de 1970 a 2038." +"or :c:func:`gmtime` da plataforma C, e :exc:`OSError` no caso " +"de :c:func:`localtime` ou :c:func:`gmtime` falharem. É comum É comum que " +"isso seja restrito a anos de 1970 a 2038." -#: ../../library/time.rst:271 +#: ../../library/time.rst:273 msgid "" -"This is the inverse function of :func:`localtime`. Its argument is the :" -"class:`struct_time` or full 9-tuple (since the dst flag is needed; use " +"This is the inverse function of :func:`localtime`. Its argument is " +"the :class:`struct_time` or full 9-tuple (since the dst flag is needed; use " "``-1`` as the dst flag if it is unknown) which expresses the time in *local* " -"time, not UTC. It returns a floating point number, for compatibility with :" -"func:`.time`. If the input value cannot be represented as a valid time, " -"either :exc:`OverflowError` or :exc:`ValueError` will be raised (which " +"time, not UTC. It returns a floating point number, for compatibility " +"with :func:`.time`. If the input value cannot be represented as a valid " +"time, either :exc:`OverflowError` or :exc:`ValueError` will be raised (which " "depends on whether the invalid value is caught by Python or the underlying C " "libraries). The earliest date for which it can generate a time is platform-" "dependent." msgstr "" -"Esta é a função inversa de :func:`localtime`. Seu argumento é a :class:" -"`struct_time` ou uma 9-tupla (sendo o sinalizador de horário de verão " -"necessário; utilize ``-1`` como sinalizador de horário de verão quando este " -"for desconhecido) que expressa o tempo em tempo *local*, não UTC. Retorna um " -"número em ponto flutuante, para ter compatibilidade com :func:`.time`. Se o " -"valor de entrada não puder ser representado como um tempo válido, ou :exc:" -"`OverflowError` ou :exc:`ValueError` serão levantadas (o que irá depender se " -"o valor inválido é capturado pelo Python ou por bibliotecas C subjacentes). " -"A data mais recente para qual um tempo pode ser gerado é dependente da " -"plataforma." +"Esta é a função inversa de :func:`localtime`. Seu argumento é " +"a :class:`struct_time` ou uma 9-tupla (sendo o sinalizador de horário de " +"verão necessário; utilize ``-1`` como sinalizador de horário de verão quando " +"este for desconhecido) que expressa o tempo em tempo *local*, não UTC. " +"Retorna um número em ponto flutuante, para ter compatibilidade " +"com :func:`.time`. Se o valor de entrada não puder ser representado como um " +"tempo válido, ou :exc:`OverflowError` ou :exc:`ValueError` serão levantadas " +"(o que irá depender se o valor inválido é capturado pelo Python ou por " +"bibliotecas C subjacentes). A data mais recente para qual um tempo pode ser " +"gerado é dependente da plataforma." -#: ../../library/time.rst:283 +#: ../../library/time.rst:285 msgid "" "Return the value (in fractional seconds) of a monotonic clock, i.e. a clock " "that cannot go backwards. The clock is not affected by system clock " @@ -515,27 +519,27 @@ msgstr "" "retornado é indefinido, portanto apenas a diferença entre os resultados de " "duas chamadas é válida." -#: ../../library/time.rst:288 +#: ../../library/time.rst:290 msgid "" -"Use :func:`monotonic_ns` to avoid the precision loss caused by the :class:" -"`float` type." +"Use :func:`monotonic_ns` to avoid the precision loss caused by " +"the :class:`float` type." msgstr "" -"Use :func:`monotonic_ns` para evitar perda de precisão causada pelo tipo :" -"class:`float`." +"Use :func:`monotonic_ns` para evitar perda de precisão causada pelo " +"tipo :class:`float`." -#: ../../library/time.rst:293 +#: ../../library/time.rst:295 msgid "The function is now always available and always system-wide." msgstr "A função agora é sempre disponível e sempre de todo o sistema." -#: ../../library/time.rst:296 +#: ../../library/time.rst:298 msgid "On macOS, the function is now system-wide." msgstr "No macOS, a função agora é no âmbito do sistema." -#: ../../library/time.rst:302 +#: ../../library/time.rst:304 msgid "Similar to :func:`monotonic`, but return time as nanoseconds." msgstr "Semelhante à :func:`monotonic`, mas retorna tempo em nanossegundos." -#: ../../library/time.rst:311 +#: ../../library/time.rst:313 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 " @@ -545,28 +549,28 @@ msgid "" msgstr "" "Retorna o valor (em frações de segundo) de um contador de desempenho, i.e. " "um relógio com a maior resolução disponível para medir uma duração curta. " -"Inclui o tempo decorrido durante o sono e é de todo o sistema. O ponto de " +"Inclui o tempo decorrido durante a pausa e é de todo o sistema. O ponto de " "referência é do valor retornado é indefinido, portanto apenas a diferença " "entre resultados de duas chamadas é válida." -#: ../../library/time.rst:317 +#: ../../library/time.rst:319 msgid "" -"Use :func:`perf_counter_ns` to avoid the precision loss caused by the :class:" -"`float` type." +"Use :func:`perf_counter_ns` to avoid the precision loss caused by " +"the :class:`float` type." msgstr "" -"Use :func:`perf_counter_ns` para evitar perda de precisão causada pelo tipo :" -"class:`float`." +"Use :func:`perf_counter_ns` para evitar perda de precisão causada pelo " +"tipo :class:`float`." -#: ../../library/time.rst:322 +#: ../../library/time.rst:324 msgid "On Windows, the function is now system-wide." msgstr "No Windows, a função agora é no âmbito do sistema." -#: ../../library/time.rst:327 +#: ../../library/time.rst:329 msgid "Similar to :func:`perf_counter`, but return time as nanoseconds." msgstr "" "Semelhante à :func:`perf_counter`, mas retorna o tempo em nanossegundos." -#: ../../library/time.rst:339 +#: ../../library/time.rst:341 msgid "" "Return the value (in fractional seconds) of the sum of the system and user " "CPU time of the current process. It does not include time elapsed during " @@ -575,44 +579,49 @@ msgid "" "of two calls is valid." msgstr "" "Retorna o valor (em frações de segundo) da soma dos tempos do sistema e CPU " -"de usuário do processo atual. Não inclui o tempo decorrido durante o sono. É " -"de todo o processo por definição. O ponto de referência do valor retornado é " -"indefinido, então apenas a diferença dos resultados de duas chamadas é " +"de usuário do processo atual. Não inclui o tempo decorrido durante a pausa. " +"É de todo o processo por definição. O ponto de referência do valor retornado " +"é indefinido, então apenas a diferença dos resultados de duas chamadas é " "válida." -#: ../../library/time.rst:345 +#: ../../library/time.rst:347 msgid "" -"Use :func:`process_time_ns` to avoid the precision loss caused by the :class:" -"`float` type." +"Use :func:`process_time_ns` to avoid the precision loss caused by " +"the :class:`float` type." msgstr "" -"Use :func:`process_time_ns` para evitar perda de precisão causada pelo tipo :" -"class:`float`." +"Use :func:`process_time_ns` para evitar perda de precisão causada pelo " +"tipo :class:`float`." -#: ../../library/time.rst:352 +#: ../../library/time.rst:354 msgid "Similar to :func:`process_time` but return time as nanoseconds." msgstr "" "Semelhante à :func:`process_time`, mas retorna o tempo em nanossegundos." -#: ../../library/time.rst:358 +#: ../../library/time.rst:360 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 "" -#: ../../library/time.rst:362 +#: ../../library/time.rst:364 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 "" +"Se a pausa for interrompida por um sinal e nenhuma exceção for levantada " +"pelo manipulador de sinal, a pausa será reiniciada com um tempo limite " +"recalculado." -#: ../../library/time.rst:365 +#: ../../library/time.rst:367 msgid "" "The suspension time may be longer than requested by an arbitrary amount, " "because of the scheduling of other activity in the system." msgstr "" +"O tempo de suspensão pode ser maior do que o solicitado por um valor " +"arbitrário, devido ao agendamento de outras atividades no sistema." -#: ../../library/time.rst:368 +#: ../../library/time.rst:370 msgid "" "On Windows, if *secs* is zero, the thread relinquishes the remainder of its " "time slice to any other thread that is ready to run. If there are no other " @@ -622,55 +631,66 @@ msgid "" "drivers/kernel/high-resolution-timers>`_ which provides resolution of 100 " "nanoseconds. If *secs* is zero, ``Sleep(0)`` is used." msgstr "" +"No Windows, se *secs* é zero, a thread renuncia ao restante de sua fatia de " +"tempo para qualquer outra thread que esteja pronto para executar. Se nenhuma " +"outra thread estiver pronta pra ser executada, a função retorna " +"imediatamente, e a thread continua a execução. No Windows 8.1 e mais novos a " +"implementação usa um `temporizador de alta resolução `_ que provê uma resolução de 100 nanossegundos. Se *secs* é zero, é " +"usado ``Sleep(0)``." -#: ../../library/time.rst:376 +#: ../../library/time.rst:378 msgid "Unix implementation:" -msgstr "" +msgstr "Implementação no Unix:" -#: ../../library/time.rst:378 +#: ../../library/time.rst:380 msgid "Use ``clock_nanosleep()`` if available (resolution: 1 nanosecond);" -msgstr "" +msgstr "Usa ``clock_nanosleep()`` se disponível (resolução: 1 nanossegundo);" -#: ../../library/time.rst:379 +#: ../../library/time.rst:381 msgid "Or use ``nanosleep()`` if available (resolution: 1 nanosecond);" -msgstr "" - -#: ../../library/time.rst:380 -msgid "Or use ``select()`` (resolution: 1 microsecond)." -msgstr "" +msgstr "Ou usa ``nanosleep()`` se disponível (resolução: 1 nanossegunda);" #: ../../library/time.rst:382 -msgid "" -"On Unix, the ``clock_nanosleep()`` and ``nanosleep()`` functions are now " -"used if available. On Windows, a waitable timer is now used." -msgstr "" +msgid "Or use ``select()`` (resolution: 1 microsecond)." +msgstr "Ou usa ``select()`` (resolução: 1 microssegundo)." -#: ../../library/time.rst:386 +#: ../../library/time.rst:384 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 "" -"A função agora dorme por pelo menos *secs* mesmo se o sono é interrompido " -"por um sinal, exceto se o tratador de sinal levanta uma exceção (veja :pep:" -"`475` para a explicação)." +"A função agora pausa por pelo menos *secs* mesmo se a pausa é interrompido " +"por um sinal, exceto se o tratador de sinal levanta uma exceção " +"(veja :pep:`475` para a explicação)." -#: ../../library/time.rst:397 +#: ../../library/time.rst:389 msgid "" -"Convert a tuple or :class:`struct_time` representing a time as returned by :" -"func:`gmtime` or :func:`localtime` to a string as specified by the *format* " -"argument. If *t* is not provided, the current time as returned by :func:" -"`localtime` is used. *format* must be a string. :exc:`ValueError` is " -"raised if any field in *t* is outside of the allowed range." +"On Unix, the ``clock_nanosleep()`` and ``nanosleep()`` functions are now " +"used if available. On Windows, a waitable timer is now used." +msgstr "" +"No Unix, as funções ``clock_nanosleep()`` e ``nanosleep()`` são agora usadas " +"se estiverem disponíveis. No Windows, um temporizador aguardável é agora " +"usado." + +#: ../../library/time.rst:398 +msgid "" +"Convert a tuple or :class:`struct_time` representing a time as returned " +"by :func:`gmtime` or :func:`localtime` to a string as specified by the " +"*format* argument. If *t* is not provided, the current time as returned " +"by :func:`localtime` is used. *format* must be a string. :exc:`ValueError` " +"is raised if any field in *t* is outside of the allowed range." msgstr "" "Converte a tupla ou :class:`struct_time` representando um tempo como " "retornado por :func:`gmtime` ou :func:`localtime` para uma string como " "especificado pelo argumento *format*. Se *t* não é fornecido, o tempo atual " "como retornado pela :func:`localtime` é utilizado. *format* deve ser uma " -"string. :exc:`ValueError` é levantado se qualquer campo em *t* está fora do " -"intervalo permitido." +"string. A exceção :exc:`ValueError` é levantada se qualquer campo em *t* " +"está fora do intervalo permitido." -#: ../../library/time.rst:403 +#: ../../library/time.rst:404 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." @@ -678,7 +698,7 @@ msgstr "" "0 é um argumento legal para qualquer posição na tupla de tempo; se é " "normalmente ilegal, o valor é formado a um valor correto." -#: ../../library/time.rst:406 +#: ../../library/time.rst:407 msgid "" "The following directives can be embedded in the *format* string. They are " "shown without the optional field width and precision specification, and are " @@ -686,138 +706,154 @@ msgid "" msgstr "" "As diretivas a seguir podem ser incorporadas na string *format*. Elas estão " "mostradas sem os campos de comprimento e especificação de precisão " -"opcionais, e estão substituídos pelos caracteres indicados no resultado da :" -"func:`strftime`:" +"opcionais, e estão substituídos pelos caracteres indicados no resultado " +"da :func:`strftime`:" -#: ../../library/time.rst:411 +#: ../../library/time.rst:412 msgid "Directive" msgstr "Diretiva" -#: ../../library/time.rst:411 +#: ../../library/time.rst:412 msgid "Meaning" msgstr "Significado" -#: ../../library/time.rst:411 +#: ../../library/time.rst:412 msgid "Notes" msgstr "Notas" -#: ../../library/time.rst:413 +#: ../../library/time.rst:414 msgid "``%a``" msgstr "``%a``" -#: ../../library/time.rst:413 +#: ../../library/time.rst:414 msgid "Locale's abbreviated weekday name." msgstr "Nome abreviado do dia da semana da localidade." -#: ../../library/time.rst:416 +#: ../../library/time.rst:417 msgid "``%A``" msgstr "``%A``" -#: ../../library/time.rst:416 +#: ../../library/time.rst:417 msgid "Locale's full weekday name." msgstr "Nome completo do dia da semana da localidade." -#: ../../library/time.rst:418 +#: ../../library/time.rst:419 msgid "``%b``" msgstr "``%b``" -#: ../../library/time.rst:418 +#: ../../library/time.rst:419 msgid "Locale's abbreviated month name." msgstr "Nome abreviado do mês da localidade." -#: ../../library/time.rst:421 +#: ../../library/time.rst:422 msgid "``%B``" msgstr "``%B``" -#: ../../library/time.rst:421 +#: ../../library/time.rst:422 msgid "Locale's full month name." msgstr "Nome completo do mês da localidade." -#: ../../library/time.rst:423 +#: ../../library/time.rst:424 msgid "``%c``" msgstr "``%c``" -#: ../../library/time.rst:423 +#: ../../library/time.rst:424 msgid "Locale's appropriate date and time representation." msgstr "Representação de data e hora apropriada da localidade." -#: ../../library/time.rst:426 +#: ../../library/time.rst:427 msgid "``%d``" msgstr "``%d``" -#: ../../library/time.rst:426 +#: ../../library/time.rst:427 msgid "Day of the month as a decimal number [01,31]." msgstr "Dia do mês como um número decimal [01,31]." -#: ../../library/time.rst:429 +#: ../../library/time.rst:430 +msgid "``%f``" +msgstr "``%f``" + +#: ../../library/time.rst:431 +msgid "Microseconds as a decimal number" +msgstr "Microssegundos como um número decimal" + +#: ../../library/time.rst:431 +msgid "[000000,999999]." +msgstr "[000000,999999]." + +#: ../../library/time.rst:430 +msgid "\\(1)" +msgstr "\\(1)" + +#: ../../library/time.rst:434 msgid "``%H``" msgstr "``%H``" -#: ../../library/time.rst:429 +#: ../../library/time.rst:434 msgid "Hour (24-hour clock) as a decimal number [00,23]." msgstr "Hora (relógio 24 horas) como um número decimal [00,23]." -#: ../../library/time.rst:432 +#: ../../library/time.rst:437 msgid "``%I``" msgstr "``%I``" -#: ../../library/time.rst:432 +#: ../../library/time.rst:437 msgid "Hour (12-hour clock) as a decimal number [01,12]." msgstr "Hora (relógio 12 horas) como um número decimal [01,12]." -#: ../../library/time.rst:435 +#: ../../library/time.rst:440 msgid "``%j``" msgstr "``%j``" -#: ../../library/time.rst:435 +#: ../../library/time.rst:440 msgid "Day of the year as a decimal number [001,366]." msgstr "Dia do ano como um número decimal [001,366]." -#: ../../library/time.rst:438 +#: ../../library/time.rst:443 msgid "``%m``" msgstr "``%m``" -#: ../../library/time.rst:438 +#: ../../library/time.rst:443 msgid "Month as a decimal number [01,12]." msgstr "Mês como um número decimal [01,12]." -#: ../../library/time.rst:441 +#: ../../library/time.rst:446 msgid "``%M``" msgstr "``%M``" -#: ../../library/time.rst:441 +#: ../../library/time.rst:446 msgid "Minute as a decimal number [00,59]." msgstr "Minuto como um número decimal [00,59]." -#: ../../library/time.rst:444 +#: ../../library/time.rst:449 msgid "``%p``" msgstr "``%p``" -#: ../../library/time.rst:444 +#: ../../library/time.rst:449 msgid "Locale's equivalent of either AM or PM." msgstr "Equivalente da localidade a AM ou PM." -#: ../../library/time.rst:444 -msgid "\\(1)" -msgstr "\\(1)" +#: ../../library/time.rst:449 +msgid "\\(2)" +msgstr "\\(2)" -#: ../../library/time.rst:447 +#: ../../library/time.rst:452 msgid "``%S``" msgstr "``%S``" -#: ../../library/time.rst:447 +#: ../../library/time.rst:452 msgid "Second as a decimal number [00,61]." msgstr "Segundo como um número decimal [00,61]." -#: ../../library/time.rst:447 -msgid "\\(2)" -msgstr "\\(2)" +#: ../../library/time.rst:452 +msgid "\\(3)" +msgstr "\\(3)" -#: ../../library/time.rst:450 +#: ../../library/time.rst:455 msgid "``%U``" msgstr "``%U``" -#: ../../library/time.rst:450 +#: ../../library/time.rst:455 msgid "" "Week number of the year (Sunday as the first day of the week) as a decimal " "number [00,53]. All days in a new year preceding the first Sunday are " @@ -827,23 +863,23 @@ msgstr "" "decimal [00,53]. Todos os dias em um ano novo que precedem o primeiro " "domingo são considerados como estando na semana 0." -#: ../../library/time.rst:450 ../../library/time.rst:461 -msgid "\\(3)" -msgstr "\\(3)" +#: ../../library/time.rst:455 ../../library/time.rst:466 +msgid "\\(4)" +msgstr "\\(4)" -#: ../../library/time.rst:458 +#: ../../library/time.rst:463 msgid "``%w``" msgstr "``%w``" -#: ../../library/time.rst:458 +#: ../../library/time.rst:463 msgid "Weekday as a decimal number [0(Sunday),6]." msgstr "Dia da semana como um número decimal [0(Domingo),6]" -#: ../../library/time.rst:461 +#: ../../library/time.rst:466 msgid "``%W``" msgstr "``%W``" -#: ../../library/time.rst:461 +#: ../../library/time.rst:466 msgid "" "Week number of the year (Monday as the first day of the week) as a decimal " "number [00,53]. All days in a new year preceding the first Monday are " @@ -853,43 +889,43 @@ msgstr "" "um número decimal [00,53]. Todos os dias do ano que precedem o primeiro " "domingo serão considerados como estando na semana 0." -#: ../../library/time.rst:469 +#: ../../library/time.rst:474 msgid "``%x``" msgstr "``%x``" -#: ../../library/time.rst:469 +#: ../../library/time.rst:474 msgid "Locale's appropriate date representation." msgstr "Representação de data apropriada de localidade." -#: ../../library/time.rst:472 +#: ../../library/time.rst:477 msgid "``%X``" msgstr "``%X``" -#: ../../library/time.rst:472 +#: ../../library/time.rst:477 msgid "Locale's appropriate time representation." msgstr "Representação de hora apropriada da localidade." -#: ../../library/time.rst:475 +#: ../../library/time.rst:480 msgid "``%y``" msgstr "``%y``" -#: ../../library/time.rst:475 +#: ../../library/time.rst:480 msgid "Year without century as a decimal number [00,99]." msgstr "Ano sem século como um número decimal [00,99]." -#: ../../library/time.rst:478 +#: ../../library/time.rst:483 msgid "``%Y``" msgstr "``%Y``" -#: ../../library/time.rst:478 +#: ../../library/time.rst:483 msgid "Year with century as a decimal number." msgstr "Ano com século como um número decimal." -#: ../../library/time.rst:481 +#: ../../library/time.rst:486 msgid "``%z``" msgstr "``%z``" -#: ../../library/time.rst:481 +#: ../../library/time.rst:486 msgid "" "Time zone offset indicating a positive or negative time difference from UTC/" "GMT of the form +HHMM or -HHMM, where H represents decimal hour digits and M " @@ -900,29 +936,42 @@ msgstr "" "dígitos decimais de hora e M representa os dígitos decimais de minuto " "[-23:59, +23:59]. [1]_" -#: ../../library/time.rst:487 +#: ../../library/time.rst:492 msgid "``%Z``" msgstr "``%Z``" -#: ../../library/time.rst:487 +#: ../../library/time.rst:492 msgid "Time zone name (no characters if no time zone exists). Deprecated. [1]_" msgstr "" "Nome do fuso horário (nenhum caractere se nenhum fuso horário existe). " "Descontinuado. [1]_" -#: ../../library/time.rst:490 +#: ../../library/time.rst:495 msgid "``%%``" msgstr "``%%``" -#: ../../library/time.rst:490 +#: ../../library/time.rst:495 msgid "A literal ``'%'`` character." msgstr "Um caractere literal ``'%'``." -#: ../../library/time.rst:493 +#: ../../library/time.rst:498 msgid "Notes:" msgstr "Notas:" -#: ../../library/time.rst:496 +#: ../../library/time.rst:501 +msgid "" +"The ``%f`` format directive only applies to :func:`strptime`, not " +"to :func:`strftime`. However, see also :meth:`datetime.datetime.strptime` " +"and :meth:`datetime.datetime.strftime` where the ``%f`` format " +"directive :ref:`applies to microseconds `." +msgstr "" +"A diretiva de formatação ``%f`` é somente aplicada para :func:`strptime`, " +"não para :func:`strftime`. Contudo, veja " +"também :meth:`datetime.datetime.strptime` " +"e :meth:`datetime.datetime.strftime` onde a diretiva de formatação " +"``%f`` :ref:`é aplicada para microssegundos `." + +#: ../../library/time.rst:507 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 " @@ -931,7 +980,7 @@ msgstr "" "Quando utilizado com a função :func:`strptime`, a diretiva ``%p`` apenas " "afeta a saída do campo se a diretiva ``%I`` é utilizada para analisar a hora." -#: ../../library/time.rst:500 +#: ../../library/time.rst:513 msgid "" "The range really is ``0`` to ``61``; value ``60`` is valid in timestamps " "representing `leap seconds`_ and value ``61`` is supported for historical " @@ -941,7 +990,7 @@ msgstr "" "registros de data e hora representando `segundos bissextos`_ e o valor " "``61`` é suportado por razões históricas." -#: ../../library/time.rst:505 +#: ../../library/time.rst:518 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." @@ -949,7 +998,7 @@ msgstr "" "Quando utilizado co a função :func:`strptime`, ``%U`` e ``%W`` são " "utilizados em cálculos apenas quando o dia da semana e ano são especificados." -#: ../../library/time.rst:508 +#: ../../library/time.rst:521 msgid "" "Here is an example, a format for dates compatible with that specified in " "the :rfc:`2822` Internet email standard. [1]_ ::" @@ -957,19 +1006,19 @@ msgstr "" "Veja este exemplo, um formato para datas compatível com as especificações " "dos padrões de e-mail :rfc:`2822`. [1]_ ::" -#: ../../library/time.rst:515 +#: ../../library/time.rst:528 msgid "" "Additional directives may be supported on certain platforms, but only the " "ones listed here have a meaning standardized by ANSI C. To see the full set " -"of format codes supported on your platform, consult the :manpage:" -"`strftime(3)` documentation." +"of format codes supported on your platform, consult " +"the :manpage:`strftime(3)` documentation." msgstr "" "Diretivas adicionais podem ser suportadas por algumas plataformas, mas " "apenas as listadas aqui possuem significado padronizado por ANSI C. Para ver " "a lista completa de códigos de formato suportados na sua plataforma, " "consulte a documentação :manpage:`strftime(3)`." -#: ../../library/time.rst:520 +#: ../../library/time.rst:533 msgid "" "On some platforms, an optional field width and precision specification can " "immediately follow the initial ``'%'`` of a directive in the following " @@ -981,39 +1030,39 @@ msgstr "" "seguinte ordem; isto também não é portátil. O campo comprimento normalmente " "é 2 exceto para ``%j`` quando é 3." -#: ../../library/time.rst:531 +#: ../../library/time.rst:544 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 "" "Analisa a string representando um tempo de acordo com um formato. O valor " -"retornado é um :class:`struct_time` como retornado por :func:`gmtime` ou :" -"func:`localtime`." - -#: ../../library/time.rst:535 -msgid "" -"The *format* parameter uses the same directives as those used by :func:" -"`strftime`; it defaults to ``\"%a %b %d %H:%M:%S %Y\"`` which matches the " -"formatting returned by :func:`ctime`. If *string* cannot be parsed according " -"to *format*, or if it has excess data after parsing, :exc:`ValueError` is " -"raised. The default values used to fill in any missing data when more " -"accurate values cannot be inferred are ``(1900, 1, 1, 0, 0, 0, 0, 1, -1)``. " -"Both *string* and *format* must be strings." -msgstr "" -"O parâmetro *format* utiliza as mesmas diretivas das utilizadas por :func:" -"`strftime`; é definido por padrão para ``\"%a %b %d %H:%M:%S %Y\"`` que " -"corresponde com a formatação retornada por :func:`ctime`. Se *string* não " -"puder ser analisada de acordo com *format*, ou se possui excesso de dados " -"após analisar, :exc:`ValueError` é levantado. Os valores padrão utilizados " -"para preencher quaisquer dados faltantes quando valores mais precisos não " -"puderem ser inferidos são ``(1900, 1, 1, 0, 0, 0, 0, 1, -1)``. Ambos " -"*string* e *format* devem ser strings." - -#: ../../library/time.rst:543 +"retornado é um :class:`struct_time` como retornado por :func:`gmtime` " +"ou :func:`localtime`." + +#: ../../library/time.rst:548 +msgid "" +"The *format* parameter uses the same directives as those used " +"by :func:`strftime`; it defaults to ``\"%a %b %d %H:%M:%S %Y\"`` which " +"matches the formatting returned by :func:`ctime`. If *string* cannot be " +"parsed according to *format*, or if it has excess data after " +"parsing, :exc:`ValueError` is raised. The default values used to fill in any " +"missing data when more accurate values cannot be inferred are ``(1900, 1, 1, " +"0, 0, 0, 0, 1, -1)``. Both *string* and *format* must be strings." +msgstr "" +"O parâmetro *format* utiliza as mesmas diretivas das utilizadas " +"por :func:`strftime`; é definido por padrão para ``\"%a %b %d %H:%M:%S " +"%Y\"`` que corresponde com a formatação retornada por :func:`ctime`. Se " +"*string* não puder ser analisada de acordo com *format*, ou se possui " +"excesso de dados após analisar, :exc:`ValueError` é levantado. Os valores " +"padrão utilizados para preencher quaisquer dados faltantes quando valores " +"mais precisos não puderem ser inferidos são ``(1900, 1, 1, 0, 0, 0, 0, 1, " +"-1)``. Ambos *string* e *format* devem ser strings." + +#: ../../library/time.rst:556 msgid "For example:" msgstr "Por exemplo:" -#: ../../library/time.rst:550 +#: ../../library/time.rst:563 msgid "" "Support for the ``%Z`` directive is based on the values contained in " "``tzname`` and whether ``daylight`` is true. Because of this, it is " @@ -1025,7 +1074,7 @@ msgstr "" "exceto por reconhecer UTC e GMT, que são sempre conhecidos (e considerados " "fuso horários sem horários de verão)." -#: ../../library/time.rst:555 +#: ../../library/time.rst:568 msgid "" "Only the directives specified in the documentation are supported. Because " "``strftime()`` is implemented per platform it can sometimes offer more " @@ -1039,159 +1088,116 @@ msgstr "" "independente de quaisquer plataformas e portanto não necessariamente suporta " "todas as diretivas disponíveis que não estão documentadas como suportadas." -#: ../../library/time.rst:564 +#: ../../library/time.rst:577 msgid "" -"The type of the time value sequence returned by :func:`gmtime`, :func:" -"`localtime`, and :func:`strptime`. It is an object with a :term:`named " -"tuple` interface: values can be accessed by index and by attribute name. " -"The following values are present:" +"The type of the time value sequence returned " +"by :func:`gmtime`, :func:`localtime`, and :func:`strptime`. It is an object " +"with a :term:`named tuple` interface: values can be accessed by index and by " +"attribute name. The following values are present:" msgstr "" -"O tipo da sequência de valor de tempo retornado por :func:`gmtime`, :func:" -"`localtime`, e :func:`strptime`. É um objeto com uma interface :term:`named " -"tuple`: os valores podem ser acessados por um índice e por um nome de " -"atributo. Os seguintes valores estão presentes:" +"O tipo da sequência de valor de tempo retornado " +"por :func:`gmtime`, :func:`localtime`, e :func:`strptime`. É um objeto com " +"uma interface :term:`named tuple`: os valores podem ser acessados por um " +"índice e por um nome de atributo. Os seguintes valores estão presentes:" -#: ../../library/time.rst:570 +#: ../../library/time.rst:584 msgid "Index" msgstr "Índice" -#: ../../library/time.rst:570 +#: ../../library/time.rst:585 msgid "Attribute" msgstr "Atributo" -#: ../../library/time.rst:570 +#: ../../library/time.rst:586 msgid "Values" msgstr "Valores" -#: ../../library/time.rst:572 +#: ../../library/time.rst:588 msgid "0" msgstr "0" -#: ../../library/time.rst:572 -msgid ":attr:`tm_year`" -msgstr ":attr:`tm_year`" - -#: ../../library/time.rst:572 +#: ../../library/time.rst:590 msgid "(for example, 1993)" msgstr "(por exemplo, 1993)" -#: ../../library/time.rst:574 +#: ../../library/time.rst:592 msgid "1" msgstr "1" -#: ../../library/time.rst:574 -msgid ":attr:`tm_mon`" -msgstr ":attr:`tm_mon`" - -#: ../../library/time.rst:574 +#: ../../library/time.rst:594 msgid "range [1, 12]" msgstr "intervalo [1,12]" -#: ../../library/time.rst:576 +#: ../../library/time.rst:596 msgid "2" msgstr "2" -#: ../../library/time.rst:576 -msgid ":attr:`tm_mday`" -msgstr ":attr:`tm_mday`" - -#: ../../library/time.rst:576 +#: ../../library/time.rst:598 msgid "range [1, 31]" msgstr "intervalo [1,31]" -#: ../../library/time.rst:578 +#: ../../library/time.rst:600 msgid "3" msgstr "3" -#: ../../library/time.rst:578 -msgid ":attr:`tm_hour`" -msgstr ":attr:`tm_hour`" - -#: ../../library/time.rst:578 +#: ../../library/time.rst:602 msgid "range [0, 23]" msgstr "intervalo [0,23]" -#: ../../library/time.rst:580 +#: ../../library/time.rst:604 msgid "4" msgstr "4" -#: ../../library/time.rst:580 -msgid ":attr:`tm_min`" -msgstr ":attr:`tm_min`" - -#: ../../library/time.rst:580 +#: ../../library/time.rst:606 msgid "range [0, 59]" msgstr "intervalo [0,59]" -#: ../../library/time.rst:582 +#: ../../library/time.rst:608 msgid "5" msgstr "5" -#: ../../library/time.rst:582 -msgid ":attr:`tm_sec`" -msgstr ":attr:`tm_sec`" - -#: ../../library/time.rst:582 -msgid "range [0, 61]; see **(2)** in :func:`strftime` description" -msgstr "intervalo [0,61]; veja **(2)** na descrição de :func:`strftime`" +#: ../../library/time.rst:610 +msgid "range [0, 61]; see :ref:`Note (2) ` in :func:`strftime`" +msgstr "" +"intervalo [0, 61]; veja :ref:`Nota (2) ` em :func:`strftime`" -#: ../../library/time.rst:585 +#: ../../library/time.rst:612 msgid "6" msgstr "6" -#: ../../library/time.rst:585 -msgid ":attr:`tm_wday`" -msgstr ":attr:`tm_wday`" - -#: ../../library/time.rst:585 -msgid "range [0, 6], Monday is 0" -msgstr "intervalo [0,6], segunda-feira é 0" +#: ../../library/time.rst:614 +msgid "range [0, 6]; Monday is 0" +msgstr "intervalo [0, 6]; segunda-feira é 0" -#: ../../library/time.rst:587 +#: ../../library/time.rst:616 msgid "7" msgstr "7" -#: ../../library/time.rst:587 -msgid ":attr:`tm_yday`" -msgstr ":attr:`tm_yday`" - -#: ../../library/time.rst:587 +#: ../../library/time.rst:618 msgid "range [1, 366]" msgstr "intervalo [1, 366]" -#: ../../library/time.rst:589 +#: ../../library/time.rst:620 msgid "8" msgstr "8" -#: ../../library/time.rst:589 -msgid ":attr:`tm_isdst`" -msgstr ":attr:`tm_isdst`" - -#: ../../library/time.rst:589 +#: ../../library/time.rst:622 msgid "0, 1 or -1; see below" msgstr "0, 1 ou -1; veja abaixo" -#: ../../library/time.rst:591 ../../library/time.rst:593 +#: ../../library/time.rst:624 ../../library/time.rst:628 msgid "N/A" msgstr "N/D" -#: ../../library/time.rst:591 -msgid ":attr:`tm_zone`" -msgstr ":attr:`tm_zone`" - -#: ../../library/time.rst:591 +#: ../../library/time.rst:626 msgid "abbreviation of timezone name" msgstr "abreviação do nome do fuso horário" -#: ../../library/time.rst:593 -msgid ":attr:`tm_gmtoff`" -msgstr ":attr:`tm_gmtoff`" - -#: ../../library/time.rst:593 +#: ../../library/time.rst:630 msgid "offset east of UTC in seconds" msgstr "deslocamento a leste de UTC em segundos" -#: ../../library/time.rst:596 +#: ../../library/time.rst:632 msgid "" "Note that unlike the C structure, the month value is a range of [1, 12], not " "[0, 11]." @@ -1199,7 +1205,7 @@ msgstr "" "Note que diferentemente da estrutura C, o valor do mês é um intervalo [1,12] " "e não [0,11]." -#: ../../library/time.rst:599 +#: ../../library/time.rst:635 msgid "" "In calls to :func:`mktime`, :attr:`tm_isdst` may be set to 1 when daylight " "savings time is in effect, and 0 when it is not. A value of -1 indicates " @@ -1211,26 +1217,26 @@ msgstr "" "indica que esta informação não é conhecida, e geralmente resultará no " "preenchimento do estado correto." -#: ../../library/time.rst:603 +#: ../../library/time.rst:639 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." +"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 "" "Quando uma tupla com comprimento incorreto é passada para uma função que " "espera por um :class:`struct_time`, ou por possuir elementos do tipo errado, " "um :exc:`TypeError` é levantado." -#: ../../library/time.rst:609 +#: ../../library/time.rst:645 msgid "" "Return the time in seconds since the epoch_ as a floating point number. The " "handling of `leap seconds`_ is platform dependent. On Windows and most Unix " "systems, the leap seconds are not counted towards the time in seconds since " -"the epoch_. This is commonly referred to as `Unix time `_." +"the epoch_. This is commonly referred to as `Unix time `_." msgstr "" -#: ../../library/time.rst:615 +#: ../../library/time.rst:651 msgid "" "Note that even though the time is always returned as a floating point " "number, not all systems provide time with a better precision than 1 second. " @@ -1244,39 +1250,39 @@ msgstr "" "pode retornar valores menores do que os de uma chamada anterior se o relógio " "do sistema foi redefinido entre duas chamadas." -#: ../../library/time.rst:621 +#: ../../library/time.rst:657 msgid "" "The number returned by :func:`.time` may be converted into a more common " -"time format (i.e. year, month, day, hour, etc...) in UTC by passing it to :" -"func:`gmtime` function or in local time by passing it to the :func:" -"`localtime` function. In both cases a :class:`struct_time` object is " -"returned, from which the components of the calendar date may be accessed as " -"attributes." +"time format (i.e. year, month, day, hour, etc...) in UTC by passing it " +"to :func:`gmtime` function or in local time by passing it to " +"the :func:`localtime` function. In both cases a :class:`struct_time` object " +"is returned, from which the components of the calendar date may be accessed " +"as attributes." msgstr "" "O número retornado por :func:`.time` pode ser convertido a um formato de " "tempo mais comum (i.e. ano, mês, dia, hora etc...) em UTC por passá-lo para " -"a função :func:`gmtime` ou em tempo local por passar para a função :func:" -"`localtime`. Em ambos os casos, o objeto :class:`struct_time` é retornado, " -"por onde os componentes de data do calendário podem ser acessados ou " -"atribuídos." +"a função :func:`gmtime` ou em tempo local por passar para a " +"função :func:`localtime`. Em ambos os casos, o objeto :class:`struct_time` é " +"retornado, por onde os componentes de data do calendário podem ser acessados " +"ou atribuídos." -#: ../../library/time.rst:628 +#: ../../library/time.rst:664 msgid "" "Use :func:`time_ns` to avoid the precision loss caused by the :class:`float` " "type." msgstr "" -"Use :func:`time_ns` para evitar perda de precisão causada pelo tipo :class:" -"`float`." +"Use :func:`time_ns` para evitar perda de precisão causada pelo " +"tipo :class:`float`." -#: ../../library/time.rst:634 +#: ../../library/time.rst:670 msgid "" "Similar to :func:`~time.time` but returns time as an integer number of " "nanoseconds since the epoch_." msgstr "" "Semelhante à :func:`~time.time`, mas retorna o tempo como um número inteiro " -"de nanossegundos desde a era_." +"de nanossegundos desde o epoch_." -#: ../../library/time.rst:647 +#: ../../library/time.rst:683 msgid "" "Return the value (in fractional seconds) of the sum of the system and user " "CPU time of the current thread. It does not include time elapsed during " @@ -1285,33 +1291,33 @@ msgid "" "of two calls in the same thread is valid." msgstr "" "Retorna o valor (em fração de segundos) da soma dos tempos de sistema e CPU " -"de usuário para a thread atual. Não inclui o tempo decorrido durante sono. É " -"específico a thread por definição. O ponto de referência do valor retornado " -"é indefinido, então apenas a diferença dos resultados de duas chamadas é " -"válida." +"de usuário para a thread atual. Não inclui o tempo decorrido durante a " +"pausa. É específico a thread por definição. O ponto de referência do valor " +"retornado é indefinido, então apenas a diferença dos resultados de duas " +"chamadas é válida." -#: ../../library/time.rst:653 +#: ../../library/time.rst:689 msgid "" -"Use :func:`thread_time_ns` to avoid the precision loss caused by the :class:" -"`float` type." +"Use :func:`thread_time_ns` to avoid the precision loss caused by " +"the :class:`float` type." msgstr "" -"Use :func:`thread_time_ns` para evitar perda de precisão causada pelo tipo :" -"class:`float`." +"Use :func:`thread_time_ns` para evitar perda de precisão causada pelo " +"tipo :class:`float`." -#: ../../library/time.rst:656 +#: ../../library/time.rst:692 msgid ":ref:`Availability `: Linux, Unix, Windows." msgstr ":ref:`Disponibilidade `: Linux, Unix, Windows." -#: ../../library/time.rst:658 +#: ../../library/time.rst:694 msgid "Unix systems supporting ``CLOCK_THREAD_CPUTIME_ID``." -msgstr "" +msgstr "Sistemas Unix possuem suporte para ``CLOCK_THREAD_CPUTIME_ID``." -#: ../../library/time.rst:665 +#: ../../library/time.rst:701 msgid "Similar to :func:`thread_time` but return time as nanoseconds." msgstr "" "Semelhante à :func:`thread_time`, mas retorna o tempo em nanossegundos." -#: ../../library/time.rst:672 +#: ../../library/time.rst:708 msgid "" "Reset the time conversion rules used by the library routines. The " "environment variable :envvar:`TZ` specifies how this is done. It will also " @@ -1330,21 +1336,21 @@ msgstr "" "de zero se há um tempo, no presente, passado ou futuro quando o horário de " "verão se aplica)." -#: ../../library/time.rst:684 +#: ../../library/time.rst:720 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." +"affect the output of functions like :func:`localtime` without " +"calling :func:`tzset`, this behavior should not be relied on." msgstr "" "Embora em vários casos, alterar a variável de sistema :envvar:`TZ` pode " "afetar a saída de funções como :func:`localtime` sem chamar :func:`tzset`, " "este comportamento não deve ser confiado." -#: ../../library/time.rst:688 +#: ../../library/time.rst:724 msgid "The :envvar:`TZ` environment variable should contain no whitespace." msgstr "A variável de sistema :envvar:`TZ` não deve conter espaços em branco." -#: ../../library/time.rst:690 +#: ../../library/time.rst:726 msgid "" "The standard format of the :envvar:`TZ` environment variable is (whitespace " "added for clarity)::" @@ -1352,15 +1358,15 @@ msgstr "" "O formato padrão da variável de sistema :envvar:`TZ` é (espaços foram " "adicionados por motivos de clareza):" -#: ../../library/time.rst:695 +#: ../../library/time.rst:731 msgid "Where the components are:" msgstr "Onde os componentes são:" -#: ../../library/time.rst:699 +#: ../../library/time.rst:735 msgid "``std`` and ``dst``" msgstr "``std`` e ``dst``" -#: ../../library/time.rst:698 +#: ../../library/time.rst:734 msgid "" "Three or more alphanumerics giving the timezone abbreviations. These will be " "propagated into time.tzname" @@ -1368,11 +1374,11 @@ msgstr "" "Três ou mais alfanuméricos fornecendo a abreviação do fuso horário. Estes " "serão propagados para time.tzname" -#: ../../library/time.rst:705 +#: ../../library/time.rst:741 msgid "``offset``" msgstr "``offset``" -#: ../../library/time.rst:702 +#: ../../library/time.rst:738 msgid "" "The offset has the form: ``± hh[:mm[:ss]]``. This indicates the value added " "the local time to arrive at UTC. If preceded by a '-', the timezone is east " @@ -1383,13 +1389,13 @@ msgstr "" "adicionado adicionou o horário local para chegar a UTC. Se precedido por um " "'-', o fuso horário está a leste do Meridiano Primário; do contrário, está a " "oeste. Se nenhum deslocamento segue o horário de verão, o tempo no verão é " -"assumido como estando uma hora a frente do horário padrão." +"presumido como estando uma hora a frente do horário padrão." -#: ../../library/time.rst:727 +#: ../../library/time.rst:763 msgid "``start[/time], end[/time]``" msgstr "``start[/time], end[/time]``" -#: ../../library/time.rst:708 +#: ../../library/time.rst:744 msgid "" "Indicates when to change to and back from DST. The format of the start and " "end dates are one of the following:" @@ -1397,11 +1403,11 @@ msgstr "" "Indica quando mudar e voltar do Horário de Verão. O formato das datas de " "início e fim é um dos seguintes:" -#: ../../library/time.rst:713 +#: ../../library/time.rst:749 msgid ":samp:`J{n}`" msgstr ":samp:`J{n}`" -#: ../../library/time.rst:712 +#: ../../library/time.rst:748 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." @@ -1409,11 +1415,11 @@ msgstr "" "I dia juliano *n* (1 <= *n* <= 365). Os dias bissextos não são contados, " "então, em todos os anos, 28 de fevereiro é o dia 59 e 1 de março é o dia 60." -#: ../../library/time.rst:717 +#: ../../library/time.rst:753 msgid ":samp:`{n}`" msgstr ":samp:`{n}`" -#: ../../library/time.rst:716 +#: ../../library/time.rst:752 msgid "" "The zero-based Julian day (0 <= *n* <= 365). Leap days are counted, and it " "is possible to refer to February 29." @@ -1421,11 +1427,11 @@ msgstr "" "O dia juliano baseado em zero (0 <= *n* <= 365). Dias bissextos são " "contados, e é possível fazer referência a 29 de fevereiro." -#: ../../library/time.rst:724 +#: ../../library/time.rst:760 msgid ":samp:`M{m}.{n}.{d}`" msgstr ":samp:`M{m}.{n}.{d}`" -#: ../../library/time.rst:720 +#: ../../library/time.rst:756 msgid "" "The *d*'th day (0 <= *d* <= 6) of week *n* of month *m* of the year (1 <= " "*n* <= 5, 1 <= *m* <= 12, where week 5 means \"the last *d* day in month " @@ -1437,7 +1443,7 @@ msgstr "" "que pode ocorrer tanto na quarta como quinta semana). Semana 1 é a primeira " "semana na qual o *d*-ésimo dia ocorre. Dia zero é o domingo." -#: ../../library/time.rst:726 +#: ../../library/time.rst:762 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." @@ -1445,7 +1451,7 @@ msgstr "" "``time`` tem o mesmo formato que ``offset``, exceto que nenhum sinal no " "início é permitido ('-' ou '+'). O padrão, se o tempo não é dado, é 02:00:00." -#: ../../library/time.rst:740 +#: ../../library/time.rst:776 msgid "" "On many Unix systems (including \\*BSD, Linux, Solaris, and Darwin), it is " "more convenient to use the system's zoneinfo (:manpage:`tzfile(5)`) " @@ -1456,27 +1462,27 @@ msgid "" "``'Australia/Melbourne'``, ``'Egypt'`` or ``'Europe/Amsterdam'``. ::" msgstr "" "Em muitos sistemas Unix (incluindo \\*BSD, Linux, Solaris, e Darwin), é mais " -"conveniente utilizar o banco de dados de informação de fuso do sistema (:" -"manpage:`tzfile(5)`) para especificar as regras de fuso horário. Para fazer " -"isso, defina a variável de sistema :envvar:`TZ` ao path do arquivo de dados " -"requerido de fuso horários, relativo à raiz do banco de dados de fuso " +"conveniente utilizar o banco de dados de informação de fuso do sistema " +"(:manpage:`tzfile(5)`) para especificar as regras de fuso horário. Para " +"fazer isso, defina a variável de sistema :envvar:`TZ` ao path do arquivo de " +"dados requerido de fuso horários, relativo à raiz do banco de dados de fuso " "horário 'zoneinfo' do sistema, geralmente encontrado em :file:`/usr/share/" "zoneinfo`. Por exemplo, ``'US/Eastern'``, ``'Australia/Melbourne'``, " "``'Egypt'`` ou ``'Europe/Amsterdam'``. ::" -#: ../../library/time.rst:761 +#: ../../library/time.rst:797 msgid "Clock ID Constants" msgstr "Constantes de ID de Relógio" -#: ../../library/time.rst:763 +#: ../../library/time.rst:799 msgid "" -"These constants are used as parameters for :func:`clock_getres` and :func:" -"`clock_gettime`." +"These constants are used as parameters for :func:`clock_getres` " +"and :func:`clock_gettime`." msgstr "" -"Essas constantes são utilizadas como parâmetros para :func:`clock_getres` e :" -"func:`clock_gettime`." +"Essas constantes são utilizadas como parâmetros para :func:`clock_getres` " +"e :func:`clock_gettime`." -#: ../../library/time.rst:768 +#: ../../library/time.rst:804 msgid "" "Identical to :data:`CLOCK_MONOTONIC`, except it also includes any time that " "the system is suspended." @@ -1484,7 +1490,7 @@ msgstr "" "Idêntica a :data:`CLOCK_MONOTONIC`, exceto por também incluir qualquer tempo " "que o sistema está suspenso." -#: ../../library/time.rst:771 +#: ../../library/time.rst:807 msgid "" "This allows applications to get a suspend-aware monotonic clock without " "having to deal with the complications of :data:`CLOCK_REALTIME`, which may " @@ -1496,11 +1502,11 @@ msgstr "" "que pode conter descontinuidades se o tempo é alterado utilizando " "``settimeofday()`` ou algo semelhante." -#: ../../library/time.rst:776 +#: ../../library/time.rst:812 msgid ":ref:`Availability `: Linux >= 2.6.39." msgstr ":ref:`Disponibilidade `: Linux >= 2.6.39." -#: ../../library/time.rst:783 +#: ../../library/time.rst:819 msgid "" "The Solaris OS has a ``CLOCK_HIGHRES`` timer that attempts to use an optimal " "hardware source, and may give close to nanosecond resolution. " @@ -1510,11 +1516,11 @@ msgstr "" "otimizados do hardware, e pode fornecer resolução perto de nanossegundos. " "``CLOCK_HIGHRES`` é o relógio nanoajustável de alta resolução." -#: ../../library/time.rst:787 +#: ../../library/time.rst:823 msgid ":ref:`Availability `: Solaris." msgstr ":ref:`Disponibilidade `: Solaris." -#: ../../library/time.rst:794 +#: ../../library/time.rst:830 msgid "" "Clock that cannot be set and represents monotonic time since some " "unspecified starting point." @@ -1522,7 +1528,7 @@ msgstr "" "Relógio que não pode ser definido e representa um tempo monotônico desde um " "ponto de início não especificado." -#: ../../library/time.rst:804 +#: ../../library/time.rst:840 msgid "" "Similar to :data:`CLOCK_MONOTONIC`, but provides access to a raw hardware-" "based time that is not subject to NTP adjustments." @@ -1530,20 +1536,20 @@ msgstr "" "Semelhante à :data:`CLOCK_MONOTONIC`, mas fornece acesso a um tempo bruto " "baseado em hardware que não está sujeito a ajustes NTP." -#: ../../library/time.rst:807 +#: ../../library/time.rst:843 msgid ":ref:`Availability `: Linux >= 2.6.28, macOS >= 10.12." msgstr "" ":ref:`Disponibilidade `: Linux >= 2.6.28, macOS >= 10.12." -#: ../../library/time.rst:814 ../../library/time.rst:823 +#: ../../library/time.rst:850 ../../library/time.rst:859 msgid "High-resolution per-process timer from the CPU." msgstr "Timer de alta resolução por processo no CPU." -#: ../../library/time.rst:825 +#: ../../library/time.rst:861 msgid ":ref:`Availability `: FreeBSD, NetBSD >= 7, OpenBSD." msgstr ":ref:`Disponibilidade `: FreeBSD, NetBSD >= 7, OpenBSD." -#: ../../library/time.rst:831 +#: ../../library/time.rst:867 msgid "" "`International Atomic Time `_" @@ -1551,7 +1557,7 @@ msgstr "" "`Tempo Atômico Internacional `_" -#: ../../library/time.rst:833 +#: ../../library/time.rst:869 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." @@ -1560,15 +1566,15 @@ msgstr "" "a resposta correta. Softwares PTP ou NTP podem manter uma tabela de segundos " "bissextos." -#: ../../library/time.rst:836 +#: ../../library/time.rst:872 msgid ":ref:`Availability `: Linux." msgstr ":ref:`Disponibilidade `: Linux." -#: ../../library/time.rst:842 +#: ../../library/time.rst:878 msgid "Thread-specific CPU-time clock." msgstr "Relógio de tempo de CPU específico a thread." -#: ../../library/time.rst:851 +#: ../../library/time.rst:887 msgid "" "Time whose absolute value is the time the system has been running and not " "suspended, providing accurate uptime measurement, both absolute and interval." @@ -1577,11 +1583,11 @@ msgstr "" "suspenso, fornecendo medidas de tempo de atividade precisas, tanto em valor " "absoluto quanto intervalo." -#: ../../library/time.rst:855 +#: ../../library/time.rst:891 msgid ":ref:`Availability `: FreeBSD, OpenBSD >= 5.5." msgstr ":ref:`Disponibilidade `: FreeBSD, OpenBSD >= 5.5." -#: ../../library/time.rst:862 +#: ../../library/time.rst:898 msgid "" "Clock that increments monotonically, tracking the time since an arbitrary " "point, unaffected by frequency or time adjustments and not incremented while " @@ -1591,19 +1597,19 @@ msgstr "" "arbitrário, não afetado pela frequência ou ajustes de tempo e não " "incrementado enquanto o sistema está dormindo." -#: ../../library/time.rst:866 +#: ../../library/time.rst:902 msgid ":ref:`Availability `: macOS >= 10.12." msgstr ":ref:`Disponibilidade `: macOS >= 10.12." -#: ../../library/time.rst:870 +#: ../../library/time.rst:906 msgid "" -"The following constant is the only parameter that can be sent to :func:" -"`clock_settime`." +"The following constant is the only parameter that can be sent " +"to :func:`clock_settime`." msgstr "" -"A constante a seguir é o único parâmetro que pode ser enviado para :func:" -"`clock_settime`." +"A constante a seguir é o único parâmetro que pode ser enviado " +"para :func:`clock_settime`." -#: ../../library/time.rst:876 +#: ../../library/time.rst:912 msgid "" "System-wide real-time clock. Setting this clock requires appropriate " "privileges." @@ -1611,11 +1617,11 @@ msgstr "" "Relógio em tempo real de todo o sistema. Definições deste relógio requerem " "privilégios apropriados." -#: ../../library/time.rst:887 +#: ../../library/time.rst:923 msgid "Timezone Constants" msgstr "Constantes de Fuso Horário" -#: ../../library/time.rst:891 +#: ../../library/time.rst:927 msgid "" "The offset of the local DST timezone, in seconds west of UTC, if one is " "defined. This is negative if the local DST timezone is east of UTC (as in " @@ -1627,11 +1633,11 @@ msgstr "" "UTC (como na Europa Ocidental, incluindo o Reino Unido). Somente utilize se " "``daylight`` for diferente de zero. Veja a nota abaixo." -#: ../../library/time.rst:897 +#: ../../library/time.rst:933 msgid "Nonzero if a DST timezone is defined. See note below." msgstr "Diferente de zero se um fuso horário DST é definido. Veja nota abaixo." -#: ../../library/time.rst:901 +#: ../../library/time.rst:937 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 " @@ -1641,7 +1647,7 @@ msgstr "" "UTC (negativo na maior parte da Europa Ocidental, positivo nos Estados " "Unidos e Brasil, zero no Reino Unido). Ver nota abaixo." -#: ../../library/time.rst:906 +#: ../../library/time.rst:942 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 " @@ -1651,49 +1657,51 @@ msgstr "" "a segunda é o nome do fuso horário local DST. Se nenhum fuso horário DST for " "definido, a segunda string é usada. Veja nota abaixo." -#: ../../library/time.rst:912 -msgid "" -"For the above Timezone constants (:data:`altzone`, :data:`daylight`, :data:" -"`timezone`, and :data:`tzname`), the value is determined by the timezone " -"rules in effect at module load time or the last time :func:`tzset` is called " -"and may be incorrect for times in the past. It is recommended to use the :" -"attr:`tm_gmtoff` and :attr:`tm_zone` results from :func:`localtime` to " -"obtain timezone information." -msgstr "" -"Para as constantes de Fuso Horário acima (:data:`altzone`, :data:" -"`daylight`, :data:`timezone`, e :data:`tzname`), o valor é determinado pelas " -"regras de fuso horário em efeito no módulo de carregamento de tempo ou a " -"última vez que :func:`tzset` é chamada e pode estar incorreto para tempos no " -"passado. É recomendado utilizar os resultados :attr:`tm_gmtoff` e :attr:" -"`tm_zone` da :func:`localtime` para obter informação de fuso horário." - -#: ../../library/time.rst:922 +#: ../../library/time.rst:948 +msgid "" +"For the above Timezone constants " +"(:data:`altzone`, :data:`daylight`, :data:`timezone`, and :data:`tzname`), " +"the value is determined by the timezone rules in effect at module load time " +"or the last time :func:`tzset` is called and may be incorrect for times in " +"the past. It is recommended to use the :attr:`~struct_time.tm_gmtoff` " +"and :attr:`~struct_time.tm_zone` results from :func:`localtime` to obtain " +"timezone information." +msgstr "" +"Para as constantes de Fuso Horário acima " +"(:data:`altzone`, :data:`daylight`, :data:`timezone`, e :data:`tzname`), o " +"valor é determinado pelas regras de fuso horário em efeito no módulo de " +"carregamento de tempo ou a última vez que :func:`tzset` é chamada e pode " +"estar incorreto para tempos no passado. É recomendado utilizar os " +"resultados :attr:`~struct_time.tm_gmtoff` e :attr:`~struct_time.tm_zone` " +"da :func:`localtime` para obter informação de fuso horário." + +#: ../../library/time.rst:958 msgid "Module :mod:`datetime`" msgstr "Módulo :mod:`datetime`" -#: ../../library/time.rst:922 +#: ../../library/time.rst:958 msgid "More object-oriented interface to dates and times." msgstr "Mais interfaces orientada a objetos para datas e tempos." -#: ../../library/time.rst:926 +#: ../../library/time.rst:962 msgid "Module :mod:`locale`" msgstr "Módulo :mod:`locale`" -#: ../../library/time.rst:925 +#: ../../library/time.rst:961 msgid "" "Internationalization services. The locale setting affects the " -"interpretation of many format specifiers in :func:`strftime` and :func:" -"`strptime`." +"interpretation of many format specifiers in :func:`strftime` " +"and :func:`strptime`." msgstr "" "Serviços de internacionalização. A configuração de localidade afeta a " -"interpretação de muitos especificadores de formato em :func:`strftime` e :" -"func:`strptime`." +"interpretação de muitos especificadores de formato em :func:`strftime` " +"e :func:`strptime`." -#: ../../library/time.rst:929 +#: ../../library/time.rst:965 msgid "Module :mod:`calendar`" msgstr "Módulo :mod:`calendar`" -#: ../../library/time.rst:929 +#: ../../library/time.rst:965 msgid "" "General calendar-related functions. :func:`~calendar.timegm` is the " "inverse of :func:`gmtime` from this module." @@ -1701,11 +1709,11 @@ msgstr "" "Funções gerais relacionadas a calendários. :func:`~calendar.timegm` é a " "função inversa de :func:`gmtime` deste módulo." -#: ../../library/time.rst:933 +#: ../../library/time.rst:969 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/time.rst:934 +#: ../../library/time.rst:970 msgid "" "The use of ``%Z`` is now deprecated, but the ``%z`` escape that expands to " "the preferred hour/minute offset is not supported by all ANSI C libraries. " @@ -1721,54 +1729,54 @@ msgstr "" "1982 mostra que este pede um ano com dois dígitos (``%y`` em vez de ``%Y``), " "mas a prática consolidou a utilização de anos com 4 dígitos mesmo antes dos " "anos 2000. Após isso, o :rfc:`822` tornou-se obsoleto e o ano de 4 dígitos " -"foi primeiro recomendado por :rfc:`1123` e depois obrigatório por :rfc:" -"`2822`." +"foi primeiro recomendado por :rfc:`1123` e depois obrigatório " +"por :rfc:`2822`." #: ../../library/time.rst:22 msgid "epoch" -msgstr "" +msgstr "era" #: ../../library/time.rst:36 msgid "Year 2038" -msgstr "" +msgstr "Ano 2038" #: ../../library/time.rst:42 msgid "2-digit years" -msgstr "" +msgstr "Anos de 2 dígitos" #: ../../library/time.rst:50 msgid "UTC" -msgstr "" +msgstr "UTC" #: ../../library/time.rst:50 msgid "Coordinated Universal Time" -msgstr "" +msgstr "Tempo Universal Coordenado" #: ../../library/time.rst:50 msgid "Greenwich Mean Time" -msgstr "" +msgstr "Tempo Médio de Greenwich" #: ../../library/time.rst:59 msgid "Daylight Saving Time" -msgstr "" +msgstr "Horário de verão" -#: ../../library/time.rst:308 ../../library/time.rst:334 -#: ../../library/time.rst:642 +#: ../../library/time.rst:310 ../../library/time.rst:336 +#: ../../library/time.rst:678 msgid "benchmarking" -msgstr "" +msgstr "benchmarking" -#: ../../library/time.rst:334 ../../library/time.rst:642 +#: ../../library/time.rst:336 ../../library/time.rst:678 msgid "CPU time" -msgstr "" +msgstr "tempo da CPU" -#: ../../library/time.rst:334 ../../library/time.rst:642 +#: ../../library/time.rst:336 ../../library/time.rst:678 msgid "processor time" -msgstr "" +msgstr "tempo do processador" -#: ../../library/time.rst:392 ../../library/time.rst:526 +#: ../../library/time.rst:393 ../../library/time.rst:539 msgid "% (percent)" -msgstr "" +msgstr "% (porcentagem)" -#: ../../library/time.rst:392 ../../library/time.rst:526 +#: ../../library/time.rst:393 ../../library/time.rst:539 msgid "datetime format" -msgstr "" +msgstr "datetime, formato" diff --git a/library/timeit.po b/library/timeit.po index c5203d2fc..c8588bf74 100644 --- a/library/timeit.po +++ b/library/timeit.po @@ -1,35 +1,32 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 -# Adorilson Bezerra , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Adorilson Bezerra , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/timeit.rst:2 msgid ":mod:`timeit` --- Measure execution time of small code snippets" msgstr "" +":mod:`timeit` --- Mede o tempo de execução de pequenos trechos de código" #: ../../library/timeit.rst:7 msgid "**Source code:** :source:`Lib/timeit.py`" @@ -43,6 +40,12 @@ msgid "" "execution times. See also Tim Peters' introduction to the \"Algorithms\" " "chapter in the second edition of *Python Cookbook*, published by O'Reilly." msgstr "" +"Este módulo fornece uma maneira simples de cronometrar pequenos trechos do " +"código Python. Ele tem uma :ref:`timeit-command-line-interface` e " +"um :ref:`chamável `. Ele evita uma série de armadilhas " +"comuns para medir os tempos de execução de um script. Veja também o capítulo " +"\"Algorithms\" de Tim Peters, na segunda edição do *Python Cookbook*, " +"publicado pela O'Reilly." #: ../../library/timeit.rst:23 msgid "Basic Examples" @@ -53,29 +56,35 @@ msgid "" "The following example shows how the :ref:`timeit-command-line-interface` can " "be used to compare three different expressions:" msgstr "" +"O exemplo a seguir mostra como a :ref:`timeit-command-line-interface` pode " +"ser usado para comparar três expressões diferentes:" #: ../../library/timeit.rst:37 msgid "This can be achieved from the :ref:`python-interface` with::" -msgstr "" +msgstr "Isso pode ser obtido da interface :ref:`python-interface` ::" #: ../../library/timeit.rst:47 msgid "A callable can also be passed from the :ref:`python-interface`::" -msgstr "" +msgstr "Um chamável também pode ser passado para a :ref:`python-interface`::" #: ../../library/timeit.rst:52 msgid "" "Note however that :func:`.timeit` will automatically determine the number of " -"repetitions only when the command-line interface is used. In the :ref:" -"`timeit-examples` section you can find more advanced examples." +"repetitions only when the command-line interface is used. In " +"the :ref:`timeit-examples` section you can find more advanced examples." msgstr "" +"Observe, entretanto, que :func:`.timeit` determinará automaticamente o " +"número de repetições somente quando a interface de linha de comando for " +"usada. Na seção :ref:`timeit-examples` você encontrará exemplos mais " +"avançados." #: ../../library/timeit.rst:60 msgid "Python Interface" -msgstr "" +msgstr "Interface em Python" #: ../../library/timeit.rst:62 msgid "The module defines three convenience functions and a public class:" -msgstr "" +msgstr "Este módulo define três funções e uma classe pública:" #: ../../library/timeit.rst:67 msgid "" @@ -84,11 +93,15 @@ msgid "" "executions. The optional *globals* argument specifies a namespace in which " "to execute the code." msgstr "" +"Cria uma instância de :class:`Timer` com o código de *setup* e a função " +"*timer* função para executar o método :meth:`.timeit` com o total de " +"execuções informado em *number*. O argumento opcional *globals* especifica " +"um espaço de nomes no qual o código será executado." #: ../../library/timeit.rst:72 ../../library/timeit.rst:83 -#: ../../library/timeit.rst:120 +#: ../../library/timeit.rst:122 msgid "The optional *globals* parameter was added." -msgstr "" +msgstr "O parâmetro opcional *globals* foi adicionado." #: ../../library/timeit.rst:78 msgid "" @@ -97,24 +110,36 @@ msgid "" "count and *number* executions. The optional *globals* argument specifies a " "namespace in which to execute the code." msgstr "" +"Cria uma instância :class:`Timer` com a instrução fornecida, o código de " +"*setup* e a função *timer* e para executar o método :meth:`.repeat` com o " +"total de execuções informando em *repeat* e o *número* de execuções " +"fornecidos. O argumento opcional *globals* especifica um espaço de nomes no " +"qual executar o código." -#: ../../library/timeit.rst:86 ../../library/timeit.rst:181 +#: ../../library/timeit.rst:86 ../../library/timeit.rst:183 msgid "Default value of *repeat* changed from 3 to 5." -msgstr "" +msgstr "Valor padrão de *repetição* mudou de 3 para 5." -#: ../../library/timeit.rst:91 -msgid "The default timer, which is always :func:`time.perf_counter`." +#: ../../library/timeit.rst:92 +msgid "" +"The default timer, which is always time.perf_counter(), returns float " +"seconds. An alternative, time.perf_counter_ns, returns integer nanoseconds." msgstr "" +"O cronômetro padrão, que é sempre time.perf_counter(), retorna segundos com " +"ponto flutuante. Uma alternativa, time.perf_counter_ns, retorna um inteiro " +"em nanossegundos." -#: ../../library/timeit.rst:93 +#: ../../library/timeit.rst:95 msgid ":func:`time.perf_counter` is now the default timer." -msgstr "" +msgstr ":func:`time.perf_counter` é o cronômetro padrão agora." -#: ../../library/timeit.rst:99 +#: ../../library/timeit.rst:101 msgid "Class for timing execution speed of small code snippets." msgstr "" +"Classe para cronometrar a velocidade de execução de pequenos trechos de " +"código." -#: ../../library/timeit.rst:101 +#: ../../library/timeit.rst:103 msgid "" "The constructor takes a statement to be timed, an additional statement used " "for setup, and a timer function. Both statements default to ``'pass'``; the " @@ -124,39 +149,63 @@ msgid "" "will by default be executed within timeit's namespace; this behavior can be " "controlled by passing a namespace to *globals*." msgstr "" +"O construtor recebe uma instrução a ser cronometrada, uma instrução " +"adicional usada para configuração e uma função de timer. Ambas as instruções " +"têm como padrão ``'pass'``; a função de timer é dependente da plataforma " +"(veja a string do documento do módulo). *stmt* e *setup* também podem conter " +"múltiplas instruções separadas por ``;`` ou novas linhas, desde que não " +"contenham literais de string multilinhas. A instrução será, por padrão, " +"executada dentro do espaço de nomes do *timeit*; esse comportamento pode ser " +"controlado passando um espaço de nomes para *globals*." -#: ../../library/timeit.rst:109 +#: ../../library/timeit.rst:111 msgid "" -"To measure the execution time of the first statement, use the :meth:`." -"timeit` method. The :meth:`.repeat` and :meth:`.autorange` methods are " -"convenience methods to call :meth:`.timeit` multiple times." +"To measure the execution time of the first statement, use " +"the :meth:`.timeit` method. The :meth:`.repeat` and :meth:`.autorange` " +"methods are convenience methods to call :meth:`.timeit` multiple times." msgstr "" +"Para medir o tempo de execução da primeira instrução use o " +"método :meth:`.timeit`. Os métodos :meth:`.repeat` e :meth:`.autorange` são " +"convenientes para chamar :meth:`.timeit` várias vezes." -#: ../../library/timeit.rst:113 +#: ../../library/timeit.rst:115 msgid "" "The execution time of *setup* is excluded from the overall timed execution " "run." msgstr "" +"O tempo de execução de *setup* é excluído do tempo total de execução " +"cronometrado." -#: ../../library/timeit.rst:115 +#: ../../library/timeit.rst:117 msgid "" "The *stmt* and *setup* parameters can also take objects that are callable " "without arguments. This will embed calls to them in a timer function that " "will then be executed by :meth:`.timeit`. Note that the timing overhead is " "a little larger in this case because of the extra function calls." msgstr "" +"Os parâmetros *stmt* e *setup* também podem receber objetos que podem ser " +"chamados sem argumentos. Isso incorporará chamadas a eles em uma função de " +"timer que será executada por :meth:`.timeit`. Observe que a sobrecarga de " +"temporização é um pouco maior neste caso por causa das chamadas de função " +"extras." -#: ../../library/timeit.rst:125 +#: ../../library/timeit.rst:127 msgid "" "Time *number* executions of the main statement. This executes the setup " "statement once, and then returns the time it takes to execute the main " -"statement a number of times, measured in seconds as a float. The argument is " -"the number of times through the loop, defaulting to one million. The main " -"statement, the setup statement and the timer function to be used are passed " -"to the constructor." -msgstr "" - -#: ../../library/timeit.rst:134 +"statement a number of times. The default timer returns seconds as a float. " +"The argument is the number of times through the loop, defaulting to one " +"million. The main statement, the setup statement and the timer function to " +"be used are passed to the constructor." +msgstr "" +"Mede o tempo para a quantidade *number* de execuções da instrução principal. " +"Isso executa a instrução setup uma vez e, em seguida, retorna o tempo " +"necessário para executar a instrução principal várias vezes. O temporizador " +"padrão retorna segundos como um float. O argumento é o número de vezes que o " +"laço passa, com padrão de um milhão. A instrução principal, a instrução de " +"configuração e a função de timer a ser usada são passadas para o construtor." + +#: ../../library/timeit.rst:136 msgid "" "By default, :meth:`.timeit` temporarily turns off :term:`garbage collection` " "during the timing. The advantage of this approach is that it makes " @@ -165,39 +214,56 @@ msgid "" "so, GC can be re-enabled as the first statement in the *setup* string. For " "example::" msgstr "" +"Por padrão, :meth:`.timeit` desativa temporariamente :term:`coleta de lixo` " +"durante a temporização. A vantagem dessa abordagem é que ela torna " +"temporizações independentes mais comparáveis. A desvantagem é que o GC pode " +"ser um componente importante do desempenho da função que está sendo medida. " +"Se for assim, o GC pode ser reativado como a primeira instrução na string " +"*setup*. Por exemplo::" -#: ../../library/timeit.rst:146 +#: ../../library/timeit.rst:148 msgid "Automatically determine how many times to call :meth:`.timeit`." -msgstr "" +msgstr "Determina automaticamente quantas vezes chamar :meth:`.timeit`." -#: ../../library/timeit.rst:148 +#: ../../library/timeit.rst:150 msgid "" "This is a convenience function that calls :meth:`.timeit` repeatedly so that " "the total time >= 0.2 second, returning the eventual (number of loops, time " "taken for that number of loops). It calls :meth:`.timeit` with increasing " "numbers from the sequence 1, 2, 5, 10, 20, 50, ... until the time taken is " -"at least 0.2 second." +"at least 0.2 seconds." msgstr "" +"Esta é uma função de conveniência que chama :meth:`.timeit` repetidamente " +"para que o tempo total seja >= 0,2 segundos, retornando o eventual (número " +"de voltas, tempo gasto para esse número de voltas). Ela " +"chama :meth:`.timeit` com números crescentes da sequência 1, 2, 5, 10, 20, " +"50, ... até que o tempo gasto seja de pelo menos 0,2 segundos." -#: ../../library/timeit.rst:154 +#: ../../library/timeit.rst:156 msgid "" "If *callback* is given and is not ``None``, it will be called after each " "trial with two arguments: ``callback(number, time_taken)``." msgstr "" +"Se *callback* for fornecido e não for ``None``, ele será chamado após cada " +"tentativa e tem dois argumento: ``callback(number, time_taken)``." -#: ../../library/timeit.rst:162 +#: ../../library/timeit.rst:164 msgid "Call :meth:`.timeit` a few times." -msgstr "" +msgstr "Chama :meth:`.timeit` algumas vezes." -#: ../../library/timeit.rst:164 +#: ../../library/timeit.rst:166 msgid "" "This is a convenience function that calls the :meth:`.timeit` repeatedly, " "returning a list of results. The first argument specifies how many times to " "call :meth:`.timeit`. The second argument specifies the *number* argument " "for :meth:`.timeit`." msgstr "" +"Esse é um função de conveniência que chama o :meth:`.timeit` repetidamente e " +"retorna uma lista de resultados. O primeiro argumento especifica quantas " +"vezes deve chamar o :meth:`.timeit`. O segundo argumento especifica o " +"argumento *number* para :meth:`.timeit`." -#: ../../library/timeit.rst:171 +#: ../../library/timeit.rst:173 msgid "" "It's tempting to calculate mean and standard deviation from the result " "vector and report these. However, this is not very useful. In a typical " @@ -208,105 +274,144 @@ msgid "" "only number you should be interested in. After that, you should look at the " "entire vector and apply common sense rather than statistics." msgstr "" +"É tentador calcular a média e o desvio padrão do vetor de resultados e " +"relatá-los. No entanto, isso não é muito útil. Em um caso típico, o menor " +"valor fornece um limite inferior para a velocidade com que sua máquina pode " +"executar o trecho de código fornecido; valores mais altos no vetor de " +"resultados normalmente não são causados pela variabilidade na velocidade do " +"Python, mas por outros processos que interferem na precisão do seu tempo. " +"Portanto, o :func:`min` do resultado é provavelmente o único número no qual " +"você deve se interessar. Depois disso, você deve analisar o vetor inteiro e " +"aplicar o bom senso em vez de estatística." -#: ../../library/timeit.rst:187 +#: ../../library/timeit.rst:189 msgid "Helper to print a traceback from the timed code." -msgstr "" +msgstr "Função auxiliar para imprimir um traceback do código cronometrado." -#: ../../library/timeit.rst:189 +#: ../../library/timeit.rst:191 msgid "Typical use::" msgstr "Uso típico::" -#: ../../library/timeit.rst:197 +#: ../../library/timeit.rst:199 msgid "" "The advantage over the standard traceback is that source lines in the " "compiled template will be displayed. The optional *file* argument directs " "where the traceback is sent; it defaults to :data:`sys.stderr`." msgstr "" +"A vantagem em relação ao traceback padrão é que as linhas de origem no " +"modelo compilado serão exibidas. O argumento opcional *file* direciona para " +"onde o traceback é enviado; o padrão é :data:`sys.stderr`." -#: ../../library/timeit.rst:205 +#: ../../library/timeit.rst:207 msgid "Command-Line Interface" -msgstr "Interface de Linha de Comando" +msgstr "Interface de linha de comando" -#: ../../library/timeit.rst:207 +#: ../../library/timeit.rst:209 msgid "" "When called as a program from the command line, the following form is used::" msgstr "" +"Quando chamado como um programa a partir da linha de comando, as seguintes " +"opções estão disponíveis::" -#: ../../library/timeit.rst:211 +#: ../../library/timeit.rst:213 msgid "Where the following options are understood:" -msgstr "" +msgstr "As seguintes opções são permitidas" -#: ../../library/timeit.rst:217 +#: ../../library/timeit.rst:219 msgid "how many times to execute 'statement'" -msgstr "" +msgstr "Quantas vezes deve executar 'statement'" -#: ../../library/timeit.rst:221 +#: ../../library/timeit.rst:223 msgid "how many times to repeat the timer (default 5)" -msgstr "" +msgstr "Quantidade de vezes para repetir o cronômetro (o valor padrão é 5)" -#: ../../library/timeit.rst:225 +#: ../../library/timeit.rst:227 msgid "statement to be executed once initially (default ``pass``)" msgstr "" +"instrução a ser executada apenas uma vez e quando iniciada (padrão ``pass`` )" -#: ../../library/timeit.rst:229 +#: ../../library/timeit.rst:231 msgid "" "measure process time, not wallclock time, using :func:`time.process_time` " "instead of :func:`time.perf_counter`, which is the default" msgstr "" +"mede apenas o tempo de processamento, e não o tempo total de execução, " +"usando :func:`time.process_time` em vez de :func:`time.perf_counter`, que é " +"o padrão" -#: ../../library/timeit.rst:236 +#: ../../library/timeit.rst:238 msgid "" "specify a time unit for timer output; can select ``nsec``, ``usec``, " "``msec``, or ``sec``" msgstr "" +"especifique uma unidade de tempo para a saída do cronômetro; pode selecionar " +"``nsec``, ``usec``, ``msec``, ou ``sec``" -#: ../../library/timeit.rst:242 +#: ../../library/timeit.rst:244 msgid "print raw timing results; repeat for more digits precision" msgstr "" +"imprime resultados brutos de tempo; repetir para obter mais precisão de " +"dígitos" -#: ../../library/timeit.rst:246 +#: ../../library/timeit.rst:248 msgid "print a short usage message and exit" -msgstr "" +msgstr "imprime uma mensagem curta de uso e sai" -#: ../../library/timeit.rst:248 +#: ../../library/timeit.rst:250 msgid "" "A multi-line statement may be given by specifying each line as a separate " "statement argument; indented lines are possible by enclosing an argument in " "quotes and using leading spaces. Multiple :option:`-s` options are treated " "similarly." msgstr "" +"Uma instrução multilinha pode ser fornecida especificando cada linha como um " +"argumento de instrução separado; linhas indentadas são possíveis colocando " +"um argumento entre aspas e usando espaços à esquerda. Múltiplas " +"opções :option:`-s` são tratadas de forma semelhante." -#: ../../library/timeit.rst:253 +#: ../../library/timeit.rst:255 msgid "" "If :option:`-n` is not given, a suitable number of loops is calculated by " "trying increasing numbers from the sequence 1, 2, 5, 10, 20, 50, ... until " "the total time is at least 0.2 seconds." msgstr "" +"Se :option:`-n` não for informada, um número adequado de loops será " +"calculado tentando adicionar números numa sequência como 1, 2, 5, 10, 20, " +"50, ... até que o tempo total seja de pelo menos 0,2 segundos." -#: ../../library/timeit.rst:257 +#: ../../library/timeit.rst:259 msgid "" ":func:`default_timer` measurements can be affected by other programs running " "on the same machine, so the best thing to do when accurate timing is " -"necessary is to repeat the timing a few times and use the best time. The :" -"option:`-r` option is good for this; the default of 5 repetitions is " +"necessary is to repeat the timing a few times and use the best time. " +"The :option:`-r` option is good for this; the default of 5 repetitions is " "probably enough in most cases. You can use :func:`time.process_time` to " "measure CPU time." msgstr "" +"As medições de :func:`default_timer` podem ser afetadas por outros programas " +"em execução na mesma máquina, portanto, a melhor coisa a fazer quando uma " +"cronometragem precisa é repeti-la algumas vezes e usar o melhor tempo. A " +"opção :option:`-r` é boa para isso; o padrão de 5 repetições provavelmente é " +"suficiente na maioria dos casos. Você pode usar :func:`time.process_time` " +"para medir o tempo de CPU." -#: ../../library/timeit.rst:265 +#: ../../library/timeit.rst:267 msgid "" "There is a certain baseline overhead associated with executing a pass " "statement. The code here doesn't try to hide it, but you should be aware of " "it. The baseline overhead can be measured by invoking the program without " "arguments, and it might differ between Python versions." msgstr "" +"Há uma certa sobrecarga padrão associada à execução de uma instrução *pass*. " +"O código aqui não tenta ocultá-lo, mas você deve estar ciente disso. A " +"sobrecarga padrão pode ser medida invocando pelo programa sem argumento, e " +"pode ser diferente entre diferentes versões Python." -#: ../../library/timeit.rst:274 +#: ../../library/timeit.rst:276 msgid "Examples" msgstr "Exemplos" -#: ../../library/timeit.rst:276 +#: ../../library/timeit.rst:278 msgid "" "It is possible to provide a setup statement that is executed only once at " "the beginning:" @@ -314,7 +419,7 @@ msgstr "" "É possível fornecer uma instrução de configuração que é executada apenas uma " "vez no início:" -#: ../../library/timeit.rst:285 +#: ../../library/timeit.rst:287 msgid "" "In the output, there are three fields. The loop count, which tells you how " "many times the statement body was run per timing loop repetition. The " @@ -323,34 +428,51 @@ msgid "" "within the best repetition of the timing loop. That is, the time the fastest " "repetition took divided by the loop count." msgstr "" +"Na saída, existem três campos. A contagem de laços, que informa quantas " +"vezes o corpo da instrução foi executado por repetição do laço de " +"temporização. A contagem de repetições ('melhor de 5') que informa quantas " +"vezes o laço de temporização foi repetido e, finalmente, o tempo que o corpo " +"da instrução levou, em média, na melhor repetição do laço de temporização. " +"Ou seja, o tempo necessário para a repetição mais rápida dividido pela " +"contagem de interações." -#: ../../library/timeit.rst:300 +#: ../../library/timeit.rst:302 msgid "The same can be done using the :class:`Timer` class and its methods::" -msgstr "" +msgstr "O mesmo pode ser feito usando a classe :class:`Timer` e seus métodos::" -#: ../../library/timeit.rst:310 +#: ../../library/timeit.rst:312 msgid "" "The following examples show how to time expressions that contain multiple " -"lines. Here we compare the cost of using :func:`hasattr` vs. :keyword:`try`/:" -"keyword:`except` to test for missing and present object attributes:" +"lines. Here we compare the cost of using :func:`hasattr` " +"vs. :keyword:`try`/:keyword:`except` to test for missing and present object " +"attributes:" msgstr "" +"Os exemplos a seguir mostram como cronometrar expressões que contêm várias " +"linhas. Aqui comparamos o custo de usar :func:`hasattr` " +"vs. :keyword:`try`/:keyword:`except` para testar atributos de objetos " +"presentes e ausentes:" -#: ../../library/timeit.rst:356 +#: ../../library/timeit.rst:358 msgid "" "To give the :mod:`timeit` module access to functions you define, you can " "pass a *setup* parameter which contains an import statement::" msgstr "" +"Para dar ao módulo :mod:`timeit` acesso as funções que você definiu, você " +"pode passar o parâmetro *setup*, que contém um instrução de importar::" -#: ../../library/timeit.rst:367 +#: ../../library/timeit.rst:369 msgid "" "Another option is to pass :func:`globals` to the *globals* parameter, which " "will cause the code to be executed within your current global namespace. " "This can be more convenient than individually specifying imports::" msgstr "" +"Outra opção é passar :func:`globals` para o parâmetro *globals*, o que fará " +"com que o código seja executado em seu espaço de nomes global. Isso pode ser " +"mais conveniente do que especificar individualmente imports::" #: ../../library/timeit.rst:9 msgid "Benchmarking" -msgstr "" +msgstr "Benchmarking" #: ../../library/timeit.rst:9 msgid "Performance" diff --git a/library/tk.po b/library/tk.po index 4b4e84e05..b48ba3802 100644 --- a/library/tk.po +++ b/library/tk.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -32,8 +31,8 @@ msgstr "Interfaces Gráficas de Usuário com Tk" msgid "" "Tk/Tcl has long been an integral part of Python. It provides a robust and " "platform independent windowing toolkit, that is available to Python " -"programmers using the :mod:`tkinter` package, and its extension, the :mod:" -"`tkinter.tix` and the :mod:`tkinter.ttk` modules." +"programmers using the :mod:`tkinter` package, and its extension, " +"the :mod:`tkinter.tix` and the :mod:`tkinter.ttk` modules." msgstr "" "Tk/Tcl tem sido parte integrante do Python. Ele fornece um kit de " "ferramentas de janela robusto e independente de plataforma, que está " @@ -44,9 +43,9 @@ msgstr "" msgid "" "The :mod:`tkinter` package is a thin object-oriented layer on top of Tcl/Tk. " "To use :mod:`tkinter`, you don't need to write Tcl code, but you will need " -"to consult the Tk documentation, and occasionally the Tcl documentation. :" -"mod:`tkinter` is a set of wrappers that implement the Tk widgets as Python " -"classes." +"to consult the Tk documentation, and occasionally the Tcl " +"documentation. :mod:`tkinter` is a set of wrappers that implement the Tk " +"widgets as Python classes." msgstr "" "O pacote :mod:`tkinter` é uma fina camada orientada a objetos no topo do Tcl/" "Tk. Para usar :mod:`tkinter`, você não precisa escrever o código Tcl, mas " @@ -71,16 +70,16 @@ msgstr "" "um livro e outros. :mod:`tkinter` também é famoso por ter uma aparência " "desatualizada, que foi amplamente melhorada no Tk 8.5. No entanto, existem " "muitas outras bibliotecas GUI nas quais você pode estar interessado. A wiki " -"do Python lista várias `frameworks e ferramentas GUI `_ alternativas." +"do Python lista várias `frameworks e ferramentas GUI `_ alternativas." #: ../../library/tk.rst:7 msgid "GUI" -msgstr "" +msgstr "GUI" #: ../../library/tk.rst:7 msgid "Graphical User Interface" -msgstr "" +msgstr "Interface Gráfica do Usuário" #: ../../library/tk.rst:7 msgid "Tkinter" diff --git a/library/tkinter.colorchooser.po b/library/tkinter.colorchooser.po index 075f77412..263c1fb61 100644 --- a/library/tkinter.colorchooser.po +++ b/library/tkinter.colorchooser.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,8 +35,8 @@ msgstr "**Código-fonte:** :source:`Lib/tkinter/colorchooser.py`" msgid "" "The :mod:`tkinter.colorchooser` module provides the :class:`Chooser` class " "as an interface to the native color picker dialog. ``Chooser`` implements a " -"modal color choosing dialog window. The ``Chooser`` class inherits from the :" -"class:`~tkinter.commondialog.Dialog` class." +"modal color choosing dialog window. The ``Chooser`` class inherits from " +"the :class:`~tkinter.commondialog.Dialog` class." msgstr "" "O módulo :mod:`tkinter.colorchooser` fornece a classe :class:`Chooser` como " "uma interface para o diálogo do seletor de cores nativo. ``Chooser`` " @@ -59,4 +59,4 @@ msgstr "Módulo :mod:`tkinter.commondialog`" #: ../../library/tkinter.colorchooser.rst:29 msgid "Tkinter standard dialog module" -msgstr "Módulo de diálkogo padrão do Tkinter" +msgstr "Módulo de diálogo padrão do Tkinter" diff --git a/library/tkinter.dnd.po b/library/tkinter.dnd.po index 95571fd0d..72c1c2436 100644 --- a/library/tkinter.dnd.po +++ b/library/tkinter.dnd.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -55,9 +55,9 @@ msgstr "" "janelas. Para permitir que um objeto seja arrastado, você deve criar uma " "associação de evento para ele que inicie o processo de arrastar e soltar. " "Normalmente, você associa um evento ButtonPress a uma função de retorno que " -"você escreve (consulte :ref:`Bindings-and-Events`). A função deve chamar :" -"func:`dnd_start`, onde 'source' é o objeto a ser arrastado e 'event' é o " -"evento que invocou a chamada (o argumento para sua função de retorno)." +"você escreve (consulte :ref:`Bindings-and-Events`). A função deve " +"chamar :func:`dnd_start`, onde 'source' é o objeto a ser arrastado e 'event' " +"é o evento que invocou a chamada (o argumento para sua função de retorno)." #: ../../library/tkinter.dnd.rst:23 msgid "Selection of a target object occurs as follows:" diff --git a/library/tkinter.font.po b/library/tkinter.font.po index f2921b31c..de5ff72fa 100644 --- a/library/tkinter.font.po +++ b/library/tkinter.font.po @@ -1,25 +1,25 @@ # 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: -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -29,17 +29,19 @@ msgstr "" #: ../../library/tkinter.font.rst:8 msgid "**Source code:** :source:`Lib/tkinter/font.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/tkinter/font.py`" #: ../../library/tkinter.font.rst:12 msgid "" "The :mod:`tkinter.font` module provides the :class:`Font` class for creating " "and using named fonts." msgstr "" +"O módulo :mod:`tkinter.font` apresenta a classe :class:`Font` para criação e " +"utilização de fontes nomeadas." #: ../../library/tkinter.font.rst:15 msgid "The different font weights and slants are:" -msgstr "" +msgstr "Os diferentes pesos e inclinações de fontes são:" #: ../../library/tkinter.font.rst:24 msgid "" @@ -49,6 +51,11 @@ msgid "" "as a single object, rather than specifying a font by its attributes with " "each occurrence." msgstr "" +"A classe :class:`Font` representa uma fonte nomeada. Instâncias *font* " +"recebem nomes únicos e podem ser especificadas por família, tamanho e " +"configuração de estilo. Fontes nomeadas são os métodos Tk para criação e " +"identificação de fontes de um objeto singular, ao invés de especificar a " +"fonte por seus atributos em cada ocorrência." #: ../../library/tkinter.font.rst:30 msgid "arguments:" @@ -56,27 +63,28 @@ msgstr "argumentos:" #: ../../library/tkinter.font.rst:0 msgid "*font* - font specifier tuple (family, size, options)" -msgstr "" +msgstr "*font* - tupla de especificação da fonte (família, tamanho, opções)" #: ../../library/tkinter.font.rst:0 msgid "*name* - unique font name" -msgstr "" +msgstr "*name* - nome único da fonte" #: ../../library/tkinter.font.rst:0 msgid "*exists* - self points to existing named font if true" -msgstr "" +msgstr "*exists* - aponta para uma fonte nomeada existente se for verdadeiro" #: ../../library/tkinter.font.rst:36 msgid "additional keyword options (ignored if *font* is specified):" msgstr "" +"palavras reservadas opcionais (ignoradas caso *font* seja especificado):" #: ../../library/tkinter.font.rst:0 msgid "*family* - font family i.e. Courier, Times" -msgstr "" +msgstr "*family* - a família da fonte e.x. Courier, Times" #: ../../library/tkinter.font.rst:0 msgid "*size* - font size" -msgstr "" +msgstr "*size* - tamanho da fonte" #: ../../library/tkinter.font.rst:0 msgid "If *size* is positive it is interpreted as size in points." @@ -84,43 +92,44 @@ msgstr "Se *size* for positivo, ele é interpretado como tamanho em pontos." #: ../../library/tkinter.font.rst:0 msgid "If *size* is a negative number its absolute value is treated" -msgstr "" +msgstr "Caso *size* seja um número negativo, seu valor absoluto é tratado" #: ../../library/tkinter.font.rst:0 msgid "as size in pixels." -msgstr "" +msgstr "como tamanho em pixels." #: ../../library/tkinter.font.rst:0 msgid "*weight* - font emphasis (NORMAL, BOLD)" -msgstr "" +msgstr "*weight* - ênfase da fonte (normal,negrito)" #: ../../library/tkinter.font.rst:0 msgid "*slant* - ROMAN, ITALIC" -msgstr "" +msgstr "*slant* - ROMAN, ITALIC" #: ../../library/tkinter.font.rst:0 msgid "*underline* - font underlining (0 - none, 1 - underline)" msgstr "" +"*underline* - sublinhamento da fonte (0 - sem sublinhamento, 1 - sublinhado)" #: ../../library/tkinter.font.rst:0 msgid "*overstrike* - font strikeout (0 - none, 1 - strikeout)" -msgstr "" +msgstr "*overstrike* - fonte riscada (0 - sem risco, 1 - letras riscadas)" #: ../../library/tkinter.font.rst:50 msgid "Return the attributes of the font." -msgstr "" +msgstr "Retorna os atributos da fonte." #: ../../library/tkinter.font.rst:54 msgid "Retrieve an attribute of the font." -msgstr "" +msgstr "Recupera um atributo da fonte." #: ../../library/tkinter.font.rst:58 msgid "Modify attributes of the font." -msgstr "" +msgstr "Modifica atributos da fonte." #: ../../library/tkinter.font.rst:62 msgid "Return new instance of the current font." -msgstr "" +msgstr "Retorna uma nova instância da fonte atual." #: ../../library/tkinter.font.rst:66 msgid "" @@ -128,47 +137,52 @@ msgid "" "formatted in the current font. If no display is specified then the main " "application window is assumed." msgstr "" +"Retorna a quantidade de espaço que o texto ocuparia na exibição especificada " +"ao ser formatado na fonte atual. Caso nenhuma exibição seja especificada, a " +"exibição presumida será a da janela principal da aplicação." #: ../../library/tkinter.font.rst:72 msgid "Return font-specific data. Options include:" -msgstr "" +msgstr "Retorna dados específicos da fonte. Opções inclusas:" #: ../../library/tkinter.font.rst:76 msgid "*ascent* - distance between baseline and highest point that a" -msgstr "" +msgstr "*ascent* - distância entre a linha de base e o ponto mais alto que um" #: ../../library/tkinter.font.rst:76 ../../library/tkinter.font.rst:79 msgid "character of the font can occupy" -msgstr "" +msgstr "caractere da fonte pode ocupar" #: ../../library/tkinter.font.rst:79 msgid "*descent* - distance between baseline and lowest point that a" msgstr "" +"*descent* - distância entre a linha de base e o ponto mais baixo que um" #: ../../library/tkinter.font.rst:82 msgid "*linespace* - minimum vertical separation necessary between any two" -msgstr "" +msgstr "*linespace* - separação vertical mínima necessária entre dois" #: ../../library/tkinter.font.rst:82 msgid "characters of the font that ensures no vertical overlap between lines." msgstr "" +"caracteres da fonte que garante que não ocorra sobreposição entre as linhas." #: ../../library/tkinter.font.rst:84 msgid "*fixed* - 1 if font is fixed-width else 0" -msgstr "" +msgstr "*fixed* - 1 caso a fonte seja de largura fixa, 0 caso contrário" #: ../../library/tkinter.font.rst:88 msgid "Return the different font families." -msgstr "" +msgstr "Retorna as diferentes famílias de fontes." #: ../../library/tkinter.font.rst:92 msgid "Return the names of defined fonts." -msgstr "" +msgstr "Retorna os nomes das fontes definidas." #: ../../library/tkinter.font.rst:96 msgid "Return a :class:`Font` representation of a tk named font." -msgstr "" +msgstr "Retorna a representação :class:`Font` de uma fonte nomeada do tk." #: ../../library/tkinter.font.rst:98 msgid "The *root* parameter was added." -msgstr "" +msgstr "O parâmetro *root* foi adicionado." diff --git a/library/tkinter.messagebox.po b/library/tkinter.messagebox.po index e0c0cd4f6..1af240f89 100644 --- a/library/tkinter.messagebox.po +++ b/library/tkinter.messagebox.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,28 +35,278 @@ msgstr "**Código-fonte:** :source:`Lib/tkinter/messagebox.py`" msgid "" "The :mod:`tkinter.messagebox` module provides a template base class as well " "as a variety of convenience methods for commonly used configurations. The " -"message boxes are modal and will return a subset of (True, False, OK, None, " -"Yes, No) based on the user's selection. Common message box styles and " -"layouts include but are not limited to:" +"message boxes are modal and will return a subset of (``True``, ``False``, " +"``None``, :data:`OK`, :data:`CANCEL`, :data:`YES`, :data:`NO`) based on the " +"user's selection. Common message box styles and layouts include but are not " +"limited to:" +msgstr "" +"O módulo :mod:`tkinter.messagebox` provê uma classe base template e uma " +"variedade de métodos de conveniência para as configurações mais comumente " +"usadas. As caixas de mensagem são modais e vão retornar um conjunto de " +"(``True``, ``False``, " +"``None``, :data:`OK`, :data:`CANCEL`, :data:`YES`, :data:`NO`) baseado na " +"seleção do usuário. Estilos e formatos de janelas comuns estão incluídos, " +"mas não estão limitados a:" + +#: ../../library/tkinter.messagebox.rst:23 +msgid "" +"Create a message window with an application-specified message, an icon and a " +"set of buttons. Each of the buttons in the message window is identified by a " +"unique symbolic name (see the *type* options)." +msgstr "" +"Criar uma janela de mensagem com uma mensagem específica da aplicação, um " +"ícone e um conjunto de botões. Cada botão na janela é identificado com um " +"nome simbólico único (veja as opções de \"type\")." + +#: ../../library/tkinter.messagebox.rst:27 +msgid "The following options are supported:" +msgstr "As seguintes opções são suportadas:" + +#: ../../library/tkinter.messagebox.rst:33 +msgid "*command*" +msgstr "\"command\"" + +#: ../../library/tkinter.messagebox.rst:30 +msgid "" +"Specifies the function to invoke when the user closes the dialog. The name " +"of the button clicked by the user to close the dialog is passed as argument. " +"This is only available on macOS." +msgstr "" +"Especifica a função que será invocada quando o usuário fecha a janela de " +"diálogo. O nome do botão clicado pelo usuário para fechar a janela é passada " +"como um argumento. Esta funcionalidade está disponível apenas no macOS." + +#: ../../library/tkinter.messagebox.rst:39 +msgid "*default*" +msgstr "\"default\"" + +#: ../../library/tkinter.messagebox.rst:36 +msgid "" +"Gives the :ref:`symbolic name ` of the default button " +"for this message window (:data:`OK`, :data:`CANCEL`, and so on). If this " +"option is not specified, the first button in the dialog will be made the " +"default." +msgstr "" +"Fornece o :ref:`nome simbólico ` do botão padrão para " +"essa janela de mensagem (:data:`OK`, :data:`CANCEL`, e assim por diante). Se " +"essa opção não for especificada, o primeiro botão da caixa de diálogo será o " +"padrão." + +#: ../../library/tkinter.messagebox.rst:46 +msgid "*detail*" +msgstr "\"detail\"" + +#: ../../library/tkinter.messagebox.rst:42 +msgid "" +"Specifies an auxiliary message to the main message given by the *message* " +"option. The message detail will be presented beneath the main message and, " +"where supported by the OS, in a less emphasized font than the main message." +msgstr "" +"Especifica uma mensagem auxiliar para a mensagem principal fornecida pela " +"opção *message*. Esta mensagem será apresentado abaixo da mensagem principal " +"e, quando suportado pelo sistema operacional, em uma fonte menos enfatizada " +"do que a mensagem principal." + +#: ../../library/tkinter.messagebox.rst:51 +msgid "*icon*" +msgstr "\"icon\"" + +#: ../../library/tkinter.messagebox.rst:49 +msgid "" +"Specifies an :ref:`icon ` to display. If this option is " +"not specified, then the :data:`INFO` icon will be displayed." +msgstr "" +"Especifica um :ref:`icon ` a ser apresentado. Se essa " +"opção não for especificada, o ícone :data:`INFO` será exibido." + +#: ../../library/tkinter.messagebox.rst:55 +msgid "*message*" +msgstr "\"message\"" + +#: ../../library/tkinter.messagebox.rst:54 +msgid "" +"Specifies the message to display in this message box. The default value is " +"an empty string." msgstr "" -"O módulo :mod:`tkinter.messagebox` fornece uma classe base de modelo, bem " -"como uma variedade de métodos de conveniência para as configurações mais " -"usadas. As caixas de mensagem são modais e retornarão um subconjunto de " -"(True, False, OK, None, Yes, No) com base na seleção do usuário. Os estilos " -"e layouts comuns de caixas de mensagens incluem, mas não estão limitados a:" +"Especifica a mensagem para mostrar nessa caixa de mensagem. O padrão valor é " +"uma string vazia." -#: ../../library/tkinter.messagebox.rst:22 -msgid "Create a default information message box." -msgstr "Cria uma caixa de mensagem padrão de informações." +#: ../../library/tkinter.messagebox.rst:59 +msgid "*parent*" +msgstr "\"parent\"" -#: ../../library/tkinter.messagebox.rst:24 +#: ../../library/tkinter.messagebox.rst:58 +msgid "" +"Makes the specified window the logical parent of the message box. The " +"message box is displayed on top of its parent window." +msgstr "" +"Torna a janela especificada a janela pai da caixa de mensagem. A caixa de " +"mensagem é exibida na parte superior de sua janela pai." + +#: ../../library/tkinter.messagebox.rst:64 +msgid "*title*" +msgstr "\"title\"" + +#: ../../library/tkinter.messagebox.rst:62 +msgid "" +"Specifies a string to display as the title of the message box. This option " +"is ignored on macOS, where platform guidelines forbid the use of a title on " +"this kind of dialog." +msgstr "" +"Especifica uma string para mostrar como o título da caixa de mensagem. Essa " +"opção é ignorada no macOS, onde a plataforma proíbe o uso de um título nesse " +"tipo de caixa de diálogo." + +#: ../../library/tkinter.messagebox.rst:68 +msgid "*type*" +msgstr "\"type\"" + +#: ../../library/tkinter.messagebox.rst:67 +msgid "" +"Arranges for a :ref:`predefined set of buttons ` to be " +"displayed." +msgstr "" +"Organiza um :ref:`conjunto predefinido de botões ` a serem " +"mostrados." + +#: ../../library/tkinter.messagebox.rst:72 +msgid "" +"Display a message window and wait for the user to select one of the buttons. " +"Then return the symbolic name of the selected button. Keyword arguments can " +"override options specified in the constructor." +msgstr "" +"Mostra uma janela de mensagem e aguarda que o usuário selecione um dos " +"botões. Em seguida, retorna o nome simbólico do botão selecionado. " +"Argumentos nomeados pode substituir opções especificadas no construtor." + +#: ../../library/tkinter.messagebox.rst:76 msgid "**Information message box**" msgstr "**Caixa de mensagem de informação**" -#: ../../library/tkinter.messagebox.rst:28 +#: ../../library/tkinter.messagebox.rst:80 +msgid "" +"Creates and displays an information message box with the specified title and " +"message." +msgstr "" +"Cria e exibe uma caixa de mensagem informativa com o título e a mensagem " +"especificados." + +#: ../../library/tkinter.messagebox.rst:83 msgid "**Warning message boxes**" msgstr "**Caixas de mensagem de atenção**" -#: ../../library/tkinter.messagebox.rst:33 +#: ../../library/tkinter.messagebox.rst:87 +msgid "" +"Creates and displays a warning message box with the specified title and " +"message." +msgstr "" +"Cria e exibe uma caixa de mensagem de alerta com o título e a mensagem " +"especificados." + +#: ../../library/tkinter.messagebox.rst:92 +msgid "" +"Creates and displays an error message box with the specified title and " +"message." +msgstr "" +"Cria e exibe uma caixa de mensagem de erro com o título e a mensagem " +"especificados." + +#: ../../library/tkinter.messagebox.rst:95 msgid "**Question message boxes**" msgstr "**Caixas de mensagem de dúvida**" + +#: ../../library/tkinter.messagebox.rst:99 +msgid "" +"Ask a question. By default shows buttons :data:`YES` and :data:`NO`. Returns " +"the symbolic name of the selected button." +msgstr "" +"Faz uma pergunta. Por padrão mostra os botões :data:`YES` e :data:`NO`. " +"Retorna o nome simbólico do botão selecionado." + +#: ../../library/tkinter.messagebox.rst:104 +msgid "" +"Ask if operation should proceed. Shows buttons :data:`OK` " +"and :data:`CANCEL`. Returns ``True`` if the answer is ok and ``False`` " +"otherwise." +msgstr "" +"Pergunta se a operação deve prosseguir. Mostra os botões :data:`OK` " +"e :data:`CANCEL`. Retorna ``True`` se a resposta for \"OK\" e ``False`` caso " +"contrário." + +#: ../../library/tkinter.messagebox.rst:109 +msgid "" +"Ask if operation should be retried. Shows buttons :data:`RETRY` " +"and :data:`CANCEL`. Return ``True`` if the answer is yes and ``False`` " +"otherwise." +msgstr "" +"Pergunta se a operação deve ser tentada novamente. Mostra os " +"botões :data:`RETRY` e :data:`CANCEL`. Retorna ``True`` se a resposta for " +"sim e ``False`` caso contrário." + +#: ../../library/tkinter.messagebox.rst:114 +msgid "" +"Ask a question. Shows buttons :data:`YES` and :data:`NO`. Returns ``True`` " +"if the answer is yes and ``False`` otherwise." +msgstr "" +"Faz uma pergunta. Mostra os botões :data:`YES` e :data:`NO`. Retorna " +"``True`` se a resposta for sim e ``False`` caso contrário." + +#: ../../library/tkinter.messagebox.rst:119 +msgid "" +"Ask a question. Shows buttons :data:`YES`, :data:`NO` and :data:`CANCEL`. " +"Return ``True`` if the answer is yes, ``None`` if cancelled, and ``False`` " +"otherwise." +msgstr "" +"Faz uma pergunta. Mostra os botões :data:`YES`, :data:`NO` e :data:`CANCEL`. " +"Retorna ``True`` se a resposta for sim, ``None`` se cancelado, e ``False`` " +"caso contrário." + +#: ../../library/tkinter.messagebox.rst:126 +msgid "Symbolic names of buttons:" +msgstr "Nomes simbólicos dos botões:" + +#: ../../library/tkinter.messagebox.rst:145 +msgid "Predefined sets of buttons:" +msgstr "Conjunto predefinido de botões:" + +#: ../../library/tkinter.messagebox.rst:150 +msgid "" +"Displays three buttons whose symbolic names are :data:`ABORT`, :data:`RETRY` " +"and :data:`IGNORE`." +msgstr "" +"Exibe três botões cujos nomes simbólicos são :data:`ABORT`, :data:`RETRY` " +"e :data:`IGNORE`." + +#: ../../library/tkinter.messagebox.rst:157 +msgid "Displays one button whose symbolic name is :data:`OK`." +msgstr "Exibe um botão cujo nome simbólico é :data:`OK`." + +#: ../../library/tkinter.messagebox.rst:162 +msgid "" +"Displays two buttons whose symbolic names are :data:`OK` and :data:`CANCEL`." +msgstr "" +"Exibe dois botões cujos nomes simbólicos são :data:`OK` e :data:`CANCEL`." + +#: ../../library/tkinter.messagebox.rst:168 +msgid "" +"Displays two buttons whose symbolic names are :data:`RETRY` " +"and :data:`CANCEL`." +msgstr "" +"Exibe dois botões cujos nomes simbólicos são :data:`RETRY` e :data:`CANCEL`." + +#: ../../library/tkinter.messagebox.rst:174 +msgid "" +"Displays two buttons whose symbolic names are :data:`YES` and :data:`NO`." +msgstr "Exibe dois botões cujos nomes simbólicos são :data:`YES` e :data:`NO`." + +#: ../../library/tkinter.messagebox.rst:180 +msgid "" +"Displays three buttons whose symbolic names are :data:`YES`, :data:`NO` " +"and :data:`CANCEL`." +msgstr "" +"Exibe três botões cujos nomes simbólicos são :data:`YES`, :data:`NO` " +"e :data:`CANCEL`." + +#: ../../library/tkinter.messagebox.rst:185 +msgid "Icon images:" +msgstr "Imagens de ícones:" diff --git a/library/tkinter.po b/library/tkinter.po index 792106011..8e978cee2 100644 --- a/library/tkinter.po +++ b/library/tkinter.po @@ -1,38 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Italo Penaforte , 2021 -# And Past , 2021 -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# mvpetri , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Adorilson Bezerra , 2021 -# felipe caridade , 2021 -# i17obot , 2021 -# Augusta Carla Klug , 2021 -# Bruno Divino, 2022 -# Carine Neris, 2022 -# Italo Carvalho Vianelli Ribeiro, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -52,9 +39,9 @@ msgid "" "systems." msgstr "" "O pacote :mod:`tkinter` (\"Tk interface\") é a interface padrão do Python e " -"faz parte do kit de ferramentas Tcl/Tk GUI. Tanto o Tk quanto o :mod:" -"`tkinter` estão disponíveis na maioria das plataformas Unix, incluindo " -"macOS, bem como em sistemas Windows." +"faz parte do kit de ferramentas Tcl/Tk GUI. Tanto o Tk quanto " +"o :mod:`tkinter` estão disponíveis na maioria das plataformas Unix, " +"incluindo macOS, bem como em sistemas Windows." #: ../../library/tkinter.rst:17 msgid "" @@ -115,7 +102,7 @@ msgid "" "Extensive tutorial on creating user interfaces with Tkinter. Explains key " "concepts, and illustrates recommended approaches using the modern API." msgstr "" -"Um extenso tutorial sobre como criar interfaces de usuário com o Tkinter. " +"Um tutorial extenso sobre como criar interfaces de usuário com o Tkinter. " "Explica conceitos chave, e ilustra as abordagens recomendadas usando a API " "moderna." @@ -124,7 +111,7 @@ msgid "" "`Tkinter 8.5 reference: a GUI for Python `_" msgstr "" "`Referência do Tkinter 8.5: uma GUI para Python `_" +"shipman/>`_" #: ../../library/tkinter.rst:46 msgid "" @@ -152,7 +139,7 @@ msgstr "" #: ../../library/tkinter.rst:54 msgid "`Tcl/Tk Home Page `_" -msgstr "`Tcl/Tk Website `_" +msgstr "`Website do Tcl/Tk `_" #: ../../library/tkinter.rst:54 msgid "Additional documentation, and links to Tcl/Tk core development." @@ -175,15 +162,15 @@ msgstr "Por Mark Roseman. (ISBN 978-1999149567)" #: ../../library/tkinter.rst:62 msgid "" -"`Python and Tkinter Programming `_" +"`Python GUI programming with Tkinter `_" msgstr "" -"`Python and Tkinter Programming `_" +"`Python GUI programming with Tkinter `_" #: ../../library/tkinter.rst:62 -msgid "By Alan Moore. (ISBN 978-1788835886)" -msgstr "Por Alan Moore. (ISBN 978-1788835886)" +msgid "By Alan D. Moore. (ISBN 978-1788835886)" +msgstr "por Alan D. Moore. (ISBN 978-1788835886)" #: ../../library/tkinter.rst:65 msgid "`Programming Python `_" @@ -256,17 +243,18 @@ msgstr "" "é projetado em torno da multitarefa cooperativa, e o Tkinter faz a ponte " "entre essa diferença (veja `Modelo de threading`_ para detalhes)." -#: ../../library/tkinter.rst:97 ../../library/tkinter.rst:908 +#: ../../library/tkinter.rst:97 ../../library/tkinter.rst:911 msgid "Tk" msgstr "Tk" #: ../../library/tkinter.rst:93 msgid "" "Tk is a `Tcl package `_ implemented in C " -"that adds custom commands to create and manipulate GUI widgets. Each :class:" -"`Tk` object embeds its own Tcl interpreter instance with Tk loaded into it. " -"Tk's widgets are very customizable, though at the cost of a dated " -"appearance. Tk uses Tcl's event queue to generate and process GUI events." +"that adds custom commands to create and manipulate GUI widgets. " +"Each :class:`Tk` object embeds its own Tcl interpreter instance with Tk " +"loaded into it. Tk's widgets are very customizable, though at the cost of a " +"dated appearance. Tk uses Tcl's event queue to generate and process GUI " +"events." msgstr "" "Tk é um `pacote Tcl `_ implementado em C " "que adiciona comandos personalizados para criar e manipular widgets GUI. " @@ -289,13 +277,13 @@ msgstr "" "Themed Tk (Ttk) é uma família mais recente de widgets Tk que fornecem uma " "aparência muito melhor em diferentes plataformas do que muitos dos widgets " "Tk clássicos. O Ttk é distribuído como parte do Tk, começando com o Tk " -"versão 8.5. As ligações Python são fornecidas em um módulo separado, :mod:" -"`tkinter.ttk`." +"versão 8.5. As ligações Python são fornecidas em um módulo " +"separado, :mod:`tkinter.ttk`." #: ../../library/tkinter.rst:105 msgid "" -"Internally, Tk and Ttk use facilities of the underlying operating system, i." -"e., Xlib on Unix/X11, Cocoa on macOS, GDI on Windows." +"Internally, Tk and Ttk use facilities of the underlying operating system, " +"i.e., Xlib on Unix/X11, Cocoa on macOS, GDI on Windows." msgstr "" "Internamente, Tk e Ttk usam recursos do sistema operacional, ou seja, Xlib " "no Unix/X11, Cocoa no macOS, GDI no Windows." @@ -359,8 +347,8 @@ msgid "" "When given (as a string), sets the :envvar:`DISPLAY` environment variable. " "(X11 only)" msgstr "" -"Quando fornecido (como uma string), define a variável de ambiente :envvar:" -"`DISPLAY`. (Somente X11)" +"Quando fornecido (como uma string), define a variável de " +"ambiente :envvar:`DISPLAY`. (Somente X11)" #: ../../library/tkinter.rst:140 msgid "*baseName*" @@ -438,18 +426,18 @@ msgstr "" #: ../../library/tkinter.rst:161 msgid "" -":class:`Tk` reads and interprets profile files, named :file:`.{className}." -"tcl` and :file:`.{baseName}.tcl`, into the Tcl interpreter and calls :func:" -"`exec` on the contents of :file:`.{className}.py` and :file:`.{baseName}." -"py`. The path for the profile files is the :envvar:`HOME` environment " -"variable or, if that isn't defined, then :attr:`os.curdir`." +":class:`Tk` reads and interprets profile files, named :file:`." +"{className}.tcl` and :file:`.{baseName}.tcl`, into the Tcl interpreter and " +"calls :func:`exec` on the contents of :file:`.{className}.py` and :file:`." +"{baseName}.py`. The path for the profile files is the :envvar:`HOME` " +"environment variable or, if that isn't defined, then :data:`os.curdir`." msgstr "" ":class:`Tk` lê e interpreta os arquivos de perfil, chamados :file:`." "{className}.tcl` e :file:`.{baseName}.tcl`, por meio do interpretador Tcl e " -"chama :func:`exec` no conteúdo de :file:` {className}.py` e :file:`." +"chama :func:`exec` no conteúdo de :file:`.{className}.py` e :file:`." "{baseName}.py`. O caminho para os arquivos de perfil encontra-se na variável " -"de ambiente :envvar:`HOME` ou, se não estiver definida, então :attr:`os." -"curdir`." +"de ambiente :envvar:`HOME` ou, se não estiver definida, " +"então :data:`os.curdir`." #: ../../library/tkinter.rst:170 msgid "" @@ -471,9 +459,9 @@ msgid "" "tree-like relationship while *master*/*slave* reflects the container " "structure." msgstr "" -"O objeto widget que contém este widget. Para :class:`Tk`, o *master* é :" -"const:`None` porque é a janela principal. Os termos *master* e *parent* são " -"semelhantes e às vezes usados alternadamente como nome de argumento; No " +"O objeto widget que contém este widget. Para :class:`Tk`, o *master* " +"é :const:`None` porque é a janela principal. Os termos *master* e *parent* " +"são semelhantes e às vezes usados alternadamente como nome de argumento; No " "entanto, chamar :meth:`winfo_parent` retorna uma string com o nome do widget " "enquanto :attr:`master` retorna o objeto. *parent*/*child* reflete a relação " "de árvore enquanto *master*/*slave* reflete a estrutura do contêiner." @@ -494,16 +482,16 @@ msgid "" "interpreter in an environment where one doesn't want to create extraneous " "toplevel windows, or where one cannot (such as Unix/Linux systems without an " "X server). An object created by the :func:`Tcl` object can have a Toplevel " -"window created (and the Tk subsystem initialized) by calling its :meth:" -"`loadtk` method." +"window created (and the Tk subsystem initialized) by calling " +"its :meth:`loadtk` method." msgstr "" "A função :func:`Tcl` é uma função fábrica que cria um objeto assim como o " "criado pela classe :class:`Tk`, exceto por não inicializar o subsistema Tk. " "Isto é útil quando executando o interpretador Tcl em um ambiente onde não se " "quer criar janelas de alto nível externas, ou quando não se pode (como em " -"sistemas Unix/Linux sem um servidor X). Um objeto criado pelo objeto :func:" -"`Tcl` pode ter uma janela de alto nível criada (e o subsistema Tk " -"inicializado) chamando o método :meth:`loadtk`." +"sistemas Unix/Linux sem um servidor X). Um objeto criado pelo " +"objeto :func:`Tcl` pode ter uma janela de alto nível criada (e o subsistema " +"Tk inicializado) chamando o método :meth:`loadtk`." #: ../../library/tkinter.rst:203 msgid "The modules that provide Tk support include:" @@ -532,7 +520,8 @@ msgstr ":mod:`tkinter.commondialog`" #: ../../library/tkinter.rst:212 msgid "Base class for the dialogs defined in the other modules listed here." msgstr "" -"Classe base para os diálogos definidos nos outros módulos listados aqui." +"Classe base para as caixas de diálogos definidos nos outros módulos listados " +"aqui." #: ../../library/tkinter.rst:215 msgid ":mod:`tkinter.filedialog`" @@ -541,8 +530,8 @@ msgstr ":mod:`tkinter.filedialog`" #: ../../library/tkinter.rst:215 msgid "Common dialogs to allow the user to specify a file to open or save." msgstr "" -"Diálogos comuns para permitir ao usuário especificar um arquivo para abrir " -"ou salvar." +"Caixa de diálogos comuns para permitir ao usuário especificar um arquivo " +"para abrir ou salvar." #: ../../library/tkinter.rst:218 msgid ":mod:`tkinter.font`" @@ -574,7 +563,7 @@ msgstr ":mod:`tkinter.simpledialog`" #: ../../library/tkinter.rst:227 msgid "Basic dialogs and convenience functions." -msgstr "Diálogos básicos e funções de conveniência." +msgstr "Caixa de diálogos básicos e funções de conveniência." #: ../../library/tkinter.rst:231 msgid ":mod:`tkinter.ttk`" @@ -586,18 +575,18 @@ msgid "" "many of the classic widgets in the main :mod:`tkinter` module." msgstr "" "Conjunto de widgets temáticos introduzidos no Tk 8.5, fornecendo " -"alternativas modernas para muitos dos widgets clássicos no módulo principal :" -"mod:`tkinter`." +"alternativas modernas para muitos dos widgets clássicos no módulo " +"principal :mod:`tkinter`." #: ../../library/tkinter.rst:233 msgid "Additional modules:" msgstr "Módulos adicionais:" -#: ../../library/tkinter.rst:240 +#: ../../library/tkinter.rst:243 msgid ":mod:`_tkinter`" msgstr ":mod:`_tkinter`" -#: ../../library/tkinter.rst:236 +#: ../../library/tkinter.rst:239 msgid "" "A binary module that contains the low-level interface to Tcl/Tk. It is " "automatically imported by the main :mod:`tkinter` module, and should never " @@ -611,37 +600,37 @@ msgstr "" "mas pode, em alguns casos, ser vinculada estaticamente ao interpretador " "Python." -#: ../../library/tkinter.rst:244 +#: ../../library/tkinter.rst:247 msgid ":mod:`idlelib`" msgstr ":mod:`idlelib`" -#: ../../library/tkinter.rst:243 +#: ../../library/tkinter.rst:246 msgid "" -"Python's Integrated Development and Learning Environment (IDLE). Based on :" -"mod:`tkinter`." +"Python's Integrated Development and Learning Environment (IDLE). Based " +"on :mod:`tkinter`." msgstr "" "Ambiente Integrado de Desenvolvimento e Aprendizagem do Python (IDLE). " "Baseado em :mod:`tkinter`." -#: ../../library/tkinter.rst:249 +#: ../../library/tkinter.rst:252 msgid ":mod:`tkinter.constants`" msgstr ":mod:`tkinter.constants`" -#: ../../library/tkinter.rst:247 +#: ../../library/tkinter.rst:250 msgid "" "Symbolic constants that can be used in place of strings when passing various " -"parameters to Tkinter calls. Automatically imported by the main :mod:" -"`tkinter` module." +"parameters to Tkinter calls. Automatically imported by the " +"main :mod:`tkinter` module." msgstr "" "Constantes simbólicas que podem ser usadas no lugar de strings ao passar " "vários parâmetros para chamadas Tkinter. Este módulo é importado " "automaticamente pelo módulo principal :mod:`tkinter`." -#: ../../library/tkinter.rst:253 +#: ../../library/tkinter.rst:256 msgid ":mod:`tkinter.dnd`" msgstr ":mod:`tkinter.dnd`" -#: ../../library/tkinter.rst:252 +#: ../../library/tkinter.rst:255 msgid "" "(experimental) Drag-and-drop support for :mod:`tkinter`. This will become " "deprecated when it is replaced with the Tk DND." @@ -649,32 +638,32 @@ msgstr "" "(experimental) Suporte de arrastar e soltar para :mod:`tkinter`. Será " "descontinuado quando for substituído pelo Tk DND." -#: ../../library/tkinter.rst:257 +#: ../../library/tkinter.rst:260 msgid ":mod:`tkinter.tix`" msgstr ":mod:`tkinter.tix`" -#: ../../library/tkinter.rst:256 +#: ../../library/tkinter.rst:259 msgid "" "(deprecated) An older third-party Tcl/Tk package that adds several new " "widgets. Better alternatives for most can be found in :mod:`tkinter.ttk`." msgstr "" -"(descontinuado) Um antigo pacote Tcl/Tk de terceiros que adiciona um número " -"significativo de novos widgets. Melhores alternativas podem ser encontradas " -"em :mod:`tkinter.ttk`." +"(descontinuado) Um pacote Tcl/Tk de terceiros mais antigo que adiciona " +"vários novos widgets. Melhores alternativas para a maioria podem ser " +"encontradas em :mod:`tkinter.ttk`." -#: ../../library/tkinter.rst:261 +#: ../../library/tkinter.rst:264 msgid ":mod:`turtle`" msgstr ":mod:`turtle`" -#: ../../library/tkinter.rst:260 +#: ../../library/tkinter.rst:263 msgid "Turtle graphics in a Tk window." msgstr "Gráficos tartaruga em uma janela Tk." -#: ../../library/tkinter.rst:264 +#: ../../library/tkinter.rst:267 msgid "Tkinter Life Preserver" msgstr "Preservador de vida Tkinter" -#: ../../library/tkinter.rst:266 +#: ../../library/tkinter.rst:269 msgid "" "This section is not designed to be an exhaustive tutorial on either Tk or " "Tkinter. For that, refer to one of the external resources noted earlier. " @@ -688,7 +677,7 @@ msgstr "" "sobre como é uma aplicação Tkinter, identifica os conceitos fundamentais do " "Tk e explica como o wrapper do Tkinter é estruturado." -#: ../../library/tkinter.rst:272 +#: ../../library/tkinter.rst:275 msgid "" "The remainder of this section will help you to identify the classes, " "methods, and options you'll need in your Tkinter application, and where to " @@ -699,11 +688,11 @@ msgstr "" "que você precisará em uma aplicação Tkinter e onde encontrar documentação " "mais detalhada sobre isso, inclusive no guia de referência oficial do Tcl/Tk." -#: ../../library/tkinter.rst:279 +#: ../../library/tkinter.rst:282 msgid "A Hello World Program" msgstr "Um programa Olá Mundo" -#: ../../library/tkinter.rst:281 +#: ../../library/tkinter.rst:284 msgid "" "We'll start by walking through a \"Hello World\" application in Tkinter. " "This isn't the smallest one we could write, but has enough to illustrate " @@ -713,19 +702,19 @@ msgstr "" "World\". Esta não é a menor aplicação que poderíamos escrever, mas tem o " "suficiente para ilustrar alguns conceitos-chave que você precisa saber." -#: ../../library/tkinter.rst:297 +#: ../../library/tkinter.rst:300 msgid "" "After the imports, the next line creates an instance of the :class:`Tk` " "class, which initializes Tk and creates its associated Tcl interpreter. It " "also creates a toplevel window, known as the root window, which serves as " "the main window of the application." msgstr "" -"Após as importações, a próxima linha será criar a instância da classe :class:" -"`Tk` que inicia Tk e cria o interpretador associado a Tcl. Ele também cria " -"uma janela de nível superior, conhecida como janela raiz, que serve como a " -"janela principal da aplicação." +"Após as importações, a próxima linha será criar a instância da " +"classe :class:`Tk` que inicia Tk e cria o interpretador associado a Tcl. Ele " +"também cria uma janela de nível superior, conhecida como janela raiz, que " +"serve como a janela principal da aplicação." -#: ../../library/tkinter.rst:302 +#: ../../library/tkinter.rst:305 msgid "" "The following line creates a frame widget, which in this case will contain a " "label and a button we'll create next. The frame is fit inside the root " @@ -734,18 +723,19 @@ msgstr "" "A linha a seguir cria um frame widget , que neste caso conterá um rótulo e " "um botão que criaremos a seguir. O frame se encaixa dentro da janela raiz." -#: ../../library/tkinter.rst:306 +#: ../../library/tkinter.rst:309 msgid "" -"The next line creates a label widget holding a static text string. The :meth:" -"`grid` method is used to specify the relative layout (position) of the label " -"within its containing frame widget, similar to how tables in HTML work." +"The next line creates a label widget holding a static text string. " +"The :meth:`grid` method is used to specify the relative layout (position) of " +"the label within its containing frame widget, similar to how tables in HTML " +"work." msgstr "" "A próxima linha cria um rótulo widget contendo uma string de texto estático. " "O método :meth:`grid` é utilizado para especificar o layout relativo " "(posição) do rótulo dentro do frame widget, semelhante a como as tabelas em " "HTML funcionam." -#: ../../library/tkinter.rst:310 +#: ../../library/tkinter.rst:313 msgid "" "A button widget is then created, and placed to the right of the label. When " "pressed, it will call the :meth:`destroy` method of the root window." @@ -753,43 +743,43 @@ msgstr "" "Então um widget de botão é criado, e posicionado à direita do rótulo. Quando " "pressionado, irá chamar o método :meth:`destroy` da janela raiz." -#: ../../library/tkinter.rst:313 +#: ../../library/tkinter.rst:316 msgid "" "Finally, the :meth:`mainloop` method puts everything on the display, and " "responds to user input until the program terminates." msgstr "" -"Por fim, o método :meth:`destroy` coloca tudo no display, e responde à " +"Por fim, o método :meth:`mainloop` coloca tudo no display, e responde à " "entrada do usuário até que o programa termine." -#: ../../library/tkinter.rst:319 +#: ../../library/tkinter.rst:322 msgid "Important Tk Concepts" msgstr "Conceitos importantes do Tk" -#: ../../library/tkinter.rst:321 +#: ../../library/tkinter.rst:324 msgid "Even this simple program illustrates the following key Tk concepts:" msgstr "" "Mesmo com este programa simples, os conceitos-chave do Tk podem ser " "mostrados:" -#: ../../library/tkinter.rst:326 +#: ../../library/tkinter.rst:329 msgid "widgets" msgstr "widgets" -#: ../../library/tkinter.rst:324 +#: ../../library/tkinter.rst:327 msgid "" "A Tkinter user interface is made up of individual *widgets*. Each widget is " -"represented as a Python object, instantiated from classes like :class:`ttk." -"Frame`, :class:`ttk.Label`, and :class:`ttk.Button`." +"represented as a Python object, instantiated from classes " +"like :class:`ttk.Frame`, :class:`ttk.Label`, and :class:`ttk.Button`." msgstr "" "A interface de usuário do Tkinter é composta de *widgets* individuais. Cada " -"widget é representado como um objeto Python, instanciado de classes como :" -"class:`ttk.Frame`, :class:`ttk.Label`, e :class:`ttk.Button`." +"widget é representado como um objeto Python, instanciado de classes " +"como :class:`ttk.Frame`, :class:`ttk.Label`, e :class:`ttk.Button`." -#: ../../library/tkinter.rst:332 +#: ../../library/tkinter.rst:335 msgid "widget hierarchy" msgstr "hierarquia dos widgets" -#: ../../library/tkinter.rst:329 +#: ../../library/tkinter.rst:332 msgid "" "Widgets are arranged in a *hierarchy*. The label and button were contained " "within a frame, which in turn was contained within the root window. When " @@ -801,11 +791,11 @@ msgstr "" "criamos um widget *filho*, seu widget *pai* é passado como primeiro " "argumento para o construtor do widget." -#: ../../library/tkinter.rst:337 +#: ../../library/tkinter.rst:340 msgid "configuration options" msgstr "opções de configuração" -#: ../../library/tkinter.rst:335 +#: ../../library/tkinter.rst:338 msgid "" "Widgets have *configuration options*, which modify their appearance and " "behavior, such as the text to display in a label or button. Different " @@ -815,11 +805,11 @@ msgstr "" "comportamento, como o texto a ser exibido em um rótulo ou botão. Diferentes " "classes de widgets terão diferentes conjuntos de opções." -#: ../../library/tkinter.rst:342 +#: ../../library/tkinter.rst:345 msgid "geometry management" msgstr "gerenciamento de geometria" -#: ../../library/tkinter.rst:340 +#: ../../library/tkinter.rst:343 msgid "" "Widgets aren't automatically added to the user interface when they are " "created. A *geometry manager* like ``grid`` controls where in the user " @@ -829,11 +819,11 @@ msgstr "" "eles são criados. Um *gerenciador de geometria* como ``grid`` controla onde " "na interface de usuário eles são colocados." -#: ../../library/tkinter.rst:348 +#: ../../library/tkinter.rst:351 msgid "event loop" msgstr "loop de eventos" -#: ../../library/tkinter.rst:345 +#: ../../library/tkinter.rst:348 msgid "" "Tkinter reacts to user input, changes from your program, and even refreshes " "the display only when actively running an *event loop*. If your program " @@ -844,15 +834,15 @@ msgstr "" "seu programa não estiver executando o loop de eventos, sua interface de " "usuário não será atualizada." -#: ../../library/tkinter.rst:351 +#: ../../library/tkinter.rst:354 msgid "Understanding How Tkinter Wraps Tcl/Tk" msgstr "Entendendo como Tkinter envolve Tcl/Tk" -#: ../../library/tkinter.rst:353 +#: ../../library/tkinter.rst:356 msgid "" "When your application uses Tkinter's classes and methods, internally Tkinter " "is assembling strings representing Tcl/Tk commands, and executing those " -"commands in the Tcl interpreter attached to your applicaton's :class:`Tk` " +"commands in the Tcl interpreter attached to your application's :class:`Tk` " "instance." msgstr "" "Quando a sua aplicação utiliza as classes e métodos do Tkinter, internamente " @@ -860,7 +850,7 @@ msgstr "" "esses comandos no interpretador Tcl anexado à instância :class:`Tk` de sua " "aplicação." -#: ../../library/tkinter.rst:358 +#: ../../library/tkinter.rst:361 msgid "" "Whether it's trying to navigate reference documentation, trying to find the " "right method or option, adapting some existing code, or debugging your " @@ -872,7 +862,7 @@ msgstr "" "aplicativo Tkinter, há momentos em que será útil entender como são os " "comandos Tcl/Tk subjacentes." -#: ../../library/tkinter.rst:363 +#: ../../library/tkinter.rst:366 msgid "" "To illustrate, here is the Tcl/Tk equivalent of the main part of the Tkinter " "script above." @@ -880,7 +870,7 @@ msgstr "" "Para ilustrar, aqui está o equivalente Tcl/Tk da parte principal do script " "Tkinter acima." -#: ../../library/tkinter.rst:374 +#: ../../library/tkinter.rst:377 msgid "" "Tcl's syntax is similar to many shell languages, where the first word is the " "command to be executed, with arguments to that command following it, " @@ -891,7 +881,7 @@ msgstr "" "palavra é o comando a ser executado, seguido de argumentos para esse comando " "separados por espaços. Sem entrar em muitos detalhes, observe o seguinte:" -#: ../../library/tkinter.rst:378 +#: ../../library/tkinter.rst:381 msgid "" "The commands used to create widgets (like ``ttk::frame``) correspond to " "widget classes in Tkinter." @@ -899,7 +889,7 @@ msgstr "" "Os comandos usados para criar widgets (como ``ttk::frame``) correspondem a " "classes de widgets no Tkinter." -#: ../../library/tkinter.rst:381 +#: ../../library/tkinter.rst:384 msgid "" "Tcl widget options (like ``-text``) correspond to keyword arguments in " "Tkinter." @@ -907,7 +897,7 @@ msgstr "" "As opções de widget Tcl (como ``-text``) correspondem a argumentos nomeados " "no Tkinter." -#: ../../library/tkinter.rst:384 +#: ../../library/tkinter.rst:387 msgid "" "Widgets are referred to by a *pathname* in Tcl (like ``.frm.btn``), whereas " "Tkinter doesn't use names but object references." @@ -915,7 +905,7 @@ msgstr "" "Widgets são referenciados por um *pathname* em Tcl (like ``.frm.btn``), " "enquanto o Tkinter não utiliza nomes, mas referências a objetos." -#: ../../library/tkinter.rst:387 +#: ../../library/tkinter.rst:390 msgid "" "A widget's place in the widget hierarchy is encoded in its (hierarchical) " "pathname, which uses a ``.`` (dot) as a path separator. The pathname for the " @@ -928,7 +918,7 @@ msgstr "" "é definida não pelo pathname, mas pela especificação do widget pai ao criar " "cada widget filho." -#: ../../library/tkinter.rst:393 +#: ../../library/tkinter.rst:396 msgid "" "Operations which are implemented as separate *commands* in Tcl (like " "``grid`` or ``destroy``) are represented as *methods* on Tkinter widget " @@ -942,62 +932,85 @@ msgstr "" "parecem ser chamadas de método em objetos widget, que espelham mais de perto " "o que seria usado no Tkinter." -#: ../../library/tkinter.rst:401 +#: ../../library/tkinter.rst:404 msgid "How do I...? What option does...?" msgstr "Como é que eu...? Que opção faz...?" -#: ../../library/tkinter.rst:403 +#: ../../library/tkinter.rst:406 msgid "" "If you're not sure how to do something in Tkinter, and you can't immediately " "find it in the tutorial or reference documentation you're using, there are a " "few strategies that can be helpful." msgstr "" +"Se você não tem certeza de como fazer algo no Tkinter e não consegue " +"encontrá-lo imediatamente no tutorial ou na documentação de referência que " +"está usando, existem algumas estratégias que podem ser úteis." -#: ../../library/tkinter.rst:407 +#: ../../library/tkinter.rst:410 msgid "" "First, remember that the details of how individual widgets work may vary " "across different versions of both Tkinter and Tcl/Tk. If you're searching " "documentation, make sure it corresponds to the Python and Tcl/Tk versions " "installed on your system." msgstr "" +"Primeiro, lembre-se de que os detalhes de como os widgets individuais " +"funcionam podem variar entre diferentes versões tanto do Tkinter quanto do " +"Tcl/Tk. Se você estiver procurando por documentação, certifique-se de que " +"corresponda às versões do Python e Tcl/Tk instaladas em seu sistema." -#: ../../library/tkinter.rst:412 +#: ../../library/tkinter.rst:415 msgid "" "When searching for how to use an API, it helps to know the exact name of the " "class, option, or method that you're using. Introspection, either in an " "interactive Python shell or with :func:`print`, can help you identify what " "you need." msgstr "" +"Ao procurar como usar uma API, é útil saber o nome exato da classe, opção ou " +"método que você está usando. A introspecção, seja em um console Python " +"interativo ou com a :func:`print`, pode ajudar a identificar o que você " +"precisa." -#: ../../library/tkinter.rst:417 +#: ../../library/tkinter.rst:420 msgid "" "To find out what configuration options are available on any widget, call " "its :meth:`configure` method, which returns a dictionary containing a " "variety of information about each object, including its default and current " "values. Use :meth:`keys` to get just the names of each option." msgstr "" +"Para descobrir quais opções de configuração estão disponíveis em qualquer " +"widget, chame o método :meth:`configure`, que retorna um dicionário contendo " +"uma variedade de informações sobre cada objeto, incluindo seus valores " +"padrão e atuais. Use :meth:`keys` para obter apenas os nomes de cada opção." -#: ../../library/tkinter.rst:427 +#: ../../library/tkinter.rst:430 msgid "" "As most widgets have many configuration options in common, it can be useful " "to find out which are specific to a particular widget class. Comparing the " "list of options to that of a simpler widget, like a frame, is one way to do " "that." msgstr "" +"Como a maioria dos widgets tem muitas opções de configuração em comum, pode " +"ser útil descobrir quais são específicas para uma determinada classe de " +"widget. Comparar a lista de opções com a de um widget mais simples, como um " +"frame, é uma maneira de fazer isso." -#: ../../library/tkinter.rst:436 +#: ../../library/tkinter.rst:439 msgid "" "Similarly, you can find the available methods for a widget object using the " "standard :func:`dir` function. If you try it, you'll see there are over 200 " "common widget methods, so again identifying those specific to a widget class " "is helpful." msgstr "" +"Da mesma forma, você pode encontrar os métodos disponíveis para um objeto " +"widget usando a função padrão :func:`dir`. Se você tentar, verá que existem " +"mais de 200 métodos comuns de widget, então identificar aqueles específicos " +"para uma classe de widget é útil." -#: ../../library/tkinter.rst:448 +#: ../../library/tkinter.rst:451 msgid "Navigating the Tcl/Tk Reference Manual" msgstr "Navegando no Manual de Referência Tcl/Tk" -#: ../../library/tkinter.rst:450 +#: ../../library/tkinter.rst:453 msgid "" "As noted, the official `Tk commands `_ reference manual (man pages) is often the most accurate " @@ -1005,72 +1018,105 @@ msgid "" "the name of the option or method that you need, you may still have a few " "places to look." msgstr "" +"Como observado, o manual (páginas man) de referência oficial dos `comandos " +"Tk `_ é frequentemente a " +"descrição mais precisa do que operações específicas em widgets fazem. Mesmo " +"quando você sabe o nome da opção ou método que você precisa, você ainda pode " +"ter alguns lugares para procurar." -#: ../../library/tkinter.rst:455 +#: ../../library/tkinter.rst:458 msgid "" "While all operations in Tkinter are implemented as method calls on widget " "objects, you've seen that many Tcl/Tk operations appear as commands that " "take a widget pathname as its first parameter, followed by optional " "parameters, e.g." msgstr "" +"Enquanto todas as operações no Tkinter são implementadas como chamadas de " +"método em objetos de widget, você viu que muitas operações Tcl/Tk aparecem " +"como comandos que recebem um caminho de widget como seu primeiro parâmetro, " +"seguido de parâmetros opcionais, por exemplo." -#: ../../library/tkinter.rst:465 +#: ../../library/tkinter.rst:468 msgid "" "Others, however, look more like methods called on a widget object (in fact, " "when you create a widget in Tcl/Tk, it creates a Tcl command with the name " "of the widget pathname, with the first parameter to that command being the " "name of a method to call)." msgstr "" +"Outros, no entanto, parecem mais com métodos chamados em um objeto widget " +"(na verdade, quando você cria um widget em Tcl/Tk, ele cria um comando Tcl " +"com o nome do caminho do widget, sendo o primeiro parâmetro desse comando o " +"nome de um método a ser chamado)." -#: ../../library/tkinter.rst:476 +#: ../../library/tkinter.rst:479 msgid "" "In the official Tcl/Tk reference documentation, you'll find most operations " "that look like method calls on the man page for a specific widget (e.g., " -"you'll find the :meth:`invoke` method on the `ttk::button `_ man page), while functions that take a " -"widget as a parameter often have their own man page (e.g., `grid `_ man page), while functions " +"that take a widget as a parameter often have their own man page (e.g., `grid " +"`_)." +msgstr "" +"Na documentação oficial de referência do Tcl/Tk, você encontrará a maioria " +"das operações que se parecem com chamadas de método na página man de um " +"widget específico (por exemplo, você encontrará o método :meth:`invoke` na " +"página man do `ttk::button `_), enquanto as funções que recebem um widget como parâmetro " +"geralmente têm sua própria página man (por exemplo, `grid `_)." -msgstr "" -#: ../../library/tkinter.rst:484 +#: ../../library/tkinter.rst:487 msgid "" -"You'll find many common options and methods in the `options `_ or `ttk::widget `_ man pages, while others are found in the man " -"page for a specific widget class." +"You'll find many common options and methods in the `options `_ or `ttk::widget `_ man pages, while others are " +"found in the man page for a specific widget class." msgstr "" +"Você encontrará muitas opções e métodos comuns nas páginas man `options " +"`_ e `ttk::widget `_, enquanto outros são " +"encontrados na página man para uma classe de widget específica." -#: ../../library/tkinter.rst:489 +#: ../../library/tkinter.rst:492 msgid "" -"You'll also find that many Tkinter methods have compound names, e.g., :func:" -"`winfo_x`, :func:`winfo_height`, :func:`winfo_viewable`. You'd find " -"documentation for all of these in the `winfo `_ man page." +"You'll also find that many Tkinter methods have compound names, " +"e.g., :func:`winfo_x`, :func:`winfo_height`, :func:`winfo_viewable`. You'd " +"find documentation for all of these in the `winfo `_ man page." msgstr "" +"Você também encontrará que muitos métodos do Tkinter têm nomes compostos, " +"por exemplo, :func:`winfo_x`, :func:`winfo_height`, :func:`winfo_viewable`. " +"Você encontra documentação para todos eles na página man `winfo `_." -#: ../../library/tkinter.rst:495 +#: ../../library/tkinter.rst:498 msgid "" "Somewhat confusingly, there are also methods on all Tkinter widgets that " "don't actually operate on the widget, but operate at a global scope, " "independent of any widget. Examples are methods for accessing the clipboard " -"or the system bell. (They happen to be implemented as methods in the base :" -"class:`Widget` class that all Tkinter widgets inherit from)." +"or the system bell. (They happen to be implemented as methods in the " +"base :class:`Widget` class that all Tkinter widgets inherit from)." msgstr "" +"De forma bem confusa, também existem métodos em todos os widgets do Tkinter " +"que na verdade não operam no widget, mas operam em um escopo global, " +"independente de qualquer widget. Exemplos são métodos para acessar a área de " +"transferência ou o sinal do sistema. (Eles são implementados como métodos na " +"classe base :class:`Widget` da qual todos os widgets do Tkinter herdam)." -#: ../../library/tkinter.rst:504 +#: ../../library/tkinter.rst:507 msgid "Threading model" msgstr "Modelo de threading" -#: ../../library/tkinter.rst:506 +#: ../../library/tkinter.rst:509 msgid "" "Python and Tcl/Tk have very different threading models, which :mod:`tkinter` " "tries to bridge. If you use threads, you may need to be aware of this." msgstr "" -"Python e Tcl/Tk têm modelos de threading muito diferentes, que :mod:" -"`tkinter` tenta fazer a ponte. Se você usa threads, pode precisar estar " -"ciente disso." +"Python e Tcl/Tk têm modelos de threading muito diferentes, " +"que :mod:`tkinter` tenta fazer a ponte. Se você usa threads, pode precisar " +"estar ciente disso." -#: ../../library/tkinter.rst:509 +#: ../../library/tkinter.rst:512 msgid "" "A Python interpreter may have many threads associated with it. In Tcl, " "multiple threads can be created, but each thread has a separate Tcl " @@ -1084,7 +1130,7 @@ msgstr "" "de uma instância do interpretador, embora cada instância do interpretador " "possa ser usada apenas pela thread que a criou." -#: ../../library/tkinter.rst:514 +#: ../../library/tkinter.rst:517 msgid "" "Each :class:`Tk` object created by :mod:`tkinter` contains a Tcl " "interpreter. It also keeps track of which thread created that interpreter. " @@ -1100,17 +1146,17 @@ msgstr "" "objeto :class:`Tk`, um evento é postado na fila de eventos do interpretador " "e, quando executado, o resultado é retornado ao thread de chamada do Python." -#: ../../library/tkinter.rst:521 +#: ../../library/tkinter.rst:524 msgid "" "Tcl/Tk applications are normally event-driven, meaning that after " -"initialization, the interpreter runs an event loop (i.e. :func:`Tk." -"mainloop`) and responds to events. Because it is single-threaded, event " -"handlers must respond quickly, otherwise they will block other events from " -"being processed. To avoid this, any long-running computations should not run " -"in an event handler, but are either broken into smaller pieces using timers, " -"or run in another thread. This is different from many GUI toolkits where the " -"GUI runs in a completely separate thread from all application code including " -"event handlers." +"initialization, the interpreter runs an event loop " +"(i.e. :func:`Tk.mainloop`) and responds to events. Because it is single-" +"threaded, event handlers must respond quickly, otherwise they will block " +"other events from being processed. To avoid this, any long-running " +"computations should not run in an event handler, but are either broken into " +"smaller pieces using timers, or run in another thread. This is different " +"from many GUI toolkits where the GUI runs in a completely separate thread " +"from all application code including event handlers." msgstr "" "As aplicações Tcl/Tk são normalmente orientadas a eventos, o que significa " "que após a inicialização, o interpretador executa um laço de eventos (ou " @@ -1123,7 +1169,7 @@ msgstr "" "de GUI em que a GUI é executada em um thread completamente separado de todo " "o código do aplicação, incluindo tratadores de eventos." -#: ../../library/tkinter.rst:530 +#: ../../library/tkinter.rst:533 msgid "" "If the Tcl interpreter is not running the event loop and processing events, " "any :mod:`tkinter` calls made from threads other than the one running the " @@ -1133,27 +1179,27 @@ msgstr "" "processando eventos, qualquer chamada :mod:`tkinter` feita de threads " "diferentes daquela que está executando o interpretador do Tcl irá falhar." -#: ../../library/tkinter.rst:534 +#: ../../library/tkinter.rst:537 msgid "A number of special cases exist:" msgstr "Existem vários casos especiais:" -#: ../../library/tkinter.rst:536 +#: ../../library/tkinter.rst:539 msgid "" -"Tcl/Tk libraries can be built so they are not thread-aware. In this case, :" -"mod:`tkinter` calls the library from the originating Python thread, even if " -"this is different than the thread that created the Tcl interpreter. A global " -"lock ensures only one call occurs at a time." +"Tcl/Tk libraries can be built so they are not thread-aware. In this " +"case, :mod:`tkinter` calls the library from the originating Python thread, " +"even if this is different than the thread that created the Tcl interpreter. " +"A global lock ensures only one call occurs at a time." msgstr "" "Bibliotecas Tcl/Tk podem ser construídas de forma que não reconheçam thread. " "Neste caso, :mod:`tkinter` chama a biblioteca da thread originadora do " -"Python, mesmo que seja diferente da thread que criou o interpretador Tcl. Um " -"bloqueio global garante que apenas uma chamada ocorra por vez." +"Python, mesmo que seja diferente da thread que criou o interpretador Tcl. " +"Uma trava global garante que apenas uma chamada ocorra por vez." -#: ../../library/tkinter.rst:541 +#: ../../library/tkinter.rst:544 msgid "" -"While :mod:`tkinter` allows you to create more than one instance of a :class:" -"`Tk` object (with its own interpreter), all interpreters that are part of " -"the same thread share a common event queue, which gets ugly fast. In " +"While :mod:`tkinter` allows you to create more than one instance of " +"a :class:`Tk` object (with its own interpreter), all interpreters that are " +"part of the same thread share a common event queue, which gets ugly fast. In " "practice, don't create more than one instance of :class:`Tk` at a time. " "Otherwise, it's best to create them in separate threads and ensure you're " "running a thread-aware Tcl/Tk build." @@ -1161,12 +1207,12 @@ msgstr "" "Enquanto :mod:`tkinter` permite que você crie mais de uma instância de um " "objeto :class:`Tk` (com seu próprio interpretador), todos os interpretadores " "que fazem parte da mesma thread compartilham uma fila de eventos comum, o " -"que fica muito rápido. Na prática, não crie mais de uma instância de :class:" -"`Tk` por vez. Caso contrário, é melhor criá-los em threads separadas e " -"garantir que você esteja executando uma construção Tcl/Tk com reconhecimento " -"de thread." +"que fica muito rápido. Na prática, não crie mais de uma instância " +"de :class:`Tk` por vez. Caso contrário, é melhor criá-los em threads " +"separadas e garantir que você esteja executando uma construção Tcl/Tk com " +"reconhecimento de thread." -#: ../../library/tkinter.rst:547 +#: ../../library/tkinter.rst:550 msgid "" "Blocking event handlers are not the only way to prevent the Tcl interpreter " "from reentering the event loop. It is even possible to run multiple nested " @@ -1179,7 +1225,7 @@ msgstr "" "eventos. Se você estiver fazendo algo complicado quando se trata de eventos " "ou threads, esteja ciente dessas possibilidades." -#: ../../library/tkinter.rst:552 +#: ../../library/tkinter.rst:555 msgid "" "There are a few select :mod:`tkinter` functions that presently work only " "when called from the thread that created the Tcl interpreter." @@ -1188,15 +1234,15 @@ msgstr "" "funcionam apenas quando chamadas a partir da thread que criou o " "interpretador Tcl." -#: ../../library/tkinter.rst:557 +#: ../../library/tkinter.rst:560 msgid "Handy Reference" msgstr "Referência Útil" -#: ../../library/tkinter.rst:563 +#: ../../library/tkinter.rst:566 msgid "Setting Options" msgstr "Opções de Definição" -#: ../../library/tkinter.rst:565 +#: ../../library/tkinter.rst:568 msgid "" "Options control things like the color and border width of a widget. Options " "can be set in three ways:" @@ -1204,17 +1250,17 @@ msgstr "" "As opções controlam coisas como a cor e a largura da borda de um widget. As " "opções podem ser definidas de três maneiras:" -#: ../../library/tkinter.rst:571 +#: ../../library/tkinter.rst:574 msgid "At object creation time, using keyword arguments" msgstr "No momento da criação do objeto, usando argumentos nomeados" -#: ../../library/tkinter.rst:577 +#: ../../library/tkinter.rst:580 msgid "After object creation, treating the option name like a dictionary index" msgstr "" "Após a criação do objeto, tratando o nome da opção como um índice de " "dicionário" -#: ../../library/tkinter.rst:582 +#: ../../library/tkinter.rst:585 msgid "" "Use the config() method to update multiple attrs subsequent to object " "creation" @@ -1222,7 +1268,7 @@ msgstr "" "Use o método config() para atualizar vários attrs posteriores à criação do " "objeto" -#: ../../library/tkinter.rst:584 +#: ../../library/tkinter.rst:587 msgid "" "For a complete explanation of a given option and its behavior, see the Tk " "man pages for the widget in question." @@ -1230,21 +1276,21 @@ msgstr "" "Para uma explicação completa de uma dada opção e seu comportamento, veja as " "páginas man do Tk para o widget em questão." -#: ../../library/tkinter.rst:587 +#: ../../library/tkinter.rst:590 msgid "" "Note that the man pages list \"STANDARD OPTIONS\" and \"WIDGET SPECIFIC " "OPTIONS\" for each widget. The former is a list of options that are common " "to many widgets, the latter are the options that are idiosyncratic to that " -"particular widget. The Standard Options are documented on the :manpage:" -"`options(3)` man page." +"particular widget. The Standard Options are documented on " +"the :manpage:`options(3)` man page." msgstr "" "Note que as páginas man listam \"OPÇÕES PADRÃO\" e \"OPÇÕES DE WIDGET " "ESPECÍFICO\" para cada widget. A primeira é uma lista de opções que são " "comuns a vários widgets, e a segunda são opções que são idiossincráticas ao " -"widget em particular. As Opções Padrão estão documentadas na página man :" -"manpage:`options(3)`." +"widget em particular. As Opções Padrão estão documentadas na página " +"man :manpage:`options(3)`." -#: ../../library/tkinter.rst:593 +#: ../../library/tkinter.rst:596 msgid "" "No distinction between standard and widget-specific options is made in this " "document. Some options don't apply to some kinds of widgets. Whether a " @@ -1256,7 +1302,7 @@ msgstr "" "resposta de um dado widget a uma opção particular depende da classe do " "widget; botões possuem a opção ``command``, etiquetas não." -#: ../../library/tkinter.rst:598 +#: ../../library/tkinter.rst:601 msgid "" "The options supported by a given widget are listed in that widget's man " "page, or can be queried at runtime by calling the :meth:`config` method " @@ -1265,13 +1311,13 @@ msgid "" "option as a string (for example, ``'relief'``) and whose values are 5-tuples." msgstr "" "As opções suportadas por um dado widget estão listadas na página man daquele " -"widget, ou podem ser consultadas no tempo de execução chamando o método :" -"meth:`config` sem argumentos, ou chamando o método :meth:`keys` daquele " -"widget. O valor retornado por essas chamadas é um dicionário cujas chaves " -"são os nomes das opções como uma string (por exemplo, ``'relief'``) e cujos " -"valores são tuplas de 5 elementos." +"widget, ou podem ser consultadas no tempo de execução chamando o " +"método :meth:`config` sem argumentos, ou chamando o método :meth:`keys` " +"daquele widget. O valor retornado por essas chamadas é um dicionário cujas " +"chaves são os nomes das opções como uma string (por exemplo, ``'relief'``) e " +"cujos valores são tuplas de 5 elementos." -#: ../../library/tkinter.rst:604 +#: ../../library/tkinter.rst:607 msgid "" "Some options, like ``bg`` are synonyms for common options with long names " "(``bg`` is shorthand for \"background\"). Passing the ``config()`` method " @@ -1286,79 +1332,79 @@ msgstr "" "de 2 elementos devolvida irá conter o nome do sinônimo e a opção " "\"verdadeira\" (como por exemplo em ``('bg', 'background')``)." -#: ../../library/tkinter.rst:611 +#: ../../library/tkinter.rst:614 msgid "Index" msgstr "Índice" -#: ../../library/tkinter.rst:611 +#: ../../library/tkinter.rst:614 msgid "Meaning" msgstr "Significado" -#: ../../library/tkinter.rst:611 +#: ../../library/tkinter.rst:614 msgid "Example" msgstr "Exemplo" -#: ../../library/tkinter.rst:613 +#: ../../library/tkinter.rst:616 msgid "0" msgstr "0" -#: ../../library/tkinter.rst:613 +#: ../../library/tkinter.rst:616 msgid "option name" msgstr "nome da opção" -#: ../../library/tkinter.rst:613 ../../library/tkinter.rst:615 +#: ../../library/tkinter.rst:616 ../../library/tkinter.rst:618 msgid "``'relief'``" msgstr "``'relief'``" -#: ../../library/tkinter.rst:615 +#: ../../library/tkinter.rst:618 msgid "1" msgstr "1" -#: ../../library/tkinter.rst:615 +#: ../../library/tkinter.rst:618 msgid "option name for database lookup" msgstr "nome da opção para buscas de banco de dados" -#: ../../library/tkinter.rst:617 +#: ../../library/tkinter.rst:620 msgid "2" msgstr "2" -#: ../../library/tkinter.rst:617 +#: ../../library/tkinter.rst:620 msgid "option class for database lookup" msgstr "classe de opção para busca de banco de dados" -#: ../../library/tkinter.rst:617 +#: ../../library/tkinter.rst:620 msgid "``'Relief'``" msgstr "``'Relief'``" -#: ../../library/tkinter.rst:620 +#: ../../library/tkinter.rst:623 msgid "3" msgstr "3" -#: ../../library/tkinter.rst:620 +#: ../../library/tkinter.rst:623 msgid "default value" msgstr "valor padrão" -#: ../../library/tkinter.rst:620 +#: ../../library/tkinter.rst:623 msgid "``'raised'``" msgstr "``'raised'``" -#: ../../library/tkinter.rst:622 +#: ../../library/tkinter.rst:625 msgid "4" msgstr "4" -#: ../../library/tkinter.rst:622 +#: ../../library/tkinter.rst:625 msgid "current value" msgstr "valor atual" -#: ../../library/tkinter.rst:622 +#: ../../library/tkinter.rst:625 msgid "``'groove'``" msgstr "``'groove'``" -#: ../../library/tkinter.rst:625 +#: ../../library/tkinter.rst:628 msgid "Example::" msgstr "Exemplo::" -#: ../../library/tkinter.rst:630 +#: ../../library/tkinter.rst:633 msgid "" "Of course, the dictionary printed will include all the options available and " "their values. This is meant only as an example." @@ -1366,11 +1412,11 @@ msgstr "" "É claro que o dicionário exibido irá incluir todas as opções disponíveis e " "seus valores. Isso foi apenas um exemplo." -#: ../../library/tkinter.rst:635 +#: ../../library/tkinter.rst:638 msgid "The Packer" msgstr "O Empacotador" -#: ../../library/tkinter.rst:639 +#: ../../library/tkinter.rst:642 msgid "" "The packer is one of Tk's geometry-management mechanisms. Geometry " "managers are used to specify the relative positioning of widgets within " @@ -1388,7 +1434,7 @@ msgstr "" "de relacionamento qualitativo - *acima*, *à esquerda de*, *preenchimento*, " "etc. - e determina as coordenadas de posição exatas para você." -#: ../../library/tkinter.rst:646 +#: ../../library/tkinter.rst:649 msgid "" "The size of any *master* widget is determined by the size of the \"slave " "widgets\" inside. The packer is used to control where slave widgets appear " @@ -1405,7 +1451,7 @@ msgstr "" "dinamicamente para acomodar alterações incrementais na configuração, uma vez " "que é empacotado." -#: ../../library/tkinter.rst:653 +#: ../../library/tkinter.rst:656 msgid "" "Note that widgets do not appear until they have had their geometry specified " "with a geometry manager. It's a common early mistake to leave out the " @@ -1420,7 +1466,7 @@ msgstr "" "tiver, por exemplo, o método método :meth:`pack` do empacotador aplicado a " "ele." -#: ../../library/tkinter.rst:659 +#: ../../library/tkinter.rst:662 msgid "" "The pack() method can be called with keyword-option/value pairs that control " "where the widget is to appear within its container, and how it is to behave " @@ -1431,11 +1477,11 @@ msgstr "" "deverá se comportar quando a janela da aplicação principal for " "redimensionada. Aqui estão alguns exemplos::" -#: ../../library/tkinter.rst:669 +#: ../../library/tkinter.rst:672 msgid "Packer Options" msgstr "Opções do Empacotador" -#: ../../library/tkinter.rst:671 +#: ../../library/tkinter.rst:674 msgid "" "For more extensive information on the packer and the options that it can " "take, see the man pages and page 183 of John Ousterhout's book." @@ -1443,68 +1489,68 @@ msgstr "" "Para uma informação mais completa do empacotador e as opções que pode " "receber, veja as páginas man e a página 183 do livro do John Ousterhout." -#: ../../library/tkinter.rst:675 ../../library/tkinter.rst:795 +#: ../../library/tkinter.rst:678 ../../library/tkinter.rst:798 msgid "anchor" msgstr "anchor" -#: ../../library/tkinter.rst:675 +#: ../../library/tkinter.rst:678 msgid "" "Anchor type. Denotes where the packer is to place each slave in its parcel." msgstr "" "Tipo âncora. Denota onde o packer deverá posicionar cada ajudante em seu " "pacote." -#: ../../library/tkinter.rst:678 +#: ../../library/tkinter.rst:681 msgid "expand" msgstr "expand" -#: ../../library/tkinter.rst:678 +#: ../../library/tkinter.rst:681 msgid "Boolean, ``0`` or ``1``." msgstr "Booleano, ``0`` ou ``1``." -#: ../../library/tkinter.rst:681 +#: ../../library/tkinter.rst:684 msgid "fill" msgstr "fill" -#: ../../library/tkinter.rst:681 +#: ../../library/tkinter.rst:684 msgid "Legal values: ``'x'``, ``'y'``, ``'both'``, ``'none'``." msgstr "Valores legais: ``'x'``, ``'y'``, ``'both'``, ``'none'``." -#: ../../library/tkinter.rst:684 +#: ../../library/tkinter.rst:687 msgid "ipadx and ipady" msgstr "ipadx e ipady" -#: ../../library/tkinter.rst:684 +#: ../../library/tkinter.rst:687 msgid "" "A distance - designating internal padding on each side of the slave widget." msgstr "" "Uma distância - designando o deslocamento interno de cada lado do widget " "ajudante." -#: ../../library/tkinter.rst:687 +#: ../../library/tkinter.rst:690 msgid "padx and pady" -msgstr "padx and pady" +msgstr "padx e pady" -#: ../../library/tkinter.rst:687 +#: ../../library/tkinter.rst:690 msgid "" "A distance - designating external padding on each side of the slave widget." msgstr "" "Uma distância - designando o deslocamento externo de cada lado do widget " "ajudante." -#: ../../library/tkinter.rst:691 +#: ../../library/tkinter.rst:694 msgid "side" msgstr "side" -#: ../../library/tkinter.rst:690 +#: ../../library/tkinter.rst:693 msgid "Legal values are: ``'left'``, ``'right'``, ``'top'``, ``'bottom'``." msgstr "Valores legais são: ``'left'``, ``'right'``, ``'top'``, ``'bottom'``." -#: ../../library/tkinter.rst:694 +#: ../../library/tkinter.rst:697 msgid "Coupling Widget Variables" msgstr "Acoplando Variáveis de Widgets" -#: ../../library/tkinter.rst:696 +#: ../../library/tkinter.rst:699 msgid "" "The current-value setting of some widgets (like text entry widgets) can be " "connected directly to application variables by using special options. These " @@ -1520,7 +1566,7 @@ msgstr "" "lados: Se por algum motivo a variável se altera, o widget ao qual ela está " "conectada irá se atualizar para refletir este novo valor." -#: ../../library/tkinter.rst:702 +#: ../../library/tkinter.rst:705 msgid "" "Unfortunately, in the current implementation of :mod:`tkinter` it is not " "possible to hand over an arbitrary Python variable to a widget through a " @@ -1531,34 +1577,34 @@ msgstr "" "Infelizmente, na atual implementação do :mod:`tkinter` não é possível passar " "uma variável Python arbitrária para um widget por uma opção ``variable`` ou " "``textvariable``. Os únicos tipos de variáveis para as quais isso funciona " -"são variáveis que são subclasses da classe chamada Variable, definida em :" -"mod:`tkinter`." - -#: ../../library/tkinter.rst:708 -msgid "" -"There are many useful subclasses of Variable already defined: :class:" -"`StringVar`, :class:`IntVar`, :class:`DoubleVar`, and :class:`BooleanVar`. " -"To read the current value of such a variable, call the :meth:`get` method on " -"it, and to change its value you call the :meth:`!set` method. If you follow " -"this protocol, the widget will always track the value of the variable, with " -"no further intervention on your part." -msgstr "" -"Há muitas subclasses de Variable úteis já definidas: :class:`StringVar`, :" -"class:`IntVar`, :class:`DoubleVar`, e :class:`BooleanVar`. Para ler o atual " -"valor de uma variável, chame o método :meth:`get` nelas, e para alterar o " -"valor você deve chamar o método :meth:`!set`. Se você seguir este protocolo, " -"o widget irá sempre acompanhar os valores da variável, sem nenhuma " -"intervenção da sua parte." - -#: ../../library/tkinter.rst:715 ../../library/tkinter.rst:895 +"são variáveis que são subclasses da classe chamada Variable, definida " +"em :mod:`tkinter`." + +#: ../../library/tkinter.rst:711 +msgid "" +"There are many useful subclasses of Variable already " +"defined: :class:`StringVar`, :class:`IntVar`, :class:`DoubleVar`, " +"and :class:`BooleanVar`. To read the current value of such a variable, call " +"the :meth:`get` method on it, and to change its value you call the :meth:`!" +"set` method. If you follow this protocol, the widget will always track the " +"value of the variable, with no further intervention on your part." +msgstr "" +"Há muitas subclasses de Variable úteis já " +"definidas: :class:`StringVar`, :class:`IntVar`, :class:`DoubleVar`, " +"e :class:`BooleanVar`. Para ler o atual valor de uma variável, chame o " +"método :meth:`get` nelas, e para alterar o valor você deve chamar o " +"método :meth:`!set`. Se você seguir este protocolo, o widget irá sempre " +"acompanhar os valores da variável, sem nenhuma intervenção da sua parte." + +#: ../../library/tkinter.rst:718 ../../library/tkinter.rst:898 msgid "For example::" msgstr "Por exemplo::" -#: ../../library/tkinter.rst:748 +#: ../../library/tkinter.rst:751 msgid "The Window Manager" msgstr "O Gerenciador de Janela" -#: ../../library/tkinter.rst:752 +#: ../../library/tkinter.rst:755 msgid "" "In Tk, there is a utility command, ``wm``, for interacting with the window " "manager. Options to the ``wm`` command allow you to control things like " @@ -1569,20 +1615,21 @@ msgid "" msgstr "" "No Tk, existe um comando utilitário, ``wm``, para interagir com o " "gerenciador de janelas. As opções do comando ``wm`` permitem que você " -"controle coisas como títulos, localização, ícones bitmap, entre outros. No :" -"mod:`tkinter`, estes comandos foram implementados como métodos da classe :" -"class:`Wm` class. Widgets de mais alto nívelsão subclasses da classe :class:" -"`Wm` e portanto podem chamar os métodos :class:`Wm` diretamente." +"controle coisas como títulos, localização, ícones bitmap, entre outros. " +"No :mod:`tkinter`, estes comandos foram implementados como métodos da " +"classe :class:`Wm` class. Widgets de mais alto nível são subclasses da " +"classe :class:`Wm` e portanto podem chamar os métodos :class:`Wm` " +"diretamente." -#: ../../library/tkinter.rst:759 +#: ../../library/tkinter.rst:762 msgid "" "To get at the toplevel window that contains a given widget, you can often " "just refer to the widget's master. Of course if the widget has been packed " "inside of a frame, the master won't represent a toplevel window. To get at " -"the toplevel window that contains an arbitrary widget, you can call the :" -"meth:`_root` method. This method begins with an underscore to denote the " -"fact that this function is part of the implementation, and not an interface " -"to Tk functionality." +"the toplevel window that contains an arbitrary widget, you can call " +"the :meth:`_root` method. This method begins with an underscore to denote " +"the fact that this function is part of the implementation, and not an " +"interface to Tk functionality." msgstr "" "Para chegar à janela de nível superior que contém um determinado widget, " "geralmente você pode apenas consultar o mestre do widget. Claro, se o widget " @@ -1592,15 +1639,15 @@ msgstr "" "um sublinhado para denotar o fato de que esta função é parte da " "implementação, e não uma interface para a funcionalidade Tk." -#: ../../library/tkinter.rst:766 +#: ../../library/tkinter.rst:769 msgid "Here are some examples of typical usage::" msgstr "Aqui estão alguns exemplos de uso típico::" -#: ../../library/tkinter.rst:789 ../../library/tkinter.rst:791 +#: ../../library/tkinter.rst:792 ../../library/tkinter.rst:794 msgid "Tk Option Data Types" msgstr "Opções de Tipos de Dados do Tk" -#: ../../library/tkinter.rst:794 +#: ../../library/tkinter.rst:797 msgid "" "Legal values are points of the compass: ``\"n\"``, ``\"ne\"``, ``\"e\"``, " "``\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, and also " @@ -1610,11 +1657,11 @@ msgstr "" "``\"se\"``, ``\"s\"``, ``\"sw\"``, ``\"w\"``, ``\"nw\"``, e também " "``\"center\"``." -#: ../../library/tkinter.rst:801 +#: ../../library/tkinter.rst:804 msgid "bitmap" msgstr "bitmap" -#: ../../library/tkinter.rst:798 +#: ../../library/tkinter.rst:801 msgid "" "There are eight built-in, named bitmaps: ``'error'``, ``'gray25'``, " "``'gray50'``, ``'hourglass'``, ``'info'``, ``'questhead'``, ``'question'``, " @@ -1627,28 +1674,28 @@ msgstr "" "arquivo, precedido pelo caractere ``@``, como em ``\"@/usr/contrib/bitmap/" "gumby.bit\"``." -#: ../../library/tkinter.rst:804 +#: ../../library/tkinter.rst:807 msgid "boolean" msgstr "booleano" -#: ../../library/tkinter.rst:804 +#: ../../library/tkinter.rst:807 msgid "You can pass integers 0 or 1 or the strings ``\"yes\"`` or ``\"no\"``." msgstr "" "Você pode passar os inteiros 0 ou 1 ou as strings ``\"yes\"`` ou ``\"no\"``." -#: ../../library/tkinter.rst:811 +#: ../../library/tkinter.rst:814 msgid "callback" msgstr "função de retorno" -#: ../../library/tkinter.rst:807 +#: ../../library/tkinter.rst:810 msgid "This is any Python function that takes no arguments. For example::" msgstr "Esta é uma função Python que não aceita argumentos. Por exemplo::" -#: ../../library/tkinter.rst:817 +#: ../../library/tkinter.rst:820 msgid "color" msgstr "cor" -#: ../../library/tkinter.rst:814 +#: ../../library/tkinter.rst:817 msgid "" "Colors can be given as the names of X colors in the rgb.txt file, or as " "strings representing RGB values in 4 bit: ``\"#RGB\"``, 8 bit: " @@ -1662,11 +1709,11 @@ msgstr "" "``\"#RRRRGGGGBBBB\"``, onde R,G,B aqui representam qualquer dígito " "hexadecimal legal. Veja a página 160 do livro de Ousterhout para detalhes." -#: ../../library/tkinter.rst:823 +#: ../../library/tkinter.rst:826 msgid "cursor" msgstr "cursor" -#: ../../library/tkinter.rst:820 +#: ../../library/tkinter.rst:823 msgid "" "The standard X cursor names from :file:`cursorfont.h` can be used, without " "the ``XC_`` prefix. For example to get a hand cursor (:const:`XC_hand2`), " @@ -1674,16 +1721,16 @@ msgid "" "of your own. See page 179 of Ousterhout's book." msgstr "" "Os nomes de cursor X padrão de :file:`cursorfont.h` podem ser usados, sem o " -"prefixo ``XC_``. Por exemplo, para obter um cursor de mão (:const:" -"`XC_hand2`), use a string ``\"hand2\"``. Você também pode especificar um " -"bitmap e um arquivo de máscara de sua preferência. Veja a página 179 do " -"livro de Ousterhout." +"prefixo ``XC_``. Por exemplo, para obter um cursor de mão " +"(:const:`XC_hand2`), use a string ``\"hand2\"``. Você também pode " +"especificar um bitmap e um arquivo de máscara de sua preferência. Veja a " +"página 179 do livro de Ousterhout." -#: ../../library/tkinter.rst:830 +#: ../../library/tkinter.rst:833 msgid "distance" msgstr "distance" -#: ../../library/tkinter.rst:826 +#: ../../library/tkinter.rst:829 msgid "" "Screen distances can be specified in either pixels or absolute distances. " "Pixels are given as numbers and absolute distances as strings, with the " @@ -1698,11 +1745,11 @@ msgstr "" "pontos da impressora. Por exemplo, 3,5 polegadas é expresso como " "``\"3.5i\"``." -#: ../../library/tkinter.rst:835 +#: ../../library/tkinter.rst:838 msgid "font" msgstr "font" -#: ../../library/tkinter.rst:833 +#: ../../library/tkinter.rst:836 msgid "" "Tk uses a list font name format, such as ``{courier 10 bold}``. Font sizes " "with positive numbers are measured in points; sizes with negative numbers " @@ -1712,11 +1759,11 @@ msgstr "" "Tamanhos de fonte com números positivos são medidos em pontos; tamanhos com " "números negativos são medidos em pixels." -#: ../../library/tkinter.rst:840 +#: ../../library/tkinter.rst:843 msgid "geometry" msgstr "geometria" -#: ../../library/tkinter.rst:838 +#: ../../library/tkinter.rst:841 msgid "" "This is a string of the form ``widthxheight``, where width and height are " "measured in pixels for most widgets (in characters for widgets displaying " @@ -1726,11 +1773,11 @@ msgstr "" "medidas em pixels para a maioria dos widgets (em caracteres para widgets que " "exibem texto). Por exemplo: ``fred[\"geometry\"] = \"200x100\"``." -#: ../../library/tkinter.rst:844 +#: ../../library/tkinter.rst:847 msgid "justify" msgstr "justify" -#: ../../library/tkinter.rst:843 +#: ../../library/tkinter.rst:846 msgid "" "Legal values are the strings: ``\"left\"``, ``\"center\"``, ``\"right\"``, " "and ``\"fill\"``." @@ -1738,11 +1785,11 @@ msgstr "" "Valores aceitos são as strings: ``\"left\"``, ``\"center\"``, ``\"right\"`` " "e ``\"fill\"``." -#: ../../library/tkinter.rst:849 +#: ../../library/tkinter.rst:852 msgid "region" msgstr "region" -#: ../../library/tkinter.rst:847 +#: ../../library/tkinter.rst:850 msgid "" "This is a string with four space-delimited elements, each of which is a " "legal distance (see above). For example: ``\"2 3 4 5\"`` and ``\"3i 2i 4.5i " @@ -1752,11 +1799,11 @@ msgstr "" "quais a uma distância legal (veja acima). Por exemplo: ``\"2 3 4 5\"`` e " "``\"3i 2i 4.5i 2i\"`` e ``\"3c 2c 4c 10.43c\"`` são todas regiões legais." -#: ../../library/tkinter.rst:853 +#: ../../library/tkinter.rst:856 msgid "relief" msgstr "relief" -#: ../../library/tkinter.rst:852 +#: ../../library/tkinter.rst:855 msgid "" "Determines what the border style of a widget will be. Legal values are: " "``\"raised\"``, ``\"sunken\"``, ``\"flat\"``, ``\"groove\"``, and " @@ -1765,11 +1812,11 @@ msgstr "" "Determina qual será o estilo da borda de um widget. Os valores legais são: " "``\"raised\"``, ``\"sunken\"``, ``\"flat\"``, ``\"groove\"`` e ``\"ridge\"``." -#: ../../library/tkinter.rst:857 +#: ../../library/tkinter.rst:860 msgid "scrollcommand" msgstr "scrollcommand" -#: ../../library/tkinter.rst:856 +#: ../../library/tkinter.rst:859 msgid "" "This is almost always the :meth:`!set` method of some scrollbar widget, but " "can be any widget method that takes a single argument." @@ -1778,19 +1825,19 @@ msgstr "" "rolagem, mas pode ser qualquer método de widget que receba um único " "argumento." -#: ../../library/tkinter.rst:860 +#: ../../library/tkinter.rst:863 msgid "wrap" msgstr "wrap" -#: ../../library/tkinter.rst:860 +#: ../../library/tkinter.rst:863 msgid "Must be one of: ``\"none\"``, ``\"char\"``, or ``\"word\"``." msgstr "Deve ser um de: ``\"none\"``, ``\"char\"`` ou ``\"word\"``." -#: ../../library/tkinter.rst:865 +#: ../../library/tkinter.rst:868 msgid "Bindings and Events" msgstr "Ligações e Eventos" -#: ../../library/tkinter.rst:871 +#: ../../library/tkinter.rst:874 msgid "" "The bind method from the widget command allows you to watch for certain " "events and to have a callback function trigger when that event type occurs. " @@ -1800,26 +1847,29 @@ msgstr "" "eventos e tenha um acionamento de função de retorno de chamada quando esse " "tipo de evento ocorrer. A forma do método de ligação é::" -#: ../../library/tkinter.rst:877 +#: ../../library/tkinter.rst:880 msgid "where:" msgstr "sendo que:" -#: ../../library/tkinter.rst:882 +#: ../../library/tkinter.rst:885 msgid "sequence" -msgstr "sequence" +msgstr "sequência" -#: ../../library/tkinter.rst:880 +#: ../../library/tkinter.rst:883 msgid "" -"is a string that denotes the target kind of event. (See the :manpage:" -"`bind(3tk)` man page, and page 201 of John Ousterhout's book, :title-" -"reference:`Tcl and the Tk Toolkit (2nd edition)`, for details)." +"is a string that denotes the target kind of event. (See " +"the :manpage:`bind(3tk)` man page, and page 201 of John Ousterhout's " +"book, :title-reference:`Tcl and the Tk Toolkit (2nd edition)`, for details)." msgstr "" +"é uma string que denota o tipo de evento de destino. (Veja a página man " +"do :manpage:`bind(3tk)` e a página 201 do livro de John Ousterhout, :title-" +"reference:`Tcl and the Tk Toolkit (2nd edition)`, para mais detalhes)." -#: ../../library/tkinter.rst:887 +#: ../../library/tkinter.rst:890 msgid "func" msgstr "func" -#: ../../library/tkinter.rst:885 +#: ../../library/tkinter.rst:888 msgid "" "is a Python function, taking one argument, to be invoked when the event " "occurs. An Event instance will be passed as the argument. (Functions " @@ -1829,11 +1879,11 @@ msgstr "" "ocorre. Uma instância de evento será passada como argumento. (As funções " "implantadas dessa forma são comumente conhecidas como *funções de retorno*.)" -#: ../../library/tkinter.rst:893 +#: ../../library/tkinter.rst:896 msgid "add" msgstr "add" -#: ../../library/tkinter.rst:890 +#: ../../library/tkinter.rst:893 msgid "" "is optional, either ``''`` or ``'+'``. Passing an empty string denotes that " "this binding is to replace any other bindings that this event is associated " @@ -1845,7 +1895,7 @@ msgstr "" "associado. Passar um ``'+'`` significa que esta função deve ser adicionada à " "lista de funções ligadas a este tipo de evento." -#: ../../library/tkinter.rst:902 +#: ../../library/tkinter.rst:905 msgid "" "Notice how the widget field of the event is being accessed in the " "``turn_red()`` callback. This field contains the widget that caught the X " @@ -1859,143 +1909,143 @@ msgstr "" "como eles são denotados no Tk, o que pode ser útil ao se referir às páginas " "man do Tk." -#: ../../library/tkinter.rst:908 +#: ../../library/tkinter.rst:911 msgid "Tkinter Event Field" msgstr "Campo de Eventos do Tkinter" -#: ../../library/tkinter.rst:910 +#: ../../library/tkinter.rst:913 msgid "%f" msgstr "%f" -#: ../../library/tkinter.rst:910 +#: ../../library/tkinter.rst:913 msgid "focus" msgstr "focus" -#: ../../library/tkinter.rst:910 +#: ../../library/tkinter.rst:913 msgid "%A" msgstr "%A" -#: ../../library/tkinter.rst:910 +#: ../../library/tkinter.rst:913 msgid "char" msgstr "char" -#: ../../library/tkinter.rst:912 +#: ../../library/tkinter.rst:915 msgid "%h" msgstr "%h" -#: ../../library/tkinter.rst:912 +#: ../../library/tkinter.rst:915 msgid "height" msgstr "height" -#: ../../library/tkinter.rst:912 +#: ../../library/tkinter.rst:915 msgid "%E" msgstr "%E" -#: ../../library/tkinter.rst:912 +#: ../../library/tkinter.rst:915 msgid "send_event" msgstr "send_event" -#: ../../library/tkinter.rst:914 +#: ../../library/tkinter.rst:917 msgid "%k" msgstr "%k" -#: ../../library/tkinter.rst:914 +#: ../../library/tkinter.rst:917 msgid "keycode" msgstr "keycode" -#: ../../library/tkinter.rst:914 +#: ../../library/tkinter.rst:917 msgid "%K" msgstr "%K" -#: ../../library/tkinter.rst:914 +#: ../../library/tkinter.rst:917 msgid "keysym" msgstr "keysym" -#: ../../library/tkinter.rst:916 +#: ../../library/tkinter.rst:919 msgid "%s" msgstr "%s" -#: ../../library/tkinter.rst:916 +#: ../../library/tkinter.rst:919 msgid "state" msgstr "state" -#: ../../library/tkinter.rst:916 +#: ../../library/tkinter.rst:919 msgid "%N" msgstr "%N" -#: ../../library/tkinter.rst:916 +#: ../../library/tkinter.rst:919 msgid "keysym_num" msgstr "keysym_num" -#: ../../library/tkinter.rst:918 +#: ../../library/tkinter.rst:921 msgid "%t" msgstr "%t" -#: ../../library/tkinter.rst:918 +#: ../../library/tkinter.rst:921 msgid "time" msgstr "time" -#: ../../library/tkinter.rst:918 +#: ../../library/tkinter.rst:921 msgid "%T" msgstr "%T" -#: ../../library/tkinter.rst:918 +#: ../../library/tkinter.rst:921 msgid "type" msgstr "tipo" -#: ../../library/tkinter.rst:920 +#: ../../library/tkinter.rst:923 msgid "%w" msgstr "%w" -#: ../../library/tkinter.rst:920 +#: ../../library/tkinter.rst:923 msgid "width" msgstr "width" -#: ../../library/tkinter.rst:920 +#: ../../library/tkinter.rst:923 msgid "%W" msgstr "%W" -#: ../../library/tkinter.rst:920 +#: ../../library/tkinter.rst:923 msgid "widget" msgstr "widget" -#: ../../library/tkinter.rst:922 +#: ../../library/tkinter.rst:925 msgid "%x" msgstr "%x" -#: ../../library/tkinter.rst:922 +#: ../../library/tkinter.rst:925 msgid "x" msgstr "x" -#: ../../library/tkinter.rst:922 +#: ../../library/tkinter.rst:925 msgid "%X" msgstr "%X" -#: ../../library/tkinter.rst:922 +#: ../../library/tkinter.rst:925 msgid "x_root" msgstr "x_root" -#: ../../library/tkinter.rst:924 +#: ../../library/tkinter.rst:927 msgid "%y" msgstr "%y" -#: ../../library/tkinter.rst:924 +#: ../../library/tkinter.rst:927 msgid "y" msgstr "y" -#: ../../library/tkinter.rst:924 +#: ../../library/tkinter.rst:927 msgid "%Y" msgstr "%Y" -#: ../../library/tkinter.rst:924 +#: ../../library/tkinter.rst:927 msgid "y_root" msgstr "y_root" -#: ../../library/tkinter.rst:929 +#: ../../library/tkinter.rst:932 msgid "The index Parameter" msgstr "O Parâmetro index" -#: ../../library/tkinter.rst:931 +#: ../../library/tkinter.rst:934 msgid "" "A number of widgets require \"index\" parameters to be passed. These are " "used to point at a specific place in a Text widget, or to particular " @@ -2006,11 +2056,11 @@ msgstr "" "caracteres específicos em um widget Entry, ou para itens de menu específicos " "em um widget Menu." -#: ../../library/tkinter.rst:938 +#: ../../library/tkinter.rst:941 msgid "Entry widget indexes (index, view index, etc.)" msgstr "Índices de widget de entrada (índice, índice de visualização, etc.)" -#: ../../library/tkinter.rst:936 +#: ../../library/tkinter.rst:939 msgid "" "Entry widgets have options that refer to character positions in the text " "being displayed. You can use these :mod:`tkinter` functions to access these " @@ -2020,11 +2070,11 @@ msgstr "" "no texto exibido. Você pode acessar esses pontos especiais em um widget de " "texto usando as seguintes funções :mod:`tkinter`:" -#: ../../library/tkinter.rst:942 +#: ../../library/tkinter.rst:945 msgid "Text widget indexes" msgstr "Índice de widget de texto" -#: ../../library/tkinter.rst:941 +#: ../../library/tkinter.rst:944 msgid "" "The index notation for Text widgets is very rich and is best described in " "the Tk man pages." @@ -2032,11 +2082,11 @@ msgstr "" "A notação de índice do widget de texto é muito rica e é melhor detalhada nas " "páginas do manual Tk." -#: ../../library/tkinter.rst:967 +#: ../../library/tkinter.rst:970 msgid "Menu indexes (menu.invoke(), menu.entryconfig(), etc.)" msgstr "Índices de menu (menu.invoke(), menu.entryconfig(), etc.)" -#: ../../library/tkinter.rst:945 +#: ../../library/tkinter.rst:948 msgid "" "Some options and methods for menus manipulate specific menu entries. Anytime " "a menu index is needed for an option or a parameter, you may pass in:" @@ -2045,7 +2095,7 @@ msgstr "" "Sempre que um índice de menu é necessário para uma opção ou parâmetro, você " "pode passar:" -#: ../../library/tkinter.rst:948 +#: ../../library/tkinter.rst:951 msgid "" "an integer which refers to the numeric position of the entry in the widget, " "counted from the top, starting with 0;" @@ -2053,7 +2103,7 @@ msgstr "" "um número inteiro que se refere à posição numérica da entrada no widget, " "contada do topo, começando com 0;" -#: ../../library/tkinter.rst:951 +#: ../../library/tkinter.rst:954 msgid "" "the string ``\"active\"``, which refers to the menu position that is " "currently under the cursor;" @@ -2061,11 +2111,11 @@ msgstr "" "a string ``\"active\"``, que se refere à posição do menu que está atualmente " "sob o cursor;" -#: ../../library/tkinter.rst:954 +#: ../../library/tkinter.rst:957 msgid "the string ``\"last\"`` which refers to the last menu item;" msgstr "a string ``\"last\"`` que se refere ao último item do menu;" -#: ../../library/tkinter.rst:956 +#: ../../library/tkinter.rst:959 msgid "" "An integer preceded by ``@``, as in ``@6``, where the integer is interpreted " "as a y pixel coordinate in the menu's coordinate system;" @@ -2074,7 +2124,7 @@ msgstr "" "interpretado como uma coordenada de pixel y no sistema de coordenadas do " "menu;" -#: ../../library/tkinter.rst:959 +#: ../../library/tkinter.rst:962 msgid "" "the string ``\"none\"``, which indicates no menu entry at all, most often " "used with menu.activate() to deactivate all entries, and finally," @@ -2083,7 +2133,7 @@ msgstr "" "frequentemente usada com menu.activate() para desativar todas as entradas e, " "finalmente," -#: ../../library/tkinter.rst:962 +#: ../../library/tkinter.rst:965 msgid "" "a text string that is pattern matched against the label of the menu entry, " "as scanned from the top of the menu to the bottom. Note that this index " @@ -2098,11 +2148,11 @@ msgstr "" "``active`` ou ``none`` podem ser interpretadas como os literais acima, em " "vez disso." -#: ../../library/tkinter.rst:970 +#: ../../library/tkinter.rst:973 msgid "Images" msgstr "Imagens" -#: ../../library/tkinter.rst:972 +#: ../../library/tkinter.rst:975 msgid "" "Images of different formats can be created through the corresponding " "subclass of :class:`tkinter.Image`:" @@ -2110,11 +2160,11 @@ msgstr "" "Imagens de diferentes formatos podem ser criadas por meio da subclasse " "correspondente de :class:`tkinter.Image`:" -#: ../../library/tkinter.rst:975 +#: ../../library/tkinter.rst:978 msgid ":class:`BitmapImage` for images in XBM format." msgstr ":class:`BitmapImage` para imagens no formato XBM." -#: ../../library/tkinter.rst:977 +#: ../../library/tkinter.rst:980 msgid "" ":class:`PhotoImage` for images in PGM, PPM, GIF and PNG formats. The latter " "is supported starting with Tk 8.6." @@ -2122,7 +2172,7 @@ msgstr "" ":class:`PhotoImage` para imagens nos formatos PGM, PPM, GIF e PNG. O suporte " "ao último foi adicionado a partir do Tk 8.6." -#: ../../library/tkinter.rst:980 +#: ../../library/tkinter.rst:983 msgid "" "Either type of image is created through either the ``file`` or the ``data`` " "option (other options are available as well)." @@ -2130,7 +2180,7 @@ msgstr "" "Qualquer tipo de imagem é criado através da opção ``file`` ou ``data`` " "(outras opções também estão disponíveis)." -#: ../../library/tkinter.rst:983 +#: ../../library/tkinter.rst:986 msgid "" "The image object can then be used wherever an ``image`` option is supported " "by some widget (e.g. labels, buttons, menus). In these cases, Tk will not " @@ -2144,7 +2194,7 @@ msgstr "" "ao objeto imagem for excluída, os dados da imagem também serão excluídos e o " "Tk exibirá uma caixa vazia onde quer que a imagem tenha sido usada." -#: ../../library/tkinter.rst:991 +#: ../../library/tkinter.rst:994 msgid "" "The `Pillow `_ package adds support for formats " "such as BMP, JPEG, TIFF, and WebP, among others." @@ -2152,11 +2202,11 @@ msgstr "" "O pacote `Pillow `_ adiciona suporte para " "formatos como BMP, JPEG, TIFF e WebP, entre outros." -#: ../../library/tkinter.rst:997 +#: ../../library/tkinter.rst:1000 msgid "File Handlers" msgstr "Tratadores de arquivos" -#: ../../library/tkinter.rst:999 +#: ../../library/tkinter.rst:1002 msgid "" "Tk allows you to register and unregister a callback function which will be " "called from the Tk mainloop when I/O is possible on a file descriptor. Only " @@ -2167,29 +2217,29 @@ msgstr "" "em um descritor de arquivo. Apenas um tratador pode ser registrado por " "descritor de arquivo. Código de exemplo::" -#: ../../library/tkinter.rst:1010 +#: ../../library/tkinter.rst:1013 msgid "This feature is not available on Windows." msgstr "Este recurso não está disponível no Windows." -#: ../../library/tkinter.rst:1012 +#: ../../library/tkinter.rst:1015 msgid "" "Since you don't know how many bytes are available for reading, you may not " -"want to use the :class:`~io.BufferedIOBase` or :class:`~io.TextIOBase` :meth:" -"`~io.BufferedIOBase.read` or :meth:`~io.IOBase.readline` methods, since " -"these will insist on reading a predefined number of bytes. For sockets, the :" -"meth:`~socket.socket.recv` or :meth:`~socket.socket.recvfrom` methods will " -"work fine; for other files, use raw reads or ``os.read(file.fileno(), " -"maxbytecount)``." +"want to use the :class:`~io.BufferedIOBase` " +"or :class:`~io.TextIOBase` :meth:`~io.BufferedIOBase.read` " +"or :meth:`~io.IOBase.readline` methods, since these will insist on reading a " +"predefined number of bytes. For sockets, the :meth:`~socket.socket.recv` " +"or :meth:`~socket.socket.recvfrom` methods will work fine; for other files, " +"use raw reads or ``os.read(file.fileno(), maxbytecount)``." msgstr "" "Já que você não sabe quantos bytes estão disponíveis para leitura, você pode " -"não querer usar os métodos :meth:`~io.BufferedIOBase.read` ou :meth:`~io." -"IOBase.readline` de :class:`~io.BufferedIOBase` ou :class:`~io.TextIOBase`, " -"já que eles insistirão em ler uma quantidade predefinida de byts. Para " -"sockets, os métodos :meth:`~socket.socket.recv` ou :meth:`~socket.socket." -"recvfrom` vão servir; para outros arquivos, use dados brutos ou ``os." -"read(file.fileno(), maxbytecount)``." +"não querer usar os métodos :meth:`~io.BufferedIOBase.read` " +"ou :meth:`~io.IOBase.readline` de :class:`~io.BufferedIOBase` " +"ou :class:`~io.TextIOBase`, já que eles insistirão em ler uma quantidade " +"predefinida de bytes. Para sockets, os métodos :meth:`~socket.socket.recv` " +"ou :meth:`~socket.socket.recvfrom` vão servir; para outros arquivos, use " +"dados brutos ou ``os.read(file.fileno(), maxbytecount)``." -#: ../../library/tkinter.rst:1023 +#: ../../library/tkinter.rst:1026 msgid "" "Registers the file handler callback function *func*. The *file* argument may " "either be an object with a :meth:`~io.IOBase.fileno` method (such as a file " @@ -2203,26 +2253,26 @@ msgstr "" "argumento *mask* é uma combinação OR de qualquer uma das três constantes " "abaixo. O retorno de chamada é chamado da seguinte maneira::" -#: ../../library/tkinter.rst:1034 +#: ../../library/tkinter.rst:1037 msgid "Unregisters a file handler." msgstr "Cancela o registro de um tratador de arquivo." -#: ../../library/tkinter.rst:1041 +#: ../../library/tkinter.rst:1044 msgid "Constants used in the *mask* arguments." msgstr "Constantes usadas nos argumentos *mask*." -#: ../../library/tkinter.rst:637 +#: ../../library/tkinter.rst:640 msgid "packing (widgets)" -msgstr "" +msgstr "empacotamento (widgets)" -#: ../../library/tkinter.rst:750 +#: ../../library/tkinter.rst:753 msgid "window manager (widgets)" -msgstr "" +msgstr "gerenciador de janela (widgets)" -#: ../../library/tkinter.rst:867 +#: ../../library/tkinter.rst:870 msgid "bind (widgets)" -msgstr "" +msgstr "ligação (widgets)" -#: ../../library/tkinter.rst:867 +#: ../../library/tkinter.rst:870 msgid "events (widgets)" -msgstr "" +msgstr "eventos (widgets)" diff --git a/library/tkinter.scrolledtext.po b/library/tkinter.scrolledtext.po index 9ae5d1e4e..49d59afa5 100644 --- a/library/tkinter.scrolledtext.po +++ b/library/tkinter.scrolledtext.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,23 +40,23 @@ msgid "" msgstr "" "O módulo :mod:`tkinter.scrolledtext` fornece uma classe com o mesmo nome que " "implementa um widget de texto básico que possui uma barra de rolagem " -"vertical configurada para fazer a \"coisa certa\". Usar a classe :class:" -"`ScrolledText` é muito mais fácil do que configurar um widget de texto e " -"barra de rolagem diretamente." +"vertical configurada para fazer a \"coisa certa\". Usar a " +"classe :class:`ScrolledText` é muito mais fácil do que configurar um widget " +"de texto e barra de rolagem diretamente." #: ../../library/tkinter.scrolledtext.rst:19 msgid "" "The text widget and scrollbar are packed together in a :class:`Frame`, and " "the methods of the :class:`Grid` and :class:`Pack` geometry managers are " -"acquired from the :class:`Frame` object. This allows the :class:" -"`ScrolledText` widget to be used directly to achieve most normal geometry " -"management behavior." +"acquired from the :class:`Frame` object. This allows " +"the :class:`ScrolledText` widget to be used directly to achieve most normal " +"geometry management behavior." msgstr "" "O widget de texto e a barra de rolagem são agrupados em :class:`Frame`, e os " "métodos dos gerenciadores de geometria :class:`Grid` e :class:`Pack` são " -"adquiridos do objeto :class:`Frame`. Isso permite que o widget :class:" -"`ScrolledText` seja usado diretamente para obter o comportamento mais normal " -"de gerenciamento de geometria." +"adquiridos do objeto :class:`Frame`. Isso permite que o " +"widget :class:`ScrolledText` seja usado diretamente para obter o " +"comportamento mais normal de gerenciamento de geometria." #: ../../library/tkinter.scrolledtext.rst:24 msgid "" diff --git a/library/tkinter.tix.po b/library/tkinter.tix.po index b106a8b3f..a09876adb 100644 --- a/library/tkinter.tix.po +++ b/library/tkinter.tix.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Rodrigo Cândido, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,8 +33,8 @@ msgstr "**Código-fonte:** :source:`Lib/tkinter/tix.py`" #: ../../library/tkinter.tix.rst:13 msgid "" -"This Tk extension is unmaintained and should not be used in new code. Use :" -"mod:`tkinter.ttk` instead." +"This Tk extension is unmaintained and should not be used in new code. " +"Use :mod:`tkinter.ttk` instead." msgstr "" #: ../../library/tkinter.tix.rst:19 @@ -47,9 +45,9 @@ msgid "" "provides most of the commonly needed widgets that are missing from standard " "Tk: :class:`HList`, :class:`ComboBox`, :class:`Control` (a.k.a. SpinBox) and " "an assortment of scrollable widgets. :mod:`tkinter.tix` also includes many " -"more widgets that are generally useful in a wide range of applications: :" -"class:`NoteBook`, :class:`FileEntry`, :class:`PanedWindow`, etc; there are " -"more than 40 of them." +"more widgets that are generally useful in a wide range of " +"applications: :class:`NoteBook`, :class:`FileEntry`, :class:`PanedWindow`, " +"etc; there are more than 40 of them." msgstr "" #: ../../library/tkinter.tix.rst:29 @@ -90,8 +88,8 @@ msgstr "" #: ../../library/tkinter.tix.rst:48 msgid "" -"`Tix Development Applications `_" +"`Tix Development Applications `_" msgstr "" #: ../../library/tkinter.tix.rst:47 @@ -113,11 +111,11 @@ msgstr "" #: ../../library/tkinter.tix.rst:61 msgid "" -"Classes in the :mod:`tkinter.tix` module subclasses the classes in the :mod:" -"`tkinter`. The former imports the latter, so to use :mod:`tkinter.tix` with " -"Tkinter, all you need to do is to import one module. In general, you can " -"just import :mod:`tkinter.tix`, and replace the toplevel call to :class:" -"`tkinter.Tk` with :class:`tix.Tk`::" +"Classes in the :mod:`tkinter.tix` module subclasses the classes in " +"the :mod:`tkinter`. The former imports the latter, so to " +"use :mod:`tkinter.tix` with Tkinter, all you need to do is to import one " +"module. In general, you can just import :mod:`tkinter.tix`, and replace the " +"toplevel call to :class:`tkinter.Tk` with :class:`tix.Tk`::" msgstr "" #: ../../library/tkinter.tix.rst:71 @@ -133,8 +131,9 @@ msgstr "" #: ../../library/tkinter.tix.rst:83 msgid "" -"`Tix `_ introduces over 40 widget classes to the :mod:`tkinter` repertoire." +"`Tix `_ introduces over 40 widget classes to the :mod:`tkinter` " +"repertoire." msgstr "" #: ../../library/tkinter.tix.rst:88 @@ -312,9 +311,10 @@ msgstr "" #: ../../library/tkinter.tix.rst:335 msgid "" -"The `Tree `_ widget can be used to display hierarchical data in a tree form. The " -"user can adjust the view of the tree by opening or closing parts of the tree." +"The `Tree `_ widget can be used to display hierarchical data in a tree " +"form. The user can adjust the view of the tree by opening or closing parts " +"of the tree." msgstr "" #: ../../library/tkinter.tix.rst:347 @@ -351,8 +351,8 @@ msgid "" "widget: it can be used to display many windows in a limited space using a " "notebook metaphor. The notebook is divided into a stack of pages (windows). " "At one time only one of these pages can be shown. The user can navigate " -"through these pages by choosing the name of the desired page in the :attr:" -"`hlist` subwidget." +"through these pages by choosing the name of the desired page in " +"the :attr:`hlist` subwidget." msgstr "" #: ../../library/tkinter.tix.rst:406 @@ -375,18 +375,18 @@ msgstr "" #: ../../library/tkinter.tix.rst:432 msgid "" -"`pixmap `_ capabilities to all :mod:`tkinter.tix` and :mod:`tkinter` widgets to " -"create color images from XPM files." +"`pixmap `_ capabilities to all :mod:`tkinter.tix` and :mod:`tkinter` " +"widgets to create color images from XPM files." msgstr "" #: ../../library/tkinter.tix.rst:441 msgid "" -"`Compound `_ image types can be used to create images that consists of multiple " -"horizontal lines; each line is composed of a series of items (texts, " -"bitmaps, images or spaces) arranged from left to right. For example, a " -"compound image can be used to display a bitmap and a text string " +"`Compound `_ image types can be used to create images that consists of " +"multiple horizontal lines; each line is composed of a series of items " +"(texts, bitmaps, images or spaces) arranged from left to right. For example, " +"a compound image can be used to display a bitmap and a text string " "simultaneously in a Tk :class:`Button` widget." msgstr "" @@ -411,8 +411,8 @@ msgstr "" #: ../../library/tkinter.tix.rst:479 msgid "" -"The `Form `_ geometry manager based on attachment rules for all Tk widgets." +"The `Form `_ geometry manager based on attachment rules for all Tk widgets." msgstr "" #: ../../library/tkinter.tix.rst:485 @@ -453,21 +453,22 @@ msgstr "" #: ../../library/tkinter.tix.rst:524 msgid "" "Locates a bitmap file of the name ``name.xpm`` or ``name`` in one of the " -"bitmap directories (see the :meth:`tix_addbitmapdir` method). By using :" -"meth:`tix_getbitmap`, you can avoid hard coding the pathnames of the bitmap " -"files in your application. When successful, it returns the complete pathname " -"of the bitmap file, prefixed with the character ``@``. The returned value " -"can be used to configure the ``bitmap`` option of the Tk and Tix widgets." +"bitmap directories (see the :meth:`tix_addbitmapdir` method). By " +"using :meth:`tix_getbitmap`, you can avoid hard coding the pathnames of the " +"bitmap files in your application. When successful, it returns the complete " +"pathname of the bitmap file, prefixed with the character ``@``. The " +"returned value can be used to configure the ``bitmap`` option of the Tk and " +"Tix widgets." msgstr "" #: ../../library/tkinter.tix.rst:534 msgid "" "Tix maintains a list of directories under which the :meth:`tix_getimage` " "and :meth:`tix_getbitmap` methods will search for image files. The standard " -"bitmap directory is :file:`$TIX_LIBRARY/bitmaps`. The :meth:" -"`tix_addbitmapdir` method adds *directory* into this list. By using this " -"method, the image files of an applications can also be located using the :" -"meth:`tix_getimage` or :meth:`tix_getbitmap` method." +"bitmap directory is :file:`$TIX_LIBRARY/bitmaps`. " +"The :meth:`tix_addbitmapdir` method adds *directory* into this list. By " +"using this method, the image files of an applications can also be located " +"using the :meth:`tix_getimage` or :meth:`tix_getbitmap` method." msgstr "" #: ../../library/tkinter.tix.rst:544 @@ -483,16 +484,16 @@ msgstr "" #: ../../library/tkinter.tix.rst:554 msgid "" -"Locates an image file of the name :file:`name.xpm`, :file:`name.xbm` or :" -"file:`name.ppm` in one of the bitmap directories (see the :meth:" -"`tix_addbitmapdir` method above). If more than one file with the same name " -"(but different extensions) exist, then the image type is chosen according to " -"the depth of the X display: xbm images are chosen on monochrome displays and " -"color images are chosen on color displays. By using :meth:`tix_getimage`, " -"you can avoid hard coding the pathnames of the image files in your " -"application. When successful, this method returns the name of the newly " -"created image, which can be used to configure the ``image`` option of the Tk " -"and Tix widgets." +"Locates an image file of the name :file:`name.xpm`, :file:`name.xbm` " +"or :file:`name.ppm` in one of the bitmap directories (see " +"the :meth:`tix_addbitmapdir` method above). If more than one file with the " +"same name (but different extensions) exist, then the image type is chosen " +"according to the depth of the X display: xbm images are chosen on monochrome " +"displays and color images are chosen on color displays. By " +"using :meth:`tix_getimage`, you can avoid hard coding the pathnames of the " +"image files in your application. When successful, this method returns the " +"name of the newly created image, which can be used to configure the " +"``image`` option of the Tk and Tix widgets." msgstr "" #: ../../library/tkinter.tix.rst:567 @@ -517,8 +518,8 @@ msgstr "" msgid "" "Because of the way Tk handles the X option database, after Tix has been has " "imported and inited, it is not possible to reset the color schemes and font " -"sets using the :meth:`tix_config` method. Instead, the :meth:" -"`tix_resetoptions` method must be used." +"sets using the :meth:`tix_config` method. Instead, " +"the :meth:`tix_resetoptions` method must be used." msgstr "" #: ../../library/tkinter.tix.rst:11 diff --git a/library/tkinter.ttk.po b/library/tkinter.ttk.po index cd10c45fb..9ba281a34 100644 --- a/library/tkinter.ttk.po +++ b/library/tkinter.ttk.po @@ -1,33 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Misael borges , 2021 -# i17obot , 2021 -# Raphael Mendonça, 2021 -# mvpetri , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Philippe Gonzaga , 2021 -# Danilo Lima , 2021 -# Luca Farah, 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -46,6 +38,11 @@ msgid "" "font rendering under X11 and window transparency (requiring a composition " "window manager on X11)." msgstr "" +"O módulo :mod:`tkinter.ttk` introduzido no Tk 8.5, fornece acesso ao " +"conjunto de widgets temáticos do Tk, Alguns dos benefícios incluídos são a " +"renderização de fontes com suavização de serrilhamento no x11 e " +"transparência de janelas (requer um gerenciador de composição de janelas no " +"x11)." #: ../../library/tkinter.ttk.rst:20 msgid "" @@ -83,12 +80,13 @@ msgstr "" #: ../../library/tkinter.ttk.rst:43 msgid "" -"That code causes several :mod:`tkinter.ttk` widgets (:class:`Button`, :class:" -"`Checkbutton`, :class:`Entry`, :class:`Frame`, :class:`Label`, :class:" -"`LabelFrame`, :class:`Menubutton`, :class:`PanedWindow`, :class:" -"`Radiobutton`, :class:`Scale` and :class:`Scrollbar`) to automatically " -"replace the Tk widgets." +"That code causes several :mod:`tkinter.ttk` widgets " +"(:class:`Button`, :class:`Checkbutton`, :class:`Entry`, :class:`Frame`, :class:`Label`, :class:`LabelFrame`, :class:`Menubutton`, :class:`PanedWindow`, :class:`Radiobutton`, :class:`Scale` " +"and :class:`Scrollbar`) to automatically replace the Tk widgets." msgstr "" +"Esse código faz com que vários widgets :mod:`tkinter.ttk` " +"(:class:`Button`, :class:`Checkbutton`, :class:`Entry`, :class:`Frame`, :class:`Label`, :class:`LabelFrame`, :class:`Menubutton`, :class:`PanedWindow`, :class:`Radiobutton`, :class:`Scale` " +"e :class:`Scrollbar`) substituam automaticamente os widgets Tk." #: ../../library/tkinter.ttk.rst:49 msgid "" @@ -99,39 +97,55 @@ msgid "" "Ttk widgets. Instead, use the :class:`ttk.Style` class for improved " "styling effects." msgstr "" +"Isso traz o benefício direto de utilizar os widgets novos que possuem melhor " +"aparência e sensação de uso entre as plataformas, contudo, os widgets " +"substitutos não são completamente compatíveis. A maior diferença é que as " +"opções como \"fg\", \"bg\" e outras relacionadas à estilização do widget não " +"estão mais presentes nos widgets Ttk. Em vez disso, use a " +"classe :class:`ttk.Style` para melhores efeitos de estilização." #: ../../library/tkinter.ttk.rst:60 msgid "" -"`Converting existing applications to use Tile widgets `_" +"`Converting existing applications to use Tile widgets `_" msgstr "" +"`Convertendo aplicações existentes para utilização dos widgets Tile `_" #: ../../library/tkinter.ttk.rst:60 msgid "" "A monograph (using Tcl terminology) about differences typically encountered " "when moving applications to use the new widgets." msgstr "" +"Uma monografia (utilizando a terminologia Tcl) sobre diferenças tipicamente " +"encontradas ao mover aplicações para utilização de novos widgets." #: ../../library/tkinter.ttk.rst:65 msgid "Ttk Widgets" -msgstr "" +msgstr "Widgets Ttk" #: ../../library/tkinter.ttk.rst:67 msgid "" -"Ttk comes with 18 widgets, twelve of which already existed in tkinter: :" -"class:`Button`, :class:`Checkbutton`, :class:`Entry`, :class:`Frame`, :class:" -"`Label`, :class:`LabelFrame`, :class:`Menubutton`, :class:`PanedWindow`, :" -"class:`Radiobutton`, :class:`Scale`, :class:`Scrollbar`, and :class:" -"`Spinbox`. The other six are new: :class:`Combobox`, :class:`Notebook`, :" -"class:`Progressbar`, :class:`Separator`, :class:`Sizegrip` and :class:" -"`Treeview`. And all them are subclasses of :class:`Widget`." +"Ttk comes with 18 widgets, twelve of which already existed in " +"tkinter: :class:`Button`, :class:`Checkbutton`, :class:`Entry`, :class:`Frame`, :class:`Label`, :class:`LabelFrame`, :class:`Menubutton`, :class:`PanedWindow`, :class:`Radiobutton`, :class:`Scale`, :class:`Scrollbar`, " +"and :class:`Spinbox`. The other six are " +"new: :class:`Combobox`, :class:`Notebook`, :class:`Progressbar`, :class:`Separator`, :class:`Sizegrip` " +"and :class:`Treeview`. And all them are subclasses of :class:`Widget`." msgstr "" +"Ttk traz 18 widgets, das quais doze já existiam no " +"tkinter: :class:`Button`, :class:`Checkbutton`, :class:`Entry`, :class:`Frame`, :class:`Label`, :class:`LabelFrame`, :class:`Menubutton`, :class:`PanedWindow`, :class:`Radiobutton`, :class:`Scale`, :class:`Scrollbar`, " +"e :class:`Spinbox`. As outras seis são " +"novas: :class:`Combobox`, :class:`Notebook`, :class:`Progressbar`, :class:`Separator`, :class:`Sizegrip` " +"e :class:`Treeview`. E todas elas são subclasses de :class:`Widget`." #: ../../library/tkinter.ttk.rst:75 msgid "" "Using the Ttk widgets gives the application an improved look and feel. As " "discussed above, there are differences in how the styling is coded." msgstr "" +"Utilizar os widgets Ttk melhora a experiência de uso e o visual da " +"aplicação. Conforme discutido anteriormente, existem diferenças em como a " +"estilização é codificada." #: ../../library/tkinter.ttk.rst:78 msgid "Tk code::" @@ -146,24 +160,28 @@ msgid "" "For more information about TtkStyling_, see the :class:`Style` class " "documentation." msgstr "" +"Para mais informações sobre TtkStyling_, veja a documentação da " +"classe :class:`Style`." #: ../../library/tkinter.ttk.rst:96 msgid "Widget" -msgstr "Ferramenta" +msgstr "Widget" #: ../../library/tkinter.ttk.rst:98 msgid "" ":class:`ttk.Widget` defines standard options and methods supported by Tk " "themed widgets and is not supposed to be directly instantiated." msgstr "" +":class:`ttk.Widget` define opções padrão e métodos suportados pelos widgets " +"temáticos Tk e não deve ser instanciada diretamente." #: ../../library/tkinter.ttk.rst:103 msgid "Standard Options" -msgstr "Opções padrões" +msgstr "Opções padrão" #: ../../library/tkinter.ttk.rst:105 -msgid "All the :mod:`ttk` Widgets accepts the following options:" -msgstr "" +msgid "All the :mod:`ttk` Widgets accept the following options:" +msgstr "Todos os Widgets :mod:`ttk` aceitam as seguintes opções:" #: ../../library/tkinter.ttk.rst:110 ../../library/tkinter.ttk.rst:145 #: ../../library/tkinter.ttk.rst:171 ../../library/tkinter.ttk.rst:214 @@ -188,7 +206,7 @@ msgstr "Descrição" #: ../../library/tkinter.ttk.rst:112 msgid "class" -msgstr "class" +msgstr "classe" #: ../../library/tkinter.ttk.rst:112 msgid "" @@ -207,10 +225,12 @@ msgid "" "Specifies the mouse cursor to be used for the widget. If set to the empty " "string (the default), the cursor is inherited for the parent widget." msgstr "" +"Especifica o cursor do mouse a ser utilizado pelo widget. Caso seja definido " +"como uma string vazia (padrão), o cursor é herdado do widget pai." #: ../../library/tkinter.ttk.rst:123 msgid "takefocus" -msgstr "" +msgstr "takefocus" #: ../../library/tkinter.ttk.rst:123 msgid "" @@ -221,6 +241,12 @@ msgid "" "And an empty string means that the traversal scripts make the decision about " "whether or not to focus on the window." msgstr "" +"Determina se a janela aceitará foco durante a navegação com o teclado. " +"Retorna 0, 1 ou uma string vazia. Caso retorne 0, significa que a janela " +"deve ser completamente ignorada durante a navegação com o teclado. Caso " +"retorne 1, significa que a janela receberá as entradas do teclado enquanto " +"estiver visível. E a string vazia significa que os scripts de navegação " +"determinam quando a janela recebe foco ou não." #: ../../library/tkinter.ttk.rst:132 msgid "style" @@ -228,7 +254,7 @@ msgstr "estilo" #: ../../library/tkinter.ttk.rst:132 msgid "May be used to specify a custom widget style." -msgstr "" +msgstr "Pode ser utilizado para especificar um estilo customizado do widget." #: ../../library/tkinter.ttk.rst:137 msgid "Scrollable Widget Options" @@ -239,20 +265,24 @@ msgid "" "The following options are supported by widgets that are controlled by a " "scrollbar." msgstr "" +"As opções a seguir são suportadas pelos widgets que são controlados por uma " +"barra de rolagem." #: ../../library/tkinter.ttk.rst:147 msgid "xscrollcommand" -msgstr "" +msgstr "xscrollcommand" #: ../../library/tkinter.ttk.rst:147 msgid "Used to communicate with horizontal scrollbars." -msgstr "" +msgstr "Utilizado para comunicação com barras de rolagem horizontais." #: ../../library/tkinter.ttk.rst:149 msgid "" "When the view in the widget's window change, the widget will generate a Tcl " "command based on the scrollcommand." msgstr "" +"Quando a visualização na janela do widget mudar, o widget irá gerar um " +"comando Tcl baseado no comando da barra de rolagem." #: ../../library/tkinter.ttk.rst:152 msgid "" @@ -260,16 +290,21 @@ msgid "" "scrollbar. This will cause the scrollbar to be updated whenever the view in " "the window changes." msgstr "" +"Geralmente essa opção consiste no método :meth:`Scrollbar.set` de alguma " +"barra de rolagem. Isso fará com que a barra de rolagem seja atualizada " +"sempre que a visualização da janela mude." #: ../../library/tkinter.ttk.rst:157 msgid "yscrollcommand" -msgstr "" +msgstr "yscrollcommand" #: ../../library/tkinter.ttk.rst:157 msgid "" "Used to communicate with vertical scrollbars. For some more information, see " "above." msgstr "" +"Utilizado para comunicação com barras de rolagem verticais. Para mais " +"informações, veja acima." #: ../../library/tkinter.ttk.rst:163 msgid "Label Options" @@ -280,19 +315,21 @@ msgid "" "The following options are supported by labels, buttons and other button-like " "widgets." msgstr "" +"As opções a seguir são suportadas por rótulos, botões e outros widgets " +"semelhantes." #: ../../library/tkinter.ttk.rst:173 ../../library/tkinter.ttk.rst:521 #: ../../library/tkinter.ttk.rst:861 msgid "text" -msgstr "texto" +msgstr "text" #: ../../library/tkinter.ttk.rst:173 msgid "Specifies a text string to be displayed inside the widget." -msgstr "" +msgstr "Especifica uma string para exibição dentro do widget." #: ../../library/tkinter.ttk.rst:175 ../../library/tkinter.ttk.rst:339 msgid "textvariable" -msgstr "" +msgstr "textvariable" #: ../../library/tkinter.ttk.rst:175 msgid "" @@ -302,18 +339,21 @@ msgstr "" #: ../../library/tkinter.ttk.rst:178 ../../library/tkinter.ttk.rst:530 msgid "underline" -msgstr "" +msgstr "underline" #: ../../library/tkinter.ttk.rst:178 msgid "" "If set, specifies the index (0-based) of a character to underline in the " "text string. The underline character is used for mnemonic activation." msgstr "" +"Caso definido, especifica o índice (base-0) de um caractere para " +"sublinhamento na string de texto. O caractere sublinhado é utilizado para " +"ativação mnemônica." #: ../../library/tkinter.ttk.rst:182 ../../library/tkinter.ttk.rst:523 #: ../../library/tkinter.ttk.rst:863 ../../library/tkinter.ttk.rst:895 msgid "image" -msgstr "" +msgstr "image" #: ../../library/tkinter.ttk.rst:182 msgid "" @@ -323,16 +363,24 @@ msgid "" "different images to use when the widget is in a particular state or a " "combination of states. All images in the list should have the same size." msgstr "" +"Define uma imagem para exibição. Isso é uma lista de 1 ou mais elementos. O " +"primeiro elemento é o nome da imagem padrão. O resto da lista é uma " +"sequência de pares estado/valor conforme definido por :meth:`Style.map`, " +"definindo imagens diferentes para utilização quando o widget estiver em um " +"determinado estado ou em uma combinação de estados. Todas as imagens da " +"lista devem ter o mesmo tamanho." #: ../../library/tkinter.ttk.rst:190 ../../library/tkinter.ttk.rst:526 msgid "compound" -msgstr "" +msgstr "compound" #: ../../library/tkinter.ttk.rst:190 msgid "" "Specifies how to display the image relative to the text, in the case both " "text and images options are present. Valid values are:" msgstr "" +"Define como exibir a imagem em relação ao texto, no caso em que ambas as " +"opções de texto e imagem estejam presentes. Valores válidos são:" #: ../../library/tkinter.ttk.rst:194 msgid "text: display text only" @@ -347,10 +395,14 @@ msgid "" "top, bottom, left, right: display image above, below, left of, or right of " "the text, respectively." msgstr "" +"top, bottom, left, right: exibem a imagem acima, abaixo, à esquerda, ou à " +"direita do texto, respectivamente." #: ../../library/tkinter.ttk.rst:198 msgid "none: the default. display the image if present, otherwise the text." msgstr "" +"none: o padrão, exibe a imagem caso ela esteja presente, caso contrário , " +"exibe o texto." #: ../../library/tkinter.ttk.rst:201 ../../library/tkinter.ttk.rst:347 #: ../../library/tkinter.ttk.rst:491 @@ -363,6 +415,10 @@ msgid "" "allocate for the text label, if less than zero, specifies a minimum width. " "If zero or unspecified, the natural width of the text label is used." msgstr "" +"Caso maior que zero, especifica quanto espaço, em largura de caracteres, " +"alocar para o rótulo do texto, se menor que zero, especifica a largura " +"mínima. Se zero ou inespecífico, é utilizada a largura normal do rótulo de " +"texto." #: ../../library/tkinter.ttk.rst:209 msgid "Compatibility Options" @@ -382,11 +438,12 @@ msgstr "" #: ../../library/tkinter.ttk.rst:223 msgid "Widget States" -msgstr "" +msgstr "Estados de Widget" #: ../../library/tkinter.ttk.rst:225 msgid "The widget state is a bitmap of independent state flags." msgstr "" +"O estado do widget é um bitmap de sinalizadores de estado independentes." #: ../../library/tkinter.ttk.rst:230 msgid "Flag" @@ -394,21 +451,23 @@ msgstr "Sinalizador" #: ../../library/tkinter.ttk.rst:232 msgid "active" -msgstr "" +msgstr "active" #: ../../library/tkinter.ttk.rst:232 msgid "" "The mouse cursor is over the widget and pressing a mouse button will cause " "some action to occur" msgstr "" +"O cursor do mouse está sobre o widget e pressionar um botão do mouse causará " +"alguma ação" #: ../../library/tkinter.ttk.rst:235 msgid "disabled" -msgstr "inválido" +msgstr "disabled" #: ../../library/tkinter.ttk.rst:235 msgid "Widget is disabled under program control" -msgstr "" +msgstr "Widget está desabilitado sob controle do programa." #: ../../library/tkinter.ttk.rst:237 msgid "focus" @@ -416,25 +475,27 @@ msgstr "focus" #: ../../library/tkinter.ttk.rst:237 msgid "Widget has keyboard focus" -msgstr "" +msgstr "Widget tem foco do teclado" #: ../../library/tkinter.ttk.rst:239 msgid "pressed" -msgstr "" +msgstr "pressed" #: ../../library/tkinter.ttk.rst:239 msgid "Widget is being pressed" -msgstr "" +msgstr "Widget está sendo pressionado" #: ../../library/tkinter.ttk.rst:241 msgid "selected" -msgstr "selecionado" +msgstr "selected" #: ../../library/tkinter.ttk.rst:241 msgid "" "\"On\", \"true\", or \"current\" for things like Checkbuttons and " "radiobuttons" msgstr "" +"\"On\", \"true\", ou \"current\" para coisas como botões de confirmação e " +"botões de opção." #: ../../library/tkinter.ttk.rst:244 ../../library/tkinter.ttk.rst:891 msgid "background" @@ -446,6 +507,9 @@ msgid "" "*background* state is set for widgets in a background window, and cleared " "for those in the foreground window" msgstr "" +"Windows e Mac possuem uma noção de janela \"ativa\" ou em primeiro plano. O " +"estado de \"plano de fundo\" é definido para widgets em uma janela no plano " +"de fundo, e limpo para aqueles na janela de primeiro plano" #: ../../library/tkinter.ttk.rst:249 msgid "readonly" @@ -453,7 +517,7 @@ msgstr "readonly" #: ../../library/tkinter.ttk.rst:249 msgid "Widget should not allow user modification" -msgstr "" +msgstr "Widget não deve permitir modificação do usuário" #: ../../library/tkinter.ttk.rst:251 msgid "alternate" @@ -461,41 +525,49 @@ msgstr "alternate" #: ../../library/tkinter.ttk.rst:251 msgid "A widget-specific alternate display format" -msgstr "" +msgstr "Um formato de exibição específico do widget" #: ../../library/tkinter.ttk.rst:253 msgid "invalid" -msgstr "" +msgstr "invalid" #: ../../library/tkinter.ttk.rst:253 msgid "The widget's value is invalid" -msgstr "" +msgstr "O valor do widget é inválido" #: ../../library/tkinter.ttk.rst:256 msgid "" "A state specification is a sequence of state names, optionally prefixed with " "an exclamation point indicating that the bit is off." msgstr "" +"Uma especificação de estado é uma sequência de nomes de estado, " +"opcionalmente prefixada por um ponto de exclamação indicando que o bit está " +"desligado." #: ../../library/tkinter.ttk.rst:261 msgid "ttk.Widget" -msgstr "" +msgstr "ttk.Widget" #: ../../library/tkinter.ttk.rst:263 msgid "" "Besides the methods described below, the :class:`ttk.Widget` supports the " "methods :meth:`tkinter.Widget.cget` and :meth:`tkinter.Widget.configure`." msgstr "" +"Além dos métodos descritos abaixo, a classe :class:`ttk.Widget` oferece " +"suporte aos métodos :meth:`tkinter.Widget.cget` " +"e :meth:`tkinter.Widget.configure`." #: ../../library/tkinter.ttk.rst:270 msgid "" "Returns the name of the element at position *x* *y*, or the empty string if " "the point does not lie within any element." msgstr "" +"Retorna o nome do elemento na posição *x* *y*, ou a string vazia caso o " +"ponto não esteja dentro de algum elemento." #: ../../library/tkinter.ttk.rst:273 msgid "*x* and *y* are pixel coordinates relative to the widget." -msgstr "" +msgstr "*x* e *y* são coordenadas de pixel relativas ao widget." #: ../../library/tkinter.ttk.rst:278 msgid "" @@ -525,14 +597,15 @@ msgid "" "The :class:`ttk.Combobox` widget combines a text field with a pop-down list " "of values. This widget is a subclass of :class:`Entry`." msgstr "" +"O widget :class:`ttk.Combobox` combina um campo de texto com uma lista " +"suspensa de valores. Esse widget é uma subclasse de :class:`Entry`." #: ../../library/tkinter.ttk.rst:300 msgid "" -"Besides the methods inherited from :class:`Widget`: :meth:`Widget.cget`, :" -"meth:`Widget.configure`, :meth:`Widget.identify`, :meth:`Widget.instate` " -"and :meth:`Widget.state`, and the following inherited from :class:`Entry`: :" -"meth:`Entry.bbox`, :meth:`Entry.delete`, :meth:`Entry.icursor`, :meth:`Entry." -"index`, :meth:`Entry.insert`, :meth:`Entry.selection`, :meth:`Entry.xview`, " +"Besides the methods inherited " +"from :class:`Widget`: :meth:`Widget.cget`, :meth:`Widget.configure`, :meth:`Widget.identify`, :meth:`Widget.instate` " +"and :meth:`Widget.state`, and the following inherited " +"from :class:`Entry`: :meth:`Entry.bbox`, :meth:`Entry.delete`, :meth:`Entry.icursor`, :meth:`Entry.index`, :meth:`Entry.insert`, :meth:`Entry.selection`, :meth:`Entry.xview`, " "it has some other methods, described at :class:`ttk.Combobox`." msgstr "" @@ -546,11 +619,11 @@ msgstr "Opções" #: ../../library/tkinter.ttk.rst:474 ../../library/tkinter.ttk.rst:664 #: ../../library/tkinter.ttk.rst:803 msgid "This widget accepts the following specific options:" -msgstr "" +msgstr "Este widget aceita as seguintes opções específicas:" #: ../../library/tkinter.ttk.rst:319 msgid "exportselection" -msgstr "" +msgstr "exportselection" #: ../../library/tkinter.ttk.rst:319 msgid "" @@ -558,6 +631,9 @@ msgid "" "selection (which can be returned by invoking Misc.selection_get, for " "example)." msgstr "" +"Valor booleano. Caso definido, a seleção do widget é vinculada à seleção do " +"Gerenciador de Janelas (que pode ser retornada ao chamar Misc.selection_get, " +"por exemplo)." #: ../../library/tkinter.ttk.rst:323 msgid "justify" @@ -568,6 +644,8 @@ msgid "" "Specifies how the text is aligned within the widget. One of \"left\", " "\"center\", or \"right\"." msgstr "" +"Especifica como o texto é alinhado dentro do widget. Pode ser \"left\", " +"\"center\" ou \"right\"." #: ../../library/tkinter.ttk.rst:326 ../../library/tkinter.ttk.rst:481 #: ../../library/tkinter.ttk.rst:818 @@ -576,17 +654,20 @@ msgstr "height" #: ../../library/tkinter.ttk.rst:326 msgid "Specifies the height of the pop-down listbox, in rows." -msgstr "" +msgstr "Especifica a altura, em linhas, da lista suspensa." #: ../../library/tkinter.ttk.rst:328 msgid "postcommand" -msgstr "" +msgstr "postcommand" #: ../../library/tkinter.ttk.rst:328 msgid "" "A script (possibly registered with Misc.register) that is called immediately " "before displaying the values. It may specify which values to display." msgstr "" +"Um script (possivelmente registrado com Misc.register) que é chamado " +"imediatamente antes da exibição dos valores. Ele pode especificar quais " +"valores exibir." #: ../../library/tkinter.ttk.rst:332 msgid "" @@ -595,6 +676,11 @@ msgid "" "values from the dropdown list. In the \"normal\" state, the text field is " "directly editable. In the \"disabled\" state, no interaction is possible." msgstr "" +"Um dos estados: \"normal\", \"readonly\" ou \"disabled\". No estado " +"\"readonly\", o valor não pode ser editado diretamente, e o usuário só pode " +"selecionar valores contidos na lista suspensa. No estado \"normal\", o campo " +"de texto é diretamente editável. No estado \"disabled\", nenhuma interação é " +"possível." #: ../../library/tkinter.ttk.rst:339 msgid "" @@ -602,15 +688,18 @@ msgid "" "value associated with that name changes, the widget value is updated, and " "vice versa. See :class:`tkinter.StringVar`." msgstr "" +"Especifica um nome que terá seu valor vinculado ao valor do widget. Sempre " +"que o valor associado a esse nome mudar, o valor do widget será atualizado, " +"e vice versa. Veja :class:`tkinter.StringVar`." #: ../../library/tkinter.ttk.rst:344 ../../library/tkinter.ttk.rst:417 #: ../../library/tkinter.ttk.rst:865 msgid "values" -msgstr "" +msgstr "valores" #: ../../library/tkinter.ttk.rst:344 msgid "Specifies the list of values to display in the drop-down listbox." -msgstr "" +msgstr "Especifica a lista de valores para exibição na lista suspensa." #: ../../library/tkinter.ttk.rst:347 msgid "" @@ -620,17 +709,19 @@ msgstr "" #: ../../library/tkinter.ttk.rst:354 ../../library/tkinter.ttk.rst:442 msgid "Virtual events" -msgstr "" +msgstr "Eventos virtuais" #: ../../library/tkinter.ttk.rst:356 msgid "" "The combobox widgets generates a **<>** virtual event when " "the user selects an element from the list of values." msgstr "" +"Os widgets combobox geram um evento virtual **<>** quando " +"o usuário seleciona um elemento da lista de valores." #: ../../library/tkinter.ttk.rst:361 msgid "ttk.Combobox" -msgstr "" +msgstr "ttk.Combobox" #: ../../library/tkinter.ttk.rst:367 msgid "" @@ -641,7 +732,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:374 msgid "Returns the current value of the combobox." -msgstr "" +msgstr "Retorna o valor atual do combobox." #: ../../library/tkinter.ttk.rst:379 msgid "Sets the value of the combobox to *value*." @@ -649,7 +740,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:383 msgid "Spinbox" -msgstr "" +msgstr "Spinbox" #: ../../library/tkinter.ttk.rst:384 msgid "" @@ -660,17 +751,16 @@ msgstr "" #: ../../library/tkinter.ttk.rst:388 msgid "" -"Besides the methods inherited from :class:`Widget`: :meth:`Widget.cget`, :" -"meth:`Widget.configure`, :meth:`Widget.identify`, :meth:`Widget.instate` " -"and :meth:`Widget.state`, and the following inherited from :class:`Entry`: :" -"meth:`Entry.bbox`, :meth:`Entry.delete`, :meth:`Entry.icursor`, :meth:`Entry." -"index`, :meth:`Entry.insert`, :meth:`Entry.xview`, it has some other " -"methods, described at :class:`ttk.Spinbox`." +"Besides the methods inherited " +"from :class:`Widget`: :meth:`Widget.cget`, :meth:`Widget.configure`, :meth:`Widget.identify`, :meth:`Widget.instate` " +"and :meth:`Widget.state`, and the following inherited " +"from :class:`Entry`: :meth:`Entry.bbox`, :meth:`Entry.delete`, :meth:`Entry.icursor`, :meth:`Entry.index`, :meth:`Entry.insert`, :meth:`Entry.xview`, " +"it has some other methods, described at :class:`ttk.Spinbox`." msgstr "" #: ../../library/tkinter.ttk.rst:405 msgid "from" -msgstr "de" +msgstr "from" #: ../../library/tkinter.ttk.rst:405 msgid "" @@ -681,7 +771,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:410 msgid "to" -msgstr "para" +msgstr "to" #: ../../library/tkinter.ttk.rst:410 msgid "" @@ -719,7 +809,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:428 msgid "format" -msgstr "formato" +msgstr "format" #: ../../library/tkinter.ttk.rst:428 msgid "" @@ -730,7 +820,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:434 msgid "command" -msgstr "" +msgstr "command" #: ../../library/tkinter.ttk.rst:434 msgid "" @@ -747,7 +837,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:449 msgid "ttk.Spinbox" -msgstr "" +msgstr "ttk.Spinbox" #: ../../library/tkinter.ttk.rst:455 msgid "Returns the current value of the spinbox." @@ -833,8 +923,8 @@ msgstr "" #: ../../library/tkinter.ttk.rst:523 msgid "" -"Specifies an image to display in the tab. See the option image described in :" -"class:`Widget`." +"Specifies an image to display in the tab. See the option image described " +"in :class:`Widget`." msgstr "" #: ../../library/tkinter.ttk.rst:526 @@ -846,8 +936,8 @@ msgstr "" #: ../../library/tkinter.ttk.rst:530 msgid "" "Specifies the index (0-based) of a character to underline in the text " -"string. The underlined character is used for mnemonic activation if :meth:" -"`Notebook.enable_traversal` is called." +"string. The underlined character is used for mnemonic activation " +"if :meth:`Notebook.enable_traversal` is called." msgstr "" #: ../../library/tkinter.ttk.rst:538 @@ -1048,7 +1138,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:677 msgid "mode" -msgstr "modo" +msgstr "mode" #: ../../library/tkinter.ttk.rst:677 msgid "One of \"determinate\" or \"indeterminate\"." @@ -1056,7 +1146,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:679 msgid "maximum" -msgstr "" +msgstr "maximum" #: ../../library/tkinter.ttk.rst:679 msgid "A number specifying the maximum value. Defaults to 100." @@ -1064,7 +1154,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:681 msgid "value" -msgstr "value" +msgstr "valor" #: ../../library/tkinter.ttk.rst:681 msgid "" @@ -1076,7 +1166,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:687 msgid "variable" -msgstr "" +msgstr "variável" #: ../../library/tkinter.ttk.rst:687 msgid "" @@ -1087,7 +1177,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:691 msgid "phase" -msgstr "" +msgstr "phase" #: ../../library/tkinter.ttk.rst:691 msgid "" @@ -1099,13 +1189,13 @@ msgstr "" #: ../../library/tkinter.ttk.rst:699 msgid "ttk.Progressbar" -msgstr "" +msgstr "ttk.Progressbar" #: ../../library/tkinter.ttk.rst:705 msgid "" -"Begin autoincrement mode: schedules a recurring timer event that calls :meth:" -"`Progressbar.step` every *interval* milliseconds. If omitted, *interval* " -"defaults to 50 milliseconds." +"Begin autoincrement mode: schedules a recurring timer event that " +"calls :meth:`Progressbar.step` every *interval* milliseconds. If omitted, " +"*interval* defaults to 50 milliseconds." msgstr "" #: ../../library/tkinter.ttk.rst:712 @@ -1118,13 +1208,13 @@ msgstr "" #: ../../library/tkinter.ttk.rst:719 msgid "" -"Stop autoincrement mode: cancels any recurring timer event initiated by :" -"meth:`Progressbar.start` for this progress bar." +"Stop autoincrement mode: cancels any recurring timer event initiated " +"by :meth:`Progressbar.start` for this progress bar." msgstr "" #: ../../library/tkinter.ttk.rst:724 msgid "Separator" -msgstr "" +msgstr "Separator" #: ../../library/tkinter.ttk.rst:726 msgid "" @@ -1149,7 +1239,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:748 msgid "Sizegrip" -msgstr "" +msgstr "Sizegrip" #: ../../library/tkinter.ttk.rst:750 msgid "" @@ -1191,7 +1281,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:775 msgid "Treeview" -msgstr "" +msgstr "Treeview" #: ../../library/tkinter.ttk.rst:777 msgid "" @@ -1226,13 +1316,13 @@ msgstr "" #: ../../library/tkinter.ttk.rst:795 msgid "" "The Treeview widget supports horizontal and vertical scrolling, according to " -"the options described in `Scrollable Widget Options`_ and the methods :meth:" -"`Treeview.xview` and :meth:`Treeview.yview`." +"the options described in `Scrollable Widget Options`_ and the " +"methods :meth:`Treeview.xview` and :meth:`Treeview.yview`." msgstr "" #: ../../library/tkinter.ttk.rst:810 msgid "columns" -msgstr "" +msgstr "columns" #: ../../library/tkinter.ttk.rst:810 msgid "" @@ -1265,7 +1355,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:825 msgid "selectmode" -msgstr "" +msgstr "selectmode" #: ../../library/tkinter.ttk.rst:825 msgid "" @@ -1283,7 +1373,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:836 msgid "show" -msgstr "" +msgstr "show" #: ../../library/tkinter.ttk.rst:836 msgid "" @@ -1341,7 +1431,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:872 msgid "open" -msgstr "" +msgstr "open" #: ../../library/tkinter.ttk.rst:872 msgid "" @@ -1351,7 +1441,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:875 msgid "tags" -msgstr "" +msgstr "tags" #: ../../library/tkinter.ttk.rst:875 msgid "A list of tags associated with this item." @@ -1367,7 +1457,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:889 msgid "foreground" -msgstr "" +msgstr "foreground" #: ../../library/tkinter.ttk.rst:889 msgid "Specifies the text foreground color." @@ -1446,7 +1536,7 @@ msgstr "Evento" #: ../../library/tkinter.ttk.rst:934 msgid "<>" -msgstr "" +msgstr "<>" #: ../../library/tkinter.ttk.rst:934 msgid "Generated whenever the selection changes." @@ -1454,7 +1544,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:936 msgid "<>" -msgstr "" +msgstr "<>" #: ../../library/tkinter.ttk.rst:936 msgid "Generated just before settings the focus item to open=True." @@ -1462,7 +1552,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:939 msgid "<>" -msgstr "" +msgstr "<>" #: ../../library/tkinter.ttk.rst:939 msgid "Generated just after setting the focus item to open=False." @@ -1476,7 +1566,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:948 msgid "ttk.Treeview" -msgstr "" +msgstr "ttk.Treeview" #: ../../library/tkinter.ttk.rst:954 msgid "" @@ -1523,19 +1613,20 @@ msgid "" msgstr "" #: ../../library/tkinter.ttk.rst:987 ../../library/tkinter.ttk.rst:1042 +#: ../../library/tkinter.ttk.rst:1520 msgid "The valid options/values are:" msgstr "" #: ../../library/tkinter.ttk.rst:989 -msgid "id" -msgstr "" +msgid "*id*" +msgstr "*id*" #: ../../library/tkinter.ttk.rst:990 msgid "Returns the column name. This is a read-only option." msgstr "" #: ../../library/tkinter.ttk.rst:992 -msgid "anchor: One of the standard Tk anchor values." +msgid "*anchor*: One of the standard Tk anchor values." msgstr "" #: ../../library/tkinter.ttk.rst:992 @@ -1545,7 +1636,7 @@ msgid "" msgstr "" #: ../../library/tkinter.ttk.rst:996 -msgid "minwidth: width" +msgid "*minwidth*: width" msgstr "" #: ../../library/tkinter.ttk.rst:995 @@ -1556,8 +1647,8 @@ msgid "" msgstr "" #: ../../library/tkinter.ttk.rst:999 -msgid "stretch: ``True``/``False``" -msgstr "" +msgid "*stretch*: ``True``/``False``" +msgstr "*stretch*: ``True``/``False``" #: ../../library/tkinter.ttk.rst:999 msgid "" @@ -1566,7 +1657,7 @@ msgid "" msgstr "" #: ../../library/tkinter.ttk.rst:1002 -msgid "width: width" +msgid "*width*: width" msgstr "" #: ../../library/tkinter.ttk.rst:1002 @@ -1621,7 +1712,7 @@ msgid "" msgstr "" #: ../../library/tkinter.ttk.rst:1044 -msgid "text: text" +msgid "*text*: text" msgstr "" #: ../../library/tkinter.ttk.rst:1045 @@ -1629,7 +1720,7 @@ msgid "The text to display in the column heading." msgstr "" #: ../../library/tkinter.ttk.rst:1046 -msgid "image: imageName" +msgid "*image*: imageName" msgstr "" #: ../../library/tkinter.ttk.rst:1047 @@ -1637,7 +1728,7 @@ msgid "Specifies an image to display to the right of the column heading." msgstr "" #: ../../library/tkinter.ttk.rst:1049 -msgid "anchor: anchor" +msgid "*anchor*: anchor" msgstr "" #: ../../library/tkinter.ttk.rst:1049 @@ -1647,7 +1738,7 @@ msgid "" msgstr "" #: ../../library/tkinter.ttk.rst:1052 -msgid "command: callback" +msgid "*command*: callback" msgstr "" #: ../../library/tkinter.ttk.rst:1052 @@ -1752,7 +1843,7 @@ msgid "" msgstr "" #: ../../library/tkinter.ttk.rst:1121 -msgid "See `Item Options`_ for the list of available points." +msgid "See `Item Options`_ for the list of available options." msgstr "" #: ../../library/tkinter.ttk.rst:1126 @@ -1891,7 +1982,7 @@ msgstr "" #: ../../library/tkinter.ttk.rst:1264 msgid "Ttk Styling" -msgstr "" +msgstr "Ttk Styling" #: ../../library/tkinter.ttk.rst:1266 msgid "" @@ -1899,8 +1990,8 @@ msgid "" "elements making up the widget and how they are arranged, along with dynamic " "and default settings for element options. By default the style name is the " "same as the widget's class name, but it may be overridden by the widget's " -"style option. If you don't know the class name of a widget, use the method :" -"meth:`Misc.winfo_class` (somewidget.winfo_class())." +"style option. If you don't know the class name of a widget, use the " +"method :meth:`Misc.winfo_class` (somewidget.winfo_class())." msgstr "" #: ../../library/tkinter.ttk.rst:1275 @@ -1994,68 +2085,71 @@ msgstr "" #: ../../library/tkinter.ttk.rst:1393 msgid "" "Create a new element in the current theme, of the given *etype* which is " -"expected to be either \"image\", \"from\" or \"vsapi\". The latter is only " -"available in Tk 8.6a for Windows XP and Vista and is not described here." +"expected to be either \"image\" or \"from\"." msgstr "" -#: ../../library/tkinter.ttk.rst:1397 +#: ../../library/tkinter.ttk.rst:1396 msgid "" "If \"image\" is used, *args* should contain the default image name followed " "by statespec/value pairs (this is the imagespec), and *kw* may have the " "following options:" msgstr "" -#: ../../library/tkinter.ttk.rst:1403 +#: ../../library/tkinter.ttk.rst:1402 msgid "border=padding" msgstr "" -#: ../../library/tkinter.ttk.rst:1402 +#: ../../library/tkinter.ttk.rst:1401 msgid "" "padding is a list of up to four integers, specifying the left, top, right, " "and bottom borders, respectively." msgstr "" -#: ../../library/tkinter.ttk.rst:1407 +#: ../../library/tkinter.ttk.rst:1406 msgid "height=height" msgstr "" -#: ../../library/tkinter.ttk.rst:1406 +#: ../../library/tkinter.ttk.rst:1405 msgid "" "Specifies a minimum height for the element. If less than zero, the base " "image's height is used as a default." msgstr "" -#: ../../library/tkinter.ttk.rst:1411 +#: ../../library/tkinter.ttk.rst:1410 msgid "padding=padding" msgstr "" -#: ../../library/tkinter.ttk.rst:1410 +#: ../../library/tkinter.ttk.rst:1409 msgid "" "Specifies the element's interior padding. Defaults to border's value if not " "specified." msgstr "" -#: ../../library/tkinter.ttk.rst:1415 +#: ../../library/tkinter.ttk.rst:1414 msgid "sticky=spec" msgstr "" -#: ../../library/tkinter.ttk.rst:1414 +#: ../../library/tkinter.ttk.rst:1413 msgid "" "Specifies how the image is placed within the final parcel. spec contains " "zero or more characters \"n\", \"s\", \"w\", or \"e\"." msgstr "" -#: ../../library/tkinter.ttk.rst:1419 +#: ../../library/tkinter.ttk.rst:1418 msgid "width=width" msgstr "" -#: ../../library/tkinter.ttk.rst:1418 +#: ../../library/tkinter.ttk.rst:1417 msgid "" "Specifies a minimum width for the element. If less than zero, the base " "image's width is used as a default." msgstr "" -#: ../../library/tkinter.ttk.rst:1421 +#: ../../library/tkinter.ttk.rst:1420 ../../library/tkinter.ttk.rst:1437 +msgid "Example::" +msgstr "Exemplo::" + +#: ../../library/tkinter.ttk.rst:1430 msgid "" "If \"from\" is used as the value of *etype*, :meth:`element_create` will " "clone an existing element. *args* is expected to contain a themename, from " @@ -2064,19 +2158,19 @@ msgid "" "used. *kw* is discarded." msgstr "" -#: ../../library/tkinter.ttk.rst:1431 +#: ../../library/tkinter.ttk.rst:1445 msgid "Returns the list of elements defined in the current theme." msgstr "" -#: ../../library/tkinter.ttk.rst:1436 +#: ../../library/tkinter.ttk.rst:1450 msgid "Returns the list of *elementname*'s options." msgstr "" -#: ../../library/tkinter.ttk.rst:1441 +#: ../../library/tkinter.ttk.rst:1455 msgid "Create a new theme." msgstr "" -#: ../../library/tkinter.ttk.rst:1443 +#: ../../library/tkinter.ttk.rst:1457 msgid "" "It is an error if *themename* already exists. If *parent* is specified, the " "new theme will inherit styles, elements and layouts from the parent theme. " @@ -2084,82 +2178,82 @@ msgid "" "for :meth:`theme_settings`." msgstr "" -#: ../../library/tkinter.ttk.rst:1451 +#: ../../library/tkinter.ttk.rst:1465 msgid "" "Temporarily sets the current theme to *themename*, apply specified " "*settings* and then restore the previous theme." msgstr "" -#: ../../library/tkinter.ttk.rst:1454 +#: ../../library/tkinter.ttk.rst:1468 msgid "" "Each key in *settings* is a style and each value may contain the keys " "'configure', 'map', 'layout' and 'element create' and they are expected to " -"have the same format as specified by the methods :meth:`Style.configure`, :" -"meth:`Style.map`, :meth:`Style.layout` and :meth:`Style.element_create` " -"respectively." +"have the same format as specified by the " +"methods :meth:`Style.configure`, :meth:`Style.map`, :meth:`Style.layout` " +"and :meth:`Style.element_create` respectively." msgstr "" -#: ../../library/tkinter.ttk.rst:1460 +#: ../../library/tkinter.ttk.rst:1474 msgid "As an example, let's change the Combobox for the default theme a bit::" msgstr "" -#: ../../library/tkinter.ttk.rst:1488 +#: ../../library/tkinter.ttk.rst:1502 msgid "Returns a list of all known themes." msgstr "" -#: ../../library/tkinter.ttk.rst:1493 +#: ../../library/tkinter.ttk.rst:1507 msgid "" "If *themename* is not given, returns the theme in use. Otherwise, sets the " "current theme to *themename*, refreshes all widgets and emits a " "<> event." msgstr "" -#: ../../library/tkinter.ttk.rst:1499 +#: ../../library/tkinter.ttk.rst:1513 msgid "Layouts" -msgstr "" +msgstr "Layouts" -#: ../../library/tkinter.ttk.rst:1501 +#: ../../library/tkinter.ttk.rst:1515 msgid "" "A layout can be just ``None``, if it takes no options, or a dict of options " "specifying how to arrange the element. The layout mechanism uses a " "simplified version of the pack geometry manager: given an initial cavity, " -"each element is allocated a parcel. Valid options/values are:" +"each element is allocated a parcel." msgstr "" -#: ../../library/tkinter.ttk.rst:1510 -msgid "side: whichside" +#: ../../library/tkinter.ttk.rst:1525 +msgid "*side*: whichside" msgstr "" -#: ../../library/tkinter.ttk.rst:1508 +#: ../../library/tkinter.ttk.rst:1523 msgid "" "Specifies which side of the cavity to place the element; one of top, right, " "bottom or left. If omitted, the element occupies the entire cavity." msgstr "" -#: ../../library/tkinter.ttk.rst:1513 -msgid "sticky: nswe" +#: ../../library/tkinter.ttk.rst:1528 +msgid "*sticky*: nswe" msgstr "" -#: ../../library/tkinter.ttk.rst:1513 +#: ../../library/tkinter.ttk.rst:1528 msgid "Specifies where the element is placed inside its allocated parcel." msgstr "" -#: ../../library/tkinter.ttk.rst:1518 -msgid "unit: 0 or 1" -msgstr "" +#: ../../library/tkinter.ttk.rst:1533 +msgid "*unit*: 0 or 1" +msgstr "*unit*: 0 ou 1" -#: ../../library/tkinter.ttk.rst:1516 +#: ../../library/tkinter.ttk.rst:1531 msgid "" "If set to 1, causes the element and all of its descendants to be treated as " "a single element for the purposes of :meth:`Widget.identify` et al. It's " "used for things like scrollbar thumbs with grips." msgstr "" -#: ../../library/tkinter.ttk.rst:1523 -msgid "children: [sublayout... ]" +#: ../../library/tkinter.ttk.rst:1538 +msgid "*children*: [sublayout... ]" msgstr "" -#: ../../library/tkinter.ttk.rst:1521 +#: ../../library/tkinter.ttk.rst:1536 msgid "" "Specifies a list of elements to place inside the element. Each element is a " "tuple (or other sequence type) where the first item is the layout name, and " @@ -2168,4 +2262,4 @@ msgstr "" #: ../../library/tkinter.ttk.rst:11 msgid "ttk" -msgstr "" +msgstr "ttk" diff --git a/library/token.po b/library/token.po index 168508e40..3c3191d6e 100644 --- a/library/token.po +++ b/library/token.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,10 +40,11 @@ msgid "" "names map to may change between Python versions." msgstr "" "Este módulo fornece constantes que representam os valores numéricos dos nós " -"das folhas da árvore de análise (tokens terminais). Consulte o arquivo :file:" -"`Grammar/Tokens` na distribuição Python para obter as definições dos nomes " -"no contexto da gramática da linguagem. Os valores numéricos específicos para " -"os quais os nomes são mapeados podem mudar entre as versões do Python." +"das folhas da árvore de análise (tokens terminais). Consulte o " +"arquivo :file:`Grammar/Tokens` na distribuição Python para obter as " +"definições dos nomes no contexto da gramática da linguagem. Os valores " +"numéricos específicos para os quais os nomes são mapeados podem mudar entre " +"as versões do Python." #: ../../library/token.rst:19 msgid "" @@ -287,10 +288,10 @@ msgid "" "generated when a logical line of code is continued over multiple physical " "lines." msgstr "" -"Valor de token usado para indicar uma nova linha que não termina. O token :" -"data:`NEWLINE` indica o fim de uma linha lógica do código Python. Os tokens " -"``NL`` são gerados quando uma linha lógica de código é continuada em várias " -"linhas físicas." +"Valor de token usado para indicar uma nova linha que não termina. O " +"token :data:`NEWLINE` indica o fim de uma linha lógica do código Python. Os " +"tokens ``NL`` são gerados quando uma linha lógica de código é continuada em " +"várias linhas físicas." #: ../../library/token.rst:67 msgid "" @@ -330,12 +331,12 @@ msgstr "" #: ../../library/token.rst:90 msgid "" -"Added :data:`TYPE_COMMENT`, :data:`TYPE_IGNORE`, :data:`COLONEQUAL`. Added :" -"data:`AWAIT` and :data:`ASYNC` tokens back (they're needed to support " +"Added :data:`TYPE_COMMENT`, :data:`TYPE_IGNORE`, :data:`COLONEQUAL`. " +"Added :data:`AWAIT` and :data:`ASYNC` tokens back (they're needed to support " "parsing older Python versions for :func:`ast.parse` with ``feature_version`` " "set to 6 or lower)." msgstr "" "Adicionados :data:`TYPE_COMMENT`, :data:`TYPE_IGNORE`, :data:`COLONEQUAL`. " "Adicionados os tokens :data:`AWAIT` e :data:`ASYNC` (eles são necessários " -"para dar suporte à análise de versões mais antigas do Python para :func:`ast." -"parse` com ``feature_version`` definido como 6 ou inferior)." +"para dar suporte à análise de versões mais antigas do Python " +"para :func:`ast.parse` com ``feature_version`` definido como 6 ou inferior)." diff --git a/library/tokenize.po b/library/tokenize.po index 201bf8da7..1702d999b 100644 --- a/library/tokenize.po +++ b/library/tokenize.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-07 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,33 +38,61 @@ msgid "" "tokens as well, making it useful for implementing \"pretty-printers\", " "including colorizers for on-screen displays." msgstr "" +"O módulo :mod:`tokenize` fornece um scanner léxico para código-fonte Python, " +"implementado em Python. O scanner neste módulo retorna comentários como " +"tokens também, tornando-o útil para implementar \"pretty-printers\", " +"incluindo colorizadores para exibições na tela." #: ../../library/tokenize.rst:19 msgid "" -"To simplify token stream handling, all :ref:`operator ` and :ref:" -"`delimiter ` tokens and :data:`Ellipsis` are returned using the " -"generic :data:`~token.OP` token type. The exact type can be determined by " -"checking the ``exact_type`` property on the :term:`named tuple` returned " -"from :func:`tokenize.tokenize`." -msgstr "" +"To simplify token stream handling, all :ref:`operator ` " +"and :ref:`delimiter ` tokens and :data:`Ellipsis` are returned " +"using the generic :data:`~token.OP` token type. The exact type can be " +"determined by checking the ``exact_type`` property on the :term:`named " +"tuple` returned from :func:`tokenize.tokenize`." +msgstr "" +"Para simplificar o tratamento do fluxo de tokens, todos os " +"tokens :ref:`operadores ` e :ref:`delimitadores ` " +"e :data:`Ellipsis` são retornados usando o tipo de token " +"genérico :data:`~token.OP`. O tipo exato pode ser determinado verificando a " +"propriedade ``exact_type`` na :term:`tupla nomeada` retornada " +"de :func:`tokenize.tokenize`." -#: ../../library/tokenize.rst:26 +#: ../../library/tokenize.rst:28 +msgid "" +"Note that the functions in this module are only designed to parse " +"syntactically valid Python code (code that does not raise when parsed " +"using :func:`ast.parse`). The behavior of the functions in this module is " +"**undefined** when providing invalid Python code and it can change at any " +"point." +msgstr "" +"Observe que as funções neste módulo são projetadas apenas para analisar " +"código Python sintaticamente válido (código que não levanta exceção quando " +"analisado usando :func:`ast.parse`). O comportamento das funções neste " +"módulo é **indefinido** ao fornecer código Python inválido e pode mudar a " +"qualquer momento." + +#: ../../library/tokenize.rst:35 msgid "Tokenizing Input" msgstr "Tokenizando entradas" -#: ../../library/tokenize.rst:28 +#: ../../library/tokenize.rst:37 msgid "The primary entry point is a :term:`generator`:" -msgstr "" +msgstr "O ponto de entrada principal é um :term:`gerador`:" -#: ../../library/tokenize.rst:32 +#: ../../library/tokenize.rst:41 msgid "" "The :func:`.tokenize` generator requires one argument, *readline*, which " -"must be a callable object which provides the same interface as the :meth:`io." -"IOBase.readline` method of file objects. Each call to the function should " -"return one line of input as bytes." +"must be a callable object which provides the same interface as " +"the :meth:`io.IOBase.readline` method of file objects. Each call to the " +"function should return one line of input as bytes." msgstr "" +"O gerador :func:`.tokenize` requer um argumento, *readline*, que deve ser um " +"objeto chamável que fornece a mesma interface que o " +"método :meth:`io.IOBase.readline` de objetos arquivo. Cada chamada para a " +"função deve retornar uma linha de entrada como bytes." -#: ../../library/tokenize.rst:37 +#: ../../library/tokenize.rst:46 msgid "" "The generator produces 5-tuples with these members: the token type; the " "token string; a 2-tuple ``(srow, scol)`` of ints specifying the row and " @@ -78,67 +102,94 @@ msgid "" "is the *physical* line. The 5 tuple is returned as a :term:`named tuple` " "with the field names: ``type string start end line``." msgstr "" +"O gerador produz tuplas de 5 elementos com estes membros: o tipo de token; a " +"string de token; uma tupla de 2 elementos ``(srow, scol)`` de ints " +"especificando a linha e a coluna onde o token começa na fonte; uma tupla de " +"2 elementos ``(erow, ecol)`` de ints especificando a linha e a coluna onde o " +"token termina na fonte; e a linha na qual o token foi encontrado. A linha " +"passada (o último item da tupla) é a linha *física*. A tupla 5 elementos é " +"retornada como uma :term:`tupla nomeada` com os nomes dos campos: ``tipo " +"string início fim linha``." -#: ../../library/tokenize.rst:46 +#: ../../library/tokenize.rst:55 msgid "" "The returned :term:`named tuple` has an additional property named " "``exact_type`` that contains the exact operator type for :data:`~token.OP` " "tokens. For all other token types ``exact_type`` equals the named tuple " "``type`` field." msgstr "" +"A :term:`tupla nomeada` retornada tem uma propriedade adicional chamada " +"``exact_type`` que contém o tipo exato do operador para " +"tokens :data:`~token.OP`. Para todos os outros tipos de token, " +"``exact_type`` é igual ao campo ``type`` da tupla nomeada." -#: ../../library/tokenize.rst:51 +#: ../../library/tokenize.rst:60 msgid "Added support for named tuples." msgstr "Adiciona suporte para tuplas nomeadas." -#: ../../library/tokenize.rst:54 +#: ../../library/tokenize.rst:63 msgid "Added support for ``exact_type``." -msgstr "" +msgstr "Adicionado suporte para ``exact_type``." -#: ../../library/tokenize.rst:57 +#: ../../library/tokenize.rst:66 msgid "" ":func:`.tokenize` determines the source encoding of the file by looking for " "a UTF-8 BOM or encoding cookie, according to :pep:`263`." msgstr "" +":func:`.tokenize` determina a codificação de origem do arquivo procurando " +"por um BOM UTF-8 ou cookie de codificação, de acordo com :pep:`263`." -#: ../../library/tokenize.rst:62 +#: ../../library/tokenize.rst:71 msgid "Tokenize a source reading unicode strings instead of bytes." -msgstr "" +msgstr "Tokeniza uma fonte lendo strings unicode em vez de bytes." -#: ../../library/tokenize.rst:64 +#: ../../library/tokenize.rst:73 msgid "" "Like :func:`.tokenize`, the *readline* argument is a callable returning a " "single line of input. However, :func:`generate_tokens` expects *readline* to " "return a str object rather than bytes." msgstr "" +"Assim como :func:`.tokenize`, o argumento *readline* é um chamável que " +"retorna uma única linha de entrada. No entanto, :func:`generate_tokens` " +"espera que *readline* retorne um objeto str em vez de bytes." -#: ../../library/tokenize.rst:68 +#: ../../library/tokenize.rst:77 msgid "" -"The result is an iterator yielding named tuples, exactly like :func:`." -"tokenize`. It does not yield an :data:`~token.ENCODING` token." +"The result is an iterator yielding named tuples, exactly " +"like :func:`.tokenize`. It does not yield an :data:`~token.ENCODING` token." msgstr "" +"O resultado é um iterador produzindo tuplas nomeadas, exatamente " +"como :func:`.tokenize`. Ele não produz um token :data:`~token.ENCODING`." -#: ../../library/tokenize.rst:71 +#: ../../library/tokenize.rst:80 msgid "" -"All constants from the :mod:`token` module are also exported from :mod:" -"`tokenize`." +"All constants from the :mod:`token` module are also exported " +"from :mod:`tokenize`." msgstr "" +"Todas as constantes do módulo :mod:`token` também são exportadas " +"de :mod:`tokenize`." -#: ../../library/tokenize.rst:74 +#: ../../library/tokenize.rst:83 msgid "" "Another function is provided to reverse the tokenization process. This is " "useful for creating tools that tokenize a script, modify the token stream, " "and write back the modified script." msgstr "" +"Outra função é fornecida para reverter o processo de tokenização. Isso é " +"útil para criar ferramentas que tokenizam um script, modificam o fluxo de " +"tokens e escrevem de volta o script modificado." -#: ../../library/tokenize.rst:81 +#: ../../library/tokenize.rst:90 msgid "" "Converts tokens back into Python source code. The *iterable* must return " "sequences with at least two elements, the token type and the token string. " "Any additional sequence elements are ignored." msgstr "" +"Converte tokens de volta para o código-fonte Python. O *iterable* deve " +"retornar sequências com pelo menos dois elementos, o tipo de token e a " +"string do token. Quaisquer elementos de sequência adicionais são ignorados." -#: ../../library/tokenize.rst:85 +#: ../../library/tokenize.rst:94 msgid "" "The reconstructed script is returned as a single string. The result is " "guaranteed to tokenize back to match the input so that the conversion is " @@ -147,136 +198,172 @@ msgid "" "may change." msgstr "" -#: ../../library/tokenize.rst:91 +#: ../../library/tokenize.rst:100 msgid "" "It returns bytes, encoded using the :data:`~token.ENCODING` token, which is " "the first token sequence output by :func:`.tokenize`. If there is no " "encoding token in the input, it returns a str instead." msgstr "" +"Retorna bytes, codificados usando o token :data:`~token.ENCODING`, que é a " +"primeira sequência de tokens gerada por :func:`.tokenize`. Se não houver " +"nenhum token de codificação na entrada, ele retorna um str em vez disso." -#: ../../library/tokenize.rst:96 +#: ../../library/tokenize.rst:105 msgid "" ":func:`.tokenize` needs to detect the encoding of source files it tokenizes. " "The function it uses to do this is available:" msgstr "" +":func:`.tokenize` precisa detectar a codificação dos arquivos fonte que ele " +"tokeniza. A função que ele usa para fazer isso está disponível:" -#: ../../library/tokenize.rst:101 +#: ../../library/tokenize.rst:110 msgid "" "The :func:`detect_encoding` function is used to detect the encoding that " "should be used to decode a Python source file. It requires one argument, " "readline, in the same way as the :func:`.tokenize` generator." msgstr "" +"A função :func:`detect_encoding` é usada para detectar a codificação que " +"deve ser usada para decodificar um arquivo de origem Python. Ela requer um " +"argumento, readline, da mesma forma que o gerador :func:`.tokenize`." -#: ../../library/tokenize.rst:105 +#: ../../library/tokenize.rst:114 msgid "" "It will call readline a maximum of twice, and return the encoding used (as a " "string) and a list of any lines (not decoded from bytes) it has read in." msgstr "" +"Ele chamará readline no máximo duas vezes e retornará a codificação usada " +"(como uma string) e uma lista de todas as linhas (não decodificadas de " +"bytes) que ele leu." -#: ../../library/tokenize.rst:109 +#: ../../library/tokenize.rst:118 msgid "" "It detects the encoding from the presence of a UTF-8 BOM or an encoding " "cookie as specified in :pep:`263`. If both a BOM and a cookie are present, " "but disagree, a :exc:`SyntaxError` will be raised. Note that if the BOM is " "found, ``'utf-8-sig'`` will be returned as an encoding." msgstr "" +"Ele detecta a codificação a partir da presença de um BOM UTF-8 ou um cookie " +"de codificação conforme especificado em :pep:`263`. Se um BOM e um cookie " +"estiverem presentes, mas discordarem, uma exceção :exc:`SyntaxError` será " +"levantada. Observe que se o BOM for encontrado, ``'utf-8-sig'`` será " +"retornado como uma codificação." -#: ../../library/tokenize.rst:114 +#: ../../library/tokenize.rst:123 msgid "" "If no encoding is specified, then the default of ``'utf-8'`` will be " "returned." msgstr "" +"Se nenhuma codificação for especificada, o padrão ``'utf-8'`` será retornado." -#: ../../library/tokenize.rst:117 +#: ../../library/tokenize.rst:126 msgid "" -"Use :func:`.open` to open Python source files: it uses :func:" -"`detect_encoding` to detect the file encoding." +"Use :func:`.open` to open Python source files: it " +"uses :func:`detect_encoding` to detect the file encoding." msgstr "" +"Use :func:`.open` para abrir arquivos de código-fonte Python: ele " +"usa :func:`detect_encoding` para detectar a codificação do arquivo." -#: ../../library/tokenize.rst:123 +#: ../../library/tokenize.rst:132 msgid "" -"Open a file in read only mode using the encoding detected by :func:" -"`detect_encoding`." +"Open a file in read only mode using the encoding detected " +"by :func:`detect_encoding`." msgstr "" +"Abre um arquivo no modo somente leitura usando a codificação detectada " +"por :func:`detect_encoding`." -#: ../../library/tokenize.rst:130 +#: ../../library/tokenize.rst:139 msgid "" "Raised when either a docstring or expression that may be split over several " "lines is not completed anywhere in the file, for example::" msgstr "" +"Levantada quando uma docstring ou expressão que pode ser dividida em várias " +"linhas não é concluída em nenhum lugar do arquivo, por exemplo:" -#: ../../library/tokenize.rst:136 +#: ../../library/tokenize.rst:145 msgid "or::" -msgstr "or::" +msgstr "ou::" -#: ../../library/tokenize.rst:142 +#: ../../library/tokenize.rst:151 msgid "" "Note that unclosed single-quoted strings do not cause an error to be raised. " "They are tokenized as :data:`~token.ERRORTOKEN`, followed by the " "tokenization of their contents." msgstr "" -#: ../../library/tokenize.rst:150 +#: ../../library/tokenize.rst:159 msgid "Command-Line Usage" -msgstr "Uso da linha de comando" +msgstr "Uso na linha de comando" -#: ../../library/tokenize.rst:154 +#: ../../library/tokenize.rst:163 msgid "" "The :mod:`tokenize` module can be executed as a script from the command " "line. It is as simple as:" msgstr "" +"O módulo :mod:`tokenize` pode ser executado como um script a partir da linha " +"de comando. É tão simples quanto:" -#: ../../library/tokenize.rst:161 +#: ../../library/tokenize.rst:170 msgid "The following options are accepted:" msgstr "As seguintes opções são aceitas:" -#: ../../library/tokenize.rst:167 +#: ../../library/tokenize.rst:176 msgid "show this help message and exit" -msgstr "" +msgstr "mostra esta mensagem de ajuda e sai" -#: ../../library/tokenize.rst:171 +#: ../../library/tokenize.rst:180 msgid "display token names using the exact type" -msgstr "" +msgstr "exibe nomes de tokens usando o tipo exato" -#: ../../library/tokenize.rst:173 +#: ../../library/tokenize.rst:182 msgid "" "If :file:`filename.py` is specified its contents are tokenized to stdout. " "Otherwise, tokenization is performed on stdin." msgstr "" +"Se :file:`nome-de-arquivo.py` for especificado, seu conteúdo será tokenizado " +"para stdout. Caso contrário, a tokenização será realizada em stdin." -#: ../../library/tokenize.rst:177 +#: ../../library/tokenize.rst:186 msgid "Examples" msgstr "Exemplos" -#: ../../library/tokenize.rst:179 +#: ../../library/tokenize.rst:188 msgid "" "Example of a script rewriter that transforms float literals into Decimal " "objects::" msgstr "" +"Exemplo de um reescritor de script que transforma literais float em objetos " +"Decimal::" -#: ../../library/tokenize.rst:221 +#: ../../library/tokenize.rst:230 msgid "Example of tokenizing from the command line. The script::" -msgstr "" +msgstr "Exemplo de tokenização a partir da linha de comando. O script::" -#: ../../library/tokenize.rst:228 +#: ../../library/tokenize.rst:237 msgid "" "will be tokenized to the following output where the first column is the " "range of the line/column coordinates where the token is found, the second " "column is the name of the token, and the final column is the value of the " "token (if any)" msgstr "" +"será tokenizado para a seguinte saída, onde a primeira coluna é o intervalo " +"das coordenadas da linha/coluna onde o token é encontrado, a segunda coluna " +"é o nome do token e a coluna final é o valor do token (se houver)" -#: ../../library/tokenize.rst:256 +#: ../../library/tokenize.rst:265 msgid "" "The exact token type names can be displayed using the :option:`-e` option:" msgstr "" +"Os nomes exatos dos tipos de token podem ser exibidos usando a " +"opção :option:`-e`:" -#: ../../library/tokenize.rst:282 +#: ../../library/tokenize.rst:291 msgid "" "Example of tokenizing a file programmatically, reading unicode strings " "instead of bytes with :func:`generate_tokens`::" msgstr "" +"Exemplo de tokenização de um arquivo programaticamente, lendo strings " +"unicode em vez de bytes com :func:`generate_tokens`::" -#: ../../library/tokenize.rst:292 +#: ../../library/tokenize.rst:301 msgid "Or reading bytes directly with :func:`.tokenize`::" -msgstr "" +msgstr "Ou lendo bytes diretamente com :func:`.tokenize`::" diff --git a/library/tomllib.po b/library/tomllib.po index 7d10818d1..7406da0ef 100644 --- a/library/tomllib.po +++ b/library/tomllib.po @@ -1,33 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2022 -# Hildeberto Abreu Magalhães , 2022 -# Ricardo Cappellano , 2022 -# Augusta Carla Klug , 2022 -# felipe caridade , 2022 -# Marco Rougeth , 2022 -# Claudio Rogerio Carvalho Filho , 2022 -# i17obot , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -80,8 +72,8 @@ msgstr "Este módulo define as seguintes funções:" #: ../../library/tomllib.rst:39 msgid "" "Read a TOML file. The first argument should be a readable and binary file " -"object. Return a :class:`dict`. Convert TOML types to Python using this :ref:" -"`conversion table `." +"object. Return a :class:`dict`. Convert TOML types to Python using " +"this :ref:`conversion table `." msgstr "" "Lê um arquivo TOML. O primeiro argumento deve ser um objeto arquivo binário " "e legível. Retorna um :class:`dict`. Converte tipos TOML para Python usando " @@ -91,16 +83,17 @@ msgstr "" msgid "" "*parse_float* will be called with the string of every TOML float to be " "decoded. By default, this is equivalent to ``float(num_str)``. This can be " -"used to use another datatype or parser for TOML floats (e.g. :class:`decimal." -"Decimal`). The callable must not return a :class:`dict` or a :class:`list`, " -"else a :exc:`ValueError` is raised." +"used to use another datatype or parser for TOML floats " +"(e.g. :class:`decimal.Decimal`). The callable must not return " +"a :class:`dict` or a :class:`list`, else a :exc:`ValueError` is raised." msgstr "" "*parse_float* será chamado com a string de cada ponto flutuante (float) do " "TOML a ser decodificado. Por padrão, isso é equivalente a " "``float(num_str)``. Isso pode ser usado para usar outro tipo de dados ou " -"analisador sintático para pontos flutuantes do TOML (por exemplo, :class:" -"`decimal.Decimal`). O chamável não deve retornar um :class:`dict` ou um :" -"class:`list`, senão uma exceção :exc:`ValueError` é levantada." +"analisador sintático para pontos flutuantes do TOML (por " +"exemplo, :class:`decimal.Decimal`). O chamável não deve retornar " +"um :class:`dict` ou um :class:`list`, senão uma exceção :exc:`ValueError` é " +"levantada." #: ../../library/tomllib.rst:49 ../../library/tomllib.rst:58 msgid "A :exc:`TOMLDecodeError` will be raised on an invalid TOML document." @@ -116,8 +109,8 @@ msgid "" msgstr "" "Carrega TOML de um objeto :class:`str`. Retorna um :class:`dict`. Converte " "tipos TOML para Python usando esta :ref:`tabela de conversão `. O argumento *parse_float* tem o mesmo significado que em :func:" -"`load`." +"table>`. O argumento *parse_float* tem o mesmo significado que " +"em :func:`load`." #: ../../library/tomllib.rst:61 msgid "The following exceptions are available:" @@ -152,10 +145,11 @@ msgid "Python" msgstr "Python" #: ../../library/tomllib.rst:98 -msgid "table" -msgstr "tabela" +msgid "TOML document" +msgstr "documento TOML" -#: ../../library/tomllib.rst:98 +#: ../../library/tomllib.rst:98 ../../library/tomllib.rst:118 +#: ../../library/tomllib.rst:120 msgid "dict" msgstr "dict" @@ -197,8 +191,8 @@ msgstr "deslocamento de data-hora" #: ../../library/tomllib.rst:108 msgid "" -"datetime.datetime (``tzinfo`` attribute set to an instance of ``datetime." -"timezone``)" +"datetime.datetime (``tzinfo`` attribute set to an instance of " +"``datetime.timezone``)" msgstr "" "datetime.datetime (atributo de ``tzinfo`` definido com uma instância de " "``datetime.timezone``)" @@ -234,3 +228,19 @@ msgstr "array" #: ../../library/tomllib.rst:116 msgid "list" msgstr "lista" + +#: ../../library/tomllib.rst:118 +msgid "table" +msgstr "tabela" + +#: ../../library/tomllib.rst:120 +msgid "inline table" +msgstr "tabela inline" + +#: ../../library/tomllib.rst:122 +msgid "array of tables" +msgstr "array de tabelas" + +#: ../../library/tomllib.rst:122 +msgid "list of dicts" +msgstr "lista de dicionários" diff --git a/library/trace.po b/library/trace.po index 872c0c76b..6dc944b42 100644 --- a/library/trace.po +++ b/library/trace.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -59,7 +57,7 @@ msgstr "" #: ../../library/trace.rst:25 msgid "Command-Line Usage" -msgstr "Uso da linha de comando" +msgstr "Uso na linha de comando" #: ../../library/trace.rst:27 msgid "" @@ -81,7 +79,7 @@ msgstr "" #: ../../library/trace.rst:39 msgid "Display usage and exit." -msgstr "Exibe o uso e sai." +msgstr "Exibe o modo de uso e sai." #: ../../library/trace.rst:43 msgid "Display the version of the module and exit." @@ -98,17 +96,17 @@ msgstr "Opções principais" #: ../../library/trace.rst:51 msgid "" -"At least one of the following options must be specified when invoking :mod:" -"`trace`. The :option:`--listfuncs <-l>` option is mutually exclusive with " -"the :option:`--trace <-t>` and :option:`--count <-c>` options. When :option:" -"`--listfuncs <-l>` is provided, neither :option:`--count <-c>` nor :option:" -"`--trace <-t>` are accepted, and vice versa." +"At least one of the following options must be specified when " +"invoking :mod:`trace`. The :option:`--listfuncs <-l>` option is mutually " +"exclusive with the :option:`--trace <-t>` and :option:`--count <-c>` " +"options. When :option:`--listfuncs <-l>` is provided, neither :option:`--" +"count <-c>` nor :option:`--trace <-t>` are accepted, and vice versa." msgstr "" -"Pelo menos uma das seguintes opções deve ser especificada ao invocar :mod:" -"`trace`. A opção :option:`--listfuncs <-l>` é mutuamente exclusiva com as " -"opções :option:`--trace <-t>` e :option:`--count <-c>`. Quando :option:`--" -"listfuncs <-l>` é fornecida, nem :option:`--count <-c>` nem :option:`--trace " -"<-t>` são aceitas, e vice-versa." +"Pelo menos uma das seguintes opções deve ser especificada ao " +"invocar :mod:`trace`. A opção :option:`--listfuncs <-l>` é mutuamente " +"exclusiva com as opções :option:`--trace <-t>` e :option:`--count <-c>`. " +"Quando :option:`--listfuncs <-l>` é fornecida, nem :option:`--count <-c>` " +"nem :option:`--trace <-t>` são aceitas, e vice-versa." #: ../../library/trace.rst:61 msgid "" @@ -117,9 +115,9 @@ msgid "" "C>`, :option:`--file <-f>` and :option:`--no-report <-R>` below." msgstr "" "Produz um conjunto de arquivos de listagem anotada após a conclusão do " -"programa que mostra quantas vezes cada instrução foi executada. Veja também :" -"option:`--coverdir <-C>`, :option:`--file <-f>` e :option:`--no-report <-R>` " -"abaixo." +"programa que mostra quantas vezes cada instrução foi executada. Veja " +"também :option:`--coverdir <-C>`, :option:`--file <-f>` e :option:`--no-" +"report <-R>` abaixo." #: ../../library/trace.rst:68 msgid "Display lines as they are executed." @@ -131,9 +129,9 @@ msgstr "Exibe as funções executadas executando o programa." #: ../../library/trace.rst:76 msgid "" -"Produce an annotated list from an earlier program run that used the :option:" -"`--count <-c>` and :option:`--file <-f>` option. This does not execute any " -"code." +"Produce an annotated list from an earlier program run that used " +"the :option:`--count <-c>` and :option:`--file <-f>` option. This does not " +"execute any code." msgstr "" "Produz uma lista anotada de uma execução de programa anterior que usava a " "opção :option:`--count <-c>` e :option:`--file <-f>`. Isso não executa " @@ -157,12 +155,12 @@ msgstr "" #: ../../library/trace.rst:96 msgid "" -"Directory where the report files go. The coverage report for ``package." -"module`` is written to file :file:`{dir}/{package}/{module}.cover`." +"Directory where the report files go. The coverage report for " +"``package.module`` is written to file :file:`{dir}/{package}/{module}.cover`." msgstr "" "Diretório para onde vão os arquivos de relatório. O relatório de cobertura " -"para ``pacote.módulo`` é escrito em arquivo :file:`{dir}/{pacote}/{módulo}." -"cover`." +"para ``pacote.módulo`` é escrito em arquivo :file:`{dir}/{pacote}/" +"{módulo}.cover`." #: ../../library/trace.rst:101 msgid "" @@ -276,8 +274,8 @@ msgid "" "Call *func* with the given arguments under control of the :class:`Trace` " "object with the current tracing parameters." msgstr "" -"Chama *func* com os argumentos fornecidos sob controle do objeto :class:" -"`Trace` com os parâmetros de rastreamento atuais." +"Chama *func* com os argumentos fornecidos sob controle do " +"objeto :class:`Trace` com os parâmetros de rastreamento atuais." #: ../../library/trace.rst:176 msgid "" diff --git a/library/traceback.po b/library/traceback.po index fba768b22..f385ace44 100644 --- a/library/traceback.po +++ b/library/traceback.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# i17obot , 2021 -# Rafael Fontenelle , 2023 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -45,16 +42,17 @@ msgstr "" #: ../../library/traceback.rst:19 msgid "" -"The module uses traceback objects --- these are objects of type :class:" -"`types.TracebackType`, which are assigned to the ``__traceback__`` field of :" -"class:`BaseException` instances." +"The module uses :ref:`traceback objects ` --- these are " +"objects of type :class:`types.TracebackType`, which are assigned to " +"the :attr:`~BaseException.__traceback__` field of :class:`BaseException` " +"instances." msgstr "" -#: ../../library/traceback.rst:25 +#: ../../library/traceback.rst:27 msgid "Module :mod:`faulthandler`" msgstr "Módulo :mod:`faulthandler`" -#: ../../library/traceback.rst:25 +#: ../../library/traceback.rst:27 msgid "" "Used to dump Python tracebacks explicitly, on a fault, after a timeout, or " "on a user signal." @@ -62,152 +60,162 @@ msgstr "" "Usado para despejar tracebacks (situação da pilha de execução) do Python " "explicitamente, em uma falha, após um tempo limite ou em um sinal do usuário." -#: ../../library/traceback.rst:27 +#: ../../library/traceback.rst:29 msgid "Module :mod:`pdb`" msgstr "" -#: ../../library/traceback.rst:28 +#: ../../library/traceback.rst:30 msgid "Interactive source code debugger for Python programs." msgstr "" -#: ../../library/traceback.rst:30 +#: ../../library/traceback.rst:32 msgid "The module defines the following functions:" msgstr "O módulo define as seguintes funções:" -#: ../../library/traceback.rst:34 +#: ../../library/traceback.rst:36 msgid "" -"Print up to *limit* stack trace entries from traceback object *tb* (starting " -"from the caller's frame) if *limit* is positive. Otherwise, print the last " -"``abs(limit)`` entries. If *limit* is omitted or ``None``, all entries are " -"printed. If *file* is omitted or ``None``, the output goes to ``sys." -"stderr``; otherwise it should be an open file or file-like object to receive " -"the output." +"Print up to *limit* stack trace entries from :ref:`traceback object " +"` *tb* (starting from the caller's frame) if *limit* is " +"positive. Otherwise, print the last ``abs(limit)`` entries. If *limit* is " +"omitted or ``None``, all entries are printed. If *file* is omitted or " +"``None``, the output goes to :data:`sys.stderr`; otherwise it should be an " +"open :term:`file ` or :term:`file-like object` to receive the " +"output." msgstr "" -#: ../../library/traceback.rst:41 ../../library/traceback.rst:104 +#: ../../library/traceback.rst:45 ../../library/traceback.rst:111 msgid "Added negative *limit* support." msgstr "" -#: ../../library/traceback.rst:48 +#: ../../library/traceback.rst:52 msgid "" -"Print exception information and stack trace entries from traceback object " -"*tb* to *file*. This differs from :func:`print_tb` in the following ways:" +"Print exception information and stack trace entries from :ref:`traceback " +"object ` *tb* to *file*. This differs " +"from :func:`print_tb` in the following ways:" msgstr "" -#: ../../library/traceback.rst:52 +#: ../../library/traceback.rst:57 msgid "" "if *tb* is not ``None``, it prints a header ``Traceback (most recent call " "last):``" msgstr "" -#: ../../library/traceback.rst:55 +#: ../../library/traceback.rst:60 msgid "it prints the exception type and *value* after the stack trace" msgstr "" -#: ../../library/traceback.rst:59 +#: ../../library/traceback.rst:64 msgid "" "if *type(value)* is :exc:`SyntaxError` and *value* has the appropriate " "format, it prints the line where the syntax error occurred with a caret " "indicating the approximate position of the error." msgstr "" -#: ../../library/traceback.rst:63 +#: ../../library/traceback.rst:68 msgid "" "Since Python 3.10, instead of passing *value* and *tb*, an exception object " "can be passed as the first argument. If *value* and *tb* are provided, the " "first argument is ignored in order to provide backwards compatibility." msgstr "" -#: ../../library/traceback.rst:67 +#: ../../library/traceback.rst:72 msgid "" "The optional *limit* argument has the same meaning as for :func:`print_tb`. " -"If *chain* is true (the default), then chained exceptions (the :attr:" -"`__cause__` or :attr:`__context__` attributes of the exception) will be " -"printed as well, like the interpreter itself does when printing an unhandled " -"exception." +"If *chain* is true (the default), then chained exceptions " +"(the :attr:`~BaseException.__cause__` or :attr:`~BaseException.__context__` " +"attributes of the exception) will be printed as well, like the interpreter " +"itself does when printing an unhandled exception." msgstr "" -#: ../../library/traceback.rst:73 ../../library/traceback.rst:166 +#: ../../library/traceback.rst:79 ../../library/traceback.rst:177 msgid "The *etype* argument is ignored and inferred from the type of *value*." msgstr "" -#: ../../library/traceback.rst:76 ../../library/traceback.rst:153 +#: ../../library/traceback.rst:82 ../../library/traceback.rst:160 msgid "" "The *etype* parameter has been renamed to *exc* and is now positional-only." msgstr "" -#: ../../library/traceback.rst:83 +#: ../../library/traceback.rst:89 msgid "" "This is a shorthand for ``print_exception(sys.exception(), limit, file, " "chain)``." msgstr "" -#: ../../library/traceback.rst:89 +#: ../../library/traceback.rst:95 msgid "" -"This is a shorthand for ``print_exception(sys.last_type, sys.last_value, sys." -"last_traceback, limit, file, chain)``. In general it will work only after " -"an exception has reached an interactive prompt (see :data:`sys.last_type`)." +"This is a shorthand for ``print_exception(sys.last_type, sys.last_value, " +"sys.last_traceback, limit, file, chain)``. In general it will work only " +"after an exception has reached an interactive prompt " +"(see :data:`sys.last_type`)." msgstr "" -#: ../../library/traceback.rst:97 +#: ../../library/traceback.rst:103 msgid "" "Print up to *limit* stack trace entries (starting from the invocation point) " "if *limit* is positive. Otherwise, print the last ``abs(limit)`` entries. " "If *limit* is omitted or ``None``, all entries are printed. The optional *f* " -"argument can be used to specify an alternate stack frame to start. The " -"optional *file* argument has the same meaning as for :func:`print_tb`." +"argument can be used to specify an alternate :ref:`stack frame ` to start. The optional *file* argument has the same meaning as " +"for :func:`print_tb`." msgstr "" -#: ../../library/traceback.rst:110 +#: ../../library/traceback.rst:117 msgid "" "Return a :class:`StackSummary` object representing a list of \"pre-" -"processed\" stack trace entries extracted from the traceback object *tb*. " -"It is useful for alternate formatting of stack traces. The optional *limit* " -"argument has the same meaning as for :func:`print_tb`. A \"pre-processed\" " -"stack trace entry is a :class:`FrameSummary` object containing attributes :" -"attr:`~FrameSummary.filename`, :attr:`~FrameSummary.lineno`, :attr:" -"`~FrameSummary.name`, and :attr:`~FrameSummary.line` representing the " -"information that is usually printed for a stack trace. The :attr:" -"`~FrameSummary.line` is a string with leading and trailing whitespace " -"stripped; if the source is not available it is ``None``." +"processed\" stack trace entries extracted from the :ref:`traceback object " +"` *tb*. It is useful for alternate formatting of stack " +"traces. The optional *limit* argument has the same meaning as " +"for :func:`print_tb`. A \"pre-processed\" stack trace entry is " +"a :class:`FrameSummary` object containing " +"attributes :attr:`~FrameSummary.filename`, :attr:`~FrameSummary.lineno`, :attr:`~FrameSummary.name`, " +"and :attr:`~FrameSummary.line` representing the information that is usually " +"printed for a stack trace." msgstr "" -#: ../../library/traceback.rst:124 +#: ../../library/traceback.rst:130 msgid "" -"Extract the raw traceback from the current stack frame. The return value " -"has the same format as for :func:`extract_tb`. The optional *f* and *limit* " -"arguments have the same meaning as for :func:`print_stack`." +"Extract the raw traceback from the current :ref:`stack frame `. The return value has the same format as for :func:`extract_tb`. " +"The optional *f* and *limit* arguments have the same meaning as " +"for :func:`print_stack`." msgstr "" -#: ../../library/traceback.rst:131 +#: ../../library/traceback.rst:138 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 " -"printing. Each string in the resulting list corresponds to the item with " -"the same index in the argument list. Each string ends in a newline; the " -"strings may contain internal newlines as well, for those items whose source " -"text line is not ``None``." +"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 printing. Each string in the resulting list corresponds to the " +"item with the same index in the argument list. Each string ends in a " +"newline; the strings may contain internal newlines as well, for those items " +"whose source text line is not ``None``." msgstr "" -#: ../../library/traceback.rst:141 +#: ../../library/traceback.rst:148 msgid "" "Format the exception part of a traceback using an exception value such as " -"given by ``sys.last_value``. The return value is a list of strings, each " -"ending in a newline. Normally, the list contains a single string; however, " -"for :exc:`SyntaxError` exceptions, it contains several lines that (when " -"printed) display detailed information about where the syntax error occurred. " -"The message indicating which exception occurred is the always last string in " -"the list." +"given by :data:`sys.last_value`. The return value is a list of strings, " +"each ending in a newline. The list contains the exception's message, which " +"is normally a single string; however, for :exc:`SyntaxError` exceptions, it " +"contains several lines that (when printed) display detailed information " +"about where the syntax error occurred. Following the message, the list " +"contains the exception's :attr:`notes `." msgstr "" -#: ../../library/traceback.rst:149 +#: ../../library/traceback.rst:156 msgid "" "Since Python 3.10, instead of passing *value*, an exception object can be " "passed as the first argument. If *value* is provided, the first argument is " "ignored in order to provide backwards compatibility." msgstr "" -#: ../../library/traceback.rst:160 +#: ../../library/traceback.rst:164 +msgid "" +"The returned list now includes any :attr:`notes ` " +"attached to the exception." +msgstr "" + +#: ../../library/traceback.rst:171 msgid "" "Format a stack trace and the exception information. The arguments have the " "same meaning as the corresponding arguments to :func:`print_exception`. The " @@ -216,283 +224,354 @@ msgid "" "printed, exactly the same text is printed as does :func:`print_exception`." msgstr "" -#: ../../library/traceback.rst:169 +#: ../../library/traceback.rst:180 msgid "" -"This function's behavior and signature were modified to match :func:" -"`print_exception`." +"This function's behavior and signature were modified to " +"match :func:`print_exception`." msgstr "" -#: ../../library/traceback.rst:176 +#: ../../library/traceback.rst:187 msgid "" "This is like ``print_exc(limit)`` but returns a string instead of printing " "to a file." msgstr "" -#: ../../library/traceback.rst:182 +#: ../../library/traceback.rst:193 msgid "A shorthand for ``format_list(extract_tb(tb, limit))``." msgstr "" -#: ../../library/traceback.rst:187 +#: ../../library/traceback.rst:198 msgid "A shorthand for ``format_list(extract_stack(f, limit))``." msgstr "" -#: ../../library/traceback.rst:191 +#: ../../library/traceback.rst:202 msgid "" -"Clears the local variables of all the stack frames in a traceback *tb* by " -"calling the :meth:`clear` method of each frame object." +"Clears the local variables of all the stack frames in a :ref:`traceback " +"` *tb* by calling the :meth:`~frame.clear` method of " +"each :ref:`frame object `." msgstr "" -#: ../../library/traceback.rst:198 +#: ../../library/traceback.rst:211 msgid "" -"Walk a stack following ``f.f_back`` from the given frame, yielding the frame " -"and line number for each frame. If *f* is ``None``, the current stack is " -"used. This helper is used with :meth:`StackSummary.extract`." +"Walk a stack following :attr:`f.f_back ` from the given frame, " +"yielding the frame and line number for each frame. If *f* is ``None``, the " +"current stack is used. This helper is used with :meth:`StackSummary.extract`." msgstr "" -#: ../../library/traceback.rst:206 +#: ../../library/traceback.rst:220 msgid "" -"Walk a traceback following ``tb_next`` yielding the frame and line number " -"for each frame. This helper is used with :meth:`StackSummary.extract`." +"Walk a traceback following :attr:`~traceback.tb_next` yielding the frame and " +"line number for each frame. This helper is used " +"with :meth:`StackSummary.extract`." msgstr "" -#: ../../library/traceback.rst:211 +#: ../../library/traceback.rst:226 msgid "The module also defines the following classes:" msgstr "" -#: ../../library/traceback.rst:214 -msgid ":class:`TracebackException` Objects" +#: ../../library/traceback.rst:229 +msgid ":class:`!TracebackException` Objects" msgstr "" -#: ../../library/traceback.rst:218 +#: ../../library/traceback.rst:233 msgid "" -":class:`TracebackException` objects are created from actual exceptions to " +":class:`!TracebackException` objects are created from actual exceptions to " "capture data for later printing in a lightweight fashion." msgstr "" -#: ../../library/traceback.rst:223 ../../library/traceback.rst:283 +#: ../../library/traceback.rst:238 ../../library/traceback.rst:337 msgid "" "Capture an exception for later rendering. *limit*, *lookup_lines* and " "*capture_locals* are as for the :class:`StackSummary` class." msgstr "" -#: ../../library/traceback.rst:226 +#: ../../library/traceback.rst:241 msgid "" -"If *compact* is true, only data that is required by :class:" -"`TracebackException`'s ``format`` method is saved in the class attributes. " -"In particular, the ``__context__`` field is calculated only if ``__cause__`` " -"is ``None`` and ``__suppress_context__`` is false." +"If *compact* is true, only data that is required by :class:`!" +"TracebackException`'s :meth:`format` method is saved in the class " +"attributes. In particular, the :attr:`__context__` field is calculated only " +"if :attr:`__cause__` is ``None`` and :attr:`__suppress_context__` is false." msgstr "" -#: ../../library/traceback.rst:231 ../../library/traceback.rst:286 +#: ../../library/traceback.rst:247 ../../library/traceback.rst:340 msgid "" "Note that when locals are captured, they are also shown in the traceback." msgstr "" -#: ../../library/traceback.rst:235 -msgid "A :class:`TracebackException` of the original ``__cause__``." +#: ../../library/traceback.rst:249 +msgid "" +"*max_group_width* and *max_group_depth* control the formatting of exception " +"groups (see :exc:`BaseExceptionGroup`). The depth refers to the nesting " +"level of the group, and the width refers to the size of a single exception " +"group's exceptions array. The formatted output is truncated when either " +"limit is exceeded." msgstr "" -#: ../../library/traceback.rst:239 -msgid "A :class:`TracebackException` of the original ``__context__``." +#: ../../library/traceback.rst:255 +msgid "Added the *compact* parameter." +msgstr "Adicionado o parâmetro *compact*." + +#: ../../library/traceback.rst:258 +msgid "Added the *max_group_width* and *max_group_depth* parameters." msgstr "" -#: ../../library/traceback.rst:243 -msgid "The ``__suppress_context__`` value from the original exception." +#: ../../library/traceback.rst:263 +msgid "" +"A :class:`!TracebackException` of the " +"original :attr:`~BaseException.__cause__`." msgstr "" -#: ../../library/traceback.rst:247 +#: ../../library/traceback.rst:268 msgid "" -"The ``__notes__`` value from the original exception, or ``None`` if the " -"exception does not have any notes. If it is not ``None`` is it formatted in " -"the traceback after the exception string." +"A :class:`!TracebackException` of the " +"original :attr:`~BaseException.__context__`." msgstr "" -#: ../../library/traceback.rst:255 +#: ../../library/traceback.rst:273 +msgid "" +"If ``self`` represents an :exc:`ExceptionGroup`, this field holds a list " +"of :class:`!TracebackException` instances representing the nested " +"exceptions. Otherwise it is ``None``." +msgstr "" + +#: ../../library/traceback.rst:281 +msgid "" +"The :attr:`~BaseException.__suppress_context__` value from the original " +"exception." +msgstr "" + +#: ../../library/traceback.rst:286 +msgid "" +"The :attr:`~BaseException.__notes__` value from the original exception, or " +"``None`` if the exception does not have any notes. If it is not ``None`` is " +"it formatted in the traceback after the exception string." +msgstr "" + +#: ../../library/traceback.rst:295 msgid "A :class:`StackSummary` representing the traceback." msgstr "" -#: ../../library/traceback.rst:259 +#: ../../library/traceback.rst:299 msgid "The class of the original traceback." msgstr "" -#: ../../library/traceback.rst:263 +#: ../../library/traceback.rst:303 msgid "For syntax errors - the file name where the error occurred." msgstr "" -#: ../../library/traceback.rst:267 +#: ../../library/traceback.rst:307 msgid "For syntax errors - the line number where the error occurred." msgstr "" -#: ../../library/traceback.rst:271 +#: ../../library/traceback.rst:311 +msgid "" +"For syntax errors - the end line number where the error occurred. Can be " +"``None`` if not present." +msgstr "" + +#: ../../library/traceback.rst:318 msgid "For syntax errors - the text where the error occurred." msgstr "" -#: ../../library/traceback.rst:275 +#: ../../library/traceback.rst:322 msgid "For syntax errors - the offset into the text where the error occurred." msgstr "" -#: ../../library/traceback.rst:279 +#: ../../library/traceback.rst:326 +msgid "" +"For syntax errors - the end offset into the text where the error occurred. " +"Can be ``None`` if not present." +msgstr "" + +#: ../../library/traceback.rst:333 msgid "For syntax errors - the compiler error message." msgstr "" -#: ../../library/traceback.rst:290 +#: ../../library/traceback.rst:344 msgid "" "Print to *file* (default ``sys.stderr``) the exception information returned " "by :meth:`format`." msgstr "" -#: ../../library/traceback.rst:297 +#: ../../library/traceback.rst:351 msgid "Format the exception." msgstr "" -#: ../../library/traceback.rst:299 +#: ../../library/traceback.rst:353 msgid "" -"If *chain* is not ``True``, ``__cause__`` and ``__context__`` will not be " -"formatted." +"If *chain* is not ``True``, :attr:`__cause__` and :attr:`__context__` will " +"not be formatted." msgstr "" -#: ../../library/traceback.rst:302 +#: ../../library/traceback.rst:356 msgid "" "The return value is a generator of strings, each ending in a newline and " "some containing internal newlines. :func:`~traceback.print_exception` is a " "wrapper around this method which just prints the lines to a file." msgstr "" -#: ../../library/traceback.rst:306 ../../library/traceback.rst:320 -msgid "" -"The message indicating which exception occurred is always the last string in " -"the output." -msgstr "" - -#: ../../library/traceback.rst:311 +#: ../../library/traceback.rst:362 msgid "Format the exception part of the traceback." msgstr "" -#: ../../library/traceback.rst:313 +#: ../../library/traceback.rst:364 msgid "The return value is a generator of strings, each ending in a newline." msgstr "" -#: ../../library/traceback.rst:315 +#: ../../library/traceback.rst:366 msgid "" -"Normally, the generator emits a single string; however, for :exc:" -"`SyntaxError` exceptions, it emits several lines that (when printed) display " -"detailed information about where the syntax error occurred." +"The generator emits the exception's message followed by its notes (if it has " +"any). The exception message is normally a single string; however, " +"for :exc:`SyntaxError` exceptions, it consists of several lines that (when " +"printed) display detailed information about where the syntax error occurred." msgstr "" -#: ../../library/traceback.rst:323 -msgid "Added the *compact* parameter." +#: ../../library/traceback.rst:372 +msgid "" +"The exception's :attr:`notes ` are now included in " +"the output." msgstr "" -#: ../../library/traceback.rst:328 -msgid ":class:`StackSummary` Objects" -msgstr "Objetos :class:`StackSummary`" +#: ../../library/traceback.rst:378 +msgid ":class:`!StackSummary` Objects" +msgstr "" -#: ../../library/traceback.rst:332 +#: ../../library/traceback.rst:382 msgid "" -":class:`StackSummary` objects represent a call stack ready for formatting." +":class:`!StackSummary` objects represent a call stack ready for formatting." msgstr "" -#: ../../library/traceback.rst:338 +#: ../../library/traceback.rst:388 msgid "" -"Construct a :class:`StackSummary` object from a frame generator (such as is " +"Construct a :class:`!StackSummary` object from a frame generator (such as is " "returned by :func:`~traceback.walk_stack` or :func:`~traceback.walk_tb`)." msgstr "" -#: ../../library/traceback.rst:342 +#: ../../library/traceback.rst:392 msgid "" "If *limit* is supplied, only this many frames are taken from *frame_gen*. If " "*lookup_lines* is ``False``, the returned :class:`FrameSummary` objects will " -"not have read their lines in yet, making the cost of creating the :class:" -"`StackSummary` cheaper (which may be valuable if it may not actually get " -"formatted). If *capture_locals* is ``True`` the local variables in each :" -"class:`FrameSummary` are captured as object representations." +"not have read their lines in yet, making the cost of creating the :class:`!" +"StackSummary` cheaper (which may be valuable if it may not actually get " +"formatted). If *capture_locals* is ``True`` the local variables in " +"each :class:`!FrameSummary` are captured as object representations." msgstr "" -#: ../../library/traceback.rst:352 +#: ../../library/traceback.rst:402 msgid "" -"Construct a :class:`StackSummary` object from a supplied list of :class:" -"`FrameSummary` objects or old-style list of tuples. Each tuple should be a " -"4-tuple with filename, lineno, name, line as the elements." +"Construct a :class:`!StackSummary` object from a supplied list " +"of :class:`FrameSummary` objects or old-style list of tuples. Each tuple " +"should be a 4-tuple with *filename*, *lineno*, *name*, *line* as the " +"elements." msgstr "" -#: ../../library/traceback.rst:358 +#: ../../library/traceback.rst:409 msgid "" "Returns a list of strings ready for printing. Each string in the resulting " -"list corresponds to a single frame from the stack. Each string ends in a " -"newline; the strings may contain internal newlines as well, for those items " -"with source text lines." +"list corresponds to a single :ref:`frame ` from the stack. " +"Each string ends in a newline; the strings may contain internal newlines as " +"well, for those items with source text lines." msgstr "" -#: ../../library/traceback.rst:363 +#: ../../library/traceback.rst:415 msgid "" "For long sequences of the same frame and line, the first few repetitions are " "shown, followed by a summary line stating the exact number of further " "repetitions." msgstr "" -#: ../../library/traceback.rst:367 +#: ../../library/traceback.rst:419 msgid "Long sequences of repeated frames are now abbreviated." msgstr "" -#: ../../library/traceback.rst:372 +#: ../../library/traceback.rst:424 msgid "" -"Returns a string for printing one of the frames involved in the stack. This " -"method is called for each :class:`FrameSummary` object to be printed by :" -"meth:`StackSummary.format`. If it returns ``None``, the frame is omitted " -"from the output." +"Returns a string for printing one of the :ref:`frames ` " +"involved in the stack. This method is called for each :class:`FrameSummary` " +"object to be printed by :meth:`StackSummary.format`. If it returns ``None``, " +"the frame is omitted from the output." msgstr "" -#: ../../library/traceback.rst:381 -msgid ":class:`FrameSummary` Objects" +#: ../../library/traceback.rst:434 +msgid ":class:`!FrameSummary` Objects" msgstr "" -#: ../../library/traceback.rst:385 +#: ../../library/traceback.rst:438 msgid "" -"A :class:`FrameSummary` object represents a single frame in a traceback." +"A :class:`!FrameSummary` object represents a single :ref:`frame ` in a :ref:`traceback `." msgstr "" -#: ../../library/traceback.rst:389 +#: ../../library/traceback.rst:443 msgid "" -"Represent a single frame in the traceback or stack that is being formatted " -"or printed. It may optionally have a stringified version of the frames " -"locals included in it. If *lookup_line* is ``False``, the source code is not " -"looked up until the :class:`FrameSummary` has the :attr:`~FrameSummary.line` " -"attribute accessed (which also happens when casting it to a tuple). :attr:" -"`~FrameSummary.line` may be directly provided, and will prevent line lookups " -"happening at all. *locals* is an optional local variable dictionary, and if " -"supplied the variable representations are stored in the summary for later " -"display." +"Represents a single :ref:`frame ` in the :ref:`traceback " +"` or stack that is being formatted or printed. It may " +"optionally have a stringified version of the frame's locals included in it. " +"If *lookup_line* is ``False``, the source code is not looked up until " +"the :class:`!FrameSummary` has the :attr:`~FrameSummary.line` attribute " +"accessed (which also happens when casting it to " +"a :class:`tuple`). :attr:`~FrameSummary.line` may be directly provided, and " +"will prevent line lookups happening at all. *locals* is an optional local " +"variable dictionary, and if supplied the variable representations are stored " +"in the summary for later display." msgstr "" -#: ../../library/traceback.rst:402 +#: ../../library/traceback.rst:454 +msgid ":class:`!FrameSummary` instances have the following attributes:" +msgstr "" + +#: ../../library/traceback.rst:458 +msgid "" +"The filename of the source code for this frame. Equivalent to " +"accessing :attr:`f.f_code.co_filename ` on " +"a :ref:`frame object ` *f*." +msgstr "" + +#: ../../library/traceback.rst:464 +msgid "The line number of the source code for this frame." +msgstr "" + +#: ../../library/traceback.rst:468 +msgid "" +"Equivalent to accessing :attr:`f.f_code.co_name ` on " +"a :ref:`frame object ` *f*." +msgstr "" + +#: ../../library/traceback.rst:473 +msgid "" +"A string representing the source code for this frame, with leading and " +"trailing whitespace stripped. If the source is not available, it is ``None``." +msgstr "" + +#: ../../library/traceback.rst:480 msgid "Traceback Examples" msgstr "Exemplos de Traceback" -#: ../../library/traceback.rst:404 +#: ../../library/traceback.rst:482 msgid "" "This simple example implements a basic read-eval-print loop, similar to (but " "less useful than) the standard Python interactive interpreter loop. For a " -"more complete implementation of the interpreter loop, refer to the :mod:" -"`code` module. ::" +"more complete implementation of the interpreter loop, refer to " +"the :mod:`code` module. ::" msgstr "" -#: ../../library/traceback.rst:426 +#: ../../library/traceback.rst:504 msgid "" "The following example demonstrates the different ways to print and format " "the exception and traceback:" msgstr "" -#: ../../library/traceback.rst:461 +#: ../../library/traceback.rst:539 msgid "The output for the example would look similar to this:" msgstr "" -#: ../../library/traceback.rst:503 +#: ../../library/traceback.rst:581 msgid "" "The following example shows the different ways to print and format the " "stack::" msgstr "" -#: ../../library/traceback.rst:529 +#: ../../library/traceback.rst:607 msgid "This last example demonstrates the final few formatting functions:" msgstr "" @@ -504,10 +583,10 @@ msgstr "objeto" msgid "traceback" msgstr "traceback" -#: ../../library/traceback.rst:57 +#: ../../library/traceback.rst:62 msgid "^ (caret)" -msgstr "" +msgstr "^ (circunflexo)" -#: ../../library/traceback.rst:57 +#: ../../library/traceback.rst:62 msgid "marker" msgstr "" diff --git a/library/tracemalloc.po b/library/tracemalloc.po index ade03be81..adc1e7bcd 100644 --- a/library/tracemalloc.po +++ b/library/tracemalloc.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Italo Penaforte , 2021 -# And Past , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -71,9 +65,9 @@ msgstr "" #: ../../library/tracemalloc.rst:27 msgid "" "By default, a trace of an allocated memory block only stores the most recent " -"frame (1 frame). To store 25 frames at startup: set the :envvar:" -"`PYTHONTRACEMALLOC` environment variable to ``25``, or use the :option:`-X` " -"``tracemalloc=25`` command line option." +"frame (1 frame). To store 25 frames at startup: set " +"the :envvar:`PYTHONTRACEMALLOC` environment variable to ``25``, or use " +"the :option:`-X` ``tracemalloc=25`` command line option." msgstr "" #: ../../library/tracemalloc.rst:34 @@ -120,9 +114,9 @@ msgstr "" msgid "" "We can see that Python has loaded ``8173 KiB`` of module data (bytecode and " "constants), and that this is ``4428 KiB`` more than had been loaded before " -"the tests, when the previous snapshot was taken. Similarly, the :mod:" -"`linecache` module has cached ``940 KiB`` of Python source code to format " -"tracebacks, all of it since the previous snapshot." +"the tests, when the previous snapshot was taken. Similarly, " +"the :mod:`linecache` module has cached ``940 KiB`` of Python source code to " +"format tracebacks, all of it since the previous snapshot." msgstr "" #: ../../library/tracemalloc.rst:115 @@ -211,9 +205,10 @@ msgstr "" #: ../../library/tracemalloc.rst:309 msgid "" -"Get the traceback where the Python object *obj* was allocated. Return a :" -"class:`Traceback` instance, or ``None`` if the :mod:`tracemalloc` module is " -"not tracing memory allocations or did not trace the allocation of the object." +"Get the traceback where the Python object *obj* was allocated. Return " +"a :class:`Traceback` instance, or ``None`` if the :mod:`tracemalloc` module " +"is not tracing memory allocations or did not trace the allocation of the " +"object." msgstr "" #: ../../library/tracemalloc.rst:314 @@ -236,8 +231,8 @@ msgstr "" #: ../../library/tracemalloc.rst:329 msgid "" -"Get the current size and peak size of memory blocks traced by the :mod:" -"`tracemalloc` module as a tuple: ``(current: int, peak: int)``." +"Get the current size and peak size of memory blocks traced by " +"the :mod:`tracemalloc` module as a tuple: ``(current: int, peak: int)``." msgstr "" #: ../../library/tracemalloc.rst:335 @@ -255,9 +250,9 @@ msgstr "" #: ../../library/tracemalloc.rst:341 msgid "" "This function only modifies the recorded peak size, and does not modify or " -"clear any traces, unlike :func:`clear_traces`. Snapshots taken with :func:" -"`take_snapshot` before a call to :func:`reset_peak` can be meaningfully " -"compared to snapshots taken after the call." +"clear any traces, unlike :func:`clear_traces`. Snapshots taken " +"with :func:`take_snapshot` before a call to :func:`reset_peak` can be " +"meaningfully compared to snapshots taken after the call." msgstr "" #: ../../library/tracemalloc.rst:346 @@ -297,15 +292,15 @@ msgstr "" #: ../../library/tracemalloc.rst:376 msgid "" "Storing more than ``1`` frame is only useful to compute statistics grouped " -"by ``'traceback'`` or to compute cumulative statistics: see the :meth:" -"`Snapshot.compare_to` and :meth:`Snapshot.statistics` methods." +"by ``'traceback'`` or to compute cumulative statistics: see " +"the :meth:`Snapshot.compare_to` and :meth:`Snapshot.statistics` methods." msgstr "" #: ../../library/tracemalloc.rst:380 msgid "" -"Storing more frames increases the memory and CPU overhead of the :mod:" -"`tracemalloc` module. Use the :func:`get_tracemalloc_memory` function to " -"measure how much memory is used by the :mod:`tracemalloc` module." +"Storing more frames increases the memory and CPU overhead of " +"the :mod:`tracemalloc` module. Use the :func:`get_tracemalloc_memory` " +"function to measure how much memory is used by the :mod:`tracemalloc` module." msgstr "" #: ../../library/tracemalloc.rst:384 @@ -348,8 +343,8 @@ msgstr "" #: ../../library/tracemalloc.rst:410 msgid "" -"The snapshot does not include memory blocks allocated before the :mod:" -"`tracemalloc` module started to trace memory allocations." +"The snapshot does not include memory blocks allocated before " +"the :mod:`tracemalloc` module started to trace memory allocations." msgstr "" #: ../../library/tracemalloc.rst:413 @@ -412,14 +407,14 @@ msgstr "Exemplos:" #: ../../library/tracemalloc.rst:457 msgid "" -"``Filter(True, subprocess.__file__)`` only includes traces of the :mod:" -"`subprocess` module" +"``Filter(True, subprocess.__file__)`` only includes traces of " +"the :mod:`subprocess` module" msgstr "" #: ../../library/tracemalloc.rst:459 msgid "" -"``Filter(False, tracemalloc.__file__)`` excludes traces of the :mod:" -"`tracemalloc` module" +"``Filter(False, tracemalloc.__file__)`` excludes traces of " +"the :mod:`tracemalloc` module" msgstr "" #: ../../library/tracemalloc.rst:461 @@ -447,15 +442,15 @@ msgstr "" #: ../../library/tracemalloc.rst:480 msgid "" "If *inclusive* is ``True`` (include), only match memory blocks allocated in " -"a file with a name matching :attr:`filename_pattern` at line number :attr:" -"`lineno`." +"a file with a name matching :attr:`filename_pattern` at line " +"number :attr:`lineno`." msgstr "" #: ../../library/tracemalloc.rst:484 msgid "" "If *inclusive* is ``False`` (exclude), ignore memory blocks allocated in a " -"file with a name matching :attr:`filename_pattern` at line number :attr:" -"`lineno`." +"file with a name matching :attr:`filename_pattern` at line " +"number :attr:`lineno`." msgstr "" #: ../../library/tracemalloc.rst:490 @@ -476,9 +471,9 @@ msgstr "" #: ../../library/tracemalloc.rst:502 msgid "" -"This attribute has no effect if the traceback limit is ``1``. See the :func:" -"`get_traceback_limit` function and :attr:`Snapshot.traceback_limit` " -"attribute." +"This attribute has no effect if the traceback limit is ``1``. See " +"the :func:`get_traceback_limit` function " +"and :attr:`Snapshot.traceback_limit` attribute." msgstr "" #: ../../library/tracemalloc.rst:508 @@ -527,10 +522,10 @@ msgstr "" #: ../../library/tracemalloc.rst:542 msgid "" -"The result is sorted from the biggest to the smallest by: absolute value of :" -"attr:`StatisticDiff.size_diff`, :attr:`StatisticDiff.size`, absolute value " -"of :attr:`StatisticDiff.count_diff`, :attr:`Statistic.count` and then by :" -"attr:`StatisticDiff.traceback`." +"The result is sorted from the biggest to the smallest by: absolute value " +"of :attr:`StatisticDiff.size_diff`, :attr:`StatisticDiff.size`, absolute " +"value of :attr:`StatisticDiff.count_diff`, :attr:`Statistic.count` and then " +"by :attr:`StatisticDiff.traceback`." msgstr "" #: ../../library/tracemalloc.rst:550 @@ -616,8 +611,9 @@ msgstr "" #: ../../library/tracemalloc.rst:595 msgid "" -"The result is sorted from the biggest to the smallest by: :attr:`Statistic." -"size`, :attr:`Statistic.count` and then by :attr:`Statistic.traceback`." +"The result is sorted from the biggest to the smallest " +"by: :attr:`Statistic.size`, :attr:`Statistic.count` and then " +"by :attr:`Statistic.traceback`." msgstr "" #: ../../library/tracemalloc.rst:602 @@ -674,8 +670,8 @@ msgstr "" #: ../../library/tracemalloc.rst:644 msgid "" -"Statistic difference on memory allocations between an old and a new :class:" -"`Snapshot` instance." +"Statistic difference on memory allocations between an old and a " +"new :class:`Snapshot` instance." msgstr "" #: ../../library/tracemalloc.rst:647 @@ -753,11 +749,11 @@ msgstr "" #: ../../library/tracemalloc.rst:720 msgid "" -"When a snapshot is taken, tracebacks of traces are limited to :func:" -"`get_traceback_limit` frames. See the :func:`take_snapshot` function. The " -"original number of frames of the traceback is stored in the :attr:`Traceback." -"total_nframe` attribute. That allows to know if a traceback has been " -"truncated by the traceback limit." +"When a snapshot is taken, tracebacks of traces are limited " +"to :func:`get_traceback_limit` frames. See the :func:`take_snapshot` " +"function. The original number of frames of the traceback is stored in " +"the :attr:`Traceback.total_nframe` attribute. That allows to know if a " +"traceback has been truncated by the traceback limit." msgstr "" #: ../../library/tracemalloc.rst:726 @@ -794,8 +790,8 @@ msgstr "" #: ../../library/tracemalloc.rst:750 msgid "" -"Similar to the :func:`traceback.format_tb` function, except that :meth:`." -"format` does not include newlines." +"Similar to the :func:`traceback.format_tb` function, except " +"that :meth:`.format` does not include newlines." msgstr "" #: ../../library/tracemalloc.rst:753 diff --git a/library/tty.po b/library/tty.po index 49b25858f..b28ee217e 100644 --- a/library/tty.po +++ b/library/tty.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,38 +40,42 @@ msgstr "" "não tratados (raw)." #: ../../library/tty.rst:18 +msgid ":ref:`Availability `: Unix." +msgstr ":ref:`Disponibilidade `: Unix." + +#: ../../library/tty.rst:20 msgid "" "Because it requires the :mod:`termios` module, it will work only on Unix." msgstr "Por requerer o módulo :mod:`termios`, ele funcionará apenas no Unix." -#: ../../library/tty.rst:20 +#: ../../library/tty.rst:22 msgid "The :mod:`tty` module defines the following functions:" msgstr "O módulo :mod:`tty` define as seguintes funções:" -#: ../../library/tty.rst:25 +#: ../../library/tty.rst:27 msgid "" "Change the mode of the file descriptor *fd* to raw. If *when* is omitted, it " -"defaults to :const:`termios.TCSAFLUSH`, and is passed to :func:`termios." -"tcsetattr`." +"defaults to :const:`termios.TCSAFLUSH`, and is passed " +"to :func:`termios.tcsetattr`." msgstr "" "Altera o modo do descritor de arquivo *fd* para não tratado (raw). Se *when* " -"for omitido, o padrão é :const:`termios.TCSAFLUSH` e é passado para :func:" -"`termios.tcsetattr`." +"for omitido, o padrão é :const:`termios.TCSAFLUSH` e é passado " +"para :func:`termios.tcsetattr`." -#: ../../library/tty.rst:32 +#: ../../library/tty.rst:34 msgid "" "Change the mode of file descriptor *fd* to cbreak. If *when* is omitted, it " -"defaults to :const:`termios.TCSAFLUSH`, and is passed to :func:`termios." -"tcsetattr`." +"defaults to :const:`termios.TCSAFLUSH`, and is passed " +"to :func:`termios.tcsetattr`." msgstr "" "Altera o modo do descritor de arquivo *fd* para cbreak. Se *when* for " -"omitido, o padrão é :const:`termios.TCSAFLUSH` e é passado para :func:" -"`termios.tcsetattr`." +"omitido, o padrão é :const:`termios.TCSAFLUSH` e é passado " +"para :func:`termios.tcsetattr`." -#: ../../library/tty.rst:39 +#: ../../library/tty.rst:41 msgid "Module :mod:`termios`" msgstr "Módulo :mod:`termios`" -#: ../../library/tty.rst:40 +#: ../../library/tty.rst:42 msgid "Low-level terminal control interface." msgstr "Interface baixo nível para controle de terminal." diff --git a/library/turtle.po b/library/turtle.po index a06f9d4eb..efe8dff59 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Ruan Aragão , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Danilo Lima , 2021 -# i17obot , 2021 -# Kattson Bastos, 2022 -# ramalho , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -44,169 +37,413 @@ msgstr "Introdução" #: ../../library/turtle.rst:22 msgid "" -"Turtle graphics is a popular way for introducing programming to kids. It " -"was part of the original Logo programming language developed by Wally " -"Feurzeig, Seymour Papert and Cynthia Solomon in 1967." -msgstr "" -"Gráficos tartaruga é uma forma popular de apresentar programação para " -"crianças. Era parte da linguagem de programação Logo desenvolvida por Wally " -"Feuzeig, Seymour Papert and Cynthia Solomon em 1967." - -#: ../../library/turtle.rst:26 -msgid "" -"Imagine a robotic turtle starting at (0, 0) in the x-y plane. After an " -"``import turtle``, give it the command ``turtle.forward(15)``, and it moves " -"(on-screen!) 15 pixels in the direction it is facing, drawing a line as it " -"moves. Give it the command ``turtle.right(25)``, and it rotates in-place 25 " -"degrees clockwise." +"Turtle graphics is an implementation of `the popular geometric drawing tools " +"introduced in Logo `_, " +"developed by Wally Feurzeig, Seymour Papert and Cynthia Solomon in 1967." msgstr "" -"Imagine uma tartaruga robótica começando em (0, 0) no plano x-y. Depois de " -"um ``import turtle``, dê-lhe o comando ``turtle.forward(15)``, e ela moverá " -"(na tela!) 15 pixels na direção em que está virada (para frente), desenhando " -"uma linha à medida que ela se move. Digite o comando ``turtle.right(25)``, e " -"faça ela girar, no lugar, 25 graus no sentido horário." +"Gráficos tartaruga são uma implementação das `populares ferramentas de " +"desenho geométrico introduzidas em Logo `_, desenvolvido por Wally Feurzeig, Seymour Papert e Cynthia Solomon " +"em 1967." -#: ../../library/turtle.rst:33 +#: ../../library/turtle.rst:29 msgid "" "Turtle can draw intricate shapes using programs that repeat simple moves." msgstr "" "A tartaruga pode desenhar formas intrincadas usando programas que repetem " "movimentos simples." -#: ../../library/turtle.rst:41 +#: ../../library/turtle.rst:35 msgid "" -"By combining together these and similar commands, intricate shapes and " -"pictures can easily be drawn." +"In Python, turtle graphics provides a representation of a physical " +"\"turtle\" (a little robot with a pen) that draws on a sheet of paper on the " +"floor." msgstr "" -"Ao combinar esses comandos similares, formas intrincadas e imagens podem ser " -"desenhadas facilmente." +"Em Python, os gráficos de tartaruga fornecem uma representação de uma " +"\"tartaruga\" física (um pequeno robô com uma caneta) que desenha em uma " +"folha de papel no chão." -#: ../../library/turtle.rst:44 +#: ../../library/turtle.rst:38 msgid "" -"The :mod:`turtle` module is an extended reimplementation of the same-named " -"module from the Python standard distribution up to version Python 2.5." +"It's an effective and well-proven way for learners to encounter programming " +"concepts and interaction with software, as it provides instant, visible " +"feedback. It also provides convenient access to graphical output in general." msgstr "" -"O módulo :mod:`turtle` é uma reimplementação estendida de um módulo de mesmo " -"nome da distribuição padrão do Python até a versão Python 2.5." +"É uma maneira eficaz e comprovada de os alunos conhecerem os conceitos de " +"programação e a interação com o software, pois oferece resposta instantânea " +"e visível. Também oferece acesso conveniente a resultados gráficos em geral." -#: ../../library/turtle.rst:47 +#: ../../library/turtle.rst:43 msgid "" -"It tries to keep the merits of the old turtle module and to be (nearly) 100% " -"compatible with it. This means in the first place to enable the learning " -"programmer to use all the commands, classes and methods interactively when " -"using the module from within IDLE run with the ``-n`` switch." +"Turtle drawing was originally created as an educational tool, to be used by " +"teachers in the classroom. For the programmer who needs to produce some " +"graphical output it can be a way to do that without the overhead of " +"introducing more complex or external libraries into their work." msgstr "" -"Ele tenta manter as características do antigo módulo turtle e ser (quase) " -"100% compatível com ele. Isso significa, em primeiro lugar, permitir que o " -"programador iniciante use todos os comandos, classes e métodos " -"interativamente ao usar o módulo de dentro do IDLE executado com a chave ``-" -"n``." +"Desenho de tartaruga foi originalmente criado como uma ferramenta " +"educacional, para ser usado por professores em sala de aula. Para a pessoa " +"que precisa produzir algum resultado gráfico, essa pode ser uma maneira de " +"fazer isso sem a sobrecarga de introduzir bibliotecas mais complexas ou " +"externas em seu trabalho." #: ../../library/turtle.rst:52 +msgid "Tutorial" +msgstr "Tutorial" + +#: ../../library/turtle.rst:54 msgid "" -"The turtle module provides turtle graphics primitives, in both object-" -"oriented and procedure-oriented ways. Because it uses :mod:`tkinter` for " -"the underlying graphics, it needs a version of Python installed with Tk " -"support." +"New users should start here. In this tutorial we'll explore some of the " +"basics of turtle drawing." msgstr "" -"O módulo turtle fornece gráficos rudimentares, tanto para programação " -"orientada a objetos quanto procedural. Como ele usa o :mod:`tkinter` como " -"módulo gráfico, ele necessita de uma versão do instalada do Python que " -"suporta o Tk." +"As pessoas recém-chegadas devem começar por aqui. Neste tutorial, " +"exploraremos alguns dos conceitos básicos do desenho de tartarugas." + +#: ../../library/turtle.rst:59 +msgid "Starting a turtle environment" +msgstr "Iniciando um ambiente da tartaruga" -#: ../../library/turtle.rst:56 -msgid "The object-oriented interface uses essentially two+two classes:" +#: ../../library/turtle.rst:61 +msgid "In a Python shell, import all the objects of the ``turtle`` module::" msgstr "" -"A interface orientada a objetos usa essencialmente duas classes (e duas " -"subclasses):" +"Em um console do Python, faça a importação de todos os objetos do módulo " +"``turtle``::" -#: ../../library/turtle.rst:58 +#: ../../library/turtle.rst:65 msgid "" -"The :class:`TurtleScreen` class defines graphics windows as a playground for " -"the drawing turtles. Its constructor needs a :class:`tkinter.Canvas` or a :" -"class:`ScrolledCanvas` as argument. It should be used when :mod:`turtle` is " -"used as part of some application." +"If you run into a ``No module named '_tkinter'`` error, you'll have to " +"install the :mod:`Tk interface package ` on your system." msgstr "" -"A classe :class:`TurtleScreen` define as janelas gráficas como um parque de " -"diversões para as tartarugas de desenho. Seu construtor precisa de um :class:" -"`tkinter.Canvas` ou um :class:`ScrolledCanvas` como argumento. Deve ser " -"usado quando :mod:`turtle` é usado como parte de algum aplicativo." +"Se você se deparar com a seguinte mensagem de erro ``No module named " +"'_tkinter'``, será necessário instalar o :mod:`pacote de interface gráfica " +"Tk ` em seu sistema." + +#: ../../library/turtle.rst:70 +msgid "Basic drawing" +msgstr "Desenho básico" + +#: ../../library/turtle.rst:72 +msgid "Send the turtle forward 100 steps::" +msgstr "Envie a tartaruga para frente 100 passos::" -#: ../../library/turtle.rst:63 +#: ../../library/turtle.rst:76 msgid "" -"The function :func:`Screen` returns a singleton object of a :class:" -"`TurtleScreen` subclass. This function should be used when :mod:`turtle` is " -"used as a standalone tool for doing graphics. As a singleton object, " -"inheriting from its class is not possible." +"You should see (most likely, in a new window on your display) a line drawn " +"by the turtle, heading East. Change the direction of the turtle, so that it " +"turns 120 degrees left (anti-clockwise)::" msgstr "" -"A função :func:`Screen` retorna um objeto singleton de uma subclasse :class:" -"`TurtleScreen`. Esta função deve ser usada quando :mod:`turtle` é usado como " -"uma ferramenta autônoma para fazer gráficos. Como um objeto singleton, não é " -"possível herdar de sua classe." +"Você deverá ver (provavelmente, em uma nova janela na sua tela) uma linha " +"desenhada pela tartaruga, em direção ao leste (→) . Mude a direção da " +"tartaruga, de modo que ela gire 120 graus para a esquerda (sentido anti-" +"horário)::" -#: ../../library/turtle.rst:68 +#: ../../library/turtle.rst:82 +msgid "Let's continue by drawing a triangle::" +msgstr "Vamos continuar desenhando um triângulo::" + +#: ../../library/turtle.rst:88 msgid "" -"All methods of TurtleScreen/Screen also exist as functions, i.e. as part of " -"the procedure-oriented interface." +"Notice how the turtle, represented by an arrow, points in different " +"directions as you steer it." msgstr "" -"Todos os métodos de TurtleScreen/Screen também existem como funções, ou " -"seja, como parte da interface orientada a procedimentos." +"Observe como a tartaruga, representada por uma seta, aponta em diferentes " +"direções à medida que você a guia." -#: ../../library/turtle.rst:71 +#: ../../library/turtle.rst:91 msgid "" -":class:`RawTurtle` (alias: :class:`RawPen`) defines Turtle objects which " -"draw on a :class:`TurtleScreen`. Its constructor needs a Canvas, " -"ScrolledCanvas or TurtleScreen as argument, so the RawTurtle objects know " -"where to draw." +"Experiment with those commands, and also with ``backward()`` and ``right()``." msgstr "" -":class:`RawTurtle` (pedido: :class:`RawPen`) define objetos Turtle que " -"desenham em uma :class:`TurtleScreen`. Seu construtor precisa de um Canvas, " -"ScrolledCanvas ou TurtleScreen como argumento, para que os objetos RawTurtle " -"saibam onde desenhar." +"Faça experiências com esses comandos e também com ``backward()`` e " +"``right()``." + +#: ../../library/turtle.rst:96 ../../library/turtle.rst:345 +#: ../../library/turtle.rst:985 +msgid "Pen control" +msgstr "Controle da Caneta" -#: ../../library/turtle.rst:75 +#: ../../library/turtle.rst:98 msgid "" -"Derived from RawTurtle is the subclass :class:`Turtle` (alias: :class:" -"`Pen`), which draws on \"the\" :class:`Screen` instance which is " -"automatically created, if not already present." +"Try changing the color - for example, ``color('blue')`` - and width of the " +"line - for example, ``width(3)`` - and then drawing again." msgstr "" -"Derivada de RawTurtle é a subclasse :class:`Turtle` (alias: :class:`Pen`), " -"que se baseia \"na\" instância :class:`Screen` que é criada automaticamente, " -"se ainda não estiver presente." +"Tente alterar a cor - por exemplo, ``color('blue')`` - e a largura da linha " +"- por exemplo, ``width(3)`` - e, em seguida, desenhe novamente." -#: ../../library/turtle.rst:79 +#: ../../library/turtle.rst:101 msgid "" -"All methods of RawTurtle/Turtle also exist as functions, i.e. part of the " -"procedure-oriented interface." +"You can also move the turtle around without drawing, by lifting up the pen: " +"``up()`` before moving. To start drawing again, use ``down()``." msgstr "" -"Todos os métodos de RawTurtle/Turtle também existem como funções, isto é, " -"parte de uma interface procedural orientada à objeto." +"Você também pode mover a tartaruga sem desenhar, levantando a caneta: " +"``up()`` antes de mover. Para começar a desenhar novamente, use ``down()``." -#: ../../library/turtle.rst:82 +#: ../../library/turtle.rst:106 +msgid "The turtle's position" +msgstr "A posição da tartaruga" + +#: ../../library/turtle.rst:108 +msgid "" +"Send your turtle back to its starting-point (useful if it has disappeared " +"off-screen)::" +msgstr "" +"Envie sua tartaruga de volta ao ponto de partida (útil se ela tiver " +"desaparecido da tela)::" + +#: ../../library/turtle.rst:113 +msgid "" +"The home position is at the center of the turtle's screen. If you ever need " +"to know them, get the turtle's x-y co-ordinates with::" +msgstr "" +"A posição inicial da tartaruga está no centro da tela. Se você precisar " +"conhecê-la, obtenha as coordenadas x-y da tartaruga com::" + +#: ../../library/turtle.rst:118 +msgid "Home is at ``(0, 0)``." +msgstr "A a posição inicial fica em ``(0, 0)``." + +#: ../../library/turtle.rst:120 +msgid "" +"And after a while, it will probably help to clear the window so we can start " +"anew::" +msgstr "" +"E, depois de um tempo, provavelmente vai querer ajudar a limpar a janela " +"aberta para que possamos começar de novo::" + +#: ../../library/turtle.rst:127 +msgid "Making algorithmic patterns" +msgstr "Criação de padrões algorítmicos" + +#: ../../library/turtle.rst:129 +msgid "Using loops, it's possible to build up geometric patterns::" +msgstr "" +"Usando laços de repetição, é possível construir criar padrões geométricos::" + +#: ../../library/turtle.rst:138 +msgid "\\ - which of course, are limited only by the imagination!" +msgstr "\\ - que, é claro, são limitados apenas pela imaginação!" + +#: ../../library/turtle.rst:140 +msgid "" +"Let's draw the star shape at the top of this page. We want red lines, filled " +"in with yellow::" +msgstr "" +"Vamos desenhar o formato de estrela na parte superior da página. Queremos " +"linhas de contorno vermelhas, com preenchimento em amarelo::" + +#: ../../library/turtle.rst:146 +msgid "" +"Just as ``up()`` and ``down()`` determine whether lines will be drawn, " +"filling can be turned on and off::" +msgstr "" +"Assim como ``up()`` e ``down()`` determinam se as linhas serão desenhadas, o " +"preenchimento pode ser ativado e desativado::" + +#: ../../library/turtle.rst:151 +msgid "Next we'll create a loop::" +msgstr "Em seguida, vamos criar um laço de repetição::" + +#: ../../library/turtle.rst:159 +msgid "" +"``abs(pos()) < 1`` is a good way to know when the turtle is back at its home " +"position." +msgstr "" +"``abs(pos()) < 1`` é uma boa maneira de saber quando a tartaruga está de " +"volta à sua posição inicial." + +#: ../../library/turtle.rst:162 +msgid "Finally, complete the filling::" +msgstr "Por fim, complete o preenchimento::" + +#: ../../library/turtle.rst:166 msgid "" -"The procedural interface provides functions which are derived from the " -"methods of the classes :class:`Screen` and :class:`Turtle`. They have the " -"same names as the corresponding methods. A screen object is automatically " -"created whenever a function derived from a Screen method is called. An " -"(unnamed) turtle object is automatically created whenever any of the " -"functions derived from a Turtle method is called." +"(Note that filling only actually takes place when you give the " +"``end_fill()`` command.)" msgstr "" -"A interface procedural fornece funções que são derivadas dos métodos das " -"classes :class:`Screen` e :class:`Turtle`. Eles têm os mesmos nomes que os " -"métodos correspondentes. Um objeto de tela é criado automaticamente sempre " -"que uma função derivada de um método de tela é chamada. Um objeto turtle " -"(sem nome) é criado automaticamente sempre que qualquer uma das funções " -"derivadas de um método Turtle é chamada." +"(Observe que o preenchimento só ocorre de fato quando você fornece o comando " +"``end_fill()`` .)" -#: ../../library/turtle.rst:89 +#: ../../library/turtle.rst:173 +msgid "How to..." +msgstr "Como fazer..." + +#: ../../library/turtle.rst:175 +msgid "This section covers some typical turtle use-cases and approaches." +msgstr "" +"Esta seção aborda alguns casos de uso e abordagens típicos do módulo " +"\"turtle\"." + +#: ../../library/turtle.rst:179 +msgid "Get started as quickly as possible" +msgstr "Comece o mais rápido possível" + +#: ../../library/turtle.rst:181 msgid "" -"To use multiple turtles on a screen one has to use the object-oriented " -"interface." +"One of the joys of turtle graphics is the immediate, visual feedback that's " +"available from simple commands - it's an excellent way to introduce children " +"to programming ideas, with a minimum of overhead (not just children, of " +"course)." msgstr "" -"Para usar várias tartarugas em uma tela, é preciso usar a interface " -"orientada a objetos." +"Uma dos prazeres dos gráficos de tartaruga é o feedback visual imediato " +"disponível a partir de comandos simples. É uma excelente maneira de " +"apresentar ideias de programação às crianças, com um mínimo de sofrimento " +"(não apenas às crianças, é claro)." -#: ../../library/turtle.rst:92 +#: ../../library/turtle.rst:186 +msgid "" +"The turtle module makes this possible by exposing all its basic " +"functionality as functions, available with ``from turtle import *``. " +"The :ref:`turtle graphics tutorial ` covers this approach." +msgstr "" +"O módulo tartaruga torna isso possível ao expor toda a sua funcionalidade " +"básica como funções, disponíveis com ``from turtle import *``. O tutorial " +"gráficos de :ref:`turtle ` cobre essa abordagem." + +#: ../../library/turtle.rst:190 +msgid "" +"It's worth noting that many of the turtle commands also have even more terse " +"equivalents, such as ``fd()`` for :func:`forward`. These are especially " +"useful when working with learners for whom typing is not a skill." +msgstr "" +"Vale a pena observar que muitos dos comandos da tartaruga também possuem " +"equivalentes ainda mais concisos, como usar ``fd()`` para obter o mesmo " +"resultado de :func:`forward`. Esses comandos são especialmente úteis quando " +"se trabalha com alunos para os quais a digitação não é uma habilidade." + +#: ../../library/turtle.rst:196 +msgid "" +"You'll need to have the :mod:`Tk interface package ` installed on " +"your system for turtle graphics to work. Be warned that this is not always " +"straightforward, so check this in advance if you're planning to use turtle " +"graphics with a learner." +msgstr "" +"Você precisará ter o pacote de interface :mod:`Tk ` instalado em " +"seu sistema para que os gráficos do módulo \"turtle\" funcionem. Esteja " +"ciente de que isso nem sempre é simples, portanto, verifique isso com " +"antecedência se estiver planejando usar os gráficos de tartaruga com um " +"aluno." + +#: ../../library/turtle.rst:203 +msgid "Use the ``turtle`` module namespace" +msgstr "Use o espaço de nomes do módulo ``turtle``" + +#: ../../library/turtle.rst:205 +msgid "" +"Using ``from turtle import *`` is convenient - but be warned that it imports " +"a rather large collection of objects, and if you're doing anything but " +"turtle graphics you run the risk of a name conflict (this becomes even more " +"an issue if you're using turtle graphics in a script where other modules " +"might be imported)." +msgstr "" +"Usar ``from turtle import *`` é conveniente, mas lembre-se de que ele " +"importa um coleção bastante grande de objetos e, se você estiver fazendo " +"qualquer coisa no seu código que não esteja relacionada com o módulo " +"gráficos de tartaruga, corre o risco de um conflito de nomes de objetos " +"(isso se torna um problema ainda maior se você estiver usando o módulo de " +"gráficos de tartaruga em um script em que outros módulos possam ser também " +"importados)." + +#: ../../library/turtle.rst:211 +msgid "" +"The solution is to use ``import turtle`` - ``fd()`` becomes ``turtle.fd()``, " +"``width()`` becomes ``turtle.width()`` and so on. (If typing \"turtle\" over " +"and over again becomes tedious, use for example ``import turtle as t`` " +"instead.)" +msgstr "" +"A solução é usar o identificador/domínio do próprio módulo ``import turtle`` " +"sem o asterisco no final da importação - assim a chamada do objeto/função " +"``fd()`` torna-se ``turtle.fd()``, da mesma forma como ``width()`` torna-se " +"``turtle.width()`` e assim por diante. (Se digitar \"turtle\" várias vezes " +"se tornar tedioso, use ``import turtle as t``, por exemplo, para fornecer um " +"apelido mais conciso e objetivo ao identificador/domínio dentro do seu " +"código)." + +#: ../../library/turtle.rst:218 +msgid "Use turtle graphics in a script" +msgstr "" +"Use o módulo gráfico de tartaruga dentro de um script com código específico" + +#: ../../library/turtle.rst:220 +msgid "" +"It's recommended to use the ``turtle`` module namespace as described " +"immediately above, for example::" +msgstr "" +"Recomenda-se usar o módulo ``turtle`` com uma apelido para identificador/" +"domínio, conforme descrito acima, por exemplo::" + +#: ../../library/turtle.rst:232 +msgid "" +"Another step is also required though - as soon as the script ends, Python " +"will also close the turtle's window. Add::" +msgstr "" +"No entanto, outra etapa também é necessária ou o Python também fechará a " +"janela da tartaruga assim que o código acima terminar de ser executado. " +"Adicione::" + +#: ../../library/turtle.rst:237 +msgid "" +"to the end of the script. The script will now wait to be dismissed and will " +"not exit until it is terminated, for example by closing the turtle graphics " +"window." +msgstr "" +"ao final do código anterior. Assim, o código anterior agora conterá uma " +"instrução que aguardará ser dispensado e não sairá até que seja encerrado, " +"por exemplo, fechando a janela aberta pelo módulo gráficos da tartaruga." + +#: ../../library/turtle.rst:243 +msgid "Use object-oriented turtle graphics" +msgstr "Use o módulo gráficos da tartaruga orientado a objetos" + +#: ../../library/turtle.rst:245 +msgid "" +":ref:`Explanation of the object-oriented interface `" +msgstr "" +":ref:`Explicação de interface orientada a objetos `" + +#: ../../library/turtle.rst:247 +msgid "" +"Other than for very basic introductory purposes, or for trying things out as " +"quickly as possible, it's more usual and much more powerful to use the " +"object-oriented approach to turtle graphics. For example, this allows " +"multiple turtles on screen at once." +msgstr "" +"Exceto para fins introdutórios muito básicos ou para experimentar coisas o " +"mais rápido possível, é mais comum e muito mais eficiente usar a abordagem " +"orientada a objetos para gráficos de tartarugas. Por exemplo, isso permite " +"várias tartarugas na tela ao mesmo tempo." + +#: ../../library/turtle.rst:252 +msgid "" +"In this approach, the various turtle commands are methods of objects (mostly " +"of ``Turtle`` objects). You *can* use the object-oriented approach in the " +"shell, but it would be more typical in a Python script." +msgstr "" +"Nessa abordagem, os vários comandos do módulo turtle são métodos de objetos " +"(principalmente objetos de ``Turtle``). Você *pode* usar a abordagem " +"orientada a objetos em console, mas ela seria mais típica em um script " +"Python." + +#: ../../library/turtle.rst:256 +msgid "The example above then becomes::" +msgstr "O exemplo acima se torna então::" + +#: ../../library/turtle.rst:270 +msgid "" +"Note the last line. ``t.screen`` is an instance of the :class:`Screen` that " +"a Turtle instance exists on; it's created automatically along with the " +"turtle." +msgstr "" +"Observe a última linha. ``t.screen`` é um instância da " +"subclasse :class:`Screen` que existe numa instância da classe tartaruga ou " +"\"turtle\"; ela é criada automaticamente junto com a instância de tartaruga." + +#: ../../library/turtle.rst:274 +msgid "The turtle's screen can be customised, for example::" +msgstr "A tela da tartaruga pode ser personalizada, por exemplo::" + +#: ../../library/turtle.rst:281 +msgid "Turtle graphics reference" +msgstr "Referência Gráficos de Tartaruga" + +#: ../../library/turtle.rst:285 msgid "" "In the following documentation the argument list for functions is given. " "Methods, of course, have the additional first argument *self* which is " @@ -216,19 +453,15 @@ msgstr "" "métodos, é claro, têm o primeiro argumento adicional *self* que é omitido " "aqui." -#: ../../library/turtle.rst:98 -msgid "Overview of available Turtle and Screen methods" -msgstr "Visão geral dos métodos Turtle e Screen disponíveis" - -#: ../../library/turtle.rst:101 +#: ../../library/turtle.rst:291 msgid "Turtle methods" msgstr "Métodos de Turtle" -#: ../../library/turtle.rst:132 ../../library/turtle.rst:242 +#: ../../library/turtle.rst:322 ../../library/turtle.rst:432 msgid "Turtle motion" msgstr "Movimentos de Turtle" -#: ../../library/turtle.rst:120 +#: ../../library/turtle.rst:310 msgid "Move and draw" msgstr "Movimento e desenho" @@ -268,7 +501,7 @@ msgstr ":func:`setheading` | :func:`seth`" msgid ":func:`home`" msgstr ":func:`home`" -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2467 +#: ../../library/turtle.rst:0 ../../library/turtle.rst:2692 msgid ":func:`circle`" msgstr ":func:`circle`" @@ -276,7 +509,7 @@ msgstr ":func:`circle`" msgid ":func:`dot`" msgstr ":func:`dot`" -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2445 +#: ../../library/turtle.rst:0 ../../library/turtle.rst:2670 msgid ":func:`stamp`" msgstr ":func:`stamp`" @@ -296,7 +529,7 @@ msgstr ":func:`undo`" msgid ":func:`speed`" msgstr ":func:`speed`" -#: ../../library/turtle.rst:128 ../../library/turtle.rst:644 +#: ../../library/turtle.rst:318 ../../library/turtle.rst:834 msgid "Tell Turtle's state" msgstr "Fala o estado de Turtle" @@ -324,7 +557,7 @@ msgstr ":func:`heading`" msgid ":func:`distance`" msgstr ":func:`distance`" -#: ../../library/turtle.rst:132 +#: ../../library/turtle.rst:322 msgid "Setting and measurement" msgstr "Configuração e Medidas" @@ -336,11 +569,7 @@ msgstr ":func:`degrees`" msgid ":func:`radians`" msgstr ":func:`radians`" -#: ../../library/turtle.rst:155 ../../library/turtle.rst:795 -msgid "Pen control" -msgstr "Controle da Caneta" - -#: ../../library/turtle.rst:140 ../../library/turtle.rst:798 +#: ../../library/turtle.rst:330 ../../library/turtle.rst:988 msgid "Drawing state" msgstr "Estado do Desenho" @@ -364,7 +593,7 @@ msgstr ":func:`pen`" msgid ":func:`isdown`" msgstr ":func:`isdown`" -#: ../../library/turtle.rst:145 ../../library/turtle.rst:890 +#: ../../library/turtle.rst:335 ../../library/turtle.rst:1080 msgid "Color control" msgstr "Controle da Cor" @@ -380,7 +609,7 @@ msgstr ":func:`pencolor`" msgid ":func:`fillcolor`" msgstr ":func:`fillcolor`" -#: ../../library/turtle.rst:150 ../../library/turtle.rst:1022 +#: ../../library/turtle.rst:340 ../../library/turtle.rst:1212 msgid "Filling" msgstr "Preenchimento" @@ -396,7 +625,7 @@ msgstr ":func:`begin_fill`" msgid ":func:`end_fill`" msgstr ":func:`end_fill`" -#: ../../library/turtle.rst:155 ../../library/turtle.rst:1069 +#: ../../library/turtle.rst:345 ../../library/turtle.rst:1259 msgid "More drawing control" msgstr "Mais sobre o Controle do Desenho" @@ -412,11 +641,11 @@ msgstr ":func:`clear`" msgid ":func:`write`" msgstr ":func:`write`" -#: ../../library/turtle.rst:172 ../../library/turtle.rst:1115 +#: ../../library/turtle.rst:362 ../../library/turtle.rst:1305 msgid "Turtle state" msgstr "Estado da tartaruga" -#: ../../library/turtle.rst:161 ../../library/turtle.rst:1118 +#: ../../library/turtle.rst:351 ../../library/turtle.rst:1308 msgid "Visibility" msgstr "Visibilidade" @@ -432,7 +661,7 @@ msgstr ":func:`hideturtle` | :func:`ht`" msgid ":func:`isvisible`" msgstr ":func:`isvisible`" -#: ../../library/turtle.rst:172 ../../library/turtle.rst:1157 +#: ../../library/turtle.rst:362 ../../library/turtle.rst:1347 msgid "Appearance" msgstr "Aparência" @@ -472,11 +701,11 @@ msgstr ":func:`shapetransform`" msgid ":func:`get_shapepoly`" msgstr ":func:`get_shapepoly`" -#: ../../library/turtle.rst:177 ../../library/turtle.rst:1362 +#: ../../library/turtle.rst:367 ../../library/turtle.rst:1552 msgid "Using events" msgstr "Eventos Utilizados" -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2439 +#: ../../library/turtle.rst:0 ../../library/turtle.rst:2664 msgid ":func:`onclick`" msgstr ":func:`onclick`" @@ -484,11 +713,11 @@ msgstr ":func:`onclick`" msgid ":func:`onrelease`" msgstr ":func:`onrelease`" -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2422 +#: ../../library/turtle.rst:0 ../../library/turtle.rst:2647 msgid ":func:`ondrag`" msgstr ":func:`ondrag`" -#: ../../library/turtle.rst:188 ../../library/turtle.rst:1436 +#: ../../library/turtle.rst:378 ../../library/turtle.rst:1626 msgid "Special Turtle methods" msgstr "Métodos Especiais da Tartaruga" @@ -504,7 +733,7 @@ msgstr ":func:`end_poly`" msgid ":func:`get_poly`" msgstr ":func:`get_poly`" -#: ../../library/turtle.rst:0 ../../library/turtle.rst:2461 +#: ../../library/turtle.rst:0 ../../library/turtle.rst:2686 msgid ":func:`clone`" msgstr ":func:`clone`" @@ -524,11 +753,11 @@ msgstr ":func:`setundobuffer`" msgid ":func:`undobufferentries`" msgstr ":func:`undobufferentries`" -#: ../../library/turtle.rst:191 +#: ../../library/turtle.rst:381 msgid "Methods of TurtleScreen/Screen" msgstr "Métodos de TurtleScreen/Screen" -#: ../../library/turtle.rst:199 ../../library/turtle.rst:1590 +#: ../../library/turtle.rst:389 ../../library/turtle.rst:1780 msgid "Window control" msgstr "Controle da Janela" @@ -556,7 +785,7 @@ msgstr ":func:`screensize`" msgid ":func:`setworldcoordinates`" msgstr ":func:`setworldcoordinates`" -#: ../../library/turtle.rst:204 ../../library/turtle.rst:1713 +#: ../../library/turtle.rst:394 ../../library/turtle.rst:1903 msgid "Animation control" msgstr "Controle da animação" @@ -572,7 +801,7 @@ msgstr ":func:`tracer`" msgid ":func:`update`" msgstr ":func:`update`" -#: ../../library/turtle.rst:212 ../../library/turtle.rst:1766 +#: ../../library/turtle.rst:402 ../../library/turtle.rst:1956 msgid "Using screen events" msgstr "Usando os eventos de tela" @@ -600,7 +829,7 @@ msgstr ":func:`ontimer`" msgid ":func:`mainloop` | :func:`done`" msgstr ":func:`mainloop` | :func:`done`" -#: ../../library/turtle.rst:222 ../../library/turtle.rst:1911 +#: ../../library/turtle.rst:412 ../../library/turtle.rst:2101 msgid "Settings and special methods" msgstr "Configurações e métodos especiais" @@ -636,7 +865,7 @@ msgstr ":func:`window_height`" msgid ":func:`window_width`" msgstr ":func:`window_width`" -#: ../../library/turtle.rst:226 ../../library/turtle.rst:1875 +#: ../../library/turtle.rst:416 ../../library/turtle.rst:2065 msgid "Input methods" msgstr "Métodos de entrada" @@ -648,7 +877,7 @@ msgstr ":func:`textinput`" msgid ":func:`numinput`" msgstr ":func:`numinput`" -#: ../../library/turtle.rst:233 +#: ../../library/turtle.rst:423 msgid "Methods specific to Screen" msgstr "Métodos específicos para Screen" @@ -668,11 +897,11 @@ msgstr ":func:`setup`" msgid ":func:`title`" msgstr ":func:`title`" -#: ../../library/turtle.rst:236 +#: ../../library/turtle.rst:426 msgid "Methods of RawTurtle/Turtle and corresponding functions" msgstr "Métodos de RawTurtle/Turtle e funções correspondentes" -#: ../../library/turtle.rst:238 +#: ../../library/turtle.rst:428 msgid "" "Most of the examples in this section refer to a Turtle instance called " "``turtle``." @@ -684,13 +913,13 @@ msgstr "" msgid "Parameters" msgstr "Parâmetros" -#: ../../library/turtle.rst:247 ../../library/turtle.rst:292 -#: ../../library/turtle.rst:317 ../../library/turtle.rst:377 -#: ../../library/turtle.rst:400 ../../library/turtle.rst:423 +#: ../../library/turtle.rst:437 ../../library/turtle.rst:482 +#: ../../library/turtle.rst:507 ../../library/turtle.rst:567 +#: ../../library/turtle.rst:590 ../../library/turtle.rst:613 msgid "a number (integer or float)" msgstr "um número (inteiro ou ponto flutuante)" -#: ../../library/turtle.rst:249 +#: ../../library/turtle.rst:439 msgid "" "Move the turtle forward by the specified *distance*, in the direction the " "turtle is headed." @@ -698,13 +927,13 @@ msgstr "" "Move a tartaruga para frente pela *distance* especificada, na direção em que " "a tartaruga está indo." -#: ../../library/turtle.rst:269 ../../library/turtle.rst:473 -#: ../../library/turtle.rst:748 ../../library/turtle.rst:1256 -#: ../../library/turtle.rst:1275 +#: ../../library/turtle.rst:459 ../../library/turtle.rst:663 +#: ../../library/turtle.rst:938 ../../library/turtle.rst:1446 +#: ../../library/turtle.rst:1465 msgid "a number" msgstr "um número" -#: ../../library/turtle.rst:271 +#: ../../library/turtle.rst:461 msgid "" "Move the turtle backward by *distance*, opposite to the direction the turtle " "is headed. Do not change the turtle's heading." @@ -712,45 +941,45 @@ msgstr "" "Move a tartaruga para trás por *distance*, na direção oposta à direção em " "que a tartaruga está indo. Não muda o rumo da tartaruga." -#: ../../library/turtle.rst:294 +#: ../../library/turtle.rst:484 msgid "" "Turn turtle right by *angle* units. (Units are by default degrees, but can " "be set via the :func:`degrees` and :func:`radians` functions.) Angle " "orientation depends on the turtle mode, see :func:`mode`." msgstr "" "Vira a tartaruga à direita por unidades de *angle*. (As unidades são por " -"padrão graus, mas podem ser definidas através das funções :func:`degrees` e :" -"func:`radians`.) A orientação do ângulo depende do modo tartaruga, veja :" -"func:`mode`." +"padrão graus, mas podem ser definidas através das funções :func:`degrees` " +"e :func:`radians`.) A orientação do ângulo depende do modo tartaruga, " +"veja :func:`mode`." -#: ../../library/turtle.rst:319 +#: ../../library/turtle.rst:509 msgid "" "Turn turtle left by *angle* units. (Units are by default degrees, but can " "be set via the :func:`degrees` and :func:`radians` functions.) Angle " "orientation depends on the turtle mode, see :func:`mode`." msgstr "" "Vira a tartaruga à esquerda por unidades de *angle*. (As unidades são por " -"padrão graus, mas podem ser definidas através das funções :func:`degrees` e :" -"func:`radians`.) A orientação do ângulo depende do modo tartaruga, veja :" -"func:`mode`." +"padrão graus, mas podem ser definidas através das funções :func:`degrees` " +"e :func:`radians`.) A orientação do ângulo depende do modo tartaruga, " +"veja :func:`mode`." -#: ../../library/turtle.rst:343 +#: ../../library/turtle.rst:533 msgid "a number or a pair/vector of numbers" msgstr "um número ou um par/vetor de números" -#: ../../library/turtle.rst:344 +#: ../../library/turtle.rst:534 msgid "a number or ``None``" msgstr "um número ou ``None``" -#: ../../library/turtle.rst:346 +#: ../../library/turtle.rst:536 msgid "" -"If *y* is ``None``, *x* must be a pair of coordinates or a :class:`Vec2D` (e." -"g. as returned by :func:`pos`)." +"If *y* is ``None``, *x* must be a pair of coordinates or a :class:`Vec2D` " +"(e.g. as returned by :func:`pos`)." msgstr "" -"Se *y* for ``None``, *x* deve ser um par de coordenadas ou uma classe :class:" -"`Vec2D` (por exemplo, como retornado pela função :func:`pos`)." +"Se *y* for ``None``, *x* deve ser um par de coordenadas ou uma " +"classe :class:`Vec2D` (por exemplo, como retornado pela função :func:`pos`)." -#: ../../library/turtle.rst:349 +#: ../../library/turtle.rst:539 msgid "" "Move turtle to an absolute position. If the pen is down, draw line. Do not " "change the turtle's orientation." @@ -758,21 +987,21 @@ msgstr "" "Move a tartaruga para uma posição absoluta. Caso a caneta esteja virada para " "baixo, traça a linha. Não altera a orientação da tartaruga." -#: ../../library/turtle.rst:379 +#: ../../library/turtle.rst:569 msgid "" "Set the turtle's first coordinate to *x*, leave second coordinate unchanged." msgstr "" "Define a primeira coordenada da tartaruga para *x*, deixa a segunda " "coordenada inalterada." -#: ../../library/turtle.rst:402 +#: ../../library/turtle.rst:592 msgid "" "Set the turtle's second coordinate to *y*, leave first coordinate unchanged." msgstr "" "Defina a segunda coordenada da tartaruga para *y*, deixa a primeira " "coordenada inalterada." -#: ../../library/turtle.rst:425 +#: ../../library/turtle.rst:615 msgid "" "Set the orientation of the turtle to *to_angle*. Here are some common " "directions in degrees:" @@ -780,47 +1009,47 @@ msgstr "" "Define a orientação da tartaruga para *to_angle*. Aqui estão algumas " "direções mais comuns em graus:" -#: ../../library/turtle.rst:429 +#: ../../library/turtle.rst:619 msgid "standard mode" msgstr "modo padrão" -#: ../../library/turtle.rst:429 +#: ../../library/turtle.rst:619 msgid "logo mode" msgstr "modo logo" -#: ../../library/turtle.rst:431 +#: ../../library/turtle.rst:621 msgid "0 - east" msgstr "0 - leste" -#: ../../library/turtle.rst:431 +#: ../../library/turtle.rst:621 msgid "0 - north" msgstr "0 - norte" -#: ../../library/turtle.rst:432 +#: ../../library/turtle.rst:622 msgid "90 - north" msgstr "90 - norte" -#: ../../library/turtle.rst:432 +#: ../../library/turtle.rst:622 msgid "90 - east" msgstr "90 - leste" -#: ../../library/turtle.rst:433 +#: ../../library/turtle.rst:623 msgid "180 - west" msgstr "180 - oeste" -#: ../../library/turtle.rst:433 +#: ../../library/turtle.rst:623 msgid "180 - south" msgstr "180 - sul" -#: ../../library/turtle.rst:434 +#: ../../library/turtle.rst:624 msgid "270 - south" msgstr "270 - sul" -#: ../../library/turtle.rst:434 +#: ../../library/turtle.rst:624 msgid "270 - west" msgstr "270 - oeste" -#: ../../library/turtle.rst:447 +#: ../../library/turtle.rst:637 msgid "" "Move turtle to the origin -- coordinates (0,0) -- and set its heading to its " "start-orientation (which depends on the mode, see :func:`mode`)." @@ -828,15 +1057,15 @@ msgstr "" "Move a tartaruga para a origem -- coordenadas (0,0) -- e define seu rumo " "para sua orientação inicial (que depende do modo, veja :func:`mode`)." -#: ../../library/turtle.rst:474 +#: ../../library/turtle.rst:664 msgid "a number (or ``None``)" msgstr "um número (ou ``None``)" -#: ../../library/turtle.rst:475 ../../library/turtle.rst:569 +#: ../../library/turtle.rst:665 ../../library/turtle.rst:759 msgid "an integer (or ``None``)" msgstr "um inteiro (ou ``None``)" -#: ../../library/turtle.rst:477 +#: ../../library/turtle.rst:667 msgid "" "Draw a circle with given *radius*. The center is *radius* units left of the " "turtle; *extent* -- an angle -- determines which part of the circle is " @@ -854,7 +1083,7 @@ msgstr "" "*radius* for positivo, caso contrário, no sentido horário. Finalmente, a " "direção da tartaruga é alterada pela quantidade de *extent*." -#: ../../library/turtle.rst:485 +#: ../../library/turtle.rst:675 msgid "" "As the circle is approximated by an inscribed regular polygon, *steps* " "determines the number of steps to use. If not given, it will be calculated " @@ -864,15 +1093,15 @@ msgstr "" "determina o número de passos a serem usados. Caso não seja informado, será " "calculado automaticamente. Pode ser usado para desenhar polígonos regulares." -#: ../../library/turtle.rst:511 +#: ../../library/turtle.rst:701 msgid "an integer >= 1 (if given)" msgstr "um inteiro >= 1 (caso seja fornecido)" -#: ../../library/turtle.rst:512 +#: ../../library/turtle.rst:702 msgid "a colorstring or a numeric color tuple" msgstr "uma string de cores ou uma tupla de cores numéricas" -#: ../../library/turtle.rst:514 +#: ../../library/turtle.rst:704 msgid "" "Draw a circular dot with diameter *size*, using *color*. If *size* is not " "given, the maximum of pensize+4 and 2*pensize is used." @@ -880,7 +1109,7 @@ msgstr "" "Desenha um ponto circular com diâmetro *size*, usando *color*. Se *size* não " "for fornecido, o máximo de pensize+4 e 2*pensize será usado." -#: ../../library/turtle.rst:532 +#: ../../library/turtle.rst:722 msgid "" "Stamp a copy of the turtle shape onto the canvas at the current turtle " "position. Return a stamp_id for that stamp, which can be used to delete it " @@ -890,16 +1119,16 @@ msgstr "" "tartaruga. Retorna um stamp_id para esse carimbo, que pode ser usado para " "excluí-lo chamando ``clearstamp(stamp_id)``." -#: ../../library/turtle.rst:547 +#: ../../library/turtle.rst:737 msgid "an integer, must be return value of previous :func:`stamp` call" msgstr "" "um inteiro, deve ser o valor de retorno da chamada de :func:`stamp` anterior" -#: ../../library/turtle.rst:550 +#: ../../library/turtle.rst:740 msgid "Delete stamp with given *stampid*." msgstr "Exclui o carimbo com o *stamp* fornecido." -#: ../../library/turtle.rst:571 +#: ../../library/turtle.rst:761 msgid "" "Delete all or first/last *n* of turtle's stamps. If *n* is ``None``, delete " "all stamps, if *n* > 0 delete first *n* stamps, else if *n* < 0 delete last " @@ -909,7 +1138,7 @@ msgstr "" "``None``, exclui todos os carimbos, se *n* > 0 exclui os primeiros *n* " "carimbos, senão se *n* < 0 exclui os últimos *n* carimbos." -#: ../../library/turtle.rst:594 +#: ../../library/turtle.rst:784 msgid "" "Undo (repeatedly) the last turtle action(s). Number of available undo " "actions is determined by the size of the undobuffer." @@ -918,12 +1147,12 @@ msgstr "" "ações de desfazer disponíveis é determinado pelo tamanho do buffer de " "desfazer." -#: ../../library/turtle.rst:609 +#: ../../library/turtle.rst:799 msgid "an integer in the range 0..10 or a speedstring (see below)" msgstr "" "um inteiro no intervalo 0..10 ou uma string de velocidade (veja abaixo)" -#: ../../library/turtle.rst:611 +#: ../../library/turtle.rst:801 msgid "" "Set the turtle's speed to an integer value in the range 0..10. If no " "argument is given, return current speed." @@ -931,7 +1160,7 @@ msgstr "" "Define a velocidade da tartaruga para um valor inteiro no intervalo 0..10. " "Se nenhum argumento for fornecido, retorna a velocidade atual." -#: ../../library/turtle.rst:614 +#: ../../library/turtle.rst:804 msgid "" "If input is a number greater than 10 or smaller than 0.5, speed is set to " "0. Speedstrings are mapped to speedvalues as follows:" @@ -940,27 +1169,27 @@ msgstr "" "definida como 0. As strings de velocidade são mapeadas para valores de " "velocidade da seguinte forma:" -#: ../../library/turtle.rst:617 +#: ../../library/turtle.rst:807 msgid "\"fastest\": 0" msgstr "\"fastest\": 0" -#: ../../library/turtle.rst:618 +#: ../../library/turtle.rst:808 msgid "\"fast\": 10" msgstr "\"fast\": 10" -#: ../../library/turtle.rst:619 +#: ../../library/turtle.rst:809 msgid "\"normal\": 6" msgstr "\"normal\": 6" -#: ../../library/turtle.rst:620 +#: ../../library/turtle.rst:810 msgid "\"slow\": 3" msgstr "\"slow\": 3" -#: ../../library/turtle.rst:621 +#: ../../library/turtle.rst:811 msgid "\"slowest\": 1" msgstr "\"slowest\": 1" -#: ../../library/turtle.rst:623 +#: ../../library/turtle.rst:813 msgid "" "Speeds from 1 to 10 enforce increasingly faster animation of line drawing " "and turtle turning." @@ -968,31 +1197,31 @@ msgstr "" "Velocidades de 1 a 10 tornam a animação cada vez mais rápida, tanto para o " "desenho da linha como para a rotação da tartaruga." -#: ../../library/turtle.rst:626 +#: ../../library/turtle.rst:816 msgid "" "Attention: *speed* = 0 means that *no* animation takes place. forward/back " "makes turtle jump and likewise left/right make the turtle turn instantly." msgstr "" -"Atenção: *speed* = 0 significa que *nenhuma* animação ocorre. Para frente/" -"trás faz a tartaruga pular e da mesma forma para esquerda/direita faz a " -"tartaruga girar instantaneamente." +"Atenção: *speed* = 0 significa que *nenhuma* animação ocorre. forward/back " +"faz a tartaruga pular e da mesma forma para left/right faz a tartaruga girar " +"instantaneamente." -#: ../../library/turtle.rst:649 +#: ../../library/turtle.rst:839 msgid "" "Return the turtle's current location (x,y) (as a :class:`Vec2D` vector)." msgstr "" -"Retorna a localização atual da tartaruga (x,y) (como um vetor :class:" -"`Vec2D`)." +"Retorna a localização atual da tartaruga (x,y) (como um " +"vetor :class:`Vec2D`)." -#: ../../library/turtle.rst:660 ../../library/turtle.rst:723 +#: ../../library/turtle.rst:850 ../../library/turtle.rst:913 msgid "a number or a pair/vector of numbers or a turtle instance" msgstr "um número ou um par/vetor de números ou uma instância de tartaruga" -#: ../../library/turtle.rst:661 ../../library/turtle.rst:724 +#: ../../library/turtle.rst:851 ../../library/turtle.rst:914 msgid "a number if *x* is a number, else ``None``" msgstr "um número caso *x* seja um número, senão ``None``" -#: ../../library/turtle.rst:663 +#: ../../library/turtle.rst:853 msgid "" "Return the angle between the line from turtle position to position specified " "by (x,y), the vector or the other turtle. This depends on the turtle's " @@ -1004,23 +1233,23 @@ msgstr "" "orientação inicial da tartaruga, que depende do modo - \"standard\"/" "\"world\" ou \"logo\"." -#: ../../library/turtle.rst:677 +#: ../../library/turtle.rst:867 msgid "Return the turtle's x coordinate." msgstr "Retorna a coordenada X da tartaruga." -#: ../../library/turtle.rst:693 +#: ../../library/turtle.rst:883 msgid "Return the turtle's y coordinate." msgstr "Retorna a coordenada Y da tartaruga." -#: ../../library/turtle.rst:709 +#: ../../library/turtle.rst:899 msgid "" -"Return the turtle's current heading (value depends on the turtle mode, see :" -"func:`mode`)." +"Return the turtle's current heading (value depends on the turtle mode, " +"see :func:`mode`)." msgstr "" "Retorna o título atual da tartaruga (o valor depende do modo da tartaruga, " "veja :func:`mode`)." -#: ../../library/turtle.rst:726 +#: ../../library/turtle.rst:916 msgid "" "Return the distance from the turtle to (x,y), the given vector, or the given " "other turtle, in turtle step units." @@ -1028,11 +1257,11 @@ msgstr "" "Retorna a distância da tartaruga para (x,y), o vetor dado, ou a outra " "tartaruga dada, em unidades de passo de tartaruga." -#: ../../library/turtle.rst:744 +#: ../../library/turtle.rst:934 msgid "Settings for measurement" msgstr "Configurações de medida" -#: ../../library/turtle.rst:750 +#: ../../library/turtle.rst:940 msgid "" "Set angle measurement units, i.e. set number of \"degrees\" for a full " "circle. Default value is 360 degrees." @@ -1040,48 +1269,48 @@ msgstr "" "Define as unidades de medição do ângulo, ou seja, defina o número de " "\"graus\" para um círculo completo. O valor padrão é 360 graus." -#: ../../library/turtle.rst:773 +#: ../../library/turtle.rst:963 msgid "" -"Set the angle measurement units to radians. Equivalent to ``degrees(2*math." -"pi)``." +"Set the angle measurement units to radians. Equivalent to " +"``degrees(2*math.pi)``." msgstr "" "Define as unidades de medida de ângulo para radianos. Equivalente a " "``degrees(2*math.pi)``." -#: ../../library/turtle.rst:804 +#: ../../library/turtle.rst:994 msgid "Pull the pen down -- drawing when moving." msgstr "Desce a caneta - desenha ao se mover." -#: ../../library/turtle.rst:811 +#: ../../library/turtle.rst:1001 msgid "Pull the pen up -- no drawing when moving." msgstr "Levanta a caneta -- sem qualquer desenho ao se mover." -#: ../../library/turtle.rst:817 +#: ../../library/turtle.rst:1007 msgid "a positive number" msgstr "um número positivo" -#: ../../library/turtle.rst:819 +#: ../../library/turtle.rst:1009 msgid "" "Set the line thickness to *width* or return it. If resizemode is set to " "\"auto\" and turtleshape is a polygon, that polygon is drawn with the same " "line thickness. If no argument is given, the current pensize is returned." msgstr "" -"Define a espessura da linha para *width* ou retorne-a. Se resizemode estiver " +"Define a espessura da linha para *width* ou retorna-a. Se resizemode estiver " "definido como \"auto\" e a forma de tartaruga for um polígono, esse polígono " "será desenhado com a mesma espessura de linha. Se nenhum argumento for " -"fornecido, o tamanho da pena atual será retornado." +"fornecido, a espessura atual da caneta será retornada." -#: ../../library/turtle.rst:833 +#: ../../library/turtle.rst:1023 msgid "a dictionary with some or all of the below listed keys" msgstr "um dicionário com algumas ou todas as chaves listadas abaixo" -#: ../../library/turtle.rst:834 +#: ../../library/turtle.rst:1024 msgid "one or more keyword-arguments with the below listed keys as keywords" msgstr "" "um ou mais argumentos nomeados com as chaves listadas abaixo como palavras-" "chave" -#: ../../library/turtle.rst:836 +#: ../../library/turtle.rst:1026 msgid "" "Return or set the pen's attributes in a \"pen-dictionary\" with the " "following key/value pairs:" @@ -1089,47 +1318,47 @@ msgstr "" "Retorna ou define os atributos da caneta em um \"dicionário da caneta\" com " "os seguintes pares de chave/valor:" -#: ../../library/turtle.rst:839 +#: ../../library/turtle.rst:1029 msgid "\"shown\": True/False" msgstr "\"shown\": True/False" -#: ../../library/turtle.rst:840 +#: ../../library/turtle.rst:1030 msgid "\"pendown\": True/False" msgstr "\"pendown\": True/False" -#: ../../library/turtle.rst:841 +#: ../../library/turtle.rst:1031 msgid "\"pencolor\": color-string or color-tuple" msgstr "\"pencolor\": string de cores ou tupla de cores" -#: ../../library/turtle.rst:842 +#: ../../library/turtle.rst:1032 msgid "\"fillcolor\": color-string or color-tuple" msgstr "\"fillcolor\": string de cores ou tupla de cores" -#: ../../library/turtle.rst:843 +#: ../../library/turtle.rst:1033 msgid "\"pensize\": positive number" msgstr "\"pensize\": número positivo" -#: ../../library/turtle.rst:844 +#: ../../library/turtle.rst:1034 msgid "\"speed\": number in range 0..10" -msgstr "\"speed\": número na faixa de 0..10" +msgstr "\"speed\": número na faixa de 0..10." -#: ../../library/turtle.rst:845 +#: ../../library/turtle.rst:1035 msgid "\"resizemode\": \"auto\" or \"user\" or \"noresize\"" msgstr "\"resizemode\": \"auto\", \"user\" ou \"noresize\"" -#: ../../library/turtle.rst:846 +#: ../../library/turtle.rst:1036 msgid "\"stretchfactor\": (positive number, positive number)" msgstr "\"stretchfactor\": (número positivo, número positivo)" -#: ../../library/turtle.rst:847 +#: ../../library/turtle.rst:1037 msgid "\"outline\": positive number" msgstr "\"outline\": número positivo" -#: ../../library/turtle.rst:848 +#: ../../library/turtle.rst:1038 msgid "\"tilt\": number" msgstr "\"tilt\": número" -#: ../../library/turtle.rst:850 +#: ../../library/turtle.rst:1040 msgid "" "This dictionary can be used as argument for a subsequent call to :func:`pen` " "to restore the former pen-state. Moreover one or more of these attributes " @@ -1141,25 +1370,25 @@ msgstr "" "ou mais desses atributos podem ser fornecidos como argumentos nomeados. Isso " "pode ser usado para definir vários atributos de caneta em uma instrução." -#: ../../library/turtle.rst:876 +#: ../../library/turtle.rst:1066 msgid "Return ``True`` if pen is down, ``False`` if it's up." msgstr "" "Retorna ``True`` se a caneta estiver abaixada, ``False`` se estiver " "levantada." -#: ../../library/turtle.rst:894 +#: ../../library/turtle.rst:1084 msgid "Return or set the pencolor." msgstr "Retorna ou define a cor da caneta ou pencolor." -#: ../../library/turtle.rst:896 ../../library/turtle.rst:945 +#: ../../library/turtle.rst:1086 ../../library/turtle.rst:1135 msgid "Four input formats are allowed:" msgstr "São permitidos quatro formatos de entrada:" -#: ../../library/turtle.rst:901 +#: ../../library/turtle.rst:1091 msgid "``pencolor()``" msgstr "``pencolor()``" -#: ../../library/turtle.rst:899 +#: ../../library/turtle.rst:1089 msgid "" "Return the current pencolor as color specification string or as a tuple (see " "example). May be used as input to another color/pencolor/fillcolor call." @@ -1168,11 +1397,11 @@ msgstr "" "uma tupla (veja o exemplo). Pode ser usado como entrada para outra chamada " "color/pencolor/fillcolor." -#: ../../library/turtle.rst:905 +#: ../../library/turtle.rst:1095 msgid "``pencolor(colorstring)``" msgstr "``pencolor(colorstring)``" -#: ../../library/turtle.rst:904 +#: ../../library/turtle.rst:1094 msgid "" "Set pencolor to *colorstring*, which is a Tk color specification string, " "such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." @@ -1180,11 +1409,11 @@ msgstr "" "Define pencolor como *colorstring*, que é uma string de especificação de cor " "Tk, como ``\"red\"``, ``\"yellow\"`` ou ``\"#33cc8c\"``." -#: ../../library/turtle.rst:910 +#: ../../library/turtle.rst:1100 msgid "``pencolor((r, g, b))``" msgstr "``pencolor((r, g, b))``" -#: ../../library/turtle.rst:908 +#: ../../library/turtle.rst:1098 msgid "" "Set pencolor to the RGB color represented by the tuple of *r*, *g*, and " "*b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where " @@ -1194,11 +1423,11 @@ msgstr "" "*b*. Os valores de *r*, *g*, and *b* precisam estar na faixa 0..colormode, " "onde colormode é 1.0 ou 255 (ver :func:`colormode`)." -#: ../../library/turtle.rst:914 +#: ../../library/turtle.rst:1104 msgid "``pencolor(r, g, b)``" msgstr "``pencolor(r, g, b)``" -#: ../../library/turtle.rst:913 +#: ../../library/turtle.rst:1103 msgid "" "Set pencolor to the RGB color represented by *r*, *g*, and *b*. Each of " "*r*, *g*, and *b* must be in the range 0..colormode." @@ -1206,7 +1435,7 @@ msgstr "" "Define a cor da caneta como a cor RGB representada por *r*, *g*, e *b*. Os " "valores de *r*, *g*, and *b* precisam estar na faixa 0..colormode." -#: ../../library/turtle.rst:916 +#: ../../library/turtle.rst:1106 msgid "" "If turtleshape is a polygon, the outline of that polygon is drawn with the " "newly set pencolor." @@ -1214,237 +1443,295 @@ msgstr "" "Se a forma da tartaruga for um polígono, o contorno desse polígono será " "desenhado com a nova cor de caneta definida." -#: ../../library/turtle.rst:943 +#: ../../library/turtle.rst:1133 msgid "Return or set the fillcolor." msgstr "Retorna ou define o fillcolor." -#: ../../library/turtle.rst:950 +#: ../../library/turtle.rst:1140 msgid "``fillcolor()``" msgstr "``fillcolor()``" -#: ../../library/turtle.rst:948 +#: ../../library/turtle.rst:1138 msgid "" "Return the current fillcolor as color specification string, possibly in " "tuple format (see example). May be used as input to another color/pencolor/" "fillcolor call." msgstr "" +"Retorna a cor de preenchimento atual como string, ou em formato de tupla " +"(veja o exemplo). Pode ser usado como entrada para outra chamada color/" +"pencolor/fillcolor." -#: ../../library/turtle.rst:954 +#: ../../library/turtle.rst:1144 msgid "``fillcolor(colorstring)``" msgstr "``fillcolor(colorstring)``" -#: ../../library/turtle.rst:953 +#: ../../library/turtle.rst:1143 msgid "" "Set fillcolor to *colorstring*, which is a Tk color specification string, " "such as ``\"red\"``, ``\"yellow\"``, or ``\"#33cc8c\"``." msgstr "" +"Define fillcolor como *colorstring*, que é uma especificação de cor do Tk em " +"formato de string, como ``\"red\"``, ``\"yellow\"``, ou ``\"#33cc8c\"``." -#: ../../library/turtle.rst:959 +#: ../../library/turtle.rst:1149 msgid "``fillcolor((r, g, b))``" msgstr "``fillcolor((r, g, b))``" -#: ../../library/turtle.rst:957 +#: ../../library/turtle.rst:1147 msgid "" "Set fillcolor to the RGB color represented by the tuple of *r*, *g*, and " "*b*. Each of *r*, *g*, and *b* must be in the range 0..colormode, where " "colormode is either 1.0 or 255 (see :func:`colormode`)." msgstr "" +"Define fillcolor como a cor no padrão RGB representada por tupla de *r*, *g* " +"e *b*. Cada um de *r*, *g* e *b* deve estar no limite 0..colormode, em que " +"colormode é 1,0 ou 255 (consulte :func:`colormode`)." -#: ../../library/turtle.rst:963 +#: ../../library/turtle.rst:1153 msgid "``fillcolor(r, g, b)``" msgstr "``fillcolor(r, g, b)``" -#: ../../library/turtle.rst:962 +#: ../../library/turtle.rst:1152 msgid "" "Set fillcolor to the RGB color represented by *r*, *g*, and *b*. Each of " "*r*, *g*, and *b* must be in the range 0..colormode." msgstr "" +"Define fillcolor como uma cor no formato RGB representada por *r*, *g* e " +"*b*. Cada um dos elementos *r*, *g* e *b* devem estar no limite " +"0..colormode." -#: ../../library/turtle.rst:965 +#: ../../library/turtle.rst:1155 msgid "" "If turtleshape is a polygon, the interior of that polygon is drawn with the " "newly set fillcolor." msgstr "" +"Se turtleshape for um polígono, o interior desse polígono será desenhado com " +"a nova cor de preenchimento definida." -#: ../../library/turtle.rst:986 +#: ../../library/turtle.rst:1176 msgid "Return or set pencolor and fillcolor." -msgstr "" +msgstr "Retorna ou define os valores de pencolor e fillcolor." -#: ../../library/turtle.rst:988 +#: ../../library/turtle.rst:1178 msgid "" "Several input formats are allowed. They use 0 to 3 arguments as follows:" msgstr "" +"Diversos formatos de entrada são permitidos. Eles usam de 0 a 3 argumentos " +"da seguinte forma:" -#: ../../library/turtle.rst:994 +#: ../../library/turtle.rst:1184 msgid "``color()``" msgstr "``color()``" -#: ../../library/turtle.rst:992 +#: ../../library/turtle.rst:1182 msgid "" "Return the current pencolor and the current fillcolor as a pair of color " -"specification strings or tuples as returned by :func:`pencolor` and :func:" -"`fillcolor`." +"specification strings or tuples as returned by :func:`pencolor` " +"and :func:`fillcolor`." msgstr "" +"Retorna os valores atuais de pencolor e fillcollor como um par de cores como " +"strings ou tuplas conforme retornado por :func:`pencolor` " +"e :func:`fillcolor`." -#: ../../library/turtle.rst:998 +#: ../../library/turtle.rst:1188 msgid "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" msgstr "``color(colorstring)``, ``color((r,g,b))``, ``color(r,g,b)``" -#: ../../library/turtle.rst:997 +#: ../../library/turtle.rst:1187 msgid "" "Inputs as in :func:`pencolor`, set both, fillcolor and pencolor, to the " "given value." msgstr "" +"Entradas como em :func:`pencolor`, define ambos, fillcolor e pencolor, para " +"o valor informado." -#: ../../library/turtle.rst:1002 +#: ../../library/turtle.rst:1192 msgid "" "``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" msgstr "" "``color(colorstring1, colorstring2)``, ``color((r1,g1,b1), (r2,g2,b2))``" -#: ../../library/turtle.rst:1001 +#: ../../library/turtle.rst:1191 msgid "" "Equivalent to ``pencolor(colorstring1)`` and ``fillcolor(colorstring2)`` and " "analogously if the other input format is used." msgstr "" +"Equivalente a ``pencolor(colorstring1)`` e ``fillcolor(colorstring2)`` e de " +"forma análoga se a outra formatação de entrada for usada." -#: ../../library/turtle.rst:1004 +#: ../../library/turtle.rst:1194 msgid "" "If turtleshape is a polygon, outline and interior of that polygon is drawn " "with the newly set colors." msgstr "" +"Se o turtleshape for um polígono, o contorno e o interior desse polígono " +"serão desenhados com as cores recém-definidas." -#: ../../library/turtle.rst:1018 +#: ../../library/turtle.rst:1208 msgid "See also: Screen method :func:`colormode`." msgstr "Veja também: Método da tela :func:`colormode`." -#: ../../library/turtle.rst:1032 +#: ../../library/turtle.rst:1222 msgid "Return fillstate (``True`` if filling, ``False`` else)." msgstr "" "Retorna fillstate (``True`` se estiver preenchido, ``False`` caso contrário)." -#: ../../library/turtle.rst:1047 +#: ../../library/turtle.rst:1237 msgid "To be called just before drawing a shape to be filled." -msgstr "" +msgstr "Deve ser chamado antes de desenhar uma forma a ser preenchida." -#: ../../library/turtle.rst:1052 +#: ../../library/turtle.rst:1242 msgid "Fill the shape drawn after the last call to :func:`begin_fill`." msgstr "" +"Preenche a forma desenhada após a última chamada para :func:`begin_fill`." -#: ../../library/turtle.rst:1054 +#: ../../library/turtle.rst:1244 msgid "" "Whether or not overlap regions for self-intersecting polygons or multiple " "shapes are filled depends on the operating system graphics, type of overlap, " "and number of overlaps. For example, the Turtle star above may be either " "all yellow or have some white regions." msgstr "" +"O preenchimento ou não de regiões sobrepostas para polígonos que se cruzam " +"ou formas múltiplas depende dos gráficos do sistema operacional, do tipo de " +"sobreposição e do número de sobreposições. Por exemplo, a estrela da " +"Tartaruga acima pode ser toda amarela ou ter algumas regiões brancas." -#: ../../library/turtle.rst:1073 +#: ../../library/turtle.rst:1263 msgid "" "Delete the turtle's drawings from the screen, re-center the turtle and set " "variables to the default values." msgstr "" +"Remove os desenhos da tartaruga da tela, centraliza novamente a tartaruga e " +"define as variáveis para os valores padrões." -#: ../../library/turtle.rst:1094 +#: ../../library/turtle.rst:1284 msgid "" "Delete the turtle's drawings from the screen. Do not move turtle. State " "and position of the turtle as well as drawings of other turtles are not " "affected." msgstr "" +"Exclui os desenhos da tartaruga da tela e não move a tartaruga. O atual " +"estado e posição da tartaruga, bem como os desenhos de outras tartarugas, " +"não são afetados." -#: ../../library/turtle.rst:1100 +#: ../../library/turtle.rst:1290 msgid "object to be written to the TurtleScreen" -msgstr "" +msgstr "objeto a ser escrito na TurtleScreen" -#: ../../library/turtle.rst:1101 +#: ../../library/turtle.rst:1291 msgid "True/False" msgstr "True/False" -#: ../../library/turtle.rst:1102 +#: ../../library/turtle.rst:1292 msgid "one of the strings \"left\", \"center\" or right\"" msgstr "uma das Strings \"left\", \"center\" ou right\"" -#: ../../library/turtle.rst:1103 +#: ../../library/turtle.rst:1293 msgid "a triple (fontname, fontsize, fonttype)" msgstr "a triple (fontname, fontsize, fonttype)" -#: ../../library/turtle.rst:1105 +#: ../../library/turtle.rst:1295 msgid "" "Write text - the string representation of *arg* - at the current turtle " "position according to *align* (\"left\", \"center\" or \"right\") and with " "the given font. If *move* is true, the pen is moved to the bottom-right " "corner of the text. By default, *move* is ``False``." msgstr "" +"Escreve o texto - a representação string de *arg* - na posição atual da " +"tartaruga de acordo com *align* (\"left\", \"center\" ou \"right\") e com a " +"fonte fornecida. Se *move* for verdadeiro, a caneta será movida para o canto " +"inferior direito do texto. Por padrão, *move* é ``False``." -#: ../../library/turtle.rst:1123 +#: ../../library/turtle.rst:1313 msgid "" "Make the turtle invisible. It's a good idea to do this while you're in the " "middle of doing some complex drawing, because hiding the turtle speeds up " "the drawing observably." msgstr "" +"Torna a tartaruga invisível. É uma boa ideia fazer isso enquanto estiver " +"fazendo algum desenho complexo, pois ocultar a tartaruga acelera o desenho " +"de forma visível." -#: ../../library/turtle.rst:1136 +#: ../../library/turtle.rst:1326 msgid "Make the turtle visible." msgstr "Tornar a tartaruga visível." -#: ../../library/turtle.rst:1146 +#: ../../library/turtle.rst:1336 msgid "Return ``True`` if the Turtle is shown, ``False`` if it's hidden." msgstr "" +"Retorna ``True`` se a Tartaruga for exibida, ``False`` se estiver oculta." -#: ../../library/turtle.rst:1161 +#: ../../library/turtle.rst:1351 msgid "a string which is a valid shapename" -msgstr "" +msgstr "uma string que é um shapename válido" -#: ../../library/turtle.rst:1163 +#: ../../library/turtle.rst:1353 msgid "" "Set turtle shape to shape with given *name* or, if name is not given, return " "name of current shape. Shape with *name* must exist in the TurtleScreen's " "shape dictionary. Initially there are the following polygon shapes: " "\"arrow\", \"turtle\", \"circle\", \"square\", \"triangle\", \"classic\". " -"To learn about how to deal with shapes see Screen method :func:" -"`register_shape`." -msgstr "" - -#: ../../library/turtle.rst:1181 +"To learn about how to deal with shapes see Screen " +"method :func:`register_shape`." +msgstr "" +"Define a forma da tartaruga para a forma com o *nome* fornecido ou, se o " +"nome não for fornecido, retorna nome da forma atual. A forma com *name* " +"deve existir no dicionário TurtleScreen. Inicialmente, há as seguintes " +"formas de polígono: \"arrow\" (seta), \"turtle\" (tartaruga), \"circle\" " +"(círculo), \"square\" (quadrado), \"triangle\" (triângulo), \"classic\" " +"(clássico). Para saber mais sobre como lidar com formas, consulte o método " +"Screen :func:`register_shape` ." + +#: ../../library/turtle.rst:1371 msgid "one of the strings \"auto\", \"user\", \"noresize\"" msgstr "uma das Strings \"auto\", \"user\", \"noresize\"" -#: ../../library/turtle.rst:1183 +#: ../../library/turtle.rst:1373 msgid "" "Set resizemode to one of the values: \"auto\", \"user\", \"noresize\". If " "*rmode* is not given, return current resizemode. Different resizemodes have " "the following effects:" msgstr "" +"Define resizemode como um dos valores: \"auto\", \"user\", \"noresize\". Se " +"*rmode* não for fornecido, retorna o modo de redimensionamento atual. Os " +"diferentes modos de redimensionamento têm os seguintes efeitos:" -#: ../../library/turtle.rst:1187 +#: ../../library/turtle.rst:1377 msgid "" "\"auto\": adapts the appearance of the turtle corresponding to the value of " "pensize." msgstr "" "\"auto\": adapta a aparência da tartaruga correspondente ao valor do pensize." -#: ../../library/turtle.rst:1188 +#: ../../library/turtle.rst:1378 msgid "" "\"user\": adapts the appearance of the turtle according to the values of " "stretchfactor and outlinewidth (outline), which are set by :func:`shapesize`." msgstr "" +"\"user\": adapta a aparência da tartaruga de acordo com os valores de " +"stretchfactor e outlinewidth (outline), que são definidos " +"por :func:`shapesize`." -#: ../../library/turtle.rst:1191 +#: ../../library/turtle.rst:1381 msgid "\"noresize\": no adaption of the turtle's appearance takes place." msgstr "" +"\"noresize\": não acontece nenhuma adaptação na aparência da tartaruga." -#: ../../library/turtle.rst:1193 +#: ../../library/turtle.rst:1383 msgid "" "``resizemode(\"user\")`` is called by :func:`shapesize` when used with " "arguments." msgstr "" +"``resizemode(\"user\")`` é chamado por :func:`shapesize` quando usado com " +"argumentos." -#: ../../library/turtle.rst:1208 ../../library/turtle.rst:1209 -#: ../../library/turtle.rst:1210 +#: ../../library/turtle.rst:1398 ../../library/turtle.rst:1399 +#: ../../library/turtle.rst:1400 msgid "positive number" msgstr "número positivo" -#: ../../library/turtle.rst:1212 +#: ../../library/turtle.rst:1402 msgid "" "Return or set the pen's attributes x/y-stretchfactors and/or outline. Set " "resizemode to \"user\". If and only if resizemode is set to \"user\", the " @@ -1453,13 +1740,19 @@ msgid "" "*stretch_len* is stretchfactor in direction of its orientation, *outline* " "determines the width of the shape's outline." msgstr "" +"Retorna ou define os atributos x/y-stretchfactors e/ou contorno da caneta. " +"Define o modo de redimensionamento como \"usuário\". Se e somente se " +"resizemode estiver definido como \"user\", a tartaruga será exibida esticada " +"de acordo com seus stretchfactors: *stretch_wid* é stretchfactor " +"perpendicular à sua orientação, *stretch_len* é stretchfactor na direção de " +"sua orientação, *outline* determina a largura do contorno da forma." -#: ../../library/turtle.rst:1235 ../../library/turtle.rst:1894 -#: ../../library/turtle.rst:1895 ../../library/turtle.rst:1896 +#: ../../library/turtle.rst:1425 ../../library/turtle.rst:2084 +#: ../../library/turtle.rst:2085 ../../library/turtle.rst:2086 msgid "number (optional)" msgstr "número (opcional)" -#: ../../library/turtle.rst:1237 +#: ../../library/turtle.rst:1427 msgid "" "Set or return the current shearfactor. Shear the turtleshape according to " "the given shearfactor shear, which is the tangent of the shear angle. Do " @@ -1467,27 +1760,39 @@ msgid "" "given: return the current shearfactor, i. e. the tangent of the shear angle, " "by which lines parallel to the heading of the turtle are sheared." msgstr "" +"Define ou retorna o fator de shearfactor atual. Corta a forma de tartaruga " +"de acordo com o fator de shearfactor fornecido, que é a tangente do ângulo " +"de shearfactor. *Não* muda a direção da tartaruga (direção do movimento). Se " +"o shearfactor não for fornecido: retorna o fator de shearfactor atual, i. " +"Isso é. a tangente do ângulo de shearfactor, pelo qual as linhas paralelas à " +"direção da tartaruga são cortadas." -#: ../../library/turtle.rst:1258 +#: ../../library/turtle.rst:1448 msgid "" "Rotate the turtleshape by *angle* from its current tilt-angle, but do *not* " "change the turtle's heading (direction of movement)." msgstr "" +"Gira a forma de tartaruga em um *ângulo* a partir de seu ângulo de " +"inclinação atual, mas *não* altera o rumo da tartaruga (direção do " +"movimento)." -#: ../../library/turtle.rst:1277 +#: ../../library/turtle.rst:1467 msgid "" "Rotate the turtleshape to point in the direction specified by *angle*, " "regardless of its current tilt-angle. *Do not* change the turtle's heading " "(direction of movement)." msgstr "" +"Gira a forma de tartaruga para apontar na direção especificada por *angle*, " +"independentemente de seu ângulo de inclinação atual. *Não* altera o rumo da " +"tartaruga (direção do movimento)." -#: ../../library/turtle.rst:1297 ../../library/turtle.rst:1320 -#: ../../library/turtle.rst:1321 ../../library/turtle.rst:1322 -#: ../../library/turtle.rst:1323 +#: ../../library/turtle.rst:1487 ../../library/turtle.rst:1510 +#: ../../library/turtle.rst:1511 ../../library/turtle.rst:1512 +#: ../../library/turtle.rst:1513 msgid "a number (optional)" msgstr "um número (opcional)" -#: ../../library/turtle.rst:1299 +#: ../../library/turtle.rst:1489 msgid "" "Set or return the current tilt-angle. If angle is given, rotate the " "turtleshape to point in the direction specified by angle, regardless of its " @@ -1496,12 +1801,19 @@ msgid "" "angle between the orientation of the turtleshape and the heading of the " "turtle (its direction of movement)." msgstr "" +"Define ou retorna o ângulo de inclinação atual. Se o ângulo for fornecido, " +"gira a forma de tartaruga para apontar na direção especificada pelo ângulo, " +"independentemente do seu ângulo de inclinação atual. *Não* muda a direção da " +"tartaruga (direção do movimento). Se o ângulo não for fornecido: retorna o " +"ângulo de inclinação atual, que é o ângulo entre a orientação da forma da " +"tartaruga e a direção da tartaruga (sua direção de movimento)." -#: ../../library/turtle.rst:1325 +#: ../../library/turtle.rst:1515 msgid "Set or return the current transformation matrix of the turtle shape." msgstr "" +"Define ou retorna a matriz de transformação atual da forma da tartaruga." -#: ../../library/turtle.rst:1327 +#: ../../library/turtle.rst:1517 msgid "" "If none of the matrix elements are given, return the transformation matrix " "as a tuple of 4 elements. Otherwise set the given elements and transform the " @@ -1510,219 +1822,286 @@ msgid "" "otherwise an error is raised. Modify stretchfactor, shearfactor and " "tiltangle according to the given matrix." msgstr "" +"Se nenhum dos elementos da matriz for fornecido, retorna a matriz de " +"transformação como uma tupla de 4 elementos. Caso contrário, define os " +"elementos fornecidos e transforma a forma da tartaruga de acordo com a " +"matriz que consiste na primeira linha t11, t12 e na segunda linha t21, t22. " +"O resultado de t11 * t22 - t12 * t21 não deve ser zero, caso contrário será " +"gerado um erro. Modifica stretchfactor, shearfactor e tiltangle de acordo " +"com a matriz fornecida." -#: ../../library/turtle.rst:1349 +#: ../../library/turtle.rst:1539 msgid "" "Return the current shape polygon as tuple of coordinate pairs. This can be " "used to define a new shape or components of a compound shape." msgstr "" +"Retorna o polígono da forma atual como uma tupla de pares de coordenadas. " +"Isto pode ser usado para definir uma nova forma ou componentes de uma forma " +"composta." -#: ../../library/turtle.rst:1367 ../../library/turtle.rst:1389 -#: ../../library/turtle.rst:1414 ../../library/turtle.rst:1818 +#: ../../library/turtle.rst:1557 ../../library/turtle.rst:1579 +#: ../../library/turtle.rst:1604 ../../library/turtle.rst:2008 msgid "" "a function with two arguments which will be called with the coordinates of " "the clicked point on the canvas" msgstr "" +"um função com dois argumento que serão chamados com as coordenadas do ponto " +"clicado na tela" -#: ../../library/turtle.rst:1369 ../../library/turtle.rst:1391 -#: ../../library/turtle.rst:1416 ../../library/turtle.rst:1820 +#: ../../library/turtle.rst:1559 ../../library/turtle.rst:1581 +#: ../../library/turtle.rst:1606 ../../library/turtle.rst:2010 msgid "number of the mouse-button, defaults to 1 (left mouse button)" -msgstr "" +msgstr "número do botão do mouse, o padrão é 1 (botão esquerdo do mouse)" -#: ../../library/turtle.rst:1370 ../../library/turtle.rst:1392 -#: ../../library/turtle.rst:1417 ../../library/turtle.rst:1821 +#: ../../library/turtle.rst:1560 ../../library/turtle.rst:1582 +#: ../../library/turtle.rst:1607 ../../library/turtle.rst:2011 msgid "" "``True`` or ``False`` -- if ``True``, a new binding will be added, otherwise " "it will replace a former binding" msgstr "" +"``True`` ou ``False`` -- se ``True``, uma nova ligação será adicionada; caso " +"contrário, ela substituirá uma ligação antiga" -#: ../../library/turtle.rst:1373 +#: ../../library/turtle.rst:1563 msgid "" "Bind *fun* to mouse-click events on this turtle. If *fun* is ``None``, " "existing bindings are removed. Example for the anonymous turtle, i.e. the " "procedural way:" msgstr "" +"Vincula *fun* a eventos de clique do mouse nessa tartaruga. Se *fun* for " +"``None``, as associações existentes serão removidas. Exemplo para a " +"tartaruga anônima, ou seja, a forma processual:" -#: ../../library/turtle.rst:1395 +#: ../../library/turtle.rst:1585 msgid "" "Bind *fun* to mouse-button-release events on this turtle. If *fun* is " "``None``, existing bindings are removed." msgstr "" +"Vincule *fun* aos eventos de liberação do botão do mouse nesta tartaruga. " +"Se *fun* for ``None``, as associações existentes serão removidas." -#: ../../library/turtle.rst:1420 +#: ../../library/turtle.rst:1610 msgid "" "Bind *fun* to mouse-move events on this turtle. If *fun* is ``None``, " "existing bindings are removed." msgstr "" +"Vincule *fun* a eventos de movimentação do mouse nessa tartaruga. Se *fun* " +"for ``None``, as associações existentes serão removidas." -#: ../../library/turtle.rst:1423 +#: ../../library/turtle.rst:1613 msgid "" "Remark: Every sequence of mouse-move-events on a turtle is preceded by a " "mouse-click event on that turtle." msgstr "" +"Observação: Cada sequência de eventos de movimento do mouse em uma tartaruga " +"é precedida por um evento de clique do mouse naquela tartaruga." -#: ../../library/turtle.rst:1431 +#: ../../library/turtle.rst:1621 msgid "" "Subsequently, clicking and dragging the Turtle will move it across the " "screen thereby producing handdrawings (if pen is down)." msgstr "" +"Posteriormente, clicar e arrastar a Tartaruga a moverá pela tela, produzindo " +"desenhos à mão (se a caneta estiver deitada)." -#: ../../library/turtle.rst:1440 +#: ../../library/turtle.rst:1630 msgid "" "Start recording the vertices of a polygon. Current turtle position is first " "vertex of polygon." msgstr "" +"Começa a registrar os vértices de um polígono. A posição atual da tartaruga " +"é o primeiro vértice do polígono." -#: ../../library/turtle.rst:1446 +#: ../../library/turtle.rst:1636 msgid "" "Stop recording the vertices of a polygon. Current turtle position is last " "vertex of polygon. This will be connected with the first vertex." msgstr "" +"Para de registrar os vértices de um polígono. A posição atual da tartaruga é " +"o último vértice do polígono. Isto será conectado ao primeiro vértice." -#: ../../library/turtle.rst:1452 +#: ../../library/turtle.rst:1642 msgid "Return the last recorded polygon." -msgstr "" +msgstr "Retorna o último polígono registrado." -#: ../../library/turtle.rst:1471 +#: ../../library/turtle.rst:1661 msgid "" "Create and return a clone of the turtle with same position, heading and " "turtle properties." msgstr "" +"Cria e retorna um clone da tartaruga com a mesma posição, direção e " +"propriedades da tartaruga original." -#: ../../library/turtle.rst:1484 +#: ../../library/turtle.rst:1674 msgid "" "Return the Turtle object itself. Only reasonable use: as a function to " "return the \"anonymous turtle\":" msgstr "" +"Retorna o próprio objeto Turtle. Uso recomendado: como função para retornar " +"a \"tartaruga anônima\":" -#: ../../library/turtle.rst:1498 +#: ../../library/turtle.rst:1688 msgid "" "Return the :class:`TurtleScreen` object the turtle is drawing on. " "TurtleScreen methods can then be called for that object." msgstr "" +"Retorna o objeto :class:`TurtleScreen` no qual a tartaruga está sendo " +"desenhada. Os métodos de TurtleScreen podem então ser chamados para este " +"objeto." -#: ../../library/turtle.rst:1512 +#: ../../library/turtle.rst:1702 msgid "an integer or ``None``" msgstr "um inteiro ou ``None``" -#: ../../library/turtle.rst:1514 +#: ../../library/turtle.rst:1704 msgid "" "Set or disable undobuffer. If *size* is an integer, an empty undobuffer of " "given size is installed. *size* gives the maximum number of turtle actions " "that can be undone by the :func:`undo` method/function. If *size* is " "``None``, the undobuffer is disabled." msgstr "" +"Define ou desativa o undobuffer. Se *size* for um inteiro, um undobuffer " +"vazio de determinado tamanho será instalado. *size* fornece o número máximo " +"de ações da tartaruga que podem ser desfeitas pelo método/" +"função :func:`undo` . Se *size* for ``None``, o undobuffer será desativado." -#: ../../library/turtle.rst:1527 +#: ../../library/turtle.rst:1717 msgid "Return number of entries in the undobuffer." -msgstr "" +msgstr "Retorna o número de entradas no undobuffer." -#: ../../library/turtle.rst:1540 +#: ../../library/turtle.rst:1730 msgid "Compound shapes" msgstr "Formas compostas" -#: ../../library/turtle.rst:1542 +#: ../../library/turtle.rst:1732 msgid "" "To use compound turtle shapes, which consist of several polygons of " "different color, you must use the helper class :class:`Shape` explicitly as " "described below:" msgstr "" +"Para usar formas de tartaruga compostas, que consistem em vários polígonos " +"de cores diferentes, você deve usar a classe auxiliar :class:`Shape` " +"explicitamente, conforme descrito abaixo:" -#: ../../library/turtle.rst:1546 +#: ../../library/turtle.rst:1736 msgid "Create an empty Shape object of type \"compound\"." -msgstr "" +msgstr "Crie um objeto Shape vazio do tipo \"compound\"." -#: ../../library/turtle.rst:1547 +#: ../../library/turtle.rst:1737 msgid "" -"Add as many components to this object as desired, using the :meth:`~Shape." -"addcomponent` method." +"Add as many components to this object as desired, using " +"the :meth:`~Shape.addcomponent` method." msgstr "" +"Adicione quantos componentes desejar a esse objeto, usando o " +"método :meth:`~Shape.addcomponent`." -#: ../../library/turtle.rst:1550 +#: ../../library/turtle.rst:1740 msgid "For example:" msgstr "Por exemplo:" -#: ../../library/turtle.rst:1561 +#: ../../library/turtle.rst:1751 msgid "Now add the Shape to the Screen's shapelist and use it:" -msgstr "" +msgstr "Agora, adicione o Shape à lista de formas da tela e use-o:" -#: ../../library/turtle.rst:1572 +#: ../../library/turtle.rst:1762 msgid "" "The :class:`Shape` class is used internally by the :func:`register_shape` " "method in different ways. The application programmer has to deal with the " "Shape class *only* when using compound shapes like shown above!" msgstr "" +"A classe :class:`Shape` é usada internamente pelo " +"método :func:`register_shape` de diferentes maneiras. O programador da " +"aplicação precisa lidar com a classe Shape *somente* ao usar formas " +"compostas como as mostradas acima!" -#: ../../library/turtle.rst:1578 +#: ../../library/turtle.rst:1768 msgid "Methods of TurtleScreen/Screen and corresponding functions" -msgstr "" +msgstr "métodos do TurtleScreen/Screen e as funções correspondentes" -#: ../../library/turtle.rst:1580 +#: ../../library/turtle.rst:1770 msgid "" "Most of the examples in this section refer to a TurtleScreen instance called " "``screen``." msgstr "" +"A maioria dos exemplos desta seção se refere a uma instância de TurtleScreen " +"chamada ``screen``." -#: ../../library/turtle.rst:1594 +#: ../../library/turtle.rst:1784 msgid "" "a color string or three numbers in the range 0..colormode or a 3-tuple of " "such numbers" msgstr "" +"uma sequência de cores ou três números no intervalo 0..colormode ou uma " +"tupla de 3 elementos desses números" -#: ../../library/turtle.rst:1598 +#: ../../library/turtle.rst:1788 msgid "Set or return background color of the TurtleScreen." -msgstr "" +msgstr "Define ou retorna a cor de fundo do TurtleScreen." -#: ../../library/turtle.rst:1613 +#: ../../library/turtle.rst:1803 msgid "a string, name of a gif-file or ``\"nopic\"``, or ``None``" -msgstr "" +msgstr "um string, um nome de um arquivo gif ou ``\"nopic\"``, ou ``None``" -#: ../../library/turtle.rst:1615 +#: ../../library/turtle.rst:1805 msgid "" "Set background image or return name of current backgroundimage. If " "*picname* is a filename, set the corresponding image as background. If " "*picname* is ``\"nopic\"``, delete background image, if present. If " "*picname* is ``None``, return the filename of the current backgroundimage. ::" msgstr "" +"Configura a imagem de fundo ou retorna nome da imagem de fundo atual. Se " +"*picname* for um nome de arquivo, definirá a imagem correspondente como " +"plano de fundo. Se *picname* for ``\"nopic\"``, exclui a imagem de fundo, " +"caso haja. Se *picname* for ``None``, retorna o nome do arquivo da imagem de " +"fundo atual:" -#: ../../library/turtle.rst:1631 +#: ../../library/turtle.rst:1821 msgid "" "This TurtleScreen method is available as a global function only under the " "name ``clearscreen``. The global function ``clear`` is a different one " "derived from the Turtle method ``clear``." msgstr "" +"Este método de TurtleScreen está disponível como uma função global somente " +"sob o nome ``clearscreen``. A função global ``clear`` é derivada de forma " +"diferente do método de Turtle ``clear`` ." -#: ../../library/turtle.rst:1638 +#: ../../library/turtle.rst:1828 msgid "" "Delete all drawings and all turtles from the TurtleScreen. Reset the now " "empty TurtleScreen to its initial state: white background, no background " "image, no event bindings and tracing on." msgstr "" +"Remove todos os desenhos e todas as tartarugas da TurtleScreen. Redefine a " +"TurtleScreen, agora vazia, para seu estado inicial: fundo branco, sem imagem " +"de fundo, sem vínculos de eventos e rastreamento ativado." -#: ../../library/turtle.rst:1647 +#: ../../library/turtle.rst:1837 msgid "" "This TurtleScreen method is available as a global function only under the " "name ``resetscreen``. The global function ``reset`` is another one derived " "from the Turtle method ``reset``." msgstr "" +"Este método de TurtleScreen está disponível como uma função global somente " +"com o nome ``resetscreen``. A função global ``reset`` é outra derivada do " +"método de Turtle ``reset`` ." -#: ../../library/turtle.rst:1654 +#: ../../library/turtle.rst:1844 msgid "Reset all Turtles on the Screen to their initial state." -msgstr "" +msgstr "Reinicia todas as Turtles em Screen para seu estado inicial." -#: ../../library/turtle.rst:1659 +#: ../../library/turtle.rst:1849 msgid "positive integer, new width of canvas in pixels" -msgstr "" +msgstr "positivo inteiro, a nova largura da tela em pixels" -#: ../../library/turtle.rst:1660 +#: ../../library/turtle.rst:1850 msgid "positive integer, new height of canvas in pixels" -msgstr "" +msgstr "positivo inteiro, a nova altura da tela em pixels" -#: ../../library/turtle.rst:1661 +#: ../../library/turtle.rst:1851 msgid "colorstring or color-tuple, new background color" -msgstr "" +msgstr "Uma string com a cor ou uma tupla, a nova cor de fundo" -#: ../../library/turtle.rst:1663 +#: ../../library/turtle.rst:1853 msgid "" "If no arguments are given, return current (canvaswidth, canvasheight). Else " "resize the canvas the turtles are drawing on. Do not alter the drawing " @@ -1730,60 +2109,78 @@ msgid "" "this method, one can make visible those parts of a drawing which were " "outside the canvas before." msgstr "" +"Se nenhum argumento for fornecido, retorna o atual (canvaswidth, " +"canvasheight). Caso contrário, redimensiona a tela em que as tartarugas " +"estão desenhadas. Não altera a janela de desenho. Para observar as partes " +"ocultas da tela, use as barras de rolagem. Com este método, é possível " +"tornar visíveis as partes de um desenho que antes estavam fora da tela." -#: ../../library/turtle.rst:1675 +#: ../../library/turtle.rst:1865 msgid "e.g. to search for an erroneously escaped turtle ;-)" -msgstr "" +msgstr "Por exemplo, para procurar uma tartaruga que escapou por engano ;-)" -#: ../../library/turtle.rst:1680 +#: ../../library/turtle.rst:1870 msgid "a number, x-coordinate of lower left corner of canvas" msgstr "" +"um número representando a coordenada x do canto inferior esquerdo da tela" -#: ../../library/turtle.rst:1681 +#: ../../library/turtle.rst:1871 msgid "a number, y-coordinate of lower left corner of canvas" msgstr "" +"um número representando a coordenada y do canto inferior esquerdo da tela" -#: ../../library/turtle.rst:1682 +#: ../../library/turtle.rst:1872 msgid "a number, x-coordinate of upper right corner of canvas" msgstr "" +"um número representando a coordenada x do canto superior direito da tela" -#: ../../library/turtle.rst:1683 +#: ../../library/turtle.rst:1873 msgid "a number, y-coordinate of upper right corner of canvas" msgstr "" +"um número representando a coordenada y do canto superior direito da tela" -#: ../../library/turtle.rst:1685 +#: ../../library/turtle.rst:1875 msgid "" "Set up user-defined coordinate system and switch to mode \"world\" if " "necessary. This performs a ``screen.reset()``. If mode \"world\" is " "already active, all drawings are redrawn according to the new coordinates." msgstr "" +"Configura o sistema de coordenadas definido pelo usuário e muda para o modo " +"\"world\", se necessário. Isso executa um ``screen.reset()``. Se o modo " +"\"world\" já estiver ativo, todos os desenhos atuais serão redesenhados de " +"acordo com as novas coordenadas." -#: ../../library/turtle.rst:1689 +#: ../../library/turtle.rst:1879 msgid "" "**ATTENTION**: in user-defined coordinate systems angles may appear " "distorted." msgstr "" +"**ATENÇÃO**: em sistemas de coordenadas definidos pelo usuário, os ângulos " +"podem aparecer distorcidos." -#: ../../library/turtle.rst:1717 +#: ../../library/turtle.rst:1907 msgid "positive integer" -msgstr "" +msgstr "um número inteiro positivo" -#: ../../library/turtle.rst:1719 +#: ../../library/turtle.rst:1909 msgid "" "Set or return the drawing *delay* in milliseconds. (This is approximately " "the time interval between two consecutive canvas updates.) The longer the " "drawing delay, the slower the animation." msgstr "" +"Define ou retorna o *delay* do desenho em milissegundos. (Esse é " +"aproximadamente o intervalo de tempo entre duas atualizações consecutivas da " +"tela). Quanto maior o atraso do desenho, mais lenta será a animação." -#: ../../library/turtle.rst:1723 +#: ../../library/turtle.rst:1913 msgid "Optional argument:" msgstr "Argumentos opcionais:" -#: ../../library/turtle.rst:1737 ../../library/turtle.rst:1738 +#: ../../library/turtle.rst:1927 ../../library/turtle.rst:1928 msgid "nonnegative integer" msgstr "inteiro não-negativo" -#: ../../library/turtle.rst:1740 +#: ../../library/turtle.rst:1930 msgid "" "Turn turtle animation on/off and set delay for update drawings. If *n* is " "given, only each n-th regular screen update is really performed. (Can be " @@ -1791,97 +2188,134 @@ msgid "" "arguments, returns the currently stored value of n. Second argument sets " "delay value (see :func:`delay`)." msgstr "" +"Ative ou desative a animação da tartaruga e defina o atraso para atualização " +"dos desenhos. Se *n* for fornecido, apenas cada n-ésima atualização regular " +"da tela será realmente executada. (Pode ser usado para acelerar o desenho de " +"gráficos complexos.) Quando chamado sem argumentos, retorna o valor " +"atualmente armazenado de n. O segundo argumento define o valor do atraso " +"(consulte :func:`delay`)." -#: ../../library/turtle.rst:1760 +#: ../../library/turtle.rst:1950 msgid "Perform a TurtleScreen update. To be used when tracer is turned off." msgstr "" +"Executa uma atualização do TurtleScreen. Para ser usado quando o rastreador " +"estiver desligado." -#: ../../library/turtle.rst:1762 +#: ../../library/turtle.rst:1952 msgid "See also the RawTurtle/Turtle method :func:`speed`." msgstr "Veja também o método RawTurtle/Turtle :func:`speed`." -#: ../../library/turtle.rst:1770 +#: ../../library/turtle.rst:1960 msgid "" "Set focus on TurtleScreen (in order to collect key-events). Dummy arguments " "are provided in order to be able to pass :func:`listen` to the onclick " "method." msgstr "" +"Define o foco no TurtleScreen (para coletar eventos-chave). Argumentos " +"fictícios são fornecidos para que seja possível passar :func:`listen` para o " +"método onclick." -#: ../../library/turtle.rst:1777 ../../library/turtle.rst:1797 +#: ../../library/turtle.rst:1967 ../../library/turtle.rst:1987 msgid "a function with no arguments or ``None``" -msgstr "" +msgstr "uma função sem argumentos ou ``None``" -#: ../../library/turtle.rst:1778 ../../library/turtle.rst:1798 +#: ../../library/turtle.rst:1968 ../../library/turtle.rst:1988 msgid "a string: key (e.g. \"a\") or key-symbol (e.g. \"space\")" msgstr "" +"uma string: uma tecla (por exemplo, \"a\") ou o nome de uma tecla (por " +"exemplo, \"space\")" -#: ../../library/turtle.rst:1780 +#: ../../library/turtle.rst:1970 msgid "" "Bind *fun* to key-release event of key. If *fun* is ``None``, event " "bindings are removed. Remark: in order to be able to register key-events, " "TurtleScreen must have the focus. (See method :func:`listen`.)" msgstr "" +"Vincula *fun* ao evento de liberação da tecla. Se *fun* for ``None``, as " +"ligações de eventos serão removidas. Observação: para poder registrar " +"eventos-chave, o TurtleScreen deve ter o foco. (Veja o " +"método :func:`listen`.)" -#: ../../library/turtle.rst:1800 +#: ../../library/turtle.rst:1990 msgid "" "Bind *fun* to key-press event of key if key is given, or to any key-press-" "event if no key is given. Remark: in order to be able to register key-" "events, TurtleScreen must have focus. (See method :func:`listen`.)" msgstr "" +"Vincula *fun* ao evento de pressionamento de tecla se a tecla for fornecida, " +"ou a qualquer evento de pressionamento de tecla se nenhuma tecla for " +"fornecida. Observação: para poder registrar eventos-chave, o TurtleScreen " +"deve ter foco. (Veja o método :func:`listen`.)" -#: ../../library/turtle.rst:1824 +#: ../../library/turtle.rst:2014 msgid "" "Bind *fun* to mouse-click events on this screen. If *fun* is ``None``, " "existing bindings are removed." msgstr "" +"Vincula *fun* a eventos de clique do mouse na tela. Se *fun* for ``None``, " +"as associações existentes serão removidas." -#: ../../library/turtle.rst:1827 +#: ../../library/turtle.rst:2017 msgid "" "Example for a TurtleScreen instance named ``screen`` and a Turtle instance " "named ``turtle``:" msgstr "" +"Exemplo de uma instância de TurtleScreen chamada ``screen`` e uma instância " +"de Turtle chamada ``turtle``:" -#: ../../library/turtle.rst:1838 +#: ../../library/turtle.rst:2028 msgid "" "This TurtleScreen method is available as a global function only under the " "name ``onscreenclick``. The global function ``onclick`` is another one " "derived from the Turtle method ``onclick``." msgstr "" +"Este método TurtleScreen está disponível como uma função global somente com " +"o nome ``onscreenclick``. A função global ``onclick`` é outra derivada do " +"método de Turtle ``onclick`` ." -#: ../../library/turtle.rst:1845 +#: ../../library/turtle.rst:2035 msgid "a function with no arguments" msgstr "um função sem nenhum argumento" -#: ../../library/turtle.rst:1846 +#: ../../library/turtle.rst:2036 msgid "a number >= 0" msgstr "um número >= 0" -#: ../../library/turtle.rst:1848 +#: ../../library/turtle.rst:2038 msgid "Install a timer that calls *fun* after *t* milliseconds." -msgstr "" +msgstr "Instala um cronômetro que chama *fun* após *t* milissegundos." -#: ../../library/turtle.rst:1866 +#: ../../library/turtle.rst:2056 msgid "" "Starts event loop - calling Tkinter's mainloop function. Must be the last " "statement in a turtle graphics program. Must *not* be used if a script is " "run from within IDLE in -n mode (No subprocess) - for interactive use of " "turtle graphics. ::" msgstr "" +"Inicia o loop de eventos - chamando a função principal do loop do Tkinter. " +"Deve ser a última instrução em um programa gráfico de tartaruga. *Não* deve " +"ser usado se um script for executado no IDLE no modo -n (sem subprocesso) - " +"para uso interativo de gráficos de tartaruga. ::" -#: ../../library/turtle.rst:1879 ../../library/turtle.rst:1880 -#: ../../library/turtle.rst:1892 ../../library/turtle.rst:1893 +#: ../../library/turtle.rst:2069 ../../library/turtle.rst:2070 +#: ../../library/turtle.rst:2082 ../../library/turtle.rst:2083 msgid "string" msgstr "string" -#: ../../library/turtle.rst:1882 +#: ../../library/turtle.rst:2072 msgid "" "Pop up a dialog window for input of a string. Parameter title is the title " "of the dialog window, prompt is a text mostly describing what information to " "input. Return the string input. If the dialog is canceled, return " "``None``. ::" msgstr "" +"Abre uma janela de diálogo para a entrada de uma string. O parâmetro *title* " +"é o título da janela de diálogo, prompt é um texto que descreve as " +"informações a serem inseridas. Se a caixa de diálogo for preenchida, retorna " +"a string que foi informada. Se a caixa de diálogo for cancelada, retorna " +"``None``. ::" -#: ../../library/turtle.rst:1898 +#: ../../library/turtle.rst:2088 msgid "" "Pop up a dialog window for input of a number. title is the title of the " "dialog window, prompt is a text mostly describing what numerical information " @@ -1891,390 +2325,551 @@ msgid "" "open for correction. Return the number input. If the dialog is canceled, " "return ``None``. ::" msgstr "" +"Abre uma janela de diálogo para a entrada de um número. O parâmetro *title* " +"é o título da janela de diálogo, prompt é um texto que descreve " +"principalmente quais informações numéricas devem ser inseridas. default: " +"valor padrão , minval: mínimo valor para entrada, maxval: máximo valor para " +"entrada. O número inserido deve estar no intervalo minval .. maxval, se este " +"for fornecido. Caso contrário, será emitida uma dica e a caixa de diálogo " +"permanecerá aberta para correção. Se a caixa de diálogo for preenchida, " +"retorna o número informado. Se a caixa de diálogo for cancelada, retorna " +"``None``. ::" -#: ../../library/turtle.rst:1915 +#: ../../library/turtle.rst:2105 msgid "one of the strings \"standard\", \"logo\" or \"world\"" -msgstr "" +msgstr "uma das strings \"standard\", \"logo\" ou \"world\"" -#: ../../library/turtle.rst:1917 +#: ../../library/turtle.rst:2107 msgid "" "Set turtle mode (\"standard\", \"logo\" or \"world\") and perform reset. If " "mode is not given, current mode is returned." msgstr "" +"Define o modo da tartaruga (\"padrão\", \"logotipo\" ou \"mundo\") e " +"redefine a posição. Se o modo não for fornecido, o modo atual será " +"retornado." -#: ../../library/turtle.rst:1920 +#: ../../library/turtle.rst:2110 msgid "" "Mode \"standard\" is compatible with old :mod:`turtle`. Mode \"logo\" is " "compatible with most Logo turtle graphics. Mode \"world\" uses user-defined " "\"world coordinates\". **Attention**: in this mode angles appear distorted " "if ``x/y`` unit-ratio doesn't equal 1." msgstr "" +"O modo \"standard\" é compatível com o antigo :mod:`turtle`. O modo " +"\"logo\" é compatível com a maioria dos gráficos de tartaruga. O modo " +"\"world\" usa \"coordenadas mundiais\" definidas pelo usuário. **Atenção**: " +"nesse modo, os ângulos aparecem distorcidos se a proporção de ``x/y`` não " +"for igual a 1." -#: ../../library/turtle.rst:1926 +#: ../../library/turtle.rst:2116 msgid "Mode" msgstr "Modo" -#: ../../library/turtle.rst:1926 +#: ../../library/turtle.rst:2116 msgid "Initial turtle heading" msgstr "Título inicial da tartaruga" -#: ../../library/turtle.rst:1926 +#: ../../library/turtle.rst:2116 msgid "positive angles" msgstr "ângulos positivos" -#: ../../library/turtle.rst:1928 +#: ../../library/turtle.rst:2118 msgid "\"standard\"" msgstr "\"standard\"" -#: ../../library/turtle.rst:1928 +#: ../../library/turtle.rst:2118 msgid "to the right (east)" msgstr "para a direita (east)" -#: ../../library/turtle.rst:1928 +#: ../../library/turtle.rst:2118 msgid "counterclockwise" msgstr "counterclockwise" -#: ../../library/turtle.rst:1929 +#: ../../library/turtle.rst:2119 msgid "\"logo\"" msgstr "\"logo\"" -#: ../../library/turtle.rst:1929 +#: ../../library/turtle.rst:2119 msgid "upward (north)" msgstr "upward (north)" -#: ../../library/turtle.rst:1929 +#: ../../library/turtle.rst:2119 msgid "clockwise" msgstr "sentido horário" -#: ../../library/turtle.rst:1942 +#: ../../library/turtle.rst:2132 msgid "one of the values 1.0 or 255" -msgstr "um dos valroes 1.0 ou 255" +msgstr "um dos valores 1.0 ou 255" -#: ../../library/turtle.rst:1944 +#: ../../library/turtle.rst:2134 msgid "" "Return the colormode or set it to 1.0 or 255. Subsequently *r*, *g*, *b* " "values of color triples have to be in the range 0..*cmode*." msgstr "" +"Retorna o modo de cor ou defini-lo como 1,0 ou 255. Posteriormente, os " +"valores *r*, *g*, *b* das triplas de cores devem estar no limite 0..*cmode*." -#: ../../library/turtle.rst:1965 +#: ../../library/turtle.rst:2155 msgid "" "Return the Canvas of this TurtleScreen. Useful for insiders who know what " "to do with a Tkinter Canvas." msgstr "" +"Retorna a tela desse TurtleScreen. Útil para pessoas que sabem o que fazer " +"com uma tela do Tkinter." -#: ../../library/turtle.rst:1978 +#: ../../library/turtle.rst:2168 msgid "Return a list of names of all currently available turtle shapes." msgstr "" "Retorna uma lista dos nomes de todas as formas de tartarugas disponíveis no " "momento." -#: ../../library/turtle.rst:1990 +#: ../../library/turtle.rst:2180 msgid "There are three different ways to call this function:" msgstr "Há três maneiras diferentes de chamar essa função:" -#: ../../library/turtle.rst:1992 +#: ../../library/turtle.rst:2182 msgid "" "*name* is the name of a gif-file and *shape* is ``None``: Install the " "corresponding image shape. ::" msgstr "" +"*name* é o nome de um arquivo gif e *shape* é ``None``: Instala a forma de " +"imagem correspondente:" -#: ../../library/turtle.rst:1998 +#: ../../library/turtle.rst:2188 msgid "" "Image shapes *do not* rotate when turning the turtle, so they do not display " "the heading of the turtle!" msgstr "" +"As formas de imagem *não* giram ao girar a tartaruga, portanto, elas não " +"exibem o rumo da tartaruga!" -#: ../../library/turtle.rst:2001 +#: ../../library/turtle.rst:2191 msgid "" "*name* is an arbitrary string and *shape* is a tuple of pairs of " "coordinates: Install the corresponding polygon shape." msgstr "" +"*name* é uma string arbitrária e *shape* é um tupla de pares de coordenadas: " +"Instala a forma de polígono correspondente." -#: ../../library/turtle.rst:2009 +#: ../../library/turtle.rst:2199 msgid "" "*name* is an arbitrary string and *shape* is a (compound) :class:`Shape` " "object: Install the corresponding compound shape." msgstr "" +"*name* é uma string arbitrária e *shape* é um objeto " +"(composto) :class:`Shape`: Instala a forma composta correspondente." -#: ../../library/turtle.rst:2012 +#: ../../library/turtle.rst:2202 msgid "" "Add a turtle shape to TurtleScreen's shapelist. Only thusly registered " "shapes can be used by issuing the command ``shape(shapename)``." msgstr "" +"Adiciona uma forma de tartaruga à lista de formas do TurtleScreen. Somente " +"as formas registradas dessa forma podem ser usadas com o comando " +"``shape(shapename)`` ." -#: ../../library/turtle.rst:2018 +#: ../../library/turtle.rst:2208 msgid "Return the list of turtles on the screen." msgstr "Retorne uma lista de tartarugas na tela." -#: ../../library/turtle.rst:2029 +#: ../../library/turtle.rst:2219 msgid "Return the height of the turtle window. ::" msgstr "Retorna a altura da janela da tartaruga. ::" -#: ../../library/turtle.rst:2037 +#: ../../library/turtle.rst:2227 msgid "Return the width of the turtle window. ::" msgstr "Retorna a largura da janela da tartaruga. ::" -#: ../../library/turtle.rst:2046 +#: ../../library/turtle.rst:2236 msgid "Methods specific to Screen, not inherited from TurtleScreen" msgstr "" +"Métodos específico do Screen, estes métodos não são herdados do TurtleScreen" -#: ../../library/turtle.rst:2050 +#: ../../library/turtle.rst:2240 msgid "Shut the turtlegraphics window." -msgstr "" +msgstr "Fecha a janela do gráficos de tartaruga." -#: ../../library/turtle.rst:2055 +#: ../../library/turtle.rst:2245 msgid "Bind ``bye()`` method to mouse clicks on the Screen." -msgstr "" +msgstr "Vincula o método ``bye()`` aos cliques do mouse na tela." -#: ../../library/turtle.rst:2058 +#: ../../library/turtle.rst:2248 msgid "" "If the value \"using_IDLE\" in the configuration dictionary is ``False`` " "(default value), also enter mainloop. Remark: If IDLE with the ``-n`` " -"switch (no subprocess) is used, this value should be set to ``True`` in :" -"file:`turtle.cfg`. In this case IDLE's own mainloop is active also for the " -"client script." +"switch (no subprocess) is used, this value should be set to ``True`` " +"in :file:`turtle.cfg`. In this case IDLE's own mainloop is active also for " +"the client script." msgstr "" +"Se o valor \"using_IDLE\" na configuração dicionário for ``False`` (valor " +"padrão), entra também no loop principal. Observação: Se IDLE for executado " +"com a chave ``-n`` (sem subprocesso), esse valor deverá ser definido como " +"``True`` em :file:`turtle.cfg`. Nesse caso, o loop principal do próprio IDLE " +"também estará ativo para o script do cliente." -#: ../../library/turtle.rst:2067 +#: ../../library/turtle.rst:2257 msgid "" "Set the size and position of the main window. Default values of arguments " -"are stored in the configuration dictionary and can be changed via a :file:" -"`turtle.cfg` file." +"are stored in the configuration dictionary and can be changed via " +"a :file:`turtle.cfg` file." msgstr "" +"Define o tamanho e a posição da janela principal. Os valores padrões dos " +"argumentos são armazenados na configuração dicionário e podem ser alterados " +"por meio de um arquivo :file:`turtle.cfg`." -#: ../../library/turtle.rst:2071 +#: ../../library/turtle.rst:2261 msgid "" "if an integer, a size in pixels, if a float, a fraction of the screen; " "default is 50% of screen" msgstr "" +"se for um inteiro, o tamanho em pixels; se for um float, uma fração da tela; " +"o padrão é 50% da tela" -#: ../../library/turtle.rst:2073 +#: ../../library/turtle.rst:2263 msgid "" "if an integer, the height in pixels, if a float, a fraction of the screen; " "default is 75% of screen" msgstr "" +"se for um inteiro, a altura em pixels; se for um float, uma fração da tela; " +"o padrão é 75% da tela" -#: ../../library/turtle.rst:2075 +#: ../../library/turtle.rst:2265 msgid "" "if positive, starting position in pixels from the left edge of the screen, " "if negative from the right edge, if ``None``, center window horizontally" msgstr "" +"se positivo, este parâmetro define a posição inicial em pixels a partir da " +"borda esquerda da tela; se negativo, define a partir da borda direita; se " +"``None``, centraliza a janela horizontalmente" -#: ../../library/turtle.rst:2078 +#: ../../library/turtle.rst:2268 msgid "" "if positive, starting position in pixels from the top edge of the screen, if " "negative from the bottom edge, if ``None``, center window vertically" msgstr "" +"se positivo, este parâmetro define a posição inicial, em pixels, a partir da " +"borda superior da tela; se negativo, define a partir da borda inferior; se " +"for ``None``, centraliza a janela verticalmente" -#: ../../library/turtle.rst:2093 +#: ../../library/turtle.rst:2283 msgid "a string that is shown in the titlebar of the turtle graphics window" msgstr "" +"uma string que é exibida na barra de título da janela de gráficos da " +"tartaruga" -#: ../../library/turtle.rst:2096 +#: ../../library/turtle.rst:2286 msgid "Set title of turtle window to *titlestring*." -msgstr "" +msgstr "Define o título da janela da tartaruga como *titlestring*." -#: ../../library/turtle.rst:2105 +#: ../../library/turtle.rst:2295 msgid "Public classes" msgstr "Classes Públicas" -#: ../../library/turtle.rst:2111 +#: ../../library/turtle.rst:2301 msgid "" -"a :class:`tkinter.Canvas`, a :class:`ScrolledCanvas` or a :class:" -"`TurtleScreen`" +"a :class:`!tkinter.Canvas`, a :class:`ScrolledCanvas` or " +"a :class:`TurtleScreen`" msgstr "" +"um :class:`!tkinter.Canvas`, um :class:`ScrolledCanvas` ou " +"um :class:`TurtleScreen`" -#: ../../library/turtle.rst:2114 +#: ../../library/turtle.rst:2304 msgid "" "Create a turtle. The turtle has all methods described above as \"methods of " "Turtle/RawTurtle\"." msgstr "" +"Cria uma tartaruga. A tartaruga tem todos os métodos descritos acima como " +"\"métodos de Turtle/RawTurtle\"." -#: ../../library/turtle.rst:2120 +#: ../../library/turtle.rst:2310 msgid "" -"Subclass of RawTurtle, has the same interface but draws on a default :class:" -"`Screen` object created automatically when needed for the first time." +"Subclass of RawTurtle, has the same interface but draws on a " +"default :class:`Screen` object created automatically when needed for the " +"first time." msgstr "" +"Subclasse do RawTurtle, tem a mesma interface, mas desenha em um objeto " +"padrão :class:`Screen`, que é criado automaticamente, quando necessário, " +"pela primeira vez." -#: ../../library/turtle.rst:2126 -msgid "a :class:`tkinter.Canvas`" -msgstr "uma :class:`tkinter.Canvas`" +#: ../../library/turtle.rst:2316 +msgid "a :class:`!tkinter.Canvas`" +msgstr "uma :class:`!tkinter.Canvas`" -#: ../../library/turtle.rst:2128 +#: ../../library/turtle.rst:2318 msgid "" "Provides screen oriented methods like :func:`bgcolor` etc. that are " "described above." msgstr "" +"Fornece métodos orientado para a tela, como :func:`bgcolor` etc., que são " +"descritos acima." -#: ../../library/turtle.rst:2133 +#: ../../library/turtle.rst:2323 msgid "" "Subclass of TurtleScreen, with :ref:`four methods added `." msgstr "" +"Subclasse do TurtleScreen, com :ref:`quatro métodos adicionados " +"`." -#: ../../library/turtle.rst:2138 +#: ../../library/turtle.rst:2328 msgid "" "some Tkinter widget to contain the ScrolledCanvas, i.e. a Tkinter-canvas " "with scrollbars added" msgstr "" +"algum widget do Tkinter para conter o ScrolledCanvas. Exemplo: um Tkinter-" +"canvas com barras de rolagem adicionadas" -#: ../../library/turtle.rst:2141 +#: ../../library/turtle.rst:2331 msgid "" "Used by class Screen, which thus automatically provides a ScrolledCanvas as " "playground for the turtles." msgstr "" +"Usado pela classe Screen, que, portanto, fornece automaticamente um " +"ScrolledCanvas como playground para as tartarugas." -#: ../../library/turtle.rst:2146 +#: ../../library/turtle.rst:2336 msgid "one of the strings \"polygon\", \"image\", \"compound\"" -msgstr "" +msgstr "uma das strings \"polygon\", \"image\", \"compound\"" -#: ../../library/turtle.rst:2148 +#: ../../library/turtle.rst:2338 msgid "" "Data structure modeling shapes. The pair ``(type_, data)`` must follow this " "specification:" msgstr "" +"Estrutura de dados para modelar a forma. O par ``(type_, data)`` deve " +"seguir essa especificação:" -#: ../../library/turtle.rst:2153 +#: ../../library/turtle.rst:2343 msgid "*type_*" msgstr "*type_*" -#: ../../library/turtle.rst:2153 +#: ../../library/turtle.rst:2343 msgid "*data*" msgstr "*data*" -#: ../../library/turtle.rst:2155 +#: ../../library/turtle.rst:2345 msgid "\"polygon\"" msgstr "\"polygon\"" -#: ../../library/turtle.rst:2155 +#: ../../library/turtle.rst:2345 msgid "a polygon-tuple, i.e. a tuple of pairs of coordinates" -msgstr "" +msgstr "Uma tupla com o par de coordenadas do polígono" -#: ../../library/turtle.rst:2156 +#: ../../library/turtle.rst:2346 msgid "\"image\"" msgstr "\"image\"" -#: ../../library/turtle.rst:2156 +#: ../../library/turtle.rst:2346 msgid "an image (in this form only used internally!)" -msgstr "" +msgstr "uma imagem (nesse formato, usada apenas internamente!)" -#: ../../library/turtle.rst:2157 +#: ../../library/turtle.rst:2347 msgid "\"compound\"" msgstr "\"compound\"" -#: ../../library/turtle.rst:2157 +#: ../../library/turtle.rst:2347 msgid "" -"``None`` (a compound shape has to be constructed using the :meth:" -"`addcomponent` method)" +"``None`` (a compound shape has to be constructed using " +"the :meth:`addcomponent` method)" msgstr "" +"``None`` (uma forma composta deve ser construída usando o " +"método :meth:`addcomponent`)" -#: ../../library/turtle.rst:2163 +#: ../../library/turtle.rst:2353 msgid "a polygon, i.e. a tuple of pairs of numbers" -msgstr "" +msgstr "um polígono, ou seja, um tupla de pares de números" -#: ../../library/turtle.rst:2164 +#: ../../library/turtle.rst:2354 msgid "a color the *poly* will be filled with" -msgstr "" +msgstr "uma cor com a qual o *poly* será preenchido" -#: ../../library/turtle.rst:2165 +#: ../../library/turtle.rst:2355 msgid "a color for the poly's outline (if given)" -msgstr "" +msgstr "uma cor para o contorno do polígono (se fornecido)" -#: ../../library/turtle.rst:2167 +#: ../../library/turtle.rst:2357 msgid "Example:" msgstr "Exemplo:" -#: ../../library/turtle.rst:2177 +#: ../../library/turtle.rst:2367 msgid "See :ref:`compoundshapes`." -msgstr "" +msgstr "Veja :ref:`compoundshapes`." -#: ../../library/turtle.rst:2182 +#: ../../library/turtle.rst:2372 msgid "" "A two-dimensional vector class, used as a helper class for implementing " "turtle graphics. May be useful for turtle graphics programs too. Derived " "from tuple, so a vector is a tuple!" msgstr "" +"Uma classe de vetor bidimensional, usada como classe auxiliar para " +"implementar gráficos de tartaruga. Pode ser útil também para programas de " +"gráficos de tartaruga. Derivado de uma tupla, portanto, um vetor é um tupla!" -#: ../../library/turtle.rst:2186 +#: ../../library/turtle.rst:2376 msgid "Provides (for *a*, *b* vectors, *k* number):" -msgstr "" +msgstr "Fornece (para vetores *a*, *b*, número *k*):" -#: ../../library/turtle.rst:2188 +#: ../../library/turtle.rst:2378 msgid "``a + b`` vector addition" msgstr "``a + b`` vetor adicional" -#: ../../library/turtle.rst:2189 +#: ../../library/turtle.rst:2379 msgid "``a - b`` vector subtraction" msgstr "``a - b`` subtração de vetor" -#: ../../library/turtle.rst:2190 +#: ../../library/turtle.rst:2380 msgid "``a * b`` inner product" msgstr "``a * b`` produto interno" -#: ../../library/turtle.rst:2191 +#: ../../library/turtle.rst:2381 msgid "``k * a`` and ``a * k`` multiplication with scalar" msgstr "``k * a`` e ``a * k`` multiplicação com escalar" -#: ../../library/turtle.rst:2192 +#: ../../library/turtle.rst:2382 msgid "``abs(a)`` absolute value of a" msgstr "``abs(a)`` valor absoluto de um" -#: ../../library/turtle.rst:2193 +#: ../../library/turtle.rst:2383 msgid "``a.rotate(angle)`` rotation" msgstr "rotação ``a.rotate(angle)``" -#: ../../library/turtle.rst:2197 +#: ../../library/turtle.rst:2389 +msgid "Explanation" +msgstr "Explicação" + +#: ../../library/turtle.rst:2391 +msgid "" +"A turtle object draws on a screen object, and there a number of key classes " +"in the turtle object-oriented interface that can be used to create them and " +"relate them to each other." +msgstr "" +"Um objeto tartaruga é baseado em um objeto canvas, e há uma série de classes " +"principais na interface orientada a objetos da tartaruga que podem ser " +"usadas para criá-los e relacioná-los entre si." + +#: ../../library/turtle.rst:2395 +msgid "" +"A :class:`Turtle` instance will automatically create a :class:`Screen` " +"instance if one is not already present." +msgstr "" +"Uma instância da classe :class:`Turtle` cria automaticamente uma nova " +"instância de :class:`Screen`, caso esta não esteja presente." + +#: ../../library/turtle.rst:2398 +msgid "" +"``Turtle`` is a subclass of :class:`RawTurtle`, which *doesn't* " +"automatically create a drawing surface - a *canvas* will need to be provided " +"or created for it. The *canvas* can be a :class:`!" +"tkinter.Canvas`, :class:`ScrolledCanvas` or :class:`TurtleScreen`." +msgstr "" +"``Turtle`` é um subclasse de :class:`RawTurtle`, que *não* cria " +"automaticamente uma superfície de desenho - uma *tela* precisará ser " +"fornecida ou criada para ele. A *tela* pode ser uma :class:`!" +"tkinter.Canvas`, :class:`ScrolledCanvas` ou :class:`TurtleScreen`." + +#: ../../library/turtle.rst:2404 +msgid "" +":class:`TurtleScreen` is the basic drawing surface for a " +"turtle. :class:`Screen` is a subclass of ``TurtleScreen``, and " +"includes :ref:`some additional methods ` for managing its " +"appearance (including size and title) and behaviour. ``TurtleScreen``'s " +"constructor needs a :class:`!tkinter.Canvas` or a :class:`ScrolledCanvas` as " +"an argument." +msgstr "" +":class:`TurtleScreen` é a superfície de desenho básica para uma " +"tartaruga. :class:`Screen` é uma subclasse de ``TurtleScreen`` e " +"inclui :ref:`alguns métodos adicionais ` para gerenciar sua " +"aparência (incluindo tamanho e título) e comportamento. O construtor " +"``TurtleScreen`` precisa de um :class:`!tkinter.Canvas` ou " +"um :class:`ScrolledCanvas` como um argumento." + +#: ../../library/turtle.rst:2411 +msgid "" +"The functional interface for turtle graphics uses the various methods of " +"``Turtle`` and ``TurtleScreen``/``Screen``. Behind the scenes, a screen " +"object is automatically created whenever a function derived from a " +"``Screen`` method is called. Similarly, a turtle object is automatically " +"created whenever any of the functions derived from a Turtle method is called." +msgstr "" +"A interface funcional para gráficos de tartaruga usa os vários métodos de " +"``Turtle`` e ``TurtleScreen``/``Screen``. Nos bastidores, um objeto de tela " +"é criado automaticamente sempre que um função derivada de um método de " +"``Screen`` é chamado. Da mesma forma, um objeto de tartaruga é criado " +"automaticamente sempre que qualquer uma das funções derivadas de um método " +"de tartaruga é chamado." + +#: ../../library/turtle.rst:2417 +msgid "" +"To use multiple turtles on a screen, the object-oriented interface must be " +"used." +msgstr "" +"Para usar várias tartarugas em uma tela, a interface orientada a objetos " +"deve ser usada." + +#: ../../library/turtle.rst:2422 msgid "Help and configuration" msgstr "Ajuda e Configuração" -#: ../../library/turtle.rst:2200 +#: ../../library/turtle.rst:2425 msgid "How to use help" msgstr "Como usar a Ajuda" -#: ../../library/turtle.rst:2202 +#: ../../library/turtle.rst:2427 msgid "" "The public methods of the Screen and Turtle classes are documented " "extensively via docstrings. So these can be used as online-help via the " "Python help facilities:" msgstr "" +"Os métodos públicos das classes Screen e Turtle estão amplamente documentado " +"por meio de docstrings. Eles podem ser usados como ajuda on-line por meio " +"dos recursos de ajuda do Python:" -#: ../../library/turtle.rst:2206 +#: ../../library/turtle.rst:2431 msgid "" "When using IDLE, tooltips show the signatures and first lines of the " "docstrings of typed in function-/method calls." msgstr "" +"Ao usar o IDLE, as dicas de ferramentas mostram as assinaturas e as " +"primeiras linhas das docstrings das chamadas de função/método digitadas." -#: ../../library/turtle.rst:2209 +#: ../../library/turtle.rst:2434 msgid "Calling :func:`help` on methods or functions displays the docstrings::" -msgstr "" +msgstr "Chamar :func:`help` em métodos ou funções exibe o seguinte docstring::" -#: ../../library/turtle.rst:2240 +#: ../../library/turtle.rst:2465 msgid "" "The docstrings of the functions which are derived from methods have a " "modified form::" msgstr "" +"Os docstrings de funções que são derivados do métodos têm um formato " +"diferente::" -#: ../../library/turtle.rst:2274 +#: ../../library/turtle.rst:2499 msgid "" "These modified docstrings are created automatically together with the " "function definitions that are derived from the methods at import time." msgstr "" +"Esses docstrings modificados são criados automaticamente junto com as " +"definições de função que são derivadas de métodos ao importar." -#: ../../library/turtle.rst:2279 +#: ../../library/turtle.rst:2504 msgid "Translation of docstrings into different languages" -msgstr "" +msgstr "Tradução de docstrings em diferentes idiomas" -#: ../../library/turtle.rst:2281 +#: ../../library/turtle.rst:2506 msgid "" "There is a utility to create a dictionary the keys of which are the method " "names and the values of which are the docstrings of the public methods of " "the classes Screen and Turtle." msgstr "" +"Há um utilitário para criar a dicionário cujas chaves são os nomes de método " +"e cujos valores são os docstrings dos métodos públicos das classes Screen e " +"Turtle." -#: ../../library/turtle.rst:2287 +#: ../../library/turtle.rst:2512 msgid "a string, used as filename" -msgstr "" +msgstr "uma string, usado como nome de arquivo" -#: ../../library/turtle.rst:2289 +#: ../../library/turtle.rst:2514 msgid "" "Create and write docstring-dictionary to a Python script with the given " "filename. This function has to be called explicitly (it is not used by the " @@ -2282,38 +2877,53 @@ msgid "" "Python script :file:`{filename}.py`. It is intended to serve as a template " "for translation of the docstrings into different languages." msgstr "" +"Cria e escreve um dicionário de docstring em um script Python com o nome de " +"arquivo fornecido. Esta função deve ser chamada explicitamente (ela não é " +"usada pelas classes gráficas da tartaruga). O dicionário docstring será " +"gravado no script Python :file:`{filename}.py`. O objetivo é servir como " +"modelo para traduzir os documentos para diferentes idiomas." -#: ../../library/turtle.rst:2295 +#: ../../library/turtle.rst:2520 msgid "" "If you (or your students) want to use :mod:`turtle` with online help in your " "native language, you have to translate the docstrings and save the resulting " "file as e.g. :file:`turtle_docstringdict_german.py`." msgstr "" +"Se você (ou seus alunos) quiserem usar o :mod:`turtle` com a ajuda on-line " +"em seu idioma nativo, será necessário traduzir os docstrings e salvar o " +"arquivo resultante como, por exemplo, :file:`turtle_docstringdict_german.py`." -#: ../../library/turtle.rst:2299 +#: ../../library/turtle.rst:2524 msgid "" "If you have an appropriate entry in your :file:`turtle.cfg` file this " "dictionary will be read in at import time and will replace the original " "English docstrings." msgstr "" +"Se você tiver uma entrada específica em seu arquivo :file:`turtle.cfg`, esse " +"dicionário será lido no momento do importar e substituirá as documentações " +"originais em inglês." -#: ../../library/turtle.rst:2302 +#: ../../library/turtle.rst:2527 msgid "" "At the time of this writing there are docstring dictionaries in German and " "in Italian. (Requests please to glingl@aon.at.)" msgstr "" +"No momento da redação deste texto, há docstring dicionários em alemão e " +"italiano. (Pedidos devem ser enviados para glingl@aon.at.)" -#: ../../library/turtle.rst:2308 +#: ../../library/turtle.rst:2533 msgid "How to configure Screen and Turtles" -msgstr "" +msgstr "Como configurar Screen and Turtles" -#: ../../library/turtle.rst:2310 +#: ../../library/turtle.rst:2535 msgid "" "The built-in default configuration mimics the appearance and behaviour of " "the old turtle module in order to retain best possible compatibility with it." msgstr "" +"A configuração padrão integrada imita a aparência e o comportamento do " +"antigo módulo Turtle para manter a melhor compatibilidade possível com ele." -#: ../../library/turtle.rst:2313 +#: ../../library/turtle.rst:2538 msgid "" "If you want to use a different configuration which better reflects the " "features of this module or which better fits to your needs, e.g. for use in " @@ -2321,357 +2931,408 @@ msgid "" "be read at import time and modify the configuration according to its " "settings." msgstr "" +"Se quiser usar uma configuração diferente que reflita melhor o recurso deste " +"módulo ou que se adapte melhor às suas necessidades, por exemplo, para uso " +"em uma sala de aula, você pode criar um arquivo de configuração " +"``turtle.cfg`` que será lido no momento de importar e modifica a " +"configuração de acordo com suas definições." -#: ../../library/turtle.rst:2318 +#: ../../library/turtle.rst:2543 msgid "" "The built in configuration would correspond to the following ``turtle.cfg``:" -msgstr "" +msgstr "A configuração que definida no arquivo ``turtle.cfg``:" -#: ../../library/turtle.rst:2343 +#: ../../library/turtle.rst:2568 msgid "Short explanation of selected entries:" msgstr "Breve explicação das entradas selecionadas:" -#: ../../library/turtle.rst:2345 +#: ../../library/turtle.rst:2570 msgid "" "The first four lines correspond to the arguments of the :func:`Screen.setup " "` method." msgstr "" +"As quatro primeiras linhas correspondem aos argumentos do " +"método :func:`Screen.setup `." -#: ../../library/turtle.rst:2347 +#: ../../library/turtle.rst:2572 msgid "" -"Line 5 and 6 correspond to the arguments of the method :func:`Screen." -"screensize `." +"Line 5 and 6 correspond to the arguments of the " +"method :func:`Screen.screensize `." msgstr "" +"As linhas 5 e 6 correspondem a argumento do método :func:`Screen.screensize " +"`." -#: ../../library/turtle.rst:2349 +#: ../../library/turtle.rst:2574 msgid "" "*shape* can be any of the built-in shapes, e.g: arrow, turtle, etc. For " "more info try ``help(shape)``." msgstr "" +"*shape* pode ser qualquer uma das formas pré-definidas, como por exemplo: " +"seta, tartaruga, etc. Para obter mais informações, consulte ``help(shape)``." -#: ../../library/turtle.rst:2351 +#: ../../library/turtle.rst:2576 msgid "" "If you want to use no fill color (i.e. make the turtle transparent), you " "have to write ``fillcolor = \"\"`` (but all nonempty strings must not have " "quotes in the cfg file)." msgstr "" +"Se você não quiser usar nenhuma cor de preenchimento (ou seja, tornar a " +"tartaruga transparente), você deve usar ``fillcolor = \"\"`` (todas as " +"strings não vazias não devem ter aspas no arquivo cfg)." -#: ../../library/turtle.rst:2354 +#: ../../library/turtle.rst:2579 msgid "" "If you want to reflect the turtle its state, you have to use ``resizemode = " "auto``." msgstr "" +"Se você quiser refletir o estado da tartaruga, você deve usar ``resizemode = " +"auto``." -#: ../../library/turtle.rst:2356 +#: ../../library/turtle.rst:2581 msgid "" -"If you set e.g. ``language = italian`` the docstringdict :file:" -"`turtle_docstringdict_italian.py` will be loaded at import time (if present " -"on the import path, e.g. in the same directory as :mod:`turtle`)." +"If you set e.g. ``language = italian`` the " +"docstringdict :file:`turtle_docstringdict_italian.py` will be loaded at " +"import time (if present on the import path, e.g. in the same directory " +"as :mod:`turtle`)." msgstr "" +"Se você definir, por exemplo, ``language = italian``, o " +"docstringdict :file:`turtle_docstringdict_italian.py` será carregado ao " +"importar (se estiver presente no caminho de importação, por exemplo, no " +"mesmo diretório que :mod:`turtle`)." -#: ../../library/turtle.rst:2359 +#: ../../library/turtle.rst:2584 msgid "" "The entries *exampleturtle* and *examplescreen* define the names of these " "objects as they occur in the docstrings. The transformation of method-" "docstrings to function-docstrings will delete these names from the " "docstrings." msgstr "" +"As entradas *exampleturtle* e *examplescreen* definem os nomes desses " +"objetos conforme ocorrem nas docstrings. A transformação de \"método-" +"docstrings\" para \"função-docstrings\" excluirá esses nomes dos docstrings." -#: ../../library/turtle.rst:2363 +#: ../../library/turtle.rst:2588 msgid "" "*using_IDLE*: Set this to ``True`` if you regularly work with IDLE and its " "``-n`` switch (\"no subprocess\"). This will prevent :func:`exitonclick` to " "enter the mainloop." msgstr "" +"*using_IDLE*: Defina isso como ``True`` se você trabalha regularmente com " +"IDLE e sua chave ``-n`` (\"sem subprocesso\"). Isso impedirá que " +"o :func:`exitonclick` entre no loop principal." -#: ../../library/turtle.rst:2367 +#: ../../library/turtle.rst:2592 msgid "" "There can be a :file:`turtle.cfg` file in the directory where :mod:`turtle` " "is stored and an additional one in the current working directory. The " "latter will override the settings of the first one." msgstr "" +"Pode haver um arquivo :file:`turtle.cfg` no diretório em que o :mod:`turtle` " +"está armazenado e um arquivo adicional no diretório de trabalho atual. O " +"arquivo armazenado no diretório de trabalho atual tem preferência e vai " +"substituir as configurações do primeiro." -#: ../../library/turtle.rst:2371 +#: ../../library/turtle.rst:2596 msgid "" "The :file:`Lib/turtledemo` directory contains a :file:`turtle.cfg` file. " "You can study it as an example and see its effects when running the demos " "(preferably not from within the demo-viewer)." msgstr "" +"O diretório :file:`Lib/turtledemo` contém um arquivo " +"chamado :file:`turtle.cfg`. Você pode usá-lo como um exemplo e ver seus " +"efeitos ao executar as demonstrações (de preferência, não utilize " +"visualizador de demonstrações)." -#: ../../library/turtle.rst:2377 +#: ../../library/turtle.rst:2602 msgid ":mod:`turtledemo` --- Demo scripts" msgstr ":mod:`turtledemo` --- Scripts de Demonstração" -#: ../../library/turtle.rst:2382 +#: ../../library/turtle.rst:2607 msgid "" "The :mod:`turtledemo` package includes a set of demo scripts. These scripts " "can be run and viewed using the supplied demo viewer as follows::" msgstr "" +"O pacote :mod:`turtledemo` inclui um conjunto de scripts de demonstração. " +"Esses scripts podem ser executados e visualizados usando o visualizador de " +"demonstração fornecido da seguinte forma::" -#: ../../library/turtle.rst:2387 +#: ../../library/turtle.rst:2612 msgid "" "Alternatively, you can run the demo scripts individually. For example, ::" msgstr "" +"Como alternativa, você pode executar os scripts de demonstração " +"individualmente. Por exemplo, ::" -#: ../../library/turtle.rst:2391 +#: ../../library/turtle.rst:2616 msgid "The :mod:`turtledemo` package directory contains:" -msgstr "" +msgstr "O diretório do pacote :mod:`turtledemo` contém:" -#: ../../library/turtle.rst:2393 +#: ../../library/turtle.rst:2618 msgid "" "A demo viewer :file:`__main__.py` which can be used to view the sourcecode " "of the scripts and run them at the same time." msgstr "" +"Um arquivo de exemplo :file:`__main__.py` que pode ser usado para visualizar " +"o código-fonte dos scripts e executá-los ao mesmo tempo." -#: ../../library/turtle.rst:2395 +#: ../../library/turtle.rst:2620 msgid "" "Multiple scripts demonstrating different features of the :mod:`turtle` " "module. Examples can be accessed via the Examples menu. They can also be " "run standalone." msgstr "" +"Vários scripts que demonstram diferentes recursos do módulo :mod:`turtle`. " +"Os exemplos podem ser acessados no menu Exemplos. Eles também podem ser " +"executados de forma isolada." -#: ../../library/turtle.rst:2398 +#: ../../library/turtle.rst:2623 msgid "" "A :file:`turtle.cfg` file which serves as an example of how to write and use " "such files." msgstr "" +"Um arquivo :file:`turtle.cfg` que serve como exemplo de como escrever e usar " +"esse tipo de arquivos." -#: ../../library/turtle.rst:2401 +#: ../../library/turtle.rst:2626 msgid "The demo scripts are:" msgstr "Os scripts de demonstração são:" -#: ../../library/turtle.rst:2408 +#: ../../library/turtle.rst:2633 msgid "Name" msgstr "Nome" -#: ../../library/turtle.rst:2408 +#: ../../library/turtle.rst:2633 msgid "Description" msgstr "Descrição" -#: ../../library/turtle.rst:2408 +#: ../../library/turtle.rst:2633 msgid "Features" msgstr "Recursos" -#: ../../library/turtle.rst:2410 +#: ../../library/turtle.rst:2635 msgid "bytedesign" msgstr "bytedesign" -#: ../../library/turtle.rst:2410 +#: ../../library/turtle.rst:2635 msgid "complex classical turtle graphics pattern" msgstr "Padrão de gráficos de tartaruga clássico complexo" -#: ../../library/turtle.rst:2410 +#: ../../library/turtle.rst:2635 msgid ":func:`tracer`, delay, :func:`update`" msgstr ":func:`tracer`, delay, :func:`update`" -#: ../../library/turtle.rst:2413 +#: ../../library/turtle.rst:2638 msgid "chaos" msgstr "chaos" -#: ../../library/turtle.rst:2413 +#: ../../library/turtle.rst:2638 msgid "" "graphs Verhulst dynamics, shows that computer's computations can generate " "results sometimes against the common sense expectations" msgstr "" +"gráficos do modelo de Verhulst, mostram que os cálculos do computador podem " +"gerar resultados às vezes contra as expectativas do bom senso" -#: ../../library/turtle.rst:2413 +#: ../../library/turtle.rst:2638 msgid "world coordinates" msgstr "coordenadas mundiais" -#: ../../library/turtle.rst:2419 +#: ../../library/turtle.rst:2644 msgid "clock" msgstr "relógio" -#: ../../library/turtle.rst:2419 +#: ../../library/turtle.rst:2644 msgid "analog clock showing time of your computer" msgstr "Relógio analógico que mostra o horário do seu computador" -#: ../../library/turtle.rst:2419 +#: ../../library/turtle.rst:2644 msgid "turtles as clock's hands, ontimer" msgstr "tartarugas como as mãos do relógio, ontimer" -#: ../../library/turtle.rst:2422 +#: ../../library/turtle.rst:2647 msgid "colormixer" msgstr "colormixer" -#: ../../library/turtle.rst:2422 +#: ../../library/turtle.rst:2647 msgid "experiment with r, g, b" msgstr "experimento com r, g, b" -#: ../../library/turtle.rst:2424 +#: ../../library/turtle.rst:2649 msgid "forest" msgstr "forest" -#: ../../library/turtle.rst:2424 +#: ../../library/turtle.rst:2649 msgid "3 breadth-first trees" msgstr "3 breadth-first trees" -#: ../../library/turtle.rst:2424 +#: ../../library/turtle.rst:2649 msgid "randomization" -msgstr "randomization" +msgstr "randomização" -#: ../../library/turtle.rst:2426 +#: ../../library/turtle.rst:2651 msgid "fractalcurves" msgstr "fractalcurves" -#: ../../library/turtle.rst:2426 +#: ../../library/turtle.rst:2651 msgid "Hilbert & Koch curves" msgstr "Curvas de Hilbert & Koch" -#: ../../library/turtle.rst:2426 +#: ../../library/turtle.rst:2651 msgid "recursion" msgstr "recursão" -#: ../../library/turtle.rst:2428 +#: ../../library/turtle.rst:2653 msgid "lindenmayer" msgstr "lindenmayer" -#: ../../library/turtle.rst:2428 +#: ../../library/turtle.rst:2653 msgid "ethnomathematics (indian kolams)" msgstr "ethnomathematics (indian kolams)" -#: ../../library/turtle.rst:2428 +#: ../../library/turtle.rst:2653 msgid "L-System" msgstr "L-System" -#: ../../library/turtle.rst:2431 +#: ../../library/turtle.rst:2656 msgid "minimal_hanoi" msgstr "minimal_hanoi" -#: ../../library/turtle.rst:2431 +#: ../../library/turtle.rst:2656 msgid "Towers of Hanoi" msgstr "Torres de Hanoi" -#: ../../library/turtle.rst:2431 +#: ../../library/turtle.rst:2656 msgid "Rectangular Turtles as Hanoi discs (shape, shapesize)" msgstr "Tartarugas retângulos como discos de Hanói (shape, shapesize)" -#: ../../library/turtle.rst:2435 +#: ../../library/turtle.rst:2660 msgid "nim" msgstr "nim" -#: ../../library/turtle.rst:2435 +#: ../../library/turtle.rst:2660 msgid "" "play the classical nim game with three heaps of sticks against the computer." msgstr "" +"jogue o clássico jogo nim com três montes de gravetos contra o computador." -#: ../../library/turtle.rst:2435 +#: ../../library/turtle.rst:2660 msgid "turtles as nimsticks, event driven (mouse, keyboard)" -msgstr "" +msgstr "tartarugas como gravetos, acionadas por eventos (mouse, teclado)" -#: ../../library/turtle.rst:2439 +#: ../../library/turtle.rst:2664 msgid "paint" msgstr "paint" -#: ../../library/turtle.rst:2439 +#: ../../library/turtle.rst:2664 msgid "super minimalistic drawing program" msgstr "programa de desenho super minimalista" -#: ../../library/turtle.rst:2442 +#: ../../library/turtle.rst:2667 msgid "peace" msgstr "peça" -#: ../../library/turtle.rst:2442 +#: ../../library/turtle.rst:2667 msgid "elementary" msgstr "elementar" -#: ../../library/turtle.rst:2442 +#: ../../library/turtle.rst:2667 msgid "turtle: appearance and animation" msgstr "tartaruga: aparência e animação" -#: ../../library/turtle.rst:2445 +#: ../../library/turtle.rst:2670 msgid "penrose" msgstr "penrose" -#: ../../library/turtle.rst:2445 +#: ../../library/turtle.rst:2670 msgid "aperiodic tiling with kites and darts" -msgstr "" +msgstr "ladrilhos irregulares com pipas e dardos" -#: ../../library/turtle.rst:2448 +#: ../../library/turtle.rst:2673 msgid "planet_and_moon" msgstr "planet_and_moon" -#: ../../library/turtle.rst:2448 +#: ../../library/turtle.rst:2673 msgid "simulation of gravitational system" -msgstr "simulação do sistema gravitacional" +msgstr "simulação de um sistema gravitacional" -#: ../../library/turtle.rst:2448 +#: ../../library/turtle.rst:2673 msgid "compound shapes, :class:`Vec2D`" msgstr "formas compostas, :class:`Vec2D`" -#: ../../library/turtle.rst:2451 +#: ../../library/turtle.rst:2676 msgid "rosette" -msgstr "" +msgstr "rosette" -#: ../../library/turtle.rst:2451 +#: ../../library/turtle.rst:2676 msgid "a pattern from the wikipedia article on turtle graphics" msgstr "um padrão do artigo Wikipédia sobre gráficos de tartaruga" -#: ../../library/turtle.rst:2451 +#: ../../library/turtle.rst:2676 msgid ":func:`clone`, :func:`undo`" msgstr ":func:`clone`, :func:`undo`" -#: ../../library/turtle.rst:2454 +#: ../../library/turtle.rst:2679 msgid "round_dance" msgstr "round_dance" -#: ../../library/turtle.rst:2454 +#: ../../library/turtle.rst:2679 msgid "dancing turtles rotating pairwise in opposite direction" -msgstr "" +msgstr "tartarugas dançantes girando em pares na direção oposta" -#: ../../library/turtle.rst:2454 +#: ../../library/turtle.rst:2679 msgid "compound shapes, clone shapesize, tilt, get_shapepoly, update" msgstr "" +"formas compostas, clonar o shapesize, inclinação, get_shapepoly, atualizar" -#: ../../library/turtle.rst:2458 +#: ../../library/turtle.rst:2683 msgid "sorting_animate" msgstr "sorting_animate" -#: ../../library/turtle.rst:2458 +#: ../../library/turtle.rst:2683 msgid "visual demonstration of different sorting methods" -msgstr "" +msgstr "demonstração visual de diferentes tipos de métodos de ordenação" -#: ../../library/turtle.rst:2458 +#: ../../library/turtle.rst:2683 msgid "simple alignment, randomization" -msgstr "" +msgstr "alinhamento simples, randomização" -#: ../../library/turtle.rst:2461 +#: ../../library/turtle.rst:2686 msgid "tree" msgstr "tree" -#: ../../library/turtle.rst:2461 +#: ../../library/turtle.rst:2686 msgid "a (graphical) breadth first tree (using generators)" -msgstr "" +msgstr "uma árvore (gráfica) da largura inicial (usando geradores)" -#: ../../library/turtle.rst:2464 +#: ../../library/turtle.rst:2689 msgid "two_canvases" msgstr "two_canvases" -#: ../../library/turtle.rst:2464 +#: ../../library/turtle.rst:2689 msgid "simple design" msgstr "desenho simples" -#: ../../library/turtle.rst:2464 +#: ../../library/turtle.rst:2689 msgid "turtles on two canvases" msgstr "tartarugas em duas telas" -#: ../../library/turtle.rst:2467 +#: ../../library/turtle.rst:2692 msgid "yinyang" msgstr "yinyang" -#: ../../library/turtle.rst:2467 +#: ../../library/turtle.rst:2692 msgid "another elementary example" msgstr "outro exemplo elementar" -#: ../../library/turtle.rst:2470 +#: ../../library/turtle.rst:2695 msgid "Have fun!" -msgstr "Diverta-se!" +msgstr "Divirta-se!" -#: ../../library/turtle.rst:2474 +#: ../../library/turtle.rst:2699 msgid "Changes since Python 2.6" msgstr "Modificações desde a versão do Python 2.6" -#: ../../library/turtle.rst:2476 +#: ../../library/turtle.rst:2701 msgid "" "The methods :func:`Turtle.tracer `, :func:`Turtle.window_width " "` and :func:`Turtle.window_height ` have been " @@ -2681,58 +3342,93 @@ msgid "" "duplications of the corresponding :class:`TurtleScreen`/:class:`Screen` " "methods.)" msgstr "" +"O métodos :func:`Turtle.tracer `, :func:`Turtle.window_width " +"` e :func:`Turtle.window_height ` foram " +"removidos. O métodos com esses nomes e funcionalidades agora estão " +"disponíveis apenas como métodos da classe :class:`Screen`. As funções " +"derivadas desses métodos continuam disponíveis. (No Python 2.6 esses métodos " +"eram duplicações dos métodos correspondentes das " +"classes :class:`TurtleScreen`/:class:`Screen`)." -#: ../../library/turtle.rst:2484 +#: ../../library/turtle.rst:2709 msgid "" -"The method :func:`!Turtle.fill` has been eliminated. The behaviour of :func:" -"`begin_fill` and :func:`end_fill` have changed slightly: now every filling " -"process must be completed with an ``end_fill()`` call." +"The method :func:`!Turtle.fill` has been eliminated. The behaviour " +"of :func:`begin_fill` and :func:`end_fill` have changed slightly: now every " +"filling process must be completed with an ``end_fill()`` call." msgstr "" +"O método :func:`!Turtle.fill` foi eliminado. O comportamento " +"de :func:`begin_fill` e :func:`end_fill` foi ligeiramente alterado: agora, " +"todo processo de preenchimento deve ser concluído com uma chamada para " +"``end_fill()``." -#: ../../library/turtle.rst:2489 +#: ../../library/turtle.rst:2714 msgid "" "A method :func:`Turtle.filling ` has been added. It returns a " "boolean value: ``True`` if a filling process is under way, ``False`` " "otherwise. This behaviour corresponds to a ``fill()`` call without arguments " "in Python 2.6." msgstr "" +"Um método :func:`Turtle.filling ` foi adicionado. Ela retorna um " +"valor booleano: ``True`` se um processo de preenchimento estiver em " +"andamento, ``False`` caso contrário. Esse comportamento corresponde a uma " +"chamada ``fill()`` sem argumento em Python 2.6." -#: ../../library/turtle.rst:2495 +#: ../../library/turtle.rst:2720 msgid "Changes since Python 3.0" msgstr "Modificações desde a versão do Python 3.0" -#: ../../library/turtle.rst:2497 +#: ../../library/turtle.rst:2722 msgid "" -"The :class:`Turtle` methods :func:`shearfactor`, :func:`shapetransform` and :" -"func:`get_shapepoly` have been added. Thus the full range of regular linear " -"transforms is now available for transforming turtle shapes. :func:" -"`tiltangle` has been enhanced in functionality: it now can be used to get or " -"set the tilt angle. :func:`settiltangle` has been deprecated." +"The :class:`Turtle` methods :func:`shearfactor`, :func:`shapetransform` " +"and :func:`get_shapepoly` have been added. Thus the full range of regular " +"linear transforms is now available for transforming turtle " +"shapes. :func:`tiltangle` has been enhanced in functionality: it now can be " +"used to get or set the tilt angle. :func:`settiltangle` has been deprecated." msgstr "" +"Foram adicionados a class :class:`Turtle` os " +"métodos :func:`shearfactor` , :func:`shapetransform` " +"e :func:`get_shapepoly`. Assim, o limite completo de transformações lineares " +"regulares está agora disponível para transformar as formas de tartarugas. " +"O :func:`tiltangle` foi melhorado em termos de funcionalidade: agora pode " +"ser usado para obter ou definir o ângulo de inclinação. " +"O :func:`settiltangle` foi descontinuado." -#: ../../library/turtle.rst:2504 +#: ../../library/turtle.rst:2729 msgid "" "The :class:`Screen` method :func:`onkeypress` has been added as a complement " "to :func:`onkey`. As the latter binds actions to the key release event, an " "alias: :func:`onkeyrelease` was also added for it." msgstr "" +"Na classe :class:`Screen`, o método :func:`onkeypress` foi adicionado como " +"um complemento ao :func:`onkey`. Como esse último vincula ações ao liberar " +"uma tecla pressionada, um apelido: :func:`onkeyrelease` também foi " +"adicionado a ele." -#: ../../library/turtle.rst:2508 +#: ../../library/turtle.rst:2733 msgid "" "The method :func:`Screen.mainloop ` has been added, so there is no " "longer a need to use the standalone :func:`mainloop` function when working " "with :class:`Screen` and :class:`Turtle` objects." msgstr "" +"O método :func:`Screen.mainloop ` foi adicionado. Não é mais " +"necessário utilizar a função :func:`mainloop` quando estiver trabalhando com " +"os objetos :class:`Screen` e :class:`Turtle`." -#: ../../library/turtle.rst:2512 +#: ../../library/turtle.rst:2737 msgid "" -"Two input methods have been added: :func:`Screen.textinput ` and :" -"func:`Screen.numinput `. These pop up input dialogs and return " -"strings and numbers respectively." +"Two input methods have been added: :func:`Screen.textinput ` " +"and :func:`Screen.numinput `. These pop up input dialogs and " +"return strings and numbers respectively." msgstr "" +"Dois novos métodos para informar dados foram " +"adicionados: :func:`Screen.textinput ` e :func:`Screen.numinput " +"`. Estes métodos abrem caixas de diálogo para digitação e retornam " +"strings e números, respectivamente." -#: ../../library/turtle.rst:2516 +#: ../../library/turtle.rst:2741 msgid "" "Two example scripts :file:`tdemo_nim.py` and :file:`tdemo_round_dance.py` " "have been added to the :file:`Lib/turtledemo` directory." msgstr "" +"Dois scripts de exemplo :file:`tdemo_nim.py` e :file:`tdemo_round_dance.py` " +"foram adicionados ao diretório :file:`Lib/turtledemo`." diff --git a/library/types.po b/library/types.po index 44964f058..bfad7c4e4 100644 --- a/library/types.po +++ b/library/types.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -43,8 +43,8 @@ msgstr "" #: ../../library/types.rst:14 msgid "" "It also defines names for some object types that are used by the standard " -"Python interpreter, but not exposed as builtins like :class:`int` or :class:" -"`str` are." +"Python interpreter, but not exposed as builtins like :class:`int` " +"or :class:`str` are." msgstr "" "Também define nomes para alguns tipos de objetos usados pelo interpretador " "Python padrão, mas não expostos como componentes embutidos como :class:`int` " @@ -155,23 +155,23 @@ msgstr "" #: ../../library/types.rst:76 msgid "" -"This function looks for items in *bases* that are not instances of :class:" -"`type`, and returns a tuple where each such object that has an :meth:" -"`~object.__mro_entries__` method is replaced with an unpacked result of " -"calling this method. If a *bases* item is an instance of :class:`type`, or " -"it doesn't have an :meth:`!__mro_entries__` method, then it is included in " -"the return tuple unchanged." +"This function looks for items in *bases* that are not instances " +"of :class:`type`, and returns a tuple where each such object that has " +"an :meth:`~object.__mro_entries__` method is replaced with an unpacked " +"result of calling this method. If a *bases* item is an instance " +"of :class:`type`, or it doesn't have an :meth:`!__mro_entries__` method, " +"then it is included in the return tuple unchanged." msgstr "" -"Esta função procura por itens em *bases* que não sejam instâncias de :class:" -"`type` e retorna uma tupla onde cada objeto que possui um método :meth:" -"`~object.__mro_entries__` é substituído por um resultado descompactado da " -"chamada desse método. Se um item *bases* é uma instância de :class:`type`, " -"ou não possui o método :meth:`!__mro_entries__`, ele é incluído na tupla de " -"retorno inalterada." +"Esta função procura por itens em *bases* que não sejam instâncias " +"de :class:`type` e retorna uma tupla onde cada objeto que possui um " +"método :meth:`~object.__mro_entries__` é substituído por um resultado " +"desempacotado da chamada desse método. Se um item *bases* é uma instância " +"de :class:`type`, ou não possui o método :meth:`!__mro_entries__`, ele é " +"incluído na tupla de retorno inalterada." #: ../../library/types.rst:87 msgid ":pep:`560` - Core support for typing module and generic types" -msgstr ":pep:`560` - Suporte básico para inserir módulo e tipos genéricos" +msgstr ":pep:`560` - Suporte básico para módulo typing e tipos genéricos" #: ../../library/types.rst:91 msgid "Standard Interpreter Types" @@ -194,8 +194,8 @@ msgid "" "Typical use of these names is for :func:`isinstance` or :func:`issubclass` " "checks." msgstr "" -"O uso típico desses nomes é para verificações :func:`isinstance` ou :func:" -"`issubclass`." +"O uso típico desses nomes é para verificações :func:`isinstance` " +"ou :func:`issubclass`." #: ../../library/types.rst:102 msgid "" @@ -215,11 +215,11 @@ msgstr "O tipo de :data:`None`." #: ../../library/types.rst:116 msgid "" -"The type of user-defined functions and functions created by :keyword:" -"`lambda` expressions." +"The type of user-defined functions and functions created " +"by :keyword:`lambda` expressions." msgstr "" -"O tipo de funções definidas pelo usuário e funções criadas por expressões :" -"keyword:`lambda`." +"O tipo de funções definidas pelo usuário e funções criadas por " +"expressões :keyword:`lambda`." #: ../../library/types.rst:119 msgid "" @@ -250,8 +250,8 @@ msgid "" "The type of :term:`coroutine` objects, created by :keyword:`async def` " "functions." msgstr "" -"O tipo de objetos de :term:`corrotina`, criado por funções de :keyword:" -"`async def`." +"O tipo de objetos de :term:`corrotina`, criado por funções " +"de :keyword:`async def`." #: ../../library/types.rst:141 msgid "" @@ -262,8 +262,12 @@ msgstr "" "funções do gerador assíncrono." #: ../../library/types.rst:151 -msgid "The type for code objects such as returned by :func:`compile`." -msgstr "O tipo de objetos de código retornados por :func:`compile`." +msgid "" +"The type of :ref:`code objects ` such as returned " +"by :func:`compile`." +msgstr "" +"O tipo de :ref:`objetos código ` retornados " +"por :func:`compile`." #: ../../library/types.rst:153 msgid "" @@ -289,24 +293,17 @@ msgstr "" #: ../../library/types.rst:161 msgid "" -"Return a copy of the code object with new values for the specified fields." -msgstr "" -"Retorna uma cópia do objeto de código com novos valores para os campos " -"especificados." - -#: ../../library/types.rst:167 -msgid "" "The type for cell objects: such objects are used as containers for a " "function's free variables." msgstr "" "O tipo para objetos de célula: tais objetos são usados como contêineres para " "as variáveis livres de uma função." -#: ../../library/types.rst:175 +#: ../../library/types.rst:169 msgid "The type of methods of user-defined class instances." msgstr "O tipo de método de instâncias de classe definidas pelo usuário." -#: ../../library/types.rst:181 +#: ../../library/types.rst:175 msgid "" "The type of built-in functions like :func:`len` or :func:`sys.exit`, and " "methods of built-in classes. (Here, the term \"built-in\" means \"written " @@ -316,15 +313,15 @@ msgstr "" "de classes embutidas. (Aqui, o termo \"embutidas\" significa \"escrito em " "C\".)" -#: ../../library/types.rst:188 +#: ../../library/types.rst:182 msgid "" -"The type of methods of some built-in data types and base classes such as :" -"meth:`object.__init__` or :meth:`object.__lt__`." +"The type of methods of some built-in data types and base classes such " +"as :meth:`object.__init__` or :meth:`object.__lt__`." msgstr "" -"O tipo de método de alguns tipos de dados embutidos e classes base, como :" -"meth:`object.__init__` ou :meth:`object.__lt__`." +"O tipo de método de alguns tipos de dados embutidos e classes base, " +"como :meth:`object.__init__` ou :meth:`object.__lt__`." -#: ../../library/types.rst:196 +#: ../../library/types.rst:190 msgid "" "The type of *bound* methods of some built-in data types and base classes. " "For example it is the type of :code:`object().__str__`." @@ -332,17 +329,17 @@ msgstr "" "O tipo de métodos *vinculados* de alguns tipos de dados embutidos e classes " "base. Por exemplo, é o tipo de :code:`object().__str__`." -#: ../../library/types.rst:204 +#: ../../library/types.rst:198 msgid "The type of :data:`NotImplemented`." msgstr "O tipo de :data:`NotImplemented`." -#: ../../library/types.rst:211 +#: ../../library/types.rst:205 msgid "" "The type of methods of some built-in data types such as :meth:`str.join`." msgstr "" "O tipo de método de alguns tipos de dados embutidos, como :meth:`str.join`." -#: ../../library/types.rst:218 +#: ../../library/types.rst:212 msgid "" "The type of *unbound* class methods of some built-in data types such as " "``dict.__dict__['fromkeys']``." @@ -350,7 +347,7 @@ msgstr "" "O tipo de métodos de classe *não vinculados* de alguns tipos de dados " "embutidos, como ``dict.__dict__['fromkeys']``." -#: ../../library/types.rst:226 +#: ../../library/types.rst:220 msgid "" "The type of :term:`modules `. The constructor takes the name of the " "module to be created and optionally its :term:`docstring`." @@ -358,7 +355,7 @@ msgstr "" "O tipo de :term:`módulos `. O construtor aceita o nome do módulo a " "ser criado e, opcionalmente, seu :term:`docstring`." -#: ../../library/types.rst:230 +#: ../../library/types.rst:224 msgid "" "Use :func:`importlib.util.module_from_spec` to create a new module if you " "wish to set the various import-controlled attributes." @@ -366,52 +363,53 @@ msgstr "" "Use :func:`importlib.util.module_from_spec` para criar um novo módulo se " "você deseja definir os vários atributos controlados por importação." -#: ../../library/types.rst:235 +#: ../../library/types.rst:229 msgid "The :term:`docstring` of the module. Defaults to ``None``." msgstr "A :term:`docstring` do módulo. O padrão é ``None``." -#: ../../library/types.rst:239 +#: ../../library/types.rst:233 msgid "The :term:`loader` which loaded the module. Defaults to ``None``." msgstr "O :term:`carregador` que carregou o módulo. O padrão é ``None``." -#: ../../library/types.rst:241 +#: ../../library/types.rst:235 msgid "" "This attribute is to match :attr:`importlib.machinery.ModuleSpec.loader` as " "stored in the :attr:`__spec__` object." msgstr "" -"Este atributo deve corresponder ao :attr:`importlib.machinery.ModuleSpec." -"loader` conforme armazenado no objeto :attr:`__spec__`." +"Este atributo deve corresponder " +"ao :attr:`importlib.machinery.ModuleSpec.loader` conforme armazenado no " +"objeto :attr:`__spec__`." -#: ../../library/types.rst:245 +#: ../../library/types.rst:239 msgid "" "A future version of Python may stop setting this attribute by default. To " -"guard against this potential change, preferably read from the :attr:" -"`__spec__` attribute instead or use ``getattr(module, \"__loader__\", " -"None)`` if you explicitly need to use this attribute." +"guard against this potential change, preferably read from " +"the :attr:`__spec__` attribute instead or use ``getattr(module, " +"\"__loader__\", None)`` if you explicitly need to use this attribute." msgstr "" "Uma versão futura do Python pode parar de definir esse atributo por padrão. " "Para se proteger contra esta mudança potencial, de preferência leia o " "atributo :attr:`__spec__` ou use ``getattr(module, \"__loader__\", None)`` " "se você explicitamente precisar usar este atributo." -#: ../../library/types.rst:251 ../../library/types.rst:276 +#: ../../library/types.rst:245 ../../library/types.rst:270 msgid "Defaults to ``None``. Previously the attribute was optional." msgstr "O padrão é ``None``. Anteriormente, o atributo era opcional." -#: ../../library/types.rst:256 +#: ../../library/types.rst:250 msgid "" -"The name of the module. Expected to match :attr:`importlib.machinery." -"ModuleSpec.name`." +"The name of the module. Expected to " +"match :attr:`importlib.machinery.ModuleSpec.name`." msgstr "" -"O nome do módulo. Espera-se corresponder a :attr:`importlib.machinery." -"ModuleSpec.name`." +"O nome do módulo. Espera-se corresponder " +"a :attr:`importlib.machinery.ModuleSpec.name`." -#: ../../library/types.rst:261 +#: ../../library/types.rst:255 msgid "" "Which :term:`package` a module belongs to. If the module is top-level (i.e. " "not a part of any specific package) then the attribute should be set to " -"``''``, else it should be set to the name of the package (which can be :attr:" -"`__name__` if the module is a package itself). Defaults to ``None``." +"``''``, else it should be set to the name of the package (which can " +"be :attr:`__name__` if the module is a package itself). Defaults to ``None``." msgstr "" "A qual :term:`pacote` um módulo pertence. Se o módulo é de nível superior " "(ou seja, não faz parte de nenhum pacote específico), o atributo deve ser " @@ -419,27 +417,28 @@ msgstr "" "pode ser :attr:`__name__` se o módulo for o próprio pacote). O padrão é " "``None``." -#: ../../library/types.rst:266 +#: ../../library/types.rst:260 msgid "" "This attribute is to match :attr:`importlib.machinery.ModuleSpec.parent` as " "stored in the :attr:`__spec__` object." msgstr "" -"Este atributo deve corresponder ao :attr:`importlib.machinery.ModuleSpec." -"parent` conforme armazenado no objeto :attr:`__spec__`." +"Este atributo deve corresponder " +"ao :attr:`importlib.machinery.ModuleSpec.parent` conforme armazenado no " +"objeto :attr:`__spec__`." -#: ../../library/types.rst:270 +#: ../../library/types.rst:264 msgid "" "A future version of Python may stop setting this attribute by default. To " -"guard against this potential change, preferably read from the :attr:" -"`__spec__` attribute instead or use ``getattr(module, \"__package__\", " -"None)`` if you explicitly need to use this attribute." +"guard against this potential change, preferably read from " +"the :attr:`__spec__` attribute instead or use ``getattr(module, " +"\"__package__\", None)`` if you explicitly need to use this attribute." msgstr "" "Uma versão futura do Python pode parar de definir este atributo por padrão. " "Para se proteger contra esta mudança potencial, de preferência leia o " "atributo :attr:`__spec__` ou use ``getattr(module, \"__package__\", None)`` " "se você explicitamente precisar usar este atributo." -#: ../../library/types.rst:281 +#: ../../library/types.rst:275 msgid "" "A record of the module's import-system-related state. Expected to be an " "instance of :class:`importlib.machinery.ModuleSpec`." @@ -447,11 +446,11 @@ msgstr "" "Um registro do estado relacionado ao sistema de importação do módulo. Espera-" "se que seja uma instância de :class:`importlib.machinery.ModuleSpec`." -#: ../../library/types.rst:289 +#: ../../library/types.rst:283 msgid "The type of :data:`Ellipsis`." msgstr "O tipo de :data:`Ellipsis`." -#: ../../library/types.rst:295 +#: ../../library/types.rst:289 msgid "" "The type of :ref:`parameterized generics ` such as " "``list[int]``." @@ -459,7 +458,7 @@ msgstr "" "O tipo dos :ref:`genéricos parametrizados ` como " "``list[int]``." -#: ../../library/types.rst:298 +#: ../../library/types.rst:292 msgid "" "``t_origin`` should be a non-parameterized generic class, such as ``list``, " "``tuple`` or ``dict``. ``t_args`` should be a :class:`tuple` (possibly of " @@ -469,40 +468,40 @@ msgstr "" "``tuple`` ou ``dict``. ``t_args`` deve ser uma :class:`tuple` " "(possivelmente com comprimento 1) de tipos que parametrizam ``t_origin``::" -#: ../../library/types.rst:311 +#: ../../library/types.rst:305 msgid "This type can now be subclassed." msgstr "Este tipo pode agora ter uma subclasse." -#: ../../library/types.rst:317 +#: ../../library/types.rst:311 msgid ":ref:`Generic Alias Types`" msgstr ":ref:`Tipos Generic Alias `" -#: ../../library/types.rst:317 +#: ../../library/types.rst:311 msgid "In-depth documentation on instances of :class:`!types.GenericAlias`" msgstr "" "Documentação detalhada sobre instâncias de :class:`!types.GenericAlias`" -#: ../../library/types.rst:319 +#: ../../library/types.rst:313 msgid ":pep:`585` - Type Hinting Generics In Standard Collections" msgstr ":pep:`585` - Sugestão de tipo para Genéricos em coleções padrão" -#: ../../library/types.rst:320 +#: ../../library/types.rst:314 msgid "Introducing the :class:`!types.GenericAlias` class" msgstr "Apresentação da classe :class:`!types.GenericAlias`" -#: ../../library/types.rst:324 +#: ../../library/types.rst:318 msgid "The type of :ref:`union type expressions`." msgstr " O tipo de :ref:`expressões de tipo união `." -#: ../../library/types.rst:330 +#: ../../library/types.rst:324 msgid "" -"The type of traceback objects such as found in ``sys.exception()." -"__traceback__``." +"The type of traceback objects such as found in " +"``sys.exception().__traceback__``." msgstr "" -"O tipo de objetos traceback, como encontrados em ``sys.exception()." -"__traceback__``." +"O tipo de objetos traceback, como encontrados em " +"``sys.exception().__traceback__``." -#: ../../library/types.rst:332 +#: ../../library/types.rst:326 msgid "" "See :ref:`the language reference ` for details of the " "available attributes and operations, and guidance on creating tracebacks " @@ -512,35 +511,29 @@ msgstr "" "atributos e operações disponíveis, e orientação sobre como criar tracebacks " "dinamicamente." -#: ../../library/types.rst:339 -msgid "" -"The type of frame objects such as found in ``tb.tb_frame`` if ``tb`` is a " -"traceback object." -msgstr "" -"O tipo de objetos quadro, como encontrado em ``tb.tb_frame`` se ``tb`` é um " -"objeto traceback." - -#: ../../library/types.rst:342 +#: ../../library/types.rst:333 msgid "" -"See :ref:`the language reference ` for details of the " -"available attributes and operations." +"The type of :ref:`frame objects ` such as found " +"in :attr:`tb.tb_frame ` if ``tb`` is a traceback object." msgstr "" -"Veja :ref:`a referência de linguagem ` para detalhes dos " -"atributos e operações disponíveis." +"O tipo de :ref:`objetos de quadro ` como encontrado " +"em :attr:`tb.tb_frame ` se ``tb`` é um objeto traceback." -#: ../../library/types.rst:348 +#: ../../library/types.rst:339 msgid "" "The type of objects defined in extension modules with ``PyGetSetDef``, such " -"as ``FrameType.f_locals`` or ``array.array.typecode``. This type is used as " -"descriptor for object attributes; it has the same purpose as the :class:" -"`property` type, but for classes defined in extension modules." +"as :attr:`FrameType.f_locals ` or ``array.array.typecode``. " +"This type is used as descriptor for object attributes; it has the same " +"purpose as the :class:`property` type, but for classes defined in extension " +"modules." msgstr "" -"O tipo de objetos definidos em módulos de extensão com ``PyGetSetDef``, como " -"``FrameType.f_locals`` ou ``array.array.typecode``. Este tipo é usado como " -"descritor para atributos de objeto; tem o mesmo propósito que o tipo :class:" -"`property`, mas para classes definidas em módulos de extensão." +"O tipo de objetos definidos em módulos de extensão com ``PyGetSetDef``, " +"como :attr:`FrameType.f_locals ` ou " +"``array.array.typecode``. Este tipo é usado como descritor para atributos de " +"objeto; tem o mesmo propósito que o tipo :class:`property`, mas para classes " +"definidas em módulos de extensão." -#: ../../library/types.rst:356 +#: ../../library/types.rst:348 msgid "" "The type of objects defined in extension modules with ``PyMemberDef``, such " "as ``datetime.timedelta.days``. This type is used as descriptor for simple " @@ -554,7 +547,20 @@ msgstr "" "propósito que o tipo :class:`property`, mas para classes definidas em " "módulos de extensão." -#: ../../library/types.rst:363 +#: ../../library/types.rst:353 +msgid "" +"In addition, when a class is defined with a :attr:`~object.__slots__` " +"attribute, then for each slot, an instance of :class:`!MemberDescriptorType` " +"will be added as an attribute on the class. This allows the slot to appear " +"in the class's :attr:`~object.__dict__`." +msgstr "" +"Além disso, quando uma classe é definida com um " +"atributo :attr:`~object.__slots__`, então para cada atributo, uma instância " +"de :class:`!MemberDescriptorType` será adicionada como um atributo na " +"classe. Isso permite que o atributo apareça no :attr:`~object.__dict__` da " +"classe." + +#: ../../library/types.rst:359 msgid "" "In other implementations of Python, this type may be identical to " "``GetSetDescriptorType``." @@ -562,7 +568,7 @@ msgstr "" "Em outras implementações de Python, este tipo pode ser idêntico a " "``GetSetDescriptorType``." -#: ../../library/types.rst:368 +#: ../../library/types.rst:364 msgid "" "Read-only proxy of a mapping. It provides a dynamic view on the mapping's " "entries, which means that when the mapping changes, the view reflects these " @@ -572,7 +578,7 @@ msgstr "" "entradas do mapeamento, o que significa que quando o mapeamento muda, a " "visão reflete essas mudanças." -#: ../../library/types.rst:376 +#: ../../library/types.rst:372 msgid "" "Updated to support the new union (``|``) operator from :pep:`584`, which " "simply delegates to the underlying mapping." @@ -580,22 +586,22 @@ msgstr "" "Atualizado para ter suporte ao novo operador de união (``|``) da :pep:`584`, " "que simplesmente delega para o mapeamento subjacente." -#: ../../library/types.rst:381 +#: ../../library/types.rst:377 msgid "" "Return ``True`` if the underlying mapping has a key *key*, else ``False``." msgstr "" "Retorna ``True`` se o mapeamento subjacente tiver uma chave *key*, senão " "``False``." -#: ../../library/types.rst:386 +#: ../../library/types.rst:382 msgid "" -"Return the item of the underlying mapping with key *key*. Raises a :exc:" -"`KeyError` if *key* is not in the underlying mapping." +"Return the item of the underlying mapping with key *key*. Raises " +"a :exc:`KeyError` if *key* is not in the underlying mapping." msgstr "" -"Retorna e o item do mapeamento subjacente com a chave *key*. Levanta um :exc:" -"`KeyError` se *key* não estiver no mapeamento subjacente." +"Retorna e o item do mapeamento subjacente com a chave *key*. Levanta " +"um :exc:`KeyError` se *key* não estiver no mapeamento subjacente." -#: ../../library/types.rst:391 +#: ../../library/types.rst:387 msgid "" "Return an iterator over the keys of the underlying mapping. This is a " "shortcut for ``iter(proxy.keys())``." @@ -603,15 +609,15 @@ msgstr "" "Retorna um iterador sobre as chaves do mapeamento subjacente. Este é um " "atalho para ``iter(proxy.keys())``." -#: ../../library/types.rst:396 +#: ../../library/types.rst:392 msgid "Return the number of items in the underlying mapping." msgstr "Retorna o número de itens no mapeamento subjacente." -#: ../../library/types.rst:400 +#: ../../library/types.rst:396 msgid "Return a shallow copy of the underlying mapping." msgstr "Retorna uma cópia rasa do mapeamento subjacente." -#: ../../library/types.rst:404 +#: ../../library/types.rst:400 msgid "" "Return the value for *key* if *key* is in the underlying mapping, else " "*default*. If *default* is not given, it defaults to ``None``, so that this " @@ -621,30 +627,30 @@ msgstr "" "contrário, *default*. Se *default* não for fornecido, o padrão é ``None``, " "de forma que este método nunca levante uma :exc:`KeyError`." -#: ../../library/types.rst:410 +#: ../../library/types.rst:406 msgid "" "Return a new view of the underlying mapping's items (``(key, value)`` pairs)." msgstr "" "Retorna uma nova visão dos itens do mapeamento subjacente (pares ``(chave, " "valor)``)." -#: ../../library/types.rst:415 +#: ../../library/types.rst:411 msgid "Return a new view of the underlying mapping's keys." msgstr "Retorna uma nova visão das chaves do mapeamento subjacente." -#: ../../library/types.rst:419 +#: ../../library/types.rst:415 msgid "Return a new view of the underlying mapping's values." msgstr "Retorna uma nova visão dos valores do mapeamento subjacente." -#: ../../library/types.rst:423 +#: ../../library/types.rst:419 msgid "Return a reverse iterator over the keys of the underlying mapping." msgstr "Retorna um iterador reverso sobre as chaves do mapeamento subjacente." -#: ../../library/types.rst:429 +#: ../../library/types.rst:425 msgid "Additional Utility Classes and Functions" msgstr "Classes e funções de utilidades adicionais" -#: ../../library/types.rst:433 +#: ../../library/types.rst:429 msgid "" "A simple :class:`object` subclass that provides attribute access to its " "namespace, as well as a meaningful repr." @@ -652,32 +658,32 @@ msgstr "" "Uma subclasse :class:`object` simples que fornece acesso de atributo ao seu " "espaço de nomes, bem como um repr significativo." -#: ../../library/types.rst:436 +#: ../../library/types.rst:432 msgid "" "Unlike :class:`object`, with ``SimpleNamespace`` you can add and remove " "attributes. If a ``SimpleNamespace`` object is initialized with keyword " "arguments, those are directly added to the underlying namespace." msgstr "" -"Diferentemente de :class:`object`, com ``SimpleNamespace`` você pode " -"adicionar e remover atributos. Se um objeto ``SimpleNamespace`` é " -"inicializado com argumentos nomeados, eles são adicionados diretamente ao " -"espaço de nomes subjacente." +"Ao contrário de :class:`object`, com ``SimpleNamespace`` você pode adicionar " +"e remover atributos. Se um objeto ``SimpleNamespace`` for inicializado com " +"argumentos nomeados, eles serão adicionados diretamente ao espaço de nomes " +"subjacente." -#: ../../library/types.rst:440 +#: ../../library/types.rst:436 msgid "The type is roughly equivalent to the following code::" msgstr "O tipo é aproximadamente equivalente ao seguinte código::" -#: ../../library/types.rst:455 +#: ../../library/types.rst:451 msgid "" "``SimpleNamespace`` may be useful as a replacement for ``class NS: pass``. " "However, for a structured record type use :func:`~collections.namedtuple` " "instead." msgstr "" "``SimpleNamespace`` pode ser útil como um substituto para ``class NS: " -"pass``. No entanto, para um tipo de registro estruturado, use :func:" -"`~collections.namedtuple`." +"pass``. No entanto, para um tipo de registro estruturado, " +"use :func:`~collections.namedtuple`." -#: ../../library/types.rst:461 +#: ../../library/types.rst:457 msgid "" "Attribute order in the repr changed from alphabetical to insertion (like " "``dict``)." @@ -685,11 +691,11 @@ msgstr "" "A ordem dos atributos no repr mudou de alfabética para inserção (como no " "``dict``)." -#: ../../library/types.rst:467 +#: ../../library/types.rst:463 msgid "Route attribute access on a class to __getattr__." msgstr "Roteia o acesso ao atributo em uma classe para __getattr__." -#: ../../library/types.rst:469 +#: ../../library/types.rst:465 msgid "" "This is a descriptor, used to define attributes that act differently when " "accessed through an instance and through a class. Instance access remains " @@ -702,7 +708,7 @@ msgstr "" "por meio de uma classe será roteado para o método __getattr__ da classe; " "isso é feito levantando AttributeError." -#: ../../library/types.rst:474 +#: ../../library/types.rst:470 msgid "" "This allows one to have properties active on an instance, and have virtual " "attributes on the class with the same name (see :class:`enum.Enum` for an " @@ -712,31 +718,31 @@ msgstr "" "virtuais na classe com o mesmo nome (veja :class:`enum.Enum` para um " "exemplo)." -#: ../../library/types.rst:481 +#: ../../library/types.rst:477 msgid "Coroutine Utility Functions" msgstr "Funções de utilidade de corrotina" -#: ../../library/types.rst:485 +#: ../../library/types.rst:481 msgid "" -"This function transforms a :term:`generator` function into a :term:" -"`coroutine function` which returns a generator-based coroutine. The " +"This function transforms a :term:`generator` function into " +"a :term:`coroutine function` which returns a generator-based coroutine. The " "generator-based coroutine is still a :term:`generator iterator`, but is also " "considered to be a :term:`coroutine` object and is :term:`awaitable`. " "However, it may not necessarily implement the :meth:`~object.__await__` " "method." msgstr "" -"Esta função transforma uma função :term:`geradora ` em uma :term:" -"`função de corrotina` que retorna uma corrotina baseada em gerador. A " -"corrotina baseada em gerador ainda é um :term:`iterador gerador`, mas também " -"é considerada um objeto :term:`corrotina` e é :term:`aguardável`. No " -"entanto, pode não necessariamente implementar o método :meth:`~object." -"__await__`." +"Esta função transforma uma função :term:`geradora ` em " +"uma :term:`função de corrotina` que retorna uma corrotina baseada em " +"gerador. A corrotina baseada em gerador ainda é um :term:`iterador gerador`, " +"mas também é considerada um objeto :term:`corrotina` e é :term:`aguardável`. " +"No entanto, pode não necessariamente implementar o " +"método :meth:`~object.__await__`." -#: ../../library/types.rst:492 +#: ../../library/types.rst:488 msgid "If *gen_func* is a generator function, it will be modified in-place." msgstr "Se *gen_func* for uma função geradora, ela será modificada no local." -#: ../../library/types.rst:494 +#: ../../library/types.rst:490 msgid "" "If *gen_func* is not a generator function, it will be wrapped. If it returns " "an instance of :class:`collections.abc.Generator`, the instance will be " @@ -744,7 +750,7 @@ msgid "" "returned as is." msgstr "" "Se *gen_func* não for uma função geradora, ela será envolta. Se ele retornar " -"uma instância de :class:`Collections.abc.Generator`, a instância será " +"uma instância de :class:`collections.abc.Generator`, a instância será " "envolvida em um objeto proxy *aguardável*. Todos os outros tipos de objetos " "serão retornados como estão." @@ -754,4 +760,4 @@ msgstr "função embutida" #: ../../library/types.rst:149 msgid "compile" -msgstr "" +msgstr "compile" diff --git a/library/typing.po b/library/typing.po index 5f0b80ac0..2d42a347a 100644 --- a/library/typing.po +++ b/library/typing.po @@ -1,33 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Augusta Carla Klug , 2021 -# i17obot , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Vitor Buxbaum Orlandi, 2021 -# Italo Penaforte , 2022 -# Hildeberto Abreu Magalhães , 2022 -# Rodrigo Cândido, 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,234 +27,275 @@ msgstr "" msgid ":mod:`typing` --- Support for type hints" msgstr ":mod:`typing` --- Suporte para dicas de tipo" -#: ../../library/typing.rst:10 +#: ../../library/typing.rst:16 msgid "**Source code:** :source:`Lib/typing.py`" msgstr "**Código-fonte:** :source:`Lib/typing.py`" -#: ../../library/typing.rst:14 +#: ../../library/typing.rst:20 msgid "" "The Python runtime does not enforce function and variable type annotations. " -"They can be used by third party tools such as type checkers, IDEs, linters, " -"etc." +"They can be used by third party tools such as :term:`type checkers `, IDEs, linters, etc." msgstr "" -"O tempo de execução do Python não força anotações de tipos de variáveis e " -"funções. Elas podem ser usadas por ferramentas de terceiros como " -"verificadores de tipo, IDEs, linters, etc." +"O ambiente de execução do Python não força anotações de tipos de variáveis e " +"funções. Elas podem ser usadas por ferramentas de terceiros " +"como :term:`verificadores de tipo `, IDEs, linters, etc." -#: ../../library/typing.rst:20 +#: ../../library/typing.rst:26 msgid "" -"This module provides runtime support for type hints. The most fundamental " -"support consists of the types :data:`Any`, :data:`Union`, :data:`Callable`, :" -"class:`TypeVar`, and :class:`Generic`. For a full specification, please see :" -"pep:`484`. For a simplified introduction to type hints, see :pep:`483`." +"This module provides runtime support for type hints. For the original " +"specification of the typing system, see :pep:`484`. For a simplified " +"introduction to type hints, see :pep:`483`." msgstr "" +"Este módulo oferece suporte para dicas de tipo ao ambiente de execução. Para " +"a especificação original de tipagem do sistema, veja :pep:`484`. Para uma " +"introdução simplificada as dicas de tipo, veja :pep:`483`." -#: ../../library/typing.rst:26 +#: ../../library/typing.rst:31 msgid "" "The function below takes and returns a string and is annotated as follows::" msgstr "" "A função abaixo recebe e retorna uma string e é anotada como a seguir::" -#: ../../library/typing.rst:31 +#: ../../library/typing.rst:36 msgid "" "In the function ``greeting``, the argument ``name`` is expected to be of " "type :class:`str` and the return type :class:`str`. Subtypes are accepted as " "arguments." msgstr "" -"Na função ``greeting``, é esperado que o argumento ``name`` seja do tipo :" -"class:`str` e o retorno do tipo :class:`str`. Subtipos são aceitos como " -"argumentos." +"Na função ``greeting``, é esperado que o argumento ``name`` seja do " +"tipo :class:`str` e o retorno do tipo :class:`str`. Subtipos são aceitos " +"como argumentos." -#: ../../library/typing.rst:35 +#: ../../library/typing.rst:40 msgid "" "New features are frequently added to the ``typing`` module. The " "`typing_extensions `_ package " "provides backports of these new features to older versions of Python." msgstr "" +"Novos recursos são frequentemente adicionados ao módulo ``typing``. O pacote " +"`typing_extensions `_ provê " +"suporte retroativo a estes novos recursos em versões anteriores do Python." -#: ../../library/typing.rst:39 +#: ../../library/typing.rst:44 msgid "" "For a summary of deprecated features and a deprecation timeline, please see " "`Deprecation Timeline of Major Features`_." msgstr "" +"Para ter um resumo dos recursos descontinuados e um cronograma de " +"descontinuação, por favor, veja `Cronograma de Descontinuação dos " +"Principais Recursos`_." -#: ../../library/typing.rst:44 +#: ../../library/typing.rst:50 +msgid "" +"`\"Typing cheat sheet\" `_" +msgstr "" +"`\"Guia rápido sobre Dicas de Tipo\" `_" + +#: ../../library/typing.rst:50 +msgid "A quick overview of type hints (hosted at the mypy docs)" +msgstr "" +"Uma visão geral das dicas de tipo (hospedado por mypy docs, em inglês)." + +#: ../../library/typing.rst:55 msgid "" -"For a quick overview of type hints, refer to `this cheat sheet `_." +"\"Type System Reference\" section of `the mypy docs `_" msgstr "" +"\"Referência sobre Sistema de Tipo\" seção de `the mypy docs `_" -#: ../../library/typing.rst:47 +#: ../../library/typing.rst:53 msgid "" -"The \"Type System Reference\" section of https://mypy.readthedocs.io/ -- " -"since the Python typing system is standardised via PEPs, this reference " -"should broadly apply to most Python type checkers, although some parts may " -"still be specific to mypy." +"The Python typing system is standardised via PEPs, so this reference should " +"broadly apply to most Python type checkers. (Some parts may still be " +"specific to mypy.)" msgstr "" +"O sistema de tipagem do Python é padronizado pelas PEPs, portanto esta " +"referência deve se aplicar a maioria do verificadores de tipo do Python. " +"(Alguns trechos podem se referir especificamente ao mypy. Documento em " +"inglês)." -#: ../../library/typing.rst:52 +#: ../../library/typing.rst:59 msgid "" -"The documentation at https://typing.readthedocs.io/ serves as useful " -"reference for type system features, useful typing related tools and typing " -"best practices." +"`\"Static Typing with Python\" `_" msgstr "" +"`\"Tipagem Estática com Python\" `_" #: ../../library/typing.rst:58 -msgid "Relevant PEPs" +msgid "" +"Type-checker-agnostic documentation written by the community detailing type " +"system features, useful typing related tools and typing best practices." msgstr "" +"Documentação independente de verificador de tipo escrita pela comunidade, " +"detalhando os recursos do sistema de tipo, ferramentas úteis de tipagem e " +"melhores práticas." + +#: ../../library/typing.rst:65 +msgid "Relevant PEPs" +msgstr "PEPs Relevantes" -#: ../../library/typing.rst:60 +#: ../../library/typing.rst:67 msgid "" "Since the initial introduction of type hints in :pep:`484` and :pep:`483`, a " "number of PEPs have modified and enhanced Python's framework for type " -"annotations. These include:" +"annotations:" msgstr "" +"Desde a introdução das dicas de tipo nas :pep:`484` e :pep:`483`, várias " +"PEPs tem modificado e aprimorado o framework do Python para anotações de " +"tipo:" -#: ../../library/typing.rst:65 +#: ../../library/typing.rst:77 msgid ":pep:`526`: Syntax for Variable Annotations" -msgstr "" +msgstr ":pep:`526`: Sintaxe para Anotações de Variável" -#: ../../library/typing.rst:65 +#: ../../library/typing.rst:77 msgid "" "*Introducing* syntax for annotating variables outside of function " "definitions, and :data:`ClassVar`" msgstr "" +"\"Introduzindo\" sintaxe para anotar variáveis fora de definições de funções " +"e :data:`ClassVar`." -#: ../../library/typing.rst:68 +#: ../../library/typing.rst:80 msgid ":pep:`544`: Protocols: Structural subtyping (static duck typing)" msgstr "" -#: ../../library/typing.rst:68 +#: ../../library/typing.rst:80 msgid "" -"*Introducing* :class:`Protocol` and the :func:" -"`@runtime_checkable` decorator" +"*Introducing* :class:`Protocol` and " +"the :func:`@runtime_checkable` decorator" msgstr "" +"*Introduzindo* :class:`Protocol` e o " +"decorador :func:`@runtime_checkable`." -#: ../../library/typing.rst:71 +#: ../../library/typing.rst:83 msgid ":pep:`585`: Type Hinting Generics In Standard Collections" msgstr "" -#: ../../library/typing.rst:71 +#: ../../library/typing.rst:83 msgid "" "*Introducing* :class:`types.GenericAlias` and the ability to use standard " "library classes as :ref:`generic types`" msgstr "" -#: ../../library/typing.rst:73 +#: ../../library/typing.rst:85 msgid ":pep:`586`: Literal Types" -msgstr "" +msgstr ":pep:`586`: Tipos literais" -#: ../../library/typing.rst:74 +#: ../../library/typing.rst:86 msgid "*Introducing* :data:`Literal`" -msgstr "" +msgstr "*Introduzindo* :data:`Literal`" -#: ../../library/typing.rst:75 +#: ../../library/typing.rst:87 msgid "" ":pep:`589`: TypedDict: Type Hints for Dictionaries with a Fixed Set of Keys" msgstr "" -#: ../../library/typing.rst:76 +#: ../../library/typing.rst:88 msgid "*Introducing* :class:`TypedDict`" msgstr "" -#: ../../library/typing.rst:77 +#: ../../library/typing.rst:89 msgid ":pep:`591`: Adding a final qualifier to typing" -msgstr "" +msgstr ":pep:`591`: Adicionando um qualificador final para escrita" -#: ../../library/typing.rst:78 +#: ../../library/typing.rst:90 msgid "*Introducing* :data:`Final` and the :func:`@final` decorator" msgstr "" -#: ../../library/typing.rst:79 +#: ../../library/typing.rst:91 msgid ":pep:`593`: Flexible function and variable annotations" msgstr "" -#: ../../library/typing.rst:80 +#: ../../library/typing.rst:92 msgid "*Introducing* :data:`Annotated`" msgstr "" -#: ../../library/typing.rst:83 +#: ../../library/typing.rst:95 msgid ":pep:`604`: Allow writing union types as ``X | Y``" msgstr "" -#: ../../library/typing.rst:82 +#: ../../library/typing.rst:94 msgid "" "*Introducing* :data:`types.UnionType` and the ability to use the binary-or " "operator ``|`` to signify a :ref:`union of types`" msgstr "" -#: ../../library/typing.rst:85 +#: ../../library/typing.rst:97 msgid ":pep:`612`: Parameter Specification Variables" msgstr "" -#: ../../library/typing.rst:86 +#: ../../library/typing.rst:98 msgid "*Introducing* :class:`ParamSpec` and :data:`Concatenate`" msgstr "" -#: ../../library/typing.rst:87 +#: ../../library/typing.rst:99 msgid ":pep:`613`: Explicit Type Aliases" msgstr "" -#: ../../library/typing.rst:88 +#: ../../library/typing.rst:100 msgid "*Introducing* :data:`TypeAlias`" msgstr "" -#: ../../library/typing.rst:89 +#: ../../library/typing.rst:101 msgid ":pep:`646`: Variadic Generics" msgstr "" -#: ../../library/typing.rst:90 +#: ../../library/typing.rst:102 msgid "*Introducing* :data:`TypeVarTuple`" msgstr "" -#: ../../library/typing.rst:91 +#: ../../library/typing.rst:103 msgid ":pep:`647`: User-Defined Type Guards" msgstr "" -#: ../../library/typing.rst:92 +#: ../../library/typing.rst:104 msgid "*Introducing* :data:`TypeGuard`" msgstr "" -#: ../../library/typing.rst:93 +#: ../../library/typing.rst:105 msgid "" ":pep:`655`: Marking individual TypedDict items as required or potentially " "missing" msgstr "" -#: ../../library/typing.rst:94 +#: ../../library/typing.rst:106 msgid "*Introducing* :data:`Required` and :data:`NotRequired`" msgstr "" -#: ../../library/typing.rst:95 +#: ../../library/typing.rst:107 msgid ":pep:`673`: Self type" msgstr "" -#: ../../library/typing.rst:96 +#: ../../library/typing.rst:108 msgid "*Introducing* :data:`Self`" msgstr "" -#: ../../library/typing.rst:97 +#: ../../library/typing.rst:109 msgid ":pep:`675`: Arbitrary Literal String Type" msgstr "" -#: ../../library/typing.rst:98 +#: ../../library/typing.rst:110 msgid "*Introducing* :data:`LiteralString`" msgstr "" -#: ../../library/typing.rst:100 +#: ../../library/typing.rst:112 msgid ":pep:`681`: Data Class Transforms" msgstr "" -#: ../../library/typing.rst:100 +#: ../../library/typing.rst:112 msgid "" "*Introducing* the :func:`@dataclass_transform` decorator" msgstr "" -#: ../../library/typing.rst:105 +#: ../../library/typing.rst:122 msgid "Type aliases" msgstr "Apelidos de tipo" -#: ../../library/typing.rst:107 +#: ../../library/typing.rst:124 msgid "" "A type alias is defined by assigning the type to the alias. In this example, " "``Vector`` and ``list[float]`` will be treated as interchangeable synonyms::" @@ -270,7 +303,7 @@ msgstr "" "Um apelido de tipo é definido ao atribuir o tipo ao apelido. Nesse exemplo, " "``Vector`` e ``list[float]`` serão tratados como sinônimos intercambiáveis::" -#: ../../library/typing.rst:118 +#: ../../library/typing.rst:135 msgid "" "Type aliases are useful for simplifying complex type signatures. For " "example::" @@ -278,23 +311,21 @@ msgstr "" "Apelidos de tipo são úteis para simplificar assinaturas de tipo complexas. " "Por exemplo::" -#: ../../library/typing.rst:136 +#: ../../library/typing.rst:153 msgid "" -"Note that ``None`` as a type hint is a special case and is replaced by " -"``type(None)``." +"Type aliases may be marked with :data:`TypeAlias` to make it explicit that " +"the statement is a type alias declaration, not a normal variable assignment::" msgstr "" -"Note que ``None`` como uma dica de tipo é um caso especial e é substituído " -"por ``type(None)``." -#: ../../library/typing.rst:142 +#: ../../library/typing.rst:163 msgid "NewType" msgstr "NewType" -#: ../../library/typing.rst:144 +#: ../../library/typing.rst:165 msgid "Use the :class:`NewType` helper to create distinct types::" -msgstr "" +msgstr "Utilize o auxiliar :class:`NewType` para criar tipos únicos::" -#: ../../library/typing.rst:151 +#: ../../library/typing.rst:172 msgid "" "The static type checker will treat the new type as if it were a subclass of " "the original type. This is useful in helping catch logical errors::" @@ -303,7 +334,7 @@ msgstr "" "subclasse do tipo original. Isso é útil para ajudar a encontrar erros de " "lógica::" -#: ../../library/typing.rst:163 +#: ../../library/typing.rst:184 msgid "" "You may still perform all ``int`` operations on a variable of type " "``UserId``, but the result will always be of type ``int``. This lets you " @@ -316,7 +347,7 @@ msgstr "" "mas previne que você acidentalmente crie um ``UserId`` de uma forma " "inválida::" -#: ../../library/typing.rst:171 +#: ../../library/typing.rst:192 msgid "" "Note that these checks are enforced only by the static type checker. At " "runtime, the statement ``Derived = NewType('Derived', Base)`` will make " @@ -324,8 +355,14 @@ msgid "" "it. That means the expression ``Derived(some_value)`` does not create a new " "class or introduce much overhead beyond that of a regular function call." msgstr "" +"Note que essas verificações são aplicadas apenas pelo verificador de tipo " +"estático. Em tempo de execução, a instrução ``Derived = NewType('Derived', " +"Base)`` irá tornar ``Derived`` um chamável que retornará imediatamente " +"qualquer parâmetro que você passar. Isso significa que a expressão " +"``Derived(some_value)`` não cria uma nova classe ou introduz sobrecarga além " +"de uma chamada regular de função.instrução" -#: ../../library/typing.rst:177 +#: ../../library/typing.rst:198 msgid "" "More precisely, the expression ``some_value is Derived(some_value)`` is " "always true at runtime." @@ -333,11 +370,11 @@ msgstr "" "Mais precisamente, a expressão ``some_value is Derived(some_value)`` é " "sempre verdadeira em tempo de execução." -#: ../../library/typing.rst:180 +#: ../../library/typing.rst:201 msgid "It is invalid to create a subtype of ``Derived``::" msgstr "É inválido criar um subtipo de ``Derived``::" -#: ../../library/typing.rst:189 +#: ../../library/typing.rst:210 msgid "" "However, it is possible to create a :class:`NewType` based on a 'derived' " "``NewType``::" @@ -345,15 +382,15 @@ msgstr "" "No entanto, é possível criar um :class:`NewType` baseado em um 'derivado' " "``NewType``::" -#: ../../library/typing.rst:197 +#: ../../library/typing.rst:218 msgid "and typechecking for ``ProUserId`` will work as expected." -msgstr "e a verificação de tipo para ``ProUserId`` funcionará como esperado." +msgstr "e a verificação de tipos para ``ProUserId`` funcionará como esperado." -#: ../../library/typing.rst:199 +#: ../../library/typing.rst:220 msgid "See :pep:`484` for more details." msgstr "Veja :pep:`484` para mais detalhes." -#: ../../library/typing.rst:203 +#: ../../library/typing.rst:224 msgid "" "Recall that the use of a type alias declares two types to be *equivalent* to " "one another. Doing ``Alias = Original`` will make the static type checker " @@ -366,7 +403,7 @@ msgstr "" "equivalente* a ``Original`` em todos os casos. Isso é útil quando você " "deseja simplificar assinaturas de tipo complexas." -#: ../../library/typing.rst:208 +#: ../../library/typing.rst:229 msgid "" "In contrast, ``NewType`` declares one type to be a *subtype* of another. " "Doing ``Derived = NewType('Derived', Original)`` will make the static type " @@ -382,45 +419,81 @@ msgstr "" "um valor do tipo ``Derived`` é esperado. Isso é útil quando você deseja " "evitar erros de lógica com custo mínimo de tempo de execução." -#: ../../library/typing.rst:217 +#: ../../library/typing.rst:238 msgid "" -"``NewType`` is now a class rather than a function. There is some additional " -"runtime cost when calling ``NewType`` over a regular function. However, " -"this cost will be reduced in 3.11.0." +"``NewType`` is now a class rather than a function. As a result, there is " +"some additional runtime cost when calling ``NewType`` over a regular " +"function." msgstr "" -"``NewType`` é agora uma classe ao invés de uma função. Há algum custo " -"adicional de tempo de execução ao chamar ``NewType`` ao invés de uma função " -"regular. Entretanto, esse custo será reduzido na 3.11.0." +"``NewType`` agora é uma classe em vez de uma função. Consequentemente, " +"existem alguns custos em tempo de execução ao chamar ``NewType`` em vez de " +"uma função comum." -#: ../../library/typing.rst:224 -msgid "Callable" -msgstr "Callable" +#: ../../library/typing.rst:243 +msgid "" +"The performance of calling ``NewType`` has been restored to its level in " +"Python 3.9." +msgstr "" +"O desempenho de chamar ``NewType`` voltou ao mesmo nível da versão Python " +"3.9." + +#: ../../library/typing.rst:250 +msgid "Annotating callable objects" +msgstr "Anotações de objetos chamáveis" -#: ../../library/typing.rst:226 +#: ../../library/typing.rst:252 msgid "" -"Frameworks expecting callback functions of specific signatures might be type " -"hinted using ``Callable[[Arg1Type, Arg2Type], ReturnType]``." +"Functions -- or other :term:`callable` objects -- can be annotated " +"using :class:`collections.abc.Callable` or :data:`typing.Callable`. " +"``Callable[[int], str]`` signifies a function that takes a single parameter " +"of type :class:`int` and returns a :class:`str`." msgstr "" -"Frameworks que esperam funções de retorno com assinaturas específicas podem " -"ter seus tipos indicados usando ``Callable[[Arg1Type, Arg2Type], " -"ReturnType]``." +"Funções -- ou outros objetos :term:`chamáveis ` -- podem ser " +"anotados utilizando-se :class:`collections.abc.Callable` " +"ou :data:`typing.Callable`. ``Callable[[int], str]``. Significa uma função " +"que recebe um único parâmetro do tipo :class:`int`. e retorna " +"um :class:`str`." -#: ../../library/typing.rst:229 ../../library/typing.rst:1171 -#: ../../library/typing.rst:2832 -msgid "For example::" -msgstr "Por exemplo::" +#: ../../library/typing.rst:257 ../../library/typing.rst:2726 +msgid "For example:" +msgstr "Por exemplo:" + +#: ../../library/typing.rst:275 +msgid "" +"The subscription syntax must always be used with exactly two values: the " +"argument list and the return type. The argument list must be a list of " +"types, a :class:`ParamSpec`, :data:`Concatenate`, or an ellipsis. The return " +"type must be a single type." +msgstr "" +"A sintaxe da subscrição deve sempre ser usada com exatamente dois valores: " +"uma lista de argumentos e o tipo de retorno. A lista de argumentos deve ser " +"uma lista de tipos, um :class:`ParamSpec`, :data:`Concatenate`, ou " +"reticências. O tipo de retorno deve ser um único tipo." + +#: ../../library/typing.rst:280 +msgid "" +"If a literal ellipsis ``...`` is given as the argument list, it indicates " +"that a callable with any arbitrary parameter list would be acceptable:" +msgstr "" +"Se uma reticências literal ``...`` é passada no lugar de uma lista de " +"argumentos, ela indica que um chamável com uma lista de qualquer parâmetro " +"arbitrário seria aceita." -#: ../../library/typing.rst:244 +#: ../../library/typing.rst:292 msgid "" -"It is possible to declare the return type of a callable without specifying " -"the call signature by substituting a literal ellipsis for the list of " -"arguments in the type hint: ``Callable[..., ReturnType]``." +"``Callable`` cannot express complex signatures such as functions that take a " +"variadic number of arguments, :ref:`overloaded functions `, or " +"functions that have keyword-only parameters. However, these signatures can " +"be expressed by defining a :class:`Protocol` class with " +"a :meth:`~object.__call__` method:" msgstr "" -"É possível declarar o tipo de retorno de um chamável sem especificar a " -"assinatura da chamada, substituindo por reticências literais a lista de " -"argumentos na dica de tipo: ``Callable[..., ReturnType]``." +"``Callable`` não pode representar assinaturas complexas, como funções que " +"aceitam um número variado de argumentos, :ref:`funções sobrecarregadas " +"`, or funções que recebem apenas parâmetros somente-nomeados. No " +"entanto, essas assinaturas podem ser expressas ao se definir " +"uma :class:`Protocol` com um método :meth:`~object.__call__`:" -#: ../../library/typing.rst:248 ../../library/typing.rst:850 +#: ../../library/typing.rst:319 msgid "" "Callables which take other callables as arguments may indicate that their " "parameter types are dependent on each other using :class:`ParamSpec`. " @@ -431,104 +504,211 @@ msgid "" "ReturnType]`` respectively." msgstr "" "Chamáveis que recebem outros chamáveis como argumentos podem indicar que " -"seus tipos de parâmetro são dependentes uns dos outros usando :class:" -"`ParamSpec`. Além disso, se esse Callable adiciona ou retira argumentos de " -"outros chamáveis, o operador :data:`Concatenate` pode ser usado. Eles " -"assumem a forma ``Callable[ParamSpecVariable, ReturnType]`` e " +"seus tipos de parâmetro dependem uns dos outros usando :class:`ParamSpec`. " +"Além disso, se esse chamável adiciona ou remove argumentos de outros " +"chamáveis, o operador :data:`Concatenate` pode ser usado. Eles assumem a " +"forma de ``Callable[ParamSpecVariable, ReturnType]`` e " "``Callable[Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable], " -"ReturnType]`` respectivamente." +"ReturnType]``, respectivamente." -#: ../../library/typing.rst:256 ../../library/typing.rst:862 +#: ../../library/typing.rst:327 ../../library/typing.rst:3250 msgid "" -"``Callable`` now supports :class:`ParamSpec` and :data:`Concatenate`. See :" -"pep:`612` for more details." +"``Callable`` now supports :class:`ParamSpec` and :data:`Concatenate`. " +"See :pep:`612` for more details." msgstr "" +"``Callable`` agora oferece suporte a :class:`ParamSpec` " +"e :data:`Concatenate`. Veja :pep:`612` para mais detalhes." -#: ../../library/typing.rst:261 +#: ../../library/typing.rst:332 msgid "" "The documentation for :class:`ParamSpec` and :class:`Concatenate` provides " "examples of usage in ``Callable``." msgstr "" +"A documentação para :class:`ParamSpec` e :class:`Concatenate` contém " +"exemplos de uso em ``Callable``." -#: ../../library/typing.rst:267 +#: ../../library/typing.rst:338 msgid "Generics" -msgstr "Generics" +msgstr "Genéricos" -#: ../../library/typing.rst:269 +#: ../../library/typing.rst:340 msgid "" "Since type information about objects kept in containers cannot be statically " -"inferred in a generic way, abstract base classes have been extended to " -"support subscription to denote expected types for container elements." +"inferred in a generic way, many container classes in the standard library " +"support subscription to denote the expected types of container elements." msgstr "" +"Como a informação de tipo sobre objetos mantidos em contêineres não pode ser " +"inferida estaticamente de uma maneira genérica, muitas classes de " +"contêineres na biblioteca padrão permitem usar subscrição para denotar o " +"tipo esperado dos elementos dos contêineres." -#: ../../library/typing.rst:280 +#: ../../library/typing.rst:357 msgid "" -"Generics can be parameterized by using a factory available in typing called :" -"class:`TypeVar`." +"Generics can be parameterized by using a factory available in typing " +"called :class:`TypeVar`." msgstr "" -#: ../../library/typing.rst:296 -msgid "User-defined generic types" +#: ../../library/typing.rst:373 +msgid "Annotating tuples" +msgstr "Anotando tuplas" + +#: ../../library/typing.rst:375 +msgid "" +"For most containers in Python, the typing system assumes that all elements " +"in the container will be of the same type. For example::" +msgstr "" +"Para a maior parte dos tipos contêineres em Python, o sistema de tipagem " +"presume que todos os elementos do contêiner são do mesmo tipo. Por exemplo::" + +#: ../../library/typing.rst:390 +msgid "" +":class:`list` only accepts one type argument, so a type checker would emit " +"an error on the ``y`` assignment above. " +"Similarly, :class:`~collections.abc.Mapping` only accepts two type " +"arguments: the first indicates the type of the keys, and the second " +"indicates the type of the values." +msgstr "" +":class:`list` aceita apenas um tipo de argumento, e assim o verificador de " +"tipos emitirá um erro na atribuição ``y`` acima. Da mesma " +"forma, :class:`~collections.abc.Mapping` aceita apenas dois tipos de " +"argumento: O primeiro indica o tipo das chaves, e o segundo indica o tipo " +"dos valores." + +#: ../../library/typing.rst:396 +msgid "" +"Unlike most other Python containers, however, it is common in idiomatic " +"Python code for tuples to have elements which are not all of the same type. " +"For this reason, tuples are special-cased in Python's typing " +"system. :class:`tuple` accepts *any number* of type arguments::" msgstr "" +"Ao contrário da maioria dos outros contêineres Python, é comum no código " +"Python idiomático que as tuplas tenham elementos que não sejam todos do " +"mesmo tipo. Por esse motivo, as tuplas têm um caso especial no sistema de " +"tipagem do Python. :class:`tuple` aceita *qualquer quantidade* de argumentos " +"de tipo::" -#: ../../library/typing.rst:298 +#: ../../library/typing.rst:412 +msgid "" +"To denote a tuple which could be of *any* length, and in which all elements " +"are of the same type ``T``, use ``tuple[T, ...]``. To denote an empty tuple, " +"use ``tuple[()]``. Using plain ``tuple`` as an annotation is equivalent to " +"using ``tuple[Any, ...]``::" +msgstr "" +"Para indicar um tupla que pode ser de *qualquer* comprimento, e no qual " +"todos os elementos são do mesmo tipo ``T``, use ``tuple[T, ...]``. Para " +"denotar um tupla vazia, use ``tuple[()]``. Usando apenas ``tuple`` como " +"anotação, é equivalente a usar ``tuple[Any, ...]``::" + +#: ../../library/typing.rst:435 +msgid "The type of class objects" +msgstr "O tipo de objetos de classe" + +#: ../../library/typing.rst:437 +msgid "" +"A variable annotated with ``C`` may accept a value of type ``C``. In " +"contrast, a variable annotated with ``type[C]`` (or :class:`typing.Type[C] " +"`) may accept values that are classes themselves -- specifically, it " +"will accept the *class object* of ``C``. For example::" +msgstr "" +"Uma variável anotada com ``C`` pode aceitar um valor do tipo ``C``. Por " +"outro lado, uma variável anotada com ``type[C]`` (ou :class:`typing.Type[C] " +"`) pode aceitar valores que são classes -- especificamente, ela " +"aceitará o *objeto classe* de ``C``. Por exemplo::" + +#: ../../library/typing.rst:447 +msgid "Note that ``type[C]`` is covariant::" +msgstr "Observe que ``type[C]`` é covariante::" + +#: ../../library/typing.rst:463 +msgid "" +"The only legal parameters for :class:`type` are " +"classes, :data:`Any`, :ref:`type variables `, and unions of any of " +"these types. For example::" +msgstr "" +"Os únicos parâmetros válidos para :class:`type` são " +"classes, :data:`Any`, :ref:`type variables ` e uniões de qualquer " +"um desses tipos. Por exemplo::" + +#: ../../library/typing.rst:475 +msgid "" +"``type[Any]`` is equivalent to :class:`type`, which is the root of " +"Python's :ref:`metaclass hierarchy `." +msgstr "" +"``type[Any]`` é equivalente a :class:`type`, que é a raiz " +"da :ref:`hierarquia de metaclasses ` do Python." + +#: ../../library/typing.rst:481 +msgid "User-defined generic types" +msgstr "Tipos genéricos definidos pelo usuário" + +#: ../../library/typing.rst:483 msgid "A user-defined class can be defined as a generic class." msgstr "" +"Uma classe definida pelo usuário pode ser definida como uma classe genérica." -#: ../../library/typing.rst:324 +#: ../../library/typing.rst:509 msgid "" "``Generic[T]`` as a base class defines that the class ``LoggedVar`` takes a " "single type parameter ``T`` . This also makes ``T`` valid as a type within " "the class body." msgstr "" -#: ../../library/typing.rst:328 +#: ../../library/typing.rst:513 msgid "" "The :class:`Generic` base class defines :meth:`~object.__class_getitem__` so " "that ``LoggedVar[T]`` is valid as a type::" msgstr "" -#: ../../library/typing.rst:337 +#: ../../library/typing.rst:522 msgid "" -"A generic type can have any number of type variables. All varieties of :" -"class:`TypeVar` are permissible as parameters for a generic type::" +"A generic type can have any number of type variables. All varieties " +"of :class:`TypeVar` are permissible as parameters for a generic type::" msgstr "" +"Um tipo genérico pode ter qualquer número de tipos de variáveis. Todas as " +"variedades de :class:`TypeVar` são permitidas como parâmetros para um tipo " +"genérico::" -#: ../../library/typing.rst:349 +#: ../../library/typing.rst:534 msgid "" "Each type variable argument to :class:`Generic` must be distinct. This is " "thus invalid::" msgstr "" +"Cada tipo dos argumentos para :class:`Generic` devem ser distintos. Assim, " +"os seguintes exemplos são inválidos::" -#: ../../library/typing.rst:360 +#: ../../library/typing.rst:545 msgid "You can use multiple inheritance with :class:`Generic`::" msgstr "" -#: ../../library/typing.rst:370 +#: ../../library/typing.rst:555 msgid "" -"When inheriting from generic classes, some type variables could be fixed::" -msgstr "" +"When inheriting from generic classes, some type parameters could be fixed::" +msgstr "Ao herdar das classes genérico, alguns tipos podem ser fixos::" -#: ../../library/typing.rst:380 +#: ../../library/typing.rst:565 msgid "In this case ``MyDict`` has a single parameter, ``T``." -msgstr "" +msgstr "Neste caso ``MyDict`` possui um único parâmetro, ``T``." -#: ../../library/typing.rst:382 +#: ../../library/typing.rst:567 msgid "" "Using a generic class without specifying type parameters assumes :data:`Any` " "for each position. In the following example, ``MyIterable`` is not generic " -"but implicitly inherits from ``Iterable[Any]``::" +"but implicitly inherits from ``Iterable[Any]``:" msgstr "" +"O uso de uma classe genérica sem especificar tipos pressupõe :data:`Any` " +"para cada posição. No exemplo a seguir, ``MyIterable`` não é genérico, mas " +"herda implicitamente de ``Iterable[Any]``:" -#: ../../library/typing.rst:390 -msgid "User defined generic type aliases are also supported. Examples::" +#: ../../library/typing.rst:578 +msgid "User-defined generic type aliases are also supported. Examples::" msgstr "" +"Também há suporte para tipos genéricos definidos pelo usuário. Exemplos::" -#: ../../library/typing.rst:407 +#: ../../library/typing.rst:595 msgid ":class:`Generic` no longer has a custom metaclass." -msgstr "" +msgstr ":class:`Generic` não possui mais uma metaclasse personalizada." -#: ../../library/typing.rst:410 +#: ../../library/typing.rst:598 msgid "" "User-defined generics for parameter expressions are also supported via " "parameter specification variables in the form ``Generic[P]``. The behavior " @@ -538,7 +718,7 @@ msgid "" "used to substitute a :class:`ParamSpec`::" msgstr "" -#: ../../library/typing.rst:427 +#: ../../library/typing.rst:614 msgid "" "Furthermore, a generic with only one parameter specification variable will " "accept parameter lists in the forms ``X[[Type1, Type2, ...]]`` and also " @@ -546,108 +726,154 @@ msgid "" "converted to the former, so the following are equivalent::" msgstr "" -#: ../../library/typing.rst:439 +#: ../../library/typing.rst:626 msgid "" -"Do note that generics with :class:`ParamSpec` may not have correct " +"Note that generics with :class:`ParamSpec` may not have correct " "``__parameters__`` after substitution in some cases because they are " "intended primarily for static type checking." msgstr "" +"Observe que genéricos com :class:`ParamSpec` podem não ter " +"``__parameters__`` corretos após a substituição em alguns casos porque eles " +"são destinados principalmente à verificação de tipo estático." -#: ../../library/typing.rst:443 +#: ../../library/typing.rst:630 msgid "" -":class:`Generic` can now be parameterized over parameter expressions. See :" -"class:`ParamSpec` and :pep:`612` for more details." +":class:`Generic` can now be parameterized over parameter expressions. " +"See :class:`ParamSpec` and :pep:`612` for more details." msgstr "" +":class:`Generic` agora pode ser parametrizado através de expressões de " +"parâmetros. Veja :class:`ParamSpec` e :pep:`612` para mais detalhes." -#: ../../library/typing.rst:447 +#: ../../library/typing.rst:634 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 typing module " +"are :term:`hashable` and comparable for equality." msgstr "" +"Uma classe genérica definida pelo usuário pode ter ABCs como classes base " +"sem conflito de metaclasse. Não há suporte a metaclasses genéricas. O " +"resultado da parametrização de genéricos é armazenado em cache, e a maioria " +"dos tipos no módulo typing são :term:`hasheáveis ` e comparáveis " +"em termos de igualdade." -#: ../../library/typing.rst:454 +#: ../../library/typing.rst:641 msgid "The :data:`Any` type" -msgstr "" +msgstr "O tipo :data:`Any`" -#: ../../library/typing.rst:456 +#: ../../library/typing.rst:643 msgid "" "A special kind of type is :data:`Any`. A static type checker will treat " "every type as being compatible with :data:`Any` and :data:`Any` as being " "compatible with every type." msgstr "" +"Um tipo especial de tipo é :data:`Any`. Um verificador de tipo estático " +"tratará cada tipo como sendo compatível com :data:`Any` e :data:`Any` como " +"sendo compatível com todos os tipos." -#: ../../library/typing.rst:460 +#: ../../library/typing.rst:647 msgid "" "This means that it is possible to perform any operation or method call on a " "value of type :data:`Any` and assign it to any variable::" msgstr "" +"Isso significa que é possível realizar qualquer operação ou chamada de " +"método sobre um valor do tipo :data:`Any` e atribuí-lo a qualquer variável::" -#: ../../library/typing.rst:478 +#: ../../library/typing.rst:665 msgid "" -"Notice that no type checking is performed when assigning a value of type :" -"data:`Any` to a more precise type. For example, the static type checker did " -"not report an error when assigning ``a`` to ``s`` even though ``s`` was " -"declared to be of type :class:`str` and receives an :class:`int` value at " -"runtime!" +"Notice that no type checking is performed when assigning a value of " +"type :data:`Any` to a more precise type. For example, the static type " +"checker did not report an error when assigning ``a`` to ``s`` even though " +"``s`` was declared to be of type :class:`str` and receives an :class:`int` " +"value at runtime!" msgstr "" +"Observe que nenhuma verificação de tipo é realizada ao atribuir um valor do " +"tipo :data:`Any` a um tipo mais preciso. Por exemplo, o verificador de tipo " +"estático não relatou um erro ao atribuir ``a`` a ``s`` mesmo que ``s`` tenha " +"sido declarado como sendo do tipo :class:`str` e receba um " +"valor :class:`int` em tempo de execução!" -#: ../../library/typing.rst:484 +#: ../../library/typing.rst:671 msgid "" "Furthermore, all functions without a return type or parameter types will " "implicitly default to using :data:`Any`::" msgstr "" +"Além disso, todas as funções sem um tipo de retorno ou tipos de parâmetro " +"terão como padrão implicitamente o uso de :data:`Any`::" -#: ../../library/typing.rst:497 +#: ../../library/typing.rst:684 msgid "" "This behavior allows :data:`Any` to be used as an *escape hatch* when you " "need to mix dynamically and statically typed code." msgstr "" +"Este comportamento permite que :data:`Any` seja usado como uma *saída de " +"emergência* quando você precisar misturar código tipado dinamicamente e " +"estaticamente." -#: ../../library/typing.rst:500 +#: ../../library/typing.rst:687 msgid "" "Contrast the behavior of :data:`Any` with the behavior of :class:`object`. " "Similar to :data:`Any`, every type is a subtype of :class:`object`. However, " "unlike :data:`Any`, the reverse is not true: :class:`object` is *not* a " "subtype of every other type." msgstr "" +"Compare o comportamento de :data:`Any` com o comportamento " +"de :class:`object`. Semelhante a :data:`Any`, todo tipo é um subtipo " +"de :class:`object`. No entanto, ao contrário de :data:`Any`, o inverso não é " +"verdadeiro: :class:`object` *não* é um subtipo de qualquer outro tipo." -#: ../../library/typing.rst:505 +#: ../../library/typing.rst:692 msgid "" "That means when the type of a value is :class:`object`, a type checker will " "reject almost all operations on it, and assigning it to a variable (or using " "it as a return value) of a more specialized type is a type error. For " "example::" msgstr "" +"Isso significa que quando o tipo de um valor é :class:`object`, um " +"verificador de tipo rejeitará quase todas as operações nele, e atribuí-lo a " +"uma variável (ou usá-la como valor de retorno) de um tipo mais especializado " +"é um tipo erro. Por exemplo::" -#: ../../library/typing.rst:527 +#: ../../library/typing.rst:714 msgid "" "Use :class:`object` to indicate that a value could be any type in a typesafe " "manner. Use :data:`Any` to indicate that a value is dynamically typed." msgstr "" +"Use :class:`object` para indicar que um valor pode ser de qualquer tipo de " +"maneira segura. Use :data:`Any` para indicar que um valor é tipado " +"dinamicamente." -#: ../../library/typing.rst:532 +#: ../../library/typing.rst:719 msgid "Nominal vs structural subtyping" -msgstr "" +msgstr "Subtipagem nominal vs estrutural" -#: ../../library/typing.rst:534 +#: ../../library/typing.rst:721 msgid "" "Initially :pep:`484` defined the Python static type system as using *nominal " "subtyping*. This means that a class ``A`` is allowed where a class ``B`` is " "expected if and only if ``A`` is a subclass of ``B``." msgstr "" +"Inicialmente a :pep:`484` definiu o sistema de tipos estáticos do Python " +"como usando *subtipagem nominal*. Isto significa que uma classe ``A`` é " +"permitida onde uma classe ``B`` é esperada se e somente se ``A`` for uma " +"subclasse de ``B``." -#: ../../library/typing.rst:538 +#: ../../library/typing.rst:725 msgid "" -"This requirement previously also applied to abstract base classes, such as :" -"class:`~collections.abc.Iterable`. The problem with this approach is that a " -"class had to be explicitly marked to support them, which is unpythonic and " -"unlike what one would normally do in idiomatic dynamically typed Python " -"code. For example, this conforms to :pep:`484`::" +"This requirement previously also applied to abstract base classes, such " +"as :class:`~collections.abc.Iterable`. The problem with this approach is " +"that a class had to be explicitly marked to support them, which is " +"unpythonic and unlike what one would normally do in idiomatic dynamically " +"typed Python code. For example, this conforms to :pep:`484`::" msgstr "" +"Este requisito anteriormente também se aplicava a classes base abstratas, " +"como :class:`~collections.abc.Iterable`. O problema com essa abordagem é que " +"uma classe teve que ser marcada explicitamente para suportá-los, o que não é " +"pythônico e diferente do que normalmente seria feito em código Python de " +"tipo dinamicamente idiomático. Por exemplo, isso está em conformidade " +"com :pep:`484`::" -#: ../../library/typing.rst:551 +#: ../../library/typing.rst:738 msgid "" ":pep:`544` allows to solve this problem by allowing users to write the above " "code without explicit base classes in the class definition, allowing " @@ -655,122 +881,166 @@ msgid "" "``Iterable[int]`` by static type checkers. This is known as *structural " "subtyping* (or static duck-typing)::" msgstr "" +":pep:`544` permite resolver este problema permitindo que os usuários " +"escrevam o código acima sem classes base explícitas na definição de classe, " +"permitindo que ``Bucket`` seja implicitamente considerado um subtipo de " +"``Sized`` e ``Iterable[int]`` por verificador de tipo estático. Isso é " +"conhecido como *subtipagem estrutural* (ou tipagem pato estática)::" -#: ../../library/typing.rst:567 +#: ../../library/typing.rst:754 msgid "" "Moreover, by subclassing a special class :class:`Protocol`, a user can " "define new custom protocols to fully enjoy structural subtyping (see " "examples below)." msgstr "" +"Além disso, ao criar uma subclasse de uma classe especial :class:`Protocol`, " +"um usuário pode definir novos protocolos personalizados para aproveitar ao " +"máximo a subtipagem estrutural (veja exemplos abaixo)." -#: ../../library/typing.rst:572 +#: ../../library/typing.rst:759 msgid "Module contents" msgstr "Conteúdo do módulo" -#: ../../library/typing.rst:574 -msgid "The module defines the following classes, functions and decorators." -msgstr "" - -#: ../../library/typing.rst:578 -msgid "" -"This module defines several types that are subclasses of pre-existing " -"standard library classes which also extend :class:`Generic` to support type " -"variables inside ``[]``. These types became redundant in Python 3.9 when the " -"corresponding pre-existing classes were enhanced to support ``[]``." -msgstr "" - -#: ../../library/typing.rst:584 -msgid "" -"The redundant types are deprecated as of Python 3.9 but no deprecation " -"warnings will be issued by the interpreter. It is expected that type " -"checkers will flag the deprecated types when the checked program targets " -"Python 3.9 or newer." -msgstr "" - -#: ../../library/typing.rst:589 +#: ../../library/typing.rst:761 msgid "" -"The deprecated types will be removed from the :mod:`typing` module in the " -"first Python version released 5 years after the release of Python 3.9.0. See " -"details in :pep:`585`—*Type Hinting Generics In Standard Collections*." +"The ``typing`` module defines the following classes, functions and " +"decorators." msgstr "" +"O módulo ``typing`` define as seguintes classes, funções e decoracores." -#: ../../library/typing.rst:595 +#: ../../library/typing.rst:764 msgid "Special typing primitives" -msgstr "" +msgstr "Tipos primitivos especiais" -#: ../../library/typing.rst:598 +#: ../../library/typing.rst:767 msgid "Special types" msgstr "Tipos especiais" -#: ../../library/typing.rst:600 -msgid "These can be used as types in annotations and do not support ``[]``." +#: ../../library/typing.rst:769 +msgid "" +"These can be used as types in annotations. They do not support subscription " +"using ``[]``." msgstr "" +"Eles podem ser usados como tipos em anotações. Eles não oferecem suporte a " +"subscrição usando ``[]``." -#: ../../library/typing.rst:604 +#: ../../library/typing.rst:774 msgid "Special type indicating an unconstrained type." -msgstr "" +msgstr "Tipo especial que indica um tipo irrestrito." -#: ../../library/typing.rst:606 +#: ../../library/typing.rst:776 msgid "Every type is compatible with :data:`Any`." -msgstr "" +msgstr "Todos os tipos são compatíveis com :data:`Any`." -#: ../../library/typing.rst:607 +#: ../../library/typing.rst:777 msgid ":data:`Any` is compatible with every type." -msgstr "" +msgstr ":data:`Any` é compatível com todos os tipos." -#: ../../library/typing.rst:609 +#: ../../library/typing.rst:779 msgid "" ":data:`Any` can now be used as a base class. This can be useful for avoiding " "type checker errors with classes that can duck type anywhere or are highly " "dynamic." msgstr "" +":data:`Any` agora pode ser usado como classe base. Isso pode ser útil para " +"evitar erros do verificador de tipo com classes que podem digitar em " +"qualquer lugar ou são altamente dinâmicas." + +#: ../../library/typing.rst:786 +msgid "A :ref:`constrained type variable `." +msgstr "Uma :ref:`tipo variável restrito `." + +#: ../../library/typing.rst:788 +msgid "Definition::" +msgstr "Definição::" -#: ../../library/typing.rst:616 +#: ../../library/typing.rst:792 msgid "" -"Special type that includes only literal strings. A string literal is " -"compatible with ``LiteralString``, as is another ``LiteralString``, but an " -"object typed as just ``str`` is not. A string created by composing " -"``LiteralString``-typed objects is also acceptable as a ``LiteralString``." +"``AnyStr`` is meant to be used for functions that may accept :class:`str` " +"or :class:`bytes` arguments but cannot allow the two to mix." msgstr "" +"``AnyStr`` deve ser usado para funções que podem aceitar " +"argumentos :class:`str` ou :class:`bytes` mas não podem permitir que os dois " +"se misturem." -#: ../../library/typing.rst:622 ../../library/typing.rst:2461 -msgid "Example::" -msgstr "Exemplo::" +#: ../../library/typing.rst:795 ../../library/typing.rst:886 +#: ../../library/typing.rst:905 ../../library/typing.rst:962 +#: ../../library/typing.rst:1121 ../../library/typing.rst:1178 +#: ../../library/typing.rst:1386 ../../library/typing.rst:2566 +msgid "For example::" +msgstr "Por exemplo::" -#: ../../library/typing.rst:636 +#: ../../library/typing.rst:804 msgid "" -"This is useful for sensitive APIs where arbitrary user-generated strings " -"could generate problems. For example, the two cases above that generate type " -"checker errors could be vulnerable to an SQL injection attack." +"Note that, despite its name, ``AnyStr`` has nothing to do with " +"the :class:`Any` type, nor does it mean \"any string\". In particular, " +"``AnyStr`` and ``str | bytes`` are different from each other and have " +"different use cases::" msgstr "" +"Note que, apesar do nome, ``AnyStr`` não tem nada a ver com o " +"tipo :class:`Any`, nem significa \"qualquer string\". Em particular, " +"``AnyStr`` e ``str | bytes`` são diferentes entre si e têm casos de uso " +"diferentes::" -#: ../../library/typing.rst:641 +#: ../../library/typing.rst:821 +msgid "Special type that includes only literal strings." +msgstr "Tipo especial que inclui apenas strings literais." + +#: ../../library/typing.rst:823 +msgid "" +"Any string literal is compatible with ``LiteralString``, as is another " +"``LiteralString``. However, an object typed as just ``str`` is not. A string " +"created by composing ``LiteralString``-typed objects is also acceptable as a " +"``LiteralString``." +msgstr "" +"Qualquer literal de string é compatível com ``LiteralString``, assim como " +"outro ``LiteralString``. Entretanto, um objeto digitado apenas ``str`` não " +"é. Uma string criada pela composição de objetos do tipo ``LiteralString`` " +"também é aceitável como uma ``LiteralString``." + +#: ../../library/typing.rst:829 +msgid "Example:" +msgstr "Exemplo:" + +#: ../../library/typing.rst:845 +msgid "" +"``LiteralString`` is useful for sensitive APIs where arbitrary user-" +"generated strings could generate problems. For example, the two cases above " +"that generate type checker errors could be vulnerable to an SQL injection " +"attack." +msgstr "" +"``LiteralString`` é útil para APIs sensíveis onde strings arbitrárias " +"geradas pelo usuário podem gerar problemas. Por exemplo, os dois casos acima " +"que geram erros no verificador de tipo podem ser vulneráveis a um ataque de " +"injeção de SQL." + +#: ../../library/typing.rst:850 msgid "See :pep:`675` for more details." msgstr "Veja :pep:`675` para mais detalhes." -#: ../../library/typing.rst:647 +#: ../../library/typing.rst:856 msgid "" "The `bottom type `_, a type that " "has no members." msgstr "" -#: ../../library/typing.rst:650 +#: ../../library/typing.rst:859 msgid "" "This can be used to define a function that should never be called, or a " "function that never returns::" msgstr "" -#: ../../library/typing.rst:670 +#: ../../library/typing.rst:879 msgid "" "On older Python versions, :data:`NoReturn` may be used to express the same " "concept. ``Never`` was added to make the intended meaning more explicit." msgstr "" -#: ../../library/typing.rst:675 -msgid "Special type indicating that a function never returns. For example::" -msgstr "Tipo especial indicando que uma função nunca retorna. Por exemplo::" +#: ../../library/typing.rst:884 +msgid "Special type indicating that a function never returns." +msgstr "Tipo especial indicando que uma função nunca retorna." -#: ../../library/typing.rst:683 +#: ../../library/typing.rst:893 msgid "" "``NoReturn`` can also be used as a `bottom type `_, a type that has no values. Starting in Python 3.11, " @@ -778,442 +1048,534 @@ msgid "" "checkers should treat the two equivalently." msgstr "" -#: ../../library/typing.rst:694 -msgid "Special type to represent the current enclosed class. For example::" -msgstr "" +#: ../../library/typing.rst:903 +msgid "Special type to represent the current enclosed class." +msgstr "Tipo especial para representar a classe atual inclusa." -#: ../../library/typing.rst:705 +#: ../../library/typing.rst:919 msgid "" "This annotation is semantically equivalent to the following, albeit in a " "more succinct fashion::" msgstr "" +"Esta anotação é semanticamente equivalente à seguinte, embora de forma mais " +"sucinta::" -#: ../../library/typing.rst:717 -msgid "In general if something currently follows the pattern of::" -msgstr "" - -#: ../../library/typing.rst:724 +#: ../../library/typing.rst:931 msgid "" -"You should use :data:`Self` as calls to ``SubclassOfFoo.return_self`` would " -"have ``Foo`` as the return type and not ``SubclassOfFoo``." +"In general, if something returns ``self``, as in the above examples, you " +"should use ``Self`` as the return annotation. If ``Foo.return_self`` was " +"annotated as returning ``\"Foo\"``, then the type checker would infer the " +"object returned from ``SubclassOfFoo.return_self`` as being of type ``Foo`` " +"rather than ``SubclassOfFoo``." msgstr "" +"Em geral, se algo retorna ``self``, como nos exemplos acima, você deve usar " +"``Self`` como anotação de retorno. Se ``Foo.return_self`` foi anotado como " +"retornando ``\"Foo\"``, então o verificador de tipo inferiria o objeto " +"retornado de ``SubclassOfFoo.return_self`` como sendo do tipo ``Foo`` em vez " +"de ``SubclassOfFoo``." -#: ../../library/typing.rst:727 +#: ../../library/typing.rst:937 msgid "Other common use cases include:" -msgstr "" +msgstr "Outros casos de uso comuns incluem:" -#: ../../library/typing.rst:729 +#: ../../library/typing.rst:939 msgid "" ":class:`classmethod`\\s that are used as alternative constructors and return " "instances of the ``cls`` parameter." msgstr "" +":class:`classmethod`\\s que são usados como construtores alternativos e " +"retornam instâncias do parâmetro ``cls``." -#: ../../library/typing.rst:731 +#: ../../library/typing.rst:941 msgid "Annotating an :meth:`~object.__enter__` method which returns self." +msgstr "Anotando um método :meth:`~object.__enter__` que retorna self." + +#: ../../library/typing.rst:943 +msgid "" +"You should not use ``Self`` as the return annotation if the method is not " +"guaranteed to return an instance of a subclass when the class is subclassed::" msgstr "" +"Você não deveria usar ``Self`` como a anotação de retorno se não for " +"garantido que o método retorne uma instância de uma subclasse quando a " +"classe for subclassificada::" -#: ../../library/typing.rst:733 +#: ../../library/typing.rst:954 msgid "See :pep:`673` for more details." msgstr "Veja :pep:`673` para mais detalhes." -#: ../../library/typing.rst:739 +#: ../../library/typing.rst:960 msgid "" "Special annotation for explicitly declaring a :ref:`type alias `. For example::" -msgstr "" - -#: ../../library/typing.rst:746 -msgid "See :pep:`613` for more details about explicit type aliases." +"aliases>`." msgstr "" +"Anotações especiais para declarar explicitamente um :ref:`apelido de tipo " +"`." -#: ../../library/typing.rst:751 -msgid "Special forms" -msgstr "Formas especiais" - -#: ../../library/typing.rst:753 -msgid "" -"These can be used as types in annotations using ``[]``, each having a unique " -"syntax." -msgstr "" - -#: ../../library/typing.rst:757 +#: ../../library/typing.rst:968 msgid "" -"Tuple type; ``Tuple[X, Y]`` is the type of a tuple of two items with the " -"first item of type X and the second of type Y. The type of the empty tuple " -"can be written as ``Tuple[()]``." +"``TypeAlias`` is particularly useful for annotating aliases that make use of " +"forward references, as it can be hard for type checkers to distinguish these " +"from normal variable assignments:" msgstr "" -#: ../../library/typing.rst:761 -msgid "" -"Example: ``Tuple[T1, T2]`` is a tuple of two elements corresponding to type " -"variables T1 and T2. ``Tuple[int, float, str]`` is a tuple of an int, a " -"float and a string." -msgstr "" +#: ../../library/typing.rst:988 +msgid "See :pep:`613` for more details." +msgstr "Veja :pep:`613` para mais detalhes." -#: ../../library/typing.rst:765 -msgid "" -"To specify a variable-length tuple of homogeneous type, use literal " -"ellipsis, e.g. ``Tuple[int, ...]``. A plain :data:`Tuple` is equivalent to " -"``Tuple[Any, ...]``, and in turn to :class:`tuple`." -msgstr "" +#: ../../library/typing.rst:993 +msgid "Special forms" +msgstr "Formas especiais" -#: ../../library/typing.rst:769 +#: ../../library/typing.rst:995 msgid "" -":class:`builtins.tuple ` now supports subscripting (``[]``). See :pep:" -"`585` and :ref:`types-genericalias`." +"These can be used as types in annotations. They all support subscription " +"using ``[]``, but each has a unique syntax." msgstr "" +"Eles podem ser usados como tipos em anotações. Todos eles oferecem suporte a " +"subscrição usando ``[]``, mas cada um tem uma sintaxe única." -#: ../../library/typing.rst:775 +#: ../../library/typing.rst:1000 msgid "" "Union type; ``Union[X, Y]`` is equivalent to ``X | Y`` and means either X or " "Y." msgstr "" +"Tipo de união; ``Union[X, Y]`` é equivalente a ``X | Y`` e significa X ou Y." -#: ../../library/typing.rst:777 +#: ../../library/typing.rst:1002 msgid "" "To define a union, use e.g. ``Union[int, str]`` or the shorthand ``int | " "str``. Using that shorthand is recommended. Details:" msgstr "" +"Para definir uma união, use, por exemplo. ``Union[int, str]`` ou a " +"abreviatura ``int | str``. Usar essa abreviação é recomendado. Detalhes:" -#: ../../library/typing.rst:779 +#: ../../library/typing.rst:1004 msgid "The arguments must be types and there must be at least one." -msgstr "" +msgstr "Os argumentos devem ser tipos e deve haver pelo menos um." -#: ../../library/typing.rst:781 +#: ../../library/typing.rst:1006 msgid "Unions of unions are flattened, e.g.::" -msgstr "" +msgstr "As uniões de uniões são achatadas, por exemplo::" -#: ../../library/typing.rst:785 +#: ../../library/typing.rst:1010 msgid "Unions of a single argument vanish, e.g.::" -msgstr "" +msgstr "As uniões de um único argumento desaparecem, por exemplo::" -#: ../../library/typing.rst:789 +#: ../../library/typing.rst:1014 msgid "Redundant arguments are skipped, e.g.::" -msgstr "" +msgstr "Argumento redundantes são pulados, e.g.::" -#: ../../library/typing.rst:793 +#: ../../library/typing.rst:1018 msgid "When comparing unions, the argument order is ignored, e.g.::" -msgstr "" +msgstr "Ao comparar uniões, a ordem de argumentos é ignorada. Por exemplo::" -#: ../../library/typing.rst:797 +#: ../../library/typing.rst:1022 msgid "You cannot subclass or instantiate a ``Union``." -msgstr "" +msgstr "Você não pode estender ou instanciar uma ``Union``" -#: ../../library/typing.rst:799 +#: ../../library/typing.rst:1024 msgid "You cannot write ``Union[X][Y]``." -msgstr "" +msgstr "Você não pode escrever ``Union[X][Y]``." -#: ../../library/typing.rst:801 +#: ../../library/typing.rst:1026 msgid "Don't remove explicit subclasses from unions at runtime." -msgstr "" +msgstr "Não remova subclasses explícitas de uniões em tempo de execução." -#: ../../library/typing.rst:804 +#: ../../library/typing.rst:1029 msgid "" "Unions can now be written as ``X | Y``. See :ref:`union type " "expressions`." msgstr "" +"Uniões agora podem ser escritas com ``X | Y``. Veja :ref:`expressões de " +"união de tipos `." -#: ../../library/typing.rst:810 -msgid "Optional type." -msgstr "Tipo opcional." - -#: ../../library/typing.rst:812 +#: ../../library/typing.rst:1035 msgid "``Optional[X]`` is equivalent to ``X | None`` (or ``Union[X, None]``)." -msgstr "" +msgstr "``Optional[X]`` equivale a ``X | None`` (ou ``Union[X, None]``)." -#: ../../library/typing.rst:814 +#: ../../library/typing.rst:1037 msgid "" "Note that this is not the same concept as an optional argument, which is one " "that has a default. An optional argument with a default does not require " "the ``Optional`` qualifier on its type annotation just because it is " "optional. For example::" msgstr "" +"Note que isso não é o mesmo conceito de um argumento opcional, que possui um " +"valor por padrão. Um argumento opcional com padrão não requer o qualificador " +"``Optional`` em sua anotação de tipo só por ser opcional. Por exemplo::" -#: ../../library/typing.rst:822 +#: ../../library/typing.rst:1045 msgid "" "On the other hand, if an explicit value of ``None`` is allowed, the use of " "``Optional`` is appropriate, whether the argument is optional or not. For " "example::" msgstr "" +"Por outro lado, se um valor explícito de ``None`` for permitido, o uso de " +"``Optional`` é apropriado, seja o argumento opcional ou não. Por exemplo::" -#: ../../library/typing.rst:829 +#: ../../library/typing.rst:1052 msgid "" "Optional can now be written as ``X | None``. See :ref:`union type " "expressions`." msgstr "" +"Optional agora pode ser escrito como ``X | None``. Veja :ref:`expressões de " +"união de tipos`." -#: ../../library/typing.rst:835 -msgid "Callable type; ``Callable[[int], str]`` is a function of (int) -> str." -msgstr "" - -#: ../../library/typing.rst:837 -msgid "" -"The subscription syntax must always be used with exactly two values: the " -"argument list and the return type. The argument list must be a list of " -"types or an ellipsis; the return type must be a single type." -msgstr "" - -#: ../../library/typing.rst:842 -msgid "" -"There is no syntax to indicate optional or keyword arguments; such function " -"types are rarely used as callback types. ``Callable[..., ReturnType]`` " -"(literal ellipsis) can be used to type hint a callable taking any number of " -"arguments and returning ``ReturnType``. A plain :data:`Callable` is " -"equivalent to ``Callable[..., Any]``, and in turn to :class:`collections.abc." -"Callable`." -msgstr "" - -#: ../../library/typing.rst:858 -msgid "" -":class:`collections.abc.Callable` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." -msgstr "" +#: ../../library/typing.rst:1058 +msgid "Special form for annotating higher-order functions." +msgstr "Forma especial para anotar funções de ordem superior." -#: ../../library/typing.rst:867 +#: ../../library/typing.rst:1060 msgid "" -"The documentation for :class:`ParamSpec` and :class:`Concatenate` provide " -"examples of usage with ``Callable``." -msgstr "" - -#: ../../library/typing.rst:872 -msgid "" -"Used with :data:`Callable` and :class:`ParamSpec` to type annotate a higher " -"order callable which adds, removes, or transforms parameters of another " -"callable. Usage is in the form ``Concatenate[Arg1Type, Arg2Type, ..., " -"ParamSpecVariable]``. ``Concatenate`` is currently only valid when used as " -"the first argument to a :data:`Callable`. The last parameter to " +"``Concatenate`` can be used in conjunction with :ref:`Callable ` and :class:`ParamSpec` to annotate a higher-order callable which " +"adds, removes, or transforms parameters of another callable. Usage is in " +"the form ``Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable]``. " +"``Concatenate`` is currently only valid when used as the first argument to " +"a :ref:`Callable `. The last parameter to " "``Concatenate`` must be a :class:`ParamSpec` or ellipsis (``...``)." msgstr "" - -#: ../../library/typing.rst:880 -msgid "" -"For example, to annotate a decorator ``with_lock`` which provides a :class:" -"`threading.Lock` to the decorated function, ``Concatenate`` can be used to " -"indicate that ``with_lock`` expects a callable which takes in a ``Lock`` as " -"the first argument, and returns a callable with a different type signature. " -"In this case, the :class:`ParamSpec` indicates that the returned callable's " -"parameter types are dependent on the parameter types of the callable being " -"passed in::" -msgstr "" - -#: ../../library/typing.rst:919 ../../library/typing.rst:1507 +"``Concatenate`` pode ser usado em conjunção com :ref:`Callable ` e :class:`ParamSpec` para anotar um chamável de maior ordem que " +"adiciona, remove ou transforma parâmetros de outro chamável. Seu uso é feito " +"na forma ``Concatenate[Arg1Type, Arg2Type, ..., ParamSpecVariable]``, " +"``Concatenate`` atualmente só é válido quando usado como primeiro argumento " +"de um :ref:`Callable `. O último parâmetro de " +"``Concatenate`` deve ser um :class:`ParamSpec` ou reticências (``...``)." + +#: ../../library/typing.rst:1069 +msgid "" +"For example, to annotate a decorator ``with_lock`` which provides " +"a :class:`threading.Lock` to the decorated function, ``Concatenate`` can be " +"used to indicate that ``with_lock`` expects a callable which takes in a " +"``Lock`` as the first argument, and returns a callable with a different type " +"signature. In this case, the :class:`ParamSpec` indicates that the returned " +"callable's parameter types are dependent on the parameter types of the " +"callable being passed in::" +msgstr "" +"Por exemplo, para anotar um decorador ``with_lock`` que oferece uma " +"instância de :class:`threading.Lock` para a função decorada, ``Concatenate`` " +"pode ser usado para indicar que ``with_lock`` espera um chamável cujo " +"primeiro argumento tem tipo ``Lock``, e retorna um chamável com uma " +"assinatura de tipos diferente. Neste caso, o :class:`ParamSpec` indica que " +"os tipos dos parâmetros do chamável retornado dependem dos tipos dos " +"parâmetros do chamável de entrada::" + +#: ../../library/typing.rst:1108 ../../library/typing.rst:1769 msgid "" ":pep:`612` -- Parameter Specification Variables (the PEP which introduced " -"``ParamSpec`` and ``Concatenate``)." -msgstr "" - -#: ../../library/typing.rst:921 -msgid ":class:`ParamSpec` and :class:`Callable`." -msgstr "" - -#: ../../library/typing.rst:926 -msgid "" -"A variable annotated with ``C`` may accept a value of type ``C``. In " -"contrast, a variable annotated with ``Type[C]`` may accept values that are " -"classes themselves -- specifically, it will accept the *class object* of " -"``C``. For example::" -msgstr "" - -#: ../../library/typing.rst:935 -msgid "Note that ``Type[C]`` is covariant::" -msgstr "" - -#: ../../library/typing.rst:947 -msgid "" -"The fact that ``Type[C]`` is covariant implies that all subclasses of ``C`` " -"should implement the same constructor signature and class method signatures " -"as ``C``. The type checker should flag violations of this, but should also " -"allow constructor calls in subclasses that match the constructor calls in " -"the indicated base class. How the type checker is required to handle this " -"particular case may change in future revisions of :pep:`484`." +"``ParamSpec`` and ``Concatenate``)" msgstr "" +":pep:`612` -- Variáveis de especificação de parâmetro (a PEP que introduz " +"``ParamSpec`` e ``Concatenate``)" -#: ../../library/typing.rst:955 -msgid "" -"The only legal parameters for :class:`Type` are classes, :data:`Any`, :ref:" -"`type variables `, and unions of any of these types. For example::" -msgstr "" +#: ../../library/typing.rst:1110 +msgid ":class:`ParamSpec`" +msgstr ":class:`ParamSpec`" -#: ../../library/typing.rst:961 -msgid "" -"``Type[Any]`` is equivalent to ``Type`` which in turn is equivalent to " -"``type``, which is the root of Python's metaclass hierarchy." -msgstr "" +#: ../../library/typing.rst:1111 ../../library/typing.rst:1772 +msgid ":ref:`annotating-callables`" +msgstr ":ref:`annotating-callables`" -#: ../../library/typing.rst:966 -msgid "" -":class:`builtins.type ` now supports subscripting (``[]``). See :pep:" -"`585` and :ref:`types-genericalias`." -msgstr "" +#: ../../library/typing.rst:1115 +msgid "Special typing form to define \"literal types\"." +msgstr "Forma especial de tipagem para definir \"tipos literais\"." -#: ../../library/typing.rst:972 +#: ../../library/typing.rst:1117 msgid "" -"A type that can be used to indicate to type checkers that the corresponding " -"variable or function parameter has a value equivalent to the provided " -"literal (or one of several literals). For example::" +"``Literal`` can be used to indicate to type checkers that the annotated " +"object has a value equivalent to one of the provided literals." msgstr "" +"``Literal`` pode ser usado para indicar aos verificadores de tipo que o " +"objeto anotado tem valor equivalente a algum dos literais oferecidos." -#: ../../library/typing.rst:986 +#: ../../library/typing.rst:1133 msgid "" "``Literal[...]`` cannot be subclassed. At runtime, an arbitrary value is " "allowed as type argument to ``Literal[...]``, but type checkers may impose " "restrictions. See :pep:`586` for more details about literal types." msgstr "" +"``Literal[...]`` não é subclasse. Em tempo de execução, permite-se um valor " +"arbitrário como argumento de tipo para ``Literal[...]``, mas verificadores " +"de tipo podem impor restrições. Veja :pep:`586` para mais detalhes sobre " +"tipos literais." -#: ../../library/typing.rst:992 +#: ../../library/typing.rst:1139 msgid "" "``Literal`` now de-duplicates parameters. Equality comparisons of " "``Literal`` objects are no longer order dependent. ``Literal`` objects will " "now raise a :exc:`TypeError` exception during equality comparisons if one of " "their parameters are not :term:`hashable`." msgstr "" +"``Literal`` agora remove parâmetros duplicados. Comparações de igualdade " +"entre objetos ``Literal`` não dependem da ordem. Objetos ``Literal`` agora " +"levantam uma exceção :exc:`TypeError` durante comparações de igualdade se um " +"de seus parâmetros não for :term:`hasheável`." -#: ../../library/typing.rst:1000 +#: ../../library/typing.rst:1147 msgid "Special type construct to mark class variables." -msgstr "" +msgstr "Uma construção especial de tipagem para marcar variáveis de classe." -#: ../../library/typing.rst:1002 +#: ../../library/typing.rst:1149 msgid "" "As introduced in :pep:`526`, a variable annotation wrapped in ClassVar " "indicates that a given attribute is intended to be used as a class variable " "and should not be set on instances of that class. Usage::" msgstr "" +"Como introduzido na :pep:`526`, uma variável cuja anotação de tipo tem um " +"invólucro ClassVar indica que um dado atributo deve ser usado como uma " +"variável de classe, e que ele não deve ser definido em instâncias dessa " +"classe. Modo de usar::" -#: ../../library/typing.rst:1010 +#: ../../library/typing.rst:1157 msgid ":data:`ClassVar` accepts only types and cannot be further subscribed." msgstr "" +":data:`ClassVar` aceita apenas tipos e não pode ser subscrita posteriormente." -#: ../../library/typing.rst:1012 +#: ../../library/typing.rst:1159 msgid "" -":data:`ClassVar` is not a class itself, and should not be used with :func:" -"`isinstance` or :func:`issubclass`. :data:`ClassVar` does not change Python " -"runtime behavior, but it can be used by third-party type checkers. For " -"example, a type checker might flag the following code as an error::" +":data:`ClassVar` is not a class itself, and should not be used " +"with :func:`isinstance` or :func:`issubclass`. :data:`ClassVar` does not " +"change Python runtime behavior, but it can be used by third-party type " +"checkers. For example, a type checker might flag the following code as an " +"error::" msgstr "" +":data:`ClassVar` não é uma classe, e não deve ser usada " +"com :func:`isinstance` ou :func:`issubclass`. :data:`ClassVar` não muda com " +"o comportamento do Python em tempo de execução, mas pode ser usada por " +"verificadores de tipos de terceiros. Por exemplo, um verificador de tipos " +"pode sinalizar que o seguinte código é errado::" -#: ../../library/typing.rst:1026 -msgid "" -"A special typing construct to indicate to type checkers that a name cannot " -"be re-assigned or overridden in a subclass. For example::" +#: ../../library/typing.rst:1173 +msgid "Special typing construct to indicate final names to type checkers." msgstr "" +"Uma construção especial de tipagem para indicar nomes finais a verificadores " +"de tipos" -#: ../../library/typing.rst:1038 ../../library/typing.rst:2702 +#: ../../library/typing.rst:1175 msgid "" -"There is no runtime checking of these properties. See :pep:`591` for more " -"details." +"Final names cannot be reassigned in any scope. Final names declared in class " +"scopes cannot be overridden in subclasses." msgstr "" +"Nomes finais não podem ser reatribuídos em qualquer escopo. Nomes finais " +"declarados em escopos de classe não podem ser substituídos em subclasses." -#: ../../library/typing.rst:1047 +#: ../../library/typing.rst:1189 ../../library/typing.rst:2582 msgid "" -"Special typing constructs that mark individual keys of a :class:`TypedDict` " -"as either required or non-required respectively." +"There is no runtime checking of these properties. See :pep:`591` for more " +"details." msgstr "" +"Não há verificação em tempo de execução dessas propriedades. Veja :pep:`591` " +"para mais detalhes." -#: ../../library/typing.rst:1050 -msgid "See :class:`TypedDict` and :pep:`655` for more details." +#: ../../library/typing.rst:1196 +msgid "Special typing construct to mark a :class:`TypedDict` key as required." msgstr "" +"Uma construção especial de tipagem para marcar uma chave " +"de :class:`TypedDict` como necessária." -#: ../../library/typing.rst:1056 +#: ../../library/typing.rst:1198 msgid "" -"A type, introduced in :pep:`593` (``Flexible function and variable " -"annotations``), to decorate existing types with context-specific metadata " -"(possibly multiple pieces of it, as ``Annotated`` is variadic). " -"Specifically, a type ``T`` can be annotated with metadata ``x`` via the " -"typehint ``Annotated[T, x]``. This metadata can be used for either static " -"analysis or at runtime. If a library (or tool) encounters a typehint " -"``Annotated[T, x]`` and has no special logic for metadata ``x``, it should " -"ignore it and simply treat the type as ``T``. Unlike the ``no_type_check`` " -"functionality that currently exists in the ``typing`` module which " -"completely disables typechecking annotations on a function or a class, the " -"``Annotated`` type allows for both static typechecking of ``T`` (which can " -"safely ignore ``x``) together with runtime access to ``x`` within a specific " -"application." +"This is mainly useful for ``total=False`` TypedDicts. See :class:`TypedDict` " +"and :pep:`655` for more details." msgstr "" +"Isso é útil principalmente para TypedDicts com ``total=False``. " +"Veja :class:`TypedDict` e :pep:`655` para obter mais detalhes." -#: ../../library/typing.rst:1070 +#: ../../library/typing.rst:1205 msgid "" -"Ultimately, the responsibility of how to interpret the annotations (if at " -"all) is the responsibility of the tool or library encountering the " -"``Annotated`` type. A tool or library encountering an ``Annotated`` type can " -"scan through the annotations to determine if they are of interest (e.g., " -"using ``isinstance()``)." +"Special typing construct to mark a :class:`TypedDict` key as potentially " +"missing." msgstr "" +"Uma construção especial de tipagem para marcar uma chave " +"de :class:`TypedDict` como potencialmente ausente." -#: ../../library/typing.rst:1076 +#: ../../library/typing.rst:1208 +msgid "See :class:`TypedDict` and :pep:`655` for more details." +msgstr "Veja :class:`TypedDict` e :pep:`655` para obter mais detalhes." + +#: ../../library/typing.rst:1214 +msgid "Special typing form to add context-specific metadata to an annotation." +msgstr "" +"Forma especial de tipagem para adicionar metadados específicos de contexto " +"para uma anotação." + +#: ../../library/typing.rst:1216 msgid "" -"When a tool or a library does not support annotations or encounters an " -"unknown annotation it should just ignore it and treat annotated type as the " -"underlying type." +"Add metadata ``x`` to a given type ``T`` by using the annotation " +"``Annotated[T, x]``. Metadata added using ``Annotated`` can be used by " +"static analysis tools or at runtime. At runtime, the metadata is stored in " +"a :attr:`!__metadata__` attribute." msgstr "" +"Adiciona metadados ``x`` a um determinado tipo ``T`` usando a anotação " +"``Annotated[T, x]``. Os metadados adicionados usando ``Annotated`` podem ser " +"usados por ferramentas de análise estática ou em tempo de execução. Em tempo " +"de execução, os metadados são armazenados em um atributo :attr:`!" +"__metadata__`." -#: ../../library/typing.rst:1080 +#: ../../library/typing.rst:1221 msgid "" -"It's up to the tool consuming the annotations to decide whether the client " -"is allowed to have several annotations on one type and how to merge those " -"annotations." +"If a library or tool encounters an annotation ``Annotated[T, x]`` and has no " +"special logic for the metadata, it should ignore the metadata and simply " +"treat the annotation as ``T``. As such, ``Annotated`` can be useful for code " +"that wants to use annotations for purposes outside Python's static typing " +"system." +msgstr "" +"Se uma biblioteca ou ferramenta encontrar uma anotação ``Annotated[T, x]`` e " +"ela não tiver lógica especial para os metadados, ela deverá ignorar os " +"metadados e simplesmente tratar a anotação como ``T``. Dessa forma, " +"``Annotated`` pode ser útil em códigos que desejarem usar a anotação para " +"propósitos fora do sistema de tipagem estática do Python." + +#: ../../library/typing.rst:1227 +msgid "" +"Using ``Annotated[T, x]`` as an annotation still allows for static " +"typechecking of ``T``, as type checkers will simply ignore the metadata " +"``x``. In this way, ``Annotated`` differs from the :func:`@no_type_check " +"` decorator, which can also be used for adding annotations " +"outside the scope of the typing system, but completely disables typechecking " +"for a function or class." msgstr "" +"Usar ``Annotated[T, x]`` como um anotação ainda permite a verificação " +"estática do tipo de ``T``, pois os verificadores de tipo simplesmente " +"ignoram os metadados em ``x``. Dessa forma, o ``Annotated`` difere do " +"decorador :func:`@no_type_check `, que também pode ser usado " +"para adicionar anotações fora do escopo do sistema de tipagem, mas desativa " +"completamente a verificação de tipos para uma função ou classe." -#: ../../library/typing.rst:1084 +#: ../../library/typing.rst:1234 msgid "" -"Since the ``Annotated`` type allows you to put several annotations of the " -"same (or different) type(s) on any node, the tools or libraries consuming " -"those annotations are in charge of dealing with potential duplicates. For " -"example, if you are doing value range analysis you might allow this::" +"The responsibility of how to interpret the metadata lies with the tool or " +"library encountering an ``Annotated`` annotation. A tool or library " +"encountering an ``Annotated`` type can scan through the metadata elements to " +"determine if they are of interest (e.g., using :func:`isinstance`)." msgstr "" +"A responsabilidade de como interpretar os metadados é da ferramenta ou da " +"biblioteca que encontrar uma anotação ``Annotated``. Uma ferramenta ou " +"biblioteca que encontrar um tipo ``Annotated`` poderá examinar os elementos " +"de metadados para determinar se eles são de interesse (por exemplo, " +"usando :func:`isinstance`)." -#: ../../library/typing.rst:1093 +#: ../../library/typing.rst:1242 msgid "" -"Passing ``include_extras=True`` to :func:`get_type_hints` lets one access " -"the extra annotations at runtime." +"Here is an example of how you might use ``Annotated`` to add metadata to " +"type annotations if you were doing range analysis:" msgstr "" +"Aqui está um exemplo de como você pode usar ``Annotated`` para adicionar " +"metadados a anotações de tipos se estiver fazendo uma análise de intervalos:" -#: ../../library/typing.rst:1096 -msgid "The details of the syntax:" -msgstr "Os detalhes da sintaxe:" +#: ../../library/typing.rst:1255 +msgid "Details of the syntax:" +msgstr "Detalhes da sintaxe:" -#: ../../library/typing.rst:1098 +#: ../../library/typing.rst:1257 msgid "The first argument to ``Annotated`` must be a valid type" -msgstr "" +msgstr "O primeiro argumento de ``Annotated`` deve ser um tipo válido" -#: ../../library/typing.rst:1100 +#: ../../library/typing.rst:1259 msgid "" -"Multiple type annotations are supported (``Annotated`` supports variadic " +"Multiple metadata elements can be supplied (``Annotated`` supports variadic " "arguments)::" msgstr "" +"Múltiplos elementos de metadados podem ser fornecidos (``Annotated`` dá " +"suporte a argumentos variádicos)::" + +#: ../../library/typing.rst:1268 +msgid "" +"It is up to the tool consuming the annotations to decide whether the client " +"is allowed to add multiple metadata elements to one annotation and how to " +"merge those annotations." +msgstr "" +"Cabe à ferramenta que consome as anotações decidir se o cliente tem " +"permissão de adicionar vários elementos de metadados a uma anotação e como " +"mesclar essas anotações." -#: ../../library/typing.rst:1105 +#: ../../library/typing.rst:1272 msgid "" -"``Annotated`` must be called with at least two arguments " +"``Annotated`` must be subscripted with at least two arguments " "( ``Annotated[int]`` is not valid)" msgstr "" +"``Annotated`` deve ser subscrito com pelo menos dois argumentos " +"(``Annotated[int]`` é inválido)" -#: ../../library/typing.rst:1108 +#: ../../library/typing.rst:1275 msgid "" -"The order of the annotations is preserved and matters for equality checks::" +"The order of the metadata elements is preserved and matters for equality " +"checks::" msgstr "" +"A ordem dos elementos de metadados é preservada e é importante em " +"verificações de igualdade::" -#: ../../library/typing.rst:1115 +#: ../../library/typing.rst:1282 +msgid "" +"Nested ``Annotated`` types are flattened. The order of the metadata elements " +"starts with the innermost annotation::" +msgstr "" +"Os tipos ``Annotated`` aninhados são achatados. A ordem dos elementos de " +"metadados começa com a anotação mais interna::" + +#: ../../library/typing.rst:1289 +msgid "Duplicated metadata elements are not removed::" +msgstr "Elementos duplicados de metadata não são removidos::" + +#: ../../library/typing.rst:1295 +msgid "``Annotated`` can be used with nested and generic aliases:" +msgstr "" +"``Annotated`` pode ser usado com apelidos aninhados e apelidos genéricos:" + +#: ../../library/typing.rst:1308 +msgid "``Annotated`` cannot be used with an unpacked :class:`TypeVarTuple`::" +msgstr "" +"``Annotated`` não pode ser usado com um :class:`TypeVarTuple` desempacotado::" + +#: ../../library/typing.rst:1312 +msgid "This would be equivalent to::" +msgstr "Isso deve equivaler a::" + +#: ../../library/typing.rst:1316 +msgid "" +"where ``T1``, ``T2``, etc. are :class:`TypeVars `. This would be " +"invalid: only one type should be passed to Annotated." +msgstr "" +"onde ``T1``, ``T2``, etc. são :class:`TypeVars `. Isso seria " +"inválido: somente um tipo deve ser passado para Annotated." + +#: ../../library/typing.rst:1319 msgid "" -"Nested ``Annotated`` types are flattened, with metadata ordered starting " -"with the innermost annotation::" +"By default, :func:`get_type_hints` strips the metadata from annotations. " +"Pass ``include_extras=True`` to have the metadata preserved:" msgstr "" +"Por padrão, :func:`get_type_hints` retira os metadados de anotações. Passe " +"``include_extras=True`` para preservar os metadados:" -#: ../../library/typing.rst:1122 -msgid "Duplicated annotations are not removed::" +#: ../../library/typing.rst:1332 +msgid "" +"At runtime, the metadata associated with an ``Annotated`` type can be " +"retrieved via the :attr:`!__metadata__` attribute:" msgstr "" +"Em tempo de execução, os metadados associados a um tipo ``Annotated`` podem " +"ser recuperados por meio do atributo :attr:`!__metadata__`:" + +#: ../../library/typing.rst:1346 +msgid ":pep:`593` - Flexible function and variable annotations" +msgstr ":pep:`593` - Anotações flexíveis para funções e variáveis" -#: ../../library/typing.rst:1128 -msgid "``Annotated`` can be used with nested and generic aliases::" +#: ../../library/typing.rst:1347 +msgid "The PEP introducing ``Annotated`` to the standard library." +msgstr "A PEP que introduz ``Annotated`` à biblioteca padrão." + +#: ../../library/typing.rst:1354 +msgid "Special typing construct for marking user-defined type guard functions." msgstr "" -#: ../../library/typing.rst:1141 +#: ../../library/typing.rst:1356 msgid "" -"Special typing form used to annotate the return type of a user-defined type " +"``TypeGuard`` can be used to annotate the return type of a user-defined type " "guard function. ``TypeGuard`` only accepts a single type argument. At " "runtime, functions marked this way should return a boolean." msgstr "" -#: ../../library/typing.rst:1145 +#: ../../library/typing.rst:1360 msgid "" "``TypeGuard`` aims to benefit *type narrowing* -- a technique used by static " "type checkers to determine a more precise type of an expression within a " @@ -1222,44 +1584,48 @@ msgid "" "conditional expression here is sometimes referred to as a \"type guard\"::" msgstr "" -#: ../../library/typing.rst:1160 +#: ../../library/typing.rst:1375 msgid "" "Sometimes it would be convenient to use a user-defined boolean function as a " "type guard. Such a function should use ``TypeGuard[...]`` as its return " "type to alert static type checkers to this intention." msgstr "" -#: ../../library/typing.rst:1164 +#: ../../library/typing.rst:1379 msgid "" "Using ``-> TypeGuard`` tells the static type checker that for a given " "function:" msgstr "" +"Usar ``-> TypeGuard`` informa ao verificador de tipo estático que, para uma " +"determinada função:" -#: ../../library/typing.rst:1167 +#: ../../library/typing.rst:1382 msgid "The return value is a boolean." msgstr "O valor de retorno é um booleano." -#: ../../library/typing.rst:1168 +#: ../../library/typing.rst:1383 msgid "" "If the return value is ``True``, the type of its argument is the type inside " "``TypeGuard``." msgstr "" +"Se o valor de retorno for ``True``, o tipo de seu argumento é o tipo dentro " +"de ``TypeGuard``." -#: ../../library/typing.rst:1185 +#: ../../library/typing.rst:1400 msgid "" "If ``is_str_list`` is a class or instance method, then the type in " "``TypeGuard`` maps to the type of the second parameter after ``cls`` or " "``self``." msgstr "" -#: ../../library/typing.rst:1189 +#: ../../library/typing.rst:1404 msgid "" "In short, the form ``def foo(arg: TypeA) -> TypeGuard[TypeB]: ...``, means " "that if ``foo(arg)`` returns ``True``, then ``arg`` narrows from ``TypeA`` " "to ``TypeB``." msgstr "" -#: ../../library/typing.rst:1195 +#: ../../library/typing.rst:1410 msgid "" "``TypeB`` need not be a narrower form of ``TypeA`` -- it can even be a wider " "form. The main reason is to allow for things like narrowing ``list[object]`` " @@ -1268,107 +1634,172 @@ msgid "" "guards is left to the user." msgstr "" -#: ../../library/typing.rst:1201 +#: ../../library/typing.rst:1416 msgid "" "``TypeGuard`` also works with type variables. See :pep:`647` for more " "details." msgstr "" +"``TypeGuard`` também funciona com tipos variáveis. Consulte a :pep:`647` " +"para obter mais detalhes." + +#: ../../library/typing.rst:1423 +msgid "Typing operator to conceptually mark an object as having been unpacked." +msgstr "" +"Operador de tipagem para marcar conceitualmente um objeto como tendo sido " +"desempacotado." + +#: ../../library/typing.rst:1425 +msgid "" +"For example, using the unpack operator ``*`` on a :ref:`type variable tuple " +"` is equivalent to using ``Unpack`` to mark the type variable " +"tuple as having been unpacked::" +msgstr "" +"Por exemplo, usar o operador de desempacotamento ``*`` em uma :ref:`tupla de " +"tipos variáveis ` equivale a usar o ``Unpack`` para marcar a " +"tupla de tipos variáveis como tendo sido desempacotada::" -#: ../../library/typing.rst:1207 +#: ../../library/typing.rst:1434 +msgid "" +"In fact, ``Unpack`` can be used interchangeably with ``*`` in the context " +"of :class:`typing.TypeVarTuple ` and :class:`builtins.tuple " +"` types. You might see ``Unpack`` being used explicitly in older " +"versions of Python, where ``*`` couldn't be used in certain places::" +msgstr "" +"Na verdade, ``Unpack`` pode ser usado de forma intercambiável com ``*`` no " +"contexto dos tipos :class:`typing.TypeVarTuple ` " +"e :class:`builtins.tuple `. Você pode ver ``Unpack`` sendo usado " +"explicitamente em versões mais antigas do Python, onde ``*`` não podia ser " +"usado em certos lugares::" + +#: ../../library/typing.rst:1451 msgid "Building generic types" msgstr "Construindo tipos genéricos" -#: ../../library/typing.rst:1209 +#: ../../library/typing.rst:1453 msgid "" -"These are not used in annotations. They are building blocks for creating " -"generic types." +"The following classes should not be used directly as annotations. Their " +"intended purpose is to be building blocks for creating generic types." msgstr "" -#: ../../library/typing.rst:1213 +#: ../../library/typing.rst:1459 msgid "Abstract base class for generic types." -msgstr "" +msgstr "Classe base abstrata para tipos genéricos" -#: ../../library/typing.rst:1215 +#: ../../library/typing.rst:1461 msgid "" "A generic type is typically declared by inheriting from an instantiation of " "this class with one or more type variables. For example, a generic mapping " "type might be defined as::" msgstr "" -#: ../../library/typing.rst:1224 +#: ../../library/typing.rst:1470 msgid "This class can then be used as follows::" -msgstr "" +msgstr "Esta classe pode ser utilizada como segue::" -#: ../../library/typing.rst:1237 +#: ../../library/typing.rst:1485 msgid "Type variable." msgstr "Tipo variável." -#: ../../library/typing.rst:1239 ../../library/typing.rst:1436 -#: ../../library/typing.rst:1629 +#: ../../library/typing.rst:1487 ../../library/typing.rst:1584 +#: ../../library/typing.rst:1694 ../../library/typing.rst:1808 +#: ../../library/typing.rst:1879 ../../library/typing.rst:2766 msgid "Usage::" msgstr "Uso::" -#: ../../library/typing.rst:1245 +#: ../../library/typing.rst:1493 msgid "" "Type variables exist primarily for the benefit of static type checkers. " "They serve as the parameters for generic types as well as for generic " -"function definitions. See :class:`Generic` for more information on generic " -"types. Generic functions work as follows::" +"function and type alias definitions. See :class:`Generic` for more " +"information on generic types. Generic functions work as follows::" msgstr "" +"Tipos variáveis existem principalmente para o benefício de verificadores de " +"tipo estático. Eles servem como parâmetros para tipos genéricos, bem como " +"para definições de função genérica e apelidos de tipo. " +"Consulte :class:`Generic` para obter mais informações sobre genérico. " +"Funções genéricas funcionam da seguinte forma::" -#: ../../library/typing.rst:1265 +#: ../../library/typing.rst:1514 msgid "" "Note that type variables can be *bound*, *constrained*, or neither, but " "cannot be both bound *and* constrained." msgstr "" +"Observe que tipos variáveis podem ser *delimitados*, *restritos*, nenhum dos " +"dois, mas não podem ser *ambos*." -#: ../../library/typing.rst:1268 +#: ../../library/typing.rst:1517 +msgid "" +"Type variables may be marked covariant or contravariant by passing " +"``covariant=True`` or ``contravariant=True``. See :pep:`484` for more " +"details. By default, type variables are invariant." +msgstr "" + +#: ../../library/typing.rst:1521 msgid "" "Bound type variables and constrained type variables have different semantics " "in several important ways. Using a *bound* type variable means that the " "``TypeVar`` will be solved using the most specific type possible::" msgstr "" -#: ../../library/typing.rst:1283 +#: ../../library/typing.rst:1536 msgid "" "Type variables can be bound to concrete types, abstract types (ABCs or " "protocols), and even unions of types::" msgstr "" -#: ../../library/typing.rst:1289 +#: ../../library/typing.rst:1544 msgid "" "Using a *constrained* type variable, however, means that the ``TypeVar`` can " "only ever be solved as being exactly one of the constraints given::" msgstr "" +"Porém, usar um tipo variável *restrito* significa que a ``TypeVar`` só " +"poderá ser resolvida como sendo exatamente uma das restrições dadas::" -#: ../../library/typing.rst:1300 -msgid "" -"At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`. In general, :" -"func:`isinstance` and :func:`issubclass` should not be used with types." +#: ../../library/typing.rst:1555 +msgid "At runtime, ``isinstance(x, T)`` will raise :exc:`TypeError`." +msgstr "Em tempo de execução, ``isinstance(x, T)`` levantará :exc:`TypeError`." + +#: ../../library/typing.rst:1559 +msgid "The name of the type variable." +msgstr "O nome do tipo variável." + +#: ../../library/typing.rst:1563 +msgid "Whether the type var has been marked as covariant." msgstr "" -#: ../../library/typing.rst:1303 -msgid "" -"Type variables may be marked covariant or contravariant by passing " -"``covariant=True`` or ``contravariant=True``. See :pep:`484` for more " -"details. By default, type variables are invariant." +#: ../../library/typing.rst:1567 +msgid "Whether the type var has been marked as contravariant." +msgstr "" + +#: ../../library/typing.rst:1571 +msgid "The bound of the type variable, if any." msgstr "" -#: ../../library/typing.rst:1309 +#: ../../library/typing.rst:1575 +msgid "A tuple containing the constraints of the type variable, if any." +msgstr "Um tupla contendo as restrições do tipo variável, se houver." + +#: ../../library/typing.rst:1581 msgid "" -"Type variable tuple. A specialized form of :class:`type variable ` " +"Type variable tuple. A specialized form of :ref:`type variable ` " "that enables *variadic* generics." msgstr "" +"Tupla de tipo variável. Uma forma especializada de :ref:`tipo variável " +"` que permite genéricos *variádicos*." -#: ../../library/typing.rst:1312 +#: ../../library/typing.rst:1592 msgid "" "A normal type variable enables parameterization with a single type. A type " "variable tuple, in contrast, allows parameterization with an *arbitrary* " "number of types by acting like an *arbitrary* number of type variables " "wrapped in a tuple. For example::" msgstr "" +"Um tipo variável normal permite a parametrização com um único tipo. Uma " +"tupla de tipos variáveis, por outro lado, permite a parametrização com um " +"número *arbitrário* de tipos, agindo como um número *arbitrário* de tipos " +"variáveis envolvidos em um tupla. Por exemplo::" -#: ../../library/typing.rst:1340 +#: ../../library/typing.rst:1614 msgid "" "Note the use of the unpacking operator ``*`` in ``tuple[T, *Ts]``. " "Conceptually, you can think of ``Ts`` as a tuple of type variables ``(T1, " @@ -1377,37 +1808,54 @@ msgid "" "older versions of Python, you might see this written using :data:`Unpack " "` instead, as ``Unpack[Ts]``.)" msgstr "" +"Observe o uso do operador de desempacotamento ``*`` em ``tuple[T, *Ts]``. " +"Conceitualmente, você pode interpretar ``Ts`` como uma tupla de tipos " +"variáveis ``(T1, T2, ...)`` . Então o tipo ``tuple[T, *Ts]`` se tornaria " +"``tuple[T, *(T1, T2, ...)]``, que equivale a ``tuple[T, T1, T2, ...]``. " +"(Note que, em versões mais antigas de Python, você pode encontrar isso " +"escrito com :data:`Unpack ` em vez de ``Unpack[Ts]``.)" -#: ../../library/typing.rst:1348 +#: ../../library/typing.rst:1622 msgid "" "Type variable tuples must *always* be unpacked. This helps distinguish type " "variable tuples from normal type variables::" msgstr "" +"Tuplas de tipos variáveis devem *sempre* ser desempacotadas. Isso ajuda a " +"distinguir entre tuplas de tipos variáveis e tipos variáveis normais::" -#: ../../library/typing.rst:1355 +#: ../../library/typing.rst:1629 msgid "" "Type variable tuples can be used in the same contexts as normal type " "variables. For example, in class definitions, arguments, and return types::" msgstr "" +"As tuplas de tipos variáveis podem ser usadas no mesmo contexto que tipos " +"variáveis normais. Por exemplo, em argumentos, tipos de retorno e definições " +"de classes::" -#: ../../library/typing.rst:1364 +#: ../../library/typing.rst:1638 msgid "" -"Type variable tuples can be happily combined with normal type variables::" +"Type variable tuples can be happily combined with normal type variables:" msgstr "" +"As tuplas de tipos variáveis podem ser combinadas com tipos variáveis " +"normais:" -#: ../../library/typing.rst:1377 +#: ../../library/typing.rst:1657 msgid "" "However, note that at most one type variable tuple may appear in a single " "list of type arguments or type parameters::" msgstr "" +"No entanto, observe que no máximo uma tupla de tipos variáveis pode aparecer " +"em uma única lista de argumentos de tipo ou parâmetros de tipo::" -#: ../../library/typing.rst:1384 +#: ../../library/typing.rst:1664 msgid "" "Finally, an unpacked type variable tuple can be used as the type annotation " "of ``*args``::" msgstr "" +"Por fim, uma tupla de tipos variáveis desempacotada pode ser usada como " +"anotação de tipo de ``*args``::" -#: ../../library/typing.rst:1394 +#: ../../library/typing.rst:1674 msgid "" "In contrast to non-unpacked annotations of ``*args`` - e.g. ``*args: int``, " "which would specify that *all* arguments are ``int`` - ``*args: *Ts`` " @@ -1415,33 +1863,31 @@ msgid "" "Here, this allows us to ensure the types of the ``*args`` passed to " "``call_soon`` match the types of the (positional) arguments of ``callback``." msgstr "" +"Ao contrário do que acontece com anotações não desempacotadas de ``*args`` - " +"por exemplo, ``*args: int``, que especificaria que *todos* os argumentos são " +"``int`` -, ``*args: *Ts`` permite referenciar os tipos de cada argumento em " +"``*args`` *individualmente*. Isso nos permite garantir que os tipos em " +"``*args`` passados para ``call_soon`` correspondem aos tipos dos argumentos " +"(posicionais) de ``callback``." -#: ../../library/typing.rst:1401 +#: ../../library/typing.rst:1681 msgid "See :pep:`646` for more details on type variable tuples." msgstr "" +"Consulte a :pep:`646` para mais detalhes sobre tuplas de tipos variáveis." -#: ../../library/typing.rst:1407 -msgid "" -"A typing operator that conceptually marks an object as having been unpacked. " -"For example, using the unpack operator ``*`` on a :class:`type variable " -"tuple ` is equivalent to using ``Unpack`` to mark the type " -"variable tuple as having been unpacked::" -msgstr "" - -#: ../../library/typing.rst:1417 -msgid "" -"In fact, ``Unpack`` can be used interchangeably with ``*`` in the context of " -"types. You might see ``Unpack`` being used explicitly in older versions of " -"Python, where ``*`` couldn't be used in certain places::" -msgstr "" +#: ../../library/typing.rst:1685 +msgid "The name of the type variable tuple." +msgstr "O nome da tupla de tipos variáveis." -#: ../../library/typing.rst:1433 +#: ../../library/typing.rst:1691 msgid "" -"Parameter specification variable. A specialized version of :class:`type " -"variables `." +"Parameter specification variable. A specialized version of :ref:`type " +"variables `." msgstr "" +"Variável de especificação de parâmetro. Uma versão especializada " +"de :ref:`tipos variáveis `." -#: ../../library/typing.rst:1440 +#: ../../library/typing.rst:1698 msgid "" "Parameter specification variables exist primarily for the benefit of static " "type checkers. They are used to forward the parameter types of one callable " @@ -1450,177 +1896,163 @@ msgid "" "first argument to ``Callable``, or as parameters for user-defined Generics. " "See :class:`Generic` for more information on generic types." msgstr "" +"Variáveis de especificação de parâmetro existem principalmente para o " +"benefício de verificadores de tipo estático. São usadas para encaminhar os " +"tipos de parâmetros de um chamável para outro chamável -- um padrão " +"comumente encontrado em funções e decoradores de ordem superior. Só são " +"válidas quando usados em ``Concatenate``, ou como o primeiro argumento para " +"``Callable``, ou como parâmetro para genéricos definidos pelo usuário. " +"Consulte :class:`Generic` para obter mais informações sobre tipos genéricos." -#: ../../library/typing.rst:1447 +#: ../../library/typing.rst:1705 msgid "" "For example, to add basic logging to a function, one can create a decorator " "``add_logging`` to log function calls. The parameter specification variable " "tells the type checker that the callable passed into the decorator and the " "new callable returned by it have inter-dependent type parameters::" msgstr "" +"Por exemplo, para adicionar um registro básico de eventos a uma função, é " +"possível criar um decorador ``add_logging`` para registrar chamadas de " +"função. A variável de especificação de parâmetro informa ao verificador de " +"tipos que o chamável passado para o decorador e o novo chamável retornado " +"por ele têm parâmetros de tipo interdependentes::" -#: ../../library/typing.rst:1471 +#: ../../library/typing.rst:1729 msgid "" "Without ``ParamSpec``, the simplest way to annotate this previously was to " "use a :class:`TypeVar` with bound ``Callable[..., Any]``. However this " "causes two problems:" msgstr "" -#: ../../library/typing.rst:1475 +#: ../../library/typing.rst:1733 msgid "" "The type checker can't type check the ``inner`` function because ``*args`` " "and ``**kwargs`` have to be typed :data:`Any`." msgstr "" +"O verificador de tipos não consegue verificar a função ``inner``, porque " +"``*args`` e ``**kwargs`` precisam ter tipo :data:`Any`." -#: ../../library/typing.rst:1477 +#: ../../library/typing.rst:1735 msgid "" ":func:`~cast` may be required in the body of the ``add_logging`` decorator " "when returning the ``inner`` function, or the static type checker must be " "told to ignore the ``return inner``." msgstr "" +":func:`~cast` pode ser exigida no corpo do decorador ``add_logging`` ao " +"retornar a função ``inner``, ou o verificador de tipo estático deverá ser " +"instruído a ignorar o ``return inner``." -#: ../../library/typing.rst:1484 +#: ../../library/typing.rst:1742 msgid "" -"Since ``ParamSpec`` captures both positional and keyword parameters, ``P." -"args`` and ``P.kwargs`` can be used to split a ``ParamSpec`` into its " +"Since ``ParamSpec`` captures both positional and keyword parameters, " +"``P.args`` and ``P.kwargs`` can be used to split a ``ParamSpec`` into its " "components. ``P.args`` represents the tuple of positional parameters in a " "given call and should only be used to annotate ``*args``. ``P.kwargs`` " "represents the mapping of keyword parameters to their values in a given " "call, and should be only be used to annotate ``**kwargs``. Both attributes " "require the annotated parameter to be in scope. At runtime, ``P.args`` and " -"``P.kwargs`` are instances respectively of :class:`ParamSpecArgs` and :class:" -"`ParamSpecKwargs`." -msgstr "" - -#: ../../library/typing.rst:1494 +"``P.kwargs`` are instances respectively of :class:`ParamSpecArgs` " +"and :class:`ParamSpecKwargs`." +msgstr "" +"Como ``ParamSpec`` captura tanto parâmetros posicionais quanto parâmetros " +"nomeados, ``P.args`` e ``P.kwargs`` podem ser usados para dividir um " +"``ParamSpec`` em seus componentes. ``P.args`` representa a tupla de " +"parâmetros posicionais em uma determinada chamada e só deve ser usada para " +"anotar ``*args``. ``P.kwargs`` representa o mapeamento de parâmetros " +"nomeados para seus valores em uma determinada chamada, e só deve ser usado " +"para anotar ``**kwargs``. Ambos os atributos exigem que o parâmetro anotado " +"esteja em escopo. Em tempo de execução, ``P.args`` e ``P.kwargs`` são " +"instâncias, respectivamente, de :class:`ParamSpecArgs` " +"e :class:`ParamSpecKwargs`." + +#: ../../library/typing.rst:1754 +msgid "The name of the parameter specification." +msgstr "O nome da especificação de parâmetros." + +#: ../../library/typing.rst:1756 msgid "" "Parameter specification variables created with ``covariant=True`` or " "``contravariant=True`` can be used to declare covariant or contravariant " -"generic types. The ``bound`` argument is also accepted, similar to :class:" -"`TypeVar`. However the actual semantics of these keywords are yet to be " -"decided." +"generic types. The ``bound`` argument is also accepted, similar " +"to :class:`TypeVar`. However the actual semantics of these keywords are yet " +"to be decided." msgstr "" +"Variáveis de especificação de parâmetros criadas com ``covariant=True`` ou " +"``contravariant=True`` podem ser usadas para declarar tipos genéricos " +"covariantes ou contravariantes. O argumento ``bound`` também é aceito, " +"semelhante ao :class:`TypeVar`. Porém, a semântica real dessas palavras " +"reservadas ainda não foi decidida." -#: ../../library/typing.rst:1503 +#: ../../library/typing.rst:1765 msgid "" "Only parameter specification variables defined in global scope can be " "pickled." msgstr "" +"Somente variáveis de especificação de parâmetro definidas em escopo global " +"podem ser serializadas com pickle." -#: ../../library/typing.rst:1509 -msgid ":class:`Callable` and :class:`Concatenate`." -msgstr "" +#: ../../library/typing.rst:1771 +msgid ":data:`Concatenate`" +msgstr ":data:`Concatenate`" -#: ../../library/typing.rst:1514 +#: ../../library/typing.rst:1777 msgid "" -"Arguments and keyword arguments attributes of a :class:`ParamSpec`. The ``P." -"args`` attribute of a ``ParamSpec`` is an instance of ``ParamSpecArgs``, and " -"``P.kwargs`` is an instance of ``ParamSpecKwargs``. They are intended for " -"runtime introspection and have no special meaning to static type checkers." +"Arguments and keyword arguments attributes of a :class:`ParamSpec`. The " +"``P.args`` attribute of a ``ParamSpec`` is an instance of ``ParamSpecArgs``, " +"and ``P.kwargs`` is an instance of ``ParamSpecKwargs``. They are intended " +"for runtime introspection and have no special meaning to static type " +"checkers." msgstr "" +"Tipos dos argumentos e dos argumentos nomeados de um :class:`ParamSpec`. O " +"atributo ``P.args`` de um ``ParamSpec`` é uma instância de " +"``ParamSpecArgs``, e o atributo ``P.kwargs`` é uma instância de " +"``ParamSpecKwargs``. São destinados à introspecção em tempo de execução, e " +"não têm nenhum significado especial para o verificador de tipo estático." -#: ../../library/typing.rst:1519 +#: ../../library/typing.rst:1782 msgid "" "Calling :func:`get_origin` on either of these objects will return the " -"original ``ParamSpec``::" -msgstr "" - -#: ../../library/typing.rst:1531 -msgid "" -"``AnyStr`` is a :class:`constrained type variable ` defined as " -"``AnyStr = TypeVar('AnyStr', str, bytes)``." -msgstr "" - -#: ../../library/typing.rst:1534 -msgid "" -"It is meant to be used for functions that may accept any kind of string " -"without allowing different kinds of strings to mix. For example::" -msgstr "" - -#: ../../library/typing.rst:1546 -msgid "" -"Base class for protocol classes. Protocol classes are defined like this::" -msgstr "" - -#: ../../library/typing.rst:1552 -msgid "" -"Such classes are primarily used with static type checkers that recognize " -"structural subtyping (static duck-typing), for example::" -msgstr "" - -#: ../../library/typing.rst:1564 -msgid "" -"See :pep:`544` for more details. Protocol classes decorated with :func:" -"`runtime_checkable` (described later) act as simple-minded runtime protocols " -"that check only the presence of given attributes, ignoring their type " -"signatures." -msgstr "" - -#: ../../library/typing.rst:1569 -msgid "Protocol classes can be generic, for example::" -msgstr "" - -#: ../../library/typing.rst:1579 -msgid "Mark a protocol class as a runtime protocol." -msgstr "" - -#: ../../library/typing.rst:1581 -msgid "" -"Such a protocol can be used with :func:`isinstance` and :func:`issubclass`. " -"This raises :exc:`TypeError` when applied to a non-protocol class. This " -"allows a simple-minded structural check, very similar to \"one trick " -"ponies\" in :mod:`collections.abc` such as :class:`~collections.abc." -"Iterable`. For example::" -msgstr "" - -#: ../../library/typing.rst:1601 -msgid "" -":func:`!runtime_checkable` will check only the presence of the required " -"methods or attributes, not their type signatures or types. For example, :" -"class:`ssl.SSLObject` is a class, therefore it passes an :func:`issubclass` " -"check against :data:`Callable`. However, the ``ssl.SSLObject.__init__`` " -"method exists only to raise a :exc:`TypeError` with a more informative " -"message, therefore making it impossible to call (instantiate) :class:`ssl." -"SSLObject`." -msgstr "" - -#: ../../library/typing.rst:1612 -msgid "" -"An :func:`isinstance` check against a runtime-checkable protocol can be " -"surprisingly slow compared to an ``isinstance()`` check against a non-" -"protocol class. Consider using alternative idioms such as :func:`hasattr` " -"calls for structural checks in performance-sensitive code." +"original ``ParamSpec``:" msgstr "" +"Chamar :func:`get_origin` em qualquer um desses objetos retornará o " +"``ParamSpec`` original:" -#: ../../library/typing.rst:1621 +#: ../../library/typing.rst:1798 msgid "Other special directives" msgstr "Outras diretivas especiais" -#: ../../library/typing.rst:1623 +#: ../../library/typing.rst:1800 msgid "" -"These are not used in annotations. They are building blocks for declaring " +"These functions and classes should not be used directly as annotations. " +"Their intended purpose is to be building blocks for creating and declaring " "types." msgstr "" +"Essas funções e classes não devem ser usadas diretamente como anotações. O " +"objetivo é que sejam blocos de construção para criar e declarar tipos." -#: ../../library/typing.rst:1627 +#: ../../library/typing.rst:1806 msgid "Typed version of :func:`collections.namedtuple`." -msgstr "" +msgstr "Versão tipada de :func:`collections.namedtuple`." -#: ../../library/typing.rst:1635 +#: ../../library/typing.rst:1814 msgid "This is equivalent to::" msgstr "Isso equivale a::" -#: ../../library/typing.rst:1639 +#: ../../library/typing.rst:1818 msgid "" "To give a field a default value, you can assign to it in the class body::" msgstr "" +"Para dar um valor padrão a um campo, você pode atribuir um valor a ele no " +"corpo da classe::" -#: ../../library/typing.rst:1648 +#: ../../library/typing.rst:1827 msgid "" "Fields with a default value must come after any fields without a default." msgstr "" +"Campos com valor padrão devem vir depois de quaisquer campos sem valor " +"padrão." -#: ../../library/typing.rst:1650 +#: ../../library/typing.rst:1829 msgid "" "The resulting class has an extra attribute ``__annotations__`` giving a dict " "that maps the field names to the field types. (The field names are in the " @@ -1628,1266 +2060,1962 @@ msgid "" "attribute, both of which are part of the :func:`~collections.namedtuple` " "API.)" msgstr "" +"A classe resultante tem um atributo extra ``__annotations__`` que fornece um " +"dicionário que mapeia os nomes de campos para os tipos de campos. (Os nomes " +"de campos estão no atributo ``_fields`` e os valores padrões estão no " +"atributo ``_field_defaults``, e ambos fazem parte da API " +"de :func:`~collections.namedtuple`.)" -#: ../../library/typing.rst:1656 +#: ../../library/typing.rst:1835 msgid "``NamedTuple`` subclasses can also have docstrings and methods::" msgstr "" +"Subclasses de ``NamedTuple`` também podem ter strings de documentação e " +"métodos::" -#: ../../library/typing.rst:1666 +#: ../../library/typing.rst:1845 msgid "``NamedTuple`` subclasses can be generic::" -msgstr "" +msgstr "Subclasses de ``NamedTuple`` podem ser genéricas::" -#: ../../library/typing.rst:1672 +#: ../../library/typing.rst:1851 msgid "Backward-compatible usage::" -msgstr "" +msgstr "Uso retrocompatível::" -#: ../../library/typing.rst:1676 +#: ../../library/typing.rst:1855 msgid "Added support for :pep:`526` variable annotation syntax." -msgstr "" +msgstr "Adiciona suporte à sintaxe de anotação de variáveis da :pep:`526`." -#: ../../library/typing.rst:1679 +#: ../../library/typing.rst:1858 msgid "Added support for default values, methods, and docstrings." -msgstr "" +msgstr "Adiciona suporte a valores padrões, métodos, e docstrings." -#: ../../library/typing.rst:1682 +#: ../../library/typing.rst:1861 msgid "" "The ``_field_types`` and ``__annotations__`` attributes are now regular " "dictionaries instead of instances of ``OrderedDict``." msgstr "" +"Os atributos ``_field_types`` e ``__annotations__`` agora são dicionários " +"regulares em vez de instâncias de ``OrderedDict``." -#: ../../library/typing.rst:1686 +#: ../../library/typing.rst:1865 msgid "" "Removed the ``_field_types`` attribute in favor of the more standard " "``__annotations__`` attribute which has the same information." msgstr "" +"Remove o atributo ``_field_types`` em favor do atributo mais padronizado " +"``__annotations__`` que tem as mesmas informações." -#: ../../library/typing.rst:1690 +#: ../../library/typing.rst:1869 msgid "Added support for generic namedtuples." +msgstr "Adiciona suporte a tuplas nomeadas genéricas." + +#: ../../library/typing.rst:1874 +msgid "Helper class to create low-overhead :ref:`distinct types `." msgstr "" +"Classe auxiliar para criar :ref:`tipos únicos ` com baixo custo." -#: ../../library/typing.rst:1695 +#: ../../library/typing.rst:1876 msgid "" -"A helper class to indicate a distinct type to a typechecker, see :ref:" -"`distinct`. At runtime it returns an object that returns its argument when " -"called. Usage::" +"A ``NewType`` is considered a distinct type by a typechecker. At runtime, " +"however, calling a ``NewType`` returns its argument unchanged." msgstr "" +"Um tipo ``NewType`` é considerado um tipo distinto por um verificador de " +"tipos. Porém, em tempo de execução, chamar ``NewType`` retorna seu argumento " +"inalterado." -#: ../../library/typing.rst:1705 +#: ../../library/typing.rst:1886 +msgid "The module in which the new type is defined." +msgstr "O módulo no qual o novo tipo está definido." + +#: ../../library/typing.rst:1890 +msgid "The name of the new type." +msgstr "O nome do novo tipo." + +#: ../../library/typing.rst:1894 +msgid "The type that the new type is based on." +msgstr "O tipo na qual o novo tipo é baseado." + +#: ../../library/typing.rst:1898 msgid "``NewType`` is now a class rather than a function." +msgstr "``NewType`` agora é uma classe em vez de uma função." + +#: ../../library/typing.rst:1903 +msgid "Base class for protocol classes." +msgstr "Classe base para classes de protocolo." + +#: ../../library/typing.rst:1905 +msgid "Protocol classes are defined like this::" +msgstr "Classes de protocolo são definidas assim::" + +#: ../../library/typing.rst:1911 +msgid "" +"Such classes are primarily used with static type checkers that recognize " +"structural subtyping (static duck-typing), for example::" +msgstr "" +"Essas classes são usadas principalmente com verificadores de tipo estático " +"que reconhecem a subtipagem estrutural (tipagem pato estática). Por exemplo::" + +#: ../../library/typing.rst:1923 +msgid "" +"See :pep:`544` for more details. Protocol classes decorated " +"with :func:`runtime_checkable` (described later) act as simple-minded " +"runtime protocols that check only the presence of given attributes, ignoring " +"their type signatures." +msgstr "" +"Consulte a :pep:`544` para obter mais detalhes. Classes de protocolo " +"decoradas com :func:`runtime_checkable` (descritas posteriormente) funcionam " +"como protocolos em tempo de execução simples, somente verificando a presença " +"de determinados atributos, e ignorando suas assinaturas de tipo." + +#: ../../library/typing.rst:1928 +msgid "Protocol classes can be generic, for example::" +msgstr "Classes de protocolo podem ser genéricas. Por exemplo::" + +#: ../../library/typing.rst:1940 +msgid "Mark a protocol class as a runtime protocol." +msgstr "Marca uma classe de protocolo como um protocolo de tempo de execução." + +#: ../../library/typing.rst:1942 +msgid "" +"Such a protocol can be used with :func:`isinstance` and :func:`issubclass`. " +"This raises :exc:`TypeError` when applied to a non-protocol class. This " +"allows a simple-minded structural check, very similar to \"one trick " +"ponies\" in :mod:`collections.abc` such " +"as :class:`~collections.abc.Iterable`. For example::" +msgstr "" +"Esse protocolo pode ser usado com :func:`isinstance` e :func:`issubclass`. " +"Isso levanta :exc:`TypeError` quando aplicado a uma classe não-protocolo. " +"Isso permite uma verificação estrutural simples, muito semelhante a \"pôneis " +"de um truque só\" em :mod:`collections.abc`, " +"como :class:`~collections.abc.Iterable`. Por exemplo::" + +#: ../../library/typing.rst:1962 +msgid "" +":func:`!runtime_checkable` will check only the presence of the required " +"methods or attributes, not their type signatures or types. For " +"example, :class:`ssl.SSLObject` is a class, therefore it passes " +"an :func:`issubclass` check against :ref:`Callable `. " +"However, the ``ssl.SSLObject.__init__`` method exists only to raise " +"a :exc:`TypeError` with a more informative message, therefore making it " +"impossible to call (instantiate) :class:`ssl.SSLObject`." +msgstr "" +":func:`!runtime_checkable` verificará apenas a presença dos métodos ou " +"atributos obrigatórios, em vez de tipos ou assinaturas de tipos. Por " +"exemplo, o :class:`ssl.SSLObject` é uma classe e, portanto, passa por uma " +"verificação :func:`issubclass` em relação a :ref:`Callable `. No entanto, o método ``ssl.SSLObject.__init__`` existe apenas " +"para levantar um :exc:`TypeError` com uma mensagem mais informativa, o que " +"impossibilita chamar (instanciar) o :class:`ssl.SSLObject`." + +#: ../../library/typing.rst:1973 +msgid "" +"An :func:`isinstance` check against a runtime-checkable protocol can be " +"surprisingly slow compared to an ``isinstance()`` check against a non-" +"protocol class. Consider using alternative idioms such as :func:`hasattr` " +"calls for structural checks in performance-sensitive code." msgstr "" +"uma verificação com :func:`isinstance` sobre um protocolo verificável em " +"tempo de execução pode ser surpreendentemente lenta se comparada a uma " +"verificação ``isinstance()`` sobre outros tipos de classe. Considere usar " +"expressões alternativas, como chamar a função :func:`hasattr` para realizar " +"verificações estruturais em código sensível a desempenho." -#: ../../library/typing.rst:1710 +#: ../../library/typing.rst:1984 msgid "" "Special construct to add type hints to a dictionary. At runtime it is a " "plain :class:`dict`." msgstr "" +"Uma construção especial para adicionar dicas de tipo a um dicionário. Em " +"tempo de execução, é um simples :class:`dict`." -#: ../../library/typing.rst:1713 +#: ../../library/typing.rst:1987 msgid "" "``TypedDict`` declares a dictionary type that expects all of its instances " "to have a certain set of keys, where each key is associated with a value of " "a consistent type. This expectation is not checked at runtime but is only " "enforced by type checkers. Usage::" msgstr "" +"``TypedDict`` declara um tipo dicionário que espera que todas as suas " +"instâncias tenham um determinado conjunto de chaves, onde cada chave está " +"associada a um valor de um tipo consistente. Essa expectativa não é " +"verificada em tempo de execução, mas é imposta apenas por verificadores de " +"tipos. Modo de usar::" -#: ../../library/typing.rst:1729 +#: ../../library/typing.rst:2003 msgid "" "To allow using this feature with older versions of Python that do not " "support :pep:`526`, ``TypedDict`` supports two additional equivalent " "syntactic forms:" msgstr "" -#: ../../library/typing.rst:1733 +#: ../../library/typing.rst:2007 msgid "Using a literal :class:`dict` as the second argument::" -msgstr "" +msgstr "Utilizando um literal :class:`dict` como segundo argumento::" -#: ../../library/typing.rst:1737 +#: ../../library/typing.rst:2011 msgid "Using keyword arguments::" msgstr "" -#: ../../library/typing.rst:1744 +#: ../../library/typing.rst:2018 msgid "" "The keyword-argument syntax is deprecated in 3.11 and will be removed in " "3.13. It may also be unsupported by static type checkers." msgstr "" -#: ../../library/typing.rst:1745 +#: ../../library/typing.rst:2019 msgid "" "The functional syntax should also be used when any of the keys are not " "valid :ref:`identifiers `, for example because they are " "keywords or contain hyphens. Example::" msgstr "" -#: ../../library/typing.rst:1757 +#: ../../library/typing.rst:2031 msgid "" "By default, all keys must be present in a ``TypedDict``. It is possible to " "mark individual keys as non-required using :data:`NotRequired`::" msgstr "" +"Por padrão, todas as chaves devem estar presentes em um ``TypedDict``. É " +"possível marcar chaves individuais como não-obrigatórias " +"usando :data:`NotRequired`::" -#: ../../library/typing.rst:1768 +#: ../../library/typing.rst:2042 msgid "" "This means that a ``Point2D`` ``TypedDict`` can have the ``label`` key " "omitted." msgstr "" +"Isso significa que um ``TypedDict`` ``Point2D`` pode ter a chave ``label`` " +"omitida." -#: ../../library/typing.rst:1771 +#: ../../library/typing.rst:2045 msgid "" "It is also possible to mark all keys as non-required by default by " "specifying a totality of ``False``::" msgstr "" +"Também é possível marcar todas as chaves como não necessárias por padrão, " +"especificando a totalidade como ``False``::" -#: ../../library/typing.rst:1781 +#: ../../library/typing.rst:2055 msgid "" "This means that a ``Point2D`` ``TypedDict`` can have any of the keys " "omitted. A type checker is only expected to support a literal ``False`` or " "``True`` as the value of the ``total`` argument. ``True`` is the default, " "and makes all items defined in the class body required." msgstr "" +"Isso significa que um ``TypedDict`` ``Point2D`` pode ter qualquer uma de " +"suas chaves omitidas. Espera-se que um verificador de tipos apenas permita " +"os literais ``False`` ou ``True`` como valores do argumento ``total``. " +"``True`` é o padrão, e todos os itens definidos no corpo da classe tornam-se " +"obrigatórios." -#: ../../library/typing.rst:1786 +#: ../../library/typing.rst:2060 msgid "" "Individual keys of a ``total=False`` ``TypedDict`` can be marked as required " "using :data:`Required`::" msgstr "" +"As chaves individuais de um ``TypedDict`` com ``total=False`` podem ser " +"marcadas como obrigatórias usando :data:`Required`::" -#: ../../library/typing.rst:1801 +#: ../../library/typing.rst:2075 msgid "" "It is possible for a ``TypedDict`` type to inherit from one or more other " "``TypedDict`` types using the class-based syntax. Usage::" msgstr "" +"É possível que um tipo ``TypedDict`` herde de um ou mais tipos ``TypedDict`` " +"usando a sintaxe baseada em classes. Modo de usar::" -#: ../../library/typing.rst:1808 +#: ../../library/typing.rst:2082 msgid "" "``Point3D`` has three items: ``x``, ``y`` and ``z``. It is equivalent to " "this definition::" msgstr "" +"``Point3D`` tem três itens: ``x``, ``y`` e ``z``. Equivale a esta definição::" -#: ../../library/typing.rst:1816 +#: ../../library/typing.rst:2090 msgid "" "A ``TypedDict`` cannot inherit from a non-\\ ``TypedDict`` class, except " "for :class:`Generic`. For example::" msgstr "" +"Um ``TypedDict`` não pode herdar de uma classe não ``TypedDict``, " +"exceto :class:`Generic`. Por exemplo::" -#: ../../library/typing.rst:1834 -msgid "A ``TypedDict`` can be generic::" +#: ../../library/typing.rst:2105 +msgid "A ``TypedDict`` can be generic:" msgstr "" -#: ../../library/typing.rst:1840 +#: ../../library/typing.rst:2115 msgid "" -"A ``TypedDict`` can be introspected via annotations dicts (see :ref:" -"`annotations-howto` for more information on annotations best practices), :" -"attr:`__total__`, :attr:`__required_keys__`, and :attr:`__optional_keys__`." +"A ``TypedDict`` can be introspected via annotations dicts " +"(see :ref:`annotations-howto` for more information on annotations best " +"practices), :attr:`__total__`, :attr:`__required_keys__`, " +"and :attr:`__optional_keys__`." msgstr "" +"Um ``TypedDict`` pode ser inspecionado por meio de dicionários de anotações " +"(consulte :ref:`annotations-howto` para obter mais informações sobre as " +"melhores práticas de " +"anotações), :attr:`__total__`, :attr:`__required_keys__` " +"e :attr:`__optional_keys__`." + +#: ../../library/typing.rst:2121 +msgid "" +"``Point2D.__total__`` gives the value of the ``total`` argument. Example:" +msgstr "``Point2D.__total__`` fornece o valor do argumento ``total``. Exemplo:" -#: ../../library/typing.rst:1846 +#: ../../library/typing.rst:2137 msgid "" -"``Point2D.__total__`` gives the value of the ``total`` argument. Example::" +"This attribute reflects *only* the value of the ``total`` argument to the " +"current ``TypedDict`` class, not whether the class is semantically total. " +"For example, a ``TypedDict`` with ``__total__`` set to True may have keys " +"marked with :data:`NotRequired`, or it may inherit from another " +"``TypedDict`` with ``total=False``. Therefore, it is generally better to " +"use :attr:`__required_keys__` and :attr:`__optional_keys__` for " +"introspection." msgstr "" -#: ../../library/typing.rst:1866 +#: ../../library/typing.rst:2150 msgid "" -"``Point2D.__required_keys__`` and ``Point2D.__optional_keys__`` return :" -"class:`frozenset` objects containing required and non-required keys, " +"``Point2D.__required_keys__`` and ``Point2D.__optional_keys__`` " +"return :class:`frozenset` objects containing required and non-required keys, " "respectively." msgstr "" +"``Point2D.__required_keys__`` e ``Point2D.__optional_keys__`` retornam " +"objetos :class:`frozenset` contendo chaves obrigatórias e opcionais, " +"respectivamente." -#: ../../library/typing.rst:1869 +#: ../../library/typing.rst:2153 msgid "" "Keys marked with :data:`Required` will always appear in " "``__required_keys__`` and keys marked with :data:`NotRequired` will always " "appear in ``__optional_keys__``." msgstr "" +"As chaves marcadas com :data:`Required` sempre aparecerão em " +"``__required_keys__`` e as chaves marcadas com :data:`NotRequired` sempre " +"aparecerão em ``__optional_keys__``." -#: ../../library/typing.rst:1872 +#: ../../library/typing.rst:2156 msgid "" "For backwards compatibility with Python 3.10 and below, it is also possible " "to use inheritance to declare both required and non-required keys in the " "same ``TypedDict`` . This is done by declaring a ``TypedDict`` with one " "value for the ``total`` argument and then inheriting from it in another " -"``TypedDict`` with a different value for ``total``::" +"``TypedDict`` with a different value for ``total``:" +msgstr "" +"Para manter a retrocompatibilidade com Python 3.10 e versões anteriores, " +"também é possível usar herança para declarar chaves obrigatórias e opcionais " +"no mesmo ``TypedDict``. Isso é feito declarando um ``TypedDict`` com um " +"valor para o argumento ``total`` e então herdando-a em outro ``TypedDict`` " +"usando um valor ``total`` diferente:" + +#: ../../library/typing.rst:2181 +msgid "" +"If ``from __future__ import annotations`` is used or if annotations are " +"given as strings, annotations are not evaluated when the ``TypedDict`` is " +"defined. Therefore, the runtime introspection that ``__required_keys__`` and " +"``__optional_keys__`` rely on may not work properly, and the values of the " +"attributes may be incorrect." msgstr "" +"Se ``from __future__ import annotations`` for usado ou se anotações forem " +"fornecidas como strings, as anotações não serão avaliadas quando o " +"``TypedDict`` for definido. Portanto, a introspecção em tempo de execução da " +"qual ``__required_keys__`` e ``__optional_keys__`` dependem pode não " +"funcionar corretamente, e os valores dos atributos podem estar incorretos." -#: ../../library/typing.rst:1893 +#: ../../library/typing.rst:2187 msgid "" "See :pep:`589` for more examples and detailed rules of using ``TypedDict``." msgstr "" +"Consulte :pep:`589` para obter mais exemplos e regras detalhadas sobre o uso " +"de ``TypedDict``." -#: ../../library/typing.rst:1897 +#: ../../library/typing.rst:2191 msgid "" -"Added support for marking individual keys as :data:`Required` or :data:" -"`NotRequired`. See :pep:`655`." +"Added support for marking individual keys as :data:`Required` " +"or :data:`NotRequired`. See :pep:`655`." msgstr "" +"Adicionado suporte para marcar chaves individuais como :data:`Required` " +"ou :data:`NotRequired`. Consulte :pep:`655`." -#: ../../library/typing.rst:1901 +#: ../../library/typing.rst:2195 msgid "Added support for generic ``TypedDict``\\ s." -msgstr "" +msgstr "Adicionado suporte para ``TypedDict``\\ s genéricos." -#: ../../library/typing.rst:1905 -msgid "Generic concrete collections" -msgstr "" +#: ../../library/typing.rst:2199 +msgid "Protocols" +msgstr "Protocolos" -#: ../../library/typing.rst:1908 -msgid "Corresponding to built-in types" +#: ../../library/typing.rst:2201 +msgid "" +"The following protocols are provided by the typing module. All are decorated " +"with :func:`@runtime_checkable `." msgstr "" +"Os protocolos a seguir são fornecidos pelo módulo typing. Todos são " +"decorados com :func:`@runtime_checkable `." -#: ../../library/typing.rst:1912 +#: ../../library/typing.rst:2206 msgid "" -"A generic version of :class:`dict`. Useful for annotating return types. To " -"annotate arguments it is preferred to use an abstract collection type such " -"as :class:`Mapping`." +"An ABC with one abstract method ``__abs__`` that is covariant in its return " +"type." msgstr "" +"Um ABC com um método abstrato ``__abs__`` que é covariante em seu tipo de " +"retorno." -#: ../../library/typing.rst:1916 -msgid "This type can be used as follows::" -msgstr "" +#: ../../library/typing.rst:2211 +msgid "An ABC with one abstract method ``__bytes__``." +msgstr "Um ABC com um método abstrato ``__bytes__``." + +#: ../../library/typing.rst:2215 +msgid "An ABC with one abstract method ``__complex__``." +msgstr "Um ABC com um método abstrato ``__complex__``." + +#: ../../library/typing.rst:2219 +msgid "An ABC with one abstract method ``__float__``." +msgstr "Um ABC com um método abstrato ``__float__``." + +#: ../../library/typing.rst:2223 +msgid "An ABC with one abstract method ``__index__``." +msgstr "Um ABC com um método abstrato ``__index__``." + +#: ../../library/typing.rst:2229 +msgid "An ABC with one abstract method ``__int__``." +msgstr "Um ABC com um método abstrato ``__int__``." -#: ../../library/typing.rst:1921 +#: ../../library/typing.rst:2233 msgid "" -":class:`builtins.dict ` now supports subscripting (``[]``). See :pep:" -"`585` and :ref:`types-genericalias`." +"An ABC with one abstract method ``__round__`` that is covariant in its " +"return type." msgstr "" +"Uma ABC com um método abstrato ``__round__`` que é covariante em seu tipo de " +"retorno." + +#: ../../library/typing.rst:2237 +msgid "ABCs for working with IO" +msgstr "ABCs para trabalhar com E/S" -#: ../../library/typing.rst:1927 +#: ../../library/typing.rst:2243 msgid "" -"Generic version of :class:`list`. Useful for annotating return types. To " -"annotate arguments it is preferred to use an abstract collection type such " -"as :class:`Sequence` or :class:`Iterable`." +"Generic type ``IO[AnyStr]`` and its subclasses ``TextIO(IO[str])`` and " +"``BinaryIO(IO[bytes])`` represent the types of I/O streams such as returned " +"by :func:`open`." msgstr "" +"O tipo genérico ``IO[AnyStr]`` e suas subclasses ``TextIO(IO[str])`` e " +"``BinaryIO(IO[bytes])`` representam os tipos de fluxos de E/S, como os " +"retornados por :func:`open`." -#: ../../library/typing.rst:1932 -msgid "This type may be used as follows::" -msgstr "" +#: ../../library/typing.rst:2249 +msgid "Functions and decorators" +msgstr "Funções e decoradores" -#: ../../library/typing.rst:1942 +#: ../../library/typing.rst:2253 +msgid "Cast a value to a type." +msgstr "Converta um valor em um tipo." + +#: ../../library/typing.rst:2255 msgid "" -":class:`builtins.list ` now supports subscripting (``[]``). See :pep:" -"`585` and :ref:`types-genericalias`." +"This returns the value unchanged. To the type checker this signals that the " +"return value has the designated type, but at runtime we intentionally don't " +"check anything (we want this to be as fast as possible)." msgstr "" +"Isso retorna o valor inalterado. Para o verificador de tipos, isso indica " +"que o valor de retorno tem o tipo designado, mas em tempo de execução não " +"verificamos nada intencionalmente (queremos que isso seja o mais rápido " +"possível)." -#: ../../library/typing.rst:1948 +#: ../../library/typing.rst:2262 msgid "" -"A generic version of :class:`builtins.set `. Useful for annotating " -"return types. To annotate arguments it is preferred to use an abstract " -"collection type such as :class:`AbstractSet`." +"Ask a static type checker to confirm that *val* has an inferred type of " +"*typ*." msgstr "" +"Pede para um verificador de tipo estático confirmar se *val* tem tipo " +"inferido *typ*." -#: ../../library/typing.rst:1952 +#: ../../library/typing.rst:2264 msgid "" -":class:`builtins.set ` now supports subscripting (``[]``). See :pep:" -"`585` and :ref:`types-genericalias`." +"At runtime this does nothing: it returns the first argument unchanged with " +"no checks or side effects, no matter the actual type of the argument." msgstr "" +"Essa função faz nada em tempo de execução: ela retorna o primeiro argumento " +"inalterado, sem verificações ou efeitos colaterais, independentemente do " +"tipo real do argumento." -#: ../../library/typing.rst:1958 -msgid "A generic version of :class:`builtins.frozenset `." +#: ../../library/typing.rst:2267 +msgid "" +"When a static type checker encounters a call to ``assert_type()``, it emits " +"an error if the value is not of the specified type::" msgstr "" +"Quando um verificador de tipo estático encontra uma chamada para " +"``assert_type()``, ele emite um erro se o valor não for do tipo " +"especificado::" -#: ../../library/typing.rst:1960 +#: ../../library/typing.rst:2274 msgid "" -":class:`builtins.frozenset ` now supports subscripting (``[]``). " -"See :pep:`585` and :ref:`types-genericalias`." +"This function is useful for ensuring the type checker's understanding of a " +"script is in line with the developer's intentions::" msgstr "" +"Esse função é útil para garantir que o verificador de tipos entende um " +"script conforme as intenções do desenvolvedor::" -#: ../../library/typing.rst:1965 -msgid ":data:`Tuple` is a special form." +#: ../../library/typing.rst:2288 +msgid "" +"Ask a static type checker to confirm that a line of code is unreachable." msgstr "" +"Pede ao verificador de tipo estático para confirmar se uma linha de código é " +"inalcançável." -#: ../../library/typing.rst:1968 -msgid "Corresponding to types in :mod:`collections`" -msgstr "" +#: ../../library/typing.rst:2290 +msgid "Example::" +msgstr "Exemplo::" -#: ../../library/typing.rst:1972 -msgid "A generic version of :class:`collections.defaultdict`." +#: ../../library/typing.rst:2301 +msgid "" +"Here, the annotations allow the type checker to infer that the last case can " +"never execute, because ``arg`` is either an :class:`int` or a :class:`str`, " +"and both options are covered by earlier cases." msgstr "" +"Aqui, as anotações permitem que o verificador de tipos deduza que o último " +"caso nunca será executado, pois ``arg`` é um :class:`int` ou " +"uma :class:`str`, e ambas as opções são cobertas por casos anteriores." -#: ../../library/typing.rst:1976 +#: ../../library/typing.rst:2306 msgid "" -":class:`collections.defaultdict` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"If a type checker finds that a call to ``assert_never()`` is reachable, it " +"will emit an error. For example, if the type annotation for ``arg`` was " +"instead ``int | str | float``, the type checker would emit an error pointing " +"out that ``unreachable`` is of type :class:`float`. For a call to " +"``assert_never`` to pass type checking, the inferred type of the argument " +"passed in must be the bottom type, :data:`Never`, and nothing else." msgstr "" +"Se um verificador de tipos descobrir que uma chamada para ``assert_never()`` " +"é alcançável, ele emitirá um erro. Por exemplo, se a anotação de tipo para " +"``arg`` fosse ``int | str | float``, o verificador de tipos emitiria um erro " +"indicando que ``unreachable`` é do tipo :class:`float`. Para que uma chamada " +"para ``assert_never`` passe verificação de tipos, o tipo inferido do " +"argumento passado deve ser o tipo inferior, :data:`Never`, e nada mais." -#: ../../library/typing.rst:1982 -msgid "A generic version of :class:`collections.OrderedDict`." -msgstr "" +#: ../../library/typing.rst:2314 +msgid "At runtime, this throws an exception when called." +msgstr "Em tempo de execução, essa função levanta uma exceção quando chamada." -#: ../../library/typing.rst:1986 +#: ../../library/typing.rst:2317 msgid "" -":class:`collections.OrderedDict` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"`Unreachable Code and Exhaustiveness Checking `__ has more information about " +"exhaustiveness checking with static typing." msgstr "" -#: ../../library/typing.rst:1992 -msgid "A generic version of :class:`collections.ChainMap`." +#: ../../library/typing.rst:2325 +msgid "Ask a static type checker to reveal the inferred type of an expression." msgstr "" +"Pede para um verificador de tipo estático revelar o tipo inferido de uma " +"expressão." -#: ../../library/typing.rst:1997 +#: ../../library/typing.rst:2327 msgid "" -":class:`collections.ChainMap` now supports subscripting (``[]``). See :pep:" -"`585` and :ref:`types-genericalias`." +"When a static type checker encounters a call to this function, it emits a " +"diagnostic with the inferred type of the argument. For example::" msgstr "" +"Quando um verificador de tipo estático encontra uma chamada para essa " +"função, ele emite um diagnóstico com o tipo inferido do argumento. Por " +"exemplo::" -#: ../../library/typing.rst:2003 -msgid "A generic version of :class:`collections.Counter`." +#: ../../library/typing.rst:2333 +msgid "" +"This can be useful when you want to debug how your type checker handles a " +"particular piece of code." msgstr "" +"Isso pode ser útil quando você deseja depurar como o verificador de tipos " +"lida com um determinado trecho de código." -#: ../../library/typing.rst:2008 +#: ../../library/typing.rst:2336 msgid "" -":class:`collections.Counter` now supports subscripting (``[]``). See :pep:" -"`585` and :ref:`types-genericalias`." +"At runtime, this function prints the runtime type of its argument " +"to :data:`sys.stderr` and returns the argument unchanged (allowing the call " +"to be used within an expression)::" msgstr "" +"Em tempo de execução, esta função envia o tipo de seu argumento " +"para :data:`sys.stderr` e retorna o argumento inalterado (permitindo que a " +"chamada seja usada em uma expressão)::" -#: ../../library/typing.rst:2014 -msgid "A generic version of :class:`collections.deque`." +#: ../../library/typing.rst:2343 +msgid "" +"Note that the runtime type may be different from (more or less specific " +"than) the type statically inferred by a type checker." msgstr "" +"Observe que o tipo em tempo de execução pode ser diferente (mais ou menos " +"específico) do tipo inferido estaticamente por um verificador de tipos." -#: ../../library/typing.rst:2019 +#: ../../library/typing.rst:2346 msgid "" -":class:`collections.deque` now supports subscripting (``[]``). See :pep:" -"`585` and :ref:`types-genericalias`." +"Most type checkers support ``reveal_type()`` anywhere, even if the name is " +"not imported from ``typing``. Importing the name from ``typing``, however, " +"allows your code to run without runtime errors and communicates intent more " +"clearly." msgstr "" +"A maioria dos verificadores de tipos dá suporte a ``reveal_type()`` em " +"qualquer lugar, mesmo que o nome não seja importado de ``typing``. Porém, " +"importar o nome de ``typing`` permite que o código seja executado sem erros " +"em tempo de execução e comunica a intenção com mais clareza." -#: ../../library/typing.rst:2024 -msgid "Other concrete types" +#: ../../library/typing.rst:2357 +msgid "" +"Decorator to mark an object as providing :func:`dataclass " +"`-like behavior." msgstr "" +"Um decorador que marca um objeto como tendo comportamento similar a " +"uma :func:`dataclass `." -#: ../../library/typing.rst:2030 +#: ../../library/typing.rst:2360 msgid "" -"Generic type ``IO[AnyStr]`` and its subclasses ``TextIO(IO[str])`` and " -"``BinaryIO(IO[bytes])`` represent the types of I/O streams such as returned " -"by :func:`open`." +"``dataclass_transform`` may be used to decorate a class, metaclass, or a " +"function that is itself a decorator. The presence of " +"``@dataclass_transform()`` tells a static type checker that the decorated " +"object performs runtime \"magic\" that transforms a class in a similar way " +"to :func:`@dataclasses.dataclass `." msgstr "" +"``dataclass_transform`` pode ser usado para decorar uma classe, metaclasse, " +"ou função decoradora. A presença de ``@dataclass_transform()`` informa a um " +"verificador de tipo estático que o objeto decorado executa \"mágica\" em " +"tempo de execução que transforma uma classe de maneira semelhante " +"a :func:`@dataclasses.dataclass `." -#: ../../library/typing.rst:2037 -msgid "" -"The ``typing.io`` namespace is deprecated and will be removed. These types " -"should be directly imported from ``typing`` instead." -msgstr "" +#: ../../library/typing.rst:2367 +msgid "Example usage with a decorator function:" +msgstr "Exemplo de uso com a função decoradora:" -#: ../../library/typing.rst:2042 -msgid "" -"These type aliases correspond to the return types from :func:`re.compile` " -"and :func:`re.match`. These types (and the corresponding functions) are " -"generic in ``AnyStr`` and can be made specific by writing ``Pattern[str]``, " -"``Pattern[bytes]``, ``Match[str]``, or ``Match[bytes]``." -msgstr "" +#: ../../library/typing.rst:2383 +msgid "On a base class::" +msgstr "Em uma classe base::" -#: ../../library/typing.rst:2052 +#: ../../library/typing.rst:2392 +msgid "On a metaclass::" +msgstr "Em uma metaclasse::" + +#: ../../library/typing.rst:2403 msgid "" -"The ``typing.re`` namespace is deprecated and will be removed. These types " -"should be directly imported from ``typing`` instead." +"The ``CustomerModel`` classes defined above will be treated by type checkers " +"similarly to classes created with :func:`@dataclasses.dataclass " +"`. For example, type checkers will assume these " +"classes have ``__init__`` methods that accept ``id`` and ``name``." msgstr "" +"As classes ``CustomerModel`` definidas acima serão tratadas pelos " +"verificadores de tipos semelhantemente às classes criadas " +"com :func:`@dataclasses.dataclass `. Por exemplo, os " +"verificadores de tipo presumirão que essas classes têm métodos ``__init__`` " +"que aceitam ``id`` e ``name``." -#: ../../library/typing.rst:2053 +#: ../../library/typing.rst:2409 msgid "" -"Classes ``Pattern`` and ``Match`` from :mod:`re` now support ``[]``. See :" -"pep:`585` and :ref:`types-genericalias`." +"The decorated class, metaclass, or function may accept the following bool " +"arguments which type checkers will assume have the same effect as they would " +"have on the :func:`@dataclasses.dataclass` decorator: " +"``init``, ``eq``, ``order``, ``unsafe_hash``, ``frozen``, ``match_args``, " +"``kw_only``, and ``slots``. It must be possible for the value of these " +"arguments (``True`` or ``False``) to be statically evaluated." msgstr "" +"A classe, metaclasse, ou função decorada pode aceitar os seguintes " +"argumentos booleanos tal que verificadores de tipo presumirão ter o mesmo " +"efeito que teriam no " +"decorador :func:`@dataclasses.dataclass`: ``init``, " +"``eq``, ``order``, ``unsafe_hash``, ``frozen``, ``match_args``, ``kw_only``, " +"e ``slots``. É necessário que o valor desses argumentos (``True`` ou " +"``False``) seja avaliado estaticamente." -#: ../../library/typing.rst:2059 +#: ../../library/typing.rst:2417 msgid "" -"``Text`` is an alias for ``str``. It is provided to supply a forward " -"compatible path for Python 2 code: in Python 2, ``Text`` is an alias for " -"``unicode``." +"The arguments to the ``dataclass_transform`` decorator can be used to " +"customize the default behaviors of the decorated class, metaclass, or " +"function:" msgstr "" +"Os argumentos do decorador ``dataclass_transform`` podem ser usados para " +"personalizar o comportamento padrão da classe, metaclasse, ou função " +"decorada:" + +#: ../../library/typing.rst:0 +msgid "Parameters" +msgstr "Parâmetros" -#: ../../library/typing.rst:2063 +#: ../../library/typing.rst:2421 msgid "" -"Use ``Text`` to indicate that a value must contain a unicode string in a " -"manner that is compatible with both Python 2 and Python 3::" +"Indicates whether the ``eq`` parameter is assumed to be ``True`` or " +"``False`` if it is omitted by the caller. Defaults to ``True``." msgstr "" +"Indica se o parâmetro ``eq`` é presumido como ``True`` ou ``False`` se for " +"omitido pelo chamador. O padrão é ``True``." -#: ../../library/typing.rst:2071 +#: ../../library/typing.rst:2426 msgid "" -"Python 2 is no longer supported, and most type checkers also no longer " -"support type checking Python 2 code. Removal of the alias is not currently " -"planned, but users are encouraged to use :class:`str` instead of ``Text`` " -"wherever possible." +"Indicates whether the ``order`` parameter is assumed to be ``True`` or " +"``False`` if it is omitted by the caller. Defaults to ``False``." msgstr "" +"Indica se o parâmetro ``order`` é presumido como ``True`` ou ``False`` se " +"for omitido pelo chamador. O padrão é ``False``." -#: ../../library/typing.rst:2078 -msgid "Abstract Base Classes" -msgstr "Classes Bases Abstratas" - -#: ../../library/typing.rst:2081 -msgid "Corresponding to collections in :mod:`collections.abc`" +#: ../../library/typing.rst:2431 +msgid "" +"Indicates whether the ``kw_only`` parameter is assumed to be ``True`` or " +"``False`` if it is omitted by the caller. Defaults to ``False``." msgstr "" +"Indica se o parâmetro ``kw_only`` é presumido como ``True`` ou ``False`` se " +"for omitido pelo chamador. O padrão é ``False``." -#: ../../library/typing.rst:2085 -msgid "A generic version of :class:`collections.abc.Set`." +#: ../../library/typing.rst:2436 +msgid "" +"Specifies a static list of supported classes or functions that describe " +"fields, similar to :func:`dataclasses.field`. Defaults to ``()``." msgstr "" +"Especifica uma lista estática de classes ou funções compatíveis que " +"descrevem campos, semelhante a :func:`dataclasses.field`. O valor padrão é " +"``()``." -#: ../../library/typing.rst:2087 +#: ../../library/typing.rst:2442 msgid "" -":class:`collections.abc.Set` now supports subscripting (``[]``). See :pep:" -"`585` and :ref:`types-genericalias`." +"Arbitrary other keyword arguments are accepted in order to allow for " +"possible future extensions." msgstr "" +"Outros argumentos nomeados arbitrários são aceitos para permitir possíveis " +"futuras extensões." -#: ../../library/typing.rst:2093 +#: ../../library/typing.rst:2446 msgid "" -"This type represents the types :class:`bytes`, :class:`bytearray`, and :" -"class:`memoryview` of byte sequences." +"Type checkers recognize the following optional parameters on field " +"specifiers:" msgstr "" +"Verificadores de tipo reconhecem os seguintes parâmetros opcionais em " +"especificadores de campos:" + +#: ../../library/typing.rst:2449 +msgid "**Recognised parameters for field specifiers**" +msgstr "**Parâmetros reconhecidos para especificadores de campos**" + +#: ../../library/typing.rst:2453 +msgid "Parameter name" +msgstr "Nome do parâmetro" + +#: ../../library/typing.rst:2454 +msgid "Description" +msgstr "Descrição" -#: ../../library/typing.rst:2097 +#: ../../library/typing.rst:2455 +msgid "``init``" +msgstr "``init``" + +#: ../../library/typing.rst:2456 msgid "" -"Prefer ``typing_extensions.Buffer``, or a union like ``bytes | bytearray | " -"memoryview``." +"Indicates whether the field should be included in the synthesized " +"``__init__`` method. If unspecified, ``init`` defaults to ``True``." msgstr "" +"Indica se o campo deve ser incluído no método ``__init__`` sintetizado. Se " +"não for especificado, o valor padrão de ``init`` é ``True``." -#: ../../library/typing.rst:2101 -msgid "A generic version of :class:`collections.abc.Collection`" -msgstr "" +#: ../../library/typing.rst:2459 +msgid "``default``" +msgstr "``default``" -#: ../../library/typing.rst:2105 +#: ../../library/typing.rst:2460 +msgid "Provides the default value for the field." +msgstr "Fornece o valor padrão do campo." + +#: ../../library/typing.rst:2461 +msgid "``default_factory``" +msgstr "``default_factory``" + +#: ../../library/typing.rst:2462 msgid "" -":class:`collections.abc.Collection` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"Provides a runtime callback that returns the default value for the field. If " +"neither ``default`` nor ``default_factory`` are specified, the field is " +"assumed to have no default value and must be provided a value when the class " +"is instantiated." msgstr "" +"Fornece uma função de retorno de tempo de execução que retorna o valor " +"padrão do campo. Se nem ``default`` nem ``default_factory`` forem " +"especificados, o campo é presumido como sem valor padrão e deverá receber um " +"valor quando a classe for instanciada." -#: ../../library/typing.rst:2111 -msgid "A generic version of :class:`collections.abc.Container`." +#: ../../library/typing.rst:2467 +msgid "``factory``" +msgstr "``factory``" + +#: ../../library/typing.rst:2468 +msgid "An alias for the ``default_factory`` parameter on field specifiers." msgstr "" +"Um apelido para o parâmetro ``default_factory`` em especificadores de campos." + +#: ../../library/typing.rst:2469 +msgid "``kw_only``" +msgstr "``kw_only``" -#: ../../library/typing.rst:2113 +#: ../../library/typing.rst:2470 msgid "" -":class:`collections.abc.Container` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"Indicates whether the field should be marked as keyword-only. If ``True``, " +"the field will be keyword-only. If ``False``, it will not be keyword-only. " +"If unspecified, the value of the ``kw_only`` parameter on the object " +"decorated with ``dataclass_transform`` will be used, or if that is " +"unspecified, the value of ``kw_only_default`` on ``dataclass_transform`` " +"will be used." msgstr "" +"Indica se o campo deve ser marcado como somente-nomeado. Se verdadeiro, o " +"campo será somente-nomeado. Se falso, não será somente-nomeado. Se não for " +"especificado, será usado o valor do parâmetro ``kw_only`` do objeto decorado " +"com ``dataclass_transform`` ou, se este não for especificado, será usado o " +"valor de ``kw_only_default`` no ``dataclass_transform``." -#: ../../library/typing.rst:2119 -msgid "A generic version of :class:`collections.abc.ItemsView`." -msgstr "" +#: ../../library/typing.rst:2476 +msgid "``alias``" +msgstr "``alias``" -#: ../../library/typing.rst:2121 +#: ../../library/typing.rst:2477 msgid "" -":class:`collections.abc.ItemsView` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"Provides an alternative name for the field. This alternative name is used in " +"the synthesized ``__init__`` method." msgstr "" +"Fornece um nome alternativo para o campo. Esse nome alternativo é usado no " +"método ``__init__`` sintetizado." -#: ../../library/typing.rst:2127 -msgid "A generic version of :class:`collections.abc.KeysView`." +#: ../../library/typing.rst:2480 +msgid "" +"At runtime, this decorator records its arguments in the " +"``__dataclass_transform__`` attribute on the decorated object. It has no " +"other runtime effect." msgstr "" +"Em tempo de execução, esse decorador registra seu argumento no atributo " +"``__dataclass_transform__`` no objeto decorado. Ele não tem nenhum outro " +"efeito em tempo de execução." -#: ../../library/typing.rst:2129 +#: ../../library/typing.rst:2484 +msgid "See :pep:`681` for more details." +msgstr "Veja :pep:`681` para mais detalhes." + +#: ../../library/typing.rst:2492 +msgid "Decorator for creating overloaded functions and methods." +msgstr "Decorador para criar funções e métodos sobrecarregados." + +#: ../../library/typing.rst:2494 msgid "" -":class:`collections.abc.KeysView` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"The ``@overload`` decorator allows describing functions and methods that " +"support multiple different combinations of argument types. A series of " +"``@overload``-decorated definitions must be followed by exactly one non-" +"``@overload``-decorated definition (for the same function/method)." msgstr "" +"O decorador ``@overload`` permite descrever funções e métodos com suporte a " +"várias combinações de tipos de argumento. Uma sequência de definições " +"decoradas com ``@overload`` deve preceder uma única definição não decorada " +"por ``@overload`` (para a mesma função/método)." -#: ../../library/typing.rst:2135 +#: ../../library/typing.rst:2499 msgid "" -"A generic version of :class:`collections.abc.Mapping`. This type can be used " -"as follows::" +"``@overload``-decorated definitions are for the benefit of the type checker " +"only, since they will be overwritten by the non-``@overload``-decorated " +"definition. The non-``@overload``-decorated definition, meanwhile, will be " +"used at runtime but should be ignored by a type checker. At runtime, " +"calling an ``@overload``-decorated function directly will " +"raise :exc:`NotImplementedError`." msgstr "" +"Definições decoradas com ``@overload`` são usadas somente para benefício do " +"verificador de tipos, já que serão sobrescritas por definições sem decoração " +"de ``@overload``. Enquanto isso, definições sem decoração de ``@overload`` " +"serão usadas em tempo de execução, mas devem ser ignoradas pelo verificador " +"de tipos. Em tempo de execução, chamar uma função decorada por ``@overload`` " +"diretamente levantará :exc:`NotImplementedError`." -#: ../../library/typing.rst:2141 +#: ../../library/typing.rst:2507 msgid "" -":class:`collections.abc.Mapping` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"An example of overload that gives a more precise type than can be expressed " +"using a union or a type variable:" msgstr "" +"Um exemplo de sobrecarga que fornece um tipo mais preciso do que o expressar " +"o tipo expresso por uma união ou um tipo variável:" -#: ../../library/typing.rst:2147 -msgid "A generic version of :class:`collections.abc.MappingView`." +#: ../../library/typing.rst:2524 +msgid "" +"See :pep:`484` for more details and comparison with other typing semantics." msgstr "" +"Consulte :pep:`484` para mais detalhes e uma comparação com outras " +"semânticas de tipagem." -#: ../../library/typing.rst:2149 +#: ../../library/typing.rst:2526 msgid "" -":class:`collections.abc.MappingView` now supports subscripting (``[]``). " -"See :pep:`585` and :ref:`types-genericalias`." +"Overloaded functions can now be introspected at runtime " +"using :func:`get_overloads`." msgstr "" +"Funções sobrecarregadas agora podem ser inspecionadas em tempo de execução " +"usando :func:`get_overloads`." -#: ../../library/typing.rst:2155 -msgid "A generic version of :class:`collections.abc.MutableMapping`." +#: ../../library/typing.rst:2533 +msgid "" +"Return a sequence of :func:`@overload `-decorated definitions for " +"*func*." msgstr "" +"Retorna uma sequência de definições de *func* decoradas com :func:`@overload " +"`." -#: ../../library/typing.rst:2157 +#: ../../library/typing.rst:2536 msgid "" -":class:`collections.abc.MutableMapping` now supports subscripting (``[]``). " -"See :pep:`585` and :ref:`types-genericalias`." +"*func* is the function object for the implementation of the overloaded " +"function. For example, given the definition of ``process`` in the " +"documentation for :func:`@overload `, ``get_overloads(process)`` " +"will return a sequence of three function objects for the three defined " +"overloads. If called on a function with no overloads, ``get_overloads()`` " +"returns an empty sequence." msgstr "" +"*func* é o objeto função para a implementação da função sobrecarregada. Por " +"exemplo, dada a definição de ``process`` na documentação de :func:`@overload " +"`, ``get_overloads(process)`` retornará uma sequência de três " +"objetos função para as três sobrecargas definidas. Se for chamada em uma " +"função sem sobrecargas, ``get_overloads()`` retornará uma sequência vazia." -#: ../../library/typing.rst:2164 -msgid "A generic version of :class:`collections.abc.MutableSequence`." +#: ../../library/typing.rst:2543 +msgid "" +"``get_overloads()`` can be used for introspecting an overloaded function at " +"runtime." msgstr "" +"A função ``get_overloads()`` pode ser usada em tempo de execução para " +"introspecção de uma função sobrecarregada." + +#: ../../library/typing.rst:2551 +msgid "Clear all registered overloads in the internal registry." +msgstr "Apaga todas as sobrecargas registradas no registro interno." + +#: ../../library/typing.rst:2553 +msgid "This can be used to reclaim the memory used by the registry." +msgstr "Isso pode ser usado para recuperar a memória usada pelo registro." -#: ../../library/typing.rst:2166 +#: ../../library/typing.rst:2560 +msgid "Decorator to indicate final methods and final classes." +msgstr "Um decorador para indicar métodos e classes finais." + +#: ../../library/typing.rst:2562 msgid "" -":class:`collections.abc.MutableSequence` now supports subscripting (``[]``). " -"See :pep:`585` and :ref:`types-genericalias`." +"Decorating a method with ``@final`` indicates to a type checker that the " +"method cannot be overridden in a subclass. Decorating a class with " +"``@final`` indicates that it cannot be subclassed." msgstr "" +"Decorar um método com ``@final`` indica a um verificador de tipos que o " +"método não pode ser substituído em uma subclasse. Decorar uma classe com " +"``@final`` indica que ela não pode ser herdada." -#: ../../library/typing.rst:2173 -msgid "A generic version of :class:`collections.abc.MutableSet`." +#: ../../library/typing.rst:2587 +msgid "" +"The decorator will now attempt to set a ``__final__`` attribute to ``True`` " +"on the decorated object. Thus, a check like ``if getattr(obj, \"__final__\", " +"False)`` can be used at runtime to determine whether an object ``obj`` has " +"been marked as final. If the decorated object does not support setting " +"attributes, the decorator returns the object unchanged without raising an " +"exception." msgstr "" +"O decorador tentará definir um atributo ``__final__`` como ``True`` no " +"objeto decorado. Assim, uma verificação como ``if getattr(obj, " +"\"__final__\", False)`` pode ser usada em tempo de execução para determinar " +"se um objeto ``obj`` foi marcado como final. Se o objeto decorado não tem " +"suporte a definição de atributos, o decorador retorna o objeto inalterado " +"sem levantar uma exceção." + +#: ../../library/typing.rst:2598 +msgid "Decorator to indicate that annotations are not type hints." +msgstr "Decorador para indicar que anotações não são dicas de tipo." -#: ../../library/typing.rst:2175 +#: ../../library/typing.rst:2600 msgid "" -":class:`collections.abc.MutableSet` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"This works as a class or function :term:`decorator`. With a class, it " +"applies recursively to all methods and classes defined in that class (but " +"not to methods defined in its superclasses or subclasses). Type checkers " +"will ignore all annotations in a function or class with this decorator." msgstr "" +"Isso funciona como :term:`decorator` de uma classe ou função. Com uma " +"classe, ele se aplica recursivamente a todos os métodos e classes definidos " +"nessa classe (mas não a métodos definidos em suas superclasses ou " +"subclasses). Os verificadores de tipos ignorarão todas as anotações em uma " +"função ou classe com este decorador." -#: ../../library/typing.rst:2181 -msgid "A generic version of :class:`collections.abc.Sequence`." -msgstr "" +#: ../../library/typing.rst:2606 +msgid "``@no_type_check`` mutates the decorated object in place." +msgstr "``@no_type_check`` modifica o objeto decorado internamente." -#: ../../library/typing.rst:2183 +#: ../../library/typing.rst:2610 +msgid "Decorator to give another decorator the :func:`no_type_check` effect." +msgstr "Decorador para dar a outro decorador o efeito :func:`no_type_check`." + +#: ../../library/typing.rst:2612 msgid "" -":class:`collections.abc.Sequence` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"This wraps the decorator with something that wraps the decorated function " +"in :func:`no_type_check`." msgstr "" +"Isso envolve o decorador com algo que envolve a função decorada " +"em :func:`no_type_check`." -#: ../../library/typing.rst:2189 -msgid "A generic version of :class:`collections.abc.ValuesView`." +#: ../../library/typing.rst:2617 +msgid "Decorator to mark a class or function as unavailable at runtime." msgstr "" +"Decorador para marcar uma classe ou função como indisponível em tempo de " +"execução." -#: ../../library/typing.rst:2191 +#: ../../library/typing.rst:2619 msgid "" -":class:`collections.abc.ValuesView` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"This decorator is itself not available at runtime. It is mainly intended to " +"mark classes that are defined in type stub files if an implementation " +"returns an instance of a private class::" msgstr "" +"Este decorador em si não está disponível em tempo de execução. Seu objetivo " +"principal é marcar classes definidas em arquivos de tipo stub se uma " +"implementação retornar uma instância de uma classe privada:" -#: ../../library/typing.rst:2196 -msgid "Corresponding to other types in :mod:`collections.abc`" +#: ../../library/typing.rst:2630 +msgid "" +"Note that returning instances of private classes is not recommended. It is " +"usually preferable to make such classes public." msgstr "" +"Observe que retornar instâncias de classes privadas não é recomendado. " +"Normalmente, é preferível tornar essas classes públicas." -#: ../../library/typing.rst:2200 -msgid "A generic version of :class:`collections.abc.Iterable`." -msgstr "" +#: ../../library/typing.rst:2634 +msgid "Introspection helpers" +msgstr "Auxiliares de introspecção" -#: ../../library/typing.rst:2202 +#: ../../library/typing.rst:2638 msgid "" -":class:`collections.abc.Iterable` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"Return a dictionary containing type hints for a function, method, module or " +"class object." msgstr "" +"Retorna um dicionário contendo dicas de tipo para uma função, método, módulo " +"ou objeto classe." -#: ../../library/typing.rst:2208 -msgid "A generic version of :class:`collections.abc.Iterator`." +#: ../../library/typing.rst:2641 +msgid "" +"This is often the same as ``obj.__annotations__``. In addition, forward " +"references encoded as string literals are handled by evaluating them in " +"``globals`` and ``locals`` namespaces. For a class ``C``, return a " +"dictionary constructed by merging all the ``__annotations__`` along " +"``C.__mro__`` in reverse order." msgstr "" -#: ../../library/typing.rst:2210 +#: ../../library/typing.rst:2647 msgid "" -":class:`collections.abc.Iterator` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"The function recursively replaces all ``Annotated[T, ...]`` with ``T``, " +"unless ``include_extras`` is set to ``True`` (see :class:`Annotated` for " +"more information). For example:" msgstr "" -#: ../../library/typing.rst:2216 +#: ../../library/typing.rst:2664 msgid "" -"A generator can be annotated by the generic type ``Generator[YieldType, " -"SendType, ReturnType]``. For example::" +":func:`get_type_hints` does not work with imported :ref:`type aliases ` that include forward references. Enabling postponed evaluation of " +"annotations (:pep:`563`) may remove the need for most forward references." msgstr "" -#: ../../library/typing.rst:2225 +#: ../../library/typing.rst:2669 msgid "" -"Note that unlike many other generics in the typing module, the ``SendType`` " -"of :class:`Generator` behaves contravariantly, not covariantly or " -"invariantly." +"Added ``include_extras`` parameter as part of :pep:`593`. See the " +"documentation on :data:`Annotated` for more information." msgstr "" +"Adiciona o parâmetro ``include_extras`` como parte da :pep:`593`. Consulte a " +"documentação em :data:`Annotated` para mais informações." -#: ../../library/typing.rst:2229 +#: ../../library/typing.rst:2673 msgid "" -"If your generator will only yield values, set the ``SendType`` and " -"``ReturnType`` to ``None``::" +"Previously, ``Optional[t]`` was added for function and method annotations if " +"a default value equal to ``None`` was set. Now the annotation is returned " +"unchanged." msgstr "" +"Anteriormente, ``Optional[t]`` era adicionado a anotações de funções e " +"métodos se um valor padrão igual a ``None`` fosse definido. Agora, a " +"anotação é retornada inalterada." -#: ../../library/typing.rst:2237 +#: ../../library/typing.rst:2680 msgid "" -"Alternatively, annotate your generator as having a return type of either " -"``Iterable[YieldType]`` or ``Iterator[YieldType]``::" +"Get the unsubscripted version of a type: for a typing object of the form " +"``X[Y, Z, ...]`` return ``X``." msgstr "" +"Obtenha o versão sem subscrição de um tipo: para um objeto cujo tipo tem a " +"forma ``X[Y, Z, ...]``, retorna ``X`` ." -#: ../../library/typing.rst:2245 +#: ../../library/typing.rst:2683 msgid "" -":class:`collections.abc.Generator` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"If ``X`` is a typing-module alias for a builtin or :mod:`collections` class, " +"it will be normalized to the original class. If ``X`` is an instance " +"of :class:`ParamSpecArgs` or :class:`ParamSpecKwargs`, return the " +"underlying :class:`ParamSpec`. Return ``None`` for unsupported objects." msgstr "" +"Se ``X`` for um apelido do módulo typing para uma classe embutida ou classe " +"de :mod:`collections`, ele será normalizado para a classe original. Se ``X`` " +"for uma instância de :class:`ParamSpecArgs` ou :class:`ParamSpecKwargs`, " +"retorna o :class:`ParamSpec` subjacente. Retorna ``None`` para objetos " +"incompatíveis." -#: ../../library/typing.rst:2251 -msgid "An alias to :class:`collections.abc.Hashable`." +#: ../../library/typing.rst:2689 ../../library/typing.rst:2712 +msgid "Examples:" +msgstr "Exemplos:" + +#: ../../library/typing.rst:2704 +msgid "" +"Get type arguments with all substitutions performed: for a typing object of " +"the form ``X[Y, Z, ...]`` return ``(Y, Z, ...)``." msgstr "" +"Obtenha os argumentos de tipos com todas as substituições realizadas: para " +"um objeto cujo tipo tem a forma ``X[Y, Z, ...]``, retorna ``(Y, Z, ...)`` ." -#: ../../library/typing.rst:2255 -msgid "A generic version of :class:`collections.abc.Reversible`." +#: ../../library/typing.rst:2707 +msgid "" +"If ``X`` is a union or :class:`Literal` contained in another generic type, " +"the order of ``(Y, Z, ...)`` may be different from the order of the original " +"arguments ``[Y, Z, ...]`` due to type caching. Return ``()`` for unsupported " +"objects." msgstr "" +"Se ``X`` for uma união ou um :class:`Literal`, e estiver contido em outro " +"tipo genérico, a ordem de ``(Y, Z, ...)`` poderá ser diferente da ordem dos " +"argumentos originais ``[Y, Z, ...]`` devido ao armazenamento dos tipos em " +"cache. Retorna ``()`` para objetos sem suporte." + +#: ../../library/typing.rst:2724 +msgid "Check if a type is a :class:`TypedDict`." +msgstr "Verifica se um tipo é um :class:`TypedDict`." -#: ../../library/typing.rst:2257 +#: ../../library/typing.rst:2745 msgid "" -":class:`collections.abc.Reversible` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"Class used for internal typing representation of string forward references." msgstr "" +"Classe usada para representação de tipagem interna de referências futuras " +"como strings." -#: ../../library/typing.rst:2263 -msgid "An alias to :class:`collections.abc.Sized`." +#: ../../library/typing.rst:2747 +msgid "" +"For example, ``List[\"SomeClass\"]`` is implicitly transformed into " +"``List[ForwardRef(\"SomeClass\")]``. ``ForwardRef`` should not be " +"instantiated by a user, but may be used by introspection tools." msgstr "" +"Por exemplo, o tipo ``List[\"SomeClass\"]`` é implicitamente transformado em " +"``List[ForwardRef(\"SomeClass\")]``. ``ForwardRef`` não deve ser instanciado " +"por um usuário, mas pode ser usado por ferramentas de introspecção." -#: ../../library/typing.rst:2266 -msgid "Asynchronous programming" +#: ../../library/typing.rst:2752 +msgid "" +":pep:`585` generic types such as ``list[\"SomeClass\"]`` will not be " +"implicitly transformed into ``list[ForwardRef(\"SomeClass\")]`` and thus " +"will not automatically resolve to ``list[SomeClass]``." msgstr "" +"Tipos genéricos da :pep:`585` como ``list[\"SomeClass\"]`` não serão " +"transformados implicitamente em ``list[ForwardRef(\"SomeClass\")]`` e, " +"portanto, não serão resolvidos automaticamente para ``list[SomeClass]``." -#: ../../library/typing.rst:2270 +#: ../../library/typing.rst:2759 +msgid "Constant" +msgstr "Constante" + +#: ../../library/typing.rst:2763 msgid "" -"A generic version of :class:`collections.abc.Coroutine`. The variance and " -"order of type variables correspond to those of :class:`Generator`, for " -"example::" +"A special constant that is assumed to be ``True`` by 3rd party static type " +"checkers. It is ``False`` at runtime." msgstr "" +"Uma constante especial presumida ser ``True`` por verificadores de tipo " +"estático de terceiros. É ``False`` em tempo de execução." -#: ../../library/typing.rst:2282 +#: ../../library/typing.rst:2774 msgid "" -":class:`collections.abc.Coroutine` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"The first type annotation must be enclosed in quotes, making it a \"forward " +"reference\", to hide the ``expensive_mod`` reference from the interpreter " +"runtime. Type annotations for local variables are not evaluated, so the " +"second annotation does not need to be enclosed in quotes." msgstr "" +"A primeira anotação de tipo deve ser colocada entre aspas, tornando-a uma " +"\"referência futura\", para esconder do interpretador a referência ao módulo " +"``expensive_mod``. As anotações de tipos em variáveis locais não são " +"avaliadas, então a segunda anotação não precisa ser colocada entre aspas." -#: ../../library/typing.rst:2288 +#: ../../library/typing.rst:2781 msgid "" -"An async generator can be annotated by the generic type " -"``AsyncGenerator[YieldType, SendType]``. For example::" +"If ``from __future__ import annotations`` is used, annotations are not " +"evaluated at function definition time. Instead, they are stored as strings " +"in ``__annotations__``. This makes it unnecessary to use quotes around the " +"annotation (see :pep:`563`)." msgstr "" +"Se ``from __future__ import annotations`` for usado, anotações não serão " +"avaliadas no momento de definição de funções. Em vez disso, elas são " +"armazenadas como string em ``__annotations__``. Isso torna desnecessário o " +"uso de aspas em anotações (consulte :pep:`563`)." -#: ../../library/typing.rst:2297 +#: ../../library/typing.rst:2793 +msgid "Deprecated aliases" +msgstr "Apelidos descontinuados" + +#: ../../library/typing.rst:2795 msgid "" -"Unlike normal generators, async generators cannot return a value, so there " -"is no ``ReturnType`` type parameter. As with :class:`Generator`, the " -"``SendType`` behaves contravariantly." +"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`)." msgstr "" +"Este módulo define vários apelidos descontinuados de classes pré-existentes " +"da biblioteca padrão. Originalmente, elas eram incluídas no módulo typing " +"para permitir a parametrização dessas classes genéricas usand ``[]``. Porém, " +"os apelidos se tornaram redundantes no Python 3.9, quando as classes pré-" +"existentes correspondentes passaram a dar suporte a ``[]`` (consulte " +"a :pep:`585`)." -#: ../../library/typing.rst:2301 +#: ../../library/typing.rst:2802 msgid "" -"If your generator will only yield values, set the ``SendType`` to ``None``::" +"The redundant types are deprecated as of Python 3.9. However, while the " +"aliases may be removed at some point, removal of these aliases is not " +"currently planned. As such, no deprecation warnings are currently issued by " +"the interpreter for these aliases." msgstr "" +"Os tipos redundantes estão descontinuados desde Python 3.9. No entanto, " +"enquanto os apelidos podem ser removidos em algum momento, essa remoção " +"desses apelidos não está planejada. Assim, nenhum aviso de descontinuação " +"será enviado pelo interpretador para esses apelidos." -#: ../../library/typing.rst:2309 +#: ../../library/typing.rst:2807 msgid "" -"Alternatively, annotate your generator as having a return type of either " -"``AsyncIterable[YieldType]`` or ``AsyncIterator[YieldType]``::" +"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." msgstr "" +"Se em algum momento decidirem remover esses apelidos descontinuados, o " +"interpretador emitirá um aviso de descontinuação por, no mínimo, duas " +"versões de lançamento antes da remoção. Os apelidos são garantidos a " +"permanecerem no módulo typing sem avisos de descontinuação até, no mínimo, " +"Python 3.14." -#: ../../library/typing.rst:2319 +#: ../../library/typing.rst:2812 msgid "" -":class:`collections.abc.AsyncGenerator` now supports subscripting (``[]``). " -"See :pep:`585` and :ref:`types-genericalias`." +"Type checkers are encouraged to flag uses of the deprecated types if the " +"program they are checking targets a minimum Python version of 3.9 or newer." msgstr "" +"Verificadores de tipos são encorajados a sinalizar o uso de tipos " +"descontinuados se o programa que estão verificando respeita uma versão " +"mínima de Python 3.9 ou mais nova." -#: ../../library/typing.rst:2326 -msgid "A generic version of :class:`collections.abc.AsyncIterable`." -msgstr "Uma versão genérica de :class:`collections.abc.AsyncIterable`." +#: ../../library/typing.rst:2818 +msgid "Aliases to built-in types" +msgstr "Apelidos de tipos embutidos" -#: ../../library/typing.rst:2330 +#: ../../library/typing.rst:2822 +msgid "Deprecated alias to :class:`dict`." +msgstr "Apelido descontinuado de :class:`dict`." + +#: ../../library/typing.rst:2824 msgid "" -":class:`collections.abc.AsyncIterable` now supports subscripting (``[]``). " -"See :pep:`585` and :ref:`types-genericalias`." +"Note that to annotate arguments, it is preferred to use an abstract " +"collection type such as :class:`Mapping` rather than to use :class:`dict` " +"or :class:`!typing.Dict`." msgstr "" -#: ../../library/typing.rst:2336 -msgid "A generic version of :class:`collections.abc.AsyncIterator`." +#: ../../library/typing.rst:2828 ../../library/typing.rst:3065 +msgid "This type can be used as follows::" msgstr "" -#: ../../library/typing.rst:2340 +#: ../../library/typing.rst:2833 msgid "" -":class:`collections.abc.AsyncIterator` now supports subscripting (``[]``). " +":class:`builtins.dict ` now supports subscripting (``[]``). " "See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`builtins.dict ` agora oferece suporte a subscrição (``[]``). " +"Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2346 -msgid "A generic version of :class:`collections.abc.Awaitable`." -msgstr "" +#: ../../library/typing.rst:2839 +msgid "Deprecated alias to :class:`list`." +msgstr "Apelido descontinuado de :class:`list`." -#: ../../library/typing.rst:2350 +#: ../../library/typing.rst:2841 msgid "" -":class:`collections.abc.Awaitable` now supports subscripting (``[]``). See :" -"pep:`585` and :ref:`types-genericalias`." +"Note that to annotate arguments, it is preferred to use an abstract " +"collection type such as :class:`Sequence` or :class:`Iterable` rather than " +"to use :class:`list` or :class:`!typing.List`." msgstr "" -#: ../../library/typing.rst:2356 -msgid "Context manager types" +#: ../../library/typing.rst:2845 +msgid "This type may be used as follows::" msgstr "" -#: ../../library/typing.rst:2360 -msgid "A generic version of :class:`contextlib.AbstractContextManager`." -msgstr "Uma versão genérica de :class:`contextlib.AbstractContextManager`." - -#: ../../library/typing.rst:2365 +#: ../../library/typing.rst:2855 msgid "" -":class:`contextlib.AbstractContextManager` now supports subscripting " -"(``[]``). See :pep:`585` and :ref:`types-genericalias`." +":class:`builtins.list ` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`builtins.list ` agora oferece suporte a subscrição (``[]``). " +"Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2372 -msgid "A generic version of :class:`contextlib.AbstractAsyncContextManager`." -msgstr "" +#: ../../library/typing.rst:2861 +msgid "Deprecated alias to :class:`builtins.set `." +msgstr "Apelido descontinuado de :class:`builtins.set `." -#: ../../library/typing.rst:2377 +#: ../../library/typing.rst:2863 msgid "" -":class:`contextlib.AbstractAsyncContextManager` now supports subscripting " -"(``[]``). See :pep:`585` and :ref:`types-genericalias`." +"Note that to annotate arguments, it is preferred to use an abstract " +"collection type such as :class:`AbstractSet` rather than to use :class:`set` " +"or :class:`!typing.Set`." msgstr "" -#: ../../library/typing.rst:2383 -msgid "Protocols" -msgstr "Protocolos" +#: ../../library/typing.rst:2867 +msgid "" +":class:`builtins.set ` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." +msgstr "" +":class:`builtins.set ` agora oferece suporte a subscrição (``[]``). " +"Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2385 -msgid "These protocols are decorated with :func:`runtime_checkable`." -msgstr "Esses protocolos são decorados com :func:`runtime_checkable`." +#: ../../library/typing.rst:2873 +msgid "Deprecated alias to :class:`builtins.frozenset `." +msgstr "Apelido descontinuado de :class:`builtins.frozenset `." -#: ../../library/typing.rst:2389 +#: ../../library/typing.rst:2875 msgid "" -"An ABC with one abstract method ``__abs__`` that is covariant in its return " -"type." +":class:`builtins.frozenset ` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`builtins.frozenset ` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2394 -msgid "An ABC with one abstract method ``__bytes__``." -msgstr "" +#: ../../library/typing.rst:2882 +msgid "Deprecated alias for :class:`tuple`." +msgstr "Apelido descontinuado para :class:`tuple`." -#: ../../library/typing.rst:2398 -msgid "An ABC with one abstract method ``__complex__``." +#: ../../library/typing.rst:2884 +msgid "" +":class:`tuple` and ``Tuple`` are special-cased in the type system; " +"see :ref:`annotating-tuples` for more details." msgstr "" +":class:`tuple` e ``Tuple`` são casos especiais no sistema de tipos; " +"consulte :ref:`annotating-tuples` para obter mais detalhes." -#: ../../library/typing.rst:2402 -msgid "An ABC with one abstract method ``__float__``." +#: ../../library/typing.rst:2887 +msgid "" +":class:`builtins.tuple ` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`builtins.tuple ` agora oferece suporte a subscrição (``[]``). " +"Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2406 -msgid "An ABC with one abstract method ``__index__``." -msgstr "" +#: ../../library/typing.rst:2893 +msgid "Deprecated alias to :class:`type`." +msgstr "Apelido descontinuado de :class:`type`." -#: ../../library/typing.rst:2412 -msgid "An ABC with one abstract method ``__int__``." +#: ../../library/typing.rst:2895 +msgid "" +"See :ref:`type-of-class-objects` for details on using :class:`type` or " +"``typing.Type`` in type annotations." msgstr "" +"Consulte :ref:`type-of-class-objects` para obter detalhes sobre como " +"usar :class:`type` ou ``typing.Type`` em anotações de tipos." -#: ../../library/typing.rst:2416 +#: ../../library/typing.rst:2900 msgid "" -"An ABC with one abstract method ``__round__`` that is covariant in its " -"return type." +":class:`builtins.type ` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`builtins.type ` agora oferece suporte a subscrição (``[]``). " +"Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2420 -msgid "Functions and decorators" -msgstr "Funções e decoradores" +#: ../../library/typing.rst:2907 +msgid "Aliases to types in :mod:`collections`" +msgstr "Apelidos para tipos em :mod:`collections`" -#: ../../library/typing.rst:2424 -msgid "Cast a value to a type." -msgstr "Define um valor para um tipo." +#: ../../library/typing.rst:2911 +msgid "Deprecated alias to :class:`collections.defaultdict`." +msgstr "Apelido descontinuado de :class:`collections.defaultdict`." -#: ../../library/typing.rst:2426 +#: ../../library/typing.rst:2915 msgid "" -"This returns the value unchanged. To the type checker this signals that the " -"return value has the designated type, but at runtime we intentionally don't " -"check anything (we want this to be as fast as possible)." +":class:`collections.defaultdict` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.defaultdict` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2433 -msgid "" -"Ask a static type checker to confirm that *val* has an inferred type of " -"*typ*." -msgstr "" +#: ../../library/typing.rst:2921 +msgid "Deprecated alias to :class:`collections.OrderedDict`." +msgstr "Apelido descontinuado de :class:`collections.OrderedDict`." -#: ../../library/typing.rst:2435 +#: ../../library/typing.rst:2925 msgid "" -"At runtime this does nothing: it returns the first argument unchanged with " -"no checks or side effects, no matter the actual type of the argument." +":class:`collections.OrderedDict` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.OrderedDict` agora oferece suporte a subscrição " +"(``[]``). consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2438 -msgid "" -"When a static type checker encounters a call to ``assert_type()``, it emits " -"an error if the value is not of the specified type::" -msgstr "" +#: ../../library/typing.rst:2931 +msgid "Deprecated alias to :class:`collections.ChainMap`." +msgstr "Apelido descontinuado de :class:`collections.ChainMap`." -#: ../../library/typing.rst:2445 +#: ../../library/typing.rst:2935 msgid "" -"This function is useful for ensuring the type checker's understanding of a " -"script is in line with the developer's intentions::" +":class:`collections.ChainMap` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.ChainMap` agora oferece suporte a subscrição (``[]``). " +"consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2459 -msgid "" -"Ask a static type checker to confirm that a line of code is unreachable." -msgstr "" +#: ../../library/typing.rst:2941 +msgid "Deprecated alias to :class:`collections.Counter`." +msgstr "Apelido descontinuado de :class:`collections.Counter`." -#: ../../library/typing.rst:2472 +#: ../../library/typing.rst:2945 msgid "" -"Here, the annotations allow the type checker to infer that the last case can " -"never execute, because ``arg`` is either an :class:`int` or a :class:`str`, " -"and both options are covered by earlier cases. If a type checker finds that " -"a call to ``assert_never()`` is reachable, it will emit an error. For " -"example, if the type annotation for ``arg`` was instead ``int | str | " -"float``, the type checker would emit an error pointing out that " -"``unreachable`` is of type :class:`float`. For a call to ``assert_never`` to " -"pass type checking, the inferred type of the argument passed in must be the " -"bottom type, :data:`Never`, and nothing else." +":class:`collections.Counter` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.Counter` agora oferece suporte a subscrição (``[]``). " +"consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2484 -msgid "At runtime, this throws an exception when called." -msgstr "" +#: ../../library/typing.rst:2951 +msgid "Deprecated alias to :class:`collections.deque`." +msgstr "Apelido descontinuado de :class:`collections.deque`." -#: ../../library/typing.rst:2487 +#: ../../library/typing.rst:2955 msgid "" -"`Unreachable Code and Exhaustiveness Checking `__ has more information about " -"exhaustiveness checking with static typing." +":class:`collections.deque` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.deque` agora oferece suporte a subscrição (``[]``). " +"Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2495 -msgid "Reveal the inferred static type of an expression." -msgstr "" +#: ../../library/typing.rst:2962 +msgid "Aliases to other concrete types" +msgstr "Apelidos de outros tipos concretos" -#: ../../library/typing.rst:2497 +#: ../../library/typing.rst:2967 msgid "" -"When a static type checker encounters a call to this function, it emits a " -"diagnostic with the type of the argument. For example::" +"Deprecated aliases corresponding to the return types from :func:`re.compile` " +"and :func:`re.match`." msgstr "" +"Apelidos descontinuados correspondem aos tipos de retorno " +"de :func:`re.compile` e :func:`re.match`." -#: ../../library/typing.rst:2503 +#: ../../library/typing.rst:2970 msgid "" -"This can be useful when you want to debug how your type checker handles a " -"particular piece of code." +"These types (and the corresponding functions) are generic " +"over :data:`AnyStr`. ``Pattern`` can be specialised as ``Pattern[str]`` or " +"``Pattern[bytes]``; ``Match`` can be specialised as ``Match[str]`` or " +"``Match[bytes]``." msgstr "" +"Esses tipos (e as funções correspondentes) são genéricas " +"sobre :data:`AnyStr`. ``Pattern`` pode ser especializado como " +"``Pattern[str]`` ou ``Pattern[bytes]``; ``Match`` pode ser especializado " +"como ``Match[str]`` ou ``Match[bytes]``." -#: ../../library/typing.rst:2506 +#: ../../library/typing.rst:2978 msgid "" -"The function returns its argument unchanged, which allows using it within an " -"expression::" +"The ``typing.re`` namespace is deprecated and will be removed. These types " +"should be directly imported from ``typing`` instead." msgstr "" -#: ../../library/typing.rst:2511 +#: ../../library/typing.rst:2979 msgid "" -"Most type checkers support ``reveal_type()`` anywhere, even if the name is " -"not imported from ``typing``. Importing the name from ``typing`` allows your " -"code to run without runtime errors and communicates intent more clearly." +"Classes ``Pattern`` and ``Match`` from :mod:`re` now support ``[]``. " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +"Classes ``Pattern`` e ``Match`` de :mod:`re` agora suporte ``[]``. " +"Consulte :pep:`585` e :ref:`types-genericalias`." + +#: ../../library/typing.rst:2985 +msgid "Deprecated alias for :class:`str`." +msgstr "Apelido descontinuado de :class:`str`." -#: ../../library/typing.rst:2516 +#: ../../library/typing.rst:2987 msgid "" -"At runtime, this function prints the runtime type of its argument to stderr " -"and returns it unchanged::" +"``Text`` is provided to supply a forward compatible path for Python 2 code: " +"in Python 2, ``Text`` is an alias for ``unicode``." msgstr "" +"``Text`` é fornecida para servir como um caminho compatível com versões " +"futuras para código em Python 2: no Python 2, ``Text`` é um apelido para " +"``unicode``." -#: ../../library/typing.rst:2526 +#: ../../library/typing.rst:2991 msgid "" -":data:`~typing.dataclass_transform` may be used to decorate a class, " -"metaclass, or a function that is itself a decorator. The presence of " -"``@dataclass_transform()`` tells a static type checker that the decorated " -"object performs runtime \"magic\" that transforms a class, giving it :func:" -"`dataclasses.dataclass`-like behaviors." +"Use ``Text`` to indicate that a value must contain a unicode string in a " +"manner that is compatible with both Python 2 and Python 3::" msgstr "" +"Use ``Text`` para indicar que um valor deve conter uma string unicode de " +"forma compatível com Python 2 e Python 3::" -#: ../../library/typing.rst:2532 -msgid "Example usage with a decorator function::" +#: ../../library/typing.rst:2999 +msgid "" +"Python 2 is no longer supported, and most type checkers also no longer " +"support type checking Python 2 code. Removal of the alias is not currently " +"planned, but users are encouraged to use :class:`str` instead of ``Text``." msgstr "" +"Python 2 deixou de receber suporte, e a maioria dos verificadores de tipos " +"também não oferece suporte à verificação de tipos de código de Python 2. A " +"remoção do apelido não está planejada no momento, mas os usuários são " +"incentivados a usar :class:`str` em vez de ``Text``." -#: ../../library/typing.rst:2546 -msgid "On a base class::" -msgstr "" +#: ../../library/typing.rst:3009 +msgid "Aliases to container ABCs in :mod:`collections.abc`" +msgstr "Apelidos de contêineres ABC em :mod:`collections.abc`." -#: ../../library/typing.rst:2555 -msgid "On a metaclass::" -msgstr "" +#: ../../library/typing.rst:3013 +msgid "Deprecated alias to :class:`collections.abc.Set`." +msgstr "Apelido descontinuado de :class:`collections.abc.Set`." -#: ../../library/typing.rst:2566 +#: ../../library/typing.rst:3015 msgid "" -"The ``CustomerModel`` classes defined above will be treated by type checkers " -"similarly to classes created with :func:`@dataclasses.dataclass `. For example, type checkers will assume these classes have " -"``__init__`` methods that accept ``id`` and ``name``." +":class:`collections.abc.Set` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Set` agora oferece suporte a subscrição (``[]``). " +"Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2572 +#: ../../library/typing.rst:3021 msgid "" -"The decorated class, metaclass, or function may accept the following bool " -"arguments which type checkers will assume have the same effect as they would " -"have on the :func:`@dataclasses.dataclass` decorator: " -"``init``, ``eq``, ``order``, ``unsafe_hash``, ``frozen``, ``match_args``, " -"``kw_only``, and ``slots``. It must be possible for the value of these " -"arguments (``True`` or ``False``) to be statically evaluated." +"This type represents the types :class:`bytes`, :class:`bytearray`, " +"and :class:`memoryview` of byte sequences." msgstr "" +"Este tipo representa os tipos :class:`bytes`, :class:`bytearray` " +"e :class:`memoryview` de sequências de bytes." -#: ../../library/typing.rst:2580 +#: ../../library/typing.rst:3025 msgid "" -"The arguments to the ``dataclass_transform`` decorator can be used to " -"customize the default behaviors of the decorated class, metaclass, or " -"function:" +"Prefer ``typing_extensions.Buffer``, or a union like ``bytes | bytearray | " +"memoryview``." msgstr "" -#: ../../library/typing.rst:2584 -msgid "" -"``eq_default`` indicates whether the ``eq`` parameter is assumed to be " -"``True`` or ``False`` if it is omitted by the caller." -msgstr "" +#: ../../library/typing.rst:3029 +msgid "Deprecated alias to :class:`collections.abc.Collection`." +msgstr "Apelido descontinuado de :class:`collections.abc.Collection`." -#: ../../library/typing.rst:2586 +#: ../../library/typing.rst:3033 msgid "" -"``order_default`` indicates whether the ``order`` parameter is assumed to be " -"True or False if it is omitted by the caller." +":class:`collections.abc.Collection` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Collection` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." + +#: ../../library/typing.rst:3039 +msgid "Deprecated alias to :class:`collections.abc.Container`." +msgstr "Apelido descontinuado de :class:`collections.abc.Container`." -#: ../../library/typing.rst:2588 +#: ../../library/typing.rst:3041 msgid "" -"``kw_only_default`` indicates whether the ``kw_only`` parameter is assumed " -"to be True or False if it is omitted by the caller." +":class:`collections.abc.Container` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Container` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." + +#: ../../library/typing.rst:3047 +msgid "Deprecated alias to :class:`collections.abc.ItemsView`." +msgstr "Apelido descontinuado de :class:`collections.abc.ItemsView`." -#: ../../library/typing.rst:2590 +#: ../../library/typing.rst:3049 msgid "" -"``field_specifiers`` specifies a static list of supported classes or " -"functions that describe fields, similar to ``dataclasses.field()``." +":class:`collections.abc.ItemsView` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.ItemsView` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." + +#: ../../library/typing.rst:3055 +msgid "Deprecated alias to :class:`collections.abc.KeysView`." +msgstr "Apelido descontinuado de :class:`collections.abc.KeysView`." -#: ../../library/typing.rst:2592 +#: ../../library/typing.rst:3057 msgid "" -"Arbitrary other keyword arguments are accepted in order to allow for " -"possible future extensions." +":class:`collections.abc.KeysView` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.KeysView` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2595 +#: ../../library/typing.rst:3063 +msgid "Deprecated alias to :class:`collections.abc.Mapping`." +msgstr "Apelido descontinuado de :class:`collections.abc.Mapping`." + +#: ../../library/typing.rst:3070 msgid "" -"Type checkers recognize the following optional arguments on field specifiers:" +":class:`collections.abc.Mapping` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Mapping` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2598 +#: ../../library/typing.rst:3076 +msgid "Deprecated alias to :class:`collections.abc.MappingView`." +msgstr "Apelido descontinuado de :class:`collections.abc.MappingView`." + +#: ../../library/typing.rst:3078 msgid "" -"``init`` indicates whether the field should be included in the synthesized " -"``__init__`` method. If unspecified, ``init`` defaults to ``True``." +":class:`collections.abc.MappingView` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.MappingView` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2601 -msgid "``default`` provides the default value for the field." -msgstr "" +#: ../../library/typing.rst:3084 +msgid "Deprecated alias to :class:`collections.abc.MutableMapping`." +msgstr "Apelido descontinuado de :class:`collections.abc.MutableMapping`." -#: ../../library/typing.rst:2602 +#: ../../library/typing.rst:3086 msgid "" -"``default_factory`` provides a runtime callback that returns the default " -"value for the field. If neither ``default`` nor ``default_factory`` are " -"specified, the field is assumed to have no default value and must be " -"provided a value when the class is instantiated." +":class:`collections.abc.MutableMapping` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.MutableMapping` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2607 -msgid "``factory`` is an alias for ``default_factory``." -msgstr "" +#: ../../library/typing.rst:3093 +msgid "Deprecated alias to :class:`collections.abc.MutableSequence`." +msgstr "Apelido descontinuado de :class:`collections.abc.MutableSequence`." -#: ../../library/typing.rst:2608 +#: ../../library/typing.rst:3095 msgid "" -"``kw_only`` indicates whether the field should be marked as keyword-only. If " -"``True``, the field will be keyword-only. If ``False``, it will not be " -"keyword-only. If unspecified, the value of the ``kw_only`` parameter on the " -"object decorated with ``dataclass_transform`` will be used, or if that is " -"unspecified, the value of ``kw_only_default`` on ``dataclass_transform`` " -"will be used." +":class:`collections.abc.MutableSequence` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.MutableSequence` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." + +#: ../../library/typing.rst:3102 +msgid "Deprecated alias to :class:`collections.abc.MutableSet`." +msgstr "Apelido descontinuado de :class:`collections.abc.MutableSet`." -#: ../../library/typing.rst:2614 +#: ../../library/typing.rst:3104 msgid "" -"``alias`` provides an alternative name for the field. This alternative name " -"is used in the synthesized ``__init__`` method." +":class:`collections.abc.MutableSet` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.MutableSet` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2617 +#: ../../library/typing.rst:3110 +msgid "Deprecated alias to :class:`collections.abc.Sequence`." +msgstr "Apelido descontinuado de :class:`collections.abc.Sequence`." + +#: ../../library/typing.rst:3112 msgid "" -"At runtime, this decorator records its arguments in the " -"``__dataclass_transform__`` attribute on the decorated object. It has no " -"other runtime effect." +":class:`collections.abc.Sequence` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Sequence` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2621 -msgid "See :pep:`681` for more details." -msgstr "Veja :pep:`681` para mais detalhes." +#: ../../library/typing.rst:3118 +msgid "Deprecated alias to :class:`collections.abc.ValuesView`." +msgstr "Apelido descontinuado de :class:`collections.abc.ValuesView`." -#: ../../library/typing.rst:2627 +#: ../../library/typing.rst:3120 msgid "" -"The ``@overload`` decorator allows describing functions and methods that " -"support multiple different combinations of argument types. A series of " -"``@overload``-decorated definitions must be followed by exactly one non-" -"``@overload``-decorated definition (for the same function/method). The " -"``@overload``-decorated definitions are for the benefit of the type checker " -"only, since they will be overwritten by the non-``@overload``-decorated " -"definition, while the latter is used at runtime but should be ignored by a " -"type checker. At runtime, calling a ``@overload``-decorated function " -"directly will raise :exc:`NotImplementedError`. An example of overload that " -"gives a more precise type than can be expressed using a union or a type " -"variable::" +":class:`collections.abc.ValuesView` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.ValuesView` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." + +#: ../../library/typing.rst:3127 +msgid "Aliases to asynchronous ABCs in :mod:`collections.abc`" +msgstr "Apelidos para ABCs assíncronas em :mod:`collections.abc`" + +#: ../../library/typing.rst:3131 +msgid "Deprecated alias to :class:`collections.abc.Coroutine`." +msgstr "Apelido descontinuado de :class:`collections.abc.Coroutine`." -#: ../../library/typing.rst:2651 +#: ../../library/typing.rst:3133 msgid "" -"See :pep:`484` for more details and comparison with other typing semantics." +"The variance and order of type variables correspond to those " +"of :class:`Generator`, for example::" msgstr "" -#: ../../library/typing.rst:2653 +#: ../../library/typing.rst:3144 msgid "" -"Overloaded functions can now be introspected at runtime using :func:" -"`get_overloads`." +":class:`collections.abc.Coroutine` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Coroutine` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2660 +#: ../../library/typing.rst:3150 +msgid "Deprecated alias to :class:`collections.abc.AsyncGenerator`." +msgstr "Apelido descontinuado de :class:`collections.abc.AsyncGenerator`." + +#: ../../library/typing.rst:3152 msgid "" -"Return a sequence of :func:`@overload `-decorated definitions for " -"*func*. *func* is the function object for the implementation of the " -"overloaded function. For example, given the definition of ``process`` in the " -"documentation for :func:`@overload `, ``get_overloads(process)`` " -"will return a sequence of three function objects for the three defined " -"overloads. If called on a function with no overloads, ``get_overloads()`` " -"returns an empty sequence." +"An async generator can be annotated by the generic type " +"``AsyncGenerator[YieldType, SendType]``. For example::" msgstr "" -#: ../../library/typing.rst:2668 +#: ../../library/typing.rst:3161 msgid "" -"``get_overloads()`` can be used for introspecting an overloaded function at " -"runtime." +"Unlike normal generators, async generators cannot return a value, so there " +"is no ``ReturnType`` type parameter. As with :class:`Generator`, the " +"``SendType`` behaves contravariantly." msgstr "" -#: ../../library/typing.rst:2676 +#: ../../library/typing.rst:3165 msgid "" -"Clear all registered overloads in the internal registry. This can be used to " -"reclaim the memory used by the registry." +"If your generator will only yield values, set the ``SendType`` to ``None``::" msgstr "" -#: ../../library/typing.rst:2684 +#: ../../library/typing.rst:3173 msgid "" -"A decorator to indicate to type checkers that the decorated method cannot be " -"overridden, and the decorated class cannot be subclassed. For example::" +"Alternatively, annotate your generator as having a return type of either " +"``AsyncIterable[YieldType]`` or ``AsyncIterator[YieldType]``::" msgstr "" -#: ../../library/typing.rst:2707 +#: ../../library/typing.rst:3183 msgid "" -"The decorator will now set the ``__final__`` attribute to ``True`` on the " -"decorated object. Thus, a check like ``if getattr(obj, \"__final__\", " -"False)`` can be used at runtime to determine whether an object ``obj`` has " -"been marked as final. If the decorated object does not support setting " -"attributes, the decorator returns the object unchanged without raising an " -"exception." +":class:`collections.abc.AsyncGenerator` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.AsyncGenerator` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2718 -msgid "Decorator to indicate that annotations are not type hints." -msgstr "" +#: ../../library/typing.rst:3190 +msgid "Deprecated alias to :class:`collections.abc.AsyncIterable`." +msgstr "Apelido descontinuado de :class:`collections.abc.AsyncIterable`." -#: ../../library/typing.rst:2720 +#: ../../library/typing.rst:3194 msgid "" -"This works as class or function :term:`decorator`. With a class, it applies " -"recursively to all methods and classes defined in that class (but not to " -"methods defined in its superclasses or subclasses)." -msgstr "" - -#: ../../library/typing.rst:2724 -msgid "This mutates the function(s) in place." +":class:`collections.abc.AsyncIterable` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.AsyncIterable` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2728 -msgid "Decorator to give another decorator the :func:`no_type_check` effect." -msgstr "" +#: ../../library/typing.rst:3200 +msgid "Deprecated alias to :class:`collections.abc.AsyncIterator`." +msgstr "Apelido descontinuado de :class:`collections.abc.AsyncIterator`." -#: ../../library/typing.rst:2730 +#: ../../library/typing.rst:3204 msgid "" -"This wraps the decorator with something that wraps the decorated function " -"in :func:`no_type_check`." +":class:`collections.abc.AsyncIterator` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.AsyncIterator` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2735 -msgid "Decorator to mark a class or function to be unavailable at runtime." -msgstr "" +#: ../../library/typing.rst:3210 +msgid "Deprecated alias to :class:`collections.abc.Awaitable`." +msgstr "Apelido descontinuado de :class:`collections.abc.Awaitable`." -#: ../../library/typing.rst:2737 +#: ../../library/typing.rst:3214 msgid "" -"This decorator is itself not available at runtime. It is mainly intended to " -"mark classes that are defined in type stub files if an implementation " -"returns an instance of a private class::" +":class:`collections.abc.Awaitable` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Awaitable` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." + +#: ../../library/typing.rst:3221 +msgid "Aliases to other ABCs in :mod:`collections.abc`" +msgstr "Apelidos para outros ABCs em :mod:`collections.abc`." -#: ../../library/typing.rst:2748 +#: ../../library/typing.rst:3225 +msgid "Deprecated alias to :class:`collections.abc.Iterable`." +msgstr "Apelido descontinuado de :class:`collections.abc.Iterable`." + +#: ../../library/typing.rst:3227 msgid "" -"Note that returning instances of private classes is not recommended. It is " -"usually preferable to make such classes public." +":class:`collections.abc.Iterable` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Iterable` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2752 -msgid "Introspection helpers" -msgstr "" +#: ../../library/typing.rst:3233 +msgid "Deprecated alias to :class:`collections.abc.Iterator`." +msgstr "Apelido descontinuado de :class:`collections.abc.Iterator`." -#: ../../library/typing.rst:2756 +#: ../../library/typing.rst:3235 msgid "" -"Return a dictionary containing type hints for a function, method, module or " -"class object." +":class:`collections.abc.Iterator` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Iterator` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2759 +#: ../../library/typing.rst:3241 +msgid "Deprecated alias to :class:`collections.abc.Callable`." +msgstr "Apelido descontinuado de :class:`collections.abc.Callable`." + +#: ../../library/typing.rst:3243 msgid "" -"This is often the same as ``obj.__annotations__``. In addition, forward " -"references encoded as string literals are handled by evaluating them in " -"``globals`` and ``locals`` namespaces. For a class ``C``, return a " -"dictionary constructed by merging all the ``__annotations__`` along ``C." -"__mro__`` in reverse order." +"See :ref:`annotating-callables` for details on how to " +"use :class:`collections.abc.Callable` and ``typing.Callable`` in type " +"annotations." msgstr "" +"Veja :ref:`annotating-callables` para detalhes sobre como " +"usar :class:`collections.abc.Callable` e ``typing.Callable`` em anotações de " +"tipo." -#: ../../library/typing.rst:2765 +#: ../../library/typing.rst:3246 msgid "" -"The function recursively replaces all ``Annotated[T, ...]`` with ``T``, " -"unless ``include_extras`` is set to ``True`` (see :class:`Annotated` for " -"more information). For example::" +":class:`collections.abc.Callable` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Callable` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." + +#: ../../library/typing.rst:3256 +msgid "Deprecated alias to :class:`collections.abc.Generator`." +msgstr "Apelido descontinuado de :class:`collections.abc.Generator`." -#: ../../library/typing.rst:2780 +#: ../../library/typing.rst:3258 msgid "" -":func:`get_type_hints` does not work with imported :ref:`type aliases ` that include forward references. Enabling postponed evaluation of " -"annotations (:pep:`563`) may remove the need for most forward references." +"A generator can be annotated by the generic type ``Generator[YieldType, " +"SendType, ReturnType]``. For example::" msgstr "" -#: ../../library/typing.rst:2785 -msgid "Added ``include_extras`` parameter as part of :pep:`593`." +#: ../../library/typing.rst:3267 +msgid "" +"Note that unlike many other generics in the typing module, the ``SendType`` " +"of :class:`Generator` behaves contravariantly, not covariantly or " +"invariantly." msgstr "" -#: ../../library/typing.rst:2788 +#: ../../library/typing.rst:3271 msgid "" -"Previously, ``Optional[t]`` was added for function and method annotations if " -"a default value equal to ``None`` was set. Now the annotation is returned " -"unchanged." +"If your generator will only yield values, set the ``SendType`` and " +"``ReturnType`` to ``None``::" msgstr "" -#: ../../library/typing.rst:2795 +#: ../../library/typing.rst:3279 msgid "" -"Get the unsubscripted version of a type: for a typing object of the form " -"``X[Y, Z, ...]`` return ``X``. If ``X`` is a generic alias for a builtin or :" -"mod:`collections` class, it gets normalized to the original class. If ``X`` " -"is an instance of :class:`ParamSpecArgs` or :class:`ParamSpecKwargs`, return " -"the underlying :class:`ParamSpec`. Return ``None`` for unsupported objects. " -"Examples::" +"Alternatively, annotate your generator as having a return type of either " +"``Iterable[YieldType]`` or ``Iterator[YieldType]``::" msgstr "" -#: ../../library/typing.rst:2814 +#: ../../library/typing.rst:3287 msgid "" -"Get type arguments with all substitutions performed: for a typing object of " -"the form ``X[Y, Z, ...]`` return ``(Y, Z, ...)``. If ``X`` is a union or :" -"class:`Literal` contained in another generic type, the order of ``(Y, " -"Z, ...)`` may be different from the order of the original arguments ``[Y, " -"Z, ...]`` due to type caching. Return ``()`` for unsupported objects. " -"Examples::" +":class:`collections.abc.Generator` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Generator` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2830 -msgid "Check if a type is a :class:`TypedDict`." +#: ../../library/typing.rst:3293 +msgid "Alias to :class:`collections.abc.Hashable`." msgstr "" -#: ../../library/typing.rst:2845 +#: ../../library/typing.rst:3297 +msgid "Deprecated alias to :class:`collections.abc.Reversible`." +msgstr "Apelido descontinuado de :class:`collections.abc.Reversible`." + +#: ../../library/typing.rst:3299 msgid "" -"A class used for internal typing representation of string forward " -"references. For example, ``List[\"SomeClass\"]`` is implicitly transformed " -"into ``List[ForwardRef(\"SomeClass\")]``. This class should not be " -"instantiated by a user, but may be used by introspection tools." +":class:`collections.abc.Reversible` now supports subscripting (``[]``). " +"See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`collections.abc.Reversible` agora oferece suporte a subscrição " +"(``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2851 -msgid "" -":pep:`585` generic types such as ``list[\"SomeClass\"]`` will not be " -"implicitly transformed into ``list[ForwardRef(\"SomeClass\")]`` and thus " -"will not automatically resolve to ``list[SomeClass]``." +#: ../../library/typing.rst:3305 +msgid "Alias to :class:`collections.abc.Sized`." msgstr "" -#: ../../library/typing.rst:2858 -msgid "Constant" -msgstr "Constante" +#: ../../library/typing.rst:3310 +msgid "Aliases to :mod:`contextlib` ABCs" +msgstr "Apelidos de ABCs da :mod:`contextlib`" + +#: ../../library/typing.rst:3314 +msgid "Deprecated alias to :class:`contextlib.AbstractContextManager`." +msgstr "Apelido descontinuado de :class:`contextlib.AbstractContextManager`." -#: ../../library/typing.rst:2862 +#: ../../library/typing.rst:3318 msgid "" -"A special constant that is assumed to be ``True`` by 3rd party static type " -"checkers. It is ``False`` at runtime. Usage::" +":class:`contextlib.AbstractContextManager` now supports subscripting " +"(``[]``). See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`contextlib.AbstractContextManager` agora oferece suporte a " +"subscrição (``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2871 -msgid "" -"The first type annotation must be enclosed in quotes, making it a \"forward " -"reference\", to hide the ``expensive_mod`` reference from the interpreter " -"runtime. Type annotations for local variables are not evaluated, so the " -"second annotation does not need to be enclosed in quotes." +#: ../../library/typing.rst:3325 +msgid "Deprecated alias to :class:`contextlib.AbstractAsyncContextManager`." msgstr "" +"Apelido descontinuado de :class:`contextlib.AbstractAsyncContextManager`." -#: ../../library/typing.rst:2878 +#: ../../library/typing.rst:3329 msgid "" -"If ``from __future__ import annotations`` is used, annotations are not " -"evaluated at function definition time. Instead, they are stored as strings " -"in ``__annotations__``. This makes it unnecessary to use quotes around the " -"annotation (see :pep:`563`)." +":class:`contextlib.AbstractAsyncContextManager` now supports subscripting " +"(``[]``). See :pep:`585` and :ref:`types-genericalias`." msgstr "" +":class:`contextlib.AbstractAsyncContextManager` agora oferece suporte a " +"subscrição (``[]``). Consulte :pep:`585` e :ref:`types-genericalias`." -#: ../../library/typing.rst:2887 +#: ../../library/typing.rst:3335 msgid "Deprecation Timeline of Major Features" -msgstr "" +msgstr "Cronograma de descontinuação dos principais recursos" -#: ../../library/typing.rst:2889 +#: ../../library/typing.rst:3337 msgid "" "Certain features in ``typing`` are deprecated and may be removed in a future " "version of Python. The following table summarizes major deprecations for " "your convenience. This is subject to change, and not all deprecations are " "listed." msgstr "" +"Alguns recursos em ``typing`` estão descontinuados e podem ser removidos em " +"uma versão futura de Python. A tabela a seguir resume as principais " +"descontinuações para sua conveniência. Ela está sujeita a alterações, e nem " +"todas as descontinuações estão listadas." -#: ../../library/typing.rst:2894 +#: ../../library/typing.rst:3344 msgid "Feature" -msgstr "" +msgstr "Recurso" -#: ../../library/typing.rst:2894 +#: ../../library/typing.rst:3345 msgid "Deprecated in" msgstr "Descontinuado em" -#: ../../library/typing.rst:2894 +#: ../../library/typing.rst:3346 msgid "Projected removal" -msgstr "" +msgstr "Remoção planejada" -#: ../../library/typing.rst:2894 +#: ../../library/typing.rst:3347 msgid "PEP/issue" -msgstr "" +msgstr "PEP/issue" -#: ../../library/typing.rst:2896 +#: ../../library/typing.rst:3348 msgid "``typing.io`` and ``typing.re`` submodules" msgstr "" -#: ../../library/typing.rst:2896 +#: ../../library/typing.rst:3349 msgid "3.8" msgstr "3.8" -#: ../../library/typing.rst:2896 +#: ../../library/typing.rst:3350 msgid "3.13" msgstr "3.13" -#: ../../library/typing.rst:2896 +#: ../../library/typing.rst:3351 msgid ":issue:`38291`" msgstr ":issue:`38291`" -#: ../../library/typing.rst:2899 +#: ../../library/typing.rst:3352 msgid "``typing`` versions of standard collections" -msgstr "" +msgstr "versões ``typing`` de coleções-padrão" -#: ../../library/typing.rst:2899 ../../library/typing.rst:2902 +#: ../../library/typing.rst:3353 ../../library/typing.rst:3357 msgid "3.9" msgstr "3.9" -#: ../../library/typing.rst:2899 ../../library/typing.rst:2904 -msgid "Undecided" +#: ../../library/typing.rst:3354 +msgid "Undecided (see :ref:`deprecated-typing-aliases` for more information)" msgstr "" -#: ../../library/typing.rst:2899 +#: ../../library/typing.rst:3355 msgid ":pep:`585`" msgstr ":pep:`585`" -#: ../../library/typing.rst:2902 -msgid "``typing.ByteString``" -msgstr "" +#: ../../library/typing.rst:3356 +msgid ":class:`typing.ByteString`" +msgstr ":class:`typing.ByteString`" -#: ../../library/typing.rst:2902 +#: ../../library/typing.rst:3358 msgid "3.14" -msgstr "" +msgstr "3.14" -#: ../../library/typing.rst:2902 +#: ../../library/typing.rst:3359 msgid ":gh:`91896`" -msgstr "" +msgstr ":gh:`91896`" -#: ../../library/typing.rst:2904 -msgid "``typing.Text``" -msgstr "``typing.Text``" +#: ../../library/typing.rst:3360 +msgid ":data:`typing.Text`" +msgstr ":data:`typing.Text`" -#: ../../library/typing.rst:2904 +#: ../../library/typing.rst:3361 msgid "3.11" msgstr "3.11" -#: ../../library/typing.rst:2904 +#: ../../library/typing.rst:3362 +msgid "Undecided" +msgstr "Não definido" + +#: ../../library/typing.rst:3363 msgid ":gh:`92332`" msgstr ":gh:`92332`" diff --git a/library/undoc.po b/library/undoc.po deleted file mode 100644 index 1efb39a2c..000000000 --- a/library/undoc.po +++ /dev/null @@ -1,77 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2021, Python Software Foundation -# This file is distributed under the same license as the Python package. -# FIRST AUTHOR , YEAR. -# -# Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: Python 3.10\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-06-29 12:56+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/python-doc/" -"teams/5390/pt_BR/)\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" - -#: ../../library/undoc.rst:5 -msgid "Undocumented Modules" -msgstr "Módulos Não Documentados" - -#: ../../library/undoc.rst:7 -msgid "" -"Here's a quick listing of modules that are currently undocumented, but that " -"should be documented. Feel free to contribute documentation for them! " -"(Send via email to docs@python.org.)" -msgstr "" -"Aqui está uma lista rápida de módulos que não estão documentados no momento, " -"mas que devem ser documentados. Sinta-se à vontade para contribuir com " -"documentação para eles! (Envie por e-mail para docs@python.org.)" - -#: ../../library/undoc.rst:11 -msgid "" -"The idea and original contents for this chapter were taken from a posting by " -"Fredrik Lundh; the specific contents of this chapter have been substantially " -"revised." -msgstr "" -"A ideia e o conteúdo original deste capítulo foram retirados de uma " -"publicação de Fredrik Lundh; o conteúdo específico deste capítulo foi " -"substancialmente revisado." - -#: ../../library/undoc.rst:17 -msgid "Platform specific modules" -msgstr "Módulos para plataformas específicas" - -#: ../../library/undoc.rst:19 -msgid "" -"These modules are used to implement the :mod:`os.path` module, and are not " -"documented beyond this mention. There's little need to document these." -msgstr "" -"Estes módulos são utilizados para implementar o módulo :mod:`os.path` e não " -"estão documentados além desta menção. Há pouca necessidade de documentar " -"isso." - -#: ../../library/undoc.rst:23 -msgid ":mod:`ntpath`" -msgstr ":mod:`ntpath`" - -#: ../../library/undoc.rst:23 -msgid "--- Implementation of :mod:`os.path` on Win32 and Win64 platforms." -msgstr "--- Implementação de :mod:`os.path` nas plataformas Win32 e Win64." - -#: ../../library/undoc.rst:25 -msgid ":mod:`posixpath`" -msgstr ":mod:`posixpath`" - -#: ../../library/undoc.rst:26 -msgid "--- Implementation of :mod:`os.path` on POSIX." -msgstr "--- Implementação de :mod:`os.path` no POSIX." diff --git a/library/unicodedata.po b/library/unicodedata.po index 81ce65a12..0e5002644 100644 --- a/library/unicodedata.po +++ b/library/unicodedata.po @@ -1,28 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Victor Matheus Castro , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Victor Matheus Castro , " -"2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -34,8 +32,8 @@ msgstr "" msgid "" "This module provides access to the Unicode Character Database (UCD) which " "defines character properties for all Unicode characters. The data contained " -"in this database is compiled from the `UCD version 14.0.0 `_." +"in this database is compiled from the `UCD version 14.0.0 `_." msgstr "" #: ../../library/unicodedata.rst:23 @@ -44,6 +42,9 @@ msgid "" "Annex #44, `\"Unicode Character Database\" `_. It defines the following functions:" msgstr "" +"O módulo utiliza os mesmos nomes e símbolos definidos no Anexo 44 do Padrão " +"Unicode, `\"Unicode Character Database\" `_. Ele define as seguintes funções:" #: ../../library/unicodedata.rst:31 msgid "" @@ -54,6 +55,8 @@ msgstr "" #: ../../library/unicodedata.rst:34 msgid "Support for name aliases [#]_ and named sequences [#]_ has been added." msgstr "" +"Foi adicionado suporte para apelidos de nomes [#]_ e sequências nomeadas " +"[#]_." #: ../../library/unicodedata.rst:40 msgid "" @@ -65,22 +68,22 @@ msgstr "" #: ../../library/unicodedata.rst:47 msgid "" "Returns the decimal value assigned to the character *chr* as integer. If no " -"such value is defined, *default* is returned, or, if not given, :exc:" -"`ValueError` is raised." +"such value is defined, *default* is returned, or, if not " +"given, :exc:`ValueError` is raised." msgstr "" #: ../../library/unicodedata.rst:54 msgid "" "Returns the digit value assigned to the character *chr* as integer. If no " -"such value is defined, *default* is returned, or, if not given, :exc:" -"`ValueError` is raised." +"such value is defined, *default* is returned, or, if not " +"given, :exc:`ValueError` is raised." msgstr "" #: ../../library/unicodedata.rst:61 msgid "" "Returns the numeric value assigned to the character *chr* as float. If no " -"such value is defined, *default* is returned, or, if not given, :exc:" -"`ValueError` is raised." +"such value is defined, *default* is returned, or, if not " +"given, :exc:`ValueError` is raised." msgstr "" #: ../../library/unicodedata.rst:68 @@ -209,8 +212,8 @@ msgstr "Unicode" #: ../../library/unicodedata.rst:11 msgid "character" -msgstr "" +msgstr "caractere" #: ../../library/unicodedata.rst:11 msgid "database" -msgstr "" +msgstr "banco de dados" diff --git a/library/unittest.mock-examples.po b/library/unittest.mock-examples.po index 0124471dd..1f12e80e9 100644 --- a/library/unittest.mock-examples.po +++ b/library/unittest.mock-examples.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -43,7 +41,7 @@ msgstr "Usos comuns para objetos :class:`Mock` incluem:" #: ../../library/unittest.mock-examples.rst:34 msgid "Patching methods" -msgstr "" +msgstr "Métodos de aplicação de patches" #: ../../library/unittest.mock-examples.rst:35 msgid "Recording method calls on objects" @@ -54,12 +52,17 @@ msgid "" "You might want to replace a method on an object to check that it is called " "with the correct arguments by another part of the system:" msgstr "" +"Talvez você queira substituir um método em um objeto para verificar se ele " +"foi chamado com os argumentos corretos por outra parte do sistema:" #: ../../library/unittest.mock-examples.rst:45 msgid "" "Once our mock has been used (``real.method`` in this example) it has methods " "and attributes that allow you to make assertions about how it has been used." msgstr "" +"Depois que nosso mock for usado (``real.method`` neste exemplo), ele terá " +"métodos e atributos que permitem que você faça afirmações sobre como ele foi " +"usado." #: ../../library/unittest.mock-examples.rst:50 msgid "" @@ -67,6 +70,9 @@ msgid "" "are interchangeable. As the ``MagicMock`` is the more capable class it makes " "a sensible one to use by default." msgstr "" +"Na maioria desses exemplos, as classes :class:`Mock` e :class:`MagicMock` " +"são intercambiáveis. Como a ``MagicMock`` é a classe mais capaz, ela faz " +"sentido para ser usada por padrão." #: ../../library/unittest.mock-examples.rst:54 msgid "" @@ -75,16 +81,23 @@ msgid "" "or :meth:`~Mock.assert_called_once_with` method to check that it was called " "with the correct arguments." msgstr "" +"Uma vez que o mock foi chamado, seu atributo :attr:`~Mock.called` é definido " +"como ``True``. Mais importante, podemos usar o " +"método :meth:`~Mock.assert_called_with` " +"ou :meth:`~Mock.assert_called_once_with` para verificar se ele foi chamado " +"com os argumentos corretos." #: ../../library/unittest.mock-examples.rst:59 msgid "" "This example tests that calling ``ProductionClass().method`` results in a " "call to the ``something`` method:" msgstr "" +"Este exemplo testa se a chamada de ``ProductionClass().method`` resulta em " +"uma chamada para o método ``something``:" #: ../../library/unittest.mock-examples.rst:76 msgid "Mock for Method Calls on an Object" -msgstr "" +msgstr "Mock de chamadas de métodos em um objeto" #: ../../library/unittest.mock-examples.rst:78 msgid "" @@ -93,26 +106,38 @@ msgid "" "method (or some part of the system under test) and then check that it is " "used in the correct way." msgstr "" +"No último exemplo, aplicamos um patch em um método diretamente em um objeto " +"para verificar se ele foi chamado corretamente. Outro caso de uso comum é " +"passar um objeto para um método (ou alguma parte do sistema em teste) e " +"então verificar se ele é usado da maneira correta." #: ../../library/unittest.mock-examples.rst:83 msgid "" "The simple ``ProductionClass`` below has a ``closer`` method. If it is " "called with an object then it calls ``close`` on it." msgstr "" +"O ``ProductionClass`` simples abaixo tem um método ``closer``. Se ele for " +"chamado com um objeto, então ele chama ``close`` nele." #: ../../library/unittest.mock-examples.rst:91 msgid "" "So to test it we need to pass in an object with a ``close`` method and check " "that it was called correctly." msgstr "" +"Então, para testá-lo, precisamos passar um objeto com um método ``close`` e " +"verificar se ele foi chamado corretamente." #: ../../library/unittest.mock-examples.rst:99 msgid "" "We don't have to do any work to provide the 'close' method on our mock. " "Accessing close creates it. So, if 'close' hasn't already been called then " -"accessing it in the test will create it, but :meth:`~Mock." -"assert_called_with` will raise a failure exception." +"accessing it in the test will create it, " +"but :meth:`~Mock.assert_called_with` will raise a failure exception." msgstr "" +"Não precisamos fazer nenhum trabalho para fornecer o método 'close' em nosso " +"mock. Acessar close o cria. Então, se 'close' ainda não foi chamado, acessá-" +"lo no teste o criará, mas :meth:`~Mock.assert_called_with` levantará uma " +"exceção de falha." #: ../../library/unittest.mock-examples.rst:106 msgid "Mocking Classes" @@ -131,8 +156,8 @@ msgid "" "In the example below we have a function ``some_function`` that instantiates " "``Foo`` and calls a method on it. The call to :func:`patch` replaces the " "class ``Foo`` with a mock. The ``Foo`` instance is the result of calling the " -"mock, so it is configured by modifying the mock :attr:`~Mock." -"return_value`. ::" +"mock, so it is configured by modifying the " +"mock :attr:`~Mock.return_value`. ::" msgstr "" #: ../../library/unittest.mock-examples.rst:130 @@ -148,14 +173,17 @@ msgstr "" #: ../../library/unittest.mock-examples.rst:144 msgid "Tracking all Calls" -msgstr "" +msgstr "Rastreando todas as chamadas" #: ../../library/unittest.mock-examples.rst:146 msgid "" -"Often you want to track more than a single call to a method. The :attr:" -"`~Mock.mock_calls` attribute records all calls to child attributes of the " -"mock - and also to their children." +"Often you want to track more than a single call to a method. " +"The :attr:`~Mock.mock_calls` attribute records all calls to child attributes " +"of the mock - and also to their children." msgstr "" +"Frequentemente você quer rastrear mais de uma chamada para um método. O " +"atributo :attr:`~Mock.mock_calls` registra todas as chamadas para atributos " +"filhos do mock - e também para seus filhos." #: ../../library/unittest.mock-examples.rst:158 msgid "" @@ -255,10 +283,10 @@ msgstr "" #: ../../library/unittest.mock-examples.rst:283 msgid "" -"Since Python 3.8, ``AsyncMock`` and ``MagicMock`` have support to mock :ref:" -"`async-iterators` through ``__aiter__``. The :attr:`~Mock.return_value` " -"attribute of ``__aiter__`` can be used to set the return values to be used " -"for iteration." +"Since Python 3.8, ``AsyncMock`` and ``MagicMock`` have support to " +"mock :ref:`async-iterators` through ``__aiter__``. " +"The :attr:`~Mock.return_value` attribute of ``__aiter__`` can be used to set " +"the return values to be used for iteration." msgstr "" #: ../../library/unittest.mock-examples.rst:298 @@ -267,10 +295,10 @@ msgstr "" #: ../../library/unittest.mock-examples.rst:300 msgid "" -"Since Python 3.8, ``AsyncMock`` and ``MagicMock`` have support to mock :ref:" -"`async-context-managers` through ``__aenter__`` and ``__aexit__``. By " -"default, ``__aenter__`` and ``__aexit__`` are ``AsyncMock`` instances that " -"return an async function." +"Since Python 3.8, ``AsyncMock`` and ``MagicMock`` have support to " +"mock :ref:`async-context-managers` through ``__aenter__`` and ``__aexit__``. " +"By default, ``__aenter__`` and ``__aexit__`` are ``AsyncMock`` instances " +"that return an async function." msgstr "" #: ../../library/unittest.mock-examples.rst:322 @@ -317,11 +345,23 @@ msgid "" "*spec_set* instead of *spec*." msgstr "" -#: ../../library/unittest.mock-examples.rst:365 +#: ../../library/unittest.mock-examples.rst:364 +msgid "Using side_effect to return per file content" +msgstr "" + +#: ../../library/unittest.mock-examples.rst:366 +msgid "" +":func:`mock_open` is used to patch :func:`open` " +"method. :attr:`~Mock.side_effect` can be used to return a new Mock object " +"per call. This can be used to return different contents per file stored in a " +"dictionary::" +msgstr "" + +#: ../../library/unittest.mock-examples.rst:389 msgid "Patch Decorators" msgstr "" -#: ../../library/unittest.mock-examples.rst:369 +#: ../../library/unittest.mock-examples.rst:393 msgid "" "With :func:`patch` it matters that you patch objects in the namespace where " "they are looked up. This is normally straightforward, but for a quick guide " @@ -331,7 +371,7 @@ msgstr "" "de nomes onde eles são procurados. Normalmente, isso é simples, mas para um " "guia rápido, leia :ref:`onde fazer o patch `." -#: ../../library/unittest.mock-examples.rst:374 +#: ../../library/unittest.mock-examples.rst:398 msgid "" "A common need in tests is to patch a class attribute or a module attribute, " "for example patching a builtin or patching a class in a module to test that " @@ -340,48 +380,48 @@ msgid "" "tests and cause hard to diagnose problems." msgstr "" -#: ../../library/unittest.mock-examples.rst:380 +#: ../../library/unittest.mock-examples.rst:404 msgid "" -"mock provides three convenient decorators for this: :func:`patch`, :func:" -"`patch.object` and :func:`patch.dict`. ``patch`` takes a single string, of " -"the form ``package.module.Class.attribute`` to specify the attribute you are " -"patching. It also optionally takes a value that you want the attribute (or " -"class or whatever) to be replaced with. 'patch.object' takes an object and " -"the name of the attribute you would like patched, plus optionally the value " -"to patch it with." +"mock provides three convenient decorators for " +"this: :func:`patch`, :func:`patch.object` and :func:`patch.dict`. ``patch`` " +"takes a single string, of the form ``package.module.Class.attribute`` to " +"specify the attribute you are patching. It also optionally takes a value " +"that you want the attribute (or class or whatever) to be replaced with. " +"'patch.object' takes an object and the name of the attribute you would like " +"patched, plus optionally the value to patch it with." msgstr "" -#: ../../library/unittest.mock-examples.rst:388 +#: ../../library/unittest.mock-examples.rst:412 msgid "``patch.object``::" msgstr "" -#: ../../library/unittest.mock-examples.rst:405 +#: ../../library/unittest.mock-examples.rst:429 msgid "" -"If you are patching a module (including :mod:`builtins`) then use :func:" -"`patch` instead of :func:`patch.object`:" +"If you are patching a module (including :mod:`builtins`) then " +"use :func:`patch` instead of :func:`patch.object`:" msgstr "" -#: ../../library/unittest.mock-examples.rst:415 +#: ../../library/unittest.mock-examples.rst:439 msgid "" "The module name can be 'dotted', in the form ``package.module`` if needed::" msgstr "" -#: ../../library/unittest.mock-examples.rst:424 +#: ../../library/unittest.mock-examples.rst:448 msgid "A nice pattern is to actually decorate test methods themselves:" msgstr "" -#: ../../library/unittest.mock-examples.rst:435 +#: ../../library/unittest.mock-examples.rst:459 msgid "" "If you want to patch with a Mock, you can use :func:`patch` with only one " "argument (or :func:`patch.object` with two arguments). The mock will be " "created for you and passed into the test function / method:" msgstr "" -#: ../../library/unittest.mock-examples.rst:447 +#: ../../library/unittest.mock-examples.rst:471 msgid "You can stack up multiple patch decorators using this pattern::" msgstr "" -#: ../../library/unittest.mock-examples.rst:458 +#: ../../library/unittest.mock-examples.rst:482 msgid "" "When you nest patch decorators the mocks are passed in to the decorated " "function in the same order they applied (the normal *Python* order that " @@ -389,7 +429,7 @@ msgid "" "above the mock for ``test_module.ClassName2`` is passed in first." msgstr "" -#: ../../library/unittest.mock-examples.rst:463 +#: ../../library/unittest.mock-examples.rst:487 msgid "" "There is also :func:`patch.dict` for setting values in a dictionary just " "during a scope and restoring the dictionary to its original state when the " @@ -399,38 +439,38 @@ msgstr "" "apenas durante um escopo e restaurar o dicionário ao seu estado original " "quando o teste termina:" -#: ../../library/unittest.mock-examples.rst:474 +#: ../../library/unittest.mock-examples.rst:498 msgid "" "``patch``, ``patch.object`` and ``patch.dict`` can all be used as context " "managers." msgstr "" -#: ../../library/unittest.mock-examples.rst:476 +#: ../../library/unittest.mock-examples.rst:500 msgid "" "Where you use :func:`patch` to create a mock for you, you can get a " "reference to the mock using the \"as\" form of the with statement:" msgstr "" -#: ../../library/unittest.mock-examples.rst:491 +#: ../../library/unittest.mock-examples.rst:515 msgid "" "As an alternative ``patch``, ``patch.object`` and ``patch.dict`` can be used " "as class decorators. When used in this way it is the same as applying the " "decorator individually to every method whose name starts with \"test\"." msgstr "" -#: ../../library/unittest.mock-examples.rst:499 +#: ../../library/unittest.mock-examples.rst:523 msgid "Further Examples" msgstr "" -#: ../../library/unittest.mock-examples.rst:502 +#: ../../library/unittest.mock-examples.rst:526 msgid "Here are some more examples for some slightly more advanced scenarios." msgstr "" -#: ../../library/unittest.mock-examples.rst:506 +#: ../../library/unittest.mock-examples.rst:530 msgid "Mocking chained calls" msgstr "" -#: ../../library/unittest.mock-examples.rst:508 +#: ../../library/unittest.mock-examples.rst:532 msgid "" "Mocking chained calls is actually straightforward with mock once you " "understand the :attr:`~Mock.return_value` attribute. When a mock is called " @@ -438,31 +478,31 @@ msgid "" "called, a new :class:`Mock` is created." msgstr "" -#: ../../library/unittest.mock-examples.rst:513 +#: ../../library/unittest.mock-examples.rst:537 msgid "" "This means that you can see how the object returned from a call to a mocked " "object has been used by interrogating the ``return_value`` mock:" msgstr "" -#: ../../library/unittest.mock-examples.rst:521 +#: ../../library/unittest.mock-examples.rst:545 msgid "" "From here it is a simple step to configure and then make assertions about " "chained calls. Of course another alternative is writing your code in a more " "testable way in the first place..." msgstr "" -#: ../../library/unittest.mock-examples.rst:525 +#: ../../library/unittest.mock-examples.rst:549 msgid "So, suppose we have some code that looks a little bit like this:" msgstr "" -#: ../../library/unittest.mock-examples.rst:534 +#: ../../library/unittest.mock-examples.rst:558 msgid "" "Assuming that ``BackendProvider`` is already well tested, how do we test " "``method()``? Specifically, we want to test that the code section ``# more " "code`` uses the response object in the correct way." msgstr "" -#: ../../library/unittest.mock-examples.rst:538 +#: ../../library/unittest.mock-examples.rst:562 msgid "" "As this chain of calls is made from an instance attribute we can monkey " "patch the ``backend`` attribute on a ``Something`` instance. In this " @@ -472,26 +512,27 @@ msgid "" "response object uses the builtin :func:`open` as its ``spec``." msgstr "" -#: ../../library/unittest.mock-examples.rst:545 +#: ../../library/unittest.mock-examples.rst:569 msgid "" "To do this we create a mock instance as our mock backend and create a mock " "response object for it. To set the response as the return value for that " "final ``start_call`` we could do this::" msgstr "" -#: ../../library/unittest.mock-examples.rst:551 +#: ../../library/unittest.mock-examples.rst:575 msgid "" -"We can do that in a slightly nicer way using the :meth:`~Mock." -"configure_mock` method to directly set the return value for us::" +"We can do that in a slightly nicer way using " +"the :meth:`~Mock.configure_mock` method to directly set the return value for " +"us::" msgstr "" -#: ../../library/unittest.mock-examples.rst:560 +#: ../../library/unittest.mock-examples.rst:584 msgid "" "With these we monkey patch the \"mock backend\" in place and can make the " "real call::" msgstr "" -#: ../../library/unittest.mock-examples.rst:566 +#: ../../library/unittest.mock-examples.rst:590 msgid "" "Using :attr:`~Mock.mock_calls` we can check the chained call with a single " "assert. A chained call is several calls in one line of code, so there will " @@ -499,42 +540,42 @@ msgid "" "create this list of calls for us::" msgstr "" -#: ../../library/unittest.mock-examples.rst:577 +#: ../../library/unittest.mock-examples.rst:601 msgid "Partial mocking" msgstr "" -#: ../../library/unittest.mock-examples.rst:579 +#: ../../library/unittest.mock-examples.rst:603 msgid "" "In some tests I wanted to mock out a call to :meth:`datetime.date.today` to " "return a known date, but I didn't want to prevent the code under test from " "creating new date objects. Unfortunately :class:`datetime.date` is written " -"in C, and so I couldn't just monkey-patch out the static :meth:`date.today` " -"method." +"in C, and so I couldn't just monkey-patch out the " +"static :meth:`datetime.date.today` method." msgstr "" -#: ../../library/unittest.mock-examples.rst:584 +#: ../../library/unittest.mock-examples.rst:608 msgid "" "I found a simple way of doing this that involved effectively wrapping the " "date class with a mock, but passing through calls to the constructor to the " "real class (and returning real instances)." msgstr "" -#: ../../library/unittest.mock-examples.rst:588 +#: ../../library/unittest.mock-examples.rst:612 msgid "" "The :func:`patch decorator ` is used here to mock out the ``date`` " -"class in the module under test. The :attr:`side_effect` attribute on the " -"mock date class is then set to a lambda function that returns a real date. " -"When the mock date class is called a real date will be constructed and " +"class in the module under test. The :attr:`~Mock.side_effect` attribute on " +"the mock date class is then set to a lambda function that returns a real " +"date. When the mock date class is called a real date will be constructed and " "returned by ``side_effect``. ::" msgstr "" -#: ../../library/unittest.mock-examples.rst:602 +#: ../../library/unittest.mock-examples.rst:626 msgid "" "Note that we don't patch :class:`datetime.date` globally, we patch ``date`` " "in the module that *uses* it. See :ref:`where to patch `." msgstr "" -#: ../../library/unittest.mock-examples.rst:605 +#: ../../library/unittest.mock-examples.rst:629 msgid "" "When ``date.today()`` is called a known date is returned, but calls to the " "``date(...)`` constructor still return normal dates. Without this you can " @@ -542,70 +583,70 @@ msgid "" "algorithm as the code under test, which is a classic testing anti-pattern." msgstr "" -#: ../../library/unittest.mock-examples.rst:610 +#: ../../library/unittest.mock-examples.rst:634 msgid "" "Calls to the date constructor are recorded in the ``mock_date`` attributes " "(``call_count`` and friends) which may also be useful for your tests." msgstr "" -#: ../../library/unittest.mock-examples.rst:613 +#: ../../library/unittest.mock-examples.rst:637 msgid "" "An alternative way of dealing with mocking dates, or other builtin classes, " "is discussed in `this blog entry `_." msgstr "" "Uma forma alternativa de lidar com datas de mock, ou outras classes " -"embutidas, é discutida `nesta entrada de blog `_." +"embutidas, é discutida `nesta entrada de blog `_." -#: ../../library/unittest.mock-examples.rst:619 +#: ../../library/unittest.mock-examples.rst:643 msgid "Mocking a Generator Method" msgstr "" -#: ../../library/unittest.mock-examples.rst:621 +#: ../../library/unittest.mock-examples.rst:645 msgid "" "A Python generator is a function or method that uses the :keyword:`yield` " "statement to return a series of values when iterated over [#]_." msgstr "" -#: ../../library/unittest.mock-examples.rst:624 +#: ../../library/unittest.mock-examples.rst:648 msgid "" "A generator method / function is called to return the generator object. It " "is the generator object that is then iterated over. The protocol method for " -"iteration is :meth:`~container.__iter__`, so we can mock this using a :class:" -"`MagicMock`." +"iteration is :meth:`~container.__iter__`, so we can mock this using " +"a :class:`MagicMock`." msgstr "" -#: ../../library/unittest.mock-examples.rst:629 +#: ../../library/unittest.mock-examples.rst:653 msgid "" "Here's an example class with an \"iter\" method implemented as a generator:" msgstr "" -#: ../../library/unittest.mock-examples.rst:641 +#: ../../library/unittest.mock-examples.rst:665 msgid "How would we mock this class, and in particular its \"iter\" method?" msgstr "" -#: ../../library/unittest.mock-examples.rst:643 +#: ../../library/unittest.mock-examples.rst:667 msgid "" "To configure the values returned from the iteration (implicit in the call " "to :class:`list`), we need to configure the object returned by the call to " "``foo.iter()``." msgstr "" -#: ../../library/unittest.mock-examples.rst:651 +#: ../../library/unittest.mock-examples.rst:675 msgid "" -"There are also generator expressions and more `advanced uses `_ of generators, but we aren't concerned " -"about them here. A very good introduction to generators and how powerful " -"they are is: `Generator Tricks for Systems Programmers `_." +"There are also generator expressions and more `advanced uses `_ of generators, but we aren't " +"concerned about them here. A very good introduction to generators and how " +"powerful they are is: `Generator Tricks for Systems Programmers `_." msgstr "" -#: ../../library/unittest.mock-examples.rst:659 +#: ../../library/unittest.mock-examples.rst:683 msgid "Applying the same patch to every test method" msgstr "" -#: ../../library/unittest.mock-examples.rst:661 +#: ../../library/unittest.mock-examples.rst:685 msgid "" "If you want several patches in place for multiple test methods the obvious " "way is to apply the patch decorators to every method. This can feel like " @@ -615,26 +656,26 @@ msgid "" "start with ``test``::" msgstr "" -#: ../../library/unittest.mock-examples.rst:685 +#: ../../library/unittest.mock-examples.rst:709 msgid "" "An alternative way of managing patches is to use the :ref:`start-and-stop`. " "These allow you to move the patching into your ``setUp`` and ``tearDown`` " "methods. ::" msgstr "" -#: ../../library/unittest.mock-examples.rst:702 +#: ../../library/unittest.mock-examples.rst:726 msgid "" "If you use this technique you must ensure that the patching is \"undone\" by " "calling ``stop``. This can be fiddlier than you might think, because if an " -"exception is raised in the setUp then tearDown is not called. :meth:" -"`unittest.TestCase.addCleanup` makes this easier::" +"exception is raised in the setUp then tearDown is not " +"called. :meth:`unittest.TestCase.addCleanup` makes this easier::" msgstr "" -#: ../../library/unittest.mock-examples.rst:720 +#: ../../library/unittest.mock-examples.rst:744 msgid "Mocking Unbound Methods" msgstr "" -#: ../../library/unittest.mock-examples.rst:722 +#: ../../library/unittest.mock-examples.rst:746 msgid "" "Whilst writing tests today I needed to patch an *unbound method* (patching " "the method on the class rather than on the instance). I needed self to be " @@ -648,7 +689,7 @@ msgid "" "becomes a nuisance." msgstr "" -#: ../../library/unittest.mock-examples.rst:733 +#: ../../library/unittest.mock-examples.rst:757 msgid "" "If you pass ``autospec=True`` to patch then it does the patching with a " "*real* function object. This function object has the same signature as the " @@ -660,38 +701,38 @@ msgid "" "exactly what I wanted:" msgstr "" -#: ../../library/unittest.mock-examples.rst:754 +#: ../../library/unittest.mock-examples.rst:778 msgid "" "If we don't use ``autospec=True`` then the unbound method is patched out " "with a Mock instance instead, and isn't called with ``self``." msgstr "" -#: ../../library/unittest.mock-examples.rst:759 +#: ../../library/unittest.mock-examples.rst:783 msgid "Checking multiple calls with mock" msgstr "" -#: ../../library/unittest.mock-examples.rst:761 +#: ../../library/unittest.mock-examples.rst:785 msgid "" "mock has a nice API for making assertions about how your mock objects are " "used." msgstr "" -#: ../../library/unittest.mock-examples.rst:768 +#: ../../library/unittest.mock-examples.rst:792 msgid "" -"If your mock is only being called once you can use the :meth:" -"`assert_called_once_with` method that also asserts that the :attr:" -"`call_count` is one." +"If your mock is only being called once you can use " +"the :meth:`~Mock.assert_called_once_with` method that also asserts that " +"the :attr:`~Mock.call_count` is one." msgstr "" -#: ../../library/unittest.mock-examples.rst:779 +#: ../../library/unittest.mock-examples.rst:803 msgid "" "Both ``assert_called_with`` and ``assert_called_once_with`` make assertions " "about the *most recent* call. If your mock is going to be called several " -"times, and you want to make assertions about *all* those calls you can use :" -"attr:`~Mock.call_args_list`:" +"times, and you want to make assertions about *all* those calls you can " +"use :attr:`~Mock.call_args_list`:" msgstr "" -#: ../../library/unittest.mock-examples.rst:791 +#: ../../library/unittest.mock-examples.rst:815 msgid "" "The :data:`call` helper makes it easy to make assertions about these calls. " "You can build up a list of expected calls and compare it to " @@ -699,11 +740,11 @@ msgid "" "``call_args_list``:" msgstr "" -#: ../../library/unittest.mock-examples.rst:801 +#: ../../library/unittest.mock-examples.rst:825 msgid "Coping with mutable arguments" msgstr "" -#: ../../library/unittest.mock-examples.rst:803 +#: ../../library/unittest.mock-examples.rst:827 msgid "" "Another situation is rare, but can bite you, is when your mock is called " "with mutable arguments. ``call_args`` and ``call_args_list`` store " @@ -712,57 +753,58 @@ msgid "" "when the mock was called." msgstr "" -#: ../../library/unittest.mock-examples.rst:808 +#: ../../library/unittest.mock-examples.rst:832 msgid "" "Here's some example code that shows the problem. Imagine the following " "functions defined in 'mymodule'::" msgstr "" -#: ../../library/unittest.mock-examples.rst:819 +#: ../../library/unittest.mock-examples.rst:843 msgid "" "When we try to test that ``grob`` calls ``frob`` with the correct argument " "look what happens::" msgstr "" -#: ../../library/unittest.mock-examples.rst:834 +#: ../../library/unittest.mock-examples.rst:858 msgid "" "One possibility would be for mock to copy the arguments you pass in. This " "could then cause problems if you do assertions that rely on object identity " "for equality." msgstr "" -#: ../../library/unittest.mock-examples.rst:838 +#: ../../library/unittest.mock-examples.rst:862 msgid "" -"Here's one solution that uses the :attr:`side_effect` functionality. If you " -"provide a ``side_effect`` function for a mock then ``side_effect`` will be " -"called with the same args as the mock. This gives us an opportunity to copy " -"the arguments and store them for later assertions. In this example I'm using " -"*another* mock to store the arguments so that I can use the mock methods for " -"doing the assertion. Again a helper function sets this up for me. ::" +"Here's one solution that uses the :attr:`~Mock.side_effect` functionality. " +"If you provide a ``side_effect`` function for a mock then ``side_effect`` " +"will be called with the same args as the mock. This gives us an opportunity " +"to copy the arguments and store them for later assertions. In this example " +"I'm using *another* mock to store the arguments so that I can use the mock " +"methods for doing the assertion. Again a helper function sets this up for " +"me. ::" msgstr "" -#: ../../library/unittest.mock-examples.rst:867 +#: ../../library/unittest.mock-examples.rst:891 msgid "" "``copy_call_args`` is called with the mock that will be called. It returns a " "new mock that we do the assertion on. The ``side_effect`` function makes a " "copy of the args and calls our ``new_mock`` with the copy." msgstr "" -#: ../../library/unittest.mock-examples.rst:873 +#: ../../library/unittest.mock-examples.rst:897 msgid "" "If your mock is only going to be used once there is an easier way of " "checking arguments at the point they are called. You can simply do the " "checking inside a ``side_effect`` function." msgstr "" -#: ../../library/unittest.mock-examples.rst:887 +#: ../../library/unittest.mock-examples.rst:911 msgid "" -"An alternative approach is to create a subclass of :class:`Mock` or :class:" -"`MagicMock` that copies (using :func:`copy.deepcopy`) the arguments. Here's " -"an example implementation:" +"An alternative approach is to create a subclass of :class:`Mock` " +"or :class:`MagicMock` that copies (using :func:`copy.deepcopy`) the " +"arguments. Here's an example implementation:" msgstr "" -#: ../../library/unittest.mock-examples.rst:911 +#: ../../library/unittest.mock-examples.rst:935 msgid "" "When you subclass ``Mock`` or ``MagicMock`` all dynamically created " "attributes, and the ``return_value`` will use your subclass automatically. " @@ -770,18 +812,18 @@ msgid "" "``CopyingMock``." msgstr "" -#: ../../library/unittest.mock-examples.rst:917 +#: ../../library/unittest.mock-examples.rst:941 msgid "Nesting Patches" msgstr "" -#: ../../library/unittest.mock-examples.rst:919 +#: ../../library/unittest.mock-examples.rst:943 msgid "" "Using patch as a context manager is nice, but if you do multiple patches you " "can end up with nested with statements indenting further and further to the " "right::" msgstr "" -#: ../../library/unittest.mock-examples.rst:937 +#: ../../library/unittest.mock-examples.rst:961 msgid "" "With unittest ``cleanup`` functions and the :ref:`start-and-stop` we can " "achieve the same effect without the nested indentation. A simple helper " @@ -789,74 +831,75 @@ msgid "" "mock for us::" msgstr "" -#: ../../library/unittest.mock-examples.rst:965 +#: ../../library/unittest.mock-examples.rst:989 msgid "Mocking a dictionary with MagicMock" msgstr "" -#: ../../library/unittest.mock-examples.rst:967 +#: ../../library/unittest.mock-examples.rst:991 msgid "" "You may want to mock a dictionary, or other container object, recording all " "access to it whilst having it still behave like a dictionary." msgstr "" -#: ../../library/unittest.mock-examples.rst:970 +#: ../../library/unittest.mock-examples.rst:994 msgid "" "We can do this with :class:`MagicMock`, which will behave like a dictionary, " "and using :data:`~Mock.side_effect` to delegate dictionary access to a real " "underlying dictionary that is under our control." msgstr "" -#: ../../library/unittest.mock-examples.rst:974 +#: ../../library/unittest.mock-examples.rst:998 msgid "" -"When the :meth:`__getitem__` and :meth:`__setitem__` methods of our " -"``MagicMock`` are called (normal dictionary access) then ``side_effect`` is " -"called with the key (and in the case of ``__setitem__`` the value too). We " -"can also control what is returned." +"When the :meth:`~object.__getitem__` and :meth:`~object.__setitem__` methods " +"of our ``MagicMock`` are called (normal dictionary access) then " +"``side_effect`` is called with the key (and in the case of ``__setitem__`` " +"the value too). We can also control what is returned." msgstr "" -#: ../../library/unittest.mock-examples.rst:978 +#: ../../library/unittest.mock-examples.rst:1003 msgid "" -"After the ``MagicMock`` has been used we can use attributes like :data:" -"`~Mock.call_args_list` to assert about how the dictionary was used:" +"After the ``MagicMock`` has been used we can use attributes " +"like :data:`~Mock.call_args_list` to assert about how the dictionary was " +"used:" msgstr "" -#: ../../library/unittest.mock-examples.rst:994 +#: ../../library/unittest.mock-examples.rst:1019 msgid "" "An alternative to using ``MagicMock`` is to use ``Mock`` and *only* provide " "the magic methods you specifically want:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1001 +#: ../../library/unittest.mock-examples.rst:1026 msgid "" "A *third* option is to use ``MagicMock`` but passing in ``dict`` as the " "*spec* (or *spec_set*) argument so that the ``MagicMock`` created only has " "dictionary magic methods available:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1009 +#: ../../library/unittest.mock-examples.rst:1034 msgid "" "With these side effect functions in place, the ``mock`` will behave like a " "normal dictionary but recording the access. It even raises a :exc:`KeyError` " "if you try to access a key that doesn't exist." msgstr "" -#: ../../library/unittest.mock-examples.rst:1028 +#: ../../library/unittest.mock-examples.rst:1053 msgid "" "After it has been used you can make assertions about the access using the " "normal mock methods and attributes:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1040 +#: ../../library/unittest.mock-examples.rst:1065 msgid "Mock subclasses and their attributes" msgstr "" -#: ../../library/unittest.mock-examples.rst:1042 +#: ../../library/unittest.mock-examples.rst:1067 msgid "" "There are various reasons why you might want to subclass :class:`Mock`. One " "reason might be to add helper methods. Here's a silly example:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1058 +#: ../../library/unittest.mock-examples.rst:1083 msgid "" "The standard behaviour for ``Mock`` instances is that attributes and the " "return value mocks are of the same type as the mock they are accessed on. " @@ -866,15 +909,16 @@ msgid "" "mock of instances of your subclass." msgstr "" -#: ../../library/unittest.mock-examples.rst:1074 +#: ../../library/unittest.mock-examples.rst:1099 msgid "" -"Sometimes this is inconvenient. For example, `one user `_ is subclassing mock to created a `Twisted " -"adaptor `_. Having this applied to attributes too actually causes errors." +"Sometimes this is inconvenient. For example, `one user `_ is subclassing mock to created " +"a `Twisted adaptor `_. Having this applied to attributes too " +"actually causes errors." msgstr "" -#: ../../library/unittest.mock-examples.rst:1080 +#: ../../library/unittest.mock-examples.rst:1105 msgid "" "``Mock`` (in all its flavours) uses a method called ``_get_child_mock`` to " "create these \"sub-mocks\" for attributes and return values. You can prevent " @@ -883,25 +927,25 @@ msgid "" "are then passed onto the mock constructor:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1097 +#: ../../library/unittest.mock-examples.rst:1122 msgid "" "An exception to this rule are the non-callable mocks. Attributes use the " "callable variant because otherwise non-callable mocks couldn't have callable " "methods." msgstr "" -#: ../../library/unittest.mock-examples.rst:1103 +#: ../../library/unittest.mock-examples.rst:1128 msgid "Mocking imports with patch.dict" msgstr "" -#: ../../library/unittest.mock-examples.rst:1105 +#: ../../library/unittest.mock-examples.rst:1130 msgid "" "One situation where mocking can be hard is where you have a local import " "inside a function. These are harder to mock because they aren't using an " "object from the module namespace that we can patch out." msgstr "" -#: ../../library/unittest.mock-examples.rst:1109 +#: ../../library/unittest.mock-examples.rst:1134 msgid "" "Generally local imports are to be avoided. They are sometimes done to " "prevent circular dependencies, for which there is *usually* a much better " @@ -911,7 +955,7 @@ msgid "" "attribute and only do the import on first use)." msgstr "" -#: ../../library/unittest.mock-examples.rst:1116 +#: ../../library/unittest.mock-examples.rst:1141 msgid "" "That aside there is a way to use ``mock`` to affect the results of an " "import. Importing fetches an *object* from the :data:`sys.modules` " @@ -921,7 +965,7 @@ msgid "" "back. This need not be the case however." msgstr "" -#: ../../library/unittest.mock-examples.rst:1123 +#: ../../library/unittest.mock-examples.rst:1148 msgid "" "This means you can use :func:`patch.dict` to *temporarily* put a mock in " "place in :data:`sys.modules`. Any imports whilst this patch is active will " @@ -930,29 +974,29 @@ msgid "" "whatever was there previously will be restored safely." msgstr "" -#: ../../library/unittest.mock-examples.rst:1129 +#: ../../library/unittest.mock-examples.rst:1154 msgid "Here's an example that mocks out the 'fooble' module." msgstr "" -#: ../../library/unittest.mock-examples.rst:1141 +#: ../../library/unittest.mock-examples.rst:1166 msgid "" "As you can see the ``import fooble`` succeeds, but on exit there is no " "'fooble' left in :data:`sys.modules`." msgstr "" -#: ../../library/unittest.mock-examples.rst:1144 +#: ../../library/unittest.mock-examples.rst:1169 msgid "This also works for the ``from module import name`` form:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1154 +#: ../../library/unittest.mock-examples.rst:1179 msgid "With slightly more work you can also mock package imports:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1167 +#: ../../library/unittest.mock-examples.rst:1192 msgid "Tracking order of calls and less verbose call assertions" msgstr "" -#: ../../library/unittest.mock-examples.rst:1169 +#: ../../library/unittest.mock-examples.rst:1194 msgid "" "The :class:`Mock` class allows you to track the *order* of method calls on " "your mock objects through the :attr:`~Mock.method_calls` attribute. This " @@ -960,7 +1004,7 @@ msgid "" "however we can use :attr:`~Mock.mock_calls` to achieve the same effect." msgstr "" -#: ../../library/unittest.mock-examples.rst:1174 +#: ../../library/unittest.mock-examples.rst:1199 msgid "" "Because mocks track calls to child mocks in ``mock_calls``, and accessing an " "arbitrary attribute of a mock creates a child mock, we can create our " @@ -968,35 +1012,35 @@ msgid "" "recorded, in order, in the ``mock_calls`` of the parent:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1191 +#: ../../library/unittest.mock-examples.rst:1216 msgid "" "We can then assert about the calls, including the order, by comparing with " "the ``mock_calls`` attribute on the manager mock:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1198 +#: ../../library/unittest.mock-examples.rst:1223 msgid "" "If ``patch`` is creating, and putting in place, your mocks then you can " "attach them to a manager mock using the :meth:`~Mock.attach_mock` method. " "After attaching calls will be recorded in ``mock_calls`` of the manager. ::" msgstr "" -#: ../../library/unittest.mock-examples.rst:1217 +#: ../../library/unittest.mock-examples.rst:1242 msgid "" "If many calls have been made, but you're only interested in a particular " -"sequence of them then an alternative is to use the :meth:`~Mock." -"assert_has_calls` method. This takes a list of calls (constructed with the :" -"data:`call` object). If that sequence of calls are in :attr:`~Mock." -"mock_calls` then the assert succeeds." +"sequence of them then an alternative is to use " +"the :meth:`~Mock.assert_has_calls` method. This takes a list of calls " +"(constructed with the :data:`call` object). If that sequence of calls are " +"in :attr:`~Mock.mock_calls` then the assert succeeds." msgstr "" -#: ../../library/unittest.mock-examples.rst:1231 +#: ../../library/unittest.mock-examples.rst:1256 msgid "" "Even though the chained call ``m.one().two().three()`` aren't the only calls " "that have been made to the mock, the assert still succeeds." msgstr "" -#: ../../library/unittest.mock-examples.rst:1234 +#: ../../library/unittest.mock-examples.rst:1259 msgid "" "Sometimes a mock may have several calls made to it, and you are only " "interested in asserting about *some* of those calls. You may not even care " @@ -1004,17 +1048,17 @@ msgid "" "``assert_has_calls``:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1246 +#: ../../library/unittest.mock-examples.rst:1271 msgid "More complex argument matching" msgstr "" -#: ../../library/unittest.mock-examples.rst:1248 +#: ../../library/unittest.mock-examples.rst:1273 msgid "" "Using the same basic concept as :data:`ANY` we can implement matchers to do " "more complex assertions on objects used as arguments to mocks." msgstr "" -#: ../../library/unittest.mock-examples.rst:1251 +#: ../../library/unittest.mock-examples.rst:1276 msgid "" "Suppose we expect some object to be passed to a mock that by default " "compares equal based on object identity (which is the Python default for " @@ -1024,28 +1068,28 @@ msgid "" "attributes for us." msgstr "" -#: ../../library/unittest.mock-examples.rst:1258 +#: ../../library/unittest.mock-examples.rst:1283 msgid "" "You can see in this example how a 'standard' call to ``assert_called_with`` " "isn't sufficient:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1273 +#: ../../library/unittest.mock-examples.rst:1298 msgid "" "A comparison function for our ``Foo`` class might look something like this:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1285 +#: ../../library/unittest.mock-examples.rst:1310 msgid "" "And a matcher object that can use comparison functions like this for its " "equality operation would look something like this:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1296 +#: ../../library/unittest.mock-examples.rst:1321 msgid "Putting all this together:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1301 +#: ../../library/unittest.mock-examples.rst:1326 msgid "" "The ``Matcher`` is instantiated with our compare function and the ``Foo`` " "object we want to compare against. In ``assert_called_with`` the ``Matcher`` " @@ -1055,17 +1099,18 @@ msgid "" "raised:" msgstr "" -#: ../../library/unittest.mock-examples.rst:1314 +#: ../../library/unittest.mock-examples.rst:1339 msgid "" -"With a bit of tweaking you could have the comparison function raise the :exc:" -"`AssertionError` directly and provide a more useful failure message." +"With a bit of tweaking you could have the comparison function raise " +"the :exc:`AssertionError` directly and provide a more useful failure message." msgstr "" -#: ../../library/unittest.mock-examples.rst:1317 +#: ../../library/unittest.mock-examples.rst:1342 msgid "" "As of version 1.5, the Python testing library `PyHamcrest `_ provides similar functionality, that may be " -"useful here, in the form of its equality matcher (`hamcrest.library." -"integration.match_equality `_)." +"useful here, in the form of its equality matcher " +"(`hamcrest.library.integration.match_equality `_)." msgstr "" diff --git a/library/unittest.mock.po b/library/unittest.mock.po index 82be11bc1..d0901f84e 100644 --- a/library/unittest.mock.po +++ b/library/unittest.mock.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Vinícius Muniz de Melo , 2021 -# i17obot , 2021 -# Claudio Rogerio Carvalho Filho , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -64,16 +59,16 @@ msgstr "" #: ../../library/unittest.mock.rst:27 msgid "" "Additionally, mock provides a :func:`patch` decorator that handles patching " -"module and class level attributes within the scope of a test, along with :" -"const:`sentinel` for creating unique objects. See the `quick guide`_ for " -"some examples of how to use :class:`Mock`, :class:`MagicMock` and :func:" -"`patch`." +"module and class level attributes within the scope of a test, along " +"with :const:`sentinel` for creating unique objects. See the `quick guide`_ " +"for some examples of how to use :class:`Mock`, :class:`MagicMock` " +"and :func:`patch`." msgstr "" "Adicionalmente, o mock fornece um decorador :func:`patch` que lida com os " "atributos do módulo de patch e do nível de classe no escopo de um teste, " "junto com :const:`sentinel` para criar objetos únicos. Veja o `guia rápido`_ " -"para alguns exemplos de como usar :class:`Mock`, :class:`MagicMock` e :func:" -"`patch`." +"para alguns exemplos de como usar :class:`Mock`, :class:`MagicMock` " +"e :func:`patch`." #: ../../library/unittest.mock.rst:33 msgid "" @@ -81,6 +76,9 @@ msgid "" "assertion' pattern instead of 'record -> replay' used by many mocking " "frameworks." msgstr "" +"Mock foi projetado para uso com :mod:`unittest` e é baseado no padrão 'ação " +"-> asserção' em vez de 'gravar -> reproduzir' usado por muitas estruturas de " +"simulação." #: ../../library/unittest.mock.rst:37 msgid "" @@ -125,7 +123,7 @@ msgstr "" "O Mock tem muitas outras maneiras de configurá-lo e controlar seu " "comportamento. Por exemplo, o argumento *spec* configura o mock para obter " "sua especificação de outro objeto. Tentar acessar atributos ou métodos no " -"mock que não existem na especificação falhará com um :exc:`AttributeError`." +"mock que não existem no spec falhará com um :exc:`AttributeError`." #: ../../library/unittest.mock.rst:97 msgid "" @@ -187,8 +185,8 @@ msgid "" "It allows you to do things like:" msgstr "" "Mock possui suporte a simulação de :ref:`métodos mágicos ` de " -"Python. A maneira mais fácil de usar métodos mágicos é com a classe :class:" -"`MagicMock`. Ele permite que você faça coisas como:" +"Python. A maneira mais fácil de usar métodos mágicos é com a " +"classe :class:`MagicMock`. Ele permite que você faça coisas como:" #: ../../library/unittest.mock.rst:156 msgid "" @@ -220,12 +218,22 @@ msgid "" "replacing, and any functions and methods (including constructors) have the " "same call signature as the real object." msgstr "" +"Para garantir que os objetos mock em seus testes tenham a mesmo API que os " +"objetos que eles estão substituindo, você pode usar :ref:`especificação " +"automática `. A especificação automática pode ser feita por " +"meio do argumento *autospec* para fazer patch ou pela " +"função :func:`create_autospec`. A especificação automática cria objetos mock " +"que têm os mesmos atributos e métodos que os objetos que estão substituindo, " +"e qualquer funções e métodos (incluindo construtores) têm a mesma assinatura " +"de chamada que o objeto real." #: ../../library/unittest.mock.rst:177 msgid "" "This ensures that your mocks will fail in the same way as your production " "code if they are used incorrectly:" msgstr "" +"Isso garante que seus mocks falharão da mesma forma que o código de produção " +"se forem usados incorretamente:" #: ../../library/unittest.mock.rst:193 msgid "" @@ -233,6 +241,9 @@ msgid "" "signature of the ``__init__`` method, and on callable objects where it " "copies the signature of the ``__call__`` method." msgstr "" +":func:`create_autospec` também pode ser usada com classes, onde copia a " +"assinatura do método ``__init__``, e com objetos chamáveis onde copia a " +"assinatura do método ``__call__``." #: ../../library/unittest.mock.rst:200 msgid "The Mock Class" @@ -246,18 +257,24 @@ msgid "" "attribute will always return the same mock. Mocks record how you use them, " "allowing you to make assertions about what your code has done to them." msgstr "" +":class:`Mock` é um objeto simulado flexível destinado a substituir o uso de " +"*stubs* e dublês de teste em todo o seu código. Os mocks são chamáveis e " +"cria atributos como novos mocks à medida que você os acessa [#]_. Acessar o " +"mesmo atributo sempre retorna o mesmo mock. Os mocks registram como você os " +"utiliza, permitindo que você faça asserções sobre o que o seu código fez com " +"eles." #: ../../library/unittest.mock.rst:217 msgid "" ":class:`MagicMock` is a subclass of :class:`Mock` with all the magic methods " "pre-created and ready to use. There are also non-callable variants, useful " -"when you are mocking out objects that aren't callable: :class:" -"`NonCallableMock` and :class:`NonCallableMagicMock`" +"when you are mocking out objects that aren't " +"callable: :class:`NonCallableMock` and :class:`NonCallableMagicMock`" msgstr "" ":class:`MagicMock` é uma subclasse de :class:`Mock` com todos os métodos " "mágicos pré-criados e prontos para uso. Existem também variantes não " -"chamáveis, úteis quando você está simulando objetos que não são chamáveis: :" -"class:`NonCallableMock` e :class:`NonCallableMagicMock`" +"chamáveis, úteis quando você está simulando objetos que não são " +"chamáveis: :class:`NonCallableMock` e :class:`NonCallableMagicMock`" #: ../../library/unittest.mock.rst:222 msgid "" @@ -284,9 +301,9 @@ msgstr "" #: ../../library/unittest.mock.rst:239 msgid "" -"If *spec* is an object (rather than a list of strings) then :attr:`~instance." -"__class__` returns the class of the spec object. This allows mocks to pass :" -"func:`isinstance` tests." +"If *spec* is an object (rather than a list of strings) " +"then :attr:`~instance.__class__` returns the class of the spec object. This " +"allows mocks to pass :func:`isinstance` tests." msgstr "" #: ../../library/unittest.mock.rst:243 @@ -298,8 +315,8 @@ msgstr "" #: ../../library/unittest.mock.rst:247 msgid "" -"*side_effect*: A function to be called whenever the Mock is called. See the :" -"attr:`~Mock.side_effect` attribute. Useful for raising exceptions or " +"*side_effect*: A function to be called whenever the Mock is called. See " +"the :attr:`~Mock.side_effect` attribute. Useful for raising exceptions or " "dynamically changing return values. The function is called with the same " "arguments as the mock, and unless it returns :data:`DEFAULT`, the return " "value of this function is used as the return value." @@ -331,8 +348,8 @@ msgstr "" #: ../../library/unittest.mock.rst:265 msgid "" "*unsafe*: By default, accessing any attribute whose name starts with " -"*assert*, *assret*, *asert*, *aseert* or *assrt* will raise an :exc:" -"`AttributeError`. Passing ``unsafe=True`` will allow access to these " +"*assert*, *assret*, *asert*, *aseert* or *assrt* will raise " +"an :exc:`AttributeError`. Passing ``unsafe=True`` will allow access to these " "attributes." msgstr "" @@ -342,8 +359,8 @@ msgid "" "calling the Mock will pass the call through to the wrapped object (returning " "the real result). Attribute access on the mock will return a Mock object " "that wraps the corresponding attribute of the wrapped object (so attempting " -"to access an attribute that doesn't exist will raise an :exc:" -"`AttributeError`)." +"to access an attribute that doesn't exist will raise " +"an :exc:`AttributeError`)." msgstr "" #: ../../library/unittest.mock.rst:279 @@ -361,17 +378,17 @@ msgstr "" #: ../../library/unittest.mock.rst:286 msgid "" "Mocks can also be called with arbitrary keyword arguments. These will be " -"used to set attributes on the mock after it is created. See the :meth:" -"`configure_mock` method for details." +"used to set attributes on the mock after it is created. See " +"the :meth:`configure_mock` method for details." msgstr "" #: ../../library/unittest.mock.rst:292 msgid "Assert that the mock was called at least once." -msgstr "" +msgstr "Afirmar que o mock foi chamado pelo menos uma vez." #: ../../library/unittest.mock.rst:303 msgid "Assert that the mock was called exactly once." -msgstr "" +msgstr "Afirma que o mock foi chamado exatamente uma vez." #: ../../library/unittest.mock.rst:321 msgid "" @@ -391,16 +408,16 @@ msgstr "" #: ../../library/unittest.mock.rst:348 msgid "" -"The assert passes if the mock has *ever* been called, unlike :meth:" -"`assert_called_with` and :meth:`assert_called_once_with` that only pass if " -"the call is the most recent one, and in the case of :meth:" -"`assert_called_once_with` it must also be the only call." +"The assert passes if the mock has *ever* been called, " +"unlike :meth:`assert_called_with` and :meth:`assert_called_once_with` that " +"only pass if the call is the most recent one, and in the case " +"of :meth:`assert_called_once_with` it must also be the only call." msgstr "" #: ../../library/unittest.mock.rst:361 msgid "" -"assert the mock has been called with the specified calls. The :attr:" -"`mock_calls` list is checked for the calls." +"assert the mock has been called with the specified calls. " +"The :attr:`mock_calls` list is checked for the calls." msgstr "" #: ../../library/unittest.mock.rst:364 @@ -417,7 +434,7 @@ msgstr "" #: ../../library/unittest.mock.rst:383 msgid "Assert the mock was never called." -msgstr "" +msgstr "Afirma que o mock nunca foi chamado." #: ../../library/unittest.mock.rst:398 msgid "The reset_mock method resets all the call attributes on a mock object:" @@ -425,21 +442,21 @@ msgstr "" #: ../../library/unittest.mock.rst:408 msgid "Added two keyword-only arguments to the reset_mock function." -msgstr "" +msgstr "Foram adicionados dois argumentos somente-nomeado à função reset_mock." #: ../../library/unittest.mock.rst:411 msgid "" "This can be useful where you want to make a series of assertions that reuse " "the same object. Note that :meth:`reset_mock` *doesn't* clear the return " "value, :attr:`side_effect` or any child attributes you have set using normal " -"assignment by default. In case you want to reset *return_value* or :attr:" -"`side_effect`, then pass the corresponding parameter as ``True``. Child " -"mocks and the return value mock (if any) are reset as well." +"assignment by default. In case you want to reset *return_value* " +"or :attr:`side_effect`, then pass the corresponding parameter as ``True``. " +"Child mocks and the return value mock (if any) are reset as well." msgstr "" #: ../../library/unittest.mock.rst:419 msgid "*return_value*, and :attr:`side_effect` are keyword-only arguments." -msgstr "" +msgstr "*return_value*, e :attr:`side_effect` são argumentos somente-nomeado." #: ../../library/unittest.mock.rst:425 msgid "" @@ -454,13 +471,13 @@ msgstr "" #: ../../library/unittest.mock.rst:434 msgid "" "Attach a mock as an attribute of this one, replacing its name and parent. " -"Calls to the attached mock will be recorded in the :attr:`method_calls` and :" -"attr:`mock_calls` attributes of this one." +"Calls to the attached mock will be recorded in the :attr:`method_calls` " +"and :attr:`mock_calls` attributes of this one." msgstr "" #: ../../library/unittest.mock.rst:441 msgid "Set attributes on the mock through keyword arguments." -msgstr "" +msgstr "Define atributos no mock por meio de argumentos nomeados." #: ../../library/unittest.mock.rst:443 msgid "" @@ -524,7 +541,7 @@ msgstr "" #: ../../library/unittest.mock.rst:536 msgid ":attr:`return_value` can also be set in the constructor:" -msgstr "" +msgstr ":attr:`return_value` também pode ser definido no construtor:" #: ../../library/unittest.mock.rst:547 msgid "" @@ -545,8 +562,8 @@ msgstr "" msgid "" "If you pass in an iterable, it is used to retrieve an iterator which must " "yield a value on every call. This value can either be an exception instance " -"to be raised, or a value to be returned from the call to the mock (:data:" -"`DEFAULT` handling is identical to the function case)." +"to be raised, or a value to be returned from the call to the mock " +"(:data:`DEFAULT` handling is identical to the function case)." msgstr "" #: ../../library/unittest.mock.rst:561 @@ -557,7 +574,7 @@ msgstr "" #: ../../library/unittest.mock.rst:571 msgid "Using :attr:`side_effect` to return a sequence of values:" -msgstr "" +msgstr "Usando :attr:`side_effect` para retornar um sequência de valores:" #: ../../library/unittest.mock.rst:578 msgid "Using a callable:" @@ -585,23 +602,24 @@ msgstr "" #: ../../library/unittest.mock.rst:645 msgid "" -":attr:`call_args`, along with members of the lists :attr:`call_args_list`, :" -"attr:`method_calls` and :attr:`mock_calls` are :data:`call` objects. These " -"are tuples, so they can be unpacked to get at the individual arguments and " -"make more complex assertions. See :ref:`calls as tuples `." +":attr:`call_args`, along with members of the " +"lists :attr:`call_args_list`, :attr:`method_calls` and :attr:`mock_calls` " +"are :data:`call` objects. These are tuples, so they can be unpacked to get " +"at the individual arguments and make more complex assertions. " +"See :ref:`calls as tuples `." msgstr "" #: ../../library/unittest.mock.rst:651 msgid "Added ``args`` and ``kwargs`` properties." -msgstr "" +msgstr "Adicionadas propriedades ``args`` e ``kwargs``." #: ../../library/unittest.mock.rst:657 msgid "" "This is a list of all the calls made to the mock object in sequence (so the " "length of the list is the number of times it has been called). Before any " "calls have been made it is an empty list. The :data:`call` object can be " -"used for conveniently constructing lists of calls to compare with :attr:" -"`call_args_list`." +"used for conveniently constructing lists of calls to compare " +"with :attr:`call_args_list`." msgstr "" #: ../../library/unittest.mock.rst:673 @@ -654,8 +672,8 @@ msgstr "" #: ../../library/unittest.mock.rst:745 msgid "" -":attr:`__class__` is assignable to, this allows a mock to pass an :func:" -"`isinstance` check without forcing you to use a spec:" +":attr:`__class__` is assignable to, this allows a mock to pass " +"an :func:`isinstance` check without forcing you to use a spec:" msgstr "" #: ../../library/unittest.mock.rst:755 @@ -667,14 +685,14 @@ msgstr "" #: ../../library/unittest.mock.rst:759 msgid "" -"Mock objects that use a class or an instance as a :attr:`spec` or :attr:" -"`spec_set` are able to pass :func:`isinstance` tests:" +"Mock objects that use a class or an instance as a :attr:`spec` " +"or :attr:`spec_set` are able to pass :func:`isinstance` tests:" msgstr "" #: ../../library/unittest.mock.rst:769 msgid "" -"The :class:`Mock` classes have support for mocking magic methods. See :ref:" -"`magic methods ` for the full details." +"The :class:`Mock` classes have support for mocking magic methods. " +"See :ref:`magic methods ` for the full details." msgstr "" #: ../../library/unittest.mock.rst:772 @@ -702,195 +720,198 @@ msgstr "" #: ../../library/unittest.mock.rst:811 msgid "" -"This applies to :meth:`~Mock.assert_called_with`, :meth:`~Mock." -"assert_called_once_with`, :meth:`~Mock.assert_has_calls` and :meth:`~Mock." -"assert_any_call`. When :ref:`auto-speccing`, it will also apply to method " -"calls on the mock object." +"This applies " +"to :meth:`~Mock.assert_called_with`, :meth:`~Mock.assert_called_once_with`, :meth:`~Mock.assert_has_calls` " +"and :meth:`~Mock.assert_any_call`. When :ref:`auto-speccing`, it will also " +"apply to method calls on the mock object." msgstr "" #: ../../library/unittest.mock.rst:816 msgid "Added signature introspection on specced and autospecced mock objects." msgstr "" +"Adicionada introspecção de assinatura em objetos mock especificados e auto-" +"especificados." #: ../../library/unittest.mock.rst:822 msgid "" -"A mock intended to be used as a property, or other descriptor, on a class. :" -"class:`PropertyMock` provides :meth:`__get__` and :meth:`__set__` methods so " -"you can specify a return value when it is fetched." +"A mock intended to be used as a :class:`property`, or " +"other :term:`descriptor`, on a class. :class:`PropertyMock` " +"provides :meth:`~object.__get__` and :meth:`~object.__set__` methods so you " +"can specify a return value when it is fetched." msgstr "" -#: ../../library/unittest.mock.rst:826 +#: ../../library/unittest.mock.rst:827 msgid "" "Fetching a :class:`PropertyMock` instance from an object calls the mock, " "with no args. Setting it calls the mock with the value being set. ::" msgstr "" -#: ../../library/unittest.mock.rst:847 +#: ../../library/unittest.mock.rst:848 msgid "" -"Because of the way mock attributes are stored you can't directly attach a :" -"class:`PropertyMock` to a mock object. Instead you can attach it to the mock " -"type object::" +"Because of the way mock attributes are stored you can't directly attach " +"a :class:`PropertyMock` to a mock object. Instead you can attach it to the " +"mock type object::" msgstr "" -#: ../../library/unittest.mock.rst:861 +#: ../../library/unittest.mock.rst:862 msgid "" "An asynchronous version of :class:`MagicMock`. The :class:`AsyncMock` object " "will behave so the object is recognized as an async function, and the result " "of a call is an awaitable." msgstr "" -#: ../../library/unittest.mock.rst:871 +#: ../../library/unittest.mock.rst:872 msgid "" "The result of ``mock()`` is an async function which will have the outcome of " "``side_effect`` or ``return_value`` after it has been awaited:" msgstr "" -#: ../../library/unittest.mock.rst:874 +#: ../../library/unittest.mock.rst:875 msgid "" "if ``side_effect`` is a function, the async function will return the result " "of that function," msgstr "" -#: ../../library/unittest.mock.rst:876 +#: ../../library/unittest.mock.rst:877 msgid "" "if ``side_effect`` is an exception, the async function will raise the " "exception," msgstr "" -#: ../../library/unittest.mock.rst:878 +#: ../../library/unittest.mock.rst:879 msgid "" "if ``side_effect`` is an iterable, the async function will return the next " "value of the iterable, however, if the sequence of result is exhausted, " "``StopAsyncIteration`` is raised immediately," msgstr "" -#: ../../library/unittest.mock.rst:881 +#: ../../library/unittest.mock.rst:882 msgid "" "if ``side_effect`` is not defined, the async function will return the value " "defined by ``return_value``, hence, by default, the async function returns a " "new :class:`AsyncMock` object." msgstr "" -#: ../../library/unittest.mock.rst:886 +#: ../../library/unittest.mock.rst:887 msgid "" "Setting the *spec* of a :class:`Mock` or :class:`MagicMock` to an async " "function will result in a coroutine object being returned after calling." msgstr "" -#: ../../library/unittest.mock.rst:898 +#: ../../library/unittest.mock.rst:899 msgid "" -"Setting the *spec* of a :class:`Mock`, :class:`MagicMock`, or :class:" -"`AsyncMock` to a class with asynchronous and synchronous functions will " -"automatically detect the synchronous functions and set them as :class:" -"`MagicMock` (if the parent mock is :class:`AsyncMock` or :class:`MagicMock`) " -"or :class:`Mock` (if the parent mock is :class:`Mock`). All asynchronous " -"functions will be :class:`AsyncMock`." +"Setting the *spec* of a :class:`Mock`, :class:`MagicMock`, " +"or :class:`AsyncMock` to a class with asynchronous and synchronous functions " +"will automatically detect the synchronous functions and set them " +"as :class:`MagicMock` (if the parent mock is :class:`AsyncMock` " +"or :class:`MagicMock`) or :class:`Mock` (if the parent mock " +"is :class:`Mock`). All asynchronous functions will be :class:`AsyncMock`." msgstr "" -#: ../../library/unittest.mock.rst:926 +#: ../../library/unittest.mock.rst:927 msgid "" "Assert that the mock was awaited at least once. Note that this is separate " "from the object having been called, the ``await`` keyword must be used:" msgstr "" -#: ../../library/unittest.mock.rst:945 +#: ../../library/unittest.mock.rst:946 msgid "Assert that the mock was awaited exactly once." -msgstr "" +msgstr "Afirme que o mock foi aguardado exatamente uma vez." -#: ../../library/unittest.mock.rst:961 +#: ../../library/unittest.mock.rst:962 msgid "Assert that the last await was with the specified arguments." msgstr "" -#: ../../library/unittest.mock.rst:978 +#: ../../library/unittest.mock.rst:979 msgid "" "Assert that the mock was awaited exactly once and with the specified " "arguments." msgstr "" -#: ../../library/unittest.mock.rst:995 +#: ../../library/unittest.mock.rst:996 msgid "Assert the mock has ever been awaited with the specified arguments." msgstr "" -#: ../../library/unittest.mock.rst:1011 +#: ../../library/unittest.mock.rst:1012 msgid "" -"Assert the mock has been awaited with the specified calls. The :attr:" -"`await_args_list` list is checked for the awaits." +"Assert the mock has been awaited with the specified calls. " +"The :attr:`await_args_list` list is checked for the awaits." msgstr "" -#: ../../library/unittest.mock.rst:1014 +#: ../../library/unittest.mock.rst:1015 msgid "" "If *any_order* is false then the awaits must be sequential. There can be " "extra calls before or after the specified awaits." msgstr "" -#: ../../library/unittest.mock.rst:1018 +#: ../../library/unittest.mock.rst:1019 msgid "" "If *any_order* is true then the awaits can be in any order, but they must " "all appear in :attr:`await_args_list`." msgstr "" -#: ../../library/unittest.mock.rst:1038 +#: ../../library/unittest.mock.rst:1039 msgid "Assert that the mock was never awaited." -msgstr "" +msgstr "Afirma que o mock nunca foi aguardado." -#: ../../library/unittest.mock.rst:1045 +#: ../../library/unittest.mock.rst:1046 msgid "" -"See :func:`Mock.reset_mock`. Also sets :attr:`await_count` to 0, :attr:" -"`await_args` to None, and clears the :attr:`await_args_list`." +"See :func:`Mock.reset_mock`. Also sets :attr:`await_count` to " +"0, :attr:`await_args` to None, and clears the :attr:`await_args_list`." msgstr "" -#: ../../library/unittest.mock.rst:1050 +#: ../../library/unittest.mock.rst:1051 msgid "" "An integer keeping track of how many times the mock object has been awaited." msgstr "" -#: ../../library/unittest.mock.rst:1065 +#: ../../library/unittest.mock.rst:1066 msgid "" "This is either ``None`` (if the mock hasn’t been awaited), or the arguments " -"that the mock was last awaited with. Functions the same as :attr:`Mock." -"call_args`." +"that the mock was last awaited with. Functions the same " +"as :attr:`Mock.call_args`." msgstr "" -#: ../../library/unittest.mock.rst:1083 +#: ../../library/unittest.mock.rst:1084 msgid "" "This is a list of all the awaits made to the mock object in sequence (so the " "length of the list is the number of times it has been awaited). Before any " "awaits have been made it is an empty list." msgstr "" -#: ../../library/unittest.mock.rst:1102 +#: ../../library/unittest.mock.rst:1103 msgid "Calling" -msgstr "" +msgstr "Fazendo chamadas" -#: ../../library/unittest.mock.rst:1104 +#: ../../library/unittest.mock.rst:1105 msgid "" -"Mock objects are callable. The call will return the value set as the :attr:" -"`~Mock.return_value` attribute. The default return value is a new Mock " -"object; it is created the first time the return value is accessed (either " -"explicitly or by calling the Mock) - but it is stored and the same one " -"returned each time." +"Mock objects are callable. The call will return the value set as " +"the :attr:`~Mock.return_value` attribute. The default return value is a new " +"Mock object; it is created the first time the return value is accessed " +"(either explicitly or by calling the Mock) - but it is stored and the same " +"one returned each time." msgstr "" -#: ../../library/unittest.mock.rst:1110 +#: ../../library/unittest.mock.rst:1111 msgid "" -"Calls made to the object will be recorded in the attributes like :attr:" -"`~Mock.call_args` and :attr:`~Mock.call_args_list`." +"Calls made to the object will be recorded in the attributes " +"like :attr:`~Mock.call_args` and :attr:`~Mock.call_args_list`." msgstr "" -#: ../../library/unittest.mock.rst:1113 +#: ../../library/unittest.mock.rst:1114 msgid "" "If :attr:`~Mock.side_effect` is set then it will be called after the call " "has been recorded, so if :attr:`side_effect` raises an exception the call is " "still recorded." msgstr "" -#: ../../library/unittest.mock.rst:1117 +#: ../../library/unittest.mock.rst:1118 msgid "" -"The simplest way to make a mock raise an exception when called is to make :" -"attr:`~Mock.side_effect` an exception class or instance:" +"The simplest way to make a mock raise an exception when called is to " +"make :attr:`~Mock.side_effect` an exception class or instance:" msgstr "" -#: ../../library/unittest.mock.rst:1135 +#: ../../library/unittest.mock.rst:1136 msgid "" "If :attr:`side_effect` is a function then whatever that function returns is " "what calls to the mock return. The :attr:`side_effect` function is called " @@ -898,44 +919,44 @@ msgid "" "value of the call dynamically, based on the input:" msgstr "" -#: ../../library/unittest.mock.rst:1151 +#: ../../library/unittest.mock.rst:1152 msgid "" "If you want the mock to still return the default return value (a new mock), " "or any set return value, then there are two ways of doing this. Either " -"return :attr:`mock.return_value` from inside :attr:`side_effect`, or return :" -"data:`DEFAULT`:" +"return :attr:`mock.return_value` from inside :attr:`side_effect`, or " +"return :data:`DEFAULT`:" msgstr "" -#: ../../library/unittest.mock.rst:1170 +#: ../../library/unittest.mock.rst:1171 msgid "" "To remove a :attr:`side_effect`, and return to the default behaviour, set " "the :attr:`side_effect` to ``None``:" msgstr "" -#: ../../library/unittest.mock.rst:1184 +#: ../../library/unittest.mock.rst:1185 msgid "" "The :attr:`side_effect` can also be any iterable object. Repeated calls to " "the mock will return values from the iterable (until the iterable is " "exhausted and a :exc:`StopIteration` is raised):" msgstr "" -#: ../../library/unittest.mock.rst:1200 +#: ../../library/unittest.mock.rst:1201 msgid "" "If any members of the iterable are exceptions they will be raised instead of " "returned::" msgstr "" -#: ../../library/unittest.mock.rst:1218 +#: ../../library/unittest.mock.rst:1219 msgid "Deleting Attributes" -msgstr "" +msgstr "Deletando Atributos" -#: ../../library/unittest.mock.rst:1220 +#: ../../library/unittest.mock.rst:1221 msgid "" "Mock objects create attributes on demand. This allows them to pretend to be " "objects of any type." msgstr "" -#: ../../library/unittest.mock.rst:1223 +#: ../../library/unittest.mock.rst:1224 msgid "" "You may want a mock object to return ``False`` to a :func:`hasattr` call, or " "raise an :exc:`AttributeError` when an attribute is fetched. You can do this " @@ -943,35 +964,35 @@ msgid "" "convenient." msgstr "" -#: ../../library/unittest.mock.rst:1227 +#: ../../library/unittest.mock.rst:1228 msgid "" "You \"block\" attributes by deleting them. Once deleted, accessing an " "attribute will raise an :exc:`AttributeError`." msgstr "" -#: ../../library/unittest.mock.rst:1244 +#: ../../library/unittest.mock.rst:1245 msgid "Mock names and the name attribute" -msgstr "" +msgstr "Nomes de Mock e o atributo *name*" -#: ../../library/unittest.mock.rst:1246 +#: ../../library/unittest.mock.rst:1247 msgid "" "Since \"name\" is an argument to the :class:`Mock` constructor, if you want " "your mock object to have a \"name\" attribute you can't just pass it in at " -"creation time. There are two alternatives. One option is to use :meth:`~Mock." -"configure_mock`::" +"creation time. There are two alternatives. One option is to " +"use :meth:`~Mock.configure_mock`::" msgstr "" -#: ../../library/unittest.mock.rst:1256 +#: ../../library/unittest.mock.rst:1257 msgid "" "A simpler option is to simply set the \"name\" attribute after mock " "creation::" msgstr "" -#: ../../library/unittest.mock.rst:1263 +#: ../../library/unittest.mock.rst:1264 msgid "Attaching Mocks as Attributes" -msgstr "" +msgstr "Anexando Mocks como Atributos" -#: ../../library/unittest.mock.rst:1265 +#: ../../library/unittest.mock.rst:1266 msgid "" "When you attach a mock as an attribute of another mock (or as the return " "value) it becomes a \"child\" of that mock. Calls to the child are recorded " @@ -982,20 +1003,20 @@ msgid "" "calls between mocks:" msgstr "" -#: ../../library/unittest.mock.rst:1283 +#: ../../library/unittest.mock.rst:1284 msgid "" "The exception to this is if the mock has a name. This allows you to prevent " "the \"parenting\" if for some reason you don't want it to happen." msgstr "" -#: ../../library/unittest.mock.rst:1294 +#: ../../library/unittest.mock.rst:1295 msgid "" "Mocks created for you by :func:`patch` are automatically given names. To " -"attach mocks that have names to a parent you use the :meth:`~Mock." -"attach_mock` method::" +"attach mocks that have names to a parent you use " +"the :meth:`~Mock.attach_mock` method::" msgstr "" -#: ../../library/unittest.mock.rst:1312 +#: ../../library/unittest.mock.rst:1313 msgid "" "The only exceptions are magic methods and attributes (those that have " "leading and trailing double underscores). Mock doesn't create these but " @@ -1005,11 +1026,11 @@ msgid "" "support see :ref:`magic methods `." msgstr "" -#: ../../library/unittest.mock.rst:1321 +#: ../../library/unittest.mock.rst:1322 msgid "The patchers" -msgstr "" +msgstr "Os criadores de patches" -#: ../../library/unittest.mock.rst:1323 +#: ../../library/unittest.mock.rst:1324 msgid "" "The patch decorators are used for patching objects only within the scope of " "the function they decorate. They automatically handle the unpatching for " @@ -1017,17 +1038,17 @@ msgid "" "in with statements or as class decorators." msgstr "" -#: ../../library/unittest.mock.rst:1330 +#: ../../library/unittest.mock.rst:1331 msgid "patch" msgstr "patch" -#: ../../library/unittest.mock.rst:1334 +#: ../../library/unittest.mock.rst:1335 msgid "" "The key is to do the patching in the right namespace. See the section `where " "to patch`_." msgstr "" -#: ../../library/unittest.mock.rst:1338 +#: ../../library/unittest.mock.rst:1339 msgid "" ":func:`patch` acts as a function decorator, class decorator or a context " "manager. Inside the body of the function or with statement, the *target* is " @@ -1035,7 +1056,7 @@ msgid "" "patch is undone." msgstr "" -#: ../../library/unittest.mock.rst:1343 +#: ../../library/unittest.mock.rst:1344 msgid "" "If *new* is omitted, then the target is replaced with an :class:`AsyncMock` " "if the patched object is an async function or a :class:`MagicMock` " @@ -1045,7 +1066,7 @@ msgid "" "by the context manager." msgstr "" -#: ../../library/unittest.mock.rst:1351 +#: ../../library/unittest.mock.rst:1352 msgid "" "*target* should be a string in the form ``'package.module.ClassName'``. The " "*target* is imported and the specified object replaced with the *new* " @@ -1054,26 +1075,27 @@ msgid "" "function is executed, not at decoration time." msgstr "" -#: ../../library/unittest.mock.rst:1357 +#: ../../library/unittest.mock.rst:1358 msgid "" -"The *spec* and *spec_set* keyword arguments are passed to the :class:" -"`MagicMock` if patch is creating one for you." +"The *spec* and *spec_set* keyword arguments are passed to " +"the :class:`MagicMock` if patch is creating one for you." msgstr "" -#: ../../library/unittest.mock.rst:1360 +#: ../../library/unittest.mock.rst:1361 msgid "" "In addition you can pass ``spec=True`` or ``spec_set=True``, which causes " "patch to pass in the object being mocked as the spec/spec_set object." msgstr "" -#: ../../library/unittest.mock.rst:1363 +#: ../../library/unittest.mock.rst:1364 msgid "" "*new_callable* allows you to specify a different class, or callable object, " -"that will be called to create the *new* object. By default :class:" -"`AsyncMock` is used for async functions and :class:`MagicMock` for the rest." +"that will be called to create the *new* object. By " +"default :class:`AsyncMock` is used for async functions " +"and :class:`MagicMock` for the rest." msgstr "" -#: ../../library/unittest.mock.rst:1367 +#: ../../library/unittest.mock.rst:1368 msgid "" "A more powerful form of *spec* is *autospec*. If you set ``autospec=True`` " "then the mock will be created with a spec from the object being replaced. " @@ -1081,17 +1103,17 @@ msgid "" "attribute of the object being replaced. Methods and functions being mocked " "will have their arguments checked and will raise a :exc:`TypeError` if they " "are called with the wrong signature. For mocks replacing a class, their " -"return value (the 'instance') will have the same spec as the class. See the :" -"func:`create_autospec` function and :ref:`auto-speccing`." +"return value (the 'instance') will have the same spec as the class. See " +"the :func:`create_autospec` function and :ref:`auto-speccing`." msgstr "" -#: ../../library/unittest.mock.rst:1377 +#: ../../library/unittest.mock.rst:1378 msgid "" "Instead of ``autospec=True`` you can pass ``autospec=some_object`` to use an " "arbitrary object as the spec instead of the one being replaced." msgstr "" -#: ../../library/unittest.mock.rst:1380 +#: ../../library/unittest.mock.rst:1381 msgid "" "By default :func:`patch` will fail to replace attributes that don't exist. " "If you pass in ``create=True``, and the attribute doesn't exist, patch will " @@ -1102,24 +1124,24 @@ msgid "" "write passing tests against APIs that don't actually exist!" msgstr "" -#: ../../library/unittest.mock.rst:1390 +#: ../../library/unittest.mock.rst:1391 msgid "" "If you are patching builtins in a module then you don't need to pass " "``create=True``, it will be added by default." msgstr "" -#: ../../library/unittest.mock.rst:1394 +#: ../../library/unittest.mock.rst:1395 msgid "" "Patch can be used as a :class:`TestCase` class decorator. It works by " "decorating each test method in the class. This reduces the boilerplate code " "when your test methods share a common patchings set. :func:`patch` finds " "tests by looking for method names that start with ``patch.TEST_PREFIX``. By " "default this is ``'test'``, which matches the way :mod:`unittest` finds " -"tests. You can specify an alternative prefix by setting ``patch." -"TEST_PREFIX``." +"tests. You can specify an alternative prefix by setting " +"``patch.TEST_PREFIX``." msgstr "" -#: ../../library/unittest.mock.rst:1401 +#: ../../library/unittest.mock.rst:1402 msgid "" "Patch can be used as a context manager, with the with statement. Here the " "patching applies to the indented block after the with statement. If you use " @@ -1127,65 +1149,67 @@ msgid "" "very useful if :func:`patch` is creating a mock object for you." msgstr "" -#: ../../library/unittest.mock.rst:1406 +#: ../../library/unittest.mock.rst:1407 msgid "" -":func:`patch` takes arbitrary keyword arguments. These will be passed to :" -"class:`AsyncMock` if the patched object is asynchronous, to :class:" -"`MagicMock` otherwise or to *new_callable* if specified." +":func:`patch` takes arbitrary keyword arguments. These will be passed " +"to :class:`AsyncMock` if the patched object is asynchronous, " +"to :class:`MagicMock` otherwise or to *new_callable* if specified." msgstr "" -#: ../../library/unittest.mock.rst:1410 +#: ../../library/unittest.mock.rst:1411 msgid "" "``patch.dict(...)``, ``patch.multiple(...)`` and ``patch.object(...)`` are " "available for alternate use-cases." msgstr "" +"``patch.dict(...)``, ``patch.multiple(...)`` e ``patch.object(...)`` estão " +"disponíveis para casos de uso alternativos." -#: ../../library/unittest.mock.rst:1413 +#: ../../library/unittest.mock.rst:1414 msgid "" ":func:`patch` as function decorator, creating the mock for you and passing " "it into the decorated function::" msgstr "" -#: ../../library/unittest.mock.rst:1423 +#: ../../library/unittest.mock.rst:1424 msgid "" "Patching a class replaces the class with a :class:`MagicMock` *instance*. If " -"the class is instantiated in the code under test then it will be the :attr:" -"`~Mock.return_value` of the mock that will be used." +"the class is instantiated in the code under test then it will be " +"the :attr:`~Mock.return_value` of the mock that will be used." msgstr "" -#: ../../library/unittest.mock.rst:1427 +#: ../../library/unittest.mock.rst:1428 msgid "" -"If the class is instantiated multiple times you could use :attr:`~Mock." -"side_effect` to return a new mock each time. Alternatively you can set the " -"*return_value* to be anything you want." +"If the class is instantiated multiple times you could " +"use :attr:`~Mock.side_effect` to return a new mock each time. Alternatively " +"you can set the *return_value* to be anything you want." msgstr "" -#: ../../library/unittest.mock.rst:1431 +#: ../../library/unittest.mock.rst:1432 msgid "" "To configure return values on methods of *instances* on the patched class " "you must do this on the :attr:`return_value`. For example::" msgstr "" -#: ../../library/unittest.mock.rst:1445 +#: ../../library/unittest.mock.rst:1446 msgid "" "If you use *spec* or *spec_set* and :func:`patch` is replacing a *class*, " "then the return value of the created mock will have the same spec. ::" msgstr "" -#: ../../library/unittest.mock.rst:1455 +#: ../../library/unittest.mock.rst:1456 msgid "" "The *new_callable* argument is useful where you want to use an alternative " "class to the default :class:`MagicMock` for the created mock. For example, " "if you wanted a :class:`NonCallableMock` to be used::" msgstr "" -#: ../../library/unittest.mock.rst:1468 +#: ../../library/unittest.mock.rst:1469 msgid "" "Another use case might be to replace an object with an :class:`io.StringIO` " "instance::" msgstr "" -#: ../../library/unittest.mock.rst:1481 +#: ../../library/unittest.mock.rst:1482 msgid "" "When :func:`patch` is creating a mock for you, it is common that the first " "thing you need to do is to configure the mock. Some of that configuration " @@ -1193,187 +1217,189 @@ msgid "" "call will be used to set attributes on the created mock::" msgstr "" -#: ../../library/unittest.mock.rst:1493 +#: ../../library/unittest.mock.rst:1494 msgid "" -"As well as attributes on the created mock attributes, like the :attr:`~Mock." -"return_value` and :attr:`~Mock.side_effect`, of child mocks can also be " -"configured. These aren't syntactically valid to pass in directly as keyword " -"arguments, but a dictionary with these as keys can still be expanded into a :" -"func:`patch` call using ``**``::" +"As well as attributes on the created mock attributes, like " +"the :attr:`~Mock.return_value` and :attr:`~Mock.side_effect`, of child mocks " +"can also be configured. These aren't syntactically valid to pass in directly " +"as keyword arguments, but a dictionary with these as keys can still be " +"expanded into a :func:`patch` call using ``**``::" msgstr "" -#: ../../library/unittest.mock.rst:1509 +#: ../../library/unittest.mock.rst:1510 msgid "" "By default, attempting to patch a function in a module (or a method or an " -"attribute in a class) that does not exist will fail with :exc:" -"`AttributeError`::" +"attribute in a class) that does not exist will fail " +"with :exc:`AttributeError`::" msgstr "" -#: ../../library/unittest.mock.rst:1521 +#: ../../library/unittest.mock.rst:1522 msgid "" "but adding ``create=True`` in the call to :func:`patch` will make the " "previous example work as expected::" msgstr "" -#: ../../library/unittest.mock.rst:1532 +#: ../../library/unittest.mock.rst:1533 msgid "" ":func:`patch` now returns an :class:`AsyncMock` if the target is an async " "function." msgstr "" -#: ../../library/unittest.mock.rst:1536 +#: ../../library/unittest.mock.rst:1537 msgid "patch.object" -msgstr "" +msgstr "patch.object" -#: ../../library/unittest.mock.rst:1540 +#: ../../library/unittest.mock.rst:1541 msgid "" "patch the named member (*attribute*) on an object (*target*) with a mock " "object." msgstr "" -#: ../../library/unittest.mock.rst:1543 +#: ../../library/unittest.mock.rst:1544 msgid "" ":func:`patch.object` can be used as a decorator, class decorator or a " "context manager. Arguments *new*, *spec*, *create*, *spec_set*, *autospec* " -"and *new_callable* have the same meaning as for :func:`patch`. Like :func:" -"`patch`, :func:`patch.object` takes arbitrary keyword arguments for " -"configuring the mock object it creates." +"and *new_callable* have the same meaning as for :func:`patch`. " +"Like :func:`patch`, :func:`patch.object` takes arbitrary keyword arguments " +"for configuring the mock object it creates." msgstr "" -#: ../../library/unittest.mock.rst:1549 +#: ../../library/unittest.mock.rst:1550 msgid "" -"When used as a class decorator :func:`patch.object` honours ``patch." -"TEST_PREFIX`` for choosing which methods to wrap." +"When used as a class decorator :func:`patch.object` honours " +"``patch.TEST_PREFIX`` for choosing which methods to wrap." msgstr "" -#: ../../library/unittest.mock.rst:1552 +#: ../../library/unittest.mock.rst:1553 msgid "" "You can either call :func:`patch.object` with three arguments or two " "arguments. The three argument form takes the object to be patched, the " "attribute name and the object to replace the attribute with." msgstr "" -#: ../../library/unittest.mock.rst:1556 +#: ../../library/unittest.mock.rst:1557 msgid "" "When calling with the two argument form you omit the replacement object, and " "a mock is created for you and passed in as an extra argument to the " "decorated function:" msgstr "" -#: ../../library/unittest.mock.rst:1567 +#: ../../library/unittest.mock.rst:1568 msgid "" "*spec*, *create* and the other arguments to :func:`patch.object` have the " "same meaning as they do for :func:`patch`." msgstr "" -#: ../../library/unittest.mock.rst:1572 +#: ../../library/unittest.mock.rst:1573 msgid "patch.dict" -msgstr "" +msgstr "patch.dict" -#: ../../library/unittest.mock.rst:1576 +#: ../../library/unittest.mock.rst:1577 msgid "" "Patch a dictionary, or dictionary like object, and restore the dictionary to " "its original state after the test." msgstr "" -#: ../../library/unittest.mock.rst:1579 +#: ../../library/unittest.mock.rst:1580 msgid "" "*in_dict* can be a dictionary or a mapping like container. If it is a " "mapping then it must at least support getting, setting and deleting items " "plus iterating over keys." msgstr "" -#: ../../library/unittest.mock.rst:1583 +#: ../../library/unittest.mock.rst:1584 msgid "" "*in_dict* can also be a string specifying the name of the dictionary, which " "will then be fetched by importing it." msgstr "" -#: ../../library/unittest.mock.rst:1586 +#: ../../library/unittest.mock.rst:1587 msgid "" "*values* can be a dictionary of values to set in the dictionary. *values* " "can also be an iterable of ``(key, value)`` pairs." msgstr "" -#: ../../library/unittest.mock.rst:1589 +#: ../../library/unittest.mock.rst:1590 msgid "" "If *clear* is true then the dictionary will be cleared before the new values " "are set." msgstr "" -#: ../../library/unittest.mock.rst:1592 +#: ../../library/unittest.mock.rst:1593 msgid "" ":func:`patch.dict` can also be called with arbitrary keyword arguments to " "set values in the dictionary." msgstr "" -#: ../../library/unittest.mock.rst:1597 +#: ../../library/unittest.mock.rst:1598 msgid "" ":func:`patch.dict` now returns the patched dictionary when used as a context " "manager." msgstr "" -#: ../../library/unittest.mock.rst:1600 +#: ../../library/unittest.mock.rst:1601 msgid "" ":func:`patch.dict` can be used as a context manager, decorator or class " "decorator:" msgstr "" -#: ../../library/unittest.mock.rst:1610 +#: ../../library/unittest.mock.rst:1611 msgid "" -"When used as a class decorator :func:`patch.dict` honours ``patch." -"TEST_PREFIX`` (default to ``'test'``) for choosing which methods to wrap:" +"When used as a class decorator :func:`patch.dict` honours " +"``patch.TEST_PREFIX`` (default to ``'test'``) for choosing which methods to " +"wrap:" msgstr "" -#: ../../library/unittest.mock.rst:1621 +#: ../../library/unittest.mock.rst:1622 msgid "" "If you want to use a different prefix for your test, you can inform the " "patchers of the different prefix by setting ``patch.TEST_PREFIX``. For more " "details about how to change the value of see :ref:`test-prefix`." msgstr "" -#: ../../library/unittest.mock.rst:1625 +#: ../../library/unittest.mock.rst:1626 msgid "" ":func:`patch.dict` can be used to add members to a dictionary, or simply let " "a test change a dictionary, and ensure the dictionary is restored when the " "test ends." msgstr "" -#: ../../library/unittest.mock.rst:1646 +#: ../../library/unittest.mock.rst:1647 msgid "" "Keywords can be used in the :func:`patch.dict` call to set values in the " "dictionary:" msgstr "" -#: ../../library/unittest.mock.rst:1656 +#: ../../library/unittest.mock.rst:1657 msgid "" ":func:`patch.dict` can be used with dictionary like objects that aren't " "actually dictionaries. At the very minimum they must support item getting, " "setting, deleting and either iteration or membership test. This corresponds " -"to the magic methods :meth:`__getitem__`, :meth:`__setitem__`, :meth:" -"`__delitem__` and either :meth:`__iter__` or :meth:`__contains__`." +"to the magic " +"methods :meth:`~object.__getitem__`, :meth:`~object.__setitem__`, :meth:`~object.__delitem__` " +"and either :meth:`~container.__iter__` or :meth:`~object.__contains__`." msgstr "" -#: ../../library/unittest.mock.rst:1685 +#: ../../library/unittest.mock.rst:1687 msgid "patch.multiple" -msgstr "" +msgstr "patch.multiple" -#: ../../library/unittest.mock.rst:1689 +#: ../../library/unittest.mock.rst:1691 msgid "" "Perform multiple patches in a single call. It takes the object to be patched " "(either as an object or a string to fetch the object by importing) and " "keyword arguments for the patches::" msgstr "" -#: ../../library/unittest.mock.rst:1696 +#: ../../library/unittest.mock.rst:1698 msgid "" "Use :data:`DEFAULT` as the value if you want :func:`patch.multiple` to " "create mocks for you. In this case the created mocks are passed into a " -"decorated function by keyword, and a dictionary is returned when :func:" -"`patch.multiple` is used as a context manager." +"decorated function by keyword, and a dictionary is returned " +"when :func:`patch.multiple` is used as a context manager." msgstr "" -#: ../../library/unittest.mock.rst:1701 +#: ../../library/unittest.mock.rst:1703 msgid "" ":func:`patch.multiple` can be used as a decorator, class decorator or a " "context manager. The arguments *spec*, *spec_set*, *create*, *autospec* and " @@ -1381,13 +1407,13 @@ msgid "" "will be applied to *all* patches done by :func:`patch.multiple`." msgstr "" -#: ../../library/unittest.mock.rst:1706 +#: ../../library/unittest.mock.rst:1708 msgid "" -"When used as a class decorator :func:`patch.multiple` honours ``patch." -"TEST_PREFIX`` for choosing which methods to wrap." +"When used as a class decorator :func:`patch.multiple` honours " +"``patch.TEST_PREFIX`` for choosing which methods to wrap." msgstr "" -#: ../../library/unittest.mock.rst:1709 +#: ../../library/unittest.mock.rst:1711 msgid "" "If you want :func:`patch.multiple` to create mocks for you, then you can " "use :data:`DEFAULT` as the value. If you use :func:`patch.multiple` as a " @@ -1395,32 +1421,32 @@ msgid "" "keyword. ::" msgstr "" -#: ../../library/unittest.mock.rst:1723 +#: ../../library/unittest.mock.rst:1725 msgid "" ":func:`patch.multiple` can be nested with other ``patch`` decorators, but " "put arguments passed by keyword *after* any of the standard arguments " "created by :func:`patch`::" msgstr "" -#: ../../library/unittest.mock.rst:1735 +#: ../../library/unittest.mock.rst:1737 msgid "" "If :func:`patch.multiple` is used as a context manager, the value returned " "by the context manager is a dictionary where created mocks are keyed by " "name::" msgstr "" -#: ../../library/unittest.mock.rst:1749 +#: ../../library/unittest.mock.rst:1751 msgid "patch methods: start and stop" -msgstr "" +msgstr "métodos do patch: *start* e *stop*" -#: ../../library/unittest.mock.rst:1751 +#: ../../library/unittest.mock.rst:1753 msgid "" "All the patchers have :meth:`start` and :meth:`stop` methods. These make it " "simpler to do patching in ``setUp`` methods or where you want to do multiple " "patches without nesting decorators or with statements." msgstr "" -#: ../../library/unittest.mock.rst:1755 +#: ../../library/unittest.mock.rst:1757 msgid "" "To use them call :func:`patch`, :func:`patch.object` or :func:`patch.dict` " "as normal and keep a reference to the returned ``patcher`` object. You can " @@ -1428,57 +1454,57 @@ msgid "" "it." msgstr "" -#: ../../library/unittest.mock.rst:1759 +#: ../../library/unittest.mock.rst:1761 msgid "" "If you are using :func:`patch` to create a mock for you then it will be " "returned by the call to ``patcher.start``. ::" msgstr "" -#: ../../library/unittest.mock.rst:1773 +#: ../../library/unittest.mock.rst:1775 msgid "" "A typical use case for this might be for doing multiple patches in the " "``setUp`` method of a :class:`TestCase`::" msgstr "" -#: ../../library/unittest.mock.rst:1795 +#: ../../library/unittest.mock.rst:1797 msgid "" "If you use this technique you must ensure that the patching is \"undone\" by " "calling ``stop``. This can be fiddlier than you might think, because if an " -"exception is raised in the ``setUp`` then ``tearDown`` is not called. :meth:" -"`unittest.TestCase.addCleanup` makes this easier::" +"exception is raised in the ``setUp`` then ``tearDown`` is not " +"called. :meth:`unittest.TestCase.addCleanup` makes this easier::" msgstr "" -#: ../../library/unittest.mock.rst:1810 +#: ../../library/unittest.mock.rst:1812 msgid "" "As an added bonus you no longer need to keep a reference to the ``patcher`` " "object." msgstr "" -#: ../../library/unittest.mock.rst:1813 +#: ../../library/unittest.mock.rst:1815 msgid "" -"It is also possible to stop all patches which have been started by using :" -"func:`patch.stopall`." +"It is also possible to stop all patches which have been started by " +"using :func:`patch.stopall`." msgstr "" -#: ../../library/unittest.mock.rst:1818 +#: ../../library/unittest.mock.rst:1820 msgid "Stop all active patches. Only stops patches started with ``start``." msgstr "" -#: ../../library/unittest.mock.rst:1824 +#: ../../library/unittest.mock.rst:1826 msgid "patch builtins" -msgstr "" +msgstr "patch de embutidos" -#: ../../library/unittest.mock.rst:1825 +#: ../../library/unittest.mock.rst:1827 msgid "" "You can patch any builtins within a module. The following example patches " "builtin :func:`ord`::" msgstr "" -#: ../../library/unittest.mock.rst:1840 +#: ../../library/unittest.mock.rst:1842 msgid "TEST_PREFIX" -msgstr "" +msgstr "TEST_PREFIX" -#: ../../library/unittest.mock.rst:1842 +#: ../../library/unittest.mock.rst:1844 msgid "" "All of the patchers can be used as class decorators. When used in this way " "they wrap every test method on the class. The patchers recognise methods " @@ -1486,39 +1512,39 @@ msgid "" "the :class:`unittest.TestLoader` finds test methods by default." msgstr "" -#: ../../library/unittest.mock.rst:1847 +#: ../../library/unittest.mock.rst:1849 msgid "" "It is possible that you want to use a different prefix for your tests. You " -"can inform the patchers of the different prefix by setting ``patch." -"TEST_PREFIX``::" +"can inform the patchers of the different prefix by setting " +"``patch.TEST_PREFIX``::" msgstr "" -#: ../../library/unittest.mock.rst:1870 +#: ../../library/unittest.mock.rst:1872 msgid "Nesting Patch Decorators" -msgstr "" +msgstr "Aninhando Decoradores Patch" -#: ../../library/unittest.mock.rst:1872 +#: ../../library/unittest.mock.rst:1874 msgid "" "If you want to perform multiple patches then you can simply stack up the " "decorators." msgstr "" -#: ../../library/unittest.mock.rst:1875 +#: ../../library/unittest.mock.rst:1877 msgid "You can stack up multiple patch decorators using this pattern:" msgstr "" -#: ../../library/unittest.mock.rst:1891 +#: ../../library/unittest.mock.rst:1893 msgid "" "Note that the decorators are applied from the bottom upwards. This is the " "standard way that Python applies decorators. The order of the created mocks " "passed into your test function matches this order." msgstr "" -#: ../../library/unittest.mock.rst:1899 +#: ../../library/unittest.mock.rst:1901 msgid "Where to patch" -msgstr "" +msgstr "Onde fazer patch" -#: ../../library/unittest.mock.rst:1901 +#: ../../library/unittest.mock.rst:1903 msgid "" ":func:`patch` works by (temporarily) changing the object that a *name* " "points to with another one. There can be many names pointing to any " @@ -1526,29 +1552,29 @@ msgid "" "the name used by the system under test." msgstr "" -#: ../../library/unittest.mock.rst:1906 +#: ../../library/unittest.mock.rst:1908 msgid "" "The basic principle is that you patch where an object is *looked up*, which " "is not necessarily the same place as where it is defined. A couple of " "examples will help to clarify this." msgstr "" -#: ../../library/unittest.mock.rst:1910 +#: ../../library/unittest.mock.rst:1912 msgid "" "Imagine we have a project that we want to test with the following structure::" msgstr "" -#: ../../library/unittest.mock.rst:1919 +#: ../../library/unittest.mock.rst:1921 msgid "" "Now we want to test ``some_function`` but we want to mock out ``SomeClass`` " "using :func:`patch`. The problem is that when we import module b, which we " -"will have to do then it imports ``SomeClass`` from module a. If we use :func:" -"`patch` to mock out ``a.SomeClass`` then it will have no effect on our test; " -"module b already has a reference to the *real* ``SomeClass`` and it looks " -"like our patching had no effect." +"will have to do then it imports ``SomeClass`` from module a. If we " +"use :func:`patch` to mock out ``a.SomeClass`` then it will have no effect on " +"our test; module b already has a reference to the *real* ``SomeClass`` and " +"it looks like our patching had no effect." msgstr "" -#: ../../library/unittest.mock.rst:1926 +#: ../../library/unittest.mock.rst:1928 msgid "" "The key is to patch out ``SomeClass`` where it is used (or where it is " "looked up). In this case ``some_function`` will actually look up " @@ -1556,45 +1582,45 @@ msgid "" "look like::" msgstr "" -#: ../../library/unittest.mock.rst:1932 +#: ../../library/unittest.mock.rst:1934 msgid "" "However, consider the alternative scenario where instead of ``from a import " -"SomeClass`` module b does ``import a`` and ``some_function`` uses ``a." -"SomeClass``. Both of these import forms are common. In this case the class " -"we want to patch is being looked up in the module and so we have to patch " -"``a.SomeClass`` instead::" +"SomeClass`` module b does ``import a`` and ``some_function`` uses " +"``a.SomeClass``. Both of these import forms are common. In this case the " +"class we want to patch is being looked up in the module and so we have to " +"patch ``a.SomeClass`` instead::" msgstr "" -#: ../../library/unittest.mock.rst:1941 +#: ../../library/unittest.mock.rst:1943 msgid "Patching Descriptors and Proxy Objects" msgstr "" -#: ../../library/unittest.mock.rst:1943 +#: ../../library/unittest.mock.rst:1945 msgid "" "Both patch_ and patch.object_ correctly patch and restore descriptors: class " "methods, static methods and properties. You should patch these on the " "*class* rather than an instance. They also work with *some* objects that " -"proxy attribute access, like the `django settings object `_." msgstr "" -#: ../../library/unittest.mock.rst:1951 +#: ../../library/unittest.mock.rst:1953 msgid "MagicMock and magic method support" msgstr "" -#: ../../library/unittest.mock.rst:1956 +#: ../../library/unittest.mock.rst:1958 msgid "Mocking Magic Methods" -msgstr "" +msgstr "Simulando Métodos Mágicos" -#: ../../library/unittest.mock.rst:1958 +#: ../../library/unittest.mock.rst:1960 msgid "" -":class:`Mock` supports mocking the Python protocol methods, also known as " -"\"magic methods\". This allows mock objects to replace containers or other " -"objects that implement Python protocols." +":class:`Mock` supports mocking the Python protocol methods, also known " +"as :term:`\"magic methods\" `. This allows mock objects to " +"replace containers or other objects that implement Python protocols." msgstr "" -#: ../../library/unittest.mock.rst:1962 +#: ../../library/unittest.mock.rst:1964 msgid "" "Because magic methods are looked up differently from normal methods [#]_, " "this support has been specially implemented. This means that only specific " @@ -1602,72 +1628,76 @@ msgid "" "them. If there are any missing that you need please let us know." msgstr "" -#: ../../library/unittest.mock.rst:1967 +#: ../../library/unittest.mock.rst:1969 msgid "" "You mock magic methods by setting the method you are interested in to a " "function or a mock instance. If you are using a function then it *must* take " "``self`` as the first argument [#]_." msgstr "" -#: ../../library/unittest.mock.rst:1990 +#: ../../library/unittest.mock.rst:1992 msgid "" -"One use case for this is for mocking objects used as context managers in a :" -"keyword:`with` statement:" +"One use case for this is for mocking objects used as context managers in " +"a :keyword:`with` statement:" msgstr "" -#: ../../library/unittest.mock.rst:2002 +#: ../../library/unittest.mock.rst:2004 msgid "" "Calls to magic methods do not appear in :attr:`~Mock.method_calls`, but they " "are recorded in :attr:`~Mock.mock_calls`." msgstr "" -#: ../../library/unittest.mock.rst:2007 +#: ../../library/unittest.mock.rst:2009 msgid "" "If you use the *spec* keyword argument to create a mock then attempting to " -"set a magic method that isn't in the spec will raise an :exc:" -"`AttributeError`." +"set a magic method that isn't in the spec will raise " +"an :exc:`AttributeError`." msgstr "" -#: ../../library/unittest.mock.rst:2010 +#: ../../library/unittest.mock.rst:2012 msgid "The full list of supported magic methods is:" -msgstr "" +msgstr "A lista completa de métodos mágicos compatíveis é:" -#: ../../library/unittest.mock.rst:2012 +#: ../../library/unittest.mock.rst:2014 msgid "``__hash__``, ``__sizeof__``, ``__repr__`` and ``__str__``" -msgstr "" +msgstr "``__hash__``, ``__sizeof__``, ``__repr__`` e ``__str__``" -#: ../../library/unittest.mock.rst:2013 +#: ../../library/unittest.mock.rst:2015 msgid "``__dir__``, ``__format__`` and ``__subclasses__``" -msgstr "" +msgstr "``__dir__``, ``__format__`` e ``__subclasses__``" -#: ../../library/unittest.mock.rst:2014 +#: ../../library/unittest.mock.rst:2016 msgid "``__round__``, ``__floor__``, ``__trunc__`` and ``__ceil__``" -msgstr "" +msgstr "``__round__``, ``__floor__``, ``__trunc__`` e ``__ceil__``" -#: ../../library/unittest.mock.rst:2015 +#: ../../library/unittest.mock.rst:2017 msgid "" "Comparisons: ``__lt__``, ``__gt__``, ``__le__``, ``__ge__``, ``__eq__`` and " "``__ne__``" msgstr "" +"Comparações: ``__lt__``, ``__gt__``, ``__le__``, ``__ge__``, ``__eq__`` e " +"``__ne__``" -#: ../../library/unittest.mock.rst:2017 +#: ../../library/unittest.mock.rst:2019 msgid "" "Container methods: ``__getitem__``, ``__setitem__``, ``__delitem__``, " "``__contains__``, ``__len__``, ``__iter__``, ``__reversed__`` and " "``__missing__``" msgstr "" -#: ../../library/unittest.mock.rst:2020 +#: ../../library/unittest.mock.rst:2022 msgid "" "Context manager: ``__enter__``, ``__exit__``, ``__aenter__`` and " "``__aexit__``" msgstr "" +"Gerenciador de contexto: ``__enter__``, ``__exit__``, ``__aenter__`` e " +"``__aexit__``" -#: ../../library/unittest.mock.rst:2021 +#: ../../library/unittest.mock.rst:2023 msgid "Unary numeric methods: ``__neg__``, ``__pos__`` and ``__invert__``" -msgstr "" +msgstr "Métodos numéricos unários: ``__neg__``, ``__pos__`` e ``__invert__``" -#: ../../library/unittest.mock.rst:2022 +#: ../../library/unittest.mock.rst:2024 msgid "" "The numeric methods (including right hand and in-place variants): " "``__add__``, ``__sub__``, ``__mul__``, ``__matmul__``, ``__truediv__``, " @@ -1675,100 +1705,109 @@ msgid "" "``__rshift__``, ``__and__``, ``__xor__``, ``__or__``, and ``__pow__``" msgstr "" -#: ../../library/unittest.mock.rst:2026 +#: ../../library/unittest.mock.rst:2028 msgid "" "Numeric conversion methods: ``__complex__``, ``__int__``, ``__float__`` and " "``__index__``" msgstr "" +"Métodos de conversão numérica: ``__complex__``, ``__int__``, ``__float__`` e " +"``__index__``" -#: ../../library/unittest.mock.rst:2028 +#: ../../library/unittest.mock.rst:2030 msgid "Descriptor methods: ``__get__``, ``__set__`` and ``__delete__``" -msgstr "" +msgstr "Métodos descritores: ``__get__``, ``__set__`` e ``__delete__``" -#: ../../library/unittest.mock.rst:2029 +#: ../../library/unittest.mock.rst:2031 msgid "" "Pickling: ``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, " "``__getnewargs__``, ``__getstate__`` and ``__setstate__``" msgstr "" +"Pickling: ``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, " +"``__getnewargs__``, ``__getstate__`` e ``__setstate__``" -#: ../../library/unittest.mock.rst:2031 +#: ../../library/unittest.mock.rst:2033 msgid "File system path representation: ``__fspath__``" msgstr "" -#: ../../library/unittest.mock.rst:2032 +#: ../../library/unittest.mock.rst:2034 msgid "Asynchronous iteration methods: ``__aiter__`` and ``__anext__``" -msgstr "" +msgstr "Métodos de iteração assíncrona: ``__aiter__`` e ``__anext__``" -#: ../../library/unittest.mock.rst:2034 +#: ../../library/unittest.mock.rst:2036 msgid "Added support for :func:`os.PathLike.__fspath__`." -msgstr "" +msgstr "Adicionado suporte para :func:`os.PathLike.__fspath__`." -#: ../../library/unittest.mock.rst:2037 +#: ../../library/unittest.mock.rst:2039 msgid "" "Added support for ``__aenter__``, ``__aexit__``, ``__aiter__`` and " "``__anext__``." msgstr "" +"Adicionado suporte para ``__aenter__``, ``__aexit__``, ``__aiter__`` e " +"``__anext__``." -#: ../../library/unittest.mock.rst:2041 +#: ../../library/unittest.mock.rst:2043 msgid "" "The following methods exist but are *not* supported as they are either in " "use by mock, can't be set dynamically, or can cause problems:" msgstr "" -#: ../../library/unittest.mock.rst:2044 +#: ../../library/unittest.mock.rst:2046 msgid "``__getattr__``, ``__setattr__``, ``__init__`` and ``__new__``" -msgstr "" +msgstr "``__getattr__``, ``__setattr__``, ``__init__`` e ``__new__``" -#: ../../library/unittest.mock.rst:2045 +#: ../../library/unittest.mock.rst:2047 msgid "" "``__prepare__``, ``__instancecheck__``, ``__subclasscheck__``, ``__del__``" msgstr "" +"``__prepare__``, ``__instancecheck__``, ``__subclasscheck__``, ``__del__``" -#: ../../library/unittest.mock.rst:2050 +#: ../../library/unittest.mock.rst:2052 msgid "Magic Mock" -msgstr "" +msgstr "Magic Mock" -#: ../../library/unittest.mock.rst:2052 +#: ../../library/unittest.mock.rst:2054 msgid "" -"There are two ``MagicMock`` variants: :class:`MagicMock` and :class:" -"`NonCallableMagicMock`." +"There are two ``MagicMock`` variants: :class:`MagicMock` " +"and :class:`NonCallableMagicMock`." msgstr "" +"Existem duas variantes de ``MagicMock``: :class:`MagicMock` " +"e :class:`NonCallableMagicMock`." -#: ../../library/unittest.mock.rst:2057 +#: ../../library/unittest.mock.rst:2059 msgid "" "``MagicMock`` is a subclass of :class:`Mock` with default implementations of " -"most of the magic methods. You can use ``MagicMock`` without having to " -"configure the magic methods yourself." +"most of the :term:`magic methods `. You can use ``MagicMock`` " +"without having to configure the magic methods yourself." msgstr "" -#: ../../library/unittest.mock.rst:2061 +#: ../../library/unittest.mock.rst:2063 msgid "The constructor parameters have the same meaning as for :class:`Mock`." msgstr "" -#: ../../library/unittest.mock.rst:2063 +#: ../../library/unittest.mock.rst:2065 msgid "" "If you use the *spec* or *spec_set* arguments then *only* magic methods that " "exist in the spec will be created." msgstr "" -#: ../../library/unittest.mock.rst:2069 +#: ../../library/unittest.mock.rst:2071 msgid "A non-callable version of :class:`MagicMock`." -msgstr "" +msgstr "Uma versão não-chamável de :class:`MagicMock`." -#: ../../library/unittest.mock.rst:2071 +#: ../../library/unittest.mock.rst:2073 msgid "" "The constructor parameters have the same meaning as for :class:`MagicMock`, " "with the exception of *return_value* and *side_effect* which have no meaning " "on a non-callable mock." msgstr "" -#: ../../library/unittest.mock.rst:2075 +#: ../../library/unittest.mock.rst:2077 msgid "" "The magic methods are setup with :class:`MagicMock` objects, so you can " "configure them and use them in the usual way:" msgstr "" -#: ../../library/unittest.mock.rst:2085 +#: ../../library/unittest.mock.rst:2087 msgid "" "By default many of the protocol methods are required to return objects of a " "specific type. These methods are preconfigured with a default return value, " @@ -1777,186 +1816,188 @@ msgid "" "manually if you want to change the default." msgstr "" -#: ../../library/unittest.mock.rst:2091 -msgid "Methods and their defaults:" -msgstr "" - #: ../../library/unittest.mock.rst:2093 -msgid "``__lt__``: ``NotImplemented``" -msgstr "" - -#: ../../library/unittest.mock.rst:2094 -msgid "``__gt__``: ``NotImplemented``" -msgstr "" +msgid "Methods and their defaults:" +msgstr "Métodos e seus padrões:" #: ../../library/unittest.mock.rst:2095 -msgid "``__le__``: ``NotImplemented``" +msgid "``__lt__``: :data:`NotImplemented`" msgstr "" #: ../../library/unittest.mock.rst:2096 -msgid "``__ge__``: ``NotImplemented``" +msgid "``__gt__``: :data:`!NotImplemented`" msgstr "" #: ../../library/unittest.mock.rst:2097 -msgid "``__int__``: ``1``" +msgid "``__le__``: :data:`!NotImplemented`" msgstr "" #: ../../library/unittest.mock.rst:2098 -msgid "``__contains__``: ``False``" +msgid "``__ge__``: :data:`!NotImplemented`" msgstr "" #: ../../library/unittest.mock.rst:2099 -msgid "``__len__``: ``0``" -msgstr "" +msgid "``__int__``: ``1``" +msgstr "``__int__``: ``1``" #: ../../library/unittest.mock.rst:2100 -msgid "``__iter__``: ``iter([])``" -msgstr "" +msgid "``__contains__``: ``False``" +msgstr "``__contains__``: ``False``" #: ../../library/unittest.mock.rst:2101 -msgid "``__exit__``: ``False``" -msgstr "" +msgid "``__len__``: ``0``" +msgstr "``__len__``: ``0``" #: ../../library/unittest.mock.rst:2102 -msgid "``__aexit__``: ``False``" -msgstr "" +msgid "``__iter__``: ``iter([])``" +msgstr "``__iter__``: ``iter([])``" #: ../../library/unittest.mock.rst:2103 -msgid "``__complex__``: ``1j``" -msgstr "" +msgid "``__exit__``: ``False``" +msgstr "``__exit__``: ``False``" #: ../../library/unittest.mock.rst:2104 -msgid "``__float__``: ``1.0``" -msgstr "" +msgid "``__aexit__``: ``False``" +msgstr "``__aexit__``: ``False``" #: ../../library/unittest.mock.rst:2105 -msgid "``__bool__``: ``True``" -msgstr "" +msgid "``__complex__``: ``1j``" +msgstr "``__complex__``: ``1j``" #: ../../library/unittest.mock.rst:2106 -msgid "``__index__``: ``1``" -msgstr "" +msgid "``__float__``: ``1.0``" +msgstr "``__float__``: ``1.0``" #: ../../library/unittest.mock.rst:2107 -msgid "``__hash__``: default hash for the mock" -msgstr "" +msgid "``__bool__``: ``True``" +msgstr "``__bool__``: ``True``" #: ../../library/unittest.mock.rst:2108 -msgid "``__str__``: default str for the mock" -msgstr "" +msgid "``__index__``: ``1``" +msgstr "``__index__``: ``1``" #: ../../library/unittest.mock.rst:2109 -msgid "``__sizeof__``: default sizeof for the mock" -msgstr "" +msgid "``__hash__``: default hash for the mock" +msgstr "``__hash__``: hash padrão para o mock" + +#: ../../library/unittest.mock.rst:2110 +msgid "``__str__``: default str for the mock" +msgstr "``__str__``: *str* padrão para o mock" #: ../../library/unittest.mock.rst:2111 +msgid "``__sizeof__``: default sizeof for the mock" +msgstr "``__sizeof__``: *sizeof* padrão para o mock" + +#: ../../library/unittest.mock.rst:2113 msgid "For example:" msgstr "Por exemplo:" -#: ../../library/unittest.mock.rst:2123 +#: ../../library/unittest.mock.rst:2125 msgid "" -"The two equality methods, :meth:`__eq__` and :meth:`__ne__`, are special. " -"They do the default equality comparison on identity, using the :attr:`~Mock." -"side_effect` attribute, unless you change their return value to return " -"something else::" +"The two equality methods, :meth:`!__eq__` and :meth:`!__ne__`, are special. " +"They do the default equality comparison on identity, using " +"the :attr:`~Mock.side_effect` attribute, unless you change their return " +"value to return something else::" msgstr "" -#: ../../library/unittest.mock.rst:2137 +#: ../../library/unittest.mock.rst:2139 msgid "" "The return value of :meth:`MagicMock.__iter__` can be any iterable object " "and isn't required to be an iterator:" msgstr "" -#: ../../library/unittest.mock.rst:2147 +#: ../../library/unittest.mock.rst:2149 msgid "" "If the return value *is* an iterator, then iterating over it once will " "consume it and subsequent iterations will result in an empty list:" msgstr "" -#: ../../library/unittest.mock.rst:2156 +#: ../../library/unittest.mock.rst:2158 msgid "" "``MagicMock`` has all of the supported magic methods configured except for " "some of the obscure and obsolete ones. You can still set these up if you " "want." msgstr "" -#: ../../library/unittest.mock.rst:2159 +#: ../../library/unittest.mock.rst:2161 msgid "" "Magic methods that are supported but not setup by default in ``MagicMock`` " "are:" msgstr "" -#: ../../library/unittest.mock.rst:2161 +#: ../../library/unittest.mock.rst:2163 msgid "``__subclasses__``" msgstr "``__subclasses__``" -#: ../../library/unittest.mock.rst:2162 +#: ../../library/unittest.mock.rst:2164 msgid "``__dir__``" msgstr "``__dir__``" -#: ../../library/unittest.mock.rst:2163 +#: ../../library/unittest.mock.rst:2165 msgid "``__format__``" msgstr "``__format__``" -#: ../../library/unittest.mock.rst:2164 +#: ../../library/unittest.mock.rst:2166 msgid "``__get__``, ``__set__`` and ``__delete__``" -msgstr "" +msgstr "``__get__``, ``__set__`` e ``__delete__``" -#: ../../library/unittest.mock.rst:2165 +#: ../../library/unittest.mock.rst:2167 msgid "``__reversed__`` and ``__missing__``" -msgstr "" +msgstr "``__reversed__`` e ``__missing__``" -#: ../../library/unittest.mock.rst:2166 +#: ../../library/unittest.mock.rst:2168 msgid "" "``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, ``__getnewargs__``, " "``__getstate__`` and ``__setstate__``" msgstr "" +"``__reduce__``, ``__reduce_ex__``, ``__getinitargs__``, ``__getnewargs__``, " +"``__getstate__`` e ``__setstate__``" -#: ../../library/unittest.mock.rst:2168 +#: ../../library/unittest.mock.rst:2170 msgid "``__getformat__``" -msgstr "" +msgstr "``__getformat__``" -#: ../../library/unittest.mock.rst:2172 +#: ../../library/unittest.mock.rst:2174 msgid "" "Magic methods *should* be looked up on the class rather than the instance. " "Different versions of Python are inconsistent about applying this rule. The " "supported protocol methods should work with all supported versions of Python." msgstr "" -#: ../../library/unittest.mock.rst:2176 +#: ../../library/unittest.mock.rst:2178 msgid "" "The function is basically hooked up to the class, but each ``Mock`` instance " "is kept isolated from the others." msgstr "" -#: ../../library/unittest.mock.rst:2181 +#: ../../library/unittest.mock.rst:2183 msgid "Helpers" -msgstr "" +msgstr "Ajudantes" -#: ../../library/unittest.mock.rst:2184 +#: ../../library/unittest.mock.rst:2186 msgid "sentinel" -msgstr "" +msgstr "sentinel" -#: ../../library/unittest.mock.rst:2188 +#: ../../library/unittest.mock.rst:2190 msgid "" "The ``sentinel`` object provides a convenient way of providing unique " "objects for your tests." msgstr "" -#: ../../library/unittest.mock.rst:2191 +#: ../../library/unittest.mock.rst:2193 msgid "" "Attributes are created on demand when you access them by name. Accessing the " "same attribute will always return the same object. The objects returned have " "a sensible repr so that test failure messages are readable." msgstr "" -#: ../../library/unittest.mock.rst:2195 +#: ../../library/unittest.mock.rst:2197 msgid "" -"The ``sentinel`` attributes now preserve their identity when they are :mod:" -"`copied ` or :mod:`pickled `." +"The ``sentinel`` attributes now preserve their identity when they " +"are :mod:`copied ` or :mod:`pickled `." msgstr "" -#: ../../library/unittest.mock.rst:2199 +#: ../../library/unittest.mock.rst:2201 msgid "" "Sometimes when testing you need to test that a specific object is passed as " "an argument to another method, or returned. It can be common to create named " @@ -1964,42 +2005,42 @@ msgid "" "creating and testing the identity of objects like this." msgstr "" -#: ../../library/unittest.mock.rst:2204 +#: ../../library/unittest.mock.rst:2206 msgid "" -"In this example we monkey patch ``method`` to return ``sentinel." -"some_object``:" +"In this example we monkey patch ``method`` to return " +"``sentinel.some_object``:" msgstr "" -#: ../../library/unittest.mock.rst:2216 +#: ../../library/unittest.mock.rst:2218 msgid "DEFAULT" msgstr "DEFAULT" -#: ../../library/unittest.mock.rst:2221 +#: ../../library/unittest.mock.rst:2223 msgid "" -"The :data:`DEFAULT` object is a pre-created sentinel (actually ``sentinel." -"DEFAULT``). It can be used by :attr:`~Mock.side_effect` functions to " -"indicate that the normal return value should be used." +"The :data:`DEFAULT` object is a pre-created sentinel (actually " +"``sentinel.DEFAULT``). It can be used by :attr:`~Mock.side_effect` functions " +"to indicate that the normal return value should be used." msgstr "" -#: ../../library/unittest.mock.rst:2227 +#: ../../library/unittest.mock.rst:2229 msgid "call" -msgstr "" +msgstr "chamada" -#: ../../library/unittest.mock.rst:2231 +#: ../../library/unittest.mock.rst:2233 msgid "" ":func:`call` is a helper object for making simpler assertions, for comparing " -"with :attr:`~Mock.call_args`, :attr:`~Mock.call_args_list`, :attr:`~Mock." -"mock_calls` and :attr:`~Mock.method_calls`. :func:`call` can also be used " +"with :attr:`~Mock.call_args`, :attr:`~Mock.call_args_list`, :attr:`~Mock.mock_calls` " +"and :attr:`~Mock.method_calls`. :func:`call` can also be used " "with :meth:`~Mock.assert_has_calls`." msgstr "" -#: ../../library/unittest.mock.rst:2244 +#: ../../library/unittest.mock.rst:2246 msgid "" "For a call object that represents multiple calls, :meth:`call_list` returns " "a list of all the intermediate calls as well as the final call." msgstr "" -#: ../../library/unittest.mock.rst:2248 +#: ../../library/unittest.mock.rst:2250 msgid "" "``call_list`` is particularly useful for making assertions on \"chained " "calls\". A chained call is multiple calls on a single line of code. This " @@ -2007,32 +2048,33 @@ msgid "" "constructing the sequence of calls can be tedious." msgstr "" -#: ../../library/unittest.mock.rst:2253 +#: ../../library/unittest.mock.rst:2255 msgid "" ":meth:`~call.call_list` can construct the sequence of calls from the same " "chained call:" msgstr "" -#: ../../library/unittest.mock.rst:2270 +#: ../../library/unittest.mock.rst:2272 msgid "" "A ``call`` object is either a tuple of (positional args, keyword args) or " "(name, positional args, keyword args) depending on how it was constructed. " "When you construct them yourself this isn't particularly interesting, but " -"the ``call`` objects that are in the :attr:`Mock.call_args`, :attr:`Mock." -"call_args_list` and :attr:`Mock.mock_calls` attributes can be introspected " -"to get at the individual arguments they contain." +"the ``call`` objects that are in " +"the :attr:`Mock.call_args`, :attr:`Mock.call_args_list` " +"and :attr:`Mock.mock_calls` attributes can be introspected to get at the " +"individual arguments they contain." msgstr "" -#: ../../library/unittest.mock.rst:2277 +#: ../../library/unittest.mock.rst:2279 msgid "" -"The ``call`` objects in :attr:`Mock.call_args` and :attr:`Mock." -"call_args_list` are two-tuples of (positional args, keyword args) whereas " -"the ``call`` objects in :attr:`Mock.mock_calls`, along with ones you " -"construct yourself, are three-tuples of (name, positional args, keyword " -"args)." +"The ``call`` objects in :attr:`Mock.call_args` " +"and :attr:`Mock.call_args_list` are two-tuples of (positional args, keyword " +"args) whereas the ``call`` objects in :attr:`Mock.mock_calls`, along with " +"ones you construct yourself, are three-tuples of (name, positional args, " +"keyword args)." msgstr "" -#: ../../library/unittest.mock.rst:2282 +#: ../../library/unittest.mock.rst:2284 msgid "" "You can use their \"tupleness\" to pull out the individual arguments for " "more complex introspection and assertions. The positional arguments are a " @@ -2040,29 +2082,29 @@ msgid "" "arguments are a dictionary:" msgstr "" -#: ../../library/unittest.mock.rst:2315 +#: ../../library/unittest.mock.rst:2317 msgid "create_autospec" msgstr "create_autospec" -#: ../../library/unittest.mock.rst:2319 +#: ../../library/unittest.mock.rst:2321 msgid "" "Create a mock object using another object as a spec. Attributes on the mock " "will use the corresponding attribute on the *spec* object as their spec." msgstr "" -#: ../../library/unittest.mock.rst:2323 +#: ../../library/unittest.mock.rst:2325 msgid "" "Functions or methods being mocked will have their arguments checked to " "ensure that they are called with the correct signature." msgstr "" -#: ../../library/unittest.mock.rst:2326 +#: ../../library/unittest.mock.rst:2328 msgid "" "If *spec_set* is ``True`` then attempting to set attributes that don't exist " "on the spec object will raise an :exc:`AttributeError`." msgstr "" -#: ../../library/unittest.mock.rst:2329 +#: ../../library/unittest.mock.rst:2331 msgid "" "If a class is used as a spec then the return value of the mock (the instance " "of the class) will have the same spec. You can use a class as the spec for " @@ -2070,29 +2112,29 @@ msgid "" "be callable if instances of the mock are callable." msgstr "" -#: ../../library/unittest.mock.rst:2334 +#: ../../library/unittest.mock.rst:2336 msgid "" ":func:`create_autospec` also takes arbitrary keyword arguments that are " "passed to the constructor of the created mock." msgstr "" -#: ../../library/unittest.mock.rst:2337 +#: ../../library/unittest.mock.rst:2339 msgid "" -"See :ref:`auto-speccing` for examples of how to use auto-speccing with :func:" -"`create_autospec` and the *autospec* argument to :func:`patch`." +"See :ref:`auto-speccing` for examples of how to use auto-speccing " +"with :func:`create_autospec` and the *autospec* argument to :func:`patch`." msgstr "" -#: ../../library/unittest.mock.rst:2343 +#: ../../library/unittest.mock.rst:2345 msgid "" ":func:`create_autospec` now returns an :class:`AsyncMock` if the target is " "an async function." msgstr "" -#: ../../library/unittest.mock.rst:2348 +#: ../../library/unittest.mock.rst:2350 msgid "ANY" -msgstr "" +msgstr "ANY" -#: ../../library/unittest.mock.rst:2352 +#: ../../library/unittest.mock.rst:2354 msgid "" "Sometimes you may need to make assertions about *some* of the arguments in a " "call to mock, but either not care about some of the arguments or want to " @@ -2100,33 +2142,40 @@ msgid "" "assertions on them." msgstr "" -#: ../../library/unittest.mock.rst:2357 +#: ../../library/unittest.mock.rst:2359 msgid "" "To ignore certain arguments you can pass in objects that compare equal to " -"*everything*. Calls to :meth:`~Mock.assert_called_with` and :meth:`~Mock." -"assert_called_once_with` will then succeed no matter what was passed in." +"*everything*. Calls to :meth:`~Mock.assert_called_with` " +"and :meth:`~Mock.assert_called_once_with` will then succeed no matter what " +"was passed in." msgstr "" -#: ../../library/unittest.mock.rst:2366 +#: ../../library/unittest.mock.rst:2368 msgid "" -":data:`ANY` can also be used in comparisons with call lists like :attr:" -"`~Mock.mock_calls`:" +":data:`ANY` can also be used in comparisons with call lists " +"like :attr:`~Mock.mock_calls`:" msgstr "" -#: ../../library/unittest.mock.rst:2379 -msgid "FILTER_DIR" +#: ../../library/unittest.mock.rst:2378 +msgid "" +":data:`ANY` is not limited to comparisons with call objects and so can also " +"be used in test assertions::" msgstr "" -#: ../../library/unittest.mock.rst:2383 +#: ../../library/unittest.mock.rst:2389 +msgid "FILTER_DIR" +msgstr "FILTER_DIR" + +#: ../../library/unittest.mock.rst:2393 msgid "" ":data:`FILTER_DIR` is a module level variable that controls the way mock " "objects respond to :func:`dir`. The default is ``True``, which uses the " "filtering described below, to only show useful members. If you dislike this " -"filtering, or need to switch it off for diagnostic purposes, then set ``mock." -"FILTER_DIR = False``." +"filtering, or need to switch it off for diagnostic purposes, then set " +"``mock.FILTER_DIR = False``." msgstr "" -#: ../../library/unittest.mock.rst:2389 +#: ../../library/unittest.mock.rst:2399 msgid "" "With filtering on, ``dir(some_mock)`` shows only useful attributes and will " "include any dynamically created attributes that wouldn't normally be shown. " @@ -2135,7 +2184,7 @@ msgid "" "yet:" msgstr "" -#: ../../library/unittest.mock.rst:2416 +#: ../../library/unittest.mock.rst:2426 msgid "" "Many of the not-very-useful (private to :class:`Mock` rather than the thing " "being mocked) underscore and double underscore prefixed attributes have been " @@ -2144,35 +2193,36 @@ msgid "" "switch :data:`FILTER_DIR`:" msgstr "" -#: ../../library/unittest.mock.rst:2437 +#: ../../library/unittest.mock.rst:2447 msgid "" "Alternatively you can just use ``vars(my_mock)`` (instance members) and " "``dir(type(my_mock))`` (type members) to bypass the filtering irrespective " -"of :data:`mock.FILTER_DIR`." +"of :const:`mock.FILTER_DIR`." msgstr "" -#: ../../library/unittest.mock.rst:2443 +#: ../../library/unittest.mock.rst:2453 msgid "mock_open" msgstr "mock_open" -#: ../../library/unittest.mock.rst:2447 +#: ../../library/unittest.mock.rst:2457 msgid "" "A helper function to create a mock to replace the use of :func:`open`. It " "works for :func:`open` called directly or used as a context manager." msgstr "" -#: ../../library/unittest.mock.rst:2450 +#: ../../library/unittest.mock.rst:2460 msgid "" "The *mock* argument is the mock object to configure. If ``None`` (the " "default) then a :class:`MagicMock` will be created for you, with the API " "limited to methods or attributes available on standard file handles." msgstr "" -#: ../../library/unittest.mock.rst:2454 +#: ../../library/unittest.mock.rst:2464 msgid "" -"*read_data* is a string for the :meth:`~io.IOBase.read`, :meth:`~io.IOBase." -"readline`, and :meth:`~io.IOBase.readlines` methods of the file handle to " -"return. Calls to those methods will take data from *read_data* until it is " +"*read_data* is a string for " +"the :meth:`~io.IOBase.read`, :meth:`~io.IOBase.readline`, " +"and :meth:`~io.IOBase.readlines` methods of the file handle to return. " +"Calls to those methods will take data from *read_data* until it is " "depleted. The mock of these methods is pretty simplistic: every time the " "*mock* is called, the *read_data* is rewound to the start. If you need more " "control over the data that you are feeding to the tested code you will need " @@ -2181,65 +2231,65 @@ msgid "" "realistic filesystem for testing." msgstr "" -#: ../../library/unittest.mock.rst:2464 +#: ../../library/unittest.mock.rst:2474 msgid "" "Added :meth:`~io.IOBase.readline` and :meth:`~io.IOBase.readlines` support. " "The mock of :meth:`~io.IOBase.read` changed to consume *read_data* rather " "than returning it on each call." msgstr "" -#: ../../library/unittest.mock.rst:2469 +#: ../../library/unittest.mock.rst:2479 msgid "*read_data* is now reset on each call to the *mock*." msgstr "" -#: ../../library/unittest.mock.rst:2472 +#: ../../library/unittest.mock.rst:2482 msgid "" -"Added :meth:`__iter__` to implementation so that iteration (such as in for " -"loops) correctly consumes *read_data*." +"Added :meth:`~container.__iter__` to implementation so that iteration (such " +"as in for loops) correctly consumes *read_data*." msgstr "" -#: ../../library/unittest.mock.rst:2476 +#: ../../library/unittest.mock.rst:2486 msgid "" "Using :func:`open` as a context manager is a great way to ensure your file " "handles are closed properly and is becoming common::" msgstr "" -#: ../../library/unittest.mock.rst:2482 +#: ../../library/unittest.mock.rst:2492 msgid "" "The issue is that even if you mock out the call to :func:`open` it is the " -"*returned object* that is used as a context manager (and has :meth:" -"`__enter__` and :meth:`__exit__` called)." +"*returned object* that is used as a context manager (and " +"has :meth:`~object.__enter__` and :meth:`~object.__exit__` called)." msgstr "" -#: ../../library/unittest.mock.rst:2486 +#: ../../library/unittest.mock.rst:2496 msgid "" "Mocking context managers with a :class:`MagicMock` is common enough and " "fiddly enough that a helper function is useful. ::" msgstr "" -#: ../../library/unittest.mock.rst:2503 +#: ../../library/unittest.mock.rst:2513 msgid "And for reading files::" -msgstr "" +msgstr "E para ler arquivos::" -#: ../../library/unittest.mock.rst:2516 +#: ../../library/unittest.mock.rst:2526 msgid "Autospeccing" -msgstr "" +msgstr "Especificação automática" -#: ../../library/unittest.mock.rst:2518 +#: ../../library/unittest.mock.rst:2528 msgid "" "Autospeccing is based on the existing :attr:`spec` feature of mock. It " "limits the api of mocks to the api of an original object (the spec), but it " "is recursive (implemented lazily) so that attributes of mocks only have the " "same api as the attributes of the spec. In addition mocked functions / " -"methods have the same call signature as the original so they raise a :exc:" -"`TypeError` if they are called incorrectly." +"methods have the same call signature as the original so they raise " +"a :exc:`TypeError` if they are called incorrectly." msgstr "" -#: ../../library/unittest.mock.rst:2525 +#: ../../library/unittest.mock.rst:2535 msgid "Before I explain how auto-speccing works, here's why it is needed." msgstr "" -#: ../../library/unittest.mock.rst:2527 +#: ../../library/unittest.mock.rst:2537 msgid "" ":class:`Mock` is a very powerful and flexible object, but it suffers from " "two flaws when used to mock out objects from a system under test. One of " @@ -2247,25 +2297,25 @@ msgid "" "general problem with using mock objects." msgstr "" -#: ../../library/unittest.mock.rst:2532 +#: ../../library/unittest.mock.rst:2542 msgid "" "First the problem specific to :class:`Mock`. :class:`Mock` has two assert " -"methods that are extremely handy: :meth:`~Mock.assert_called_with` and :meth:" -"`~Mock.assert_called_once_with`." +"methods that are extremely handy: :meth:`~Mock.assert_called_with` " +"and :meth:`~Mock.assert_called_once_with`." msgstr "" -#: ../../library/unittest.mock.rst:2545 +#: ../../library/unittest.mock.rst:2555 msgid "" "Because mocks auto-create attributes on demand, and allow you to call them " "with arbitrary arguments, if you misspell one of these assert methods then " "your assertion is gone:" msgstr "" -#: ../../library/unittest.mock.rst:2555 +#: ../../library/unittest.mock.rst:2565 msgid "Your tests can pass silently and incorrectly because of the typo." msgstr "" -#: ../../library/unittest.mock.rst:2557 +#: ../../library/unittest.mock.rst:2567 msgid "" "The second issue is more general to mocking. If you refactor some of your " "code, rename members and so on, any tests for code that is still using the " @@ -2273,7 +2323,7 @@ msgid "" "means your tests can all pass even though your code is broken." msgstr "" -#: ../../library/unittest.mock.rst:2562 +#: ../../library/unittest.mock.rst:2572 msgid "" "Note that this is another reason why you need integration tests as well as " "unit tests. Testing everything in isolation is all fine and dandy, but if " @@ -2281,23 +2331,23 @@ msgid "" "room for bugs that tests might have caught." msgstr "" -#: ../../library/unittest.mock.rst:2567 +#: ../../library/unittest.mock.rst:2577 msgid "" ":mod:`mock` already provides a feature to help with this, called speccing. " "If you use a class or instance as the :attr:`spec` for a mock then you can " "only access attributes on the mock that exist on the real class:" msgstr "" -#: ../../library/unittest.mock.rst:2578 +#: ../../library/unittest.mock.rst:2588 msgid "" "The spec only applies to the mock itself, so we still have the same issue " "with any methods on the mock:" msgstr "" -#: ../../library/unittest.mock.rst:2587 +#: ../../library/unittest.mock.rst:2597 msgid "" -"Auto-speccing solves this problem. You can either pass ``autospec=True`` to :" -"func:`patch` / :func:`patch.object` or use the :func:`create_autospec` " +"Auto-speccing solves this problem. You can either pass ``autospec=True`` " +"to :func:`patch` / :func:`patch.object` or use the :func:`create_autospec` " "function to create a mock with a spec. If you use the ``autospec=True`` " "argument to :func:`patch` then the object that is being replaced will be " "used as the spec object. Because the speccing is done \"lazily\" (the spec " @@ -2306,24 +2356,24 @@ msgid "" "import modules) without a big performance hit." msgstr "" -#: ../../library/unittest.mock.rst:2596 +#: ../../library/unittest.mock.rst:2606 msgid "Here's an example of it in use::" -msgstr "" +msgstr "Aqui está um exemplo disso em uso::" -#: ../../library/unittest.mock.rst:2606 +#: ../../library/unittest.mock.rst:2616 msgid "" -"You can see that :class:`request.Request` has a spec. :class:`request." -"Request` takes two arguments in the constructor (one of which is *self*). " -"Here's what happens if we try to call it incorrectly::" +"You can see that :class:`request.Request` has a " +"spec. :class:`request.Request` takes two arguments in the constructor (one " +"of which is *self*). Here's what happens if we try to call it incorrectly::" msgstr "" -#: ../../library/unittest.mock.rst:2615 +#: ../../library/unittest.mock.rst:2625 msgid "" "The spec also applies to instantiated classes (i.e. the return value of " "specced mocks)::" msgstr "" -#: ../../library/unittest.mock.rst:2622 +#: ../../library/unittest.mock.rst:2632 msgid "" ":class:`Request` objects are not callable, so the return value of " "instantiating our mocked out :class:`request.Request` is a non-callable " @@ -2331,20 +2381,20 @@ msgid "" "error::" msgstr "" -#: ../../library/unittest.mock.rst:2634 +#: ../../library/unittest.mock.rst:2644 msgid "" "In many cases you will just be able to add ``autospec=True`` to your " "existing :func:`patch` calls and then be protected against bugs due to typos " "and api changes." msgstr "" -#: ../../library/unittest.mock.rst:2638 +#: ../../library/unittest.mock.rst:2648 msgid "" -"As well as using *autospec* through :func:`patch` there is a :func:" -"`create_autospec` for creating autospecced mocks directly:" +"As well as using *autospec* through :func:`patch` there is " +"a :func:`create_autospec` for creating autospecced mocks directly:" msgstr "" -#: ../../library/unittest.mock.rst:2646 +#: ../../library/unittest.mock.rst:2656 msgid "" "This isn't without caveats and limitations however, which is why it is not " "the default behaviour. In order to know what attributes are available on the " @@ -2356,15 +2406,15 @@ msgid "" "objects so that introspection is safe [#]_." msgstr "" -#: ../../library/unittest.mock.rst:2655 +#: ../../library/unittest.mock.rst:2665 msgid "" "A more serious problem is that it is common for instance attributes to be " -"created in the :meth:`__init__` method and not to exist on the class at all. " -"*autospec* can't know about any dynamically created attributes and restricts " -"the api to visible attributes. ::" +"created in the :meth:`~object.__init__` method and not to exist on the class " +"at all. *autospec* can't know about any dynamically created attributes and " +"restricts the api to visible attributes. ::" msgstr "" -#: ../../library/unittest.mock.rst:2672 +#: ../../library/unittest.mock.rst:2682 msgid "" "There are a few different ways of resolving this problem. The easiest, but " "not necessarily the least annoying, way is to simply set the required " @@ -2373,7 +2423,7 @@ msgid "" "setting them::" msgstr "" -#: ../../library/unittest.mock.rst:2683 +#: ../../library/unittest.mock.rst:2693 msgid "" "There is a more aggressive version of both *spec* and *autospec* that *does* " "prevent you setting non-existent attributes. This is useful if you want to " @@ -2381,16 +2431,16 @@ msgid "" "this particular scenario:" msgstr "" -#: ../../library/unittest.mock.rst:2696 +#: ../../library/unittest.mock.rst:2706 msgid "" "Probably the best way of solving the problem is to add class attributes as " -"default values for instance members initialised in :meth:`__init__`. Note " -"that if you are only setting default attributes in :meth:`__init__` then " -"providing them via class attributes (shared between instances of course) is " -"faster too. e.g." +"default values for instance members initialised in :meth:`~object.__init__`. " +"Note that if you are only setting default attributes in :meth:`!__init__` " +"then providing them via class attributes (shared between instances of " +"course) is faster too. e.g." msgstr "" -#: ../../library/unittest.mock.rst:2706 +#: ../../library/unittest.mock.rst:2717 msgid "" "This brings up another issue. It is relatively common to provide a default " "value of ``None`` for members that will later be an object of a different " @@ -2401,7 +2451,7 @@ msgid "" "These will just be ordinary mocks (well - MagicMocks):" msgstr "" -#: ../../library/unittest.mock.rst:2721 +#: ../../library/unittest.mock.rst:2732 msgid "" "If modifying your production classes to add defaults isn't to your liking " "then there are more options. One of these is simply to use an instance as " @@ -2412,27 +2462,111 @@ msgid "" "alternative object as the *autospec* argument::" msgstr "" -#: ../../library/unittest.mock.rst:2742 +#: ../../library/unittest.mock.rst:2753 msgid "" "This only applies to classes or already instantiated objects. Calling a " "mocked class to create a mock instance *does not* create a real instance. It " "is only attribute lookups - along with calls to :func:`dir` - that are done." msgstr "" -#: ../../library/unittest.mock.rst:2747 +#: ../../library/unittest.mock.rst:2758 msgid "Sealing mocks" -msgstr "" +msgstr "Vedando mocks" -#: ../../library/unittest.mock.rst:2756 +#: ../../library/unittest.mock.rst:2767 msgid "" "Seal will disable the automatic creation of mocks when accessing an " "attribute of the mock being sealed or any of its attributes that are already " "mocks recursively." msgstr "" -#: ../../library/unittest.mock.rst:2759 +#: ../../library/unittest.mock.rst:2770 msgid "" "If a mock instance with a name or a spec is assigned to an attribute it " "won't be considered in the sealing chain. This allows one to prevent seal " "from fixing part of the mock object. ::" msgstr "" + +#: ../../library/unittest.mock.rst:2786 +msgid "" +"Order of precedence of :attr:`side_effect`, :attr:`return_value` and *wraps*" +msgstr "" + +#: ../../library/unittest.mock.rst:2788 +msgid "The order of their precedence is:" +msgstr "" + +#: ../../library/unittest.mock.rst:2790 +msgid ":attr:`~Mock.side_effect`" +msgstr "" + +#: ../../library/unittest.mock.rst:2791 +msgid ":attr:`~Mock.return_value`" +msgstr "" + +#: ../../library/unittest.mock.rst:2792 +msgid "*wraps*" +msgstr "" + +#: ../../library/unittest.mock.rst:2794 +msgid "" +"If all three are set, mock will return the value " +"from :attr:`~Mock.side_effect`, ignoring :attr:`~Mock.return_value` and the " +"wrapped object altogether. If any two are set, the one with the higher " +"precedence will return the value. Regardless of the order of which was set " +"first, the order of precedence remains unchanged." +msgstr "" + +#: ../../library/unittest.mock.rst:2812 +msgid "" +"As ``None`` is the default value of :attr:`~Mock.side_effect`, if you " +"reassign its value back to ``None``, the order of precedence will be checked " +"between :attr:`~Mock.return_value` and the wrapped object, " +"ignoring :attr:`~Mock.side_effect`." +msgstr "" + +#: ../../library/unittest.mock.rst:2821 +msgid "" +"If the value being returned by :attr:`~Mock.side_effect` is :data:`DEFAULT`, " +"it is ignored and the order of precedence moves to the successor to obtain " +"the value to return." +msgstr "" + +#: ../../library/unittest.mock.rst:2830 +msgid "" +"When :class:`Mock` wraps an object, the default value " +"of :attr:`~Mock.return_value` will be :data:`DEFAULT`." +msgstr "" + +#: ../../library/unittest.mock.rst:2839 +msgid "" +"The order of precedence will ignore this value and it will move to the last " +"successor which is the wrapped object." +msgstr "" + +#: ../../library/unittest.mock.rst:2842 +msgid "" +"As the real call is being made to the wrapped object, creating an instance " +"of this mock will return the real instance of the class. The positional " +"arguments, if any, required by the wrapped object must be passed." +msgstr "" + +#: ../../library/unittest.mock.rst:2860 +msgid "" +"But if you assign ``None`` to it, this will not be ignored as it is an " +"explicit assignment. So, the order of precedence will not move to the " +"wrapped object." +msgstr "" + +#: ../../library/unittest.mock.rst:2868 +msgid "" +"Even if you set all three at once when initializing the mock, the order of " +"precedence remains the same:" +msgstr "" + +#: ../../library/unittest.mock.rst:2885 +msgid "" +"If :attr:`~Mock.side_effect` is exhausted, the order of precedence will not " +"cause a value to be obtained from the successors. Instead, ``StopIteration`` " +"exception is raised." +msgstr "" diff --git a/library/unittest.po b/library/unittest.po index 6c9210630..a4267d749 100644 --- a/library/unittest.po +++ b/library/unittest.po @@ -1,35 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Italo Penaforte , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Giovana Morais , 2021 -# Hugo Santos Piauilino , 2021 -# Renan Lopes , 2021 -# i17obot , 2021 -# Victor Moura , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Renan Renan, 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,7 +29,7 @@ msgstr ":mod:`unittest` --- Framework de Testes Unitários" #: ../../library/unittest.rst:12 msgid "**Source code:** :source:`Lib/unittest/__init__.py`" -msgstr "**Source code:** :source:`Lib/unittest/__init__.py`" +msgstr "**Código-fonte:** :source:`Lib/unittest/__init__.py`" #: ../../library/unittest.rst:16 msgid "" @@ -141,11 +131,11 @@ msgstr "Outro módulo de suporte a testes com um sabor muito diferente." #: ../../library/unittest.rst:57 msgid "" -"`Simple Smalltalk Testing: With Patterns `_" +"`Simple Smalltalk Testing: With Patterns `_" msgstr "" -"`Simple Smalltalk Testing: With Patterns `_" +"`Simple Smalltalk Testing: With Patterns `_" #: ../../library/unittest.rst:56 msgid "" @@ -236,27 +226,28 @@ msgid "" "``test``. This naming convention informs the test runner about which " "methods represent tests." msgstr "" -"Para criar um testcase basta criar uma classe que estende de :class:" -"`unittest.TestCase`. Os três testes individuais são definidos com métodos " -"cujos nomes começam com as letras ``test``. Esta convenção na nomenclatura " -"informa o runner a respeitos de quais métodos são, na verdade, testes." +"Para criar um testcase basta criar uma classe que estende " +"de :class:`unittest.TestCase`. Os três testes individuais são definidos com " +"métodos cujos nomes começam com as letras ``test``. Esta convenção na " +"nomenclatura informa o runner a respeitos de quais métodos são, na verdade, " +"testes." #: ../../library/unittest.rst:118 msgid "" "The crux of each test is a call to :meth:`~TestCase.assertEqual` to check " -"for an expected result; :meth:`~TestCase.assertTrue` or :meth:`~TestCase." -"assertFalse` to verify a condition; or :meth:`~TestCase.assertRaises` to " -"verify that a specific exception gets raised. These methods are used " -"instead of the :keyword:`assert` statement so the test runner can accumulate " -"all test results and produce a report." -msgstr "" -"O cerne de cada teste é a invocação de um método :meth:`~TestCase." -"assertEqual` para verificar se há um resultado esperado; :meth:`~TestCase." -"assertTrue` ou :meth:`~TestCase.assertFalse` para verificar uma condição; " -"ou :meth:`~TestCase.assertRaises` para verificar se uma exceção específica " -"será levantada. Esses métodos são usados ao invés de utilizar a expressão :" -"keyword:`assert` para que o runner de teste possa acumular todos os " -"resultados do teste e produzir um relatório." +"for an expected result; :meth:`~TestCase.assertTrue` " +"or :meth:`~TestCase.assertFalse` to verify a condition; " +"or :meth:`~TestCase.assertRaises` to verify that a specific exception gets " +"raised. These methods are used instead of the :keyword:`assert` statement " +"so the test runner can accumulate all test results and produce a report." +msgstr "" +"O cerne de cada teste é a invocação de um " +"método :meth:`~TestCase.assertEqual` para verificar se há um resultado " +"esperado; :meth:`~TestCase.assertTrue` ou :meth:`~TestCase.assertFalse` para " +"verificar uma condição; ou :meth:`~TestCase.assertRaises` para verificar se " +"uma exceção específica será levantada. Esses métodos são usados ao invés de " +"utilizar a expressão :keyword:`assert` para que o runner de teste possa " +"acumular todos os resultados do teste e produzir um relatório." #: ../../library/unittest.rst:125 msgid "" @@ -275,19 +266,19 @@ msgid "" "provides a command-line interface to the test script. When run from the " "command line, the above script produces an output that looks like this::" msgstr "" -"O bloco final mostra uma maneira simples de executar os testes. A função :" -"func:`unittest.main` fornece uma interface de linha de comando para o Script " -"de teste. Quando executado a partir da linha de comando, o Script acima " -"produz uma saída que se parece com isso::" +"O bloco final mostra uma maneira simples de executar os testes. A " +"função :func:`unittest.main` fornece uma interface de linha de comando para " +"o Script de teste. Quando executado a partir da linha de comando, o Script " +"acima produz uma saída que se parece com isso::" #: ../../library/unittest.rst:139 msgid "" -"Passing the ``-v`` option to your test script will instruct :func:`unittest." -"main` to enable a higher level of verbosity, and produce the following " -"output::" +"Passing the ``-v`` option to your test script will " +"instruct :func:`unittest.main` to enable a higher level of verbosity, and " +"produce the following output::" msgstr "" -"Passando a opção ``-v`` para o nosso Script de teste instruirá a função :" -"func:`unittest.main` a habilitar um nível mais alto de verbosidade e " +"Passando a opção ``-v`` para o nosso Script de teste instruirá a " +"função :func:`unittest.main` a habilitar um nível mais alto de verbosidade e " "produzirá a seguinte saída::" #: ../../library/unittest.rst:151 @@ -309,7 +300,7 @@ msgstr "" #: ../../library/unittest.rst:163 msgid "Command-Line Interface" -msgstr "Interface de Linha de Comando" +msgstr "Interface de linha de comando" #: ../../library/unittest.rst:165 msgid "" @@ -442,12 +433,12 @@ msgstr "" #: ../../library/unittest.rst:240 msgid "" "For example, ``-k foo`` matches ``foo_tests.SomeTest.test_something``, " -"``bar_tests.SomeTest.test_foo``, but not ``bar_tests.FooTest." -"test_something``." +"``bar_tests.SomeTest.test_foo``, but not " +"``bar_tests.FooTest.test_something``." msgstr "" "Por exemplo, ``-k foo`` combina com ``foo_tests.SomeTest.test_something``, " -"``bar_tests.SomeTest.test_foo``, mas não com ``bar_tests.FooTest." -"test_something``." +"``bar_tests.SomeTest.test_foo``, mas não com " +"``bar_tests.FooTest.test_something``." #: ../../library/unittest.rst:245 msgid "Show local variables in tracebacks." @@ -481,9 +472,9 @@ msgstr "Test Discovery" #: ../../library/unittest.rst:267 msgid "" "Unittest supports simple test discovery. In order to be compatible with test " -"discovery, all of the test files must be :ref:`modules ` or :" -"ref:`packages ` importable from the top-level directory of the " -"project (this means that their filenames must be valid :ref:`identifiers " +"discovery, all of the test files must be :ref:`modules ` " +"or :ref:`packages ` importable from the top-level directory of " +"the project (this means that their filenames must be valid :ref:`identifiers " "`)." msgstr "" @@ -581,7 +572,7 @@ msgid "" "the location you intended, so you will not get the warning." msgstr "" "Se você configurar o diretório de início como sendo um nome de pacote, não " -"um caminho para um diretório, o descobridor irá assumir que qualquer local " +"um caminho para um diretório, o descobridor irá presumir que qualquer local " "do qual ele importar é o local correto. Neste caso, nenhum alerta será " "emitido." @@ -606,10 +597,10 @@ msgstr "" #: ../../library/unittest.rst:342 msgid "" -"Python 3.11 dropped the :term:`namespace packages ` " -"support. It has been broken since Python 3.7. Start directory and " -"subdirectories containing tests must be regular package that have ``__init__." -"py`` file." +":mod:`unittest` dropped the :term:`namespace packages ` " +"support in Python 3.11. It has been broken since Python 3.7. Start directory " +"and subdirectories containing tests must be regular package that have " +"``__init__.py`` file." msgstr "" #: ../../library/unittest.rst:348 @@ -626,17 +617,17 @@ msgstr "Organizando código teste" #: ../../library/unittest.rst:366 msgid "" "The basic building blocks of unit testing are :dfn:`test cases` --- single " -"scenarios that must be set up and checked for correctness. In :mod:" -"`unittest`, test cases are represented by :class:`unittest.TestCase` " -"instances. To make your own test cases you must write subclasses of :class:" -"`TestCase` or use :class:`FunctionTestCase`." +"scenarios that must be set up and checked for correctness. " +"In :mod:`unittest`, test cases are represented by :class:`unittest.TestCase` " +"instances. To make your own test cases you must write subclasses " +"of :class:`TestCase` or use :class:`FunctionTestCase`." msgstr "" "O bloco básico de construção dos testes unitários são os :dfn:`casos de " "teste` --- cenários únicos que devem ser configurados e avaliados em sua " "correção. No :mod:`unittest`, casos de teste são representados por " "instâncias :class:`unittest.TestCase`. Para criar seus próprios casos de " -"teste, você deve escrever subclasses de :class:`TestCase` ou utilizar :class:" -"`FunctionTestCase`." +"teste, você deve escrever subclasses de :class:`TestCase` ou " +"utilizar :class:`FunctionTestCase`." #: ../../library/unittest.rst:372 msgid "" @@ -660,24 +651,19 @@ msgstr "" #: ../../library/unittest.rst:387 msgid "" -"Note that in order to test something, we use one of the :meth:`assert\\*` " -"methods provided by the :class:`TestCase` base class. If the test fails, an " -"exception will be raised with an explanatory message, and :mod:`unittest` " -"will identify the test case as a :dfn:`failure`. Any other exceptions will " -"be treated as :dfn:`errors`." +"Note that in order to test something, we use one of the :ref:`assert\\* " +"methods ` provided by the :class:`TestCase` base class. If " +"the test fails, an exception will be raised with an explanatory message, " +"and :mod:`unittest` will identify the test case as a :dfn:`failure`. Any " +"other exceptions will be treated as :dfn:`errors`." msgstr "" -"Perceba que, para testar algo, utilizamos um dos métodos :meth:`assert\\*` " -"da classe base :class:`TestCase`. Se o teste falhar, uma exceção será " -"levantada com uma mensagem de explicação e o módulo :mod:`unittest` irá " -"considerar o resultado do caso de teste como uma :dfn:`falha`. Quaisquer " -"outras exceções serão tratadas como :dfn:`erros`." #: ../../library/unittest.rst:393 msgid "" "Tests can be numerous, and their set-up can be repetitive. Luckily, we can " -"factor out set-up code by implementing a method called :meth:`~TestCase." -"setUp`, which the testing framework will automatically call for every single " -"test we run::" +"factor out set-up code by implementing a method " +"called :meth:`~TestCase.setUp`, which the testing framework will " +"automatically call for every single test we run::" msgstr "" "Os testes podem ser muitos, e as configurações podem ser repetitivas. Por " "sorte, temos como reaproveitar estas configurações implementando um método " @@ -716,39 +702,39 @@ msgid "" "If :meth:`~TestCase.setUp` succeeded, :meth:`~TestCase.tearDown` will be run " "whether the test method succeeded or not." msgstr "" -"Se o método :meth:`~TestCase.setUp` for bem sucedido, o método :meth:" -"`~TestCase.tearDown` será executado, independente do resultado do método de " -"teste." +"Se o método :meth:`~TestCase.setUp` for bem sucedido, o " +"método :meth:`~TestCase.tearDown` será executado, independente do resultado " +"do método de teste." #: ../../library/unittest.rst:437 msgid "" "Such a working environment for the testing code is called a :dfn:`test " "fixture`. A new TestCase instance is created as a unique test fixture used " -"to execute each individual test method. Thus :meth:`~TestCase.setUp`, :meth:" -"`~TestCase.tearDown`, and :meth:`~TestCase.__init__` will be called once per " -"test." +"to execute each individual test method. " +"Thus :meth:`~TestCase.setUp`, :meth:`~TestCase.tearDown`, " +"and :meth:`~TestCase.__init__` will be called once per test." msgstr "" "Tal ambiente de trabalho do código de teste é chamado de :dfn:`definição de " "contexto de teste`. Uma nova instância TestCase é criada como uma única " "definição de contexto de teste usada para executar cada método de teste. " -"Portanto, os métodos :meth:`~TestCase.setUp`, :meth:`~TestCase.tearDown`, e :" -"meth:`~TestCase.__init__` serão chamados uma vez por teste." +"Portanto, os métodos :meth:`~TestCase.setUp`, :meth:`~TestCase.tearDown`, " +"e :meth:`~TestCase.__init__` serão chamados uma vez por teste." #: ../../library/unittest.rst:443 msgid "" "It is recommended that you use TestCase implementations to group tests " "together according to the features they test. :mod:`unittest` provides a " -"mechanism for this: the :dfn:`test suite`, represented by :mod:`unittest`'s :" -"class:`TestSuite` class. In most cases, calling :func:`unittest.main` will " -"do the right thing and collect all the module's test cases for you and " -"execute them." +"mechanism for this: the :dfn:`test suite`, represented " +"by :mod:`unittest`'s :class:`TestSuite` class. In most cases, " +"calling :func:`unittest.main` will do the right thing and collect all the " +"module's test cases for you and execute them." msgstr "" "É recomendado utilizar implementações de TestCase para agrupar testes de " "acordo com as funcionalidades que eles testam. :mod:`unittest` disponibiliza " -"um mecanismo para isso: a :dfn:`suíte de testes`, representada pela classe :" -"class:`TestSuite` do módulo :mod:`unittest`. Em grande parte dos casos, " -"chamar :func:`unittest.main` é suficiente para coletar todos os casos de " -"teste do módulo e executá-los para você." +"um mecanismo para isso: a :dfn:`suíte de testes`, representada pela " +"classe :class:`TestSuite` do módulo :mod:`unittest`. Em grande parte dos " +"casos, chamar :func:`unittest.main` é suficiente para coletar todos os casos " +"de teste do módulo e executá-los para você." #: ../../library/unittest.rst:450 msgid "" @@ -860,22 +846,24 @@ msgid "" "subclasses will make future test refactorings infinitely easier." msgstr "" "Apesar da classe :class:`FunctionTestCase` poder ser utilizada para " -"converter rapidamente um teste existente em um teste do módulo :mod:" -"`unittest`, esta abordagem não é recomendada. Investir tempo para configurar " -"corretamente uma subclasse de :class:`TestCase` irá tornar futuras " -"refatorações infinitamente mais fáceis." +"converter rapidamente um teste existente em um teste do " +"módulo :mod:`unittest`, esta abordagem não é recomendada. Investir tempo " +"para configurar corretamente uma subclasse de :class:`TestCase` irá tornar " +"futuras refatorações infinitamente mais fáceis." #: ../../library/unittest.rst:519 msgid "" -"In some cases, the existing tests may have been written using the :mod:" -"`doctest` module. If so, :mod:`doctest` provides a :class:`DocTestSuite` " -"class that can automatically build :class:`unittest.TestSuite` instances " -"from the existing :mod:`doctest`\\ -based tests." +"In some cases, the existing tests may have been written using " +"the :mod:`doctest` module. If so, :mod:`doctest` provides " +"a :class:`DocTestSuite` class that can automatically " +"build :class:`unittest.TestSuite` instances from the " +"existing :mod:`doctest`\\ -based tests." msgstr "" "Em alguns casos, os testes existentes podem ter sido escritos utilizando o " -"módulo :mod:`doctest`. Se for o caso, :mod:`doctest` contém a classe :class:" -"`DocTestSuite` que pode construir, automaticamente, instâncias :class:" -"`unittest.TestSuite` a partir dos testes baseados em :mod:`doctest`." +"módulo :mod:`doctest`. Se for o caso, :mod:`doctest` contém a " +"classe :class:`DocTestSuite` que pode construir, automaticamente, " +"instâncias :class:`unittest.TestSuite` a partir dos testes baseados " +"em :mod:`doctest`." #: ../../library/unittest.rst:528 msgid "Skipping tests and expected failures" @@ -895,15 +883,15 @@ msgstr "" #: ../../library/unittest.rst:537 msgid "" -"Skipping a test is simply a matter of using the :func:`skip` :term:" -"`decorator` or one of its conditional variants, calling :meth:`TestCase." -"skipTest` within a :meth:`~TestCase.setUp` or test method, or raising :exc:" -"`SkipTest` directly." +"Skipping a test is simply a matter of using " +"the :func:`skip` :term:`decorator` or one of its conditional variants, " +"calling :meth:`TestCase.skipTest` within a :meth:`~TestCase.setUp` or test " +"method, or raising :exc:`SkipTest` directly." msgstr "" -"Ignorar um teste é simplesmente uma questão de utilizar o :term:`decorador` :" -"func:`skip` ou uma de suas variantes condicionais, chamando :meth:`TestCase." -"skipTest` em um :meth:`~TestCase.setUp` ou método de teste, ou levantando :" -"exc:`SkipTest` diretamente." +"Ignorar um teste é simplesmente uma questão de utilizar " +"o :term:`decorador` :func:`skip` ou uma de suas variantes condicionais, " +"chamando :meth:`TestCase.skipTest` em um :meth:`~TestCase.setUp` ou método " +"de teste, ou levantando :exc:`SkipTest` diretamente." #: ../../library/unittest.rst:541 msgid "Basic skipping looks like this::" @@ -970,9 +958,9 @@ msgid "" "be considered a failure." msgstr "" "Marca o teste como uma falha ou erro esperado. Se o teste falhar ou " -"ocorrerem erros na função de teste mesmo (ao invés de em um dos métodos :dfn:" -"`test fixture`), então ele será considerado como executado com sucesso. Se o " -"teste passar, ele será considerado como uma falha." +"ocorrerem erros na função de teste mesmo (ao invés de em um dos " +"métodos :dfn:`test fixture`), então ele será considerado como executado com " +"sucesso. Se o teste passar, ele será considerado como uma falha." #: ../../library/unittest.rst:628 msgid "This exception is raised to skip a test." @@ -988,16 +976,17 @@ msgstr "" #: ../../library/unittest.rst:633 msgid "" -"Skipped tests will not have :meth:`~TestCase.setUp` or :meth:`~TestCase." -"tearDown` run around them. Skipped classes will not have :meth:`~TestCase." -"setUpClass` or :meth:`~TestCase.tearDownClass` run. Skipped modules will not " -"have :func:`setUpModule` or :func:`tearDownModule` run." +"Skipped tests will not have :meth:`~TestCase.setUp` " +"or :meth:`~TestCase.tearDown` run around them. Skipped classes will not " +"have :meth:`~TestCase.setUpClass` or :meth:`~TestCase.tearDownClass` run. " +"Skipped modules will not have :func:`setUpModule` or :func:`tearDownModule` " +"run." msgstr "" -"Testes ignorados não terão seus métodos :meth:`~TestCase.setUp` ou :meth:" -"`~TestCase.tearDown` executados. Classes ignoradas não terão seus métodos :" -"meth:`~TestCase.setUpClass` ou :meth:`~TestCase.tearDownClass` executados. " -"Módulos ignorados não terão seus métodos :func:`setUpModule` ou :func:" -"`tearDownModule` executados." +"Testes ignorados não terão seus métodos :meth:`~TestCase.setUp` " +"ou :meth:`~TestCase.tearDown` executados. Classes ignoradas não terão seus " +"métodos :meth:`~TestCase.setUpClass` ou :meth:`~TestCase.tearDownClass` " +"executados. Módulos ignorados não terão seus métodos :func:`setUpModule` " +"ou :func:`tearDownModule` executados." #: ../../library/unittest.rst:641 msgid "Distinguishing test iterations using subtests" @@ -1011,8 +1000,8 @@ msgid "" msgstr "" "Quando existem pequenas diferenças entre os seus testes, por exemplo alguns " "parâmetros, unittest permite que você distinga-os dentro do corpo de um " -"método de teste utilizando o gerenciador de contexto :meth:`~TestCase." -"subTest`." +"método de teste utilizando o gerenciador de " +"contexto :meth:`~TestCase.subTest`." #: ../../library/unittest.rst:649 msgid "For example, the following test::" @@ -1067,9 +1056,9 @@ msgid "" "change the *methodName* nor reimplement the default ``runTest()`` method." msgstr "" "Cada instância da classe :class:`TestCase` irá executar um único método " -"base: o método chamado *methodName*. Em muitos casos de uso da classe :class:" -"`TestCase`, você não precisará modificar o *methodName* ou reimplementar o " -"método ``runTest()`` padrão." +"base: o método chamado *methodName*. Em muitos casos de uso da " +"classe :class:`TestCase`, você não precisará modificar o *methodName* ou " +"reimplementar o método ``runTest()`` padrão." #: ../../library/unittest.rst:733 msgid "" @@ -1100,23 +1089,23 @@ msgstr "Os métodos do primeiro grupo (que executam os testes) são:" #: ../../library/unittest.rst:747 msgid "" "Method called to prepare the test fixture. This is called immediately " -"before calling the test method; other than :exc:`AssertionError` or :exc:" -"`SkipTest`, any exception raised by this method will be considered an error " -"rather than a test failure. The default implementation does nothing." +"before calling the test method; other than :exc:`AssertionError` " +"or :exc:`SkipTest`, any exception raised by this method will be considered " +"an error rather than a test failure. The default implementation does nothing." msgstr "" "Método chamado para preparar a definição de contexto de teste. Chamado " -"imediatamente após chamar o método de teste; exceto pelo :exc:" -"`AssertionError` ou :exc:`SkipTest`, qualquer exceção levantada por este " -"método será considerada um erro além de uma simples falha de teste. A " -"implementação padrão não faz nada." +"imediatamente após chamar o método de teste; exceto " +"pelo :exc:`AssertionError` ou :exc:`SkipTest`, qualquer exceção levantada " +"por este método será considerada um erro além de uma simples falha de teste. " +"A implementação padrão não faz nada." #: ../../library/unittest.rst:755 msgid "" "Method called immediately after the test method has been called and the " "result recorded. This is called even if the test method raised an " "exception, so the implementation in subclasses may need to be particularly " -"careful about checking internal state. Any exception, other than :exc:" -"`AssertionError` or :exc:`SkipTest`, raised by this method will be " +"careful about checking internal state. Any exception, other " +"than :exc:`AssertionError` or :exc:`SkipTest`, raised by this method will be " "considered an additional error rather than a test failure (thus increasing " "the total number of reported errors). This method will only be called if " "the :meth:`setUp` succeeds, regardless of the outcome of the test method. " @@ -1125,8 +1114,8 @@ msgstr "" "Método chamado imediatamente após o método de teste ter sido chamado e o " "resultado registrado. Este método é chamado mesmo se o método de teste tiver " "levantado uma exceção, então a implementação em subclasses deve ser feita " -"com cautela ao verificar o estado interno. Qualquer exceção além de :exc:" -"`AssertionError` ou :exc:`SkipTest` levantada por este método será " +"com cautela ao verificar o estado interno. Qualquer exceção além " +"de :exc:`AssertionError` ou :exc:`SkipTest` levantada por este método será " "considerado um erro adicional, e não uma simples falha de teste (que " "incrementaria o número total de erros no relatório final de testes). Este " "método será executado apenas se o método :meth:`setUp` for bem sucedido, " @@ -1164,18 +1153,18 @@ msgid "" "object is created (by calling the :meth:`defaultTestResult` method) and " "used. The result object is returned to :meth:`run`'s caller." msgstr "" -"Executa o teste, registrando as informações no objeto resultado :class:" -"`TestResult`, passado como *result*. Se *result* for omitido, ou definido " -"como ``None``, um objeto resultado temporário é criado (chamando o método :" -"meth:`defaultTestResult`) e utilizado. O objeto resultado é retornado para " -"quem chamou o método :meth:`run`." +"Executa o teste, registrando as informações no objeto " +"resultado :class:`TestResult`, passado como *result*. Se *result* for " +"omitido, ou definido como ``None``, um objeto resultado temporário é criado " +"(chamando o método :meth:`defaultTestResult`) e utilizado. O objeto " +"resultado é retornado para quem chamou o método :meth:`run`." #: ../../library/unittest.rst:804 msgid "" "The same effect may be had by simply calling the :class:`TestCase` instance." msgstr "" -"O mesmo efeito pode ser obtido ao chamar uma instância da classe :class:" -"`TestCase`." +"O mesmo efeito pode ser obtido ao chamar uma instância da " +"classe :class:`TestCase`." #: ../../library/unittest.rst:807 msgid "" @@ -1369,16 +1358,17 @@ msgstr "``not isinstance(a, b)``" msgid "" "All the assert methods accept a *msg* argument that, if specified, is used " "as the error message on failure (see also :data:`longMessage`). Note that " -"the *msg* keyword argument can be passed to :meth:`assertRaises`, :meth:" -"`assertRaisesRegex`, :meth:`assertWarns`, :meth:`assertWarnsRegex` only when " -"they are used as a context manager." +"the *msg* keyword argument can be passed " +"to :meth:`assertRaises`, :meth:`assertRaisesRegex`, :meth:`assertWarns`, :meth:`assertWarnsRegex` " +"only when they are used as a context manager." msgstr "" "Todos os métodos de asserção aceitam um argumento *msg* que, se " "especificado, é utilizado como a mensagem de erro em caso de falha (veja " "também :data:`longMessage`). Note que o argumento nomeado *msg* pode ser " -"passado para :meth:`assertRaises`, :meth:`assertRaisesRegex`, :meth:" -"`assertWarns` e :meth:`assertWarnsRegex` apenas quando eles são utilizados " -"como gerenciador de contexto." +"passado " +"para :meth:`assertRaises`, :meth:`assertRaisesRegex`, :meth:`assertWarns` " +"e :meth:`assertWarnsRegex` apenas quando eles são utilizados como " +"gerenciador de contexto." #: ../../library/unittest.rst:894 msgid "" @@ -1438,9 +1428,9 @@ msgid "" msgstr "" "Note que isso é equivalente a ``bool(expr) is True`` e não a ``expr is " "True`` (use ``assertIs(expr, True)`` neste último caso). Este método também " -"deve ser evitado quando outros métodos mais específicos estão disponíveis (e." -"g. ``assertEqual(a, b)`` no lugar de ``assertTrue(a == b)``), já que estes " -"podem ter uma melhor mensagem de erro em caso de falha." +"deve ser evitado quando outros métodos mais específicos estão disponíveis " +"(e.g. ``assertEqual(a, b)`` no lugar de ``assertTrue(a == b)``), já que " +"estes podem ter uma melhor mensagem de erro em caso de falha." #: ../../library/unittest.rst:932 msgid "Test that *first* and *second* are (or are not) the same object." @@ -1482,11 +1472,11 @@ msgstr "``fun(*args, **kwds)`` levanta *exc*" #: ../../library/unittest.rst:973 msgid "" -":meth:`assertRaisesRegex(exc, r, fun, *args, **kwds) `" +":meth:`assertRaisesRegex(exc, r, fun, *args, **kwds) " +"`" msgstr "" -":meth:`assertRaisesRegex(exc, r, fun, *args, **kwds) `" +":meth:`assertRaisesRegex(exc, r, fun, *args, **kwds) " +"`" #: ../../library/unittest.rst:973 msgid "``fun(*args, **kwds)`` raises *exc* and the message matches regex *r*" @@ -1504,11 +1494,11 @@ msgstr "``fun(*args, **kwds)`` levanta *warn*" #: ../../library/unittest.rst:979 msgid "" -":meth:`assertWarnsRegex(warn, r, fun, *args, **kwds) `" +":meth:`assertWarnsRegex(warn, r, fun, *args, **kwds) " +"`" msgstr "" -":meth:`assertWarnsRegex(warn, r, fun, *args, **kwds) `" +":meth:`assertWarnsRegex(warn, r, fun, *args, **kwds) " +"`" #: ../../library/unittest.rst:979 msgid "``fun(*args, **kwds)`` raises *warn* and the message matches regex *r*" @@ -1548,16 +1538,16 @@ msgstr "3.10" #: ../../library/unittest.rst:992 msgid "" "Test that an exception is raised when *callable* is called with any " -"positional or keyword arguments that are also passed to :meth:" -"`assertRaises`. The test passes if *exception* is raised, is an error if " -"another exception is raised, or fails if no exception is raised. To catch " -"any of a group of exceptions, a tuple containing the exception classes may " -"be passed as *exception*." +"positional or keyword arguments that are also passed " +"to :meth:`assertRaises`. The test passes if *exception* is raised, is an " +"error if another exception is raised, or fails if no exception is raised. To " +"catch any of a group of exceptions, a tuple containing the exception classes " +"may be passed as *exception*." msgstr "" "Testa se uma exceção é levantada quando *callable* é chamado com quaisquer " -"argumentos nomeados ou posicionais que também são passados para :meth:" -"`assertRaises`. O teste passa se *exception* for levantada e falha se outra " -"exceção ou nenhuma exceção for levantada." +"argumentos nomeados ou posicionais que também são passados " +"para :meth:`assertRaises`. O teste passa se *exception* for levantada e " +"falha se outra exceção ou nenhuma exceção for levantada." #: ../../library/unittest.rst:999 msgid "" @@ -1579,9 +1569,9 @@ msgstr "" #: ../../library/unittest.rst:1009 msgid "" -"The context manager will store the caught exception object in its :attr:" -"`exception` attribute. This can be useful if the intention is to perform " -"additional checks on the exception raised::" +"The context manager will store the caught exception object in " +"its :attr:`exception` attribute. This can be useful if the intention is to " +"perform additional checks on the exception raised::" msgstr "" "O gerenciador de contexto irá armazenar o objeto exceção capturado no seu " "atributo :attr:`exception`. Isso pode ser útil se a intenção for realizar " @@ -1608,8 +1598,8 @@ msgstr "" msgid "" "Like :meth:`assertRaises` but also tests that *regex* matches on the string " "representation of the raised exception. *regex* may be a regular expression " -"object or a string containing a regular expression suitable for use by :func:" -"`re.search`. Examples::" +"object or a string containing a regular expression suitable for use " +"by :func:`re.search`. Examples::" msgstr "" "Similar ao :meth:`assertRaises` mas também testa se *regex* casa com a " "representação em string da exceção levantada. *regex* pode ser um objeto " @@ -1618,7 +1608,7 @@ msgstr "" #: ../../library/unittest.rst:1040 ../../library/unittest.rst:1108 msgid "or::" -msgstr "or::" +msgstr "ou::" #: ../../library/unittest.rst:1045 msgid "Added under the name ``assertRaisesRegexp``." @@ -1631,17 +1621,17 @@ msgstr "Renomeado para :meth:`assertRaisesRegex`." #: ../../library/unittest.rst:1058 msgid "" "Test that a warning is triggered when *callable* is called with any " -"positional or keyword arguments that are also passed to :meth:" -"`assertWarns`. The test passes if *warning* is triggered and fails if it " -"isn't. Any exception is an error. To catch any of a group of warnings, a " -"tuple containing the warning classes may be passed as *warnings*." +"positional or keyword arguments that are also passed " +"to :meth:`assertWarns`. The test passes if *warning* is triggered and fails " +"if it isn't. Any exception is an error. To catch any of a group of " +"warnings, a tuple containing the warning classes may be passed as *warnings*." msgstr "" "Testa se o aviso *warning* é acionado quando *callable* é chamado com " -"quaisquer argumentos nomeados ou posicionais que também são passados para :" -"meth:`assertWarns`. O teste passa se *warning* for acionado e falha se não " -"for. Qualquer exceção é considerada como falha. Para capturar qualquer aviso " -"presente em um grupo de avisos, uma tupla contendo as classes de aviso podem " -"ser passadas como *warning*." +"quaisquer argumentos nomeados ou posicionais que também são passados " +"para :meth:`assertWarns`. O teste passa se *warning* for acionado e falha se " +"não for. Qualquer exceção é considerada como falha. Para capturar qualquer " +"aviso presente em um grupo de avisos, uma tupla contendo as classes de aviso " +"podem ser passadas como *warning*." #: ../../library/unittest.rst:1065 msgid "" @@ -1663,10 +1653,11 @@ msgstr "" #: ../../library/unittest.rst:1075 msgid "" -"The context manager will store the caught warning object in its :attr:" -"`warning` attribute, and the source line which triggered the warnings in " -"the :attr:`filename` and :attr:`lineno` attributes. This can be useful if " -"the intention is to perform additional checks on the warning caught::" +"The context manager will store the caught warning object in " +"its :attr:`warning` attribute, and the source line which triggered the " +"warnings in the :attr:`filename` and :attr:`lineno` attributes. This can be " +"useful if the intention is to perform additional checks on the warning " +"caught::" msgstr "" "O gerenciador de contexto irá armazenar o objeto de aviso capturado no " "atributo :attr:`warning` e a linha de código fonte que acionou o aviso nos " @@ -1685,13 +1676,13 @@ msgstr "" msgid "" "Like :meth:`assertWarns` but also tests that *regex* matches on the message " "of the triggered warning. *regex* may be a regular expression object or a " -"string containing a regular expression suitable for use by :func:`re." -"search`. Example::" +"string containing a regular expression suitable for use " +"by :func:`re.search`. Example::" msgstr "" "Similar ao :meth:`assertWarns` mas também testa se *regex* casa com a " "mensagem do aviso acionado. *regex* pode ser um objeto expressão regular ou " -"uma string contendo uma expressão regular compatível para uso pela função :" -"func:`re.search`. Exemplo::" +"uma string contendo uma expressão regular compatível para uso pela " +"função :func:`re.search`. Exemplo::" #: ../../library/unittest.rst:1120 msgid "" @@ -1703,25 +1694,22 @@ msgstr "" #: ../../library/unittest.rst:1124 msgid "" -"If given, *logger* should be a :class:`logging.Logger` object or a :class:" -"`str` giving the name of a logger. The default is the root logger, which " -"will catch all messages that were not blocked by a non-propagating " +"If given, *logger* should be a :class:`logging.Logger` object or " +"a :class:`str` giving the name of a logger. The default is the root logger, " +"which will catch all messages that were not blocked by a non-propagating " "descendent logger." msgstr "" -"Se fornecido, *logger* deve ser um objeto :class:`logging.Logger` ou uma :" -"class:`str` fornecendo o nome de um logger. O padrão é o logger root, o qual " -"irá capturar todas as mensagens que não foram bloqueadas por um logger " +"Se fornecido, *logger* deve ser um objeto :class:`logging.Logger` ou " +"uma :class:`str` fornecendo o nome de um logger. O padrão é o logger root, o " +"qual irá capturar todas as mensagens que não foram bloqueadas por um logger " "descendente não-propagante." #: ../../library/unittest.rst:1129 ../../library/unittest.rst:1170 msgid "" "If given, *level* should be either a numeric logging level or its string " -"equivalent (for example either ``\"ERROR\"`` or :attr:`logging.ERROR`). The " -"default is :attr:`logging.INFO`." +"equivalent (for example either ``\"ERROR\"`` or :const:`logging.ERROR`). " +"The default is :const:`logging.INFO`." msgstr "" -"Se passado, *level* deve ser um nível de log numérico ou a string " -"equivalente (por exemplo, ``\"ERROR\"`` ou :attr:`logging.ERROR`). O padrão " -"é :attr:`logging.INFO`." #: ../../library/unittest.rst:1133 msgid "" @@ -1770,13 +1758,13 @@ msgstr "" #: ../../library/unittest.rst:1166 msgid "" -"If given, *logger* should be a :class:`logging.Logger` object or a :class:" -"`str` giving the name of a logger. The default is the root logger, which " -"will catch all messages." +"If given, *logger* should be a :class:`logging.Logger` object or " +"a :class:`str` giving the name of a logger. The default is the root logger, " +"which will catch all messages." msgstr "" "Se passado, *logger* deve ser um objeto da classe :class:`logging.Logger` ou " "um objeto da classe :class:`str` com o nome do registrador de logs. O padrão " -"é o registrador de log raíz, que irá capturar todas as mensagens." +"é o registrador de log raiz, que irá capturar todas as mensagens." #: ../../library/unittest.rst:1174 msgid "" @@ -1873,8 +1861,8 @@ msgid "" "Test that *first* and *second* are approximately (or not approximately) " "equal by computing the difference, rounding to the given number of decimal " "*places* (default 7), and comparing to zero. Note that these methods round " -"the values to the given number of *decimal places* (i.e. like the :func:" -"`round` function) and not *significant digits*." +"the values to the given number of *decimal places* (i.e. like " +"the :func:`round` function) and not *significant digits*." msgstr "" "Testa se *first* e *second* são (ou não são) aproximadamente iguais " "considerando a diferença entre eles, arredondando para o número de casas " @@ -1902,10 +1890,10 @@ msgid "" "objects compare equal. Added the *delta* keyword argument." msgstr "" ":meth:`assertAlmostEqual` considera, automaticamente, objetos quase iguais " -"que possuem a comparação de igualdade dada como verdadeira. :meth:" -"`assertNotAlmostEqual` falha automaticamente se os objetos possuem a " -"comparação de igualdade dada como verdadeira. Adicionado o argumento nomeado " -"*delta*." +"que possuem a comparação de igualdade dada como " +"verdadeira. :meth:`assertNotAlmostEqual` falha automaticamente se os objetos " +"possuem a comparação de igualdade dada como verdadeira. Adicionado o " +"argumento nomeado *delta*." #: ../../library/unittest.rst:1239 msgid "" @@ -1935,8 +1923,8 @@ msgstr "Adicionada abaixo do nome ``assertRegexpMatches``." #: ../../library/unittest.rst:1259 msgid "" -"The method ``assertRegexpMatches()`` has been renamed to :meth:`." -"assertRegex`." +"The method ``assertRegexpMatches()`` has been renamed " +"to :meth:`.assertRegex`." msgstr "" "O método ``assertRegexpMatches()`` foi renomeado para :meth:`.assertRegex`." @@ -1946,11 +1934,11 @@ msgstr ":meth:`.assertNotRegex`." #: ../../library/unittest.rst:1264 msgid "" -"The name ``assertNotRegexpMatches`` is a deprecated alias for :meth:`." -"assertNotRegex`." +"The name ``assertNotRegexpMatches`` is a deprecated alias " +"for :meth:`.assertNotRegex`." msgstr "" -"O nome ``assertNotRegexpMatches`` é um apelido descontinuado para :meth:`." -"assertNotRegex`." +"O nome ``assertNotRegexpMatches`` é um apelido descontinuado " +"para :meth:`.assertNotRegex`." #: ../../library/unittest.rst:1271 msgid "" @@ -1984,17 +1972,17 @@ msgid "" "Registers a type-specific method called by :meth:`assertEqual` to check if " "two objects of exactly the same *typeobj* (not subclasses) compare equal. " "*function* must take two positional arguments and a third msg=None keyword " -"argument just as :meth:`assertEqual` does. It must raise :data:`self." -"failureException(msg) ` when inequality between the first " -"two parameters is detected -- possibly providing useful information and " -"explaining the inequalities in details in the error message." +"argument just as :meth:`assertEqual` does. It must " +"raise :data:`self.failureException(msg) ` when inequality " +"between the first two parameters is detected -- possibly providing useful " +"information and explaining the inequalities in details in the error message." msgstr "" #: ../../library/unittest.rst:1304 msgid "" -"The list of type-specific methods automatically used by :meth:`~TestCase." -"assertEqual` are summarized in the following table. Note that it's usually " -"not necessary to invoke these methods directly." +"The list of type-specific methods automatically used " +"by :meth:`~TestCase.assertEqual` are summarized in the following table. " +"Note that it's usually not necessary to invoke these methods directly." msgstr "" #: ../../library/unittest.rst:1309 @@ -2088,8 +2076,8 @@ msgstr "" #: ../../library/unittest.rst:1374 msgid "" -"Fails if either of *first* or *second* does not have a :meth:`set." -"difference` method." +"Fails if either of *first* or *second* does not have " +"a :meth:`set.difference` method." msgstr "" #: ../../library/unittest.rst:1382 @@ -2115,8 +2103,8 @@ msgid "" "This class attribute gives the exception raised by the test method. If a " "test framework needs to use a specialized exception, possibly to carry " "additional information, it must subclass this exception in order to \"play " -"fair\" with the framework. The initial value of this attribute is :exc:" -"`AssertionError`." +"fair\" with the framework. The initial value of this attribute " +"is :exc:`AssertionError`." msgstr "" #: ../../library/unittest.rst:1413 @@ -2144,8 +2132,8 @@ msgid "" "This attribute controls the maximum length of diffs output by assert methods " "that report diffs on failure. It defaults to 80*8 characters. Assert methods " "affected by this attribute are :meth:`assertSequenceEqual` (including all " -"the sequence comparison methods that delegate to it), :meth:" -"`assertDictEqual` and :meth:`assertMultiLineEqual`." +"the sequence comparison methods that delegate to " +"it), :meth:`assertDictEqual` and :meth:`assertMultiLineEqual`." msgstr "" #: ../../library/unittest.rst:1437 @@ -2164,8 +2152,8 @@ msgstr "" #: ../../library/unittest.rst:1449 msgid "" -"Return the number of tests represented by this test object. For :class:" -"`TestCase` instances, this will always be ``1``." +"Return the number of tests represented by this test object. " +"For :class:`TestCase` instances, this will always be ``1``." msgstr "" "Retorna o número de testes representados por esse objeto de teste. Para " "instâncias :class:`TestCase` será sempre ``1``." @@ -2179,9 +2167,9 @@ msgstr "" #: ../../library/unittest.rst:1459 msgid "" -"For :class:`TestCase` instances, this will always be an instance of :class:" -"`TestResult`; subclasses of :class:`TestCase` should override this as " -"necessary." +"For :class:`TestCase` instances, this will always be an instance " +"of :class:`TestResult`; subclasses of :class:`TestCase` should override this " +"as necessary." msgstr "" #: ../../library/unittest.rst:1466 @@ -2206,8 +2194,8 @@ msgstr "" msgid "" "In 3.1 this was changed to add the test name to the short description even " "in the presence of a docstring. This caused compatibility issues with " -"unittest extensions and adding the test name was moved to the :class:" -"`TextTestResult` in Python 3.2." +"unittest extensions and adding the test name was moved to " +"the :class:`TextTestResult` in Python 3.2." msgstr "" #: ../../library/unittest.rst:1486 @@ -2227,22 +2215,23 @@ msgstr "" #: ../../library/unittest.rst:1500 msgid "" -"Enter the supplied :term:`context manager`. If successful, also add its :" -"meth:`~object.__exit__` method as a cleanup function by :meth:`addCleanup` " -"and return the result of the :meth:`~object.__enter__` method." +"Enter the supplied :term:`context manager`. If successful, also add " +"its :meth:`~object.__exit__` method as a cleanup function " +"by :meth:`addCleanup` and return the result of the :meth:`~object.__enter__` " +"method." msgstr "" #: ../../library/unittest.rst:1510 msgid "" -"This method is called unconditionally after :meth:`tearDown`, or after :meth:" -"`setUp` if :meth:`setUp` raises an exception." +"This method is called unconditionally after :meth:`tearDown`, or " +"after :meth:`setUp` if :meth:`setUp` raises an exception." msgstr "" #: ../../library/unittest.rst:1513 msgid "" -"It is responsible for calling all the cleanup functions added by :meth:" -"`addCleanup`. If you need cleanup functions to be called *prior* to :meth:" -"`tearDown` then you can call :meth:`doCleanups` yourself." +"It is responsible for calling all the cleanup functions added " +"by :meth:`addCleanup`. If you need cleanup functions to be called *prior* " +"to :meth:`tearDown` then you can call :meth:`doCleanups` yourself." msgstr "" #: ../../library/unittest.rst:1518 @@ -2268,23 +2257,24 @@ msgstr "" #: ../../library/unittest.rst:1540 msgid "" -"Enter the supplied :term:`context manager`. If successful, also add its :" -"meth:`~object.__exit__` method as a cleanup function by :meth:" -"`addClassCleanup` and return the result of the :meth:`~object.__enter__` " -"method." +"Enter the supplied :term:`context manager`. If successful, also add " +"its :meth:`~object.__exit__` method as a cleanup function " +"by :meth:`addClassCleanup` and return the result of " +"the :meth:`~object.__enter__` method." msgstr "" #: ../../library/unittest.rst:1550 msgid "" -"This method is called unconditionally after :meth:`tearDownClass`, or after :" -"meth:`setUpClass` if :meth:`setUpClass` raises an exception." +"This method is called unconditionally after :meth:`tearDownClass`, or " +"after :meth:`setUpClass` if :meth:`setUpClass` raises an exception." msgstr "" #: ../../library/unittest.rst:1553 msgid "" -"It is responsible for calling all the cleanup functions added by :meth:" -"`addClassCleanup`. If you need cleanup functions to be called *prior* to :" -"meth:`tearDownClass` then you can call :meth:`doClassCleanups` yourself." +"It is responsible for calling all the cleanup functions added " +"by :meth:`addClassCleanup`. If you need cleanup functions to be called " +"*prior* to :meth:`tearDownClass` then you can call :meth:`doClassCleanups` " +"yourself." msgstr "" #: ../../library/unittest.rst:1558 @@ -2301,11 +2291,11 @@ msgstr "" #: ../../library/unittest.rst:1573 msgid "" -"Method called to prepare the test fixture. This is called after :meth:" -"`setUp`. This is called immediately before calling the test method; other " -"than :exc:`AssertionError` or :exc:`SkipTest`, any exception raised by this " -"method will be considered an error rather than a test failure. The default " -"implementation does nothing." +"Method called to prepare the test fixture. This is called " +"after :meth:`setUp`. This is called immediately before calling the test " +"method; other than :exc:`AssertionError` or :exc:`SkipTest`, any exception " +"raised by this method will be considered an error rather than a test " +"failure. The default implementation does nothing." msgstr "" #: ../../library/unittest.rst:1581 @@ -2328,19 +2318,19 @@ msgstr "" #: ../../library/unittest.rst:1597 msgid "" "Enter the supplied :term:`asynchronous context manager`. If successful, " -"also add its :meth:`~object.__aexit__` method as a cleanup function by :meth:" -"`addAsyncCleanup` and return the result of the :meth:`~object.__aenter__` " -"method." +"also add its :meth:`~object.__aexit__` method as a cleanup function " +"by :meth:`addAsyncCleanup` and return the result of " +"the :meth:`~object.__aenter__` method." msgstr "" #: ../../library/unittest.rst:1607 msgid "" -"Sets up a new event loop to run the test, collecting the result into the :" -"class:`TestResult` object passed as *result*. If *result* is omitted or " -"``None``, a temporary result object is created (by calling the :meth:" -"`defaultTestResult` method) and used. The result object is returned to :meth:" -"`run`'s caller. At the end of the test all the tasks in the event loop are " -"cancelled." +"Sets up a new event loop to run the test, collecting the result into " +"the :class:`TestResult` object passed as *result*. If *result* is omitted " +"or ``None``, a temporary result object is created (by calling " +"the :meth:`defaultTestResult` method) and used. The result object is " +"returned to :meth:`run`'s caller. At the end of the test all the tasks in " +"the event loop are cancelled." msgstr "" #: ../../library/unittest.rst:1615 @@ -2359,13 +2349,13 @@ msgid "" "This class implements the portion of the :class:`TestCase` interface which " "allows the test runner to drive the test, but does not provide the methods " "which test code can use to check and report errors. This is used to create " -"test cases using legacy test code, allowing it to be integrated into a :mod:" -"`unittest`-based test framework." +"test cases using legacy test code, allowing it to be integrated into " +"a :mod:`unittest`-based test framework." msgstr "" #: ../../library/unittest.rst:1666 msgid "Deprecated aliases" -msgstr "" +msgstr "Apelidos descontinuados" #: ../../library/unittest.rst:1668 msgid "" @@ -2492,14 +2482,14 @@ msgstr "" #: ../../library/unittest.rst:1691 msgid "" -"``assertRegexpMatches`` and ``assertRaisesRegexp`` have been renamed to :" -"meth:`.assertRegex` and :meth:`.assertRaisesRegex`." +"``assertRegexpMatches`` and ``assertRaisesRegexp`` have been renamed " +"to :meth:`.assertRegex` and :meth:`.assertRaisesRegex`." msgstr "" #: ../../library/unittest.rst:1694 msgid "" -"The ``assertNotRegexpMatches`` name is deprecated in favor of :meth:`." -"assertNotRegex`." +"The ``assertNotRegexpMatches`` name is deprecated in favor " +"of :meth:`.assertNotRegex`." msgstr "" #: ../../library/unittest.rst:1700 @@ -2536,8 +2526,8 @@ msgstr "" #: ../../library/unittest.rst:1726 msgid "" -"Add all the tests from an iterable of :class:`TestCase` and :class:" -"`TestSuite` instances to this test suite." +"Add all the tests from an iterable of :class:`TestCase` " +"and :class:`TestSuite` instances to this test suite." msgstr "" #: ../../library/unittest.rst:1729 @@ -2553,8 +2543,9 @@ msgstr "" #: ../../library/unittest.rst:1737 msgid "" "Run the tests associated with this suite, collecting the result into the " -"test result object passed as *result*. Note that unlike :meth:`TestCase." -"run`, :meth:`TestSuite.run` requires the result object to be passed in." +"test result object passed as *result*. Note that " +"unlike :meth:`TestCase.run`, :meth:`TestSuite.run` requires the result " +"object to be passed in." msgstr "" #: ../../library/unittest.rst:1745 @@ -2573,7 +2564,7 @@ msgstr "" #: ../../library/unittest.rst:1758 msgid "" "Tests grouped by a :class:`TestSuite` are always accessed by iteration. " -"Subclasses can lazily provide tests by overriding :meth:`__iter__`. Note " +"Subclasses can lazily provide tests by overriding :meth:`!__iter__`. Note " "that this method may be called several times on a single suite (for example " "when counting tests or comparing for equality) so the tests returned by " "repeated iterations before :meth:`TestSuite.run` must be the same for each " @@ -2585,15 +2576,15 @@ msgstr "" #: ../../library/unittest.rst:1768 msgid "" "In earlier versions the :class:`TestSuite` accessed tests directly rather " -"than through iteration, so overriding :meth:`__iter__` wasn't sufficient for " -"providing tests." +"than through iteration, so overriding :meth:`!__iter__` wasn't sufficient " +"for providing tests." msgstr "" #: ../../library/unittest.rst:1773 msgid "" -"In earlier versions the :class:`TestSuite` held references to each :class:" -"`TestCase` after :meth:`TestSuite.run`. Subclasses can restore that behavior " -"by overriding :meth:`TestSuite._removeTestAtIndex`." +"In earlier versions the :class:`TestSuite` held references to " +"each :class:`TestCase` after :meth:`TestSuite.run`. Subclasses can restore " +"that behavior by overriding :meth:`TestSuite._removeTestAtIndex`." msgstr "" #: ../../library/unittest.rst:1778 @@ -2610,9 +2601,9 @@ msgstr "Carregando e executando testes" msgid "" "The :class:`TestLoader` class is used to create test suites from classes and " "modules. Normally, there is no need to create an instance of this class; " -"the :mod:`unittest` module provides an instance that can be shared as :data:" -"`unittest.defaultTestLoader`. Using a subclass or instance, however, allows " -"customization of some configurable properties." +"the :mod:`unittest` module provides an instance that can be shared " +"as :data:`unittest.defaultTestLoader`. Using a subclass or instance, " +"however, allows customization of some configurable properties." msgstr "" #: ../../library/unittest.rst:1793 @@ -2633,17 +2624,17 @@ msgstr "Objetos da classe :class:`TestLoader` possuem os seguintes métodos:" #: ../../library/unittest.rst:1812 msgid "" -"Return a suite of all test cases contained in the :class:`TestCase`\\ -" -"derived :class:`testCaseClass`." +"Return a suite of all test cases contained in the :class:`TestCase`\\ " +"-derived :class:`testCaseClass`." msgstr "" #: ../../library/unittest.rst:1815 msgid "" -"A test case instance is created for each method named by :meth:" -"`getTestCaseNames`. By default these are the method names beginning with " -"``test``. If :meth:`getTestCaseNames` returns no methods, but the :meth:" -"`runTest` method is implemented, a single test case is created for that " -"method instead." +"A test case instance is created for each method named " +"by :meth:`getTestCaseNames`. By default these are the method names beginning " +"with ``test``. If :meth:`getTestCaseNames` returns no methods, but " +"the :meth:`runTest` method is implemented, a single test case is created for " +"that method instead." msgstr "" #: ../../library/unittest.rst:1824 @@ -2689,25 +2680,25 @@ msgstr "" #: ../../library/unittest.rst:1856 msgid "" "The specifier *name* is a \"dotted name\" that may resolve either to a " -"module, a test case class, a test method within a test case class, a :class:" -"`TestSuite` instance, or a callable object which returns a :class:`TestCase` " -"or :class:`TestSuite` instance. These checks are applied in the order " -"listed here; that is, a method on a possible test case class will be picked " -"up as \"a test method within a test case class\", rather than \"a callable " -"object\"." +"module, a test case class, a test method within a test case class, " +"a :class:`TestSuite` instance, or a callable object which returns " +"a :class:`TestCase` or :class:`TestSuite` instance. These checks are " +"applied in the order listed here; that is, a method on a possible test case " +"class will be picked up as \"a test method within a test case class\", " +"rather than \"a callable object\"." msgstr "" #: ../../library/unittest.rst:1864 msgid "" -"For example, if you have a module :mod:`SampleTests` containing a :class:" -"`TestCase`\\ -derived class :class:`SampleTestCase` with three test methods " -"(:meth:`test_one`, :meth:`test_two`, and :meth:`test_three`), the specifier " -"``'SampleTests.SampleTestCase'`` would cause this method to return a suite " -"which will run all three test methods. Using the specifier ``'SampleTests." -"SampleTestCase.test_two'`` would cause it to return a test suite which will " -"run only the :meth:`test_two` test method. The specifier can refer to " -"modules and packages which have not been imported; they will be imported as " -"a side-effect." +"For example, if you have a module :mod:`SampleTests` containing " +"a :class:`TestCase`\\ -derived class :class:`SampleTestCase` with three test " +"methods (:meth:`test_one`, :meth:`test_two`, and :meth:`test_three`), the " +"specifier ``'SampleTests.SampleTestCase'`` would cause this method to return " +"a suite which will run all three test methods. Using the specifier " +"``'SampleTests.SampleTestCase.test_two'`` would cause it to return a test " +"suite which will run only the :meth:`test_two` test method. The specifier " +"can refer to modules and packages which have not been imported; they will be " +"imported as a side-effect." msgstr "" #: ../../library/unittest.rst:1874 @@ -2778,8 +2769,8 @@ msgstr "" msgid "" "The pattern is deliberately not stored as a loader attribute so that " "packages can continue discovery themselves. *top_level_dir* is stored so " -"``load_tests`` does not need to pass this argument in to ``loader." -"discover()``." +"``load_tests`` does not need to pass this argument in to " +"``loader.discover()``." msgstr "" #: ../../library/unittest.rst:1930 @@ -2829,25 +2820,24 @@ msgstr "" #: ../../library/unittest.rst:1965 msgid "" -"This affects :meth:`getTestCaseNames` and all the :meth:`loadTestsFrom\\*` " -"methods." +"This affects :meth:`getTestCaseNames` and all the ``loadTestsFrom*`` methods." msgstr "" #: ../../library/unittest.rst:1971 msgid "" -"Function to be used to compare method names when sorting them in :meth:" -"`getTestCaseNames` and all the :meth:`loadTestsFrom\\*` methods." +"Function to be used to compare method names when sorting them " +"in :meth:`getTestCaseNames` and all the ``loadTestsFrom*`` methods." msgstr "" #: ../../library/unittest.rst:1977 msgid "" "Callable object that constructs a test suite from a list of tests. No " -"methods on the resulting object are needed. The default value is the :class:" -"`TestSuite` class." +"methods on the resulting object are needed. The default value is " +"the :class:`TestSuite` class." msgstr "" #: ../../library/unittest.rst:1981 ../../library/unittest.rst:1994 -msgid "This affects all the :meth:`loadTestsFrom\\*` methods." +msgid "This affects all the ``loadTestsFrom*`` methods." msgstr "" #: ../../library/unittest.rst:1985 @@ -2873,18 +2863,18 @@ msgstr "" #: ../../library/unittest.rst:2004 msgid "" -"A :class:`TestResult` object stores the results of a set of tests. The :" -"class:`TestCase` and :class:`TestSuite` classes ensure that results are " +"A :class:`TestResult` object stores the results of a set of tests. " +"The :class:`TestCase` and :class:`TestSuite` classes ensure that results are " "properly recorded; test authors do not need to worry about recording the " "outcome of tests." msgstr "" #: ../../library/unittest.rst:2009 msgid "" -"Testing frameworks built on top of :mod:`unittest` may want access to the :" -"class:`TestResult` object generated by running a set of tests for reporting " -"purposes; a :class:`TestResult` instance is returned by the :meth:" -"`TestRunner.run` method for this purpose." +"Testing frameworks built on top of :mod:`unittest` may want access to " +"the :class:`TestResult` object generated by running a set of tests for " +"reporting purposes; a :class:`TestResult` instance is returned by " +"the :meth:`TestRunner.run` method for this purpose." msgstr "" #: ../../library/unittest.rst:2014 @@ -2904,7 +2894,7 @@ msgstr "" msgid "" "A list containing 2-tuples of :class:`TestCase` instances and strings " "holding formatted tracebacks. Each tuple represents a test where a failure " -"was explicitly signalled using the :meth:`TestCase.assert\\*` methods." +"was explicitly signalled using the :ref:`assert\\* methods `." msgstr "" #: ../../library/unittest.rst:2032 @@ -2971,9 +2961,9 @@ msgstr "" #: ../../library/unittest.rst:2089 msgid "" "This method can be called to signal that the set of tests being run should " -"be aborted by setting the :attr:`shouldStop` attribute to ``True``. :class:" -"`TestRunner` objects should respect this flag and return without running any " -"additional tests." +"be aborted by setting the :attr:`shouldStop` attribute to " +"``True``. :class:`TestRunner` objects should respect this flag and return " +"without running any additional tests." msgstr "" #: ../../library/unittest.rst:2094 @@ -3059,8 +3049,8 @@ msgstr "" #: ../../library/unittest.rst:2167 msgid "" -"Called when the test case *test* fails or errors, but was marked with the :" -"func:`expectedFailure` decorator." +"Called when the test case *test* fails or errors, but was marked with " +"the :func:`expectedFailure` decorator." msgstr "" #: ../../library/unittest.rst:2170 @@ -3078,8 +3068,8 @@ msgstr "" #: ../../library/unittest.rst:2180 msgid "" -"The default implementation appends the test to the instance's :attr:" -"`unexpectedSuccesses` attribute." +"The default implementation appends the test to the " +"instance's :attr:`unexpectedSuccesses` attribute." msgstr "" #: ../../library/unittest.rst:2186 @@ -3092,8 +3082,8 @@ msgstr "" #: ../../library/unittest.rst:2190 msgid "" "If *outcome* is :const:`None`, the subtest succeeded. Otherwise, it failed " -"with an exception where *outcome* is a tuple of the form returned by :func:" -"`sys.exc_info`: ``(type, value, traceback)``." +"with an exception where *outcome* is a tuple of the form returned " +"by :func:`sys.exc_info`: ``(type, value, traceback)``." msgstr "" #: ../../library/unittest.rst:2194 @@ -3104,8 +3094,8 @@ msgstr "" #: ../../library/unittest.rst:2202 msgid "" -"A concrete implementation of :class:`TestResult` used by the :class:" -"`TextTestRunner`." +"A concrete implementation of :class:`TestResult` used by " +"the :class:`TextTestRunner`." msgstr "" #: ../../library/unittest.rst:2205 @@ -3134,15 +3124,15 @@ msgstr "" #: ../../library/unittest.rst:2227 msgid "" -"By default this runner shows :exc:`DeprecationWarning`, :exc:" -"`PendingDeprecationWarning`, :exc:`ResourceWarning` and :exc:`ImportWarning` " -"even if they are :ref:`ignored by default `. Deprecation " -"warnings caused by :ref:`deprecated unittest methods ` " -"are also special-cased and, when the warning filters are ``'default'`` or " -"``'always'``, they will appear only once per-module, in order to avoid too " -"many warning messages. This behavior can be overridden using Python's :" -"option:`!-Wd` or :option:`!-Wa` options (see :ref:`Warning control `) and leaving *warnings* to ``None``." +"By default this runner " +"shows :exc:`DeprecationWarning`, :exc:`PendingDeprecationWarning`, :exc:`ResourceWarning` " +"and :exc:`ImportWarning` even if they are :ref:`ignored by default `. Deprecation warnings caused by :ref:`deprecated unittest methods " +"` are also special-cased and, when the warning filters " +"are ``'default'`` or ``'always'``, they will appear only once per-module, in " +"order to avoid too many warning messages. This behavior can be overridden " +"using Python's :option:`!-Wd` or :option:`!-Wa` options (see :ref:`Warning " +"control `) and leaving *warnings* to ``None``." msgstr "" #: ../../library/unittest.rst:2238 @@ -3177,9 +3167,9 @@ msgstr "" #: ../../library/unittest.rst:2263 msgid "" "This method is the main public interface to the ``TextTestRunner``. This " -"method takes a :class:`TestSuite` or :class:`TestCase` instance. A :class:" -"`TestResult` is created by calling :func:`_makeResult` and the test(s) are " -"run and the results printed to stdout." +"method takes a :class:`TestSuite` or :class:`TestCase` instance. " +"A :class:`TestResult` is created by calling :func:`_makeResult` and the " +"test(s) are run and the results printed to stdout." msgstr "" #: ../../library/unittest.rst:2274 @@ -3271,34 +3261,34 @@ msgid "" "names." msgstr "" -#: ../../library/unittest.rst:2336 +#: ../../library/unittest.rst:2338 msgid "load_tests Protocol" msgstr "" -#: ../../library/unittest.rst:2340 +#: ../../library/unittest.rst:2342 msgid "" "Modules or packages can customize how tests are loaded from them during " "normal test runs or test discovery by implementing a function called " "``load_tests``." msgstr "" -#: ../../library/unittest.rst:2343 +#: ../../library/unittest.rst:2345 msgid "" -"If a test module defines ``load_tests`` it will be called by :meth:" -"`TestLoader.loadTestsFromModule` with the following arguments::" +"If a test module defines ``load_tests`` it will be called " +"by :meth:`TestLoader.loadTestsFromModule` with the following arguments::" msgstr "" -#: ../../library/unittest.rst:2348 +#: ../../library/unittest.rst:2350 msgid "" "where *pattern* is passed straight through from ``loadTestsFromModule``. It " "defaults to ``None``." msgstr "" -#: ../../library/unittest.rst:2351 +#: ../../library/unittest.rst:2353 msgid "It should return a :class:`TestSuite`." msgstr "" -#: ../../library/unittest.rst:2353 +#: ../../library/unittest.rst:2355 msgid "" "*loader* is the instance of :class:`TestLoader` doing the loading. " "*standard_tests* are the tests that would be loaded by default from the " @@ -3307,52 +3297,53 @@ msgid "" "packages as part of test discovery." msgstr "" -#: ../../library/unittest.rst:2359 +#: ../../library/unittest.rst:2361 msgid "" -"A typical ``load_tests`` function that loads tests from a specific set of :" -"class:`TestCase` classes may look like::" +"A typical ``load_tests`` function that loads tests from a specific set " +"of :class:`TestCase` classes may look like::" msgstr "" -#: ../../library/unittest.rst:2371 +#: ../../library/unittest.rst:2373 msgid "" "If discovery is started in a directory containing a package, either from the " -"command line or by calling :meth:`TestLoader.discover`, then the package :" -"file:`__init__.py` will be checked for ``load_tests``. If that function " -"does not exist, discovery will recurse into the package as though it were " -"just another directory. Otherwise, discovery of the package's tests will be " -"left up to ``load_tests`` which is called with the following arguments::" +"command line or by calling :meth:`TestLoader.discover`, then the " +"package :file:`__init__.py` will be checked for ``load_tests``. If that " +"function does not exist, discovery will recurse into the package as though " +"it were just another directory. Otherwise, discovery of the package's tests " +"will be left up to ``load_tests`` which is called with the following " +"arguments::" msgstr "" -#: ../../library/unittest.rst:2380 +#: ../../library/unittest.rst:2382 msgid "" "This should return a :class:`TestSuite` representing all the tests from the " -"package. (``standard_tests`` will only contain tests collected from :file:" -"`__init__.py`.)" +"package. (``standard_tests`` will only contain tests collected " +"from :file:`__init__.py`.)" msgstr "" -#: ../../library/unittest.rst:2384 +#: ../../library/unittest.rst:2386 msgid "" "Because the pattern is passed into ``load_tests`` the package is free to " "continue (and potentially modify) test discovery. A 'do nothing' " "``load_tests`` function for a test package would look like::" msgstr "" -#: ../../library/unittest.rst:2395 +#: ../../library/unittest.rst:2397 msgid "" "Discovery no longer checks package names for matching *pattern* due to the " "impossibility of package names matching the default pattern." msgstr "" -#: ../../library/unittest.rst:2402 +#: ../../library/unittest.rst:2404 msgid "Class and Module Fixtures" msgstr "Classes e Módulos de Definição de Contexto" -#: ../../library/unittest.rst:2404 +#: ../../library/unittest.rst:2406 msgid "" "Class and module level fixtures are implemented in :class:`TestSuite`. When " "the test suite encounters a test from a new class then :meth:`tearDownClass` " -"from the previous class (if there is one) is called, followed by :meth:" -"`setUpClass` from the new class." +"from the previous class (if there is one) is called, followed " +"by :meth:`setUpClass` from the new class." msgstr "" "Definições de contexto em um nível de classe e módulo são implementadas na " "classe :class:`TestSuite`. Quando a suíte de testes encontrar um teste de " @@ -3360,14 +3351,14 @@ msgstr "" "houver alguma) é chamado logo antes da chamada do método :meth:`setUpClass` " "da nova classe." -#: ../../library/unittest.rst:2409 +#: ../../library/unittest.rst:2411 msgid "" "Similarly if a test is from a different module from the previous test then " "``tearDownModule`` from the previous module is run, followed by " "``setUpModule`` from the new module." msgstr "" -#: ../../library/unittest.rst:2413 +#: ../../library/unittest.rst:2415 msgid "" "After all the tests have run the final ``tearDownClass`` and " "``tearDownModule`` are run." @@ -3375,14 +3366,14 @@ msgstr "" "Após executar todos os testes, haverá a execução final do ``tearDownClass`` " "e do ``tearDownModule``." -#: ../../library/unittest.rst:2416 +#: ../../library/unittest.rst:2418 msgid "" "Note that shared fixtures do not play well with [potential] features like " "test parallelization and they break test isolation. They should be used with " "care." msgstr "" -#: ../../library/unittest.rst:2419 +#: ../../library/unittest.rst:2421 msgid "" "The default ordering of tests created by the unittest test loaders is to " "group all tests from the same modules and classes together. This will lead " @@ -3392,14 +3383,14 @@ msgid "" "functions may be called multiple times in a single test run." msgstr "" -#: ../../library/unittest.rst:2426 +#: ../../library/unittest.rst:2428 msgid "" "Shared fixtures are not intended to work with suites with non-standard " "ordering. A ``BaseTestSuite`` still exists for frameworks that don't want to " "support shared fixtures." msgstr "" -#: ../../library/unittest.rst:2430 +#: ../../library/unittest.rst:2432 msgid "" "If there are any exceptions raised during one of the shared fixture " "functions the test is reported as an error. Because there is no " @@ -3409,39 +3400,39 @@ msgid "" "matter, but if you are a framework author it may be relevant." msgstr "" -#: ../../library/unittest.rst:2439 +#: ../../library/unittest.rst:2441 msgid "setUpClass and tearDownClass" msgstr "" -#: ../../library/unittest.rst:2441 +#: ../../library/unittest.rst:2443 msgid "These must be implemented as class methods::" msgstr "" -#: ../../library/unittest.rst:2454 +#: ../../library/unittest.rst:2456 msgid "" "If you want the ``setUpClass`` and ``tearDownClass`` on base classes called " -"then you must call up to them yourself. The implementations in :class:" -"`TestCase` are empty." +"then you must call up to them yourself. The implementations " +"in :class:`TestCase` are empty." msgstr "" -#: ../../library/unittest.rst:2458 +#: ../../library/unittest.rst:2460 msgid "" "If an exception is raised during a ``setUpClass`` then the tests in the " "class are not run and the ``tearDownClass`` is not run. Skipped classes will " -"not have ``setUpClass`` or ``tearDownClass`` run. If the exception is a :exc:" -"`SkipTest` exception then the class will be reported as having been skipped " -"instead of as an error." +"not have ``setUpClass`` or ``tearDownClass`` run. If the exception is " +"a :exc:`SkipTest` exception then the class will be reported as having been " +"skipped instead of as an error." msgstr "" -#: ../../library/unittest.rst:2466 +#: ../../library/unittest.rst:2468 msgid "setUpModule and tearDownModule" msgstr "" -#: ../../library/unittest.rst:2468 +#: ../../library/unittest.rst:2470 msgid "These should be implemented as functions::" msgstr "" -#: ../../library/unittest.rst:2476 +#: ../../library/unittest.rst:2478 msgid "" "If an exception is raised in a ``setUpModule`` then none of the tests in the " "module will be run and the ``tearDownModule`` will not be run. If the " @@ -3449,59 +3440,60 @@ msgid "" "having been skipped instead of as an error." msgstr "" -#: ../../library/unittest.rst:2481 +#: ../../library/unittest.rst:2483 msgid "" "To add cleanup code that must be run even in the case of an exception, use " "``addModuleCleanup``:" msgstr "" -#: ../../library/unittest.rst:2487 +#: ../../library/unittest.rst:2489 msgid "" "Add a function to be called after :func:`tearDownModule` to cleanup " "resources used during the test class. Functions will be called in reverse " "order to the order they are added (:abbr:`LIFO (last-in, first-out)`). They " -"are called with any arguments and keyword arguments passed into :meth:" -"`addModuleCleanup` when they are added." +"are called with any arguments and keyword arguments passed " +"into :meth:`addModuleCleanup` when they are added." msgstr "" -#: ../../library/unittest.rst:2493 +#: ../../library/unittest.rst:2495 msgid "" "If :meth:`setUpModule` fails, meaning that :func:`tearDownModule` is not " "called, then any cleanup functions added will still be called." msgstr "" -#: ../../library/unittest.rst:2501 +#: ../../library/unittest.rst:2503 msgid "" -"Enter the supplied :term:`context manager`. If successful, also add its :" -"meth:`~object.__exit__` method as a cleanup function by :func:" -"`addModuleCleanup` and return the result of the :meth:`~object.__enter__` " -"method." +"Enter the supplied :term:`context manager`. If successful, also add " +"its :meth:`~object.__exit__` method as a cleanup function " +"by :func:`addModuleCleanup` and return the result of " +"the :meth:`~object.__enter__` method." msgstr "" -#: ../../library/unittest.rst:2511 +#: ../../library/unittest.rst:2513 msgid "" "This function is called unconditionally after :func:`tearDownModule`, or " "after :func:`setUpModule` if :func:`setUpModule` raises an exception." msgstr "" -#: ../../library/unittest.rst:2514 +#: ../../library/unittest.rst:2516 msgid "" -"It is responsible for calling all the cleanup functions added by :func:" -"`addModuleCleanup`. If you need cleanup functions to be called *prior* to :" -"func:`tearDownModule` then you can call :func:`doModuleCleanups` yourself." +"It is responsible for calling all the cleanup functions added " +"by :func:`addModuleCleanup`. If you need cleanup functions to be called " +"*prior* to :func:`tearDownModule` then you can call :func:`doModuleCleanups` " +"yourself." msgstr "" -#: ../../library/unittest.rst:2519 +#: ../../library/unittest.rst:2521 msgid "" ":func:`doModuleCleanups` pops methods off the stack of cleanup functions one " "at a time, so it can be called at any time." msgstr "" -#: ../../library/unittest.rst:2526 +#: ../../library/unittest.rst:2528 msgid "Signal Handling" msgstr "Tratamento de sinal" -#: ../../library/unittest.rst:2530 +#: ../../library/unittest.rst:2532 msgid "" "The :option:`-c/--catch ` command-line option to unittest, " "along with the ``catchbreak`` parameter to :func:`unittest.main()`, provide " @@ -3511,56 +3503,56 @@ msgid "" "A second control-c will raise a :exc:`KeyboardInterrupt` in the usual way." msgstr "" -#: ../../library/unittest.rst:2537 +#: ../../library/unittest.rst:2539 msgid "" "The control-c handling signal handler attempts to remain compatible with " "code or tests that install their own :const:`signal.SIGINT` handler. If the " -"``unittest`` handler is called but *isn't* the installed :const:`signal." -"SIGINT` handler, i.e. it has been replaced by the system under test and " -"delegated to, then it calls the default handler. This will normally be the " -"expected behavior by code that replaces an installed handler and delegates " -"to it. For individual tests that need ``unittest`` control-c handling " -"disabled the :func:`removeHandler` decorator can be used." +"``unittest`` handler is called but *isn't* the " +"installed :const:`signal.SIGINT` handler, i.e. it has been replaced by the " +"system under test and delegated to, then it calls the default handler. This " +"will normally be the expected behavior by code that replaces an installed " +"handler and delegates to it. For individual tests that need ``unittest`` " +"control-c handling disabled the :func:`removeHandler` decorator can be used." msgstr "" -#: ../../library/unittest.rst:2546 +#: ../../library/unittest.rst:2548 msgid "" "There are a few utility functions for framework authors to enable control-c " "handling functionality within test frameworks." msgstr "" -#: ../../library/unittest.rst:2551 +#: ../../library/unittest.rst:2553 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 "" -#: ../../library/unittest.rst:2558 +#: ../../library/unittest.rst:2560 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 "" -#: ../../library/unittest.rst:2562 +#: ../../library/unittest.rst:2564 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 "" -#: ../../library/unittest.rst:2569 +#: ../../library/unittest.rst:2571 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." +"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 "" -"Remove um resultado registrado. Dado que um resultado for removido, então :" -"meth:`~TestResult.stop` não será mais chamado no objeto resultado em " +"Remove um resultado registrado. Dado que um resultado for removido, " +"então :meth:`~TestResult.stop` não será mais chamado no objeto resultado em " "resposta a um Ctrl+C" -#: ../../library/unittest.rst:2576 +#: ../../library/unittest.rst:2578 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 " diff --git a/library/unix.po b/library/unix.po index 62dd1e323..535c47e82 100644 --- a/library/unix.po +++ b/library/unix.po @@ -1,27 +1,25 @@ # 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: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/urllib.error.po b/library/urllib.error.po index 456fddbc3..676c745ab 100644 --- a/library/urllib.error.po +++ b/library/urllib.error.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,12 +35,12 @@ msgstr "**Código-fonte:** :source:`Lib/urllib/error.py`" #: ../../library/urllib.error.rst:14 msgid "" "The :mod:`urllib.error` module defines the exception classes for exceptions " -"raised by :mod:`urllib.request`. The base exception class is :exc:" -"`URLError`." +"raised by :mod:`urllib.request`. The base exception class " +"is :exc:`URLError`." msgstr "" "O módulo :mod:`urllib.error` define as classes de exceção para exceções " -"levantadas por :mod:`urllib.request`. A classe de exceção base é :exc:" -"`URLError`." +"levantadas por :mod:`urllib.request`. A classe de exceção base " +"é :exc:`URLError`." #: ../../library/urllib.error.rst:17 msgid "" @@ -67,30 +67,31 @@ msgstr "" #: ../../library/urllib.error.rst:29 msgid "" -":exc:`URLError` has been made a subclass of :exc:`OSError` instead of :exc:" -"`IOError`." +":exc:`URLError` used to be a subtype of :exc:`IOError`, which is now an " +"alias of :exc:`OSError`." msgstr "" -":exc:`URLError` foi tornada uma subclasse de :exc:`OSError` em vez de :exc:" -"`IOError`." +":exc:`URLError` costumava ser um subtipo de :exc:`IOError`, que agora é um " +"apelido de :exc:`OSError`." #: ../../library/urllib.error.rst:36 msgid "" -"Though being an exception (a subclass of :exc:`URLError`), an :exc:" -"`HTTPError` can also function as a non-exceptional file-like return value " -"(the same thing that :func:`~urllib.request.urlopen` returns). This is " -"useful when handling exotic HTTP errors, such as requests for authentication." +"Though being an exception (a subclass of :exc:`URLError`), " +"an :exc:`HTTPError` can also function as a non-exceptional file-like return " +"value (the same thing that :func:`~urllib.request.urlopen` returns). This " +"is useful when handling exotic HTTP errors, such as requests for " +"authentication." msgstr "" -"Embora seja uma exceção (uma subclasse de :exc:`URLError`), uma :exc:" -"`HTTPError` também pode funcionar como um valor de retorno não excepcional " -"do tipo arquivo (a mesma coisa que :func:`~urllib.request.urlopen` retorna). " -"Isso é útil ao lidar com erros de HTTP exóticos, como solicitações de " -"autenticação." +"Embora seja uma exceção (uma subclasse de :exc:`URLError`), " +"uma :exc:`HTTPError` também pode funcionar como um valor de retorno não " +"excepcional do tipo arquivo (a mesma coisa " +"que :func:`~urllib.request.urlopen` retorna). Isso é útil ao lidar com erros " +"de HTTP exóticos, como solicitações de autenticação." #: ../../library/urllib.error.rst:44 msgid "" "An HTTP status code as defined in :rfc:`2616`. This numeric value " -"corresponds to a value found in the dictionary of codes as found in :attr:" -"`http.server.BaseHTTPRequestHandler.responses`." +"corresponds to a value found in the dictionary of codes as found " +"in :attr:`http.server.BaseHTTPRequestHandler.responses`." msgstr "" "Um código de status HTTP conforme definido em :rfc:`2616`. Este valor " "numérico corresponde a um valor encontrado no dicionário de códigos conforme " @@ -102,20 +103,22 @@ msgstr "Geralmente é uma string explicando o motivo desse erro." #: ../../library/urllib.error.rst:54 msgid "" -"The HTTP response headers for the HTTP request that caused the :exc:" -"`HTTPError`." +"The HTTP response headers for the HTTP request that caused " +"the :exc:`HTTPError`." msgstr "" -"Os cabeçalhos de resposta HTTP para a solicitação HTTP que causou a :exc:" -"`HTTPError`." +"Os cabeçalhos de resposta HTTP para a solicitação HTTP que causou " +"a :exc:`HTTPError`." #: ../../library/urllib.error.rst:61 msgid "" "This exception is raised when the :func:`~urllib.request.urlretrieve` " "function detects that the amount of the downloaded data is less than the " -"expected amount (given by the *Content-Length* header). The :attr:`content` " -"attribute stores the downloaded (and supposedly truncated) data." +"expected amount (given by the *Content-Length* header)." msgstr "" "Esta exceção é levantada quando a função :func:`~urllib.request.urlretrieve` " "detecta que a quantidade de dados baixados é menor que a quantidade esperada " -"(fornecida pelo cabeçalho *Content-Length*). O atributo :attr:`content` " -"armazena os dados baixados (e supostamente truncados)." +"(fornecida pelo cabeçalho *Content-Length*)." + +#: ../../library/urllib.error.rst:68 +msgid "The downloaded (and supposedly truncated) data." +msgstr "Os dados baixados (e supostamente truncados)." diff --git a/library/urllib.parse.po b/library/urllib.parse.po index 773057100..518ca9745 100644 --- a/library/urllib.parse.po +++ b/library/urllib.parse.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -53,10 +49,17 @@ msgid "" "The module has been designed to match the internet RFC on Relative Uniform " "Resource Locators. It supports the following URL schemes: ``file``, ``ftp``, " "``gopher``, ``hdl``, ``http``, ``https``, ``imap``, ``mailto``, ``mms``, " -"``news``, ``nntp``, ``prospero``, ``rsync``, ``rtsp``, ``rtspu``, ``sftp``, " +"``news``, ``nntp``, ``prospero``, ``rsync``, ``rtsp``, ``rtsps``, ``rtspu``, " +"``sftp``, ``shttp``, ``sip``, ``sips``, ``snews``, ``svn``, ``svn+ssh``, " +"``telnet``, ``wais``, ``ws``, ``wss``." +msgstr "" +"O módulo foi projetado para corresponder ao RFC da internet sobre " +"Localizadores de Recursos Uniformes Relativos, ou URL relativa. Ele tem " +"suporte aos seguintes esquemas de URL: ``file``, ``ftp``, ``gopher``, " +"``hdl``, ``http``, ``https``, ``imap``, ``mailto``, ``mms``, ``news``, " +"``nntp``, ``prospero``, ``rsync``, ``rtsp``, ``rtsps``,``rtspu``, ``sftp``, " "``shttp``, ``sip``, ``sips``, ``snews``, ``svn``, ``svn+ssh``, ``telnet``, " "``wais``, ``ws``, ``wss``." -msgstr "" #: ../../library/urllib.parse.rst:30 msgid "" @@ -84,9 +87,9 @@ msgstr "" #: ../../library/urllib.parse.rst:42 msgid "" "Parse a URL into six components, returning a 6-item :term:`named tuple`. " -"This corresponds to the general structure of a URL: ``scheme://netloc/path;" -"parameters?query#fragment``. Each tuple item is a string, possibly empty. " -"The components are not broken up into smaller parts (for example, the " +"This corresponds to the general structure of a URL: ``scheme://netloc/" +"path;parameters?query#fragment``. Each tuple item is a string, possibly " +"empty. The components are not broken up into smaller parts (for example, the " "network location is a single string), and % escapes are not expanded. The " "delimiters as shown above are not part of the result, except for a leading " "slash in the *path* component, which is retained if present. For example:" @@ -143,74 +146,74 @@ msgstr "" "O valor de retorno é uma :term:`tupla nomeada`, o que significa que seus " "itens podem ser acessados por índice ou como atributos nomeados, que são:" -#: ../../library/urllib.parse.rst:108 ../../library/urllib.parse.rst:293 -#: ../../library/urllib.parse.rst:397 +#: ../../library/urllib.parse.rst:108 ../../library/urllib.parse.rst:297 +#: ../../library/urllib.parse.rst:410 msgid "Attribute" msgstr "Atributo" -#: ../../library/urllib.parse.rst:108 ../../library/urllib.parse.rst:293 -#: ../../library/urllib.parse.rst:397 +#: ../../library/urllib.parse.rst:108 ../../library/urllib.parse.rst:297 +#: ../../library/urllib.parse.rst:410 msgid "Index" msgstr "Índice" -#: ../../library/urllib.parse.rst:108 ../../library/urllib.parse.rst:293 -#: ../../library/urllib.parse.rst:397 +#: ../../library/urllib.parse.rst:108 ../../library/urllib.parse.rst:297 +#: ../../library/urllib.parse.rst:410 msgid "Value" msgstr "Valor" -#: ../../library/urllib.parse.rst:108 ../../library/urllib.parse.rst:293 -#: ../../library/urllib.parse.rst:397 +#: ../../library/urllib.parse.rst:108 ../../library/urllib.parse.rst:297 +#: ../../library/urllib.parse.rst:410 msgid "Value if not present" msgstr "Valor, se não presente" -#: ../../library/urllib.parse.rst:110 ../../library/urllib.parse.rst:295 +#: ../../library/urllib.parse.rst:110 ../../library/urllib.parse.rst:299 msgid ":attr:`scheme`" msgstr ":attr:`scheme`" -#: ../../library/urllib.parse.rst:110 ../../library/urllib.parse.rst:295 -#: ../../library/urllib.parse.rst:399 +#: ../../library/urllib.parse.rst:110 ../../library/urllib.parse.rst:299 +#: ../../library/urllib.parse.rst:412 msgid "0" msgstr "0" -#: ../../library/urllib.parse.rst:110 ../../library/urllib.parse.rst:295 +#: ../../library/urllib.parse.rst:110 ../../library/urllib.parse.rst:299 msgid "URL scheme specifier" msgstr "Especificador do esquema da URL" -#: ../../library/urllib.parse.rst:110 ../../library/urllib.parse.rst:295 +#: ../../library/urllib.parse.rst:110 ../../library/urllib.parse.rst:299 msgid "*scheme* parameter" msgstr "parâmetro *scheme*" -#: ../../library/urllib.parse.rst:112 ../../library/urllib.parse.rst:297 +#: ../../library/urllib.parse.rst:112 ../../library/urllib.parse.rst:301 msgid ":attr:`netloc`" msgstr ":attr:`netloc`" -#: ../../library/urllib.parse.rst:112 ../../library/urllib.parse.rst:297 -#: ../../library/urllib.parse.rst:401 +#: ../../library/urllib.parse.rst:112 ../../library/urllib.parse.rst:301 +#: ../../library/urllib.parse.rst:414 msgid "1" msgstr "1" -#: ../../library/urllib.parse.rst:112 ../../library/urllib.parse.rst:297 +#: ../../library/urllib.parse.rst:112 ../../library/urllib.parse.rst:301 msgid "Network location part" msgstr "Parte da localização na rede" #: ../../library/urllib.parse.rst:112 ../../library/urllib.parse.rst:114 #: ../../library/urllib.parse.rst:116 ../../library/urllib.parse.rst:119 -#: ../../library/urllib.parse.rst:121 ../../library/urllib.parse.rst:297 -#: ../../library/urllib.parse.rst:299 ../../library/urllib.parse.rst:301 -#: ../../library/urllib.parse.rst:303 ../../library/urllib.parse.rst:399 -#: ../../library/urllib.parse.rst:401 +#: ../../library/urllib.parse.rst:121 ../../library/urllib.parse.rst:301 +#: ../../library/urllib.parse.rst:303 ../../library/urllib.parse.rst:305 +#: ../../library/urllib.parse.rst:307 ../../library/urllib.parse.rst:412 +#: ../../library/urllib.parse.rst:414 msgid "empty string" msgstr "string vazia" -#: ../../library/urllib.parse.rst:114 ../../library/urllib.parse.rst:299 +#: ../../library/urllib.parse.rst:114 ../../library/urllib.parse.rst:303 msgid ":attr:`path`" msgstr ":attr:`path`" -#: ../../library/urllib.parse.rst:114 ../../library/urllib.parse.rst:299 +#: ../../library/urllib.parse.rst:114 ../../library/urllib.parse.rst:303 msgid "2" msgstr "2" -#: ../../library/urllib.parse.rst:114 ../../library/urllib.parse.rst:299 +#: ../../library/urllib.parse.rst:114 ../../library/urllib.parse.rst:303 msgid "Hierarchical path" msgstr "Caminho hierárquico" @@ -218,7 +221,7 @@ msgstr "Caminho hierárquico" msgid ":attr:`params`" msgstr ":attr:`params`" -#: ../../library/urllib.parse.rst:116 ../../library/urllib.parse.rst:301 +#: ../../library/urllib.parse.rst:116 ../../library/urllib.parse.rst:305 msgid "3" msgstr "3" @@ -226,20 +229,20 @@ msgstr "3" msgid "Parameters for last path element" msgstr "Parâmetros para o último elemento de caminho" -#: ../../library/urllib.parse.rst:119 ../../library/urllib.parse.rst:301 +#: ../../library/urllib.parse.rst:119 ../../library/urllib.parse.rst:305 msgid ":attr:`query`" msgstr ":attr:`query`" -#: ../../library/urllib.parse.rst:119 ../../library/urllib.parse.rst:303 +#: ../../library/urllib.parse.rst:119 ../../library/urllib.parse.rst:307 msgid "4" msgstr "4" -#: ../../library/urllib.parse.rst:119 ../../library/urllib.parse.rst:301 +#: ../../library/urllib.parse.rst:119 ../../library/urllib.parse.rst:305 msgid "Query component" msgstr "Componente da consulta" -#: ../../library/urllib.parse.rst:121 ../../library/urllib.parse.rst:303 -#: ../../library/urllib.parse.rst:401 +#: ../../library/urllib.parse.rst:121 ../../library/urllib.parse.rst:307 +#: ../../library/urllib.parse.rst:414 msgid ":attr:`fragment`" msgstr ":attr:`fragment`" @@ -247,51 +250,51 @@ msgstr ":attr:`fragment`" msgid "5" msgstr "5" -#: ../../library/urllib.parse.rst:121 ../../library/urllib.parse.rst:303 -#: ../../library/urllib.parse.rst:401 +#: ../../library/urllib.parse.rst:121 ../../library/urllib.parse.rst:307 +#: ../../library/urllib.parse.rst:414 msgid "Fragment identifier" msgstr "Identificador do fragmento" -#: ../../library/urllib.parse.rst:123 ../../library/urllib.parse.rst:305 +#: ../../library/urllib.parse.rst:123 ../../library/urllib.parse.rst:309 msgid ":attr:`username`" msgstr ":attr:`username`" -#: ../../library/urllib.parse.rst:123 ../../library/urllib.parse.rst:305 +#: ../../library/urllib.parse.rst:123 ../../library/urllib.parse.rst:309 msgid "User name" msgstr "Nome do usuário" #: ../../library/urllib.parse.rst:123 ../../library/urllib.parse.rst:125 #: ../../library/urllib.parse.rst:127 ../../library/urllib.parse.rst:129 -#: ../../library/urllib.parse.rst:305 ../../library/urllib.parse.rst:307 #: ../../library/urllib.parse.rst:309 ../../library/urllib.parse.rst:311 +#: ../../library/urllib.parse.rst:313 ../../library/urllib.parse.rst:315 msgid ":const:`None`" msgstr ":const:`None`" -#: ../../library/urllib.parse.rst:125 ../../library/urllib.parse.rst:307 +#: ../../library/urllib.parse.rst:125 ../../library/urllib.parse.rst:311 msgid ":attr:`password`" msgstr ":attr:`password`" -#: ../../library/urllib.parse.rst:125 ../../library/urllib.parse.rst:307 +#: ../../library/urllib.parse.rst:125 ../../library/urllib.parse.rst:311 msgid "Password" msgstr "Senha" -#: ../../library/urllib.parse.rst:127 ../../library/urllib.parse.rst:309 +#: ../../library/urllib.parse.rst:127 ../../library/urllib.parse.rst:313 msgid ":attr:`hostname`" msgstr ":attr:`hostname`" -#: ../../library/urllib.parse.rst:127 ../../library/urllib.parse.rst:309 +#: ../../library/urllib.parse.rst:127 ../../library/urllib.parse.rst:313 msgid "Host name (lower case)" msgstr "Nome de máquina (em minúsculo)" -#: ../../library/urllib.parse.rst:129 ../../library/urllib.parse.rst:311 +#: ../../library/urllib.parse.rst:129 ../../library/urllib.parse.rst:315 msgid ":attr:`port`" msgstr ":attr:`port`" -#: ../../library/urllib.parse.rst:129 ../../library/urllib.parse.rst:311 +#: ../../library/urllib.parse.rst:129 ../../library/urllib.parse.rst:315 msgid "Port number as integer, if present" msgstr "Número da porta como inteiro, se presente" -#: ../../library/urllib.parse.rst:133 ../../library/urllib.parse.rst:315 +#: ../../library/urllib.parse.rst:133 ../../library/urllib.parse.rst:319 msgid "" "Reading the :attr:`port` attribute will raise a :exc:`ValueError` if an " "invalid port is specified in the URL. See section :ref:`urlparse-result-" @@ -301,15 +304,15 @@ msgstr "" "inválida for especificada no URL. Veja a seção :ref:`urlparse-result-object` " "para mais informações sobre o objeto de resultado." -#: ../../library/urllib.parse.rst:137 ../../library/urllib.parse.rst:319 +#: ../../library/urllib.parse.rst:137 ../../library/urllib.parse.rst:323 msgid "" -"Unmatched square brackets in the :attr:`netloc` attribute will raise a :exc:" -"`ValueError`." +"Unmatched square brackets in the :attr:`netloc` attribute will raise " +"a :exc:`ValueError`." msgstr "" -"Colchetes sem correspondência no atributo :attr:`netloc` levantará uma :exc:" -"`ValueError`." +"Colchetes sem correspondência no atributo :attr:`netloc` levantará " +"uma :exc:`ValueError`." -#: ../../library/urllib.parse.rst:140 ../../library/urllib.parse.rst:322 +#: ../../library/urllib.parse.rst:140 ../../library/urllib.parse.rst:326 msgid "" "Characters in the :attr:`netloc` attribute that decompose under NFKC " "normalization (as used by the IDNA encoding) into any of ``/``, ``?``, " @@ -324,35 +327,43 @@ msgstr "" #: ../../library/urllib.parse.rst:145 msgid "" "As is the case with all named tuples, the subclass has a few additional " -"methods and attributes that are particularly useful. One such method is :" -"meth:`_replace`. The :meth:`_replace` method will return a new ParseResult " -"object replacing specified fields with new values." +"methods and attributes that are particularly useful. One such method " +"is :meth:`_replace`. The :meth:`_replace` method will return a new " +"ParseResult object replacing specified fields with new values." msgstr "" "Como é o caso com todas as tuplas nomeadas, a subclasse tem alguns métodos e " -"atributos adicionais que são particularmente úteis. Um desses métodos é :" -"meth:`_replace`. O método :meth:`_replace` retornará um novo objeto " +"atributos adicionais que são particularmente úteis. Um desses métodos " +"é :meth:`_replace`. O método :meth:`_replace` retornará um novo objeto " "ParseResult substituindo os campos especificados por novos valores." -#: ../../library/urllib.parse.rst:163 +#: ../../library/urllib.parse.rst:164 +msgid "" +":func:`urlparse` does not perform validation. See :ref:`URL parsing " +"security ` for details." +msgstr "" +":func:`urlparse` não realiza validação. Veja :ref:`Segurança ao analisar " +"URLs ` para detalhes." + +#: ../../library/urllib.parse.rst:167 msgid "Added IPv6 URL parsing capabilities." msgstr "Adicionados recursos de análise de URL IPv6." -#: ../../library/urllib.parse.rst:166 +#: ../../library/urllib.parse.rst:170 msgid "" "The fragment is now parsed for all URL schemes (unless *allow_fragment* is " "false), in accordance with :rfc:`3986`. Previously, an allowlist of schemes " "that support fragments existed." msgstr "" -#: ../../library/urllib.parse.rst:171 ../../library/urllib.parse.rst:330 +#: ../../library/urllib.parse.rst:175 ../../library/urllib.parse.rst:340 msgid "" -"Out-of-range port numbers now raise :exc:`ValueError`, instead of returning :" -"const:`None`." +"Out-of-range port numbers now raise :exc:`ValueError`, instead of " +"returning :const:`None`." msgstr "" "Números de porta fora do intervalo agora levantam :exc:`ValueError`, em vez " "de retornar :const:`None`." -#: ../../library/urllib.parse.rst:175 ../../library/urllib.parse.rst:334 +#: ../../library/urllib.parse.rst:179 ../../library/urllib.parse.rst:344 msgid "" "Characters that affect netloc parsing under NFKC normalization will now " "raise :exc:`ValueError`." @@ -360,12 +371,12 @@ msgstr "" "Os caracteres que afetam a análise de netloc sob normalização NFKC agora " "levantarão :exc:`ValueError`." -#: ../../library/urllib.parse.rst:182 +#: ../../library/urllib.parse.rst:186 msgid "" -"Parse a query string given as a string argument (data of type :mimetype:" -"`application/x-www-form-urlencoded`). Data are returned as a dictionary. " -"The dictionary keys are the unique query variable names and the values are " -"lists of values for each name." +"Parse a query string given as a string argument (data of " +"type :mimetype:`application/x-www-form-urlencoded`). Data are returned as a " +"dictionary. The dictionary keys are the unique query variable names and the " +"values are lists of values for each name." msgstr "" "Analisa uma string de consulta fornecida como um argumento de string (dados " "do tipo :mimetype:`application/x-www-form-urlencoded`). Os dados são " @@ -373,7 +384,7 @@ msgstr "" "variáveis de consulta exclusivos e os valores são listas de valores para " "cada nome." -#: ../../library/urllib.parse.rst:187 ../../library/urllib.parse.rst:232 +#: ../../library/urllib.parse.rst:191 ../../library/urllib.parse.rst:236 msgid "" "The optional argument *keep_blank_values* is a flag indicating whether blank " "values in percent-encoded queries should be treated as blank strings. A true " @@ -388,28 +399,28 @@ msgstr "" "indica que os valores em branco devem ser ignorados e tratados como se não " "tivessem sido incluídos." -#: ../../library/urllib.parse.rst:193 ../../library/urllib.parse.rst:238 +#: ../../library/urllib.parse.rst:197 ../../library/urllib.parse.rst:242 msgid "" "The optional argument *strict_parsing* is a flag indicating what to do with " "parsing errors. If false (the default), errors are silently ignored. If " "true, errors raise a :exc:`ValueError` exception." msgstr "" "O argumento opcional *strict_parsing* é um sinalizador que indica o que " -"fazer com os erros de análise. Se falsO (o padrão), os erros são ignorados " -"silenciosamente. Se verdadeiro, os erros levantam uma exceção :exc:" -"`ValueError`." +"fazer com os erros de análise. Se falso (padrão), os erros são ignorados " +"silenciosamente. Se verdadeiro, os erros levantam uma " +"exceção :exc:`ValueError`." -#: ../../library/urllib.parse.rst:197 ../../library/urllib.parse.rst:242 +#: ../../library/urllib.parse.rst:201 ../../library/urllib.parse.rst:246 msgid "" "The optional *encoding* and *errors* parameters specify how to decode " -"percent-encoded sequences into Unicode characters, as accepted by the :meth:" -"`bytes.decode` method." +"percent-encoded sequences into Unicode characters, as accepted by " +"the :meth:`bytes.decode` method." msgstr "" "Os parâmetros opcionais *encoding* e *errors* especificam como decodificar " "sequências codificadas em porcentagem em caracteres Unicode, conforme aceito " "pelo método :meth:`bytes.decode`." -#: ../../library/urllib.parse.rst:201 ../../library/urllib.parse.rst:246 +#: ../../library/urllib.parse.rst:205 ../../library/urllib.parse.rst:250 msgid "" "The optional argument *max_num_fields* is the maximum number of fields to " "read. If set, then throws a :exc:`ValueError` if there are more than " @@ -419,7 +430,7 @@ msgstr "" "lidos. Se definido, então levanta um :exc:`ValueError` se houver mais de " "*max_num_fields* campos lidos." -#: ../../library/urllib.parse.rst:205 ../../library/urllib.parse.rst:250 +#: ../../library/urllib.parse.rst:209 ../../library/urllib.parse.rst:254 msgid "" "The optional argument *separator* is the symbol to use for separating the " "query arguments. It defaults to ``&``." @@ -427,7 +438,7 @@ msgstr "" "O argumento opcional *separador* é o símbolo a ser usado para separar os " "argumentos da consulta. O padrão é ``&``." -#: ../../library/urllib.parse.rst:208 +#: ../../library/urllib.parse.rst:212 msgid "" "Use the :func:`urllib.parse.urlencode` function (with the ``doseq`` " "parameter set to ``True``) to convert such dictionaries into query strings." @@ -436,36 +447,45 @@ msgstr "" "definido como ``True``) para converter esses dicionários em strings de " "consulta." -#: ../../library/urllib.parse.rst:213 ../../library/urllib.parse.rst:256 +#: ../../library/urllib.parse.rst:217 ../../library/urllib.parse.rst:260 msgid "Add *encoding* and *errors* parameters." msgstr "Adicionado os parâmetros *encoding* e *errors*." -#: ../../library/urllib.parse.rst:216 ../../library/urllib.parse.rst:259 +#: ../../library/urllib.parse.rst:220 ../../library/urllib.parse.rst:263 msgid "Added *max_num_fields* parameter." msgstr "Adicionado o parâmetro *max_num_fields*." -#: ../../library/urllib.parse.rst:219 ../../library/urllib.parse.rst:262 +#: ../../library/urllib.parse.rst:223 ../../library/urllib.parse.rst:266 msgid "" "Added *separator* parameter with the default value of ``&``. Python versions " "earlier than Python 3.10 allowed using both ``;`` and ``&`` as query " "parameter separator. This has been changed to allow only a single separator " "key, with ``&`` as the default separator." msgstr "" +"Adicionado parâmetro *separator* com o valor padrão de ``&``. Versões do " +"Python anteriores ao Python 3.10 permitiam o uso de ``;`` e ``&`` como " +"separador de parâmetro de consulta. Isso foi alterado para permitir apenas " +"uma única chave separadora, com ``&`` como o separador padrão." -#: ../../library/urllib.parse.rst:228 +#: ../../library/urllib.parse.rst:232 msgid "" -"Parse a query string given as a string argument (data of type :mimetype:" -"`application/x-www-form-urlencoded`). Data are returned as a list of name, " -"value pairs." +"Parse a query string given as a string argument (data of " +"type :mimetype:`application/x-www-form-urlencoded`). Data are returned as a " +"list of name, value pairs." msgstr "" +"Analisa uma string de consulta fornecida como um argumento de string (dados " +"do tipo :mimetype:`application/x-www-form-urlencoded`). Os dados são " +"retornados como uma lista de pares de nome e valor." -#: ../../library/urllib.parse.rst:253 +#: ../../library/urllib.parse.rst:257 msgid "" "Use the :func:`urllib.parse.urlencode` function to convert such lists of " "pairs into query strings." msgstr "" +"Use a função :func:`urllib.parse.urlencode` para converter essas listas " +"pares de strings de consulta." -#: ../../library/urllib.parse.rst:271 +#: ../../library/urllib.parse.rst:275 msgid "" "Construct a URL from a tuple as returned by ``urlparse()``. The *parts* " "argument can be any six-item iterable. This may result in a slightly " @@ -473,8 +493,14 @@ msgid "" "unnecessary delimiters (for example, a ``?`` with an empty query; the RFC " "states that these are equivalent)." msgstr "" +"Constrói uma URL a partir de uma tupla conforme retornada por " +"``urlparse()``. O argumento *parts* pode ser qualquer iterável de seis " +"itens. Isso pode resultar em uma URL ligeiramente diferente, mas " +"equivalente, se a URL que foi analisada originalmente tiver delimitadores " +"desnecessários (por exemplo, um ``?`` com uma consulta vazia; o RFC afirma " +"que eles são equivalentes)." -#: ../../library/urllib.parse.rst:280 +#: ../../library/urllib.parse.rst:284 msgid "" "This is similar to :func:`urlparse`, but does not split the params from the " "URL. This should generally be used instead of :func:`urlparse` if the more " @@ -483,24 +509,52 @@ msgid "" "is needed to separate the path segments and parameters. This function " "returns a 5-item :term:`named tuple`::" msgstr "" +"Isto é similar a :func:`urlparse`, mas não divide os parâmetros da URL. Isto " +"deve ser usado geralmente em vez de :func:`urlparse` se a sintaxe de URL " +"mais recente permitindo que parâmetros sejam aplicados a cada segmento da " +"porção *path* da URL (veja :rfc:`2396`) for desejada. Uma função separada é " +"necessária para separar os segmentos de caminho e parâmetros. Esta função " +"retorna uma :term:`tupla nomeada` de 5 itens::" -#: ../../library/urllib.parse.rst:289 ../../library/urllib.parse.rst:393 +#: ../../library/urllib.parse.rst:293 ../../library/urllib.parse.rst:406 msgid "" "The return value is a :term:`named tuple`, its items can be accessed by " "index or as named attributes:" msgstr "" +"O valor de retorno é uma :term:`tupla nomeada`, seus itens podem ser " +"acessados por índice ou como atributos nomeados:" + +#: ../../library/urllib.parse.rst:331 +msgid "" +"Following some of the `WHATWG spec`_ that updates RFC 3986, leading C0 " +"control and space characters are stripped from the URL. ``\\n``, ``\\r`` and " +"tab ``\\t`` characters are removed from the URL at any position." +msgstr "" +"Seguindo algumas das `especificações WHATWG`_ que atualizam o RFC 3986, os " +"caracteres de controle C0 e espaço iniciais são removidos da URL. Os " +"caracteres ``\\n``, ``\\r`` e tab ``\\t`` são removidos da URL em qualquer " +"posição." -#: ../../library/urllib.parse.rst:327 +#: ../../library/urllib.parse.rst:337 msgid "" -"Following the `WHATWG spec`_ that updates RFC 3986, ASCII newline ``\\n``, " -"``\\r`` and tab ``\\t`` characters are stripped from the URL." +":func:`urlsplit` does not perform validation. See :ref:`URL parsing " +"security ` for details." msgstr "" +":func:`urlsplit` não executa validação. Veja :ref:`Segurança ao analisar " +"URLs ` para detalhes." -#: ../../library/urllib.parse.rst:338 +#: ../../library/urllib.parse.rst:348 msgid "ASCII newline and tab characters are stripped from the URL." +msgstr "Caracteres de nova linha e tabulação ASCII são removidos do URL." + +#: ../../library/urllib.parse.rst:351 +msgid "" +"Leading WHATWG C0 control and space characters are stripped from the URL." msgstr "" +"Os caracteres iniciais de espaço e de controle WHATWG C0 são removidos do " +"URL." -#: ../../library/urllib.parse.rst:345 +#: ../../library/urllib.parse.rst:358 msgid "" "Combine the elements of a tuple as returned by :func:`urlsplit` into a " "complete URL as a string. The *parts* argument can be any five-item " @@ -508,146 +562,273 @@ msgid "" "the URL that was parsed originally had unnecessary delimiters (for example, " "a ? with an empty query; the RFC states that these are equivalent)." msgstr "" +"Combina os elementos de uma tupla conforme retornado por :func:`urlsplit` em " +"uma URL completa como uma string. O argumento *parts* pode ser qualquer " +"iterável de cinco itens. Isso pode resultar em uma URL ligeiramente " +"diferente, mas equivalente, se a URL que foi analisada originalmente tiver " +"delimitadores desnecessários (por exemplo, um ? com uma consulta vazia; o " +"RFC afirma que eles são equivalentes)." -#: ../../library/urllib.parse.rst:354 +#: ../../library/urllib.parse.rst:367 msgid "" "Construct a full (\"absolute\") URL by combining a \"base URL\" (*base*) " "with another URL (*url*). Informally, this uses components of the base URL, " "in particular the addressing scheme, the network location and (part of) the " "path, to provide missing components in the relative URL. For example:" msgstr "" +"Constrói uma URL completa (\"absoluta\") combinando uma \"URL base\" " +"(*base*) com outra URL (*url*). Informalmente, isso usa componentes da URL " +"base, em particular o esquema de endereçamento, o local da rede e (parte do) " +"caminho, para fornecer componentes ausentes na URL relativa. Por exemplo:" -#: ../../library/urllib.parse.rst:363 +#: ../../library/urllib.parse.rst:376 msgid "" -"The *allow_fragments* argument has the same meaning and default as for :func:" -"`urlparse`." +"The *allow_fragments* argument has the same meaning and default as " +"for :func:`urlparse`." msgstr "" +"O argumento *allow_fragments* tem o mesmo significado e padrão " +"que :func:`urlparse`." -#: ../../library/urllib.parse.rst:368 +#: ../../library/urllib.parse.rst:381 msgid "" "If *url* is an absolute URL (that is, it starts with ``//`` or ``scheme://" "``), the *url*'s hostname and/or scheme will be present in the result. For " "example:" msgstr "" +"Se *url* for uma URL absoluta (ou seja, começa com ``//`` ou ``scheme://``), " +"o nome do host e/ou esquema da *url* estarão presentes no resultado. Por " +"exemplo:" -#: ../../library/urllib.parse.rst:377 +#: ../../library/urllib.parse.rst:390 msgid "" "If you do not want that behavior, preprocess the *url* with :func:`urlsplit` " "and :func:`urlunsplit`, removing possible *scheme* and *netloc* parts." msgstr "" +"Se você não quiser esse comportamento, pré-processe a *url* " +"com :func:`urlsplit` e :func:`urlunsplit`, removendo possíveis partes " +"*scheme* e *netloc*." -#: ../../library/urllib.parse.rst:383 +#: ../../library/urllib.parse.rst:396 msgid "Behavior updated to match the semantics defined in :rfc:`3986`." msgstr "" +"Comportamento atualizado para corresponder à semântica definida " +"no :rfc:`3986`." -#: ../../library/urllib.parse.rst:388 +#: ../../library/urllib.parse.rst:401 msgid "" "If *url* contains a fragment identifier, return a modified version of *url* " "with no fragment identifier, and the fragment identifier as a separate " "string. If there is no fragment identifier in *url*, return *url* " "unmodified and an empty string." msgstr "" +"Se *url* contiver um identificador de fragmento, retorna uma versão " +"modificada de *url* sem identificador de fragmento, e o identificador de " +"fragmento como uma string separada. Se não houver identificador de fragmento " +"em *url*, retorna *url* não modificado e uma string vazia." -#: ../../library/urllib.parse.rst:399 +#: ../../library/urllib.parse.rst:412 msgid ":attr:`url`" msgstr ":attr:`url`" -#: ../../library/urllib.parse.rst:399 +#: ../../library/urllib.parse.rst:412 msgid "URL with no fragment" -msgstr "" +msgstr "URL com nenhum fragmento" -#: ../../library/urllib.parse.rst:404 +#: ../../library/urllib.parse.rst:417 msgid "" "See section :ref:`urlparse-result-object` for more information on the result " "object." msgstr "" +"Veja a seção :ref:`urlparse-result-object` para obter mais informações sobre " +"o objeto de resultado." -#: ../../library/urllib.parse.rst:407 +#: ../../library/urllib.parse.rst:420 msgid "Result is a structured object rather than a simple 2-tuple." msgstr "" - -#: ../../library/urllib.parse.rst:412 -msgid "" -"Extract the url from a wrapped URL (that is, a string formatted as ````, ````, ``URL:scheme://host/path`` " -"or ``scheme://host/path``). If *url* is not a wrapped URL, it is returned " -"without changes." -msgstr "" - -#: ../../library/urllib.parse.rst:420 +"O resultado é um objeto estruturado em vez de uma simples tupla de 2 " +"elementos." + +#: ../../library/urllib.parse.rst:425 +msgid "" +"Extract the url from a wrapped URL (that is, a string formatted as " +"````, ````, ``URL:scheme://host/" +"path`` or ``scheme://host/path``). If *url* is not a wrapped URL, it is " +"returned without changes." +msgstr "" +"Extrai a URL de uma URL encapsulada (ou seja, uma string formatada como " +"````, ````, " +"``URL:esquema://host/caminho`` ou ``esquema://host/caminho``). Se *url* não " +"for uma URL encapsulada, ela será retornada sem alterações." + +#: ../../library/urllib.parse.rst:433 +msgid "URL parsing security" +msgstr "Segurança ao analisar URLs" + +#: ../../library/urllib.parse.rst:435 +msgid "" +"The :func:`urlsplit` and :func:`urlparse` APIs do not perform **validation** " +"of inputs. They may not raise errors on inputs that other applications " +"consider invalid. They may also succeed on some inputs that might not be " +"considered URLs elsewhere. Their purpose is for practical functionality " +"rather than purity." +msgstr "" +"As APIs :func:`urlsplit` e :func:`urlparse` não realizam **validação** de " +"entradas. Elas podem não levantar erros em entradas que outras aplicações " +"consideram inválidas. Elas também podem ter sucesso em algumas entradas que " +"podem não ser consideradas URLs em outros lugares. Seu propósito é para " +"funcionalidade prática em vez de pureza." + +#: ../../library/urllib.parse.rst:441 +msgid "" +"Instead of raising an exception on unusual input, they may instead return " +"some component parts as empty strings. Or components may contain more than " +"perhaps they should." +msgstr "" +"Em vez de levantar uma exceção em uma entrada incomum, eles podem retornar " +"algumas partes do componente como strings vazias. Ou os componentes podem " +"conter mais do que talvez devessem." + +#: ../../library/urllib.parse.rst:445 +msgid "" +"We recommend that users of these APIs where the values may be used anywhere " +"with security implications code defensively. Do some verification within " +"your code before trusting a returned component part. Does that ``scheme`` " +"make sense? Is that a sensible ``path``? Is there anything strange about " +"that ``hostname``? etc." +msgstr "" +"Recomendamos que os usuários dessas APIs, onde os valores podem ser usados " +"em qualquer lugar com implicações de segurança, codifiquem defensivamente. " +"Faça alguma verificação dentro do seu código antes de confiar em uma parte " +"do componente retornada. Esse ``esquema`` faz sentido? Esse ``caminho`` " +"sensato? Há algo estranho sobre esse ``hostname``? etc." + +#: ../../library/urllib.parse.rst:451 +msgid "" +"What constitutes a URL is not universally well defined. Different " +"applications have different needs and desired constraints. For instance the " +"living `WHATWG spec`_ describes what user facing web clients such as a web " +"browser require. While :rfc:`3986` is more general. These functions " +"incorporate some aspects of both, but cannot be claimed compliant with " +"either. The APIs and existing user code with expectations on specific " +"behaviors predate both standards leading us to be very cautious about making " +"API behavior changes." +msgstr "" +"O que constitui uma URL não é universalmente bem definido. Diferentes " +"aplicações têm diferentes necessidades e restrições desejadas. Por exemplo, " +"a `especificação WHATWG`_ descreve o que os clientes web voltados para o " +"usuário, como um navegador web, exigem. Por outro lado, :rfc:`3986` é mais " +"geral. Essas funções incorporam alguns aspectos de ambos, mas não podem ser " +"reivindicadas como compatíveis com nenhum deles. As APIs e o código de " +"usuário existente com expectativas sobre comportamentos específicos são " +"anteriores a ambos os padrões, o que nos leva a ser muito cautelosos ao " +"fazer alterações no comportamento da API." + +#: ../../library/urllib.parse.rst:462 msgid "Parsing ASCII Encoded Bytes" msgstr "Analisando bytes codificados em ASCII" -#: ../../library/urllib.parse.rst:422 +#: ../../library/urllib.parse.rst:464 msgid "" "The URL parsing functions were originally designed to operate on character " "strings only. In practice, it is useful to be able to manipulate properly " "quoted and encoded URLs as sequences of ASCII bytes. Accordingly, the URL " -"parsing functions in this module all operate on :class:`bytes` and :class:" -"`bytearray` objects in addition to :class:`str` objects." +"parsing functions in this module all operate on :class:`bytes` " +"and :class:`bytearray` objects in addition to :class:`str` objects." msgstr "" +"As funções de análise de URL foram originalmente projetadas para operar " +"somente em strings de caracteres. Na prática, é útil ser capaz de manipular " +"URLs corretamente citadas e codificadas como sequências de bytes ASCII. " +"Consequentemente, todas as funções de análise de URL neste módulo operam em " +"objetos :class:`bytes` e :class:`bytearray` além de objetos :class:`str`." -#: ../../library/urllib.parse.rst:428 +#: ../../library/urllib.parse.rst:470 msgid "" -"If :class:`str` data is passed in, the result will also contain only :class:" -"`str` data. If :class:`bytes` or :class:`bytearray` data is passed in, the " -"result will contain only :class:`bytes` data." +"If :class:`str` data is passed in, the result will also contain " +"only :class:`str` data. If :class:`bytes` or :class:`bytearray` data is " +"passed in, the result will contain only :class:`bytes` data." msgstr "" +"Se dados :class:`str` forem passados, o resultado também conterá apenas " +"dados :class:`str`. Se dados :class:`bytes` ou :class:`bytearray` forem " +"passados, o resultado conterá apenas dados :class:`bytes`." -#: ../../library/urllib.parse.rst:432 +#: ../../library/urllib.parse.rst:474 msgid "" -"Attempting to mix :class:`str` data with :class:`bytes` or :class:" -"`bytearray` in a single function call will result in a :exc:`TypeError` " -"being raised, while attempting to pass in non-ASCII byte values will " -"trigger :exc:`UnicodeDecodeError`." +"Attempting to mix :class:`str` data with :class:`bytes` " +"or :class:`bytearray` in a single function call will result in " +"a :exc:`TypeError` being raised, while attempting to pass in non-ASCII byte " +"values will trigger :exc:`UnicodeDecodeError`." msgstr "" +"Tentar misturar dados :class:`str` com :class:`bytes` ou :class:`bytearray` " +"em uma única chamada de função resultará em uma :exc:`TypeError` sendo " +"levantada, enquanto tentar passar valores de bytes não-ASCII " +"acionará :exc:`UnicodeDecodeError`." -#: ../../library/urllib.parse.rst:437 +#: ../../library/urllib.parse.rst:479 msgid "" -"To support easier conversion of result objects between :class:`str` and :" -"class:`bytes`, all return values from URL parsing functions provide either " -"an :meth:`encode` method (when the result contains :class:`str` data) or a :" -"meth:`decode` method (when the result contains :class:`bytes` data). The " -"signatures of these methods match those of the corresponding :class:`str` " -"and :class:`bytes` methods (except that the default encoding is ``'ascii'`` " -"rather than ``'utf-8'``). Each produces a value of a corresponding type that " -"contains either :class:`bytes` data (for :meth:`encode` methods) or :class:" -"`str` data (for :meth:`decode` methods)." -msgstr "" - -#: ../../library/urllib.parse.rst:448 +"To support easier conversion of result objects between :class:`str` " +"and :class:`bytes`, all return values from URL parsing functions provide " +"either an :meth:`encode` method (when the result contains :class:`str` data) " +"or a :meth:`decode` method (when the result contains :class:`bytes` data). " +"The signatures of these methods match those of the " +"corresponding :class:`str` and :class:`bytes` methods (except that the " +"default encoding is ``'ascii'`` rather than ``'utf-8'``). Each produces a " +"value of a corresponding type that contains either :class:`bytes` data " +"(for :meth:`encode` methods) or :class:`str` data (for :meth:`decode` " +"methods)." +msgstr "" +"Para prover uma conversão mais fácil de objetos de resultado " +"entre :class:`str` e :class:`bytes`, todos os valores de retorno das funções " +"de análise de URL fornecem um método :meth:`encode` (quando o resultado " +"contém dados :class:`str`) ou um método :meth:`decode` (quando o resultado " +"contém dados :class:`bytes`). As assinaturas desses métodos correspondem às " +"dos métodos :class:`str` e :class:`bytes` correspondentes (exceto que a " +"codificação padrão é ``'ascii'`` em vez de ``'utf-8'``). Cada um produz um " +"valor de um tipo correspondente que contém dados :class:`bytes` (para " +"métodos :meth:`encode`) ou dados :class:`str` (para métodos :meth:`decode`)." + +#: ../../library/urllib.parse.rst:490 msgid "" "Applications that need to operate on potentially improperly quoted URLs that " "may contain non-ASCII data will need to do their own decoding from bytes to " "characters before invoking the URL parsing methods." msgstr "" +"Os aplicações que precisam operar em URLs possivelmente envolta em aspas de " +"forma incorreta, e que podem conter dados não ASCII, precisarão fazer sua " +"própria decodificação de bytes para caracteres antes de invocar os métodos " +"de análise de URL." -#: ../../library/urllib.parse.rst:452 +#: ../../library/urllib.parse.rst:494 msgid "" "The behaviour described in this section applies only to the URL parsing " "functions. The URL quoting functions use their own rules when producing or " "consuming byte sequences as detailed in the documentation of the individual " "URL quoting functions." msgstr "" +"O comportamento descrito nesta seção se aplica somente às funções de análise " +"de URL. As funções de aplicação de aspas em URL usam suas próprias regras ao " +"produzir ou consumir sequências de bytes, conforme detalhado na documentação " +"das funções de citação de URL individuais." -#: ../../library/urllib.parse.rst:457 +#: ../../library/urllib.parse.rst:499 msgid "URL parsing functions now accept ASCII encoded byte sequences" msgstr "" +"As funções de análise de URL agora aceitam sequências de bytes codificadas " +"em ASCII" -#: ../../library/urllib.parse.rst:464 +#: ../../library/urllib.parse.rst:506 msgid "Structured Parse Results" msgstr "" -#: ../../library/urllib.parse.rst:466 +#: ../../library/urllib.parse.rst:508 msgid "" -"The result objects from the :func:`urlparse`, :func:`urlsplit` and :func:" -"`urldefrag` functions are subclasses of the :class:`tuple` type. These " -"subclasses add the attributes listed in the documentation for those " +"The result objects from the :func:`urlparse`, :func:`urlsplit` " +"and :func:`urldefrag` functions are subclasses of the :class:`tuple` type. " +"These subclasses add the attributes listed in the documentation for those " "functions, the encoding and decoding support described in the previous " "section, as well as an additional method:" msgstr "" -#: ../../library/urllib.parse.rst:474 +#: ../../library/urllib.parse.rst:516 msgid "" "Return the re-combined version of the original URL as a string. This may " "differ from the original URL in that the scheme may be normalized to lower " @@ -655,72 +836,72 @@ msgid "" "queries, and fragment identifiers will be removed." msgstr "" -#: ../../library/urllib.parse.rst:479 +#: ../../library/urllib.parse.rst:521 msgid "" "For :func:`urldefrag` results, only empty fragment identifiers will be " "removed. For :func:`urlsplit` and :func:`urlparse` results, all noted " "changes will be made to the URL returned by this method." msgstr "" -#: ../../library/urllib.parse.rst:483 +#: ../../library/urllib.parse.rst:525 msgid "" "The result of this method remains unchanged if passed back through the " "original parsing function:" msgstr "" -#: ../../library/urllib.parse.rst:496 +#: ../../library/urllib.parse.rst:538 msgid "" "The following classes provide the implementations of the structured parse " "results when operating on :class:`str` objects:" msgstr "" -#: ../../library/urllib.parse.rst:501 +#: ../../library/urllib.parse.rst:543 msgid "" "Concrete class for :func:`urldefrag` results containing :class:`str` data. " "The :meth:`encode` method returns a :class:`DefragResultBytes` instance." msgstr "" -#: ../../library/urllib.parse.rst:509 +#: ../../library/urllib.parse.rst:551 msgid "" "Concrete class for :func:`urlparse` results containing :class:`str` data. " "The :meth:`encode` method returns a :class:`ParseResultBytes` instance." msgstr "" -#: ../../library/urllib.parse.rst:515 +#: ../../library/urllib.parse.rst:557 msgid "" "Concrete class for :func:`urlsplit` results containing :class:`str` data. " "The :meth:`encode` method returns a :class:`SplitResultBytes` instance." msgstr "" -#: ../../library/urllib.parse.rst:520 +#: ../../library/urllib.parse.rst:562 msgid "" "The following classes provide the implementations of the parse results when " "operating on :class:`bytes` or :class:`bytearray` objects:" msgstr "" -#: ../../library/urllib.parse.rst:525 +#: ../../library/urllib.parse.rst:567 msgid "" "Concrete class for :func:`urldefrag` results containing :class:`bytes` data. " "The :meth:`decode` method returns a :class:`DefragResult` instance." msgstr "" -#: ../../library/urllib.parse.rst:533 +#: ../../library/urllib.parse.rst:575 msgid "" "Concrete class for :func:`urlparse` results containing :class:`bytes` data. " "The :meth:`decode` method returns a :class:`ParseResult` instance." msgstr "" -#: ../../library/urllib.parse.rst:541 +#: ../../library/urllib.parse.rst:583 msgid "" "Concrete class for :func:`urlsplit` results containing :class:`bytes` data. " "The :meth:`decode` method returns a :class:`SplitResult` instance." msgstr "" -#: ../../library/urllib.parse.rst:549 +#: ../../library/urllib.parse.rst:591 msgid "URL Quoting" msgstr "" -#: ../../library/urllib.parse.rst:551 +#: ../../library/urllib.parse.rst:593 msgid "" "The URL quoting functions focus on taking program data and making it safe " "for use as URL components by quoting special characters and appropriately " @@ -729,47 +910,47 @@ msgid "" "isn't already covered by the URL parsing functions above." msgstr "" -#: ../../library/urllib.parse.rst:559 +#: ../../library/urllib.parse.rst:601 msgid "" -"Replace special characters in *string* using the ``%xx`` escape. Letters, " -"digits, and the characters ``'_.-~'`` are never quoted. By default, this " -"function is intended for quoting the path section of a URL. The optional " -"*safe* parameter specifies additional ASCII characters that should not be " -"quoted --- its default value is ``'/'``." +"Replace special characters in *string* using the :samp:`%{xx}` escape. " +"Letters, digits, and the characters ``'_.-~'`` are never quoted. By default, " +"this function is intended for quoting the path section of a URL. The " +"optional *safe* parameter specifies additional ASCII characters that should " +"not be quoted --- its default value is ``'/'``." msgstr "" -#: ../../library/urllib.parse.rst:565 ../../library/urllib.parse.rst:611 -#: ../../library/urllib.parse.rst:640 +#: ../../library/urllib.parse.rst:607 ../../library/urllib.parse.rst:653 +#: ../../library/urllib.parse.rst:682 msgid "*string* may be either a :class:`str` or a :class:`bytes` object." msgstr "" -#: ../../library/urllib.parse.rst:567 +#: ../../library/urllib.parse.rst:609 msgid "" "Moved from :rfc:`2396` to :rfc:`3986` for quoting URL strings. \"~\" is now " "included in the set of unreserved characters." msgstr "" -#: ../../library/urllib.parse.rst:571 +#: ../../library/urllib.parse.rst:613 msgid "" "The optional *encoding* and *errors* parameters specify how to deal with non-" "ASCII characters, as accepted by the :meth:`str.encode` method. *encoding* " "defaults to ``'utf-8'``. *errors* defaults to ``'strict'``, meaning " "unsupported characters raise a :class:`UnicodeEncodeError`. *encoding* and " -"*errors* must not be supplied if *string* is a :class:`bytes`, or a :class:" -"`TypeError` is raised." +"*errors* must not be supplied if *string* is a :class:`bytes`, or " +"a :class:`TypeError` is raised." msgstr "" -#: ../../library/urllib.parse.rst:579 +#: ../../library/urllib.parse.rst:621 msgid "" "Note that ``quote(string, safe, encoding, errors)`` is equivalent to " "``quote_from_bytes(string.encode(encoding, errors), safe)``." msgstr "" -#: ../../library/urllib.parse.rst:582 +#: ../../library/urllib.parse.rst:624 msgid "Example: ``quote('/El Niño/')`` yields ``'/El%20Ni%C3%B1o/'``." msgstr "" -#: ../../library/urllib.parse.rst:587 +#: ../../library/urllib.parse.rst:629 msgid "" "Like :func:`quote`, but also replace spaces with plus signs, as required for " "quoting HTML form values when building up a query string to go into a URL. " @@ -777,74 +958,74 @@ msgid "" "*safe*. It also does not have *safe* default to ``'/'``." msgstr "" -#: ../../library/urllib.parse.rst:592 +#: ../../library/urllib.parse.rst:634 msgid "Example: ``quote_plus('/El Niño/')`` yields ``'%2FEl+Ni%C3%B1o%2F'``." msgstr "" -#: ../../library/urllib.parse.rst:597 +#: ../../library/urllib.parse.rst:639 msgid "" -"Like :func:`quote`, but accepts a :class:`bytes` object rather than a :class:" -"`str`, and does not perform string-to-bytes encoding." +"Like :func:`quote`, but accepts a :class:`bytes` object rather than " +"a :class:`str`, and does not perform string-to-bytes encoding." msgstr "" -#: ../../library/urllib.parse.rst:600 +#: ../../library/urllib.parse.rst:642 msgid "Example: ``quote_from_bytes(b'a&\\xef')`` yields ``'a%26%EF'``." msgstr "" -#: ../../library/urllib.parse.rst:606 +#: ../../library/urllib.parse.rst:648 msgid "" -"Replace ``%xx`` escapes with their single-character equivalent. The optional " -"*encoding* and *errors* parameters specify how to decode percent-encoded " -"sequences into Unicode characters, as accepted by the :meth:`bytes.decode` " -"method." +"Replace :samp:`%{xx}` escapes with their single-character equivalent. The " +"optional *encoding* and *errors* parameters specify how to decode percent-" +"encoded sequences into Unicode characters, as accepted by " +"the :meth:`bytes.decode` method." msgstr "" -#: ../../library/urllib.parse.rst:613 +#: ../../library/urllib.parse.rst:655 msgid "" "*encoding* defaults to ``'utf-8'``. *errors* defaults to ``'replace'``, " "meaning invalid sequences are replaced by a placeholder character." msgstr "" -#: ../../library/urllib.parse.rst:617 +#: ../../library/urllib.parse.rst:659 msgid "Example: ``unquote('/El%20Ni%C3%B1o/')`` yields ``'/El Niño/'``." msgstr "" -#: ../../library/urllib.parse.rst:619 +#: ../../library/urllib.parse.rst:661 msgid "" "*string* parameter supports bytes and str objects (previously only str)." msgstr "" -#: ../../library/urllib.parse.rst:627 +#: ../../library/urllib.parse.rst:669 msgid "" "Like :func:`unquote`, but also replace plus signs with spaces, as required " "for unquoting HTML form values." msgstr "" -#: ../../library/urllib.parse.rst:630 +#: ../../library/urllib.parse.rst:672 msgid "*string* must be a :class:`str`." msgstr "" -#: ../../library/urllib.parse.rst:632 +#: ../../library/urllib.parse.rst:674 msgid "Example: ``unquote_plus('/El+Ni%C3%B1o/')`` yields ``'/El Niño/'``." msgstr "" -#: ../../library/urllib.parse.rst:637 +#: ../../library/urllib.parse.rst:679 msgid "" -"Replace ``%xx`` escapes with their single-octet equivalent, and return a :" -"class:`bytes` object." +"Replace :samp:`%{xx}` escapes with their single-octet equivalent, and return " +"a :class:`bytes` object." msgstr "" -#: ../../library/urllib.parse.rst:642 +#: ../../library/urllib.parse.rst:684 msgid "" "If it is a :class:`str`, unescaped non-ASCII characters in *string* are " "encoded into UTF-8 bytes." msgstr "" -#: ../../library/urllib.parse.rst:645 +#: ../../library/urllib.parse.rst:687 msgid "Example: ``unquote_to_bytes('a%26%EF')`` yields ``b'a&\\xef'``." msgstr "" -#: ../../library/urllib.parse.rst:651 +#: ../../library/urllib.parse.rst:693 msgid "" "Convert a mapping object or a sequence of two-element tuples, which may " "contain :class:`str` or :class:`bytes` objects, to a percent-encoded ASCII " @@ -853,7 +1034,7 @@ msgid "" "be encoded to bytes, otherwise it would result in a :exc:`TypeError`." msgstr "" -#: ../../library/urllib.parse.rst:658 +#: ../../library/urllib.parse.rst:700 msgid "" "The resulting string is a series of ``key=value`` pairs separated by ``'&'`` " "characters, where both *key* and *value* are quoted using the *quote_via* " @@ -866,7 +1047,7 @@ msgid "" "``quote`` and specify a value for *safe*." msgstr "" -#: ../../library/urllib.parse.rst:668 +#: ../../library/urllib.parse.rst:710 msgid "" "When a sequence of two-element tuples is used as the *query* argument, the " "first element of each tuple is a key and the second is a value. The value " @@ -877,49 +1058,49 @@ msgid "" "order of parameter tuples in the sequence." msgstr "" -#: ../../library/urllib.parse.rst:676 +#: ../../library/urllib.parse.rst:718 msgid "" "The *safe*, *encoding*, and *errors* parameters are passed down to " "*quote_via* (the *encoding* and *errors* parameters are only passed when a " "query element is a :class:`str`)." msgstr "" -#: ../../library/urllib.parse.rst:680 +#: ../../library/urllib.parse.rst:722 msgid "" "To reverse this encoding process, :func:`parse_qs` and :func:`parse_qsl` are " "provided in this module to parse query strings into Python data structures." msgstr "" -#: ../../library/urllib.parse.rst:683 +#: ../../library/urllib.parse.rst:725 msgid "" -"Refer to :ref:`urllib examples ` to find out how the :func:" -"`urllib.parse.urlencode` method can be used for generating the query string " -"of a URL or data for a POST request." +"Refer to :ref:`urllib examples ` to find out how " +"the :func:`urllib.parse.urlencode` method can be used for generating the " +"query string of a URL or data for a POST request." msgstr "" -#: ../../library/urllib.parse.rst:687 +#: ../../library/urllib.parse.rst:729 msgid "*query* supports bytes and string objects." msgstr "" -#: ../../library/urllib.parse.rst:690 -msgid "*quote_via* parameter." +#: ../../library/urllib.parse.rst:732 +msgid "Added the *quote_via* parameter." msgstr "" -#: ../../library/urllib.parse.rst:698 +#: ../../library/urllib.parse.rst:740 msgid "`WHATWG`_ - URL Living standard" msgstr "" -#: ../../library/urllib.parse.rst:697 +#: ../../library/urllib.parse.rst:739 msgid "" "Working Group for the URL Standard that defines URLs, domains, IP addresses, " "the application/x-www-form-urlencoded format, and their API." msgstr "" -#: ../../library/urllib.parse.rst:704 +#: ../../library/urllib.parse.rst:746 msgid ":rfc:`3986` - Uniform Resource Identifiers" msgstr "" -#: ../../library/urllib.parse.rst:701 +#: ../../library/urllib.parse.rst:743 msgid "" "This is the current standard (STD66). Any changes to urllib.parse module " "should conform to this. Certain deviations could be observed, which are " @@ -927,58 +1108,58 @@ msgid "" "requirements as commonly observed in major browsers." msgstr "" -#: ../../library/urllib.parse.rst:707 +#: ../../library/urllib.parse.rst:749 msgid ":rfc:`2732` - Format for Literal IPv6 Addresses in URL's." msgstr "" -#: ../../library/urllib.parse.rst:707 +#: ../../library/urllib.parse.rst:749 msgid "This specifies the parsing requirements of IPv6 URLs." msgstr "" -#: ../../library/urllib.parse.rst:711 +#: ../../library/urllib.parse.rst:753 msgid ":rfc:`2396` - Uniform Resource Identifiers (URI): Generic Syntax" msgstr "" -#: ../../library/urllib.parse.rst:710 +#: ../../library/urllib.parse.rst:752 msgid "" "Document describing the generic syntactic requirements for both Uniform " "Resource Names (URNs) and Uniform Resource Locators (URLs)." msgstr "" -#: ../../library/urllib.parse.rst:714 +#: ../../library/urllib.parse.rst:756 msgid ":rfc:`2368` - The mailto URL scheme." -msgstr "" +msgstr ":rfc:`2368` - O esquema de URL mailto." -#: ../../library/urllib.parse.rst:714 +#: ../../library/urllib.parse.rst:756 msgid "Parsing requirements for mailto URL schemes." msgstr "" -#: ../../library/urllib.parse.rst:719 +#: ../../library/urllib.parse.rst:761 msgid ":rfc:`1808` - Relative Uniform Resource Locators" msgstr "" -#: ../../library/urllib.parse.rst:717 +#: ../../library/urllib.parse.rst:759 msgid "" "This Request For Comments includes the rules for joining an absolute and a " "relative URL, including a fair number of \"Abnormal Examples\" which govern " "the treatment of border cases." msgstr "" -#: ../../library/urllib.parse.rst:721 +#: ../../library/urllib.parse.rst:763 msgid ":rfc:`1738` - Uniform Resource Locators (URL)" msgstr "" -#: ../../library/urllib.parse.rst:722 +#: ../../library/urllib.parse.rst:764 msgid "This specifies the formal syntax and semantics of absolute URLs." msgstr "" #: ../../library/urllib.parse.rst:9 msgid "WWW" -msgstr "" +msgstr "WWW" #: ../../library/urllib.parse.rst:9 msgid "World Wide Web" -msgstr "" +msgstr "World Wide Web" #: ../../library/urllib.parse.rst:9 msgid "URL" @@ -990,4 +1171,4 @@ msgstr "" #: ../../library/urllib.parse.rst:9 msgid "relative" -msgstr "" +msgstr "relativa" diff --git a/library/urllib.po b/library/urllib.po index 9e5790e2b..0d7a2443f 100644 --- a/library/urllib.po +++ b/library/urllib.po @@ -1,26 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Marco Rougeth , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -46,7 +45,7 @@ msgstr ":mod:`urllib.request` para abrir e ler URLs" msgid "" ":mod:`urllib.error` containing the exceptions raised by :mod:`urllib.request`" msgstr "" -":mod:`urllib.error` containing the exceptions raised by :mod:`urllib.request`" +":mod:`urllib.error` contendo as exceções levantadas por :mod:`urllib.request`" #: ../../library/urllib.rst:14 msgid ":mod:`urllib.parse` for parsing URLs" diff --git a/library/urllib.request.po b/library/urllib.request.po index 2e4bb6cbd..13491c264 100644 --- a/library/urllib.request.po +++ b/library/urllib.request.po @@ -1,29 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-21 21:52+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -53,6 +50,19 @@ msgstr "" "O `pacote Requests `_ é " "recomendado para uma interface alto nível de cliente HTTP." +#: ../../library/urllib.request.rst:26 +msgid "" +"On macOS it is unsafe to use this module in programs using :func:`os.fork` " +"because the :func:`getproxies` implementation for macOS uses a higher-level " +"system API. Set the environment variable ``no_proxy`` to ``*`` to avoid this " +"problem (e.g. ``os.environ[\"no_proxy\"] = \"*\"``)." +msgstr "" +"No macOS, não é seguro usar este módulo em programas que " +"utilizam :func:`os.fork` porque a implementação :func:`getproxies` para " +"macOS utiliza uma API de sistema de nível mais alto. Defina a variável de " +"ambiente ``no_proxy`` como ``*`` para evitar esse problema (por exemplo, " +"``os.environ[\"no_proxy\"] = \"*\"``)." + #: ../../includes/wasm-notavail.rst:3 msgid ":ref:`Availability `: not Emscripten, not WASI." msgstr ":ref:`Disponibilidade `: não Emscripten, não WASI." @@ -67,35 +77,37 @@ msgstr "" "``wasm32-emscripten`` e ``wasm32-wasi``. Veja :ref:`wasm-availability` para " "mais informações." -#: ../../library/urllib.request.rst:26 +#: ../../library/urllib.request.rst:34 msgid "The :mod:`urllib.request` module defines the following functions:" msgstr "O módulo :mod:`urllib.request` define as seguintes funções:" -#: ../../library/urllib.request.rst:31 +#: ../../library/urllib.request.rst:39 msgid "" "Open *url*, which can be either a string containing a valid, properly " "encoded URL, or a :class:`Request` object." msgstr "" +"Abre *url*, que pode ser uma string contendo uma URL válida e devidamente " +"codificada, ou um objeto :class:`Request`." -#: ../../library/urllib.request.rst:34 +#: ../../library/urllib.request.rst:42 msgid "" "*data* must be an object specifying additional data to be sent to the " "server, or ``None`` if no such data is needed. See :class:`Request` for " "details." msgstr "" "*data* deve ser um objeto que especifique dados adicionais a serem enviados " -"ao servidor ou ``None``, se nenhum dado for necessário. Veja :class:" -"`Request` para detalhes." +"ao servidor ou ``None``, se nenhum dado for necessário. " +"Veja :class:`Request` para detalhes." -#: ../../library/urllib.request.rst:38 +#: ../../library/urllib.request.rst:46 msgid "" "urllib.request module uses HTTP/1.1 and includes ``Connection:close`` header " "in its HTTP requests." msgstr "" -"O módulo urllib.request usa HTTP/1.1 e inclui o cabeçalho ``Connection:" -"close`` em suas solicitações HTTP." +"O módulo urllib.request usa HTTP/1.1 e inclui o cabeçalho " +"``Connection:close`` em suas solicitações HTTP." -#: ../../library/urllib.request.rst:41 +#: ../../library/urllib.request.rst:49 msgid "" "The optional *timeout* parameter specifies a timeout in seconds for blocking " "operations like the connection attempt (if not specified, the global default " @@ -107,114 +119,114 @@ msgstr "" "configuração de tempo limite padrão global será usada). Na verdade, isso só " "funciona para conexões HTTP, HTTPS e FTP." -#: ../../library/urllib.request.rst:46 +#: ../../library/urllib.request.rst:54 msgid "" "If *context* is specified, it must be a :class:`ssl.SSLContext` instance " -"describing the various SSL options. See :class:`~http.client." -"HTTPSConnection` for more details." +"describing the various SSL options. " +"See :class:`~http.client.HTTPSConnection` for more details." msgstr "" -"Se *context* for especificado, deve ser uma instância de :class:`ssl." -"SSLContext` descrevendo as várias opções SSL. Veja :class:`~http.client." -"HTTPSConnection` para mais detalhes." +"Se *context* for especificado, deve ser uma instância " +"de :class:`ssl.SSLContext` descrevendo as várias opções SSL. " +"Veja :class:`~http.client.HTTPSConnection` para mais detalhes." -#: ../../library/urllib.request.rst:50 +#: ../../library/urllib.request.rst:58 msgid "" "The optional *cafile* and *capath* parameters specify a set of trusted CA " "certificates for HTTPS requests. *cafile* should point to a single file " "containing a bundle of CA certificates, whereas *capath* should point to a " -"directory of hashed certificate files. More information can be found in :" -"meth:`ssl.SSLContext.load_verify_locations`." +"directory of hashed certificate files. More information can be found " +"in :meth:`ssl.SSLContext.load_verify_locations`." msgstr "" "Os parâmetros opcionais *cafile* e *capath* especificam um conjunto de " "certificados de AC confiáveis para solicitações HTTPS. *cafile* deve apontar " "para um único arquivo contendo um pacote de certificados de AC, enquanto " "*capath* deve apontar para um diretório de arquivos de certificado em hash. " -"Mais informações podem ser encontradas em :meth:`ssl.SSLContext." -"load_verify_locations`." +"Mais informações podem ser encontradas " +"em :meth:`ssl.SSLContext.load_verify_locations`." -#: ../../library/urllib.request.rst:56 +#: ../../library/urllib.request.rst:64 msgid "The *cadefault* parameter is ignored." msgstr "O parâmetro *cadefault* é ignorado." -#: ../../library/urllib.request.rst:58 +#: ../../library/urllib.request.rst:66 msgid "" "This function always returns an object which can work as a :term:`context " -"manager` and has the properties *url*, *headers*, and *status*. See :class:" -"`urllib.response.addinfourl` for more detail on these properties." -msgstr "" -"Esta função sempre retorna um objeto que pode funcionar como um :term:" -"`gerenciador de contexto` e tem as propriedades *url*, *headers* e *status*. " -"Veja :class:`urllib.response.addinfourl` para mais detalhes sobre essas " -"propriedades." - -#: ../../library/urllib.request.rst:62 -msgid "" -"For HTTP and HTTPS URLs, this function returns a :class:`http.client." -"HTTPResponse` object slightly modified. In addition to the three new methods " -"above, the msg attribute contains the same information as the :attr:`~http." -"client.HTTPResponse.reason` attribute --- the reason phrase returned by " -"server --- instead of the response headers as it is specified in the " -"documentation for :class:`~http.client.HTTPResponse`." -msgstr "" -"Para URLs HTTP e HTTPS, esta função retorna um objeto :class:`http.client." -"HTTPResponse` ligeiramente modificado. Além dos três novos métodos acima, o " -"atributo msg contém as mesmas informações que o atributo :attr:`~http.client." -"HTTPResponse.reason` --- a frase de razão retornada pelo servidor --- em vez " -"dos cabeçalhos de resposta como é especificado na documentação para :class:" -"`~http.client.HTTPResponse`." +"manager` and has the properties *url*, *headers*, and *status*. " +"See :class:`urllib.response.addinfourl` for more detail on these properties." +msgstr "" +"Esta função sempre retorna um objeto que pode funcionar como " +"um :term:`gerenciador de contexto` e tem as propriedades *url*, *headers* e " +"*status*. Veja :class:`urllib.response.addinfourl` para mais detalhes sobre " +"essas propriedades." #: ../../library/urllib.request.rst:70 msgid "" -"For FTP, file, and data URLs and requests explicitly handled by legacy :" -"class:`URLopener` and :class:`FancyURLopener` classes, this function returns " -"a :class:`urllib.response.addinfourl` object." +"For HTTP and HTTPS URLs, this function returns " +"a :class:`http.client.HTTPResponse` object slightly modified. In addition to " +"the three new methods above, the msg attribute contains the same information " +"as the :attr:`~http.client.HTTPResponse.reason` attribute --- the reason " +"phrase returned by server --- instead of the response headers as it is " +"specified in the documentation for :class:`~http.client.HTTPResponse`." +msgstr "" +"Para URLs HTTP e HTTPS, esta função retorna um " +"objeto :class:`http.client.HTTPResponse` ligeiramente modificado. Além dos " +"três novos métodos acima, o atributo msg contém as mesmas informações que o " +"atributo :attr:`~http.client.HTTPResponse.reason` --- a frase de razão " +"retornada pelo servidor --- em vez dos cabeçalhos de resposta como é " +"especificado na documentação para :class:`~http.client.HTTPResponse`." + +#: ../../library/urllib.request.rst:78 +msgid "" +"For FTP, file, and data URLs and requests explicitly handled by " +"legacy :class:`URLopener` and :class:`FancyURLopener` classes, this function " +"returns a :class:`urllib.response.addinfourl` object." msgstr "" "Para FTP, arquivo e URLs de dados e solicitações explicitamente tratadas " "pelas classes legadas :class:`URLopener` e :class:`FancyURLopener`, esta " "função retorna um objeto :class:`urllib.response.addinfourl`." -#: ../../library/urllib.request.rst:74 +#: ../../library/urllib.request.rst:82 msgid "Raises :exc:`~urllib.error.URLError` on protocol errors." msgstr "" "Levanta :exc:`~urllib.error.URLError` quando ocorrer erros de protocolo." -#: ../../library/urllib.request.rst:76 +#: ../../library/urllib.request.rst:84 msgid "" "Note that ``None`` may be returned if no handler handles the request (though " -"the default installed global :class:`OpenerDirector` uses :class:" -"`UnknownHandler` to ensure this never happens)." +"the default installed global :class:`OpenerDirector` " +"uses :class:`UnknownHandler` to ensure this never happens)." msgstr "" "Observe que ``None`` pode ser retornado se nenhum manipulador lidar com a " -"solicitação (embora a :class:`OpenerDirector` global instalada padrão use :" -"class:`UnknownHandler` para garantir que isso nunca aconteça)." +"solicitação (embora a :class:`OpenerDirector` global instalada padrão " +"use :class:`UnknownHandler` para garantir que isso nunca aconteça)." -#: ../../library/urllib.request.rst:80 +#: ../../library/urllib.request.rst:88 msgid "" "In addition, if proxy settings are detected (for example, when a ``*_proxy`` " -"environment variable like :envvar:`http_proxy` is set), :class:" -"`ProxyHandler` is default installed and makes sure the requests are handled " -"through the proxy." +"environment variable like :envvar:`!http_proxy` is " +"set), :class:`ProxyHandler` is default installed and makes sure the requests " +"are handled through the proxy." msgstr "" "Além disso, se as configurações de proxy forem detectadas (por exemplo, " -"quando uma variável de ambiente ``*_proxy`` como :envvar:`http_proxy` é " +"quando uma variável de ambiente ``*_proxy`` como :envvar:`!http_proxy` é " "definida), :class:`ProxyHandler` é instalado por padrão e garante que as " -"solicitações sejam tratadas por meio o proxy." +"solicitações sejam manipuladas pelo proxy." -#: ../../library/urllib.request.rst:85 +#: ../../library/urllib.request.rst:93 msgid "" "The legacy ``urllib.urlopen`` function from Python 2.6 and earlier has been " "discontinued; :func:`urllib.request.urlopen` corresponds to the old " "``urllib2.urlopen``. Proxy handling, which was done by passing a dictionary " -"parameter to ``urllib.urlopen``, can be obtained by using :class:" -"`ProxyHandler` objects." +"parameter to ``urllib.urlopen``, can be obtained by " +"using :class:`ProxyHandler` objects." msgstr "" "A função legada ``urllib.urlopen`` do Python 2.6 e anteriores foi " -"descontinuada; :func:`urllib.request.urlopen` corresponde à antiga ``urllib2." -"urlopen``. O tratamento de proxy, que foi feito passando um parâmetro de " -"dicionário para ``urllib.urlopen``, pode ser obtido usando objetos :class:" -"`ProxyHandler`." +"descontinuada; :func:`urllib.request.urlopen` corresponde à antiga " +"``urllib2.urlopen``. O tratamento de proxy, que foi feito passando um " +"parâmetro de dicionário para ``urllib.urlopen``, pode ser obtido usando " +"objetos :class:`ProxyHandler`." -#: ../../library/urllib.request.rst:100 +#: ../../library/urllib.request.rst:110 msgid "" "Raises an :ref:`auditing event ` ``urllib.Request`` with arguments " "``fullurl``, ``data``, ``headers``, ``method``." @@ -222,68 +234,79 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``urllib.Request`` com " "argumentos ``fullurl``, ``data``, ``headers``, ``method``." -#: ../../library/urllib.request.rst:93 +#: ../../library/urllib.request.rst:101 msgid "" -"The default opener raises an :ref:`auditing event ` ``urllib." -"Request`` with arguments ``fullurl``, ``data``, ``headers``, ``method`` " -"taken from the request object." +"The default opener raises an :ref:`auditing event ` " +"``urllib.Request`` with arguments ``fullurl``, ``data``, ``headers``, " +"``method`` taken from the request object." msgstr "" -"O abridor padrão levanta um :ref:`evento de auditoria` ``urllib." -"Request`` com argumentos ``fullurl``, ``data``, ``headers``, ``method`` " -"obtidos do objeto de requisição." +"O abridor padrão levanta um :ref:`evento de auditoria` " +"``urllib.Request`` com os argumentos ``fullurl``, ``data``, ``headers``, " +"``method`` obtidos do objeto de requisição." -#: ../../library/urllib.request.rst:97 +#: ../../library/urllib.request.rst:105 msgid "*cafile* and *capath* were added." msgstr "*cafile* e *capath* foram adicionados." -#: ../../library/urllib.request.rst:100 +#: ../../library/urllib.request.rst:108 msgid "" -"HTTPS virtual hosts are now supported if possible (that is, if :data:`ssl." -"HAS_SNI` is true)." +"HTTPS virtual hosts are now supported if possible (that is, " +"if :const:`ssl.HAS_SNI` is true)." msgstr "" -"Hosts virtuais HTTPS agora são suportados, se possível (ou seja, se :data:" -"`ssl.HAS_SNI` for verdadeiro)." +"Hosts virtuais HTTPS agora são suportados, se possível (ou seja, " +"se :const:`ssl.HAS_SNI` for verdadeiro)." -#: ../../library/urllib.request.rst:104 +#: ../../library/urllib.request.rst:111 msgid "*data* can be an iterable object." msgstr "*data* pode ser um objeto iterável." -#: ../../library/urllib.request.rst:107 +#: ../../library/urllib.request.rst:113 msgid "*cadefault* was added." msgstr "*cadefault* foi adicionado." -#: ../../library/urllib.request.rst:110 +#: ../../library/urllib.request.rst:116 msgid "*context* was added." msgstr "*context* foi adicionado." -#: ../../library/urllib.request.rst:113 +#: ../../library/urllib.request.rst:119 msgid "" -"HTTPS connection now send an ALPN extension with protocol indicator " -"``http/1.1`` when no *context* is given. Custom *context* should set ALPN " -"protocols with :meth:`~ssl.SSLContext.set_alpn_protocol`." +"HTTPS connection now send an ALPN extension with protocol indicator ``http/" +"1.1`` when no *context* is given. Custom *context* should set ALPN protocols " +"with :meth:`~ssl.SSLContext.set_alpn_protocols`." msgstr "" +"A conexão HTTPS agora envia uma extensão ALPN com o indicador de protocolo " +"``http/1.1`` quando nenhum *context* é fornecido. *context* personalizado " +"deve definir protocolos ALPN com :meth:`~ssl.SSLContext.set_alpn_protocols`." -#: ../../library/urllib.request.rst:120 +#: ../../library/urllib.request.rst:126 msgid "" "*cafile*, *capath* and *cadefault* are deprecated in favor of *context*. " -"Please use :meth:`ssl.SSLContext.load_cert_chain` instead, or let :func:`ssl." -"create_default_context` select the system's trusted CA certificates for you." +"Please use :meth:`ssl.SSLContext.load_cert_chain` instead, or " +"let :func:`ssl.create_default_context` select the system's trusted CA " +"certificates for you." msgstr "" "*cafile*, *capath* e *cadefault* estão descontinuados em favor de *context*. " "Por favor, em vez disso, utilize :meth:`ssl.SSLContext.load_cert_chain` ou " "deixe :func:`ssl.create_default_context` selecionar os certificados AC " "confiáveis do sistema para você." -#: ../../library/urllib.request.rst:128 +#: ../../library/urllib.request.rst:134 msgid "" "Install an :class:`OpenerDirector` instance as the default global opener. " "Installing an opener is only necessary if you want urlopen to use that " -"opener; otherwise, simply call :meth:`OpenerDirector.open` instead of :func:" -"`~urllib.request.urlopen`. The code does not check for a real :class:" -"`OpenerDirector`, and any class with the appropriate interface will work." +"opener; otherwise, simply call :meth:`OpenerDirector.open` instead " +"of :func:`~urllib.request.urlopen`. The code does not check for a " +"real :class:`OpenerDirector`, and any class with the appropriate interface " +"will work." msgstr "" +"Instala uma instância de :class:`OpenerDirector` como o abridor global " +"padrão. A instalação de um abridor só é necessária se você quiser que o " +"urlopen o utilize; caso contrário, basta chamar :meth:`OpenerDirector.open` " +"em vez de :func:`~urllib.request.urlopen`. O código não verifica se há " +"um :class:`OpenerDirector` real, e qualquer classe com a interface " +"apropriada funcionará." -#: ../../library/urllib.request.rst:138 +#: ../../library/urllib.request.rst:144 msgid "" "Return an :class:`OpenerDirector` instance, which chains the handlers in the " "order given. *handler*\\s can be either instances of :class:`BaseHandler`, " @@ -291,40 +314,38 @@ msgid "" "call the constructor without any parameters). Instances of the following " "classes will be in front of the *handler*\\s, unless the *handler*\\s " "contain them, instances of them or subclasses of them: :class:`ProxyHandler` " -"(if proxy settings are detected), :class:`UnknownHandler`, :class:" -"`HTTPHandler`, :class:`HTTPDefaultErrorHandler`, :class:" -"`HTTPRedirectHandler`, :class:`FTPHandler`, :class:`FileHandler`, :class:" -"`HTTPErrorProcessor`." +"(if proxy settings are " +"detected), :class:`UnknownHandler`, :class:`HTTPHandler`, :class:`HTTPDefaultErrorHandler`, :class:`HTTPRedirectHandler`, :class:`FTPHandler`, :class:`FileHandler`, :class:`HTTPErrorProcessor`." msgstr "" -#: ../../library/urllib.request.rst:148 +#: ../../library/urllib.request.rst:154 msgid "" "If the Python installation has SSL support (i.e., if the :mod:`ssl` module " "can be imported), :class:`HTTPSHandler` will also be added." msgstr "" -#: ../../library/urllib.request.rst:151 +#: ../../library/urllib.request.rst:157 msgid "" "A :class:`BaseHandler` subclass may also change its :attr:`handler_order` " "attribute to modify its position in the handlers list." msgstr "" -#: ../../library/urllib.request.rst:157 +#: ../../library/urllib.request.rst:163 msgid "" "Convert the pathname *path* from the local syntax for a path to the form " "used in the path component of a URL. This does not produce a complete URL. " -"The return value will already be quoted using the :func:`~urllib.parse." -"quote` function." +"The return value will already be quoted using " +"the :func:`~urllib.parse.quote` function." msgstr "" -#: ../../library/urllib.request.rst:164 +#: ../../library/urllib.request.rst:170 msgid "" "Convert the path component *path* from a percent-encoded URL to the local " "syntax for a path. This does not accept a complete URL. This function " "uses :func:`~urllib.parse.unquote` to decode *path*." msgstr "" -#: ../../library/urllib.request.rst:170 +#: ../../library/urllib.request.rst:176 msgid "" "This helper function returns a dictionary of scheme to proxy server URL " "mappings. It scans the environment for variables named ``_proxy``, " @@ -334,7 +355,7 @@ msgid "" "uppercase environment variables exist (and disagree), lowercase is preferred." msgstr "" -#: ../../library/urllib.request.rst:180 +#: ../../library/urllib.request.rst:186 msgid "" "If the environment variable ``REQUEST_METHOD`` is set, which usually " "indicates your script is running in a CGI environment, the environment " @@ -345,19 +366,19 @@ msgid "" "(or at least the ``_proxy`` suffix)." msgstr "" -#: ../../library/urllib.request.rst:189 +#: ../../library/urllib.request.rst:195 msgid "The following classes are provided:" -msgstr "" +msgstr "As seguintes classes são disponibilizadas:" -#: ../../library/urllib.request.rst:193 +#: ../../library/urllib.request.rst:199 msgid "This class is an abstraction of a URL request." msgstr "" -#: ../../library/urllib.request.rst:195 +#: ../../library/urllib.request.rst:201 msgid "*url* should be a string containing a valid, properly encoded URL." msgstr "" -#: ../../library/urllib.request.rst:197 +#: ../../library/urllib.request.rst:203 msgid "" "*data* must be an object specifying additional data to send to the server, " "or ``None`` if no such data is needed. Currently HTTP requests are the only " @@ -370,21 +391,21 @@ msgid "" "iterables." msgstr "" -#: ../../library/urllib.request.rst:207 +#: ../../library/urllib.request.rst:213 msgid "" -"For an HTTP POST request method, *data* should be a buffer in the standard :" -"mimetype:`application/x-www-form-urlencoded` format. The :func:`urllib." -"parse.urlencode` function takes a mapping or sequence of 2-tuples and " -"returns an ASCII string in this format. It should be encoded to bytes before " -"being used as the *data* parameter." +"For an HTTP POST request method, *data* should be a buffer in the " +"standard :mimetype:`application/x-www-form-urlencoded` format. " +"The :func:`urllib.parse.urlencode` function takes a mapping or sequence of 2-" +"tuples and returns an ASCII string in this format. It should be encoded to " +"bytes before being used as the *data* parameter." msgstr "" -#: ../../library/urllib.request.rst:213 +#: ../../library/urllib.request.rst:219 msgid "" -"*headers* should be a dictionary, and will be treated as if :meth:" -"`add_header` was called with each key and value as arguments. This is often " -"used to \"spoof\" the ``User-Agent`` header value, which is used by a " -"browser to identify itself -- some HTTP servers only allow requests coming " +"*headers* should be a dictionary, and will be treated as " +"if :meth:`add_header` was called with each key and value as arguments. This " +"is often used to \"spoof\" the ``User-Agent`` header value, which is used by " +"a browser to identify itself -- some HTTP servers only allow requests coming " "from common browsers as opposed to scripts. For example, Mozilla Firefox may " "identify itself as ``\"Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 " "Firefox/2.0.0.11\"``, while :mod:`urllib`'s default user agent string is " @@ -392,7 +413,7 @@ msgid "" "case." msgstr "" -#: ../../library/urllib.request.rst:224 +#: ../../library/urllib.request.rst:230 msgid "" "An appropriate ``Content-Type`` header should be included if the *data* " "argument is present. If this header has not been provided and *data* is not " @@ -400,23 +421,23 @@ msgid "" "default." msgstr "" -#: ../../library/urllib.request.rst:229 +#: ../../library/urllib.request.rst:235 msgid "" "The next two arguments are only of interest for correct handling of third-" "party HTTP cookies:" msgstr "" -#: ../../library/urllib.request.rst:232 +#: ../../library/urllib.request.rst:238 msgid "" "*origin_req_host* should be the request-host of the origin transaction, as " -"defined by :rfc:`2965`. It defaults to ``http.cookiejar." -"request_host(self)``. This is the host name or IP address of the original " -"request that was initiated by the user. For example, if the request is for " -"an image in an HTML document, this should be the request-host of the request " -"for the page containing the image." +"defined by :rfc:`2965`. It defaults to " +"``http.cookiejar.request_host(self)``. This is the host name or IP address " +"of the original request that was initiated by the user. For example, if the " +"request is for an image in an HTML document, this should be the request-host " +"of the request for the page containing the image." msgstr "" -#: ../../library/urllib.request.rst:240 +#: ../../library/urllib.request.rst:246 msgid "" "*unverifiable* should indicate whether the request is unverifiable, as " "defined by :rfc:`2965`. It defaults to ``False``. An unverifiable request " @@ -425,17 +446,17 @@ msgid "" "option to approve the automatic fetching of the image, this should be true." msgstr "" -#: ../../library/urllib.request.rst:247 +#: ../../library/urllib.request.rst:253 msgid "" "*method* should be a string that indicates the HTTP request method that will " -"be used (e.g. ``'HEAD'``). If provided, its value is stored in the :attr:" -"`~Request.method` attribute and is used by :meth:`get_method()`. The default " -"is ``'GET'`` if *data* is ``None`` or ``'POST'`` otherwise. Subclasses may " -"indicate a different default method by setting the :attr:`~Request.method` " -"attribute in the class itself." +"be used (e.g. ``'HEAD'``). If provided, its value is stored in " +"the :attr:`~Request.method` attribute and is used by :meth:`get_method()`. " +"The default is ``'GET'`` if *data* is ``None`` or ``'POST'`` otherwise. " +"Subclasses may indicate a different default method by setting " +"the :attr:`~Request.method` attribute in the class itself." msgstr "" -#: ../../library/urllib.request.rst:255 +#: ../../library/urllib.request.rst:261 msgid "" "The request will not work as expected if the data object is unable to " "deliver its content more than once (e.g. a file or an iterable that can " @@ -445,49 +466,49 @@ msgid "" "library." msgstr "" -#: ../../library/urllib.request.rst:262 +#: ../../library/urllib.request.rst:268 msgid ":attr:`Request.method` argument is added to the Request class." msgstr "" -#: ../../library/urllib.request.rst:265 +#: ../../library/urllib.request.rst:271 msgid "Default :attr:`Request.method` may be indicated at the class level." msgstr "" -#: ../../library/urllib.request.rst:268 +#: ../../library/urllib.request.rst:274 msgid "" "Do not raise an error if the ``Content-Length`` has not been provided and " "*data* is neither ``None`` nor a bytes object. Fall back to use chunked " "transfer encoding instead." msgstr "" -#: ../../library/urllib.request.rst:275 +#: ../../library/urllib.request.rst:281 msgid "" "The :class:`OpenerDirector` class opens URLs via :class:`BaseHandler`\\ s " "chained together. It manages the chaining of handlers, and recovery from " "errors." msgstr "" -#: ../../library/urllib.request.rst:281 +#: ../../library/urllib.request.rst:287 msgid "" "This is the base class for all registered handlers --- and handles only the " "simple mechanics of registration." msgstr "" -#: ../../library/urllib.request.rst:287 +#: ../../library/urllib.request.rst:293 msgid "" "A class which defines a default handler for HTTP error responses; all " "responses are turned into :exc:`~urllib.error.HTTPError` exceptions." msgstr "" -#: ../../library/urllib.request.rst:293 +#: ../../library/urllib.request.rst:299 msgid "A class to handle redirections." -msgstr "" +msgstr "Uma classe para lidar com redirecionamentos." -#: ../../library/urllib.request.rst:298 +#: ../../library/urllib.request.rst:304 msgid "A class to handle HTTP Cookies." -msgstr "" +msgstr "Classe para lidar com Cookies HTTP." -#: ../../library/urllib.request.rst:303 +#: ../../library/urllib.request.rst:309 msgid "" "Cause requests to go through a proxy. If *proxies* is given, it must be a " "dictionary mapping protocol names to URLs of proxies. The default is to read " @@ -498,11 +519,11 @@ msgid "" "Configuration Framework." msgstr "" -#: ../../library/urllib.request.rst:311 +#: ../../library/urllib.request.rst:317 msgid "To disable autodetected proxy pass an empty dictionary." msgstr "" -#: ../../library/urllib.request.rst:313 +#: ../../library/urllib.request.rst:319 msgid "" "The :envvar:`no_proxy` environment variable can be used to specify hosts " "which shouldn't be reached via proxy; if set, it should be a comma-separated " @@ -510,24 +531,26 @@ msgid "" "``cern.ch,ncsa.uiuc.edu,some.host:8080``." msgstr "" -#: ../../library/urllib.request.rst:320 +#: ../../library/urllib.request.rst:326 msgid "" "``HTTP_PROXY`` will be ignored if a variable ``REQUEST_METHOD`` is set; see " "the documentation on :func:`~urllib.request.getproxies`." msgstr "" +"``HTTP_PROXY`` será ignorado se uma variável ``REQUEST_METHOD`` estiver " +"definida; veja a documentação em :func:`~urllib.request.getproxies`." -#: ../../library/urllib.request.rst:326 +#: ../../library/urllib.request.rst:332 msgid "Keep a database of ``(realm, uri) -> (user, password)`` mappings." msgstr "" -#: ../../library/urllib.request.rst:331 +#: ../../library/urllib.request.rst:337 msgid "" "Keep a database of ``(realm, uri) -> (user, password)`` mappings. A realm " "of ``None`` is considered a catch-all realm, which is searched if no other " "realm fits." msgstr "" -#: ../../library/urllib.request.rst:338 +#: ../../library/urllib.request.rst:344 msgid "" "A variant of :class:`HTTPPasswordMgrWithDefaultRealm` that also has a " "database of ``uri -> is_authenticated`` mappings. Can be used by a " @@ -535,13 +558,13 @@ msgid "" "immediately instead of waiting for a ``401`` response first." msgstr "" -#: ../../library/urllib.request.rst:348 +#: ../../library/urllib.request.rst:354 msgid "" "This is a mixin class that helps with HTTP authentication, both to the " "remote host and to a proxy. *password_mgr*, if given, should be something " -"that is compatible with :class:`HTTPPasswordMgr`; refer to section :ref:" -"`http-password-mgr` for information on the interface that must be " -"supported. If *passwd_mgr* also provides ``is_authenticated`` and " +"that is compatible with :class:`HTTPPasswordMgr`; refer to " +"section :ref:`http-password-mgr` for information on the interface that must " +"be supported. If *passwd_mgr* also provides ``is_authenticated`` and " "``update_authenticated`` methods (see :ref:`http-password-mgr-with-prior-" "auth`), then the handler will use the ``is_authenticated`` result for a " "given URI to determine whether or not to send authentication credentials " @@ -554,11 +577,11 @@ msgid "" "will automatically include the authentication credentials." msgstr "" -#: ../../library/urllib.request.rst:365 +#: ../../library/urllib.request.rst:371 msgid "Added ``is_authenticated`` support." msgstr "" -#: ../../library/urllib.request.rst:371 +#: ../../library/urllib.request.rst:377 msgid "" "Handle authentication with the remote host. *password_mgr*, if given, should " "be something that is compatible with :class:`HTTPPasswordMgr`; refer to " @@ -567,7 +590,7 @@ msgid "" "presented with a wrong Authentication scheme." msgstr "" -#: ../../library/urllib.request.rst:380 ../../library/urllib.request.rst:414 +#: ../../library/urllib.request.rst:386 ../../library/urllib.request.rst:420 msgid "" "Handle authentication with the proxy. *password_mgr*, if given, should be " "something that is compatible with :class:`HTTPPasswordMgr`; refer to " @@ -575,15 +598,16 @@ msgid "" "be supported." msgstr "" -#: ../../library/urllib.request.rst:388 +#: ../../library/urllib.request.rst:394 msgid "" "This is a mixin class that helps with HTTP authentication, both to the " "remote host and to a proxy. *password_mgr*, if given, should be something " -"that is compatible with :class:`HTTPPasswordMgr`; refer to section :ref:" -"`http-password-mgr` for information on the interface that must be supported." +"that is compatible with :class:`HTTPPasswordMgr`; refer to " +"section :ref:`http-password-mgr` for information on the interface that must " +"be supported." msgstr "" -#: ../../library/urllib.request.rst:397 +#: ../../library/urllib.request.rst:403 msgid "" "Handle authentication with the remote host. *password_mgr*, if given, should " "be something that is compatible with :class:`HTTPPasswordMgr`; refer to " @@ -596,108 +620,108 @@ msgid "" "Digest or Basic." msgstr "" -#: ../../library/urllib.request.rst:407 +#: ../../library/urllib.request.rst:413 msgid "Raise :exc:`ValueError` on unsupported Authentication Scheme." msgstr "" -#: ../../library/urllib.request.rst:422 +#: ../../library/urllib.request.rst:428 msgid "A class to handle opening of HTTP URLs." msgstr "" -#: ../../library/urllib.request.rst:427 +#: ../../library/urllib.request.rst:433 msgid "" "A class to handle opening of HTTPS URLs. *context* and *check_hostname* " "have the same meaning as in :class:`http.client.HTTPSConnection`." msgstr "" -#: ../../library/urllib.request.rst:430 +#: ../../library/urllib.request.rst:436 msgid "*context* and *check_hostname* were added." msgstr "" -#: ../../library/urllib.request.rst:436 +#: ../../library/urllib.request.rst:442 msgid "Open local files." msgstr "Abre arquivos locais." -#: ../../library/urllib.request.rst:440 +#: ../../library/urllib.request.rst:446 msgid "Open data URLs." msgstr "Abre dados das URLs." -#: ../../library/urllib.request.rst:446 +#: ../../library/urllib.request.rst:452 msgid "Open FTP URLs." msgstr "Abre URLs de FTP." -#: ../../library/urllib.request.rst:451 +#: ../../library/urllib.request.rst:457 msgid "" "Open FTP URLs, keeping a cache of open FTP connections to minimize delays." msgstr "" -#: ../../library/urllib.request.rst:456 +#: ../../library/urllib.request.rst:462 msgid "A catch-all class to handle unknown URLs." msgstr "" -#: ../../library/urllib.request.rst:461 ../../library/urllib.request.rst:1167 +#: ../../library/urllib.request.rst:467 ../../library/urllib.request.rst:1179 msgid "Process HTTP error responses." msgstr "" -#: ../../library/urllib.request.rst:467 +#: ../../library/urllib.request.rst:473 msgid "Request Objects" msgstr "Objeto Request" -#: ../../library/urllib.request.rst:469 +#: ../../library/urllib.request.rst:475 msgid "" "The following methods describe :class:`Request`'s public interface, and so " "all may be overridden in subclasses. It also defines several public " "attributes that can be used by clients to inspect the parsed request." msgstr "" -#: ../../library/urllib.request.rst:476 +#: ../../library/urllib.request.rst:482 msgid "The original URL passed to the constructor." msgstr "" -#: ../../library/urllib.request.rst:480 +#: ../../library/urllib.request.rst:486 msgid "" -"Request.full_url is a property with setter, getter and a deleter. Getting :" -"attr:`~Request.full_url` returns the original request URL with the fragment, " -"if it was present." +"Request.full_url is a property with setter, getter and a deleter. " +"Getting :attr:`~Request.full_url` returns the original request URL with the " +"fragment, if it was present." msgstr "" -#: ../../library/urllib.request.rst:486 +#: ../../library/urllib.request.rst:492 msgid "The URI scheme." msgstr "" -#: ../../library/urllib.request.rst:490 +#: ../../library/urllib.request.rst:496 msgid "" "The URI authority, typically a host, but may also contain a port separated " "by a colon." msgstr "" -#: ../../library/urllib.request.rst:495 +#: ../../library/urllib.request.rst:501 msgid "The original host for the request, without port." msgstr "" -#: ../../library/urllib.request.rst:499 +#: ../../library/urllib.request.rst:505 msgid "" "The URI path. If the :class:`Request` uses a proxy, then selector will be " "the full URL that is passed to the proxy." msgstr "" -#: ../../library/urllib.request.rst:504 +#: ../../library/urllib.request.rst:510 msgid "The entity body for the request, or ``None`` if not specified." msgstr "" -#: ../../library/urllib.request.rst:506 +#: ../../library/urllib.request.rst:512 msgid "" "Changing value of :attr:`Request.data` now deletes \"Content-Length\" header " "if it was previously set or calculated." msgstr "" -#: ../../library/urllib.request.rst:512 +#: ../../library/urllib.request.rst:518 msgid "" -"boolean, indicates whether the request is unverifiable as defined by :rfc:" -"`2965`." +"boolean, indicates whether the request is unverifiable as defined " +"by :rfc:`2965`." msgstr "" -#: ../../library/urllib.request.rst:517 +#: ../../library/urllib.request.rst:523 msgid "" "The HTTP request method to use. By default its value is :const:`None`, " "which means that :meth:`~Request.get_method` will do its normal computation " @@ -708,25 +732,25 @@ msgid "" "argument." msgstr "" -#: ../../library/urllib.request.rst:527 +#: ../../library/urllib.request.rst:533 msgid "" "A default value can now be set in subclasses; previously it could only be " "set via the constructor argument." msgstr "" -#: ../../library/urllib.request.rst:534 +#: ../../library/urllib.request.rst:540 msgid "" -"Return a string indicating the HTTP request method. If :attr:`Request." -"method` is not ``None``, return its value, otherwise return ``'GET'`` if :" -"attr:`Request.data` is ``None``, or ``'POST'`` if it's not. This is only " -"meaningful for HTTP requests." +"Return a string indicating the HTTP request method. " +"If :attr:`Request.method` is not ``None``, return its value, otherwise " +"return ``'GET'`` if :attr:`Request.data` is ``None``, or ``'POST'`` if it's " +"not. This is only meaningful for HTTP requests." msgstr "" -#: ../../library/urllib.request.rst:539 +#: ../../library/urllib.request.rst:545 msgid "get_method now looks at the value of :attr:`Request.method`." msgstr "" -#: ../../library/urllib.request.rst:545 +#: ../../library/urllib.request.rst:551 msgid "" "Add another header to the request. Headers are currently ignored by all " "handlers except HTTP handlers, where they are added to the list of headers " @@ -738,17 +762,17 @@ msgid "" "headers added using this method are also added to redirected requests." msgstr "" -#: ../../library/urllib.request.rst:557 +#: ../../library/urllib.request.rst:563 msgid "Add a header that will not be added to a redirected request." msgstr "" -#: ../../library/urllib.request.rst:562 +#: ../../library/urllib.request.rst:568 msgid "" "Return whether the instance has the named header (checks both regular and " "unredirected)." msgstr "" -#: ../../library/urllib.request.rst:568 +#: ../../library/urllib.request.rst:574 msgid "" "Remove named header from the request instance (both from regular and " "unredirected headers)." @@ -756,105 +780,105 @@ msgstr "" "Remove o cabeçalho nomeado da instância de solicitação (tanto de cabeçalhos " "regulares como de cabeçalhos não-redirecionados)." -#: ../../library/urllib.request.rst:576 +#: ../../library/urllib.request.rst:582 msgid "Return the URL given in the constructor." msgstr "" -#: ../../library/urllib.request.rst:580 +#: ../../library/urllib.request.rst:586 msgid "Returns :attr:`Request.full_url`" msgstr "" -#: ../../library/urllib.request.rst:585 +#: ../../library/urllib.request.rst:591 msgid "" "Prepare the request by connecting to a proxy server. The *host* and *type* " "will replace those of the instance, and the instance's selector will be the " "original URL given in the constructor." msgstr "" -#: ../../library/urllib.request.rst:592 +#: ../../library/urllib.request.rst:598 msgid "" "Return the value of the given header. If the header is not present, return " "the default value." msgstr "" -#: ../../library/urllib.request.rst:598 +#: ../../library/urllib.request.rst:604 msgid "" "Return a list of tuples (header_name, header_value) of the Request headers." msgstr "" -#: ../../library/urllib.request.rst:600 +#: ../../library/urllib.request.rst:606 msgid "" "The request methods add_data, has_data, get_data, get_type, get_host, " "get_selector, get_origin_req_host and is_unverifiable that were deprecated " "since 3.3 have been removed." msgstr "" -#: ../../library/urllib.request.rst:609 +#: ../../library/urllib.request.rst:615 msgid "OpenerDirector Objects" msgstr "" -#: ../../library/urllib.request.rst:611 +#: ../../library/urllib.request.rst:617 msgid ":class:`OpenerDirector` instances have the following methods:" msgstr "" -#: ../../library/urllib.request.rst:616 +#: ../../library/urllib.request.rst:622 msgid "" "*handler* should be an instance of :class:`BaseHandler`. The following " "methods are searched, and added to the possible chains (note that HTTP " "errors are a special case). Note that, in the following, *protocol* should " -"be replaced with the actual protocol to handle, for example :meth:" -"`http_response` would be the HTTP protocol response handler. Also *type* " -"should be replaced with the actual HTTP code, for example :meth:" -"`http_error_404` would handle HTTP 404 errors." +"be replaced with the actual protocol to handle, for " +"example :meth:`http_response` would be the HTTP protocol response handler. " +"Also *type* should be replaced with the actual HTTP code, for " +"example :meth:`http_error_404` would handle HTTP 404 errors." msgstr "" -#: ../../library/urllib.request.rst:624 +#: ../../library/urllib.request.rst:630 msgid "" -":meth:`_open` --- signal that the handler knows how to open " +":meth:`!_open` --- signal that the handler knows how to open " "*protocol* URLs." msgstr "" -#: ../../library/urllib.request.rst:627 +#: ../../library/urllib.request.rst:633 msgid "See |protocol_open|_ for more information." -msgstr "" +msgstr "Veja |protocol_open|_ para maiores informações." -#: ../../library/urllib.request.rst:629 +#: ../../library/urllib.request.rst:635 msgid "" -":meth:`http_error_\\` --- signal that the handler knows how to " +":meth:`!http_error_\\` --- signal that the handler knows how to " "handle HTTP errors with HTTP error code *type*." msgstr "" -#: ../../library/urllib.request.rst:632 +#: ../../library/urllib.request.rst:638 msgid "See |http_error_nnn|_ for more information." -msgstr "" +msgstr "Veja |http_error_nnn|_ para maiores informações." -#: ../../library/urllib.request.rst:634 +#: ../../library/urllib.request.rst:640 msgid "" -":meth:`_error` --- signal that the handler knows how to handle " +":meth:`!_error` --- signal that the handler knows how to handle " "errors from (non-\\ ``http``) *protocol*." msgstr "" -#: ../../library/urllib.request.rst:637 +#: ../../library/urllib.request.rst:643 msgid "" -":meth:`_request` --- signal that the handler knows how to pre-" +":meth:`!_request` --- signal that the handler knows how to pre-" "process *protocol* requests." msgstr "" -#: ../../library/urllib.request.rst:640 +#: ../../library/urllib.request.rst:646 msgid "See |protocol_request|_ for more information." -msgstr "" +msgstr "Veja |protocol_request|_ para maiores informações." -#: ../../library/urllib.request.rst:642 +#: ../../library/urllib.request.rst:648 msgid "" -":meth:`_response` --- signal that the handler knows how to post-" +":meth:`!_response` --- signal that the handler knows how to post-" "process *protocol* responses." msgstr "" -#: ../../library/urllib.request.rst:645 +#: ../../library/urllib.request.rst:651 msgid "See |protocol_response|_ for more information." -msgstr "" +msgstr "Veja |protocol_response|_ para maiores informações." -#: ../../library/urllib.request.rst:654 +#: ../../library/urllib.request.rst:660 msgid "" "Open the given *url* (which can be a request object or a string), optionally " "passing the given *data*. Arguments, return values and exceptions raised are " @@ -866,161 +890,164 @@ msgid "" "HTTP, HTTPS and FTP connections." msgstr "" -#: ../../library/urllib.request.rst:666 +#: ../../library/urllib.request.rst:672 msgid "" "Handle an error of the given protocol. This will call the registered error " "handlers for the given protocol with the given arguments (which are protocol " "specific). The HTTP protocol is a special case which uses the HTTP response " -"code to determine the specific error handler; refer to the :meth:" -"`http_error_\\` methods of the handler classes." +"code to determine the specific error handler; refer to the :meth:`!" +"http_error_\\` methods of the handler classes." msgstr "" -#: ../../library/urllib.request.rst:672 +#: ../../library/urllib.request.rst:678 msgid "" "Return values and exceptions raised are the same as those of :func:`urlopen`." msgstr "" -#: ../../library/urllib.request.rst:674 +#: ../../library/urllib.request.rst:680 msgid "OpenerDirector objects open URLs in three stages:" msgstr "" -#: ../../library/urllib.request.rst:676 +#: ../../library/urllib.request.rst:682 msgid "" "The order in which these methods are called within each stage is determined " "by sorting the handler instances." msgstr "" -#: ../../library/urllib.request.rst:679 +#: ../../library/urllib.request.rst:685 msgid "" -"Every handler with a method named like :meth:`_request` has that " +"Every handler with a method named like :meth:`!_request` has that " "method called to pre-process the request." msgstr "" -#: ../../library/urllib.request.rst:682 +#: ../../library/urllib.request.rst:688 msgid "" -"Handlers with a method named like :meth:`_open` are called to " -"handle the request. This stage ends when a handler either returns a non-\\ :" -"const:`None` value (ie. a response), or raises an exception (usually :exc:" -"`~urllib.error.URLError`). Exceptions are allowed to propagate." +"Handlers with a method named like :meth:`!_open` are called to " +"handle the request. This stage ends when a handler either returns a non-" +"\\ :const:`None` value (ie. a response), or raises an exception " +"(usually :exc:`~urllib.error.URLError`). Exceptions are allowed to " +"propagate." msgstr "" -#: ../../library/urllib.request.rst:687 +#: ../../library/urllib.request.rst:693 msgid "" -"In fact, the above algorithm is first tried for methods named :meth:" -"`default_open`. If all such methods return :const:`None`, the algorithm is " -"repeated for methods named like :meth:`_open`. If all such " -"methods return :const:`None`, the algorithm is repeated for methods named :" -"meth:`unknown_open`." +"In fact, the above algorithm is first tried for methods " +"named :meth:`~BaseHandler.default_open`. If all such methods " +"return :const:`None`, the algorithm is repeated for methods named " +"like :meth:`!_open`. If all such methods return :const:`None`, " +"the algorithm is repeated for methods " +"named :meth:`~BaseHandler.unknown_open`." msgstr "" -#: ../../library/urllib.request.rst:693 +#: ../../library/urllib.request.rst:699 msgid "" "Note that the implementation of these methods may involve calls of the " -"parent :class:`OpenerDirector` instance's :meth:`~OpenerDirector.open` and :" -"meth:`~OpenerDirector.error` methods." +"parent :class:`OpenerDirector` instance's :meth:`~OpenerDirector.open` " +"and :meth:`~OpenerDirector.error` methods." msgstr "" -#: ../../library/urllib.request.rst:697 +#: ../../library/urllib.request.rst:703 msgid "" -"Every handler with a method named like :meth:`_response` has that " +"Every handler with a method named like :meth:`!_response` has that " "method called to post-process the response." msgstr "" -#: ../../library/urllib.request.rst:704 +#: ../../library/urllib.request.rst:710 msgid "BaseHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:706 +#: ../../library/urllib.request.rst:712 msgid "" ":class:`BaseHandler` objects provide a couple of methods that are directly " "useful, and others that are meant to be used by derived classes. These are " "intended for direct use:" msgstr "" -#: ../../library/urllib.request.rst:713 +#: ../../library/urllib.request.rst:719 msgid "Add a director as parent." msgstr "" -#: ../../library/urllib.request.rst:718 +#: ../../library/urllib.request.rst:724 msgid "Remove any parents." msgstr "" -#: ../../library/urllib.request.rst:720 +#: ../../library/urllib.request.rst:726 msgid "" "The following attribute and methods should only be used by classes derived " "from :class:`BaseHandler`." msgstr "" -#: ../../library/urllib.request.rst:725 +#: ../../library/urllib.request.rst:731 msgid "" -"The convention has been adopted that subclasses defining :meth:" -"`_request` or :meth:`_response` methods are named :class:" -"`\\*Processor`; all others are named :class:`\\*Handler`." +"The convention has been adopted that subclasses defining :meth:`!" +"_request` or :meth:`!_response` methods are " +"named :class:`!\\*Processor`; all others are named :class:`!\\*Handler`." msgstr "" -#: ../../library/urllib.request.rst:732 +#: ../../library/urllib.request.rst:738 msgid "" "A valid :class:`OpenerDirector`, which can be used to open using a different " "protocol, or handle errors." msgstr "" -#: ../../library/urllib.request.rst:738 +#: ../../library/urllib.request.rst:744 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to catch all URLs." msgstr "" -#: ../../library/urllib.request.rst:741 +#: ../../library/urllib.request.rst:747 msgid "" -"This method, if implemented, will be called by the parent :class:" -"`OpenerDirector`. It should return a file-like object as described in the " -"return value of the :meth:`~OpenerDirector.open` method of :class:" -"`OpenerDirector`, or ``None``. It should raise :exc:`~urllib.error." -"URLError`, unless a truly exceptional thing happens (for example, :exc:" -"`MemoryError` should not be mapped to :exc:`URLError`)." +"This method, if implemented, will be called by the " +"parent :class:`OpenerDirector`. It should return a file-like object as " +"described in the return value of the :meth:`~OpenerDirector.open` method " +"of :class:`OpenerDirector`, or ``None``. It should " +"raise :exc:`~urllib.error.URLError`, unless a truly exceptional thing " +"happens (for example, :exc:`MemoryError` should not be mapped " +"to :exc:`~urllib.error.URLError`)." msgstr "" -#: ../../library/urllib.request.rst:748 +#: ../../library/urllib.request.rst:754 msgid "This method will be called before any protocol-specific open method." msgstr "" -#: ../../library/urllib.request.rst:755 +#: ../../library/urllib.request.rst:761 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to handle URLs with the given protocol." msgstr "" -#: ../../library/urllib.request.rst:758 +#: ../../library/urllib.request.rst:764 msgid "" -"This method, if defined, will be called by the parent :class:" -"`OpenerDirector`. Return values should be the same as for :meth:" -"`default_open`." +"This method, if defined, will be called by the " +"parent :class:`OpenerDirector`. Return values should be the same as " +"for :meth:`~BaseHandler.default_open`." msgstr "" -#: ../../library/urllib.request.rst:764 +#: ../../library/urllib.request.rst:770 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to catch all URLs with no specific registered handler " "to open it." msgstr "" -#: ../../library/urllib.request.rst:768 +#: ../../library/urllib.request.rst:774 msgid "" -"This method, if implemented, will be called by the :attr:`parent` :class:" -"`OpenerDirector`. Return values should be the same as for :meth:" -"`default_open`." +"This method, if implemented, will be called by " +"the :attr:`parent` :class:`OpenerDirector`. Return values should be the " +"same as for :meth:`default_open`." msgstr "" -#: ../../library/urllib.request.rst:775 +#: ../../library/urllib.request.rst:781 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "override it if they intend to provide a catch-all for otherwise unhandled " -"HTTP errors. It will be called automatically by the :class:" -"`OpenerDirector` getting the error, and should not normally be called in " -"other circumstances." +"HTTP errors. It will be called automatically by " +"the :class:`OpenerDirector` getting the error, and should not normally be " +"called in other circumstances." msgstr "" -#: ../../library/urllib.request.rst:780 +#: ../../library/urllib.request.rst:786 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, " @@ -1028,228 +1055,237 @@ msgid "" "mapping object with the headers of the error." msgstr "" -#: ../../library/urllib.request.rst:785 +#: ../../library/urllib.request.rst:791 msgid "" -"Return values and exceptions raised should be the same as those of :func:" -"`urlopen`." +"Return values and exceptions raised should be the same as those " +"of :func:`urlopen`." msgstr "" -#: ../../library/urllib.request.rst:792 +#: ../../library/urllib.request.rst:798 msgid "" "*nnn* should be a three-digit HTTP error code. This method is also not " "defined in :class:`BaseHandler`, but will be called, if it exists, on an " "instance of a subclass, when an HTTP error with code *nnn* occurs." msgstr "" -#: ../../library/urllib.request.rst:796 +#: ../../library/urllib.request.rst:802 msgid "Subclasses should override this method to handle specific HTTP errors." msgstr "" -#: ../../library/urllib.request.rst:798 +#: ../../library/urllib.request.rst:804 msgid "" -"Arguments, return values and exceptions raised should be the same as for :" -"meth:`http_error_default`." +"Arguments, return values and exceptions raised should be the same as " +"for :meth:`~BaseHandler.http_error_default`." msgstr "" -#: ../../library/urllib.request.rst:806 +#: ../../library/urllib.request.rst:812 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to pre-process requests of the given protocol." msgstr "" -#: ../../library/urllib.request.rst:809 +#: ../../library/urllib.request.rst:815 msgid "" -"This method, if defined, will be called by the parent :class:" -"`OpenerDirector`. *req* will be a :class:`Request` object. The return value " -"should be a :class:`Request` object." +"This method, if defined, will be called by the " +"parent :class:`OpenerDirector`. *req* will be a :class:`Request` object. The " +"return value should be a :class:`Request` object." msgstr "" -#: ../../library/urllib.request.rst:818 +#: ../../library/urllib.request.rst:824 msgid "" "This method is *not* defined in :class:`BaseHandler`, but subclasses should " "define it if they want to post-process responses of the given protocol." msgstr "" -#: ../../library/urllib.request.rst:821 +#: ../../library/urllib.request.rst:827 msgid "" -"This method, if defined, will be called by the parent :class:" -"`OpenerDirector`. *req* will be a :class:`Request` object. *response* will " -"be an object implementing the same interface as the return value of :func:" -"`urlopen`. The return value should implement the same interface as the " -"return value of :func:`urlopen`." +"This method, if defined, will be called by the " +"parent :class:`OpenerDirector`. *req* will be a :class:`Request` object. " +"*response* will be an object implementing the same interface as the return " +"value of :func:`urlopen`. The return value should implement the same " +"interface as the return value of :func:`urlopen`." msgstr "" -#: ../../library/urllib.request.rst:831 +#: ../../library/urllib.request.rst:837 msgid "HTTPRedirectHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:835 +#: ../../library/urllib.request.rst:841 msgid "" "Some HTTP redirections require action from this module's client code. If " "this is the case, :exc:`~urllib.error.HTTPError` is raised. See :rfc:`2616` " "for details of the precise meanings of the various redirection codes." msgstr "" -#: ../../library/urllib.request.rst:839 +#: ../../library/urllib.request.rst:845 msgid "" -"An :class:`HTTPError` exception raised as a security consideration if the " -"HTTPRedirectHandler is presented with a redirected URL which is not an HTTP, " -"HTTPS or FTP URL." +"An :exc:`~urllib.error.HTTPError` exception raised as a security " +"consideration if the HTTPRedirectHandler is presented with a redirected URL " +"which is not an HTTP, HTTPS or FTP URL." msgstr "" -#: ../../library/urllib.request.rst:846 +#: ../../library/urllib.request.rst:852 msgid "" "Return a :class:`Request` or ``None`` in response to a redirect. This is " -"called by the default implementations of the :meth:`http_error_30\\*` " +"called by the default implementations of the :meth:`!http_error_30\\*` " "methods when a redirection is received from the server. If a redirection " -"should take place, return a new :class:`Request` to allow :meth:" -"`http_error_30\\*` to perform the redirect to *newurl*. Otherwise, raise :" -"exc:`~urllib.error.HTTPError` if no other handler should try to handle this " -"URL, or return ``None`` if you can't but another handler might." +"should take place, return a new :class:`Request` to allow :meth:`!" +"http_error_30\\*` to perform the redirect to *newurl*. Otherwise, " +"raise :exc:`~urllib.error.HTTPError` if no other handler should try to " +"handle this URL, or return ``None`` if you can't but another handler might." msgstr "" -#: ../../library/urllib.request.rst:856 +#: ../../library/urllib.request.rst:862 msgid "" -"The default implementation of this method does not strictly follow :rfc:" -"`2616`, which says that 301 and 302 responses to ``POST`` requests must not " -"be automatically redirected without confirmation by the user. In reality, " -"browsers do allow automatic redirection of these responses, changing the " -"POST to a ``GET``, and the default implementation reproduces this behavior." +"The default implementation of this method does not strictly " +"follow :rfc:`2616`, which says that 301 and 302 responses to ``POST`` " +"requests must not be automatically redirected without confirmation by the " +"user. In reality, browsers do allow automatic redirection of these " +"responses, changing the POST to a ``GET``, and the default implementation " +"reproduces this behavior." msgstr "" -#: ../../library/urllib.request.rst:865 +#: ../../library/urllib.request.rst:871 msgid "" "Redirect to the ``Location:`` or ``URI:`` URL. This method is called by the " "parent :class:`OpenerDirector` when getting an HTTP 'moved permanently' " "response." msgstr "" -#: ../../library/urllib.request.rst:871 +#: ../../library/urllib.request.rst:877 msgid "" "The same as :meth:`http_error_301`, but called for the 'found' response." msgstr "" -#: ../../library/urllib.request.rst:876 +#: ../../library/urllib.request.rst:882 msgid "" "The same as :meth:`http_error_301`, but called for the 'see other' response." msgstr "" -#: ../../library/urllib.request.rst:881 +#: ../../library/urllib.request.rst:887 msgid "" "The same as :meth:`http_error_301`, but called for the 'temporary redirect' " "response. It does not allow changing the request method from ``POST`` to " "``GET``." msgstr "" -#: ../../library/urllib.request.rst:888 +#: ../../library/urllib.request.rst:894 msgid "" "The same as :meth:`http_error_301`, but called for the 'permanent redirect' " "response. It does not allow changing the request method from ``POST`` to " "``GET``." msgstr "" -#: ../../library/urllib.request.rst:898 +#: ../../library/urllib.request.rst:904 msgid "HTTPCookieProcessor Objects" msgstr "" -#: ../../library/urllib.request.rst:900 +#: ../../library/urllib.request.rst:906 msgid ":class:`HTTPCookieProcessor` instances have one attribute:" msgstr "" -#: ../../library/urllib.request.rst:904 +#: ../../library/urllib.request.rst:910 msgid "The :class:`http.cookiejar.CookieJar` in which cookies are stored." msgstr "" -#: ../../library/urllib.request.rst:910 +#: ../../library/urllib.request.rst:916 msgid "ProxyHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:916 +#: ../../library/urllib.request.rst:922 msgid "" -"The :class:`ProxyHandler` will have a method :meth:`_open` for " +"The :class:`ProxyHandler` will have a method :meth:`!_open` for " "every *protocol* which has a proxy in the *proxies* dictionary given in the " "constructor. The method will modify requests to go through the proxy, by " "calling ``request.set_proxy()``, and call the next handler in the chain to " "actually execute the protocol." msgstr "" -#: ../../library/urllib.request.rst:926 +#: ../../library/urllib.request.rst:932 msgid "HTTPPasswordMgr Objects" msgstr "" -#: ../../library/urllib.request.rst:928 +#: ../../library/urllib.request.rst:934 msgid "" -"These methods are available on :class:`HTTPPasswordMgr` and :class:" -"`HTTPPasswordMgrWithDefaultRealm` objects." +"These methods are available on :class:`HTTPPasswordMgr` " +"and :class:`HTTPPasswordMgrWithDefaultRealm` objects." msgstr "" -#: ../../library/urllib.request.rst:934 +#: ../../library/urllib.request.rst:940 msgid "" "*uri* can be either a single URI, or a sequence of URIs. *realm*, *user* and " "*passwd* must be strings. This causes ``(user, passwd)`` to be used as " "authentication tokens when authentication for *realm* and a super-URI of any " -"of the given URIs is given." +"of the given URIs is given. If a URI includes a scheme, its credentials only " +"match authentication URIs with the same scheme or no scheme. A URI without a " +"scheme matches authentication URIs with any scheme." msgstr "" -#: ../../library/urllib.request.rst:942 +#: ../../library/urllib.request.rst:947 +msgid "" +"Authentication credentials for URIs with a scheme are now scoped by that " +"scheme." +msgstr "" + +#: ../../library/urllib.request.rst:954 msgid "" "Get user/password for given realm and URI, if any. This method will return " "``(None, None)`` if there is no matching user/password." msgstr "" -#: ../../library/urllib.request.rst:945 +#: ../../library/urllib.request.rst:957 msgid "" "For :class:`HTTPPasswordMgrWithDefaultRealm` objects, the realm ``None`` " "will be searched if the given *realm* has no matching user/password." msgstr "" -#: ../../library/urllib.request.rst:952 +#: ../../library/urllib.request.rst:964 msgid "HTTPPasswordMgrWithPriorAuth Objects" msgstr "" -#: ../../library/urllib.request.rst:954 +#: ../../library/urllib.request.rst:966 msgid "" "This password manager extends :class:`HTTPPasswordMgrWithDefaultRealm` to " "support tracking URIs for which authentication credentials should always be " "sent." msgstr "" -#: ../../library/urllib.request.rst:961 +#: ../../library/urllib.request.rst:973 msgid "" -"*realm*, *uri*, *user*, *passwd* are as for :meth:`HTTPPasswordMgr." -"add_password`. *is_authenticated* sets the initial value of the " -"``is_authenticated`` flag for the given URI or list of URIs. If " -"*is_authenticated* is specified as ``True``, *realm* is ignored." +"*realm*, *uri*, *user*, *passwd* are as " +"for :meth:`HTTPPasswordMgr.add_password`. *is_authenticated* sets the " +"initial value of the ``is_authenticated`` flag for the given URI or list of " +"URIs. If *is_authenticated* is specified as ``True``, *realm* is ignored." msgstr "" -#: ../../library/urllib.request.rst:969 +#: ../../library/urllib.request.rst:981 msgid "Same as for :class:`HTTPPasswordMgrWithDefaultRealm` objects" msgstr "" -#: ../../library/urllib.request.rst:975 +#: ../../library/urllib.request.rst:987 msgid "" "Update the ``is_authenticated`` flag for the given *uri* or list of URIs." msgstr "" -#: ../../library/urllib.request.rst:981 +#: ../../library/urllib.request.rst:993 msgid "" "Returns the current state of the ``is_authenticated`` flag for the given URI." msgstr "" -#: ../../library/urllib.request.rst:988 +#: ../../library/urllib.request.rst:1000 msgid "AbstractBasicAuthHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:993 +#: ../../library/urllib.request.rst:1005 msgid "" "Handle an authentication request by getting a user/password pair, and re-" "trying the request. *authreq* should be the name of the header where the " "information about the realm is included in the request, *host* specifies the " -"URL and path to authenticate for, *req* should be the (failed) :class:" -"`Request` object, and *headers* should be the error headers." +"URL and path to authenticate for, *req* should be the " +"(failed) :class:`Request` object, and *headers* should be the error headers." msgstr "" -#: ../../library/urllib.request.rst:999 +#: ../../library/urllib.request.rst:1011 msgid "" "*host* is either an authority (e.g. ``\"python.org\"``) or a URL containing " "an authority component (e.g. ``\"http://python.org/\"``). In either case, " @@ -1257,24 +1293,24 @@ msgid "" "and ``\"python.org:80\"`` are fine, ``\"joe:password@python.org\"`` is not)." msgstr "" -#: ../../library/urllib.request.rst:1008 +#: ../../library/urllib.request.rst:1020 msgid "HTTPBasicAuthHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1013 ../../library/urllib.request.rst:1024 -#: ../../library/urllib.request.rst:1049 ../../library/urllib.request.rst:1060 +#: ../../library/urllib.request.rst:1025 ../../library/urllib.request.rst:1036 +#: ../../library/urllib.request.rst:1061 ../../library/urllib.request.rst:1072 msgid "Retry the request with authentication information, if available." msgstr "" -#: ../../library/urllib.request.rst:1019 +#: ../../library/urllib.request.rst:1031 msgid "ProxyBasicAuthHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1030 +#: ../../library/urllib.request.rst:1042 msgid "AbstractDigestAuthHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1035 +#: ../../library/urllib.request.rst:1047 msgid "" "*authreq* should be the name of the header where the information about the " "realm is included in the request, *host* should be the host to authenticate " @@ -1282,55 +1318,55 @@ msgid "" "should be the error headers." msgstr "" -#: ../../library/urllib.request.rst:1044 +#: ../../library/urllib.request.rst:1056 msgid "HTTPDigestAuthHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1055 +#: ../../library/urllib.request.rst:1067 msgid "ProxyDigestAuthHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1066 +#: ../../library/urllib.request.rst:1078 msgid "HTTPHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1071 +#: ../../library/urllib.request.rst:1083 msgid "" -"Send an HTTP request, which can be either GET or POST, depending on ``req." -"has_data()``." +"Send an HTTP request, which can be either GET or POST, depending on " +"``req.has_data()``." msgstr "" -#: ../../library/urllib.request.rst:1078 +#: ../../library/urllib.request.rst:1090 msgid "HTTPSHandler Objects" msgstr "Objetos HTTPSHandler" -#: ../../library/urllib.request.rst:1083 +#: ../../library/urllib.request.rst:1095 msgid "" -"Send an HTTPS request, which can be either GET or POST, depending on ``req." -"has_data()``." +"Send an HTTPS request, which can be either GET or POST, depending on " +"``req.has_data()``." msgstr "" -#: ../../library/urllib.request.rst:1090 +#: ../../library/urllib.request.rst:1102 msgid "FileHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1095 +#: ../../library/urllib.request.rst:1107 msgid "" "Open the file locally, if there is no host name, or the host name is " "``'localhost'``." msgstr "" -#: ../../library/urllib.request.rst:1098 +#: ../../library/urllib.request.rst:1110 msgid "" "This method is applicable only for local hostnames. When a remote hostname " "is given, an :exc:`~urllib.error.URLError` is raised." msgstr "" -#: ../../library/urllib.request.rst:1106 +#: ../../library/urllib.request.rst:1118 msgid "DataHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1110 +#: ../../library/urllib.request.rst:1122 msgid "" "Read a data URL. This kind of URL contains the content encoded in the URL " "itself. The data URL syntax is specified in :rfc:`2397`. This implementation " @@ -1340,83 +1376,83 @@ msgid "" "implementation will raise an :exc:`ValueError` in that case." msgstr "" -#: ../../library/urllib.request.rst:1121 +#: ../../library/urllib.request.rst:1133 msgid "FTPHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1126 +#: ../../library/urllib.request.rst:1138 msgid "" "Open the FTP file indicated by *req*. The login is always done with empty " "username and password." msgstr "" -#: ../../library/urllib.request.rst:1133 +#: ../../library/urllib.request.rst:1145 msgid "CacheFTPHandler Objects" msgstr "" -#: ../../library/urllib.request.rst:1135 +#: ../../library/urllib.request.rst:1147 msgid "" ":class:`CacheFTPHandler` objects are :class:`FTPHandler` objects with the " "following additional methods:" msgstr "" -#: ../../library/urllib.request.rst:1141 +#: ../../library/urllib.request.rst:1153 msgid "Set timeout of connections to *t* seconds." msgstr "" -#: ../../library/urllib.request.rst:1146 +#: ../../library/urllib.request.rst:1158 msgid "Set maximum number of cached connections to *m*." msgstr "" -#: ../../library/urllib.request.rst:1152 +#: ../../library/urllib.request.rst:1164 msgid "UnknownHandler Objects" msgstr "Objetos UnknownHandler" -#: ../../library/urllib.request.rst:1157 +#: ../../library/urllib.request.rst:1169 msgid "Raise a :exc:`~urllib.error.URLError` exception." msgstr "" -#: ../../library/urllib.request.rst:1163 +#: ../../library/urllib.request.rst:1175 msgid "HTTPErrorProcessor Objects" msgstr "" -#: ../../library/urllib.request.rst:1169 +#: ../../library/urllib.request.rst:1181 msgid "For 200 error codes, the response object is returned immediately." msgstr "" -#: ../../library/urllib.request.rst:1171 +#: ../../library/urllib.request.rst:1183 msgid "" -"For non-200 error codes, this simply passes the job on to the :meth:" -"`http_error_\\` handler methods, via :meth:`OpenerDirector.error`. " -"Eventually, :class:`HTTPDefaultErrorHandler` will raise an :exc:`~urllib." -"error.HTTPError` if no other handler handles the error." +"For non-200 error codes, this simply passes the job on to the :meth:`!" +"http_error_\\` handler methods, via :meth:`OpenerDirector.error`. " +"Eventually, :class:`HTTPDefaultErrorHandler` will raise " +"an :exc:`~urllib.error.HTTPError` if no other handler handles the error." msgstr "" -#: ../../library/urllib.request.rst:1179 +#: ../../library/urllib.request.rst:1191 msgid "Process HTTPS error responses." msgstr "" -#: ../../library/urllib.request.rst:1181 +#: ../../library/urllib.request.rst:1193 msgid "The behavior is same as :meth:`http_response`." msgstr "" -#: ../../library/urllib.request.rst:1187 +#: ../../library/urllib.request.rst:1199 msgid "Examples" msgstr "Exemplos" -#: ../../library/urllib.request.rst:1189 +#: ../../library/urllib.request.rst:1201 msgid "" "In addition to the examples below, more examples are given in :ref:`urllib-" "howto`." msgstr "" -#: ../../library/urllib.request.rst:1192 +#: ../../library/urllib.request.rst:1204 msgid "" "This example gets the python.org main page and displays the first 300 bytes " "of it. ::" msgstr "" -#: ../../library/urllib.request.rst:1205 +#: ../../library/urllib.request.rst:1217 msgid "" "Note that urlopen returns a bytes object. This is because there is no way " "for urlopen to automatically determine the encoding of the byte stream it " @@ -1425,128 +1461,129 @@ msgid "" "appropriate encoding." msgstr "" -#: ../../library/urllib.request.rst:1211 +#: ../../library/urllib.request.rst:1223 msgid "" "The following W3C document, https://www.w3.org/International/O-charset\\ , " "lists the various ways in which an (X)HTML or an XML document could have " "specified its encoding information." msgstr "" -#: ../../library/urllib.request.rst:1215 +#: ../../library/urllib.request.rst:1227 msgid "" "As the python.org website uses *utf-8* encoding as specified in its meta " "tag, we will use the same for decoding the bytes object. ::" msgstr "" -#: ../../library/urllib.request.rst:1224 +#: ../../library/urllib.request.rst:1236 msgid "" -"It is also possible to achieve the same result without using the :term:" -"`context manager` approach. ::" +"It is also possible to achieve the same result without using " +"the :term:`context manager` approach. ::" msgstr "" -#: ../../library/urllib.request.rst:1233 +#: ../../library/urllib.request.rst:1245 msgid "" "In the following example, we are sending a data-stream to the stdin of a CGI " "and reading the data it returns to us. Note that this example will only work " "when the Python installation supports SSL. ::" msgstr "" -#: ../../library/urllib.request.rst:1245 +#: ../../library/urllib.request.rst:1257 msgid "The code for the sample CGI used in the above example is::" msgstr "" -#: ../../library/urllib.request.rst:1252 +#: ../../library/urllib.request.rst:1264 msgid "Here is an example of doing a ``PUT`` request using :class:`Request`::" msgstr "" -#: ../../library/urllib.request.rst:1262 +#: ../../library/urllib.request.rst:1274 msgid "Use of Basic HTTP Authentication::" msgstr "" -#: ../../library/urllib.request.rst:1276 +#: ../../library/urllib.request.rst:1288 msgid "" -":func:`build_opener` provides many handlers by default, including a :class:" -"`ProxyHandler`. By default, :class:`ProxyHandler` uses the environment " -"variables named ``_proxy``, where ```` is the URL scheme " -"involved. For example, the :envvar:`http_proxy` environment variable is " -"read to obtain the HTTP proxy's URL." +":func:`build_opener` provides many handlers by default, including " +"a :class:`ProxyHandler`. By default, :class:`ProxyHandler` uses the " +"environment variables named ``_proxy``, where ```` is the " +"URL scheme involved. For example, the :envvar:`!http_proxy` environment " +"variable is read to obtain the HTTP proxy's URL." msgstr "" -#: ../../library/urllib.request.rst:1282 +#: ../../library/urllib.request.rst:1294 msgid "" "This example replaces the default :class:`ProxyHandler` with one that uses " "programmatically supplied proxy URLs, and adds proxy authorization support " "with :class:`ProxyBasicAuthHandler`. ::" msgstr "" -#: ../../library/urllib.request.rst:1294 +#: ../../library/urllib.request.rst:1306 msgid "Adding HTTP headers:" -msgstr "" +msgstr "Adicionando cabeçalhos HTTP:" -#: ../../library/urllib.request.rst:1296 +#: ../../library/urllib.request.rst:1308 msgid "Use the *headers* argument to the :class:`Request` constructor, or::" msgstr "" -#: ../../library/urllib.request.rst:1305 +#: ../../library/urllib.request.rst:1317 msgid "" ":class:`OpenerDirector` automatically adds a :mailheader:`User-Agent` header " "to every :class:`Request`. To change this::" msgstr "" -#: ../../library/urllib.request.rst:1313 +#: ../../library/urllib.request.rst:1325 msgid "" -"Also, remember that a few standard headers (:mailheader:`Content-Length`, :" -"mailheader:`Content-Type` and :mailheader:`Host`) are added when the :class:" -"`Request` is passed to :func:`urlopen` (or :meth:`OpenerDirector.open`)." +"Also, remember that a few standard headers (:mailheader:`Content-" +"Length`, :mailheader:`Content-Type` and :mailheader:`Host`) are added when " +"the :class:`Request` is passed to :func:`urlopen` " +"(or :meth:`OpenerDirector.open`)." msgstr "" -#: ../../library/urllib.request.rst:1320 +#: ../../library/urllib.request.rst:1332 msgid "" "Here is an example session that uses the ``GET`` method to retrieve a URL " "containing parameters::" msgstr "" -#: ../../library/urllib.request.rst:1331 +#: ../../library/urllib.request.rst:1343 msgid "" "The following example uses the ``POST`` method instead. Note that params " "output from urlencode is encoded to bytes before it is sent to urlopen as " "data::" msgstr "" -#: ../../library/urllib.request.rst:1342 +#: ../../library/urllib.request.rst:1354 msgid "" "The following example uses an explicitly specified HTTP proxy, overriding " "environment settings::" msgstr "" -#: ../../library/urllib.request.rst:1352 +#: ../../library/urllib.request.rst:1364 msgid "" "The following example uses no proxies at all, overriding environment " "settings::" msgstr "" -#: ../../library/urllib.request.rst:1362 +#: ../../library/urllib.request.rst:1374 msgid "Legacy interface" msgstr "" -#: ../../library/urllib.request.rst:1364 +#: ../../library/urllib.request.rst:1376 msgid "" "The following functions and classes are ported from the Python 2 module " "``urllib`` (as opposed to ``urllib2``). They might become deprecated at " "some point in the future." msgstr "" -#: ../../library/urllib.request.rst:1370 +#: ../../library/urllib.request.rst:1382 msgid "" "Copy a network object denoted by a URL to a local file. If the URL points to " "a local file, the object will not be copied unless filename is supplied. " "Return a tuple ``(filename, headers)`` where *filename* is the local file " -"name under which the object can be found, and *headers* is whatever the :" -"meth:`info` method of the object returned by :func:`urlopen` returned (for a " -"remote object). Exceptions are the same as for :func:`urlopen`." +"name under which the object can be found, and *headers* is whatever " +"the :meth:`!info` method of the object returned by :func:`urlopen` returned " +"(for a remote object). Exceptions are the same as for :func:`urlopen`." msgstr "" -#: ../../library/urllib.request.rst:1377 +#: ../../library/urllib.request.rst:1389 msgid "" "The second argument, if present, specifies the file location to copy to (if " "absent, the location will be a tempfile with a generated name). The third " @@ -1558,61 +1595,61 @@ msgid "" "file size in response to a retrieval request." msgstr "" -#: ../../library/urllib.request.rst:1386 +#: ../../library/urllib.request.rst:1398 msgid "The following example illustrates the most common usage scenario::" msgstr "" -#: ../../library/urllib.request.rst:1393 +#: ../../library/urllib.request.rst:1405 msgid "" "If the *url* uses the :file:`http:` scheme identifier, the optional *data* " "argument may be given to specify a ``POST`` request (normally the request " -"type is ``GET``). The *data* argument must be a bytes object in standard :" -"mimetype:`application/x-www-form-urlencoded` format; see the :func:`urllib." -"parse.urlencode` function." +"type is ``GET``). The *data* argument must be a bytes object in " +"standard :mimetype:`application/x-www-form-urlencoded` format; see " +"the :func:`urllib.parse.urlencode` function." msgstr "" -#: ../../library/urllib.request.rst:1399 +#: ../../library/urllib.request.rst:1411 msgid "" -":func:`urlretrieve` will raise :exc:`ContentTooShortError` when it detects " -"that the amount of data available was less than the expected amount (which " -"is the size reported by a *Content-Length* header). This can occur, for " -"example, when the download is interrupted." +":func:`urlretrieve` will raise :exc:`~urllib.error.ContentTooShortError` " +"when it detects that the amount of data available was less than the " +"expected amount (which is the size reported by a *Content-Length* header). " +"This can occur, for example, when the download is interrupted." msgstr "" -#: ../../library/urllib.request.rst:1404 +#: ../../library/urllib.request.rst:1416 msgid "" "The *Content-Length* is treated as a lower bound: if there's more data to " "read, urlretrieve reads more data, but if less data is available, it raises " "the exception." msgstr "" -#: ../../library/urllib.request.rst:1408 +#: ../../library/urllib.request.rst:1420 msgid "" -"You can still retrieve the downloaded data in this case, it is stored in " -"the :attr:`content` attribute of the exception instance." +"You can still retrieve the downloaded data in this case, it is stored in " +"the :attr:`!content` attribute of the exception instance." msgstr "" -#: ../../library/urllib.request.rst:1411 +#: ../../library/urllib.request.rst:1423 msgid "" "If no *Content-Length* header was supplied, urlretrieve can not check the " "size of the data it has downloaded, and just returns it. In this case you " "just have to assume that the download was successful." msgstr "" -#: ../../library/urllib.request.rst:1417 +#: ../../library/urllib.request.rst:1429 msgid "" "Cleans up temporary files that may have been left behind by previous calls " "to :func:`urlretrieve`." msgstr "" -#: ../../library/urllib.request.rst:1424 +#: ../../library/urllib.request.rst:1436 msgid "" "Base class for opening and reading URLs. Unless you need to support opening " -"objects using schemes other than :file:`http:`, :file:`ftp:`, or :file:`file:" -"`, you probably want to use :class:`FancyURLopener`." +"objects using schemes other than :file:`http:`, :file:`ftp:`, " +"or :file:`file:`, you probably want to use :class:`FancyURLopener`." msgstr "" -#: ../../library/urllib.request.rst:1428 +#: ../../library/urllib.request.rst:1440 msgid "" "By default, the :class:`URLopener` class sends a :mailheader:`User-Agent` " "header of ``urllib/VVV``, where *VVV* is the :mod:`urllib` version number. " @@ -1622,7 +1659,7 @@ msgid "" "subclass definition." msgstr "" -#: ../../library/urllib.request.rst:1434 +#: ../../library/urllib.request.rst:1446 msgid "" "The optional *proxies* parameter should be a dictionary mapping scheme names " "to proxy URLs, where an empty dictionary turns proxies off completely. Its " @@ -1630,7 +1667,7 @@ msgid "" "be used if present, as discussed in the definition of :func:`urlopen`, above." msgstr "" -#: ../../library/urllib.request.rst:1439 +#: ../../library/urllib.request.rst:1451 msgid "" "Additional keyword parameters, collected in *x509*, may be used for " "authentication of the client when using the :file:`https:` scheme. The " @@ -1638,64 +1675,64 @@ msgid "" "certificate; both are needed to support client authentication." msgstr "" -#: ../../library/urllib.request.rst:1444 +#: ../../library/urllib.request.rst:1456 msgid "" ":class:`URLopener` objects will raise an :exc:`OSError` exception if the " "server returns an error code." msgstr "" -#: ../../library/urllib.request.rst:1449 +#: ../../library/urllib.request.rst:1461 msgid "" "Open *fullurl* using the appropriate protocol. This method sets up cache " "and proxy information, then calls the appropriate open method with its input " "arguments. If the scheme is not recognized, :meth:`open_unknown` is called. " -"The *data* argument has the same meaning as the *data* argument of :func:" -"`urlopen`." +"The *data* argument has the same meaning as the *data* argument " +"of :func:`urlopen`." msgstr "" -#: ../../library/urllib.request.rst:1455 +#: ../../library/urllib.request.rst:1467 msgid "This method always quotes *fullurl* using :func:`~urllib.parse.quote`." msgstr "" -#: ../../library/urllib.request.rst:1459 +#: ../../library/urllib.request.rst:1471 msgid "Overridable interface to open unknown URL types." msgstr "" -#: ../../library/urllib.request.rst:1464 +#: ../../library/urllib.request.rst:1476 msgid "" "Retrieves the contents of *url* and places it in *filename*. The return " -"value is a tuple consisting of a local filename and either an :class:`email." -"message.Message` object containing the response headers (for remote URLs) or " -"``None`` (for local URLs). The caller must then open and read the contents " -"of *filename*. If *filename* is not given and the URL refers to a local " -"file, the input filename is returned. If the URL is non-local and " -"*filename* is not given, the filename is the output of :func:`tempfile." -"mktemp` with a suffix that matches the suffix of the last path component of " -"the input URL. If *reporthook* is given, it must be a function accepting " -"three numeric parameters: A chunk number, the maximum size chunks are read " -"in and the total size of the download (-1 if unknown). It will be called " -"once at the start and after each chunk of data is read from the network. " -"*reporthook* is ignored for local URLs." -msgstr "" - -#: ../../library/urllib.request.rst:1477 +"value is a tuple consisting of a local filename and either " +"an :class:`email.message.Message` object containing the response headers " +"(for remote URLs) or ``None`` (for local URLs). The caller must then open " +"and read the contents of *filename*. If *filename* is not given and the URL " +"refers to a local file, the input filename is returned. If the URL is non-" +"local and *filename* is not given, the filename is the output " +"of :func:`tempfile.mktemp` with a suffix that matches the suffix of the last " +"path component of the input URL. If *reporthook* is given, it must be a " +"function accepting three numeric parameters: A chunk number, the maximum " +"size chunks are read in and the total size of the download (-1 if unknown). " +"It will be called once at the start and after each chunk of data is read " +"from the network. *reporthook* is ignored for local URLs." +msgstr "" + +#: ../../library/urllib.request.rst:1489 msgid "" "If the *url* uses the :file:`http:` scheme identifier, the optional *data* " "argument may be given to specify a ``POST`` request (normally the request " -"type is ``GET``). The *data* argument must in standard :mimetype:" -"`application/x-www-form-urlencoded` format; see the :func:`urllib.parse." -"urlencode` function." +"type is ``GET``). The *data* argument must in " +"standard :mimetype:`application/x-www-form-urlencoded` format; see " +"the :func:`urllib.parse.urlencode` function." msgstr "" -#: ../../library/urllib.request.rst:1486 +#: ../../library/urllib.request.rst:1498 msgid "" -"Variable that specifies the user agent of the opener object. To get :mod:" -"`urllib` to tell servers that it is a particular user agent, set this in a " -"subclass as a class variable or in the constructor before calling the base " -"constructor." +"Variable that specifies the user agent of the opener object. To " +"get :mod:`urllib` to tell servers that it is a particular user agent, set " +"this in a subclass as a class variable or in the constructor before calling " +"the base constructor." msgstr "" -#: ../../library/urllib.request.rst:1496 +#: ../../library/urllib.request.rst:1508 msgid "" ":class:`FancyURLopener` subclasses :class:`URLopener` providing default " "handling for the following HTTP response codes: 301, 302, 303, 307 and 401. " @@ -1706,14 +1743,14 @@ msgid "" "defaults to 10." msgstr "" -#: ../../library/urllib.request.rst:1503 +#: ../../library/urllib.request.rst:1515 msgid "" -"For all other response codes, the method :meth:`http_error_default` is " -"called which you can override in subclasses to handle the error " -"appropriately." +"For all other response codes, the " +"method :meth:`~BaseHandler.http_error_default` is called which you can " +"override in subclasses to handle the error appropriately." msgstr "" -#: ../../library/urllib.request.rst:1508 +#: ../../library/urllib.request.rst:1520 msgid "" "According to the letter of :rfc:`2616`, 301 and 302 responses to POST " "requests must not be automatically redirected without confirmation by the " @@ -1722,13 +1759,13 @@ msgid "" "behaviour." msgstr "" -#: ../../library/urllib.request.rst:1513 +#: ../../library/urllib.request.rst:1525 msgid "" -"The parameters to the constructor are the same as those for :class:" -"`URLopener`." +"The parameters to the constructor are the same as those " +"for :class:`URLopener`." msgstr "" -#: ../../library/urllib.request.rst:1517 +#: ../../library/urllib.request.rst:1529 msgid "" "When performing basic authentication, a :class:`FancyURLopener` instance " "calls its :meth:`prompt_user_passwd` method. The default implementation " @@ -1737,59 +1774,59 @@ msgid "" "needed." msgstr "" -#: ../../library/urllib.request.rst:1522 +#: ../../library/urllib.request.rst:1534 msgid "" "The :class:`FancyURLopener` class offers one additional method that should " "be overloaded to provide the appropriate behavior:" msgstr "" -#: ../../library/urllib.request.rst:1527 +#: ../../library/urllib.request.rst:1539 msgid "" "Return information needed to authenticate the user at the given host in the " "specified security realm. The return value should be a tuple, ``(user, " "password)``, which can be used for basic authentication." msgstr "" -#: ../../library/urllib.request.rst:1531 +#: ../../library/urllib.request.rst:1543 msgid "" "The implementation prompts for this information on the terminal; an " "application should override this method to use an appropriate interaction " "model in the local environment." msgstr "" -#: ../../library/urllib.request.rst:1537 +#: ../../library/urllib.request.rst:1549 msgid ":mod:`urllib.request` Restrictions" msgstr "" -#: ../../library/urllib.request.rst:1543 +#: ../../library/urllib.request.rst:1555 msgid "" "Currently, only the following protocols are supported: HTTP (versions 0.9 " "and 1.0), FTP, local files, and data URLs." msgstr "" -#: ../../library/urllib.request.rst:1546 +#: ../../library/urllib.request.rst:1558 msgid "Added support for data URLs." msgstr "" -#: ../../library/urllib.request.rst:1548 +#: ../../library/urllib.request.rst:1560 msgid "" "The caching feature of :func:`urlretrieve` has been disabled until someone " "finds the time to hack proper processing of Expiration time headers." msgstr "" -#: ../../library/urllib.request.rst:1551 +#: ../../library/urllib.request.rst:1563 msgid "" "There should be a function to query whether a particular URL is in the cache." msgstr "" -#: ../../library/urllib.request.rst:1553 +#: ../../library/urllib.request.rst:1565 msgid "" "For backward compatibility, if a URL appears to point to a local file but " "the file can't be opened, the URL is re-interpreted using the FTP protocol. " "This can sometimes cause confusing error messages." msgstr "" -#: ../../library/urllib.request.rst:1557 +#: ../../library/urllib.request.rst:1569 msgid "" "The :func:`urlopen` and :func:`urlretrieve` functions can cause arbitrarily " "long delays while waiting for a network connection to be set up. This means " @@ -1797,17 +1834,17 @@ msgid "" "functions without using threads." msgstr "" -#: ../../library/urllib.request.rst:1566 +#: ../../library/urllib.request.rst:1578 msgid "" "The data returned by :func:`urlopen` or :func:`urlretrieve` is the raw data " "returned by the server. This may be binary data (such as an image), plain " "text or (for example) HTML. The HTTP protocol provides type information in " -"the reply header, which can be inspected by looking at the :mailheader:" -"`Content-Type` header. If the returned data is HTML, you can use the " -"module :mod:`html.parser` to parse it." +"the reply header, which can be inspected by looking at " +"the :mailheader:`Content-Type` header. If the returned data is HTML, you " +"can use the module :mod:`html.parser` to parse it." msgstr "" -#: ../../library/urllib.request.rst:1575 +#: ../../library/urllib.request.rst:1587 msgid "" "The code handling the FTP protocol cannot differentiate between a file and a " "directory. This can lead to unexpected behavior when attempting to read a " @@ -1825,59 +1862,59 @@ msgid "" "meet your needs." msgstr "" -#: ../../library/urllib.request.rst:1592 +#: ../../library/urllib.request.rst:1604 msgid ":mod:`urllib.response` --- Response classes used by urllib" msgstr "" -#: ../../library/urllib.request.rst:1597 +#: ../../library/urllib.request.rst:1609 msgid "" "The :mod:`urllib.response` module defines functions and classes which define " "a minimal file-like interface, including ``read()`` and ``readline()``. " -"Functions defined by this module are used internally by the :mod:`urllib." -"request` module. The typical response object is a :class:`urllib.response." -"addinfourl` instance:" +"Functions defined by this module are used internally by " +"the :mod:`urllib.request` module. The typical response object is " +"a :class:`urllib.response.addinfourl` instance:" msgstr "" -#: ../../library/urllib.request.rst:1606 +#: ../../library/urllib.request.rst:1618 msgid "" "URL of the resource retrieved, commonly used to determine if a redirect was " "followed." msgstr "" -#: ../../library/urllib.request.rst:1610 +#: ../../library/urllib.request.rst:1622 msgid "" -"Returns the headers of the response in the form of an :class:`~email.message." -"EmailMessage` instance." +"Returns the headers of the response in the form of " +"an :class:`~email.message.EmailMessage` instance." msgstr "" -#: ../../library/urllib.request.rst:1616 +#: ../../library/urllib.request.rst:1628 msgid "Status code returned by server." msgstr "" -#: ../../library/urllib.request.rst:1620 +#: ../../library/urllib.request.rst:1632 msgid "Deprecated in favor of :attr:`~addinfourl.url`." msgstr "" -#: ../../library/urllib.request.rst:1625 +#: ../../library/urllib.request.rst:1637 msgid "Deprecated in favor of :attr:`~addinfourl.headers`." msgstr "" -#: ../../library/urllib.request.rst:1630 ../../library/urllib.request.rst:1635 +#: ../../library/urllib.request.rst:1642 ../../library/urllib.request.rst:1647 msgid "Deprecated in favor of :attr:`~addinfourl.status`." msgstr "" -#: ../../library/urllib.request.rst:1539 ../../library/urllib.request.rst:1562 +#: ../../library/urllib.request.rst:1551 ../../library/urllib.request.rst:1574 msgid "HTTP" -msgstr "" +msgstr "HTTP" -#: ../../library/urllib.request.rst:1539 ../../library/urllib.request.rst:1562 +#: ../../library/urllib.request.rst:1551 ../../library/urllib.request.rst:1574 msgid "protocol" -msgstr "" +msgstr "protocolo" -#: ../../library/urllib.request.rst:1539 ../../library/urllib.request.rst:1573 +#: ../../library/urllib.request.rst:1551 ../../library/urllib.request.rst:1585 msgid "FTP" msgstr "" -#: ../../library/urllib.request.rst:1562 +#: ../../library/urllib.request.rst:1574 msgid "HTML" -msgstr "" +msgstr "HTML" diff --git a/library/urllib.robotparser.po b/library/urllib.robotparser.po index a369d85de..ef266e444 100644 --- a/library/urllib.robotparser.po +++ b/library/urllib.robotparser.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,30 +39,39 @@ msgid "" "on the structure of :file:`robots.txt` files, see http://www.robotstxt.org/" "orig.html." msgstr "" +"Este módulo fornece uma única classe, :class:`RobotFileParser`, que responde " +"a perguntas sobre se um agente de usuário específico pode ou não buscar uma " +"URL no site que publicou o arquivo :file:`robots.txt`. Para mais detalhes " +"sobre a estrutura dos arquivos :file:`robots.txt`, consulte http://" +"www.robotstxt.org/orig.html." #: ../../library/urllib.robotparser.rst:28 msgid "" -"This class provides methods to read, parse and answer questions about the :" -"file:`robots.txt` file at *url*." +"This class provides methods to read, parse and answer questions about " +"the :file:`robots.txt` file at *url*." msgstr "" +"Esta classe fornece métodos para ler, analisar e responder perguntas sobre o " +"arquivo :file:`robots.txt` em *url*." #: ../../library/urllib.robotparser.rst:33 msgid "Sets the URL referring to a :file:`robots.txt` file." -msgstr "" +msgstr "Define a URL referente a um arquivo :file:`robots.txt`." #: ../../library/urllib.robotparser.rst:37 msgid "Reads the :file:`robots.txt` URL and feeds it to the parser." -msgstr "" +msgstr "Lê o URL :file:`robots.txt` e o alimenta para o analisador sintático." #: ../../library/urllib.robotparser.rst:41 msgid "Parses the lines argument." -msgstr "" +msgstr "Analisa o argumento de linhas." #: ../../library/urllib.robotparser.rst:45 msgid "" "Returns ``True`` if the *useragent* is allowed to fetch the *url* according " "to the rules contained in the parsed :file:`robots.txt` file." msgstr "" +"Retorna ``True`` se o *useragent* tiver permissão para buscar a *url* de " +"acordo com as regras contidas no arquivo :file:`robots.txt` analisado." #: ../../library/urllib.robotparser.rst:51 msgid "" @@ -72,11 +79,16 @@ msgid "" "for long-running web spiders that need to check for new ``robots.txt`` files " "periodically." msgstr "" +"Retorna o horário em que o arquivo ``robots.txt`` foi buscado pela última " +"vez. Isso é útil para web spiders de longa duração que precisam verificar " +"novos arquivos ``robots.txt`` periodicamente." #: ../../library/urllib.robotparser.rst:57 msgid "" "Sets the time the ``robots.txt`` file was last fetched to the current time." msgstr "" +"Define a hora em que o arquivo ``robots.txt`` foi buscado pela última vez " +"para a hora atual." #: ../../library/urllib.robotparser.rst:62 msgid "" @@ -85,6 +97,10 @@ msgid "" "apply to the *useragent* specified or the ``robots.txt`` entry for this " "parameter has invalid syntax, return ``None``." msgstr "" +"Retorna o valor do parâmetro ``Crawl-delay`` de ``robots.txt`` para o " +"*useragent* em questão. Se não houver tal parâmetro ou se ele não se aplicar " +"ao *useragent* especificado ou se a entrada ``robots.txt`` para este " +"parâmetro tiver sintaxe inválida, retorna ``None``." #: ../../library/urllib.robotparser.rst:71 msgid "" @@ -93,6 +109,11 @@ msgid "" "such parameter or it doesn't apply to the *useragent* specified or the " "``robots.txt`` entry for this parameter has invalid syntax, return ``None``." msgstr "" +"Retorna o conteúdo do parâmetro ``Request-rate`` de ``robots.txt`` como " +"uma :term:`tupla nomeada` ``RequestRate(requests, seconds)``. Se não houver " +"tal parâmetro ou se ele não se aplicar ao *useragent* especificado ou se a " +"entrada ``robots.txt`` para este parâmetro tiver sintaxe inválida, retorna " +"``None``." #: ../../library/urllib.robotparser.rst:81 msgid "" @@ -100,22 +121,25 @@ msgid "" "form of a :func:`list`. If there is no such parameter or the ``robots.txt`` " "entry for this parameter has invalid syntax, return ``None``." msgstr "" +"Retorna o conteúdo do parâmetro ``Sitemap`` de ``robots.txt`` no formato de " +"uma :func:`list`. Se não houver tal parâmetro ou a entrada ``robots.txt`` " +"para este parâmetro tiver sintaxe inválida, retorna ``None``." #: ../../library/urllib.robotparser.rst:89 msgid "" "The following example demonstrates basic use of the :class:`RobotFileParser` " "class::" msgstr "" -"O exemplo a seguir demonstra o uso básico da classe :class:" -"`RobotFileParser`::" +"O exemplo a seguir demonstra o uso básico da " +"classe :class:`RobotFileParser`::" #: ../../library/urllib.robotparser.rst:12 msgid "WWW" -msgstr "" +msgstr "WWW" #: ../../library/urllib.robotparser.rst:12 msgid "World Wide Web" -msgstr "" +msgstr "World Wide Web" #: ../../library/urllib.robotparser.rst:12 msgid "URL" @@ -123,4 +147,4 @@ msgstr "URL" #: ../../library/urllib.robotparser.rst:12 msgid "robots.txt" -msgstr "" +msgstr "robots.txt" diff --git a/library/uu.po b/library/uu.po index cb4fff5ff..77a2a6dfd 100644 --- a/library/uu.po +++ b/library/uu.po @@ -1,26 +1,25 @@ # 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: -# Marco Rougeth , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -140,8 +139,8 @@ msgstr "" #: ../../library/uu.rst:28 msgid "Jansen, Jack" -msgstr "" +msgstr "Jansen, Jack" #: ../../library/uu.rst:28 msgid "Ellinghouse, Lance" -msgstr "" +msgstr "Ellinghouse, Lance" diff --git a/library/uuid.po b/library/uuid.po index 08c092131..ddaf6a1ae 100644 --- a/library/uuid.po +++ b/library/uuid.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# And Past , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,41 +34,58 @@ msgstr "**Código-fonte:** :source:`Lib/uuid.py`" #: ../../library/uuid.rst:13 msgid "" "This module provides immutable :class:`UUID` objects (the :class:`UUID` " -"class) and the functions :func:`uuid1`, :func:`uuid3`, :func:`uuid4`, :func:" -"`uuid5` for generating version 1, 3, 4, and 5 UUIDs as specified in :rfc:" -"`4122`." +"class) and the " +"functions :func:`uuid1`, :func:`uuid3`, :func:`uuid4`, :func:`uuid5` for " +"generating version 1, 3, 4, and 5 UUIDs as specified in :rfc:`4122`." msgstr "" +"Este módulo fornece objetos :class:`UUID` imutáveis (a classe :class:`UUID`) " +"e as funções :func:`uuid1`, :func:`uuid3`, :func:`uuid4`, :func:`uuid5` para " +"gerar UUIDs de versão 1, 3, 4 e 5, conforme especificado em :rfc:`4122`." #: ../../library/uuid.rst:17 msgid "" -"If all you want is a unique ID, you should probably call :func:`uuid1` or :" -"func:`uuid4`. Note that :func:`uuid1` may compromise privacy since it " +"If all you want is a unique ID, you should probably call :func:`uuid1` " +"or :func:`uuid4`. Note that :func:`uuid1` may compromise privacy since it " "creates a UUID containing the computer's network address. :func:`uuid4` " "creates a random UUID." msgstr "" +"Se tudo o que você quer é um ID único, você provavelmente deve " +"chamar :func:`uuid1` ou :func:`uuid4`. Note que :func:`uuid1` pode " +"comprometer a privacidade, pois cria um UUID contendo o endereço de rede do " +"computador. :func:`uuid4` cria um UUID aleatório." #: ../../library/uuid.rst:22 msgid "" "Depending on support from the underlying platform, :func:`uuid1` may or may " "not return a \"safe\" UUID. A safe UUID is one which is generated using " "synchronization methods that ensure no two processes can obtain the same " -"UUID. All instances of :class:`UUID` have an :attr:`is_safe` attribute " -"which relays any information about the UUID's safety, using this enumeration:" +"UUID. All instances of :class:`UUID` have an :attr:`~UUID.is_safe` " +"attribute which relays any information about the UUID's safety, using this " +"enumeration:" msgstr "" +"Dependendo do suporte da plataforma subjacente, :func:`uuid1` pode ou não " +"retornar um UUID \"seguro\". Um UUID seguro é aquele que é gerado usando " +"métodos de sincronização que garantem que dois processos não possam obter o " +"mesmo UUID. Todas as instâncias de :class:`UUID` têm um " +"atributo :attr:`~UUID.is_safe` que retransmite qualquer informação sobre a " +"segurança do UUID, usando esta enumeração:" #: ../../library/uuid.rst:34 msgid "The UUID was generated by the platform in a multiprocessing-safe way." msgstr "" +"O UUID foi gerado pela plataforma de forma segura para multiprocessamento." #: ../../library/uuid.rst:38 msgid "The UUID was not generated in a multiprocessing-safe way." -msgstr "" +msgstr "O UUID não foi gerado de forma segura para multiprocessamento." #: ../../library/uuid.rst:42 msgid "" "The platform does not provide information on whether the UUID was generated " "safely or not." msgstr "" +"A plataforma não fornece informações sobre se o UUID foi gerado com " +"segurança ou não." #: ../../library/uuid.rst:47 msgid "" @@ -86,6 +98,15 @@ msgid "" "string of hex digits is given, curly braces, hyphens, and a URN prefix are " "all optional. For example, these expressions all yield the same UUID::" msgstr "" +"Cria um UUID a partir de uma sequência de 32 dígitos hexadecimais, uma " +"sequência de 16 bytes em ordem big-endian como o argumento *bytes*, uma " +"sequência de 16 bytes em ordem little-endian como o argumento *bytes_le*, " +"uma tupla de seis inteiros (*time_low* de 32 bits, *time_mid* de 16 bits, " +"*time_hi_version* de 16 bits, *clock_seq_hi_variant* de 8 bits, " +"*clock_seq_low* de 8 bits, *node* de 48 bits) como o argumento *fields* ou " +"um único inteiro de 128 bits como o argumento *int*. Quando uma sequência de " +"dígitos hexadecimais é fornecida, chaves, hifens e um prefixo URN são todos " +"opcionais. Por exemplo, todas essas expressões produzem o mesmo UUID::" #: ../../library/uuid.rst:66 msgid "" @@ -94,13 +115,20 @@ msgid "" "its variant and version number set according to :rfc:`4122`, overriding bits " "in the given *hex*, *bytes*, *bytes_le*, *fields*, or *int*." msgstr "" +"Exatamente um de *hex*, *bytes*, *bytes_le*, *fields* ou *int* deve ser " +"fornecido. O argumento *version* é opcional; se fornecido, o UUID resultante " +"terá sua variante e número de versão definidos de acordo com :rfc:`4122`, " +"substituindo bits no *hex*, *bytes*, *bytes_le*, *fields* ou *int* fornecido." #: ../../library/uuid.rst:71 msgid "" -"Comparison of UUID objects are made by way of comparing their :attr:`UUID." -"int` attributes. Comparison with a non-UUID object raises a :exc:" -"`TypeError`." +"Comparison of UUID objects are made by way of comparing " +"their :attr:`UUID.int` attributes. Comparison with a non-UUID object raises " +"a :exc:`TypeError`." msgstr "" +"A comparação de objetos UUID é feita por meio da comparação de seus " +"atributos :attr:`UUID.int`. A comparação com um objeto não UUID levanta " +"uma :exc:`TypeError`." #: ../../library/uuid.rst:75 msgid "" @@ -108,129 +136,114 @@ msgid "" "``12345678-1234-5678-1234-567812345678`` where the 32 hexadecimal digits " "represent the UUID." msgstr "" +"``str(uuid)`` retorna uma string no formato " +"``12345678-1234-5678-1234-567812345678`` onde os 32 dígitos hexadecimais " +"representam o UUID." #: ../../library/uuid.rst:79 msgid ":class:`UUID` instances have these read-only attributes:" -msgstr "" +msgstr "As instâncias :class:`UUID` têm estes atributos de somente leitura:" #: ../../library/uuid.rst:83 msgid "" "The UUID as a 16-byte string (containing the six integer fields in big-" "endian byte order)." msgstr "" +"O UUID como uma string de 16 bytes (contendo os seis campos inteiros em " +"ordem de bytes big-endian)." #: ../../library/uuid.rst:89 msgid "" "The UUID as a 16-byte string (with *time_low*, *time_mid*, and " "*time_hi_version* in little-endian byte order)." msgstr "" +"O UUID como uma string de 16 bytes (com *time_low*, *time_mid* e " +"*time_hi_version* em ordem de bytes little-endian)." #: ../../library/uuid.rst:95 msgid "" "A tuple of the six integer fields of the UUID, which are also available as " "six individual attributes and two derived attributes:" msgstr "" +"Uma tupla dos seis campos de inteiros do UUID, que também estão disponíveis " +"como seis atributos individuais e dois atributos derivados:" -#: ../../library/uuid.rst:99 +#: ../../library/uuid.rst:100 msgid "Field" msgstr "Campo" -#: ../../library/uuid.rst:99 +#: ../../library/uuid.rst:101 msgid "Meaning" msgstr "Significado" -#: ../../library/uuid.rst:101 -msgid ":attr:`time_low`" -msgstr ":attr:`time_low`" - -#: ../../library/uuid.rst:101 -msgid "the first 32 bits of the UUID" -msgstr "os primeiros 32 bits do UUID" - -#: ../../library/uuid.rst:103 -msgid ":attr:`time_mid`" -msgstr ":attr:`time_mid`" +#: ../../library/uuid.rst:104 +msgid "The first 32 bits of the UUID." +msgstr "Os primeiros 32 bits do UUID." -#: ../../library/uuid.rst:103 ../../library/uuid.rst:105 -msgid "the next 16 bits of the UUID" -msgstr "os próximos 16 bits do UUID" +#: ../../library/uuid.rst:107 ../../library/uuid.rst:110 +msgid "The next 16 bits of the UUID." +msgstr "Os próximos 16 bits do UUID." -#: ../../library/uuid.rst:105 -msgid ":attr:`time_hi_version`" -msgstr ":attr:`time_hi_version`" +#: ../../library/uuid.rst:113 ../../library/uuid.rst:116 +msgid "The next 8 bits of the UUID." +msgstr "Os próximos 8 bits do UUID." -#: ../../library/uuid.rst:107 -msgid ":attr:`clock_seq_hi_variant`" -msgstr ":attr:`clock_seq_hi_variant`" +#: ../../library/uuid.rst:119 +msgid "The last 48 bits of the UUID." +msgstr "Os últimos 48 bits do UUID." -#: ../../library/uuid.rst:107 ../../library/uuid.rst:109 -msgid "the next 8 bits of the UUID" -msgstr "os próximos 8 bits do UUID" +#: ../../library/uuid.rst:122 +msgid "The 60-bit timestamp." +msgstr "O registro de data e hora de 60 bits." -#: ../../library/uuid.rst:109 -msgid ":attr:`clock_seq_low`" -msgstr ":attr:`clock_seq_low`" - -#: ../../library/uuid.rst:111 -msgid ":attr:`node`" -msgstr ":attr:`node`" - -#: ../../library/uuid.rst:111 -msgid "the last 48 bits of the UUID" -msgstr "" - -#: ../../library/uuid.rst:113 -msgid ":attr:`time`" -msgstr ":attr:`time`" - -#: ../../library/uuid.rst:113 -msgid "the 60-bit timestamp" -msgstr "" - -#: ../../library/uuid.rst:115 -msgid ":attr:`clock_seq`" -msgstr ":attr:`clock_seq`" - -#: ../../library/uuid.rst:115 -msgid "the 14-bit sequence number" -msgstr "" +#: ../../library/uuid.rst:125 +msgid "The 14-bit sequence number." +msgstr "O número de sequência de 14 bits." -#: ../../library/uuid.rst:121 +#: ../../library/uuid.rst:130 msgid "The UUID as a 32-character lowercase hexadecimal string." -msgstr "" +msgstr "O UUID como uma sequência hexadecimal de 32 caracteres minúsculos." -#: ../../library/uuid.rst:126 +#: ../../library/uuid.rst:135 msgid "The UUID as a 128-bit integer." -msgstr "" +msgstr "O UUID como um inteiro de 128 bits." -#: ../../library/uuid.rst:131 +#: ../../library/uuid.rst:140 msgid "The UUID as a URN as specified in :rfc:`4122`." -msgstr "" +msgstr "O UUID como um URN conforme especificado no :rfc:`4122`." -#: ../../library/uuid.rst:136 +#: ../../library/uuid.rst:145 msgid "" "The UUID variant, which determines the internal layout of the UUID. This " -"will be one of the constants :const:`RESERVED_NCS`, :const:`RFC_4122`, :" -"const:`RESERVED_MICROSOFT`, or :const:`RESERVED_FUTURE`." +"will be one of the " +"constants :const:`RESERVED_NCS`, :const:`RFC_4122`, :const:`RESERVED_MICROSOFT`, " +"or :const:`RESERVED_FUTURE`." msgstr "" +"A variante UUID, que determina o layout interno do UUID. Esta será uma das " +"constantes :const:`RESERVED_NCS`, :const:`RFC_4122`, :const:`RESERVED_MICROSOFT` " +"ou :const:`RESERVED_FUTURE`." -#: ../../library/uuid.rst:143 +#: ../../library/uuid.rst:152 msgid "" -"The UUID version number (1 through 5, meaningful only when the variant is :" -"const:`RFC_4122`)." +"The UUID version number (1 through 5, meaningful only when the variant " +"is :const:`RFC_4122`)." msgstr "" +"O número da versão do UUID (1 a 5, significativo somente quando a variante " +"é :const:`RFC_4122`)." -#: ../../library/uuid.rst:148 +#: ../../library/uuid.rst:157 msgid "" "An enumeration of :class:`SafeUUID` which indicates whether the platform " "generated the UUID in a multiprocessing-safe way." msgstr "" +"Uma enumeração de :class:`SafeUUID` que indica se a plataforma gerou o UUID " +"de forma segura para multiprocessamento." -#: ../../library/uuid.rst:153 +#: ../../library/uuid.rst:162 msgid "The :mod:`uuid` module defines the following functions:" -msgstr "" +msgstr "O módulo :mod:`uuid` define as seguintes funções:" -#: ../../library/uuid.rst:158 +#: ../../library/uuid.rst:167 msgid "" "Get the hardware address as a 48-bit positive integer. The first time this " "runs, it may launch a separate program, which could be quite slow. If all " @@ -242,120 +255,152 @@ msgid "" "least significant bit of the first octet is *unset*) will be preferred over " "locally administered MAC addresses, but with no other ordering guarantees." msgstr "" - -#: ../../library/uuid.rst:168 +"Obtém o endereço de hardware como um inteiro positivo de 48 bits. Na " +"primeira vez que isso for executado, ele pode iniciar um programa separado, " +"o que pode ser bem lento. Se todas as tentativas de obter o endereço de " +"hardware falharem, escolhemos um número aleatório de 48 bits com o bit " +"multicast (bit menos significativo do primeiro octeto) definido como 1, " +"conforme recomendado no :rfc:`4122`. \"Endereço de hardware\" significa o " +"endereço MAC de uma interface de rede. Em uma máquina com várias interfaces " +"de rede, endereços MAC administrados universalmente (ou seja, onde o segundo " +"bit menos significativo do primeiro octeto é *não definido*) serão " +"preferidos em relação a endereços MAC administrados localmente, mas sem " +"nenhuma outra garantia de ordenação." + +#: ../../library/uuid.rst:177 msgid "" "Universally administered MAC addresses are preferred over locally " "administered MAC addresses, since the former are guaranteed to be globally " "unique, while the latter are not." msgstr "" +"Endereços MAC administrados universalmente são preferidos em vez de " +"endereços MAC administrados localmente, pois os primeiros têm garantia de " +"serem globalmente exclusivos, enquanto os últimos não." -#: ../../library/uuid.rst:178 +#: ../../library/uuid.rst:187 msgid "" "Generate a UUID from a host ID, sequence number, and the current time. If " "*node* is not given, :func:`getnode` is used to obtain the hardware address. " "If *clock_seq* is given, it is used as the sequence number; otherwise a " "random 14-bit sequence number is chosen." msgstr "" +"Gera um UUID a partir de um ID de host, número de sequência e hora atual. Se " +"*node* não for fornecido, :func:`getnode` é usado para obter o endereço de " +"hardware. Se *clock_seq* for fornecido, ele é usado como o número de " +"sequência; caso contrário, um número de sequência aleatório de 14 bits é " +"escolhido." -#: ../../library/uuid.rst:188 +#: ../../library/uuid.rst:197 msgid "" "Generate a UUID based on the MD5 hash of a namespace identifier (which is a " "UUID) and a name (which is a string)." msgstr "" -#: ../../library/uuid.rst:196 +#: ../../library/uuid.rst:205 msgid "Generate a random UUID." -msgstr "" +msgstr "Gera um UUID aleatório." -#: ../../library/uuid.rst:203 +#: ../../library/uuid.rst:212 msgid "" "Generate a UUID based on the SHA-1 hash of a namespace identifier (which is " "a UUID) and a name (which is a string)." msgstr "" -#: ../../library/uuid.rst:208 +#: ../../library/uuid.rst:217 msgid "" "The :mod:`uuid` module defines the following namespace identifiers for use " "with :func:`uuid3` or :func:`uuid5`." msgstr "" +"O módulo :mod:`uuid` define os seguintes identificadores de espaço de nomes " +"para uso com :func:`uuid3` ou :func:`uuid5`." -#: ../../library/uuid.rst:214 +#: ../../library/uuid.rst:223 msgid "" "When this namespace is specified, the *name* string is a fully qualified " "domain name." msgstr "" +"Quando esse espaço de nomes é especificado, a string *name* é um nome de " +"domínio totalmente qualificado." -#: ../../library/uuid.rst:220 +#: ../../library/uuid.rst:229 msgid "When this namespace is specified, the *name* string is a URL." -msgstr "" +msgstr "Quando esse espaço de nomes é especificado, a string *name* é uma URL." -#: ../../library/uuid.rst:225 +#: ../../library/uuid.rst:234 msgid "When this namespace is specified, the *name* string is an ISO OID." msgstr "" +"Quando esse espaço de nomes é especificado, a string *name* é um OID ISO." -#: ../../library/uuid.rst:230 +#: ../../library/uuid.rst:239 msgid "" "When this namespace is specified, the *name* string is an X.500 DN in DER or " "a text output format." msgstr "" +"Quando esse espaço de nomes é especificado, a string *name* é um DN X.500 em " +"DER ou um formato de saída de texto." -#: ../../library/uuid.rst:233 +#: ../../library/uuid.rst:242 msgid "" "The :mod:`uuid` module defines the following constants for the possible " -"values of the :attr:`variant` attribute:" +"values of the :attr:`~UUID.variant` attribute:" msgstr "" +"O módulo :mod:`uuid` define as seguintes constantes para os valores " +"possíveis do atributo :attr:`~UUID.variant`:" -#: ../../library/uuid.rst:239 +#: ../../library/uuid.rst:248 msgid "Reserved for NCS compatibility." -msgstr "" +msgstr "Reservado para compatibilidade com NCS." -#: ../../library/uuid.rst:244 +#: ../../library/uuid.rst:253 msgid "Specifies the UUID layout given in :rfc:`4122`." -msgstr "" +msgstr "Especifica o layout do UUID fornecido no :rfc:`4122`." -#: ../../library/uuid.rst:249 +#: ../../library/uuid.rst:258 msgid "Reserved for Microsoft compatibility." -msgstr "" +msgstr "Reservado para compatibilidade com Microsoft." -#: ../../library/uuid.rst:254 +#: ../../library/uuid.rst:263 msgid "Reserved for future definition." -msgstr "" +msgstr "Reservado para definição futura." -#: ../../library/uuid.rst:260 +#: ../../library/uuid.rst:269 msgid ":rfc:`4122` - A Universally Unique IDentifier (UUID) URN Namespace" msgstr "" +":rfc:`4122` - Um espaço de nomes de URN de identificador universalmente " +"exclusivo (UUID)" -#: ../../library/uuid.rst:260 +#: ../../library/uuid.rst:269 msgid "" "This specification defines a Uniform Resource Name namespace for UUIDs, the " "internal format of UUIDs, and methods of generating UUIDs." msgstr "" +"Esta especificação define um espaço de nomes de Uniform Resource Name para " +"UUIDs, o formato interno de UUIDs e métodos de geração de UUIDs." -#: ../../library/uuid.rst:267 +#: ../../library/uuid.rst:276 msgid "Example" msgstr "Exemplo" -#: ../../library/uuid.rst:269 +#: ../../library/uuid.rst:278 msgid "Here are some examples of typical usage of the :mod:`uuid` module::" -msgstr "" +msgstr "Aqui estão alguns exemplos de uso típico do módulo :mod:`uuid`::" -#: ../../library/uuid.rst:173 +#: ../../library/uuid.rst:182 msgid "getnode" msgstr "" -#: ../../library/uuid.rst:183 +#: ../../library/uuid.rst:192 msgid "uuid1" msgstr "" -#: ../../library/uuid.rst:191 +#: ../../library/uuid.rst:200 msgid "uuid3" msgstr "" -#: ../../library/uuid.rst:198 +#: ../../library/uuid.rst:207 msgid "uuid4" msgstr "" -#: ../../library/uuid.rst:206 +#: ../../library/uuid.rst:215 msgid "uuid5" msgstr "" diff --git a/library/venv.po b/library/venv.po index a419a4668..7c4a9fcb1 100644 --- a/library/venv.po +++ b/library/venv.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Paulo Henrique Rodrigues Pinheiro , 2021 -# Risaffi , 2021 -# felipe caridade , 2021 -# i17obot , 2021 -# Adorilson Bezerra , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -66,19 +60,66 @@ msgstr "" "instruído a fazê-lo explicitamente." #: ../../library/venv.rst:33 +msgid "A virtual environment is (amongst other things):" +msgstr "Um ambiente virtual é (dentre outras coisas):" + +#: ../../library/venv.rst:35 +msgid "" +"Used to contain a specific Python interpreter and software libraries and " +"binaries which are needed to support a project (library or application). " +"These are by default isolated from software in other virtual environments " +"and Python interpreters and libraries installed in the operating system." +msgstr "" +"Usado para conter um interpretador Python específico e bibliotecas de " +"software e binários necessários para dar suporte a um projeto (biblioteca ou " +"aplicação). Eles são, por padrão, isolados de software em outros ambientes " +"virtuais e de interpretadores e bibliotecas Python instalados no sistema " +"operacional." + +#: ../../library/venv.rst:40 +msgid "" +"Contained in a directory, conventionally either named ``venv`` or ``.venv`` " +"in the project directory, or under a container directory for lots of virtual " +"environments, such as ``~/.virtualenvs``." +msgstr "" +"Contido em um diretório, convencionalmente denominado ``venv`` ou ``.venv`` " +"no diretório do projeto, ou em um diretório contêiner para vários ambientes " +"virtuais, como ``~/.virtualenvs``." + +#: ../../library/venv.rst:44 +msgid "Not checked into source control systems such as Git." +msgstr "Não inserido em sistemas de controle de código-fonte, como Git." + +#: ../../library/venv.rst:46 +msgid "" +"Considered as disposable -- it should be simple to delete and recreate it " +"from scratch. You don't place any project code in the environment" +msgstr "" +"Considerado descartável -- deve ser simples excluí-lo e recriá-lo do zero. " +"Você não coloca nenhum código de projeto no ambiente" + +#: ../../library/venv.rst:49 +msgid "" +"Not considered as movable or copyable -- you just recreate the same " +"environment in the target location." +msgstr "" +"Não é considerado móvel ou copiável -- basta recriar o mesmo ambiente no " +"local de destino." + +#: ../../library/venv.rst:52 msgid "See :pep:`405` for more background on Python virtual environments." msgstr "" "Veja :pep:`405` para mais informações sobre ambientes virtuais do Python." -#: ../../library/venv.rst:37 +#: ../../library/venv.rst:56 msgid "" "`Python Packaging User Guide: Creating and using virtual environments " "`__" +"environments/#create-and-use-virtual-environments>`__" msgstr "" -"`Python Packaging User Guide: Creating and using virtual environments " -"`__" +"`Python Packaging User Guide: Criar e usar ambientes virtuais `__" #: ../../includes/wasm-notavail.rst:3 msgid ":ref:`Availability `: not Emscripten, not WASI." @@ -94,7 +135,7 @@ msgstr "" "``wasm32-emscripten`` e ``wasm32-wasi``. Veja :ref:`wasm-availability` para " "mais informações." -#: ../../library/venv.rst:43 +#: ../../library/venv.rst:62 msgid "Creating virtual environments" msgstr "Criando ambientes virtuais" @@ -122,28 +163,28 @@ msgstr "" "A execução desse comando cria o diretório de destino (criando qualquer " "diretório pai que ainda não exista) e coloca um arquivo ``pyvenv.cfg`` nele " "com uma chave ``home`` apontando para a instalação do Python a partir da " -"qual o comando foi executado (um nome comum para o diretório de destino é ``." -"venv``). Ele também cria um subdiretório ``bin`` (ou ``Scripts`` no Windows) " -"que contém uma cópia/link simbólico de binário/binários do Python (conforme " -"apropriado para a plataforma ou argumentos usados no momento da criação do " -"ambiente). Ele também cria um subdiretório (inicialmente vazio) ``lib/" -"pythonX.Y/site-packages`` (no Windows, é ``Lib\\site-packages``). Se um " -"diretório existente for especificado, ele será reutilizado." +"qual o comando foi executado (um nome comum para o diretório de destino é " +"``.venv``). Ele também cria um subdiretório ``bin`` (ou ``Scripts`` no " +"Windows) que contém uma cópia/link simbólico de binário/binários do Python " +"(conforme apropriado para a plataforma ou argumentos usados no momento da " +"criação do ambiente). Ele também cria um subdiretório (inicialmente vazio) " +"``lib/pythonX.Y/site-packages`` (no Windows, é ``Lib\\site-packages``). Se " +"um diretório existente for especificado, ele será reutilizado." #: ../../using/venv-create.inc:17 msgid "" +"The use of ``venv`` is now recommended for creating virtual environments." +msgstr "" +"O uso de ``venv`` agora é recomendado para a criação de ambientes virtuais." + +#: ../../using/venv-create.inc:20 +msgid "" "``pyvenv`` was the recommended tool for creating virtual environments for " "Python 3.3 and 3.4, and is :ref:`deprecated in Python 3.6 `." msgstr "" "``pyvenv`` era a ferramenta recomendada para criar ambientes virtuais para " "Python 3.3 e 3.4, e foi :ref:`descontinuada no Python 3.6 `." -#: ../../using/venv-create.inc:22 -msgid "" -"The use of ``venv`` is now recommended for creating virtual environments." -msgstr "" -"O uso de ``venv`` agora é recomendado para a criação de ambientes virtuais." - #: ../../using/venv-create.inc:27 msgid "On Windows, invoke the ``venv`` command as follows::" msgstr "No Windows, invoque o comando ``venv`` da seguinte forma::" @@ -247,25 +288,33 @@ msgstr "" "virtual idêntico será criado, de acordo com as opções fornecidas, em cada " "caminho fornecido." -#: ../../library/venv.rst:50 +#: ../../library/venv.rst:69 msgid "How venvs work" msgstr "Como funcionam os venvs" -#: ../../library/venv.rst:52 +#: ../../library/venv.rst:71 msgid "" -"When a Python interpreter is running from a virtual environment, :data:`sys." -"prefix` and :data:`sys.exec_prefix` point to the directories of the virtual " -"environment, whereas :data:`sys.base_prefix` and :data:`sys." -"base_exec_prefix` point to those of the base Python used to create the " -"environment. It is sufficient to check ``sys.prefix != sys.base_prefix`` to " -"determine if the current interpreter is running from a virtual environment." +"When a Python interpreter is running from a virtual " +"environment, :data:`sys.prefix` and :data:`sys.exec_prefix` point to the " +"directories of the virtual environment, whereas :data:`sys.base_prefix` " +"and :data:`sys.base_exec_prefix` point to those of the base Python used to " +"create the environment. It is sufficient to check ``sys.prefix != " +"sys.base_prefix`` to determine if the current interpreter is running from a " +"virtual environment." msgstr "" +"Quando um interpretador Python está sendo executado a partir de um ambiente " +"virtual, :data:`sys.prefix` e :data:`sys.exec_prefix` apontam para os " +"diretórios do ambiente virtual, enquanto :data:`sys.base_prefix` " +"e :data:`sys.base_exec_prefix` apontam para aqueles do Python base usado " +"para criar o ambiente. É suficiente verificar ``sys.prefix != " +"sys.base_prefix`` para determinar se o interpretador atual está sendo " +"executado a partir de um ambiente virtual." -#: ../../library/venv.rst:61 +#: ../../library/venv.rst:80 msgid "" "A virtual environment may be \"activated\" using a script in its binary " "directory (``bin`` on POSIX; ``Scripts`` on Windows). This will prepend that " -"directory to your :envvar:`!PATH`, so that running :program:`python` will " +"directory to your :envvar:`PATH`, so that running :program:`python` will " "invoke the environment's Python interpreter and you can run installed " "scripts without having to use their full path. The invocation of the " "activation script is platform-specific (:samp:`{}` must be replaced by " @@ -273,81 +322,81 @@ msgid "" msgstr "" "Um ambiente virtual pode ser \"ativado\" usando um script em seu diretório " "binário (``bin`` no POSIX; ``Scripts`` no Windows). Isso precederá esse " -"diretório ao seu :envvar:`!PATH`, de modo que a execução de :program:" -"`python` invoque o interpretador Python do ambiente e você possa executar os " -"scripts instalados sem precisar usar o caminho completo. A invocação do " -"script de ativação é específica da plataforma (:samp:`{}` deve ser " -"substituído pelo caminho para o diretório que contém o ambiente virtual):" +"diretório ao seu :envvar:`PATH`, de modo que a execução de :program:`python` " +"invoque o interpretador Python do ambiente e você possa executar os scripts " +"instalados sem precisar usar o caminho completo. A invocação do script de " +"ativação é específica da plataforma (:samp:`{}` deve ser substituído " +"pelo caminho para o diretório que contém o ambiente virtual):" -#: ../../library/venv.rst:71 +#: ../../library/venv.rst:90 msgid "Platform" msgstr "Plataforma" -#: ../../library/venv.rst:71 +#: ../../library/venv.rst:90 msgid "Shell" msgstr "Shell" -#: ../../library/venv.rst:71 +#: ../../library/venv.rst:90 msgid "Command to activate virtual environment" msgstr "Comando para ativar o ambiente virtual" -#: ../../library/venv.rst:73 +#: ../../library/venv.rst:92 msgid "POSIX" msgstr "POSIX" -#: ../../library/venv.rst:73 +#: ../../library/venv.rst:92 msgid "bash/zsh" msgstr "bash/zsh" -#: ../../library/venv.rst:73 +#: ../../library/venv.rst:92 msgid ":samp:`$ source {}/bin/activate`" msgstr ":samp:`$ source {}/bin/activate`" -#: ../../library/venv.rst:75 +#: ../../library/venv.rst:94 msgid "fish" msgstr "fish" -#: ../../library/venv.rst:75 +#: ../../library/venv.rst:94 msgid ":samp:`$ source {}/bin/activate.fish`" msgstr ":samp:`$ source {}/bin/activate.fish`" -#: ../../library/venv.rst:77 +#: ../../library/venv.rst:96 msgid "csh/tcsh" msgstr "csh/tcsh" -#: ../../library/venv.rst:77 +#: ../../library/venv.rst:96 msgid ":samp:`$ source {}/bin/activate.csh`" msgstr ":samp:`$ source {}/bin/activate.csh`" -#: ../../library/venv.rst:79 ../../library/venv.rst:83 +#: ../../library/venv.rst:98 ../../library/venv.rst:102 msgid "PowerShell" msgstr "PowerShell" -#: ../../library/venv.rst:79 +#: ../../library/venv.rst:98 msgid ":samp:`$ {}/bin/Activate.ps1`" msgstr ":samp:`$ {}/bin/Activate.ps1`" -#: ../../library/venv.rst:81 +#: ../../library/venv.rst:100 msgid "Windows" msgstr "Windows" -#: ../../library/venv.rst:81 +#: ../../library/venv.rst:100 msgid "cmd.exe" msgstr "cmd.exe" -#: ../../library/venv.rst:81 +#: ../../library/venv.rst:100 msgid ":samp:`C:\\\\> {}\\\\Scripts\\\\activate.bat`" msgstr ":samp:`C:\\\\> {}\\\\Scripts\\\\activate.bat`" -#: ../../library/venv.rst:83 +#: ../../library/venv.rst:102 msgid ":samp:`PS C:\\\\> {}\\\\Scripts\\\\Activate.ps1`" msgstr ":samp:`PS C:\\\\> {}\\\\Scripts\\\\Activate.ps1`" -#: ../../library/venv.rst:86 +#: ../../library/venv.rst:105 msgid ":program:`fish` and :program:`csh` activation scripts." msgstr "Os scripts de ativação :program:`fish` e :program:`csh`." -#: ../../library/venv.rst:89 +#: ../../library/venv.rst:108 msgid "" "PowerShell activation scripts installed under POSIX for PowerShell Core " "support." @@ -355,7 +404,7 @@ msgstr "" "Scripts de ativação de PowerShell instalados sob POSIX para suporte a " "PowerShell Core." -#: ../../library/venv.rst:93 +#: ../../library/venv.rst:112 msgid "" "You don't specifically *need* to activate a virtual environment, as you can " "just specify the full path to that environment's Python interpreter when " @@ -367,28 +416,28 @@ msgstr "" "ambiente ao invocar o Python. Além disso, todos os scripts instalados no " "ambiente devem ser executáveis sem ativá-lo." -#: ../../library/venv.rst:99 +#: ../../library/venv.rst:118 msgid "" "In order to achieve this, scripts installed into virtual environments have a " -"\"shebang\" line which points to the environment's Python interpreter, i.e. :" -"samp:`#!/{}/bin/python`. This means that the script will run " -"with that interpreter regardless of the value of :envvar:`!PATH`. On " -"Windows, \"shebang\" line processing is supported if you have the :ref:" -"`launcher` installed. Thus, double-clicking an installed script in a Windows " -"Explorer window should run it with the correct interpreter without the " -"environment needing to be activated or on the :envvar:`!PATH`." +"\"shebang\" line which points to the environment's Python interpreter, " +"i.e. :samp:`#!/{}/bin/python`. This means that the script will " +"run with that interpreter regardless of the value of :envvar:`PATH`. On " +"Windows, \"shebang\" line processing is supported if you have " +"the :ref:`launcher` installed. Thus, double-clicking an installed script in " +"a Windows Explorer window should run it with the correct interpreter without " +"the environment needing to be activated or on the :envvar:`PATH`." msgstr "" "Para isso, os scripts instalados em ambientes virtuais possuem uma linha " -"\"shebang\" que aponta para o interpretador Python do ambiente, ou seja, :" -"samp:`#!/{}/bin/python`. Isso significa que o script será " -"executado com esse interpretador independentemente do valor de :envvar:`!" -"PATH`. No Windows, o processamento de linha \"shebang\" é suportado se você " -"tiver o :ref:`lançador ` instalado. Assim, clicar duas vezes em um " -"script instalado em uma janela do Windows Explorer deve executá-lo com o " -"interpretador correto sem que o ambiente precise ser ativado ou no :envvar:`!" -"PATH`." +"\"shebang\" que aponta para o interpretador Python do ambiente, ou " +"seja, :samp:`#!/{}/bin/python`. Isso significa que o " +"script será executado com esse interpretador independentemente do valor " +"de :envvar:`PATH`. No Windows, o processamento de linha \"shebang\" é " +"suportado se você tiver o :ref:`lançador ` instalado. Assim, " +"clicar duas vezes em um script instalado em uma janela do Windows Explorer " +"deve executá-lo com o interpretador correto sem que o ambiente precise ser " +"ativado ou no :envvar:`PATH`." -#: ../../library/venv.rst:108 +#: ../../library/venv.rst:127 msgid "" "When a virtual environment has been activated, the :envvar:`!VIRTUAL_ENV` " "environment variable is set to the path of the environment. Since explicitly " @@ -402,7 +451,7 @@ msgstr "" "VIRTUAL_ENV` não pode ser usado para determinar se um ambiente virtual está " "sendo usado." -#: ../../library/venv.rst:114 +#: ../../library/venv.rst:133 msgid "" "Because scripts installed in environments should not expect the environment " "to be activated, their shebang lines contain the absolute paths to their " @@ -431,7 +480,7 @@ msgstr "" "contrário, o software instalado no ambiente pode não funcionar conforme o " "esperado." -#: ../../library/venv.rst:128 +#: ../../library/venv.rst:147 msgid "" "You can deactivate a virtual environment by typing ``deactivate`` in your " "shell. The exact mechanism is platform-specific and is an internal " @@ -441,23 +490,23 @@ msgstr "" "shell. O mecanismo exato é específico da plataforma e é um detalhe de " "implementação interna (normalmente, um script ou função de shell será usado)." -#: ../../library/venv.rst:136 +#: ../../library/venv.rst:155 msgid "API" msgstr "API" -#: ../../library/venv.rst:140 +#: ../../library/venv.rst:159 msgid "" "The high-level method described above makes use of a simple API which " "provides mechanisms for third-party virtual environment creators to " -"customize environment creation according to their needs, the :class:" -"`EnvBuilder` class." +"customize environment creation according to their needs, " +"the :class:`EnvBuilder` class." msgstr "" "O método de alto nível descrito acima utiliza uma API simples que fornece " "mecanismos para que criadores de ambientes virtuais de terceiros " "personalizem a criação do ambiente de acordo com suas necessidades, a " "classe :class:`EnvBuilder`." -#: ../../library/venv.rst:148 +#: ../../library/venv.rst:167 msgid "" "The :class:`EnvBuilder` class accepts the following keyword arguments on " "instantiation:" @@ -465,7 +514,7 @@ msgstr "" "A classe :class:`EnvBuilder` aceita os seguintes argumentos nomeados na " "instanciação:" -#: ../../library/venv.rst:151 +#: ../../library/venv.rst:170 msgid "" "``system_site_packages`` -- a Boolean value indicating that the system " "Python site-packages should be available to the environment (defaults to " @@ -475,7 +524,7 @@ msgstr "" "sites do sistema Python devem estar disponíveis para o ambiente (o padrão é " "``False``)." -#: ../../library/venv.rst:154 +#: ../../library/venv.rst:173 msgid "" "``clear`` -- a Boolean value which, if true, will delete the contents of any " "existing target directory, before creating the environment." @@ -483,7 +532,7 @@ msgstr "" "``clear`` -- um valor booleano que, se verdadeiro, excluirá o conteúdo de " "qualquer diretório de destino existente, antes de criar o ambiente." -#: ../../library/venv.rst:157 +#: ../../library/venv.rst:176 msgid "" "``symlinks`` -- a Boolean value indicating whether to attempt to symlink the " "Python binary rather than copying." @@ -491,7 +540,7 @@ msgstr "" "``symlinks`` -- um valor booleano que indica se você deseja vincular o " "binário Python ao invés de copiar." -#: ../../library/venv.rst:160 +#: ../../library/venv.rst:179 msgid "" "``upgrade`` -- a Boolean value which, if true, will upgrade an existing " "environment with the running Python - for use when that Python has been " @@ -501,7 +550,7 @@ msgstr "" "existente com o Python em execução - para uso quando o Python tiver sido " "atualizado localmente (o padrão é ``False``)." -#: ../../library/venv.rst:164 +#: ../../library/venv.rst:183 msgid "" "``with_pip`` -- a Boolean value which, if true, ensures pip is installed in " "the virtual environment. This uses :mod:`ensurepip` with the ``--default-" @@ -511,7 +560,7 @@ msgstr "" "instalado no ambiente virtual. Isso usa :mod:`ensurepip` com a opção ``--" "default-pip``." -#: ../../library/venv.rst:168 +#: ../../library/venv.rst:187 msgid "" "``prompt`` -- a String to be used after virtual environment is activated " "(defaults to ``None`` which means directory name of the environment would be " @@ -523,25 +572,25 @@ msgstr "" "usado). Se a string especial ``\".\"`` for fornecida, o nome da base do " "diretório atual será usado como prompt." -#: ../../library/venv.rst:173 +#: ../../library/venv.rst:192 msgid "``upgrade_deps`` -- Update the base venv modules to the latest on PyPI" msgstr "" "``upgrade_deps`` -- Atualize os módulos base do venv para os mais recentes " "no PyPI" -#: ../../library/venv.rst:175 ../../library/venv.rst:350 +#: ../../library/venv.rst:194 ../../library/venv.rst:365 msgid "Added the ``with_pip`` parameter" msgstr "Adicionado o parâmetro ``with_pip``" -#: ../../library/venv.rst:178 ../../library/venv.rst:353 +#: ../../library/venv.rst:197 ../../library/venv.rst:368 msgid "Added the ``prompt`` parameter" msgstr "Adicionado o parâmetro ``prompt``" -#: ../../library/venv.rst:181 ../../library/venv.rst:356 +#: ../../library/venv.rst:200 ../../library/venv.rst:371 msgid "Added the ``upgrade_deps`` parameter" msgstr "Adicionado o parâmetro ``upgrade_deps``" -#: ../../library/venv.rst:184 +#: ../../library/venv.rst:203 msgid "" "Creators of third-party virtual environment tools will be free to use the " "provided :class:`EnvBuilder` class as a base class." @@ -549,11 +598,11 @@ msgstr "" "Os criadores de ferramentas de ambiente virtual de terceiros estarão livres " "para usar a classe fornecida :class:`EnvBuilder` como uma classe base." -#: ../../library/venv.rst:187 +#: ../../library/venv.rst:206 msgid "The returned env-builder is an object which has a method, ``create``:" msgstr "O env-builder retornado é um objeto que possui um método, ``create``:" -#: ../../library/venv.rst:191 +#: ../../library/venv.rst:210 msgid "" "Create a virtual environment by specifying the target directory (absolute or " "relative to the current directory) which is to contain the virtual " @@ -565,7 +614,7 @@ msgstr "" "``create`` cria o ambiente no diretório especificado ou levanta uma exceção " "apropriada." -#: ../../library/venv.rst:197 +#: ../../library/venv.rst:216 msgid "" "The ``create`` method of the :class:`EnvBuilder` class illustrates the hooks " "available for subclass customization::" @@ -573,17 +622,17 @@ msgstr "" "O método ``create`` da classe :class:`EnvBuilder` ilustra os ganchos " "disponíveis para personalização de subclasse::" -#: ../../library/venv.rst:212 +#: ../../library/venv.rst:231 msgid "" -"Each of the methods :meth:`ensure_directories`, :meth:" -"`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` and :" -"meth:`post_setup` can be overridden." +"Each of the " +"methods :meth:`ensure_directories`, :meth:`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` " +"and :meth:`post_setup` can be overridden." msgstr "" -"Cada um dos métodos :meth:`ensure_directories`, :meth:" -"`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` e :meth:" -"`post_setup` pode ser substituído." +"Cada um dos " +"métodos :meth:`ensure_directories`, :meth:`create_configuration`, :meth:`setup_python`, :meth:`setup_scripts` " +"e :meth:`post_setup` pode ser substituído." -#: ../../library/venv.rst:218 +#: ../../library/venv.rst:237 msgid "" "Creates the environment directory and all necessary subdirectories that " "don't already exist, and returns a context object. This context object is " @@ -599,7 +648,7 @@ msgstr "" "o conteúdo do diretório do ambiente será limpo e todos os subdiretórios " "necessários serão recriados." -#: ../../library/venv.rst:225 +#: ../../library/venv.rst:244 msgid "" "The returned context object is a :class:`types.SimpleNamespace` with the " "following attributes:" @@ -607,7 +656,7 @@ msgstr "" "O objeto de contexto retornado é um :class:`types.SimpleNamespace` com os " "seguintes atributos:" -#: ../../library/venv.rst:228 +#: ../../library/venv.rst:247 msgid "" "``env_dir`` - The location of the virtual environment. Used for " "``__VENV_DIR__`` in activation scripts (see :meth:`install_scripts`)." @@ -615,7 +664,7 @@ msgstr "" "``env_dir`` - A localização do ambiente virtual. Usado para ``__VENV_DIR__`` " "em scripts de ativação (veja :meth:`install_scripts`)." -#: ../../library/venv.rst:231 +#: ../../library/venv.rst:250 msgid "" "``env_name`` - The name of the virtual environment. Used for " "``__VENV_NAME__`` in activation scripts (see :meth:`install_scripts`)." @@ -623,7 +672,7 @@ msgstr "" "``env_name`` - O nome do ambiente virtual. Usado para ``__VENV_NAME__`` em " "scripts de ativação (veja :meth:`install_scripts`)." -#: ../../library/venv.rst:234 +#: ../../library/venv.rst:253 msgid "" "``prompt`` - The prompt to be used by the activation scripts. Used for " "``__VENV_PROMPT__`` in activation scripts (see :meth:`install_scripts`)." @@ -631,7 +680,7 @@ msgstr "" "``prompt`` - O prompt a ser usado pelos scripts de ativação. Usado para " "``__VENV_PROMPT__`` em scripts de ativação (veja :meth:`install_scripts`)." -#: ../../library/venv.rst:237 +#: ../../library/venv.rst:256 msgid "" "``executable`` - The underlying Python executable used by the virtual " "environment. This takes into account the case where a virtual environment is " @@ -641,38 +690,38 @@ msgstr "" "Isso leva em consideração o caso em que um ambiente virtual é criado a " "partir de outro ambiente virtual." -#: ../../library/venv.rst:241 +#: ../../library/venv.rst:260 msgid "``inc_path`` - The include path for the virtual environment." msgstr "``inc_path`` - O caminho de inclusão para o ambiente virtual." -#: ../../library/venv.rst:243 +#: ../../library/venv.rst:262 msgid "``lib_path`` - The purelib path for the virtual environment." msgstr "``lib_path`` - O caminho purelib para o ambiente virtual." -#: ../../library/venv.rst:245 +#: ../../library/venv.rst:264 msgid "``bin_path`` - The script path for the virtual environment." msgstr "``bin_path`` - O caminho do script para o ambiente virtual." -#: ../../library/venv.rst:247 +#: ../../library/venv.rst:266 msgid "" "``bin_name`` - The name of the script path relative to the virtual " "environment location. Used for ``__VENV_BIN_NAME__`` in activation scripts " "(see :meth:`install_scripts`)." msgstr "" "``bin_name`` - O nome do caminho do script relativo ao local do ambiente " -"virtual. Usado para ``__VENV_BIN_NAME__`` em scripts de ativação (consulte :" -"meth:`install_scripts`)." +"virtual. Usado para ``__VENV_BIN_NAME__`` em scripts de ativação " +"(consulte :meth:`install_scripts`)." -#: ../../library/venv.rst:251 +#: ../../library/venv.rst:270 msgid "" "``env_exe`` - The name of the Python interpreter in the virtual environment. " -"Used for ``__VENV_PYTHON__`` in activation scripts (see :meth:" -"`install_scripts`)." +"Used for ``__VENV_PYTHON__`` in activation scripts " +"(see :meth:`install_scripts`)." msgstr "" "``env_exe`` - O nome do interpretador Python no ambiente virtual. Usado para " "``__VENV_PYTHON__`` em scripts de ativação (veja :meth:`install_scripts`)." -#: ../../library/venv.rst:255 +#: ../../library/venv.rst:274 msgid "" "``env_exec_cmd`` - The name of the Python interpreter, taking into account " "filesystem redirections. This can be used to run Python in the virtual " @@ -682,15 +731,7 @@ msgstr "" "os redirecionamentos do sistema de arquivos. Isso pode ser usado para " "executar o Python no ambiente virtual." -#: ../../library/venv.rst:260 -msgid "" -"The attribute ``lib_path`` was added to the context, and the context object " -"was documented." -msgstr "" -"O atributo ``lib_path`` foi adicionado ao contexto, e o objeto de contexto " -"foi documentado." - -#: ../../library/venv.rst:264 +#: ../../library/venv.rst:279 msgid "" "The *venv* :ref:`sysconfig installation scheme ` is used " "to construct the paths of the created directories." @@ -698,11 +739,11 @@ msgstr "" "O :ref:`esquema de instalação de sysconfig ` do *venv* é " "usado para construir os caminhos dos diretórios criados." -#: ../../library/venv.rst:271 +#: ../../library/venv.rst:286 msgid "Creates the ``pyvenv.cfg`` configuration file in the environment." msgstr "Cria o arquivo de configuração ``pyvenv.cfg`` no ambiente." -#: ../../library/venv.rst:275 +#: ../../library/venv.rst:290 msgid "" "Creates a copy or symlink to the Python executable in the environment. On " "POSIX systems, if a specific executable ``python3.x`` was used, symlinks to " @@ -714,7 +755,7 @@ msgstr "" "simbólicos para ``python`` e ``python3`` serão criados apontando para esse " "executável, a menos que já existam arquivos com esses nomes." -#: ../../library/venv.rst:282 +#: ../../library/venv.rst:297 msgid "" "Installs activation scripts appropriate to the platform into the virtual " "environment." @@ -722,7 +763,7 @@ msgstr "" "Instala scripts de ativação apropriados para a plataforma no ambiente " "virtual." -#: ../../library/venv.rst:287 +#: ../../library/venv.rst:302 msgid "" "Upgrades the core venv dependency packages (currently ``pip`` and " "``setuptools``) in the environment. This is done by shelling out to the " @@ -732,7 +773,7 @@ msgstr "" "``setuptools``) no ambiente. Isso é feito através da distribuição do " "executável ``pip`` no ambiente." -#: ../../library/venv.rst:295 +#: ../../library/venv.rst:310 msgid "" "A placeholder method which can be overridden in third party implementations " "to pre-install packages in the virtual environment or perform other post-" @@ -742,7 +783,7 @@ msgstr "" "terceiros para pré-instalar pacotes no ambiente virtual ou executar outras " "etapas pós-criação." -#: ../../library/venv.rst:299 +#: ../../library/venv.rst:314 msgid "" "Windows now uses redirector scripts for ``python[w].exe`` instead of copying " "the actual binaries. In 3.7.2 only :meth:`setup_python` does nothing unless " @@ -753,18 +794,18 @@ msgstr "" "nada a menos que seja executado a partir de uma construção na árvore de " "origem." -#: ../../library/venv.rst:304 +#: ../../library/venv.rst:319 msgid "" "Windows copies the redirector scripts as part of :meth:`setup_python` " "instead of :meth:`setup_scripts`. This was not the case in 3.7.2. When using " "symlinks, the original executables will be linked." msgstr "" -"O Windows copia os scripts redirecionadores como parte do :meth:" -"`setup_python` em vez de :meth:`setup_scripts`. Este não foi o caso em " -"3.7.2. Ao usar links simbólicos, será feito link para os executáveis " +"O Windows copia os scripts redirecionadores como parte " +"do :meth:`setup_python` em vez de :meth:`setup_scripts`. Este não foi o caso " +"em 3.7.2. Ao usar links simbólicos, será feito link para os executáveis " "originais." -#: ../../library/venv.rst:309 +#: ../../library/venv.rst:324 msgid "" "In addition, :class:`EnvBuilder` provides this utility method that can be " "called from :meth:`setup_scripts` or :meth:`post_setup` in subclasses to " @@ -774,7 +815,7 @@ msgstr "" "chamado de :meth:`setup_scripts` ou :meth:`post_setup` nas subclasses para " "ajudar na instalação de scripts personalizados no ambiente virtual." -#: ../../library/venv.rst:315 +#: ../../library/venv.rst:330 msgid "" "*path* is the path to a directory that should contain subdirectories " "\"common\", \"posix\", \"nt\", each containing scripts destined for the bin " @@ -788,7 +829,7 @@ msgstr "" "correspondente a :data:`os.name` são copiados após alguma substituição de " "texto dos espaços reservados:" -#: ../../library/venv.rst:321 +#: ../../library/venv.rst:336 msgid "" "``__VENV_DIR__`` is replaced with the absolute path of the environment " "directory." @@ -796,7 +837,7 @@ msgstr "" "``__VENV_DIR__`` é substituído pelo caminho absoluto do diretório do " "ambiente." -#: ../../library/venv.rst:324 +#: ../../library/venv.rst:339 msgid "" "``__VENV_NAME__`` is replaced with the environment name (final path segment " "of environment directory)." @@ -804,7 +845,7 @@ msgstr "" "``__VENV_NAME__`` é substituído pelo nome do ambiente (segmento do caminho " "final do diretório do ambiente)." -#: ../../library/venv.rst:327 +#: ../../library/venv.rst:342 msgid "" "``__VENV_PROMPT__`` is replaced with the prompt (the environment name " "surrounded by parentheses and with a following space)" @@ -812,7 +853,7 @@ msgstr "" "``__VENV_PROMPT__`` é substituído pelo prompt (o nome do ambiente entre " "parênteses e com o seguinte espaço)" -#: ../../library/venv.rst:330 +#: ../../library/venv.rst:345 msgid "" "``__VENV_BIN_NAME__`` is replaced with the name of the bin directory (either " "``bin`` or ``Scripts``)." @@ -820,7 +861,7 @@ msgstr "" "``__VENV_BIN_NAME__`` é substituído pelo nome do diretório bin (``bin`` ou " "``Scripts``)." -#: ../../library/venv.rst:333 +#: ../../library/venv.rst:348 msgid "" "``__VENV_PYTHON__`` is replaced with the absolute path of the environment's " "executable." @@ -828,7 +869,7 @@ msgstr "" "``__VENV_PYTHON__`` é substituído pelo caminho absoluto do executável do " "ambiente." -#: ../../library/venv.rst:336 +#: ../../library/venv.rst:351 msgid "" "The directories are allowed to exist (for when an existing environment is " "being upgraded)." @@ -836,11 +877,11 @@ msgstr "" "É permitido que os diretórios existam (para quando um ambiente existente " "estiver sendo atualizado)." -#: ../../library/venv.rst:339 +#: ../../library/venv.rst:354 msgid "There is also a module-level convenience function:" msgstr "Há também uma função de conveniência no nível do módulo:" -#: ../../library/venv.rst:345 +#: ../../library/venv.rst:360 msgid "" "Create an :class:`EnvBuilder` with the given keyword arguments, and call " "its :meth:`~EnvBuilder.create` method with the *env_dir* argument." @@ -848,11 +889,11 @@ msgstr "" "Cria um :class:`EnvBuilder` com os argumentos nomeados fornecidos e chame " "seu método :meth:`~EnvBuilder.create` com o argumento *env_dir*." -#: ../../library/venv.rst:360 +#: ../../library/venv.rst:375 msgid "An example of extending ``EnvBuilder``" msgstr "Um exemplo de extensão de ``EnvBuilder``" -#: ../../library/venv.rst:362 +#: ../../library/venv.rst:377 msgid "" "The following script shows how to extend :class:`EnvBuilder` by implementing " "a subclass which installs setuptools and pip into a created virtual " @@ -861,18 +902,18 @@ msgstr "" "O script a seguir mostra como estender :class:`EnvBuilder` implementando uma " "subclasse que instala setuptools e pip em um ambiente virtual criado::" -#: ../../library/venv.rst:581 +#: ../../library/venv.rst:596 msgid "" "This script is also available for download `online `_." msgstr "" -"Esse script também está disponível para download `online `_." +"Esse script também está disponível para download `online `_." #: ../../library/venv.rst:14 msgid "Environments" -msgstr "" +msgstr "Ambientes" #: ../../library/venv.rst:14 msgid "virtual" -msgstr "" +msgstr "virtual" diff --git a/library/warnings.po b/library/warnings.po index d3b6a5482..27df4f0a6 100644 --- a/library/warnings.po +++ b/library/warnings.po @@ -1,30 +1,27 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# a76d6fb6142d7607ab0526dcbddb02d7_7bf0da0 <3b5fb0f281c8dfb4c0170f2ee2a6cfcf_843623>, 2021 -# i17obot , 2021 -# Danilo Lima , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 +# Adorilson Bezerra , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Adorilson Bezerra , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -45,35 +42,35 @@ msgid "" "an obsolete module." msgstr "" "As mensagens de aviso são normalmente emitidas em situações em que é útil " -"alertar o usuário sobre alguma condição em um programa, onde essa condição " -"(normalmente) não garante o levantamento de uma exceção e o encerramento do " -"programa. Por exemplo, pode-se querer emitir um aviso quando um programa usa " -"um módulo obsoleto." +"alertar o usuário sobre alguma condição em um programa, em que essa condição " +"(normalmente) não garante o levantamento de uma exceção nem o encerramento " +"do programa. Por exemplo, pode-se querer emitir um aviso quando um programa " +"usa um módulo obsoleto." #: ../../library/warnings.rst:18 msgid "" "Python programmers issue warnings by calling the :func:`warn` function " -"defined in this module. (C programmers use :c:func:`PyErr_WarnEx`; see :ref:" -"`exceptionhandling` for details)." +"defined in this module. (C programmers use :c:func:`PyErr_WarnEx`; " +"see :ref:`exceptionhandling` for details)." msgstr "" -"Os programadores Python emitem avisos chamando a função :func:`warn` " -"definida neste módulo. (Os programadores C usam :c:func:`PyErr_WarnEx`; " +"Pessoas que programam em Python emitem avisos chamando a função :func:`warn` " +"definida neste módulo. (Com C usam :c:func:`PyErr_WarnEx`; " "veja :ref:`exceptionhandling` para detalhes)." #: ../../library/warnings.rst:22 msgid "" "Warning messages are normally written to :data:`sys.stderr`, but their " "disposition can be changed flexibly, from ignoring all warnings to turning " -"them into exceptions. The disposition of warnings can vary based on the :" -"ref:`warning category `, the text of the warning " +"them into exceptions. The disposition of warnings can vary based on " +"the :ref:`warning category `, the text of the warning " "message, and the source location where it is issued. Repetitions of a " "particular warning for the same source location are typically suppressed." msgstr "" "Mensagens de aviso são normalmente escritas no :data:`sys.stderr`, mas sua " "disposição pode ser alterada de forma flexível, desde ignorar todos os " "avisos até transformá-los em exceções. A disposição dos avisos pode variar " -"de acordo com :ref:`categoria de aviso `, o texto da " -"mensagem de aviso e o local de origem onde ela é emitida. As repetições de " +"de acordo com a :ref:`categoria de aviso `, o texto da " +"mensagem de aviso e o local de origem em que ela é emitida. As repetições de " "um aviso específico para o mesmo local de origem são normalmente suprimidas." #: ../../library/warnings.rst:29 @@ -84,23 +81,23 @@ msgid "" "settable hook." msgstr "" "Existem duas etapas no controle de avisos: primeiro, cada vez que um aviso é " -"emitido, é feita uma determinação se uma mensagem deve ser emitida ou não; a " -"seguir, se uma mensagem deve ser emitida, ela é formatada e impressa usando " -"um gancho configurável pelo usuário." +"emitido, determina-se se uma mensagem deve ser emitida ou não; a seguir, se " +"uma mensagem deve ser emitida, ela é formatada e impressa usando um gancho " +"configurável pelo usuário." #: ../../library/warnings.rst:33 msgid "" -"The determination whether to issue a warning message is controlled by the :" -"ref:`warning filter `, which is a sequence of matching rules " -"and actions. Rules can be added to the filter by calling :func:" -"`filterwarnings` and reset to its default state by calling :func:" -"`resetwarnings`." +"The determination whether to issue a warning message is controlled by " +"the :ref:`warning filter `, which is a sequence of matching " +"rules and actions. Rules can be added to the filter by " +"calling :func:`filterwarnings` and reset to its default state by " +"calling :func:`resetwarnings`." msgstr "" -"A determinação de emitir ou não uma mensagem de aviso é controlada pelo :ref:" -"`filtro de aviso `, que é uma sequência de regras e ações " -"correspondentes. As regras podem ser adicionadas ao filtro chamando :func:" -"`filterwarnings` e redefinidas para seu estado padrão chamando :func:" -"`resetwarnings`." +"A determinação de emitir ou não uma mensagem de aviso é controlada " +"pelo :ref:`filtro de aviso `, que é uma sequência de regras " +"e ações correspondentes. As regras podem ser adicionadas ao filtro " +"chamando :func:`filterwarnings` e redefinidas para o estado padrão " +"chamando :func:`resetwarnings`." #: ../../library/warnings.rst:38 msgid "" @@ -270,8 +267,8 @@ msgstr ":exc:`BytesWarning`" msgid "" "Base category for warnings related to :class:`bytes` and :class:`bytearray`." msgstr "" -"Categoria base para avisos relacionados a :class:`bytes` e :class:" -"`bytearray`." +"Categoria base para avisos relacionados a :class:`bytes` " +"e :class:`bytearray`." #: ../../library/warnings.rst:107 msgid ":exc:`ResourceWarning`" @@ -281,6 +278,8 @@ msgstr ":exc:`ResourceWarning`" msgid "" "Base category for warnings related to resource usage (ignored by default)." msgstr "" +"Categoria base para avisos relacionados a uso de recursos (ignorado por " +"padrão)." #: ../../library/warnings.rst:111 msgid "" @@ -315,10 +314,10 @@ msgid "" "(*action*, *message*, *category*, *module*, *lineno*), where:" msgstr "" "Conceitualmente, o filtro de avisos mantém uma lista ordenada de " -"especificações de filtro; qualquer aviso específico é comparado com cada " -"especificação de filtro na lista, por sua vez, até que uma correspondência " -"seja encontrada; o filtro determina a disposição da correspondência. Cada " -"entrada é uma tupla no formato (*action*, *message*, *category*, *module*, " +"especificações de filtro; qualquer aviso específico é comparado a cada " +"especificação de filtro na lista, até que uma correspondência seja " +"encontrada; o filtro determina a disposição da correspondência. Cada entrada " +"é uma tupla no formato (*action*, *message*, *category*, *module*, " "*lineno*), sendo:" #: ../../library/warnings.rst:133 @@ -395,11 +394,17 @@ msgstr "" #: ../../library/warnings.rst:156 msgid "" "*message* is a string containing a regular expression that the start of the " -"warning message must match, case-insensitively. In :option:`-W` and :envvar:" -"`PYTHONWARNINGS`, *message* is a literal string that the start of the " -"warning message must contain (case-insensitively), ignoring any whitespace " -"at the start or end of *message*." -msgstr "" +"warning message must match, case-insensitively. In :option:`-W` " +"and :envvar:`PYTHONWARNINGS`, *message* is a literal string that the start " +"of the warning message must contain (case-insensitively), ignoring any " +"whitespace at the start or end of *message*." +msgstr "" +"*message* é uma string contendo uma expressão regular à qual o início da " +"mensagem de aviso deve corresponder, sem distinção entre maiúsculas e " +"minúsculas. Em :option:`-W` e em :envvar:`PYTHONWARNINGS`, *message* é uma " +"string literal que o início da mensagem de aviso deve conter (sem distinção " +"entre maiúsculas e minúsculas), ignorando qualquer espaço em branco no " +"início ou no fim de *message*." #: ../../library/warnings.rst:162 msgid "" @@ -417,6 +422,12 @@ msgid "" "qualified module name must be equal to (case-sensitively), ignoring any " "whitespace at the start or end of *module*." msgstr "" +"*module* é uma string contendo uma expressão regular que o início do nome do " +"módulo totalmente qualificado deve corresponder, diferenciando maiúsculas de " +"minúsculas. Em :option:`-W` e em :envvar:`PYTHONWARNINGS`, *module* é uma " +"string literal cujo nome, o módulo totalmente qualificado, deve ser igual a " +"(diferenciando maiúsculas de minúsculas), ignorando qualquer espaço em " +"branco no início ou no fim de *module*." #: ../../library/warnings.rst:171 msgid "" @@ -432,7 +443,7 @@ msgid "" "class, to turn a warning into an error we simply raise ``category(message)``." msgstr "" "Como a classe :exc:`Warning` é derivada da classe embutida :exc:`Exception`, " -"para transformar um aviso em um erro, simplesmente levantamos " +"para transformar um aviso em um erro, basta levantarmos " "``category(message)``." #: ../../library/warnings.rst:177 @@ -441,11 +452,11 @@ msgid "" "\"default\" action is applied (hence its name)." msgstr "" "Se um aviso for relatado e não corresponder a nenhum filtro registrado, a " -"ação \"padrão\" será aplicada (daí seu nome)." +"ação \"default\" (padrão em inglês) será aplicada (daí o nome)." #: ../../library/warnings.rst:184 msgid "Describing Warning Filters" -msgstr "" +msgstr "Descrevendo filtros de aviso" #: ../../library/warnings.rst:186 msgid "" @@ -456,21 +467,29 @@ msgid "" "module parses these when it is first imported (invalid options are ignored, " "after printing a message to :data:`sys.stderr`)." msgstr "" +"O filtro de avisos é inicializado pelas opções :option:`-W` passadas para a " +"linha de comando do interpretador Python e para a variável de " +"ambiente :envvar:`PYTHONWARNINGS`. O interpretador salva os argumentos para " +"todas as entradas fornecidas sem interpretação em :data:`sys.warnoptions`; o " +"módulo :mod:`warnings` os analisa na primeira importação (opções inválidas " +"são ignoradas após a impressão de uma mensagem em :data:`sys.stderr`)." #: ../../library/warnings.rst:193 msgid "" "Individual warnings filters are specified as a sequence of fields separated " "by colons::" msgstr "" +"Os filtros de avisos individuais são especificados como uma sequência de " +"campos separados por dois pontos:" #: ../../library/warnings.rst:198 msgid "" "The meaning of each of these fields is as described in :ref:`warning-" -"filter`. When listing multiple filters on a single line (as for :envvar:" -"`PYTHONWARNINGS`), the individual filters are separated by commas and the " -"filters listed later take precedence over those listed before them (as " -"they're applied left-to-right, and the most recently applied filters take " -"precedence over earlier ones)." +"filter`. When listing multiple filters on a single line (as " +"for :envvar:`PYTHONWARNINGS`), the individual filters are separated by " +"commas and the filters listed later take precedence over those listed before " +"them (as they're applied left-to-right, and the most recently applied " +"filters take precedence over earlier ones)." msgstr "" #: ../../library/warnings.rst:205 @@ -505,8 +524,8 @@ msgstr "" #: ../../library/warnings.rst:238 msgid "" -":exc:`DeprecationWarning` is now ignored by default in addition to :exc:" -"`PendingDeprecationWarning`." +":exc:`DeprecationWarning` is now ignored by default in addition " +"to :exc:`PendingDeprecationWarning`." msgstr "" #: ../../library/warnings.rst:242 @@ -530,10 +549,10 @@ msgstr "" msgid "" "Developers of applications written in Python may wish to hide *all* Python " "level warnings from their users by default, and only display them when " -"running tests or otherwise working on the application. The :data:`sys." -"warnoptions` attribute used to pass filter configurations to the interpreter " -"can be used as a marker to indicate whether or not warnings should be " -"disabled::" +"running tests or otherwise working on the application. " +"The :data:`sys.warnoptions` attribute used to pass filter configurations to " +"the interpreter can be used as a marker to indicate whether or not warnings " +"should be disabled::" msgstr "" #: ../../library/warnings.rst:269 @@ -656,7 +675,7 @@ msgstr "" #: ../../library/warnings.rst:396 msgid "Available Functions" -msgstr "" +msgstr "Funções disponíveis" #: ../../library/warnings.rst:401 msgid "" @@ -680,13 +699,13 @@ msgstr "" #: ../../library/warnings.rst:417 ../../library/warnings.rst:440 msgid "" -"*source*, if supplied, is the destroyed object which emitted a :exc:" -"`ResourceWarning`." +"*source*, if supplied, is the destroyed object which emitted " +"a :exc:`ResourceWarning`." msgstr "" #: ../../library/warnings.rst:420 msgid "Added *source* parameter." -msgstr "" +msgstr "Adicionado o parâmetro *source*." #: ../../library/warnings.rst:426 msgid "" @@ -710,26 +729,26 @@ msgstr "" #: ../../library/warnings.rst:443 msgid "Add the *source* parameter." -msgstr "" +msgstr "Adiciona o parâmetro *source*." #: ../../library/warnings.rst:449 msgid "" "Write a warning to a file. The default implementation calls " "``formatwarning(message, category, filename, lineno, line)`` and writes the " "resulting string to *file*, which defaults to :data:`sys.stderr`. You may " -"replace this function with any callable by assigning to ``warnings." -"showwarning``. *line* is a line of source code to be included in the warning " -"message; if *line* is not supplied, :func:`showwarning` will try to read the " -"line specified by *filename* and *lineno*." +"replace this function with any callable by assigning to " +"``warnings.showwarning``. *line* is a line of source code to be included in " +"the warning message; if *line* is not supplied, :func:`showwarning` will try " +"to read the line specified by *filename* and *lineno*." msgstr "" #: ../../library/warnings.rst:460 msgid "" "Format a warning the standard way. This returns a string which may contain " "embedded newlines and ends in a newline. *line* is a line of source code to " -"be included in the warning message; if *line* is not supplied, :func:" -"`formatwarning` will try to read the line specified by *filename* and " -"*lineno*." +"be included in the warning message; if *line* is not " +"supplied, :func:`formatwarning` will try to read the line specified by " +"*filename* and *lineno*." msgstr "" #: ../../library/warnings.rst:469 @@ -747,10 +766,10 @@ msgstr "" #: ../../library/warnings.rst:481 msgid "" "Insert a simple entry into the list of :ref:`warnings filter specifications " -"`. The meaning of the function parameters is as for :func:" -"`filterwarnings`, but regular expressions are not needed as the filter " -"inserted always matches any message in any module as long as the category " -"and line number match." +"`. The meaning of the function parameters is as " +"for :func:`filterwarnings`, but regular expressions are not needed as the " +"filter inserted always matches any message in any module as long as the " +"category and line number match." msgstr "" #: ../../library/warnings.rst:490 @@ -762,18 +781,27 @@ msgstr "" #: ../../library/warnings.rst:496 msgid "Available Context Managers" -msgstr "" +msgstr "Gerenciadores de contexto disponíveis" #: ../../library/warnings.rst:500 msgid "" "A context manager that copies and, upon exit, restores the warnings filter " -"and the :func:`showwarning` function. If the *record* argument is :const:" -"`False` (the default) the context manager returns :class:`None` on entry. If " -"*record* is :const:`True`, a list is returned that is progressively " -"populated with objects as seen by a custom :func:`showwarning` function " -"(which also suppresses output to ``sys.stdout``). Each object in the list " -"has attributes with the same names as the arguments to :func:`showwarning`." -msgstr "" +"and the :func:`showwarning` function. If the *record* argument " +"is :const:`False` (the default) the context manager returns :class:`None` on " +"entry. If *record* is :const:`True`, a list is returned that is " +"progressively populated with objects as seen by a custom :func:`showwarning` " +"function (which also suppresses output to ``sys.stdout``). Each object in " +"the list has attributes with the same names as the arguments " +"to :func:`showwarning`." +msgstr "" +"Um gerenciador de contexto que copia e, ao sair, restaura o filtro de avisos " +"e a função :func:`showwarning`. Se o argumento *record* for :const:`False` " +"(o padrão), o gerenciador de contexto retorna :class:`None` na entrada. Se " +"*record* for :const:`True`, será retornada uma lista que é preenchida " +"progressivamente com objetos conforme vistos por uma " +"função :func:`showwarning` personalizada (que também suprime a saída para " +"``sys.stdout``). Cada objeto na lista tem atributos com os mesmos nomes que " +"os argumentos de :func:`showwarning`." #: ../../library/warnings.rst:509 msgid "" @@ -781,6 +809,10 @@ msgid "" "returned when you import :mod:`warnings` whose filter will be protected. " "This argument exists primarily for testing the :mod:`warnings` module itself." msgstr "" +"O argumento *module* recebe um módulo que será usado em vez do módulo " +"retornado quando você importar :mod:`warnings` cujo filtro será protegido. " +"Esse argumento serve principalmente para testar o módulo :mod:`warnings` em " +"si." #: ../../library/warnings.rst:514 msgid "" @@ -788,6 +820,9 @@ msgid "" "to :func:`simplefilter` as if it were called immediately on entering the " "context." msgstr "" +"Se o argumento *action* não for ``None``, os argumentos restantes serão " +"passados para :func:`simplefilter` como se fossem chamados imediatamente ao " +"entrar no contexto." #: ../../library/warnings.rst:520 msgid "" @@ -799,8 +834,8 @@ msgstr "" #: ../../library/warnings.rst:528 msgid "Added the *action*, *category*, *lineno*, and *append* parameters." -msgstr "" +msgstr "Adicionados os parâmetros *action*, *category*, *lineno* e *append*." #: ../../library/warnings.rst:9 msgid "warnings" -msgstr "warnings" +msgstr "avisos" diff --git a/library/wave.po b/library/wave.po index 1cd686357..17a2d7fd0 100644 --- a/library/wave.po +++ b/library/wave.po @@ -1,27 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Gustavo Reis, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: Gustavo Reis, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,43 +34,43 @@ msgstr "**Código-fonte:** :source:`Lib/wave.py`" #: ../../library/wave.rst:14 msgid "" -"The :mod:`wave` module provides a convenient interface to the WAV sound " -"format. Only files using ``WAVE_FORMAT_PCM`` are supported. Note that this " -"does not include files using ``WAVE_FORMAT_EXTENSIBLE`` even if the " -"subformat is PCM." +"The :mod:`wave` module provides a convenient interface to the Waveform Audio " +"\"WAVE\" (or \"WAV\") file format. Only files using ``WAVE_FORMAT_PCM`` are " +"supported. Note that this does not include files using " +"``WAVE_FORMAT_EXTENSIBLE`` even if the subformat is PCM." msgstr "" -#: ../../library/wave.rst:18 +#: ../../library/wave.rst:19 msgid "The :mod:`wave` module defines the following function and exception:" msgstr "" -#: ../../library/wave.rst:23 +#: ../../library/wave.rst:24 msgid "" "If *file* is a string, open the file by that name, otherwise treat it as a " "file-like object. *mode* can be:" msgstr "" -#: ../../library/wave.rst:27 +#: ../../library/wave.rst:28 msgid "``'rb'``" msgstr "``'rb'``" -#: ../../library/wave.rst:27 +#: ../../library/wave.rst:28 msgid "Read only mode." msgstr "Modo somente para leitura." -#: ../../library/wave.rst:30 +#: ../../library/wave.rst:31 msgid "``'wb'``" msgstr "``'wb'``" -#: ../../library/wave.rst:30 +#: ../../library/wave.rst:31 msgid "Write only mode." msgstr "Modo somente para escrita." -#: ../../library/wave.rst:32 +#: ../../library/wave.rst:33 msgid "Note that it does not allow read/write WAV files." msgstr "" -#: ../../library/wave.rst:34 +#: ../../library/wave.rst:35 msgid "" "A *mode* of ``'rb'`` returns a :class:`Wave_read` object, while a *mode* of " "``'wb'`` returns a :class:`Wave_write` object. If *mode* is omitted and a " @@ -79,22 +78,21 @@ msgid "" "value for *mode*." msgstr "" -#: ../../library/wave.rst:39 +#: ../../library/wave.rst:40 msgid "" "If you pass in a file-like object, the wave object will not close it when " -"its :meth:`close` method is called; it is the caller's responsibility to " -"close the file object." +"its ``close()`` method is called; it is the caller's responsibility to close " +"the file object." msgstr "" -#: ../../library/wave.rst:43 +#: ../../library/wave.rst:44 msgid "" "The :func:`.open` function may be used in a :keyword:`with` statement. When " -"the :keyword:`!with` block completes, the :meth:`Wave_read.close() ` or :meth:`Wave_write.close() ` " -"method is called." +"the :keyword:`!with` block completes, the :meth:`Wave_read.close()` " +"or :meth:`Wave_write.close()` method is called." msgstr "" -#: ../../library/wave.rst:48 ../../library/wave.rst:164 +#: ../../library/wave.rst:48 ../../library/wave.rst:172 msgid "Added support for unseekable files." msgstr "" @@ -108,77 +106,78 @@ msgstr "" msgid "Wave_read Objects" msgstr "Objetos Wave_read" -#: ../../library/wave.rst:62 +#: ../../library/wave.rst:64 +msgid "Read a WAV file." +msgstr "" + +#: ../../library/wave.rst:66 msgid "" "Wave_read objects, as returned by :func:`.open`, have the following methods:" msgstr "" -#: ../../library/wave.rst:67 +#: ../../library/wave.rst:71 msgid "" "Close the stream if it was opened by :mod:`wave`, and make the instance " "unusable. This is called automatically on object collection." msgstr "" -#: ../../library/wave.rst:73 +#: ../../library/wave.rst:77 msgid "Returns number of audio channels (``1`` for mono, ``2`` for stereo)." msgstr "" -#: ../../library/wave.rst:78 +#: ../../library/wave.rst:82 msgid "Returns sample width in bytes." msgstr "Retorna a largura da amostra em bytes." -#: ../../library/wave.rst:83 +#: ../../library/wave.rst:87 msgid "Returns sampling frequency." msgstr "Retorna a frequência de amostragem." -#: ../../library/wave.rst:88 +#: ../../library/wave.rst:92 msgid "Returns number of audio frames." msgstr "Retorna o número de quadros de áudio." -#: ../../library/wave.rst:93 +#: ../../library/wave.rst:97 msgid "Returns compression type (``'NONE'`` is the only supported type)." msgstr "" -#: ../../library/wave.rst:98 +#: ../../library/wave.rst:102 msgid "" "Human-readable version of :meth:`getcomptype`. Usually ``'not compressed'`` " "parallels ``'NONE'``." msgstr "" -#: ../../library/wave.rst:104 +#: ../../library/wave.rst:108 msgid "" "Returns a :func:`~collections.namedtuple` ``(nchannels, sampwidth, " -"framerate, nframes, comptype, compname)``, equivalent to output of the :meth:" -"`get\\*` methods." +"framerate, nframes, comptype, compname)``, equivalent to output of the " +"``get*()`` methods." msgstr "" -"Retorna uma :func:`~collections.namedtuple` ``(nchannels, sampwidth, " -"framerate, nframes, comptype, compname)``, equivalente à saída dos métodos :" -"meth:`get\\*`." -#: ../../library/wave.rst:111 +#: ../../library/wave.rst:115 msgid "" "Reads and returns at most *n* frames of audio, as a :class:`bytes` object." msgstr "" -#: ../../library/wave.rst:116 +#: ../../library/wave.rst:120 msgid "Rewind the file pointer to the beginning of the audio stream." msgstr "Volta o ponteiro do arquivo para o início do fluxo de áudio." -#: ../../library/wave.rst:118 +#: ../../library/wave.rst:122 msgid "" "The following two methods are defined for compatibility with the :mod:`aifc` " "module, and don't do anything interesting." msgstr "" -#: ../../library/wave.rst:124 +#: ../../library/wave.rst:128 msgid "Returns ``None``." msgstr "Retorna ``None``." -#: ../../library/wave.rst:129 +#: ../../library/wave.rst:133 msgid "Raise an error." msgstr "Levanta um erro." -#: ../../library/wave.rst:131 +#: ../../library/wave.rst:135 msgid "" "The following two methods define a term \"position\" which is compatible " "between them, and is otherwise implementation dependent." @@ -186,98 +185,103 @@ msgstr "" "Os dois métodos a seguir definem um termo \"posição\" que é compatível entre " "eles e é dependente da implementação." -#: ../../library/wave.rst:137 +#: ../../library/wave.rst:141 msgid "Set the file pointer to the specified position." -msgstr "" +msgstr "Define o ponteiro de arquivo para a posição especificada." -#: ../../library/wave.rst:142 +#: ../../library/wave.rst:146 msgid "Return current file pointer position." -msgstr "" +msgstr "Retorna a posição atual do ponteiro de arquivo." -#: ../../library/wave.rst:148 +#: ../../library/wave.rst:152 msgid "Wave_write Objects" msgstr "Objetos Wave_write" -#: ../../library/wave.rst:150 +#: ../../library/wave.rst:156 +msgid "Write a WAV file." +msgstr "Escreve um arquivo WAV." + +#: ../../library/wave.rst:158 +msgid "Wave_write objects, as returned by :func:`.open`." +msgstr "Objetos Wave_write, como retornados por :func:`.open`." + +#: ../../library/wave.rst:160 msgid "" "For seekable output streams, the ``wave`` header will automatically be " "updated to reflect the number of frames actually written. For unseekable " "streams, the *nframes* value must be accurate when the first frame data is " -"written. An accurate *nframes* value can be achieved either by calling :" -"meth:`~Wave_write.setnframes` or :meth:`~Wave_write.setparams` with the " -"number of frames that will be written before :meth:`~Wave_write.close` is " -"called and then using :meth:`~Wave_write.writeframesraw` to write the frame " -"data, or by calling :meth:`~Wave_write.writeframes` with all of the frame " -"data to be written. In the latter case :meth:`~Wave_write.writeframes` will " -"calculate the number of frames in the data and set *nframes* accordingly " -"before writing the frame data." +"written. An accurate *nframes* value can be achieved either by " +"calling :meth:`setnframes` or :meth:`setparams` with the number of frames " +"that will be written before :meth:`close` is called and then " +"using :meth:`writeframesraw` to write the frame data, or by " +"calling :meth:`writeframes` with all of the frame data to be written. In " +"the latter case :meth:`writeframes` will calculate the number of frames in " +"the data and set *nframes* accordingly before writing the frame data." msgstr "" -#: ../../library/wave.rst:162 -msgid "" -"Wave_write objects, as returned by :func:`.open`, have the following methods:" +#: ../../library/wave.rst:175 +msgid "Wave_write objects have the following methods:" msgstr "" -#: ../../library/wave.rst:170 +#: ../../library/wave.rst:179 msgid "" -"Make sure *nframes* is correct, and close the file if it was opened by :mod:" -"`wave`. This method is called upon object collection. It will raise an " -"exception if the output stream is not seekable and *nframes* does not match " -"the number of frames actually written." +"Make sure *nframes* is correct, and close the file if it was opened " +"by :mod:`wave`. This method is called upon object collection. It will " +"raise an exception if the output stream is not seekable and *nframes* does " +"not match the number of frames actually written." msgstr "" -#: ../../library/wave.rst:178 +#: ../../library/wave.rst:187 msgid "Set the number of channels." msgstr "Define o número de canais." -#: ../../library/wave.rst:183 +#: ../../library/wave.rst:192 msgid "Set the sample width to *n* bytes." msgstr "" -#: ../../library/wave.rst:188 +#: ../../library/wave.rst:197 msgid "Set the frame rate to *n*." msgstr "" -#: ../../library/wave.rst:190 +#: ../../library/wave.rst:199 msgid "A non-integral input to this method is rounded to the nearest integer." msgstr "" -#: ../../library/wave.rst:197 +#: ../../library/wave.rst:206 msgid "" "Set the number of frames to *n*. This will be changed later if the number " "of frames actually written is different (this update attempt will raise an " "error if the output stream is not seekable)." msgstr "" -#: ../../library/wave.rst:204 +#: ../../library/wave.rst:213 msgid "" "Set the compression type and description. At the moment, only compression " "type ``NONE`` is supported, meaning no compression." msgstr "" -#: ../../library/wave.rst:210 +#: ../../library/wave.rst:219 msgid "" "The *tuple* should be ``(nchannels, sampwidth, framerate, nframes, comptype, " -"compname)``, with values valid for the :meth:`set\\*` methods. Sets all " +"compname)``, with values valid for the ``set*()`` methods. Sets all " "parameters." msgstr "" -#: ../../library/wave.rst:217 +#: ../../library/wave.rst:226 msgid "" -"Return current position in the file, with the same disclaimer for the :meth:" -"`Wave_read.tell` and :meth:`Wave_read.setpos` methods." +"Return current position in the file, with the same disclaimer for " +"the :meth:`Wave_read.tell` and :meth:`Wave_read.setpos` methods." msgstr "" -#: ../../library/wave.rst:223 +#: ../../library/wave.rst:232 msgid "Write audio frames, without correcting *nframes*." msgstr "Escreve quadros de áudio, sem corrigir *nframes*." -#: ../../library/wave.rst:225 ../../library/wave.rst:236 +#: ../../library/wave.rst:234 ../../library/wave.rst:245 msgid "Any :term:`bytes-like object` is now accepted." -msgstr "" -"Todo :term:`objeto byte ou similar ` agora é aceito." +msgstr "Todo :term:`objeto bytes ou similar` agora é aceito." -#: ../../library/wave.rst:231 +#: ../../library/wave.rst:240 msgid "" "Write audio frames and make sure *nframes* is correct. It will raise an " "error if the output stream is not seekable and the total number of frames " @@ -285,9 +289,9 @@ msgid "" "previously set value for *nframes*." msgstr "" -#: ../../library/wave.rst:240 +#: ../../library/wave.rst:248 msgid "" -"Note that it is invalid to set any parameters after calling :meth:" -"`writeframes` or :meth:`writeframesraw`, and any attempt to do so will " -"raise :exc:`wave.Error`." +"Note that it is invalid to set any parameters after " +"calling :meth:`writeframes` or :meth:`writeframesraw`, and any attempt to do " +"so will raise :exc:`wave.Error`." msgstr "" diff --git a/library/weakref.po b/library/weakref.po index fe57ed5a3..26eed6b09 100644 --- a/library/weakref.po +++ b/library/weakref.po @@ -1,34 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# And Past , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/weakref.rst:4 msgid ":mod:`weakref` --- Weak references" -msgstr "" +msgstr ":mod:`weakref` --- Referências fracas" #: ../../library/weakref.rst:14 msgid "**Source code:** :source:`Lib/weakref.py`" @@ -39,22 +36,32 @@ msgid "" "The :mod:`weakref` module allows the Python programmer to create :dfn:`weak " "references` to objects." msgstr "" +"O módulo :mod:`weakref` permite ao programador Python " +"criar :dfn:`referências fracas` para objetos." #: ../../library/weakref.rst:24 msgid "" "In the following, the term :dfn:`referent` means the object which is " "referred to by a weak reference." msgstr "" +"A seguir, o termo :dfn:`referente` significa o objeto ao qual é referido por " +"uma referência fraca." #: ../../library/weakref.rst:27 msgid "" "A weak reference to an object is not enough to keep the object alive: when " -"the only remaining references to a referent are weak references, :term:" -"`garbage collection` is free to destroy the referent and reuse its memory " -"for something else. However, until the object is actually destroyed the " -"weak reference may return the object even if there are no strong references " -"to it." -msgstr "" +"the only remaining references to a referent are weak " +"references, :term:`garbage collection` is free to destroy the referent and " +"reuse its memory for something else. However, until the object is actually " +"destroyed the weak reference may return the object even if there are no " +"strong references to it." +msgstr "" +"Uma referência fraca a um objeto não é suficiente para mantê-lo vivo: quando " +"as únicas referências restantes a um referente são referências fracas, " +"a :term:`coleta de lixo` está livre para destruir o referente e reutilizar " +"sua memória para outra coisa. Entretanto, até que o objeto seja realmente " +"destruído, a referência fraca poderá retornar o objeto mesmo que não haja " +"referências fortes a ele." #: ../../library/weakref.rst:33 msgid "" @@ -62,32 +69,54 @@ msgid "" "large objects, where it's desired that a large object not be kept alive " "solely because it appears in a cache or mapping." msgstr "" +"Um uso principal para referências fracas é implementar caches ou mapeamentos " +"contendo objetos grandes, onde é desejado que um objeto grande não seja " +"mantido ativo apenas porque aparece em um cache ou mapeamento." #: ../../library/weakref.rst:37 msgid "" "For example, if you have a number of large binary image objects, you may " "wish to associate a name with each. If you used a Python dictionary to map " "names to images, or images to names, the image objects would remain alive " -"just because they appeared as values or keys in the dictionaries. The :" -"class:`WeakKeyDictionary` and :class:`WeakValueDictionary` classes supplied " -"by the :mod:`weakref` module are an alternative, using weak references to " -"construct mappings that don't keep objects alive solely because they appear " -"in the mapping objects. If, for example, an image object is a value in a :" -"class:`WeakValueDictionary`, then when the last remaining references to that " -"image object are the weak references held by weak mappings, garbage " -"collection can reclaim the object, and its corresponding entries in weak " -"mappings are simply deleted." -msgstr "" +"just because they appeared as values or keys in the dictionaries. " +"The :class:`WeakKeyDictionary` and :class:`WeakValueDictionary` classes " +"supplied by the :mod:`weakref` module are an alternative, using weak " +"references to construct mappings that don't keep objects alive solely " +"because they appear in the mapping objects. If, for example, an image " +"object is a value in a :class:`WeakValueDictionary`, then when the last " +"remaining references to that image object are the weak references held by " +"weak mappings, garbage collection can reclaim the object, and its " +"corresponding entries in weak mappings are simply deleted." +msgstr "" +"Por exemplo, se você tiver vários objetos de imagem binária grandes, poderá " +"associar um nome a cada um. Se você usasse um dicionário Python para mapear " +"nomes para imagens, ou imagens para nomes, os objetos de imagem " +"permaneceriam vivos apenas porque apareceriam como valores ou chaves nos " +"dicionários. As classes :class:`WeakKeyDictionary` " +"e :class:`WeakValueDictionary` fornecidas pelo módulo :mod:`weakref` são uma " +"alternativa, usando referências fracas para construir mapeamentos que não " +"mantêm objetos vivos apenas porque aparecem nos objetos de mapeamento. Se, " +"por exemplo, um objeto de imagem for um valor em " +"um :class:`WeakValueDictionary`, então quando as últimas referências " +"restantes a esse objeto de imagem forem as referências fracas mantidas por " +"mapeamentos fracos, a coleta de lixo poderá recuperar o objeto e suas " +"entradas correspondentes em mapeamentos fracos são simplesmente excluídos." #: ../../library/weakref.rst:50 msgid "" ":class:`WeakKeyDictionary` and :class:`WeakValueDictionary` use weak " "references in their implementation, setting up callback functions on the " "weak references that notify the weak dictionaries when a key or value has " -"been reclaimed by garbage collection. :class:`WeakSet` implements the :" -"class:`set` interface, but keeps weak references to its elements, just like " -"a :class:`WeakKeyDictionary` does." +"been reclaimed by garbage collection. :class:`WeakSet` implements " +"the :class:`set` interface, but keeps weak references to its elements, just " +"like a :class:`WeakKeyDictionary` does." msgstr "" +":class:`WeakKeyDictionary` e :class:`WeakValueDictionary` usam referências " +"fracas em sua implementação, configurando funções de retorno de chamada nas " +"referências fracas que notificam os dicionários fracos quando uma chave ou " +"valor foi recuperado pela coleta de lixo. :class:`WeakSet` implementa a " +"interface :class:`set`, mas mantém referências fracas aos seus elementos, " +"assim como :class:`WeakKeyDictionary` faz." #: ../../library/weakref.rst:57 msgid "" @@ -97,14 +126,24 @@ msgid "" "the module automatically ensures that the finalizer remains alive until the " "object is collected." msgstr "" +":class:`finalize` fornece uma maneira direta de registrar uma função de " +"limpeza a ser chamada quando um objeto é coletado como lixo. Isso é mais " +"simples de usar do que configurar uma função de retorno de chamada em uma " +"referência fraca não tratada, pois o módulo garante automaticamente que o " +"finalizador permaneça ativo até que o objeto seja coletado." #: ../../library/weakref.rst:63 msgid "" -"Most programs should find that using one of these weak container types or :" -"class:`finalize` is all they need -- it's not usually necessary to create " -"your own weak references directly. The low-level machinery is exposed by " -"the :mod:`weakref` module for the benefit of advanced uses." +"Most programs should find that using one of these weak container types " +"or :class:`finalize` is all they need -- it's not usually necessary to " +"create your own weak references directly. The low-level machinery is " +"exposed by the :mod:`weakref` module for the benefit of advanced uses." msgstr "" +"A maioria dos programas deve descobrir que usar um desses tipos de " +"contêineres fracos ou :class:`finalize` é tudo que eles precisam -- " +"geralmente não é necessário criar suas próprias referências fracas " +"diretamente. O maquinário de baixo nível é exposto pelo " +"módulo :mod:`weakref` para benefício de usos avançados." #: ../../library/weakref.rst:68 msgid "" @@ -114,28 +153,41 @@ msgid "" "object>`, :term:`generators `, type objects, sockets, arrays, " "deques, regular expression pattern objects, and code objects." msgstr "" +"Nem todos os objetos podem ser referenciados de maneira fraca. Objetos que " +"oferecem suporte a referências fracas incluem instâncias de classe, funções " +"escritas em Python (mas não em C), métodos de instância, conjuntos, " +"frozensets, alguns :term:`objetos arquivos `, :term:`geradores `, objetos tipo, sockets, arrays, " +"deques, objetos padrão de expressão regular e objetos código." #: ../../library/weakref.rst:74 msgid "Added support for thread.lock, threading.Lock, and code objects." -msgstr "" +msgstr "Adicionado suporte para thread.lock, threading.Lock e objetos código." #: ../../library/weakref.rst:77 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 "" +"Vários tipos embutidos como :class:`list` e :class:`dict` não oferecem " +"suporta diretamente a referências fracas, mas podem adicionar suporte " +"através de subclasses::" #: ../../library/weakref.rst:87 msgid "" "Other built-in types such as :class:`tuple` and :class:`int` do not support " "weak references even when subclassed." msgstr "" +"Outros tipos embutidos como :class:`tuple` e :class:`int` não oferecem " +"suporte a referências fracas mesmo em subclasses." #: ../../library/weakref.rst:90 msgid "" -"Extension types can easily be made to support weak references; see :ref:" -"`weakref-support`." +"Extension types can easily be made to support weak references; " +"see :ref:`weakref-support`." msgstr "" +"Os tipos de extensão podem ser facilmente criados para oferecer suporte a " +"referências fracas; veja :ref:`weakref-support`." #: ../../library/weakref.rst:93 msgid "" @@ -144,18 +196,30 @@ msgid "" "of strings in the ``__slots__`` declaration. See :ref:`__slots__ " "documentation ` for details." msgstr "" +"Quando ``__slots__`` são definidos para um determinado tipo, o suporte a " +"referência fraca é desativado a menos que uma string ``'__weakref__'`` " +"também esteja presente na sequência de strings na declaração de " +"``__slots__``. Veja a :ref:`documentação de __slots__ ` para detalhes." #: ../../library/weakref.rst:100 msgid "" "Return a weak reference to *object*. The original object can be retrieved " "by calling the reference object if the referent is still alive; if the " -"referent is no longer alive, calling the reference object will cause :const:" -"`None` to be returned. If *callback* is provided and not :const:`None`, and " -"the returned weakref object is still alive, the callback will be called when " -"the object is about to be finalized; the weak reference object will be " -"passed as the only parameter to the callback; the referent will no longer be " -"available." -msgstr "" +"referent is no longer alive, calling the reference object will " +"cause :const:`None` to be returned. If *callback* is provided and " +"not :const:`None`, and the returned weakref object is still alive, the " +"callback will be called when the object is about to be finalized; the weak " +"reference object will be passed as the only parameter to the callback; the " +"referent will no longer be available." +msgstr "" +"Retorna uma referência fraca para *object*. O objeto original pode ser " +"recuperado chamando o objeto referência se o referente ainda estiver ativo; " +"se o referente não estiver mais ativo, chamar o objeto referência fará com " +"que :const:`None` seja retornado. Se *callback* for fornecido e não " +"for :const:`None`, e o objeto referência fraca retornado ainda estiver " +"ativo, o função de retorno será chamada quando o objeto estiver prestes a " +"ser finalizado; o objeto referência fraca será passado como único parâmetro " +"para a função de retorno; o referente não estará mais disponível." #: ../../library/weakref.rst:108 msgid "" @@ -163,21 +227,33 @@ msgid "" "object. Callbacks registered for each weak reference will be called from the " "most recently registered callback to the oldest registered callback." msgstr "" +"É permitido que muitas referências fracas sejam construídas para o mesmo " +"objeto. As funções de retorno registradas para cada referência fraca serão " +"chamadas da função de retorno registrada mais recentemente para a função de " +"retorno registrada mais antiga." #: ../../library/weakref.rst:112 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:`__del__` method." +"as exceptions raised from an object's :meth:`~object.__del__` method." msgstr "" +"As exceções levantadas pela função de retorno serão anotadas na saída de " +"erro padrão, mas não poderão ser propagadas; elas são tratadas exatamente da " +"mesma maneira que as exceções levantadas pelo método :meth:`~object.__del__` " +"de um objeto." #: ../../library/weakref.rst:116 msgid "" "Weak references are :term:`hashable` if the *object* is hashable. They will " -"maintain their hash value even after the *object* was deleted. If :func:" -"`hash` is called the first time only after the *object* was deleted, the " -"call will raise :exc:`TypeError`." +"maintain their hash value even after the *object* was deleted. " +"If :func:`hash` is called the first time only after the *object* was " +"deleted, the call will raise :exc:`TypeError`." msgstr "" +"Referências fracas são :term:`hasheáveis ` se o *object* for " +"hasheável. Elas manterão seu valor de hash mesmo depois que *object* for " +"excluído. Se :func:`hash` for chamada pela primeira vez somente após o " +"*object* ter sido excluído, a chamada vai levantar :exc:`TypeError`." #: ../../library/weakref.rst:121 msgid "" @@ -187,10 +263,17 @@ msgid "" "referent has been deleted, the references are equal only if the reference " "objects are the same object." msgstr "" +"Referências fracas oferecem suporte a testes de igualdade, mas não de " +"ordenação. Se os referentes ainda estiverem vivos, duas referências terão a " +"mesma relação de igualdade que seus referentes (independentemente do " +"*callback*). Se um dos referentes tiver sido excluído, as referências serão " +"iguais somente se os objetos referência forem o mesmo objeto." #: ../../library/weakref.rst:126 msgid "This is a subclassable type rather than a factory function." msgstr "" +"Este é um tipo do qual pode ser feita subclasse em vez de uma função de " +"fábrica." #: ../../library/weakref.rst:130 msgid "" @@ -198,10 +281,14 @@ msgid "" "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 "" +"Este atributo somente leitura retorna a função de retorno atualmente " +"associada à referência fraca. Se não houver função de retorno ou se o " +"referente da referência fraca não estiver mais ativo, então este atributo " +"terá o valor ``None``." #: ../../library/weakref.rst:134 msgid "Added the :attr:`__callback__` attribute." -msgstr "" +msgstr "Adicionado o atributo :attr:`__callback__`." #: ../../library/weakref.rst:140 msgid "" @@ -212,32 +299,49 @@ msgid "" "whether *object* is callable. Proxy objects are not :term:`hashable` " "regardless of the referent; this avoids a number of problems related to " "their fundamentally mutable nature, and prevents their use as dictionary " -"keys. *callback* is the same as the parameter of the same name to the :func:" -"`ref` function." -msgstr "" +"keys. *callback* is the same as the parameter of the same name to " +"the :func:`ref` function." +msgstr "" +"Retorna um intermediário (proxy, em inglês) para *object* que usa uma " +"referência fraca. Isto provê suporte ao uso do intermediário na maioria dos " +"contextos, em vez de exigir a desreferenciação explícita usada com objetos " +"de referência fraca. O objeto retornado terá um tipo ``ProxyType`` ou " +"``CallableProxyType``, dependendo se *object* é chamável. Objetos " +"intermediários não são :term:`hasheáveis ` independentemente do " +"referente; isso evita uma série de problemas relacionados à sua natureza " +"fundamentalmente mutável e impede seu uso como chaves de dicionário. " +"*callback* é igual ao parâmetro de mesmo nome da função :func:`ref`." #: ../../library/weakref.rst:149 msgid "" "Accessing an attribute of the proxy object after the referent is garbage " "collected raises :exc:`ReferenceError`." msgstr "" +"Acessar um atributo do objeto intermediário depois que o referente é " +"coletado como lixo levanta :exc:`ReferenceError`." #: ../../library/weakref.rst:152 msgid "" "Extended the operator support on proxy objects to include the matrix " "multiplication operators ``@`` and ``@=``." msgstr "" +"Estendeu o suporte ao operador em objetos intermediários para incluir os " +"operadores ``@`` e ``@=`` para multiplicação de matrizes." #: ../../library/weakref.rst:159 msgid "" "Return the number of weak references and proxies which refer to *object*." msgstr "" +"Retorna o número de referências fracas e intermediários que fazem referência " +"a *object*." #: ../../library/weakref.rst:164 msgid "" "Return a list of all weak reference and proxy objects which refer to " "*object*." msgstr "" +"Retorna uma lista de todos os objetos intermediários e de referência fraca " +"que fazem referência a *object*." #: ../../library/weakref.rst:169 msgid "" @@ -247,6 +351,12 @@ msgid "" "of an application without adding attributes to those objects. This can be " "especially useful with objects that override attribute accesses." msgstr "" +"Classe de mapeamento que faz referência fraca a chaves. Entradas no " +"dicionário serão descartadas quando não houver mais uma referência forte à " +"chave. Isso pode ser usado para associar dados adicionais a um objeto de " +"propriedade de outras partes de uma aplicação sem adicionar atributos a " +"esses objetos. Isso pode ser especialmente útil com objetos que substituem " +"acessos de atributos." #: ../../library/weakref.rst:175 msgid "" @@ -255,16 +365,20 @@ 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 "" +"Note que quando uma chave com valor igual a uma chave existente (mas não " +"identidade igual) é inserida no dicionário, ela substitui o valor, mas não " +"substitui a chave existente. Devido a isso, quando a referência à chave " +"original é excluída, ela também exclui a entrada no dicionário::" #: ../../library/weakref.rst:188 msgid "A workaround would be to remove the key prior to reassignment::" -msgstr "" +msgstr "Uma solução alternativa seria remover a chave antes da reatribuição::" #: ../../library/weakref.rst:199 msgid "Added support for ``|`` and ``|=`` operators, specified in :pep:`584`." msgstr "" -"Adicionado suporte para os operadores ``|`` e ``|=``, especificados na :pep:" -"`584`." +"Adicionado suporte para os operadores ``|`` e ``|=``, especificados " +"na :pep:`584`." #: ../../library/weakref.rst:202 msgid "" @@ -275,40 +389,54 @@ msgid "" "references that will cause the garbage collector to keep the keys around " "longer than needed." msgstr "" +"Objetos :class:`WeakKeyDictionary` têm um método adicional que expõe as " +"referências internas diretamente. Não há garantia de que as referências " +"estejam \"ativas\" no momento em que são usadas, então o resultado da " +"chamada das referências precisa ser verificado antes de ser usado. Isso pode " +"ser usado para evitar a criação de referências que farão com que o coletor " +"de lixo mantenha as chaves por mais tempo do que o necessário." #: ../../library/weakref.rst:212 msgid "Return an iterable of the weak references to the keys." -msgstr "" +msgstr "Retorna um iterável das referências fracas às chaves." #: ../../library/weakref.rst:217 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 "" +"Classe de mapeamento que faz referência fraca a valores. Entradas no " +"dicionário serão descartadas quando nenhuma referência forte ao valor " +"existir mais." #: ../../library/weakref.rst:220 msgid "" "Added support for ``|`` and ``|=`` operators, as specified in :pep:`584`." msgstr "" +"Adicionado suporte para operadores ``|`` e ``|=``, conforme especificado " +"na :pep:`584`." #: ../../library/weakref.rst:223 msgid "" ":class:`WeakValueDictionary` objects have an additional method that has the " -"same issues as the :meth:`keyrefs` method of :class:`WeakKeyDictionary` " -"objects." +"same issues as the :meth:`WeakKeyDictionary.keyrefs` method." msgstr "" +"Os objetos :class:`WeakValueDictionary` têm um método adicional que " +"apresenta os mesmos problemas que o método :meth:`WeakKeyDictionary.keyrefs`." -#: ../../library/weakref.rst:230 +#: ../../library/weakref.rst:229 msgid "Return an iterable of the weak references to the values." -msgstr "" +msgstr "Retorna um iterável das referências fracas aos valores." -#: ../../library/weakref.rst:235 +#: ../../library/weakref.rst:234 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 "" +"Define a classe que mantém referências fracas para seus elementos. Um " +"elemento será descartado quando nenhuma referência forte a ele existir mais." -#: ../../library/weakref.rst:241 +#: ../../library/weakref.rst:240 msgid "" "A custom :class:`ref` subclass which simulates a weak reference to a bound " "method (i.e., a method defined on a class and looked up on an instance). " @@ -316,278 +444,390 @@ msgid "" "hold of it. :class:`WeakMethod` has special code to recreate the bound " "method until either the object or the original function dies::" msgstr "" +"Uma subclasse personalizada de :class:`ref` que simula uma referência fraca " +"a um método vinculado (ou seja, um método definido em uma classe e " +"pesquisado em uma instância). Como um método vinculado é efêmero, uma " +"referência fraca padrão não pode mantê-lo. :class:`WeakMethod` tem um código " +"especial para recriar o método vinculado até que o objeto ou a função " +"original morra::" -#: ../../library/weakref.rst:265 +#: ../../library/weakref.rst:264 msgid "" "*callback* is the same as the parameter of the same name to the :func:`ref` " "function." msgstr "" +"*callback* é o mesmo que o parâmetro de mesmo nome da função :func:`ref`." -#: ../../library/weakref.rst:271 +#: ../../library/weakref.rst:270 msgid "" "Return a callable finalizer object which will be called when *obj* is " "garbage collected. Unlike an ordinary weak reference, a finalizer will " "always survive until the reference object is collected, greatly simplifying " "lifecycle management." msgstr "" +"Retorna um objeto finalizador chamável que será chamado quando *obj* for " +"coletado como lixo. Diferentemente de uma referência fraca comum, um " +"finalizador sempre sobreviverá até que o objeto referência seja coletado, " +"simplificando muito o gerenciamento do ciclo de vida." -#: ../../library/weakref.rst:276 +#: ../../library/weakref.rst:275 msgid "" "A finalizer is considered *alive* until it is called (either explicitly or " "at garbage collection), and after that it is *dead*. Calling a live " "finalizer returns the result of evaluating ``func(*arg, **kwargs)``, whereas " "calling a dead finalizer returns :const:`None`." msgstr "" +"Um finalizador é considerado *alive* (vivo) até ser chamado (explicitamente " +"ou na coleta de lixo), e depois disso ele é *dead* (morto). Chamar um " +"finalizador vivo retorna o resultado da avaliação de ``func(*arg, " +"**kwargs)``, enquanto chamar um finalizador morto retorna :const:`None`." -#: ../../library/weakref.rst:281 +#: ../../library/weakref.rst:280 msgid "" "Exceptions raised by finalizer callbacks during garbage collection will be " "shown on the standard error output, but cannot be propagated. They are " -"handled in the same way as exceptions raised from an object's :meth:" -"`__del__` method or a weak reference's callback." +"handled in the same way as exceptions raised from an " +"object's :meth:`~object.__del__` method or a weak reference's callback." msgstr "" +"Exceções levantadas por funções de retorno do finalizador durante a coleta " +"de lixo serão mostradas na saída de erro padrão, mas não podem ser " +"propagadas. Elas são tratadas da mesma forma que exceções levantadas de um " +"método :meth:`~object.__del__` de um objeto ou de uma função de retorno da " +"referência fraca." -#: ../../library/weakref.rst:287 +#: ../../library/weakref.rst:286 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." +"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 "" +"Quando o programa é encerrado, cada finalizador vivo restante é chamado, a " +"menos que seu atributo :attr:`atexit` tenha sido definido como falso. Eles " +"são chamados na ordem reversa da criação." -#: ../../library/weakref.rst:291 +#: ../../library/weakref.rst:290 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 " +"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 "" +"Um finalizador nunca vai invocar sua função de retorno durante a parte " +"posterior do :term:`desligamento do interpretador` quando os globais do " +"módulo podem ter sido substituídos por :const:`None`." -#: ../../library/weakref.rst:297 +#: ../../library/weakref.rst:296 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 "" +"Se *self* estiver vivo, marca-o como morto e retorna o resultado da chamada " +"``func(*args, **kwargs)``. Se *self* estiver morto, retorna :const:`None`." -#: ../../library/weakref.rst:303 +#: ../../library/weakref.rst:302 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 "" +"Se *self* estiver vivo, marca-o como morto e retorna a tupla ``(obj, func, " +"args, kwargs)``. Se *self* estiver morto, retorna :const:`None`." -#: ../../library/weakref.rst:309 +#: ../../library/weakref.rst:308 msgid "" "If *self* is alive then return the tuple ``(obj, func, args, kwargs)``. If " "*self* is dead then return :const:`None`." msgstr "" +"Se *self* estiver vivo, retorna a tupla ``(obj, func, args, kwargs)``. Se " +"*self* estiver morto, retorna :const:`None`." -#: ../../library/weakref.rst:314 +#: ../../library/weakref.rst:313 msgid "Property which is true if the finalizer is alive, false otherwise." msgstr "" +"Propriedade que é verdadeiro se o finalizador estiver ativo, falsa caso " +"contrário." -#: ../../library/weakref.rst:318 +#: ../../library/weakref.rst:317 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 "" +"Uma propriedade booleana gravável que por padrão é verdadeiro. Quando o " +"programa sai, ele chama todos os finalizadores vivos restantes para os " +"quais :attr:`.atexit` é verdadeiro. Eles são chamados na ordem reversa da " +"criação." -#: ../../library/weakref.rst:325 +#: ../../library/weakref.rst:324 msgid "" "It is important to ensure that *func*, *args* and *kwargs* do not own any " "references to *obj*, either directly or indirectly, since otherwise *obj* " "will never be garbage collected. In particular, *func* should not be a " "bound method of *obj*." msgstr "" +"É importante garantir que *func*, *args* e *kwargs* não possuam nenhuma " +"referência a *obj*, direta ou indiretamente, pois, caso contrário, *obj* " +"nunca será coletado como lixo. Em particular, *func* não deve ser um método " +"vinculado de *obj*." -#: ../../library/weakref.rst:335 +#: ../../library/weakref.rst:334 msgid "The type object for weak references objects." -msgstr "" +msgstr "O objeto tipo para objetos referências fracas." -#: ../../library/weakref.rst:340 +#: ../../library/weakref.rst:339 msgid "The type object for proxies of objects which are not callable." -msgstr "" +msgstr "O tipo de objeto para intermediários de objetos que não são chamáveis." -#: ../../library/weakref.rst:345 +#: ../../library/weakref.rst:344 msgid "The type object for proxies of callable objects." -msgstr "" +msgstr "O objeto de tipo para intermediários de objetos chamáveis." -#: ../../library/weakref.rst:350 +#: ../../library/weakref.rst:349 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 "" +"Sequência contendo todos os objetos de tipo para intermediários. Isso pode " +"tornar mais simples testar se um objeto é um intermediário sem depender da " +"nomeação de ambos os tipos de intermediário." -#: ../../library/weakref.rst:358 +#: ../../library/weakref.rst:357 msgid ":pep:`205` - Weak References" msgstr ":pep:`205` - Weak References" -#: ../../library/weakref.rst:358 +#: ../../library/weakref.rst:357 msgid "" "The proposal and rationale for this feature, including links to earlier " "implementations and information about similar features in other languages." msgstr "" +"A proposta e a justificativa para esse recurso, incluindo links para " +"implementações anteriores e informações sobre recursos semelhantes em outras " +"linguagens." -#: ../../library/weakref.rst:365 +#: ../../library/weakref.rst:364 msgid "Weak Reference Objects" -msgstr "Objetos de referência fraca" +msgstr "Objetos referência fraca" -#: ../../library/weakref.rst:367 +#: ../../library/weakref.rst:366 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:" +"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 "" +"Objetos referência fraca não têm métodos nem atributos além " +"de :attr:`ref.__callback__`. Um objeto referência fraca permite que o " +"referente seja obtido, se ele ainda existir, chamando-o:" -#: ../../library/weakref.rst:381 +#: ../../library/weakref.rst:380 msgid "" -"If the referent no longer exists, calling the reference object returns :" -"const:`None`:" +"If the referent no longer exists, calling the reference object " +"returns :const:`None`:" msgstr "" +"Se o referente não existir mais, chamar o objeto referência " +"retornará :const:`None`:" -#: ../../library/weakref.rst:388 +#: ../../library/weakref.rst:387 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 "" +"O teste de se um objeto referência fraca ainda está vivo deve ser feito " +"usando a expressão ``ref() is not None``. Normalmente, o código da aplicação " +"que precisa usar um objeto de referência deve seguir este padrão::" -#: ../../library/weakref.rst:401 +#: ../../library/weakref.rst:400 msgid "" "Using a separate test for \"liveness\" creates race conditions in threaded " "applications; another thread can cause a weak reference to become " "invalidated before the weak reference is called; the idiom shown above is " "safe in threaded applications as well as single-threaded applications." msgstr "" +"Usar um teste separado para \"vivacidade\" cria condições de corrida em " +"aplicações que usam mais de uma thread; uma outra thread pode fazer com que " +"uma referência fraca seja invalidada antes que a referência fraca seja " +"chamada; o idioma mostrado acima é seguro em aplicações que usam mais de uma " +"thread, bem como em aplicações de thread única." -#: ../../library/weakref.rst:406 +#: ../../library/weakref.rst:405 msgid "" "Specialized versions of :class:`ref` objects can be created through " -"subclassing. This is used in the implementation of the :class:" -"`WeakValueDictionary` to reduce the memory overhead for each entry in the " -"mapping. This may be most useful to associate additional information with a " -"reference, but could also be used to insert additional processing on calls " -"to retrieve the referent." +"subclassing. This is used in the implementation of " +"the :class:`WeakValueDictionary` to reduce the memory overhead for each " +"entry in the mapping. This may be most useful to associate additional " +"information with a reference, but could also be used to insert additional " +"processing on calls to retrieve the referent." msgstr "" +"Versões especializadas de objetos :class:`ref` podem ser criadas por meio de " +"subclasse. Isso é usado na implementação do :class:`WeakValueDictionary` " +"para reduzir a sobrecarga de memória para cada entrada no mapeamento. Isso " +"pode ser mais útil para associar informações adicionais a uma referência, " +"mas também pode ser usado para inserir processamento adicional em chamadas " +"para recuperar o referente." -#: ../../library/weakref.rst:412 +#: ../../library/weakref.rst:411 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 "" +"Este exemplo mostra como uma subclasse de :class:`ref` pode ser usada para " +"armazenar informações adicionais sobre um objeto e afetar o valor retornado " +"quando o referente é acessado::" -#: ../../library/weakref.rst:439 +#: ../../library/weakref.rst:438 msgid "Example" msgstr "Exemplo" -#: ../../library/weakref.rst:441 +#: ../../library/weakref.rst:440 msgid "" "This simple example shows how an application can use object IDs to retrieve " "objects that it has seen before. The IDs of the objects can then be used in " "other data structures without forcing the objects to remain alive, but the " "objects can still be retrieved by ID if they do." msgstr "" +"Este exemplo simples mostra como uma aplicação pode usar IDs de objeto para " +"recuperar objetos que ele viu antes. Os IDs dos objetos podem então ser " +"usados em outras estruturas de dados sem forçar os objetos a permanecerem " +"vivos, mas os objetos ainda podem ser recuperados por ID se o fizerem." -#: ../../library/weakref.rst:466 +#: ../../library/weakref.rst:465 msgid "Finalizer Objects" msgstr "Objetos finalizadores" -#: ../../library/weakref.rst:468 +#: ../../library/weakref.rst:467 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 "" +"O principal benefício de usar :class:`finalize` é que ele simplifica o " +"registro de um retorno de chamada sem precisar preservar o objeto " +"finalizador retornado. Por exemplo" -#: ../../library/weakref.rst:482 +#: ../../library/weakref.rst:481 msgid "" "The finalizer can be called directly as well. However the finalizer will " "invoke the callback at most once." msgstr "" +"O finalizador pode ser chamado diretamente também. No entanto, o finalizador " +"vai invocar a função de retorno no máximo uma vez." -#: ../../library/weakref.rst:498 +#: ../../library/weakref.rst:497 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 "" +"Você pode desfazer o registro de um finalizador usando seu " +"método :meth:`~finalize.detach`. Isso elimina o finalizador e retorna os " +"argumentos passados ao construtor quando ele foi criado." -#: ../../library/weakref.rst:512 +#: ../../library/weakref.rst:511 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 "" +"A menos que você defina o atributo :attr:`~finalize.atexit` " +"como :const:`False`, um finalizador será chamado quando o programa sair se " +"ele ainda estiver vivo. Por exemplo" -#: ../../library/weakref.rst:527 -msgid "Comparing finalizers with :meth:`__del__` methods" -msgstr "" +#: ../../library/weakref.rst:526 +msgid "Comparing finalizers with :meth:`~object.__del__` methods" +msgstr "Comparando finalizadores com métodos :meth:`~object.__del__`" -#: ../../library/weakref.rst:529 +#: ../../library/weakref.rst:528 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 "" +"Suponha que queremos criar uma classe cujas instâncias representam " +"diretórios temporários. Os diretórios devem ser excluídos com seus conteúdos " +"quando o primeiro dos seguintes eventos ocorrer:" -#: ../../library/weakref.rst:533 +#: ../../library/weakref.rst:532 msgid "the object is garbage collected," -msgstr "" +msgstr "o objeto é um lixo coletado," -#: ../../library/weakref.rst:534 -msgid "the object's :meth:`remove` method is called, or" -msgstr "" +#: ../../library/weakref.rst:533 +msgid "the object's :meth:`!remove` method is called, or" +msgstr "o método :meth:`!remove` do objeto é chamado, ou" -#: ../../library/weakref.rst:535 +#: ../../library/weakref.rst:534 msgid "the program exits." msgstr "o programa finaliza." -#: ../../library/weakref.rst:537 +#: ../../library/weakref.rst:536 msgid "" -"We might try to implement the class using a :meth:`__del__` method as " -"follows::" +"We might try to implement the class using a :meth:`~object.__del__` method " +"as follows::" msgstr "" +"Podemos tentar implementar a classe usando um método :meth:`~object.__del__` " +"da seguinte maneira::" -#: ../../library/weakref.rst:556 +#: ../../library/weakref.rst:555 msgid "" -"Starting with Python 3.4, :meth:`__del__` methods no longer prevent " +"Starting with Python 3.4, :meth:`~object.__del__` methods no longer prevent " "reference cycles from being garbage collected, and module globals are no " "longer forced to :const:`None` during :term:`interpreter shutdown`. So this " "code should work without any issues on CPython." msgstr "" +"A partir do Python 3.4, os métodos :meth:`~object.__del__` não impedem mais " +"que os ciclos de referência sejam coletados como lixo, e os módulos globais " +"não são mais forçados a :const:`None` durante :term:`desligamento do " +"interpretador`. Então, esse código deve funcionar sem problemas no CPython." -#: ../../library/weakref.rst:561 +#: ../../library/weakref.rst:560 msgid "" -"However, handling of :meth:`__del__` methods is notoriously implementation " -"specific, since it depends on internal details of the interpreter's garbage " -"collector implementation." +"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 "" +"Entretanto, o tratamento dos métodos :meth:`~object.__del__` é notoriamente " +"específico da implementação, pois depende de detalhes internos da " +"implementação do coletor de lixo do interpretador." -#: ../../library/weakref.rst:565 +#: ../../library/weakref.rst:564 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 "" +"Uma alternativa mais robusta pode ser definir um finalizador que faça " +"referência apenas às funções e objetos específicos de que necessita, em vez " +"de ter acesso ao estado completo do objeto::" -#: ../../library/weakref.rst:581 +#: ../../library/weakref.rst:580 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 "" +"Definido assim, nosso finalizador recebe apenas uma referência aos detalhes " +"que ele precisa para limpar o diretório apropriadamente. Se o objeto nunca " +"for coletado como lixo, o finalizador ainda será chamado na saída." -#: ../../library/weakref.rst:585 +#: ../../library/weakref.rst:584 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 "" +"A outra vantagem dos finalizadores baseados em referências fracas é que eles " +"podem ser usados para registrar finalizadores para classes onde a definição " +"é controlada por terceiros, como executar código quando um módulo é " +"descarregado::" -#: ../../library/weakref.rst:597 +#: ../../library/weakref.rst:596 msgid "" "If you create a finalizer object in a daemonic thread just as the program " "exits then there is the possibility that the finalizer does not get called " "at exit. However, in a daemonic thread :func:`atexit.register`, ``try: ... " "finally: ...`` and ``with: ...`` do not guarantee that cleanup occurs either." msgstr "" +"Se você criar um objeto finalizador em uma thread em um daemon assim que o " +"programa sair, então há a possibilidade de que o finalizador não seja " +"chamado na saída. No entanto, em um thread em um " +"daemon :func:`atexit.register`, ``try: ... finally: ...`` e ``with: ...`` " +"não garantem que a limpeza ocorra também." diff --git a/library/webbrowser.po b/library/webbrowser.po index 481c428a4..90f9cc1a1 100644 --- a/library/webbrowser.po +++ b/library/webbrowser.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Sheila Gomes , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,6 +37,10 @@ msgid "" "displaying web-based documents to users. Under most circumstances, simply " "calling the :func:`.open` function from this module will do the right thing." msgstr "" +"O módulo :mod:`webbrowser` fornece uma interface de alto nível para permitir " +"a exibição de documentos baseados na web para os usuários. Na maioria das " +"circunstâncias, simplesmente chamar a função :func:`.open` deste módulo fará " +"a coisa certa." #: ../../library/webbrowser.rst:18 msgid "" @@ -50,6 +49,11 @@ msgid "" "display isn't available. If text-mode browsers are used, the calling " "process will block until the user exits the browser." msgstr "" +"No Unix, navegadores gráficos são preferidos no X11, mas navegadores em modo " +"texto serão usados se navegadores gráficos não estiverem disponíveis ou um " +"display X11 não estiver disponível. Se navegadores em modo texto forem " +"usados, o processo de chamada será bloqueado até que o usuário saia do " +"navegador." #: ../../library/webbrowser.rst:23 msgid "" @@ -60,6 +64,13 @@ msgid "" "with the argument URL substituted for ``%s``; if the part does not contain " "``%s``, it is simply interpreted as the name of the browser to launch. [1]_" msgstr "" +"Se a variável de ambiente :envvar:`BROWSER` existir, ela será interpretada " +"como a lista separada por :data:`os.pathsep` de navegadores a serem tentados " +"antes dos padrões da plataforma. Quando o valor de uma parte da lista contém " +"a string ``%s``, então ela é interpretada como uma linha de comando literal " +"do navegador a ser usada com o argumento URL substituído por ``%s``; se a " +"parte não contiver ``%s``, ela será simplesmente interpretada como o nome do " +"navegador a ser iniciado. [1]_" #: ../../library/webbrowser.rst:30 msgid "" @@ -69,6 +80,11 @@ msgid "" "remote browsers are not available on Unix, the controlling process will " "launch a new browser and wait." msgstr "" +"Para plataformas não-Unix, ou quando um navegador remoto estiver disponível " +"no Unix, o processo de controle não esperará que o usuário termine de usar o " +"navegador, mas permitirá que o navegador remoto mantenha suas próprias " +"janelas na tela. Se os navegadores remotos não estiverem disponíveis no " +"Unix, o processo de controle iniciará um novo navegador e aguardará." #: ../../library/webbrowser.rst:36 msgid "" @@ -95,11 +111,11 @@ msgstr "" #: ../../library/webbrowser.rst:46 msgid "The following exception is defined:" -msgstr "" +msgstr "A seguinte exceção é definida:" #: ../../library/webbrowser.rst:51 msgid "Exception raised when a browser control error occurs." -msgstr "" +msgstr "Exceção levantada quando ocorre um erro de controle do navegador." #: ../../library/webbrowser.rst:53 msgid "The following functions are defined:" @@ -114,6 +130,13 @@ msgid "" "possible (note that under many window managers this will occur regardless of " "the setting of this variable)." msgstr "" +"Exibe *url* usando o navegador padrão. Se *new* for 0, o *url* será aberto " +"na mesma janela do navegador, se possível. Se *new* for 1, uma nova janela " +"do navegador será aberta, se possível. Se *new* for 2, uma nova página do " +"navegador (\"aba\" ou \"guia\") será aberta, se possível. Se *autoraise* for " +"``True``, a janela será levantada, se possível (observe que, em muitos " +"gerenciadores de janelas, isso ocorrerá independentemente da configuração " +"dessa variável)." #: ../../library/webbrowser.rst:65 msgid "" @@ -121,24 +144,33 @@ msgid "" "may work and start the operating system's associated program. However, this " "is neither supported nor portable." msgstr "" +"Note que em algumas plataformas, tentar abrir um nome de arquivo usando esta " +"função pode funcionar e iniciar o programa associado do sistema operacional. " +"No entanto, isso não é suportado nem portátil." -#: ../../library/webbrowser.rst:78 +#: ../../library/webbrowser.rst:80 msgid "" "Raises an :ref:`auditing event ` ``webbrowser.open`` with argument " "``url``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``webbrowser.open`` com o " +"argumento ``url``." #: ../../library/webbrowser.rst:74 msgid "" "Open *url* in a new window of the default browser, if possible, otherwise, " "open *url* in the only browser window." msgstr "" +"Abre *url* em uma nova janela do navegador padrão, se possível; caso " +"contrário, abre *url* na única janela do navegador." #: ../../library/webbrowser.rst:79 msgid "" "Open *url* in a new page (\"tab\") of the default browser, if possible, " "otherwise equivalent to :func:`open_new`." msgstr "" +"Abre *url* em uma nova página (\"aba\" ou \"guia\") do navegador padrão, se " +"possível, caso contrário, equivalente a :func:`open_new`." #: ../../library/webbrowser.rst:85 msgid "" @@ -146,28 +178,42 @@ msgid "" "``None``, return a controller for a default browser appropriate to the " "caller's environment." msgstr "" +"Retorna um objeto controlador para o tipo de navegador *using*. Se *using* " +"for ``None``, retorna um controlador para um navegador padrão apropriado " +"para o ambiente do chamador." #: ../../library/webbrowser.rst:92 msgid "" -"Register the browser type *name*. Once a browser type is registered, the :" -"func:`get` function can return a controller for that browser type. If " +"Register the browser type *name*. Once a browser type is registered, " +"the :func:`get` function can return a controller for that browser type. If " "*instance* is not provided, or is ``None``, *constructor* will be called " "without parameters to create an instance when needed. If *instance* is " "provided, *constructor* will never be called, and may be ``None``." msgstr "" +"Registra o tipo de navegador *name*. Uma vez que um tipo de navegador é " +"registrado, a função :func:`get` pode retornar um controlador para esse tipo " +"de navegador. Se *instance* não for fornecido, ou for ``None``, " +"*constructor* será chamado sem parâmetros para criar uma instância quando " +"necessário. Se *instance* for fornecido, *constructor* nunca será chamado, e " +"pode ser ``None``." #: ../../library/webbrowser.rst:98 msgid "" -"Setting *preferred* to ``True`` makes this browser a preferred result for a :" -"func:`get` call with no argument. Otherwise, this entry point is only " -"useful if you plan to either set the :envvar:`BROWSER` variable or call :" -"func:`get` with a nonempty argument matching the name of a handler you " +"Setting *preferred* to ``True`` makes this browser a preferred result for " +"a :func:`get` call with no argument. Otherwise, this entry point is only " +"useful if you plan to either set the :envvar:`BROWSER` variable or " +"call :func:`get` with a nonempty argument matching the name of a handler you " "declare." msgstr "" +"Definir *preferred* como ``True`` torna este navegador um resultado " +"preferencial para uma chamada :func:`get` sem argumento. Caso contrário, " +"este ponto de entrada só é útil se você planeja definir a " +"variável :envvar:`BROWSER` ou chamar :func:`get` com um argumento não vazio " +"que corresponda ao nome de um manipulador que você declarar." #: ../../library/webbrowser.rst:104 msgid "*preferred* keyword-only parameter was added." -msgstr "" +msgstr "Parâmetro somente-nomeado *preferred* foi adicionado." #: ../../library/webbrowser.rst:107 msgid "" @@ -175,14 +221,17 @@ msgid "" "that may be passed to the :func:`get` function and the corresponding " "instantiations for the controller classes, all defined in this module." msgstr "" +"Vários tipos de navegadores são predefinidos. Esta tabela fornece os nomes " +"de tipos que podem ser passados para a função :func:`get` e as instanciações " +"correspondentes para as classes do controlador, todas definidas neste módulo." #: ../../library/webbrowser.rst:112 msgid "Type Name" -msgstr "" +msgstr "Nome do tipo" #: ../../library/webbrowser.rst:112 msgid "Class Name" -msgstr "Nome da Classe" +msgstr "Nome da classe" #: ../../library/webbrowser.rst:112 msgid "Notes" @@ -383,14 +432,14 @@ msgid "" "\"Konqueror\" is the file manager for the KDE desktop environment for Unix, " "and only makes sense to use if KDE is running. Some way of reliably " "detecting KDE would be nice; the :envvar:`KDEDIR` variable is not " -"sufficient. Note also that the name \"kfm\" is used even when using the :" -"program:`konqueror` command with KDE 2 --- the implementation selects the " -"best strategy for running Konqueror." +"sufficient. Note also that the name \"kfm\" is used even when using " +"the :program:`konqueror` command with KDE 2 --- the implementation selects " +"the best strategy for running Konqueror." msgstr "" #: ../../library/webbrowser.rst:171 msgid "Only on Windows platforms." -msgstr "Somente em Plataformas Windows." +msgstr "Somente em plataformas Windows." #: ../../library/webbrowser.rst:174 msgid "Only on macOS platform." @@ -398,7 +447,7 @@ msgstr "" #: ../../library/webbrowser.rst:176 msgid "Support for Chrome/Chromium has been added." -msgstr "" +msgstr "Foi adicionado suporte para Chrome/Chromium." #: ../../library/webbrowser.rst:181 msgid ":class:`MacOSX` is deprecated, use :class:`MacOSXOSAScript` instead." @@ -410,17 +459,19 @@ msgstr "Aqui estão alguns exemplos simples::" #: ../../library/webbrowser.rst:196 msgid "Browser Controller Objects" -msgstr "" +msgstr "Objetos controladores de navegador" #: ../../library/webbrowser.rst:198 msgid "" "Browser controllers provide these methods which parallel three of the module-" "level convenience functions:" msgstr "" +"Os controladores de navegador fornecem esses métodos que são paralelos a " +"três das funções de conveniência em nível de módulo:" #: ../../library/webbrowser.rst:204 msgid "System-dependent name for the browser." -msgstr "" +msgstr "Nome dependente do sistema para o navegador." #: ../../library/webbrowser.rst:209 msgid "" @@ -428,19 +479,28 @@ msgid "" "new browser window is opened if possible. If *new* is 2, a new browser page " "(\"tab\") is opened if possible." msgstr "" +"Exibe *url* usando o navegador manipulado por este controlador. Se *new* for " +"1, uma nova janela do navegador será aberta, se possível. Se *new* for 2, " +"uma nova página do navegador (\"aba\" ou \"guia\") será aberta, se possível." #: ../../library/webbrowser.rst:216 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`." +"possible, otherwise, open *url* in the only browser window. " +"Alias :func:`open_new`." msgstr "" +"Abre *url* em uma nova janela do navegador manipulado por este controlador, " +"se possível, caso contrário, abra *url* na única janela do navegador. " +"Apelido para :func:`open_new`." #: ../../library/webbrowser.rst:223 msgid "" "Open *url* in a new page (\"tab\") of the browser handled by this " "controller, if possible, otherwise equivalent to :func:`open_new`." msgstr "" +"Abre *url* em uma nova página (\"aba\" ou \"guia\") do navegador manipulado " +"por este controlador, se possível, caso contrário, equivalente " +"a :func:`open_new`." #: ../../library/webbrowser.rst:228 msgid "Footnotes" @@ -451,3 +511,5 @@ msgid "" "Executables named here without a full path will be searched in the " "directories given in the :envvar:`PATH` environment variable." msgstr "" +"Executáveis nomeados aqui sem um caminho completo serão pesquisados nos " +"diretórios fornecidos na variável de ambiente :envvar:`PATH`." diff --git a/library/windows.po b/library/windows.po index bf345c92b..c089f063a 100644 --- a/library/windows.po +++ b/library/windows.po @@ -1,26 +1,25 @@ # 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: -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/library/winreg.po b/library/winreg.po index 82520ad10..54b990aa9 100644 --- a/library/winreg.po +++ b/library/winreg.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Carlos Eduardo Carlos, 2023 -# Adorilson Bezerra , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Adorilson Bezerra , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,6 +34,10 @@ msgid "" "used to ensure that the handles are closed correctly, even if the programmer " "neglects to explicitly close them." msgstr "" +"Essas funções expõem a API de registro do Windows ao Python. Em vez de usar " +"um inteiro como identificador de registro, um :ref:`objeto identificador " +"` é usado para garantir que os identificadores sejam fechados " +"corretamente, mesmo que o programador não os feche explicitamente." #: ../../library/winreg.rst:19 msgid "" @@ -55,61 +53,76 @@ msgstr "Funções" #: ../../library/winreg.rst:28 msgid "This module offers the following functions:" -msgstr "" +msgstr "Este módulo oferece as seguintes funções:" #: ../../library/winreg.rst:33 msgid "" "Closes a previously opened registry key. The *hkey* argument specifies a " "previously opened key." msgstr "" +"Fecha uma chave de registro aberta anteriormente. O argumento *hkey* " +"especifica uma chave aberta anteriormente." #: ../../library/winreg.rst:38 msgid "" "If *hkey* is not closed using this method (or via :meth:`hkey.Close() " "`), it is closed when the *hkey* object is destroyed by Python." msgstr "" +"Se *hkey* não for fechado usando este método (ou via :meth:`hkey.Close() " +"`), ele será fechado quando o objeto *hkey* for destruído pelo " +"Python." #: ../../library/winreg.rst:45 msgid "" "Establishes a connection to a predefined registry handle on another " "computer, and returns a :ref:`handle object `." msgstr "" +"Estabelece uma conexão com um identificador de registro predefinido em outro " +"computador e retorna um :ref:`objeto identificador `." #: ../../library/winreg.rst:48 msgid "" "*computer_name* is the name of the remote computer, of the form ``r\"\\" "\\computername\"``. If ``None``, the local computer is used." msgstr "" +"*computer_name* é o nome do computador remoto, no formato ``r\"\\" +"\\computername\"``. Se ``None``, o computador local será usado." #: ../../library/winreg.rst:51 msgid "*key* is the predefined handle to connect to." -msgstr "" +msgstr "*key* é o identificador predefinido para conexão." #: ../../library/winreg.rst:53 ../../library/winreg.rst:77 #: ../../library/winreg.rst:109 msgid "" -"The return value is the handle of the opened key. If the function fails, an :" -"exc:`OSError` exception is raised." +"The return value is the handle of the opened key. If the function fails, " +"an :exc:`OSError` exception is raised." msgstr "" +"O valor de retorno é o identificador da chave aberta. Se a função falhar, " +"uma exceção :exc:`OSError` será levantada." #: ../../library/winreg.rst:56 msgid "" "Raises an :ref:`auditing event ` ``winreg.ConnectRegistry`` with " "arguments ``computer_name``, ``key``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``winreg.ConnectRegistry`` " +"com os argumentos ``computer_name``, ``key``." #: ../../library/winreg.rst:58 ../../library/winreg.rst:84 #: ../../library/winreg.rst:118 ../../library/winreg.rst:139 #: ../../library/winreg.rst:172 ../../library/winreg.rst:203 #: ../../library/winreg.rst:238 ../../library/winreg.rst:329 msgid "See :ref:`above `." -msgstr "" +msgstr "Veja :ref:`acima `." #: ../../library/winreg.rst:64 ../../library/winreg.rst:90 msgid "" "Creates or opens the specified key, returning a :ref:`handle object `." msgstr "" +"Cria ou abre a chave especificada, retornando um :ref:`objeto identificador " +"`." #: ../../library/winreg.rst:67 ../../library/winreg.rst:93 #: ../../library/winreg.rst:126 ../../library/winreg.rst:147 @@ -124,26 +137,34 @@ msgid "" "*key* is an already open key, or one of the predefined :ref:`HKEY_* " "constants `." msgstr "" +"*key* é uma chave já aberta, ou uma das constantes predefinidas :ref:`HKEY_* " +"`." #: ../../library/winreg.rst:70 ../../library/winreg.rst:96 msgid "*sub_key* is a string that names the key this method opens or creates." msgstr "" +"*sub_key* é uma string que nomeia a chave que este método abre ou cria." #: ../../library/winreg.rst:72 ../../library/winreg.rst:104 msgid "" "If *key* is one of the predefined keys, *sub_key* may be ``None``. In that " "case, the handle returned is the same key handle passed in to the function." msgstr "" +"Se *key* for uma das chaves predefinidas, *sub_key* poderá ser ``None``. " +"Nesse caso, o identificador retornado será o mesmo identificador de chave " +"passado para a função." #: ../../library/winreg.rst:75 ../../library/winreg.rst:107 msgid "If the key already exists, this function opens the existing key." -msgstr "" +msgstr "Se a chave já existir, esta função abre a chave existente." #: ../../library/winreg.rst:80 ../../library/winreg.rst:112 msgid "" "Raises an :ref:`auditing event ` ``winreg.CreateKey`` with " "arguments ``key``, ``sub_key``, ``access``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``winreg.CreateKey`` com os " +"argumentos ``key``, ``sub_key``, ``access``." #: ../../library/winreg.rst:82 ../../library/winreg.rst:114 #: ../../library/winreg.rst:324 @@ -151,18 +172,24 @@ msgid "" "Raises an :ref:`auditing event ` ``winreg.OpenKey/result`` with " "argument ``key``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``winreg.OpenKey/result`` " +"com o argumento ``key``." #: ../../library/winreg.rst:98 ../../library/winreg.rst:154 msgid "" "*reserved* is a reserved integer, and must be zero. The default is zero." -msgstr "" +msgstr "*reserved* é um inteiro reservado e deve ser zero. O padrão é zero." #: ../../library/winreg.rst:100 msgid "" "*access* is an integer that specifies an access mask that describes the " -"desired security access for the key. Default is :const:`KEY_WRITE`. See :" -"ref:`Access Rights ` for other allowed values." +"desired security access for the key. Default is :const:`KEY_WRITE`. " +"See :ref:`Access Rights ` for other allowed values." msgstr "" +"*access* é um inteiro que especifica uma máscara de acesso que descreve o " +"acesso de segurança desejado para a chave. O padrão é :const:`KEY_WRITE`. " +"Consulte :ref:`Direitos de acesso ` para outros valores " +"permitidos." #: ../../library/winreg.rst:124 ../../library/winreg.rst:145 msgid "Deletes the specified key." @@ -174,22 +201,30 @@ msgid "" "*key* parameter. This value must not be ``None``, and the key may not have " "subkeys." msgstr "" +"*sub_key* é uma string que deve ser uma subchave da chave identificada pelo " +"parâmetro *key*. Este valor não pode ser ``None``, e a chave não pode ter " +"subchaves." #: ../../library/winreg.rst:132 ../../library/winreg.rst:161 msgid "*This method can not delete keys with subkeys.*" -msgstr "" +msgstr "*Este método não pode excluir chaves com subchaves.*" #: ../../library/winreg.rst:134 ../../library/winreg.rst:163 msgid "" "If the method succeeds, the entire key, including all of its values, is " "removed. If the method fails, an :exc:`OSError` exception is raised." msgstr "" +"Se o método for bem-sucedido, a chave inteira, incluindo todos os seus " +"valores, será removida. Se o método falhar, uma exceção :exc:`OSError` será " +"levantada." #: ../../library/winreg.rst:137 ../../library/winreg.rst:168 msgid "" "Raises an :ref:`auditing event ` ``winreg.DeleteKey`` with " "arguments ``key``, ``sub_key``, ``access``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``winreg.DeleteKey`` com os " +"argumentos ``key``, ``sub_key``, ``access``." #: ../../library/winreg.rst:150 msgid "" @@ -197,6 +232,9 @@ msgid "" "*key* parameter. This value must not be ``None``, and the key may not have " "subkeys." msgstr "" +"*sub_key* é uma string que deve ser uma subchave da chave identificada pelo " +"parâmetro *key*. Este valor não pode ser ``None``, e a chave não pode ter " +"subchaves." #: ../../library/winreg.rst:156 msgid "" @@ -205,32 +243,42 @@ msgid "" "On 32-bit Windows, the WOW64 constants are ignored. See :ref:`Access Rights " "` for other allowed values." msgstr "" +"*access* é um inteiro que especifica uma máscara de acesso que descreve o " +"acesso de segurança desejado para a chave. O padrão " +"é :const:`KEY_WOW64_64KEY`. No Windows de 32 bits, as constantes WOW64 são " +"ignoradas. Consulte :ref:`Direitos de acesso ` para outros " +"valores permitidos." #: ../../library/winreg.rst:166 msgid "On unsupported Windows versions, :exc:`NotImplementedError` is raised." msgstr "" +"Em versões do Windows sem suporte, :exc:`NotImplementedError` é levantada." #: ../../library/winreg.rst:178 msgid "Removes a named value from a registry key." -msgstr "" +msgstr "Remove um valor nomeado de uma chave de registro." #: ../../library/winreg.rst:183 msgid "*value* is a string that identifies the value to remove." -msgstr "" +msgstr "*value* é uma string que identifica o valor a ser removido." #: ../../library/winreg.rst:185 msgid "" "Raises an :ref:`auditing event ` ``winreg.DeleteValue`` with " "arguments ``key``, ``value``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``winreg.DeleteValue`` com " +"os argumentos ``key``, ``value``." #: ../../library/winreg.rst:190 msgid "Enumerates subkeys of an open registry key, returning a string." msgstr "" +"Enumera subchaves de uma chave de registro aberta, retornando uma string." #: ../../library/winreg.rst:195 msgid "*index* is an integer that identifies the index of the key to retrieve." msgstr "" +"*index* é um inteiro que identifica o índice da chave a ser recuperada." #: ../../library/winreg.rst:197 msgid "" @@ -238,21 +286,27 @@ msgid "" "typically called repeatedly until an :exc:`OSError` exception is raised, " "indicating, no more values are available." msgstr "" +"A função recupera o nome de uma subchave cada vez que é chamada. " +"Normalmente, ela é chamada repetidamente até que uma exceção :exc:`OSError` " +"seja levantada, indicando que não há mais valores disponíveis." #: ../../library/winreg.rst:201 msgid "" "Raises an :ref:`auditing event ` ``winreg.EnumKey`` with arguments " "``key``, ``index``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``winreg.EnumKey`` com os " +"argumentos ``key``, ``index``." #: ../../library/winreg.rst:209 msgid "Enumerates values of an open registry key, returning a tuple." -msgstr "" +msgstr "Enumera valores de uma chave de registro aberta, retornando uma tupla." #: ../../library/winreg.rst:214 msgid "" "*index* is an integer that identifies the index of the value to retrieve." msgstr "" +"*index* é um inteiro que identifica o índice do valor a ser recuperado." #: ../../library/winreg.rst:216 msgid "" @@ -260,10 +314,13 @@ msgid "" "typically called repeatedly, until an :exc:`OSError` exception is raised, " "indicating no more values." msgstr "" +"A função recupera o nome de uma subchave cada vez que é chamada. " +"Normalmente, ela é chamada repetidamente, até que uma exceção :exc:`OSError` " +"seja levantada, indicando que não há mais valores." #: ../../library/winreg.rst:220 ../../library/winreg.rst:340 msgid "The result is a tuple of 3 items:" -msgstr "" +msgstr "O resultado é uma tupla de 3 itens:" #: ../../library/winreg.rst:223 ../../library/winreg.rst:343 #: ../../library/winreg.rst:391 @@ -282,7 +339,7 @@ msgstr "``0``" #: ../../library/winreg.rst:225 msgid "A string that identifies the value name" -msgstr "" +msgstr "Uma string que identifica o nome do valor" #: ../../library/winreg.rst:227 ../../library/winreg.rst:348 #: ../../library/winreg.rst:395 @@ -294,6 +351,8 @@ msgid "" "An object that holds the value data, and whose type depends on the " "underlying registry type" msgstr "" +"Um objeto que contém os dados de valor e cujo tipo depende do tipo de " +"registro subjacente" #: ../../library/winreg.rst:231 ../../library/winreg.rst:351 msgid "``2``" @@ -304,61 +363,82 @@ msgid "" "An integer that identifies the type of the value data (see table in docs " "for :meth:`SetValueEx`)" msgstr "" +"Um inteiro que identifica o tipo dos dados do valor (veja a tabela na " +"documentação para :meth:`SetValueEx`)" #: ../../library/winreg.rst:236 msgid "" "Raises an :ref:`auditing event ` ``winreg.EnumValue`` with " "arguments ``key``, ``index``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``winreg.EnumValue`` com os " +"argumentos ``key``, ``index``." #: ../../library/winreg.rst:247 msgid "" -"Expands environment variable placeholders ``%NAME%`` in strings like :const:" -"`REG_EXPAND_SZ`::" +"Expands environment variable placeholders ``%NAME%`` in strings " +"like :const:`REG_EXPAND_SZ`::" msgstr "" +"Expande os espaços reservados de posição de variáveis de ambiente ``%NAME%`` " +"em strings como :const:`REG_EXPAND_SZ`::" #: ../../library/winreg.rst:253 msgid "" -"Raises an :ref:`auditing event ` ``winreg." -"ExpandEnvironmentStrings`` with argument ``str``." +"Raises an :ref:`auditing event ` " +"``winreg.ExpandEnvironmentStrings`` with argument ``str``." msgstr "" +"Levanta um :ref:`evento de auditoria ` " +"``winreg.ExpandEnvironmentStrings`` com o argumento ``str``." #: ../../library/winreg.rst:258 msgid "Writes all the attributes of a key to the registry." -msgstr "" +msgstr "Grava todos os atributos de uma chave no registro." #: ../../library/winreg.rst:263 msgid "" "It is not necessary to call :func:`FlushKey` to change a key. Registry " "changes are flushed to disk by the registry using its lazy flusher. " -"Registry changes are also flushed to disk at system shutdown. Unlike :func:" -"`CloseKey`, the :func:`FlushKey` method returns only when all the data has " -"been written to the registry. An application should only call :func:" -"`FlushKey` if it requires absolute certainty that registry changes are on " -"disk." -msgstr "" +"Registry changes are also flushed to disk at system shutdown. " +"Unlike :func:`CloseKey`, the :func:`FlushKey` method returns only when all " +"the data has been written to the registry. An application should only " +"call :func:`FlushKey` if it requires absolute certainty that registry " +"changes are on disk." +msgstr "" +"Não é necessário chamar :func:`FlushKey` para alterar uma chave. As " +"alterações do registro são descarregadas no disco pelo registro usando seu " +"limpador lento. As alterações do registro também são descarregadas no disco " +"no desligamento do sistema. Ao contrário de :func:`CloseKey`, o " +"método :func:`FlushKey` retorna somente quando todos os dados foram gravados " +"no registro. Uma aplicação só deve chamar :func:`FlushKey` se precisar de " +"certeza absoluta de que as alterações do registro estão no disco." #: ../../library/winreg.rst:272 msgid "" "If you don't know whether a :func:`FlushKey` call is required, it probably " "isn't." msgstr "" +"Se você não sabe se uma chamada :func:`FlushKey` é necessária, provavelmente " +"não é." #: ../../library/winreg.rst:278 msgid "" "Creates a subkey under the specified key and stores registration information " "from a specified file into that subkey." msgstr "" +"Cria uma subchave sob a chave especificada e armazena informações de " +"registro de um arquivo especificado nessa subchave." #: ../../library/winreg.rst:281 msgid "" "*key* is a handle returned by :func:`ConnectRegistry` or one of the " "constants :const:`HKEY_USERS` or :const:`HKEY_LOCAL_MACHINE`." msgstr "" +"*key* é um identificador retornado por :func:`ConnectRegistry` ou uma das " +"constantes :const:`HKEY_USERS` ou :const:`HKEY_LOCAL_MACHINE`." #: ../../library/winreg.rst:284 msgid "*sub_key* is a string that identifies the subkey to load." -msgstr "" +msgstr "*sub_key* é uma string que identifica a subchave a ser carregada." #: ../../library/winreg.rst:286 msgid "" @@ -366,93 +446,119 @@ msgid "" "must have been created with the :func:`SaveKey` function. Under the file " "allocation table (FAT) file system, the filename may not have an extension." msgstr "" +"*file_name* é o nome do arquivo do qual serão carregados os dados do " +"registro. Este arquivo deve ter sido criado com a função :func:`SaveKey`. No " +"sistema de arquivos da tabela de alocação de arquivos (FAT), o nome do " +"arquivo não pode ter extensão." #: ../../library/winreg.rst:290 msgid "" -"A call to :func:`LoadKey` fails if the calling process does not have the :" -"const:`SE_RESTORE_PRIVILEGE` privilege. Note that privileges are different " -"from permissions -- see the `RegLoadKey documentation `__ for more details." +"A call to :func:`LoadKey` fails if the calling process does not have " +"the :c:data:`!SE_RESTORE_PRIVILEGE` privilege. Note that privileges are " +"different from permissions -- see the `RegLoadKey documentation `__ for more " +"details." msgstr "" +"Uma chamada para :func:`LoadKey` falhará se o processo de chamada não tiver " +"o privilégio :c:data:`!SE_RESTORE_PRIVILEGE`. Observe que privilégios são " +"diferentes de permissões — consulte a `documentação do RegLoadKey `__ para mais " +"detalhes." #: ../../library/winreg.rst:296 msgid "" "If *key* is a handle returned by :func:`ConnectRegistry`, then the path " "specified in *file_name* is relative to the remote computer." msgstr "" +"Se *key* for um identificador retornado por :func:`ConnectRegistry`, então o " +"caminho especificado em *file_name* será relativo ao computador remoto." #: ../../library/winreg.rst:299 msgid "" "Raises an :ref:`auditing event ` ``winreg.LoadKey`` with arguments " "``key``, ``sub_key``, ``file_name``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``winreg.LoadKey`` com os " +"argumentos ``key``, ``sub_key``, ``file_name``." #: ../../library/winreg.rst:305 msgid "" "Opens the specified key, returning a :ref:`handle object `." msgstr "" +"Abre a chave especificada, retornando um :ref:`objeto identificador `." #: ../../library/winreg.rst:310 msgid "*sub_key* is a string that identifies the sub_key to open." -msgstr "" +msgstr "*sub_key* é uma string que identifica a sub_key a ser aberta." #: ../../library/winreg.rst:312 msgid "" "*reserved* is a reserved integer, and must be zero. The default is zero." -msgstr "" +msgstr "*reserved* é um inteiro reservado e deve ser zero. O padrão é zero." #: ../../library/winreg.rst:314 msgid "" "*access* is an integer that specifies an access mask that describes the " -"desired security access for the key. Default is :const:`KEY_READ`. See :" -"ref:`Access Rights ` for other allowed values." +"desired security access for the key. Default is :const:`KEY_READ`. " +"See :ref:`Access Rights ` for other allowed values." msgstr "" +"*access* é um inteiro que especifica uma máscara de acesso que descreve o " +"acesso de segurança desejado para a chave. O padrão é :const:`KEY_READ`. " +"Consulte :ref:`Direitos de acesso ` para outros valores " +"permitidos." #: ../../library/winreg.rst:318 msgid "The result is a new handle to the specified key." -msgstr "" +msgstr "O resultado é um novo identificador para a chave especificada." #: ../../library/winreg.rst:320 msgid "If the function fails, :exc:`OSError` is raised." -msgstr "" +msgstr "Se a função falhar, :exc:`OSError` será levantada." #: ../../library/winreg.rst:322 msgid "" "Raises an :ref:`auditing event ` ``winreg.OpenKey`` with arguments " "``key``, ``sub_key``, ``access``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``winreg.OpenKey`` com os " +"argumentos ``key``, ``sub_key``, ``access``." #: ../../library/winreg.rst:326 msgid "Allow the use of named arguments." -msgstr "" +msgstr "Permite o uso de argumentos nomeados." #: ../../library/winreg.rst:335 msgid "Returns information about a key, as a tuple." -msgstr "" +msgstr "Retorna informações sobre uma chave, como uma tupla." #: ../../library/winreg.rst:345 msgid "An integer giving the number of sub keys this key has." -msgstr "" +msgstr "Um inteiro que fornece o número de subchaves que esta chave possui." #: ../../library/winreg.rst:348 msgid "An integer giving the number of values this key has." -msgstr "" +msgstr "Um inteiro que fornece o número de valores que esta chave possui." #: ../../library/winreg.rst:351 msgid "" "An integer giving when the key was last modified (if available) as 100's of " "nanoseconds since Jan 1, 1601." msgstr "" +"Um número inteiro que indica quando a chave foi modificada pela última vez " +"(se disponível) em centenas de nanossegundos desde 1º de janeiro de 1601." #: ../../library/winreg.rst:356 msgid "" "Raises an :ref:`auditing event ` ``winreg.QueryInfoKey`` with " "argument ``key``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``winreg.QueryInfoKey`` com " +"o argumento ``key``." #: ../../library/winreg.rst:361 msgid "Retrieves the unnamed value for a key, as a string." -msgstr "" +msgstr "Recupera o valor sem nome de uma chave, como uma string." #: ../../library/winreg.rst:366 msgid "" @@ -461,48 +567,63 @@ msgid "" "retrieves the value set by the :func:`SetValue` method for the key " "identified by *key*." msgstr "" +"*sub_key* é uma string que contém o nome da subchave à qual o valor está " +"associado. Se este parâmetro for ``None`` ou estiver vazio, a função " +"recupera o valor definido pelo método :func:`SetValue` para a chave " +"identificada por *key*." #: ../../library/winreg.rst:370 msgid "" "Values in the registry have name, type, and data components. This method " "retrieves the data for a key's first value that has a ``NULL`` name. But the " -"underlying API call doesn't return the type, so always use :func:" -"`QueryValueEx` if possible." +"underlying API call doesn't return the type, so always " +"use :func:`QueryValueEx` if possible." msgstr "" +"Os valores no registro têm componentes de nome, tipo e dados. Este método " +"recupera os dados do primeiro valor de uma chave que possui um nome " +"``NULL``. Mas a chamada de API subjacente não retorna o tipo, portanto, " +"sempre use :func:`QueryValueEx` se possível." #: ../../library/winreg.rst:375 ../../library/winreg.rst:400 msgid "" "Raises an :ref:`auditing event ` ``winreg.QueryValue`` with " "arguments ``key``, ``sub_key``, ``value_name``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``winreg.QueryValue`` com " +"os argumentos ``key``, ``sub_key``, ``value_name``." #: ../../library/winreg.rst:380 msgid "" "Retrieves the type and data for a specified value name associated with an " "open registry key." msgstr "" +"Recupera o tipo e os dados de um nome de valor especificado associado a uma " +"chave de registro aberta." #: ../../library/winreg.rst:386 msgid "*value_name* is a string indicating the value to query." -msgstr "" +msgstr "*value_name* é uma string que indica o valor a ser consultado." #: ../../library/winreg.rst:388 msgid "The result is a tuple of 2 items:" -msgstr "" +msgstr "O resultado é uma tupla de 2 itens:" #: ../../library/winreg.rst:393 msgid "The value of the registry item." -msgstr "" +msgstr "O valor do item do registro." #: ../../library/winreg.rst:395 msgid "" -"An integer giving the registry type for this value (see table in docs for :" -"meth:`SetValueEx`)" +"An integer giving the registry type for this value (see table in docs " +"for :meth:`SetValueEx`)" msgstr "" +"Um inteiro que fornece o tipo de registro para este valor (veja a tabela na " +"documentação para :meth:`SetValueEx`)" #: ../../library/winreg.rst:405 msgid "Saves the specified key, and all its subkeys to the specified file." msgstr "" +"Salva a chave especificada e todas as suas subchaves no arquivo especificado." #: ../../library/winreg.rst:410 msgid "" @@ -511,53 +632,72 @@ msgid "" "used on file allocation table (FAT) file systems by the :meth:`LoadKey` " "method." msgstr "" +"*file_name* é o nome do arquivo para salvar os dados do registro. Este " +"arquivo não pode existir. Se este nome de arquivo incluir uma extensão, ele " +"não poderá ser usado em sistemas de arquivos FAT (tabela de alocação de " +"arquivos) pelo método :meth:`LoadKey`." #: ../../library/winreg.rst:415 msgid "" "If *key* represents a key on a remote computer, the path described by " "*file_name* is relative to the remote computer. The caller of this method " -"must possess the :const:`SeBackupPrivilege` security privilege. Note that " +"must possess the **SeBackupPrivilege** security privilege. Note that " "privileges are different than permissions -- see the `Conflicts Between User " "Rights and Permissions documentation `__ for more details." msgstr "" +"Se *key* representa uma chave em um computador remoto, o caminho descrito " +"por *file_name* é relativo ao computador remoto. O chamador deste método " +"deve possuir o privilégio de segurança **SeBackupPrivilege**. Observe que " +"privilégios são diferentes de permissões — consulte a documentação " +"`Conflitos entre Direitos e Permissões do Usuário `__ para obter " +"mais detalhes." #: ../../library/winreg.rst:423 msgid "This function passes ``NULL`` for *security_attributes* to the API." -msgstr "" +msgstr "Esta função passa ``NULL`` para *security_attributes* para a API." #: ../../library/winreg.rst:425 msgid "" "Raises an :ref:`auditing event ` ``winreg.SaveKey`` with arguments " "``key``, ``file_name``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``winreg.SaveKey`` com os " +"argumentos ``key``, ``file_name``." #: ../../library/winreg.rst:430 msgid "Associates a value with a specified key." -msgstr "" +msgstr "Associa um valor a uma chave especificada." #: ../../library/winreg.rst:435 msgid "" "*sub_key* is a string that names the subkey with which the value is " "associated." msgstr "" +"*sub_key* é uma string que nomeia a subchave à qual o valor está associado." #: ../../library/winreg.rst:437 msgid "" "*type* is an integer that specifies the type of the data. Currently this " -"must be :const:`REG_SZ`, meaning only strings are supported. Use the :func:" -"`SetValueEx` function for support for other data types." +"must be :const:`REG_SZ`, meaning only strings are supported. Use " +"the :func:`SetValueEx` function for support for other data types." msgstr "" +"*type* é um inteiro que especifica o tipo dos dados. Atualmente, deve " +"ser :const:`REG_SZ`, o que significa que apenas strings são suportadas. Use " +"a função :func:`SetValueEx` para suporte a outros tipos de dados." #: ../../library/winreg.rst:441 ../../library/winreg.rst:471 msgid "*value* is a string that specifies the new value." -msgstr "" +msgstr "*valor* é uma string que especifica o novo valor." #: ../../library/winreg.rst:443 msgid "" "If the key specified by the *sub_key* parameter does not exist, the SetValue " "function creates it." msgstr "" +"Se a chave especificada pelo parâmetro *sub_key* não existir, a função " +"SetValue a criará." #: ../../library/winreg.rst:446 ../../library/winreg.rst:479 msgid "" @@ -565,38 +705,51 @@ msgid "" "bytes) should be stored as files with the filenames stored in the " "configuration registry. This helps the registry perform efficiently." msgstr "" +"O comprimento dos valores é limitado pela memória disponível. Valores longos " +"(mais de 2048 bytes) devem ser armazenados como arquivos com os nomes dos " +"arquivos armazenados no registro de configuração. Isso ajuda o registro a " +"funcionar com eficiência." #: ../../library/winreg.rst:450 msgid "" -"The key identified by the *key* parameter must have been opened with :const:" -"`KEY_SET_VALUE` access." +"The key identified by the *key* parameter must have been opened " +"with :const:`KEY_SET_VALUE` access." msgstr "" +"A chave identificada pelo parâmetro *key* deve ter sido aberta com " +"acesso :const:`KEY_SET_VALUE`." #: ../../library/winreg.rst:453 ../../library/winreg.rst:483 msgid "" "Raises an :ref:`auditing event ` ``winreg.SetValue`` with " "arguments ``key``, ``sub_key``, ``type``, ``value``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``winreg.SetValue`` com os " +"argumentos ``key``, ``sub_key``, ``type``, ``value``." #: ../../library/winreg.rst:458 msgid "Stores data in the value field of an open registry key." -msgstr "" +msgstr "Armazena dados no campo de valor de uma chave de registro aberta." #: ../../library/winreg.rst:463 msgid "" "*value_name* is a string that names the subkey with which the value is " "associated." msgstr "" +"*value_name* é uma string que nomeia a subchave à qual o valor está " +"associado." #: ../../library/winreg.rst:466 msgid "*reserved* can be anything -- zero is always passed to the API." msgstr "" +"*reserved* pode ser qualquer coisa -- zero é sempre passado para a API." #: ../../library/winreg.rst:468 msgid "" "*type* is an integer that specifies the type of the data. See :ref:`Value " "Types ` for the available types." msgstr "" +"*type* é um inteiro que especifica o tipo dos dados. Consulte :ref:`Tipos de " +"valor ` para os tipos disponíveis." #: ../../library/winreg.rst:473 msgid "" @@ -604,16 +757,22 @@ msgid "" "specified key. The key identified by the key parameter must have been " "opened with :const:`KEY_SET_VALUE` access." msgstr "" +"Este método também pode definir informações adicionais de valor e tipo para " +"a chave especificada. A chave identificada pelo parâmetro key deve ter sido " +"aberta com o acesso :const:`KEY_SET_VALUE`." #: ../../library/winreg.rst:477 msgid "To open the key, use the :func:`CreateKey` or :func:`OpenKey` methods." msgstr "" +"Para abrir a chave, use os métodos :func:`CreateKey` ou :func:`OpenKey`." #: ../../library/winreg.rst:488 msgid "" "Disables registry reflection for 32-bit processes running on a 64-bit " "operating system." msgstr "" +"Desabilita a reflexão do registro para processos de 32 bits em execução em " +"um sistema operacional de 64 bits." #: ../../library/winreg.rst:494 ../../library/winreg.rst:511 #: ../../library/winreg.rst:528 @@ -621,6 +780,8 @@ msgid "" "Will generally raise :exc:`NotImplementedError` if executed on a 32-bit " "operating system." msgstr "" +"Geralmente levantará :exc:`NotImplementedError` se executado em um sistema " +"operacional de 32 bits." #: ../../library/winreg.rst:497 msgid "" @@ -628,41 +789,52 @@ msgid "" "effect. Disabling reflection for a key does not affect reflection of any " "subkeys." msgstr "" +"Se a chave não estiver na lista de reflexão, a função será bem-sucedida, mas " +"não terá efeito. Desabilitar a reflexão para uma chave não afeta a reflexão " +"de nenhuma subchave." #: ../../library/winreg.rst:501 msgid "" "Raises an :ref:`auditing event ` ``winreg.DisableReflectionKey`` " "with argument ``key``." msgstr "" +"Levanta um :ref:`evento de auditoria ` " +"``winreg.DisableReflectionKey`` com o argumento ``key``." #: ../../library/winreg.rst:506 msgid "Restores registry reflection for the specified disabled key." msgstr "" +"Restaura a reflexão do registro para a chave desabilitada especificada." #: ../../library/winreg.rst:514 msgid "" "Restoring reflection for a key does not affect reflection of any subkeys." msgstr "" +"Restaura a reflexão de uma chave não afeta a reflexão de nenhuma subchave." #: ../../library/winreg.rst:516 msgid "" "Raises an :ref:`auditing event ` ``winreg.EnableReflectionKey`` " "with argument ``key``." msgstr "" +"Levanta um :ref:`evento de auditoria ` " +"``winreg.EnableReflectionKey`` com o argumento ``key``." #: ../../library/winreg.rst:521 msgid "Determines the reflection state for the specified key." -msgstr "" +msgstr "Determina o estado de reflexão para a chave especificada." #: ../../library/winreg.rst:526 msgid "Returns ``True`` if reflection is disabled." -msgstr "" +msgstr "Retorna ``True`` se a reflexão estiver desabilitada." #: ../../library/winreg.rst:531 msgid "" "Raises an :ref:`auditing event ` ``winreg.QueryReflectionKey`` " "with argument ``key``." msgstr "" +"Levanta um :ref:`evento de auditoria ` " +"``winreg.QueryReflectionKey`` com o argumento ``key``." #: ../../library/winreg.rst:537 msgid "Constants" @@ -670,12 +842,14 @@ msgstr "Constantes" #: ../../library/winreg.rst:539 msgid "" -"The following constants are defined for use in many :mod:`_winreg` functions." +"The following constants are defined for use in many :mod:`winreg` functions." msgstr "" +"As seguintes constantes são definidas para uso em muitas " +"funções :mod:`winreg`." #: ../../library/winreg.rst:544 msgid "HKEY_* Constants" -msgstr "" +msgstr "Constantes HKEY_*" #: ../../library/winreg.rst:548 msgid "" @@ -683,6 +857,9 @@ msgid "" "documents and the properties associated with those types. Shell and COM " "applications use the information stored under this key." msgstr "" +"Entradas de registro subordinadas a esta chave definem tipos (ou classes) de " +"documentos e as propriedades associadas a esses tipos. Aplicações Shell e " +"COM utilizam as informações armazenadas sob esta chave." #: ../../library/winreg.rst:555 msgid "" @@ -691,6 +868,10 @@ msgid "" "variables, data about program groups, colors, printers, network connections, " "and application preferences." msgstr "" +"As entradas de registro subordinadas a esta chave definem as preferências do " +"usuário atual. Essas preferências incluem as configurações de variáveis de " +"ambiente, dados sobre grupos de programas, cores, impressoras, conexões de " +"rede e preferências de aplicações." #: ../../library/winreg.rst:562 msgid "" @@ -698,6 +879,9 @@ msgid "" "computer, including data about the bus type, system memory, and installed " "hardware and software." msgstr "" +"As entradas de registro subordinadas a esta chave definem o estado físico do " +"computador, incluindo dados sobre o tipo de barramento, memória do sistema e " +"hardware e software instalados." #: ../../library/winreg.rst:568 msgid "" @@ -705,6 +889,9 @@ msgid "" "configuration for new users on the local computer and the user configuration " "for the current user." msgstr "" +"As entradas de registro subordinadas a esta chave definem a configuração de " +"usuário padrão para novos usuários no computador local e a configuração de " +"usuário para o usuário atual." #: ../../library/winreg.rst:574 msgid "" @@ -712,112 +899,139 @@ msgid "" "data. The data is not actually stored in the registry; the registry " "functions cause the system to collect the data from its source." msgstr "" +"Entradas de registro subordinadas a esta chave permitem que você acesse " +"dados de desempenho. Os dados não são armazenados no registro; as funções de " +"registro fazem com que o sistema colete os dados de sua fonte." #: ../../library/winreg.rst:582 msgid "" "Contains information about the current hardware profile of the local " "computer system." msgstr "" +"Contém informações sobre o perfil de hardware atual do sistema de computador " +"local." #: ../../library/winreg.rst:587 msgid "This key is not used in versions of Windows after 98." -msgstr "" +msgstr "Esta chave não é usada em versões do Windows posteriores à 98." #: ../../library/winreg.rst:593 msgid "Access Rights" -msgstr "" +msgstr "Direitos de acesso" #: ../../library/winreg.rst:595 msgid "" -"For more information, see `Registry Key Security and Access `__." +"For more information, see `Registry Key Security and Access `__." msgstr "" +"Para obter mais informações, consulte `Segurança e acesso a chaves do " +"registro `__." #: ../../library/winreg.rst:600 msgid "" -"Combines the STANDARD_RIGHTS_REQUIRED, :const:`KEY_QUERY_VALUE`, :const:" -"`KEY_SET_VALUE`, :const:`KEY_CREATE_SUB_KEY`, :const:" -"`KEY_ENUMERATE_SUB_KEYS`, :const:`KEY_NOTIFY`, and :const:`KEY_CREATE_LINK` " -"access rights." +"Combines the " +"STANDARD_RIGHTS_REQUIRED, :const:`KEY_QUERY_VALUE`, :const:`KEY_SET_VALUE`, :const:`KEY_CREATE_SUB_KEY`, :const:`KEY_ENUMERATE_SUB_KEYS`, :const:`KEY_NOTIFY`, " +"and :const:`KEY_CREATE_LINK` access rights." msgstr "" +"Combina os direitos de acesso " +"STANDARD_RIGHTS_REQUIRED, :const:`KEY_QUERY_VALUE`, :const:`KEY_SET_VALUE`, :const:`KEY_CREATE_SUB_KEY`, :const:`KEY_ENUMERATE_SUB_KEYS`, :const:`KEY_NOTIFY` " +"e :const:`KEY_CREATE_LINK`." #: ../../library/winreg.rst:607 msgid "" -"Combines the STANDARD_RIGHTS_WRITE, :const:`KEY_SET_VALUE`, and :const:" -"`KEY_CREATE_SUB_KEY` access rights." +"Combines the STANDARD_RIGHTS_WRITE, :const:`KEY_SET_VALUE`, " +"and :const:`KEY_CREATE_SUB_KEY` access rights." msgstr "" +"Combina os direitos de acesso STANDARD_RIGHTS_WRITE, :const:`KEY_SET_VALUE` " +"e :const:`KEY_CREATE_SUB_KEY`." #: ../../library/winreg.rst:612 msgid "" -"Combines the STANDARD_RIGHTS_READ, :const:`KEY_QUERY_VALUE`, :const:" -"`KEY_ENUMERATE_SUB_KEYS`, and :const:`KEY_NOTIFY` values." +"Combines the " +"STANDARD_RIGHTS_READ, :const:`KEY_QUERY_VALUE`, :const:`KEY_ENUMERATE_SUB_KEYS`, " +"and :const:`KEY_NOTIFY` values." msgstr "" +"Combina os valores " +"STANDARD_RIGHTS_READ, :const:`KEY_QUERY_VALUE`, :const:`KEY_ENUMERATE_SUB_KEYS` " +"e :const:`KEY_NOTIFY`." #: ../../library/winreg.rst:617 msgid "Equivalent to :const:`KEY_READ`." -msgstr "" +msgstr "Equivalente a :const:`KEY_READ`." #: ../../library/winreg.rst:621 msgid "Required to query the values of a registry key." -msgstr "" +msgstr "Necessário para consultar os valores de uma chave de registro." #: ../../library/winreg.rst:625 msgid "Required to create, delete, or set a registry value." -msgstr "" +msgstr "Necessário para criar, excluir ou definir um valor de registro." #: ../../library/winreg.rst:629 msgid "Required to create a subkey of a registry key." -msgstr "" +msgstr "Necessário para criar uma subchave de uma chave de registro." #: ../../library/winreg.rst:633 msgid "Required to enumerate the subkeys of a registry key." -msgstr "" +msgstr "Necessário para enumerar as subchaves de uma chave de registro." #: ../../library/winreg.rst:637 msgid "" "Required to request change notifications for a registry key or for subkeys " "of a registry key." msgstr "" +"Necessário para solicitar notificações de alteração para uma chave de " +"registro ou para subchaves de uma chave de registro." #: ../../library/winreg.rst:642 msgid "Reserved for system use." -msgstr "" +msgstr "Reservado para uso pelo sistema." #: ../../library/winreg.rst:648 msgid "64-bit Specific" -msgstr "" +msgstr "Específico de 64 bits" #: ../../library/winreg.rst:650 msgid "" "For more information, see `Accessing an Alternate Registry View `__." msgstr "" +"Para obter mais informações, consulte `Acessando uma exibição alternativa do " +"Registro `__." #: ../../library/winreg.rst:655 msgid "" "Indicates that an application on 64-bit Windows should operate on the 64-bit " "registry view. On 32-bit Windows, this constant is ignored." msgstr "" +"Indica que uma aplicação no Windows 64 bits deve operar na visualização de " +"registro de 64 bits. No Windows de 32 bits, esta constante é ignorada." #: ../../library/winreg.rst:660 msgid "" "Indicates that an application on 64-bit Windows should operate on the 32-bit " "registry view. On 32-bit Windows, this constant is ignored." msgstr "" +"Indica que uma aplicação no Windows 64 bits deve operar na visualização de " +"registro de 32 bits. No Windows de 32 bits, esta constante é ignorada." #: ../../library/winreg.rst:666 msgid "Value Types" -msgstr "" +msgstr "Tipos de valores" #: ../../library/winreg.rst:668 msgid "" "For more information, see `Registry Value Types `__." msgstr "" +"Para obter mais informações, consulte `Tipos de valor do Registro `__." #: ../../library/winreg.rst:673 msgid "Binary data in any form." -msgstr "" +msgstr "Dados binários em qualquer formato." #: ../../library/winreg.rst:677 msgid "32-bit number." @@ -827,113 +1041,141 @@ msgstr "Número de 32 bits." msgid "" "A 32-bit number in little-endian format. Equivalent to :const:`REG_DWORD`." msgstr "" +"Um número de 32 bits no formato little-endian. Equivalente " +"a :const:`REG_DWORD`." #: ../../library/winreg.rst:685 msgid "A 32-bit number in big-endian format." -msgstr "" +msgstr "Um número de 32 bits no formato big-endian." #: ../../library/winreg.rst:689 msgid "" "Null-terminated string containing references to environment variables " "(``%PATH%``)." msgstr "" +"String terminada em nulo contendo referências a variáveis de ambiente " +"(``%PATH%``)." #: ../../library/winreg.rst:694 msgid "A Unicode symbolic link." -msgstr "" +msgstr "Um link simbólico Unicode." #: ../../library/winreg.rst:698 msgid "" "A sequence of null-terminated strings, terminated by two null characters. " "(Python handles this termination automatically.)" msgstr "" +"Uma sequência de strings terminadas em nulo, terminadas por dois caracteres " +"nulos. (O Python lida com essa terminação automaticamente.)" #: ../../library/winreg.rst:703 msgid "No defined value type." -msgstr "" +msgstr "Nenhum tipo de valor definido." #: ../../library/winreg.rst:707 msgid "A 64-bit number." -msgstr "" +msgstr "Um número de 64 bits." #: ../../library/winreg.rst:713 msgid "" "A 64-bit number in little-endian format. Equivalent to :const:`REG_QWORD`." msgstr "" +"Um número de 64 bits no formato little-endian. Equivalente " +"a :const:`REG_QWORD`." #: ../../library/winreg.rst:719 msgid "A device-driver resource list." -msgstr "" +msgstr "Uma lista de recursos de driver de dispositivo." #: ../../library/winreg.rst:723 msgid "A hardware setting." -msgstr "" +msgstr "Uma configuração de hardware." #: ../../library/winreg.rst:727 msgid "A hardware resource list." -msgstr "" +msgstr "Uma lista de recursos de hardware." #: ../../library/winreg.rst:731 msgid "A null-terminated string." -msgstr "" +msgstr "Uma string terminada em nulo." #: ../../library/winreg.rst:737 msgid "Registry Handle Objects" -msgstr "" +msgstr "Objetos identificador de registro" #: ../../library/winreg.rst:739 msgid "" "This object wraps a Windows HKEY object, automatically closing it when the " -"object is destroyed. To guarantee cleanup, you can call either the :meth:" -"`~PyHKEY.Close` method on the object, or the :func:`CloseKey` function." +"object is destroyed. To guarantee cleanup, you can call either " +"the :meth:`~PyHKEY.Close` method on the object, or the :func:`CloseKey` " +"function." msgstr "" +"Este objeto encapsula um objeto HKEY do Windows, fechando-o automaticamente " +"quando o objeto é destruído. Para garantir a limpeza, você pode chamar o " +"método :meth:`~PyHKEY.Close` no objeto ou a função :func:`CloseKey`." #: ../../library/winreg.rst:743 msgid "All registry functions in this module return one of these objects." -msgstr "" +msgstr "Todas as funções de registro neste módulo retornam um destes objetos." #: ../../library/winreg.rst:745 msgid "" "All registry functions in this module which accept a handle object also " "accept an integer, however, use of the handle object is encouraged." msgstr "" +"Todas as funções de registro neste módulo que aceitam um objeto " +"identificador também aceitam um inteiro; no entanto, o uso do objeto " +"identificador é incentivado." #: ../../library/winreg.rst:748 -msgid "Handle objects provide semantics for :meth:`__bool__` -- thus ::" +msgid "" +"Handle objects provide semantics for :meth:`~object.__bool__` -- thus ::" msgstr "" +"Objetos identificador fornecem semântica para :meth:`~object.__bool__` -- " +"portanto ::" #: ../../library/winreg.rst:753 msgid "" "will print ``Yes`` if the handle is currently valid (has not been closed or " "detached)." msgstr "" +"vai exibir ``Sim`` se o identificador for válido no momento (não foi fechado " +"ou desanexado)." #: ../../library/winreg.rst:756 msgid "" "The object also support comparison semantics, so handle objects will compare " "true if they both reference the same underlying Windows handle value." msgstr "" +"O objeto também oferece suporte à semântica de comparação, portanto, os " +"objetos identificador serão comparados como verdadeiros se ambos fizerem " +"referência ao mesmo valor de identificador subjacente do Windows." #: ../../library/winreg.rst:759 msgid "" -"Handle objects can be converted to an integer (e.g., using the built-in :" -"func:`int` function), in which case the underlying Windows handle value is " -"returned. You can also use the :meth:`~PyHKEY.Detach` method to return the " -"integer handle, and also disconnect the Windows handle from the handle " +"Handle objects can be converted to an integer (e.g., using the built-" +"in :func:`int` function), in which case the underlying Windows handle value " +"is returned. You can also use the :meth:`~PyHKEY.Detach` method to return " +"the integer handle, and also disconnect the Windows handle from the handle " "object." msgstr "" +"Objetos identificador podem ser convertidos em um inteiro (por exemplo, " +"usando a função embutida :func:`int`), caso em que o valor do identificador " +"do Windows subjacente é retornado. Você também pode usar o " +"método :meth:`~PyHKEY.Detach` para retornar o identificador inteiro e também " +"desconectar o identificador do Windows do objeto identificador." #: ../../library/winreg.rst:767 msgid "Closes the underlying Windows handle." -msgstr "" +msgstr "Fecha o identificador subjacente do Windows." #: ../../library/winreg.rst:769 msgid "If the handle is already closed, no error is raised." -msgstr "" +msgstr "Se o identificador já estiver fechado, nenhum erro será levantado." #: ../../library/winreg.rst:774 msgid "Detaches the Windows handle from the handle object." -msgstr "" +msgstr "Separa o identificador do Windows do objeto identificador." #: ../../library/winreg.rst:776 msgid "" @@ -941,6 +1183,9 @@ msgid "" "detached. If the handle is already detached or closed, this will return " "zero." msgstr "" +"O resultado é um inteiro que contém o valor do identificador antes de ser " +"destacado. Se o identificador já estiver destacado ou fechado, isso " +"retornará zero." #: ../../library/winreg.rst:780 msgid "" @@ -948,29 +1193,39 @@ msgid "" "handle is not closed. You would call this function when you need the " "underlying Win32 handle to exist beyond the lifetime of the handle object." msgstr "" +"Após chamar esta função, o identificador é efetivamente invalidado, mas não " +"é fechado. Você chamaria esta função quando precisasse que o identificador " +"subjacente de Win32 existisse além do tempo de vida do objeto identificador." #: ../../library/winreg.rst:784 msgid "" "Raises an :ref:`auditing event ` ``winreg.PyHKEY.Detach`` with " "argument ``key``." msgstr "" +"Levanta um :ref:`evento de auditoria ` ``winreg.PyHKEY.Detach`` " +"com o argumento ``key``." #: ../../library/winreg.rst:790 msgid "" -"The HKEY object implements :meth:`~object.__enter__` and :meth:`~object." -"__exit__` and thus supports the context protocol for the :keyword:`with` " -"statement::" +"The HKEY object implements :meth:`~object.__enter__` " +"and :meth:`~object.__exit__` and thus supports the context protocol for " +"the :keyword:`with` statement::" msgstr "" +"O objeto HKEY implementa :meth:`~object.__enter__` " +"e :meth:`~object.__exit__` e, portanto, oferece suporte ao protocolo de " +"contexto para a instrução :keyword:`with`::" #: ../../library/winreg.rst:797 msgid "" "will automatically close *key* when control leaves the :keyword:`with` block." msgstr "" +"vai fechar automaticamente *key* quando o controle sair do " +"bloco :keyword:`with`." #: ../../library/winreg.rst:242 msgid "% (percent)" -msgstr "" +msgstr "% (porcentagem)" #: ../../library/winreg.rst:242 msgid "environment variables expansion (Windows)" -msgstr "" +msgstr "expansão de variáveis de ambiente (Windows)" diff --git a/library/winsound.po b/library/winsound.po index 0afafbecf..3b75611d9 100644 --- a/library/winsound.po +++ b/library/winsound.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -50,23 +47,31 @@ msgstr "" "Emite um bipe no alto-falante do PC. O parâmetro *frequency* especifica a " "frequência, em hertz, do som e deve estar no intervalo de 37 a 32.767. O " "parâmetro *duration* especifica o número de milissegundos que o som deve " -"durar. Se o sistema não conseguir emitir um bipe no alto-falante, :exc:" -"`RuntimeError` é levantado." +"durar. Se o sistema não conseguir emitir um bipe no alto-" +"falante, :exc:`RuntimeError` é levantado." #: ../../library/winsound.rst:27 msgid "" -"Call the underlying :c:func:`PlaySound` function from the Platform API. The " -"*sound* parameter may be a filename, a system sound alias, audio data as a :" -"term:`bytes-like object`, or ``None``. Its interpretation depends on the " +"Call the underlying :c:func:`!PlaySound` function from the Platform API. " +"The *sound* parameter may be a filename, a system sound alias, audio data as " +"a :term:`bytes-like object`, or ``None``. Its interpretation depends on the " "value of *flags*, which can be a bitwise ORed combination of the constants " "described below. If the *sound* parameter is ``None``, any currently playing " -"waveform sound is stopped. If the system indicates an error, :exc:" -"`RuntimeError` is raised." -msgstr "" +"waveform sound is stopped. If the system indicates an " +"error, :exc:`RuntimeError` is raised." +msgstr "" +"Chama a função subjacente :c:func:`!PlaySound` da API da plataforma. O " +"parâmetro *sound* pode ser um nome de arquivo, um apelido de som do sistema, " +"dados de áudio como um :term:`objeto bytes ou similar` ou ``None``. Sua " +"interpretação depende do valor de *flags*, que pode ser uma combinação OU " +"bit a bit das constantes descritas abaixo. Se o parâmetro *sound* for " +"``None``, qualquer som de forma de onda em execução no momento será " +"interrompido. Se o sistema indicar um erro, :exc:`RuntimeError` será " +"levantada." #: ../../library/winsound.rst:38 msgid "" -"Call the underlying :c:func:`MessageBeep` function from the Platform API. " +"Call the underlying :c:func:`!MessageBeep` function from the Platform API. " "This plays a sound as specified in the registry. The *type* argument " "specifies which sound to play; possible values are ``-1``, " "``MB_ICONASTERISK``, ``MB_ICONEXCLAMATION``, ``MB_ICONHAND``, " @@ -75,34 +80,51 @@ msgid "" "played otherwise. If the system indicates an error, :exc:`RuntimeError` is " "raised." msgstr "" +"Chama a função subjacente :c:func:`!MessageBeep` da API da plataforma. Isso " +"reproduz um som conforme especificado no registro. O argumento *type* " +"especifica qual som reproduzir; os valores possíveis são ``-1``, " +"``MB_ICONASTERISK``, ``MB_ICONEXCLAMATION``, ``MB_ICONHAND``, " +"``MB_ICONQUESTION`` e ``MB_OK``, todos descritos abaixo. O valor ``-1`` " +"produz um \"bipe simples\"; este é o fallback final se um som não puder ser " +"reproduzido de outra forma. Se o sistema indicar um " +"erro, :exc:`RuntimeError` será levantada." #: ../../library/winsound.rst:49 msgid "" -"The *sound* parameter is the name of a WAV file. Do not use with :const:" -"`SND_ALIAS`." +"The *sound* parameter is the name of a WAV file. Do not use " +"with :const:`SND_ALIAS`." msgstr "" +"O parâmetro *sound* é o nome de um arquivo WAV. Não use " +"com :const:`SND_ALIAS`." #: ../../library/winsound.rst:55 msgid "" "The *sound* parameter is a sound association name from the registry. If the " -"registry contains no such name, play the system default sound unless :const:" -"`SND_NODEFAULT` is also specified. If no default sound is registered, raise :" -"exc:`RuntimeError`. Do not use with :const:`SND_FILENAME`." +"registry contains no such name, play the system default sound " +"unless :const:`SND_NODEFAULT` is also specified. If no default sound is " +"registered, raise :exc:`RuntimeError`. Do not use with :const:`SND_FILENAME`." msgstr "" +"O parâmetro *sound* é um nome de associação de som do registro. Se o " +"registro não contiver tal nome, reproduza o som padrão do sistema, a menos " +"que :const:`SND_NODEFAULT` também seja especificado. Se nenhum som padrão " +"for registrado, levanta :exc:`RuntimeError`. Não use " +"com :const:`SND_FILENAME`." #: ../../library/winsound.rst:60 msgid "" "All Win32 systems support at least the following; most systems support many " "more:" msgstr "" +"Todos os sistemas Win32 oferecem suporte a pelo menos o seguinte; a maioria " +"dos sistemas oferecem suporte a muito mais:" #: ../../library/winsound.rst:64 msgid ":func:`PlaySound` *name*" -msgstr "" +msgstr "*name* :func:`PlaySound`" #: ../../library/winsound.rst:64 msgid "Corresponding Control Panel Sound name" -msgstr "" +msgstr "Nome do som correspondente no Painel de Controle" #: ../../library/winsound.rst:66 msgid "``'SystemAsterisk'``" @@ -110,7 +132,7 @@ msgstr "``'SystemAsterisk'``" #: ../../library/winsound.rst:66 msgid "Asterisk" -msgstr "" +msgstr "Asterisco" #: ../../library/winsound.rst:68 msgid "``'SystemExclamation'``" @@ -118,7 +140,7 @@ msgstr "``'SystemExclamation'``" #: ../../library/winsound.rst:68 msgid "Exclamation" -msgstr "" +msgstr "Exclamação" #: ../../library/winsound.rst:70 msgid "``'SystemExit'``" @@ -126,7 +148,7 @@ msgstr "``'SystemExit'``" #: ../../library/winsound.rst:70 msgid "Exit Windows" -msgstr "" +msgstr "Logoff do Windows" #: ../../library/winsound.rst:72 msgid "``'SystemHand'``" @@ -134,7 +156,7 @@ msgstr "``'SystemHand'``" #: ../../library/winsound.rst:72 msgid "Critical Stop" -msgstr "" +msgstr "Parada crítica" #: ../../library/winsound.rst:74 msgid "``'SystemQuestion'``" @@ -142,7 +164,7 @@ msgstr "``'SystemQuestion'``" #: ../../library/winsound.rst:74 msgid "Question" -msgstr "" +msgstr "Pergunta" #: ../../library/winsound.rst:77 msgid "For example::" @@ -153,57 +175,68 @@ 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 "" +"Reproduz o som repetidamente. O sinalizador :const:`SND_ASYNC` também deve " +"ser usado para evitar bloqueio. Não pode ser usado com :const:`SND_MEMORY`." #: ../../library/winsound.rst:96 msgid "" "The *sound* parameter to :func:`PlaySound` is a memory image of a WAV file, " "as a :term:`bytes-like object`." msgstr "" +"O parâmetro *sound* para :func:`PlaySound` é uma imagem de memória de um " +"arquivo WAV, como um :term:`objeto bytes ou similar`." #: ../../library/winsound.rst:101 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`." +"a combination of this flag and :const:`SND_ASYNC` will " +"raise :exc:`RuntimeError`." msgstr "" +"Este módulo não oferece suporte à reprodução de uma imagem de memória de " +"forma assíncrona, portanto, uma combinação deste sinalizador " +"e :const:`SND_ASYNC` levantará :exc:`RuntimeError`." #: ../../library/winsound.rst:107 msgid "Stop playing all instances of the specified sound." -msgstr "" +msgstr "Para de reproduzir todas as instâncias do som especificado." #: ../../library/winsound.rst:111 ../../library/winsound.rst:135 msgid "This flag is not supported on modern Windows platforms." -msgstr "" +msgstr "Não há suporte a este sinalizador em plataformas Windows modernas." #: ../../library/winsound.rst:116 msgid "Return immediately, allowing sounds to play asynchronously." msgstr "" +"Retorna imediatamente, permitindo que os sons sejam reproduzidos de forma " +"assíncrona." #: ../../library/winsound.rst:121 msgid "" "If the specified sound cannot be found, do not play the system default sound." msgstr "" +"Se o som especificado não for encontrado, o som padrão do sistema não será " +"reproduzido." #: ../../library/winsound.rst:126 msgid "Do not interrupt sounds currently playing." -msgstr "" +msgstr "Não interrompe os sons que estão sendo reproduzidos." #: ../../library/winsound.rst:131 msgid "Return immediately if the sound driver is busy." -msgstr "" +msgstr "Retorna imediatamente se o driver de som estiver ocupado." #: ../../library/winsound.rst:140 ../../library/winsound.rst:160 msgid "Play the ``SystemDefault`` sound." -msgstr "" +msgstr "Reproduz o som ``SystemDefault``." #: ../../library/winsound.rst:145 msgid "Play the ``SystemExclamation`` sound." -msgstr "" +msgstr "Reproduz o som ``SystemExclamation``." #: ../../library/winsound.rst:150 msgid "Play the ``SystemHand`` sound." -msgstr "" +msgstr "Reproduz o som ``SystemHand``." #: ../../library/winsound.rst:155 msgid "Play the ``SystemQuestion`` sound." -msgstr "" +msgstr "Reproduz o som ``SystemQuestion``." diff --git a/library/wsgiref.po b/library/wsgiref.po index 73061af67..303a33ddd 100644 --- a/library/wsgiref.po +++ b/library/wsgiref.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# i17obot , 2021 -# Lucas Rafaldini , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -32,9 +29,15 @@ msgstr ":mod:`wsgiref` --- Utilidades WSGI e Implementação de Referência" #: ../../library/wsgiref.rst:10 msgid "**Source code:** :source:`Lib/wsgiref`" +msgstr "**Código-fonte:** :source:`Lib/wsgiref`" + +#: ../../library/wsgiref.rst:16 +msgid "" +":mod:`wsgiref` is a reference implementation and is not recommended for " +"production. The module only implements basic security checks." msgstr "" -#: ../../library/wsgiref.rst:14 +#: ../../library/wsgiref.rst:19 msgid "" "The Web Server Gateway Interface (WSGI) is a standard interface between web " "server software and web applications written in Python. Having a standard " @@ -47,7 +50,7 @@ msgstr "" "torna mais fácil a utilização de uma aplicação que suporta WSGI com inúmeros " "diferentes servidores web." -#: ../../library/wsgiref.rst:19 +#: ../../library/wsgiref.rst:24 msgid "" "Only authors of web servers and programming frameworks need to know every " "detail and corner case of the WSGI design. You don't need to understand " @@ -59,7 +62,7 @@ msgstr "" "entender todos os detalhes do WSGI para apenas instalar uma aplicação WSGI " "ou para escrever uma aplicação web usando um framework existente." -#: ../../library/wsgiref.rst:24 +#: ../../library/wsgiref.rst:29 msgid "" ":mod:`wsgiref` is a reference implementation of the WSGI specification that " "can be used to add WSGI support to a web server or framework. It provides " @@ -69,8 +72,16 @@ msgid "" "that checks WSGI servers and applications for conformance to the WSGI " "specification (:pep:`3333`)." msgstr "" +":mod:`wsgiref` é uma implementação de referência da especificação WSGI que " +"pode ser utilizada para adicionar suporte WSGI em um servidor web ou " +"framework. Ele provê utilidades para manipulação de variáveis de ambiente " +"WSGI e cabeçalhos de respostas, classes base para implementação de " +"servidores WSGI, uma demo de um servidor HTTP que serve aplicações WSGI, " +"tipos para verificação de tipos estáticos e uma ferramenta de validação que " +"confere se servidores WSGI e aplicações estão de acordo com a especificação " +"WSGI (:pep:`3333`)." -#: ../../library/wsgiref.rst:32 +#: ../../library/wsgiref.rst:37 msgid "" "See `wsgi.readthedocs.io `_ for more " "information about WSGI, and links to tutorials and other resources." @@ -78,31 +89,39 @@ msgstr "" "Veja `wsgi.readthedocs.io `_ para mais " "informações sobre WSGI, além de links para tutoriais e outros recursos." -#: ../../library/wsgiref.rst:39 +#: ../../library/wsgiref.rst:44 msgid ":mod:`wsgiref.util` -- WSGI environment utilities" msgstr ":mod:`wsgiref.util` -- Utilidades do ambiente WSGI" -#: ../../library/wsgiref.rst:45 +#: ../../library/wsgiref.rst:50 msgid "" "This module provides a variety of utility functions for working with WSGI " "environments. A WSGI environment is a dictionary containing HTTP request " "variables as described in :pep:`3333`. All of the functions taking an " "*environ* parameter expect a WSGI-compliant dictionary to be supplied; " -"please see :pep:`3333` for a detailed specification and :data:`~wsgiref." -"types.WSGIEnvironment` for a type alias that can be used in type annotations." +"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 "" +"Este módulo fornece uma variedade de funções de utilidade para trabalhar com " +"ambientes WSGI. Um ambiente WSGI é um dicionário contendo variáveis de " +"solicitação HTTP, conforme descrito na :pep:`3333`. Todas as funções que " +"recebem um parâmetro *environ* esperam que um dicionário compatível com WSGI " +"seja fornecido; consulte a :pep:`3333` para uma especificação detalhada " +"e :data:`~wsgiref.types.WSGIEnvironment` para um apelido de tipo que pode " +"ser usado em anotações de tipos." -#: ../../library/wsgiref.rst:56 +#: ../../library/wsgiref.rst:61 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 "" "Retorna uma sugestão sobre ``wsgi.url_scheme`` ser \"http\" ou \"https\" " -"buscando por uma ``HTTPS`` variável de ambiente dentro do dicionário " +"buscando por uma variável de ambiente ``HTTPS`` dentro do dicionário " "*environ*. O valor de retorno é uma string." -#: ../../library/wsgiref.rst:60 +#: ../../library/wsgiref.rst:65 msgid "" "This function is useful when creating a gateway that wraps CGI or a CGI-like " "protocol such as FastCGI. Typically, servers providing such protocols will " @@ -110,50 +129,77 @@ msgid "" "a request is received via SSL. So, this function returns \"https\" if such " "a value is found, and \"http\" otherwise." msgstr "" +"Esta função é útil ao criar um gateway que encapsula CGI ou um protocolo " +"semelhante a CGI, como FastCGI. Normalmente, servidores que fornecem tais " +"protocolos incluirão uma variável ``HTTPS`` com um valor de \"1\", \"yes\" " +"ou \"on\" quando uma solicitação é recebida via SSL. Então, esta função " +"retorna \"https\" se tal valor for encontrado, e \"http\" caso contrário." -#: ../../library/wsgiref.rst:69 +#: ../../library/wsgiref.rst:74 msgid "" "Return the full request URI, optionally including the query string, using " "the algorithm found in the \"URL Reconstruction\" section of :pep:`3333`. " "If *include_query* is false, the query string is not included in the " "resulting URI." msgstr "" +"Retorna o URI de solicitação completo, opcionalmente incluindo a string de " +"consulta, usando o algoritmo encontrado na seção \"URL Reconstruction\" " +"da :pep:`3333`. Se *include_query* for falso, a string de consulta não será " +"incluída no URI resultante." -#: ../../library/wsgiref.rst:76 +#: ../../library/wsgiref.rst:81 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 "" +"Semelhante a :func:`request_uri`, exceto que as variáveis ``PATH_INFO`` e " +"``QUERY_STRING`` são ignoradas. O resultado é o URI base do objeto da " +"aplicação endereçado pela solicitação." -#: ../../library/wsgiref.rst:83 +#: ../../library/wsgiref.rst:88 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 "" +"Desloca um único nome de ``PATH_INFO`` para ``SCRIPT_NAME`` e retorna o " +"nome. O dicionário *environ* é *modificado* no local; use uma cópia se " +"precisar manter o ``PATH_INFO`` ou ``SCRIPT_NAME`` original intacto." -#: ../../library/wsgiref.rst:87 +#: ../../library/wsgiref.rst:92 msgid "" "If there are no remaining path segments in ``PATH_INFO``, ``None`` is " "returned." msgstr "" +"Se não houver segmentos de caminho restantes em ``PATH_INFO``, ``None`` será " +"retornado." -#: ../../library/wsgiref.rst:89 +#: ../../library/wsgiref.rst:94 msgid "" "Typically, this routine is used to process each portion of a request URI " "path, for example to treat the path as a series of dictionary keys. This " "routine modifies the passed-in environment to make it suitable for invoking " "another WSGI application that is located at the target URI. For example, if " "there is a WSGI application at ``/foo``, and the request URI path is ``/foo/" -"bar/baz``, and the WSGI application at ``/foo`` calls :func:" -"`shift_path_info`, it will receive the string \"bar\", and the environment " -"will be updated to be suitable for passing to a WSGI application at ``/foo/" -"bar``. That is, ``SCRIPT_NAME`` will change from ``/foo`` to ``/foo/bar``, " -"and ``PATH_INFO`` will change from ``/bar/baz`` to ``/baz``." -msgstr "" - -#: ../../library/wsgiref.rst:100 +"bar/baz``, and the WSGI application at ``/foo`` " +"calls :func:`shift_path_info`, it will receive the string \"bar\", and the " +"environment will be updated to be suitable for passing to a WSGI application " +"at ``/foo/bar``. That is, ``SCRIPT_NAME`` will change from ``/foo`` to ``/" +"foo/bar``, and ``PATH_INFO`` will change from ``/bar/baz`` to ``/baz``." +msgstr "" +"Normalmente, essa rotina é usada para processar cada porção de um caminho de " +"URI de solicitação, por exemplo, para tratar o caminho como uma série de " +"chaves de dicionário. Essa rotina modifica o ambiente passado para torná-lo " +"adequado para invocar outra aplicação WSGI localizada no URI de destino. Por " +"exemplo, se houver uma aplicação WSGI em ``/foo``, e o caminho de URI de " +"solicitação for ``/foo/bar/baz``, e a aplicação WSGI em ``/foo`` " +"chamar :func:`shift_path_info`, ele receberá a string \"bar\", e o ambiente " +"será atualizado para ser adequado para passar para uma aplicação WSGI em ``/" +"foo/bar``. Ou seja, ``SCRIPT_NAME`` mudará de ``/foo`` para ``/foo/bar``, e " +"``PATH_INFO`` mudará de ``/bar/baz`` para ``/baz``." + +#: ../../library/wsgiref.rst:105 msgid "" "When ``PATH_INFO`` is just a \"/\", this routine returns an empty string and " "appends a trailing slash to ``SCRIPT_NAME``, even though empty path segments " @@ -162,114 +208,171 @@ msgid "" "difference between URIs ending in ``/x`` from ones ending in ``/x/`` when " "using this routine to do object traversal." msgstr "" +"Quando ``PATH_INFO`` é apenas um \"/\", esta rotina retorna uma string vazia " +"e acrescenta uma barra final a ``SCRIPT_NAME``, embora segmentos de caminho " +"vazios sejam normalmente ignorados, e ``SCRIPT_NAME`` normalmente não " +"termine em uma barra. Este é um comportamento intencional, para garantir que " +"uma aplicação possa diferenciar URIs terminando em ``/x`` daqueles " +"terminando em ``/x/`` ao usar esta rotina para fazer travessia de objetos." -#: ../../library/wsgiref.rst:110 +#: ../../library/wsgiref.rst:115 msgid "Update *environ* with trivial defaults for testing purposes." -msgstr "" +msgstr "Atualiza *environ* com padrões triviais para fins de teste." -#: ../../library/wsgiref.rst:112 +#: ../../library/wsgiref.rst:117 msgid "" "This routine adds various parameters required for WSGI, including " "``HTTP_HOST``, ``SERVER_NAME``, ``SERVER_PORT``, ``REQUEST_METHOD``, " -"``SCRIPT_NAME``, ``PATH_INFO``, and all of the :pep:`3333`\\ -defined ``wsgi." -"*`` variables. It only supplies default values, and does not replace any " -"existing settings for these variables." +"``SCRIPT_NAME``, ``PATH_INFO``, and all of the :pep:`3333`\\ -defined " +"``wsgi.*`` variables. It only supplies default values, and does not replace " +"any existing settings for these variables." msgstr "" +"Esta rotina adiciona vários parâmetros necessários para WSGI, incluindo " +"``HTTP_HOST``, ``SERVER_NAME``, ``SERVER_PORT``, ``REQUEST_METHOD``, " +"``SCRIPT_NAME``, ``PATH_INFO`` e todas as variáveis ``wsgi.*`` definidas " +"pela :pep:`3333`. Ela fornece apenas valores padrão e não substitui nenhuma " +"configuração existente para essas variáveis." -#: ../../library/wsgiref.rst:118 +#: ../../library/wsgiref.rst:123 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 "" +"Esta rotina tem como objetivo facilitar que testes unitários de servidores e " +"aplicações WSGI configurem ambientes fictícios. Ela NÃO deve ser usada por " +"servidores ou aplicações WSGI reais, pois os dados são falsos!" -#: ../../library/wsgiref.rst:122 ../../library/wsgiref.rst:170 -#: ../../library/wsgiref.rst:292 ../../library/wsgiref.rst:425 +#: ../../library/wsgiref.rst:127 ../../library/wsgiref.rst:175 +#: ../../library/wsgiref.rst:298 ../../library/wsgiref.rst:431 msgid "Example usage::" msgstr "Exemplo de uso::" -#: ../../library/wsgiref.rst:146 +#: ../../library/wsgiref.rst:151 msgid "" "In addition to the environment functions above, the :mod:`wsgiref.util` " "module also provides these miscellaneous utilities:" msgstr "" +"Além das funções de ambiente acima, o módulo :mod:`wsgiref.util` também " +"fornece estes utilitários diversos:" -#: ../../library/wsgiref.rst:152 +#: ../../library/wsgiref.rst:157 msgid "" "Return ``True`` if 'header_name' is an HTTP/1.1 \"Hop-by-Hop\" header, as " "defined by :rfc:`2616`." msgstr "" +"Retorna ``True`` se 'header_name' for um cabeçalho HTTP/1.1 \"Hop-by-Hop\", " +"conforme definido por :rfc:`2616`." -#: ../../library/wsgiref.rst:158 +#: ../../library/wsgiref.rst:163 msgid "" "A concrete implementation of the :class:`wsgiref.types.FileWrapper` protocol " "used to convert a file-like object to an :term:`iterator`. The resulting " "objects are :term:`iterable`\\ s. As the object is iterated over, the " "optional *blksize* parameter will be repeatedly passed to the *filelike* " -"object's :meth:`read` method to obtain bytestrings to yield. When :meth:" -"`read` returns an empty bytestring, iteration is ended and is not resumable." +"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 "" +"Uma implementação concreta do protocolo :class:`wsgiref.types.FileWrapper` " +"usado para converter um objeto arquivo ou similar em um :term:`iterador`. Os " +"objetos resultantes são :term:`iteráveis `. Conforme o objeto é " +"iterado, o parâmetro opcional *blksize* será repetidamente passado para o " +"método :meth:`read` do objeto *filelike* para obter bytestrings para " +"produzir. Quando :meth:`read` retorna uma string de bytes vazia, a iteração " +"é encerrada e não pode ser retomada." -#: ../../library/wsgiref.rst:166 +#: ../../library/wsgiref.rst:171 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 "" - -#: ../../library/wsgiref.rst:182 -msgid "Support for :meth:`__getitem__` method has been removed." +"a :meth:`close` method, and it will invoke the *filelike* " +"object's :meth:`close` method when called." msgstr "" +"Se *filelike* tiver um método :meth:`close`, o objeto retornado também terá " +"um método :meth:`close` e invocará o método :meth:`close` do objeto " +"*filelike* quando chamado." #: ../../library/wsgiref.rst:187 +msgid "Support for :meth:`~object.__getitem__` method has been removed." +msgstr "O suporte para o método :meth:`~object.__getitem__` foi removido" + +#: ../../library/wsgiref.rst:192 msgid ":mod:`wsgiref.headers` -- WSGI response header tools" -msgstr "" +msgstr ":mod:`wsgiref.headers` -- Ferramentas de cabeçalho de resposta WSGI" -#: ../../library/wsgiref.rst:193 +#: ../../library/wsgiref.rst:198 msgid "" "This module provides a single class, :class:`Headers`, for convenient " "manipulation of WSGI response headers using a mapping-like interface." msgstr "" +"Este módulo fornece uma única classe, :class:`Headers`, para manipulação " +"conveniente de cabeçalhos de resposta WSGI usando uma interface semelhante a " +"mapeamento." -#: ../../library/wsgiref.rst:199 +#: ../../library/wsgiref.rst:204 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 "" - -#: ../../library/wsgiref.rst:203 -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 "" - -#: ../../library/wsgiref.rst:212 +"Cria um objeto mapeamento envolvendo *headers*, que deve ser uma lista de " +"tuplas de nome/valor de cabeçalho, conforme descrito na :pep:`3333`. O valor " +"padrão de *headers* é uma lista vazia." + +#: ../../library/wsgiref.rst:208 +msgid "" +":class:`Headers` objects support typical mapping operations " +"including :meth:`~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 "" +"Os objetos :class:`Headers` oferecem suporte a operações de mapeamento " +"típicas, " +"incluindo :meth:`~object.__getitem__`, :meth:`~dict.get`, :meth:`~object.__setitem__`, :meth:`~dict.setdefault`, :meth:`~object.__delitem__` " +"e :meth:`~object.__contains__`. Para cada um desses métodos, a chave é o " +"nome do cabeçalho (tratado sem distinção entre maiúsculas e minúsculas) e o " +"valor é o primeiro valor associado a esse nome de cabeçalho. Definir um " +"cabeçalho exclui quaisquer valores existentes para esse cabeçalho e, em " +"seguida, adiciona um novo valor ao final da lista de cabeçalhos " +"encapsulados. A ordem existente dos cabeçalhos geralmente é mantida, com " +"novos cabeçalhos adicionados ao final da lista encapsulada." + +#: ../../library/wsgiref.rst:218 msgid "" "Unlike a dictionary, :class:`Headers` objects do not raise an error when you " "try to get or delete a key that isn't in the wrapped header list. Getting a " "nonexistent header just returns ``None``, and deleting a nonexistent header " "does nothing." msgstr "" +"Diferentemente de um dicionário, objetos :class:`Headers` não levantam um " +"erro quando você tenta obter ou excluir uma chave que não está na lista de " +"cabeçalhos encapsulados. Obter um cabeçalho inexistente retorna apenas " +"``None``, e excluir um cabeçalho inexistente não faz nada." + +#: ../../library/wsgiref.rst:223 +msgid "" +":class:`Headers` objects also support :meth:`keys`, :meth:`values`, " +"and :meth:`items` methods. The lists returned by :meth:`keys` " +"and :meth:`items` can include the same key more than once if there is a " +"multi-valued header. The ``len()`` of a :class:`Headers` object is the same " +"as the length of its :meth:`items`, which is the same as the length of the " +"wrapped header list. In fact, the :meth:`items` method just returns a copy " +"of the wrapped header list." +msgstr "" +"Os objetos :class:`Headers` também oferecem suporte aos " +"métodos :meth:`keys`, :meth:`values` e :meth:`items`. As listas retornadas " +"por :meth:`keys` e :meth:`items` podem incluir a mesma chave mais de uma vez " +"se houver um cabeçalho multivalorado. O ``len()`` de um " +"objeto :class:`Headers` é o mesmo que o comprimento de seus :meth:`items`, " +"que é o mesmo que o comprimento da lista de cabeçalhos encapsulados. Na " +"verdade, o método :meth:`items` apenas retorna uma cópia da lista de " +"cabeçalhos encapsulados." -#: ../../library/wsgiref.rst:217 -msgid "" -":class:`Headers` objects also support :meth:`keys`, :meth:`values`, and :" -"meth:`items` methods. The lists returned by :meth:`keys` and :meth:`items` " -"can include the same key more than once if there is a multi-valued header. " -"The ``len()`` of a :class:`Headers` object is the same as the length of its :" -"meth:`items`, which is the same as the length of the wrapped header list. " -"In fact, the :meth:`items` method just returns a copy of the wrapped header " -"list." -msgstr "" - -#: ../../library/wsgiref.rst:224 +#: ../../library/wsgiref.rst:230 msgid "" "Calling ``bytes()`` on a :class:`Headers` object returns a formatted " "bytestring suitable for transmission as HTTP response headers. Each header " @@ -277,33 +380,50 @@ msgid "" "line is terminated by a carriage return and line feed, and the bytestring is " "terminated with a blank line." msgstr "" +"Chamar ``bytes()`` em um objeto :class:`Headers` retorna uma bytestring " +"formatada adequada para transmissão como cabeçalhos de resposta HTTP. Cada " +"cabeçalho é colocado em uma linha com seu valor, separado por dois pontos e " +"um espaço. Cada linha é terminada por um retorno de carro e uma quebra de " +"linha, e a bytestring é terminada com uma linha em branco." -#: ../../library/wsgiref.rst:230 +#: ../../library/wsgiref.rst:236 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:" +"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 "" +"Além de sua interface de mapeamento e recursos de formatação, os " +"objetos :class:`Headers` também têm os seguintes métodos para consultar e " +"adicionar cabeçalhos multivalorados e para adicionar cabeçalhos com " +"parâmetros MIME:" -#: ../../library/wsgiref.rst:237 +#: ../../library/wsgiref.rst:243 msgid "Return a list of all the values for the named header." -msgstr "" +msgstr "Retorna uma lista de todos os valores para o cabeçalho nomeado." -#: ../../library/wsgiref.rst:239 +#: ../../library/wsgiref.rst:245 msgid "" "The returned list will be sorted in the order they appeared in the original " "header list or were added to this instance, and may contain duplicates. Any " "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 "" +"A lista retornada será classificada na ordem em que apareceu na lista de " +"cabeçalho original ou foi adicionada a esta instância, e pode conter " +"duplicatas. Quaisquer campos excluídos e reinseridos são sempre anexados à " +"lista de cabeçalho. Se não houver campos com o nome fornecido, retorna uma " +"lista vazia." -#: ../../library/wsgiref.rst:247 +#: ../../library/wsgiref.rst:253 msgid "" "Add a (possibly multi-valued) header, with optional MIME parameters " "specified via keyword arguments." msgstr "" +"Adiciona um cabeçalho (possivelmente multivalorado), com parâmetros MIME " +"opcionais especificados por meio de argumentos nomeados." -#: ../../library/wsgiref.rst:250 +#: ../../library/wsgiref.rst:256 msgid "" "*name* is the header field to add. Keyword arguments can be used to set " "MIME parameters for the header field. Each parameter must be a string or " @@ -314,40 +434,60 @@ msgid "" "only the parameter name is added. (This is used for MIME parameters without " "a value.) Example usage::" msgstr "" - -#: ../../library/wsgiref.rst:260 +"*name* é o campo de cabeçalho a ser adicionado. Argumentos nomeados podem " +"ser usados para definir parâmetros MIME para o campo de cabeçalho. Cada " +"parâmetro deve ser uma string ou ``None``. Sublinhados em nomes de " +"parâmetros são convertidos em traços, já que traços são ilegais em " +"identificadores Python, mas muitos nomes de parâmetros MIME incluem traços. " +"Se o valor do parâmetro for uma string, ele será adicionado aos parâmetros " +"de valor do cabeçalho no formato ``name=\"value\"``. Se for ``None``, " +"somente o nome do parâmetro será adicionado. (Isso é usado para parâmetros " +"MIME sem um valor.) Exemplo de uso::" + +#: ../../library/wsgiref.rst:266 msgid "The above will add a header that looks like this::" -msgstr "" +msgstr "O exemplo acima adicionará um cabeçalho parecido com este::" -#: ../../library/wsgiref.rst:265 +#: ../../library/wsgiref.rst:271 msgid "*headers* parameter is optional." msgstr "o parâmetro *headers* é opcional." -#: ../../library/wsgiref.rst:270 +#: ../../library/wsgiref.rst:276 msgid ":mod:`wsgiref.simple_server` -- a simple WSGI HTTP server" -msgstr "" +msgstr ":mod:`wsgiref.simple_server` -- um servidor HTTP WSGI simples" -#: ../../library/wsgiref.rst:276 +#: ../../library/wsgiref.rst:282 msgid "" "This module implements a simple HTTP server (based on :mod:`http.server`) " "that serves WSGI applications. Each server instance serves a single WSGI " "application on a given host and port. If you want to serve multiple " "applications on a single host and port, you should create a WSGI application " "that parses ``PATH_INFO`` to select which application to invoke for each " -"request. (E.g., using the :func:`shift_path_info` function from :mod:" -"`wsgiref.util`.)" +"request. (E.g., using the :func:`shift_path_info` function " +"from :mod:`wsgiref.util`.)" msgstr "" +"Este módulo implementa um servidor HTTP simples (com base " +"em :mod:`http.server`) que serve aplicações WSGI. Cada instância de servidor " +"serve uma única aplicação WSGI em um host e porta fornecidos. Se você quiser " +"servir várias aplicações em um único host e porta, você deve criar uma " +"aplicação WSGI que analise ``PATH_INFO`` para selecionar qual aplicação " +"invocar para cada solicitação. (Por exemplo, usando a " +"função :func:`shift_path_info` de :mod:`wsgiref.util`.)" -#: ../../library/wsgiref.rst:287 +#: ../../library/wsgiref.rst:293 msgid "" "Create a new WSGI server listening on *host* and *port*, accepting " "connections for *app*. The return value is an instance of the supplied " "*server_class*, and will process requests using the specified " -"*handler_class*. *app* must be a WSGI application object, as defined by :" -"pep:`3333`." +"*handler_class*. *app* must be a WSGI application object, as defined " +"by :pep:`3333`." msgstr "" +"Cria um novo servidor WSGI escutando em *host* e *port*, aceitando conexões " +"para *app*. O valor de retorno é uma instância da *server_class* fornecida e " +"processará solicitações usando a *handler_class* especificada. *app* deve " +"ser um objeto de aplicação WSGI, conforme definido pela :pep:`3333`." -#: ../../library/wsgiref.rst:308 +#: ../../library/wsgiref.rst:314 msgid "" "This function is a small but complete WSGI application that returns a text " "page containing the message \"Hello world!\" and a list of the key/value " @@ -355,61 +495,92 @@ msgid "" "WSGI server (such as :mod:`wsgiref.simple_server`) is able to run a simple " "WSGI application correctly." msgstr "" +"Esta função é uma aplicação WSGI pequeno, mas completo, que retorna uma " +"página de texto contendo a mensagem \"Hello world!\" e uma lista dos pares " +"chave/valor fornecidos no parâmetro *environ*. É útil para verificar se um " +"servidor WSGI (como :mod:`wsgiref.simple_server`) é capaz de executar uma " +"aplicação WSGI simples corretamente." -#: ../../library/wsgiref.rst:317 +#: ../../library/wsgiref.rst:323 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." +"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 "" +"Cria uma instância :class:`WSGIServer`. *server_address* deve ser uma tupla " +"``(host,port)`` e *RequestHandlerClass* deve ser a subclasse " +"de :class:`http.server.BaseHTTPRequestHandler` que será usada para processar " +"solicitações." -#: ../../library/wsgiref.rst:322 +#: ../../library/wsgiref.rst:328 msgid "" -"You do not normally need to call this constructor, as the :func:" -"`make_server` function can handle all the details for you." +"You do not normally need to call this constructor, as " +"the :func:`make_server` function can handle all the details for you." msgstr "" +"Normalmente você não precisa chamar esse construtor, pois a " +"função :func:`make_server` pode cuidar de todos os detalhes para você." -#: ../../library/wsgiref.rst:325 +#: ../../library/wsgiref.rst:331 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` é uma subclasse de :class:`http.server.HTTPServer`, " +"então todos os seus métodos (como :meth:`serve_forever` " +"e :meth:`handle_request`) estão disponíveis. :class:`WSGIServer` também " +"fornece estes métodos específicos do WSGI:" -#: ../../library/wsgiref.rst:332 +#: ../../library/wsgiref.rst:338 msgid "" "Sets the callable *application* as the WSGI application that will receive " "requests." msgstr "" +"Define o chamável *application* como a aplicação WSGI que receberá " +"solicitações." -#: ../../library/wsgiref.rst:338 +#: ../../library/wsgiref.rst:344 msgid "Returns the currently set application callable." -msgstr "" +msgstr "Retorna o chamável da aplicação definido atualmente." -#: ../../library/wsgiref.rst:340 +#: ../../library/wsgiref.rst:346 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." +"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 "" +"Normalmente, no entanto, você não precisa usar esses métodos adicionais, " +"pois :meth:`set_app` é normalmente chamado por :func:`make_server`, " +"e :meth:`get_app` existe principalmente para o benefício de instâncias do " +"manipulador de solicitações." -#: ../../library/wsgiref.rst:347 +#: ../../library/wsgiref.rst:353 msgid "" "Create an HTTP handler for the given *request* (i.e. a socket), " -"*client_address* (a ``(host,port)`` tuple), and *server* (:class:" -"`WSGIServer` instance)." +"*client_address* (a ``(host,port)`` tuple), and *server* " +"(:class:`WSGIServer` instance)." msgstr "" +"Cria um manipulador HTTP para *request* fornecido (isto é, um soquete), " +"*client_address* (uma tupla ``(host,port)``) e *server* " +"(instância :class:`WSGIServer`)." -#: ../../library/wsgiref.rst:350 +#: ../../library/wsgiref.rst:356 msgid "" "You do not need to create instances of this class directly; they are " "automatically created as needed by :class:`WSGIServer` objects. You can, " -"however, subclass this class and supply it as a *handler_class* to the :func:" -"`make_server` function. Some possibly relevant methods for overriding in " -"subclasses:" +"however, subclass this class and supply it as a *handler_class* to " +"the :func:`make_server` function. Some possibly relevant methods for " +"overriding in subclasses:" msgstr "" +"Você não precisa criar instâncias desta classe diretamente; elas são criadas " +"automaticamente conforme necessário pelos objetos :class:`WSGIServer`. Você " +"pode, no entanto, estender esta classe e fornecê-la como uma *handler_class* " +"para a função :func:`make_server`. Alguns métodos possivelmente relevantes " +"para substituir em subclasses:" -#: ../../library/wsgiref.rst:359 +#: ../../library/wsgiref.rst:365 msgid "" "Return a :data:`~wsgiref.types.WSGIEnvironment` dictionary for a request. " "The default implementation copies the contents of the :class:`WSGIServer` " @@ -418,35 +589,52 @@ msgid "" "return a new dictionary containing all of the relevant CGI environment " "variables as specified in :pep:`3333`." msgstr "" +"Retorna um dicionário :data:`~wsgiref.types.WSGIEnvironment` para uma " +"solicitação. A implementação padrão copia o conteúdo do atributo de " +"dicionário :attr:`base_environ` do objeto :class:`WSGIServer` e então " +"adiciona vários cabeçalhos derivados da solicitação HTTP. Cada chamada para " +"esse método deve retornar um novo dicionário contendo todas as variáveis de " +"ambiente CGI relevantes conforme especificado na :pep:`3333`." -#: ../../library/wsgiref.rst:370 +#: ../../library/wsgiref.rst:376 msgid "" "Return the object that should be used as the ``wsgi.errors`` stream. The " "default implementation just returns ``sys.stderr``." msgstr "" +"Retorna o objeto que deve ser usado como o fluxo ``wsgi.errors``. A " +"implementação padrão retorna apenas ``sys.stderr``." -#: ../../library/wsgiref.rst:376 +#: ../../library/wsgiref.rst:382 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 "" +"Processa a solicitação HTTP. A implementação padrão cria uma instância " +"manipuladora usando uma classe :mod:`wsgiref.handlers` para implementar a " +"interface da aplicação WSGI." -#: ../../library/wsgiref.rst:382 +#: ../../library/wsgiref.rst:388 msgid ":mod:`wsgiref.validate` --- WSGI conformance checker" -msgstr "" +msgstr ":mod:`wsgiref.validate` --- Verificador de conformidade WSGI" -#: ../../library/wsgiref.rst:388 +#: ../../library/wsgiref.rst:394 msgid "" "When creating new WSGI application objects, frameworks, servers, or " -"middleware, it can be useful to validate the new code's conformance using :" -"mod:`wsgiref.validate`. This module provides a function that creates WSGI " -"application objects that validate communications between a WSGI server or " -"gateway and a WSGI application object, to check both sides for protocol " +"middleware, it can be useful to validate the new code's conformance " +"using :mod:`wsgiref.validate`. This module provides a function that creates " +"WSGI application objects that validate communications between a WSGI server " +"or gateway and a WSGI application object, to check both sides for protocol " "conformance." msgstr "" +"Ao criar novos objetos de aplicação WSGI, frameworks, servidores ou " +"middleware, pode ser útil validar a conformidade do novo código " +"usando :mod:`wsgiref.validate`. Este módulo fornece uma função que cria " +"objetos de aplicação WSGI que validam comunicações entre um servidor ou " +"gateway WSGI e um objeto de aplicação WSGI, para verificar ambos os lados " +"quanto à conformidade do protocolo." -#: ../../library/wsgiref.rst:395 +#: ../../library/wsgiref.rst:401 msgid "" "Note that this utility does not guarantee complete :pep:`3333` compliance; " "an absence of errors from this module does not necessarily mean that errors " @@ -454,22 +642,33 @@ msgid "" "virtually certain that either the server or application is not 100% " "compliant." msgstr "" +"Note que este utilitário não garante a conformidade completa " +"com :pep:`3333`; uma ausência de erros deste módulo não significa " +"necessariamente que os erros não existam. No entanto, se este módulo " +"produzir um erro, então é virtualmente certo que o servidor ou a aplicação " +"não está 100% em conformidade." -#: ../../library/wsgiref.rst:400 +#: ../../library/wsgiref.rst:406 msgid "" "This module is based on the :mod:`paste.lint` module from Ian Bicking's " "\"Python Paste\" library." msgstr "" +"Este módulo é baseado no módulo :mod:`paste.lint` da biblioteca \"Python " +"Paste\" de Ian Bicking." -#: ../../library/wsgiref.rst:406 +#: ../../library/wsgiref.rst:412 msgid "" "Wrap *application* and return a new WSGI application object. The returned " "application will forward all requests to the original *application*, and " "will check that both the *application* and the server invoking it are " "conforming to the WSGI specification and to :rfc:`2616`." msgstr "" +"Encapsula *application* e retorna um novo objeto de aplicação WSGI. A " +"aplicação retornada encaminhará todas as solicitações para a *application* " +"original e verificará se tanto a *application* quanto o servidor que o " +"invoca estão em conformidade com a especificação WSGI e com :rfc:`2616`." -#: ../../library/wsgiref.rst:411 +#: ../../library/wsgiref.rst:417 msgid "" "Any detected nonconformance results in an :exc:`AssertionError` being " "raised; note, however, that how these errors are handled is server-" @@ -479,8 +678,16 @@ msgid "" "occurred, and dump the traceback to ``sys.stderr`` or some other error " "stream." msgstr "" +"Qualquer falta de conformidade detectada resulta em " +"uma :exc:`AssertionError` sendo levantado; note, entretanto, que a forma " +"como esses erros são manipulados depende do servidor. Por " +"exemplo, :mod:`wsgiref.simple_server` e outros servidores baseados " +"em :mod:`wsgiref.handlers` (que não substituem os métodos de manipulação de " +"erros para fazer outra coisa) simplesmente emitirão uma mensagem de que " +"ocorreu um erro e despejarão o traceback para ``sys.stderr`` ou algum outro " +"fluxo de erro." -#: ../../library/wsgiref.rst:418 +#: ../../library/wsgiref.rst:424 msgid "" "This wrapper may also generate output using the :mod:`warnings` module to " "indicate behaviors that are questionable but which may not actually be " @@ -489,50 +696,75 @@ msgid "" "to ``sys.stderr`` (*not* ``wsgi.errors``, unless they happen to be the same " "object)." msgstr "" +"Este invólucro também pode gerar saída usando o módulo :mod:`warnings` para " +"indicar comportamentos que são questionáveis, mas que podem não ser " +"realmente proibidos por :pep:`3333`. A menos que sejam suprimidos usando " +"opções de linha de comando do Python ou a API :mod:`warnings`, quaisquer " +"avisos serão gravados em ``sys.stderr`` (*não* ``wsgi.errors``, a menos que " +"sejam o mesmo objeto)." -#: ../../library/wsgiref.rst:450 +#: ../../library/wsgiref.rst:456 msgid ":mod:`wsgiref.handlers` -- server/gateway base classes" -msgstr "" +msgstr ":mod:`wsgiref.handlers` -- classes base de servidor/gateway" -#: ../../library/wsgiref.rst:456 +#: ../../library/wsgiref.rst:462 msgid "" "This module provides base handler classes for implementing WSGI servers and " "gateways. These base classes handle most of the work of communicating with " "a WSGI application, as long as they are given a CGI-like environment, along " "with input, output, and error streams." msgstr "" +"Este módulo fornece classes de manipulador base para implementar servidores " +"e gateways WSGI. Essas classes base lidam com a maior parte do trabalho de " +"comunicação com uma aplicação WSGI, desde que recebam um ambiente semelhante " +"ao CGI, junto com fluxos de entrada, saída e erro." -#: ../../library/wsgiref.rst:464 +#: ../../library/wsgiref.rst:470 msgid "" "CGI-based invocation via ``sys.stdin``, ``sys.stdout``, ``sys.stderr`` and " "``os.environ``. This is useful when you have a WSGI application and want to " "run it as a CGI script. Simply invoke ``CGIHandler().run(app)``, where " "``app`` is the WSGI application object you wish to invoke." msgstr "" +"Invocação baseada em CGI via ``sys.stdin``, ``sys.stdout``, ``sys.stderr`` e " +"``os.environ``. Isso é útil quando você tem uma aplicação WSGI e quer " +"executá-lo como um script CGI. Basta invocar ``CGIHandler().run(app)``, onde " +"``app`` é o objeto da aplicação WSGI que você deseja invocar." -#: ../../library/wsgiref.rst:469 +#: ../../library/wsgiref.rst:475 msgid "" -"This class is a subclass of :class:`BaseCGIHandler` that sets ``wsgi." -"run_once`` to true, ``wsgi.multithread`` to false, and ``wsgi.multiprocess`` " -"to true, and always uses :mod:`sys` and :mod:`os` to obtain the necessary " -"CGI streams and environment." +"This class is a subclass of :class:`BaseCGIHandler` that sets " +"``wsgi.run_once`` to true, ``wsgi.multithread`` to false, and " +"``wsgi.multiprocess`` to true, and always uses :mod:`sys` and :mod:`os` to " +"obtain the necessary CGI streams and environment." msgstr "" +"Esta classe é uma subclasse de :class:`BaseCGIHandler` que define " +"``wsgi.run_once`` como true, ``wsgi.multithread`` como false e " +"``wsgi.multiprocess`` como true, e sempre usa :mod:`sys` e :mod:`os` para " +"obter os fluxos CGI e o ambiente necessários." -#: ../../library/wsgiref.rst:477 +#: ../../library/wsgiref.rst:483 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 "" +"Uma alternativa especializada para :class:`CGIHandler`, para uso ao " +"implantar no servidor web IIS da Microsoft, sem ter definido a opção de " +"configuração allowPathInfo (IIS>=7) ou metabase " +"allowPathInfoForScriptMappings (IIS<7)." -#: ../../library/wsgiref.rst:481 +#: ../../library/wsgiref.rst:487 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 "" +"Por padrão, o IIS fornece um ``PATH_INFO`` que duplica o ``SCRIPT_NAME`` na " +"frente, causando problemas para aplicações WSGI que desejam implementar " +"roteamento. Este manipulador remove qualquer caminho duplicado." -#: ../../library/wsgiref.rst:485 +#: ../../library/wsgiref.rst:491 msgid "" "IIS can be configured to pass the correct ``PATH_INFO``, but this causes " "another bug where ``PATH_TRANSLATED`` is wrong. Luckily this variable is " @@ -542,25 +774,37 @@ msgid "" "IIS<7 is almost never deployed with the fix (Even IIS7 rarely uses it " "because there is still no UI for it.)." msgstr "" +"O IIS pode ser configurado para passar o ``PATH_INFO`` correto, mas isso " +"causa outro bug onde ``PATH_TRANSLATED`` está errado. Felizmente, essa " +"variável raramente é usada e não é garantida pelo WSGI. No IIS<7, no " +"entanto, a configuração só pode ser feita em um nível de vhost, afetando " +"todos os outros mapeamentos de script, muitos dos quais quebram quando " +"expostos ao bug ``PATH_TRANSLATED``. Por esse motivo, o IIS<7 quase nunca é " +"implantado com a correção (mesmo o IIS7 raramente a usa porque ainda não há " +"uma UI para ela)." -#: ../../library/wsgiref.rst:493 +#: ../../library/wsgiref.rst:499 msgid "" "There is no way for CGI code to tell whether the option was set, so a " -"separate handler class is provided. It is used in the same way as :class:" -"`CGIHandler`, i.e., by calling ``IISCGIHandler().run(app)``, where ``app`` " -"is the WSGI application object you wish to invoke." +"separate handler class is provided. It is used in the same way " +"as :class:`CGIHandler`, i.e., by calling ``IISCGIHandler().run(app)``, where " +"``app`` is the WSGI application object you wish to invoke." msgstr "" +"Não há como o código CGI dizer se a opção foi definida, então uma classe de " +"manipulador separada é fornecida. Ela é usada da mesma forma " +"que :class:`CGIHandler`, ou seja, chamando ``IISCGIHandler().run(app)``, " +"onde ``app`` é o objeto de aplicação WSGI que você deseja invocar." -#: ../../library/wsgiref.rst:503 +#: ../../library/wsgiref.rst:509 msgid "" -"Similar to :class:`CGIHandler`, but instead of using the :mod:`sys` and :mod:" -"`os` modules, the CGI environment and I/O streams are specified explicitly. " -"The *multithread* and *multiprocess* values are used to set the ``wsgi." -"multithread`` and ``wsgi.multiprocess`` flags for any applications run by " -"the handler instance." +"Similar to :class:`CGIHandler`, but instead of using the :mod:`sys` " +"and :mod:`os` modules, the CGI environment and I/O streams are specified " +"explicitly. The *multithread* and *multiprocess* values are used to set the " +"``wsgi.multithread`` and ``wsgi.multiprocess`` flags for any applications " +"run by the handler instance." msgstr "" -#: ../../library/wsgiref.rst:509 +#: ../../library/wsgiref.rst:515 msgid "" "This class is a subclass of :class:`SimpleHandler` intended for use with " "software other than HTTP \"origin servers\". If you are writing a gateway " @@ -569,58 +813,58 @@ msgid "" "this instead of :class:`SimpleHandler`." msgstr "" -#: ../../library/wsgiref.rst:518 +#: ../../library/wsgiref.rst:524 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 "" -#: ../../library/wsgiref.rst:522 +#: ../../library/wsgiref.rst:528 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 " +"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 "" -#: ../../library/wsgiref.rst:529 +#: ../../library/wsgiref.rst:537 msgid "" "The :meth:`~io.BufferedIOBase.write` method of *stdout* should write each " "chunk in full, like :class:`io.BufferedIOBase`." msgstr "" -#: ../../library/wsgiref.rst:535 +#: ../../library/wsgiref.rst:543 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 "" -#: ../../library/wsgiref.rst:539 +#: ../../library/wsgiref.rst:547 msgid "" ":class:`BaseHandler` instances have only one method intended for external " "use:" msgstr "" -#: ../../library/wsgiref.rst:544 +#: ../../library/wsgiref.rst:552 msgid "Run the specified WSGI application, *app*." msgstr "" -#: ../../library/wsgiref.rst:546 +#: ../../library/wsgiref.rst:554 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 "" -#: ../../library/wsgiref.rst:550 +#: ../../library/wsgiref.rst:558 msgid "The following methods MUST be overridden in a subclass:" msgstr "" -#: ../../library/wsgiref.rst:555 +#: ../../library/wsgiref.rst:563 msgid "" "Buffer the bytes *data* for transmission to the client. It's okay if this " "method actually transmits the data; :class:`BaseHandler` just separates " @@ -628,77 +872,77 @@ msgid "" "actually has such a distinction." msgstr "" -#: ../../library/wsgiref.rst:563 +#: ../../library/wsgiref.rst:571 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 "" -#: ../../library/wsgiref.rst:569 +#: ../../library/wsgiref.rst:577 msgid "" "Return an object compatible with :class:`~wsgiref.types.InputStream` " "suitable for use as the ``wsgi.input`` of the request currently being " "processed." msgstr "" -#: ../../library/wsgiref.rst:576 +#: ../../library/wsgiref.rst:584 msgid "" "Return an object compatible with :class:`~wsgiref.types.ErrorStream` " "suitable for use as the ``wsgi.errors`` of the request currently being " "processed." msgstr "" -#: ../../library/wsgiref.rst:583 +#: ../../library/wsgiref.rst:591 msgid "" "Insert CGI variables for the current request into the :attr:`environ` " "attribute." msgstr "" -#: ../../library/wsgiref.rst:585 +#: ../../library/wsgiref.rst:593 msgid "" "Here are some other methods and attributes you may wish to override. This " "list is only a summary, however, and does not include every method that can " "be overridden. You should consult the docstrings and source code for " -"additional information before attempting to create a customized :class:" -"`BaseHandler` subclass." +"additional information before attempting to create a " +"customized :class:`BaseHandler` subclass." msgstr "" -#: ../../library/wsgiref.rst:591 +#: ../../library/wsgiref.rst:599 msgid "Attributes and methods for customizing the WSGI environment:" msgstr "" -#: ../../library/wsgiref.rst:596 +#: ../../library/wsgiref.rst:604 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 "" -#: ../../library/wsgiref.rst:603 +#: ../../library/wsgiref.rst:611 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 "" -#: ../../library/wsgiref.rst:610 +#: ../../library/wsgiref.rst:618 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 "" -#: ../../library/wsgiref.rst:617 +#: ../../library/wsgiref.rst:625 msgid "" "The default environment variables to be included in every request's WSGI " -"environment. By default, this is a copy of ``os.environ`` at the time that :" -"mod:`wsgiref.handlers` was imported, but subclasses can either create their " -"own at the class or instance level. Note that the dictionary should be " -"considered read-only, since the default value is shared between multiple " +"environment. By default, this is a copy of ``os.environ`` at the time " +"that :mod:`wsgiref.handlers` was imported, but subclasses can either create " +"their own at the class or instance level. Note that the dictionary should " +"be considered read-only, since the default value is shared between multiple " "classes and instances." msgstr "" -#: ../../library/wsgiref.rst:627 +#: ../../library/wsgiref.rst:635 msgid "" "If the :attr:`origin_server` attribute is set, this attribute's value is " "used to set the default ``SERVER_SOFTWARE`` WSGI environment variable, and " @@ -707,21 +951,23 @@ msgid "" "are not HTTP origin servers." msgstr "" -#: ../../library/wsgiref.rst:633 +#: ../../library/wsgiref.rst:641 msgid "" "The term \"Python\" is replaced with implementation specific term like " "\"CPython\", \"Jython\" etc." msgstr "" +"O termo \"Python\" é substituído por termos específicos de implementação, " +"como \"CPython\", \"Jython\" etc." -#: ../../library/wsgiref.rst:639 +#: ../../library/wsgiref.rst:647 msgid "" "Return the URL scheme being used for the current request. The default " -"implementation uses the :func:`guess_scheme` function from :mod:`wsgiref." -"util` to guess whether the scheme should be \"http\" or \"https\", based on " -"the current request's :attr:`environ` variables." +"implementation uses the :func:`guess_scheme` function " +"from :mod:`wsgiref.util` to guess whether the scheme should be \"http\" or " +"\"https\", based on the current request's :attr:`environ` variables." msgstr "" -#: ../../library/wsgiref.rst:647 +#: ../../library/wsgiref.rst:655 msgid "" "Set the :attr:`environ` attribute to a fully populated WSGI environment. " "The default implementation uses all of the above methods and attributes, " @@ -731,11 +977,11 @@ msgid "" "attribute is a true value and the :attr:`server_software` attribute is set." msgstr "" -#: ../../library/wsgiref.rst:654 +#: ../../library/wsgiref.rst:662 msgid "Methods and attributes for customizing exception handling:" msgstr "" -#: ../../library/wsgiref.rst:659 +#: ../../library/wsgiref.rst:667 msgid "" "Log the *exc_info* tuple in the server log. *exc_info* is a ``(type, value, " "traceback)`` tuple. The default implementation simply writes the traceback " @@ -745,33 +991,34 @@ msgid "" "suitable." msgstr "" -#: ../../library/wsgiref.rst:668 +#: ../../library/wsgiref.rst:676 msgid "" -"The maximum number of frames to include in tracebacks output by the default :" -"meth:`log_exception` method. If ``None``, all frames are included." +"The maximum number of frames to include in tracebacks output by the " +"default :meth:`log_exception` method. If ``None``, all frames are included." msgstr "" -#: ../../library/wsgiref.rst:674 +#: ../../library/wsgiref.rst:682 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 "" -#: ../../library/wsgiref.rst:677 +#: ../../library/wsgiref.rst:685 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`)." msgstr "" -#: ../../library/wsgiref.rst:681 +#: ../../library/wsgiref.rst:689 msgid "" -"The default implementation just uses the :attr:`error_status`, :attr:" -"`error_headers`, and :attr:`error_body` attributes to generate an output " -"page. Subclasses can override this to produce more dynamic error output." +"The default implementation just uses " +"the :attr:`error_status`, :attr:`error_headers`, and :attr:`error_body` " +"attributes to generate an output page. Subclasses can override this to " +"produce more dynamic error output." msgstr "" -#: ../../library/wsgiref.rst:685 +#: ../../library/wsgiref.rst:693 msgid "" "Note, however, that it's not recommended from a security perspective to spit " "out diagnostics to any old user; ideally, you should have to do something " @@ -779,40 +1026,40 @@ msgid "" "doesn't include any." msgstr "" -#: ../../library/wsgiref.rst:693 +#: ../../library/wsgiref.rst:701 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 "" -#: ../../library/wsgiref.rst:699 +#: ../../library/wsgiref.rst:707 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 "" -#: ../../library/wsgiref.rst:706 +#: ../../library/wsgiref.rst:714 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 "" -#: ../../library/wsgiref.rst:710 +#: ../../library/wsgiref.rst:718 msgid "" "Methods and attributes for :pep:`3333`'s \"Optional Platform-Specific File " "Handling\" feature:" msgstr "" -#: ../../library/wsgiref.rst:716 +#: ../../library/wsgiref.rst:724 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." +"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 "" -#: ../../library/wsgiref.rst:723 +#: ../../library/wsgiref.rst:731 msgid "" "Override to implement platform-specific file transmission. This method is " "called only if the application's return value is an instance of the class " @@ -822,11 +1069,11 @@ msgid "" "of this method just returns a false value." msgstr "" -#: ../../library/wsgiref.rst:730 +#: ../../library/wsgiref.rst:738 msgid "Miscellaneous methods and attributes:" msgstr "" -#: ../../library/wsgiref.rst:735 +#: ../../library/wsgiref.rst:743 msgid "" "This attribute should be set to a true value if the handler's :meth:`_write` " "and :meth:`_flush` are being used to communicate directly to the client, " @@ -834,23 +1081,23 @@ msgid "" "special ``Status:`` header." msgstr "" -#: ../../library/wsgiref.rst:740 +#: ../../library/wsgiref.rst:748 msgid "" "This attribute's default value is true in :class:`BaseHandler`, but false " "in :class:`BaseCGIHandler` and :class:`CGIHandler`." msgstr "" -#: ../../library/wsgiref.rst:746 +#: ../../library/wsgiref.rst:754 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 "" -#: ../../library/wsgiref.rst:752 +#: ../../library/wsgiref.rst:760 msgid "" "Transcode CGI variables from ``os.environ`` to :pep:`3333` \"bytes in " -"unicode\" strings, returning a new dictionary. This function is used by :" -"class:`CGIHandler` and :class:`IISCGIHandler` in place of directly using " +"unicode\" strings, returning a new dictionary. This function is used " +"by :class:`CGIHandler` and :class:`IISCGIHandler` in place of directly using " "``os.environ``, which is not necessarily WSGI-compliant on all platforms and " "web servers using Python 3 -- specifically, ones where the OS's actual " "environment is Unicode (i.e. Windows), or ones where the environment is " @@ -858,65 +1105,67 @@ msgid "" "than ISO-8859-1 (e.g. Unix systems using UTF-8)." msgstr "" -#: ../../library/wsgiref.rst:761 +#: ../../library/wsgiref.rst:769 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 "" -#: ../../library/wsgiref.rst:769 +#: ../../library/wsgiref.rst:777 msgid ":mod:`wsgiref.types` -- WSGI types for static type checking" msgstr "" -#: ../../library/wsgiref.rst:775 +#: ../../library/wsgiref.rst:783 msgid "" -"This module provides various types for static type checking as described in :" -"pep:`3333`." +"This module provides various types for static type checking as described " +"in :pep:`3333`." msgstr "" -#: ../../library/wsgiref.rst:783 +#: ../../library/wsgiref.rst:791 msgid "" -"A :class:`typing.Protocol` describing `start_response() `_ callables (:pep:`3333`)." +"A :class:`typing.Protocol` describing `start_response() `_ callables " +"(:pep:`3333`)." msgstr "" -#: ../../library/wsgiref.rst:789 +#: ../../library/wsgiref.rst:797 msgid "A type alias describing a WSGI environment dictionary." msgstr "" -#: ../../library/wsgiref.rst:793 +#: ../../library/wsgiref.rst:801 msgid "A type alias describing a WSGI application callable." msgstr "" -#: ../../library/wsgiref.rst:797 +#: ../../library/wsgiref.rst:805 msgid "" -"A :class:`typing.Protocol` describing a `WSGI Input Stream `_." +"A :class:`typing.Protocol` describing a `WSGI Input Stream `_." msgstr "" -#: ../../library/wsgiref.rst:802 +#: ../../library/wsgiref.rst:810 msgid "" -"A :class:`typing.Protocol` describing a `WSGI Error Stream `_." +"A :class:`typing.Protocol` describing a `WSGI Error Stream `_." msgstr "" -#: ../../library/wsgiref.rst:807 +#: ../../library/wsgiref.rst:815 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 `file wrapper `_. " +"See :class:`wsgiref.util.FileWrapper` for a concrete implementation of this " +"protocol." msgstr "" -#: ../../library/wsgiref.rst:814 +#: ../../library/wsgiref.rst:822 msgid "Examples" msgstr "Exemplos" -#: ../../library/wsgiref.rst:816 +#: ../../library/wsgiref.rst:824 msgid "This is a working \"Hello World\" WSGI application::" msgstr "" -#: ../../library/wsgiref.rst:845 +#: ../../library/wsgiref.rst:853 msgid "" "Example of a WSGI application serving the current directory, accept optional " "directory and port number (default: 8000) on the command line::" diff --git a/library/xdrlib.po b/library/xdrlib.po index 935d14053..1a3dc1b8b 100644 --- a/library/xdrlib.po +++ b/library/xdrlib.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Leticia Portella , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -55,8 +53,8 @@ msgstr "" #: ../../library/xdrlib.rst:31 msgid "" -":class:`Packer` is the class for packing data into XDR representation. The :" -"class:`Packer` class is instantiated with no arguments." +":class:`Packer` is the class for packing data into XDR representation. " +"The :class:`Packer` class is instantiated with no arguments." msgstr "" #: ../../library/xdrlib.rst:37 @@ -104,8 +102,9 @@ msgid "" "In general, you can pack any of the most common XDR data types by calling " "the appropriate ``pack_type()`` method. Each method takes a single " "argument, the value to pack. The following simple data type packing methods " -"are supported: :meth:`pack_uint`, :meth:`pack_int`, :meth:`pack_enum`, :meth:" -"`pack_bool`, :meth:`pack_uhyper`, and :meth:`pack_hyper`." +"are " +"supported: :meth:`pack_uint`, :meth:`pack_int`, :meth:`pack_enum`, :meth:`pack_bool`, :meth:`pack_uhyper`, " +"and :meth:`pack_hyper`." msgstr "" #: ../../library/xdrlib.rst:77 @@ -135,8 +134,8 @@ msgstr "" #: ../../library/xdrlib.rst:101 msgid "" "Packs a variable length string, *s*. The length of the string is first " -"packed as an unsigned integer, then the string data is packed with :meth:" -"`pack_fstring`." +"packed as an unsigned integer, then the string data is packed " +"with :meth:`pack_fstring`." msgstr "" #: ../../library/xdrlib.rst:108 @@ -227,8 +226,8 @@ msgstr "" #: ../../library/xdrlib.rst:195 msgid "" -"Unpacks a double-precision floating point number, similarly to :meth:" -"`unpack_float`." +"Unpacks a double-precision floating point number, similarly " +"to :meth:`unpack_float`." msgstr "" #: ../../library/xdrlib.rst:198 @@ -244,8 +243,8 @@ msgstr "" #: ../../library/xdrlib.rst:209 msgid "" -"Unpacks and returns a fixed length opaque data stream, similarly to :meth:" -"`unpack_fstring`." +"Unpacks and returns a fixed length opaque data stream, similarly " +"to :meth:`unpack_fstring`." msgstr "" #: ../../library/xdrlib.rst:215 @@ -257,14 +256,14 @@ msgstr "" #: ../../library/xdrlib.rst:222 msgid "" -"Unpacks and returns a variable length opaque data string, similarly to :meth:" -"`unpack_string`." +"Unpacks and returns a variable length opaque data string, similarly " +"to :meth:`unpack_string`." msgstr "" #: ../../library/xdrlib.rst:228 msgid "" -"Unpacks and returns a variable length byte stream, similarly to :meth:" -"`unpack_string`." +"Unpacks and returns a variable length byte stream, similarly " +"to :meth:`unpack_string`." msgstr "" #: ../../library/xdrlib.rst:231 @@ -304,8 +303,8 @@ msgstr "" #: ../../library/xdrlib.rst:267 msgid "" -"The base exception class. :exc:`Error` has a single public attribute :attr:" -"`msg` containing the description of the error." +"The base exception class. :exc:`Error` has a single public " +"attribute :attr:`msg` containing the description of the error." msgstr "" #: ../../library/xdrlib.rst:273 @@ -323,4 +322,4 @@ msgstr "" #: ../../library/xdrlib.rst:10 msgid "External Data Representation" -msgstr "" +msgstr "External Data Representation" diff --git a/library/xml.dom.minidom.po b/library/xml.dom.minidom.po index 9fdf6a440..00b76c5ba 100644 --- a/library/xml.dom.minidom.po +++ b/library/xml.dom.minidom.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,8 +36,8 @@ msgid "" ":mod:`xml.dom.minidom` is a minimal implementation of the Document Object " "Model interface, with an API similar to that in other languages. It is " "intended to be simpler than the full DOM and also significantly smaller. " -"Users who are not already proficient with the DOM should consider using the :" -"mod:`xml.etree.ElementTree` module for their XML processing instead." +"Users who are not already proficient with the DOM should consider using " +"the :mod:`xml.etree.ElementTree` module for their XML processing instead." msgstr "" #: ../../library/xml.dom.minidom.rst:24 @@ -51,8 +49,8 @@ msgstr "" #: ../../library/xml.dom.minidom.rst:29 msgid "" -"DOM applications typically start by parsing some XML into a DOM. With :mod:" -"`xml.dom.minidom`, this is done through the parse functions::" +"DOM applications typically start by parsing some XML into a DOM. " +"With :mod:`xml.dom.minidom`, this is done through the parse functions::" msgstr "" #: ../../library/xml.dom.minidom.rst:41 @@ -74,12 +72,13 @@ msgid "" "If you have XML in a string, you can use the :func:`parseString` function " "instead:" msgstr "" +"Se você tiver XML em uma string, poderá usar a função :func:`parseString`:" #: ../../library/xml.dom.minidom.rst:58 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`." +"an :class:`io.StringIO` object for the string and passes that on " +"to :func:`parse`." msgstr "" #: ../../library/xml.dom.minidom.rst:61 @@ -102,29 +101,29 @@ msgstr "" #: ../../library/xml.dom.minidom.rst:71 msgid "" "You can also create a :class:`Document` by calling a method on a \"DOM " -"Implementation\" object. You can get this object either by calling the :" -"func:`getDOMImplementation` function in the :mod:`xml.dom` package or the :" -"mod:`xml.dom.minidom` module. Once you have a :class:`Document`, you can " -"add child nodes to it to populate the DOM::" +"Implementation\" object. You can get this object either by calling " +"the :func:`getDOMImplementation` function in the :mod:`xml.dom` package or " +"the :mod:`xml.dom.minidom` module. Once you have a :class:`Document`, you " +"can add child nodes to it to populate the DOM::" msgstr "" #: ../../library/xml.dom.minidom.rst:86 msgid "" "Once you have a DOM document object, you can access the parts of your XML " "document through its properties and methods. These properties are defined " -"in the DOM specification. The main property of the document object is the :" -"attr:`documentElement` property. It gives you the main element in the XML " -"document: the one that holds all others. Here is an example program::" +"in the DOM specification. The main property of the document object is " +"the :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 "" #: ../../library/xml.dom.minidom.rst:95 msgid "" -"When you are finished with a DOM tree, you may optionally call the :meth:" -"`unlink` method to encourage early cleanup of the now-unneeded objects. :" -"meth:`unlink` is an :mod:`xml.dom.minidom`\\ -specific extension to the DOM " -"API that renders the node and its descendants essentially useless. " -"Otherwise, Python's garbage collector will eventually take care of the " -"objects in the tree." +"When you are finished with a DOM tree, you may optionally call " +"the :meth:`unlink` method to encourage early cleanup of the now-unneeded " +"objects. :meth:`unlink` is an :mod:`xml.dom.minidom`\\ -specific extension " +"to the DOM API that renders the node and its descendants essentially " +"useless. Otherwise, Python's garbage collector will eventually take care of " +"the objects in the tree." msgstr "" #: ../../library/xml.dom.minidom.rst:104 @@ -143,9 +142,9 @@ msgstr "Objetos DOM" #: ../../library/xml.dom.minidom.rst:113 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`." +"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 "" #: ../../library/xml.dom.minidom.rst:120 @@ -161,8 +160,8 @@ msgstr "" #: ../../library/xml.dom.minidom.rst:127 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::" +"statement. The following code will automatically unlink *dom* when " +"the :keyword:`!with` block is exited::" msgstr "" #: ../../library/xml.dom.minidom.rst:138 @@ -235,8 +234,8 @@ msgstr "" #: ../../library/xml.dom.minidom.rst:190 msgid "" -"The *encoding* argument behaves like the corresponding argument of :meth:" -"`toxml`." +"The *encoding* argument behaves like the corresponding argument " +"of :meth:`toxml`." msgstr "" #: ../../library/xml.dom.minidom.rst:195 @@ -320,8 +319,8 @@ msgstr "" #: ../../library/xml.dom.minidom.rst:249 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`." +"Instead, :mod:`xml.dom.minidom` uses standard Python exceptions such " +"as :exc:`TypeError` and :exc:`AttributeError`." msgstr "" #: ../../library/xml.dom.minidom.rst:253 diff --git a/library/xml.dom.po b/library/xml.dom.po index e38012dfd..77f851869 100644 --- a/library/xml.dom.po +++ b/library/xml.dom.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# (Douglas da Silva) , 2021 -# Juliana Karoline , 2021 -# Marco Rougeth , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -106,8 +100,8 @@ msgstr "" #: ../../library/xml.dom.rst:71 msgid "" -"`Document Object Model (DOM) Level 2 Specification `_" +"`Document Object Model (DOM) Level 2 Specification `_" msgstr "" #: ../../library/xml.dom.rst:71 @@ -206,8 +200,8 @@ msgid "" "exception classes. The :class:`Node` class provided by this module does not " "implement any of the methods or attributes defined by the DOM specification; " "concrete DOM implementations must provide those. The :class:`Node` class " -"provided as part of this module does provide the constants used for the :" -"attr:`nodeType` attribute on concrete :class:`Node` objects; they are " +"provided as part of this module does provide the constants used for " +"the :attr:`nodeType` attribute on concrete :class:`Node` objects; they are " "located within the class rather than at the module level to conform with the " "DOM specifications." msgstr "" @@ -375,8 +369,9 @@ msgstr "" msgid "" "The :class:`DOMImplementation` interface provides a way for applications to " "determine the availability of particular features in the DOM they are using. " -"DOM Level 2 added the ability to create new :class:`Document` and :class:" -"`DocumentType` objects using the :class:`DOMImplementation` as well." +"DOM Level 2 added the ability to create new :class:`Document` " +"and :class:`DocumentType` objects using the :class:`DOMImplementation` as " +"well." msgstr "" #: ../../library/xml.dom.rst:213 @@ -387,12 +382,12 @@ msgstr "" #: ../../library/xml.dom.rst:219 msgid "" -"Return a new :class:`Document` object (the root of the DOM), with a child :" -"class:`Element` object having the given *namespaceUri* and *qualifiedName*. " -"The *doctype* must be a :class:`DocumentType` object created by :meth:" -"`createDocumentType`, or ``None``. In the Python DOM API, the first two " -"arguments can also be ``None`` in order to indicate that no :class:`Element` " -"child is to be created." +"Return a new :class:`Document` object (the root of the DOM), with a " +"child :class:`Element` object having the given *namespaceUri* and " +"*qualifiedName*. The *doctype* must be a :class:`DocumentType` object " +"created by :meth:`createDocumentType`, or ``None``. In the Python DOM API, " +"the first two arguments can also be ``None`` in order to indicate that " +"no :class:`Element` child is to be created." msgstr "" #: ../../library/xml.dom.rst:229 @@ -414,10 +409,8 @@ msgstr "" #: ../../library/xml.dom.rst:244 msgid "" "An integer representing the node type. Symbolic constants for the types are " -"on the :class:`Node` object: :const:`ELEMENT_NODE`, :const:" -"`ATTRIBUTE_NODE`, :const:`TEXT_NODE`, :const:`CDATA_SECTION_NODE`, :const:" -"`ENTITY_NODE`, :const:`PROCESSING_INSTRUCTION_NODE`, :const:`COMMENT_NODE`, :" -"const:`DOCUMENT_NODE`, :const:`DOCUMENT_TYPE_NODE`, :const:`NOTATION_NODE`. " +"on the :class:`Node` " +"object: :const:`ELEMENT_NODE`, :const:`ATTRIBUTE_NODE`, :const:`TEXT_NODE`, :const:`CDATA_SECTION_NODE`, :const:`ENTITY_NODE`, :const:`PROCESSING_INSTRUCTION_NODE`, :const:`COMMENT_NODE`, :const:`DOCUMENT_NODE`, :const:`DOCUMENT_TYPE_NODE`, :const:`NOTATION_NODE`. " "This is a read-only attribute." msgstr "" @@ -449,8 +442,8 @@ msgstr "" #: ../../library/xml.dom.rst:280 msgid "" -"The node that immediately follows this one with the same parent. See also :" -"attr:`previousSibling`. If this is the last child of the parent, this " +"The node that immediately follows this one with the same parent. See " +"also :attr:`previousSibling`. If this is the last child of the parent, this " "attribute will be ``None``. This is a read-only attribute." msgstr "" @@ -493,9 +486,9 @@ msgstr "" msgid "" "This has a different meaning for each node type; see the DOM specification " "for details. You can always get the information you would get here from " -"another property such as the :attr:`tagName` property for elements or the :" -"attr:`name` property for attributes. For all node types, the value of this " -"attribute will be either a string or ``None``. This is a read-only " +"another property such as the :attr:`tagName` property for elements or " +"the :attr:`name` property for attributes. For all node types, the value of " +"this attribute will be either a string or ``None``. This is a read-only " "attribute." msgstr "" @@ -546,9 +539,10 @@ msgstr "" #: ../../library/xml.dom.rst:377 msgid "" -"Remove a child node. *oldChild* must be a child of this node; if not, :exc:" -"`ValueError` is raised. *oldChild* is returned on success. If *oldChild* " -"will not be used further, its :meth:`unlink` method should be called." +"Remove a child node. *oldChild* must be a child of this node; if " +"not, :exc:`ValueError` is raised. *oldChild* is returned on success. If " +"*oldChild* will not be used further, its :meth:`unlink` method should be " +"called." msgstr "" #: ../../library/xml.dom.rst:384 @@ -559,9 +553,9 @@ msgstr "" #: ../../library/xml.dom.rst:390 msgid "" -"Join adjacent text nodes so that all stretches of text are stored as single :" -"class:`Text` instances. This simplifies processing text from a DOM tree for " -"many applications." +"Join adjacent text nodes so that all stretches of text are stored as " +"single :class:`Text` instances. This simplifies processing text from a DOM " +"tree for many applications." msgstr "" #: ../../library/xml.dom.rst:397 @@ -578,9 +572,10 @@ msgstr "Objetos NodeList" msgid "" "A :class:`NodeList` represents a sequence of nodes. These objects are used " "in two ways in the DOM Core recommendation: an :class:`Element` object " -"provides one as its list of child nodes, and the :meth:" -"`getElementsByTagName` and :meth:`getElementsByTagNameNS` methods of :class:" -"`Node` return objects with this interface to represent query results." +"provides one as its list of child nodes, and " +"the :meth:`getElementsByTagName` and :meth:`getElementsByTagNameNS` methods " +"of :class:`Node` return objects with this interface to represent query " +"results." msgstr "" #: ../../library/xml.dom.rst:412 @@ -604,17 +599,17 @@ msgstr "" msgid "" "In addition, the Python DOM interface requires that some additional support " "is provided to allow :class:`NodeList` objects to be used as Python " -"sequences. All :class:`NodeList` implementations must include support for :" -"meth:`~object.__len__` and :meth:`~object.__getitem__`; this allows " +"sequences. All :class:`NodeList` implementations must include support " +"for :meth:`~object.__len__` and :meth:`~object.__getitem__`; this allows " "iteration over the :class:`NodeList` in :keyword:`for` statements and proper " "support for the :func:`len` built-in function." msgstr "" #: ../../library/xml.dom.rst:435 msgid "" -"If a DOM implementation supports modification of the document, the :class:" -"`NodeList` implementation must also support the :meth:`~object.__setitem__` " -"and :meth:`~object.__delitem__` methods." +"If a DOM implementation supports modification of the document, " +"the :class:`NodeList` implementation must also support " +"the :meth:`~object.__setitem__` and :meth:`~object.__delitem__` methods." msgstr "" #: ../../library/xml.dom.rst:443 @@ -625,11 +620,11 @@ msgstr "" msgid "" "Information about the notations and entities declared by a document " "(including the external subset if the parser uses it and can provide the " -"information) is available from a :class:`DocumentType` object. The :class:" -"`DocumentType` for a document is available from the :class:`Document` " -"object's :attr:`doctype` attribute; if there is no ``DOCTYPE`` declaration " -"for the document, the document's :attr:`doctype` attribute will be set to " -"``None`` instead of an instance of this interface." +"information) is available from a :class:`DocumentType` object. " +"The :class:`DocumentType` for a document is available from " +"the :class:`Document` object's :attr:`doctype` attribute; if there is no " +"``DOCTYPE`` declaration for the document, the document's :attr:`doctype` " +"attribute will be set to ``None`` instead of an instance of this interface." msgstr "" #: ../../library/xml.dom.rst:453 @@ -707,8 +702,8 @@ msgstr "" msgid "" "Create and return a new element with a namespace. The *tagName* may have a " "prefix. The element is not inserted into the document when it is created. " -"You need to explicitly insert it with one of the other methods such as :meth:" -"`insertBefore` or :meth:`appendChild`." +"You need to explicitly insert it with one of the other methods such " +"as :meth:`insertBefore` or :meth:`appendChild`." msgstr "" #: ../../library/xml.dom.rst:532 @@ -735,9 +730,9 @@ msgstr "" #: ../../library/xml.dom.rst:553 msgid "" "Create and return an attribute node. This method does not associate the " -"attribute node with any particular element. You must use :meth:" -"`setAttributeNode` on the appropriate :class:`Element` object to use the " -"newly created attribute instance." +"attribute node with any particular element. You must " +"use :meth:`setAttributeNode` on the appropriate :class:`Element` object to " +"use the newly created attribute instance." msgstr "" #: ../../library/xml.dom.rst:561 @@ -817,8 +812,8 @@ msgstr "" #: ../../library/xml.dom.rst:641 msgid "" -"Remove an attribute by name. If there is no matching attribute, a :exc:" -"`NotFoundErr` is raised." +"Remove an attribute by name. If there is no matching attribute, " +"a :exc:`NotFoundErr` is raised." msgstr "" #: ../../library/xml.dom.rst:647 @@ -841,8 +836,8 @@ msgstr "" msgid "" "Add a new attribute node to the element, replacing an existing attribute if " "necessary if the :attr:`name` attribute matches. If a replacement occurs, " -"the old attribute node will be returned. If *newAttr* is already in use, :" -"exc:`InuseAttributeErr` will be raised." +"the old attribute node will be returned. If *newAttr* is already in " +"use, :exc:`InuseAttributeErr` will be raised." msgstr "" #: ../../library/xml.dom.rst:672 @@ -887,8 +882,8 @@ msgstr "" #: ../../library/xml.dom.rst:713 msgid "" -"The text value of the attribute. This is a synonym for the :attr:" -"`nodeValue` attribute." +"The text value of the attribute. This is a synonym for " +"the :attr:`nodeValue` attribute." msgstr "" #: ../../library/xml.dom.rst:720 @@ -914,8 +909,8 @@ msgstr "" #: ../../library/xml.dom.rst:736 msgid "" "There are also experimental methods that give this class more mapping " -"behavior. You can use them or you can use the standardized :meth:" -"`getAttribute\\*` family of methods on the :class:`Element` objects." +"behavior. You can use them or you can use the standardized :meth:`!" +"getAttribute\\*` family of methods on the :class:`Element` objects." msgstr "" #: ../../library/xml.dom.rst:744 @@ -943,9 +938,9 @@ msgstr "" msgid "" "The :class:`Text` interface represents text in the XML document. If the " "parser and DOM implementation support the DOM's XML extension, portions of " -"the text enclosed in CDATA marked sections are stored in :class:" -"`CDATASection` objects. These two interfaces are identical, but provide " -"different values for the :attr:`nodeType` attribute." +"the text enclosed in CDATA marked sections are stored " +"in :class:`CDATASection` objects. These two interfaces are identical, but " +"provide different values for the :attr:`nodeType` attribute." msgstr "" #: ../../library/xml.dom.rst:768 @@ -996,11 +991,11 @@ msgstr "Exceções" #: ../../library/xml.dom.rst:811 msgid "" -"The DOM Level 2 recommendation defines a single exception, :exc:" -"`DOMException`, and a number of constants that allow applications to " -"determine what sort of error occurred. :exc:`DOMException` instances carry " -"a :attr:`code` attribute that provides the appropriate value for the " -"specific exception." +"The DOM Level 2 recommendation defines a single " +"exception, :exc:`DOMException`, and a number of constants that allow " +"applications to determine what sort of error occurred. :exc:`DOMException` " +"instances carry a :attr:`code` attribute that provides the appropriate value " +"for the specific exception." msgstr "" #: ../../library/xml.dom.rst:816 @@ -1008,8 +1003,8 @@ msgid "" "The Python DOM interface provides the constants, but also expands the set of " "exceptions so that a specific exception exists for each of the exception " "codes defined by the DOM. The implementations must raise the appropriate " -"specific exception, each of which carries the appropriate value for the :" -"attr:`code` attribute." +"specific exception, each of which carries the appropriate value for " +"the :attr:`code` attribute." msgstr "" #: ../../library/xml.dom.rst:825 @@ -1322,12 +1317,13 @@ msgstr "" #: ../../library/xml.dom.rst:1008 msgid "" -"yields three accessor functions: a \"get\" method for :attr:`someValue` (:" -"meth:`_get_someValue`), and \"get\" and \"set\" methods for :attr:" -"`anotherValue` (:meth:`_get_anotherValue` and :meth:`_set_anotherValue`). " -"The mapping, in particular, does not require that the IDL attributes are " -"accessible as normal Python attributes: ``object.someValue`` is *not* " -"required to work, and may raise an :exc:`AttributeError`." +"yields three accessor functions: a \"get\" method for :attr:`someValue` " +"(:meth:`_get_someValue`), and \"get\" and \"set\" methods " +"for :attr:`anotherValue` (:meth:`_get_anotherValue` " +"and :meth:`_set_anotherValue`). The mapping, in particular, does not " +"require that the IDL attributes are accessible as normal Python attributes: " +"``object.someValue`` is *not* required to work, and may raise " +"an :exc:`AttributeError`." msgstr "" #: ../../library/xml.dom.rst:1015 @@ -1354,7 +1350,7 @@ msgstr "" #: ../../library/xml.dom.rst:1029 msgid "" "The IDL definitions do not fully embody the requirements of the W3C DOM API, " -"such as the notion of certain objects, such as the return value of :meth:" -"`getElementsByTagName`, being \"live\". The Python DOM API does not require " -"implementations to enforce such requirements." +"such as the notion of certain objects, such as the return value " +"of :meth:`getElementsByTagName`, being \"live\". The Python DOM API does " +"not require implementations to enforce such requirements." msgstr "" diff --git a/library/xml.dom.pulldom.po b/library/xml.dom.pulldom.po index 45b414084..938b93d7f 100644 --- a/library/xml.dom.pulldom.po +++ b/library/xml.dom.pulldom.po @@ -1,28 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Italo Penaforte , 2021 -# i17obot , 2021 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -45,6 +43,14 @@ msgid "" "over those events until either processing is finished or an error condition " "occurs." msgstr "" +"O módulo :mod:`xml.dom.pulldom` fornece um \"analisador sintático de pull\" " +"que também pode ser solicitado a produzir fragmentos do documento acessíveis " +"via DOM, quando necessário. O conceito básico envolve extrair \"eventos\" de " +"um fluxo de XML recebido e processá-los. Ao contrário do SAX, que também " +"emprega um modelo de processamento orientado a eventos juntamente com " +"retornos de chamada, o usuário de um analisador sintático pull é responsável " +"por extrair explicitamente os eventos do fluxo, repetindo esses eventos até " +"que o processamento seja concluído ou ocorra uma condição de erro." #: ../../library/xml.dom.pulldom.rst:24 msgid "" @@ -52,6 +58,9 @@ msgid "" "constructed data. If you need to parse untrusted or unauthenticated data " "see :ref:`xml-vulnerabilities`." msgstr "" +"O módulo :mod:`xml.dom.pulldom` não é seguro contra dados construídos de " +"forma maliciosa. Se você precisa processar dados não-confiáveis ou sem " +"autenticação, veja :ref:`xml-vulnerabilities`." #: ../../library/xml.dom.pulldom.rst:30 msgid "" @@ -59,6 +68,10 @@ msgid "" "increase security by default. To enable processing of external entities, " "pass a custom parser instance in::" msgstr "" +"O analisador sintático de SAX não processa mais entidades externas gerais " +"por padrão para aumentar a segurança. Para habilitar o processamento de " +"entidades externas, passe uma instância personalizada do analisador " +"sintático em:" #: ../../library/xml.dom.pulldom.rst:43 msgid "Example::" @@ -66,7 +79,7 @@ msgstr "Exemplo::" #: ../../library/xml.dom.pulldom.rst:54 msgid "``event`` is a constant and can be one of:" -msgstr "" +msgstr "``event`` é uma constante e pode ser um de:" #: ../../library/xml.dom.pulldom.rst:56 msgid ":data:`START_ELEMENT`" @@ -102,9 +115,13 @@ msgstr ":data:`IGNORABLE_WHITESPACE`" #: ../../library/xml.dom.pulldom.rst:65 msgid "" -"``node`` is an object of type :class:`xml.dom.minidom.Document`, :class:`xml." -"dom.minidom.Element` or :class:`xml.dom.minidom.Text`." +"``node`` is an object of " +"type :class:`xml.dom.minidom.Document`, :class:`xml.dom.minidom.Element` " +"or :class:`xml.dom.minidom.Text`." msgstr "" +"``node`` é um objeto do " +"tipo :class:`xml.dom.minidom.Document`, :class:`xml.dom.minidom.Element` " +"ou :class:`xml.dom.minidom.Text`." #: ../../library/xml.dom.pulldom.rst:68 msgid "" @@ -114,9 +131,19 @@ msgid "" "consider hierarchical issues such as recursive searching of the document " "nodes, although if the context of elements were important, one would either " "need to maintain some context-related state (i.e. remembering where one is " -"in the document at any given point) or to make use of the :func:" -"`DOMEventStream.expandNode` method and switch to DOM-related processing." -msgstr "" +"in the document at any given point) or to make use of " +"the :func:`DOMEventStream.expandNode` method and switch to DOM-related " +"processing." +msgstr "" +"Como o documento é tratado como um fluxo \"plano\" de eventos, a \"árvore\" " +"do documento é implicitamente percorrida e os elementos desejados são " +"encontrados independentemente de sua profundidade na árvore. Em outras " +"palavras, não é necessário considerar questões hierárquicas, como a busca " +"recursiva dos nós do documento, embora, se o contexto dos elementos fosse " +"importante, seria necessário manter algum estado relacionado ao contexto (ou " +"seja, lembrar onde se está no documento em um determinado ponto) ou utilizar " +"o método :func:`DOMEventStream.expandNode` e alternar para o processamento " +"relacionado ao DOM." #: ../../library/xml.dom.pulldom.rst:80 ../../library/xml.dom.pulldom.rst:85 msgid "Subclass of :class:`xml.sax.handler.ContentHandler`." @@ -131,46 +158,65 @@ msgid "" "other parser configuration (like setting an entity resolver) must have been " "done in advance." msgstr "" +"Retorna um :class:`DOMEventStream` da entrada fornecida. *stream_or_string* " +"pode ser um nome de arquivo ou um objeto arquivo ou similar. *parser*, se " +"fornecido, deve ser um objeto :class:`~xml.sax.xmlreader.XMLReader`. Esta " +"função alterará o manipulador de documentos do analisador e ativará o " +"suporte a espaços de nomes; outras configurações do analisador sintático " +"(como a definição de um resolvedor de entidades) devem ter sido feitas " +"previamente." #: ../../library/xml.dom.pulldom.rst:97 msgid "" "If you have XML in a string, you can use the :func:`parseString` function " "instead:" msgstr "" +"Se você tiver XML em uma string, poderá usar a função :func:`parseString`:" #: ../../library/xml.dom.pulldom.rst:101 msgid "" "Return a :class:`DOMEventStream` that represents the (Unicode) *string*." msgstr "" +"Retorna um :class:`DOMEventStream` que representa a *string* (Unicode)." #: ../../library/xml.dom.pulldom.rst:105 msgid "Default value for the *bufsize* parameter to :func:`parse`." -msgstr "" +msgstr "Valor padrão para o parâmetro *bufsize* para :func:`parse`." #: ../../library/xml.dom.pulldom.rst:107 msgid "" "The value of this variable can be changed before calling :func:`parse` and " "the new value will take effect." msgstr "" +"O valor desta variável pode ser alterado antes de chamar :func:`parse` e o " +"novo valor entrará em vigor." #: ../../library/xml.dom.pulldom.rst:113 msgid "DOMEventStream Objects" msgstr "Objetos DOMEventStream" #: ../../library/xml.dom.pulldom.rst:117 -msgid "Support for :meth:`__getitem__` method has been removed." -msgstr "" +msgid "Support for :meth:`~object.__getitem__` method has been removed." +msgstr "O suporte para o método :meth:`~object.__getitem__` foi removido" #: ../../library/xml.dom.pulldom.rst:122 msgid "" -"Return a tuple containing *event* and the current *node* as :class:`xml.dom." -"minidom.Document` if event equals :data:`START_DOCUMENT`, :class:`xml.dom." -"minidom.Element` if event equals :data:`START_ELEMENT` or :data:" -"`END_ELEMENT` or :class:`xml.dom.minidom.Text` if event equals :data:" -"`CHARACTERS`. The current node does not contain information about its " -"children, unless :func:`expandNode` is called." -msgstr "" +"Return a tuple containing *event* and the current *node* " +"as :class:`xml.dom.minidom.Document` if event " +"equals :data:`START_DOCUMENT`, :class:`xml.dom.minidom.Element` if event " +"equals :data:`START_ELEMENT` or :data:`END_ELEMENT` " +"or :class:`xml.dom.minidom.Text` if event equals :data:`CHARACTERS`. The " +"current node does not contain information about its children, " +"unless :func:`expandNode` is called." +msgstr "" +"Retorna uma tupla contendo evento *event* e o nó *node* atual " +"como :class:`xml.dom.minidom.Document` se o evento for igual " +"a :data:`START_DOCUMENT`, :class:`xml.dom.minidom.Element` se o evento for " +"igual a :data:`START_ELEMENT` ou :data:`END_ELEMENT` " +"ou :class:`xml.dom.minidom.Text` se o evento for igual a :data:`CHARACTERS`. " +"O nó atual não contém informações sobre seus filhos, a menos " +"que :func:`expandNode` seja chamado." #: ../../library/xml.dom.pulldom.rst:132 msgid "Expands all children of *node* into *node*. Example::" -msgstr "" +msgstr "Expande todos os filhos de *node* para *node*. Exemplo:" diff --git a/library/xml.etree.elementtree.po b/library/xml.etree.elementtree.po index 3c28be05d..0f559c288 100644 --- a/library/xml.etree.elementtree.po +++ b/library/xml.etree.elementtree.po @@ -1,38 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# And Past , 2021 -# Ana Dulce Padovan Torres , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Ana Dulce Padovan Torres , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/xml.etree.elementtree.rst:2 msgid ":mod:`xml.etree.ElementTree` --- The ElementTree XML API" -msgstr "API XML ElementTree" +msgstr ":mod:`xml.etree.ElementTree` --- A API XML ElementTree" #: ../../library/xml.etree.elementtree.rst:9 msgid "**Source code:** :source:`Lib/xml/etree/ElementTree.py`" @@ -48,11 +41,11 @@ msgstr "" #: ../../library/xml.etree.elementtree.rst:16 msgid "This module will use a fast implementation whenever available." -msgstr "" +msgstr "Este módulo usará uma implementação rápida sempre que disponível." #: ../../library/xml.etree.elementtree.rst:19 -msgid "The :mod:`xml.etree.cElementTree` module is deprecated." -msgstr "" +msgid "The :mod:`!xml.etree.cElementTree` module is deprecated." +msgstr "O módulo :mod:`!xml.etree.cElementTree` foi descontinuado." #: ../../library/xml.etree.elementtree.rst:25 msgid "" @@ -85,12 +78,12 @@ msgstr "Árvore e elementos XML" #: ../../library/xml.etree.elementtree.rst:39 msgid "" "XML is an inherently hierarchical data format, and the most natural way to " -"represent it is with a tree. ``ET`` has two classes for this purpose - :" -"class:`ElementTree` represents the whole XML document as a tree, and :class:" -"`Element` represents a single node in this tree. Interactions with the " -"whole document (reading and writing to/from files) are usually done on the :" -"class:`ElementTree` level. Interactions with a single XML element and its " -"sub-elements are done on the :class:`Element` level." +"represent it is with a tree. ``ET`` has two classes for this purpose " +"- :class:`ElementTree` represents the whole XML document as a tree, " +"and :class:`Element` represents a single node in this tree. Interactions " +"with the whole document (reading and writing to/from files) are usually done " +"on the :class:`ElementTree` level. Interactions with a single XML element " +"and its sub-elements are done on the :class:`Element` level." msgstr "" "XML é um formato de dados estritamente hierárquico, e a maneira mais natural " "de representá-lo é como uma árvore. ``ET`` possui duas classes para esse " @@ -106,10 +99,11 @@ msgstr "Analisando XML" #: ../../library/xml.etree.elementtree.rst:52 msgid "" -"We'll be using the following XML document as the sample data for this " -"section:" +"We'll be using the fictive :file:`country_data.xml` XML document as the " +"sample data for this section:" msgstr "" -"Nós utilizaremos o seguinte documento XML como exemplo de dados nessa seção:'" +"Usaremos o documento XML fictício :file:`country_data.xml` como dados de " +"amostra para esta seção:" #: ../../library/xml.etree.elementtree.rst:80 msgid "We can import this data by reading from a file::" @@ -121,22 +115,22 @@ msgstr "Ou diretamente de uma string::" #: ../../library/xml.etree.elementtree.rst:90 msgid "" -":func:`fromstring` parses XML from a string directly into an :class:" -"`Element`, which is the root element of the parsed tree. Other parsing " -"functions may create an :class:`ElementTree`. Check the documentation to be " -"sure." +":func:`fromstring` parses XML from a string directly into " +"an :class:`Element`, which is the root element of the parsed tree. Other " +"parsing functions may create an :class:`ElementTree`. Check the " +"documentation to be sure." msgstr "" -":func:`fromstring` obtém o XML de uma string e armazena em um :class:" -"`Element`, que será o elemento raiz dessa árvore. Outras funções de análise " -"sintática podem criar um :class:`ElementTree`. Cheque a documentação para se " -"certificar sobre qual dado será retornado." +":func:`fromstring` obtém o XML de uma string e armazena em " +"um :class:`Element`, que será o elemento raiz dessa árvore. Outras funções " +"de análise sintática podem criar um :class:`ElementTree`. Cheque a " +"documentação para se certificar sobre qual dado será retornado." #: ../../library/xml.etree.elementtree.rst:94 msgid "" "As an :class:`Element`, ``root`` has a tag and a dictionary of attributes::" msgstr "" -"Assim como um :class:`Element`, os elementos raiz tem uma tag e um " -"dicionário de atributos::" +"Assim como um :class:`Element`, ``root`` tem uma tag e um dicionário de " +"atributos::" #: ../../library/xml.etree.elementtree.rst:101 msgid "It also has children nodes over which we can iterate::" @@ -145,7 +139,8 @@ msgstr "Ele também tem nós filhos sobre os quais nós podemos iterar::" #: ../../library/xml.etree.elementtree.rst:110 msgid "Children are nested, and we can access specific child nodes by index::" msgstr "" -"Nós filhos são os mais próximos, e nós podemos especificá-los por índices::" +"Nós filhos são os mais próximos, e nós podemos acessar nós específicos por " +"índices::" #: ../../library/xml.etree.elementtree.rst:118 msgid "" @@ -158,21 +153,37 @@ msgid "" "passing a custom :class:`TreeBuilder` instance to the :class:`XMLParser` " "constructor." msgstr "" +"Nem todos os elementos da entrada XML acabarão como elementos da árvore " +"analisada. Atualmente, este módulo ignora quaisquer comentários XML, " +"instruções de processamento e declarações de tipo de documento na entrada. " +"No entanto, árvores construídas usando a API deste módulo, em vez de serem " +"analisadas a partir de texto XML, podem conter comentários e instruções de " +"processamento; eles serão incluídos ao gerar a saída XML. Uma declaração de " +"tipo de documento pode ser acessada passando uma instância " +"personalizada :class:`TreeBuilder` para o construtor :class:`XMLParser`." #: ../../library/xml.etree.elementtree.rst:132 msgid "Pull API for non-blocking parsing" -msgstr "" +msgstr "A API de pull para análise sem bloqueio" #: ../../library/xml.etree.elementtree.rst:134 msgid "" "Most parsing functions provided by this module require the whole document to " -"be read at once before returning any result. It is possible to use an :" -"class:`XMLParser` and feed data into it incrementally, but it is a push API " -"that calls methods on a callback target, which is too low-level and " +"be read at once before returning any result. It is possible to use " +"an :class:`XMLParser` and feed data into it incrementally, but it is a push " +"API that calls methods on a callback target, which is too low-level and " "inconvenient for most needs. Sometimes what the user really wants is to be " "able to parse XML incrementally, without blocking operations, while enjoying " "the convenience of fully constructed :class:`Element` objects." msgstr "" +"A maioria das funções de análise fornecidas por este módulo exigem que todo " +"o documento seja lido de uma só vez antes de retornar qualquer resultado. É " +"possível usar um :class:`XMLParser` e alimentar dados nele de forma " +"incremental, mas é uma API de push que chama métodos em um destino da função " +"de retorno, o que é de muito baixo nível e inconveniente para a maioria das " +"necessidades. Às vezes, o que o usuário realmente deseja é ser capaz de " +"analisar XML de forma incremental, sem operações bloqueantes, enquanto " +"desfruta da conveniência de objetos :class:`Element` totalmente construídos." #: ../../library/xml.etree.elementtree.rst:142 msgid "" @@ -181,15 +192,24 @@ msgid "" "data incrementally with :meth:`XMLPullParser.feed` calls. To get the parsed " "XML elements, call :meth:`XMLPullParser.read_events`. Here is an example::" msgstr "" +"A ferramenta mais poderosa para fazer isso é :class:`XMLPullParser`. Ela não " +"requer uma leitura bloqueante para obter os dados XML e, em vez disso, é " +"alimentada com dados de forma incremental com chamadas " +"de :meth:`XMLPullParser.feed`. Para obter os elementos XML analisados, " +"chame :meth:`XMLPullParser.read_events`. Aqui está um exemplo::" -#: ../../library/xml.etree.elementtree.rst:158 +#: ../../library/xml.etree.elementtree.rst:159 msgid "" "The obvious use case is applications that operate in a non-blocking fashion " "where the XML data is being received from a socket or read incrementally " "from some storage device. In such cases, blocking reads are unacceptable." msgstr "" +"O caso de uso óbvio são aplicações que operam sem bloqueio, onde os dados " +"XML são recebidos de um soquete ou lidos de forma incremental de algum " +"dispositivo de armazenamento. Nesses casos, leituras bloqueantes são " +"inaceitáveis." -#: ../../library/xml.etree.elementtree.rst:162 +#: ../../library/xml.etree.elementtree.rst:163 msgid "" "Because it's so flexible, :class:`XMLPullParser` can be inconvenient to use " "for simpler use-cases. If you don't mind your application blocking on " @@ -198,169 +218,233 @@ msgid "" "you're reading a large XML document and don't want to hold it wholly in " "memory." msgstr "" +"Por ser tão flexível, :class:`XMLPullParser` pode ser inconveniente de usar " +"em casos de uso mais simples. Se você não se importa que sua aplicação " +"bloqueie a leitura de dados XML, mas ainda assim gostaria de ter recursos de " +"análise incremental, dê uma olhada em :func:`iterparse`. Pode ser útil " +"quando você está lendo um documento XML grande e não deseja mantê-lo " +"totalmente na memória." #: ../../library/xml.etree.elementtree.rst:169 -msgid "Finding interesting elements" +msgid "" +"Where *immediate* feedback through events is wanted, calling " +"method :meth:`XMLPullParser.flush` can help reduce delay; please make sure " +"to study the related security notes." msgstr "" +"Onde o feedback *imediato* através de eventos é desejado, chamar o " +"método :meth:`XMLPullParser.flush` pode ajudar a reduzir o atraso; " +"certifique-se de estudar as notas de segurança relacionadas." -#: ../../library/xml.etree.elementtree.rst:171 +#: ../../library/xml.etree.elementtree.rst:175 +msgid "Finding interesting elements" +msgstr "Encontrando elementos interessantes" + +#: ../../library/xml.etree.elementtree.rst:177 msgid "" ":class:`Element` has some useful methods that help iterate recursively over " "all the sub-tree below it (its children, their children, and so on). For " "example, :meth:`Element.iter`::" msgstr "" +":class:`Element` possui alguns métodos úteis que ajudam a iterar " +"recursivamente sobre toda a subárvore abaixo dele (seus filhos, seus filhos " +"e assim por diante). Por exemplo, :meth:`Element.iter`::" -#: ../../library/xml.etree.elementtree.rst:184 +#: ../../library/xml.etree.elementtree.rst:190 msgid "" ":meth:`Element.findall` finds only elements with a tag which are direct " "children of the current element. :meth:`Element.find` finds the *first* " "child with a particular tag, and :attr:`Element.text` accesses the element's " "text content. :meth:`Element.get` accesses the element's attributes::" msgstr "" +":meth:`Element.findall` encontra apenas elementos com uma tag que são filhos " +"diretos do elemento atual. :meth:`Element.find` encontra o *primeiro* filho " +"com uma tag específica, e :attr:`Element.text` acessa o conteúdo de texto do " +"elemento. :meth:`Element.get` acessa os atributos do elemento::" -#: ../../library/xml.etree.elementtree.rst:198 +#: ../../library/xml.etree.elementtree.rst:204 msgid "" "More sophisticated specification of which elements to look for is possible " "by using :ref:`XPath `." msgstr "" +"Uma especificação mais sofisticada de quais elementos procurar é possível " +"usando :ref:`XPath `." -#: ../../library/xml.etree.elementtree.rst:202 +#: ../../library/xml.etree.elementtree.rst:208 msgid "Modifying an XML File" -msgstr "" +msgstr "Modificando um arquivo XML" -#: ../../library/xml.etree.elementtree.rst:204 +#: ../../library/xml.etree.elementtree.rst:210 msgid "" ":class:`ElementTree` provides a simple way to build XML documents and write " "them to files. The :meth:`ElementTree.write` method serves this purpose." msgstr "" +":class:`ElementTree` fornece uma maneira simples de construir documentos XML " +"e escrevê-los em arquivos. O método :meth:`ElementTree.write` serve para " +"esse propósito." -#: ../../library/xml.etree.elementtree.rst:207 +#: ../../library/xml.etree.elementtree.rst:213 msgid "" "Once created, an :class:`Element` object may be manipulated by directly " "changing its fields (such as :attr:`Element.text`), adding and modifying " "attributes (:meth:`Element.set` method), as well as adding new children (for " "example with :meth:`Element.append`)." msgstr "" +"Uma vez criado, um objeto :class:`Element` pode ser manipulado alterando " +"diretamente seus campos (como :attr:`Element.text`), adicionando e " +"modificando atributos (método :meth:`Element.set`), bem como como adicionar " +"novos filhos (por exemplo, com :meth:`Element.append`)." -#: ../../library/xml.etree.elementtree.rst:212 +#: ../../library/xml.etree.elementtree.rst:218 msgid "" "Let's say we want to add one to each country's rank, and add an ``updated`` " "attribute to the rank element::" msgstr "" +"Digamos que queremos adicionar um à classificação de cada país e adicionar " +"um atributo ``updated`` ao elemento de classificação::" -#: ../../library/xml.etree.elementtree.rst:222 -#: ../../library/xml.etree.elementtree.rst:266 +#: ../../library/xml.etree.elementtree.rst:228 +#: ../../library/xml.etree.elementtree.rst:272 msgid "Our XML now looks like this:" -msgstr "" +msgstr "Nosso XML agora se parece com isto:" -#: ../../library/xml.etree.elementtree.rst:250 +#: ../../library/xml.etree.elementtree.rst:256 msgid "" "We can remove elements using :meth:`Element.remove`. Let's say we want to " "remove all countries with a rank higher than 50::" msgstr "" +"Podemos remover elementos usando :meth:`Element.remove`. Digamos que " +"queremos remover todos os países com classificação superior a 50::" -#: ../../library/xml.etree.elementtree.rst:261 +#: ../../library/xml.etree.elementtree.rst:267 msgid "" "Note that concurrent modification while iterating can lead to problems, just " "like when iterating and modifying Python lists or dicts. Therefore, the " "example first collects all matching elements with ``root.findall()``, and " "only then iterates over the list of matches." msgstr "" +"Observe que a modificação simultânea durante a iteração pode levar a " +"problemas, assim como ao iterar e modificar listas ou dicionários do Python. " +"Portanto, o exemplo primeiro coleta todos os elementos correspondentes com " +"``root.findall()``, e só então itera sobre a lista de correspondências." -#: ../../library/xml.etree.elementtree.rst:288 +#: ../../library/xml.etree.elementtree.rst:294 msgid "Building XML documents" -msgstr "" +msgstr "Construindo documentos XML" -#: ../../library/xml.etree.elementtree.rst:290 +#: ../../library/xml.etree.elementtree.rst:296 msgid "" "The :func:`SubElement` function also provides a convenient way to create new " "sub-elements for a given element::" msgstr "" +"A função :func:`SubElement` também fornece uma maneira conveniente de criar " +"novos subelementos para um determinado elemento::" -#: ../../library/xml.etree.elementtree.rst:301 +#: ../../library/xml.etree.elementtree.rst:307 msgid "Parsing XML with Namespaces" -msgstr "" +msgstr "Analisando XML com espaços de nomes" -#: ../../library/xml.etree.elementtree.rst:303 +#: ../../library/xml.etree.elementtree.rst:309 msgid "" "If the XML input has `namespaces `__, tags and attributes with prefixes in the form ``prefix:" -"sometag`` get expanded to ``{uri}sometag`` where the *prefix* is replaced by " -"the full *URI*. Also, if there is a `default namespace `__, that full URI gets prepended to all of the non-" -"prefixed tags." +"XML_namespace>`__, tags and attributes with prefixes in the form " +"``prefix:sometag`` get expanded to ``{uri}sometag`` where the *prefix* is " +"replaced by the full *URI*. Also, if there is a `default namespace `__, that full URI gets prepended to all " +"of the non-prefixed tags." msgstr "" +"Se a entrada XML tiver `espaços de nomes `__, tags e atributos com prefixos no formato " +"``prefixo:algumatag`` serão expandidos para ``{uri}algumatag`` onde " +"*prefixo* é substituído pelo *URI* completo. Além disso, se houver um " +"`espaço de nomes padrão `__, " +"esse URI completo será anexado a todas as tags não prefixadas." -#: ../../library/xml.etree.elementtree.rst:311 +#: ../../library/xml.etree.elementtree.rst:317 msgid "" "Here is an XML example that incorporates two namespaces, one with the prefix " "\"fictional\" and the other serving as the default namespace:" msgstr "" +"Aqui está um exemplo XML que incorpora dois espaços de nomes, um com o " +"prefixo \"fictional\" e outro servindo como espaço de nomes padrão:" -#: ../../library/xml.etree.elementtree.rst:332 +#: ../../library/xml.etree.elementtree.rst:338 msgid "" "One way to search and explore this XML example is to manually add the URI to " -"every tag or attribute in the xpath of a :meth:`~Element.find` or :meth:" -"`~Element.findall`::" +"every tag or attribute in the xpath of a :meth:`~Element.find` " +"or :meth:`~Element.findall`::" msgstr "" +"Uma maneira de pesquisar e explorar este exemplo XML é adicionar manualmente " +"o URI a cada tag ou atributo no xpath de um :meth:`~Element.find` " +"ou :meth:`~Element.findall`::" -#: ../../library/xml.etree.elementtree.rst:343 +#: ../../library/xml.etree.elementtree.rst:349 msgid "" "A better way to search the namespaced XML example is to create a dictionary " "with your own prefixes and use those in the search functions::" msgstr "" +"A melhor maneira de pesquisar o exemplo XML com espaço de nomes é criar um " +"dicionário com seus próprios prefixos e usá-los nas funções de pesquisa::" -#: ../../library/xml.etree.elementtree.rst:355 +#: ../../library/xml.etree.elementtree.rst:361 msgid "These two approaches both output::" -msgstr "" +msgstr "Essas duas abordagens resultam no seguinte::" -#: ../../library/xml.etree.elementtree.rst:369 +#: ../../library/xml.etree.elementtree.rst:375 msgid "XPath support" -msgstr "" +msgstr "Suporte a XPath" -#: ../../library/xml.etree.elementtree.rst:371 +#: ../../library/xml.etree.elementtree.rst:377 msgid "" -"This module provides limited support for `XPath expressions `_ for locating elements in a tree. The goal is to support a " -"small subset of the abbreviated syntax; a full XPath engine is outside the " -"scope of the module." +"This module provides limited support for `XPath expressions `_ for locating elements in a tree. The goal is to " +"support a small subset of the abbreviated syntax; a full XPath engine is " +"outside the scope of the module." msgstr "" +"Este módulo fornece suporte limitado para `expressões XPath `_ para localizar elementos em uma árvore. O objetivo é " +"oferecer suporte a um pequeno subconjunto da sintaxe abreviada; um mecanismo " +"XPath completo está fora do escopo do módulo." -#: ../../library/xml.etree.elementtree.rst:377 -#: ../../library/xml.etree.elementtree.rst:769 +#: ../../library/xml.etree.elementtree.rst:383 +#: ../../library/xml.etree.elementtree.rst:777 msgid "Example" msgstr "Exemplo" -#: ../../library/xml.etree.elementtree.rst:379 +#: ../../library/xml.etree.elementtree.rst:385 msgid "" "Here's an example that demonstrates some of the XPath capabilities of the " -"module. We'll be using the ``countrydata`` XML document from the :ref:" -"`Parsing XML ` section::" +"module. We'll be using the ``countrydata`` XML document from " +"the :ref:`Parsing XML ` section::" msgstr "" +"Aqui está um exemplo que demonstra alguns dos recursos XPath do módulo. " +"Estaremos usando o documento XML ``countrydata`` da seção :ref:`Analisando " +"XML `::" -#: ../../library/xml.etree.elementtree.rst:403 +#: ../../library/xml.etree.elementtree.rst:409 msgid "" "For XML with namespaces, use the usual qualified ``{namespace}tag`` " "notation::" msgstr "" +"Para XML com espaços de nomes, use a notação qualificada usual ``{espaço-de-" +"nomes}tag``::" -#: ../../library/xml.etree.elementtree.rst:410 +#: ../../library/xml.etree.elementtree.rst:416 msgid "Supported XPath syntax" msgstr "" -#: ../../library/xml.etree.elementtree.rst:415 +#: ../../library/xml.etree.elementtree.rst:421 msgid "Syntax" msgstr "Sintaxe" -#: ../../library/xml.etree.elementtree.rst:415 +#: ../../library/xml.etree.elementtree.rst:421 msgid "Meaning" msgstr "Significado" -#: ../../library/xml.etree.elementtree.rst:417 +#: ../../library/xml.etree.elementtree.rst:423 msgid "``tag``" msgstr "``tag``" -#: ../../library/xml.etree.elementtree.rst:417 +#: ../../library/xml.etree.elementtree.rst:423 msgid "" "Selects all child elements with the given tag. For example, ``spam`` selects " "all child elements named ``spam``, and ``spam/egg`` selects all " @@ -370,133 +454,133 @@ msgid "" "not in a namespace." msgstr "" -#: ../../library/xml.etree.elementtree.rst:426 +#: ../../library/xml.etree.elementtree.rst:432 msgid "Support for star-wildcards was added." msgstr "" -#: ../../library/xml.etree.elementtree.rst:429 +#: ../../library/xml.etree.elementtree.rst:435 msgid "``*``" msgstr "``*``" -#: ../../library/xml.etree.elementtree.rst:429 +#: ../../library/xml.etree.elementtree.rst:435 msgid "" "Selects all child elements, including comments and processing instructions. " "For example, ``*/egg`` selects all grandchildren named ``egg``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:433 +#: ../../library/xml.etree.elementtree.rst:439 msgid "``.``" msgstr "``.``" -#: ../../library/xml.etree.elementtree.rst:433 +#: ../../library/xml.etree.elementtree.rst:439 msgid "" "Selects the current node. This is mostly useful at the beginning of the " "path, to indicate that it's a relative path." msgstr "" -#: ../../library/xml.etree.elementtree.rst:437 +#: ../../library/xml.etree.elementtree.rst:443 msgid "``//``" msgstr "``//``" -#: ../../library/xml.etree.elementtree.rst:437 +#: ../../library/xml.etree.elementtree.rst:443 msgid "" "Selects all subelements, on all levels beneath the current element. For " "example, ``.//egg`` selects all ``egg`` elements in the entire tree." msgstr "" -#: ../../library/xml.etree.elementtree.rst:441 +#: ../../library/xml.etree.elementtree.rst:447 msgid "``..``" msgstr "``..``" -#: ../../library/xml.etree.elementtree.rst:441 +#: ../../library/xml.etree.elementtree.rst:447 msgid "" "Selects the parent element. Returns ``None`` if the path attempts to reach " "the ancestors of the start element (the element ``find`` was called on)." msgstr "" -#: ../../library/xml.etree.elementtree.rst:445 +#: ../../library/xml.etree.elementtree.rst:451 msgid "``[@attrib]``" msgstr "``[@attrib]``" -#: ../../library/xml.etree.elementtree.rst:445 +#: ../../library/xml.etree.elementtree.rst:451 msgid "Selects all elements that have the given attribute." msgstr "" -#: ../../library/xml.etree.elementtree.rst:447 +#: ../../library/xml.etree.elementtree.rst:453 msgid "``[@attrib='value']``" msgstr "``[@attrib='value']``" -#: ../../library/xml.etree.elementtree.rst:447 +#: ../../library/xml.etree.elementtree.rst:453 msgid "" "Selects all elements for which the given attribute has the given value. The " "value cannot contain quotes." msgstr "" -#: ../../library/xml.etree.elementtree.rst:451 +#: ../../library/xml.etree.elementtree.rst:457 msgid "``[@attrib!='value']``" msgstr "" -#: ../../library/xml.etree.elementtree.rst:451 +#: ../../library/xml.etree.elementtree.rst:457 msgid "" "Selects all elements for which the given attribute does not have the given " "value. The value cannot contain quotes." msgstr "" -#: ../../library/xml.etree.elementtree.rst:457 +#: ../../library/xml.etree.elementtree.rst:463 msgid "``[tag]``" msgstr "``[tag]``" -#: ../../library/xml.etree.elementtree.rst:457 +#: ../../library/xml.etree.elementtree.rst:463 msgid "" "Selects all elements that have a child named ``tag``. Only immediate " "children are supported." msgstr "" -#: ../../library/xml.etree.elementtree.rst:460 +#: ../../library/xml.etree.elementtree.rst:466 msgid "``[.='text']``" msgstr "``[.='text']``" -#: ../../library/xml.etree.elementtree.rst:460 +#: ../../library/xml.etree.elementtree.rst:466 msgid "" "Selects all elements whose complete text content, including descendants, " "equals the given ``text``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:465 +#: ../../library/xml.etree.elementtree.rst:471 msgid "``[.!='text']``" msgstr "" -#: ../../library/xml.etree.elementtree.rst:465 +#: ../../library/xml.etree.elementtree.rst:471 msgid "" "Selects all elements whose complete text content, including descendants, " "does not equal the given ``text``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:471 +#: ../../library/xml.etree.elementtree.rst:477 msgid "``[tag='text']``" msgstr "``[tag='text']``" -#: ../../library/xml.etree.elementtree.rst:471 +#: ../../library/xml.etree.elementtree.rst:477 msgid "" "Selects all elements that have a child named ``tag`` whose complete text " "content, including descendants, equals the given ``text``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:475 +#: ../../library/xml.etree.elementtree.rst:481 msgid "``[tag!='text']``" msgstr "" -#: ../../library/xml.etree.elementtree.rst:475 +#: ../../library/xml.etree.elementtree.rst:481 msgid "" "Selects all elements that have a child named ``tag`` whose complete text " "content, including descendants, does not equal the given ``text``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:481 +#: ../../library/xml.etree.elementtree.rst:487 msgid "``[position]``" msgstr "``[position]``" -#: ../../library/xml.etree.elementtree.rst:481 +#: ../../library/xml.etree.elementtree.rst:487 msgid "" "Selects all elements that are located at the given position. The position " "can be either an integer (1 is the first position), the expression " @@ -504,28 +588,28 @@ msgid "" "position (e.g. ``last()-1``)." msgstr "" -#: ../../library/xml.etree.elementtree.rst:488 +#: ../../library/xml.etree.elementtree.rst:494 msgid "" "Predicates (expressions within square brackets) must be preceded by a tag " "name, an asterisk, or another predicate. ``position`` predicates must be " "preceded by a tag name." msgstr "" -#: ../../library/xml.etree.elementtree.rst:493 -#: ../../library/xml.etree.elementtree.rst:821 +#: ../../library/xml.etree.elementtree.rst:499 +#: ../../library/xml.etree.elementtree.rst:829 msgid "Reference" msgstr "Referência" -#: ../../library/xml.etree.elementtree.rst:498 -#: ../../library/xml.etree.elementtree.rst:826 +#: ../../library/xml.etree.elementtree.rst:504 +#: ../../library/xml.etree.elementtree.rst:834 msgid "Functions" msgstr "Funções" -#: ../../library/xml.etree.elementtree.rst:502 +#: ../../library/xml.etree.elementtree.rst:508 msgid "`C14N 2.0 `_ transformation function." msgstr "" -#: ../../library/xml.etree.elementtree.rst:504 +#: ../../library/xml.etree.elementtree.rst:510 msgid "" "Canonicalization is a way to normalise XML output in a way that allows byte-" "by-byte comparisons and digital signatures. It reduced the freedom that XML " @@ -534,7 +618,7 @@ msgid "" "declarations, the ordering of attributes, and ignorable whitespace." msgstr "" -#: ../../library/xml.etree.elementtree.rst:510 +#: ../../library/xml.etree.elementtree.rst:516 msgid "" "This function takes an XML data string (*xml_data*) or a file path or file-" "like object (*from_file*) as input, converts it to the canonical form, and " @@ -543,63 +627,63 @@ msgid "" "should therefore be opened in text mode with ``utf-8`` encoding." msgstr "" -#: ../../library/xml.etree.elementtree.rst:517 +#: ../../library/xml.etree.elementtree.rst:523 msgid "Typical uses::" msgstr "" -#: ../../library/xml.etree.elementtree.rst:528 +#: ../../library/xml.etree.elementtree.rst:534 msgid "The configuration *options* are as follows:" -msgstr "" +msgstr "As *options* de configuração são as seguintes:" -#: ../../library/xml.etree.elementtree.rst:530 +#: ../../library/xml.etree.elementtree.rst:536 msgid "*with_comments*: set to true to include comments (default: false)" msgstr "" -#: ../../library/xml.etree.elementtree.rst:531 +#: ../../library/xml.etree.elementtree.rst:537 msgid "" "*strip_text*: set to true to strip whitespace before and after text content" msgstr "" -#: ../../library/xml.etree.elementtree.rst:532 -#: ../../library/xml.etree.elementtree.rst:534 +#: ../../library/xml.etree.elementtree.rst:538 +#: ../../library/xml.etree.elementtree.rst:540 msgid "(default: false)" msgstr "" -#: ../../library/xml.etree.elementtree.rst:533 +#: ../../library/xml.etree.elementtree.rst:539 msgid "" -"*rewrite_prefixes*: set to true to replace namespace prefixes by " -"\"n{number}\"" +"*rewrite_prefixes*: set to true to replace namespace prefixes by \"n{number}" +"\"" msgstr "" -#: ../../library/xml.etree.elementtree.rst:535 +#: ../../library/xml.etree.elementtree.rst:541 msgid "*qname_aware_tags*: a set of qname aware tag names in which prefixes" msgstr "" -#: ../../library/xml.etree.elementtree.rst:536 -#: ../../library/xml.etree.elementtree.rst:538 +#: ../../library/xml.etree.elementtree.rst:542 +#: ../../library/xml.etree.elementtree.rst:544 msgid "should be replaced in text content (default: empty)" msgstr "" -#: ../../library/xml.etree.elementtree.rst:537 +#: ../../library/xml.etree.elementtree.rst:543 msgid "" "*qname_aware_attrs*: a set of qname aware attribute names in which prefixes" msgstr "" -#: ../../library/xml.etree.elementtree.rst:539 +#: ../../library/xml.etree.elementtree.rst:545 msgid "*exclude_attrs*: a set of attribute names that should not be serialised" msgstr "" -#: ../../library/xml.etree.elementtree.rst:540 +#: ../../library/xml.etree.elementtree.rst:546 msgid "*exclude_tags*: a set of tag names that should not be serialised" msgstr "" -#: ../../library/xml.etree.elementtree.rst:542 +#: ../../library/xml.etree.elementtree.rst:548 msgid "" "In the option list above, \"a set\" refers to any collection or iterable of " "strings, no ordering is expected." msgstr "" -#: ../../library/xml.etree.elementtree.rst:550 +#: ../../library/xml.etree.elementtree.rst:556 msgid "" "Comment element factory. This factory function creates a special element " "that will be serialized as an XML comment by the standard serializer. The " @@ -608,45 +692,45 @@ msgid "" "representing a comment." msgstr "" -#: ../../library/xml.etree.elementtree.rst:556 +#: ../../library/xml.etree.elementtree.rst:562 msgid "" "Note that :class:`XMLParser` skips over comments in the input instead of " "creating comment objects for them. An :class:`ElementTree` will only contain " -"comment nodes if they have been inserted into to the tree using one of the :" -"class:`Element` methods." +"comment nodes if they have been inserted into to the tree using one of " +"the :class:`Element` methods." msgstr "" -#: ../../library/xml.etree.elementtree.rst:563 +#: ../../library/xml.etree.elementtree.rst:569 msgid "" "Writes an element tree or element structure to sys.stdout. This function " "should be used for debugging only." msgstr "" -#: ../../library/xml.etree.elementtree.rst:566 +#: ../../library/xml.etree.elementtree.rst:572 msgid "" "The exact output format is implementation dependent. In this version, it's " "written as an ordinary XML file." msgstr "" -#: ../../library/xml.etree.elementtree.rst:569 +#: ../../library/xml.etree.elementtree.rst:575 msgid "*elem* is an element tree or an individual element." msgstr "" -#: ../../library/xml.etree.elementtree.rst:571 +#: ../../library/xml.etree.elementtree.rst:577 msgid "" "The :func:`dump` function now preserves the attribute order specified by the " "user." msgstr "" -#: ../../library/xml.etree.elementtree.rst:578 +#: ../../library/xml.etree.elementtree.rst:584 msgid "" "Parses an XML section from a string constant. Same as :func:`XML`. *text* " "is a string containing XML data. *parser* is an optional parser instance. " -"If not given, the standard :class:`XMLParser` parser is used. Returns an :" -"class:`Element` instance." +"If not given, the standard :class:`XMLParser` parser is used. Returns " +"an :class:`Element` instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:586 +#: ../../library/xml.etree.elementtree.rst:592 msgid "" "Parses an XML document from a sequence of string fragments. *sequence* is a " "list or other sequence containing XML data fragments. *parser* is an " @@ -654,7 +738,7 @@ msgid "" "parser is used. Returns an :class:`Element` instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:596 +#: ../../library/xml.etree.elementtree.rst:602 msgid "" "Appends whitespace to the subtree to indent the tree visually. This can be " "used to generate pretty-printed XML output. *tree* can be an Element or " @@ -664,13 +748,13 @@ msgid "" "indentation level as *level*." msgstr "" -#: ../../library/xml.etree.elementtree.rst:608 +#: ../../library/xml.etree.elementtree.rst:614 msgid "" "Check if an object appears to be a valid element object. *element* is an " "element instance. Return ``True`` if this is an element object." msgstr "" -#: ../../library/xml.etree.elementtree.rst:614 +#: ../../library/xml.etree.elementtree.rst:620 msgid "" "Parses an XML section into an element tree incrementally, and reports what's " "going on to the user. *source* is a filename or :term:`file object` " @@ -681,11 +765,13 @@ msgid "" "omitted, only ``\"end\"`` events are reported. *parser* is an optional " "parser instance. If not given, the standard :class:`XMLParser` parser is " "used. *parser* must be a subclass of :class:`XMLParser` and can only use " -"the default :class:`TreeBuilder` as a target. Returns an :term:`iterator` " -"providing ``(event, elem)`` pairs." +"the default :class:`TreeBuilder` as a target. Returns an :term:`iterator` " +"providing ``(event, elem)`` pairs; it has a ``root`` attribute that " +"references the root element of the resulting XML tree once *source* is fully " +"read." msgstr "" -#: ../../library/xml.etree.elementtree.rst:626 +#: ../../library/xml.etree.elementtree.rst:634 msgid "" "Note that while :func:`iterparse` builds the tree incrementally, it issues " "blocking reads on *source* (or the file it names). As such, it's unsuitable " @@ -693,7 +779,7 @@ msgid "" "parsing, see :class:`XMLPullParser`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:633 +#: ../../library/xml.etree.elementtree.rst:641 msgid "" ":func:`iterparse` only guarantees that it has seen the \">\" character of a " "starting tag when it emits a \"start\" event, so the attributes are defined, " @@ -702,29 +788,29 @@ msgid "" "present." msgstr "" -#: ../../library/xml.etree.elementtree.rst:639 -#: ../../library/xml.etree.elementtree.rst:1469 +#: ../../library/xml.etree.elementtree.rst:647 +#: ../../library/xml.etree.elementtree.rst:1516 msgid "If you need a fully populated element, look for \"end\" events instead." msgstr "" -#: ../../library/xml.etree.elementtree.rst:641 +#: ../../library/xml.etree.elementtree.rst:649 msgid "The *parser* argument." -msgstr "" +msgstr "O argumento *parser*." -#: ../../library/xml.etree.elementtree.rst:644 -#: ../../library/xml.etree.elementtree.rst:1473 +#: ../../library/xml.etree.elementtree.rst:652 +#: ../../library/xml.etree.elementtree.rst:1520 msgid "The ``comment`` and ``pi`` events were added." -msgstr "" +msgstr "Os eventos ``comment`` e ``pi`` foram adicionados." -#: ../../library/xml.etree.elementtree.rst:650 +#: ../../library/xml.etree.elementtree.rst:658 msgid "" "Parses an XML section into an element tree. *source* is a filename or file " "object containing XML data. *parser* is an optional parser instance. If " -"not given, the standard :class:`XMLParser` parser is used. Returns an :" -"class:`ElementTree` instance." +"not given, the standard :class:`XMLParser` parser is used. Returns " +"an :class:`ElementTree` instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:658 +#: ../../library/xml.etree.elementtree.rst:666 msgid "" "PI element factory. This factory function creates a special element that " "will be serialized as an XML processing instruction. *target* is a string " @@ -732,15 +818,15 @@ msgid "" "given. Returns an element instance, representing a processing instruction." msgstr "" -#: ../../library/xml.etree.elementtree.rst:663 +#: ../../library/xml.etree.elementtree.rst:671 msgid "" "Note that :class:`XMLParser` skips over processing instructions in the input " -"instead of creating comment objects for them. An :class:`ElementTree` will " -"only contain processing instruction nodes if they have been inserted into to " -"the tree using one of the :class:`Element` methods." +"instead of creating PI objects for them. An :class:`ElementTree` will only " +"contain processing instruction nodes if they have been inserted into to the " +"tree using one of the :class:`Element` methods." msgstr "" -#: ../../library/xml.etree.elementtree.rst:671 +#: ../../library/xml.etree.elementtree.rst:679 msgid "" "Registers a namespace prefix. The registry is global, and any existing " "mapping for either the given prefix or the namespace URI will be removed. " @@ -749,13 +835,13 @@ msgid "" "all possible." msgstr "" -#: ../../library/xml.etree.elementtree.rst:682 +#: ../../library/xml.etree.elementtree.rst:690 msgid "" "Subelement factory. This function creates an element instance, and appends " "it to an existing element." msgstr "" -#: ../../library/xml.etree.elementtree.rst:685 +#: ../../library/xml.etree.elementtree.rst:693 msgid "" "The element name, attribute names, and attribute values can be either " "bytestrings or Unicode strings. *parent* is the parent element. *tag* is " @@ -764,7 +850,7 @@ msgid "" "arguments. Returns an element instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:696 +#: ../../library/xml.etree.elementtree.rst:704 msgid "" "Generates a string representation of an XML element, including all " "subelements. *element* is an :class:`Element` instance. *encoding* [1]_ is " @@ -776,24 +862,24 @@ msgid "" "Returns an (optionally) encoded string containing the XML data." msgstr "" -#: ../../library/xml.etree.elementtree.rst:705 -#: ../../library/xml.etree.elementtree.rst:732 -#: ../../library/xml.etree.elementtree.rst:1181 -msgid "The *short_empty_elements* parameter." -msgstr "" +#: ../../library/xml.etree.elementtree.rst:713 +#: ../../library/xml.etree.elementtree.rst:740 +#: ../../library/xml.etree.elementtree.rst:1194 +msgid "Added the *short_empty_elements* parameter." +msgstr "Foi adicionado o parâmetro *short_empty_elements*." -#: ../../library/xml.etree.elementtree.rst:708 -#: ../../library/xml.etree.elementtree.rst:735 -msgid "The *xml_declaration* and *default_namespace* parameters." +#: ../../library/xml.etree.elementtree.rst:716 +#: ../../library/xml.etree.elementtree.rst:743 +msgid "Added the *xml_declaration* and *default_namespace* parameters." msgstr "" -#: ../../library/xml.etree.elementtree.rst:711 +#: ../../library/xml.etree.elementtree.rst:719 msgid "" "The :func:`tostring` function now preserves the attribute order specified by " "the user." msgstr "" -#: ../../library/xml.etree.elementtree.rst:720 +#: ../../library/xml.etree.elementtree.rst:728 msgid "" "Generates a string representation of an XML element, including all " "subelements. *element* is an :class:`Element` instance. *encoding* [1]_ is " @@ -803,46 +889,47 @@ msgid "" "``\"xml\"``). *xml_declaration*, *default_namespace* and " "*short_empty_elements* has the same meaning as in :meth:`ElementTree.write`. " "Returns a list of (optionally) encoded strings containing the XML data. It " -"does not guarantee any specific sequence, except that ``b\"\"." -"join(tostringlist(element)) == tostring(element)``." +"does not guarantee any specific sequence, except that " +"``b\"\".join(tostringlist(element)) == tostring(element)``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:738 +#: ../../library/xml.etree.elementtree.rst:746 msgid "" "The :func:`tostringlist` function now preserves the attribute order " "specified by the user." msgstr "" -#: ../../library/xml.etree.elementtree.rst:745 +#: ../../library/xml.etree.elementtree.rst:753 msgid "" "Parses an XML section from a string constant. This function can be used to " "embed \"XML literals\" in Python code. *text* is a string containing XML " -"data. *parser* is an optional parser instance. If not given, the standard :" -"class:`XMLParser` parser is used. Returns an :class:`Element` instance." +"data. *parser* is an optional parser instance. If not given, the " +"standard :class:`XMLParser` parser is used. Returns an :class:`Element` " +"instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:753 +#: ../../library/xml.etree.elementtree.rst:761 msgid "" "Parses an XML section from a string constant, and also returns a dictionary " "which maps from element id:s to elements. *text* is a string containing XML " -"data. *parser* is an optional parser instance. If not given, the standard :" -"class:`XMLParser` parser is used. Returns a tuple containing an :class:" -"`Element` instance and a dictionary." +"data. *parser* is an optional parser instance. If not given, the " +"standard :class:`XMLParser` parser is used. Returns a tuple containing " +"an :class:`Element` instance and a dictionary." msgstr "" -#: ../../library/xml.etree.elementtree.rst:763 +#: ../../library/xml.etree.elementtree.rst:771 msgid "XInclude support" -msgstr "" +msgstr "Suporte a XInclude" -#: ../../library/xml.etree.elementtree.rst:765 +#: ../../library/xml.etree.elementtree.rst:773 msgid "" -"This module provides limited support for `XInclude directives `_, via the :mod:`xml.etree.ElementInclude` helper " +"This module provides limited support for `XInclude directives `_, via the :mod:`xml.etree.ElementInclude` helper " "module. This module can be used to insert subtrees and text strings into " "element trees, based on information in the tree." msgstr "" -#: ../../library/xml.etree.elementtree.rst:771 +#: ../../library/xml.etree.elementtree.rst:779 msgid "" "Here's an example that demonstrates use of the XInclude module. To include " "an XML document in the current document, use the ``{http://www.w3.org/2001/" @@ -850,43 +937,43 @@ msgid "" "and use the **href** attribute to specify the document to include." msgstr "" -#: ../../library/xml.etree.elementtree.rst:780 +#: ../../library/xml.etree.elementtree.rst:788 msgid "" "By default, the **href** attribute is treated as a file name. You can use " "custom loaders to override this behaviour. Also note that the standard " "helper does not support XPointer syntax." msgstr "" -#: ../../library/xml.etree.elementtree.rst:782 +#: ../../library/xml.etree.elementtree.rst:790 msgid "" -"To process this file, load it as usual, and pass the root element to the :" -"mod:`xml.etree.ElementTree` module:" +"To process this file, load it as usual, and pass the root element to " +"the :mod:`xml.etree.ElementTree` module:" msgstr "" -#: ../../library/xml.etree.elementtree.rst:793 +#: ../../library/xml.etree.elementtree.rst:801 msgid "" "The ElementInclude module replaces the ``{http://www.w3.org/2001/XInclude}" "include`` element with the root element from the **source.xml** document. " "The result might look something like this:" msgstr "" -#: ../../library/xml.etree.elementtree.rst:801 +#: ../../library/xml.etree.elementtree.rst:809 msgid "" "If the **parse** attribute is omitted, it defaults to \"xml\". The href " "attribute is required." msgstr "" -#: ../../library/xml.etree.elementtree.rst:803 +#: ../../library/xml.etree.elementtree.rst:811 msgid "" "To include a text document, use the ``{http://www.w3.org/2001/XInclude}" "include`` element, and set the **parse** attribute to \"text\":" msgstr "" -#: ../../library/xml.etree.elementtree.rst:812 +#: ../../library/xml.etree.elementtree.rst:820 msgid "The result might look something like:" msgstr "" -#: ../../library/xml.etree.elementtree.rst:831 +#: ../../library/xml.etree.elementtree.rst:841 msgid "" "Default loader. This default loader reads an included resource from disk. " "*href* is a URL. *parse* is for parse mode either \"xml\" or \"text\". " @@ -897,39 +984,39 @@ msgid "" "or raise an exception." msgstr "" -#: ../../library/xml.etree.elementtree.rst:843 +#: ../../library/xml.etree.elementtree.rst:853 msgid "" "This function expands XInclude directives. *elem* is the root element. " -"*loader* is an optional resource loader. If omitted, it defaults to :func:" -"`default_loader`. If given, it should be a callable that implements the same " -"interface as :func:`default_loader`. *base_url* is base URL of the original " -"file, to resolve relative include file references. *max_depth* is the " -"maximum number of recursive inclusions. Limited to reduce the risk of " +"*loader* is an optional resource loader. If omitted, it defaults " +"to :func:`default_loader`. If given, it should be a callable that implements " +"the same interface as :func:`default_loader`. *base_url* is base URL of the " +"original file, to resolve relative include file references. *max_depth* is " +"the maximum number of recursive inclusions. Limited to reduce the risk of " "malicious content explosion. Pass a negative value to disable the limitation." msgstr "" -#: ../../library/xml.etree.elementtree.rst:851 +#: ../../library/xml.etree.elementtree.rst:861 msgid "" "Returns the expanded resource. If the parse mode is ``\"xml\"``, this is an " "ElementTree instance. If the parse mode is \"text\", this is a Unicode " "string. If the loader fails, it can return None or raise an exception." msgstr "" -#: ../../library/xml.etree.elementtree.rst:856 -msgid "The *base_url* and *max_depth* parameters." +#: ../../library/xml.etree.elementtree.rst:866 +msgid "Added the *base_url* and *max_depth* parameters." msgstr "" -#: ../../library/xml.etree.elementtree.rst:863 +#: ../../library/xml.etree.elementtree.rst:873 msgid "Element Objects" msgstr "" -#: ../../library/xml.etree.elementtree.rst:867 +#: ../../library/xml.etree.elementtree.rst:880 msgid "" "Element class. This class defines the Element interface, and provides a " "reference implementation of this interface." msgstr "" -#: ../../library/xml.etree.elementtree.rst:870 +#: ../../library/xml.etree.elementtree.rst:883 msgid "" "The element name, attribute names, and attribute values can be either " "bytestrings or Unicode strings. *tag* is the element name. *attrib* is an " @@ -937,13 +1024,13 @@ msgid "" "additional attributes, given as keyword arguments." msgstr "" -#: ../../library/xml.etree.elementtree.rst:878 +#: ../../library/xml.etree.elementtree.rst:891 msgid "" "A string identifying what kind of data this element represents (the element " "type, in other words)." msgstr "" -#: ../../library/xml.etree.elementtree.rst:885 +#: ../../library/xml.etree.elementtree.rst:898 msgid "" "These attributes can be used to hold additional data associated with the " "element. Their values are usually strings but may be any application-" @@ -954,7 +1041,7 @@ msgid "" "the XML data" msgstr "" -#: ../../library/xml.etree.elementtree.rst:897 +#: ../../library/xml.etree.elementtree.rst:910 msgid "" "the *a* element has ``None`` for both *text* and *tail* attributes, the *b* " "element has *text* ``\"1\"`` and *tail* ``\"4\"``, the *c* element has " @@ -962,17 +1049,17 @@ msgid "" "``None`` and *tail* ``\"3\"``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:902 +#: ../../library/xml.etree.elementtree.rst:915 msgid "" "To collect the inner text of an element, see :meth:`itertext`, for example " "``\"\".join(element.itertext())``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:905 +#: ../../library/xml.etree.elementtree.rst:918 msgid "Applications may store arbitrary objects in these attributes." msgstr "" -#: ../../library/xml.etree.elementtree.rst:910 +#: ../../library/xml.etree.elementtree.rst:923 msgid "" "A dictionary containing the element's attributes. Note that while the " "*attrib* value is always a real mutable Python dictionary, an ElementTree " @@ -981,59 +1068,59 @@ msgid "" "implementations, use the dictionary methods below whenever possible." msgstr "" -#: ../../library/xml.etree.elementtree.rst:916 +#: ../../library/xml.etree.elementtree.rst:929 msgid "The following dictionary-like methods work on the element attributes." msgstr "" -#: ../../library/xml.etree.elementtree.rst:921 +#: ../../library/xml.etree.elementtree.rst:934 msgid "" "Resets an element. This function removes all subelements, clears all " "attributes, and sets the text and tail attributes to ``None``." msgstr "" -#: ../../library/xml.etree.elementtree.rst:927 +#: ../../library/xml.etree.elementtree.rst:940 msgid "Gets the element attribute named *key*." msgstr "" -#: ../../library/xml.etree.elementtree.rst:929 +#: ../../library/xml.etree.elementtree.rst:942 msgid "" "Returns the attribute value, or *default* if the attribute was not found." msgstr "" -#: ../../library/xml.etree.elementtree.rst:934 +#: ../../library/xml.etree.elementtree.rst:947 msgid "" "Returns the element attributes as a sequence of (name, value) pairs. The " "attributes are returned in an arbitrary order." msgstr "" -#: ../../library/xml.etree.elementtree.rst:940 +#: ../../library/xml.etree.elementtree.rst:953 msgid "" "Returns the elements attribute names as a list. The names are returned in " "an arbitrary order." msgstr "" -#: ../../library/xml.etree.elementtree.rst:946 +#: ../../library/xml.etree.elementtree.rst:959 msgid "Set the attribute *key* on the element to *value*." msgstr "" -#: ../../library/xml.etree.elementtree.rst:948 +#: ../../library/xml.etree.elementtree.rst:961 msgid "The following methods work on the element's children (subelements)." -msgstr "" +msgstr "Os métodos a seguir funcionam nos filhos do elemento (subelementos)." -#: ../../library/xml.etree.elementtree.rst:953 +#: ../../library/xml.etree.elementtree.rst:966 msgid "" "Adds the element *subelement* to the end of this element's internal list of " -"subelements. Raises :exc:`TypeError` if *subelement* is not an :class:" -"`Element`." +"subelements. Raises :exc:`TypeError` if *subelement* is not " +"an :class:`Element`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:960 +#: ../../library/xml.etree.elementtree.rst:973 msgid "" "Appends *subelements* from a sequence object with zero or more elements. " "Raises :exc:`TypeError` if a subelement is not an :class:`Element`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:968 +#: ../../library/xml.etree.elementtree.rst:981 msgid "" "Finds the first subelement matching *match*. *match* may be a tag name or " "a :ref:`path `. Returns an element instance or " @@ -1042,7 +1129,7 @@ msgid "" "expression into the given namespace." msgstr "" -#: ../../library/xml.etree.elementtree.rst:977 +#: ../../library/xml.etree.elementtree.rst:990 msgid "" "Finds all matching subelements, by tag name or :ref:`path `. Returns a list containing all matching elements in document " @@ -1051,7 +1138,7 @@ msgid "" "expression into the given namespace." msgstr "" -#: ../../library/xml.etree.elementtree.rst:986 +#: ../../library/xml.etree.elementtree.rst:999 msgid "" "Finds text for the first subelement matching *match*. *match* may be a tag " "name or a :ref:`path `. Returns the text content of the " @@ -1062,13 +1149,13 @@ msgid "" "into the given namespace." msgstr "" -#: ../../library/xml.etree.elementtree.rst:997 +#: ../../library/xml.etree.elementtree.rst:1010 msgid "" -"Inserts *subelement* at the given position in this element. Raises :exc:" -"`TypeError` if *subelement* is not an :class:`Element`." +"Inserts *subelement* at the given position in this element. " +"Raises :exc:`TypeError` if *subelement* is not an :class:`Element`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1003 +#: ../../library/xml.etree.elementtree.rst:1016 msgid "" "Creates a tree :term:`iterator` with the current element as the root. The " "iterator iterates over this element and all elements below it, in document " @@ -1077,7 +1164,7 @@ msgid "" "structure is modified during iteration, the result is undefined." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1014 +#: ../../library/xml.etree.elementtree.rst:1027 msgid "" "Finds all matching subelements, by tag name or :ref:`path `. Returns an iterable yielding all matching elements in document " @@ -1085,40 +1172,40 @@ msgid "" "name." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1025 +#: ../../library/xml.etree.elementtree.rst:1038 msgid "" "Creates a text iterator. The iterator loops over this element and all " "subelements, in document order, and returns all inner text." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1033 +#: ../../library/xml.etree.elementtree.rst:1046 msgid "" "Creates a new element object of the same type as this element. Do not call " "this method, use the :func:`SubElement` factory function instead." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1039 +#: ../../library/xml.etree.elementtree.rst:1052 msgid "" "Removes *subelement* from the element. Unlike the find\\* methods this " "method compares elements based on the instance identity, not on tag value or " "contents." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1043 +#: ../../library/xml.etree.elementtree.rst:1056 msgid "" ":class:`Element` objects also support the following sequence type methods " -"for working with subelements: :meth:`~object.__delitem__`, :meth:`~object." -"__getitem__`, :meth:`~object.__setitem__`, :meth:`~object.__len__`." +"for working with " +"subelements: :meth:`~object.__delitem__`, :meth:`~object.__getitem__`, :meth:`~object.__setitem__`, :meth:`~object.__len__`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1048 +#: ../../library/xml.etree.elementtree.rst:1061 msgid "" "Caution: Elements with no subelements will test as ``False``. This behavior " "will change in future versions. Use specific ``len(elem)`` or ``elem is " "None`` test instead. ::" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1060 +#: ../../library/xml.etree.elementtree.rst:1073 msgid "" "Prior to Python 3.8, the serialisation order of the XML attributes of " "elements was artificially made predictable by sorting the attributes by " @@ -1127,18 +1214,18 @@ msgid "" "attributes were originally parsed or created by user code." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1066 +#: ../../library/xml.etree.elementtree.rst:1079 msgid "" "In general, user code should try not to depend on a specific ordering of " "attributes, given that the `XML Information Set `_ explicitly excludes the attribute order from conveying " "information. Code should be prepared to deal with any ordering on input. In " "cases where deterministic XML output is required, e.g. for cryptographic " -"signing or test data sets, canonical serialisation is available with the :" -"func:`canonicalize` function." +"signing or test data sets, canonical serialisation is available with " +"the :func:`canonicalize` function." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1074 +#: ../../library/xml.etree.elementtree.rst:1087 msgid "" "In cases where canonical output is not applicable but a specific attribute " "order is still desirable on output, code should aim for creating the " @@ -1148,58 +1235,58 @@ msgid "" "independently from the Element creation::" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1094 +#: ../../library/xml.etree.elementtree.rst:1107 msgid "ElementTree Objects" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1099 +#: ../../library/xml.etree.elementtree.rst:1112 msgid "" "ElementTree wrapper class. This class represents an entire element " "hierarchy, and adds some extra support for serialization to and from " "standard XML." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1103 +#: ../../library/xml.etree.elementtree.rst:1116 msgid "" "*element* is the root element. The tree is initialized with the contents of " "the XML *file* if given." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1109 +#: ../../library/xml.etree.elementtree.rst:1122 msgid "" "Replaces the root element for this tree. This discards the current contents " "of the tree, and replaces it with the given element. Use with care. " "*element* is an element instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1116 +#: ../../library/xml.etree.elementtree.rst:1129 msgid "Same as :meth:`Element.find`, starting at the root of the tree." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1121 +#: ../../library/xml.etree.elementtree.rst:1134 msgid "Same as :meth:`Element.findall`, starting at the root of the tree." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1126 +#: ../../library/xml.etree.elementtree.rst:1139 msgid "Same as :meth:`Element.findtext`, starting at the root of the tree." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1131 +#: ../../library/xml.etree.elementtree.rst:1144 msgid "Returns the root element for this tree." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1136 +#: ../../library/xml.etree.elementtree.rst:1149 msgid "" "Creates and returns a tree iterator for the root element. The iterator " "loops over all elements in this tree, in section order. *tag* is the tag to " "look for (default is to return all elements)." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1143 +#: ../../library/xml.etree.elementtree.rst:1156 msgid "Same as :meth:`Element.iterfind`, starting at the root of the tree." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1150 +#: ../../library/xml.etree.elementtree.rst:1163 msgid "" "Loads an external XML section into this element tree. *source* is a file " "name or :term:`file object`. *parser* is an optional parser instance. If " @@ -1207,10 +1294,10 @@ msgid "" "section root element." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1160 +#: ../../library/xml.etree.elementtree.rst:1173 msgid "" -"Writes the element tree to a file, as XML. *file* is a file name, or a :" -"term:`file object` opened for writing. *encoding* [1]_ is the output " +"Writes the element tree to a file, as XML. *file* is a file name, or " +"a :term:`file object` opened for writing. *encoding* [1]_ is the output " "encoding (default is US-ASCII). *xml_declaration* controls if an XML " "declaration should be added to the file. Use ``False`` for never, ``True`` " "for always, ``None`` for only if not US-ASCII or UTF-8 or Unicode (default " @@ -1222,7 +1309,7 @@ msgid "" "are emitted as a pair of start/end tags." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1174 +#: ../../library/xml.etree.elementtree.rst:1187 msgid "" "The output is either a string (:class:`str`) or binary (:class:`bytes`). " "This is controlled by the *encoding* argument. If *encoding* is " @@ -1232,41 +1319,41 @@ msgid "" "vice versa." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1184 +#: ../../library/xml.etree.elementtree.rst:1197 msgid "" "The :meth:`write` method now preserves the attribute order specified by the " "user." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1189 +#: ../../library/xml.etree.elementtree.rst:1202 msgid "This is the XML file that is going to be manipulated::" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1201 +#: ../../library/xml.etree.elementtree.rst:1214 msgid "" "Example of changing the attribute \"target\" of every link in first " "paragraph::" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1220 +#: ../../library/xml.etree.elementtree.rst:1233 msgid "QName Objects" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1225 +#: ../../library/xml.etree.elementtree.rst:1238 msgid "" "QName wrapper. This can be used to wrap a QName attribute value, in order " "to get proper namespace handling on output. *text_or_uri* is a string " "containing the QName value, in the form {uri}local, or, if the tag argument " "is given, the URI part of a QName. If *tag* is given, the first argument is " -"interpreted as a URI, and this argument is interpreted as a local name. :" -"class:`QName` instances are opaque." +"interpreted as a URI, and this argument is interpreted as a local " +"name. :class:`QName` instances are opaque." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1237 +#: ../../library/xml.etree.elementtree.rst:1250 msgid "TreeBuilder Objects" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1243 +#: ../../library/xml.etree.elementtree.rst:1256 msgid "" "Generic element structure builder. This builder converts a sequence of " "start, data, end, comment and pi method calls to a well-formed element " @@ -1274,14 +1361,14 @@ msgid "" "custom XML parser, or a parser for some other XML-like format." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1248 +#: ../../library/xml.etree.elementtree.rst:1261 msgid "" "*element_factory*, when given, must be a callable accepting two positional " "arguments: a tag and a dict of attributes. It is expected to return a new " "element instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1252 +#: ../../library/xml.etree.elementtree.rst:1265 msgid "" "The *comment_factory* and *pi_factory* functions, when given, should behave " "like the :func:`Comment` and :func:`ProcessingInstruction` functions to " @@ -1291,56 +1378,56 @@ msgid "" "element (but not outside of it)." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1261 +#: ../../library/xml.etree.elementtree.rst:1274 msgid "" "Flushes the builder buffers, and returns the toplevel document element. " "Returns an :class:`Element` instance." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1267 +#: ../../library/xml.etree.elementtree.rst:1280 msgid "" "Adds text to the current element. *data* is a string. This should be " "either a bytestring, or a Unicode string." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1273 +#: ../../library/xml.etree.elementtree.rst:1286 msgid "" "Closes the current element. *tag* is the element name. Returns the closed " "element." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1279 +#: ../../library/xml.etree.elementtree.rst:1292 msgid "" "Opens a new element. *tag* is the element name. *attrs* is a dictionary " "containing element attributes. Returns the opened element." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1285 +#: ../../library/xml.etree.elementtree.rst:1298 msgid "" "Creates a comment with the given *text*. If ``insert_comments`` is true, " "this will also add it to the tree." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1293 +#: ../../library/xml.etree.elementtree.rst:1306 msgid "" -"Creates a comment with the given *target* name and *text*. If " +"Creates a process instruction with the given *target* name and *text*. If " "``insert_pis`` is true, this will also add it to the tree." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1299 +#: ../../library/xml.etree.elementtree.rst:1312 msgid "" "In addition, a custom :class:`TreeBuilder` object can provide the following " "methods:" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1304 +#: ../../library/xml.etree.elementtree.rst:1317 msgid "" "Handles a doctype declaration. *name* is the doctype name. *pubid* is the " "public identifier. *system* is the system identifier. This method does not " "exist on the default :class:`TreeBuilder` class." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1312 +#: ../../library/xml.etree.elementtree.rst:1325 msgid "" "Is called whenever the parser encounters a new namespace declaration, before " "the ``start()`` callback for the opening element that defines it. *prefix* " @@ -1348,14 +1435,14 @@ msgid "" "otherwise. *uri* is the namespace URI." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1321 +#: ../../library/xml.etree.elementtree.rst:1334 msgid "" "Is called after the ``end()`` callback of an element that declared a " "namespace prefix mapping, with the name of the *prefix* that went out of " "scope." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1333 +#: ../../library/xml.etree.elementtree.rst:1346 msgid "" "A `C14N 2.0 `_ writer. Arguments are the " "same as for the :func:`canonicalize` function. This class does not build a " @@ -1363,39 +1450,60 @@ msgid "" "using the *write* function." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1344 +#: ../../library/xml.etree.elementtree.rst:1357 msgid "XMLParser Objects" msgstr "Objetos XMLParser" -#: ../../library/xml.etree.elementtree.rst:1349 +#: ../../library/xml.etree.elementtree.rst:1362 msgid "" -"This class is the low-level building block of the module. It uses :mod:`xml." -"parsers.expat` for efficient, event-based parsing of XML. It can be fed XML " -"data incrementally with the :meth:`feed` method, and parsing events are " -"translated to a push API - by invoking callbacks on the *target* object. If " -"*target* is omitted, the standard :class:`TreeBuilder` is used. If " -"*encoding* [1]_ is given, the value overrides the encoding specified in the " -"XML file." +"This class is the low-level building block of the module. It " +"uses :mod:`xml.parsers.expat` for efficient, event-based parsing of XML. It " +"can be fed XML data incrementally with the :meth:`feed` method, and parsing " +"events are translated to a push API - by invoking callbacks on the *target* " +"object. If *target* is omitted, the standard :class:`TreeBuilder` is used. " +"If *encoding* [1]_ is given, the value overrides the encoding specified in " +"the XML file." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1357 +#: ../../library/xml.etree.elementtree.rst:1370 msgid "" "Parameters are now :ref:`keyword-only `. The *html* " "argument no longer supported." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1364 +#: ../../library/xml.etree.elementtree.rst:1377 msgid "" "Finishes feeding data to the parser. Returns the result of calling the " "``close()`` method of the *target* passed during construction; by default, " "this is the toplevel document element." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1371 +#: ../../library/xml.etree.elementtree.rst:1384 msgid "Feeds data to the parser. *data* is encoded data." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1373 +#: ../../library/xml.etree.elementtree.rst:1389 +#: ../../library/xml.etree.elementtree.rst:1467 +msgid "" +"Triggers parsing of any previously fed unparsed data, which can be used to " +"ensure more immediate feedback, in particular with Expat >=2.6.0. The " +"implementation of :meth:`flush` temporarily disables reparse deferral with " +"Expat (if currently enabled) and triggers a reparse. Disabling reparse " +"deferral has security consequences; please " +"see :meth:`xml.parsers.expat.xmlparser.SetReparseDeferralEnabled` for " +"details." +msgstr "" + +#: ../../library/xml.etree.elementtree.rst:1396 +#: ../../library/xml.etree.elementtree.rst:1474 +msgid "" +"Note that :meth:`flush` has been backported to some prior releases of " +"CPython as a security fix. Check for availability of :meth:`flush` " +"using :func:`hasattr` if used in code running across a variety of Python " +"versions." +msgstr "" + +#: ../../library/xml.etree.elementtree.rst:1404 msgid "" ":meth:`XMLParser.feed` calls *target*\\'s ``start(tag, attrs_dict)`` method " "for each opening tag, its ``end(tag)`` method for each closing tag, and data " @@ -1406,11 +1514,11 @@ msgid "" "of an XML file::" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1417 +#: ../../library/xml.etree.elementtree.rst:1448 msgid "XMLPullParser Objects" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1421 +#: ../../library/xml.etree.elementtree.rst:1452 msgid "" "A pull parser suitable for non-blocking applications. Its input-side API is " "similar to that of :class:`XMLParser`, but instead of pushing calls to a " @@ -1422,19 +1530,19 @@ msgid "" "If *events* is omitted, only ``\"end\"`` events are reported." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1432 +#: ../../library/xml.etree.elementtree.rst:1463 msgid "Feed the given bytes data to the parser." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1436 +#: ../../library/xml.etree.elementtree.rst:1483 msgid "" -"Signal the parser that the data stream is terminated. Unlike :meth:" -"`XMLParser.close`, this method always returns :const:`None`. Any events not " -"yet retrieved when the parser is closed can still be read with :meth:" -"`read_events`." +"Signal the parser that the data stream is terminated. " +"Unlike :meth:`XMLParser.close`, this method always returns :const:`None`. " +"Any events not yet retrieved when the parser is closed can still be read " +"with :meth:`read_events`." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1443 +#: ../../library/xml.etree.elementtree.rst:1490 msgid "" "Return an iterator over the events which have been encountered in the data " "fed to the parser. The iterator yields ``(event, elem)`` pairs, where " @@ -1443,25 +1551,25 @@ msgid "" "follows." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1449 +#: ../../library/xml.etree.elementtree.rst:1496 msgid "``start``, ``end``: the current Element." -msgstr "" +msgstr "``start``, ``end``: O Element atual." -#: ../../library/xml.etree.elementtree.rst:1450 +#: ../../library/xml.etree.elementtree.rst:1497 msgid "``comment``, ``pi``: the current comment / processing instruction" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1451 +#: ../../library/xml.etree.elementtree.rst:1498 msgid "" "``start-ns``: a tuple ``(prefix, uri)`` naming the declared namespace " "mapping." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1453 +#: ../../library/xml.etree.elementtree.rst:1500 msgid "``end-ns``: :const:`None` (this may change in a future version)" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1455 +#: ../../library/xml.etree.elementtree.rst:1502 msgid "" "Events provided in a previous call to :meth:`read_events` will not be " "yielded again. Events are consumed from the internal queue only when they " @@ -1470,7 +1578,7 @@ msgid "" "results." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1463 +#: ../../library/xml.etree.elementtree.rst:1510 msgid "" ":class:`XMLPullParser` only guarantees that it has seen the \">\" character " "of a starting tag when it emits a \"start\" event, so the attributes are " @@ -1479,11 +1587,11 @@ msgid "" "be present." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1478 +#: ../../library/xml.etree.elementtree.rst:1525 msgid "Exceptions" msgstr "Exceções" -#: ../../library/xml.etree.elementtree.rst:1482 +#: ../../library/xml.etree.elementtree.rst:1529 msgid "" "XML parse error, raised by the various parsing methods in this module when " "parsing fails. The string representation of an instance of this exception " @@ -1491,22 +1599,22 @@ msgid "" "following attributes available:" msgstr "" -#: ../../library/xml.etree.elementtree.rst:1489 +#: ../../library/xml.etree.elementtree.rst:1536 msgid "" -"A numeric error code from the expat parser. See the documentation of :mod:" -"`xml.parsers.expat` for the list of error codes and their meanings." +"A numeric error code from the expat parser. See the documentation " +"of :mod:`xml.parsers.expat` for the list of error codes and their meanings." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1494 +#: ../../library/xml.etree.elementtree.rst:1541 msgid "" "A tuple of *line*, *column* numbers, specifying where the error occurred." msgstr "" -#: ../../library/xml.etree.elementtree.rst:1497 +#: ../../library/xml.etree.elementtree.rst:1544 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/xml.etree.elementtree.rst:1498 +#: ../../library/xml.etree.elementtree.rst:1545 msgid "" "The encoding string included in XML output should conform to the appropriate " "standards. For example, \"UTF-8\" is valid, but \"UTF8\" is not. See " diff --git a/library/xml.po b/library/xml.po index 7c7e50521..dded5d0d8 100644 --- a/library/xml.po +++ b/library/xml.po @@ -1,50 +1,52 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:50+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/xml.rst:4 msgid "XML Processing Modules" -msgstr "" +msgstr "Módulos de Processamento de XML" #: ../../library/xml.rst:12 msgid "**Source code:** :source:`Lib/xml/`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/xml/`" #: ../../library/xml.rst:16 msgid "" "Python's interfaces for processing XML are grouped in the ``xml`` package." msgstr "" +"As interfaces do Python para processar XML estão agrupadas no pacote ``xml``." #: ../../library/xml.rst:20 msgid "" "The XML modules are not secure against erroneous or maliciously constructed " -"data. If you need to parse untrusted or unauthenticated data see the :ref:" -"`xml-vulnerabilities` and :ref:`defusedxml-package` sections." +"data. If you need to parse untrusted or unauthenticated data see " +"the :ref:`xml-vulnerabilities` and :ref:`defusedxml-package` sections." msgstr "" +"Os módulos XML não são seguros contra dados errôneos ou maliciosamente " +"construídos. Se você precisa analisar dados não confiáveis ou não " +"autenticados, consulte as seções :ref:`xml-vulnerabilities` " +"e :ref:`defusedxml-package`." #: ../../library/xml.rst:25 msgid "" @@ -53,46 +55,55 @@ msgid "" "is included with Python, so the :mod:`xml.parsers.expat` module will always " "be available." msgstr "" +"É importante observar que os módulos no pacote :mod:`xml` exigem que está " +"disponível pelo menos um analisador sintático XML compatível com SAX. O " +"analisador sintático Expat está incluído no Python, então o " +"módulo :mod:`xml.parsers.expat` estará sempre disponível." #: ../../library/xml.rst:30 msgid "" "The documentation for the :mod:`xml.dom` and :mod:`xml.sax` packages are the " "definition of the Python bindings for the DOM and SAX interfaces." msgstr "" +"A documentação para os pacotes :mod:`xml.dom` e :mod:`xml.sax` são a " +"definição das ligações Python para as interfaces DOM e SAX." #: ../../library/xml.rst:33 msgid "The XML handling submodules are:" -msgstr "" +msgstr "Os submódulos de manipulação XML são:" #: ../../library/xml.rst:35 msgid "" ":mod:`xml.etree.ElementTree`: the ElementTree API, a simple and lightweight " "XML processor" msgstr "" +":mod:`xml.etree.ElementTree`: a API de ElementTree, um processador XML " +"simples e leve" #: ../../library/xml.rst:40 msgid ":mod:`xml.dom`: the DOM API definition" -msgstr "" +msgstr ":mod:`xml.dom`: a definição da API de DOM" #: ../../library/xml.rst:41 msgid ":mod:`xml.dom.minidom`: a minimal DOM implementation" -msgstr "" +msgstr ":mod:`xml.dom.minidom`: uma implementação mínima do DOM" #: ../../library/xml.rst:42 msgid ":mod:`xml.dom.pulldom`: support for building partial DOM trees" msgstr "" +"suporte para construir árvores parciais de DOM no :mod:`xml.dom.pulldom`" #: ../../library/xml.rst:46 msgid ":mod:`xml.sax`: SAX2 base classes and convenience functions" -msgstr "" +msgstr ":mod:`xml.sax`: Classe base SAX2 e funções de conveniência" #: ../../library/xml.rst:47 msgid ":mod:`xml.parsers.expat`: the Expat parser binding" -msgstr "" +msgstr ":mod:`xml.parsers.expat`: a ligação do analisador sintático Expat" #: ../../library/xml.rst:53 msgid "XML vulnerabilities" -msgstr "" +msgstr "Vulnerabilidades em XML" #: ../../library/xml.rst:55 msgid "" @@ -101,12 +112,18 @@ msgid "" "attacks, access local files, generate network connections to other machines, " "or circumvent firewalls." msgstr "" +"Os módulos de processamento XML não são seguros contra dados maliciosamente " +"construídos. Um atacante pode abusar dos recursos XML para realizar ataques " +"de negação de serviço, acessar arquivos locais, gerar conexões de rede com " +"outras máquinas ou contornar firewalls." #: ../../library/xml.rst:60 msgid "" "The following table gives an overview of the known attacks and whether the " "various modules are vulnerable to them." msgstr "" +"A tabela a seguir fornece uma visão geral dos ataques conhecidos e se os " +"vários módulos são vulneráveis a eles." #: ../../library/xml.rst:64 msgid "kind" @@ -114,15 +131,15 @@ msgstr "tipo" #: ../../library/xml.rst:64 msgid "sax" -msgstr "" +msgstr "sax" #: ../../library/xml.rst:64 msgid "etree" -msgstr "" +msgstr "etree" #: ../../library/xml.rst:64 msgid "minidom" -msgstr "" +msgstr "minidom" #: ../../library/xml.rst:64 msgid "pulldom" @@ -134,87 +151,117 @@ msgstr "xmlrpc" #: ../../library/xml.rst:66 msgid "billion laughs" -msgstr "" +msgstr "billion laughs" #: ../../library/xml.rst:66 ../../library/xml.rst:67 msgid "**Vulnerable** (1)" -msgstr "" +msgstr "**Vulnerável** (1)" #: ../../library/xml.rst:67 msgid "quadratic blowup" -msgstr "" +msgstr "quadratic blowup" -#: ../../library/xml.rst:68 ../../library/xml.rst:103 +#: ../../library/xml.rst:68 ../../library/xml.rst:109 msgid "external entity expansion" -msgstr "" +msgstr "external entity expansion" #: ../../library/xml.rst:68 ../../library/xml.rst:69 msgid "Safe (5)" -msgstr "" +msgstr "Seguro (5)" #: ../../library/xml.rst:68 msgid "Safe (2)" -msgstr "" +msgstr "Seguro (2)" #: ../../library/xml.rst:68 msgid "Safe (3)" -msgstr "" +msgstr "Seguro (3)" #: ../../library/xml.rst:68 msgid "Safe (4)" -msgstr "" +msgstr "Seguro (4)" -#: ../../library/xml.rst:69 ../../library/xml.rst:108 +#: ../../library/xml.rst:69 ../../library/xml.rst:114 msgid "`DTD`_ retrieval" -msgstr "" +msgstr "`DTD`_ retrieval" #: ../../library/xml.rst:69 ../../library/xml.rst:70 msgid "Safe" -msgstr "" +msgstr "Seguro" -#: ../../library/xml.rst:70 ../../library/xml.rst:115 +#: ../../library/xml.rst:70 ../../library/xml.rst:121 msgid "decompression bomb" msgstr "decompression bomb" #: ../../library/xml.rst:70 msgid "**Vulnerable**" -msgstr "" +msgstr "**Vulnerável**" -#: ../../library/xml.rst:73 +#: ../../library/xml.rst:71 ../../library/xml.rst:128 +msgid "large tokens" +msgstr "large tokens" + +#: ../../library/xml.rst:71 +msgid "**Vulnerable** (6)" +msgstr "**Vulnerável** (6)" + +#: ../../library/xml.rst:74 msgid "" "Expat 2.4.1 and newer is not vulnerable to the \"billion laughs\" and " "\"quadratic blowup\" vulnerabilities. Items still listed as vulnerable due " -"to potential reliance on system-provided libraries. Check :data:`pyexpat." -"EXPAT_VERSION`." +"to potential reliance on system-provided libraries. Check :const:`!" +"pyexpat.EXPAT_VERSION`." msgstr "" +"Expat 2.4.1 e versões mais recentes não são vulneráveis às vulnerabilidades " +"\"billion laughs\" e \"quadratic blowup\". Itens ainda listados como " +"vulneráveis devido à possível dependência de bibliotecas fornecidas pelo " +"sistema. Verifique :const:`!pyexpat.EXPAT_VERSION`." -#: ../../library/xml.rst:77 +#: ../../library/xml.rst:78 msgid "" -":mod:`xml.etree.ElementTree` doesn't expand external entities and raises a :" -"exc:`ParserError` when an entity occurs." +":mod:`xml.etree.ElementTree` doesn't expand external entities and raises " +"a :exc:`~xml.etree.ElementTree.ParseError` when an entity occurs." msgstr "" +":mod:`xml.etree.ElementTree` não expande entidades externas e levanta " +"um :exc:`~xml.etree.ElementTree.ParseError` quando ocorre uma entidade." -#: ../../library/xml.rst:79 +#: ../../library/xml.rst:80 msgid "" ":mod:`xml.dom.minidom` doesn't expand external entities and simply returns " "the unexpanded entity verbatim." msgstr "" - -#: ../../library/xml.rst:81 -msgid ":mod:`xmlrpclib` doesn't expand external entities and omits them." -msgstr "" +":mod:`xml.dom.minidom` não expande entidades externas e simplesmente retorna " +"a entidade não expandida literalmente." #: ../../library/xml.rst:82 +msgid ":mod:`xmlrpc.client` doesn't expand external entities and omits them." +msgstr ":mod:`xmlrpc.client` não expande entidades externas e as omite." + +#: ../../library/xml.rst:83 msgid "" "Since Python 3.7.1, external general entities are no longer processed by " "default." msgstr "" +"Desde o Python 3.7.1, entidades gerais externas não são mais processadas por " +"padrão." -#: ../../library/xml.rst:91 -msgid "billion laughs / exponential entity expansion" +#: ../../library/xml.rst:85 +msgid "" +"Expat 2.6.0 and newer is not vulnerable to denial of service through " +"quadratic runtime caused by parsing large tokens. Items still listed as " +"vulnerable due to potential reliance on system-provided libraries. " +"Check :const:`!pyexpat.EXPAT_VERSION`." msgstr "" +"Expat 2.6.0 e mais recente não é vulnerável a negação de serviço através de " +"tempo de execução quadrático causado pela análise de tokens grandes. Itens " +"ainda listados como vulneráveis devido à possível dependência de bibliotecas " +"fornecidas pelo sistema. Verifique :const:`!pyexpat.EXPAT_VERSION`." -#: ../../library/xml.rst:87 +#: ../../library/xml.rst:97 +msgid "billion laughs / exponential entity expansion" +msgstr "billion laughs / exponential entity expansion" + +#: ../../library/xml.rst:93 msgid "" "The `Billion Laughs`_ attack -- also known as exponential entity expansion " "-- uses multiple levels of nested entities. Each entity refers to another " @@ -222,12 +269,19 @@ msgid "" "string. The exponential expansion results in several gigabytes of text and " "consumes lots of memory and CPU time." msgstr "" +"O ataque `Billion Laughs`_ (bilhões de risadas, em uma tradução livre) - " +"também conhecido como \"exponential entity expansion\" (expansão exponencial " +"de entidades, em uma tradução livre) - usa vários níveis de entidades " +"aninhadas. Cada entidade se refere a outra entidade várias vezes, e a " +"definição final da entidade contém uma pequena string. A expansão " +"exponencial resulta em vários gigabytes de texto e consome muita memória e " +"tempo de CPU." -#: ../../library/xml.rst:98 +#: ../../library/xml.rst:104 msgid "quadratic blowup entity expansion" -msgstr "" +msgstr "quadratic blowup entity expansion" -#: ../../library/xml.rst:94 +#: ../../library/xml.rst:100 msgid "" "A quadratic blowup attack is similar to a `Billion Laughs`_ attack; it " "abuses entity expansion, too. Instead of nested entities it repeats one " @@ -235,40 +289,74 @@ msgid "" "isn't as efficient as the exponential case but it avoids triggering parser " "countermeasures that forbid deeply nested entities." msgstr "" +"Um ataque \"quadratic blowup\" (explosão quadrática, em uma tradução livre) " +"português) é semelhante a um ataque `Billion Laughs`_; ele abusa da expansão " +"de entidades também. Em vez de entidades aninhadas, ele repete uma grande " +"entidade com alguns milhares de caracteres repetidamente. O ataque não é tão " +"eficiente quanto o caso exponencial, mas evita acionar contramedidas do " +"analisador sintático que proíbem entidades profundamente aninhadas." -#: ../../library/xml.rst:101 +#: ../../library/xml.rst:107 msgid "" "Entity declarations can contain more than just text for replacement. They " "can also point to external resources or local files. The XML parser accesses " "the resource and embeds the content into the XML document." msgstr "" +"Declarações de entidade podem conter mais do que apenas texto para " +"substituição. Elas também podem apontar para recursos externos ou arquivos " +"locais. O analisador sintático XML acessa o recurso e incorpora o conteúdo " +"no documento XML." -#: ../../library/xml.rst:106 +#: ../../library/xml.rst:112 msgid "" "Some XML libraries like Python's :mod:`xml.dom.pulldom` retrieve document " "type definitions from remote or local locations. The feature has similar " "implications as the external entity expansion issue." msgstr "" +"Algumas bibliotecas XML, como a :mod:`xml.dom.pulldom` do Python, recuperam " +"definições de tipo de documento de locais remotos ou locais. O recurso tem " +"implicações semelhantes ao problema de expansão de entidade externa." -#: ../../library/xml.rst:111 +#: ../../library/xml.rst:117 msgid "" "Decompression bombs (aka `ZIP bomb`_) apply to all XML libraries that can " "parse compressed XML streams such as gzipped HTTP streams or LZMA-compressed " "files. For an attacker it can reduce the amount of transmitted data by three " "magnitudes or more." msgstr "" +"\"Bombas de descompressão\" em uma tradução livre. Também conhecidas como " +"`ZIP bomb`_, se aplicam a todas as bibliotecas XML que podem analisar fluxos " +"XML comprimidos, como fluxos de HTTP compactados com gzip ou arquivos " +"comprimidos com LZMA. Para um atacante, isso pode reduzir a quantidade de " +"dados transmitidos em três magnitudes ou mais." -#: ../../library/xml.rst:117 +#: ../../library/xml.rst:124 +msgid "" +"Expat needs to re-parse unfinished tokens; without the protection introduced " +"in Expat 2.6.0, this can lead to quadratic runtime that can be used to cause " +"denial of service in the application parsing XML. The issue is known as " +"`CVE-2023-52425 `_." +msgstr "" +"Expat precisa analisar novamente os símbolos não finalizados; sem a proteção " +"introduzida no Expat 2.6.0, isso pode levar a um tempo de execução " +"quadrático que pode ser usado para causar negação de serviço na aplicação ao " +"analisar XML. O problema é conhecido como `CVE-2023-52425 `_." + +#: ../../library/xml.rst:130 msgid "" "The documentation for `defusedxml`_ on PyPI has further information about " "all known attack vectors with examples and references." msgstr "" +"A documentação para `defusedxml`_ no PyPI tem mais informações sobre todos " +"os vetores de ataque conhecidos, com exemplos e referências." -#: ../../library/xml.rst:123 -msgid "The :mod:`defusedxml` Package" -msgstr "" +#: ../../library/xml.rst:136 +msgid "The :mod:`!defusedxml` Package" +msgstr "O Pacote :mod:`!defusedxml`" -#: ../../library/xml.rst:125 +#: ../../library/xml.rst:138 msgid "" "`defusedxml`_ is a pure Python package with modified subclasses of all " "stdlib XML parsers that prevent any potentially malicious operation. Use of " @@ -276,3 +364,9 @@ msgid "" "data. The package also ships with example exploits and extended " "documentation on more XML exploits such as XPath injection." msgstr "" +"`defusedxml`_ é um pacote Python puro com subcláusulas modificadas de todos " +"os analisadores sintáticos XML da biblioteca padrão que impedem qualquer " +"operação potencialmente maliciosa. O uso deste pacote é recomendado para " +"qualquer código de servidor que analise dados XML não confiáveis. O pacote " +"também inclui exemplos de explorações e documentação estendida sobre mais " +"explorações XML, como injeção de XPath." diff --git a/library/xml.sax.handler.po b/library/xml.sax.handler.po index cd4662db8..667b19ec0 100644 --- a/library/xml.sax.handler.po +++ b/library/xml.sax.handler.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Hemílio Lauro , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Hemílio Lauro , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -88,7 +87,7 @@ msgstr "" #: ../../library/xml.sax.handler.rst:62 msgid "value: ``\"http://xml.org/sax/features/namespaces\"``" -msgstr "" +msgstr "valor: ``\"http://xml.org/sax/features/namespaces\"``" #: ../../library/xml.sax.handler.rst:63 msgid "true: Perform Namespace processing." @@ -109,7 +108,7 @@ msgstr "" #: ../../library/xml.sax.handler.rst:71 msgid "value: ``\"http://xml.org/sax/features/namespace-prefixes\"``" -msgstr "" +msgstr "valor: ``\"http://xml.org/sax/features/namespace-prefixes\"``" #: ../../library/xml.sax.handler.rst:73 msgid "" @@ -125,7 +124,7 @@ msgstr "" #: ../../library/xml.sax.handler.rst:81 msgid "value: ``\"http://xml.org/sax/features/string-interning\"``" -msgstr "" +msgstr "valor: ``\"http://xml.org/sax/features/string-interning\"``" #: ../../library/xml.sax.handler.rst:83 msgid "" @@ -140,7 +139,7 @@ msgstr "" #: ../../library/xml.sax.handler.rst:90 msgid "value: ``\"http://xml.org/sax/features/validation\"``" -msgstr "" +msgstr "valor: ``\"http://xml.org/sax/features/validation\"``" #: ../../library/xml.sax.handler.rst:92 msgid "" @@ -154,7 +153,7 @@ msgstr "" #: ../../library/xml.sax.handler.rst:99 msgid "value: ``\"http://xml.org/sax/features/external-general-entities\"``" -msgstr "" +msgstr "valor: ``\"http://xml.org/sax/features/external-general-entities\"``" #: ../../library/xml.sax.handler.rst:100 msgid "true: Include all external general (text) entities." @@ -166,7 +165,7 @@ msgstr "" #: ../../library/xml.sax.handler.rst:107 msgid "value: ``\"http://xml.org/sax/features/external-parameter-entities\"``" -msgstr "" +msgstr "valor: ``\"http://xml.org/sax/features/external-parameter-entities\"``" #: ../../library/xml.sax.handler.rst:109 msgid "" @@ -182,11 +181,11 @@ msgstr "" #: ../../library/xml.sax.handler.rst:117 msgid "List of all features." -msgstr "" +msgstr "Lista de todos os recursos." #: ../../library/xml.sax.handler.rst:122 msgid "value: ``\"http://xml.org/sax/properties/lexical-handler\"``" -msgstr "" +msgstr "valor: ``\"http://xml.org/sax/properties/lexical-handler\"``" #: ../../library/xml.sax.handler.rst:123 msgid "data type: xml.sax.handler.LexicalHandler (not supported in Python 2)" @@ -201,11 +200,11 @@ msgstr "" #: ../../library/xml.sax.handler.rst:126 ../../library/xml.sax.handler.rst:135 msgid "access: read/write" -msgstr "" +msgstr "acesso: leitura/gravação" #: ../../library/xml.sax.handler.rst:131 msgid "value: ``\"http://xml.org/sax/properties/declaration-handler\"``" -msgstr "" +msgstr "valor: ``\"http://xml.org/sax/properties/declaration-handler\"``" #: ../../library/xml.sax.handler.rst:132 msgid "data type: xml.sax.sax2lib.DeclHandler (not supported in Python 2)" @@ -219,7 +218,7 @@ msgstr "" #: ../../library/xml.sax.handler.rst:140 msgid "value: ``\"http://xml.org/sax/properties/dom-node\"``" -msgstr "" +msgstr "valor: ``\"http://xml.org/sax/properties/dom-node\"``" #: ../../library/xml.sax.handler.rst:141 msgid "data type: org.w3c.dom.Node (not supported in Python 2)" @@ -233,7 +232,7 @@ msgstr "" #: ../../library/xml.sax.handler.rst:149 msgid "value: ``\"http://xml.org/sax/properties/xml-string\"``" -msgstr "" +msgstr "valor: ``\"http://xml.org/sax/properties/xml-string\"``" #: ../../library/xml.sax.handler.rst:150 msgid "data type: Bytes" @@ -247,7 +246,7 @@ msgstr "" #: ../../library/xml.sax.handler.rst:153 msgid "access: read-only" -msgstr "" +msgstr "acesso: somente leitura" #: ../../library/xml.sax.handler.rst:158 msgid "List of all known property names." @@ -341,11 +340,11 @@ msgstr "" #: ../../library/xml.sax.handler.rst:228 msgid "" "Note that :meth:`startPrefixMapping` and :meth:`endPrefixMapping` events are " -"not guaranteed to be properly nested relative to each-other: all :meth:" -"`startPrefixMapping` events will occur before the corresponding :meth:" -"`startElement` event, and all :meth:`endPrefixMapping` events will occur " -"after the corresponding :meth:`endElement` event, but their order is not " -"guaranteed." +"not guaranteed to be properly nested relative to each-other: " +"all :meth:`startPrefixMapping` events will occur before the " +"corresponding :meth:`startElement` event, and all :meth:`endPrefixMapping` " +"events will occur after the corresponding :meth:`endElement` event, but " +"their order is not guaranteed." msgstr "" #: ../../library/xml.sax.handler.rst:238 @@ -355,8 +354,8 @@ msgstr "" #: ../../library/xml.sax.handler.rst:240 msgid "" "See :meth:`startPrefixMapping` for details. This event will always occur " -"after the corresponding :meth:`endElement` event, but the order of :meth:" -"`endPrefixMapping` events is not otherwise guaranteed." +"after the corresponding :meth:`endElement` event, but the order " +"of :meth:`endPrefixMapping` events is not otherwise guaranteed." msgstr "" #: ../../library/xml.sax.handler.rst:247 @@ -366,12 +365,12 @@ msgstr "" #: ../../library/xml.sax.handler.rst:249 msgid "" "The *name* parameter contains the raw XML 1.0 name of the element type as a " -"string and the *attrs* parameter holds an object of the :class:`~xml.sax." -"xmlreader.Attributes` interface (see :ref:`attributes-objects`) containing " -"the attributes of the element. The object passed as *attrs* may be re-used " -"by the parser; holding on to a reference to it is not a reliable way to keep " -"a copy of the attributes. To keep a copy of the attributes, use the :meth:" -"`copy` method of the *attrs* object." +"string and the *attrs* parameter holds an object of " +"the :class:`~xml.sax.xmlreader.Attributes` interface (see :ref:`attributes-" +"objects`) containing the attributes of the element. The object passed as " +"*attrs* may be re-used by the parser; holding on to a reference to it is not " +"a reliable way to keep a copy of the attributes. To keep a copy of the " +"attributes, use the :meth:`copy` method of the *attrs* object." msgstr "" #: ../../library/xml.sax.handler.rst:261 @@ -392,9 +391,9 @@ msgstr "" msgid "" "The *name* parameter contains the name of the element type as a ``(uri, " "localname)`` tuple, the *qname* parameter contains the raw XML 1.0 name used " -"in the source document, and the *attrs* parameter holds an instance of the :" -"class:`~xml.sax.xmlreader.AttributesNS` interface (see :ref:`attributes-ns-" -"objects`) containing the attributes of the element. If no namespace is " +"in the source document, and the *attrs* parameter holds an instance of " +"the :class:`~xml.sax.xmlreader.AttributesNS` interface (see :ref:`attributes-" +"ns-objects`) containing the attributes of the element. If no namespace is " "associated with the element, the *uri* component of *name* will be " "``None``. The object passed as *attrs* may be re-used by the parser; " "holding on to a reference to it is not a reliable way to keep a copy of the " @@ -417,6 +416,8 @@ msgid "" "The *name* parameter contains the name of the element type, just as with " "the :meth:`startElementNS` method, likewise the *qname* parameter." msgstr "" +"O parâmetro *name* contém o nome do tipo de elemento, assim como no " +"método :meth:`startElementNS`, da mesma forma o parâmetro *qname*." #: ../../library/xml.sax.handler.rst:296 msgid "Receive notification of character data." @@ -504,7 +505,7 @@ msgstr "" #: ../../library/xml.sax.handler.rst:359 msgid ":class:`DTDHandler` instances provide the following methods:" -msgstr "" +msgstr "As instâncias :class:`DTDHandler` fornecem os seguintes métodos:" #: ../../library/xml.sax.handler.rst:364 msgid "Handle a notation declaration event." @@ -537,9 +538,9 @@ msgid "" "your :class:`~xml.sax.xmlreader.XMLReader`, the parser will call the methods " "in your object to report all warnings and errors. There are three levels of " "errors available: warnings, (possibly) recoverable errors, and unrecoverable " -"errors. All methods take a :exc:`SAXParseException` as the only parameter. " -"Errors and warnings may be converted to an exception by raising the passed-" -"in exception object." +"errors. All methods take a :exc:`~xml.sax.SAXParseException` as the only " +"parameter. Errors and warnings may be converted to an exception by raising " +"the passed-in exception object." msgstr "" #: ../../library/xml.sax.handler.rst:403 diff --git a/library/xml.sax.po b/library/xml.sax.po index 566283ef7..7685ed060 100644 --- a/library/xml.sax.po +++ b/library/xml.sax.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -52,9 +51,9 @@ msgid "" "The SAX parser no longer processes general external entities by default to " "increase security. Before, the parser created network connections to fetch " "remote files or loaded local files from the file system for DTD and " -"entities. The feature can be enabled again with method :meth:`~xml.sax." -"xmlreader.XMLReader.setFeature` on the parser object and argument :data:" -"`~xml.sax.handler.feature_external_ges`." +"entities. The feature can be enabled again with " +"method :meth:`~xml.sax.xmlreader.XMLReader.setFeature` on the parser object " +"and argument :data:`~xml.sax.handler.feature_external_ges`." msgstr "" #: ../../library/xml.sax.rst:36 @@ -65,9 +64,9 @@ msgstr "As funções de conveniência são:" msgid "" "Create and return a SAX :class:`~xml.sax.xmlreader.XMLReader` object. The " "first parser found will be used. If *parser_list* is provided, it must be " -"an iterable of strings which name modules that have a function named :func:" -"`create_parser`. Modules listed in *parser_list* will be used before " -"modules in the default list of parsers." +"an iterable of strings which name modules that have a function " +"named :func:`create_parser`. Modules listed in *parser_list* will be used " +"before modules in the default list of parsers." msgstr "" #: ../../library/xml.sax.rst:47 @@ -116,14 +115,14 @@ msgid "" "instantiated by the application itself. Since Python does not have an " "explicit notion of interface, they are formally introduced as classes, but " "applications may use implementations which do not inherit from the provided " -"classes. The :class:`~xml.sax.xmlreader.InputSource`, :class:`~xml.sax." -"xmlreader.Locator`, :class:`~xml.sax.xmlreader.Attributes`, :class:`~xml.sax." -"xmlreader.AttributesNS`, and :class:`~xml.sax.xmlreader.XMLReader` " -"interfaces are defined in the module :mod:`xml.sax.xmlreader`. The handler " -"interfaces are defined in :mod:`xml.sax.handler`. For convenience, :class:" -"`~xml.sax.xmlreader.InputSource` (which is often instantiated directly) and " -"the handler classes are also available from :mod:`xml.sax`. These " -"interfaces are described below." +"classes. " +"The :class:`~xml.sax.xmlreader.InputSource`, :class:`~xml.sax.xmlreader.Locator`, :class:`~xml.sax.xmlreader.Attributes`, :class:`~xml.sax.xmlreader.AttributesNS`, " +"and :class:`~xml.sax.xmlreader.XMLReader` interfaces are defined in the " +"module :mod:`xml.sax.xmlreader`. The handler interfaces are defined " +"in :mod:`xml.sax.handler`. For " +"convenience, :class:`~xml.sax.xmlreader.InputSource` (which is often " +"instantiated directly) and the handler classes are also available " +"from :mod:`xml.sax`. These interfaces are described below." msgstr "" #: ../../library/xml.sax.rst:95 @@ -137,10 +136,10 @@ msgid "" "Encapsulate an XML error or warning. This class can contain basic error or " "warning information from either the XML parser or the application: it can be " "subclassed to provide additional functionality or to add localization. Note " -"that although the handlers defined in the :class:`~xml.sax.handler." -"ErrorHandler` interface receive instances of this exception, it is not " -"required to actually raise the exception --- it is also useful as a " -"container for information." +"that although the handlers defined in " +"the :class:`~xml.sax.handler.ErrorHandler` interface receive instances of " +"this exception, it is not required to actually raise the exception --- it is " +"also useful as a container for information." msgstr "" #: ../../library/xml.sax.rst:109 @@ -158,25 +157,28 @@ msgstr "" #: ../../library/xml.sax.rst:118 msgid "" "Subclass of :exc:`SAXException` raised on parse errors. Instances of this " -"class are passed to the methods of the SAX :class:`~xml.sax.handler." -"ErrorHandler` interface to provide information about the parse error. This " -"class supports the SAX :class:`~xml.sax.xmlreader.Locator` interface as well " -"as the :class:`SAXException` interface." +"class are passed to the methods of the " +"SAX :class:`~xml.sax.handler.ErrorHandler` interface to provide information " +"about the parse error. This class supports the " +"SAX :class:`~xml.sax.xmlreader.Locator` interface as well as " +"the :class:`SAXException` interface." msgstr "" #: ../../library/xml.sax.rst:128 msgid "" -"Subclass of :exc:`SAXException` raised when a SAX :class:`~xml.sax.xmlreader." -"XMLReader` is confronted with an unrecognized feature or property. SAX " -"applications and extensions may use this class for similar purposes." +"Subclass of :exc:`SAXException` raised when a " +"SAX :class:`~xml.sax.xmlreader.XMLReader` is confronted with an unrecognized " +"feature or property. SAX applications and extensions may use this class for " +"similar purposes." msgstr "" #: ../../library/xml.sax.rst:136 msgid "" -"Subclass of :exc:`SAXException` raised when a SAX :class:`~xml.sax.xmlreader." -"XMLReader` is asked to enable a feature that is not supported, or to set a " -"property to a value that the implementation does not support. SAX " -"applications and extensions may use this class for similar purposes." +"Subclass of :exc:`SAXException` raised when a " +"SAX :class:`~xml.sax.xmlreader.XMLReader` is asked to enable a feature that " +"is not supported, or to set a property to a value that the implementation " +"does not support. SAX applications and extensions may use this class for " +"similar purposes." msgstr "" #: ../../library/xml.sax.rst:148 diff --git a/library/xml.sax.reader.po b/library/xml.sax.reader.po index 0a34029a8..06d0ea135 100644 --- a/library/xml.sax.reader.po +++ b/library/xml.sax.reader.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -48,10 +47,10 @@ msgstr "" msgid "" "In some cases, it is desirable not to parse an input source at once, but to " "feed chunks of the document as they get available. Note that the reader will " -"normally not read the entire file, but read it in chunks as well; still :" -"meth:`parse` won't return until the entire document is processed. So these " -"interfaces should be used if the blocking behaviour of :meth:`parse` is not " -"desirable." +"normally not read the entire file, but read it in chunks as well; " +"still :meth:`parse` won't return until the entire document is processed. So " +"these interfaces should be used if the blocking behaviour of :meth:`parse` " +"is not desirable." msgstr "" #: ../../library/xml.sax.reader.rst:33 @@ -98,8 +97,9 @@ msgstr "" #: ../../library/xml.sax.reader.rst:63 msgid "" -"Applications will create objects of this class for use in the :meth:" -"`XMLReader.parse` method and for returning from EntityResolver.resolveEntity." +"Applications will create objects of this class for use in " +"the :meth:`XMLReader.parse` method and for returning from " +"EntityResolver.resolveEntity." msgstr "" #: ../../library/xml.sax.reader.rst:67 @@ -111,8 +111,8 @@ msgstr "" #: ../../library/xml.sax.reader.rst:74 msgid "" -"This is an implementation of the :class:`Attributes` interface (see section :" -"ref:`attributes-objects`). This is a dictionary-like object which " +"This is an implementation of the :class:`Attributes` interface (see " +"section :ref:`attributes-objects`). This is a dictionary-like object which " "represents the element attributes in a :meth:`startElement` call. In " "addition to the most useful dictionary operations, it supports a number of " "other methods as described by the interface. Objects of this class should be " @@ -122,12 +122,13 @@ msgstr "" #: ../../library/xml.sax.reader.rst:85 msgid "" -"Namespace-aware variant of :class:`AttributesImpl`, which will be passed to :" -"meth:`startElementNS`. It is derived from :class:`AttributesImpl`, but " +"Namespace-aware variant of :class:`AttributesImpl`, which will be passed " +"to :meth:`startElementNS`. It is derived from :class:`AttributesImpl`, but " "understands attribute names as two-tuples of *namespaceURI* and *localname*. " "In addition, it provides a number of methods expecting qualified names as " -"they appear in the original document. This class implements the :class:" -"`AttributesNS` interface (see section :ref:`attributes-ns-objects`)." +"they appear in the original document. This class implements " +"the :class:`AttributesNS` interface (see section :ref:`attributes-ns-" +"objects`)." msgstr "" #: ../../library/xml.sax.reader.rst:96 @@ -162,8 +163,9 @@ msgstr "" #: ../../library/xml.sax.reader.rst:124 msgid "" -"Set the current :class:`~xml.sax.handler.ContentHandler`. If no :class:" -"`~xml.sax.handler.ContentHandler` is set, content events will be discarded." +"Set the current :class:`~xml.sax.handler.ContentHandler`. If " +"no :class:`~xml.sax.handler.ContentHandler` is set, content events will be " +"discarded." msgstr "" #: ../../library/xml.sax.reader.rst:131 @@ -172,8 +174,8 @@ msgstr "" #: ../../library/xml.sax.reader.rst:136 msgid "" -"Set the current :class:`~xml.sax.handler.DTDHandler`. If no :class:`~xml." -"sax.handler.DTDHandler` is set, DTD events will be discarded." +"Set the current :class:`~xml.sax.handler.DTDHandler`. If " +"no :class:`~xml.sax.handler.DTDHandler` is set, DTD events will be discarded." msgstr "" #: ../../library/xml.sax.reader.rst:143 @@ -182,10 +184,10 @@ msgstr "" #: ../../library/xml.sax.reader.rst:148 msgid "" -"Set the current :class:`~xml.sax.handler.EntityResolver`. If no :class:" -"`~xml.sax.handler.EntityResolver` is set, attempts to resolve an external " -"entity will result in opening the system identifier for the entity, and fail " -"if it is not available." +"Set the current :class:`~xml.sax.handler.EntityResolver`. If " +"no :class:`~xml.sax.handler.EntityResolver` is set, attempts to resolve an " +"external entity will result in opening the system identifier for the entity, " +"and fail if it is not available." msgstr "" #: ../../library/xml.sax.reader.rst:156 @@ -219,9 +221,10 @@ msgstr "" #: ../../library/xml.sax.reader.rst:183 msgid "" -"Set the *featurename* to *value*. If the feature is not recognized, :exc:" -"`SAXNotRecognizedException` is raised. If the feature or its setting is not " -"supported by the parser, *SAXNotSupportedException* is raised." +"Set the *featurename* to *value*. If the feature is not " +"recognized, :exc:`SAXNotRecognizedException` is raised. If the feature or " +"its setting is not supported by the parser, *SAXNotSupportedException* is " +"raised." msgstr "" #: ../../library/xml.sax.reader.rst:190 @@ -233,9 +236,10 @@ msgstr "" #: ../../library/xml.sax.reader.rst:197 msgid "" -"Set the *propertyname* to *value*. If the property is not recognized, :exc:" -"`SAXNotRecognizedException` is raised. If the property or its setting is not " -"supported by the parser, *SAXNotSupportedException* is raised." +"Set the *propertyname* to *value*. If the property is not " +"recognized, :exc:`SAXNotRecognizedException` is raised. If the property or " +"its setting is not supported by the parser, *SAXNotSupportedException* is " +"raised." msgstr "" #: ../../library/xml.sax.reader.rst:205 @@ -322,8 +326,8 @@ msgstr "" #: ../../library/xml.sax.reader.rst:290 msgid "" -"The encoding attribute of the :class:`InputSource` is ignored if the :class:" -"`InputSource` also contains a character stream." +"The encoding attribute of the :class:`InputSource` is ignored if " +"the :class:`InputSource` also contains a character stream." msgstr "" #: ../../library/xml.sax.reader.rst:296 @@ -379,11 +383,10 @@ msgstr "" #: ../../library/xml.sax.reader.rst:336 msgid "" ":class:`Attributes` objects implement a portion of the :term:`mapping " -"protocol `, including the methods :meth:`~collections.abc.Mapping." -"copy`, :meth:`~collections.abc.Mapping.get`, :meth:`~object.__contains__`, :" -"meth:`~collections.abc.Mapping.items`, :meth:`~collections.abc.Mapping." -"keys`, and :meth:`~collections.abc.Mapping.values`. The following methods " -"are also provided:" +"protocol `, including the " +"methods :meth:`~collections.abc.Mapping.copy`, :meth:`~collections.abc.Mapping.get`, :meth:`~object.__contains__`, :meth:`~collections.abc.Mapping.items`, :meth:`~collections.abc.Mapping.keys`, " +"and :meth:`~collections.abc.Mapping.values`. The following methods are also " +"provided:" msgstr "" #: ../../library/xml.sax.reader.rst:346 diff --git a/library/xml.sax.utils.po b/library/xml.sax.utils.po index 992ba8c0c..ff37eeb0d 100644 --- a/library/xml.sax.utils.po +++ b/library/xml.sax.utils.po @@ -1,25 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -37,10 +37,13 @@ msgid "" "functions that are commonly useful when creating SAX applications, either in " "direct use, or as base classes." msgstr "" +"O módulo :mod:`xml.sax.saxutils` contém uma série de classes e funções que " +"são comumente úteis ao criar aplicações SAX, seja em uso direto ou como " +"classes base." #: ../../library/xml.sax.utils.rst:21 msgid "Escape ``'&'``, ``'<'``, and ``'>'`` in a string of data." -msgstr "" +msgstr "Escapa ``'&'``, ``'<'`` e ``'>'`` em uma string de dados." #: ../../library/xml.sax.utils.rst:23 msgid "" @@ -49,10 +52,16 @@ msgid "" "will be replaced with its corresponding value. The characters ``'&'``, " "``'<'`` and ``'>'`` are always escaped, even if *entities* is provided." msgstr "" +"Você pode escapar outras strings de dados passando um dicionário como o " +"parâmetro opcional *entities*. As chaves e os valores devem ser strings; " +"cada chave será substituída pelo seu valor correspondente. Os caracteres " +"``'&'``, ``'<'`` e ``'>'`` são sempre escapados, mesmo que *entities* seja " +"fornecido." #: ../../library/xml.sax.utils.rst:31 msgid "Unescape ``'&'``, ``'<'``, and ``'>'`` in a string of data." msgstr "" +"Remove escape de ``'&'``, ``'<'`` e ``'>'`` em uma string de dados." #: ../../library/xml.sax.utils.rst:33 msgid "" @@ -62,6 +71,11 @@ msgid "" "``'<'``, and ``'>'`` are always unescaped, even if *entities* is " "provided." msgstr "" +"Você pode remover escape de outras strings de dados passando um dicionário " +"como o parâmetro opcional *entities*. As chaves e os valores devem ser " +"strings; cada chave será substituída pelo seu valor correspondente. " +"``'&'``, ``'<'`` e ``'>'`` têm sempre o escape removido, mesmo que " +"*entities* seja fornecido." #: ../../library/xml.sax.utils.rst:41 msgid "" @@ -74,18 +88,28 @@ msgid "" "*data* will be wrapped in double-quotes. The resulting string can be used " "directly as an attribute value::" msgstr "" +"Semelhante a :func:`escape`, mas também prepara *data* para ser usado como " +"um valor de atributo. O valor de retorno é uma versão entre aspas de *data* " +"com quaisquer substituições adicionais necessárias. :func:`quoteattr` " +"selecionará um caractere de aspas com base no conteúdo de *data*, tentando " +"evitar a codificação de quaisquer caracteres de aspas na string. Se já " +"houver caracteres de aspas simples e duplas em *data*, os caracteres de " +"aspas duplas serão codificados e *data* será colocado entre aspas duplas. A " +"string resultante pode ser usada diretamente como um valor de atributo:" #: ../../library/xml.sax.utils.rst:53 msgid "" "This function is useful when generating attribute values for HTML or any " "SGML using the reference concrete syntax." msgstr "" +"Esta função é útil ao gerar valores de atributos para HTML ou qualquer SGML " +"usando a sintaxe concreta de referência." #: ../../library/xml.sax.utils.rst:59 msgid "" "This class implements the :class:`~xml.sax.handler.ContentHandler` interface " -"by writing SAX events back into an XML document. In other words, using an :" -"class:`XMLGenerator` as the content handler will reproduce the original " +"by writing SAX events back into an XML document. In other words, using " +"an :class:`XMLGenerator` as the content handler will reproduce the original " "document being parsed. *out* should be a file-like object which will default " "to *sys.stdout*. *encoding* is the encoding of the output stream which " "defaults to ``'iso-8859-1'``. *short_empty_elements* controls the formatting " @@ -93,19 +117,35 @@ msgid "" "emitted as a pair of start/end tags, if set to ``True`` they are emitted as " "a single self-closed tag." msgstr "" +"Esta classe implementa a interface :class:`~xml.sax.handler.ContentHandler` " +"escrevendo eventos SAX de volta em um documento XML. Em outras palavras, " +"usar um :class:`XMLGenerator` como manipulador de conteúdo reproduzirá o " +"documento original que está sendo analisado. *out* deve ser um objeto " +"arquivo ou similar, cujo padrão é *sys.stdout*. *encoding* é a codificação " +"do fluxo de saída, cujo padrão é ``'iso-8859-1'``. *short_empty_elements* " +"controla a formatação de elementos sem conteúdo: se ``False`` (o padrão), " +"eles são emitidos como um par de tags de início/fim; se definido como " +"``True``, eles são emitidos como uma única tag autofechada." #: ../../library/xml.sax.utils.rst:69 -msgid "The *short_empty_elements* parameter." -msgstr "" +msgid "Added the *short_empty_elements* parameter." +msgstr "Foi adicionado o parâmetro *short_empty_elements*." #: ../../library/xml.sax.utils.rst:75 msgid "" -"This class is designed to sit between an :class:`~xml.sax.xmlreader." -"XMLReader` and the client application's event handlers. By default, it does " -"nothing but pass requests up to the reader and events on to the handlers " -"unmodified, but subclasses can override specific methods to modify the event " -"stream or the configuration requests as they pass through." +"This class is designed to sit between " +"an :class:`~xml.sax.xmlreader.XMLReader` and the client application's event " +"handlers. By default, it does nothing but pass requests up to the reader " +"and events on to the handlers unmodified, but subclasses can override " +"specific methods to modify the event stream or the configuration requests as " +"they pass through." msgstr "" +"Esta classe foi projetada para ficar entre " +"um :class:`~xml.sax.xmlreader.XMLReader` e os manipuladores de eventos da " +"aplicação cliente. Por padrão, ela não faz nada além de passar requisições " +"para o leitor e eventos para os manipuladores sem modificações, mas " +"subclasses podem substituir métodos específicos para modificar o fluxo de " +"eventos ou as requisições de configuração à medida que passam." #: ../../library/xml.sax.utils.rst:85 msgid "" @@ -113,6 +153,13 @@ msgid "" "fully resolved :class:`~xml.sax.xmlreader.InputSource` object ready for " "reading. The input source can be given as a string, a file-like object, or " "an :class:`~xml.sax.xmlreader.InputSource` object; parsers will use this " -"function to implement the polymorphic *source* argument to their :meth:" -"`parse` method." +"function to implement the polymorphic *source* argument to " +"their :meth:`~xml.sax.xmlreader.XMLReader.parse` method." msgstr "" +"Esta função recebe uma fonte de entrada e uma URL base opcional e retorna um " +"objeto :class:`~xml.sax.xmlreader.InputSource` totalmente resolvido, pronto " +"para leitura. A fonte de entrada pode ser fornecida como uma string, um " +"objeto arquivo ou similar ou um " +"objeto :class:`~xml.sax.xmlreader.InputSource`; os analisadores usarão esta " +"função para implementar o argumento polimórfico *source* em seu " +"método :meth:`~xml.sax.xmlreader.XMLReader.parse`." diff --git a/library/xmlrpc.client.po b/library/xmlrpc.client.po index 4459a38d9..0ab067bad 100644 --- a/library/xmlrpc.client.po +++ b/library/xmlrpc.client.po @@ -1,34 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/xmlrpc.client.rst:2 msgid ":mod:`xmlrpc.client` --- XML-RPC client access" -msgstr "" +msgstr ":mod:`xmlrpc.client` --- Cliente XML-RPC" #: ../../library/xmlrpc.client.rst:10 msgid "**Source code:** :source:`Lib/xmlrpc/client.py`" @@ -42,6 +39,12 @@ msgid "" "This module supports writing XML-RPC client code; it handles all the details " "of translating between conformable Python objects and XML on the wire." msgstr "" +"XML-RPC é um método de chamada remota de métodos que usa XML usando HTTP(S) " +"como transporte. Com ele, um cliente pode chamar métodos com parâmetros em " +"um servidor remoto (o servidor é nomeado por um URI) e receber de volta " +"dados estruturados. Este módulo oferece suporte à escrita de código de " +"clientes XML-RPC; ele lida com todos os detalhes da tradução entre Python " +"objetos e XML." #: ../../library/xmlrpc.client.rst:26 msgid "" @@ -49,12 +52,17 @@ msgid "" "constructed data. If you need to parse untrusted or unauthenticated data " "see :ref:`xml-vulnerabilities`." msgstr "" +"O módulo :mod:`xmlrpc.client` não é seguro contra dados construídos de forma " +"maliciosa. Se você precisa processar dados não-confiáveis ou sem " +"autenticação, veja :ref:`xml-vulnerabilities`." #: ../../library/xmlrpc.client.rst:32 msgid "" "For HTTPS URIs, :mod:`xmlrpc.client` now performs all the necessary " "certificate and hostname checks by default." msgstr "" +"Para URIs com HTTPS, :mod:`xmlrpc.client` agora faz todas as validações de " +"certificado e nome do servidor necessárias por padrão." #: ../../includes/wasm-notavail.rst:3 msgid ":ref:`Availability `: not Emscripten, not WASI." @@ -81,6 +89,15 @@ msgid "" "an encoding, by default UTF-8. The optional fourth argument is a debugging " "flag." msgstr "" +"Uma instância de :class:`ServerProxy` é um objeto que gerencia a comunicação " +"com um servidor XML-RPC remoto. O primeiro argumento obrigatório é uma URI " +"(Uniform Resource Indicator - Indicador de Recurso Uniforme) e normalmente " +"vai ser a URL do servidor. O segundo parâmetro, opcional, é uma instância de " +"um factory de transporte; por padrão é uma instância " +"de :class:`SafeTransport` para URLs https e uma instância " +"de :class:`Transport` caso contrário. O terceiro parâmetro, opcional, é o " +"encoding, por padrão sendo UTF-8. O quarto argumento, opcional, é a flag de " +"debug." #: ../../library/xmlrpc.client.rst:49 msgid "" @@ -89,38 +106,63 @@ msgid "" "XML; the default behaviour is for ``None`` to raise a :exc:`TypeError`. This " "is a commonly used extension to the XML-RPC specification, but isn't " "supported by all clients and servers; see `http://ontosys.com/xml-rpc/" -"extensions.php `_ for a description. The *use_builtin_types* " -"flag can be used to cause date/time values to be presented as :class:" -"`datetime.datetime` objects and binary data to be presented as :class:" -"`bytes` objects; this flag is false by default. :class:`datetime.datetime`, :" -"class:`bytes` and :class:`bytearray` objects may be passed to calls. The " -"*headers* parameter is an optional sequence of HTTP headers to send with " -"each request, expressed as a sequence of 2-tuples representing the header " -"name and value. (e.g. ``[('Header-Name', 'value')]``). The obsolete " -"*use_datetime* flag is similar to *use_builtin_types* but it applies only to " -"date/time values." -msgstr "" - -#: ../../library/xmlrpc.client.rst:67 ../../library/xmlrpc.client.rst:548 +"extensions.php `_ for a description. The " +"*use_builtin_types* flag can be used to cause date/time values to be " +"presented as :class:`datetime.datetime` objects and binary data to be " +"presented as :class:`bytes` objects; this flag is false by " +"default. :class:`datetime.datetime`, :class:`bytes` and :class:`bytearray` " +"objects may be passed to calls. The *headers* parameter is an optional " +"sequence of HTTP headers to send with each request, expressed as a sequence " +"of 2-tuples representing the header name and value. (e.g. ``[('Header-Name', " +"'value')]``). The obsolete *use_datetime* flag is similar to " +"*use_builtin_types* but it applies only to date/time values." +msgstr "" +"Os seguite parâmetros coordenam o uso da intância de proxy retornada. Se " +"*alow_none* for verdadeiro, a constante ``None`` do Python será traduzida " +"para XML; o comportamento padrão é que ``None`` levante " +"uma :exc:`TypeError`, Isso é uma extensão comum da especificação do XML-RPC, " +"mas não é suportado por todos os clientes e servidores, veja `http://" +"ontosys.com/xml-rpc/extensions.php `_ para uma " +"descrição. A flag *use_builtin_types* pode ser usada para que valores de " +"data e hora sejam representados como objetos :class:`datetime.datetime` e " +"dados binários representados com objetos :class:`bytes`; essa flag é False " +"por padrão. Objetos :class:`datetime.datetime`, :class:`bytes` " +"e :class:`bytearray` podem ser usados nas chamadas. O parâmetro *headers* é " +"uma sequência opcional de headers a serem enviados em cada requisição, " +"representados por uma sequência de tuplas de dois valores representando o " +"nome do header e seu valor (como ``[('Header-Name', 'value')]``). A flag " +"*use_datetime* é obsoleta e é similar a *use_builtin_types* mas se aplica " +"somente a valores de data e hora." + +#: ../../library/xmlrpc.client.rst:67 ../../library/xmlrpc.client.rst:549 msgid "The *use_builtin_types* flag was added." msgstr "O sinalizador *use_builtin_types* foi adicionado." #: ../../library/xmlrpc.client.rst:70 msgid "The *headers* parameter was added." -msgstr "" +msgstr "O parâmetro *headers* foi adicionado." #: ../../library/xmlrpc.client.rst:73 msgid "" "Both the HTTP and HTTPS transports support the URL syntax extension for HTTP " -"Basic Authentication: ``http://user:pass@host:port/path``. The ``user:" -"pass`` portion will be base64-encoded as an HTTP 'Authorization' header, and " -"sent to the remote server as part of the connection process when invoking an " -"XML-RPC method. You only need to use this if the remote server requires a " -"Basic Authentication user and password. If an HTTPS URL is provided, " -"*context* may be :class:`ssl.SSLContext` and configures the SSL settings of " -"the underlying HTTPS connection." -msgstr "" +"Basic Authentication: ``http://user:pass@host:port/path``. The " +"``user:pass`` portion will be base64-encoded as an HTTP 'Authorization' " +"header, and sent to the remote server as part of the connection process when " +"invoking an XML-RPC method. You only need to use this if the remote server " +"requires a Basic Authentication user and password. If an HTTPS URL is " +"provided, *context* may be :class:`ssl.SSLContext` and configures the SSL " +"settings of the underlying HTTPS connection." +msgstr "" +"Tanto o transporte por HTTP quanto o transporte por HTTP suportam a extensão " +"da sintaxe de URL para Autenticação Básica do HTTP: ``http://" +"user:pass@host:port/path``. A parte ``user:pass`` será codificada em Base64 " +"como um header HTTP 'Authorization', e enviada para o servidor remoto como " +"parte do processo de conexão quando for invocado um método XML-RPC. Você só " +"precisar usar isso se o servidor remoto requer Autenticação Básica com " +"usuário e senha. Se for usada uma URL HTTPS, *context* pode ser do " +"tipo :class:`ssl.SSLContext` e configurar o SSL da conexão HTTPS por baixo." #: ../../library/xmlrpc.client.rst:82 msgid "" @@ -130,6 +172,11 @@ msgid "" "remote server for the methods it supports (service discovery) and fetch " "other server-associated metadata." msgstr "" +"A instância retornada é um objeto proxy com métodos que podem ser usados " +"para invocar a chamada RPC correspondendo no servidor remoto. Se o servidor " +"remoto suportar a API de instrospecção, o proxy também pode ser usado para " +"perguntar ao servidor remoto pelos métodos que ele suporta (descoberta de " +"serviço) e recuperar outros meta-dados associados com o servidor." #: ../../library/xmlrpc.client.rst:88 msgid "" @@ -137,6 +184,9 @@ msgid "" "include the following (and except where noted, they are unmarshalled as the " "same Python type):" msgstr "" +"Os tipos que são conformáveis (por exemplo, que podem ser convertidos para " +"XML) incluem os seguintes (e exceto onde indicado, eles não são convertidos " +"como o mesmo tipo Python):" #: ../../library/xmlrpc.client.rst:95 msgid "XML-RPC type" @@ -144,7 +194,7 @@ msgstr "Tipo XML-RPC" #: ../../library/xmlrpc.client.rst:95 msgid "Python type" -msgstr "Python type" +msgstr "Tipo em Python" #: ../../library/xmlrpc.client.rst:97 msgid "``boolean``" @@ -156,21 +206,23 @@ msgstr ":class:`bool`" #: ../../library/xmlrpc.client.rst:99 msgid "``int``, ``i1``, ``i2``, ``i4``, ``i8`` or ``biginteger``" -msgstr "" +msgstr "``int``, ``i1``, ``i2``, ``i4``, ``i8`` ou ``biginteger``" #: ../../library/xmlrpc.client.rst:99 msgid "" ":class:`int` in range from -2147483648 to 2147483647. Values get the " "```` tag." msgstr "" +":class:`int` no intervalo de -2147483648 a 2147483647. Os valores recebem a " +"tag ````." #: ../../library/xmlrpc.client.rst:104 msgid "``double`` or ``float``" -msgstr "" +msgstr "``double`` ou ``float``" #: ../../library/xmlrpc.client.rst:104 msgid ":class:`float`. Values get the ```` tag." -msgstr "" +msgstr ":class:`float`. Os valores recebem a tag ````." #: ../../library/xmlrpc.client.rst:107 msgid "``string``" @@ -189,6 +241,8 @@ msgid "" ":class:`list` or :class:`tuple` containing conformable elements. Arrays are " "returned as :class:`lists `." msgstr "" +":class:`list` ou :class:`tuple` contendo elementos conformáveis. As " +"matrizes são retornadas como :class:`lists `." #: ../../library/xmlrpc.client.rst:113 msgid "``struct``" @@ -197,9 +251,12 @@ msgstr "``struct``" #: ../../library/xmlrpc.client.rst:113 msgid "" ":class:`dict`. Keys must be strings, values may be any conformable type. " -"Objects of user-defined classes can be passed in; only their :attr:`~object." -"__dict__` attribute is transmitted." +"Objects of user-defined classes can be passed in; only " +"their :attr:`~object.__dict__` attribute is transmitted." msgstr "" +":class:`dict`. Chaves devem ser strings, valores podem ser qualquer tipo " +"conformáveis. Objetos de classes definidas pelo usuário pode ser usadas; " +"apenas o atributo :attr:`~object.__dict__` delas é transmitido." #: ../../library/xmlrpc.client.rst:118 msgid "``dateTime.iso8601``" @@ -222,6 +279,8 @@ msgid "" ":class:`Binary`, :class:`bytes` or :class:`bytearray`. Returned type " "depends on the value of the *use_builtin_types* flag." msgstr "" +":class:`Binary`, :class:`bytes` ou :class:`bytearray`. O tipo retornado " +"depende do valor da flag *use_builtin_types*." #: ../../library/xmlrpc.client.rst:126 msgid "``nil``" @@ -231,6 +290,8 @@ msgstr "``nil``" msgid "" "The ``None`` constant. Passing is allowed only if *allow_none* is true." msgstr "" +"A constante ``None``. A passagem é permitida somente se *allow_none* for " +"verdadeiro." #: ../../library/xmlrpc.client.rst:129 msgid "``bigdecimal``" @@ -238,7 +299,7 @@ msgstr "``bigdecimal``" #: ../../library/xmlrpc.client.rst:129 msgid ":class:`decimal.Decimal`. Returned type only." -msgstr "" +msgstr ":class:`decimal.Decimal`. Somente tipo retornado." #: ../../library/xmlrpc.client.rst:132 msgid "" @@ -249,6 +310,12 @@ msgid "" "base class called :exc:`Error`. Note that the xmlrpc client module " "currently does not marshal instances of subclasses of built-in types." msgstr "" +"Esta é a lista completa de tipos suportados por XML-RPC. Chamadas de método " +"podem também levantar uma instância de :exc:`Fault`, usado para que o " +"servidor XML-RPC indique erros, ou :exc:`ProtocolError` para indicar erros " +"na camada HTTP/HTTPS. Tnato :exc:`Fault` quanto :exc:`ProtocolError` derivam " +"da classe base :exc:`Error`. Observe que o módulo de cliente xmlrpc " +"atualmente não converte instância de subclasses dos tipos built-in." #: ../../library/xmlrpc.client.rst:139 msgid "" @@ -258,15 +325,27 @@ msgid "" "allowed in XML, such as the control characters with ASCII values between 0 " "and 31 (except, of course, tab, newline and carriage return); failing to do " "this will result in an XML-RPC request that isn't well-formed XML. If you " -"have to pass arbitrary bytes via XML-RPC, use :class:`bytes` or :class:" -"`bytearray` classes or the :class:`Binary` wrapper class described below." -msgstr "" +"have to pass arbitrary bytes via XML-RPC, use :class:`bytes` " +"or :class:`bytearray` classes or the :class:`Binary` wrapper class described " +"below." +msgstr "" +"Ao passar strings, os caracteres especiais para XML, como ``<``, ``>`` e " +"``&``, serão automaticamente escapados. No entanto, é responsabilidade do " +"chamador garantir que o string esteja livre de caracteres que não são " +"permitidos em XML, como os caracteres de controle com valores ASCII entre 0 " +"e 31 (exceto, é claro, tabulação, nova linha e retorno de carro); se isso " +"não for feito, resultará em uma solicitação XML-RPC que não é um XML bem " +"formado. Se você precisar passar bytes arbitrários via XML-RPC, use as " +"classes :class:`bytes` ou :class:`bytearray` ou a classe " +"wrapper :class:`Binary` descrito abaixo." #: ../../library/xmlrpc.client.rst:148 msgid "" ":class:`Server` is retained as an alias for :class:`ServerProxy` for " "backwards compatibility. New code should use :class:`ServerProxy`." msgstr "" +":class:`Server` foi mantido como um apelido para :class:`ServerProxy` para " +"compatibilidade retroativa. Código novo deve usar :class:`ServerProxy`." #: ../../library/xmlrpc.client.rst:151 msgid "Added the *context* argument." @@ -280,10 +359,15 @@ msgid "" "``bigdecimal``. See https://ws.apache.org/xmlrpc/types.html for a " "description." msgstr "" +"Adicionado suporte para tags com prefixos (por exemplo ``ex:nil``) " +"Adicionado suporte para desconversão de tipos adicionados usados pela " +"implementação do Apache XML-RPC para numéricos: ``i1``, ``i2``, ``i8``, " +"``biginteger``, ``float`` e ``bigdecimal``. Veja https://ws.apache.org/" +"xmlrpc/types.html para uma descrição." #: ../../library/xmlrpc.client.rst:166 msgid "`XML-RPC HOWTO `_" -msgstr "" +msgstr "`XML-RPC HOWTO `_" #: ../../library/xmlrpc.client.rst:165 msgid "" @@ -291,24 +375,29 @@ msgid "" "languages. Contains pretty much everything an XML-RPC client developer needs " "to know." msgstr "" +"Uma boa descrição das operações XML-RPC e software cliente em vários " +"idiomas. Contém praticamente tudo o que um desenvolvedor de clientes XML-RPC " +"precisa saber." #: ../../library/xmlrpc.client.rst:169 msgid "" -"`XML-RPC Introspection `_" +"`XML-RPC Introspection `_" msgstr "" +"`XML-RPC Introspection `_" #: ../../library/xmlrpc.client.rst:169 msgid "Describes the XML-RPC protocol extension for introspection." -msgstr "" +msgstr "Describe a extensão do protocolo XML-RPC para instrospecção." #: ../../library/xmlrpc.client.rst:171 msgid "`XML-RPC Specification `_" -msgstr "" +msgstr "`XML-RPC Specification `_" #: ../../library/xmlrpc.client.rst:172 msgid "The official specification." -msgstr "" +msgstr "A especificação oficial." #: ../../library/xmlrpc.client.rst:177 msgid "ServerProxy Objects" @@ -380,12 +469,12 @@ msgid "" "protocol for closing the underlying transport." msgstr "" -#: ../../library/xmlrpc.client.rst:229 ../../library/xmlrpc.client.rst:275 +#: ../../library/xmlrpc.client.rst:229 ../../library/xmlrpc.client.rst:276 msgid "A working example follows. The server code::" msgstr "" -#: ../../library/xmlrpc.client.rst:241 ../../library/xmlrpc.client.rst:290 -#: ../../library/xmlrpc.client.rst:400 ../../library/xmlrpc.client.rst:506 +#: ../../library/xmlrpc.client.rst:241 ../../library/xmlrpc.client.rst:291 +#: ../../library/xmlrpc.client.rst:401 ../../library/xmlrpc.client.rst:507 msgid "The client code for the preceding server::" msgstr "" @@ -413,138 +502,138 @@ msgstr "" #: ../../library/xmlrpc.client.rst:272 msgid "" -"It also supports certain of Python's built-in operators through rich " -"comparison and :meth:`__repr__` methods." +"It also supports certain of Python's built-in operators through :meth:`rich " +"comparison ` and :meth:`~object.__repr__` methods." msgstr "" -#: ../../library/xmlrpc.client.rst:305 +#: ../../library/xmlrpc.client.rst:306 msgid "Binary Objects" msgstr "Objetos Binários" -#: ../../library/xmlrpc.client.rst:309 +#: ../../library/xmlrpc.client.rst:310 msgid "" "This class may be initialized from bytes data (which may include NULs). The " "primary access to the content of a :class:`Binary` object is provided by an " "attribute:" msgstr "" -#: ../../library/xmlrpc.client.rst:316 +#: ../../library/xmlrpc.client.rst:317 msgid "" "The binary data encapsulated by the :class:`Binary` instance. The data is " "provided as a :class:`bytes` object." msgstr "" -#: ../../library/xmlrpc.client.rst:319 +#: ../../library/xmlrpc.client.rst:320 msgid "" ":class:`Binary` objects have the following methods, supported mainly for " "internal use by the marshalling/unmarshalling code:" msgstr "" -#: ../../library/xmlrpc.client.rst:325 +#: ../../library/xmlrpc.client.rst:326 msgid "" "Accept a base64 :class:`bytes` object and decode it as the instance's new " "data." msgstr "" -#: ../../library/xmlrpc.client.rst:330 +#: ../../library/xmlrpc.client.rst:331 msgid "" "Write the XML-RPC base 64 encoding of this binary item to the *out* stream " "object." msgstr "" -#: ../../library/xmlrpc.client.rst:332 +#: ../../library/xmlrpc.client.rst:333 msgid "" "The encoded data will have newlines every 76 characters as per :rfc:`RFC " "2045 section 6.8 <2045#section-6.8>`, which was the de facto standard base64 " "specification when the XML-RPC spec was written." msgstr "" -#: ../../library/xmlrpc.client.rst:337 +#: ../../library/xmlrpc.client.rst:338 msgid "" -"It also supports certain of Python's built-in operators through :meth:" -"`__eq__` and :meth:`__ne__` methods." +"It also supports certain of Python's built-in operators " +"through :meth:`~object.__eq__` and :meth:`~object.__ne__` methods." msgstr "" -#: ../../library/xmlrpc.client.rst:340 +#: ../../library/xmlrpc.client.rst:341 msgid "" "Example usage of the binary objects. We're going to transfer an image over " "XMLRPC::" msgstr "" -#: ../../library/xmlrpc.client.rst:356 +#: ../../library/xmlrpc.client.rst:357 msgid "The client gets the image and saves it to a file::" msgstr "" -#: ../../library/xmlrpc.client.rst:367 +#: ../../library/xmlrpc.client.rst:368 msgid "Fault Objects" msgstr "Objetos Fault" -#: ../../library/xmlrpc.client.rst:371 +#: ../../library/xmlrpc.client.rst:372 msgid "" "A :class:`Fault` object encapsulates the content of an XML-RPC fault tag. " "Fault objects have the following attributes:" msgstr "" -#: ../../library/xmlrpc.client.rst:377 +#: ../../library/xmlrpc.client.rst:378 msgid "An int indicating the fault type." msgstr "" -#: ../../library/xmlrpc.client.rst:382 +#: ../../library/xmlrpc.client.rst:383 msgid "A string containing a diagnostic message associated with the fault." msgstr "" -#: ../../library/xmlrpc.client.rst:384 +#: ../../library/xmlrpc.client.rst:385 msgid "" "In the following example we're going to intentionally cause a :exc:`Fault` " "by returning a complex type object. The server code::" msgstr "" -#: ../../library/xmlrpc.client.rst:417 +#: ../../library/xmlrpc.client.rst:418 msgid "ProtocolError Objects" -msgstr "Objeto ProtocolError" +msgstr "Objetos ProtocolError" -#: ../../library/xmlrpc.client.rst:421 +#: ../../library/xmlrpc.client.rst:422 msgid "" "A :class:`ProtocolError` object describes a protocol error in the underlying " "transport layer (such as a 404 'not found' error if the server named by the " "URI does not exist). It has the following attributes:" msgstr "" -#: ../../library/xmlrpc.client.rst:428 +#: ../../library/xmlrpc.client.rst:429 msgid "The URI or URL that triggered the error." msgstr "" -#: ../../library/xmlrpc.client.rst:433 +#: ../../library/xmlrpc.client.rst:434 msgid "The error code." msgstr "O código do erro." -#: ../../library/xmlrpc.client.rst:438 +#: ../../library/xmlrpc.client.rst:439 msgid "The error message or diagnostic string." msgstr "" -#: ../../library/xmlrpc.client.rst:443 +#: ../../library/xmlrpc.client.rst:444 msgid "" "A dict containing the headers of the HTTP/HTTPS request that triggered the " "error." msgstr "" -#: ../../library/xmlrpc.client.rst:446 +#: ../../library/xmlrpc.client.rst:447 msgid "" -"In the following example we're going to intentionally cause a :exc:" -"`ProtocolError` by providing an invalid URI::" +"In the following example we're going to intentionally cause " +"a :exc:`ProtocolError` by providing an invalid URI::" msgstr "" -#: ../../library/xmlrpc.client.rst:464 +#: ../../library/xmlrpc.client.rst:465 msgid "MultiCall Objects" msgstr "Objetos MultiCall" -#: ../../library/xmlrpc.client.rst:466 +#: ../../library/xmlrpc.client.rst:467 msgid "" "The :class:`MultiCall` object provides a way to encapsulate multiple calls " "to a remote server into a single request [#]_." msgstr "" -#: ../../library/xmlrpc.client.rst:472 +#: ../../library/xmlrpc.client.rst:473 msgid "" "Create an object used to boxcar method calls. *server* is the eventual " "target of the call. Calls can be made to the result object, but they will " @@ -555,15 +644,15 @@ msgid "" "the individual results." msgstr "" -#: ../../library/xmlrpc.client.rst:480 +#: ../../library/xmlrpc.client.rst:481 msgid "A usage example of this class follows. The server code::" msgstr "" -#: ../../library/xmlrpc.client.rst:522 +#: ../../library/xmlrpc.client.rst:523 msgid "Convenience Functions" msgstr "" -#: ../../library/xmlrpc.client.rst:526 +#: ../../library/xmlrpc.client.rst:527 msgid "" "Convert *params* into an XML-RPC request. or into a response if " "*methodresponse* is true. *params* can be either a tuple of arguments or an " @@ -575,7 +664,7 @@ msgid "" "*allow_none*." msgstr "" -#: ../../library/xmlrpc.client.rst:537 +#: ../../library/xmlrpc.client.rst:538 msgid "" "Convert an XML-RPC request or response into Python objects, a ``(params, " "methodname)``. *params* is a tuple of argument; *methodname* is a string, " @@ -586,35 +675,35 @@ msgid "" "to be presented as :class:`bytes` objects; this flag is false by default." msgstr "" -#: ../../library/xmlrpc.client.rst:545 +#: ../../library/xmlrpc.client.rst:546 msgid "" "The obsolete *use_datetime* flag is similar to *use_builtin_types* but it " "applies only to date/time values." msgstr "" -#: ../../library/xmlrpc.client.rst:555 +#: ../../library/xmlrpc.client.rst:556 msgid "Example of Client Usage" msgstr "Exemplo de uso do cliente" -#: ../../library/xmlrpc.client.rst:572 +#: ../../library/xmlrpc.client.rst:573 msgid "" "To access an XML-RPC server through a HTTP proxy, you need to define a " "custom transport. The following example shows how::" msgstr "" -#: ../../library/xmlrpc.client.rst:597 +#: ../../library/xmlrpc.client.rst:598 msgid "Example of Client and Server Usage" msgstr "" -#: ../../library/xmlrpc.client.rst:599 +#: ../../library/xmlrpc.client.rst:600 msgid "See :ref:`simplexmlrpcserver-example`." -msgstr "" +msgstr "Veja :ref:`simplexmlrpcserver-example`." -#: ../../library/xmlrpc.client.rst:603 +#: ../../library/xmlrpc.client.rst:604 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../library/xmlrpc.client.rst:604 +#: ../../library/xmlrpc.client.rst:605 msgid "" "This approach has been first presented in `a discussion on xmlrpc.com " ", YEAR. # # Translators: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../library/xmlrpc.rst:2 -msgid ":mod:`xmlrpc` --- XMLRPC server and client modules" -msgstr ":mod:`xmlrpc` --- Módulos de servidor e cliente XMLRPC" +msgid ":mod:`!xmlrpc` --- XMLRPC server and client modules" +msgstr ":mod:`!xmlrpc` --- Módulos de servidor e cliente XMLRPC" #: ../../library/xmlrpc.rst:4 msgid "" diff --git a/library/xmlrpc.server.po b/library/xmlrpc.server.po index 7ee01a499..690f63d7e 100644 --- a/library/xmlrpc.server.po +++ b/library/xmlrpc.server.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Italo Penaforte , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -36,9 +34,9 @@ msgstr "**Código-fonte:** :source:`Lib/xmlrpc/server.py`" #: ../../library/xmlrpc.server.rst:14 msgid "" "The :mod:`xmlrpc.server` module provides a basic server framework for XML-" -"RPC servers written in Python. Servers can either be free standing, using :" -"class:`SimpleXMLRPCServer`, or embedded in a CGI environment, using :class:" -"`CGIXMLRPCRequestHandler`." +"RPC servers written in Python. Servers can either be free standing, " +"using :class:`SimpleXMLRPCServer`, or embedded in a CGI environment, " +"using :class:`CGIXMLRPCRequestHandler`." msgstr "" "O módulo :mod:`xmlrpc.server` fornece um framework básico de servidor para " "servidores XML-RPC escritos em Python. Os servidores podem ser " @@ -75,35 +73,37 @@ msgid "" "of functions that can be called by the XML-RPC protocol. The " "*requestHandler* parameter should be a factory for request handler " "instances; it defaults to :class:`SimpleXMLRPCRequestHandler`. The *addr* " -"and *requestHandler* parameters are passed to the :class:`socketserver." -"TCPServer` constructor. If *logRequests* is true (the default), requests " -"will be logged; setting this parameter to false will turn off logging. The " -"*allow_none* and *encoding* parameters are passed on to :mod:`xmlrpc.client` " -"and control the XML-RPC responses that will be returned from the server. The " -"*bind_and_activate* parameter controls whether :meth:`server_bind` and :meth:" -"`server_activate` are called immediately by the constructor; it defaults to " -"true. Setting it to false allows code to manipulate the " -"*allow_reuse_address* class variable before the address is bound. The " -"*use_builtin_types* parameter is passed to the :func:`~xmlrpc.client.loads` " -"function and controls which types are processed when date/times values or " -"binary data are received; it defaults to false." +"and *requestHandler* parameters are passed to " +"the :class:`socketserver.TCPServer` constructor. If *logRequests* is true " +"(the default), requests will be logged; setting this parameter to false will " +"turn off logging. The *allow_none* and *encoding* parameters are passed on " +"to :mod:`xmlrpc.client` and control the XML-RPC responses that will be " +"returned from the server. The *bind_and_activate* parameter controls " +"whether :meth:`server_bind` and :meth:`server_activate` are called " +"immediately by the constructor; it defaults to true. Setting it to false " +"allows code to manipulate the *allow_reuse_address* class variable before " +"the address is bound. The *use_builtin_types* parameter is passed to " +"the :func:`~xmlrpc.client.loads` function and controls which types are " +"processed when date/times values or binary data are received; it defaults to " +"false." msgstr "" "Cria uma nova instância do servidor. Esta classe fornece métodos para " "registro de funções que podem ser chamadas pelo protocolo XML-RPC. O " "parâmetro *requestHandler* deve ser uma fábrica para instâncias do tratador " "de solicitações; o padrão é :class:`SimpleXMLRPCRequestHandler`. Os " -"parâmetros *addr* e *requestHandler* são passados ​​para o construtor :class:" -"`socketserver.TCPServer`. Se *logRequests* for true (o padrão), as " -"solicitações serão registradas; definir esse parâmetro como false desativará " -"os registros. Os parâmetros *allow_none* e *encoding* são transmitidos para :" -"mod:`xmlrpc.client` e controlam as respostas XML-RPC que serão retornadas do " -"servidor. O parâmetro *bind_and_activate* controla se :meth:`server_bind` e :" -"meth:`server_activate` são chamados imediatamente pelo construtor; o padrão " -"é true. A configuração como false permite que o código manipule a variável " -"de classe *allow_reuse_address* antes que o endereço seja vinculado. O " -"parâmetro *use_builtin_types* é passado para a função :func:`~xmlrpc.client." -"loads` e controla quais tipos são processados ​​quando valores de data/hora ou " -"dados binários são recebidos; o padrão é false." +"parâmetros *addr* e *requestHandler* são passados para o " +"construtor :class:`socketserver.TCPServer`. Se *logRequests* for true (o " +"padrão), as solicitações serão registradas; definir esse parâmetro como " +"false desativará os registros. Os parâmetros *allow_none* e *encoding* são " +"transmitidos para :mod:`xmlrpc.client` e controlam as respostas XML-RPC que " +"serão retornadas do servidor. O parâmetro *bind_and_activate* controla " +"se :meth:`server_bind` e :meth:`server_activate` são chamados imediatamente " +"pelo construtor; o padrão é true. A configuração como false permite que o " +"código manipule a variável de classe *allow_reuse_address* antes que o " +"endereço seja vinculado. O parâmetro *use_builtin_types* é passado para a " +"função :func:`~xmlrpc.client.loads` e controla quais tipos são processados " +"quando valores de data/hora ou dados binários são recebidos; o padrão é " +"false." #: ../../library/xmlrpc.server.rst:48 ../../library/xmlrpc.server.rst:62 #: ../../library/xmlrpc.server.rst:374 @@ -120,11 +120,12 @@ msgid "" "binary data are received; it defaults to false." msgstr "" "Cria uma nova instância para manipular solicitações XML-RPC em um ambiente " -"CGI. Os parâmetros *allow_none* e *encoding* são transmitidos para :mod:" -"`xmlrpc.client` e controlam as respostas XML-RPC que serão retornadas do " -"servidor. O parâmetro *use_builtin_types* é passado para a função :func:" -"`~xmlrpc.client.loads` e controla quais tipos são processados quando valores " -"de data/hora ou dados binários são recebidos; o padrão é false." +"CGI. Os parâmetros *allow_none* e *encoding* são transmitidos " +"para :mod:`xmlrpc.client` e controlam as respostas XML-RPC que serão " +"retornadas do servidor. O parâmetro *use_builtin_types* é passado para a " +"função :func:`~xmlrpc.client.loads` e controla quais tipos são processados " +"quando valores de data/hora ou dados binários são recebidos; o padrão é " +"false." #: ../../library/xmlrpc.server.rst:68 msgid "" @@ -134,8 +135,8 @@ msgid "" msgstr "" "Cria uma nova instância do manipulador de solicitações. Este manipulador de " "solicitação possui suporte a solicitações ``POST`` e modifica o registro " -"para que o parâmetro *logRequests* para o construtor de :class:" -"`SimpleXMLRPCServer` seja respeitado." +"para que o parâmetro *logRequests* para o construtor " +"de :class:`SimpleXMLRPCServer` seja respeitado." #: ../../library/xmlrpc.server.rst:76 msgid "SimpleXMLRPCServer Objects" @@ -143,37 +144,38 @@ msgstr "Objetos de SimpleXMLRPCServer" #: ../../library/xmlrpc.server.rst:78 msgid "" -"The :class:`SimpleXMLRPCServer` class is based on :class:`socketserver." -"TCPServer` and provides a means of creating simple, stand alone XML-RPC " -"servers." +"The :class:`SimpleXMLRPCServer` class is based " +"on :class:`socketserver.TCPServer` and provides a means of creating simple, " +"stand alone XML-RPC servers." msgstr "" -"A classe :class:`SimpleXMLRPCServer` é baseada em :class:`socketserver." -"TCPServer` e fornece um meio de criar servidores XML-RPC simples e " -"independentes." +"A classe :class:`SimpleXMLRPCServer` é baseada " +"em :class:`socketserver.TCPServer` e fornece um meio de criar servidores XML-" +"RPC simples e independentes." #: ../../library/xmlrpc.server.rst:85 ../../library/xmlrpc.server.rst:299 msgid "" "Register a function that can respond to XML-RPC requests. If *name* is " -"given, it will be the method name associated with *function*, otherwise " -"``function.__name__`` will be used. *name* is a string, and may contain " -"characters not legal in Python identifiers, including the period character." +"given, it will be the method name associated with *function*, " +"otherwise :attr:`function.__name__` will be used. *name* is a string, and " +"may contain characters not legal in Python identifiers, including the period " +"character." msgstr "" "Registra uma função que possa responder às solicitações XML-RPC. Se *name* " -"for fornecido, será o nome do método associado a *function*, caso contrário, " -"``function.__name__`` será usado. *name* é uma string e pode conter " -"caracteres ilegais para identificadores Python, incluindo o caractere de " -"ponto." +"for fornecido, será o nome do método associado a *function*, caso " +"contrário, :attr:`function.__name__` será usado. *name* é uma string e pode " +"conter caracteres ilegais para identificadores Python, incluindo o caractere " +"de ponto." #: ../../library/xmlrpc.server.rst:90 ../../library/xmlrpc.server.rst:304 msgid "" "This method can also be used as a decorator. When used as a decorator, " "*name* can only be given as a keyword argument to register *function* under " -"*name*. If no *name* is given, ``function.__name__`` will be used." +"*name*. If no *name* is given, :attr:`function.__name__` will be used." msgstr "" "Este método também pode ser usado como um decorador. Quando usado como " "decorador, *name* só pode ser fornecido como argumento nomeado para " -"registrar *function* em *name*. Se nenhum *name* for fornecido, ``function." -"__name__`` será usado." +"registrar *function* em *name*. Se nenhum *name* for " +"fornecido, :attr:`function.__name__` será usado." #: ../../library/xmlrpc.server.rst:94 ../../library/xmlrpc.server.rst:308 msgid ":meth:`register_function` can be used as a decorator." @@ -182,9 +184,9 @@ msgstr ":meth:`register_function` pode ser usado como um decorador." #: ../../library/xmlrpc.server.rst:100 msgid "" "Register an object which is used to expose method names which have not been " -"registered using :meth:`register_function`. If *instance* contains a :meth:" -"`_dispatch` method, it is called with the requested method name and the " -"parameters from the request. Its API is ``def _dispatch(self, method, " +"registered using :meth:`register_function`. If *instance* contains " +"a :meth:`_dispatch` method, it is called with the requested method name and " +"the parameters from the request. Its API is ``def _dispatch(self, method, " "params)`` (note that *params* does not represent a variable argument list). " "If it calls an underlying function to perform its task, that function is " "called as ``func(*params)``, expanding the parameter list. The return value " @@ -236,8 +238,8 @@ msgid "" "Registers the XML-RPC introspection functions ``system.listMethods``, " "``system.methodHelp`` and ``system.methodSignature``." msgstr "" -"Registra as funções de introspecção XML-RPC ``system.listMethods``, ``system." -"methodHelp`` e ``system.methodSignature``." +"Registra as funções de introspecção XML-RPC ``system.listMethods``, " +"``system.methodHelp`` e ``system.methodSignature``." #: ../../library/xmlrpc.server.rst:133 msgid "Registers the XML-RPC multicall function system.multicall." @@ -335,10 +337,10 @@ msgstr "" #: ../../library/xmlrpc.server.rst:314 msgid "" "Register an object which is used to expose method names which have not been " -"registered using :meth:`register_function`. If instance contains a :meth:" -"`_dispatch` method, it is called with the requested method name and the " -"parameters from the request; the return value is returned to the client as " -"the result. If instance does not have a :meth:`_dispatch` method, it is " +"registered using :meth:`register_function`. If instance contains " +"a :meth:`_dispatch` method, it is called with the requested method name and " +"the parameters from the request; the return value is returned to the client " +"as the result. If instance does not have a :meth:`_dispatch` method, it is " "searched for an attribute matching the name of the requested method; if the " "requested method name contains periods, each component of the method name " "is searched for individually, with the effect that a simple hierarchical " @@ -362,8 +364,8 @@ msgid "" "Register the XML-RPC introspection functions ``system.listMethods``, " "``system.methodHelp`` and ``system.methodSignature``." msgstr "" -"Registra as funções de introspecção XML-RPC ``system.listMethods``, ``system." -"methodHelp`` e ``system.methodSignature``." +"Registra as funções de introspecção XML-RPC ``system.listMethods``, " +"``system.methodHelp`` e ``system.methodSignature``." #: ../../library/xmlrpc.server.rst:334 msgid "Register the XML-RPC multicall function ``system.multicall``." @@ -390,20 +392,20 @@ msgstr "Documentando servidor XMLRPC" #: ../../library/xmlrpc.server.rst:360 msgid "" "These classes extend the above classes to serve HTML documentation in " -"response to HTTP GET requests. Servers can either be free standing, using :" -"class:`DocXMLRPCServer`, or embedded in a CGI environment, using :class:" -"`DocCGIXMLRPCRequestHandler`." +"response to HTTP GET requests. Servers can either be free standing, " +"using :class:`DocXMLRPCServer`, or embedded in a CGI environment, " +"using :class:`DocCGIXMLRPCRequestHandler`." msgstr "" "Essas classes estendem as classes acima para servir a documentação HTML em " "resposta a solicitações HTTP GET. Os servidores podem ser independentes, " -"usando :class:`DocXMLRPCServer` ou incorporados em um ambiente CGI, usando :" -"class:`DocCGIXMLRPCRequestHandler`." +"usando :class:`DocXMLRPCServer` ou incorporados em um ambiente CGI, " +"usando :class:`DocCGIXMLRPCRequestHandler`." #: ../../library/xmlrpc.server.rst:370 msgid "" -"Create a new server instance. All parameters have the same meaning as for :" -"class:`SimpleXMLRPCServer`; *requestHandler* defaults to :class:" -"`DocXMLRPCRequestHandler`." +"Create a new server instance. All parameters have the same meaning as " +"for :class:`SimpleXMLRPCServer`; *requestHandler* defaults " +"to :class:`DocXMLRPCRequestHandler`." msgstr "" "Cria uma nova instância do servidor. Todos os parâmetros têm o mesmo " "significado que para :class:`SimpleXMLRPCServer`; *requestHandler* assume " @@ -433,11 +435,11 @@ msgstr "Objetos de DocXMLRPCServer" #: ../../library/xmlrpc.server.rst:396 msgid "" -"The :class:`DocXMLRPCServer` class is derived from :class:" -"`SimpleXMLRPCServer` and provides a means of creating self-documenting, " -"stand alone XML-RPC servers. HTTP POST requests are handled as XML-RPC " -"method calls. HTTP GET requests are handled by generating pydoc-style HTML " -"documentation. This allows a server to provide its own web-based " +"The :class:`DocXMLRPCServer` class is derived " +"from :class:`SimpleXMLRPCServer` and provides a means of creating self-" +"documenting, stand alone XML-RPC servers. HTTP POST requests are handled as " +"XML-RPC method calls. HTTP GET requests are handled by generating pydoc-" +"style HTML documentation. This allows a server to provide its own web-based " "documentation." msgstr "" "A classe :class:`DocXMLRPCServer` é derivada de :class:`SimpleXMLRPCServer` " @@ -478,15 +480,16 @@ msgstr "DocCGIXMLRPCRequestHandler" #: ../../library/xmlrpc.server.rst:424 msgid "" -"The :class:`DocCGIXMLRPCRequestHandler` class is derived from :class:" -"`CGIXMLRPCRequestHandler` and provides a means of creating self-documenting, " -"XML-RPC CGI scripts. HTTP POST requests are handled as XML-RPC method calls. " -"HTTP GET requests are handled by generating pydoc-style HTML documentation. " -"This allows a server to provide its own web-based documentation." -msgstr "" -"A classe :class:`DocCGIXMLRPCRequestHandler` é derivada de :class:" -"`CGIXMLRPCRequestHandler` e fornece um meio de criar scripts CGI XML-RPC " -"autodocumentados. Solicitações HTTP POST são tratadas como chamadas de " -"método XML-RPC. As solicitações HTTP GET são tratadas gerando documentação " -"HTML no estilo pydoc. Isso permite que um servidor forneça sua própria " -"documentação baseada na web." +"The :class:`DocCGIXMLRPCRequestHandler` class is derived " +"from :class:`CGIXMLRPCRequestHandler` and provides a means of creating self-" +"documenting, XML-RPC CGI scripts. HTTP POST requests are handled as XML-RPC " +"method calls. HTTP GET requests are handled by generating pydoc-style HTML " +"documentation. This allows a server to provide its own web-based " +"documentation." +msgstr "" +"A classe :class:`DocCGIXMLRPCRequestHandler` é derivada " +"de :class:`CGIXMLRPCRequestHandler` e fornece um meio de criar scripts CGI " +"XML-RPC autodocumentados. Solicitações HTTP POST são tratadas como chamadas " +"de método XML-RPC. As solicitações HTTP GET são tratadas gerando " +"documentação HTML no estilo pydoc. Isso permite que um servidor forneça sua " +"própria documentação baseada na web." diff --git a/library/zipapp.po b/library/zipapp.po index 75a739bcb..64853fd82 100644 --- a/library/zipapp.po +++ b/library/zipapp.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -41,10 +38,14 @@ msgid "" "`. The module provides both a :ref:`zipapp-" "command-line-interface` and a :ref:`zipapp-python-api`." msgstr "" +"Este módulo fornece ferramentas para gerenciar a criação de arquivos zip " +"contendo código Python, que pode ser :ref:`executado diretamente pelo " +"interpretador Python `. O módulo fornece " +"uma :ref:`zipapp-command-line-interface` e uma :ref:`zipapp-python-api`." #: ../../library/zipapp.rst:23 msgid "Basic Example" -msgstr "" +msgstr "Exemplo básico" #: ../../library/zipapp.rst:25 msgid "" @@ -53,15 +54,21 @@ msgid "" "code. When run, the archive will execute the ``main`` function from the " "module ``myapp`` in the archive." msgstr "" +"O exemplo a seguir mostra como a :ref:`zipapp-command-line-interface` pode " +"ser usada para criar um arquivo executável a partir de um diretório contendo " +"código Python. Quando executado, o arquivo executará a função ``main`` do " +"módulo ``myapp`` no arquivo." #: ../../library/zipapp.rst:40 msgid "Command-Line Interface" -msgstr "Interface de Linha de Comando" +msgstr "Interface de linha de comando" #: ../../library/zipapp.rst:42 msgid "" "When called as a program from the command line, the following form is used:" msgstr "" +"Quando chamado como um programa a partir da linha de comando, as seguintes " +"opções estão disponíveis:" #: ../../library/zipapp.rst:48 msgid "" @@ -70,10 +77,14 @@ msgid "" "copied to the target archive (or the contents of its shebang line will be " "displayed if the --info option is specified)." msgstr "" +"Se *source* for um diretório, isso criará um arquivo a partir do conteúdo de " +"*source*. Se *source* for um arquivo, ele deve ser um arquivo, e será " +"copiado para o arquivo de destino (ou o conteúdo de sua linha shebang será " +"exibido se a opção --info for especificada)." #: ../../library/zipapp.rst:53 msgid "The following options are understood:" -msgstr "" +msgstr "As seguintes opções são compreendidas:" #: ../../library/zipapp.rst:59 msgid "" @@ -82,12 +93,19 @@ msgid "" "extension ``.pyz`` added. If an explicit filename is given, it is used as " "is (so a ``.pyz`` extension should be included if required)." msgstr "" +"Escreve a saída em um arquivo chamado *output*. Se essa opção não for " +"especificada, o nome do arquivo de saída será o mesmo que o *source* de " +"entrada, com a extensão ``.pyz`` adicionada. Se um nome de arquivo explícito " +"for fornecido, ele será usado como está (então uma extensão ``.pyz`` deve " +"ser incluída se necessário)." #: ../../library/zipapp.rst:64 msgid "" "An output filename must be specified if the *source* is an archive (and in " "that case, *output* must not be the same as *source*)." msgstr "" +"Um nome de arquivo de saída deve ser especificado se *source* for um arquivo " +"(e nesse caso, *output* não deve ser o mesmo que *source*)." #: ../../library/zipapp.rst:69 msgid "" @@ -95,6 +113,9 @@ msgid "" "run. Also, on POSIX, make the archive executable. The default is to write " "no ``#!`` line, and not make the file executable." msgstr "" +"Adiciona uma linha ``#!`` ao arquivo especificando *interpreter* como o " +"comando a ser executado. Além disso, no POSIX, torne o arquivo executável. O " +"padrão é não escrever nenhuma linha ``#!`` e não tornar o arquivo executável." #: ../../library/zipapp.rst:75 msgid "" @@ -103,20 +124,26 @@ msgid "" "a package/module in the archive, and \"fn\" is a callable in the given " "module. The ``__main__.py`` file will execute that callable." msgstr "" +"Escreve um arquivo ``__main__.py`` no arquivo que executa *mainfn*. O " +"argumento *mainfn* deve ter o formato \"pkg.mod:fn\", onde \"pkg.mod\" é um " +"pacote/módulo no arquivo, e \"fn\" é um chamável no módulo fornecido. O " +"arquivo ``__main__.py`` executará esse chamável." #: ../../library/zipapp.rst:80 msgid ":option:`--main` cannot be specified when copying an archive." -msgstr "" +msgstr ":option:`--main` não pode ser especificado ao copiar um arquivo." #: ../../library/zipapp.rst:84 msgid "" "Compress files with the deflate method, reducing the size of the output " "file. By default, files are stored uncompressed in the archive." msgstr "" +"Compacta arquivos com o método deflate, reduzindo o tamanho do arquivo de " +"saída. Por padrão, os arquivos são armazenados descompactados no arquivo." #: ../../library/zipapp.rst:87 msgid ":option:`--compress` has no effect when copying an archive." -msgstr "" +msgstr ":option:`--compress` não tem efeito ao copiar um arquivo." #: ../../library/zipapp.rst:93 msgid "" @@ -124,24 +151,29 @@ msgid "" "In this case, any other options are ignored and SOURCE must be an archive, " "not a directory." msgstr "" +"Exibe o interpretador incorporado no arquivo, para fins de diagnóstico. " +"Neste caso, quaisquer outras opções são ignoradas e SOURCE deve ser um " +"arquivo, não um diretório." #: ../../library/zipapp.rst:99 msgid "Print a short usage message and exit." -msgstr "" +msgstr "Exibe uma mensagem curta de uso e sai" #: ../../library/zipapp.rst:105 msgid "Python API" -msgstr "API Python" +msgstr "API do Python" #: ../../library/zipapp.rst:107 msgid "The module defines two convenience functions:" -msgstr "" +msgstr "O módulo define duas funções de conveniência:" #: ../../library/zipapp.rst:112 msgid "" "Create an application archive from *source*. The source can be any of the " "following:" msgstr "" +"Cria um arquivo de aplicação a partir de *source*. A fonte pode ser qualquer " +"um dos seguintes:" #: ../../library/zipapp.rst:115 msgid "" @@ -149,6 +181,9 @@ msgid "" "directory, in which case a new application archive will be created from the " "content of that directory." msgstr "" +"O nome de um diretório, ou um :term:`objeto caminho ou similar` referente a " +"um diretório, caso em que um novo arquivo de aplicação será criado a partir " +"do conteúdo desse diretório." #: ../../library/zipapp.rst:118 msgid "" @@ -157,6 +192,11 @@ msgid "" "target (modifying it to reflect the value given for the *interpreter* " "argument). The file name should include the ``.pyz`` extension, if required." msgstr "" +"O nome de um arquivo de aplicação existente, ou um :term:`objeto caminho ou " +"similar` referindo-se a tal arquivo, em cujo caso o arquivo é copiado para o " +"alvo (modificando-o para refletir o valor dado para o argumento " +"*interpreter*). O nome do arquivo deve incluir a extensão ``.pyz``, se " +"necessário." #: ../../library/zipapp.rst:122 msgid "" @@ -164,23 +204,30 @@ msgid "" "should be an application archive, and the file object is assumed to be " "positioned at the start of the archive." msgstr "" +"Um objeto arquivo aberto para leitura no modo bytes. O conteúdo do arquivo " +"deve ser um arquivo de aplicação, e o objeto arquivo é presumido como " +"estando posicionado no início do arquivo." #: ../../library/zipapp.rst:126 msgid "" "The *target* argument determines where the resulting archive will be written:" -msgstr "" +msgstr "O argumento *target* determina onde o arquivo resultante será escrito:" #: ../../library/zipapp.rst:129 msgid "" "If it is the name of a file, or a :term:`path-like object`, the archive will " "be written to that file." msgstr "" +"Se for o nome de um arquivo ou um :term:`objeto caminho ou similar`, o " +"arquivo será escrito nesse arquivo." #: ../../library/zipapp.rst:131 msgid "" "If it is an open file object, the archive will be written to that file " "object, which must be open for writing in bytes mode." msgstr "" +"Se for um objeto arquivo aberto, o arquivo será escrito naquele objeto " +"arquivo, que deve estar aberto para escrita no modo bytes." #: ../../library/zipapp.rst:133 msgid "" @@ -188,6 +235,9 @@ msgid "" "the target will be a file with the same name as the source, with a ``.pyz`` " "extension added." msgstr "" +"Se o destino for omitido (ou ``Nenhum``), a fonte deverá ser um diretório e " +"o destino será um arquivo com o mesmo nome da fonte, com uma extensão " +"``.pyz`` adicionada." #: ../../library/zipapp.rst:137 msgid "" @@ -199,6 +249,13 @@ msgid "" "is specified, and the target is a filename, the executable bit of the target " "file will be set." msgstr "" +"O argumento *interpreter* especifica o nome do interpretador Python com o " +"qual o arquivo será executado. Ele é escrito como uma linha \"shebang\" no " +"início do arquivo. No POSIX, isso será interpretado pelo sistema " +"operacional, e no Windows será manipulado pelo inicializador Python. Omitir " +"o *interpreter* resulta em nenhuma linha shebang sendo escrita. Se um " +"interpretador for especificado, e o alvo for um nome de arquivo, o bit " +"executável do arquivo alvo será definido." #: ../../library/zipapp.rst:145 msgid "" @@ -211,6 +268,14 @@ msgid "" "a directory and does not contain a ``__main__.py`` file, as otherwise the " "resulting archive would not be executable." msgstr "" +"O argumento *main* especifica o nome de um chamável que será usado como o " +"programa principal para o arquivo. Ele só pode ser especificado se a fonte " +"for um diretório, e a fonte ainda não contiver um arquivo ``__main__.py``. O " +"argumento *main* deve ter o formato \"pkg.módulo:chamável\" e o arquivo será " +"executado importando \"pkg.módulo\" e executando o chamável fornecido sem " +"argumentos. É um erro omitir *main* se a fonte for um diretório e não " +"contiver um arquivo ``__main__.py``, pois, caso contrário, o arquivo " +"resultante não seria executável." #: ../../library/zipapp.rst:155 msgid "" @@ -218,6 +283,10 @@ msgid "" "a Path object representing the path to the file being added (relative to the " "source directory). It should return ``True`` if the file is to be added." msgstr "" +"O argumento opcional *filter* especifica uma função de retorno de chamada " +"que recebe um objeto Path representando o caminho para o arquivo que está " +"sendo adicionado (relativo ao diretório da fonte). Ele deve retornar " +"``True`` se o arquivo for adicionado." #: ../../library/zipapp.rst:160 msgid "" @@ -226,24 +295,35 @@ msgid "" "method; otherwise, files are stored uncompressed. This argument has no " "effect when copying an existing archive." msgstr "" +"O argumento opcional *compressed* determina se os arquivos são compactados. " +"Se definido como ``True``, os arquivos no arquivo são compactados com o " +"método deflate; caso contrário, os arquivos são armazenados descompactados. " +"Este argumento não tem efeito ao copiar um arquivo existente." #: ../../library/zipapp.rst:165 msgid "" "If a file object is specified for *source* or *target*, it is the caller's " "responsibility to close it after calling create_archive." msgstr "" +"Se um objeto arquivo for especificado para *source* ou *target*, é " +"responsabilidade do chamador fechá-lo após chamar create_archive." #: ../../library/zipapp.rst:168 msgid "" "When copying an existing archive, file objects supplied only need ``read`` " "and ``readline``, or ``write`` methods. When creating an archive from a " -"directory, if the target is a file object it will be passed to the ``zipfile." -"ZipFile`` class, and must supply the methods needed by that class." +"directory, if the target is a file object it will be passed to the " +"``zipfile.ZipFile`` class, and must supply the methods needed by that class." msgstr "" +"Ao copiar um arquivo existente, os objetos arquivo fornecidos precisam " +"apenas dos métodos ``read`` e ``readline`` ou ``write``. Ao criar um arquivo " +"de um diretório, se o alvo for um objeto arquivo, ele será passado para a " +"classe ``zipfile.ZipFile`` e deve fornecer os métodos necessários para essa " +"classe." #: ../../library/zipapp.rst:174 -msgid "Added the *filter* and *compressed* arguments." -msgstr "" +msgid "Added the *filter* and *compressed* parameters." +msgstr "Adicionados os parâmetros *filter* e *compressed*." #: ../../library/zipapp.rst:179 msgid "" @@ -252,6 +332,10 @@ msgid "" "argument can be a filename or a file-like object open for reading in bytes " "mode. It is assumed to be at the start of the archive." msgstr "" +"Retorna o interpretador especificado na linha ``#!`` no início do arquivo. " +"Se não houver nenhuma linha ``#!``, retorna :const:`None`. O argumento " +"*archive* pode ser um nome de arquivo ou um objeto arquivo ou similar aberto " +"para leitura no modo bytes. É presumido esteja no início do arquivo." #: ../../library/zipapp.rst:188 msgid "Examples" @@ -259,33 +343,43 @@ msgstr "Exemplos" #: ../../library/zipapp.rst:190 msgid "Pack up a directory into an archive, and run it." -msgstr "" +msgstr "Compacte um diretório em um arquivo e execute-o." #: ../../library/zipapp.rst:198 msgid "The same can be done using the :func:`create_archive` function::" -msgstr "" +msgstr "O mesmo pode ser feito usando a função :func:`create_archive`::" #: ../../library/zipapp.rst:203 msgid "" "To make the application directly executable on POSIX, specify an interpreter " "to use." msgstr "" +"Para tornar o aplicativo diretamente executável no POSIX, especifique um " +"interpretador a ser usado." #: ../../library/zipapp.rst:212 msgid "" "To replace the shebang line on an existing archive, create a modified " "archive using the :func:`create_archive` function::" msgstr "" +"Para substituir a linha shebang em um arquivo existente, crie um arquivo " +"modificado usando a função :func:`create_archive`::" #: ../../library/zipapp.rst:218 msgid "" -"To update the file in place, do the replacement in memory using a :class:" -"`~io.BytesIO` object, and then overwrite the source afterwards. Note that " -"there is a risk when overwriting a file in place that an error will result " -"in the loss of the original file. This code does not protect against such " -"errors, but production code should do so. Also, this method will only work " -"if the archive fits in memory::" +"To update the file in place, do the replacement in memory using " +"a :class:`~io.BytesIO` object, and then overwrite the source afterwards. " +"Note that there is a risk when overwriting a file in place that an error " +"will result in the loss of the original file. This code does not protect " +"against such errors, but production code should do so. Also, this method " +"will only work if the archive fits in memory::" msgstr "" +"Para atualizar o arquivo no local, faça a substituição na memória usando um " +"objeto :class:`~io.BytesIO` e, em seguida, sobrescreva a fonte depois. " +"Observe que há um risco ao sobrescrever um arquivo no local de que um erro " +"resultará na perda do arquivo original. Este código não protege contra tais " +"erros, mas o código de produção deve fazê-lo. Além disso, este método só " +"funcionará se o arquivo couber na memória::" #: ../../library/zipapp.rst:236 msgid "Specifying the Interpreter" @@ -298,6 +392,10 @@ msgid "" "Python launcher for Windows supports most common forms of POSIX ``#!`` line, " "but there are other issues to consider:" msgstr "" +"Observe que se você especificar um interpretador e então distribuir seu " +"arquivo de aplicação, você precisa garantir que o interpretador usado seja " +"portátil. O inicializador Python para Windows oferece suporte às formas mais " +"comuns da linha POSIX ``#!``, mas há outras questões a serem consideradas:" #: ../../library/zipapp.rst:243 msgid "" @@ -306,6 +404,10 @@ msgid "" "may have either Python 2 or Python 3 as their default, and write your code " "to work under both versions." msgstr "" +"Se você usar \"/usr/bin/env python\" (ou outras formas do comando " +"\"python\", como \"/usr/bin/python\"), você precisa considerar que seus " +"usuários podem ter Python 2 ou Python 3 como padrão, e escrever seu código " +"para funcionar em ambas as versões." #: ../../library/zipapp.rst:247 msgid "" @@ -313,6 +415,10 @@ msgid "" "application will not work for users who do not have that version. (This may " "be what you want if you have not made your code Python 2 compatible)." msgstr "" +"Se você usar uma versão explícita, por exemplo \"/usr/bin/env python3\", sua " +"aplicação não funcionará para usuários que não tenham essa versão. (Isso " +"pode ser o que você quer se não tiver tornado seu código compatível com " +"Python 2)." #: ../../library/zipapp.rst:250 msgid "" @@ -320,16 +426,21 @@ msgid "" "exact version like \"/usr/bin/env python3.4\" as you will need to change " "your shebang line for users of Python 3.5, for example." msgstr "" +"Não há como dizer \"python X.Y ou posterior\", então tome cuidado ao usar " +"uma versão exata como \"/usr/bin/env python3.4\", pois você precisará " +"alterar sua linha shebang para usuários do Python 3.5, por exemplo." #: ../../library/zipapp.rst:254 msgid "" "Typically, you should use an \"/usr/bin/env python2\" or \"/usr/bin/env " "python3\", depending on whether your code is written for Python 2 or 3." msgstr "" +"Normalmente, você deve usar \"/usr/bin/env python2\" ou \"/usr/bin/env " +"python3\", dependendo se seu código foi escrito para Python 2 ou 3." #: ../../library/zipapp.rst:259 msgid "Creating Standalone Applications with zipapp" -msgstr "" +msgstr "Criando aplicações autônomas com zipapp" #: ../../library/zipapp.rst:261 msgid "" @@ -339,10 +450,15 @@ msgid "" "this is to bundle all of the application's dependencies into the archive, " "along with the application code." msgstr "" +"Usando o módulo :mod:`zipapp`, é possível criar programas Python " +"autocontidos, que podem ser distribuídos para usuários finais que precisam " +"apenas ter uma versão adequada do Python instalada em seu sistema. A chave " +"para fazer isso é agrupar todas as dependências da aplicação no arquivo, " +"junto com o código da aplicação." #: ../../library/zipapp.rst:267 msgid "The steps to create a standalone archive are as follows:" -msgstr "" +msgstr "As etapas para criar um arquivo autônomo são as seguintes:" #: ../../library/zipapp.rst:269 msgid "" @@ -350,12 +466,17 @@ msgid "" "directory containing a ``__main__.py`` file, and any supporting application " "code." msgstr "" +"Crie sua aplicação em um diretório normalmente, para que você tenha um " +"diretório ``myapp`` contendo um arquivo ``__main__.py`` e qualquer código de " +"aplicação de suporte." #: ../../library/zipapp.rst:273 msgid "" "Install all of your application's dependencies into the ``myapp`` directory, " "using pip:" msgstr "" +"Instale todas as dependências da sua aplicação no diretório ``myapp``, " +"usando pip:" #: ../../library/zipapp.rst:280 msgid "" @@ -363,27 +484,26 @@ msgid "" "file - if not, you can just list the dependencies manually on the pip " "command line)." msgstr "" +"(isso presume que você tenha os requisitos do seu projeto em um arquivo " +"``requirements.txt`` - caso contrário, você pode simplesmente listar as " +"dependências manualmente na linha de comando do pip)." #: ../../library/zipapp.rst:284 -msgid "" -"Optionally, delete the ``.dist-info`` directories created by pip in the " -"``myapp`` directory. These hold metadata for pip to manage the packages, and " -"as you won't be making any further use of pip they aren't required - " -"although it won't do any harm if you leave them." -msgstr "" - -#: ../../library/zipapp.rst:289 msgid "Package the application using:" msgstr "Empacote a aplicação usando:" -#: ../../library/zipapp.rst:295 +#: ../../library/zipapp.rst:290 msgid "" "This will produce a standalone executable, which can be run on any machine " "with the appropriate interpreter available. See :ref:`zipapp-specifying-the-" "interpreter` for details. It can be shipped to users as a single file." msgstr "" +"Isso produzirá um executável autônomo, que pode ser executado em qualquer " +"máquina com o interpretador apropriado disponível. Veja :ref:`zipapp-" +"specifying-the-interpreter` para detalhes. Ele pode ser enviado aos usuários " +"como um único arquivo." -#: ../../library/zipapp.rst:299 +#: ../../library/zipapp.rst:294 msgid "" "On Unix, the ``myapp.pyz`` file is executable as it stands. You can rename " "the file to remove the ``.pyz`` extension if you prefer a \"plain\" command " @@ -391,21 +511,26 @@ msgid "" "fact that the Python interpreter registers the ``.pyz`` and ``.pyzw`` file " "extensions when installed." msgstr "" +"No Unix, o arquivo ``myapp.pyz`` é executável como está. Você pode renomear " +"o arquivo para remover a extensão ``.pyz`` se preferir um nome de comando " +"\"simples\". No Windows, o arquivo ``myapp.pyz[w]`` é executável em virtude " +"do fato de que o interpretador Python registra as extensões de arquivo " +"``.pyz`` e ``.pyzw`` quando instalado." -#: ../../library/zipapp.rst:307 +#: ../../library/zipapp.rst:302 msgid "Making a Windows executable" msgstr "" -#: ../../library/zipapp.rst:309 +#: ../../library/zipapp.rst:304 msgid "" "On Windows, registration of the ``.pyz`` extension is optional, and " "furthermore, there are certain places that don't recognise registered " -"extensions \"transparently\" (the simplest example is that ``subprocess." -"run(['myapp'])`` won't find your application - you need to explicitly " -"specify the extension)." +"extensions \"transparently\" (the simplest example is that " +"``subprocess.run(['myapp'])`` won't find your application - you need to " +"explicitly specify the extension)." msgstr "" -#: ../../library/zipapp.rst:315 +#: ../../library/zipapp.rst:310 msgid "" "On Windows, therefore, it is often preferable to create an executable from " "the zipapp. This is relatively easy, although it does require a C " @@ -416,31 +541,31 @@ msgid "" "application." msgstr "" -#: ../../library/zipapp.rst:322 +#: ../../library/zipapp.rst:317 msgid "A suitable launcher can be as simple as the following::" msgstr "" -#: ../../library/zipapp.rst:347 +#: ../../library/zipapp.rst:342 msgid "" "If you define the ``WINDOWS`` preprocessor symbol, this will generate a GUI " "executable, and without it, a console executable." msgstr "" -#: ../../library/zipapp.rst:350 +#: ../../library/zipapp.rst:345 msgid "" "To compile the executable, you can either just use the standard MSVC command " "line tools, or you can take advantage of the fact that distutils knows how " "to compile Python source::" msgstr "" -#: ../../library/zipapp.rst:377 +#: ../../library/zipapp.rst:372 msgid "" "The resulting launcher uses the \"Limited ABI\", so it will run unchanged " -"with any version of Python 3.x. All it needs is for Python (``python3." -"dll``) to be on the user's ``PATH``." +"with any version of Python 3.x. All it needs is for Python " +"(``python3.dll``) to be on the user's ``PATH``." msgstr "" -#: ../../library/zipapp.rst:381 +#: ../../library/zipapp.rst:376 msgid "" "For a fully standalone distribution, you can distribute the launcher with " "your application appended, bundled with the Python \"embedded\" " @@ -448,18 +573,18 @@ msgid "" "bit or 64 bit)." msgstr "" -#: ../../library/zipapp.rst:387 +#: ../../library/zipapp.rst:382 msgid "Caveats" -msgstr "" +msgstr "Advertência" -#: ../../library/zipapp.rst:389 +#: ../../library/zipapp.rst:384 msgid "" "There are some limitations to the process of bundling your application into " "a single file. In most, if not all, cases they can be addressed without " "needing major changes to your application." msgstr "" -#: ../../library/zipapp.rst:393 +#: ../../library/zipapp.rst:388 msgid "" "If your application depends on a package that includes a C extension, that " "package cannot be run from a zip file (this is an OS limitation, as " @@ -472,8 +597,19 @@ msgid "" "(and potentially pick the correct version to add to ``sys.path`` at runtime, " "based on the user's machine)." msgstr "" +"Se sua aplicação depende de um pacote que inclui uma extensão C, esse pacote " +"não pode ser executado a partir de um arquivo zip (essa é uma limitação do " +"sistema operacional, pois o código executável deve estar presente no sistema " +"de arquivos para que o carregador do sistema operacional o carregue). Nesse " +"caso, você pode excluir essa dependência do arquivo zip e exigir que seus " +"usuários o tenham instalado ou enviá-lo junto com seu arquivo zip e " +"adicionar código ao seu ``__main__.py`` para incluir o diretório que contém " +"o módulo descompactado em ``sys.path``. Nesse caso, você precisará " +"certificar-se de enviar binários apropriados para sua(s) arquitetura(s) de " +"destino (e potencialmente escolher a versão correta para adicionar ao " +"``sys.path`` no tempo de execução, com base na máquina do usuário)." -#: ../../library/zipapp.rst:403 +#: ../../library/zipapp.rst:398 msgid "" "If you are shipping a Windows executable as described above, you either need " "to ensure that your users have ``python3.dll`` on their PATH (which is not " @@ -481,22 +617,22 @@ msgid "" "application with the embedded distribution." msgstr "" -#: ../../library/zipapp.rst:408 +#: ../../library/zipapp.rst:403 msgid "" "The suggested launcher above uses the Python embedding API. This means that " "in your application, ``sys.executable`` will be your application, and *not* " "a conventional Python interpreter. Your code and its dependencies need to " "be prepared for this possibility. For example, if your application uses " -"the :mod:`multiprocessing` module, it will need to call :func:" -"`multiprocessing.set_executable` to let the module know where to find the " -"standard Python interpreter." +"the :mod:`multiprocessing` module, it will need to " +"call :func:`multiprocessing.set_executable` to let the module know where to " +"find the standard Python interpreter." msgstr "" -#: ../../library/zipapp.rst:418 +#: ../../library/zipapp.rst:413 msgid "The Python Zip Application Archive Format" -msgstr "" +msgstr "O formato de arquivo da aplicação zip Python" -#: ../../library/zipapp.rst:420 +#: ../../library/zipapp.rst:415 msgid "" "Python has been able to execute zip files which contain a ``__main__.py`` " "file since version 2.6. In order to be executed by Python, an application " @@ -506,19 +642,30 @@ msgid "" "be placed on :data:`sys.path` and thus further modules can be imported from " "the zip file." msgstr "" +"O Python tem sido capaz de executar arquivos zip que contêm um arquivo " +"``__main__.py`` desde a versão 2.6. Para ser executado pelo Python, um " +"arquivo de aplicação simplesmente tem que ser um arquivo zip padrão contendo " +"um arquivo ``__main__.py`` que será executado como o ponto de entrada para o " +"aplicativo. Como de costume para qualquer script Python, o pai do script " +"(neste caso, o arquivo zip) será colocado em :data:`sys.path` e, portanto, " +"outros módulos podem ser importados do arquivo zip." -#: ../../library/zipapp.rst:427 +#: ../../library/zipapp.rst:422 msgid "" "The zip file format allows arbitrary data to be prepended to a zip file. " "The zip application format uses this ability to prepend a standard POSIX " "\"shebang\" line to the file (``#!/path/to/interpreter``)." msgstr "" +"O formato de arquivo zip permite que dados arbitrários sejam prefixados a um " +"arquivo zip. O formato de aplicação zip usa essa habilidade para prefixar " +"uma linha \"shebang\" padrão POSIX ao arquivo (``#!/caminho/para/" +"interpretador``)." -#: ../../library/zipapp.rst:431 +#: ../../library/zipapp.rst:426 msgid "Formally, the Python zip application format is therefore:" -msgstr "" +msgstr "Formalmente, o formato de aplicação zip Python é:" -#: ../../library/zipapp.rst:433 +#: ../../library/zipapp.rst:428 msgid "" "An optional shebang line, containing the characters ``b'#!'`` followed by an " "interpreter name, and then a newline (``b'\\n'``) character. The " @@ -528,27 +675,37 @@ msgid "" "POSIX." msgstr "" -#: ../../library/zipapp.rst:438 +#: ../../library/zipapp.rst:433 msgid "" "Standard zipfile data, as generated by the :mod:`zipfile` module. The " "zipfile content *must* include a file called ``__main__.py`` (which must be " "in the \"root\" of the zipfile - i.e., it cannot be in a subdirectory). The " "zipfile data can be compressed or uncompressed." msgstr "" +"Dados padrão do zipfile, conforme gerados pelo módulo :mod:`zipfile`. O " +"conteúdo do zipfile *deve* incluir um arquivo chamado ``__main__.py`` (que " +"deve estar na \"raiz\" do zipfile - ou seja, não pode estar em um " +"subdiretório). Os dados do zipfile podem ser compactados ou descompactados." -#: ../../library/zipapp.rst:443 +#: ../../library/zipapp.rst:438 msgid "" "If an application archive has a shebang line, it may have the executable bit " "set on POSIX systems, to allow it to be executed directly." msgstr "" +"Se um arquivo de aplicação tiver uma linha shebang, ele poderá ter o bit " +"executável definido em sistemas POSIX, para permitir que seja executado " +"diretamente." -#: ../../library/zipapp.rst:446 +#: ../../library/zipapp.rst:441 msgid "" "There is no requirement that the tools in this module are used to create " "application archives - the module is a convenience, but archives in the " "above format created by any means are acceptable to Python." msgstr "" +"Não há exigência de que as ferramentas neste módulo sejam usadas para criar " +"arquivos de aplicações - o módulo é uma conveniência, mas arquivos no " +"formato acima criados por qualquer meio são aceitáveis para Python." #: ../../library/zipapp.rst:11 msgid "Executable Zip Files" -msgstr "" +msgstr "Arquivos zip executáveis" diff --git a/library/zipfile.po b/library/zipfile.po index 579f18a39..1e9f9352c 100644 --- a/library/zipfile.po +++ b/library/zipfile.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Giovana Morais , 2021 -# Christian Janiake , 2021 -# i17obot , 2021 -# Henrique Junqueira, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -48,7 +41,7 @@ msgstr "" "O formato de arquivo ZIP é um padrão de compactação e arquivamento. Este " "módulo fornece ferramentas para criar, ler, escrever, adicionar, e listar um " "arquivo ZIP. Qualquer uso avançado deste módulo vai exigir um entendimento " -"do formato, como definido em `PKZIP Application Note`_." +"do formato, como definido nas `Notas de Aplicação do PKZIP`_." #: ../../library/zipfile.rst:19 msgid "" @@ -98,10 +91,13 @@ msgstr "" #: ../../library/zipfile.rst:58 msgid "" -"Class that implements a subset of the interface provided by :class:`pathlib." -"Path`, including the full :class:`importlib.resources.abc.Traversable` " -"interface." +"Class that implements a subset of the interface provided " +"by :class:`pathlib.Path`, including the " +"full :class:`importlib.resources.abc.Traversable` interface." msgstr "" +"Classe que implementa um subconjunto da interface fornecida " +"por :class:`pathlib.Path`, incluindo a interface " +"completa :class:`importlib.resources.abc.Traversable`." #: ../../library/zipfile.rst:68 msgid "Class for creating ZIP archives containing Python libraries." @@ -115,12 +111,12 @@ msgid "" "module will not need to create these, but only use those created by this " "module. *filename* should be the full name of the archive member, and " "*date_time* should be a tuple containing six fields which describe the time " -"of the last modification to the file; the fields are described in section :" -"ref:`zipinfo-objects`." +"of the last modification to the file; the fields are described in " +"section :ref:`zipinfo-objects`." msgstr "" "Classe usada para representar informação sobre um membro de um archive. " -"Instâncias desta classe são retornadas pelos métodos :meth:`.getinfo` e :" -"meth:`.infolist` de objetos da classe :class:`ZipFile`. A maioria dos " +"Instâncias desta classe são retornadas pelos métodos :meth:`.getinfo` " +"e :meth:`.infolist` de objetos da classe :class:`ZipFile`. A maioria dos " "usuários do módulo :mod:`zipfile` não vai precisar criar, mas apenas usar " "objetos criados pelo módulo. *filename* deveria ser o caminho completo do " "membro do arquivo, e *date_time* deveria ser uma tupla contendo seis campos " @@ -133,9 +129,9 @@ msgid "" "number, otherwise returns ``False``. *filename* may be a file or file-like " "object too." msgstr "" -"Retorna ``True`` se *filename* é um arquivo ZIP válido baseado no seu magic " -"number, caso contrário retorna ``False``. *filename* pode ser um arquivo ou " -"um objeto arquivo ou similar também." +"Retorna ``True`` se *filename* é um arquivo ZIP válido baseado no seu " +"\"magic number\", caso contrário retorna ``False``. *filename* pode ser um " +"arquivo ou um objeto arquivo ou similar também." #: ../../library/zipfile.rst:87 msgid "Support for file and file-like objects." @@ -150,24 +146,24 @@ msgid "" "The numeric constant for the usual ZIP compression method. This requires " "the :mod:`zlib` module." msgstr "" -"Código numérico para o método de compactação usual. Requer o módulo :mod:" -"`zlib` ." +"Código numérico para o método de compactação usual. Requer o " +"módulo :mod:`zlib` ." #: ../../library/zipfile.rst:104 msgid "" -"The numeric constant for the BZIP2 compression method. This requires the :" -"mod:`bz2` module." +"The numeric constant for the BZIP2 compression method. This requires " +"the :mod:`bz2` module." msgstr "" -"Código numérico para o método de compactação BZIP2. Requer o módulo :mod:" -"`bz2`." +"Código numérico para o método de compactação BZIP2. Requer o " +"módulo :mod:`bz2`." #: ../../library/zipfile.rst:111 msgid "" -"The numeric constant for the LZMA compression method. This requires the :" -"mod:`lzma` module." +"The numeric constant for the LZMA compression method. This requires " +"the :mod:`lzma` module." msgstr "" -"Código numérico para o método de compactação LZMA. Requer o módulo :mod:" -"`lzma`." +"Código numérico para o método de compactação LZMA. Requer o " +"módulo :mod:`lzma`." #: ../../library/zipfile.rst:118 msgid "" @@ -185,7 +181,7 @@ msgstr "" #: ../../library/zipfile.rst:129 msgid "`PKZIP Application Note`_" -msgstr "`PKZIP Notas da Aplicação`_" +msgstr "`Notas da Aplicação do PKZIP`_" #: ../../library/zipfile.rst:128 msgid "" @@ -197,7 +193,7 @@ msgstr "" #: ../../library/zipfile.rst:132 msgid "`Info-ZIP Home Page `_" -msgstr "" +msgstr "`Site do Info-ZIP `_" #: ../../library/zipfile.rst:132 msgid "" @@ -236,32 +232,33 @@ msgstr "" "O parâmetro *mode* deve ser ``'r'`` para ler um arquivo existente, ``'w'`` " "para truncar e gravar um novo arquivo, ``'a'`` para adicionar a um arquivo " "existente, ou ``'x'`` exclusivamente para criar e gravar um novo arquivo. Se " -"o *mode* é ``'x'`` e *file* se refere a um arquivo existente, um :exc:" -"`FileExistsError` vai ser levantado. Se o *mode* é ``'a'`` e *file* se " -"refere a um arquivo ZIP existente, então arquivos adicionais são adicionados " -"ao mesmo. Se *file* não se refere a um arquivo ZIP, então um novo arquivo " -"ZIP é adicionado ao arquivo. Isso diz respeito a adicionar um arquivo ZIP a " -"um outro arquivo (como por exemplo :file:`python.exe`). Se o *mode* é " -"``'a'`` e o arquivo não existe, ele será criado. Se o *mode* é ``'r'`` ou " -"``'a'``, o arquivo deve ser percorrível." +"o *mode* é ``'x'`` e *file* se refere a um arquivo existente, " +"um :exc:`FileExistsError` vai ser levantado. Se o *mode* é ``'a'`` e *file* " +"se refere a um arquivo ZIP existente, então arquivos adicionais são " +"adicionados ao mesmo. Se *file* não se refere a um arquivo ZIP, então um " +"novo arquivo ZIP é adicionado ao arquivo. Isso diz respeito a adicionar um " +"arquivo ZIP a um outro arquivo (como por exemplo :file:`python.exe`). Se o " +"*mode* é ``'a'`` e o arquivo não existe, ele será criado. Se o *mode* é " +"``'r'`` ou ``'a'``, o arquivo deve ser percorrível." #: ../../library/zipfile.rst:161 msgid "" "*compression* is the ZIP compression method to use when writing the archive, " "and should be :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :const:`ZIP_BZIP2` " -"or :const:`ZIP_LZMA`; unrecognized values will cause :exc:" -"`NotImplementedError` to be raised. If :const:`ZIP_DEFLATED`, :const:" -"`ZIP_BZIP2` or :const:`ZIP_LZMA` is specified but the corresponding module (:" -"mod:`zlib`, :mod:`bz2` or :mod:`lzma`) is not available, :exc:`RuntimeError` " -"is raised. The default is :const:`ZIP_STORED`." +"or :const:`ZIP_LZMA`; unrecognized values will " +"cause :exc:`NotImplementedError` to be raised. " +"If :const:`ZIP_DEFLATED`, :const:`ZIP_BZIP2` or :const:`ZIP_LZMA` is " +"specified but the corresponding module (:mod:`zlib`, :mod:`bz2` " +"or :mod:`lzma`) is not available, :exc:`RuntimeError` is raised. The default " +"is :const:`ZIP_STORED`." msgstr "" "*compression* é o método de compactação ZIP para usar ao escrever o arquivo, " "e deve ser :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :const:`ZIP_BZIP2` " -"ou :const:`ZIP_LZMA`; valores desconhecidos devem causar o levantamento de :" -"exc:`NotImplementedError`. Se :const:`ZIP_DEFLATED`, :const:`ZIP_BZIP2` ou :" -"const:`ZIP_LZMA` for especificado mas o módulo correspondente (:mod:`zlib`, :" -"mod:`bz2` ou :mod:`lzma`) não estiver disponível, é levado um :exc:" -"`RuntimeError`. O valor padrão é :const:`ZIP_STORED`." +"ou :const:`ZIP_LZMA`; valores desconhecidos devem causar o levantamento " +"de :exc:`NotImplementedError`. Se :const:`ZIP_DEFLATED`, :const:`ZIP_BZIP2` " +"ou :const:`ZIP_LZMA` for especificado mas o módulo correspondente " +"(:mod:`zlib`, :mod:`bz2` ou :mod:`lzma`) não estiver disponível, é levado " +"um :exc:`RuntimeError`. O valor padrão é :const:`ZIP_STORED`." #: ../../library/zipfile.rst:169 msgid "" @@ -278,18 +275,19 @@ msgstr "" #: ../../library/zipfile.rst:174 msgid "" "The *compresslevel* parameter controls the compression level to use when " -"writing files to the archive. When using :const:`ZIP_STORED` or :const:" -"`ZIP_LZMA` it has no effect. When using :const:`ZIP_DEFLATED` integers ``0`` " -"through ``9`` are accepted (see :class:`zlib ` for more " -"information). When using :const:`ZIP_BZIP2` integers ``1`` through ``9`` are " -"accepted (see :class:`bz2 ` for more information)." +"writing files to the archive. When using :const:`ZIP_STORED` " +"or :const:`ZIP_LZMA` it has no effect. When using :const:`ZIP_DEFLATED` " +"integers ``0`` through ``9`` are accepted (see :class:`zlib " +"` for more information). When using :const:`ZIP_BZIP2` " +"integers ``1`` through ``9`` are accepted (see :class:`bz2 ` " +"for more information)." msgstr "" "O parâmetro *compresslevel* controla o nível de compactação para usar ao " "gravar no arquivo ZIP. Quando usado :const:`ZIP_STORED` ou :const:`ZIP_LZMA` " "não tem efeito. Quando usado :const:`ZIP_DEFLATED` inteiros de ``0`` a ``9`` " "são aceitos (veja :class:`zlib ` para mais informações). " -"Quando usado :const:`ZIP_BZIP2` inteiros de ``1`` a ``9`` são aceitos (veja :" -"class:`bz2 ` para mais informações)." +"Quando usado :const:`ZIP_BZIP2` inteiros de ``1`` a ``9`` são aceitos " +"(veja :class:`bz2 ` para mais informações)." #: ../../library/zipfile.rst:182 ../../library/zipfile.rst:734 msgid "" @@ -310,16 +308,19 @@ msgid "" "which will be used to decode metadata such as the names of members and ZIP " "comments." msgstr "" +"Quando o modo é ``'r'``, *metadata_encoding* pode ser definido como o nome " +"de um codec, que será usado para decodificar metadados, como os nomes dos " +"membros e comentários ZIP." #: ../../library/zipfile.rst:192 msgid "" -"If the file is created with mode ``'w'``, ``'x'`` or ``'a'`` and then :meth:" -"`closed ` without adding any files to the archive, the appropriate " -"ZIP structures for an empty archive will be written to the file." +"If the file is created with mode ``'w'``, ``'x'`` or ``'a'`` and " +"then :meth:`closed ` without adding any files to the archive, the " +"appropriate ZIP structures for an empty archive will be written to the file." msgstr "" -"Se o arquivo é criado com modo ``'w'``, ``'x'`` ou ``'a'`` e então :meth:" -"`closed` sem adicionar nada ao arquivo, a estrutura própria para um arquivo " -"vazio será escrita no arquivo." +"Se o arquivo é criado com modo ``'w'``, ``'x'`` ou ``'a'`` e " +"então :meth:`closed ` sem adicionar nada ao arquivo, a estrutura " +"própria para um arquivo vazio será escrita no arquivo." #: ../../library/zipfile.rst:196 msgid "" @@ -327,15 +328,17 @@ msgid "" "statement. In the example, *myzip* is closed after the :keyword:`!with` " "statement's suite is finished---even if an exception occurs::" msgstr "" -"ZipFile também é um gerenciador de contexto e portanto suporta a instrução :" -"keyword:`with`. Neste exemplo, *myzip* é fechado ao final da execução da " -"instrução :keyword:`!with` -- mesmo que ocorra uma exceção::" +"ZipFile também é um gerenciador de contexto e portanto suporta a " +"instrução :keyword:`with`. Neste exemplo, *myzip* é fechado ao final da " +"execução da instrução :keyword:`!with` -- mesmo que ocorra uma exceção::" #: ../../library/zipfile.rst:205 msgid "" "*metadata_encoding* is an instance-wide setting for the ZipFile. It is not " "currently possible to set this on a per-member basis." msgstr "" +"*metadata_encoding* é uma configuração em toda a instância para o ZipFile. " +"Atualmente, não é possível definir isso em uma base por membro." #: ../../library/zipfile.rst:208 msgid "" @@ -346,6 +349,13 @@ msgid "" "archive header. That flag takes precedence over *metadata_encoding*, which " "is a Python-specific extension." msgstr "" +"Este atributo é uma solução alternativa para implementações legadas que " +"produzem arquivos com nomes na codificação da localidade atual ou página de " +"código (principalmente no Windows). De acordo com o padrão .ZIP, a " +"codificação dos metadados pode ser especificada como página de código IBM " +"(padrão) ou UTF-8 por meio de um sinalizador no cabeçalho do arquivo. Esse " +"sinalizador tem precedência sobre *metadata_encoding*, que é uma extensão " +"específica do Python." #: ../../library/zipfile.rst:216 msgid "Added the ability to use :class:`ZipFile` as a context manager." @@ -383,15 +393,17 @@ msgstr "O parâmetro *file* aceita um :term:`objeto caminho ou similar`." msgid "Add the *compresslevel* parameter." msgstr "Adicionado o parâmetro *compresslevel*." -#: ../../library/zipfile.rst:239 ../../library/zipfile.rst:745 -msgid "The *strict_timestamps* keyword-only argument" -msgstr "O argumento somente-nomeado *strict_timestamps*" +#: ../../library/zipfile.rst:239 +msgid "The *strict_timestamps* keyword-only parameter." +msgstr "O parâmetro somente-nomeado *strict_timestamps*." #: ../../library/zipfile.rst:242 msgid "" "Added support for specifying member name encoding for reading metadata in " "the zipfile's directory and file headers." msgstr "" +"Adicionado suporte para especificar a codificação do nome do membro ao ler " +"metadados no diretório e cabeçalhos de arquivo do arquivo zip." #: ../../library/zipfile.rst:249 msgid "" @@ -430,14 +442,19 @@ msgid "" "Access a member of the archive as a binary file-like object. *name* can be " "either the name of a file within the archive or a :class:`ZipInfo` object. " "The *mode* parameter, if included, must be ``'r'`` (the default) or " -"``'w'``. *pwd* is the password used to decrypt encrypted ZIP files as a :" -"class:`bytes` object." +"``'w'``. *pwd* is the password used to decrypt encrypted ZIP files as " +"a :class:`bytes` object." msgstr "" +"Acessa um membro do arquivo como um objeto binário arquivo ou similar. " +"*name* pode ser o nome de um arquivo membro ou um objeto :class:`ZipInfo`. O " +"parâmetro *mode*, se informado, deve ser ``'r'`` (valor padrão) or ``'w'``. " +"*pwd* é a senha usada para descriptografar arquivos ZIP criptografados como " +"um objeto :class:`bytes`." #: ../../library/zipfile.rst:280 msgid "" -":meth:`~ZipFile.open` is also a context manager and therefore supports the :" -"keyword:`with` statement::" +":meth:`~ZipFile.open` is also a context manager and therefore supports " +"the :keyword:`with` statement::" msgstr "" ":meth:`~ZipFile.open` também é um gerenciador de contexto e, portanto, " "suporta a instrução :keyword:`with`::" @@ -445,18 +462,21 @@ msgstr "" #: ../../library/zipfile.rst:287 msgid "" "With *mode* ``'r'`` the file-like object (``ZipExtFile``) is read-only and " -"provides the following methods: :meth:`~io.BufferedIOBase.read`, :meth:`~io." -"IOBase.readline`, :meth:`~io.IOBase.readlines`, :meth:`~io.IOBase.seek`, :" -"meth:`~io.IOBase.tell`, :meth:`~container.__iter__`, :meth:`~iterator." -"__next__`. These objects can operate independently of the ZipFile." +"provides the following " +"methods: :meth:`~io.BufferedIOBase.read`, :meth:`~io.IOBase.readline`, :meth:`~io.IOBase.readlines`, :meth:`~io.IOBase.seek`, :meth:`~io.IOBase.tell`, :meth:`~container.__iter__`, :meth:`~iterator.__next__`. " +"These objects can operate independently of the ZipFile." msgstr "" +"Com *mode* ``'r'`` o objeto arquivo ou similar (``ZipExtFile``) é somente " +"leitura e fornece os seguintes " +"métodos: :meth:`~io.BufferedIOBase.read`, :meth:`~io.IOBase.readline`, :meth:`~io.IOBase.readlines`, :meth:`~io.IOBase.seek`, :meth:`~io.IOBase.tell`, :meth:`~container.__iter__`, :meth:`~iterator.__next__`. " +"Esses objetos podem operar independentemente do ZipFile." #: ../../library/zipfile.rst:294 msgid "" -"With ``mode='w'``, a writable file handle is returned, which supports the :" -"meth:`~io.BufferedIOBase.write` method. While a writable file handle is " -"open, attempting to read or write other files in the ZIP file will raise a :" -"exc:`ValueError`." +"With ``mode='w'``, a writable file handle is returned, which supports " +"the :meth:`~io.BufferedIOBase.write` method. While a writable file handle " +"is open, attempting to read or write other files in the ZIP file will raise " +"a :exc:`ValueError`." msgstr "" "Com ``mode='w'``, é retornado um manipulador de arquivo, que suporta o " "método :meth:`~io.BufferedIOBase.write`. Quando um manipulador de arquivo " @@ -472,10 +492,10 @@ msgid "" "as the *name* parameter." msgstr "" "Ao gravar um arquivo, se o tamanho do arquivo não é conhecido mas pode " -"exceder 2 Gb, passe ``force_zip64=True`` para assegurar que o formato do " +"exceder 2 GiB, passe ``force_zip64=True`` para assegurar que o formato do " "header é capaz de suportar arquivos grandes. Se o tamanho do arquivo é " -"conhecido, construa um objeto :class:`ZipInfo` com :attr:`~ZipInfo." -"file_size` informado, então use-o como parâmetro *name*." +"conhecido, construa um objeto :class:`ZipInfo` " +"com :attr:`~ZipInfo.file_size` informado, então use-o como parâmetro *name*." #: ../../library/zipfile.rst:307 msgid "" @@ -520,6 +540,12 @@ msgid "" "to extract to. *member* can be a filename or a :class:`ZipInfo` object. " "*pwd* is the password used for encrypted files as a :class:`bytes` object." msgstr "" +"Extrai um membro do arquivo para o diretório atual; *member* deve ser o nome " +"completo ou um objeto :class:`ZipInfo`. A informação do arquivo é extraída " +"com maior precisão possível. *path* especifica um outro diretório em que " +"deve ser gravado. *member* pode ser um nome de arquivo ou um " +"objeto :class:`ZipInfo`. *pwd* é a senha usada para criptografar arquivos " +"como um objeto :class:`bytes`." #: ../../library/zipfile.rst:332 msgid "Returns the normalized path created (a directory or new file)." @@ -562,6 +588,11 @@ msgid "" "and must be a subset of the list returned by :meth:`namelist`. *pwd* is the " "password used for encrypted files as a :class:`bytes` object." msgstr "" +"Extrai todos os membros de um arquivo para o diretório atual. *path* " +"especifica um diretório diferente para gravar os arquivos extraídos. " +"*members* é opcional e deve ser um sub-conjunto da lista retornada " +"por :meth:`namelist`. *pwd* é uma senha usada para criptografar arquivos " +"como um objeto :class:`bytes`." #: ../../library/zipfile.rst:361 msgid "" @@ -573,13 +604,13 @@ msgstr "" "Nunca extrai arquivos de fontes não confiáveis sem inspeção prévia. É " "possível que os arquivos sejam criados fora do *path*, por exemplo membros " "que tem nomes absolutos de arquivos começando com ``\"/\"`` ou nomes com " -"dois pontos ``\"..\"``. Este módulo tenta prevenir isto. Veja nota em :meth:" -"`extract`." +"dois pontos ``\"..\"``. Este módulo tenta prevenir isto. Veja nota " +"em :meth:`extract`." #: ../../library/zipfile.rst:367 msgid "" -"Calling :meth:`extractall` on a closed ZipFile will raise a :exc:" -"`ValueError`. Previously, a :exc:`RuntimeError` was raised." +"Calling :meth:`extractall` on a closed ZipFile will raise " +"a :exc:`ValueError`. Previously, a :exc:`RuntimeError` was raised." msgstr "" "Chama :meth:`extractall` em um ZipFile fechado levanta um :exc:`ValueError`. " "Anteriormente, um :exc:`RuntimeError` era levantado." @@ -593,6 +624,8 @@ msgid "" "Set *pwd* (a :class:`bytes` object) as default password to extract encrypted " "files." msgstr "" +"Define *pwd* (um objeto :class:`bytes`) como senha padrão para extrair " +"arquivos criptografados." #: ../../library/zipfile.rst:387 msgid "" @@ -601,11 +634,21 @@ msgid "" "open for read or append. *pwd* is the password used for encrypted files as " "a :class:`bytes` object and, if specified, overrides the default password " "set with :meth:`setpassword`. Calling :meth:`read` on a ZipFile that uses a " -"compression method other than :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :" -"const:`ZIP_BZIP2` or :const:`ZIP_LZMA` will raise a :exc:" -"`NotImplementedError`. An error will also be raised if the corresponding " -"compression module is not available." -msgstr "" +"compression method other " +"than :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :const:`ZIP_BZIP2` " +"or :const:`ZIP_LZMA` will raise a :exc:`NotImplementedError`. An error will " +"also be raised if the corresponding compression module is not available." +msgstr "" +"Retorna os bytes do arquivo *name* no arquivo compactado. *name* é o nome do " +"arquivo no arquivo compactado, ou um objeto :class:`ZipInfo`. O arquivo " +"compactado deve estar aberto para leitura ou acréscimo. *pwd* é a senha " +"usada para arquivos criptografados como um objeto :class:`bytes` e, se " +"especificada, vai sobrepor a senha padrão configurada " +"com :meth:`setpassword`. Chamar :meth:`read` em um ZipFile que use um método " +"de compactação diferente " +"de :const:`ZIP_STORED`, :const:`ZIP_DEFLATED`, :const:`ZIP_BZIP2` " +"ou :const:`ZIP_LZMA` levanta um :exc:`NotImplementedError`. Um erro também é " +"levantado se o módulo de compactação correspondente não está disponível." #: ../../library/zipfile.rst:396 msgid "" @@ -659,6 +702,13 @@ msgid "" "contain any non-ASCII characters. It is not possible to write member names " "in any encoding other than ASCII or UTF-8." msgstr "" +"O padrão de arquivo ZIP historicamente não especificava uma codificação de " +"metadados, mas recomendava fortemente o CP437 (a codificação original do PC " +"da IBM) para interoperabilidade. Versões recentes permitem o uso de " +"(somente) UTF-8. Neste módulo, o UTF-8 será automaticamente usado para " +"escrever os nomes dos membros se eles contiverem caracteres não ASCII. Não é " +"possível escrever nomes de membros em qualquer codificação que não seja " +"ASCII ou UTF-8." #: ../../library/zipfile.rst:433 msgid "" @@ -736,8 +786,8 @@ msgstr "" "Quando é passada uma instância de :class:`ZipInfo` ou o parâmetro " "*zinfo_or_arcname*, o método de compactação usado será aquele especificado " "no *compress_type* da instância de :class:`ZipInfo`. Por padrão, o " -"construtor da classe :class:`ZipInfo` seta este membro para :const:" -"`ZIP_STORED`." +"construtor da classe :class:`ZipInfo` seta este membro " +"para :const:`ZIP_STORED`." #: ../../library/zipfile.rst:475 msgid "The *compress_type* argument." @@ -750,8 +800,8 @@ msgid "" "was raised." msgstr "" "Chama :meth:`writestr` em um ZipFile criado com modo ``'r'`` ou em um " -"ZipFile fechado levanta um :exc:`ValueError`. Anteriormente, um :exc:" -"`RuntimeError` era levantado." +"ZipFile fechado levanta um :exc:`ValueError`. Anteriormente, " +"um :exc:`RuntimeError` era levantado." #: ../../library/zipfile.rst:485 msgid "" @@ -760,10 +810,14 @@ msgid "" "the *mode* argument. If, however, *zinfo_or_directory* is a :class:`ZipInfo` " "instance then the *mode* argument is ignored." msgstr "" +"Cria um diretório dentro do arquivo. Se *zinfo_or_directory* for uma string, " +"um diretório é criado dentro do arquivo com o modo especificado no argumento " +"*mode*. No entanto, se *zinfo_or_directory* for uma " +"instância :class:`ZipInfo`, o argumento *mode* é ignorado." #: ../../library/zipfile.rst:490 msgid "The archive must be opened with mode ``'w'``, ``'x'`` or ``'a'``." -msgstr "" +msgstr "O arquivo deve ser aberto com o modo ``'w'``, ``'x'`` ou ``'a'``." #: ../../library/zipfile.rst:495 msgid "The following data attributes are also available:" @@ -801,9 +855,9 @@ msgstr "Objetos Path" #: ../../library/zipfile.rst:523 msgid "" -"Construct a Path object from a ``root`` zipfile (which may be a :class:" -"`ZipFile` instance or ``file`` suitable for passing to the :class:`ZipFile` " -"constructor)." +"Construct a Path object from a ``root`` zipfile (which may be " +"a :class:`ZipFile` instance or ``file`` suitable for passing to " +"the :class:`ZipFile` constructor)." msgstr "" "Construir um objeto Path a partir de um arquivo zip ``root`` (que pode ser " "uma instância :class:`ZipFile` ou ``file`` adequado para passar para o " @@ -837,16 +891,16 @@ msgstr "O componente final do caminho." msgid "" "Invoke :meth:`ZipFile.open` on the current path. Allows opening for read or " "write, text or binary through supported modes: 'r', 'w', 'rb', 'wb'. " -"Positional and keyword arguments are passed through to :class:`io." -"TextIOWrapper` when opened as text and ignored otherwise. ``pwd`` is the " -"``pwd`` parameter to :meth:`ZipFile.open`." +"Positional and keyword arguments are passed through " +"to :class:`io.TextIOWrapper` when opened as text and ignored otherwise. " +"``pwd`` is the ``pwd`` parameter to :meth:`ZipFile.open`." msgstr "" "Invoca :meth:`ZipFile.open` no caminho atual. Permite a abertura para " "leitura ou escrita, texto ou binário através dos modos suportados: \"r\", " "\"w\", \"rb\", \"wb\". Argumentos posicionais e argumentos nomeados são " "passados para :class:`io.TextIOWrapper` quando abertos como texto e " -"ignorados caso contrário. ``pwd`` é o parâmetro ``pwd`` para :meth:`ZipFile." -"open`." +"ignorados caso contrário. ``pwd`` é o parâmetro ``pwd`` " +"para :meth:`ZipFile.open`." #: ../../library/zipfile.rst:551 msgid "" @@ -859,9 +913,14 @@ msgstr "" msgid "" "The ``encoding`` parameter can be supplied as a positional argument without " "causing a :exc:`TypeError`. As it could in 3.9. Code needing to be " -"compatible with unpatched 3.10 and 3.11 versions must pass all :class:`io." -"TextIOWrapper` arguments, ``encoding`` included, as keywords." +"compatible with unpatched 3.10 and 3.11 versions must pass " +"all :class:`io.TextIOWrapper` arguments, ``encoding`` included, as keywords." msgstr "" +"O parâmetro ``encoding`` pode ser fornecido como um argumento posicional sem " +"causar um :exc:`TypeError`. Como poderia em 3.9. O código que precisa ser " +"compatível com as versões 3.10 e 3.11 não corrigidas deve passar todos os " +"argumentos de :class:`io.TextIOWrapper`, incluindo ``encoding``, como " +"palavras reservadas." #: ../../library/zipfile.rst:563 msgid "Enumerate the children of the current directory." @@ -885,27 +944,27 @@ msgstr "" #: ../../library/zipfile.rst:580 msgid "The file extension of the final component." -msgstr "" +msgstr "A extensão de arquivo do componente final." #: ../../library/zipfile.rst:582 msgid "Added :data:`Path.suffix` property." -msgstr "" +msgstr "Adicionada a propriedade :data:`Path.suffix`." #: ../../library/zipfile.rst:587 msgid "The final path component, without its suffix." -msgstr "" +msgstr "O componente final do caminho, sem seu sufixo." #: ../../library/zipfile.rst:589 msgid "Added :data:`Path.stem` property." -msgstr "" +msgstr "Adicionada a propriedade :data:`Path.stem`." #: ../../library/zipfile.rst:594 msgid "A list of the path’s file extensions." -msgstr "" +msgstr "Uma lista das extensões de arquivo do caminho." #: ../../library/zipfile.rst:596 msgid "Added :data:`Path.suffixes` property." -msgstr "" +msgstr "Adicionada a propriedade :data:`Path.suffixes`." #: ../../library/zipfile.rst:601 msgid "" @@ -943,6 +1002,10 @@ msgid "" "the latest path object functionality to older Pythons. Use ``zipp.Path`` in " "place of ``zipfile.Path`` for early access to changes." msgstr "" +"O projeto `zipp `_ fornece backports da " +"funcionalidade mais recente de objeto caminho para versões mais antigas do " +"Pythons. Use ``zipp.Path`` internamente de ``zipfile.Path`` para acesso " +"antecipado às alterações." #: ../../library/zipfile.rst:637 msgid "PyZipFile Objects" @@ -950,15 +1013,15 @@ msgstr "Objetos PyZipFile" #: ../../library/zipfile.rst:639 msgid "" -"The :class:`PyZipFile` constructor takes the same parameters as the :class:" -"`ZipFile` constructor, and one additional parameter, *optimize*." +"The :class:`PyZipFile` constructor takes the same parameters as " +"the :class:`ZipFile` constructor, and one additional parameter, *optimize*." msgstr "" -"O construtor :class:`PyZipFile` usa os mesmos parâmetros que o construtor :" -"class:`ZipFile`, e um parâmetro adicional, *otimize*." +"O construtor :class:`PyZipFile` usa os mesmos parâmetros que o " +"construtor :class:`ZipFile`, e um parâmetro adicional, *otimize*." #: ../../library/zipfile.rst:645 -msgid "The *optimize* parameter." -msgstr "O parâmetro *optimize*." +msgid "Added the *optimize* parameter." +msgstr "Adicionado o parâmetro *optimize*." #: ../../library/zipfile.rst:651 msgid "" @@ -1000,21 +1063,21 @@ msgid "" "information). If *pathname* is a file that does not end with :file:`.py`, " "a :exc:`RuntimeError` will be raised. If it is a directory, and the " "directory is not a package directory, then all the files :file:`\\*.pyc` are " -"added at the top level. If the directory is a package directory, then all :" -"file:`\\*.pyc` are added under the package name as a file path, and if any " -"subdirectories are package directories, all of these are added recursively " -"in sorted order." -msgstr "" -"Se *pathname* for um arquivo, o nome do arquivo deverá terminar com :file:`." -"py`, e apenas o arquivo (:file:`\\*.pyc` correspondente) será adicionado no " -"nível superior (sem informações do caminho). Se *pathname* for um arquivo " -"que não termine com :file:`.py`, um :exc:`RuntimeError` será levantado. Se " -"for um diretório, e o diretório não for um diretório de pacotes, todos os " -"arquivos :file:`\\*.pyc` serão adicionados no nível superior. Se o diretório " -"for um diretório de pacotes, todos :file:`\\*.pyc` serão adicionados sob o " -"nome do pacote como um caminho de arquivo e, se algum subdiretório for um " -"diretório de pacotes, todos serão adicionados recursivamente na ordem de " -"classificação." +"added at the top level. If the directory is a package directory, then " +"all :file:`\\*.pyc` are added under the package name as a file path, and if " +"any subdirectories are package directories, all of these are added " +"recursively in sorted order." +msgstr "" +"Se *pathname* for um arquivo, o nome do arquivo deverá terminar " +"com :file:`.py`, e apenas o arquivo (:file:`\\*.pyc` correspondente) será " +"adicionado no nível superior (sem informações do caminho). Se *pathname* for " +"um arquivo que não termine com :file:`.py`, um :exc:`RuntimeError` será " +"levantado. Se for um diretório, e o diretório não for um diretório de " +"pacotes, todos os arquivos :file:`\\*.pyc` serão adicionados no nível " +"superior. Se o diretório for um diretório de pacotes, todos :file:`\\*.pyc` " +"serão adicionados sob o nome do pacote como um caminho de arquivo e, se " +"algum subdiretório for um diretório de pacotes, todos serão adicionados " +"recursivamente na ordem de classificação." #: ../../library/zipfile.rst:675 msgid "*basename* is intended for internal use only." @@ -1043,8 +1106,8 @@ msgid "The :meth:`writepy` method makes archives with file names like this::" msgstr "O método :meth:`writepy` faz arquivos com nomes de arquivo como este::" #: ../../library/zipfile.rst:700 -msgid "The *filterfunc* parameter." -msgstr "O parâmetro *filterfunc*." +msgid "Added the *filterfunc* parameter." +msgstr "Adicionado o parâmetro *filterfunc*." #: ../../library/zipfile.rst:703 msgid "The *pathname* parameter accepts a :term:`path-like object`." @@ -1066,9 +1129,9 @@ msgid "" "and :meth:`.infolist` methods of :class:`ZipFile` objects. Each object " "stores information about a single member of the ZIP archive." msgstr "" -"Instâncias da classe :class:`ZipInfo` são retornadas pelos métodos :meth:`." -"getinfo` e :meth:`.infolist` dos objetos :class:`ZipFile`. Cada objeto " -"armazena informações sobre um único membro do arquivo ZIP." +"Instâncias da classe :class:`ZipInfo` são retornadas pelos " +"métodos :meth:`.getinfo` e :meth:`.infolist` dos objetos :class:`ZipFile`. " +"Cada objeto armazena informações sobre um único membro do arquivo ZIP." #: ../../library/zipfile.rst:719 msgid "" @@ -1108,6 +1171,10 @@ msgstr "" "O parâmetro *filename* aceita um :term:`objeto caminho ou similar `." +#: ../../library/zipfile.rst:745 +msgid "Added the *strict_timestamps* keyword-only parameter." +msgstr "Adicionado o parâmetro somente-nomeado *strict_timestamps*." + #: ../../library/zipfile.rst:749 msgid "Instances have the following methods and attributes:" msgstr "As instâncias têm os seguintes métodos e atributos:" @@ -1211,8 +1278,8 @@ msgid "" "object." msgstr "" "Dados do campo de expansão. O `PKZIP Application Note`_ contém alguns " -"comentários sobre a estrutura interna dos dados contidos neste objeto :class:" -"`bytes`." +"comentários sobre a estrutura interna dos dados contidos neste " +"objeto :class:`bytes`." #: ../../library/zipfile.rst:810 msgid "System which created ZIP archive." @@ -1264,7 +1331,7 @@ msgstr "Tamanho do arquivo não comprimido." #: ../../library/zipfile.rst:872 msgid "Command-Line Interface" -msgstr "Interface de Linha de Comando" +msgstr "Interface de linha de comando" #: ../../library/zipfile.rst:874 msgid "" @@ -1276,11 +1343,12 @@ msgstr "" #: ../../library/zipfile.rst:877 msgid "" -"If you want to create a new ZIP archive, specify its name after the :option:" -"`-c` option and then list the filename(s) that should be included:" +"If you want to create a new ZIP archive, specify its name after " +"the :option:`-c` option and then list the filename(s) that should be " +"included:" msgstr "" -"Se você deseja criar um novo arquivo ZIP, especifique seu nome após a opção :" -"option:`-c` e, em seguida, liste os nomes dos arquivos que devem ser " +"Se você deseja criar um novo arquivo ZIP, especifique seu nome após a " +"opção :option:`-c` e, em seguida, liste os nomes dos arquivos que devem ser " "incluídos:" #: ../../library/zipfile.rst:884 @@ -1289,8 +1357,8 @@ msgstr "Passar um diretório também é aceitável:" #: ../../library/zipfile.rst:890 msgid "" -"If you want to extract a ZIP archive into the specified directory, use the :" -"option:`-e` option:" +"If you want to extract a ZIP archive into the specified directory, use " +"the :option:`-e` option:" msgstr "" "Se você deseja extrair um arquivo ZIP para o diretório especificado, use a " "opção :option:`-e`:" @@ -1323,9 +1391,11 @@ msgstr "Testa se o arquivo zip é válido ou não." #: ../../library/zipfile.rst:929 msgid "" -"Specify encoding of member names for :option:`-l`, :option:`-e` and :option:" -"`-t`." +"Specify encoding of member names for :option:`-l`, :option:`-e` " +"and :option:`-t`." msgstr "" +"Especifica a codificação dos nomes dos membros para :option:`-l`, :option:`-" +"e` e :option:`-t`." #: ../../library/zipfile.rst:936 msgid "Decompression pitfalls" diff --git a/library/zipimport.po b/library/zipimport.po index 628c3ef03..177339f81 100644 --- a/library/zipimport.po +++ b/library/zipimport.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Christian Janiake , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -32,16 +29,21 @@ msgstr "" #: ../../library/zipimport.rst:9 msgid "**Source code:** :source:`Lib/zipimport.py`" -msgstr "" +msgstr "**Código-fonte:** :source:`Lib/zipimport.py`" #: ../../library/zipimport.rst:13 msgid "" -"This module adds the ability to import Python modules (:file:`\\*.py`, :file:" -"`\\*.pyc`) and packages from ZIP-format archives. It is usually not needed " -"to use the :mod:`zipimport` module explicitly; it is automatically used by " -"the built-in :keyword:`import` mechanism for :data:`sys.path` items that are " -"paths to ZIP archives." -msgstr "" +"This module adds the ability to import Python modules " +"(:file:`\\*.py`, :file:`\\*.pyc`) and packages from ZIP-format archives. It " +"is usually not needed to use the :mod:`zipimport` module explicitly; it is " +"automatically used by the built-in :keyword:`import` mechanism " +"for :data:`sys.path` items that are paths to ZIP archives." +msgstr "" +"Este módulo adiciona a capacidade de importar módulos Python " +"(:file:`\\*.py`, :file:`\\*.pyc`) e pacotes de arquivos em formato ZIP. " +"Normalmente, não é necessário usar o módulo :mod:`zipimport` explicitamente; " +"ele é usado automaticamente pelo mecanismo embutido no :keyword:`import` " +"para itens :data:`sys.path` que são caminhos para arquivos ZIP." #: ../../library/zipimport.rst:19 msgid "" @@ -53,26 +55,44 @@ msgid "" "lib/` would only import from the :file:`lib/` subdirectory within the " "archive." msgstr "" +"Normalmente, :data:`sys.path` é uma lista de nomes de diretórios como " +"strings. Este módulo também permite que um item de :data:`sys.path` seja uma " +"string que nomeia um arquivo ZIP. O arquivo ZIP pode conter uma estrutura de " +"subdiretório para suportar importações de pacotes, e um caminho dentro do " +"arquivo pode ser especificado para importar apenas de um subdiretório. Por " +"exemplo, o caminho :file:`example.zip/lib/` importaria apenas do " +"subdiretório :file:`lib/` dentro do arquivo." #: ../../library/zipimport.rst:26 msgid "" "Any files may be present in the ZIP archive, but importers are only invoked " -"for :file:`.py` and :file:`.pyc` files. ZIP import of dynamic modules (:" -"file:`.pyd`, :file:`.so`) is disallowed. Note that if an archive only " +"for :file:`.py` and :file:`.pyc` files. ZIP import of dynamic modules " +"(:file:`.pyd`, :file:`.so`) is disallowed. Note that if an archive only " "contains :file:`.py` files, Python will not attempt to modify the archive by " "adding the corresponding :file:`.pyc` file, meaning that if a ZIP archive " "doesn't contain :file:`.pyc` files, importing may be rather slow." msgstr "" +"Quaisquer arquivos podem estar presentes no arquivo ZIP, mas os importadores " +"são invocados apenas para os arquivos :file:`.py` e :file:`.pyc`. A " +"importação ZIP de módulos dinâmicos (:file:`.pyd`, :file:`.so`) não é " +"permitida. Observe que, se um arquivo contiver apenas arquivos :file:`.py`, " +"o Python não tentará modificá-lo adicionando o arquivo :file:`.pyc` " +"correspondente, o que significa que, se um arquivo ZIP não contiver " +"arquivos :file:`.pyc`, a importação poderá ser bastante lenta." #: ../../library/zipimport.rst:33 msgid "Previously, ZIP archives with an archive comment were not supported." msgstr "" +"Anteriormente, não havia suporte para arquivos ZIP com um comentário de " +"arquivo." #: ../../library/zipimport.rst:40 msgid "" "`PKZIP Application Note `_" msgstr "" +"`Nota da aplicação PKZIP `_" #: ../../library/zipimport.rst:39 msgid "" @@ -84,67 +104,85 @@ msgstr "" #: ../../library/zipimport.rst:45 msgid ":pep:`273` - Import Modules from Zip Archives" -msgstr ":pep:`273` - Importar módulos de arquivos Zip" +msgstr ":pep:`273` - Import Modules from Zip Archives" #: ../../library/zipimport.rst:43 msgid "" "Written by James C. Ahlstrom, who also provided an implementation. Python " "2.3 follows the specification in :pep:`273`, but uses an implementation " -"written by Just van Rossum that uses the import hooks described in :pep:" -"`302`." +"written by Just van Rossum that uses the import hooks described " +"in :pep:`302`." msgstr "" +"Escrito por James C. Ahlstrom, que também forneceu uma implementação. O " +"Python 2.3 segue a especificação em :pep:`273`, mas usa uma implementação " +"escrita por Just van Rossum que utiliza os ganchos de importação descritos " +"em :pep:`302`." #: ../../library/zipimport.rst:48 msgid ":mod:`importlib` - The implementation of the import machinery" -msgstr "" +msgstr ":mod:`importlib` - A importação do maquinário de importação" #: ../../library/zipimport.rst:48 msgid "" "Package providing the relevant protocols for all importers to implement." msgstr "" +"Pacote que fornece os protocolos relevantes para todos os importadores " +"implementarem." #: ../../library/zipimport.rst:52 msgid "This module defines an exception:" -msgstr "" +msgstr "Este módulo define uma exceção:" #: ../../library/zipimport.rst:56 msgid "" -"Exception raised by zipimporter objects. It's a subclass of :exc:" -"`ImportError`, so it can be caught as :exc:`ImportError`, too." +"Exception raised by zipimporter objects. It's a subclass " +"of :exc:`ImportError`, so it can be caught as :exc:`ImportError`, too." msgstr "" +"Exceção levantada por objetos zipimporter. É uma subclasse " +"de :exc:`ImportError`, portanto, também pode ser capturada " +"como :exc:`ImportError`." #: ../../library/zipimport.rst:63 msgid "zipimporter Objects" -msgstr "" +msgstr "Objetos zipimporter" #: ../../library/zipimport.rst:65 msgid ":class:`zipimporter` is the class for importing ZIP files." -msgstr "" +msgstr ":class:`zipimporter` é a classe para importar arquivos ZIP." #: ../../library/zipimport.rst:69 msgid "" "Create a new zipimporter instance. *archivepath* must be a path to a ZIP " "file, or to a specific path within a ZIP file. For example, an " -"*archivepath* of :file:`foo/bar.zip/lib` will look for modules in the :file:" -"`lib` directory inside the ZIP file :file:`foo/bar.zip` (provided that it " -"exists)." +"*archivepath* of :file:`foo/bar.zip/lib` will look for modules in " +"the :file:`lib` directory inside the ZIP file :file:`foo/bar.zip` (provided " +"that it exists)." msgstr "" +"Cria uma nova instância de zipimporter. *archivepath* deve ser um caminho " +"para um arquivo ZIP ou para um caminho específico dentro de um arquivo ZIP. " +"Por exemplo, um *archivepath* de :file:`foo/bar.zip/lib` procurará módulos " +"no diretório :file:`lib` dentro do arquivo ZIP :file:`foo/bar.zip` (desde " +"que exista)." #: ../../library/zipimport.rst:74 msgid "" ":exc:`ZipImportError` is raised if *archivepath* doesn't point to a valid " "ZIP archive." msgstr "" +":exc:`ZipImportError` é levantada se *archivepath* não apontar para um " +"arquivo ZIP válido." #: ../../library/zipimport.rst:79 msgid "" -"Implementation of :meth:`importlib.abc.Loader.create_module` that returns :" -"const:`None` to explicitly request the default semantics." +"Implementation of :meth:`importlib.abc.Loader.create_module` that " +"returns :const:`None` to explicitly request the default semantics." msgstr "" +"Implementação de :meth:`importlib.abc.Loader.create_module` que " +"retorna :const:`None` para solicitar explicitamente a semântica padrão." #: ../../library/zipimport.rst:87 msgid "Implementation of :meth:`importlib.abc.Loader.exec_module`." -msgstr "" +msgstr "Implementação de :meth:`importlib.abc.Loader.exec_module`." #: ../../library/zipimport.rst:94 msgid "An implementation of :meth:`importlib.abc.PathEntryFinder.find_loader`." @@ -165,29 +203,38 @@ msgstr "" #: ../../library/zipimport.rst:116 msgid "An implementation of :meth:`importlib.abc.PathEntryFinder.find_spec`." -msgstr "" +msgstr "Uma implementação de :meth:`importlib.abc.PathEntryFinder.find_spec`." #: ../../library/zipimport.rst:123 msgid "" "Return the code object for the specified module. Raise :exc:`ZipImportError` " "if the module couldn't be imported." msgstr "" +"Retorna o objeto código para o módulo especificado. " +"Levanta :exc:`ZipImportError` se o módulo não puder ser importado." #: ../../library/zipimport.rst:129 msgid "" "Return the data associated with *pathname*. Raise :exc:`OSError` if the file " "wasn't found." msgstr "" +"Retorna os dados associados a *pathname*. Levanta :exc:`OSError` se o " +"arquivo não for encontrado." #: ../../library/zipimport.rst:132 -msgid ":exc:`IOError` used to be raised instead of :exc:`OSError`." -msgstr ":exc:`IOError` costumava ser levantado em vez do :exc:`OSError`." +msgid ":exc:`IOError` used to be raised, it is now an alias of :exc:`OSError`." +msgstr "" +":exc:`IOError` costumava ser levantada, agora ela é um apelido " +"para :exc:`OSError`." #: ../../library/zipimport.rst:138 msgid "" "Return the value ``__file__`` would be set to if the specified module was " "imported. Raise :exc:`ZipImportError` if the module couldn't be imported." msgstr "" +"Retorna o valor que ``__file__`` seria definido se o módulo especificado " +"fosse importado. Levanta :exc:`ZipImportError` se o módulo não puder ser " +"importado." #: ../../library/zipimport.rst:147 msgid "" @@ -195,13 +242,16 @@ msgid "" "if the module couldn't be found, return :const:`None` if the archive does " "contain the module, but has no source for it." msgstr "" +"Retorna o código-fonte do módulo especificado. Levanta :exc:`ZipImportError` " +"se o módulo não puder ser encontrado, e retorna :const:`None` se o arquivo " +"contiver o módulo, mas não tiver o código-fonte para ele." #: ../../library/zipimport.rst:155 msgid "" -"Return ``True`` if the module specified by *fullname* is a package. Raise :" -"exc:`ZipImportError` if the module couldn't be found." +"Return ``True`` if the module specified by *fullname* is a package. " +"Raise :exc:`ZipImportError` if the module couldn't be found." msgstr "" -"Devolve ``True`` se o módulo especificado por *fullname* é um pacote. " +"Retorna ``True`` se o módulo especificado por *fullname* é um pacote. " "Levanta :exc:`ZipImportError` se o módulo não pode ser localizado." #: ../../library/zipimport.rst:161 @@ -210,35 +260,46 @@ msgid "" "qualified (dotted) module name. Returns the imported module on success, " "raises :exc:`ZipImportError` on failure." msgstr "" +"Carrega o módulo especificado por *fullname*. *fullname* deve ser o nome " +"completo (com pontos) do módulo. Retorna o módulo importado em caso de " +"sucesso e levanta :exc:`ZipImportError` em caso de falha." #: ../../library/zipimport.rst:167 msgid "Use :meth:`exec_module` instead." -msgstr "" +msgstr "Use :meth:`exec_module`." #: ../../library/zipimport.rst:172 msgid "" "Clear out the internal cache of information about files found within the ZIP " "archive." msgstr "" +"Limpa o cache interno de informações sobre arquivos encontrados no arquivo " +"ZIP." #: ../../library/zipimport.rst:180 msgid "" "The file name of the importer's associated ZIP file, without a possible " "subpath." msgstr "" +"O nome do arquivo ZIP associado ao importador, sem um possível subcaminho." #: ../../library/zipimport.rst:186 msgid "" "The subpath within the ZIP file where modules are searched. This is the " "empty string for zipimporter objects which point to the root of the ZIP file." msgstr "" +"O subcaminho dentro do arquivo ZIP onde os módulos são pesquisados. Esta é a " +"string vazia para objetos zipimporter que apontam para a raiz do arquivo ZIP." #: ../../library/zipimport.rst:190 msgid "" "The :attr:`archive` and :attr:`prefix` attributes, when combined with a " -"slash, equal the original *archivepath* argument given to the :class:" -"`zipimporter` constructor." +"slash, equal the original *archivepath* argument given to " +"the :class:`zipimporter` constructor." msgstr "" +"Os atributos :attr:`archive` e :attr:`prefix`, quando combinados com uma " +"barra, são iguais ao argumento original *archivepath* fornecido ao " +"construtor da :class:`zipimporter`." #: ../../library/zipimport.rst:198 msgid "Examples" @@ -246,6 +307,8 @@ msgstr "Exemplos" #: ../../library/zipimport.rst:200 msgid "" -"Here is an example that imports a module from a ZIP archive - note that the :" -"mod:`zipimport` module is not explicitly used." +"Here is an example that imports a module from a ZIP archive - note that " +"the :mod:`zipimport` module is not explicitly used." msgstr "" +"Aqui está um exemplo que importa um módulo de um arquivo ZIP - observe que o " +"módulo :mod:`zipimport` não é usado explicitamente." diff --git a/library/zlib.po b/library/zlib.po index 081c3929d..03fd7a86d 100644 --- a/library/zlib.po +++ b/library/zlib.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# i17obot , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Last-Translator: i17obot , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -37,6 +36,13 @@ msgid "" "earlier than 1.1.3; 1.1.3 has a `security vulnerability `_, so we recommend using 1.1.4 or later." msgstr "" +"Para aplicações que exigem compactação de dados, as funções deste módulo " +"permitem a compactação e a descompactação, usando a biblioteca zlib. A " +"biblioteca zlib tem sua própria página em https://www.zlib.net. Existem " +"algumas incompatibilidades conhecidas entre o Python módulo e as versões da " +"biblioteca zlib anteriores à 1.1.3; a 1.1.3 tem uma `vulnerabilidade de " +"segurança `_, portanto, recomendamos o " +"uso da 1.1.4 ou posterior." #: ../../library/zlib.rst:17 msgid "" @@ -89,7 +95,7 @@ msgstr "" #: ../../library/zlib.rst:44 ../../library/zlib.rst:136 msgid "The result is always unsigned." -msgstr "" +msgstr "O resultado é sempre sem sinal." #: ../../library/zlib.rst:49 msgid "" @@ -102,6 +108,13 @@ msgid "" "default compromise between speed and compression (currently equivalent to " "level 6)." msgstr "" +"Comprime os bytes em *data*, retornando um objeto de bytes que contém dados " +"comprimidos. *level* é um inteiro de ``0`` a ``9`` ou ``-1`` que controla o " +"nível de compressão; ``1`` (Z_BEST_SPEED) é o mais rápido e produz a menor " +"compressão, ``9`` (Z_BEST_COMPRESSION) é o mais lento e produz a maior. " +"``0`` (Z_NO_COMPRESSION) não produz compactação. O valor padrão é ``-1`` " +"(Z_DEFAULT_COMPRESSION). Z_DEFAULT_COMPRESSION representa um meio termo " +"entre velocidade e compressão (atualmente equivale ao nível 6)." #: ../../library/zlib.rst:58 msgid "" @@ -148,17 +161,19 @@ msgstr "" #: ../../library/zlib.rst:76 msgid "Raises the :exc:`error` exception if any error occurs." -msgstr "" +msgstr "Levanta uma exceção do tipo :exc:`error`, se ocorrer algum erro." #: ../../library/zlib.rst:78 msgid "*level* can now be used as a keyword parameter." -msgstr "*level* pode agora ser usado como um parâmetro nomeado." +msgstr "*level* pode agora ser usado como um palavra reservada nomeada." #: ../../library/zlib.rst:81 msgid "" "The *wbits* parameter is now available to set window bits and compression " "type." msgstr "" +"O parâmetro *wbits* agora está disponível para definir janelas de bits e " +"tipo de compactação." #: ../../library/zlib.rst:87 msgid "" @@ -200,6 +215,10 @@ msgid "" "\"window size\"), and what header and trailer format will be used. It has " "the same meaning as `described for compress() <#compress-wbits>`__." msgstr "" +"O parâmetro *wbits* controla o tamanho do histórico buffer (ou o \"tamanho " +"da janela do buffer\") e qual o formato do cabeçalho e do trailer serão " +"usados. Ele tem o mesmo significado que o `descrito para compress() " +"<#compress-wbits>`__." #: ../../library/zlib.rst:104 msgid "" @@ -214,14 +233,14 @@ msgstr "" #: ../../library/zlib.rst:108 msgid "" -"*strategy* is used to tune the compression algorithm. Possible values are :" -"const:`Z_DEFAULT_STRATEGY`, :const:`Z_FILTERED`, :const:`Z_HUFFMAN_ONLY`, :" -"const:`Z_RLE` (zlib 1.2.0.1) and :const:`Z_FIXED` (zlib 1.2.2.2)." +"*strategy* is used to tune the compression algorithm. Possible values " +"are :const:`Z_DEFAULT_STRATEGY`, :const:`Z_FILTERED`, :const:`Z_HUFFMAN_ONLY`, :const:`Z_RLE` " +"(zlib 1.2.0.1) and :const:`Z_FIXED` (zlib 1.2.2.2)." msgstr "" "*strategy* é usado para ajustar o algoritmo de compactação. Os valores " -"possíveis são :const:`Z_DEFAULT_STRATEGY`, :const:`Z_FILTERED`, :const:" -"`Z_HUFFMAN_ONLY`, :const:`Z_RLE` (zlib 1.2.0.1) e :const:`Z_FIXED` (zlib " -"1.2.2.2)." +"possíveis " +"são :const:`Z_DEFAULT_STRATEGY`, :const:`Z_FILTERED`, :const:`Z_HUFFMAN_ONLY`, :const:`Z_RLE` " +"(zlib 1.2.0.1) e :const:`Z_FIXED` (zlib 1.2.2.2)." #: ../../library/zlib.rst:112 msgid "" @@ -349,18 +368,20 @@ msgstr "" "*bufsize* é o tamanho inicial do buffer usado para armazenar dados " "descompactados. Se for necessário mais espaço, o tamanho do buffer será " "aumentado conforme necessário, para que você não precise obter esse valor " -"exatamente correto; sintonizando, apenas algumas chamadas serão salvas em :c:" -"func:`malloc`." +"exatamente correto; sintonizando, apenas algumas chamadas serão salvas " +"em :c:func:`malloc`." #: ../../library/zlib.rst:182 msgid "*wbits* and *bufsize* can be used as keyword arguments." -msgstr "" +msgstr "*wbits* e *bufsize* podem ser usados como argumentos nomeados." #: ../../library/zlib.rst:187 msgid "" "Returns a decompression object, to be used for decompressing data streams " "that won't fit into memory at once." msgstr "" +"Retorna um objeto descompactado, a ser usado para descompactar fluxos de " +"dados que não cabem na memória de uma só vez." #: ../../library/zlib.rst:190 msgid "" @@ -368,6 +389,10 @@ msgid "" "\"window size\"), and what header and trailer format is expected. It has " "the same meaning as `described for decompress() <#decompress-wbits>`__." msgstr "" +"O parâmetro *wbits* controla o tamanho do histórico do buffer (ou o " +"\"tamanho da janela do buffer\") e qual formato do cabeçalho e trailer são " +"esperados. Ele tem o mesmo significado que o `descrito para decompress() " +"<#decompress-wbits>`__." #: ../../library/zlib.rst:194 msgid "" @@ -375,6 +400,9 @@ msgid "" "provided, this must be the same dictionary as was used by the compressor " "that produced the data that is to be decompressed." msgstr "" +"O parâmetro *zdict* especifica uma dicionário predefinido de compactação. Se " +"fornecido, deve ser o mesmo dicionário usado pelo compactador que produziu " +"os dados a serem descompactados." #: ../../library/zlib.rst:200 msgid "" @@ -382,6 +410,9 @@ msgid "" "modify its contents between the call to :func:`decompressobj` and the first " "call to the decompressor's ``decompress()`` method." msgstr "" +"Se *zdict* for um objeto mutável (como um :class:`bytearray`), você não deve " +"modificar seu conteúdo entre a chamada de :func:`decompressobj` e a primeira " +"chamada para o método de descompatação ``decompress()``." #: ../../library/zlib.rst:204 msgid "Added the *zdict* parameter." @@ -389,7 +420,7 @@ msgstr "Adicionado o parâmetro *zdict*." #: ../../library/zlib.rst:208 msgid "Compression objects support the following methods:" -msgstr "" +msgstr "Um objeto do tipo Compress oferece suporte aos seguintes métodos:" #: ../../library/zlib.rst:213 msgid "" @@ -398,36 +429,55 @@ msgid "" "output produced by any preceding calls to the :meth:`compress` method. Some " "input may be kept in internal buffers for later processing." msgstr "" +"Comprime *data*, retornando um objeto de bytes que contém dados compactados " +"para pelo menos parte dos dados em *data*. Esses dados devem ser " +"concatenados à saída produzida por quaisquer chamadas anteriores ao " +"método :meth:`compress`. Algumas entradas podem ser mantidas em buffers " +"internos para processamento posterior." #: ../../library/zlib.rst:221 msgid "" "All pending input is processed, and a bytes object containing the remaining " -"compressed output is returned. *mode* can be selected from the constants :" -"const:`Z_NO_FLUSH`, :const:`Z_PARTIAL_FLUSH`, :const:`Z_SYNC_FLUSH`, :const:" -"`Z_FULL_FLUSH`, :const:`Z_BLOCK` (zlib 1.2.3.4), or :const:`Z_FINISH`, " -"defaulting to :const:`Z_FINISH`. Except :const:`Z_FINISH`, all constants " -"allow compressing further bytestrings of data, while :const:`Z_FINISH` " -"finishes the compressed stream and prevents compressing any more data. " -"After calling :meth:`flush` with *mode* set to :const:`Z_FINISH`, the :meth:" -"`compress` method cannot be called again; the only realistic action is to " -"delete the object." -msgstr "" +"compressed output is returned. *mode* can be selected from the " +"constants :const:`Z_NO_FLUSH`, :const:`Z_PARTIAL_FLUSH`, :const:`Z_SYNC_FLUSH`, :const:`Z_FULL_FLUSH`, :const:`Z_BLOCK` " +"(zlib 1.2.3.4), or :const:`Z_FINISH`, defaulting to :const:`Z_FINISH`. " +"Except :const:`Z_FINISH`, all constants allow compressing further " +"bytestrings of data, while :const:`Z_FINISH` finishes the compressed stream " +"and prevents compressing any more data. After calling :meth:`flush` with " +"*mode* set to :const:`Z_FINISH`, the :meth:`compress` method cannot be " +"called again; the only realistic action is to delete the object." +msgstr "" +"Toda a entrada pendente é processada e um objeto de bytes contendo a saída " +"compactada restante é retornado. O *mode* pode ser selecionado entre " +"constantes :const:`Z_NO_FLUSH` , :const:`Z_PARTIAL_FLUSH`, :const:`Z_SYNC_FLUSH`, :const:`Z_FULL_FLUSH`, :const:`Z_BLOCK` " +"(zlib 1.2.3.4) ou :const:`Z_FINISH`, com o padrão sendo :const:`Z_FINISH`. " +"Exceto :const:`Z_FINISH`, todas as demais constantes permitem a compactação " +"de mais bytestrings de dados, enquanto :const:`Z_FINISH` finaliza o fluxo " +"compactado e impede a compactação de mais dados. Depois de " +"chamar :meth:`flush` com *mode* definido como :const:`Z_FINISH`, o " +"método :meth:`compress` não pode ser chamado novamente; a única ação " +"restante possível é excluir o objeto." #: ../../library/zlib.rst:234 msgid "" "Returns a copy of the compression object. This can be used to efficiently " "compress a set of data that share a common initial prefix." msgstr "" +"Retorna uma cópia do objeto de compactação. Isso pode ser usado para " +"compactar com eficiência um conjunto de dados que compartilham um prefixo " +"inicial comum." #: ../../library/zlib.rst:238 msgid "" "Added :func:`copy.copy` and :func:`copy.deepcopy` support to compression " "objects." msgstr "" +"As funções :func:`copy.copy` e :func:`copy.deepcopy` foram adicionadas como " +"suporte para a compactação de objetos." #: ../../library/zlib.rst:243 msgid "Decompression objects support the following methods and attributes:" -msgstr "" +msgstr "Um objeto de descompactação oferece suporte aos seguintes métodos:" #: ../../library/zlib.rst:248 msgid "" @@ -436,36 +486,56 @@ msgid "" "compression data is available. If the whole bytestring turned out to " "contain compressed data, this is ``b\"\"``, an empty bytes object." msgstr "" +"Um objeto de bytes que contém todos os bytes após o final dos dados " +"compactados. Ou seja, ele permanece ``b\"\"`` até que o último byte que " +"contém dados compactados esteja disponível. Se todo o bytestring contiver " +"dados compactados, este será ``b\"\"``, um objeto de bytes vazio." #: ../../library/zlib.rst:256 msgid "" -"A bytes object that contains any data that was not consumed by the last :" -"meth:`decompress` call because it exceeded the limit for the uncompressed " -"data buffer. This data has not yet been seen by the zlib machinery, so you " -"must feed it (possibly with further data concatenated to it) back to a " -"subsequent :meth:`decompress` method call in order to get correct output." +"A bytes object that contains any data that was not consumed by the " +"last :meth:`decompress` call because it exceeded the limit for the " +"uncompressed data buffer. This data has not yet been seen by the zlib " +"machinery, so you must feed it (possibly with further data concatenated to " +"it) back to a subsequent :meth:`decompress` method call in order to get " +"correct output." msgstr "" +"Um objeto de bytes que contém todos os dados que não foram consumidos pela " +"última chamada :meth:`decompress` porque excederam o limite dos dados não " +"compactados no buffer. Esses dados ainda não foram vistos pela zlib, " +"portanto, você deve alimentá-los (possivelmente com outros dados " +"concatenados a eles) em uma chamada subsequente para o " +"método :meth:`decompress` e, com isso, obter a saída correta." #: ../../library/zlib.rst:265 msgid "" "A boolean indicating whether the end of the compressed data stream has been " "reached." msgstr "" +"Um booleano indicando se o fim do fluxo de dados compactados foi alcançado." #: ../../library/zlib.rst:268 msgid "" "This makes it possible to distinguish between a properly formed compressed " "stream, and an incomplete or truncated one." msgstr "" +"Isso permite distinguir entre um fluxo compactado formado corretamente e um " +"fluxo incompleto ou truncado." #: ../../library/zlib.rst:276 msgid "" "Decompress *data*, returning a bytes object containing the uncompressed data " "corresponding to at least part of the data in *string*. This data should be " -"concatenated to the output produced by any preceding calls to the :meth:" -"`decompress` method. Some of the input data may be preserved in internal " -"buffers for later processing." +"concatenated to the output produced by any preceding calls to " +"the :meth:`decompress` method. Some of the input data may be preserved in " +"internal buffers for later processing." msgstr "" +"Descompacta *data*, retornando um objeto de bytes que contém os dados não " +"compactados correspondentes a pelo menos uma parte dos dados em *string*. " +"Esses dados devem ser concatenados com a saída produzida por quaisquer " +"chamadas anteriores ao método :meth:`decompress` . Alguns dos dados de " +"entrada podem ser preservados em buffers internos para processamento " +"posterior." #: ../../library/zlib.rst:282 msgid "" @@ -474,26 +544,39 @@ msgid "" "compressed input can be processed; and unconsumed data will be stored in the " "attribute :attr:`unconsumed_tail`. This bytestring must be passed to a " "subsequent call to :meth:`decompress` if decompression is to continue. If " -"*max_length* is zero then the whole input is decompressed, and :attr:" -"`unconsumed_tail` is empty." +"*max_length* is zero then the whole input is decompressed, " +"and :attr:`unconsumed_tail` is empty." msgstr "" +"Se o parâmetro opcional *max_length* for diferente de zero, o valor " +"retornado não será maior que *max_length*. Isso pode significar que nem toda " +"a entrada compactada poderá ser processada, e os dados não consumidos serão " +"armazenados no atributo :attr:`unconsumed_tail` . Esse bytestring deve ser " +"passado para uma chamada subsequente a :meth:`decompress` se a " +"descompactação tiver que continuar. Se *max_length* for zero, toda a " +"entrada será descompactada e :attr:`unconsumed_tail` ficará vazio." #: ../../library/zlib.rst:289 msgid "*max_length* can be used as a keyword argument." -msgstr "" +msgstr "*max_length* pode ser usado como argumento nomeado." #: ../../library/zlib.rst:295 msgid "" "All pending input is processed, and a bytes object containing the remaining " -"uncompressed output is returned. After calling :meth:`flush`, the :meth:" -"`decompress` method cannot be called again; the only realistic action is to " -"delete the object." +"uncompressed output is returned. After calling :meth:`flush`, " +"the :meth:`decompress` method cannot be called again; the only realistic " +"action is to delete the object." msgstr "" +"Toda a entrada que estiver pendente é processada e um objeto de bytes " +"contendo a saída descompactada restante é retornado. Depois de " +"chamar :meth:`flush`, o método :meth:`decompress` não pode ser chamado " +"novamente; a única ação possível é excluir o objeto." #: ../../library/zlib.rst:300 msgid "" "The optional parameter *length* sets the initial size of the output buffer." msgstr "" +"O parâmetro opcional *comprimento* define o tamanho inicial da saída do " +"buffer." #: ../../library/zlib.rst:305 msgid "" @@ -501,18 +584,25 @@ msgid "" "state of the decompressor midway through the data stream in order to speed " "up random seeks into the stream at a future point." msgstr "" +"Retorna uma cópia do objeto de descompactação. Isso pode ser usado para " +"salvar o estado do descompactador no meio do fluxo de dados, a fim de " +"acelerar as buscas aleatórias no fluxo em um ponto futuro." #: ../../library/zlib.rst:310 msgid "" "Added :func:`copy.copy` and :func:`copy.deepcopy` support to decompression " "objects." msgstr "" +"As funções :func:`copy.copy` e :func:`copy.deepcopy` foram adicionadas como " +"suporte para a objetos de descompactação." #: ../../library/zlib.rst:315 msgid "" "Information about the version of the zlib library in use is available " "through the following constants:" msgstr "" +"As informações sobre o versão da biblioteca zlib em uso estão disponíveis no " +"seguinte constantes:" #: ../../library/zlib.rst:321 msgid "" @@ -520,19 +610,24 @@ msgid "" "module. This may be different from the zlib library actually used at " "runtime, which is available as :const:`ZLIB_RUNTIME_VERSION`." msgstr "" +"Uma string com a versão da biblioteca zlib que foi usada para construir o " +"módulo. Isso pode ser diferente da biblioteca zlib realmente usada no tempo " +"de execução, que está disponível como :const:`ZLIB_RUNTIME_VERSION`." #: ../../library/zlib.rst:328 msgid "" "The version string of the zlib library actually loaded by the interpreter." msgstr "" +"Uma string com a versão da biblioteca zlib atualmente utilizada pelo " +"interpretador." #: ../../library/zlib.rst:336 msgid "Module :mod:`gzip`" -msgstr "" +msgstr "módulo :mod:`gzip`" #: ../../library/zlib.rst:336 msgid "Reading and writing :program:`gzip`\\ -format files." -msgstr "" +msgstr "Leia e escreva arquivos no formato :program:`gzip`" #: ../../library/zlib.rst:339 msgid "http://www.zlib.net" @@ -540,22 +635,24 @@ msgstr "http://www.zlib.net" #: ../../library/zlib.rst:339 msgid "The zlib library home page." -msgstr "" +msgstr "A página inicial da biblioteca zlib." #: ../../library/zlib.rst:342 msgid "http://www.zlib.net/manual.html" -msgstr "" +msgstr "http://www.zlib.net/manual.html" #: ../../library/zlib.rst:342 msgid "" "The zlib manual explains the semantics and usage of the library's many " "functions." msgstr "" +"O manual da zlib explica a semântica e uso de diversas funções desta " +"biblioteca." #: ../../library/zlib.rst:123 msgid "Cyclic Redundancy Check" -msgstr "" +msgstr "Do inglês: Cyclic Redundancy Check" #: ../../library/zlib.rst:123 msgid "checksum" -msgstr "" +msgstr "soma de verificação" diff --git a/library/zoneinfo.po b/library/zoneinfo.po index d4c548edd..e70b3810b 100644 --- a/library/zoneinfo.po +++ b/library/zoneinfo.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -44,13 +42,15 @@ msgstr "" #: ../../library/zoneinfo.rst:26 msgid "Module: :mod:`datetime`" -msgstr "" +msgstr "Módulo: :mod:`datetime`" #: ../../library/zoneinfo.rst:25 msgid "" "Provides the :class:`~datetime.time` and :class:`~datetime.datetime` types " "with which the :class:`ZoneInfo` class is designed to be used." msgstr "" +"Fornece os tipos :class:`~datetime.time` e :class:`~datetime.datetime` com " +"os quais a classe :class:`ZoneInfo` foi projetada para ser usada." #: ../../library/zoneinfo.rst:29 msgid "Package `tzdata`_" @@ -61,6 +61,8 @@ msgid "" "First-party package maintained by the CPython core developers to supply time " "zone data via PyPI." msgstr "" +"Pacote próprio mantido pelos desenvolvedores principais do CPython para " +"fornecer dados de fuso horário via PyPI." #: ../../includes/wasm-notavail.rst:3 msgid ":ref:`Availability `: not Emscripten, not WASI." @@ -82,18 +84,26 @@ msgstr "Usando ``ZoneInfo``" #: ../../library/zoneinfo.rst:37 msgid "" -":class:`ZoneInfo` is a concrete implementation of the :class:`datetime." -"tzinfo` abstract base class, and is intended to be attached to ``tzinfo``, " -"either via the constructor, the :meth:`datetime.replace ` method or :meth:`datetime.astimezone `::" +":class:`ZoneInfo` is a concrete implementation of " +"the :class:`datetime.tzinfo` abstract base class, and is intended to be " +"attached to ``tzinfo``, either via the constructor, " +"the :meth:`datetime.replace ` method " +"or :meth:`datetime.astimezone `::" msgstr "" +":class:`ZoneInfo` é uma implementação concreta da classe base " +"abstrata :class:`datetime.tzinfo` e deve ser anexada a ``tzinfo``, por meio " +"do construtor, do método :meth:`datetime.replace " +"` ou :meth:`datetime.astimezone " +"`::" #: ../../library/zoneinfo.rst:52 msgid "" "Datetimes constructed in this way are compatible with datetime arithmetic " "and handle daylight saving time transitions with no further intervention::" msgstr "" +"Datas e horas construídas dessa maneira são compatíveis com a aritmética de " +"data e hora e lidam com transições de horário de verão sem intervenção " +"adicional::" #: ../../library/zoneinfo.rst:63 msgid "" @@ -103,16 +113,24 @@ msgid "" "offset from *before* the transition is used when ``fold=0``, and the offset " "*after* the transition is used when ``fold=1``, for example::" msgstr "" +"Esses fusos horários também oferecem suporte ao " +"atributo :attr:`~datetime.datetime.fold` introduzido em :pep:`495`. Durante " +"transições de deslocamento que induzem horários ambíguos (como uma transição " +"do horário de verão para o horário padrão), o deslocamento *anterior* à " +"transição é usado quando ``fold=0``, e o deslocamento *posterior* à " +"transição é usado quando ``fold=1``, por exemplo:" #: ../../library/zoneinfo.rst:76 msgid "" "When converting from another time zone, the fold will be set to the correct " "value::" msgstr "" +"Ao converter de outro fuso horário, a dobra será definida para o valor " +"correto::" #: ../../library/zoneinfo.rst:92 msgid "Data sources" -msgstr "" +msgstr "Fontes de dados" #: ../../library/zoneinfo.rst:94 msgid "" @@ -128,7 +146,7 @@ msgstr "" #: ../../library/zoneinfo.rst:106 msgid "Configuring the data sources" -msgstr "" +msgstr "Configurando as fontes de dados" #: ../../library/zoneinfo.rst:108 msgid "" @@ -137,28 +155,39 @@ msgid "" "failure looks for a match in the tzdata package. This behavior can be " "configured in three ways:" msgstr "" +"Quando ``ZoneInfo(key)`` é chamado, o construtor primeiro pesquisa nos " +"diretórios especificados em :data:`TZPATH` por um arquivo que corresponda a " +"``key`` e, em caso de falha, procura uma correspondência no pacote tzdata. " +"Esse comportamento pode ser configurado de três maneiras:" #: ../../library/zoneinfo.rst:113 msgid "" "The default :data:`TZPATH` when not otherwise specified can be configured " "at :ref:`compile time `." msgstr "" +"O padrão :data:`TZPATH`, quando não especificado de outra forma, pode ser " +"configurado em :ref:`tempo de compilação " +"`." #: ../../library/zoneinfo.rst:115 msgid "" ":data:`TZPATH` can be configured using :ref:`an environment variable " "`." msgstr "" +":data:`TZPATH` pode ser configurado usando :ref:`uma variável de ambiente " +"`." #: ../../library/zoneinfo.rst:117 msgid "" "At :ref:`runtime `, the search path can be " "manipulated using the :func:`reset_tzpath` function." msgstr "" +"Em :ref:`tempo de execução `, o caminho de " +"pesquisa pode ser manipulado usando a função :func:`reset_tzpath`." #: ../../library/zoneinfo.rst:123 msgid "Compile-time configuration" -msgstr "" +msgstr "Configuração em tempo de compilação" #: ../../library/zoneinfo.rst:125 msgid "" @@ -168,15 +197,26 @@ msgid "" "those building Python from source who know where their system time zone data " "is deployed may change the default time zone path by specifying the compile-" "time option ``TZPATH`` (or, more likely, the :option:`configure flag --with-" -"tzpath <--with-tzpath>`), which should be a string delimited by :data:`os." -"pathsep`." -msgstr "" +"tzpath <--with-tzpath>`), which should be a string delimited " +"by :data:`os.pathsep`." +msgstr "" +"O :data:`TZPATH` padrão inclui vários locais de implantação comuns para o " +"banco de dados de fuso horário (exceto no Windows, onde não há locais " +"\"conhecidos\" para dados de fuso horário). Em sistemas POSIX, " +"distribuidores downstream e aqueles que constroem o Python a partir do " +"código-fonte e que sabem onde os dados de fuso horário do sistema estão " +"implantados podem alterar o caminho do fuso horário padrão especificando a " +"opção de tempo de compilação ``TZPATH`` (ou, mais provavelmente, " +"o :option:`sinalizador de configuração --with-tzpath <--with-tzpath>`), que " +"deve ser uma string delimitada por :data:`os.pathsep`." #: ../../library/zoneinfo.rst:134 msgid "" "On all platforms, the configured value is available as the ``TZPATH`` key " "in :func:`sysconfig.get_config_var`." msgstr "" +"Em todas as plataformas, o valor configurado está disponível como a chave " +"``TZPATH`` em :func:`sysconfig.get_config_var`." #: ../../library/zoneinfo.rst:140 msgid "Environment configuration" @@ -184,11 +224,15 @@ msgstr "Configuração do ambiente" #: ../../library/zoneinfo.rst:142 msgid "" -"When initializing :data:`TZPATH` (either at import time or whenever :func:" -"`reset_tzpath` is called with no arguments), the ``zoneinfo`` module will " -"use the environment variable ``PYTHONTZPATH``, if it exists, to set the " -"search path." +"When initializing :data:`TZPATH` (either at import time or " +"whenever :func:`reset_tzpath` is called with no arguments), the ``zoneinfo`` " +"module will use the environment variable ``PYTHONTZPATH``, if it exists, to " +"set the search path." msgstr "" +"Ao inicializar :data:`TZPATH` (no momento da importação ou sempre " +"que :func:`reset_tzpath` for chamado sem argumentos), o módulo ``zoneinfo`` " +"usará a variável de ambiente ``PYTHONTZPATH``, se existir, para definir o " +"caminho de pesquisa." #: ../../library/zoneinfo.rst:149 msgid "" @@ -200,29 +244,43 @@ msgid "" "other implementations are free to silently ignore the erroneous component or " "raise an exception." msgstr "" +"Esta é uma string separada por :data:`os.pathsep` contendo o caminho de " +"pesquisa de fuso horário a ser usado. Ela deve consistir apenas em caminhos " +"absolutos, e não relativos. Componentes relativos especificados em " +"``PYTHONTZPATH`` não serão usados, mas, caso contrário, o comportamento " +"quando um caminho relativo é especificado é definido pela implementação; o " +"CPython levantará :exc:`InvalidTZPathWarning`, mas outras implementações " +"podem ignorar silenciosamente o componente incorreto ou levantar uma exceção." #: ../../library/zoneinfo.rst:157 msgid "" "To set the system to ignore the system data and use the tzdata package " "instead, set ``PYTHONTZPATH=\"\"``." msgstr "" +"Para configurar o sistema para ignorar os dados do sistema e usar o pacote " +"tzdata, defina ``PYTHONTZPATH=\"\"``." #: ../../library/zoneinfo.rst:163 msgid "Runtime configuration" -msgstr "" +msgstr "Configuração em tempo de execução" #: ../../library/zoneinfo.rst:165 msgid "" -"The TZ search path can also be configured at runtime using the :func:" -"`reset_tzpath` function. This is generally not an advisable operation, " -"though it is reasonable to use it in test functions that require the use of " -"a specific time zone path (or require disabling access to the system time " -"zones)." +"The TZ search path can also be configured at runtime using " +"the :func:`reset_tzpath` function. This is generally not an advisable " +"operation, though it is reasonable to use it in test functions that require " +"the use of a specific time zone path (or require disabling access to the " +"system time zones)." msgstr "" +"O caminho de busca TZ também pode ser configurado em tempo de execução " +"usando a função :func:`reset_tzpath`. Geralmente, essa não é uma operação " +"aconselhável, embora seja razoável usá-la em funções de teste que exigem o " +"uso de um caminho de fuso horário específico (ou que exijam a desativação do " +"acesso aos fusos horários do sistema)." #: ../../library/zoneinfo.rst:172 msgid "The ``ZoneInfo`` class" -msgstr "" +msgstr "A classe ``ZoneInfo``" #: ../../library/zoneinfo.rst:176 msgid "" @@ -232,6 +290,12 @@ msgid "" "cache invalidation via :meth:`ZoneInfo.clear_cache`, for all values of " "``key``, the following assertion will always be true:" msgstr "" +"Uma subclasse concreta de :class:`datetime.tzinfo` que representa um fuso " +"horário IANA especificado pela string ``key``. Chamadas ao construtor " +"primário sempre retornarão objetos que sejam idênticos em comparação; em " +"outras palavras, exceto pela invalidação de cache " +"via :meth:`ZoneInfo.clear_cache`, para todos os valores de ``key``, a " +"seguinte asserção será sempre verdadeira:" #: ../../library/zoneinfo.rst:188 msgid "" @@ -239,28 +303,33 @@ msgid "" "level references. The constructor will raise :exc:`ValueError` if a non-" "conforming key is passed." msgstr "" +"``key`` deve estar no formato de um caminho POSIX relativo e normalizado, " +"sem referências de nível superior. O construtor levantará :exc:`ValueError` " +"se uma chave não conforme for passada." #: ../../library/zoneinfo.rst:192 msgid "" -"If no file matching ``key`` is found, the constructor will raise :exc:" -"`ZoneInfoNotFoundError`." +"If no file matching ``key`` is found, the constructor will " +"raise :exc:`ZoneInfoNotFoundError`." msgstr "" +"Se nenhum arquivo correspondente a ``key`` for encontrado, o construtor " +"levantará :exc:`ZoneInfoNotFoundError`." #: ../../library/zoneinfo.rst:196 msgid "The ``ZoneInfo`` class has two alternate constructors:" -msgstr "" +msgstr "A classe ``ZoneInfo`` tem dois construtores alternativos:" #: ../../library/zoneinfo.rst:200 msgid "" -"Constructs a ``ZoneInfo`` object from a file-like object returning bytes (e." -"g. a file opened in binary mode or an :class:`io.BytesIO` object). Unlike " +"Constructs a ``ZoneInfo`` object from a file-like object returning bytes " +"(e.g. a file opened in binary mode or an :class:`io.BytesIO` object). Unlike " "the primary constructor, this always constructs a new object." msgstr "" #: ../../library/zoneinfo.rst:204 msgid "" -"The ``key`` parameter sets the name of the zone for the purposes of :py:meth:" -"`~object.__str__` and :py:meth:`~object.__repr__`." +"The ``key`` parameter sets the name of the zone for the purposes " +"of :py:meth:`~object.__str__` and :py:meth:`~object.__repr__`." msgstr "" #: ../../library/zoneinfo.rst:207 @@ -347,9 +416,9 @@ msgstr "" #: ../../library/zoneinfo.rst:271 msgid "" -"The string representation returned when calling :py:class:`str` on a :class:" -"`ZoneInfo` object defaults to using the :attr:`ZoneInfo.key` attribute (see " -"the note on usage in the attribute documentation)::" +"The string representation returned when calling :py:class:`str` on " +"a :class:`ZoneInfo` object defaults to using the :attr:`ZoneInfo.key` " +"attribute (see the note on usage in the attribute documentation)::" msgstr "" #: ../../library/zoneinfo.rst:283 @@ -464,10 +533,10 @@ msgstr "" #: ../../library/zoneinfo.rst:376 msgid "" -"The ``to`` parameter must be a :term:`sequence` of strings or :class:`os." -"PathLike` and not a string, all of which must be absolute paths. :exc:" -"`ValueError` will be raised if something other than an absolute path is " -"passed." +"The ``to`` parameter must be a :term:`sequence` of strings " +"or :class:`os.PathLike` and not a string, all of which must be absolute " +"paths. :exc:`ValueError` will be raised if something other than an absolute " +"path is passed." msgstr "" #: ../../library/zoneinfo.rst:382 @@ -490,15 +559,15 @@ msgstr "" #: ../../library/zoneinfo.rst:393 msgid "" "The object that ``zoneinfo.TZPATH`` points to may change in response to a " -"call to :func:`reset_tzpath`, so it is recommended to use ``zoneinfo." -"TZPATH`` rather than importing ``TZPATH`` from ``zoneinfo`` or assigning a " -"long-lived variable to ``zoneinfo.TZPATH``." +"call to :func:`reset_tzpath`, so it is recommended to use " +"``zoneinfo.TZPATH`` rather than importing ``TZPATH`` from ``zoneinfo`` or " +"assigning a long-lived variable to ``zoneinfo.TZPATH``." msgstr "" #: ../../library/zoneinfo.rst:398 msgid "" -"For more information on configuring the time zone search path, see :ref:" -"`zoneinfo_data_configuration`." +"For more information on configuring the time zone search path, " +"see :ref:`zoneinfo_data_configuration`." msgstr "" #: ../../library/zoneinfo.rst:402 @@ -508,8 +577,8 @@ msgstr "" #: ../../library/zoneinfo.rst:406 msgid "" "Raised when construction of a :class:`ZoneInfo` object fails because the " -"specified key could not be found on the system. This is a subclass of :exc:" -"`KeyError`." +"specified key could not be found on the system. This is a subclass " +"of :exc:`KeyError`." msgstr "" #: ../../library/zoneinfo.rst:412 diff --git a/license.po b/license.po index 9017edcd0..9e4afc926 100644 --- a/license.po +++ b/license.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# felipe caridade , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -53,8 +50,9 @@ msgid "" "Virginia where he released several versions of the software." msgstr "" "Em 1995, Guido continuou seu trabalho em Python na Corporação para " -"Iniciativas Nacionais de Pesquisa (CNRI, veja https://www.cnri.reston.va." -"us/) em Reston, Virgínia, onde lançou várias versões do software." +"Iniciativas Nacionais de Pesquisa (CNRI, veja https://" +"www.cnri.reston.va.us/) em Reston, Virgínia, onde lançou várias versões do " +"software." #: ../../license.rst:22 msgid "" @@ -82,10 +80,10 @@ msgid "" "have also been GPL-compatible; the table below summarizes the various " "releases." msgstr "" -"Todas as versões do Python são de código aberto (consulte https://opensource." -"org/ para a definição de código aberto). Historicamente, a maioria, mas não " -"todas, versões do Python também são compatíveis com GPL; a tabela abaixo " -"resume os vários lançamentos." +"Todas as versões do Python são de código aberto (consulte https://" +"opensource.org/ para a definição de código aberto). Historicamente, a " +"maioria, mas não todas, versões do Python também são compatíveis com GPL; a " +"tabela abaixo resume os vários lançamentos." #: ../../license.rst:35 msgid "Release" @@ -261,8 +259,8 @@ msgstr "" #: ../../license.rst:78 msgid "" "Starting with Python 3.8.6, examples, recipes, and other code in the " -"documentation are dual licensed under the PSF License Agreement and the :ref:" -"`Zero-Clause BSD license `." +"documentation are dual licensed under the PSF License Agreement and " +"the :ref:`Zero-Clause BSD license `." msgstr "" "A partir do Python 3.8.6, exemplos, receitas e outros códigos na " "documentação são licenciados duplamente sob o Acordo de Licenciamento PSF e " @@ -271,12 +269,12 @@ msgstr "" #: ../../license.rst:82 msgid "" "Some software incorporated into Python is under different licenses. The " -"licenses are listed with code falling under that license. See :ref:" -"`OtherLicenses` for an incomplete list of these licenses." +"licenses are listed with code falling under that license. " +"See :ref:`OtherLicenses` for an incomplete list of these licenses." msgstr "" "Alguns softwares incorporados ao Python estão sob licenças diferentes. As " -"licenças são listadas com o código abrangido por essa licença. Veja :ref:" -"`OtherLicenses` para uma lista incompleta dessas licenças." +"licenças são listadas com o código abrangido por essa licença. " +"Veja :ref:`OtherLicenses` para uma lista incompleta dessas licenças." #: ../../license.rst:90 msgid "PSF LICENSE AGREEMENT FOR PYTHON |release|" @@ -323,13 +321,13 @@ msgstr "Mersenne Twister" #: ../../license.rst:305 msgid "" -"The :mod:`_random` module includes code based on a download from http://www." -"math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html. The following " -"are the verbatim comments from the original code::" +"The :mod:`_random` module includes code based on a download from http://" +"www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html. The " +"following are the verbatim comments from the original code::" msgstr "" -"O módulo :mod:`_random` inclui código baseado em um download de http://www." -"math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html. A seguir estão " -"os comentários literais do código original::" +"O módulo :mod:`_random` inclui código baseado em um download de http://" +"www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html. A seguir " +"estão os comentários literais do código original::" #: ../../license.rst:352 msgid "Sockets" @@ -337,13 +335,13 @@ msgstr "Soquetes" #: ../../license.rst:354 msgid "" -"The :mod:`socket` module uses the functions, :func:`getaddrinfo`, and :func:" -"`getnameinfo`, which are coded in separate source files from the WIDE " -"Project, https://www.wide.ad.jp/. ::" +"The :mod:`socket` module uses the functions, :c:func:`!getaddrinfo`, " +"and :c:func:`!getnameinfo`, which are coded in separate source files from " +"the WIDE Project, https://www.wide.ad.jp/. ::" msgstr "" -"O módulo :mod:`socket` usa as funções :func:`getaddrinfo` e :func:" -"`getnameinfo`, que são codificadas em arquivos de origem separados do " -"Projeto WIDE, https://www.wide.ad.jp/. ::" +"O módulo :mod:`socket` usa as funções :c:func:`!getaddrinfo` e :c:func:`!" +"getnameinfo`, que são codificadas em arquivos de origem separados do Projeto " +"WIDE, https://www.wide.ad.jp/. ::" #: ../../license.rst:387 msgid "Asynchronous socket services" @@ -392,8 +390,8 @@ msgid "test_epoll" msgstr "test_epoll" #: ../../license.rst:540 -msgid "The :mod:`test_epoll` module contains the following notice::" -msgstr "O módulo :mod:`test_epoll` contém o seguinte aviso::" +msgid "The :mod:`!test.test_epoll` module contains the following notice::" +msgstr "O módulo :mod:`!test.test_epoll` contém o seguinte aviso::" #: ../../license.rst:564 msgid "Select kqueue" @@ -426,10 +424,10 @@ msgstr "strtod e dtoa" msgid "" "The file :file:`Python/dtoa.c`, which supplies C functions dtoa and strtod " "for conversion of C doubles to and from strings, is derived from the file of " -"the same name by David M. Gay, currently available from https://web.archive." -"org/web/20220517033456/http://www.netlib.org/fp/dtoa.c. The original file, " -"as retrieved on March 16, 2009, contains the following copyright and " -"licensing notice::" +"the same name by David M. Gay, currently available from https://" +"web.archive.org/web/20220517033456/http://www.netlib.org/fp/dtoa.c. The " +"original file, as retrieved on March 16, 2009, contains the following " +"copyright and licensing notice::" msgstr "" "O arquivo :file:`Python/dtoa.c`, que fornece as funções C dtoa e strtod para " "conversão de duplas de C para e de strings, é derivado do arquivo com o " @@ -448,32 +446,36 @@ msgid "" "OpenSSL library for added performance if made available by the operating " "system. Additionally, the Windows and macOS installers for Python may " "include a copy of the OpenSSL libraries, so we include a copy of the OpenSSL " -"license here::" +"license here. For the OpenSSL 3.0 release, and later releases derived from " +"that, the Apache License v2 applies::" msgstr "" "Os módulos :mod:`hashlib`, :mod:`posix`, :mod:`ssl`, :mod:`crypt` usam a " "biblioteca OpenSSL para desempenho adicional se forem disponibilizados pelo " "sistema operacional. Além disso, os instaladores do Windows e do Mac OS X " "para Python podem incluir uma cópia das bibliotecas do OpenSSL, portanto " -"incluímos uma cópia da licença do OpenSSL aqui::" +"incluímos uma cópia da licença do OpenSSL aqui: Para o lançamento do OpenSSL " +"3.0, e lançamentos posteriores derivados deste, se aplica a Apache License " +"v2::" -#: ../../license.rst:791 +#: ../../license.rst:843 msgid "expat" msgstr "expat" -#: ../../license.rst:793 +#: ../../license.rst:845 msgid "" -"The :mod:`pyexpat` extension is built using an included copy of the expat " -"sources unless the build is configured ``--with-system-expat``::" -msgstr "" -"A extensão :mod:`pyexpat` é construída usando uma cópia incluída das fontes " -"de expatriadas, a menos que a compilação esteja configurada ``--with-system-" +"The :mod:`pyexpat ` extension is built using an included " +"copy of the expat sources unless the build is configured ``--with-system-" "expat``::" +msgstr "" +"A extensão :mod:`pyexpat ` é construída usando uma cópia " +"incluída das fontes de expatriadas, a menos que a compilação esteja " +"configurada ``--with-system-expat``::" -#: ../../license.rst:820 +#: ../../license.rst:872 msgid "libffi" msgstr "libffi" -#: ../../license.rst:822 +#: ../../license.rst:874 msgid "" "The :mod:`_ctypes` extension is built using an included copy of the libffi " "sources unless the build is configured ``--with-system-libffi``::" @@ -482,11 +484,11 @@ msgstr "" "libffi, a menos que a compilação esteja configurada ``--with-system-" "libffi``::" -#: ../../license.rst:849 +#: ../../license.rst:901 msgid "zlib" msgstr "zlib" -#: ../../license.rst:851 +#: ../../license.rst:903 msgid "" "The :mod:`zlib` extension is built using an included copy of the zlib " "sources if the zlib version found on the system is too old to be used for " @@ -496,11 +498,11 @@ msgstr "" "zlib se a versão do zlib encontrada no sistema for muito antiga para ser " "usada na construção::" -#: ../../license.rst:880 +#: ../../license.rst:932 msgid "cfuhash" msgstr "cfuhash" -#: ../../license.rst:882 +#: ../../license.rst:934 msgid "" "The implementation of the hash table used by the :mod:`tracemalloc` is based " "on the cfuhash project::" @@ -508,11 +510,11 @@ msgstr "" "A implementação da tabela de hash usada pelo :mod:`tracemalloc` é baseada no " "projeto cfuhash::" -#: ../../license.rst:921 +#: ../../license.rst:973 msgid "libmpdec" msgstr "libmpdec" -#: ../../license.rst:923 +#: ../../license.rst:975 msgid "" "The :mod:`_decimal` module is built using an included copy of the libmpdec " "library unless the build is configured ``--with-system-libmpdec``::" @@ -521,11 +523,11 @@ msgstr "" "biblioteca libmpdec, a menos que a compilação esteja configurada ``--with-" "system-libmpdec``::" -#: ../../license.rst:953 +#: ../../license.rst:1005 msgid "W3C C14N test suite" msgstr "Conjunto de testes C14N do W3C" -#: ../../license.rst:955 +#: ../../license.rst:1007 msgid "" "The C14N 2.0 test suite in the :mod:`test` package (``Lib/test/xmltestdata/" "c14n-20/``) was retrieved from the W3C website at https://www.w3.org/TR/xml-" @@ -535,12 +537,83 @@ msgstr "" "c14n-20/``) foi recuperado do site do W3C em https://www.w3.org/TR/xml-c14n2-" "testcases/ e é distribuído sob a licença BSD de 3 cláusulas::" -#: ../../license.rst:990 +#: ../../license.rst:1042 msgid "Audioop" msgstr "Audioop" -#: ../../license.rst:992 +#: ../../license.rst:1044 +msgid "" +"The audioop module uses the code base in g771.c file of the SoX project. " +"https://sourceforge.net/projects/sox/files/sox/12.17.7/sox-12.17.7.tar.gz" +msgstr "" +"O módulo audioop usa a base de código no arquivo g771.c do projeto SoX. " +"https://sourceforge.net/projects/sox/files/sox/12.17.7/sox-12.17.7.tar.gz" + +#: ../../license.rst:1047 +msgid "" +"This source code is a product of Sun Microsystems, Inc. and is provided for " +"unrestricted use. Users may copy or modify this source code without charge." +msgstr "" +"Este código-fonte é um produto da Sun Microsystems, Inc. e é fornecido para " +"uso irrestrito. Os usuários podem copiar ou modificar este código-fonte sem " +"custo." + +#: ../../license.rst:1051 +msgid "" +"SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING " +"THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR " +"PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE." +msgstr "" +"SUN SOURCE CODE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING " +"THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR " +"PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE." + +#: ../../license.rst:1055 +msgid "" +"Sun source code is provided with no support and without any obligation on " +"the part of Sun Microsystems, Inc. to assist in its use, correction, " +"modification or enhancement." +msgstr "" +"Sun source code is provided with no support and without any obligation on " +"the part of Sun Microsystems, Inc. to assist in its use, correction, " +"modification or enhancement." + +#: ../../license.rst:1059 +msgid "" +"SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE " +"INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE OR " +"ANY PART THEREOF." +msgstr "" +"SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE " +"INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS SOFTWARE OR " +"ANY PART THEREOF." + +#: ../../license.rst:1063 +msgid "" +"In no event will Sun Microsystems, Inc. be liable for any lost revenue or " +"profits or other special, indirect and consequential damages, even if Sun " +"has been advised of the possibility of such damages." +msgstr "" +"In no event will Sun Microsystems, Inc. be liable for any lost revenue or " +"profits or other special, indirect and consequential damages, even if Sun " +"has been advised of the possibility of such damages." + +#: ../../license.rst:1067 +msgid "" +"Sun Microsystems, Inc. 2550 Garcia Avenue Mountain View, California 94043" +msgstr "" +"Sun Microsystems, Inc. 2550 Garcia Avenue Mountain View, California 94043" + +#: ../../license.rst:1073 +msgid "asyncio" +msgstr "asyncio" + +#: ../../license.rst:1075 msgid "" -"The audioop module uses the code base in g771.c file of the SoX project::" +"Parts of the :mod:`asyncio` module are incorporated from `uvloop 0.16 " +"`_, which is distributed " +"under the MIT license::" msgstr "" -"O módulo audioop usa a base de código no arquivo g771.c do projeto SoX::" +"Partes do módulo :mod:`asyncio` são incorporadas do `uvloop 0.16 `_, que é distribuído sob a " +"licença MIT::" diff --git a/potodo.md b/potodo.md new file mode 100644 index 000000000..c5d742ad0 --- /dev/null +++ b/potodo.md @@ -0,0 +1,260 @@ +1 directory 65.51% done +└── 3.11/ 65.51% done + ├── c-api/ 55.05% done + │ ├── exceptions.po 69.0% translated 240/347 + │ ├── float.po 97.0% translated 34/35 + │ ├── frame.po 95.0% translated 23/24 + │ ├── gcsupport.po 21.0% translated 9/42 + │ ├── import.po 77.0% translated 41/53 + │ ├── init.po 41.0% translated 156/372 + │ ├── init_config.po 34.0% translated 138/396 + │ ├── long.po 57.0% translated 34/59 + │ ├── memory.po 31.0% translated 59/189 + │ ├── module.po 56.0% translated 62/109 + │ ├── number.po 95.0% translated 46/48 + │ ├── object.po 17.0% translated 12/67 + │ ├── refcounting.po 32.0% translated 9/28 + │ ├── stable.po 94.0% translated 33/35 + │ ├── structures.po 40.0% translated 61/150 + │ ├── sys.po 81.0% translated 62/76 + │ ├── tuple.po 97.0% translated 39/40 + │ ├── type.po 44.0% translated 30/68 + │ ├── typeobj.po 39.0% translated 234/600 + │ ├── unicode.po 28.0% translated 89/308 + │ └── veryhigh.po 92.0% translated 52/56 + ├── distributing/ 100.00% done + ├── distutils/ 25.82% done + │ ├── apiref.po 21.0% translated 88/414 + │ ├── builtdist.po 40.0% translated 52/128 + │ ├── setupscript.po 37.0% translated 66/174 + │ └── sourcedist.po 36.0% translated 27/74 + ├── extending/ 43.24% done + │ ├── embedding.po 11.0% translated 5/45 + │ ├── extending.po 35.0% translated 58/162 + │ ├── newtypes.po 10.0% translated 11/105 + │ └── newtypes_tutorial.po 90.0% translated 111/123 + ├── faq/ 95.88% done + │ ├── design.po 90.0% translated 128/142 + │ ├── extending.po 94.0% translated 55/58 + │ ├── library.po 97.0% translated 136/140 + │ └── programming.po 99.0% translated 391/393 + ├── howto/ 64.75% done + │ ├── curses.po 98.0% translated 103/105 + │ ├── descriptor.po 67.0% translated 120/177 + │ ├── enum.po 39.0% translated 88/224 + │ ├── functional.po 70.0% translated 145/206 + │ ├── instrumentation.po 98.0% translated 58/59 + │ ├── isolating-extensions.po 99.0% translated 117/118 + │ ├── logging-cookbook.po 11.0% translated 34/308 + │ ├── regex.po 99.0% translated 286/287 + │ ├── sockets.po 60.0% translated 35/58 + │ ├── sorting.po 86.0% translated 45/52 + │ ├── unicode.po 24.0% translated 30/121 + │ └── urllib2.po 98.0% translated 83/84 + ├── install/ 71.32% done + │ └── index.po 73.0% translated 166/226 + ├── installing/ 100.00% done + ├── library/ 59.33% done + │ ├── _thread.po 96.0% translated 49/51 + │ ├── abc.po 97.0% translated 48/49 + │ ├── argparse.po 91.0% translated 305/335 + │ ├── array.po 96.0% translated 80/83 + │ ├── ast.po 98.0% translated 224/228 + │ ├── asynchat.po 17.0% translated 6/35 + │ ├── asyncio-dev.po 85.0% translated 36/42 + │ ├── asyncio-eventloop.po 86.0% translated 322/372 + │ ├── asyncio-future.po 27.0% translated 17/61 + │ ├── asyncio-platforms.po 24.0% translated 6/25 + │ ├── asyncio-policy.po 14.0% translated 10/67 + │ ├── asyncio-protocol.po 14.0% translated 26/184 + │ ├── asyncio-runner.po 21.0% translated 7/33 + │ ├── asyncio-stream.po 80.0% translated 71/88 + │ ├── asyncio-sync.po 13.0% translated 12/89 + │ ├── asyncio-task.po 78.0% translated 161/206 + │ ├── asyncio.po 96.0% translated 25/26 + │ ├── asyncore.po 18.0% translated 10/54 + │ ├── audioop.po 10.0% translated 5/50 + │ ├── base64.po 35.0% translated 21/60 + │ ├── bdb.po 90.0% translated 99/110 + │ ├── binascii.po 57.0% translated 23/40 + │ ├── bisect.po 90.0% translated 27/30 + │ ├── calendar.po 93.0% translated 87/93 + │ ├── cgi.po 25.0% translated 28/109 + │ ├── chunk.po 35.0% translated 14/39 + │ ├── cmath.po 96.0% translated 54/56 + │ ├── code.po 96.0% translated 30/31 + │ ├── codecs.po 47.0% translated 252/533 + │ ├── concurrent.futures.po 16.0% translated 15/90 + │ ├── configparser.po 95.0% translated 178/186 + │ ├── contextlib.po 32.0% translated 42/130 + │ ├── crypt.po 20.0% translated 7/35 + │ ├── ctypes.po 49.0% translated 217/436 + │ ├── curses.ascii.po 98.0% translated 68/69 + │ ├── curses.panel.po 95.0% translated 22/23 + │ ├── curses.po 14.0% translated 69/485 + │ ├── dataclasses.po 51.0% translated 64/124 + │ ├── datetime.po 98.0% translated 579/586 + │ ├── dbm.po 97.0% translated 83/85 + │ ├── difflib.po 10.0% translated 14/134 + │ ├── dis.po 42.0% translated 112/265 + │ ├── doctest.po 23.0% translated 75/318 + │ ├── email.charset.po 90.0% translated 40/44 + │ ├── email.compat32-message.po 4.0% translated 5/104 + │ ├── email.contentmanager.po 19.0% translated 8/41 + │ ├── email.encoders.po 93.0% translated 14/15 + │ ├── email.errors.po 22.0% translated 6/27 + │ ├── email.generator.po 97.0% translated 40/41 + │ ├── email.header.po 10.0% translated 4/38 + │ ├── email.headerregistry.po 12.0% translated 13/103 + │ ├── email.message.po 5.0% translated 6/103 + │ ├── email.parser.po 6.0% translated 3/47 + │ ├── email.policy.po 10.0% translated 11/102 + │ ├── enum.po 55.0% translated 107/192 + │ ├── errno.po 85.0% translated 114/134 + │ ├── faulthandler.po 9.0% translated 4/42 + │ ├── fcntl.po 77.0% translated 35/45 + │ ├── fileinput.po 95.0% translated 41/43 + │ ├── fractions.po 84.0% translated 21/25 + │ ├── ftplib.po 11.0% translated 11/97 + │ ├── functools.po 33.0% translated 29/86 + │ ├── gc.po 98.0% translated 56/57 + │ ├── glob.po 96.0% translated 32/33 + │ ├── grp.po 96.0% translated 28/29 + │ ├── gzip.po 90.0% translated 54/60 + │ ├── hashlib.po 50.0% translated 82/161 + │ ├── heapq.po 98.0% translated 50/51 + │ ├── hmac.po 96.0% translated 26/27 + │ ├── html.parser.po 98.0% translated 51/52 + │ ├── http.client.po 45.0% translated 49/107 + │ ├── http.cookiejar.po 5.0% translated 9/155 + │ ├── http.cookies.po 17.0% translated 8/47 + │ ├── http.po 96.0% translated 220/228 + │ ├── http.server.po 14.0% translated 15/105 + │ ├── idle.po 86.0% translated 242/279 + │ ├── imaplib.po 11.0% translated 13/113 + │ ├── imghdr.po 48.0% translated 20/41 + │ ├── imp.po 16.0% translated 12/72 + │ ├── importlib.metadata.po 95.0% translated 59/62 + │ ├── importlib.po 70.0% translated 213/301 + │ ├── importlib.resources.po 82.0% translated 29/35 + │ ├── inspect.po 36.0% translated 129/349 + │ ├── io.po 21.0% translated 56/262 + │ ├── ipaddress.po 99.0% translated 155/156 + │ ├── itertools.po 83.0% translated 131/157 + │ ├── logging.config.po 96.0% translated 129/134 + │ ├── logging.handlers.po 65.0% translated 176/268 + │ ├── logging.po 28.0% translated 100/351 + │ ├── mailbox.po 7.0% translated 21/285 + │ ├── mailcap.po 13.0% translated 2/15 + │ ├── mimetypes.po 98.0% translated 49/50 + │ ├── mmap.po 40.0% translated 22/55 + │ ├── msilib.po 7.0% translated 7/97 + │ ├── multiprocessing.po 55.0% translated 293/529 + │ ├── nntplib.po 12.0% translated 11/89 + │ ├── optparse.po 99.0% translated 412/416 + │ ├── os.path.po 97.0% translated 82/84 + │ ├── os.po 99.0% translated 930/931 + │ ├── ossaudiodev.po 18.0% translated 18/98 + │ ├── pathlib.po 99.0% translated 229/230 + │ ├── pipes.po 25.0% translated 5/20 + │ ├── pkgutil.po 88.0% translated 45/51 + │ ├── platform.po 94.0% translated 54/57 + │ ├── plistlib.po 97.0% translated 42/43 + │ ├── poplib.po 38.0% translated 21/54 + │ ├── pprint.po 95.0% translated 46/48 + │ ├── profile.po 21.0% translated 34/157 + │ ├── pyexpat.po 15.0% translated 24/158 + │ ├── queue.po 19.0% translated 8/42 + │ ├── random.po 99.0% translated 103/104 + │ ├── re.po 99.0% translated 384/386 + │ ├── resource.po 98.0% translated 113/115 + │ ├── sched.po 95.0% translated 23/24 + │ ├── select.po 38.0% translated 79/207 + │ ├── selectors.po 23.0% translated 13/56 + │ ├── shelve.po 31.0% translated 12/38 + │ ├── shlex.po 5.0% translated 4/75 + │ ├── shutil.po 98.0% translated 163/166 + │ ├── signal.po 97.0% translated 134/137 + │ ├── site.po 96.0% translated 52/54 + │ ├── smtpd.po 15.0% translated 12/78 + │ ├── smtplib.po 27.0% translated 31/114 + │ ├── sndhdr.po 32.0% translated 12/37 + │ ├── socket.po 21.0% translated 76/348 + │ ├── socketserver.po 95.0% translated 82/86 + │ ├── sqlite3.po 23.0% translated 89/371 + │ ├── ssl.po 13.0% translated 69/506 + │ ├── stat.po 98.0% translated 80/81 + │ ├── statistics.po 98.0% translated 174/177 + │ ├── stdtypes.po 99.0% translated 1207/1211 + │ ├── stringprep.po 96.0% translated 24/25 + │ ├── struct.po 51.0% translated 95/184 + │ ├── subprocess.po 49.0% translated 145/292 + │ ├── symtable.po 6.0% translated 3/44 + │ ├── sys.po 96.0% translated 397/413 + │ ├── sysconfig.po 99.0% translated 135/136 + │ ├── tarfile.po 57.0% translated 185/321 + │ ├── telnetlib.po 19.0% translated 10/51 + │ ├── tempfile.po 13.0% translated 9/69 + │ ├── test.po 38.0% translated 115/296 + │ ├── textwrap.po 95.0% translated 46/48 + │ ├── threading.po 18.0% translated 41/217 + │ ├── time.po 98.0% translated 257/260 + │ ├── tkinter.font.po 97.0% translated 34/35 + │ ├── tkinter.tix.po 6.0% translated 5/72 + │ ├── tkinter.ttk.po 34.0% translated 142/410 + │ ├── tokenize.po 93.0% translated 41/44 + │ ├── traceback.po 9.0% translated 9/94 + │ ├── tracemalloc.po 14.0% translated 21/144 + │ ├── typing.po 85.0% translated 479/563 + │ ├── unicodedata.po 21.0% translated 7/32 + │ ├── unittest.mock-examples.po 13.0% translated 22/162 + │ ├── unittest.mock.po 27.0% translated 107/388 + │ ├── unittest.po 60.0% translated 312/514 + │ ├── urllib.parse.po 63.0% translated 102/160 + │ ├── urllib.request.po 18.0% translated 52/284 + │ ├── urllib.robotparser.po 94.0% translated 17/18 + │ ├── uuid.po 87.0% translated 49/56 + │ ├── warnings.po 67.0% translated 76/112 + │ ├── wave.po 40.0% translated 21/52 + │ ├── webbrowser.po 91.0% translated 79/86 + │ ├── wsgiref.po 56.0% translated 71/125 + │ ├── xdrlib.po 8.0% translated 5/56 + │ ├── xml.dom.minidom.po 13.0% translated 7/51 + │ ├── xml.dom.po 28.0% translated 67/234 + │ ├── xml.dom.pulldom.po 96.0% translated 26/27 + │ ├── xml.etree.elementtree.po 31.0% translated 74/233 + │ ├── xml.sax.handler.po 19.0% translated 20/103 + │ ├── xml.sax.po 6.0% translated 2/32 + │ ├── xml.sax.reader.po 2.0% translated 2/75 + │ ├── xml.sax.utils.po 92.0% translated 12/13 + │ ├── xmlrpc.client.po 57.0% translated 57/100 + │ ├── zipapp.po 83.0% translated 66/79 + │ ├── zipimport.po 89.0% translated 34/38 + │ └── zoneinfo.po 45.0% translated 34/75 + ├── reference/ 96.82% done + │ ├── compound_stmts.po 98.0% translated 383/389 + │ ├── datamodel.po 99.0% translated 785/786 + │ ├── executionmodel.po 97.0% translated 73/75 + │ ├── import.po 92.0% translated 192/207 + │ └── lexical_analysis.po 96.0% translated 288/299 + ├── tutorial/ 100.00% done + ├── using/ 97.94% done + │ ├── cmdline.po 99.0% translated 210/211 + │ ├── configure.po 93.0% translated 249/265 + │ └── windows.po 99.0% translated 341/343 + └── whatsnew/ 75.25% done + ├── 2.0.po 98.0% translated 181/183 + ├── 2.1.po 99.0% translated 138/139 + ├── 2.2.po 99.0% translated 190/191 + ├── 2.3.po 99.0% translated 323/326 + ├── 2.4.po 99.0% translated 267/268 + ├── 2.5.po 98.0% translated 382/388 + ├── 2.6.po 99.0% translated 544/547 + ├── 2.7.po 99.0% translated 452/453 + ├── 3.11.po 98.0% translated 761/775 + ├── 3.2.po 12.0% translated 65/518 + ├── 3.3.po 20.0% translated 135/662 + ├── 3.4.po 99.0% translated 510/511 + ├── 3.5.po 23.0% translated 128/541 + ├── 3.6.po 45.0% translated 239/524 + └── 3.7.po 44.0% translated 248/563 diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index 04fc1dd50..e82718db5 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -1,33 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Alexandre B A Villares, 2021 -# Vinicius Gubiani Ferreira , 2023 -# felipe caridade , 2023 -# Octavio von Sydow , 2023 -# Claudio Rogerio Carvalho Filho , 2023 -# Marco Rougeth , 2023 -# Adorilson Bezerra , 2023 -# And Past , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -52,10 +44,10 @@ msgstr "" msgid "" "The :keyword:`if`, :keyword:`while` and :keyword:`for` statements implement " "traditional control flow constructs. :keyword:`try` specifies exception " -"handlers and/or cleanup code for a group of statements, while the :keyword:" -"`with` statement allows the execution of initialization and finalization " -"code around a block of code. Function and class definitions are also " -"syntactically compound statements." +"handlers and/or cleanup code for a group of statements, while " +"the :keyword:`with` statement allows the execution of initialization and " +"finalization code around a block of code. Function and class definitions " +"are also syntactically compound statements." msgstr "" "As instruções :keyword:`if`, :keyword:`while` e :keyword:`for` implementam " "construções tradicionais de controle do fluxo de execução. :keyword:`try` " @@ -79,6 +71,18 @@ msgid "" "clear to which :keyword:`if` clause a following :keyword:`else` clause would " "belong::" msgstr "" +"Uma instrução composta consiste em uma ou mais \"cláusulas\". Uma cláusula " +"consiste em um cabeçalho e um \"conjunto\". Os cabeçalhos das cláusulas de " +"uma instrução composta específica estão todos no mesmo nível de indentação. " +"Cada cabeçalho de cláusula começa com uma palavra reservada de identificação " +"exclusiva e termina com dois pontos. Um conjunto é um grupo de instruções " +"controladas por uma cláusula. Um conjunto pode ser uma ou mais instruções " +"simples separadas por ponto e vírgula na mesma linha do cabeçalho, após os " +"dois pontos do cabeçalho, ou pode ser uma ou mais instruções indentadas nas " +"linhas subsequentes. Somente a última forma de conjunto pode conter " +"instruções compostas aninhadas; o seguinte é ilegal, principalmente porque " +"não ficaria claro a qual cláusula :keyword:`if` a seguinte " +"cláusula :keyword:`else` pertenceria::" #: ../../reference/compound_stmts.rst:39 msgid "" @@ -86,24 +90,28 @@ msgid "" "so that in the following example, either all or none of the :func:`print` " "calls are executed::" msgstr "" +"Observe também que o ponto e vírgula é mais vinculado que os dois pontos " +"neste contexto, de modo que no exemplo a seguir, todas ou nenhuma das " +"chamadas :func:`print` são executadas::" #: ../../reference/compound_stmts.rst:45 msgid "Summarizing:" -msgstr "" +msgstr "Resumindo:" #: ../../reference/compound_stmts.rst:69 msgid "" "Note that statements always end in a ``NEWLINE`` possibly followed by a " "``DEDENT``. Also note that optional continuation clauses always begin with " "a keyword that cannot start a statement, thus there are no ambiguities (the " -"'dangling :keyword:`else`' problem is solved in Python by requiring nested :" -"keyword:`if` statements to be indented)." +"'dangling :keyword:`else`' problem is solved in Python by requiring " +"nested :keyword:`if` statements to be indented)." msgstr "" "Note que instruções sempre terminam em uma ``NEWLINE`` possivelmente seguida " -"por uma ``DEDENT``. Note também que cláusulas de continuação sempre começam " -"com uma palavra reservada que não pode iniciar uma instrução, desta forma " -"não há ambiguidades (o problema do :keyword:`else`' pendurado é resolvido em " -"Python obrigando que instruções :keyword:`if` aninhadas tenham indentação)" +"por uma ``DEDENT``. Note também que cláusulas opcionais de continuação " +"sempre começam com uma palavra reservada que não pode iniciar uma instrução, " +"desta forma não há ambiguidades (o problema do \":keyword:`else` pendurado\" " +"é resolvido em Python obrigando que instruções :keyword:`if` aninhadas " +"tenham indentação)" #: ../../reference/compound_stmts.rst:75 msgid "" @@ -119,7 +127,7 @@ msgstr "A instrução :keyword:`!if`" #: ../../reference/compound_stmts.rst:92 msgid "The :keyword:`if` statement is used for conditional execution:" -msgstr "" +msgstr "A instrução :keyword:`if` é usada para execução condicional:" #: ../../reference/compound_stmts.rst:99 msgid "" @@ -130,16 +138,24 @@ msgid "" "expressions are false, the suite of the :keyword:`else` clause, if present, " "is executed." msgstr "" +"Ela seleciona exatamente um dos conjuntos *suite* avaliando as expressões " +"*assigment_expression* uma por uma até que uma seja considerada verdadeira " +"(veja a seção :ref:`booleans` para a definição de verdadeiro e falso); então " +"esse conjunto é executado (e nenhuma outra parte da instrução :keyword:`if` " +"é executada ou avaliada). Se todas as expressões forem falsas, o *suite* da " +"cláusula :keyword:`else`, se presente, é executado." #: ../../reference/compound_stmts.rst:109 msgid "The :keyword:`!while` statement" -msgstr "" +msgstr "A instrução :keyword:`!while`" #: ../../reference/compound_stmts.rst:117 msgid "" "The :keyword:`while` statement is used for repeated execution as long as an " "expression is true:" msgstr "" +"A instrução :keyword:`while` é usada para execução repetida desde que uma " +"expressão seja verdadeira:" #: ../../reference/compound_stmts.rst:124 msgid "" @@ -148,44 +164,67 @@ msgid "" "the suite of the :keyword:`!else` clause, if present, is executed and the " "loop terminates." msgstr "" +"Isto testa repetidamente a expressão e, se for verdadeira, executa o " +"primeiro conjunto; se a expressão for falsa (o que pode ser a primeira vez " +"que ela é testada) o conjunto da cláusula :keyword:`!else`, se presente, é " +"executado e o laço termina." #: ../../reference/compound_stmts.rst:133 msgid "" "A :keyword:`break` statement executed in the first suite terminates the loop " -"without executing the :keyword:`!else` clause's suite. A :keyword:" -"`continue` statement executed in the first suite skips the rest of the suite " -"and goes back to testing the expression." +"without executing the :keyword:`!else` clause's suite. " +"A :keyword:`continue` statement executed in the first suite skips the rest " +"of the suite and goes back to testing the expression." msgstr "" +"Uma instrução :keyword:`break` executada no primeiro conjunto termina o laço " +"sem executar o conjunto da cláusula :keyword:`!else`. Uma " +"instrução :keyword:`continue` executada no primeiro conjunto ignora o resto " +"do conjunto e volta a testar a expressão." #: ../../reference/compound_stmts.rst:142 msgid "The :keyword:`!for` statement" -msgstr "" +msgstr "A instrução :keyword:`!for`" #: ../../reference/compound_stmts.rst:153 msgid "" "The :keyword:`for` statement is used to iterate over the elements of a " "sequence (such as a string, tuple or list) or other iterable object:" msgstr "" +"A instrução :keyword:`for` é usada para iterar sobre os elementos de uma " +"sequência (como uma string, tupla ou lista) ou outro objeto iterável:" #: ../../reference/compound_stmts.rst:160 msgid "" -"The ``starred_list`` expression is evaluated once; it should yield an :term:" -"`iterable` object. An :term:`iterator` is created for that iterable. The " -"first item provided by the iterator is then assigned to the target list " -"using the standard rules for assignments (see :ref:`assignment`), and the " -"suite is executed. This repeats for each item provided by the iterator. " -"When the iterator is exhausted, the suite in the :keyword:`!else` clause, if " -"present, is executed, and the loop terminates." -msgstr "" +"The ``starred_list`` expression is evaluated once; it should yield " +"an :term:`iterable` object. An :term:`iterator` is created for that " +"iterable. The first item provided by the iterator is then assigned to the " +"target list using the standard rules for assignments " +"(see :ref:`assignment`), and the suite is executed. This repeats for each " +"item provided by the iterator. When the iterator is exhausted, the suite in " +"the :keyword:`!else` clause, if present, is executed, and the loop " +"terminates." +msgstr "" +"A expressão ``starred_list`` é avaliada uma vez; deve produzir um " +"objeto :term:`iterável`. Um :term:`iterador` é criado para esse iterável. O " +"primeiro item fornecido pelo iterador é então atribuído à lista de alvos " +"usando as regras padrão para atribuições (veja :ref:`assignment`), e o " +"conjunto é executado. Isso se repete para cada item fornecido pelo iterador. " +"Quando o iterador se esgota, o conjunto na cláusula :keyword:`!else`, se " +"presente, é executado e o loop termina." #: ../../reference/compound_stmts.rst:173 msgid "" "A :keyword:`break` statement executed in the first suite terminates the loop " -"without executing the :keyword:`!else` clause's suite. A :keyword:" -"`continue` statement executed in the first suite skips the rest of the suite " -"and continues with the next item, or with the :keyword:`!else` clause if " -"there is no next item." +"without executing the :keyword:`!else` clause's suite. " +"A :keyword:`continue` statement executed in the first suite skips the rest " +"of the suite and continues with the next item, or with the :keyword:`!else` " +"clause if there is no next item." msgstr "" +"Uma instrução :keyword:`break` executada no primeiro conjunto termina o loop " +"sem executar o conjunto da cláusula :keyword:`!else`. Uma " +"instrução :keyword:`continue` executada no primeiro conjunto pula o resto do " +"conjunto e continua com o próximo item, ou com a cláusula :keyword:`!else` " +"se não houver próximo item." #: ../../reference/compound_stmts.rst:179 msgid "" @@ -193,6 +232,9 @@ msgid "" "overwrites all previous assignments to those variables including those made " "in the suite of the for-loop::" msgstr "" +"O laço for faz atribuições às variáveis na lista de destino. Isso substitui " +"todas as atribuições anteriores a essas variáveis, incluindo aquelas feitas " +"no conjunto do laço for::" #: ../../reference/compound_stmts.rst:193 msgid "" @@ -202,31 +244,43 @@ msgid "" "sequences of integers. For instance, iterating ``range(3)`` successively " "yields 0, 1, and then 2." msgstr "" +"Os nomes na lista de destinos não são excluídos quando o laço termina, mas " +"se a sequência estiver vazia, eles não serão atribuídos pelo laço. Dica: o " +"tipo embutido :func:`range` representa sequências aritméticas imutáveis de " +"inteiros. Por exemplo, iterar ``range(3)`` sucessivamente produz 0, 1 e " +"depois 2." #: ../../reference/compound_stmts.rst:198 msgid "Starred elements are now allowed in the expression list." msgstr "" +"Elementos marcados com estrela agora são permitidos na lista de expressões." #: ../../reference/compound_stmts.rst:205 msgid "The :keyword:`!try` statement" -msgstr "" +msgstr "A instrução :keyword:`!try`" #: ../../reference/compound_stmts.rst:215 msgid "" "The :keyword:`!try` statement specifies exception handlers and/or cleanup " "code for a group of statements:" msgstr "" +"A instrução :keyword:`!try` especifica manipuladores de exceção e/ou código " +"de limpeza para um grupo de instruções:" #: ../../reference/compound_stmts.rst:231 msgid "" -"Additional information on exceptions can be found in section :ref:" -"`exceptions`, and information on using the :keyword:`raise` statement to " -"generate exceptions may be found in section :ref:`raise`." +"Additional information on exceptions can be found in " +"section :ref:`exceptions`, and information on using the :keyword:`raise` " +"statement to generate exceptions may be found in section :ref:`raise`." msgstr "" +"Informações adicionais sobre exceções podem ser encontradas na " +"seção :ref:`exceptions`, e informações sobre como usar a " +"instrução :keyword:`raise` para gerar exceções podem ser encontradas na " +"seção :ref:`raise`." #: ../../reference/compound_stmts.rst:239 msgid ":keyword:`!except` clause" -msgstr "" +msgstr "Cláusula :keyword:`!except`" #: ../../reference/compound_stmts.rst:241 msgid "" @@ -244,6 +298,20 @@ msgid "" "tuple containing an item that is the class or a non-virtual base class of " "the exception object." msgstr "" +"A(s) cláusula(s) :keyword:`!except` especifica(m) um ou mais manipuladores " +"de exceção. Quando nenhuma exceção ocorre na cláusula :keyword:`try`, nenhum " +"manipulador de exceção é executado. Quando ocorre uma exceção no " +"conjunto :keyword:`!try`, uma busca por um manipulador de exceção é " +"iniciada. Esta pesquisa inspeciona as cláusulas :keyword:`!except` " +"sucessivamente até que seja encontrada uma que corresponda à exceção. Uma " +"cláusula :keyword:`!except` sem expressão, se presente, deve ser a última; " +"corresponde a qualquer exceção. Para uma cláusula :keyword:`!except` com uma " +"expressão, essa expressão é avaliada e a cláusula corresponde à exceção se o " +"objeto resultante for \"compatível\" com a exceção. Um objeto é compatível " +"com uma exceção se o objeto for a classe ou uma :term:`classe base não " +"virtual ` do objeto de exceção, ou uma tupla contendo " +"um item que seja a classe ou uma classe base não virtual do objeto de " +"exceção." #: ../../reference/compound_stmts.rst:256 msgid "" @@ -251,6 +319,9 @@ msgid "" "exception handler continues in the surrounding code and on the invocation " "stack. [#]_" msgstr "" +"Se nenhuma cláusula :keyword:`!except` corresponder à exceção, a busca por " +"um manipulador de exceção continua no código circundante e na pilha de " +"invocação. [#]_" #: ../../reference/compound_stmts.rst:260 msgid "" @@ -260,29 +331,46 @@ msgid "" "call stack (it is treated as if the entire :keyword:`try` statement raised " "the exception)." msgstr "" +"Se a avaliação de uma expressão no cabeçalho de uma cláusula :keyword:`!" +"except` levantar uma exceção, a busca original por um manipulador será " +"cancelada e uma busca pela nova exceção será iniciada no código circundante " +"e na pilha de chamadas (ela é tratada como se toda a " +"instrução :keyword:`try` levantasse a exceção)." #: ../../reference/compound_stmts.rst:268 msgid "" "When a matching :keyword:`!except` clause is found, the exception is " -"assigned to the target specified after the :keyword:`!as` keyword in that :" -"keyword:`!except` clause, if present, and the :keyword:`!except` clause's " -"suite is executed. All :keyword:`!except` clauses must have an executable " -"block. When the end of this block is reached, execution continues normally " -"after the entire :keyword:`try` statement. (This means that if two nested " -"handlers exist for the same exception, and the exception occurs in the :" -"keyword:`!try` clause of the inner handler, the outer handler will not " +"assigned to the target specified after the :keyword:`!as` keyword in " +"that :keyword:`!except` clause, if present, and the :keyword:`!except` " +"clause's suite is executed. All :keyword:`!except` clauses must have an " +"executable block. When the end of this block is reached, execution continues " +"normally after the entire :keyword:`try` statement. (This means that if two " +"nested handlers exist for the same exception, and the exception occurs in " +"the :keyword:`!try` clause of the inner handler, the outer handler will not " "handle the exception.)" msgstr "" +"Quando uma cláusula :keyword:`!except` correspondente é encontrada, a " +"exceção é atribuída ao destino especificado após a palavra " +"reservada :keyword:`!as` nessa cláusula :keyword:`!except`, se presente, e o " +"conjunto da cláusula :keyword:`!except` é executado. Todas as " +"cláusulas :keyword:`!except` devem ter um bloco executável. Quando o final " +"deste bloco é atingido, a execução continua normalmente após toda a " +"instrução :keyword:`try`. (Isso significa que, se existirem dois " +"manipuladores aninhados para a mesma exceção e a exceção ocorrer na " +"cláusula :keyword:`!try` do manipulador interno, o manipulador externo não " +"tratará a exceção.)" #: ../../reference/compound_stmts.rst:279 msgid "" "When an exception has been assigned using ``as target``, it is cleared at " "the end of the :keyword:`!except` clause. This is as if ::" msgstr "" +"Quando uma exceção foi atribuída usando ``as target``, ela é limpa no final " +"da cláusula :keyword:`!except`. É como se ::" #: ../../reference/compound_stmts.rst:285 msgid "was translated to ::" -msgstr "" +msgstr "fosse traduzido para ::" #: ../../reference/compound_stmts.rst:293 msgid "" @@ -292,6 +380,11 @@ msgid "" "with the stack frame, keeping all locals in that frame alive until the next " "garbage collection occurs." msgstr "" +"Isso significa que a exceção deve ser atribuída a um nome diferente para " +"poder ser referenciada após a cláusula :keyword:`!except`. As exceções são " +"limpas porque, com o traceback (situação da pilha de execução) anexado a " +"elas, formam um ciclo de referência com o quadro de pilha, mantendo todos os " +"locais nesse quadro vivos até que ocorra a próxima coleta de lixo." #: ../../reference/compound_stmts.rst:303 msgid "" @@ -301,23 +394,38 @@ msgid "" "leaving an exception handler, the exception stored in the :mod:`sys` module " "is reset to its previous value::" msgstr "" +"Antes de um conjunto de cláusulas :keyword:`!except` ser executado, a " +"exceção é armazenada no módulo :mod:`sys`, onde pode ser acessada no corpo " +"da cláusula :keyword:`!except` chamando :func:`sys.exception`. Ao sair de um " +"manipulador de exceções, a exceção armazenada no módulo :mod:`sys` é " +"redefinida para seu valor anterior::" #: ../../reference/compound_stmts.rst:334 msgid ":keyword:`!except*` clause" -msgstr "" +msgstr "Cláusula :keyword:`!except*`" #: ../../reference/compound_stmts.rst:336 msgid "" -"The :keyword:`!except*` clause(s) are used for handling :exc:" -"`ExceptionGroup`\\s. The exception type for matching is interpreted as in " -"the case of :keyword:`except`, but in the case of exception groups we can " -"have partial matches when the type matches some of the exceptions in the " -"group. This means that multiple :keyword:`!except*` clauses can execute, " -"each handling part of the exception group. Each clause executes at most once " -"and handles an exception group of all matching exceptions. Each exception " -"in the group is handled by at most one :keyword:`!except*` clause, the first " -"that matches it. ::" -msgstr "" +"The :keyword:`!except*` clause(s) are used for " +"handling :exc:`ExceptionGroup`\\s. The exception type for matching is " +"interpreted as in the case of :keyword:`except`, but in the case of " +"exception groups we can have partial matches when the type matches some of " +"the exceptions in the group. This means that multiple :keyword:`!except*` " +"clauses can execute, each handling part of the exception group. Each clause " +"executes at most once and handles an exception group of all matching " +"exceptions. Each exception in the group is handled by at most " +"one :keyword:`!except*` clause, the first that matches it. ::" +msgstr "" +"As cláusulas :keyword:`!except*` são usadas para " +"manipular :exc:`ExceptionGroup`\\s. O tipo de exceção para correspondência é " +"interpretado como no caso de :keyword:`except`, mas no caso de grupos de " +"exceção, podemos ter correspondências parciais quando o tipo corresponde a " +"algumas das exceções no grupo. Isso significa que várias " +"cláusulas :keyword:`!except*` podem ser executadas, cada uma manipulando " +"parte do grupo de exceções. Cada cláusula é executada no máximo uma vez e " +"manipula um grupo de exceções de todas as exceções correspondentes. Cada " +"exceção no grupo é manipulada por no máximo uma cláusula :keyword:`!" +"except*`, a primeira que corresponde a ela. ::" #: ../../reference/compound_stmts.rst:364 msgid "" @@ -339,52 +447,73 @@ msgid "" "of the :keyword:`!except*` clauses, it is caught and wrapped by an exception " "group with an empty message string. ::" msgstr "" +"Se a exceção levantada não for um grupo de exceções e seu tipo corresponder " +"a uma das cláusulas :keyword:`!except*`, ela será capturada e encapsulada " +"por um grupo de exceções com uma string de mensagem vazia. ::" #: ../../reference/compound_stmts.rst:383 msgid "" "An :keyword:`!except*` clause must have a matching type, and this type " "cannot be a subclass of :exc:`BaseExceptionGroup`. It is not possible to " -"mix :keyword:`except` and :keyword:`!except*` in the same :keyword:`try`. :" -"keyword:`break`, :keyword:`continue` and :keyword:`return` cannot appear in " -"an :keyword:`!except*` clause." +"mix :keyword:`except` and :keyword:`!except*` in the " +"same :keyword:`try`. :keyword:`break`, :keyword:`continue` " +"and :keyword:`return` cannot appear in an :keyword:`!except*` clause." msgstr "" #: ../../reference/compound_stmts.rst:400 msgid ":keyword:`!else` clause" -msgstr "" +msgstr "Cláusula :keyword:`!else`" #: ../../reference/compound_stmts.rst:402 msgid "" "The optional :keyword:`!else` clause is executed if the control flow leaves " -"the :keyword:`try` suite, no exception was raised, and no :keyword:" -"`return`, :keyword:`continue`, or :keyword:`break` statement was executed. " -"Exceptions in the :keyword:`!else` clause are not handled by the preceding :" -"keyword:`except` clauses." +"the :keyword:`try` suite, no exception was raised, and " +"no :keyword:`return`, :keyword:`continue`, or :keyword:`break` statement was " +"executed. Exceptions in the :keyword:`!else` clause are not handled by the " +"preceding :keyword:`except` clauses." msgstr "" +"A cláusula opcional :keyword:`!else` é executada se o fluxo de controle " +"deixar o conjunto :keyword:`try`, nenhuma exceção foi levantada e nenhuma " +"instrução :keyword:`return`, :keyword:`continue` ou :keyword:`break` foi " +"executada. Exceções na cláusula :keyword:`!else` não são manipuladas pelas " +"cláusulas :keyword:`except` precedentes." #: ../../reference/compound_stmts.rst:414 msgid ":keyword:`!finally` clause" -msgstr "" +msgstr "Cláusula :keyword:`!finally`" #: ../../reference/compound_stmts.rst:416 msgid "" -"If :keyword:`!finally` is present, it specifies a 'cleanup' handler. The :" -"keyword:`try` clause is executed, including any :keyword:`except` and :" -"keyword:`else` clauses. If an exception occurs in any of the clauses and is " -"not handled, the exception is temporarily saved. The :keyword:`!finally` " -"clause is executed. If there is a saved exception it is re-raised at the " -"end of the :keyword:`!finally` clause. If the :keyword:`!finally` clause " -"raises another exception, the saved exception is set as the context of the " -"new exception. If the :keyword:`!finally` clause executes a :keyword:" -"`return`, :keyword:`break` or :keyword:`continue` statement, the saved " -"exception is discarded::" -msgstr "" +"If :keyword:`!finally` is present, it specifies a 'cleanup' handler. " +"The :keyword:`try` clause is executed, including any :keyword:`except` " +"and :keyword:`else` clauses. If an exception occurs in any of the clauses " +"and is not handled, the exception is temporarily saved. The :keyword:`!" +"finally` clause is executed. If there is a saved exception it is re-raised " +"at the end of the :keyword:`!finally` clause. If the :keyword:`!finally` " +"clause raises another exception, the saved exception is set as the context " +"of the new exception. If the :keyword:`!finally` clause executes " +"a :keyword:`return`, :keyword:`break` or :keyword:`continue` statement, the " +"saved exception is discarded::" +msgstr "" +"Se :keyword:`!finally` estiver presente, especifica um manipulador de " +"\"limpeza\". A cláusula :keyword:`try` é executada, incluindo quaisquer " +"cláusulas :keyword:`except` e :keyword:`else`. Se uma exceção ocorrer em " +"qualquer uma das cláusulas e não for manipulada, a exceção será salva " +"temporariamente. A cláusula :keyword:`!finally` é executada. Se houver uma " +"exceção salva, ela será levantada novamente no final da cláusula :keyword:`!" +"finally`. Se a cláusula :keyword:`!finally` levantar outra exceção, a " +"exceção salva será definida como o contexto da nova exceção. Se a " +"cláusula :keyword:`!finally` executar uma " +"instrução :keyword:`return`, :keyword:`break` ou :keyword:`continue`, a " +"exceção salva será descartada::" #: ../../reference/compound_stmts.rst:435 msgid "" "The exception information is not available to the program during execution " "of the :keyword:`!finally` clause." msgstr "" +"As informações de exceção não estão disponíveis para o programa durante a " +"execução da cláusula :keyword:`!finally`." #: ../../reference/compound_stmts.rst:443 msgid "" @@ -393,6 +522,10 @@ msgid "" "finally` statement, the :keyword:`!finally` clause is also executed 'on the " "way out.'" msgstr "" +"Quando uma instrução :keyword:`return`, :keyword:`break` " +"ou :keyword:`continue` é executada no conjunto :keyword:`try` de uma " +"instrução :keyword:`!try`...\\ :keyword:`!finally`, a cláusula :keyword:`!" +"finally` também é executada \"na saída\"." #: ../../reference/compound_stmts.rst:447 msgid "" @@ -401,124 +534,169 @@ msgid "" "a :keyword:`!return` statement executed in the :keyword:`!finally` clause " "will always be the last one executed::" msgstr "" +"O valor de retorno de uma função é determinado pela última " +"instrução :keyword:`return` executada. Como a cláusula :keyword:`!finally` " +"sempre é executada, uma instrução :keyword:`!return` executada na " +"cláusula :keyword:`!finally` sempre será a última executada::" #: ../../reference/compound_stmts.rst:461 msgid "" -"Prior to Python 3.8, a :keyword:`continue` statement was illegal in the :" -"keyword:`!finally` clause due to a problem with the implementation." +"Prior to Python 3.8, a :keyword:`continue` statement was illegal in " +"the :keyword:`!finally` clause due to a problem with the implementation." msgstr "" +"Antes do Python 3.8, uma instrução :keyword:`continue` era ilegal na " +"cláusula :keyword:`!finally` devido a um problema com a implementação." #: ../../reference/compound_stmts.rst:470 msgid "The :keyword:`!with` statement" -msgstr "" +msgstr "A instrução :keyword:`!with`" #: ../../reference/compound_stmts.rst:479 msgid "" "The :keyword:`with` statement is used to wrap the execution of a block with " "methods defined by a context manager (see section :ref:`context-managers`). " -"This allows common :keyword:`try`...\\ :keyword:`except`...\\ :keyword:" -"`finally` usage patterns to be encapsulated for convenient reuse." +"This allows common :keyword:`try`...\\ :keyword:`except`..." +"\\ :keyword:`finally` usage patterns to be encapsulated for convenient reuse." msgstr "" +"A instrução :keyword:`with` envolve a execução de um bloco com métodos " +"definidos por um gerenciador de contexto (veja a seção :ref:`context-" +"managers`). Isso permite que padrões comuns de uso de :keyword:`try`..." +"\\ :keyword:`except`...\\ :keyword:`finally` sejam encapsulados para " +"reutilização conveniente." #: ../../reference/compound_stmts.rst:489 msgid "" "The execution of the :keyword:`with` statement with one \"item\" proceeds as " "follows:" msgstr "" +"A execução da instrução :keyword:`with` com um \"item\" ocorre da seguinte " +"maneira:" #: ../../reference/compound_stmts.rst:491 msgid "" -"The context expression (the expression given in the :token:`~python-grammar:" -"with_item`) is evaluated to obtain a context manager." +"The context expression (the expression given in the :token:`~python-" +"grammar:with_item`) is evaluated to obtain a context manager." msgstr "" +"A expressão de contexto (a expressão fornecida em :token:`~python-" +"grammar:with_item`) é avaliada para obter um gerenciador de contexto." #: ../../reference/compound_stmts.rst:494 -msgid "The context manager's :meth:`__enter__` is loaded for later use." +msgid "" +"The context manager's :meth:`~object.__enter__` is loaded for later use." msgstr "" +"O método :meth:`~object.__enter__` do gerenciador de contexto é carregado " +"para uso posterior." #: ../../reference/compound_stmts.rst:496 -msgid "The context manager's :meth:`__exit__` is loaded for later use." +msgid "The context manager's :meth:`~object.__exit__` is loaded for later use." msgstr "" +"O método :meth:`~object.__exit__` do gerenciador de contexto é carregado " +"para uso posterior." #: ../../reference/compound_stmts.rst:498 -msgid "The context manager's :meth:`__enter__` method is invoked." +msgid "The context manager's :meth:`~object.__enter__` method is invoked." msgstr "" +"O método :meth:`~object.__enter__` do gerenciador de contexto é invocado." #: ../../reference/compound_stmts.rst:500 msgid "" "If a target was included in the :keyword:`with` statement, the return value " -"from :meth:`__enter__` is assigned to it." +"from :meth:`~object.__enter__` is assigned to it." msgstr "" +"Se um alvo foi incluído na instrução :keyword:`with`, o valor de retorno " +"de :meth:`~object.__enter__` é atribuído a esse alvo." #: ../../reference/compound_stmts.rst:505 msgid "" -"The :keyword:`with` statement guarantees that if the :meth:`__enter__` " -"method returns without an error, then :meth:`__exit__` will always be " -"called. Thus, if an error occurs during the assignment to the target list, " -"it will be treated the same as an error occurring within the suite would be. " -"See step 7 below." +"The :keyword:`with` statement guarantees that if " +"the :meth:`~object.__enter__` method returns without an error, " +"then :meth:`~object.__exit__` will always be called. Thus, if an error " +"occurs during the assignment to the target list, it will be treated the same " +"as an error occurring within the suite would be. See step 7 below." msgstr "" +"A instrução :keyword:`with` garante que, se o " +"método :meth:`~object.__enter__` retornar sem erro, :meth:`~object.__exit__` " +"sempre será chamado. Assim, se ocorrer um erro durante a atribuição à lista " +"de alvos, ele será tratado da mesma forma que um erro ocorrendo dentro do " +"conjunto seria. Veja a etapa 7 abaixo." #: ../../reference/compound_stmts.rst:511 msgid "The suite is executed." -msgstr "" +msgstr "O conjunto *suite* é executado." #: ../../reference/compound_stmts.rst:513 msgid "" -"The context manager's :meth:`__exit__` method is invoked. If an exception " -"caused the suite to be exited, its type, value, and traceback are passed as " -"arguments to :meth:`__exit__`. Otherwise, three :const:`None` arguments are " -"supplied." +"The context manager's :meth:`~object.__exit__` method is invoked. If an " +"exception caused the suite to be exited, its type, value, and traceback are " +"passed as arguments to :meth:`~object.__exit__`. Otherwise, " +"three :const:`None` arguments are supplied." msgstr "" +"O método :meth:`~object.__exit__` do gerenciador de contexto é invocado. Se " +"uma exceção fez com que o conjunto fosse encerrado, seu tipo, valor e " +"traceback são passados como argumentos para :meth:`~object.__exit__`. Caso " +"contrário, três argumentos :const:`None` são fornecidos." #: ../../reference/compound_stmts.rst:518 msgid "" -"If the suite was exited due to an exception, and the return value from the :" -"meth:`__exit__` method was false, the exception is reraised. If the return " -"value was true, the exception is suppressed, and execution continues with " -"the statement following the :keyword:`with` statement." +"If the suite was exited due to an exception, and the return value from " +"the :meth:`~object.__exit__` method was false, the exception is reraised. " +"If the return value was true, the exception is suppressed, and execution " +"continues with the statement following the :keyword:`with` statement." msgstr "" +"Se o conjunto foi encerrado devido a uma exceção, e o valor de retorno do " +"método :meth:`~object.__exit__` for falso, a exceção é levantada novamente. " +"Se o valor de retorno era verdadeiro, a exceção é suprimida, e a execução " +"continua com a instrução após a instrução :keyword:`with`." #: ../../reference/compound_stmts.rst:523 msgid "" "If the suite was exited for any reason other than an exception, the return " -"value from :meth:`__exit__` is ignored, and execution proceeds at the normal " -"location for the kind of exit that was taken." +"value from :meth:`~object.__exit__` is ignored, and execution proceeds at " +"the normal location for the kind of exit that was taken." msgstr "" +"Se o conjunto foi encerrado por qualquer motivo diferente de uma exceção, o " +"valor de retorno de :meth:`~object.__exit__` é ignorado e a execução " +"prossegue no local normal para o tipo de saída que foi gerada." #: ../../reference/compound_stmts.rst:527 -#: ../../reference/compound_stmts.rst:1518 -#: ../../reference/compound_stmts.rst:1559 +#: ../../reference/compound_stmts.rst:1523 +#: ../../reference/compound_stmts.rst:1564 msgid "The following code::" -msgstr "" +msgstr "O seguinte código::" #: ../../reference/compound_stmts.rst:532 #: ../../reference/compound_stmts.rst:557 -#: ../../reference/compound_stmts.rst:1564 +#: ../../reference/compound_stmts.rst:1569 msgid "is semantically equivalent to::" -msgstr "" +msgstr "é semanticamente equivalente a::" #: ../../reference/compound_stmts.rst:551 msgid "" -"With more than one item, the context managers are processed as if multiple :" -"keyword:`with` statements were nested::" +"With more than one item, the context managers are processed as if " +"multiple :keyword:`with` statements were nested::" msgstr "" +"Com mais de um item, os gerenciadores de contexto são processados como se " +"várias instruções :keyword:`with` estivessem aninhadas::" #: ../../reference/compound_stmts.rst:563 msgid "" "You can also write multi-item context managers in multiple lines if the " "items are surrounded by parentheses. For example::" msgstr "" +"Você também pode escrever gerenciadores de contexto multi-item em várias " +"linhas se os itens estiverem entre parênteses. Por exemplo::" #: ../../reference/compound_stmts.rst:572 msgid "Support for multiple context expressions." -msgstr "" +msgstr "Suporte para múltiplas expressões de contexto." #: ../../reference/compound_stmts.rst:575 msgid "" "Support for using grouping parentheses to break the statement in multiple " "lines." msgstr "" +"Suporte para usar parênteses de agrupamento para dividir a instrução em " +"várias linhas." #: ../../reference/compound_stmts.rst:581 msgid ":pep:`343` - The \"with\" statement" @@ -529,22 +707,24 @@ msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." msgstr "" -"A especificação, o histórico e os exemplos para a instrução Python :keyword:" -"`with`." +"A especificação, o histórico e os exemplos para a instrução " +"Python :keyword:`with`." #: ../../reference/compound_stmts.rst:587 msgid "The :keyword:`!match` statement" -msgstr "" +msgstr "A instrução :keyword:`!match`" #: ../../reference/compound_stmts.rst:601 msgid "The match statement is used for pattern matching. Syntax:" -msgstr "" +msgstr "A instrução match é usada para correspondência de padrões. Sintaxe:" #: ../../reference/compound_stmts.rst:610 msgid "" "This section uses single quotes to denote :ref:`soft keywords `." msgstr "" +"Esta seção usa aspas simples para denotar :ref:`palavras reservadas " +"contextuais `." #: ../../reference/compound_stmts.rst:613 msgid "" @@ -552,31 +732,40 @@ msgid "" "value (following ``match``). The pattern (which may contain subpatterns) is " "matched against the subject value. The outcomes are:" msgstr "" +"A correspondência de padrões aceita um padrão como entrada (seguindo " +"``case``) e um valor de sujeito (seguindo ``match``). O padrão (que pode " +"conter subpadrões) é correspondido ao valor de assunto. Os resultados são:" #: ../../reference/compound_stmts.rst:617 msgid "A match success or failure (also termed a pattern success or failure)." msgstr "" +"Um sucesso ou falha de correspondência (também chamado de sucesso ou falha " +"de padrão)." #: ../../reference/compound_stmts.rst:619 msgid "" "Possible binding of matched values to a name. The prerequisites for this " "are further discussed below." msgstr "" +"Possível vinculação de valores correspondentes a um nome. Os pré-requisitos " +"para isso são discutidos mais adiante." #: ../../reference/compound_stmts.rst:622 msgid "" "The ``match`` and ``case`` keywords are :ref:`soft keywords `." msgstr "" +"As palavras reservadas ``match`` e ``case`` são :ref:`palavras reservadas " +"contextuais `." #: ../../reference/compound_stmts.rst:626 -#: ../../reference/compound_stmts.rst:1181 +#: ../../reference/compound_stmts.rst:1183 msgid ":pep:`634` -- Structural Pattern Matching: Specification" -msgstr "" +msgstr ":pep:`634` -- Structural Pattern Matching: Specification" #: ../../reference/compound_stmts.rst:627 -#: ../../reference/compound_stmts.rst:1182 +#: ../../reference/compound_stmts.rst:1184 msgid ":pep:`636` -- Structural Pattern Matching: Tutorial" -msgstr "" +msgstr ":pep:`636` -- Correspondência de padrões estruturais: Tutorial" #: ../../reference/compound_stmts.rst:631 msgid "Overview" @@ -584,7 +773,7 @@ msgstr "Visão Geral" #: ../../reference/compound_stmts.rst:633 msgid "Here's an overview of the logical flow of a match statement:" -msgstr "" +msgstr "Aqui está uma visão geral do fluxo lógico de uma instrução match:" #: ../../reference/compound_stmts.rst:636 msgid "" @@ -592,6 +781,9 @@ msgid "" "value obtained. If the subject expression contains a comma, a tuple is " "constructed using :ref:`the standard rules `." msgstr "" +"A expressão de sujeito ``subject_expr`` é avaliada e um valor de sujeito " +"resultante é obtido. Se a expressão de sujeito contiver uma vírgula, uma " +"tupla é construída usando :ref:`as regras padrão `." #: ../../reference/compound_stmts.rst:640 msgid "" @@ -602,6 +794,13 @@ msgid "" "specified below. **Name bindings made during a successful pattern match " "outlive the executed block and can be used after the match statement**." msgstr "" +"Cada padrão em um ``case_block`` é tentado para corresponder ao valor de " +"sujeito. As regras específicas para sucesso ou falha são descritas abaixo. A " +"tentativa de correspondência também pode vincular alguns ou todos os nomes " +"autônomos dentro do padrão. As regras precisas de vinculação de padrão " +"variam por tipo de padrão e são especificadas abaixo. **As vinculações de " +"nome feitas durante uma correspondência de padrão bem-sucedida sobrevivem ao " +"bloco executado e podem ser usadas após a instrução match**." #: ../../reference/compound_stmts.rst:649 msgid "" @@ -611,26 +810,39 @@ msgid "" "dependent on implementation and may vary. This is an intentional decision " "made to allow different implementations to add optimizations." msgstr "" +"Durante correspondências de padrões com falha, alguns subpadrões podem ter " +"sucesso. Não confie em vinculações sendo feitas para uma correspondência com " +"falha. Por outro lado, não confie em variáveis permanecendo inalteradas após " +"uma correspondência com falha. O comportamento exato depende da " +"implementação e pode variar. Esta é uma decisão intencional feita para " +"permitir que diferentes implementações adicionem otimizações." #: ../../reference/compound_stmts.rst:656 msgid "" "If the pattern succeeds, the corresponding guard (if present) is evaluated. " "In this case all name bindings are guaranteed to have happened." msgstr "" +"Se o padrão for bem-sucedido, o *guard* correspondente (se presente) é " +"avaliado. Neste caso, todas as vinculações de nome são garantidas como tendo " +"acontecido." #: ../../reference/compound_stmts.rst:659 msgid "" "If the guard evaluates as true or is missing, the ``block`` inside " "``case_block`` is executed." msgstr "" +"Se o *guard* for avaliado como verdadeiro ou estiver ausente, o ``block`` " +"dentro de ``case_block`` será executado." #: ../../reference/compound_stmts.rst:662 msgid "Otherwise, the next ``case_block`` is attempted as described above." msgstr "" +"Caso contrário, o próximo ``case_block`` será tentado conforme descrito " +"acima." #: ../../reference/compound_stmts.rst:664 msgid "If there are no further case blocks, the match statement is completed." -msgstr "" +msgstr "Se não houver mais blocos de caso, a instrução match será concluída." #: ../../reference/compound_stmts.rst:668 msgid "" @@ -638,20 +850,24 @@ msgid "" "on implementation, the interpreter may cache values or use other " "optimizations which skip repeated evaluations." msgstr "" +"Os usuários geralmente nunca devem confiar em um padrão sendo avaliado. " +"Dependendo da implementação, o interpretador pode armazenar valores em cache " +"ou usar outras otimizações que pulam avaliações repetidas." #: ../../reference/compound_stmts.rst:672 msgid "A sample match statement::" -msgstr "" +msgstr "Um exemplo de instrução match::" #: ../../reference/compound_stmts.rst:688 msgid "" "In this case, ``if flag`` is a guard. Read more about that in the next " "section." msgstr "" +"Neste caso, ``if flag`` é um *guard*. Leia mais sobre isso na próxima seção." #: ../../reference/compound_stmts.rst:691 msgid "Guards" -msgstr "" +msgstr "Guards" #: ../../reference/compound_stmts.rst:698 msgid "" @@ -659,10 +875,13 @@ msgid "" "``case`` block to execute. It takes the form: :keyword:`if` followed by an " "expression." msgstr "" +"Um ``guard`` (que faz parte do ``case``) deve ter sucesso para que o código " +"dentro do bloco ``case`` seja executado. Ele assume a forma: :keyword:`if` " +"seguido por uma expressão." #: ../../reference/compound_stmts.rst:703 msgid "The logical flow of a ``case`` block with a ``guard`` follows:" -msgstr "" +msgstr "O fluxo lógico de um bloco ``case`` com um ``guard`` é o seguinte:" #: ../../reference/compound_stmts.rst:705 msgid "" @@ -670,27 +889,34 @@ msgid "" "failed, the ``guard`` is not evaluated and the next ``case`` block is " "checked." msgstr "" +"Verifique se o padrão no bloco ``case`` foi bem-sucedido. Se o padrão " +"falhou, o ``guard`` não é avaliado e o próximo bloco ``case`` é verificado." #: ../../reference/compound_stmts.rst:709 msgid "If the pattern succeeded, evaluate the ``guard``." -msgstr "" +msgstr "Se o padrão for bem-sucedido, avalia o ``guard``." #: ../../reference/compound_stmts.rst:711 msgid "" "If the ``guard`` condition evaluates as true, the case block is selected." msgstr "" +"Se a condição ``guard`` for avaliada como verdadeira, o bloco de caso será " +"selecionado." #: ../../reference/compound_stmts.rst:714 msgid "" "If the ``guard`` condition evaluates as false, the case block is not " "selected." msgstr "" +"Se a condição ``guard`` for avaliada como falsa, o bloco de caso não será " +"selecionado." #: ../../reference/compound_stmts.rst:717 msgid "" "If the ``guard`` raises an exception during evaluation, the exception " "bubbles up." msgstr "" +"Se o ``guard`` levantar uma exceção durante a avaliação, a exceção surgirá." #: ../../reference/compound_stmts.rst:720 msgid "" @@ -700,16 +926,24 @@ msgid "" "evaluation must happen in order.) Guard evaluation must stop once a case " "block is selected." msgstr "" +"Guards podem ter efeitos colaterais, pois são expressões. A avaliação de " +"guards deve prosseguir do primeiro ao último bloco de caso, um de cada vez, " +"pulando blocos de caso cujos padrões não são todos bem-sucedidos. (Isto é, a " +"avaliação de guardas deve acontecer em ordem.) A avaliação de guards deve " +"parar quando um bloco de caso for selecionado." #: ../../reference/compound_stmts.rst:730 msgid "Irrefutable Case Blocks" -msgstr "" +msgstr "Blocos irrefutáveis de case" #: ../../reference/compound_stmts.rst:734 msgid "" "An irrefutable case block is a match-all case block. A match statement may " "have at most one irrefutable case block, and it must be last." msgstr "" +"Um bloco irrefutável de case é um bloco de case que corresponde a qualquer " +"valor. Uma instrução match pode ter no máximo um bloco irrefutável de case, " +"e ele deve ser o último." #: ../../reference/compound_stmts.rst:737 msgid "" @@ -718,46 +952,51 @@ msgid "" "syntax alone that it will always succeed. Only the following patterns are " "irrefutable:" msgstr "" +"Um bloco de case é considerado irrefutável se não tiver guard e seu padrão " +"for irrefutável. Um padrão é considerado irrefutável se pudermos provar " +"somente por sua sintaxe que ele sempre terá sucesso. Somente os seguintes " +"padrões são irrefutáveis:" #: ../../reference/compound_stmts.rst:742 msgid ":ref:`as-patterns` whose left-hand side is irrefutable" -msgstr "" +msgstr ":ref:`as-patterns` cujo lado esquerdo é irrefutável" #: ../../reference/compound_stmts.rst:744 msgid ":ref:`or-patterns` containing at least one irrefutable pattern" -msgstr "" +msgstr ":ref:`or-patterns` contendo pelo menos um padrão irrefutável" #: ../../reference/compound_stmts.rst:746 msgid ":ref:`capture-patterns`" -msgstr "" +msgstr ":ref:`capture-patterns`" #: ../../reference/compound_stmts.rst:748 msgid ":ref:`wildcard-patterns`" -msgstr "" +msgstr ":ref:`wildcard-patterns`" #: ../../reference/compound_stmts.rst:750 msgid "parenthesized irrefutable patterns" -msgstr "" +msgstr "padrões irrefutáveis entre parêteses" #: ../../reference/compound_stmts.rst:754 msgid "Patterns" -msgstr "" +msgstr "Padrões" #: ../../reference/compound_stmts.rst:761 msgid "This section uses grammar notations beyond standard EBNF:" -msgstr "" +msgstr "Esta seção usa notações de gramática para além do padrão de EBNF:" #: ../../reference/compound_stmts.rst:763 msgid "the notation ``SEP.RULE+`` is shorthand for ``RULE (SEP RULE)*``" -msgstr "" +msgstr "a notação ``SEP.RULE+`` é uma abreviação para ``RULE (SEP RULE)*``" #: ../../reference/compound_stmts.rst:765 msgid "the notation ``!RULE`` is shorthand for a negative lookahead assertion" msgstr "" +"a notação ``!RULE`` é uma abreviação para uma asserção de negação antecipada." #: ../../reference/compound_stmts.rst:768 msgid "The top-level syntax for ``patterns`` is:" -msgstr "" +msgstr "Esta é a sintaxe de nível superior para ``patterns`` (padrões):" #: ../../reference/compound_stmts.rst:782 msgid "" @@ -768,22 +1007,33 @@ msgid "" "the underlying implementation. Furthermore, they do not cover all valid " "forms." msgstr "" +"As descrições abaixo incluirão uma descrição \"em termos simples\" de o que " +"o padrão faz para fins ilustrativos (créditos a Raymond Hettinger pelo " +"documento que inspirou a maioria das descrições). Note que essas descrições " +"são puramente para fins ilustrativos, e **não necessariamente** refletem a " +"implementação subjacente. Além disso, elas não cobrem todas as formas " +"válidas." #: ../../reference/compound_stmts.rst:792 msgid "OR Patterns" -msgstr "" +msgstr "Padrões OR" #: ../../reference/compound_stmts.rst:794 msgid "" "An OR pattern is two or more patterns separated by vertical bars ``|``. " "Syntax:" msgstr "" +"Um padrão OR é composto por dois ou mais padrões separados por barras " +"verticais ``|``. Sintaxe:" #: ../../reference/compound_stmts.rst:800 msgid "" "Only the final subpattern may be :ref:`irrefutable `, and " "each subpattern must bind the same set of names to avoid ambiguity." msgstr "" +"Somente o último subpadrão pode ser :ref:`irrefutável `, e " +"cada subpadrão deve vincular o mesmo conjunto de nomes para evitar " +"ambiguidades." #: ../../reference/compound_stmts.rst:803 msgid "" @@ -791,6 +1041,10 @@ msgid "" "until one succeeds. The OR pattern is then considered successful. " "Otherwise, if none of the subpatterns succeed, the OR pattern fails." msgstr "" +"Um padrão OR testa a correspondência de cada um dos seus subpadrões, em " +"sequência, ao valor do sujeito, até que uma delas seja bem sucedida. O " +"padrão OR é então considerado bem sucedido. Caso contrário, se todas elas " +"falharam, o padrão OR falhou." #: ../../reference/compound_stmts.rst:807 msgid "" @@ -798,16 +1052,21 @@ msgid "" "will try to match ``P2``, succeeding immediately if any succeeds, failing " "otherwise." msgstr "" +"Em termos simples, ``P1 | P2 | ...`` vai tentar fazer corresponder ``P1``, " +"se falhar vai tentar ``P2``, declarando sucesso se houver sucesso em " +"qualquer uma das tentativas, e falhando caso contrário." #: ../../reference/compound_stmts.rst:813 msgid "AS Patterns" -msgstr "" +msgstr "Padrões AS" #: ../../reference/compound_stmts.rst:815 msgid "" "An AS pattern matches an OR pattern on the left of the :keyword:`as` keyword " "against a subject. Syntax:" msgstr "" +"Um padrão AS corresponde a um padrão OR à esquerda da palavra " +"reservada :keyword:`as` de um assunto. Sintaxe:" #: ../../reference/compound_stmts.rst:821 msgid "" @@ -815,30 +1074,41 @@ msgid "" "binds the subject to the name on the right of the as keyword and succeeds. " "``capture_pattern`` cannot be a ``_``." msgstr "" +"Se o padrão OR falhar, o padrão AS falhará. Caso contrário, o padrão AS " +"vincula o assunto ao nome à direita da palavra-chave as e obtém sucesso. " +"``capture_pattern`` não pode ser um ``_``." #: ../../reference/compound_stmts.rst:825 msgid "" "In simple terms ``P as NAME`` will match with ``P``, and on success it will " "set ``NAME = ``." msgstr "" +"Em termos simples, ``P as NAME`` corresponderá a ``P`` e, em caso de " +"sucesso, definirá ``NAME = ``." #: ../../reference/compound_stmts.rst:832 msgid "Literal Patterns" -msgstr "" +msgstr "Padrões literais" #: ../../reference/compound_stmts.rst:834 msgid "" "A literal pattern corresponds to most :ref:`literals ` in Python. " "Syntax:" msgstr "" +"Um padrão literal corresponde à maioria dos :ref:`literais ` em " +"Python. Sintaxe:" #: ../../reference/compound_stmts.rst:847 msgid "" -"The rule ``strings`` and the token ``NUMBER`` are defined in the :doc:" -"`standard Python grammar <./grammar>`. Triple-quoted strings are " +"The rule ``strings`` and the token ``NUMBER`` are defined in " +"the :doc:`standard Python grammar <./grammar>`. Triple-quoted strings are " "supported. Raw strings and byte strings are supported. :ref:`f-strings` " "are not supported." msgstr "" +"A regra ``strings`` e o token ``NUMBER`` são definidos na :doc:`gramática " +"Python padrão <./grammar>`. Strings entre aspas triplas são suportadas. " +"Strings brutas e strings de bytes são suportadas. :ref:`f-strings` não são " +"suportadas." #: ../../reference/compound_stmts.rst:852 msgid "" @@ -846,6 +1116,9 @@ msgid "" "for expressing :ref:`complex numbers `; they require a real " "number on the left and an imaginary number on the right. E.g. ``3 + 4j``." msgstr "" +"As formas ``signed_number '+' NUMBER`` e ``signed_number '-' NUMBER`` são " +"para expressar :ref:`números complexos `; elas requerem um número " +"real à esquerda e um número imaginário à direita. Por exemplo, ``3 + 4j``." #: ../../reference/compound_stmts.rst:856 msgid "" @@ -853,27 +1126,36 @@ msgid "" "For the singletons ``None``, ``True`` and ``False``, the :keyword:`is` " "operator is used." msgstr "" +"Em termos simples, ``LITERAL`` terá sucesso somente se `` == " +"LITERAL``. Para os singletons ``None``, ``True`` e ``False``, o " +"operador :keyword:`is` é usado." #: ../../reference/compound_stmts.rst:862 msgid "Capture Patterns" -msgstr "" +msgstr "Padrões de captura" #: ../../reference/compound_stmts.rst:864 msgid "A capture pattern binds the subject value to a name. Syntax:" -msgstr "" +msgstr "Um padrão de captura vincula o valor do assunto a um nome. Sintaxe:" #: ../../reference/compound_stmts.rst:870 msgid "" "A single underscore ``_`` is not a capture pattern (this is what ``!'_'`` " -"expresses). It is instead treated as a :token:`~python-grammar:" -"wildcard_pattern`." +"expresses). It is instead treated as a :token:`~python-" +"grammar:wildcard_pattern`." msgstr "" +"Um único sublinhado ``_`` não é um padrão de captura (é o que ``!'_'`` " +"expressa). Em vez disso, ele é tratado como um :token:`~python-" +"grammar:wildcard_pattern`." #: ../../reference/compound_stmts.rst:874 msgid "" "In a given pattern, a given name can only be bound once. E.g. ``case x, " "x: ...`` is invalid while ``case [x] | x: ...`` is allowed." msgstr "" +"Em um determinado padrão, um determinado nome só pode ser vinculado uma vez. " +"Por exemplo, ``case x, x: ...`` é inválido enquanto ``case [x] | x: ...`` é " +"permitido." #: ../../reference/compound_stmts.rst:877 msgid "" @@ -882,22 +1164,31 @@ msgid "" "becomes a local variable in the closest containing function scope unless " "there's an applicable :keyword:`global` or :keyword:`nonlocal` statement." msgstr "" +"Os padrões de captura sempre são bem-sucedidos. A vinculação segue regras de " +"escopo estabelecidas pelo operador de expressão de atribuição na :pep:`572`; " +"o nome se torna uma variável local no escopo de função de contenção mais " +"próximo, a menos que haja uma instrução :keyword:`global` " +"ou :keyword:`nonlocal` aplicável." #: ../../reference/compound_stmts.rst:882 msgid "" "In simple terms ``NAME`` will always succeed and it will set ``NAME = " "``." msgstr "" +"Em termos simples, ``NAME`` sempre terá sucesso e definirá ``NAME = " +"``." #: ../../reference/compound_stmts.rst:887 msgid "Wildcard Patterns" -msgstr "" +msgstr "Padrões curingas" #: ../../reference/compound_stmts.rst:889 msgid "" "A wildcard pattern always succeeds (matches anything) and binds no name. " "Syntax:" msgstr "" +"Um padrão curinga sempre tem sucesso (corresponde a qualquer coisa) e não " +"vincula nenhum nome. Sintaxe:" #: ../../reference/compound_stmts.rst:895 msgid "" @@ -905,18 +1196,22 @@ msgid "" "within patterns. It is an identifier, as usual, even within ``match`` " "subject expressions, ``guard``\\ s, and ``case`` blocks." msgstr "" +"``_`` é uma :ref:`palavra reservada contextual ` dentro de " +"qualquer padrão, mas somente dentro de padrões. É um identificador, como de " +"costume, mesmo dentro de expressões de assunto ``match``\\ s, ``guard``\\ s " +"e blocos ``case``." #: ../../reference/compound_stmts.rst:899 msgid "In simple terms, ``_`` will always succeed." -msgstr "" +msgstr "Em termos simples, ``_`` sempre terá sucesso." #: ../../reference/compound_stmts.rst:904 msgid "Value Patterns" -msgstr "" +msgstr "Padrões de valor" #: ../../reference/compound_stmts.rst:906 msgid "A value pattern represents a named value in Python. Syntax:" -msgstr "" +msgstr "Um padrão de valor representa um valor nomeado em Python. Sintaxe:" #: ../../reference/compound_stmts.rst:914 msgid "" @@ -924,12 +1219,18 @@ msgid "" "resolution rules `. The pattern succeeds if the value found " "compares equal to the subject value (using the ``==`` equality operator)." msgstr "" +"O nome pontilhado no padrão é pesquisado usando as :ref:`regras de resolução " +"de nomes ` padrão do Python. O padrão é bem-sucedido se o " +"valor encontrado for comparado igual ao valor do assunto (usando o operador " +"de igualdade ``==``)." #: ../../reference/compound_stmts.rst:919 msgid "" -"In simple terms ``NAME1.NAME2`` will succeed only if `` == NAME1." -"NAME2``" +"In simple terms ``NAME1.NAME2`` will succeed only if `` == " +"NAME1.NAME2``" msgstr "" +"Em termos simples, ``NAME1.NAME2`` terá sucesso somente se `` == " +"NAME1.NAME2``" #: ../../reference/compound_stmts.rst:923 msgid "" @@ -938,36 +1239,48 @@ msgid "" "the same lookup. This cache is strictly tied to a given execution of a " "given match statement." msgstr "" +"Se o mesmo valor ocorrer várias vezes na mesma instrução match, o " +"interpretador pode armazenar em cache o primeiro valor encontrado e " +"reutilizá-lo em vez de repetir a mesma pesquisa. Esse cache é estritamente " +"vinculado a uma determinada execução de uma determinada instrução match." #: ../../reference/compound_stmts.rst:931 msgid "Group Patterns" -msgstr "" +msgstr "Padrões de grupo" #: ../../reference/compound_stmts.rst:933 msgid "" "A group pattern allows users to add parentheses around patterns to emphasize " "the intended grouping. Otherwise, it has no additional syntax. Syntax:" msgstr "" +"Um padrão de grupo permite que os usuários adicionem parênteses em torno de " +"padrões para enfatizar o agrupamento pretendido. Caso contrário, não há " +"sintaxe adicional. Sintaxe:" #: ../../reference/compound_stmts.rst:940 msgid "In simple terms ``(P)`` has the same effect as ``P``." -msgstr "" +msgstr "Em termos simples, ``(P)`` tem o mesmo efeito que ``P``." #: ../../reference/compound_stmts.rst:945 msgid "Sequence Patterns" -msgstr "" +msgstr "Padrões de sequência" #: ../../reference/compound_stmts.rst:947 msgid "" "A sequence pattern contains several subpatterns to be matched against " "sequence elements. The syntax is similar to the unpacking of a list or tuple." msgstr "" +"Um padrão de sequência contém vários subpadrões a serem correspondidos com " +"elementos de sequência. A sintaxe é similar ao desempacotamento de uma lista " +"ou tupla." #: ../../reference/compound_stmts.rst:958 msgid "" "There is no difference if parentheses or square brackets are used for " "sequence patterns (i.e. ``(...)`` vs ``[...]`` )." msgstr "" +"Não há diferença se parênteses ou colchetes são usados para padrões de " +"sequência (por exemplo, ``(...)`` vs ``[...]``)." #: ../../reference/compound_stmts.rst:962 msgid "" @@ -975,6 +1288,9 @@ msgid "" "| 4)``) is a :ref:`group pattern `. While a single pattern " "enclosed in square brackets (e.g. ``[3 | 4]``) is still a sequence pattern." msgstr "" +"Um único padrão entre parênteses sem uma vírgula final (por exemplo, ``(3 | " +"4)``) é um :ref:`padrão de grupo `. Enquanto um único padrão " +"entre colchetes (por exemplo, ``[3 | 4]``) ainda é um padrão de sequência." #: ../../reference/compound_stmts.rst:967 msgid "" @@ -983,39 +1299,54 @@ msgid "" "sequence pattern is a fixed-length sequence pattern; otherwise it is a " "variable-length sequence pattern." msgstr "" +"No máximo um subpadrão de estrela pode estar em um padrão de sequência. O " +"subpadrão de estrela pode ocorrer em qualquer posição. Se nenhum subpadrão " +"de estrela estiver presente, o padrão de sequência é um padrão de sequência " +"de comprimento fixo; caso contrário, é um padrão de sequência de comprimento " +"variável." #: ../../reference/compound_stmts.rst:972 msgid "" "The following is the logical flow for matching a sequence pattern against a " "subject value:" msgstr "" +"A seguir está o fluxo lógico para corresponder um padrão de sequência com um " +"valor de assunto:" #: ../../reference/compound_stmts.rst:975 msgid "" "If the subject value is not a sequence [#]_, the sequence pattern fails." msgstr "" +"Se o valor do assunto não for uma sequência [#]_, o padrão de sequência " +"falhará." #: ../../reference/compound_stmts.rst:978 msgid "" "If the subject value is an instance of ``str``, ``bytes`` or ``bytearray`` " "the sequence pattern fails." msgstr "" +"Se o valor do assunto for uma instância de ``str``, ``bytes`` ou " +"``bytearray``, o padrão de sequência falhará." #: ../../reference/compound_stmts.rst:981 msgid "" "The subsequent steps depend on whether the sequence pattern is fixed or " "variable-length." msgstr "" +"As etapas subsequentes dependem se o padrão de sequência é fixo ou de " +"comprimento variável." #: ../../reference/compound_stmts.rst:984 msgid "If the sequence pattern is fixed-length:" -msgstr "" +msgstr "Se o padrão de sequência for de comprimento fixo:" #: ../../reference/compound_stmts.rst:986 msgid "" "If the length of the subject sequence is not equal to the number of " "subpatterns, the sequence pattern fails" msgstr "" +"Se o comprimento da sequência do assunto não for igual ao número de " +"subpadrões, o padrão da sequência falha" #: ../../reference/compound_stmts.rst:989 msgid "" @@ -1024,22 +1355,31 @@ msgid "" "subpattern fails. If all subpatterns succeed in matching their " "corresponding item, the sequence pattern succeeds." msgstr "" +"Subpadrões no padrão de sequência são correspondidos aos seus itens " +"correspondentes na sequência de assunto da esquerda para a direita. A " +"correspondência para assim que um subpadrão falha. Se todos os subpadrões " +"tiverem sucesso em corresponder ao seu item correspondente, o padrão de " +"sequência é bem-sucedido." #: ../../reference/compound_stmts.rst:994 msgid "Otherwise, if the sequence pattern is variable-length:" -msgstr "" +msgstr "Caso contrário, se o padrão de sequência for de comprimento variável:" #: ../../reference/compound_stmts.rst:996 msgid "" "If the length of the subject sequence is less than the number of non-star " "subpatterns, the sequence pattern fails." msgstr "" +"Se o comprimento da sequência do assunto for menor que o número de " +"subpadrões não-estrela, o padrão da sequência falha." #: ../../reference/compound_stmts.rst:999 msgid "" "The leading non-star subpatterns are matched to their corresponding items as " "for fixed-length sequences." msgstr "" +"Os principais subpadrões não estelares são correspondidos aos seus itens " +"correspondentes, como nas sequências de comprimento fixo." #: ../../reference/compound_stmts.rst:1002 msgid "" @@ -1047,12 +1387,17 @@ msgid "" "the remaining subject items, excluding the remaining items corresponding to " "non-star subpatterns following the star subpattern." msgstr "" +"Se a etapa anterior for bem-sucedida, o subpadrão estrela corresponde a uma " +"lista formada pelos itens de assunto restantes, excluindo os itens restantes " +"correspondentes aos subpadrões não-estrela que seguem o subpadrão estrela." #: ../../reference/compound_stmts.rst:1006 msgid "" "Remaining non-star subpatterns are matched to their corresponding subject " "items, as for a fixed-length sequence." msgstr "" +"Os subpadrões não-estrela restantes são correspondidos aos seus itens de " +"assunto correspondentes, como em uma sequência de comprimento fixo." #: ../../reference/compound_stmts.rst:1009 msgid "" @@ -1060,50 +1405,65 @@ msgid "" "the :meth:`__len__` protocol). This length may be cached by the interpreter " "in a similar manner as :ref:`value patterns `." msgstr "" +"O comprimento da sequência de assunto é obtido via :func:`len` (ou seja, via " +"protocolo :meth:`__len__`). Esse comprimento pode ser armazenado em cache " +"pelo interpretador de forma similar a :ref:`padrões de valor `." #: ../../reference/compound_stmts.rst:1015 msgid "" "In simple terms ``[P1, P2, P3,`` ... ``, P]`` matches only if all the " "following happens:" msgstr "" +"Em termos simples, ``[P1, P2, P3,`` ... ``, P]`` corresponde somente se " +"tudo o seguinte acontecer:" #: ../../reference/compound_stmts.rst:1018 msgid "check ```` is a sequence" -msgstr "" +msgstr "verifica se ```` é uma sequência" #: ../../reference/compound_stmts.rst:1019 msgid "``len(subject) == ``" -msgstr "" +msgstr "``len(subject) == ``" #: ../../reference/compound_stmts.rst:1020 msgid "" "``P1`` matches ``[0]`` (note that this match can also bind names)" msgstr "" +"``P1`` corresponde a ``[0]`` (observe que esta correspondência " +"também pode vincular nomes)" #: ../../reference/compound_stmts.rst:1021 msgid "" "``P2`` matches ``[1]`` (note that this match can also bind names)" msgstr "" +"``P2`` corresponde a ``[1]`` (observe que esta correspondência " +"também pode vincular nomes)" #: ../../reference/compound_stmts.rst:1022 msgid "... and so on for the corresponding pattern/element." -msgstr "" +msgstr "... e assim por diante para o padrão/elemento correspondente." #: ../../reference/compound_stmts.rst:1027 msgid "Mapping Patterns" -msgstr "" +msgstr "Padrões de mapeamento" #: ../../reference/compound_stmts.rst:1029 msgid "" "A mapping pattern contains one or more key-value patterns. The syntax is " "similar to the construction of a dictionary. Syntax:" msgstr "" +"Um padrão de mapeamento contém um ou mais padrões de chave-valor. A sintaxe " +"é similar à construção de um dicionário. Sintaxe:" #: ../../reference/compound_stmts.rst:1040 msgid "" "At most one double star pattern may be in a mapping pattern. The double " "star pattern must be the last subpattern in the mapping pattern." msgstr "" +"No máximo um padrão de estrela dupla pode estar em um padrão de mapeamento. " +"O padrão de estrela dupla deve ser o último subpadrão no padrão de " +"mapeamento." #: ../../reference/compound_stmts.rst:1043 msgid "" @@ -1111,16 +1471,24 @@ msgid "" "will raise a :exc:`SyntaxError`. Two keys that otherwise have the same value " "will raise a :exc:`ValueError` at runtime." msgstr "" +"Chaves duplicadas em padrões de mapeamento não são permitidas. Chaves " +"literais duplicadas levantarão um :exc:`SyntaxError`. Duas chaves que de " +"outra forma têm o mesmo valor levantarão :exc:`ValueError` em tempo de " +"execução." #: ../../reference/compound_stmts.rst:1047 msgid "" "The following is the logical flow for matching a mapping pattern against a " "subject value:" msgstr "" +"A seguir está o fluxo lógico para comparar um padrão de mapeamento com um " +"valor de assunto:" #: ../../reference/compound_stmts.rst:1050 msgid "If the subject value is not a mapping [#]_,the mapping pattern fails." msgstr "" +"Se o valor do assunto não for um mapeamento [#]_, o padrão de mapeamento " +"falhará." #: ../../reference/compound_stmts.rst:1052 msgid "" @@ -1128,6 +1496,10 @@ msgid "" "and the pattern for each key matches the corresponding item of the subject " "mapping, the mapping pattern succeeds." msgstr "" +"Se cada chave fornecida no padrão de mapeamento estiver presente no " +"mapeamento de assunto, e o padrão para cada chave corresponder ao item " +"correspondente do mapeamento de assunto, o padrão de mapeamento será bem-" +"sucedido." #: ../../reference/compound_stmts.rst:1056 msgid "" @@ -1135,68 +1507,87 @@ msgid "" "considered invalid. A :exc:`SyntaxError` is raised for duplicate literal " "values; or a :exc:`ValueError` for named keys of the same value." msgstr "" +"Se chaves duplicadas forem detectadas no padrão de mapeamento, o padrão será " +"considerado inválido. Uma exceção :exc:`SyntaxError` é levantada para " +"valores literais duplicados; ou :exc:`ValueError` para chaves nomeadas do " +"mesmo valor." #: ../../reference/compound_stmts.rst:1060 msgid "" "Key-value pairs are matched using the two-argument form of the mapping " "subject's ``get()`` method. Matched key-value pairs must already be present " -"in the mapping, and not created on-the-fly via :meth:`__missing__` or :meth:" -"`__getitem__`." +"in the mapping, and not created on-the-fly via :meth:`__missing__` " +"or :meth:`~object.__getitem__`." msgstr "" +"Os pares de chave-valor são correspondidos usando o formato de dois " +"argumentos do método ``get()`` do assunto do mapeamento. Os pares de chave-" +"valor correspondidos já devem estar presentes no mapeamento e não devem ser " +"criados em tempo de uso via :meth:`__missing__` " +"ou :meth:`~object.__getitem__`." #: ../../reference/compound_stmts.rst:1065 msgid "" "In simple terms ``{KEY1: P1, KEY2: P2, ... }`` matches only if all the " "following happens:" msgstr "" +"Em termos simples, ``{KEY1: P1, KEY2: P2, ... }`` corresponde somente se " +"tudo o seguinte acontecer:" #: ../../reference/compound_stmts.rst:1068 msgid "check ```` is a mapping" -msgstr "" +msgstr "verifica se ```` é um mapeamento" #: ../../reference/compound_stmts.rst:1069 msgid "``KEY1 in ``" -msgstr "" +msgstr "``KEY1 in ``" #: ../../reference/compound_stmts.rst:1070 msgid "``P1`` matches ``[KEY1]``" -msgstr "" +msgstr "``P1`` corresponde a ``[KEY1]``" #: ../../reference/compound_stmts.rst:1071 msgid "... and so on for the corresponding KEY/pattern pair." -msgstr "" +msgstr "... e assim por diante para o par KEY/elemento correspondente." #: ../../reference/compound_stmts.rst:1077 msgid "Class Patterns" -msgstr "" +msgstr "Padrões de classe" #: ../../reference/compound_stmts.rst:1079 msgid "" "A class pattern represents a class and its positional and keyword arguments " "(if any). Syntax:" msgstr "" +"Um padrão de classe representa uma classe e seus argumentos nomeados e " +"posicionais (se houver). Sintaxe:" #: ../../reference/compound_stmts.rst:1090 msgid "The same keyword should not be repeated in class patterns." -msgstr "" +msgstr "O mesmo argumento nomeado não deve ser repetido em padrões de classe." #: ../../reference/compound_stmts.rst:1092 msgid "" "The following is the logical flow for matching a class pattern against a " "subject value:" msgstr "" +"A seguir está o fluxo lógico para corresponder a um padrão de classe com um " +"valor de assunto:" #: ../../reference/compound_stmts.rst:1095 msgid "" -"If ``name_or_attr`` is not an instance of the builtin :class:`type` , raise :" -"exc:`TypeError`." +"If ``name_or_attr`` is not an instance of the builtin :class:`type` , " +"raise :exc:`TypeError`." msgstr "" +"Se ``name_or_attr`` não for uma instância do tipo embutido :class:`type` , " +"levanta :exc:`TypeError`." #: ../../reference/compound_stmts.rst:1098 msgid "" -"If the subject value is not an instance of ``name_or_attr`` (tested via :" -"func:`isinstance`), the class pattern fails." +"If the subject value is not an instance of ``name_or_attr`` (tested " +"via :func:`isinstance`), the class pattern fails." msgstr "" +"Se o valor do assunto não for uma instância de ``name_or_attr`` (testado " +"via :func:`isinstance`), o padrão de classe falhará." #: ../../reference/compound_stmts.rst:1101 msgid "" @@ -1204,6 +1595,9 @@ msgid "" "subsequent steps depend on whether keyword or positional argument patterns " "are present." msgstr "" +"Se nenhum argumento de padrão estiver presente, o padrão é bem-sucedido. " +"Caso contrário, as etapas subsequentes dependem se os padrões de argumento " +"posicional ou nomeado estão presentes." #: ../../reference/compound_stmts.rst:1105 msgid "" @@ -1211,26 +1605,34 @@ msgid "" "subpattern is accepted which will match the entire subject; for these types " "keyword patterns also work as for other types." msgstr "" +"Para vários tipos embutidos (especificados abaixo), um único subpadrão " +"posicional é aceito, o qual corresponderá a todo o assunto; para esses " +"tipos, os padrões de argumentos nomeados também funcionam como para outros " +"tipos." #: ../../reference/compound_stmts.rst:1109 msgid "" "If only keyword patterns are present, they are processed as follows, one by " "one:" msgstr "" +"Se apenas padrões de argumentos nomeados estiverem presentes, eles serão " +"processados da seguinte forma, um por um:" #: ../../reference/compound_stmts.rst:1112 msgid "I. The keyword is looked up as an attribute on the subject." -msgstr "" +msgstr "I. A palavra-chave é procurada como um atributo no assunto." #: ../../reference/compound_stmts.rst:1114 msgid "" "If this raises an exception other than :exc:`AttributeError`, the exception " "bubbles up." msgstr "" +"Se isso levantar uma exceção diferente de :exc:`AttributeError`, a exceção " +"será exibida." #: ../../reference/compound_stmts.rst:1117 msgid "If this raises :exc:`AttributeError`, the class pattern has failed." -msgstr "" +msgstr "Se isso levantar :exc:`AttributeError`, o padrão de classe falhou." #: ../../reference/compound_stmts.rst:1119 msgid "" @@ -1238,10 +1640,16 @@ msgid "" "the subject's attribute value. If this fails, the class pattern fails; if " "this succeeds, the match proceeds to the next keyword." msgstr "" +"Caso contrário, o subpadrão associado ao padrão de argumento nomeado é " +"correspondido ao valor de atributo do sujeito. Se isso falhar, o padrão de " +"classe falha; se isso for bem-sucedido, a correspondência prossegue para o " +"próximo argumento nomeado." #: ../../reference/compound_stmts.rst:1124 msgid "II. If all keyword patterns succeed, the class pattern succeeds." msgstr "" +"II. Se todos os padrões de argumento nomeado forem bem-sucedidos, o padrão " +"de classe será bem-sucedido." #: ../../reference/compound_stmts.rst:1126 msgid "" @@ -1249,27 +1657,35 @@ msgid "" "patterns using the :data:`~object.__match_args__` attribute on the class " "``name_or_attr`` before matching:" msgstr "" +"Se houver algum padrão posicional presente, ele será convertido em padrões " +"de argumento nomeado usando o atributo :data:`~object.__match_args__` na " +"classe ``name_or_attr`` antes da correspondência:" #: ../../reference/compound_stmts.rst:1130 msgid "" "I. The equivalent of ``getattr(cls, \"__match_args__\", ())`` is called." msgstr "" +"I. O equivalente de ``getattr(cls, \"__match_args__\", ())`` é chamado." #: ../../reference/compound_stmts.rst:1132 msgid "If this raises an exception, the exception bubbles up." -msgstr "" +msgstr "Se isso levantar uma exceção, a exceção surgirá." #: ../../reference/compound_stmts.rst:1134 msgid "" -"If the returned value is not a tuple, the conversion fails and :exc:" -"`TypeError` is raised." +"If the returned value is not a tuple, the conversion fails " +"and :exc:`TypeError` is raised." msgstr "" +"Se o valor retornado não for uma tupla, a conversão falhará " +"e :exc:`TypeError` será levantada." #: ../../reference/compound_stmts.rst:1137 msgid "" -"If there are more positional patterns than ``len(cls.__match_args__)``, :exc:" -"`TypeError` is raised." +"If there are more positional patterns than " +"``len(cls.__match_args__)``, :exc:`TypeError` is raised." msgstr "" +"Se houver mais padrões posicionais do que " +"``len(cls.__match_args__)``, :exc:`TypeError` será levantada." #: ../../reference/compound_stmts.rst:1140 msgid "" @@ -1277,29 +1693,39 @@ msgid "" "``__match_args__[i]`` as the keyword. ``__match_args__[i]`` must be a " "string; if not :exc:`TypeError` is raised." msgstr "" +"Caso contrário, o padrão posicional ``i`` é convertido em um padrão de " +"argumento nomeado usando ``__match_args__[i]`` como argumento nomeado. " +"``__match_args__[i]`` deve ser uma string; caso contrário, :exc:`TypeError` " +"é levantada." #: ../../reference/compound_stmts.rst:1144 msgid "If there are duplicate keywords, :exc:`TypeError` is raised." msgstr "" +"Se houver argumentos nomeados duplicados, :exc:`TypeError` será levantada." #: ../../reference/compound_stmts.rst:1146 msgid ":ref:`class-pattern-matching`" -msgstr "" +msgstr ":ref:`class-pattern-matching`" #: ../../reference/compound_stmts.rst:1149 msgid "" "II. Once all positional patterns have been converted to keyword patterns," msgstr "" +"II. Uma vez que todos os padrões posicionais foram convertidos em padrões de " +"argumentos nomeados," #: ../../reference/compound_stmts.rst:1149 msgid "the match proceeds as if there were only keyword patterns." msgstr "" +"a partida prossegue como se houvesse apenas padrões de argumentos nomeados." #: ../../reference/compound_stmts.rst:1151 msgid "" "For the following built-in types the handling of positional subpatterns is " "different:" msgstr "" +"Para os seguintes tipos embutidos, o tratamento de subpadrões posicionais é " +"diferente:" #: ../../reference/compound_stmts.rst:1154 msgid ":class:`bool`" @@ -1307,7 +1733,7 @@ msgstr ":class:`bool`" #: ../../reference/compound_stmts.rst:1155 msgid ":class:`bytearray`" -msgstr "" +msgstr ":class:`bytearray`" #: ../../reference/compound_stmts.rst:1156 msgid ":class:`bytes`" @@ -1330,7 +1756,7 @@ msgid ":class:`int`" msgstr ":class:`int`" #: ../../reference/compound_stmts.rst:1161 -#: ../../reference/compound_stmts.rst:1612 +#: ../../reference/compound_stmts.rst:1617 msgid ":class:`list`" msgstr ":class:`list`" @@ -1343,7 +1769,7 @@ msgid ":class:`str`" msgstr ":class:`str`" #: ../../reference/compound_stmts.rst:1164 -#: ../../reference/compound_stmts.rst:1615 +#: ../../reference/compound_stmts.rst:1620 msgid ":class:`tuple`" msgstr ":class:`tuple`" @@ -1353,47 +1779,57 @@ msgid "" "matched against the whole object rather than an attribute. For example " "``int(0|1)`` matches the value ``0``, but not the value ``0.0``." msgstr "" +"Essas classes aceitam um único argumento posicional, e o padrão ali é " +"correspondido ao objeto inteiro em vez de um atributo. Por exemplo, ``int(0|" +"1)`` corresponde ao valor ``0``, mas não ao valor ``0.0``." #: ../../reference/compound_stmts.rst:1170 msgid "" "In simple terms ``CLS(P1, attr=P2)`` matches only if the following happens:" msgstr "" +"Em termos simples, ``CLS(P1, attr=P2)`` corresponde somente se o seguinte " +"acontecer:" #: ../../reference/compound_stmts.rst:1172 msgid "``isinstance(, CLS)``" -msgstr "" +msgstr "``isinstance(, CLS)``" #: ../../reference/compound_stmts.rst:1173 msgid "convert ``P1`` to a keyword pattern using ``CLS.__match_args__``" msgstr "" +"converte ``P1`` em um padrão de argumento nomeado usando " +"``CLS.__match_args__``" -#: ../../reference/compound_stmts.rst:1175 +#: ../../reference/compound_stmts.rst:1174 msgid "For each keyword argument ``attr=P2``:" -msgstr "" +msgstr "Para cada argumento nomeado ``attr=P2``:" -#: ../../reference/compound_stmts.rst:1175 +#: ../../reference/compound_stmts.rst:1176 msgid "``hasattr(, \"attr\")``" -msgstr "" +msgstr "``hasattr(, \"attr\")``" -#: ../../reference/compound_stmts.rst:1176 +#: ../../reference/compound_stmts.rst:1177 msgid "``P2`` matches ``.attr``" -msgstr "" +msgstr "``P2`` corresponde a ``.attr``" -#: ../../reference/compound_stmts.rst:1177 +#: ../../reference/compound_stmts.rst:1179 msgid "... and so on for the corresponding keyword argument/pattern pair." msgstr "" +"... e assim por diante para o par argumento nomeado/elemento correspondente." -#: ../../reference/compound_stmts.rst:1192 +#: ../../reference/compound_stmts.rst:1194 msgid "Function definitions" msgstr "Definições de função" -#: ../../reference/compound_stmts.rst:1207 +#: ../../reference/compound_stmts.rst:1209 msgid "" -"A function definition defines a user-defined function object (see section :" -"ref:`types`):" +"A function definition defines a user-defined function object (see " +"section :ref:`types`):" msgstr "" +"Uma definição de função define um objeto de função definido pelo usuário " +"(veja a seção :ref:`types`):" -#: ../../reference/compound_stmts.rst:1226 +#: ../../reference/compound_stmts.rst:1228 msgid "" "A function definition is an executable statement. Its execution binds the " "function name in the current local namespace to a function object (a wrapper " @@ -1401,14 +1837,21 @@ msgid "" "a reference to the current global namespace as the global namespace to be " "used when the function is called." msgstr "" +"Uma definição de função é uma instrução executável. Sua execução vincula o " +"nome da função no espaço de nomes local atual a um objeto função (um " +"invólucro em torno do código executável para a função). Este objeto função " +"contém uma referência ao espaço de nomes global atual como o espaço de nomes " +"global a ser usado quando a função é chamada." -#: ../../reference/compound_stmts.rst:1232 +#: ../../reference/compound_stmts.rst:1234 msgid "" "The function definition does not execute the function body; this gets " "executed only when the function is called. [#]_" msgstr "" +"A definição da função não executa o corpo da função; ela é executada somente " +"quando a função é chamada. [#]_" -#: ../../reference/compound_stmts.rst:1238 +#: ../../reference/compound_stmts.rst:1240 msgid "" "A function definition may be wrapped by one or more :term:`decorator` " "expressions. Decorator expressions are evaluated when the function is " @@ -1418,26 +1861,38 @@ msgid "" "function object. Multiple decorators are applied in nested fashion. For " "example, the following code ::" msgstr "" +"Uma definição de função pode ser encapsulada por uma ou mais " +"expressões :term:`decoradoras `. Expressões decoradoras são " +"avaliadas quando a função é definida, no escopo que contém a definição da " +"função. O resultado deve ser um chamável, que é invocado com o objeto de " +"função como o único argumento. O valor retornado é vinculado ao nome da " +"função em vez do objeto de função. Vários decoradores são aplicados de forma " +"aninhada. Por exemplo, o código a seguir ::" -#: ../../reference/compound_stmts.rst:1249 -#: ../../reference/compound_stmts.rst:1426 +#: ../../reference/compound_stmts.rst:1251 +#: ../../reference/compound_stmts.rst:1431 msgid "is roughly equivalent to ::" -msgstr "" +msgstr "é aproximadamente equivalente a ::" -#: ../../reference/compound_stmts.rst:1254 +#: ../../reference/compound_stmts.rst:1256 msgid "" "except that the original function is not temporarily bound to the name " "``func``." msgstr "" +"exceto que a função original não está temporariamente vinculada ao nome " +"``func``." -#: ../../reference/compound_stmts.rst:1256 +#: ../../reference/compound_stmts.rst:1258 msgid "" -"Functions may be decorated with any valid :token:`~python-grammar:" -"assignment_expression`. Previously, the grammar was much more restrictive; " -"see :pep:`614` for details." +"Functions may be decorated with any valid :token:`~python-" +"grammar:assignment_expression`. Previously, the grammar was much more " +"restrictive; see :pep:`614` for details." msgstr "" +"Funções podem ser decoradas com qualquer :token:`~python-" +"grammar:assignment_expression` válida. Anteriormente, a gramática era muito " +"mais restritiva; veja :pep:`614` para detalhes." -#: ../../reference/compound_stmts.rst:1266 +#: ../../reference/compound_stmts.rst:1268 msgid "" "When one or more :term:`parameters ` have the form *parameter* " "``=`` *expression*, the function is said to have \"default parameter values." @@ -1447,8 +1902,15 @@ msgid "" "up until the \"``*``\" must also have a default value --- this is a " "syntactic restriction that is not expressed by the grammar." msgstr "" +"Quando um ou mais :term:`parâmetros ` têm a forma *parameter* " +"``=`` *expression*, diz-se que a função tem \"valores de parâmetro padrão\". " +"Para um parâmetro com um valor padrão, o :term:`argumento` correspondente " +"pode ser omitido de uma chamada, em cujo caso o valor padrão do parâmetro é " +"substituído. Se um parâmetro tiver um valor padrão, todos os parâmetros " +"seguintes até \"``*``\" também devem ter um valor padrão --- esta é uma " +"restrição sintática que não é expressa pela gramática." -#: ../../reference/compound_stmts.rst:1274 +#: ../../reference/compound_stmts.rst:1276 msgid "" "**Default parameter values are evaluated from left to right when the " "function definition is executed.** This means that the expression is " @@ -1460,30 +1922,55 @@ msgid "" "is generally not what was intended. A way around this is to use ``None`` as " "the default, and explicitly test for it in the body of the function, e.g.::" msgstr "" - -#: ../../reference/compound_stmts.rst:1295 -msgid "" -"Function call semantics are described in more detail in section :ref:" -"`calls`. A function call always assigns values to all parameters mentioned " -"in the parameter list, either from positional arguments, from keyword " -"arguments, or from default values. If the form \"``*identifier``\" is " -"present, it is initialized to a tuple receiving any excess positional " -"parameters, defaulting to the empty tuple. If the form \"``**identifier``\" " -"is present, it is initialized to a new ordered mapping receiving any excess " -"keyword arguments, defaulting to a new empty mapping of the same type. " -"Parameters after \"``*``\" or \"``*identifier``\" are keyword-only " -"parameters and may only be passed by keyword arguments. Parameters before " -"\"``/``\" are positional-only parameters and may only be passed by " -"positional arguments." -msgstr "" - -#: ../../reference/compound_stmts.rst:1307 +"**Os valores de parâmetro padrão são avaliados da esquerda para a direita " +"quando a definição da função é executada.** Isso significa que a expressão é " +"avaliada uma vez, quando a função é definida, e que o mesmo valor \"pré-" +"calculado\" é usado para cada chamada. Isso é especialmente importante para " +"entender quando um valor de parâmetro padrão é um objeto mutável, como uma " +"lista ou um dicionário: se a função modifica o objeto (por exemplo, anexando " +"um item a uma lista), o valor de parâmetro padrão é efetivamente modificado. " +"Isso geralmente não é o que se pretendia. Uma maneira de contornar isso é " +"usar ``None`` como o padrão e testá-lo explicitamente no corpo da função, " +"por exemplo::" + +#: ../../reference/compound_stmts.rst:1297 +msgid "" +"Function call semantics are described in more detail in " +"section :ref:`calls`. A function call always assigns values to all " +"parameters mentioned in the parameter list, either from positional " +"arguments, from keyword arguments, or from default values. If the form " +"\"``*identifier``\" is present, it is initialized to a tuple receiving any " +"excess positional parameters, defaulting to the empty tuple. If the form " +"\"``**identifier``\" is present, it is initialized to a new ordered mapping " +"receiving any excess keyword arguments, defaulting to a new empty mapping of " +"the same type. Parameters after \"``*``\" or \"``*identifier``\" are " +"keyword-only parameters and may only be passed by keyword arguments. " +"Parameters before \"``/``\" are positional-only parameters and may only be " +"passed by positional arguments." +msgstr "" +"A semântica de chamada de função é descrita em mais detalhes na " +"seção :ref:`calls`. Uma chamada de função sempre atribui valores a todos os " +"parâmetros mencionados na lista de parâmetros, seja de argumentos " +"posicionais, de argumentos nomeados ou de valores padrão. Se o formato " +"\"``*identifier``\" estiver presente, ele será inicializado para uma tupla " +"que recebe quaisquer parâmetros posicionais excedentes, padronizando para a " +"tupla vazia. Se o formato \"``**identifier``\" estiver presente, ele será " +"inicializado para um novo mapeamento ordenado que recebe quaisquer " +"argumentos nomeados excedentes, padronizando para um novo mapeamento vazio " +"do mesmo tipo. Parâmetros após \"``*``\" ou \"``*identifier``\" são " +"parâmetros somente-nomeados e podem ser passados somente por argumentos " +"nomeados. Parâmetros antes de \"``/``\" são parâmetros somente-posicionais e " +"podem ser passados somente por argumentos posicionais." + +#: ../../reference/compound_stmts.rst:1309 msgid "" "The ``/`` function parameter syntax may be used to indicate positional-only " "parameters. See :pep:`570` for details." msgstr "" +"A sintaxe do parâmetro de função ``/`` pode ser usada para indicar " +"parâmetros somente-posicionais. Veja a :pep:`570` para detalhes." -#: ../../reference/compound_stmts.rst:1316 +#: ../../reference/compound_stmts.rst:1318 msgid "" "Parameters may have an :term:`annotation ` of the form " "\"``: expression``\" following the parameter name. Any parameter may have " @@ -1500,19 +1987,27 @@ msgid "" "different order than they appear in the source code." msgstr "" -#: ../../reference/compound_stmts.rst:1331 +#: ../../reference/compound_stmts.rst:1333 msgid "" "It is also possible to create anonymous functions (functions not bound to a " "name), for immediate use in expressions. This uses lambda expressions, " "described in section :ref:`lambda`. Note that the lambda expression is " "merely a shorthand for a simplified function definition; a function defined " "in a \":keyword:`def`\" statement can be passed around or assigned to " -"another name just like a function defined by a lambda expression. The \":" -"keyword:`!def`\" form is actually more powerful since it allows the " +"another name just like a function defined by a lambda expression. The " +"\":keyword:`!def`\" form is actually more powerful since it allows the " "execution of multiple statements and annotations." msgstr "" +"Também é possível criar funções anônimas (funções não vinculadas a um nome), " +"para uso imediato em expressões. Isso usa expressões lambda, descritas na " +"seção :ref:`lambda`. Observe que a expressão lambda é meramente uma " +"abreviação para uma definição de função simplificada; uma função definida em " +"uma instrução \":keyword:`def`\" pode ser passada adiante ou atribuída a " +"outro nome, assim como uma função definida por uma expressão lambda. O " +"formato \":keyword:`!def`\" é, na verdade, mais poderoso, pois permite a " +"execução de várias instruções e anotações." -#: ../../reference/compound_stmts.rst:1339 +#: ../../reference/compound_stmts.rst:1341 msgid "" "**Programmer's note:** Functions are first-class objects. A \"``def``\" " "statement executed inside a function definition defines a local function " @@ -1520,52 +2015,74 @@ msgid "" "function can access the local variables of the function containing the def. " "See section :ref:`naming` for details." msgstr "" +"**Nota do programador:** Funções são objetos de primeira classe. Uma " +"instrução \"``def``\" executada dentro de uma definição de função define uma " +"função local que pode ser retornada ou passada adiante. Variáveis livres " +"usadas na função aninhada podem acessar as variáveis locais da função que " +"contém o \"def\". Veja a seção :ref:`naming` para detalhes." -#: ../../reference/compound_stmts.rst:1348 +#: ../../reference/compound_stmts.rst:1350 msgid ":pep:`3107` - Function Annotations" -msgstr "" +msgstr ":pep:`3107` - Anotações de função" -#: ../../reference/compound_stmts.rst:1348 +#: ../../reference/compound_stmts.rst:1350 msgid "The original specification for function annotations." -msgstr "" +msgstr "A especificação original para anotações de funções." -#: ../../reference/compound_stmts.rst:1351 +#: ../../reference/compound_stmts.rst:1353 msgid ":pep:`484` - Type Hints" -msgstr ":pep:`484` - Dicas de tipos" +msgstr ":pep:`484` - Dicas de tipo" -#: ../../reference/compound_stmts.rst:1351 +#: ../../reference/compound_stmts.rst:1353 msgid "Definition of a standard meaning for annotations: type hints." -msgstr "" +msgstr "Definição de um significado padrão para anotações: dicas de tipo." -#: ../../reference/compound_stmts.rst:1355 +#: ../../reference/compound_stmts.rst:1357 msgid ":pep:`526` - Syntax for Variable Annotations" msgstr ":pep:`526` - Sintaxe para Anotações de Variáveis" -#: ../../reference/compound_stmts.rst:1354 +#: ../../reference/compound_stmts.rst:1356 msgid "" "Ability to type hint variable declarations, including class variables and " -"instance variables" +"instance variables." msgstr "" +"Capacidade de fornecer dica de tipo para declarações de variáveis, incluindo " +"variáveis de classe e variáveis de instância." -#: ../../reference/compound_stmts.rst:1358 +#: ../../reference/compound_stmts.rst:1361 msgid ":pep:`563` - Postponed Evaluation of Annotations" -msgstr "" +msgstr ":pep:`563` - Avaliação postergada de anotações" -#: ../../reference/compound_stmts.rst:1358 +#: ../../reference/compound_stmts.rst:1360 msgid "" "Support for forward references within annotations by preserving annotations " "in a string form at runtime instead of eager evaluation." msgstr "" +"Suporte para referências futuras dentro de anotações, preservando anotações " +"em um formato de string em tempo de execução em vez de avaliação antecipada." -#: ../../reference/compound_stmts.rst:1365 +#: ../../reference/compound_stmts.rst:1364 +msgid ":pep:`318` - Decorators for Functions and Methods" +msgstr ":pep:`318` - Decoradores para funções e métodos" + +#: ../../reference/compound_stmts.rst:1364 +msgid "" +"Function and method decorators were introduced. Class decorators were " +"introduced in :pep:`3129`." +msgstr "" +"Decoradores de função e método foram introduzidos. Decoradores de classe " +"foram introduzidos na :pep:`3129`." + +#: ../../reference/compound_stmts.rst:1370 msgid "Class definitions" msgstr "Definições de classe" -#: ../../reference/compound_stmts.rst:1380 +#: ../../reference/compound_stmts.rst:1385 msgid "A class definition defines a class object (see section :ref:`types`):" msgstr "" +"Uma definição de classe define um objeto classe (veja a seção :ref:`types`):" -#: ../../reference/compound_stmts.rst:1387 +#: ../../reference/compound_stmts.rst:1392 msgid "" "A class definition is an executable statement. The inheritance list usually " "gives a list of base classes (see :ref:`metaclasses` for more advanced " @@ -1573,24 +2090,38 @@ msgid "" "allows subclassing. Classes without an inheritance list inherit, by " "default, from the base class :class:`object`; hence, ::" msgstr "" - -#: ../../reference/compound_stmts.rst:1396 -msgid "is equivalent to ::" -msgstr "é equivalente a::" +"Uma definição de classe é uma instrução executável. A lista de herança " +"geralmente fornece uma lista de classes base (veja :ref:`metaclasses` para " +"usos mais avançados), então cada item na lista deve ser executada como um " +"objeto classe que permite extensão via subclasse. Classes sem uma lista de " +"herança herdam, por padrão, da classe base :class:`object`; portanto, ::" #: ../../reference/compound_stmts.rst:1401 -msgid "" -"The class's suite is then executed in a new execution frame (see :ref:" -"`naming`), using a newly created local namespace and the original global " -"namespace. (Usually, the suite contains mostly function definitions.) When " -"the class's suite finishes execution, its execution frame is discarded but " -"its local namespace is saved. [#]_ A class object is then created using the " -"inheritance list for the base classes and the saved local namespace for the " -"attribute dictionary. The class name is bound to this class object in the " -"original local namespace." -msgstr "" +msgid "is equivalent to ::" +msgstr "equivale a ::" + +#: ../../reference/compound_stmts.rst:1406 +msgid "" +"The class's suite is then executed in a new execution frame " +"(see :ref:`naming`), using a newly created local namespace and the original " +"global namespace. (Usually, the suite contains mostly function " +"definitions.) When the class's suite finishes execution, its execution " +"frame is discarded but its local namespace is saved. [#]_ A class object is " +"then created using the inheritance list for the base classes and the saved " +"local namespace for the attribute dictionary. The class name is bound to " +"this class object in the original local namespace." +msgstr "" +"O conjunto da classe é então executado em um novo quadro de execução " +"(veja :ref:`naming`), usando um espaço de nomes local recém-criado e o " +"espaço de nomes global original. (Normalmente, o conjunto contém " +"principalmente definições de função.) Quando o conjunto da classe termina a " +"execução, seu quadro de execução é descartado, mas seu espaço de nomes local " +"é salvo. [#]_ Um objeto classe é então criado usando a lista de herança para " +"as classes base e o espaço de nomes local salvo para o dicionário de " +"atributos. O nome da classe é vinculado a este objeto classe no espaço de " +"nomes local original." -#: ../../reference/compound_stmts.rst:1410 +#: ../../reference/compound_stmts.rst:1415 msgid "" "The order in which attributes are defined in the class body is preserved in " "the new class's ``__dict__``. Note that this is reliable only right after " @@ -1598,30 +2129,38 @@ msgid "" "definition syntax." msgstr "" -#: ../../reference/compound_stmts.rst:1415 +#: ../../reference/compound_stmts.rst:1420 msgid "" "Class creation can be customized heavily using :ref:`metaclasses " "`." msgstr "" +"A criação de classes pode ser bastante personalizada " +"usando :ref:`metaclasses `." -#: ../../reference/compound_stmts.rst:1420 +#: ../../reference/compound_stmts.rst:1425 msgid "Classes can also be decorated: just like when decorating functions, ::" msgstr "" +"As classes também podem ser decoradas: assim como na decoração de funções, ::" -#: ../../reference/compound_stmts.rst:1431 +#: ../../reference/compound_stmts.rst:1436 msgid "" "The evaluation rules for the decorator expressions are the same as for " "function decorators. The result is then bound to the class name." msgstr "" +"As regras de execução para as expressões de decorador são as mesmas que para " +"decoradores de função. O resultado é então vinculado ao nome da classe." -#: ../../reference/compound_stmts.rst:1434 +#: ../../reference/compound_stmts.rst:1439 msgid "" -"Classes may be decorated with any valid :token:`~python-grammar:" -"assignment_expression`. Previously, the grammar was much more restrictive; " -"see :pep:`614` for details." +"Classes may be decorated with any valid :token:`~python-" +"grammar:assignment_expression`. Previously, the grammar was much more " +"restrictive; see :pep:`614` for details." msgstr "" +"Classes podem ser decoradas com qualquer :token:`~python-" +"grammar:assignment_expression` válida. Anteriormente, a gramática era muito " +"mais restritiva; veja :pep:`614` para detalhes." -#: ../../reference/compound_stmts.rst:1439 +#: ../../reference/compound_stmts.rst:1444 msgid "" "**Programmer's note:** Variables defined in the class definition are class " "attributes; they are shared by instances. Instance attributes can be set in " @@ -1633,230 +2172,293 @@ msgid "" "` can be used to create instance variables with different " "implementation details." msgstr "" - -#: ../../reference/compound_stmts.rst:1454 +"**Nota do programador:** Variáveis definidas na definição de classe são " +"atributos de classe; elas são compartilhadas por instâncias. Atributos de " +"instância podem ser definidos em um método com ``self.nome = valor``. " +"Atributos de classe e instância são acessíveis por meio da notação " +"\"``self.nome``\", e um atributo de instância oculta um atributo de classe " +"com o mesmo nome quando acessado dessa forma. Atributos de classe podem ser " +"usados como padrões para atributos de instância, mas usar valores mutáveis " +"pode levar a resultados inesperados. :ref:`Descritores ` podem " +"ser usados para criar variáveis de instância com diferentes detalhes de " +"implementação." + +#: ../../reference/compound_stmts.rst:1459 msgid ":pep:`3115` - Metaclasses in Python 3000" msgstr ":pep:`3115` - Metaclasses no Python 3000" -#: ../../reference/compound_stmts.rst:1452 +#: ../../reference/compound_stmts.rst:1457 msgid "" "The proposal that changed the declaration of metaclasses to the current " "syntax, and the semantics for how classes with metaclasses are constructed." msgstr "" +"A proposta que alterou a declaração de metaclasses para a sintaxe atual e a " +"semântica de como as classes com metaclasses são construídas." -#: ../../reference/compound_stmts.rst:1457 +#: ../../reference/compound_stmts.rst:1462 msgid ":pep:`3129` - Class Decorators" msgstr ":pep:`3129` - Class Decorators" -#: ../../reference/compound_stmts.rst:1457 +#: ../../reference/compound_stmts.rst:1462 msgid "" "The proposal that added class decorators. Function and method decorators " "were introduced in :pep:`318`." msgstr "" +"A proposta que adicionou decoradores de classe. Decoradores de função e " +"método foram introduzidos na :pep:`318`." -#: ../../reference/compound_stmts.rst:1464 +#: ../../reference/compound_stmts.rst:1469 msgid "Coroutines" msgstr "Corrotinas" -#: ../../reference/compound_stmts.rst:1472 +#: ../../reference/compound_stmts.rst:1477 msgid "Coroutine function definition" -msgstr "" +msgstr "Definição de função de corrotina" -#: ../../reference/compound_stmts.rst:1482 +#: ../../reference/compound_stmts.rst:1487 msgid "" "Execution of Python coroutines can be suspended and resumed at many points " "(see :term:`coroutine`). :keyword:`await` expressions, :keyword:`async for` " "and :keyword:`async with` can only be used in the body of a coroutine " "function." msgstr "" +"A execução de corrotinas do Python pode ser suspensa e retomada em muitos " +"pontos (consulte :term:`coroutine`). As " +"expressões :keyword:`await`, :keyword:`async for` e :keyword:`async with` só " +"podem ser usadas no corpo de uma função de corrotina." -#: ../../reference/compound_stmts.rst:1486 +#: ../../reference/compound_stmts.rst:1491 msgid "" "Functions defined with ``async def`` syntax are always coroutine functions, " "even if they do not contain ``await`` or ``async`` keywords." msgstr "" +"Funções definidas com a sintaxe ``async def`` são sempre funções de " +"corrotina, mesmo que não contenham palavras reservadas ``await`` ou " +"``async``." -#: ../../reference/compound_stmts.rst:1489 +#: ../../reference/compound_stmts.rst:1494 msgid "" "It is a :exc:`SyntaxError` to use a ``yield from`` expression inside the " "body of a coroutine function." msgstr "" +"Ocorre uma :exc:`SyntaxError` se usada uma expressão ``yield from`` dentro " +"do corpo de uma função de corrotina." -#: ../../reference/compound_stmts.rst:1492 +#: ../../reference/compound_stmts.rst:1497 msgid "An example of a coroutine function::" -msgstr "" +msgstr "Um exemplo de uma função de corrotina::" -#: ../../reference/compound_stmts.rst:1498 +#: ../../reference/compound_stmts.rst:1503 msgid "" "``await`` and ``async`` are now keywords; previously they were only treated " "as such inside the body of a coroutine function." msgstr "" +"``await`` e ``async`` agora são palavras reservadas; anteriormente, elas só " +"eram tratadas como tal dentro do corpo de uma função de corrotina." -#: ../../reference/compound_stmts.rst:1506 +#: ../../reference/compound_stmts.rst:1511 msgid "The :keyword:`!async for` statement" -msgstr "" +msgstr "A instrução :keyword:`!async for`" -#: ../../reference/compound_stmts.rst:1511 +#: ../../reference/compound_stmts.rst:1516 msgid "" "An :term:`asynchronous iterable` provides an ``__aiter__`` method that " "directly returns an :term:`asynchronous iterator`, which can call " "asynchronous code in its ``__anext__`` method." msgstr "" +"Um :term:`iterável assíncrono` fornece um método ``__aiter__`` que retorna " +"diretamente um :term:`iterador assíncrono`, que pode chamar código " +"assíncrono em seu método ``__anext__``." -#: ../../reference/compound_stmts.rst:1515 +#: ../../reference/compound_stmts.rst:1520 msgid "" "The ``async for`` statement allows convenient iteration over asynchronous " "iterables." msgstr "" +"A instrução ``async for`` permite iteração conveniente sobre iteráveis " +"assíncronos." -#: ../../reference/compound_stmts.rst:1525 +#: ../../reference/compound_stmts.rst:1530 msgid "Is semantically equivalent to::" -msgstr "" +msgstr "É semanticamente equivalente a::" -#: ../../reference/compound_stmts.rst:1541 +#: ../../reference/compound_stmts.rst:1546 msgid "" "See also :meth:`~object.__aiter__` and :meth:`~object.__anext__` for details." msgstr "" +"Veja também :meth:`~object.__aiter__` e :meth:`~object.__anext__` para " +"detalhes." -#: ../../reference/compound_stmts.rst:1543 +#: ../../reference/compound_stmts.rst:1548 msgid "" "It is a :exc:`SyntaxError` to use an ``async for`` statement outside the " "body of a coroutine function." msgstr "" +"Ocorre uma :exc:`SyntaxError` se usada uma instrução ``async for`` fora do " +"corpo de uma função de corrotina." -#: ../../reference/compound_stmts.rst:1551 +#: ../../reference/compound_stmts.rst:1556 msgid "The :keyword:`!async with` statement" -msgstr "" +msgstr "A instrução :keyword:`!async with`" -#: ../../reference/compound_stmts.rst:1556 +#: ../../reference/compound_stmts.rst:1561 msgid "" "An :term:`asynchronous context manager` is a :term:`context manager` that is " "able to suspend execution in its *enter* and *exit* methods." msgstr "" +"Um :term:`gerenciador de contexto assíncrono` é um :term:`gerenciador de " +"contexto` que é capaz de suspender a execução em seus métodos *enter* e " +"*exit*." -#: ../../reference/compound_stmts.rst:1583 +#: ../../reference/compound_stmts.rst:1588 msgid "" "See also :meth:`~object.__aenter__` and :meth:`~object.__aexit__` for " "details." msgstr "" +"Veja também :meth:`~object.__aenter__` e :meth:`~object.__aexit__` para " +"detalhes." -#: ../../reference/compound_stmts.rst:1585 +#: ../../reference/compound_stmts.rst:1590 msgid "" "It is a :exc:`SyntaxError` to use an ``async with`` statement outside the " "body of a coroutine function." msgstr "" +"Ocorre uma :exc:`SyntaxError` se usada uma instrução ``async with`` fora do " +"corpo de uma função de corrotina." -#: ../../reference/compound_stmts.rst:1591 +#: ../../reference/compound_stmts.rst:1596 msgid ":pep:`492` - Coroutines with async and await syntax" -msgstr "" +msgstr ":pep:`492` - Corrotina com sintaxe de async e wait" -#: ../../reference/compound_stmts.rst:1591 +#: ../../reference/compound_stmts.rst:1596 msgid "" "The proposal that made coroutines a proper standalone concept in Python, and " "added supporting syntax." msgstr "" +"A proposta que tornou as corrotinas um conceito autônomo em Python e " +"adicionou sintaxe de suporte." -#: ../../reference/compound_stmts.rst:1596 +#: ../../reference/compound_stmts.rst:1601 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../reference/compound_stmts.rst:1597 +#: ../../reference/compound_stmts.rst:1602 msgid "" -"The exception is propagated to the invocation stack unless there is a :" -"keyword:`finally` clause which happens to raise another exception. That new " -"exception causes the old one to be lost." +"The exception is propagated to the invocation stack unless there is " +"a :keyword:`finally` clause which happens to raise another exception. That " +"new exception causes the old one to be lost." msgstr "" +"A exceção é propagada para a pilha de invocação, a menos que haja uma " +"cláusula :keyword:`finally` que por acaso levante outra exceção. Essa nova " +"exceção faz com que a antiga seja perdida." -#: ../../reference/compound_stmts.rst:1601 +#: ../../reference/compound_stmts.rst:1606 msgid "In pattern matching, a sequence is defined as one of the following:" msgstr "" +"Na correspondência de padrões, uma sequência é definida como uma das " +"seguintes:" -#: ../../reference/compound_stmts.rst:1603 +#: ../../reference/compound_stmts.rst:1608 msgid "a class that inherits from :class:`collections.abc.Sequence`" -msgstr "" +msgstr "uma classe que herda de :class:`collections.abc.Sequence`" -#: ../../reference/compound_stmts.rst:1604 +#: ../../reference/compound_stmts.rst:1609 msgid "" "a Python class that has been registered as :class:`collections.abc.Sequence`" msgstr "" +"uma classe Python que foi registrada como :class:`collections.abc.Sequence`" -#: ../../reference/compound_stmts.rst:1605 +#: ../../reference/compound_stmts.rst:1610 msgid "" -"a builtin class that has its (CPython) :data:`Py_TPFLAGS_SEQUENCE` bit set" +"a builtin class that has its (CPython) :c:macro:`Py_TPFLAGS_SEQUENCE` bit set" msgstr "" +"uma classe embutida que tem seu bit :c:macro:`Py_TPFLAGS_SEQUENCE` (CPython) " +"definido" -#: ../../reference/compound_stmts.rst:1606 -#: ../../reference/compound_stmts.rst:1625 +#: ../../reference/compound_stmts.rst:1611 +#: ../../reference/compound_stmts.rst:1630 msgid "a class that inherits from any of the above" -msgstr "" +msgstr "uma classe que herda de qualquer uma das anteriores" -#: ../../reference/compound_stmts.rst:1608 +#: ../../reference/compound_stmts.rst:1613 msgid "The following standard library classes are sequences:" -msgstr "" +msgstr "As seguintes classes de biblioteca padrão são sequências:" -#: ../../reference/compound_stmts.rst:1610 +#: ../../reference/compound_stmts.rst:1615 msgid ":class:`array.array`" -msgstr "" +msgstr ":class:`array.array`" -#: ../../reference/compound_stmts.rst:1611 +#: ../../reference/compound_stmts.rst:1616 msgid ":class:`collections.deque`" msgstr ":class:`collections.deque`" -#: ../../reference/compound_stmts.rst:1613 +#: ../../reference/compound_stmts.rst:1618 msgid ":class:`memoryview`" -msgstr "" +msgstr ":class:`memoryview`" -#: ../../reference/compound_stmts.rst:1614 +#: ../../reference/compound_stmts.rst:1619 msgid ":class:`range`" -msgstr "" +msgstr ":class:`range`" -#: ../../reference/compound_stmts.rst:1617 +#: ../../reference/compound_stmts.rst:1622 msgid "" "Subject values of type ``str``, ``bytes``, and ``bytearray`` do not match " "sequence patterns." msgstr "" +"Valores de assunto do tipo ``str``, ``bytes`` e ``bytearray`` não " +"correspondem aos padrões de sequência." -#: ../../reference/compound_stmts.rst:1620 +#: ../../reference/compound_stmts.rst:1625 msgid "In pattern matching, a mapping is defined as one of the following:" msgstr "" +"Na correspondência de padrões, um mapeamento é definido como uma das " +"seguintes:" -#: ../../reference/compound_stmts.rst:1622 +#: ../../reference/compound_stmts.rst:1627 msgid "a class that inherits from :class:`collections.abc.Mapping`" -msgstr "" +msgstr "uma classe que herda de :class:`collections.abc.Mapping`" -#: ../../reference/compound_stmts.rst:1623 +#: ../../reference/compound_stmts.rst:1628 msgid "" "a Python class that has been registered as :class:`collections.abc.Mapping`" msgstr "" +"uma classe Python que foi registrada como :class:`collections.abc.Mapping`" -#: ../../reference/compound_stmts.rst:1624 +#: ../../reference/compound_stmts.rst:1629 msgid "" -"a builtin class that has its (CPython) :data:`Py_TPFLAGS_MAPPING` bit set" +"a builtin class that has its (CPython) :c:macro:`Py_TPFLAGS_MAPPING` bit set" msgstr "" +"uma classe embutida que tem seu bit :c:macro:`Py_TPFLAGS_MAPPING` (CPython) " +"definido" -#: ../../reference/compound_stmts.rst:1627 +#: ../../reference/compound_stmts.rst:1632 msgid "" -"The standard library classes :class:`dict` and :class:`types." -"MappingProxyType` are mappings." +"The standard library classes :class:`dict` " +"and :class:`types.MappingProxyType` are mappings." msgstr "" +"As classes de biblioteca padrão :class:`dict` " +"e :class:`types.MappingProxyType` são mapeamentos." -#: ../../reference/compound_stmts.rst:1630 +#: ../../reference/compound_stmts.rst:1635 msgid "" "A string literal appearing as the first statement in the function body is " -"transformed into the function's ``__doc__`` attribute and therefore the " -"function's :term:`docstring`." +"transformed into the function's :attr:`~function.__doc__` attribute and " +"therefore the function's :term:`docstring`." msgstr "" +"Um literal de string que aparece como a primeira instrução no corpo da " +"função é transformado no atributo :attr:`~function.__doc__` da função e, " +"portanto, no :term:`docstring` da função." -#: ../../reference/compound_stmts.rst:1634 +#: ../../reference/compound_stmts.rst:1639 msgid "" "A string literal appearing as the first statement in the class body is " -"transformed into the namespace's ``__doc__`` item and therefore the class's :" -"term:`docstring`." +"transformed into the namespace's ``__doc__`` item and therefore the " +"class's :term:`docstring`." msgstr "" #: ../../reference/compound_stmts.rst:7 msgid "compound" -msgstr "" +msgstr "compound" #: ../../reference/compound_stmts.rst:7 ../../reference/compound_stmts.rst:86 #: ../../reference/compound_stmts.rst:111 @@ -1868,37 +2470,37 @@ msgstr "" #: ../../reference/compound_stmts.rst:438 #: ../../reference/compound_stmts.rst:472 #: ../../reference/compound_stmts.rst:589 -#: ../../reference/compound_stmts.rst:1194 -#: ../../reference/compound_stmts.rst:1367 -#: ../../reference/compound_stmts.rst:1468 -#: ../../reference/compound_stmts.rst:1502 -#: ../../reference/compound_stmts.rst:1547 +#: ../../reference/compound_stmts.rst:1196 +#: ../../reference/compound_stmts.rst:1372 +#: ../../reference/compound_stmts.rst:1473 +#: ../../reference/compound_stmts.rst:1507 +#: ../../reference/compound_stmts.rst:1552 msgid "statement" msgstr "instrução" #: ../../reference/compound_stmts.rst:21 msgid "clause" -msgstr "" +msgstr "cláusula" #: ../../reference/compound_stmts.rst:21 msgid "suite" -msgstr "" +msgstr "conjunto (suite)" #: ../../reference/compound_stmts.rst:21 msgid "; (semicolon)" -msgstr "" +msgstr "; (ponto e vírgula)" #: ../../reference/compound_stmts.rst:64 msgid "NEWLINE token" -msgstr "" +msgstr "token NEWLINE" #: ../../reference/compound_stmts.rst:64 msgid "DEDENT token" -msgstr "" +msgstr "token DEDENT" #: ../../reference/compound_stmts.rst:64 msgid "dangling" -msgstr "" +msgstr "pendurado" #: ../../reference/compound_stmts.rst:64 ../../reference/compound_stmts.rst:86 #: ../../reference/compound_stmts.rst:111 @@ -1906,7 +2508,7 @@ msgstr "" #: ../../reference/compound_stmts.rst:207 #: ../../reference/compound_stmts.rst:391 msgid "else" -msgstr "" +msgstr "else" #: ../../reference/compound_stmts.rst:86 ../../reference/compound_stmts.rst:589 msgid "if" @@ -1920,34 +2522,34 @@ msgstr "if" #: ../../reference/compound_stmts.rst:409 #: ../../reference/compound_stmts.rst:472 #: ../../reference/compound_stmts.rst:589 -#: ../../reference/compound_stmts.rst:1478 +#: ../../reference/compound_stmts.rst:1483 msgid "keyword" -msgstr "" +msgstr "palavra reservada" #: ../../reference/compound_stmts.rst:86 msgid "elif" -msgstr "" +msgstr "elif" #: ../../reference/compound_stmts.rst:86 ../../reference/compound_stmts.rst:111 #: ../../reference/compound_stmts.rst:144 #: ../../reference/compound_stmts.rst:207 #: ../../reference/compound_stmts.rst:472 #: ../../reference/compound_stmts.rst:589 -#: ../../reference/compound_stmts.rst:1194 -#: ../../reference/compound_stmts.rst:1311 -#: ../../reference/compound_stmts.rst:1367 +#: ../../reference/compound_stmts.rst:1196 +#: ../../reference/compound_stmts.rst:1313 +#: ../../reference/compound_stmts.rst:1372 msgid ": (colon)" -msgstr "" +msgstr ": (dois pontos)" #: ../../reference/compound_stmts.rst:86 ../../reference/compound_stmts.rst:111 #: ../../reference/compound_stmts.rst:144 #: ../../reference/compound_stmts.rst:207 #: ../../reference/compound_stmts.rst:472 #: ../../reference/compound_stmts.rst:589 -#: ../../reference/compound_stmts.rst:1194 -#: ../../reference/compound_stmts.rst:1367 +#: ../../reference/compound_stmts.rst:1196 +#: ../../reference/compound_stmts.rst:1372 msgid "compound statement" -msgstr "" +msgstr "instrução composta" #: ../../reference/compound_stmts.rst:111 msgid "while" @@ -1956,33 +2558,33 @@ msgstr "while" #: ../../reference/compound_stmts.rst:111 #: ../../reference/compound_stmts.rst:144 msgid "loop" -msgstr "" +msgstr "laço" #: ../../reference/compound_stmts.rst:129 #: ../../reference/compound_stmts.rst:169 #: ../../reference/compound_stmts.rst:391 #: ../../reference/compound_stmts.rst:438 msgid "break" -msgstr "" +msgstr "break" #: ../../reference/compound_stmts.rst:129 #: ../../reference/compound_stmts.rst:169 #: ../../reference/compound_stmts.rst:391 #: ../../reference/compound_stmts.rst:438 msgid "continue" -msgstr "" +msgstr "continue" #: ../../reference/compound_stmts.rst:144 msgid "for" -msgstr "" +msgstr "for" #: ../../reference/compound_stmts.rst:144 msgid "in" -msgstr "" +msgstr "in" #: ../../reference/compound_stmts.rst:144 msgid "target" -msgstr "" +msgstr "alvo" #: ../../reference/compound_stmts.rst:144 msgid "list" @@ -1990,8 +2592,8 @@ msgstr "lista" #: ../../reference/compound_stmts.rst:144 #: ../../reference/compound_stmts.rst:299 -#: ../../reference/compound_stmts.rst:1194 -#: ../../reference/compound_stmts.rst:1367 +#: ../../reference/compound_stmts.rst:1196 +#: ../../reference/compound_stmts.rst:1372 msgid "object" msgstr "objeto" @@ -2005,31 +2607,31 @@ msgstr "função embutida" #: ../../reference/compound_stmts.rst:190 msgid "range" -msgstr "" +msgstr "range" #: ../../reference/compound_stmts.rst:207 msgid "try" -msgstr "" +msgstr "try" #: ../../reference/compound_stmts.rst:207 msgid "except" -msgstr "" +msgstr "except" #: ../../reference/compound_stmts.rst:207 #: ../../reference/compound_stmts.rst:409 msgid "finally" -msgstr "" +msgstr "finally" #: ../../reference/compound_stmts.rst:207 #: ../../reference/compound_stmts.rst:266 #: ../../reference/compound_stmts.rst:472 #: ../../reference/compound_stmts.rst:589 msgid "as" -msgstr "" +msgstr "as" #: ../../reference/compound_stmts.rst:266 msgid "except clause" -msgstr "" +msgstr "cláusula except" #: ../../reference/compound_stmts.rst:299 msgid "module" @@ -2045,211 +2647,211 @@ msgstr "traceback" #: ../../reference/compound_stmts.rst:328 msgid "except_star" -msgstr "" +msgstr "except_star" #: ../../reference/compound_stmts.rst:391 #: ../../reference/compound_stmts.rst:438 msgid "return" -msgstr "" +msgstr "return" #: ../../reference/compound_stmts.rst:472 msgid "with" -msgstr "" +msgstr "with" #: ../../reference/compound_stmts.rst:472 msgid "with statement" -msgstr "" +msgstr "instrução with" #: ../../reference/compound_stmts.rst:472 -#: ../../reference/compound_stmts.rst:1194 -#: ../../reference/compound_stmts.rst:1367 +#: ../../reference/compound_stmts.rst:1196 +#: ../../reference/compound_stmts.rst:1372 msgid ", (comma)" -msgstr "" +msgstr ", (vírgula)" #: ../../reference/compound_stmts.rst:589 msgid "match" -msgstr "" +msgstr "match" #: ../../reference/compound_stmts.rst:589 msgid "case" -msgstr "" +msgstr "case" #: ../../reference/compound_stmts.rst:589 msgid "pattern matching" -msgstr "" +msgstr "correspondência de padrões" #: ../../reference/compound_stmts.rst:589 msgid "match statement" -msgstr "" +msgstr "instrução match" #: ../../reference/compound_stmts.rst:693 msgid "guard" -msgstr "" +msgstr "guard" #: ../../reference/compound_stmts.rst:732 msgid "irrefutable case block" -msgstr "" +msgstr "bloco irrefutável de case" #: ../../reference/compound_stmts.rst:732 msgid "case block" -msgstr "" +msgstr "bloco de case" #: ../../reference/compound_stmts.rst:756 msgid "! patterns" -msgstr "" +msgstr "padrões !" #: ../../reference/compound_stmts.rst:756 msgid "AS pattern, OR pattern, capture pattern, wildcard pattern" -msgstr "" +msgstr "padrão AS, padrão OR, padrão de captura, padrão curinga" -#: ../../reference/compound_stmts.rst:1185 -#: ../../reference/compound_stmts.rst:1261 +#: ../../reference/compound_stmts.rst:1187 +#: ../../reference/compound_stmts.rst:1263 msgid "parameter" msgstr "parâmetro" -#: ../../reference/compound_stmts.rst:1185 -#: ../../reference/compound_stmts.rst:1194 -#: ../../reference/compound_stmts.rst:1235 -#: ../../reference/compound_stmts.rst:1261 -#: ../../reference/compound_stmts.rst:1290 +#: ../../reference/compound_stmts.rst:1187 +#: ../../reference/compound_stmts.rst:1196 +#: ../../reference/compound_stmts.rst:1237 +#: ../../reference/compound_stmts.rst:1263 +#: ../../reference/compound_stmts.rst:1292 msgid "function definition" -msgstr "" +msgstr "definição de função" -#: ../../reference/compound_stmts.rst:1194 +#: ../../reference/compound_stmts.rst:1196 msgid "def" -msgstr "" +msgstr "def" -#: ../../reference/compound_stmts.rst:1194 -#: ../../reference/compound_stmts.rst:1311 +#: ../../reference/compound_stmts.rst:1196 +#: ../../reference/compound_stmts.rst:1313 msgid "function" msgstr "função" -#: ../../reference/compound_stmts.rst:1194 -#: ../../reference/compound_stmts.rst:1367 +#: ../../reference/compound_stmts.rst:1196 +#: ../../reference/compound_stmts.rst:1372 msgid "definition" -msgstr "" +msgstr "definição" -#: ../../reference/compound_stmts.rst:1194 -#: ../../reference/compound_stmts.rst:1367 +#: ../../reference/compound_stmts.rst:1196 +#: ../../reference/compound_stmts.rst:1372 msgid "name" msgstr "nome" -#: ../../reference/compound_stmts.rst:1194 -#: ../../reference/compound_stmts.rst:1367 +#: ../../reference/compound_stmts.rst:1196 +#: ../../reference/compound_stmts.rst:1372 msgid "binding" -msgstr "" +msgstr "vinculação; ligação" -#: ../../reference/compound_stmts.rst:1194 +#: ../../reference/compound_stmts.rst:1196 msgid "user-defined function" -msgstr "" +msgstr "função definida por usuário" -#: ../../reference/compound_stmts.rst:1194 -#: ../../reference/compound_stmts.rst:1367 +#: ../../reference/compound_stmts.rst:1196 +#: ../../reference/compound_stmts.rst:1372 msgid "() (parentheses)" -msgstr "" +msgstr "() (parênteses)" -#: ../../reference/compound_stmts.rst:1194 +#: ../../reference/compound_stmts.rst:1196 msgid "parameter list" -msgstr "" +msgstr "lista de parâmetros" -#: ../../reference/compound_stmts.rst:1235 -#: ../../reference/compound_stmts.rst:1417 +#: ../../reference/compound_stmts.rst:1237 +#: ../../reference/compound_stmts.rst:1422 msgid "@ (at)" -msgstr "" +msgstr "@ (arroba)" -#: ../../reference/compound_stmts.rst:1261 +#: ../../reference/compound_stmts.rst:1263 msgid "default" msgstr "default" -#: ../../reference/compound_stmts.rst:1261 +#: ../../reference/compound_stmts.rst:1263 msgid "value" -msgstr "value" +msgstr "valor" -#: ../../reference/compound_stmts.rst:1261 +#: ../../reference/compound_stmts.rst:1263 msgid "argument" msgstr "argumento" -#: ../../reference/compound_stmts.rst:1261 +#: ../../reference/compound_stmts.rst:1263 msgid "= (equals)" -msgstr "" +msgstr "= (igual)" -#: ../../reference/compound_stmts.rst:1290 +#: ../../reference/compound_stmts.rst:1292 msgid "/ (slash)" -msgstr "" +msgstr "/ (barra)" -#: ../../reference/compound_stmts.rst:1290 +#: ../../reference/compound_stmts.rst:1292 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisco)" -#: ../../reference/compound_stmts.rst:1290 +#: ../../reference/compound_stmts.rst:1292 msgid "**" -msgstr "" +msgstr "**" -#: ../../reference/compound_stmts.rst:1311 +#: ../../reference/compound_stmts.rst:1313 msgid "annotations" msgstr "annotations" -#: ../../reference/compound_stmts.rst:1311 +#: ../../reference/compound_stmts.rst:1313 msgid "->" -msgstr "" +msgstr "->" -#: ../../reference/compound_stmts.rst:1311 +#: ../../reference/compound_stmts.rst:1313 msgid "function annotations" -msgstr "" +msgstr "anotações de função" -#: ../../reference/compound_stmts.rst:1329 +#: ../../reference/compound_stmts.rst:1331 msgid "lambda" msgstr "lambda" -#: ../../reference/compound_stmts.rst:1329 +#: ../../reference/compound_stmts.rst:1331 msgid "expression" msgstr "expressão" -#: ../../reference/compound_stmts.rst:1367 +#: ../../reference/compound_stmts.rst:1372 msgid "class" msgstr "classe" -#: ../../reference/compound_stmts.rst:1367 +#: ../../reference/compound_stmts.rst:1372 msgid "execution" -msgstr "" +msgstr "execução" -#: ../../reference/compound_stmts.rst:1367 +#: ../../reference/compound_stmts.rst:1372 msgid "frame" -msgstr "" +msgstr "quadro" -#: ../../reference/compound_stmts.rst:1367 +#: ../../reference/compound_stmts.rst:1372 msgid "inheritance" -msgstr "" +msgstr "herança" -#: ../../reference/compound_stmts.rst:1367 +#: ../../reference/compound_stmts.rst:1372 msgid "docstring" msgstr "docstring" -#: ../../reference/compound_stmts.rst:1367 -#: ../../reference/compound_stmts.rst:1417 +#: ../../reference/compound_stmts.rst:1372 +#: ../../reference/compound_stmts.rst:1422 msgid "class definition" -msgstr "" +msgstr "definição de classe" -#: ../../reference/compound_stmts.rst:1367 +#: ../../reference/compound_stmts.rst:1372 msgid "expression list" -msgstr "" +msgstr "expressão, lista de" -#: ../../reference/compound_stmts.rst:1468 +#: ../../reference/compound_stmts.rst:1473 msgid "async def" -msgstr "" +msgstr "async def" -#: ../../reference/compound_stmts.rst:1478 +#: ../../reference/compound_stmts.rst:1483 msgid "async" -msgstr "" +msgstr "async" -#: ../../reference/compound_stmts.rst:1478 +#: ../../reference/compound_stmts.rst:1483 msgid "await" -msgstr "" +msgstr "await" -#: ../../reference/compound_stmts.rst:1502 +#: ../../reference/compound_stmts.rst:1507 msgid "async for" -msgstr "" +msgstr "async for" -#: ../../reference/compound_stmts.rst:1547 +#: ../../reference/compound_stmts.rst:1552 msgid "async with" -msgstr "" +msgstr "async with" diff --git a/reference/datamodel.po b/reference/datamodel.po index 4bac20471..2f1511982 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -1,39 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Tiago Henrique , 2021 -# Raphael Mendonça, 2021 -# Welington Carlos , 2021 -# Willian Lopes, 2021 -# Paulo Candido, 2023 -# Alexandre B A Villares, 2023 -# Vinicius Gubiani Ferreira , 2023 -# Marco Rougeth , 2023 -# Ricardo Cappellano , 2023 -# felipe caridade , 2023 -# Adorilson Bezerra , 2023 -# Victor Matheus Castro , 2023 -# Claudio Rogerio Carvalho Filho , 2023 -# Julia Rizza , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -54,7 +40,7 @@ msgid "" msgstr "" ":dfn:`Objetos` são abstrações do Python para dados. Todos os dados em um " "programa Python são representados por objetos ou por relações entre objetos. " -"(De certo modo, e em conformidade com o modelo de Von Neumann em " +"(De certo modo, e em conformidade com o modelo de Von Neumann de um " "\"computador com programa armazenado\", código também é representado por " "objetos.)" @@ -62,20 +48,19 @@ msgstr "" msgid "" "Every object has an identity, a type and a value. An object's *identity* " "never changes once it has been created; you may think of it as the object's " -"address in memory. The ':keyword:`is`' operator compares the identity of " -"two objects; the :func:`id` function returns an integer representing its " +"address in memory. The :keyword:`is` operator compares the identity of two " +"objects; the :func:`id` function returns an integer representing its " "identity." msgstr "" "Todo objeto tem uma identidade, um tipo e um valor. A *identidade* de um " "objeto nunca muda depois de criado; você pode pensar nisso como endereço de " -"objetos em memória. O operador ':keyword:`is`' compara as identidades de " -"dois objetos; a função :func:`id` retorna um inteiro representando sua " -"identidade." +"objetos em memória. O operador :keyword:`is` compara as identidades de dois " +"objetos; a função :func:`id` retorna um inteiro representando sua identidade." #: ../../reference/datamodel.rst:42 msgid "For CPython, ``id(x)`` is the memory address where ``x`` is stored." msgstr "" -"Para CPython, ``id(x)`` é o endereço de memória em que ``x`` é armazenado." +"Para CPython, ``id(x)`` é o endereço de memória em que ``x`` está armazenado." #: ../../reference/datamodel.rst:44 msgid "" @@ -85,11 +70,11 @@ msgid "" "an object itself). Like its identity, an object's :dfn:`type` is also " "unchangeable. [#]_" msgstr "" -"O tipo de um objeto determina as operações que o objeto suporta (por " -"exemplo, \"ele tem um tamanho?\") e também define os valores possíveis para " -"objetos desse tipo. A função :func:`type` retorna o tipo de um objeto (que é " -"também um objeto). Como sua identidade, o :dfn:`tipo` do objeto também é " -"imutável. [#]_" +"O tipo de um objeto determina as operações que o objeto implementa (por " +"exemplo, \"ele tem um comprimento?\") e também define os valores possíveis " +"para objetos desse tipo. A função :func:`type` retorna o tipo de um objeto " +"(que é também um objeto). Como sua identidade, o :dfn:`tipo` do objeto " +"também é imutável. [#]_" #: ../../reference/datamodel.rst:50 msgid "" @@ -154,13 +139,13 @@ msgstr "" msgid "" "Note that the use of the implementation's tracing or debugging facilities " "may keep objects alive that would normally be collectable. Also note that " -"catching an exception with a ':keyword:`try`...\\ :keyword:`except`' " -"statement may keep objects alive." +"catching an exception with a :keyword:`try`...\\ :keyword:`except` statement " +"may keep objects alive." msgstr "" "Observe que o uso dos recursos de rastreamento ou depuração da implementação " "pode manter os objetos ativos que normalmente seriam coletáveis. Observe " -"também que capturar uma exceção com uma instrução \":keyword:`try`...\\ :" -"keyword:`except`\" pode manter os objetos vivos." +"também que capturar uma exceção com uma instrução :keyword:`try`..." +"\\ :keyword:`except` pode manter os objetos vivos." #: ../../reference/datamodel.rst:87 msgid "" @@ -168,19 +153,19 @@ msgid "" "or windows. It is understood that these resources are freed when the object " "is garbage-collected, but since garbage collection is not guaranteed to " "happen, such objects also provide an explicit way to release the external " -"resource, usually a :meth:`close` method. Programs are strongly recommended " -"to explicitly close such objects. The ':keyword:`try`...\\ :keyword:" -"`finally`' statement and the ':keyword:`with`' statement provide convenient " -"ways to do this." +"resource, usually a :meth:`!close` method. Programs are strongly recommended " +"to explicitly close such objects. The :keyword:`try`..." +"\\ :keyword:`finally` statement and the :keyword:`with` statement provide " +"convenient ways to do this." msgstr "" "Alguns objetos contêm referências a recursos \"externos\", como arquivos " "abertos ou janelas. Entende-se que esses recursos são liberados quando o " "objeto é coletado como lixo, mas como a coleta de lixo não é garantida, tais " "objetos também fornecem uma maneira explícita de liberar o recurso externo, " -"geralmente um método :meth:`close`. Os programas são fortemente recomendados " -"para fechar explicitamente esses objetos. A instrução \":keyword:`try`...\\ :" -"keyword:`finally`\" e a instrução \":keyword:`with`\" fornecem maneiras " -"convenientes de fazer isso." +"geralmente um método :meth:`!close`. Os programas são fortemente " +"recomendados para fechar explicitamente esses objetos. A " +"instrução :keyword:`try`...\\ :keyword:`finally` e a " +"instrução :keyword:`with` fornecem maneiras convenientes de fazer isso." #: ../../reference/datamodel.rst:97 msgid "" @@ -258,11 +243,11 @@ msgstr "" "implementação e não se destinam ao uso geral. Sua definição pode mudar no " "futuro." -#: ../../reference/datamodel.rst:150 ../../reference/datamodel.rst:145 +#: ../../reference/datamodel.rst:146 ../../reference/datamodel.rst:148 msgid "None" msgstr "None" -#: ../../reference/datamodel.rst:147 +#: ../../reference/datamodel.rst:150 msgid "" "This type has a single value. There is a single object with this value. " "This object is accessed through the built-in name ``None``. It is used to " @@ -272,50 +257,50 @@ msgstr "" "Este tipo possui um único valor. Existe um único objeto com este valor. Este " "objeto é acessado através do nome embutido ``None``. É usado para significar " "a ausência de um valor em muitas situações, por exemplo, ele é retornado de " -"funções que não retornam nada explicitamente. Seu valor de verdade é falso." +"funções que não retornam nada explicitamente. Seu valor verdade é falso." -#: ../../reference/datamodel.rst:170 ../../reference/datamodel.rst:153 +#: ../../reference/datamodel.rst:157 ../../reference/datamodel.rst:159 msgid "NotImplemented" msgstr "NotImplemented" -#: ../../reference/datamodel.rst:155 +#: ../../reference/datamodel.rst:161 msgid "" "This type has a single value. There is a single object with this value. " -"This object is accessed through the built-in name ``NotImplemented``. " +"This object is accessed through the built-in name :data:`NotImplemented`. " "Numeric methods and rich comparison methods should return this value if they " "do not implement the operation for the operands provided. (The interpreter " "will then try the reflected operation, or some other fallback, depending on " "the operator.) It should not be evaluated in a boolean context." msgstr "" "Este tipo possui um único valor. Existe um único objeto com este valor. Este " -"objeto é acessado através do nome embutido ``NotImplemented``. Os métodos " -"numéricos e métodos de comparação rica devem retornar esse valor se não " -"implementarem a operação para os operandos fornecidos. (O interpretador " +"objeto é acessado através do nome embutido :data:`NotImplemented`. Os " +"métodos numéricos e métodos de comparação rica devem retornar esse valor se " +"não implementarem a operação para os operandos fornecidos. (O interpretador " "tentará então a operação refletida ou alguma outra alternativa, dependendo " "do operador.) Não deve ser avaliado em um contexto booleano." -#: ../../reference/datamodel.rst:162 +#: ../../reference/datamodel.rst:168 msgid "See :ref:`implementing-the-arithmetic-operations` for more details." msgstr "" "Veja a documentação :ref:`implementing-the-arithmetic-operations` para mais " "detalhes." -#: ../../reference/datamodel.rst:166 +#: ../../reference/datamodel.rst:172 msgid "" -"Evaluating ``NotImplemented`` in a boolean context is deprecated. While it " -"currently evaluates as true, it will emit a :exc:`DeprecationWarning`. It " +"Evaluating :data:`NotImplemented` in a boolean context is deprecated. While " +"it currently evaluates as true, it will emit a :exc:`DeprecationWarning`. It " "will raise a :exc:`TypeError` in a future version of Python." msgstr "" -"A avaliação de ``NotImplemented`` em um contexto booleano foi descontinuado. " -"Embora atualmente seja avaliado como verdadeiro, ele emitirá um :exc:" -"`DeprecationWarning`. Ele levantará uma :exc:`TypeError` em uma versão " -"futura do Python." +"A avaliação de :data:`NotImplemented` em um contexto booleano foi " +"descontinuada. Embora atualmente seja avaliada como verdadeiro, é emitida " +"uma exceção :exc:`DeprecationWarning`. Levantará uma :exc:`TypeError` em uma " +"versão futura do Python." -#: ../../reference/datamodel.rst:179 ../../reference/datamodel.rst:173 +#: ../../reference/datamodel.rst:179 ../../reference/datamodel.rst:180 msgid "Ellipsis" msgstr "Ellipsis" -#: ../../reference/datamodel.rst:177 +#: ../../reference/datamodel.rst:184 msgid "" "This type has a single value. There is a single object with this value. " "This object is accessed through the literal ``...`` or the built-in name " @@ -323,13 +308,13 @@ msgid "" msgstr "" "Este tipo possui um único valor. Existe um único objeto com este valor. Este " "objeto é acessado através do literal ``...`` ou do nome embutido " -"``Ellipsis`` (reticências). Seu valor de verdade é true." +"``Ellipsis`` (reticências). Seu valor verdade é verdadeiro." -#: ../../reference/datamodel.rst:266 +#: ../../reference/datamodel.rst:190 msgid ":class:`numbers.Number`" msgstr ":class:`numbers.Number`" -#: ../../reference/datamodel.rst:184 +#: ../../reference/datamodel.rst:194 msgid "" "These are created by numeric literals and returned as results by arithmetic " "operators and arithmetic built-in functions. Numeric objects are immutable; " @@ -337,22 +322,23 @@ msgid "" "strongly related to mathematical numbers, but subject to the limitations of " "numerical representation in computers." msgstr "" -"Eles são criados por literais numéricos e retornados como resultados por " -"operadores aritméticos e funções aritméticas integradas. Os objetos " -"numéricos são imutáveis; uma vez criado, seu valor nunca muda. Os números do " -"Python são, obviamente, fortemente relacionados aos números matemáticos, mas " +"Esses são criados por literais numéricos e retornados como resultados por " +"operadores aritméticos e funções aritméticas embutidas. Os objetos numéricos " +"são imutáveis; uma vez criado, seu valor nunca muda. Os números do Python " +"são, obviamente, fortemente relacionados aos números matemáticos, mas " "sujeitos às limitações da representação numérica em computadores." -#: ../../reference/datamodel.rst:190 +#: ../../reference/datamodel.rst:200 msgid "" -"The string representations of the numeric classes, computed by :meth:" -"`~object.__repr__` and :meth:`~object.__str__`, have the following " +"The string representations of the numeric classes, computed " +"by :meth:`~object.__repr__` and :meth:`~object.__str__`, have the following " "properties:" msgstr "" -"As representações de string das classes numéricas, calculadas por :meth:" -"`~object.__repr__` e :meth:`~object.__str__`, têm as seguintes propriedades:" +"As representações de string das classes numéricas, calculadas " +"por :meth:`~object.__repr__` e :meth:`~object.__str__`, têm as seguintes " +"propriedades:" -#: ../../reference/datamodel.rst:194 +#: ../../reference/datamodel.rst:204 msgid "" "They are valid numeric literals which, when passed to their class " "constructor, produce an object having the value of the original numeric." @@ -360,11 +346,11 @@ msgstr "" "Elas são literais numéricos válidos que, quando passados para seu construtor " "de classe, produzem um objeto com o valor do numérico original." -#: ../../reference/datamodel.rst:198 +#: ../../reference/datamodel.rst:208 msgid "The representation is in base 10, when possible." msgstr "A representação está na base 10, quando possível." -#: ../../reference/datamodel.rst:200 +#: ../../reference/datamodel.rst:210 msgid "" "Leading zeros, possibly excepting a single zero before a decimal point, are " "not shown." @@ -372,7 +358,7 @@ msgstr "" "Os zeros à esquerda, possivelmente com exceção de um único zero antes de um " "ponto decimal, não são mostrados." -#: ../../reference/datamodel.rst:203 +#: ../../reference/datamodel.rst:213 msgid "" "Trailing zeros, possibly excepting a single zero after a decimal point, are " "not shown." @@ -380,11 +366,11 @@ msgstr "" "Os zeros à direita, possivelmente com exceção de um único zero após um ponto " "decimal, não são mostrados." -#: ../../reference/datamodel.rst:206 +#: ../../reference/datamodel.rst:216 msgid "A sign is shown only when the number is negative." msgstr "Um sinal é mostrado apenas quando o número é negativo." -#: ../../reference/datamodel.rst:208 +#: ../../reference/datamodel.rst:218 msgid "" "Python distinguishes between integers, floating point numbers, and complex " "numbers:" @@ -392,11 +378,11 @@ msgstr "" "Python distingue entre inteiros, números de ponto flutuante e números " "complexos:" -#: ../../reference/datamodel.rst:241 +#: ../../reference/datamodel.rst:223 msgid ":class:`numbers.Integral`" msgstr ":class:`numbers.Integral`" -#: ../../reference/datamodel.rst:214 +#: ../../reference/datamodel.rst:227 msgid "" "These represent elements from the mathematical set of integers (positive and " "negative)." @@ -404,15 +390,25 @@ msgstr "" "Estes representam elementos do conjunto matemático de inteiros (positivos e " "negativos)." -#: ../../reference/datamodel.rst:217 +#: ../../reference/datamodel.rst:233 +msgid "" +"The rules for integer representation are intended to give the most " +"meaningful interpretation of shift and mask operations involving negative " +"integers." +msgstr "" +"As regras para representação de inteiros têm como objetivo fornecer a " +"interpretação mais significativa das operações de deslocamento e máscara " +"envolvendo inteiros negativos." + +#: ../../reference/datamodel.rst:236 msgid "There are two types of integers:" msgstr "Existem dois tipos de inteiros:" -#: ../../reference/datamodel.rst:224 +#: ../../reference/datamodel.rst:243 msgid "Integers (:class:`int`)" -msgstr "Integers (:class:`int`)" +msgstr "Inteiros (:class:`int`)" -#: ../../reference/datamodel.rst:220 +#: ../../reference/datamodel.rst:239 msgid "" "These represent numbers in an unlimited range, subject to available " "(virtual) memory only. For the purpose of shift and mask operations, a " @@ -420,17 +416,17 @@ msgid "" "variant of 2's complement which gives the illusion of an infinite string of " "sign bits extending to the left." msgstr "" -"Eles representam números em um intervalo ilimitado, sujeito apenas à memória " -"(virtual) disponível. Para o propósito de operações de deslocamento e " -"máscara, uma representação binária é assumida e os números negativos são " +"Estes representam números em um intervalo ilimitado, sujeito apenas à " +"memória (virtual) disponível. Para o propósito de operações de deslocamento " +"e máscara, uma representação binária é presumida e os números negativos são " "representados em uma variante do complemento de 2 que dá a ilusão de uma " "string infinita de bits de sinal estendendo-se para a esquerda." -#: ../../reference/datamodel.rst:236 +#: ../../reference/datamodel.rst:256 msgid "Booleans (:class:`bool`)" msgstr "Booleanos (:class:`bool`)" -#: ../../reference/datamodel.rst:232 +#: ../../reference/datamodel.rst:251 msgid "" "These represent the truth values False and True. The two objects " "representing the values ``False`` and ``True`` are the only Boolean objects. " @@ -447,21 +443,11 @@ msgstr "" "string, as strings ``\"False\"`` ou ``\"True\"`` são retornados, " "respectivamente." -#: ../../reference/datamodel.rst:240 -msgid "" -"The rules for integer representation are intended to give the most " -"meaningful interpretation of shift and mask operations involving negative " -"integers." -msgstr "" -"As regras para representação de inteiros têm como objetivo fornecer a " -"interpretação mais significativa das operações de deslocamento e máscara " -"envolvendo inteiros negativos." - -#: ../../reference/datamodel.rst:256 +#: ../../reference/datamodel.rst:259 msgid ":class:`numbers.Real` (:class:`float`)" msgstr ":class:`numbers.Real` (:class:`float`)" -#: ../../reference/datamodel.rst:250 +#: ../../reference/datamodel.rst:267 msgid "" "These represent machine-level double precision floating point numbers. You " "are at the mercy of the underlying machine architecture (and C or Java " @@ -471,7 +457,7 @@ msgid "" "dwarfed by the overhead of using objects in Python, so there is no reason to " "complicate the language with two kinds of floating point numbers." msgstr "" -"Eles representam números de ponto flutuante de precisão dupla no nível da " +"Estes representam números de ponto flutuante de precisão dupla no nível da " "máquina. Você está à mercê da arquitetura da máquina subjacente (e " "implementação C ou Java) para o intervalo aceito e tratamento de estouro. " "Python não oferece suporte a números de ponto flutuante de precisão única; a " @@ -480,53 +466,59 @@ msgstr "" "não há razão para complicar a linguagem com dois tipos de números de ponto " "flutuante." -#: ../../reference/datamodel.rst:266 +#: ../../reference/datamodel.rst:277 msgid ":class:`numbers.Complex` (:class:`complex`)" msgstr ":class:`numbers.Complex` (:class:`complex`)" -#: ../../reference/datamodel.rst:263 +#: ../../reference/datamodel.rst:283 msgid "" "These represent complex numbers as a pair of machine-level double precision " "floating point numbers. The same caveats apply as for floating point " "numbers. The real and imaginary parts of a complex number ``z`` can be " "retrieved through the read-only attributes ``z.real`` and ``z.imag``." msgstr "" -"Eles representam números complexos como um par de números de ponto flutuante " -"de precisão dupla no nível da máquina. As mesmas advertências se aplicam aos " -"números de ponto flutuante. As partes reais e imaginárias de um número " -"complexo ``z`` podem ser obtidas através dos atributos somente leitura ``z." -"real`` e ``z.imag``." +"Estes representam números complexos como um par de números de ponto " +"flutuante de precisão dupla no nível da máquina. As mesmas advertências se " +"aplicam aos números de ponto flutuante. As partes reais e imaginárias de um " +"número complexo ``z`` podem ser obtidas através dos atributos somente " +"leitura ``z.real`` e ``z.imag``." -#: ../../reference/datamodel.rst:383 +#: ../../reference/datamodel.rst:290 msgid "Sequences" msgstr "Sequências" -#: ../../reference/datamodel.rst:276 +#: ../../reference/datamodel.rst:299 msgid "" "These represent finite ordered sets indexed by non-negative numbers. The " "built-in function :func:`len` returns the number of items of a sequence. " "When the length of a sequence is *n*, the index set contains the numbers 0, " -"1, ..., *n*-1. Item *i* of sequence *a* is selected by ``a[i]``." +"1, ..., *n*-1. Item *i* of sequence *a* is selected by ``a[i]``. Some " +"sequences, including built-in sequences, interpret negative subscripts by " +"adding the sequence length. For example, ``a[-2]`` equals ``a[n-2]``, the " +"second to last item of sequence a with length ``n``." msgstr "" -"Eles representam conjuntos ordenados finitos indexados por números não " +"Estes representam conjuntos ordenados finitos indexados por números não " "negativos. A função embutida :func:`len` retorna o número de itens de uma " "sequência. Quando o comprimento de uma sequência é *n*, o conjunto de " "índices contém os números 0, 1, ..., *n*-1. O item *i* da sequência *a* é " -"selecionado por ``a[i]``." +"selecionado por ``a[i]``. Algumas sequências, incluindo sequências " +"embutidas, interpretam subscritos negativos adicionando o comprimento da " +"sequência. Por exemplo, ``a[-2]`` é igual a ``a[n-2]``, o penúltimo item da " +"sequência a com comprimento ``n``." -#: ../../reference/datamodel.rst:283 +#: ../../reference/datamodel.rst:309 msgid "" "Sequences also support slicing: ``a[i:j]`` selects all items with index *k* " "such that *i* ``<=`` *k* ``<`` *j*. When used as an expression, a slice is " -"a sequence of the same type. This implies that the index set is renumbered " -"so that it starts at 0." +"a sequence of the same type. The comment above about negative indexes also " +"applies to negative slice positions." msgstr "" -"Sequências também suportam fatiamento: ``a[i:j]`` seleciona todos os itens " -"com índice *k* de forma que *i* ``<=`` *k* ``<`` *j*. Quando usada como " -"expressão, uma fatia é uma sequência do mesmo tipo. Isso implica que o " -"conjunto de índices é renumerado para que comece em 0." +"Sequências também provê fatiamento: ``a[i:j]`` seleciona todos os itens com " +"índice *k* de forma que *i* ``<=`` *k* ``<`` *j*. Quando usada como " +"expressão, uma fatia é uma sequência do mesmo tipo. O comentário acima sobre " +"índices negativos também se aplica a posições de fatias negativas." -#: ../../reference/datamodel.rst:288 +#: ../../reference/datamodel.rst:314 msgid "" "Some sequences also support \"extended slicing\" with a third \"step\" " "parameter: ``a[i:j:k]`` selects all items of *a* with index *x* where ``x = " @@ -536,15 +528,15 @@ msgstr "" "parâmetro de \"etapa\": ``a[i:j:k]`` seleciona todos os itens de *a* com " "índice *x* onde ``x = i + n*k``, *n* ``>=`` ``0`` e *i* ``<=`` *x* ``<`` *j*." -#: ../../reference/datamodel.rst:292 +#: ../../reference/datamodel.rst:318 msgid "Sequences are distinguished according to their mutability:" msgstr "As sequências são distinguidas de acordo com sua mutabilidade:" -#: ../../reference/datamodel.rst:349 +#: ../../reference/datamodel.rst:322 msgid "Immutable sequences" msgstr "Sequências imutáveis" -#: ../../reference/datamodel.rst:299 +#: ../../reference/datamodel.rst:328 msgid "" "An object of an immutable sequence type cannot change once it is created. " "(If the object contains references to other objects, these other objects may " @@ -557,15 +549,15 @@ msgstr "" "objetos diretamente referenciada por um objeto imutável não pode ser " "alterada.)" -#: ../../reference/datamodel.rst:304 +#: ../../reference/datamodel.rst:333 msgid "The following types are immutable sequences:" msgstr "Os tipos a seguir são sequências imutáveis:" -#: ../../reference/datamodel.rst:327 +#: ../../reference/datamodel.rst:356 msgid "Strings" msgstr "Strings" -#: ../../reference/datamodel.rst:317 +#: ../../reference/datamodel.rst:346 msgid "" "A string is a sequence of values that represent Unicode code points. All the " "code points in the range ``U+0000 - U+10FFFF`` can be represented in a " @@ -574,9 +566,9 @@ msgid "" "The built-in function :func:`ord` converts a code point from its string form " "to an integer in the range ``0 - 10FFFF``; :func:`chr` converts an integer " "in the range ``0 - 10FFFF`` to the corresponding length ``1`` string " -"object. :meth:`str.encode` can be used to convert a :class:`str` to :class:" -"`bytes` using the given text encoding, and :meth:`bytes.decode` can be used " -"to achieve the opposite." +"object. :meth:`str.encode` can be used to convert a :class:`str` " +"to :class:`bytes` using the given text encoding, and :meth:`bytes.decode` " +"can be used to achieve the opposite." msgstr "" "Uma string é uma sequência de valores que representam pontos de código " "Unicode. Todos os pontos de código no intervalo ``U+0000 - U+10FFFF`` podem " @@ -590,11 +582,11 @@ msgstr "" "codificação de texto fornecida, e :meth:`bytes.decode` pode ser usado para " "conseguir o oposto." -#: ../../reference/datamodel.rst:340 +#: ../../reference/datamodel.rst:369 msgid "Tuples" msgstr "Tuplas" -#: ../../reference/datamodel.rst:335 +#: ../../reference/datamodel.rst:364 msgid "" "The items of a tuple are arbitrary Python objects. Tuples of two or more " "items are formed by comma-separated lists of expressions. A tuple of one " @@ -610,11 +602,11 @@ msgstr "" "parênteses devem ser usados para agrupamento de expressões). Uma tupla vazia " "pode ser formada por um par vazio de parênteses." -#: ../../reference/datamodel.rst:349 +#: ../../reference/datamodel.rst:379 msgid "Bytes" msgstr "Bytes" -#: ../../reference/datamodel.rst:345 +#: ../../reference/datamodel.rst:374 msgid "" "A bytes object is an immutable array. The items are 8-bit bytes, " "represented by integers in the range 0 <= x < 256. Bytes literals (like " @@ -628,68 +620,68 @@ msgstr "" "para criar objetos bytes. Além disso, os objetos bytes podem ser " "decodificados em strings através do método :meth:`~bytes.decode`." -#: ../../reference/datamodel.rst:383 +#: ../../reference/datamodel.rst:382 msgid "Mutable sequences" msgstr "Sequências mutáveis" -#: ../../reference/datamodel.rst:359 +#: ../../reference/datamodel.rst:391 msgid "" "Mutable sequences can be changed after they are created. The subscription " -"and slicing notations can be used as the target of assignment and :keyword:" -"`del` (delete) statements." +"and slicing notations can be used as the target of assignment " +"and :keyword:`del` (delete) statements." msgstr "" "As sequências mutáveis podem ser alteradas após serem criadas. As notações " -"de assinatura e fatiamento podem ser usadas como o destino da atribuição e " +"de subscrição e fatiamento podem ser usadas como o destino da atribuição e " "instruções :keyword:`del` (*delete*, exclusão)." -#: ../../reference/datamodel.rst:363 +#: ../../reference/datamodel.rst:399 +msgid "" +"The :mod:`collections` and :mod:`array` module provide additional examples " +"of mutable sequence types." +msgstr "" +"Os módulos :mod:`collections` e :mod:`array` fornecem exemplos adicionais de " +"tipos de sequência mutáveis." + +#: ../../reference/datamodel.rst:402 msgid "There are currently two intrinsic mutable sequence types:" msgstr "Atualmente, existem dois tipos de sequência mutável intrínseca:" -#: ../../reference/datamodel.rst:370 +#: ../../reference/datamodel.rst:409 msgid "Lists" msgstr "Listas" -#: ../../reference/datamodel.rst:368 +#: ../../reference/datamodel.rst:407 msgid "" "The items of a list are arbitrary Python objects. Lists are formed by " "placing a comma-separated list of expressions in square brackets. (Note that " "there are no special cases needed to form lists of length 0 or 1.)" msgstr "" "Os itens de uma lista são objetos Python arbitrários. As listas são formadas " -"colocando uma lista separada por vírgulas de expressões entre colchetes. " +"colocando uma lista de expressões separada por vírgulas entre colchetes. " "(Observe que não há casos especiais necessários para formar listas de " "comprimento 0 ou 1.)" -#: ../../reference/datamodel.rst:378 +#: ../../reference/datamodel.rst:418 msgid "Byte Arrays" msgstr "Vetores de bytes" -#: ../../reference/datamodel.rst:375 +#: ../../reference/datamodel.rst:414 msgid "" -"A bytearray object is a mutable array. They are created by the built-in :" -"func:`bytearray` constructor. Aside from being mutable (and hence " +"A bytearray object is a mutable array. They are created by the built-" +"in :func:`bytearray` constructor. Aside from being mutable (and hence " "unhashable), byte arrays otherwise provide the same interface and " "functionality as immutable :class:`bytes` objects." msgstr "" "Um objeto bytearray é um vetor mutável. Eles são criados pelo construtor " -"embutido :func:`bytearray`. Além de serem mutáveis (e, portanto, " -"inalteráveis), os vetores de bytes fornecem a mesma interface e " -"funcionalidade que os objetos imutáveis :class:`bytes`." - -#: ../../reference/datamodel.rst:382 -msgid "" -"The extension module :mod:`array` provides an additional example of a " -"mutable sequence type, as does the :mod:`collections` module." -msgstr "" -"O módulo de extensão :mod:`array` fornece um exemplo adicional de um tipo de " -"sequência mutável, assim como o módulo :mod:`collections`." +"embutido :func:`bytearray`. Além de serem mutáveis (e, portanto, não-" +"hasheável), os vetores de bytes fornecem a mesma interface e funcionalidade " +"que os objetos imutáveis :class:`bytes`." -#: ../../reference/datamodel.rst:417 +#: ../../reference/datamodel.rst:421 msgid "Set types" -msgstr "Tipos conjuntos" +msgstr "Tipos de conjuntos" -#: ../../reference/datamodel.rst:390 +#: ../../reference/datamodel.rst:427 msgid "" "These represent unordered, finite sets of unique, immutable objects. As " "such, they cannot be indexed by any subscript. However, they can be iterated " @@ -698,7 +690,7 @@ msgid "" "from a sequence, and computing mathematical operations such as intersection, " "union, difference, and symmetric difference." msgstr "" -"Eles representam conjuntos finitos e não ordenados de objetos únicos e " +"Estes representam conjuntos finitos e não ordenados de objetos únicos e " "imutáveis. Como tal, eles não podem ser indexados por nenhum subscrito. No " "entanto, eles podem ser iterados, e a função embutida :func:`len` retorna o " "número de itens em um conjunto. Os usos comuns para conjuntos são testes " @@ -706,7 +698,7 @@ msgstr "" "de operações matemáticas como interseção, união, diferença e diferença " "simétrica." -#: ../../reference/datamodel.rst:397 +#: ../../reference/datamodel.rst:434 msgid "" "For set elements, the same immutability rules apply as for dictionary keys. " "Note that numeric types obey the normal rules for numeric comparison: if two " @@ -718,44 +710,45 @@ msgstr "" "normais para comparação numérica: se dois números forem iguais (por exemplo, " "``1`` e ``1.0``), apenas um deles pode estar contido em um conjunto." -#: ../../reference/datamodel.rst:402 +#: ../../reference/datamodel.rst:439 msgid "There are currently two intrinsic set types:" msgstr "Atualmente, existem dois tipos de conjuntos intrínsecos:" -#: ../../reference/datamodel.rst:409 +#: ../../reference/datamodel.rst:448 msgid "Sets" msgstr "Conjuntos" -#: ../../reference/datamodel.rst:407 +#: ../../reference/datamodel.rst:445 msgid "" "These represent a mutable set. They are created by the built-in :func:`set` " -"constructor and can be modified afterwards by several methods, such as :meth:" -"`~set.add`." +"constructor and can be modified afterwards by several methods, such " +"as :meth:`~set.add`." msgstr "" -"Eles representam um conjunto mutável. Eles são criados pelo construtor " +"Estes representam um conjunto mutável. Eles são criados pelo construtor " "embutido :func:`set` e podem ser modificados posteriormente por vários " "métodos, como :meth:`~set.add`." -#: ../../reference/datamodel.rst:417 +#: ../../reference/datamodel.rst:457 msgid "Frozen sets" -msgstr "Frozen sets" +msgstr "Conjuntos congelados" -#: ../../reference/datamodel.rst:414 +#: ../../reference/datamodel.rst:453 msgid "" -"These represent an immutable set. They are created by the built-in :func:" -"`frozenset` constructor. As a frozenset is immutable and :term:`hashable`, " -"it can be used again as an element of another set, or as a dictionary key." +"These represent an immutable set. They are created by the built-" +"in :func:`frozenset` constructor. As a frozenset is immutable " +"and :term:`hashable`, it can be used again as an element of another set, or " +"as a dictionary key." msgstr "" -"Eles representam um conjunto imutável. Eles são criados pelo construtor " +"Estes representam um conjunto imutável. Eles são criados pelo construtor " "embutido :func:`frozenset`. Como um frozenset é imutável e :term:`hasheável " "`, ele pode ser usado novamente como um elemento de outro " "conjunto, ou como uma chave de dicionário." -#: ../../reference/datamodel.rst:464 +#: ../../reference/datamodel.rst:460 msgid "Mappings" msgstr "Mapeamentos" -#: ../../reference/datamodel.rst:425 +#: ../../reference/datamodel.rst:467 msgid "" "These represent finite sets of objects indexed by arbitrary index sets. The " "subscript notation ``a[k]`` selects the item indexed by ``k`` from the " @@ -769,15 +762,15 @@ msgstr "" "de atribuições ou instruções :keyword:`del`. A função embutida :func:`len` " "retorna o número de itens em um mapeamento." -#: ../../reference/datamodel.rst:431 +#: ../../reference/datamodel.rst:473 msgid "There is currently a single intrinsic mapping type:" msgstr "Atualmente, há um único tipo de mapeamento intrínseco:" -#: ../../reference/datamodel.rst:464 +#: ../../reference/datamodel.rst:477 msgid "Dictionaries" msgstr "Dicionários" -#: ../../reference/datamodel.rst:436 +#: ../../reference/datamodel.rst:481 msgid "" "These represent finite sets of objects indexed by nearly arbitrary values. " "The only types of values not acceptable as keys are values containing lists " @@ -798,7 +791,7 @@ msgstr "" "exemplo, ``1`` e ``1.0``), eles podem ser usados alternadamente para indexar " "a mesma entrada do dicionário." -#: ../../reference/datamodel.rst:445 +#: ../../reference/datamodel.rst:490 msgid "" "Dictionaries preserve insertion order, meaning that keys will be produced in " "the same order they were added sequentially over the dictionary. Replacing " @@ -811,7 +804,7 @@ msgstr "" "remover uma chave e inseri-la novamente irá adicioná-la ao final em vez de " "manter seu lugar anterior." -#: ../../reference/datamodel.rst:450 +#: ../../reference/datamodel.rst:495 msgid "" "Dictionaries are mutable; they can be created by the ``{...}`` notation (see " "section :ref:`dict`)." @@ -819,7 +812,7 @@ msgstr "" "Os dicionários são mutáveis; eles podem ser criados pela notação ``{...}`` " "(veja a seção :ref:`dict`)." -#: ../../reference/datamodel.rst:457 +#: ../../reference/datamodel.rst:502 msgid "" "The extension modules :mod:`dbm.ndbm` and :mod:`dbm.gnu` provide additional " "examples of mapping types, as does the :mod:`collections` module." @@ -827,7 +820,7 @@ msgstr "" "Os módulos de extensão :mod:`dbm.ndbm` e :mod:`dbm.gnu` fornecem exemplos " "adicionais de tipos de mapeamento, assim como o módulo :mod:`collections`." -#: ../../reference/datamodel.rst:461 +#: ../../reference/datamodel.rst:506 msgid "" "Dictionaries did not preserve insertion order in versions of Python before " "3.6. In CPython 3.6, insertion order was preserved, but it was considered an " @@ -836,25 +829,25 @@ msgstr "" "Dicionários não preservavam a ordem de inserção nas versões do Python " "anteriores à 3.6. No CPython 3.6, a ordem de inserção foi preservada, mas " "foi considerada um detalhe de implementação naquela época, em vez de uma " -"garantia de linguagem." +"garantia da linguagem." -#: ../../reference/datamodel.rst:726 +#: ../../reference/datamodel.rst:513 msgid "Callable types" msgstr "Tipos chamáveis" -#: ../../reference/datamodel.rst:473 +#: ../../reference/datamodel.rst:521 msgid "" -"These are the types to which the function call operation (see section :ref:" -"`calls`) can be applied:" +"These are the types to which the function call operation (see " +"section :ref:`calls`) can be applied:" msgstr "" -"Estes são os tipos aos quais a operação de chamada de função (veja a seção :" -"ref:`calls`) pode ser aplicada:" +"Estes são os tipos aos quais a operação de chamada de função (veja a " +"seção :ref:`calls`) pode ser aplicada:" -#: ../../reference/datamodel.rst:579 +#: ../../reference/datamodel.rst:528 msgid "User-defined functions" msgstr "Funções definidas pelo usuário" -#: ../../reference/datamodel.rst:482 +#: ../../reference/datamodel.rst:535 msgid "" "A user-defined function object is created by a function definition (see " "section :ref:`function`). It should be called with an argument list " @@ -865,196 +858,166 @@ msgstr "" "argumentos contendo o mesmo número de itens que a lista de parâmetros " "formais da função." -#: ../../reference/datamodel.rst:487 ../../reference/datamodel.rst:841 -msgid "Special attributes:" -msgstr "Atributos especiais:" +#: ../../reference/datamodel.rst:541 ../../reference/datamodel.rst:1117 +#: ../../reference/datamodel.rst:1308 +msgid "Special read-only attributes" +msgstr "Atributos especiais de somente leitura" -#: ../../reference/datamodel.rst:505 +#: ../../reference/datamodel.rst:551 ../../reference/datamodel.rst:584 msgid "Attribute" msgstr "Atributo" -#: ../../reference/datamodel.rst:505 +#: ../../reference/datamodel.rst:552 ../../reference/datamodel.rst:585 msgid "Meaning" msgstr "Significado" -#: ../../reference/datamodel.rst:507 ../../reference/datamodel.rst:762 -#: ../../reference/datamodel.rst:857 -msgid ":attr:`__doc__`" -msgstr ":attr:`__doc__`" +#: ../../reference/datamodel.rst:555 +msgid "" +"A reference to the :class:`dictionary ` that holds the " +"function's :ref:`global variables ` -- the global namespace of the " +"module in which the function was defined." +msgstr "" +"Uma referência ao :class:`dicionário ` que contém as :ref:`variáveis " +"globais ` da função -- o espaço de nomes global do módulo no qual a " +"função foi definida." -#: ../../reference/datamodel.rst:507 +#: ../../reference/datamodel.rst:560 msgid "" -"The function's documentation string, or ``None`` if unavailable; not " -"inherited by subclasses." +"``None`` or a :class:`tuple` of cells that contain bindings for the " +"function's free variables." msgstr "" -"A string de documentação da função, ou ``None`` se indisponível; não herdado " -"por subclasses." +"``None`` ou uma :class:`tuple` de células que contêm vinculações para as " +"variáveis livres da função." -#: ../../reference/datamodel.rst:507 ../../reference/datamodel.rst:512 -#: ../../reference/datamodel.rst:515 ../../reference/datamodel.rst:520 -#: ../../reference/datamodel.rst:524 ../../reference/datamodel.rst:530 -#: ../../reference/datamodel.rst:540 ../../reference/datamodel.rst:551 -#: ../../reference/datamodel.rst:561 -msgid "Writable" -msgstr "Gravável" +#: ../../reference/datamodel.rst:563 +msgid "" +"A cell object has the attribute ``cell_contents``. This can be used to get " +"the value of the cell, as well as set the value." +msgstr "" +"Um objeto de célula tem o atributo ``cell_contents``. Isso pode ser usado " +"para obter o valor da célula, bem como definir o valor." -#: ../../reference/datamodel.rst:512 -msgid ":attr:`~definition.\\ __name__`" -msgstr ":attr:`~definition.\\ __name__`" +#: ../../reference/datamodel.rst:567 ../../reference/datamodel.rst:1345 +msgid "Special writable attributes" +msgstr "Atributos especiais graváveis" -#: ../../reference/datamodel.rst:512 -msgid "The function's name." -msgstr "O nome da função." +#: ../../reference/datamodel.rst:579 +msgid "Most of these attributes check the type of the assigned value:" +msgstr "A maioria desses atributos verifica o tipo do valor atribuído:" -#: ../../reference/datamodel.rst:515 -msgid ":attr:`~definition.\\ __qualname__`" -msgstr ":attr:`~definition.\\ __qualname__`" +#: ../../reference/datamodel.rst:588 +msgid "" +"The function's documentation string, or ``None`` if unavailable. Not " +"inherited by subclasses." +msgstr "" +"A string de documentação da função, ou ``None`` se não estiver disponível. " +"Não herdado por subclasses." -#: ../../reference/datamodel.rst:515 -msgid "The function's :term:`qualified name`." -msgstr "O :term:`nome qualificado ` da função." +#: ../../reference/datamodel.rst:592 +msgid "" +"The function's name. See also: :attr:`__name__ attributes " +"`." +msgstr "" +"O nome da função. Veja também: :attr:`atributos __name__ " +"`." -#: ../../reference/datamodel.rst:520 ../../reference/datamodel.rst:847 -msgid ":attr:`__module__`" -msgstr ":attr:`__module__`" +#: ../../reference/datamodel.rst:596 +msgid "" +"The function's :term:`qualified name`. See also: :attr:`__qualname__ " +"attributes `." +msgstr "" +"O :term:`nome qualificado` da função. Veja também: :attr:`atributos " +"__qualname__ `." -#: ../../reference/datamodel.rst:520 +#: ../../reference/datamodel.rst:602 msgid "" "The name of the module the function was defined in, or ``None`` if " "unavailable." msgstr "" "O nome do módulo em que a função foi definida ou ``None`` se indisponível." -#: ../../reference/datamodel.rst:524 -msgid ":attr:`__defaults__`" -msgstr ":attr:`__defaults__`" - -#: ../../reference/datamodel.rst:524 +#: ../../reference/datamodel.rst:606 msgid "" -"A tuple containing default argument values for those arguments that have " -"defaults, or ``None`` if no arguments have a default value." +"A :class:`tuple` containing default :term:`parameter` values for those " +"parameters that have defaults, or ``None`` if no parameters have a default " +"value." msgstr "" -"Uma tupla contendo valores de argumento padrão para aqueles argumentos que " -"possuem padrões, ou ``None`` se nenhum argumento tiver um valor padrão." - -#: ../../reference/datamodel.rst:530 -msgid ":attr:`__code__`" -msgstr ":attr:`__code__`" - -#: ../../reference/datamodel.rst:530 -msgid "The code object representing the compiled function body." -msgstr "O objeto código que representa o corpo da função compilada." - -#: ../../reference/datamodel.rst:533 -msgid ":attr:`__globals__`" -msgstr ":attr:`__globals__`" +"Uma :class:`tuple` contendo valores de :term:`parâmetro` padrão para aqueles " +"parâmetros que possuem padrões, ou ``None`` se nenhum parâmetro tiver um " +"valor padrão." -#: ../../reference/datamodel.rst:533 +#: ../../reference/datamodel.rst:611 msgid "" -"A reference to the dictionary that holds the function's global variables --- " -"the global namespace of the module in which the function was defined." -msgstr "" -"Uma referência ao dicionário que contém as variáveis globais da função --- o " -"espaço de nomes global do módulo no qual a função foi definida." - -#: ../../reference/datamodel.rst:533 ../../reference/datamodel.rst:544 -msgid "Read-only" -msgstr "Somente Leitura" - -#: ../../reference/datamodel.rst:540 ../../reference/datamodel.rst:850 -msgid ":attr:`~object.__dict__`" -msgstr ":attr:`~object.__dict__`" - -#: ../../reference/datamodel.rst:540 -msgid "The namespace supporting arbitrary function attributes." +"The :ref:`code object ` representing the compiled function " +"body." msgstr "" -"O espaço de nomes que oferece suporte a atributos de função arbitrários." +"O :ref:`objeto código ` que representa o corpo da função " +"compilada." -#: ../../reference/datamodel.rst:544 -msgid ":attr:`__closure__`" -msgstr ":attr:`__closure__`" - -#: ../../reference/datamodel.rst:544 +#: ../../reference/datamodel.rst:615 msgid "" -"``None`` or a tuple of cells that contain bindings for the function's free " -"variables. See below for information on the ``cell_contents`` attribute." +"The namespace supporting arbitrary function attributes. See " +"also: :attr:`__dict__ attributes `." msgstr "" -"``None`` ou uma tupla de células que contêm ligações para as variáveis " -"livres da função. Veja abaixo as informações sobre o atributo " -"``cell_contents``." - -#: ../../reference/datamodel.rst:551 ../../reference/datamodel.rst:777 -#: ../../reference/datamodel.rst:864 -msgid ":attr:`__annotations__`" -msgstr ":attr:`__annotations__`" +"O espaço de nomes que provê atributos de função arbitrários. Veja " +"também: :attr:`atributos __dict__ `." -#: ../../reference/datamodel.rst:551 +#: ../../reference/datamodel.rst:619 msgid "" -"A dict containing annotations of parameters. The keys of the dict are the " -"parameter names, and ``'return'`` for the return annotation, if provided. " -"For more information on working with this attribute, see :ref:`annotations-" -"howto`." +"A :class:`dictionary ` containing annotations of :term:`parameters " +"`. The keys of the dictionary are the parameter names, and " +"``'return'`` for the return annotation, if provided. See " +"also: :ref:`annotations-howto`." msgstr "" -"Um dicionário contendo anotação de parâmetros. As chaves do dicionário são " -"nomes de parâmetros, e ``'return'`` para retornar a anotação, se fornecido. " -"Para mais informação sobre como trabalhar com esse atributo, veja :ref:" -"`annotations-howto`." +"Um :class:`dicionário ` contendo anotações de :term:`parâmetros " +"`. As chaves do dicionário são os nomes dos parâmetros e " +"``'return'`` para a anotação de retorno, se fornecida. Veja " +"também: :ref:`annotations-howto`." -#: ../../reference/datamodel.rst:561 -msgid ":attr:`__kwdefaults__`" -msgstr ":attr:`__kwdefaults__`" - -#: ../../reference/datamodel.rst:561 -msgid "A dict containing defaults for keyword-only parameters." -msgstr "Um dicionário contendo padrões para parâmetros somente-nomeados." - -#: ../../reference/datamodel.rst:565 +#: ../../reference/datamodel.rst:626 msgid "" -"Most of the attributes labelled \"Writable\" check the type of the assigned " -"value." +"A :class:`dictionary ` containing defaults for keyword-" +"only :term:`parameters `." msgstr "" -"A maioria dos atributos rotulados como \"Gravável\" verifica o tipo do valor " -"atribuído." +"Um :class:`dicionário ` contendo padrões apenas para :term:`parâmetros " +"` somente-nomeados." -#: ../../reference/datamodel.rst:567 +#: ../../reference/datamodel.rst:629 msgid "" "Function objects also support getting and setting arbitrary attributes, " "which can be used, for example, to attach metadata to functions. Regular " -"attribute dot-notation is used to get and set such attributes. *Note that " -"the current implementation only supports function attributes on user-defined " -"functions. Function attributes on built-in functions may be supported in the " -"future.*" +"attribute dot-notation is used to get and set such attributes." msgstr "" -"Os objetos função também suportam a obtenção e configuração de atributos " +"Os objetos de função também dão suporte à obtenção e definição de atributos " "arbitrários, que podem ser usados, por exemplo, para anexar metadados a " "funções. A notação de ponto de atributo regular é usada para obter e definir " -"esses atributos. *Observe que a implementação atual só oferece suporte a " -"atributos de função em funções definidas pelo usuário. Atributos de função " -"embutidas podem ser suportados no futuro.*" +"tais atributos." -#: ../../reference/datamodel.rst:573 +#: ../../reference/datamodel.rst:635 msgid "" -"A cell object has the attribute ``cell_contents``. This can be used to get " -"the value of the cell, as well as set the value." +"CPython's current implementation only supports function attributes on user-" +"defined functions. Function attributes on :ref:`built-in functions ` may be supported in the future." msgstr "" -"Um objeto de célula tem o atributo ``cell_contents``. Isso pode ser usado " -"para obter o valor da célula, bem como definir o valor." +"A implementação atual do CPython provê apenas atributos de função em funções " +"definidas pelo usuário. Atributos de função em :ref:`funções embutido " +"` podem ser suportados no futuro." -#: ../../reference/datamodel.rst:576 +#: ../../reference/datamodel.rst:640 msgid "" "Additional information about a function's definition can be retrieved from " -"its code object; see the description of internal types below. The :data:" -"`cell ` type can be accessed in the :mod:`types` module." +"its :ref:`code object ` (accessible via " +"the :attr:`~function.__code__` attribute)." msgstr "" -"Informações adicionais sobre a definição de uma função podem ser recuperadas " -"de seu objeto de código; veja a descrição dos tipos internos abaixo. O tipo :" -"data:`cell ` pode ser acessado no módulo :mod:`types`." +"Informações adicionais sobre a definição de uma função podem ser obtidas de " +"seu :ref:`objeto código ` (acessível através do " +"atributo :attr:`~function.__code__`)." -#: ../../reference/datamodel.rst:642 +#: ../../reference/datamodel.rst:648 msgid "Instance methods" msgstr "Métodos de instância" -#: ../../reference/datamodel.rst:587 +#: ../../reference/datamodel.rst:655 msgid "" "An instance method object combines a class, a class instance and any " "callable object (normally a user-defined function)." @@ -1062,162 +1025,198 @@ msgstr "" "Um objeto método de instância combina uma classe, uma instância de classe e " "qualquer objeto chamável (normalmente uma função definida pelo usuário)." -#: ../../reference/datamodel.rst:597 +#: ../../reference/datamodel.rst:665 ../../reference/datamodel.rst:1436 +msgid "Special read-only attributes:" +msgstr "Atributos especiais de somente leitura:" + +#: ../../reference/datamodel.rst:670 msgid "" -"Special read-only attributes: :attr:`__self__` is the class instance " -"object, :attr:`__func__` is the function object; :attr:`__doc__` is the " -"method's documentation (same as ``__func__.__doc__``); :attr:`~definition." -"__name__` is the method name (same as ``__func__.__name__``); :attr:" -"`__module__` is the name of the module the method was defined in, or " -"``None`` if unavailable." +"Refers to the class instance object to which the method is :ref:`bound " +"`" msgstr "" -"Atributos especiais somente leitura: :attr:`__self__` é o objeto de " -"instância da classe, :attr:`__func__` é o objeto função; :attr:`__doc__` é a " -"documentação do método (mesmo que ``__func__.__doc__``); :attr:`~definition." -"__ name__` é o nome do método (mesmo que ``__func__.__name__``); :attr:" -"`__module__` é o nome do módulo no qual o método foi definido, ou ``None`` " -"se indisponível." +"Refere-se ao objeto instância da classe ao qual o método é :ref:`vinculado " +"`" + +#: ../../reference/datamodel.rst:674 +msgid "Refers to the original :ref:`function object `" +msgstr "Refere-se ao :ref:`objeto função ` original" -#: ../../reference/datamodel.rst:603 +#: ../../reference/datamodel.rst:677 msgid "" -"Methods also support accessing (but not setting) the arbitrary function " -"attributes on the underlying function object." +"The method's documentation (same as :attr:`method.__func__.__doc__ " +"`). A :class:`string ` if the original function had a " +"docstring, else ``None``." msgstr "" -"Os métodos também suportam o acesso (mas não a configuração) dos atributos " -"arbitrários da função no objeto função subjacente." +"A documentação do método (igual a :attr:`method.__func__.__doc__ " +"`). Um :class:`string ` se a função original tivesse " +"uma docstring, caso contrário ``None``." -#: ../../reference/datamodel.rst:606 +#: ../../reference/datamodel.rst:683 msgid "" -"User-defined method objects may be created when getting an attribute of a " -"class (perhaps via an instance of that class), if that attribute is a user-" -"defined function object or a class method object." +"The name of the method (same as :attr:`method.__func__.__name__ " +"`)" +msgstr "" +"O nome do método (mesmo que :attr:`method.__func__.__name__ " +"`)" + +#: ../../reference/datamodel.rst:687 +msgid "" +"The name of the module the method was defined in, or ``None`` if unavailable." msgstr "" -"Os objetos método definidos pelo usuário podem ser criados ao se obter um " -"atributo de uma classe (talvez por meio de uma instância dessa classe), se " -"esse atributo for um objeto função definido pelo usuário ou um objeto método " -"de classe." +"O nome do módulo em que o método foi definido ou ``None`` se indisponível." -#: ../../reference/datamodel.rst:610 +#: ../../reference/datamodel.rst:690 msgid "" -"When an instance method object is created by retrieving a user-defined " -"function object from a class via one of its instances, its :attr:`__self__` " -"attribute is the instance, and the method object is said to be bound. The " -"new method's :attr:`__func__` attribute is the original function object." +"Methods also support accessing (but not setting) the arbitrary function " +"attributes on the underlying :ref:`function object `." msgstr "" -"Quando um objeto método de instância é criado recuperando um objeto função " -"definido pelo usuário de uma classe por meio de uma de suas instâncias, seu " -"atributo :attr:`__self__` é a instância, e o objeto método é considerado " -"vinculado. O atributo :attr:`__func__` do novo método é o objeto da função " +"Os métodos também implementam o acesso (mas não a configuração) dos " +"atributos arbitrários da função no :ref:`objeto função ` " +"subjacente." + +#: ../../reference/datamodel.rst:693 +msgid "" +"User-defined method objects may be created when getting an attribute of a " +"class (perhaps via an instance of that class), if that attribute is a user-" +"defined :ref:`function object ` or " +"a :class:`classmethod` object." +msgstr "" +"Objetos método definidos pelo usuário podem ser criados ao obter um atributo " +"de uma classe (talvez através de uma instância dessa classe), se esse " +"atributo for um :ref:`objeto função ` definido pelo " +"usuário ou um objeto :class:`classmethod` ." + +#: ../../reference/datamodel.rst:700 +msgid "" +"When an instance method object is created by retrieving a user-" +"defined :ref:`function object ` from a class via one of " +"its instances, its :attr:`~method.__self__` attribute is the instance, and " +"the method object is said to be *bound*. The new " +"method's :attr:`~method.__func__` attribute is the original function object." +msgstr "" +"Quando um objeto método de instância é criado recuperando um :ref:`objeto " +"função ` definido pelo usuário de uma classe por meio de " +"uma de suas instâncias, seu atributo :attr:`~method.__self__` é a instância, " +"e o objeto método é considerado *vinculado*. O " +"atributo :attr:`~method.__func__` do novo método é o objeto da função " "original." -#: ../../reference/datamodel.rst:616 -msgid "" -"When an instance method object is created by retrieving a class method " -"object from a class or instance, its :attr:`__self__` attribute is the class " -"itself, and its :attr:`__func__` attribute is the function object underlying " -"the class method." -msgstr "" -"Quando um objeto método de instância é criado recuperando um objeto método " -"de classe de uma classe ou instância, seu atributo :attr:`__self__` é a " -"própria classe, e seu atributo :attr:`__func__` é o objeto função subjacente " -"ao método de classe." - -#: ../../reference/datamodel.rst:621 -msgid "" -"When an instance method object is called, the underlying function (:attr:" -"`__func__`) is called, inserting the class instance (:attr:`__self__`) in " -"front of the argument list. For instance, when :class:`C` is a class which " -"contains a definition for a function :meth:`f`, and ``x`` is an instance of :" -"class:`C`, calling ``x.f(1)`` is equivalent to calling ``C.f(x, 1)``." -msgstr "" -"Quando um objeto método de instância é chamado, a função subjacente (:attr:" -"`__func__`) é chamada, inserindo a instância de classe (:attr:`__self__`) na " -"frente da lista de argumentos. Por exemplo, quando :class:`C` é uma classe " -"que contém uma definição para uma função :meth:`f`, e ``x`` é uma instância " -"de :class:`C`, chamando ``x.f(1)`` é equivalente a chamar ``C.f(x, 1)``." - -#: ../../reference/datamodel.rst:628 -msgid "" -"When an instance method object is derived from a class method object, the " -"\"class instance\" stored in :attr:`__self__` will actually be the class " -"itself, so that calling either ``x.f(1)`` or ``C.f(1)`` is equivalent to " -"calling ``f(C,1)`` where ``f`` is the underlying function." -msgstr "" -"Quando um objeto método de instância é derivado de um objeto método de " -"classe, a \"instância de classe\" armazenada em :attr:`__self__` será na " -"verdade a própria classe, de modo que chamar ``x.f(1)`` ou ``C.f(1)`` é " -"equivalente a chamar ``f(C,1)`` sendo ``f`` a função subjacente." - -#: ../../reference/datamodel.rst:633 -msgid "" -"Note that the transformation from function object to instance method object " -"happens each time the attribute is retrieved from the instance. In some " -"cases, a fruitful optimization is to assign the attribute to a local " -"variable and call that local variable. Also notice that this transformation " -"only happens for user-defined functions; other callable objects (and all non-" -"callable objects) are retrieved without transformation. It is also " -"important to note that user-defined functions which are attributes of a " -"class instance are not converted to bound methods; this *only* happens when " -"the function is an attribute of the class." -msgstr "" -"Observe que a transformação de objeto função em objeto método de instância " -"ocorre sempre que o atributo é recuperado da instância. Em alguns casos, uma " -"otimização frutífera é atribuir o atributo a uma variável local e chamar " -"essa variável local. Observe também que essa transformação ocorre apenas " -"para funções definidas pelo usuário; outros objetos chamáveis (e todos os " -"objetos não chamáveis) são recuperados sem transformação. Também é " -"importante observar que as funções definidas pelo usuário que são atributos " -"de uma instância de classe não são convertidas em métodos vinculados; isso " -"*apenas* acontece quando a função é um atributo da classe." - -#: ../../reference/datamodel.rst:657 +#: ../../reference/datamodel.rst:706 +msgid "" +"When an instance method object is created by retrieving " +"a :class:`classmethod` object from a class or instance, " +"its :attr:`~method.__self__` attribute is the class itself, and " +"its :attr:`~method.__func__` attribute is the function object underlying the " +"class method." +msgstr "" +"Quando um objeto método de instância é criado obtendo um " +"objeto :class:`classmethod` de uma classe ou instância, seu " +"atributo :attr:`~method.__self__` é a própria classe, e seu " +"atributo :attr:`~method.__func__` é o objeto função subjacente ao método de " +"classe." + +#: ../../reference/datamodel.rst:711 +msgid "" +"When an instance method object is called, the underlying function " +"(:attr:`~method.__func__`) is called, inserting the class instance " +"(:attr:`~method.__self__`) in front of the argument list. For instance, " +"when :class:`!C` is a class which contains a definition for a " +"function :meth:`!f`, and ``x`` is an instance of :class:`!C`, calling " +"``x.f(1)`` is equivalent to calling ``C.f(x, 1)``." +msgstr "" +"Quando um objeto método de instância é chamado, a função subjacente " +"(:attr:`~method.__func__`) é chamada, inserindo a instância de classe " +"(:attr:`~method.__self__`) na frente da lista de argumentos. Por exemplo, " +"quando :class:`!C` é uma classe que contém uma definição para uma " +"função :meth:`!f`, e ``x`` é uma instância de :class:`!C`, chamando " +"``x.f(1)`` é equivalente a chamar ``C.f(x, 1)``." + +#: ../../reference/datamodel.rst:718 +msgid "" +"When an instance method object is derived from a :class:`classmethod` " +"object, the \"class instance\" stored in :attr:`~method.__self__` will " +"actually be the class itself, so that calling either ``x.f(1)`` or " +"``C.f(1)`` is equivalent to calling ``f(C,1)`` where ``f`` is the underlying " +"function." +msgstr "" +"Quando um objeto método de instância é derivado de um " +"objeto :class:`classmethod`, a \"instância de classe\" armazenada " +"em :attr:`~method.__self__` será, na verdade, a própria classe, de modo que " +"chamar ``x.f(1)`` ou ``C.f(1)`` é equivalente a chamar ``f(C,1)`` sendo " +"``f`` a função subjacente." + +#: ../../reference/datamodel.rst:723 +msgid "" +"Note that the transformation from :ref:`function object ` to instance method object happens each time the attribute is " +"retrieved from the instance. In some cases, a fruitful optimization is to " +"assign the attribute to a local variable and call that local variable. Also " +"notice that this transformation only happens for user-defined functions; " +"other callable objects (and all non-callable objects) are retrieved without " +"transformation. It is also important to note that user-defined functions " +"which are attributes of a class instance are not converted to bound methods; " +"this *only* happens when the function is an attribute of the class." +msgstr "" +"Observe que a transformação de :ref:`objeto função ` em " +"objeto método de instância ocorre sempre que o atributo é recuperado da " +"instância. Em alguns casos, uma otimização frutífera é atribuir o atributo a " +"uma variável local e chamar essa variável local. Observe também que essa " +"transformação ocorre apenas para funções definidas pelo usuário; outros " +"objetos chamáveis (e todos os objetos não chamáveis) são recuperados sem " +"transformação. Também é importante observar que as funções definidas pelo " +"usuário que são atributos de uma instância de classe não são convertidas em " +"métodos vinculados; isso *apenas* acontece quando a função é um atributo da " +"classe." + +#: ../../reference/datamodel.rst:737 msgid "Generator functions" msgstr "Funções geradoras" -#: ../../reference/datamodel.rst:649 -msgid "" -"A function or method which uses the :keyword:`yield` statement (see section :" -"ref:`yield`) is called a :dfn:`generator function`. Such a function, when " -"called, always returns an :term:`iterator` object which can be used to " -"execute the body of the function: calling the iterator's :meth:`iterator." -"__next__` method will cause the function to execute until it provides a " -"value using the :keyword:`!yield` statement. When the function executes a :" -"keyword:`return` statement or falls off the end, a :exc:`StopIteration` " -"exception is raised and the iterator will have reached the end of the set of " -"values to be returned." -msgstr "" -"Uma função ou método que usa a instrução :keyword:`yield` (veja a seção :ref:" -"`yield`) é chamada de :dfn:`função geradora`. Tal função, quando chamada, " -"sempre retorna um objeto :term:`iterator` que pode ser usado para executar " -"o corpo da função: chamar o método :meth:`iterator.__next__` do iterador " -"fará com que a função seja executada até que forneça um valor usando a " -"instrução :keyword:`!yield`. Quando a função executa uma instrução :keyword:" -"`return` ou sai do fim, uma exceção :exc:`StopIteration` é levantada e o " -"iterador terá alcançado o fim do conjunto de valores a serem retornados." - -#: ../../reference/datamodel.rst:667 +#: ../../reference/datamodel.rst:743 +msgid "" +"A function or method which uses the :keyword:`yield` statement (see " +"section :ref:`yield`) is called a :dfn:`generator function`. Such a " +"function, when called, always returns an :term:`iterator` object which can " +"be used to execute the body of the function: calling the " +"iterator's :meth:`iterator.__next__` method will cause the function to " +"execute until it provides a value using the :keyword:`!yield` statement. " +"When the function executes a :keyword:`return` statement or falls off the " +"end, a :exc:`StopIteration` exception is raised and the iterator will have " +"reached the end of the set of values to be returned." +msgstr "" +"Uma função ou método que usa a instrução :keyword:`yield` (veja a " +"seção :ref:`yield`) é chamada de :dfn:`função geradora`. Tal função, quando " +"chamada, sempre retorna um objeto :term:`iterator` que pode ser usado para " +"executar o corpo da função: chamar o método :meth:`iterator.__next__` do " +"iterador fará com que a função seja executada até que forneça um valor " +"usando a instrução :keyword:`!yield`. Quando a função executa uma " +"instrução :keyword:`return` ou sai do fim, uma exceção :exc:`StopIteration` " +"é levantada e o iterador terá alcançado o fim do conjunto de valores a serem " +"retornados." + +#: ../../reference/datamodel.rst:755 msgid "Coroutine functions" msgstr "Funções de corrotina" -#: ../../reference/datamodel.rst:663 +#: ../../reference/datamodel.rst:760 msgid "" "A function or method which is defined using :keyword:`async def` is called " -"a :dfn:`coroutine function`. Such a function, when called, returns a :term:" -"`coroutine` object. It may contain :keyword:`await` expressions, as well " -"as :keyword:`async with` and :keyword:`async for` statements. See also the :" -"ref:`coroutine-objects` section." +"a :dfn:`coroutine function`. Such a function, when called, returns " +"a :term:`coroutine` object. It may contain :keyword:`await` expressions, as " +"well as :keyword:`async with` and :keyword:`async for` statements. See also " +"the :ref:`coroutine-objects` section." msgstr "" "Uma função ou um método que é definida(o) usando :keyword:`async def` é " "chamado de :dfn:`função de corrotina`. Tal função, quando chamada, retorna " -"um objeto de :term:`corrotina `. Ele pode conter expressões :" -"keyword:`await`, bem como instruções :keyword:`async with` e :keyword:`async " -"for`. Veja também a seção :ref:`coroutine-objects`." +"um objeto de :term:`corrotina`. Ele pode conter expressões :keyword:`await`, " +"bem como instruções :keyword:`async with` e :keyword:`async for`. Veja " +"também a seção :ref:`coroutine-objects`." -#: ../../reference/datamodel.rst:687 +#: ../../reference/datamodel.rst:768 msgid "Asynchronous generator functions" msgstr "Funções geradoras assíncronas" -#: ../../reference/datamodel.rst:674 +#: ../../reference/datamodel.rst:774 msgid "" "A function or method which is defined using :keyword:`async def` and which " "uses the :keyword:`yield` statement is called a :dfn:`asynchronous generator " @@ -1227,111 +1226,133 @@ msgid "" msgstr "" "Uma função ou um método que é definida(o) usando :keyword:`async def` e que " "usa a instrução :keyword:`yield` é chamada de :dfn:`função geradora " -"assíncrona`. Tal função, quando chamada, retorna um objeto :term:" -"`asynchronous iterator` que pode ser usado em uma instrução :keyword:`async " -"for` para executar o corpo da função." +"assíncrona`. Tal função, quando chamada, retorna um objeto :term:`iterador " +"assíncrono` que pode ser usado em uma instrução :keyword:`async for` para " +"executar o corpo da função." -#: ../../reference/datamodel.rst:680 +#: ../../reference/datamodel.rst:780 msgid "" -"Calling the asynchronous iterator's :meth:`aiterator.__anext__ ` method will return an :term:`awaitable` which when awaited will " -"execute until it provides a value using the :keyword:`yield` expression. " -"When the function executes an empty :keyword:`return` statement or falls off " -"the end, a :exc:`StopAsyncIteration` exception is raised and the " -"asynchronous iterator will have reached the end of the set of values to be " -"yielded." +"Calling the asynchronous iterator's :meth:`aiterator.__anext__ " +"` method will return an :term:`awaitable` which when " +"awaited will execute until it provides a value using the :keyword:`yield` " +"expression. When the function executes an empty :keyword:`return` statement " +"or falls off the end, a :exc:`StopAsyncIteration` exception is raised and " +"the asynchronous iterator will have reached the end of the set of values to " +"be yielded." msgstr "" "Chamar o método :meth:`aiterator.__anext__ ` do iterador " -"assíncrono retornará um :term:`aguardável ` que, quando " -"aguardado, será executado até fornecer um valor usando a expressão :keyword:" -"`yield`. Quando a função executa uma instrução vazia :keyword:`return` ou " -"cai no final, uma exceção :exc:`StopAsyncIteration` é levantada e o iterador " -"assíncrono terá alcançado o final do conjunto de valores a serem produzidos." +"assíncrono retornará um :term:`aguardável` que, quando aguardado, será " +"executado até fornecer um valor usando a expressão :keyword:`yield`. Quando " +"a função executa uma instrução vazia :keyword:`return` ou chega ao final, " +"uma exceção :exc:`StopAsyncIteration` é levantada e o iterador assíncrono " +"terá alcançado o final do conjunto de valores a serem produzidos." -#: ../../reference/datamodel.rst:702 +#: ../../reference/datamodel.rst:793 msgid "Built-in functions" msgstr "Funções embutidas" -#: ../../reference/datamodel.rst:695 +#: ../../reference/datamodel.rst:800 msgid "" "A built-in function object is a wrapper around a C function. Examples of " "built-in functions are :func:`len` and :func:`math.sin` (:mod:`math` is a " "standard built-in module). The number and type of the arguments are " -"determined by the C function. Special read-only attributes: :attr:`__doc__` " -"is the function's documentation string, or ``None`` if unavailable; :attr:" -"`~definition.__name__` is the function's name; :attr:`__self__` is set to " -"``None`` (but see the next item); :attr:`__module__` is the name of the " -"module the function was defined in or ``None`` if unavailable." +"determined by the C function. Special read-only attributes:" msgstr "" "Um objeto função embutida é um wrapper em torno de uma função C. Exemplos de " "funções embutidas são :func:`len` e :func:`math.sin` (:mod:`math` é um " "módulo embutido padrão). O número e o tipo dos argumentos são determinados " -"pela função C. Atributos especiais de somente leitura: :attr:`__doc__` é a " -"string de documentação da função, ou ``None`` se indisponível; :attr:" -"`~definition.__name__` é o nome da função; :attr:`__self__` é definido como " -"``None`` (mas veja o próximo item); :attr:`__module__` é o nome do módulo no " -"qual a função foi definida ou ``None`` se indisponível." +"pela função C. Atributos especiais de somente leitura:" + +#: ../../reference/datamodel.rst:805 +msgid "" +":attr:`!__doc__` is the function's documentation string, or ``None`` if " +"unavailable. See :attr:`function.__doc__`." +msgstr "" +":attr:`!__doc__` é a string de documentação da função, ou ``None`` se não " +"estiver disponível. Veja :attr:`function.__doc__`." + +#: ../../reference/datamodel.rst:807 +msgid "" +":attr:`!__name__` is the function's name. See :attr:`function.__name__`." +msgstr ":attr:`!__name__` é o nome da função. Veja :attr:`function.__name__`." + +#: ../../reference/datamodel.rst:808 +msgid ":attr:`!__self__` is set to ``None`` (but see the next item)." +msgstr ":attr:`!__self__` é definido para ``None`` (mas veja o próximo item)." -#: ../../reference/datamodel.rst:714 +#: ../../reference/datamodel.rst:809 +msgid "" +":attr:`!__module__` is the name of the module the function was defined in or " +"``None`` if unavailable. See :attr:`function.__module__`." +msgstr "" +":attr:`!__module__` é o nome do módulo no qual a função foi definida ou " +"``None`` se não estiver disponível. Veja :attr:`function.__module__`." + +#: ../../reference/datamodel.rst:817 msgid "Built-in methods" msgstr "Métodos embutidos" -#: ../../reference/datamodel.rst:710 +#: ../../reference/datamodel.rst:824 msgid "" "This is really a different disguise of a built-in function, this time " "containing an object passed to the C function as an implicit extra " "argument. An example of a built-in method is ``alist.append()``, assuming " -"*alist* is a list object. In this case, the special read-only attribute :" -"attr:`__self__` is set to the object denoted by *alist*." +"*alist* is a list object. In this case, the special read-only " +"attribute :attr:`!__self__` is set to the object denoted by *alist*. (The " +"attribute has the same semantics as it does with :attr:`other instance " +"methods `.)" msgstr "" "Este é realmente um disfarce diferente de uma função embutida, desta vez " "contendo um objeto passado para a função C como um argumento extra " "implícito. Um exemplo de método embutido é ``alist.append()``, presumindo " "que *alist* é um objeto de lista. Nesse caso, o atributo especial de somente " -"leitura :attr:`__self__` é definido como o objeto denotado por *alist*." +"leitura :attr:`!__self__` é definido como o objeto denotado por *alist*. (O " +"atributo tem a mesma semântica de :attr:`outros métodos de instância " +"`.)" -#: ../../reference/datamodel.rst:721 +#: ../../reference/datamodel.rst:833 msgid "Classes" msgstr "Classes" -#: ../../reference/datamodel.rst:717 +#: ../../reference/datamodel.rst:835 msgid "" "Classes are callable. These objects normally act as factories for new " "instances of themselves, but variations are possible for class types that " -"override :meth:`~object.__new__`. The arguments of the call are passed to :" -"meth:`__new__` and, in the typical case, to :meth:`~object.__init__` to " +"override :meth:`~object.__new__`. The arguments of the call are passed " +"to :meth:`!__new__` and, in the typical case, to :meth:`~object.__init__` to " "initialize the new instance." msgstr "" "Classes são chamáveis. Esses objetos normalmente agem como fábricas para " "novas instâncias de si mesmos, mas variações são possíveis para tipos de " "classe que substituem :meth:`~object.__new__`. Os argumentos da chamada são " -"passados para :meth:`__new__` e, no caso típico, para :meth:`~object." -"__init__` para inicializar a nova instância." +"passados para :meth:`!__new__` e, no caso típico, " +"para :meth:`~object.__init__` para inicializar a nova instância." -#: ../../reference/datamodel.rst:726 +#: ../../reference/datamodel.rst:843 msgid "Class Instances" -msgstr "Instâncias de classes" +msgstr "Instâncias de classe" -#: ../../reference/datamodel.rst:724 +#: ../../reference/datamodel.rst:845 msgid "" -"Instances of arbitrary classes can be made callable by defining a :meth:" -"`~object.__call__` method in their class." +"Instances of arbitrary classes can be made callable by defining " +"a :meth:`~object.__call__` method in their class." msgstr "" "Instâncias de classes arbitrárias podem ser tornados chamáveis definindo um " "método :meth:`~object.__call__` em sua classe." -#: ../../reference/datamodel.rst:789 +#: ../../reference/datamodel.rst:850 msgid "Modules" msgstr "Módulos" -#: ../../reference/datamodel.rst:733 +#: ../../reference/datamodel.rst:856 msgid "" "Modules are a basic organizational unit of Python code, and are created by " -"the :ref:`import system ` as invoked either by the :keyword:" -"`import` statement, or by calling functions such as :func:`importlib." -"import_module` and built-in :func:`__import__`. A module object has a " -"namespace implemented by a dictionary object (this is the dictionary " -"referenced by the ``__globals__`` attribute of functions defined in the " +"the :ref:`import system ` as invoked either by " +"the :keyword:`import` statement, or by calling functions such " +"as :func:`importlib.import_module` and built-in :func:`__import__`. A " +"module object has a namespace implemented by a :class:`dictionary ` " +"object (this is the dictionary referenced by " +"the :attr:`~function.__globals__` attribute of functions defined in the " "module). Attribute references are translated to lookups in this dictionary, " "e.g., ``m.x`` is equivalent to ``m.__dict__[\"x\"]``. A module object does " "not contain the code object used to initialize the module (since it isn't " @@ -1339,16 +1360,17 @@ msgid "" msgstr "" "Módulos são uma unidade organizacional básica do código Python, e são " "criados pelo :ref:`sistema de importação ` quando invocado " -"pela instrução :keyword:`import`, ou chamando funções como :func:`importlib." -"import_module` e a embutida :func:`__import__`. Um objeto de módulo tem um " -"espaço de nomes implementado por um objeto de dicionário (este é o " -"dicionário referenciado pelo atributo ``__globals__`` de funções definidas " -"no módulo). As referências de atributos são traduzidas para pesquisas neste " -"dicionário, por exemplo, ``m.x`` é equivalente a ``m.__dict__[\"x\"]``. Um " -"objeto de módulo não contém o objeto código usado para inicializar o módulo " -"(uma vez que não é necessário depois que a inicialização é concluída)." - -#: ../../reference/datamodel.rst:745 +"pela instrução :keyword:`import`, ou chamando funções " +"como :func:`importlib.import_module` e a embutida :func:`__import__`. Um " +"objeto módulo tem um espaço de nomes implementado por um " +"objeto :class:`dicionário ` (este é o dicionário referenciado pelo " +"atributo :attr:`~function.__globals__` das funções definidas no módulo). As " +"referências de atributos são traduzidas para pesquisas neste dicionário, por " +"exemplo, ``m.x`` é equivalente a ``m.__dict__[\"x\"]``. Um objeto módulo não " +"contém o objeto código usado para inicializar o módulo (uma vez que não é " +"necessário depois que a inicialização é concluída)." + +#: ../../reference/datamodel.rst:869 msgid "" "Attribute assignment updates the module's namespace dictionary, e.g., ``m.x " "= 1`` is equivalent to ``m.__dict__[\"x\"] = 1``." @@ -1356,27 +1378,31 @@ msgstr "" "A atribuição de atributo atualiza o dicionário de espaço de nomes do módulo, " "por exemplo, ``m.x = 1`` é equivalente a ``m.__dict__[\"x\"] = 1``." -#: ../../reference/datamodel.rst:755 +#: ../../reference/datamodel.rst:879 msgid "Predefined (writable) attributes:" -msgstr "Atributos predefinidos graváveis:" +msgstr "Atributos predefinidos (graváveis):" -#: ../../reference/datamodel.rst:758 +#: ../../reference/datamodel.rst:882 msgid ":attr:`__name__`" msgstr ":attr:`__name__`" -#: ../../reference/datamodel.rst:758 +#: ../../reference/datamodel.rst:882 msgid "The module's name." msgstr "O nome do módulo." -#: ../../reference/datamodel.rst:761 +#: ../../reference/datamodel.rst:886 ../../reference/datamodel.rst:985 +msgid ":attr:`__doc__`" +msgstr ":attr:`__doc__`" + +#: ../../reference/datamodel.rst:885 msgid "The module's documentation string, or ``None`` if unavailable." -msgstr "A string de documentação do método, ou ``None`` se indisponível." +msgstr "A string de documentação do módulo, ou ``None`` se indisponível." -#: ../../reference/datamodel.rst:771 +#: ../../reference/datamodel.rst:895 msgid ":attr:`__file__`" msgstr ":attr:`__file__`" -#: ../../reference/datamodel.rst:765 +#: ../../reference/datamodel.rst:889 msgid "" "The pathname of the file from which the module was loaded, if it was loaded " "from a file. The :attr:`__file__` attribute may be missing for certain types " @@ -1391,26 +1417,30 @@ msgstr "" "carregadas dinamicamente de uma biblioteca compartilhada, é o endereço do " "caminho do arquivo da biblioteca compartilhada." -#: ../../reference/datamodel.rst:774 +#: ../../reference/datamodel.rst:901 ../../reference/datamodel.rst:993 +msgid ":attr:`__annotations__`" +msgstr ":attr:`__annotations__`" + +#: ../../reference/datamodel.rst:898 msgid "" "A dictionary containing :term:`variable annotations ` " -"collected during module body execution. For best practices on working with :" -"attr:`__annotations__`, please see :ref:`annotations-howto`." +"collected during module body execution. For best practices on working " +"with :attr:`__annotations__`, please see :ref:`annotations-howto`." msgstr "" -"Um dicionário contendo :term:`anotação de variável ` " -"coletado durante a execução do corpo do módulo. Para as melhores práticas " -"sobre como trabalhar com :attr:`__annotations__`, por favor veja :ref:" -"`annotations-howto`." +"Um dicionário contendo :term:`anotações de variável ` " +"coletadas durante a execução do corpo do módulo. Para as melhores práticas " +"sobre como trabalhar com :attr:`__annotations__`, por favor " +"veja :ref:`annotations-howto`." -#: ../../reference/datamodel.rst:781 +#: ../../reference/datamodel.rst:905 msgid "" "Special read-only attribute: :attr:`~object.__dict__` is the module's " "namespace as a dictionary object." msgstr "" "Atributo especial somente leitura: :attr:`~object.__dict__` é o espaço de " -"nomes do módulo como um objeto de dicionário." +"nomes do módulo como um objeto dicionário." -#: ../../reference/datamodel.rst:786 +#: ../../reference/datamodel.rst:910 msgid "" "Because of the way CPython clears module dictionaries, the module dictionary " "will be cleared when the module falls out of scope even if the dictionary " @@ -1422,32 +1452,32 @@ msgstr "" "ainda tiver referências ativas. Para evitar isso, copie o dicionário ou " "mantenha o módulo por perto enquanto usa seu dicionário diretamente." -#: ../../reference/datamodel.rst:864 +#: ../../reference/datamodel.rst:917 msgid "Custom classes" msgstr "Classes personalizadas" -#: ../../reference/datamodel.rst:792 -msgid "" -"Custom class types are typically created by class definitions (see section :" -"ref:`class`). A class has a namespace implemented by a dictionary object. " -"Class attribute references are translated to lookups in this dictionary, e." -"g., ``C.x`` is translated to ``C.__dict__[\"x\"]`` (although there are a " -"number of hooks which allow for other means of locating attributes). When " -"the attribute name is not found there, the attribute search continues in the " -"base classes. This search of the base classes uses the C3 method resolution " -"order which behaves correctly even in the presence of 'diamond' inheritance " -"structures where there are multiple inheritance paths leading back to a " -"common ancestor. Additional details on the C3 MRO used by Python can be " -"found in the documentation accompanying the 2.3 release at https://www." -"python.org/download/releases/2.3/mro/." +#: ../../reference/datamodel.rst:919 +msgid "" +"Custom class types are typically created by class definitions (see " +"section :ref:`class`). A class has a namespace implemented by a dictionary " +"object. Class attribute references are translated to lookups in this " +"dictionary, e.g., ``C.x`` is translated to ``C.__dict__[\"x\"]`` (although " +"there are a number of hooks which allow for other means of locating " +"attributes). When the attribute name is not found there, the attribute " +"search continues in the base classes. This search of the base classes uses " +"the C3 method resolution order which behaves correctly even in the presence " +"of 'diamond' inheritance structures where there are multiple inheritance " +"paths leading back to a common ancestor. Additional details on the C3 MRO " +"used by Python can be found in the documentation accompanying the 2.3 " +"release at https://www.python.org/download/releases/2.3/mro/." msgstr "" "Tipos de classe personalizados são tipicamente criados por definições de " "classe (veja a seção :ref:`class`). Uma classe possui um espaço de nomes " -"implementado por um objeto de dicionário. As referências de atributos de " -"classe são traduzidas para pesquisas neste dicionário, por exemplo, ``C.x`` " -"é traduzido para ``C.__dict__[\"x\"]`` (embora haja uma série de ganchos que " -"permitem outros meios de localizar atributos) . Quando o nome do atributo " -"não é encontrado lá, a pesquisa do atributo continua nas classes base. Essa " +"implementado por um objeto dicionário. As referências de atributos de classe " +"são traduzidas para pesquisas neste dicionário, por exemplo, ``C.x`` é " +"traduzido para ``C.__dict__[\"x\"]`` (embora haja uma série de ganchos que " +"permitem outros meios de localizar atributos). Quando o nome do atributo não " +"é encontrado lá, a pesquisa do atributo continua nas classes base. Essa " "pesquisa das classes base usa a ordem de resolução de métodos C3, que se " "comporta corretamente mesmo na presença de estruturas de herança " "\"diamante\", onde há vários caminhos de herança que levam de volta a um " @@ -1455,25 +1485,26 @@ msgstr "" "C3 usado pelo Python podem ser encontrados na documentação que acompanha a " "versão 2.3 em https://www.python.org/download/releases/2.3/mro/." -#: ../../reference/datamodel.rst:816 +#: ../../reference/datamodel.rst:943 msgid "" -"When a class attribute reference (for class :class:`C`, say) would yield a " -"class method object, it is transformed into an instance method object whose :" -"attr:`__self__` attribute is :class:`C`. When it would yield a static " -"method object, it is transformed into the object wrapped by the static " -"method object. See section :ref:`descriptors` for another way in which " -"attributes retrieved from a class may differ from those actually contained " -"in its :attr:`~object.__dict__`." +"When a class attribute reference (for class :class:`!C`, say) would yield a " +"class method object, it is transformed into an instance method object " +"whose :attr:`~method.__self__` attribute is :class:`!C`. When it would yield " +"a :class:`staticmethod` object, it is transformed into the object wrapped by " +"the static method object. See section :ref:`descriptors` for another way in " +"which attributes retrieved from a class may differ from those actually " +"contained in its :attr:`~object.__dict__`." msgstr "" -"Quando uma referência de atributo de classe (para uma classe :class:`C`, " +"Quando uma referência de atributo de classe (para uma classe :class:`!C`, " "digamos) produziria um objeto método de classe, ele é transformado em um " -"objeto método de instância cujo atributo :attr:`__self__` é :class:`C`. " -"Quando produziria um objeto método estático, ele é transformado no objeto " -"encapsulado pelo objeto método estático. Veja a seção :ref:`descriptors` " -"para outra maneira em que os atributos recuperados de uma classe podem " -"diferir daqueles realmente contidos em seu :attr:`~object.__dict__`." +"objeto método de instância cujo atributo :attr:`~method.__self__` é :class:`!" +"C`. Quando produziria um objeto :class:`staticmethod`, ele é transformado no " +"objeto encapsulado pelo objeto método estático. Veja a " +"seção :ref:`descriptors` para outra maneira em que os atributos recuperados " +"de uma classe podem diferir daqueles realmente contidos em " +"seu :attr:`~object.__dict__`." -#: ../../reference/datamodel.rst:826 +#: ../../reference/datamodel.rst:954 msgid "" "Class attribute assignments update the class's dictionary, never the " "dictionary of a base class." @@ -1481,35 +1512,47 @@ msgstr "" "As atribuições de atributos de classe atualizam o dicionário da classe, " "nunca o dicionário de uma classe base." -#: ../../reference/datamodel.rst:831 +#: ../../reference/datamodel.rst:959 msgid "" "A class object can be called (see above) to yield a class instance (see " "below)." msgstr "" -"Um objeto de classe pode ser chamado (veja acima) para produzir uma " -"instância de classe (veja abaixo)." +"Um objeto classe pode ser chamado (veja acima) para produzir uma instância " +"de classe (veja abaixo)." + +#: ../../reference/datamodel.rst:969 +msgid "Special attributes:" +msgstr "Atributos especiais:" -#: ../../reference/datamodel.rst:844 +#: ../../reference/datamodel.rst:972 msgid ":attr:`~definition.__name__`" msgstr ":attr:`~definition.__name__`" -#: ../../reference/datamodel.rst:844 +#: ../../reference/datamodel.rst:972 msgid "The class name." msgstr "O nome da classe." -#: ../../reference/datamodel.rst:847 +#: ../../reference/datamodel.rst:975 +msgid ":attr:`__module__`" +msgstr ":attr:`__module__`" + +#: ../../reference/datamodel.rst:975 msgid "The name of the module in which the class was defined." msgstr "O nome do módulo no qual a classe foi definida." -#: ../../reference/datamodel.rst:850 +#: ../../reference/datamodel.rst:978 +msgid ":attr:`~object.__dict__`" +msgstr ":attr:`~object.__dict__`" + +#: ../../reference/datamodel.rst:978 msgid "The dictionary containing the class's namespace." msgstr "O dicionário contendo o espaço de nomes da classe." -#: ../../reference/datamodel.rst:854 +#: ../../reference/datamodel.rst:982 msgid ":attr:`~class.__bases__`" msgstr ":attr:`~class.__bases__`" -#: ../../reference/datamodel.rst:853 +#: ../../reference/datamodel.rst:981 msgid "" "A tuple containing the base classes, in the order of their occurrence in the " "base class list." @@ -1517,26 +1560,26 @@ msgstr "" "Uma tupla contendo a classe base, na ordem de suas ocorrências na lista da " "classe base." -#: ../../reference/datamodel.rst:857 +#: ../../reference/datamodel.rst:985 msgid "The class's documentation string, or ``None`` if undefined." msgstr "A string de documentação da classe, ou ``None`` se não definida." -#: ../../reference/datamodel.rst:860 +#: ../../reference/datamodel.rst:988 msgid "" "A dictionary containing :term:`variable annotations ` " -"collected during class body execution. For best practices on working with :" -"attr:`__annotations__`, please see :ref:`annotations-howto`." +"collected during class body execution. For best practices on working " +"with :attr:`__annotations__`, please see :ref:`annotations-howto`." msgstr "" -"Um dicionário contendo :term:`anotação de variável ` " -"coletado durante a execução do corpo da classe. Para melhores práticas sobre " -"como trabalhar com :attr:`__annotations__`, por favor veja :ref:`annotations-" -"howto`." +"Um dicionário contendo :term:`anotações de variável ` " +"coletadas durante a execução do corpo da classe. Para melhores práticas " +"sobre como trabalhar com :attr:`__annotations__`, por favor " +"veja :ref:`annotations-howto`." -#: ../../reference/datamodel.rst:907 +#: ../../reference/datamodel.rst:996 msgid "Class instances" msgstr "Instâncias de classe" -#: ../../reference/datamodel.rst:873 +#: ../../reference/datamodel.rst:1004 msgid "" "A class instance is created by calling a class object (see above). A class " "instance has a namespace implemented as a dictionary which is the first " @@ -1544,13 +1587,13 @@ msgid "" "found there, and the instance's class has an attribute by that name, the " "search continues with the class attributes. If a class attribute is found " "that is a user-defined function object, it is transformed into an instance " -"method object whose :attr:`__self__` attribute is the instance. Static " -"method and class method objects are also transformed; see above under " +"method object whose :attr:`~method.__self__` attribute is the instance. " +"Static method and class method objects are also transformed; see above under " "\"Classes\". See section :ref:`descriptors` for another way in which " "attributes of a class retrieved via its instances may differ from the " "objects actually stored in the class's :attr:`~object.__dict__`. If no " -"class attribute is found, and the object's class has a :meth:`~object." -"__getattr__` method, that is called to satisfy the lookup." +"class attribute is found, and the object's class has " +"a :meth:`~object.__getattr__` method, that is called to satisfy the lookup." msgstr "" "Uma instância de classe é criada chamando um objeto classe (veja acima). Uma " "instância de classe tem um espaço de nomes implementado como um dicionário " @@ -1558,63 +1601,64 @@ msgstr "" "Quando um atributo não é encontrado lá, e a classe da instância possui um " "atributo com esse nome, a pesquisa continua com os atributos da classe. Se " "for encontrado um atributo de classe que seja um objeto função definido pelo " -"usuário, ele é transformado em um objeto método de instância cujo atributo :" -"attr:`__self__` é a instância. Métodos estáticos e métodos de classe também " -"são transformados; veja acima em \"Classes\". Veja a seção :ref:" -"`descriptors` para outra maneira em que os atributos de uma classe " -"recuperados através de suas instâncias podem diferir dos objetos realmente " -"armazenados no :attr:`~object.__dict__` da classe. Se nenhum atributo de " -"classe for encontrado, e a classe do objeto tiver um método :meth:`~object." -"__getattr__`, que é chamado para satisfazer a pesquisa." - -#: ../../reference/datamodel.rst:889 +"usuário, ele é transformado em um objeto método de instância cujo " +"atributo :attr:`~method.__self__` é a instância. Métodos estáticos e métodos " +"de classe também são transformados; veja acima em \"Classes\". Veja a " +"seção :ref:`descriptors` para outra maneira em que os atributos de uma " +"classe recuperados através de suas instâncias podem diferir dos objetos " +"realmente armazenados no :attr:`~object.__dict__` da classe. Se nenhum " +"atributo de classe for encontrado, e a classe do objeto tiver um " +"método :meth:`~object.__getattr__`, este é chamado para satisfazer a " +"pesquisa." + +#: ../../reference/datamodel.rst:1020 msgid "" "Attribute assignments and deletions update the instance's dictionary, never " -"a class's dictionary. If the class has a :meth:`~object.__setattr__` or :" -"meth:`~object.__delattr__` method, this is called instead of updating the " -"instance dictionary directly." +"a class's dictionary. If the class has a :meth:`~object.__setattr__` " +"or :meth:`~object.__delattr__` method, this is called instead of updating " +"the instance dictionary directly." msgstr "" "As atribuições e exclusões de atributos atualizam o dicionário da instância, " -"nunca o dicionário de uma classe. Se a classe tem um método :meth:`~object." -"__setattr__` ou :meth:`~object.__delattr__`, ele é chamado ao invés de " -"atualizar o dicionário da instância diretamente." +"nunca o dicionário de uma classe. Se a classe tem um " +"método :meth:`~object.__setattr__` ou :meth:`~object.__delattr__`, ele é " +"chamado ao invés de atualizar o dicionário da instância diretamente." -#: ../../reference/datamodel.rst:899 +#: ../../reference/datamodel.rst:1030 msgid "" "Class instances can pretend to be numbers, sequences, or mappings if they " "have methods with certain special names. See section :ref:`specialnames`." msgstr "" "As instâncias de classe podem fingir ser números, sequências ou mapeamentos " -"se tiverem métodos com certos nomes especiais. Veja a seção :ref:" -"`specialnames`." +"se tiverem métodos com certos nomes especiais. Veja a " +"seção :ref:`specialnames`." -#: ../../reference/datamodel.rst:906 +#: ../../reference/datamodel.rst:1037 msgid "" -"Special attributes: :attr:`~object.__dict__` is the attribute dictionary; :" -"attr:`~instance.__class__` is the instance's class." +"Special attributes: :attr:`~object.__dict__` is the attribute " +"dictionary; :attr:`~instance.__class__` is the instance's class." msgstr "" -"Atributos especiais: :attr:`~object.__dict__` é o dicionário de atributos; :" -"attr:`~instance.__class__` é a classe da instância." +"Atributos especiais: :attr:`~object.__dict__` é o dicionário de " +"atributos; :attr:`~instance.__class__` é a classe da instância." -#: ../../reference/datamodel.rst:933 +#: ../../reference/datamodel.rst:1042 msgid "I/O objects (also known as file objects)" msgstr "Objetos de E/S (também conhecidos como objetos arquivo)" -#: ../../reference/datamodel.rst:923 +#: ../../reference/datamodel.rst:1057 msgid "" "A :term:`file object` represents an open file. Various shortcuts are " "available to create file objects: the :func:`open` built-in function, and " -"also :func:`os.popen`, :func:`os.fdopen`, and the :meth:`~socket.socket." -"makefile` method of socket objects (and perhaps by other functions or " -"methods provided by extension modules)." +"also :func:`os.popen`, :func:`os.fdopen`, and " +"the :meth:`~socket.socket.makefile` method of socket objects (and perhaps by " +"other functions or methods provided by extension modules)." msgstr "" "O :term:`objeto arquivo ` representa um arquivo aberto. Vários " -"atalhos estão disponíveis para criar objetos arquivos: a função embutida :" -"func:`open`, e também :func:`os.popen`, :func:`os.fdopen` e o método :meth:" -"`~socket.socket.makefile` de objetos soquete (e talvez por outras funções ou " -"métodos fornecidos por módulos de extensão)." +"atalhos estão disponíveis para criar objetos arquivos: a função " +"embutida :func:`open`, e também :func:`os.popen`, :func:`os.fdopen` e o " +"método :meth:`~socket.socket.makefile` de objetos soquete (e talvez por " +"outras funções ou métodos fornecidos por módulos de extensão)." -#: ../../reference/datamodel.rst:929 +#: ../../reference/datamodel.rst:1063 msgid "" "The objects ``sys.stdin``, ``sys.stdout`` and ``sys.stderr`` are initialized " "to file objects corresponding to the interpreter's standard input, output " @@ -1626,11 +1670,11 @@ msgstr "" "padrão do interpretador; eles são todos abertos em modo texto e, portanto, " "seguem a interface definida pela classe abstrata :class:`io.TextIOBase`." -#: ../../reference/datamodel.rst:1220 +#: ../../reference/datamodel.rst:1071 msgid "Internal types" msgstr "Tipos internos" -#: ../../reference/datamodel.rst:940 +#: ../../reference/datamodel.rst:1077 msgid "" "A few types used internally by the interpreter are exposed to the user. " "Their definitions may change with future versions of the interpreter, but " @@ -1640,20 +1684,21 @@ msgstr "" "Suas definições podem mudar com versões futuras do interpretador, mas são " "mencionadas aqui para fins de integridade." -#: ../../reference/datamodel.rst:1050 +#: ../../reference/datamodel.rst:1086 msgid "Code objects" msgstr "Objetos código" -#: ../../reference/datamodel.rst:947 +#: ../../reference/datamodel.rst:1088 msgid "" -"Code objects represent *byte-compiled* executable Python code, or :term:" -"`bytecode`. The difference between a code object and a function object is " -"that the function object contains an explicit reference to the function's " -"globals (the module in which it was defined), while a code object contains " -"no context; also the default argument values are stored in the function " -"object, not in the code object (because they represent values calculated at " -"run-time). Unlike function objects, code objects are immutable and contain " -"no references (directly or indirectly) to mutable objects." +"Code objects represent *byte-compiled* executable Python code, " +"or :term:`bytecode`. The difference between a code object and a function " +"object is that the function object contains an explicit reference to the " +"function's globals (the module in which it was defined), while a code object " +"contains no context; also the default argument values are stored in the " +"function object, not in the code object (because they represent values " +"calculated at run-time). Unlike function objects, code objects are " +"immutable and contain no references (directly or indirectly) to mutable " +"objects." msgstr "" "Objetos código representam código Python executável *compilados em bytes* " "ou :term:`bytecode`. A diferença entre um objeto código e um objeto função é " @@ -1665,114 +1710,191 @@ msgstr "" "são imutáveis e não contêm referências (direta ou indiretamente) a objetos " "mutáveis." -#: ../../reference/datamodel.rst:975 +#: ../../reference/datamodel.rst:1122 +msgid "The function name" +msgstr "O nome da função" + +#: ../../reference/datamodel.rst:1125 +msgid "The fully qualified function name" +msgstr "O nome completo da função" + +#: ../../reference/datamodel.rst:1130 +msgid "" +"The total number of positional :term:`parameters ` (including " +"positional-only parameters and parameters with default values) that the " +"function has" +msgstr "" +"O número total de :term:`parâmetros ` posicionais (incluindo " +"parâmetros somente-posicionais e parâmetros com valores padrão) que a função " +"possui" + +#: ../../reference/datamodel.rst:1135 +msgid "" +"The number of positional-only :term:`parameters ` (including " +"arguments with default values) that the function has" +msgstr "" +"O número de :term:`parâmetros ` somente-posicionais (incluindo " +"argumentos com valores padrão) que a função possui" + +#: ../../reference/datamodel.rst:1139 +msgid "" +"The number of keyword-only :term:`parameters ` (including " +"arguments with default values) that the function has" +msgstr "" +"O número de :term:`parâmetros ` somente-nomeados (incluindo " +"argumentos com valores padrão) que a função possui" + +#: ../../reference/datamodel.rst:1143 +msgid "" +"The number of :ref:`local variables ` used by the function " +"(including parameters)" +msgstr "" +"O número de :ref:`variáveis locais ` usadas pela função (incluindo " +"parâmetros)" + +#: ../../reference/datamodel.rst:1147 +msgid "" +"A :class:`tuple` containing the names of the local variables in the function " +"(starting with the parameter names)" +msgstr "" +"Uma :class:`tuple` contendo os nomes das variáveis locais na função " +"(começando com os nomes dos parâmetros)" + +#: ../../reference/datamodel.rst:1151 +msgid "" +"A :class:`tuple` containing the names of :ref:`local variables ` " +"that are referenced by nested functions inside the function" +msgstr "" +"Uma :class:`tuple` contendo os nomes de :ref:`variáveis locais ` que " +"são referenciadas por funções aninhadas dentro da função" + +#: ../../reference/datamodel.rst:1155 +msgid "A :class:`tuple` containing the names of free variables in the function" +msgstr "Uma :class:`tuple` contendo os nomes das variáveis livres na função" + +#: ../../reference/datamodel.rst:1158 +msgid "" +"A string representing the sequence of :term:`bytecode` instructions in the " +"function" +msgstr "" +"Uma string representando a sequência de instruções :term:`bytecode` na função" + +#: ../../reference/datamodel.rst:1162 +msgid "" +"A :class:`tuple` containing the literals used by the :term:`bytecode` in the " +"function" +msgstr "" +"Um :class:`tuple` contendo os literais usados pelo :term:`bytecode` na função" + +#: ../../reference/datamodel.rst:1166 +msgid "" +"A :class:`tuple` containing the names used by the :term:`bytecode` in the " +"function" +msgstr "" +"Um :class:`tuple` contendo os nomes usados pelo :term:`bytecode` na função" + +#: ../../reference/datamodel.rst:1170 +msgid "The name of the file from which the code was compiled" +msgstr "O nome do arquivo do qual o código foi compilado" + +#: ../../reference/datamodel.rst:1173 +msgid "The line number of the first line of the function" +msgstr "O número da linha da primeira linha da função" + +#: ../../reference/datamodel.rst:1176 +msgid "" +"A string encoding the mapping from :term:`bytecode` offsets to line numbers. " +"For details, see the source code of the interpreter." +msgstr "" +"Uma string que codifica o mapeamento de :term:`bytecode` compensa para " +"números de linha. Para obter detalhes, consulte o código-fonte do " +"interpretador." + +#: ../../reference/datamodel.rst:1180 +msgid "The required stack size of the code object" +msgstr "O tamanho de pilha necessário do objeto código" + +#: ../../reference/datamodel.rst:1183 +msgid "" +"An :class:`integer ` encoding a number of flags for the interpreter." +msgstr "" +"Um número :class:`inteiro ` codificando uma série de sinalizadores para " +"o interpretador." + +#: ../../reference/datamodel.rst:1188 msgid "" -"Special read-only attributes: :attr:`co_name` gives the function name; :attr:" -"`co_qualname` gives the fully qualified function name; :attr:`co_argcount` " -"is the total number of positional arguments (including positional-only " -"arguments and arguments with default values); :attr:`co_posonlyargcount` is " -"the number of positional-only arguments (including arguments with default " -"values); :attr:`co_kwonlyargcount` is the number of keyword-only arguments " -"(including arguments with default values); :attr:`co_nlocals` is the number " -"of local variables used by the function (including arguments); :attr:" -"`co_varnames` is a tuple containing the names of the local variables " -"(starting with the argument names); :attr:`co_cellvars` is a tuple " -"containing the names of local variables that are referenced by nested " -"functions; :attr:`co_freevars` is a tuple containing the names of free " -"variables; :attr:`co_code` is a string representing the sequence of bytecode " -"instructions; :attr:`co_consts` is a tuple containing the literals used by " -"the bytecode; :attr:`co_names` is a tuple containing the names used by the " -"bytecode; :attr:`co_filename` is the filename from which the code was " -"compiled; :attr:`co_firstlineno` is the first line number of the function; :" -"attr:`co_lnotab` is a string encoding the mapping from bytecode offsets to " -"line numbers (for details see the source code of the interpreter); :attr:" -"`co_stacksize` is the required stack size; :attr:`co_flags` is an integer " -"encoding a number of flags for the interpreter." -msgstr "" -"Atributos especiais de somente leitura: :attr:`co_name` fornece o nome da " -"função; :attr:`co_qualname` fornece o nome da função totalmente " -"qualificado; :attr:`co_argcount` é o número total de argumentos posicionais " -"(incluindo argumentos apenas posicionais e argumentos com valores padrão); :" -"attr:`co_posonlyargcount` é o número de argumentos somente-posicionais " -"(incluindo argumentos com valores padrão); :attr:`co_kwonlyargcount` é o " -"número de argumentos somente-nomeados (incluindo argumentos com valores " -"padrão); :attr:`co_nlocals` é o número de variáveis ​​locais usadas pela " -"função (incluindo argumentos); :attr:`co_varnames` é uma tupla contendo os " -"nomes das variáveis ​​locais (começando com os nomes dos argumentos); :attr:" -"`co_cellvars` é uma tupla contendo os nomes das variáveis ​​locais que são " -"referenciadas por funções aninhadas; :attr:`co_freevars` é uma tupla " -"contendo os nomes das variáveis ​​livres; :attr:`co_code` é uma string que " -"representa a sequência de instruções de bytecode; :attr:`co_consts` é uma " -"tupla contendo os literais usados ​​pelo bytecode; :attr:`co_names` é uma " -"tupla contendo os nomes usados ​​pelo bytecode; :attr:`co_filename` é o nome " -"do arquivo a partir do qual o código foi compilado; :attr:`co_firstlineno` é " -"o número da primeira linha da função; :attr:`co_lnotab` é uma string que " -"codifica o mapeamento de deslocamentos de bytecode para números de linha " -"(para detalhes, veja o código-fonte do interpretador); :attr:`co_stacksize` " -"é o tamanho de pilha necessário; :attr:`co_flags` é um inteiro que codifica " -"uma série de sinalizadores para o interpretador." - -#: ../../reference/datamodel.rst:1000 -msgid "" -"The following flag bits are defined for :attr:`co_flags`: bit ``0x04`` is " -"set if the function uses the ``*arguments`` syntax to accept an arbitrary " -"number of positional arguments; bit ``0x08`` is set if the function uses the " -"``**keywords`` syntax to accept arbitrary keyword arguments; bit ``0x20`` is " -"set if the function is a generator." -msgstr "" -"Os seguintes bits de sinalizador são definidos para :attr:`co_flags`: o bit " -"``0x04`` é definido se a função usa a sintaxe ``*arguments`` para aceitar um " -"número arbitrário de argumentos posicionais; o bit ``0x08`` é definido se a " -"função usa a sintaxe ``**keywords`` para aceitar argumentos nomeados " -"arbitrários; o bit ``0x20`` é definido se a função for um gerador." - -#: ../../reference/datamodel.rst:1006 +"The following flag bits are defined for :attr:`~codeobject.co_flags`: bit " +"``0x04`` is set if the function uses the ``*arguments`` syntax to accept an " +"arbitrary number of positional arguments; bit ``0x08`` is set if the " +"function uses the ``**keywords`` syntax to accept arbitrary keyword " +"arguments; bit ``0x20`` is set if the function is a generator. " +"See :ref:`inspect-module-co-flags` for details on the semantics of each " +"flags that might be present." +msgstr "" +"Os seguintes bits sinalizadores são definidos " +"para :attr:`~codeobject.co_flags`: o bit ``0x04`` é definido se a função usa " +"a sintaxe ``*arguments`` para aceitar um número arbitrário de argumentos " +"posicionais; o bit ``0x08`` é definido se a função usa a sintaxe " +"``**keywords`` para aceitar argumentos nomeados arbitrários; o bit ``0x20`` " +"é definido se a função for um gerador. Veja :ref:`inspect-module-co-flags` " +"para detalhes na semântica de cada sinalizadores que podem estar presentes." + +#: ../../reference/datamodel.rst:1196 msgid "" "Future feature declarations (``from __future__ import division``) also use " -"bits in :attr:`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." +"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." msgstr "" "Declarações de recursos futuros (``from __future__ import division``) também " -"usam bits em :attr:`co_flags` para indicar se um objeto código foi compilado " -"com um recurso específico habilitado: o bit ``0x2000`` é definido se a " -"função foi compilada com divisão futura habilitada; os bits ``0x10`` e " -"``0x1000`` foram usados em versões anteriores do Python." +"usam bits em :attr:`~codeobject.co_flags` para indicar se um objeto código " +"foi compilado com um recurso específico habilitado: o bit ``0x2000`` é " +"definido se a função foi compilada com divisão futura habilitada; os bits " +"``0x10`` e ``0x1000`` foram usados em versões anteriores do Python." -#: ../../reference/datamodel.rst:1012 -msgid "Other bits in :attr:`co_flags` are reserved for internal use." -msgstr "Outros bits em :attr:`co_flags` são reservados para uso interno." +#: ../../reference/datamodel.rst:1202 +msgid "" +"Other bits in :attr:`~codeobject.co_flags` are reserved for internal use." +msgstr "" +"Outros bits em :attr:`~codeobject.co_flags` são reservados para uso interno." -#: ../../reference/datamodel.rst:1016 +#: ../../reference/datamodel.rst:1206 msgid "" -"If a code object represents a function, the first item in :attr:`co_consts` " -"is the documentation string of the function, or ``None`` if undefined." +"If a code object represents a function, the first item " +"in :attr:`~codeobject.co_consts` is the documentation string of the " +"function, or ``None`` if undefined." msgstr "" -"Se um objeto código representa uma função, o primeiro item em :attr:" -"`co_consts` é a string de documentação da função, ou ``None`` se indefinido." +"Se um objeto código representa uma função, o primeiro item " +"em :attr:`~codeobject.co_consts` é a string de documentação da função, ou " +"``None`` se indefinido." + +#: ../../reference/datamodel.rst:1211 +msgid "Methods on code objects" +msgstr "Métodos de objetos código" -#: ../../reference/datamodel.rst:1021 +#: ../../reference/datamodel.rst:1215 msgid "" -"Returns an iterable over the source code positions of each bytecode " +"Returns an iterable over the source code positions of each :term:`bytecode` " "instruction in the code object." msgstr "" -"Retorna um iterável das posições no código fonte de cada instrução bytecode " -"no objeto código." +"Retorna um iterável das posições no código-fonte de cada " +"instrução :term:`bytecode` no objeto código." -#: ../../reference/datamodel.rst:1024 +#: ../../reference/datamodel.rst:1218 msgid "" -"The iterator returns tuples containing the ``(start_line, end_line, " -"start_column, end_column)``. The *i-th* tuple corresponds to the position of " -"the source code that compiled to the *i-th* instruction. Column information " -"is 0-indexed utf-8 byte offsets on the given source line." +"The iterator returns :class:`tuple`\\s containing the ``(start_line, " +"end_line, start_column, end_column)``. The *i-th* tuple corresponds to the " +"position of the source code that compiled to the *i-th* code unit. Column " +"information is 0-indexed utf-8 byte offsets on the given source line." msgstr "" -"O iterador retorna tuplas contendo ``(start_line, end_line, start_column, " -"end_column)``. A *i-nésima* tupla corresponde à posição do código fonte que " -"compilou para a *i-nésima* instrução. As informações da coluna são " -"deslocamentos de bytes utf-8 indexados em 0 na linha de código fornecida." +"O iterador retorna :class:`tuple`\\s contendo ``(start_line, end_line, " +"start_column, end_column)``. A *i-nésima* tupla corresponde à posição do " +"código-fonte que compilou para a *i-nésima* unidade de código. As " +"informações da coluna são deslocamentos de bytes utf-8 indexados em 0 na " +"linha de código fornecida." -#: ../../reference/datamodel.rst:1030 +#: ../../reference/datamodel.rst:1224 msgid "" "This positional information can be missing. A non-exhaustive lists of cases " "where this may happen:" @@ -1780,36 +1902,36 @@ msgstr "" "A informação posicional pode estar ausente. Veja uma lista não-exaustiva de " "casos onde isso pode acontecer:" -#: ../../reference/datamodel.rst:1033 +#: ../../reference/datamodel.rst:1227 msgid "Running the interpreter with :option:`-X` ``no_debug_ranges``." msgstr "Executando o interpretador com ``no_debug_ranges`` :option:`-X`." -#: ../../reference/datamodel.rst:1034 +#: ../../reference/datamodel.rst:1228 msgid "" "Loading a pyc file compiled while using :option:`-X` ``no_debug_ranges``." msgstr "" "Carregando um arquivo pyc compilado com ``no_debug_ranges`` :option:`-X`." -#: ../../reference/datamodel.rst:1035 +#: ../../reference/datamodel.rst:1229 msgid "Position tuples corresponding to artificial instructions." msgstr "Tuplas posicionais correspondendo a instruções artificiais." -#: ../../reference/datamodel.rst:1036 +#: ../../reference/datamodel.rst:1230 msgid "" "Line and column numbers that can't be represented due to implementation " "specific limitations." msgstr "" "Números de linha e coluna que não podem ser representados devido a " -"limintações especificas de implementação." +"limitações específicas de implementação." -#: ../../reference/datamodel.rst:1039 +#: ../../reference/datamodel.rst:1233 msgid "" "When this occurs, some or all of the tuple elements can be :const:`None`." msgstr "" -"Quando isso ocorre, alguns ou todos elementos da tupla podem ser :const:" -"`None`." +"Quando isso ocorre, alguns ou todos elementos da tupla podem " +"ser :const:`None`." -#: ../../reference/datamodel.rst:1045 +#: ../../reference/datamodel.rst:1239 msgid "" "This feature requires storing column positions in code objects which may " "result in a small increase of disk usage of compiled Python files or " @@ -1825,227 +1947,365 @@ msgstr "" "rastreamento, use a opção de linha de comando ``no_debug_ranges`` :option:`-" "X` ou a variável de ambiente :envvar:`PYTHONNODEBUGRANGES`." -#: ../../reference/datamodel.rst:1112 -msgid "Frame objects" -msgstr "Objetos quadro" +#: ../../reference/datamodel.rst:1248 +msgid "" +"Returns an iterator that yields information about successive ranges " +"of :term:`bytecode`\\s. Each item yielded is a ``(start, end, " +"lineno)`` :class:`tuple`:" +msgstr "" +"Retorna um iterador que produz informações sobre intervalos sucessivos " +"de :term:`bytecode`\\s. Cada item gerado é uma :class:`tuple` de ``(start, " +"end, lineno)``:" -#: ../../reference/datamodel.rst:1057 +#: ../../reference/datamodel.rst:1252 msgid "" -"Frame objects represent execution frames. They may occur in traceback " -"objects (see below), and are also passed to registered trace functions." +"``start`` (an :class:`int`) represents the offset (inclusive) of the start " +"of the :term:`bytecode` range" msgstr "" -"Objetos quadro representam quadros de execução. Eles podem ocorrer em " -"objetos traceback (veja abaixo) e também são passados para funções de " -"rastreamento registradas." +"``start`` (um :class:`int`) representa o deslocamento (inclusivo) do início " +"do intervalo :term:`bytecode`" -#: ../../reference/datamodel.rst:1068 +#: ../../reference/datamodel.rst:1254 msgid "" -"Special read-only attributes: :attr:`f_back` is to the previous stack frame " -"(towards the caller), or ``None`` if this is the bottom stack frame; :attr:" -"`f_code` is the code object being executed in this frame; :attr:`f_locals` " -"is the dictionary used to look up local variables; :attr:`f_globals` is used " -"for global variables; :attr:`f_builtins` is used for built-in (intrinsic) " -"names; :attr:`f_lasti` gives the precise instruction (this is an index into " -"the bytecode string of the code object)." +"``end`` (an :class:`int`) represents the offset (exclusive) of the end of " +"the :term:`bytecode` range" msgstr "" -"Atributos especiais de somente leitura: :attr:`f_back` é o quadro de pilha " -"anterior (para o chamador), ou ``None`` se este é o quadro de pilha mais " -"inferior; :attr:`f_code` é o objeto código sendo executado neste quadro; :" -"attr:`f_locals` é o dicionário usado para procurar variáveis locais; :attr:" -"`f_globals` é usado para variáveis globais; :attr:`f_builtins` é usado para " -"nomes embutidos (intrínsecos); :attr:`f_lasti` dá a instrução precisa (este " -"é um índice para a string bytecode do objeto código)." +"``end`` (um :class:`int`) representa o deslocamento (exclusivo) do fim do " +"intervalo :term:`bytecode`" -#: ../../reference/datamodel.rst:1076 +#: ../../reference/datamodel.rst:1256 msgid "" -"Accessing ``f_code`` raises an :ref:`auditing event ` ``object." -"__getattr__`` with arguments ``obj`` and ``\"f_code\"``." +"``lineno`` is an :class:`int` representing the line number of " +"the :term:`bytecode` range, or ``None`` if the bytecodes in the given range " +"have no line number" msgstr "" -"Acessar ``f_code`` levanta um :ref:`evento de auditoria ` ``object." -"__getattr__`` com argumentos ``obj`` e ``\"f_code\"``." +"``lineno`` é um :class:`int` representando o número da linha do intervalo " +"do :term:`bytecode`, ou ``None`` se os bytecodes no intervalo fornecido não " +"tiverem número de linha" -#: ../../reference/datamodel.rst:1085 +#: ../../reference/datamodel.rst:1260 +msgid "The items yielded will have the following properties:" +msgstr "Os itens gerados terão as seguintes propriedades:" + +#: ../../reference/datamodel.rst:1262 +msgid "The first range yielded will have a ``start`` of 0." +msgstr "O primeiro intervalo gerado terá um ``start`` de 0." + +#: ../../reference/datamodel.rst:1263 msgid "" -"Special writable attributes: :attr:`f_trace`, if not ``None``, is a function " -"called for various events during code execution (this is used by the " -"debugger). Normally an event is triggered for each new source line - this " -"can be disabled by setting :attr:`f_trace_lines` to :const:`False`." +"The ``(start, end)`` ranges will be non-decreasing and consecutive. That is, " +"for any pair of :class:`tuple`\\s, the ``start`` of the second will be equal " +"to the ``end`` of the first." msgstr "" -"Atributos especiais de escrita: :attr:`f_trace`, se não for ``None``, é uma " -"função chamada para vários eventos durante a execução do código (isso é " -"usado pelo depurador). Normalmente, um evento é disparado para cada nova " -"linha de origem -- isso pode ser desabilitado configurando :attr:" -"`f_trace_lines` para :const:`False`." +"Os intervalos ``(start, end)`` serão não decrescentes e consecutivos. Ou " +"seja, para qualquer par de :class:`tuple`\\s, o ``start`` do segundo será " +"igual ao ``end`` do primeiro." + +#: ../../reference/datamodel.rst:1266 +msgid "No range will be backwards: ``end >= start`` for all triples." +msgstr "Nenhum intervalo será inverso: ``end >= start`` para todos os trios." -#: ../../reference/datamodel.rst:1090 +#: ../../reference/datamodel.rst:1267 msgid "" -"Implementations *may* allow per-opcode events to be requested by setting :" -"attr:`f_trace_opcodes` to :const:`True`. Note that this may lead to " -"undefined interpreter behaviour if exceptions raised by the trace function " -"escape to the function being traced." +"The last :class:`tuple` yielded will have ``end`` equal to the size of " +"the :term:`bytecode`." msgstr "" -"As implementações *podem* permitir que eventos por opcode sejam solicitados " -"definindo :attr:`f_trace_opcodes` para :const:`True`. Observe que isso pode " -"levar a um comportamento indefinido do interpretador se as exceções " -"levantadas pela função de rastreamento escaparem para a função que está " -"sendo rastreada." +"A última :class:`tuple` gerada terá ``end`` igual ao tamanho " +"do :term:`bytecode`." -#: ../../reference/datamodel.rst:1095 +#: ../../reference/datamodel.rst:1270 msgid "" -":attr:`f_lineno` is the current line number of the frame --- writing to this " -"from within a trace function jumps to the given line (only for the bottom-" -"most frame). A debugger can implement a Jump command (aka Set Next " -"Statement) by writing to f_lineno." +"Zero-width ranges, where ``start == end``, are allowed. Zero-width ranges " +"are used for lines that are present in the source code, but have been " +"eliminated by the :term:`bytecode` compiler." msgstr "" -":attr:`f_lineno` é o número da linha atual do quadro -- escrever nele a " -"partir de uma função de rastreamento salta para a linha fornecida (apenas " -"para o quadro mais abaixo). Um depurador pode implementar um comando Jump " -"(também conhecido como Set Next Statement) escrevendo para f_lineno." +"Intervalos de largura zero, onde ``start == end``, são permitidos. " +"Intervalos de largura zero são usados para linhas que estão presentes no " +"código-fonte, mas foram eliminadas pelo compilador de :term:`bytecode`." -#: ../../reference/datamodel.rst:1100 -msgid "Frame objects support one method:" -msgstr "Objetos quadro têm suporte a um método:" +#: ../../reference/datamodel.rst:1278 +msgid ":pep:`626` - Precise line numbers for debugging and other tools." +msgstr "" +":pep:`626` - Números de linha precisos para depuração e outras ferramentas." + +#: ../../reference/datamodel.rst:1279 +msgid "The PEP that introduced the :meth:`!co_lines` method." +msgstr "A PEP que introduziu o método :meth:`!co_lines`." -#: ../../reference/datamodel.rst:1104 +#: ../../reference/datamodel.rst:1283 msgid "" -"This method clears all references to local variables held by the frame. " -"Also, if the frame belonged to a generator, the generator is finalized. " -"This helps break reference cycles involving frame objects (for example when " -"catching an exception and storing its traceback for later use)." +"Return a copy of the code object with new values for the specified fields." msgstr "" -"Este método limpa todas as referências a variáveis locais mantidas pelo " -"quadro. Além disso, se o quadro pertencer a um gerador, o gerador é " -"finalizado. Isso ajuda a quebrar os ciclos de referência que envolvem " -"objetos quadro (por exemplo, ao capturar uma exceção e armazenar seu " -"traceback para uso posterior)." +"Retorna uma cópia do objeto de código com novos valores para os campos " +"especificados." -#: ../../reference/datamodel.rst:1110 -msgid ":exc:`RuntimeError` is raised if the frame is currently executing." -msgstr ":exc:`RuntimeError` é levantada se o quadro estiver em execução." - -#: ../../reference/datamodel.rst:1176 -msgid "Traceback objects" -msgstr "Objetos traceback" +#: ../../reference/datamodel.rst:1291 +msgid "Frame objects" +msgstr "Objetos quadro" -#: ../../reference/datamodel.rst:1128 +#: ../../reference/datamodel.rst:1295 msgid "" -"Traceback objects represent a stack trace of an exception. A traceback " -"object is implicitly created when an exception occurs, and may also be " -"explicitly created by calling :class:`types.TracebackType`." +"Frame objects represent execution frames. They may occur in :ref:`traceback " +"objects `, and are also passed to registered trace " +"functions." msgstr "" -"Objetos traceback representam um stack trace (situação da pilha de execução) " -"de uma exceção. Um objeto traceback é criado implicitamente quando ocorre " -"uma exceção e também pode ser criado explicitamente chamando :class:`types." -"TracebackType`." +"Objetos quadro representam quadros de execução. Eles podem ocorrer " +"em :ref:`objetos traceback ` e também são passados para " +"funções de rastreamento registradas." -#: ../../reference/datamodel.rst:1132 +#: ../../reference/datamodel.rst:1313 +msgid "" +"Points to the previous stack frame (towards the caller), or ``None`` if this " +"is the bottom stack frame" +msgstr "" +"Aponta para o quadro de pilha anterior (em direção ao chamador), ou ``None`` " +"se este for o quadro de pilha mais abaixo." + +#: ../../reference/datamodel.rst:1317 +msgid "" +"The :ref:`code object ` being executed in this frame. " +"Accessing this attribute raises an :ref:`auditing event ` " +"``object.__getattr__`` with arguments ``obj`` and ``\"f_code\"``." +msgstr "" +"O :ref:`objeto código ` sendo executado neste quadro. Acessar " +"este atributo levanta um :ref:`evento de auditoria ` " +"``object.__getattr__`` com os argumentos ``obj`` e ``\"f_code\"``." + +#: ../../reference/datamodel.rst:1322 +msgid "" +"The dictionary used by the frame to look up :ref:`local variables `" +msgstr "" +"O dicionário usado pelo quadro para procurar :ref:`variáveis locais `" + +#: ../../reference/datamodel.rst:1326 +msgid "" +"The dictionary used by the frame to look up :ref:`global variables `" +msgstr "" +"O dicionário usado pelo quadro para procurar :ref:`variáveis globais " +"`" + +#: ../../reference/datamodel.rst:1330 +msgid "" +"The dictionary used by the frame to look up :ref:`built-in (intrinsic) names " +"`" +msgstr "" +"O dicionário usado pelo quadro para procurar :ref:`nomes embutidos " +"(intrínsecos) `" + +#: ../../reference/datamodel.rst:1334 +msgid "" +"The \"precise instruction\" of the frame object (this is an index into " +"the :term:`bytecode` string of the :ref:`code object `)" +msgstr "" +"A \"instrução precisa\" do objeto quadro (este é um índice na " +"string :term:`bytecode` do :ref:`objeto código `)" + +#: ../../reference/datamodel.rst:1350 +msgid "" +"If not ``None``, this is a function called for various events during code " +"execution (this is used by debuggers). Normally an event is triggered for " +"each new source line (see :attr:`~frame.f_trace_lines`)." +msgstr "" +"Se não for ``None``, esta é uma função chamada para vários eventos durante a " +"execução do código (isso é usado por depuradores). Normalmente, um evento é " +"disparado para cada nova linha de origem (veja :attr:`~frame.f_trace_lines`)." + +#: ../../reference/datamodel.rst:1355 +msgid "" +"Set this attribute to :const:`False` to disable triggering a tracing event " +"for each source line." +msgstr "" +"Defina este atributo como :const:`False` para desabilitar o acionamento de " +"um evento de rastreamento para cada linha de origem." + +#: ../../reference/datamodel.rst:1359 +msgid "" +"Set this attribute to :const:`True` to allow per-opcode events to be " +"requested. Note that this may lead to undefined interpreter behaviour if " +"exceptions raised by the trace function escape to the function being traced." +msgstr "" +"Defina este atributo para :const:`True` para permitir que eventos por opcode " +"sejam solicitados. Observe que isso pode levar a um comportamento indefinido " +"do interpretador se as exceções levantadas pela função de rastreamento " +"escaparem para a função que está sendo rastreada." + +#: ../../reference/datamodel.rst:1365 +msgid "" +"The current line number of the frame -- writing to this from within a trace " +"function jumps to the given line (only for the bottom-most frame). A " +"debugger can implement a Jump command (aka Set Next Statement) by writing to " +"this attribute." +msgstr "" +"O número da linha atual do quadro -- escrever para isso de dentro de uma " +"função de rastreamento faz saltar para a linha dada (apenas para o quadro " +"mais abaixo). Um depurador pode implementar um comando Jump (também " +"conhecido como Set Next Statement) escrevendo para esse atributo." + +#: ../../reference/datamodel.rst:1371 +msgid "Frame object methods" +msgstr "Métodos de objetos quadro" + +#: ../../reference/datamodel.rst:1373 +msgid "Frame objects support one method:" +msgstr "Objetos quadro têm suporte a um método:" + +#: ../../reference/datamodel.rst:1377 +msgid "" +"This method clears all references to :ref:`local variables ` held by " +"the frame. Also, if the frame belonged to a :term:`generator`, the " +"generator is finalized. This helps break reference cycles involving frame " +"objects (for example when catching an :ref:`exception ` " +"and storing its :ref:`traceback ` for later use)." +msgstr "" +"Este método limpa todas as referências a :ref:`variáveis locais ` " +"mantidas pelo quadro. Além disso, se o quadro pertencer a " +"um :term:`gerador`, o gerador é finalizado. Isso ajuda a quebrar os ciclos " +"de referência que envolvem objetos quadro (por exemplo, ao capturar " +"uma :ref:`exceção ` e armazenar seu :ref:`traceback " +"` para uso posterior)." + +#: ../../reference/datamodel.rst:1383 +msgid ":exc:`RuntimeError` is raised if the frame is currently executing." +msgstr ":exc:`RuntimeError` é levantada se o quadro estiver em execução." + +#: ../../reference/datamodel.rst:1391 +msgid "Traceback objects" +msgstr "Objetos traceback" + +#: ../../reference/datamodel.rst:1404 +msgid "" +"Traceback objects represent the stack trace of an :ref:`exception `. A traceback object is implicitly created when an exception occurs, " +"and may also be explicitly created by calling :class:`types.TracebackType`." +msgstr "" +"Objetos traceback representam o stack trace (situação da pilha de execução) " +"de uma :ref:`exceção `. Um objeto traceback é criado " +"implicitamente quando ocorre uma exceção e também pode ser criado " +"explicitamente chamando :class:`types.TracebackType`." + +#: ../../reference/datamodel.rst:1409 +msgid "Traceback objects can now be explicitly instantiated from Python code." +msgstr "" +"Objetos traceback agora podem ser instanciados explicitamente a partir de " +"código Python." + +#: ../../reference/datamodel.rst:1412 msgid "" "For implicitly created tracebacks, when the search for an exception handler " "unwinds the execution stack, at each unwound level a traceback object is " "inserted in front of the current traceback. When an exception handler is " -"entered, the stack trace is made available to the program. (See section :ref:" -"`try`.) It is accessible as the third item of the tuple returned by ``sys." -"exc_info()``, and as the ``__traceback__`` attribute of the caught exception." +"entered, the stack trace is made available to the program. (See " +"section :ref:`try`.) It is accessible as the third item of the tuple " +"returned by :func:`sys.exc_info`, and as " +"the :attr:`~BaseException.__traceback__` attribute of the caught exception." msgstr "" "Para tracebacks criados implicitamente, quando a busca por um manipulador de " "exceção desenrola a pilha de execução, em cada nível desenrolado um objeto " "traceback é inserido na frente do traceback atual. Quando um manipulador de " "exceção é inserido, o stack trace é disponibilizado para o programa. (Veja a " -"seção :ref:`try`.) É acessível como o terceiro item da tupla retornada por " -"``sys.exc_info()``, e como o atributo ``__traceback__`` da exceção capturada." +"seção :ref:`try`.) É acessível como o terceiro item da tupla retornada " +"por :func:`sys.exc_info`, e como o " +"atributo :attr:`~BaseException.__traceback__` da exceção capturada." -#: ../../reference/datamodel.rst:1140 +#: ../../reference/datamodel.rst:1421 msgid "" "When the program contains no suitable handler, the stack trace is written " "(nicely formatted) to the standard error stream; if the interpreter is " -"interactive, it is also made available to the user as ``sys.last_traceback``." +"interactive, it is also made available to the user " +"as :data:`sys.last_traceback`." msgstr "" "Quando o programa não contém um manipulador adequado, o stack trace é " "escrito (formatado de maneira adequada) no fluxo de erro padrão; se o " -"interpretador for interativo, ele também é disponibilizado ao usuário como " -"``sys.last_traceback``." +"interpretador for interativo, ele também é disponibilizado ao usuário " +"como :data:`sys.last_traceback`." -#: ../../reference/datamodel.rst:1145 +#: ../../reference/datamodel.rst:1426 msgid "" "For explicitly created tracebacks, it is up to the creator of the traceback " -"to determine how the ``tb_next`` attributes should be linked to form a full " -"stack trace." +"to determine how the :attr:`~traceback.tb_next` attributes should be linked " +"to form a full stack trace." msgstr "" "Para tracebacks criados explicitamente, cabe ao criador do traceback " -"determinar como os atributos ``tb_next`` devem ser vinculados para formar um " -"stack trace completo." +"determinar como os atributos :attr:`~traceback.tb_next` devem ser vinculados " +"para formar um stack trace completo." -#: ../../reference/datamodel.rst:1155 +#: ../../reference/datamodel.rst:1441 msgid "" -"Special read-only attributes: :attr:`tb_frame` points to the execution frame " -"of the current level; :attr:`tb_lineno` gives the line number where the " -"exception occurred; :attr:`tb_lasti` indicates the precise instruction. The " -"line number and last instruction in the traceback may differ from the line " -"number of its frame object if the exception occurred in a :keyword:`try` " -"statement with no matching except clause or with a finally clause." +"Points to the execution :ref:`frame ` of the current level." msgstr "" -"Atributos especiais de somente leitura: :attr:`tb_frame` aponta para o " -"quadro de execução do nível atual; :attr:`tb_lineno` fornece o número da " -"linha onde ocorreu a exceção; :attr:`tb_lasti` indica a instrução precisa. O " -"número da linha e a última instrução no traceback podem diferir do número da " -"linha de seu objeto quadro se a exceção ocorreu em uma instrução :keyword:" -"`try` sem cláusula except correspondente ou com uma cláusula finally." +"Aponta para o :ref:`quadro ` de execução do nível atual." -#: ../../reference/datamodel.rst:1164 +#: ../../reference/datamodel.rst:1444 msgid "" -"Accessing ``tb_frame`` raises an :ref:`auditing event ` ``object." -"__getattr__`` with arguments ``obj`` and ``\"tb_frame\"``." +"Accessing this attribute raises an :ref:`auditing event ` " +"``object.__getattr__`` with arguments ``obj`` and ``\"tb_frame\"``." msgstr "" -"Acessar ``tb_frame`` levanta um :ref:`evento de auditoria ` " -"``object.__getattr__`` com argumentos ``obj`` e ``\"tb_frame\"``." +"Acessar este atributo levanta um :ref:`evento de auditoria ` " +"``object.__getattr__`` com os argumentos ``obj`` e ``\"tb_frame\"``." -#: ../../reference/datamodel.rst:1170 +#: ../../reference/datamodel.rst:1449 +msgid "Gives the line number where the exception occurred" +msgstr "Fornece o número da linha onde ocorreu a exceção" + +#: ../../reference/datamodel.rst:1452 +msgid "Indicates the \"precise instruction\"." +msgstr "Indica a \"instrução precisa\"." + +#: ../../reference/datamodel.rst:1454 msgid "" -"Special writable attribute: :attr:`tb_next` is the next level in the stack " -"trace (towards the frame where the exception occurred), or ``None`` if there " -"is no next level." +"The line number and last instruction in the traceback may differ from the " +"line number of its :ref:`frame object ` if the exception " +"occurred in a :keyword:`try` statement with no matching except clause or " +"with a :keyword:`finally` clause." msgstr "" -"Atributo especial de escrita: :attr:`tb_next` é o próximo nível no stack " -"trace (em direção ao quadro onde a exceção ocorreu), ou ``None`` se não " -"houver próximo nível." +"O número da linha e a última instrução no traceback podem diferir do número " +"da linha do seu :ref:`objeto quadro ` se a exceção ocorreu em " +"uma instrução :keyword:`try` sem cláusula except correspondente ou com uma " +"cláusula :keyword:`finally`." -#: ../../reference/datamodel.rst:1174 +#: ../../reference/datamodel.rst:1465 msgid "" -"Traceback objects can now be explicitly instantiated from Python code, and " -"the ``tb_next`` attribute of existing instances can be updated." +"The special writable attribute :attr:`!tb_next` is the next level in the " +"stack trace (towards the frame where the exception occurred), or ``None`` if " +"there is no next level." msgstr "" -"Os objetos traceback agora podem ser explicitamente instanciados a partir do " -"código Python, e o atributo ``tb_next`` das instâncias existentes pode ser " -"atualizado." +"O atributo especial de escrita :attr:`!tb_next` é o próximo nível no stack " +"trace (em direção ao quadro onde a exceção ocorreu), ou ``None`` se não " +"houver próximo nível." + +#: ../../reference/datamodel.rst:1469 +msgid "This attribute is now writable" +msgstr "Este atributo agora é gravável" -#: ../../reference/datamodel.rst:1203 +#: ../../reference/datamodel.rst:1474 msgid "Slice objects" msgstr "Objetos slice" -#: ../../reference/datamodel.rst:1181 +#: ../../reference/datamodel.rst:1478 msgid "" "Slice objects are used to represent slices for :meth:`~object.__getitem__` " "methods. They are also created by the built-in :func:`slice` function." msgstr "" -"Objetos slice são usados para representar fatias para métodos :meth:`~object." -"__getitem__`. Eles também são criados pela função embutida :func:`slice`." +"Objetos slice são usados para representar fatias para " +"métodos :meth:`~object.__getitem__`. Eles também são criados pela função " +"embutida :func:`slice`." -#: ../../reference/datamodel.rst:1190 +#: ../../reference/datamodel.rst:1487 msgid "" -"Special read-only attributes: :attr:`~slice.start` is the lower bound; :attr:" -"`~slice.stop` is the upper bound; :attr:`~slice.step` is the step value; " -"each is ``None`` if omitted. These attributes can have any type." +"Special read-only attributes: :attr:`~slice.start` is the lower " +"bound; :attr:`~slice.stop` is the upper bound; :attr:`~slice.step` is the " +"step value; each is ``None`` if omitted. These attributes can have any type." msgstr "" "Atributos especiais de somente leitura: :attr:`~slice.start` é o limite " "inferior; :attr:`~slice.stop` é o limite superior; :attr:`~slice.step` é o " "valor da diferença entre elementos subjacentes; cada um desses atributos é " -"``None`` se omitido. Eles podem ter qualquer tipo." +"``None`` se omitido. Esses atributos podem ter qualquer tipo." -#: ../../reference/datamodel.rst:1194 +#: ../../reference/datamodel.rst:1491 msgid "Slice objects support one method:" msgstr "Objetos slice têm suporte a um método:" -#: ../../reference/datamodel.rst:1198 +#: ../../reference/datamodel.rst:1495 msgid "" "This method takes a single integer argument *length* and computes " "information about the slice that the slice object would describe if applied " @@ -2054,18 +2314,18 @@ msgid "" "stride length of the slice. Missing or out-of-bounds indices are handled in " "a manner consistent with regular slices." msgstr "" -"Este método usa um único argumento inteiro *length* e calcula informações " +"Este método recebe um único argumento inteiro *length* e calcula informações " "sobre a fatia que o objeto slice descreveria se aplicado a uma sequência de " "itens de *length*. Ele retorna uma tupla de três inteiros; respectivamente, " "estes são os índices *start* e *stop* e o *step* ou comprimento de avanços " "da fatia. Índices ausentes ou fora dos limites são tratados de maneira " "consistente com fatias regulares." -#: ../../reference/datamodel.rst:1212 +#: ../../reference/datamodel.rst:1504 msgid "Static method objects" msgstr "Objetos método estático" -#: ../../reference/datamodel.rst:1206 +#: ../../reference/datamodel.rst:1506 msgid "" "Static method objects provide a way of defeating the transformation of " "function objects to method objects described above. A static method object " @@ -2084,68 +2344,69 @@ msgstr "" "também são chamáveis. Objetos método estático são criados pelo construtor " "embutido :func:`staticmethod`." -#: ../../reference/datamodel.rst:1220 +#: ../../reference/datamodel.rst:1516 msgid "Class method objects" msgstr "Objetos método de classe" -#: ../../reference/datamodel.rst:1215 +#: ../../reference/datamodel.rst:1518 msgid "" "A class method object, like a static method object, is a wrapper around " "another object that alters the way in which that object is retrieved from " "classes and class instances. The behaviour of class method objects upon such " -"retrieval is described above, under \"User-defined methods\". Class method " -"objects are created by the built-in :func:`classmethod` constructor." +"retrieval is described above, under :ref:`\"instance methods\" `. Class method objects are created by the built-" +"in :func:`classmethod` constructor." msgstr "" "Um objeto método de classe, como um objeto método estático, é um invólucro " "em torno de outro objeto que altera a maneira como esse objeto é recuperado " "de classes e instâncias de classe. O comportamento dos objetos método de " -"classe após tal recuperação é descrito acima, em \"Métodos definidos pelo " -"usuário\". Objetos método de classe são criados pelo construtor embutido :" -"func:`classmethod`." +"classe após tal recuperação é descrito acima, sob :ref:`\"métodos de " +"instância\" `. Objetos método de classe são criados pelo " +"construtor embutido :func:`classmethod`." -#: ../../reference/datamodel.rst:1225 +#: ../../reference/datamodel.rst:1528 msgid "Special method names" msgstr "Nomes de métodos especiais" -#: ../../reference/datamodel.rst:1231 +#: ../../reference/datamodel.rst:1534 msgid "" "A class can implement certain operations that are invoked by special syntax " "(such as arithmetic operations or subscripting and slicing) by defining " "methods with special names. This is Python's approach to :dfn:`operator " "overloading`, allowing classes to define their own behavior with respect to " -"language operators. For instance, if a class defines a method named :meth:" -"`~object.__getitem__`, and ``x`` is an instance of this class, then ``x[i]`` " -"is roughly equivalent to ``type(x).__getitem__(x, i)``. Except where " -"mentioned, attempts to execute an operation raise an exception when no " -"appropriate method is defined (typically :exc:`AttributeError` or :exc:" -"`TypeError`)." +"language operators. For instance, if a class defines a method " +"named :meth:`~object.__getitem__`, and ``x`` is an instance of this class, " +"then ``x[i]`` is roughly equivalent to ``type(x).__getitem__(x, i)``. " +"Except where mentioned, attempts to execute an operation raise an exception " +"when no appropriate method is defined (typically :exc:`AttributeError` " +"or :exc:`TypeError`)." msgstr "" "Uma classe pode implementar certas operações que são chamadas por sintaxe " -"especial (como operações aritméticas ou indeixação e fatiamento), definindo " -"métodos com nomes especiais. Esta é a abordagem do Python para :dfn:" -"`sobrecarga de operador`, permitindo que as classes definam seu próprio " -"comportamento em relação aos operadores da linguagem. Por exemplo, se uma " -"classe define um método chamado :meth:`~object.__getitem__`, e ``x`` é uma " -"instância desta classe, então ``x[i]`` é aproximadamente equivalente a " +"especial (como operações aritméticas ou indexação e fatiamento), definindo " +"métodos com nomes especiais. Esta é a abordagem do Python " +"para :dfn:`sobrecarga de operador`, permitindo que as classes definam seu " +"próprio comportamento em relação aos operadores da linguagem. Por exemplo, " +"se uma classe define um método chamado :meth:`~object.__getitem__`, e ``x`` " +"é uma instância desta classe, então ``x[i]`` é aproximadamente equivalente a " "``type(x).__getitem__(x, i)``. Exceto onde mencionado, as tentativas de " "executar uma operação levantam uma exceção quando nenhum método apropriado é " "definido (tipicamente :exc:`AttributeError` ou :exc:`TypeError`)." -#: ../../reference/datamodel.rst:1242 +#: ../../reference/datamodel.rst:1545 msgid "" "Setting a special method to ``None`` indicates that the corresponding " -"operation is not available. For example, if a class sets :meth:`~object." -"__iter__` to ``None``, the class is not iterable, so calling :func:`iter` on " -"its instances will raise a :exc:`TypeError` (without falling back to :meth:" -"`~object.__getitem__`). [#]_" +"operation is not available. For example, if a class " +"sets :meth:`~object.__iter__` to ``None``, the class is not iterable, so " +"calling :func:`iter` on its instances will raise a :exc:`TypeError` (without " +"falling back to :meth:`~object.__getitem__`). [#]_" msgstr "" "Definir um método especial para ``None`` indica que a operação " -"correspondente não está disponível. Por exemplo, se uma classe define :meth:" -"`~object.__iter__` para ``None``, a classe não é iterável, então chamar :" -"func:`iter` em suas instâncias irá levantar um :exc:`TypeError` (sem " -"retroceder para :meth:`~object.__getitem__`). [#]_" +"correspondente não está disponível. Por exemplo, se uma classe " +"define :meth:`~object.__iter__` para ``None``, a classe não é iterável, " +"então chamar :func:`iter` em suas instâncias irá levantar " +"um :exc:`TypeError` (sem recorrer a :meth:`~object.__getitem__`). [#]_" -#: ../../reference/datamodel.rst:1248 +#: ../../reference/datamodel.rst:1551 msgid "" "When implementing a class that emulates any built-in type, it is important " "that the emulation only be implemented to the degree that it makes sense for " @@ -2158,14 +2419,14 @@ msgstr "" "a emulação seja implementada apenas na medida em que faça sentido para o " "objeto que está sendo modelado. Por exemplo, algumas sequências podem " "funcionar bem com a recuperação de elementos individuais, mas extrair uma " -"fatia pode não fazer sentido. (Um exemplo disso é a interface :class:`~xml." -"dom.NodeList` no Document Object Model do W3C.)" +"fatia pode não fazer sentido. (Um exemplo disso é a " +"interface :class:`~xml.dom.NodeList` no Document Object Model do W3C.)" -#: ../../reference/datamodel.rst:1259 +#: ../../reference/datamodel.rst:1562 msgid "Basic customization" msgstr "Personalização básica" -#: ../../reference/datamodel.rst:1265 +#: ../../reference/datamodel.rst:1568 msgid "" "Called to create a new instance of class *cls*. :meth:`__new__` is a static " "method (special-cased so you need not declare it as such) that takes the " @@ -2182,7 +2443,7 @@ msgstr "" "retorno de :meth:`__new__` deve ser a nova instância do objeto (geralmente " "uma instância de *cls*)." -#: ../../reference/datamodel.rst:1272 +#: ../../reference/datamodel.rst:1575 msgid "" "Typical implementations create a new instance of the class by invoking the " "superclass's :meth:`__new__` method using ``super().__new__(cls[, ...])`` " @@ -2194,7 +2455,7 @@ msgstr "" "com os argumentos apropriados e, em seguida, modificando a instância recém-" "criada conforme necessário antes de retorná-la." -#: ../../reference/datamodel.rst:1277 +#: ../../reference/datamodel.rst:1580 msgid "" "If :meth:`__new__` is invoked during object construction and it returns an " "instance of *cls*, then the new instance’s :meth:`__init__` method will be " @@ -2208,15 +2469,15 @@ msgstr "" "argumentos restantes são os mesmos que foram passados para o construtor do " "objeto." -#: ../../reference/datamodel.rst:1282 +#: ../../reference/datamodel.rst:1585 msgid "" "If :meth:`__new__` does not return an instance of *cls*, then the new " "instance's :meth:`__init__` method will not be invoked." msgstr "" -"Se :meth:`__new__` não retornar uma instância de *cls*, então o método :meth:" -"`__init__` da nova instância não será invocado." +"Se :meth:`__new__` não retornar uma instância de *cls*, então o " +"método :meth:`__init__` da nova instância não será invocado." -#: ../../reference/datamodel.rst:1285 +#: ../../reference/datamodel.rst:1588 msgid "" ":meth:`__new__` is intended mainly to allow subclasses of immutable types " "(like int, str, or tuple) to customize instance creation. It is also " @@ -2228,7 +2489,7 @@ msgstr "" "Também é comumente substituído em metaclasses personalizadas para " "personalizar a criação de classes." -#: ../../reference/datamodel.rst:1294 +#: ../../reference/datamodel.rst:1597 msgid "" "Called after the instance has been created (by :meth:`__new__`), but before " "it is returned to the caller. The arguments are those passed to the class " @@ -2239,12 +2500,13 @@ msgid "" msgstr "" "Chamado após a instância ter sido criada (por :meth:`__new__`), mas antes de " "ser retornada ao chamador. Os argumentos são aqueles passados para a " -"expressão do construtor da classe. Se uma classe base tem um método :meth:" -"`__init__`, o método :meth:`__init__` da classe derivada, se houver, deve " -"chamá-lo explicitamente para garantir a inicialização apropriada da parte da " -"classe base da instância; por exemplo: ``super().__init__([args...])``." +"expressão do construtor da classe. Se uma classe base tem um " +"método :meth:`__init__`, o método :meth:`__init__` da classe derivada, se " +"houver, deve chamá-lo explicitamente para garantir a inicialização " +"apropriada da parte da classe base da instância; por exemplo: " +"``super().__init__([args...])``." -#: ../../reference/datamodel.rst:1301 +#: ../../reference/datamodel.rst:1604 msgid "" "Because :meth:`__new__` and :meth:`__init__` work together in constructing " "objects (:meth:`__new__` to create it, and :meth:`__init__` to customize " @@ -2253,17 +2515,17 @@ msgid "" msgstr "" "Porque :meth:`__new__` e :meth:`__init__` trabalham juntos na construção de " "objetos (:meth:`__new__` para criá-lo e :meth:`__init__` para personalizá-" -"lo), nenhum valor diferente de ``None`` pode ser retornado por :meth:" -"`__init__`; fazer isso fará com que uma :exc:`TypeError` seja levantada em " -"tempo de execução." +"lo), nenhum valor diferente de ``None`` pode ser retornado " +"por :meth:`__init__`; fazer isso fará com que uma :exc:`TypeError` seja " +"levantada em tempo de execução." -#: ../../reference/datamodel.rst:1314 +#: ../../reference/datamodel.rst:1617 msgid "" "Called when the instance is about to be destroyed. This is also called a " -"finalizer or (improperly) a destructor. If a base class has a :meth:" -"`__del__` method, the derived class's :meth:`__del__` method, if any, must " -"explicitly call it to ensure proper deletion of the base class part of the " -"instance." +"finalizer or (improperly) a destructor. If a base class has " +"a :meth:`__del__` method, the derived class's :meth:`__del__` method, if " +"any, must explicitly call it to ensure proper deletion of the base class " +"part of the instance." msgstr "" "Chamado quando a instância está prestes a ser destruída. Também é chamada de " "finalizador ou (incorretamente) de destruidor. Se uma classe base tem um " @@ -2271,7 +2533,7 @@ msgstr "" "houver, deve chamá-lo explicitamente para garantir a exclusão adequada da " "parte da classe base da instância." -#: ../../reference/datamodel.rst:1320 +#: ../../reference/datamodel.rst:1623 msgid "" "It is possible (though not recommended!) for the :meth:`__del__` method to " "postpone destruction of the instance by creating a new reference to it. " @@ -2282,11 +2544,11 @@ msgid "" msgstr "" "É possível (embora não recomendado!) para o método :meth:`__del__` adiar a " "destruição da instância criando uma nova referência a ela. Isso é chamado de " -"*ressurreição* de objeto. Depende da implementação se :meth:`__del__` é " +"*ressurreição* de objeto. Depende se a implementação de :meth:`__del__` é " "chamado uma segunda vez quando um objeto ressuscitado está prestes a ser " "destruído; a implementação atual do :term:`CPython` chama-o apenas uma vez." -#: ../../reference/datamodel.rst:1327 +#: ../../reference/datamodel.rst:1630 msgid "" "It is not guaranteed that :meth:`__del__` methods are called for objects " "that still exist when the interpreter exits." @@ -2294,7 +2556,7 @@ msgstr "" "Não é garantido que os métodos :meth:`__del__` sejam chamados para objetos " "que ainda existam quando o interpretador sai." -#: ../../reference/datamodel.rst:1332 +#: ../../reference/datamodel.rst:1635 msgid "" "``del x`` doesn't directly call ``x.__del__()`` --- the former decrements " "the reference count for ``x`` by one, and the latter is only called when " @@ -2304,7 +2566,7 @@ msgstr "" "contagem de referências para ``x`` em um, e o segundo só é chamado quando a " "contagem de referências de ``x`` atinge zero." -#: ../../reference/datamodel.rst:1337 +#: ../../reference/datamodel.rst:1640 msgid "" "It is possible for a reference cycle to prevent the reference count of an " "object from going to zero. In this case, the cycle will be later detected " @@ -2322,11 +2584,11 @@ msgstr "" "referencia seu próprio traceback, que referencia o locals de todos os " "quadros capturados no traceback." -#: ../../reference/datamodel.rst:1347 +#: ../../reference/datamodel.rst:1650 msgid "Documentation for the :mod:`gc` module." msgstr "Documentação do módulo :mod:`gc`." -#: ../../reference/datamodel.rst:1351 +#: ../../reference/datamodel.rst:1654 msgid "" "Due to the precarious circumstances under which :meth:`__del__` methods are " "invoked, exceptions that occur during their execution are ignored, and a " @@ -2336,21 +2598,21 @@ msgstr "" "são invocados, as exceções que ocorrem durante sua execução são ignoradas e " "um aviso é impresso em ``sys.stderr`` em seu lugar. Em particular:" -#: ../../reference/datamodel.rst:1355 +#: ../../reference/datamodel.rst:1658 msgid "" ":meth:`__del__` can be invoked when arbitrary code is being executed, " "including from any arbitrary thread. If :meth:`__del__` needs to take a " "lock or invoke any other blocking resource, it may deadlock as the resource " -"may already be taken by the code that gets interrupted to execute :meth:" -"`__del__`." +"may already be taken by the code that gets interrupted to " +"execute :meth:`__del__`." msgstr "" ":meth:`__del__` pode ser chamado quando um código arbitrário está sendo " -"executado, incluindo de qualquer thread arbitrário. Se :meth:`__del__` " +"executado, incluindo de qualquer thread arbitrária. Se :meth:`__del__` " "precisa bloquear ou invocar qualquer outro recurso de bloqueio, pode ocorrer " "um impasse, pois o recurso já pode ter sido levado pelo código que é " "interrompido para executar :meth:`__del__`." -#: ../../reference/datamodel.rst:1361 +#: ../../reference/datamodel.rst:1664 msgid "" ":meth:`__del__` can be executed during interpreter shutdown. As a " "consequence, the global variables it needs to access (including other " @@ -2360,37 +2622,38 @@ msgid "" "such globals exist, this may help in assuring that imported modules are " "still available at the time when the :meth:`__del__` method is called." msgstr "" -":meth:`__del__` pode ser executado durante o desligamento do interpretador. " +":meth:`__del__` pode ser executado durante o encerramento do interpretador. " "Como consequência, as variáveis globais que ele precisa acessar (incluindo " "outros módulos) podem já ter sido excluídas ou definidas como ``None``. " "Python garante que os globais cujo nome comece com um único sublinhado sejam " "excluídos de seu módulo antes que outros globais sejam excluídos; se nenhuma " "outra referência a tais globais existir, isso pode ajudar a garantir que os " -"módulos importados ainda estejam disponíveis no momento em que o método :" -"meth:`__del__` for chamado." +"módulos importados ainda estejam disponíveis no momento em que o " +"método :meth:`__del__` for chamado." -#: ../../reference/datamodel.rst:1376 +#: ../../reference/datamodel.rst:1679 msgid "" "Called by the :func:`repr` built-in function to compute the \"official\" " "string representation of an object. If at all possible, this should look " "like a valid Python expression that could be used to recreate an object with " "the same value (given an appropriate environment). If this is not possible, " "a string of the form ``<...some useful description...>`` should be returned. " -"The return value must be a string object. If a class defines :meth:" -"`__repr__` but not :meth:`__str__`, then :meth:`__repr__` is also used when " -"an \"informal\" string representation of instances of that class is required." +"The return value must be a string object. If a class " +"defines :meth:`__repr__` but not :meth:`__str__`, then :meth:`__repr__` is " +"also used when an \"informal\" string representation of instances of that " +"class is required." msgstr "" "Chamado pela função embutida :func:`repr` para calcular a representação da " "string \"oficial\" de um objeto. Se possível, isso deve parecer uma " "expressão Python válida que pode ser usada para recriar um objeto com o " "mesmo valor (dado um ambiente apropriado). Se isso não for possível, uma " "string no formato ``<...alguma descrição útil...>`` deve ser retornada. O " -"valor de retorno deve ser um objeto string. Se uma classe define :meth:" -"`__repr__`, mas não :meth:`__str__`, então :meth:`__repr__` também é usado " -"quando uma representação de string \"informal\" de instâncias daquela classe " -"é necessária." +"valor de retorno deve ser um objeto string. Se uma classe " +"define :meth:`__repr__`, mas não :meth:`__str__`, então :meth:`__repr__` " +"também é usado quando uma representação de string \"informal\" de instâncias " +"daquela classe é necessária." -#: ../../reference/datamodel.rst:1385 +#: ../../reference/datamodel.rst:1688 msgid "" "This is typically used for debugging, so it is important that the " "representation is information-rich and unambiguous." @@ -2398,19 +2661,19 @@ msgstr "" "Isso é normalmente usado para depuração, portanto, é importante que a " "representação seja rica em informações e inequívoca." -#: ../../reference/datamodel.rst:1396 +#: ../../reference/datamodel.rst:1699 msgid "" -"Called by :func:`str(object) ` and the built-in functions :func:" -"`format` and :func:`print` to compute the \"informal\" or nicely printable " -"string representation of an object. The return value must be a :ref:`string " -"` object." +"Called by :func:`str(object) ` and the built-in " +"functions :func:`format` and :func:`print` to compute the \"informal\" or " +"nicely printable string representation of an object. The return value must " +"be a :ref:`string ` object." msgstr "" "Chamado por :func:`str(object) ` e as funções embutidas :func:`format` " "e :func:`print` para calcular a representação da string \"informal\" ou " -"agradável para exibição de um objeto. O valor de retorno deve ser um objeto :" -"ref:`string `." +"agradável para exibição de um objeto. O valor de retorno deve ser um " +"objeto :ref:`string `." -#: ../../reference/datamodel.rst:1401 +#: ../../reference/datamodel.rst:1704 msgid "" "This method differs from :meth:`object.__repr__` in that there is no " "expectation that :meth:`__str__` return a valid Python expression: a more " @@ -2420,15 +2683,15 @@ msgstr "" "que :meth:`__str__` retorne uma expressão Python válida: uma representação " "mais conveniente ou concisa pode ser usada." -#: ../../reference/datamodel.rst:1405 +#: ../../reference/datamodel.rst:1708 msgid "" "The default implementation defined by the built-in type :class:`object` " "calls :meth:`object.__repr__`." msgstr "" -"A implementação padrão definida pelo tipo embutido :class:`object` chama :" -"meth:`object.__repr__`." +"A implementação padrão definida pelo tipo embutido :class:`object` " +"chama :meth:`object.__repr__`." -#: ../../reference/datamodel.rst:1415 +#: ../../reference/datamodel.rst:1718 msgid "" "Called by :ref:`bytes ` to compute a byte-string representation " "of an object. This should return a :class:`bytes` object." @@ -2436,7 +2699,7 @@ msgstr "" "Chamado por :ref:`bytes ` para calcular uma representação de " "string de bytes de um objeto. Isso deve retornar um objeto :class:`bytes`." -#: ../../reference/datamodel.rst:1426 +#: ../../reference/datamodel.rst:1729 msgid "" "Called by the :func:`format` built-in function, and by extension, evaluation " "of :ref:`formatted string literals ` and the :meth:`str.format` " @@ -2447,27 +2710,27 @@ msgid "" "either delegate formatting to one of the built-in types, or use a similar " "formatting option syntax." msgstr "" -"Chamado pela função embutida :func:`format` e, por extensão, avaliação de :" -"ref:`literais de string formatadas ` e o método :meth:`str." -"format`, para produzir uma representação de string \"formatada\" de um " -"objeto. O argumento *format_spec* é uma string que contém uma descrição das " -"opções de formatação desejadas. A interpretação do argumento *format_spec* " -"depende do tipo que implementa :meth:`__format__`, entretanto a maioria das " -"classes delegará a formatação a um dos tipos embutidos ou usará uma sintaxe " -"de opção de formatação semelhante." +"Chamado pela função embutida :func:`format` e, por extensão, avaliação " +"de :ref:`literais de string formatadas ` e o " +"método :meth:`str.format`, para produzir uma representação de string " +"\"formatada\" de um objeto. O argumento *format_spec* é uma string que " +"contém uma descrição das opções de formatação desejadas. A interpretação do " +"argumento *format_spec* depende do tipo que implementa :meth:`__format__`, " +"entretanto a maioria das classes delegará a formatação a um dos tipos " +"embutidos ou usará uma sintaxe de opção de formatação semelhante." -#: ../../reference/datamodel.rst:1436 +#: ../../reference/datamodel.rst:1739 msgid "" "See :ref:`formatspec` for a description of the standard formatting syntax." msgstr "" "Consulte :ref:`formatspec` para uma descrição da sintaxe de formatação " "padrão." -#: ../../reference/datamodel.rst:1438 +#: ../../reference/datamodel.rst:1741 msgid "The return value must be a string object." msgstr "O valor de retorno deve ser um objeto string." -#: ../../reference/datamodel.rst:1440 +#: ../../reference/datamodel.rst:1743 msgid "" "The __format__ method of ``object`` itself raises a :exc:`TypeError` if " "passed any non-empty string." @@ -2475,7 +2738,7 @@ msgstr "" "O método __format__ do próprio ``object`` levanta uma :exc:`TypeError` se " "passada qualquer string não vazia." -#: ../../reference/datamodel.rst:1444 +#: ../../reference/datamodel.rst:1747 msgid "" "``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than " "``format(str(x), '')``." @@ -2483,198 +2746,212 @@ msgstr "" "``object.__format__(x, '')`` é agora equivalente a ``str(x)`` em vez de " "``format(str(x), '')``." -#: ../../reference/datamodel.rst:1460 +#: ../../reference/datamodel.rst:1763 msgid "" "These are the so-called \"rich comparison\" methods. The correspondence " -"between operator symbols and method names is as follows: ``xy`` calls ``x.__gt__(y)``, and ``x>=y`` " -"calls ``x.__ge__(y)``." +"between operator symbols and method names is as follows: ``xy`` calls " +"``x.__gt__(y)``, and ``x>=y`` calls ``x.__ge__(y)``." msgstr "" "Esses são os chamados métodos de \"comparação rica\". A correspondência " "entre os símbolos do operador e os nomes dos métodos é a seguinte: ``xy`` chama ``x.__gt__(y)`` e " -"``x>=y`` chama ``x.__ge__(y)``." +"chama ``x.__lt__(y)``, ``x<=y`` chama ``x.__le__(y)``, ``x==y`` chama " +"``x.__eq__(y)``, ``x!=y`` chama ``x.__ne__(y)``, ``x>y`` chama " +"``x.__gt__(y)`` e ``x>=y`` chama ``x.__ge__(y)``." -#: ../../reference/datamodel.rst:1466 +#: ../../reference/datamodel.rst:1769 msgid "" -"A rich comparison method may return the singleton ``NotImplemented`` if it " -"does not implement the operation for a given pair of arguments. By " +"A rich comparison method may return the singleton :data:`NotImplemented` if " +"it does not implement the operation for a given pair of arguments. By " "convention, ``False`` and ``True`` are returned for a successful comparison. " "However, these methods can return any value, so if the comparison operator " "is used in a Boolean context (e.g., in the condition of an ``if`` " "statement), Python will call :func:`bool` on the value to determine if the " "result is true or false." msgstr "" -"Um método de comparação rico pode retornar o singleton ``NotImplemented`` se " -"não implementar a operação para um determinado par de argumentos. Por " -"convenção, ``False`` e ``True`` são retornados para uma comparação bem-" -"sucedida. No entanto, esses métodos podem retornar qualquer valor, portanto, " -"se o operador de comparação for usado em um contexto booleano (por exemplo, " -"na condição de uma instrução ``if``), Python irá chamar :func:`bool` no " -"valor para determinar se o resultado for verdadeiro ou falso." - -#: ../../reference/datamodel.rst:1473 -msgid "" -"By default, ``object`` implements :meth:`__eq__` by using ``is``, returning " -"``NotImplemented`` in the case of a false comparison: ``True if x is y else " -"NotImplemented``. For :meth:`__ne__`, by default it delegates to :meth:" -"`__eq__` and inverts the result unless it is ``NotImplemented``. There are " -"no other implied relationships among the comparison operators or default " -"implementations; for example, the truth of ``(x` com suporte a operações " +"a criação de objetos :term:`hasheáveis ` que implementam operações " "de comparação personalizadas e são utilizáveis como chaves de dicionário." -#: ../../reference/datamodel.rst:1486 +#: ../../reference/datamodel.rst:1789 msgid "" "There are no swapped-argument versions of these methods (to be used when the " "left argument does not support the operation but the right argument does); " -"rather, :meth:`__lt__` and :meth:`__gt__` are each other's reflection, :meth:" -"`__le__` and :meth:`__ge__` are each other's reflection, and :meth:`__eq__` " -"and :meth:`__ne__` are their own reflection. If the operands are of " -"different types, and right operand's type is a direct or indirect subclass " -"of the left operand's type, the reflected method of the right operand has " -"priority, otherwise the left operand's method has priority. Virtual " -"subclassing is not considered." +"rather, :meth:`__lt__` and :meth:`__gt__` are each other's " +"reflection, :meth:`__le__` and :meth:`__ge__` are each other's reflection, " +"and :meth:`__eq__` and :meth:`__ne__` are their own reflection. If the " +"operands are of different types, and the right operand's type is a direct or " +"indirect subclass of the left operand's type, the reflected method of the " +"right operand has priority, otherwise the left operand's method has " +"priority. Virtual subclassing is not considered." msgstr "" "Não há versões de argumentos trocados desses métodos (a serem usados quando " -"o argumento esquerdo não tem suporta à operação, mas o argumento direito " +"o argumento esquerdo não tem suporte à operação, mas o argumento direito " "sim); em vez disso, :meth:`__lt__` e :meth:`__gt__` são o reflexo um do " -"outro, :meth:`__le__` e :meth:`__ge__` são o reflexo um do outro, e :meth:" -"`__eq__` e :meth:`__ne__` são seu próprio reflexo. Se os operandos são de " -"tipos diferentes e o tipo do operando direito é uma subclasse direta ou " -"indireta do tipo do operando esquerdo, o método refletido do operando " +"outro, :meth:`__le__` e :meth:`__ge__` são o reflexo um do outro, " +"e :meth:`__eq__` e :meth:`__ne__` são seu próprio reflexo. Se os operandos " +"são de tipos diferentes e o tipo do operando direito é uma subclasse direta " +"ou indireta do tipo do operando esquerdo, o método refletido do operando " "direito tem prioridade, caso contrário, o método do operando esquerdo tem " "prioridade. Subclasse virtual não é considerada." -#: ../../reference/datamodel.rst:1503 +#: ../../reference/datamodel.rst:1800 +msgid "" +"When no appropriate method returns any value other " +"than :data:`NotImplemented`, the ``==`` and ``!=`` operators will fall back " +"to ``is`` and ``is not``, respectively." +msgstr "" +"Quando nenhum método apropriado retorna qualquer valor diferente " +"de :data:`NotImplemented`, os operadores ``==`` e ``!=`` retornarão para " +"``is`` e ``is not``, respectivamente." + +#: ../../reference/datamodel.rst:1809 msgid "" "Called by built-in function :func:`hash` and for operations on members of " -"hashed collections including :class:`set`, :class:`frozenset`, and :class:" -"`dict`. The ``__hash__()`` method should return an integer. The only " -"required property is that objects which compare equal have the same hash " -"value; it is advised to mix together the hash values of the components of " -"the object that also play a part in comparison of objects by packing them " +"hashed collections including :class:`set`, :class:`frozenset`, " +"and :class:`dict`. The ``__hash__()`` method should return an integer. The " +"only required property is that objects which compare equal have the same " +"hash value; it is advised to mix together the hash values of the components " +"of the object that also play a part in comparison of objects by packing them " "into a tuple and hashing the tuple. Example::" msgstr "" "Chamado pela função embutida :func:`hash` e para operações em membros de " -"coleções em hash incluindo :class:`set`, :class:`frozenset` e :class:`dict`. " -"O método ``__hash__()`` deve retornar um inteiro. A única propriedade " -"necessária é que os objetos que são comparados iguais tenham o mesmo valor " -"de hash; é aconselhável misturar os valores hash dos componentes do objeto " -"que também desempenham um papel na comparação dos objetos, empacotando-os em " -"uma tupla e fazendo o hash da tupla. Exemplo::" +"coleções com hash incluindo :class:`set`, :class:`frozenset` " +"e :class:`dict`. O método ``__hash__()`` deve retornar um inteiro. A única " +"propriedade necessária é que os objetos que são comparados iguais tenham o " +"mesmo valor de hash; é aconselhável misturar os valores hash dos componentes " +"do objeto que também desempenham um papel na comparação dos objetos, " +"empacotando-os em uma tupla e fazendo o hash da tupla. Exemplo::" -#: ../../reference/datamodel.rst:1516 +#: ../../reference/datamodel.rst:1822 msgid "" -":func:`hash` truncates the value returned from an object's custom :meth:" -"`__hash__` method to the size of a :c:type:`Py_ssize_t`. This is typically " -"8 bytes on 64-bit builds and 4 bytes on 32-bit builds. If an object's :" -"meth:`__hash__` must interoperate on builds of different bit sizes, be sure " -"to check the width on all supported builds. An easy way to do this is with " -"``python -c \"import sys; print(sys.hash_info.width)\"``." +":func:`hash` truncates the value returned from an object's " +"custom :meth:`__hash__` method to the size of a :c:type:`Py_ssize_t`. This " +"is typically 8 bytes on 64-bit builds and 4 bytes on 32-bit builds. If an " +"object's :meth:`__hash__` must interoperate on builds of different bit " +"sizes, be sure to check the width on all supported builds. An easy way to " +"do this is with ``python -c \"import sys; print(sys.hash_info.width)\"``." msgstr "" ":func:`hash` trunca o valor retornado do método :meth:`__hash__` " "personalizado de um objeto para o tamanho de um :c:type:`Py_ssize_t`. Isso é " "normalmente 8 bytes em compilações de 64 bits e 4 bytes em compilações de 32 " "bits. Se o :meth:`__hash__` de um objeto deve interoperar em compilações de " "tamanhos de bits diferentes, certifique-se de verificar a largura em todas " -"as compilações suportadas. Uma maneira fácil de fazer isso é com ``python -c " -"\"import sys; print(sys.hash_info.width)\"``." +"as compilações com suporte. Uma maneira fácil de fazer isso é com ``python " +"-c \"import sys; print(sys.hash_info.width)\"``." -#: ../../reference/datamodel.rst:1524 +#: ../../reference/datamodel.rst:1830 msgid "" -"If a class does not define an :meth:`__eq__` method it should not define a :" -"meth:`__hash__` operation either; if it defines :meth:`__eq__` but not :meth:" -"`__hash__`, its instances will not be usable as items in hashable " -"collections. If a class defines mutable objects and implements an :meth:" -"`__eq__` method, it should not implement :meth:`__hash__`, since the " -"implementation of :term:`hashable` collections requires that a key's hash " -"value is immutable (if the object's hash value changes, it will be in the " -"wrong hash bucket)." +"If a class does not define an :meth:`__eq__` method it should not define " +"a :meth:`__hash__` operation either; if it defines :meth:`__eq__` but " +"not :meth:`__hash__`, its instances will not be usable as items in hashable " +"collections. If a class defines mutable objects and implements " +"an :meth:`__eq__` method, it should not implement :meth:`__hash__`, since " +"the implementation of :term:`hashable` collections requires that a key's " +"hash value is immutable (if the object's hash value changes, it will be in " +"the wrong hash bucket)." msgstr "" "Se uma classe não define um método :meth:`__eq__`, ela também não deve " -"definir uma operação :meth:`__hash__`; se define :meth:`__eq__` mas não :" -"meth:`__hash__`, suas instâncias não serão utilizáveis como itens em " +"definir uma operação :meth:`__hash__`; se define :meth:`__eq__` mas " +"não :meth:`__hash__`, suas instâncias não serão utilizáveis como itens em " "coleções hasheáveis. Se uma classe define objetos mutáveis e implementa um " "método :meth:`__eq__`, ela não deve implementar :meth:`__hash__`, uma vez " "que a implementação de coleções :term:`hasheáveis ` requer que o " "valor hash de uma chave seja imutável (se o valor hash do objeto mudar, " "estará no balde de hash errado)." -#: ../../reference/datamodel.rst:1533 +#: ../../reference/datamodel.rst:1839 msgid "" "User-defined classes have :meth:`__eq__` and :meth:`__hash__` methods by " "default; with them, all objects compare unequal (except with themselves) and " "``x.__hash__()`` returns an appropriate value such that ``x == y`` implies " "both that ``x is y`` and ``hash(x) == hash(y)``." msgstr "" -"As classes definidas pelo usuário têm os métodos :meth:`__eq__` e :meth:" -"`__hash__` por padrão; com eles, todos os objetos se comparam desiguais " -"(exceto com eles mesmos) e ``x.__hash__()`` retorna um valor apropriado tal " -"que ``x == y`` implica que ``x is y`` e ``hash(x) == hash(y)``." +"As classes definidas pelo usuário têm os métodos :meth:`__eq__` " +"e :meth:`__hash__` por padrão; com eles, todos os objetos se comparam " +"desiguais (exceto com eles mesmos) e ``x.__hash__()`` retorna um valor " +"apropriado tal que ``x == y`` implica que ``x is y`` e ``hash(x) == " +"hash(y)``." -#: ../../reference/datamodel.rst:1538 +#: ../../reference/datamodel.rst:1844 msgid "" "A class that overrides :meth:`__eq__` and does not define :meth:`__hash__` " -"will have its :meth:`__hash__` implicitly set to ``None``. When the :meth:" -"`__hash__` method of a class is ``None``, instances of the class will raise " -"an appropriate :exc:`TypeError` when a program attempts to retrieve their " -"hash value, and will also be correctly identified as unhashable when " -"checking ``isinstance(obj, collections.abc.Hashable)``." +"will have its :meth:`__hash__` implicitly set to ``None``. When " +"the :meth:`__hash__` method of a class is ``None``, instances of the class " +"will raise an appropriate :exc:`TypeError` when a program attempts to " +"retrieve their hash value, and will also be correctly identified as " +"unhashable when checking ``isinstance(obj, collections.abc.Hashable)``." msgstr "" "Uma classe que sobrescreve :meth:`__eq__` e não define :meth:`__hash__` terá " -"seu :meth:`__hash__` implicitamente definido como ``None``. Quando o método :" -"meth:`__hash__` de uma classe é ``None``, as instâncias da classe levantam " -"uma :exc:`TypeError` apropriada quando um programa tenta recuperar seu valor " -"hash, e também será identificado corretamente como inalterável ao verificar " -"``isinstance(obj, collections.abc.Hashable)``." +"seu :meth:`__hash__` implicitamente definido como ``None``. Quando o " +"método :meth:`__hash__` de uma classe é ``None``, as instâncias da classe " +"levantam uma :exc:`TypeError` apropriada quando um programa tenta recuperar " +"seu valor hash, e também será identificado corretamente como não-hasheável " +"ao verificar ``isinstance(obj, collections.abc.Hashable)``." -#: ../../reference/datamodel.rst:1545 +#: ../../reference/datamodel.rst:1851 msgid "" "If a class that overrides :meth:`__eq__` needs to retain the implementation " "of :meth:`__hash__` from a parent class, the interpreter must be told this " "explicitly by setting ``__hash__ = .__hash__``." msgstr "" -"Se uma classe que sobrescreve :meth:`__eq__` precisa manter a implementação " -"de :meth:`__hash__` de uma classe pai, o interpretador deve ser informado " -"disso explicitamente pela configuração ``__hash__ = .__hash__``." +"Se uma classe que substitui :meth:`__eq__` precisa manter a implementação " +"de :meth:`__hash__` de uma classe base, o interpretador deve ser informado " +"disso explicitamente pela configuração ``__hash__ = .__hash__``." -#: ../../reference/datamodel.rst:1549 +#: ../../reference/datamodel.rst:1855 msgid "" "If a class that does not override :meth:`__eq__` wishes to suppress hash " "support, it should include ``__hash__ = None`` in the class definition. A " -"class which defines its own :meth:`__hash__` that explicitly raises a :exc:" -"`TypeError` would be incorrectly identified as hashable by an " +"class which defines its own :meth:`__hash__` that explicitly raises " +"a :exc:`TypeError` would be incorrectly identified as hashable by an " "``isinstance(obj, collections.abc.Hashable)`` call." msgstr "" "Se uma classe que não substitui :meth:`__eq__` deseja suprimir o suporte a " "hash, deve incluir ``__hash__ = None`` na definição de classe. Uma classe " -"que define seu próprio :meth:`__hash__` que levanta explicitamente uma :exc:" -"`TypeError` seria incorretamente identificada como hasheável por uma chamada " -"``isinstance(obj, collections.abc.Hashable)``." +"que define seu próprio :meth:`__hash__` que levanta explicitamente " +"uma :exc:`TypeError` seria incorretamente identificada como hasheável por " +"uma chamada ``isinstance(obj, collections.abc.Hashable)``." -#: ../../reference/datamodel.rst:1558 +#: ../../reference/datamodel.rst:1864 msgid "" "By default, the :meth:`__hash__` values of str and bytes objects are " "\"salted\" with an unpredictable random value. Although they remain " @@ -2686,15 +2963,20 @@ msgstr "" "constantes em um processo individual do Python, eles não são previsíveis " "entre invocações repetidas do Python." -#: ../../reference/datamodel.rst:1563 +#: ../../reference/datamodel.rst:1869 msgid "" "This is intended to provide protection against a denial-of-service caused by " "carefully chosen inputs that exploit the worst case performance of a dict " -"insertion, O(n\\ :sup:`2`) complexity. See http://ocert.org/advisories/" -"ocert-2011-003.html for details." +"insertion, *O*\\ (*n*\\ :sup:`2`) complexity. See http://ocert.org/" +"advisories/ocert-2011-003.html for details." msgstr "" +"Isso se destina a fornecer proteção contra uma negação de serviço causada " +"por entradas cuidadosamente escolhidas que exploram o pior caso de " +"desempenho de uma inserção de dicionário, complexidade *O*\\ " +"(*n*\\ :sup:`2`). Consulte http://ocert.org/advisories/ocert-2011-003.html " +"para obter detalhes." -#: ../../reference/datamodel.rst:1568 +#: ../../reference/datamodel.rst:1874 msgid "" "Changing hash values affects the iteration order of sets. Python has never " "made guarantees about this ordering (and it typically varies between 32-bit " @@ -2704,34 +2986,35 @@ msgstr "" "nunca deu garantias sobre essa ordem (e normalmente varia entre compilações " "de 32 e 64 bits)." -#: ../../reference/datamodel.rst:1572 +#: ../../reference/datamodel.rst:1878 msgid "See also :envvar:`PYTHONHASHSEED`." msgstr "Consulte também :envvar:`PYTHONHASHSEED`." -#: ../../reference/datamodel.rst:1574 +#: ../../reference/datamodel.rst:1880 msgid "Hash randomization is enabled by default." msgstr "Aleatorização de hash está habilitada por padrão." -#: ../../reference/datamodel.rst:1582 +#: ../../reference/datamodel.rst:1888 msgid "" "Called to implement truth value testing and the built-in operation " "``bool()``; should return ``False`` or ``True``. When this method is not " -"defined, :meth:`__len__` is called, if it is defined, and the object is " -"considered true if its result is nonzero. If a class defines neither :meth:" -"`__len__` nor :meth:`__bool__`, all its instances are considered true." +"defined, :meth:`~object.__len__` is called, if it is defined, and the object " +"is considered true if its result is nonzero. If a class defines " +"neither :meth:`!__len__` nor :meth:`!__bool__`, all its instances are " +"considered true." msgstr "" -"Chamado para implementar o teste de valor de verdade e a operação embutida " +"Chamado para implementar o teste de valor verdade e a operação embutida " "``bool()``; deve retornar ``False`` ou ``True``. Quando este método não é " -"definido, :meth:`__len__` é chamado, se estiver definido, e o objeto é " -"considerado verdadeiro se seu resultado for diferente de zero. Se uma classe " -"não define :meth:`__len__` nem :meth:`__bool__`, todas as suas instâncias " -"são consideradas verdadeiras." +"definido, :meth:`~object.__len__` é chamado, se estiver definido, e o objeto " +"é considerado verdadeiro se seu resultado for diferente de zero. Se uma " +"classe não define :meth:`!__len__` nem :meth:`!__bool__`, todas as suas " +"instâncias são consideradas verdadeiras." -#: ../../reference/datamodel.rst:1593 +#: ../../reference/datamodel.rst:1899 msgid "Customizing attribute access" msgstr "Personalizando o acesso aos atributos" -#: ../../reference/datamodel.rst:1595 +#: ../../reference/datamodel.rst:1901 msgid "" "The following methods can be defined to customize the meaning of attribute " "access (use of, assignment to, or deletion of ``x.name``) for class " @@ -2741,45 +3024,47 @@ msgstr "" "acesso aos atributos (uso, atribuição ou exclusão de ``x.name``) para " "instâncias de classe." -#: ../../reference/datamodel.rst:1603 +#: ../../reference/datamodel.rst:1909 msgid "" "Called when the default attribute access fails with an :exc:`AttributeError` " "(either :meth:`__getattribute__` raises an :exc:`AttributeError` because " "*name* is not an instance attribute or an attribute in the class tree for " -"``self``; or :meth:`__get__` of a *name* property raises :exc:" -"`AttributeError`). This method should either return the (computed) " -"attribute value or raise an :exc:`AttributeError` exception." -msgstr "" -"Chamado quando o acesso padrão ao atributos falha com um :exc:" -"`AttributeError` (ou :meth:`__getattribute__` levanta uma :exc:" -"`AttributeError` porque *name* não é um atributo de instância ou um atributo " -"na árvore de classes para ``self``; ou :meth:`__get__` de uma propriedade " -"*name* levanta :exc:`AttributeError`). Este método deve retornar o valor do " -"atributo (calculado) ou levantar uma exceção :exc:`AttributeError`." - -#: ../../reference/datamodel.rst:1610 -msgid "" -"Note that if the attribute is found through the normal mechanism, :meth:" -"`__getattr__` is not called. (This is an intentional asymmetry between :" -"meth:`__getattr__` and :meth:`__setattr__`.) This is done both for " -"efficiency reasons and because otherwise :meth:`__getattr__` would have no " -"way to access other attributes of the instance. Note that at least for " -"instance variables, you can fake total control by not inserting any values " -"in the instance attribute dictionary (but instead inserting them in another " -"object). See the :meth:`__getattribute__` method below for a way to " +"``self``; or :meth:`__get__` of a *name* property " +"raises :exc:`AttributeError`). This method should either return the " +"(computed) attribute value or raise an :exc:`AttributeError` exception." +msgstr "" +"Chamado quando o acesso padrão ao atributo falha com " +"um :exc:`AttributeError` (ou :meth:`__getattribute__` levanta " +"uma :exc:`AttributeError` porque *name* não é um atributo de instância ou um " +"atributo na árvore de classes para ``self``; ou :meth:`__get__` de uma " +"propriedade *name* levanta :exc:`AttributeError`). Este método deve retornar " +"o valor do atributo (calculado) ou levantar uma " +"exceção :exc:`AttributeError`." + +#: ../../reference/datamodel.rst:1916 +msgid "" +"Note that if the attribute is found through the normal " +"mechanism, :meth:`__getattr__` is not called. (This is an intentional " +"asymmetry between :meth:`__getattr__` and :meth:`__setattr__`.) This is done " +"both for efficiency reasons and because otherwise :meth:`__getattr__` would " +"have no way to access other attributes of the instance. Note that at least " +"for instance variables, you can fake total control by not inserting any " +"values in the instance attribute dictionary (but instead inserting them in " +"another object). See the :meth:`__getattribute__` method below for a way to " "actually get total control over attribute access." msgstr "" -"Observe que se o atributo for encontrado através do mecanismo normal, :meth:" -"`__getattr__` não é chamado. (Esta é uma assimetria intencional entre :meth:" -"`__getattr__` e :meth:`__setattr__`.) Isso é feito tanto por razões de " -"eficiência quanto porque :meth:`__getattr__` não teria como acessar outros " -"atributos da instância. Observe que pelo menos para variáveis de instâncias, " -"você pode fingir controle total não inserindo nenhum valor no dicionário de " -"atributos de instância (mas, em vez disso, inserindo-os em outro objeto). " -"Veja o método :meth:`__getattribute__` abaixo para uma maneira de realmente " -"obter controle total sobre o acesso ao atributo." +"Note que se o atributo for encontrado pelo mecanismo " +"normal, :meth:`__getattr__` não é chamado. (Esta é uma assimetria " +"intencional entre :meth:`__getattr__` e :meth:`__setattr__`.) Isto é feito " +"tanto por razões de eficiência quanto porque, de outra " +"forma, :meth:`__getattr__` não teria como acessar outros atributos da " +"instância. Note que, pelo menos para variáveis de instância, você pode " +"fingir controle total não inserindo nenhum valor no dicionário de atributos " +"de instância (mas, em vez disso, inserindo-os em outro objeto). Veja o " +"método :meth:`__getattribute__` abaixo para uma maneira de realmente obter " +"controle total sobre o acesso ao atributo." -#: ../../reference/datamodel.rst:1623 +#: ../../reference/datamodel.rst:1929 msgid "" "Called unconditionally to implement attribute accesses for instances of the " "class. If the class also defines :meth:`__getattr__`, the latter will not be " @@ -2794,23 +3079,24 @@ msgstr "" "instâncias da classe. Se a classe também define :meth:`__getattr__`, o " "último não será chamado a menos que :meth:`__getattribute__` o chame " "explicitamente ou levante um :exc:`AttributeError`. Este método deve " -"retornar o valor do atributo (calculado) ou levantar uma exceção :exc:" -"`AttributeError`. Para evitar recursão infinita neste método, sua " -"implementação deve sempre chamar o método da classe base com o mesmo nome " -"para acessar quaisquer atributos de que necessita, por exemplo, ``object." -"__getattribute__(self, name)``." +"retornar o valor do atributo (calculado) ou levantar uma " +"exceção :exc:`AttributeError`. Para evitar recursão infinita neste método, " +"sua implementação deve sempre chamar o método da classe base com o mesmo " +"nome para acessar quaisquer atributos de que necessita, por exemplo, " +"``object.__getattribute__(self, name)``." -#: ../../reference/datamodel.rst:1634 +#: ../../reference/datamodel.rst:1940 msgid "" "This method may still be bypassed when looking up special methods as the " -"result of implicit invocation via language syntax or built-in functions. " -"See :ref:`special-lookup`." +"result of implicit invocation via language syntax or :ref:`built-in " +"functions `. See :ref:`special-lookup`." msgstr "" "Este método ainda pode ser ignorado ao procurar métodos especiais como " -"resultado de invocação implícita por meio da sintaxe da linguagem ou funções " -"embutidas. Consulte :ref:`special-lookup`." +"resultado de invocação implícita por meio da sintaxe da linguagem " +"ou :ref:`built-in functions `. Consulte :ref:`special-" +"lookup`." -#: ../../reference/datamodel.rst:1638 +#: ../../reference/datamodel.rst:1945 msgid "" "Raises an :ref:`auditing event ` ``object.__getattr__`` with " "arguments ``obj``, ``name``." @@ -2818,36 +3104,37 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``object.__getattr__`` com " "argumentos ``obj``, ``name``." -#: ../../reference/datamodel.rst:1640 +#: ../../reference/datamodel.rst:1947 msgid "" "For certain sensitive attribute accesses, raises an :ref:`auditing event " "` ``object.__getattr__`` with arguments ``obj`` and ``name``." msgstr "" "Para acessos a certos atributos sensíveis, levanta um :ref:`evento de " -"auditoria ` ``object.__getattr__`` com argumentos ``obj`` e " +"auditoria ` ``object.__getattr__`` com os argumentos ``obj`` e " "``name``." -#: ../../reference/datamodel.rst:1647 +#: ../../reference/datamodel.rst:1954 msgid "" "Called when an attribute assignment is attempted. This is called instead of " "the normal mechanism (i.e. store the value in the instance dictionary). " "*name* is the attribute name, *value* is the value to be assigned to it." msgstr "" -"Chamado quando uma atribuição de atributo é tentada. Isso é chamado em vez " -"do mecanismo normal (ou seja, armazena o valor no dicionário da instância). " -"*name* é o nome do atributo, *value* é o valor a ser atribuído a ele." +"Chamado quando se tenta efetuar uma atribuição de atributos. Esse método é " +"chamado em vez do mecanismo normal (ou seja, armazena o valor no dicionário " +"da instância). *name* é o nome do atributo, *value* é o valor a ser " +"atribuído a ele." -#: ../../reference/datamodel.rst:1651 +#: ../../reference/datamodel.rst:1958 msgid "" "If :meth:`__setattr__` wants to assign to an instance attribute, it should " -"call the base class method with the same name, for example, ``object." -"__setattr__(self, name, value)``." +"call the base class method with the same name, for example, " +"``object.__setattr__(self, name, value)``." msgstr "" "Se :meth:`__setattr__` deseja atribuir a um atributo de instância, ele deve " -"chamar o método da classe base com o mesmo nome, por exemplo, ``object." -"__setattr__(self, name, value)``." +"chamar o método da classe base com o mesmo nome, por exemplo, " +"``object.__setattr__(self, name, value)``." -#: ../../reference/datamodel.rst:1655 +#: ../../reference/datamodel.rst:1962 msgid "" "Raises an :ref:`auditing event ` ``object.__setattr__`` with " "arguments ``obj``, ``name``, ``value``." @@ -2855,27 +3142,27 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``object.__setattr__`` com " "argumentos ``obj``, ``name``, ``value``." -#: ../../reference/datamodel.rst:1657 +#: ../../reference/datamodel.rst:1964 msgid "" "For certain sensitive attribute assignments, raises an :ref:`auditing event " "` ``object.__setattr__`` with arguments ``obj``, ``name``, " "``value``." msgstr "" "Para atribuições de certos atributos sensíveis, levanta um :ref:`evento de " -"auditoria ` ``object.__setattr__`` com argumentos ``obj``, " +"auditoria ` ``object.__setattr__`` com os argumentos ``obj``, " "``name`` e ``value``." -#: ../../reference/datamodel.rst:1664 +#: ../../reference/datamodel.rst:1971 msgid "" "Like :meth:`__setattr__` but for attribute deletion instead of assignment. " "This should only be implemented if ``del obj.name`` is meaningful for the " "object." msgstr "" "Como :meth:`__setattr__`, mas para exclusão de atributo em vez de " -"atribuição. Isso só deve ser implementado se ``del obj.name`` for " +"atribuição. Este método só deve ser implementado se ``del obj.name`` for " "significativo para o objeto." -#: ../../reference/datamodel.rst:1667 +#: ../../reference/datamodel.rst:1974 msgid "" "Raises an :ref:`auditing event ` ``object.__delattr__`` with " "arguments ``obj``, ``name``." @@ -2883,60 +3170,60 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``object.__delattr__`` com " "argumentos ``obj``, ``name``." -#: ../../reference/datamodel.rst:1669 +#: ../../reference/datamodel.rst:1976 msgid "" "For certain sensitive attribute deletions, raises an :ref:`auditing event " "` ``object.__delattr__`` with arguments ``obj`` and ``name``." msgstr "" "Para exclusões a certos atributos sensíveis, levanta um :ref:`evento de " -"auditoria ` ``object.__delattr__`` com argumentos ``obj`` e " +"auditoria ` ``object.__delattr__`` com os argumentos ``obj`` e " "``name``." -#: ../../reference/datamodel.rst:1676 +#: ../../reference/datamodel.rst:1983 msgid "" -"Called when :func:`dir` is called on the object. A sequence must be " -"returned. :func:`dir` converts the returned sequence to a list and sorts it." +"Called when :func:`dir` is called on the object. An iterable must be " +"returned. :func:`dir` converts the returned iterable to a list and sorts it." msgstr "" -"Chamado quando :func:`dir` é chamado no objeto. Uma sequência deve ser " -"retornada. :func:`dir` converte a sequência retornada em uma lista e a " -"ordena." +"Chamado quando :func:`dir` é chamado com o objeto como argumento. Um " +"iterável deve ser retornada. :func:`dir` converte o iterável retornado em " +"uma lista e o ordena." -#: ../../reference/datamodel.rst:1681 +#: ../../reference/datamodel.rst:1988 msgid "Customizing module attribute access" msgstr "Personalizando acesso a atributos de módulos" -#: ../../reference/datamodel.rst:1688 +#: ../../reference/datamodel.rst:1995 msgid "" "Special names ``__getattr__`` and ``__dir__`` can be also used to customize " "access to module attributes. The ``__getattr__`` function at the module " "level should accept one argument which is the name of an attribute and " "return the computed value or raise an :exc:`AttributeError`. If an attribute " -"is not found on a module object through the normal lookup, i.e. :meth:" -"`object.__getattribute__`, then ``__getattr__`` is searched in the module " -"``__dict__`` before raising an :exc:`AttributeError`. If found, it is called " -"with the attribute name and the result is returned." +"is not found on a module object through the normal lookup, " +"i.e. :meth:`object.__getattribute__`, then ``__getattr__`` is searched in " +"the module ``__dict__`` before raising an :exc:`AttributeError`. If found, " +"it is called with the attribute name and the result is returned." msgstr "" "Os nomes especiais ``__getattr__`` e ``__dir__`` também podem ser usados " "para personalizar o acesso aos atributos dos módulos. A função " "``__getattr__`` no nível do módulo deve aceitar um argumento que é o nome de " -"um atributo e retornar o valor calculado ou levantar uma exceção :exc:" -"`AttributeError`. Se um atributo não for encontrado em um objeto de módulo " -"por meio da pesquisa normal, por exemplo :meth:`object.__getattribute__`, " -"então ``__getattr__`` é pesquisado no módulo ``__dict__`` antes de levantar :" -"exc:`AttributeError` . Se encontrado, ele é chamado com o nome do atributo e " -"o resultado é retornado." +"um atributo e retornar o valor calculado ou levantar uma " +"exceção :exc:`AttributeError`. Se um atributo não for encontrado em um " +"objeto de módulo por meio da pesquisa normal, por " +"exemplo :meth:`object.__getattribute__`, então ``__getattr__`` é pesquisado " +"no módulo ``__dict__`` antes de levantar :exc:`AttributeError`. Se " +"encontrado, ele é chamado com o nome do atributo e o resultado é retornado." -#: ../../reference/datamodel.rst:1697 +#: ../../reference/datamodel.rst:2004 msgid "" -"The ``__dir__`` function should accept no arguments, and return a sequence " +"The ``__dir__`` function should accept no arguments, and return an iterable " "of strings that represents the names accessible on module. If present, this " "function overrides the standard :func:`dir` search on a module." msgstr "" -"A função ``__dir__`` não deve aceitar nenhum argumento e retorna uma " -"sequência de strings que representa os nomes acessíveis no módulo. Se " -"presente, esta função substitui a pesquisa padrão :func:`dir` em um módulo." +"A função ``__dir__`` não deve aceitar nenhum argumento e retorna um iterável " +"de strings que representa os nomes acessíveis no módulo. Se presente, esta " +"função substitui a pesquisa padrão :func:`dir` em um módulo." -#: ../../reference/datamodel.rst:1701 +#: ../../reference/datamodel.rst:2008 msgid "" "For a more fine grained customization of the module behavior (setting " "attributes, properties, etc.), one can set the ``__class__`` attribute of a " @@ -2947,7 +3234,7 @@ msgstr "" "de um objeto de módulo para uma subclasse de :class:`types.ModuleType`. Por " "exemplo::" -#: ../../reference/datamodel.rst:1719 +#: ../../reference/datamodel.rst:2026 msgid "" "Defining module ``__getattr__`` and setting module ``__class__`` only affect " "lookups made using the attribute access syntax -- directly accessing the " @@ -2959,27 +3246,27 @@ msgstr "" "diretamente os globais do módulo (seja por código dentro do módulo, ou por " "meio de uma referência ao dicionário global do módulo) não tem efeito." -#: ../../reference/datamodel.rst:1724 +#: ../../reference/datamodel.rst:2031 msgid "``__class__`` module attribute is now writable." msgstr "O atributo de módulo ``__class__`` pode agora ser escrito." -#: ../../reference/datamodel.rst:1727 +#: ../../reference/datamodel.rst:2034 msgid "``__getattr__`` and ``__dir__`` module attributes." msgstr "Atributos de módulo ``__getattr__`` e ``__dir__``." -#: ../../reference/datamodel.rst:1732 +#: ../../reference/datamodel.rst:2039 msgid ":pep:`562` - Module __getattr__ and __dir__" msgstr ":pep:`562` - __getattr__ e __dir__ de módulo" -#: ../../reference/datamodel.rst:1733 +#: ../../reference/datamodel.rst:2040 msgid "Describes the ``__getattr__`` and ``__dir__`` functions on modules." msgstr "Descreve as funções ``__getattr__`` e ``__dir__`` nos módulos." -#: ../../reference/datamodel.rst:1739 +#: ../../reference/datamodel.rst:2046 msgid "Implementing Descriptors" msgstr "Implementando descritores" -#: ../../reference/datamodel.rst:1741 +#: ../../reference/datamodel.rst:2048 msgid "" "The following methods only apply when an instance of the class containing " "the method (a so-called *descriptor* class) appears in an *owner* class (the " @@ -2995,7 +3282,7 @@ msgstr "" "abaixo, \"o atributo\" refere-se ao atributo cujo nome é a chave da " "propriedade no :attr:`~object.__dict__` da classe proprietária." -#: ../../reference/datamodel.rst:1751 +#: ../../reference/datamodel.rst:2058 msgid "" "Called to get the attribute of the owner class (class attribute access) or " "of an instance of that class (instance attribute access). The optional " @@ -3009,15 +3296,15 @@ msgstr "" "a instância pela qual o atributo foi acessado, ou ``None`` quando o atributo " "é acessado por meio de *owner*." -#: ../../reference/datamodel.rst:1757 +#: ../../reference/datamodel.rst:2064 msgid "" -"This method should return the computed attribute value or raise an :exc:" -"`AttributeError` exception." +"This method should return the computed attribute value or raise " +"an :exc:`AttributeError` exception." msgstr "" "Este método deve retornar o valor do atributo calculado ou levantar uma " "exceção :exc:`AttributeError`." -#: ../../reference/datamodel.rst:1760 +#: ../../reference/datamodel.rst:2067 msgid "" ":PEP:`252` specifies that :meth:`__get__` is callable with one or two " "arguments. Python's own built-in descriptors support this specification; " @@ -3029,11 +3316,11 @@ msgstr "" ":PEP:`252` especifica que :meth:`__get__` é um chamável com um ou dois " "argumentos. Os próprios descritores embutidos do Python implementam esta " "especificação; no entanto, é provável que algumas ferramentas de terceiros " -"tenham descritores que requerem ambos os argumentos. A implementação de :" -"meth:`__getattribute__` do próprio Python sempre passa em ambos os " +"tenham descritores que requerem ambos os argumentos. A implementação " +"de :meth:`__getattribute__` do próprio Python sempre passa em ambos os " "argumentos sejam eles requeridos ou não." -#: ../../reference/datamodel.rst:1769 +#: ../../reference/datamodel.rst:2076 msgid "" "Called to set the attribute on an instance *instance* of the owner class to " "a new value, *value*." @@ -3041,7 +3328,7 @@ msgstr "" "Chamado para definir o atributo em uma instância *instance* da classe " "proprietária para um novo valor, *value*." -#: ../../reference/datamodel.rst:1772 +#: ../../reference/datamodel.rst:2079 msgid "" "Note, adding :meth:`__set__` or :meth:`__delete__` changes the kind of " "descriptor to a \"data descriptor\". See :ref:`descriptor-invocation` for " @@ -3051,16 +3338,24 @@ msgstr "" "descritor para um \"descritor de dados\". Consulte :ref:`descriptor-" "invocation` para mais detalhes." -#: ../../reference/datamodel.rst:1778 +#: ../../reference/datamodel.rst:2085 msgid "" "Called to delete the attribute on an instance *instance* of the owner class." msgstr "" "Chamado para excluir o atributo em uma instância *instance* da classe " "proprietária." -#: ../../reference/datamodel.rst:1781 +#: ../../reference/datamodel.rst:2087 +msgid "" +"Instances of descriptors may also have the :attr:`!__objclass__` attribute " +"present:" +msgstr "" +"Instâncias de descritores também podem ter o atributo :attr:`!__objclass__` " +"presente:" + +#: ../../reference/datamodel.rst:2092 msgid "" -"The attribute :attr:`__objclass__` is interpreted by the :mod:`inspect` " +"The attribute :attr:`!__objclass__` is interpreted by the :mod:`inspect` " "module as specifying the class where this object was defined (setting this " "appropriately can assist in runtime introspection of dynamic class " "attributes). For callables, it may indicate that an instance of the given " @@ -3068,7 +3363,7 @@ msgid "" "argument (for example, CPython sets this attribute for unbound methods that " "are implemented in C)." msgstr "" -"O atributo :attr:`__objclass__` é interpretado pelo módulo :mod:`inspect` " +"O atributo :attr:`!__objclass__` é interpretado pelo módulo :mod:`inspect` " "como sendo a classe onde este objeto foi definido (configurar isso " "apropriadamente pode ajudar na introspecção em tempo de execução dos " "atributos dinâmicos da classe). Para chamáveis, pode indicar que uma " @@ -3076,25 +3371,25 @@ msgstr "" "o primeiro argumento posicional (por exemplo, CPython define este atributo " "para métodos não acoplados que são implementados em C)." -#: ../../reference/datamodel.rst:1792 +#: ../../reference/datamodel.rst:2103 msgid "Invoking Descriptors" msgstr "Invocando descritores" -#: ../../reference/datamodel.rst:1794 +#: ../../reference/datamodel.rst:2105 msgid "" "In general, a descriptor is an object attribute with \"binding behavior\", " "one whose attribute access has been overridden by methods in the descriptor " -"protocol: :meth:`~object.__get__`, :meth:`~object.__set__`, and :meth:" -"`~object.__delete__`. If any of those methods are defined for an object, it " -"is said to be a descriptor." +"protocol: :meth:`~object.__get__`, :meth:`~object.__set__`, " +"and :meth:`~object.__delete__`. If any of those methods are defined for an " +"object, it is said to be a descriptor." msgstr "" "Em geral, um descritor é um atributo de objeto com \"comportamento de " "ligação\", cujo acesso ao atributo foi substituído por métodos no protocolo " -"do descritor: :meth:`~object.__get__`, :meth:`~object.__set__` e :meth:" -"`~object.__delete__`. Se qualquer um desses métodos for definido para um " -"objeto, é considerado um descritor." +"do descritor: :meth:`~object.__get__`, :meth:`~object.__set__` " +"e :meth:`~object.__delete__`. Se qualquer um desses métodos for definido " +"para um objeto, é considerado um descritor." -#: ../../reference/datamodel.rst:1800 +#: ../../reference/datamodel.rst:2111 msgid "" "The default behavior for attribute access is to get, set, or delete the " "attribute from an object's dictionary. For instance, ``a.x`` has a lookup " @@ -3103,11 +3398,11 @@ msgid "" msgstr "" "O comportamento padrão para acesso ao atributo é obter, definir ou excluir o " "atributo do dicionário de um objeto. Por exemplo, ``a.x`` tem uma cadeia de " -"pesquisa começando com ``a.__dict__['x']``, depois ``type(a)." -"__dict__['x']``, e continunando pelas classes base de ``type(a)`` excluindo " -"metaclasses." +"pesquisa começando com ``a.__dict__['x']``, depois " +"``type(a).__dict__['x']``, e continuando pelas classes bases de ``type(a)`` " +"excluindo metaclasses." -#: ../../reference/datamodel.rst:1805 +#: ../../reference/datamodel.rst:2116 msgid "" "However, if the looked-up value is an object defining one of the descriptor " "methods, then Python may override the default behavior and invoke the " @@ -3115,11 +3410,11 @@ msgid "" "depends on which descriptor methods were defined and how they were called." msgstr "" "No entanto, se o valor pesquisado for um objeto que define um dos métodos do " -"descritor, o Python pode substituir o comportamento padrão e invocar o " -"método do descritor. Onde isso ocorre na cadeia de precedência depende de " -"quais métodos descritores foram definidos e como eles foram chamados." +"descritor, Python pode substituir o comportamento padrão e invocar o método " +"do descritor. Onde isso ocorre na cadeia de precedência depende de quais " +"métodos descritores foram definidos e como eles foram chamados." -#: ../../reference/datamodel.rst:1810 +#: ../../reference/datamodel.rst:2121 msgid "" "The starting point for descriptor invocation is a binding, ``a.x``. How the " "arguments are assembled depends on ``a``:" @@ -3127,11 +3422,11 @@ msgstr "" "O ponto de partida para a invocação do descritor é uma ligação, ``a.x``. " "Como os argumentos são montados depende de ``a``:" -#: ../../reference/datamodel.rst:1815 +#: ../../reference/datamodel.rst:2126 msgid "Direct Call" msgstr "Chamada direta" -#: ../../reference/datamodel.rst:1814 +#: ../../reference/datamodel.rst:2125 msgid "" "The simplest and least common call is when user code directly invokes a " "descriptor method: ``x.__get__(a)``." @@ -3139,11 +3434,11 @@ msgstr "" "A chamada mais simples e menos comum é quando o código do usuário invoca " "diretamente um método descritor: ``x.__get__(a)``." -#: ../../reference/datamodel.rst:1819 +#: ../../reference/datamodel.rst:2130 msgid "Instance Binding" msgstr "Ligação de instâncias" -#: ../../reference/datamodel.rst:1818 +#: ../../reference/datamodel.rst:2129 msgid "" "If binding to an object instance, ``a.x`` is transformed into the call: " "``type(a).__dict__['x'].__get__(a, type(a))``." @@ -3151,64 +3446,66 @@ msgstr "" "Se estiver ligando a uma instância de objeto, ``a.x`` é transformado na " "chamada: ``type(a).__dict__['x'].__get__(a, type(a))``." -#: ../../reference/datamodel.rst:1823 +#: ../../reference/datamodel.rst:2134 msgid "Class Binding" msgstr "Ligação de classes" -#: ../../reference/datamodel.rst:1822 +#: ../../reference/datamodel.rst:2133 msgid "" -"If binding to a class, ``A.x`` is transformed into the call: ``A." -"__dict__['x'].__get__(None, A)``." +"If binding to a class, ``A.x`` is transformed into the call: " +"``A.__dict__['x'].__get__(None, A)``." msgstr "" -"Se estiver ligando a uma classe, ``A.x`` é transformado na chamada: ``A." -"__dict__['x'].__get__(None, A)``." +"Se estiver ligando a uma classe, ``A.x`` é transformado na chamada: " +"``A.__dict__['x'].__get__(None, A)``." -#: ../../reference/datamodel.rst:1829 +#: ../../reference/datamodel.rst:2140 msgid "Super Binding" msgstr "Ligação de super" -#: ../../reference/datamodel.rst:1826 +#: ../../reference/datamodel.rst:2137 msgid "" "A dotted lookup such as ``super(A, a).x`` searches ``a.__class__.__mro__`` " -"for a base class ``B`` following ``A`` and then returns ``B.__dict__['x']." -"__get__(a, A)``. If not a descriptor, ``x`` is returned unchanged." +"for a base class ``B`` following ``A`` and then returns " +"``B.__dict__['x'].__get__(a, A)``. If not a descriptor, ``x`` is returned " +"unchanged." msgstr "" "Uma pesquisa pontilhada, ou *dotted lookup*, como ``super(A, a).x`` procura " "``a.__class__.__mro__`` por uma classe base ``B`` seguindo ``A`` e então " "retorna ``B.__dict__['x'].__get__(a, A)``. Se não for um descritor, ``x`` é " "retornado inalterado." -#: ../../reference/datamodel.rst:1863 +#: ../../reference/datamodel.rst:2174 msgid "" "For instance bindings, the precedence of descriptor invocation depends on " "which descriptor methods are defined. A descriptor can define any " -"combination of :meth:`~object.__get__`, :meth:`~object.__set__` and :meth:" -"`~object.__delete__`. If it does not define :meth:`__get__`, then accessing " -"the attribute will return the descriptor object itself unless there is a " -"value in the object's instance dictionary. If the descriptor defines :meth:" -"`__set__` and/or :meth:`__delete__`, it is a data descriptor; if it defines " -"neither, it is a non-data descriptor. Normally, data descriptors define " -"both :meth:`__get__` and :meth:`__set__`, while non-data descriptors have " -"just the :meth:`__get__` method. Data descriptors with :meth:`__get__` and :" -"meth:`__set__` (and/or :meth:`__delete__`) defined always override a " -"redefinition in an instance dictionary. In contrast, non-data descriptors " -"can be overridden by instances." +"combination of :meth:`~object.__get__`, :meth:`~object.__set__` " +"and :meth:`~object.__delete__`. If it does not define :meth:`!__get__`, " +"then accessing the attribute will return the descriptor object itself unless " +"there is a value in the object's instance dictionary. If the descriptor " +"defines :meth:`!__set__` and/or :meth:`!__delete__`, it is a data " +"descriptor; if it defines neither, it is a non-data descriptor. Normally, " +"data descriptors define both :meth:`!__get__` and :meth:`!__set__`, while " +"non-data descriptors have just the :meth:`!__get__` method. Data " +"descriptors with :meth:`!__get__` and :meth:`!__set__` (and/or :meth:`!" +"__delete__`) defined always override a redefinition in an instance " +"dictionary. In contrast, non-data descriptors can be overridden by " +"instances." msgstr "" "Para ligações de instâncias, a precedência de invocação do descritor depende " "de quais métodos do descritor são definidos. Um descritor pode definir " -"qualquer combinação de :meth:`~object.__get__`, :meth:`~object.__set__` e :" -"meth:`~object.__delete__`. Se ele não definir :meth:`__get__`, então acessar " -"o atributo retornará o próprio objeto descritor, a menos que haja um valor " -"no dicionário de instância do objeto. Se o descritor define :meth:`__set__` " -"e/ou :meth:`__delete__`, é um descritor de dados; se não definir nenhum, é " -"um descritor sem dados. Normalmente, os descritores de dados definem :meth:" -"`__get__` e :meth:`__set__`, enquanto os descritores sem dados têm apenas o " -"método :meth:`__get__`. Descritores de dados com :meth:`__get__` e :meth:" -"`__set__` (e/ou :meth:`__delete__`) definidos sempre substituem uma " -"redefinição em um dicionário de instância. Em contraste, descritores sem " -"dados podem ser substituídos por instâncias." - -#: ../../reference/datamodel.rst:1877 +"qualquer combinação de :meth:`~object.__get__`, :meth:`~object.__set__` " +"e :meth:`~object.__delete__`. Se ele não definir :meth:`!__get__`, então " +"acessar o atributo retornará o próprio objeto descritor, a menos que haja um " +"valor no dicionário de instância do objeto. Se o descritor define :meth:`!" +"__set__` e/ou :meth:`!__delete__`, é um descritor de dados; se não definir " +"nenhum, é um descritor sem dados. Normalmente, os descritores de dados " +"definem :meth:`!__get__` e :meth:`!__set__`, enquanto os descritores sem " +"dados têm apenas o método :meth:`!__get__`. Descritores de dados com :meth:`!" +"__get__` e :meth:`!__set__` (e/ou :meth:`!__delete__`) definidos sempre " +"substituem uma redefinição em um dicionário de instância. Em contraste, " +"descritores sem dados podem ser substituídos por instâncias." + +#: ../../reference/datamodel.rst:2189 msgid "" "Python methods (including those decorated with :func:`@staticmethod " "` and :func:`@classmethod `) are implemented as " @@ -3222,7 +3519,7 @@ msgstr "" "substituir métodos. Isso permite que instâncias individuais adquiram " "comportamentos que diferem de outras instâncias da mesma classe." -#: ../../reference/datamodel.rst:1883 +#: ../../reference/datamodel.rst:2195 msgid "" "The :func:`property` function is implemented as a data descriptor. " "Accordingly, instances cannot override the behavior of a property." @@ -3231,11 +3528,11 @@ msgstr "" "mesma forma, as instâncias não podem substituir o comportamento de uma " "propriedade." -#: ../../reference/datamodel.rst:1890 +#: ../../reference/datamodel.rst:2202 msgid "__slots__" msgstr "__slots__" -#: ../../reference/datamodel.rst:1892 +#: ../../reference/datamodel.rst:2204 msgid "" "*__slots__* allow us to explicitly declare data members (like properties) " "and deny the creation of :attr:`~object.__dict__` and *__weakref__* (unless " @@ -3243,10 +3540,10 @@ msgid "" msgstr "" "*__slots__* permite-nos declarar explicitamente membros de dados (como " "propriedades) e negar a criação de :attr:`~object.__dict__` e *__weakref__* " -"(a menos que explicitamente declarado em *__slots__* ou disponível em um " -"pai.)" +"(a menos que explicitamente declarado em *__slots__* ou disponível em uma " +"classe base.)" -#: ../../reference/datamodel.rst:1896 +#: ../../reference/datamodel.rst:2208 msgid "" "The space saved over using :attr:`~object.__dict__` can be significant. " "Attribute lookup speed can be significantly improved as well." @@ -3255,32 +3552,33 @@ msgstr "" "significativo. A velocidade de pesquisa de atributos também pode ser " "significativamente melhorada." -#: ../../reference/datamodel.rst:1901 +#: ../../reference/datamodel.rst:2213 msgid "" "This class variable can be assigned a string, iterable, or sequence of " "strings with variable names used by instances. *__slots__* reserves space " -"for the declared variables and prevents the automatic creation of :attr:" -"`~object.__dict__` and *__weakref__* for each instance." +"for the declared variables and prevents the automatic creation " +"of :attr:`~object.__dict__` and *__weakref__* for each instance." msgstr "" "Esta variável de classe pode ser atribuída a uma string, iterável ou " "sequência de strings com nomes de variáveis usados por instâncias. " "*__slots__* reserva espaço para as variáveis declaradas e evita a criação " "automática de :attr:`~object.__dict__` e *__weakref__* para cada instância." -#: ../../reference/datamodel.rst:1911 -msgid "Notes on using *__slots__*" -msgstr "Observações ao uso de *__slots__*" +#: ../../reference/datamodel.rst:2222 +msgid "Notes on using *__slots__*:" +msgstr "Observações ao uso de *__slots__*:" -#: ../../reference/datamodel.rst:1913 +#: ../../reference/datamodel.rst:2224 msgid "" -"When inheriting from a class without *__slots__*, the :attr:`~object." -"__dict__` and *__weakref__* attribute of the instances will always be " -"accessible." +"When inheriting from a class without *__slots__*, " +"the :attr:`~object.__dict__` and *__weakref__* attribute of the instances " +"will always be accessible." msgstr "" -"Ao herdar de uma classe sem *__slots__*, os atributos :attr:`~object." -"__dict__` e *__weakref__* das instâncias vão sempre ser acessíveis." +"Ao herdar de uma classe sem *__slots__*, os " +"atributos :attr:`~object.__dict__` e *__weakref__* das instâncias sempre " +"estarão acessíveis." -#: ../../reference/datamodel.rst:1917 +#: ../../reference/datamodel.rst:2228 msgid "" "Without a :attr:`~object.__dict__` variable, instances cannot be assigned " "new variables not listed in the *__slots__* definition. Attempts to assign " @@ -3290,12 +3588,12 @@ msgid "" msgstr "" "Sem uma variável :attr:`~object.__dict__`, as instâncias não podem ser " "atribuídas a novas variáveis não listadas na definição *__slots__*. As " -"tentativas de atribuir a um nome de variável não listado levantam :exc:" -"`AttributeError`. Se a atribuição dinâmica de novas variáveis for desejada, " -"então adicione ``'__dict__'`` à sequência de strings na declaração " -"*__slots__*." +"tentativas de atribuir a um nome de variável não listado " +"levantam :exc:`AttributeError`. Se a atribuição dinâmica de novas variáveis " +"for desejada, então adicione ``'__dict__'`` à sequência de strings na " +"declaração de *__slots__*." -#: ../../reference/datamodel.rst:1924 +#: ../../reference/datamodel.rst:2235 msgid "" "Without a *__weakref__* variable for each instance, classes defining " "*__slots__* do not support :mod:`weak references ` to its " @@ -3307,7 +3605,7 @@ msgstr "" "instâncias. Se for necessário um suporte de referência fraca, adicione " "``'__weakref__'`` à sequência de strings na declaração *__slots__*." -#: ../../reference/datamodel.rst:1930 +#: ../../reference/datamodel.rst:2241 msgid "" "*__slots__* are implemented at the class level by creating :ref:`descriptors " "` for each variable name. As a result, class attributes cannot " @@ -3320,7 +3618,7 @@ msgstr "" "instância definidas por *__slots__*; caso contrário, o atributo de classe " "substituiria a atribuição do descritor." -#: ../../reference/datamodel.rst:1936 +#: ../../reference/datamodel.rst:2247 msgid "" "The action of a *__slots__* declaration is not limited to the class where it " "is defined. *__slots__* declared in parents are available in child classes. " @@ -3328,13 +3626,13 @@ msgid "" "*__weakref__* unless they also define *__slots__* (which should only contain " "names of any *additional* slots)." msgstr "" -"A ação de uma declaração *__slots__ se limita à classe em que é definida. " -"*__slots__* declarados nos pais estão disponíveis nas classes infantis. No " -"entanto, as subclasses filhas receberão um :attr:`~object.__dict__` e " +"A ação de uma declaração *__slots__* se limita à classe em que é definida. " +"*__slots__* declarados em uma classe base estão disponíveis nas subclasses. " +"No entanto, as subclasses receberão um :attr:`~object.__dict__` e " "*__weakref__* a menos que também definam *__slots__* (que deve conter apenas " "nomes de quaisquer slots *adicionais*)." -#: ../../reference/datamodel.rst:1942 +#: ../../reference/datamodel.rst:2253 msgid "" "If a class defines a slot also defined in a base class, the instance " "variable defined by the base class slot is inaccessible (except by " @@ -3348,35 +3646,35 @@ msgstr "" "significado do programa indefinido. No futuro, uma verificação pode ser " "adicionada para evitar isso." -#: ../../reference/datamodel.rst:1947 +#: ../../reference/datamodel.rst:2258 msgid "" ":exc:`TypeError` will be raised if nonempty *__slots__* are defined for a " "class derived from a :c:member:`\"variable-length\" built-in type " -"` such as :class:`int`, :class:`bytes`, and :class:" -"`tuple`." +"` such as :class:`int`, :class:`bytes`, " +"and :class:`tuple`." msgstr "" ":exc:`TypeError` será levantada se *__slots__* não vazios forem definidos " "para uma classe derivada de um tipo embutido :c:member:`\"variable-length\" " -"` como :class:`int`, :class:`bytes` e :class:" -"`tuple`." +"` como :class:`int`, :class:`bytes` " +"e :class:`tuple`." -#: ../../reference/datamodel.rst:1952 +#: ../../reference/datamodel.rst:2263 msgid "Any non-string :term:`iterable` may be assigned to *__slots__*." msgstr "Qualquer :term:`iterável` não string pode ser atribuído a *__slots__*." -#: ../../reference/datamodel.rst:1954 +#: ../../reference/datamodel.rst:2265 msgid "" "If a :class:`dictionary ` is used to assign *__slots__*, the " "dictionary keys will be used as the slot names. The values of the dictionary " -"can be used to provide per-attribute docstrings that will be recognised by :" -"func:`inspect.getdoc` and displayed in the output of :func:`help`." +"can be used to provide per-attribute docstrings that will be recognised " +"by :func:`inspect.getdoc` and displayed in the output of :func:`help`." msgstr "" "Se um :class:`dicionário ` for usado para atribuir *__slots__*, as " "chaves do dicionário serão usadas como os nomes dos slots. Os valores do " "dicionário podem ser usados para fornecer docstrings por atributo que serão " "reconhecidos por :func:`inspect.getdoc` e exibidos na saída de :func:`help`." -#: ../../reference/datamodel.rst:1959 +#: ../../reference/datamodel.rst:2270 msgid "" ":attr:`~instance.__class__` assignment works only if both classes have the " "same *__slots__*." @@ -3384,19 +3682,19 @@ msgstr "" "Atribuição de :attr:`~instance.__class__` funciona apenas se ambas as " "classes têm o mesmo *__slots__*." -#: ../../reference/datamodel.rst:1962 +#: ../../reference/datamodel.rst:2273 msgid "" ":ref:`Multiple inheritance ` with multiple slotted parent " "classes can be used, but only one parent is allowed to have attributes " "created by slots (the other bases must have empty slot layouts) - violations " "raise :exc:`TypeError`." msgstr "" -"A :ref:`herança múltipla ` com várias classes pai com slots " -"pode ser usada, mas apenas um pai tem permissão para ter atributos criados " -"por slots (as outras bases devem ter layouts de slots vazios) -- violações " -"levantam :exc:`TypeError`." +"A :ref:`herança múltipla ` com várias classes bases com slots " +"pode ser usada, mas apenas uma classe base tem permissão para ter atributos " +"criados por slots (as outras classes bases devem ter layouts de slots " +"vazios) -- violações levantam :exc:`TypeError`." -#: ../../reference/datamodel.rst:1968 +#: ../../reference/datamodel.rst:2279 msgid "" "If an :term:`iterator` is used for *__slots__* then a :term:`descriptor` is " "created for each of the iterator's values. However, the *__slots__* " @@ -3406,27 +3704,29 @@ msgstr "" "criado para cada um dos valores do iterador. No entanto, o atributo " "*__slots__* será um iterador vazio." -#: ../../reference/datamodel.rst:1976 +#: ../../reference/datamodel.rst:2287 msgid "Customizing class creation" msgstr "Personalizando a criação de classe" -#: ../../reference/datamodel.rst:1978 +#: ../../reference/datamodel.rst:2289 msgid "" -"Whenever a class inherits from another class, :meth:`~object." -"__init_subclass__` is called on the parent class. This way, it is possible " -"to write classes which change the behavior of subclasses. This is closely " -"related to class decorators, but where class decorators only affect the " -"specific class they're applied to, ``__init_subclass__`` solely applies to " -"future subclasses of the class defining the method." -msgstr "" -"Sempre que uma classe herda de outra classe, :meth:`~object." -"__init_subclass__` é chamado na classe pai. Dessa forma, é possível escrever " -"classes que alteram o comportamento das subclasses. Isso está intimamente " -"relacionado aos decoradores de classe, mas onde decoradores de classe afetam " -"apenas a classe específica à qual são aplicados, ``__init_subclass__`` " -"aplica-se apenas a futuras subclasses da classe que define o método." +"Whenever a class inherits from another " +"class, :meth:`~object.__init_subclass__` is called on the parent class. This " +"way, it is possible to write classes which change the behavior of " +"subclasses. This is closely related to class decorators, but where class " +"decorators only affect the specific class they're applied to, " +"``__init_subclass__`` solely applies to future subclasses of the class " +"defining the method." +msgstr "" +"Sempre que uma classe herda de outra " +"classe, :meth:`~object.__init_subclass__` é chamado na classe base. Dessa " +"forma, é possível escrever classes que alteram o comportamento das " +"subclasses. Isso está intimamente relacionado aos decoradores de classe, mas " +"onde decoradores de classe afetam apenas a classe específica à qual são " +"aplicados, ``__init_subclass__`` aplica-se apenas a futuras subclasses da " +"classe que define o método." -#: ../../reference/datamodel.rst:1987 +#: ../../reference/datamodel.rst:2298 msgid "" "This method is called whenever the containing class is subclassed. *cls* is " "then the new subclass. If defined as a normal instance method, this method " @@ -3436,27 +3736,27 @@ msgstr "" "é então a nova subclasse. Se definido como um método de instância normal, " "esse método é convertido implicitamente em um método de classe." -#: ../../reference/datamodel.rst:1991 +#: ../../reference/datamodel.rst:2302 msgid "" -"Keyword arguments which are given to a new class are passed to the parent's " -"class ``__init_subclass__``. For compatibility with other classes using " +"Keyword arguments which are given to a new class are passed to the parent " +"class's ``__init_subclass__``. For compatibility with other classes using " "``__init_subclass__``, one should take out the needed keyword arguments and " "pass the others over to the base class, as in::" msgstr "" -"Argumentos nomeados dados a uma nova classe são passados para a classe pai " -"``__init_subclass__``. Para compatibilidade com outras classes usando " -"``__init_subclass__``, deve-se retirar os argumentos nomeados necessários e " -"passar os outros para a classe base, como em::" +"Argumentos nomeados dados a uma nova classe são passados para " +"``__init_subclass__`` da classe base. Para compatibilidade com outras " +"classes usando ``__init_subclass__``, deve-se retirar os argumentos nomeados " +"necessários e passar os outros para a classe base, como em::" -#: ../../reference/datamodel.rst:2005 +#: ../../reference/datamodel.rst:2316 msgid "" "The default implementation ``object.__init_subclass__`` does nothing, but " "raises an error if it is called with any arguments." msgstr "" -"A implementação padrão ``object.__init_subclass__`` não faz nada, mas " +"A implementação padrão de ``object.__init_subclass__`` não faz nada, mas " "levanta um erro se for chamada com quaisquer argumentos." -#: ../../reference/datamodel.rst:2010 +#: ../../reference/datamodel.rst:2321 msgid "" "The metaclass hint ``metaclass`` is consumed by the rest of the type " "machinery, and is never passed to ``__init_subclass__`` implementations. The " @@ -3468,16 +3768,16 @@ msgstr "" "metaclasse real (em vez da dica explícita) pode ser acessada como " "``type(cls)``." -#: ../../reference/datamodel.rst:2018 +#: ../../reference/datamodel.rst:2329 msgid "" "When a class is created, :meth:`type.__new__` scans the class variables and " "makes callbacks to those with a :meth:`~object.__set_name__` hook." msgstr "" "Quando uma classe é criada, :meth:`type.__new__` verifica as variáveis de " -"classe e faz callbacks para aqueles com um gancho :meth:`~object." -"__set_name__`." +"classe e faz chamadas a funções de retorno (callback) para aqueles com um " +"gancho :meth:`~object.__set_name__`." -#: ../../reference/datamodel.rst:2023 +#: ../../reference/datamodel.rst:2334 msgid "" "Automatically called at the time the owning class *owner* is created. The " "object has been assigned to *name* in that class::" @@ -3485,25 +3785,25 @@ msgstr "" "Chamado automaticamente no momento em que a classe proprietária *owner* é " "criada. O objeto foi atribuído a *name* nessa classe::" -#: ../../reference/datamodel.rst:2029 +#: ../../reference/datamodel.rst:2340 msgid "" -"If the class variable is assigned after the class is created, :meth:" -"`__set_name__` will not be called automatically. If needed, :meth:" -"`__set_name__` can be called directly::" +"If the class variable is assigned after the class is " +"created, :meth:`__set_name__` will not be called automatically. If " +"needed, :meth:`__set_name__` can be called directly::" msgstr "" -"Se a variável de classe for atribuída após a criação da classe, :meth:" -"`__set_name__` não será chamado automaticamente. Se necessário, :meth:" -"`__set_name__` pode ser chamado diretamente::" +"Se a variável de classe for atribuída após a criação da " +"classe, :meth:`__set_name__` não será chamado automaticamente. Se " +"necessário, :meth:`__set_name__` pode ser chamado diretamente::" -#: ../../reference/datamodel.rst:2040 +#: ../../reference/datamodel.rst:2351 msgid "See :ref:`class-object-creation` for more details." msgstr "Consulte :ref:`class-object-creation` para mais detalhes." -#: ../../reference/datamodel.rst:2048 +#: ../../reference/datamodel.rst:2359 msgid "Metaclasses" msgstr "Metaclasses" -#: ../../reference/datamodel.rst:2055 +#: ../../reference/datamodel.rst:2366 msgid "" "By default, classes are constructed using :func:`type`. The class body is " "executed in a new namespace and the class name is bound locally to the " @@ -3513,7 +3813,7 @@ msgstr "" "classe é executado em um novo espaço de nomes e o nome da classe é vinculado " "localmente ao resultado de ``type(name, bases, namespace)``." -#: ../../reference/datamodel.rst:2059 +#: ../../reference/datamodel.rst:2370 msgid "" "The class creation process can be customized by passing the ``metaclass`` " "keyword argument in the class definition line, or by inheriting from an " @@ -3525,7 +3825,7 @@ msgstr "" "classe existente que incluiu tal argumento. No exemplo a seguir, ``MyClass`` " "e ``MySubclass`` são instâncias de ``Meta``::" -#: ../../reference/datamodel.rst:2073 +#: ../../reference/datamodel.rst:2384 msgid "" "Any other keyword arguments that are specified in the class definition are " "passed through to all metaclass operations described below." @@ -3533,98 +3833,106 @@ msgstr "" "Quaisquer outros argumentos nomeados especificados na definição de classe " "são transmitidos para todas as operações de metaclasse descritas abaixo." -#: ../../reference/datamodel.rst:2076 +#: ../../reference/datamodel.rst:2387 msgid "When a class definition is executed, the following steps occur:" msgstr "" "Quando uma definição de classe é executada, as seguintes etapas ocorrem:" -#: ../../reference/datamodel.rst:2078 +#: ../../reference/datamodel.rst:2389 msgid "MRO entries are resolved;" -msgstr "Entradas de MRO são resolvidas;" +msgstr "entradas de MRO são resolvidas;" -#: ../../reference/datamodel.rst:2079 +#: ../../reference/datamodel.rst:2390 msgid "the appropriate metaclass is determined;" msgstr "a metaclasse apropriada é determinada;" -#: ../../reference/datamodel.rst:2080 +#: ../../reference/datamodel.rst:2391 msgid "the class namespace is prepared;" msgstr "o espaço de nomes da classe é preparada;" -#: ../../reference/datamodel.rst:2081 +#: ../../reference/datamodel.rst:2392 msgid "the class body is executed;" msgstr "o corpo da classe é executado;" -#: ../../reference/datamodel.rst:2082 +#: ../../reference/datamodel.rst:2393 msgid "the class object is created." msgstr "o objeto da classe é criado." -#: ../../reference/datamodel.rst:2086 +#: ../../reference/datamodel.rst:2397 msgid "Resolving MRO entries" msgstr "Resolvendo entradas de MRO" -#: ../../reference/datamodel.rst:2090 -msgid "" -"If a base that appears in a class definition is not an instance of :class:" -"`type`, then an :meth:`!__mro_entries__` method is searched on the base. If " -"an :meth:`!__mro_entries__` method is found, the base is substituted with " -"the result of a call to :meth:`!__mro_entries__` when creating the class. " -"The method is called with the original bases tuple passed to the *bases* " -"parameter, and must return a tuple of classes that will be used instead of " -"the base. The returned tuple may be empty: in these cases, the original base " -"is ignored." -msgstr "" - -#: ../../reference/datamodel.rst:2102 +#: ../../reference/datamodel.rst:2401 +msgid "" +"If a base that appears in a class definition is not an instance " +"of :class:`type`, then an :meth:`!__mro_entries__` method is searched on the " +"base. If an :meth:`!__mro_entries__` method is found, the base is " +"substituted with the result of a call to :meth:`!__mro_entries__` when " +"creating the class. The method is called with the original bases tuple " +"passed to the *bases* parameter, and must return a tuple of classes that " +"will be used instead of the base. The returned tuple may be empty: in these " +"cases, the original base is ignored." +msgstr "" +"Se uma classe base que aparece em uma definição de classe não é uma " +"instância de :class:`type`, então um método :meth:`!__mro_entries__` é " +"procurado na base. Se um método :meth:`!__mro_entries__` é encontrado, a " +"base é substituída pelo resultado de uma chamada para :meth:`!" +"__mro_entries__` ao criar a classe. O método é chamado com a tupla de bases " +"original passada como parâmetro *bases*, e deve retornar uma tupla de " +"classes que serão usadas no lugar da base. A tupla retornada pode estar " +"vazia: nesses casos, a base original é ignorada." + +#: ../../reference/datamodel.rst:2413 msgid ":func:`types.resolve_bases`" -msgstr "" +msgstr ":func:`types.resolve_bases`" -#: ../../reference/datamodel.rst:2102 +#: ../../reference/datamodel.rst:2413 msgid "Dynamically resolve bases that are not instances of :class:`type`." -msgstr "" +msgstr "Dinamicamente resolve bases que não são instâncias de :class:`type`." -#: ../../reference/datamodel.rst:2104 +#: ../../reference/datamodel.rst:2415 msgid ":pep:`560`" -msgstr "" +msgstr ":pep:`560`" -#: ../../reference/datamodel.rst:2105 +#: ../../reference/datamodel.rst:2416 msgid "Core support for typing module and generic types." -msgstr "" +msgstr "Suporte básico para módulo typing e tipos genéricos." -#: ../../reference/datamodel.rst:2109 +#: ../../reference/datamodel.rst:2420 msgid "Determining the appropriate metaclass" msgstr "Determinando a metaclasse apropriada" -#: ../../reference/datamodel.rst:2113 +#: ../../reference/datamodel.rst:2424 msgid "" "The appropriate metaclass for a class definition is determined as follows:" msgstr "" "A metaclasse apropriada para uma definição de classe é determinada da " "seguinte forma:" -#: ../../reference/datamodel.rst:2115 +#: ../../reference/datamodel.rst:2426 msgid "" "if no bases and no explicit metaclass are given, then :func:`type` is used;" msgstr "" -"se nenhuma base e nenhuma metaclasse explícita forem fornecidas, então :func:" -"`type` é usada;" +"se nenhuma classe base e nenhuma metaclasse explícita forem fornecidas, " +"então :func:`type` é usada;" -#: ../../reference/datamodel.rst:2116 +#: ../../reference/datamodel.rst:2427 msgid "" -"if an explicit metaclass is given and it is *not* an instance of :func:" -"`type`, then it is used directly as the metaclass;" +"if an explicit metaclass is given and it is *not* an instance " +"of :func:`type`, then it is used directly as the metaclass;" msgstr "" -"se uma metaclasse explícita é fornecida e *não* é uma instância de :func:" -"`type`, então ela é usada diretamente como a metaclasse;" +"se uma metaclasse explícita é fornecida e *não* é uma instância " +"de :func:`type`, então ela é usada diretamente como a metaclasse;" -#: ../../reference/datamodel.rst:2118 +#: ../../reference/datamodel.rst:2429 msgid "" "if an instance of :func:`type` is given as the explicit metaclass, or bases " "are defined, then the most derived metaclass is used." msgstr "" "se uma instância de :func:`type` é fornecida como a metaclasse explícita, ou " -"bases são definidas, então a metaclasse mais derivada é usada." +"classes bases são definidas, então a metaclasse mais derivada é usada." -#: ../../reference/datamodel.rst:2121 +#: ../../reference/datamodel.rst:2432 msgid "" "The most derived metaclass is selected from the explicitly specified " "metaclass (if any) and the metaclasses (i.e. ``type(cls)``) of all specified " @@ -3634,16 +3942,16 @@ msgid "" msgstr "" "A metaclasse mais derivada é selecionada a partir da metaclasse " "explicitamente especificada (se houver) e das metaclasses (ou seja, " -"``type(cls)``) de todas as classes básicas especificadas. A metaclasse mais " +"``type(cls)``) de todas as classes bases especificadas. A metaclasse mais " "derivada é aquela que é um subtipo de *todas* essas metaclasses candidatas. " "Se nenhuma das metaclasses candidatas atender a esse critério, a definição " "de classe falhará com ``TypeError``." -#: ../../reference/datamodel.rst:2131 +#: ../../reference/datamodel.rst:2442 msgid "Preparing the class namespace" msgstr "Preparando o espaço de nomes da classe" -#: ../../reference/datamodel.rst:2136 +#: ../../reference/datamodel.rst:2447 msgid "" "Once the appropriate metaclass has been identified, then the class namespace " "is prepared. If the metaclass has a ``__prepare__`` attribute, it is called " @@ -3658,12 +3966,12 @@ msgstr "" "preparado. Se a metaclasse tiver um atributo ``__prepare__``, ela será " "chamada como ``namespace = metaclass.__prepare__(name, bases, **kwds)`` " "(onde os argumentos nomeados adicionais, se houver, vêm da definição de " -"classe) . O método ``__prepare__`` deve ser implementado como um :func:" -"`classmethod `. O espaço de nomes retornado por ``__prepare__`` " -"é passado para ``__new__``, mas quando o objeto classe final é criado, o " -"espaço de nomes é copiado para um novo ``dict``." +"classe). O método ``__prepare__`` deve ser implementado como " +"um :func:`classmethod `. O espaço de nomes retornado por " +"``__prepare__`` é passado para ``__new__``, mas quando o objeto classe final " +"é criado, o espaço de nomes é copiado para um novo ``dict``." -#: ../../reference/datamodel.rst:2145 +#: ../../reference/datamodel.rst:2456 msgid "" "If the metaclass has no ``__prepare__`` attribute, then the class namespace " "is initialised as an empty ordered mapping." @@ -3671,19 +3979,19 @@ msgstr "" "Se a metaclasse não tiver o atributo ``__prepare__``, então o espaço de " "nomes da classe é inicializado como um mapeamento ordenado vazio." -#: ../../reference/datamodel.rst:2150 +#: ../../reference/datamodel.rst:2461 msgid ":pep:`3115` - Metaclasses in Python 3000" msgstr ":pep:`3115` - Metaclasses no Python 3000" -#: ../../reference/datamodel.rst:2151 +#: ../../reference/datamodel.rst:2462 msgid "Introduced the ``__prepare__`` namespace hook" msgstr "Introduzido o gancho de espaço de nomes ``__prepare__``" -#: ../../reference/datamodel.rst:2155 +#: ../../reference/datamodel.rst:2466 msgid "Executing the class body" msgstr "Executando o corpo da classe" -#: ../../reference/datamodel.rst:2160 +#: ../../reference/datamodel.rst:2471 msgid "" "The class body is executed (approximately) as ``exec(body, globals(), " "namespace)``. The key difference from a normal call to :func:`exec` is that " @@ -3697,7 +4005,7 @@ msgstr "" "métodos) faça referência a nomes dos escopos atual e externo quando a " "definição de classe ocorre dentro de uma função." -#: ../../reference/datamodel.rst:2166 +#: ../../reference/datamodel.rst:2477 msgid "" "However, even when the class definition occurs inside the function, methods " "defined inside the class still cannot see names defined at the class scope. " @@ -3712,11 +4020,11 @@ msgstr "" "referência implícita com escopo léxico ``__class__`` descrita na próxima " "seção." -#: ../../reference/datamodel.rst:2175 +#: ../../reference/datamodel.rst:2486 msgid "Creating the class object" msgstr "Criando o objeto classe" -#: ../../reference/datamodel.rst:2182 +#: ../../reference/datamodel.rst:2493 msgid "" "Once the class namespace has been populated by executing the class body, the " "class object is created by calling ``metaclass(name, bases, namespace, " @@ -3728,18 +4036,18 @@ msgstr "" "namespace, **kwds)`` (os argumentos adicionais passados aqui são os mesmos " "passados para ``__prepare__``)." -#: ../../reference/datamodel.rst:2187 +#: ../../reference/datamodel.rst:2498 msgid "" "This class object is the one that will be referenced by the zero-argument " "form of :func:`super`. ``__class__`` is an implicit closure reference " "created by the compiler if any methods in a class body refer to either " -"``__class__`` or ``super``. This allows the zero argument form of :func:" -"`super` to correctly identify the class being defined based on lexical " -"scoping, while the class or instance that was used to make the current call " -"is identified based on the first argument passed to the method." +"``__class__`` or ``super``. This allows the zero argument form " +"of :func:`super` to correctly identify the class being defined based on " +"lexical scoping, while the class or instance that was used to make the " +"current call is identified based on the first argument passed to the method." msgstr "" -"Este objeto classe é aquele que será referenciado pela chamada a :func:" -"`super` sem argumentos. ``__class__`` é uma referência de fechamento " +"Este objeto classe é aquele que será referenciado pela chamada " +"a :func:`super` sem argumentos. ``__class__`` é uma referência de clausura " "implícita criada pelo compilador se algum método no corpo da classe se " "referir a ``__class__`` ou ``super``. Isso permite que a forma de argumento " "zero de :func:`super` identifique corretamente a classe sendo definida com " @@ -3747,7 +4055,7 @@ msgstr "" "fazer a chamada atual é identificada com base no primeiro argumento passado " "para o método." -#: ../../reference/datamodel.rst:2197 +#: ../../reference/datamodel.rst:2508 msgid "" "In CPython 3.6 and later, the ``__class__`` cell is passed to the metaclass " "as a ``__classcell__`` entry in the class namespace. If present, this must " @@ -3757,11 +4065,11 @@ msgid "" msgstr "" "No CPython 3.6 e posterior, a célula ``__class__`` é passada para a " "metaclasse como uma entrada de ``__classcell__`` no espaço de nomes da " -"classe. Se estiver presente, deve ser propagado até a chamada a ``type." -"__new__`` para que a classe seja inicializada corretamente. Não fazer isso " -"resultará em um :exc:`RuntimeError` no Python 3.8." +"classe. Se estiver presente, deve ser propagado até a chamada a " +"``type.__new__`` para que a classe seja inicializada corretamente. Não fazer " +"isso resultará em um :exc:`RuntimeError` no Python 3.8." -#: ../../reference/datamodel.rst:2203 +#: ../../reference/datamodel.rst:2514 msgid "" "When using the default metaclass :class:`type`, or any metaclass that " "ultimately calls ``type.__new__``, the following additional customization " @@ -3771,7 +4079,7 @@ msgstr "" "chame ``type.__new__``, as seguintes etapas de personalização adicionais são " "executadas depois da criação do objeto classe:" -#: ../../reference/datamodel.rst:2207 +#: ../../reference/datamodel.rst:2518 msgid "" "The ``type.__new__`` method collects all of the attributes in the class " "namespace that define a :meth:`~object.__set_name__` method;" @@ -3779,7 +4087,7 @@ msgstr "" "O método ``type.__new__`` coleta todos os atributos no espaço de nomes da " "classe que definem um método :meth:`~object.__set_name__`;" -#: ../../reference/datamodel.rst:2209 +#: ../../reference/datamodel.rst:2520 msgid "" "Those ``__set_name__`` methods are called with the class being defined and " "the assigned name of that particular attribute;" @@ -3787,15 +4095,15 @@ msgstr "" "Esses métodos ``__set_name__`` são chamados com a classe sendo definida e o " "nome atribuído para este atributo específico;" -#: ../../reference/datamodel.rst:2211 +#: ../../reference/datamodel.rst:2522 msgid "" "The :meth:`~object.__init_subclass__` hook is called on the immediate parent " "of the new class in its method resolution order." msgstr "" -"O gancho :meth:`~object.__init_subclass__` é chamado no pai imediato da nova " -"classe em sua ordem de resolução de método." +"O gancho :meth:`~object.__init_subclass__` é chamado na classe base imediata " +"da nova classe em sua ordem de resolução de método." -#: ../../reference/datamodel.rst:2214 +#: ../../reference/datamodel.rst:2525 msgid "" "After the class object is created, it is passed to the class decorators " "included in the class definition (if any) and the resulting object is bound " @@ -3805,7 +4113,7 @@ msgstr "" "classe incluídos na definição de classe (se houver) e o objeto resultante é " "vinculado ao espaço de nomes local como a classe definida." -#: ../../reference/datamodel.rst:2218 +#: ../../reference/datamodel.rst:2529 msgid "" "When a new class is created by ``type.__new__``, the object provided as the " "namespace parameter is copied to a new ordered mapping and the original " @@ -3818,19 +4126,19 @@ msgstr "" "proxy de somente leitura, que se torna o atributo :attr:`~object.__dict__` " "do objeto classe." -#: ../../reference/datamodel.rst:2225 +#: ../../reference/datamodel.rst:2536 msgid ":pep:`3135` - New super" msgstr ":pep:`3135` - Novo super" -#: ../../reference/datamodel.rst:2226 +#: ../../reference/datamodel.rst:2537 msgid "Describes the implicit ``__class__`` closure reference" -msgstr "Descreve a referência de fechamento implícita de ``__class__``" +msgstr "Descreve a referência de clausura implícita de ``__class__``" -#: ../../reference/datamodel.rst:2230 +#: ../../reference/datamodel.rst:2541 msgid "Uses for metaclasses" msgstr "Usos para metaclasses" -#: ../../reference/datamodel.rst:2232 +#: ../../reference/datamodel.rst:2543 msgid "" "The potential uses for metaclasses are boundless. Some ideas that have been " "explored include enum, logging, interface checking, automatic delegation, " @@ -3840,21 +4148,21 @@ msgstr "" "Os usos potenciais para metaclasses são ilimitados. Algumas ideias que foram " "exploradas incluem enumeradores, criação de log, verificação de interface, " "delegação automática, criação automática de propriedade, proxies, estruturas " -"e bloqueio/sincronização automático/a de recursos." +"e travamento/sincronização automático/a de recursos." -#: ../../reference/datamodel.rst:2239 +#: ../../reference/datamodel.rst:2550 msgid "Customizing instance and subclass checks" msgstr "Personalizando verificações de instância e subclasse" -#: ../../reference/datamodel.rst:2241 +#: ../../reference/datamodel.rst:2552 msgid "" -"The following methods are used to override the default behavior of the :func:" -"`isinstance` and :func:`issubclass` built-in functions." +"The following methods are used to override the default behavior of " +"the :func:`isinstance` and :func:`issubclass` built-in functions." msgstr "" "Os seguintes métodos são usados para substituir o comportamento padrão das " "funções embutidas :func:`isinstance` e :func:`issubclass`." -#: ../../reference/datamodel.rst:2244 +#: ../../reference/datamodel.rst:2555 msgid "" "In particular, the metaclass :class:`abc.ABCMeta` implements these methods " "in order to allow the addition of Abstract Base Classes (ABCs) as \"virtual " @@ -3866,7 +4174,7 @@ msgstr "" "base virtuais\" para qualquer classe ou tipo (incluindo tipos embutidos), " "incluindo outras ABCs." -#: ../../reference/datamodel.rst:2251 +#: ../../reference/datamodel.rst:2562 msgid "" "Return true if *instance* should be considered a (direct or indirect) " "instance of *class*. If defined, called to implement ``isinstance(instance, " @@ -3876,7 +4184,7 @@ msgstr "" "ou indireta) da classe *class*. Se definido, chamado para implementar " "``isinstance(instance, class)``." -#: ../../reference/datamodel.rst:2258 +#: ../../reference/datamodel.rst:2569 msgid "" "Return true if *subclass* should be considered a (direct or indirect) " "subclass of *class*. If defined, called to implement ``issubclass(subclass, " @@ -3886,7 +4194,7 @@ msgstr "" "ou indireta) da classe *class*. Se definido, chamado para implementar " "``issubclass(subclass, class)``." -#: ../../reference/datamodel.rst:2263 +#: ../../reference/datamodel.rst:2574 msgid "" "Note that these methods are looked up on the type (metaclass) of a class. " "They cannot be defined as class methods in the actual class. This is " @@ -3898,29 +4206,29 @@ msgstr "" "Isso é consistente com a pesquisa de métodos especiais que são chamados em " "instâncias, apenas neste caso a própria instância é uma classe." -#: ../../reference/datamodel.rst:2274 +#: ../../reference/datamodel.rst:2585 msgid ":pep:`3119` - Introducing Abstract Base Classes" msgstr ":pep:`3119` - Introduzindo classes base abstratas" -#: ../../reference/datamodel.rst:2271 +#: ../../reference/datamodel.rst:2582 msgid "" -"Includes the specification for customizing :func:`isinstance` and :func:" -"`issubclass` behavior through :meth:`~class.__instancecheck__` and :meth:" -"`~class.__subclasscheck__`, with motivation for this functionality in the " -"context of adding Abstract Base Classes (see the :mod:`abc` module) to the " -"language." +"Includes the specification for customizing :func:`isinstance` " +"and :func:`issubclass` behavior through :meth:`~class.__instancecheck__` " +"and :meth:`~class.__subclasscheck__`, with motivation for this functionality " +"in the context of adding Abstract Base Classes (see the :mod:`abc` module) " +"to the language." msgstr "" -"Inclui a especificação para personalizar o comportamento de :func:" -"`isinstance` e :func:`issubclass` através de :meth:`~class." -"__instancecheck__` e :meth:`~class.__subclasscheck__`, com motivação para " -"esta funcionalidade no contexto da adição de classes base abstratas (veja o " -"módulo :mod:`abc`) para a linguagem." +"Inclui a especificação para personalizar o comportamento " +"de :func:`isinstance` e :func:`issubclass` através " +"de :meth:`~class.__instancecheck__` e :meth:`~class.__subclasscheck__`, com " +"motivação para esta funcionalidade no contexto da adição de classes base " +"abstratas (veja o módulo :mod:`abc`) para a linguagem." -#: ../../reference/datamodel.rst:2279 +#: ../../reference/datamodel.rst:2590 msgid "Emulating generic types" msgstr "Emulando tipos genéricos" -#: ../../reference/datamodel.rst:2281 +#: ../../reference/datamodel.rst:2592 msgid "" "When using :term:`type annotations`, it is often useful to " "*parameterize* a :term:`generic type` using Python's square-brackets " @@ -3930,44 +4238,44 @@ msgstr "" "Quando estiver usando :term:`anotações de tipo `, é " "frequentemente útil *parametrizar* um :term:`tipo genérico` usando a notação " "de colchetes do Python. Por exemplo, a anotação ``list[int]`` pode ser usada " -"para indicar uma :class:`list` em que todos os seus elementos são do tipo :" -"class:`int`." +"para indicar uma :class:`list` em que todos os seus elementos são do " +"tipo :class:`int`." -#: ../../reference/datamodel.rst:2289 +#: ../../reference/datamodel.rst:2600 msgid ":pep:`484` - Type Hints" msgstr ":pep:`484` - Dicas de tipo" -#: ../../reference/datamodel.rst:2289 +#: ../../reference/datamodel.rst:2600 msgid "Introducing Python's framework for type annotations" -msgstr "Apresentando a estrutura do Python para anotações de tipo" +msgstr "Apresenta a estrutura do Python para anotações de tipo" -#: ../../reference/datamodel.rst:2292 +#: ../../reference/datamodel.rst:2603 msgid ":ref:`Generic Alias Types`" msgstr ":ref:`Tipos Generic Alias `" -#: ../../reference/datamodel.rst:2292 +#: ../../reference/datamodel.rst:2603 msgid "Documentation for objects representing parameterized generic classes" msgstr "" "Documentação de objetos que representam classes genéricas parametrizadas" -#: ../../reference/datamodel.rst:2295 +#: ../../reference/datamodel.rst:2606 msgid "" -":ref:`Generics`, :ref:`user-defined generics` and :" -"class:`typing.Generic`" +":ref:`Generics`, :ref:`user-defined generics` " +"and :class:`typing.Generic`" msgstr "" ":ref:`Generics`, :ref:`genéricos definidos pelo usuário` e :class:`typing.Generic`" -#: ../../reference/datamodel.rst:2295 +#: ../../reference/datamodel.rst:2606 msgid "" "Documentation on how to implement generic classes that can be parameterized " "at runtime and understood by static type-checkers." msgstr "" "Documentação sobre como implementar classes genéricas que podem ser " "parametrizadas em tempo de execução e compreendidas por verificadores de " -"tipo estático" +"tipo estático." -#: ../../reference/datamodel.rst:2298 +#: ../../reference/datamodel.rst:2609 msgid "" "A class can *generally* only be parameterized if it defines the special " "class method ``__class_getitem__()``." @@ -3975,7 +4283,7 @@ msgstr "" "Uma classe pode *geralmente* ser parametrizada somente se ela define o " "método de classe especial ``__class_getitem__()``." -#: ../../reference/datamodel.rst:2303 +#: ../../reference/datamodel.rst:2614 msgid "" "Return an object representing the specialization of a generic class by type " "arguments found in *key*." @@ -3983,49 +4291,64 @@ msgstr "" "Retorna um objeto que representa a especialização de uma classe genérica por " "argumentos de tipo encontrados em *key*." -#: ../../reference/datamodel.rst:2306 +#: ../../reference/datamodel.rst:2617 msgid "" "When defined on a class, ``__class_getitem__()`` is automatically a class " -"method. As such, there is no need for it to be decorated with :func:" -"`@classmethod` when it is defined." +"method. As such, there is no need for it to be decorated " +"with :func:`@classmethod` when it is defined." msgstr "" "Quando definido em uma classe, ``__class_getitem__()`` é automaticamente um " -"método de classe. Assim, não é necessário que seja decorado com :func:" -"`@classmethod` quando de sua definição." +"método de classe. Assim, não é necessário que seja decorado " +"com :func:`@classmethod` quando de sua definição." -#: ../../reference/datamodel.rst:2312 +#: ../../reference/datamodel.rst:2623 msgid "The purpose of *__class_getitem__*" -msgstr "" +msgstr "O propósito de *__class_getitem__*" -#: ../../reference/datamodel.rst:2314 +#: ../../reference/datamodel.rst:2625 msgid "" "The purpose of :meth:`~object.__class_getitem__` is to allow runtime " "parameterization of standard-library generic classes in order to more easily " "apply :term:`type hints` to these classes." msgstr "" +"O propósito de :meth:`~object.__class_getitem__` é permitir a parametrização " +"em tempo de execução de classes genéricas da biblioteca padrão, a fim de " +"aplicar mais facilmente :term:`dicas de tipo` a essas classes." -#: ../../reference/datamodel.rst:2318 +#: ../../reference/datamodel.rst:2629 msgid "" "To implement custom generic classes that can be parameterized at runtime and " "understood by static type-checkers, users should either inherit from a " -"standard library class that already implements :meth:`~object." -"__class_getitem__`, or inherit from :class:`typing.Generic`, which has its " -"own implementation of ``__class_getitem__()``." +"standard library class that already " +"implements :meth:`~object.__class_getitem__`, or inherit " +"from :class:`typing.Generic`, which has its own implementation of " +"``__class_getitem__()``." msgstr "" +"Para implementar classes genéricas personalizadas que podem ser " +"parametrizadas em tempo de execução e compreendidas por verificadores de " +"tipo estáticos, os usuários devem herdar de uma classe da biblioteca padrão " +"que já implementa :meth:`~object.__class_getitem__`, ou herdar " +"de :class:`typing.Generic`, que possui sua própria implementação de " +"``__class_getitem__()``." -#: ../../reference/datamodel.rst:2324 +#: ../../reference/datamodel.rst:2635 msgid "" "Custom implementations of :meth:`~object.__class_getitem__` on classes " "defined outside of the standard library may not be understood by third-party " "type-checkers such as mypy. Using ``__class_getitem__()`` on any class for " "purposes other than type hinting is discouraged." msgstr "" +"Implementações personalizadas de :meth:`~object.__class_getitem__` em " +"classes definidas fora da biblioteca padrão podem não ser compreendidas por " +"verificadores de tipo de terceiros, como o mypy. O uso de " +"``__class_getitem__()`` em qualquer classe para fins diferentes de dicas de " +"tipo é desencorajado." -#: ../../reference/datamodel.rst:2334 +#: ../../reference/datamodel.rst:2645 msgid "*__class_getitem__* versus *__getitem__*" -msgstr "" +msgstr "*__class_getitem__* versus *__getitem__*" -#: ../../reference/datamodel.rst:2336 +#: ../../reference/datamodel.rst:2647 msgid "" "Usually, the :ref:`subscription` of an object using square " "brackets will call the :meth:`~object.__getitem__` instance method defined " @@ -4034,169 +4357,204 @@ msgid "" "instead. ``__class_getitem__()`` should return a :ref:`GenericAlias` object if it is properly defined." msgstr "" +"Normalmente, a :ref:`subscription` de um objeto usando " +"colchetes chamará o método de instância :meth:`~object.__getitem__` definido " +"na classe do objeto. No entanto, se o objeto sendo subscrito for ele mesmo " +"uma classe, o método de classe :meth:`~object.__class_getitem__` pode ser " +"chamado em seu lugar. ``__class_getitem__()`` deve retornar um " +"objeto :ref:`GenericAlias` se estiver devidamente " +"definido." -#: ../../reference/datamodel.rst:2343 +#: ../../reference/datamodel.rst:2654 msgid "" "Presented with the :term:`expression` ``obj[x]``, the Python interpreter " -"follows something like the following process to decide whether :meth:" -"`~object.__getitem__` or :meth:`~object.__class_getitem__` should be called::" +"follows something like the following process to decide " +"whether :meth:`~object.__getitem__` or :meth:`~object.__class_getitem__` " +"should be called::" msgstr "" +"Apresentado com a :term:`expressão` ``obj[x]``, o interpretador de Python " +"segue algo parecido com o seguinte processo para decidir " +"se :meth:`~object.__getitem__` ou :meth:`~object.__class_getitem__` deve ser " +"chamado:" -#: ../../reference/datamodel.rst:2371 +#: ../../reference/datamodel.rst:2682 msgid "" "In Python, all classes are themselves instances of other classes. The class " "of a class is known as that class's :term:`metaclass`, and most classes have " -"the :class:`type` class as their metaclass. :class:`type` does not define :" -"meth:`~object.__getitem__`, meaning that expressions such as ``list[int]``, " -"``dict[str, float]`` and ``tuple[str, bytes]`` all result in :meth:`~object." -"__class_getitem__` being called::" -msgstr "" - -#: ../../reference/datamodel.rst:2390 -msgid "" -"However, if a class has a custom metaclass that defines :meth:`~object." -"__getitem__`, subscribing the class may result in different behaviour. An " -"example of this can be found in the :mod:`enum` module::" -msgstr "" - -#: ../../reference/datamodel.rst:2415 +"the :class:`type` class as their metaclass. :class:`type` does not " +"define :meth:`~object.__getitem__`, meaning that expressions such as " +"``list[int]``, ``dict[str, float]`` and ``tuple[str, bytes]`` all result " +"in :meth:`~object.__class_getitem__` being called::" +msgstr "" +"Em Python, todas as classes são elas mesmas instâncias de outras classes. A " +"classe de uma classe é conhecida como :term:`metaclasse` dessa classe, e a " +"maioria das classes tem a classe :class:`type` como sua " +"metaclasse. :class:`type` não define :meth:`~object.__getitem__`, o que " +"significa que expressões como ``list[int]``, ``dict[str, float]`` e " +"``tuple[str, bytes]`` resultam em chamadas " +"para :meth:`~object.__class_getitem__`::" + +#: ../../reference/datamodel.rst:2701 +msgid "" +"However, if a class has a custom metaclass that " +"defines :meth:`~object.__getitem__`, subscribing the class may result in " +"different behaviour. An example of this can be found in the :mod:`enum` " +"module::" +msgstr "" +"No entanto, se uma classe tiver uma metaclasse personalizada que " +"define :meth:`~object.__getitem__`, subscrever a classe pode resultar em " +"comportamento diferente. Um exemplo disso pode ser encontrado no " +"módulo :mod:`enum`::" + +#: ../../reference/datamodel.rst:2726 msgid ":pep:`560` - Core Support for typing module and generic types" -msgstr "" +msgstr ":pep:`560` - Suporte básico para módulo typing e tipos genéricos" -#: ../../reference/datamodel.rst:2414 +#: ../../reference/datamodel.rst:2725 msgid "" -"Introducing :meth:`~object.__class_getitem__`, and outlining when a :ref:" -"`subscription` results in ``__class_getitem__()`` being " -"called instead of :meth:`~object.__getitem__`" +"Introducing :meth:`~object.__class_getitem__`, and outlining when " +"a :ref:`subscription` results in ``__class_getitem__()`` " +"being called instead of :meth:`~object.__getitem__`" msgstr "" +"Introduz :meth:`~object.__class_getitem__`, e define quando " +"uma :ref:`subscrição` resulta na chamada de " +"``__class_getitem__()`` em vez de :meth:`~object.__getitem__`" -#: ../../reference/datamodel.rst:2422 +#: ../../reference/datamodel.rst:2733 msgid "Emulating callable objects" msgstr "Emulando objetos chamáveis" -#: ../../reference/datamodel.rst:2429 +#: ../../reference/datamodel.rst:2740 msgid "" "Called when the instance is \"called\" as a function; if this method is " "defined, ``x(arg1, arg2, ...)`` roughly translates to ``type(x).__call__(x, " "arg1, ...)``." msgstr "" "Chamado quando a instância é \"chamada\" como uma função; se este método for " -"definido, ``x(arg1, arg2, ...)`` basicamente traduz para ``type(x)." -"__call__(x, arg1, ...)``." +"definido, ``x(arg1, arg2, ...)`` basicamente traduz para " +"``type(x).__call__(x, arg1, ...)``." -#: ../../reference/datamodel.rst:2436 +#: ../../reference/datamodel.rst:2747 msgid "Emulating container types" -msgstr "Emulando de tipos contêineres" +msgstr "Emulando tipos contêineres" -#: ../../reference/datamodel.rst:2438 +#: ../../reference/datamodel.rst:2749 msgid "" "The following methods can be defined to implement container objects. " "Containers usually are :term:`sequences ` (such as :class:`lists " -"` or :class:`tuples `) or :term:`mappings ` (like :" -"class:`dictionaries `), but can represent other containers as well. " -"The first set of methods is used either to emulate a sequence or to emulate " -"a mapping; the difference is that for a sequence, the allowable keys should " -"be the integers *k* for which ``0 <= k < N`` where *N* is the length of the " -"sequence, or :class:`slice` objects, which define a range of items. It is " -"also recommended that mappings provide the methods :meth:`keys`, :meth:" -"`values`, :meth:`items`, :meth:`get`, :meth:`clear`, :meth:`setdefault`, :" -"meth:`pop`, :meth:`popitem`, :meth:`!copy`, and :meth:`update` behaving " -"similar to those for Python's standard :class:`dictionary ` objects. " -"The :mod:`collections.abc` module provides a :class:`~collections.abc." -"MutableMapping` :term:`abstract base class` to help create those methods " -"from a base set of :meth:`~object.__getitem__`, :meth:`~object." -"__setitem__`, :meth:`~object.__delitem__`, and :meth:`keys`. Mutable " -"sequences should provide methods :meth:`append`, :meth:`count`, :meth:" -"`index`, :meth:`extend`, :meth:`insert`, :meth:`pop`, :meth:`remove`, :meth:" -"`reverse` and :meth:`sort`, like Python standard :class:`list` objects. " -"Finally, sequence types should implement addition (meaning concatenation) " -"and multiplication (meaning repetition) by defining the methods :meth:" -"`~object.__add__`, :meth:`~object.__radd__`, :meth:`~object.__iadd__`, :meth:" -"`~object.__mul__`, :meth:`~object.__rmul__` and :meth:`~object.__imul__` " -"described below; they should not define other numerical operators. It is " -"recommended that both mappings and sequences implement the :meth:`~object." -"__contains__` method to allow efficient use of the ``in`` operator; for " -"mappings, ``in`` should search the mapping's keys; for sequences, it should " -"search through the values. It is further recommended that both mappings and " -"sequences implement the :meth:`~object.__iter__` method to allow efficient " -"iteration through the container; for mappings, :meth:`__iter__` should " -"iterate through the object's keys; for sequences, it should iterate through " -"the values." -msgstr "" - -#: ../../reference/datamodel.rst:2478 +"` or :class:`tuples `) or :term:`mappings ` " +"(like :class:`dictionaries `), but can represent other containers as " +"well. The first set of methods is used either to emulate a sequence or to " +"emulate a mapping; the difference is that for a sequence, the allowable keys " +"should be the integers *k* for which ``0 <= k < N`` where *N* is the length " +"of the sequence, or :class:`slice` objects, which define a range of items. " +"It is also recommended that mappings provide the methods :meth:`!" +"keys`, :meth:`!values`, :meth:`!items`, :meth:`!get`, :meth:`!" +"clear`, :meth:`!setdefault`, :meth:`!pop`, :meth:`!popitem`, :meth:`!copy`, " +"and :meth:`!update` behaving similar to those for Python's " +"standard :class:`dictionary ` objects. The :mod:`collections.abc` " +"module provides a :class:`~collections.abc.MutableMapping` :term:`abstract " +"base class` to help create those methods from a base set " +"of :meth:`~object.__getitem__`, :meth:`~object.__setitem__`, :meth:`~object.__delitem__`, " +"and :meth:`!keys`. Mutable sequences should provide methods :meth:`!" +"append`, :meth:`!count`, :meth:`!index`, :meth:`!extend`, :meth:`!" +"insert`, :meth:`!pop`, :meth:`!remove`, :meth:`!reverse` and :meth:`!sort`, " +"like Python standard :class:`list` objects. Finally, sequence types should " +"implement addition (meaning concatenation) and multiplication (meaning " +"repetition) by defining the " +"methods :meth:`~object.__add__`, :meth:`~object.__radd__`, :meth:`~object.__iadd__`, :meth:`~object.__mul__`, :meth:`~object.__rmul__` " +"and :meth:`~object.__imul__` described below; they should not define other " +"numerical operators. It is recommended that both mappings and sequences " +"implement the :meth:`~object.__contains__` method to allow efficient use of " +"the ``in`` operator; for mappings, ``in`` should search the mapping's keys; " +"for sequences, it should search through the values. It is further " +"recommended that both mappings and sequences implement " +"the :meth:`~object.__iter__` method to allow efficient iteration through the " +"container; for mappings, :meth:`!__iter__` should iterate through the " +"object's keys; for sequences, it should iterate through the values." +msgstr "" + +#: ../../reference/datamodel.rst:2790 msgid "" "Called to implement the built-in function :func:`len`. Should return the " "length of the object, an integer ``>=`` 0. Also, an object that doesn't " -"define a :meth:`__bool__` method and whose :meth:`__len__` method returns " -"zero is considered to be false in a Boolean context." +"define a :meth:`~object.__bool__` method and whose :meth:`!__len__` method " +"returns zero is considered to be false in a Boolean context." msgstr "" "Chamado para implementar a função embutida :func:`len`. Deve retornar o " "comprimento do objeto, um inteiro ``>=`` 0. Além disso, um objeto que não " -"define um método :meth:`__bool__` e cujo método :meth:`__len__` retorna zero " -"é considerado como falso em um contexto booleano." +"define um método :meth:`~object.__bool__` e cujo método :meth:`!__len__` " +"retorna zero é considerado como falso em um contexto booleano." -#: ../../reference/datamodel.rst:2485 +#: ../../reference/datamodel.rst:2797 msgid "" -"In CPython, the length is required to be at most :attr:`sys.maxsize`. If the " -"length is larger than :attr:`!sys.maxsize` some features (such as :func:" -"`len`) may raise :exc:`OverflowError`. To prevent raising :exc:`!" -"OverflowError` by truth value testing, an object must define a :meth:" -"`__bool__` method." +"In CPython, the length is required to be at most :data:`sys.maxsize`. If the " +"length is larger than :data:`!sys.maxsize` some features (such " +"as :func:`len`) may raise :exc:`OverflowError`. To prevent raising :exc:`!" +"OverflowError` by truth value testing, an object must define " +"a :meth:`~object.__bool__` method." msgstr "" -"No CPython, o comprimento deve ser no máximo :attr:`sys.maxsize`. Se o " -"comprimento for maior que :attr:`!sys.maxsize`, alguns recursos (como :func:" -"`len`) podem levantar :exc:`OverflowError`. Para evitar levantar :exc:`!" -"OverflowError` pelo teste de valor de verdade, um objeto deve definir um " -"método :meth:`__bool__`." +"No CPython, o comprimento deve ser no máximo :data:`sys.maxsize`. Se o " +"comprimento for maior que :data:`!sys.maxsize`, alguns recursos " +"(como :func:`len`) podem levantar :exc:`OverflowError`. Para evitar " +"levantar :exc:`!OverflowError` pelo teste de valor de verdade, um objeto " +"deve definir um método :meth:`~object.__bool__`." -#: ../../reference/datamodel.rst:2494 +#: ../../reference/datamodel.rst:2806 msgid "" "Called to implement :func:`operator.length_hint`. Should return an estimated " "length for the object (which may be greater or less than the actual length). " -"The length must be an integer ``>=`` 0. The return value may also be :const:" -"`NotImplemented`, which is treated the same as if the ``__length_hint__`` " -"method didn't exist at all. This method is purely an optimization and is " -"never required for correctness." +"The length must be an integer ``>=`` 0. The return value may also " +"be :data:`NotImplemented`, which is treated the same as if the " +"``__length_hint__`` method didn't exist at all. This method is purely an " +"optimization and is never required for correctness." msgstr "" "Chamado para implementar :func:`operator.length_hint`. Deve retornar um " "comprimento estimado para o objeto (que pode ser maior ou menor que o " "comprimento real). O comprimento deve ser um inteiro ``>=`` 0. O valor de " -"retorno também pode ser :const:`NotImplemented`, que é tratado da mesma " -"forma como se o método ``__length_hint__`` não existisse. Este método é " -"puramente uma otimização e nunca é necessário para a correção." +"retorno também pode ser :data:`NotImplemented`, que é tratado da mesma forma " +"como se o método ``__length_hint__`` não existisse. Este método é puramente " +"uma otimização e nunca é necessário para a correção." -#: ../../reference/datamodel.rst:2508 +#: ../../reference/datamodel.rst:2820 msgid "" "Slicing is done exclusively with the following three methods. A call like ::" msgstr "" "O fatiamento é feito exclusivamente com os três métodos a seguir. Uma " "chamada como ::" -#: ../../reference/datamodel.rst:2512 +#: ../../reference/datamodel.rst:2824 msgid "is translated to ::" msgstr "é traduzida com ::" -#: ../../reference/datamodel.rst:2516 +#: ../../reference/datamodel.rst:2828 msgid "and so forth. Missing slice items are always filled in with ``None``." msgstr "" "e assim por diante. Os itens de fatia ausentes são sempre preenchidos com " "``None``." -#: ../../reference/datamodel.rst:2521 +#: ../../reference/datamodel.rst:2833 msgid "" "Called to implement evaluation of ``self[key]``. For :term:`sequence` types, " -"the accepted keys should be integers and slice objects. Note that the " -"special interpretation of negative indexes (if the class wishes to emulate " -"a :term:`sequence` type) is up to the :meth:`__getitem__` method. If *key* " -"is of an inappropriate type, :exc:`TypeError` may be raised; if of a value " -"outside the set of indexes for the sequence (after any special " -"interpretation of negative values), :exc:`IndexError` should be raised. For :" -"term:`mapping` types, if *key* is missing (not in the container), :exc:" -"`KeyError` should be raised." -msgstr "" - -#: ../../reference/datamodel.rst:2533 +"the accepted keys should be integers. Optionally, they may " +"support :class:`slice` objects as well. Negative index support is also " +"optional. If *key* is of an inappropriate type, :exc:`TypeError` may be " +"raised; if *key* is a value outside the set of indexes for the sequence " +"(after any special interpretation of negative values), :exc:`IndexError` " +"should be raised. For :term:`mapping` types, if *key* is missing (not in the " +"container), :exc:`KeyError` should be raised." +msgstr "" +"Chamado para implementar a avaliação de ``self[key]``. Para tipos " +"de :term:`sequência`, as chaves aceitas devem ser inteiros. Opcionalmente, " +"eles também podem oferecer suporte a objetos :class:`slice`. Suporte a " +"índice negativo também é opcional. Se *key* for de um tipo " +"impróprio, :exc:`TypeError` pode ser levantada; se *key* for de um valor " +"fora do conjunto de índices para a sequência (após qualquer interpretação " +"especial de valores negativos), :exc:`IndexError` deve ser levantada. Para " +"tipos :term:`mapeamento`, se *key* estiver faltando (não no " +"contêiner), :exc:`KeyError` deve ser levantada." + +#: ../../reference/datamodel.rst:2845 msgid "" ":keyword:`for` loops expect that an :exc:`IndexError` will be raised for " "illegal indexes to allow proper detection of the end of the sequence." @@ -4204,43 +4562,48 @@ msgstr "" "Os loops :keyword:`for` esperam que uma :exc:`IndexError` seja levantada " "para índices ilegais para permitir a detecção apropriada do fim da sequência." -#: ../../reference/datamodel.rst:2538 +#: ../../reference/datamodel.rst:2850 msgid "" -"When :ref:`subscripting` a *class*, the special class method :" -"meth:`~object.__class_getitem__` may be called instead of ``__getitem__()``. " -"See :ref:`classgetitem-versus-getitem` for more details." +"When :ref:`subscripting` a *class*, the special class " +"method :meth:`~object.__class_getitem__` may be called instead of " +"``__getitem__()``. See :ref:`classgetitem-versus-getitem` for more details." msgstr "" +"Ao fazer :ref:`subscrição ` de uma *classe*, o método de " +"classe especial :meth:`~object.__class_getitem__` pode ser chamado em vez de " +"``__getitem__()``. Veja :ref:`classgetitem-versus-getitem` para mais " +"detalhes." -#: ../../reference/datamodel.rst:2546 +#: ../../reference/datamodel.rst:2858 msgid "" -"Called to implement assignment to ``self[key]``. Same note as for :meth:" -"`__getitem__`. This should only be implemented for mappings if the objects " -"support changes to the values for keys, or if new keys can be added, or for " -"sequences if elements can be replaced. The same exceptions should be raised " -"for improper *key* values as for the :meth:`__getitem__` method." +"Called to implement assignment to ``self[key]``. Same note as " +"for :meth:`__getitem__`. This should only be implemented for mappings if " +"the objects support changes to the values for keys, or if new keys can be " +"added, or for sequences if elements can be replaced. The same exceptions " +"should be raised for improper *key* values as for the :meth:`__getitem__` " +"method." msgstr "" -"Chamado para implementar a atribuição de ``self[key]``. Mesma nota que para :" -"meth:`__getitem__`. Isso só deve ser implementado para mapeamentos se os " -"objetos suportarem alterações nos valores das chaves, ou se novas chaves " +"Chamado para implementar a atribuição de ``self[key]``. Mesma nota que " +"para :meth:`__getitem__`. Isso só deve ser implementado para mapeamentos se " +"os objetos suportarem alterações nos valores das chaves, ou se novas chaves " "puderem ser adicionadas, ou para sequências se os elementos puderem ser " "substituídos. As mesmas exceções devem ser levantadas para valores *key* " "impróprios do método :meth:`__getitem__`." -#: ../../reference/datamodel.rst:2555 +#: ../../reference/datamodel.rst:2867 msgid "" -"Called to implement deletion of ``self[key]``. Same note as for :meth:" -"`__getitem__`. This should only be implemented for mappings if the objects " -"support removal of keys, or for sequences if elements can be removed from " -"the sequence. The same exceptions should be raised for improper *key* " -"values as for the :meth:`__getitem__` method." +"Called to implement deletion of ``self[key]``. Same note as " +"for :meth:`__getitem__`. This should only be implemented for mappings if " +"the objects support removal of keys, or for sequences if elements can be " +"removed from the sequence. The same exceptions should be raised for " +"improper *key* values as for the :meth:`__getitem__` method." msgstr "" -"Chamado para implementar a exclusão de ``self[key]``. Mesma nota que para :" -"meth:`__getitem__`. Isso só deve ser implementado para mapeamentos se os " -"objetos suportarem remoções de chaves, ou para sequências se os elementos " +"Chamado para implementar a exclusão de ``self[key]``. Mesma nota que " +"para :meth:`__getitem__`. Isso só deve ser implementado para mapeamentos se " +"os objetos suportarem remoções de chaves, ou para sequências se os elementos " "puderem ser removidos da sequência. As mesmas exceções devem ser levantadas " "para valores *key* impróprios do método :meth:`__getitem__`." -#: ../../reference/datamodel.rst:2564 +#: ../../reference/datamodel.rst:2876 msgid "" "Called by :class:`dict`\\ .\\ :meth:`__getitem__` to implement ``self[key]`` " "for dict subclasses when key is not in the dictionary." @@ -4249,15 +4612,19 @@ msgstr "" "``self[key]`` para subclasses de dicionário quando a chave não estiver no " "dicionário." -#: ../../reference/datamodel.rst:2570 +#: ../../reference/datamodel.rst:2882 msgid "" "This method is called when an :term:`iterator` is required for a container. " "This method should return a new iterator object that can iterate over all " "the objects in the container. For mappings, it should iterate over the keys " "of the container." msgstr "" +"Este método é chamado quando um :term:`iterador` é necessário para um " +"contêiner. Este método deve retornar um novo objeto iterador que pode iterar " +"sobre todos os objetos no contêiner. Para mapeamentos, ele deve iterar sobre " +"as chaves do contêiner." -#: ../../reference/datamodel.rst:2578 +#: ../../reference/datamodel.rst:2890 msgid "" "Called (if present) by the :func:`reversed` built-in to implement reverse " "iteration. It should return a new iterator object that iterates over all " @@ -4267,21 +4634,22 @@ msgstr "" "iteração reversa. Ele deve retornar um novo objeto iterador que itera sobre " "todos os objetos no contêiner na ordem reversa." -#: ../../reference/datamodel.rst:2582 +#: ../../reference/datamodel.rst:2894 msgid "" "If the :meth:`__reversed__` method is not provided, the :func:`reversed` " -"built-in will fall back to using the sequence protocol (:meth:`__len__` and :" -"meth:`__getitem__`). Objects that support the sequence protocol should only " -"provide :meth:`__reversed__` if they can provide an implementation that is " -"more efficient than the one provided by :func:`reversed`." +"built-in will fall back to using the sequence protocol (:meth:`__len__` " +"and :meth:`__getitem__`). Objects that support the sequence protocol should " +"only provide :meth:`__reversed__` if they can provide an implementation that " +"is more efficient than the one provided by :func:`reversed`." msgstr "" "Se o método :meth:`__reversed__` não for fornecido, o :func:`reversed` " -"embutido voltará a usar o protocolo de sequência (:meth:`__len__` e :meth:" -"`__getitem__`). Objetos que suportam o protocolo de sequência só devem " -"fornecer :meth:`__reversed__` se eles puderem fornecer uma implementação que " -"seja mais eficiente do que aquela fornecida por :func:`reversed`." +"embutido voltará a usar o protocolo de sequência (:meth:`__len__` " +"e :meth:`__getitem__`). Objetos que suportam o protocolo de sequência só " +"devem fornecer :meth:`__reversed__` se eles puderem fornecer uma " +"implementação que seja mais eficiente do que aquela fornecida " +"por :func:`reversed`." -#: ../../reference/datamodel.rst:2589 +#: ../../reference/datamodel.rst:2901 msgid "" "The membership test operators (:keyword:`in` and :keyword:`not in`) are " "normally implemented as an iteration through a container. However, container " @@ -4294,7 +4662,7 @@ msgstr "" "uma implementação mais eficiente, que também não requer que o objeto seja " "iterável." -#: ../../reference/datamodel.rst:2596 +#: ../../reference/datamodel.rst:2908 msgid "" "Called to implement membership test operators. Should return true if *item* " "is in *self*, false otherwise. For mapping objects, this should consider " @@ -4305,7 +4673,7 @@ msgstr "" "de mapeamento, isso deve considerar as chaves do mapeamento em vez dos " "valores ou pares de itens-chave." -#: ../../reference/datamodel.rst:2600 +#: ../../reference/datamodel.rst:2912 msgid "" "For objects that don't define :meth:`__contains__`, the membership test " "first tries iteration via :meth:`__iter__`, then the old sequence iteration " @@ -4317,11 +4685,11 @@ msgstr "" "iteração de sequência antigo via :meth:`__getitem__`, consulte :ref:`esta " "seção em a referência da linguagem `." -#: ../../reference/datamodel.rst:2609 +#: ../../reference/datamodel.rst:2921 msgid "Emulating numeric types" msgstr "Emulando tipos numéricos" -#: ../../reference/datamodel.rst:2611 +#: ../../reference/datamodel.rst:2923 msgid "" "The following methods can be defined to emulate numeric objects. Methods " "corresponding to operations that are not supported by the particular kind of " @@ -4333,42 +4701,61 @@ msgstr "" "particular de número implementado (por exemplo, operações bit a bit para " "números não inteiros) devem ser deixados indefinidos." -#: ../../reference/datamodel.rst:2637 +#: ../../reference/datamodel.rst:2949 msgid "" "These methods are called to implement the binary arithmetic operations " -"(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" -"`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``). For instance, to " -"evaluate the expression ``x + y``, where *x* is an instance of a class that " -"has an :meth:`__add__` method, ``type(x).__add__(x, y)`` is called. The :" -"meth:`__divmod__` method should be the equivalent to using :meth:" -"`__floordiv__` and :meth:`__mod__`; it should not be related to :meth:" -"`__truediv__`. Note that :meth:`__pow__` should be defined to accept an " -"optional third argument if the ternary version of the built-in :func:`pow` " -"function is to be supported." -msgstr "" - -#: ../../reference/datamodel.rst:2648 +"(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, " +"``%``, :func:`divmod`, :func:`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|" +"``). For instance, to evaluate the expression ``x + y``, where *x* is an " +"instance of a class that has an :meth:`__add__` method, ``type(x).__add__(x, " +"y)`` is called. The :meth:`__divmod__` method should be the equivalent to " +"using :meth:`__floordiv__` and :meth:`__mod__`; it should not be related " +"to :meth:`__truediv__`. Note that :meth:`__pow__` should be defined to " +"accept an optional third argument if the ternary version of the built-" +"in :func:`pow` function is to be supported." +msgstr "" +"Esses métodos são chamados para implementar as operações aritméticas " +"binárias (``+``, ``-``, ``*``, ``@``, ``/``, ``//``, " +"``%``, :func:`divmod`, :func:`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|" +"``). Por exemplo, para avaliar a expressão ``x + y``, onde *x* é uma " +"instância de uma classe que tem um método :meth:`__add__`, " +"``type(x).__add__(x, y)`` é chamado. O método :meth:`__divmod__` deve ser " +"equivalente a usar :meth:`__floordiv__` e :meth:`__mod__`; não deve estar " +"relacionado a :meth:`__truediv__`. Note que :meth:`__pow__` deve ser " +"definido para aceitar um terceiro argumento opcional se a versão ternária da " +"função embutida :func:`pow` for suportada." + +#: ../../reference/datamodel.rst:2960 msgid "" "If one of those methods does not support the operation with the supplied " -"arguments, it should return ``NotImplemented``." +"arguments, it should return :data:`NotImplemented`." msgstr "" "Se um desses métodos não suporta a operação com os argumentos fornecidos, " -"ele deve retornar ``NotImplemented``." +"ele deve retornar :data:`NotImplemented`." -#: ../../reference/datamodel.rst:2671 +#: ../../reference/datamodel.rst:2983 msgid "" "These methods are called to implement the binary arithmetic operations " -"(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, ``%``, :func:`divmod`, :func:" -"`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|``) with reflected (swapped) " -"operands. These functions are only called if the left operand does not " -"support the corresponding operation [#]_ and the operands are of different " -"types. [#]_ For instance, to evaluate the expression ``x - y``, where *y* is " -"an instance of a class that has an :meth:`__rsub__` method, ``type(y)." -"__rsub__(y, x)`` is called if ``type(x).__sub__(x, y)`` returns " -"*NotImplemented*." -msgstr "" +"(``+``, ``-``, ``*``, ``@``, ``/``, ``//``, " +"``%``, :func:`divmod`, :func:`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|" +"``) with reflected (swapped) operands. These functions are only called if " +"the left operand does not support the corresponding operation [#]_ and the " +"operands are of different types. [#]_ For instance, to evaluate the " +"expression ``x - y``, where *y* is an instance of a class that has " +"an :meth:`__rsub__` method, ``type(y).__rsub__(y, x)`` is called if " +"``type(x).__sub__(x, y)`` returns :data:`NotImplemented`." +msgstr "" +"Esses métodos são chamados para implementar as operações aritméticas " +"binárias (``+``, ``-``, ``*``, ``@``, ``/``, ``//``, " +"``%``, :func:`divmod`, :func:`pow`, ``**``, ``<<``, ``>>``, ``&``, ``^``, ``|" +"``) com operandos refletidos (trocados). Essas funções são chamadas apenas " +"se o operando esquerdo não suportar a operação correspondente [#]_ e os " +"operandos forem de tipos diferentes. [#]_ Por exemplo, para avaliar a " +"expressão ``x - y``, onde *y* é uma instância de uma classe que tem um " +"método :meth:`__rsub__`, ``type(y).__rsub__(y, x)`` é chamado se " +"``type(x).__sub__(x, y)`` retorna :data:`NotImplemented`." -#: ../../reference/datamodel.rst:2683 +#: ../../reference/datamodel.rst:2995 msgid "" "Note that ternary :func:`pow` will not try calling :meth:`__rpow__` (the " "coercion rules would become too complicated)." @@ -4376,7 +4763,7 @@ msgstr "" "Note que ternário :func:`pow` não tentará chamar :meth:`__rpow__` (as regras " "de coerção se tornariam muito complicadas)." -#: ../../reference/datamodel.rst:2688 +#: ../../reference/datamodel.rst:3000 msgid "" "If the right operand's type is a subclass of the left operand's type and " "that subclass provides a different implementation of the reflected method " @@ -4390,17 +4777,19 @@ msgstr "" "operando esquerdo. Esse comportamento permite que as subclasses substituam " "as operações de seus ancestrais." -#: ../../reference/datamodel.rst:2709 +#: ../../reference/datamodel.rst:3021 msgid "" "These methods are called to implement the augmented arithmetic assignments " "(``+=``, ``-=``, ``*=``, ``@=``, ``/=``, ``//=``, ``%=``, ``**=``, ``<<=``, " "``>>=``, ``&=``, ``^=``, ``|=``). These methods should attempt to do the " "operation in-place (modifying *self*) and return the result (which could be, " -"but does not have to be, *self*). If a specific method is not defined, the " -"augmented assignment falls back to the normal methods. For instance, if *x* " -"is an instance of a class with an :meth:`__iadd__` method, ``x += y`` is " -"equivalent to ``x = x.__iadd__(y)`` . Otherwise, ``x.__add__(y)`` and ``y." -"__radd__(x)`` are considered, as with the evaluation of ``x + y``. In " +"but does not have to be, *self*). If a specific method is not defined, or " +"if that method returns :data:`NotImplemented`, the augmented assignment " +"falls back to the normal methods. For instance, if *x* is an instance of a " +"class with an :meth:`__iadd__` method, ``x += y`` is equivalent to ``x = " +"x.__iadd__(y)`` . If :meth:`__iadd__` does not exist, or if " +"``x.__iadd__(y)`` returns :data:`!NotImplemented`, ``x.__add__(y)`` and " +"``y.__radd__(x)`` are considered, as with the evaluation of ``x + y``. In " "certain situations, augmented assignment can result in unexpected errors " "(see :ref:`faq-augmented-assignment-tuple-error`), but this behavior is in " "fact part of the data model." @@ -4410,31 +4799,33 @@ msgstr "" "``**=``, ``<<=``, ``>>=``, ``&=``, ``^=``, ``|=``). Esses métodos devem " "tentar fazer a operação no local (modificando *self*) e retornar o resultado " "(que poderia ser, mas não precisa ser, *self*). Se um método específico não " -"for definido, a atribuição aumentada volta aos métodos normais. Por exemplo, " -"se *x* é uma instância de uma classe com um método :meth:`__iadd__`, ``x += " -"y`` é equivalente a ``x = x.__iadd__(y)``. Caso contrário, ``x.__add__(y)`` " -"e ``y.__radd__(x)`` são considerados, como com a avaliação de ``x + y``. Em " -"certas situações, a atribuição aumentada pode resultar em erros inesperados " -"(ver :ref:`faq-augmented-assignment-tuple-error`), mas este comportamento é " -"na verdade parte do modelo de dados." +"for definido, ou se esse método retorna :data:`NotImplemented`, a atribuição " +"aumentada volta aos métodos normais. Por exemplo, se *x* é uma instância de " +"uma classe com um método :meth:`__iadd__`, ``x += y`` equivale a ``x = " +"x.__iadd__(y)``. Se :meth:`__iadd__` não existe, ou se ``x.__iadd__(y)`` " +"retorna :data:`!NotImplemented`, ``x.__add__(y)`` e ``y.__radd__(x)`` são " +"considerados, como com a avaliação de ``x + y``. Em certas situações, a " +"atribuição aumentada pode resultar em erros inesperados (veja :ref:`faq-" +"augmented-assignment-tuple-error`), mas este comportamento é na verdade " +"parte do modelo de dados." -#: ../../reference/datamodel.rst:2730 +#: ../../reference/datamodel.rst:3044 msgid "" -"Called to implement the unary arithmetic operations (``-``, ``+``, :func:" -"`abs` and ``~``)." +"Called to implement the unary arithmetic operations (``-``, " +"``+``, :func:`abs` and ``~``)." msgstr "" -"Chamado para implementar as operações aritméticas unárias (``-``, ``+``, :" -"func:`abs` e ``~``)." +"Chamado para implementar as operações aritméticas unárias (``-``, " +"``+``, :func:`abs` e ``~``)." -#: ../../reference/datamodel.rst:2743 +#: ../../reference/datamodel.rst:3057 msgid "" -"Called to implement the built-in functions :func:`complex`, :func:`int` and :" -"func:`float`. Should return a value of the appropriate type." +"Called to implement the built-in functions :func:`complex`, :func:`int` " +"and :func:`float`. Should return a value of the appropriate type." msgstr "" "Chamado para implementar as funções embutidas :func:`complex`, :func:`int` " "e :func:`float`. Deve retornar um valor do tipo apropriado." -#: ../../reference/datamodel.rst:2750 +#: ../../reference/datamodel.rst:3064 msgid "" "Called to implement :func:`operator.index`, and whenever Python needs to " "losslessly convert the numeric object to an integer object (such as in " @@ -4444,21 +4835,21 @@ msgid "" msgstr "" "Chamado para implementar :func:`operator.index`, e sempre que o Python " "precisar converter sem perdas o objeto numérico em um objeto inteiro (como " -"no fatiamento ou nas funções embutidas :func:`bin`, :func:`hex` e :func:" -"`oct`). A presença deste método indica que o objeto numérico é do tipo " -"inteiro. Deve retornar um número inteiro." +"no fatiamento ou nas funções embutidas :func:`bin`, :func:`hex` " +"e :func:`oct`). A presença deste método indica que o objeto numérico é do " +"tipo inteiro. Deve retornar um número inteiro." -#: ../../reference/datamodel.rst:2756 +#: ../../reference/datamodel.rst:3070 msgid "" "If :meth:`__int__`, :meth:`__float__` and :meth:`__complex__` are not " "defined then corresponding built-in functions :func:`int`, :func:`float` " "and :func:`complex` fall back to :meth:`__index__`." msgstr "" "Se :meth:`__int__`, :meth:`__float__` e :meth:`__complex__` não estiverem " -"definidos, funções embutidas correspondentes :func:`int`, :func:`float` e :" -"func:`complex` recorre a :meth:`__index__`." +"definidos, funções embutidas correspondentes :func:`int`, :func:`float` " +"e :func:`complex` recorre a :meth:`__index__`." -#: ../../reference/datamodel.rst:2768 +#: ../../reference/datamodel.rst:3082 msgid "" "Called to implement the built-in function :func:`round` and :mod:`math` " "functions :func:`~math.trunc`, :func:`~math.floor` and :func:`~math.ceil`. " @@ -4466,27 +4857,29 @@ msgid "" "return the value of the object truncated to an :class:`~numbers.Integral` " "(typically an :class:`int`)." msgstr "" -"Chamado para implementar as funções embutidas :func:`round` e :func:`~math." -"trunc`, :func:`~math.floor` e :func:`~math.ceil` de :mod:`math`. A menos que " -"*ndigits* sejam passados para :meth:`!__round__` todos estes métodos devem " -"retornar o valor do objeto truncado para um :class:`~numbers.Integral` " -"(tipicamente um :class:`int`)." +"Chamado para implementar as funções embutidas :func:`round` " +"e :func:`~math.trunc`, :func:`~math.floor` e :func:`~math.ceil` " +"de :mod:`math`. A menos que *ndigits* sejam passados para :meth:`!__round__` " +"todos estes métodos devem retornar o valor do objeto truncado para " +"um :class:`~numbers.Integral` (tipicamente um :class:`int`)." -#: ../../reference/datamodel.rst:2774 +#: ../../reference/datamodel.rst:3088 msgid "" "The built-in function :func:`int` falls back to :meth:`__trunc__` if " "neither :meth:`__int__` nor :meth:`__index__` is defined." msgstr "" +"A função embutida :func:`int` retorna para :meth:`__trunc__` se " +"nem :meth:`__int__` nem :meth:`__index__` estiverem definidos." -#: ../../reference/datamodel.rst:2777 +#: ../../reference/datamodel.rst:3091 msgid "The delegation of :func:`int` to :meth:`__trunc__` is deprecated." -msgstr "" +msgstr "A delegação de :func:`int` para :meth:`__trunc__` foi descontinuada." -#: ../../reference/datamodel.rst:2784 +#: ../../reference/datamodel.rst:3098 msgid "With Statement Context Managers" msgstr "Gerenciadores de contexto da instrução with" -#: ../../reference/datamodel.rst:2786 +#: ../../reference/datamodel.rst:3100 msgid "" "A :dfn:`context manager` is an object that defines the runtime context to be " "established when executing a :keyword:`with` statement. The context manager " @@ -4503,23 +4896,23 @@ msgstr "" "(descrita na seção :ref:`with`), mas também podem ser usados invocando " "diretamente seus métodos." -#: ../../reference/datamodel.rst:2797 +#: ../../reference/datamodel.rst:3111 msgid "" "Typical uses of context managers include saving and restoring various kinds " "of global state, locking and unlocking resources, closing opened files, etc." msgstr "" "Os usos típicos de gerenciadores de contexto incluem salvar e restaurar " -"vários tipos de estado global, bloquear e desbloquear recursos, fechar " -"arquivos abertos, etc." +"vários tipos de estado global, travar e destravar recursos, fechar arquivos " +"abertos, etc." -#: ../../reference/datamodel.rst:2800 +#: ../../reference/datamodel.rst:3114 msgid "" "For more information on context managers, see :ref:`typecontextmanager`." msgstr "" -"Para obter mais informações sobre gerenciadores de contexto, consulte :ref:" -"`typecontextmanager`." +"Para obter mais informações sobre gerenciadores de contexto, " +"consulte :ref:`typecontextmanager`." -#: ../../reference/datamodel.rst:2805 +#: ../../reference/datamodel.rst:3119 msgid "" "Enter the runtime context related to this object. The :keyword:`with` " "statement will bind this method's return value to the target(s) specified in " @@ -4529,7 +4922,7 @@ msgstr "" "instrução :keyword:`with` vinculará o valor de retorno deste método ao(s) " "alvo(s) especificado(s) na cláusula :keyword:`!as` da instrução, se houver." -#: ../../reference/datamodel.rst:2812 +#: ../../reference/datamodel.rst:3126 msgid "" "Exit the runtime context related to this object. The parameters describe the " "exception that caused the context to be exited. If the context was exited " @@ -4537,10 +4930,10 @@ msgid "" msgstr "" "Sai do contexto de tempo de execução relacionado a este objeto. Os " "parâmetros descrevem a exceção que fez com que o contexto fosse encerrado. " -"Se o contexto foi encerrado sem exceção, todos os três argumentos serão :" -"const:`None`." +"Se o contexto foi encerrado sem exceção, todos os três argumentos " +"serão :const:`None`." -#: ../../reference/datamodel.rst:2816 +#: ../../reference/datamodel.rst:3130 msgid "" "If an exception is supplied, and the method wishes to suppress the exception " "(i.e., prevent it from being propagated), it should return a true value. " @@ -4551,40 +4944,44 @@ msgstr "" "evitar que ela seja propagada), ele deve retornar um valor verdadeiro. Caso " "contrário, a exceção será processada normalmente ao sair deste método." -#: ../../reference/datamodel.rst:2820 +#: ../../reference/datamodel.rst:3134 msgid "" -"Note that :meth:`__exit__` methods should not reraise the passed-in " +"Note that :meth:`~object.__exit__` methods should not reraise the passed-in " "exception; this is the caller's responsibility." msgstr "" -"Observe que os métodos :meth:`__exit__` não devem relançar a exceção " +"Observe que os métodos :meth:`~object.__exit__` não devem relançar a exceção " "passada; esta é a responsabilidade do chamador." -#: ../../reference/datamodel.rst:2827 +#: ../../reference/datamodel.rst:3141 msgid ":pep:`343` - The \"with\" statement" msgstr ":pep:`343` - A instrução \"with\"" -#: ../../reference/datamodel.rst:2827 +#: ../../reference/datamodel.rst:3141 msgid "" "The specification, background, and examples for the Python :keyword:`with` " "statement." msgstr "" -"A especificação, o histórico e os exemplos para a instrução Python :keyword:" -"`with`." +"A especificação, o histórico e os exemplos para a instrução " +"Python :keyword:`with`." -#: ../../reference/datamodel.rst:2834 +#: ../../reference/datamodel.rst:3148 msgid "Customizing positional arguments in class pattern matching" msgstr "" "Customizando argumentos posicionais na classe correspondência de padrão" -#: ../../reference/datamodel.rst:2836 +#: ../../reference/datamodel.rst:3150 msgid "" "When using a class name in a pattern, positional arguments in the pattern " "are not allowed by default, i.e. ``case MyClass(x, y)`` is typically invalid " "without special support in ``MyClass``. To be able to use that kind of " "pattern, the class needs to define a *__match_args__* attribute." msgstr "" +"Ao usar um nome de classe em um padrão, argumentos posicionais não são " +"permitidos por padrão, ou seja, ``case MyClass(x, y)`` é tipicamente " +"inválida sem suporte especial em ``MyClass``. Para permitir a utilização " +"desse tipo de padrão, a classe precisa definir um atributo *__match_args__*" -#: ../../reference/datamodel.rst:2843 +#: ../../reference/datamodel.rst:3157 msgid "" "This class variable can be assigned a tuple of strings. When this class is " "used in a class pattern with positional arguments, each positional argument " @@ -4598,35 +4995,35 @@ msgstr "" "correspondência de valor em *__match_args__* como palavra reservada. A " "ausência desse atributo é equivalente a defini-lo como ``()``" -#: ../../reference/datamodel.rst:2849 +#: ../../reference/datamodel.rst:3163 msgid "" "For example, if ``MyClass.__match_args__`` is ``(\"left\", \"center\", " "\"right\")`` that means that ``case MyClass(x, y)`` is equivalent to ``case " "MyClass(left=x, center=y)``. Note that the number of arguments in the " "pattern must be smaller than or equal to the number of elements in " -"*__match_args__*; if it is larger, the pattern match attempt will raise a :" -"exc:`TypeError`." +"*__match_args__*; if it is larger, the pattern match attempt will raise " +"a :exc:`TypeError`." msgstr "" "Por exemplo, se ``MyClass.__match_args__`` é ``(\"left\", \"center\", " "\"right\")`` significa que ``case MyClass(x, y)`` é equivalente a ``case " "MyClass(left=x, center=y)``. Note que o número de argumentos no padrão deve " "ser menor ou igual ao número de elementos em *__match_args__*; caso seja " -"maior, a tentativa de correspondência de padrão irá levantar uma :exc:" -"`TypeError`." +"maior, a tentativa de correspondência de padrão irá levantar " +"uma :exc:`TypeError`." -#: ../../reference/datamodel.rst:2859 +#: ../../reference/datamodel.rst:3173 msgid ":pep:`634` - Structural Pattern Matching" msgstr ":pep:`634` - Correspondência de Padrão Estrutural" -#: ../../reference/datamodel.rst:2860 +#: ../../reference/datamodel.rst:3174 msgid "The specification for the Python ``match`` statement." msgstr "A especificação para a instrução Python ``match``" -#: ../../reference/datamodel.rst:2866 +#: ../../reference/datamodel.rst:3180 msgid "Special method lookup" msgstr "Pesquisa de método especial" -#: ../../reference/datamodel.rst:2868 +#: ../../reference/datamodel.rst:3182 msgid "" "For custom classes, implicit invocations of special methods are only " "guaranteed to work correctly if defined on an object's type, not in the " @@ -4638,7 +5035,7 @@ msgstr "" "não no dicionário de instância do objeto. Esse comportamento é o motivo pelo " "qual o código a seguir levanta uma exceção::" -#: ../../reference/datamodel.rst:2883 +#: ../../reference/datamodel.rst:3197 msgid "" "The rationale behind this behaviour lies with a number of special methods " "such as :meth:`~object.__hash__` and :meth:`~object.__repr__` that are " @@ -4646,8 +5043,13 @@ msgid "" "of these methods used the conventional lookup process, they would fail when " "invoked on the type object itself::" msgstr "" +"A justificativa por trás desse comportamento está em uma série de métodos " +"especiais como :meth:`~object.__hash__` e :meth:`~object.__repr__` que são " +"implementados por todos os objetos, incluindo objetos de tipo. Se a pesquisa " +"implícita desses métodos usasse o processo de pesquisa convencional, eles " +"falhariam quando invocados no próprio objeto do tipo::" -#: ../../reference/datamodel.rst:2897 +#: ../../reference/datamodel.rst:3211 msgid "" "Incorrectly attempting to invoke an unbound method of a class in this way is " "sometimes referred to as 'metaclass confusion', and is avoided by bypassing " @@ -4657,14 +5059,17 @@ msgstr "" "maneira é às vezes referida como \"confusão de metaclasse\" e é evitada " "ignorando a instância ao pesquisar métodos especiais::" -#: ../../reference/datamodel.rst:2906 +#: ../../reference/datamodel.rst:3220 msgid "" "In addition to bypassing any instance attributes in the interest of " -"correctness, implicit special method lookup generally also bypasses the :" -"meth:`~object.__getattribute__` method even of the object's metaclass::" +"correctness, implicit special method lookup generally also bypasses " +"the :meth:`~object.__getattribute__` method even of the object's metaclass::" msgstr "" +"Além de contornar quaisquer atributos de instância no interesse da correção, " +"a pesquisa de método especial implícita geralmente também contorna o " +"método :meth:`~object.__getattribute__` mesmo da metaclasse do objeto::" -#: ../../reference/datamodel.rst:2932 +#: ../../reference/datamodel.rst:3246 msgid "" "Bypassing the :meth:`~object.__getattribute__` machinery in this fashion " "provides significant scope for speed optimisations within the interpreter, " @@ -4672,67 +5077,92 @@ msgid "" "special method *must* be set on the class object itself in order to be " "consistently invoked by the interpreter)." msgstr "" +"Ignorar a maquinaria de :meth:`~object.__getattribute__` desta forma fornece " +"um escopo significativo para otimizações de velocidade dentro do " +"interpretador, ao custo de alguma flexibilidade no tratamento de métodos " +"especiais (o método especial *deve* ser definido no próprio objeto classe em " +"ordem ser invocado de forma consistente pelo interpretador)." -#: ../../reference/datamodel.rst:2943 +#: ../../reference/datamodel.rst:3257 msgid "Coroutines" msgstr "Corrotinas" -#: ../../reference/datamodel.rst:2947 +#: ../../reference/datamodel.rst:3261 msgid "Awaitable Objects" msgstr "Objetos aguardáveis" -#: ../../reference/datamodel.rst:2949 +#: ../../reference/datamodel.rst:3263 msgid "" -"An :term:`awaitable` object generally implements an :meth:`~object." -"__await__` method. :term:`Coroutine objects ` returned from :" -"keyword:`async def` functions are awaitable." +"An :term:`awaitable` object generally implements " +"an :meth:`~object.__await__` method. :term:`Coroutine objects ` " +"returned from :keyword:`async def` functions are awaitable." msgstr "" +"Um objeto :term:`aguardável` geralmente implementa um " +"método :meth:`~object.__await__`. Os :term:`objetos corrotina ` " +"retornados das funções :keyword:`async def` são aguardáveis." -#: ../../reference/datamodel.rst:2955 +#: ../../reference/datamodel.rst:3269 msgid "" "The :term:`generator iterator` objects returned from generators decorated " -"with :func:`types.coroutine` are also awaitable, but they do not implement :" -"meth:`~object.__await__`." +"with :func:`types.coroutine` are also awaitable, but they do not " +"implement :meth:`~object.__await__`." msgstr "" +"Os objetos :term:`iteradores geradores ` retornados de " +"geradores decorados com :func:`types.coroutine` também são aguardáveis, mas " +"eles não implementam :meth:`~object.__await__`." -#: ../../reference/datamodel.rst:2961 +#: ../../reference/datamodel.rst:3275 msgid "" -"Must return an :term:`iterator`. Should be used to implement :term:" -"`awaitable` objects. For instance, :class:`asyncio.Future` implements this " -"method to be compatible with the :keyword:`await` expression." +"Must return an :term:`iterator`. Should be used to " +"implement :term:`awaitable` objects. For instance, :class:`asyncio.Future` " +"implements this method to be compatible with the :keyword:`await` expression." msgstr "" -"Deve retornar um :term:`iterador`. Deve ser usado para implementar objetos :" -"term:`aguardáveis `. Por exemplo, :class:`asyncio.Future` " -"implementa este método para ser compatível com a expressão :keyword:`await`." +"Deve retornar um :term:`iterador`. Deve ser usado para implementar " +"objetos :term:`aguardáveis `. Por " +"exemplo, :class:`asyncio.Future` implementa este método para ser compatível " +"com a expressão :keyword:`await`." -#: ../../reference/datamodel.rst:2967 +#: ../../reference/datamodel.rst:3281 msgid "" "The language doesn't place any restriction on the type or value of the " "objects yielded by the iterator returned by ``__await__``, as this is " -"specific to the implementation of the asynchronous execution framework (e." -"g. :mod:`asyncio`) that will be managing the :term:`awaitable` object." +"specific to the implementation of the asynchronous execution framework " +"(e.g. :mod:`asyncio`) that will be managing the :term:`awaitable` object." msgstr "" +"A linguagem não impõe nenhuma restrição ao tipo ou valor dos objetos " +"produzidos pelo iterador retornado por ``__await__``, pois isso é específico " +"para a implementação da estrutura de execução assíncrona (por " +"exemplo, :mod:`asyncio`) que gerenciará o objeto :term:`awaitable`." -#: ../../reference/datamodel.rst:2975 +#: ../../reference/datamodel.rst:3289 msgid ":pep:`492` for additional information about awaitable objects." msgstr ":pep:`492` para informações adicionais sobre objetos aguardáveis." -#: ../../reference/datamodel.rst:2981 +#: ../../reference/datamodel.rst:3295 msgid "Coroutine Objects" msgstr "Objetos corrotina" -#: ../../reference/datamodel.rst:2983 +#: ../../reference/datamodel.rst:3297 msgid "" ":term:`Coroutine objects ` are :term:`awaitable` objects. A " "coroutine's execution can be controlled by calling :meth:`~object.__await__` " "and iterating over the result. When the coroutine has finished executing " -"and returns, the iterator raises :exc:`StopIteration`, and the exception's :" -"attr:`~StopIteration.value` attribute holds the return value. If the " -"coroutine raises an exception, it is propagated by the iterator. Coroutines " -"should not directly raise unhandled :exc:`StopIteration` exceptions." -msgstr "" - -#: ../../reference/datamodel.rst:2991 +"and returns, the iterator raises :exc:`StopIteration`, and the " +"exception's :attr:`~StopIteration.value` attribute holds the return value. " +"If the coroutine raises an exception, it is propagated by the iterator. " +"Coroutines should not directly raise unhandled :exc:`StopIteration` " +"exceptions." +msgstr "" +":term:`Objetos corrotina ` são objetos :term:`aguardáveis " +"`. A execução de uma corrotina pode ser controlada " +"chamando :meth:`~object.__await__` e iterando sobre o resultado. Quando a " +"corrotina termina a execução e retorna, o iterador " +"levanta :exc:`StopIteration`, e o atributo :attr:`~StopIteration.value` da " +"exceção contém o valor de retorno. Se a corrotina levantar uma exceção, ela " +"será propagada pelo iterador. As corrotinas não devem levantar " +"exceções :exc:`StopIteration` diretamente não tratadas." + +#: ../../reference/datamodel.rst:3305 msgid "" "Coroutines also have the methods listed below, which are analogous to those " "of generators (see :ref:`generator-methods`). However, unlike generators, " @@ -4742,33 +5172,48 @@ msgstr "" "dos geradores (ver :ref:`generator-methods`). No entanto, ao contrário dos " "geradores, as corrotinas não suportam diretamente a iteração." -#: ../../reference/datamodel.rst:2995 +#: ../../reference/datamodel.rst:3309 msgid "It is a :exc:`RuntimeError` to await on a coroutine more than once." msgstr "É uma :exc:`RuntimeError` para aguardar uma corrotina mais de uma vez." -#: ../../reference/datamodel.rst:3001 +#: ../../reference/datamodel.rst:3315 msgid "" "Starts or resumes execution of the coroutine. If *value* is ``None``, this " -"is equivalent to advancing the iterator returned by :meth:`~object." -"__await__`. If *value* is not ``None``, this method delegates to the :meth:" -"`~generator.send` method of the iterator that caused the coroutine to " -"suspend. The result (return value, :exc:`StopIteration`, or other " -"exception) is the same as when iterating over the :meth:`__await__` return " -"value, described above." -msgstr "" - -#: ../../reference/datamodel.rst:3012 +"is equivalent to advancing the iterator returned " +"by :meth:`~object.__await__`. If *value* is not ``None``, this method " +"delegates to the :meth:`~generator.send` method of the iterator that caused " +"the coroutine to suspend. The result (return value, :exc:`StopIteration`, " +"or other exception) is the same as when iterating over the :meth:`!" +"__await__` return value, described above." +msgstr "" +"Inicia ou retoma a execução da corrotina. Se *value* for ``None``, isso " +"equivale a avançar o iterador retornado por :meth:`~object.__await__`. Se " +"*value* não for ``None``, este método delega para o " +"método :meth:`~generator.send` do iterador que causou a suspensão da " +"corrotina. O resultado (valor de retorno, :exc:`StopIteration` ou outra " +"exceção) é o mesmo de iterar sobre o valor de retorno :meth:`!__await__`, " +"descrito acima." + +#: ../../reference/datamodel.rst:3326 msgid "" "Raises the specified exception in the coroutine. This method delegates to " "the :meth:`~generator.throw` method of the iterator that caused the " "coroutine to suspend, if it has such a method. Otherwise, the exception is " -"raised at the suspension point. The result (return value, :exc:" -"`StopIteration`, or other exception) is the same as when iterating over the :" -"meth:`~object.__await__` return value, described above. If the exception is " -"not caught in the coroutine, it propagates back to the caller." -msgstr "" - -#: ../../reference/datamodel.rst:3023 +"raised at the suspension point. The result (return " +"value, :exc:`StopIteration`, or other exception) is the same as when " +"iterating over the :meth:`~object.__await__` return value, described above. " +"If the exception is not caught in the coroutine, it propagates back to the " +"caller." +msgstr "" +"Levanta a exceção especificada na corrotina. Este método delega ao " +"método :meth:`~generator.throw` do iterador que causou a suspensão da " +"corrotina, se ela tiver tal método. Caso contrário, a exceção é levantada no " +"ponto de suspensão. O resultado (valor de retorno, :exc:`StopIteration` ou " +"outra exceção) é o mesmo de iterar sobre o valor de " +"retorno :meth:`~object.__await__`, descrito acima. Se a exceção não for " +"capturada na corrotina, ela se propagará de volta para o chamador." + +#: ../../reference/datamodel.rst:3337 msgid "" "Causes the coroutine to clean itself up and exit. If the coroutine is " "suspended, this method first delegates to the :meth:`~generator.close` " @@ -4779,12 +5224,12 @@ msgid "" msgstr "" "Faz com que a corrotina se limpe e saia. Se a corrotina for suspensa, este " "método primeiro delega para o método :meth:`~generator.close` do iterador " -"que causou a suspensão da corrotina, se tiver tal método. Então ele levanta :" -"exc:`GeneratorExit` no ponto de suspensão, fazendo com que a corrotina se " -"limpe imediatamente. Por fim, a corrotina é marcada como tendo sua execução " -"concluída, mesmo que nunca tenha sido iniciada." +"que causou a suspensão da corrotina, se tiver tal método. Então ele " +"levanta :exc:`GeneratorExit` no ponto de suspensão, fazendo com que a " +"corrotina se limpe imediatamente. Por fim, a corrotina é marcada como tendo " +"sua execução concluída, mesmo que nunca tenha sido iniciada." -#: ../../reference/datamodel.rst:3031 +#: ../../reference/datamodel.rst:3345 msgid "" "Coroutine objects are automatically closed using the above process when they " "are about to be destroyed." @@ -4792,11 +5237,11 @@ msgstr "" "Objetos corrotina são fechados automaticamente usando o processo acima " "quando estão prestes a ser destruídos." -#: ../../reference/datamodel.rst:3037 +#: ../../reference/datamodel.rst:3351 msgid "Asynchronous Iterators" msgstr "Iteradores assíncronos" -#: ../../reference/datamodel.rst:3039 +#: ../../reference/datamodel.rst:3353 msgid "" "An *asynchronous iterator* can call asynchronous code in its ``__anext__`` " "method." @@ -4804,18 +5249,18 @@ msgstr "" "Um *iterador assíncrono* pode chamar código assíncrono em seu método " "``__anext__``." -#: ../../reference/datamodel.rst:3042 +#: ../../reference/datamodel.rst:3356 msgid "" "Asynchronous iterators can be used in an :keyword:`async for` statement." msgstr "" -"Os iteradores assíncronos podem ser usados ​​em uma instrução :keyword:`async " +"Os iteradores assíncronos podem ser usados em uma instrução :keyword:`async " "for`." -#: ../../reference/datamodel.rst:3046 +#: ../../reference/datamodel.rst:3360 msgid "Must return an *asynchronous iterator* object." msgstr "Deve retornar um objeto *iterador assíncrono*." -#: ../../reference/datamodel.rst:3050 +#: ../../reference/datamodel.rst:3364 msgid "" "Must return an *awaitable* resulting in a next value of the iterator. " "Should raise a :exc:`StopAsyncIteration` error when the iteration is over." @@ -4823,29 +5268,35 @@ msgstr "" "Deve retornar um *aguardável* resultando em um próximo valor do iterador. " "Deve levantar um erro :exc:`StopAsyncIteration` quando a iteração terminar." -#: ../../reference/datamodel.rst:3053 +#: ../../reference/datamodel.rst:3367 msgid "An example of an asynchronous iterable object::" msgstr "Um exemplo de objeto iterável assíncrono::" -#: ../../reference/datamodel.rst:3070 +#: ../../reference/datamodel.rst:3384 msgid "" "Prior to Python 3.7, :meth:`~object.__aiter__` could return an *awaitable* " "that would resolve to an :term:`asynchronous iterator `." msgstr "" +"Antes do Python 3.7, :meth:`~object.__aiter__` poderia retornar um " +"*aguardável* que resolveria para um :term:`iterador assíncrono `." -#: ../../reference/datamodel.rst:3075 +#: ../../reference/datamodel.rst:3389 msgid "" "Starting with Python 3.7, :meth:`~object.__aiter__` must return an " -"asynchronous iterator object. Returning anything else will result in a :exc:" -"`TypeError` error." +"asynchronous iterator object. Returning anything else will result in " +"a :exc:`TypeError` error." msgstr "" +"A partir do Python 3.7, :meth:`~object.__aiter__` deve retornar um objeto " +"iterador assíncrono. Retornar qualquer outra coisa resultará em um " +"erro :exc:`TypeError`." -#: ../../reference/datamodel.rst:3083 +#: ../../reference/datamodel.rst:3397 msgid "Asynchronous Context Managers" msgstr "Gerenciadores de contexto assíncronos" -#: ../../reference/datamodel.rst:3085 +#: ../../reference/datamodel.rst:3399 msgid "" "An *asynchronous context manager* is a *context manager* that is able to " "suspend execution in its ``__aenter__`` and ``__aexit__`` methods." @@ -4853,39 +5304,39 @@ msgstr "" "Um *gerenciador de contexto assíncrono* é um *gerenciador de contexto* que é " "capaz de suspender a execução em seus métodos ``__aenter__`` e ``__aexit__``." -#: ../../reference/datamodel.rst:3088 +#: ../../reference/datamodel.rst:3402 msgid "" "Asynchronous context managers can be used in an :keyword:`async with` " "statement." msgstr "" -"Os gerenciadores de contexto assíncronos podem ser usados ​​em uma instrução :" -"keyword:`async with`." +"Os gerenciadores de contexto assíncronos podem ser usados em uma " +"instrução :keyword:`async with`." -#: ../../reference/datamodel.rst:3092 +#: ../../reference/datamodel.rst:3406 msgid "" -"Semantically similar to :meth:`__enter__`, the only difference being that it " -"must return an *awaitable*." +"Semantically similar to :meth:`~object.__enter__`, the only difference being " +"that it must return an *awaitable*." msgstr "" -"Semanticamente semelhante a :meth:`__enter__`, a única diferença é que ele " -"deve retornar um *aguardável*." +"Semanticamente semelhante a :meth:`~object.__enter__`, a única diferença é " +"que ele deve retornar um *aguardável*." -#: ../../reference/datamodel.rst:3097 +#: ../../reference/datamodel.rst:3411 msgid "" -"Semantically similar to :meth:`__exit__`, the only difference being that it " -"must return an *awaitable*." +"Semantically similar to :meth:`~object.__exit__`, the only difference being " +"that it must return an *awaitable*." msgstr "" -"Semanticamente semelhante a :meth:`__exit__`, a única diferença é que ele " -"deve retornar um *aguardável*." +"Semanticamente semelhante a :meth:`~object.__exit__`, a única diferença é " +"que ele deve retornar um *aguardável*." -#: ../../reference/datamodel.rst:3100 +#: ../../reference/datamodel.rst:3414 msgid "An example of an asynchronous context manager class::" msgstr "Um exemplo de uma classe gerenciadora de contexto assíncrona::" -#: ../../reference/datamodel.rst:3113 +#: ../../reference/datamodel.rst:3427 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../reference/datamodel.rst:3114 +#: ../../reference/datamodel.rst:3428 msgid "" "It *is* possible in some cases to change an object's type, under certain " "controlled conditions. It generally isn't a good idea though, since it can " @@ -4895,50 +5346,58 @@ msgstr "" "condições controladas. No entanto, geralmente não é uma boa ideia, pois pode " "levar a um comportamento muito estranho se for tratado incorretamente." -#: ../../reference/datamodel.rst:3118 +#: ../../reference/datamodel.rst:3432 msgid "" -"The :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:`~object." -"__reversed__`, and :meth:`~object.__contains__` methods have special " -"handling for this; others will still raise a :exc:`TypeError`, but may do so " -"by relying on the behavior that ``None`` is not callable." +"The :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:`~object.__reversed__`, " +"and :meth:`~object.__contains__` methods have special handling for this; " +"others will still raise a :exc:`TypeError`, but may do so by relying on the " +"behavior that ``None`` is not callable." msgstr "" +"Os " +"métodos :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:`~object.__reversed__` " +"e :meth:`~object.__contains__` têm tratamento especial para isso; outros " +"ainda levantarão uma exceção :exc:`TypeError`, mas podem fazê-lo confiando " +"no comportamento de que ``None`` não é invocável." -#: ../../reference/datamodel.rst:3124 +#: ../../reference/datamodel.rst:3438 msgid "" "\"Does not support\" here means that the class has no such method, or the " -"method returns ``NotImplemented``. Do not set the method to ``None`` if you " -"want to force fallback to the right operand's reflected method—that will " +"method returns :data:`NotImplemented`. Do not set the method to ``None`` if " +"you want to force fallback to the right operand's reflected method—that will " "instead have the opposite effect of explicitly *blocking* such fallback." msgstr "" "\"Não suportar\" aqui significa que a classe não possui tal método, ou o " -"método retorna ``NotImplemented``. Não defina o método como ``None`` se " +"método retorna :data:`NotImplemented`. Não defina o método como ``None`` se " "quiser forçar o fallback para o método refletido do operando correto -- isso " "terá o efeito oposto de *bloquear* explicitamente esse fallback." -#: ../../reference/datamodel.rst:3130 +#: ../../reference/datamodel.rst:3444 msgid "" "For operands of the same type, it is assumed that if the non-reflected " "method -- such as :meth:`~object.__add__` -- fails then the overall " "operation is not supported, which is why the reflected method is not called." msgstr "" - -#: ../../reference/datamodel.rst:14 ../../reference/datamodel.rst:145 -#: ../../reference/datamodel.rst:153 ../../reference/datamodel.rst:173 -#: ../../reference/datamodel.rst:182 ../../reference/datamodel.rst:212 -#: ../../reference/datamodel.rst:227 ../../reference/datamodel.rst:244 -#: ../../reference/datamodel.rst:259 ../../reference/datamodel.rst:269 -#: ../../reference/datamodel.rst:295 ../../reference/datamodel.rst:330 -#: ../../reference/datamodel.rst:352 ../../reference/datamodel.rst:366 -#: ../../reference/datamodel.rst:386 ../../reference/datamodel.rst:405 -#: ../../reference/datamodel.rst:412 ../../reference/datamodel.rst:420 -#: ../../reference/datamodel.rst:434 ../../reference/datamodel.rst:467 -#: ../../reference/datamodel.rst:477 ../../reference/datamodel.rst:582 -#: ../../reference/datamodel.rst:690 ../../reference/datamodel.rst:705 -#: ../../reference/datamodel.rst:729 ../../reference/datamodel.rst:807 -#: ../../reference/datamodel.rst:867 ../../reference/datamodel.rst:894 -#: ../../reference/datamodel.rst:944 ../../reference/datamodel.rst:998 -#: ../../reference/datamodel.rst:1055 ../../reference/datamodel.rst:1117 -#: ../../reference/datamodel.rst:1499 ../../reference/datamodel.rst:2504 +"Para operandos do mesmo tipo, presume-se que se o método não refletido -- " +"como :meth:`~object.__add__` -- falhar, a operação geral não será suportada, " +"razão pela qual o método refletido não é chamado." + +#: ../../reference/datamodel.rst:14 ../../reference/datamodel.rst:148 +#: ../../reference/datamodel.rst:159 ../../reference/datamodel.rst:180 +#: ../../reference/datamodel.rst:192 ../../reference/datamodel.rst:225 +#: ../../reference/datamodel.rst:246 ../../reference/datamodel.rst:261 +#: ../../reference/datamodel.rst:279 ../../reference/datamodel.rst:292 +#: ../../reference/datamodel.rst:324 ../../reference/datamodel.rst:359 +#: ../../reference/datamodel.rst:384 ../../reference/datamodel.rst:405 +#: ../../reference/datamodel.rst:423 ../../reference/datamodel.rst:443 +#: ../../reference/datamodel.rst:451 ../../reference/datamodel.rst:462 +#: ../../reference/datamodel.rst:479 ../../reference/datamodel.rst:515 +#: ../../reference/datamodel.rst:530 ../../reference/datamodel.rst:650 +#: ../../reference/datamodel.rst:795 ../../reference/datamodel.rst:819 +#: ../../reference/datamodel.rst:852 ../../reference/datamodel.rst:934 +#: ../../reference/datamodel.rst:998 ../../reference/datamodel.rst:1025 +#: ../../reference/datamodel.rst:1081 ../../reference/datamodel.rst:1186 +#: ../../reference/datamodel.rst:1293 ../../reference/datamodel.rst:1393 +#: ../../reference/datamodel.rst:1805 ../../reference/datamodel.rst:2816 msgid "object" msgstr "objeto" @@ -4946,47 +5405,47 @@ msgstr "objeto" msgid "data" msgstr "dados" -#: ../../reference/datamodel.rst:23 ../../reference/datamodel.rst:269 -#: ../../reference/datamodel.rst:310 ../../reference/datamodel.rst:386 -#: ../../reference/datamodel.rst:420 ../../reference/datamodel.rst:690 -#: ../../reference/datamodel.rst:910 ../../reference/datamodel.rst:1179 -#: ../../reference/datamodel.rst:1413 ../../reference/datamodel.rst:1418 -#: ../../reference/datamodel.rst:1499 ../../reference/datamodel.rst:2050 -#: ../../reference/datamodel.rst:2474 ../../reference/datamodel.rst:2632 -#: ../../reference/datamodel.rst:2667 ../../reference/datamodel.rst:2681 -#: ../../reference/datamodel.rst:2728 ../../reference/datamodel.rst:2738 -#: ../../reference/datamodel.rst:2766 +#: ../../reference/datamodel.rst:23 ../../reference/datamodel.rst:292 +#: ../../reference/datamodel.rst:339 ../../reference/datamodel.rst:423 +#: ../../reference/datamodel.rst:462 ../../reference/datamodel.rst:795 +#: ../../reference/datamodel.rst:1044 ../../reference/datamodel.rst:1476 +#: ../../reference/datamodel.rst:1716 ../../reference/datamodel.rst:1721 +#: ../../reference/datamodel.rst:1805 ../../reference/datamodel.rst:2361 +#: ../../reference/datamodel.rst:2786 ../../reference/datamodel.rst:2944 +#: ../../reference/datamodel.rst:2979 ../../reference/datamodel.rst:2993 +#: ../../reference/datamodel.rst:3042 ../../reference/datamodel.rst:3052 +#: ../../reference/datamodel.rst:3080 msgid "built-in function" msgstr "função embutida" #: ../../reference/datamodel.rst:23 msgid "id" -msgstr "" +msgstr "id" #: ../../reference/datamodel.rst:23 ../../reference/datamodel.rst:122 -#: ../../reference/datamodel.rst:2050 +#: ../../reference/datamodel.rst:2361 msgid "type" msgstr "tipo" #: ../../reference/datamodel.rst:23 msgid "identity of an object" -msgstr "" +msgstr "identidade de um objeto" #: ../../reference/datamodel.rst:23 msgid "value of an object" -msgstr "" +msgstr "valor de um objeto" #: ../../reference/datamodel.rst:23 msgid "type of an object" -msgstr "" +msgstr "tipo de um objeto" #: ../../reference/datamodel.rst:23 msgid "mutable object" -msgstr "" +msgstr "objeto mutável" #: ../../reference/datamodel.rst:23 msgid "immutable object" -msgstr "" +msgstr "objeto imutável" #: ../../reference/datamodel.rst:60 msgid "garbage collection" @@ -4994,43 +5453,44 @@ msgstr "coleta de lixo" #: ../../reference/datamodel.rst:60 msgid "reference counting" -msgstr "" +msgstr "contagem de referências" #: ../../reference/datamodel.rst:60 msgid "unreachable object" -msgstr "" +msgstr "objeto inalcançável" -#: ../../reference/datamodel.rst:95 ../../reference/datamodel.rst:807 +#: ../../reference/datamodel.rst:95 ../../reference/datamodel.rst:934 msgid "container" -msgstr "" +msgstr "contêiner" #: ../../reference/datamodel.rst:122 msgid "hierarchy" -msgstr "" +msgstr "hierarquia" #: ../../reference/datamodel.rst:122 msgid "extension" -msgstr "" +msgstr "extensão" -#: ../../reference/datamodel.rst:122 ../../reference/datamodel.rst:380 -#: ../../reference/datamodel.rst:453 ../../reference/datamodel.rst:729 -#: ../../reference/datamodel.rst:748 ../../reference/datamodel.rst:910 +#: ../../reference/datamodel.rst:122 ../../reference/datamodel.rst:396 +#: ../../reference/datamodel.rst:397 ../../reference/datamodel.rst:498 +#: ../../reference/datamodel.rst:852 ../../reference/datamodel.rst:872 +#: ../../reference/datamodel.rst:1044 msgid "module" msgstr "módulo" -#: ../../reference/datamodel.rst:122 ../../reference/datamodel.rst:244 -#: ../../reference/datamodel.rst:690 +#: ../../reference/datamodel.rst:122 ../../reference/datamodel.rst:261 +#: ../../reference/datamodel.rst:795 msgid "C" msgstr "C" -#: ../../reference/datamodel.rst:122 ../../reference/datamodel.rst:244 -#: ../../reference/datamodel.rst:690 +#: ../../reference/datamodel.rst:122 ../../reference/datamodel.rst:261 +#: ../../reference/datamodel.rst:795 msgid "language" -msgstr "" +msgstr "linguagem" -#: ../../reference/datamodel.rst:135 ../../reference/datamodel.rst:807 -#: ../../reference/datamodel.rst:824 ../../reference/datamodel.rst:867 -#: ../../reference/datamodel.rst:887 +#: ../../reference/datamodel.rst:135 ../../reference/datamodel.rst:934 +#: ../../reference/datamodel.rst:952 ../../reference/datamodel.rst:998 +#: ../../reference/datamodel.rst:1018 msgid "attribute" msgstr "atributo" @@ -5040,824 +5500,828 @@ msgstr "especial" #: ../../reference/datamodel.rst:135 msgid "generic" -msgstr "" +msgstr "genérico" -#: ../../reference/datamodel.rst:173 +#: ../../reference/datamodel.rst:180 msgid "..." msgstr "..." -#: ../../reference/datamodel.rst:173 +#: ../../reference/datamodel.rst:180 msgid "ellipsis literal" -msgstr "reticências literais" +msgstr "literal de reticências" -#: ../../reference/datamodel.rst:182 ../../reference/datamodel.rst:894 +#: ../../reference/datamodel.rst:192 ../../reference/datamodel.rst:1025 msgid "numeric" -msgstr "" +msgstr "numérico" -#: ../../reference/datamodel.rst:212 ../../reference/datamodel.rst:238 -#: ../../reference/datamodel.rst:310 +#: ../../reference/datamodel.rst:225 ../../reference/datamodel.rst:231 +#: ../../reference/datamodel.rst:339 msgid "integer" msgstr "inteiro" -#: ../../reference/datamodel.rst:227 +#: ../../reference/datamodel.rst:231 +msgid "representation" +msgstr "representação" + +#: ../../reference/datamodel.rst:246 msgid "Boolean" msgstr "Booleano" -#: ../../reference/datamodel.rst:227 +#: ../../reference/datamodel.rst:246 msgid "False" msgstr "False" -#: ../../reference/datamodel.rst:227 +#: ../../reference/datamodel.rst:246 msgid "True" msgstr "True" -#: ../../reference/datamodel.rst:238 -msgid "representation" -msgstr "" - -#: ../../reference/datamodel.rst:244 +#: ../../reference/datamodel.rst:261 msgid "floating point" -msgstr "" +msgstr "ponto flutuante" -#: ../../reference/datamodel.rst:244 ../../reference/datamodel.rst:259 +#: ../../reference/datamodel.rst:261 ../../reference/datamodel.rst:279 msgid "number" -msgstr "number" +msgstr "número" -#: ../../reference/datamodel.rst:244 +#: ../../reference/datamodel.rst:261 msgid "Java" -msgstr "" +msgstr "Java" -#: ../../reference/datamodel.rst:259 ../../reference/datamodel.rst:2738 +#: ../../reference/datamodel.rst:279 ../../reference/datamodel.rst:3052 msgid "complex" -msgstr "" +msgstr "complexo" -#: ../../reference/datamodel.rst:269 ../../reference/datamodel.rst:386 -#: ../../reference/datamodel.rst:420 ../../reference/datamodel.rst:2474 +#: ../../reference/datamodel.rst:292 ../../reference/datamodel.rst:423 +#: ../../reference/datamodel.rst:462 ../../reference/datamodel.rst:2786 msgid "len" -msgstr "" +msgstr "len" -#: ../../reference/datamodel.rst:269 ../../reference/datamodel.rst:894 +#: ../../reference/datamodel.rst:292 ../../reference/datamodel.rst:1025 msgid "sequence" msgstr "sequência" -#: ../../reference/datamodel.rst:269 +#: ../../reference/datamodel.rst:292 msgid "index operation" -msgstr "" +msgstr "operação com índice" -#: ../../reference/datamodel.rst:269 +#: ../../reference/datamodel.rst:292 msgid "item selection" -msgstr "" +msgstr "seleção item" -#: ../../reference/datamodel.rst:269 ../../reference/datamodel.rst:352 -#: ../../reference/datamodel.rst:420 +#: ../../reference/datamodel.rst:292 ../../reference/datamodel.rst:384 +#: ../../reference/datamodel.rst:462 msgid "subscription" -msgstr "" +msgstr "subscrição" -#: ../../reference/datamodel.rst:281 ../../reference/datamodel.rst:352 +#: ../../reference/datamodel.rst:307 ../../reference/datamodel.rst:384 msgid "slicing" -msgstr "" +msgstr "fatiamento" -#: ../../reference/datamodel.rst:295 +#: ../../reference/datamodel.rst:324 msgid "immutable sequence" -msgstr "" +msgstr "sequência imutável" -#: ../../reference/datamodel.rst:295 +#: ../../reference/datamodel.rst:324 msgid "immutable" msgstr "imutável" -#: ../../reference/datamodel.rst:306 ../../reference/datamodel.rst:1388 -#: ../../reference/datamodel.rst:1418 +#: ../../reference/datamodel.rst:335 ../../reference/datamodel.rst:1691 +#: ../../reference/datamodel.rst:1721 msgid "string" msgstr "string" -#: ../../reference/datamodel.rst:306 +#: ../../reference/datamodel.rst:335 msgid "immutable sequences" -msgstr "" +msgstr "sequências imutáveis" -#: ../../reference/datamodel.rst:310 +#: ../../reference/datamodel.rst:339 msgid "chr" -msgstr "" +msgstr "chr" -#: ../../reference/datamodel.rst:310 +#: ../../reference/datamodel.rst:339 msgid "ord" -msgstr "" +msgstr "ord" -#: ../../reference/datamodel.rst:310 +#: ../../reference/datamodel.rst:339 msgid "character" -msgstr "" +msgstr "caractere" -#: ../../reference/datamodel.rst:310 +#: ../../reference/datamodel.rst:339 msgid "Unicode" msgstr "Unicode" -#: ../../reference/datamodel.rst:330 +#: ../../reference/datamodel.rst:359 msgid "tuple" msgstr "tupla" -#: ../../reference/datamodel.rst:330 +#: ../../reference/datamodel.rst:359 msgid "singleton" -msgstr "" +msgstr "Singleton" -#: ../../reference/datamodel.rst:330 +#: ../../reference/datamodel.rst:359 msgid "empty" -msgstr "" +msgstr "vazia" -#: ../../reference/datamodel.rst:343 ../../reference/datamodel.rst:1413 +#: ../../reference/datamodel.rst:372 ../../reference/datamodel.rst:1716 msgid "bytes" -msgstr "" +msgstr "bytes" -#: ../../reference/datamodel.rst:343 +#: ../../reference/datamodel.rst:372 msgid "byte" -msgstr "" +msgstr "byte" -#: ../../reference/datamodel.rst:352 +#: ../../reference/datamodel.rst:384 msgid "mutable sequence" -msgstr "" +msgstr "sequência mutável" -#: ../../reference/datamodel.rst:352 +#: ../../reference/datamodel.rst:384 msgid "mutable" msgstr "mutável" -#: ../../reference/datamodel.rst:352 ../../reference/datamodel.rst:824 -#: ../../reference/datamodel.rst:887 +#: ../../reference/datamodel.rst:384 ../../reference/datamodel.rst:952 +#: ../../reference/datamodel.rst:1018 msgid "assignment" -msgstr "" +msgstr "atribuição" -#: ../../reference/datamodel.rst:352 ../../reference/datamodel.rst:729 -#: ../../reference/datamodel.rst:1149 ../../reference/datamodel.rst:1309 -#: ../../reference/datamodel.rst:2793 +#: ../../reference/datamodel.rst:384 ../../reference/datamodel.rst:852 +#: ../../reference/datamodel.rst:1430 ../../reference/datamodel.rst:1612 +#: ../../reference/datamodel.rst:3107 msgid "statement" msgstr "instrução" -#: ../../reference/datamodel.rst:366 +#: ../../reference/datamodel.rst:396 +msgid "array" +msgstr "array" + +#: ../../reference/datamodel.rst:397 +msgid "collections" +msgstr "collections" + +#: ../../reference/datamodel.rst:405 msgid "list" msgstr "lista" -#: ../../reference/datamodel.rst:373 +#: ../../reference/datamodel.rst:412 msgid "bytearray" -msgstr "" - -#: ../../reference/datamodel.rst:380 -msgid "array" -msgstr "array" +msgstr "bytearray" -#: ../../reference/datamodel.rst:386 +#: ../../reference/datamodel.rst:423 msgid "set type" -msgstr "" +msgstr "tipo conjunto" -#: ../../reference/datamodel.rst:405 +#: ../../reference/datamodel.rst:443 msgid "set" -msgstr "" +msgstr "set" -#: ../../reference/datamodel.rst:412 +#: ../../reference/datamodel.rst:451 msgid "frozenset" -msgstr "" +msgstr "frozenset" -#: ../../reference/datamodel.rst:420 ../../reference/datamodel.rst:894 +#: ../../reference/datamodel.rst:462 ../../reference/datamodel.rst:1025 msgid "mapping" msgstr "mapeamento" -#: ../../reference/datamodel.rst:434 ../../reference/datamodel.rst:807 -#: ../../reference/datamodel.rst:1499 +#: ../../reference/datamodel.rst:479 ../../reference/datamodel.rst:934 +#: ../../reference/datamodel.rst:1805 msgid "dictionary" msgstr "dicionário" -#: ../../reference/datamodel.rst:453 +#: ../../reference/datamodel.rst:498 msgid "dbm.ndbm" -msgstr "" +msgstr "dbm.ndbm" -#: ../../reference/datamodel.rst:453 +#: ../../reference/datamodel.rst:498 msgid "dbm.gnu" -msgstr "" +msgstr "dbm.gnu" -#: ../../reference/datamodel.rst:467 +#: ../../reference/datamodel.rst:515 msgid "callable" msgstr "chamável" -#: ../../reference/datamodel.rst:467 ../../reference/datamodel.rst:477 -#: ../../reference/datamodel.rst:645 ../../reference/datamodel.rst:660 -#: ../../reference/datamodel.rst:670 ../../reference/datamodel.rst:690 +#: ../../reference/datamodel.rst:515 ../../reference/datamodel.rst:530 +#: ../../reference/datamodel.rst:739 ../../reference/datamodel.rst:757 +#: ../../reference/datamodel.rst:770 ../../reference/datamodel.rst:795 msgid "function" msgstr "função" -#: ../../reference/datamodel.rst:467 ../../reference/datamodel.rst:807 -#: ../../reference/datamodel.rst:829 ../../reference/datamodel.rst:2427 +#: ../../reference/datamodel.rst:515 ../../reference/datamodel.rst:934 +#: ../../reference/datamodel.rst:957 ../../reference/datamodel.rst:2738 msgid "call" -msgstr "" +msgstr "chamada" -#: ../../reference/datamodel.rst:467 +#: ../../reference/datamodel.rst:515 msgid "invocation" -msgstr "" +msgstr "invocação" -#: ../../reference/datamodel.rst:467 +#: ../../reference/datamodel.rst:515 msgid "argument" msgstr "argumento" -#: ../../reference/datamodel.rst:477 ../../reference/datamodel.rst:582 +#: ../../reference/datamodel.rst:530 ../../reference/datamodel.rst:650 msgid "user-defined" -msgstr "" +msgstr "definida por usuário" -#: ../../reference/datamodel.rst:477 +#: ../../reference/datamodel.rst:530 msgid "user-defined function" -msgstr "" +msgstr "função definida por usuário" + +#: ../../reference/datamodel.rst:543 +msgid "__closure__ (function attribute)" +msgstr "__closure__ (atributo de função)" + +#: ../../reference/datamodel.rst:543 +msgid "__globals__ (function attribute)" +msgstr "__globals__ (atributo de função)" + +#: ../../reference/datamodel.rst:543 +msgid "global" +msgstr "global" + +#: ../../reference/datamodel.rst:543 ../../reference/datamodel.rst:872 +msgid "namespace" +msgstr "espaço de nomes" -#: ../../reference/datamodel.rst:491 +#: ../../reference/datamodel.rst:569 msgid "__doc__ (function attribute)" -msgstr "" +msgstr "__doc__ (atributo de função)" -#: ../../reference/datamodel.rst:491 +#: ../../reference/datamodel.rst:569 msgid "__name__ (function attribute)" -msgstr "" +msgstr "__name__ (atributo de função)" -#: ../../reference/datamodel.rst:491 +#: ../../reference/datamodel.rst:569 msgid "__module__ (function attribute)" -msgstr "" +msgstr "__module__ (atributo de função)" -#: ../../reference/datamodel.rst:491 +#: ../../reference/datamodel.rst:569 msgid "__dict__ (function attribute)" -msgstr "" +msgstr "__dict__ (atributo de função)" -#: ../../reference/datamodel.rst:491 +#: ../../reference/datamodel.rst:569 msgid "__defaults__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:491 -msgid "__closure__ (function attribute)" -msgstr "" +msgstr "__defaults__ (atributo de função)" -#: ../../reference/datamodel.rst:491 +#: ../../reference/datamodel.rst:569 msgid "__code__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:491 -msgid "__globals__ (function attribute)" -msgstr "" +msgstr "__code__ (atributo de função)" -#: ../../reference/datamodel.rst:491 +#: ../../reference/datamodel.rst:569 msgid "__annotations__ (function attribute)" -msgstr "" +msgstr "__annotations__ (atributo de função)" -#: ../../reference/datamodel.rst:491 +#: ../../reference/datamodel.rst:569 msgid "__kwdefaults__ (function attribute)" -msgstr "" - -#: ../../reference/datamodel.rst:491 -msgid "global" -msgstr "" - -#: ../../reference/datamodel.rst:491 ../../reference/datamodel.rst:748 -msgid "namespace" -msgstr "espaço de nomes" +msgstr "__kwdefaults__ (atributo de função)" -#: ../../reference/datamodel.rst:582 ../../reference/datamodel.rst:705 +#: ../../reference/datamodel.rst:650 ../../reference/datamodel.rst:819 msgid "method" msgstr "método" -#: ../../reference/datamodel.rst:582 +#: ../../reference/datamodel.rst:650 msgid "user-defined method" -msgstr "" +msgstr "método definido por usuário" -#: ../../reference/datamodel.rst:590 +#: ../../reference/datamodel.rst:658 msgid "__func__ (method attribute)" -msgstr "" +msgstr "__func__ (atributo de método)" -#: ../../reference/datamodel.rst:590 +#: ../../reference/datamodel.rst:658 msgid "__self__ (method attribute)" -msgstr "" +msgstr "__self__ (atributo de método)" -#: ../../reference/datamodel.rst:590 +#: ../../reference/datamodel.rst:658 msgid "__doc__ (method attribute)" -msgstr "" +msgstr "__doc__ (atributo de método)" -#: ../../reference/datamodel.rst:590 +#: ../../reference/datamodel.rst:658 msgid "__name__ (method attribute)" -msgstr "" +msgstr "__name__ (atributo de método)" -#: ../../reference/datamodel.rst:590 +#: ../../reference/datamodel.rst:658 msgid "__module__ (method attribute)" -msgstr "" +msgstr "__module__ (atributo de método)" -#: ../../reference/datamodel.rst:645 ../../reference/datamodel.rst:998 +#: ../../reference/datamodel.rst:739 ../../reference/datamodel.rst:1186 msgid "generator" msgstr "gerador" -#: ../../reference/datamodel.rst:645 +#: ../../reference/datamodel.rst:739 msgid "iterator" msgstr "iterador" -#: ../../reference/datamodel.rst:660 ../../reference/datamodel.rst:2939 +#: ../../reference/datamodel.rst:757 ../../reference/datamodel.rst:3253 msgid "coroutine" msgstr "corrotina" -#: ../../reference/datamodel.rst:670 +#: ../../reference/datamodel.rst:770 msgid "asynchronous generator" msgstr "gerador assíncrono" -#: ../../reference/datamodel.rst:670 +#: ../../reference/datamodel.rst:770 msgid "asynchronous iterator" msgstr "iterador assíncrono" -#: ../../reference/datamodel.rst:705 +#: ../../reference/datamodel.rst:819 msgid "built-in method" -msgstr "" +msgstr "método embutido" -#: ../../reference/datamodel.rst:705 +#: ../../reference/datamodel.rst:819 msgid "built-in" msgstr "embutido" -#: ../../reference/datamodel.rst:729 +#: ../../reference/datamodel.rst:852 msgid "import" -msgstr "" +msgstr "import" -#: ../../reference/datamodel.rst:748 +#: ../../reference/datamodel.rst:872 msgid "__name__ (module attribute)" -msgstr "" +msgstr "__name__ (atributo de módulo)" -#: ../../reference/datamodel.rst:748 +#: ../../reference/datamodel.rst:872 msgid "__doc__ (module attribute)" -msgstr "" +msgstr "__doc__ (atributo de módulo)" -#: ../../reference/datamodel.rst:748 +#: ../../reference/datamodel.rst:872 msgid "__file__ (module attribute)" -msgstr "" +msgstr "__file__ (atributo de módulo)" -#: ../../reference/datamodel.rst:748 +#: ../../reference/datamodel.rst:872 msgid "__annotations__ (module attribute)" -msgstr "" +msgstr "__annotations__ (atributo de módulo)" -#: ../../reference/datamodel.rst:779 +#: ../../reference/datamodel.rst:903 msgid "__dict__ (module attribute)" -msgstr "" +msgstr "__dict__ (atributo de módulo)" -#: ../../reference/datamodel.rst:807 ../../reference/datamodel.rst:824 -#: ../../reference/datamodel.rst:867 ../../reference/datamodel.rst:1292 -#: ../../reference/datamodel.rst:2157 +#: ../../reference/datamodel.rst:934 ../../reference/datamodel.rst:952 +#: ../../reference/datamodel.rst:998 ../../reference/datamodel.rst:1595 +#: ../../reference/datamodel.rst:2468 msgid "class" msgstr "classe" -#: ../../reference/datamodel.rst:807 ../../reference/datamodel.rst:867 -#: ../../reference/datamodel.rst:887 +#: ../../reference/datamodel.rst:934 ../../reference/datamodel.rst:998 +#: ../../reference/datamodel.rst:1018 msgid "class instance" -msgstr "" +msgstr "instância de classe" -#: ../../reference/datamodel.rst:807 ../../reference/datamodel.rst:867 -#: ../../reference/datamodel.rst:2427 +#: ../../reference/datamodel.rst:934 ../../reference/datamodel.rst:998 +#: ../../reference/datamodel.rst:2738 msgid "instance" -msgstr "" +msgstr "instância" -#: ../../reference/datamodel.rst:807 ../../reference/datamodel.rst:829 +#: ../../reference/datamodel.rst:934 ../../reference/datamodel.rst:957 msgid "class object" -msgstr "" +msgstr "objeto classe" -#: ../../reference/datamodel.rst:833 +#: ../../reference/datamodel.rst:961 msgid "__name__ (class attribute)" -msgstr "" +msgstr "__name__ (atributo de classe)" -#: ../../reference/datamodel.rst:833 +#: ../../reference/datamodel.rst:961 msgid "__module__ (class attribute)" -msgstr "" +msgstr "__module__ (atributo de classe)" -#: ../../reference/datamodel.rst:833 +#: ../../reference/datamodel.rst:961 msgid "__dict__ (class attribute)" -msgstr "" +msgstr "__dict__ (atributo de classe)" -#: ../../reference/datamodel.rst:833 +#: ../../reference/datamodel.rst:961 msgid "__bases__ (class attribute)" -msgstr "" +msgstr "__bases__ (atributo de classe)" -#: ../../reference/datamodel.rst:833 +#: ../../reference/datamodel.rst:961 msgid "__doc__ (class attribute)" -msgstr "" +msgstr "__doc__ (atributo de classe)" -#: ../../reference/datamodel.rst:833 +#: ../../reference/datamodel.rst:961 msgid "__annotations__ (class attribute)" -msgstr "" +msgstr "__annotations__ (atributo de classe)" -#: ../../reference/datamodel.rst:902 +#: ../../reference/datamodel.rst:1033 msgid "__dict__ (instance attribute)" -msgstr "" +msgstr "__dict__ (atributo de instância)" -#: ../../reference/datamodel.rst:902 +#: ../../reference/datamodel.rst:1033 msgid "__class__ (instance attribute)" -msgstr "" +msgstr "__class__ (atributo de instância)" -#: ../../reference/datamodel.rst:910 +#: ../../reference/datamodel.rst:1044 msgid "open" -msgstr "" +msgstr "open" -#: ../../reference/datamodel.rst:910 +#: ../../reference/datamodel.rst:1044 msgid "io" msgstr "io" -#: ../../reference/datamodel.rst:910 +#: ../../reference/datamodel.rst:1044 msgid "popen() (in module os)" -msgstr "" +msgstr "popen() (no módulo os)" -#: ../../reference/datamodel.rst:910 +#: ../../reference/datamodel.rst:1044 msgid "makefile() (socket method)" -msgstr "" +msgstr "makefile() (método de socket)" -#: ../../reference/datamodel.rst:910 +#: ../../reference/datamodel.rst:1044 msgid "sys.stdin" -msgstr "" +msgstr "sys.stdin" -#: ../../reference/datamodel.rst:910 +#: ../../reference/datamodel.rst:1044 msgid "sys.stdout" -msgstr "" +msgstr "sys.stdout" -#: ../../reference/datamodel.rst:910 +#: ../../reference/datamodel.rst:1044 msgid "sys.stderr" -msgstr "" +msgstr "sys.stderr" -#: ../../reference/datamodel.rst:910 +#: ../../reference/datamodel.rst:1044 msgid "stdio" -msgstr "" +msgstr "stdio" -#: ../../reference/datamodel.rst:910 +#: ../../reference/datamodel.rst:1044 msgid "stdin (in module sys)" -msgstr "" +msgstr "stdin (no módulo sys)" -#: ../../reference/datamodel.rst:910 +#: ../../reference/datamodel.rst:1044 msgid "stdout (in module sys)" -msgstr "" +msgstr "stdout (no módulo sys)" -#: ../../reference/datamodel.rst:910 +#: ../../reference/datamodel.rst:1044 msgid "stderr (in module sys)" -msgstr "" +msgstr "stderr (no módulo sys)" -#: ../../reference/datamodel.rst:936 +#: ../../reference/datamodel.rst:1073 msgid "internal type" -msgstr "" +msgstr "tipo interno" -#: ../../reference/datamodel.rst:936 +#: ../../reference/datamodel.rst:1073 msgid "types, internal" -msgstr "" +msgstr "tipos, internos" -#: ../../reference/datamodel.rst:944 +#: ../../reference/datamodel.rst:1081 msgid "bytecode" msgstr "bytecode" -#: ../../reference/datamodel.rst:944 +#: ../../reference/datamodel.rst:1081 msgid "code" -msgstr "" +msgstr "código" -#: ../../reference/datamodel.rst:944 +#: ../../reference/datamodel.rst:1081 msgid "code object" -msgstr "" +msgstr "objeto código" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_argcount (code object attribute)" -msgstr "" +msgstr "co_argcount (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_posonlyargcount (code object attribute)" -msgstr "" +msgstr "co_posonlyargcount (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_kwonlyargcount (code object attribute)" -msgstr "" +msgstr "co_kwonlyargcount (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_code (code object attribute)" -msgstr "" +msgstr "co_code (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_consts (code object attribute)" -msgstr "" +msgstr "co_consts (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_filename (code object attribute)" -msgstr "" +msgstr "co_filename (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_firstlineno (code object attribute)" -msgstr "" +msgstr "co_firstlineno (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_flags (code object attribute)" -msgstr "" +msgstr "co_flags (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_lnotab (code object attribute)" -msgstr "" +msgstr "co_lnotab (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_name (code object attribute)" -msgstr "" +msgstr "co_name (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_names (code object attribute)" -msgstr "" +msgstr "co_names (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_nlocals (code object attribute)" -msgstr "" +msgstr "co_nlocals (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_stacksize (code object attribute)" -msgstr "" +msgstr "co_stacksize (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_varnames (code object attribute)" -msgstr "" +msgstr "co_varnames (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_cellvars (code object attribute)" -msgstr "" +msgstr "co_cellvars (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_freevars (code object attribute)" -msgstr "" +msgstr "co_freevars (atributo de objeto código)" -#: ../../reference/datamodel.rst:956 +#: ../../reference/datamodel.rst:1097 msgid "co_qualname (code object attribute)" -msgstr "" +msgstr "co_qualname (atributo de objeto código)" -#: ../../reference/datamodel.rst:1014 +#: ../../reference/datamodel.rst:1204 msgid "documentation string" msgstr "string de documentação" -#: ../../reference/datamodel.rst:1055 +#: ../../reference/datamodel.rst:1293 msgid "frame" -msgstr "" +msgstr "quadro" -#: ../../reference/datamodel.rst:1060 +#: ../../reference/datamodel.rst:1299 msgid "f_back (frame attribute)" -msgstr "" +msgstr "f_back (atributo de frame)" -#: ../../reference/datamodel.rst:1060 +#: ../../reference/datamodel.rst:1299 msgid "f_code (frame attribute)" -msgstr "" +msgstr "f_code (atributo de frame)" -#: ../../reference/datamodel.rst:1060 +#: ../../reference/datamodel.rst:1299 msgid "f_globals (frame attribute)" -msgstr "" +msgstr "f_globals (atributo de frame)" -#: ../../reference/datamodel.rst:1060 +#: ../../reference/datamodel.rst:1299 msgid "f_locals (frame attribute)" -msgstr "" +msgstr "f_locals (atributo de frame)" -#: ../../reference/datamodel.rst:1060 +#: ../../reference/datamodel.rst:1299 msgid "f_lasti (frame attribute)" -msgstr "" +msgstr "f_lasti (atributo de frame)" -#: ../../reference/datamodel.rst:1060 +#: ../../reference/datamodel.rst:1299 msgid "f_builtins (frame attribute)" -msgstr "" +msgstr "f_builtins (atributo de frame)" -#: ../../reference/datamodel.rst:1079 +#: ../../reference/datamodel.rst:1338 msgid "f_trace (frame attribute)" -msgstr "" +msgstr "f_trace (atributo de frame)" -#: ../../reference/datamodel.rst:1079 +#: ../../reference/datamodel.rst:1338 msgid "f_trace_lines (frame attribute)" -msgstr "" +msgstr "f_trace_lines (atributo de frame)" -#: ../../reference/datamodel.rst:1079 +#: ../../reference/datamodel.rst:1338 msgid "f_trace_opcodes (frame attribute)" -msgstr "" +msgstr "f_trace_opcodes (atributo de frame)" -#: ../../reference/datamodel.rst:1079 +#: ../../reference/datamodel.rst:1338 msgid "f_lineno (frame attribute)" -msgstr "" +msgstr "f_lineno (atributo de frame)" -#: ../../reference/datamodel.rst:1117 +#: ../../reference/datamodel.rst:1393 msgid "traceback" msgstr "traceback" -#: ../../reference/datamodel.rst:1117 +#: ../../reference/datamodel.rst:1393 msgid "stack" -msgstr "" +msgstr "pilha (stack)" -#: ../../reference/datamodel.rst:1117 +#: ../../reference/datamodel.rst:1393 msgid "trace" -msgstr "" +msgstr "rastro (trace)" -#: ../../reference/datamodel.rst:1117 +#: ../../reference/datamodel.rst:1393 msgid "exception" -msgstr "" +msgstr "exceção" -#: ../../reference/datamodel.rst:1117 +#: ../../reference/datamodel.rst:1393 msgid "handler" -msgstr "" +msgstr "manipulador (handler)" -#: ../../reference/datamodel.rst:1117 +#: ../../reference/datamodel.rst:1393 msgid "execution" -msgstr "" +msgstr "execução" -#: ../../reference/datamodel.rst:1117 +#: ../../reference/datamodel.rst:1393 msgid "exc_info (in module sys)" -msgstr "" +msgstr "exc_info (no módulo sys)" -#: ../../reference/datamodel.rst:1117 +#: ../../reference/datamodel.rst:1393 msgid "last_traceback (in module sys)" -msgstr "" +msgstr "last_traceback (no módulo sys)" -#: ../../reference/datamodel.rst:1117 +#: ../../reference/datamodel.rst:1393 msgid "sys.exc_info" -msgstr "" +msgstr "sys.exc_info" -#: ../../reference/datamodel.rst:1117 +#: ../../reference/datamodel.rst:1393 msgid "sys.exception" -msgstr "" +msgstr "sys.exception" -#: ../../reference/datamodel.rst:1117 +#: ../../reference/datamodel.rst:1393 msgid "sys.last_traceback" -msgstr "" +msgstr "sys.last_traceback" -#: ../../reference/datamodel.rst:1149 +#: ../../reference/datamodel.rst:1430 msgid "tb_frame (traceback attribute)" -msgstr "" +msgstr "tb_frame (atributo de traceback)" -#: ../../reference/datamodel.rst:1149 +#: ../../reference/datamodel.rst:1430 msgid "tb_lineno (traceback attribute)" -msgstr "" +msgstr "tb_lineno (atributo de traceback)" -#: ../../reference/datamodel.rst:1149 +#: ../../reference/datamodel.rst:1430 msgid "tb_lasti (traceback attribute)" -msgstr "" +msgstr "tb_lasti (atributo de traceback)" -#: ../../reference/datamodel.rst:1149 +#: ../../reference/datamodel.rst:1430 msgid "try" -msgstr "" +msgstr "try" -#: ../../reference/datamodel.rst:1167 +#: ../../reference/datamodel.rst:1460 msgid "tb_next (traceback attribute)" -msgstr "" +msgstr "tb_next (atributo de traceback)" -#: ../../reference/datamodel.rst:1179 ../../reference/datamodel.rst:2504 +#: ../../reference/datamodel.rst:1476 ../../reference/datamodel.rst:2816 msgid "slice" msgstr "fatia" -#: ../../reference/datamodel.rst:1185 +#: ../../reference/datamodel.rst:1482 msgid "start (slice object attribute)" -msgstr "" +msgstr "início (atributo de objeto fatia)" -#: ../../reference/datamodel.rst:1185 +#: ../../reference/datamodel.rst:1482 msgid "stop (slice object attribute)" -msgstr "" +msgstr "stop (atributo de objeto fatia)" -#: ../../reference/datamodel.rst:1185 +#: ../../reference/datamodel.rst:1482 msgid "step (slice object attribute)" -msgstr "" +msgstr "step (atributo de objeto fatia)" -#: ../../reference/datamodel.rst:1227 +#: ../../reference/datamodel.rst:1530 msgid "operator" -msgstr "operator" +msgstr "operador" -#: ../../reference/datamodel.rst:1227 +#: ../../reference/datamodel.rst:1530 msgid "overloading" -msgstr "" +msgstr "sobrecarga" -#: ../../reference/datamodel.rst:1227 +#: ../../reference/datamodel.rst:1530 msgid "__getitem__() (mapping object method)" -msgstr "" +msgstr "__getitem__() (método de objeto mapeamento)" -#: ../../reference/datamodel.rst:1263 +#: ../../reference/datamodel.rst:1566 msgid "subclassing" -msgstr "" +msgstr "subclasse" -#: ../../reference/datamodel.rst:1263 +#: ../../reference/datamodel.rst:1566 msgid "immutable types" -msgstr "" +msgstr "tipos imutáveis" -#: ../../reference/datamodel.rst:1292 +#: ../../reference/datamodel.rst:1595 msgid "constructor" -msgstr "" +msgstr "construtor" -#: ../../reference/datamodel.rst:1309 +#: ../../reference/datamodel.rst:1612 msgid "destructor" -msgstr "" +msgstr "destrutor" -#: ../../reference/datamodel.rst:1309 +#: ../../reference/datamodel.rst:1612 msgid "finalizer" -msgstr "" +msgstr "finalizador" -#: ../../reference/datamodel.rst:1309 +#: ../../reference/datamodel.rst:1612 msgid "del" -msgstr "" +msgstr "del" -#: ../../reference/datamodel.rst:1371 +#: ../../reference/datamodel.rst:1674 msgid "repr() (built-in function)" -msgstr "" +msgstr "repr() (função embutida)" -#: ../../reference/datamodel.rst:1371 +#: ../../reference/datamodel.rst:1674 msgid "__repr__() (object method)" -msgstr "" +msgstr "__repr__() (método de objeto)" -#: ../../reference/datamodel.rst:1388 +#: ../../reference/datamodel.rst:1691 msgid "__str__() (object method)" -msgstr "" +msgstr "__str__() (método de objeto)" -#: ../../reference/datamodel.rst:1388 +#: ../../reference/datamodel.rst:1691 msgid "format() (built-in function)" msgstr "format() (função embutida)" -#: ../../reference/datamodel.rst:1388 +#: ../../reference/datamodel.rst:1691 msgid "print() (built-in function)" -msgstr "" +msgstr "print() (função embutida)" -#: ../../reference/datamodel.rst:1418 +#: ../../reference/datamodel.rst:1721 msgid "__format__() (object method)" -msgstr "" +msgstr "__format__() (método de objeto)" -#: ../../reference/datamodel.rst:1418 +#: ../../reference/datamodel.rst:1721 msgid "conversion" -msgstr "" +msgstr "conversão" -#: ../../reference/datamodel.rst:1418 +#: ../../reference/datamodel.rst:1721 msgid "print" -msgstr "" +msgstr "print" -#: ../../reference/datamodel.rst:1457 +#: ../../reference/datamodel.rst:1760 msgid "comparisons" -msgstr "" +msgstr "comparações" -#: ../../reference/datamodel.rst:1499 +#: ../../reference/datamodel.rst:1805 msgid "hash" -msgstr "" +msgstr "hash" -#: ../../reference/datamodel.rst:1580 +#: ../../reference/datamodel.rst:1886 msgid "__len__() (mapping object method)" -msgstr "" +msgstr "__len__() (método de objeto mapeamento)" -#: ../../reference/datamodel.rst:1683 +#: ../../reference/datamodel.rst:1990 msgid "__getattr__ (module attribute)" -msgstr "" +msgstr "__getattr__ (atributo de módulo)" -#: ../../reference/datamodel.rst:1683 +#: ../../reference/datamodel.rst:1990 msgid "__dir__ (module attribute)" -msgstr "" +msgstr "__dir__ (atributo de módulo)" -#: ../../reference/datamodel.rst:1683 +#: ../../reference/datamodel.rst:1990 msgid "__class__ (module attribute)" -msgstr "" +msgstr "__class__ (atributo de módulo)" -#: ../../reference/datamodel.rst:2050 +#: ../../reference/datamodel.rst:2361 msgid "metaclass" msgstr "metaclasse" -#: ../../reference/datamodel.rst:2050 +#: ../../reference/datamodel.rst:2361 msgid "= (equals)" -msgstr "" +msgstr "= (igual)" -#: ../../reference/datamodel.rst:2050 +#: ../../reference/datamodel.rst:2361 msgid "class definition" -msgstr "" +msgstr "definição de classe" -#: ../../reference/datamodel.rst:2110 +#: ../../reference/datamodel.rst:2421 msgid "metaclass hint" -msgstr "" +msgstr "dica de metaclasse" -#: ../../reference/datamodel.rst:2133 +#: ../../reference/datamodel.rst:2444 msgid "__prepare__ (metaclass method)" -msgstr "" +msgstr "__prepare__ (método de metaclasse)" -#: ../../reference/datamodel.rst:2157 +#: ../../reference/datamodel.rst:2468 msgid "body" -msgstr "" +msgstr "corpo" -#: ../../reference/datamodel.rst:2177 +#: ../../reference/datamodel.rst:2488 msgid "__class__ (method cell)" -msgstr "" +msgstr "__class__ (célula de método)" -#: ../../reference/datamodel.rst:2177 +#: ../../reference/datamodel.rst:2488 msgid "__classcell__ (class namespace entry)" -msgstr "" +msgstr "__classcell__ (entrada de espaço de nomes de classe)" -#: ../../reference/datamodel.rst:2474 +#: ../../reference/datamodel.rst:2786 msgid "__bool__() (object method)" -msgstr "" +msgstr "__bool__() (método de objeto)" -#: ../../reference/datamodel.rst:2632 ../../reference/datamodel.rst:2667 +#: ../../reference/datamodel.rst:2944 ../../reference/datamodel.rst:2979 msgid "divmod" -msgstr "" +msgstr "divmod" -#: ../../reference/datamodel.rst:2632 ../../reference/datamodel.rst:2667 -#: ../../reference/datamodel.rst:2681 +#: ../../reference/datamodel.rst:2944 ../../reference/datamodel.rst:2979 +#: ../../reference/datamodel.rst:2993 msgid "pow" -msgstr "" +msgstr "pow" -#: ../../reference/datamodel.rst:2728 +#: ../../reference/datamodel.rst:3042 msgid "abs" -msgstr "" +msgstr "abs" -#: ../../reference/datamodel.rst:2738 +#: ../../reference/datamodel.rst:3052 msgid "int" msgstr "int" -#: ../../reference/datamodel.rst:2738 +#: ../../reference/datamodel.rst:3052 msgid "float" msgstr "ponto flutuante" -#: ../../reference/datamodel.rst:2766 +#: ../../reference/datamodel.rst:3080 msgid "round" -msgstr "" +msgstr "round" -#: ../../reference/datamodel.rst:2793 +#: ../../reference/datamodel.rst:3107 msgid "with" -msgstr "" +msgstr "with" -#: ../../reference/datamodel.rst:2793 +#: ../../reference/datamodel.rst:3107 msgid "context manager" msgstr "gerenciador de contexto" diff --git a/reference/executionmodel.po b/reference/executionmodel.po index d4b9e6fd0..3784e5e88 100644 --- a/reference/executionmodel.po +++ b/reference/executionmodel.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Leticia Portella , 2021 -# Adorilson Bezerra , 2023 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:19+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -43,13 +40,13 @@ msgid "" "the interpreter or specified as a command line argument to the interpreter) " "is a code block. A script command (a command specified on the interpreter " "command line with the :option:`-c` option) is a code block. A module run as " -"a top level script (as module ``__main__``) from the command line using a :" -"option:`-m` argument is also a code block. The string argument passed to the " -"built-in functions :func:`eval` and :func:`exec` is a code block." +"a top level script (as module ``__main__``) from the command line using " +"a :option:`-m` argument is also a code block. The string argument passed to " +"the built-in functions :func:`eval` and :func:`exec` is a code block." msgstr "" -"Um programa Python é construído a partir de blocos de código. Um :dfn:" -"`bloco` é um pedaço do texto do programa Python que é executado como uma " -"unidade. A seguir estão os blocos: um módulo, um corpo de função e uma " +"Um programa Python é construído a partir de blocos de código. " +"Um :dfn:`bloco` é um pedaço do texto do programa Python que é executado como " +"uma unidade. A seguir estão os blocos: um módulo, um corpo de função e uma " "definição de classe. Cada comando digitado interativamente é um bloco. Um " "arquivo de script (um arquivo fornecido como entrada padrão para o " "interpretador ou especificado como argumento de linha de comando para o " @@ -126,9 +123,9 @@ msgid "" "clause, :keyword:`except* ` clause, or in the as-pattern in " "structural pattern matching," msgstr "" -"depois de :keyword:`!as` em uma instrução :keyword:`with`, cláusula :keyword:" -"`except`, cláusula :keyword:`except* ` ou no padrão as na " -"correspondência de padrões estruturais," +"depois de :keyword:`!as` em uma instrução :keyword:`with`, " +"cláusula :keyword:`except`, cláusula :keyword:`except* ` ou no " +"padrão as na correspondência de padrões estruturais," #: ../../reference/executionmodel.rst:71 msgid "in a capture pattern in structural pattern matching" @@ -175,7 +172,7 @@ msgid "" msgstr "" "Se um nome está ligado a um bloco, é uma variável local desse bloco, a menos " "que declarado como :keyword:`nonlocal` ou :keyword:`global`. Se um nome está " -"ligado a nível do módulo, é uma variável global. (As variáveis ​​do bloco de " +"ligado a nível do módulo, é uma variável global. (As variáveis do bloco de " "código do módulo são locais e globais.) Se uma variável for usada em um " "bloco de código, mas não definida lá, é uma :dfn:`variável livre`." @@ -220,8 +217,8 @@ msgid "" "When a name is not found at all, a :exc:`NameError` exception is raised. If " "the current scope is a function scope, and the name refers to a local " "variable that has not yet been bound to a value at the point where the name " -"is used, an :exc:`UnboundLocalError` exception is raised. :exc:" -"`UnboundLocalError` is a subclass of :exc:`NameError`." +"is used, an :exc:`UnboundLocalError` exception is " +"raised. :exc:`UnboundLocalError` is a subclass of :exc:`NameError`." msgstr "" "Quando um nome não é encontrado, uma exceção :exc:`NameError` é levantada. " "Se o escopo atual for um escopo de função e o nome se referir a uma variável " @@ -247,8 +244,8 @@ msgstr "" "permite que as operações de ligação de nomes ocorram em qualquer lugar " "dentro de um bloco de código. As variáveis locais de um bloco de código " "podem ser determinadas pela varredura de todo o texto do bloco para " -"operações de ligação de nome. Veja :ref:`the FAQ entry on UnboundLocalError " -"` para exemplos." +"operações de ligação de nome. Veja :ref:`o FAQ sobre UnboundLocalError ` para exemplos." #: ../../reference/executionmodel.rst:134 msgid "" @@ -256,10 +253,10 @@ msgid "" "names specified in the statement refer to the bindings of those names in the " "top-level namespace. Names are resolved in the top-level namespace by " "searching the global namespace, i.e. the namespace of the module containing " -"the code block, and the builtins namespace, the namespace of the module :mod:" -"`builtins`. The global namespace is searched first. If the names are not " -"found there, the builtins namespace is searched. The :keyword:`!global` " -"statement must precede all uses of the listed names." +"the code block, and the builtins namespace, the namespace of the " +"module :mod:`builtins`. The global namespace is searched first. If the " +"names are not found there, the builtins namespace is searched. " +"The :keyword:`!global` statement must precede all uses of the listed names." msgstr "" "Se a instrução :keyword:`global` ocorrer dentro de um bloco, todos os usos " "dos nomes especificados na instrução referem-se às ligações desses nomes no " @@ -285,15 +282,10 @@ msgstr "" #: ../../reference/executionmodel.rst:149 msgid "" "The :keyword:`nonlocal` statement causes corresponding names to refer to " -"previously bound variables in the nearest enclosing function scope. :exc:" -"`SyntaxError` is raised at compile time if the given name does not exist in " -"any enclosing function scope." +"previously bound variables in the nearest enclosing function " +"scope. :exc:`SyntaxError` is raised at compile time if the given name does " +"not exist in any enclosing function scope." msgstr "" -"A instrução :keyword:`nonlocal` faz com que os nomes correspondentes se " -"refiram a variáveis previamente vinculadas no escopo da função delimitadora " -"mais próxima. A exceção :exc:`SyntaxError` é levantada em tempo de " -"compilação se o nome fornecido não existir em nenhum escopo de função " -"delimitador." #: ../../reference/executionmodel.rst:156 msgid "" @@ -301,8 +293,8 @@ msgid "" "is imported. The main module for a script is always called :mod:`__main__`." msgstr "" "O espaço de nomes de um módulo é criado automaticamente na primeira vez que " -"um módulo é importado. O módulo principal de um script é sempre chamado de :" -"mod:`__main__`." +"um módulo é importado. O módulo principal de um script é sempre chamado " +"de :mod:`__main__`." #: ../../reference/executionmodel.rst:159 msgid "" @@ -317,17 +309,6 @@ msgid "" "expressions since they are implemented using a function scope. This means " "that the following will fail::" msgstr "" -"Blocos de definição de classe e argumentos para :func:`exec` e :func:`eval` " -"são especiais no contexto de resolução de nome. Uma definição de classe é " -"uma instrução executável que pode usar e definir nomes. Essas referências " -"seguem as regras normais para resolução de nome, com exceção de que " -"variáveis locais não vinculadas são pesquisadas no espaço de nomes global " -"global. O espaço de nomes global da definição de classe se torna o " -"dicionário de atributos da classe. O escopo dos nomes definidos em um bloco " -"de classe é limitado ao bloco de classe; ele não se estende aos blocos de " -"código de métodos -- isso inclui compreensões e expressões geradoras, uma " -"vez que são implementadas usando um escopo de função. Isso significa que o " -"seguinte falhará::" #: ../../reference/executionmodel.rst:177 msgid "Builtins and restricted execution" @@ -336,9 +317,9 @@ msgstr "Builtins e execução restrita" #: ../../reference/executionmodel.rst:183 msgid "" "Users should not touch ``__builtins__``; it is strictly an implementation " -"detail. Users wanting to override values in the builtins namespace should :" -"keyword:`import` the :mod:`builtins` module and modify its attributes " -"appropriately." +"detail. Users wanting to override values in the builtins namespace " +"should :keyword:`import` the :mod:`builtins` module and modify its " +"attributes appropriately." msgstr "" "Os usuários não devem tocar em ``__builtins__``; é estritamente um detalhe " "de implementação. Usuários que desejam substituir valores no espaço de nomes " @@ -352,10 +333,10 @@ msgid "" "namespace; this should be a dictionary or a module (in the latter case the " "module's dictionary is used). By default, when in the :mod:`__main__` " "module, ``__builtins__`` is the built-in module :mod:`builtins`; when in any " -"other module, ``__builtins__`` is an alias for the dictionary of the :mod:" -"`builtins` module itself." +"other module, ``__builtins__`` is an alias for the dictionary of " +"the :mod:`builtins` module itself." msgstr "" -"O espaço de nomes interno associado com a execução de um bloco de código é " +"O espaço de nomes builtins associado com a execução de um bloco de código é " "encontrado procurando o nome ``__builtins__`` em seu espaço de nomes global; " "este deve ser um dicionário ou um módulo (no último caso, o dicionário do " "módulo é usado). Por padrão, quando no módulo :mod:`__main__`, " @@ -380,18 +361,18 @@ msgid "" "The :func:`eval` and :func:`exec` functions do not have access to the full " "environment for resolving names. Names may be resolved in the local and " "global namespaces of the caller. Free variables are not resolved in the " -"nearest enclosing namespace, but in the global namespace. [#]_ The :func:" -"`exec` and :func:`eval` functions have optional arguments to override the " -"global and local namespace. If only one namespace is specified, it is used " -"for both." +"nearest enclosing namespace, but in the global namespace. [#]_ " +"The :func:`exec` and :func:`eval` functions have optional arguments to " +"override the global and local namespace. If only one namespace is " +"specified, it is used for both." msgstr "" "As funções :func:`eval` e :func:`exec` não têm acesso ao ambiente completo " "para resolução de nome. Os nomes podem ser resolvidos nos espaços de nomes " "locais e globais do chamador. Variáveis livres não são resolvidas no espaço " -"de nomes mais próximo, mas no espaço de nomes global. [#]_ As funções :func:" -"`exec` e :func:`eval` possuem argumentos opcionais para substituir o espaço " -"de nomes global e local. Se apenas um espaço de nomes for especificado, ele " -"será usado para ambos." +"de nomes mais próximo, mas no espaço de nomes global. [#]_ As " +"funções :func:`exec` e :func:`eval` possuem argumentos opcionais para " +"substituir o espaço de nomes global e local. Se apenas um espaço de nomes " +"for especificado, ele será usado para ambos." #: ../../reference/executionmodel.rst:224 msgid "Exceptions" @@ -416,18 +397,19 @@ msgid "" "The Python interpreter raises an exception when it detects a run-time error " "(such as division by zero). A Python program can also explicitly raise an " "exception with the :keyword:`raise` statement. Exception handlers are " -"specified with the :keyword:`try` ... :keyword:`except` statement. The :" -"keyword:`finally` clause of such a statement can be used to specify cleanup " -"code which does not handle the exception, but is executed whether an " +"specified with the :keyword:`try` ... :keyword:`except` statement. " +"The :keyword:`finally` clause of such a statement can be used to specify " +"cleanup code which does not handle the exception, but is executed whether an " "exception occurred or not in the preceding code." msgstr "" "O interpretador Python levanta uma exceção quando detecta um erro em tempo " "de execução (como divisão por zero). Um programa Python também pode levantar " "explicitamente uma exceção com a instrução :keyword:`raise`. Os tratadores " -"de exceção são especificados com a instrução :keyword:`try` ... :keyword:" -"`except`. A cláusula :keyword:`finally` de tal declaração pode ser usada " -"para especificar o código de limpeza que não trata a exceção, mas é " -"executado se uma exceção ocorreu ou não no código anterior." +"de exceção são especificados com a " +"instrução :keyword:`try` ... :keyword:`except`. A " +"cláusula :keyword:`finally` de tal declaração pode ser usada para " +"especificar o código de limpeza que não trata a exceção, mas é executado se " +"uma exceção ocorreu ou não no código anterior." #: ../../reference/executionmodel.rst:251 msgid "" @@ -446,8 +428,8 @@ msgstr "" msgid "" "When an exception is not handled at all, the interpreter terminates " "execution of the program, or returns to its interactive main loop. In " -"either case, it prints a stack traceback, except when the exception is :exc:" -"`SystemExit`." +"either case, it prints a stack traceback, except when the exception " +"is :exc:`SystemExit`." msgstr "" "Quando uma exceção não é manipulada, o interpretador encerra a execução do " "programa ou retorna ao seu laço principal interativo. Em ambos os casos, ele " @@ -462,11 +444,12 @@ msgid "" "class>` thereof. The instance can be received by the handler and can carry " "additional information about the exceptional condition." msgstr "" -"As exceções são identificadas por instâncias de classe. A cláusula :keyword:" -"`except` é selecionada dependendo da classe da instância: ela deve " -"referenciar a classe da instância ou uma :term:`classe base não-virtual " -"` dela. A instância pode ser recebida pelo manipulador " -"e pode conter informações adicionais sobre a condição excepcional." +"As exceções são identificadas por instâncias de classe. A " +"cláusula :keyword:`except` é selecionada dependendo da classe da instância: " +"ela deve referenciar a classe da instância ou uma :term:`classe base não-" +"virtual ` dela. A instância pode ser recebida pelo " +"manipulador e pode conter informações adicionais sobre a condição " +"excepcional." #: ../../reference/executionmodel.rst:270 msgid "" @@ -481,8 +464,8 @@ msgstr "" #: ../../reference/executionmodel.rst:274 msgid "" -"See also the description of the :keyword:`try` statement in section :ref:" -"`try` and :keyword:`raise` statement in section :ref:`raise`." +"See also the description of the :keyword:`try` statement in " +"section :ref:`try` and :keyword:`raise` statement in section :ref:`raise`." msgstr "" "Veja também a descrição da declaração :keyword:`try` na seção :ref:`try` e a " "instrução :keyword:`raise` na seção :ref:`raise`." @@ -501,23 +484,23 @@ msgstr "" #: ../../reference/executionmodel.rst:8 msgid "execution model" -msgstr "" +msgstr "execução, modelo" #: ../../reference/executionmodel.rst:8 msgid "code" -msgstr "" +msgstr "código" #: ../../reference/executionmodel.rst:8 ../../reference/executionmodel.rst:17 msgid "block" -msgstr "" +msgstr "bloco" #: ../../reference/executionmodel.rst:31 ../../reference/executionmodel.rst:179 msgid "execution" -msgstr "" +msgstr "execução" #: ../../reference/executionmodel.rst:31 msgid "frame" -msgstr "" +msgstr "quadro" #: ../../reference/executionmodel.rst:42 msgid "namespace" @@ -525,7 +508,7 @@ msgstr "espaço de nomes" #: ../../reference/executionmodel.rst:42 ../../reference/executionmodel.rst:101 msgid "scope" -msgstr "" +msgstr "escopo" #: ../../reference/executionmodel.rst:51 msgid "name" @@ -533,7 +516,7 @@ msgstr "nome" #: ../../reference/executionmodel.rst:51 msgid "binding" -msgstr "" +msgstr "vinculação; ligação" #: ../../reference/executionmodel.rst:57 msgid "from" @@ -541,27 +524,27 @@ msgstr "from" #: ../../reference/executionmodel.rst:57 msgid "import statement" -msgstr "" +msgstr "instrução import" #: ../../reference/executionmodel.rst:85 msgid "free" -msgstr "" +msgstr "livre" #: ../../reference/executionmodel.rst:85 msgid "variable" -msgstr "" +msgstr "variável" #: ../../reference/executionmodel.rst:109 msgid "environment" -msgstr "" +msgstr "ambiente" #: ../../reference/executionmodel.rst:115 msgid "NameError (built-in exception)" -msgstr "" +msgstr "NameError (exceção embutida)" #: ../../reference/executionmodel.rst:115 msgid "UnboundLocalError" -msgstr "" +msgstr "UnboundLocalError" #: ../../reference/executionmodel.rst:154 msgid "module" @@ -569,40 +552,40 @@ msgstr "módulo" #: ../../reference/executionmodel.rst:154 msgid "__main__" -msgstr "" +msgstr "__main__" #: ../../reference/executionmodel.rst:179 msgid "restricted" -msgstr "" +msgstr "restrita" #: ../../reference/executionmodel.rst:226 msgid "exception" -msgstr "" +msgstr "exceção" #: ../../reference/executionmodel.rst:228 msgid "raise an exception" -msgstr "" +msgstr "levantar uma exceção" #: ../../reference/executionmodel.rst:228 msgid "handle an exception" -msgstr "" +msgstr "manipular uma exceção" #: ../../reference/executionmodel.rst:228 msgid "exception handler" -msgstr "" +msgstr "tratador de exceção" #: ../../reference/executionmodel.rst:228 msgid "errors" -msgstr "" +msgstr "erros" #: ../../reference/executionmodel.rst:228 msgid "error handling" -msgstr "" +msgstr "tratamento de erros" #: ../../reference/executionmodel.rst:249 msgid "termination model" -msgstr "" +msgstr "modelo de terminação" #: ../../reference/executionmodel.rst:256 msgid "SystemExit (built-in exception)" -msgstr "" +msgstr "SystemExit (exceção embutida)" diff --git a/reference/expressions.po b/reference/expressions.po index a13c88107..b48290810 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -1,36 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Danilo Lima , 2021 -# Misael borges , 2021 -# Italo Penaforte , 2023 -# Julia Rizza , 2023 -# felipe caridade , 2023 -# Vinicius Gubiani Ferreira , 2023 -# Alexandre B A Villares, 2023 -# Adorilson Bezerra , 2023 -# Marco Rougeth , 2023 -# Claudio Rogerio Carvalho Filho , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -128,19 +117,19 @@ msgstr "Identificadores (Nomes)" #: ../../reference/expressions.rst:70 msgid "" -"An identifier occurring as an atom is a name. See section :ref:" -"`identifiers` for lexical definition and section :ref:`naming` for " -"documentation of naming and binding." +"An identifier occurring as an atom is a name. See " +"section :ref:`identifiers` for lexical definition and section :ref:`naming` " +"for documentation of naming and binding." msgstr "" -"Um identificador que ocorre como um átomo é um nome. Veja a seção :ref:" -"`identifiers` para a definição lexical e a seção :ref:`naming` para " -"documentação de nomenclatura e ligação." +"Um identificador que ocorre como um átomo é um nome. Veja a " +"seção :ref:`identifiers` para a definição lexical e a seção :ref:`naming` " +"para documentação de nomenclatura e ligação." #: ../../reference/expressions.rst:76 msgid "" "When the name is bound to an object, evaluation of the atom yields that " -"object. When a name is not bound, an attempt to evaluate it raises a :exc:" -"`NameError` exception." +"object. When a name is not bound, an attempt to evaluate it raises " +"a :exc:`NameError` exception." msgstr "" "Quando o nome está vinculado a um objeto, a avaliação do átomo produz esse " "objeto. Quando um nome não está vinculado, uma tentativa de avaliá-lo " @@ -219,7 +208,7 @@ msgstr "Formas de parênteses" msgid "" "A parenthesized form is an optional expression list enclosed in parentheses:" msgstr "" -"Um formulário entre parênteses é uma lista de expressões opcional entre " +"Um forma entre parênteses é uma lista de expressões opcional entre " "parênteses:" #: ../../reference/expressions.rst:142 @@ -239,8 +228,8 @@ msgid "" "immutable, the same rules as for literals apply (i.e., two occurrences of " "the empty tuple may or may not yield the same object)." msgstr "" -"Um par de parênteses vazio produz um objeto de tupla vazio. Como as tuplas " -"são imutáveis, aplicam-se as mesmas regras dos literais (isto é, duas " +"Um par de parênteses vazio produz um objeto tupla vazio. Como as tuplas são " +"imutáveis, aplicam-se as mesmas regras dos literais (isto é, duas " "ocorrências da tupla vazia podem ou não produzir o mesmo objeto)." #: ../../reference/expressions.rst:156 @@ -275,8 +264,8 @@ msgstr "o conteúdo do contêiner é listado explicitamente ou" #: ../../reference/expressions.rst:174 msgid "" -"they are computed via a set of looping and filtering instructions, called a :" -"dfn:`comprehension`." +"they are computed via a set of looping and filtering instructions, called " +"a :dfn:`comprehension`." msgstr "" "eles são calculados por meio de um conjunto de instruções de laço e " "filtragem, chamado de :dfn:`compreensão`." @@ -287,20 +276,20 @@ msgstr "Elementos de sintaxe comuns para compreensões são:" #: ../../reference/expressions.rst:190 msgid "" -"The comprehension consists of a single expression followed by at least one :" -"keyword:`!for` clause and zero or more :keyword:`!for` or :keyword:`!if` " -"clauses. In this case, the elements of the new container are those that " +"The comprehension consists of a single expression followed by at least " +"one :keyword:`!for` clause and zero or more :keyword:`!for` or :keyword:`!" +"if` clauses. In this case, the elements of the new container are those that " "would be produced by considering each of the :keyword:`!for` or :keyword:`!" "if` clauses a block, nesting from left to right, and evaluating the " "expression to produce an element each time the innermost block is reached." msgstr "" "A compreensão consiste em uma única expressão seguida por pelo menos uma " -"cláusula :keyword:`!for` e zero ou mais cláusulas :keyword:`!for` ou :" -"keyword:`!if`. Neste caso, os elementos do novo contêiner são aqueles que " -"seriam produzidos considerando cada uma das cláusulas :keyword:`!for` ou :" -"keyword:`!if` de um bloco, aninhando da esquerda para a direita, e avaliando " -"a expressão para produzir um elemento cada vez que o bloco mais interno é " -"alcançado." +"cláusula :keyword:`!for` e zero ou mais cláusulas :keyword:`!for` " +"ou :keyword:`!if`. Neste caso, os elementos do novo contêiner são aqueles " +"que seriam produzidos considerando cada uma das cláusulas :keyword:`!for` " +"ou :keyword:`!if` de um bloco, aninhando da esquerda para a direita, e " +"avaliando a expressão para produzir um elemento cada vez que o bloco mais " +"interno é alcançado." #: ../../reference/expressions.rst:197 msgid "" @@ -345,26 +334,27 @@ msgstr "" msgid "" "Since Python 3.6, in an :keyword:`async def` function, an :keyword:`!async " "for` clause may be used to iterate over a :term:`asynchronous iterator`. A " -"comprehension in an :keyword:`!async def` function may consist of either a :" -"keyword:`!for` or :keyword:`!async for` clause following the leading " +"comprehension in an :keyword:`!async def` function may consist of either " +"a :keyword:`!for` or :keyword:`!async for` clause following the leading " "expression, may contain additional :keyword:`!for` or :keyword:`!async for` " "clauses, and may also use :keyword:`await` expressions. If a comprehension " "contains either :keyword:`!async for` clauses or :keyword:`!await` " -"expressions or other asynchronous comprehensions it is called an :dfn:" -"`asynchronous comprehension`. An asynchronous comprehension may suspend the " -"execution of the coroutine function in which it appears. See also :pep:`530`." -msgstr "" -"Desde o Python 3.6, em uma função :keyword:`async def`, uma cláusula :" -"keyword:`!async for` pode ser usada para iterar sobre um :term:`iterador " -"assíncrono`. Uma compreensão em uma função :keyword:`!async def` pode " -"consistir em uma cláusula :keyword:`!for` ou :keyword:`!async for` seguindo " -"a expressão principal, pode conter :keyword:`!for` ou cláusulas :keyword:`!" -"async for`, e também pode usar expressões :keyword:`await`. Se uma " -"compreensão contém cláusulas :keyword:`!async for` ou expressões :keyword:`!" -"await` ou outras compreensões assíncronas, ela é chamada de :dfn:" -"`compreensão assíncrona`. Uma compreensão assíncrona pode suspender a " -"execução da função de corrotina na qual ela aparece. Veja também a :pep:" -"`530`." +"expressions or other asynchronous comprehensions it is called " +"an :dfn:`asynchronous comprehension`. An asynchronous comprehension may " +"suspend the execution of the coroutine function in which it appears. See " +"also :pep:`530`." +msgstr "" +"Desde o Python 3.6, em uma função :keyword:`async def`, uma " +"cláusula :keyword:`!async for` pode ser usada para iterar sobre " +"um :term:`iterador assíncrono`. Uma compreensão em uma função :keyword:`!" +"async def` pode consistir em uma cláusula :keyword:`!for` ou :keyword:`!" +"async for` seguindo a expressão principal, pode conter :keyword:`!for` ou " +"cláusulas :keyword:`!async for`, e também pode usar " +"expressões :keyword:`await`. Se uma compreensão contém cláusulas :keyword:`!" +"async for` ou expressões :keyword:`!await` ou outras compreensões " +"assíncronas, ela é chamada de :dfn:`compreensão assíncrona`. Uma compreensão " +"assíncrona pode suspender a execução da função de corrotina na qual ela " +"aparece. Veja também a :pep:`530`." #: ../../reference/expressions.rst:227 msgid "Asynchronous comprehensions were introduced." @@ -454,11 +444,11 @@ msgstr "Sintaxes de criação de dicionário" #: ../../reference/expressions.rst:307 msgid "" -"A dictionary display is a possibly empty series of key/datum pairs enclosed " -"in curly braces:" +"A dictionary display is a possibly empty series of dict items (key/value " +"pairs) enclosed in curly braces:" msgstr "" "Uma sintaxe de criação de dicionário é uma série possivelmente vazia de " -"pares chave/dado entre chaves:" +"itens de dicionário (pares chave/valor) envolto entre chaves:" #: ../../reference/expressions.rst:316 msgid "A dictionary display yields a new dictionary object." @@ -466,37 +456,37 @@ msgstr "Uma sintaxe de criação de dicionário produz um novo objeto dicionári #: ../../reference/expressions.rst:318 msgid "" -"If a comma-separated sequence of key/datum pairs is given, they are " -"evaluated from left to right to define the entries of the dictionary: each " -"key object is used as a key into the dictionary to store the corresponding " -"datum. This means that you can specify the same key multiple times in the " -"key/datum list, and the final dictionary's value for that key will be the " -"last one given." +"If a comma-separated sequence of dict items is given, they are evaluated " +"from left to right to define the entries of the dictionary: each key object " +"is used as a key into the dictionary to store the corresponding value. This " +"means that you can specify the same key multiple times in the dict item " +"list, and the final dictionary's value for that key will be the last one " +"given." msgstr "" -"Se for fornecida uma sequência separada por vírgulas de pares chave/dado, " +"Se for fornecida uma sequência separada por vírgulas de itens de dicionário, " "eles são avaliados da esquerda para a direita para definir as entradas do " "dicionário: cada objeto chave é usado como uma chave no dicionário para " -"armazenar o dado correspondente. Isso significa que você pode especificar a " -"mesma chave várias vezes na lista de dados/chave, e o valor final do " +"armazenar o valor correspondente. Isso significa que você pode especificar a " +"mesma chave várias vezes na lista de itens de dicionário, e o valor final do " "dicionário para essa chave será o último dado." #: ../../reference/expressions.rst:328 msgid "" "A double asterisk ``**`` denotes :dfn:`dictionary unpacking`. Its operand " "must be a :term:`mapping`. Each mapping item is added to the new " -"dictionary. Later values replace values already set by earlier key/datum " -"pairs and earlier dictionary unpackings." +"dictionary. Later values replace values already set by earlier dict items " +"and earlier dictionary unpackings." msgstr "" "Um asterisco duplo ``**`` denota :dfn:`desempacotamento do dicionário`. Seu " "operando deve ser um :term:`mapeamento`. Cada item de mapeamento é " "adicionado ao novo dicionário. Os valores posteriores substituem os valores " -"já definidos por pares de dados/chave anteriores e desempacotamentos de " +"já definidos por itens de dicionário anteriores e desempacotamentos de " "dicionário anteriores." #: ../../reference/expressions.rst:333 msgid "Unpacking into dictionary displays, originally proposed by :pep:`448`." msgstr "" -"Descompactando em sintaxes de criação de dicionário, originalmente proposto " +"Desempacotando em sintaxes de criação de dicionário, originalmente proposto " "pela :pep:`448`." #: ../../reference/expressions.rst:336 @@ -514,18 +504,18 @@ msgstr "" #: ../../reference/expressions.rst:344 msgid "" -"Restrictions on the types of the key values are listed earlier in section :" -"ref:`types`. (To summarize, the key type should be :term:`hashable`, which " -"excludes all mutable objects.) Clashes between duplicate keys are not " -"detected; the last datum (textually rightmost in the display) stored for a " -"given key value prevails." +"Restrictions on the types of the key values are listed earlier in " +"section :ref:`types`. (To summarize, the key type should " +"be :term:`hashable`, which excludes all mutable objects.) Clashes between " +"duplicate keys are not detected; the last value (textually rightmost in the " +"display) stored for a given key value prevails." msgstr "" "Restrições nos tipos de valores de chave são listadas anteriormente na " -"seção :ref:`types`. (Para resumir, o tipo de chave deve ser :term:" -"`hasheável`, que exclui todos os objetos mutáveis.) Não são detectadas " -"colisões entre chaves duplicadas; o último dado (textualmente mais à direita " -"na sintaxe de criação) armazenado para um determinado valor de chave " -"prevalece." +"seção :ref:`types`. (Para resumir, o tipo de chave deve " +"ser :term:`hasheável`, que exclui todos os objetos mutáveis.) Não são " +"detectadas colisões entre chaves duplicadas; o último valor (textualmente " +"mais à direita na sintaxe de criação) armazenado para um determinado valor " +"de chave prevalece." #: ../../reference/expressions.rst:350 msgid "" @@ -560,16 +550,16 @@ msgstr "" #: ../../reference/expressions.rst:376 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))``." +"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))``." msgstr "" "As variáveis usadas na expressão geradora são avaliadas lentamente quando o " "método :meth:`~generator.__next__` é chamado para o objeto gerador (da mesma " @@ -602,11 +592,11 @@ msgstr "" #: ../../reference/expressions.rst:394 msgid "" -"If a generator expression contains either :keyword:`!async for` clauses or :" -"keyword:`await` expressions it is called an :dfn:`asynchronous generator " +"If a generator expression contains either :keyword:`!async for` clauses " +"or :keyword:`await` expressions it is called an :dfn:`asynchronous generator " "expression`. An asynchronous generator expression returns a new " -"asynchronous generator object, which is an asynchronous iterator (see :ref:" -"`async-iterators`)." +"asynchronous generator object, which is an asynchronous iterator " +"(see :ref:`async-iterators`)." msgstr "" "Se uma expressão geradora contém cláusulas :keyword:`!async for` ou " "expressões :keyword:`await`, ela é chamada de :dfn:`expressão geradora " @@ -632,23 +622,23 @@ msgstr "" msgid "Yield expressions" msgstr "Expressões yield" -#: ../../reference/expressions.rst:427 +#: ../../reference/expressions.rst:428 msgid "" "The yield expression is used when defining a :term:`generator` function or " "an :term:`asynchronous generator` function and thus can only be used in the " "body of a function definition. Using a yield expression in a function's " -"body causes that function to be a generator function, and using it in an :" -"keyword:`async def` function's body causes that coroutine function to be an " -"asynchronous generator function. For example::" +"body causes that function to be a generator function, and using it in " +"an :keyword:`async def` function's body causes that coroutine function to be " +"an asynchronous generator function. For example::" msgstr "" -"A expressão yield é usada ao definir uma função :term:`generadora ` " +"A expressão yield é usada ao definir uma função :term:`geradora ` " "ou uma função :term:`geradora assíncrona ` e, portanto, " "só pode ser usada no corpo de uma definição de função. Usar uma expressão " "yield no corpo de uma função faz com que essa função seja uma função " "geradora, e usá-la no corpo de uma função :keyword:`async def` faz com que " "essa função de corrotina seja uma função geradora assíncrona. Por exemplo::" -#: ../../reference/expressions.rst:440 +#: ../../reference/expressions.rst:441 msgid "" "Due to their side effects on the containing scope, ``yield`` expressions are " "not permitted as part of the implicitly defined scopes used to implement " @@ -658,7 +648,7 @@ msgstr "" "``yield`` não são permitidas como parte dos escopos definidos implicitamente " "usados para implementar compreensões e expressões geradoras." -#: ../../reference/expressions.rst:444 +#: ../../reference/expressions.rst:445 msgid "" "Yield expressions prohibited in the implicitly nested scopes used to " "implement comprehensions and generator expressions." @@ -666,7 +656,7 @@ msgstr "" "Expressões yield proibidas nos escopos aninhados implicitamente usados para " "implementar compreensões e expressões geradoras." -#: ../../reference/expressions.rst:448 +#: ../../reference/expressions.rst:449 msgid "" "Generator functions are described below, while asynchronous generator " "functions are described separately in section :ref:`asynchronous-generator-" @@ -676,25 +666,25 @@ msgstr "" "assíncronas são descritas separadamente na seção :ref:`asynchronous-" "generator-functions`" -#: ../../reference/expressions.rst:452 +#: ../../reference/expressions.rst:453 msgid "" "When a generator function is called, it returns an iterator known as a " "generator. That generator then controls the execution of the generator " "function. The execution starts when one of the generator's methods is " "called. At that time, the execution proceeds to the first yield expression, " -"where it is suspended again, returning the value of :token:`~python-grammar:" -"expression_list` to the generator's caller, or ``None`` if :token:`~python-" -"grammar:expression_list` is omitted. By suspended, we mean that all local " -"state is retained, including the current bindings of local variables, the " -"instruction pointer, the internal evaluation stack, and the state of any " -"exception handling. When the execution is resumed by calling one of the " -"generator's methods, the function can proceed exactly as if the yield " -"expression were just another external call. The value of the yield " -"expression after resuming depends on the method which resumed the " -"execution. If :meth:`~generator.__next__` is used (typically via either a :" -"keyword:`for` or the :func:`next` builtin) then the result is :const:" -"`None`. Otherwise, if :meth:`~generator.send` is used, then the result will " -"be the value passed in to that method." +"where it is suspended again, returning the value of :token:`~python-" +"grammar:expression_list` to the generator's caller, or ``None`` " +"if :token:`~python-grammar:expression_list` is omitted. By suspended, we " +"mean that all local state is retained, including the current bindings of " +"local variables, the instruction pointer, the internal evaluation stack, and " +"the state of any exception handling. When the execution is resumed by " +"calling one of the generator's methods, the function can proceed exactly as " +"if the yield expression were just another external call. The value of the " +"yield expression after resuming depends on the method which resumed the " +"execution. If :meth:`~generator.__next__` is used (typically via either " +"a :keyword:`for` or the :func:`next` builtin) then the result " +"is :const:`None`. Otherwise, if :meth:`~generator.send` is used, then the " +"result will be the value passed in to that method." msgstr "" "Quando uma função geradora é chamada, ela retorna um iterador conhecido como " "gerador. Esse gerador então controla a execução da função geradora. A " @@ -710,10 +700,11 @@ msgstr "" "chamada externa. O valor da expressão yield após a retomada depende do " "método que retomou a execução. Se :meth:`~generator.__next__` for usado " "(tipicamente através de uma :keyword:`for` ou do :func:`next` embutido) " -"então o resultado será :const:`None`. Caso contrário, se :meth:`~generator." -"send` for usado, o resultado será o valor passado para esse método." +"então o resultado será :const:`None`. Caso contrário, " +"se :meth:`~generator.send` for usado, o resultado será o valor passado para " +"esse método." -#: ../../reference/expressions.rst:472 +#: ../../reference/expressions.rst:473 msgid "" "All of this makes generator functions quite similar to coroutines; they " "yield multiple times, they have more than one entry point and their " @@ -727,61 +718,64 @@ msgstr "" "controlar onde a execução deve continuar após o seu rendimento; o controle é " "sempre transferido para o chamador do gerador." -#: ../../reference/expressions.rst:478 +#: ../../reference/expressions.rst:479 msgid "" "Yield expressions are allowed anywhere in a :keyword:`try` construct. If " "the generator is not resumed before it is finalized (by reaching a zero " -"reference count or by being garbage collected), the generator-iterator's :" -"meth:`~generator.close` method will be called, allowing any pending :keyword:" -"`finally` clauses to execute." +"reference count or by being garbage collected), the generator-" +"iterator's :meth:`~generator.close` method will be called, allowing any " +"pending :keyword:`finally` clauses to execute." msgstr "" -"Expressões yield são permitidas em qualquer lugar em uma construção :keyword:" -"`try`. Se o gerador não for retomado antes de ser finalizado (ao atingir uma " -"contagem de referências zero ou ao ser coletado como lixo), o método :meth:" -"`~generator.close` do iterador de gerador será chamado, permitindo que " -"quaisquer cláusulas :keyword:`finally` pendentes sejam executadas." +"Expressões yield são permitidas em qualquer lugar em uma " +"construção :keyword:`try`. Se o gerador não for retomado antes de ser " +"finalizado (ao atingir uma contagem de referências zero ou ao ser coletado " +"como lixo), o método :meth:`~generator.close` do iterador de gerador será " +"chamado, permitindo que quaisquer cláusulas :keyword:`finally` pendentes " +"sejam executadas." -#: ../../reference/expressions.rst:487 +#: ../../reference/expressions.rst:488 msgid "" "When ``yield from `` is used, the supplied expression must be an " "iterable. The values produced by iterating that iterable are passed directly " -"to the caller of the current generator's methods. Any values passed in with :" -"meth:`~generator.send` and any exceptions passed in with :meth:`~generator." -"throw` are passed to the underlying iterator if it has the appropriate " -"methods. If this is not the case, then :meth:`~generator.send` will raise :" -"exc:`AttributeError` or :exc:`TypeError`, while :meth:`~generator.throw` " -"will just raise the passed in exception immediately." +"to the caller of the current generator's methods. Any values passed in " +"with :meth:`~generator.send` and any exceptions passed in " +"with :meth:`~generator.throw` are passed to the underlying iterator if it " +"has the appropriate methods. If this is not the case, " +"then :meth:`~generator.send` will raise :exc:`AttributeError` " +"or :exc:`TypeError`, while :meth:`~generator.throw` will just raise the " +"passed in exception immediately." msgstr "" "Quando ``yield from `` é usado, a expressão fornecida deve ser " "iterável. Os valores produzidos pela iteração desse iterável são passados " "diretamente para o chamador dos métodos do gerador atual. Quaisquer valores " -"passados com :meth:`~generator.send` e quaisquer exceções passadas com :meth:" -"`~generator.throw` são passados para o iterador subjacente se ele tiver os " -"métodos apropriados. Se este não for o caso, então :meth:`~generator.send` " -"irá levantar :exc:`AttributeError` ou :exc:`TypeError`, enquanto :meth:" -"`~generator.throw` irá apenas levantar a exceção passada imediatamente." +"passados com :meth:`~generator.send` e quaisquer exceções passadas " +"com :meth:`~generator.throw` são passados para o iterador subjacente se ele " +"tiver os métodos apropriados. Se este não for o caso, " +"então :meth:`~generator.send` irá levantar :exc:`AttributeError` " +"ou :exc:`TypeError`, enquanto :meth:`~generator.throw` irá apenas levantar a " +"exceção passada imediatamente." -#: ../../reference/expressions.rst:496 +#: ../../reference/expressions.rst:497 msgid "" "When the underlying iterator is complete, the :attr:`~StopIteration.value` " "attribute of the raised :exc:`StopIteration` instance becomes the value of " -"the yield expression. It can be either set explicitly when raising :exc:" -"`StopIteration`, or automatically when the subiterator is a generator (by " -"returning a value from the subgenerator)." +"the yield expression. It can be either set explicitly when " +"raising :exc:`StopIteration`, or automatically when the subiterator is a " +"generator (by returning a value from the subgenerator)." msgstr "" -"Quando o iterador subjacente estiver completo, o atributo :attr:" -"`~StopIteration.value` da instância :exc:`StopIteration` gerada torna-se o " -"valor da expressão yield. Ele pode ser definido explicitamente ao levantar :" -"exc:`StopIteration` ou automaticamente quando o subiterador é um gerador " -"(retornando um valor do subgerador)." +"Quando o iterador subjacente estiver completo, o " +"atributo :attr:`~StopIteration.value` da instância :exc:`StopIteration` " +"gerada torna-se o valor da expressão yield. Ele pode ser definido " +"explicitamente ao levantar :exc:`StopIteration` ou automaticamente quando o " +"subiterador é um gerador (retornando um valor do subgerador)." -#: ../../reference/expressions.rst:502 +#: ../../reference/expressions.rst:503 msgid "Added ``yield from `` to delegate control flow to a subiterator." msgstr "" "Adicionado ``yield from `` para delegar o fluxo de controle a um " "subiterador." -#: ../../reference/expressions.rst:505 +#: ../../reference/expressions.rst:506 msgid "" "The parentheses may be omitted when the yield expression is the sole " "expression on the right hand side of an assignment statement." @@ -789,22 +783,22 @@ msgstr "" "Os parênteses podem ser omitidos quando a expressão yield é a única " "expressão no lado direito de uma instrução de atribuição." -#: ../../reference/expressions.rst:511 +#: ../../reference/expressions.rst:512 msgid ":pep:`255` - Simple Generators" -msgstr ":pep:`255` - Geradores simples" +msgstr ":pep:`255` - Simple Generators" -#: ../../reference/expressions.rst:511 +#: ../../reference/expressions.rst:512 msgid "" "The proposal for adding generators and the :keyword:`yield` statement to " "Python." msgstr "" "A proposta para adicionar geradores e a instrução :keyword:`yield` ao Python." -#: ../../reference/expressions.rst:515 +#: ../../reference/expressions.rst:516 msgid ":pep:`342` - Coroutines via Enhanced Generators" msgstr ":pep:`342` - Corrotinas via Geradores Aprimorados" -#: ../../reference/expressions.rst:514 +#: ../../reference/expressions.rst:515 msgid "" "The proposal to enhance the API and syntax of generators, making them usable " "as simple coroutines." @@ -812,11 +806,11 @@ msgstr "" "A proposta de aprimorar a API e a sintaxe dos geradores, tornando-os " "utilizáveis como simples corrotinas." -#: ../../reference/expressions.rst:519 +#: ../../reference/expressions.rst:520 msgid ":pep:`380` - Syntax for Delegating to a Subgenerator" msgstr ":pep:`380` - Sintaxe para Delegar a um Subgerador" -#: ../../reference/expressions.rst:518 +#: ../../reference/expressions.rst:519 msgid "" "The proposal to introduce the :token:`~python-grammar:yield_from` syntax, " "making delegation to subgenerators easy." @@ -824,11 +818,11 @@ msgstr "" "A proposta de introduzir a sintaxe :token:`~python-grammar:yield_from`, " "facilitando a delegação a subgeradores." -#: ../../reference/expressions.rst:522 +#: ../../reference/expressions.rst:523 msgid ":pep:`525` - Asynchronous Generators" msgstr ":pep:`525` - Geradores assíncronos" -#: ../../reference/expressions.rst:522 +#: ../../reference/expressions.rst:523 msgid "" "The proposal that expanded on :pep:`492` by adding generator capabilities to " "coroutine functions." @@ -836,11 +830,11 @@ msgstr "" "A proposta que se expandiu em :pep:`492` adicionando recursos de gerador a " "funções de corrotina." -#: ../../reference/expressions.rst:529 +#: ../../reference/expressions.rst:530 msgid "Generator-iterator methods" msgstr "Métodos de iterador gerador" -#: ../../reference/expressions.rst:531 +#: ../../reference/expressions.rst:532 msgid "" "This subsection describes the methods of a generator iterator. They can be " "used to control the execution of a generator function." @@ -848,7 +842,7 @@ msgstr "" "Esta subseção descreve os métodos de um iterador gerador. Eles podem ser " "usados para controlar a execução de uma função geradora." -#: ../../reference/expressions.rst:534 +#: ../../reference/expressions.rst:535 msgid "" "Note that calling any of the generator methods below when the generator is " "already executing raises a :exc:`ValueError` exception." @@ -856,35 +850,35 @@ msgstr "" "Observe que chamar qualquer um dos métodos do gerador abaixo quando o " "gerador já estiver em execução levanta uma exceção :exc:`ValueError`." -#: ../../reference/expressions.rst:542 +#: ../../reference/expressions.rst:543 msgid "" "Starts the execution of a generator function or resumes it at the last " -"executed yield expression. When a generator function is resumed with a :" -"meth:`~generator.__next__` method, the current yield expression always " +"executed yield expression. When a generator function is resumed with " +"a :meth:`~generator.__next__` method, the current yield expression always " "evaluates to :const:`None`. The execution then continues to the next yield " -"expression, where the generator is suspended again, and the value of the :" -"token:`~python-grammar:expression_list` is returned to :meth:`__next__`'s " -"caller. If the generator exits without yielding another value, a :exc:" -"`StopIteration` exception is raised." +"expression, where the generator is suspended again, and the value of " +"the :token:`~python-grammar:expression_list` is returned " +"to :meth:`__next__`'s caller. If the generator exits without yielding " +"another value, a :exc:`StopIteration` exception is raised." msgstr "" "Inicia a execução de uma função geradora ou a retoma na última expressão " -"yield executada. Quando uma função geradora é retomada com um método :meth:" -"`~generator.__next__`, a expressão yield atual sempre é avaliada como :const:" -"`None`. A execução então continua para a próxima expressão yield, onde o " -"gerador é suspenso novamente, e o valor de :token:`~python-grammar:" -"expression_list` é retornado para o chamador de :meth:`__next__`. Se o " -"gerador sair sem produzir outro valor, uma exceção :exc:`StopIteration` será " -"levantada." +"yield executada. Quando uma função geradora é retomada com um " +"método :meth:`~generator.__next__`, a expressão yield atual sempre é " +"avaliada como :const:`None`. A execução então continua para a próxima " +"expressão yield, onde o gerador é suspenso novamente, e o valor " +"de :token:`~python-grammar:expression_list` é retornado para o chamador " +"de :meth:`__next__`. Se o gerador sair sem produzir outro valor, uma " +"exceção :exc:`StopIteration` será levantada." -#: ../../reference/expressions.rst:551 +#: ../../reference/expressions.rst:552 msgid "" "This method is normally called implicitly, e.g. by a :keyword:`for` loop, or " "by the built-in :func:`next` function." msgstr "" -"Este método é normalmente chamado implicitamente, por exemplo por um laço :" -"keyword:`for`, ou pela função embutida :func:`next`." +"Este método é normalmente chamado implicitamente, por exemplo por um " +"laço :keyword:`for`, ou pela função embutida :func:`next`." -#: ../../reference/expressions.rst:557 +#: ../../reference/expressions.rst:558 msgid "" "Resumes the execution and \"sends\" a value into the generator function. " "The *value* argument becomes the result of the current yield expression. " @@ -901,7 +895,7 @@ msgstr "" "para iniciar o gerador, ele deve ser chamado com :const:`None` como " "argumento, porque não há nenhuma expressão yield que possa receber o valor." -#: ../../reference/expressions.rst:569 +#: ../../reference/expressions.rst:570 msgid "" "Raises an exception at the point where the generator was paused, and returns " "the next value yielded by the generator function. If the generator exits " @@ -915,7 +909,7 @@ msgstr "" "não detectar a exceção passada ou levanta uma exceção diferente, essa " "exceção se propagará para o chamador." -#: ../../reference/expressions.rst:575 +#: ../../reference/expressions.rst:576 msgid "" "In typical use, this is called with a single exception instance similar to " "the way the :keyword:`raise` keyword is used." @@ -923,7 +917,7 @@ msgstr "" "Em uso típico, isso é chamado com uma única instância de exceção semelhante " "à forma como a palavra reservada :keyword:`raise` é usada." -#: ../../reference/expressions.rst:578 +#: ../../reference/expressions.rst:579 msgid "" "For backwards compatibility, however, the second signature is supported, " "following a convention from older versions of Python. The *type* argument " @@ -938,33 +932,33 @@ msgstr "" "Python. O argumento *type* deve ser uma classe de exceção e *value* deve ser " "uma instância de exceção. Se o *valor* não for fornecido, o construtor " "*tipo* será chamado para obter uma instância. Se *traceback* for fornecido, " -"ele será definido na exceção, caso contrário, qualquer atributo :attr:" -"`~BaseException.__traceback__` existente armazenado em *value* poderá ser " -"limpo." +"ele será definido na exceção, caso contrário, qualquer " +"atributo :attr:`~BaseException.__traceback__` existente armazenado em " +"*value* poderá ser limpo." -#: ../../reference/expressions.rst:592 +#: ../../reference/expressions.rst:593 msgid "" "Raises a :exc:`GeneratorExit` at the point where the generator function was " "paused. If the generator function then exits gracefully, is already closed, " "or raises :exc:`GeneratorExit` (by not catching the exception), close " -"returns to its caller. If the generator yields a value, a :exc:" -"`RuntimeError` is raised. If the generator raises any other exception, it " -"is propagated to the caller. :meth:`close` does nothing if the generator " -"has already exited due to an exception or normal exit." -msgstr "" -"Levanta :exc:`GeneratorExit` no ponto onde a função geradora foi pausada. Se " -"a função geradora sair normalmente, já estiver fechada ou levantar :exc:" -"`GeneratorExit` (por não capturar a exceção), \"close\" retornará ao seu " -"chamador. Se o gerador produzir um valor, um :exc:`RuntimeError` é " -"levantado. Se o gerador levantar qualquer outra exceção, ela será propagada " -"para o chamador. :meth:`close` não faz nada se o gerador já saiu devido a " -"uma exceção ou saída normal." - -#: ../../reference/expressions.rst:603 +"returns to its caller. If the generator yields a value, " +"a :exc:`RuntimeError` is raised. If the generator raises any other " +"exception, it is propagated to the caller. :meth:`close` does nothing if " +"the generator has already exited due to an exception or normal exit." +msgstr "" +"Levanta uma :exc:`GeneratorExit` no ponto onde a função geradora foi " +"pausada. Se a função geradora então sair graciosamente, já estiver fechada " +"ou levantar :exc:`GeneratorExit` (por não capturar a exceção), close retorna " +"para seu chamador. Se o gerador produzir um valor, um :exc:`RuntimeError` é " +"levantada. Se o gerador levantar qualquer outra exceção, ela será propagada " +"para o chamador. :meth:`close` não faz nada se o gerador já tiver saído " +"devido a uma exceção ou saída normal." + +#: ../../reference/expressions.rst:604 msgid "Examples" msgstr "Exemplos" -#: ../../reference/expressions.rst:605 +#: ../../reference/expressions.rst:606 msgid "" "Here is a simple example that demonstrates the behavior of generators and " "generator functions::" @@ -972,7 +966,7 @@ msgstr "" "Aqui está um exemplo simples que demonstra o comportamento de geradores e " "funções geradoras::" -#: ../../reference/expressions.rst:632 +#: ../../reference/expressions.rst:633 msgid "" "For examples using ``yield from``, see :ref:`pep-380` in \"What's New in " "Python.\"" @@ -980,47 +974,71 @@ msgstr "" "Para exemplos usando ``yield from``, consulte a :ref:`pep-380` em \"O que há " "de novo no Python.\"" -#: ../../reference/expressions.rst:638 +#: ../../reference/expressions.rst:639 msgid "Asynchronous generator functions" msgstr "Funções geradoras assíncronas" -#: ../../reference/expressions.rst:640 +#: ../../reference/expressions.rst:641 msgid "" -"The presence of a yield expression in a function or method defined using :" -"keyword:`async def` further defines the function as an :term:`asynchronous " -"generator` function." +"The presence of a yield expression in a function or method defined " +"using :keyword:`async def` further defines the function as " +"an :term:`asynchronous generator` function." msgstr "" +"A presença de uma expressão yield em uma função ou método definido usando " +"a :keyword:`async def` define ainda mais a função como uma " +"função :term:`geradora assíncrona `." -#: ../../reference/expressions.rst:644 +#: ../../reference/expressions.rst:645 msgid "" "When an asynchronous generator function is called, it returns an " "asynchronous iterator known as an asynchronous generator object. That object " "then controls the execution of the generator function. An asynchronous " "generator object is typically used in an :keyword:`async for` statement in a " -"coroutine function analogously to how a generator object would be used in a :" -"keyword:`for` statement." -msgstr "" - -#: ../../reference/expressions.rst:651 -msgid "" -"Calling one of the asynchronous generator's methods returns an :term:" -"`awaitable` object, and the execution starts when this object is awaited on. " -"At that time, the execution proceeds to the first yield expression, where it " -"is suspended again, returning the value of :token:`~python-grammar:" -"expression_list` to the awaiting coroutine. As with a generator, suspension " -"means that all local state is retained, including the current bindings of " -"local variables, the instruction pointer, the internal evaluation stack, and " -"the state of any exception handling. When the execution is resumed by " -"awaiting on the next object returned by the asynchronous generator's " -"methods, the function can proceed exactly as if the yield expression were " -"just another external call. The value of the yield expression after resuming " -"depends on the method which resumed the execution. If :meth:`~agen." -"__anext__` is used then the result is :const:`None`. Otherwise, if :meth:" -"`~agen.asend` is used, then the result will be the value passed in to that " -"method." -msgstr "" - -#: ../../reference/expressions.rst:666 +"coroutine function analogously to how a generator object would be used in " +"a :keyword:`for` statement." +msgstr "" +"Quando uma função geradora assíncrona é chamada, ela retorna um iterador " +"assíncrono conhecido como objeto gerador assíncrono. Esse objeto controla a " +"execução da função geradora. Um objeto gerador assíncrono é normalmente " +"usado em uma instrução :keyword:`async for` em uma função de corrotina de " +"forma análoga a como um objeto gerador seria usado em uma " +"instrução :keyword:`for`." + +#: ../../reference/expressions.rst:652 +msgid "" +"Calling one of the asynchronous generator's methods returns " +"an :term:`awaitable` object, and the execution starts when this object is " +"awaited on. At that time, the execution proceeds to the first yield " +"expression, where it is suspended again, returning the value " +"of :token:`~python-grammar:expression_list` to the awaiting coroutine. As " +"with a generator, suspension means that all local state is retained, " +"including the current bindings of local variables, the instruction pointer, " +"the internal evaluation stack, and the state of any exception handling. When " +"the execution is resumed by awaiting on the next object returned by the " +"asynchronous generator's methods, the function can proceed exactly as if the " +"yield expression were just another external call. The value of the yield " +"expression after resuming depends on the method which resumed the " +"execution. If :meth:`~agen.__anext__` is used then the result " +"is :const:`None`. Otherwise, if :meth:`~agen.asend` is used, then the result " +"will be the value passed in to that method." +msgstr "" +"A chamada de um dos métodos do gerador assíncrono retorna um " +"objeto :term:`aguardável`, e a execução começa quando esse objeto é " +"aguardado. Nesse momento, a execução prossegue até a primeira expressão " +"yield, onde é suspensa novamente, retornando o valor de :token:`~python-" +"grammar:expression_list` para a corrotina em aguardo. Assim como ocorre com " +"um gerador, a suspensão significa que todo o estado local é mantido, " +"inclusive as ligações atuais das variáveis locais, o ponteiro de instruções, " +"a pilha de avaliação interna e o estado de qualquer tratamento de exceção. " +"Quando a execução é retomada, aguardando o próximo objeto retornado pelos " +"métodos do gerador assíncrono, a função pode prosseguir exatamente como se a " +"expressão de rendimento fosse apenas outra chamada externa. O valor da " +"expressão yield após a retomada depende do método que retomou a execução. " +"Se :meth:`~agen.__anext__` for usado, o resultado será :const:`None`. Caso " +"contrário, se :meth:`~agen.asend` for usado, o resultado será o valor " +"passado para esse método." + +#: ../../reference/expressions.rst:667 msgid "" "If an asynchronous generator happens to exit early by :keyword:`break`, the " "caller task being cancelled, or other exceptions, the generator's async " @@ -1031,8 +1049,18 @@ msgid "" "the async generator by calling :meth:`~agen.aclose` method to finalize the " "generator and ultimately detach it from the event loop." msgstr "" +"Se um gerador assíncrono encerrar mais cedo por :keyword:`break`, pela " +"tarefa que fez sua chamada ser cancelada ou por outras exceções, o código de " +"limpeza assíncrona do gerador será executado e possivelmente levantará " +"alguma exceção ou acessará as variáveis de contexto em um contexto " +"inesperado -- talvez após o tempo de vida das tarefas das quais ele depende, " +"ou durante o laço de eventos de encerramento quando o gancho de coleta de " +"lixo do gerador assíncrono for chamado. Para prevenir isso, o chamador deve " +"encerrar explicitamente o gerador assíncrono chamando o " +"método :meth:`~agen.aclose` para finalizar o gerador e, por fim, desconectá-" +"lo do laço de eventos." -#: ../../reference/expressions.rst:676 +#: ../../reference/expressions.rst:677 msgid "" "In an asynchronous generator function, yield expressions are allowed " "anywhere in a :keyword:`try` construct. However, if an asynchronous " @@ -1045,37 +1073,59 @@ msgid "" "the resulting coroutine object, thus allowing any pending :keyword:`!" "finally` clauses to execute." msgstr "" +"Em uma função geradora assíncrona, expressões de yield são permitidas em " +"qualquer lugar em uma construção :keyword:`try`. No entanto, se um gerador " +"assíncrono não for retomado antes de ser finalizado (alcançando uma contagem " +"de referência zero ou sendo coletado pelo coletor de lixo), então uma " +"expressão de yield dentro de um construção :keyword:`!try` pode resultar em " +"uma falha na execução das cláusulas pendentes de :keyword:`finally`. Nesse " +"caso, é responsabilidade do laço de eventos ou escalonador que executa o " +"gerador assíncrono chamar o método :meth:`~agen.aclose` do gerador iterador " +"assíncrono e executar o objeto corrotina resultante, permitindo assim que " +"quaisquer cláusulas pendentes de :keyword:`!finally` sejam executadas." -#: ../../reference/expressions.rst:687 +#: ../../reference/expressions.rst:688 msgid "" "To take care of finalization upon event loop termination, an event loop " "should define a *finalizer* function which takes an asynchronous generator-" "iterator and presumably calls :meth:`~agen.aclose` and executes the " -"coroutine. This *finalizer* may be registered by calling :func:`sys." -"set_asyncgen_hooks`. When first iterated over, an asynchronous generator-" -"iterator will store the registered *finalizer* to be called upon " -"finalization. For a reference example of a *finalizer* method see the " -"implementation of ``asyncio.Loop.shutdown_asyncgens`` in :source:`Lib/" -"asyncio/base_events.py`." -msgstr "" - -#: ../../reference/expressions.rst:696 +"coroutine. This *finalizer* may be registered by " +"calling :func:`sys.set_asyncgen_hooks`. When first iterated over, an " +"asynchronous generator-iterator will store the registered *finalizer* to be " +"called upon finalization. For a reference example of a *finalizer* method " +"see the implementation of ``asyncio.Loop.shutdown_asyncgens`` " +"in :source:`Lib/asyncio/base_events.py`." +msgstr "" +"Para cuidar da finalização após o término do laço de eventos, um laço de " +"eventos deve definir uma função *finalizer* que recebe um gerador assíncrono " +"e provavelmente chama :meth:`~agen.aclose` e executa a corrotina. Este " +"*finalizer* pode ser registrado chamando :func:`sys.set_asyncgen_hooks`. " +"Quando iterado pela primeira vez, um gerador assíncrono armazenará o " +"*finalizer* registrado para ser chamado na finalização. Para um exemplo de " +"referência de um método *finalizer*, consulte a implementação de " +"``asyncio.Loop.shutdown_asyncgens`` em :source:`Lib/asyncio/base_events.py`." + +#: ../../reference/expressions.rst:697 msgid "" "The expression ``yield from `` is a syntax error when used in an " "asynchronous generator function." msgstr "" +"O expressão ``yield from `` é um erro de sintaxe quando usado em uma " +"função geradora assíncrona." -#: ../../reference/expressions.rst:703 +#: ../../reference/expressions.rst:704 msgid "Asynchronous generator-iterator methods" -msgstr "" +msgstr "Métodos geradores-iteradores assíncronos" -#: ../../reference/expressions.rst:705 +#: ../../reference/expressions.rst:706 msgid "" "This subsection describes the methods of an asynchronous generator iterator, " "which are used to control the execution of a generator function." msgstr "" +"Esta subseção descreve os métodos de um iterador gerador assíncrono, que são " +"usados para controlar a execução de uma função geradora." -#: ../../reference/expressions.rst:713 +#: ../../reference/expressions.rst:714 msgid "" "Returns an awaitable which when run starts to execute the asynchronous " "generator or resumes it at the last executed yield expression. When an " @@ -1085,44 +1135,75 @@ msgid "" "expression. The value of the :token:`~python-grammar:expression_list` of the " "yield expression is the value of the :exc:`StopIteration` exception raised " "by the completing coroutine. If the asynchronous generator exits without " -"yielding another value, the awaitable instead raises a :exc:" -"`StopAsyncIteration` exception, signalling that the asynchronous iteration " -"has completed." -msgstr "" - -#: ../../reference/expressions.rst:725 +"yielding another value, the awaitable instead raises " +"a :exc:`StopAsyncIteration` exception, signalling that the asynchronous " +"iteration has completed." +msgstr "" +"Retorna um objeto aguardável que, quando executado, começa a executar o " +"gerador assíncrono ou o retoma na última expressão yield executada. Quando " +"uma função geradora assíncrona é retomada com o " +"método :meth:`~agen.__anext__`, a expressão yield atual sempre avalia " +"para :const:`None` no objeto aguardável retornado, que, quando executado, " +"continuará para a próxima expressão yield. O valor de :token:`~python-" +"grammar:expression_list` da expressão yield é o valor da " +"exceção :exc:`StopIteration` levantada pela corrotina em conclusão. Se o " +"gerador assíncrono sair sem produzir outro valor, o objeto aguardável em vez " +"disso levanta uma exceção :exc:`StopAsyncIteration`, sinalizando que a " +"iteração assíncrona foi concluída." + +#: ../../reference/expressions.rst:726 msgid "" "This method is normally called implicitly by a :keyword:`async for` loop." msgstr "" +"Este método é normalmente chamado implicitamente por um laço :keyword:`async " +"for`." -#: ../../reference/expressions.rst:730 +#: ../../reference/expressions.rst:731 msgid "" "Returns an awaitable which when run resumes the execution of the " "asynchronous generator. As with the :meth:`~generator.send()` method for a " "generator, this \"sends\" a value into the asynchronous generator function, " "and the *value* argument becomes the result of the current yield expression. " "The awaitable returned by the :meth:`asend` method will return the next " -"value yielded by the generator as the value of the raised :exc:" -"`StopIteration`, or raises :exc:`StopAsyncIteration` if the asynchronous " -"generator exits without yielding another value. When :meth:`asend` is " -"called to start the asynchronous generator, it must be called with :const:" -"`None` as the argument, because there is no yield expression that could " -"receive the value." +"value yielded by the generator as the value of the " +"raised :exc:`StopIteration`, or raises :exc:`StopAsyncIteration` if the " +"asynchronous generator exits without yielding another value. " +"When :meth:`asend` is called to start the asynchronous generator, it must be " +"called with :const:`None` as the argument, because there is no yield " +"expression that could receive the value." msgstr "" +"Retorna um objeto aguardável que, quando executado, retoma a execução do " +"gerador assíncrono. Assim como o método :meth:`~generator.send()` para um " +"gerador, isso \"envia\" um valor para a função geradora assíncrona, e o " +"argumento *value* se torna o resultado da expressão de yield atual. O objeto " +"aguardável retornado pelo método :meth:`asend` retornará o próximo valor " +"produzido pelo gerador como o valor da exceção :exc:`StopIteration` " +"levantada, ou lança :exc:`StopAsyncIteration` se o gerador assíncrono sair " +"sem produzir outro valor. Quando :meth:`asend` é chamado para iniciar o " +"gerador assíncrono, ele deve ser chamado com :const:`None` como argumento, " +"pois não há expressão yield que possa receber o valor." -#: ../../reference/expressions.rst:745 +#: ../../reference/expressions.rst:747 msgid "" "Returns an awaitable that raises an exception of type ``type`` at the point " "where the asynchronous generator was paused, and returns the next value " -"yielded by the generator function as the value of the raised :exc:" -"`StopIteration` exception. If the asynchronous generator exits without " -"yielding another value, a :exc:`StopAsyncIteration` exception is raised by " -"the awaitable. If the generator function does not catch the passed-in " -"exception, or raises a different exception, then when the awaitable is run " -"that exception propagates to the caller of the awaitable." -msgstr "" - -#: ../../reference/expressions.rst:760 +"yielded by the generator function as the value of the " +"raised :exc:`StopIteration` exception. If the asynchronous generator exits " +"without yielding another value, a :exc:`StopAsyncIteration` exception is " +"raised by the awaitable. If the generator function does not catch the passed-" +"in exception, or raises a different exception, then when the awaitable is " +"run that exception propagates to the caller of the awaitable." +msgstr "" +"Retorna um objeto aguardável que gera uma exceção do tipo ``type`` no ponto " +"em que o gerador assíncrono foi pausado, e retorna o próximo valor produzido " +"pela função geradora como o valor da exceção :exc:`StopIteration` levantada. " +"Se o gerador assíncrono terminar sem produzir outro valor, uma " +"exceção :exc:`StopAsyncIteration` é levantada pelo objeto aguardável. Se a " +"função geradora não capturar a exceção passada ou gerar uma exceção " +"diferente, então quando o objeto aguardável for executado, essa exceção se " +"propagará para o chamador do objeto aguardável." + +#: ../../reference/expressions.rst:762 msgid "" "Returns an awaitable that when run will throw a :exc:`GeneratorExit` into " "the asynchronous generator function at the point where it was paused. If the " @@ -1137,126 +1218,213 @@ msgid "" "due to an exception or normal exit, then further calls to :meth:`aclose` " "will return an awaitable that does nothing." msgstr "" +"Retorna um objeto aguardável que, quando executado, levantará " +"uma :exc:`GeneratorExit` na função geradora assíncrona no ponto em que foi " +"pausada. Se a função geradora assíncrona sair de forma normal, se estiver já " +"estiver fechada ou levantar :exc:`GeneratorExit` (não capturando a exceção), " +"então o objeto aguardável retornado levantará uma " +"exceção :exc:`StopIteration`. Quaisquer outros objetos aguardáveis " +"retornados por chamadas subsequentes à função geradora assíncrona levantarão " +"uma exceção :exc:`StopAsyncIteration`. Se a função geradora assíncrona " +"levantar um valor, um :exc:`RuntimeError` será lançado pelo objeto " +"aguardável. Se a função geradora assíncrona levantar qualquer outra exceção, " +"ela será propagada para o chamador do objeto aguardável. Se a função " +"geradora assíncrona já tiver saído devido a uma exceção ou saída normal, " +"então chamadas posteriores ao método :meth:`aclose` retornarão um objeto " +"aguardável que não faz nada." -#: ../../reference/expressions.rst:776 +#: ../../reference/expressions.rst:778 msgid "Primaries" -msgstr "" +msgstr "Primárias" -#: ../../reference/expressions.rst:780 +#: ../../reference/expressions.rst:782 msgid "" "Primaries represent the most tightly bound operations of the language. Their " "syntax is:" msgstr "" +"Primárias representam as operações mais fortemente vinculadas da linguagem. " +"Sua sintaxe é:" -#: ../../reference/expressions.rst:790 +#: ../../reference/expressions.rst:792 msgid "Attribute references" -msgstr "" +msgstr "Referências de atributo" -#: ../../reference/expressions.rst:796 +#: ../../reference/expressions.rst:798 msgid "An attribute reference is a primary followed by a period and a name:" msgstr "" +"Uma referência de atributo é um primário seguido de um ponto e um nome." -#: ../../reference/expressions.rst:806 +#: ../../reference/expressions.rst:808 msgid "" "The primary must evaluate to an object of a type that supports attribute " "references, which most objects do. This object is then asked to produce the " -"attribute whose name is the identifier. This production can be customized " -"by overriding the :meth:`__getattr__` method. If this attribute is not " -"available, the exception :exc:`AttributeError` is raised. Otherwise, the " -"type and value of the object produced is determined by the object. Multiple " -"evaluations of the same attribute reference may yield different objects." +"attribute whose name is the identifier. The type and value produced is " +"determined by the object. Multiple evaluations of the same attribute " +"reference may yield different objects." +msgstr "" +"A primária deve avaliar para um objeto de um tipo que tem suporte a " +"referências de atributo, o que a maioria dos objetos faz. Este objeto é " +"então solicitado a produzir o atributo cujo nome é o identificador. O tipo e " +"o valor produzido são determinados pelo objeto. Várias avaliações da mesma " +"referência de atributo podem produzir diferentes objetos." + +#: ../../reference/expressions.rst:814 +msgid "" +"This production can be customized by overriding " +"the :meth:`~object.__getattribute__` method or " +"the :meth:`~object.__getattr__` method. The :meth:`!__getattribute__` " +"method is called first and either returns a value or " +"raises :exc:`AttributeError` if the attribute is not available." +msgstr "" +"Esta produção pode ser personalizada substituindo o " +"método :meth:`~object.__getattribute__` ou o " +"método :meth:`~object.__getattr__`. O método :meth:`!__getattribute__` é " +"chamado primeiro e retorna um valor ou levanta uma :exc:`AttributeError` se " +"o atributo não estiver disponível." + +#: ../../reference/expressions.rst:820 +msgid "" +"If an :exc:`AttributeError` is raised and the object has a :meth:`!" +"__getattr__` method, that method is called as a fallback." msgstr "" +"Se for levantada uma :exc:`AttributeError` e o objeto tiver um " +"método :meth:`!__getattr__`, esse método será chamado como alternativa." -#: ../../reference/expressions.rst:818 +#: ../../reference/expressions.rst:826 msgid "Subscriptions" -msgstr "" +msgstr "Subscrições" -#: ../../reference/expressions.rst:833 +#: ../../reference/expressions.rst:841 msgid "" "The subscription of an instance of a :ref:`container class ` " -"will generally select an element from the container. The subscription of a :" -"term:`generic class ` will generally return a :ref:" -"`GenericAlias ` object." +"will generally select an element from the container. The subscription of " +"a :term:`generic class ` will generally return " +"a :ref:`GenericAlias ` object." msgstr "" +"A subscrição de uma instância de uma classe de :ref:`classe de contêiner " +"` geralmente selecionará um elemento do contêiner. A " +"subscrição de uma :term:`classe genérica ` geralmente " +"retornará um objeto :ref:`GenericAlias `." -#: ../../reference/expressions.rst:841 +#: ../../reference/expressions.rst:849 msgid "" "When an object is subscripted, the interpreter will evaluate the primary and " "the expression list." msgstr "" +"Quando um objeto é subscrito, o interpretador avaliará o primário e a lista " +"de expressões." -#: ../../reference/expressions.rst:844 +#: ../../reference/expressions.rst:852 msgid "" "The primary must evaluate to an object that supports subscription. An object " -"may support subscription through defining one or both of :meth:`~object." -"__getitem__` and :meth:`~object.__class_getitem__`. When the primary is " -"subscripted, the evaluated result of the expression list will be passed to " -"one of these methods. For more details on when ``__class_getitem__`` is " -"called instead of ``__getitem__``, see :ref:`classgetitem-versus-getitem`." -msgstr "" - -#: ../../reference/expressions.rst:851 -msgid "" -"If the expression list contains at least one comma, it will evaluate to a :" -"class:`tuple` containing the items of the expression list. Otherwise, the " +"may support subscription through defining one or both " +"of :meth:`~object.__getitem__` and :meth:`~object.__class_getitem__`. When " +"the primary is subscripted, the evaluated result of the expression list will " +"be passed to one of these methods. For more details on when " +"``__class_getitem__`` is called instead of ``__getitem__``, " +"see :ref:`classgetitem-versus-getitem`." +msgstr "" +"O primário deve ser avaliado como um objeto que dê suporte à subscrição. Um " +"objeto pode prover suporte a subscrição através da definição de um ou " +"ambos :meth:`~object.__getitem__` e :meth:`~object.__class_getitem__`. " +"Quando o primário é subscrito, o resultado avaliado da lista de expressões " +"será passado para um desses métodos. Para mais detalhes sobre quando " +"``__class_getitem__`` é chamado em vez de ``__getitem__``, " +"veja :ref:`classgetitem-versus-getitem`." + +#: ../../reference/expressions.rst:859 +msgid "" +"If the expression list contains at least one comma, it will evaluate to " +"a :class:`tuple` containing the items of the expression list. Otherwise, the " "expression list will evaluate to the value of the list's sole member." msgstr "" +"Se a lista de expressões contiver pelo menos uma vírgula, ela será avaliada " +"como uma :class:`tuple` contendo os itens da lista de expressões. Caso " +"contrário, a lista de expressões será avaliada como o valor do único membro " +"da lista." -#: ../../reference/expressions.rst:855 +#: ../../reference/expressions.rst:863 msgid "" "For built-in objects, there are two types of objects that support " "subscription via :meth:`~object.__getitem__`:" msgstr "" +"Para objetos embutido, existem dois tipos de objetos que oferecem suporte a " +"subscrição via :meth:`~object.__getitem__`:" -#: ../../reference/expressions.rst:858 +#: ../../reference/expressions.rst:866 msgid "" "Mappings. If the primary is a :term:`mapping`, the expression list must " "evaluate to an object whose value is one of the keys of the mapping, and the " "subscription selects the value in the mapping that corresponds to that key. " "An example of a builtin mapping class is the :class:`dict` class." msgstr "" +"Mapeamentos. Se o primário for um :term:`mapeamento`, a lista de expressões " +"deve ser avaliada como um objeto cujo valor é uma das chaves do mapeamento, " +"e a subscrição seleciona o valor no mapeamento que corresponde a essa chave. " +"Um exemplo de classe de mapeamento integrada é a classe :class:`dict`." -#: ../../reference/expressions.rst:862 +#: ../../reference/expressions.rst:870 msgid "" "Sequences. If the primary is a :term:`sequence`, the expression list must " "evaluate to an :class:`int` or a :class:`slice` (as discussed in the " -"following section). Examples of builtin sequence classes include the :class:" -"`str`, :class:`list` and :class:`tuple` classes." -msgstr "" +"following section). Examples of builtin sequence classes include " +"the :class:`str`, :class:`list` and :class:`tuple` classes." +msgstr "" +"Sequências. Se o primário for uma :term:`sequência`, a lista de expressões " +"deve ser avaliada como :class:`int` ou :class:`slice` (conforme discutido na " +"seção seguinte). Exemplos de classes de sequência embutidas incluem as " +"classes :class:`str`, :class:`list` e :class:`tuple`." + +#: ../../reference/expressions.rst:875 +msgid "" +"The formal syntax makes no special provision for negative indices " +"in :term:`sequences `. However, built-in sequences all provide " +"a :meth:`~object.__getitem__` method that interprets negative indices by " +"adding the length of the sequence to the index so that, for example, " +"``x[-1]`` selects the last item of ``x``. The resulting value must be a " +"nonnegative integer less than the number of items in the sequence, and the " +"subscription selects the item whose index is that value (counting from " +"zero). Since the support for negative indices and slicing occurs in the " +"object's :meth:`~object.__getitem__` method, subclasses overriding this " +"method will need to explicitly add that support." +msgstr "" +"A sintaxe formal não faz nenhuma provisão especial para índices negativos " +"em :term:`sequências `. No entanto, todas as sequências embutidas " +"fornecem um método :meth:`~object.__getitem__` que interpreta índices " +"negativos adicionando o comprimento da sequência ao índice para que, por " +"exemplo, ``x[-1]`` selecione o último item de ``x``. O valor resultante deve " +"ser um número inteiro não negativo menor que o número de itens na sequência, " +"e a subscrição seleciona o item cujo índice é esse valor (contando a partir " +"de zero). Como o suporte para índices negativos e fatiamento ocorre no " +"método :meth:`~object.__getitem__` do objeto, as subclasses que substituem " +"esse método precisarão adicionar explicitamente esse suporte." -#: ../../reference/expressions.rst:867 -msgid "" -"The formal syntax makes no special provision for negative indices in :term:" -"`sequences `. However, built-in sequences all provide a :meth:" -"`~object.__getitem__` method that interprets negative indices by adding the " -"length of the sequence to the index so that, for example, ``x[-1]`` selects " -"the last item of ``x``. The resulting value must be a nonnegative integer " -"less than the number of items in the sequence, and the subscription selects " -"the item whose index is that value (counting from zero). Since the support " -"for negative indices and slicing occurs in the object's :meth:`__getitem__` " -"method, subclasses overriding this method will need to explicitly add that " -"support." -msgstr "" - -#: ../../reference/expressions.rst:881 +#: ../../reference/expressions.rst:889 msgid "" "A :class:`string ` is a special kind of sequence whose items are " "*characters*. A character is not a separate data type but a string of " "exactly one character." msgstr "" +"Uma :class:`string ` é um tipo especial de sequência cujos itens são " +"*caracteres*. Um caractere não é um tipo de dados separado, mas uma string " +"de exatamente um caractere." -#: ../../reference/expressions.rst:889 +#: ../../reference/expressions.rst:897 msgid "Slicings" -msgstr "" +msgstr "Fatiamentos" -#: ../../reference/expressions.rst:903 +#: ../../reference/expressions.rst:911 msgid "" "A slicing selects a range of items in a sequence object (e.g., a string, " "tuple or list). Slicings may be used as expressions or as targets in " "assignment or :keyword:`del` statements. The syntax for a slicing:" msgstr "" +"Um fatiamento seleciona um intervalo de itens em um objeto sequência (por " +"exemplo, uma string, tupla ou lista). As fatias podem ser usadas como " +"expressões ou como alvos em instruções de atribuição ou :keyword:`del`. A " +"sintaxe para um fatiamento:" -#: ../../reference/expressions.rst:916 +#: ../../reference/expressions.rst:924 msgid "" "There is ambiguity in the formal syntax here: anything that looks like an " "expression list also looks like a slice list, so any subscription can be " @@ -1265,49 +1433,79 @@ msgid "" "subscription takes priority over the interpretation as a slicing (this is " "the case if the slice list contains no proper slice)." msgstr "" +"Há ambiguidade na sintaxe formal aqui: qualquer coisa que se pareça com uma " +"lista de expressões também se parece com uma lista de fatias, portanto " +"qualquer subscrição pode ser interpretada como um fatiamento. Em vez de " +"complicar ainda mais a sintaxe, isso é eliminado pela definição de que, " +"neste caso, a interpretação como uma subscrição tem prioridade sobre a " +"interpretação como um fatiamento (este é o caso se a lista de fatias não " +"contiver uma fatia adequada)." -#: ../../reference/expressions.rst:928 +#: ../../reference/expressions.rst:936 msgid "" "The semantics for a slicing are as follows. The primary is indexed (using " -"the same :meth:`__getitem__` method as normal subscription) with a key that " -"is constructed from the slice list, as follows. If the slice list contains " -"at least one comma, the key is a tuple containing the conversion of the " -"slice items; otherwise, the conversion of the lone slice item is the key. " -"The conversion of a slice item that is an expression is that expression. " -"The conversion of a proper slice is a slice object (see section :ref:" -"`types`) whose :attr:`~slice.start`, :attr:`~slice.stop` and :attr:`~slice." -"step` attributes are the values of the expressions given as lower bound, " -"upper bound and stride, respectively, substituting ``None`` for missing " -"expressions." -msgstr "" - -#: ../../reference/expressions.rst:952 +"the same :meth:`~object.__getitem__` method as normal subscription) with a " +"key that is constructed from the slice list, as follows. If the slice list " +"contains at least one comma, the key is a tuple containing the conversion of " +"the slice items; otherwise, the conversion of the lone slice item is the " +"key. The conversion of a slice item that is an expression is that " +"expression. The conversion of a proper slice is a slice object (see " +"section :ref:`types`) whose :attr:`~slice.start`, :attr:`~slice.stop` " +"and :attr:`~slice.step` attributes are the values of the expressions given " +"as lower bound, upper bound and stride, respectively, substituting ``None`` " +"for missing expressions." +msgstr "" +"A semântica para um fatiamento é a seguinte. O primário é indexado (usando o " +"mesmo método :meth:`~object.__getitem__` da subscrição normal) com uma chave " +"que é construída a partir da lista de fatias, como segue. Se a lista de " +"fatias contiver pelo menos uma vírgula, a chave será uma tupla contendo a " +"conversão dos itens da fatia; caso contrário, a conversão do item de fatia " +"isolada é a chave. A conversão de um item de fatia que é uma expressão é " +"essa expressão. A conversão de uma fatia adequada é um objeto fatia (veja a " +"seção :ref:`types`) cujos :attr:`~slice.start`, :attr:`~slice.stop` " +"e :attr:`~slice.step` atributos são os valores das expressões fornecidas " +"como limite inferior, limite superior e passo, respectivamente, substituindo " +"``None`` pelas expressões ausentes." + +#: ../../reference/expressions.rst:960 msgid "Calls" msgstr "Chamadas" -#: ../../reference/expressions.rst:954 +#: ../../reference/expressions.rst:962 msgid "" "A call calls a callable object (e.g., a :term:`function`) with a possibly " "empty series of :term:`arguments `:" msgstr "" +"Uma chamada chama um objeto que é um chamável (por exemplo, " +"uma :term:`função`) com uma série possivelmente vazia de :term:`argumentos " +"`:" -#: ../../reference/expressions.rst:971 +#: ../../reference/expressions.rst:979 msgid "" "An optional trailing comma may be present after the positional and keyword " "arguments but does not affect the semantics." msgstr "" +"Uma vírgula final opcional pode estar presente após os argumentos " +"posicionais e nomeados, mas não afeta a semântica." -#: ../../reference/expressions.rst:977 +#: ../../reference/expressions.rst:985 msgid "" "The primary must evaluate to a callable object (user-defined functions, " "built-in functions, methods of built-in objects, class objects, methods of " -"class instances, and all objects having a :meth:`__call__` method are " -"callable). All argument expressions are evaluated before the call is " +"class instances, and all objects having a :meth:`~object.__call__` method " +"are callable). All argument expressions are evaluated before the call is " "attempted. Please refer to section :ref:`function` for the syntax of " "formal :term:`parameter` lists." msgstr "" +"O primário deve ser avaliado como um objeto que pode ser chamado (funções " +"definidas pelo usuário, funções embutidas, métodos de objetos embutidos, " +"objetos de classe, métodos de instâncias de classe e todos os objetos que " +"possuem um método :meth:`~object.__call__` são chamáveis). Todas as " +"expressões de argumento são avaliadas antes da tentativa de chamada. " +"Consulte a seção :ref:`function` para a sintaxe das listas formais " +"de :term:`parâmetros `." -#: ../../reference/expressions.rst:985 +#: ../../reference/expressions.rst:993 msgid "" "If keyword arguments are present, they are first converted to positional " "arguments, as follows. First, a list of unfilled slots is created for the " @@ -1327,17 +1525,41 @@ msgid "" "specified, a :exc:`TypeError` exception is raised. Otherwise, the list of " "filled slots is used as the argument list for the call." msgstr "" - -#: ../../reference/expressions.rst:1005 +"Se houver argumentos nomeados, eles serão primeiro convertidos em argumentos " +"posicionais, como segue. Primeiro, é criada uma lista de slots não " +"preenchidos para os parâmetros formais. Se houver N argumentos posicionais, " +"eles serão colocados nos primeiros N slots. A seguir, para cada argumento " +"nomeado, o identificador é usado para determinar o slot correspondente (se o " +"identificador for igual ao primeiro nome formal do parâmetro, o primeiro " +"slot será usado e assim por diante). Se o slot já estiver preenchido, uma " +"exceção :exc:`TypeError` será levantada. Caso contrário, o argumento é " +"colocado no slot, preenchendo-o (mesmo que a expressão seja ``None``, ela " +"preenche o slot). Quando todos os argumentos forem processados, os slots " +"ainda não preenchidos serão preenchidos com o valor padrão correspondente da " +"definição da função. (Os valores padrão são calculados, uma vez, quando a " +"função é definida; assim, um objeto mutável, como uma lista ou dicionário " +"usado como valor padrão, será compartilhado por todas as chamadas que não " +"especificam um valor de argumento para o slot correspondente; isso deve " +"geralmente ser evitado.) Se houver algum slot não preenchido para o qual " +"nenhum valor padrão for especificado, uma exceção :exc:`TypeError` será " +"levantada. Caso contrário, a lista de slots preenchidos será usada como " +"lista de argumentos para a chamada." + +#: ../../reference/expressions.rst:1013 msgid "" "An implementation may provide built-in functions whose positional parameters " "do not have names, even if they are 'named' for the purpose of " "documentation, and which therefore cannot be supplied by keyword. In " -"CPython, this is the case for functions implemented in C that use :c:func:" -"`PyArg_ParseTuple` to parse their arguments." +"CPython, this is the case for functions implemented in C that " +"use :c:func:`PyArg_ParseTuple` to parse their arguments." msgstr "" +"Uma implementação pode fornecer funções integradas cujos parâmetros " +"posicionais não possuem nomes, mesmo que sejam 'nomeados' para fins de " +"documentação e que, portanto, não possam ser fornecidos por nomes. No " +"CPython, este é o caso de funções implementadas em C que " +"usam :c:func:`PyArg_ParseTuple` para analisar seus argumentos." -#: ../../reference/expressions.rst:1011 +#: ../../reference/expressions.rst:1019 msgid "" "If there are more positional arguments than there are formal parameter " "slots, a :exc:`TypeError` exception is raised, unless a formal parameter " @@ -1345,18 +1567,30 @@ msgid "" "parameter receives a tuple containing the excess positional arguments (or an " "empty tuple if there were no excess positional arguments)." msgstr "" +"Se houver mais argumentos posicionais do que slots de parâmetros formais, " +"uma exceção :exc:`TypeError` será levantada, a menos que um parâmetro formal " +"usando a sintaxe ``*identificador`` esteja presente; neste caso, esse " +"parâmetro formal recebe uma tupla contendo os argumentos posicionais em " +"excesso (ou uma tupla vazia se não houver argumentos posicionais em excesso)." -#: ../../reference/expressions.rst:1017 +#: ../../reference/expressions.rst:1025 msgid "" -"If any keyword argument does not correspond to a formal parameter name, a :" -"exc:`TypeError` exception is raised, unless a formal parameter using the " +"If any keyword argument does not correspond to a formal parameter name, " +"a :exc:`TypeError` exception is raised, unless a formal parameter using the " "syntax ``**identifier`` is present; in this case, that formal parameter " "receives a dictionary containing the excess keyword arguments (using the " "keywords as keys and the argument values as corresponding values), or a " "(new) empty dictionary if there were no excess keyword arguments." msgstr "" +"Se algum argumento nomeado não corresponder a um nome de parâmetro formal, " +"uma exceção :exc:`TypeError` é levantada, a menos que um parâmetro formal " +"usando a sintaxe ``**identificador`` esteja presente; neste caso, esse " +"parâmetro formal recebe um dicionário contendo os argumentos nomeados em " +"excesso (usando os nomes como chaves e os valores dos argumentos como " +"valores correspondentes), ou um (novo) dicionário vazio se não houver " +"argumentos nomeados em excesso." -#: ../../reference/expressions.rst:1028 +#: ../../reference/expressions.rst:1036 msgid "" "If the syntax ``*expression`` appears in the function call, ``expression`` " "must evaluate to an :term:`iterable`. Elements from these iterables are " @@ -1365,21 +1599,34 @@ msgid "" "this is equivalent to a call with M+4 positional arguments *x1*, *x2*, " "*y1*, ..., *yM*, *x3*, *x4*." msgstr "" +"Se a sintaxe ``*expressão`` aparecer na chamada da função, ``expressão`` " +"deverá ser avaliada como :term:`iterável`. Os elementos desses iteráveis são " +"tratados como se fossem argumentos posicionais adicionais. Para a chamada " +"``f(x1, x2, *y, x3, x4)``, se *y* for avaliado como uma sequência *y1*, ..., " +"*yM*, isso é equivalente a uma chamada com M+4 argumentos posicionais *x1*, " +"*x2*, *y1*, ..., *yM*, *x3*, *x4*." -#: ../../reference/expressions.rst:1035 +#: ../../reference/expressions.rst:1043 msgid "" "A consequence of this is that although the ``*expression`` syntax may appear " "*after* explicit keyword arguments, it is processed *before* the keyword " "arguments (and any ``**expression`` arguments -- see below). So::" msgstr "" +"Uma consequência disso é que embora a sintaxe ``*expressão`` possa aparecer " +"*depois* de argumentos nomeados explícitos, ela é processada *antes* dos " +"argumentos nomeados (e de quaisquer argumentos de ``**expressão`` -- veja " +"abaixo). Então::" -#: ../../reference/expressions.rst:1051 +#: ../../reference/expressions.rst:1059 msgid "" "It is unusual for both keyword arguments and the ``*expression`` syntax to " "be used in the same call, so in practice this confusion does not often arise." msgstr "" +"É incomum que ambos os argumentos nomeados e a sintaxe ``*expressão`` sejam " +"usados na mesma chamada, portanto, na prática, essa confusão não surge com " +"frequência." -#: ../../reference/expressions.rst:1057 +#: ../../reference/expressions.rst:1065 msgid "" "If the syntax ``**expression`` appears in the function call, ``expression`` " "must evaluate to a :term:`mapping`, the contents of which are treated as " @@ -1387,8 +1634,13 @@ msgid "" "given a value (by an explicit keyword argument, or from another unpacking), " "a :exc:`TypeError` exception is raised." msgstr "" +"Se a sintaxe ``**expressão`` aparecer na chamada de função, ``expressão`` " +"deve ser avaliada como um :term:`mapeamento`, cujo conteúdo é tratado como " +"argumentos nomeados adicionais. Se um parâmetro que corresponde a uma chave " +"já recebeu um valor (por um argumento nomeado explícito ou de outro " +"desempacotamento), uma exceção :exc:`TypeError` é levantada." -#: ../../reference/expressions.rst:1063 +#: ../../reference/expressions.rst:1071 msgid "" "When ``**expression`` is used, each key in this mapping must be a string. " "Each value from the mapping is assigned to the first formal parameter " @@ -1399,36 +1651,54 @@ msgid "" "parameter, if there is one, or if there is not, a :exc:`TypeError` exception " "is raised." msgstr "" +"Quando ``**expressão`` é usada, cada chave neste mapeamento deve ser uma " +"string. Cada valor do mapeamento é atribuído ao primeiro parâmetro formal " +"elegível para atribuição de nomeas cujo nome é igual à chave. Uma chave não " +"precisa ser um identificador Python (por exemplo, ``\"max-temp °F\"`` é " +"aceitável, embora não corresponda a nenhum parâmetro formal que possa ser " +"declarado). Se não houver correspondência com um parâmetro formal, o par " +"chave-valor é coletado pelo parâmetro ``**``, se houver, ou se não houver, " +"uma exceção :exc:`TypeError` é levantada." -#: ../../reference/expressions.rst:1073 +#: ../../reference/expressions.rst:1081 msgid "" "Formal parameters using the syntax ``*identifier`` or ``**identifier`` " "cannot be used as positional argument slots or as keyword argument names." msgstr "" +"Parâmetros formais usando a sintaxe ``*identificador`` ou " +"``**identificador`` não podem ser usados como slots de argumentos " +"posicionais ou como nomes de argumentos nomeados." -#: ../../reference/expressions.rst:1076 +#: ../../reference/expressions.rst:1084 msgid "" "Function calls accept any number of ``*`` and ``**`` unpackings, positional " "arguments may follow iterable unpackings (``*``), and keyword arguments may " "follow dictionary unpackings (``**``). Originally proposed by :pep:`448`." msgstr "" +"Chamadas de função aceitam qualquer número de desempacotamentos ``*`` e " +"``**``, argumentos posicionais podem seguir desempacotamentos iteráveis " +"(``*``) e argumentos nomeados podem seguir desempacotamentos de dicionário " +"(``**``). Originalmente proposto pela :pep:`448`." -#: ../../reference/expressions.rst:1082 +#: ../../reference/expressions.rst:1090 msgid "" "A call always returns some value, possibly ``None``, unless it raises an " "exception. How this value is computed depends on the type of the callable " "object." msgstr "" +"Uma chamada sempre retorna algum valor, possivelmente ``None``, a menos que " +"levanta uma exceção. A forma como esse valor é calculado depende do tipo do " +"objeto chamável." -#: ../../reference/expressions.rst:1086 +#: ../../reference/expressions.rst:1094 msgid "If it is---" -msgstr "" +msgstr "Se for..." -#: ../../reference/expressions.rst:1099 +#: ../../reference/expressions.rst:1107 msgid "a user-defined function:" -msgstr "" +msgstr "uma função definida por usuário:" -#: ../../reference/expressions.rst:1095 +#: ../../reference/expressions.rst:1103 msgid "" "The code block for the function is executed, passing it the argument list. " "The first thing the code block will do is bind the formal parameters to the " @@ -1436,149 +1706,202 @@ msgid "" "block executes a :keyword:`return` statement, this specifies the return " "value of the function call." msgstr "" +"O bloco de código da função é executado, passando-lhe a lista de argumentos. " +"A primeira coisa que o bloco de código fará é vincular os parâmetros formais " +"aos argumentos; isso é descrito na seção :ref:`function`. Quando o bloco de " +"código executa uma instrução :keyword:`return`, isso especifica o valor de " +"retorno da chamada de função." -#: ../../reference/expressions.rst:1113 +#: ../../reference/expressions.rst:1121 msgid "a built-in function or method:" -msgstr "" +msgstr "um método embutido ou uma função embutida:" -#: ../../reference/expressions.rst:1112 +#: ../../reference/expressions.rst:1120 msgid "" "The result is up to the interpreter; see :ref:`built-in-funcs` for the " "descriptions of built-in functions and methods." msgstr "" +"O resultado fica por conta do interpretador; veja :ref:`built-in-funcs` para " +"descrições de funções embutidas e métodos embutidos." -#: ../../reference/expressions.rst:1120 +#: ../../reference/expressions.rst:1128 msgid "a class object:" msgstr "um objeto classe:" -#: ../../reference/expressions.rst:1120 +#: ../../reference/expressions.rst:1128 msgid "A new instance of that class is returned." -msgstr "" +msgstr "Uma nova instância dessa classe é retornada." -#: ../../reference/expressions.rst:1130 +#: ../../reference/expressions.rst:1138 msgid "a class instance method:" -msgstr "" +msgstr "um método de instância de classe:" -#: ../../reference/expressions.rst:1128 +#: ../../reference/expressions.rst:1136 msgid "" "The corresponding user-defined function is called, with an argument list " "that is one longer than the argument list of the call: the instance becomes " "the first argument." msgstr "" +"A função correspondente definida pelo usuário é chamada, com uma lista de " +"argumentos que é maior que a lista de argumentos da chamada: a instância se " +"torna o primeiro argumento." -#: ../../reference/expressions.rst:1139 +#: ../../reference/expressions.rst:1147 msgid "a class instance:" -msgstr "" +msgstr "uma instância de classe:" -#: ../../reference/expressions.rst:1137 +#: ../../reference/expressions.rst:1145 msgid "" -"The class must define a :meth:`__call__` method; the effect is then the same " -"as if that method was called." +"The class must define a :meth:`~object.__call__` method; the effect is then " +"the same as if that method was called." msgstr "" +"A classe deve definir um método :meth:`~object.__call__`; o efeito é então o " +"mesmo como se esse método fosse chamado." -#: ../../reference/expressions.rst:1145 ../../reference/expressions.rst:1926 +#: ../../reference/expressions.rst:1153 ../../reference/expressions.rst:1936 msgid "Await expression" -msgstr "" +msgstr "Expressão await" -#: ../../reference/expressions.rst:1147 +#: ../../reference/expressions.rst:1155 msgid "" "Suspend the execution of :term:`coroutine` on an :term:`awaitable` object. " "Can only be used inside a :term:`coroutine function`." msgstr "" +"Suspende a execução de :term:`corrotina` em um objeto :term:`aguardável`. Só " +"pode ser usado dentro de uma :term:`função de corrotina`." -#: ../../reference/expressions.rst:1159 +#: ../../reference/expressions.rst:1167 msgid "The power operator" -msgstr "" +msgstr "O operador de potência" -#: ../../reference/expressions.rst:1165 +#: ../../reference/expressions.rst:1173 msgid "" "The power operator binds more tightly than unary operators on its left; it " "binds less tightly than unary operators on its right. The syntax is:" msgstr "" +"O operador de potência vincula-se com mais força do que os operadores " +"unários à sua esquerda; ele se vincula com menos força do que os operadores " +"unários à sua direita. A sintaxe é:" -#: ../../reference/expressions.rst:1171 +#: ../../reference/expressions.rst:1179 msgid "" "Thus, in an unparenthesized sequence of power and unary operators, the " "operators are evaluated from right to left (this does not constrain the " "evaluation order for the operands): ``-1**2`` results in ``-1``." msgstr "" +"Assim, em uma sequência sem parênteses de operadores de potência e unários, " +"os operadores são avaliados da direita para a esquerda (isso não restringe a " +"ordem de avaliação dos operandos): ``-1**2`` resulta em ``-1`` ." -#: ../../reference/expressions.rst:1175 +#: ../../reference/expressions.rst:1183 msgid "" "The power operator has the same semantics as the built-in :func:`pow` " "function, when called with two arguments: it yields its left argument raised " "to the power of its right argument. The numeric arguments are first " "converted to a common type, and the result is of that type." msgstr "" +"O operador de potência tem a mesma semântica que a função " +"embutida :func:`pow`, quando chamado com dois argumentos: ele produz seu " +"argumento esquerdo elevado à potência de seu argumento direito. Os " +"argumentos numéricos são primeiro convertidos em um tipo comum e o resultado " +"é desse tipo." -#: ../../reference/expressions.rst:1180 +#: ../../reference/expressions.rst:1188 msgid "" "For int operands, the result has the same type as the operands unless the " "second argument is negative; in that case, all arguments are converted to " "float and a float result is delivered. For example, ``10**2`` returns " "``100``, but ``10**-2`` returns ``0.01``." msgstr "" +"Para operandos int, o resultado tem o mesmo tipo que os operandos, a menos " +"que o segundo argumento seja negativo; nesse caso, todos os argumentos são " +"convertidos em ponto flutuante e um resultado ponto flutuante é entregue. " +"Por exemplo, ``10**2`` retorna ``100``, mas ``10**-2`` retorna ``0.01``." -#: ../../reference/expressions.rst:1185 +#: ../../reference/expressions.rst:1193 msgid "" "Raising ``0.0`` to a negative power results in a :exc:`ZeroDivisionError`. " -"Raising a negative number to a fractional power results in a :class:" -"`complex` number. (In earlier versions it raised a :exc:`ValueError`.)" +"Raising a negative number to a fractional power results in " +"a :class:`complex` number. (In earlier versions it raised " +"a :exc:`ValueError`.)" msgstr "" +"Elevar ``0.0`` a uma potência negativa resulta em uma " +"exceção :exc:`ZeroDivisionError`. Elevar um número negativo a uma potência " +"fracionária resulta em um número :class:`complex`. (Em versões anteriores, " +"levantava :exc:`ValueError`.)" -#: ../../reference/expressions.rst:1189 +#: ../../reference/expressions.rst:1197 msgid "" -"This operation can be customized using the special :meth:`__pow__` method." +"This operation can be customized using the special :meth:`~object.__pow__` " +"method." msgstr "" +"Esta operação pode ser personalizada usando o método " +"especial :meth:`~object.__pow__`." -#: ../../reference/expressions.rst:1194 +#: ../../reference/expressions.rst:1202 msgid "Unary arithmetic and bitwise operations" -msgstr "" +msgstr "Operações aritméticas unárias e bit a bit" -#: ../../reference/expressions.rst:1200 +#: ../../reference/expressions.rst:1208 msgid "All unary arithmetic and bitwise operations have the same priority:" msgstr "" +"Todas as operações aritméticas unárias e bit a bit têm a mesma prioridade:" -#: ../../reference/expressions.rst:1211 +#: ../../reference/expressions.rst:1219 msgid "" "The unary ``-`` (minus) operator yields the negation of its numeric " -"argument; the operation can be overridden with the :meth:`__neg__` special " -"method." +"argument; the operation can be overridden with the :meth:`~object.__neg__` " +"special method." msgstr "" +"O operador unário ``-`` (menos) produz a negação de seu argumento numérico; " +"a operação pode ser substituída pelo método especial :meth:`~object.__neg__`." -#: ../../reference/expressions.rst:1219 +#: ../../reference/expressions.rst:1227 msgid "" "The unary ``+`` (plus) operator yields its numeric argument unchanged; the " -"operation can be overridden with the :meth:`__pos__` special method." +"operation can be overridden with the :meth:`~object.__pos__` special method." msgstr "" +"O operador unário ``+`` (mais) produz seu argumento numérico inalterado; a " +"operação pode ser substituída pelo método especial :meth:`~object.__pos__`." -#: ../../reference/expressions.rst:1226 +#: ../../reference/expressions.rst:1234 msgid "" "The unary ``~`` (invert) operator yields the bitwise inversion of its " "integer argument. The bitwise inversion of ``x`` is defined as ``-(x+1)``. " -"It only applies to integral numbers or to custom objects that override the :" -"meth:`__invert__` special method." +"It only applies to integral numbers or to custom objects that override " +"the :meth:`~object.__invert__` special method." msgstr "" +"O operador unário ``~`` (inverter) produz a inversão bit a bit de seu " +"argumento inteiro. A inversão bit a bit de ``x`` é definida como ``-(x+1)``. " +"Aplica-se apenas a números inteiros ou a objetos personalizados que " +"substituem o método especial :meth:`~object.__invert__`." -#: ../../reference/expressions.rst:1235 +#: ../../reference/expressions.rst:1243 msgid "" -"In all three cases, if the argument does not have the proper type, a :exc:" -"`TypeError` exception is raised." +"In all three cases, if the argument does not have the proper type, " +"a :exc:`TypeError` exception is raised." msgstr "" +"Em todos os três casos, se o argumento não tiver o tipo adequado, uma " +"exceção :exc:`TypeError` é levantada." -#: ../../reference/expressions.rst:1242 +#: ../../reference/expressions.rst:1250 msgid "Binary arithmetic operations" -msgstr "" +msgstr "Operações binárias aritméticas" -#: ../../reference/expressions.rst:1246 +#: ../../reference/expressions.rst:1254 msgid "" "The binary arithmetic operations have the conventional priority levels. " "Note that some of these operations also apply to certain non-numeric types. " "Apart from the power operator, there are only two levels, one for " "multiplicative operators and one for additive operators:" msgstr "" +"As operações aritméticas binárias possuem os níveis de prioridade " +"convencionais. Observe que algumas dessas operações também se aplicam a " +"determinados tipos não numéricos. Além do operador potência, existem apenas " +"dois níveis, um para operadores multiplicativos e outro para operadores " +"aditivos:" -#: ../../reference/expressions.rst:1261 +#: ../../reference/expressions.rst:1269 msgid "" "The ``*`` (multiplication) operator yields the product of its arguments. " "The arguments must either both be numbers, or one argument must be an " @@ -1587,20 +1910,30 @@ msgid "" "case, sequence repetition is performed; a negative repetition factor yields " "an empty sequence." msgstr "" +"O operador ``*`` (multiplicação) produz o produto de seus argumentos. Os " +"argumentos devem ser números ou um argumento deve ser um número inteiro e o " +"outro deve ser uma sequência. No primeiro caso, os números são convertidos " +"para um tipo comum e depois multiplicados. Neste último caso, é realizada a " +"repetição da sequência; um fator de repetição negativo produz uma sequência " +"vazia." -#: ../../reference/expressions.rst:1267 +#: ../../reference/expressions.rst:1275 msgid "" -"This operation can be customized using the special :meth:`__mul__` and :meth:" -"`__rmul__` methods." +"This operation can be customized using the special :meth:`~object.__mul__` " +"and :meth:`~object.__rmul__` methods." msgstr "" +"Esta operação pode ser personalizada usando os métodos " +"especial :meth:`~object.__mul__` e :meth:`~object.__rmul__`." -#: ../../reference/expressions.rst:1274 +#: ../../reference/expressions.rst:1282 msgid "" "The ``@`` (at) operator is intended to be used for matrix multiplication. " "No builtin Python types implement this operator." msgstr "" +"O operador ``@`` (arroba) deve ser usado para multiplicação de matrizes. " +"Nenhum tipo embutido do Python implementa este operador." -#: ../../reference/expressions.rst:1285 +#: ../../reference/expressions.rst:1293 msgid "" "The ``/`` (division) and ``//`` (floor division) operators yield the " "quotient of their arguments. The numeric arguments are first converted to a " @@ -1609,14 +1942,22 @@ msgid "" "with the 'floor' function applied to the result. Division by zero raises " "the :exc:`ZeroDivisionError` exception." msgstr "" +"Os operadores ``/`` (divisão) e ``//`` (divisão pelo piso) produzem o " +"quociente de seus argumentos. Os argumentos numéricos são primeiro " +"convertidos em um tipo comum. A divisão de inteiros produz um ponto " +"flutuante, enquanto a divisão pelo piso de inteiros resulta em um inteiro; o " +"resultado é o da divisão matemática com a função 'floor' aplicada ao " +"resultado. A divisão por zero levanta a exceção :exc:`ZeroDivisionError`." -#: ../../reference/expressions.rst:1292 +#: ../../reference/expressions.rst:1300 msgid "" -"This operation can be customized using the special :meth:`__truediv__` and :" -"meth:`__floordiv__` methods." +"This operation can be customized using the " +"special :meth:`~object.__truediv__` and :meth:`~object.__floordiv__` methods." msgstr "" +"Esta operação pode ser personalizada usando os métodos " +"especial :meth:`~object.__truediv__` e :meth:`~object.__floordiv__`." -#: ../../reference/expressions.rst:1299 +#: ../../reference/expressions.rst:1307 msgid "" "The ``%`` (modulo) operator yields the remainder from the division of the " "first argument by the second. The numeric arguments are first converted to " @@ -1627,16 +1968,28 @@ msgid "" "zero); the absolute value of the result is strictly smaller than the " "absolute value of the second operand [#]_." msgstr "" +"O operador ``%`` (módulo) produz o restante da divisão do primeiro argumento " +"pelo segundo. Os argumentos numéricos são primeiro convertidos em um tipo " +"comum. Um argumento zero à direita levanta a " +"exceção :exc:`ZeroDivisionError`. Os argumentos podem ser números de ponto " +"flutuante, por exemplo, ``3.14%0.7`` é igual a ``0.34`` (já que ``3.14`` é " +"igual a ``4*0.7 + 0.34``.) O operador módulo sempre produz um resultado com " +"o mesmo sinal do seu segundo operando (ou zero); o valor absoluto do " +"resultado é estritamente menor que o valor absoluto do segundo operando [#]_." -#: ../../reference/expressions.rst:1308 +#: ../../reference/expressions.rst:1316 msgid "" "The floor division and modulo operators are connected by the following " "identity: ``x == (x//y)*y + (x%y)``. Floor division and modulo are also " "connected with the built-in function :func:`divmod`: ``divmod(x, y) == (x//" "y, x%y)``. [#]_." msgstr "" +"Os operadores de divisão pelo piso e módulo são conectados pela seguinte " +"identidade: ``x == (x//y)*y + (x%y)``. A divisão pelo piso e o módulo também " +"estão conectados com a função embutida :func:`divmod`: ``divmod(x, y) == (x//" +"y, x%y)``. [#]_." -#: ../../reference/expressions.rst:1313 +#: ../../reference/expressions.rst:1321 msgid "" "In addition to performing the modulo operation on numbers, the ``%`` " "operator is also overloaded by string objects to perform old-style string " @@ -1644,154 +1997,219 @@ msgid "" "is described in the Python Library Reference, section :ref:`old-string-" "formatting`." msgstr "" +"Além de realizar a operação de módulo em números, o operador ``%`` também é " +"sobrecarregado por objetos string para realizar a formatação de string no " +"estilo antigo (também conhecida como interpolação). A sintaxe para " +"formatação de string é descrita na Referência da Biblioteca Python, " +"seção :ref:`old-string-formatting`." -#: ../../reference/expressions.rst:1318 +#: ../../reference/expressions.rst:1326 msgid "" -"The *modulo* operation can be customized using the special :meth:`__mod__` " -"method." +"The *modulo* operation can be customized using the " +"special :meth:`~object.__mod__` method." msgstr "" +"O *módulo* operação pode ser personalizada usando o método " +"especial :meth:`~object.__mod__`." -#: ../../reference/expressions.rst:1320 +#: ../../reference/expressions.rst:1328 msgid "" "The floor division operator, the modulo operator, and the :func:`divmod` " "function are not defined for complex numbers. Instead, convert to a " "floating point number using the :func:`abs` function if appropriate." msgstr "" +"O operador de divisão pelo piso, o operador de módulo e a " +"função :func:`divmod` não são definidos para números complexos. Em vez " +"disso, converta para um número de ponto flutuante usando a " +"função :func:`abs` se apropriado." -#: ../../reference/expressions.rst:1329 +#: ../../reference/expressions.rst:1337 msgid "" "The ``+`` (addition) operator yields the sum of its arguments. The " "arguments must either both be numbers or both be sequences of the same " "type. In the former case, the numbers are converted to a common type and " "then added together. In the latter case, the sequences are concatenated." msgstr "" +"O operador ``+`` (adição) produz a soma de seus argumentos. Os argumentos " +"devem ser números ou sequências do mesmo tipo. No primeiro caso, os números " +"são convertidos para um tipo comum e depois somados. Neste último caso, as " +"sequências são concatenadas." -#: ../../reference/expressions.rst:1334 +#: ../../reference/expressions.rst:1342 msgid "" -"This operation can be customized using the special :meth:`__add__` and :meth:" -"`__radd__` methods." +"This operation can be customized using the special :meth:`~object.__add__` " +"and :meth:`~object.__radd__` methods." msgstr "" +"Esta operação pode ser personalizada usando os métodos " +"especial :meth:`~object.__add__` e :meth:`~object.__radd__`." -#: ../../reference/expressions.rst:1342 +#: ../../reference/expressions.rst:1350 msgid "" "The ``-`` (subtraction) operator yields the difference of its arguments. " "The numeric arguments are first converted to a common type." msgstr "" +"O operador ``-`` (subtração) produz a diferença de seus argumentos. Os " +"argumentos numéricos são primeiro convertidos em um tipo comum." -#: ../../reference/expressions.rst:1345 +#: ../../reference/expressions.rst:1353 msgid "" -"This operation can be customized using the special :meth:`__sub__` method." +"This operation can be customized using the special :meth:`~object.__sub__` " +"method." msgstr "" +"Esta operação pode ser personalizada usando o método " +"especial :meth:`~object.__sub__`." -#: ../../reference/expressions.rst:1351 +#: ../../reference/expressions.rst:1359 msgid "Shifting operations" -msgstr "" +msgstr "Operações de deslocamento" -#: ../../reference/expressions.rst:1358 +#: ../../reference/expressions.rst:1366 msgid "" "The shifting operations have lower priority than the arithmetic operations:" msgstr "" +"As operações de deslocamento têm menor prioridade que as operações " +"aritméticas:" -#: ../../reference/expressions.rst:1363 +#: ../../reference/expressions.rst:1371 msgid "" "These operators accept integers as arguments. They shift the first argument " "to the left or right by the number of bits given by the second argument." msgstr "" +"Esses operadores aceitam números inteiros como argumentos. Eles deslocam o " +"primeiro argumento para a esquerda ou para a direita pelo número de bits " +"fornecido pelo segundo argumento." -#: ../../reference/expressions.rst:1366 +#: ../../reference/expressions.rst:1374 msgid "" -"This operation can be customized using the special :meth:`__lshift__` and :" -"meth:`__rshift__` methods." +"This operation can be customized using the " +"special :meth:`~object.__lshift__` and :meth:`~object.__rshift__` methods." msgstr "" +"Esta operação pode ser personalizada usando os métodos " +"especial :meth:`~object.__lshift__` e :meth:`~object.__rshift__`." -#: ../../reference/expressions.rst:1371 +#: ../../reference/expressions.rst:1379 msgid "" "A right shift by *n* bits is defined as floor division by ``pow(2,n)``. A " "left shift by *n* bits is defined as multiplication with ``pow(2,n)``." msgstr "" +"Um deslocamento para a direita por *n* bits é definido como divisão pelo " +"piso por ``pow(2,n)``. Um deslocamento à esquerda por *n* bits é definido " +"como multiplicação com ``pow(2,n)``." -#: ../../reference/expressions.rst:1378 +#: ../../reference/expressions.rst:1386 msgid "Binary bitwise operations" -msgstr "" +msgstr "Operações binárias bit a bit" -#: ../../reference/expressions.rst:1382 +#: ../../reference/expressions.rst:1390 msgid "Each of the three bitwise operations has a different priority level:" msgstr "" +"Cada uma das três operações bit a bit tem um nível de prioridade diferente:" -#: ../../reference/expressions.rst:1393 +#: ../../reference/expressions.rst:1401 msgid "" "The ``&`` operator yields the bitwise AND of its arguments, which must be " -"integers or one of them must be a custom object overriding :meth:`__and__` " -"or :meth:`__rand__` special methods." +"integers or one of them must be a custom object " +"overriding :meth:`~object.__and__` or :meth:`~object.__rand__` special " +"methods." msgstr "" +"O operador ``&`` produz o E (AND) bit a bit de seus argumentos, que devem " +"ser inteiros ou um deles deve ser um objeto personalizado substituindo os " +"métodos especiais :meth:`~object.__and__` ou :meth:`~object.__rand__`." -#: ../../reference/expressions.rst:1402 +#: ../../reference/expressions.rst:1410 msgid "" "The ``^`` operator yields the bitwise XOR (exclusive OR) of its arguments, " -"which must be integers or one of them must be a custom object overriding :" -"meth:`__xor__` or :meth:`__rxor__` special methods." +"which must be integers or one of them must be a custom object " +"overriding :meth:`~object.__xor__` or :meth:`~object.__rxor__` special " +"methods." msgstr "" +"O operador ``^`` produz o XOR bit a bit (OU exclusivo) de seus argumentos, " +"que devem ser inteiros ou um deles deve ser um objeto personalizado " +"sobrescrevendo os métodos especiais :meth:`~object.__xor__` " +"ou :meth:`~object.__rxor__`." -#: ../../reference/expressions.rst:1411 +#: ../../reference/expressions.rst:1419 msgid "" "The ``|`` operator yields the bitwise (inclusive) OR of its arguments, which " -"must be integers or one of them must be a custom object overriding :meth:" -"`__or__` or :meth:`__ror__` special methods." +"must be integers or one of them must be a custom object " +"overriding :meth:`~object.__or__` or :meth:`~object.__ror__` special methods." msgstr "" +"O operador ``|`` produz o OU (OR) bit a bit de seus argumentos, que devem " +"ser inteiros ou um deles deve ser um objeto personalizado sobrescrevendo os " +"métodos especiais :meth:`~object.__or__` ou :meth:`~object.__ror__`." -#: ../../reference/expressions.rst:1419 +#: ../../reference/expressions.rst:1427 msgid "Comparisons" msgstr "Comparações" -#: ../../reference/expressions.rst:1431 +#: ../../reference/expressions.rst:1439 msgid "" "Unlike C, all comparison operations in Python have the same priority, which " "is lower than that of any arithmetic, shifting or bitwise operation. Also " "unlike C, expressions like ``a < b < c`` have the interpretation that is " "conventional in mathematics:" msgstr "" +"Ao contrário de C, todas as operações de comparação em Python têm a mesma " +"prioridade, que é menor do que qualquer operação aritmética, de deslocamento " +"ou bit a bit. Também diferentemente de C, expressões como ``a < b < c`` têm " +"a interpretação que é convencional em matemática:" -#: ../../reference/expressions.rst:1441 +#: ../../reference/expressions.rst:1449 msgid "" "Comparisons yield boolean values: ``True`` or ``False``. Custom :dfn:`rich " "comparison methods` may return non-boolean values. In this case Python will " "call :func:`bool` on such value in boolean contexts." msgstr "" +"Comparações produzem valores booleanos: ``True`` ou ``False``. :dfn:`métodos " +"de comparação rica` personalizados podem retornar valores não booleanos. " +"Neste caso, o Python chamará :func:`bool` nesse valor em contextos booleanos." -#: ../../reference/expressions.rst:1447 +#: ../../reference/expressions.rst:1455 msgid "" "Comparisons can be chained arbitrarily, e.g., ``x < y <= z`` is equivalent " "to ``x < y and y <= z``, except that ``y`` is evaluated only once (but in " "both cases ``z`` is not evaluated at all when ``x < y`` is found to be " "false)." msgstr "" +"As comparações podem ser encadeadas arbitrariamente, por exemplo, ``x < y <= " +"z`` é equivalente a ``x < y and y <= z``, exceto que ``y`` é avaliado apenas " +"uma vez (mas em ambos os casos ``z`` não é avaliado quando ``x < y`` é " +"considerado falso)." -#: ../../reference/expressions.rst:1451 +#: ../../reference/expressions.rst:1459 msgid "" "Formally, if *a*, *b*, *c*, ..., *y*, *z* are expressions and *op1*, " "*op2*, ..., *opN* are comparison operators, then ``a op1 b op2 c ... y opN " "z`` is equivalent to ``a op1 b and b op2 c and ... y opN z``, except that " "each expression is evaluated at most once." msgstr "" +"Formalmente, se *a*, *b*, *c*, ..., *y*, *z* são expressões e *op1*, " +"*op2*, ..., *opN* são operadores de comparação, então ``a op1 b op2 c ... y " +"opN z`` é equivalente a ``a op1 b e b op2 c e ... y opN z``, exceto que cada " +"expressão é avaliada no máximo uma vez." -#: ../../reference/expressions.rst:1456 +#: ../../reference/expressions.rst:1464 msgid "" "Note that ``a op1 b op2 c`` doesn't imply any kind of comparison between *a* " "and *c*, so that, e.g., ``x < y > z`` is perfectly legal (though perhaps not " "pretty)." msgstr "" +"Observe que ``a op1 b op2 c`` não implica qualquer tipo de comparação entre " +"*a* e *c*, de modo que, por exemplo, ``x < y > z`` é perfeitamente válido " +"(embora talvez não seja bonito)." -#: ../../reference/expressions.rst:1463 +#: ../../reference/expressions.rst:1471 msgid "Value comparisons" -msgstr "" +msgstr "Comparações de valor" -#: ../../reference/expressions.rst:1465 +#: ../../reference/expressions.rst:1473 msgid "" "The operators ``<``, ``>``, ``==``, ``>=``, ``<=``, and ``!=`` compare the " "values of two objects. The objects do not need to have the same type." msgstr "" +"Os operadores ``<``, ``>``, ``==``, ``>=``, ``<=`` e ``!=`` comparam os " +"valores de dois objetos. Os objetos não precisam ser do mesmo tipo." -#: ../../reference/expressions.rst:1468 +#: ../../reference/expressions.rst:1476 msgid "" "Chapter :ref:`objects` states that objects have a value (in addition to type " "and identity). The value of an object is a rather abstract notion in " @@ -1802,16 +2220,30 @@ msgid "" "object is. One can think of them as defining the value of an object " "indirectly, by means of their comparison implementation." msgstr "" +"O capítulo :ref:`objects` afirma que os objetos possuem um valor (além do " +"tipo e da identidade). O valor de um objeto é uma noção bastante abstrata em " +"Python: por exemplo, não existe um método de acesso canônico para o valor de " +"um objeto. Além disso, não há exigência de que o valor de um objeto seja " +"construído de uma maneira específica, por exemplo. composto por todos os " +"seus atributos de dados. Os operadores de comparação implementam uma noção " +"específica de qual é o valor de um objeto. Pode-se pensar neles como " +"definindo o valor de um objeto indiretamente, por meio de sua implementação " +"de comparação." -#: ../../reference/expressions.rst:1477 +#: ../../reference/expressions.rst:1485 msgid "" "Because all types are (direct or indirect) subtypes of :class:`object`, they " "inherit the default comparison behavior from :class:`object`. Types can " "customize their comparison behavior by implementing :dfn:`rich comparison " -"methods` like :meth:`__lt__`, described in :ref:`customization`." +"methods` like :meth:`~object.__lt__`, described in :ref:`customization`." msgstr "" +"Como todos os tipos são subtipos (diretos ou indiretos) de :class:`object`, " +"eles herdam o comportamento de comparação padrão de :class:`object`. Os " +"tipos podem personalizar seu comportamento de comparação " +"implementando :dfn:`métodos de comparação rica` como :meth:`~object.__lt__`, " +"descrito em :ref:`customization`." -#: ../../reference/expressions.rst:1483 +#: ../../reference/expressions.rst:1491 msgid "" "The default behavior for equality comparison (``==`` and ``!=``) is based on " "the identity of the objects. Hence, equality comparison of instances with " @@ -1820,15 +2252,24 @@ msgid "" "default behavior is the desire that all objects should be reflexive (i.e. " "``x is y`` implies ``x == y``)." msgstr "" +"O comportamento padrão para comparação de igualdade (``==`` e ``!=``) é " +"baseado na identidade dos objetos. Consequentemente, a comparação da " +"igualdade de instâncias com a mesma identidade resulta em igualdade, e a " +"comparação da igualdade de instâncias com identidades diferentes resulta em " +"desigualdade. Uma motivação para este comportamento padrão é o desejo de que " +"todos os objetos sejam reflexivos (ou seja, ``x is y`` implica ``x == y``)." -#: ../../reference/expressions.rst:1490 +#: ../../reference/expressions.rst:1498 msgid "" "A default order comparison (``<``, ``>``, ``<=``, and ``>=``) is not " "provided; an attempt raises :exc:`TypeError`. A motivation for this default " "behavior is the lack of a similar invariant as for equality." msgstr "" +"Uma comparação de ordem padrão (``<``, ``>``, ``<=`` e ``>=``) não é " +"fornecida; uma tentativa levanta :exc:`TypeError`. Uma motivação para este " +"comportamento padrão é a falta de um invariante semelhante ao da igualdade." -#: ../../reference/expressions.rst:1494 +#: ../../reference/expressions.rst:1502 msgid "" "The behavior of the default equality comparison, that instances with " "different identities are always unequal, may be in contrast to what types " @@ -1836,14 +2277,21 @@ msgid "" "equality. Such types will need to customize their comparison behavior, and " "in fact, a number of built-in types have done that." msgstr "" +"O comportamento da comparação de igualdade padrão, de que instâncias com " +"identidades diferentes são sempre desiguais, pode contrastar com o que os " +"tipos precisarão ter uma definição sensata de valor de objeto e igualdade " +"baseada em valor. Esses tipos precisarão personalizar seu comportamento de " +"comparação e, de fato, vários tipos embutidos fizeram isso." -#: ../../reference/expressions.rst:1500 +#: ../../reference/expressions.rst:1508 msgid "" "The following list describes the comparison behavior of the most important " "built-in types." msgstr "" +"A lista a seguir descreve o comportamento de comparação dos tipos embutidos " +"mais importantes." -#: ../../reference/expressions.rst:1503 +#: ../../reference/expressions.rst:1511 msgid "" "Numbers of built-in numeric types (:ref:`typesnumeric`) and of the standard " "library types :class:`fractions.Fraction` and :class:`decimal.Decimal` can " @@ -1852,8 +2300,14 @@ msgid "" "involved, they compare mathematically (algorithmically) correct without loss " "of precision." msgstr "" +"Números de tipos numéricos embutidos (:ref:`typesnumeric`) e dos tipos de " +"biblioteca padrão :class:`fractions.Fraction` e :class:`decimal.Decimal` " +"podem ser comparados dentro e entre seus tipos, com a restrição que os " +"números complexos não oferecem suporte a comparação de ordens. Dentro dos " +"limites dos tipos envolvidos, eles comparam matematicamente " +"(algoritmicamente) corretos sem perda de precisão." -#: ../../reference/expressions.rst:1510 +#: ../../reference/expressions.rst:1518 msgid "" "The not-a-number values ``float('NaN')`` and ``decimal.Decimal('NaN')`` are " "special. Any ordered comparison of a number to a not-a-number value is " @@ -1862,33 +2316,48 @@ msgid "" "3`` and ``x == x`` are all false, while ``x != x`` is true. This behavior " "is compliant with IEEE 754." msgstr "" +"Os valores não numéricos ``float('NaN')`` e ``decimal.Decimal('NaN')`` são " +"especiais. Qualquer comparação ordenada de um número com um valor que não é " +"um número é falsa. Uma implicação contraintuitiva é que os valores que não " +"são numéricos não são iguais a si mesmos. Por exemplo, se ``x = " +"float('NaN')``, ``3 < x``, ``x < 3`` e ``x == x`` são todos falsos, enquanto " +"``x != x`` é verdadeiro. Esse comportamento é compatível com IEEE 754." -#: ../../reference/expressions.rst:1517 +#: ../../reference/expressions.rst:1525 msgid "" -"``None`` and ``NotImplemented`` are singletons. :PEP:`8` advises that " +"``None`` and :data:`NotImplemented` are singletons. :PEP:`8` advises that " "comparisons for singletons should always be done with ``is`` or ``is not``, " "never the equality operators." msgstr "" +"``None`` e :data:`NotImplemented` são singletons. :PEP:`8` aconselha que " +"comparações para singletons devem sempre ser feitas com ``is`` ou ``is " +"not``, nunca com os operadores de igualdade." -#: ../../reference/expressions.rst:1521 +#: ../../reference/expressions.rst:1529 msgid "" "Binary sequences (instances of :class:`bytes` or :class:`bytearray`) can be " "compared within and across their types. They compare lexicographically " "using the numeric values of their elements." msgstr "" +"Sequências binárias (instâncias de :class:`bytes` ou :class:`bytearray`) " +"podem ser comparadas dentro e entre seus tipos. Eles comparam " +"lexicograficamente usando os valores numéricos de seus elementos." -#: ../../reference/expressions.rst:1525 +#: ../../reference/expressions.rst:1533 msgid "" "Strings (instances of :class:`str`) compare lexicographically using the " -"numerical Unicode code points (the result of the built-in function :func:" -"`ord`) of their characters. [#]_" +"numerical Unicode code points (the result of the built-in " +"function :func:`ord`) of their characters. [#]_" msgstr "" +"Strings (instâncias de :class:`str`) são comparadas lexicograficamente " +"usando os pontos de código Unicode numéricos (o resultado da função " +"embutida :func:`ord`) de seus caracteres. [#]_" -#: ../../reference/expressions.rst:1529 +#: ../../reference/expressions.rst:1537 msgid "Strings and binary sequences cannot be directly compared." -msgstr "" +msgstr "Strings e sequências binárias não podem ser comparadas diretamente." -#: ../../reference/expressions.rst:1531 +#: ../../reference/expressions.rst:1539 msgid "" "Sequences (instances of :class:`tuple`, :class:`list`, or :class:`range`) " "can be compared only within each of their types, with the restriction that " @@ -1896,28 +2365,44 @@ msgid "" "types results in inequality, and ordering comparison across these types " "raises :exc:`TypeError`." msgstr "" +"Sequências (instâncias de :class:`tuple`, :class:`list` ou :class:`range`) " +"podem ser comparadas apenas dentro de cada um de seus tipos, com a restrição " +"de que intervalos não oferecem suporte a comparação de ordem. A comparação " +"de igualdade entre esses tipos resulta em desigualdade, e a comparação " +"ordenada entre esses tipos levanta :exc:`TypeError`." -#: ../../reference/expressions.rst:1537 +#: ../../reference/expressions.rst:1545 msgid "" "Sequences compare lexicographically using comparison of corresponding " "elements. The built-in containers typically assume identical objects are " "equal to themselves. That lets them bypass equality tests for identical " "objects to improve performance and to maintain their internal invariants." msgstr "" +"As sequências são comparadas lexicograficamente usando a comparação de " +"elementos correspondentes. Os contêineres embutidos normalmente presumem que " +"objetos idênticos são iguais a si mesmos. Isso permite ignorar testes de " +"igualdade para objetos idênticos para melhorar o desempenho e manter seus " +"invariantes internos." -#: ../../reference/expressions.rst:1542 +#: ../../reference/expressions.rst:1550 msgid "" "Lexicographical comparison between built-in collections works as follows:" msgstr "" +"A comparação lexicográfica entre coleções embutidas funciona da seguinte " +"forma:" -#: ../../reference/expressions.rst:1544 +#: ../../reference/expressions.rst:1552 msgid "" "For two collections to compare equal, they must be of the same type, have " "the same length, and each pair of corresponding elements must compare equal " "(for example, ``[1,2] == (1,2)`` is false because the type is not the same)." msgstr "" +"Para que duas coleções sejam comparadas iguais, elas devem ser do mesmo " +"tipo, ter o mesmo comprimento e cada par de elementos correspondentes deve " +"ser comparado igual (por exemplo, ``[1,2] == (1,2)`` é false porque o tipo " +"não é o mesmo)." -#: ../../reference/expressions.rst:1549 +#: ../../reference/expressions.rst:1557 msgid "" "Collections that support order comparison are ordered the same as their " "first unequal elements (for example, ``[1,2,x] <= [1,2,y]`` has the same " @@ -1925,235 +2410,324 @@ msgid "" "shorter collection is ordered first (for example, ``[1,2] < [1,2,3]`` is " "true)." msgstr "" +"Coleções que oferecem suporte a comparação de ordem são ordenadas da mesma " +"forma que seus primeiros elementos desiguais (por exemplo, ``[1,2,x] <= " +"[1,2,y]`` tem o mesmo valor que ``x <= y``). Se um elemento correspondente " +"não existir, a coleção mais curta é ordenada primeiro (por exemplo, ``[1,2] " +"< [1,2,3]`` é verdadeiro)." -#: ../../reference/expressions.rst:1555 +#: ../../reference/expressions.rst:1563 msgid "" "Mappings (instances of :class:`dict`) compare equal if and only if they have " "equal ``(key, value)`` pairs. Equality comparison of the keys and values " "enforces reflexivity." msgstr "" +"Mapeamentos (instâncias de :class:`dict`) comparam iguais se e somente se " +"eles tiverem pares ``(chave, valor)`` iguais. A comparação de igualdade das " +"chaves e valores reforça a reflexividade." -#: ../../reference/expressions.rst:1559 +#: ../../reference/expressions.rst:1567 msgid "" "Order comparisons (``<``, ``>``, ``<=``, and ``>=``) raise :exc:`TypeError`." msgstr "" +"Comparações de ordem (``<``, ``>``, ``<=`` e ``>=``) " +"levantam :exc:`TypeError`." -#: ../../reference/expressions.rst:1561 +#: ../../reference/expressions.rst:1569 msgid "" "Sets (instances of :class:`set` or :class:`frozenset`) can be compared " "within and across their types." msgstr "" +"Conjuntos (instâncias de :class:`set` ou :class:`frozenset`) podem ser " +"comparados dentro e entre seus tipos." -#: ../../reference/expressions.rst:1564 +#: ../../reference/expressions.rst:1572 msgid "" "They define order comparison operators to mean subset and superset tests. " "Those relations do not define total orderings (for example, the two sets " "``{1,2}`` and ``{2,3}`` are not equal, nor subsets of one another, nor " "supersets of one another). Accordingly, sets are not appropriate arguments " -"for functions which depend on total ordering (for example, :func:`min`, :" -"func:`max`, and :func:`sorted` produce undefined results given a list of " -"sets as inputs)." -msgstr "" +"for functions which depend on total ordering (for " +"example, :func:`min`, :func:`max`, and :func:`sorted` produce undefined " +"results given a list of sets as inputs)." +msgstr "" +"Eles definem operadores de comparação de ordem para significar testes de " +"subconjunto e superconjunto. Essas relações não definem ordenações totais " +"(por exemplo, os dois conjuntos ``{1,2}`` e ``{2,3}`` não são iguais, nem " +"subconjuntos um do outro, nem superconjuntos um do outro). Consequentemente, " +"conjuntos não são argumentos apropriados para funções que dependem de " +"ordenação total (por exemplo, :func:`min`, :func:`max` e :func:`sorted` " +"produzem resultados indefinidos dada uma lista de conjuntos como entradas) ." -#: ../../reference/expressions.rst:1572 +#: ../../reference/expressions.rst:1580 msgid "Comparison of sets enforces reflexivity of its elements." -msgstr "" +msgstr "A comparação de conjuntos reforça a reflexividade de seus elementos." -#: ../../reference/expressions.rst:1574 +#: ../../reference/expressions.rst:1582 msgid "" "Most other built-in types have no comparison methods implemented, so they " "inherit the default comparison behavior." msgstr "" +"A maioria dos outros tipos embutidos não possui métodos de comparação " +"implementados, portanto, eles herdam o comportamento de comparação padrão." -#: ../../reference/expressions.rst:1577 +#: ../../reference/expressions.rst:1585 msgid "" "User-defined classes that customize their comparison behavior should follow " "some consistency rules, if possible:" msgstr "" +"As classes definidas pelo usuário que personalizam seu comportamento de " +"comparação devem seguir algumas regras de consistência, se possível:" -#: ../../reference/expressions.rst:1580 +#: ../../reference/expressions.rst:1588 msgid "" "Equality comparison should be reflexive. In other words, identical objects " "should compare equal:" msgstr "" +"A comparação da igualdade deve ser reflexiva. Em outras palavras, objetos " +"idênticos devem ser comparados iguais:" -#: ../../reference/expressions.rst:1583 +#: ../../reference/expressions.rst:1591 msgid "``x is y`` implies ``x == y``" -msgstr "" +msgstr "``x is y`` implica em ``x == y``" -#: ../../reference/expressions.rst:1585 +#: ../../reference/expressions.rst:1593 msgid "" "Comparison should be symmetric. In other words, the following expressions " "should have the same result:" msgstr "" +"A comparação deve ser simétrica. Em outras palavras, as seguintes expressões " +"devem ter o mesmo resultado:" -#: ../../reference/expressions.rst:1588 +#: ../../reference/expressions.rst:1596 msgid "``x == y`` and ``y == x``" -msgstr "" +msgstr "``x == y`` e ``y == x``" -#: ../../reference/expressions.rst:1590 +#: ../../reference/expressions.rst:1598 msgid "``x != y`` and ``y != x``" -msgstr "" +msgstr "``x != y`` e ``y != x``" -#: ../../reference/expressions.rst:1592 +#: ../../reference/expressions.rst:1600 msgid "``x < y`` and ``y > x``" -msgstr "" +msgstr "``x < y`` e ``y > x``" -#: ../../reference/expressions.rst:1594 +#: ../../reference/expressions.rst:1602 msgid "``x <= y`` and ``y >= x``" -msgstr "" +msgstr "``x <= y`` e ``y >= x``" -#: ../../reference/expressions.rst:1596 +#: ../../reference/expressions.rst:1604 msgid "" "Comparison should be transitive. The following (non-exhaustive) examples " "illustrate that:" msgstr "" +"A comparação deve ser transitiva. Os seguintes exemplos (não exaustivos) " +"ilustram isso:" -#: ../../reference/expressions.rst:1599 +#: ../../reference/expressions.rst:1607 msgid "``x > y and y > z`` implies ``x > z``" -msgstr "" +msgstr "``x > y and y > z`` implica em ``x > z``" -#: ../../reference/expressions.rst:1601 +#: ../../reference/expressions.rst:1609 msgid "``x < y and y <= z`` implies ``x < z``" -msgstr "" +msgstr "``x < y and y <= z`` implica em ``x < z``" -#: ../../reference/expressions.rst:1603 +#: ../../reference/expressions.rst:1611 msgid "" "Inverse comparison should result in the boolean negation. In other words, " "the following expressions should have the same result:" msgstr "" +"A comparação inversa deve resultar na negação booleana. Em outras palavras, " +"as seguintes expressões devem ter o mesmo resultado:" -#: ../../reference/expressions.rst:1606 +#: ../../reference/expressions.rst:1614 msgid "``x == y`` and ``not x != y``" -msgstr "" +msgstr "``x == y`` e ``not x != y``" -#: ../../reference/expressions.rst:1608 +#: ../../reference/expressions.rst:1616 msgid "``x < y`` and ``not x >= y`` (for total ordering)" -msgstr "" +msgstr "``x < y`` e ``not x >= y`` (pra classificação total)" -#: ../../reference/expressions.rst:1610 +#: ../../reference/expressions.rst:1618 msgid "``x > y`` and ``not x <= y`` (for total ordering)" -msgstr "" +msgstr "``x > y`` e ``not x <= y`` (pra classificação total)" -#: ../../reference/expressions.rst:1612 +#: ../../reference/expressions.rst:1620 msgid "" "The last two expressions apply to totally ordered collections (e.g. to " -"sequences, but not to sets or mappings). See also the :func:`~functools." -"total_ordering` decorator." +"sequences, but not to sets or mappings). See also " +"the :func:`~functools.total_ordering` decorator." msgstr "" +"As duas últimas expressões aplicam-se a coleções totalmente ordenadas (por " +"exemplo, a sequências, mas não a conjuntos ou mapeamentos). Veja também o " +"decorador :func:`~functools.total_ordering`." -#: ../../reference/expressions.rst:1616 +#: ../../reference/expressions.rst:1624 msgid "" "The :func:`hash` result should be consistent with equality. Objects that are " "equal should either have the same hash value, or be marked as unhashable." msgstr "" +"O resultado :func:`hash` deve ser consistente com a igualdade. Objetos " +"iguais devem ter o mesmo valor de hash ou ser marcados como não-hasheáveis." -#: ../../reference/expressions.rst:1620 +#: ../../reference/expressions.rst:1628 msgid "" "Python does not enforce these consistency rules. In fact, the not-a-number " "values are an example for not following these rules." msgstr "" +"Python não impõe essas regras de consistência. Na verdade, os valores não " +"numéricos são um exemplo de não cumprimento dessas regras." -#: ../../reference/expressions.rst:1629 +#: ../../reference/expressions.rst:1637 msgid "Membership test operations" -msgstr "" +msgstr "Operações de teste de pertinência" -#: ../../reference/expressions.rst:1631 +#: ../../reference/expressions.rst:1639 msgid "" "The operators :keyword:`in` and :keyword:`not in` test for membership. ``x " "in s`` evaluates to ``True`` if *x* is a member of *s*, and ``False`` " "otherwise. ``x not in s`` returns the negation of ``x in s``. All built-in " -"sequences and set types support this as well as dictionary, for which :" -"keyword:`!in` tests whether the dictionary has a given key. For container " -"types such as list, tuple, set, frozenset, dict, or collections.deque, the " -"expression ``x in y`` is equivalent to ``any(x is e or x == e for e in y)``." -msgstr "" - -#: ../../reference/expressions.rst:1639 +"sequences and set types support this as well as dictionary, for " +"which :keyword:`!in` tests whether the dictionary has a given key. For " +"container types such as list, tuple, set, frozenset, dict, or " +"collections.deque, the expression ``x in y`` is equivalent to ``any(x is e " +"or x == e for e in y)``." +msgstr "" +"Os operadores :keyword:`in` e :keyword:`not in` testam se um operando é " +"membro ou não de outro. ``x in s`` é avaliado como ``True`` se *x* for " +"membro de *s*, e ``False`` caso contrário. ``x not in s`` retorna a negação " +"de ``x in s``. Todas as sequências e tipos de conjuntos embutidos oferecem " +"suporte a isso, assim como o dicionário, para o qual :keyword:`!in` testa se " +"o dicionário tem uma determinada chave. Para tipos de contêiner como list, " +"tuple, set, frozenset, dict ou Collections.deque, a expressão ``x in y`` é " +"equivalente a ``any(x is e or x == e for e in y)``." + +#: ../../reference/expressions.rst:1647 msgid "" "For the string and bytes types, ``x in y`` is ``True`` if and only if *x* is " "a substring of *y*. An equivalent test is ``y.find(x) != -1``. Empty " "strings are always considered to be a substring of any other string, so " "``\"\" in \"abc\"`` will return ``True``." msgstr "" +"Para os tipos string e bytes, ``x in y`` é ``True`` se e somente se *x* for " +"uma substring de *y*. Um teste equivalente é ``y.find(x) != -1``. Strings " +"vazias são sempre consideradas uma substring de qualquer outra string, então " +"``\"\" in \"abc\"`` retornará ``True``." -#: ../../reference/expressions.rst:1644 +#: ../../reference/expressions.rst:1652 msgid "" -"For user-defined classes which define the :meth:`__contains__` method, ``x " -"in y`` returns ``True`` if ``y.__contains__(x)`` returns a true value, and " -"``False`` otherwise." +"For user-defined classes which define the :meth:`~object.__contains__` " +"method, ``x in y`` returns ``True`` if ``y.__contains__(x)`` returns a true " +"value, and ``False`` otherwise." msgstr "" +"Para classes definidas pelo usuário que definem o " +"método :meth:`~object.__contains__`, ``x in y`` retorna ``True`` se " +"``y.__contains__(x)`` retorna um valor verdadeiro, e ``False`` caso " +"contrário." -#: ../../reference/expressions.rst:1648 +#: ../../reference/expressions.rst:1656 msgid "" -"For user-defined classes which do not define :meth:`__contains__` but do " -"define :meth:`__iter__`, ``x in y`` is ``True`` if some value ``z``, for " -"which the expression ``x is z or x == z`` is true, is produced while " -"iterating over ``y``. If an exception is raised during the iteration, it is " -"as if :keyword:`in` raised that exception." +"For user-defined classes which do not define :meth:`~object.__contains__` " +"but do define :meth:`~object.__iter__`, ``x in y`` is ``True`` if some value " +"``z``, for which the expression ``x is z or x == z`` is true, is produced " +"while iterating over ``y``. If an exception is raised during the iteration, " +"it is as if :keyword:`in` raised that exception." msgstr "" +"Para classes definidas pelo usuário que não " +"definem :meth:`~object.__contains__`, mas definem :meth:`~object.__iter__`, " +"``x in y`` é ``True`` se algum valor ``z``, para a qual a expressão ``x is z " +"or x == z`` é verdadeira, é produzida durante a iteração sobre ``y``. Se uma " +"exceção for levantada durante a iteração, é como se :keyword:`in` tivesse " +"levantado essa exceção." -#: ../../reference/expressions.rst:1654 +#: ../../reference/expressions.rst:1662 msgid "" -"Lastly, the old-style iteration protocol is tried: if a class defines :meth:" -"`__getitem__`, ``x in y`` is ``True`` if and only if there is a non-negative " -"integer index *i* such that ``x is y[i] or x == y[i]``, and no lower integer " -"index raises the :exc:`IndexError` exception. (If any other exception is " -"raised, it is as if :keyword:`in` raised that exception)." +"Lastly, the old-style iteration protocol is tried: if a class " +"defines :meth:`~object.__getitem__`, ``x in y`` is ``True`` if and only if " +"there is a non-negative integer index *i* such that ``x is y[i] or x == " +"y[i]``, and no lower integer index raises the :exc:`IndexError` exception. " +"(If any other exception is raised, it is as if :keyword:`in` raised that " +"exception)." msgstr "" +"Por último, o protocolo de iteração de estilo antigo é tentado: se uma " +"classe define :meth:`~object.__getitem__`, ``x in y`` é ``True`` se, e " +"somente se, houver um índice inteiro não negativo *i* tal que ``x is y[i] or " +"x == y[i]``, e nenhum índice inteiro inferior levanta a " +"exceção :exc:`IndexError`. (Se qualquer outra exceção for levantada, é como " +"se :keyword:`in` levantasse essa exceção)." -#: ../../reference/expressions.rst:1666 +#: ../../reference/expressions.rst:1674 msgid "" "The operator :keyword:`not in` is defined to have the inverse truth value " "of :keyword:`in`." msgstr "" +"O operador :keyword:`not in` é definido para ter o valor verdade inverso " +"de :keyword:`in`." -#: ../../reference/expressions.rst:1679 +#: ../../reference/expressions.rst:1687 msgid "Identity comparisons" -msgstr "" +msgstr "Comparações de identidade" -#: ../../reference/expressions.rst:1681 +#: ../../reference/expressions.rst:1689 msgid "" "The operators :keyword:`is` and :keyword:`is not` test for an object's " "identity: ``x is y`` is true if and only if *x* and *y* are the same " "object. An Object's identity is determined using the :meth:`id` function. " "``x is not y`` yields the inverse truth value. [#]_" msgstr "" +"Os operadores :keyword:`is` e :keyword:`is not` testam a identidade de um " +"objeto: ``x is y`` é verdadeiro se, e somente se, *x* e *y* são o mesmo " +"objeto. A identidade de um objeto é determinada usando a função :meth:`id`. " +"``x is not y`` produz o valor verdade inverso. [#]_" -#: ../../reference/expressions.rst:1693 +#: ../../reference/expressions.rst:1701 msgid "Boolean operations" -msgstr "" +msgstr "Operações booleanas" -#: ../../reference/expressions.rst:1704 +#: ../../reference/expressions.rst:1712 msgid "" "In the context of Boolean operations, and also when expressions are used by " "control flow statements, the following values are interpreted as false: " "``False``, ``None``, numeric zero of all types, and empty strings and " "containers (including strings, tuples, lists, dictionaries, sets and " "frozensets). All other values are interpreted as true. User-defined " -"objects can customize their truth value by providing a :meth:`__bool__` " -"method." +"objects can customize their truth value by providing " +"a :meth:`~object.__bool__` method." msgstr "" +"No contexto de operações booleanas, e também quando expressões são usadas " +"por instruções de fluxo de controle, os seguintes valores são interpretados " +"como falsos: ``False``, ``None``, zero numérico de todos os tipos e strings " +"e contêineres vazios (incluindo strings, tuplas, listas, dicionários, " +"conjuntos e frozensets). Todos os outros valores são interpretados como " +"verdadeiros. Objetos definidos pelo usuário podem personalizar seu valor " +"verdade fornecendo um método :meth:`~object.__bool__`." -#: ../../reference/expressions.rst:1713 +#: ../../reference/expressions.rst:1721 msgid "" "The operator :keyword:`not` yields ``True`` if its argument is false, " "``False`` otherwise." msgstr "" +"O operador :keyword:`not` produz ``True`` se seu argumento for falso, " +"``False`` caso contrário." -#: ../../reference/expressions.rst:1718 +#: ../../reference/expressions.rst:1726 msgid "" "The expression ``x and y`` first evaluates *x*; if *x* is false, its value " "is returned; otherwise, *y* is evaluated and the resulting value is returned." msgstr "" +"A expressão ``x and y`` primeiro avalia *x*; se *x* for falso, seu valor " +"será retornado; caso contrário, *y* será avaliado e o valor resultante será " +"retornado." -#: ../../reference/expressions.rst:1723 +#: ../../reference/expressions.rst:1731 msgid "" "The expression ``x or y`` first evaluates *x*; if *x* is true, its value is " "returned; otherwise, *y* is evaluated and the resulting value is returned." msgstr "" +"A expressão ``x or y`` primeiro avalia *x*; se *x* for verdadeiro, seu valor " +"será retornado; caso contrário, *y* será avaliado e o valor resultante será " +"retornado." -#: ../../reference/expressions.rst:1726 +#: ../../reference/expressions.rst:1734 msgid "" "Note that neither :keyword:`and` nor :keyword:`or` restrict the value and " "type they return to ``False`` and ``True``, but rather return the last " @@ -2163,135 +2737,184 @@ msgid "" "create a new value, it returns a boolean value regardless of the type of its " "argument (for example, ``not 'foo'`` produces ``False`` rather than ``''``.)" msgstr "" +"Observe que nem :keyword:`and` nem :keyword:`or` restringem o valor e o tipo " +"que retornam para ``False`` e ``True``, mas sim retornam o último argumento " +"avaliado. Isso às vezes é útil, por exemplo, se ``s`` é uma string que deve " +"ser substituída por um valor padrão se estiver vazia, a expressão ``s or " +"'foo'`` produz o valor desejado. Como :keyword:`not` precisa criar um novo " +"valor, ele retorna um valor booleano independente do tipo de seu argumento " +"(por exemplo, ``not 'foo'`` produz ``False`` em vez de ``''``.)" -#: ../../reference/expressions.rst:1742 +#: ../../reference/expressions.rst:1750 msgid "Assignment expressions" msgstr "Expressões de atribuição" -#: ../../reference/expressions.rst:1747 +#: ../../reference/expressions.rst:1755 msgid "" "An assignment expression (sometimes also called a \"named expression\" or " -"\"walrus\") assigns an :token:`~python-grammar:expression` to an :token:" -"`~python-grammar:identifier`, while also returning the value of the :token:" -"`~python-grammar:expression`." +"\"walrus\") assigns an :token:`~python-grammar:expression` to " +"an :token:`~python-grammar:identifier`, while also returning the value of " +"the :token:`~python-grammar:expression`." msgstr "" +"Uma expressão de atribuição (às vezes também chamada de \"expressão " +"nomeada\" ou \"morsa\") atribui uma :token:`~python-grammar:expression` a " +"um :token:`~python-grammar:identifier`, ao mesmo tempo que retorna o valor " +"de :token:`~python-grammar:expression`." -#: ../../reference/expressions.rst:1752 +#: ../../reference/expressions.rst:1760 msgid "One common use case is when handling matched regular expressions:" msgstr "" +"Um caso de uso comum é ao lidar com expressões regulares correspondentes:" -#: ../../reference/expressions.rst:1759 +#: ../../reference/expressions.rst:1767 msgid "Or, when processing a file stream in chunks:" -msgstr "" +msgstr "Ou, ao processar um fluxo de arquivos em partes:" -#: ../../reference/expressions.rst:1766 +#: ../../reference/expressions.rst:1774 msgid "" -"Assignment expressions must be surrounded by parentheses when used as sub-" -"expressions in slicing, conditional, lambda, keyword-argument, and " -"comprehension-if expressions and in ``assert`` and ``with`` statements. In " -"all other places where they can be used, parentheses are not required, " -"including in ``if`` and ``while`` statements." +"Assignment expressions must be surrounded by parentheses when used as " +"expression statements and when used as sub-expressions in slicing, " +"conditional, lambda, keyword-argument, and comprehension-if expressions and " +"in ``assert``, ``with``, and ``assignment`` statements. In all other places " +"where they can be used, parentheses are not required, including in ``if`` " +"and ``while`` statements." msgstr "" +"As expressões de atribuição devem ser colocadas entre parênteses quando " +"usadas como instruções de expressão e quando usadas como subexpressões em " +"expressões de fatiamento, condicionais, de lambda, de argumento nomeado e de " +"``if`` de compreensão e em instruções ``assert``, ``with`` e ``assignment``. " +"Em todos os outros lugares onde eles podem ser usados, os parênteses não são " +"necessários, inclusive nas instruções ``if`` e ``while``." -#: ../../reference/expressions.rst:1773 +#: ../../reference/expressions.rst:1782 msgid "See :pep:`572` for more details about assignment expressions." -msgstr "" +msgstr "Veja :pep:`572` para mais detalhes sobre expressões de atribuição." -#: ../../reference/expressions.rst:1780 +#: ../../reference/expressions.rst:1789 msgid "Conditional expressions" -msgstr "" +msgstr "Expressões condicionais" -#: ../../reference/expressions.rst:1792 +#: ../../reference/expressions.rst:1801 msgid "" "Conditional expressions (sometimes called a \"ternary operator\") have the " "lowest priority of all Python operations." msgstr "" +"Expressões condicionais (às vezes chamadas de \"operador ternário\") têm a " +"prioridade mais baixa de todas as operações Python." -#: ../../reference/expressions.rst:1795 +#: ../../reference/expressions.rst:1804 msgid "" "The expression ``x if C else y`` first evaluates the condition, *C* rather " "than *x*. If *C* is true, *x* is evaluated and its value is returned; " "otherwise, *y* is evaluated and its value is returned." msgstr "" +"A expressão ``x if C else y`` primeiro avalia a condição, *C* em vez de *x*. " +"Se *C* for verdadeiro, *x* é avaliado e seu valor é retornado; caso " +"contrário, *y* será avaliado e seu valor será retornado." -#: ../../reference/expressions.rst:1799 +#: ../../reference/expressions.rst:1808 msgid "See :pep:`308` for more details about conditional expressions." -msgstr "" +msgstr "Veja :pep:`308` para mais detalhes sobre expressões condicionais." -#: ../../reference/expressions.rst:1806 +#: ../../reference/expressions.rst:1815 msgid "Lambdas" -msgstr "" +msgstr "Lambdas" -#: ../../reference/expressions.rst:1817 +#: ../../reference/expressions.rst:1826 msgid "" "Lambda expressions (sometimes called lambda forms) are used to create " "anonymous functions. The expression ``lambda parameters: expression`` yields " "a function object. The unnamed object behaves like a function object " "defined with:" msgstr "" +"Expressões lambda (às vezes chamadas de funções lambda) são usadas para " +"criar funções anônimas. A expressão ``lambda parameters: expression`` produz " +"um objeto função. O objeto sem nome se comporta como um objeto de função " +"definido com:" -#: ../../reference/expressions.rst:1826 +#: ../../reference/expressions.rst:1835 msgid "" "See section :ref:`function` for the syntax of parameter lists. Note that " "functions created with lambda expressions cannot contain statements or " "annotations." msgstr "" +"Veja a seção :ref:`function` para a sintaxe das listas de parâmetros. " +"Observe que as funções criadas com expressões lambda não podem conter " +"instruções ou anotações." -#: ../../reference/expressions.rst:1834 +#: ../../reference/expressions.rst:1843 msgid "Expression lists" -msgstr "" +msgstr "Listas de expressões" -#: ../../reference/expressions.rst:1848 +#: ../../reference/expressions.rst:1857 msgid "" "Except when part of a list or set display, an expression list containing at " "least one comma yields a tuple. The length of the tuple is the number of " "expressions in the list. The expressions are evaluated from left to right." msgstr "" +"Exceto quando parte de uma sintaxe de criação de lista ou conjunto, uma " +"lista de expressões contendo pelo menos uma vírgula produz uma tupla. O " +"comprimento da tupla é o número de expressões na lista. As expressões são " +"avaliadas da esquerda para a direita." -#: ../../reference/expressions.rst:1857 +#: ../../reference/expressions.rst:1866 msgid "" "An asterisk ``*`` denotes :dfn:`iterable unpacking`. Its operand must be " "an :term:`iterable`. The iterable is expanded into a sequence of items, " "which are included in the new tuple, list, or set, at the site of the " "unpacking." msgstr "" +"Um asterisco ``*`` denota :dfn:`desempacotamento de iterável`. Seu operando " +"deve ser um :term:`iterável`. O iterável é expandido em uma sequência de " +"itens, que são incluídos na nova tupla, lista ou conjunto, no local do " +"desempacotamento." -#: ../../reference/expressions.rst:1862 +#: ../../reference/expressions.rst:1871 msgid "" "Iterable unpacking in expression lists, originally proposed by :pep:`448`." msgstr "" +"Desempacotamento de iterável em listas de expressões, originalmente proposta " +"pela :pep:`448`." -#: ../../reference/expressions.rst:1867 +#: ../../reference/expressions.rst:1876 msgid "" -"The trailing comma is required only to create a single tuple (a.k.a. a " -"*singleton*); it is optional in all other cases. A single expression " -"without a trailing comma doesn't create a tuple, but rather yields the value " -"of that expression. (To create an empty tuple, use an empty pair of " -"parentheses: ``()``.)" +"A trailing comma is required only to create a one-item tuple, such as " +"``1,``; it is optional in all other cases. A single expression without a " +"trailing comma doesn't create a tuple, but rather yields the value of that " +"expression. (To create an empty tuple, use an empty pair of parentheses: " +"``()``.)" msgstr "" +"Uma vírgula final é necessária apenas para criar uma tupla de um item, como " +"``1,``; é opcional em todos os outros casos. Uma única expressão sem vírgula " +"final não cria uma tupla, mas produz o valor dessa expressão. (Para criar " +"uma tupla vazia, use um par vazio de parênteses: ``()``.)" -#: ../../reference/expressions.rst:1877 +#: ../../reference/expressions.rst:1887 msgid "Evaluation order" -msgstr "" +msgstr "Ordem de avaliação" -#: ../../reference/expressions.rst:1881 +#: ../../reference/expressions.rst:1891 msgid "" "Python evaluates expressions from left to right. Notice that while " "evaluating an assignment, the right-hand side is evaluated before the left-" "hand side." msgstr "" +"Python avalia expressões da esquerda para a direita. Observe que ao avaliar " +"uma tarefa, o lado direito é avaliado antes do lado esquerdo." -#: ../../reference/expressions.rst:1884 +#: ../../reference/expressions.rst:1894 msgid "" "In the following lines, expressions will be evaluated in the arithmetic " "order of their suffixes::" msgstr "" +"Nas linhas a seguir, as expressões serão avaliadas na ordem aritmética de " +"seus sufixos::" -#: ../../reference/expressions.rst:1898 +#: ../../reference/expressions.rst:1908 msgid "Operator precedence" -msgstr "" +msgstr "Precedência de operadores" -#: ../../reference/expressions.rst:1903 +#: ../../reference/expressions.rst:1913 msgid "" "The following table summarizes the operator precedence in Python, from " "highest precedence (most binding) to lowest precedence (least binding). " @@ -2300,115 +2923,130 @@ msgid "" "left to right (except for exponentiation and conditional expressions, which " "group from right to left)." msgstr "" +"A tabela a seguir resume a precedência de operadores no Python, da " +"precedência mais alta (mais vinculativa) à precedência mais baixa (menos " +"vinculativa). Os operadores na mesma caixa têm a mesma precedência. A menos " +"que a sintaxe seja fornecida explicitamente, os operadores são binários. Os " +"operadores na mesma caixa agrupam-se da esquerda para a direita (exceto " +"exponenciação e expressões condicionais, que agrupam da direita para a " +"esquerda)." -#: ../../reference/expressions.rst:1909 +#: ../../reference/expressions.rst:1919 msgid "" "Note that comparisons, membership tests, and identity tests, all have the " "same precedence and have a left-to-right chaining feature as described in " "the :ref:`comparisons` section." msgstr "" +"Observe que comparações, testes de pertinência e testes de identidade têm " +"todos a mesma precedência e possuem um recurso de encadeamento da esquerda " +"para a direita, conforme descrito na seção :ref:`comparisons`." -#: ../../reference/expressions.rst:1915 +#: ../../reference/expressions.rst:1925 msgid "Operator" -msgstr "" +msgstr "Operador" -#: ../../reference/expressions.rst:1915 +#: ../../reference/expressions.rst:1925 msgid "Description" msgstr "Descrição" -#: ../../reference/expressions.rst:1917 +#: ../../reference/expressions.rst:1927 msgid "``(expressions...)``," -msgstr "" +msgstr "``(expressions...)``," -#: ../../reference/expressions.rst:1919 +#: ../../reference/expressions.rst:1929 msgid "``[expressions...]``, ``{key: value...}``, ``{expressions...}``" -msgstr "" +msgstr "``[expressões...]``, ``{chave: valor...}``, ``{expressões...}``" -#: ../../reference/expressions.rst:1917 +#: ../../reference/expressions.rst:1927 msgid "" "Binding or parenthesized expression, list display, dictionary display, set " "display" msgstr "" +"Expressão entre parênteses ou de ligação, sintaxe de criação de lista, " +"sintaxe de criação de dicionário, sintaxe de criação de conjunto" -#: ../../reference/expressions.rst:1923 +#: ../../reference/expressions.rst:1933 msgid "``x[index]``, ``x[index:index]``, ``x(arguments...)``, ``x.attribute``" msgstr "" +"``x[índice]``, ``x[índice:índice]``, ``x(argumentos...)``, ``x.atributo``" -#: ../../reference/expressions.rst:1923 +#: ../../reference/expressions.rst:1933 msgid "Subscription, slicing, call, attribute reference" -msgstr "" +msgstr "subscrição, fatiamento, chamada, referência a atributo" -#: ../../reference/expressions.rst:1926 +#: ../../reference/expressions.rst:1936 msgid ":keyword:`await x `" -msgstr "" +msgstr ":keyword:`await x `" -#: ../../reference/expressions.rst:1928 +#: ../../reference/expressions.rst:1938 msgid "``**``" msgstr "``**``" -#: ../../reference/expressions.rst:1928 +#: ../../reference/expressions.rst:1938 msgid "Exponentiation [#]_" -msgstr "" +msgstr "Exponenciação [#]_" -#: ../../reference/expressions.rst:1930 +#: ../../reference/expressions.rst:1940 msgid "``+x``, ``-x``, ``~x``" -msgstr "" +msgstr "``+x``, ``-x``, ``~x``" -#: ../../reference/expressions.rst:1930 +#: ../../reference/expressions.rst:1940 msgid "Positive, negative, bitwise NOT" -msgstr "" +msgstr "positivo, negativo, NEGAÇÃO (NOT) bit a bit" -#: ../../reference/expressions.rst:1932 +#: ../../reference/expressions.rst:1942 msgid "``*``, ``@``, ``/``, ``//``, ``%``" -msgstr "" +msgstr "``*``, ``@``, ``/``, ``//``, ``%``" -#: ../../reference/expressions.rst:1932 +#: ../../reference/expressions.rst:1942 msgid "" "Multiplication, matrix multiplication, division, floor division, remainder " "[#]_" msgstr "" +"Multiplicação, multiplicação de matrizes, divisão, divisão pelo piso, resto " +"[#]_" -#: ../../reference/expressions.rst:1936 +#: ../../reference/expressions.rst:1946 msgid "``+``, ``-``" -msgstr "" +msgstr "``+``, ``-``" -#: ../../reference/expressions.rst:1936 +#: ../../reference/expressions.rst:1946 msgid "Addition and subtraction" -msgstr "" +msgstr "Adição e subtração" -#: ../../reference/expressions.rst:1938 +#: ../../reference/expressions.rst:1948 msgid "``<<``, ``>>``" -msgstr "" +msgstr "``<<``, ``>>``" -#: ../../reference/expressions.rst:1938 +#: ../../reference/expressions.rst:1948 msgid "Shifts" -msgstr "" +msgstr "Deslocamentos" -#: ../../reference/expressions.rst:1940 +#: ../../reference/expressions.rst:1950 msgid "``&``" msgstr "``&``" -#: ../../reference/expressions.rst:1940 +#: ../../reference/expressions.rst:1950 msgid "Bitwise AND" -msgstr "" +msgstr "E (AND) bit a bit" -#: ../../reference/expressions.rst:1942 +#: ../../reference/expressions.rst:1952 msgid "``^``" msgstr "``^``" -#: ../../reference/expressions.rst:1942 +#: ../../reference/expressions.rst:1952 msgid "Bitwise XOR" -msgstr "" +msgstr "OU EXCLUSIVO (XOR) bit a bit" -#: ../../reference/expressions.rst:1944 +#: ../../reference/expressions.rst:1954 msgid "``|``" msgstr "``|``" -#: ../../reference/expressions.rst:1944 +#: ../../reference/expressions.rst:1954 msgid "Bitwise OR" -msgstr "" +msgstr "OU (OR) bit a bit" -#: ../../reference/expressions.rst:1946 +#: ../../reference/expressions.rst:1956 msgid "" ":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " "``<=``, ``>``, ``>=``, ``!=``, ``==``" @@ -2416,63 +3054,63 @@ msgstr "" ":keyword:`in`, :keyword:`not in`, :keyword:`is`, :keyword:`is not`, ``<``, " "``<=``, ``>``, ``>=``, ``!=``, ``==``" -#: ../../reference/expressions.rst:1946 +#: ../../reference/expressions.rst:1956 msgid "Comparisons, including membership tests and identity tests" -msgstr "" +msgstr "Comparações, incluindo testes de pertinência e testes de identidade" -#: ../../reference/expressions.rst:1950 +#: ../../reference/expressions.rst:1960 msgid ":keyword:`not x `" -msgstr "" +msgstr ":keyword:`not x `" -#: ../../reference/expressions.rst:1950 +#: ../../reference/expressions.rst:1960 msgid "Boolean NOT" -msgstr "" +msgstr "NEGAÇÃO (NOT) booleana" -#: ../../reference/expressions.rst:1952 +#: ../../reference/expressions.rst:1962 msgid ":keyword:`and`" msgstr ":keyword:`and`" -#: ../../reference/expressions.rst:1952 +#: ../../reference/expressions.rst:1962 msgid "Boolean AND" -msgstr "" +msgstr "E (AND) booleano" -#: ../../reference/expressions.rst:1954 +#: ../../reference/expressions.rst:1964 msgid ":keyword:`or`" msgstr ":keyword:`or`" -#: ../../reference/expressions.rst:1954 +#: ../../reference/expressions.rst:1964 msgid "Boolean OR" -msgstr "" +msgstr "OU (OR) booleano" -#: ../../reference/expressions.rst:1956 +#: ../../reference/expressions.rst:1966 msgid ":keyword:`if ` -- :keyword:`!else`" msgstr ":keyword:`if ` -- :keyword:`!else`" -#: ../../reference/expressions.rst:1956 +#: ../../reference/expressions.rst:1966 msgid "Conditional expression" -msgstr "" +msgstr "Expressão condicional" -#: ../../reference/expressions.rst:1958 +#: ../../reference/expressions.rst:1968 msgid ":keyword:`lambda`" msgstr ":keyword:`lambda`" -#: ../../reference/expressions.rst:1958 +#: ../../reference/expressions.rst:1968 msgid "Lambda expression" -msgstr "" +msgstr "Expressão lambda" -#: ../../reference/expressions.rst:1960 +#: ../../reference/expressions.rst:1970 msgid "``:=``" msgstr "``:=``" -#: ../../reference/expressions.rst:1960 +#: ../../reference/expressions.rst:1970 msgid "Assignment expression" -msgstr "" +msgstr "Expressão de atribuição" -#: ../../reference/expressions.rst:1965 +#: ../../reference/expressions.rst:1975 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../reference/expressions.rst:1966 +#: ../../reference/expressions.rst:1976 msgid "" "While ``abs(x%y) < abs(y)`` is true mathematically, for floats it may not be " "true numerically due to roundoff. For example, and assuming a platform on " @@ -2483,16 +3121,29 @@ msgid "" "the first argument instead, and so returns ``-1e-100`` in this case. Which " "approach is more appropriate depends on the application." msgstr "" +"Embora ``abs(x%y) < abs(y)`` seja verdadeiro matematicamente, para números " +"flutuantes pode não ser verdadeiro numericamente devido ao arredondamento. " +"Por exemplo, e presumindo uma plataforma na qual um float Python seja um " +"número de precisão dupla IEEE 754, para que ``-1e-100 % 1e100`` tenha o " +"mesmo sinal que ``1e100``, o resultado calculado é ``-1e-100 + 1e100``, que " +"é numericamente exatamente igual a ``1e100``. A função :func:`math.fmod` " +"retorna um resultado cujo sinal corresponde ao sinal do primeiro argumento " +"e, portanto, retorna ``-1e-100`` neste caso. Qual abordagem é mais " +"apropriada depende da aplicação." -#: ../../reference/expressions.rst:1975 +#: ../../reference/expressions.rst:1985 msgid "" "If x is very close to an exact integer multiple of y, it's possible for ``x//" "y`` to be one larger than ``(x-x%y)//y`` due to rounding. In such cases, " "Python returns the latter result, in order to preserve that ``divmod(x,y)[0] " "* y + x % y`` be very close to ``x``." msgstr "" +"Se x estiver muito próximo de um múltiplo inteiro exato de y, é possível que " +"``x//y`` seja maior que ``(x-x%y)//y`` devido ao arredondamento. Nesses " +"casos, Python retorna o último resultado, para preservar que ``divmod(x,y)" +"[0] * y + x % y`` esteja muito próximo de ``x``." -#: ../../reference/expressions.rst:1980 +#: ../../reference/expressions.rst:1990 msgid "" "The Unicode standard distinguishes between :dfn:`code points` (e.g. U+0041) " "and :dfn:`abstract characters` (e.g. \"LATIN CAPITAL LETTER A\"). While most " @@ -2505,64 +3156,91 @@ msgid "" "LETTER C), followed by a :dfn:`combining character` at code position U+0327 " "(COMBINING CEDILLA)." msgstr "" +"O padrão Unicode distingue entre :dfn:`pontos de código` (por exemplo, " +"U+0041) e :dfn:`caracteres abstratos` (por exemplo, \"LATIN CAPITAL LETTER " +"A\"). Embora a maioria dos caracteres abstratos em Unicode sejam " +"representados apenas por meio de um ponto de código, há vários caracteres " +"abstratos que também podem ser representados por meio de uma sequência de " +"mais de um ponto de código. Por exemplo, o caractere abstrato \"LATIN " +"CAPITAL LETTER C WITH CEDILLA\" pode ser representado como um " +"único :dfn:`caractere pré-composto` na posição de código U+00C7, ou como uma " +"sequência de um :dfn:`caractere base` na posição de código U+0043 (LATIN " +"CAPITAL LETTER C), seguido por um :dfn:`caractere de combinação` na posição " +"de código U+0327 (COMBINING CEDILLA)." -#: ../../reference/expressions.rst:1991 +#: ../../reference/expressions.rst:2001 msgid "" "The comparison operators on strings compare at the level of Unicode code " "points. This may be counter-intuitive to humans. For example, ``\"\\u00C7\" " "== \"\\u0043\\u0327\"`` is ``False``, even though both strings represent the " "same abstract character \"LATIN CAPITAL LETTER C WITH CEDILLA\"." msgstr "" +"Os operadores de comparação em strings são comparados no nível dos pontos de " +"código Unicode. Isso pode ser contraintuitivo para os humanos. Por exemplo, " +"``\"\\u00C7\" == \"\\u0043\\u0327\"`` é ``False``, mesmo que ambas as " +"strings representem o mesmo caractere abstrato \"LATIN CAPITAL LETTER C WITH " +"CEDILLA\"." -#: ../../reference/expressions.rst:1996 +#: ../../reference/expressions.rst:2006 msgid "" "To compare strings at the level of abstract characters (that is, in a way " "intuitive to humans), use :func:`unicodedata.normalize`." msgstr "" +"Para comparar strings no nível de caracteres abstratos (ou seja, de uma " +"forma intuitiva para humanos), use :func:`unicodedata.normalize`." -#: ../../reference/expressions.rst:1999 +#: ../../reference/expressions.rst:2009 msgid "" "Due to automatic garbage-collection, free lists, and the dynamic nature of " "descriptors, you may notice seemingly unusual behaviour in certain uses of " "the :keyword:`is` operator, like those involving comparisons between " "instance methods, or constants. Check their documentation for more info." msgstr "" +"Devido à coleta de lixo automática, às listas livres e à natureza dinâmica " +"dos descritores, você pode notar um comportamento aparentemente incomum em " +"certos usos do operador :keyword:`is`, como aqueles que envolvem comparações " +"entre métodos de instância ou constantes. Confira a documentação para obter " +"mais informações." -#: ../../reference/expressions.rst:2004 +#: ../../reference/expressions.rst:2014 msgid "" "The power operator ``**`` binds less tightly than an arithmetic or bitwise " "unary operator on its right, that is, ``2**-1`` is ``0.5``." msgstr "" +"O operador de potência ``**`` liga-se com menos força do que um operador " +"aritmético ou unário bit a bit à sua direita, ou seja, ``2**-1`` é ``0.5``." -#: ../../reference/expressions.rst:2007 +#: ../../reference/expressions.rst:2017 msgid "" "The ``%`` operator is also used for string formatting; the same precedence " "applies." msgstr "" +"O operador ``%`` também é usado para formatação de strings; a mesma " +"precedência se aplica." #: ../../reference/expressions.rst:8 ../../reference/expressions.rst:362 -#: ../../reference/expressions.rst:417 ../../reference/expressions.rst:1695 -#: ../../reference/expressions.rst:1782 ../../reference/expressions.rst:1808 -#: ../../reference/expressions.rst:1836 +#: ../../reference/expressions.rst:417 ../../reference/expressions.rst:1703 +#: ../../reference/expressions.rst:1791 ../../reference/expressions.rst:1817 +#: ../../reference/expressions.rst:1845 msgid "expression" msgstr "expressão" #: ../../reference/expressions.rst:8 msgid "BNF" -msgstr "" +msgstr "BNF" -#: ../../reference/expressions.rst:28 ../../reference/expressions.rst:1196 -#: ../../reference/expressions.rst:1244 +#: ../../reference/expressions.rst:28 ../../reference/expressions.rst:1204 +#: ../../reference/expressions.rst:1252 msgid "arithmetic" -msgstr "" +msgstr "aritmética" #: ../../reference/expressions.rst:28 msgid "conversion" -msgstr "" +msgstr "conversão" #: ../../reference/expressions.rst:51 msgid "atom" -msgstr "" +msgstr "átomo" #: ../../reference/expressions.rst:68 ../../reference/expressions.rst:82 msgid "name" @@ -2570,27 +3248,27 @@ msgstr "nome" #: ../../reference/expressions.rst:68 msgid "identifier" -msgstr "" +msgstr "identificador" -#: ../../reference/expressions.rst:74 ../../reference/expressions.rst:537 -#: ../../reference/expressions.rst:587 ../../reference/expressions.rst:709 -#: ../../reference/expressions.rst:755 ../../reference/expressions.rst:801 -#: ../../reference/expressions.rst:1233 ../../reference/expressions.rst:1279 -#: ../../reference/expressions.rst:1369 +#: ../../reference/expressions.rst:74 ../../reference/expressions.rst:538 +#: ../../reference/expressions.rst:588 ../../reference/expressions.rst:710 +#: ../../reference/expressions.rst:757 ../../reference/expressions.rst:803 +#: ../../reference/expressions.rst:1241 ../../reference/expressions.rst:1287 +#: ../../reference/expressions.rst:1377 msgid "exception" -msgstr "" +msgstr "exceção" #: ../../reference/expressions.rst:74 msgid "NameError" -msgstr "" +msgstr "NameError" #: ../../reference/expressions.rst:82 msgid "mangling" -msgstr "" +msgstr "desfiguração" #: ../../reference/expressions.rst:82 msgid "private" -msgstr "" +msgstr "privados" #: ../../reference/expressions.rst:82 msgid "names" @@ -2598,7 +3276,7 @@ msgstr "nomes" #: ../../reference/expressions.rst:104 msgid "literal" -msgstr "" +msgstr "literal" #: ../../reference/expressions.rst:117 ../../reference/expressions.rst:341 msgid "immutable" @@ -2615,159 +3293,159 @@ msgstr "tipo" #: ../../reference/expressions.rst:117 ../../reference/expressions.rst:244 #: ../../reference/expressions.rst:270 ../../reference/expressions.rst:298 #: ../../reference/expressions.rst:341 ../../reference/expressions.rst:362 -#: ../../reference/expressions.rst:525 ../../reference/expressions.rst:699 -#: ../../reference/expressions.rst:801 ../../reference/expressions.rst:824 -#: ../../reference/expressions.rst:897 ../../reference/expressions.rst:941 -#: ../../reference/expressions.rst:1089 ../../reference/expressions.rst:1102 -#: ../../reference/expressions.rst:1116 ../../reference/expressions.rst:1123 -#: ../../reference/expressions.rst:1660 ../../reference/expressions.rst:1846 +#: ../../reference/expressions.rst:526 ../../reference/expressions.rst:700 +#: ../../reference/expressions.rst:803 ../../reference/expressions.rst:832 +#: ../../reference/expressions.rst:905 ../../reference/expressions.rst:949 +#: ../../reference/expressions.rst:1097 ../../reference/expressions.rst:1110 +#: ../../reference/expressions.rst:1124 ../../reference/expressions.rst:1131 +#: ../../reference/expressions.rst:1668 ../../reference/expressions.rst:1855 msgid "object" msgstr "objeto" #: ../../reference/expressions.rst:133 msgid "parenthesized form" -msgstr "" +msgstr "forma entre parênteses" #: ../../reference/expressions.rst:133 ../../reference/expressions.rst:362 -#: ../../reference/expressions.rst:941 +#: ../../reference/expressions.rst:949 msgid "() (parentheses)" -msgstr "" +msgstr "() (parênteses)" #: ../../reference/expressions.rst:133 msgid "tuple display" -msgstr "" +msgstr "sintaxe de criação de tupla" #: ../../reference/expressions.rst:146 ../../reference/expressions.rst:244 msgid "empty" -msgstr "" +msgstr "vazia" -#: ../../reference/expressions.rst:146 ../../reference/expressions.rst:824 -#: ../../reference/expressions.rst:897 ../../reference/expressions.rst:1846 +#: ../../reference/expressions.rst:146 ../../reference/expressions.rst:832 +#: ../../reference/expressions.rst:905 ../../reference/expressions.rst:1855 msgid "tuple" msgstr "tupla" -#: ../../reference/expressions.rst:152 ../../reference/expressions.rst:1865 +#: ../../reference/expressions.rst:152 ../../reference/expressions.rst:1874 msgid "comma" -msgstr "" +msgstr "vírgula" #: ../../reference/expressions.rst:152 ../../reference/expressions.rst:244 #: ../../reference/expressions.rst:270 ../../reference/expressions.rst:298 -#: ../../reference/expressions.rst:891 ../../reference/expressions.rst:941 -#: ../../reference/expressions.rst:1836 +#: ../../reference/expressions.rst:899 ../../reference/expressions.rst:949 +#: ../../reference/expressions.rst:1845 msgid ", (comma)" -msgstr "" +msgstr ", (vírgula)" #: ../../reference/expressions.rst:167 ../../reference/expressions.rst:244 #: ../../reference/expressions.rst:270 ../../reference/expressions.rst:298 msgid "comprehensions" -msgstr "" +msgstr "compreensões" #: ../../reference/expressions.rst:177 msgid "for" -msgstr "" +msgstr "for" #: ../../reference/expressions.rst:177 ../../reference/expressions.rst:212 msgid "in comprehensions" -msgstr "" +msgstr "em compreensões" -#: ../../reference/expressions.rst:177 ../../reference/expressions.rst:1782 +#: ../../reference/expressions.rst:177 ../../reference/expressions.rst:1791 msgid "if" msgstr "if" #: ../../reference/expressions.rst:177 msgid "async for" -msgstr "" +msgstr "async for" -#: ../../reference/expressions.rst:212 ../../reference/expressions.rst:1141 +#: ../../reference/expressions.rst:212 ../../reference/expressions.rst:1149 msgid "await" -msgstr "" +msgstr "await" -#: ../../reference/expressions.rst:244 ../../reference/expressions.rst:801 -#: ../../reference/expressions.rst:824 ../../reference/expressions.rst:897 -#: ../../reference/expressions.rst:1836 +#: ../../reference/expressions.rst:244 ../../reference/expressions.rst:803 +#: ../../reference/expressions.rst:832 ../../reference/expressions.rst:905 +#: ../../reference/expressions.rst:1845 msgid "list" msgstr "lista" #: ../../reference/expressions.rst:244 ../../reference/expressions.rst:270 #: ../../reference/expressions.rst:298 msgid "display" -msgstr "" +msgstr "sintaxe de criação" -#: ../../reference/expressions.rst:244 ../../reference/expressions.rst:820 +#: ../../reference/expressions.rst:244 ../../reference/expressions.rst:828 msgid "[] (square brackets)" -msgstr "" +msgstr "[] (colchetes)" #: ../../reference/expressions.rst:244 msgid "list expression" -msgstr "" +msgstr "expressão de lista" #: ../../reference/expressions.rst:244 ../../reference/expressions.rst:270 -#: ../../reference/expressions.rst:1836 +#: ../../reference/expressions.rst:1845 msgid "expression list" -msgstr "" +msgstr "expressão, lista de" #: ../../reference/expressions.rst:270 msgid "set" -msgstr "" +msgstr "set" #: ../../reference/expressions.rst:270 ../../reference/expressions.rst:298 msgid "{} (curly brackets)" -msgstr "" +msgstr "{} (chaves)" #: ../../reference/expressions.rst:270 msgid "set expression" -msgstr "" +msgstr "expressão de conjunto" #: ../../reference/expressions.rst:298 ../../reference/expressions.rst:324 -#: ../../reference/expressions.rst:824 +#: ../../reference/expressions.rst:832 msgid "dictionary" msgstr "dicionário" #: ../../reference/expressions.rst:298 msgid "key" -msgstr "" +msgstr "chave" #: ../../reference/expressions.rst:298 -msgid "datum" -msgstr "" +msgid "value" +msgstr "valor" #: ../../reference/expressions.rst:298 -msgid "key/datum pair" -msgstr "" +msgid "key/value pair" +msgstr "par chave/valor" #: ../../reference/expressions.rst:298 msgid "dictionary expression" -msgstr "" +msgstr "expressão de dicionário" -#: ../../reference/expressions.rst:298 ../../reference/expressions.rst:891 -#: ../../reference/expressions.rst:1808 +#: ../../reference/expressions.rst:298 ../../reference/expressions.rst:899 +#: ../../reference/expressions.rst:1817 msgid ": (colon)" -msgstr "" +msgstr ": (dois pontos)" #: ../../reference/expressions.rst:298 msgid "in dictionary expressions" -msgstr "" +msgstr "em expressões de dicionário" #: ../../reference/expressions.rst:298 ../../reference/expressions.rst:324 msgid "in dictionary displays" -msgstr "" +msgstr "em sintaxes de criação de dicionário" -#: ../../reference/expressions.rst:324 ../../reference/expressions.rst:1024 -#: ../../reference/expressions.rst:1853 +#: ../../reference/expressions.rst:324 ../../reference/expressions.rst:1032 +#: ../../reference/expressions.rst:1862 msgid "unpacking" -msgstr "" +msgstr "desempacotamento" -#: ../../reference/expressions.rst:324 ../../reference/expressions.rst:1054 -#: ../../reference/expressions.rst:1161 +#: ../../reference/expressions.rst:324 ../../reference/expressions.rst:1062 +#: ../../reference/expressions.rst:1169 msgid "**" -msgstr "" +msgstr "**" #: ../../reference/expressions.rst:341 msgid "hashable" msgstr "hasheável" #: ../../reference/expressions.rst:362 ../../reference/expressions.rst:417 -#: ../../reference/expressions.rst:525 +#: ../../reference/expressions.rst:526 msgid "generator" msgstr "gerador" @@ -2775,528 +3453,528 @@ msgstr "gerador" msgid "generator expression" msgstr "expressão geradora" -#: ../../reference/expressions.rst:417 ../../reference/expressions.rst:1141 +#: ../../reference/expressions.rst:417 ../../reference/expressions.rst:1149 msgid "keyword" -msgstr "" +msgstr "palavra reservada" -#: ../../reference/expressions.rst:417 ../../reference/expressions.rst:600 +#: ../../reference/expressions.rst:417 ../../reference/expressions.rst:601 msgid "yield" -msgstr "" +msgstr "yield" -#: ../../reference/expressions.rst:417 ../../reference/expressions.rst:484 +#: ../../reference/expressions.rst:417 ../../reference/expressions.rst:485 msgid "from" msgstr "from" -#: ../../reference/expressions.rst:417 ../../reference/expressions.rst:1089 -#: ../../reference/expressions.rst:1102 ../../reference/expressions.rst:1808 +#: ../../reference/expressions.rst:417 ../../reference/expressions.rst:1097 +#: ../../reference/expressions.rst:1110 ../../reference/expressions.rst:1817 msgid "function" msgstr "função" -#: ../../reference/expressions.rst:470 +#: ../../reference/expressions.rst:471 msgid "coroutine" msgstr "corrotina" -#: ../../reference/expressions.rst:484 +#: ../../reference/expressions.rst:485 msgid "yield from expression" -msgstr "" +msgstr "yield from expressão" -#: ../../reference/expressions.rst:537 +#: ../../reference/expressions.rst:538 msgid "StopIteration" -msgstr "" +msgstr "StopIteration" -#: ../../reference/expressions.rst:587 ../../reference/expressions.rst:755 +#: ../../reference/expressions.rst:588 ../../reference/expressions.rst:757 msgid "GeneratorExit" -msgstr "" +msgstr "GeneratorExit" -#: ../../reference/expressions.rst:600 +#: ../../reference/expressions.rst:601 msgid "examples" -msgstr "" +msgstr "exemplos" -#: ../../reference/expressions.rst:699 +#: ../../reference/expressions.rst:700 msgid "asynchronous-generator" -msgstr "" +msgstr "gerador assíncrono" -#: ../../reference/expressions.rst:709 +#: ../../reference/expressions.rst:710 msgid "StopAsyncIteration" -msgstr "" +msgstr "StopAsyncIteration" -#: ../../reference/expressions.rst:778 +#: ../../reference/expressions.rst:780 msgid "primary" -msgstr "" +msgstr "primário" -#: ../../reference/expressions.rst:792 +#: ../../reference/expressions.rst:794 msgid "attribute" msgstr "atributo" -#: ../../reference/expressions.rst:792 +#: ../../reference/expressions.rst:794 msgid "reference" -msgstr "" +msgstr "referência" -#: ../../reference/expressions.rst:792 +#: ../../reference/expressions.rst:794 msgid ". (dot)" -msgstr "" +msgstr ". (ponto)" -#: ../../reference/expressions.rst:792 +#: ../../reference/expressions.rst:794 msgid "attribute reference" -msgstr "" +msgstr "referência de atributo" -#: ../../reference/expressions.rst:801 +#: ../../reference/expressions.rst:803 msgid "AttributeError" -msgstr "" +msgstr "AttributeError" -#: ../../reference/expressions.rst:801 +#: ../../reference/expressions.rst:803 msgid "module" msgstr "módulo" -#: ../../reference/expressions.rst:820 +#: ../../reference/expressions.rst:828 msgid "subscription" -msgstr "" +msgstr "subscrição" -#: ../../reference/expressions.rst:824 ../../reference/expressions.rst:897 -#: ../../reference/expressions.rst:1660 +#: ../../reference/expressions.rst:832 ../../reference/expressions.rst:905 +#: ../../reference/expressions.rst:1668 msgid "sequence" msgstr "sequência" -#: ../../reference/expressions.rst:824 +#: ../../reference/expressions.rst:832 msgid "mapping" msgstr "mapeamento" -#: ../../reference/expressions.rst:824 ../../reference/expressions.rst:877 -#: ../../reference/expressions.rst:897 +#: ../../reference/expressions.rst:832 ../../reference/expressions.rst:885 +#: ../../reference/expressions.rst:905 msgid "string" msgstr "string" -#: ../../reference/expressions.rst:824 ../../reference/expressions.rst:877 +#: ../../reference/expressions.rst:832 ../../reference/expressions.rst:885 msgid "item" -msgstr "" +msgstr "item" -#: ../../reference/expressions.rst:877 +#: ../../reference/expressions.rst:885 msgid "character" -msgstr "" +msgstr "caractere" -#: ../../reference/expressions.rst:891 +#: ../../reference/expressions.rst:899 msgid "slicing" -msgstr "" +msgstr "fatiamento" -#: ../../reference/expressions.rst:891 +#: ../../reference/expressions.rst:899 msgid "slice" msgstr "fatia" -#: ../../reference/expressions.rst:923 +#: ../../reference/expressions.rst:931 msgid "start (slice object attribute)" -msgstr "" +msgstr "início (atributo de objeto fatia)" -#: ../../reference/expressions.rst:923 +#: ../../reference/expressions.rst:931 msgid "stop (slice object attribute)" -msgstr "" +msgstr "stop (atributo de objeto fatia)" -#: ../../reference/expressions.rst:923 +#: ../../reference/expressions.rst:931 msgid "step (slice object attribute)" -msgstr "" +msgstr "step (atributo de objeto fatia)" -#: ../../reference/expressions.rst:941 +#: ../../reference/expressions.rst:949 msgid "callable" msgstr "chamável" -#: ../../reference/expressions.rst:941 ../../reference/expressions.rst:1089 -#: ../../reference/expressions.rst:1102 ../../reference/expressions.rst:1116 -#: ../../reference/expressions.rst:1123 ../../reference/expressions.rst:1133 +#: ../../reference/expressions.rst:949 ../../reference/expressions.rst:1097 +#: ../../reference/expressions.rst:1110 ../../reference/expressions.rst:1124 +#: ../../reference/expressions.rst:1131 ../../reference/expressions.rst:1141 msgid "call" -msgstr "" +msgstr "chamada" -#: ../../reference/expressions.rst:941 +#: ../../reference/expressions.rst:949 msgid "argument" msgstr "argumento" -#: ../../reference/expressions.rst:941 ../../reference/expressions.rst:974 +#: ../../reference/expressions.rst:949 ../../reference/expressions.rst:982 msgid "call semantics" -msgstr "" +msgstr "semântica de chamadas" -#: ../../reference/expressions.rst:941 +#: ../../reference/expressions.rst:949 msgid "argument list" -msgstr "" +msgstr "lista de argumentos" -#: ../../reference/expressions.rst:941 +#: ../../reference/expressions.rst:949 msgid "= (equals)" -msgstr "" +msgstr "= (igual)" -#: ../../reference/expressions.rst:941 ../../reference/expressions.rst:1024 -#: ../../reference/expressions.rst:1054 +#: ../../reference/expressions.rst:949 ../../reference/expressions.rst:1032 +#: ../../reference/expressions.rst:1062 msgid "in function calls" -msgstr "" +msgstr "em chamadas de função" -#: ../../reference/expressions.rst:974 +#: ../../reference/expressions.rst:982 msgid "parameter" msgstr "parâmetro" -#: ../../reference/expressions.rst:1024 ../../reference/expressions.rst:1257 -#: ../../reference/expressions.rst:1853 +#: ../../reference/expressions.rst:1032 ../../reference/expressions.rst:1265 +#: ../../reference/expressions.rst:1862 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisco)" -#: ../../reference/expressions.rst:1089 +#: ../../reference/expressions.rst:1097 msgid "user-defined" -msgstr "" +msgstr "definida por usuário" -#: ../../reference/expressions.rst:1089 +#: ../../reference/expressions.rst:1097 msgid "user-defined function" -msgstr "" +msgstr "função definida por usuário" -#: ../../reference/expressions.rst:1102 +#: ../../reference/expressions.rst:1110 msgid "built-in function" msgstr "função embutida" -#: ../../reference/expressions.rst:1102 +#: ../../reference/expressions.rst:1110 msgid "method" msgstr "método" -#: ../../reference/expressions.rst:1102 +#: ../../reference/expressions.rst:1110 msgid "built-in method" -msgstr "" +msgstr "método embutido" -#: ../../reference/expressions.rst:1116 +#: ../../reference/expressions.rst:1124 msgid "class" msgstr "classe" -#: ../../reference/expressions.rst:1116 +#: ../../reference/expressions.rst:1124 msgid "class object" -msgstr "" +msgstr "objeto classe" -#: ../../reference/expressions.rst:1123 +#: ../../reference/expressions.rst:1131 msgid "class instance" -msgstr "" +msgstr "instância de classe" -#: ../../reference/expressions.rst:1123 ../../reference/expressions.rst:1133 +#: ../../reference/expressions.rst:1131 ../../reference/expressions.rst:1141 msgid "instance" -msgstr "" +msgstr "instância" -#: ../../reference/expressions.rst:1133 +#: ../../reference/expressions.rst:1141 msgid "__call__() (object method)" -msgstr "" +msgstr "__call__() (método objeto)" -#: ../../reference/expressions.rst:1161 +#: ../../reference/expressions.rst:1169 msgid "power" -msgstr "" +msgstr "potência" -#: ../../reference/expressions.rst:1161 ../../reference/expressions.rst:1196 -#: ../../reference/expressions.rst:1244 ../../reference/expressions.rst:1353 -#: ../../reference/expressions.rst:1380 ../../reference/expressions.rst:1695 +#: ../../reference/expressions.rst:1169 ../../reference/expressions.rst:1204 +#: ../../reference/expressions.rst:1252 ../../reference/expressions.rst:1361 +#: ../../reference/expressions.rst:1388 ../../reference/expressions.rst:1703 msgid "operation" -msgstr "" - -#: ../../reference/expressions.rst:1161 ../../reference/expressions.rst:1205 -#: ../../reference/expressions.rst:1214 ../../reference/expressions.rst:1222 -#: ../../reference/expressions.rst:1257 ../../reference/expressions.rst:1270 -#: ../../reference/expressions.rst:1279 ../../reference/expressions.rst:1295 -#: ../../reference/expressions.rst:1324 ../../reference/expressions.rst:1337 -#: ../../reference/expressions.rst:1353 ../../reference/expressions.rst:1389 -#: ../../reference/expressions.rst:1397 ../../reference/expressions.rst:1406 -#: ../../reference/expressions.rst:1421 ../../reference/expressions.rst:1660 -#: ../../reference/expressions.rst:1669 ../../reference/expressions.rst:1711 -#: ../../reference/expressions.rst:1716 ../../reference/expressions.rst:1721 -#: ../../reference/expressions.rst:1782 ../../reference/expressions.rst:1900 +msgstr "operação" + +#: ../../reference/expressions.rst:1169 ../../reference/expressions.rst:1213 +#: ../../reference/expressions.rst:1222 ../../reference/expressions.rst:1230 +#: ../../reference/expressions.rst:1265 ../../reference/expressions.rst:1278 +#: ../../reference/expressions.rst:1287 ../../reference/expressions.rst:1303 +#: ../../reference/expressions.rst:1332 ../../reference/expressions.rst:1345 +#: ../../reference/expressions.rst:1361 ../../reference/expressions.rst:1397 +#: ../../reference/expressions.rst:1405 ../../reference/expressions.rst:1414 +#: ../../reference/expressions.rst:1429 ../../reference/expressions.rst:1668 +#: ../../reference/expressions.rst:1677 ../../reference/expressions.rst:1719 +#: ../../reference/expressions.rst:1724 ../../reference/expressions.rst:1729 +#: ../../reference/expressions.rst:1791 ../../reference/expressions.rst:1910 msgid "operator" -msgstr "operator" +msgstr "operador" -#: ../../reference/expressions.rst:1196 +#: ../../reference/expressions.rst:1204 msgid "unary" -msgstr "" +msgstr "unária" -#: ../../reference/expressions.rst:1196 ../../reference/expressions.rst:1380 -#: ../../reference/expressions.rst:1389 ../../reference/expressions.rst:1397 -#: ../../reference/expressions.rst:1406 +#: ../../reference/expressions.rst:1204 ../../reference/expressions.rst:1388 +#: ../../reference/expressions.rst:1397 ../../reference/expressions.rst:1405 +#: ../../reference/expressions.rst:1414 msgid "bitwise" -msgstr "" +msgstr "bit a bit" -#: ../../reference/expressions.rst:1205 +#: ../../reference/expressions.rst:1213 msgid "negation" -msgstr "" +msgstr "negação" -#: ../../reference/expressions.rst:1205 +#: ../../reference/expressions.rst:1213 msgid "minus" -msgstr "" +msgstr "menos" -#: ../../reference/expressions.rst:1205 ../../reference/expressions.rst:1337 +#: ../../reference/expressions.rst:1213 ../../reference/expressions.rst:1345 msgid "- (minus)" -msgstr "" +msgstr "- (menos)" -#: ../../reference/expressions.rst:1205 ../../reference/expressions.rst:1214 +#: ../../reference/expressions.rst:1213 ../../reference/expressions.rst:1222 msgid "unary operator" -msgstr "" +msgstr "operador unário" -#: ../../reference/expressions.rst:1214 +#: ../../reference/expressions.rst:1222 msgid "plus" -msgstr "" +msgstr "mais" -#: ../../reference/expressions.rst:1214 ../../reference/expressions.rst:1324 +#: ../../reference/expressions.rst:1222 ../../reference/expressions.rst:1332 msgid "+ (plus)" -msgstr "" +msgstr "+ (mais)" -#: ../../reference/expressions.rst:1222 +#: ../../reference/expressions.rst:1230 msgid "inversion" -msgstr "" +msgstr "inversão" -#: ../../reference/expressions.rst:1222 +#: ../../reference/expressions.rst:1230 msgid "~ (tilde)" -msgstr "" +msgstr "~ (til)" -#: ../../reference/expressions.rst:1233 +#: ../../reference/expressions.rst:1241 msgid "TypeError" -msgstr "" +msgstr "TypeError" -#: ../../reference/expressions.rst:1244 ../../reference/expressions.rst:1380 +#: ../../reference/expressions.rst:1252 ../../reference/expressions.rst:1388 msgid "binary" -msgstr "" +msgstr "binário" -#: ../../reference/expressions.rst:1257 +#: ../../reference/expressions.rst:1265 msgid "multiplication" -msgstr "" +msgstr "multiplicação" -#: ../../reference/expressions.rst:1270 +#: ../../reference/expressions.rst:1278 msgid "matrix multiplication" -msgstr "" +msgstr "multiplicação de matrizes" -#: ../../reference/expressions.rst:1270 +#: ../../reference/expressions.rst:1278 msgid "@ (at)" -msgstr "" +msgstr "@ (arroba)" -#: ../../reference/expressions.rst:1279 +#: ../../reference/expressions.rst:1287 msgid "ZeroDivisionError" -msgstr "" +msgstr "ZeroDivisionError" -#: ../../reference/expressions.rst:1279 +#: ../../reference/expressions.rst:1287 msgid "division" msgstr "divisão" -#: ../../reference/expressions.rst:1279 +#: ../../reference/expressions.rst:1287 msgid "/ (slash)" -msgstr "" +msgstr "/ (barra)" -#: ../../reference/expressions.rst:1279 +#: ../../reference/expressions.rst:1287 msgid "//" -msgstr "" +msgstr "//" -#: ../../reference/expressions.rst:1295 +#: ../../reference/expressions.rst:1303 msgid "modulo" -msgstr "" +msgstr "módulo" -#: ../../reference/expressions.rst:1295 +#: ../../reference/expressions.rst:1303 msgid "% (percent)" -msgstr "" +msgstr "% (porcentagem)" -#: ../../reference/expressions.rst:1324 +#: ../../reference/expressions.rst:1332 msgid "addition" -msgstr "" +msgstr "adição" -#: ../../reference/expressions.rst:1324 ../../reference/expressions.rst:1337 +#: ../../reference/expressions.rst:1332 ../../reference/expressions.rst:1345 msgid "binary operator" -msgstr "" +msgstr "operador binário" -#: ../../reference/expressions.rst:1337 +#: ../../reference/expressions.rst:1345 msgid "subtraction" -msgstr "" +msgstr "substração" -#: ../../reference/expressions.rst:1353 +#: ../../reference/expressions.rst:1361 msgid "shifting" -msgstr "" +msgstr "deslocamento" -#: ../../reference/expressions.rst:1353 +#: ../../reference/expressions.rst:1361 msgid "<<" -msgstr "" +msgstr "<<" -#: ../../reference/expressions.rst:1353 +#: ../../reference/expressions.rst:1361 msgid ">>" -msgstr "" +msgstr ">>" -#: ../../reference/expressions.rst:1369 +#: ../../reference/expressions.rst:1377 msgid "ValueError" -msgstr "" +msgstr "ValueError" -#: ../../reference/expressions.rst:1389 ../../reference/expressions.rst:1716 +#: ../../reference/expressions.rst:1397 ../../reference/expressions.rst:1724 msgid "and" msgstr "and" -#: ../../reference/expressions.rst:1389 +#: ../../reference/expressions.rst:1397 msgid "& (ampersand)" -msgstr "" +msgstr "& (e comercial)" -#: ../../reference/expressions.rst:1397 +#: ../../reference/expressions.rst:1405 msgid "xor" -msgstr "" +msgstr "xor" -#: ../../reference/expressions.rst:1397 +#: ../../reference/expressions.rst:1405 msgid "exclusive" -msgstr "" +msgstr "exclusivo" -#: ../../reference/expressions.rst:1397 ../../reference/expressions.rst:1406 -#: ../../reference/expressions.rst:1721 +#: ../../reference/expressions.rst:1405 ../../reference/expressions.rst:1414 +#: ../../reference/expressions.rst:1729 msgid "or" msgstr "or" -#: ../../reference/expressions.rst:1397 +#: ../../reference/expressions.rst:1405 msgid "^ (caret)" -msgstr "" +msgstr "^ (circunflexo)" -#: ../../reference/expressions.rst:1406 +#: ../../reference/expressions.rst:1414 msgid "inclusive" -msgstr "" +msgstr "inclusive" -#: ../../reference/expressions.rst:1406 +#: ../../reference/expressions.rst:1414 msgid "| (vertical bar)" -msgstr "" +msgstr "| (barra vertical)" -#: ../../reference/expressions.rst:1421 +#: ../../reference/expressions.rst:1429 msgid "comparison" -msgstr "" +msgstr "comparação" -#: ../../reference/expressions.rst:1421 +#: ../../reference/expressions.rst:1429 msgid "C" msgstr "C" -#: ../../reference/expressions.rst:1421 +#: ../../reference/expressions.rst:1429 msgid "language" -msgstr "" +msgstr "linguagem" -#: ../../reference/expressions.rst:1421 +#: ../../reference/expressions.rst:1429 msgid "< (less)" -msgstr "" +msgstr "< (menor que)" -#: ../../reference/expressions.rst:1421 +#: ../../reference/expressions.rst:1429 msgid "> (greater)" -msgstr "" +msgstr "> (maior)" -#: ../../reference/expressions.rst:1421 +#: ../../reference/expressions.rst:1429 msgid "<=" -msgstr "" +msgstr "<=" -#: ../../reference/expressions.rst:1421 +#: ../../reference/expressions.rst:1429 msgid ">=" -msgstr "" +msgstr ">=" -#: ../../reference/expressions.rst:1421 +#: ../../reference/expressions.rst:1429 msgid "==" -msgstr "" +msgstr "==" -#: ../../reference/expressions.rst:1421 +#: ../../reference/expressions.rst:1429 msgid "!=" -msgstr "" +msgstr "!=" -#: ../../reference/expressions.rst:1445 +#: ../../reference/expressions.rst:1453 msgid "chaining" -msgstr "" +msgstr "encadeamento" -#: ../../reference/expressions.rst:1445 +#: ../../reference/expressions.rst:1453 msgid "comparisons" -msgstr "" +msgstr "comparações" -#: ../../reference/expressions.rst:1660 +#: ../../reference/expressions.rst:1668 msgid "in" -msgstr "" +msgstr "in" -#: ../../reference/expressions.rst:1660 +#: ../../reference/expressions.rst:1668 msgid "not in" -msgstr "" +msgstr "not in" -#: ../../reference/expressions.rst:1660 +#: ../../reference/expressions.rst:1668 msgid "membership" -msgstr "" +msgstr "pertinência" -#: ../../reference/expressions.rst:1660 ../../reference/expressions.rst:1669 +#: ../../reference/expressions.rst:1668 ../../reference/expressions.rst:1677 msgid "test" -msgstr "" +msgstr "teste" -#: ../../reference/expressions.rst:1669 +#: ../../reference/expressions.rst:1677 msgid "is" -msgstr "" +msgstr "is" -#: ../../reference/expressions.rst:1669 +#: ../../reference/expressions.rst:1677 msgid "is not" -msgstr "" +msgstr "is not" -#: ../../reference/expressions.rst:1669 +#: ../../reference/expressions.rst:1677 msgid "identity" -msgstr "" +msgstr "identidade" -#: ../../reference/expressions.rst:1695 +#: ../../reference/expressions.rst:1703 msgid "Conditional" -msgstr "" +msgstr "Condicional" -#: ../../reference/expressions.rst:1695 +#: ../../reference/expressions.rst:1703 msgid "Boolean" msgstr "Booleano" -#: ../../reference/expressions.rst:1711 +#: ../../reference/expressions.rst:1719 msgid "not" msgstr "not" -#: ../../reference/expressions.rst:1735 +#: ../../reference/expressions.rst:1743 msgid ":= (colon equals)" -msgstr "" +msgstr ":= (dois points igual)" -#: ../../reference/expressions.rst:1735 +#: ../../reference/expressions.rst:1743 msgid "assignment expression" -msgstr "" +msgstr "expressão de atribuição" -#: ../../reference/expressions.rst:1735 +#: ../../reference/expressions.rst:1743 msgid "walrus operator" -msgstr "" +msgstr "operador morsa" -#: ../../reference/expressions.rst:1735 +#: ../../reference/expressions.rst:1743 msgid "named expression" -msgstr "" +msgstr "expressão nomeada" -#: ../../reference/expressions.rst:1782 +#: ../../reference/expressions.rst:1791 msgid "conditional" -msgstr "" +msgstr "condicional" -#: ../../reference/expressions.rst:1782 +#: ../../reference/expressions.rst:1791 msgid "ternary" -msgstr "" +msgstr "ternário" -#: ../../reference/expressions.rst:1782 +#: ../../reference/expressions.rst:1791 msgid "conditional expression" -msgstr "" +msgstr "expressão condicional" -#: ../../reference/expressions.rst:1782 +#: ../../reference/expressions.rst:1791 msgid "else" -msgstr "" +msgstr "else" -#: ../../reference/expressions.rst:1808 +#: ../../reference/expressions.rst:1817 msgid "lambda" msgstr "lambda" -#: ../../reference/expressions.rst:1808 +#: ../../reference/expressions.rst:1817 msgid "form" -msgstr "" +msgstr "função" -#: ../../reference/expressions.rst:1808 +#: ../../reference/expressions.rst:1817 msgid "anonymous" -msgstr "" +msgstr "anônima" -#: ../../reference/expressions.rst:1808 +#: ../../reference/expressions.rst:1817 msgid "lambda expression" -msgstr "" +msgstr "expressão lambda" -#: ../../reference/expressions.rst:1853 +#: ../../reference/expressions.rst:1862 msgid "iterable" -msgstr "Iterável" +msgstr "iterável" -#: ../../reference/expressions.rst:1853 +#: ../../reference/expressions.rst:1862 msgid "in expression lists" -msgstr "" +msgstr "em listas de expressões" -#: ../../reference/expressions.rst:1865 +#: ../../reference/expressions.rst:1874 msgid "trailing" -msgstr "" +msgstr "ao final" -#: ../../reference/expressions.rst:1879 +#: ../../reference/expressions.rst:1889 msgid "evaluation" -msgstr "" +msgstr "avaliação" -#: ../../reference/expressions.rst:1879 +#: ../../reference/expressions.rst:1889 msgid "order" -msgstr "" +msgstr "ordem" -#: ../../reference/expressions.rst:1900 +#: ../../reference/expressions.rst:1910 msgid "precedence" -msgstr "" +msgstr "precedência" diff --git a/reference/grammar.po b/reference/grammar.po index ad6f01a77..29e3e8750 100644 --- a/reference/grammar.po +++ b/reference/grammar.po @@ -1,44 +1,44 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" -#: ../../reference/grammar.rst:2 +#: ../../reference/grammar.rst:4 msgid "Full Grammar specification" -msgstr "Especificação Completa da Gramática" +msgstr "Especificação completa da gramática" -#: ../../reference/grammar.rst:4 +#: ../../reference/grammar.rst:6 msgid "" "This is the full Python grammar, derived directly from the grammar used to " "generate the CPython parser (see :source:`Grammar/python.gram`). The version " "here omits details related to code generation and error recovery." msgstr "" "Esta é a gramática completa do Python, derivada diretamente da gramática " -"usada para gerar o analisador sintático de CPython (consulte :source:" -"`Grammar/python.gram`). A versão aqui omite detalhes relacionados à geração " -"de código e recuperação de erros." +"usada para gerar o analisador sintático de CPython " +"(consulte :source:`Grammar/python.gram`). A versão aqui omite detalhes " +"relacionados à geração de código e recuperação de erros." -#: ../../reference/grammar.rst:9 +#: ../../reference/grammar.rst:11 msgid "" "The notation is a mixture of `EBNF `_ and `PEG `_ e `GASE `_. Em particular, ``&`` " -"seguido por um símbolo, token ou grupo entre parênteses indica um \"olhar a " -"frente\" positivo (ou seja, é necessário para corresponder, mas não " -"consumido), enquanto ``!`` indica um \"olhar a frente\" negativo (ou seja, é " -"necessário *não* combinar). Usamos o separador ``|`` para significar a " -"\"escolha ordenada\" do GASE (escrito como ``/`` nas gramáticas GASE " -"tradicionais). Veja :pep:`617` para mais detalhes sobre a sintaxe da " -"gramática." +"wiki/Gramática_de_análise_sintática_de_expressão>`_ (em inglês, `PEG " +"`_). Em " +"particular, ``&`` seguido por um símbolo, token ou grupo entre parênteses " +"indica um \"olhar a frente\" positivo (ou seja, é necessário para " +"corresponder, mas não consumido), enquanto ``!`` indica um \"olhar a " +"frente\" negativo (ou seja, é necessário *não* combinar). Usamos o separador " +"``|`` para significar a \"escolha ordenada\" do GASE (escrito como ``/`` nas " +"gramáticas GASE tradicionais). Veja :pep:`617` para mais detalhes sobre a " +"sintaxe da gramática." diff --git a/reference/import.po b/reference/import.po index 123161575..ed956276a 100644 --- a/reference/import.po +++ b/reference/import.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Hildeberto Abreu Magalhães , 2023 -# Vinicius Gubiani Ferreira , 2023 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -37,15 +32,15 @@ msgid "" "Python code in one :term:`module` gains access to the code in another module " "by the process of :term:`importing` it. The :keyword:`import` statement is " "the most common way of invoking the import machinery, but it is not the only " -"way. Functions such as :func:`importlib.import_module` and built-in :func:" -"`__import__` can also be used to invoke the import machinery." +"way. Functions such as :func:`importlib.import_module` and built-" +"in :func:`__import__` can also be used to invoke the import machinery." msgstr "" -"O código Python em um :term:`módulo ` obtém acesso ao código em " -"outro módulo pelo processo de :term:`importação ` dele. A " -"instrução :keyword:`import` é a maneira mais comum de chamar o mecanismo de " -"importação, mas não é a única maneira. Funções como :func:`importlib." -"import_module` e a embutida :func:`__import__` também podem ser usadas para " -"chamar o mecanismo de importação." +"O código Python em um :term:`módulo` obtém acesso ao código em outro módulo " +"pelo processo de :term:`importação` dele. A instrução :keyword:`import` é a " +"maneira mais comum de invocar o mecanismo de importação, mas não é a única " +"maneira. Funções como :func:`importlib.import_module` e a função " +"embutida :func:`__import__` também podem ser usadas para chamar o mecanismo " +"de importação." #: ../../reference/import.rst:16 msgid "" @@ -54,8 +49,8 @@ msgid "" "local scope. The search operation of the :keyword:`!import` statement is " "defined as a call to the :func:`__import__` function, with the appropriate " "arguments. The return value of :func:`__import__` is used to perform the " -"name binding operation of the :keyword:`!import` statement. See the :" -"keyword:`!import` statement for the exact details of that name binding " +"name binding operation of the :keyword:`!import` statement. See " +"the :keyword:`!import` statement for the exact details of that name binding " "operation." msgstr "" "A instrução :keyword:`import` combina duas operações; ela procura o módulo " @@ -82,10 +77,11 @@ msgstr "" #: ../../reference/import.rst:31 msgid "" -"When an :keyword:`import` statement is executed, the standard builtin :func:" -"`__import__` function is called. Other mechanisms for invoking the import " -"system (such as :func:`importlib.import_module`) may choose to bypass :func:" -"`__import__` and use their own solutions to implement import semantics." +"When an :keyword:`import` statement is executed, the standard " +"builtin :func:`__import__` function is called. Other mechanisms for invoking " +"the import system (such as :func:`importlib.import_module`) may choose to " +"bypass :func:`__import__` and use their own solutions to implement import " +"semantics." msgstr "" "Quando uma instrução :keyword:`import` é executada, a função embutida " "padrão :func:`__import__` é chamada. Outros mecanismos para chamar o sistema " @@ -112,16 +108,16 @@ msgstr "" #: ../../reference/import.rst:43 msgid "" -"The import system has been updated to fully implement the second phase of :" -"pep:`302`. There is no longer any implicit import machinery - the full " +"The import system has been updated to fully implement the second phase " +"of :pep:`302`. There is no longer any implicit import machinery - the full " "import system is exposed through :data:`sys.meta_path`. In addition, native " "namespace package support has been implemented (see :pep:`420`)." msgstr "" "O sistema de importação foi atualizado para implementar completamente a " "segunda fase da :pep:`302`. Não há mais um mecanismo de importação implícito " -"-- o sistema completo de importação é exposto através de :data:`sys." -"meta_path`. Além disso, o suporte nativo a pacote de espaço de nomes foi " -"implementado (consulte :pep:`420`)." +"-- o sistema completo de importação é exposto através " +"de :data:`sys.meta_path`. Além disso, o suporte nativo a pacote de espaço de " +"nomes foi implementado (consulte :pep:`420`)." #: ../../reference/import.rst:51 msgid ":mod:`importlib`" @@ -136,10 +132,10 @@ msgid "" "additional detail." msgstr "" "O módulo :mod:`importlib` fornece uma API rica para interagir com o sistema " -"de importação. Por exemplo :func:`importlib.import_module` fornece uma API " -"mais simples e recomendada do que a embutida :func:`__import__` para chamar " -"o mecanismo de importação. Consulte a documentação da biblioteca :mod:" -"`importlib` para obter detalhes adicionais." +"de importação. Por exemplo, :func:`importlib.import_module` fornece uma API " +"mais simples e recomendada do que a função embutida :func:`__import__` para " +"chamar o mecanismo de importação. Consulte a documentação da " +"biblioteca :mod:`importlib` para obter detalhes adicionais." #: ../../reference/import.rst:62 msgid "Packages" @@ -155,7 +151,7 @@ msgstr "" "O Python possui apenas um tipo de objeto de módulo e todos os módulos são " "desse tipo, independentemente de o módulo estar implementado em Python, C ou " "qualquer outra coisa. Para ajudar a organizar os módulos e fornecer uma " -"hierarquia de nomes, o Python tem o conceito de :term:`pacotes `." +"hierarquia de nomes, o Python tem o conceito de :term:`pacotes `." #: ../../reference/import.rst:72 msgid "" @@ -195,11 +191,11 @@ msgid "" "subpackage called :mod:`email.mime` and a module within that subpackage " "called :mod:`email.mime.text`." msgstr "" -"Todo módulo tem um nome. Nomes de subpacotes são separados do nome do " -"pacote por um ponto, semelhante à sintaxe de acesso aos atributos padrão do " -"Python. Assim pode ter um pacote chamado :mod:`email`, que por sua vez tem " -"um subpacote chamado :mod:`email.mime` e um módulo dentro dele chamado :mod:" -"`email.mime.text`." +"Todo módulo tem um nome. Nomes de subpacotes são separados do nome do pacote " +"por um ponto, semelhante à sintaxe de acesso aos atributos padrão do Python. " +"Assim pode ter um pacote chamado :mod:`email`, que por sua vez tem um " +"subpacote chamado :mod:`email.mime` e um módulo dentro dele " +"chamado :mod:`email.mime.text`." #: ../../reference/import.rst:93 msgid "Regular packages" @@ -211,11 +207,11 @@ msgid "" "package>` and :term:`namespace packages `. Regular " "packages are traditional packages as they existed in Python 3.2 and earlier. " "A regular package is typically implemented as a directory containing an " -"``__init__.py`` file. When a regular package is imported, this ``__init__." -"py`` file is implicitly executed, and the objects it defines are bound to " -"names in the package's namespace. The ``__init__.py`` file can contain the " -"same Python code that any other module can contain, and Python will add some " -"additional attributes to the module when it is imported." +"``__init__.py`` file. When a regular package is imported, this " +"``__init__.py`` file is implicitly executed, and the objects it defines are " +"bound to names in the package's namespace. The ``__init__.py`` file can " +"contain the same Python code that any other module can contain, and Python " +"will add some additional attributes to the module when it is imported." msgstr "" "O Python define dois tipos de pacotes, :term:`pacotes regulares ` e :term:`pacotes de espaço de nomes `. Pacotes " @@ -243,10 +239,10 @@ msgid "" "``parent.three`` will execute ``parent/two/__init__.py`` and ``parent/three/" "__init__.py`` respectively." msgstr "" -"A importação de ``parent.one`` vai executar implicitamente ``parent/__init__." -"py`` e ``parent/one/__init__.py``. Importações subsequentes de ``parent." -"two`` ou ``parent.three`` vão executar ``parent/two/__init__.py`` e ``parent/" -"three/__init__.py``, respectivamente." +"A importação de ``parent.one`` vai executar implicitamente ``parent/" +"__init__.py`` e ``parent/one/__init__.py``. Importações subsequentes de " +"``parent.two`` ou ``parent.three`` vão executar ``parent/two/__init__.py`` e " +"``parent/three/__init__.py``, respectivamente." #: ../../reference/import.rst:127 msgid "Namespace packages" @@ -281,8 +277,8 @@ msgstr "" "Os pacotes de espaço de nomes não usam uma lista comum para o atributo " "``__path__``. Em vez disso, eles usam um tipo iterável personalizado que " "executará automaticamente uma nova pesquisa por partes do pacote na próxima " -"tentativa de importação dentro desse pacote, se o caminho do pacote pai (ou :" -"data:`sys.path` para um pacote de nível superior) for alterado." +"tentativa de importação dentro desse pacote, se o caminho do pacote pai " +"(ou :data:`sys.path` para um pacote de nível superior) for alterado." #: ../../reference/import.rst:147 msgid "" @@ -319,29 +315,29 @@ msgid "" "parameters to the :func:`importlib.import_module` or :func:`__import__` " "functions." msgstr "" -"Para iniciar a busca, Python precisa do nome :term:`completo ` do módulo (ou pacote, mas para o propósito dessa exposição, não há " -"diferença) que se quer importar. Esse nome vem de vários argumentos " -"passados para o comando :keyword:`import` , ou dos parâmetros das " -"funções :func:`importlib.import_module` ou :func:`__import__` ." +"diferença) que se quer importar. Esse nome vem de vários argumentos passados " +"para a instrução :keyword:`import`, ou dos parâmetros das " +"funções :func:`importlib.import_module` ou :func:`__import__`." #: ../../reference/import.rst:166 msgid "" "This name will be used in various phases of the import search, and it may be " "the dotted path to a submodule, e.g. ``foo.bar.baz``. In this case, Python " -"first tries to import ``foo``, then ``foo.bar``, and finally ``foo.bar." -"baz``. If any of the intermediate imports fail, a :exc:`ModuleNotFoundError` " -"is raised." +"first tries to import ``foo``, then ``foo.bar``, and finally " +"``foo.bar.baz``. If any of the intermediate imports fail, " +"a :exc:`ModuleNotFoundError` is raised." msgstr "" -"Esse nome será usado em várias fases da busca do import, e pode ser um nome " -"com pontos, para um submódulo, ex. ``foo.bar.baz``. Nesse caso, Python " -"primeiro tenta importar ``foo``, depois ``foo.bar``, e finalmente ``foo.bar." -"baz``. Se algum dos imports intermediários falhar, uma exceção :exc:" -"`ModuleNotFoundError` é levantada." +"Esse nome será usado em várias fases da busca da importação, e pode ser um " +"nome com pontos para um submódulo como, por exemplo, ``foo.bar.baz``. Nesse " +"caso, Python primeiro tenta importar ``foo``, depois ``foo.bar`` e, " +"finalmente, ``foo.bar.baz``. Se alguma das importações intermediárias " +"falharem, uma exceção :exc:`ModuleNotFoundError` é levantada." #: ../../reference/import.rst:173 msgid "The module cache" -msgstr "Caches de módulos" +msgstr "O cache de módulos" #: ../../reference/import.rst:178 msgid "" @@ -352,26 +348,26 @@ msgid "" "and ``foo.bar.baz``. Each key will have as its value the corresponding " "module object." msgstr "" -"A primeira checagem durante a busca do import é feita num dicionário " -"chamado :data:`sys.modules`. Esse mapeamento serve como um cache de todos " -"os módulos que já foram importados previamente, incluindo os caminhos " -"intermediários. Se ``foo.bar.baz`` foi previamente importado, :data:`sys." -"modules` conterá entradas para ``foo``, ``foo.bar``, and ``foo.bar.baz``. " -"Cada chave terá como valor um objeto módulo correspondente." +"A primeira verificação durante a busca da importação é feita " +"no :data:`sys.modules`. Esse mapeamento serve como um cache de todos os " +"módulos que já foram importados previamente, incluindo os caminhos " +"intermediários. Se ``foo.bar.baz`` foi previamente " +"importado, :data:`sys.modules` conterá entradas para ``foo``, ``foo.bar`` e " +"``foo.bar.baz``. Cada chave terá como valor um objeto módulo correspondente." #: ../../reference/import.rst:185 msgid "" "During import, the module name is looked up in :data:`sys.modules` and if " "present, the associated value is the module satisfying the import, and the " -"process completes. However, if the value is ``None``, then a :exc:" -"`ModuleNotFoundError` is raised. If the module name is missing, Python will " -"continue searching for the module." +"process completes. However, if the value is ``None``, then " +"a :exc:`ModuleNotFoundError` is raised. If the module name is missing, " +"Python will continue searching for the module." msgstr "" -"Durante o import, o nome do módulo é procurado em :data:`sys.modules` e, se " -"estiver presente, o valor associado é o módulo que satisfaz o import, e o " -"processo termina. Entretanto, se o valor é ``None``, uma exceção :exc:" -"`ModuleNotFoundError` é levantada. Se o nome do módulo não foi encontrado, " -"Python continuará a busca." +"Durante a importação, o nome do módulo é procurado em :data:`sys.modules` e, " +"se estiver presente, o valor associado é o módulo que satisfaz a importação, " +"e o processo termina. Entretanto, se o valor é ``None``, uma " +"exceção :exc:`ModuleNotFoundError` é levantada. Se o nome do módulo não foi " +"encontrado, Python continuará a busca pelo módulo." #: ../../reference/import.rst:191 msgid "" @@ -379,40 +375,55 @@ msgid "" "associated module (as other modules may hold references to it), but it will " "invalidate the cache entry for the named module, causing Python to search " "anew for the named module upon its next import. The key can also be assigned " -"to ``None``, forcing the next import of the module to result in a :exc:" -"`ModuleNotFoundError`." +"to ``None``, forcing the next import of the module to result in " +"a :exc:`ModuleNotFoundError`." msgstr "" -"É possível alterar :data:`sys.modules`. Apagar uma chave pode não destruir " -"o objeto módulo associado (outros módulos podem manter referências para " -"ele), mas a entrada do cache será invalidada para o nome daquele módulo, " -"fazendo Python executar nova busca no próximo import. Pode ser atribuído " -"``None`` para a chave, forçando que o próximo import do módulo resulte numa " -"exceção :exc:`ModuleNotFoundError`." +"É possível alterar :data:`sys.modules`. Apagar uma chave pode não destruir o " +"objeto módulo associado (outros módulos podem manter referências para ele), " +"mas a entrada do cache será invalidada para o nome daquele módulo, fazendo " +"Python executar nova busca na próxima importação. Pode ser atribuído " +"``None`` para a chave, forçando que a próxima importação do módulo resulte " +"numa exceção :exc:`ModuleNotFoundError`." #: ../../reference/import.rst:198 msgid "" "Beware though, as if you keep a reference to the module object, invalidate " "its cache entry in :data:`sys.modules`, and then re-import the named module, " -"the two module objects will *not* be the same. By contrast, :func:`importlib." -"reload` will reuse the *same* module object, and simply reinitialise the " -"module contents by rerunning the module's code." +"the two module objects will *not* be the same. By " +"contrast, :func:`importlib.reload` will reuse the *same* module object, and " +"simply reinitialise the module contents by rerunning the module's code." msgstr "" +"No entanto, tenha cuidado, pois se você mantiver uma referência para o " +"objeto módulo, invalidar sua entrada de cache em :data:`sys.modules` e, em " +"seguida, reimportar do módulo nomeado, os dois módulo objetos *não* serão os " +"mesmos. Por outro lado, o :func:`importlib.reload` reutilizará o *mesmo* " +"objeto módulo e simplesmente reinicializará o conteúdo do módulo executando " +"novamente o código do módulo." #: ../../reference/import.rst:208 msgid "Finders and loaders" -msgstr "" +msgstr "Localizadores e carregadores" #: ../../reference/import.rst:215 msgid "" "If the named module is not found in :data:`sys.modules`, then Python's " "import protocol is invoked to find and load the module. This protocol " -"consists of two conceptual objects, :term:`finders ` and :term:" -"`loaders `. A finder's job is to determine whether it can find the " -"named module using whatever strategy it knows about. Objects that implement " -"both of these interfaces are referred to as :term:`importers ` - " -"they return themselves when they find that they can load the requested " -"module." -msgstr "" +"consists of two conceptual objects, :term:`finders ` " +"and :term:`loaders `. A finder's job is to determine whether it can " +"find the named module using whatever strategy it knows about. Objects that " +"implement both of these interfaces are referred to as :term:`importers " +"` - they return themselves when they find that they can load the " +"requested module." +msgstr "" +"Se o módulo nomeado não for encontrado em :data:`sys.modules`, então o " +"protocolo de importação do Python é invocado para localizar e carregar o " +"módulo. Este protocolo consiste em dois objetos " +"conceituais, :term:`localizadores ` e :term:`carregadores `. " +"O trabalho de um localizador é determinar se ele pode localizar o módulo " +"nomeado usando qualquer estratégia que ele conheça. Objetos que implementam " +"ambas essas interfaces são referenciadas como :term:`importadores " +"` -- eles retornam a si mesmos, quando eles descobrem que eles " +"podem carregar o módulo requisitado." #: ../../reference/import.rst:223 msgid "" @@ -423,12 +434,21 @@ msgid "" "system paths or zip files. It can also be extended to search for any " "locatable resource, such as those identified by URLs." msgstr "" +"Python inclui um número de localizadores e carregadores padrões. O primeiro " +"sabe como localizar módulos embutidos, e o segundo sabe como localizar " +"módulos congelados. Um terceiro localizador padrão procura em " +"um :term:`caminho de importação` por módulos. O :term:`caminho de " +"importação` é uma lista de localizações que podem nomear caminhos de sistema " +"de arquivo ou arquivos zip. Ele também pode ser estendido para buscar por " +"qualquer recurso localizável, tais como aqueles identificados por URLs." #: ../../reference/import.rst:230 msgid "" "The import machinery is extensible, so new finders can be added to extend " "the range and scope of module searching." msgstr "" +"O mecanismo de importação é extensível, então novos localizadores podem ser " +"adicionados para estender o alcance e o escopo de buscar módulos." #: ../../reference/import.rst:233 msgid "" @@ -437,6 +457,10 @@ msgid "" "related information, which the import machinery then uses when loading the " "module." msgstr "" +"Localizadores na verdade não carregam módulos. Se eles conseguirem encontrar " +"o módulo nomeado, eles retornam um :dfn:`spec de módulo`, um encapsulamento " +"da informação relacionada a importação do módulo, a qual o mecanismo de " +"importação então usa quando o módulo é carregado." #: ../../reference/import.rst:237 msgid "" @@ -444,6 +468,9 @@ msgid "" "detail, including how you can create and register new ones to extend the " "import machinery." msgstr "" +"As seguintes seções descrevem o protocolo para localizadores e carregadores " +"em mais detalhes, incluindo como você pode criar e registrar novos para " +"estender o mecanismo de importação." #: ../../reference/import.rst:241 msgid "" @@ -451,10 +478,15 @@ msgid "" "directly, whereas now they return module specs which *contain* loaders. " "Loaders are still used during import but have fewer responsibilities." msgstr "" +"Em versões anteriores do Python, localizadores " +"retornavam :term:`carregadores ` diretamente, enquanto agora eles " +"retornam especificações de módulo, as qual *contêm* carregadores. " +"Carregadores ainda são usados durante a importação, mas possuem menos " +"responsabilidades." #: ../../reference/import.rst:247 msgid "Import hooks" -msgstr "" +msgstr "Ganchos de importação" #: ../../reference/import.rst:257 msgid "" @@ -462,6 +494,9 @@ msgid "" "this are the *import hooks*. There are two types of import hooks: *meta " "hooks* and *import path hooks*." msgstr "" +"O mecanismo de importação é desenhado para ser extensível; o mecanismo " +"primário para isso são os *ganchos de importação*. Existem dois tipos de " +"ganchos de importação: *metaganchos* e *ganchos de importação de caminho*." #: ../../reference/import.rst:261 msgid "" @@ -471,30 +506,50 @@ msgid "" "modules, or even built-in modules. Meta hooks are registered by adding new " "finder objects to :data:`sys.meta_path`, as described below." msgstr "" +"Metaganchos são chamados no início do processo de importação, antes que " +"qualquer outro processo de importação tenha ocorrido, que não seja busca de " +"cache de :data:`sys.modules`. Isso permite aos metaganchos substituir " +"processamento de :data:`sys.path`, módulos congelados ou mesmo módulos " +"embutidos. Metaganchos são registrados adicionando novos objetos " +"localizadores a :data:`sys.meta_path`, conforme descrito abaixo." #: ../../reference/import.rst:267 msgid "" -"Import path hooks are called as part of :data:`sys.path` (or ``package." -"__path__``) processing, at the point where their associated path item is " -"encountered. Import path hooks are registered by adding new callables to :" -"data:`sys.path_hooks` as described below." +"Import path hooks are called as part of :data:`sys.path` (or " +"``package.__path__``) processing, at the point where their associated path " +"item is encountered. Import path hooks are registered by adding new " +"callables to :data:`sys.path_hooks` as described below." msgstr "" +"Ganchos de caminho de importação são chamados como parte do processamento " +"de :data:`sys.path` (ou ``package.__path__``), no ponto onde é encontrado o " +"item do caminho associado. Ganchos de caminho de importação são registrados " +"adicionando novos chamáveis para :data:`sys.path_hooks`, conforme descrito " +"abaixo." #: ../../reference/import.rst:274 msgid "The meta path" -msgstr "" +msgstr "O metacaminho" #: ../../reference/import.rst:280 msgid "" "When the named module is not found in :data:`sys.modules`, Python next " "searches :data:`sys.meta_path`, which contains a list of meta path finder " "objects. These finders are queried in order to see if they know how to " -"handle the named module. Meta path finders must implement a method called :" -"meth:`~importlib.abc.MetaPathFinder.find_spec()` which takes three " +"handle the named module. Meta path finders must implement a method " +"called :meth:`~importlib.abc.MetaPathFinder.find_spec()` which takes three " "arguments: a name, an import path, and (optionally) a target module. The " "meta path finder can use any strategy it wants to determine whether it can " "handle the named module or not." msgstr "" +"Quando o módulo nomeado não é encontrado em :data:`sys.modules`, Python em " +"seguida busca :data:`sys.meta_path`, o qual contém uma lista de objetos " +"localizador de metacaminho. Esses buscadores são consultados a fim de " +"verificar se eles sabem como manipular o módulo nomeado. Os localizadores de " +"metacaminho devem implementar um método " +"chamado :meth:`~importlib.abc.MetaPathFinder.find_spec()`, o qual recebe " +"três argumentos: um nome, um caminho de importação, e (opcionalmente) um " +"módulo alvo. O localizador de metacaminho pode usar qualquer estratégia que " +"ele quiser para determinar se ele pode manipular o módulo nomeado ou não." #: ../../reference/import.rst:289 msgid "" @@ -504,6 +559,12 @@ msgid "" "returning a spec, then a :exc:`ModuleNotFoundError` is raised. Any other " "exceptions raised are simply propagated up, aborting the import process." msgstr "" +"Se o localizador de metacaminho souber como tratar o módulo nomeado, ele " +"retorna um objeto spec. Se ele não puder tratar o módulo nomeado, ele " +"retorna ``None``. Se o processamento de :data:`sys.meta_path` alcançar o fim " +"da sua lista sem retornar um spec, então :exc:`ModuleNotFoundError` é " +"levantada. Quaisquer outras exceções levantadas são simplesmente propagadas " +"para cima, abortando o processo de importação." #: ../../reference/import.rst:295 msgid "" @@ -518,6 +579,17 @@ msgid "" "existing module object that will be the target of loading later. The import " "system passes in a target module only during reload." msgstr "" +"O método :meth:`~importlib.abc.MetaPathFinder.find_spec()` dos localizadores " +"de metacaminhos é chamado com dois ou três argumentos. O primeiro é o nome " +"totalmente qualificado do módulo sendo importado, por exemplo " +"``foo.bar.baz``. O segundo argumento é o caminho de entradas para usar para " +"a busca do módulo. Para módulos de alto nível, o segundo argumento é " +"``None``, mas para submódulos ou subpacotes, o segundo argumento é o valor " +"do atributo ``__path__`` do pacote pai. Se o atributo ``__path__`` " +"apropriado não puder ser acessado, uma exceção :exc:`ModuleNotFoundError` é " +"levantada. O terceiro argumento é um objeto módulo existente que será o alvo " +"do carregamento posteriormente. O sistema de importação passa um módulo alvo " +"apenas durante o recarregamento." #: ../../reference/import.rst:306 msgid "" @@ -526,10 +598,20 @@ msgid "" "importing ``foo.bar.baz`` will first perform a top level import, calling " "``mpf.find_spec(\"foo\", None, None)`` on each meta path finder (``mpf``). " "After ``foo`` has been imported, ``foo.bar`` will be imported by traversing " -"the meta path a second time, calling ``mpf.find_spec(\"foo.bar\", foo." -"__path__, None)``. Once ``foo.bar`` has been imported, the final traversal " -"will call ``mpf.find_spec(\"foo.bar.baz\", foo.bar.__path__, None)``." -msgstr "" +"the meta path a second time, calling ``mpf.find_spec(\"foo.bar\", " +"foo.__path__, None)``. Once ``foo.bar`` has been imported, the final " +"traversal will call ``mpf.find_spec(\"foo.bar.baz\", foo.bar.__path__, " +"None)``." +msgstr "" +"O metacaminho pode ser percorrido múltiplas vezes para uma requisição de " +"importação individual. Por exemplo, presumindo que nenhum dos módulos " +"envolvidos já tenha sido cacheado, importar ``foo.bar.baz`` irá primeiro " +"executar uma importação de alto nível, chamando ``mpf.find_spec(\"foo\", " +"None, None)`` em cada localizador de metacaminho (``mpf``). Depois que " +"``foo`` foi importado, ``foo.bar`` será importado percorrendo o metacaminho " +"uma segunda vez, chamando ``mpf.find_spec(\"foo.bar\", foo.__path__, " +"None)``. Uma vez que ``foo.bar`` tenha sido importado, a travessia final irá " +"chamar ``mpf.find_spec(\"foo.bar.baz\", foo.bar.__path__, None)``." #: ../../reference/import.rst:316 msgid "" @@ -537,6 +619,9 @@ msgid "" "always return ``None`` when anything other than ``None`` is passed as the " "second argument." msgstr "" +"Alguns localizadores de metacaminho apenas dão suporte a importações de alto " +"nível. Estes importadores vão sempre retornar ``None`` quando qualquer coisa " +"diferente de ``None`` for passada como o segundo argumento." #: ../../reference/import.rst:320 msgid "" @@ -545,13 +630,19 @@ msgid "" "modules, and one that knows how to import modules from an :term:`import " "path` (i.e. the :term:`path based finder`)." msgstr "" +"O :data:`sys.meta_path` padrão do Python possui três localizador de " +"metacaminho, um que sabe como importar módulos embutidos, um que sabe como " +"importar módulos congelados, e outro que sabe como importar módulos de " +"um :term:`caminho de importação` (isto é, o :term:`localizador baseado no " +"caminho`)." #: ../../reference/import.rst:325 msgid "" "The :meth:`~importlib.abc.MetaPathFinder.find_spec` method of meta path " "finders replaced :meth:`~importlib.abc.MetaPathFinder.find_module`, which is " "now deprecated. While it will continue to work without change, the import " -"machinery will try it only if the finder does not implement ``find_spec()``." +"machinery will try it only if the finder does not " +"implement :meth:`~importlib.abc.MetaPathFinder.find_spec`." msgstr "" #: ../../reference/import.rst:332 @@ -562,7 +653,7 @@ msgstr "" #: ../../reference/import.rst:338 msgid "Loading" -msgstr "" +msgstr "Carregando" #: ../../reference/import.rst:340 msgid "" @@ -570,16 +661,22 @@ msgid "" "the loader it contains) when loading the module. Here is an approximation " "of what happens during the loading portion of import::" msgstr "" +"Se e quando uma spec de módulo é encontrada, o mecanismo de importação vai " +"usá-la (e o carregador que ela contém) durante o carregamento do módulo. " +"Esta é uma aproximação do que acontece durante a etapa de carregamento de " +"uma importação::" #: ../../reference/import.rst:374 msgid "Note the following details:" -msgstr "" +msgstr "Perceba os seguintes detalhes:" #: ../../reference/import.rst:376 msgid "" -"If there is an existing module object with the given name in :data:`sys." -"modules`, import will have already returned it." +"If there is an existing module object with the given name " +"in :data:`sys.modules`, import will have already returned it." msgstr "" +"Se houver um objeto módulo existente com o nome fornecido " +"em :data:`sys.modules`, a importação já tera retornado ele." #: ../../reference/import.rst:379 msgid "" @@ -589,15 +686,26 @@ msgid "" "prevents unbounded recursion in the worst case and multiple loading in the " "best." msgstr "" +"O módulo irá existir em :data:`sys.modules` antes do carregador executar o " +"código do módulo. Isso é crucial porque o código do módulo pode (direta ou " +"indiretamente) importar a si mesmo; adicioná-lo a :data:`sys.modules` " +"antecipadamente previne recursão infinita no pior caso e múltiplos " +"carregamentos no melhor caso." #: ../../reference/import.rst:385 msgid "" "If loading fails, the failing module -- and only the failing module -- gets " -"removed from :data:`sys.modules`. Any module already in the :data:`sys." -"modules` cache, and any module that was successfully loaded as a side-" -"effect, must remain in the cache. This contrasts with reloading where even " -"the failing module is left in :data:`sys.modules`." -msgstr "" +"removed from :data:`sys.modules`. Any module already in " +"the :data:`sys.modules` cache, and any module that was successfully loaded " +"as a side-effect, must remain in the cache. This contrasts with reloading " +"where even the failing module is left in :data:`sys.modules`." +msgstr "" +"Se o carregamento falhar, o módulo com falha -- e apenas o módulo com falha " +"-- é removido de :data:`sys.modules`. Qualquer módulo já presente no cache " +"de :data:`sys.modules`, e qualquer módulo que tenha sido carregado com " +"sucesso como um efeito colateral, deve permanecer no cache. Isso contrasta " +"com recarregamento, onde mesmo o módulo com falha é mantido " +"em :data:`sys.modules`." #: ../../reference/import.rst:391 msgid "" @@ -606,6 +714,10 @@ msgid "" "code example above), as summarized in a :ref:`later section `." msgstr "" +"Depois que o módulo é criado, mas antes da execução, o mecanismo de " +"importação define os atributos de módulo relacionados a importação " +"(\"_init_module_attrs\" no exemplo de pseudocódigo acima), assim como foi " +"resumido em :ref:`uma seção posterior `." #: ../../reference/import.rst:396 msgid "" @@ -613,23 +725,31 @@ msgid "" "namespace gets populated. Execution is entirely delegated to the loader, " "which gets to decide what gets populated and how." msgstr "" +"Execução de módulo é o momento chave do carregamento, no qual o espaço de " +"nomes do módulo é populado. Execução é inteiramente delegada para o " +"carregador, o qual pode decidir o que será populado e como." #: ../../reference/import.rst:400 msgid "" "The module created during loading and passed to exec_module() may not be the " "one returned at the end of import [#fnlo]_." msgstr "" +"O módulo criado durante o carregamento e passado para exec_module() pode não " +"ser aquele retornado ao final da importação [#fnlo]_." #: ../../reference/import.rst:403 msgid "" "The import system has taken over the boilerplate responsibilities of " -"loaders. These were previously performed by the :meth:`importlib.abc.Loader." -"load_module` method." +"loaders. These were previously performed by " +"the :meth:`importlib.abc.Loader.load_module` method." msgstr "" +"O sistema de importação tem tomado conta das responsabilidades inerentes dos " +"carregadores. Essas responsabilidades eram anteriormente executadas pelo " +"método :meth:`importlib.abc.Loader.load_module`." #: ../../reference/import.rst:409 msgid "Loaders" -msgstr "" +msgstr "Carregadores" #: ../../reference/import.rst:411 msgid "" @@ -638,10 +758,15 @@ msgid "" "method with a single argument, the module object to execute. Any value " "returned from :meth:`~importlib.abc.Loader.exec_module` is ignored." msgstr "" +"Os carregadores de módulo fornecem a função crítica de carregamento: " +"execução do módulo. O mecanismo de importação chama o " +"método :meth:`importlib.abc.Loader.exec_module` com um único argumento, o " +"objeto do módulo a ser executado. Qualquer valor retornado " +"de :meth:`~importlib.abc.Loader.exec_module` é ignorado." #: ../../reference/import.rst:416 msgid "Loaders must satisfy the following requirements:" -msgstr "" +msgstr "Os carregadores devem atender aos seguintes requisitos:" #: ../../reference/import.rst:418 msgid "" @@ -649,13 +774,19 @@ msgid "" "dynamically loaded extension), the loader should execute the module's code " "in the module's global name space (``module.__dict__``)." msgstr "" +"Se o módulo for um módulo Python (em oposição a um módulo embutido ou uma " +"extensão carregada dinamicamente), o carregador deve executar o código do " +"módulo no espaço de nomes global do módulo (``module.__dict__``)." #: ../../reference/import.rst:422 msgid "" -"If the loader cannot execute the module, it should raise an :exc:" -"`ImportError`, although any other exception raised during :meth:`~importlib." -"abc.Loader.exec_module` will be propagated." +"If the loader cannot execute the module, it should raise " +"an :exc:`ImportError`, although any other exception raised " +"during :meth:`~importlib.abc.Loader.exec_module` will be propagated." msgstr "" +"Se o carregador não puder executar o módulo, ele deve levantar uma " +"exceção :exc:`ImportError`, embora qualquer outra exceção levantada " +"durante :meth:`~importlib.abc.Loader.exec_module` será propagada." #: ../../reference/import.rst:426 msgid "" @@ -663,6 +794,9 @@ msgid "" "the :meth:`~importlib.abc.MetaPathFinder.find_spec` method would just return " "a spec with the loader set to ``self``." msgstr "" +"Em muitos casos, o localizador e o carregador podem ser o mesmo objeto; " +"nesses casos o método :meth:`~importlib.abc.MetaPathFinder.find_spec` apenas " +"retornaria um spec com o carregador definido como ``self``." #: ../../reference/import.rst:430 msgid "" @@ -673,17 +807,27 @@ msgid "" "the module object. If the method returns ``None``, the import machinery " "will create the new module itself." msgstr "" +"Os carregadores de módulo podem optar por criar o objeto do módulo durante o " +"carregamento, implementando um " +"método :meth:`~importlib.abc.Loader.create_module`. Leva um argumento, o " +"spec de módulo e retorna o novo objeto do módulo para usar durante o " +"carregamento. ``create_module()`` não precisa definir nenhum atributo no " +"objeto do módulo. Se o método retornar ``None``, o mecanismo de importação " +"criará ele mesmo o novo módulo." #: ../../reference/import.rst:437 msgid "The :meth:`~importlib.abc.Loader.create_module` method of loaders." -msgstr "" +msgstr "O método :meth:`~importlib.abc.Loader.create_module` de carregadores." #: ../../reference/import.rst:440 msgid "" -"The :meth:`~importlib.abc.Loader.load_module` method was replaced by :meth:" -"`~importlib.abc.Loader.exec_module` and the import machinery assumed all the " -"boilerplate responsibilities of loading." +"The :meth:`~importlib.abc.Loader.load_module` method was replaced " +"by :meth:`~importlib.abc.Loader.exec_module` and the import machinery " +"assumed all the boilerplate responsibilities of loading." msgstr "" +"O método :meth:`~importlib.abc.Loader.load_module` foi substituído " +"por :meth:`~importlib.abc.Loader.exec_module` e o mecanismo de importação " +"assumiu todas as responsabilidades inerentes de carregamento." #: ../../reference/import.rst:445 msgid "" @@ -692,6 +836,11 @@ msgid "" "also implement ``exec_module()``. However, ``load_module()`` has been " "deprecated and loaders should implement ``exec_module()`` instead." msgstr "" +"Para compatibilidade com carregadores existentes, o mecanismo de importação " +"usará o método ``load_module()`` de carregadores se ele existir e o " +"carregador também não implementar ``exec_module()``. No entanto, " +"``load_module()`` foi descontinuado e os carregadores devem implementar " +"``exec_module()`` em seu lugar." #: ../../reference/import.rst:450 msgid "" @@ -699,44 +848,63 @@ msgid "" "functionality described above in addition to executing the module. All the " "same constraints apply, with some additional clarification:" msgstr "" +"O método ``load_module()`` deve implementar toda a funcionalidade inerente " +"de carregamento descrita acima, além de executar o módulo. Todas as mesmas " +"restrições se aplicam, com alguns esclarecimentos adicionais:" #: ../../reference/import.rst:454 msgid "" -"If there is an existing module object with the given name in :data:`sys." -"modules`, the loader must use that existing module. (Otherwise, :func:" -"`importlib.reload` will not work correctly.) If the named module does not " -"exist in :data:`sys.modules`, the loader must create a new module object and " -"add it to :data:`sys.modules`." +"If there is an existing module object with the given name " +"in :data:`sys.modules`, the loader must use that existing module. " +"(Otherwise, :func:`importlib.reload` will not work correctly.) If the named " +"module does not exist in :data:`sys.modules`, the loader must create a new " +"module object and add it to :data:`sys.modules`." msgstr "" +"Se houver um objeto de módulo existente com o nome fornecido " +"em :data:`sys.modules`, o carregador deverá usar esse módulo existente. " +"(Caso contrário, :func:`importlib.reload` não funcionará corretamente.) Se o " +"módulo nomeado não existir em :data:`sys.modules`, o carregador deverá criar " +"um novo objeto de módulo e adicioná-lo a :data:`sys.modules`." #: ../../reference/import.rst:460 msgid "" "The module *must* exist in :data:`sys.modules` before the loader executes " "the module code, to prevent unbounded recursion or multiple loading." msgstr "" +"O módulo *deve* existir em :data:`sys.modules` antes que o carregador " +"execute o código do módulo, para evitar recursão ilimitada ou carregamento " +"múltiplo." #: ../../reference/import.rst:464 msgid "" -"If loading fails, the loader must remove any modules it has inserted into :" -"data:`sys.modules`, but it must remove **only** the failing module(s), and " -"only if the loader itself has loaded the module(s) explicitly." +"If loading fails, the loader must remove any modules it has inserted " +"into :data:`sys.modules`, but it must remove **only** the failing module(s), " +"and only if the loader itself has loaded the module(s) explicitly." msgstr "" +"Se o carregamento falhar, o carregador deverá remover quaisquer módulos " +"inseridos em :data:`sys.modules`, mas deverá remover **apenas** o(s) " +"módulo(s) com falha, e somente se o próprio carregador tiver carregado o(s) " +"módulo(s) explicitamente." #: ../../reference/import.rst:469 msgid "" "A :exc:`DeprecationWarning` is raised when ``exec_module()`` is defined but " "``create_module()`` is not." msgstr "" +"Uma exceção :exc:`DeprecationWarning` é levantada quando ``exec_module()`` " +"está definido, mas ``create_module()`` não." #: ../../reference/import.rst:473 msgid "" "An :exc:`ImportError` is raised when ``exec_module()`` is defined but " "``create_module()`` is not." msgstr "" +"Uma exceção :exc:`ImportError` é levantada quando ``exec_module()`` está " +"definido, mas ``create_module()`` não." #: ../../reference/import.rst:477 msgid "Use of ``load_module()`` will raise :exc:`ImportWarning`." -msgstr "" +msgstr "O uso de ``load_module()`` vai levantar :exc:`ImportWarning`." #: ../../reference/import.rst:481 msgid "Submodules" @@ -751,29 +919,44 @@ msgid "" "``spam.foo``, ``spam`` will have an attribute ``foo`` which is bound to the " "submodule. Let's say you have the following directory structure::" msgstr "" +"Quando um submódulo é carregado usando qualquer mecanismo (por exemplo, APIs " +"``importlib``, as instruções ``import`` ou ``import-from``, ou a função " +"``__import__()`` embutida) uma ligação é colocada no espaço de nomes do " +"módulo pai para o objeto submódulo. Por exemplo, se o pacote ``spam`` tiver " +"um submódulo ``foo``, após importar ``spam.foo``, ``spam`` terá um atributo " +"``foo`` que está vinculado ao submódulo. Digamos que você tenha a seguinte " +"estrutura de diretórios::" #: ../../reference/import.rst:494 msgid "and ``spam/__init__.py`` has the following line in it::" -msgstr "" +msgstr "e ``spam/__init__.py`` tem a seguinte linha::" #: ../../reference/import.rst:498 msgid "" "then executing the following puts name bindings for ``foo`` and ``Foo`` in " "the ``spam`` module::" msgstr "" +"então executar o seguinte coloca ligações de nome para ``foo`` e ``Foo`` no " +"módulo ``spam``::" #: ../../reference/import.rst:507 msgid "" "Given Python's familiar name binding rules this might seem surprising, but " "it's actually a fundamental feature of the import system. The invariant " -"holding is that if you have ``sys.modules['spam']`` and ``sys.modules['spam." -"foo']`` (as you would after the above import), the latter must appear as the " -"``foo`` attribute of the former." +"holding is that if you have ``sys.modules['spam']`` and " +"``sys.modules['spam.foo']`` (as you would after the above import), the " +"latter must appear as the ``foo`` attribute of the former." msgstr "" +"Dadas as conhecidas regras de ligação de nomes do Python, isso pode parecer " +"surpreendente, mas na verdade é um recurso fundamental do sistema de " +"importação. A propriedade invariante é que se você tiver " +"``sys.modules['spam']`` e ``sys.modules['spam.foo']`` (como faria após a " +"importação acima), o último deve aparecer como o atributo ``foo`` do " +"primeiro." #: ../../reference/import.rst:514 msgid "Module spec" -msgstr "" +msgstr "Especificação do módulo" #: ../../reference/import.rst:516 msgid "" @@ -782,6 +965,10 @@ msgid "" "modules. The purpose of a module's spec is to encapsulate this import-" "related information on a per-module basis." msgstr "" +"O mecanismo de importação utiliza diversas informações sobre cada módulo " +"durante a importação, principalmente antes do carregamento. A maior parte " +"das informações é comum a todos os módulos. O propósito da spec do módulo é " +"encapsular essas informações relacionadas à importação por módulo." #: ../../reference/import.rst:521 msgid "" @@ -791,6 +978,12 @@ msgid "" "machinery to perform the boilerplate operations of loading, whereas without " "a module spec the loader had that responsibility." msgstr "" +"Usar um spec durante a importação permite que o estado seja transferido " +"entre componentes do sistema de importação, por exemplo entre o localizador " +"que cria o spec de módulo e o carregador que o executa. Mais importante " +"ainda, permite que o mecanismo de importação execute as operações inerentes " +"de carregamento, enquanto que sem um spec de módulo o carregador tinha essa " +"responsabilidade." #: ../../reference/import.rst:527 msgid "" @@ -798,16 +991,22 @@ msgid "" "object. See :class:`~importlib.machinery.ModuleSpec` for details on the " "contents of the module spec." msgstr "" +"A especificação do módulo é exposta como o atributo ``__spec__`` em um " +"objeto módulo. Veja :class:`~importlib.machinery.ModuleSpec` para detalhes " +"sobre o conteúdo da especificação do módulo." #: ../../reference/import.rst:536 msgid "Import-related module attributes" -msgstr "" +msgstr "Atributos de módulo relacionados à importação" #: ../../reference/import.rst:538 msgid "" "The import machinery fills in these attributes on each module object during " "loading, based on the module's spec, before the loader executes the module." msgstr "" +"O mecanismo de importação preenche esses atributos em cada objeto do módulo " +"durante o carregamento, com base na especificação do módulo, antes que o " +"carregador execute o módulo." #: ../../reference/import.rst:544 msgid "" @@ -815,6 +1014,9 @@ msgid "" "module. This name is used to uniquely identify the module in the import " "system." msgstr "" +"O atributo ``__name__`` deve ser definido como o nome totalmente qualificado " +"do módulo. Este nome é usado para identificar exclusivamente o módulo no " +"sistema de importação." #: ../../reference/import.rst:550 msgid "" @@ -823,6 +1025,11 @@ msgid "" "introspection, but can be used for additional loader-specific functionality, " "for example getting data associated with a loader." msgstr "" +"O atributo ``__loader__`` deve ser definido para o objeto carregador que o " +"mecanismo de importação usou ao carregar o módulo. Isto é principalmente " +"para introspecção, mas pode ser usado para funcionalidades adicionais " +"específicas do carregador, por exemplo, obter dados associados a um " +"carregador." #: ../../reference/import.rst:557 msgid "" @@ -843,18 +1050,25 @@ msgstr "" #: ../../reference/import.rst:569 msgid "" -"The value of ``__package__`` is expected to be the same as ``__spec__." -"parent``." +"The value of ``__package__`` is expected to be the same as " +"``__spec__.parent``." msgstr "" +"Espera-se que o valor de ``__package__`` seja o mesmo que " +"``__spec__.parent``." #: ../../reference/import.rst:575 msgid "" "The ``__spec__`` attribute must be set to the module spec that was used when " -"importing the module. Setting ``__spec__`` appropriately applies equally to :" -"ref:`modules initialized during interpreter startup `. The one " -"exception is ``__main__``, where ``__spec__`` is :ref:`set to None in some " -"cases `." +"importing the module. Setting ``__spec__`` appropriately applies equally " +"to :ref:`modules initialized during interpreter startup `. The " +"one exception is ``__main__``, where ``__spec__`` is :ref:`set to None in " +"some cases `." msgstr "" +"O atributo ``__spec__`` deve ser definido para a especificação do módulo que " +"foi usada ao importar o módulo. Definir ``__spec__`` apropriadamente se " +"aplica igualmente a :ref:`módulos inicializados durante a inicialização do " +"interpretador `. A única exceção é ``__main__``, onde ``__spec__`` " +"é :ref:`definido como None em alguns casos `." #: ../../reference/import.rst:581 msgid "" @@ -867,6 +1081,8 @@ msgid "" "``__spec__.parent`` is used as a fallback when ``__package__`` is not " "defined." msgstr "" +"``__spec__.parent`` é usado como uma alternativa quando ``__package__`` não " +"está definido." #: ../../reference/import.rst:592 msgid "" @@ -877,10 +1093,16 @@ msgid "" "details on the semantics of ``__path__`` are given :ref:`below `." msgstr "" +"Se o módulo for um pacote (normal ou espaço de nomes), o atributo " +"``__path__`` do objeto do módulo deve ser definido. O valor deve ser " +"iterável, mas pode estar vazio se ``__path__`` não tiver mais significado. " +"Se ``__path__`` não estiver vazio, ele deverá produzir strings quando " +"iterado. Mais detalhes sobre a semântica de ``__path__`` são " +"fornecidos :ref:`abaixo `." #: ../../reference/import.rst:599 msgid "Non-package modules should not have a ``__path__`` attribute." -msgstr "" +msgstr "Módulos que não são de pacote não devem ter um atributo ``__path__``." #: ../../reference/import.rst:604 msgid "" @@ -892,6 +1114,14 @@ msgid "" "interpreter, and the import system may opt to leave it unset if it has no " "semantic meaning (e.g. a module loaded from a database)." msgstr "" +"``__file__`` é opcional (se definido, o valor deve ser uma string). Indica o " +"nome do caminho do arquivo do qual o módulo foi carregado (se carregado de " +"um arquivo) ou o nome do caminho do arquivo da biblioteca compartilhada para " +"módulos de extensão carregados dinamicamente de uma biblioteca " +"compartilhada. Pode estar faltando para certos tipos de módulos, como " +"módulos C que estão estaticamente vinculados ao interpretador, e o sistema " +"de importação pode optar por deixá-lo sem definição se não tiver significado " +"semântico (por exemplo, um módulo carregado de um banco de dados)." #: ../../reference/import.rst:613 msgid "" @@ -900,6 +1130,11 @@ msgid "" "file). The file does not need to exist to set this attribute; the path can " "simply point to where the compiled file would exist (see :pep:`3147`)." msgstr "" +"Se ``__file__`` estiver definido então o atributo ``__cached__`` também pode " +"ser definido, que é o caminho para qualquer versão compilada do código (por " +"exemplo, arquivo compilado por byte). O arquivo não precisa existir para " +"configurar esse atributo; o caminho pode simplesmente apontar para onde o " +"arquivo compilado existiria (veja :pep:`3147`)." #: ../../reference/import.rst:619 msgid "" @@ -910,32 +1145,49 @@ msgid "" "module but otherwise does not load from a file, that atypical scenario may " "be appropriate." msgstr "" +"Observe que ``__cached__`` pode ser definido mesmo se ``__file__`` não " +"estiver definido. No entanto, esse cenário é bastante atípico. Em última " +"análise, o carregador é o que faz uso da especificação do módulo fornecida " +"pelo localizador (do qual ``__file__`` e ``__cached__`` são derivados). " +"Portanto, se um carregador puder carregar a partir de um módulo em cache, " +"mas não carregar a partir de um arquivo, esse cenário atípico poderá ser " +"apropriado." #: ../../reference/import.rst:629 msgid "module.__path__" -msgstr "" +msgstr "module.__path__" #: ../../reference/import.rst:631 msgid "" "By definition, if a module has a ``__path__`` attribute, it is a package." msgstr "" +"Por definição, se um módulo possui um atributo ``__path__``, ele é um pacote." #: ../../reference/import.rst:633 msgid "" "A package's ``__path__`` attribute is used during imports of its " -"subpackages. Within the import machinery, it functions much the same as :" -"data:`sys.path`, i.e. providing a list of locations to search for modules " -"during import. However, ``__path__`` is typically much more constrained " -"than :data:`sys.path`." +"subpackages. Within the import machinery, it functions much the same " +"as :data:`sys.path`, i.e. providing a list of locations to search for " +"modules during import. However, ``__path__`` is typically much more " +"constrained than :data:`sys.path`." msgstr "" +"O atributo ``__path__`` de um pacote é usado durante as importações de seus " +"subpacotes. Dentro do mecanismo de importação, funciona da mesma forma " +"que :data:`sys.path`, ou seja, fornecendo uma lista de locais para procurar " +"módulos durante a importação. Entretanto, ``__path__`` normalmente é muito " +"mais restrito que :data:`sys.path`." #: ../../reference/import.rst:639 msgid "" "``__path__`` must be an iterable of strings, but it may be empty. The same " -"rules used for :data:`sys.path` also apply to a package's ``__path__``, and :" -"data:`sys.path_hooks` (described below) are consulted when traversing a " +"rules used for :data:`sys.path` also apply to a package's ``__path__``, " +"and :data:`sys.path_hooks` (described below) are consulted when traversing a " "package's ``__path__``." msgstr "" +"``__path__`` deve ser um iterável de strings, mas pode estar vazio. As " +"mesmas regras usadas para :data:`sys.path` também se aplicam ao ``__path__`` " +"de um pacote, e :data:`sys.path_hooks` (descrito abaixo) são consultados ao " +"percorrer o ``__path__`` de um pacote." #: ../../reference/import.rst:644 msgid "" @@ -946,10 +1198,17 @@ msgid "" "``__path__`` manipulation code; the import machinery automatically sets " "``__path__`` correctly for the namespace package." msgstr "" +"O arquivo ``__init__.py`` de um pacote pode definir ou alterar o atributo " +"``__path__`` do pacote, e esta era tipicamente a forma como os pacotes de " +"espaço de nomes eram implementados antes de :pep:`420`. Com a adoção " +"da :pep:`420`, os pacotes de espaço de nomes não precisam mais fornecer " +"arquivos ``__init__.py`` contendo apenas código de manipulação de " +"``__path__``; o mecanismo de importação define automaticamente ``__path__`` " +"corretamente para o pacote de espaço de nomes." #: ../../reference/import.rst:652 msgid "Module reprs" -msgstr "" +msgstr "Representações do módulo" #: ../../reference/import.rst:654 msgid "" @@ -957,20 +1216,30 @@ msgid "" "attributes set above, and in the module's spec, you can more explicitly " "control the repr of module objects." msgstr "" +"Por padrão, todos os módulos têm uma representação (repr) utilizável, no " +"entanto, dependendo dos atributos definidos acima e do spec do módulo, você " +"pode controlar mais explicitamente a representação dos objetos módulo." #: ../../reference/import.rst:658 msgid "" "If the module has a spec (``__spec__``), the import machinery will try to " "generate a repr from it. If that fails or there is no spec, the import " "system will craft a default repr using whatever information is available on " -"the module. It will try to use the ``module.__name__``, ``module." -"__file__``, and ``module.__loader__`` as input into the repr, with defaults " -"for whatever information is missing." -msgstr "" +"the module. It will try to use the ``module.__name__``, " +"``module.__file__``, and ``module.__loader__`` as input into the repr, with " +"defaults for whatever information is missing." +msgstr "" +"Se o módulo tiver um spec (``__spec__``), o mecanismo de importação tentará " +"gerar uma representação a partir dele. Se isso falhar ou não houver nenhuma " +"especificação, o sistema de importação criará uma representação padrão " +"usando qualquer informação disponível no módulo. Ele tentará usar " +"``module.__name__``, ``module.__file__`` e ``module.__loader__`` como " +"entrada para a representação, com padrões para qualquer informação que " +"esteja faltando." #: ../../reference/import.rst:665 msgid "Here are the exact rules used:" -msgstr "" +msgstr "Arquivo estão as exatas regras usadas:" #: ../../reference/import.rst:667 msgid "" @@ -978,22 +1247,30 @@ msgid "" "used to generate the repr. The \"name\", \"loader\", \"origin\", and " "\"has_location\" attributes are consulted." msgstr "" +"Se o módulo tiver um atributo ``__spec__``, a informação no spec é usada " +"para gerar a representação. Os atributos \"name\", \"loader\", \"origin\" e " +"\"has_location\" são consultados." #: ../../reference/import.rst:671 msgid "" "If the module has a ``__file__`` attribute, this is used as part of the " "module's repr." msgstr "" +"Se o módulo tiver um atributo ``__file__``, ele será usado como parte da " +"representação do módulo." #: ../../reference/import.rst:674 msgid "" "If the module has no ``__file__`` but does have a ``__loader__`` that is not " "``None``, then the loader's repr is used as part of the module's repr." msgstr "" +"Se o módulo não tem ``__file__`` mas tem um ``__loader__`` que não seja " +"``None``, então a representação do carregador é usado como parte da " +"representação do módulo." #: ../../reference/import.rst:677 msgid "Otherwise, just use the module's ``__name__`` in the repr." -msgstr "" +msgstr "Caso contrário, basta usar o ``__name__`` do módulo na representação." #: ../../reference/import.rst:679 msgid "" @@ -1020,7 +1297,7 @@ msgstr "" #: ../../reference/import.rst:699 msgid "Cached bytecode invalidation" -msgstr "" +msgstr "Invalidação de bytecode em cache" #: ../../reference/import.rst:701 msgid "" @@ -1031,39 +1308,66 @@ msgid "" "cache file by checking the stored metadata in the cache file against the " "source's metadata." msgstr "" +"Antes do Python carregar o bytecode armazenado em cache de um arquivo " +"``.pyc``, ele verifica se o cache está atualizado com o arquivo fonte " +"``.py``. Por padrão, o Python faz isso armazenando o registro de data e hora " +"da última modificação da fonte e o tamanho no arquivo de cache ao escrevê-" +"lo. No tempo de execução, o sistema de importação valida o arquivo de cache " +"verificando os metadados armazenados no arquivo de cache em relação aos " +"metadados do código-fonte." #: ../../reference/import.rst:708 msgid "" "Python also supports \"hash-based\" cache files, which store a hash of the " "source file's contents rather than its metadata. There are two variants of " -"hash-based ``.pyc`` files: checked and unchecked. For checked hash-based ``." -"pyc`` files, Python validates the cache file by hashing the source file and " -"comparing the resulting hash with the hash in the cache file. If a checked " -"hash-based cache file is found to be invalid, Python regenerates it and " -"writes a new checked hash-based cache file. For unchecked hash-based ``." -"pyc`` files, Python simply assumes the cache file is valid if it exists. " -"Hash-based ``.pyc`` files validation behavior may be overridden with the :" -"option:`--check-hash-based-pycs` flag." -msgstr "" +"hash-based ``.pyc`` files: checked and unchecked. For checked hash-based " +"``.pyc`` files, Python validates the cache file by hashing the source file " +"and comparing the resulting hash with the hash in the cache file. If a " +"checked hash-based cache file is found to be invalid, Python regenerates it " +"and writes a new checked hash-based cache file. For unchecked hash-based " +"``.pyc`` files, Python simply assumes the cache file is valid if it exists. " +"Hash-based ``.pyc`` files validation behavior may be overridden with " +"the :option:`--check-hash-based-pycs` flag." +msgstr "" +"Python também oferece suporte a arquivos de cache \"baseados em hash\", que " +"armazenam um hash do conteúdo do arquivo fonte em vez de seus metadados. " +"Existem duas variantes de arquivos ``.pyc`` baseados em hash: verificados e " +"não verificados. Para arquivos ``.pyc`` baseados em hash verificados, o " +"Python valida o arquivo de cache fazendo hash do arquivo fonte e comparando " +"o hash resultante com o hash no arquivo de cache. Se um arquivo de cache " +"baseado em hash verificado for inválido, o Python o regenerará e gravará um " +"novo arquivo de cache baseado em hash verificado. Para arquivos ``.pyc`` " +"baseados em hash não verificados, o Python simplesmente presume que o " +"arquivo de cache é válido, se existir. O comportamento de validação de " +"arquivos ``.pyc`` baseados em hash pode ser substituído pelo " +"sinalizador :option:`--check-hash-based-pycs`." #: ../../reference/import.rst:719 msgid "" "Added hash-based ``.pyc`` files. Previously, Python only supported timestamp-" "based invalidation of bytecode caches." msgstr "" +"Adicionados arquivos ``.pyc`` baseados em hash. Anteriormente, o Python " +"oferecia suporte apenas à invalidação de caches de bytecode baseada em " +"registro de data e hora." #: ../../reference/import.rst:725 msgid "The Path Based Finder" -msgstr "" +msgstr "O localizador baseado no caminho" #: ../../reference/import.rst:730 msgid "" "As mentioned previously, Python comes with several default meta path " -"finders. One of these, called the :term:`path based finder` (:class:" -"`~importlib.machinery.PathFinder`), searches an :term:`import path`, which " -"contains a list of :term:`path entries `. Each path entry names " -"a location to search for modules." +"finders. One of these, called the :term:`path based finder` " +"(:class:`~importlib.machinery.PathFinder`), searches an :term:`import path`, " +"which contains a list of :term:`path entries `. Each path entry " +"names a location to search for modules." msgstr "" +"Conforme mencionado anteriormente, Python vem com vários localizadores de " +"metacaminho padrão. Um deles, chamado :term:`localizador baseado no caminho` " +"(:class:`~importlib.machinery.PathFinder`), pesquisa um :term:`caminho de " +"importação`, que contém uma lista de :term:`entradas de caminho `. Cada entrada de caminho nomeia um local para procurar módulos." #: ../../reference/import.rst:736 msgid "" @@ -1071,17 +1375,29 @@ msgid "" "it traverses the individual path entries, associating each of them with a " "path entry finder that knows how to handle that particular kind of path." msgstr "" +"O próprio localizador baseado no caminho não sabe como importar nada. Em vez " +"disso, ele percorre as entradas de caminho individuais, associando cada uma " +"delas a um localizador de entrada de caminho que sabe como lidar com esse " +"tipo específico de caminho." #: ../../reference/import.rst:740 msgid "" "The default set of path entry finders implement all the semantics for " "finding modules on the file system, handling special file types such as " "Python source code (``.py`` files), Python byte code (``.pyc`` files) and " -"shared libraries (e.g. ``.so`` files). When supported by the :mod:" -"`zipimport` module in the standard library, the default path entry finders " -"also handle loading all of these file types (other than shared libraries) " -"from zipfiles." -msgstr "" +"shared libraries (e.g. ``.so`` files). When supported by " +"the :mod:`zipimport` module in the standard library, the default path entry " +"finders also handle loading all of these file types (other than shared " +"libraries) from zipfiles." +msgstr "" +"O conjunto padrão de localizadores de entrada de caminho implementa toda a " +"semântica para localizar módulos no sistema de arquivos, manipulando tipos " +"de arquivos especiais, como código-fonte Python (arquivos ``.py``), código " +"de bytes Python (arquivos ``.pyc``) e bibliotecas compartilhadas (por " +"exemplo, arquivos ``.so``). Quando suportado pelo módulo :mod:`zipimport` na " +"biblioteca padrão, os localizadores de entrada de caminho padrão também " +"lidam com o carregamento de todos esses tipos de arquivos (exceto " +"bibliotecas compartilhadas) de arquivos zip." #: ../../reference/import.rst:747 msgid "" @@ -1089,6 +1405,9 @@ msgid "" "to URLs, database queries, or any other location that can be specified as a " "string." msgstr "" +"As entradas de caminho não precisam ser limitadas aos locais do sistema de " +"arquivos. Eles podem referir-se a URLs, consultas de banco de dados ou " +"qualquer outro local que possa ser especificado como uma string." #: ../../reference/import.rst:751 msgid "" @@ -1100,17 +1419,33 @@ msgid "" "protocol described below, which was then used to get a loader for the module " "from the web." msgstr "" +"O localizador baseado no caminho fornece ganchos e protocolos adicionais " +"para que você possa estender e personalizar os tipos de entradas de caminho " +"pesquisáveis. Por exemplo, se você quiser oferecer suporte a entradas de " +"caminho como URLs de rede, poderá escrever um gancho que implemente a " +"semântica HTTP para localizar módulos na web. Este gancho (um chamável) " +"retornaria um :term:`localizador de entrada de caminho` suportando o " +"protocolo descrito abaixo, que foi então usado para obter um carregador para " +"o módulo da web." #: ../../reference/import.rst:759 msgid "" "A word of warning: this section and the previous both use the term *finder*, " -"distinguishing between them by using the terms :term:`meta path finder` and :" -"term:`path entry finder`. These two types of finders are very similar, " +"distinguishing between them by using the terms :term:`meta path finder` " +"and :term:`path entry finder`. These two types of finders are very similar, " "support similar protocols, and function in similar ways during the import " "process, but it's important to keep in mind that they are subtly different. " "In particular, meta path finders operate at the beginning of the import " "process, as keyed off the :data:`sys.meta_path` traversal." msgstr "" +"Uma palavra de advertência: esta seção e a anterior usam o termo " +"*localizador*, distinguindo-os usando os termos :term:`localizador de " +"metacaminho` e :term:`localizador de entrada de caminho`. Esses dois tipos " +"de localizadores são muito semelhantes, oferecem suporte a protocolos " +"semelhantes e funcionam de maneira semelhante durante o processo de " +"importação, mas é importante ter em mente que eles são sutilmente " +"diferentes. Em particular, os localizadores de metacaminho operam no início " +"do processo de importação, conforme a travessia de :data:`sys.meta_path`." #: ../../reference/import.rst:767 msgid "" @@ -1119,10 +1454,15 @@ msgid "" "removed from :data:`sys.meta_path`, none of the path entry finder semantics " "would be invoked." msgstr "" +"Por outro lado, os localizadores de entrada de caminho são, em certo " +"sentido, um detalhe de implementação do localizador baseado no caminho e, de " +"fato, se o localizador baseado no caminho fosse removido " +"de :data:`sys.meta_path`, nenhuma semântica do localizador de entrada de " +"caminho seria ser invocado." #: ../../reference/import.rst:774 msgid "Path entry finders" -msgstr "" +msgstr "Localizadores de entrada de caminho" #: ../../reference/import.rst:782 msgid "" @@ -1131,88 +1471,144 @@ msgid "" "entry`. Most path entries name locations in the file system, but they need " "not be limited to this." msgstr "" +"O :term:`localizador baseado no caminho` é responsável por encontrar e " +"carregar módulos e pacotes Python cuja localização é especificada com uma " +"string :term:`entrada de caminho`. A maioria das entradas de caminho nomeiam " +"locais no sistema de arquivos, mas não precisam ser limitadas a isso." #: ../../reference/import.rst:787 msgid "" -"As a meta path finder, the :term:`path based finder` implements the :meth:" -"`~importlib.abc.MetaPathFinder.find_spec` protocol previously described, " -"however it exposes additional hooks that can be used to customize how " -"modules are found and loaded from the :term:`import path`." +"As a meta path finder, the :term:`path based finder` implements " +"the :meth:`~importlib.abc.MetaPathFinder.find_spec` protocol previously " +"described, however it exposes additional hooks that can be used to customize " +"how modules are found and loaded from the :term:`import path`." msgstr "" +"Como um localizador de metacaminho, o :term:`localizador baseado no caminho` " +"implementa o protocolo :meth:`~importlib.abc.MetaPathFinder.find_spec` " +"descrito anteriormente, no entanto, ele expõe ganchos adicionais que podem " +"ser usados para personalizar como os módulos são encontrados e carregado " +"do :term:`caminho de importação`." #: ../../reference/import.rst:792 msgid "" -"Three variables are used by the :term:`path based finder`, :data:`sys." -"path`, :data:`sys.path_hooks` and :data:`sys.path_importer_cache`. The " -"``__path__`` attributes on package objects are also used. These provide " -"additional ways that the import machinery can be customized." +"Three variables are used by the :term:`path based " +"finder`, :data:`sys.path`, :data:`sys.path_hooks` " +"and :data:`sys.path_importer_cache`. The ``__path__`` attributes on package " +"objects are also used. These provide additional ways that the import " +"machinery can be customized." msgstr "" +"Três variáveis são usadas pelo :term:`localizador baseado no " +"caminho`, :data:`sys.path`, :data:`sys.path_hooks` " +"e :data:`sys.path_importer_cache`. Os atributos ``__path__`` em objetos de " +"pacote também são usados. Eles fornecem maneiras adicionais de personalizar " +"o mecanismo de importação." #: ../../reference/import.rst:797 msgid "" ":data:`sys.path` contains a list of strings providing search locations for " -"modules and packages. It is initialized from the :data:`PYTHONPATH` " +"modules and packages. It is initialized from the :envvar:`PYTHONPATH` " "environment variable and various other installation- and implementation-" "specific defaults. Entries in :data:`sys.path` can name directories on the " -"file system, zip files, and potentially other \"locations\" (see the :mod:" -"`site` module) that should be searched for modules, such as URLs, or " -"database queries. Only strings should be present on :data:`sys.path`; all " -"other data types are ignored." -msgstr "" +"file system, zip files, and potentially other \"locations\" (see " +"the :mod:`site` module) that should be searched for modules, such as URLs, " +"or database queries. Only strings should be present on :data:`sys.path`; " +"all other data types are ignored." +msgstr "" +":data:`sys.path` contém uma lista de strings fornecendo locais de pesquisa " +"para módulos e pacotes. Ele é inicializado a partir da variável de " +"ambiente :envvar:`PYTHONPATH` e vários outros padrões específicos de " +"instalação e implementação. Entradas em :data:`sys.path` podem nomear " +"diretórios no sistema de arquivos, arquivos zip e potencialmente outros " +"\"locais\" (veja o módulo :mod:`site`) que devem ser pesquisados por " +"módulos, como URLs, ou consultas ao banco de dados. Apenas strings devem " +"estar presentes em :data:`sys.path`; todos os outros tipos de dados são " +"ignorados." #: ../../reference/import.rst:806 msgid "" "The :term:`path based finder` is a :term:`meta path finder`, so the import " "machinery begins the :term:`import path` search by calling the path based " "finder's :meth:`~importlib.machinery.PathFinder.find_spec` method as " -"described previously. When the ``path`` argument to :meth:`~importlib." -"machinery.PathFinder.find_spec` is given, it will be a list of string paths " -"to traverse - typically a package's ``__path__`` attribute for an import " -"within that package. If the ``path`` argument is ``None``, this indicates a " -"top level import and :data:`sys.path` is used." -msgstr "" +"described previously. When the ``path`` argument " +"to :meth:`~importlib.machinery.PathFinder.find_spec` is given, it will be a " +"list of string paths to traverse - typically a package's ``__path__`` " +"attribute for an import within that package. If the ``path`` argument is " +"``None``, this indicates a top level import and :data:`sys.path` is used." +msgstr "" +"O :term:`localizador baseado no caminho` é um :term:`localizador de " +"metacaminho`, então o mecanismo de importação inicia a pesquisa " +"no :term:`caminho de importação` chamando o " +"método :meth:`~importlib.machinery.PathFinder.find_spec` do localizador " +"baseado no caminho conforme descrito anteriormente. Quando o argumento " +"``path`` para :meth:`~importlib.machinery.PathFinder.find_spec` for " +"fornecido, será uma lista de caminhos de string a serem percorridos -- " +"normalmente o atributo ``__path__`` de um pacote para uma importação dentro " +"desse pacote. Se o argumento ``path`` for ``None``, isso indica uma " +"importação de nível superior e :data:`sys.path` é usado." #: ../../reference/import.rst:815 msgid "" "The path based finder iterates over every entry in the search path, and for " -"each of these, looks for an appropriate :term:`path entry finder` (:class:" -"`~importlib.abc.PathEntryFinder`) for the path entry. Because this can be " -"an expensive operation (e.g. there may be ``stat()`` call overheads for this " -"search), the path based finder maintains a cache mapping path entries to " -"path entry finders. This cache is maintained in :data:`sys." -"path_importer_cache` (despite the name, this cache actually stores finder " -"objects rather than being limited to :term:`importer` objects). In this way, " -"the expensive search for a particular :term:`path entry` location's :term:" -"`path entry finder` need only be done once. User code is free to remove " -"cache entries from :data:`sys.path_importer_cache` forcing the path based " -"finder to perform the path entry search again [#fnpic]_." +"each of these, looks for an appropriate :term:`path entry finder` " +"(:class:`~importlib.abc.PathEntryFinder`) for the path entry. Because this " +"can be an expensive operation (e.g. there may be ``stat()`` call overheads " +"for this search), the path based finder maintains a cache mapping path " +"entries to path entry finders. This cache is maintained " +"in :data:`sys.path_importer_cache` (despite the name, this cache actually " +"stores finder objects rather than being limited to :term:`importer` " +"objects). In this way, the expensive search for a particular :term:`path " +"entry` location's :term:`path entry finder` need only be done once. User " +"code is free to remove cache entries from :data:`sys.path_importer_cache` " +"forcing the path based finder to perform the path entry search again " +"[#fnpic]_." msgstr "" #: ../../reference/import.rst:828 msgid "" "If the path entry is not present in the cache, the path based finder " -"iterates over every callable in :data:`sys.path_hooks`. Each of the :term:" -"`path entry hooks ` in this list is called with a single " -"argument, the path entry to be searched. This callable may either return a :" -"term:`path entry finder` that can handle the path entry, or it may raise :" -"exc:`ImportError`. An :exc:`ImportError` is used by the path based finder " -"to signal that the hook cannot find a :term:`path entry finder` for that :" -"term:`path entry`. The exception is ignored and :term:`import path` " +"iterates over every callable in :data:`sys.path_hooks`. Each of " +"the :term:`path entry hooks ` in this list is called with a " +"single argument, the path entry to be searched. This callable may either " +"return a :term:`path entry finder` that can handle the path entry, or it may " +"raise :exc:`ImportError`. An :exc:`ImportError` is used by the path based " +"finder to signal that the hook cannot find a :term:`path entry finder` for " +"that :term:`path entry`. The exception is ignored and :term:`import path` " "iteration continues. The hook should expect either a string or bytes " "object; the encoding of bytes objects is up to the hook (e.g. it may be a " "file system encoding, UTF-8, or something else), and if the hook cannot " "decode the argument, it should raise :exc:`ImportError`." msgstr "" +"Se a entrada de caminho não estiver presente no cache, o localizador baseado " +"no caminho itera sobre cada chamável em :data:`sys.path_hooks`. Cada um " +"dos :term:`ganchos de entrada de caminho ` nesta lista é " +"chamado com um único argumento, a entrada de caminho a ser pesquisada. Este " +"chamável pode retornar um :term:`localizador de entrada de caminho` que pode " +"manipular a entrada de caminho ou pode levantar :exc:`ImportError`. " +"Um :exc:`ImportError` é usado pelo localizador baseado no caminho para " +"sinalizar que o gancho não consegue encontrar um :term:`localizador de " +"entrada de caminho` para aquela :term:`entrada de caminho`. A exceção é " +"ignorada e a iteração com o :term:`caminho de importação` continua. O gancho " +"deve esperar um objeto string ou bytes; a codificação de objetos bytes " +"depende do gancho (por exemplo, pode ser uma codificação de sistema de " +"arquivos, UTF-8 ou outra coisa) e, se o gancho não puder decodificar o " +"argumento, ele deve levantar :exc:`ImportError`." #: ../../reference/import.rst:842 msgid "" "If :data:`sys.path_hooks` iteration ends with no :term:`path entry finder` " -"being returned, then the path based finder's :meth:`~importlib.machinery." -"PathFinder.find_spec` method will store ``None`` in :data:`sys." -"path_importer_cache` (to indicate that there is no finder for this path " -"entry) and return ``None``, indicating that this :term:`meta path finder` " -"could not find the module." -msgstr "" +"being returned, then the path based " +"finder's :meth:`~importlib.machinery.PathFinder.find_spec` method will store " +"``None`` in :data:`sys.path_importer_cache` (to indicate that there is no " +"finder for this path entry) and return ``None``, indicating that " +"this :term:`meta path finder` could not find the module." +msgstr "" +"Se a iteração :data:`sys.path_hooks` terminar sem que " +"nenhum :term:`localizador de entrada de caminho` seja retornado, o " +"método :meth:`~importlib.machinery.PathFinder.find_spec` do localizador " +"baseado no caminho armazenará ``None`` em :data:`sys.path_importer_cache` " +"(para indicar que não há um localizador para esta entrada de caminho) e " +"retornará ``None``, indicando que este :term:`localizador de metacaminho` " +"não conseguiu encontrar o módulo." #: ../../reference/import.rst:849 msgid "" @@ -1221,22 +1617,35 @@ msgid "" "used to ask the finder for a module spec, which is then used when loading " "the module." msgstr "" +"Se um :term:`localizador de entrada de caminho` *for* retornado por um dos " +"chamáveis de :term:`gancho de entrada de caminho` em :data:`sys.path_hooks`, " +"então o seguinte protocolo é usado para solicitar ao localizador um spec de " +"módulo, que é então usada ao carregar o módulo." #: ../../reference/import.rst:854 msgid "" "The current working directory -- denoted by an empty string -- is handled " "slightly differently from other entries on :data:`sys.path`. First, if the " -"current working directory is found to not exist, no value is stored in :data:" -"`sys.path_importer_cache`. Second, the value for the current working " -"directory is looked up fresh for each module lookup. Third, the path used " -"for :data:`sys.path_importer_cache` and returned by :meth:`importlib." -"machinery.PathFinder.find_spec` will be the actual current working directory " -"and not the empty string." -msgstr "" +"current working directory is found to not exist, no value is stored " +"in :data:`sys.path_importer_cache`. Second, the value for the current " +"working directory is looked up fresh for each module lookup. Third, the path " +"used for :data:`sys.path_importer_cache` and returned " +"by :meth:`importlib.machinery.PathFinder.find_spec` will be the actual " +"current working directory and not the empty string." +msgstr "" +"O diretório de trabalho atual -- denotado por uma string vazia -- é tratado " +"de forma ligeiramente diferente de outras entradas em :data:`sys.path`. " +"Primeiro, se o diretório de trabalho atual for considerado inexistente, " +"nenhum valor será armazenado em :data:`sys.path_importer_cache`. Segundo, o " +"valor para o diretório de trabalho atual é pesquisado novamente para cada " +"pesquisa de módulo. Terceiro, o caminho usado " +"para :data:`sys.path_importer_cache` e retornado " +"por :meth:`importlib.machinery.PathFinder.find_spec` será o diretório de " +"trabalho atual real e não a string vazia." #: ../../reference/import.rst:864 msgid "Path entry finder protocol" -msgstr "" +msgstr "Protocolo do localizador de entrada de caminho" #: ../../reference/import.rst:866 msgid "" @@ -1244,6 +1653,10 @@ msgid "" "contribute portions to namespace packages, path entry finders must implement " "the :meth:`~importlib.abc.PathEntryFinder.find_spec` method." msgstr "" +"Para dar suporte a importações de módulos e pacotes inicializados e também " +"contribuir com partes para pacotes de espaço de nomes, os localizadores de " +"entrada de caminho devem implementar o " +"método :meth:`~importlib.abc.PathEntryFinder.find_spec`." #: ../../reference/import.rst:870 msgid "" @@ -1252,20 +1665,24 @@ msgid "" "module. ``find_spec()`` returns a fully populated spec for the module. This " "spec will always have \"loader\" set (with one exception)." msgstr "" +":meth:`~importlib.abc.PathEntryFinder.find_spec` recebe dois argumentos: o " +"nome totalmente qualificado do módulo que está sendo importado e o módulo de " +"destino (opcional). ``find_spec()`` retorna um spec totalmente preenchido " +"para o módulo. Este spec sempre terá \"loader\" definido (com uma exceção)." #: ../../reference/import.rst:875 msgid "" -"To indicate to the import machinery that the spec represents a namespace :" -"term:`portion`, the path entry finder sets \"submodule_search_locations\" to " -"a list containing the portion." +"To indicate to the import machinery that the spec represents a " +"namespace :term:`portion`, the path entry finder sets " +"\"submodule_search_locations\" to a list containing the portion." msgstr "" #: ../../reference/import.rst:879 msgid "" -":meth:`~importlib.abc.PathEntryFinder.find_spec` replaced :meth:`~importlib." -"abc.PathEntryFinder.find_loader` and :meth:`~importlib.abc.PathEntryFinder." -"find_module`, both of which are now deprecated, but will be used if " -"``find_spec()`` is not defined." +":meth:`~importlib.abc.PathEntryFinder.find_spec` " +"replaced :meth:`~importlib.abc.PathEntryFinder.find_loader` " +"and :meth:`~importlib.abc.PathEntryFinder.find_module`, both of which are " +"now deprecated, but will be used if ``find_spec()`` is not defined." msgstr "" #: ../../reference/import.rst:885 @@ -1275,6 +1692,11 @@ msgid "" "backward compatibility. However, if ``find_spec()`` is implemented on the " "path entry finder, the legacy methods are ignored." msgstr "" +"Os localizadores de entrada de caminho mais antigos podem implementar um " +"desses dois métodos descontinuados em vez de ``find_spec()``. Os métodos " +"ainda são respeitados para fins de compatibilidade com versões anteriores. " +"No entanto, se ``find_spec()`` for implementado no localizador de entrada de " +"caminho, os métodos legados serão ignorados." #: ../../reference/import.rst:890 msgid "" @@ -1293,6 +1715,13 @@ msgid "" "(they are expected to record the appropriate path information from the " "initial call to the path hook)." msgstr "" +"Para compatibilidade com versões anteriores de outras implementações do " +"protocolo de importação, muitos localizadores de entrada de caminho também " +"dão suporte ao mesmo método tradicional ``find_module()`` que os " +"localizadores de metacaminho. No entanto, os métodos ``find_module()`` do " +"localizador de entrada de caminho nunca são chamados com um argumento " +"``path`` (espera-se que eles registrem as informações de caminho apropriadas " +"da chamada inicial para o gancho de caminho)." #: ../../reference/import.rst:902 msgid "" @@ -1302,17 +1731,23 @@ msgid "" "entry finder, the import system will always call ``find_loader()`` in " "preference to ``find_module()``." msgstr "" +"O método ``find_module()`` em localizadores de entrada de caminho foi " +"descontinuado, pois não permite que o localizador de entrada de caminho " +"contribua com porções para pacotes de espaço de nomes. Se ``find_loader()`` " +"e ``find_module()`` existirem em um localizador de entrada de caminho, o " +"sistema de importação sempre chamará ``find_loader()`` em preferência a " +"``find_module()``." #: ../../reference/import.rst:908 msgid "" -"Calls to :meth:`~importlib.abc.PathEntryFinder.find_module` and :meth:" -"`~importlib.abc.PathEntryFinder.find_loader` by the import system will " -"raise :exc:`ImportWarning`." +"Calls to :meth:`~importlib.abc.PathEntryFinder.find_module` " +"and :meth:`~importlib.abc.PathEntryFinder.find_loader` by the import system " +"will raise :exc:`ImportWarning`." msgstr "" #: ../../reference/import.rst:915 msgid "Replacing the standard import system" -msgstr "" +msgstr "Substituindo o sistema de importação padrão" #: ../../reference/import.rst:917 msgid "" @@ -1320,6 +1755,9 @@ msgid "" "delete the default contents of :data:`sys.meta_path`, replacing them " "entirely with a custom meta path hook." msgstr "" +"O mecanismo mais confiável para substituir todo o sistema de importação é " +"excluir o conteúdo padrão de :data:`sys.meta_path`, substituindo-o " +"inteiramente por um gancho de metacaminho personalizado." #: ../../reference/import.rst:921 msgid "" @@ -1329,20 +1767,31 @@ msgid "" "also be employed at the module level to only alter the behaviour of import " "statements within that module." msgstr "" +"Se for aceitável alterar apenas o comportamento de instruções de importação " +"sem afetar outras APIs que acessam o sistema de importação, então substituir " +"a função embutida :func:`__import__` pode ser suficiente. Essa técnica " +"também pode ser empregada no nível do módulo para alterar apenas o " +"comportamento de instruções de importação dentro desse módulo." #: ../../reference/import.rst:927 msgid "" "To selectively prevent the import of some modules from a hook early on the " "meta path (rather than disabling the standard import system entirely), it is " -"sufficient to raise :exc:`ModuleNotFoundError` directly from :meth:" -"`~importlib.abc.MetaPathFinder.find_spec` instead of returning ``None``. The " -"latter indicates that the meta path search should continue, while raising an " -"exception terminates it immediately." -msgstr "" +"sufficient to raise :exc:`ModuleNotFoundError` directly " +"from :meth:`~importlib.abc.MetaPathFinder.find_spec` instead of returning " +"``None``. The latter indicates that the meta path search should continue, " +"while raising an exception terminates it immediately." +msgstr "" +"Para impedir seletivamente a importação de alguns módulos de um gancho no " +"início do metacaminho (em vez de desabilitar o sistema de importação padrão " +"completamente), é suficiente levantar :exc:`ModuleNotFoundError` diretamente " +"de :meth:`~importlib.abc.MetaPathFinder.find_spec` em vez de retornar " +"``None``. O último indica que a busca do metacaminho deve continuar, " +"enquanto levantar uma exceção a encerra imediatamente." #: ../../reference/import.rst:937 msgid "Package Relative Imports" -msgstr "" +msgstr "Importações relativas ao pacote" #: ../../reference/import.rst:939 msgid "" @@ -1351,12 +1800,19 @@ msgid "" "a relative import to the parent(s) of the current package, one level per dot " "after the first. For example, given the following package layout::" msgstr "" +"Importações relativas usam caracteres de ponto no início. Um único ponto no " +"início indica uma importação relativa, começando com o pacote atual. Dois ou " +"mais pontos no início indicam uma importação relativa para o(s) pai(s) do " +"pacote atual, um nível por ponto após o primeiro. Por exemplo, dado o " +"seguinte layout de pacote::" #: ../../reference/import.rst:955 msgid "" "In either ``subpackage1/moduleX.py`` or ``subpackage1/__init__.py``, the " "following are valid relative imports::" msgstr "" +"Em ``subpackage1/moduleX.py`` ou ``subpackage1/__init__.py``, as seguintes " +"são importações relativas válidas:" #: ../../reference/import.rst:965 msgid "" @@ -1364,37 +1820,52 @@ msgid "" "syntax, but relative imports may only use the second form; the reason for " "this is that::" msgstr "" +"Importações absolutas podem usar a sintaxe ``import <>`` ou ``from <> import " +"<>``, mas importações relativas podem usar apenas a segunda forma; o motivo " +"para isso é que:" #: ../../reference/import.rst:971 msgid "" "should expose ``XXX.YYY.ZZZ`` as a usable expression, but .moduleY is not a " "valid expression." msgstr "" +"deve expor ``XXX.YYY.ZZZ`` como uma expressão utilizável, mas .moduleY não é " +"uma expressão válida." #: ../../reference/import.rst:978 msgid "Special considerations for __main__" -msgstr "" +msgstr "Considerações especiais para __main__" #: ../../reference/import.rst:980 msgid "" "The :mod:`__main__` module is a special case relative to Python's import " "system. As noted :ref:`elsewhere `, the ``__main__`` module is " -"directly initialized at interpreter startup, much like :mod:`sys` and :mod:" -"`builtins`. However, unlike those two, it doesn't strictly qualify as a " -"built-in module. This is because the manner in which ``__main__`` is " +"directly initialized at interpreter startup, much like :mod:`sys` " +"and :mod:`builtins`. However, unlike those two, it doesn't strictly qualify " +"as a built-in module. This is because the manner in which ``__main__`` is " "initialized depends on the flags and other options with which the " "interpreter is invoked." msgstr "" +"O módulo :mod:`__main__` é um caso especial em relação ao sistema de " +"importação do Python. Conforme observado em :ref:`em outro lugar " +"`, o módulo ``__main__`` é inicializado diretamente na " +"inicialização do interpretador, muito parecido com :mod:`sys` " +"e :mod:`builtins`. No entanto, diferentemente desses dois, ele não se " +"qualifica estritamente como um módulo integrado. Isso ocorre porque a " +"maneira como ``__main__`` é inicializado depende dos sinalizadores e outras " +"opções com as quais o interpretador é invocado." #: ../../reference/import.rst:991 msgid "__main__.__spec__" -msgstr "" +msgstr "__main__.__spec__" #: ../../reference/import.rst:993 msgid "" "Depending on how :mod:`__main__` is initialized, ``__main__.__spec__`` gets " "set appropriately or to ``None``." msgstr "" +"Dependendo de como :mod:`__main__` é inicializado, ``__main__.__spec__`` é " +"definido apropriadamente ou como ``None``." #: ../../reference/import.rst:996 msgid "" @@ -1403,37 +1874,48 @@ msgid "" "populated when the ``__main__`` module is loaded as part of executing a " "directory, zipfile or other :data:`sys.path` entry." msgstr "" +"Quando o Python é iniciado com a opção :option:`-m`, ``__spec__`` é definido " +"como o spec de módulo ou pacote correspondente. ``__spec__`` também é " +"preenchido quando o módulo ``__main__`` é carregado como parte da execução " +"de um diretório, arquivo zip ou outra entrada :data:`sys.path`." #: ../../reference/import.rst:1001 msgid "" -"In :ref:`the remaining cases ` ``__main__." -"__spec__`` is set to ``None``, as the code used to populate the :mod:" -"`__main__` does not correspond directly with an importable module:" +"In :ref:`the remaining cases ` " +"``__main__.__spec__`` is set to ``None``, as the code used to populate " +"the :mod:`__main__` does not correspond directly with an importable module:" msgstr "" +":ref:`Nos demais casos `, ``__main__.__spec__`` " +"é definido como ``None``, pois o código usado para preencher " +"o :mod:`__main__` não corresponde diretamente a um módulo importável:" #: ../../reference/import.rst:1005 msgid "interactive prompt" -msgstr "" +msgstr "prompt interativo" #: ../../reference/import.rst:1006 msgid ":option:`-c` option" -msgstr "" +msgstr "opção :option:`-c`" #: ../../reference/import.rst:1007 msgid "running from stdin" -msgstr "" +msgstr "executar a partir de stdin" #: ../../reference/import.rst:1008 msgid "running directly from a source or bytecode file" -msgstr "" +msgstr "executar diretamente de um arquivo de código-fonte ou bytecode" #: ../../reference/import.rst:1010 msgid "" "Note that ``__main__.__spec__`` is always ``None`` in the last case, *even " "if* the file could technically be imported directly as a module instead. Use " -"the :option:`-m` switch if valid module metadata is desired in :mod:" -"`__main__`." +"the :option:`-m` switch if valid module metadata is desired " +"in :mod:`__main__`." msgstr "" +"Note que ``__main__.__spec__`` é sempre ``None`` no último caso, *mesmo se* " +"o arquivo pudesse ser importado diretamente como um módulo. Use a " +"opção :option:`-m` se metadados de módulo válidos forem desejados " +"em :mod:`__main__`." #: ../../reference/import.rst:1015 msgid "" @@ -1443,6 +1925,12 @@ msgid "" "__name__ == \"__main__\":`` checks only execute when the module is used to " "populate the ``__main__`` namespace, and not during normal import." msgstr "" +"Note também que mesmo quando ``__main__`` corresponde a um módulo importável " +"e ``__main__.__spec__`` é definido adequadamente, eles ainda são " +"considerados módulos *distintos*. Isso se deve ao fato de que os blocos " +"protegidos por verificações ``if __name__ == \"__main__\":`` são executados " +"somente quando o módulo é usado para preencher o espaço de nomes " +"``__main__``, e não durante a importação normal." #: ../../reference/import.rst:1023 msgid "References" @@ -1455,12 +1943,18 @@ msgid "" "packages/>`_ is still available to read, although some details have changed " "since the writing of that document." msgstr "" +"O maquinário de importação evoluiu consideravelmente desde os primeiros dias " +"do Python. A `especificação original para pacotes `_ ainda está disponível para leitura, embora alguns " +"detalhes tenham mudado desde a escrita desse documento." #: ../../reference/import.rst:1030 msgid "" "The original specification for :data:`sys.meta_path` was :pep:`302`, with " "subsequent extension in :pep:`420`." msgstr "" +"A especificação original para :data:`sys.meta_path` era :pep:`302`, com " +"extensão subsequente em :pep:`420`." #: ../../reference/import.rst:1033 msgid "" @@ -1474,6 +1968,8 @@ msgid "" ":pep:`366` describes the addition of the ``__package__`` attribute for " "explicit relative imports in main modules." msgstr "" +":pep:`366` descreve a adição do atributo ``__package__`` para importações " +"relativas explícitas em módulos principais." #: ../../reference/import.rst:1040 msgid "" @@ -1481,10 +1977,13 @@ msgid "" "proposed ``__name__`` for semantics :pep:`366` would eventually specify for " "``__package__``." msgstr "" +":pep:`328` introduziu importações relativas absolutas e explícitas e " +"inicialmente propôs ``__name__`` para semântica. :pep:`366` eventualmente " +"especificaria ``__package__``." #: ../../reference/import.rst:1044 msgid ":pep:`338` defines executing modules as scripts." -msgstr "" +msgstr ":pep:`338` define módulos de execução como scripts." #: ../../reference/import.rst:1046 msgid "" @@ -1494,6 +1993,11 @@ msgid "" "of several APIs in the import system and also addition of new methods to " "finders and loaders." msgstr "" +":pep:`451` adiciona o encapsulamento do estado de importação por módulo em " +"objetos spec. Ele também descarrega a maioria das responsabilidades " +"inerentes dos carregadores de volta para o maquinário de importação. Essas " +"mudanças permitem a descontinuação de várias APIs no sistema de importação e " +"também a adição de novos métodos para localizadores e carregadores." #: ../../reference/import.rst:1053 msgid "Footnotes" @@ -1501,28 +2005,35 @@ msgstr "Notas de rodapé" #: ../../reference/import.rst:1054 msgid "See :class:`types.ModuleType`." -msgstr "" +msgstr "Veja :class:`types.ModuleType`." #: ../../reference/import.rst:1056 msgid "" "The importlib implementation avoids using the return value directly. " -"Instead, it gets the module object by looking the module name up in :data:" -"`sys.modules`. The indirect effect of this is that an imported module may " -"replace itself in :data:`sys.modules`. This is implementation-specific " -"behavior that is not guaranteed to work in other Python implementations." -msgstr "" +"Instead, it gets the module object by looking the module name up " +"in :data:`sys.modules`. The indirect effect of this is that an imported " +"module may replace itself in :data:`sys.modules`. This is implementation-" +"specific behavior that is not guaranteed to work in other Python " +"implementations." +msgstr "" +"A implementação de importlib evita usar o valor de retorno diretamente. Em " +"vez disso, ela obtém o objeto do módulo procurando o nome do módulo " +"em :data:`sys.modules`. O efeito indireto disso é que um módulo importado " +"pode substituir a si mesmo em :data:`sys.modules`. Esse é um comportamento " +"específico da implementação que não tem garantia de funcionar em outras " +"implementações do Python." #: ../../reference/import.rst:1063 msgid "" -"In legacy code, it is possible to find instances of :class:`imp." -"NullImporter` in the :data:`sys.path_importer_cache`. It is recommended " -"that code be changed to use ``None`` instead. See :ref:`portingpythoncode` " -"for more details." +"In legacy code, it is possible to find instances " +"of :class:`imp.NullImporter` in the :data:`sys.path_importer_cache`. It is " +"recommended that code be changed to use ``None`` instead. " +"See :ref:`portingpythoncode` for more details." msgstr "" #: ../../reference/import.rst:8 msgid "import machinery" -msgstr "" +msgstr "maquinário de importação" #: ../../reference/import.rst:64 ../../reference/import.rst:95 #: ../../reference/import.rst:129 @@ -1531,7 +2042,7 @@ msgstr "pacote" #: ../../reference/import.rst:95 msgid "regular" -msgstr "" +msgstr "regular" #: ../../reference/import.rst:129 msgid "namespace" @@ -1543,7 +2054,7 @@ msgstr "porção" #: ../../reference/import.rst:175 msgid "sys.modules" -msgstr "" +msgstr "sys.modules" #: ../../reference/import.rst:210 ../../reference/import.rst:276 msgid "finder" @@ -1555,31 +2066,31 @@ msgstr "carregador" #: ../../reference/import.rst:210 msgid "module spec" -msgstr "módulo spec" +msgstr "spec de módulo" #: ../../reference/import.rst:249 msgid "import hooks" -msgstr "" +msgstr "ganchos de importação" #: ../../reference/import.rst:249 msgid "meta hooks" -msgstr "" +msgstr "metaganchos" #: ../../reference/import.rst:249 msgid "path hooks" -msgstr "" +msgstr "ganchos de caminho" #: ../../reference/import.rst:249 msgid "hooks" -msgstr "" +msgstr "ganchos" #: ../../reference/import.rst:249 msgid "import" -msgstr "" +msgstr "import" #: ../../reference/import.rst:249 msgid "meta" -msgstr "" +msgstr "meta" #: ../../reference/import.rst:249 msgid "path" @@ -1587,11 +2098,11 @@ msgstr "caminho" #: ../../reference/import.rst:276 msgid "sys.meta_path" -msgstr "" +msgstr "sys.meta_path" #: ../../reference/import.rst:276 msgid "find_spec" -msgstr "" +msgstr "find_spec" #: ../../reference/import.rst:727 msgid "path based finder" @@ -1599,16 +2110,16 @@ msgstr "localizador baseado no caminho" #: ../../reference/import.rst:776 msgid "sys.path" -msgstr "" +msgstr "sys.path" #: ../../reference/import.rst:776 msgid "sys.path_hooks" -msgstr "" +msgstr "sys.path_hooks" #: ../../reference/import.rst:776 msgid "sys.path_importer_cache" -msgstr "" +msgstr "sys.path_importer_cache" #: ../../reference/import.rst:776 msgid "PYTHONPATH" -msgstr "" +msgstr "PYTHONPATH" diff --git a/reference/index.po b/reference/index.po index 9354b8458..b23e30c59 100644 --- a/reference/index.po +++ b/reference/index.po @@ -1,26 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Raphael Mendonça, 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/reference/introduction.po b/reference/introduction.po index 100637882..8b65af55b 100644 --- a/reference/introduction.po +++ b/reference/introduction.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -137,15 +135,15 @@ msgid "" "Python implemented in Java. This implementation can be used as a scripting " "language for Java applications, or can be used to create applications using " "the Java class libraries. It is also often used to create tests for Java " -"libraries. More information can be found at `the Jython website `_." +"libraries. More information can be found at `the Jython website `_." msgstr "" "Versão do Python implementado em Java. Esta implementação pode ser usada " "como linguagem de Script em aplicações Java, ou pode ser usada para criar " "aplicativos usando as bibliotecas das classes do Java. Também vem sendo " "bastante utilizado para criar testes unitários para as bibliotecas do Java. " -"Mais informações podem ser encontradas no `the Jython website `_." +"Mais informações podem ser encontradas no `the Jython website `_." #: ../../reference/introduction.rst:63 msgid "Python for .NET" @@ -192,9 +190,16 @@ msgid "" "support and a Just in Time compiler. One of the goals of the project is to " "encourage experimentation with the language itself by making it easier to " "modify the interpreter (since it is written in Python). Additional " -"information is available on `the PyPy project's home page `_." +"information is available on `the PyPy project's home page `_." msgstr "" +"Uma implementação do Python escrita completamente em Python. A mesma suporta " +"vários recursos avançados não encontrados em outras implementações, como " +"suporte sem pilhas e um compilador Just in Time. Um dos objetivos do projeto " +"é incentivar a construção de experimentos com a própria linguagem, " +"facilitando a modificação do interpretador (uma vez que o mesmos está " +"escrito em Python). Informações adicionais estão disponíveis no `site do " +"projeto PyPy `_." #: ../../reference/introduction.rst:79 msgid "" @@ -216,13 +221,16 @@ msgstr "Notação" #: ../../reference/introduction.rst:93 msgid "" -"The descriptions of lexical analysis and syntax use a modified BNF grammar " -"notation. This uses the following style of definition:" +"The descriptions of lexical analysis and syntax use a modified `Backus–Naur " +"form (BNF) `_ " +"grammar notation. This uses the following style of definition:" msgstr "" -"As descrições da Análise Léxica e da Sintaxe usam uma notação de gramática " -"BNF modificada. Isso usa o seguinte estilo de definição:" +"As descrições de análise léxica e sintaxe usam uma notação de gramática de " +"`Formalismo de Backus-Naur (BNF) `_ modificada. Ela usa o seguinte estilo de " +"definição:" -#: ../../reference/introduction.rst:100 +#: ../../reference/introduction.rst:101 msgid "" "The first line says that a ``name`` is an ``lc_letter`` followed by a " "sequence of zero or more ``lc_letter``\\ s and underscores. An " @@ -236,10 +244,10 @@ msgstr "" "(Esta regra é aderida pelos nomes definidos nas regras léxicas e gramáticas " "deste documento.)" -#: ../../reference/introduction.rst:105 +#: ../../reference/introduction.rst:106 msgid "" -"Each rule begins with a name (which is the name defined by the rule) and ``::" -"=``. A vertical bar (``|``) is used to separate alternatives; it is the " +"Each rule begins with a name (which is the name defined by the rule) and " +"``::=``. A vertical bar (``|``) is used to separate alternatives; it is the " "least binding operator in this notation. A star (``*``) means zero or more " "repetitions of the preceding item; likewise, a plus (``+``) means one or " "more repetitions, and a phrase enclosed in square brackets (``[ ]``) means " @@ -250,20 +258,21 @@ msgid "" "line; rules with many alternatives may be formatted alternatively with each " "line after the first beginning with a vertical bar." msgstr "" -"Cada regra começa com um nome (no caso, o nome definido pela regra) e ``::" -"=``. Uma barra vertical (``|``) é usada para separar alternativas; o mesmo é " -"o operador menos vinculativo nesta notação. Uma estrela (``*``) significa " -"zero ou mais repetições do item anterior; da mesma forma, o sinal de adição " -"(``+``) significa uma ou mais repetições, e uma frase entre colchetes " -"(``[ ]``) significa zero ou uma ocorrência (em outras palavras, a frase " -"anexada é opcional). Os operadores ``*`` e ``+`` se ligam tão forte quanto " -"possível; parêntesis são usados para o agrupamento. Os literais Strings são " -"delimitados por aspas. O espaço em branco só é significativo para separar os " -"tokens. As regras normalmente estão contidas numa única linha; as regras com " -"muitas alternativas podem ser formatadas alternativamente com cada linha " -"após o primeiro começo com uma barra vertical." +"Cada regra começa com um nome (no caso, o nome definido pela regra) e " +"``::=``. Uma barra vertical (``|``) é usada para separar alternativas; o " +"mesmo é o operador menos vinculativo nesta notação. Uma estrela (``*``) " +"significa zero ou mais repetições do item anterior; da mesma forma, o sinal " +"de adição (``+``) significa uma ou mais repetições, e uma frase entre " +"colchetes (``[ ]``) significa zero ou uma ocorrência (em outras palavras, a " +"frase anexada é opcional). Os operadores ``*`` e ``+`` se ligam tão forte " +"quanto possível; parêntesis são usados para o agrupamento. Os literais " +"Strings são delimitados por aspas. O espaço em branco só é significativo " +"para separar os tokens. As regras normalmente estão contidas numa única " +"linha; as regras com muitas alternativas podem ser formatadas " +"alternativamente com cada linha após o primeiro começo com uma barra " +"vertical." -#: ../../reference/introduction.rst:119 +#: ../../reference/introduction.rst:120 msgid "" "In lexical definitions (as the example above), two more conventions are " "used: Two literal characters separated by three dots mean a choice of any " @@ -280,7 +289,7 @@ msgstr "" "usado para descrever a notação de 'caractere de controle', caso fosse " "necessário." -#: ../../reference/introduction.rst:126 +#: ../../reference/introduction.rst:127 msgid "" "Even though the notation used is almost the same, there is a big difference " "between the meaning of lexical and syntactic definitions: a lexical " @@ -299,24 +308,24 @@ msgstr "" #: ../../reference/introduction.rst:91 msgid "BNF" -msgstr "" +msgstr "BNF" #: ../../reference/introduction.rst:91 msgid "grammar" -msgstr "" +msgstr "gramática" #: ../../reference/introduction.rst:91 msgid "syntax" -msgstr "" +msgstr "sintaxe" #: ../../reference/introduction.rst:91 msgid "notation" -msgstr "" +msgstr "notação" -#: ../../reference/introduction.rst:117 +#: ../../reference/introduction.rst:118 msgid "lexical definitions" -msgstr "" +msgstr "léxicas, definições" -#: ../../reference/introduction.rst:117 +#: ../../reference/introduction.rst:118 msgid "ASCII" -msgstr "" +msgstr "ASCII" diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po index da27e6938..668edb179 100644 --- a/reference/lexical_analysis.po +++ b/reference/lexical_analysis.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Misael borges , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Alexsandro Matias de Almeida , 2021 -# (Douglas da Silva) , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: (Douglas da Silva) , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,21 +34,21 @@ msgid "" "the lexical analyzer breaks a file into tokens." msgstr "" "Um programa Python é lido por um *analisador*. A entrada para o analisador é " -"um fluxo de *tokens*, gerado pelo *analisador lexical*. Este capítulo " -"descreve como o analisador lexical divide um arquivo em tokens." +"um fluxo de *tokens*, gerado pelo *analisador léxico*. Este capítulo " +"descreve como o analisador léxico divide um arquivo em tokens." #: ../../reference/lexical_analysis.rst:14 msgid "" "Python reads program text as Unicode code points; the encoding of a source " -"file can be given by an encoding declaration and defaults to UTF-8, see :pep:" -"`3120` for details. If the source file cannot be decoded, a :exc:" -"`SyntaxError` is raised." +"file can be given by an encoding declaration and defaults to UTF-8, " +"see :pep:`3120` for details. If the source file cannot be decoded, " +"a :exc:`SyntaxError` is raised." msgstr "" "Python lê o texto do programa como pontos de código Unicode; a codificação " "de um arquivo de origem pode ser fornecida por uma declaração de codificação " "que por padrão é UTF-8, consulte :pep:`3120` para obter detalhes. Se o " -"arquivo de origem não puder ser decodificado, um :exc:`SyntaxError` será " -"gerado." +"arquivo de origem não puder ser decodificado, uma exceção :exc:`SyntaxError` " +"será levantada." #: ../../reference/lexical_analysis.rst:23 msgid "Line structure" @@ -80,8 +74,7 @@ msgstr "" "não podem cruzar os limites da linha lógica, exceto onde NEWLINE for " "permitido pela sintaxe (por exemplo, entre as declarações de declarações " "compostas). Uma linha lógica é construída a partir de uma ou mais *linhas " -"físicas* seguindo a linha explícita ou implícita que *junta as linhas* das " -"regras." +"físicas* seguindo as regras explícitas ou implícitas que *juntam as linhas*." #: ../../reference/lexical_analysis.rst:47 msgid "Physical lines" @@ -97,13 +90,13 @@ msgid "" "All of these forms can be used equally, regardless of platform. The end of " "input also serves as an implicit terminator for the final physical line." msgstr "" -"Uma linha física é uma sequência de caracteres terminados por uma sequência " -"de quebra de linha. Nos arquivos de origem e cadeias de caracteres, qualquer " +"Uma linha física é uma sequência de caracteres terminada por uma sequência " +"de fim de linha. Nos arquivos de origem e cadeias de caracteres, qualquer " "uma das sequências de terminação de linha de plataforma padrão pode ser " "usada - o formato Unix usando ASCII LF (linefeed), o formato Windows usando " -"a sequência ASCII CR LF (return followed by linefeed) ou o antigo formato " +"a sequência ASCII CR LF (return seguido de linefeed) ou o antigo formato " "Macintosh usando o caractere ASCII CR (return). Todos esses formatos podem " -"ser usados ​​igualmente, independentemente da plataforma. O final da entrada " +"ser usados igualmente, independentemente da plataforma. O final da entrada " "também serve como um finalizador implícito para a linha física final." #: ../../reference/lexical_analysis.rst:57 @@ -112,9 +105,9 @@ msgid "" "using the standard C conventions for newline characters (the ``\\n`` " "character, representing ASCII LF, is the line terminator)." msgstr "" -"Ao incorporar o Python, o código-fonte das Strings devem ser passadas para " -"APIs do Python usando as convenções C padrão para caracteres de nova linha " -"(o caractere ``\\n``, representando ASCII LF, será o terminador de linha)." +"Ao incorporar o Python, strings de código-fonte devem ser passadas para APIs " +"do Python usando as convenções C padrão para caracteres de nova linha (o " +"caractere ``\\n``, representando ASCII LF, será o terminador de linha)." #: ../../reference/lexical_analysis.rst:65 msgid "Comments" @@ -127,6 +120,10 @@ msgid "" "end of the logical line unless the implicit line joining rules are invoked. " "Comments are ignored by the syntax." msgstr "" +"Um comentário inicia com um caracter cerquilha (``#``) que não é parte de " +"uma string literal, e termina com o fim da linha física. Um comentário " +"significa o fim da linha lógica a menos que regras de junção de linha " +"implicitas sejam invocadas. Comentários são ignorados pela sintaxe." #: ../../reference/lexical_analysis.rst:79 msgid "Encoding declarations" @@ -141,6 +138,13 @@ msgid "" "line of its own. If it is the second line, the first line must also be a " "comment-only line. The recommended forms of an encoding expression are ::" msgstr "" +"Se um comentário na primeira ou segunda linha de um script Python " +"corresponde com a expressão regular ``coding[=:]\\s*([-\\w.]+)``, esse " +"comentário é processado com uma declaração de codificação; o primeiro grupo " +"dessa expressão indica a codificação do arquivo do código-fonte. A " +"declaração de codificação deve aparecer em uma linha exclusiva para tal. Se " +"está na segunda linha, a primeira linha também deve ser uma linha somente " +"com comentário. As formas recomendadas de uma declaração de codificação são:" #: ../../reference/lexical_analysis.rst:93 msgid "which is recognized also by GNU Emacs, and ::" @@ -152,24 +156,30 @@ msgstr "que é reconhecido pelo VIM de Bram Moolenaar." #: ../../reference/lexical_analysis.rst:99 msgid "" -"If no encoding declaration is found, the default encoding is UTF-8. In " -"addition, if the first bytes of the file are the UTF-8 byte-order mark " -"(``b'\\xef\\xbb\\xbf'``), the declared file encoding is UTF-8 (this is " -"supported, among others, by Microsoft's :program:`notepad`)." +"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." msgstr "" +"Se nenhuma codificação é declarada, a codificação padrão é UTF-8. Se a " +"codificação implícita ou explícita de um arquivo é UTF-8, uma marca inicial " +"de ordem de byte UTF-8 (b'xefxbbxbf') será ignorada em vez de ser um erro de " +"sintaxe." -#: ../../reference/lexical_analysis.rst:104 +#: ../../reference/lexical_analysis.rst:103 msgid "" "If an encoding is declared, the encoding name must be recognized by Python " "(see :ref:`standard-encodings`). The encoding is used for all lexical " "analysis, including string literals, comments and identifiers." msgstr "" +"Se uma codificação é declarada, o nome da codificação deve ser reconhecida " +"pelo Python (veja :ref:`standard-encodings`). A codificação é usada por toda " +"análise léxica, incluindo literais strings, comment and identificadores." -#: ../../reference/lexical_analysis.rst:113 +#: ../../reference/lexical_analysis.rst:112 msgid "Explicit line joining" msgstr "Junção de linha explícita" -#: ../../reference/lexical_analysis.rst:117 +#: ../../reference/lexical_analysis.rst:116 msgid "" "Two or more physical lines may be joined into logical lines using backslash " "characters (``\\``), as follows: when a physical line ends in a backslash " @@ -177,8 +187,14 @@ msgid "" "following forming a single logical line, deleting the backslash and the " "following end-of-line character. For example::" msgstr "" +"Duas ou mais linhas físicas podem ser juntadas em linhas lógicas usando o " +"caractere contrabarra (``\\``) da seguinte forma: quando uma linha física " +"termina com uma contrabarra que não é parte da uma literal string ou " +"comentário, ela é juntada com a linha seguinte formando uma única linha " +"lógica, removendo a contrabarra e o caractere de fim de linha seguinte. Por " +"exemplo::" -#: ../../reference/lexical_analysis.rst:128 +#: ../../reference/lexical_analysis.rst:127 msgid "" "A line ending in a backslash cannot carry a comment. A backslash does not " "continue a comment. A backslash does not continue a token except for string " @@ -186,18 +202,26 @@ msgid "" "physical lines using a backslash). A backslash is illegal elsewhere on a " "line outside a string literal." msgstr "" +"Uma linha terminada em uma contrabarra não pode conter um comentário. Uma " +"barra invertida não continua um comentário. Uma contrabarra não continua um " +"token, exceto para strings literais (ou seja, tokens diferentes de strings " +"literais não podem ser divididos em linhas físicas usando uma contrabarra). " +"Uma contrabarra é ilegal em qualquer outro lugar em uma linha fora de uma " +"string literal." -#: ../../reference/lexical_analysis.rst:138 +#: ../../reference/lexical_analysis.rst:137 msgid "Implicit line joining" msgstr "Junção de linha implícita" -#: ../../reference/lexical_analysis.rst:140 +#: ../../reference/lexical_analysis.rst:139 msgid "" "Expressions in parentheses, square brackets or curly braces can be split " "over more than one physical line without using backslashes. For example::" msgstr "" +"Expressões entre parênteses, colchetes ou chaves podem ser quebradas em mais " +"de uma linha física sem a necessidade do uso de contrabarras. Por exemplo::" -#: ../../reference/lexical_analysis.rst:148 +#: ../../reference/lexical_analysis.rst:147 msgid "" "Implicitly continued lines can carry comments. The indentation of the " "continuation lines is not important. Blank continuation lines are allowed. " @@ -205,12 +229,17 @@ msgid "" "continued lines can also occur within triple-quoted strings (see below); in " "that case they cannot carry comments." msgstr "" +"Linhas continuadas implicitamente podem conter comentários. O recuo das " +"linhas de continuação não é importante. Linhas de continuação em branco são " +"permitidas. Não há token NEWLINE entre linhas de continuação implícitas. " +"Linhas continuadas implicitamente também podem ocorrer dentro de strings com " +"aspas triplas (veja abaixo); nesse caso, eles não podem conter comentários." -#: ../../reference/lexical_analysis.rst:158 +#: ../../reference/lexical_analysis.rst:157 msgid "Blank lines" msgstr "Linhas em branco" -#: ../../reference/lexical_analysis.rst:162 +#: ../../reference/lexical_analysis.rst:161 msgid "" "A logical line that contains only spaces, tabs, formfeeds and possibly a " "comment, is ignored (i.e., no NEWLINE token is generated). During " @@ -220,19 +249,29 @@ msgid "" "containing not even whitespace or a comment) terminates a multi-line " "statement." msgstr "" +"Uma linha lógica que contém apenas espaços, tabulações, quebras de página e " +"possivelmente um comentário é ignorada (ou seja, nenhum token NEWLINE é " +"gerado). Durante a entrada interativa de instruções, o tratamento de uma " +"linha em branco pode diferir dependendo da implementação do interpretador. " +"No interpretador interativo padrão, uma linha lógica totalmente em branco " +"(ou seja, uma que não contenha nem mesmo espaço em branco ou um comentário) " +"encerra uma instrução de várias linhas." -#: ../../reference/lexical_analysis.rst:173 +#: ../../reference/lexical_analysis.rst:172 msgid "Indentation" msgstr "Indentação" -#: ../../reference/lexical_analysis.rst:177 +#: ../../reference/lexical_analysis.rst:176 msgid "" "Leading whitespace (spaces and tabs) at the beginning of a logical line is " "used to compute the indentation level of the line, which in turn is used to " "determine the grouping of statements." msgstr "" +"O espaço em branco (espaços e tabulações) no início de uma linha lógica é " +"usado para calcular o nível de indentação da linha, que por sua vez é usado " +"para determinar o agrupamento de instruções." -#: ../../reference/lexical_analysis.rst:181 +#: ../../reference/lexical_analysis.rst:180 msgid "" "Tabs are replaced (from left to right) by one to eight spaces such that the " "total number of characters up to and including the replacement is a multiple " @@ -242,37 +281,60 @@ msgid "" "lines using backslashes; the whitespace up to the first backslash determines " "the indentation." msgstr "" +"As tabulações são substituídas (da esquerda para a direita) por um a oito " +"espaços, de modo que o número total de caracteres até e incluindo a " +"substituição seja um múltiplo de oito (essa é intencionalmente a mesma regra " +"usada pelo Unix). O número total de espaços que precedem o primeiro " +"caractere não em branco determina o recuo da linha. O recuo não pode ser " +"dividido em várias linhas físicas usando contrabarra; o espaço em branco até " +"a primeira contrabarra determina a indentação." -#: ../../reference/lexical_analysis.rst:189 +#: ../../reference/lexical_analysis.rst:188 msgid "" "Indentation is rejected as inconsistent if a source file mixes tabs and " "spaces in a way that makes the meaning dependent on the worth of a tab in " "spaces; a :exc:`TabError` is raised in that case." msgstr "" +"A indentação é rejeitada como inconsistente se um arquivo de origem mistura " +"tabulações e espaços de uma forma que torna o significado dependente do " +"valor de uma tabulação em espaços; uma exceção :exc:`TabError` é levantada " +"nesse caso." -#: ../../reference/lexical_analysis.rst:193 +#: ../../reference/lexical_analysis.rst:192 msgid "" "**Cross-platform compatibility note:** because of the nature of text editors " "on non-UNIX platforms, it is unwise to use a mixture of spaces and tabs for " "the indentation in a single source file. It should also be noted that " "different platforms may explicitly limit the maximum indentation level." msgstr "" +"**Nota de compatibilidade entre plataformas:** devido à natureza dos " +"editores de texto em plataformas não-UNIX, não é aconselhável usar uma " +"mistura de espaços e tabulações para o recuo em um único arquivo de origem. " +"Deve-se notar também que diferentes plataformas podem limitar explicitamente " +"o nível máximo de indentação." -#: ../../reference/lexical_analysis.rst:198 +#: ../../reference/lexical_analysis.rst:197 msgid "" "A formfeed character may be present at the start of the line; it will be " "ignored for the indentation calculations above. Formfeed characters " "occurring elsewhere in the leading whitespace have an undefined effect (for " "instance, they may reset the space count to zero)." msgstr "" +"Um caractere de quebra de página pode estar presente no início da linha; ele " +"será ignorado para os cálculos de indentação acima. Os caracteres de quebra " +"de página que ocorrem em outro lugar além do espaço em branco inicial têm um " +"efeito indefinido (por exemplo, eles podem redefinir a contagem de espaços " +"para zero)." -#: ../../reference/lexical_analysis.rst:205 +#: ../../reference/lexical_analysis.rst:204 msgid "" "The indentation levels of consecutive lines are used to generate INDENT and " "DEDENT tokens, using a stack, as follows." msgstr "" +"Os níveis de indentação das linhas consecutivas são usados para gerar tokens " +"INDENT e DEDENT, usando uma pilha, como segue." -#: ../../reference/lexical_analysis.rst:208 +#: ../../reference/lexical_analysis.rst:207 msgid "" "Before the first line of the file is read, a single zero is pushed on the " "stack; this will never be popped off again. The numbers pushed on the stack " @@ -285,29 +347,43 @@ msgid "" "generated. At the end of the file, a DEDENT token is generated for each " "number remaining on the stack that is larger than zero." msgstr "" +"Antes da leitura da primeira linha do arquivo, um único zero é colocado na " +"pilha; isso nunca mais será exibido. Os números colocados na pilha sempre " +"aumentarão estritamente de baixo para cima. No início de cada linha lógica, " +"o nível de indentação da linha é comparado ao topo da pilha. Se for igual, " +"nada acontece. Se for maior, ele é colocado na pilha e um token INDENT é " +"gerado. Se for menor, *deve* ser um dos números que aparecem na pilha; todos " +"os números maiores na pilha são retirados e, para cada número retirado, um " +"token DEDENT é gerado. Ao final do arquivo, um token DEDENT é gerado para " +"cada número restante na pilha que seja maior que zero." -#: ../../reference/lexical_analysis.rst:219 +#: ../../reference/lexical_analysis.rst:218 msgid "" "Here is an example of a correctly (though confusingly) indented piece of " "Python code::" msgstr "" +"Aqui está um exemplo de um trecho de código Python indentado corretamente " +"(embora confuso):" -#: ../../reference/lexical_analysis.rst:234 +#: ../../reference/lexical_analysis.rst:233 msgid "The following example shows various indentation errors::" -msgstr "" +msgstr "O exemplo a seguir mostra vários erros de indentação:" -#: ../../reference/lexical_analysis.rst:244 +#: ../../reference/lexical_analysis.rst:243 msgid "" "(Actually, the first three errors are detected by the parser; only the last " "error is found by the lexical analyzer --- the indentation of ``return r`` " "does not match a level popped off the stack.)" msgstr "" +"(Na verdade, os três primeiros erros são detectados pelo analisador " +"sintático; apenas o último erro é encontrado pelo analisador léxico --- o " +"recuo de não corresponde a um nível retirado da pilha.)" -#: ../../reference/lexical_analysis.rst:252 +#: ../../reference/lexical_analysis.rst:251 msgid "Whitespace between tokens" msgstr "Espaços em branco entre tokens" -#: ../../reference/lexical_analysis.rst:254 +#: ../../reference/lexical_analysis.rst:253 msgid "" "Except at the beginning of a logical line or in string literals, the " "whitespace characters space, tab and formfeed can be used interchangeably to " @@ -315,12 +391,17 @@ msgid "" "concatenation could otherwise be interpreted as a different token (e.g., ab " "is one token, but a b is two tokens)." msgstr "" +"Exceto no início de uma linha lógica ou em string literais, os caracteres de " +"espaço em branco (espaço, tabulação e quebra de página) podem ser usados " +"alternadamente para separar tokens. O espaço em branco é necessário entre " +"dois tokens somente se sua concatenação puder ser interpretada como um token " +"diferente (por exemplo, ab é um token, mas a b são dois tokens)." -#: ../../reference/lexical_analysis.rst:264 +#: ../../reference/lexical_analysis.rst:263 msgid "Other tokens" msgstr "Outros tokens" -#: ../../reference/lexical_analysis.rst:266 +#: ../../reference/lexical_analysis.rst:265 msgid "" "Besides NEWLINE, INDENT and DEDENT, the following categories of tokens " "exist: *identifiers*, *keywords*, *literals*, *operators*, and *delimiters*. " @@ -329,128 +410,154 @@ msgid "" "comprises the longest possible string that forms a legal token, when read " "from left to right." msgstr "" +"Além de NEWLINE, INDENT e DEDENT, existem as seguintes categorias de tokens: " +"*identificadores*, *palavras-chave*, *literais*, *operadores* e " +"*delimitadores*. Caracteres de espaço em branco (exceto terminadores de " +"linha, discutidos anteriormente) não são tokens, mas servem para delimitar " +"tokens. Onde existe ambiguidade, um token compreende a string mais longa " +"possível que forma um token legal, quando lido da esquerda para a direita." -#: ../../reference/lexical_analysis.rst:276 +#: ../../reference/lexical_analysis.rst:275 msgid "Identifiers and keywords" msgstr "Identificadores e palavras-chave" -#: ../../reference/lexical_analysis.rst:280 +#: ../../reference/lexical_analysis.rst:279 msgid "" "Identifiers (also referred to as *names*) are described by the following " "lexical definitions." msgstr "" +"Identificadores (também chamados de *nomes*) são descritos pelas seguintes " +"definições lexicais." -#: ../../reference/lexical_analysis.rst:283 +#: ../../reference/lexical_analysis.rst:282 msgid "" "The syntax of identifiers in Python is based on the Unicode standard annex " "UAX-31, with elaboration and changes as defined below; see also :pep:`3131` " "for further details." msgstr "" +"A sintaxe dos identificadores em Python é baseada no anexo do padrão Unicode " +"UAX-31, com elaboração e alterações conforme definido abaixo; veja " +"também :pep:`3131` para mais detalhes." -#: ../../reference/lexical_analysis.rst:287 +#: ../../reference/lexical_analysis.rst:286 msgid "" "Within the ASCII range (U+0001..U+007F), the valid characters for " "identifiers are the same as in Python 2.x: the uppercase and lowercase " "letters ``A`` through ``Z``, the underscore ``_`` and, except for the first " "character, the digits ``0`` through ``9``." msgstr "" +"Dentro do intervalo ASCII (U+0001..U+007F), os caracteres válidos para " +"identificadores são os mesmos de Python 2.x: as letras maiúsculas e " +"minúsculas de ``A`` até ``Z``, o sublinhado ``_`` e, exceto para o primeiro " +"caractere, os dígitos ``0`` até ``9``." -#: ../../reference/lexical_analysis.rst:292 +#: ../../reference/lexical_analysis.rst:291 msgid "" "Python 3.0 introduces additional characters from outside the ASCII range " "(see :pep:`3131`). For these characters, the classification uses the " -"version of the Unicode Character Database as included in the :mod:" -"`unicodedata` module." +"version of the Unicode Character Database as included in " +"the :mod:`unicodedata` module." msgstr "" +"Python 3.0 introduz caracteres adicionais fora do intervalo ASCII " +"(consulte :pep:`3131`). Para esses caracteres, a classificação utiliza a " +"versão do Banco de Dados de Caracteres Unicode incluída no " +"módulo :mod:`unicodedata`." -#: ../../reference/lexical_analysis.rst:296 +#: ../../reference/lexical_analysis.rst:295 msgid "Identifiers are unlimited in length. Case is significant." msgstr "" +"Os identificadores têm comprimento ilimitado. Maiúsculas são diferentes de " +"minúsculas." -#: ../../reference/lexical_analysis.rst:305 +#: ../../reference/lexical_analysis.rst:304 msgid "The Unicode category codes mentioned above stand for:" -msgstr "" +msgstr "Os códigos de categoria Unicode mencionados acima significam:" -#: ../../reference/lexical_analysis.rst:307 +#: ../../reference/lexical_analysis.rst:306 msgid "*Lu* - uppercase letters" msgstr "*Lu* - letras maiúsculas" -#: ../../reference/lexical_analysis.rst:308 +#: ../../reference/lexical_analysis.rst:307 msgid "*Ll* - lowercase letters" msgstr "*Ll* - letras minúsculas" -#: ../../reference/lexical_analysis.rst:309 +#: ../../reference/lexical_analysis.rst:308 msgid "*Lt* - titlecase letters" msgstr "*Lt* - letras em titlecase" -#: ../../reference/lexical_analysis.rst:310 +#: ../../reference/lexical_analysis.rst:309 msgid "*Lm* - modifier letters" msgstr "*Lm* - letras modificadoras" -#: ../../reference/lexical_analysis.rst:311 +#: ../../reference/lexical_analysis.rst:310 msgid "*Lo* - other letters" msgstr "*Lo* - outras letras" -#: ../../reference/lexical_analysis.rst:312 +#: ../../reference/lexical_analysis.rst:311 msgid "*Nl* - letter numbers" msgstr "*Nl* - letras numéricas" -#: ../../reference/lexical_analysis.rst:313 +#: ../../reference/lexical_analysis.rst:312 msgid "*Mn* - nonspacing marks" msgstr "*Mn* - marcas sem espaçamento" -#: ../../reference/lexical_analysis.rst:314 +#: ../../reference/lexical_analysis.rst:313 msgid "*Mc* - spacing combining marks" msgstr "*Mc* - marcas de combinação de espaçamento" -#: ../../reference/lexical_analysis.rst:315 +#: ../../reference/lexical_analysis.rst:314 msgid "*Nd* - decimal numbers" msgstr "*Nd* - números decimais" -#: ../../reference/lexical_analysis.rst:316 +#: ../../reference/lexical_analysis.rst:315 msgid "*Pc* - connector punctuations" msgstr "*Pc* - pontuações de conectores" -#: ../../reference/lexical_analysis.rst:317 +#: ../../reference/lexical_analysis.rst:316 msgid "" -"*Other_ID_Start* - explicit list of characters in `PropList.txt `_ to support backwards " +"*Other_ID_Start* - explicit list of characters in `PropList.txt `_ to support backwards " "compatibility" msgstr "" -#: ../../reference/lexical_analysis.rst:320 +#: ../../reference/lexical_analysis.rst:319 msgid "*Other_ID_Continue* - likewise" msgstr "*Other_ID_Continue* - igualmente" -#: ../../reference/lexical_analysis.rst:322 +#: ../../reference/lexical_analysis.rst:321 msgid "" "All identifiers are converted into the normal form NFKC while parsing; " "comparison of identifiers is based on NFKC." msgstr "" +"Todos os identificadores são convertidos no formato normal NFKC durante a " +"análise; a comparação de identificadores é baseada no NFKC." -#: ../../reference/lexical_analysis.rst:325 +#: ../../reference/lexical_analysis.rst:324 msgid "" "A non-normative HTML file listing all valid identifier characters for " "Unicode 14.0.0 can be found at https://www.unicode.org/Public/14.0.0/ucd/" "DerivedCoreProperties.txt" msgstr "" -#: ../../reference/lexical_analysis.rst:333 +#: ../../reference/lexical_analysis.rst:332 msgid "Keywords" -msgstr "Palavras-chave" +msgstr "Palavras reservadas" -#: ../../reference/lexical_analysis.rst:339 +#: ../../reference/lexical_analysis.rst:338 msgid "" "The following identifiers are used as reserved words, or *keywords* of the " "language, and cannot be used as ordinary identifiers. They must be spelled " "exactly as written here:" msgstr "" +"Os seguintes identificadores são usados como palavras reservadas, ou " +"*palavras-chave* da linguagem, e não podem ser usados como identificadores " +"comuns. Eles devem ser escritos exatamente como estão escritos aqui:" -#: ../../reference/lexical_analysis.rst:357 +#: ../../reference/lexical_analysis.rst:356 msgid "Soft Keywords" -msgstr "" +msgstr "Palavras reservadas contextuais" -#: ../../reference/lexical_analysis.rst:363 +#: ../../reference/lexical_analysis.rst:362 msgid "" "Some identifiers are only reserved under specific contexts. These are known " "as *soft keywords*. The identifiers ``match``, ``case`` and ``_`` can " @@ -459,75 +566,86 @@ msgid "" "tokenizing." msgstr "" -#: ../../reference/lexical_analysis.rst:369 +#: ../../reference/lexical_analysis.rst:368 msgid "" "As soft keywords, their use with pattern matching is possible while still " "preserving compatibility with existing code that uses ``match``, ``case`` " "and ``_`` as identifier names." msgstr "" -#: ../../reference/lexical_analysis.rst:380 +#: ../../reference/lexical_analysis.rst:379 msgid "Reserved classes of identifiers" msgstr "Classes reservadas de identificadores" -#: ../../reference/lexical_analysis.rst:382 +#: ../../reference/lexical_analysis.rst:381 msgid "" "Certain classes of identifiers (besides keywords) have special meanings. " "These classes are identified by the patterns of leading and trailing " "underscore characters:" msgstr "" -"Certas classes de identificadores (além de keywords) possuem significados " -"especiais. Essas classes são identificadas pelos padrões de caracteres de " -"sublinhado principais e à direita:" +"Certas classes de identificadores (além de palavras reservadas) possuem " +"significados especiais. Essas classes são identificadas pelos padrões de " +"caracteres de sublinhado iniciais e finais:" -#: ../../reference/lexical_analysis.rst:387 +#: ../../reference/lexical_analysis.rst:386 msgid "``_*``" msgstr "``_*``" -#: ../../reference/lexical_analysis.rst:387 +#: ../../reference/lexical_analysis.rst:386 msgid "Not imported by ``from module import *``." -msgstr "" +msgstr "Não importado por ``from module import *``." -#: ../../reference/lexical_analysis.rst:408 +#: ../../reference/lexical_analysis.rst:407 msgid "``_``" -msgstr "" +msgstr "``_``" -#: ../../reference/lexical_analysis.rst:390 +#: ../../reference/lexical_analysis.rst:389 msgid "" -"In a ``case`` pattern within a :keyword:`match` statement, ``_`` is a :ref:" -"`soft keyword ` that denotes a :ref:`wildcard `." +"In a ``case`` pattern within a :keyword:`match` statement, ``_`` is " +"a :ref:`soft keyword ` that denotes a :ref:`wildcard " +"`." msgstr "" +"Em um padrão ``case`` de uma instrução :keyword:`match`, ``_`` é " +"uma :ref:`palavra reservada contextual ` que denota " +"um :ref:`curinga `." -#: ../../reference/lexical_analysis.rst:394 +#: ../../reference/lexical_analysis.rst:393 msgid "" "Separately, the interactive interpreter makes the result of the last " -"evaluation available in the variable ``_``. (It is stored in the :mod:" -"`builtins` module, alongside built-in functions like ``print``.)" +"evaluation available in the variable ``_``. (It is stored in " +"the :mod:`builtins` module, alongside built-in functions like ``print``.)" msgstr "" +"Isoladamente, o interpretador interativo disponibiliza o resultado da última " +"avaliação na variável ``_``. (Ele é armazenado no módulo :mod:`builtins`, " +"juntamente com funções embutidas como ``print``.)" -#: ../../reference/lexical_analysis.rst:399 +#: ../../reference/lexical_analysis.rst:398 msgid "" "Elsewhere, ``_`` is a regular identifier. It is often used to name " "\"special\" items, but it is not special to Python itself." msgstr "" +"Em outros lugares, ``_`` é um identificador comum. Muitas vezes é usado para " +"nomear itens \"especiais\", mas não é especial para o Python em si." -#: ../../reference/lexical_analysis.rst:404 +#: ../../reference/lexical_analysis.rst:403 msgid "" "The name ``_`` is often used in conjunction with internationalization; refer " "to the documentation for the :mod:`gettext` module for more information on " "this convention." msgstr "" +"O nome ``_`` é frequentemente usado em conjunto com internacionalização; " +"consulte a documentação do módulo :mod:`gettext` para obter mais informações " +"sobre esta convenção." -#: ../../reference/lexical_analysis.rst:408 +#: ../../reference/lexical_analysis.rst:407 msgid "It is also commonly used for unused variables." -msgstr "" +msgstr "Também é comumente usado para variáveis não utilizadas." -#: ../../reference/lexical_analysis.rst:416 +#: ../../reference/lexical_analysis.rst:415 msgid "``__*__``" msgstr "``__*__``" -#: ../../reference/lexical_analysis.rst:411 +#: ../../reference/lexical_analysis.rst:410 msgid "" "System-defined names, informally known as \"dunder\" names. These names are " "defined by the interpreter and its implementation (including the standard " @@ -536,47 +654,65 @@ msgid "" "Python. *Any* use of ``__*__`` names, in any context, that does not follow " "explicitly documented use, is subject to breakage without warning." msgstr "" +"Nomes definidos pelo sistema, informalmente conhecidos como nomes " +"\"dunder\". Esses nomes e suas implementações são definidos pelo " +"interpretador (incluindo a biblioteca padrão). Os nomes de sistema atuais " +"são discutidos na seção :ref:`specialnames` e em outros lugares. " +"Provavelmente mais nomes serão definidos em versões futuras do Python. " +"*Qualquer* uso de nomes ``__*__``, em qualquer contexto, que não siga o uso " +"explicitamente documentado, está sujeito a quebra sem aviso prévio." -#: ../../reference/lexical_analysis.rst:423 +#: ../../reference/lexical_analysis.rst:422 msgid "``__*``" msgstr "``__*``" -#: ../../reference/lexical_analysis.rst:419 +#: ../../reference/lexical_analysis.rst:418 msgid "" "Class-private names. Names in this category, when used within the context " "of a class definition, are re-written to use a mangled form to help avoid " "name clashes between \"private\" attributes of base and derived classes. See " "section :ref:`atom-identifiers`." msgstr "" +"Nomes de classes privadas. Os nomes nesta categoria, quando usados no " +"contexto de uma definição de classe, são reescritos para usar uma forma " +"desfigurada para ajudar a evitar conflitos de nomes entre atributos " +"\"privados\" de classes base e derivadas. Consulte a seção :ref:`atom-" +"identifiers`." -#: ../../reference/lexical_analysis.rst:428 +#: ../../reference/lexical_analysis.rst:427 msgid "Literals" msgstr "Literais" -#: ../../reference/lexical_analysis.rst:432 +#: ../../reference/lexical_analysis.rst:431 msgid "Literals are notations for constant values of some built-in types." msgstr "" -"Os literais são notações para valores constantes de alguns tipos embutidos." +"Literais são notações para valores constantes de alguns tipos embutidos." -#: ../../reference/lexical_analysis.rst:443 +#: ../../reference/lexical_analysis.rst:442 msgid "String and Bytes literals" msgstr "Literais de string e bytes" -#: ../../reference/lexical_analysis.rst:445 +#: ../../reference/lexical_analysis.rst:444 msgid "String literals are described by the following lexical definitions:" -msgstr "" +msgstr "Literais de string são descritos pelas seguintes definições lexicais:" -#: ../../reference/lexical_analysis.rst:470 +#: ../../reference/lexical_analysis.rst:469 msgid "" "One syntactic restriction not indicated by these productions is that " "whitespace is not allowed between the :token:`~python-grammar:stringprefix` " "or :token:`~python-grammar:bytesprefix` and the rest of the literal. The " "source character set is defined by the encoding declaration; it is UTF-8 if " -"no encoding declaration is given in the source file; see section :ref:" -"`encodings`." +"no encoding declaration is given in the source file; see " +"section :ref:`encodings`." msgstr "" +"Uma restrição sintática não indicada por essas produções é que não são " +"permitidos espaços em branco entre o :token:`~python-grammar:stringprefix` " +"ou :token:`~python-grammar:bytesprefix` e o restante do literal. O conjunto " +"de caracteres de origem é definido pela declaração de codificação; é UTF-8 " +"se nenhuma declaração de codificação for fornecida no arquivo de origem; " +"veja a seção :ref:`encodings`." -#: ../../reference/lexical_analysis.rst:480 +#: ../../reference/lexical_analysis.rst:479 msgid "" "In plain English: Both types of literals can be enclosed in matching single " "quotes (``'``) or double quotes (``\"``). They can also be enclosed in " @@ -586,15 +722,19 @@ msgid "" "newline, backslash itself, or the quote character." msgstr "" -#: ../../reference/lexical_analysis.rst:491 +#: ../../reference/lexical_analysis.rst:490 msgid "" "Bytes literals are always prefixed with ``'b'`` or ``'B'``; they produce an " "instance of the :class:`bytes` type instead of the :class:`str` type. They " "may only contain ASCII characters; bytes with a numeric value of 128 or " "greater must be expressed with escapes." msgstr "" +"Literais de bytes são sempre prefixados com ``'b'`` ou ``'B'``; eles " +"produzem uma instância do tipo :class:`bytes` em vez do tipo :class:`str`. " +"Eles só podem conter caracteres ASCII; bytes com valor numérico igual ou " +"superior a 128 devem ser expressos com escapes." -#: ../../reference/lexical_analysis.rst:500 +#: ../../reference/lexical_analysis.rst:499 msgid "" "Both string and bytes literals may optionally be prefixed with a letter " "``'r'`` or ``'R'``; such strings are called :dfn:`raw strings` and treat " @@ -603,269 +743,307 @@ msgid "" "Given that Python 2.x's raw unicode literals behave differently than Python " "3.x's the ``'ur'`` syntax is not supported." msgstr "" +"Literais de string e bytes podem opcionalmente ser prefixados com uma letra " +"``'r'`` ou ``'R'``; essas strings são chamadas de strings brutas e tratam as " +"barras invertidas como caracteres literais. Como resultado, em literais de " +"string, os escapes ``'\\U'`` e ``'\\u'`` em strings brutas não são tratados " +"de maneira especial. Dado que os literais unicode brutos de Python 2.x se " +"comportam de maneira diferente dos de Python 3.x, não há suporte para a " +"sintaxe ``'ur'`` ." -#: ../../reference/lexical_analysis.rst:507 +#: ../../reference/lexical_analysis.rst:506 msgid "" "The ``'rb'`` prefix of raw bytes literals has been added as a synonym of " "``'br'``." msgstr "" +"O prefixo ``'rb'`` de literais de bytes brutos foi adicionado como sinônimo " +"de ``'br'``." -#: ../../reference/lexical_analysis.rst:511 +#: ../../reference/lexical_analysis.rst:510 msgid "" "Support for the unicode legacy literal (``u'value'``) was reintroduced to " -"simplify the maintenance of dual Python 2.x and 3.x codebases. See :pep:" -"`414` for more information." +"simplify the maintenance of dual Python 2.x and 3.x codebases. " +"See :pep:`414` for more information." msgstr "" +"O suporte para o literal legado unicode (``u'value'``) foi reintroduzido " +"para simplificar a manutenção de bases de código duplas Python 2.x e 3.x. " +"Consulte :pep:`414` para obter mais informações." -#: ../../reference/lexical_analysis.rst:520 +#: ../../reference/lexical_analysis.rst:518 msgid "" "A string literal with ``'f'`` or ``'F'`` in its prefix is a :dfn:`formatted " "string literal`; see :ref:`f-strings`. The ``'f'`` may be combined with " "``'r'``, but not with ``'b'`` or ``'u'``, therefore raw formatted strings " "are possible, but formatted bytes literals are not." msgstr "" +"Uma string literal com ``'f'`` ou ``'F'`` em seu prefixo é uma string " +"literal formatada; veja :ref:`f-strings`. O ``'f'`` pode ser combinado com " +"``'r'``, mas não com ``'b'`` ou ``'u'``, portanto strings formatadas brutas " +"são possíveis, mas literais de bytes formatados não são." -#: ../../reference/lexical_analysis.rst:525 +#: ../../reference/lexical_analysis.rst:523 msgid "" "In triple-quoted literals, unescaped newlines and quotes are allowed (and " "are retained), except that three unescaped quotes in a row terminate the " "literal. (A \"quote\" is the character used to open the literal, i.e. " "either ``'`` or ``\"``.)" msgstr "" +"Em literais com aspas triplas, novas linhas e aspas sem escape são " +"permitidas (e são retidas), exceto que três aspas sem escape em uma linha " +"encerram o literal. (Uma “aspas” é o caractere usado para abrir o literal, " +"ou seja, ``'`` ou ``\"``.)" + +#: ../../reference/lexical_analysis.rst:545 +msgid "Escape sequences" +msgstr "Sequências de escape" -#: ../../reference/lexical_analysis.rst:544 +#: ../../reference/lexical_analysis.rst:547 msgid "" "Unless an ``'r'`` or ``'R'`` prefix is present, escape sequences in string " "and bytes literals are interpreted according to rules similar to those used " "by Standard C. The recognized escape sequences are:" msgstr "" +"A menos que um prefixo ``'r'`` ou ``'R'`` esteja presente, as sequências de " +"escape em literais de string e bytes são interpretadas de acordo com regras " +"semelhantes àquelas usadas pelo Standard C. As sequências de escape " +"reconhecidas são:" -#: ../../reference/lexical_analysis.rst:549 -#: ../../reference/lexical_analysis.rst:582 +#: ../../reference/lexical_analysis.rst:552 +#: ../../reference/lexical_analysis.rst:585 msgid "Escape Sequence" msgstr "Sequência de escape" -#: ../../reference/lexical_analysis.rst:549 -#: ../../reference/lexical_analysis.rst:582 +#: ../../reference/lexical_analysis.rst:552 +#: ../../reference/lexical_analysis.rst:585 msgid "Meaning" msgstr "Significado" -#: ../../reference/lexical_analysis.rst:549 -#: ../../reference/lexical_analysis.rst:582 +#: ../../reference/lexical_analysis.rst:552 +#: ../../reference/lexical_analysis.rst:585 msgid "Notes" msgstr "Notas" -#: ../../reference/lexical_analysis.rst:551 +#: ../../reference/lexical_analysis.rst:554 msgid "``\\``\\ " -msgstr "" +msgstr "``\\``\\ " -#: ../../reference/lexical_analysis.rst:551 +#: ../../reference/lexical_analysis.rst:554 msgid "Backslash and newline ignored" msgstr "A barra invertida e a nova linha foram ignoradas" -#: ../../reference/lexical_analysis.rst:551 +#: ../../reference/lexical_analysis.rst:554 msgid "\\(1)" msgstr "\\(1)" -#: ../../reference/lexical_analysis.rst:553 +#: ../../reference/lexical_analysis.rst:556 msgid "``\\\\``" msgstr "``\\\\``" -#: ../../reference/lexical_analysis.rst:553 +#: ../../reference/lexical_analysis.rst:556 msgid "Backslash (``\\``)" -msgstr "Backslash (``\\``)" +msgstr "Contrabarra (``\\``)" -#: ../../reference/lexical_analysis.rst:555 +#: ../../reference/lexical_analysis.rst:558 msgid "``\\'``" msgstr "``\\'``" -#: ../../reference/lexical_analysis.rst:555 +#: ../../reference/lexical_analysis.rst:558 msgid "Single quote (``'``)" -msgstr "Aspas Simples (``'``)" +msgstr "Aspas simples (``'``)" -#: ../../reference/lexical_analysis.rst:557 +#: ../../reference/lexical_analysis.rst:560 msgid "``\\\"``" msgstr "``\\\"``" -#: ../../reference/lexical_analysis.rst:557 +#: ../../reference/lexical_analysis.rst:560 msgid "Double quote (``\"``)" -msgstr "Aspas Dupla (``\"``)" +msgstr "Aspas duplas (``\"``)" -#: ../../reference/lexical_analysis.rst:559 +#: ../../reference/lexical_analysis.rst:562 msgid "``\\a``" msgstr "``\\a``" -#: ../../reference/lexical_analysis.rst:559 +#: ../../reference/lexical_analysis.rst:562 msgid "ASCII Bell (BEL)" -msgstr "ASCII Bell (BEL)" +msgstr "ASCII Bell (BEL) - um sinal audível é emitido" -#: ../../reference/lexical_analysis.rst:561 +#: ../../reference/lexical_analysis.rst:564 msgid "``\\b``" msgstr "``\\b``" -#: ../../reference/lexical_analysis.rst:561 +#: ../../reference/lexical_analysis.rst:564 msgid "ASCII Backspace (BS)" -msgstr "ASCII Backspace (BS)" +msgstr "ASCII Backspace (BS) - apaga caractere à esquerda" -#: ../../reference/lexical_analysis.rst:563 +#: ../../reference/lexical_analysis.rst:566 msgid "``\\f``" msgstr "``\\f``" -#: ../../reference/lexical_analysis.rst:563 +#: ../../reference/lexical_analysis.rst:566 msgid "ASCII Formfeed (FF)" -msgstr "ASCII Formfeed (FF)" +msgstr "ASCII Formfeed (FF) - quebra de página" -#: ../../reference/lexical_analysis.rst:565 +#: ../../reference/lexical_analysis.rst:568 msgid "``\\n``" msgstr "``\\n``" -#: ../../reference/lexical_analysis.rst:565 +#: ../../reference/lexical_analysis.rst:568 msgid "ASCII Linefeed (LF)" -msgstr "ASCII Linefeed (LF)" +msgstr "ASCII Linefeed (LF) - quebra de linha" -#: ../../reference/lexical_analysis.rst:567 +#: ../../reference/lexical_analysis.rst:570 msgid "``\\r``" msgstr "``\\r``" -#: ../../reference/lexical_analysis.rst:567 +#: ../../reference/lexical_analysis.rst:570 msgid "ASCII Carriage Return (CR)" -msgstr "ASCII Carriage Return (CR)" +msgstr "ASCII Carriage Return (CR) - retorno de carro" -#: ../../reference/lexical_analysis.rst:569 +#: ../../reference/lexical_analysis.rst:572 msgid "``\\t``" msgstr "``\\t``" -#: ../../reference/lexical_analysis.rst:569 +#: ../../reference/lexical_analysis.rst:572 msgid "ASCII Horizontal Tab (TAB)" -msgstr "ASCII Horizontal Tab (TAB)" +msgstr "ASCII Horizontal Tab (TAB) - tabulação horizontal" -#: ../../reference/lexical_analysis.rst:571 +#: ../../reference/lexical_analysis.rst:574 msgid "``\\v``" msgstr "``\\v``" -#: ../../reference/lexical_analysis.rst:571 +#: ../../reference/lexical_analysis.rst:574 msgid "ASCII Vertical Tab (VT)" -msgstr "ASCII Vertical Tab (VT)" +msgstr "ASCII Vertical Tab (VT) - tabulação vertical" -#: ../../reference/lexical_analysis.rst:573 -msgid "``\\ooo``" -msgstr "``\\ooo``" +#: ../../reference/lexical_analysis.rst:576 +msgid ":samp:`\\\\\\\\{ooo}`" +msgstr ":samp:`\\\\\\\\{ooo}`" -#: ../../reference/lexical_analysis.rst:573 +#: ../../reference/lexical_analysis.rst:576 msgid "Character with octal value *ooo*" -msgstr "Caráter com valor octal *ooo*" +msgstr "Caractere com valor octal *ooo*" -#: ../../reference/lexical_analysis.rst:573 +#: ../../reference/lexical_analysis.rst:576 msgid "(2,4)" -msgstr "" +msgstr "(2,4)" -#: ../../reference/lexical_analysis.rst:576 -msgid "``\\xhh``" -msgstr "``\\xhh``" +#: ../../reference/lexical_analysis.rst:579 +msgid ":samp:`\\\\x{hh}`" +msgstr ":samp:`\\\\x{hh}`" -#: ../../reference/lexical_analysis.rst:576 +#: ../../reference/lexical_analysis.rst:579 msgid "Character with hex value *hh*" -msgstr "Caráter com valor hexadecimal *hh*" +msgstr "Caractere com valor hexadecimal *hh*" -#: ../../reference/lexical_analysis.rst:576 +#: ../../reference/lexical_analysis.rst:579 msgid "(3,4)" -msgstr "" +msgstr "(3,4)" -#: ../../reference/lexical_analysis.rst:579 +#: ../../reference/lexical_analysis.rst:582 msgid "Escape sequences only recognized in string literals are:" msgstr "" -"As sequências de escape apenas reconhecidas em literais de Strings são:" +"As sequências de escape apenas reconhecidas em literais de strings são:" -#: ../../reference/lexical_analysis.rst:584 -msgid "``\\N{name}``" -msgstr "``\\N{name}``" +#: ../../reference/lexical_analysis.rst:587 +msgid ":samp:`\\\\N\\\\{{name}\\\\}`" +msgstr ":samp:`\\\\N\\\\{{name}\\\\}`" -#: ../../reference/lexical_analysis.rst:584 +#: ../../reference/lexical_analysis.rst:587 msgid "Character named *name* in the Unicode database" msgstr "Caractere chamado *name* no banco de dados Unicode" -#: ../../reference/lexical_analysis.rst:584 +#: ../../reference/lexical_analysis.rst:587 msgid "\\(5)" msgstr "\\(5)" -#: ../../reference/lexical_analysis.rst:587 -msgid "``\\uxxxx``" -msgstr "``\\uxxxx``" +#: ../../reference/lexical_analysis.rst:590 +msgid ":samp:`\\\\u{xxxx}`" +msgstr ":samp:`\\\\u{xxxx}`" -#: ../../reference/lexical_analysis.rst:587 +#: ../../reference/lexical_analysis.rst:590 msgid "Character with 16-bit hex value *xxxx*" msgstr "Caractere com valor hexadecimal de 16 bits *xxxx*" -#: ../../reference/lexical_analysis.rst:587 +#: ../../reference/lexical_analysis.rst:590 msgid "\\(6)" msgstr "\\(6)" -#: ../../reference/lexical_analysis.rst:590 -msgid "``\\Uxxxxxxxx``" -msgstr "``\\Uxxxxxxxx``" +#: ../../reference/lexical_analysis.rst:593 +msgid ":samp:`\\\\U{xxxxxxxx}`" +msgstr ":samp:`\\\\U{xxxxxxxx}`" -#: ../../reference/lexical_analysis.rst:590 +#: ../../reference/lexical_analysis.rst:593 msgid "Character with 32-bit hex value *xxxxxxxx*" msgstr "Caractere com valor hexadecimal de 32 bits *xxxxxxxx*" -#: ../../reference/lexical_analysis.rst:590 +#: ../../reference/lexical_analysis.rst:593 msgid "\\(7)" msgstr "\\(7)" -#: ../../reference/lexical_analysis.rst:594 +#: ../../reference/lexical_analysis.rst:597 msgid "Notes:" msgstr "Notas:" -#: ../../reference/lexical_analysis.rst:597 +#: ../../reference/lexical_analysis.rst:600 msgid "A backslash can be added at the end of a line to ignore the newline::" msgstr "" +"Uma contrabarra pode ser adicionada ao fim da linha para ignorar a nova " +"linha::" -#: ../../reference/lexical_analysis.rst:603 +#: ../../reference/lexical_analysis.rst:606 msgid "" "The same result can be achieved using :ref:`triple-quoted strings " "`, or parentheses and :ref:`string literal concatenation `." msgstr "" +"O mesmo resultado pode ser obtido usando :ref:`strings com aspas triplas " +"`, ou parênteses e :ref:`concatenação de literal string `." -#: ../../reference/lexical_analysis.rst:608 +#: ../../reference/lexical_analysis.rst:611 msgid "As in Standard C, up to three octal digits are accepted." msgstr "Como no padrão C, são aceitos até três dígitos octais." -#: ../../reference/lexical_analysis.rst:610 +#: ../../reference/lexical_analysis.rst:613 msgid "" -"Octal escapes with value larger than ``0o377`` produce a :exc:" -"`DeprecationWarning`. In a future Python version they will be a :exc:" -"`SyntaxWarning` and eventually a :exc:`SyntaxError`." +"Octal escapes with value larger than ``0o377`` produce " +"a :exc:`DeprecationWarning`. In a future Python version they will be " +"a :exc:`SyntaxWarning` and eventually a :exc:`SyntaxError`." msgstr "" -#: ../../reference/lexical_analysis.rst:616 +#: ../../reference/lexical_analysis.rst:619 msgid "Unlike in Standard C, exactly two hex digits are required." msgstr "" "Ao contrário do padrão C, são necessários exatamente dois dígitos " "hexadecimais." -#: ../../reference/lexical_analysis.rst:619 +#: ../../reference/lexical_analysis.rst:622 msgid "" "In a bytes literal, hexadecimal and octal escapes denote the byte with the " "given value. In a string literal, these escapes denote a Unicode character " "with the given value." msgstr "" +"Em um literal de bytes, os escapes hexadecimais e octais denotam o byte com " +"o valor fornecido. Em uma literal de string, esses escapes denotam um " +"caractere Unicode com o valor fornecido." -#: ../../reference/lexical_analysis.rst:624 +#: ../../reference/lexical_analysis.rst:627 msgid "Support for name aliases [#]_ has been added." msgstr "O suporte para apelidos de nome [#]_ foi adicionado." -#: ../../reference/lexical_analysis.rst:628 +#: ../../reference/lexical_analysis.rst:631 msgid "Exactly four hex digits are required." -msgstr "São necessários quatro dígitos hexadecimais." +msgstr "São necessários exatos quatro dígitos hexadecimais." -#: ../../reference/lexical_analysis.rst:631 +#: ../../reference/lexical_analysis.rst:634 msgid "" "Any Unicode character can be encoded this way. Exactly eight hex digits are " "required." msgstr "" +"Qualquer caractere Unicode pode ser codificado desta forma. São necessários " +"exatamente oito dígitos hexadecimais." -#: ../../reference/lexical_analysis.rst:637 +#: ../../reference/lexical_analysis.rst:640 msgid "" "Unlike Standard C, all unrecognized escape sequences are left in the string " "unchanged, i.e., *the backslash is left in the result*. (This behavior is " @@ -874,15 +1052,22 @@ msgid "" "that the escape sequences only recognized in string literals fall into the " "category of unrecognized escapes for bytes literals." msgstr "" +"Ao contrário do padrão C, todas as sequências de escape não reconhecidas são " +"deixadas inalteradas na string, ou seja, *a contrabarra é deixada no " +"resultado*. (Esse comportamento é útil durante a depuração: se uma sequência " +"de escape for digitada incorretamente, a saída resultante será mais " +"facilmente reconhecida como quebrada.) Também é importante observar que as " +"sequências de escape reconhecidas apenas em literais de string se enquadram " +"na categoria de escapes não reconhecidos para literais de bytes." -#: ../../reference/lexical_analysis.rst:644 +#: ../../reference/lexical_analysis.rst:647 msgid "" "Unrecognized escape sequences produce a :exc:`DeprecationWarning`. In a " -"future Python version they will be a :exc:`SyntaxWarning` and eventually a :" -"exc:`SyntaxError`." +"future Python version they will be a :exc:`SyntaxWarning` and eventually " +"a :exc:`SyntaxError`." msgstr "" -#: ../../reference/lexical_analysis.rst:649 +#: ../../reference/lexical_analysis.rst:652 msgid "" "Even in a raw literal, quotes can be escaped with a backslash, but the " "backslash remains in the result; for example, ``r\"\\\"\"`` is a valid " @@ -894,12 +1079,22 @@ msgid "" "interpreted as those two characters as part of the literal, *not* as a line " "continuation." msgstr "" - -#: ../../reference/lexical_analysis.rst:662 +"Mesmo em um literal bruto, as aspas podem ser escapadas com uma contrabarra, " +"mas a barra invertida permanece no resultado; por exemplo, ``r\"\\\"\"`` é " +"uma literal de string válida que consiste em dois caracteres: uma " +"contrabarra e aspas duplas; ``r\"\\\"`` não é uma literal de string válida " +"(mesmo uma string bruta não pode terminar em um número ímpar de " +"contrabarras). Especificamente, *um literal bruto não pode terminar em uma " +"única contrabarra* (já que a contrabarra escaparia do seguinte caractere de " +"aspas). Observe também que uma única contrabarra seguida por uma nova linha " +"é interpretada como esses dois caracteres como parte do literal, *não* como " +"uma continuação de linha." + +#: ../../reference/lexical_analysis.rst:665 msgid "String literal concatenation" -msgstr "" +msgstr "Concatenação de literal de string" -#: ../../reference/lexical_analysis.rst:664 +#: ../../reference/lexical_analysis.rst:667 msgid "" "Multiple adjacent string or bytes literals (delimited by whitespace), " "possibly using different quoting conventions, are allowed, and their meaning " @@ -908,8 +1103,15 @@ msgid "" "number of backslashes needed, to split long strings conveniently across long " "lines, or even to add comments to parts of strings, for example::" msgstr "" +"São permitidos vários literais de strings ou bytes adjacentes (delimitados " +"por espaços em branco), possivelmente usando diferentes convenções de " +"delimitação de strings, e seu significado é o mesmo de sua concatenação. " +"Assim, ``\"hello\" 'world'`` é equivalente a ``\"helloworld\"``. Este " +"recurso pode ser usado para reduzir o número de barras invertidas " +"necessárias, para dividir strings longas convenientemente em linhas longas " +"ou até mesmo para adicionar comentários a partes de strings, por exemplo:" -#: ../../reference/lexical_analysis.rst:675 +#: ../../reference/lexical_analysis.rst:678 msgid "" "Note that this feature is defined at the syntactical level, but implemented " "at compile time. The '+' operator must be used to concatenate string " @@ -918,12 +1120,19 @@ msgid "" "triple quoted strings), and formatted string literals may be concatenated " "with plain string literals." msgstr "" +"Observe que esse recurso é definido no nível sintático, mas implementado em " +"tempo de compilação. O operador '+' deve ser usado para concatenar " +"expressões de string em tempo de execução. Observe também que a concatenação " +"literal pode usar diferentes estilos de delimitação de strings para cada " +"componente (mesmo misturando strings brutas e strings com aspas triplas), e " +"literais de string formatados podem ser concatenados com literais de string " +"simples." -#: ../../reference/lexical_analysis.rst:696 -msgid "Formatted string literals" -msgstr "Literais de string formatados" +#: ../../reference/lexical_analysis.rst:701 +msgid "f-strings" +msgstr "f-strings" -#: ../../reference/lexical_analysis.rst:700 +#: ../../reference/lexical_analysis.rst:705 msgid "" "A :dfn:`formatted string literal` or :dfn:`f-string` is a string literal " "that is prefixed with ``'f'`` or ``'F'``. These strings may contain " @@ -931,15 +1140,23 @@ msgid "" "While other string literals always have a constant value, formatted strings " "are really expressions evaluated at run time." msgstr "" +"Um :dfn:`literal de string formatado` ou :dfn:`f-string` é uma literal de " +"string prefixado com ``'f'`` ou ``'F'``. Essas strings podem conter campos " +"de substituição, que são expressões delimitadas por chaves ``{}``. Embora " +"outros literais de string sempre tenham um valor constante, strings " +"formatadas são, na verdade, expressões avaliadas em tempo de execução." -#: ../../reference/lexical_analysis.rst:706 +#: ../../reference/lexical_analysis.rst:711 msgid "" "Escape sequences are decoded like in ordinary string literals (except when a " "literal is also marked as a raw string). After decoding, the grammar for " "the contents of the string is:" msgstr "" +"As sequências de escape são decodificadas como em literais de string comuns " +"(exceto quando um literal também é marcado como uma string bruta). Após a " +"decodificação, a gramática do conteúdo da string é:" -#: ../../reference/lexical_analysis.rst:720 +#: ../../reference/lexical_analysis.rst:725 msgid "" "The parts of the string outside curly braces are treated literally, except " "that any doubled curly braces ``'{{'`` or ``'}}'`` are replaced with the " @@ -951,8 +1168,18 @@ msgid "" "format specifier may also be appended, introduced by a colon ``':'``. A " "replacement field ends with a closing curly bracket ``'}'``." msgstr "" +"As partes da string fora das chaves são tratadas literalmente, exceto que " +"quaisquer chaves duplas ``'{{'`` ou ``'}}'`` são substituídas pela chave " +"única correspondente. Uma única chave de abertura ``'{'`` marca um campo de " +"substituição, que começa com uma expressão Python. Para exibir o texto da " +"expressão e seu valor após a avaliação (útil na depuração), um sinal de " +"igual ``'='`` pode ser adicionado após a expressão. Um campo de conversão, " +"introduzido por um ponto de exclamação ``'!'``, pode vir a seguir. Um " +"especificador de formato também pode ser anexado, introduzido por dois " +"pontos ``':'``. Um campo de substituição termina com uma chave de fechamento " +"``'}'``." -#: ../../reference/lexical_analysis.rst:730 +#: ../../reference/lexical_analysis.rst:735 msgid "" "Expressions in formatted string literals are treated like regular Python " "expressions surrounded by parentheses, with a few exceptions. An empty " @@ -963,14 +1190,17 @@ msgid "" "where the formatted string literal appears, in order from left to right." msgstr "" -#: ../../reference/lexical_analysis.rst:739 +#: ../../reference/lexical_analysis.rst:744 msgid "" "Prior to Python 3.7, an :keyword:`await` expression and comprehensions " "containing an :keyword:`async for` clause were illegal in the expressions in " "formatted string literals due to a problem with the implementation." msgstr "" +"Antes do Python 3.7, uma expressão :keyword:`await` e compreensões contendo " +"uma cláusula :keyword:`async for` eram ilegais nas expressões em literais " +"de strings formatadas devido a um problema com a implementação." -#: ../../reference/lexical_analysis.rst:744 +#: ../../reference/lexical_analysis.rst:749 msgid "" "When the equal sign ``'='`` is provided, the output will have the expression " "text, the ``'='`` and the evaluated value. Spaces after the opening brace " @@ -980,28 +1210,43 @@ msgid "" "it defaults to the :func:`str` of the expression unless a conversion ``'!" "r'`` is declared." msgstr "" +"Quando o sinal de igual ``'='`` for fornecido, a saída terá o texto da " +"expressão, o ``'='`` e o valor avaliado. Os espaços após a chave de abertura " +"``'{'``, dentro da expressão e após ``'='`` são todos preservados na saída. " +"Por padrão, ``'='`` faz com que :func:`repr` da expressão seja fornecida, a " +"menos que haja um formato especificado. Quando um formato é especificado, o " +"padrão é o :func:`str` da expressão, a menos que uma conversão ``'!r'`` seja " +"declarada." -#: ../../reference/lexical_analysis.rst:752 +#: ../../reference/lexical_analysis.rst:757 msgid "The equal sign ``'='``." -msgstr "" +msgstr "O sinal de igual ``'='``." -#: ../../reference/lexical_analysis.rst:755 +#: ../../reference/lexical_analysis.rst:760 msgid "" "If a conversion is specified, the result of evaluating the expression is " "converted before formatting. Conversion ``'!s'`` calls :func:`str` on the " "result, ``'!r'`` calls :func:`repr`, and ``'!a'`` calls :func:`ascii`." msgstr "" +"Se uma conversão for especificada, o resultado da avaliação da expressão " +"será convertido antes da formatação. A conversão ``'!s'`` chama :func:`str` " +"no resultado, ``'!r'`` chama :func:`repr` e ``'!a'`` chama :func:`ascii`." -#: ../../reference/lexical_analysis.rst:759 +#: ../../reference/lexical_analysis.rst:764 msgid "" "The result is then formatted using the :func:`format` protocol. The format " -"specifier is passed to the :meth:`__format__` method of the expression or " -"conversion result. An empty string is passed when the format specifier is " -"omitted. The formatted result is then included in the final value of the " -"whole string." +"specifier is passed to the :meth:`~object.__format__` method of the " +"expression or conversion result. An empty string is passed when the format " +"specifier is omitted. The formatted result is then included in the final " +"value of the whole string." msgstr "" +"O resultado é então formatado usando o protocolo :func:`format`. O " +"especificador de formato é passado para o método :meth:`~object.__format__` " +"da expressão ou resultado da conversão. Uma string vazia é passada quando o " +"especificador de formato é omitido. O resultado formatado é então incluído " +"no valor final de toda a string." -#: ../../reference/lexical_analysis.rst:765 +#: ../../reference/lexical_analysis.rst:770 msgid "" "Top-level format specifiers may include nested replacement fields. These " "nested fields may include their own conversion fields and :ref:`format " @@ -1009,115 +1254,145 @@ msgid "" "fields. The :ref:`format specifier mini-language ` is the same " "as that used by the :meth:`str.format` method." msgstr "" +"Os especificadores de formato de nível superior podem incluir campos de " +"substituição aninhados. Esses campos aninhados podem incluir seus próprios " +"campos de conversão e :ref:`especificadores de formato `, mas " +"podem não incluir campos de substituição aninhados mais profundamente. " +"A :ref:`minilinguagem do especificador de formato ` é a mesma " +"usada pelo método :meth:`str.format`." -#: ../../reference/lexical_analysis.rst:771 +#: ../../reference/lexical_analysis.rst:776 msgid "" "Formatted string literals may be concatenated, but replacement fields cannot " "be split across literals." msgstr "" +"Literais de strings formatadas podem ser concatenados, mas os campos de " +"substituição não podem ser divididos entre literais." -#: ../../reference/lexical_analysis.rst:774 +#: ../../reference/lexical_analysis.rst:779 msgid "Some examples of formatted string literals::" -msgstr "Alguns exemplos de literais formatados::" +msgstr "Alguns exemplos de literais de string formatada::" -#: ../../reference/lexical_analysis.rst:806 +#: ../../reference/lexical_analysis.rst:811 msgid "" "A consequence of sharing the same syntax as regular string literals is that " "characters in the replacement fields must not conflict with the quoting used " "in the outer formatted string literal::" msgstr "" -#: ../../reference/lexical_analysis.rst:813 +#: ../../reference/lexical_analysis.rst:818 msgid "" "Backslashes are not allowed in format expressions and will raise an error::" msgstr "" "As barras invertidas não são permitidas nas expressões de formatação e " "levantarão uma exceção::" -#: ../../reference/lexical_analysis.rst:818 +#: ../../reference/lexical_analysis.rst:823 msgid "" "To include a value in which a backslash escape is required, create a " "temporary variable." msgstr "" -#: ../../reference/lexical_analysis.rst:825 +#: ../../reference/lexical_analysis.rst:830 msgid "" "Formatted string literals cannot be used as docstrings, even if they do not " "include expressions." msgstr "" +"Literais de strings formatadas não podem ser usados como strings de " +"documentação, mesmo que não incluam expressões." -#: ../../reference/lexical_analysis.rst:836 +#: ../../reference/lexical_analysis.rst:841 msgid "" "See also :pep:`498` for the proposal that added formatted string literals, " "and :meth:`str.format`, which uses a related format string mechanism." msgstr "" +"Consulte também :pep:`498` para a proposta que adicionou literais de strings " +"formatadas e :meth:`str.format`, que usa um mecanismo de string de formato " +"relacionado." -#: ../../reference/lexical_analysis.rst:843 +#: ../../reference/lexical_analysis.rst:848 msgid "Numeric literals" -msgstr "Literais Numéricos" +msgstr "Literais numéricos" -#: ../../reference/lexical_analysis.rst:849 +#: ../../reference/lexical_analysis.rst:854 msgid "" "There are three types of numeric literals: integers, floating point numbers, " "and imaginary numbers. There are no complex literals (complex numbers can " "be formed by adding a real number and an imaginary number)." msgstr "" +"Existem três tipos de literais numéricos: inteiros, números de ponto " +"flutuante e números imaginários. Não existem literais complexos (números " +"complexos podem ser formados adicionando um número real e um número " +"imaginário)." -#: ../../reference/lexical_analysis.rst:853 +#: ../../reference/lexical_analysis.rst:858 msgid "" "Note that numeric literals do not include a sign; a phrase like ``-1`` is " "actually an expression composed of the unary operator '``-``' and the " "literal ``1``." msgstr "" +"Observe que os literais numéricos não incluem um sinal; uma frase como " +"``-1`` é, na verdade, uma expressão composta pelo operador unário '``-2``' e " +"o literal ``1``." -#: ../../reference/lexical_analysis.rst:867 +#: ../../reference/lexical_analysis.rst:872 msgid "Integer literals" -msgstr "Inteiros Literais" +msgstr "Inteiros literais" -#: ../../reference/lexical_analysis.rst:869 +#: ../../reference/lexical_analysis.rst:874 msgid "Integer literals are described by the following lexical definitions:" -msgstr "" +msgstr "Literais inteiros são descritos pelas seguintes definições léxicas:" -#: ../../reference/lexical_analysis.rst:883 +#: ../../reference/lexical_analysis.rst:888 msgid "" "There is no limit for the length of integer literals apart from what can be " "stored in available memory." msgstr "" +"Não há limite para o comprimento de literais inteiros além do que pode ser " +"armazenado na memória disponível." -#: ../../reference/lexical_analysis.rst:886 +#: ../../reference/lexical_analysis.rst:891 msgid "" "Underscores are ignored for determining the numeric value of the literal. " "They can be used to group digits for enhanced readability. One underscore " "can occur between digits, and after base specifiers like ``0x``." msgstr "" +"Os sublinhados são ignorados para determinar o valor numérico do literal. " +"Eles podem ser usados para agrupar dígitos para maior legibilidade. Um " +"sublinhado pode ocorrer entre dígitos e após especificadores de base como " +"``0x``." -#: ../../reference/lexical_analysis.rst:890 +#: ../../reference/lexical_analysis.rst:895 msgid "" "Note that leading zeros in a non-zero decimal number are not allowed. This " "is for disambiguation with C-style octal literals, which Python used before " "version 3.0." msgstr "" +"Observe que não são permitidos zeros à esquerda em um número decimal " +"diferente de zero. Isto é para desambiguação com literais octais de estilo " +"C, que o Python usava antes da versão 3.0." -#: ../../reference/lexical_analysis.rst:894 +#: ../../reference/lexical_analysis.rst:899 msgid "Some examples of integer literals::" -msgstr "Alguns exemplos de inteiros literais::" +msgstr "Alguns exemplos de literais inteiros::" -#: ../../reference/lexical_analysis.rst:900 -#: ../../reference/lexical_analysis.rst:932 +#: ../../reference/lexical_analysis.rst:905 +#: ../../reference/lexical_analysis.rst:937 msgid "Underscores are now allowed for grouping purposes in literals." msgstr "" -"Os underscores agora são permitidos para fins de agrupamento de literais." +"Os sublinhados agora são permitidos para fins de agrupamento de literais." -#: ../../reference/lexical_analysis.rst:911 +#: ../../reference/lexical_analysis.rst:916 msgid "Floating point literals" -msgstr "Literais de Ponto Flutuante" +msgstr "Literais de ponto flutuante" -#: ../../reference/lexical_analysis.rst:913 +#: ../../reference/lexical_analysis.rst:918 msgid "" "Floating point literals are described by the following lexical definitions:" msgstr "" +"Literais de ponto flutuante são descritos pelas seguintes definições léxicas:" -#: ../../reference/lexical_analysis.rst:923 +#: ../../reference/lexical_analysis.rst:928 msgid "" "Note that the integer and exponent parts are always interpreted using radix " "10. For example, ``077e010`` is legal, and denotes the same number as " @@ -1125,21 +1400,26 @@ msgid "" "dependent. As in integer literals, underscores are supported for digit " "grouping." msgstr "" +"Observe que as partes inteiras e expoentes são sempre interpretadas usando " +"base 10. Por exemplo, ``077e010`` é válido e representa o mesmo número que " +"``77e10``. O intervalo permitido de literais de ponto flutuante depende da " +"implementação. Assim como em literais inteiros, os sublinhados são " +"permitidos para agrupamento de dígitos." -#: ../../reference/lexical_analysis.rst:928 +#: ../../reference/lexical_analysis.rst:933 msgid "Some examples of floating point literals::" msgstr "Alguns exemplos de literais de ponto flutuante::" -#: ../../reference/lexical_analysis.rst:941 +#: ../../reference/lexical_analysis.rst:946 msgid "Imaginary literals" -msgstr "Literais Imaginários" +msgstr "Literais imaginários" -#: ../../reference/lexical_analysis.rst:943 +#: ../../reference/lexical_analysis.rst:948 msgid "Imaginary literals are described by the following lexical definitions:" msgstr "" "Os literais imaginários são descritos pelas seguintes definições léxicas:" -#: ../../reference/lexical_analysis.rst:948 +#: ../../reference/lexical_analysis.rst:953 msgid "" "An imaginary literal yields a complex number with a real part of 0.0. " "Complex numbers are represented as a pair of floating point numbers and have " @@ -1147,58 +1427,482 @@ msgid "" "nonzero real part, add a floating point number to it, e.g., ``(3+4j)``. " "Some examples of imaginary literals::" msgstr "" -"Um literal imaginário produz um número complexo com uma parte real de 0.0. " -"Os números complexos são representados como um par de números de ponto " +"Um literal imaginário produz um número complexo com uma parte real igual a " +"0.0. Os números complexos são representados como um par de números de ponto " "flutuante e têm as mesmas restrições em seu alcance. Para criar um número " "complexo com uma parte real diferente de zero, adicione um número de ponto " "flutuante a ele, por exemplo, ``(3 + 4j)``. Alguns exemplos de literais " -"imaginários ::" +"imaginários::" -#: ../../reference/lexical_analysis.rst:960 +#: ../../reference/lexical_analysis.rst:965 msgid "Operators" msgstr "Operadores" -#: ../../reference/lexical_analysis.rst:964 +#: ../../reference/lexical_analysis.rst:969 msgid "The following tokens are operators:" msgstr "Os seguintes tokens são operadores:" -#: ../../reference/lexical_analysis.rst:977 +#: ../../reference/lexical_analysis.rst:982 msgid "Delimiters" msgstr "Delimitadores" -#: ../../reference/lexical_analysis.rst:981 +#: ../../reference/lexical_analysis.rst:986 msgid "The following tokens serve as delimiters in the grammar:" msgstr "Os seguintes tokens servem como delimitadores na gramática:" -#: ../../reference/lexical_analysis.rst:990 +#: ../../reference/lexical_analysis.rst:995 msgid "" "The period can also occur in floating-point and imaginary literals. A " "sequence of three periods has a special meaning as an ellipsis literal. The " "second half of the list, the augmented assignment operators, serve lexically " "as delimiters, but also perform an operation." msgstr "" -"O período também pode ocorrer em literais de ponto flutuante e imaginário. " -"Uma sequência de três períodos tem um significado especial como um literal " -"de reticências. A segunda metade da lista, os operadores de atribuição " +"O ponto também pode ocorrer em literais de ponto flutuante e imaginário. Uma " +"sequência de três períodos tem um significado especial como um literal de " +"reticências. A segunda metade da lista, os operadores de atribuição " "aumentada, servem lexicalmente como delimitadores, mas também realizam uma " "operação." -#: ../../reference/lexical_analysis.rst:995 +#: ../../reference/lexical_analysis.rst:1000 msgid "" "The following printing ASCII characters have special meaning as part of " "other tokens or are otherwise significant to the lexical analyzer:" msgstr "" +"Os seguintes caracteres ASCII imprimíveis têm um significado especial como " +"parte de outros tokens ou são significativos para o analisador léxico:" -#: ../../reference/lexical_analysis.rst:1002 +#: ../../reference/lexical_analysis.rst:1007 msgid "" "The following printing ASCII characters are not used in Python. Their " "occurrence outside string literals and comments is an unconditional error:" msgstr "" +"Os seguintes caracteres ASCII imprimíveis não são usados em Python. Sua " +"ocorrência fora de literais de string e comentários é um erro incondicional:" -#: ../../reference/lexical_analysis.rst:1011 +#: ../../reference/lexical_analysis.rst:1016 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../reference/lexical_analysis.rst:1012 +#: ../../reference/lexical_analysis.rst:1017 msgid "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt" msgstr "" + +#: ../../reference/lexical_analysis.rst:8 +msgid "lexical analysis" +msgstr "análise léxica" + +#: ../../reference/lexical_analysis.rst:8 +msgid "parser" +msgstr "analisador sintático" + +#: ../../reference/lexical_analysis.rst:8 +msgid "token" +msgstr "token" + +#: ../../reference/lexical_analysis.rst:25 +msgid "line structure" +msgstr "estrutura da linha" + +#: ../../reference/lexical_analysis.rst:35 +msgid "logical line" +msgstr "linha lógica" + +#: ../../reference/lexical_analysis.rst:35 +#: ../../reference/lexical_analysis.rst:114 +#: ../../reference/lexical_analysis.rst:527 +msgid "physical line" +msgstr "linha física" + +#: ../../reference/lexical_analysis.rst:35 +#: ../../reference/lexical_analysis.rst:114 +msgid "line joining" +msgstr "junção de linha" + +#: ../../reference/lexical_analysis.rst:35 +msgid "NEWLINE token" +msgstr "token NEWLINE" + +#: ../../reference/lexical_analysis.rst:67 +msgid "comment" +msgstr "comentário" + +#: ../../reference/lexical_analysis.rst:67 +msgid "hash character" +msgstr "caractere cerquilha" + +#: ../../reference/lexical_analysis.rst:67 +#: ../../reference/lexical_analysis.rst:81 +msgid "# (hash)" +msgstr "# (cerquilha)" + +#: ../../reference/lexical_analysis.rst:81 +msgid "source character set" +msgstr "conjunto de caracteres do código-fonte" + +#: ../../reference/lexical_analysis.rst:81 +msgid "encoding declarations (source file)" +msgstr "declaração de codificação (arquivo fonte)" + +#: ../../reference/lexical_analysis.rst:81 +msgid "source encoding declaration" +msgstr "declaração de codificação de código-fonte" + +#: ../../reference/lexical_analysis.rst:114 +msgid "line continuation" +msgstr "continuação de linha" + +#: ../../reference/lexical_analysis.rst:114 +msgid "backslash character" +msgstr "caractere contrabarra" + +#: ../../reference/lexical_analysis.rst:159 +msgid "blank line" +msgstr "linha em branco" + +#: ../../reference/lexical_analysis.rst:174 +msgid "indentation" +msgstr "indentação" + +#: ../../reference/lexical_analysis.rst:174 +msgid "leading whitespace" +msgstr "espaço em branco inicial" + +#: ../../reference/lexical_analysis.rst:174 +msgid "space" +msgstr "espaço" + +#: ../../reference/lexical_analysis.rst:174 +msgid "tab" +msgstr "tabulação" + +#: ../../reference/lexical_analysis.rst:174 +msgid "grouping" +msgstr "agrupamento" + +#: ../../reference/lexical_analysis.rst:174 +msgid "statement grouping" +msgstr "agrupamento de instruções" + +#: ../../reference/lexical_analysis.rst:202 +msgid "INDENT token" +msgstr "token INDENT" + +#: ../../reference/lexical_analysis.rst:202 +msgid "DEDENT token" +msgstr "token DEDENT" + +#: ../../reference/lexical_analysis.rst:277 +msgid "identifier" +msgstr "identificador" + +#: ../../reference/lexical_analysis.rst:277 +msgid "name" +msgstr "nome" + +#: ../../reference/lexical_analysis.rst:334 +#: ../../reference/lexical_analysis.rst:358 +msgid "keyword" +msgstr "palavra reservada" + +#: ../../reference/lexical_analysis.rst:334 +msgid "reserved word" +msgstr "palavra reservada" + +#: ../../reference/lexical_analysis.rst:358 +msgid "soft keyword" +msgstr "palavra reservada contextual" + +#: ../../reference/lexical_analysis.rst:373 +msgid "_, identifiers" +msgstr "_, identificadores" + +#: ../../reference/lexical_analysis.rst:373 +msgid "__, identifiers" +msgstr "__, identificadores" + +#: ../../reference/lexical_analysis.rst:429 +msgid "literal" +msgstr "literal" + +#: ../../reference/lexical_analysis.rst:429 +msgid "constant" +msgstr "constante" + +#: ../../reference/lexical_analysis.rst:434 +#: ../../reference/lexical_analysis.rst:475 +msgid "string literal" +msgstr "literal de string" + +#: ../../reference/lexical_analysis.rst:434 +#: ../../reference/lexical_analysis.rst:486 +msgid "bytes literal" +msgstr "literal de bytes" + +#: ../../reference/lexical_analysis.rst:434 +msgid "ASCII" +msgstr "ASCII" + +#: ../../reference/lexical_analysis.rst:434 +msgid "' (single quote)" +msgstr "' (aspas simples)" + +#: ../../reference/lexical_analysis.rst:434 +msgid "\" (double quote)" +msgstr "\" (aspas duplas)" + +#: ../../reference/lexical_analysis.rst:434 +msgid "u'" +msgstr "u'" + +#: ../../reference/lexical_analysis.rst:434 +msgid "u\"" +msgstr "u\"" + +#: ../../reference/lexical_analysis.rst:475 +msgid "triple-quoted string" +msgstr "aspas triplas" + +#: ../../reference/lexical_analysis.rst:475 +msgid "Unicode Consortium" +msgstr "Consórcio Unicode" + +#: ../../reference/lexical_analysis.rst:475 +msgid "raw string" +msgstr "string bruta" + +#: ../../reference/lexical_analysis.rst:475 +msgid "\"\"\"" +msgstr "\"\"\"" + +#: ../../reference/lexical_analysis.rst:475 +msgid "'''" +msgstr "'''" + +#: ../../reference/lexical_analysis.rst:486 +msgid "b'" +msgstr "b'" + +#: ../../reference/lexical_analysis.rst:486 +msgid "b\"" +msgstr "b\"" + +#: ../../reference/lexical_analysis.rst:495 +msgid "r'" +msgstr "r'" + +#: ../../reference/lexical_analysis.rst:495 +msgid "raw string literal" +msgstr "literal de string bruta" + +#: ../../reference/lexical_analysis.rst:495 +msgid "r\"" +msgstr "r\"" + +#: ../../reference/lexical_analysis.rst:514 +msgid "f'" +msgstr "f'" + +#: ../../reference/lexical_analysis.rst:514 +#: ../../reference/lexical_analysis.rst:685 +msgid "formatted string literal" +msgstr "literal de string formatado" + +#: ../../reference/lexical_analysis.rst:514 +msgid "f\"" +msgstr "f\"" + +#: ../../reference/lexical_analysis.rst:527 +msgid "escape sequence" +msgstr "sequência de escape" + +#: ../../reference/lexical_analysis.rst:527 +msgid "Standard C" +msgstr "Standard C" + +#: ../../reference/lexical_analysis.rst:527 +msgid "C" +msgstr "C" + +#: ../../reference/lexical_analysis.rst:527 +msgid "\\ (backslash)" +msgstr "\\ (contrabarra)" + +#: ../../reference/lexical_analysis.rst:527 +msgid "\\\\" +msgstr "\\\\" + +#: ../../reference/lexical_analysis.rst:527 +msgid "\\a" +msgstr "\\a" + +#: ../../reference/lexical_analysis.rst:527 +msgid "\\b" +msgstr "\\b" + +#: ../../reference/lexical_analysis.rst:527 +msgid "\\f" +msgstr "\\f" + +#: ../../reference/lexical_analysis.rst:527 +msgid "\\n" +msgstr "\\n" + +#: ../../reference/lexical_analysis.rst:527 +msgid "\\r" +msgstr "\\r" + +#: ../../reference/lexical_analysis.rst:527 +msgid "\\t" +msgstr "\\t" + +#: ../../reference/lexical_analysis.rst:527 +msgid "\\v" +msgstr "\\v" + +#: ../../reference/lexical_analysis.rst:527 +msgid "\\x" +msgstr "\\x" + +#: ../../reference/lexical_analysis.rst:527 +msgid "\\u" +msgstr "\\u" + +#: ../../reference/lexical_analysis.rst:527 +msgid "\\U" +msgstr "\\U" + +#: ../../reference/lexical_analysis.rst:638 +msgid "unrecognized escape sequence" +msgstr "sequência de escape não reconhecida" + +#: ../../reference/lexical_analysis.rst:685 +msgid "interpolated string literal" +msgstr "literal de string interpolada" + +#: ../../reference/lexical_analysis.rst:685 +msgid "string" +msgstr "string" + +#: ../../reference/lexical_analysis.rst:685 +msgid "formatted literal" +msgstr "literal formatado" + +#: ../../reference/lexical_analysis.rst:685 +msgid "interpolated literal" +msgstr "literal interpolado" + +#: ../../reference/lexical_analysis.rst:685 +msgid "f-string" +msgstr "f-string" + +#: ../../reference/lexical_analysis.rst:685 +msgid "fstring" +msgstr "fstring" + +#: ../../reference/lexical_analysis.rst:685 +msgid "{} (curly brackets)" +msgstr "{} (chaves)" + +#: ../../reference/lexical_analysis.rst:685 +msgid "in formatted string literal" +msgstr "em literal de string formatado" + +#: ../../reference/lexical_analysis.rst:685 +msgid "! (exclamation)" +msgstr "! (exclamação)" + +#: ../../reference/lexical_analysis.rst:685 +msgid ": (colon)" +msgstr ": (dois pontos)" + +#: ../../reference/lexical_analysis.rst:685 +msgid "= (equals)" +msgstr "= (igual)" + +#: ../../reference/lexical_analysis.rst:685 +msgid "for help in debugging using string literals" +msgstr "para ajudar na depuração usando literais de string" + +#: ../../reference/lexical_analysis.rst:850 +msgid "number" +msgstr "número" + +#: ../../reference/lexical_analysis.rst:850 +msgid "numeric literal" +msgstr "literal numérico" + +#: ../../reference/lexical_analysis.rst:850 +#: ../../reference/lexical_analysis.rst:863 +msgid "integer literal" +msgstr "literal de inteiro" + +#: ../../reference/lexical_analysis.rst:850 +msgid "floating point literal" +msgstr "literal de ponto flutuante" + +#: ../../reference/lexical_analysis.rst:850 +msgid "hexadecimal literal" +msgstr "literal de hexadecimal" + +#: ../../reference/lexical_analysis.rst:850 +msgid "octal literal" +msgstr "literal de octal" + +#: ../../reference/lexical_analysis.rst:850 +msgid "binary literal" +msgstr "literal de binário" + +#: ../../reference/lexical_analysis.rst:850 +msgid "decimal literal" +msgstr "literal de decimal" + +#: ../../reference/lexical_analysis.rst:850 +msgid "imaginary literal" +msgstr "literal de número imaginário" + +#: ../../reference/lexical_analysis.rst:850 +msgid "complex literal" +msgstr "literal de número complexo" + +#: ../../reference/lexical_analysis.rst:863 +msgid "0b" +msgstr "0b" + +#: ../../reference/lexical_analysis.rst:863 +msgid "0o" +msgstr "0o" + +#: ../../reference/lexical_analysis.rst:863 +msgid "0x" +msgstr "0x" + +#: ../../reference/lexical_analysis.rst:863 +#: ../../reference/lexical_analysis.rst:909 +msgid "_ (underscore)" +msgstr "_ (sublinhado)" + +#: ../../reference/lexical_analysis.rst:863 +#: ../../reference/lexical_analysis.rst:909 +#: ../../reference/lexical_analysis.rst:941 +msgid "in numeric literal" +msgstr "em literal númerico" + +#: ../../reference/lexical_analysis.rst:909 +msgid ". (dot)" +msgstr ". (ponto)" + +#: ../../reference/lexical_analysis.rst:909 +msgid "e" +msgstr "e" + +#: ../../reference/lexical_analysis.rst:941 +msgid "j" +msgstr "j" + +#: ../../reference/lexical_analysis.rst:967 +msgid "operators" +msgstr "operadores" + +#: ../../reference/lexical_analysis.rst:984 +msgid "delimiters" +msgstr "delimitadores" diff --git a/reference/simple_stmts.po b/reference/simple_stmts.po index 9de1d9a33..6e984958a 100644 --- a/reference/simple_stmts.po +++ b/reference/simple_stmts.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# felipe caridade , 2023 -# Ricardo Cappellano , 2023 -# Claudio Rogerio Carvalho Filho , 2023 -# Adorilson Bezerra , 2023 -# Vinicius Gubiani Ferreira , 2023 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-12 14:12+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -198,9 +191,9 @@ msgid "" "statement in the current code block: the name is bound to the object in the " "current local namespace." msgstr "" -"Se o nome não ocorrer em uma instrução :keyword:`global` ou :keyword:" -"`nonlocal` no bloco de código atual: o nome está vinculado ao objeto no " -"espaço de nomes local atual." +"Se o nome não ocorrer em uma instrução :keyword:`global` " +"ou :keyword:`nonlocal` no bloco de código atual: o nome está vinculado ao " +"objeto no espaço de nomes local atual." #: ../../reference/simple_stmts.rst:149 msgid "" @@ -208,8 +201,8 @@ msgid "" "outer namespace determined by :keyword:`nonlocal`, respectively." msgstr "" "Caso contrário: o nome é vinculado ao objeto no espaço de nomes global " -"global ou no espaço de nomes global externo determinado por :keyword:" -"`nonlocal`, respectivamente." +"global ou no espaço de nomes global externo determinado " +"por :keyword:`nonlocal`, respectivamente." #: ../../reference/simple_stmts.rst:154 msgid "" @@ -285,9 +278,9 @@ msgid "" "must yield an integer. If it is negative, the sequence's length is added to " "it. The resulting value must be a nonnegative integer less than the " "sequence's length, and the sequence is asked to assign the assigned object " -"to its item with that index. If the index is out of range, :exc:" -"`IndexError` is raised (assignment to a subscripted sequence cannot add new " -"items to a list)." +"to its item with that index. If the index is out of " +"range, :exc:`IndexError` is raised (assignment to a subscripted sequence " +"cannot add new items to a list)." msgstr "" "Se o primário for um objeto de sequência mutável (como uma lista), o " "subscrito deverá produzir um inteiro. Se for negativo, o comprimento da " @@ -301,25 +294,25 @@ msgstr "" msgid "" "If the primary is a mapping object (such as a dictionary), the subscript " "must have a type compatible with the mapping's key type, and the mapping is " -"then asked to create a key/datum pair which maps the subscript to the " +"then asked to create a key/value pair which maps the subscript to the " "assigned object. This can either replace an existing key/value pair with " "the same key value, or insert a new key/value pair (if no key with the same " "value existed)." msgstr "" "Se o primário for um objeto de mapeamento (como um dicionário), o subscrito " "deve ter um tipo compatível com o tipo de chave do mapeamento, e o " -"mapeamento é solicitado a criar um par chave/data que mapeia o subscrito " +"mapeamento é solicitado a criar um par chave/valore que mapeia o subscrito " "para o objeto atribuído. Isso pode substituir um par de chave/valor " "existente pelo mesmo valor de chave ou inserir um novo par de chave/valor " "(se não existir nenhuma chave com o mesmo valor)." #: ../../reference/simple_stmts.rst:216 msgid "" -"For user-defined objects, the :meth:`__setitem__` method is called with " -"appropriate arguments." +"For user-defined objects, the :meth:`~object.__setitem__` method is called " +"with appropriate arguments." msgstr "" -"Para objetos definidos pelo usuário, o método :meth:`__setitem__` é chamado " -"com argumentos apropriados." +"Para objetos definidos pelo usuário, o método :meth:`~object.__setitem__` é " +"chamado com argumentos apropriados." #: ../../reference/simple_stmts.rst:221 msgid "" @@ -374,7 +367,7 @@ msgstr "" #: ../../reference/simple_stmts.rst:253 msgid ":pep:`3132` - Extended Iterable Unpacking" -msgstr ":pep:`3132` - Descompactação de Iterável Estendida" +msgstr ":pep:`3132` - Desempacotamento estendido de iterável" #: ../../reference/simple_stmts.rst:254 msgid "The specification for the ``*target`` feature." @@ -409,7 +402,7 @@ msgid "" "evaluated once." msgstr "" "Uma atribuição aumentada avalia o alvo (que, diferentemente das instruções " -"de atribuição normais, não pode ser um descompactação) e a lista de " +"de atribuição normais, não pode ser um desempacotamento) e a lista de " "expressões, executa a operação binária específica para o tipo de atribuição " "nos dois operandos e atribui o resultado ao alvo original. O alvo é avaliado " "apenas uma vez." @@ -490,11 +483,11 @@ msgstr "" #: ../../reference/simple_stmts.rst:335 msgid "" "For simple names as assignment targets, if in class or module scope, the " -"annotations are evaluated and stored in a special class or module attribute :" -"attr:`__annotations__` that is a dictionary mapping from variable names " -"(mangled if private) to evaluated annotations. This attribute is writable " -"and is automatically created at the start of class or module body execution, " -"if annotations are found statically." +"annotations are evaluated and stored in a special class or module " +"attribute :attr:`__annotations__` that is a dictionary mapping from variable " +"names (mangled if private) to evaluated annotations. This attribute is " +"writable and is automatically created at the start of class or module body " +"execution, if annotations are found statically." msgstr "" "Para nomes simples como alvos de atribuição, se no escopo de classe ou " "módulo, as anotações são avaliadas e armazenadas em uma classe especial ou " @@ -526,14 +519,14 @@ msgid "" "If the right hand side is present, an annotated assignment performs the " "actual assignment before evaluating annotations (where applicable). If the " "right hand side is not present for an expression target, then the " -"interpreter evaluates the target except for the last :meth:`__setitem__` or :" -"meth:`__setattr__` call." +"interpreter evaluates the target except for the " +"last :meth:`~object.__setitem__` or :meth:`~object.__setattr__` call." msgstr "" "Se o lado direito estiver presente, uma atribuição anotada executa a " "atribuição real antes de avaliar as anotações (quando aplicável). Se o lado " "direito não estiver presente para um alvo de expressão, então o " -"interpretador avalia o alvo, exceto para a última chamada :meth:" -"`__setitem__` ou :meth:`__setattr__`." +"interpretador avalia o alvo, exceto para a última " +"chamada :meth:`~object.__setitem__` ou :meth:`~object.__setattr__`." #: ../../reference/simple_stmts.rst:360 msgid ":pep:`526` - Syntax for Variable Annotations" @@ -606,15 +599,15 @@ msgid "" "it is unnecessary to include the source code for the expression that failed " "in the error message; it will be displayed as part of the stack trace." msgstr "" -"Essas equivalências assumem que :const:`__debug__` e :exc:`AssertionError` " +"Essas equivalências presumem que :const:`__debug__` e :exc:`AssertionError` " "referem-se às variáveis embutidas com esses nomes. Na implementação atual, a " "variável embutida :const:`__debug__` é ``True`` em circunstâncias normais, " -"``False`` quando a otimização é solicitada (opção de linha de comando :" -"option:`-O`). O gerador de código atual não emite código para uma instrução " -"assert quando a otimização é solicitada em tempo de compilação. Observe que " -"não é necessário incluir o código-fonte da expressão que falhou na mensagem " -"de erro; ele será exibido como parte do stack trace (situação da pilha de " -"execução)." +"``False`` quando a otimização é solicitada (opção de linha de " +"comando :option:`-O`). O gerador de código atual não emite código para uma " +"instrução assert quando a otimização é solicitada em tempo de compilação. " +"Observe que não é necessário incluir o código-fonte da expressão que falhou " +"na mensagem de erro; ele será exibido como parte do stack trace (situação da " +"pilha de execução)." #: ../../reference/simple_stmts.rst:412 msgid "" @@ -663,13 +656,13 @@ msgstr "" msgid "" "Deletion of a name removes the binding of that name from the local or global " "namespace, depending on whether the name occurs in a :keyword:`global` " -"statement in the same code block. If the name is unbound, a :exc:" -"`NameError` exception will be raised." +"statement in the same code block. If the name is unbound, " +"a :exc:`NameError` exception will be raised." msgstr "" -"A exclusão de um nome remove a ligação desse nome do espaço de nomes global " -"local ou global, dependendo se o nome ocorre em uma instrução :keyword:" -"`global` no mesmo bloco de código. Se o nome for desvinculado, uma exceção :" -"exc:`NameError` será levantada." +"A exclusão de um nome remove a ligação desse nome do espaço de nomes local " +"ou global, dependendo se o nome ocorre em uma instrução :keyword:`global` no " +"mesmo bloco de código. Se o nome for desvinculado, uma " +"exceção :exc:`NameError` será levantada." #: ../../reference/simple_stmts.rst:467 msgid "" @@ -709,7 +702,7 @@ msgid "" "substituted." msgstr "" "Se uma lista de expressões estiver presente, ela será avaliada, caso " -"contrário, ``None`` será substituído." +"contrário, será usado o valor ``None``." #: ../../reference/simple_stmts.rst:495 msgid "" @@ -733,25 +726,27 @@ msgstr "" msgid "" "In a generator function, the :keyword:`return` statement indicates that the " "generator is done and will cause :exc:`StopIteration` to be raised. The " -"returned value (if any) is used as an argument to construct :exc:" -"`StopIteration` and becomes the :attr:`StopIteration.value` attribute." +"returned value (if any) is used as an argument to " +"construct :exc:`StopIteration` and becomes the :attr:`StopIteration.value` " +"attribute." msgstr "" "Em uma função geradora, a instrução :keyword:`return` indica que o gerador " -"está pronto e fará com que :exc:`StopIteration` seja gerado. O valor " -"retornado (se houver) é usado como argumento para construir :exc:" -"`StopIteration` e se torna o atributo :attr:`StopIteration.value`." +"está pronto e fará com que uma exceção :exc:`StopIteration` seja levantada. " +"O valor retornado (se houver) é usado como argumento para " +"construir :exc:`StopIteration` e se torna o " +"atributo :attr:`StopIteration.value`." #: ../../reference/simple_stmts.rst:509 msgid "" "In an asynchronous generator function, an empty :keyword:`return` statement " -"indicates that the asynchronous generator is done and will cause :exc:" -"`StopAsyncIteration` to be raised. A non-empty :keyword:`!return` statement " -"is a syntax error in an asynchronous generator function." +"indicates that the asynchronous generator is done and will " +"cause :exc:`StopAsyncIteration` to be raised. A non-empty :keyword:`!" +"return` statement is a syntax error in an asynchronous generator function." msgstr "" "Em uma função de gerador assíncrono, uma instrução :keyword:`return` vazia " -"indica que o gerador assíncrono está pronto e fará com que :exc:" -"`StopAsyncIteration` seja gerado. Uma instrução :keyword:`!return` não vazia " -"é um erro de sintaxe em uma função de gerador assíncrono." +"indica que o gerador assíncrono está pronto e fará com que uma " +"exceção :exc:`StopAsyncIteration` seja levantada. Uma instrução :keyword:`!" +"return` não vazia é um erro de sintaxe em uma função de gerador assíncrono." #: ../../reference/simple_stmts.rst:517 msgid "The :keyword:`!yield` statement" @@ -764,10 +759,10 @@ msgid "" "parentheses that would otherwise be required in the equivalent yield " "expression statement. For example, the yield statements ::" msgstr "" -"Uma instrução :keyword:`yield` é semanticamente equivalente a uma :ref:" -"`expressão yield `. A instrução yield pode ser usada para omitir " -"os parênteses que, de outra forma, seriam necessários na instrução de " -"expressão yield equivalente. Por exemplo, as instruções yield ::" +"Uma instrução :keyword:`yield` é semanticamente equivalente a " +"uma :ref:`expressão yield `. A instrução yield pode ser usada " +"para omitir os parênteses que, de outra forma, seriam necessários na " +"instrução de expressão yield equivalente. Por exemplo, as instruções yield ::" #: ../../reference/simple_stmts.rst:537 msgid "are equivalent to the yield expression statements ::" @@ -775,23 +770,23 @@ msgstr "são equivalentes às instruções de expressão yield ::" #: ../../reference/simple_stmts.rst:542 msgid "" -"Yield expressions and statements are only used when defining a :term:" -"`generator` function, and are only used in the body of the generator " +"Yield expressions and statements are only used when defining " +"a :term:`generator` function, and are only used in the body of the generator " "function. Using yield in a function definition is sufficient to cause that " "definition to create a generator function instead of a normal function." msgstr "" -"Expressões e instruções yield são usadas apenas ao definir uma função :term:" -"`geradora ` e são usadas apenas no corpo da função geradora. Usar " -"yield em uma definição de função é suficiente para fazer com que essa " -"definição crie uma função geradora em vez de uma função normal." +"Expressões e instruções yield são usadas apenas ao definir uma " +"função :term:`geradora ` e são usadas apenas no corpo da função " +"geradora. Usar yield em uma definição de função é suficiente para fazer com " +"que essa definição crie uma função geradora em vez de uma função normal." #: ../../reference/simple_stmts.rst:547 msgid "" -"For full details of :keyword:`yield` semantics, refer to the :ref:" -"`yieldexpr` section." +"For full details of :keyword:`yield` semantics, refer to " +"the :ref:`yieldexpr` section." msgstr "" -"Para detalhes completos da semântica :keyword:`yield`, consulte a seção :ref:" -"`yieldexpr`." +"Para detalhes completos da semântica :keyword:`yield`, consulte a " +"seção :ref:`yieldexpr`." #: ../../reference/simple_stmts.rst:553 msgid "The :keyword:`!raise` statement" @@ -804,27 +799,27 @@ msgid "" "If there isn't currently an active exception, a :exc:`RuntimeError` " "exception is raised indicating that this is an error." msgstr "" -"Se nenhuma expressão estiver presente, :keyword:`raise` reativa a exceção " -"que está sendo tratada no momento, que também é conhecida como *exceção " -"ativa*. Se não houver uma exceção ativa no momento, uma exceção :exc:" -"`RuntimeError` é levantada indicando que isso é um erro." +"Se nenhuma expressão estiver presente, :keyword:`raise` reativa a exceção em " +"tratamento no momento, também conhecida como *exceção ativa*. Se não houver " +"uma exceção ativa no momento, uma exceção :exc:`RuntimeError` é levantada " +"indicando que isso é um erro." #: ../../reference/simple_stmts.rst:569 msgid "" "Otherwise, :keyword:`raise` evaluates the first expression as the exception " -"object. It must be either a subclass or an instance of :class:" -"`BaseException`. If it is a class, the exception instance will be obtained " -"when needed by instantiating the class with no arguments." +"object. It must be either a subclass or an instance " +"of :class:`BaseException`. If it is a class, the exception instance will be " +"obtained when needed by instantiating the class with no arguments." msgstr "" "Caso contrário, :keyword:`raise` avalia a primeira expressão como o objeto " -"de exceção. Deve ser uma subclasse ou uma instância de :class:" -"`BaseException`. Se for uma classe, a instância de exceção será obtida " -"quando necessário instanciando a classe sem argumentos." +"de exceção. Deve ser uma subclasse ou uma instância " +"de :class:`BaseException`. Se for uma classe, a instância de exceção será " +"obtida quando necessário, instanciando a classe sem argumentos." #: ../../reference/simple_stmts.rst:574 msgid "" -"The :dfn:`type` of the exception is the exception instance's class, the :dfn:" -"`value` is the instance itself." +"The :dfn:`type` of the exception is the exception instance's class, " +"the :dfn:`value` is the instance itself." msgstr "" "O :dfn:`tipo` da exceção é a classe da instância de exceção, o :dfn:`valor` " "é a própria instância." @@ -832,118 +827,118 @@ msgstr "" #: ../../reference/simple_stmts.rst:579 msgid "" "A traceback object is normally created automatically when an exception is " -"raised and attached to it as the :attr:`__traceback__` attribute, which is " -"writable. You can create an exception and set your own traceback in one step " -"using the :meth:`~BaseException.with_traceback` exception method (which " +"raised and attached to it as the :attr:`~BaseException.__traceback__` " +"attribute. You can create an exception and set your own traceback in one " +"step using the :meth:`~BaseException.with_traceback` exception method (which " "returns the same exception instance, with its traceback set to its " "argument), like so::" msgstr "" "Um objeto traceback (situação da pilha de execução) normalmente é criado " "automaticamente quando uma exceção é levantada e anexada a ele como o " -"atributo :attr:`__traceback__`, que é gravável. Você pode criar uma exceção " -"e definir seu próprio traceback em uma etapa usando o método de exceção :" -"meth:`~BaseException.with_traceback` (que retorna a mesma instância de " -"exceção, com seu traceback definido para seu argumento), assim::" +"atributo :attr:`~BaseException.__traceback__`. Você pode criar uma exceção e " +"definir seu próprio traceback em uma etapa usando o método de " +"exceção :meth:`~BaseException.with_traceback` (que retorna a mesma instância " +"de exceção, com seu traceback definido para seu argumento), assim::" #: ../../reference/simple_stmts.rst:591 msgid "" "The ``from`` clause is used for exception chaining: if given, the second " "*expression* must be another exception class or instance. If the second " "expression is an exception instance, it will be attached to the raised " -"exception as the :attr:`__cause__` attribute (which is writable). If the " -"expression is an exception class, the class will be instantiated and the " -"resulting exception instance will be attached to the raised exception as " -"the :attr:`__cause__` attribute. If the raised exception is not handled, " -"both exceptions will be printed::" +"exception as the :attr:`~BaseException.__cause__` attribute (which is " +"writable). If the expression is an exception class, the class will be " +"instantiated and the resulting exception instance will be attached to the " +"raised exception as the :attr:`!__cause__` attribute. If the raised " +"exception is not handled, both exceptions will be printed:" msgstr "" "A cláusula ``from`` é usada para encadeamento de exceções: se fornecida, a " "segunda expressão, *expression*, deve ser outra classe ou instância de " "exceção. Se a segunda expressão for uma instância de exceção, ela será " -"anexada à exceção levantada como o atributo :attr:`__cause__` (que é " -"gravável). Se a expressão for uma classe de exceção, a classe será " -"instanciada e a instância de exceção resultante será anexada à exceção " -"levantada como o atributo :attr:`__cause__`. Se a exceção levantada não for " -"tratada, ambas as exceções serão impressas::" +"anexada à exceção levantada como o atributo :attr:`~BaseException.__cause__` " +"(que é gravável). Se a expressão for uma classe de exceção, a classe será " +"instanciada e a instância resultante será anexada à exceção levantada como o " +"atributo :attr:`!__cause__`. Se a exceção levantada não for tratada, ambas " +"as exceções serão impressas::" -#: ../../reference/simple_stmts.rst:615 +#: ../../reference/simple_stmts.rst:620 msgid "" "A similar mechanism works implicitly if a new exception is raised when an " -"exception is already being handled. An exception may be handled when an :" -"keyword:`except` or :keyword:`finally` clause, or a :keyword:`with` " +"exception is already being handled. An exception may be handled when " +"an :keyword:`except` or :keyword:`finally` clause, or a :keyword:`with` " "statement, is used. The previous exception is then attached as the new " -"exception's :attr:`__context__` attribute::" +"exception's :attr:`~BaseException.__context__` attribute:" msgstr "" -"Um mecanismo semelhante funciona implicitamente se uma nova exceção for " -"levantada quando uma exceção já estiver sendo tratada. Uma exceção pode ser " +"Um mecanismo semelhante funciona implicitamente quando uma nova exceção for " +"levantada enquanto outra já estiver sendo tratada. Uma exceção pode ser " "tratada quando uma cláusula :keyword:`except` ou :keyword:`finally`, ou uma " "instrução :keyword:`with`, é usada. A exceção anterior é então anexada como " -"o atributo :attr:`__context__` da nova exceção::" +"o atributo :attr:`~BaseException.__context__` da nova exceção:" -#: ../../reference/simple_stmts.rst:636 +#: ../../reference/simple_stmts.rst:646 msgid "" "Exception chaining can be explicitly suppressed by specifying :const:`None` " -"in the ``from`` clause::" +"in the ``from`` clause:" msgstr "" -"O encadeamento de exceção pode ser explicitamente suprimido especificando :" -"const:`None` na cláusula ``from``::" +"O encadeamento de exceção pode ser explicitamente suprimido " +"especificando :const:`None` na cláusula ``from``:" -#: ../../reference/simple_stmts.rst:648 +#: ../../reference/simple_stmts.rst:660 msgid "" -"Additional information on exceptions can be found in section :ref:" -"`exceptions`, and information about handling exceptions is in section :ref:" -"`try`." +"Additional information on exceptions can be found in " +"section :ref:`exceptions`, and information about handling exceptions is in " +"section :ref:`try`." msgstr "" -"Informações adicionais sobre exceções podem ser encontradas na seção :ref:" -"`exceptions`, e informações sobre como lidar com exceções estão na seção :" -"ref:`try`." +"Informações adicionais sobre exceções podem ser encontradas na " +"seção :ref:`exceptions`, e informações sobre como lidar com exceções estão " +"na seção :ref:`try`." -#: ../../reference/simple_stmts.rst:651 +#: ../../reference/simple_stmts.rst:663 msgid ":const:`None` is now permitted as ``Y`` in ``raise X from Y``." msgstr ":const:`None` agora é permitido como ``Y`` em ``raise X from Y``." -#: ../../reference/simple_stmts.rst:654 +#: ../../reference/simple_stmts.rst:666 msgid "" -"The ``__suppress_context__`` attribute to suppress automatic display of the " -"exception context." +"Added the :attr:`~BaseException.__suppress_context__` attribute to suppress " +"automatic display of the exception context." msgstr "" -"O atributo ``__suppress_context__`` para suprimir a exibição automática do " -"contexto de exceção." +"Adicionado o atributo :attr:`~BaseException.__suppress_context__` para " +"suprimir a exibição automática do contexto de exceção." -#: ../../reference/simple_stmts.rst:658 +#: ../../reference/simple_stmts.rst:669 msgid "" "If the traceback of the active exception is modified in an :keyword:`except` " "clause, a subsequent ``raise`` statement re-raises the exception with the " "modified traceback. Previously, the exception was re-raised with the " "traceback it had when it was caught." msgstr "" -"Se o traceback da exceção ativa for modificado em uma cláusula :keyword:" -"`except`, uma instrução ``raise`` subsequente levantará novamente a exceção " -"com o traceback modificado. Anteriormente, a exceção era levantada novamente " -"com o traceback que tinha quando foi capturada." +"Se o traceback da exceção ativa for modificado em uma " +"cláusula :keyword:`except`, uma instrução ``raise`` subsequente levantará " +"novamente a exceção com o traceback modificado. Anteriormente, a exceção era " +"levantada novamente com o traceback que tinha quando foi capturada." -#: ../../reference/simple_stmts.rst:667 +#: ../../reference/simple_stmts.rst:678 msgid "The :keyword:`!break` statement" msgstr "A instrução :keyword:`!break`" -#: ../../reference/simple_stmts.rst:678 +#: ../../reference/simple_stmts.rst:689 msgid "" -":keyword:`break` may only occur syntactically nested in a :keyword:`for` or :" -"keyword:`while` loop, but not nested in a function or class definition " +":keyword:`break` may only occur syntactically nested in a :keyword:`for` " +"or :keyword:`while` loop, but not nested in a function or class definition " "within that loop." msgstr "" -":keyword:`break` só pode ocorrer sintaticamente aninhado em um laço :keyword:" -"`for` ou :keyword:`while`, mas não aninhado em uma função ou definição de " -"classe dentro desse laço." +":keyword:`break` só pode ocorrer sintaticamente aninhado em um " +"laço :keyword:`for` ou :keyword:`while`, mas não aninhado em uma função ou " +"definição de classe dentro desse laço." -#: ../../reference/simple_stmts.rst:685 +#: ../../reference/simple_stmts.rst:696 msgid "" "It terminates the nearest enclosing loop, skipping the optional :keyword:`!" "else` clause if the loop has one." msgstr "" -"Ele termina o laço de fechamento mais próximo, pulando a cláusula opcional :" -"keyword:`!else` se o laço tiver uma." +"Ele termina o laço de repetição mais próximo, pulando a cláusula " +"opcional :keyword:`!else` se o laço tiver uma." -#: ../../reference/simple_stmts.rst:688 +#: ../../reference/simple_stmts.rst:699 msgid "" "If a :keyword:`for` loop is terminated by :keyword:`break`, the loop control " "target keeps its current value." @@ -951,7 +946,7 @@ msgstr "" "Se um laço :keyword:`for` é encerrado por :keyword:`break`, o alvo de " "controle do laço mantém seu valor atual." -#: ../../reference/simple_stmts.rst:693 +#: ../../reference/simple_stmts.rst:704 msgid "" "When :keyword:`break` passes control out of a :keyword:`try` statement with " "a :keyword:`finally` clause, that :keyword:`!finally` clause is executed " @@ -961,23 +956,23 @@ msgstr "" "uma cláusula :keyword:`finally`, essa cláusula :keyword:`!finally` é " "executada antes de realmente sair do laço." -#: ../../reference/simple_stmts.rst:701 +#: ../../reference/simple_stmts.rst:712 msgid "The :keyword:`!continue` statement" msgstr "A instrução :keyword:`!continue`" -#: ../../reference/simple_stmts.rst:713 +#: ../../reference/simple_stmts.rst:724 msgid "" ":keyword:`continue` may only occur syntactically nested in a :keyword:`for` " "or :keyword:`while` loop, but not nested in a function or class definition " "within that loop. It continues with the next cycle of the nearest enclosing " "loop." msgstr "" -":keyword:`continue` só pode ocorrer sintaticamente aninhado em um laço :" -"keyword:`for` ou :keyword:`while`, mas não aninhado em uma função ou " -"definição de classe dentro desse laço. Ele continua com o próximo ciclo do " -"laço de fechamento mais próximo." +":keyword:`continue` só pode ocorrer sintaticamente aninhado em um " +"laço :keyword:`for` ou :keyword:`while`, mas não em uma função ou definição " +"de classe dentro desse laço. Ele continua com o próximo ciclo do laço de " +"repetição mais próximo." -#: ../../reference/simple_stmts.rst:717 +#: ../../reference/simple_stmts.rst:728 msgid "" "When :keyword:`continue` passes control out of a :keyword:`try` statement " "with a :keyword:`finally` clause, that :keyword:`!finally` clause is " @@ -985,13 +980,13 @@ msgid "" msgstr "" "Quando :keyword:`continue` passa o controle de uma instrução :keyword:`try` " "com uma cláusula :keyword:`finally`, essa cláusula :keyword:`!finally` é " -"executada antes realmente iniciar o próximo ciclo do laço." +"executada antes de realmente iniciar o próximo ciclo do laço." -#: ../../reference/simple_stmts.rst:726 +#: ../../reference/simple_stmts.rst:737 msgid "The :keyword:`!import` statement" msgstr "A instrução :keyword:`!import`" -#: ../../reference/simple_stmts.rst:747 +#: ../../reference/simple_stmts.rst:758 msgid "" "The basic import statement (no :keyword:`from` clause) is executed in two " "steps:" @@ -999,19 +994,19 @@ msgstr "" "A instrução de importação básica (sem cláusula :keyword:`from`) é executada " "em duas etapas:" -#: ../../reference/simple_stmts.rst:750 +#: ../../reference/simple_stmts.rst:761 msgid "find a module, loading and initializing it if necessary" msgstr "encontra um módulo, carregando e inicializando-o se necessário" -#: ../../reference/simple_stmts.rst:751 +#: ../../reference/simple_stmts.rst:762 msgid "" -"define a name or names in the local namespace for the scope where the :" -"keyword:`import` statement occurs." +"define a name or names in the local namespace for the scope where " +"the :keyword:`import` statement occurs." msgstr "" "define um nome ou nomes no espaço de nomes local para o escopo onde ocorre a " "instrução :keyword:`import`." -#: ../../reference/simple_stmts.rst:754 +#: ../../reference/simple_stmts.rst:765 msgid "" "When the statement contains multiple clauses (separated by commas) the two " "steps are carried out separately for each clause, just as though the clauses " @@ -1021,7 +1016,7 @@ msgstr "" "etapas são executadas separadamente para cada cláusula, como se as cláusulas " "tivessem sido separadas em instruções de importação individuais." -#: ../../reference/simple_stmts.rst:759 +#: ../../reference/simple_stmts.rst:770 msgid "" "The details of the first step, finding and loading modules, are described in " "greater detail in the section on the :ref:`import system `, " @@ -1040,7 +1035,7 @@ msgstr "" "durante a inicialização do módulo, o que inclui a execução do código do " "módulo." -#: ../../reference/simple_stmts.rst:767 +#: ../../reference/simple_stmts.rst:778 msgid "" "If the requested module is retrieved successfully, it will be made available " "in the local namespace in one of three ways:" @@ -1048,15 +1043,15 @@ msgstr "" "Se o módulo solicitado for recuperado com sucesso, ele será disponibilizado " "no espaço de nomes local de três maneiras:" -#: ../../reference/simple_stmts.rst:772 +#: ../../reference/simple_stmts.rst:783 msgid "" -"If the module name is followed by :keyword:`!as`, then the name following :" -"keyword:`!as` is bound directly to the imported module." +"If the module name is followed by :keyword:`!as`, then the name " +"following :keyword:`!as` is bound directly to the imported module." msgstr "" -"Se o nome do módulo é seguido pela palavra reservada :keyword:`!as`, o nome " -"a seguir é vinculado diretamente ao módulo importado." +"Se o nome do módulo é seguido pela palavra-chave :keyword:`!as`, o nome a " +"seguir é vinculado diretamente ao módulo importado." -#: ../../reference/simple_stmts.rst:774 +#: ../../reference/simple_stmts.rst:785 msgid "" "If no other name is specified, and the module being imported is a top level " "module, the module's name is bound in the local namespace as a reference to " @@ -1066,7 +1061,7 @@ msgstr "" "for um módulo de nível superior, o nome do módulo será vinculado ao espaço " "de nomes local como uma referência ao módulo importado" -#: ../../reference/simple_stmts.rst:777 +#: ../../reference/simple_stmts.rst:788 msgid "" "If the module being imported is *not* a top level module, then the name of " "the top level package that contains the module is bound in the local " @@ -1078,11 +1073,11 @@ msgstr "" "espaço de nomes local como uma referência ao pacote de nível superior. O " "módulo importado deve ser acessado usando seu nome completo e não diretamente" -#: ../../reference/simple_stmts.rst:787 +#: ../../reference/simple_stmts.rst:798 msgid "The :keyword:`from` form uses a slightly more complex process:" msgstr "O formulário :keyword:`from` usa um processo um pouco mais complexo:" -#: ../../reference/simple_stmts.rst:789 +#: ../../reference/simple_stmts.rst:800 msgid "" "find the module specified in the :keyword:`from` clause, loading and " "initializing it if necessary;" @@ -1090,17 +1085,17 @@ msgstr "" "encontra o módulo especificado na cláusula :keyword:`from`, carregando e " "inicializando-o se necessário;" -#: ../../reference/simple_stmts.rst:791 +#: ../../reference/simple_stmts.rst:802 msgid "for each of the identifiers specified in the :keyword:`import` clauses:" msgstr "" -"para cada um dos identificadores especificados nas cláusulas :keyword:" -"`import`:" +"para cada um dos identificadores especificados nas " +"cláusulas :keyword:`import`:" -#: ../../reference/simple_stmts.rst:793 +#: ../../reference/simple_stmts.rst:804 msgid "check if the imported module has an attribute by that name" msgstr "verifica se o módulo importado tem um atributo com esse nome" -#: ../../reference/simple_stmts.rst:794 +#: ../../reference/simple_stmts.rst:805 msgid "" "if not, attempt to import a submodule with that name and then check the " "imported module again for that attribute" @@ -1108,12 +1103,12 @@ msgstr "" "caso contrário, tenta importar um submódulo com esse nome e verifica o " "módulo importado novamente para esse atributo" -#: ../../reference/simple_stmts.rst:796 +#: ../../reference/simple_stmts.rst:807 msgid "if the attribute is not found, :exc:`ImportError` is raised." msgstr "" "se o atributo não for encontrado, a exceção :exc:`ImportError` é levantada." -#: ../../reference/simple_stmts.rst:797 +#: ../../reference/simple_stmts.rst:808 msgid "" "otherwise, a reference to that value is stored in the local namespace, using " "the name in the :keyword:`!as` clause if it is present, otherwise using the " @@ -1123,11 +1118,11 @@ msgstr "" "local, usando o nome na cláusula :keyword:`!as` se estiver presente, caso " "contrário, usando o nome do atributo" -#: ../../reference/simple_stmts.rst:801 +#: ../../reference/simple_stmts.rst:812 msgid "Examples::" msgstr "Exemplos::" -#: ../../reference/simple_stmts.rst:811 +#: ../../reference/simple_stmts.rst:822 msgid "" "If the list of identifiers is replaced by a star (``'*'``), all public names " "defined in the module are bound in the local namespace for the scope where " @@ -1137,7 +1132,7 @@ msgstr "" "todos os nomes públicos definidos no módulo serão vinculados ao espaço de " "nomes local para o escopo onde ocorre a instrução :keyword:`import`." -#: ../../reference/simple_stmts.rst:817 +#: ../../reference/simple_stmts.rst:828 msgid "" "The *public names* defined by a module are determined by checking the " "module's namespace for a variable named ``__all__``; if defined, it must be " @@ -1160,7 +1155,7 @@ msgstr "" "acidental de itens que não fazem parte da API (como módulos de biblioteca " "que foram importados e usados no módulo)." -#: ../../reference/simple_stmts.rst:827 +#: ../../reference/simple_stmts.rst:838 msgid "" "The wild card form of import --- ``from module import *`` --- is only " "allowed at the module level. Attempting to use it in class or function " @@ -1170,7 +1165,7 @@ msgstr "" "permitida no nível do módulo. Tentar usá-lo em definições de classe ou " "função irá levantar uma :exc:`SyntaxError`." -#: ../../reference/simple_stmts.rst:834 +#: ../../reference/simple_stmts.rst:845 msgid "" "When specifying what module to import you do not have to specify the " "absolute name of the module. When a module or package is contained within " @@ -1200,7 +1195,7 @@ msgstr "" "você irá importar ``pkg.subpkg2.mod``. A especificação para importações " "relativas está contida na seção :ref:`relativeimports`." -#: ../../reference/simple_stmts.rst:848 +#: ../../reference/simple_stmts.rst:859 msgid "" ":func:`importlib.import_module` is provided to support applications that " "determine dynamically the modules to be loaded." @@ -1208,21 +1203,21 @@ msgstr "" ":func:`importlib.import_module` é fornecida para dar suporte a aplicações " "que determinam dinamicamente os módulos a serem carregados." -#: ../../reference/simple_stmts.rst:851 +#: ../../reference/simple_stmts.rst:862 msgid "" "Raises an :ref:`auditing event ` ``import`` with arguments " -"``module``, ``filename``, ``sys.path``, ``sys.meta_path``, ``sys." -"path_hooks``." +"``module``, ``filename``, ``sys.path``, ``sys.meta_path``, " +"``sys.path_hooks``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``import`` com argumentos " -"``module``, ``filename``, ``sys.path``, ``sys.meta_path``, ``sys." -"path_hooks``." +"Levanta um :ref:`evento de auditoria ` ``import`` com os " +"argumentos ``module``, ``filename``, ``sys.path``, ``sys.meta_path``, " +"``sys.path_hooks``." -#: ../../reference/simple_stmts.rst:856 +#: ../../reference/simple_stmts.rst:867 msgid "Future statements" msgstr "Instruções future" -#: ../../reference/simple_stmts.rst:862 +#: ../../reference/simple_stmts.rst:873 msgid "" "A :dfn:`future statement` is a directive to the compiler that a particular " "module should be compiled using syntax or semantics that will be available " @@ -1233,7 +1228,7 @@ msgstr "" "disponível em uma versão futura especificada do Python, onde o recurso se " "tornará padrão." -#: ../../reference/simple_stmts.rst:866 +#: ../../reference/simple_stmts.rst:877 msgid "" "The future statement is intended to ease migration to future versions of " "Python that introduce incompatible changes to the language. It allows use " @@ -1245,7 +1240,7 @@ msgstr "" "uso dos novos recursos por módulo antes do lançamento em que o recurso se " "torna padrão." -#: ../../reference/simple_stmts.rst:878 +#: ../../reference/simple_stmts.rst:889 msgid "" "A future statement must appear near the top of the module. The only lines " "that can appear before a future statement are:" @@ -1253,23 +1248,23 @@ msgstr "" "Uma instrução future deve aparecer perto do topo do módulo. As únicas linhas " "que podem aparecer antes de uma instrução future são:" -#: ../../reference/simple_stmts.rst:881 +#: ../../reference/simple_stmts.rst:892 msgid "the module docstring (if any)," msgstr "o módulo docstring (se houver)," -#: ../../reference/simple_stmts.rst:882 +#: ../../reference/simple_stmts.rst:893 msgid "comments," -msgstr "omentários," +msgstr "comentários," -#: ../../reference/simple_stmts.rst:883 +#: ../../reference/simple_stmts.rst:894 msgid "blank lines, and" msgstr "linhas vazias e" -#: ../../reference/simple_stmts.rst:884 +#: ../../reference/simple_stmts.rst:895 msgid "other future statements." msgstr "outras instruções future." -#: ../../reference/simple_stmts.rst:886 +#: ../../reference/simple_stmts.rst:897 msgid "" "The only feature that requires using the future statement is ``annotations`` " "(see :pep:`563`)." @@ -1277,7 +1272,7 @@ msgstr "" "O único recurso que requer o uso da instrução future é ``annotations`` " "(veja :pep:`563`)." -#: ../../reference/simple_stmts.rst:889 +#: ../../reference/simple_stmts.rst:900 msgid "" "All historical features enabled by the future statement are still recognized " "by Python 3. The list includes ``absolute_import``, ``division``, " @@ -1293,7 +1288,7 @@ msgstr "" "redundantes porque estão sempre habilitados e mantidos apenas para " "compatibilidade com versões anteriores." -#: ../../reference/simple_stmts.rst:896 +#: ../../reference/simple_stmts.rst:907 msgid "" "A future statement is recognized and treated specially at compile time: " "Changes to the semantics of core constructs are often implemented by " @@ -1310,7 +1305,7 @@ msgstr "" "de maneira diferente. Tais decisões não podem ser adiadas até o tempo de " "execução." -#: ../../reference/simple_stmts.rst:903 +#: ../../reference/simple_stmts.rst:914 msgid "" "For any given release, the compiler knows which feature names have been " "defined, and raises a compile-time error if a future statement contains a " @@ -1320,7 +1315,7 @@ msgstr "" "definidos e levanta um erro em tempo de compilação se uma instrução future " "contiver um recurso desconhecido." -#: ../../reference/simple_stmts.rst:907 +#: ../../reference/simple_stmts.rst:918 msgid "" "The direct runtime semantics are the same as for any import statement: there " "is a standard module :mod:`__future__`, described later, and it will be " @@ -1331,7 +1326,7 @@ msgstr "" "posteriormente, e será importado da maneira usual no momento em que a " "instrução future for executada." -#: ../../reference/simple_stmts.rst:911 +#: ../../reference/simple_stmts.rst:922 msgid "" "The interesting runtime semantics depend on the specific feature enabled by " "the future statement." @@ -1339,11 +1334,11 @@ msgstr "" "A semântica interessante do tempo de execução depende do recurso específico " "ativado pela instrução future." -#: ../../reference/simple_stmts.rst:914 +#: ../../reference/simple_stmts.rst:925 msgid "Note that there is nothing special about the statement::" msgstr "Observe que não há nada de especial sobre a instrução::" -#: ../../reference/simple_stmts.rst:918 +#: ../../reference/simple_stmts.rst:929 msgid "" "That is not a future statement; it's an ordinary import statement with no " "special semantics or syntax restrictions." @@ -1351,21 +1346,21 @@ msgstr "" "Essa não é uma instrução future; é uma instrução de importação comum sem " "nenhuma semântica especial ou restrições de sintaxe." -#: ../../reference/simple_stmts.rst:921 +#: ../../reference/simple_stmts.rst:932 msgid "" -"Code compiled by calls to the built-in functions :func:`exec` and :func:" -"`compile` that occur in a module :mod:`M` containing a future statement " -"will, by default, use the new syntax or semantics associated with the future " -"statement. This can be controlled by optional arguments to :func:`compile` " -"--- see the documentation of that function for details." +"Code compiled by calls to the built-in functions :func:`exec` " +"and :func:`compile` that occur in a module :mod:`!M` containing a future " +"statement will, by default, use the new syntax or semantics associated with " +"the future statement. This can be controlled by optional arguments " +"to :func:`compile` --- see the documentation of that function for details." msgstr "" -"O código compilado por chamadas para as funções embutidas :func:`exec` e :" -"func:`compile` que ocorrem em um módulo :mod:`M` contendo uma instrução " +"O código compilado por chamadas para as funções embutidas :func:`exec` " +"e :func:`compile` que ocorrem em um módulo :mod:`!M` contendo uma instrução " "future usará, por padrão, a nova sintaxe ou semântica associada com a " -"instrução future. Isso pode ser controlado por argumentos opcionais para :" -"func:`compile` -- veja a documentação dessa função para detalhes." +"instrução future. Isso pode ser controlado por argumentos opcionais " +"para :func:`compile` -- veja a documentação dessa função para detalhes." -#: ../../reference/simple_stmts.rst:927 +#: ../../reference/simple_stmts.rst:938 msgid "" "A future statement typed at an interactive interpreter prompt will take " "effect for the rest of the interpreter session. If an interpreter is " @@ -1379,19 +1374,19 @@ msgstr "" "script para ser executado e o script incluir uma instrução future, ela " "entrará em vigor na sessão interativa iniciada após a execução do script." -#: ../../reference/simple_stmts.rst:935 +#: ../../reference/simple_stmts.rst:946 msgid ":pep:`236` - Back to the __future__" msgstr ":pep:`236` - De volta ao __future__" -#: ../../reference/simple_stmts.rst:936 +#: ../../reference/simple_stmts.rst:947 msgid "The original proposal for the __future__ mechanism." msgstr "A proposta original para o mecanismo do __future__." -#: ../../reference/simple_stmts.rst:942 +#: ../../reference/simple_stmts.rst:953 msgid "The :keyword:`!global` statement" msgstr "A instrução :keyword:`!global`" -#: ../../reference/simple_stmts.rst:952 +#: ../../reference/simple_stmts.rst:963 msgid "" "The :keyword:`global` statement is a declaration which holds for the entire " "current code block. It means that the listed identifiers are to be " @@ -1405,7 +1400,7 @@ msgstr "" "sem :keyword:`!global`, embora variáveis livres possam se referir a globais " "sem serem declaradas globais." -#: ../../reference/simple_stmts.rst:958 +#: ../../reference/simple_stmts.rst:969 msgid "" "Names listed in a :keyword:`global` statement must not be used in the same " "code block textually preceding that :keyword:`!global` statement." @@ -1414,7 +1409,7 @@ msgstr "" "mesmo bloco de código que precede textualmente a instrução :keyword:`!" "global`." -#: ../../reference/simple_stmts.rst:961 +#: ../../reference/simple_stmts.rst:972 msgid "" "Names listed in a :keyword:`global` statement must not be defined as formal " "parameters, or as targets in :keyword:`with` statements or :keyword:`except` " @@ -1427,7 +1422,7 @@ msgstr "" "de :keyword:`class`, definição de função, instrução :keyword:`import` ou " "anotação de variável." -#: ../../reference/simple_stmts.rst:968 +#: ../../reference/simple_stmts.rst:979 msgid "" "The current implementation does not enforce some of these restrictions, but " "programs should not abuse this freedom, as future implementations may " @@ -1437,7 +1432,7 @@ msgstr "" "não devem abusar dessa liberdade, pois implementações future podem aplicá-" "las ou alterar silenciosamente o significado do programa." -#: ../../reference/simple_stmts.rst:977 +#: ../../reference/simple_stmts.rst:988 msgid "" "**Programmer's note:** :keyword:`global` is a directive to the parser. It " "applies only to code parsed at the same time as the :keyword:`!global` " @@ -1445,23 +1440,23 @@ msgid "" "string or code object supplied to the built-in :func:`exec` function does " "not affect the code block *containing* the function call, and code contained " "in such a string is unaffected by :keyword:`!global` statements in the code " -"containing the function call. The same applies to the :func:`eval` and :" -"func:`compile` functions." +"containing the function call. The same applies to the :func:`eval` " +"and :func:`compile` functions." msgstr "" "**Nota do programador:** :keyword:`global` é uma diretiva para o analisador " "sintático. Aplica-se apenas ao código analisado ao mesmo tempo que a " "instrução :keyword:`!global`. Em particular, uma instrução :keyword:`!" -"global` contida em uma string ou objeto código fornecido à função embutida :" -"func:`exec` não afeta o bloco de código *contendo* a chamada da função e o " -"código contido em tal uma string não é afetada por instruções :keyword:`!" -"global` no código que contém a chamada da função. O mesmo se aplica às " -"funções :func:`eval` e :func:`compile`." +"global` contida em uma string ou objeto código fornecido à função " +"embutida :func:`exec` não afeta o bloco de código *contendo* a chamada da " +"função e o código contido em tal uma string não é afetada por " +"instruções :keyword:`!global` no código que contém a chamada da função. O " +"mesmo se aplica às funções :func:`eval` e :func:`compile`." -#: ../../reference/simple_stmts.rst:989 +#: ../../reference/simple_stmts.rst:1000 msgid "The :keyword:`!nonlocal` statement" msgstr "A instrução :keyword:`!nonlocal`" -#: ../../reference/simple_stmts.rst:997 +#: ../../reference/simple_stmts.rst:1008 msgid "" "The :keyword:`nonlocal` statement causes the listed identifiers to refer to " "previously bound variables in the nearest enclosing scope excluding globals. " @@ -1476,10 +1471,10 @@ msgstr "" "que o código encapsulado ligue novamente variáveis fora do escopo local além " "do escopo global (módulo)." -#: ../../reference/simple_stmts.rst:1003 +#: ../../reference/simple_stmts.rst:1014 msgid "" -"Names listed in a :keyword:`nonlocal` statement, unlike those listed in a :" -"keyword:`global` statement, must refer to pre-existing bindings in an " +"Names listed in a :keyword:`nonlocal` statement, unlike those listed in " +"a :keyword:`global` statement, must refer to pre-existing bindings in an " "enclosing scope (the scope in which a new binding should be created cannot " "be determined unambiguously)." msgstr "" @@ -1488,7 +1483,7 @@ msgstr "" "associações preexistentes em um escopo delimitador (o escopo no qual uma " "nova associação deve ser criada não pode ser determinado inequivocamente)." -#: ../../reference/simple_stmts.rst:1008 +#: ../../reference/simple_stmts.rst:1019 msgid "" "Names listed in a :keyword:`nonlocal` statement must not collide with pre-" "existing bindings in the local scope." @@ -1496,17 +1491,17 @@ msgstr "" "Os nomes listados em uma instrução :keyword:`nonlocal` não devem colidir com " "ligações preexistentes no escopo local." -#: ../../reference/simple_stmts.rst:1013 +#: ../../reference/simple_stmts.rst:1024 msgid ":pep:`3104` - Access to Names in Outer Scopes" msgstr ":pep:`3104` - Acesso a nomes em escopos externos" -#: ../../reference/simple_stmts.rst:1014 +#: ../../reference/simple_stmts.rst:1025 msgid "The specification for the :keyword:`nonlocal` statement." msgstr "A especificação para a instrução :keyword:`nonlocal`." #: ../../reference/simple_stmts.rst:8 msgid "simple" -msgstr "" +msgstr "simples" #: ../../reference/simple_stmts.rst:8 ../../reference/simple_stmts.rst:38 #: ../../reference/simple_stmts.rst:74 ../../reference/simple_stmts.rst:262 @@ -1514,9 +1509,9 @@ msgstr "" #: ../../reference/simple_stmts.rst:421 ../../reference/simple_stmts.rst:443 #: ../../reference/simple_stmts.rst:456 ../../reference/simple_stmts.rst:482 #: ../../reference/simple_stmts.rst:519 ../../reference/simple_stmts.rst:555 -#: ../../reference/simple_stmts.rst:669 ../../reference/simple_stmts.rst:703 -#: ../../reference/simple_stmts.rst:728 ../../reference/simple_stmts.rst:858 -#: ../../reference/simple_stmts.rst:944 ../../reference/simple_stmts.rst:991 +#: ../../reference/simple_stmts.rst:680 ../../reference/simple_stmts.rst:714 +#: ../../reference/simple_stmts.rst:739 ../../reference/simple_stmts.rst:869 +#: ../../reference/simple_stmts.rst:955 ../../reference/simple_stmts.rst:1002 msgid "statement" msgstr "instrução" @@ -1530,7 +1525,7 @@ msgstr "expressão" msgid "list" msgstr "lista" -#: ../../reference/simple_stmts.rst:55 ../../reference/simple_stmts.rst:972 +#: ../../reference/simple_stmts.rst:55 ../../reference/simple_stmts.rst:983 msgid "built-in function" msgstr "função embutida" @@ -1554,11 +1549,11 @@ msgstr "string" #: ../../reference/simple_stmts.rst:55 msgid "conversion" -msgstr "" +msgstr "conversão" #: ../../reference/simple_stmts.rst:55 msgid "output" -msgstr "" +msgstr "saída" #: ../../reference/simple_stmts.rst:55 msgid "standard" @@ -1566,49 +1561,49 @@ msgstr "padrão" #: ../../reference/simple_stmts.rst:55 msgid "writing" -msgstr "" +msgstr "escrita; gravação" #: ../../reference/simple_stmts.rst:55 msgid "values" -msgstr "" +msgstr "valores" #: ../../reference/simple_stmts.rst:55 msgid "procedure" -msgstr "" +msgstr "procedimento" #: ../../reference/simple_stmts.rst:55 msgid "call" -msgstr "" +msgstr "chamada" #: ../../reference/simple_stmts.rst:74 msgid "= (equals)" -msgstr "" +msgstr "= (igual)" #: ../../reference/simple_stmts.rst:74 msgid "assignment statement" -msgstr "" +msgstr "atribuição, instrução de" #: ../../reference/simple_stmts.rst:74 ../../reference/simple_stmts.rst:115 #: ../../reference/simple_stmts.rst:158 ../../reference/simple_stmts.rst:186 #: ../../reference/simple_stmts.rst:219 ../../reference/simple_stmts.rst:262 #: ../../reference/simple_stmts.rst:321 msgid "assignment" -msgstr "" +msgstr "atribuição" -#: ../../reference/simple_stmts.rst:74 ../../reference/simple_stmts.rst:728 -#: ../../reference/simple_stmts.rst:783 ../../reference/simple_stmts.rst:944 +#: ../../reference/simple_stmts.rst:74 ../../reference/simple_stmts.rst:739 +#: ../../reference/simple_stmts.rst:794 ../../reference/simple_stmts.rst:955 msgid "binding" -msgstr "" +msgstr "vinculação; ligação" #: ../../reference/simple_stmts.rst:74 ../../reference/simple_stmts.rst:456 -#: ../../reference/simple_stmts.rst:728 ../../reference/simple_stmts.rst:783 -#: ../../reference/simple_stmts.rst:944 +#: ../../reference/simple_stmts.rst:739 ../../reference/simple_stmts.rst:794 +#: ../../reference/simple_stmts.rst:955 msgid "name" msgstr "nome" #: ../../reference/simple_stmts.rst:74 msgid "rebinding" -msgstr "" +msgstr "nova vinculação; nova ligação" #: ../../reference/simple_stmts.rst:74 ../../reference/simple_stmts.rst:186 msgid "mutable" @@ -1620,43 +1615,43 @@ msgid "attribute" msgstr "atributo" #: ../../reference/simple_stmts.rst:104 ../../reference/simple_stmts.rst:115 -#: ../../reference/simple_stmts.rst:443 ../../reference/simple_stmts.rst:682 +#: ../../reference/simple_stmts.rst:443 ../../reference/simple_stmts.rst:693 msgid "target" -msgstr "" +msgstr "alvo" #: ../../reference/simple_stmts.rst:115 ../../reference/simple_stmts.rst:378 -#: ../../reference/simple_stmts.rst:728 ../../reference/simple_stmts.rst:944 -#: ../../reference/simple_stmts.rst:991 +#: ../../reference/simple_stmts.rst:739 ../../reference/simple_stmts.rst:955 +#: ../../reference/simple_stmts.rst:1002 msgid ", (comma)" -msgstr "" +msgstr ", (vírgula)" #: ../../reference/simple_stmts.rst:115 msgid "in target list" -msgstr "" +msgstr "na lista de alvos" -#: ../../reference/simple_stmts.rst:115 ../../reference/simple_stmts.rst:809 +#: ../../reference/simple_stmts.rst:115 ../../reference/simple_stmts.rst:820 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisco)" #: ../../reference/simple_stmts.rst:115 msgid "in assignment target list" -msgstr "" +msgstr "na lista de alvo de atribuição" #: ../../reference/simple_stmts.rst:115 msgid "[] (square brackets)" -msgstr "" +msgstr "[] (colchetes)" #: ../../reference/simple_stmts.rst:115 msgid "() (parentheses)" -msgstr "" +msgstr "() (parênteses)" #: ../../reference/simple_stmts.rst:152 msgid "destructor" -msgstr "" +msgstr "destrutor" #: ../../reference/simple_stmts.rst:186 msgid "subscription" -msgstr "" +msgstr "subscrição" #: ../../reference/simple_stmts.rst:195 msgid "sequence" @@ -1672,117 +1667,117 @@ msgstr "dicionário" #: ../../reference/simple_stmts.rst:219 msgid "slicing" -msgstr "" +msgstr "fatiamento" #: ../../reference/simple_stmts.rst:262 msgid "augmented" -msgstr "" +msgstr "aumentada" #: ../../reference/simple_stmts.rst:262 msgid "assignment, augmented" -msgstr "" +msgstr "aumentada, atribuição" #: ../../reference/simple_stmts.rst:262 msgid "+=" -msgstr "" +msgstr "+=" #: ../../reference/simple_stmts.rst:262 msgid "augmented assignment" -msgstr "" +msgstr "atribuição aumentada" #: ../../reference/simple_stmts.rst:262 msgid "-=" -msgstr "" +msgstr "-=" #: ../../reference/simple_stmts.rst:262 msgid "*=" -msgstr "" +msgstr "*=" #: ../../reference/simple_stmts.rst:262 msgid "/=" -msgstr "" +msgstr "/=" #: ../../reference/simple_stmts.rst:262 msgid "%=" -msgstr "" +msgstr "%=" #: ../../reference/simple_stmts.rst:262 msgid "&=" -msgstr "" +msgstr "&=" #: ../../reference/simple_stmts.rst:262 msgid "^=" -msgstr "" +msgstr "^=" #: ../../reference/simple_stmts.rst:262 msgid "|=" -msgstr "" +msgstr "|=" #: ../../reference/simple_stmts.rst:262 msgid "**=" -msgstr "" +msgstr "**=" #: ../../reference/simple_stmts.rst:262 msgid "//=" -msgstr "" +msgstr "//=" #: ../../reference/simple_stmts.rst:262 msgid ">>=" -msgstr "" +msgstr ">>=" #: ../../reference/simple_stmts.rst:262 msgid "<<=" -msgstr "" +msgstr "<<=" #: ../../reference/simple_stmts.rst:321 msgid "annotated" -msgstr "" +msgstr "anotada" #: ../../reference/simple_stmts.rst:321 msgid "assignment, annotated" -msgstr "" +msgstr "atribuição, anotada" #: ../../reference/simple_stmts.rst:321 msgid ": (colon)" -msgstr "" +msgstr ": (dois pontos)" #: ../../reference/simple_stmts.rst:321 msgid "annotated variable" -msgstr "" +msgstr "anotada, variável" #: ../../reference/simple_stmts.rst:378 msgid "assert" -msgstr "" +msgstr "assert" #: ../../reference/simple_stmts.rst:378 msgid "debugging" -msgstr "" +msgstr "depuração" #: ../../reference/simple_stmts.rst:378 msgid "assertions" -msgstr "" +msgstr "asserções" #: ../../reference/simple_stmts.rst:378 msgid "expression list" -msgstr "" +msgstr "expressão, lista de" #: ../../reference/simple_stmts.rst:399 msgid "__debug__" -msgstr "" +msgstr "__debug__" #: ../../reference/simple_stmts.rst:399 ../../reference/simple_stmts.rst:519 #: ../../reference/simple_stmts.rst:555 ../../reference/simple_stmts.rst:587 -#: ../../reference/simple_stmts.rst:728 +#: ../../reference/simple_stmts.rst:739 msgid "exception" -msgstr "" +msgstr "exceção" #: ../../reference/simple_stmts.rst:399 msgid "AssertionError" -msgstr "" +msgstr "AssertionError" #: ../../reference/simple_stmts.rst:421 msgid "pass" -msgstr "" +msgstr "pass" #: ../../reference/simple_stmts.rst:421 msgid "null" @@ -1790,27 +1785,27 @@ msgstr "null" #: ../../reference/simple_stmts.rst:421 msgid "operation" -msgstr "" +msgstr "operação" #: ../../reference/simple_stmts.rst:443 msgid "del" -msgstr "" +msgstr "del" #: ../../reference/simple_stmts.rst:443 ../../reference/simple_stmts.rst:465 msgid "deletion" -msgstr "" +msgstr "exclusão" -#: ../../reference/simple_stmts.rst:456 ../../reference/simple_stmts.rst:944 +#: ../../reference/simple_stmts.rst:456 ../../reference/simple_stmts.rst:955 msgid "global" -msgstr "" +msgstr "global" #: ../../reference/simple_stmts.rst:456 msgid "unbinding" -msgstr "" +msgstr "desvinculação" #: ../../reference/simple_stmts.rst:482 msgid "return" -msgstr "" +msgstr "return" #: ../../reference/simple_stmts.rst:482 ../../reference/simple_stmts.rst:519 msgid "function" @@ -1818,26 +1813,26 @@ msgstr "função" #: ../../reference/simple_stmts.rst:482 msgid "definition" -msgstr "" +msgstr "definição" #: ../../reference/simple_stmts.rst:482 msgid "class" msgstr "classe" -#: ../../reference/simple_stmts.rst:498 ../../reference/simple_stmts.rst:682 -#: ../../reference/simple_stmts.rst:691 ../../reference/simple_stmts.rst:703 -#: ../../reference/simple_stmts.rst:728 +#: ../../reference/simple_stmts.rst:498 ../../reference/simple_stmts.rst:693 +#: ../../reference/simple_stmts.rst:702 ../../reference/simple_stmts.rst:714 +#: ../../reference/simple_stmts.rst:739 msgid "keyword" -msgstr "" +msgstr "palavra reservada" -#: ../../reference/simple_stmts.rst:498 ../../reference/simple_stmts.rst:691 -#: ../../reference/simple_stmts.rst:703 +#: ../../reference/simple_stmts.rst:498 ../../reference/simple_stmts.rst:702 +#: ../../reference/simple_stmts.rst:714 msgid "finally" -msgstr "" +msgstr "finally" #: ../../reference/simple_stmts.rst:519 msgid "yield" -msgstr "" +msgstr "yield" #: ../../reference/simple_stmts.rst:519 msgid "generator" @@ -1849,19 +1844,19 @@ msgstr "iterador" #: ../../reference/simple_stmts.rst:519 msgid "StopIteration" -msgstr "" +msgstr "StopIteration" #: ../../reference/simple_stmts.rst:555 msgid "raise" -msgstr "" +msgstr "raise" #: ../../reference/simple_stmts.rst:555 msgid "raising" -msgstr "" +msgstr "levantamento" #: ../../reference/simple_stmts.rst:555 msgid "__traceback__ (exception attribute)" -msgstr "" +msgstr "__traceback__ (atributo de exceção)" #: ../../reference/simple_stmts.rst:577 msgid "traceback" @@ -1869,109 +1864,109 @@ msgstr "traceback" #: ../../reference/simple_stmts.rst:587 msgid "chaining" -msgstr "" +msgstr "encadeamento" #: ../../reference/simple_stmts.rst:587 msgid "__cause__ (exception attribute)" -msgstr "" +msgstr "__cause__ (atributo de exceção)" #: ../../reference/simple_stmts.rst:587 msgid "__context__ (exception attribute)" -msgstr "" +msgstr "__context__ (atributo de exceção)" -#: ../../reference/simple_stmts.rst:669 +#: ../../reference/simple_stmts.rst:680 msgid "break" -msgstr "" +msgstr "break" -#: ../../reference/simple_stmts.rst:669 ../../reference/simple_stmts.rst:703 +#: ../../reference/simple_stmts.rst:680 ../../reference/simple_stmts.rst:714 msgid "for" -msgstr "" +msgstr "for" -#: ../../reference/simple_stmts.rst:669 ../../reference/simple_stmts.rst:703 +#: ../../reference/simple_stmts.rst:680 ../../reference/simple_stmts.rst:714 msgid "while" msgstr "while" -#: ../../reference/simple_stmts.rst:669 ../../reference/simple_stmts.rst:703 +#: ../../reference/simple_stmts.rst:680 ../../reference/simple_stmts.rst:714 msgid "loop" -msgstr "" +msgstr "laço" -#: ../../reference/simple_stmts.rst:682 +#: ../../reference/simple_stmts.rst:693 msgid "else" -msgstr "" +msgstr "else" -#: ../../reference/simple_stmts.rst:682 +#: ../../reference/simple_stmts.rst:693 msgid "loop control" -msgstr "" +msgstr "controle de laço" -#: ../../reference/simple_stmts.rst:703 +#: ../../reference/simple_stmts.rst:714 msgid "continue" -msgstr "" +msgstr "continue" -#: ../../reference/simple_stmts.rst:728 ../../reference/simple_stmts.rst:831 +#: ../../reference/simple_stmts.rst:739 ../../reference/simple_stmts.rst:842 msgid "import" -msgstr "" +msgstr "import" -#: ../../reference/simple_stmts.rst:728 +#: ../../reference/simple_stmts.rst:739 msgid "module" msgstr "módulo" -#: ../../reference/simple_stmts.rst:728 +#: ../../reference/simple_stmts.rst:739 msgid "importing" msgstr "importação" -#: ../../reference/simple_stmts.rst:728 ../../reference/simple_stmts.rst:783 +#: ../../reference/simple_stmts.rst:739 ../../reference/simple_stmts.rst:794 msgid "from" msgstr "from" -#: ../../reference/simple_stmts.rst:728 ../../reference/simple_stmts.rst:770 +#: ../../reference/simple_stmts.rst:739 ../../reference/simple_stmts.rst:781 msgid "as" -msgstr "" +msgstr "as" -#: ../../reference/simple_stmts.rst:728 +#: ../../reference/simple_stmts.rst:739 msgid "ImportError" -msgstr "" +msgstr "ImportError" -#: ../../reference/simple_stmts.rst:728 ../../reference/simple_stmts.rst:770 -#: ../../reference/simple_stmts.rst:783 ../../reference/simple_stmts.rst:809 +#: ../../reference/simple_stmts.rst:739 ../../reference/simple_stmts.rst:781 +#: ../../reference/simple_stmts.rst:794 ../../reference/simple_stmts.rst:820 msgid "import statement" -msgstr "" +msgstr "instrução import" -#: ../../reference/simple_stmts.rst:815 +#: ../../reference/simple_stmts.rst:826 msgid "__all__ (optional module attribute)" -msgstr "" +msgstr "__all__ (atributo opcional de módulo)" -#: ../../reference/simple_stmts.rst:831 +#: ../../reference/simple_stmts.rst:842 msgid "relative" -msgstr "" +msgstr "relativa" -#: ../../reference/simple_stmts.rst:858 +#: ../../reference/simple_stmts.rst:869 msgid "future" -msgstr "" +msgstr "future" -#: ../../reference/simple_stmts.rst:858 +#: ../../reference/simple_stmts.rst:869 msgid "__future__" msgstr "__future__" -#: ../../reference/simple_stmts.rst:858 +#: ../../reference/simple_stmts.rst:869 msgid "future statement" -msgstr "" +msgstr "instrução future" -#: ../../reference/simple_stmts.rst:944 ../../reference/simple_stmts.rst:991 +#: ../../reference/simple_stmts.rst:955 ../../reference/simple_stmts.rst:1002 msgid "identifier list" -msgstr "" +msgstr "identificadores, lista de" -#: ../../reference/simple_stmts.rst:972 +#: ../../reference/simple_stmts.rst:983 msgid "exec" msgstr "exec" -#: ../../reference/simple_stmts.rst:972 +#: ../../reference/simple_stmts.rst:983 msgid "eval" -msgstr "" +msgstr "eval" -#: ../../reference/simple_stmts.rst:972 +#: ../../reference/simple_stmts.rst:983 msgid "compile" -msgstr "" +msgstr "compile" -#: ../../reference/simple_stmts.rst:991 +#: ../../reference/simple_stmts.rst:1002 msgid "nonlocal" -msgstr "" +msgstr "nonlocal" diff --git a/reference/toplevel_components.po b/reference/toplevel_components.po index f6e0b3477..17508d1b9 100644 --- a/reference/toplevel_components.po +++ b/reference/toplevel_components.po @@ -1,36 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Julia Rizza , 2021 -# Claudio Rogerio Carvalho Filho , 2023 -# Marco Rougeth , 2023 -# felipe caridade , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../reference/toplevel_components.rst:6 msgid "Top-level components" -msgstr "Componentes de Alto-Nível" +msgstr "Componentes de Alto Nível" #: ../../reference/toplevel_components.rst:10 msgid "" @@ -54,10 +49,10 @@ msgid "" "interpreter is invoked, it is useful to have a notion of a complete Python " "program. A complete Python program is executed in a minimally initialized " "environment: all built-in and standard modules are available, but none have " -"been initialized, except for :mod:`sys` (various system services), :mod:" -"`builtins` (built-in functions, exceptions and ``None``) and :mod:" -"`__main__`. The latter is used to provide the local and global namespace " -"for execution of the complete program." +"been initialized, except for :mod:`sys` (various system " +"services), :mod:`builtins` (built-in functions, exceptions and ``None``) " +"and :mod:`__main__`. The latter is used to provide the local and global " +"namespace for execution of the complete program." msgstr "" "Ainda que uma especificação de linguagem não precise prescrever como o " "interpretador da linguagem é invocado, é útil ter uma noção de um programa " @@ -87,8 +82,8 @@ msgstr "" "O interpretador também pode ser invocado no modo interativo; neste caso, ele " "não lê e executa um programa completo, mas lê e executa uma instrução " "(possivelmente composta) por vez. O ambiente inicial é idêntico àquele de um " -"programa completo; cada instrução é executada no espaço de nomes de :mod:" -"`__main__`." +"programa completo; cada instrução é executada no espaço de nomes " +"de :mod:`__main__`." #: ../../reference/toplevel_components.rst:55 msgid "" @@ -164,11 +159,11 @@ msgstr "" #: ../../reference/toplevel_components.rst:8 msgid "interpreter" -msgstr "" +msgstr "interpretador" #: ../../reference/toplevel_components.rst:21 msgid "program" -msgstr "" +msgstr "programa" #: ../../reference/toplevel_components.rst:23 #: ../../reference/toplevel_components.rst:39 @@ -182,7 +177,7 @@ msgstr "sys" #: ../../reference/toplevel_components.rst:23 #: ../../reference/toplevel_components.rst:39 msgid "__main__" -msgstr "" +msgstr "__main__" #: ../../reference/toplevel_components.rst:23 msgid "builtins" @@ -190,11 +185,11 @@ msgstr "builtins" #: ../../reference/toplevel_components.rst:39 msgid "interactive mode" -msgstr "" +msgstr "modo interativo" #: ../../reference/toplevel_components.rst:49 msgid "UNIX" -msgstr "" +msgstr "UNIX" #: ../../reference/toplevel_components.rst:49 msgid "Windows" @@ -202,15 +197,15 @@ msgstr "Windows" #: ../../reference/toplevel_components.rst:49 msgid "command line" -msgstr "" +msgstr "linha de comando" #: ../../reference/toplevel_components.rst:49 msgid "standard input" -msgstr "" +msgstr "entrada padrão" #: ../../reference/toplevel_components.rst:100 msgid "input" -msgstr "" +msgstr "entrada" #: ../../reference/toplevel_components.rst:101 msgid "built-in function" @@ -218,4 +213,4 @@ msgstr "função embutida" #: ../../reference/toplevel_components.rst:101 msgid "eval" -msgstr "" +msgstr "eval" diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 849135948..000000000 --- a/requirements.txt +++ /dev/null @@ -1,32 +0,0 @@ -alabaster==0.7.13 -Babel==2.12.1 -certifi==2023.5.7 -charset-normalizer==3.1.0 -click==8.1.3 -docutils==0.17.1 -idna==3.4 -imagesize==1.4.1 -Jinja2==3.1.2 -MarkupSafe==2.1.2 -packaging==23.1 -pipdeptree==2.7.1 -polib==1.2.0 -pomerge==0.1.4 -pospell==1.1 -powrap==1.0.1 -Pygments==2.15.1 -regex==2023.5.5 -requests==2.31.0 -snowballstemmer==2.2.0 -Sphinx==5.3.0 -sphinx-intl==2.1.0 -sphinx-lint==0.6.7 -sphinxcontrib-applehelp==1.0.4 -sphinxcontrib-devhelp==1.0.2 -sphinxcontrib-htmlhelp==2.0.1 -sphinxcontrib-jsmath==1.0.1 -sphinxcontrib-qthelp==1.0.3 -sphinxcontrib-serializinghtml==1.1.5 -tqdm==4.65.0 -translate-toolkit==3.9.0 -urllib3==1.26.15 diff --git a/requirements.txt.in b/requirements.txt.in deleted file mode 100644 index 0640e6881..000000000 --- a/requirements.txt.in +++ /dev/null @@ -1,5 +0,0 @@ -pomerge -powrap -pospell -sphinx-intl>=2.1.0 -sphinx-lint diff --git a/sphinx.po b/sphinx.po index d50122c62..6d43d48ee 100644 --- a/sphinx.po +++ b/sphinx.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# And Past , 2021 -# Adorilson Bezerra , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -56,44 +51,72 @@ msgstr "" "Descontinuado desde a versão {deprecated}, removido na versão {removed}" #: ../../tools/templates/dummy.html:12 +msgid "Part of the" +msgstr "Parte da" + +#: ../../tools/templates/dummy.html:13 +msgid "Limited API" +msgstr "API Limitada" + +#: ../../tools/templates/dummy.html:14 +msgid "Stable ABI" +msgstr "ABI Estável" + +#: ../../tools/templates/dummy.html:15 +msgid "(as an opaque struct)" +msgstr "(como uma estrutura opaca)" + +#: ../../tools/templates/dummy.html:16 +msgid "(including all members)" +msgstr "(incluindo todos os membros)" + +#: ../../tools/templates/dummy.html:17 +msgid "since version %s" +msgstr "desde a versão %s" + +#: ../../tools/templates/dummy.html:18 +msgid "(Only some members are part of the stable ABI.)" +msgstr "(Somente alguns membros são parte da ABI estável.)" + +#: ../../tools/templates/dummy.html:19 msgid "Return value: Always NULL." msgstr "Retorna valor: Sempre NULL." -#: ../../tools/templates/dummy.html:13 +#: ../../tools/templates/dummy.html:20 msgid "Return value: New reference." msgstr "Retorna valor: Nova referência." -#: ../../tools/templates/dummy.html:14 +#: ../../tools/templates/dummy.html:21 msgid "Return value: Borrowed reference." msgstr "Retorna valor: Referência emprestada." -#: ../../tools/templates/dummy.html:18 +#: ../../tools/templates/dummy.html:25 msgid "in development" msgstr "em desenvolvimento" -#: ../../tools/templates/dummy.html:19 +#: ../../tools/templates/dummy.html:26 msgid "pre-release" msgstr "pré-lançamento" -#: ../../tools/templates/dummy.html:20 +#: ../../tools/templates/dummy.html:27 msgid "stable" msgstr "estável" -#: ../../tools/templates/dummy.html:21 +#: ../../tools/templates/dummy.html:28 msgid "security-fixes" msgstr "correções de segurança" -#: ../../tools/templates/dummy.html:22 +#: ../../tools/templates/dummy.html:29 msgid "EOL" msgstr "EOL (fim de vida)" #: ../../tools/templates/indexcontent.html:8 msgid "Welcome! This is the official documentation for Python %(release)s." -msgstr "Seja bem-vindo! Esta é a documentação oficial do Python %(release)s," +msgstr "Seja bem-vindo! Esta é a documentação oficial do Python %(release)s." #: ../../tools/templates/indexcontent.html:10 -msgid "Parts of the documentation:" -msgstr "Partes da documentação:" +msgid "Documentation sections:" +msgstr "Seções da documentação:" #: ../../tools/templates/indexcontent.html:13 msgid "What's new in Python %(version)s?" @@ -101,159 +124,164 @@ msgstr "O que há de novo no Python %(version)s?" #: ../../tools/templates/indexcontent.html:14 msgid "" -"or all \"What's new\" documents since 2.0" +"Or all \"What's new\" documents since Python " +"2.0" msgstr "" -"ou todos os documentos \"O que há de novo\" desde a 2.0" +"Ou todos os documentos \"O que há de novo\" " +"desde o Python 2.0" #: ../../tools/templates/indexcontent.html:15 msgid "Tutorial" msgstr "Tutorial" #: ../../tools/templates/indexcontent.html:16 -msgid "start here" -msgstr "comece por aqui" +msgid "Start here: a tour of Python's syntax and features" +msgstr "Comece aqui: um passeio pela sintaxe e pelos recursos do Python" #: ../../tools/templates/indexcontent.html:17 -msgid "Library Reference" -msgstr "Referência da Biblioteca" +msgid "Library reference" +msgstr "Referência da biblioteca" #: ../../tools/templates/indexcontent.html:18 -msgid "keep this under your pillow" -msgstr "mantenha isso debaixo do seu travesseiro" +msgid "Standard library and builtins" +msgstr "Biblioteca padrão e embutidos" #: ../../tools/templates/indexcontent.html:19 -msgid "Language Reference" -msgstr "Referência da Linguagem" +msgid "Language reference" +msgstr "Referência da linguagem" #: ../../tools/templates/indexcontent.html:20 -msgid "describes syntax and language elements" -msgstr "descreve sintaxe e elementos da linguagem" +msgid "Syntax and language elements" +msgstr "Sintaxe e elementos da linguagem" #: ../../tools/templates/indexcontent.html:21 -msgid "Python Setup and Usage" -msgstr "Configurações e Uso do Python" +msgid "Python setup and usage" +msgstr "Configurações e uso do Python" #: ../../tools/templates/indexcontent.html:22 -msgid "how to use Python on different platforms" -msgstr "como usar o Python em diferentes plataformas" +msgid "How to install, configure, and use Python" +msgstr "Como instalar, configurar e usar o Python" #: ../../tools/templates/indexcontent.html:23 msgid "Python HOWTOs" msgstr "Python HOWTOs" #: ../../tools/templates/indexcontent.html:24 -msgid "in-depth documents on specific topics" -msgstr "documentos aprofundados sobre tópicos específicos" +msgid "In-depth topic manuals" +msgstr "Manuais de tópicos detalhados" #: ../../tools/templates/indexcontent.html:26 -msgid "Installing Python Modules" +msgid "Installing Python modules" msgstr "Instalando módulos Python" #: ../../tools/templates/indexcontent.html:27 -msgid "installing from the Python Package Index & other sources" -msgstr "instalando a partir do Python Package Index e outras fontes" +msgid "Third-party modules and PyPI.org" +msgstr "Módulos de terceiros e PyPI.org" #: ../../tools/templates/indexcontent.html:28 -msgid "Distributing Python Modules" +msgid "Distributing Python modules" msgstr "Distribuindo módulos Python" #: ../../tools/templates/indexcontent.html:29 -msgid "publishing modules for installation by others" -msgstr "publicando módulos para instalação por outros" +msgid "Publishing modules for use by other people" +msgstr "Publicando módulos para uso por outras pessoas" #: ../../tools/templates/indexcontent.html:30 -msgid "Extending and Embedding" -msgstr "Estendendo e Incorporando" +msgid "Extending and embedding" +msgstr "Estendendo e incorporando" #: ../../tools/templates/indexcontent.html:31 -msgid "tutorial for C/C++ programmers" -msgstr "tutorial para programadores C/C++" +msgid "For C/C++ programmers" +msgstr "Para programadores de C/C++" #: ../../tools/templates/indexcontent.html:32 -msgid "Python/C API" -msgstr "API Python/C" +msgid "Python's C API" +msgstr "API C do Python" #: ../../tools/templates/indexcontent.html:33 -msgid "reference for C/C++ programmers" -msgstr "referência para programadores C/C++" +msgid "C API reference" +msgstr "Referência da API C" #: ../../tools/templates/indexcontent.html:34 msgid "FAQs" msgstr "FAQs" #: ../../tools/templates/indexcontent.html:35 -msgid "frequently asked questions (with answers!)" -msgstr "perguntas frequentes (com respostas!)" +msgid "Frequently asked questions (with answers!)" +msgstr "Perguntas frequentes (com respostas!)" #: ../../tools/templates/indexcontent.html:39 -msgid "Indices and tables:" -msgstr "Índices e tabelas:" +msgid "Indices, glossary, and search:" +msgstr "Índices, glossário e pesquisa:" #: ../../tools/templates/indexcontent.html:42 -msgid "Global Module Index" -msgstr "Índice Global de Módulos" +msgid "Global module index" +msgstr "Índice global de módulos" #: ../../tools/templates/indexcontent.html:43 -msgid "quick access to all modules" -msgstr "acesso rápido a todos os módulos" +msgid "All modules and libraries" +msgstr "Todos os módulos e todas as bibliotecas" #: ../../tools/templates/indexcontent.html:44 -msgid "General Index" +msgid "General index" msgstr "Índice geral" #: ../../tools/templates/indexcontent.html:45 -msgid "all functions, classes, terms" -msgstr "todas as funções, classes, termos" +msgid "All functions, classes, and terms" +msgstr "Todas funções, classes e termos" #: ../../tools/templates/indexcontent.html:46 msgid "Glossary" msgstr "Glossário" #: ../../tools/templates/indexcontent.html:47 -msgid "the most important terms explained" -msgstr "os termos mais importantes explicados" +msgid "Terms explained" +msgstr "Termos explicados" #: ../../tools/templates/indexcontent.html:49 msgid "Search page" msgstr "Página de busca" #: ../../tools/templates/indexcontent.html:50 -msgid "search this documentation" -msgstr "busque nesta documentação" +msgid "Search this documentation" +msgstr "Busque nessa documentação" #: ../../tools/templates/indexcontent.html:51 -msgid "Complete Table of Contents" +msgid "Complete table of contents" msgstr "Conteúdo completo" #: ../../tools/templates/indexcontent.html:52 -msgid "lists all sections and subsections" -msgstr "lista de todas seções e subsecções" +msgid "Lists all sections and subsections" +msgstr "Lista todas seções e subseções" #: ../../tools/templates/indexcontent.html:56 -msgid "Meta information:" -msgstr "Meta informações:" +msgid "Project information:" +msgstr "Informações do projeto:" #: ../../tools/templates/indexcontent.html:59 -msgid "Reporting bugs" -msgstr "Relatando erros" +msgid "Reporting issues" +msgstr "Relatando problemas" #: ../../tools/templates/indexcontent.html:60 msgid "Contributing to Docs" msgstr "Contribuindo para Docs" #: ../../tools/templates/indexcontent.html:61 -msgid "About the documentation" -msgstr "Sobre a Documentação" +msgid "Download the documentation" +msgstr "Baixar a documentação" #: ../../tools/templates/indexcontent.html:63 -msgid "History and License of Python" -msgstr "História e Licença do Python" +msgid "History and license of Python" +msgstr "História e licença do Python" #: ../../tools/templates/indexcontent.html:64 msgid "Copyright" msgstr "Direitos autorais" +#: ../../tools/templates/indexcontent.html:65 +msgid "About the documentation" +msgstr "Sobre a documentação" + #: ../../tools/templates/indexsidebar.html:1 msgid "Download" msgstr "Download" @@ -305,23 +333,26 @@ msgstr "Guia do Desenvolvedor do Python" #: ../../tools/templates/layout.html:6 msgid "" "This document is for an old version of Python that is no longer supported.\n" -" You should upgrade, and read the " +" You should upgrade, and read the" msgstr "" "Esta documentação é de uma versão antiga do Python que não é mais " "atualizada.\n" " Você deveria atualizar e ler a" #: ../../tools/templates/layout.html:8 -msgid " Python documentation for the current stable release" -msgstr "Documentação do Python para versão estável atual" +msgid "Python documentation for the current stable release" +msgstr "documentação do Python para versão estável atual" #: ../../tools/templates/layout.html:14 msgid "" -"This is a deploy preview created from a pull request.\n" -" For authoritative documentation, see the " +"This is a deploy preview created from a pull request.\n" +" For authoritative documentation, see" msgstr "" +"Este é um deploy prévio criado a partir de um pull request.\n" +" Para uma documentação oficial, veja" #: ../../tools/templates/layout.html:16 -msgid " the current stable release" -msgstr "" +msgid "the current stable release" +msgstr "o lançamento estável atual" diff --git a/stats.json b/stats.json new file mode 100644 index 000000000..a263cb11a --- /dev/null +++ b/stats.json @@ -0,0 +1 @@ +{"completion": "65.51%", "translated": 39750, "entries": 55846, "updated_at": "2026-11-02T00:30:31+00:00Z"} \ No newline at end of file diff --git a/tutorial/appendix.po b/tutorial/appendix.po index c88dc5eda..2862f1401 100644 --- a/tutorial/appendix.po +++ b/tutorial/appendix.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# msilvavieira, 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: msilvavieira, 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -42,38 +40,38 @@ msgid "" "When an error occurs, the interpreter prints an error message and a stack " "trace. In interactive mode, it then returns to the primary prompt; when " "input came from a file, it exits with a nonzero exit status after printing " -"the stack trace. (Exceptions handled by an :keyword:`except` clause in a :" -"keyword:`try` statement are not errors in this context.) Some errors are " -"unconditionally fatal and cause an exit with a nonzero exit; this applies to " -"internal inconsistencies and some cases of running out of memory. All error " -"messages are written to the standard error stream; normal output from " -"executed commands is written to standard output." +"the stack trace. (Exceptions handled by an :keyword:`except` clause in " +"a :keyword:`try` statement are not errors in this context.) Some errors are " +"unconditionally fatal and cause an exit with a nonzero exit status; this " +"applies to internal inconsistencies and some cases of running out of " +"memory. All error messages are written to the standard error stream; normal " +"output from executed commands is written to standard output." msgstr "" "Quando um erro ocorre, o interpretador exibe uma mensagem de erro e um " "*stack trace* (rastreamento de pilha). Se estiver no modo interativo, ele " "volta para o prompt primário; se a entrada veio de um arquivo, a execução " -"termina com um status de saída *nonzero* (diferente de zero) após a exibição " -"do *stack trace*. (Exceções tratadas por uma cláusula :keyword:`except` numa " -"declaração :keyword:`try` não são consideradas erros, nesse contexto.) " -"Alguns erros são irremediavelmente graves e causam términos de execução com " -"status de saída *nonzero*; isso pode acontecer devido a inconsistências " -"internas e em alguns casos por falta de memória. Todas as mensagens de erro " -"são escritas no fluxo de erros padrão; a saída normal resultante da execução " -"de comandos é escrita no canal de saída padrão." +"termina com um status de saída diferente de zero após a exibição do *stack " +"trace*. (Exceções tratadas por uma cláusula :keyword:`except` numa " +"instrução :keyword:`try` não são consideradas erros, nesse contexto.) Alguns " +"erros são irremediavelmente graves e causam términos de execução com status " +"de saída diferente de zero; isso pode ocorrer devido a inconsistências " +"internas e, em alguns casos, por falta de memória. Todas as mensagens de " +"erro são escritas no fluxo de erros padrão; a saída normal resultante da " +"execução de comandos é escrita no fluxo de saída padrão." #: ../../tutorial/appendix.rst:28 msgid "" "Typing the interrupt character (usually :kbd:`Control-C` or :kbd:`Delete`) " "to the primary or secondary prompt cancels the input and returns to the " "primary prompt. [#]_ Typing an interrupt while a command is executing raises " -"the :exc:`KeyboardInterrupt` exception, which may be handled by a :keyword:" -"`try` statement." +"the :exc:`KeyboardInterrupt` exception, which may be handled by " +"a :keyword:`try` statement." msgstr "" -"Digitar o caractere de interrupção (geralmente :kbd:`Control-C` ou :kbd:" -"`Delete`) em prompts primários ou secundários causam a interrupção da " -"entrada de dados e o retorno ao prompt primário. [#]_ Digitar a interrupção " -"durante a execução de um comando levanta a exceção :exc:`KeyboardInterrupt`, " -"que pode ser tratada por uma declaração :keyword:`try`." +"Digitar o caractere de interrupção (geralmente :kbd:`Control-C` " +"ou :kbd:`Delete`) em prompts primários ou secundários interrompe a entrada " +"de dados e retorna ao prompt primário. [#]_ Digitar a interrupção durante a " +"execução de um comando levanta a exceção :exc:`KeyboardInterrupt`, que pode " +"ser tratada por meio de uma declaração :keyword:`try`." #: ../../tutorial/appendix.rst:38 msgid "Executable Python Scripts" @@ -96,18 +94,17 @@ msgid "" "(``'\\r\\n'``) line ending. Note that the hash, or pound, character, " "``'#'``, is used to start a comment in Python." msgstr "" -"(assumindo que o interpretador está na :envvar:`PATH` do usuário) no começo " +"(presumindo que o interpretador está na :envvar:`PATH` do usuário) no começo " "do script e configurando o arquivo no modo executável. Os dois primeiros " "caracteres do arquivo devem ser ``#!``. Em algumas plataformas, essa " "primeira linha deve terminar com uma quebra de linha em estilo Unix " -"(``'\\n'``), e não em estilo windows (``'\\r\\n'``). Note que o caractere " -"``'#'`` (em inglês chamado de *hash*, ou *pound* etc.), é usado em Python " -"para marcar o início de um comentário." +"(``'\\n'``), e não em estilo Windows (``'\\r\\n'``). Note que o caractere " +"cerquilha, ``'#'``, é usado em Python para marcar o início de um comentário." #: ../../tutorial/appendix.rst:52 msgid "" -"The script can be given an executable mode, or permission, using the :" -"program:`chmod` command." +"The script can be given an executable mode, or permission, using " +"the :program:`chmod` command." msgstr "" "O script pode receber a permissão para atuar em modo executável através do " "comando :program:`chmod`." @@ -120,11 +117,11 @@ msgid "" "extension can also be ``.pyw``, in that case, the console window that " "normally appears is suppressed." msgstr "" -"Em sistemas Windows, não existe a noção de um \"modo executável\". O " -"instalador Python associa automaticamente os arquivos ``.py`` com o ``python." -"exe``, de forma que um clique duplo num arquivo Python o executará como um " -"script. A extensão pode ser também ``.pyw``, o que omite a janela de console " -"que normalmente aparece." +"Em sistemas Windows, não existe a noção de \"modo executável\". O instalador " +"do Python associa automaticamente os arquivos ``.py`` ao ``python.exe``, de " +"modo que um clique duplo em um arquivo Python o executará como um script. A " +"extensão pode ser também ``.pyw``, o que omite a janela de console que " +"normalmente aparece." #: ../../tutorial/appendix.rst:69 msgid "The Interactive Startup File" @@ -159,16 +156,16 @@ msgstr "" "Python lê comandos de um script, tampouco quando :file:`/dev/tty` é passado " "explicitamente como a origem dos comandos (neste caso, teremos um " "comportamento similar a uma sessão interativa padrão). Ele é executado no " -"mesmo *namespace* (espaço de nomes) em que os comandos interativos são " -"executados, de modo que os objetos que ele define ou importa possam ser " -"usados sem qualificação na sessão interativa. Também é possível alterar os " -"*prompts* ``sys.ps1`` e ``sys.ps2`` no mesmo arquivo." +"mesmo espaço de nomes em que os comandos interativos são executados, de modo " +"que os objetos que ele define ou importa possam ser usados sem qualificação " +"na sessão interativa. Também é possível alterar os prompts ``sys.ps1`` e " +"``sys.ps2`` no mesmo arquivo." #: ../../tutorial/appendix.rst:85 msgid "" "If you want to read an additional start-up file from the current directory, " -"you can program this in the global start-up file using code like ``if os." -"path.isfile('.pythonrc.py'): exec(open('.pythonrc.py').read())``. If you " +"you can program this in the global start-up file using code like ``if " +"os.path.isfile('.pythonrc.py'): exec(open('.pythonrc.py').read())``. If you " "want to use the startup file in a script, you must do this explicitly in the " "script::" msgstr "" @@ -184,15 +181,15 @@ msgstr "Módulos de customização" #: ../../tutorial/appendix.rst:104 msgid "" -"Python provides two hooks to let you customize it: :mod:`sitecustomize` and :" -"mod:`usercustomize`. To see how it works, you need first to find the " +"Python provides two hooks to let you customize it: :index:`sitecustomize` " +"and :index:`usercustomize`. To see how it works, you need first to find the " "location of your user site-packages directory. Start Python and run this " "code::" msgstr "" -"Python oferece dois *hooks* que permitem sua customização: :mod:" -"`sitecustomize` e :mod:`usercustomize`. Para entender como funcionam, " -"primeiro você deve localizar o diretório site-packages do usuário. Inicie o " -"Python e execute este código::" +"Python oferece dois ganchos que permitem sua " +"customização: :index:`sitecustomize` e :index:`usercustomize`. Para entender " +"como funcionam, primeiro você deve localizar o diretório site-packages do " +"usuário. Inicie o Python e execute este código::" #: ../../tutorial/appendix.rst:112 msgid "" @@ -208,15 +205,15 @@ msgstr "" #: ../../tutorial/appendix.rst:116 msgid "" -":mod:`sitecustomize` works in the same way, but is typically created by an " +":index:`sitecustomize` works in the same way, but is typically created by an " "administrator of the computer in the global site-packages directory, and is " -"imported before :mod:`usercustomize`. See the documentation of the :mod:" -"`site` module for more details." +"imported before :index:`usercustomize`. See the documentation of " +"the :mod:`site` module for more details." msgstr "" -":mod:`sitecustomize` funciona da mesma forma, mas normalmente é criado por " +":index:`sitecustomize` funciona da mesma forma, mas normalmente é criado por " "um administrador do computador no diretório site-packages global e é " -"importado antes de :mod:`usercustomize`. Veja a documentação do módulo :mod:" -"`site` para mais detalhes." +"importado antes de :index:`usercustomize`. Veja a documentação do " +"módulo :mod:`site` para mais detalhes." #: ../../tutorial/appendix.rst:123 msgid "Footnotes" @@ -224,4 +221,4 @@ msgstr "Notas de rodapé" #: ../../tutorial/appendix.rst:124 msgid "A problem with the GNU Readline package may prevent this." -msgstr "Um problema com a package GNU Readline pode impedir que isso aconteça." +msgstr "Um problema com o pacote GNU Readline pode impedir que isso aconteça." diff --git a/tutorial/appetite.po b/tutorial/appetite.po index 66af15026..9906aba07 100644 --- a/tutorial/appetite.po +++ b/tutorial/appetite.po @@ -1,27 +1,25 @@ # 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: -# Claudio Rogerio Carvalho Filho , 2021 -# Adorilson Bezerra , 2021 -# David Macedo, 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: David Macedo, 2022\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -37,12 +35,12 @@ msgid "" "of photo files in a complicated way. Perhaps you'd like to write a small " "custom database, or a specialized GUI application, or a simple game." msgstr "" -"Se você trabalha muito com computadores, acabará encontrando alguma tarefa " -"que gostaria de automatizar. Por exemplo, você pode querer fazer busca-e-" -"troca em um grande número de arquivos de texto, ou renomear e reorganizar um " -"monte de arquivos de fotos de uma maneira complicada. Talvez você gostaria " -"de escrever um pequeno banco de dados personalizado, ou um aplicativo GUI " -"especializado, ou um jogo simples." +"Se você trabalha bastante com computadores, eventualmente perceberá que há " +"alguma tarefa que gostaria de automatizar. Por exemplo, pode querer realizar " +"uma busca e substituição em um grande número de arquivos de texto ou " +"renomear e reorganizar um conjunto de fotos de maneira complexa. Talvez " +"deseje criar um pequeno banco de dados personalizado, uma aplicação GUI " +"especializada ou um jogo simples." #: ../../tutorial/appetite.rst:13 msgid "" @@ -76,9 +74,9 @@ msgid "" msgstr "" "Você pode escrever um script shell do Unix ou arquivos batch do Windows para " "algumas dessas tarefas, mas os scripts shell são melhores para mover " -"arquivos e alterar dados de texto, não são adequados para aplicativos GUI ou " +"arquivos e alterar dados de texto, não são adequados para aplicações GUI ou " "jogos. Você pode escrever um programa C/C++/Java, mas pode levar muito tempo " -"de desenvolvimento para obter até mesmo um primeiro rascunho de programa. O " +"de desenvolvimento para obter até mesmo um primeiro rascunho de programa. O " "Python é mais simples de usar, está disponível nos sistemas operacionais " "Windows, macOS e Unix e ajudará você a terminar o trabalho mais rapidamente." @@ -130,7 +128,7 @@ msgid "" msgstr "" "Python é uma linguagem interpretada, por isso você pode economizar um tempo " "considerável durante o desenvolvimento, uma vez que não há necessidade de " -"compilação e vinculação (*linking*). O interpretador pode ser usado " +"compilação e ligação (*linking*). O interpretador pode ser usado " "interativamente, o que torna fácil experimentar diversas características da " "linguagem, escrever programas “descartáveis”, ou testar funções em um " "desenvolvimento debaixo para cima (*bottom-up*). É também uma útil " @@ -177,12 +175,12 @@ msgid "" "extension or command language for that application." msgstr "" "Python é *extensível*: se você sabe como programar em C, é fácil adicionar " -"funções ou módulos diretamente no interpretador, seja para desempenhar " -"operações críticas em máxima velocidade, ou para vincular programas Python a " -"bibliotecas que só estejam disponíveis em formato binário (como uma " -"biblioteca gráfica de terceiros). Uma vez que você tenha sido fisgado, você " -"pode vincular o interpretador Python a uma aplicação escrita em C e utilizá-" -"la como linguagem de comandos ou extensão para esta aplicação." +"módulos ou funções embutidas diretamente no interpretador, seja para " +"desempenhar operações críticas em máxima velocidade, ou para vincular " +"programas Python a bibliotecas que só estejam disponíveis em formato binário " +"(como uma biblioteca gráfica de terceiros). Uma vez que você tenha sido " +"fisgado, você pode vincular o interpretador Python a uma aplicação escrita " +"em C e utilizá-la como linguagem de comandos ou extensão para esta aplicação." #: ../../tutorial/appetite.rst:70 msgid "" @@ -201,9 +199,10 @@ msgid "" "more detail. Since the best way to learn a language is to use it, the " "tutorial invites you to play with the Python interpreter as you read." msgstr "" -"Agora que você está entusiasmado com Python, vai querer conhecê-la com mais " +"Agora que você se entusiasmou com o Python, vai querer conhecê-lo com mais " "detalhes. Partindo do princípio que a melhor maneira de aprender uma " -"linguagem é usando-a, você está agora convidado a fazê-lo com este tutorial." +"linguagem é usando-a, este tutorial lhe convida para fazê-lo com o " +"interpretador do Python enquanto você o lê." #: ../../tutorial/appetite.rst:78 msgid "" @@ -223,6 +222,6 @@ msgid "" "advanced concepts like exceptions and user-defined classes." msgstr "" "O resto do tutorial introduz diversos aspectos do sistema e linguagem Python " -"por intermédio de exemplos. Serão abordadas expressões simples, comandos, " +"por intermédio de exemplos. Serão abordadas expressões simples, instruções, " "tipos, funções e módulos. Finalmente, serão explicados alguns conceitos " "avançados como exceções e classes definidas pelo usuário." diff --git a/tutorial/classes.po b/tutorial/classes.po index 2b2a2d551..19d3780b6 100644 --- a/tutorial/classes.po +++ b/tutorial/classes.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Hildeberto Abreu Magalhães , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# msilvavieira, 2021 -# guilhermegouw , 2021 -# Adorilson Bezerra , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -183,14 +177,14 @@ msgstr "" "Um *espaço de nomes* é um mapeamento que associa nomes a objetos. " "Atualmente, são implementados como dicionários em Python, mas isso não é " "perceptível (a não ser pelo desempenho), e pode mudar no futuro. Exemplos de " -"espaços de nomes são: o conjunto de nomes pré-definidos (funções como :func:" -"`abs` e as exceções pré-definidas); nomes globais em um módulo; e nomes " -"locais na invocação de uma função. De certa forma, os atributos de um objeto " -"também formam um espaço de nomes. O mais importante é saber que não existe " -"nenhuma relação entre nomes em espaços de nomes distintos. Por exemplo, dois " -"módulos podem definir uma função de nome ``maximize`` sem confusão --- " -"usuários dos módulos devem prefixar a função com o nome do módulo, para " -"evitar colisão." +"espaços de nomes são: o conjunto de nomes pré-definidos (funções " +"como :func:`abs` e as exceções pré-definidas); nomes globais em um módulo; e " +"nomes locais na invocação de uma função. De certa forma, os atributos de um " +"objeto também formam um espaço de nomes. O mais importante é saber que não " +"existe nenhuma relação entre nomes em espaços de nomes distintos. Por " +"exemplo, dois módulos podem definir uma função de nome ``maximize`` sem " +"confusão --- usuários dos módulos devem prefixar a função com o nome do " +"módulo, para evitar colisão." #: ../../tutorial/classes.rst:82 msgid "" @@ -216,14 +210,15 @@ msgid "" "attributes is possible. Module attributes are writable: you can write " "``modname.the_answer = 42``. Writable attributes may also be deleted with " "the :keyword:`del` statement. For example, ``del modname.the_answer`` will " -"remove the attribute :attr:`the_answer` from the object named by ``modname``." +"remove the attribute :attr:`!the_answer` from the object named by " +"``modname``." msgstr "" "Atributos podem ser somente leitura ou para leitura e escrita. No segundo " "caso, é possível atribuir um novo valor ao atributo. Atributos de módulos " "são passíveis de atribuição: você pode escrever ``modname.the_answer = 42``. " "Atributos que aceitam escrita também podem ser apagados através da " "instrução :keyword:`del`. Por exemplo, ``del modname.the_answer`` removerá o " -"atributo :attr:`the_answer` do objeto referenciado por ``modname``." +"atributo :attr:`!the_answer` do objeto referenciado por ``modname``." #: ../../tutorial/classes.rst:96 msgid "" @@ -233,9 +228,9 @@ msgid "" "module is created when the module definition is read in; normally, module " "namespaces also last until the interpreter quits. The statements executed " "by the top-level invocation of the interpreter, either read from a script " -"file or interactively, are considered part of a module called :mod:" -"`__main__`, so they have their own global namespace. (The built-in names " -"actually also live in a module; this is called :mod:`builtins`.)" +"file or interactively, are considered part of a module " +"called :mod:`__main__`, so they have their own global namespace. (The built-" +"in names actually also live in a module; this is called :mod:`builtins`.)" msgstr "" "Espaços de nomes são criados em momentos diferentes e possuem diferentes " "ciclos de vida. O espaço de nomes que contém os nomes embutidos é criado " @@ -311,11 +306,11 @@ msgstr "" msgid "" "If a name is declared global, then all references and assignments go " "directly to the next-to-last scope containing the module's global names. To " -"rebind variables found outside of the innermost scope, the :keyword:" -"`nonlocal` statement can be used; if not declared nonlocal, those variables " -"are read-only (an attempt to write to such a variable will simply create a " -"*new* local variable in the innermost scope, leaving the identically named " -"outer variable unchanged)." +"rebind variables found outside of the innermost scope, " +"the :keyword:`nonlocal` statement can be used; if not declared nonlocal, " +"those variables are read-only (an attempt to write to such a variable will " +"simply create a *new* local variable in the innermost scope, leaving the " +"identically named outer variable unchanged)." msgstr "" "Se um nome é declarado no escopo global, então todas as referências e " "atribuições de valores vão diretamente para o penúltimo escopo, que contém " @@ -359,35 +354,36 @@ msgstr "" #: ../../tutorial/classes.rst:146 msgid "" -"A special quirk of Python is that -- if no :keyword:`global` or :keyword:" -"`nonlocal` statement is in effect -- assignments to names always go into the " -"innermost scope. Assignments do not copy data --- they just bind names to " -"objects. The same is true for deletions: the statement ``del x`` removes " -"the binding of ``x`` from the namespace referenced by the local scope. In " -"fact, all operations that introduce new names use the local scope: in " -"particular, :keyword:`import` statements and function definitions bind the " -"module or function name in the local scope." -msgstr "" -"Uma peculiaridade especial do Python é que -- se nenhuma instrução :keyword:" -"`global` ou :keyword:`nonlocal` estiver em vigor -- as atribuições de nomes " -"sempre entram no escopo mais interno. As atribuições não copiam dados --- " -"elas apenas vinculam nomes aos objetos. O mesmo vale para exclusões: a " -"instrução ``del x`` remove a ligação de ``x`` do espaço de nomes " -"referenciado pelo escopo local. De fato, todas as operações que introduzem " -"novos nomes usam o escopo local: em particular, instruções :keyword:`import` " -"e definições de funções ligam o módulo ou o nome da função no escopo local." +"A special quirk of Python is that -- if no :keyword:`global` " +"or :keyword:`nonlocal` statement is in effect -- assignments to names always " +"go into the innermost scope. Assignments do not copy data --- they just bind " +"names to objects. The same is true for deletions: the statement ``del x`` " +"removes the binding of ``x`` from the namespace referenced by the local " +"scope. In fact, all operations that introduce new names use the local " +"scope: in particular, :keyword:`import` statements and function definitions " +"bind the module or function name in the local scope." +msgstr "" +"Uma peculiaridade especial do Python é que -- se nenhuma " +"instrução :keyword:`global` ou :keyword:`nonlocal` estiver em vigor -- as " +"atribuições de nomes sempre entram no escopo mais interno. As atribuições " +"não copiam dados --- elas apenas vinculam nomes aos objetos. O mesmo vale " +"para exclusões: a instrução ``del x`` remove a ligação de ``x`` do espaço de " +"nomes referenciado pelo escopo local. De fato, todas as operações que " +"introduzem novos nomes usam o escopo local: em particular, " +"instruções :keyword:`import` e definições de funções ligam o módulo ou o " +"nome da função no escopo local." #: ../../tutorial/classes.rst:154 msgid "" "The :keyword:`global` statement can be used to indicate that particular " -"variables live in the global scope and should be rebound there; the :keyword:" -"`nonlocal` statement indicates that particular variables live in an " -"enclosing scope and should be rebound there." +"variables live in the global scope and should be rebound there; " +"the :keyword:`nonlocal` statement indicates that particular variables live " +"in an enclosing scope and should be rebound there." msgstr "" "A instrução :keyword:`global` pode ser usada para indicar que certas " -"variáveis residem no escopo global ao invés do local; a instrução :keyword:" -"`nonlocal` indica que variáveis particulares estão em um espoco mais interno " -"e devem ser recuperadas lá." +"variáveis residem no escopo global ao invés do local; a " +"instrução :keyword:`nonlocal` indica que variáveis particulares estão em um " +"espoco mais interno e devem ser recuperadas lá." #: ../../tutorial/classes.rst:162 msgid "Scopes and Namespaces Example" @@ -415,14 +411,14 @@ msgid "" "assignment changed the module-level binding." msgstr "" "Observe como uma atribuição *local* (que é o padrão) não altera o vínculo de " -"*scope_test* a *spam*. A instrução :keyword:`nonlocal` mudou o vínculo de " -"*scope_test* de *spam* e a atribuição :keyword:`global` alterou a ligação " -"para o nível do módulo." +"*teste_de_escopo* a *spam*. A instrução :keyword:`nonlocal` mudou o vínculo " +"de *teste_de_escopo* de *spam* e a atribuição :keyword:`global` alterou a " +"ligação para o nível do módulo." #: ../../tutorial/classes.rst:205 msgid "" -"You can also see that there was no previous binding for *spam* before the :" -"keyword:`global` assignment." +"You can also see that there was no previous binding for *spam* before " +"the :keyword:`global` assignment." msgstr "" "Você também pode ver que não havia nenhuma ligação anterior para *spam* " "antes da atribuição :keyword:`global`." @@ -454,10 +450,10 @@ msgid "" "a class definition in a branch of an :keyword:`if` statement, or inside a " "function.)" msgstr "" -"Definições de classe, assim como definições de função (instruções :keyword:" -"`def`), precisam ser executadas antes que tenham qualquer efeito. (Você pode " -"colocar uma definição de classe dentro do teste condicional de um :keyword:" -"`if` ou dentro de uma função.)" +"Definições de classe, assim como definições de função " +"(instruções :keyword:`def`), precisam ser executadas antes que tenham " +"qualquer efeito. (Você pode colocar uma definição de classe dentro do teste " +"condicional de um :keyword:`if` ou dentro de uma função.)" #: ../../tutorial/classes.rst:236 msgid "" @@ -493,19 +489,19 @@ msgid "" "created by the class definition; we'll learn more about class objects in the " "next section. The original local scope (the one in effect just before the " "class definition was entered) is reinstated, and the class object is bound " -"here to the class name given in the class definition header (:class:" -"`ClassName` in the example)." +"here to the class name given in the class definition header (:class:`!" +"ClassName` in the example)." msgstr "" "Quando uma definição de classe é finalizada normalmente (até o fim), um " "*objeto classe* é criado. Este objeto encapsula o conteúdo do espaço de " "nomes criado pela definição da classe; aprenderemos mais sobre objetos " -"classe na próxima seção. O escopo local que estava vigente antes da " -"definição da classe é reativado, e o objeto classe é vinculado ao " -"identificador da classe nesse escopo (:class:`ClassName` no exemplo)." +"classe na próxima seção. O escopo local (que estava vigente antes da " +"definição da classe) é reativado, e o objeto classe é vinculado ao " +"identificador da classe nesse escopo (:class:`!NomeClasse` no exemplo)." #: ../../tutorial/classes.rst:259 msgid "Class Objects" -msgstr "Objetos de Class" +msgstr "Objetos classe" #: ../../tutorial/classes.rst:261 msgid "" @@ -533,14 +529,15 @@ msgid "" "then ``MyClass.i`` and ``MyClass.f`` are valid attribute references, " "returning an integer and a function object, respectively. Class attributes " "can also be assigned to, so you can change the value of ``MyClass.i`` by " -"assignment. :attr:`__doc__` is also a valid attribute, returning the " +"assignment. :attr:`!__doc__` is also a valid attribute, returning the " "docstring belonging to the class: ``\"A simple example class\"``." msgstr "" -"então ``MyClass.i`` e ``MyClass.f`` são referências a atributo válidas, " -"retornando, respectivamente, um inteiro e um objeto função. Atributos de " -"classe podem receber valores, pode-se modificar o valor de ``MyClass.i`` num " -"atribuição. :attr:`__doc__` também é um atributo válido da classe, " -"retornando a *documentação* associada: ``\"A simple example class\"``." +"então ``MinhaClasse.i`` e ``MinhaClasse.f`` são referências a atributo " +"válidas, retornando, respectivamente, um inteiro e um objeto função. " +"Atributos de classe podem receber valores, pode-se modificar o valor de " +"``MinhaClasse.i`` num atribuição. :attr:`!__doc__` também é um atributo " +"válido da classe, retornando a docstring associada à classe: ``\"Um exemplo " +"de classe simples\"``." #: ../../tutorial/classes.rst:282 msgid "" @@ -550,7 +547,7 @@ msgid "" msgstr "" "Para *instanciar* uma classe, usa-se a mesma sintaxe de invocar uma função. " "Apenas finja que o objeto classe do exemplo é uma função sem parâmetros, que " -"devolve uma nova instância da classe. Por exemplo (assumindo a classe " +"devolve uma nova instância da classe. Por exemplo (presumindo a classe " "acima)::" #: ../../tutorial/classes.rst:288 @@ -565,35 +562,35 @@ msgstr "" msgid "" "The instantiation operation (\"calling\" a class object) creates an empty " "object. Many classes like to create objects with instances customized to a " -"specific initial state. Therefore a class may define a special method named :" -"meth:`__init__`, like this::" +"specific initial state. Therefore a class may define a special method " +"named :meth:`~object.__init__`, like this::" msgstr "" "A operação de instanciação (\"invocar\" um objeto classe) cria um objeto " "vazio. Muitas classes preferem criar novos objetos com um estado inicial " "predeterminado. Para tanto, a classe pode definir um método especial " -"chamado :meth:`__init__`, assim::" +"chamado :meth:`~object.__init__`, assim::" #: ../../tutorial/classes.rst:299 msgid "" -"When a class defines an :meth:`__init__` method, class instantiation " -"automatically invokes :meth:`__init__` for the newly created class " +"When a class defines an :meth:`~object.__init__` method, class instantiation " +"automatically invokes :meth:`!__init__` for the newly created class " "instance. So in this example, a new, initialized instance can be obtained " "by::" msgstr "" -"Quando uma classe define um método :meth:`__init__`, o processo de " -"instanciação automaticamente invoca :meth:`__init__` sobre a instância recém " -"criada. Em nosso exemplo, uma nova instância já inicializada pode ser obtida " -"desta maneira::" +"Quando uma classe define um método :meth:`~object.__init__`, o processo de " +"instanciação automaticamente invoca :meth:`!__init__` sobre a instância " +"recém criada. Em nosso exemplo, uma nova instância já inicializada pode ser " +"obtida desta maneira::" #: ../../tutorial/classes.rst:305 msgid "" -"Of course, the :meth:`__init__` method may have arguments for greater " -"flexibility. In that case, arguments given to the class instantiation " -"operator are passed on to :meth:`__init__`. For example, ::" +"Of course, the :meth:`~object.__init__` method may have arguments for " +"greater flexibility. In that case, arguments given to the class " +"instantiation operator are passed on to :meth:`!__init__`. For example, ::" msgstr "" -"Naturalmente, o método :meth:`__init__` pode ter parâmetros para maior " -"flexibilidade. Neste caso, os argumentos fornecidos na invocação da classe " -"serão passados para o método :meth:`__init__`. Por exemplo, ::" +"Naturalmente, o método :meth:`~object.__init__` pode ter parâmetros para " +"maior flexibilidade. Neste caso, os argumentos fornecidos na invocação da " +"classe serão passados para o método :meth:`!__init__`. Por exemplo, ::" #: ../../tutorial/classes.rst:322 msgid "Instance Objects" @@ -615,16 +612,16 @@ msgid "" "*data attributes* correspond to \"instance variables\" in Smalltalk, and to " "\"data members\" in C++. Data attributes need not be declared; like local " "variables, they spring into existence when they are first assigned to. For " -"example, if ``x`` is the instance of :class:`MyClass` created above, the " +"example, if ``x`` is the instance of :class:`!MyClass` created above, the " "following piece of code will print the value ``16``, without leaving a " "trace::" msgstr "" "Atributos de dados correspondem a \"variáveis de instância\" em Smalltalk, e " "a \"membros de dados\" em C++. Atributos de dados não precisam ser " "declarados. Assim como variáveis locais, eles passam a existir na primeira " -"vez em que é feita uma atribuição. Por exemplo, se ``x`` é uma instância da :" -"class:`MyClass` criada acima, o próximo trecho de código irá exibir o valor " -"``16``, sem deixar nenhum rastro::" +"vez em que é feita uma atribuição. Por exemplo, se ``x`` é uma instância " +"da :class:`!MinhaClasse` criada acima, o próximo trecho de código irá exibir " +"o valor ``16``, sem deixar nenhum rastro::" #: ../../tutorial/classes.rst:340 msgid "" @@ -657,10 +654,10 @@ msgstr "" "Nomes de métodos válidos de uma instância dependem de sua classe. Por " "definição, cada atributo de uma classe que é uma função corresponde a um " "método das instâncias. Em nosso exemplo, ``x.f`` é uma referência de método " -"válida já que ``MyClass.f`` é uma função, enquanto ``x.i`` não é, já que " -"``MyClass.i`` não é uma função. Entretanto, ``x.f`` não é o mesmo que " -"``MyClass.f``. A referência ``x.f`` acessa um objeto método e a ``MyClass." -"f`` acessa um objeto função." +"válida já que ``MinhaClasse.f`` é uma função, enquanto ``x.i`` não é, já que " +"``MinhaClasse.i`` não é uma função. Entretanto, ``x.f`` não é o mesmo que " +"``MinhaClasse.f``. A referência ``x.f`` acessa um objeto método e a " +"``MinhaClasse.f`` acessa um objeto função." #: ../../tutorial/classes.rst:360 msgid "Method Objects" @@ -672,35 +669,35 @@ msgstr "Normalmente, um método é chamado imediatamente após ser referenciado: #: ../../tutorial/classes.rst:366 msgid "" -"In the :class:`MyClass` example, this will return the string ``'hello " +"In the :class:`!MyClass` example, this will return the string ``'hello " "world'``. However, it is not necessary to call a method right away: ``x.f`` " "is a method object, and can be stored away and called at a later time. For " "example::" msgstr "" -"No exemplo :class:`MyClass` o resultado da expressão acima será a string " -"``'hello world'``. No entanto, não é obrigatório invocar o método " +"No exemplo :class:`!MinhaClasse`, o resultado da expressão acima será a " +"string ``\"olá mundo\"``. No entanto, não é obrigatório invocar o método " "imediatamente: como ``x.f`` é também um objeto ele pode ser atribuído a uma " "variável e invocado depois. Por exemplo::" #: ../../tutorial/classes.rst:374 msgid "will continue to print ``hello world`` until the end of time." -msgstr "exibirá o texto ``hello world`` até o mundo acabar." +msgstr "exibirá o texto ``olá mundo`` até o mundo acabar." #: ../../tutorial/classes.rst:376 msgid "" -"What exactly happens when a method is called? You may have noticed that ``x." -"f()`` was called without an argument above, even though the function " -"definition for :meth:`f` specified an argument. What happened to the " +"What exactly happens when a method is called? You may have noticed that " +"``x.f()`` was called without an argument above, even though the function " +"definition for :meth:`!f` specified an argument. What happened to the " "argument? Surely Python raises an exception when a function that requires an " "argument is called without any --- even if the argument isn't actually " "used..." msgstr "" "O que ocorre precisamente quando um método é invocado? Você deve ter notado " -"que ``x.f()`` foi chamado sem nenhum argumento, porém a definição da função :" -"meth:`f` especificava um argumento. O que aconteceu com esse argumento? " -"Certamente Python levanta uma exceção quando uma função que declara um " -"argumento é invocada sem nenhum argumento --- mesmo que o argumento não seja " -"usado no corpo da função..." +"que ``x.f()`` foi chamado sem nenhum argumento, porém a definição da " +"função :meth:`!f` especificava um argumento. O que aconteceu com esse " +"argumento? Certamente Python levanta uma exceção quando uma função que " +"declara um argumento é invocada sem nenhum argumento --- mesmo que o " +"argumento não seja usado no corpo da função..." #: ../../tutorial/classes.rst:382 msgid "" @@ -714,39 +711,36 @@ msgid "" msgstr "" "Na verdade, pode-se supor a resposta: a particularidade sobre os métodos é " "que o objeto da instância é passado como o primeiro argumento da função. Em " -"nosso exemplo, a chamada ``x.f()`` é exatamente equivalente a ``MyClass." -"f(x)``. Em geral, chamar um método com uma lista de *n* argumentos é " -"equivalente a chamar a função correspondente com uma lista de argumentos que " -"é criada inserindo o objeto de instância do método antes do primeiro " -"argumento." +"nosso exemplo, a chamada ``x.f()`` é exatamente equivalente a " +"``MinhaClasse.f(x)``. Em geral, chamar um método com uma lista de *n* " +"argumentos é equivalente a chamar a função correspondente com uma lista de " +"argumentos que é criada inserindo o objeto de instância do método antes do " +"primeiro argumento." #: ../../tutorial/classes.rst:389 msgid "" -"If you still don't understand how methods work, a look at the implementation " -"can perhaps clarify matters. When a non-data attribute of an instance is " -"referenced, the instance's class is searched. If the name denotes a valid " -"class attribute that is a function object, a method object is created by " -"packing (pointers to) the instance object and the function object just found " -"together in an abstract object: this is the method object. When the method " -"object is called with an argument list, a new argument list is constructed " -"from the instance object and the argument list, and the function object is " -"called with this new argument list." -msgstr "" -"Se você ainda não entende como os métodos funcionam, dê uma olhada na " -"implementação para esclarecer as coisas. Quando um atributo de uma " +"In general, methods work as follows. When a non-data attribute of an " +"instance is referenced, the instance's class is searched. If the name " +"denotes a valid class attribute that is a function object, references to " +"both the instance object and the function object are packed into a method " +"object. When the method object is called with an argument list, a new " +"argument list is constructed from the instance object and the argument list, " +"and the function object is called with this new argument list." +msgstr "" +"Em geral, os métodos funcionam da seguinte forma. Quando um atributo de uma " "instância, não relacionado a dados, é referenciado, a classe da instância é " -"pesquisada. Se o nome é um atributo de classe válido, e é o nome de uma " -"função, um método é criado, empacotando a instância e a função, que estão " -"juntos num objeto abstrato: este é o método. Quando o método é invocado com " -"uma lista de argumentos, uma nova lista de argumentos é criada inserindo a " -"instância na posição 0 da lista. Finalmente, o objeto função — empacotado " -"dentro do objeto método — é invocado com a nova lista de argumentos." - -#: ../../tutorial/classes.rst:403 +"pesquisada. Se o nome é um atributo de classe válido que é um objeto função, " +"referências ao objeto de instância e ao objeto função serão empacotadas em " +"um objeto método. Quando o objeto método é chamado com uma lista de " +"argumentos, uma nova lista de argumentos é construída a partir do objeto de " +"instância e da lista de argumentos, e o objeto função é chamado com essa " +"nova lista de argumentos." + +#: ../../tutorial/classes.rst:402 msgid "Class and Instance Variables" msgstr "Variáveis de classe e instância" -#: ../../tutorial/classes.rst:405 +#: ../../tutorial/classes.rst:404 msgid "" "Generally speaking, instance variables are for data unique to each instance " "and class variables are for attributes and methods shared by all instances " @@ -757,7 +751,7 @@ msgstr "" "de atributos e de métodos que são comuns a todas as instâncias de uma " "classe::" -#: ../../tutorial/classes.rst:427 +#: ../../tutorial/classes.rst:426 msgid "" "As discussed in :ref:`tut-object`, shared data can have possibly surprising " "effects with involving :term:`mutable` objects such as lists and " @@ -766,22 +760,22 @@ msgid "" "by all *Dog* instances::" msgstr "" "Como vimos em :ref:`tut-object`, dados compartilhados podem causar efeitos " -"inesperados quando envolvem objetos (:term:`mutáveis `), como " +"inesperados quando envolvem objetos (:term:`mutáveis `), como " "listas ou dicionários. Por exemplo, a lista *tricks* do código abaixo não " "deve ser usada como variável de classe, pois assim seria compartilhada por " -"todas as instâncias de *Dog*::" +"todas as instâncias de *Cachorro*::" -#: ../../tutorial/classes.rst:450 +#: ../../tutorial/classes.rst:449 msgid "Correct design of the class should use an instance variable instead::" msgstr "" "Em vez disso, o modelo correto da classe deve usar uma variável de " "instância::" -#: ../../tutorial/classes.rst:474 +#: ../../tutorial/classes.rst:473 msgid "Random Remarks" msgstr "Observações aleatórias" -#: ../../tutorial/classes.rst:478 +#: ../../tutorial/classes.rst:477 msgid "" "If the same attribute name occurs in both an instance and in a class, then " "attribute lookup prioritizes the instance::" @@ -789,7 +783,7 @@ msgstr "" "Se um mesmo nome de atributo ocorre tanto na instância quanto na classe, a " "busca pelo atributo prioriza a instância::" -#: ../../tutorial/classes.rst:493 +#: ../../tutorial/classes.rst:492 msgid "" "Data attributes may be referenced by methods as well as by ordinary users " "(\"clients\") of an object. In other words, classes are not usable to " @@ -808,7 +802,7 @@ msgstr "" "completamente detalhes de um objeto e controlar o acesso ao objeto, se " "necessário; isto pode ser utilizado por extensões de Python escritas em C.)" -#: ../../tutorial/classes.rst:501 +#: ../../tutorial/classes.rst:500 msgid "" "Clients should use data attributes with care --- clients may mess up " "invariants maintained by the methods by stamping on their data attributes. " @@ -823,7 +817,7 @@ msgstr "" "conflito de nomes. Novamente, uma convenção de nomenclatura poupa muita dor " "de cabeça." -#: ../../tutorial/classes.rst:507 +#: ../../tutorial/classes.rst:506 msgid "" "There is no shorthand for referencing data attributes (or other methods!) " "from within methods. I find that this actually increases the readability of " @@ -835,7 +829,7 @@ msgstr "" "confundir variáveis locais com variáveis da instância quando lemos " "rapidamente um método." -#: ../../tutorial/classes.rst:512 +#: ../../tutorial/classes.rst:511 msgid "" "Often, the first argument of a method is called ``self``. This is nothing " "more than a convention: the name ``self`` has absolutely no special meaning " @@ -851,7 +845,7 @@ msgstr "" "comunidade de desenvolvedores Python e é possível que alguma *IDE* dependa " "dessa convenção para analisar seu código." -#: ../../tutorial/classes.rst:518 +#: ../../tutorial/classes.rst:517 msgid "" "Any function object that is a class attribute defines a method for instances " "of that class. It is not necessary that the function definition is " @@ -863,19 +857,19 @@ msgstr "" "esteja textualmente embutida na definição da classe. Atribuir um objeto " "função a uma variável local da classe é válido. Por exemplo::" -#: ../../tutorial/classes.rst:535 +#: ../../tutorial/classes.rst:534 msgid "" -"Now ``f``, ``g`` and ``h`` are all attributes of class :class:`C` that refer " -"to function objects, and consequently they are all methods of instances of :" -"class:`C` --- ``h`` being exactly equivalent to ``g``. Note that this " -"practice usually only serves to confuse the reader of a program." +"Now ``f``, ``g`` and ``h`` are all attributes of class :class:`!C` that " +"refer to function objects, and consequently they are all methods of " +"instances of :class:`!C` --- ``h`` being exactly equivalent to ``g``. Note " +"that this practice usually only serves to confuse the reader of a program." msgstr "" -"Agora ``f``, ``g`` e ``h`` são todos atributos da classe :class:`C` que " +"Agora ``f``, ``g`` e ``h`` são todos atributos da classe :class:`!C` que " "referenciam funções, e consequentemente são todos métodos de instâncias da " -"classe :class:`C`, onde ``h`` é exatamente equivalente a ``g``. No entanto, " +"classe :class:`!C`, onde ``h`` é exatamente equivalente a ``g``. No entanto, " "essa prática serve apenas para confundir o leitor do programa." -#: ../../tutorial/classes.rst:540 +#: ../../tutorial/classes.rst:539 msgid "" "Methods may call other methods by using method attributes of the ``self`` " "argument::" @@ -883,7 +877,7 @@ msgstr "" "Métodos podem invocar outros métodos usando atributos de método do argumento " "``self``::" -#: ../../tutorial/classes.rst:554 +#: ../../tutorial/classes.rst:553 msgid "" "Methods may reference global names in the same way as ordinary functions. " "The global scope associated with a method is the module containing its " @@ -906,7 +900,7 @@ msgstr "" "veremos razões pelas quais um método pode querer referenciar sua própria " "classe." -#: ../../tutorial/classes.rst:564 +#: ../../tutorial/classes.rst:563 msgid "" "Each value is an object, and therefore has a *class* (also called its " "*type*). It is stored as ``object.__class__``." @@ -914,11 +908,11 @@ msgstr "" "Cada valor é um objeto e, portanto, tem uma *classe* (também chamada de " "*tipo*). Ela é armazenada como ``object.__class__``." -#: ../../tutorial/classes.rst:571 +#: ../../tutorial/classes.rst:570 msgid "Inheritance" msgstr "Herança" -#: ../../tutorial/classes.rst:573 +#: ../../tutorial/classes.rst:572 msgid "" "Of course, a language feature would not be worthy of the name \"class\" " "without supporting inheritance. The syntax for a derived class definition " @@ -928,19 +922,19 @@ msgstr "" "\"classe\" se não suportasse herança. A sintaxe para uma classe derivada é " "assim::" -#: ../../tutorial/classes.rst:584 +#: ../../tutorial/classes.rst:583 msgid "" -"The name :class:`BaseClassName` must be defined in a scope containing the " +"The name :class:`!BaseClassName` must be defined in a scope containing the " "derived class definition. In place of a base class name, other arbitrary " "expressions are also allowed. This can be useful, for example, when the " "base class is defined in another module::" msgstr "" -"O identificador :class:`BaseClassName` deve estar definido no escopo que " -"contém a definição da classe derivada. No lugar do nome da classe base, " -"também são aceitas outras expressões. Isso é muito útil, por exemplo, quando " -"a classe base é definida em outro módulo::" +"O identificador :class:`!BaseClassName` deve estar definido em um espaço de " +"nomes acessível do escopo que contém a definição da classe derivada. No " +"lugar do nome da classe base, também são aceitas outras expressões. Isso é " +"muito útil, por exemplo, quando a classe base é definida em outro módulo:" -#: ../../tutorial/classes.rst:591 +#: ../../tutorial/classes.rst:590 msgid "" "Execution of a derived class definition proceeds the same as for a base " "class. When the class object is constructed, the base class is remembered. " @@ -956,7 +950,7 @@ msgstr "" "base. Essa regra é aplicada recursivamente se a classe base por sua vez for " "derivada de outra." -#: ../../tutorial/classes.rst:597 +#: ../../tutorial/classes.rst:596 msgid "" "There's nothing special about instantiation of derived classes: " "``DerivedClassName()`` creates a new instance of the class. Method " @@ -965,12 +959,12 @@ msgid "" "method reference is valid if this yields a function object." msgstr "" "Não há nada de especial sobre instanciação de classes derivadas: " -"``DerivedClassName()`` cria uma nova instância da classe. Referências a " +"``NomeClasseDerivada()`` cria uma nova instância da classe. Referências a " "métodos são resolvidas da seguinte forma: o atributo correspondente é " "procurado através da cadeia de classes base, e referências a métodos são " "válidas se essa procura produzir um objeto função." -#: ../../tutorial/classes.rst:603 +#: ../../tutorial/classes.rst:602 msgid "" "Derived classes may override methods of their base classes. Because methods " "have no special privileges when calling other methods of the same object, a " @@ -985,14 +979,14 @@ msgstr "" "por uma classe derivada. (Para programadores C++ isso significa que todos os " "métodos em Python são realmente ``virtuais``.)" -#: ../../tutorial/classes.rst:609 +#: ../../tutorial/classes.rst:608 msgid "" "An overriding method in a derived class may in fact want to extend rather " "than simply replace the base class method of the same name. There is a " -"simple way to call the base class method directly: just call ``BaseClassName." -"methodname(self, arguments)``. This is occasionally useful to clients as " -"well. (Note that this only works if the base class is accessible as " -"``BaseClassName`` in the global scope.)" +"simple way to call the base class method directly: just call " +"``BaseClassName.methodname(self, arguments)``. This is occasionally useful " +"to clients as well. (Note that this only works if the base class is " +"accessible as ``BaseClassName`` in the global scope.)" msgstr "" "Um método sobrescrito em uma classe derivada, de fato, pode querer estender, " "em vez de simplesmente substituir, o método da classe base, de mesmo nome. " @@ -1001,11 +995,11 @@ msgstr "" "geralmente útil para os clientes também. (Note que isto só funciona se a " "classe base estiver acessível como ``BaseClassName`` no escopo global)." -#: ../../tutorial/classes.rst:616 +#: ../../tutorial/classes.rst:615 msgid "Python has two built-in functions that work with inheritance:" msgstr "Python tem duas funções embutidas que trabalham com herança:" -#: ../../tutorial/classes.rst:618 +#: ../../tutorial/classes.rst:617 msgid "" "Use :func:`isinstance` to check an instance's type: ``isinstance(obj, int)`` " "will be ``True`` only if ``obj.__class__`` is :class:`int` or some class " @@ -1015,7 +1009,7 @@ msgstr "" "``isinstance(obj, int)`` será ``True`` somente se ``obj.__class__`` é a " "classe :class:`int` ou alguma classe derivada de :class:`int`." -#: ../../tutorial/classes.rst:622 +#: ../../tutorial/classes.rst:621 msgid "" "Use :func:`issubclass` to check class inheritance: ``issubclass(bool, int)`` " "is ``True`` since :class:`bool` is a subclass of :class:`int`. However, " @@ -1024,14 +1018,14 @@ msgid "" msgstr "" "Use :func:`issubclass` para verificar herança entre classes: " "``issubclass(bool, int)`` é ``True`` porque :class:`bool` é uma subclasse " -"de :class:`int`. Porém, ``issubclass(float, int)`` é ``False`` porque :class:" -"`float` não é uma subclasse de :class:`int`." +"de :class:`int`. Porém, ``issubclass(float, int)`` é ``False`` " +"porque :class:`float` não é uma subclasse de :class:`int`." -#: ../../tutorial/classes.rst:632 +#: ../../tutorial/classes.rst:631 msgid "Multiple Inheritance" msgstr "Herança múltipla" -#: ../../tutorial/classes.rst:634 +#: ../../tutorial/classes.rst:633 msgid "" "Python supports a form of multiple inheritance as well. A class definition " "with multiple base classes looks like this::" @@ -1039,25 +1033,25 @@ msgstr "" "Python também suporta uma forma de herança múltipla. Uma definição de classe " "com várias classes bases tem esta forma::" -#: ../../tutorial/classes.rst:644 +#: ../../tutorial/classes.rst:643 msgid "" "For most purposes, in the simplest cases, you can think of the search for " "attributes inherited from a parent class as depth-first, left-to-right, not " "searching twice in the same class where there is an overlap in the " -"hierarchy. Thus, if an attribute is not found in :class:`DerivedClassName`, " -"it is searched for in :class:`Base1`, then (recursively) in the base classes " -"of :class:`Base1`, and if it was not found there, it was searched for in :" -"class:`Base2`, and so on." +"hierarchy. Thus, if an attribute is not found in :class:`!DerivedClassName`, " +"it is searched for in :class:`!Base1`, then (recursively) in the base " +"classes of :class:`!Base1`, and if it was not found there, it was searched " +"for in :class:`!Base2`, and so on." msgstr "" "Para a maioria dos casos mais simples, pense na pesquisa de atributos " "herdados de uma classe pai como o primeiro nível de profundidade, da " "esquerda para a direita, não pesquisando duas vezes na mesma classe em que " "há uma sobreposição na hierarquia. Assim, se um atributo não é encontrado " -"em :class:`DerivedClassName`, é procurado em :class:`Base1`, depois, " -"recursivamente, nas classes base de :class:`Base1`, e se não for encontrado " -"lá, é pesquisado em :class:`Base2` e assim por diante." +"em :class:`!DerivedClassName`, é procurado em :class:`!Base1`, depois, " +"recursivamente, nas classes base de :class:`!Base1`, e se não for encontrado " +"lá, é pesquisado em :class:`!Base2` e assim por diante." -#: ../../tutorial/classes.rst:651 +#: ../../tutorial/classes.rst:650 msgid "" "In fact, it is slightly more complex than that; the method resolution order " "changes dynamically to support cooperative calls to :func:`super`. This " @@ -1071,7 +1065,7 @@ msgstr "" "chamar-o-próximo-método, e é mais poderosa que a chamada à função super, " "encontrada em linguagens de herança única." -#: ../../tutorial/classes.rst:657 +#: ../../tutorial/classes.rst:656 msgid "" "Dynamic ordering is necessary because all cases of multiple inheritance " "exhibit one or more diamond relationships (where at least one of the parent " @@ -1101,11 +1095,11 @@ msgstr "" "projetar classes confiáveis e extensíveis com herança múltipla. Para mais " "detalhes, veja https://www.python.org/download/releases/2.3/mro/." -#: ../../tutorial/classes.rst:674 +#: ../../tutorial/classes.rst:673 msgid "Private Variables" msgstr "Variáveis privadas" -#: ../../tutorial/classes.rst:676 +#: ../../tutorial/classes.rst:675 msgid "" "\"Private\" instance variables that cannot be accessed except from inside an " "object don't exist in Python. However, there is a convention that is " @@ -1114,7 +1108,7 @@ msgid "" "a function, a method or a data member). It should be considered an " "implementation detail and subject to change without notice." msgstr "" -"Variáveis de instância \"privadas\", que não podem ser acessadas, ​​exceto em " +"Variáveis de instância \"privadas\", que não podem ser acessadas, exceto em " "métodos do próprio objeto, não existem em Python. No entanto, existe uma " "convenção que é seguida pela maioria dos programas em Python: um nome " "prefixado com um sublinhado (por exemplo: ``_spam`` ) deve ser tratado como " @@ -1122,7 +1116,7 @@ msgstr "" "dados). Tais nomes devem ser considerados um detalhe de implementação e " "sujeito a alteração sem aviso prévio." -#: ../../tutorial/classes.rst:686 +#: ../../tutorial/classes.rst:685 msgid "" "Since there is a valid use-case for class-private members (namely to avoid " "name clashes of names with names defined by subclasses), there is limited " @@ -1144,7 +1138,7 @@ msgstr "" "sintática do identificador, desde que ele apareça dentro da definição de uma " "classe." -#: ../../tutorial/classes.rst:695 +#: ../../tutorial/classes.rst:694 msgid "" "Name mangling is helpful for letting subclasses override methods without " "breaking intraclass method calls. For example::" @@ -1153,19 +1147,20 @@ msgstr "" "métodos sem quebrar invocações de métodos dentro de outra classe. Por " "exemplo::" -#: ../../tutorial/classes.rst:717 +#: ../../tutorial/classes.rst:716 msgid "" "The above example would work even if ``MappingSubclass`` were to introduce a " "``__update`` identifier since it is replaced with ``_Mapping__update`` in " "the ``Mapping`` class and ``_MappingSubclass__update`` in the " "``MappingSubclass`` class respectively." msgstr "" -"O exemplo acima deve funcionar mesmo se ``MappingSubclass`` introduzisse um " -"identificador ``__update`` uma vez que é substituído por " -"``_Mapping__update`` na classe ``Mapping`` e ``_MappingSubclass__update`` na " -"classe ``MappingSubclass``, respectivamente." +"O exemplo acima deve funcionar mesmo se ``SubclasseMapeamento`` introduzisse " +"um identificador ``__atualizar`` uma vez que é substituído por " +"``_Mapeamento__atualizar`` na classe ``Mapeamento`` e " +"``_SubclasseMapeamento__atualizar`` na classe ``SubclasseMapeamento``, " +"respectivamente." -#: ../../tutorial/classes.rst:722 +#: ../../tutorial/classes.rst:721 msgid "" "Note that the mangling rules are designed mostly to avoid accidents; it " "still is possible to access or modify a variable that is considered " @@ -1177,7 +1172,7 @@ msgstr "" "considerada privada. Isso pode ser útil em certas circunstâncias especiais, " "como depuração de código." -#: ../../tutorial/classes.rst:726 +#: ../../tutorial/classes.rst:725 msgid "" "Notice that code passed to ``exec()`` or ``eval()`` does not consider the " "classname of the invoking class to be the current class; this is similar to " @@ -1193,11 +1188,11 @@ msgstr "" "``setattr()`` e ``delattr()``, e quando acessamos diretamente o ``__dict__`` " "da classe." -#: ../../tutorial/classes.rst:737 +#: ../../tutorial/classes.rst:736 msgid "Odds and Ends" msgstr "Curiosidades e conclusões" -#: ../../tutorial/classes.rst:739 +#: ../../tutorial/classes.rst:738 msgid "" "Sometimes it is useful to have a data type similar to the Pascal \"record\" " "or C \"struct\", bundling together a few named data items. The idiomatic " @@ -1207,37 +1202,39 @@ msgstr "" "\"struct\" de C, para agrupar alguns itens de dados. A maneira pythônica " "para este fim é usar :mod:`dataclasses`::" -#: ../../tutorial/classes.rst:759 +#: ../../tutorial/classes.rst:758 msgid "" "A piece of Python code that expects a particular abstract data type can " "often be passed a class that emulates the methods of that data type " "instead. For instance, if you have a function that formats some data from a " -"file object, you can define a class with methods :meth:`read` and :meth:`!" -"readline` that get the data from a string buffer instead, and pass it as an " -"argument." +"file object, you can define a class with methods :meth:`~io.TextIOBase.read` " +"and :meth:`~io.TextIOBase.readline` that get the data from a string buffer " +"instead, and pass it as an argument." msgstr "" "Um trecho de código Python que espera um tipo de dado abstrato em " "particular, pode receber, ao invés disso, uma classe que imita os métodos " "que aquele tipo suporta. Por exemplo, se você tem uma função que formata " "dados obtidos de um objeto do tipo \"arquivo\", pode definir uma classe com " -"métodos :meth:`read` e :meth:`!readline` que obtém os dados de um \"buffer " -"de caracteres\" e passar como argumento." +"métodos :meth:`~io.TextIOBase.read` e :meth:`~io.TextIOBase.readline` que " +"obtém os dados de um \"buffer de caracteres\" e passar como argumento." #: ../../tutorial/classes.rst:770 msgid "" -"Instance method objects have attributes, too: ``m.__self__`` is the instance " -"object with the method :meth:`m`, and ``m.__func__`` is the function object " -"corresponding to the method." +":ref:`Instance method objects ` have attributes, " +"too: :attr:`m.__self__ ` is the instance object with the " +"method :meth:`!m`, and :attr:`m.__func__ ` is " +"the :ref:`function object ` corresponding to the method." msgstr "" -"Métodos de instância tem atributos também: ``m.__self__`` é o objeto " -"instância com o método :meth:`m`, e ``m.__func__`` é o objeto função " -"correspondente ao método." +":ref:`Métodos de instância ` têm atributos " +"também: :attr:`m.__self__ ` é o objeto instância com o " +"método :meth:`!m`, e :attr:`m.__func__ ` é o :ref:`objeto " +"função ` correspondente ao método." -#: ../../tutorial/classes.rst:778 +#: ../../tutorial/classes.rst:780 msgid "Iterators" msgstr "Iteradores" -#: ../../tutorial/classes.rst:780 +#: ../../tutorial/classes.rst:782 msgid "" "By now you have probably noticed that most container objects can be looped " "over using a :keyword:`for` statement::" @@ -1245,86 +1242,87 @@ msgstr "" "Você já deve ter notado que pode usar laços :keyword:`for` com a maioria das " "coleções em Python::" -#: ../../tutorial/classes.rst:794 +#: ../../tutorial/classes.rst:796 msgid "" "This style of access is clear, concise, and convenient. The use of " -"iterators pervades and unifies Python. Behind the scenes, the :keyword:" -"`for` statement calls :func:`iter` on the container object. The function " -"returns an iterator object that defines the method :meth:`~iterator." -"__next__` which accesses elements in the container one at a time. When " -"there are no more elements, :meth:`~iterator.__next__` raises a :exc:" -"`StopIteration` exception which tells the :keyword:`!for` loop to " -"terminate. You can call the :meth:`~iterator.__next__` method using the :" -"func:`next` built-in function; this example shows how it all works::" +"iterators pervades and unifies Python. Behind the scenes, " +"the :keyword:`for` statement calls :func:`iter` on the container object. " +"The function returns an iterator object that defines the " +"method :meth:`~iterator.__next__` which accesses elements in the container " +"one at a time. When there are no more elements, :meth:`~iterator.__next__` " +"raises a :exc:`StopIteration` exception which tells the :keyword:`!for` loop " +"to terminate. You can call the :meth:`~iterator.__next__` method using " +"the :func:`next` built-in function; this example shows how it all works::" msgstr "" "Esse estilo de acesso é claro, conciso e conveniente. O uso de iteradores " "permeia e unifica o Python. Nos bastidores, a instrução :keyword:`for` " "chama :func:`iter` no objeto contêiner. A função retorna um objeto iterador " "que define o método :meth:`~iterator.__next__` que acessa elementos no " -"contêiner, um de cada vez. Quando não há mais elementos, :meth:`~iterator." -"__next__` levanta uma exceção :exc:`StopIteration` que informa ao :keyword:`!" -"for` para terminar. Você pode chamar o método :meth:`~iterator.__next__` " -"usando a função embutida :func:`next`; este exemplo mostra como tudo " -"funciona::" +"contêiner, um de cada vez. Quando não há mais " +"elementos, :meth:`~iterator.__next__` levanta uma " +"exceção :exc:`StopIteration` que informa ao :keyword:`!for` para terminar. " +"Você pode chamar o método :meth:`~iterator.__next__` usando a função " +"embutida :func:`next`; este exemplo mostra como tudo funciona::" -#: ../../tutorial/classes.rst:819 +#: ../../tutorial/classes.rst:821 msgid "" "Having seen the mechanics behind the iterator protocol, it is easy to add " -"iterator behavior to your classes. Define an :meth:`__iter__` method which " -"returns an object with a :meth:`~iterator.__next__` method. If the class " -"defines :meth:`__next__`, then :meth:`__iter__` can just return ``self``::" +"iterator behavior to your classes. Define an :meth:`~container.__iter__` " +"method which returns an object with a :meth:`~iterator.__next__` method. If " +"the class defines :meth:`!__next__`, then :meth:`!__iter__` can just return " +"``self``::" msgstr "" "Observando o mecanismo por trás do protocolo dos iteradores, fica fácil " -"adicionar esse comportamento às suas classes. Defina um método :meth:" -"`__iter__` que retorna um objeto que tenha um método :meth:`~iterator." -"__next__`. Se uma classe já define :meth:`__next__`, então :meth:`__iter__` " -"pode simplesmente retornar ``self``::" +"adicionar esse comportamento às suas classes. Defina um " +"método :meth:`~container.__iter__` que retorna um objeto que tenha um " +"método :meth:`~iterator.__next__`. Se uma classe já define :meth:`!" +"__next__`, então :meth:`!__iter__` pode simplesmente retornar ``self``::" -#: ../../tutorial/classes.rst:856 +#: ../../tutorial/classes.rst:858 msgid "Generators" msgstr "Geradores" -#: ../../tutorial/classes.rst:858 +#: ../../tutorial/classes.rst:860 msgid "" ":term:`Generators ` are a simple and powerful tool for creating " -"iterators. They are written like regular functions but use the :keyword:" -"`yield` statement whenever they want to return data. Each time :func:`next` " -"is called on it, the generator resumes where it left off (it remembers all " -"the data values and which statement was last executed). An example shows " -"that generators can be trivially easy to create::" +"iterators. They are written like regular functions but use " +"the :keyword:`yield` statement whenever they want to return data. Each " +"time :func:`next` is called on it, the generator resumes where it left off " +"(it remembers all the data values and which statement was last executed). " +"An example shows that generators can be trivially easy to create::" msgstr "" ":term:`Geradores ` são uma ferramenta simples e poderosa para " -"criar iteradores. São escritos como funções normais mas usam a instrução :" -"keyword:`yield` quando precisam retornar dados. Cada vez que :func:`next` é " -"chamado, o gerador volta ao ponto onde parou (lembrando todos os valores de " -"dados e qual instrução foi executada pela última vez). Um exemplo mostra " -"como geradores podem ser trivialmente fáceis de criar::" +"criar iteradores. São escritos como funções normais mas usam a " +"instrução :keyword:`yield` quando precisam retornar dados. Cada vez " +"que :func:`next` é chamado, o gerador volta ao ponto onde parou (lembrando " +"todos os valores de dados e qual instrução foi executada pela última vez). " +"Um exemplo mostra como geradores podem ser trivialmente fáceis de criar::" -#: ../../tutorial/classes.rst:879 +#: ../../tutorial/classes.rst:881 msgid "" "Anything that can be done with generators can also be done with class-based " "iterators as described in the previous section. What makes generators so " -"compact is that the :meth:`__iter__` and :meth:`~generator.__next__` methods " -"are created automatically." +"compact is that the :meth:`~iterator.__iter__` " +"and :meth:`~generator.__next__` methods are created automatically." msgstr "" "Qualquer coisa que possa ser feita com geradores também pode ser feita com " "iteradores baseados numa classe, como descrito na seção anterior. O que " -"torna geradores tão compactos é que os métodos :meth:`__iter__` e :meth:" -"`~generator.__next__` são criados automaticamente." +"torna geradores tão compactos é que os métodos :meth:`~iterator.__iter__` " +"e :meth:`~generator.__next__` são criados automaticamente." -#: ../../tutorial/classes.rst:884 +#: ../../tutorial/classes.rst:886 msgid "" "Another key feature is that the local variables and execution state are " "automatically saved between calls. This made the function easier to write " -"and much more clear than an approach using instance variables like ``self." -"index`` and ``self.data``." +"and much more clear than an approach using instance variables like " +"``self.index`` and ``self.data``." msgstr "" "Outro ponto chave é que as variáveis locais e o estado da execução são " "preservados automaticamente entre as chamadas. Isto torna a função mais " "fácil de escrever e muito mais clara do que uma implementação usando " "variáveis de instância como ``self.index`` e ``self.data``." -#: ../../tutorial/classes.rst:889 +#: ../../tutorial/classes.rst:891 msgid "" "In addition to automatic method creation and saving program state, when " "generators terminate, they automatically raise :exc:`StopIteration`. In " @@ -1335,11 +1333,11 @@ msgstr "" "automaticamente. Combinados, todos estes aspectos tornam a criação de " "iteradores tão fácil quanto escrever uma função normal." -#: ../../tutorial/classes.rst:898 +#: ../../tutorial/classes.rst:900 msgid "Generator Expressions" msgstr "Expressões geradoras" -#: ../../tutorial/classes.rst:900 +#: ../../tutorial/classes.rst:902 msgid "" "Some simple generators can be coded succinctly as expressions using a syntax " "similar to list comprehensions but with parentheses instead of square " @@ -1356,15 +1354,15 @@ msgstr "" "definições completas do gerador, e tendem a usar menos memória do que as " "compreensões de lista equivalentes." -#: ../../tutorial/classes.rst:907 +#: ../../tutorial/classes.rst:909 msgid "Examples::" msgstr "Exemplos::" -#: ../../tutorial/classes.rst:928 +#: ../../tutorial/classes.rst:930 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../tutorial/classes.rst:929 +#: ../../tutorial/classes.rst:931 msgid "" "Except for one thing. Module objects have a secret read-only attribute " "called :attr:`~object.__dict__` which returns the dictionary used to " @@ -1375,10 +1373,10 @@ msgid "" msgstr "" "Exceto por uma coisa. Os objetos módulo têm um atributo secreto e somente " "para leitura chamado :attr:`~object.__dict__` que retorna o dicionário usado " -"para implementar o espaço de nomes do módulo; o nome :attr:`~object." -"__dict__` é um atributo, mas não um nome global. Obviamente, usar isso viola " -"a abstração da implementação do espaço de nomes, e deve ser restrito a " -"coisas como depuradores post-mortem." +"para implementar o espaço de nomes do módulo; o " +"nome :attr:`~object.__dict__` é um atributo, mas não um nome global. " +"Obviamente, usar isso viola a abstração da implementação do espaço de nomes, " +"e deve ser restrito a coisas como depuradores post-mortem." #: ../../tutorial/classes.rst:347 msgid "object" @@ -1388,10 +1386,10 @@ msgstr "objeto" msgid "method" msgstr "método" -#: ../../tutorial/classes.rst:683 +#: ../../tutorial/classes.rst:682 msgid "name" msgstr "nome" -#: ../../tutorial/classes.rst:683 +#: ../../tutorial/classes.rst:682 msgid "mangling" -msgstr "" +msgstr "desfiguração" diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index ec6de057f..b3b940111 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# Alexandre B A Villares, 2021 -# Adorilson Bezerra , 2022 -# Vinicius Gubiani Ferreira , 2023 -# Rafael Fontenelle , 2023 -# Claudio Rogerio Carvalho Filho , 2023 -# Octavio von Sydow , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Octavio von Sydow , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,37 +29,36 @@ msgstr "Mais ferramentas de controle de fluxo" #: ../../tutorial/controlflow.rst:7 msgid "" -"Besides the :keyword:`while` statement just introduced, Python uses the " -"usual flow control statements known from other languages, with some twists." +"As well as the :keyword:`while` statement just introduced, Python uses a few " +"more that we will encounter in this chapter." msgstr "" -"Além do comando :keyword:`while` recém apresentado, Python tem as estruturas " -"usuais de controle de fluxo conhecidas em outras linguagens, com algumas " -"particulares." +"Assim como a instrução :keyword:`while` que acabou de ser apresentada, o " +"Python usa mais algumas que encontraremos neste capítulo." #: ../../tutorial/controlflow.rst:14 msgid ":keyword:`!if` Statements" -msgstr "Comandos :keyword:`!if`" +msgstr "Instruções :keyword:`!if`" #: ../../tutorial/controlflow.rst:16 msgid "" "Perhaps the most well-known statement type is the :keyword:`if` statement. " "For example::" msgstr "" -"Provavelmente o mais conhecido comando de controle de fluxo é o :keyword:" -"`if`. Por exemplo::" +"Provavelmente a mais conhecida instrução de controle de fluxo é " +"o :keyword:`if`. Por exemplo::" #: ../../tutorial/controlflow.rst:33 msgid "" "There can be zero or more :keyword:`elif` parts, and the :keyword:`else` " "part is optional. The keyword ':keyword:`!elif`' is short for 'else if', " -"and is useful to avoid excessive indentation. An :keyword:`!if` ... :" -"keyword:`!elif` ... :keyword:`!elif` ... sequence is a substitute for the " -"``switch`` or ``case`` statements found in other languages." +"and is useful to avoid excessive indentation. An :keyword:`!" +"if` ... :keyword:`!elif` ... :keyword:`!elif` ... sequence is a substitute " +"for the ``switch`` or ``case`` statements found in other languages." msgstr "" "Pode haver zero ou mais partes :keyword:`elif`, e a parte :keyword:`else` é " "opcional. A palavra-chave ':keyword:`!elif`' é uma abreviação para 'else " "if', e é útil para evitar indentação excessiva. Uma sequência :keyword:`!" -"if` ... :keyword:`!elif` ... :keyword:`!elif` ... substitui os comandos " +"if` ... :keyword:`!elif` ... :keyword:`!elif` ... substitui as instruções " "``switch`` ou ``case``, encontrados em outras linguagens." #: ../../tutorial/controlflow.rst:39 @@ -75,27 +68,27 @@ msgid "" "statement useful. For more details see :ref:`tut-match`." msgstr "" "Se você está comparando o mesmo valor com várias constantes, ou verificando " -"por tipos ou atributos específicos, você também pode achar a instrução :" -"keyword:`!match` útil. Para mais detalhes veja :ref:`tut-match`." +"por tipos ou atributos específicos, você também pode achar a " +"instrução :keyword:`!match` útil. Para mais detalhes veja :ref:`tut-match`." #: ../../tutorial/controlflow.rst:46 msgid ":keyword:`!for` Statements" -msgstr "Comandos :keyword:`!for`" +msgstr "Instruções :keyword:`!for`" #: ../../tutorial/controlflow.rst:51 msgid "" "The :keyword:`for` statement in Python differs a bit from what you may be " "used to in C or Pascal. Rather than always iterating over an arithmetic " "progression of numbers (like in Pascal), or giving the user the ability to " -"define both the iteration step and halting condition (as C), Python's :" -"keyword:`!for` statement iterates over the items of any sequence (a list or " -"a string), in the order that they appear in the sequence. For example (no " -"pun intended):" +"define both the iteration step and halting condition (as C), " +"Python's :keyword:`!for` statement iterates over the items of any sequence " +"(a list or a string), in the order that they appear in the sequence. For " +"example (no pun intended):" msgstr "" -"O comando :keyword:`for` em Python é um pouco diferente do que costuma ser " +"A instrução :keyword:`for` em Python é um pouco diferente do que costuma ser " "em C ou Pascal. Ao invés de sempre iterar sobre uma progressão aritmética de " "números (como no Pascal), ou permitir ao usuário definir o passo de iteração " -"e a condição de parada (como C), o comando :keyword:`!for` do Python itera " +"e a condição de parada (como C), a instrução :keyword:`!for` do Python itera " "sobre os itens de qualquer sequência (seja uma lista ou uma string), na " "ordem que aparecem na sequência. Por exemplo:" @@ -115,11 +108,12 @@ msgstr "A função :func:`range`" #: ../../tutorial/controlflow.rst:96 msgid "" -"If you do need to iterate over a sequence of numbers, the built-in function :" -"func:`range` comes in handy. It generates arithmetic progressions::" +"If you do need to iterate over a sequence of numbers, the built-in " +"function :func:`range` comes in handy. It generates arithmetic " +"progressions::" msgstr "" -"Se você precisa iterar sobre sequências numéricas, a função embutida :func:" -"`range` é a resposta. Ela gera progressões aritméticas::" +"Se você precisa iterar sobre sequências numéricas, a função " +"embutida :func:`range` é a resposta. Ela gera progressões aritméticas::" #: ../../tutorial/controlflow.rst:108 msgid "" @@ -138,16 +132,16 @@ msgid "" "To iterate over the indices of a sequence, you can combine :func:`range` " "and :func:`len` as follows::" msgstr "" -"Para iterar sobre os índices de uma sequência, combine :func:`range` e :func:" -"`len` da seguinte forma::" +"Para iterar sobre os índices de uma sequência, combine :func:`range` " +"e :func:`len` da seguinte forma::" #: ../../tutorial/controlflow.rst:135 msgid "" "In most such cases, however, it is convenient to use the :func:`enumerate` " "function, see :ref:`tut-loopidioms`." msgstr "" -"Na maioria dos casos, porém, é mais conveniente usar a função :func:" -"`enumerate`, veja :ref:`tut-loopidioms`." +"Na maioria dos casos, porém, é mais conveniente usar a " +"função :func:`enumerate`, veja :ref:`tut-loopidioms`." #: ../../tutorial/controlflow.rst:138 msgid "A strange thing happens if you just print a range::" @@ -169,15 +163,15 @@ msgstr "" msgid "" "We say such an object is :term:`iterable`, that is, suitable as a target for " "functions and constructs that expect something from which they can obtain " -"successive items until the supply is exhausted. We have seen that the :" -"keyword:`for` statement is such a construct, while an example of a function " -"that takes an iterable is :func:`sum`::" +"successive items until the supply is exhausted. We have seen that " +"the :keyword:`for` statement is such a construct, while an example of a " +"function that takes an iterable is :func:`sum`::" msgstr "" -"Dizemos que um objeto é :term:`iterável`, isso é, candidato a ser " -"alvo de uma função ou construção que espera alguma coisa capaz de retornar " -"sucessivamente seus elementos um de cada vez. Nós vimos que o comando :" -"keyword:`for` é um exemplo de construção, enquanto que um exemplo de função " -"que recebe um iterável é :func:`sum`::" +"Dizemos que um objeto é :term:`iterável`, isso é, candidato a ser alvo de " +"uma função ou construção que espera alguma coisa capaz de retornar " +"sucessivamente seus elementos um de cada vez. Nós vimos que a " +"instrução :keyword:`for` é um exemplo de construção, enquanto que um exemplo " +"de função que recebe um iterável é :func:`sum`::" #: ../../tutorial/controlflow.rst:157 msgid "" @@ -199,27 +193,53 @@ msgstr "" #: ../../tutorial/controlflow.rst:166 msgid "" -"The :keyword:`break` statement, like in C, breaks out of the innermost " +"The :keyword:`break` statement breaks out of the innermost " "enclosing :keyword:`for` or :keyword:`while` loop." msgstr "" -"O comando :keyword:`break`, como no C, sai imediatamente do laço de " -"repetição mais interno, seja :keyword:`for` ou :keyword:`while`." +"A instrução :keyword:`break` sai imediatamente do laço de repetição mais " +"interno, seja :keyword:`for` ou :keyword:`while`." #: ../../tutorial/controlflow.rst:169 msgid "" -"Loop statements may have an :keyword:`!else` clause; it is executed when the " -"loop terminates through exhaustion of the iterable (with :keyword:`for`) or " -"when the condition becomes false (with :keyword:`while`), but not when the " -"loop is terminated by a :keyword:`break` statement. This is exemplified by " -"the following loop, which searches for prime numbers::" +"A :keyword:`!for` or :keyword:`!while` loop can include an :keyword:`!else` " +"clause." +msgstr "" +"Um laço :keyword:`!for` ou :keyword:`!while` pode incluir uma " +"cláusula :keyword:`!else`." + +#: ../../tutorial/controlflow.rst:171 +msgid "" +"In a :keyword:`for` loop, the :keyword:`!else` clause is executed after the " +"loop reaches its final iteration." msgstr "" -"Laços podem ter uma cláusula :keyword:`!else`, que é executada sempre que o " -"laço se encerra por exaustão do iterável (no caso do :keyword:`for`) ou " -"quando a condição se torna falsa (no caso do :keyword:`while`), mas nunca " -"quando o laço é interrompido por um :keyword:`break`. Isto é exemplificado " -"no próximo exemplo que procura números primos::" +"Em um laço :keyword:`for`, a cláusula :keyword:`!else` é executada após o " +"laço atingir sua iteração final." -#: ../../tutorial/controlflow.rst:193 +#: ../../tutorial/controlflow.rst:174 +msgid "" +"In a :keyword:`while` loop, it's executed after the loop's condition becomes " +"false." +msgstr "" +"Em um laço :keyword:`while`, ele é executado após a condição do laço se " +"tornar falsa." + +#: ../../tutorial/controlflow.rst:176 +msgid "" +"In either kind of loop, the :keyword:`!else` clause is **not** executed if " +"the loop was terminated by a :keyword:`break`." +msgstr "" +"Em qualquer tipo de laço, a cláusula :keyword:`!else` **não** é executada se " +"o laço for encerrado por um :keyword:`break`." + +#: ../../tutorial/controlflow.rst:179 +msgid "" +"This is exemplified in the following :keyword:`!for` loop, which searches " +"for prime numbers::" +msgstr "" +"Isso é exemplificado no seguinte laço :keyword:`!for`, que procura por " +"números primos::" + +#: ../../tutorial/controlflow.rst:200 msgid "" "(Yes, this is the correct code. Look closely: the ``else`` clause belongs " "to the :keyword:`for` loop, **not** the :keyword:`if` statement.)" @@ -227,23 +247,23 @@ msgstr "" "(Sim, o código está correto. Olhe atentamente: a cláusula ``else`` pertence " "ao laço :keyword:`for`, e **não** ao comando :keyword:`if`.)" -#: ../../tutorial/controlflow.rst:196 +#: ../../tutorial/controlflow.rst:203 msgid "" "When used with a loop, the ``else`` clause has more in common with the " -"``else`` clause of a :keyword:`try` statement than it does with that of :" -"keyword:`if` statements: a :keyword:`try` statement's ``else`` clause runs " -"when no exception occurs, and a loop's ``else`` clause runs when no " +"``else`` clause of a :keyword:`try` statement than it does with that " +"of :keyword:`if` statements: a :keyword:`try` statement's ``else`` clause " +"runs when no exception occurs, and a loop's ``else`` clause runs when no " "``break`` occurs. For more on the :keyword:`!try` statement and exceptions, " "see :ref:`tut-handling`." msgstr "" "Quando usado em um laço, a cláusula ``else`` tem mais em comum com a " -"cláusula ``else`` de um comando :keyword:`try` do que com a de um comando :" -"keyword:`if`: a cláusula ``else`` de um comando :keyword:`try` executa " -"quando não ocorre exceção, e o ``else`` de um laço executa quando não ocorre " -"um ``break``. Para mais informações sobre comando :keyword:`!try` e " -"exceções, veja :ref:`tut-handling`." +"cláusula ``else`` de um comando :keyword:`try` do que com a de um " +"comando :keyword:`if`: a cláusula ``else`` de um comando :keyword:`try` " +"executa quando não ocorre exceção, e o ``else`` de um laço executa quando " +"não ocorre um ``break``. Para mais informações sobre comando :keyword:`!try` " +"e exceções, veja :ref:`tut-handling`." -#: ../../tutorial/controlflow.rst:203 +#: ../../tutorial/controlflow.rst:210 msgid "" "The :keyword:`continue` statement, also borrowed from C, continues with the " "next iteration of the loop::" @@ -251,24 +271,24 @@ msgstr "" "A instrução :keyword:`continue`, também emprestada da linguagem C, continua " "com a próxima iteração do laço::" -#: ../../tutorial/controlflow.rst:224 +#: ../../tutorial/controlflow.rst:231 msgid ":keyword:`!pass` Statements" -msgstr "Comandos :keyword:`!pass`" +msgstr "Instruções :keyword:`!pass`" -#: ../../tutorial/controlflow.rst:226 +#: ../../tutorial/controlflow.rst:233 msgid "" "The :keyword:`pass` statement does nothing. It can be used when a statement " "is required syntactically but the program requires no action. For example::" msgstr "" -"O comando :keyword:`pass` não faz nada. Pode ser usada quando a sintaxe " -"exige um comando mas a semântica do programa não requer nenhuma ação. Por " -"exemplo::" +"A instrução :keyword:`pass` não faz nada. Pode ser usada quando a sintaxe " +"exige uma instrução, mas a semântica do programa não requer nenhuma ação. " +"Por exemplo::" -#: ../../tutorial/controlflow.rst:233 +#: ../../tutorial/controlflow.rst:240 msgid "This is commonly used for creating minimal classes::" msgstr "Isto é usado muitas vezes para se definir classes mínimas::" -#: ../../tutorial/controlflow.rst:239 +#: ../../tutorial/controlflow.rst:246 msgid "" "Another place :keyword:`pass` can be used is as a place-holder for a " "function or conditional body when you are working on new code, allowing you " @@ -280,11 +300,11 @@ msgstr "" "com código novo, ainda indefinido, permitindo que mantenha-se o pensamento " "num nível mais abstrato. O :keyword:`!pass` é silenciosamente ignorado::" -#: ../../tutorial/controlflow.rst:251 +#: ../../tutorial/controlflow.rst:258 msgid ":keyword:`!match` Statements" msgstr "Instruções :keyword:`!match`" -#: ../../tutorial/controlflow.rst:253 +#: ../../tutorial/controlflow.rst:260 msgid "" "A :keyword:`match` statement takes an expression and compares its value to " "successive patterns given as one or more case blocks. This is superficially " @@ -304,13 +324,13 @@ msgstr "" "extrair componentes (elementos de sequência ou atributos de objetos) do " "valor para variáveis." -#: ../../tutorial/controlflow.rst:261 +#: ../../tutorial/controlflow.rst:268 msgid "" "The simplest form compares a subject value against one or more literals::" msgstr "" "A forma mais simples compara um valor de assunto com um ou mais literais::" -#: ../../tutorial/controlflow.rst:274 +#: ../../tutorial/controlflow.rst:281 msgid "" "Note the last block: the \"variable name\" ``_`` acts as a *wildcard* and " "never fails to match. If no case matches, none of the branches is executed." @@ -319,13 +339,13 @@ msgstr "" "e nunca falha em corresponder. Se nenhum caso corresponder, nenhuma das " "ramificações será executada." -#: ../../tutorial/controlflow.rst:277 +#: ../../tutorial/controlflow.rst:284 msgid "" "You can combine several literals in a single pattern using ``|`` (\"or\")::" msgstr "" "Você pode combinar vários literais em um único padrão usando ``|`` (\"ou\")::" -#: ../../tutorial/controlflow.rst:282 +#: ../../tutorial/controlflow.rst:289 msgid "" "Patterns can look like unpacking assignments, and can be used to bind " "variables::" @@ -333,7 +353,7 @@ msgstr "" "Os padrões podem se parecer com atribuições de desempacotamento e podem ser " "usados para vincular variáveis::" -#: ../../tutorial/controlflow.rst:298 +#: ../../tutorial/controlflow.rst:305 msgid "" "Study that one carefully! The first pattern has two literals, and can be " "thought of as an extension of the literal pattern shown above. But the next " @@ -345,11 +365,11 @@ msgstr "" "Estude isso com cuidado! O primeiro padrão tem dois literais e pode ser " "considerado uma extensão do padrão literal mostrado acima. Mas os próximos " "dois padrões combinam um literal e uma variável, e a variável *vincula* um " -"valor do assunto (``point``). O quarto padrão captura dois valores, o que o " +"valor do assunto (``ponto``). O quarto padrão captura dois valores, o que o " "torna conceitualmente semelhante à atribuição de desempacotamento ``(x, y) = " -"point``." +"ponto``." -#: ../../tutorial/controlflow.rst:305 +#: ../../tutorial/controlflow.rst:312 msgid "" "If you are using classes to structure your data you can use the class name " "followed by an argument list resembling a constructor, but with the ability " @@ -359,7 +379,7 @@ msgstr "" "nome da classe seguido por uma lista de argumentos semelhante a um " "construtor, mas com a capacidade de capturar atributos em variáveis::" -#: ../../tutorial/controlflow.rst:326 +#: ../../tutorial/controlflow.rst:334 msgid "" "You can use positional parameters with some builtin classes that provide an " "ordering for their attributes (e.g. dataclasses). You can also define a " @@ -373,15 +393,15 @@ msgstr "" "também pode definir uma posição específica para atributos em padrões " "configurando o atributo especial ``__match_args__`` em suas classes. Se for " "definido como (\"x\", \"y\"), os seguintes padrões são todos equivalentes (e " -"todos vinculam o atributo ``y`` à variável ``var``)::" +"todos ligam o atributo ``y`` à variável ``var``)::" -#: ../../tutorial/controlflow.rst:337 +#: ../../tutorial/controlflow.rst:345 msgid "" "A recommended way to read patterns is to look at them as an extended form of " "what you would put on the left of an assignment, to understand which " "variables would be set to what. Only the standalone names (like ``var`` " -"above) are assigned to by a match statement. Dotted names (like ``foo." -"bar``), attribute names (the ``x=`` and ``y=`` above) or class names " +"above) are assigned to by a match statement. Dotted names (like " +"``foo.bar``), attribute names (the ``x=`` and ``y=`` above) or class names " "(recognized by the \"(...)\" next to them like ``Point`` above) are never " "assigned to." msgstr "" @@ -391,32 +411,32 @@ msgstr "" "acima) são atribuídos por uma instrução de correspondência. Nomes " "pontilhados (como ``foo.bar``), nomes de atributos (o ``x=`` e ``y=`` acima) " "ou nomes de classes (reconhecidos pelo \"(...)\" próximo a eles, como " -"``Point`` acima) nunca são atribuídos." +"``Ponto`` acima) nunca são atribuídos." -#: ../../tutorial/controlflow.rst:344 +#: ../../tutorial/controlflow.rst:352 msgid "" "Patterns can be arbitrarily nested. For example, if we have a short list of " -"points, we could match it like this::" +"Points, with ``__match_args__`` added, we could match it like this::" msgstr "" "Os padrões podem ser aninhados arbitrariamente. Por exemplo, se tivermos uma " -"pequena lista de pontos, poderíamos correspondê-la assim::" +"pequena lista de Pontos, com ``__match_args__`` adicionado, poderíamos " +"correspondê-la assim::" -#: ../../tutorial/controlflow.rst:359 +#: ../../tutorial/controlflow.rst:373 msgid "" "We can add an ``if`` clause to a pattern, known as a \"guard\". If the " "guard is false, ``match`` goes on to try the next case block. Note that " "value capture happens before the guard is evaluated::" msgstr "" "Podemos adicionar uma cláusula ``if`` a um padrão, conhecido como " -"\"guarda\". Se a guarda for falsa, ``match`` continua para tentar o próximo " -"bloco de caso. Observe que a captura de valor ocorre antes que a guarda seja " -"avaliada::" +"\"guarda\". Se a guarda for falsa, ``match`` tenta o próximo bloco de caso. " +"Observe que a captura de valor ocorre antes que a guarda seja avaliada::" -#: ../../tutorial/controlflow.rst:369 +#: ../../tutorial/controlflow.rst:383 msgid "Several other key features of this statement:" msgstr "Vários outros recursos importantes desta instrução::" -#: ../../tutorial/controlflow.rst:371 +#: ../../tutorial/controlflow.rst:385 msgid "" "Like unpacking assignments, tuple and list patterns have exactly the same " "meaning and actually match arbitrary sequences. An important exception is " @@ -427,7 +447,7 @@ msgstr "" "arbitrárias. Uma exceção importante é que eles não correspondem a iteradores " "ou strings." -#: ../../tutorial/controlflow.rst:375 +#: ../../tutorial/controlflow.rst:389 msgid "" "Sequence patterns support extended unpacking: ``[x, y, *rest]`` and ``(x, y, " "*rest)`` work similar to unpacking assignments. The name after ``*`` may " @@ -440,7 +460,7 @@ msgstr "" "``_``, então ``(x, y, *_)`` corresponde a uma sequência de pelo menos dois " "itens sem ligar os itens restantes." -#: ../../tutorial/controlflow.rst:380 +#: ../../tutorial/controlflow.rst:394 msgid "" "Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the " "``\"bandwidth\"`` and ``\"latency\"`` values from a dictionary. Unlike " @@ -453,11 +473,11 @@ msgstr "" "``**rest`` também é permitido. (Mas ``**_`` seria redundante, então não é " "permitido.)" -#: ../../tutorial/controlflow.rst:385 +#: ../../tutorial/controlflow.rst:399 msgid "Subpatterns may be captured using the ``as`` keyword::" -msgstr "Subpadrões podem ser capturados usando a palavra reservada ``as``::" +msgstr "Subpadrões podem ser capturados usando a palavra reservada ``as`` ::" -#: ../../tutorial/controlflow.rst:389 +#: ../../tutorial/controlflow.rst:403 msgid "" "will capture the second element of the input as ``p2`` (as long as the input " "is a sequence of two points)" @@ -465,15 +485,15 @@ msgstr "" "Vai capturar o segundo elemento da entrada como ``p2`` (se a entrada for uma " "sequência de dois pontos)" -#: ../../tutorial/controlflow.rst:392 +#: ../../tutorial/controlflow.rst:406 msgid "" "Most literals are compared by equality, however the singletons ``True``, " "``False`` and ``None`` are compared by identity." msgstr "" -"A maioria dos literais são comparados por igualdade, no entando os " +"A maioria dos literais são comparados por igualdade, no entanto os " "singletons ``True``, ``False`` e ``None`` são comparados por identidade." -#: ../../tutorial/controlflow.rst:395 +#: ../../tutorial/controlflow.rst:409 msgid "" "Patterns may use named constants. These must be dotted names to prevent " "them from being interpreted as capture variable::" @@ -481,19 +501,19 @@ msgstr "" "Padrões podem usar constantes nomeadas. Estas devem ser nomes pontilhados " "para prevenir que sejam interpretadas como variáveis de captura::" -#: ../../tutorial/controlflow.rst:414 +#: ../../tutorial/controlflow.rst:428 msgid "" -"For a more detailed explanation and additional examples, you can look into :" -"pep:`636` which is written in a tutorial format." +"For a more detailed explanation and additional examples, you can look " +"into :pep:`636` which is written in a tutorial format." msgstr "" -"Para uma explicação mais detalhada e exemplos adicionais, você pode olhar :" -"pep:`636` que foi escrita em formato de tutorial." +"Para uma explicação mais detalhada e exemplos adicionais, você pode " +"olhar :pep:`636` que foi escrita em formato de tutorial." -#: ../../tutorial/controlflow.rst:420 +#: ../../tutorial/controlflow.rst:434 msgid "Defining Functions" msgstr "Definindo funções" -#: ../../tutorial/controlflow.rst:422 +#: ../../tutorial/controlflow.rst:436 msgid "" "We can create a function that writes the Fibonacci series to an arbitrary " "boundary::" @@ -501,7 +521,7 @@ msgstr "" "Podemos criar uma função que escreve a série de Fibonacci até um limite " "arbitrário::" -#: ../../tutorial/controlflow.rst:442 +#: ../../tutorial/controlflow.rst:456 msgid "" "The keyword :keyword:`def` introduces a function *definition*. It must be " "followed by the function name and the parenthesized list of formal " @@ -510,18 +530,18 @@ msgid "" msgstr "" "A palavra reservada :keyword:`def` inicia a *definição* de uma função. Ela " "deve ser seguida do nome da função e da lista de parâmetros formais entre " -"parênteses. Os comandos que formam o corpo da função começam na linha " +"parênteses. As instruções que formam o corpo da função começam na linha " "seguinte e devem ser indentados." -#: ../../tutorial/controlflow.rst:447 +#: ../../tutorial/controlflow.rst:461 msgid "" "The first statement of the function body can optionally be a string literal; " -"this string literal is the function's documentation string, or :dfn:" -"`docstring`. (More about docstrings can be found in the section :ref:`tut-" -"docstrings`.) There are tools which use docstrings to automatically produce " -"online or printed documentation, or to let the user interactively browse " -"through code; it's good practice to include docstrings in code that you " -"write, so make a habit of it." +"this string literal is the function's documentation string, " +"or :dfn:`docstring`. (More about docstrings can be found in the " +"section :ref:`tut-docstrings`.) There are tools which use docstrings to " +"automatically produce online or printed documentation, or to let the user " +"interactively browse through code; it's good practice to include docstrings " +"in code that you write, so make a habit of it." msgstr "" "Opcionalmente, a primeira linha do corpo da função pode ser uma literal " "string, cujo propósito é documentar a função. Se presente, essa string chama-" @@ -531,7 +551,7 @@ msgstr "" "o usuário navegue interativamente pelo código. É uma boa prática incluir " "sempre docstrings em suas funções, portanto, tente fazer disso um hábito." -#: ../../tutorial/controlflow.rst:454 +#: ../../tutorial/controlflow.rst:468 msgid "" "The *execution* of a function introduces a new symbol table used for the " "local variables of the function. More precisely, all variable assignments " @@ -552,10 +572,10 @@ msgstr "" "circundantes, depois na tabela de símbolos global e, finalmente, na tabela " "de nomes da própria linguagem. Embora possam ser referenciadas, variáveis " "globais e de funções externas não podem ter atribuições (a menos que seja " -"utilizado o comando :keyword:`global`, para variáveis globais, ou :keyword:" -"`nonlocal`, para variáveis de funções externas)." +"utilizada a instrução :keyword:`global`, para variáveis globais, " +"ou :keyword:`nonlocal`, para variáveis de funções externas)." -#: ../../tutorial/controlflow.rst:465 +#: ../../tutorial/controlflow.rst:479 msgid "" "The actual parameters (arguments) to a function call are introduced in the " "local symbol table of the called function when it is called; thus, arguments " @@ -571,7 +591,7 @@ msgstr "" "chama outra função, ou chama a si mesma recursivamente, uma nova tabela de " "símbolos é criada para tal chamada." -#: ../../tutorial/controlflow.rst:472 +#: ../../tutorial/controlflow.rst:486 msgid "" "A function definition associates the function name with the function object " "in the current symbol table. The interpreter recognizes the object pointed " @@ -584,25 +604,25 @@ msgstr "" "apontar para o mesmo objeto função e também pode ser usados pra acessar a " "função::" -#: ../../tutorial/controlflow.rst:483 +#: ../../tutorial/controlflow.rst:497 msgid "" "Coming from other languages, you might object that ``fib`` is not a function " "but a procedure since it doesn't return a value. In fact, even functions " "without a :keyword:`return` statement do return a value, albeit a rather " "boring one. This value is called ``None`` (it's a built-in name). Writing " "the value ``None`` is normally suppressed by the interpreter if it would be " -"the only value written. You can see it if you really want to using :func:" -"`print`::" +"the only value written. You can see it if you really want to " +"using :func:`print`::" msgstr "" "Conhecendo outras linguagens, pode-se questionar que ``fib`` não é uma " "função, mas um procedimento, pois ela não devolve um valor. Na verdade, " -"mesmo funções que não usam o comando :keyword:`return` devolvem um valor, " +"mesmo funções que não usam a instrução :keyword:`return` devolvem um valor, " "ainda que pouco interessante. Esse valor é chamado ``None`` (é um nome " "embutido). O interpretador interativo evita escrever ``None`` quando ele é o " -"único resultado de uma expressão. Mas se quiser vê-lo pode usar a função :" -"func:`print`::" +"único resultado de uma expressão. Mas se quiser vê-lo pode usar a " +"função :func:`print`::" -#: ../../tutorial/controlflow.rst:494 +#: ../../tutorial/controlflow.rst:508 msgid "" "It is simple to write a function that returns a list of the numbers of the " "Fibonacci series, instead of printing it::" @@ -610,21 +630,21 @@ msgstr "" "É fácil escrever uma função que retorna uma lista de números da série de " "Fibonacci, ao invés de exibi-los::" -#: ../../tutorial/controlflow.rst:510 +#: ../../tutorial/controlflow.rst:524 msgid "This example, as usual, demonstrates some new Python features:" msgstr "Este exemplo demonstra novos recursos de Python:" -#: ../../tutorial/controlflow.rst:512 +#: ../../tutorial/controlflow.rst:526 msgid "" -"The :keyword:`return` statement returns with a value from a function. :" -"keyword:`!return` without an expression argument returns ``None``. Falling " -"off the end of a function also returns ``None``." +"The :keyword:`return` statement returns with a value from a " +"function. :keyword:`!return` without an expression argument returns " +"``None``. Falling off the end of a function also returns ``None``." msgstr "" "A instrução :keyword:`return` finaliza a execução e retorna um valor da " "função. :keyword:`!return` sem qualquer expressão como argumento retorna " "``None``. Atingir o final da função também retorna ``None``." -#: ../../tutorial/controlflow.rst:516 +#: ../../tutorial/controlflow.rst:530 msgid "" "The statement ``result.append(a)`` calls a *method* of the list object " "``result``. A method is a function that 'belongs' to an object and is named " @@ -632,10 +652,11 @@ msgid "" "expression), and ``methodname`` is the name of a method that is defined by " "the object's type. Different types define different methods. Methods of " "different types may have the same name without causing ambiguity. (It is " -"possible to define your own object types and methods, using *classes*, see :" -"ref:`tut-classes`) The method :meth:`append` shown in the example is defined " -"for list objects; it adds a new element at the end of the list. In this " -"example it is equivalent to ``result = result + [a]``, but more efficient." +"possible to define your own object types and methods, using *classes*, " +"see :ref:`tut-classes`) The method :meth:`!append` shown in the example is " +"defined for list objects; it adds a new element at the end of the list. In " +"this example it is equivalent to ``result = result + [a]``, but more " +"efficient." msgstr "" "A instrução ``result.append(a)`` chama um *método* do objeto lista " "``result``. Um método é uma função que 'pertence' a um objeto, e é chamada " @@ -643,16 +664,17 @@ msgstr "" "expressão), e ``nomemetodo`` é o nome de um método que foi definido pelo " "tipo do objeto. Tipos diferentes definem métodos diferentes. Métodos de " "diferentes tipos podem ter o mesmo nome sem ambiguidade. (É possível definir " -"seus próprios tipos de objetos e métodos, utilizando *classes*, veja em :ref:" -"`tut-classes`) O método :meth:`append`, mostrado no exemplo é definido para " -"objetos do tipo lista; adiciona um novo elemento ao final da lista. Neste " -"exemplo, ele equivale a ``result = result + [a]``, só que mais eficiente." +"seus próprios tipos de objetos e métodos, utilizando *classes*, veja " +"em :ref:`tut-classes`) O método :meth:`!append`, mostrado no exemplo é " +"definido para objetos do tipo lista; adiciona um novo elemento ao final da " +"lista. Neste exemplo, ele equivale a ``result = result + [a]``, só que mais " +"eficiente." -#: ../../tutorial/controlflow.rst:531 +#: ../../tutorial/controlflow.rst:545 msgid "More on Defining Functions" msgstr "Mais sobre definição de funções" -#: ../../tutorial/controlflow.rst:533 +#: ../../tutorial/controlflow.rst:547 msgid "" "It is also possible to define functions with a variable number of arguments. " "There are three forms, which can be combined." @@ -660,11 +682,11 @@ msgstr "" "É possível definir funções com um número variável de argumentos. Existem " "três formas, que podem ser combinadas." -#: ../../tutorial/controlflow.rst:540 +#: ../../tutorial/controlflow.rst:554 msgid "Default Argument Values" msgstr "Argumentos com valor padrão" -#: ../../tutorial/controlflow.rst:542 +#: ../../tutorial/controlflow.rst:556 msgid "" "The most useful form is to specify a default value for one or more " "arguments. This creates a function that can be called with fewer arguments " @@ -674,18 +696,18 @@ msgstr "" "argumentos. Isso cria uma função que pode ser invocada com menos argumentos " "do que os que foram definidos. Por exemplo::" -#: ../../tutorial/controlflow.rst:558 +#: ../../tutorial/controlflow.rst:572 msgid "This function can be called in several ways:" msgstr "Essa função pode ser chamada de várias formas:" -#: ../../tutorial/controlflow.rst:560 +#: ../../tutorial/controlflow.rst:574 msgid "" "giving only the mandatory argument: ``ask_ok('Do you really want to quit?')``" msgstr "" "fornecendo apenas o argumento obrigatório: ``ask_ok('Do you really want to " "quit?')``" -#: ../../tutorial/controlflow.rst:562 +#: ../../tutorial/controlflow.rst:576 msgid "" "giving one of the optional arguments: ``ask_ok('OK to overwrite the file?', " "2)``" @@ -693,7 +715,7 @@ msgstr "" "fornecendo um dos argumentos opcionais: ``ask_ok('OK to overwrite the " "file?', 2)``" -#: ../../tutorial/controlflow.rst:564 +#: ../../tutorial/controlflow.rst:578 msgid "" "or even giving all arguments: ``ask_ok('OK to overwrite the file?', 2, 'Come " "on, only yes or no!')``" @@ -701,7 +723,7 @@ msgstr "" "ou fornecendo todos os argumentos: ``ask_ok('OK to overwrite the file?', 2, " "'Come on, only yes or no!')``" -#: ../../tutorial/controlflow.rst:567 +#: ../../tutorial/controlflow.rst:581 msgid "" "This example also introduces the :keyword:`in` keyword. This tests whether " "or not a sequence contains a certain value." @@ -709,7 +731,7 @@ msgstr "" "Este exemplo também introduz a palavra-chave :keyword:`in`, que verifica se " "uma sequência contém ou não um determinado valor." -#: ../../tutorial/controlflow.rst:570 +#: ../../tutorial/controlflow.rst:584 msgid "" "The default values are evaluated at the point of function definition in the " "*defining* scope, so that ::" @@ -717,11 +739,11 @@ msgstr "" "Os valores padrões são avaliados no momento da definição da função, e no " "escopo em que a função foi *definida*, portanto::" -#: ../../tutorial/controlflow.rst:581 +#: ../../tutorial/controlflow.rst:595 msgid "will print ``5``." msgstr "irá exibir ``5``." -#: ../../tutorial/controlflow.rst:583 +#: ../../tutorial/controlflow.rst:597 msgid "" "**Important warning:** The default value is evaluated only once. This makes " "a difference when the default is a mutable object such as a list, " @@ -733,11 +755,11 @@ msgstr "" "instâncias de classes. Por exemplo, a função a seguir acumula os argumentos " "passados, nas chamadas subsequentes::" -#: ../../tutorial/controlflow.rst:596 +#: ../../tutorial/controlflow.rst:610 msgid "This will print ::" msgstr "Isso exibirá::" -#: ../../tutorial/controlflow.rst:602 +#: ../../tutorial/controlflow.rst:616 msgid "" "If you don't want the default to be shared between subsequent calls, you can " "write the function like this instead::" @@ -745,11 +767,11 @@ msgstr "" "Se não quiser que o valor padrão seja compartilhado entre chamadas " "subsequentes, pode reescrever a função assim::" -#: ../../tutorial/controlflow.rst:615 +#: ../../tutorial/controlflow.rst:629 msgid "Keyword Arguments" msgstr "Argumentos nomeados" -#: ../../tutorial/controlflow.rst:617 +#: ../../tutorial/controlflow.rst:631 msgid "" "Functions can also be called using :term:`keyword arguments ` of the form ``kwarg=value``. For instance, the following " @@ -758,21 +780,21 @@ msgstr "" "Funções também podem ser chamadas usando :term:`argumentos nomeados ` da forma ``chave=valor``. Por exemplo, a função a seguir::" -#: ../../tutorial/controlflow.rst:626 +#: ../../tutorial/controlflow.rst:640 msgid "" "accepts one required argument (``voltage``) and three optional arguments " "(``state``, ``action``, and ``type``). This function can be called in any " "of the following ways::" msgstr "" -"aceita um argumento obrigatório (``voltage``) e três argumentos opcionais " -"(``state``, ``action``, e ``type``). Esta função pode ser chamada de " -"qualquer uma dessas formas::" +"aceita um argumento obrigatório (``voltagem``) e três argumentos opcionais " +"(``estado``, ``ação``, e ``tipo``). Esta função pode ser chamada de qualquer " +"uma dessas formas::" -#: ../../tutorial/controlflow.rst:637 +#: ../../tutorial/controlflow.rst:651 msgid "but all the following calls would be invalid::" msgstr "mas todas as formas a seguir seriam inválidas::" -#: ../../tutorial/controlflow.rst:644 +#: ../../tutorial/controlflow.rst:658 msgid "" "In a function call, keyword arguments must follow positional arguments. All " "the keyword arguments passed must match one of the arguments accepted by the " @@ -784,13 +806,13 @@ msgid "" msgstr "" "Em uma chamada de função, argumentos nomeados devem vir depois dos " "argumentos posicionais. Todos os argumentos nomeados passados devem " -"corresponder com argumentos aceitos pela função (ex. ``actor`` não é um " -"argumento nomeado válido para a função ``parrot``), mas sua ordem é " +"corresponder com argumentos aceitos pela função (ex. ``ator`` não é um " +"argumento nomeado válido para a função ``papagaio``), mas sua ordem é " "irrelevante. Isto também inclui argumentos obrigatórios (ex.: " -"``parrot(voltage=1000)`` funciona). Nenhum argumento pode receber mais de um " -"valor. Eis um exemplo que não funciona devido a esta restrição::" +"``papagaio(voltagem=1000)`` funciona). Nenhum argumento pode receber mais de " +"um valor. Eis um exemplo que não funciona devido a esta restrição::" -#: ../../tutorial/controlflow.rst:660 +#: ../../tutorial/controlflow.rst:674 msgid "" "When a final formal parameter of the form ``**name`` is present, it receives " "a dictionary (see :ref:`typesmapping`) containing all keyword arguments " @@ -808,15 +830,15 @@ msgstr "" "argumentos posicionais, além da lista de parâmetros formais. (``*nome`` deve " "ocorrer antes de ``**nome``.) Por exemplo, se definirmos uma função assim::" -#: ../../tutorial/controlflow.rst:677 +#: ../../tutorial/controlflow.rst:691 msgid "It could be called like this::" msgstr "Pode ser chamada assim::" -#: ../../tutorial/controlflow.rst:685 +#: ../../tutorial/controlflow.rst:699 msgid "and of course it would print:" msgstr "e, claro, exibiria:" -#: ../../tutorial/controlflow.rst:698 +#: ../../tutorial/controlflow.rst:712 msgid "" "Note that the order in which the keyword arguments are printed is guaranteed " "to match the order in which they were provided in the function call." @@ -824,11 +846,11 @@ msgstr "" "Observe que a ordem em que os argumentos nomeados são exibidos é garantida " "para corresponder à ordem em que foram fornecidos na chamada da função." -#: ../../tutorial/controlflow.rst:702 +#: ../../tutorial/controlflow.rst:716 msgid "Special parameters" msgstr "Parâmetros especiais" -#: ../../tutorial/controlflow.rst:704 +#: ../../tutorial/controlflow.rst:718 msgid "" "By default, arguments may be passed to a Python function either by position " "or explicitly by keyword. For readability and performance, it makes sense to " @@ -843,11 +865,11 @@ msgstr "" "função para determinar se os itens são passados por posição, por posição e " "nome, ou por nome." -#: ../../tutorial/controlflow.rst:710 +#: ../../tutorial/controlflow.rst:724 msgid "A function definition may look like:" msgstr "A definição de uma função pode parecer com:" -#: ../../tutorial/controlflow.rst:721 +#: ../../tutorial/controlflow.rst:735 msgid "" "where ``/`` and ``*`` are optional. If used, these symbols indicate the kind " "of parameter by how the arguments may be passed to the function: positional-" @@ -859,11 +881,11 @@ msgstr "" "somente-posicional, posicional-ou-nomeado, e somente-nomeado. Parâmetros " "nomeados são também conhecidos como parâmetros palavra-chave." -#: ../../tutorial/controlflow.rst:728 +#: ../../tutorial/controlflow.rst:742 msgid "Positional-or-Keyword Arguments" msgstr "Argumentos posicional-ou-nomeados" -#: ../../tutorial/controlflow.rst:730 +#: ../../tutorial/controlflow.rst:744 msgid "" "If ``/`` and ``*`` are not present in the function definition, arguments may " "be passed to a function by position or by keyword." @@ -871,11 +893,11 @@ msgstr "" "Se ``/`` e ``*`` não estão presentes na definição da função, argumentos " "podem ser passados para uma função por posição ou por nome." -#: ../../tutorial/controlflow.rst:735 +#: ../../tutorial/controlflow.rst:749 msgid "Positional-Only Parameters" msgstr "Parâmetros somente-posicionais" -#: ../../tutorial/controlflow.rst:737 +#: ../../tutorial/controlflow.rst:751 msgid "" "Looking at this in a bit more detail, it is possible to mark certain " "parameters as *positional-only*. If *positional-only*, the parameters' order " @@ -893,7 +915,7 @@ msgstr "" "Se não existe uma ``/`` na definição da função, não existe parâmetros " "somente-posicionais." -#: ../../tutorial/controlflow.rst:745 +#: ../../tutorial/controlflow.rst:759 msgid "" "Parameters following the ``/`` may be *positional-or-keyword* or *keyword-" "only*." @@ -901,11 +923,11 @@ msgstr "" "Parâmetros após a ``/`` podem ser *posicional-ou-nomeado* ou *somente-" "nomeado*." -#: ../../tutorial/controlflow.rst:749 +#: ../../tutorial/controlflow.rst:763 msgid "Keyword-Only Arguments" msgstr "Argumentos somente-nomeados" -#: ../../tutorial/controlflow.rst:751 +#: ../../tutorial/controlflow.rst:765 msgid "" "To mark parameters as *keyword-only*, indicating the parameters must be " "passed by keyword argument, place an ``*`` in the arguments list just before " @@ -915,11 +937,11 @@ msgstr "" "deve ser passado por argumento nomeado, colocamos um ``*`` na lista de " "argumentos imediatamente antes do primeiro parâmetro *somente-nomeado*." -#: ../../tutorial/controlflow.rst:757 +#: ../../tutorial/controlflow.rst:771 msgid "Function Examples" msgstr "Exemplos de funções" -#: ../../tutorial/controlflow.rst:759 +#: ../../tutorial/controlflow.rst:773 msgid "" "Consider the following example function definitions paying close attention " "to the markers ``/`` and ``*``::" @@ -927,25 +949,25 @@ msgstr "" "Considere o seguinte exemplo de definição de função com atenção redobrada " "para os marcadores ``/`` e ``*``::" -#: ../../tutorial/controlflow.rst:775 +#: ../../tutorial/controlflow.rst:789 msgid "" "The first function definition, ``standard_arg``, the most familiar form, " "places no restrictions on the calling convention and arguments may be passed " "by position or keyword::" msgstr "" -"A definição da primeira função, ``standard_arg``, a forma mais familiar, não " +"A definição da primeira função, ``arg_padrão``, a forma mais familiar, não " "coloca nenhuma restrição para a chamada da função e argumentos podem ser " "passados por posição ou nome::" -#: ../../tutorial/controlflow.rst:785 +#: ../../tutorial/controlflow.rst:799 msgid "" "The second function ``pos_only_arg`` is restricted to only use positional " "parameters as there is a ``/`` in the function definition::" msgstr "" -"A segunda função ``pos_only_arg`` está restrita ao uso de parâmetros somente " -"posicionais, uma vez que existe uma ``/`` na definição da função::" +"A segunda função ``arg_somente_pos`` está restrita ao uso de parâmetros " +"somente posicionais, uma vez que existe uma ``/`` na definição da função::" -#: ../../tutorial/controlflow.rst:796 +#: ../../tutorial/controlflow.rst:810 msgid "" "The third function ``kwd_only_args`` only allows keyword arguments as " "indicated by a ``*`` in the function definition::" @@ -953,42 +975,43 @@ msgstr "" "A terceira função ``kwd_only_args`` permite somente argumentos nomeados como " "indicado pelo ``*`` na definição da função::" -#: ../../tutorial/controlflow.rst:807 +#: ../../tutorial/controlflow.rst:821 msgid "" "And the last uses all three calling conventions in the same function " "definition::" msgstr "" "E a última usa as três convenções de chamada na mesma definição de função::" -#: ../../tutorial/controlflow.rst:827 +#: ../../tutorial/controlflow.rst:841 msgid "" "Finally, consider this function definition which has a potential collision " "between the positional argument ``name`` and ``**kwds`` which has ``name`` " "as a key::" msgstr "" "Finalmente, considere essa definição de função que possui uma potencial " -"colisão entre o argumento posicional ``name`` e ``**kwds`` que possui " -"``name`` como uma chave::" +"colisão entre o argumento posicional ``nome`` e ``**kwds`` que possui " +"``nome`` como uma chave::" -#: ../../tutorial/controlflow.rst:832 +#: ../../tutorial/controlflow.rst:846 msgid "" "There is no possible call that will make it return ``True`` as the keyword " "``'name'`` will always bind to the first parameter. For example::" msgstr "" -"Não é possível essa chamada devolver ``True``, uma vez que a chave " -"``'name'`` sempre será aplicada para o primeiro parâmetro. Por exemplo::" +"Não é possível essa chamada devolver ``True``, uma vez que o argumento " +"nomeado ``'nome'`` sempre será aplicado para o primeiro parâmetro. Por " +"exemplo::" -#: ../../tutorial/controlflow.rst:841 +#: ../../tutorial/controlflow.rst:855 msgid "" "But using ``/`` (positional only arguments), it is possible since it allows " "``name`` as a positional argument and ``'name'`` as a key in the keyword " "arguments::" msgstr "" -"Mas usando ``/`` (somente argumentos posicionais), isso é possível já que " -"permite ``name`` como um argumento posicional e ``'name'`` como uma chave " +"Mas usando ``/`` (argumentos somente-posicionais), isso é possível já que " +"permite ``nome`` como um argumento posicional e ``'nome'`` como uma chave " "nos argumentos nomeados::" -#: ../../tutorial/controlflow.rst:849 +#: ../../tutorial/controlflow.rst:863 msgid "" "In other words, the names of positional-only parameters can be used in " "``**kwds`` without ambiguity." @@ -996,22 +1019,22 @@ msgstr "" "Em outras palavras, o nome de parâmetros somente-posicional podem ser usados " "em ``**kwds`` sem ambiguidade." -#: ../../tutorial/controlflow.rst:854 +#: ../../tutorial/controlflow.rst:868 msgid "Recap" msgstr "Recapitulando" -#: ../../tutorial/controlflow.rst:856 +#: ../../tutorial/controlflow.rst:870 msgid "" "The use case will determine which parameters to use in the function " "definition::" msgstr "" "A situação irá determinar quais parâmetros usar na definição da função::" -#: ../../tutorial/controlflow.rst:860 +#: ../../tutorial/controlflow.rst:874 msgid "As guidance:" msgstr "Como guia:" -#: ../../tutorial/controlflow.rst:862 +#: ../../tutorial/controlflow.rst:876 msgid "" "Use positional-only if you want the name of the parameters to not be " "available to the user. This is useful when parameter names have no real " @@ -1025,7 +1048,7 @@ msgstr "" "quando ela é chamada ou se você precisa ter alguns parâmetros posicionais e " "alguns nomeados." -#: ../../tutorial/controlflow.rst:867 +#: ../../tutorial/controlflow.rst:881 msgid "" "Use keyword-only when names have meaning and the function definition is more " "understandable by being explicit with names or you want to prevent users " @@ -1035,7 +1058,7 @@ msgstr "" "fica mais clara deixando esses nomes explícitos ou se você quer evitar que " "usuários confiem na posição dos argumentos que estão sendo passados." -#: ../../tutorial/controlflow.rst:870 +#: ../../tutorial/controlflow.rst:884 msgid "" "For an API, use positional-only to prevent breaking API changes if the " "parameter's name is modified in the future." @@ -1043,11 +1066,11 @@ msgstr "" "Para uma API, use somente-posicional para evitar quebras na mudança da API " "se os nomes dos parâmetros forem alterados no futuro." -#: ../../tutorial/controlflow.rst:876 +#: ../../tutorial/controlflow.rst:890 msgid "Arbitrary Argument Lists" msgstr "Listas de argumentos arbitrárias" -#: ../../tutorial/controlflow.rst:881 +#: ../../tutorial/controlflow.rst:895 msgid "" "Finally, the least frequently used option is to specify that a function can " "be called with an arbitrary number of arguments. These arguments will be " @@ -1059,7 +1082,7 @@ msgstr "" "em uma tupla (ver :ref:`tut-tuples`). Antes dos argumentos em número " "variável, zero ou mais argumentos normais podem estar presentes. ::" -#: ../../tutorial/controlflow.rst:890 +#: ../../tutorial/controlflow.rst:904 msgid "" "Normally, these *variadic* arguments will be last in the list of formal " "parameters, because they scoop up all remaining input arguments that are " @@ -1074,11 +1097,11 @@ msgstr "" "significa que eles só podem ser usados como chave-valor, em vez de " "argumentos posicionais::" -#: ../../tutorial/controlflow.rst:907 +#: ../../tutorial/controlflow.rst:921 msgid "Unpacking Argument Lists" msgstr "Desempacotando listas de argumentos" -#: ../../tutorial/controlflow.rst:909 +#: ../../tutorial/controlflow.rst:923 msgid "" "The reverse situation occurs when the arguments are already in a list or " "tuple but need to be unpacked for a function call requiring separate " @@ -1094,7 +1117,7 @@ msgstr "" "uma lista ou tupla, escreva a chamada de função com o operador ``*`` para " "desempacotá-los da sequência::" -#: ../../tutorial/controlflow.rst:925 +#: ../../tutorial/controlflow.rst:939 msgid "" "In the same fashion, dictionaries can deliver keyword arguments with the " "``**``\\ -operator::" @@ -1102,11 +1125,11 @@ msgstr "" "Da mesma forma, dicionários podem produzir argumentos nomeados com o " "operador ``**``::" -#: ../../tutorial/controlflow.rst:941 +#: ../../tutorial/controlflow.rst:955 msgid "Lambda Expressions" msgstr "Expressões lambda" -#: ../../tutorial/controlflow.rst:943 +#: ../../tutorial/controlflow.rst:957 msgid "" "Small anonymous functions can be created with the :keyword:`lambda` keyword. " "This function returns the sum of its two arguments: ``lambda a, b: a+b``. " @@ -1116,15 +1139,15 @@ msgid "" "definitions, lambda functions can reference variables from the containing " "scope::" msgstr "" -"Pequenas funções anônimas podem ser criadas com a palavra-chave :keyword:" -"`lambda`. Esta função retorna a soma de seus dois argumentos: ``lambda a, b: " -"a+b``. As funções lambda podem ser usadas sempre que objetos função forem " -"necessários. Eles são sintaticamente restritos a uma única expressão. " -"Semanticamente, eles são apenas açúcar sintático para uma definição de " -"função normal. Como definições de funções aninhadas, as funções lambda podem " -"referenciar variáveis contidas no escopo::" +"Pequenas funções anônimas podem ser criadas com a palavra-" +"chave :keyword:`lambda`. Esta função retorna a soma de seus dois argumentos: " +"``lambda a, b: a+b``. As funções lambda podem ser usadas sempre que objetos " +"função forem necessários. Eles são sintaticamente restritos a uma única " +"expressão. Semanticamente, eles são apenas açúcar sintático para uma " +"definição de função normal. Como definições de funções aninhadas, as funções " +"lambda podem referenciar variáveis contidas no escopo::" -#: ../../tutorial/controlflow.rst:960 +#: ../../tutorial/controlflow.rst:974 msgid "" "The above example uses a lambda expression to return a function. Another " "use is to pass a small function as an argument::" @@ -1132,11 +1155,11 @@ msgstr "" "O exemplo acima usa uma expressão lambda para retornar uma função. Outro uso " "é passar uma pequena função como um argumento::" -#: ../../tutorial/controlflow.rst:972 +#: ../../tutorial/controlflow.rst:986 msgid "Documentation Strings" msgstr "Strings de documentação" -#: ../../tutorial/controlflow.rst:979 +#: ../../tutorial/controlflow.rst:993 msgid "" "Here are some conventions about the content and formatting of documentation " "strings." @@ -1144,7 +1167,7 @@ msgstr "" "Aqui estão algumas convenções sobre o conteúdo e formatação de strings de " "documentação, também conhecidas como docstrings." -#: ../../tutorial/controlflow.rst:982 +#: ../../tutorial/controlflow.rst:996 msgid "" "The first line should always be a short, concise summary of the object's " "purpose. For brevity, it should not explicitly state the object's name or " @@ -1158,7 +1181,7 @@ msgstr "" "(exceto se o nome da função for o próprio verbo que descreve a finalidade da " "função). Essa linha deve começar com letra maiúscula e terminar com ponto." -#: ../../tutorial/controlflow.rst:988 +#: ../../tutorial/controlflow.rst:1002 msgid "" "If there are more lines in the documentation string, the second line should " "be blank, visually separating the summary from the rest of the description. " @@ -1170,7 +1193,7 @@ msgstr "" "seguintes devem conter um ou mais parágrafos descrevendo as convenções de " "chamada ao objeto, seus efeitos colaterais, etc." -#: ../../tutorial/controlflow.rst:993 +#: ../../tutorial/controlflow.rst:1007 msgid "" "The Python parser does not strip indentation from multi-line string literals " "in Python, so tools that process documentation have to strip indentation if " @@ -1196,15 +1219,15 @@ msgstr "" "espaços à sua esquerda são removidos. A equivalência de espaços em branco " "deve ser testada após a expansão das tabulações (8 espaços, normalmente)." -#: ../../tutorial/controlflow.rst:1005 +#: ../../tutorial/controlflow.rst:1019 msgid "Here is an example of a multi-line docstring::" msgstr "Eis um exemplo de uma string de documentação multilinha::" -#: ../../tutorial/controlflow.rst:1023 +#: ../../tutorial/controlflow.rst:1037 msgid "Function Annotations" msgstr "Anotações de função" -#: ../../tutorial/controlflow.rst:1031 +#: ../../tutorial/controlflow.rst:1045 msgid "" ":ref:`Function annotations ` are completely optional metadata " "information about the types used by user-defined functions (see :pep:`3107` " @@ -1214,10 +1237,10 @@ msgstr "" "completamente opcionais sobre os tipos usados pelas funções definidas pelo " "usuário (veja :pep:`3107` e :pep:`484` para mais informações)." -#: ../../tutorial/controlflow.rst:1035 +#: ../../tutorial/controlflow.rst:1049 msgid "" -":term:`Annotations ` are stored in the :attr:" -"`__annotations__` attribute of the function as a dictionary and have no " +":term:`Annotations ` are stored in the :attr:`!" +"__annotations__` attribute of the function as a dictionary and have no " "effect on any other part of the function. Parameter annotations are defined " "by a colon after the parameter name, followed by an expression evaluating to " "the value of the annotation. Return annotations are defined by a literal ``-" @@ -1225,21 +1248,21 @@ msgid "" "denoting the end of the :keyword:`def` statement. The following example has " "a required argument, an optional argument, and the return value annotated::" msgstr "" -":term:`Anotações ` são armazenadas no atributo :attr:" -"`__annotations__` da função como um dicionário e não tem nenhum efeito em " +":term:`Anotações ` são armazenadas no atributo :attr:`!" +"__annotations__` da função como um dicionário e não tem nenhum efeito em " "qualquer outra parte da função. Anotações de parâmetro são definidas por " "dois-pontos (\":\") após o nome do parâmetro, seguida por uma expressão que " "quando avaliada determina o valor da anotação. Anotações do tipo do retorno " "são definidas por um literal ``->``, seguida por uma expressão, entre a " -"lista de parâmetro e os dois-pontos que marcam o fim da instrução :keyword:" -"`def` . O exemplo a seguir possui um argumento obrigatório, um argumento " -"opcional e o valor de retorno anotados::" +"lista de parâmetro e os dois-pontos que marcam o fim da " +"instrução :keyword:`def` . O exemplo a seguir possui um argumento " +"obrigatório, um argumento opcional e o valor de retorno anotados::" -#: ../../tutorial/controlflow.rst:1057 +#: ../../tutorial/controlflow.rst:1071 msgid "Intermezzo: Coding Style" msgstr "Intermezzo: estilo de codificação" -#: ../../tutorial/controlflow.rst:1062 +#: ../../tutorial/controlflow.rst:1076 msgid "" "Now that you are about to write longer, more complex pieces of Python, it is " "a good time to talk about *coding style*. Most languages can be written (or " @@ -1254,7 +1277,7 @@ msgstr "" "ler, para os outros, é sempre uma boa ideia, e adotar um estilo de " "codificação agradável ajuda bastante." -#: ../../tutorial/controlflow.rst:1068 +#: ../../tutorial/controlflow.rst:1082 msgid "" "For Python, :pep:`8` has emerged as the style guide that most projects " "adhere to; it promotes a very readable and eye-pleasing coding style. Every " @@ -1266,11 +1289,11 @@ msgstr "" "agradável. Todo desenvolvedor Python deve lê-lo em algum momento; eis os " "pontos mais importantes, selecionados para você:" -#: ../../tutorial/controlflow.rst:1073 +#: ../../tutorial/controlflow.rst:1087 msgid "Use 4-space indentation, and no tabs." msgstr "Use indentação com 4 espaços, e não use tabulações." -#: ../../tutorial/controlflow.rst:1075 +#: ../../tutorial/controlflow.rst:1089 msgid "" "4 spaces are a good compromise between small indentation (allows greater " "nesting depth) and large indentation (easier to read). Tabs introduce " @@ -1280,11 +1303,11 @@ msgstr "" "profundidade de aninhamento) e indentação larga (mais fácil de ler). " "Tabulações trazem complicações, e o melhor é não usar." -#: ../../tutorial/controlflow.rst:1079 +#: ../../tutorial/controlflow.rst:1093 msgid "Wrap lines so that they don't exceed 79 characters." msgstr "Quebre as linhas de modo que não excedam 79 caracteres." -#: ../../tutorial/controlflow.rst:1081 +#: ../../tutorial/controlflow.rst:1095 msgid "" "This helps users with small displays and makes it possible to have several " "code files side-by-side on larger displays." @@ -1292,7 +1315,7 @@ msgstr "" "Isso ajuda os usuários com telas pequenas e torna possível abrir vários " "arquivos de código lado a lado em telas maiores." -#: ../../tutorial/controlflow.rst:1084 +#: ../../tutorial/controlflow.rst:1098 msgid "" "Use blank lines to separate functions and classes, and larger blocks of code " "inside functions." @@ -1300,15 +1323,15 @@ msgstr "" "Deixe linhas em branco para separar funções e classes, e blocos de código " "dentro de funções." -#: ../../tutorial/controlflow.rst:1087 +#: ../../tutorial/controlflow.rst:1101 msgid "When possible, put comments on a line of their own." msgstr "Quando possível, coloque comentários em uma linha própria." -#: ../../tutorial/controlflow.rst:1089 +#: ../../tutorial/controlflow.rst:1103 msgid "Use docstrings." msgstr "Escreva strings de documentação." -#: ../../tutorial/controlflow.rst:1091 +#: ../../tutorial/controlflow.rst:1105 msgid "" "Use spaces around operators and after commas, but not directly inside " "bracketing constructs: ``a = f(1, 2) + g(3, 4)``." @@ -1316,7 +1339,7 @@ msgstr "" "Use espaços ao redor de operadores e após vírgulas, mas não diretamente " "dentro de parênteses, colchetes e chaves: ``a = f(1, 2) + g(3, 4)``." -#: ../../tutorial/controlflow.rst:1094 +#: ../../tutorial/controlflow.rst:1108 msgid "" "Name your classes and functions consistently; the convention is to use " "``UpperCamelCase`` for classes and ``lowercase_with_underscores`` for " @@ -1329,7 +1352,7 @@ msgstr "" "dos métodos (veja :ref:`tut-firstclasses` para mais informações sobre " "classes e métodos)." -#: ../../tutorial/controlflow.rst:1099 +#: ../../tutorial/controlflow.rst:1113 msgid "" "Don't use fancy encodings if your code is meant to be used in international " "environments. Python's default, UTF-8, or even plain ASCII work best in any " @@ -1339,7 +1362,7 @@ msgstr "" "contexto internacional. O padrão do Python, UTF-8, ou mesmo ASCII puro " "funciona bem em qualquer caso." -#: ../../tutorial/controlflow.rst:1103 +#: ../../tutorial/controlflow.rst:1117 msgid "" "Likewise, don't use non-ASCII characters in identifiers if there is only the " "slightest chance people speaking a different language will read or maintain " @@ -1349,11 +1372,11 @@ msgstr "" "apenas a menor chance de pessoas falando um idioma diferente ler ou manter o " "código." -#: ../../tutorial/controlflow.rst:1109 +#: ../../tutorial/controlflow.rst:1123 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../tutorial/controlflow.rst:1110 +#: ../../tutorial/controlflow.rst:1124 msgid "" "Actually, *call by object reference* would be a better description, since if " "a mutable object is passed, the caller will see any changes the callee makes " @@ -1370,56 +1393,56 @@ msgstr "instrução" #: ../../tutorial/controlflow.rst:48 msgid "for" -msgstr "" +msgstr "for" -#: ../../tutorial/controlflow.rst:437 ../../tutorial/controlflow.rst:974 +#: ../../tutorial/controlflow.rst:451 ../../tutorial/controlflow.rst:988 msgid "documentation strings" -msgstr "" +msgstr "strings, documentação" -#: ../../tutorial/controlflow.rst:437 ../../tutorial/controlflow.rst:974 +#: ../../tutorial/controlflow.rst:451 ../../tutorial/controlflow.rst:988 msgid "docstrings" -msgstr "" +msgstr "docstrings" -#: ../../tutorial/controlflow.rst:437 ../../tutorial/controlflow.rst:974 +#: ../../tutorial/controlflow.rst:451 ../../tutorial/controlflow.rst:988 msgid "strings, documentation" -msgstr "" +msgstr "strings, documentação" -#: ../../tutorial/controlflow.rst:878 +#: ../../tutorial/controlflow.rst:892 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisco)" -#: ../../tutorial/controlflow.rst:878 ../../tutorial/controlflow.rst:922 +#: ../../tutorial/controlflow.rst:892 ../../tutorial/controlflow.rst:936 msgid "in function calls" -msgstr "" +msgstr "em chamadas de função" -#: ../../tutorial/controlflow.rst:922 +#: ../../tutorial/controlflow.rst:936 msgid "**" -msgstr "" +msgstr "**" -#: ../../tutorial/controlflow.rst:1026 +#: ../../tutorial/controlflow.rst:1040 msgid "function" msgstr "função" -#: ../../tutorial/controlflow.rst:1026 +#: ../../tutorial/controlflow.rst:1040 msgid "annotations" msgstr "annotations" -#: ../../tutorial/controlflow.rst:1026 +#: ../../tutorial/controlflow.rst:1040 msgid "->" -msgstr "" +msgstr "->" -#: ../../tutorial/controlflow.rst:1026 +#: ../../tutorial/controlflow.rst:1040 msgid "function annotations" -msgstr "" +msgstr "anotações de função" -#: ../../tutorial/controlflow.rst:1026 +#: ../../tutorial/controlflow.rst:1040 msgid ": (colon)" -msgstr "" +msgstr ": (dois pontos)" -#: ../../tutorial/controlflow.rst:1060 +#: ../../tutorial/controlflow.rst:1074 msgid "coding" -msgstr "" +msgstr "codificação" -#: ../../tutorial/controlflow.rst:1060 +#: ../../tutorial/controlflow.rst:1074 msgid "style" msgstr "estilo" diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po index 6a0c6644b..9d19b82f3 100644 --- a/tutorial/datastructures.po +++ b/tutorial/datastructures.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# Cauê Baasch de Souza , 2021 -# Victor Matheus Castro , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -88,23 +83,19 @@ msgstr "" msgid "" "Remove the item at the given position in the list, and return it. If no " "index is specified, ``a.pop()`` removes and returns the last item in the " -"list. (The square brackets around the *i* in the method signature denote " -"that the parameter is optional, not that you should type square brackets at " -"that position. You will see this notation frequently in the Python Library " -"Reference.)" -msgstr "" -"Remove um item em uma dada posição na lista e o retorna. Se nenhum índice é " -"especificado, ``a.pop()`` remove e devolve o último item da lista. (Os " -"colchetes ao redor do *i* na demonstração do método indica que o parâmetro é " -"opcional, e não que é necessário escrever estes colchetes ao chamar o " -"método. Você verá este tipo de notação frequentemente na Biblioteca de " -"Referência Python.)" - -#: ../../tutorial/datastructures.rst:60 +"list. It raises an :exc:`IndexError` if the list is empty or the index is " +"outside the list range." +msgstr "" +"Remove o item na posição fornecida na lista e retorna. Se nenhum índice for " +"especificado, ``a.pop()`` remove e retorna o último item da lista. Levanta " +"um :exc:`IndexError` se a lista estiver vazia ou o índice estiver fora do " +"intervalo da lista." + +#: ../../tutorial/datastructures.rst:59 msgid "Remove all items from the list. Equivalent to ``del a[:]``." msgstr "Remove todos os itens de uma lista. Equivalente a ``del a[:]``." -#: ../../tutorial/datastructures.rst:66 +#: ../../tutorial/datastructures.rst:65 msgid "" "Return zero-based index in the list of the first item whose value is equal " "to *x*. Raises a :exc:`ValueError` if there is no such item." @@ -112,7 +103,7 @@ msgstr "" "Devolve o índice base-zero do primeiro item cujo valor é igual a *x*, " "levantando :exc:`ValueError` se este valor não existe." -#: ../../tutorial/datastructures.rst:69 +#: ../../tutorial/datastructures.rst:68 msgid "" "The optional arguments *start* and *end* are interpreted as in the slice " "notation and are used to limit the search to a particular subsequence of the " @@ -124,11 +115,11 @@ msgstr "" "específica da lista. O índice retornado é calculado relativo ao começo da " "sequência inteira e não referente ao argumento *start*." -#: ../../tutorial/datastructures.rst:78 +#: ../../tutorial/datastructures.rst:77 msgid "Return the number of times *x* appears in the list." msgstr "Devolve o número de vezes em que *x* aparece na lista." -#: ../../tutorial/datastructures.rst:84 +#: ../../tutorial/datastructures.rst:83 msgid "" "Sort the items of the list in place (the arguments can be used for sort " "customization, see :func:`sorted` for their explanation)." @@ -136,19 +127,19 @@ msgstr "" "Ordena os itens na lista (os argumentos podem ser usados para personalizar a " "ordenação, veja a função :func:`sorted` para maiores explicações)." -#: ../../tutorial/datastructures.rst:91 +#: ../../tutorial/datastructures.rst:90 msgid "Reverse the elements of the list in place." msgstr "Inverte a ordem dos elementos na lista." -#: ../../tutorial/datastructures.rst:97 +#: ../../tutorial/datastructures.rst:96 msgid "Return a shallow copy of the list. Equivalent to ``a[:]``." msgstr "Devolve uma cópia rasa da lista. Equivalente a ``a[:]``." -#: ../../tutorial/datastructures.rst:100 +#: ../../tutorial/datastructures.rst:99 msgid "An example that uses most of the list methods::" msgstr "Um exemplo que usa a maior parte dos métodos das listas::" -#: ../../tutorial/datastructures.rst:123 +#: ../../tutorial/datastructures.rst:122 msgid "" "You might have noticed that methods like ``insert``, ``remove`` or ``sort`` " "that only modify the list have no return value printed -- they return the " @@ -160,7 +151,7 @@ msgstr "" "retornam o ``None`` padrão. [#]_ Isto é um princípio de design para todas as " "estruturas de dados mutáveis em Python." -#: ../../tutorial/datastructures.rst:128 +#: ../../tutorial/datastructures.rst:127 msgid "" "Another thing you might notice is that not all data can be sorted or " "compared. For instance, ``[None, 'hello', 10]`` doesn't sort because " @@ -175,29 +166,29 @@ msgstr "" "dados que não possuem uma relação de ordem definida. Por exemplo, ``3+4j < " "5+7j`` não é uma comparação válida." -#: ../../tutorial/datastructures.rst:139 +#: ../../tutorial/datastructures.rst:138 msgid "Using Lists as Stacks" msgstr "Usando listas como pilhas" -#: ../../tutorial/datastructures.rst:144 +#: ../../tutorial/datastructures.rst:143 msgid "" "The list methods make it very easy to use a list as a stack, where the last " "element added is the first element retrieved (\"last-in, first-out\"). To " -"add an item to the top of the stack, use :meth:`append`. To retrieve an " -"item from the top of the stack, use :meth:`pop` without an explicit index. " -"For example::" +"add an item to the top of the stack, use :meth:`~list.append`. To retrieve " +"an item from the top of the stack, use :meth:`~list.pop` without an explicit " +"index. For example::" msgstr "" "Os métodos de lista tornam muito fácil utilizar listas como pilhas, onde o " "item adicionado por último é o primeiro a ser recuperado (política “último a " -"entrar, primeiro a sair”). Para adicionar um item ao topo da pilha, use :" -"meth:`append`. Para recuperar um item do topo da pilha use :meth:`pop` sem " -"nenhum índice. Por exemplo::" +"entrar, primeiro a sair”). Para adicionar um item ao topo da pilha, " +"use :meth:`~list.append`. Para recuperar um item do topo da pilha " +"use :meth:`~list.pop` sem nenhum índice explícito. Por exemplo::" -#: ../../tutorial/datastructures.rst:169 +#: ../../tutorial/datastructures.rst:168 msgid "Using Lists as Queues" msgstr "Usando listas como filas" -#: ../../tutorial/datastructures.rst:173 +#: ../../tutorial/datastructures.rst:172 msgid "" "It is also possible to use a list as a queue, where the first element added " "is the first element retrieved (\"first-in, first-out\"); however, lists are " @@ -212,7 +203,7 @@ msgstr "" "ou *pops* no início da lista é lento (porque todos os demais elementos têm " "que ser deslocados)." -#: ../../tutorial/datastructures.rst:179 +#: ../../tutorial/datastructures.rst:178 msgid "" "To implement a queue, use :class:`collections.deque` which was designed to " "have fast appends and pops from both ends. For example::" @@ -221,11 +212,11 @@ msgstr "" "projetada para permitir *appends* e *pops* eficientes nas duas extremidades. " "Por exemplo::" -#: ../../tutorial/datastructures.rst:197 +#: ../../tutorial/datastructures.rst:196 msgid "List Comprehensions" msgstr "Compreensões de lista" -#: ../../tutorial/datastructures.rst:199 +#: ../../tutorial/datastructures.rst:198 msgid "" "List comprehensions provide a concise way to create lists. Common " "applications are to make new lists where each element is the result of some " @@ -235,16 +226,16 @@ msgstr "" "Compreensões de lista fornece uma maneira concisa de criar uma lista. " "Aplicações comuns são criar novas listas onde cada elemento é o resultado de " "alguma operação aplicada a cada elemento de outra sequência ou iterável, ou " -"criar uma subsequência de elementos que satisfaçam uma certa condição. (N.d." -"T. o termo original em inglês é *list comprehensions*, muito utilizado no " -"Brasil; também se usa a abreviação *listcomp*)." +"criar uma subsequência de elementos que satisfaçam uma certa condição. " +"(N.d.T. o termo original em inglês é *list comprehensions*, muito utilizado " +"no Brasil; também se usa a abreviação *listcomp*)." -#: ../../tutorial/datastructures.rst:204 +#: ../../tutorial/datastructures.rst:203 msgid "For example, assume we want to create a list of squares, like::" msgstr "" "Por exemplo, suponha que queremos criar uma lista de quadrados, assim::" -#: ../../tutorial/datastructures.rst:213 +#: ../../tutorial/datastructures.rst:212 msgid "" "Note that this creates (or overwrites) a variable named ``x`` that still " "exists after the loop completes. We can calculate the list of squares " @@ -254,15 +245,15 @@ msgstr "" "existe após o término do laço. Podemos calcular a lista dos quadrados sem " "qualquer efeito colateral usando::" -#: ../../tutorial/datastructures.rst:219 +#: ../../tutorial/datastructures.rst:218 msgid "or, equivalently::" msgstr "ou, de maneira equivalente::" -#: ../../tutorial/datastructures.rst:223 +#: ../../tutorial/datastructures.rst:222 msgid "which is more concise and readable." msgstr "que é mais conciso e legível." -#: ../../tutorial/datastructures.rst:225 +#: ../../tutorial/datastructures.rst:224 msgid "" "A list comprehension consists of brackets containing an expression followed " "by a :keyword:`!for` clause, then zero or more :keyword:`!for` or :keyword:`!" @@ -278,11 +269,11 @@ msgstr "" "for` e :keyword:`!if`. Por exemplo, essa compreensão combina os elementos de " "duas listas se eles forem diferentes::" -#: ../../tutorial/datastructures.rst:235 +#: ../../tutorial/datastructures.rst:234 msgid "and it's equivalent to::" msgstr "e é equivalente a::" -#: ../../tutorial/datastructures.rst:246 +#: ../../tutorial/datastructures.rst:245 msgid "" "Note how the order of the :keyword:`for` and :keyword:`if` statements is the " "same in both these snippets." @@ -290,7 +281,7 @@ msgstr "" "Note como a ordem das instruções :keyword:`for` e :keyword:`if` é a mesma em " "ambos os trechos." -#: ../../tutorial/datastructures.rst:249 +#: ../../tutorial/datastructures.rst:248 msgid "" "If the expression is a tuple (e.g. the ``(x, y)`` in the previous example), " "it must be parenthesized. ::" @@ -298,17 +289,17 @@ msgstr "" "Se a expressão é uma tupla (ex., ``(x, y)`` no exemplo anterior), ela deve " "ser inserida entre parênteses. ::" -#: ../../tutorial/datastructures.rst:280 +#: ../../tutorial/datastructures.rst:279 msgid "" "List comprehensions can contain complex expressions and nested functions::" msgstr "" "Compreensões de lista podem conter expressões complexas e funções aninhadas::" -#: ../../tutorial/datastructures.rst:287 +#: ../../tutorial/datastructures.rst:286 msgid "Nested List Comprehensions" msgstr "Compreensões de lista aninhadas" -#: ../../tutorial/datastructures.rst:289 +#: ../../tutorial/datastructures.rst:288 msgid "" "The initial expression in a list comprehension can be any arbitrary " "expression, including another list comprehension." @@ -316,7 +307,7 @@ msgstr "" "A expressão inicial em uma compreensão de lista pode ser qualquer expressão " "arbitrária, incluindo outra compreensão de lista." -#: ../../tutorial/datastructures.rst:292 +#: ../../tutorial/datastructures.rst:291 msgid "" "Consider the following example of a 3x4 matrix implemented as a list of 3 " "lists of length 4::" @@ -324,11 +315,11 @@ msgstr "" "Observe este exemplo de uma matriz 3x4 implementada como uma lista de 3 " "listas de comprimento 4::" -#: ../../tutorial/datastructures.rst:301 +#: ../../tutorial/datastructures.rst:300 msgid "The following list comprehension will transpose rows and columns::" msgstr "A compreensão de lista abaixo transpõe as linhas e colunas::" -#: ../../tutorial/datastructures.rst:306 +#: ../../tutorial/datastructures.rst:305 msgid "" "As we saw in the previous section, the inner list comprehension is evaluated " "in the context of the :keyword:`for` that follows it, so this example is " @@ -338,50 +329,52 @@ msgstr "" "contexto da cláusula :keyword:`for` seguinte, portanto o exemplo acima " "equivale a::" -#: ../../tutorial/datastructures.rst:317 +#: ../../tutorial/datastructures.rst:316 msgid "which, in turn, is the same as::" msgstr "e isso, por sua vez, faz o mesmo que isto::" -#: ../../tutorial/datastructures.rst:330 +#: ../../tutorial/datastructures.rst:329 msgid "" "In the real world, you should prefer built-in functions to complex flow " "statements. The :func:`zip` function would do a great job for this use case::" msgstr "" "Na prática, você deve dar preferência a funções embutidas em vez de " -"expressões complexas. A função :func:`zip` resolve muito bem este caso de " +"instruções complexas. A função :func:`zip` resolve muito bem este caso de " "uso::" -#: ../../tutorial/datastructures.rst:336 +#: ../../tutorial/datastructures.rst:335 msgid "" "See :ref:`tut-unpacking-arguments` for details on the asterisk in this line." msgstr "" "Veja :ref:`tut-unpacking-arguments` para entender o uso do asterisco neste " "exemplo." -#: ../../tutorial/datastructures.rst:341 +#: ../../tutorial/datastructures.rst:340 msgid "The :keyword:`!del` statement" msgstr "A instrução :keyword:`!del`" -#: ../../tutorial/datastructures.rst:343 +#: ../../tutorial/datastructures.rst:342 msgid "" "There is a way to remove an item from a list given its index instead of its " -"value: the :keyword:`del` statement. This differs from the :meth:`pop` " -"method which returns a value. The :keyword:`!del` statement can also be " -"used to remove slices from a list or clear the entire list (which we did " -"earlier by assignment of an empty list to the slice). For example::" +"value: the :keyword:`del` statement. This differs from " +"the :meth:`~list.pop` method which returns a value. The :keyword:`!del` " +"statement can also be used to remove slices from a list or clear the entire " +"list (which we did earlier by assignment of an empty list to the slice). " +"For example::" msgstr "" "Existe uma maneira de remover um item de uma lista usando seu índice no " -"lugar do seu valor: a instrução :keyword:`del`. Ele difere do método :meth:" -"`pop` que devolve um valor. A instrução :keyword:`!del` pode também ser " -"utilizada para remover fatias de uma lista ou limpar a lista inteira (que " -"fizemos antes atribuindo uma lista vazia à fatia ``a[:]``). Por exemplo::" +"lugar do seu valor: a instrução :keyword:`del`. Ele difere do " +"método :meth:`~list.pop` que devolve um valor. A instrução :keyword:`!del` " +"pode também ser utilizada para remover fatias de uma lista ou limpar a lista " +"inteira (que fizemos antes por atribuição de uma lista vazia à fatia " +"``a[:]``). Por exemplo::" -#: ../../tutorial/datastructures.rst:360 +#: ../../tutorial/datastructures.rst:359 msgid ":keyword:`del` can also be used to delete entire variables::" msgstr "" ":keyword:`del` também pode ser usado para remover totalmente uma variável::" -#: ../../tutorial/datastructures.rst:364 +#: ../../tutorial/datastructures.rst:363 msgid "" "Referencing the name ``a`` hereafter is an error (at least until another " "value is assigned to it). We'll find other uses for :keyword:`del` later." @@ -390,11 +383,11 @@ msgstr "" "menos até que seja feita uma nova atribuição para ela). Encontraremos outros " "usos para a instrução :keyword:`del` mais tarde." -#: ../../tutorial/datastructures.rst:371 +#: ../../tutorial/datastructures.rst:370 msgid "Tuples and Sequences" msgstr "Tuplas e Sequências" -#: ../../tutorial/datastructures.rst:373 +#: ../../tutorial/datastructures.rst:372 msgid "" "We saw that lists and strings have many common properties, such as indexing " "and slicing operations. They are two examples of *sequence* data types " @@ -403,19 +396,19 @@ msgid "" "the *tuple*." msgstr "" "Vimos que listas e strings têm muitas propriedades em comum, como indexação " -"e operações de fatiamento. Elas são dois exemplos de *sequências* (veja :ref:" -"`typesseq`). Como Python é uma linguagem em evolução, outros tipos de " -"sequências podem ser adicionados. Existe ainda um outro tipo de sequência " -"padrão na linguagem: a *tupla*." +"e operações de fatiamento. Elas são dois exemplos de *sequências* " +"(veja :ref:`typesseq`). Como Python é uma linguagem em evolução, outros " +"tipos de sequências podem ser adicionados. Existe ainda um outro tipo de " +"sequência padrão na linguagem: a *tupla*." -#: ../../tutorial/datastructures.rst:379 +#: ../../tutorial/datastructures.rst:378 msgid "" "A tuple consists of a number of values separated by commas, for instance::" msgstr "" "Uma tupla consiste em uma sequência de valores separados por vírgulas, por " "exemplo::" -#: ../../tutorial/datastructures.rst:401 +#: ../../tutorial/datastructures.rst:400 msgid "" "As you see, on output tuples are always enclosed in parentheses, so that " "nested tuples are interpreted correctly; they may be input with or without " @@ -432,25 +425,26 @@ msgstr "" "tupla, contudo é possível criar tuplas que contenham objetos mutáveis, como " "listas." -#: ../../tutorial/datastructures.rst:408 +#: ../../tutorial/datastructures.rst:407 msgid "" "Though tuples may seem similar to lists, they are often used in different " "situations and for different purposes. Tuples are :term:`immutable`, and " "usually contain a heterogeneous sequence of elements that are accessed via " "unpacking (see later in this section) or indexing (or even by attribute in " -"the case of :func:`namedtuples `). Lists are :term:" -"`mutable`, and their elements are usually homogeneous and are accessed by " -"iterating over the list." +"the case of :func:`namedtuples `). Lists " +"are :term:`mutable`, and their elements are usually homogeneous and are " +"accessed by iterating over the list." msgstr "" "Apesar de tuplas serem similares a listas, elas são frequentemente " -"utilizadas em situações diferentes e com propósitos distintos. Tuplas são :" -"term:`imutáveis `, e usualmente contém uma sequência heterogênea " -"de elementos que são acessados via desempacotamento (ver a seguir nessa " -"seção) ou índice (ou mesmo por um atributo no caso de :func:`namedtuples " -"`). Listas são :term:`mutáveis `, e seus " -"elementos geralmente são homogêneos e são acessados iterando sobre a lista." +"utilizadas em situações diferentes e com propósitos distintos. Tuplas " +"são :term:`imutáveis `, e usualmente contém uma sequência " +"heterogênea de elementos que são acessados via desempacotamento (ver a " +"seguir nessa seção) ou índice (ou mesmo por um atributo no caso " +"de :func:`namedtuples `). Listas são :term:`mutáveis " +"`, e seus elementos geralmente são homogêneos e são acessados " +"iterando sobre a lista." -#: ../../tutorial/datastructures.rst:416 +#: ../../tutorial/datastructures.rst:415 msgid "" "A special problem is the construction of tuples containing 0 or 1 items: the " "syntax has some extra quirks to accommodate these. Empty tuples are " @@ -461,10 +455,10 @@ msgstr "" "Um problema especial é a criação de tuplas contendo 0 ou 1 itens: a sintaxe " "usa certos truques para acomodar estes casos. Tuplas vazias são construídas " "por um par de parênteses vazios; uma tupla unitária é construída por um " -"único valor e uma vírgula entre parênteses (não basta colocar um único valor " -"entre parênteses). Feio, mas funciona. Por exemplo::" +"único valor seguido de uma vírgula (não basta colocar um único valor entre " +"parênteses). Feio, mas funciona. Por exemplo::" -#: ../../tutorial/datastructures.rst:431 +#: ../../tutorial/datastructures.rst:430 msgid "" "The statement ``t = 12345, 54321, 'hello!'`` is an example of *tuple " "packing*: the values ``12345``, ``54321`` and ``'hello!'`` are packed " @@ -474,7 +468,7 @@ msgstr "" "de tupla*: os valores ``12345``, ``54321`` e ``'bom dia!'`` são empacotados " "em uma tupla. A operação inversa também é possível::" -#: ../../tutorial/datastructures.rst:437 +#: ../../tutorial/datastructures.rst:436 msgid "" "This is called, appropriately enough, *sequence unpacking* and works for any " "sequence on the right-hand side. Sequence unpacking requires that there are " @@ -482,18 +476,18 @@ msgid "" "in the sequence. Note that multiple assignment is really just a combination " "of tuple packing and sequence unpacking." msgstr "" -"Isso é chamado, apropriadamente, de *sequência de desempacotamento* e " +"Isso é chamado, apropriadamente, de *desempacotamento de sequência* e " "funciona para qualquer sequência no lado direito. O desempacotamento de " "sequência requer que haja tantas variáveis no lado esquerdo do sinal de " "igual, quanto existem de elementos na sequência. Observe que a atribuição " "múltipla é, na verdade, apenas uma combinação de empacotamento de tupla e " "desempacotamento de sequência." -#: ../../tutorial/datastructures.rst:447 +#: ../../tutorial/datastructures.rst:446 msgid "Sets" msgstr "Conjuntos" -#: ../../tutorial/datastructures.rst:449 +#: ../../tutorial/datastructures.rst:448 msgid "" "Python also includes a data type for *sets*. A set is an unordered " "collection with no duplicate elements. Basic uses include membership " @@ -508,7 +502,7 @@ msgstr "" "operações matemáticas como união, interseção, diferença e diferença " "simétrica." -#: ../../tutorial/datastructures.rst:454 +#: ../../tutorial/datastructures.rst:453 msgid "" "Curly braces or the :func:`set` function can be used to create sets. Note: " "to create an empty set you have to use ``set()``, not ``{}``; the latter " @@ -520,11 +514,11 @@ msgstr "" "último cria um dicionário vazio, uma estrutura de dados que discutiremos na " "próxima seção." -#: ../../tutorial/datastructures.rst:458 +#: ../../tutorial/datastructures.rst:457 msgid "Here is a brief demonstration::" msgstr "Uma pequena demonstração::" -#: ../../tutorial/datastructures.rst:483 +#: ../../tutorial/datastructures.rst:482 msgid "" "Similarly to :ref:`list comprehensions `, set comprehensions " "are also supported::" @@ -532,22 +526,22 @@ msgstr "" "Da mesma forma que :ref:`compreensão de listas `, " "compreensões de conjunto também são suportadas::" -#: ../../tutorial/datastructures.rst:494 +#: ../../tutorial/datastructures.rst:493 msgid "Dictionaries" msgstr "Dicionários" -#: ../../tutorial/datastructures.rst:496 +#: ../../tutorial/datastructures.rst:495 msgid "" -"Another useful data type built into Python is the *dictionary* (see :ref:" -"`typesmapping`). Dictionaries are sometimes found in other languages as " -"\"associative memories\" or \"associative arrays\". Unlike sequences, which " -"are indexed by a range of numbers, dictionaries are indexed by *keys*, which " -"can be any immutable type; strings and numbers can always be keys. Tuples " -"can be used as keys if they contain only strings, numbers, or tuples; if a " -"tuple contains any mutable object either directly or indirectly, it cannot " -"be used as a key. You can't use lists as keys, since lists can be modified " -"in place using index assignments, slice assignments, or methods like :meth:" -"`append` and :meth:`extend`." +"Another useful data type built into Python is the *dictionary* " +"(see :ref:`typesmapping`). Dictionaries are sometimes found in other " +"languages as \"associative memories\" or \"associative arrays\". Unlike " +"sequences, which are indexed by a range of numbers, dictionaries are indexed " +"by *keys*, which can be any immutable type; strings and numbers can always " +"be keys. Tuples can be used as keys if they contain only strings, numbers, " +"or tuples; if a tuple contains any mutable object either directly or " +"indirectly, it cannot be used as a key. You can't use lists as keys, since " +"lists can be modified in place using index assignments, slice assignments, " +"or methods like :meth:`~list.append` and :meth:`~list.extend`." msgstr "" "Outra estrutura de dados muito útil embutida em Python é o *dicionário*, " "cujo tipo é ``dict`` (ver :ref:`typesmapping`). Dicionários são também " @@ -558,10 +552,10 @@ msgstr "" "contiverem apenas strings, inteiros ou outras tuplas. Se a tupla contiver, " "direta ou indiretamente, qualquer valor mutável, não poderá ser chave. " "Listas não podem ser usadas como chaves porque podem ser modificadas " -"*internamente* pela atribuição em índices ou fatias, e por métodos como :" -"meth:`append` e :meth:`extend`." +"*internamente* pela atribuição em índices ou fatias, e por métodos " +"como :meth:`~list.append` e :meth:`~list.extend`." -#: ../../tutorial/datastructures.rst:507 +#: ../../tutorial/datastructures.rst:506 msgid "" "It is best to think of a dictionary as a set of *key: value* pairs, with the " "requirement that the keys are unique (within one dictionary). A pair of " @@ -576,12 +570,12 @@ msgstr "" "exibido o conteúdo de um dicionário no console do Python. O dicionário vazio " "é ``{}``." -#: ../../tutorial/datastructures.rst:513 +#: ../../tutorial/datastructures.rst:512 msgid "" "The main operations on a dictionary are storing a value with some key and " -"extracting the value given the key. It is also possible to delete a key:" -"value pair with ``del``. If you store using a key that is already in use, " -"the old value associated with that key is forgotten. It is an error to " +"extracting the value given the key. It is also possible to delete a " +"key:value pair with ``del``. If you store using a key that is already in " +"use, the old value associated with that key is forgotten. It is an error to " "extract a value using a non-existent key." msgstr "" "As principais operações em um dicionário são armazenar e recuperar valores a " @@ -590,7 +584,7 @@ msgstr "" "presente, o antigo valor será substituído pelo novo. Se tentar recuperar um " "valor usando uma chave inexistente, será gerado um erro." -#: ../../tutorial/datastructures.rst:519 +#: ../../tutorial/datastructures.rst:518 msgid "" "Performing ``list(d)`` on a dictionary returns a list of all the keys used " "in the dictionary, in insertion order (if you want it sorted, just use " @@ -602,11 +596,11 @@ msgstr "" "usar a função ``sorted(d)``). Para verificar a existência de uma chave, use " "o operador :keyword:`in`." -#: ../../tutorial/datastructures.rst:524 +#: ../../tutorial/datastructures.rst:523 msgid "Here is a small example using a dictionary::" msgstr "A seguir, um exemplo de uso do dicionário::" -#: ../../tutorial/datastructures.rst:545 +#: ../../tutorial/datastructures.rst:544 msgid "" "The :func:`dict` constructor builds dictionaries directly from sequences of " "key-value pairs::" @@ -614,7 +608,7 @@ msgstr "" "O construtor :func:`dict` produz dicionários diretamente de sequências de " "pares chave-valor::" -#: ../../tutorial/datastructures.rst:551 +#: ../../tutorial/datastructures.rst:550 msgid "" "In addition, dict comprehensions can be used to create dictionaries from " "arbitrary key and value expressions::" @@ -622,7 +616,7 @@ msgstr "" "Além disso, as compreensões de dicionários podem ser usadas para criar " "dicionários a partir de expressões arbitrárias de chave e valor::" -#: ../../tutorial/datastructures.rst:557 +#: ../../tutorial/datastructures.rst:556 msgid "" "When the keys are simple strings, it is sometimes easier to specify pairs " "using keyword arguments::" @@ -630,19 +624,19 @@ msgstr "" "Quando chaves são strings simples, é mais fácil especificar os pares usando " "argumentos nomeados no construtor::" -#: ../../tutorial/datastructures.rst:567 +#: ../../tutorial/datastructures.rst:566 msgid "Looping Techniques" msgstr "Técnicas de iteração" -#: ../../tutorial/datastructures.rst:569 +#: ../../tutorial/datastructures.rst:568 msgid "" "When looping through dictionaries, the key and corresponding value can be " -"retrieved at the same time using the :meth:`items` method. ::" +"retrieved at the same time using the :meth:`~dict.items` method. ::" msgstr "" "Ao iterar sobre dicionários, a chave e o valor correspondente podem ser " -"obtidos simultaneamente usando o método :meth:`items`. ::" +"obtidos simultaneamente usando o método :meth:`~dict.items`. ::" -#: ../../tutorial/datastructures.rst:579 +#: ../../tutorial/datastructures.rst:578 msgid "" "When looping through a sequence, the position index and corresponding value " "can be retrieved at the same time using the :func:`enumerate` function. ::" @@ -650,7 +644,7 @@ msgstr "" "Ao iterar sobre sequências, a posição e o valor correspondente podem ser " "obtidos simultaneamente usando a função :func:`enumerate`. ::" -#: ../../tutorial/datastructures.rst:589 +#: ../../tutorial/datastructures.rst:588 msgid "" "To loop over two or more sequences at the same time, the entries can be " "paired with the :func:`zip` function. ::" @@ -658,36 +652,36 @@ msgstr "" "Para percorrer duas ou mais sequências ao mesmo tempo, as entradas podem ser " "pareadas com a função :func:`zip`. ::" -#: ../../tutorial/datastructures.rst:601 +#: ../../tutorial/datastructures.rst:600 msgid "" "To loop over a sequence in reverse, first specify the sequence in a forward " "direction and then call the :func:`reversed` function. ::" msgstr "" -"Para percorrer uma sequência em ordem inversa, chame a função :func:" -"`reversed` com a sequência na ordem original. ::" +"Para percorrer uma sequência em ordem inversa, chame a " +"função :func:`reversed` com a sequência na ordem original. ::" -#: ../../tutorial/datastructures.rst:613 +#: ../../tutorial/datastructures.rst:612 msgid "" "To loop over a sequence in sorted order, use the :func:`sorted` function " "which returns a new sorted list while leaving the source unaltered. ::" msgstr "" -"Para percorrer uma sequência de maneira ordenada, use a função :func:" -"`sorted`, que retorna uma lista ordenada com os itens, mantendo a sequência " -"original inalterada. ::" +"Para percorrer uma sequência de maneira ordenada, use a " +"função :func:`sorted`, que retorna uma lista ordenada com os itens, mantendo " +"a sequência original inalterada. ::" -#: ../../tutorial/datastructures.rst:627 +#: ../../tutorial/datastructures.rst:626 msgid "" -"Using :func:`set` on a sequence eliminates duplicate elements. The use of :" -"func:`sorted` in combination with :func:`set` over a sequence is an " +"Using :func:`set` on a sequence eliminates duplicate elements. The use " +"of :func:`sorted` in combination with :func:`set` over a sequence is an " "idiomatic way to loop over unique elements of the sequence in sorted " "order. ::" msgstr "" -"Usar :func:`set` em uma sequência elimina elementos duplicados. O uso de :" -"func:`sorted` em combinação com :func:`set` sobre uma sequência é uma " +"Usar :func:`set` em uma sequência elimina elementos duplicados. O uso " +"de :func:`sorted` em combinação com :func:`set` sobre uma sequência é uma " "maneira idiomática de fazer um loop sobre elementos exclusivos da sequência " "na ordem de classificação. ::" -#: ../../tutorial/datastructures.rst:640 +#: ../../tutorial/datastructures.rst:639 msgid "" "It is sometimes tempting to change a list while you are looping over it; " "however, it is often simpler and safer to create a new list instead. ::" @@ -695,19 +689,19 @@ msgstr "" "Às vezes é tentador alterar uma lista enquanto você itera sobre ela; porém, " "costuma ser mais simples e seguro criar uma nova lista. ::" -#: ../../tutorial/datastructures.rst:657 +#: ../../tutorial/datastructures.rst:656 msgid "More on Conditions" msgstr "Mais sobre condições" -#: ../../tutorial/datastructures.rst:659 +#: ../../tutorial/datastructures.rst:658 msgid "" "The conditions used in ``while`` and ``if`` statements can contain any " "operators, not just comparisons." msgstr "" -"As condições de controle usadas em ``while`` e ``if`` podem conter quaisquer " -"operadores, não apenas comparações." +"As condições de controle usadas nas instruções ``while`` e ``if`` podem " +"conter quaisquer operadores, não apenas comparações." -#: ../../tutorial/datastructures.rst:663 +#: ../../tutorial/datastructures.rst:662 msgid "" "The comparison operators ``in`` and ``not in`` are membership tests that " "determine whether a value is in (or not in) a container. The operators " @@ -721,7 +715,7 @@ msgstr "" "Todos os operadores de comparação possuem a mesma prioridade, que é menor " "que a prioridade de todos os operadores numéricos." -#: ../../tutorial/datastructures.rst:669 +#: ../../tutorial/datastructures.rst:668 msgid "" "Comparisons can be chained. For example, ``a < b == c`` tests whether ``a`` " "is less than ``b`` and moreover ``b`` equals ``c``." @@ -729,7 +723,7 @@ msgstr "" "Comparações podem ser encadeadas: Por exemplo ``a < b == c`` testa se ``a`` " "é menor que ``b`` e também se ``b`` é igual a ``c``." -#: ../../tutorial/datastructures.rst:672 +#: ../../tutorial/datastructures.rst:671 msgid "" "Comparisons may be combined using the Boolean operators ``and`` and ``or``, " "and the outcome of a comparison (or of any other Boolean expression) may be " @@ -746,7 +740,7 @@ msgstr "" "B or C`` é equivalente a ``(A and (not B)) or C``. Naturalmente, parênteses " "podem ser usados para expressar o agrupamento desejado." -#: ../../tutorial/datastructures.rst:679 +#: ../../tutorial/datastructures.rst:678 msgid "" "The Boolean operators ``and`` and ``or`` are so-called *short-circuit* " "operators: their arguments are evaluated from left to right, and evaluation " @@ -763,7 +757,7 @@ msgstr "" "e não como booleanos, o valor do resultado de um operador curto-circuito é o " "último valor avaliado na expressão." -#: ../../tutorial/datastructures.rst:686 +#: ../../tutorial/datastructures.rst:685 msgid "" "It is possible to assign the result of a comparison or other Boolean " "expression to a variable. For example, ::" @@ -771,7 +765,7 @@ msgstr "" "É possível atribuir o resultado de uma comparação ou outra expressão " "booleana para uma variável. Por exemplo::" -#: ../../tutorial/datastructures.rst:694 +#: ../../tutorial/datastructures.rst:693 msgid "" "Note that in Python, unlike C, assignment inside expressions must be done " "explicitly with the :ref:`walrus operator ` ``:=``. Isso evita uma classe comum de " "problemas encontrados nos programas C: digitar ``=`` em uma expressão quando " "``==`` era o planejado." -#: ../../tutorial/datastructures.rst:704 +#: ../../tutorial/datastructures.rst:703 msgid "Comparing Sequences and Other Types" msgstr "Comparando sequências e outros tipos" -#: ../../tutorial/datastructures.rst:705 +#: ../../tutorial/datastructures.rst:704 msgid "" "Sequence objects typically may be compared to other objects with the same " "sequence type. The comparison uses *lexicographical* ordering: first the " @@ -816,7 +810,7 @@ msgstr "" "utiliza codificação Unicode para definir a ordenação. Alguns exemplos de " "comparações entre sequências do mesmo tipo::" -#: ../../tutorial/datastructures.rst:725 +#: ../../tutorial/datastructures.rst:724 msgid "" "Note that comparing objects of different types with ``<`` or ``>`` is legal " "provided that the objects have appropriate comparison methods. For example, " @@ -828,14 +822,14 @@ msgstr "" "desde que os objetos possuam os métodos de comparação apropriados. Por " "exemplo, tipos numéricos mistos são comparados de acordo com os seus valores " "numéricos, portanto 0 é igual a 0.0, etc. Em caso contrário, ao invés de " -"fornecer uma ordenação arbitrária, o interpretador levantará um :exc:" -"`TypeError`." +"fornecer uma ordenação arbitrária, o interpretador levantará " +"um :exc:`TypeError`." -#: ../../tutorial/datastructures.rst:733 +#: ../../tutorial/datastructures.rst:732 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../tutorial/datastructures.rst:734 +#: ../../tutorial/datastructures.rst:733 msgid "" "Other languages may return the mutated object, which allows method chaining, " "such as ``d->insert(\"a\")->remove(\"b\")->sort();``." diff --git a/tutorial/errors.po b/tutorial/errors.po index 8825f74aa..e4960d768 100644 --- a/tutorial/errors.po +++ b/tutorial/errors.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# Adorilson Bezerra , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -54,19 +51,19 @@ msgstr "" #: ../../tutorial/errors.rst:26 msgid "" -"The parser repeats the offending line and displays a little 'arrow' pointing " -"at the earliest point in the line where the error was detected. The error " -"is caused by (or at least detected at) the token *preceding* the arrow: in " -"the example, the error is detected at the function :func:`print`, since a " -"colon (``':'``) is missing before it. File name and line number are printed " -"so you know where to look in case the input came from a script." +"The parser repeats the offending line and displays little 'arrow's pointing " +"at the token in the line where the error was detected. The error may be " +"caused by the absence of a token *before* the indicated token. In the " +"example, the error is detected at the function :func:`print`, since a colon " +"(``':'``) is missing before it. File name and line number are printed so " +"you know where to look in case the input came from a script." msgstr "" -"O parser repete a linha inválida e apresenta uma pequena 'seta' apontando " -"para o ponto da linha em que o erro foi detectado. O erro é causado (ou ao " -"menos detectado) pelo símbolo que *precede* a seta: no exemplo, o erro foi " -"detectado na função :func:`print`, uma vez que um dois-pontos (``':'``) está " -"faltando antes dela. O nome de arquivo e número de linha são exibidos para " -"que você possa rastrear o erro no texto do script." +"O analisador sintático repete a linha inválida e apresenta uma pequena " +"'seta' apontando para o ponto da linha em que o erro foi detectado. O erro " +"deve ter sido causado pela ausência do símbolo que *precede* a seta. No " +"exemplo, o erro foi detectado na função :func:`print`, uma vez que um dois-" +"pontos (``':'``) está faltando antes dela. O nome de arquivo e número de " +"linha são exibidos para que você possa rastrear o erro no texto do script." #: ../../tutorial/errors.rst:37 msgid "Exceptions" @@ -91,12 +88,12 @@ msgstr "" msgid "" "The last line of the error message indicates what happened. Exceptions come " "in different types, and the type is printed as part of the message: the " -"types in the example are :exc:`ZeroDivisionError`, :exc:`NameError` and :exc:" -"`TypeError`. The string printed as the exception type is the name of the " -"built-in exception that occurred. This is true for all built-in exceptions, " -"but need not be true for user-defined exceptions (although it is a useful " -"convention). Standard exception names are built-in identifiers (not reserved " -"keywords)." +"types in the example are :exc:`ZeroDivisionError`, :exc:`NameError` " +"and :exc:`TypeError`. The string printed as the exception type is the name " +"of the built-in exception that occurred. This is true for all built-in " +"exceptions, but need not be true for user-defined exceptions (although it is " +"a useful convention). Standard exception names are built-in identifiers (not " +"reserved keywords)." msgstr "" "A última linha da mensagem de erro indica o que aconteceu. Exceções surgem " "com diferentes tipos, e o tipo é exibido como parte da mensagem: os tipos no " @@ -141,17 +138,17 @@ msgstr "Tratamento de exceções" msgid "" "It is possible to write programs that handle selected exceptions. Look at " "the following example, which asks the user for input until a valid integer " -"has been entered, but allows the user to interrupt the program (using :kbd:" -"`Control-C` or whatever the operating system supports); note that a user-" -"generated interruption is signalled by raising the :exc:`KeyboardInterrupt` " -"exception. ::" +"has been entered, but allows the user to interrupt the program " +"(using :kbd:`Control-C` or whatever the operating system supports); note " +"that a user-generated interruption is signalled by raising " +"the :exc:`KeyboardInterrupt` exception. ::" msgstr "" "É possível escrever programas que tratam exceções específicas. Observe o " "exemplo seguinte, que pede dados ao usuário até que um inteiro válido seja " -"fornecido, ainda permitindo que o programa seja interrompido (utilizando :" -"kbd:`Control-C` ou seja lá o que for que o sistema operacional suporte); " -"note que uma interrupção gerada pelo usuário será sinalizada pela exceção :" -"exc:`KeyboardInterrupt`. ::" +"fornecido, ainda permitindo que o programa seja interrompido " +"(utilizando :kbd:`Control-C` ou seja lá o que o sistema operacional " +"suporte); note que uma interrupção gerada pelo usuário será sinalizada pela " +"exceção :exc:`KeyboardInterrupt`. ::" #: ../../tutorial/errors.rst:96 msgid "The :keyword:`try` statement works as follows." @@ -159,16 +156,16 @@ msgstr "A instrução :keyword:`try` funciona da seguinte maneira:" #: ../../tutorial/errors.rst:98 msgid "" -"First, the *try clause* (the statement(s) between the :keyword:`try` and :" -"keyword:`except` keywords) is executed." +"First, the *try clause* (the statement(s) between the :keyword:`try` " +"and :keyword:`except` keywords) is executed." msgstr "" "Primeiramente, a *cláusula try* (o conjunto de instruções entre as palavras " "reservadas :keyword:`try` e :keyword:`except` ) é executada." #: ../../tutorial/errors.rst:101 msgid "" -"If no exception occurs, the *except clause* is skipped and execution of the :" -"keyword:`try` statement is finished." +"If no exception occurs, the *except clause* is skipped and execution of " +"the :keyword:`try` statement is finished." msgstr "" "Se nenhuma exceção ocorrer, a *cláusula except* é ignorada e a execução da " "instrução :keyword:`try` é finalizada." @@ -180,26 +177,25 @@ msgid "" "named after the :keyword:`except` keyword, the *except clause* is executed, " "and then execution continues after the try/except block." msgstr "" -"Se ocorrer uma exceção durante a execução de uma cláusura :keyword:`try`, as " -"instruções remanescentes na cláusula são ignoradas. Se o tipo da exceção " -"ocorrida tiver sido previsto em algum :keyword:`except`, essa *cláusura " -"except* é executada, e então depois a execução continua após o bloco try/" -"except." +"Se ocorrer uma exceção durante a execução de uma cláusula :keyword:`try`, as " +"instruções remanescentes nela são ignoradas. Se o tipo da exceção ocorrida " +"tiver sido previsto em algum :keyword:`except`, essa *cláusula except* é " +"executada, e então depois a execução continua após o bloco try/except." #: ../../tutorial/errors.rst:109 msgid "" "If an exception occurs which does not match the exception named in the " "*except clause*, it is passed on to outer :keyword:`try` statements; if no " -"handler is found, it is an *unhandled exception* and execution stops with a " -"message as shown above." +"handler is found, it is an *unhandled exception* and execution stops with an " +"error message." msgstr "" "Se a exceção levantada não corresponder a nenhuma exceção listada na " -"*cláusula de exceção*, então ela é entregue a uma instrução :keyword:`try` " -"mais externa. Se não existir nenhum tratador previsto para tal exceção, " -"trata-se de uma *exceção não tratada* e a execução do programa termina com " -"uma mensagem de erro." +"*cláusula de exceção*, ela é encaminhada a uma instrução :keyword:`try` mais " +"externa. Se não houver nenhum tratador previsto para essa exceção, trata-se " +"de uma *exceção não tratada* e a execução do programa termina com uma " +"mensagem de erro." -#: ../../tutorial/errors.rst:114 +#: ../../tutorial/errors.rst:113 msgid "" "A :keyword:`try` statement may have more than one *except clause*, to " "specify handlers for different exceptions. At most one handler will be " @@ -216,7 +212,7 @@ msgstr "" "Uma *cláusula de exceção* pode ser sensível a múltiplas exceções, desde que " "as especifique em uma tupla, por exemplo::" -#: ../../tutorial/errors.rst:123 +#: ../../tutorial/errors.rst:122 msgid "" "A class in an :keyword:`except` clause is compatible with an exception if it " "is the same class or a base class thereof (but not the other way around --- " @@ -229,7 +225,7 @@ msgstr "" "compatível com uma classe base). Por exemplo, o seguinte código irá mostrar " "B, C, D nesta ordem::" -#: ../../tutorial/errors.rst:147 +#: ../../tutorial/errors.rst:146 msgid "" "Note that if the *except clauses* were reversed (with ``except B`` first), " "it would have printed B, B, B --- the first matching *except clause* is " @@ -239,7 +235,7 @@ msgstr "" "início), seria exibido B, B, B --- somente a primeira *cláusula de exceção* " "compatível é ativada." -#: ../../tutorial/errors.rst:150 +#: ../../tutorial/errors.rst:149 msgid "" "When an exception occurs, it may have associated values, also known as the " "exception's *arguments*. The presence and types of the arguments depend on " @@ -249,47 +245,47 @@ msgstr "" "*argumentos* da exceção. A presença e os tipos dos argumentos dependem do " "tipo da exceção." -#: ../../tutorial/errors.rst:154 +#: ../../tutorial/errors.rst:153 msgid "" "The *except clause* may specify a variable after the exception name. The " "variable is bound to the exception instance which typically has an ``args`` " "attribute that stores the arguments. For convenience, builtin exception " -"types define :meth:`__str__` to print all the arguments without explicitly " -"accessing ``.args``. ::" +"types define :meth:`~object.__str__` to print all the arguments without " +"explicitly accessing ``.args``. ::" msgstr "" "A *cláusula except* pode especificar uma variável após o nome da exceção. A " "variável está vinculada à instância de exceção que normalmente possui um " "atributo ``args`` que armazena os argumentos. Por conveniência, os tipos de " -"exceção embutidos definem :meth:`__str__` para exibir todos os argumentos " -"sem acessar explicitamente ``.args``. ::" +"exceção embutidos definem :meth:`~object.__str__` para exibir todos os " +"argumentos sem acessar explicitamente ``.args``. ::" -#: ../../tutorial/errors.rst:177 +#: ../../tutorial/errors.rst:176 msgid "" -"The exception's :meth:`__str__` output is printed as the last part " +"The exception's :meth:`~object.__str__` output is printed as the last part " "('detail') of the message for unhandled exceptions." msgstr "" -"A saída :meth:`__str__` da exceção é exibida como a última parte " +"A saída :meth:`~object.__str__` da exceção é exibida como a última parte " "(\"detalhe\") da mensagem para exceções não tratadas." -#: ../../tutorial/errors.rst:180 +#: ../../tutorial/errors.rst:179 msgid "" ":exc:`BaseException` is the common base class of all exceptions. One of its " "subclasses, :exc:`Exception`, is the base class of all the non-fatal " "exceptions. Exceptions which are not subclasses of :exc:`Exception` are not " "typically handled, because they are used to indicate that the program should " -"terminate. They include :exc:`SystemExit` which is raised by :meth:`sys." -"exit` and :exc:`KeyboardInterrupt` which is raised when a user wishes to " -"interrupt the program." +"terminate. They include :exc:`SystemExit` which is raised " +"by :meth:`sys.exit` and :exc:`KeyboardInterrupt` which is raised when a user " +"wishes to interrupt the program." msgstr "" ":exc:`BaseException` é a classe base comum de todas as exceções. Uma de suas " "subclasses, :exc:`Exception`, é a classe base de todas as exceções não " "fatais. Exceções que não são subclasses de :exc:`Exception` normalmente não " "são tratadas, pois são usadas para indicar que o programa deve terminar. " -"Elas incluem :exc:`SystemExit` que é kevantada por :meth:`sys.exit` e :exc:" -"`KeyboardInterrupt` que é levantada quando um usuário deseja interromper o " +"Elas incluem :exc:`SystemExit`, levantada por :meth:`sys.exit`, " +"e :exc:`KeyboardInterrupt`, levantada quando um usuário deseja interromper o " "programa." -#: ../../tutorial/errors.rst:188 +#: ../../tutorial/errors.rst:187 msgid "" ":exc:`Exception` can be used as a wildcard that catches (almost) everything. " "However, it is good practice to be as specific as possible with the types of " @@ -297,11 +293,11 @@ msgid "" "to propagate on." msgstr "" ":exc:`Exception` pode ser usada como um curinga que captura (quase) tudo. No " -"entanto, é uma boa prática ser o mais específico possível com os tipos de " -"exceções que pretendemos manipular e permitir que quaisquer exceções " +"entanto, é uma boa prática ser o mais específico possível quanto aos tipos " +"de exceções que pretendemos manipular, evitando que quaisquer exceções " "inesperadas se propaguem." -#: ../../tutorial/errors.rst:193 +#: ../../tutorial/errors.rst:192 msgid "" "The most common pattern for handling :exc:`Exception` is to print or log the " "exception and then re-raise it (allowing a caller to handle the exception as " @@ -311,7 +307,7 @@ msgstr "" "a exceção e então levantá-la novamente (permitindo que um chamador lide com " "a exceção também)::" -#: ../../tutorial/errors.rst:211 +#: ../../tutorial/errors.rst:210 msgid "" "The :keyword:`try` ... :keyword:`except` statement has an optional *else " "clause*, which, when present, must follow all *except clauses*. It is " @@ -319,38 +315,37 @@ msgid "" "exception. For example::" msgstr "" "A construção :keyword:`try` ... :keyword:`except` possui uma *cláusula else* " -"opcional, que quando presente, deve ser colocada depois de todas as outras " +"opcional que, quando presente, deve ser colocada após todas as demais " "cláusulas. É útil para um código que precisa ser executado se nenhuma " "exceção foi levantada. Por exemplo::" -#: ../../tutorial/errors.rst:225 +#: ../../tutorial/errors.rst:224 msgid "" "The use of the :keyword:`!else` clause is better than adding additional code " "to the :keyword:`try` clause because it avoids accidentally catching an " "exception that wasn't raised by the code being protected by the :keyword:`!" "try` ... :keyword:`!except` statement." msgstr "" -"É melhor usar a cláusula :keyword:`!else` do que adicionar código adicional " -"à cláusula :keyword:`try` porque ela evita que acidentalmente seja tratada " +"É melhor usar a cláusula :keyword:`!else` do que colocar código adicional na " +"cláusula :keyword:`try`, porque ela evita que, acidentalmente, seja tratada " "uma exceção que não foi levantada pelo código protegido pela construção com " "as instruções :keyword:`!try` ... :keyword:`!except`." -#: ../../tutorial/errors.rst:230 +#: ../../tutorial/errors.rst:229 msgid "" "Exception handlers do not handle only exceptions that occur immediately in " "the *try clause*, but also those that occur inside functions that are called " "(even indirectly) in the *try clause*. For example::" msgstr "" "Os manipuladores de exceção não tratam apenas exceções que ocorrem " -"imediatamente na *cláusula try*, mas também aquelas que ocorrem dentro de " -"funções que são chamadas (mesmo indiretamente) na *cláusula try*. Por " -"exemplo::" +"imediatamente na *cláusula try*, mas também as que ocorrem dentro de funções " +"chamadas (mesmo indiretamente) na *cláusula try*. Por exemplo::" -#: ../../tutorial/errors.rst:248 +#: ../../tutorial/errors.rst:247 msgid "Raising Exceptions" msgstr "Levantando exceções" -#: ../../tutorial/errors.rst:250 +#: ../../tutorial/errors.rst:249 msgid "" "The :keyword:`raise` statement allows the programmer to force a specified " "exception to occur. For example::" @@ -358,7 +353,7 @@ msgstr "" "A instrução :keyword:`raise` permite ao programador forçar a ocorrência de " "um determinado tipo de exceção. Por exemplo::" -#: ../../tutorial/errors.rst:258 +#: ../../tutorial/errors.rst:257 msgid "" "The sole argument to :keyword:`raise` indicates the exception to be raised. " "This must be either an exception instance or an exception class (a class " @@ -372,7 +367,7 @@ msgstr "" "uma de suas subclasses). Se uma classe de exceção for passada, será " "implicitamente instanciada invocando o seu construtor sem argumentos::" -#: ../../tutorial/errors.rst:266 +#: ../../tutorial/errors.rst:265 msgid "" "If you need to determine whether an exception was raised but don't intend to " "handle it, a simpler form of the :keyword:`raise` statement allows you to re-" @@ -382,11 +377,11 @@ msgstr "" "quer manipular o erro, uma forma simples de instrução :keyword:`raise` " "permite que você levante-a novamente::" -#: ../../tutorial/errors.rst:285 +#: ../../tutorial/errors.rst:284 msgid "Exception Chaining" msgstr "Encadeamento de exceções" -#: ../../tutorial/errors.rst:287 +#: ../../tutorial/errors.rst:286 msgid "" "If an unhandled exception occurs inside an :keyword:`except` section, it " "will have the exception being handled attached to it and included in the " @@ -396,21 +391,22 @@ msgstr "" "ela terá a exceção sendo tratada anexada a ela e incluída na mensagem de " "erro::" -#: ../../tutorial/errors.rst:306 +#: ../../tutorial/errors.rst:305 msgid "" -"To indicate that an exception is a direct consequence of another, the :" -"keyword:`raise` statement allows an optional :keyword:`from` clause::" +"To indicate that an exception is a direct consequence of another, " +"the :keyword:`raise` statement allows an optional :keyword:`from` " +"clause::" msgstr "" "Para indicar que uma exceção é uma consequência direta de outra, a " "instrução :keyword:`raise` permite uma cláusula opcional :keyword:`from " "`::" -#: ../../tutorial/errors.rst:312 +#: ../../tutorial/errors.rst:311 msgid "This can be useful when you are transforming exceptions. For example::" msgstr "" "Isso pode ser útil quando você está transformando exceções. Por exemplo::" -#: ../../tutorial/errors.rst:333 +#: ../../tutorial/errors.rst:332 msgid "" "It also allows disabling automatic exception chaining using the ``from " "None`` idiom::" @@ -418,18 +414,18 @@ msgstr "" "Ele também permite desabilitar o encadeamento automático de exceções usando " "o idioma ``from None``::" -#: ../../tutorial/errors.rst:345 +#: ../../tutorial/errors.rst:344 msgid "" "For more information about chaining mechanics, see :ref:`bltin-exceptions`." msgstr "" "Para mais informações sobre os mecanismos de encadeamento, veja :ref:`bltin-" "exceptions`." -#: ../../tutorial/errors.rst:351 +#: ../../tutorial/errors.rst:350 msgid "User-defined Exceptions" msgstr "Exceções definidas pelo usuário" -#: ../../tutorial/errors.rst:353 +#: ../../tutorial/errors.rst:352 msgid "" "Programs may name their own exceptions by creating a new exception class " "(see :ref:`tut-classes` for more about Python classes). Exceptions should " @@ -441,7 +437,7 @@ msgstr "" "Python). Exceções devem ser derivadas da classe :exc:`Exception`, direta ou " "indiretamente." -#: ../../tutorial/errors.rst:357 +#: ../../tutorial/errors.rst:356 msgid "" "Exception classes can be defined which do anything any other class can do, " "but are usually kept simple, often only offering a number of attributes that " @@ -453,7 +449,7 @@ msgstr "" "geralmente oferecendo apenas um número de atributos que permitem que " "informações sobre o erro sejam extraídas por manipuladores para a exceção." -#: ../../tutorial/errors.rst:361 +#: ../../tutorial/errors.rst:360 msgid "" "Most exceptions are defined with names that end in \"Error\", similar to the " "naming of the standard exceptions." @@ -461,7 +457,7 @@ msgstr "" "É comum que novas exceções sejam definidas com nomes terminando em " "\"Error\", semelhante a muitas exceções embutidas." -#: ../../tutorial/errors.rst:364 +#: ../../tutorial/errors.rst:363 msgid "" "Many standard modules define their own exceptions to report errors that may " "occur in functions they define." @@ -469,11 +465,11 @@ msgstr "" "Muitos módulos padrão definem suas próprias exceções para relatar erros que " "podem ocorrer nas funções que definem." -#: ../../tutorial/errors.rst:371 +#: ../../tutorial/errors.rst:370 msgid "Defining Clean-up Actions" msgstr "Definindo ações de limpeza" -#: ../../tutorial/errors.rst:373 +#: ../../tutorial/errors.rst:372 msgid "" "The :keyword:`try` statement has another optional clause which is intended " "to define clean-up actions that must be executed under all circumstances. " @@ -483,7 +479,7 @@ msgstr "" "permitir a implementação de ações de limpeza, que sempre devem ser " "executadas independentemente da ocorrência de exceções. Como no exemplo::" -#: ../../tutorial/errors.rst:387 +#: ../../tutorial/errors.rst:386 msgid "" "If a :keyword:`finally` clause is present, the :keyword:`!finally` clause " "will execute as the last task before the :keyword:`try` statement completes. " @@ -497,7 +493,7 @@ msgstr "" "instrução :keyword:`!try` produz uma exceção. Os pontos a seguir discutem " "casos mais complexos quando ocorre uma exceção:" -#: ../../tutorial/errors.rst:393 +#: ../../tutorial/errors.rst:392 msgid "" "If an exception occurs during execution of the :keyword:`!try` clause, the " "exception may be handled by an :keyword:`except` clause. If the exception is " @@ -509,62 +505,63 @@ msgstr "" "não for tratada por uma cláusula :keyword:`!except`, a exceção será gerada " "novamente após a execução da cláusula :keyword:`!finally`." -#: ../../tutorial/errors.rst:399 +#: ../../tutorial/errors.rst:398 msgid "" -"An exception could occur during execution of an :keyword:`!except` or :" -"keyword:`!else` clause. Again, the exception is re-raised after the :keyword:" -"`!finally` clause has been executed." +"An exception could occur during execution of an :keyword:`!except` " +"or :keyword:`!else` clause. Again, the exception is re-raised after " +"the :keyword:`!finally` clause has been executed." msgstr "" "Uma exceção pode ocorrer durante a execução de uma cláusula :keyword:`!" -"except` ou :keyword:`!else`. Novamente, a exceção é re-levantada depois que :" -"keyword:`!finally` é executada." +"except` ou :keyword:`!else`. Novamente, a exceção é re-levantada depois " +"que :keyword:`!finally` é executada." -#: ../../tutorial/errors.rst:403 +#: ../../tutorial/errors.rst:402 msgid "" -"If the :keyword:`!finally` clause executes a :keyword:`break`, :keyword:" -"`continue` or :keyword:`return` statement, exceptions are not re-raised." +"If the :keyword:`!finally` clause executes " +"a :keyword:`break`, :keyword:`continue` or :keyword:`return` statement, " +"exceptions are not re-raised." msgstr "" -"Se a cláusula :keyword:`!finally` executa uma instrução :keyword:`break`, :" -"keyword:`continue` ou :keyword:`return`, as exceções não são levantadas " -"novamente." +"Se a cláusula :keyword:`!finally` executa uma " +"instrução :keyword:`break`, :keyword:`continue` ou :keyword:`return`, as " +"exceções não são levantadas novamente." -#: ../../tutorial/errors.rst:407 +#: ../../tutorial/errors.rst:406 msgid "" -"If the :keyword:`!try` statement reaches a :keyword:`break`, :keyword:" -"`continue` or :keyword:`return` statement, the :keyword:`!finally` clause " -"will execute just prior to the :keyword:`!break`, :keyword:`!continue` or :" -"keyword:`!return` statement's execution." +"If the :keyword:`!try` statement reaches " +"a :keyword:`break`, :keyword:`continue` or :keyword:`return` statement, " +"the :keyword:`!finally` clause will execute just prior to the :keyword:`!" +"break`, :keyword:`!continue` or :keyword:`!return` statement's execution." msgstr "" -"Se a instrução :keyword:`!try` atingir uma instrução :keyword:`break`, :" -"keyword:`continue` ou :keyword:`return`, a cláusula :keyword:`!finally` será " -"executada imediatamente antes da execução da instrução :keyword:`!break`, :" -"keyword:`!continue` ou :keyword:`!return`." +"Se a instrução :keyword:`!try` atingir uma " +"instrução :keyword:`break`, :keyword:`continue` ou :keyword:`return`, a " +"cláusula :keyword:`!finally` será executada imediatamente antes da execução " +"da instrução :keyword:`!break`, :keyword:`!continue` ou :keyword:`!return`." -#: ../../tutorial/errors.rst:413 +#: ../../tutorial/errors.rst:412 msgid "" "If a :keyword:`!finally` clause includes a :keyword:`!return` statement, the " -"returned value will be the one from the :keyword:`!finally` clause's :" -"keyword:`!return` statement, not the value from the :keyword:`!try` " -"clause's :keyword:`!return` statement." +"returned value will be the one from the :keyword:`!finally` " +"clause's :keyword:`!return` statement, not the value from the :keyword:`!" +"try` clause's :keyword:`!return` statement." msgstr "" "Se uma cláusula :keyword:`!finally` incluir uma instrução :keyword:`!" "return`, o valor retornado será aquele da instrução :keyword:`!return` da " "cláusula :keyword:`!finally`, não o valor da instrução :keyword:`!return` da " "cláusula :keyword:`!try`." -#: ../../tutorial/errors.rst:419 +#: ../../tutorial/errors.rst:418 msgid "For example::" msgstr "Por exemplo::" -#: ../../tutorial/errors.rst:430 +#: ../../tutorial/errors.rst:429 msgid "A more complicated example::" msgstr "Um exemplo mais complicado::" -#: ../../tutorial/errors.rst:455 +#: ../../tutorial/errors.rst:454 msgid "" "As you can see, the :keyword:`finally` clause is executed in any event. " -"The :exc:`TypeError` raised by dividing two strings is not handled by the :" -"keyword:`except` clause and therefore re-raised after the :keyword:`!" +"The :exc:`TypeError` raised by dividing two strings is not handled by " +"the :keyword:`except` clause and therefore re-raised after the :keyword:`!" "finally` clause has been executed." msgstr "" "Como você pode ver, a cláusula :keyword:`finally` é executada em todos os " @@ -572,7 +569,7 @@ msgstr "" "é tratada pela cláusula :keyword:`except` e portanto é re-levantada depois " "que a cláusula :keyword:`!finally` é executada." -#: ../../tutorial/errors.rst:460 +#: ../../tutorial/errors.rst:459 msgid "" "In real world applications, the :keyword:`finally` clause is useful for " "releasing external resources (such as files or network connections), " @@ -582,11 +579,11 @@ msgstr "" "liberar recursos externos (como arquivos ou conexões de rede), " "independentemente do uso do recurso ter sido bem sucedido ou não." -#: ../../tutorial/errors.rst:468 +#: ../../tutorial/errors.rst:467 msgid "Predefined Clean-up Actions" msgstr "Ações de limpeza predefinidas" -#: ../../tutorial/errors.rst:470 +#: ../../tutorial/errors.rst:469 msgid "" "Some objects define standard clean-up actions to be undertaken when the " "object is no longer needed, regardless of whether or not the operation using " @@ -598,7 +595,7 @@ msgstr "" "usando o objeto ter sido ou não bem sucedida. Veja o exemplo a seguir, que " "tenta abrir um arquivo e exibir seu conteúdo na tela. ::" -#: ../../tutorial/errors.rst:478 +#: ../../tutorial/errors.rst:477 msgid "" "The problem with this code is that it leaves the file open for an " "indeterminate amount of time after this part of the code has finished " @@ -614,7 +611,7 @@ msgstr "" "utilizados com a certeza de que sempre serão prontamente e corretamente " "finalizados. ::" -#: ../../tutorial/errors.rst:488 +#: ../../tutorial/errors.rst:487 msgid "" "After the statement is executed, the file *f* is always closed, even if a " "problem was encountered while processing the lines. Objects which, like " @@ -626,11 +623,11 @@ msgstr "" "como arquivos, fornecem ações de limpeza predefinidas as indicarão em suas " "documentações." -#: ../../tutorial/errors.rst:496 +#: ../../tutorial/errors.rst:495 msgid "Raising and Handling Multiple Unrelated Exceptions" msgstr "Criando e tratando várias exceções não relacionadas" -#: ../../tutorial/errors.rst:498 +#: ../../tutorial/errors.rst:497 msgid "" "There are situations where it is necessary to report several exceptions that " "have occurred. This is often the case in concurrency frameworks, when " @@ -644,7 +641,7 @@ msgstr "" "que é desejável continuar a execução e coletar vários erros em vez de " "levantar a primeira exceção." -#: ../../tutorial/errors.rst:504 +#: ../../tutorial/errors.rst:503 msgid "" "The builtin :exc:`ExceptionGroup` wraps a list of exception instances so " "that they can be raised together. It is an exception itself, so it can be " @@ -654,7 +651,7 @@ msgstr "" "para que elas possam ser levantadas juntas. É uma exceção em si, portanto, " "pode ser capturada como qualquer outra exceção. ::" -#: ../../tutorial/errors.rst:530 +#: ../../tutorial/errors.rst:529 msgid "" "By using ``except*`` instead of ``except``, we can selectively handle only " "the exceptions in the group that match a certain type. In the following " @@ -669,7 +666,7 @@ msgstr "" "todas as outras exceções se propaguem para outras cláusulas e eventualmente " "sejam levantadas novamente. ::" -#: ../../tutorial/errors.rst:564 +#: ../../tutorial/errors.rst:572 msgid "" "Note that the exceptions nested in an exception group must be instances, not " "types. This is because in practice the exceptions would typically be ones " @@ -681,11 +678,11 @@ msgstr "" "normalmente seriam aquelas que já foram levantadas e capturadas pelo " "programa, seguindo o seguinte padrão::" -#: ../../tutorial/errors.rst:582 +#: ../../tutorial/errors.rst:592 msgid "Enriching Exceptions with Notes" msgstr "Enriquecendo exceções com notas" -#: ../../tutorial/errors.rst:584 +#: ../../tutorial/errors.rst:594 msgid "" "When an exception is created in order to be raised, it is usually " "initialized with information that describes the error that has occurred. " @@ -702,7 +699,7 @@ msgstr "" "adiciona à lista de notas da exceção. A renderização de traceback padrão " "inclui todas as notas, na ordem em que foram adicionadas, após a exceção. ::" -#: ../../tutorial/errors.rst:605 +#: ../../tutorial/errors.rst:615 msgid "" "For example, when collecting exceptions into an exception group, we may want " "to add context information for the individual errors. In the following each " diff --git a/tutorial/floatingpoint.po b/tutorial/floatingpoint.po index 341eee977..49c6e72d5 100644 --- a/tutorial/floatingpoint.po +++ b/tutorial/floatingpoint.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -52,17 +51,16 @@ msgid "" "numbers actually stored in the machine." msgstr "" "Infelizmente, muitas frações decimais não podem ser representadas " -"precisamente\n" -"como frações binárias. O resultado é que, em geral, os números decimais de\n" -"ponto flutuante que você digita acabam sendo armazenados de forma apenas\n" -"aproximada, na forma de números binários de ponto flutuante." +"precisamente como frações binárias. O resultado é que, em geral, os números " +"decimais de ponto flutuante que você digita acabam sendo armazenados de " +"forma apenas aproximada, na forma de números binários de ponto flutuante." #: ../../tutorial/floatingpoint.rst:26 msgid "" "The problem is easier to understand at first in base 10. Consider the " "fraction 1/3. You can approximate that as a base 10 fraction::" msgstr "" -"O problema é mais fácil de entender primeiro em base 10. Considere a fração\n" +"O problema é mais fácil de entender primeiro em base 10. Considere a fração " "1/3. Podemos representá-la aproximadamente como uma fração base 10::" #: ../../tutorial/floatingpoint.rst:31 ../../tutorial/floatingpoint.rst:35 @@ -76,9 +74,8 @@ msgid "" "approximation of 1/3." msgstr "" "e assim por diante. Não importa quantos dígitos você está disposto a " -"escrever,\n" -"o resultado nunca será exatamente 1/3, mas será uma aproximação de cada vez\n" -"melhor de 1/3." +"escrever, o resultado nunca será exatamente 1/3, mas será uma aproximação de " +"cada vez melhor de 1/3." #: ../../tutorial/floatingpoint.rst:43 msgid "" @@ -116,22 +113,21 @@ msgid "" "if Python were to print the true decimal value of the binary approximation " "stored for 0.1, it would have to display ::" msgstr "" -"É fácil esquecer que o valor armazenado é uma aproximação da fração decimal " -"original, devido à forma como os floats são exibidos no interpretador " -"interativo. O Python exibe apenas uma aproximação decimal do verdadeiro " -"valor decimal da aproximação binária armazenada pela máquina. Se o Python " -"exibisse o verdadeiro valor decimal da aproximação binária que representa o " -"decimal 0.1, seria necessário mostrar::" +"Muitos usuários não estão cientes da aproximação devido à forma como os " +"valores são exibidos. O Python exibe apenas uma aproximação decimal do " +"verdadeiro valor decimal da aproximação binária armazenada pela máquina. Na " +"maioria das máquinas, se o Python exibisse o verdadeiro valor decimal da " +"aproximação binária que representa o decimal 0.1, seria necessário mostrar:" #: ../../tutorial/floatingpoint.rst:65 msgid "" "That is more digits than most people find useful, so Python keeps the number " "of digits manageable by displaying a rounded value instead ::" msgstr "" -"Contém muito mais dígitos do que é o esperado e utilizado pela grande " +"Isto contém muito mais dígitos do que é o esperado e utilizado pela grande " "maioria dos desenvolvedores, portanto, o Python limita o número de dígitos " "exibidos, apresentando um valor arredondado, ao invés de mostrar todas as " -"casas decimais::" +"casas decimais:" #: ../../tutorial/floatingpoint.rst:71 msgid "" @@ -156,7 +152,7 @@ msgstr "" "mesma fração binária aproximada. Por exemplo, os números ``0.1`` ou o " "``0.10000000000000001`` e " "``0.1000000000000000055511151231257827021181583404541015625`` são todos " -"aproximações de ``3602879701896397/2 ** 55``. Como todos esses valores " +"aproximações de ``3602879701896397 / 2 ** 55``. Como todos esses valores " "decimais compartilham um mesma de aproximação, qualquer um poderá ser " "exibido enquanto for preservado o invariante ``eval(repr(x)) == x``." @@ -193,8 +189,8 @@ msgid "" "limited number of significant digits::" msgstr "" "Para obter um valor mais agradável, poderás utilizar a formatação de " -"sequência de caracteres sendo capaz de gerar um número limitado de dígitos " -"significativos::" +"sequência de caracteres para produzir um número limitado de dígitos " +"significativos:" #: ../../tutorial/floatingpoint.rst:105 msgid "" @@ -209,19 +205,19 @@ msgid "" "One illusion may beget another. For example, since 0.1 is not exactly 1/10, " "summing three values of 0.1 may not yield exactly 0.3, either::" msgstr "" -"Uma ilusão pode gerar outra. Por exemplo, uma vez que 0,1 não é exatamente " +"Uma ilusão pode gerar outra. Por exemplo, uma vez que 0.1 não é exatamente " "1/10, somar três vezes o valor 0.1, não garantirá que o resultado seja " -"exatamente 0,3, isso porque::" +"exatamente 0.3, isso porque:" #: ../../tutorial/floatingpoint.rst:114 msgid "" "Also, since the 0.1 cannot get any closer to the exact value of 1/10 and 0.3 " -"cannot get any closer to the exact value of 3/10, then pre-rounding with :" -"func:`round` function cannot help::" +"cannot get any closer to the exact value of 3/10, then pre-rounding " +"with :func:`round` function cannot help::" msgstr "" -"Inclusive, uma vez que o 0,1 não consegue aproximar-se do valor exato de " -"1/10 e 0,3 não pode se aproximar mais do valor exato de 3/10, temos então " -"que o pré-arredondamento com a função :func:`round` não servirá como ajuda::" +"Inclusive, uma vez que o 0.1 não consegue aproximar-se do valor exato de " +"1/10 e 0.3 não pode se aproximar mais do valor exato de 3/10, temos então " +"que o pré-arredondamento com a função :func:`round` não servirá como ajuda:" #: ../../tutorial/floatingpoint.rst:121 msgid "" @@ -232,23 +228,30 @@ msgstr "" "Embora os números não possam se aproximar mais dos exatos valores que " "desejamos, a função :func:`round` poderá ser útil na obtenção do pós-" "arredondamento para que os resultados contendo valores inexatos se tornem " -"comparáveis uns aos outros::" +"comparáveis uns aos outros:" #: ../../tutorial/floatingpoint.rst:128 msgid "" "Binary floating-point arithmetic holds many surprises like this. The " "problem with \"0.1\" is explained in precise detail below, in the " -"\"Representation Error\" section. See `The Perils of Floating Point " -"`_ for a more complete account of other " -"common surprises." -msgstr "" -"A aritmética de ponto flutuante binário traz muitas surpresas como essas. O " -"problema do \"0.1\" é explicado em detalhes precisos abaixo, na seção \"Erro " -"de Representação\". Para uma descrição mais completa de outras surpresas que " -"comumente nos deparamos, veja a seção `The Perils of Floating Point `_ que contém diversos exemplos distintos." - -#: ../../tutorial/floatingpoint.rst:133 +"\"Representation Error\" section. See `Examples of Floating Point Problems " +"`_ for " +"a pleasant summary of how binary floating-point works and the kinds of " +"problems commonly encountered in practice. Also see `The Perils of Floating " +"Point `_ for a more complete " +"account of other common surprises." +msgstr "" +"A aritmética binária de ponto flutuante contém muitas surpresas como essa. O " +"problema com \"0.1\" é explicado em detalhes precisos abaixo, na seção " +"\"Erro de representação\". Consulte `Exemplos de problemas de ponto " +"flutuante `_ (em inglês) para obter um resumo agradável de como o ponto " +"flutuante binário funciona e os tipos de problemas comumente encontrados na " +"prática. Veja também `Os perigos do ponto flutuante `_ (em inglês) para um relato mais " +"completo de outras surpresas comuns." + +#: ../../tutorial/floatingpoint.rst:137 msgid "" "As that says near the end, \"there are no easy answers.\" Still, don't be " "unduly wary of floating-point! The errors in Python float operations are " @@ -267,13 +270,13 @@ msgstr "" "decimal e que toda operação com o tipo float poderá via a apresentar novos " "problemas referentes ao arredondamento." -#: ../../tutorial/floatingpoint.rst:140 +#: ../../tutorial/floatingpoint.rst:144 msgid "" "While pathological cases do exist, for most casual use of floating-point " "arithmetic you'll see the result you expect in the end if you simply round " "the display of your final results to the number of decimal digits you " -"expect. :func:`str` usually suffices, and for finer control see the :meth:" -"`str.format` method's format specifiers in :ref:`formatstrings`." +"expect. :func:`str` usually suffices, and for finer control see " +"the :meth:`str.format` method's format specifiers in :ref:`formatstrings`." msgstr "" "Embora existam casos patológicos, na maior parte das vezes, terás como " "resultado final o valor esperado, se simplesmente arredondares a exibição " @@ -282,34 +285,34 @@ msgstr "" "valor refinado, veja os especificadores de formato :meth:`str.format` " "contido na seção :ref:`formatstrings`." -#: ../../tutorial/floatingpoint.rst:146 +#: ../../tutorial/floatingpoint.rst:150 msgid "" -"For use cases which require exact decimal representation, try using the :mod:" -"`decimal` module which implements decimal arithmetic suitable for accounting " -"applications and high-precision applications." +"For use cases which require exact decimal representation, try using " +"the :mod:`decimal` module which implements decimal arithmetic suitable for " +"accounting applications and high-precision applications." msgstr "" "Para as situações que exijam uma representação decimal exata, experimente o " "módulo :mod:`decimal` que possui, a implementação de uma adequada aritmética " "decimal bastante utilizada nas aplicações contábeis e pelas aplicações que " "demandam alta precisão." -#: ../../tutorial/floatingpoint.rst:150 +#: ../../tutorial/floatingpoint.rst:154 msgid "" "Another form of exact arithmetic is supported by the :mod:`fractions` module " "which implements arithmetic based on rational numbers (so the numbers like " "1/3 can be represented exactly)." msgstr "" -"Uma outra forma de obter uma aritmética exata tem suporte pelo módulo :mod:" -"`fracções` que implementa a aritmética baseada em números racionais " -"(portanto, os números fracionários como o 1/3 conseguem uma representação " -"precisa)." +"Uma outra forma de obter uma aritmética exata tem suporte pelo " +"módulo :mod:`fractions` que implementa a aritmética baseada em números " +"racionais (portanto, os números fracionários como o 1/3 conseguem uma " +"representação precisa)." -#: ../../tutorial/floatingpoint.rst:154 +#: ../../tutorial/floatingpoint.rst:158 msgid "" -"If you are a heavy user of floating point operations you should take a look " +"If you are a heavy user of floating-point operations you should take a look " "at the NumPy package and many other packages for mathematical and " -"statistical operations supplied by the SciPy project. See ." +"statistical operations supplied by the SciPy project. See ." msgstr "" "Caso necessites fazer um intenso uso das operações de ponto flutuante, é " "importante que conheças o pacote NumPy e, também é importante dizer, que " @@ -317,42 +320,43 @@ msgstr "" "matemáticas e estatísticas que são fornecidas pelo projeto SciPy. Veja " "." -#: ../../tutorial/floatingpoint.rst:158 +#: ../../tutorial/floatingpoint.rst:162 msgid "" "Python provides tools that may help on those rare occasions when you really " -"*do* want to know the exact value of a float. The :meth:`float." -"as_integer_ratio` method expresses the value of a float as a fraction::" +"*do* want to know the exact value of a float. " +"The :meth:`float.as_integer_ratio` method expresses the value of a float as " +"a fraction::" msgstr "" "O Python fornece ferramentas que podem ajudar nessas raras ocasiões em que " -"realmente *faz* necessitas conhecer o valor exato de um float. O método :" -"meth:`float.as_integer_ratio` expressa o valor do tipo float em sua forma " -"fracionária::" +"realmente *faz* necessário conhecer o valor exato de um ponto flutuante. O " +"método :meth:`float.as_integer_ratio` expressa o valor de um número do tipo " +"float em sua forma fracionária:" -#: ../../tutorial/floatingpoint.rst:167 +#: ../../tutorial/floatingpoint.rst:171 msgid "" "Since the ratio is exact, it can be used to losslessly recreate the original " "value::" msgstr "" "Uma vez que a relação seja exata, será possível utiliza-la para obter, sem " -"que haja quaisquer perda o valor original::" +"que haja quaisquer perda do valor original:" -#: ../../tutorial/floatingpoint.rst:173 +#: ../../tutorial/floatingpoint.rst:177 msgid "" "The :meth:`float.hex` method expresses a float in hexadecimal (base 16), " "again giving the exact value stored by your computer::" msgstr "" -"O método :meth:`float.hex` expressa um tipo float em hexadecimal (base 16), " -"o mesmo também conferirá o valor exato pelo computador::" +"O método :meth:`float.hex` expressa um ponto flutuante em hexadecimal (base " +"16), o mesmo também retornará o valor exato pelo computador:" -#: ../../tutorial/floatingpoint.rst:179 +#: ../../tutorial/floatingpoint.rst:183 msgid "" "This precise hexadecimal representation can be used to reconstruct the float " "value exactly::" msgstr "" "Sua precisa representação hexadecimal poderá ser utilizada para reconstruir " -"o valor exato do float::" +"o valor exato do ponto flutuante:" -#: ../../tutorial/floatingpoint.rst:185 +#: ../../tutorial/floatingpoint.rst:189 msgid "" "Since the representation is exact, it is useful for reliably porting values " "across different versions of Python (platform independence) and exchanging " @@ -364,7 +368,7 @@ msgstr "" "dados entre idiomas diferentes que forneçam o mesmo formato (como o Java e o " "C99)." -#: ../../tutorial/floatingpoint.rst:189 +#: ../../tutorial/floatingpoint.rst:193 msgid "" "Another helpful tool is the :func:`math.fsum` function which helps mitigate " "loss-of-precision during summation. It tracks \"lost digits\" as values are " @@ -373,26 +377,26 @@ msgid "" "final total:" msgstr "" "Uma outra ferramenta que poderá ser útil é a função :func:`math.fsum` que " -"ajuda a mitigar a perda de precisão durante a soma. Ele rastreia \"dígitos " -"perdidos\", isso porque, os valores serão adicionados a um total em " -"execução. Isso poderá fazer a diferença na precisão geral de forma que os " -"erros não se acumulem chegando ao ponto de afetar o resultado final:" +"ajuda a mitigar a perda de precisão durante a soma. Ele rastreia \"digitos " +"perdidos\" como valores para serem adicionados ao um total da execução. Isso " +"poderá fazer a diferença na precisão geral de forma que os erros não se " +"acumulem chegando ao ponto de afetar o resultado final:" -#: ../../tutorial/floatingpoint.rst:203 +#: ../../tutorial/floatingpoint.rst:207 msgid "Representation Error" msgstr "Erro de representação" -#: ../../tutorial/floatingpoint.rst:205 +#: ../../tutorial/floatingpoint.rst:209 msgid "" "This section explains the \"0.1\" example in detail, and shows how you can " "perform an exact analysis of cases like this yourself. Basic familiarity " "with binary floating-point representation is assumed." msgstr "" -"Esta seção explica o exemplo do \"0,1\" em detalhes, e mostra como poderás " -"realizar uma análise exata de casos semelhantes. Assumimos que tenhas uma " +"Esta seção explica o exemplo do \"0.1\" em detalhes, e mostra como poderás " +"realizar uma análise exata de casos semelhantes. Presumimos que tenhas uma " "familiaridade básica com a representação binária de ponto flutuante." -#: ../../tutorial/floatingpoint.rst:209 +#: ../../tutorial/floatingpoint.rst:213 msgid "" ":dfn:`Representation error` refers to the fact that some (most, actually) " "decimal fractions cannot be represented exactly as binary (base 2) " @@ -406,31 +410,30 @@ msgstr "" "Perl, C, C++, Java, Fortran, e muitas outras) frequentemente não exibe o " "número decimal exato conforme o esperado::" -#: ../../tutorial/floatingpoint.rst:214 -msgid "" -"Why is that? 1/10 is not exactly representable as a binary fraction. Almost " -"all machines today (November 2000) use IEEE-754 floating point arithmetic, " -"and almost all platforms map Python floats to IEEE-754 \"double " -"precision\". 754 doubles contain 53 bits of precision, so on input the " -"computer strives to convert 0.1 to the closest fraction it can of the form " -"*J*/2**\\ *N* where *J* is an integer containing exactly 53 bits. " -"Rewriting ::" -msgstr "" -"Por que isso acontece? 1/10 e 2/10 não são podem ser representados " -"exatamente ​​sendo frações binárias. Atualmente, quase todos computadores " -"(julho de 2010) usam aritmética de ponto flutuante conforme a norma " -"IEEE-754, e o Python, em quase todas as plataformas, representa um float " -"como um \"IEEE-754 double precision float\" (\"float de precisão dupla " -"IEEE-754\"). Os tais \"doubles IEEE-754\" têm 53 bits de precisão, por isso " -"na entrada o computador se esforça para converter \"0.1\" pra fração mais " -"próxima que puder, na forma *J*/2**\\ *N* onde *J* é um número inteiro " -"contendo exatamente 53 bits. Reescrevendo::" - -#: ../../tutorial/floatingpoint.rst:223 +#: ../../tutorial/floatingpoint.rst:218 +msgid "" +"Why is that? 1/10 is not exactly representable as a binary fraction. Since " +"at least 2000, almost all machines use IEEE 754 binary floating-point " +"arithmetic, and almost all platforms map Python floats to IEEE 754 binary64 " +"\"double precision\" values. IEEE 754 binary64 values contain 53 bits of " +"precision, so on input the computer strives to convert 0.1 to the closest " +"fraction it can of the form *J*/2**\\ *N* where *J* is an integer containing " +"exactly 53 bits. Rewriting ::" +msgstr "" +"Por que isso acontece? 1/10 não é representado exatamente sendo fração " +"binária. Desde pelo menos 2000, quase todas as máquinas usam aritmética " +"binária de ponto flutuante da IEEE 754 e quase todas as plataformas " +"representam pontos flutuante do Python como valores binary64 de \"double " +"precision\" (dupla precisão) da IEEE 754. Os valores binary64 da IEEE 754 " +"têm 53 bits de precisão, por isso na entrada o computador se esforça para " +"converter \"0.1\" para a fração mais próxima que puder, na forma *J*/2**\\ " +"*N* onde *J* é um número inteiro contendo exatamente 53 bits. Reescrevendo::" + +#: ../../tutorial/floatingpoint.rst:229 msgid "as ::" msgstr "como ::" -#: ../../tutorial/floatingpoint.rst:227 +#: ../../tutorial/floatingpoint.rst:233 msgid "" "and recalling that *J* has exactly 53 bits (is ``>= 2**52`` but ``< " "2**53``), the best value for *N* is 56::" @@ -438,37 +441,37 @@ msgstr "" "e recordando que *J* tenha exatamente 53 bits (é ``>= 2**52``, mas ``< " "2**53``), o melhor valor para *N* é 56::" -#: ../../tutorial/floatingpoint.rst:233 +#: ../../tutorial/floatingpoint.rst:239 msgid "" "That is, 56 is the only value for *N* that leaves *J* with exactly 53 bits. " "The best possible value for *J* is then that quotient rounded::" msgstr "" "Ou seja, 56 é o único valor de *N* que deixa *J* com exatamente 53 bits. " "Portanto, o melhor valor que conseguimos obter pra *J* será aquele que " -"possui o quociente arredondado::" +"possui o quociente arredondado:" -#: ../../tutorial/floatingpoint.rst:240 +#: ../../tutorial/floatingpoint.rst:246 msgid "" "Since the remainder is more than half of 10, the best approximation is " "obtained by rounding up::" msgstr "" "Uma vez que o resto seja maior do que a metade de 10, a melhor aproximação " -"que poderá ser obtida se arredondarmos para cima::" +"que poderá ser obtida se arredondarmos para cima:" -#: ../../tutorial/floatingpoint.rst:246 +#: ../../tutorial/floatingpoint.rst:252 msgid "" -"Therefore the best possible approximation to 1/10 in 754 double precision " -"is::" +"Therefore the best possible approximation to 1/10 in IEEE 754 double " +"precision is::" msgstr "" -"Portanto, a melhor aproximação possível de 1/10 como um \"IEEE-754 double " +"Portanto, a melhor aproximação possível de 1/10 como um \"IEEE 754 double " "precision\" é::" -#: ../../tutorial/floatingpoint.rst:250 +#: ../../tutorial/floatingpoint.rst:257 msgid "" "Dividing both the numerator and denominator by two reduces the fraction to::" msgstr "Dividir o numerador e o denominador por dois reduzirá a fração para::" -#: ../../tutorial/floatingpoint.rst:254 +#: ../../tutorial/floatingpoint.rst:261 msgid "" "Note that since we rounded up, this is actually a little bit larger than " "1/10; if we had not rounded up, the quotient would have been a little bit " @@ -479,41 +482,38 @@ msgstr "" "pouco menor que 1/10. Mas em nenhum caso seria possível obter *exatamente* o " "valor 1/10!" -#: ../../tutorial/floatingpoint.rst:258 +#: ../../tutorial/floatingpoint.rst:265 msgid "" "So the computer never \"sees\" 1/10: what it sees is the exact fraction " -"given above, the best 754 double approximation it can get::" +"given above, the best IEEE 754 double approximation it can get:" msgstr "" "Por isso, o computador nunca \"vê\" 1/10: o que ele vê é exatamente a fração " -"que é obtida pra cima, a melhor aproximação \"IEEE-754 double\" possível é::" +"que é obtida pra cima, a melhor aproximação \"IEEE 754 double\" possível é:" -#: ../../tutorial/floatingpoint.rst:264 +#: ../../tutorial/floatingpoint.rst:271 msgid "" "If we multiply that fraction by 10\\*\\*55, we can see the value out to 55 " "decimal digits::" msgstr "" -"Se multiplicarmos essa fração por 10\\*\\*30, podemos ver o valor contendo " -"os 55 dígitos mais significativos::" +"Se multiplicarmos essa fração por 10\\*\\*55, podemos ver o valor contendo " +"os 55 dígitos mais significativos:" -#: ../../tutorial/floatingpoint.rst:270 +#: ../../tutorial/floatingpoint.rst:277 msgid "" "meaning that the exact number stored in the computer is equal to the decimal " "value 0.1000000000000000055511151231257827021181583404541015625. Instead of " "displaying the full decimal value, many languages (including older versions " "of Python), round the result to 17 significant digits::" msgstr "" -"o que significa que o número exato armazenados no computador será " -"aproximadamente igual ao o valor decimal 0.100000000000000005551115123125. " -"Versões do Python anteriores a 2.7 e a 3.1, esse valor era exibido pelo " -"arredondamento dos 17 dígitos significativos, produzindo " -"'0.10000000000000001'. As últimas versões, o Python está exibindo fração " -"decimal mais curta que poderá ser convertida para o verdadeiro valor " -"binário, o que resulta simplesmente em '0.1'." +"o que significa que o número exato armazenado no computador é igual ao valor " +"decimal 0.1000000000000000055511151231257827021181583404541015625. Em vez de " +"exibir o valor decimal completo, muitas linguagens (incluindo versões mais " +"antigas do Python), arredondam o resultado para 17 dígitos significativos:" -#: ../../tutorial/floatingpoint.rst:278 +#: ../../tutorial/floatingpoint.rst:285 msgid "" "The :mod:`fractions` and :mod:`decimal` modules make these calculations " "easy::" msgstr "" "Módulos como o :mod:`fractions` e o :mod:`decimal` tornam esses cálculos " -"muito mais fáceis::" +"muito mais fáceis:" diff --git a/tutorial/index.po b/tutorial/index.po index 10d1f7204..c0dfbec0d 100644 --- a/tutorial/index.po +++ b/tutorial/index.po @@ -1,34 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../tutorial/index.rst:5 msgid "The Python Tutorial" -msgstr "O tutorial de Python" +msgstr "O tutorial do Python" #: ../../tutorial/index.rst:7 msgid "" @@ -40,10 +37,10 @@ msgid "" msgstr "" "Python é uma linguagem fácil de aprender e poderosa. Ela tem estruturas de " "dados de alto nível eficientes e uma abordagem simples mas efetiva de " -"programação orientada a objetos. A elegância de sintaxe e a tipagem dinâmica " -"de Python aliadas com sua natureza interpretativa, o fazem a linguagem ideal " -"para programas e desenvolvimento de aplicações rápidas em diversas áreas e " -"na maioria das plataformas." +"programação orientada a objetos. A sintaxe elegante e a tipagem dinâmica do " +"Python, aliadas com sua natureza interpretativa, o tornam uma linguagem " +"ideal para fazer scripts e desenvolvimento de aplicações rápidas em diversas " +"áreas e na maioria das plataformas." #: ../../tutorial/index.rst:13 msgid "" @@ -53,12 +50,12 @@ msgid "" "site also contains distributions of and pointers to many free third party " "Python modules, programs and tools, and additional documentation." msgstr "" -"O interpretador Python e a extensiva biblioteca padrão estão disponíveis " -"gratuitamente em código ou na forma binária para todas as maiores " -"plataformas no endereço eletrônico do Python, https://www.python.org/, e " -"pode ser livremente distribuído. O mesmo endereço contém distribuições de " -"diversos módulos, programas e ferramentas gratuitos produzidos por terceiros " -"e documentação adicional." +"O interpretador do Python e sua extensiva biblioteca padrão estão " +"disponíveis gratuitamente na forma de código ou binária para todas as " +"principais plataformas no endereço eletrônico do Python, https://" +"www.python.org/, e pode ser livremente distribuído. O mesmo endereço contém " +"distribuições e indicações de diversos módulos, programas e ferramentas " +"gratuitos produzidos por terceiros e documentação adicional." #: ../../tutorial/index.rst:19 msgid "" @@ -66,9 +63,9 @@ msgid "" "implemented in C or C++ (or other languages callable from C). Python is also " "suitable as an extension language for customizable applications." msgstr "" -"O interpretador Python pode ser facilmente estendido com novas funções e " -"tipos de dados implementados em C ou C++ (ou outras linguagens chamadas a " -"partir de C). Python também é adequada como uma linguagem de extensão para " +"O interpretador do Python pode ser facilmente estendido com novas funções e " +"tipos de dados implementados em C ou C++ (ou outras linguagens chamáveis a " +"partir de C). Python também é adequado como uma linguagem de extensão para " "aplicações personalizáveis." #: ../../tutorial/index.rst:23 @@ -88,14 +85,15 @@ msgstr "" msgid "" "For a description of standard objects and modules, see :ref:`library-" "index`. :ref:`reference-index` gives a more formal definition of the " -"language. To write extensions in C or C++, read :ref:`extending-index` and :" -"ref:`c-api-index`. There are also several books covering Python in depth." +"language. To write extensions in C or C++, read :ref:`extending-index` " +"and :ref:`c-api-index`. There are also several books covering Python in " +"depth." msgstr "" -"Para uma descrição detalhada dos módulos e objetos padrões, veja :ref:" -"`library-index`. Em :ref:`reference-index` você encontra uma definição mais " -"formal da linguagem. Para escrever extensões em C ou C++ leia :ref:" -"`extending-index` e :ref:`c-api-index`. Existe também uma série de livros " -"que cobrem Python em profundidade." +"Para uma descrição detalhada dos módulos e objetos padrões, " +"veja :ref:`library-index`. Em :ref:`reference-index` você encontra uma " +"definição mais formal da linguagem. Para escrever extensões em C ou C++, " +"leia :ref:`extending-index` e :ref:`c-api-index`. Existe também uma série de " +"livros que cobrem Python em profundidade." #: ../../tutorial/index.rst:33 msgid "" diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po index c9a99c636..7f160571a 100644 --- a/tutorial/inputoutput.po +++ b/tutorial/inputoutput.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Adson Rodrigues , 2021 -# Adorilson Bezerra , 2021 -# Clara Matos, 2022 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -50,15 +44,16 @@ msgstr "Refinando a formatação de saída" #: ../../tutorial/inputoutput.rst:17 msgid "" "So far we've encountered two ways of writing values: *expression statements* " -"and the :func:`print` function. (A third way is using the :meth:`write` " -"method of file objects; the standard output file can be referenced as ``sys." -"stdout``. See the Library Reference for more information on this.)" +"and the :func:`print` function. (A third way is using " +"the :meth:`~io.TextIOBase.write` method of file objects; the standard output " +"file can be referenced as ``sys.stdout``. See the Library Reference for more " +"information on this.)" msgstr "" -"Até agora vimos duas maneiras de exibir valores: *expressões* e a função :" -"func:`print`. (Uma outra maneira é utilizar o método :meth:`write` de " -"objetos do tipo arquivo; o arquivo saída padrão pode ser referenciado como " -"``sys.stdout``. Veja a Referência da Biblioteca Python para mais informações " -"sobre isso.)" +"Até agora vimos duas maneiras de exibir valores: *expressões* e a " +"função :func:`print`. (Uma outra maneira é utilizar o " +"método :meth:`~io.TextIOBase.write` de objetos do tipo arquivo; o arquivo " +"saída padrão pode ser referenciado como ``sys.stdout``. Veja a Referência da " +"Biblioteca Python para mais informações sobre isso.)" #: ../../tutorial/inputoutput.rst:22 msgid "" @@ -120,21 +115,22 @@ msgstr "" msgid "" "The :func:`str` function is meant to return representations of values which " "are fairly human-readable, while :func:`repr` is meant to generate " -"representations which can be read by the interpreter (or will force a :exc:" -"`SyntaxError` if there is no equivalent syntax). For objects which don't " -"have a particular representation for human consumption, :func:`str` will " -"return the same value as :func:`repr`. Many values, such as numbers or " +"representations which can be read by the interpreter (or will force " +"a :exc:`SyntaxError` if there is no equivalent syntax). For objects which " +"don't have a particular representation for human consumption, :func:`str` " +"will return the same value as :func:`repr`. Many values, such as numbers or " "structures like lists and dictionaries, have the same representation using " "either function. Strings, in particular, have two distinct representations." msgstr "" "A função :func:`str` serve para retornar representações de valores que sejam " "legíveis para as pessoas, enquanto :func:`repr` é para gerar representações " -"que o interpretador Python consegue ler (ou levantará uma exceção :exc:" -"`SyntaxError`, se não houver sintaxe equivalente). Para objetos que não têm " -"uma representação adequada para consumo humano, :func:`str` devolve o mesmo " -"valor que :func:`repr`. Muitos valores, tal como números ou estruturas, como " -"listas e dicionários, têm a mesma representação usando quaisquer das " -"funções. Strings, em particular, têm duas representações distintas." +"que o interpretador Python consegue ler (ou levantará uma " +"exceção :exc:`SyntaxError`, se não houver sintaxe equivalente). Para objetos " +"que não têm uma representação adequada para consumo humano, :func:`str` " +"devolve o mesmo valor que :func:`repr`. Muitos valores, tal como números ou " +"estruturas, como listas e dicionários, têm a mesma representação usando " +"quaisquer das funções. Strings, em particular, têm duas representações " +"distintas." #: ../../tutorial/inputoutput.rst:68 msgid "Some examples::" @@ -193,8 +189,8 @@ msgid "" "applies :func:`repr`::" msgstr "" "Outros modificadores podem ser usados para converter o valor antes de ser " -"formatado. ``'!a'`` aplica a função :func:`ascii`, ``'!s'`` aplica a função :" -"func:`str` e ``'!r'`` aplica a função :func:`repr` ::" +"formatado. ``'!a'`` aplica a função :func:`ascii`, ``'!s'`` aplica a " +"função :func:`str` e ``'!r'`` aplica a função :func:`repr` ::" #: ../../tutorial/inputoutput.rst:136 msgid "" @@ -214,8 +210,8 @@ msgid "" msgstr "" "Veja :ref:`expressões autodocumentadas ` para mais " "informações sobre o especificador ``=``. Para obter uma referência sobre " -"essas especificações de formato, consulte o guia de referência para a :ref:" -"`formatspec`." +"essas especificações de formato, consulte o guia de referência para " +"a :ref:`formatspec`." #: ../../tutorial/inputoutput.rst:152 msgid "The String format() Method" @@ -229,8 +225,8 @@ msgstr "Um uso básico do método :meth:`str.format` tem esta forma::" msgid "" "The brackets and characters within them (called format fields) are replaced " "with the objects passed into the :meth:`str.format` method. A number in the " -"brackets can be used to refer to the position of the object passed into the :" -"meth:`str.format` method. ::" +"brackets can be used to refer to the position of the object passed into " +"the :meth:`str.format` method. ::" msgstr "" "As chaves e seus conteúdos (chamados campos de formatação) são substituídos " "pelos objetos passados para o método :meth:`str.format`. Um número nas " @@ -271,8 +267,9 @@ msgstr "" #: ../../tutorial/inputoutput.rst:199 msgid "" -"This is particularly useful in combination with the built-in function :func:" -"`vars`, which returns a dictionary containing all local variables." +"This is particularly useful in combination with the built-in " +"function :func:`vars`, which returns a dictionary containing all local " +"variables." msgstr "" "Isto é particularmente útil em conjunto com a função embutida :func:`vars`, " "que devolve um dicionário contendo todas as variáveis locais." @@ -287,8 +284,8 @@ msgstr "" #: ../../tutorial/inputoutput.rst:219 msgid "" -"For a complete overview of string formatting with :meth:`str.format`, see :" -"ref:`formatstrings`." +"For a complete overview of string formatting with :meth:`str.format`, " +"see :ref:`formatstrings`." msgstr "" "Para uma visão completa da formatação de strings com :meth:`str.format`, " "veja a seção :ref:`formatstrings`." @@ -304,11 +301,12 @@ msgstr "" #: ../../tutorial/inputoutput.rst:244 msgid "" -"(Note that the one space between each column was added by the way :func:" -"`print` works: it always adds spaces between its arguments.)" +"(Note that the one space between each column was added by the " +"way :func:`print` works: it always adds spaces between its arguments.)" msgstr "" -"(Note que o espaço entre cada coluna foi adicionado pela forma que a função :" -"func:`print` funciona: sempre adiciona espaços entre seus argumentos.)" +"(Note que o espaço entre cada coluna foi adicionado pela forma que a " +"função :func:`print` funciona: sempre adiciona espaços entre seus " +"argumentos.)" #: ../../tutorial/inputoutput.rst:247 msgid "" @@ -393,7 +391,7 @@ msgstr "" "prévio será apagado), e ``'a'`` para abrir o arquivo para adição; qualquer " "escrita será adicionada ao final do arquivo. A opção ``'r+'`` abre o arquivo " "tanto para leitura como para escrita. O argumento *modo* é opcional, em caso " -"de omissão será assumido ``'r'``." +"de omissão será presumido ``'r'``." #: ../../tutorial/inputoutput.rst:313 msgid "" @@ -402,9 +400,10 @@ msgid "" "*encoding*. If *encoding* is not specified, the default is platform " "dependent (see :func:`open`). Because UTF-8 is the modern de-facto standard, " "``encoding=\"utf-8\"`` is recommended unless you know that you need to use a " -"different encoding. Appending a ``'b'`` to the mode opens the file in :dfn:" -"`binary mode`. Binary mode data is read and written as :class:`bytes` " -"objects. You can not specify *encoding* when opening file in binary mode." +"different encoding. Appending a ``'b'`` to the mode opens the file " +"in :dfn:`binary mode`. Binary mode data is read and written " +"as :class:`bytes` objects. You can not specify *encoding* when opening file " +"in binary mode." msgstr "" "Normalmente, arquivos são abertos no :dfn:`modo texto`, o que significa que " "você lê strings de e para o arquivo, o qual está em um codificação " @@ -422,26 +421,26 @@ msgid "" "endings (``\\n`` on Unix, ``\\r\\n`` on Windows) to just ``\\n``. When " "writing in text mode, the default is to convert occurrences of ``\\n`` back " "to platform-specific line endings. This behind-the-scenes modification to " -"file data is fine for text files, but will corrupt binary data like that in :" -"file:`JPEG` or :file:`EXE` files. Be very careful to use binary mode when " -"reading and writing such files." +"file data is fine for text files, but will corrupt binary data like that " +"in :file:`JPEG` or :file:`EXE` files. Be very careful to use binary mode " +"when reading and writing such files." msgstr "" "Em modo texto, o padrão durante a leitura é converter terminadores de linha " "específicos da plataforma (``\\n`` no Unix, ``\\r\\n`` no Windows) para " "apenas ``\\n``. Ao escrever no modo de texto, o padrão é converter as " "ocorrências de ``\\n`` de volta para os finais de linha específicos da " "plataforma. Essa modificação de bastidores nos dados do arquivo é adequada " -"para arquivos de texto, mas corromperá dados binários, como arquivos :file:" -"`JPEG` ou :file:`EXE`. Tenha muito cuidado para só usar o modo binário, ao " -"ler e gravar esses arquivos." +"para arquivos de texto, mas corromperá dados binários, como " +"arquivos :file:`JPEG` ou :file:`EXE`. Tenha muito cuidado para só usar o " +"modo binário, ao ler e gravar esses arquivos." #: ../../tutorial/inputoutput.rst:331 msgid "" "It is good practice to use the :keyword:`with` keyword when dealing with " "file objects. The advantage is that the file is properly closed after its " -"suite finishes, even if an exception is raised at some point. Using :" -"keyword:`!with` is also much shorter than writing equivalent :keyword:" -"`try`\\ -\\ :keyword:`finally` blocks::" +"suite finishes, even if an exception is raised at some point. " +"Using :keyword:`!with` is also much shorter than writing " +"equivalent :keyword:`try`\\ -\\ :keyword:`finally` blocks::" msgstr "" "É uma boa prática usar a palavra-chave :keyword:`with` ao lidar com " "arquivos. A vantagem é que o arquivo é fechado corretamente após o término " @@ -451,8 +450,8 @@ msgstr "" #: ../../tutorial/inputoutput.rst:344 msgid "" -"If you're not using the :keyword:`with` keyword, then you should call ``f." -"close()`` to close the file and immediately free up any system resources " +"If you're not using the :keyword:`with` keyword, then you should call " +"``f.close()`` to close the file and immediately free up any system resources " "used by it." msgstr "" "Se você não está usando a palavra reservada :keyword:`with`, então você " @@ -488,7 +487,7 @@ msgid "" "The rest of the examples in this section will assume that a file object " "called ``f`` has already been created." msgstr "" -"Para simplificar, o resto dos exemplos nesta seção assumem que um objeto " +"Para simplificar, o resto dos exemplos nesta seção presumem que um objeto " "arquivo chamado ``f`` já foi criado." #: ../../tutorial/inputoutput.rst:376 @@ -603,13 +602,14 @@ msgstr "" #: ../../tutorial/inputoutput.rst:459 msgid "" -"File objects have some additional methods, such as :meth:`~file.isatty` and :" -"meth:`~file.truncate` which are less frequently used; consult the Library " -"Reference for a complete guide to file objects." +"File objects have some additional methods, such as :meth:`~io.IOBase.isatty` " +"and :meth:`~io.IOBase.truncate` which are less frequently used; consult the " +"Library Reference for a complete guide to file objects." msgstr "" -"Objetos arquivo tem alguns método adicionais, como :meth:`~file.isatty` e :" -"meth:`~file.truncate` que não são usados com frequência; consulte a " -"Biblioteca de Referência para um guia completo de objetos arquivo." +"Objetos arquivo tem alguns métodos adicionais, " +"como :meth:`~io.IOBase.isatty` e :meth:`~io.IOBase.truncate` que não são " +"usados com frequência; consulte a Biblioteca de Referência para um guia " +"completo de objetos arquivo." #: ../../tutorial/inputoutput.rst:467 msgid "Saving structured data with :mod:`json`" @@ -618,25 +618,26 @@ msgstr "Gravando dados estruturados com :mod:`json`" #: ../../tutorial/inputoutput.rst:471 msgid "" "Strings can easily be written to and read from a file. Numbers take a bit " -"more effort, since the :meth:`read` method only returns strings, which will " -"have to be passed to a function like :func:`int`, which takes a string like " -"``'123'`` and returns its numeric value 123. When you want to save more " -"complex data types like nested lists and dictionaries, parsing and " -"serializing by hand becomes complicated." +"more effort, since the :meth:`~io.TextIOBase.read` method only returns " +"strings, which will have to be passed to a function like :func:`int`, which " +"takes a string like ``'123'`` and returns its numeric value 123. When you " +"want to save more complex data types like nested lists and dictionaries, " +"parsing and serializing by hand becomes complicated." msgstr "" "Strings podem ser facilmente gravadas e lidas em um arquivo. Números dão um " -"pouco mais de trabalho, já que o método :meth:`read` só retorna strings, que " -"terão que ser passadas para uma função como :func:`int`, que pega uma string " -"como ``'123'`` e retorna seu valor numérico 123. Quando você deseja salvar " -"tipos de dados mais complexos, como listas e dicionários aninhados, a " -"análise e serialização manual tornam-se complicadas." +"pouco mais de trabalho, já que o método :meth:`~io.TextIOBase.read` só " +"retorna strings, que terão que ser passadas para uma função " +"como :func:`int`, que pega uma string como ``'123'`` e retorna seu valor " +"numérico 123. Quando você deseja salvar tipos de dados mais complexos, como " +"listas e dicionários aninhados, a análise e serialização manual tornam-se " +"complicadas." #: ../../tutorial/inputoutput.rst:478 msgid "" "Rather than having users constantly writing and debugging code to save " "complicated data types to files, Python allows you to use the popular data " -"interchange format called `JSON (JavaScript Object Notation) `_. The standard module called :mod:`json` can take Python data " +"interchange format called `JSON (JavaScript Object Notation) `_. The standard module called :mod:`json` can take Python data " "hierarchies, and convert them to string representations; this process is " "called :dfn:`serializing`. Reconstructing the data from the string " "representation is called :dfn:`deserializing`. Between serializing and " @@ -674,13 +675,14 @@ msgstr "" #: ../../tutorial/inputoutput.rst:501 msgid "" -"Another variant of the :func:`~json.dumps` function, called :func:`~json." -"dump`, simply serializes the object to a :term:`text file`. So if ``f`` is " -"a :term:`text file` object opened for writing, we can do this::" +"Another variant of the :func:`~json.dumps` function, " +"called :func:`~json.dump`, simply serializes the object to a :term:`text " +"file`. So if ``f`` is a :term:`text file` object opened for writing, we can " +"do this::" msgstr "" "Outra variação da função :func:`~json.dumps`, chamada :func:`~json.dump`, " -"serializa o objeto para um :term:`arquivo texto`. Se ``f`` é um :term:" -"`arquivo texto` aberto para escrita, podemos fazer isto::" +"serializa o objeto para um :term:`arquivo texto`. Se ``f`` é " +"um :term:`arquivo texto` aberto para escrita, podemos fazer isto::" #: ../../tutorial/inputoutput.rst:507 msgid "" @@ -737,7 +739,7 @@ msgstr "função embutida" #: ../../tutorial/inputoutput.rst:287 msgid "open" -msgstr "" +msgstr "open" #: ../../tutorial/inputoutput.rst:287 msgid "object" diff --git a/tutorial/interactive.po b/tutorial/interactive.po index 4ee6390e1..c8a9ad550 100644 --- a/tutorial/interactive.po +++ b/tutorial/interactive.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -46,7 +43,7 @@ msgstr "" #: ../../tutorial/interactive.rst:17 msgid "Tab Completion and History Editing" -msgstr "Tab Completion e Histórico de Edição" +msgstr "Tab completion e histórico de edição" #: ../../tutorial/interactive.rst:19 msgid "" @@ -57,23 +54,24 @@ msgid "" "expressions such as ``string.a``, it will evaluate the expression up to the " "final ``'.'`` and then suggest completions from the attributes of the " "resulting object. Note that this may execute application-defined code if an " -"object with a :meth:`__getattr__` method is part of the expression. The " -"default configuration also saves your history into a file named :file:`." -"python_history` in your user directory. The history will be available again " -"during the next interactive interpreter session." +"object with a :meth:`~object.__getattr__` method is part of the expression. " +"The default configuration also saves your history into a file " +"named :file:`.python_history` in your user directory. The history will be " +"available again during the next interactive interpreter session." msgstr "" -"A conclusão dos nomes de variáveis e módulos é :ref:`ativado automaticamente " -"` na inicialização do interpretador para que a tecla :" -"kbd:` Tab` invoque a função de conclusão. Ele analisa os nomes das " -"instruções Python, as variáveis locais atuais e os nomes dos módulos " -"disponíveis. Para expressões pontilhadas como ``string.a``, ele avaliará a " -"expressão até o ``'.'`` final e então sugerirá conclusões dos atributos do " -"objeto resultante. Observe que isso pode executar o código definido pelo " -"aplicativo se um objeto com um método :meth:`__getattr__` faz parte da " -"expressão. A configuração padrão também guarda seu histórico em um arquivo " +"A conclusão (\"completion\") dos nomes de variáveis e módulos " +"é :ref:`ativado automaticamente ` na inicialização do " +"interpretador para que a tecla :kbd:`Tab` invoque a função de conclusão. Ele " +"analisa os nomes das instruções Python, as variáveis locais atuais e os " +"nomes dos módulos disponíveis. Para expressões pontilhadas como " +"``string.a``, ele avaliará a expressão até o ``'.'`` final e então sugerirá " +"conclusões dos atributos do objeto resultante. Observe que isso pode " +"executar o código definido pela aplicação se um objeto com um " +"método :meth:`~object.__getattr__` faz parte da expressão. A configuração " +"padrão também guarda seu histórico em um arquivo " "chamado :file:`.python_history` no seu diretório de usuário. O histórico " -"estará disponível novamente durante a próxima sessão de interpretação " -"interativa." +"estará disponível novamente durante a próxima sessão do interpretador " +"interativo." #: ../../tutorial/interactive.rst:36 msgid "Alternatives to the Interactive Interpreter" @@ -93,7 +91,7 @@ msgstr "" "bom se a indentação adequada fosse sugerida nas linhas de continuação (o " "analisador sabe se é necessário um token de recuo). O mecanismo de conclusão " "pode usar a tabela de símbolos do interpretador. Um comando para verificar " -"(ou mesmo sugerir) parênteses, citações, etc., também seria útil." +"(ou mesmo sugerir) parênteses, aspas, etc., também seria útil." #: ../../tutorial/interactive.rst:45 msgid "" diff --git a/tutorial/interpreter.po b/tutorial/interpreter.po index 6f0941b1a..61ee45004 100644 --- a/tutorial/interpreter.po +++ b/tutorial/interpreter.po @@ -1,28 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Adorilson Bezerra , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -55,15 +52,15 @@ msgid "" msgstr "" "no shell. [#]_ Considerando que a escolha do diretório onde o interpretador " "está é uma opção de instalação, outros locais são possíveis; verifique com " -"seu guru local de Python ou administrador do sistema local. (Por exemplo, :" -"file:`/usr/local/python` é um local alternativo popular.)" +"seu guru local de Python ou administrador do sistema local. (Por " +"exemplo, :file:`/usr/local/python` é um local alternativo popular.)" #: ../../tutorial/interpreter.rst:26 msgid "" "On Windows machines where you have installed Python from the :ref:`Microsoft " "Store `, the :file:`python3.11` command will be available. If " -"you have the :ref:`py.exe launcher ` installed, you can use the :" -"file:`py` command. See :ref:`setting-envvars` for other ways to launch " +"you have the :ref:`py.exe launcher ` installed, you can use " +"the :file:`py` command. See :ref:`setting-envvars` for other ways to launch " "Python." msgstr "" "Em máquinas Windows onde você instalou Python a partir da :ref:`Microsoft " @@ -79,10 +76,10 @@ msgid "" "exit status. If that doesn't work, you can exit the interpreter by typing " "the following command: ``quit()``." msgstr "" -"Digitando um caractere de fim-de-arquivo (:kbd:`Control-D` no Unix, :kbd:" -"`Control-Z` no Windows) diretamente no prompt força o interpretador a sair " -"com status de saída zero. Se isso não funcionar, você pode sair do " -"interpretador digitando o seguinte comando: ``quit()``." +"Digitar um caractere de fim de arquivo (:kbd:`Control-D` no " +"Unix, :kbd:`Control-Z` no Windows) diretamente no prompt força o " +"interpretador a sair com status de saída zero. Se isso não funcionar, você " +"pode sair do interpretador digitando o seguinte comando: ``quit()``." #: ../../tutorial/interpreter.rst:36 msgid "" @@ -98,14 +95,14 @@ msgid "" msgstr "" "Os recursos de edição de linha do interpretador incluem edição interativa, " "substituição de histórico e complemento de código, em sistemas com suporte à " -"biblioteca `GNU Readline `_. Talvez a verificação mais rápida para ver se o suporte à edição de " -"linha de comando está disponível é digitando :kbd:`Control-P` no primeiro " -"prompt oferecido pelo Python. Se for emitido um bipe, você terá a edição da " -"linha de comando; veja Apêndice :ref:`tut-interacting` para uma introdução " -"às combinações. Se nada acontecer, ou se ``^P`` aparecer na tela, a edição " -"da linha de comando não está disponível; você só poderá usar backspace para " -"remover caracteres da linha atual." +"biblioteca `GNU Readline `_. Talvez a verificação mais rápida para ver se o suporte à " +"edição de linha de comando está disponível é digitando :kbd:`Control-P` no " +"primeiro prompt oferecido pelo Python. Se for emitido um bipe, você terá a " +"edição da linha de comando; veja Apêndice :ref:`tut-interacting` para uma " +"introdução às combinações. Se nada acontecer, ou se ``^P`` aparecer na tela, " +"a edição da linha de comando não está disponível; você só poderá usar " +"backspace para remover caracteres da linha atual." #: ../../tutorial/interpreter.rst:46 msgid "" @@ -123,16 +120,17 @@ msgstr "" #: ../../tutorial/interpreter.rst:51 msgid "" "A second way of starting the interpreter is ``python -c command [arg] ...``, " -"which executes the statement(s) in *command*, analogous to the shell's :" -"option:`-c` option. Since Python statements often contain spaces or other " -"characters that are special to the shell, it is usually advised to quote " -"*command* in its entirety." +"which executes the statement(s) in *command*, analogous to the " +"shell's :option:`-c` option. Since Python statements often contain spaces " +"or other characters that are special to the shell, it is usually advised to " +"quote *command* in its entirety." msgstr "" -"Uma segunda forma de iniciar o interpretador é ``python -c comando [arg] ..." -"``, que executa uma ou mais instruções especificadas na posição *comando*, " -"analogamente à opção de shell :option:`-c`. Considerando que comandos Python " -"frequentemente têm espaços em branco (ou outros caracteres que são especiais " -"para a shell) é aconselhável que todo o *comando* esteja entre as aspas." +"Uma segunda forma de iniciar o interpretador é ``python -c comando " +"[arg] ...``, que executa uma ou mais instruções especificadas na posição " +"*comando*, analogamente à opção de shell :option:`-c`. Considerando que " +"comandos Python frequentemente têm espaços em branco (ou outros caracteres " +"que são especiais para a shell) é aconselhável que todo o *comando* esteja " +"entre as aspas." #: ../../tutorial/interpreter.rst:57 msgid "" @@ -148,8 +146,8 @@ msgstr "" #: ../../tutorial/interpreter.rst:61 msgid "" "When a script file is used, it is sometimes useful to be able to run the " -"script and enter interactive mode afterwards. This can be done by passing :" -"option:`-i` before the script." +"script and enter interactive mode afterwards. This can be done by " +"passing :option:`-i` before the script." msgstr "" "Quando um arquivo de script é utilizado, às vezes é útil executá-lo e logo " "em seguida entrar em modo interativo. Isto pode ser feito acrescentando o " @@ -183,8 +181,8 @@ msgstr "" "argumentos da linha de comando da shell são acessíveis ao próprio script " "através da variável ``argv`` do módulo ``sys``. Pode-se acessar essa lista " "executando ``import sys``. Essa lista tem sempre ao menos um elemento; " -"quando nenhum script ou argumento for passado para o interpretador, ``sys." -"argv[0]`` será uma string vazia. Quando o nome do script for ``'-'`` " +"quando nenhum script ou argumento for passado para o interpretador, " +"``sys.argv[0]`` será uma string vazia. Quando o nome do script for ``'-'`` " "(significando entrada padrão), o conteúdo de ``sys.argv[0]`` será ``'-'``. " "Quando for utilizado :option:`-c` *comando*, ``sys.argv[0]`` conterá ``'-" "c'``. Quando for utilizado :option:`-m` *módulo*, ``sys.argv[0]`` conterá o " diff --git a/tutorial/introduction.po b/tutorial/introduction.po index e6425c4cf..42f65828f 100644 --- a/tutorial/introduction.po +++ b/tutorial/introduction.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# Adson Rodrigues , 2021 -# Adorilson Bezerra , 2021 -# David Macedo, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -73,9 +68,9 @@ msgid "" msgstr "" "Muitos exemplos neste manual, mesmo aqueles inscritos na linha de comando " "interativa, incluem comentários. Comentários em Python começam com o " -"caractere cerquilha '#' e estende até o final da linha. Um comentário pode " +"caractere cerquilha ``#`` e estende até o final da linha. Um comentário pode " "aparecer no inicio da linha ou após espaço em branco ou código, mas não " -"dentro de uma string literal. O caracterer cerquilha dentro de uma string " +"dentro de uma string literal. O caractere cerquilha dentro de uma string " "literal é apenas uma cerquilha. Como os comentários são para esclarecer o " "código e não são interpretados pelo Python, eles podem ser omitidos ao " "digitar exemplos." @@ -104,25 +99,26 @@ msgstr "Números" msgid "" "The interpreter acts as a simple calculator: you can type an expression at " "it and it will write the value. Expression syntax is straightforward: the " -"operators ``+``, ``-``, ``*`` and ``/`` work just like in most other " -"languages (for example, Pascal or C); parentheses (``()``) can be used for " -"grouping. For example::" +"operators ``+``, ``-``, ``*`` and ``/`` can be used to perform arithmetic; " +"parentheses (``()``) can be used for grouping. For example::" msgstr "" "O interpretador funciona como uma calculadora bem simples: você pode digitar " "uma expressão e o resultado será apresentado. A sintaxe de expressões é a " -"usual: operadores ``+``, ``-``, ``*`` e ``/`` funcionam da mesma forma que " -"em outras linguagens tradicionais (por exemplo, Pascal ou C); parênteses " -"(``()``) podem ser usados para agrupar expressões. Por exemplo::" +"usual: operadores ``+``, ``-``, ``*`` e ``/`` podem ser usadas para realizar " +"operações aritméticas; parênteses (``()``) podem ser usados para agrupar " +"expressões. Por exemplo::" #: ../../tutorial/introduction.rst:68 msgid "" "The integer numbers (e.g. ``2``, ``4``, ``20``) have type :class:`int`, the " -"ones with a fractional part (e.g. ``5.0``, ``1.6``) have type :class:" -"`float`. We will see more about numeric types later in the tutorial." +"ones with a fractional part (e.g. ``5.0``, ``1.6``) have " +"type :class:`float`. We will see more about numeric types later in the " +"tutorial." msgstr "" -"Os números inteiros (ex. ``2``, ``4``, ``20``) são do tipo :class:`int`, " -"aqueles com parte fracionária (ex. ``5.0``, ``1.6``) são do tipo :class:" -"`float`. Veremos mais sobre tipos numéricos posteriormente neste tutorial." +"Os números inteiros (por exemplo, ``2``, ``4`` e ``20``) são do " +"tipo :class:`int`, aqueles com parte fracionária (por exemplo, ``5.0`` e " +"``1.6``) são do tipo :class:`float`. Veremos mais sobre tipos numéricos " +"posteriormente neste tutorial." #: ../../tutorial/introduction.rst:72 msgid "" @@ -130,9 +126,9 @@ msgid "" "get an integer result you can use the ``//`` operator; to calculate the " "remainder you can use ``%``::" msgstr "" -"Divisão (``/``) sempre retorna ponto flutuante (float). Para fazer uma :term:" -"`divisão pelo piso` e receber um inteiro como resultado você pode usar o " -"operador ``//``; para calcular o resto você pode usar o ``%``::" +"Divisão (``/``) sempre retorna ponto flutuante (float). Para fazer " +"uma :term:`divisão pelo piso` e receber um inteiro como resultado você pode " +"usar o operador ``//``; para calcular o resto você pode usar o ``%``::" #: ../../tutorial/introduction.rst:86 msgid "" @@ -156,7 +152,7 @@ msgid "" "give you an error::" msgstr "" "Se uma variável não é \"definida\" (não tem um valor atribuído), tentar " -"utilizá-la gerará um erro::" +"utilizá-la levantará um erro::" #: ../../tutorial/introduction.rst:109 msgid "" @@ -190,51 +186,53 @@ msgstr "" #: ../../tutorial/introduction.rst:132 msgid "" "In addition to :class:`int` and :class:`float`, Python supports other types " -"of numbers, such as :class:`~decimal.Decimal` and :class:`~fractions." -"Fraction`. Python also has built-in support for :ref:`complex numbers " -"`, and uses the ``j`` or ``J`` suffix to indicate the " -"imaginary part (e.g. ``3+5j``)." +"of numbers, such as :class:`~decimal.Decimal` " +"and :class:`~fractions.Fraction`. Python also has built-in support " +"for :ref:`complex numbers `, and uses the ``j`` or ``J`` " +"suffix to indicate the imaginary part (e.g. ``3+5j``)." msgstr "" -"Além de :class:`int` e :class:`float`, o Python suporta outros tipos de " -"números, tais como :class:`~decimal.Decimal` e :class:`~fractions.Fraction`. " -"O Python também possui suporte nativo a :ref:`números complexos " -"`, e usa os sufixos ``j`` ou ``J`` para indicar a parte " -"imaginária (por exemplo, ``3+5j``)." +"Além de :class:`int` e :class:`float`, o Python oferece suporte a outros " +"tipos de números, tais como :class:`~decimal.Decimal` " +"e :class:`~fractions.Fraction`. O Python também possui suporte embutido " +"a :ref:`números complexos `, e usa os sufixos ``j`` ou ``J`` " +"para indicar a parte imaginária (por exemplo, ``3+5j``)." #: ../../tutorial/introduction.rst:142 -msgid "Strings" -msgstr "Strings" +msgid "Text" +msgstr "Texto" #: ../../tutorial/introduction.rst:144 msgid "" -"Besides numbers, Python can also manipulate strings, which can be expressed " -"in several ways. They can be enclosed in single quotes (``'...'``) or " -"double quotes (``\"...\"``) with the same result [#]_. ``\\`` can be used " -"to escape quotes::" -msgstr "" -"Além de números, Python também pode manipular strings (sequências de " -"caracteres), que podem ser expressas de diversas formas. Elas podem ser " -"delimitadas por aspas simples (``'...'``) ou duplas (``\"...\"``) e teremos " -"o mesmo resultado [#]_. ``\\`` pode ser usada para escapar aspas::" - -#: ../../tutorial/introduction.rst:162 -msgid "" -"In the interactive interpreter, the output string is enclosed in quotes and " -"special characters are escaped with backslashes. While this might sometimes " -"look different from the input (the enclosing quotes could change), the two " -"strings are equivalent. The string is enclosed in double quotes if the " -"string contains a single quote and no double quotes, otherwise it is " -"enclosed in single quotes. The :func:`print` function produces a more " -"readable output, by omitting the enclosing quotes and by printing escaped " -"and special characters::" -msgstr "" -"Na interpretação interativa, a string de saída é delimitada com aspas e " -"caracteres especiais são escapados com barras invertidas. Embora isso possa " -"às vezes parecer diferente da entrada (as aspas podem mudar), as duas " -"strings são equivalentes. A string é delimitada com aspas duplas se a string " -"contiver uma única aspa simples e nenhuma aspa dupla, caso contrário, ela é " -"delimitada com aspas simples. A função :func:`print` produz uma saída mais " -"legível, ao omitir as aspas e ao imprimir caracteres escapados e especiais::" +"Python can manipulate text (represented by type :class:`str`, so-called " +"\"strings\") as well as numbers. This includes characters \"``!``\", words " +"\"``rabbit``\", names \"``Paris``\", sentences \"``Got your back.``\", etc. " +"\"``Yay! :)``\". They can be enclosed in single quotes (``'...'``) or double " +"quotes (``\"...\"``) with the same result [#]_." +msgstr "" +"Python pode manipular texto (representado pelo tipo :class:`str`, também " +"chamado de \"strings\"), bem como números. Isso inclui caracteres \"``!``\", " +"palavras \"``coelho``\", nomes \"``Paris``\", frases \"``Eu te protejo.``\", " +"etc. \"``Oba! :)``\". Eles podem ser colocados entre aspas simples " +"(``'...'``) ou aspas duplas (``\"...\"``) com o mesmo resultado [#]_." + +#: ../../tutorial/introduction.rst:157 +msgid "" +"To quote a quote, we need to \"escape\" it, by preceding it with ``\\``. " +"Alternatively, we can use the other type of quotation marks::" +msgstr "" +"Para colocar aspas entre aspas, precisamos \"escapá-la\", precedendo-as com " +"``\\``. Alternativamente, podemos usar o outro tipo de aspas::" + +#: ../../tutorial/introduction.rst:171 +msgid "" +"In the Python shell, the string definition and output string can look " +"different. The :func:`print` function produces a more readable output, by " +"omitting the enclosing quotes and by printing escaped and special " +"characters::" +msgstr "" +"No shell do Python, a definição de string e a string de saída podem parecer " +"diferentes. A função :func:`print` produz uma saída mais legível, omitindo " +"as aspas delimitadoras e imprimindo caracteres de escape e especiais::" #: ../../tutorial/introduction.rst:182 msgid "" @@ -242,10 +240,9 @@ msgid "" "characters, you can use *raw strings* by adding an ``r`` before the first " "quote::" msgstr "" -"Se não quiseres que os caracteres sejam precedidos por ``\\`` para serem " -"interpretados como caracteres especiais, poderás usar *strings raw* (N.d.T: " -"“crua” ou sem processamento de caracteres de escape) adicionando um ``r`` " -"antes da primeira aspa::" +"Caso não queira que os caracteres precedidos por ``\\`` sejam interpretados " +"como caracteres especiais, você pode usar *strings brutas* (*raw*, em " +"inglês) adicionando um ``r`` antes da primeira aspa::" #: ../../tutorial/introduction.rst:192 msgid "" @@ -253,9 +250,9 @@ msgid "" "odd number of ``\\`` characters; see :ref:`the FAQ entry ` for more information and workarounds." msgstr "" -"Há um aspecto sutil nas strings raw: uma string raw não pode terminar em um " -"número ímpar de caracteres ``\\``; consulte :ref:`a entrada do FAQ ` para mais informações e soluções " +"Há um aspecto sutil nas strings brutas: uma string bruta não pode terminar " +"em um número ímpar de caracteres ``\\``; consulte :ref:`o FAQ relacionado " +"` para mais informações e soluções " "alternativas." #: ../../tutorial/introduction.rst:197 @@ -339,9 +336,9 @@ msgid "" "used to obtain individual characters, *slicing* allows you to obtain " "substring::" msgstr "" -"Além da indexação, o *fatiamento* também é permitido. Embora a indexação " +"Além da indexação, o *fatiamento* também é permitido. Enquanto a indexação " "seja usada para obter caracteres individuais, *fatiar* permite que você " -"obtenha substring::" +"obtenha uma substring:" #: ../../tutorial/introduction.rst:284 msgid "" @@ -415,9 +412,9 @@ msgid "" "Python strings cannot be changed --- they are :term:`immutable`. Therefore, " "assigning to an indexed position in the string results in an error::" msgstr "" -"As strings do Python não podem ser alteradas --- uma string é :term:" -"`imutável`. Portanto, atribuir a uma posição indexada na sequência resulta " -"em um erro::" +"As strings do Python não podem ser alteradas --- uma string " +"é :term:`imutável`. Portanto, atribuir a uma posição indexada na sequência " +"resulta em um erro::" #: ../../tutorial/introduction.rst:349 msgid "If you need a different string, you should create a new one::" @@ -505,38 +502,50 @@ msgstr "" "ser indexados e fatiados::" #: ../../tutorial/introduction.rst:408 -msgid "" -"All slice operations return a new list containing the requested elements. " -"This means that the following slice returns a :ref:`shallow copy " -"` of the list::" -msgstr "" -"Todas as operações de fatiamento devolvem uma nova lista contendo os " -"elementos solicitados. Isso significa que o seguinte fatiamento devolve uma :" -"ref:`cópia rasa` da lista::" - -#: ../../tutorial/introduction.rst:415 msgid "Lists also support operations like concatenation::" msgstr "As listas também suportam operações como concatenação::" -#: ../../tutorial/introduction.rst:420 +#: ../../tutorial/introduction.rst:413 msgid "" "Unlike strings, which are :term:`immutable`, lists are a :term:`mutable` " "type, i.e. it is possible to change their content::" msgstr "" -"Diferentemente de strings, que são :term:`imutáveis`, listas são :" -"term:`mutáveis`, ou seja, é possível alterar elementos individuais " -"de uma lista::" +"Diferentemente de strings, que são :term:`imutáveis`, listas " +"são :term:`mutáveis`, ou seja, é possível alterar elementos " +"individuais de uma lista::" -#: ../../tutorial/introduction.rst:430 +#: ../../tutorial/introduction.rst:423 msgid "" -"You can also add new items at the end of the list, by using the :meth:`~list." -"append` *method* (we will see more about methods later)::" +"You can also add new items at the end of the list, by using the :meth:`!" +"list.append` *method* (we will see more about methods later)::" msgstr "" -"Você também pode adicionar novos itens no final da lista, usando o *método* :" -"meth:`~list.append` (estudaremos mais a respeito dos métodos " +"Você também pode adicionar novos itens no final da lista, usando o " +"*método* :meth:`!list.append` (estudaremos mais a respeito dos métodos " "posteriormente)::" -#: ../../tutorial/introduction.rst:438 +#: ../../tutorial/introduction.rst:431 +msgid "" +"Simple assignment in Python never copies data. When you assign a list to a " +"variable, the variable refers to the *existing list*. Any changes you make " +"to the list through one variable will be seen through all other variables " +"that refer to it.::" +msgstr "" +"A atribuição simples em Python nunca copia dados. Quando você atribui uma " +"lista a uma variável, a variável se refere à *lista existente*. Quaisquer " +"alterações que você fizer na lista por meio de uma variável serão vistas por " +"todas as outras variáveis que se referem a ela::" + +#: ../../tutorial/introduction.rst:444 +msgid "" +"All slice operations return a new list containing the requested elements. " +"This means that the following slice returns a :ref:`shallow copy " +"` of the list::" +msgstr "" +"Todas as operações de fatiamento devolvem uma nova lista contendo os " +"elementos solicitados. Isso significa que o seguinte fatiamento devolve " +"uma :ref:`cópia rasa ` da lista::" + +#: ../../tutorial/introduction.rst:455 msgid "" "Assignment to slices is also possible, and this can even change the size of " "the list or clear it entirely::" @@ -544,11 +553,11 @@ msgstr "" "Atribuição a fatias também é possível, e isso pode até alterar o tamanho da " "lista ou remover todos os itens dela::" -#: ../../tutorial/introduction.rst:457 +#: ../../tutorial/introduction.rst:474 msgid "The built-in function :func:`len` also applies to lists::" msgstr "A função embutida :func:`len` também se aplica a listas::" -#: ../../tutorial/introduction.rst:463 +#: ../../tutorial/introduction.rst:480 msgid "" "It is possible to nest lists (create lists containing other lists), for " "example::" @@ -556,26 +565,26 @@ msgstr "" "É possível aninhar listas (criar listas contendo outras listas), por " "exemplo::" -#: ../../tutorial/introduction.rst:479 +#: ../../tutorial/introduction.rst:496 msgid "First Steps Towards Programming" msgstr "Primeiros passos para a programação" -#: ../../tutorial/introduction.rst:481 +#: ../../tutorial/introduction.rst:498 msgid "" "Of course, we can use Python for more complicated tasks than adding two and " "two together. For instance, we can write an initial sub-sequence of the " -"`Fibonacci series `_ as " +"`Fibonacci series `_ as " "follows::" msgstr "" "Claro, podemos usar o Python para tarefas mais complicadas do que somar 2+2. " "Por exemplo, podemos escrever o início da `sequência de Fibonacci `_ assim::" +"pt.wikipedia.org/wiki/Sequência_de_Fibonacci>`_ assim::" -#: ../../tutorial/introduction.rst:501 +#: ../../tutorial/introduction.rst:518 msgid "This example introduces several new features." msgstr "Este exemplo introduz diversas características ainda não mencionadas." -#: ../../tutorial/introduction.rst:503 +#: ../../tutorial/introduction.rst:520 msgid "" "The first line contains a *multiple assignment*: the variables ``a`` and " "``b`` simultaneously get the new values 0 and 1. On the last line this is " @@ -589,7 +598,7 @@ msgstr "" "são sempre avaliadas primeiro, antes da atribuição. As expressões do lado " "direito são avaliadas da esquerda para a direita." -#: ../../tutorial/introduction.rst:509 +#: ../../tutorial/introduction.rst:526 msgid "" "The :keyword:`while` loop executes as long as the condition (here: ``a < " "10``) remains true. In Python, like in C, any non-zero integer value is " @@ -610,7 +619,7 @@ msgstr "" "``<`` (menor que), ``>`` (maior que), ``==`` (igual), ``<=`` (menor ou " "igual), ``>=`` (maior ou igual) e ``!=`` (diferente)." -#: ../../tutorial/introduction.rst:518 +#: ../../tutorial/introduction.rst:535 msgid "" "The *body* of the loop is *indented*: indentation is Python's way of " "grouping statements. At the interactive prompt, you have to type a tab or " @@ -631,7 +640,7 @@ msgstr "" "comando). Observe que toda linha de um mesmo bloco de comandos deve ter a " "mesma indentação." -#: ../../tutorial/introduction.rst:527 +#: ../../tutorial/introduction.rst:544 msgid "" "The :func:`print` function writes the value of the argument(s) it is given. " "It differs from just writing the expression you want to write (as we did " @@ -647,19 +656,19 @@ msgstr "" "são impressas sem aspas, e um espaço é inserido entre os itens, assim você " "pode formatar bem o resultado, dessa forma::" -#: ../../tutorial/introduction.rst:538 +#: ../../tutorial/introduction.rst:555 msgid "" "The keyword argument *end* can be used to avoid the newline after the " "output, or end the output with a different string::" msgstr "" -"O argumento *end* pode ser usado para evitar uma nova linha após a saída ou " -"finalizar a saída com uma string diferente::" +"O argumento nomeado *end* pode ser usado para evitar uma nova linha após a " +"saída ou finalizar a saída com uma string diferente::" -#: ../../tutorial/introduction.rst:550 +#: ../../tutorial/introduction.rst:567 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../tutorial/introduction.rst:551 +#: ../../tutorial/introduction.rst:568 msgid "" "Since ``**`` has higher precedence than ``-``, ``-3**2`` will be interpreted " "as ``-(3**2)`` and thus result in ``-9``. To avoid this and get ``9``, you " @@ -669,7 +678,7 @@ msgstr "" "interpretado como ``-(3**2)`` e assim resultará em ``-9``. Para evitar isso " "e obter ``9``, você pode usar ``(-3)**2``." -#: ../../tutorial/introduction.rst:555 +#: ../../tutorial/introduction.rst:572 msgid "" "Unlike other languages, special characters such as ``\\n`` have the same " "meaning with both single (``'...'``) and double (``\"...\"``) quotes. The " diff --git a/tutorial/modules.po b/tutorial/modules.po index 1b5b0158b..6fd876d2c 100644 --- a/tutorial/modules.po +++ b/tutorial/modules.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# Tiago Henrique , 2021 -# Adorilson Bezerra , 2022 -# Claudio Rogerio Carvalho Filho , 2023 -# Marco Rougeth , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -99,10 +94,10 @@ msgid "" "it only adds the module name ``fibo`` there. Using the module name you can " "access the functions::" msgstr "" -"Isso não adiciona os nomes das funções definidas em ``fibo`` diretamente ao :" -"term:`espaço de nomes` atual (veja :ref:`tut-scopes` para mais detalhes); " -"isso adiciona somente o nome do módulo ``fibo``. Usando o nome do módulo " -"você pode acessar as funções::" +"Isso não adiciona os nomes das funções definidas em ``fibo`` diretamente " +"ao :term:`espaço de nomes` atual (veja :ref:`tut-scopes` para mais " +"detalhes); isso adiciona somente o nome do módulo ``fibo``. Usando o nome do " +"módulo você pode acessar as funções::" #: ../../tutorial/modules.rst:62 msgid "" @@ -153,10 +148,10 @@ msgid "" "global namespace." msgstr "" "Módulos podem importar outros módulos. É costume, porém não obrigatório, " -"colocar todos os comandos :keyword:`import` no início do módulo (ou script , " -"se preferir). As definições do módulo importado, se colocados no nível de um " -"módulo (fora de quaisquer funções ou classes), elas são adicionadas a espaço " -"de nomes global da módulo." +"colocar todas as instruções :keyword:`import` no início do módulo (ou " +"script , se preferir). As definições do módulo importado, se colocados no " +"nível de um módulo (fora de quaisquer funções ou classes), elas são " +"adicionadas a espaço de nomes global da módulo." #: ../../tutorial/modules.rst:91 msgid "" @@ -204,8 +199,8 @@ msgstr "" #: ../../tutorial/modules.rst:116 msgid "" -"If the module name is followed by :keyword:`!as`, then the name following :" -"keyword:`!as` is bound directly to the imported module." +"If the module name is followed by :keyword:`!as`, then the name " +"following :keyword:`!as` is bound directly to the imported module." msgstr "" "Se o nome do módulo é seguido pela palavra-chave :keyword:`!as`, o nome a " "seguir é vinculado diretamente ao módulo importado." @@ -230,8 +225,8 @@ msgid "" "For efficiency reasons, each module is only imported once per interpreter " "session. Therefore, if you change your modules, you must restart the " "interpreter -- or, if it's just one module you want to test interactively, " -"use :func:`importlib.reload`, e.g. ``import importlib; importlib." -"reload(modulename)``." +"use :func:`importlib.reload`, e.g. ``import importlib; " +"importlib.reload(modulename)``." msgstr "" " Por razões de eficiência, cada módulo é importado uma única vez por sessão " "do interpretador. Portanto, se você alterar seus módulos, você deve " @@ -287,17 +282,19 @@ msgstr "O caminho de busca dos módulos" #: ../../tutorial/modules.rst:186 msgid "" -"When a module named :mod:`spam` is imported, the interpreter first searches " -"for a built-in module with that name. These module names are listed in :data:" -"`sys.builtin_module_names`. If not found, it then searches for a file named :" -"file:`spam.py` in a list of directories given by the variable :data:`sys." -"path`. :data:`sys.path` is initialized from these locations:" +"When a module named :mod:`!spam` is imported, the interpreter first searches " +"for a built-in module with that name. These module names are listed " +"in :data:`sys.builtin_module_names`. If not found, it then searches for a " +"file named :file:`spam.py` in a list of directories given by the " +"variable :data:`sys.path`. :data:`sys.path` is initialized from these " +"locations:" msgstr "" -"Quando um módulo chamado :mod:`spam` é importado, o interpretador procura um " -"módulo embutido com este nome. Estes nomes de módulo são listados em :data:" -"`sys.builtin_module_names`. Se não encontra, procura um arquivo chamado :" -"file:`spam.py` em uma lista de diretórios incluídos na variável :data:`sys." -"path`. A :data:`sys.path` é inicializada com estes locais:" +"Quando um módulo chamado :mod:`!spam` é importado, o interpretador procura " +"um módulo embutido com este nome. Estes nomes de módulo são listados " +"em :data:`sys.builtin_module_names`. Se não encontra, procura um arquivo " +"chamado :file:`spam.py` em uma lista de diretórios incluídos na " +"variável :data:`sys.path`. A :data:`sys.path` é inicializada com estes " +"locais:" #: ../../tutorial/modules.rst:192 msgid "" @@ -422,8 +419,8 @@ msgid "" "the effects of optimization." msgstr "" "Você pode usar as opções :option:`-O` ou :option:`-OO` no comando Python " -"para reduzir o tamanho de um módulo compilado. A opção ``-O`` remove " -"comandos assert, e a opção ``-OO`` remove, além dos comandos assert, as " +"para reduzir o tamanho de um módulo compilado. A opção ``-O`` remove as " +"instruções assert, e a opção ``-OO`` remove, além das instruções assert, as " "strings de documentações. Como alguns programas podem contar com essa " "disponibilidade, só use essa opção se souber o que está fazendo. Módulos " "\"otimizados\" tem uma marcação ``opt-`` e são geralmente de menor tamanho. " @@ -432,8 +429,8 @@ msgstr "" #: ../../tutorial/modules.rst:251 msgid "" "A program doesn't run any faster when it is read from a ``.pyc`` file than " -"when it is read from a ``.py`` file; the only thing that's faster about ``." -"pyc`` files is the speed with which they are loaded." +"when it is read from a ``.py`` file; the only thing that's faster about " +"``.pyc`` files is the speed with which they are loaded." msgstr "" "Um programa não roda mais rápido quando é lido de um arquivo ``.pyc`` do que " "quando lido de um arquivo ``.py``; a única coisa que é mais rápida com " @@ -452,8 +449,8 @@ msgid "" "There is more detail on this process, including a flow chart of the " "decisions, in :pep:`3147`." msgstr "" -"Há mais detalhes desse processo, incluindo um fluxograma de decisões, no :" -"pep:`3147`." +"Há mais detalhes desse processo, incluindo um fluxograma de decisões, " +"no :pep:`3147`." #: ../../tutorial/modules.rst:265 msgid "Standard Modules" @@ -503,10 +500,10 @@ msgid "" msgstr "" "A variável ``sys.path`` contém uma lista de strings que determina os " "caminhos de busca de módulos conhecidos pelo interpretador. Ela é " -"inicializada para um caminho padrão, determinado pela variável de ambiente :" -"envvar:`PYTHONPATH`, ou por um valor padrão embutido, se :envvar:" -"`PYTHONPATH` não estiver definida. Você pode modificá-la com as operações " -"típicas de lista, por exemplo::" +"inicializada para um caminho padrão, determinado pela variável de " +"ambiente :envvar:`PYTHONPATH`, ou por um valor padrão embutido, " +"se :envvar:`PYTHONPATH` não estiver definida. Você pode modificá-la com as " +"operações típicas de lista, por exemplo::" #: ../../tutorial/modules.rst:307 msgid "The :func:`dir` Function" @@ -534,8 +531,8 @@ msgstr "" #: ../../tutorial/modules.rst:350 msgid "" ":func:`dir` does not list the names of built-in functions and variables. If " -"you want a list of those, they are defined in the standard module :mod:" -"`builtins`::" +"you want a list of those, they are defined in the standard " +"module :mod:`builtins`::" msgstr "" ":func:`dir` não lista os nomes de variáveis e funções embutidas. Esta lista " "está disponível no módulo padrão :mod:`builtins`::" @@ -547,16 +544,16 @@ msgstr "Pacotes" #: ../../tutorial/modules.rst:391 msgid "" "Packages are a way of structuring Python's module namespace by using " -"\"dotted module names\". For example, the module name :mod:`A.B` designates " -"a submodule named ``B`` in a package named ``A``. Just like the use of " -"modules saves the authors of different modules from having to worry about " -"each other's global variable names, the use of dotted module names saves the " -"authors of multi-module packages like NumPy or Pillow from having to worry " -"about each other's module names." +"\"dotted module names\". For example, the module name :mod:`!A.B` " +"designates a submodule named ``B`` in a package named ``A``. Just like the " +"use of modules saves the authors of different modules from having to worry " +"about each other's global variable names, the use of dotted module names " +"saves the authors of multi-module packages like NumPy or Pillow from having " +"to worry about each other's module names." msgstr "" "Os pacotes são uma maneira de estruturar o \"espaço de nomes\" dos módulos " "Python, usando \"nomes de módulo com pontos\". Por exemplo, o nome do " -"módulo :mod:`A.B` designa um submódulo chamado ``B``, em um pacote chamado " +"módulo :mod:`!A.B` designa um submódulo chamado ``B``, em um pacote chamado " "``A``. Assim como o uso de módulos evita que os autores de módulos " "diferentes tenham que se preocupar com nomes de variáveis globais, o uso de " "nomes de módulos com pontos evita que os autores de pacotes com muitos " @@ -567,15 +564,15 @@ msgstr "" msgid "" "Suppose you want to design a collection of modules (a \"package\") for the " "uniform handling of sound files and sound data. There are many different " -"sound file formats (usually recognized by their extension, for example: :" -"file:`.wav`, :file:`.aiff`, :file:`.au`), so you may need to create and " -"maintain a growing collection of modules for the conversion between the " -"various file formats. There are also many different operations you might " -"want to perform on sound data (such as mixing, adding echo, applying an " -"equalizer function, creating an artificial stereo effect), so in addition " -"you will be writing a never-ending stream of modules to perform these " -"operations. Here's a possible structure for your package (expressed in " -"terms of a hierarchical filesystem):" +"sound file formats (usually recognized by their extension, for " +"example: :file:`.wav`, :file:`.aiff`, :file:`.au`), so you may need to " +"create and maintain a growing collection of modules for the conversion " +"between the various file formats. There are also many different operations " +"you might want to perform on sound data (such as mixing, adding echo, " +"applying an equalizer function, creating an artificial stereo effect), so in " +"addition you will be writing a never-ending stream of modules to perform " +"these operations. Here's a possible structure for your package (expressed " +"in terms of a hierarchical filesystem):" msgstr "" "Suponha que você queira projetar uma coleção de módulos (um \"pacote\") para " "o gerenciamento uniforme de arquivos de som. Existem muitos formatos " @@ -591,8 +588,8 @@ msgstr "" #: ../../tutorial/modules.rst:436 msgid "" -"When importing the package, Python searches through the directories on ``sys." -"path`` looking for the package subdirectory." +"When importing the package, Python searches through the directories on " +"``sys.path`` looking for the package subdirectory." msgstr "" "Ao importar esse pacote, Python busca pelo subdiretório com mesmo nome, nos " "diretórios listados em ``sys.path``." @@ -600,76 +597,78 @@ msgstr "" #: ../../tutorial/modules.rst:439 msgid "" "The :file:`__init__.py` files are required to make Python treat directories " -"containing the file as packages. This prevents directories with a common " -"name, such as ``string``, from unintentionally hiding valid modules that " -"occur later on the module search path. In the simplest case, :file:`__init__." -"py` can just be an empty file, but it can also execute initialization code " -"for the package or set the ``__all__`` variable, described later." +"containing the file as packages (unless using a :term:`namespace package`, a " +"relatively advanced feature). This prevents directories with a common name, " +"such as ``string``, from unintentionally hiding valid modules that occur " +"later on the module search path. In the simplest case, :file:`__init__.py` " +"can just be an empty file, but it can also execute initialization code for " +"the package or set the ``__all__`` variable, described later." msgstr "" "Os arquivos :file:`__init__.py` são necessários para que o Python trate " -"diretórios contendo o arquivo como pacotes. Isso impede que diretórios com " -"um nome comum, como ``string``, ocultem, involuntariamente, módulos válidos " -"que ocorrem posteriormente no caminho de busca do módulo. No caso mais " -"simples, :file:`__init__.py` pode ser apenas um arquivo vazio, mas pode " -"também executar código de inicialização do pacote, ou configurar a variável " -"``__all__``, descrita mais adiante." +"diretórios contendo o arquivo como pacotes (a menos que se esteja usando " +"um :term:`pacote de espaço de nomes`, um recurso relativamente avançado). " +"Isso impede que diretórios com um nome comum, como ``string``, ocultem, " +"involuntariamente, módulos válidos que ocorrem posteriormente no caminho de " +"busca do módulo. No caso mais simples, :file:`__init__.py` pode ser apenas " +"um arquivo vazio, mas pode também executar código de inicialização do " +"pacote, ou configurar a variável ``__all__``, descrita mais adiante." -#: ../../tutorial/modules.rst:446 +#: ../../tutorial/modules.rst:447 msgid "" "Users of the package can import individual modules from the package, for " "example::" msgstr "Usuários do pacote podem importar módulos individuais, por exemplo::" -#: ../../tutorial/modules.rst:451 +#: ../../tutorial/modules.rst:452 msgid "" -"This loads the submodule :mod:`sound.effects.echo`. It must be referenced " +"This loads the submodule :mod:`!sound.effects.echo`. It must be referenced " "with its full name. ::" msgstr "" -"Isso carrega o submódulo :mod:`sound.effects.echo`. Ele deve ser " +"Isso carrega o submódulo :mod:`!sound.effects.echo`. Ele deve ser " "referenciado com seu nome completo, como em::" -#: ../../tutorial/modules.rst:456 +#: ../../tutorial/modules.rst:457 msgid "An alternative way of importing the submodule is::" msgstr "Uma maneira alternativa para a importação desse módulo é::" -#: ../../tutorial/modules.rst:460 +#: ../../tutorial/modules.rst:461 msgid "" -"This also loads the submodule :mod:`echo`, and makes it available without " +"This also loads the submodule :mod:`!echo`, and makes it available without " "its package prefix, so it can be used as follows::" msgstr "" -"Isso carrega o submódulo :mod:`echo` sem necessidade de mencionar o prefixo " +"Isso carrega o submódulo :mod:`!echo` sem necessidade de mencionar o prefixo " "do pacote no momento da utilização, assim::" -#: ../../tutorial/modules.rst:465 +#: ../../tutorial/modules.rst:466 msgid "" "Yet another variation is to import the desired function or variable " "directly::" msgstr "Também é possível importar diretamente uma única variável ou função::" -#: ../../tutorial/modules.rst:469 +#: ../../tutorial/modules.rst:470 msgid "" -"Again, this loads the submodule :mod:`echo`, but this makes its function :" -"func:`echofilter` directly available::" +"Again, this loads the submodule :mod:`!echo`, but this makes its " +"function :func:`!echofilter` directly available::" msgstr "" -"Novamente, isso carrega o submódulo :mod:`echo`, mas a função :func:" -"`echofilter` está acessível diretamente sem prefixo::" +"Novamente, isso carrega o submódulo :mod:`!echo`, mas a função :func:`!" +"echofilter` está acessível diretamente sem prefixo::" -#: ../../tutorial/modules.rst:474 +#: ../../tutorial/modules.rst:475 msgid "" "Note that when using ``from package import item``, the item can be either a " "submodule (or subpackage) of the package, or some other name defined in the " "package, like a function, class or variable. The ``import`` statement first " "tests whether the item is defined in the package; if not, it assumes it is a " -"module and attempts to load it. If it fails to find it, an :exc:" -"`ImportError` exception is raised." +"module and attempts to load it. If it fails to find it, " +"an :exc:`ImportError` exception is raised." msgstr "" "Observe que ao utilizar ``from pacote import item``, o item pode ser um " -"subpacote, submódulo, classe, função ou variável. O comando ``import`` " -"primeiro testa se o item está definido no pacote, senão assume que é um " -"módulo e tenta carregá-lo. Se falhar em encontrar o módulo, uma exceção :exc:" -"`ImportError` é levantada." +"subpacote, submódulo, classe, função ou variável. A instrução ``import`` " +"primeiro testa se o item está definido no pacote, senão presume que é um " +"módulo e tenta carregá-lo. Se falhar em encontrar o módulo, uma " +"exceção :exc:`ImportError` é levantada." -#: ../../tutorial/modules.rst:481 +#: ../../tutorial/modules.rst:482 msgid "" "Contrarily, when using syntax like ``import item.subitem.subsubitem``, each " "item except for the last must be a package; the last item can be a module or " @@ -681,11 +680,11 @@ msgstr "" "pacote ou módulo, mas nunca uma classe, função ou variável contida em um " "módulo." -#: ../../tutorial/modules.rst:490 +#: ../../tutorial/modules.rst:491 msgid "Importing \\* From a Package" msgstr "Importando \\* de um pacote" -#: ../../tutorial/modules.rst:494 +#: ../../tutorial/modules.rst:495 msgid "" "Now what happens when the user writes ``from sound.effects import *``? " "Ideally, one would hope that this somehow goes out to the filesystem, finds " @@ -700,7 +699,7 @@ msgstr "" "ocasionar efeitos colaterais, que somente deveriam ocorrer quando o " "submódulo é explicitamente importado." -#: ../../tutorial/modules.rst:500 +#: ../../tutorial/modules.rst:501 msgid "" "The only solution is for the package author to provide an explicit index of " "the package. The :keyword:`import` statement uses the following convention: " @@ -713,58 +712,74 @@ msgid "" "effects/__init__.py` could contain the following code::" msgstr "" "A única solução é o autor do pacote fornecer um índice explícito do pacote. " -"O comando :keyword:`import` usa a seguinte convenção: se o arquivo :file:" -"`__init__.py` do pacote define uma lista chamada ``__all__``, então esta " -"lista indica os nomes dos módulos a serem importados quando o comando ``from " -"pacote import *`` é acionado. Fica a cargo do autor do pacote manter esta " -"lista atualizada, inclusive fica a seu critério excluir inteiramente o " -"suporte a importação direta de todo o pacote através de ``from pacote import " -"*``. Por exemplo, o arquivo :file:`sounds/effects/__init__.py` poderia " -"conter apenas::" +"A instrução :keyword:`import` usa a seguinte convenção: se o " +"arquivo :file:`__init__.py` do pacote define uma lista chamada ``__all__``, " +"então esta lista indica os nomes dos módulos a serem importados quando a " +"instrução ``from pacote import *`` é acionada. Fica a cargo do autor do " +"pacote manter esta lista atualizada, inclusive fica a seu critério excluir " +"inteiramente o suporte a importação direta de todo o pacote através de " +"``from pacote import *``. Por exemplo, o arquivo :file:`sounds/effects/" +"__init__.py` poderia conter apenas::" -#: ../../tutorial/modules.rst:512 +#: ../../tutorial/modules.rst:513 msgid "" "This would mean that ``from sound.effects import *`` would import the three " -"named submodules of the :mod:`sound.effects` package." +"named submodules of the :mod:`!sound.effects` package." msgstr "" "Isso significaria que ``from sound.effects import *`` importaria os três " -"submódulos nomeados do pacote :mod:`sound.effects`." +"submódulos nomeados do pacote :mod:`!sound.effects`." + +#: ../../tutorial/modules.rst:516 +msgid "" +"Be aware that submodules might become shadowed by locally defined names. For " +"example, if you added a ``reverse`` function to the :file:`sound/effects/" +"__init__.py` file, the ``from sound.effects import *`` would only import the " +"two submodules ``echo`` and ``surround``, but *not* the ``reverse`` " +"submodule, because it is shadowed by the locally defined ``reverse`` " +"function::" +msgstr "" +"Esteja ciente de que os submódulos podem ficar sobrepostos por nomes " +"definidos localmente. Por exemplo, se você adicionou uma função ``reverse`` " +"ao arquivo :file:`sound/effects/__init__.py`, usar ``from sound.effects " +"import *`` só importaria os dois submódulos ``echo`` e ``surround``, mas " +"*não* o submódulo ``reverse``, porque ele fica sobreposto pela função " +"``reverse`` definida localmente::" -#: ../../tutorial/modules.rst:515 +#: ../../tutorial/modules.rst:532 msgid "" "If ``__all__`` is not defined, the statement ``from sound.effects import *`` " -"does *not* import all submodules from the package :mod:`sound.effects` into " -"the current namespace; it only ensures that the package :mod:`sound.effects` " -"has been imported (possibly running any initialization code in :file:" -"`__init__.py`) and then imports whatever names are defined in the package. " -"This includes any names defined (and submodules explicitly loaded) by :file:" -"`__init__.py`. It also includes any submodules of the package that were " -"explicitly loaded by previous :keyword:`import` statements. Consider this " -"code::" -msgstr "" -"Se ``__all__`` não estiver definido, o comando ``from sound.effects import " -"*`` não importa todos os submódulos do pacote :mod:`sound.effects` no espaço " -"de nomes atual. Há apenas garantia que o pacote :mod:`sound.effects` foi " -"importado (possivelmente executando qualquer código de inicialização em :" -"file:`__init__.py`) juntamente com os nomes definidos no pacote. Isso inclui " -"todo nome definido em :file:`__init__.py` bem como em qualquer submódulo " -"importado a partir deste. Também inclui quaisquer submódulos do pacote que " -"tenham sido carregados explicitamente por comandos :keyword:`import` " -"anteriores. Considere o código abaixo::" - -#: ../../tutorial/modules.rst:528 -msgid "" -"In this example, the :mod:`echo` and :mod:`surround` modules are imported in " -"the current namespace because they are defined in the :mod:`sound.effects` " -"package when the ``from...import`` statement is executed. (This also works " -"when ``__all__`` is defined.)" -msgstr "" -"Nesse exemplo, os nomes :mod:`echo` e :mod:`surround` são importados no " -"espaço de nomes atual, no momento em que o comando ``from...import`` é " -"executado, pois estão definidos no pacote :mod:`sound.effects`. (Isso também " -"funciona quando ``__all__`` estiver definida.)" - -#: ../../tutorial/modules.rst:533 +"does *not* import all submodules from the package :mod:`!sound.effects` into " +"the current namespace; it only ensures that the package :mod:`!" +"sound.effects` has been imported (possibly running any initialization code " +"in :file:`__init__.py`) and then imports whatever names are defined in the " +"package. This includes any names defined (and submodules explicitly loaded) " +"by :file:`__init__.py`. It also includes any submodules of the package that " +"were explicitly loaded by previous :keyword:`import` statements. Consider " +"this code::" +msgstr "" +"Se ``__all__`` não estiver definido, a instrução ``from sound.effects import " +"*`` não importa todos os submódulos do pacote :mod:`!sound.effects` no " +"espaço de nomes atual. Há apenas garantia que o pacote :mod:`!sound.effects` " +"foi importado (possivelmente executando qualquer código de inicialização " +"em :file:`__init__.py`) juntamente com os nomes definidos no pacote. Isso " +"inclui todo nome definido em :file:`__init__.py` bem como em qualquer " +"submódulo importado a partir deste. Também inclui quaisquer submódulos do " +"pacote que tenham sido carregados explicitamente por " +"instruções :keyword:`import` anteriores. Considere o código abaixo::" + +#: ../../tutorial/modules.rst:545 +msgid "" +"In this example, the :mod:`!echo` and :mod:`!surround` modules are imported " +"in the current namespace because they are defined in the :mod:`!" +"sound.effects` package when the ``from...import`` statement is executed. " +"(This also works when ``__all__`` is defined.)" +msgstr "" +"Nesse exemplo, os módulos :mod:`!echo` e :mod:`!surround` são importados no " +"espaço de nomes atual, no momento em que a instrução ``from...import`` é " +"executada, pois estão definidos no pacote :mod:`!sound.effects`. (Isso " +"também funciona quando ``__all__`` estiver definida.)" + +#: ../../tutorial/modules.rst:550 msgid "" "Although certain modules are designed to export only names that follow " "certain patterns when you use ``import *``, it is still considered bad " @@ -774,7 +789,7 @@ msgstr "" "conforme algum critério quando se faz ``import *``, ainda assim essa sintaxe " "é considerada uma prática ruim em código de produção." -#: ../../tutorial/modules.rst:537 +#: ../../tutorial/modules.rst:554 msgid "" "Remember, there is nothing wrong with using ``from package import " "specific_submodule``! In fact, this is the recommended notation unless the " @@ -786,38 +801,39 @@ msgstr "" "módulo importado necessite usar submódulos com o mesmo nome, de diferentes " "pacotes." -#: ../../tutorial/modules.rst:546 +#: ../../tutorial/modules.rst:563 msgid "Intra-package References" msgstr "Referências em um mesmo pacote" -#: ../../tutorial/modules.rst:548 +#: ../../tutorial/modules.rst:565 msgid "" -"When packages are structured into subpackages (as with the :mod:`sound` " +"When packages are structured into subpackages (as with the :mod:`!sound` " "package in the example), you can use absolute imports to refer to submodules " -"of siblings packages. For example, if the module :mod:`sound.filters." -"vocoder` needs to use the :mod:`echo` module in the :mod:`sound.effects` " -"package, it can use ``from sound.effects import echo``." +"of siblings packages. For example, if the module :mod:`!" +"sound.filters.vocoder` needs to use the :mod:`!echo` module in the :mod:`!" +"sound.effects` package, it can use ``from sound.effects import echo``." msgstr "" -"Quando pacotes são estruturados em subpacotes (como no pacote :mod:`sound` " +"Quando pacotes são estruturados em subpacotes (como no pacote :mod:`!sound` " "do exemplo), pode-se usar a sintaxe de importações absolutas para se referir " "aos submódulos de pacotes irmãos (o que na prática é uma forma de fazer um " -"import relativo, a partir da base do pacote). Por exemplo, se o módulo :mod:" -"`sound.filters.vocoder` precisa usar o módulo :mod:`echo` do pacote :mod:" -"`sound.effects`, é preciso importá-lo com ``from sound.effects import echo``." +"import relativo, a partir da base do pacote). Por exemplo, se o " +"módulo :mod:`!sound.filters.vocoder` precisa usar o módulo :mod:`!echo` do " +"pacote :mod:`!sound.effects`, é preciso importá-lo com ``from sound.effects " +"import echo``." -#: ../../tutorial/modules.rst:554 +#: ../../tutorial/modules.rst:571 msgid "" "You can also write relative imports, with the ``from module import name`` " "form of import statement. These imports use leading dots to indicate the " -"current and parent packages involved in the relative import. From the :mod:" -"`surround` module for example, you might use::" +"current and parent packages involved in the relative import. From " +"the :mod:`!surround` module for example, you might use::" msgstr "" -"Também é possível escrever imports relativos, com a forma ``from modulo " -"import nome``. Esses imports usam pontos para indicar o pacote pai e o " -"atual, envolvidos no import relativo. Do módulo :mod:`surround`, por " +"Também é possível escrever imports relativos, com a forma ``from module " +"import name``. Esses imports usam pontos para indicar o pacote pai e o " +"atual, envolvidos no import relativo. Do módulo :mod:`!surround`, por " "exemplo, pode-se usar::" -#: ../../tutorial/modules.rst:563 +#: ../../tutorial/modules.rst:580 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 " @@ -829,11 +845,11 @@ msgstr "" "uso como módulo principal de um aplicativo Python devem sempre usar imports " "absolutos." -#: ../../tutorial/modules.rst:569 +#: ../../tutorial/modules.rst:586 msgid "Packages in Multiple Directories" msgstr "Pacotes em múltiplos diretórios" -#: ../../tutorial/modules.rst:571 +#: ../../tutorial/modules.rst:588 msgid "" "Packages support one more special attribute, :attr:`__path__`. This is " "initialized to be a list containing the name of the directory holding the " @@ -842,12 +858,12 @@ msgid "" "and subpackages contained in the package." msgstr "" "Pacotes possuem mais um atributo especial, :attr:`__path__`. Inicializado " -"como uma lista contendo o nome do diretório onde está o arquivo :file:" -"`__init__.py` do pacote, antes do código naquele arquivo ser executado. Esta " -"variável pode ser modificada; isso afeta a busca futura de módulos e " -"subpacotes contidos no pacote." +"como uma lista contendo o nome do diretório onde está o " +"arquivo :file:`__init__.py` do pacote, antes do código naquele arquivo ser " +"executado. Esta variável pode ser modificada; isso afeta a busca futura de " +"módulos e subpacotes contidos no pacote." -#: ../../tutorial/modules.rst:577 +#: ../../tutorial/modules.rst:594 msgid "" "While this feature is not often needed, it can be used to extend the set of " "modules found in a package." @@ -855,11 +871,11 @@ msgstr "" "Apesar de não ser muito usado, esse mecanismo permite estender o conjunto de " "módulos encontrados em um pacote." -#: ../../tutorial/modules.rst:582 +#: ../../tutorial/modules.rst:599 msgid "Footnotes" msgstr "Notas de rodapé" -#: ../../tutorial/modules.rst:583 +#: ../../tutorial/modules.rst:600 msgid "" "In fact function definitions are also 'statements' that are 'executed'; the " "execution of a module-level function definition adds the function name to " @@ -890,6 +906,6 @@ msgstr "sys" msgid "builtins" msgstr "builtins" -#: ../../tutorial/modules.rst:492 +#: ../../tutorial/modules.rst:493 msgid "__all__" msgstr "__all__" diff --git a/tutorial/stdlib.po b/tutorial/stdlib.po index c3e2b345f..b1a91edca 100644 --- a/tutorial/stdlib.po +++ b/tutorial/stdlib.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Leticia Portella , 2021 -# Misael borges , 2021 -# Adorilson Bezerra , 2021 -# And Past , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -67,8 +62,9 @@ msgid "" "For daily file and directory management tasks, the :mod:`shutil` module " "provides a higher level interface that is easier to use::" msgstr "" -"Para tarefas de gerenciamento cotidiano de arquivos e diretórios, o módulo :" -"mod:`shutil` fornece uma interface de alto nível que é mais simples de usar::" +"Para tarefas de gerenciamento cotidiano de arquivos e diretórios, o " +"módulo :mod:`shutil` fornece uma interface de alto nível que é mais simples " +"de usar::" #: ../../tutorial/stdlib.rst:51 msgid "File Wildcards" @@ -96,7 +92,7 @@ msgstr "" "Scripts geralmente precisam processar argumentos passados na linha de " "comando. Esses argumentos são armazenados como uma lista no atributo *argv* " "do módulo :mod:`sys`. Por exemplo, teríamos a seguinte saída executando " -"``python demo.py one two three`` na linha de comando::" +"``python demo.py one two three`` na linha de comando:" #: ../../tutorial/stdlib.rst:75 msgid "" @@ -110,13 +106,13 @@ msgstr "" #: ../../tutorial/stdlib.rst:89 msgid "" -"When run at the command line with ``python top.py --lines=5 alpha.txt beta." -"txt``, the script sets ``args.lines`` to ``5`` and ``args.filenames`` to " -"``['alpha.txt', 'beta.txt']``." +"When run at the command line with ``python top.py --lines=5 alpha.txt " +"beta.txt``, the script sets ``args.lines`` to ``5`` and ``args.filenames`` " +"to ``['alpha.txt', 'beta.txt']``." msgstr "" -"Quando executada a linha de comando ``python top.py --lines=5 alpha.txt beta." -"txt``, o script define ``args.lines`` para ``5`` e ``args.filenames`` para " -"``['alpha.txt', 'beta.txt']``." +"Quando executada na linha de comando ``python topo.py --linhas=5 alfa.txt " +"beta.txt``, o script define ``args.linhas`` para ``5`` e ``args.arquivos`` " +"para ``['alfa.txt', 'beta.txt']``." #: ../../tutorial/stdlib.rst:97 msgid "Error Output Redirection and Program Termination" @@ -237,12 +233,14 @@ msgstr "Compressão de dados" #: ../../tutorial/stdlib.rst:234 msgid "" "Common data archiving and compression formats are directly supported by " -"modules including: :mod:`zlib`, :mod:`gzip`, :mod:`bz2`, :mod:`lzma`, :mod:" -"`zipfile` and :mod:`tarfile`. ::" +"modules " +"including: :mod:`zlib`, :mod:`gzip`, :mod:`bz2`, :mod:`lzma`, :mod:`zipfile` " +"and :mod:`tarfile`. ::" msgstr "" "Formatos comuns de arquivamento e compressão de dados estão disponíveis " -"diretamente através de alguns módulos, entre eles: :mod:`zlib`, :mod:" -"`gzip`, :mod:`bz2`, :mod:`lzma`, :mod:`zipfile` and :mod:`tarfile`. ::" +"diretamente através de alguns módulos, entre " +"eles: :mod:`zlib`, :mod:`gzip`, :mod:`bz2`, :mod:`lzma`, :mod:`zipfile` " +"and :mod:`tarfile`. ::" #: ../../tutorial/stdlib.rst:254 msgid "Performance Measurement" @@ -261,8 +259,9 @@ msgstr "" #: ../../tutorial/stdlib.rst:260 msgid "" "For example, it may be tempting to use the tuple packing and unpacking " -"feature instead of the traditional approach to swapping arguments. The :mod:" -"`timeit` module quickly demonstrates a modest performance advantage::" +"feature instead of the traditional approach to swapping arguments. " +"The :mod:`timeit` module quickly demonstrates a modest performance " +"advantage::" msgstr "" "Por exemplo, pode ser tentador usar o empacotamento e desempacotamento de " "tuplas ao invés da abordagem tradicional de permutar os argumentos. O " @@ -274,9 +273,9 @@ msgid "" "and :mod:`pstats` modules provide tools for identifying time critical " "sections in larger blocks of code." msgstr "" -"Em contraste com a granularidade fina do módulo :mod:`timeit`, os módulos :" -"mod:`profile` e :mod:`pstats` oferecem ferramentas para identificar os " -"trechos mais críticos em grandes blocos de código." +"Em contraste com a granularidade fina do módulo :mod:`timeit`, os " +"módulos :mod:`profile` e :mod:`pstats` oferecem ferramentas para identificar " +"os trechos mais críticos em grandes blocos de código." #: ../../tutorial/stdlib.rst:278 msgid "Quality Control" @@ -315,9 +314,9 @@ msgid "" "module, but it allows a more comprehensive set of tests to be maintained in " "a separate file::" msgstr "" -"O módulo :mod:`unittest` não é tão simples de usar quanto o módulo :mod:" -"`doctest`, mas permite que um conjunto muito maior de testes seja mantido em " -"um arquivo separado::" +"O módulo :mod:`unittest` não é tão simples de usar quanto o " +"módulo :mod:`doctest`, mas permite que um conjunto muito maior de testes " +"seja mantido em um arquivo separado::" #: ../../tutorial/stdlib.rst:324 msgid "Batteries Included" @@ -364,18 +363,18 @@ msgid "" "The :mod:`json` package provides robust support for parsing this popular " "data interchange format. The :mod:`csv` module supports direct reading and " "writing of files in Comma-Separated Value format, commonly supported by " -"databases and spreadsheets. XML processing is supported by the :mod:`xml." -"etree.ElementTree`, :mod:`xml.dom` and :mod:`xml.sax` packages. Together, " -"these modules and packages greatly simplify data interchange between Python " -"applications and other tools." +"databases and spreadsheets. XML processing is supported by " +"the :mod:`xml.etree.ElementTree`, :mod:`xml.dom` and :mod:`xml.sax` " +"packages. Together, these modules and packages greatly simplify data " +"interchange between Python applications and other tools." msgstr "" "O pacote :mod:`json` oferece um suporte robusto para analisar este popular " "formato para troca de dados. O módulo :mod:`csv` oferece suporte para " "leitura e escrita direta em arquivos no formato Comma-Separated Value, " "comumente suportado por bancos de dados e planilhas. O processamento XML é " -"fornecido pelos pacotes :mod:`xml.etree.ElementTree`, :mod:`xml.dom` e :mod:" -"`xml.sax`. Juntos, esses módulos e pacotes simplificam muito a troca de " -"informações entre aplicativos Python e outras ferramentas." +"fornecido pelos pacotes :mod:`xml.etree.ElementTree`, :mod:`xml.dom` " +"e :mod:`xml.sax`. Juntos, esses módulos e pacotes simplificam muito a troca " +"de informações entre aplicativos Python e outras ferramentas." #: ../../tutorial/stdlib.rst:349 msgid "" @@ -389,11 +388,11 @@ msgstr "" #: ../../tutorial/stdlib.rst:353 msgid "" -"Internationalization is supported by a number of modules including :mod:" -"`gettext`, :mod:`locale`, and the :mod:`codecs` package." +"Internationalization is supported by a number of modules " +"including :mod:`gettext`, :mod:`locale`, and the :mod:`codecs` package." msgstr "" -"Internacionalização está disponível através de diversos módulos, como :mod:" -"`gettext`, :mod:`locale`, e o pacote :mod:`codecs`." +"Internacionalização está disponível através de diversos módulos, " +"como :mod:`gettext`, :mod:`locale`, e o pacote :mod:`codecs`." #: ../../tutorial/stdlib.rst:27 msgid "built-in function" diff --git a/tutorial/stdlib2.po b/tutorial/stdlib2.po index ffe7f8b81..8d5fc5fee 100644 --- a/tutorial/stdlib2.po +++ b/tutorial/stdlib2.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -92,9 +90,9 @@ msgid "" "allows users to customize their applications without having to alter the " "application." msgstr "" -"módulo :mod:`string` inclui a versátil classe :class:`Template` com uma " -"sintaxe simplificada, adequada para ser editada por usuários finais. Isso " -"permite que usuários personalizem suas aplicações sem a necessidade de " +"módulo :mod:`string` inclui a versátil classe :class:`~string.Template` com " +"uma sintaxe simplificada, adequada para ser editada por usuários finais. " +"Isso permite que usuários personalizem suas aplicações sem a necessidade de " "alterar a aplicação." #: ../../tutorial/stdlib2.rst:78 @@ -116,16 +114,16 @@ msgstr "" msgid "" "The :meth:`~string.Template.substitute` method raises a :exc:`KeyError` when " "a placeholder is not supplied in a dictionary or a keyword argument. For " -"mail-merge style applications, user supplied data may be incomplete and the :" -"meth:`~string.Template.safe_substitute` method may be more appropriate --- " -"it will leave placeholders unchanged if data is missing::" +"mail-merge style applications, user supplied data may be incomplete and " +"the :meth:`~string.Template.safe_substitute` method may be more appropriate " +"--- it will leave placeholders unchanged if data is missing::" msgstr "" -"O método :meth:`substitute` levanta uma exceção :exc:`KeyError` quando o " -"identificador de uma marcação não é fornecido em um dicionário ou em um " -"argumento nomeado (*keyword argument*). Para aplicações que podem receber " -"dados incompletos fornecidos pelo usuário, o método :meth:`safe_substitute` " -"pode ser mais apropriado --- deixará os marcadores intactos se os dados " -"estiverem faltando::" +"O método :meth:`~string.Template.substitute` levanta uma " +"exceção :exc:`KeyError` quando o identificador de uma marcação não é " +"fornecido em um dicionário ou em um argumento nomeado (*keyword argument*). " +"Para aplicações que podem receber dados incompletos fornecidos pelo usuário, " +"o método :meth:`~string.Template.safe_substitute` pode ser mais apropriado " +"--- deixará os marcadores intactos se os dados estiverem faltando::" #: ../../tutorial/stdlib2.rst:103 msgid "" @@ -156,21 +154,21 @@ msgstr "Trabalhando com formatos binários de dados" #: ../../tutorial/stdlib2.rst:136 msgid "" -"The :mod:`struct` module provides :func:`~struct.pack` and :func:`~struct." -"unpack` functions for working with variable length binary record formats. " -"The following example shows how to loop through header information in a ZIP " -"file without using the :mod:`zipfile` module. Pack codes ``\"H\"`` and " -"``\"I\"`` represent two and four byte unsigned numbers respectively. The " -"``\"<\"`` indicates that they are standard size and in little-endian byte " -"order::" -msgstr "" -"O módulo :mod:`struct` oferece as funções :func:`pack` e :func:`unpack` para " -"trabalhar com registros binários de tamanho variável. O exemplo a seguir " -"mostra como iterar através do cabeçalho de informação num aquivo ZIP sem " -"usar o módulo :mod:`zipfile`. Os códigos de empacotamento ``\"H\"`` e " -"``\"I\"`` representam números sem sinal de dois e quatro bytes " -"respectivamente. O ``\"<\"`` indica que os números têm tamanho padrão e são " -"little-endian (bytes menos significativos primeiro)::" +"The :mod:`struct` module provides :func:`~struct.pack` " +"and :func:`~struct.unpack` functions for working with variable length binary " +"record formats. The following example shows how to loop through header " +"information in a ZIP file without using the :mod:`zipfile` module. Pack " +"codes ``\"H\"`` and ``\"I\"`` represent two and four byte unsigned numbers " +"respectively. The ``\"<\"`` indicates that they are standard size and in " +"little-endian byte order::" +msgstr "" +"O módulo :mod:`struct` oferece as funções :func:`~struct.pack` " +"e :func:`~struct.unpack` para trabalhar com registros binários de tamanho " +"variável. O exemplo a seguir mostra como iterar através do cabeçalho de " +"informação num aquivo ZIP sem usar o módulo :mod:`zipfile`. Os códigos de " +"empacotamento ``\"H\"`` e ``\"I\"`` representam números sem sinal de dois e " +"quatro bytes respectivamente. O ``\"<\"`` indica que os números têm tamanho " +"padrão e são little-endian (bytes menos significativos primeiro)::" #: ../../tutorial/stdlib2.rst:167 msgid "Multi-threading" @@ -210,8 +208,7 @@ msgstr "" "O principal desafio para as aplicações que usam múltiplas threads é " "coordenar as threads que compartilham dados ou outros recursos. Para esta " "finalidade, o módulo threading oferece alguns mecanismos primitivos de " -"sincronização, como travas (locks), eventos, variáveis de condição e " -"semáforos." +"sincronização, como travas, eventos, variáveis de condição e semáforos." #: ../../tutorial/stdlib2.rst:203 msgid "" @@ -239,8 +236,8 @@ msgstr "Gerando logs" #: ../../tutorial/stdlib2.rst:216 msgid "" "The :mod:`logging` module offers a full featured and flexible logging " -"system. At its simplest, log messages are sent to a file or to ``sys." -"stderr``::" +"system. At its simplest, log messages are sent to a file or to " +"``sys.stderr``::" msgstr "" "O módulo :mod:`logging` oferece um completo e flexível sistema de log. Da " "maneira mais simples, mensagens de log são enviadas para um arquivo ou para " @@ -255,16 +252,17 @@ msgid "" "By default, informational and debugging messages are suppressed and the " "output is sent to standard error. Other output options include routing " "messages through email, datagrams, sockets, or to an HTTP Server. New " -"filters can select different routing based on message priority: :const:" -"`~logging.DEBUG`, :const:`~logging.INFO`, :const:`~logging.WARNING`, :const:" -"`~logging.ERROR`, and :const:`~logging.CRITICAL`." +"filters can select different routing based on message " +"priority: :const:`~logging.DEBUG`, :const:`~logging.INFO`, :const:`~logging.WARNING`, :const:`~logging.ERROR`, " +"and :const:`~logging.CRITICAL`." msgstr "" "Por padrão, mensagens informativas e de depuração são suprimidas e a saída é " "enviada para a saída de erros padrão (stderr). Outras opções de saída " "incluem envio de mensagens através de correio eletrônico, datagramas, " "sockets ou para um servidor HTTP. Novos filtros podem selecionar diferentes " -"formas de envio de mensagens, baseadas na prioridade da mensagem: :const:" -"`DEBUG`, :const:`INFO`, :const:`WARNING`, :const:`ERROR` e :const:`CRITICAL`." +"formas de envio de mensagens, baseadas na prioridade da " +"mensagem: :const:`~logging.DEBUG`, :const:`~logging.INFO`, :const:`~logging.WARNING`, :const:`~logging.ERROR` " +"e :const:`~logging.CRITICAL`." #: ../../tutorial/stdlib2.rst:241 msgid "" @@ -287,9 +285,9 @@ msgid "" "shortly after the last reference to it has been eliminated." msgstr "" "Python faz gerenciamento automático de memória (contagem de referências para " -"a maioria dos objetos e :term:`garbage collection ` " -"[coleta de lixo] para eliminar ciclos). A memória ocupada por um objeto é " -"liberada logo depois da última referência a ele ser eliminada." +"a maioria dos objetos e :term:`coleta de lixo ` para " +"eliminar ciclos). A memória ocupada por um objeto é liberada logo depois da " +"última referência a ele ser eliminada." #: ../../tutorial/stdlib2.rst:255 msgid "" @@ -309,7 +307,7 @@ msgstr "" "para rastrear objetos sem criar uma referência. Quando o objeto não é mais " "necessário, ele é automaticamente removido de uma tabela de referências " "fracas e uma chamada (*callback*) é disparada. Aplicações típicas incluem " -"cacheamento de objetos que são muito custosos para criar::" +"armazenamento em cache de objetos que são muito custosos para criar::" #: ../../tutorial/stdlib2.rst:290 msgid "Tools for Working with Lists" @@ -386,9 +384,9 @@ msgid "" "implementation of binary floating point, the class is especially helpful for" msgstr "" "O módulo :mod:`decimal` oferece o tipo :class:`Decimal` para aritmética " -"decimal com ponto flutuante. Comparado a implementação embutida :class:" -"`float` que usa aritmética binária de ponto flutuante, a classe é " -"especialmente útil para:" +"decimal com ponto flutuante. Comparado a implementação " +"embutida :class:`float` que usa aritmética binária de ponto flutuante, a " +"classe é especialmente útil para:" #: ../../tutorial/stdlib2.rst:362 msgid "" diff --git a/tutorial/venv.po b/tutorial/venv.po index 2358bdd1c..c5ea538e7 100644 --- a/tutorial/venv.po +++ b/tutorial/venv.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Ruan Aragão , 2021 -# Leticia Portella , 2021 -# Adorilson Bezerra , 2021 -# Hildeberto Abreu Magalhães , 2021 -# Fabio Santos , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -96,17 +91,17 @@ msgstr "Criando ambientes virtuais" #: ../../tutorial/venv.rst:38 msgid "" -"The module used to create and manage virtual environments is called :mod:" -"`venv`. :mod:`venv` will usually install the most recent version of Python " -"that you have available. If you have multiple versions of Python on your " -"system, you can select a specific Python version by running ``python3`` or " -"whichever version you want." +"The module used to create and manage virtual environments is " +"called :mod:`venv`. :mod:`venv` will usually install the most recent " +"version of Python that you have available. If you have multiple versions of " +"Python on your system, you can select a specific Python version by running " +"``python3`` or whichever version you want." msgstr "" -"O módulo usado para criar e gerenciar ambientes virtuais é chamado :mod:" -"`venv`. O :mod:`venv` normalmente irá instalar a versão mais recente de " -"Python que você tiver disponível. Se você tiver múltiplas versões de Python " -"no seu sistema, você pode selecionar uma versão específica do Python " -"executando ``python3`` ou qualquer versão que você desejar." +"O módulo usado para criar e gerenciar ambientes virtuais é " +"chamado :mod:`venv`. O :mod:`venv` normalmente irá instalar a versão mais " +"recente de Python que você tiver disponível. Se você tiver múltiplas versões " +"de Python no seu sistema, você pode selecionar uma versão específica do " +"Python executando ``python3`` ou qualquer versão que você desejar." #: ../../tutorial/venv.rst:44 msgid "" @@ -189,15 +184,15 @@ msgstr "Gerenciando pacotes com o pip" #: ../../tutorial/venv.rst:100 msgid "" -"You can install, upgrade, and remove packages using a program called :" -"program:`pip`. By default ``pip`` will install packages from the `Python " -"Package Index `_. You can browse the Python Package Index " -"by going to it in your web browser." +"You can install, upgrade, and remove packages using a program " +"called :program:`pip`. By default ``pip`` will install packages from the " +"`Python Package Index `_. You can browse the Python " +"Package Index by going to it in your web browser." msgstr "" -"Você pode instalar, atualizar e remover pacotes usando um programa chamado :" -"program:`pip`. Por padrão ``pip`` irá instalar pacotes do `Python Package " -"Index `_. Você pode navegar pelo Python Package Index " -"através do seu navegador web." +"Você pode instalar, atualizar e remover pacotes usando um programa " +"chamado :program:`pip`. Por padrão ``pip`` irá instalar pacotes do `Python " +"Package Index `_. Você pode navegar pelo Python Package " +"Index através do seu navegador web." #: ../../tutorial/venv.rst:105 msgid "" @@ -283,10 +278,10 @@ msgstr "" msgid "" "``pip`` has many more options. Consult the :ref:`installing-index` guide " "for complete documentation for ``pip``. When you've written a package and " -"want to make it available on the Python Package Index, consult the :ref:" -"`distributing-index` guide." +"want to make it available on the Python Package Index, consult the `Python " +"packaging user guide`_." msgstr "" "``pip`` tem inúmeras outras opções. Consulte o guia :ref:`installing-index` " "para a documentação completa do ``pip``. Quando você escrever um pacote e " -"desejar deixá-lo disponível no Python Package Index, consulte o guia :ref:" -"`distributing-index`." +"desejar deixá-lo disponível no Python Package Index, consulte o `guia de " +"usuário para empacotamento de Python`_." diff --git a/tutorial/whatnow.po b/tutorial/whatnow.po index 7135ca777..1ee4b2b2f 100644 --- a/tutorial/whatnow.po +++ b/tutorial/whatnow.po @@ -1,28 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Otávio Carneiro , 2021 -# Adorilson Bezerra , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Adorilson Bezerra , 2022\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -112,10 +109,10 @@ msgid "" "available for download. Once you begin releasing code, you can register it " "here so that others can find it." msgstr "" -"https://pypi.org: o índice de pacotes Python (Python package index), " -"anteriormente apelidado de Cheese Shop [#]_, é um índice de módulos Python " -"criados pelos usuários. Uma vez que você começa a publicar código, pode " -"registrar seus pacotes aqui para que outros possam encontrá-los." +"https://pypi.org: O Python Package Index, anteriormente apelidado de Cheese " +"Shop [#]_, é um índice de módulos Python criados pelos usuários. Uma vez que " +"você começa a publicar código, pode registrar seus pacotes aqui para que " +"outros possam encontrá-los." #: ../../tutorial/whatnow.rst:43 msgid "" @@ -179,10 +176,10 @@ msgid "" "questions that come up again and again, and may already contain the solution " "for your problem." msgstr "" -"Antes de postar, certifique-se de checar a lista de Perguntas Frequentes (:" -"ref:`Frequently Asked Questions ` , também chamada de FAQ). A FAQ " -"responde muitas das perguntas que aparecem com frequência e pode já conter a " -"solução para o seu problema." +"Antes de postar, certifique-se de checar a lista de :ref:`perguntas " +"frequentes ` (também chamada de FAQ). O FAQ responde muitas das " +"perguntas que aparecem com frequência e pode já conter a solução para o seu " +"problema." #: ../../tutorial/whatnow.rst:70 msgid "Footnotes" diff --git a/using/cmdline.po b/using/cmdline.po index 51d97ca21..0d2cfa70d 100644 --- a/using/cmdline.po +++ b/using/cmdline.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Mariana Costa , 2021 -# a76d6fb6142d7607ab0526dcbddb02d7_7bf0da0 <3b5fb0f281c8dfb4c0170f2ee2a6cfcf_843623>, 2021 -# Hemílio Lauro , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -39,13 +32,13 @@ msgid "" "The CPython interpreter scans the command line and the environment for " "various settings." msgstr "" -"O interpretador do CPython verifica a linha de comando e o ambiente em busca " -"de várias configurações." +"O interpretador CPython verifica a linha de comando e o ambiente em busca de " +"várias configurações." #: ../../using/cmdline.rst:16 msgid "" -"Other implementations' command line schemes may differ. See :ref:" -"`implementations` for further resources." +"Other implementations' command line schemes may differ. " +"See :ref:`implementations` for further resources." msgstr "" "Os esquemas de linha de comando de outras implementações podem ser " "diferentes. Consulte :ref:`implementations` para mais recursos." @@ -94,16 +87,16 @@ msgid "" "When called with a file name argument or with a file as standard input, it " "reads and executes a script from that file." msgstr "" -"Quando chamado com um argumento de nome de arquivo ou com um arquivo como " -"entrada padrão, ele lê e executa um script desse arquivo." +"Quando chamado com um nome de arquivo como argumento ou com um arquivo como " +"entrada padrão, ele lê e executa o script desse arquivo." #: ../../using/cmdline.rst:47 msgid "" "When called with a directory name argument, it reads and executes an " "appropriately named script from that directory." msgstr "" -"Quando chamado com um argumento de nome de diretório, ele lê e executa um " -"script nomeado adequadamente desse diretório." +"Quando chamado com um nome de diretório como argumento, ele lê e executa um " +"script adequadamente nomeado nesse diretório." #: ../../using/cmdline.rst:49 msgid "" @@ -139,7 +132,7 @@ msgid "" msgstr "" "Uma opção de interface termina a lista de opções consumidas pelo " "interpretador, todos os argumentos consecutivos terminam em :data:`sys.argv` " -"-- observe que o primeiro elemento, subscrito zero (``sys.argv[0]``) , é uma " +"-- observe que o primeiro elemento, índice zero (``sys.argv[0]``) , é uma " "string que reflete a fonte do programa." #: ../../using/cmdline.rst:64 @@ -150,19 +143,19 @@ msgid "" msgstr "" "Executa o código Python em *command*. *command* pode ser uma ou mais " "instruções separadas por novas linhas, com espaços em branco à esquerda " -"significativos, como no código normal do módulo." +"significativos, como em um código de um módulo normal." #: ../../using/cmdline.rst:68 msgid "" "If this option is given, the first element of :data:`sys.argv` will be ``\"-" -"c\"`` and the current directory will be added to the start of :data:`sys." -"path` (allowing modules in that directory to be imported as top level " -"modules)." +"c\"`` and the current directory will be added to the start " +"of :data:`sys.path` (allowing modules in that directory to be imported as " +"top level modules)." msgstr "" "Se esta opção for fornecida, o primeiro elemento de :data:`sys.argv` será " "``\"-c\"`` e o diretório atual será adicionado ao início de :data:`sys.path` " -"(permitindo módulos nesse diretório para ser importado como módulos de nível " -"superior)." +"(permitindo que módulos nesse diretório sejam importados como módulos de " +"nível superior)." #: ../../using/cmdline.rst:73 msgid "" @@ -170,7 +163,7 @@ msgid "" "argument ``command``." msgstr "" "Levanta um :ref:`evento de auditoria ` ``cpython.run_command`` com " -"argumento ``command``." +"o argumento ``command``." #: ../../using/cmdline.rst:77 msgid "" @@ -187,9 +180,9 @@ msgid "" "but the implementation may not always enforce this (e.g. it may allow you to " "use a name that includes a hyphen)." msgstr "" -"Como o argumento é um nome de *module*, você não deve fornecer uma extensão " -"de arquivo (``.py``). O nome do módulo deve ser um nome de módulo Python " -"absoluto válido, mas a implementação nem sempre pode impor isso (por " +"Como o argumento é o nome de um *módulo*, você não deve fornecer uma " +"extensão de arquivo (``.py``). O nome do módulo deve ser um nome de módulo " +"Python absoluto válido, mas a implementação nem sempre exige isso (por " "exemplo, pode permitir que você use um nome que inclua um hífen)." #: ../../using/cmdline.rst:85 @@ -214,10 +207,10 @@ msgid "" "still be used for precompiled modules, even if the original source file is " "not available." msgstr "" -"Esta opção não pode ser usada com módulos embutidos e módulos de extensão " -"escritos em C, uma vez que eles não possuem arquivos de módulo Python. No " -"entanto, ele ainda pode ser usado para módulos pré-compilados, mesmo se o " -"arquivo fonte original não estiver disponível." +"Esta opção não pode ser usada com módulos embutidos e com módulos de " +"extensão escritos em C, pois não possuem arquivos de módulo em Python. No " +"entanto, ele ainda pode ser usado para módulos pré-compilados, mesmo que o " +"arquivo-fonte original não esteja disponível." #: ../../using/cmdline.rst:99 msgid "" @@ -229,28 +222,28 @@ msgstr "" "Se esta opção for fornecida, o primeiro elemento de :data:`sys.argv` será o " "caminho completo para o arquivo do módulo (enquanto o arquivo do módulo está " "sendo localizado, o primeiro elemento será definido como ``\"-m\"``). Como " -"com a opção :option:`-c`, o diretório atual será adicionado ao início de :" -"data:`sys.path`." +"com a opção :option:`-c`, o diretório atual será adicionado ao início " +"de :data:`sys.path`." #: ../../using/cmdline.rst:104 msgid "" -":option:`-I` option can be used to run the script in isolated mode where :" -"data:`sys.path` contains neither the current directory nor the user's site-" -"packages directory. All :envvar:`PYTHON*` environment variables are ignored, " +":option:`-I` option can be used to run the script in isolated mode " +"where :data:`sys.path` contains neither the current directory nor the user's " +"site-packages directory. All ``PYTHON*`` environment variables are ignored, " "too." msgstr "" -"A opção :option:`-I` pode ser usada para executar o script em modo isolado " -"onde :data:`sys.path` não contém nem o diretório atual nem o diretório de " -"pacotes de sites do usuário. Todas as variáveis de ambiente :envvar:" -"`PYTHON*` são ignoradas também." +"A opção :option:`-I` pode ser usada para executar o script em modo isolado, " +"em que :data:`sys.path` não contém nem o diretório atual nem o diretório de " +"pacotes do usuário. Todas as variáveis de ambiente ``PYTHON*`` são ignoradas " +"também." #: ../../using/cmdline.rst:109 msgid "" "Many standard library modules contain code that is invoked on their " "execution as a script. An example is the :mod:`timeit` module::" msgstr "" -"Muitos módulos de biblioteca padrão contêm código que é chamado em sua " -"execução como um script. Um exemplo é o módulo :mod:`timeit`::" +"Muitos módulos de biblioteca padrão contêm código que é executado como um " +"script. Um exemplo é o módulo :mod:`timeit`::" #: ../../using/cmdline.rst:115 msgid "" @@ -258,7 +251,7 @@ msgid "" "argument ``module-name``." msgstr "" "Levanta um :ref:`evento de auditoria ` ``cpython.run_module`` com " -"argumento ``module-name``." +"o argumento ``module-name``." #: ../../using/cmdline.rst:119 msgid ":func:`runpy.run_module`" @@ -266,11 +259,11 @@ msgstr ":func:`runpy.run_module`" #: ../../using/cmdline.rst:119 ../../using/cmdline.rst:171 msgid "Equivalent functionality directly available to Python code" -msgstr "Funcionalidade equivalente diretamente disponível para o código Python" +msgstr "Funcionalidade equivalente diretamente disponível para código Python" #: ../../using/cmdline.rst:121 msgid ":pep:`338` -- Executing modules as scripts" -msgstr ":pep:`338` -- Executando módulos como scripts" +msgstr ":pep:`338` -- Executing modules as scripts" #: ../../using/cmdline.rst:123 msgid "Supply the package name to run a ``__main__`` submodule." @@ -278,7 +271,7 @@ msgstr "Forneça o nome do pacote para executar um submódulo ``__main__``." #: ../../using/cmdline.rst:126 msgid "namespace packages are also supported" -msgstr "pacotes de espaço de nomes também são suportados" +msgstr "Pacotes de espaço de nomes também são suportados" #: ../../using/cmdline.rst:133 msgid "" @@ -291,19 +284,19 @@ msgstr "" #: ../../using/cmdline.rst:136 msgid "" "If this option is given, the first element of :data:`sys.argv` will be ``\"-" -"\"`` and the current directory will be added to the start of :data:`sys." -"path`." +"\"`` and the current directory will be added to the start " +"of :data:`sys.path`." msgstr "" "Se esta opção for fornecida, o primeiro elemento de :data:`sys.argv` será " "``\"-\"`` e o diretório atual será adicionado ao início de :data:`sys.path`." -#: ../../using/cmdline.rst:140 +#: ../../using/cmdline.rst:140 ../../using/cmdline.rst:700 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_stdin`` with no " "arguments." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``cpython.run_stdin`` com " -"nenhum argumento." +"Levanta um :ref:`evento de auditoria ` ``cpython.run_stdin`` sem " +"argumentos." #: ../../using/cmdline.rst:146 msgid "" @@ -342,27 +335,27 @@ msgid "" "location is executed as the :mod:`__main__` module." msgstr "" "Se o nome do script se referir a um diretório ou arquivo zip, o nome do " -"script será adicionado ao início de :data:`sys.path` e o arquivo ``__main__." -"py`` nesse local será executado como o módulo :mod:`__main__`." +"script será adicionado ao início de :data:`sys.path` e o arquivo " +"``__main__.py`` nesse local será executado como o módulo :mod:`__main__`." #: ../../using/cmdline.rst:162 msgid "" -":option:`-I` option can be used to run the script in isolated mode where :" -"data:`sys.path` contains neither the script's directory nor the user's site-" -"packages directory. All :envvar:`PYTHON*` environment variables are ignored, " -"too." +":option:`-I` option can be used to run the script in isolated mode " +"where :data:`sys.path` contains neither the script's directory nor the " +"user's site-packages directory. All ``PYTHON*`` environment variables are " +"ignored, too." msgstr "" "A opção :option:`-I` pode ser usada para executar o script em modo isolado " "onde :data:`sys.path` não contém nem o diretório do script nem o diretório " -"de pacotes de sites do usuário. Todas as variáveis de ambiente :envvar:" -"`PYTHON*` são ignoradas também." +"de pacotes do usuário. Todas as variáveis de ambiente ``PYTHON*`` são " +"ignoradas também." #: ../../using/cmdline.rst:167 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_file`` with " "argument ``filename``." msgstr "" -"Levanta um :ref:`evento de auditoria ` ``cpython.run_file`` com " +"Levanta um :ref:`evento de auditoria ` ``cpython.run_file`` com o " "argumento ``filename``." #: ../../using/cmdline.rst:170 @@ -414,7 +407,7 @@ msgstr "" msgid "" "Print a description of implementation-specific :option:`-X` options and exit." msgstr "" -"Imprime uma descrição das opções :option:`-X` específica da implementação e " +"Imprime uma descrição das opções :option:`-X` específicas da implementação e " "sai." #: ../../using/cmdline.rst:214 @@ -424,7 +417,7 @@ msgstr "Imprime as informações de uso completas e sai." #: ../../using/cmdline.rst:221 msgid "Print the Python version number and exit. Example output could be:" msgstr "" -"Exibe o número da versão do Python e saia. O exemplo de saída poderia ser:" +"Exibe o número da versão do Python e sai. O exemplo de saída poderia ser:" #: ../../using/cmdline.rst:227 msgid "When given twice, print more information about the build, like:" @@ -441,19 +434,23 @@ msgstr "Opções diversas" #: ../../using/cmdline.rst:245 msgid "" -"Issue a warning when comparing :class:`bytes` or :class:`bytearray` with :" -"class:`str` or :class:`bytes` with :class:`int`. Issue an error when the " -"option is given twice (:option:`!-bb`)." +"Issue a warning when converting :class:`bytes` or :class:`bytearray` " +"to :class:`str` without specifying encoding or comparing :class:`!bytes` " +"or :class:`!bytearray` with :class:`!str` or :class:`!bytes` " +"with :class:`int`. Issue an error when the option is given twice (:option:`!-" +"bb`)." msgstr "" -"Emite um aviso ao comparar :class:`bytes` ou :class:`bytearray` com :class:" -"`str` ou :class:`bytes` com :class:`int`. Emite um erro quando a opção é " -"fornecida duas vezes (:option:`!-bb`)." +"Emite um aviso ao converter :class:`bytes` ou :class:`bytearray` " +"para :class:`str` sem especificar a codificação, ou ao comparar :class:`!" +"bytes` ou :class:`!bytearray` com :class:`!str`, ou :class:`!bytes` " +"com :class:`int`. Emite um erro quando a opção é fornecida duas vezes " +"(:option:`!-bb`)." -#: ../../using/cmdline.rst:249 -msgid "Affects comparisons of :class:`bytes` with :class:`int`." -msgstr "Afeta comparações de :class:`bytes` com :class:`int`." +#: ../../using/cmdline.rst:250 +msgid "Affects also comparisons of :class:`bytes` with :class:`int`." +msgstr "Afeta também as comparações de :class:`bytes` com :class:`int`." -#: ../../using/cmdline.rst:254 +#: ../../using/cmdline.rst:255 msgid "" "If given, Python won't try to write ``.pyc`` files on the import of source " "modules. See also :envvar:`PYTHONDONTWRITEBYTECODE`." @@ -461,7 +458,7 @@ msgstr "" "Se fornecido, Python não tentará escrever arquivos ``.pyc`` na importação de " "módulos fonte. Veja também :envvar:`PYTHONDONTWRITEBYTECODE`." -#: ../../using/cmdline.rst:260 +#: ../../using/cmdline.rst:261 msgid "" "Control the validation behavior of hash-based ``.pyc`` files. See :ref:`pyc-" "invalidation`. When set to ``default``, checked and unchecked hash-based " @@ -473,14 +470,14 @@ msgid "" msgstr "" "Controla o comportamento de validação de arquivos ``.pyc`` baseados em hash. " "Veja :ref:`pyc-invalidation`. Quando definido como ``default``, os arquivos " -"de cache bytecode baseados em hash verificados e não verificados são " +"de cache de bytecode baseados em hash verificados e não verificados são " "validados de acordo com sua semântica padrão. Quando definido como " "``always``, todos os arquivos ``.pyc`` baseados em hash, sejam verificados " "ou não verificados, são validados para seus arquivos fonte correspondentes. " "Quando definido como ``never``, os arquivos ``.pyc`` baseados em hash não " -"são validados para seus arquivos fonte correspondentes." +"são validados contra seus respectivos arquivos fonte." -#: ../../using/cmdline.rst:268 +#: ../../using/cmdline.rst:269 msgid "" "The semantics of timestamp-based ``.pyc`` files are unaffected by this " "option." @@ -488,258 +485,263 @@ msgstr "" "A semântica dos arquivos ``.pyc`` baseados em marca de tempo não é afetada " "por esta opção." -#: ../../using/cmdline.rst:274 +#: ../../using/cmdline.rst:275 msgid "" "Turn on parser debugging output (for expert only, depending on compilation " "options). See also :envvar:`PYTHONDEBUG`." msgstr "" "Ativa a saída de depuração do analisador sintático (apenas para " -"especialistas, dependendo das opções de compilação). Veja também :envvar:" -"`PYTHONDEBUG`." +"especialistas, dependendo das opções de compilação). Veja " +"também :envvar:`PYTHONDEBUG`." -#: ../../using/cmdline.rst:280 +#: ../../using/cmdline.rst:281 msgid "" -"Ignore all :envvar:`PYTHON*` environment variables, e.g. :envvar:" -"`PYTHONPATH` and :envvar:`PYTHONHOME`, that might be set." +"Ignore all ``PYTHON*`` environment variables, e.g. :envvar:`PYTHONPATH` " +"and :envvar:`PYTHONHOME`, that might be set." msgstr "" -"Ignora todas as variáveis de ambiente :envvar:`PYTHON*`, por exemplo :envvar:" -"`PYTHONPATH` e :envvar:`PYTHONHOME`, que pode ser definido." +"Ignora todas as variáveis de ambiente ``PYTHON*``, por " +"exemplo :envvar:`PYTHONPATH` e :envvar:`PYTHONHOME`, que podem ser definidas." -#: ../../using/cmdline.rst:283 +#: ../../using/cmdline.rst:284 msgid "See also the :option:`-P` and :option:`-I` (isolated) options." msgstr "Veja também as opções :option:`-P` e :option:`-I` (isolado)." -#: ../../using/cmdline.rst:288 +#: ../../using/cmdline.rst:289 msgid "" "When a script is passed as first argument or the :option:`-c` option is " "used, enter interactive mode after executing the script or the command, even " -"when :data:`sys.stdin` does not appear to be a terminal. The :envvar:" -"`PYTHONSTARTUP` file is not read." +"when :data:`sys.stdin` does not appear to be a terminal. " +"The :envvar:`PYTHONSTARTUP` file is not read." msgstr "" "Quando um script é passado como primeiro argumento ou a opção :option:`-c` é " "usada, entre no modo interativo depois de executar o script ou o comando, " -"mesmo quando :data:`sys.stdin` não parece ser um terminal. O arquivo :envvar:" -"`PYTHONSTARTUP` não foi lido." +"mesmo quando :data:`sys.stdin` não parece ser um terminal. O " +"arquivo :envvar:`PYTHONSTARTUP` não foi lido." -#: ../../using/cmdline.rst:293 +#: ../../using/cmdline.rst:294 msgid "" "This can be useful to inspect global variables or a stack trace when a " "script raises an exception. See also :envvar:`PYTHONINSPECT`." msgstr "" -"Isso pode ser útil para inspecionar variáveis globais ou um stack trace " +"Isso pode ser útil para inspecionar variáveis globais ou o stack trace " "(situação da pilha de execução) quando um script levanta uma exceção. Veja " "também :envvar:`PYTHONINSPECT`." -#: ../../using/cmdline.rst:299 +#: ../../using/cmdline.rst:300 msgid "" "Run Python in isolated mode. This also implies :option:`-E`, :option:`-P` " "and :option:`-s` options." msgstr "" -"Executa o Python no modo isolado. Isso também implica nas opções :option:`-" +"Executa o Python em modo isolado. Isso também implica nas opções :option:`-" "E`, :option:`-P` e :option:`-s`." -#: ../../using/cmdline.rst:302 +#: ../../using/cmdline.rst:303 msgid "" "In isolated mode :data:`sys.path` contains neither the script's directory " -"nor the user's site-packages directory. All :envvar:`PYTHON*` environment " +"nor the user's site-packages directory. All ``PYTHON*`` environment " "variables are ignored, too. Further restrictions may be imposed to prevent " "the user from injecting malicious code." msgstr "" "No modo isolado, :data:`sys.path` não contém o diretório do script nem o " -"diretório de pacotes do site do usuário. Todas as variáveis de ambiente :" -"envvar:`PYTHON*` são ignoradas também. Outras restrições podem ser impostas " -"para evitar que o usuário injete código malicioso." +"diretório de pacotes do site do usuário. Todas as variáveis de ambiente " +"``PYTHON*`` também são ignoradas. Outras restrições podem ser impostas para " +"evitar que o usuário injete código malicioso." -#: ../../using/cmdline.rst:312 +#: ../../using/cmdline.rst:313 msgid "" -"Remove assert statements and any code conditional on the value of :const:" -"`__debug__`. Augment the filename for compiled (:term:`bytecode`) files by " -"adding ``.opt-1`` before the ``.pyc`` extension (see :pep:`488`). See also :" -"envvar:`PYTHONOPTIMIZE`." +"Remove assert statements and any code conditional on the value " +"of :const:`__debug__`. Augment the filename for compiled (:term:`bytecode`) " +"files by adding ``.opt-1`` before the ``.pyc`` extension (see :pep:`488`). " +"See also :envvar:`PYTHONOPTIMIZE`." msgstr "" -"Remova as instruções de asserção e qualquer código condicional ao valor de :" -"const:`__debug__`. Aumenta o nome do arquivo para arquivos compilados (:term:" -"`bytecode`) adicionando ``.opt-1`` antes da extensão ``.pyc`` (veja :pep:" -"`488`). Veja também :envvar:`PYTHONOPTIMIZE`." +"Remove as instruções de asserção e qualquer código condicional que envolva o " +"valor de :const:`__debug__`. Aumenta o nome do arquivo de arquivos " +"compilados (:term:`bytecode`) adicionando ``.opt-1`` antes da extensão " +"``.pyc`` (veja :pep:`488`). Veja também :envvar:`PYTHONOPTIMIZE`." -#: ../../using/cmdline.rst:317 ../../using/cmdline.rst:327 +#: ../../using/cmdline.rst:318 ../../using/cmdline.rst:328 msgid "Modify ``.pyc`` filenames according to :pep:`488`." msgstr "Modifica nomes de arquivos ``.pyc`` conforme a :pep:`488`." -#: ../../using/cmdline.rst:323 +#: ../../using/cmdline.rst:324 msgid "" "Do :option:`-O` and also discard docstrings. Augment the filename for " "compiled (:term:`bytecode`) files by adding ``.opt-2`` before the ``.pyc`` " "extension (see :pep:`488`)." msgstr "" -"Faz o mesmo que :option:`-O` e também descarta docstrings. Aumenta o nome do " -"arquivo para arquivos compilados (:term:`bytecode`) adicionando ``.opt-2`` " -"antes da extensão ``.pyc`` (veja :pep:`488`)." +"Faz o mesmo que :option:`-O` e também descarta as strings de documentação. " +"Aumenta o nome dos arquivos de bytecode compilados (:term:`bytecode`) " +"adicionando ``.opt-2`` antes da extensão ``.pyc`` (veja :pep:`488`)." -#: ../../using/cmdline.rst:333 +#: ../../using/cmdline.rst:334 msgid "Don't prepend a potentially unsafe path to :data:`sys.path`:" msgstr "Não anexa um caminho potencialmente inseguro a :data:`sys.path`:" -#: ../../using/cmdline.rst:335 +#: ../../using/cmdline.rst:336 msgid "" "``python -m module`` command line: Don't prepend the current working " "directory." -msgstr "A linha de comando ``python -m módulo``: Não anexa o diretório atual." +msgstr "Linha de comando ``python -m módulo``: não anexa o diretório atual." -#: ../../using/cmdline.rst:337 +#: ../../using/cmdline.rst:338 msgid "" "``python script.py`` command line: Don't prepend the script's directory. If " "it's a symbolic link, resolve symbolic links." msgstr "" -"A linha de comando ``python script.py``: não anexa o diretório do script. Se " -"for um link simbólico, resolve os links simbólicos." +"Linha de comando ``python script.py``: não anexa o diretório do próprio " +"script. Se for um link simbólico, resolve links simbólicos." -#: ../../using/cmdline.rst:339 +#: ../../using/cmdline.rst:340 msgid "" "``python -c code`` and ``python`` (REPL) command lines: Don't prepend an " "empty string, which means the current working directory." msgstr "" -"Linhas de comando ``python -c código`` e ``python`` (REPL): Não anexa uma " +"Linhas de comando ``python -c código`` e ``python`` (REPL): não anexam uma " "string vazia, o que significa o diretório de trabalho atual." -#: ../../using/cmdline.rst:342 +#: ../../using/cmdline.rst:343 msgid "" "See also the :envvar:`PYTHONSAFEPATH` environment variable, and :option:`-E` " "and :option:`-I` (isolated) options." msgstr "" -"Veja também a variável de ambiente :envvar:`PYTHONSAFEPATH` e as opções :" -"option:`-E` e :option:`-I` (isolado)." +"Veja também a variável de ambiente :envvar:`PYTHONSAFEPATH` e as " +"opções :option:`-E` e :option:`-I` (isolado)." -#: ../../using/cmdline.rst:350 +#: ../../using/cmdline.rst:351 msgid "" "Don't display the copyright and version messages even in interactive mode." msgstr "" -"Não exibe as mensagens de copyright e de versão nem mesmo no modo interativo." +"Não exibe as mensagens de direitos autorais e de versão nem mesmo no modo " +"interativo." -#: ../../using/cmdline.rst:357 +#: ../../using/cmdline.rst:358 msgid "" -"Turn on hash randomization. This option only has an effect if the :envvar:" -"`PYTHONHASHSEED` environment variable is set to ``0``, since hash " -"randomization is enabled by default." +"Turn on hash randomization. This option only has an effect if " +"the :envvar:`PYTHONHASHSEED` environment variable is set to ``0``, since " +"hash randomization is enabled by default." msgstr "" "Habilita a aleatorização com hash. Esta opção só tem efeito se a variável de " "ambiente :envvar:`PYTHONHASHSEED` estiver configurada para ``0``, uma vez " "que a aleatorização com hash é habilitada por padrão." -#: ../../using/cmdline.rst:361 +#: ../../using/cmdline.rst:362 msgid "" "On previous versions of Python, this option turns on hash randomization, so " -"that the :meth:`__hash__` values of str and bytes objects are \"salted\" " -"with an unpredictable random value. Although they remain constant within an " -"individual Python process, they are not predictable between repeated " -"invocations of Python." +"that the :meth:`~object.__hash__` values of str and bytes objects are " +"\"salted\" with an unpredictable random value. Although they remain " +"constant within an individual Python process, they are not predictable " +"between repeated invocations of Python." msgstr "" "Em versões anteriores do Python, esta opção ativa a aleatorização com hash, " -"para que os valores :meth:`__hash__` dos objetos str e bytes sejam " +"para que os valores :meth:`~object.__hash__` dos objetos str e bytes sejam " "\"salgados\" com um valor aleatório imprevisível. Embora permaneçam " "constantes em um processo Python individual, eles não são previsíveis entre " "invocações repetidas de Python." -#: ../../using/cmdline.rst:367 +#: ../../using/cmdline.rst:368 msgid "" "Hash randomization is intended to provide protection against a denial-of-" "service caused by carefully chosen inputs that exploit the worst case " -"performance of a dict construction, O(n\\ :sup:`2`) complexity. See http://" -"ocert.org/advisories/ocert-2011-003.html for details." +"performance of a dict construction, *O*\\ (*n*\\ :sup:`2`) complexity. See " +"http://ocert.org/advisories/ocert-2011-003.html for details." msgstr "" "A aleatorização com hash se destina a fornecer proteção contra uma negação " "de serviço causada por entradas cuidadosamente escolhidas que exploram o " -"pior caso de desempenho de uma inserção de dicionário, complexidade O(n\\ :" -"sup:`2`). Consulte http://ocert.org/advisories/ocert-2011-003.html para " -"obter detalhes." +"pior caso de desempenho de uma inserção de dicionário, complexidade *O*\\ " +"(*n*\\ :sup:`2`). Consulte http://ocert.org/advisories/ocert-2011-003.html " +"para obter detalhes." -#: ../../using/cmdline.rst:372 +#: ../../using/cmdline.rst:373 msgid "" ":envvar:`PYTHONHASHSEED` allows you to set a fixed value for the hash seed " "secret." msgstr "" -":envvar:`PYTHONHASHSEED` permite que você defina um valor fixo para o " -"segredo da semente de hash." +":envvar:`PYTHONHASHSEED` permite definir um valor fixo para o hash da " +"semente." -#: ../../using/cmdline.rst:375 +#: ../../using/cmdline.rst:378 msgid "The option is no longer ignored." msgstr "A opção não é mais ignorada." -#: ../../using/cmdline.rst:383 +#: ../../using/cmdline.rst:384 msgid "" -"Don't add the :data:`user site-packages directory ` to :data:" -"`sys.path`." +"Don't add the :data:`user site-packages directory ` " +"to :data:`sys.path`." msgstr "" -"Não adiciona o :data:`diretório site-packages de usuário ` a :data:`sys.path`." +"Não adiciona o :data:`diretório site-packages do usuário ` " +"a :data:`sys.path`." + +#: ../../using/cmdline.rst:387 +msgid "See also :envvar:`PYTHONNOUSERSITE`." +msgstr "Veja também :envvar:`PYTHONNOUSERSITE`." -#: ../../using/cmdline.rst:388 ../../using/cmdline.rst:793 +#: ../../using/cmdline.rst:391 ../../using/cmdline.rst:793 #: ../../using/cmdline.rst:805 msgid ":pep:`370` -- Per user site-packages directory" msgstr ":pep:`370` -- Diretório site-packages por usuário." -#: ../../using/cmdline.rst:393 +#: ../../using/cmdline.rst:396 msgid "" "Disable the import of the module :mod:`site` and the site-dependent " "manipulations of :data:`sys.path` that it entails. Also disable these " -"manipulations if :mod:`site` is explicitly imported later (call :func:`site." -"main` if you want them to be triggered)." +"manipulations if :mod:`site` is explicitly imported later " +"(call :func:`site.main` if you want them to be triggered)." msgstr "" -"Desabilita a importação do módulo :mod:`site` e as manipulações dependentes " -"do site de :data:`sys.path` que isso acarreta. Também desabilita essas " -"manipulações se :mod:`site` for explicitamente importado mais tarde (chame :" -"func:`site.main` se você quiser que eles sejam acionados)." +"Desabilita a importação do módulo :mod:`site` e as manipulações " +"do :data:`sys.path` que isso acarreta. Também desabilita essas manipulações " +"se :mod:`site` for explicitamente importado mais tarde " +"(chame :func:`site.main` se você quiser que eles sejam acionados)." -#: ../../using/cmdline.rst:401 +#: ../../using/cmdline.rst:404 msgid "" "Force the stdout and stderr streams to be unbuffered. This option has no " "effect on the stdin stream." msgstr "" -"Força os fluxos stdout e stderr a serem sem buffer. Esta opção não tem " -"efeito no fluxo stdin." +"Força os fluxos de saída e de erro padrão (stdout e stderr) a não terem " +"buffer. Esta opção não tem efeito no fluxo de entrada padrão (stdin)." -#: ../../using/cmdline.rst:404 +#: ../../using/cmdline.rst:407 msgid "See also :envvar:`PYTHONUNBUFFERED`." msgstr "Veja também :envvar:`PYTHONUNBUFFERED`." -#: ../../using/cmdline.rst:406 +#: ../../using/cmdline.rst:409 msgid "The text layer of the stdout and stderr streams now is unbuffered." msgstr "A camada de texto dos fluxos stdout e stderr agora é sem buffer." -#: ../../using/cmdline.rst:412 +#: ../../using/cmdline.rst:415 msgid "" "Print a message each time a module is initialized, showing the place " -"(filename or built-in module) from which it is loaded. When given twice (:" -"option:`!-vv`), print a message for each file that is checked for when " +"(filename or built-in module) from which it is loaded. When given twice " +"(:option:`!-vv`), print a message for each file that is checked for when " "searching for a module. Also provides information on module cleanup at exit." msgstr "" "Exibe uma mensagem cada vez que um módulo é inicializado, mostrando o local " "(nome do arquivo ou módulo embutido) de onde ele é carregado. Quando " "fornecido duas vezes (:option:`!-vv`), exibe uma mensagem para cada arquivo " -"que é verificado durante a busca por um módulo. Também fornece informações " -"sobre a limpeza do módulo na saída." +"verificado durante a busca por um módulo. Também fornece informações sobre a " +"limpeza do módulo na saída." -#: ../../using/cmdline.rst:417 +#: ../../using/cmdline.rst:420 msgid "" "The :mod:`site` module reports the site-specific paths and :file:`.pth` " "files being processed." msgstr "" -"O módulo :mod:`site` relata os caminhos específicos do site e os arquivos :" -"file:`.pth` sendo processados." +"O módulo :mod:`site` relata os caminhos específicos do site e os " +"arquivos :file:`.pth` sendo processados." -#: ../../using/cmdline.rst:421 +#: ../../using/cmdline.rst:424 msgid "See also :envvar:`PYTHONVERBOSE`." msgstr "Veja também :envvar:`PYTHONVERBOSE`." -#: ../../using/cmdline.rst:427 +#: ../../using/cmdline.rst:430 msgid "" "Warning control. Python's warning machinery by default prints warning " "messages to :data:`sys.stderr`." msgstr "" -"Controle de advertência. O mecanismo de aviso do Python por padrão exibe " +"Controle de advertência. O mecanismo de aviso do Python, por padrão, exibe " "mensagens de aviso para :data:`sys.stderr`." -#: ../../using/cmdline.rst:430 ../../using/cmdline.rst:821 +#: ../../using/cmdline.rst:433 ../../using/cmdline.rst:821 msgid "" "The simplest settings apply a particular action unconditionally to all " "warnings emitted by a process (even those that are otherwise ignored by " @@ -749,21 +751,21 @@ msgstr "" "incondicionalmente a todos os avisos emitidos por um processo (mesmo aqueles " "que são ignorados por padrão)::" -#: ../../using/cmdline.rst:441 +#: ../../using/cmdline.rst:444 msgid "" "The action names can be abbreviated as desired and the interpreter will " "resolve them to the appropriate action name. For example, ``-Wi`` is the " "same as ``-Wignore``." msgstr "" -"Os nomes das ações podem ser abreviados conforme desejado e o interpretador " -"irá resolvê-los para o nome da ação apropriado. Por exemplo, ``-Wi`` é o " -"mesmo que ``-Wignore``." +"Os nomes das ações podem ser abreviados conforme desejado, e o interpretador " +"irá resolvê-los para o nome da ação apropriado. Por exemplo, ``-Wi`` é " +"equivalente a ``-Wignore``." -#: ../../using/cmdline.rst:445 +#: ../../using/cmdline.rst:448 msgid "The full form of argument is::" msgstr "A forma completa de argumento é::" -#: ../../using/cmdline.rst:449 +#: ../../using/cmdline.rst:452 msgid "" "Empty fields match all values; trailing empty fields may be omitted. For " "example ``-W ignore::DeprecationWarning`` ignores all DeprecationWarning " @@ -773,15 +775,15 @@ msgstr "" "podem ser omitidos. Por exemplo, ``-W ignore::DeprecationWarning`` ignora " "todos os avisos de DeprecationWarning." -#: ../../using/cmdline.rst:453 +#: ../../using/cmdline.rst:456 msgid "" "The *action* field is as explained above but only applies to warnings that " "match the remaining fields." msgstr "" -"O campo *action* é explicado acima, mas se aplica apenas a avisos que " +"O campo *action* é explicado acima, mas aplica-se apenas aos avisos que " "correspondem aos campos restantes." -#: ../../using/cmdline.rst:456 +#: ../../using/cmdline.rst:459 msgid "" "The *message* field must match the whole warning message; this match is case-" "insensitive." @@ -789,19 +791,19 @@ msgstr "" "O campo *message* deve corresponder a toda a mensagem de aviso; essa " "correspondência não diferencia maiúsculas de minúsculas." -#: ../../using/cmdline.rst:459 +#: ../../using/cmdline.rst:462 msgid "" "The *category* field matches the warning category (ex: " "``DeprecationWarning``). This must be a class name; the match test whether " "the actual warning category of the message is a subclass of the specified " "warning category." msgstr "" -"O campo *category* corresponde à categoria de aviso (ex: " +"O campo *category* corresponde à categoria de aviso (ex.: " "``DeprecationWarning``). Deve ser um nome de classe; o teste de " -"correspondência se a categoria de aviso real da mensagem é uma subclasse da " -"categoria de aviso especificada." +"correspondência verifica se a categoria de aviso real da mensagem é " +"subclasse da categoria de aviso especificada." -#: ../../using/cmdline.rst:464 +#: ../../using/cmdline.rst:467 msgid "" "The *module* field matches the (fully qualified) module name; this match is " "case-sensitive." @@ -809,41 +811,42 @@ msgstr "" "O campo *module* corresponde ao nome do módulo (totalmente qualificado); " "esta correspondência diferencia maiúsculas de minúsculas." -#: ../../using/cmdline.rst:467 +#: ../../using/cmdline.rst:470 msgid "" "The *lineno* field matches the line number, where zero matches all line " "numbers and is thus equivalent to an omitted line number." msgstr "" -"O campo *lineno* corresponde ao número da linha, onde zero corresponde a " -"todos os números da linha e, portanto, é equivalente a um número da linha " +"O campo *lineno* corresponde ao número da linha, em que zero corresponde a " +"todos os números de linha e, portanto, é equivalente a um número de linha " "omitido." -#: ../../using/cmdline.rst:470 +#: ../../using/cmdline.rst:473 msgid "" "Multiple :option:`-W` options can be given; when a warning matches more than " -"one option, the action for the last matching option is performed. Invalid :" -"option:`-W` options are ignored (though, a warning message is printed about " -"invalid options when the first warning is issued)." +"one option, the action for the last matching option is performed. " +"Invalid :option:`-W` options are ignored (though, a warning message is " +"printed about invalid options when the first warning is issued)." msgstr "" "Múltiplas opções :option:`-W` podem ser fornecidas; quando um aviso " -"corresponde a mais de uma opção, a ação para a última opção correspondente é " -"executada. As opções :option:`-W` inválidas são ignoradas (embora, uma " +"corresponde a mais de uma opção, a ação da última opção correspondente é " +"executada. As opções :option:`-W` inválidas são ignoradas (embora uma " "mensagem de aviso seja exibida sobre opções inválidas quando o primeiro " "aviso for emitido)." -#: ../../using/cmdline.rst:475 +#: ../../using/cmdline.rst:478 msgid "" "Warnings can also be controlled using the :envvar:`PYTHONWARNINGS` " -"environment variable and from within a Python program using the :mod:" -"`warnings` module. For example, the :func:`warnings.filterwarnings` function " -"can be used to use a regular expression on the warning message." +"environment variable and from within a Python program using " +"the :mod:`warnings` module. For example, the :func:`warnings.filterwarnings` " +"function can be used to use a regular expression on the warning message." msgstr "" -"Os avisos também podem ser controlados usando a variável de ambiente :envvar:" -"`PYTHONWARNINGS` e de dentro de um programa Python usando o módulo :mod:" -"`warnings`. Por exemplo, a função :func:`warnings.filterwarnings` pode ser " -"usada para usar uma expressão regular na mensagem de aviso." +"Os avisos também podem ser controlados usando a variável de " +"ambiente :envvar:`PYTHONWARNINGS` e, dentro de um programa Python, usando o " +"módulo :mod:`warnings`. Por exemplo, a " +"função :func:`warnings.filterwarnings` pode ser usada para aplicar uma " +"expressão regular à mensagem de aviso." -#: ../../using/cmdline.rst:480 ../../using/cmdline.rst:832 +#: ../../using/cmdline.rst:483 ../../using/cmdline.rst:832 msgid "" "See :ref:`warning-filter` and :ref:`describing-warning-filters` for more " "details." @@ -851,7 +854,7 @@ msgstr "" "Veja :ref:`warning-filter` e :ref:`describing-warning-filters` para mais " "detalhes." -#: ../../using/cmdline.rst:486 +#: ../../using/cmdline.rst:489 msgid "" "Skip the first line of the source, allowing use of non-Unix forms of ``#!" "cmd``. This is intended for a DOS specific hack only." @@ -859,7 +862,7 @@ msgstr "" "Pula a primeira linha do código-fonte, permitindo o uso de formas não-Unix " "de ``#!cmd``. Isso se destina apenas a um hack específico do DOS." -#: ../../using/cmdline.rst:492 +#: ../../using/cmdline.rst:495 msgid "" "Reserved for various implementation-specific options. CPython currently " "defines the following possible values:" @@ -867,15 +870,15 @@ msgstr "" "Reservado para várias opções específicas de implementação. CPython " "atualmente define os seguintes valores possíveis:" -#: ../../using/cmdline.rst:495 +#: ../../using/cmdline.rst:498 msgid "" -"``-X faulthandler`` to enable :mod:`faulthandler`. See also :envvar:" -"`PYTHONFAULTHANDLER`." +"``-X faulthandler`` to enable :mod:`faulthandler`. See " +"also :envvar:`PYTHONFAULTHANDLER`." msgstr "" -"``-X faulthandler`` para habilitar :mod:`faulthandler`. Veja também :envvar:" -"`PYTHONFAULTHANDLER`." +"``-X faulthandler`` para habilitar :mod:`faulthandler`. Veja " +"também :envvar:`PYTHONFAULTHANDLER`." -#: ../../using/cmdline.rst:497 +#: ../../using/cmdline.rst:500 msgid "" "``-X showrefcount`` to output the total reference count and number of used " "memory blocks when the program finishes or after each statement in the " @@ -887,32 +890,33 @@ msgstr "" "no interpretador interativo. Isso só funciona em :ref:`construções de " "depuração `." -#: ../../using/cmdline.rst:501 +#: ../../using/cmdline.rst:504 msgid "" -"``-X tracemalloc`` to start tracing Python memory allocations using the :mod:" -"`tracemalloc` module. By default, only the most recent frame is stored in a " -"traceback of a trace. Use ``-X tracemalloc=NFRAME`` to start tracing with a " -"traceback limit of *NFRAME* frames. See :func:`tracemalloc.start` and :" -"envvar:`PYTHONTRACEMALLOC` for more information." +"``-X tracemalloc`` to start tracing Python memory allocations using " +"the :mod:`tracemalloc` module. By default, only the most recent frame is " +"stored in a traceback of a trace. Use ``-X tracemalloc=NFRAME`` to start " +"tracing with a traceback limit of *NFRAME* frames. " +"See :func:`tracemalloc.start` and :envvar:`PYTHONTRACEMALLOC` for more " +"information." msgstr "" "``-X tracemalloc`` para começar a rastrear alocações de memória do Python " "usando o módulo :mod:`tracemalloc`. Por padrão, apenas o quadro mais recente " "é armazenado no traceback (situação da pilha de execução) de um rastro. Use " "``-X tracemalloc=NFRAME`` para iniciar o rastreamento com um limite de " -"traceback de quadros *NFRAME*. Veja o :func:`tracemalloc.start` e :envvar:" -"`PYTHONTRACEMALLOC` para mais informações." +"traceback de quadros *NFRAME*. Veja o :func:`tracemalloc.start` " +"e :envvar:`PYTHONTRACEMALLOC` para mais informações." -#: ../../using/cmdline.rst:507 +#: ../../using/cmdline.rst:510 msgid "" "``-X int_max_str_digits`` configures the :ref:`integer string conversion " -"length limitation `. See also :envvar:" -"`PYTHONINTMAXSTRDIGITS`." +"length limitation `. See " +"also :envvar:`PYTHONINTMAXSTRDIGITS`." msgstr "" "``-X int_max_str_digits`` configura a :ref:`limitação de comprimento de " -"string na conversão para inteiro `. Veja também :envvar:" -"`PYTHONINTMAXSTRDIGITS`." +"string na conversão para inteiro `. Veja " +"também :envvar:`PYTHONINTMAXSTRDIGITS`." -#: ../../using/cmdline.rst:510 +#: ../../using/cmdline.rst:513 msgid "" "``-X importtime`` to show how long each import takes. It shows module name, " "cumulative time (including nested imports) and self time (excluding nested " @@ -924,19 +928,21 @@ msgstr "" "nome do módulo, tempo cumulativo (incluindo importações aninhadas) e tempo " "próprio (excluindo importações aninhadas). Observe que sua saída pode ser " "interrompida em aplicações multithread. O uso típico é ``python3 -X " -"importtime -c 'import asyncio'``. Veja também :envvar:" -"`PYTHONPROFILEIMPORTTIME`." +"importtime -c 'import asyncio'``. Veja " +"também :envvar:`PYTHONPROFILEIMPORTTIME`." -#: ../../using/cmdline.rst:515 +#: ../../using/cmdline.rst:518 msgid "" "``-X dev``: enable :ref:`Python Development Mode `, introducing " -"additional runtime checks that are too expensive to be enabled by default." +"additional runtime checks that are too expensive to be enabled by default. " +"See also :envvar:`PYTHONDEVMODE`." msgstr "" "``-X dev``: habilita :ref:`Modo de Desenvolvimento do Python `, " "introduzindo verificações adicionais de tempo de execução que são muito " -"custosas para serem habilitadas por padrão." +"custosas para serem habilitadas por padrão. Veja " +"também :envvar:`PYTHONDEVMODE`." -#: ../../using/cmdline.rst:518 +#: ../../using/cmdline.rst:521 msgid "" "``-X utf8`` enables the :ref:`Python UTF-8 Mode `. ``-X utf8=0`` " "explicitly disables :ref:`Python UTF-8 Mode ` (even when it would " @@ -944,47 +950,47 @@ msgid "" msgstr "" "``-X utf8`` habilita o :ref:`Modo UTF-8 do Python `. ``-X " "utf8=0`` explicitamente desabilita o :ref:`Modo UTF-8 do Python ` " -"(mesmo quando de outra forma seria ativado automaticamente). Veja também :" -"envvar:`PYTHONUTF8`." +"(mesmo quando de outra forma seria ativado automaticamente). Veja " +"também :envvar:`PYTHONUTF8`." -#: ../../using/cmdline.rst:522 +#: ../../using/cmdline.rst:525 msgid "" "``-X pycache_prefix=PATH`` enables writing ``.pyc`` files to a parallel tree " -"rooted at the given directory instead of to the code tree. See also :envvar:" -"`PYTHONPYCACHEPREFIX`." +"rooted at the given directory instead of to the code tree. See " +"also :envvar:`PYTHONPYCACHEPREFIX`." msgstr "" "``-X pycache_prefix=PATH`` permite a escrita de arquivos ``.pyc`` em uma " "árvore paralela enraizada em um determinado diretório em vez de na árvore de " "código. Veja também :envvar:`PYTHONPYCACHEPREFIX`." -#: ../../using/cmdline.rst:525 +#: ../../using/cmdline.rst:528 msgid "" "``-X warn_default_encoding`` issues a :class:`EncodingWarning` when the " -"locale-specific default encoding is used for opening files. See also :envvar:" -"`PYTHONWARNDEFAULTENCODING`." +"locale-specific default encoding is used for opening files. See " +"also :envvar:`PYTHONWARNDEFAULTENCODING`." msgstr "" "``-X warn_default_encoding`` emite uma :class:`EncodingWarning` quando a " "codificação padrão específica da localidade é usada para abrir arquivos. " "Veja também :envvar:`PYTHONWARNDEFAULTENCODING`." -#: ../../using/cmdline.rst:528 +#: ../../using/cmdline.rst:531 msgid "" "``-X no_debug_ranges`` disables the inclusion of the tables mapping extra " "location information (end line, start column offset and end column offset) " "to every instruction in code objects. This is useful when smaller code " "objects and pyc files are desired as well as suppressing the extra visual " -"location indicators when the interpreter displays tracebacks. See also :" -"envvar:`PYTHONNODEBUGRANGES`." +"location indicators when the interpreter displays tracebacks. See " +"also :envvar:`PYTHONNODEBUGRANGES`." msgstr "" "``-X no_debug_ranges`` desabilita a inclusão das tabelas que mapeiam " "informações de localização extra (linha final, deslocamento da coluna " "inicial e deslocamento da coluna final) para cada instrução em objetos " "código. Isso é útil quando objetos código menores e arquivos pyc são " "desejados, bem como suprimir os indicadores de localização visual extra " -"quando o interpretador exibe tracebacks. Veja também :envvar:" -"`PYTHONNODEBUGRANGES`." +"quando o interpretador exibe tracebacks (situação da pilha de execução). " +"Veja também :envvar:`PYTHONNODEBUGRANGES`." -#: ../../using/cmdline.rst:534 +#: ../../using/cmdline.rst:537 msgid "" "``-X frozen_modules`` determines whether or not frozen modules are ignored " "by the import machinery. A value of \"on\" means they get imported and " @@ -1003,43 +1009,39 @@ msgstr "" "\"importlib_bootstrap_external\" são sempre usados, mesmo que esse " "sinalizador esteja definido como \"off\"." -#: ../../using/cmdline.rst:542 +#: ../../using/cmdline.rst:545 msgid "" -"It also allows passing arbitrary values and retrieving them through the :" -"data:`sys._xoptions` dictionary." +"It also allows passing arbitrary values and retrieving them through " +"the :data:`sys._xoptions` dictionary." msgstr "" -"Também permite passar valores arbitrários e recuperá-los através do " +"Também permite passar valores arbitrários e recuperá-los por meio do " "dicionário :data:`sys._xoptions`." -#: ../../using/cmdline.rst:545 -msgid "The :option:`-X` option was added." -msgstr "A opção :option:`-X` foi adicionada." - -#: ../../using/cmdline.rst:548 -msgid "The ``-X faulthandler`` option." -msgstr "A opção ``-X faulthandler``." +#: ../../using/cmdline.rst:550 +msgid "Added the ``-X faulthandler`` option." +msgstr "Adicionada a opção ``-X faulthandler``." -#: ../../using/cmdline.rst:551 -msgid "The ``-X showrefcount`` and ``-X tracemalloc`` options." -msgstr "As opções ``-X showrefcount`` e ``-X tracemalloc``." +#: ../../using/cmdline.rst:553 +msgid "Added the ``-X showrefcount`` and ``-X tracemalloc`` options." +msgstr "Adicionadas as opções ``-X showrefcount`` e ``-X tracemalloc``." -#: ../../using/cmdline.rst:554 -msgid "The ``-X showalloccount`` option." -msgstr "A opção ``-X showalloccount``." +#: ../../using/cmdline.rst:556 +msgid "Added the ``-X showalloccount`` option." +msgstr "Adicionada a opção ``-X showalloccount``." -#: ../../using/cmdline.rst:557 -msgid "The ``-X importtime``, ``-X dev`` and ``-X utf8`` options." -msgstr "As opções ``-X importtime``, ``-X dev`` e ``-X utf8``." +#: ../../using/cmdline.rst:559 +msgid "Added the ``-X importtime``, ``-X dev`` and ``-X utf8`` options." +msgstr "Adicionadas as opções ``-X importtime``, ``-X dev`` e ``-X utf8``." -#: ../../using/cmdline.rst:560 +#: ../../using/cmdline.rst:562 msgid "" -"The ``-X pycache_prefix`` option. The ``-X dev`` option now logs ``close()`` " -"exceptions in :class:`io.IOBase` destructor." +"Added the ``-X pycache_prefix`` option. The ``-X dev`` option now logs " +"``close()`` exceptions in :class:`io.IOBase` destructor." msgstr "" -"A opção ``-X pycache_prefix``. A opção ``-X dev`` agora registra exceções de " -"``close()`` no destruidor de :class:`io.IOBase`." +"Adicionada a opção ``-X pycache_prefix``. A opção ``-X dev`` agora registra " +"exceções de ``close()`` no destrutor de :class:`io.IOBase`." -#: ../../using/cmdline.rst:564 +#: ../../using/cmdline.rst:566 msgid "" "Using ``-X dev`` option, check *encoding* and *errors* arguments on string " "encoding and decoding operations." @@ -1047,43 +1049,39 @@ msgstr "" "Usando a opção ``-X dev``, verifica os argumentos de *encoding* e *errors* " "nas operações de codificação e decodificação de strings." -#: ../../using/cmdline.rst:568 +#: ../../using/cmdline.rst:570 msgid "The ``-X showalloccount`` option has been removed." msgstr "A opção ``-X showalloccount`` foi removida." -#: ../../using/cmdline.rst:570 -msgid "The ``-X warn_default_encoding`` option." -msgstr "A opção ``-X warn_default_encoding``." - -#: ../../using/cmdline.rst:575 -msgid "The ``-X oldparser`` option." -msgstr "A opção ``-X oldparser``." +#: ../../using/cmdline.rst:572 +msgid "" +"Added the ``-X warn_default_encoding`` option. Removed the ``-X oldparser`` " +"option." +msgstr "" +"Adicionada a opção ``-X warn_default_encoding``. Removida a opção ``-X " +"oldparser``." #: ../../using/cmdline.rst:576 -msgid "The ``-X no_debug_ranges`` option." -msgstr "A opção ``-X no_debug_ranges``." - -#: ../../using/cmdline.rst:579 -msgid "The ``-X frozen_modules`` option." -msgstr "A opção ``-X frozen_modules``." +msgid "" +"Added the ``-X no_debug_ranges``, ``-X frozen_modules`` and ``-X " +"int_max_str_digits`` options." +msgstr "" +"Adicionadas as opções ``-X no_debug_ranges``, ``-X frozen_modules`` e ``-X " +"int_max_str_digits``." #: ../../using/cmdline.rst:582 -msgid "The ``-X int_max_str_digits`` option." -msgstr "A opção ``-X int_max_str_digits``." - -#: ../../using/cmdline.rst:587 msgid "Options you shouldn't use" msgstr "Opções que você não deve usar" -#: ../../using/cmdline.rst:591 +#: ../../using/cmdline.rst:586 msgid "Reserved for use by Jython_." msgstr "Reservado para uso pelo Jython_." -#: ../../using/cmdline.rst:599 +#: ../../using/cmdline.rst:594 msgid "Environment variables" msgstr "Variáveis de ambiente" -#: ../../using/cmdline.rst:601 +#: ../../using/cmdline.rst:596 msgid "" "These environment variables influence Python's behavior, they are processed " "before the command-line switches other than -E or -I. It is customary that " @@ -1092,24 +1090,24 @@ msgid "" msgstr "" "Essas variáveis de ambiente influenciam o comportamento do Python, elas são " "processadas antes das opções de linha de comando diferentes de -E ou -I. É " -"comum que as opções de linha de comando substituam as variáveis ambientais " -"onde há um conflito." +"comum que as opções de linha de comando substituam as variáveis de ambiente " +"em caso de conflito." -#: ../../using/cmdline.rst:608 +#: ../../using/cmdline.rst:603 msgid "" "Change the location of the standard Python libraries. By default, the " -"libraries are searched in :file:`{prefix}/lib/python{version}` and :file:" -"`{exec_prefix}/lib/python{version}`, where :file:`{prefix}` and :file:" -"`{exec_prefix}` are installation-dependent directories, both defaulting to :" -"file:`/usr/local`." +"libraries are searched in :file:`{prefix}/lib/python{version}` " +"and :file:`{exec_prefix}/lib/python{version}`, where :file:`{prefix}` " +"and :file:`{exec_prefix}` are installation-dependent directories, both " +"defaulting to :file:`/usr/local`." msgstr "" -"Altera a localização das bibliotecas Python padrão. Por padrão, as " -"bibliotecas são pesquisadas em :file:`{prefix}/lib/python{version}` e :file:" -"`{exec_prefix}/lib/python{version}`, onde :file:`{prefix}` e :file:" -"`{exec_prefix}` são diretórios dependentes da instalação, ambos padronizando " -"para :file:`/usr/local`." +"Altera a localização das bibliotecas padrão do Python. Por padrão, as " +"bibliotecas são pesquisadas em :file:`{prefix}/lib/python{version}` " +"e :file:`{exec_prefix}/lib/python{version}`, onde :file:`{prefix}` " +"e :file:`{exec_prefix}` são diretórios dependentes da instalação, ambos " +"padronizados para :file:`/usr/local`." -#: ../../using/cmdline.rst:614 +#: ../../using/cmdline.rst:609 msgid "" "When :envvar:`PYTHONHOME` is set to a single directory, its value replaces " "both :file:`{prefix}` and :file:`{exec_prefix}`. To specify different " @@ -1120,19 +1118,20 @@ msgstr "" "diferentes para estes, defina :envvar:`PYTHONHOME` para :file:`{prefix}:" "{exec_prefix}`." -#: ../../using/cmdline.rst:621 +#: ../../using/cmdline.rst:616 msgid "" "Augment the default search path for module files. The format is the same as " -"the shell's :envvar:`PATH`: one or more directory pathnames separated by :" -"data:`os.pathsep` (e.g. colons on Unix or semicolons on Windows). Non-" +"the shell's :envvar:`PATH`: one or more directory pathnames separated " +"by :data:`os.pathsep` (e.g. colons on Unix or semicolons on Windows). Non-" "existent directories are silently ignored." msgstr "" "Aumenta o caminho de pesquisa padrão para arquivos de módulo. O formato é o " -"mesmo :envvar:`PATH` do shell: um ou mais caminhos de diretório separados " -"por :data:`os.pathsep` (por exemplo, dois pontos no Unix ou ponto e vírgula " -"no Windows). Os diretórios inexistentes são ignorados silenciosamente." +"mesmo da variável :envvar:`PATH` do shell: um ou mais caminhos de diretório " +"separados por :data:`os.pathsep` (por exemplo, dois pontos no Unix ou ponto " +"e vírgula no Windows). Os diretórios inexistentes são ignorados " +"silenciosamente." -#: ../../using/cmdline.rst:626 +#: ../../using/cmdline.rst:621 msgid "" "In addition to normal directories, individual :envvar:`PYTHONPATH` entries " "may refer to zipfiles containing pure Python modules (in either source or " @@ -1143,7 +1142,7 @@ msgstr "" "fonte quanto na forma compilada). Módulos de extensão não podem ser " "importados de arquivos zip." -#: ../../using/cmdline.rst:630 +#: ../../using/cmdline.rst:625 msgid "" "The default search path is installation dependent, but generally begins " "with :file:`{prefix}/lib/python{version}` (see :envvar:`PYTHONHOME` above). " @@ -1153,36 +1152,36 @@ msgstr "" "com :file:`{prefix}/lib/python{version}` (veja :envvar:`PYTHONHOME` acima). " "É *sempre* anexado a :envvar:`PYTHONPATH`." -#: ../../using/cmdline.rst:634 +#: ../../using/cmdline.rst:629 msgid "" -"An additional directory will be inserted in the search path in front of :" -"envvar:`PYTHONPATH` as described above under :ref:`using-on-interface-" +"An additional directory will be inserted in the search path in front " +"of :envvar:`PYTHONPATH` as described above under :ref:`using-on-interface-" "options`. The search path can be manipulated from within a Python program as " "the variable :data:`sys.path`." msgstr "" -"Um diretório adicional será inserido no caminho de pesquisa antes de :envvar:" -"`PYTHONPATH` como descrito acima em :ref:`using-on-interface-options`. O " -"caminho de pesquisa pode ser manipulado de dentro de um programa Python como " -"a variável :data:`sys.path`." +"Um diretório adicional será inserido no caminho de pesquisa antes " +"de :envvar:`PYTHONPATH`, conforme descrito acima em :ref:`using-on-interface-" +"options`. O caminho de pesquisa pode ser manipulado de partir de um programa " +"em Python, por meio da variável :data:`sys.path`." -#: ../../using/cmdline.rst:642 +#: ../../using/cmdline.rst:637 msgid "" "If this is set to a non-empty string, don't prepend a potentially unsafe " "path to :data:`sys.path`: see the :option:`-P` option for details." msgstr "" "Se for definido como uma string não vazia, não anexa um caminho " -"potencialmente inseguro para :data:`sys.path`: consulte a opção :option:`-P` " +"potencialmente inseguro à :data:`sys.path`: consulte a opção :option:`-P` " "para obter detalhes." -#: ../../using/cmdline.rst:650 +#: ../../using/cmdline.rst:645 msgid "" -"If this is set to a non-empty string, it overrides the :data:`sys." -"platlibdir` value." +"If this is set to a non-empty string, it overrides " +"the :data:`sys.platlibdir` value." msgstr "" -"Se for definido como uma string não vazia, ela substitui o valor :data:`sys." -"platlibdir`." +"Se for definida como uma string não vazia, ela substitui o valor " +"de :data:`sys.platlibdir`." -#: ../../using/cmdline.rst:658 +#: ../../using/cmdline.rst:653 msgid "" "If this is the name of a readable file, the Python commands in that file are " "executed before the first prompt is displayed in interactive mode. The file " @@ -1194,13 +1193,13 @@ msgid "" msgstr "" "Se este for o nome de um arquivo legível, os comandos Python nesse arquivo " "serão executados antes que o primeiro prompt seja exibido no modo " -"interativo. O arquivo é executado no mesmo namespace onde os comandos " -"interativos são executados para que os objetos definidos ou importados nele " -"possam ser usados sem qualificação na sessão interativa. Você também pode " -"alterar os prompts :data:`sys.ps1` e :data:`sys.ps2` e o gancho :data:`sys." -"__interactivehook__` neste arquivo." +"interativo. O arquivo é executado no mesmo espaço de nomes em que os " +"comandos interativos são executados, para que os objetos definidos ou " +"importados nele possam ser usados sem qualificação na sessão interativa. " +"Você também pode alterar os prompts :data:`sys.ps1` e :data:`sys.ps2`, bem " +"como o gancho :data:`sys.__interactivehook__`, neste arquivo." -#: ../../using/cmdline.rst:665 +#: ../../using/cmdline.rst:660 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_startup`` with " "argument ``filename``." @@ -1208,7 +1207,7 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``cpython.run_startup`` com " "argumento ``filename``." -#: ../../using/cmdline.rst:667 +#: ../../using/cmdline.rst:662 msgid "" "Raises an :ref:`auditing event ` ``cpython.run_startup`` with the " "filename as the argument when called on startup." @@ -1216,73 +1215,79 @@ msgstr "" "Levanta um :ref:`evento de auditoria ` ``cpython.run_startup`` com " "o nome de arquivo como argumento quando chamado na inicialização." -#: ../../using/cmdline.rst:673 +#: ../../using/cmdline.rst:668 msgid "" -"If this is set to a non-empty string it is equivalent to specifying the :" -"option:`-O` option. If set to an integer, it is equivalent to specifying :" -"option:`-O` multiple times." +"If this is set to a non-empty string it is equivalent to specifying " +"the :option:`-O` option. If set to an integer, it is equivalent to " +"specifying :option:`-O` multiple times." msgstr "" "Se for definido como uma string não vazia, é equivalente a especificar a " "opção :option:`-O`. Se definido como um inteiro, é equivalente a " "especificar :option:`-O` várias vezes." -#: ../../using/cmdline.rst:680 +#: ../../using/cmdline.rst:675 msgid "" "If this is set, it names a callable using dotted-path notation. The module " "containing the callable will be imported and then the callable will be run " "by the default implementation of :func:`sys.breakpointhook` which itself is " "called by built-in :func:`breakpoint`. If not set, or set to the empty " "string, it is equivalent to the value \"pdb.set_trace\". Setting this to " -"the string \"0\" causes the default implementation of :func:`sys." -"breakpointhook` to do nothing but return immediately." +"the string \"0\" causes the default implementation " +"of :func:`sys.breakpointhook` to do nothing but return immediately." msgstr "" "Se estiver definida, ela nomeia um chamável usando a notação de caminho com " -"pontos. O módulo que contém o chamável será importado e então o chamável " -"será executado pela implementação padrão de :func:`sys.breakpointhook` que é " -"chamado pelo :func:`breakpoint` embutido. Se não for definido, ou definido " -"como uma string vazia, é equivalente ao valor \"pdb.set_trace\". Definir " -"isso para a string \"0\" faz com que a implementação padrão de :func:`sys." -"breakpointhook` não faça nada além de retornar imediatamente." +"pontos. O módulo que contém o chamável será importado e, então, o chamável " +"será executado pela implementação padrão de :func:`sys.breakpointhook`, " +"chamada pelo :func:`breakpoint` embutido. Se não for definido, ou definido " +"como uma string vazia, é equivalente ao valor de \"pdb.set_trace\". Definir " +"isso para a string \"0\" faz com que a implementação padrão " +"de :func:`sys.breakpointhook` não faça mais nada além de retornar " +"imediatamente." -#: ../../using/cmdline.rst:692 +#: ../../using/cmdline.rst:687 msgid "" -"If this is set to a non-empty string it is equivalent to specifying the :" -"option:`-d` option. If set to an integer, it is equivalent to specifying :" -"option:`-d` multiple times." +"If this is set to a non-empty string it is equivalent to specifying " +"the :option:`-d` option. If set to an integer, it is equivalent to " +"specifying :option:`-d` multiple times." msgstr "" "Se for definido como uma string não vazia, é equivalente a especificar a " "opção :option:`-d`. Se definido como um inteiro, é equivalente a " "especificar :option:`-d` várias vezes." -#: ../../using/cmdline.rst:699 +#: ../../using/cmdline.rst:694 msgid "" -"If this is set to a non-empty string it is equivalent to specifying the :" -"option:`-i` option." +"If this is set to a non-empty string it is equivalent to specifying " +"the :option:`-i` option." msgstr "" "Se for definido como uma string não vazia, é equivalente a especificar a " "opção :option:`-i`." -#: ../../using/cmdline.rst:702 +#: ../../using/cmdline.rst:697 msgid "" "This variable can also be modified by Python code using :data:`os.environ` " "to force inspect mode on program termination." msgstr "" -"Esta variável também pode ser modificada pelo código Python usando :data:`os." -"environ` para forçar o modo de inspeção no encerramento do programa." +"Esta variável também pode ser modificada pelo código Python " +"usando :data:`os.environ` para forçar o modo de inspeção ao encerrar o " +"programa." + +#: ../../using/cmdline.rst:702 +msgid "(also 3.10.15, 3.9.20, and 3.8.20) Emits audit events." +msgstr "" #: ../../using/cmdline.rst:708 msgid "" -"If this is set to a non-empty string it is equivalent to specifying the :" -"option:`-u` option." +"If this is set to a non-empty string it is equivalent to specifying " +"the :option:`-u` option." msgstr "" "Se for definido como uma string não vazia, é equivalente a especificar a " "opção :option:`-u`." #: ../../using/cmdline.rst:714 msgid "" -"If this is set to a non-empty string it is equivalent to specifying the :" -"option:`-v` option. If set to an integer, it is equivalent to specifying :" -"option:`-v` multiple times." +"If this is set to a non-empty string it is equivalent to specifying " +"the :option:`-v` option. If set to an integer, it is equivalent to " +"specifying :option:`-v` multiple times." msgstr "" "Se for definido como uma string não vazia, é equivalente a especificar a " "opção :option:`-v`. Se definido como um inteiro, é equivalente a " @@ -1294,7 +1299,7 @@ msgid "" "only works on Windows and macOS." msgstr "" "Se estiver definido, Python não diferencia letras maiúsculas e minúsculas " -"nas instruções :keyword:`import`. Isso só funciona no Windows e OS X." +"nas instruções :keyword:`import`. Isso só funciona no Windows e no OS X." #: ../../using/cmdline.rst:727 msgid "" @@ -1303,7 +1308,7 @@ msgid "" "the :option:`-B` option." msgstr "" "Se for definido como uma string não vazia, o Python não tentará escrever " -"arquivos ``.pyc`` na importação de módulos fonte. Isso é equivalente a " +"arquivos ``.pyc`` na importação de módulos-fonte. Isso equivale a " "especificar a opção :option:`-B`." #: ../../using/cmdline.rst:734 @@ -1315,8 +1320,8 @@ msgid "" msgstr "" "Se estiver definido, o Python escreverá os arquivos ``.pyc`` em uma árvore " "de diretório espelho neste caminho, em vez de nos diretórios ``__pycache__`` " -"dentro da árvore de fontes. Isso é equivalente a especificar a opção :option:" -"`-X` ``pycache_prefix=PATH``." +"dentro da árvore de fontes. Isso equivale a especificar a opção :option:`-X` " +"``pycache_prefix=PATH``." #: ../../using/cmdline.rst:744 msgid "" @@ -1333,8 +1338,8 @@ msgid "" "randomization." msgstr "" "Se :envvar:`PYTHONHASHSEED` for definido como um valor inteiro, ele é usado " -"como uma semente fixa para gerar o hash() dos tipos cobertos pela " -"aleatorização do hash." +"como semente fixa para gerar o hash() dos tipos cobertos pela aleatorização " +"de hash." #: ../../using/cmdline.rst:751 msgid "" @@ -1342,7 +1347,7 @@ msgid "" "interpreter itself, or to allow a cluster of python processes to share hash " "values." msgstr "" -"Sua finalidade é permitir hash repetível, como autotestes do próprio " +"Sua finalidade é permitir hashes repetíveis, como em autotestes do próprio " "interpretador, ou permitir que um cluster de processos Python compartilhe " "valores de hash." @@ -1360,7 +1365,7 @@ msgid "" "interpreter's global :ref:`integer string conversion length limitation " "`." msgstr "" -"Se esta variável estiver definida para um inteiro, é usada para configurar " +"Se esta variável estiver definida como um inteiro, é usada para configurar " "a :ref:`limitação de comprimento de string na conversão para inteiro " "` global do interpretador." @@ -1372,9 +1377,10 @@ msgid "" "have the same meaning as in :func:`str.encode`." msgstr "" "Se for definido antes de executar o interpretador, ele substitui a " -"codificação usada para stdin/stdout/stderr, na sintaxe ``encodingname:" -"errorhandler``. Ambas as partes ``encodingname`` e ``:errorhandler`` são " -"opcionais e têm o mesmo significado que em :func:`str.encode`." +"codificação usada para stdin/stdout/stderr, na sintaxe " +"``encodingname:errorhandler``. Ambas as partes ``encodingname`` e " +"``:errorhandler`` são opcionais e têm o mesmo significado que " +"em :func:`str.encode`." #: ../../using/cmdline.rst:775 msgid "" @@ -1386,7 +1392,7 @@ msgstr "" #: ../../using/cmdline.rst:778 msgid "The ``encodingname`` part is now optional." -msgstr "A parte ``encodingname`` é agora opcional." +msgstr "A parte ``encodingname`` agora é opcional." #: ../../using/cmdline.rst:781 msgid "" @@ -1396,9 +1402,9 @@ msgid "" "not affected." msgstr "" "No Windows, a codificação especificada por esta variável é ignorada para " -"buffers de console interativo, a menos que :envvar:" -"`PYTHONLEGACYWINDOWSSTDIO` também seja especificado. Arquivos e canais " -"redirecionados por meio de fluxos padrão não são afetados." +"buffers de console interativo, a menos " +"que :envvar:`PYTHONLEGACYWINDOWSSTDIO` também seja especificado. Arquivos e " +"canais redirecionados por meio de fluxos padrão não são afetados." #: ../../using/cmdline.rst:788 msgid "" @@ -1406,19 +1412,19 @@ msgid "" "` to :data:`sys.path`." msgstr "" "Se estiver definido, o Python não adicionará o :data:`diretório site-" -"packages de usuário ` a :data:`sys.path`." +"packages do usuário ` a :data:`sys.path`." #: ../../using/cmdline.rst:798 msgid "" "Defines the :data:`user base directory `, which is used to " -"compute the path of the :data:`user site-packages directory ` and :ref:`Distutils installation paths ` " -"for ``python setup.py install --user``." +"compute the path of the :data:`user site-packages directory " +"` and :ref:`installation paths ` for " +"``python -m pip install --user``." msgstr "" -"Define o :data:`diretório base do usuário `, que é " -"usado para calcular o caminho do :data:`diretório site-packages do usuário " -"` e :ref:`caminhos de instalação do Distutils " -"` para ``python setup.py install --user``." +"Define o :data:`diretório base do usuário `, que é usado " +"para calcular o caminho do :data:`diretório site-packages do usuário " +"` e :ref:`caminhos de instalação ` " +"para ``python -m pip install --user``." #: ../../using/cmdline.rst:810 msgid "" @@ -1426,8 +1432,8 @@ msgid "" "value instead of the value got through the C runtime. Only works on macOS." msgstr "" "Se esta variável de ambiente for definida, ``sys.argv[0]`` será definido com " -"seu valor em vez do valor obtido através do tempo de execução C. Funciona " -"apenas no macOS." +"seu valor, em vez do valor obtido a partir do ambiente de execução C. " +"Funciona apenas no macOS." #: ../../using/cmdline.rst:816 msgid "" @@ -1438,24 +1444,25 @@ msgstr "" "Isso é equivalente à opção :option:`-W`. Se definido como uma string " "separada por vírgulas, é equivalente a especificar :option:`-W` várias " "vezes, com os filtros posteriores na lista tendo precedência sobre os " -"anteriores na lista." +"anteriores." #: ../../using/cmdline.rst:838 msgid "" -"If this environment variable is set to a non-empty string, :func:" -"`faulthandler.enable` is called at startup: install a handler for :const:" -"`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS` and :const:" -"`SIGILL` signals to dump the Python traceback. This is equivalent to :" -"option:`-X` ``faulthandler`` option." -msgstr "" -"Se esta variável de ambiente for definida como uma string não vazia, :func:" -"`faulthandler.enable` é chamado na inicialização: instale um tratador para " -"os sinais :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:" -"`SIGBUS` and :const:`SIGILL` para despejar o traceback (situação da pilha de " +"If this environment variable is set to a non-empty " +"string, :func:`faulthandler.enable` is called at startup: install a handler " +"for :const:`~signal.SIGSEGV`, :const:`~signal.SIGFPE`, :const:`~signal.SIGABRT`, :const:`~signal.SIGBUS` " +"and :const:`~signal.SIGILL` signals to dump the Python traceback. This is " +"equivalent to :option:`-X` ``faulthandler`` option." +msgstr "" +"Se esta variável de ambiente for definida como uma string não " +"vazia, :func:`faulthandler.enable` é chamado na inicialização: instala um " +"tratador para os " +"sinais :const:`~signal.SIGSEGV`, :const:`~signal.SIGFPE`, :const:`~signal.SIGABRT`, :const:`~signal.SIGBUS` " +"e :const:`~signal.SIGILL` para despejar o traceback (situação da pilha de " "execução) do Python. Isso é equivalente à opção :option:`-X` " "``faulthandler``." -#: ../../using/cmdline.rst:849 +#: ../../using/cmdline.rst:850 msgid "" "If this environment variable is set to a non-empty string, start tracing " "Python memory allocations using the :mod:`tracemalloc` module. The value of " @@ -1465,14 +1472,14 @@ msgid "" "is equivalent to setting the :option:`-X` ``tracemalloc`` option." msgstr "" "Se esta variável de ambiente for definida como uma string não vazia, começa " -"a rastrear as alocações de memória Python usando o módulo :mod:" -"`tracemalloc`. O valor da variável é o número máximo de quadros armazenados " -"em um traceback de um rastreamento. Por exemplo, ``PYTHONTRACEMALLOC=1`` " -"armazena apenas o quadro mais recente. Veja a função :func:`tracemalloc." -"start` para mais informações. Isso é o equivalente a definir a opção :option:" -"`-X` ``tracemalloc``." +"a rastrear as alocações de memória do Python usando o " +"módulo :mod:`tracemalloc`. O valor da variável é o número máximo de quadros " +"armazenados em um traceback de um rastreamento. Por exemplo, " +"``PYTHONTRACEMALLOC=1`` armazena apenas o quadro mais recente. Veja a " +"função :func:`tracemalloc.start` para mais informações. Isso é o equivalente " +"a definir a opção :option:`-X` ``tracemalloc``." -#: ../../using/cmdline.rst:862 +#: ../../using/cmdline.rst:863 msgid "" "If this environment variable is set to a non-empty string, Python will show " "how long each import takes. This is equivalent to setting the :option:`-X` " @@ -1482,25 +1489,25 @@ msgstr "" "Python mostrará quanto tempo leva cada importação. Isso é o equivalente a " "definir a opção :option:`-X` ``importtime``." -#: ../../using/cmdline.rst:871 +#: ../../using/cmdline.rst:872 msgid "" -"If this environment variable is set to a non-empty string, enable the :ref:" -"`debug mode ` of the :mod:`asyncio` module." +"If this environment variable is set to a non-empty string, enable " +"the :ref:`debug mode ` of the :mod:`asyncio` module." msgstr "" "Se esta variável de ambiente for definida como uma string não vazia, " -"habilita o :ref:`modo de depuração ` do módulo :mod:" -"`asyncio`." +"habilita o :ref:`modo de depuração ` do " +"módulo :mod:`asyncio`." -#: ../../using/cmdline.rst:879 +#: ../../using/cmdline.rst:880 msgid "Set the Python memory allocators and/or install debug hooks." msgstr "" -"Define os alocadores de memória Python e/ou instale ganchos de depuração." +"Define os alocadores de memória do Python e/ou instala ganchos de depuração." -#: ../../using/cmdline.rst:881 +#: ../../using/cmdline.rst:882 msgid "Set the family of memory allocators used by Python:" -msgstr "Define a família de alocadores de memória usados ​​pelo Python:" +msgstr "Define a família de alocadores de memória usados pelo Python:" -#: ../../using/cmdline.rst:883 +#: ../../using/cmdline.rst:884 msgid "" "``default``: use the :ref:`default memory allocators `." @@ -1508,65 +1515,65 @@ msgstr "" "``default``: usa os :ref:`alocadores padrão de memória `." -#: ../../using/cmdline.rst:885 +#: ../../using/cmdline.rst:886 msgid "" "``malloc``: use the :c:func:`malloc` function of the C library for all " -"domains (:c:data:`PYMEM_DOMAIN_RAW`, :c:data:`PYMEM_DOMAIN_MEM`, :c:data:" -"`PYMEM_DOMAIN_OBJ`)." +"domains " +"(:c:macro:`PYMEM_DOMAIN_RAW`, :c:macro:`PYMEM_DOMAIN_MEM`, :c:macro:`PYMEM_DOMAIN_OBJ`)." msgstr "" "``malloc``: usa a função :c:func:`malloc` da biblioteca C para todos os " -"domínios (:c:data:`PYMEM_DOMAIN_RAW`, :c:data:`PYMEM_DOMAIN_MEM`, :c:data:" -"`PYMEM_DOMAIN_OBJ`)." +"domínios " +"(:c:macro:`PYMEM_DOMAIN_RAW`, :c:macro:`PYMEM_DOMAIN_MEM`, :c:macro:`PYMEM_DOMAIN_OBJ`)." -#: ../../using/cmdline.rst:888 +#: ../../using/cmdline.rst:889 msgid "" -"``pymalloc``: use the :ref:`pymalloc allocator ` for :c:data:" -"`PYMEM_DOMAIN_MEM` and :c:data:`PYMEM_DOMAIN_OBJ` domains and use the :c:" -"func:`malloc` function for the :c:data:`PYMEM_DOMAIN_RAW` domain." +"``pymalloc``: use the :ref:`pymalloc allocator ` " +"for :c:macro:`PYMEM_DOMAIN_MEM` and :c:macro:`PYMEM_DOMAIN_OBJ` domains and " +"use the :c:func:`malloc` function for the :c:macro:`PYMEM_DOMAIN_RAW` domain." msgstr "" -"``pymalloc``: usa o :ref:`alocador pymalloc ` para domínios :c:" -"data:`PYMEM_DOMAIN_MEM` e :c:data:`PYMEM_DOMAIN_OBJ` e usa a função :c:func:" -"`malloc` para o domínio :c:data:`PYMEM_DOMAIN_RAW`." +"``pymalloc``: usa o :ref:`alocador pymalloc ` para " +"domínios :c:macro:`PYMEM_DOMAIN_MEM` e :c:macro:`PYMEM_DOMAIN_OBJ` e usa a " +"função :c:func:`malloc` para o domínio :c:macro:`PYMEM_DOMAIN_RAW`." -#: ../../using/cmdline.rst:892 +#: ../../using/cmdline.rst:893 msgid "Install :ref:`debug hooks `:" msgstr "Instala :ref:`ganchos de depuração `:" -#: ../../using/cmdline.rst:894 +#: ../../using/cmdline.rst:895 msgid "" "``debug``: install debug hooks on top of the :ref:`default memory allocators " "`." msgstr "" -"``debug``: instala os ganchos de depuração sobre os :ref:`alocadores padrão " -"de memória `." +"``debug``: instala os ganchos de depuração sobre os :ref:`alocadores de " +"memória padrão `." -#: ../../using/cmdline.rst:896 +#: ../../using/cmdline.rst:897 msgid "``malloc_debug``: same as ``malloc`` but also install debug hooks." msgstr "" "``malloc_debug``: o mesmo que ``malloc``, mas também instala ganchos de " "depuração." -#: ../../using/cmdline.rst:897 +#: ../../using/cmdline.rst:898 msgid "``pymalloc_debug``: same as ``pymalloc`` but also install debug hooks." msgstr "" "``pymalloc_debug``: o mesmo que ``pymalloc``, mas também instala ganchos de " "depuração." -#: ../../using/cmdline.rst:899 +#: ../../using/cmdline.rst:902 msgid "Added the ``\"default\"`` allocator." msgstr "Adicionado o alocador ``\"default\"``." -#: ../../using/cmdline.rst:907 +#: ../../using/cmdline.rst:908 msgid "" -"If set to a non-empty string, Python will print statistics of the :ref:" -"`pymalloc memory allocator ` every time a new pymalloc object " -"arena is created, and on shutdown." +"If set to a non-empty string, Python will print statistics of " +"the :ref:`pymalloc memory allocator ` every time a new pymalloc " +"object arena is created, and on shutdown." msgstr "" -"Se definido como uma string não vazia, o Python exibe estatísticas do :ref:" -"`alocador de memória pymalloc ` toda vez que uma nova arena de " -"objeto pymalloc for criada e ao no desligamento." +"Se definido como uma string não vazia, o Python exibe estatísticas " +"do :ref:`alocador de memória pymalloc ` toda vez que uma nova " +"arena de objeto pymalloc for criada e ao no desligamento." -#: ../../using/cmdline.rst:911 +#: ../../using/cmdline.rst:912 msgid "" "This variable is ignored if the :envvar:`PYTHONMALLOC` environment variable " "is used to force the :c:func:`malloc` allocator of the C library, or if " @@ -1576,7 +1583,7 @@ msgstr "" "usada para forçar o alocador :c:func:`malloc` da biblioteca C, ou se Python " "está configurado sem suporte a ``pymalloc``." -#: ../../using/cmdline.rst:915 +#: ../../using/cmdline.rst:916 msgid "" "This variable can now also be used on Python compiled in release mode. It " "now has no effect if set to an empty string." @@ -1584,7 +1591,7 @@ msgstr "" "Esta variável agora também pode ser usada em Python compilado no modo de " "lançamento. Agora não tem efeito se definido como uma string vazia." -#: ../../using/cmdline.rst:922 +#: ../../using/cmdline.rst:923 msgid "" "If set to a non-empty string, the default :term:`filesystem encoding and " "error handler` mode will revert to their pre-3.6 values of 'mbcs' and " @@ -1596,23 +1603,23 @@ msgstr "" "pré-3.6 de \"mbcs\" e \"replace\", respectivamente. Caso contrário, os novos " "padrões \"utf-8\" e \"surrogatepass\" serão usados." -#: ../../using/cmdline.rst:927 +#: ../../using/cmdline.rst:928 msgid "" -"This may also be enabled at runtime with :func:`sys." -"_enablelegacywindowsfsencoding()`." +"This may also be enabled at runtime " +"with :func:`sys._enablelegacywindowsfsencoding()`." msgstr "" -"Isso também pode ser habilitado em tempo de execução com :func:`sys." -"_enablelegacywindowsfsencoding()`." +"Isso também pode ser habilitado em tempo de execução " +"com :func:`sys._enablelegacywindowsfsencoding()`." -#: ../../using/cmdline.rst:930 ../../using/cmdline.rst:944 +#: ../../using/cmdline.rst:931 ../../using/cmdline.rst:945 msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidade `: Windows." -#: ../../using/cmdline.rst:932 +#: ../../using/cmdline.rst:933 msgid "See :pep:`529` for more details." msgstr "Veja :pep:`529` para mais detalhes." -#: ../../using/cmdline.rst:937 +#: ../../using/cmdline.rst:938 msgid "" "If set to a non-empty string, does not use the new console reader and " "writer. This means that Unicode characters will be encoded according to the " @@ -1622,25 +1629,25 @@ msgstr "" "console. Isso significa que os caracteres Unicode serão codificados de " "acordo com a página de código do console ativo, em vez de usar utf-8." -#: ../../using/cmdline.rst:941 +#: ../../using/cmdline.rst:942 msgid "" "This variable is ignored if the standard streams are redirected (to files or " "pipes) rather than referring to console buffers." msgstr "" "Esta variável é ignorada se os fluxos padrão forem redirecionados (para " -"arquivos ou canais) em vez de se referir aos buffers do console." +"arquivos ou canais) em vez de se referirem aos buffers do console." -#: ../../using/cmdline.rst:951 +#: ../../using/cmdline.rst:952 msgid "" "If set to the value ``0``, causes the main Python command line application " "to skip coercing the legacy ASCII-based C and POSIX locales to a more " "capable UTF-8 based alternative." msgstr "" -"Se definido com o valor ``0``, faz com que a aplicação principal de linha de " -"comando Python ignore a coerção dos códigos de idioma legados C e POSIX " +"Se definido como ``0``, faz com que a aplicação principal de linha de " +"comando do Python ignore a coerção dos códigos de idioma legados C e POSIX " "baseados em ASCII para uma alternativa baseada em UTF-8 mais capaz." -#: ../../using/cmdline.rst:955 +#: ../../using/cmdline.rst:956 msgid "" "If this variable is *not* set (or is set to a value other than ``0``), the " "``LC_ALL`` locale override environment variable is also not set, and the " @@ -1656,21 +1663,21 @@ msgstr "" "categoria ``LC_CTYPE`` é a localidade ``C`` padrão, ou então a localidade " "``POSIX`` explicitamente baseada em ASCII, então a CLI do Python tentará " "configurar as seguintes localidades para a categoria ``LC_CTYPE`` na ordem " -"listada antes de carregar o tempo de execução do interpretador:" +"listada antes de carregar o ambiente de execução do interpretador:" -#: ../../using/cmdline.rst:963 +#: ../../using/cmdline.rst:964 msgid "``C.UTF-8``" msgstr "``C.UTF-8``" -#: ../../using/cmdline.rst:964 +#: ../../using/cmdline.rst:965 msgid "``C.utf8``" msgstr "``C.utf8``" -#: ../../using/cmdline.rst:965 +#: ../../using/cmdline.rst:966 msgid "``UTF-8``" msgstr "``UTF-8``" -#: ../../using/cmdline.rst:967 +#: ../../using/cmdline.rst:968 msgid "" "If setting one of these locale categories succeeds, then the ``LC_CTYPE`` " "environment variable will also be set accordingly in the current process " @@ -1682,34 +1689,36 @@ msgid "" "in operations that query the environment rather than the current C locale " "(such as Python's own :func:`locale.getdefaultlocale`)." msgstr "" -"Se a configuração de uma dessas categorias de local for bem-sucedida, a " +"Se a configuração de uma dessas categorias de localidade for bem-sucedida, a " "variável de ambiente ``LC_CTYPE`` também será configurada de acordo no " -"ambiente de processo atual antes que o tempo de execução do Python seja " +"ambiente de processo atual antes que o ambiente de execução do Python seja " "inicializado. Isso garante que, além de ser visto pelo próprio interpretador " "e outros componentes com reconhecimento de localidade em execução no mesmo " "processo (como a biblioteca GNU ``readline``), a configuração atualizada " -"também é vista em subprocessos (independentemente de ou não esses processos " -"estão executando um interpretador Python), bem como em operações que " -"consultam o ambiente em vez da localidade C atual (como o :func:`locale." -"getdefaultlocale` do próprio Python)." +"também é vista em subprocessos (independentemente ou não desses processos " +"estarem executando um interpretador Python), bem como em operações que " +"consultam o ambiente em vez da localidade C atual (como " +"o :func:`locale.getdefaultlocale` do próprio Python)." -#: ../../using/cmdline.rst:977 +#: ../../using/cmdline.rst:978 msgid "" "Configuring one of these locales (either explicitly or via the above " -"implicit locale coercion) automatically enables the ``surrogateescape`` :ref:" -"`error handler ` for :data:`sys.stdin` and :data:`sys." -"stdout` (:data:`sys.stderr` continues to use ``backslashreplace`` as it does " -"in any other locale). This stream handling behavior can be overridden using :" -"envvar:`PYTHONIOENCODING` as usual." +"implicit locale coercion) automatically enables the " +"``surrogateescape`` :ref:`error handler ` " +"for :data:`sys.stdin` and :data:`sys.stdout` (:data:`sys.stderr` continues " +"to use ``backslashreplace`` as it does in any other locale). This stream " +"handling behavior can be overridden using :envvar:`PYTHONIOENCODING` as " +"usual." msgstr "" "Configurar uma dessas localidades (explicitamente ou por meio da coerção de " "localidade implícita acima) habilita automaticamente o :ref:`tratador de " -"erros ` ``surrogateescape`` para :data:`sys.stdin` e :data:" -"`sys.stdout` (:data:`sys.stderr` continua a usar ``backslashreplace`` como " -"faz em qualquer outra localidade). Este comportamento de tratamento de fluxo " -"pode ser substituído usando :envvar:`PYTHONIOENCODING` como de costume." +"erros ` ``surrogateescape`` para :data:`sys.stdin` " +"e :data:`sys.stdout` (:data:`sys.stderr` continua a usar " +"``backslashreplace``, como em qualquer outra localidade). Este comportamento " +"de tratamento de fluxo pode ser substituído " +"usando :envvar:`PYTHONIOENCODING` como de costume." -#: ../../using/cmdline.rst:984 +#: ../../using/cmdline.rst:985 msgid "" "For debugging purposes, setting ``PYTHONCOERCECLOCALE=warn`` will cause " "Python to emit warning messages on ``stderr`` if either the locale coercion " @@ -1719,9 +1728,9 @@ msgstr "" "Para fins de depuração, definir ``PYTHONCOERCECLOCALE=warn`` fará com que o " "Python emita mensagens de aviso em ``stderr`` se a coerção de localidade for " "ativada ou se uma localidade que *teria* acionado a coerção ainda estiver " -"ativa quando o Python o tempo de execução é inicializado." +"ativa quando o ambiente de execução do Python for inicializado." -#: ../../using/cmdline.rst:989 +#: ../../using/cmdline.rst:990 msgid "" "Also note that even when locale coercion is disabled, or when it fails to " "find a suitable target locale, :envvar:`PYTHONUTF8` will still activate by " @@ -1729,45 +1738,45 @@ msgid "" "order to force the interpreter to use ``ASCII`` instead of ``UTF-8`` for " "system interfaces." msgstr "" -"Observe também que mesmo quando a coerção de localidade está desabilitada, " -"ou quando não consegue encontrar uma localidade de destino adequada, :envvar:" -"`PYTHONUTF8` ainda será ativado por padrão em localidades baseadas em ASCII " -"legadas. Ambos os recursos devem ser desabilitados para forçar o " -"interpretador a usar ``ASCII`` ao invés de ``UTF-8`` para interfaces de " -"sistema." +"Observe também que, mesmo quando a coerção de localidade está desabilitada " +"ou não consegue encontrar uma localidade de destino " +"adequada, :envvar:`PYTHONUTF8` ainda será ativado por padrão em localidades " +"baseadas em ASCII legadas. Ambos os recursos devem ser desabilitados para " +"forçar o interpretador a usar ``ASCII`` em vez de ``UTF-8`` nas interfaces " +"de sistema." -#: ../../using/cmdline.rst:995 +#: ../../using/cmdline.rst:996 msgid ":ref:`Availability `: Unix." msgstr ":ref:`Disponibilidade `: Unix." -#: ../../using/cmdline.rst:997 +#: ../../using/cmdline.rst:998 msgid "See :pep:`538` for more details." msgstr "Veja :pep:`538` para mais detalhes." -#: ../../using/cmdline.rst:1003 +#: ../../using/cmdline.rst:1004 msgid "" -"If this environment variable is set to a non-empty string, enable :ref:" -"`Python Development Mode `, introducing additional runtime checks " -"that are too expensive to be enabled by default. This is equivalent to " -"setting the :option:`-X` ``dev`` option." +"If this environment variable is set to a non-empty string, " +"enable :ref:`Python Development Mode `, introducing additional " +"runtime checks that are too expensive to be enabled by default. This is " +"equivalent to setting the :option:`-X` ``dev`` option." msgstr "" "Se esta variável de ambiente for definida como uma string não vazia, " "habilita :ref:`Modo de Desenvolvimento do Python `, introduzindo " -"verificações adicionais de tempo de execução que são muito caras para serem " +"verificações adicionais em tempo de execução que são muito caras para serem " "habilitadas por padrão. Isso é o equivalente a definir a opção :option:`-X` " "``dev``." -#: ../../using/cmdline.rst:1012 +#: ../../using/cmdline.rst:1013 msgid "If set to ``1``, enable the :ref:`Python UTF-8 Mode `." msgstr "" "Se definido para ``1``, habilita o :ref:`modo UTF-8 do Python `." -#: ../../using/cmdline.rst:1014 +#: ../../using/cmdline.rst:1015 msgid "If set to ``0``, disable the :ref:`Python UTF-8 Mode `." msgstr "" "Se definido para ``0``, desabilita o :ref:`modo UTF-8 do Python `." -#: ../../using/cmdline.rst:1016 +#: ../../using/cmdline.rst:1017 msgid "" "Setting any other non-empty string causes an error during interpreter " "initialisation." @@ -1775,20 +1784,20 @@ msgstr "" "Definir qualquer outra string não vazia causa um erro durante a " "inicialização do interpretador." -#: ../../using/cmdline.rst:1023 +#: ../../using/cmdline.rst:1024 msgid "" -"If this environment variable is set to a non-empty string, issue a :class:" -"`EncodingWarning` when the locale-specific default encoding is used." +"If this environment variable is set to a non-empty string, issue " +"a :class:`EncodingWarning` when the locale-specific default encoding is used." msgstr "" "Se esta variável de ambiente for definida como uma string não vazia, emite " "uma :class:`EncodingWarning` quando a codificação padrão específica da " "localidade é usada." -#: ../../using/cmdline.rst:1026 +#: ../../using/cmdline.rst:1027 msgid "See :ref:`io-encoding-warning` for details." msgstr "Veja :ref:`io-encoding-warning` para detalhes." -#: ../../using/cmdline.rst:1032 +#: ../../using/cmdline.rst:1033 msgid "" "If this variable is set, it disables the inclusion of the tables mapping " "extra location information (end line, start column offset and end column " @@ -1800,24 +1809,24 @@ msgstr "" "mapeiam informações de localização extra (linha final, deslocamento da " "coluna inicial e deslocamento da coluna final) para cada instrução em " "objetos código. Isso é útil quando objetos código menores e arquivos pyc são " -"desejados, bem como suprimir os indicadores de localização visual extra " -"quando o interpretador exibe tracebacks." +"desejados, bem como para suprimir os indicadores de localização visual " +"extras quando o interpretador exibe tracebacks." -#: ../../using/cmdline.rst:1043 +#: ../../using/cmdline.rst:1044 msgid "Debug-mode variables" msgstr "Variáveis de modo de depuração" -#: ../../using/cmdline.rst:1047 +#: ../../using/cmdline.rst:1048 msgid "If set, Python will print threading debug info into stdout." msgstr "" "Se definido, Python exibe informações de depuração de threading no stdout." -#: ../../using/cmdline.rst:1049 +#: ../../using/cmdline.rst:1050 msgid "Need a :ref:`debug build of Python `." msgstr "" "Necessita de uma :ref:`construção de depuração do Python `." -#: ../../using/cmdline.rst:1056 +#: ../../using/cmdline.rst:1057 msgid "" "If set, Python will dump objects and reference counts still alive after " "shutting down the interpreter." @@ -1825,14 +1834,14 @@ msgstr "" "Se definido, Python irá despejar objetos e contagens de referências ainda " "vivas após desligar o interpretador." -#: ../../using/cmdline.rst:1059 ../../using/cmdline.rst:1066 +#: ../../using/cmdline.rst:1060 ../../using/cmdline.rst:1067 msgid "" "Need Python configured with the :option:`--with-trace-refs` build option." msgstr "" "Necessita do Python configurado com a opção de construção :option:`--with-" "trace-refs`." -#: ../../using/cmdline.rst:1063 +#: ../../using/cmdline.rst:1064 msgid "" "If set, Python will dump objects and reference counts still alive after " "shutting down the interpreter into a file called *FILENAME*." diff --git a/using/configure.po b/using/configure.po index 144be709f..bf4e046af 100644 --- a/using/configure.po +++ b/using/configure.po @@ -1,94 +1,96 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:50+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: Rafael Fontenelle , 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../using/configure.rst:3 msgid "Configure Python" -msgstr "Configurar o Python" +msgstr "Configurando o Python" -#: ../../using/configure.rst:8 +#: ../../using/configure.rst:10 msgid "Configure Options" msgstr "Opções de configuração" -#: ../../using/configure.rst:10 +#: ../../using/configure.rst:12 msgid "List all ``./configure`` script options using::" msgstr "Liste todas as opções do ``./configure`` usando::" -#: ../../using/configure.rst:14 +#: ../../using/configure.rst:16 msgid "" "See also the :file:`Misc/SpecialBuilds.txt` in the Python source " "distribution." msgstr "" -"Veja também o :file:`Misc/SpecialBuilds.txt` na distribuição fonte do Python." +"Veja também o :file:`Misc/SpecialBuilds.txt` na distribuição de código-fonte " +"do Python." -#: ../../using/configure.rst:17 +#: ../../using/configure.rst:19 msgid "General Options" msgstr "Opções gerais" -#: ../../using/configure.rst:21 +#: ../../using/configure.rst:23 msgid "" -"Support loadable extensions in the :mod:`_sqlite` extension module (default " -"is no)." +"Support loadable extensions in the :mod:`!_sqlite` extension module (default " +"is no) of the :mod:`sqlite3` module." msgstr "" -"Oferece suporte a extensões carregáveis ​​no módulo de extensão :mod:`_sqlite` " -"(desabilitado por padrão)." +"Suporte a extensões carregáveis no módulo de extensão :mod:`!_sqlite` (o " +"padrão é não) do módulo :mod:`sqlite3`." -#: ../../using/configure.rst:24 +#: ../../using/configure.rst:26 msgid "" -"See the :meth:`sqlite3.Connection.enable_load_extension` method of the :mod:" -"`sqlite3` module." +"See the :meth:`sqlite3.Connection.enable_load_extension` method of " +"the :mod:`sqlite3` module." msgstr "" -"Veja o método :meth:`sqlite3.Connection.enable_load_extension` do módulo :" -"mod:`sqlite3`." +"Veja o método :meth:`sqlite3.Connection.enable_load_extension` do " +"módulo :mod:`sqlite3`." -#: ../../using/configure.rst:31 +#: ../../using/configure.rst:33 msgid "" -"Disable IPv6 support (enabled by default if supported), see the :mod:" -"`socket` module." +"Disable IPv6 support (enabled by default if supported), see " +"the :mod:`socket` module." msgstr "" "Desabilita suporte a IPv6 (habilitado por padrão se houver suporte), veja o " "módulo :mod:`socket`." -#: ../../using/configure.rst:36 +#: ../../using/configure.rst:38 msgid "Define the size in bits of Python :class:`int` digits: 15 or 30 bits." msgstr "" "Define o tamanho em bits dos dígitos de :class:`int` do Python: 15 ou 30 " "bits." -#: ../../using/configure.rst:38 +#: ../../using/configure.rst:40 msgid "By default, the digit size is 30." msgstr "Por padrão, o tamanho dos dígitos é 30." -#: ../../using/configure.rst:40 +#: ../../using/configure.rst:42 msgid "Define the ``PYLONG_BITS_IN_DIGIT`` to ``15`` or ``30``." msgstr "Define o ``PYLONG_BITS_IN_DIGIT`` para ``15`` ou ``30``." -#: ../../using/configure.rst:42 +#: ../../using/configure.rst:44 msgid "See :data:`sys.int_info.bits_per_digit `." msgstr "Veja :data:`sys.int_info.bits_per_digit `." -#: ../../using/configure.rst:47 +#: ../../using/configure.rst:49 msgid "" "Compile the Python ``main()`` function and link Python executable with C++ " "compiler: ``$CXX``, or *COMPILER* if specified." @@ -96,39 +98,39 @@ msgstr "" "Compila a função ``main()`` do Python e vincula o executável do Python ao " "compilador C++: ``$CXX`` ou *COMPILER* se especificado." -#: ../../using/configure.rst:52 +#: ../../using/configure.rst:54 msgid "Set the Python executable suffix to *SUFFIX*." msgstr "Define o sufixo do executável do Python para *SUFFIX*." -#: ../../using/configure.rst:54 +#: ../../using/configure.rst:56 msgid "" "The default suffix is ``.exe`` on Windows and macOS (``python.exe`` " -"executable), ``.js`` on Emscripten node, ``.html`` on Emscripten browser, ``." -"wasm`` on WASI, and an empty string on other platforms (``python`` " +"executable), ``.js`` on Emscripten node, ``.html`` on Emscripten browser, " +"``.wasm`` on WASI, and an empty string on other platforms (``python`` " "executable)." msgstr "" "O sufixo padrão é ``.exe`` no Windows e macOS (executável ``python.exe``), " "``.js`` em nó Emscripten, ``.html`` em navegador Emscripten, ``.wasm`` em " "WASI e uma string vazia em outras plataformas (executável ``python``)." -#: ../../using/configure.rst:59 +#: ../../using/configure.rst:61 msgid "" -"The default suffix on WASM platform is one of ``.js``, ``.html`` or ``." -"wasm``." +"The default suffix on WASM platform is one of ``.js``, ``.html`` or " +"``.wasm``." msgstr "" "O sufixo padrão na plataforma WASM é um entre ``.js``, ``.html`` ou ``.wasm``" -#: ../../using/configure.rst:65 +#: ../../using/configure.rst:67 msgid "" -"Select the default time zone search path for :data:`zoneinfo.TZPATH`. See " +"Select the default time zone search path for :const:`zoneinfo.TZPATH`. See " "the :ref:`Compile-time configuration ` of " "the :mod:`zoneinfo` module." msgstr "" -"Seleciona o caminho de pesquisa de fuso horário padrão para :data:`zoneinfo." -"TZPATH`. Veja a :ref:`Configuração de tempo de compilação " -"` do módulo :mod:`zoneinfo`." +"Seleciona o caminho de pesquisa de fuso horário padrão " +"para :const:`zoneinfo.TZPATH`. Veja a :ref:`Configuração de tempo de " +"compilação ` do módulo :mod:`zoneinfo`." -#: ../../using/configure.rst:69 +#: ../../using/configure.rst:71 msgid "" "Default: ``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/" "etc/zoneinfo``." @@ -136,75 +138,75 @@ msgstr "" "Padrão: ``/usr/share/zoneinfo:/usr/lib/zoneinfo:/usr/share/lib/zoneinfo:/etc/" "zoneinfo``." -#: ../../using/configure.rst:71 +#: ../../using/configure.rst:73 msgid "See :data:`os.pathsep` path separator." msgstr "Veja o separador de caminhos :data:`os.pathsep`." -#: ../../using/configure.rst:77 +#: ../../using/configure.rst:79 msgid "" "Build the ``_decimal`` extension module using a thread-local context rather " "than a coroutine-local context (default), see the :mod:`decimal` module." msgstr "" -"Compila o módulo de extensão ``_decimal`` usando um contexto local de thread " -"ao invés de um contexto local de corrotina (padrão), veja o módulo :mod:" -"`decimal`." +"Constrói o módulo de extensão ``_decimal`` usando um contexto local de " +"thread ao invés de um contexto local de corrotina (padrão), veja o " +"módulo :mod:`decimal`." -#: ../../using/configure.rst:80 -msgid "See :data:`decimal.HAVE_CONTEXTVAR` and the :mod:`contextvars` module." -msgstr "Veja :data:`decimal.HAVE_CONTEXTVAR` e o módulo :mod:`contextvars`." +#: ../../using/configure.rst:82 +msgid "See :const:`decimal.HAVE_CONTEXTVAR` and the :mod:`contextvars` module." +msgstr "Veja :const:`decimal.HAVE_CONTEXTVAR` e o módulo :mod:`contextvars`." -#: ../../using/configure.rst:86 +#: ../../using/configure.rst:88 msgid "Override order to check db backends for the :mod:`dbm` module" msgstr "" "Substitui a ordem de verificação de backends de banco de dados para o " "módulo :mod:`dbm`" -#: ../../using/configure.rst:88 +#: ../../using/configure.rst:90 msgid "" "A valid value is a colon (``:``) separated string with the backend names:" msgstr "" "Um valor válido é uma string separada por dois pontos (``:``) com os nomes " "de backend:" -#: ../../using/configure.rst:90 +#: ../../using/configure.rst:92 msgid "``ndbm``;" msgstr "``ndbm``;" -#: ../../using/configure.rst:91 +#: ../../using/configure.rst:93 msgid "``gdbm``;" msgstr "``gdbm``;" -#: ../../using/configure.rst:92 +#: ../../using/configure.rst:94 msgid "``bdb``." msgstr "``bdb``." -#: ../../using/configure.rst:96 +#: ../../using/configure.rst:98 msgid "Disable C locale coercion to a UTF-8 based locale (enabled by default)." msgstr "" "Desabilita a coerção de localidade C para uma localidade baseada em UTF-8 " "(ativada por padrão)." -#: ../../using/configure.rst:98 +#: ../../using/configure.rst:100 msgid "Don't define the ``PY_COERCE_C_LOCALE`` macro." msgstr "Não define a macro ``PY_COERCE_C_LOCALE``." -#: ../../using/configure.rst:100 +#: ../../using/configure.rst:102 msgid "See :envvar:`PYTHONCOERCECLOCALE` and the :pep:`538`." msgstr "Consulte :envvar:`PYTHONCOERCECLOCALE` e a :pep:`538`." -#: ../../using/configure.rst:104 +#: ../../using/configure.rst:106 msgid "Python library directory name (default is ``lib``)." msgstr "Nome do diretório da biblioteca Python (o padrão é ``lib``)." -#: ../../using/configure.rst:106 +#: ../../using/configure.rst:108 msgid "Fedora and SuSE use ``lib64`` on 64-bit platforms." msgstr "Fedora e SuSE usam ``lib64`` em plataformas de 64 bits." -#: ../../using/configure.rst:108 +#: ../../using/configure.rst:110 msgid "See :data:`sys.platlibdir`." msgstr "Veja :data:`sys.platlibdir`." -#: ../../using/configure.rst:114 +#: ../../using/configure.rst:116 msgid "" "Directory of wheel packages used by the :mod:`ensurepip` module (none by " "default)." @@ -212,75 +214,73 @@ msgstr "" "Diretório de pacotes de wheel usados pelo módulo :mod:`ensurepip` (nenhum " "por padrão)." -#: ../../using/configure.rst:117 +#: ../../using/configure.rst:119 msgid "" "Some Linux distribution packaging policies recommend against bundling " "dependencies. For example, Fedora installs wheel packages in the ``/usr/" -"share/python-wheels/`` directory and don't install the :mod:`ensurepip." -"_bundled` package." +"share/python-wheels/`` directory and don't install the :mod:`!" +"ensurepip._bundled` package." msgstr "" "Algumas políticas de empacotamento de distribuição do Linux recomendam " "contra o empacotamento de dependências. Por exemplo, o Fedora instala " "pacotes wheel no diretório ``/usr/share/python-wheels/`` e não instala o " -"pacote :mod:`ensurepip._bundled`." +"pacote :mod:`!ensurepip._bundled`." -#: ../../using/configure.rst:126 +#: ../../using/configure.rst:128 msgid "" "Whether configure should use :program:`pkg-config` to detect build " "dependencies." msgstr "" "Se o configure deve usar :program:`pkg-config` para detectar dependências de " -"compilação." +"construção." -#: ../../using/configure.rst:129 +#: ../../using/configure.rst:131 msgid "``check`` (default): :program:`pkg-config` is optional" msgstr "``check`` (padrão): :program:`pkg-config` é opcional" -#: ../../using/configure.rst:130 +#: ../../using/configure.rst:132 msgid "``yes``: :program:`pkg-config` is mandatory" msgstr "``yes``: :program:`pkg-config` é obrigatório" -#: ../../using/configure.rst:131 +#: ../../using/configure.rst:133 msgid "``no``: configure does not use :program:`pkg-config` even when present" msgstr "``no``: configure não usa :program:`pkg-config` mesmo quando presente" -#: ../../using/configure.rst:137 +#: ../../using/configure.rst:139 msgid "Turn on internal statistics gathering." msgstr "Ativa a coleta de estatísticas internas." -#: ../../using/configure.rst:139 +#: ../../using/configure.rst:141 msgid "" "The statistics will be dumped to a arbitrary (probably unique) file in ``/" "tmp/py_stats/``, or ``C:\\temp\\py_stats\\`` on Windows." msgstr "" -"As estatísticas serão despejadas em um arquivo arbitrário (provavelmente " -"único) em ``/tmp/py_stats/``, ou ``C:\\temp\\py_stats\\`` no Windows." -#: ../../using/configure.rst:142 +#: ../../using/configure.rst:144 msgid "Use ``Tools/scripts/summarize_stats.py`` to read the stats." msgstr "Use ``Tools/scripts/summarize_stats.py`` para ler as estatísticas." -#: ../../using/configure.rst:147 +#: ../../using/configure.rst:149 msgid "WebAssembly Options" msgstr "Opções de WebAssembly" -#: ../../using/configure.rst:151 +#: ../../using/configure.rst:153 msgid "Set build flavor for ``wasm32-emscripten``." -msgstr "Define o \"sabor\" de compilação para ``wasm32-emscripten``." +msgstr "Define o \"sabor\" de construção para ``wasm32-emscripten``." -#: ../../using/configure.rst:153 +#: ../../using/configure.rst:155 msgid "``browser`` (default): preload minimal stdlib, default MEMFS." msgstr "``browser`` (padrão): pré-carrega stdlib mínima, MEMFS padrão." -#: ../../using/configure.rst:154 +#: ../../using/configure.rst:156 msgid "``node``: NODERAWFS and pthread support." msgstr "``node``: suporte a NODERAWFS e pthread." -#: ../../using/configure.rst:160 +#: ../../using/configure.rst:162 msgid "Turn on dynamic linking support for WASM." msgstr "Ativa o suporte de vinculação dinâmica para WASM." -#: ../../using/configure.rst:162 +#: ../../using/configure.rst:164 msgid "" "Dynamic linking enables ``dlopen``. File size of the executable increases " "due to limited dead code elimination and additional features." @@ -288,29 +288,29 @@ msgstr "" "A vinculação dinâmica permite ``dlopen``. O tamanho do arquivo executável " "aumenta devido à eliminação limitada de código morto e recursos adicionais." -#: ../../using/configure.rst:169 +#: ../../using/configure.rst:171 msgid "Turn on pthreads support for WASM." msgstr "Ativa o suporte a pthreads para WASM." -#: ../../using/configure.rst:175 +#: ../../using/configure.rst:177 msgid "Install Options" msgstr "Opções de instalação" -#: ../../using/configure.rst:179 +#: ../../using/configure.rst:181 msgid "" -"Install architecture-independent files in PREFIX. On Unix, it defaults to :" -"file:`/usr/local`." +"Install architecture-independent files in PREFIX. On Unix, it defaults " +"to :file:`/usr/local`." msgstr "" "Instala arquivos independentes de arquitetura em PREFIX. No Unix, o padrão " "é :file:`/usr/local`." -#: ../../using/configure.rst:182 -msgid "This value can be retrived at runtime using :data:`sys.prefix`." +#: ../../using/configure.rst:184 +msgid "This value can be retrieved at runtime using :data:`sys.prefix`." msgstr "" -"Este valor pode ser recuperado em tempo de execução usando :data:`sys." -"prefix`." +"Este valor pode ser recuperado em tempo de execução " +"usando :data:`sys.prefix`." -#: ../../using/configure.rst:184 +#: ../../using/configure.rst:186 msgid "" "As an example, one can use ``--prefix=\"$HOME/.local/\"`` to install a " "Python in its home directory." @@ -318,34 +318,34 @@ msgstr "" "Como exemplo, pode-se usar ``--prefix=\"$HOME/.local/\"`` para instalar um " "Python em seu diretório pessoal (home)." -#: ../../using/configure.rst:189 +#: ../../using/configure.rst:191 msgid "" "Install architecture-dependent files in EPREFIX, defaults to :option:`--" "prefix`." msgstr "" -"Instala arquivos dependentes de arquitetura no EPREFIX, o padrão é :option:" -"`--prefix`." +"Instala arquivos dependentes de arquitetura no EPREFIX, o padrão " +"é :option:`--prefix`." -#: ../../using/configure.rst:191 -msgid "This value can be retrived at runtime using :data:`sys.exec_prefix`." +#: ../../using/configure.rst:193 +msgid "This value can be retrieved at runtime using :data:`sys.exec_prefix`." msgstr "" -"Este valor pode ser recuperado em tempo de execução usando :data:`sys." -"exec_prefix`." +"Este valor pode ser recuperado em tempo de execução " +"usando :data:`sys.exec_prefix`." -#: ../../using/configure.rst:195 +#: ../../using/configure.rst:197 msgid "" -"Don't build nor install test modules, like the :mod:`test` package or the :" -"mod:`_testcapi` extension module (built and installed by default)." +"Don't build nor install test modules, like the :mod:`test` package or " +"the :mod:`!_testcapi` extension module (built and installed by default)." msgstr "" -"Não compila nem instala módulos de teste, como o pacote :mod:`test` ou o " -"módulo de extensão :mod:`_testcapi` (compilado e instalado por padrão)." +"Não constrói nem instala módulos de teste, como o pacote :mod:`test` ou o " +"módulo de extensão :mod:`!_testcapi` (construído e instalado por padrão)." -#: ../../using/configure.rst:202 +#: ../../using/configure.rst:204 msgid "Select the :mod:`ensurepip` command run on Python installation:" msgstr "" "Seleciona o comando :mod:`ensurepip` executado na instalação do Python:" -#: ../../using/configure.rst:204 +#: ../../using/configure.rst:206 msgid "" "``upgrade`` (default): run ``python -m ensurepip --altinstall --upgrade`` " "command." @@ -353,27 +353,25 @@ msgstr "" "``upgrade`` (padrão): executa o comando ``python -m ensurepip --altinstall --" "upgrade``." -#: ../../using/configure.rst:206 +#: ../../using/configure.rst:208 msgid "``install``: run ``python -m ensurepip --altinstall`` command;" msgstr "``install``: executa o comando ``python -m ensurepip --altinstall``;" -#: ../../using/configure.rst:207 +#: ../../using/configure.rst:209 msgid "``no``: don't run ensurepip;" msgstr "``no``: não executa ensurepip;" -#: ../../using/configure.rst:213 +#: ../../using/configure.rst:215 msgid "Performance options" msgstr "Opções de desempenho" -#: ../../using/configure.rst:215 +#: ../../using/configure.rst:217 msgid "" "Configuring Python using ``--enable-optimizations --with-lto`` (PGO + LTO) " "is recommended for best performance." msgstr "" -"A configuração do Python usando ``--enable-optimizations --with-lto`` (PGO + " -"LTO) é recomendada para melhor desempenho." -#: ../../using/configure.rst:220 +#: ../../using/configure.rst:222 msgid "" "Enable Profile Guided Optimization (PGO) using :envvar:`PROFILE_TASK` " "(disabled by default)." @@ -381,7 +379,7 @@ msgstr "" "Habilita a otimização guiada por perfil (PGO, do inglês Profile Guided " "Optimization) usando :envvar:`PROFILE_TASK` (desabilitado por padrão)." -#: ../../using/configure.rst:223 +#: ../../using/configure.rst:225 msgid "" "The C compiler Clang requires ``llvm-profdata`` program for PGO. On macOS, " "GCC also requires it: GCC is just an alias to Clang on macOS." @@ -389,7 +387,7 @@ msgstr "" "O compilador C Clang requer o programa ``llvm-profdata`` para PGO. No macOS, " "o GCC também exige: o GCC é apenas um apelido para o Clang no macOS." -#: ../../using/configure.rst:226 +#: ../../using/configure.rst:228 msgid "" "Disable also semantic interposition in libpython if ``--enable-shared`` and " "GCC is used: add ``-fno-semantic-interposition`` to the compiler and linker " @@ -399,11 +397,11 @@ msgstr "" "shared`` e GCC forem usados: adiciona ``-fno-semantic-interposition`` aos " "sinalizadores do compilador e do vinculador." -#: ../../using/configure.rst:232 +#: ../../using/configure.rst:234 msgid "Use ``-fno-semantic-interposition`` on GCC." msgstr "Usa ``-fno-semantic-interposition`` no GCC." -#: ../../using/configure.rst:237 +#: ../../using/configure.rst:239 msgid "" "Environment variable used in the Makefile: Python command line arguments for " "the PGO generation task." @@ -411,17 +409,17 @@ msgstr "" "Variável de ambiente usada no Makefile: argumentos de linha de comando do " "Python para a tarefa de geração de PGO." -#: ../../using/configure.rst:240 +#: ../../using/configure.rst:242 msgid "Default: ``-m test --pgo --timeout=$(TESTTIMEOUT)``." msgstr "Padrão: ``-m test --pgo --timeout=$(TESTTIMEOUT)``." -#: ../../using/configure.rst:246 +#: ../../using/configure.rst:248 msgid "Enable Link Time Optimization (LTO) in any build (disabled by default)." msgstr "" "Habilita o otimização em tempo de vinculação (LTO, do inglês Link Time " -"Optimization) em qualquer compilação (desabilitado por padrão)." +"Optimization) em qualquer construção (desabilitado por padrão)." -#: ../../using/configure.rst:248 +#: ../../using/configure.rst:250 msgid "" "The C compiler Clang requires ``llvm-ar`` for LTO (``ar`` on macOS), as well " "as an LTO-aware linker (``ld.gold`` or ``lld``)." @@ -429,31 +427,31 @@ msgstr "" "O compilador C Clang requer ``llvm-ar`` para LTO (``ar`` no macOS), bem como " "um vinculador compatível com LTO (``ld.gold`` ou ``lld``)." -#: ../../using/configure.rst:253 +#: ../../using/configure.rst:255 msgid "To use ThinLTO feature, use ``--with-lto=thin`` on Clang." msgstr "Para usar o recurso ThinLTO, use ``--with-lto=thin`` no Clang." -#: ../../using/configure.rst:258 +#: ../../using/configure.rst:260 msgid "" "Enable computed gotos in evaluation loop (enabled by default on supported " "compilers)." msgstr "" -"Habilita \"gotos\" computados no loop de avaliação (habilitado por padrão em " +"Habilita \"gotos\" computados no laço de avaliação (habilitado por padrão em " "compiladores suportados)." -#: ../../using/configure.rst:263 +#: ../../using/configure.rst:265 msgid "" "Disable the specialized Python memory allocator :ref:`pymalloc ` " "(enabled by default)." msgstr "" -"Desabilita o alocador de memória Python especializado :ref:`pymalloc " +"Desabilita o alocador de memória especializado do Python :ref:`pymalloc " "` (habilitado por padrão)." -#: ../../using/configure.rst:266 +#: ../../using/configure.rst:268 msgid "See also :envvar:`PYTHONMALLOC` environment variable." msgstr "Veja também a variável de ambiente :envvar:`PYTHONMALLOC`." -#: ../../using/configure.rst:270 +#: ../../using/configure.rst:272 msgid "" "Disable static documentation strings to reduce the memory footprint (enabled " "by default). Documentation strings defined in Python are not affected." @@ -462,36 +460,37 @@ msgstr "" "memória (habilitado por padrão). As strings de documentação definidas em " "Python não são afetadas." -#: ../../using/configure.rst:273 +#: ../../using/configure.rst:275 msgid "Don't define the ``WITH_DOC_STRINGS`` macro." msgstr "Não define a macro ``WITH_DOC_STRINGS``." -#: ../../using/configure.rst:275 +#: ../../using/configure.rst:277 msgid "See the ``PyDoc_STRVAR()`` macro." msgstr "Veja a macro ``PyDoc_STRVAR()``." -#: ../../using/configure.rst:279 +#: ../../using/configure.rst:281 msgid "Enable C-level code profiling with ``gprof`` (disabled by default)." msgstr "" -"Habilita o perfil de código C-level com ``gprof`` (desabilitado por padrão)." +"Habilita o perfil de código a nível C com ``gprof`` (desabilitado por " +"padrão)." -#: ../../using/configure.rst:285 +#: ../../using/configure.rst:287 msgid "Python Debug Build" msgstr "Compilação de depuração do Python" -#: ../../using/configure.rst:287 +#: ../../using/configure.rst:289 msgid "" "A debug build is Python built with the :option:`--with-pydebug` configure " "option." msgstr "" -"Uma compilação de depuração é Python compilada com a opção de configuração :" -"option:`--with-pydebug`." +"Uma compilação de depuração é Python compilada com a opção de " +"configuração :option:`--with-pydebug`." -#: ../../using/configure.rst:290 +#: ../../using/configure.rst:292 msgid "Effects of a debug build:" msgstr "Efeitos de uma compilação de depuração:" -#: ../../using/configure.rst:292 +#: ../../using/configure.rst:294 msgid "" "Display all warnings by default: the list of default warning filters is " "empty in the :mod:`warnings` module." @@ -499,23 +498,23 @@ msgstr "" "Exibe todos os avisos por padrão: a lista de filtros de aviso padrão está " "vazia no módulo :mod:`warnings`." -#: ../../using/configure.rst:294 +#: ../../using/configure.rst:296 msgid "Add ``d`` to :data:`sys.abiflags`." msgstr "Adiciona ``d`` a :data:`sys.abiflags`." -#: ../../using/configure.rst:295 -msgid "Add :func:`sys.gettotalrefcount` function." -msgstr "Adiciona a função :func:`sys.gettotalrefcount`." +#: ../../using/configure.rst:297 +msgid "Add :func:`!sys.gettotalrefcount` function." +msgstr "Adiciona a função :func:`!sys.gettotalrefcount`." -#: ../../using/configure.rst:296 +#: ../../using/configure.rst:298 msgid "Add :option:`-X showrefcount <-X>` command line option." msgstr "Adiciona a opção de linha de comando :option:`-X showrefcount <-X>`." -#: ../../using/configure.rst:297 +#: ../../using/configure.rst:299 msgid "Add :envvar:`PYTHONTHREADDEBUG` environment variable." -msgstr "Adiciona a variável de ambiente :envvar:`PYTHONTHREADDEBUG`." +msgstr "" -#: ../../using/configure.rst:298 +#: ../../using/configure.rst:300 msgid "" "Add support for the ``__lltrace__`` variable: enable low-level tracing in " "the bytecode evaluation loop if the variable is defined." @@ -523,7 +522,7 @@ msgstr "" "Adiciona suporte para a variável ``__lltrace__``: habilita o rastreamento de " "baixo nível no laço de avaliação de bytecode se a variável estiver definida." -#: ../../using/configure.rst:300 +#: ../../using/configure.rst:302 msgid "" "Install :ref:`debug hooks on memory allocators ` " "to detect buffer overflow and other memory errors." @@ -531,11 +530,11 @@ msgstr "" "Instala :ref:`ganchos de depuração nos alocadores de memória ` para detectar estouro de buffer e outros erros de memória." -#: ../../using/configure.rst:302 +#: ../../using/configure.rst:304 msgid "Define ``Py_DEBUG`` and ``Py_REF_DEBUG`` macros." msgstr "Define as macros ``Py_DEBUG`` e ``Py_REF_DEBUG``." -#: ../../using/configure.rst:303 +#: ../../using/configure.rst:305 msgid "" "Add runtime checks: code surrounded by ``#ifdef Py_DEBUG`` and ``#endif``. " "Enable ``assert(...)`` and ``_PyObject_ASSERT(...)`` assertions: don't set " @@ -548,11 +547,11 @@ msgstr "" "configuração :option:`--with-assertions` opção). Principais verificações de " "tempo de execução:" -#: ../../using/configure.rst:308 +#: ../../using/configure.rst:310 msgid "Add sanity checks on the function arguments." msgstr "Adiciona verificações de sanidade nos argumentos da função." -#: ../../using/configure.rst:309 +#: ../../using/configure.rst:311 msgid "" "Unicode and int objects are created with their memory filled with a pattern " "to detect usage of uninitialized objects." @@ -560,7 +559,7 @@ msgstr "" "Objetos Unicode e int são criados com sua memória preenchida com um padrão " "para detectar o uso de objetos não inicializados." -#: ../../using/configure.rst:311 +#: ../../using/configure.rst:313 msgid "" "Ensure that functions which can clear or replace the current exception are " "not called with an exception raised." @@ -568,11 +567,11 @@ msgstr "" "Garante que as funções que podem limpar ou substituir a exceção atual não " "sejam chamadas com uma exceção levantada." -#: ../../using/configure.rst:313 +#: ../../using/configure.rst:315 msgid "Check that deallocator functions don't change the current exception." msgstr "Verifica se as funções desalocadoras não alteram a exceção atual." -#: ../../using/configure.rst:314 +#: ../../using/configure.rst:316 msgid "" "The garbage collector (:func:`gc.collect` function) runs some basic checks " "on objects consistency." @@ -580,15 +579,15 @@ msgstr "" "O coletor de lixo (função :func:`gc.collect`) executa algumas verificações " "básicas na consistência dos objetos." -#: ../../using/configure.rst:316 +#: ../../using/configure.rst:318 msgid "" -"The :c:macro:`Py_SAFE_DOWNCAST()` macro checks for integer underflow and " +"The :c:macro:`!Py_SAFE_DOWNCAST()` macro checks for integer underflow and " "overflow when downcasting from wide types to narrow types." msgstr "" -"A macro :c:macro:`Py_SAFE_DOWNCAST()` verifica o underflow e o overflow de " +"A macro :c:macro:`!Py_SAFE_DOWNCAST()` verifica o underflow e o overflow de " "inteiros ao fazer o downcast de tipos largos para tipos estreitos." -#: ../../using/configure.rst:319 +#: ../../using/configure.rst:321 msgid "" "See also the :ref:`Python Development Mode ` and the :option:`--" "with-trace-refs` configure option." @@ -596,11 +595,11 @@ msgstr "" "Veja também o :ref:`Modo de Desenvolvimento do Python ` e a opção " "de configuração :option:`--with-trace-refs`." -#: ../../using/configure.rst:322 +#: ../../using/configure.rst:324 msgid "" "Release builds and debug builds are now ABI compatible: defining the " -"``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro (see the :" -"option:`--with-trace-refs` option), which introduces the only ABI " +"``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro (see " +"the :option:`--with-trace-refs` option), which introduces the only ABI " "incompatibility." msgstr "" "Compilações de lançamento e compilações de depuração agora são compatíveis " @@ -608,805 +607,958 @@ msgstr "" "``Py_TRACE_REFS`` (consulte a opção :option:`--with-trace-refs`), que " "apresenta a única incompatibilidade de ABI." -#: ../../using/configure.rst:330 +#: ../../using/configure.rst:332 msgid "Debug options" -msgstr "" +msgstr "Opções de depuração" -#: ../../using/configure.rst:334 +#: ../../using/configure.rst:336 msgid "" ":ref:`Build Python in debug mode `: define the ``Py_DEBUG`` " "macro (disabled by default)." msgstr "" +":ref:`Construção de depuração do Python `: define a macro " +"``Py_DEBUG`` (desabilitada por padrão)." -#: ../../using/configure.rst:339 +#: ../../using/configure.rst:341 msgid "Enable tracing references for debugging purpose (disabled by default)." msgstr "" +"Habilita referências de rastreamento para fins de depuração (desabilitado " +"por padrão)." -#: ../../using/configure.rst:341 +#: ../../using/configure.rst:343 msgid "Effects:" -msgstr "" +msgstr "Efeitos:" -#: ../../using/configure.rst:343 +#: ../../using/configure.rst:345 msgid "Define the ``Py_TRACE_REFS`` macro." -msgstr "" +msgstr "Define a macro ``Py_TRACE_REFS``." -#: ../../using/configure.rst:344 -msgid "Add :func:`sys.getobjects` function." -msgstr "" +#: ../../using/configure.rst:346 +msgid "Add :func:`!sys.getobjects` function." +msgstr "Adiciona a função :func:`!sys.getobjects`." -#: ../../using/configure.rst:345 +#: ../../using/configure.rst:347 msgid "Add :envvar:`PYTHONDUMPREFS` environment variable." -msgstr "" +msgstr "Adiciona a variável de ambiente :envvar:`PYTHONDUMPREFS`." -#: ../../using/configure.rst:347 +#: ../../using/configure.rst:349 msgid "" "This build is not ABI compatible with release build (default build) or debug " "build (``Py_DEBUG`` and ``Py_REF_DEBUG`` macros)." msgstr "" +"Esta construção não é compatível com ABI com a construção de lançamento " +"(construção padrão) ou construção de depuração (macros ``Py_DEBUG`` e " +"``Py_REF_DEBUG``)." -#: ../../using/configure.rst:354 +#: ../../using/configure.rst:356 msgid "" "Build with C assertions enabled (default is no): ``assert(...);`` and " "``_PyObject_ASSERT(...);``." msgstr "" +"Constrói com asserções C habilitadas (o padrão é não): ``assert(...);`` e " +"``_PyObject_ASSERT(...);``." -#: ../../using/configure.rst:357 +#: ../../using/configure.rst:359 msgid "" "If set, the ``NDEBUG`` macro is not defined in the :envvar:`OPT` compiler " "variable." msgstr "" +"Se definido, a macro ``NDEBUG`` não é definida na variável do " +"compilador :envvar:`OPT`." -#: ../../using/configure.rst:360 +#: ../../using/configure.rst:362 msgid "" "See also the :option:`--with-pydebug` option (:ref:`debug build `) which also enables assertions." msgstr "" +"Veja também a opção :option:`--with-pydebug` (:ref:`construção de depuração " +"`) que também habilita asserções." -#: ../../using/configure.rst:367 +#: ../../using/configure.rst:369 msgid "Enable Valgrind support (default is no)." -msgstr "" +msgstr "Habilita suporte ao Valgrind (o padrão é não)." -#: ../../using/configure.rst:371 +#: ../../using/configure.rst:373 msgid "Enable DTrace support (default is no)." -msgstr "" +msgstr "Habilita suporte ao DTrace (o padrão é não)." -#: ../../using/configure.rst:373 +#: ../../using/configure.rst:375 msgid "" "See :ref:`Instrumenting CPython with DTrace and SystemTap `." msgstr "" +"Veja :ref:`Instrumentando o CPython com DTrace e SystemTap " +"`." -#: ../../using/configure.rst:380 +#: ../../using/configure.rst:382 msgid "" "Enable AddressSanitizer memory error detector, ``asan`` (default is no)." msgstr "" +"Habilita o detector de erros de memória AddressSanitizer, ``asan`` (o padrão " +"é não)." -#: ../../using/configure.rst:386 +#: ../../using/configure.rst:388 msgid "" "Enable MemorySanitizer allocation error detector, ``msan`` (default is no)." msgstr "" +"Habilita o detector de erros de alocação do MemorySanitizer, ``msan`` (o " +"padrão é não)." -#: ../../using/configure.rst:392 +#: ../../using/configure.rst:394 msgid "" "Enable UndefinedBehaviorSanitizer undefined behaviour detector, ``ubsan`` " "(default is no)." msgstr "" +"Habilita o detector de comportamento indefinido UndefinedBehaviorSanitizer, " +"``ubsan`` (o padrão é não)." -#: ../../using/configure.rst:399 +#: ../../using/configure.rst:401 msgid "Linker options" -msgstr "" +msgstr "Opções da ligação" -#: ../../using/configure.rst:403 +#: ../../using/configure.rst:405 msgid "Enable building a shared Python library: ``libpython`` (default is no)." msgstr "" +"Habilita a construção de uma biblioteca Python compartilhada: ``libpython`` " +"(o padrão é não)." -#: ../../using/configure.rst:407 +#: ../../using/configure.rst:409 msgid "" "Do not build ``libpythonMAJOR.MINOR.a`` and do not install ``python.o`` " "(built and enabled by default)." msgstr "" +"Não constrói ``libpythonMAJOR.MINOR.a`` e não instala ``python.o`` " +"(construído e habilitado por padrão)." -#: ../../using/configure.rst:414 +#: ../../using/configure.rst:416 msgid "Libraries options" -msgstr "" +msgstr "Opções da biblioteca" -#: ../../using/configure.rst:418 +#: ../../using/configure.rst:420 msgid "Link against additional libraries (default is no)." -msgstr "" +msgstr "Vincula bibliotecas adicionais (o padrão é não)." -#: ../../using/configure.rst:422 +#: ../../using/configure.rst:424 msgid "" -"Build the :mod:`pyexpat` module using an installed ``expat`` library " +"Build the :mod:`!pyexpat` module using an installed ``expat`` library " "(default is no)." msgstr "" +"Constrói o módulo :mod:`!pyexpat` usando uma biblioteca ``expat`` instalada " +"(o padrão é não)." -#: ../../using/configure.rst:427 +#: ../../using/configure.rst:429 msgid "" "Build the :mod:`_ctypes` extension module using an installed ``ffi`` " "library, see the :mod:`ctypes` module (default is system-dependent)." msgstr "" -#: ../../using/configure.rst:432 +#: ../../using/configure.rst:434 msgid "" "Build the ``_decimal`` extension module using an installed ``mpdec`` " "library, see the :mod:`decimal` module (default is no)." msgstr "" +"Constrói o módulo de extensão ``_decimal`` usando uma biblioteca ``mpdec`` " +"instalada, veja o módulo :mod:`decimal` (o padrão é não)." -#: ../../using/configure.rst:439 +#: ../../using/configure.rst:441 msgid "Use ``editline`` library for backend of the :mod:`readline` module." -msgstr "" +msgstr "Usa a biblioteca ``editline`` para backend do módulo :mod:`readline`." -#: ../../using/configure.rst:441 +#: ../../using/configure.rst:443 msgid "Define the ``WITH_EDITLINE`` macro." -msgstr "" +msgstr "Define a macro ``WITH_EDITLINE``." -#: ../../using/configure.rst:447 +#: ../../using/configure.rst:449 msgid "Don't build the :mod:`readline` module (built by default)." -msgstr "" +msgstr "Não constrói o módulo :mod:`readline` (construído por padrão)." -#: ../../using/configure.rst:449 +#: ../../using/configure.rst:451 msgid "Don't define the ``HAVE_LIBREADLINE`` macro." -msgstr "" +msgstr "Não define a macro ``HAVE_LIBREADLINE``." -#: ../../using/configure.rst:455 +#: ../../using/configure.rst:457 msgid "" "Override ``libm`` math library to *STRING* (default is system-dependent)." msgstr "" +"Substitui a biblioteca matemática ``libm`` por *STRING* (o padrão depende do " +"sistema)." -#: ../../using/configure.rst:459 +#: ../../using/configure.rst:461 msgid "Override ``libc`` C library to *STRING* (default is system-dependent)." msgstr "" +"Substitui a biblioteca C ``libc`` por *STRING* (o padrão depende do sistema)." -#: ../../using/configure.rst:463 +#: ../../using/configure.rst:465 msgid "Root of the OpenSSL directory." -msgstr "" +msgstr "Raiz do diretório OpenSSL." -#: ../../using/configure.rst:469 +#: ../../using/configure.rst:471 msgid "Set runtime library directory (rpath) for OpenSSL libraries:" msgstr "" +"Define o diretório da biblioteca de tempo de execução (rpath) para " +"bibliotecas OpenSSL:" -#: ../../using/configure.rst:471 +#: ../../using/configure.rst:473 msgid "``no`` (default): don't set rpath;" -msgstr "" +msgstr "``no`` (padrão): não define o rpath;" -#: ../../using/configure.rst:472 +#: ../../using/configure.rst:474 msgid "" "``auto``: auto-detect rpath from :option:`--with-openssl` and ``pkg-config``;" msgstr "" +"``auto``: detecta automaticamente o rpath de :option:`--with-openssl` e " +"``pkg-config``;" -#: ../../using/configure.rst:474 +#: ../../using/configure.rst:476 msgid "*DIR*: set an explicit rpath." -msgstr "" +msgstr "*DIR*: define um rpath explícito." -#: ../../using/configure.rst:480 +#: ../../using/configure.rst:482 msgid "Security Options" -msgstr "" +msgstr "Opções de segurança" -#: ../../using/configure.rst:484 +#: ../../using/configure.rst:486 msgid "Select hash algorithm for use in ``Python/pyhash.c``:" -msgstr "" +msgstr "Seleciona o algoritmo de hash para usar em ``Python/pyhash.c``:" -#: ../../using/configure.rst:486 +#: ../../using/configure.rst:488 msgid "``siphash13`` (default);" -msgstr "" +msgstr "``siphash13`` (padrão);" -#: ../../using/configure.rst:487 +#: ../../using/configure.rst:489 msgid "``siphash24``;" -msgstr "" +msgstr "``siphash24``;" -#: ../../using/configure.rst:488 +#: ../../using/configure.rst:490 msgid "``fnv``." -msgstr "" +msgstr "``fnv``." -#: ../../using/configure.rst:492 +#: ../../using/configure.rst:494 msgid "``siphash13`` is added and it is the new default." -msgstr "" +msgstr "``siphash13`` é adicionado e é o novo padrão." -#: ../../using/configure.rst:497 +#: ../../using/configure.rst:499 msgid "Built-in hash modules:" -msgstr "" +msgstr "Módulos embutidos de hash" -#: ../../using/configure.rst:499 +#: ../../using/configure.rst:501 msgid "``md5``;" -msgstr "" +msgstr "``md5``;" -#: ../../using/configure.rst:500 +#: ../../using/configure.rst:502 msgid "``sha1``;" -msgstr "" +msgstr "``sha1``;" -#: ../../using/configure.rst:501 +#: ../../using/configure.rst:503 msgid "``sha256``;" -msgstr "" +msgstr "``sha256``;" -#: ../../using/configure.rst:502 +#: ../../using/configure.rst:504 msgid "``sha512``;" -msgstr "" +msgstr "``sha512``;" -#: ../../using/configure.rst:503 +#: ../../using/configure.rst:505 msgid "``sha3`` (with shake);" -msgstr "" +msgstr "``sha3`` (com shake);" -#: ../../using/configure.rst:504 +#: ../../using/configure.rst:506 msgid "``blake2``." -msgstr "" +msgstr "``blake2``." -#: ../../using/configure.rst:510 +#: ../../using/configure.rst:512 msgid "Override the OpenSSL default cipher suites string:" -msgstr "" +msgstr "Substitui a string dos conjuntos de criptografia padrão do OpenSSL:" -#: ../../using/configure.rst:512 +#: ../../using/configure.rst:514 msgid "``python`` (default): use Python's preferred selection;" -msgstr "" +msgstr "``python`` (padrão): use a seleciona preferida do Python;" -#: ../../using/configure.rst:513 +#: ../../using/configure.rst:515 msgid "``openssl``: leave OpenSSL's defaults untouched;" -msgstr "" +msgstr "``openssl``: mantém inalterados os padrões do OpenSSL;" -#: ../../using/configure.rst:514 +#: ../../using/configure.rst:516 msgid "*STRING*: use a custom string" -msgstr "" +msgstr "*STRING*: usa uma string personalizada" -#: ../../using/configure.rst:516 +#: ../../using/configure.rst:518 msgid "See the :mod:`ssl` module." -msgstr "" +msgstr "Veja o módulo :mod:`ssl`." -#: ../../using/configure.rst:522 +#: ../../using/configure.rst:524 msgid "" "The settings ``python`` and *STRING* also set TLS 1.2 as minimum protocol " "version." msgstr "" +"As configurações ``python`` e *STRING* também definem TLS 1.2 como versão " +"mínima do protocolo." -#: ../../using/configure.rst:526 +#: ../../using/configure.rst:528 msgid "macOS Options" -msgstr "" +msgstr "Opções do macOS" -#: ../../using/configure.rst:528 +#: ../../using/configure.rst:530 msgid "See ``Mac/README.rst``." -msgstr "" +msgstr "Veja ``Mac/README.rst``." -#: ../../using/configure.rst:533 +#: ../../using/configure.rst:535 msgid "" "Create a universal binary build. *SDKDIR* specifies which macOS SDK should " "be used to perform the build (default is no)." msgstr "" +"Cria uma construção binária universal. *SDKDIR* especifica qual SDK do macOS " +"deve ser usado para executar a construção (o padrão é não)." -#: ../../using/configure.rst:539 +#: ../../using/configure.rst:541 msgid "" "Create a Python.framework rather than a traditional Unix install. Optional " "*INSTALLDIR* specifies the installation path (default is no)." msgstr "" +"Cria um Python.framework em vez de uma instalação tradicional do Unix. O " +"*INSTALLDIR* opcional especifica o caminho de instalação (o padrão é não)." -#: ../../using/configure.rst:544 +#: ../../using/configure.rst:546 msgid "" "Specify the kind of universal binary that should be created. This option is " "only valid when :option:`--enable-universalsdk` is set." msgstr "" +"Especifica o tipo de binário universal que deve ser criado. Esta opção só é " +"válida quando :option:`--enable-universalsdk` está definido." -#: ../../using/configure.rst:547 +#: ../../using/configure.rst:549 msgid "Options:" -msgstr "" +msgstr "Opções:" -#: ../../using/configure.rst:549 +#: ../../using/configure.rst:551 msgid "``universal2``;" -msgstr "" +msgstr "``universal2``;" -#: ../../using/configure.rst:550 +#: ../../using/configure.rst:552 msgid "``32-bit``;" -msgstr "" +msgstr "``32-bit``;" -#: ../../using/configure.rst:551 +#: ../../using/configure.rst:553 msgid "``64-bit``;" -msgstr "" +msgstr "``64-bit``;" -#: ../../using/configure.rst:552 +#: ../../using/configure.rst:554 msgid "``3-way``;" -msgstr "" +msgstr "``3-way``;" -#: ../../using/configure.rst:553 +#: ../../using/configure.rst:555 msgid "``intel``;" -msgstr "" +msgstr "``intel``;" -#: ../../using/configure.rst:554 +#: ../../using/configure.rst:556 msgid "``intel-32``;" -msgstr "" +msgstr "``intel-32``;" -#: ../../using/configure.rst:555 +#: ../../using/configure.rst:557 msgid "``intel-64``;" -msgstr "" +msgstr "``intel-64``;" -#: ../../using/configure.rst:556 +#: ../../using/configure.rst:558 msgid "``all``." -msgstr "" +msgstr "``all``." -#: ../../using/configure.rst:560 +#: ../../using/configure.rst:562 msgid "" -"Specify the name for the python framework on macOS only valid when :option:" -"`--enable-framework` is set (default: ``Python``)." +"Specify the name for the python framework on macOS only valid " +"when :option:`--enable-framework` is set (default: ``Python``)." msgstr "" +"Especifica o nome do framework python no macOS válido apenas " +"quando :option:`--enable-framework` está definido (padrão: ``Python``)." -#: ../../using/configure.rst:565 +#: ../../using/configure.rst:567 msgid "Cross Compiling Options" -msgstr "" +msgstr "Opções de compilação cruzada" -#: ../../using/configure.rst:567 +#: ../../using/configure.rst:569 msgid "" "Cross compiling, also known as cross building, can be used to build Python " "for another CPU architecture or platform. Cross compiling requires a Python " "interpreter for the build platform. The version of the build Python must " "match the version of the cross compiled host Python." msgstr "" +"A compilação cruzada, também conhecida como construção cruzada, pode ser " +"usada para construir Python para outra arquitetura ou plataforma de CPU. A " +"compilação cruzada requer um interpretador Python para a plataforma de " +"construção. A versão do Python para construção deve corresponder à versão do " +"Python da compilação cruzada do host." -#: ../../using/configure.rst:574 +#: ../../using/configure.rst:576 msgid "" "configure for building on BUILD, usually guessed by :program:`config.guess`." msgstr "" +"configura para construir em BUILD, geralmente adivinhado " +"por :program:`config.guess`." -#: ../../using/configure.rst:578 +#: ../../using/configure.rst:580 msgid "cross-compile to build programs to run on HOST (target platform)" msgstr "" +"faz compilação cruzada para construir programas para executar no HOST " +"(plataforma de destino)" -#: ../../using/configure.rst:582 +#: ../../using/configure.rst:584 msgid "path to build ``python`` binary for cross compiling" -msgstr "" +msgstr "caminho para construir o binário ``python`` para compilação cruzada" -#: ../../using/configure.rst:588 +#: ../../using/configure.rst:590 msgid "An environment variable that points to a file with configure overrides." msgstr "" +"Uma variável de ambiente que aponta para um arquivo com substituições de " +"configuração." -#: ../../using/configure.rst:590 -msgid "Example *config.site* file::" -msgstr "" +#: ../../using/configure.rst:592 +msgid "Example *config.site* file:" +msgstr "Exemplo de arquivo *config.site*:" -#: ../../using/configure.rst:598 +#: ../../using/configure.rst:602 msgid "Cross compiling example::" -msgstr "" +msgstr "Exemplo de compilação cruzada::" -#: ../../using/configure.rst:607 +#: ../../using/configure.rst:611 msgid "Python Build System" -msgstr "" +msgstr "Sistema de Construção Python" -#: ../../using/configure.rst:610 +#: ../../using/configure.rst:614 msgid "Main files of the build system" -msgstr "" +msgstr "Arquivos principais do sistema de construção" -#: ../../using/configure.rst:612 +#: ../../using/configure.rst:616 msgid ":file:`configure.ac` => :file:`configure`;" -msgstr "" +msgstr ":file:`configure.ac` => :file:`configure`;" -#: ../../using/configure.rst:613 +#: ../../using/configure.rst:617 msgid "" ":file:`Makefile.pre.in` => :file:`Makefile` (created by :file:`configure`);" msgstr "" +":file:`Makefile.pre.in` => :file:`Makefile` (criado por :file:`configure`);" -#: ../../using/configure.rst:614 +#: ../../using/configure.rst:618 msgid ":file:`pyconfig.h` (created by :file:`configure`);" -msgstr "" +msgstr ":file:`pyconfig.h` (criado por :file:`configure`);" -#: ../../using/configure.rst:615 +#: ../../using/configure.rst:619 msgid "" -":file:`Modules/Setup`: C extensions built by the Makefile using :file:" -"`Module/makesetup` shell script;" +":file:`Modules/Setup`: C extensions built by the Makefile " +"using :file:`Module/makesetup` shell script;" msgstr "" +":file:`Modules/Setup`: Extensões C construídas pelo Makefile usando o shell " +"script :file:`Module/makesetup`;" -#: ../../using/configure.rst:617 +#: ../../using/configure.rst:621 msgid ":file:`setup.py`: C extensions built using the :mod:`distutils` module." msgstr "" -#: ../../using/configure.rst:620 +#: ../../using/configure.rst:624 msgid "Main build steps" -msgstr "" +msgstr "Principais etapas de construção" -#: ../../using/configure.rst:622 +#: ../../using/configure.rst:626 msgid "C files (``.c``) are built as object files (``.o``)." -msgstr "" +msgstr "Arquivos C (``.c``) são construídos como arquivos objeto (``.o``)." -#: ../../using/configure.rst:623 +#: ../../using/configure.rst:627 msgid "A static ``libpython`` library (``.a``) is created from objects files." msgstr "" +"Uma biblioteca estática ``libpython`` (``.a``) é criada a partir de arquivos " +"de objetos." -#: ../../using/configure.rst:624 +#: ../../using/configure.rst:628 msgid "" "``python.o`` and the static ``libpython`` library are linked into the final " "``python`` program." msgstr "" +"``python.o`` e a biblioteca estática ``libpython`` estão vinculadas ao " +"programa final ``python``." -#: ../../using/configure.rst:626 +#: ../../using/configure.rst:630 msgid "" "C extensions are built by the Makefile (see :file:`Modules/Setup`) and " "``python setup.py build``." msgstr "" -#: ../../using/configure.rst:630 +#: ../../using/configure.rst:634 msgid "Main Makefile targets" -msgstr "" +msgstr "Alvos principais do Makefile" -#: ../../using/configure.rst:632 +#: ../../using/configure.rst:636 msgid "``make``: Build Python with the standard library." -msgstr "" +msgstr "``make``: Constrói o Python com a biblioteca padrão." -#: ../../using/configure.rst:633 +#: ../../using/configure.rst:637 msgid "" "``make platform:``: build the ``python`` program, but don't build the " "standard library extension modules." msgstr "" +"``make platform:``: constrói o programa ``python``, mas não constrói os " +"módulos de extensão da biblioteca padrão." -#: ../../using/configure.rst:635 +#: ../../using/configure.rst:639 msgid "" "``make profile-opt``: build Python using Profile Guided Optimization (PGO). " "You can use the configure :option:`--enable-optimizations` option to make " "this the default target of the ``make`` command (``make all`` or just " "``make``)." msgstr "" +": constrói ``make profile-opt`` o Python usando otimização guiada por perfil " +"(ou Profile Guided Optimization -- PGO). Você pode usar a opção :option:`--" +"enable-optimizations` do configure para tornar este o alvo padrão do comando " +"``make`` (``make all`` ou apenas ``make``)." -#: ../../using/configure.rst:639 +#: ../../using/configure.rst:643 msgid "" "``make buildbottest``: Build Python and run the Python test suite, the same " "way than buildbots test Python. Set ``TESTTIMEOUT`` variable (in seconds) to " "change the test timeout (1200 by default: 20 minutes)." msgstr "" +"``make buildbottest``: Constrói o Python e executa o conjunto de testes do " +"Python, da mesma forma que os buildbots testam o Python. Defina a variável " +"``TESTTIMEOUT`` (em segundos) para alterar o tempo limite do teste (1200 por " +"padrão: 20 minutos)." -#: ../../using/configure.rst:642 +#: ../../using/configure.rst:646 msgid "``make install``: Build and install Python." -msgstr "" +msgstr "``make install``: Constrói e instala o Python." -#: ../../using/configure.rst:643 +#: ../../using/configure.rst:647 msgid "" "``make regen-all``: Regenerate (almost) all generated files; ``make regen-" "stdlib-module-names`` and ``autoconf`` must be run separately for the " "remaining generated files." msgstr "" +"``make regen-all``: Regenera (quase) todos os arquivos gerados; ``make regen-" +"stdlib-module-names`` e ``autoconf`` deve ser executado separadamente para " +"os arquivos gerados restantes." -#: ../../using/configure.rst:646 +#: ../../using/configure.rst:650 msgid "``make clean``: Remove built files." -msgstr "" +msgstr "``make clean``: Remove os arquivos construídos." -#: ../../using/configure.rst:647 +#: ../../using/configure.rst:651 msgid "" "``make distclean``: Same than ``make clean``, but remove also files created " "by the configure script." msgstr "" +"``make distclean``: Mesmo que ``make clean``, mas também remove arquivos " +"criados pelo script de configuração." -#: ../../using/configure.rst:651 +#: ../../using/configure.rst:655 msgid "C extensions" -msgstr "" +msgstr "Extensões C" -#: ../../using/configure.rst:653 +#: ../../using/configure.rst:657 msgid "" "Some C extensions are built as built-in modules, like the ``sys`` module. " "They are built with the ``Py_BUILD_CORE_BUILTIN`` macro defined. Built-in " -"modules have no ``__file__`` attribute::" +"modules have no ``__file__`` attribute:" msgstr "" +"Algumas extensões C são construídas como módulos embutidos, como o módulo " +"``sys``. Eles são construídos com a macro ``Py_BUILD_CORE_BUILTIN`` " +"definida. Módulos embutidos não possuem nenhum atributo ``__file__``:" -#: ../../using/configure.rst:665 +#: ../../using/configure.rst:671 msgid "" "Other C extensions are built as dynamic libraries, like the ``_asyncio`` " "module. They are built with the ``Py_BUILD_CORE_MODULE`` macro defined. " -"Example on Linux x86-64::" +"Example on Linux x86-64:" msgstr "" +"Outras extensões C são construídas como bibliotecas dinâmicas, como o módulo " +"``_asyncio``. Eles são construídos com a macro ``Py_BUILD_CORE_MODULE`` " +"definida. Exemplo no Linux x86-64:" -#: ../../using/configure.rst:675 +#: ../../using/configure.rst:683 msgid "" ":file:`Modules/Setup` is used to generate Makefile targets to build C " "extensions. At the beginning of the files, C extensions are built as built-" "in modules. Extensions defined after the ``*shared*`` marker are built as " "dynamic libraries." msgstr "" +":file:`Modules/Setup` é usado para gerar alvos Makefile para construir " +"extensões C. No início dos arquivos, as extensões C são construídas como " +"módulos embutidos. Extensões definidas após o marcador ``*shared*`` são " +"construídas como bibliotecas dinâmicas." -#: ../../using/configure.rst:679 +#: ../../using/configure.rst:687 msgid "" "The :file:`setup.py` script only builds C extensions as shared libraries " "using the :mod:`distutils` module." msgstr "" -#: ../../using/configure.rst:682 +#: ../../using/configure.rst:690 msgid "" -"The :c:macro:`PyAPI_FUNC()`, :c:macro:`PyAPI_API()` and :c:macro:" -"`PyMODINIT_FUNC()` macros of :file:`Include/pyport.h` are defined " +"The :c:macro:`!PyAPI_FUNC()`, :c:macro:`!PyAPI_DATA()` " +"and :c:macro:`PyMODINIT_FUNC` macros of :file:`Include/pyport.h` are defined " "differently depending if the ``Py_BUILD_CORE_MODULE`` macro is defined:" msgstr "" -#: ../../using/configure.rst:686 +#: ../../using/configure.rst:694 msgid "Use ``Py_EXPORTED_SYMBOL`` if the ``Py_BUILD_CORE_MODULE`` is defined" msgstr "" +"Usa ``Py_EXPORTED_SYMBOL`` se ``Py_BUILD_CORE_MODULE`` estiver definido" -#: ../../using/configure.rst:687 +#: ../../using/configure.rst:695 msgid "Use ``Py_IMPORTED_SYMBOL`` otherwise." -msgstr "" +msgstr "Do contrário, usa ``Py_IMPORTED_SYMBOL``." -#: ../../using/configure.rst:689 +#: ../../using/configure.rst:697 msgid "" "If the ``Py_BUILD_CORE_BUILTIN`` macro is used by mistake on a C extension " -"built as a shared library, its ``PyInit_xxx()`` function is not exported, " -"causing an :exc:`ImportError` on import." +"built as a shared library, its :samp:`PyInit_{xxx}()` function is not " +"exported, causing an :exc:`ImportError` on import." msgstr "" +"Se a macro ``Py_BUILD_CORE_BUILTIN`` for usada por engano em uma extensão C " +"construída como uma biblioteca compartilhada, sua função :samp:`PyInit_{xxx}" +"()` não será exportada, causando um :exc:`ImportError` na importação." -#: ../../using/configure.rst:695 +#: ../../using/configure.rst:703 msgid "Compiler and linker flags" -msgstr "" +msgstr "Sinalizadores do compilador e do vinculador" -#: ../../using/configure.rst:697 +#: ../../using/configure.rst:705 msgid "" "Options set by the ``./configure`` script and environment variables and used " "by ``Makefile``." msgstr "" +"Opções definidas pelo script ``./configure`` e variáveis de ambiente e " +"usadas por ``Makefile``." -#: ../../using/configure.rst:701 +#: ../../using/configure.rst:709 msgid "Preprocessor flags" -msgstr "" +msgstr "Sinalizadores do pré-processador" -#: ../../using/configure.rst:705 +#: ../../using/configure.rst:713 msgid "" "Value of :envvar:`CPPFLAGS` variable passed to the ``./configure`` script." msgstr "" +"Valor da variável :envvar:`CPPFLAGS` passado para o script ``./configure``." -#: ../../using/configure.rst:711 +#: ../../using/configure.rst:719 msgid "" -"(Objective) C/C++ preprocessor flags, e.g. ``-I`` if you have " -"headers in a nonstandard directory ````." +"(Objective) C/C++ preprocessor flags, e.g. :samp:`-I{include_dir}` if you " +"have headers in a nonstandard directory *include_dir*." msgstr "" +"Sinalizadores de pré-processador C++ / (Objective) C, p.ex. :samp:`-" +"I{include_dir}` se você tiver cabeçalhos em um diretório não padrão " +"*include_dir*." -#: ../../using/configure.rst:714 ../../using/configure.rst:909 +#: ../../using/configure.rst:722 ../../using/configure.rst:917 msgid "" "Both :envvar:`CPPFLAGS` and :envvar:`LDFLAGS` need to contain the shell's " "value for setup.py to be able to build extension modules using the " "directories specified in the environment variables." msgstr "" -#: ../../using/configure.rst:724 +#: ../../using/configure.rst:732 msgid "" "Extra preprocessor flags added for building the interpreter object files." msgstr "" +"Sinalizadores extras de pré-processador adicionados para construir os " +"arquivos de objeto do interpretador." -#: ../../using/configure.rst:726 +#: ../../using/configure.rst:734 msgid "" -"Default: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) " -"$(CPPFLAGS)``." +"Default: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $" +"(CPPFLAGS)``." msgstr "" +"Padrão: ``$(BASECPPFLAGS) -I. -I$(srcdir)/Include $(CONFIGURE_CPPFLAGS) $" +"(CPPFLAGS)``." -#: ../../using/configure.rst:731 +#: ../../using/configure.rst:739 msgid "Compiler flags" -msgstr "" +msgstr "Sinalizadores do compilador" -#: ../../using/configure.rst:735 +#: ../../using/configure.rst:743 msgid "C compiler command." -msgstr "" +msgstr "Comando do compilador C." -#: ../../using/configure.rst:737 +#: ../../using/configure.rst:745 msgid "Example: ``gcc -pthread``." -msgstr "" +msgstr "Exemplo: ``gcc -pthread``." -#: ../../using/configure.rst:741 +#: ../../using/configure.rst:749 msgid "" "C compiler command used to build the ``main()`` function of programs like " "``python``." msgstr "" -#: ../../using/configure.rst:744 +#: ../../using/configure.rst:752 msgid "" "Variable set by the :option:`--with-cxx-main` option of the configure script." msgstr "" -#: ../../using/configure.rst:747 +#: ../../using/configure.rst:755 msgid "Default: ``$(CC)``." msgstr "" -#: ../../using/configure.rst:751 +#: ../../using/configure.rst:759 msgid "C++ compiler command." -msgstr "" +msgstr "Comando do compilador C++." -#: ../../using/configure.rst:753 +#: ../../using/configure.rst:761 msgid "Used if the :option:`--with-cxx-main` option is used." msgstr "" -#: ../../using/configure.rst:755 +#: ../../using/configure.rst:763 msgid "Example: ``g++ -pthread``." -msgstr "" +msgstr "Exemplo: ``g++ -pthread``." -#: ../../using/configure.rst:759 +#: ../../using/configure.rst:767 msgid "C compiler flags." -msgstr "" +msgstr "Sinalizadores do compilador C." -#: ../../using/configure.rst:763 +#: ../../using/configure.rst:771 msgid "" ":envvar:`CFLAGS_NODIST` is used for building the interpreter and stdlib C " "extensions. Use it when a compiler flag should *not* be part of the " "distutils :envvar:`CFLAGS` once Python is installed (:issue:`21121`)." msgstr "" -#: ../../using/configure.rst:767 +#: ../../using/configure.rst:775 msgid "In particular, :envvar:`CFLAGS` should not contain:" -msgstr "" +msgstr "Em particular, :envvar:`CFLAGS` não deve conter:" -#: ../../using/configure.rst:769 +#: ../../using/configure.rst:777 msgid "" "the compiler flag ``-I`` (for setting the search path for include files). " -"The ``-I`` flags are processed from left to right, and any flags in :envvar:" -"`CFLAGS` would take precedence over user- and package-supplied ``-I`` flags." +"The ``-I`` flags are processed from left to right, and any flags " +"in :envvar:`CFLAGS` would take precedence over user- and package-supplied ``-" +"I`` flags." msgstr "" +"o sinalizador do compilador ``-I`` (para definir o caminho de pesquisa para " +"arquivos incluídos). Os sinalizadores ``-I`` são processadas da esquerda " +"para a direita, e quaisquer sinalizadores em :envvar:`CFLAGS` terão " +"precedência sobre os sinalizadores ``-I`` fornecidos pelo usuário e pelo " +"pacote." -#: ../../using/configure.rst:774 +#: ../../using/configure.rst:782 msgid "" "hardening flags such as ``-Werror`` because distributions cannot control " "whether packages installed by users conform to such heightened standards." msgstr "" +"sinalizadores de segurança como ``-Werror`` porque as distribuições não " +"podem controlar se os pacotes instalados pelos usuários estão em " +"conformidade com esses padrões elevados." -#: ../../using/configure.rst:782 +#: ../../using/configure.rst:790 msgid "Extra C compiler flags." -msgstr "" +msgstr "Sinalizadores extra do compilador C." -#: ../../using/configure.rst:786 +#: ../../using/configure.rst:794 msgid "" "Value of :envvar:`CFLAGS` variable passed to the ``./configure`` script." msgstr "" +"Valor da variável :envvar:`CFLAGS` passado para o script ``./configure``." -#: ../../using/configure.rst:793 +#: ../../using/configure.rst:801 msgid "" "Value of :envvar:`CFLAGS_NODIST` variable passed to the ``./configure`` " "script." msgstr "" +"Valor da variável :envvar:`CFLAGS_NODIST` passado para o script ``./" +"configure``." -#: ../../using/configure.rst:800 +#: ../../using/configure.rst:808 msgid "Base compiler flags." -msgstr "" +msgstr "Sinalizadores base do compilador." -#: ../../using/configure.rst:804 +#: ../../using/configure.rst:812 msgid "Optimization flags." -msgstr "" +msgstr "Sinalizadores de otimização." -#: ../../using/configure.rst:808 +#: ../../using/configure.rst:816 msgid "Strict or non-strict aliasing flags used to compile ``Python/dtoa.c``." msgstr "" +"Sinalizadores de alias estritos ou não estritos usados para compilar " +"``Python/dtoa.c``." -#: ../../using/configure.rst:814 +#: ../../using/configure.rst:822 msgid "Compiler flags used to build a shared library." msgstr "" +"Sinalizadores de compilador usados para construir uma biblioteca " +"compartilhada." -#: ../../using/configure.rst:816 +#: ../../using/configure.rst:824 msgid "For example, ``-fPIC`` is used on Linux and on BSD." -msgstr "" +msgstr "Por exemplo, ``-fPIC`` é usado no Linux e no BSD." -#: ../../using/configure.rst:820 +#: ../../using/configure.rst:828 msgid "Extra C flags added for building the interpreter object files." msgstr "" +"Sinalizadores extras de C adicionados para construir os arquivos de objeto " +"do interpretador." -#: ../../using/configure.rst:822 +#: ../../using/configure.rst:830 msgid "" "Default: ``$(CCSHARED)`` when :option:`--enable-shared` is used, or an empty " "string otherwise." msgstr "" +"Padrão: ``$(CCSHARED)`` quando :option:`--enable-shared` é usado, ou uma " +"string vazia caso contrário." -#: ../../using/configure.rst:827 +#: ../../using/configure.rst:835 msgid "" -"Default: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) " -"$(EXTRA_CFLAGS)``." +"Default: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) $" +"(EXTRA_CFLAGS)``." msgstr "" +"Padrão: ``$(BASECFLAGS) $(OPT) $(CONFIGURE_CFLAGS) $(CFLAGS) $" +"(EXTRA_CFLAGS)``." -#: ../../using/configure.rst:831 +#: ../../using/configure.rst:839 msgid "" "Default: ``$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) -I$(srcdir)/Include/" "internal``." msgstr "" +"Padrão: ``$(CONFIGURE_CFLAGS_NODIST) $(CFLAGS_NODIST) -I$(srcdir)/Include/" +"internal``." -#: ../../using/configure.rst:837 +#: ../../using/configure.rst:845 msgid "C flags used for building the interpreter object files." msgstr "" +"Sinalizadores do C usados para construir os arquivos de objeto do " +"interpretador." -#: ../../using/configure.rst:839 +#: ../../using/configure.rst:847 msgid "" -"Default: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) " -"$(CFLAGSFORSHARED)``." +"Default: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $" +"(CFLAGSFORSHARED)``." msgstr "" +"Padrão: ``$(PY_CFLAGS) $(PY_CFLAGS_NODIST) $(PY_CPPFLAGS) $" +"(CFLAGSFORSHARED)``." -#: ../../using/configure.rst:845 +#: ../../using/configure.rst:853 msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE``." -msgstr "" +msgstr "Padrão: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE``." -#: ../../using/configure.rst:851 +#: ../../using/configure.rst:859 msgid "" "Compiler flags to build a standard library extension module as a built-in " "module, like the :mod:`posix` module." msgstr "" +"Sinalizadores do compilador para construir um módulo de extensão de " +"biblioteca padrão como um módulo embutido, como o módulo :mod:`posix`." -#: ../../using/configure.rst:854 +#: ../../using/configure.rst:862 msgid "Default: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN``." -msgstr "" +msgstr "Padrão: ``$(PY_STDMODULE_CFLAGS) -DPy_BUILD_CORE_BUILTIN``." -#: ../../using/configure.rst:860 +#: ../../using/configure.rst:868 msgid "Purify command. Purify is a memory debugger program." -msgstr "" +msgstr "Comando de Purify. Purify é um programa depurador de memória." -#: ../../using/configure.rst:862 +#: ../../using/configure.rst:870 msgid "Default: empty string (not used)." -msgstr "" +msgstr "Padrão: string vazia (não usada)." -#: ../../using/configure.rst:866 +#: ../../using/configure.rst:874 msgid "Linker flags" -msgstr "" +msgstr "Sinalizadores do vinculador" -#: ../../using/configure.rst:870 +#: ../../using/configure.rst:878 msgid "" "Linker command used to build programs like ``python`` and ``_testembed``." msgstr "" +"Comando do vinculador usado para construir programas como ``python`` e " +"``_testembed``." -#: ../../using/configure.rst:872 +#: ../../using/configure.rst:880 msgid "Default: ``$(PURIFY) $(MAINCC)``." msgstr "" -#: ../../using/configure.rst:876 +#: ../../using/configure.rst:884 msgid "" "Value of :envvar:`LDFLAGS` variable passed to the ``./configure`` script." msgstr "" +"Valor da variável :envvar:`LDFLAGS` passado para o script ``./configure``." -#: ../../using/configure.rst:878 +#: ../../using/configure.rst:886 msgid "" "Avoid assigning :envvar:`CFLAGS`, :envvar:`LDFLAGS`, etc. so users can use " "them on the command line to append to these values without stomping the pre-" "set values." msgstr "" +"Evite atribuir :envvar:`CFLAGS`, :envvar:`LDFLAGS`, etc. para que os " +"usuários possam usá-los na linha de comando para anexar a esses valores sem " +"pisotear os valores predefinidos." -#: ../../using/configure.rst:886 +#: ../../using/configure.rst:894 msgid "" -":envvar:`LDFLAGS_NODIST` is used in the same manner as :envvar:" -"`CFLAGS_NODIST`. Use it when a linker flag should *not* be part of the " -"distutils :envvar:`LDFLAGS` once Python is installed (:issue:`35257`)." +":envvar:`LDFLAGS_NODIST` is used in the same manner " +"as :envvar:`CFLAGS_NODIST`. Use it when a linker flag should *not* be part " +"of the distutils :envvar:`LDFLAGS` once Python is installed (:issue:`35257`)." msgstr "" -#: ../../using/configure.rst:890 +#: ../../using/configure.rst:898 msgid "In particular, :envvar:`LDFLAGS` should not contain:" -msgstr "" +msgstr "Em particular, :envvar:`LDFLAGS` não deve conter:" -#: ../../using/configure.rst:892 +#: ../../using/configure.rst:900 msgid "" "the compiler flag ``-L`` (for setting the search path for libraries). The ``-" -"L`` flags are processed from left to right, and any flags in :envvar:" -"`LDFLAGS` would take precedence over user- and package-supplied ``-L`` flags." +"L`` flags are processed from left to right, and any flags " +"in :envvar:`LDFLAGS` would take precedence over user- and package-supplied " +"``-L`` flags." msgstr "" +"o sinalizador do compilador ``-L`` (para definir o caminho de pesquisa para " +"arquivos incluídos). Os sinalizadores ``-L`` são processadas da esquerda " +"para a direita, e quaisquer sinalizadores em :envvar:`LDFLAGS` terão " +"precedência sobre os sinalizadores ``-L`` fornecidos pelo usuário e pelo " +"pacote." -#: ../../using/configure.rst:899 +#: ../../using/configure.rst:907 msgid "" "Value of :envvar:`LDFLAGS_NODIST` variable passed to the ``./configure`` " "script." msgstr "" +"Valor da variável :envvar:`LDFLAGS_NODIST` passado para o script ``./" +"configure``." -#: ../../using/configure.rst:906 +#: ../../using/configure.rst:914 msgid "" -"Linker flags, e.g. ``-L`` if you have libraries in a nonstandard " -"directory ````." +"Linker flags, e.g. :samp:`-L{lib_dir}` if you have libraries in a " +"nonstandard directory *lib_dir*." msgstr "" +"Sinalizadores do vinculador, p.ex. :samp:`-L{lib_dir}`, se você tiver " +"bibliotecas em um diretório não padrão *lib_dir*." -#: ../../using/configure.rst:915 +#: ../../using/configure.rst:923 msgid "" "Linker flags to pass libraries to the linker when linking the Python " "executable." msgstr "" +"Sinalizadores do vinculador para passar bibliotecas para o vinculador ao " +"vincular o executável Python." -#: ../../using/configure.rst:918 +#: ../../using/configure.rst:926 msgid "Example: ``-lrt``." -msgstr "" +msgstr "Exemplo: ``-lrt``." -#: ../../using/configure.rst:922 +#: ../../using/configure.rst:930 msgid "Command to build a shared library." -msgstr "" +msgstr "Comando para construir uma biblioteca compartilhada." -#: ../../using/configure.rst:924 +#: ../../using/configure.rst:932 msgid "Default: ``@LDSHARED@ $(PY_LDFLAGS)``." -msgstr "" +msgstr "Padrão: ``@LDSHARED@ $(PY_LDFLAGS)``." -#: ../../using/configure.rst:928 +#: ../../using/configure.rst:936 msgid "Command to build ``libpython`` shared library." -msgstr "" +msgstr "Comando para construir a biblioteca compartilhada ``libpython``." -#: ../../using/configure.rst:930 +#: ../../using/configure.rst:938 msgid "Default: ``@BLDSHARED@ $(PY_CORE_LDFLAGS)``." -msgstr "" +msgstr "Padrão: ``@BLDSHARED@ $(PY_CORE_LDFLAGS)``." -#: ../../using/configure.rst:934 +#: ../../using/configure.rst:942 msgid "Default: ``$(CONFIGURE_LDFLAGS) $(LDFLAGS)``." -msgstr "" +msgstr "Padrão: ``$(CONFIGURE_LDFLAGS) $(LDFLAGS)``." -#: ../../using/configure.rst:938 +#: ../../using/configure.rst:946 msgid "Default: ``$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)``." -msgstr "" +msgstr "Padrão: ``$(CONFIGURE_LDFLAGS_NODIST) $(LDFLAGS_NODIST)``." -#: ../../using/configure.rst:944 +#: ../../using/configure.rst:952 msgid "Linker flags used for building the interpreter object files." msgstr "" +"Sinalizadores de vinculador usados para construir os arquivos de objeto do " +"interpretador." diff --git a/using/editors.po b/using/editors.po index b5b2d4949..272dfc1cb 100644 --- a/using/editors.po +++ b/using/editors.po @@ -1,27 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hildeberto Abreu Magalhães , 2021 -# Claudio Rogerio Carvalho Filho , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,9 +33,9 @@ msgid "" "editors and IDEs provide syntax highlighting, debugging tools, and :pep:`8` " "checks." msgstr "" -"Há um grande número de IDEs que suportam a linguagem de programação Python. " -"Vários editores e IDEs provêem destaques coloridos de sintaxe, ferramentas " -"de depuração, e checagem do código frente à :pep:`8`." +"Há um grande número de IDEs com suporte à linguagem de programação Python. " +"Vários editores e IDEs provêm destaques coloridos de sintaxe, ferramentas de " +"depuração, e checagem do código conforme a :pep:`8`." #: ../../using/editors.rst:12 msgid "" @@ -46,6 +44,6 @@ msgid "" "IntegratedDevelopmentEnvironments>`_ for a comprehensive list." msgstr "" "Por favor, vá para `Python Editors `_ and `Integrated Development Environments `_ para obter uma lista " -"completa." +"PythonEditors>`_ and `Integrated Development Environments `_ para obter uma " +"lista completa." diff --git a/using/index.po b/using/index.po index 92edbcab3..7ab47f53f 100644 --- a/using/index.po +++ b/using/index.po @@ -1,25 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" diff --git a/using/mac.po b/using/mac.po index 29fb89cac..38eff7e6b 100644 --- a/using/mac.po +++ b/using/mac.po @@ -1,26 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -40,91 +39,96 @@ msgstr "Bob Savage " msgid "" "Python on a Mac running macOS is in principle very similar to Python on any " "other Unix platform, but there are a number of additional features such as " -"the IDE and the Package Manager that are worth pointing out." +"the integrated development environment (IDE) and the Package Manager that " +"are worth pointing out." msgstr "" "O Python em um Mac executando o macOS é, em princípio, muito semelhante ao " "Python em qualquer outra plataforma Unix, mas há vários recursos adicionais, " -"como o IDE e o Gerenciador de Pacotes, que merecem destaque." +"como o ambiente integrado de desenvolvimento (IDE) e o Gerenciador de " +"Pacotes, que merecem destaque." -#: ../../using/mac.rst:18 -msgid "Getting and Installing MacPython" -msgstr "Obtendo e instalando MacPython" +#: ../../using/mac.rst:21 +msgid "Getting and Installing Python" +msgstr "Obtendo e instalando o Python" -#: ../../using/mac.rst:20 +#: ../../using/mac.rst:23 msgid "" "macOS used to come with Python 2.7 pre-installed between versions 10.8 and " "`12.3 `_. You are invited to install the most " -"recent version of Python 3 from the Python website (https://www.python." -"org). A current \"universal binary\" build of Python, which runs natively " -"on the Mac's new Intel and legacy PPC CPU's, is available there." +"recent version of Python 3 from the `Python website `__. A current \"universal2 binary\" build of Python, which " +"runs natively on the Mac's new Apple Silicon and legacy Intel processors, is " +"available there." msgstr "" "O macOS costumava vir com o Python 2.7 pré-instalado entre as versões 10.8 e " "`12.3 `_. Convidamos você a instalar a versão mais " -"recente do Python 3 no site oficial (https://www.python.org). Uma versão " -"atual do \"binário universal\" do Python, que funciona nativamente nas novas " -"CPUs Intel e PPC herdadas do Mac, está disponível lá." +"recente do Python 3 no `site do Python `__.. Uma versão atual do \"binário universal2\" do Python, que " +"funciona nativamente nos novos processadores Apple Silicon e nos legados " +"Intel do Mac, está disponível lá." -#: ../../using/mac.rst:27 +#: ../../using/mac.rst:30 msgid "What you get after installing is a number of things:" msgstr "O que você obtém após a instalação é uma série de coisas:" -#: ../../using/mac.rst:29 +#: ../../using/mac.rst:32 msgid "" -"A :file:`Python 3.12` folder in your :file:`Applications` folder. In here " -"you find IDLE, the development environment that is a standard part of " -"official Python distributions; and PythonLauncher, which handles double-" -"clicking Python scripts from the Finder." +"A |python_version_literal| folder in your :file:`Applications` folder. In " +"here you find 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 Finder." msgstr "" -"A pasta :file:`Python 3.12` na sua pasta :file:`Applications`. Aqui você " -"encontra o IDLE, o ambiente de desenvolvimento que é parte padrão das " -"distribuições oficiais do Python; e PythonLauncher, que lida com scripts de " -"Python clicando duas vezes no Finder." +"A pasta |python_version_literal| na sua pasta :file:`Applications`. Aqui " +"você encontra o IDLE, o ambiente de desenvolvimento que é parte padrão das " +"distribuições oficiais do Python; e :program:`Python Launcher`, que lida com " +"scripts de Python clicando duas vezes no Finder." -#: ../../using/mac.rst:34 +#: ../../using/mac.rst:37 msgid "" "A framework :file:`/Library/Frameworks/Python.framework`, which includes the " "Python executable and libraries. The installer adds this location to your " -"shell path. To uninstall MacPython, you can simply remove these three " -"things. A symlink to the Python executable is placed in /usr/local/bin/." +"shell path. To uninstall Python, you can remove these three things. A " +"symlink to the Python executable is placed in :file:`/usr/local/bin/`." msgstr "" "Um framework :file:`/Library/Frameworks/Python.framework`, que inclui o " "executável e as bibliotecas do Python. O instalador adiciona esse local ao " -"seu caminho do console. Para desinstalar o MacPython, você pode simplesmente " -"remover essas três coisas. Um link simbólico para o executável Python é " -"colocado em /usr/local/bin/." +"seu caminho do console. Para desinstalar o Python, você pode remover essas " +"três coisas. Um link simbólico para o executável Python é colocado " +"em :file:`/usr/local/bin/`." -#: ../../using/mac.rst:39 +#: ../../using/mac.rst:44 msgid "" -"The Apple-provided build of Python is installed in :file:`/System/Library/" -"Frameworks/Python.framework` and :file:`/usr/bin/python`, respectively. You " -"should never modify or delete these, as they are Apple-controlled and are " -"used by Apple- or third-party software. Remember that if you choose to " -"install a newer Python version from python.org, you will have two different " -"but functional Python installations on your computer, so it will be " -"important that your paths and usages are consistent with what you want to do." +"On macOS 10.8-12.3, the Apple-provided build of Python is installed " +"in :file:`/System/Library/Frameworks/Python.framework` and :file:`/usr/bin/" +"python`, respectively. You should never modify or delete these, as they are " +"Apple-controlled and are used by Apple- or third-party software. Remember " +"that if you choose to install a newer Python version from python.org, you " +"will have two different but functional Python installations on your " +"computer, so it will be important that your paths and usages are consistent " +"with what you want to do." msgstr "" -"A compilação do Python fornecida pela Apple é instalada em :file:`/System/" -"Library/Frameworks/Python.framework` e :file:`/usr/bin/python`, " -"respectivamente. Você nunca deve modificá-las ou excluí-las, pois elas são " -"controladas pela Apple e são usadas por software da Apple ou de terceiros. " -"Lembre-se de que, se você optar por instalar uma versão mais recente do " -"Python a partir do python.org, terá duas instalações Python diferentes, mas " -"funcionais, no seu computador, por isso será importante que seus caminhos e " -"usos sejam consistentes com o que você deseja fazer." - -#: ../../using/mac.rst:47 +"No macOS da versão 10.8 ao 12.3, a construção do Python fornecido pela Apple " +"é instalada em :file:`/System/Library/Frameworks/Python.framework` e :file:`/" +"usr/bin/python`, respectivamente. Você nunca deve modificá-las ou excluí-" +"las, pois elas são controladas pela Apple e são usadas por software da Apple " +"ou de terceiros. Lembre-se de que, se você optar por instalar uma versão " +"mais recente do Python a partir do python.org, terá duas instalações Python " +"diferentes, mas funcionais, no seu computador, por isso será importante que " +"seus caminhos e usos sejam consistentes com o que você deseja fazer." + +#: ../../using/mac.rst:52 msgid "" -"IDLE includes a help menu that allows you to access Python documentation. If " +"IDLE includes a Help menu that allows you to access Python documentation. If " "you are completely new to Python you should start reading the tutorial " "introduction in that document." msgstr "" -"O IDLE inclui um menu de ajuda que permite acessar a documentação do Python. " -"Se você é completamente novo no Python, comece a ler a introdução do " +"O IDLE inclui um menu Help (de ajuda) que permite acessar a documentação do " +"Python. Se você é completamente novo no Python, comece a ler a introdução do " "tutorial nesse documento." -#: ../../using/mac.rst:51 +#: ../../using/mac.rst:56 msgid "" "If you are familiar with Python on other Unix platforms you should read the " "section on running Python scripts from the Unix shell." @@ -132,43 +136,43 @@ msgstr "" "Se você está familiarizado com o Python em outras plataformas Unix, leia a " "seção sobre a execução de scripts Python no shell do Unix." -#: ../../using/mac.rst:56 +#: ../../using/mac.rst:61 msgid "How to run a Python script" msgstr "Como executar um script Python" -#: ../../using/mac.rst:58 +#: ../../using/mac.rst:63 msgid "" "Your best way to get started with Python on macOS is through the IDLE " -"integrated development environment, see section :ref:`ide` and use the Help " +"integrated development environment; see section :ref:`ide` and use the Help " "menu when the IDE is running." msgstr "" "A melhor maneira de você começar o uso do Python no macOS é através do " -"ambiente de desenvolvimento integrado IDLE, consulte a seção :ref:`ide` e " +"ambiente de desenvolvimento integrado IDLE. Consulte a seção :ref:`ide` e " "use o menu Help quando o IDE estiver em execução." -#: ../../using/mac.rst:62 +#: ../../using/mac.rst:67 msgid "" "If you want to run Python scripts from the Terminal window command line or " "from the Finder you first need an editor to create your script. macOS comes " -"with a number of standard Unix command line editors, :program:`vim` and :" -"program:`emacs` among them. If you want a more Mac-like editor, :program:" -"`BBEdit` or :program:`TextWrangler` from Bare Bones Software (see http://www." -"barebones.com/products/bbedit/index.html) are good choices, as is :program:" -"`TextMate` (see https://macromates.com/). Other editors include :program:" -"`Gvim` (https://macvim.org/macvim/) and :program:`Aquamacs` (http://aquamacs." -"org/)." +"with a number of standard Unix command line " +"editors, :program:`vim` :program:`nano` among them. If you want a more Mac-" +"like editor, :program:`BBEdit` from Bare Bones Software (see https://" +"www.barebones.com/products/bbedit/index.html) are good choices, as " +"is :program:`TextMate` (see https://macromates.com). Other editors " +"include :program:`MacVim` (https://macvim.org) and :program:`Aquamacs` " +"(https://aquamacs.org)." msgstr "" "Se você deseja executar scripts Python na linha de comando da janela " "Terminal ou no Finder, primeiro precisa de um editor para criar seu script. " "O macOS vem com vários editores de linha de comando padrão do Unix, entre os " -"quais :program:`vim` e :program:`emacs`. Se você deseja um editor mais ao " -"estilo do Mac, :program:`BBEdit` ou :program:`TextWrangler` da Bare Bones " -"Software (consulte http://www.barebones.com/products/bbedit/index.html) são " -"boas escolhas , como é :program:`TextMate` (consulte https://macromates." -"com/). Outros editores incluem :program:`Gvim` (https://macvim.org/macvim/) " -"e :program:`Aquamacs` (http://aquamacs.org/)." - -#: ../../using/mac.rst:72 +"quais :program:`vim` e :program:`nano`. Se você deseja um editor mais ao " +"estilo do Mac, :program:`BBEdit` da Bare Bones Software (consulte https://" +"www.barebones.com/products/bbedit/index.html) são boas escolhas , como " +"é :program:`TextMate` (consulte https://macromates.com). Outros editores " +"incluem :program:`MacVim` (https://macvim.org) e :program:`Aquamacs` " +"(https://aquamacs.org)." + +#: ../../using/mac.rst:77 msgid "" "To run your script from the Terminal window you must make sure that :file:`/" "usr/local/bin` is in your shell search path." @@ -177,128 +181,116 @@ msgstr "" "certificar de que :file:`/usr/local/bin` esteja no seu caminho de pesquisa " "do shell." -#: ../../using/mac.rst:75 +#: ../../using/mac.rst:80 msgid "To run your script from the Finder you have two options:" msgstr "Para executar seu script no Finder, você tem duas opções:" -#: ../../using/mac.rst:77 -msgid "Drag it to :program:`PythonLauncher`" -msgstr "Arrastá-lo para o :program:`PythonLauncher`" +#: ../../using/mac.rst:82 +msgid "Drag it to :program:`Python Launcher`." +msgstr "Arrastá-lo para o :program:`Python Launcher`." -#: ../../using/mac.rst:79 +#: ../../using/mac.rst:84 msgid "" -"Select :program:`PythonLauncher` as the default application to open your " -"script (or any .py script) through the finder Info window and double-click " -"it. :program:`PythonLauncher` has various preferences to control how your " -"script is launched. Option-dragging allows you to change these for one " +"Select :program:`Python Launcher` as the default application to open your " +"script (or any ``.py`` script) through the finder Info window and double-" +"click it. :program:`Python Launcher` has various preferences to control how " +"your script is launched. Option-dragging allows you to change these for one " "invocation, or use its Preferences menu to change things globally." msgstr "" -"Selecionar :program:`PythonLauncher` como aplicação padrão para abrir seu " -"script (ou qualquer script .py) através da janela de Informações do Finder e " -"clique duas vezes nele. :program:`PythonLauncher` possui várias preferências " -"para controlar como o script é iniciado. Arrastar com opções permite alterar " -"esses itens para uma chamada ou usar o menu Preferências para alterar as " -"coisas globalmente." - -#: ../../using/mac.rst:89 +"Selecionar :program:`Python Launcher` como aplicação padrão para abrir seu " +"script (ou qualquer script ``.py``) através da janela de Informações do " +"Finder e clique duas vezes nele. :program:`Python Launcher` tem várias " +"preferências para controlar como o script é iniciado. Arrastar com opções " +"permite alterar esses itens para uma chamada ou usar o menu Preferências " +"para alterar as coisas globalmente." + +#: ../../using/mac.rst:94 msgid "Running scripts with a GUI" msgstr "Executando scripts como uma GUI" -#: ../../using/mac.rst:91 +#: ../../using/mac.rst:96 msgid "" "With older versions of Python, there is one macOS quirk that you need to be " "aware of: programs that talk to the Aqua window manager (in other words, " -"anything that has a GUI) need to be run in a special way. Use :program:" -"`pythonw` instead of :program:`python` to start such scripts." +"anything that has a GUI) need to be run in a special way. " +"Use :program:`pythonw` instead of :program:`python` to start such scripts." msgstr "" "Nas versões mais antigas do Python, há uma peculiaridade do macOS que você " "precisa conhecer: os programas que conversam com o gerenciador de janelas " "Aqua (em outras palavras, qualquer coisa que tenha uma GUI) precisam ser " -"executados de uma maneira especial. Use :program:`pythonw` em vez de :" -"program:`python` para iniciar esses scripts." +"executados de uma maneira especial. Use :program:`pythonw` em vez " +"de :program:`python` para iniciar esses scripts." -#: ../../using/mac.rst:96 +#: ../../using/mac.rst:101 msgid "" "With Python 3.9, you can use either :program:`python` or :program:`pythonw`." msgstr "" "Com o Python 3.9, você pode usar :program:`python` ou :program:`pythonw`." -#: ../../using/mac.rst:100 +#: ../../using/mac.rst:105 msgid "Configuration" msgstr "Configuração" -#: ../../using/mac.rst:102 +#: ../../using/mac.rst:107 msgid "" -"Python on macOS honors all standard Unix environment variables such as :" -"envvar:`PYTHONPATH`, but setting these variables for programs started from " -"the Finder is non-standard as the Finder does not read your :file:`.profile` " -"or :file:`.cshrc` at startup. You need to create a file :file:`~/.MacOSX/" -"environment.plist`. See Apple's Technical Document QA1067 for details." +"Python on macOS honors all standard Unix environment variables such " +"as :envvar:`PYTHONPATH`, but setting these variables for programs started " +"from the Finder is non-standard as the Finder does not read " +"your :file:`.profile` or :file:`.cshrc` at startup. You need to create a " +"file :file:`~/.MacOSX/environment.plist`. See Apple's `Technical Q&A QA1067 " +"`__ for " +"details." msgstr "" -"O Python no macOS honra todas as variáveis de ambiente padrão do Unix, como :" -"envvar:`PYTHONPATH`, mas definir essas variáveis para programas iniciados no " -"Finder não é padrão, pois o Finder não lê o seu :file:`.profile` ou :file:`." -"cshrc` na inicialização. Você precisa criar um arquivo :file:`~/.MacOSX/" -"environment.plist`. Consulte o Documento Técnico da Apple QA1067 para obter " -"detalhes." - -#: ../../using/mac.rst:109 +"O Python no macOS honra todas as variáveis de ambiente padrão do Unix, " +"como :envvar:`PYTHONPATH`, mas definir essas variáveis para programas " +"iniciados no Finder não é padrão, pois o Finder não lê o " +"seu :file:`.profile` ou :file:`.cshrc` na inicialização. Você precisa criar " +"um arquivo :file:`~/.MacOSX/environment.plist`. Consulte o `Technical Q&A " +"QA1067 `__ para obter detalhes." + +#: ../../using/mac.rst:115 msgid "" -"For more information on installation Python packages in MacPython, see " -"section :ref:`mac-package-manager`." +"For more information on installation Python packages, see section :ref:`mac-" +"package-manager`." msgstr "" -"Para obter mais informações sobre a instalação de pacotes Python no " -"MacPython, consulte a seção :ref:`mac-package-manager`." +"Para obter mais informações sobre a instalação de pacotes Python, consulte a " +"seção :ref:`mac-package-manager`." -#: ../../using/mac.rst:116 +#: ../../using/mac.rst:122 msgid "The IDE" msgstr "A IDE" -#: ../../using/mac.rst:118 +#: ../../using/mac.rst:124 msgid "" -"MacPython ships with the standard IDLE development environment. A good " -"introduction to using IDLE can be found at http://www.hashcollision.org/hkn/" +"Python ships with the standard IDLE development environment. A good " +"introduction to using IDLE can be found at https://www.hashcollision.org/hkn/" "python/idle_intro/index.html." msgstr "" -"O MacPython é fornecido com o ambiente de desenvolvimento IDLE padrão. Uma " -"boa introdução ao uso do IDLE pode ser encontrada em http://www." -"hashcollision.org/hkn/python/idle_intro/index.html." +"O Python é fornecido com o ambiente de desenvolvimento IDLE padrão. Uma boa " +"introdução ao uso do IDLE pode ser encontrada em https://" +"www.hashcollision.org/hkn/python/idle_intro/index.html." -#: ../../using/mac.rst:126 +#: ../../using/mac.rst:132 msgid "Installing Additional Python Packages" msgstr "Instalando pacotes adicionais ao python" -#: ../../using/mac.rst:128 -msgid "There are several methods to install additional Python packages:" -msgstr "Existem vários métodos para instalar pacotes Python adicionais:" - -#: ../../using/mac.rst:130 -msgid "" -"Packages can be installed via the standard Python distutils mode (``python " -"setup.py install``)." -msgstr "" -"Os pacotes podem ser instalados através do modo distutils padrão do Python " -"(``python setup.py install``)." - -#: ../../using/mac.rst:133 -msgid "" -"Many packages can also be installed via the :program:`setuptools` extension " -"or :program:`pip` wrapper, see https://pip.pypa.io/." +#: ../../using/mac.rst:134 +msgid "This section has moved to the `Python Packaging User Guide`_." msgstr "" -"Muitos pacotes também podem ser instalados através da extensão :program:" -"`setuptools` ou do wrapper :program:`pip`. Consulte https://pip.pypa.io/." +"Esta seção foi movida para o `Guia de Usuário para Empacotamento de Python`_." -#: ../../using/mac.rst:138 -msgid "GUI Programming on the Mac" -msgstr "Programação de GUI no Mac" +#: ../../using/mac.rst:142 +msgid "GUI Programming" +msgstr "Programação de GUI" -#: ../../using/mac.rst:140 +#: ../../using/mac.rst:144 msgid "" "There are several options for building GUI applications on the Mac with " "Python." msgstr "Existem várias opções para criar aplicações GUI no Mac com Python." -#: ../../using/mac.rst:142 +#: ../../using/mac.rst:146 msgid "" "*PyObjC* is a Python binding to Apple's Objective-C/Cocoa framework, which " "is the foundation of most modern Mac development. Information on PyObjC is " @@ -308,7 +300,7 @@ msgstr "" "Apple, que é a base do desenvolvimento mais moderno do Mac. Informações " "sobre PyObjC estão disponíveis em https://pypi.org/project/pyobjc/." -#: ../../using/mac.rst:146 +#: ../../using/mac.rst:150 msgid "" "The standard Python GUI toolkit is :mod:`tkinter`, based on the cross-" "platform Tk toolkit (https://www.tcl.tk). An Aqua-native version of Tk is " @@ -321,60 +313,113 @@ msgstr "" "recente pode ser baixada e instalada em https://www.activestate.com; também " "pode ser construído a partir do código-fonte." -#: ../../using/mac.rst:151 -msgid "" -"*wxPython* is another popular cross-platform GUI toolkit that runs natively " -"on macOS. Packages and documentation are available from https://www.wxpython." -"org." +#: ../../using/mac.rst:155 +msgid "A number of alternative macOS GUI toolkits are available:" msgstr "" -"*wxPython* é outro popular kit de ferramentas de GUI multiplataforma que " -"funciona nativamente no macOS. Pacotes e documentação estão disponíveis em " -"https://www.wxpython.org." +"Vários kits de ferramentas alternativos da GUI do macOS estão disponíveis:" -#: ../../using/mac.rst:154 +#: ../../using/mac.rst:157 msgid "" -"*PyQt* is another popular cross-platform GUI toolkit that runs natively on " -"macOS. More information can be found at https://riverbankcomputing.com/" -"software/pyqt/intro." +"`PySide `__: Official Python bindings to " +"the `Qt GUI toolkit `__." msgstr "" -"*PyQt* é outro popular kit de ferramentas de GUI multiplataforma que " -"funciona nativamente no macOS. Mais informações podem ser encontradas em " -"https://riverbankcomputing.com/software/pyqt/intro." +"`PySide `__: Ligações oficiais do Python ao " +"`Qt GUI toolkit `__." #: ../../using/mac.rst:160 -msgid "Distributing Python Applications on the Mac" -msgstr "Distribuindo aplicações Python no Mac" +msgid "" +"`PyQt `__: Alternative " +"Python bindings to Qt." +msgstr "" +"`PyQt `__: Ligações " +"alternativas do Python ao Qt." + +#: ../../using/mac.rst:163 +msgid "" +"`Kivy `__: A cross-platform GUI toolkit that supports " +"desktop and mobile platforms." +msgstr "" +"`Kivy `__: Um kit de ferramentas GUI multiplataforma que " +"oferece suporte a plataformas desktop e móveis." + +#: ../../using/mac.rst:166 +msgid "" +"`Toga `__: Part of the `BeeWare Project " +"`__; supports desktop, mobile, web and console apps." +msgstr "" +"`Toga `__: Parte do `Projeto BeeWare `__; oferece suporte a aplicativos de desktop, dispositivos " +"móveis, web e console." + +#: ../../using/mac.rst:169 +msgid "" +"`wxPython `__: A cross-platform toolkit that " +"supports desktop operating systems." +msgstr "" +"`wxPython `__: Um kit de ferramentas " +"multiplataforma que oferece suporte a sistemas operacionais de desktop." + +#: ../../using/mac.rst:175 +msgid "Distributing Python Applications" +msgstr "Distribuindo aplicações Python" + +#: ../../using/mac.rst:177 +msgid "" +"A range of tools exist for converting your Python code into a standalone " +"distributable application:" +msgstr "" +"Existe uma variedade de ferramentas para converter seu código Python em uma " +"aplicação distribuível independente:" + +#: ../../using/mac.rst:180 +msgid "" +"`py2app `__: Supports creating macOS " +"``.app`` bundles from a Python project." +msgstr "" +"`py2app `__: Suporta a criação de pacotes " +"``.app`` do macOS a partir de um projeto Python." -#: ../../using/mac.rst:162 +#: ../../using/mac.rst:183 msgid "" -"The standard tool for deploying standalone Python applications on the Mac " -"is :program:`py2app`. More information on installing and using py2app can be " -"found at https://pypi.org/project/py2app/." +"`Briefcase `__: Part of the `BeeWare " +"Project `__; a cross-platform packaging tool that " +"supports creation of ``.app`` bundles on macOS, as well as managing signing " +"and notarization." msgstr "" -"A ferramenta padrão para implantar aplicações Python independentes no Mac é :" -"program:`py2app`. Mais informações sobre a instalação e o uso do py2app " -"podem ser encontradas em https://pypi.org/project/py2app/." +"`Briefcase `__: Parte do `Projeto BeeWare " +"`__; uma ferramenta de empacotamento multiplataforma " +"que suporta a criação de pacotes ``.app`` no macOS, bem como o gerenciamento " +"de assinatura e reconhecimento de firma." -#: ../../using/mac.rst:168 +#: ../../using/mac.rst:188 +msgid "" +"`PyInstaller `__: A cross-platform packaging tool " +"that creates a single file or folder as a distributable artifact." +msgstr "" +"`PyInstaller `__: Uma ferramenta de empacotamento " +"multiplataforma que cria um único arquivo ou pasta como um artefato " +"distribuível." + +#: ../../using/mac.rst:192 msgid "Other Resources" msgstr "Outros recursos" -#: ../../using/mac.rst:170 +#: ../../using/mac.rst:194 msgid "" -"The MacPython mailing list is an excellent support resource for Python users " -"and developers on the Mac:" +"The Pythonmac-SIG mailing list is an excellent support resource for Python " +"users and developers on the Mac:" msgstr "" -"A lista de discussão do MacPython é um excelente recurso de suporte para " +"A lista de discussão do Pythonmac-SIG é um excelente recurso de suporte para " "usuários e desenvolvedores de Python no Mac:" -#: ../../using/mac.rst:173 +#: ../../using/mac.rst:197 msgid "https://www.python.org/community/sigs/current/pythonmac-sig/" msgstr "https://www.python.org/community/sigs/current/pythonmac-sig/" -#: ../../using/mac.rst:175 +#: ../../using/mac.rst:199 msgid "Another useful resource is the MacPython wiki:" msgstr "Outro recurso útil é o wiki do MacPython:" -#: ../../using/mac.rst:177 +#: ../../using/mac.rst:201 msgid "https://wiki.python.org/moin/MacPython" msgstr "https://wiki.python.org/moin/MacPython" diff --git a/using/unix.po b/using/unix.po index 901f069a3..0d72afc65 100644 --- a/using/unix.po +++ b/using/unix.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Welington Carlos , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-21 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -80,19 +76,19 @@ msgstr "para usuários OpenSuse" #: ../../using/unix.rst:33 msgid "" -"https://docs-old.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/" -"RPM_Guide/ch-creating-rpms.html" +"https://docs.fedoraproject.org/en-US/package-maintainers/" +"Packaging_Tutorial_GNU_Hello/" msgstr "" -"https://docs-old.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/" -"RPM_Guide/ch-creating-rpms.html" +"https://docs.fedoraproject.org/en-US/package-maintainers/" +"Packaging_Tutorial_GNU_Hello/" #: ../../using/unix.rst:34 msgid "for Fedora users" msgstr "para usuários Fedora" #: ../../using/unix.rst:35 -msgid "http://www.slackbook.org/html/package-management-making-packages.html" -msgstr "http://www.slackbook.org/html/package-management-making-packages.html" +msgid "https://slackbook.org/html/package-management-making-packages.html" +msgstr "https://slackbook.org/html/package-management-making-packages.html" #: ../../using/unix.rst:36 msgid "for Slackware users" @@ -100,7 +96,7 @@ msgstr "para usuários do Slackware" #: ../../using/unix.rst:40 msgid "On FreeBSD and OpenBSD" -msgstr "On FreeBSD e OpenBSD" +msgstr "No FreeBSD e OpenBSD" #: ../../using/unix.rst:42 msgid "FreeBSD users, to add the package use::" @@ -159,8 +155,8 @@ msgid "" "in the root of the Python source tree." msgstr "" ":ref:`Opções de configuração` e advertências para " -"plataformas específicas do Unix estão amplamente documentadas no arquivo :" -"source:`README.rst` na raiz da árvore de fontes Python." +"plataformas específicas do Unix estão amplamente documentadas no " +"arquivo :source:`README.rst` na raiz da árvore de fontes Python." #: ../../using/unix.rst:87 msgid "" @@ -168,10 +164,10 @@ msgid "" "``make altinstall`` is therefore recommended instead of ``make install`` " "since it only installs :file:`{exec_prefix}/bin/python{version}`." msgstr "" -"``make install`` pode sobrescrever ou mascarar o arquivo binário :file:" -"`python3`. ``make altinstall`` é, portanto, recomendado ao invés de ``make " -"install`` uma vez que o mesmo apenas instala o arquivo :file:`{exec_prefix}/" -"bin/python{version}`." +"``make install`` pode sobrescrever ou mascarar o arquivo " +"binário :file:`python3`. ``make altinstall`` é, portanto, recomendado ao " +"invés de ``make install`` uma vez que o mesmo apenas instala o " +"arquivo :file:`{exec_prefix}/bin/python{version}`." #: ../../using/unix.rst:93 msgid "Python-related paths and files" @@ -278,8 +274,8 @@ msgid "" "To use shell commands in your Python scripts, look at the :mod:`subprocess` " "module." msgstr "" -"Para usar comandos Shell em seus scripts Python, veja o módulo :mod:" -"`subprocess`." +"Para usar comandos Shell em seus scripts Python, veja o " +"módulo :mod:`subprocess`." #: ../../using/unix.rst:141 msgid "Custom OpenSSL" @@ -312,7 +308,7 @@ msgid "" "Build Python with custom OpenSSL (see the configure ``--with-openssl`` and " "``--with-openssl-rpath`` options)" msgstr "" -"Construa Python com o OpenSSL personalizado (veja as opções configure ``--" +"Construa o Python com o OpenSSL personalizado (veja as opções configure ``--" "with-openssl`` e ``--with-openssl-rpath``)" #: ../../using/unix.rst:187 diff --git a/using/windows.po b/using/windows.po index 7954a9839..59726b2f7 100644 --- a/using/windows.po +++ b/using/windows.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Danilo Lima , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# felipe caridade , 2021 -# Julia Rizza , 2021 -# Claudio Rogerio Carvalho Filho , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-31 21:17+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -46,22 +40,22 @@ msgstr "" msgid "" "Unlike most Unix systems and services, Windows does not include a system " "supported installation of Python. To make Python available, the CPython team " -"has compiled Windows installers (MSI packages) with every `release `_ for many years. These installers are " -"primarily intended to add a per-user installation of Python, with the core " -"interpreter and library being used by a single user. The installer is also " -"able to install for all users of a single machine, and a separate ZIP file " -"is available for application-local distributions." +"has compiled Windows installers with every `release `_ for many years. These installers are primarily intended to add " +"a per-user installation of Python, with the core interpreter and library " +"being used by a single user. The installer is also able to install for all " +"users of a single machine, and a separate ZIP file is available for " +"application-local distributions." msgstr "" "Diferente da maioria dos sistemas e serviços Unix, o Windows não inclui uma " "instalação suportada do Python. Para deixar o Python disponível, o time " -"CPython compilou os instaladores do Windows (pacotes MSI) com cada `versão " -"`_ por vários anos. Esses " -"instaladores têm a intenção primária de adicionar uma instalação de Python " -"por usuário, com o interpretador e as bibliotecas núcleo sendo utilizadas " -"por um único usuário. O instalador também é capaz de instalar para todos os " -"usuários de uma única máquina, e um arquivo ZIP separado está disponível " -"para distribuições locais de aplicação." +"CPython compilou os instaladores do Windows com cada `versão `_ por vários anos. Esses instaladores têm a " +"intenção primária de adicionar uma instalação de Python por usuário, com o " +"interpretador e as bibliotecas núcleo sendo utilizadas por um único usuário. " +"O instalador também é capaz de instalar para todos os usuários de uma única " +"máquina, e um arquivo ZIP separado está disponível para distribuições locais " +"de aplicação." #: ../../using/windows.rst:24 msgid "" @@ -189,8 +183,8 @@ msgstr "" #: ../../using/windows.rst:78 msgid "If selected, the install directory will be added to your :envvar:`PATH`" msgstr "" -"Se selecionado, o diretório de instalação será adicionado no seu :envvar:" -"`PATH`" +"Se selecionado, o diretório de instalação será adicionado no " +"seu :envvar:`PATH`" #: ../../using/windows.rst:79 msgid "Shortcuts will only be visible for the current user" @@ -321,11 +315,6 @@ msgid "" "passed to immediately begin removing Python - no confirmation prompt will be " "displayed." msgstr "" -"Para esconder completamente a IU do instalador e instalar o Python " -"silenciosamente, passe a opção ``/quiet``. Para pular a interação de usuário " -"mas ainda exibir o progresso e os erros, passe a opção ``/passive``. A opção " -"``/uninstall`` pode ser passada para imediatamente começar a remover o " -"Python - nenhum prompt de confirmação será exibido." #: ../../using/windows.rst:135 msgid "" @@ -403,13 +392,13 @@ msgstr "O diretório de instalação padrão para instalações just-for-me" #: ../../using/windows.rst:152 msgid "" -":file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY` or :file:" -"`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-32` or :file:" -"`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-64`" +":file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY` " +"or :file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-32` " +"or :file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-64`" msgstr "" -":file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY` ou :file:" -"`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-32` ou :file:" -"`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-64`" +":file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY` " +"ou :file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-32` " +"ou :file:`%LocalAppData%\\\\\\ Programs\\\\Python\\\\\\ PythonXY-64`" #: ../../using/windows.rst:162 msgid "DefaultCustomTargetDir" @@ -652,11 +641,12 @@ msgstr "" #: ../../using/windows.rst:239 msgid "" -"The options listed above can also be provided in a file named ``unattend." -"xml`` alongside the executable. This file specifies a list of options and " -"values. When a value is provided as an attribute, it will be converted to a " -"number if possible. Values provided as element text are always left as " -"strings. This example file sets the same options as the previous example:" +"The options listed above can also be provided in a file named " +"``unattend.xml`` alongside the executable. This file specifies a list of " +"options and values. When a value is provided as an attribute, it will be " +"converted to a number if possible. Values provided as element text are " +"always left as strings. This example file sets the same options as the " +"previous example:" msgstr "" "As opções listadas acima também podem ser fornecidas em um arquivo chamado " "``unattend.xml`` juntamente com o executável. Esse arquivo especifica uma " @@ -746,11 +736,11 @@ msgstr "" #: ../../using/windows.rst:294 msgid "" -"\"Uninstall\" will remove Python entirely, with the exception of the :ref:" -"`launcher`, which has its own entry in Programs and Features." +"\"Uninstall\" will remove Python entirely, with the exception of " +"the :ref:`launcher`, which has its own entry in Programs and Features." msgstr "" -"\"Uninstall\" irá remover o Python completamente, com a exceção do :ref:" -"`launcher`, que tem seu próprio registro nos Programas e Recursos." +"\"Uninstall\" irá remover o Python completamente, com a exceção " +"do :ref:`launcher`, que tem seu próprio registro nos Programas e Recursos." #: ../../using/windows.rst:301 msgid "The Microsoft Store package" @@ -827,8 +817,8 @@ msgstr "" msgid "" "If you have installed another version of Python and added it to your " "``PATH`` variable, it will be available as ``python.exe`` rather than the " -"one from the Microsoft Store. To access the new installation, use ``python3." -"exe`` or ``python3.x.exe``." +"one from the Microsoft Store. To access the new installation, use " +"``python3.exe`` or ``python3.x.exe``." msgstr "" "Se você instalou outra versão do Python e adicionou ela à sua variável " "``PATH``, ela estará disponível com ``python.exe`` ao invés de uma instalada " @@ -872,34 +862,34 @@ msgid "" "modify the shared locations, you will need to install the full installer." msgstr "" "Por causa de restrições nos aplicativos da Microsoft Store, scripts Python " -"podem não ter acesso de escrita completo em locais compartilhados como :" -"envvar:`TEMP` ou o registro. Ao invés disso, ele irá escrever uma cópia " -"privada. Se seus scripts precisam modificar locais compartilhados, você terá " -"que instalar o instalador completo." +"podem não ter acesso de escrita completo em locais compartilhados " +"como :envvar:`TEMP` ou o registro. Ao invés disso, ele irá escrever uma " +"cópia privada. Se seus scripts precisam modificar locais compartilhados, " +"você terá que instalar o instalador completo." #: ../../using/windows.rst:356 msgid "" "At runtime, Python will use a private copy of well-known Windows folders and " "the registry. For example, if the environment variable :envvar:`%APPDATA%` " -"is :file:`c:\\\\Users\\\\\\\\AppData\\\\`, then when writing to :file:" -"`C:\\\\Users\\\\\\\\AppData\\\\Local` will write to :file:`C:\\" -"\\Users\\\\\\\\AppData\\\\Local\\\\Packages\\" +"is :file:`c:\\\\Users\\\\\\\\AppData\\\\`, then when writing " +"to :file:`C:\\\\Users\\\\\\\\AppData\\\\Local` will write to :file:`C:" +"\\\\Users\\\\\\\\AppData\\\\Local\\\\Packages\\" "\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\\\LocalCache\\\\Local\\" "\\`." msgstr "" "No tempo de execução, o Python usará uma cópia privada de pastas conhecidas " -"do Windows e do registro. Por exemplo, se a variável de ambiente :envvar:" -"`%APPDATA%` for :file:`c:\\\\Users\\\\\\\\AppData\\\\`, ao gravar em :" -"file:`C:\\\\Users\\\\\\\\AppData\\\\Local` gravará em :file:`C:\\" -"\\Users\\\\\\\\AppData\\\\Local\\\\Packages\\" +"do Windows e do registro. Por exemplo, se a variável de " +"ambiente :envvar:`%APPDATA%` for :file:`c:\\\\Users\\\\\\\\AppData\\" +"\\`, ao gravar em :file:`C:\\\\Users\\\\\\\\AppData\\\\Local` gravará " +"em :file:`C:\\\\Users\\\\\\\\AppData\\\\Local\\\\Packages\\" "\\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\\\\LocalCache\\\\Local\\" "\\`" #: ../../using/windows.rst:361 msgid "" "When reading files, Windows will return the file from the private folder, or " -"if that does not exist, the real Windows directory. For example reading :" -"file:`C:\\\\Windows\\\\System32` returns the contents of :file:`C:\\" +"if that does not exist, the real Windows directory. For example " +"reading :file:`C:\\\\Windows\\\\System32` returns the contents of :file:`C:\\" "\\Windows\\\\System32` plus the contents of :file:`C:\\\\Program Files\\" "\\WindowsApps\\\\package_name\\\\VFS\\\\SystemX86`." msgstr "" @@ -911,11 +901,11 @@ msgstr "" #: ../../using/windows.rst:365 msgid "" -"You can find the real path of any existing file using :func:`os.path." -"realpath`:" +"You can find the real path of any existing file " +"using :func:`os.path.realpath`:" msgstr "" -"Você pode encontrar o caminho real de qualquer arquivo existente usando :" -"func:`os.path.realpath`:" +"Você pode encontrar o caminho real de qualquer arquivo existente " +"usando :func:`os.path.realpath`:" #: ../../using/windows.rst:374 msgid "When writing to the Windows Registry, the following behaviors exist:" @@ -991,14 +981,10 @@ msgstr "" #: ../../using/windows.rst:403 msgid "" "The ``nuget.exe`` command line tool may be downloaded directly from " -"``https://aka.ms/nugetclidl``, for example, using curl or PowerShell. With " -"the tool, the latest version of Python for 64-bit or 32-bit machines is " -"installed using::" +"``https://dist.nuget.org/win-x86-commandline/latest/nuget.exe``, for " +"example, using curl or PowerShell. With the tool, the latest version of " +"Python for 64-bit or 32-bit machines is installed using::" msgstr "" -"A ferramenta de linha de comando ``nuget.exe`` pode ser baixada diretamente " -"de ``https://aka.ms/nugetclidl``, por exemplo, usando o curl ou PowerShell. " -"Com a ferramenta, a versão mais recente do Python para máquinas 64-bit ou 32-" -"bit é instalada usando::" #: ../../using/windows.rst:411 msgid "" @@ -1081,10 +1067,10 @@ msgstr "" "Quando extraída, a distribuição embutida é (quase) completamente isolada do " "sistema do usuário, incluindo variáveis de ambiente, configurações de " "registro de sistema, e pacotes instalados. A biblioteca padrão está inclusa " -"como arquivos ``.pyc`` pré-compilados e otimizados em um ZIP, e ``python3." -"dll``, ``python37.dll``, ``python.exe`` e ``pythonw.exe`` estão todos " -"disponíveis. Tcl/tk (incluindo todas as dependências, como a Idle), pip e a " -"documentação do Python não estão inclusos." +"como arquivos ``.pyc`` pré-compilados e otimizados em um ZIP, e " +"``python3.dll``, ``python37.dll``, ``python.exe`` e ``pythonw.exe`` estão " +"todos disponíveis. Tcl/tk (incluindo todas as dependências, como a Idle), " +"pip e a documentação do Python não estão inclusos." #: ../../using/windows.rst:464 msgid "" @@ -1095,8 +1081,8 @@ msgid "" "installed on a user's system previously or automatically via Windows Update, " "and can be detected by finding ``ucrtbase.dll`` in the system directory." msgstr "" -"A distribuição embutida não inclui o `Microsoft C Runtime `_ e é de responsabilidade do instalador da " "aplicação providenciar isso. O aplicativo de tempo de execução pode já ter " "sido instalado no sistema de um usuário previamente ou automaticamente via " @@ -1337,8 +1323,8 @@ msgstr "" #: ../../using/windows.rst:571 msgid "" -"To temporarily set environment variables, open Command Prompt and use the :" -"command:`set` command:" +"To temporarily set environment variables, open Command Prompt and use " +"the :command:`set` command:" msgstr "" "Para definir as variáveis de ambiente temporariamente, abra um Prompt de " "Comando e use o comando :command:`set`:" @@ -1356,24 +1342,24 @@ msgstr "" msgid "" "Including the variable name within percent signs will expand to the existing " "value, allowing you to add your new value at either the start or the end. " -"Modifying :envvar:`PATH` by adding the directory containing :program:`python." -"exe` to the start is a common way to ensure the correct version of Python is " -"launched." +"Modifying :envvar:`PATH` by adding the directory " +"containing :program:`python.exe` to the start is a common way to ensure the " +"correct version of Python is launched." msgstr "" "Incluir o nome da variável com sinais de porcentagem irá expandir o valor " "existente, permitindo que você adicione seu novo valor ao início ou final. " -"Modificar o :envvar:`PATH` adicionando o diretório contendo :program:`python." -"exe` ao início é o modo mais comum de garantir que a versão correta do " -"Python seja iniciada." +"Modificar o :envvar:`PATH` adicionando o diretório " +"contendo :program:`python.exe` ao início é o modo mais comum de garantir que " +"a versão correta do Python seja iniciada." #: ../../using/windows.rst:589 msgid "" "To permanently modify the default environment variables, click Start and " -"search for 'edit environment variables', or open System properties, :" -"guilabel:`Advanced system settings` and click the :guilabel:`Environment " -"Variables` button. In this dialog, you can add or modify User and System " -"variables. To change System variables, you need non-restricted access to " -"your machine (i.e. Administrator rights)." +"search for 'edit environment variables', or open System " +"properties, :guilabel:`Advanced system settings` and click " +"the :guilabel:`Environment Variables` button. In this dialog, you can add or " +"modify User and System variables. To change System variables, you need non-" +"restricted access to your machine (i.e. Administrator rights)." msgstr "" "Para modificar permanentemente as variáveis de ambiente padrão, clique em " "Iniciar e procure por 'Editar as variáveis de ambiente do sistema`, ou abra " @@ -1389,8 +1375,8 @@ msgid "" "cause unexpected results when modifying :envvar:`PATH`." msgstr "" "O Windows irá concatenar as variáveis de Usuário *após* as variáveis de " -"Sistema, o que pode causar resultados inesperados quando modificando o :" -"envvar:`PATH`." +"Sistema, o que pode causar resultados inesperados quando modificando " +"o :envvar:`PATH`." #: ../../using/windows.rst:601 msgid "" @@ -1489,7 +1475,7 @@ msgstr "" "usando os direcionamentos em :ref:`setting-envvars`. Você precisa definir " "sua variável de ambiente :envvar:`PATH` para incluir o diretório da sua " "instalação Python, delimitado por um ponto e vírgula de outras entradas. Uma " -"variável exemplo pode parecer com isso (assumindo que as duas primeiras " +"variável exemplo pode parecer com isso (presumindo que as duas primeiras " "entradas já existem)::" #: ../../using/windows.rst:649 @@ -1499,8 +1485,8 @@ msgstr "Modo UTF-8" #: ../../using/windows.rst:653 msgid "" "Windows still uses legacy encodings for the system encoding (the ANSI Code " -"Page). Python uses it for the default encoding of text files (e.g. :func:" -"`locale.getencoding`)." +"Page). Python uses it for the default encoding of text files " +"(e.g. :func:`locale.getencoding`)." msgstr "" "O Windows ainda usa codificações legadas para a codificação do sistema (a " "Página de Código ANSI). O Python usa-o para a codificação padrão de arquivos " @@ -1677,10 +1663,10 @@ msgid "" "available runtimes using the ``-V:`` format." msgstr "" "O argumento ``-x.y`` é a forma abreviada do argumento ``-V:Empresa/Tag``, " -"que permite selecionar um tempo de execução Python específico, incluindo " +"que permite selecionar um ambiente de execução Python específico, incluindo " "aqueles que podem ter vindo de algum lugar diferente de python.org. Qualquer " -"tempo de execução registrado seguindo a :pep:`514` será detectável. O " -"comando ``--list`` lista todos os tempos de execução disponíveis usando o " +"ambiente de execução registrado seguindo a :pep:`514` será detectável. O " +"comando ``--list`` lista todos os ambientes de execução disponíveis usando o " "formato ``-V:``." #: ../../using/windows.rst:750 @@ -1690,7 +1676,7 @@ msgid "" "from all providers. Note that omitting the slash implies a tag::" msgstr "" "Ao usar o argumento ``-V:``, especificar a Empresa limitará a seleção aos " -"tempos de execução desse provedor, enquanto especificar apenas a Tag " +"ambientes de execução desse provedor, enquanto especificar apenas a Tag " "selecionará de todos os provedores. Observe que omitir a barra implica uma " "tag::" @@ -1774,9 +1760,9 @@ msgid "" msgstr "" "Re-executar o comando agora deve exibir informações da última versão do " "Python 3.x. Como nos exemplos da linha de comando acima, você pode " -"especificar um qualificador de versão mais explícito. Assumindo que você tem " -"o Python 3.7 instalado, tente mudar a primeira linha para ``#! python3.7`` e " -"você deve ver as informações da versão 3.7 sendo exibidas." +"especificar um qualificador de versão mais explícito. Presumindo que você " +"tem o Python 3.7 instalado, tente mudar a primeira linha para ``#! " +"python3.7`` e você deve ver as informações da versão 3.7 sendo exibidas." #: ../../using/windows.rst:815 msgid "" @@ -1796,8 +1782,8 @@ msgstr "Por associação de arquivos" #: ../../using/windows.rst:823 msgid "" -"The launcher should have been associated with Python files (i.e. ``.py``, ``." -"pyw``, ``.pyc`` files) when it was installed. This means that when you " +"The launcher should have been associated with Python files (i.e. ``.py``, " +"``.pyw``, ``.pyc`` files) when it was installed. This means that when you " "double-click on one of these files from Windows explorer the launcher will " "be used, and therefore you can use the same facilities described above to " "have the script specify the version which should be used." @@ -1909,12 +1895,12 @@ msgstr "" #: ../../using/windows.rst:877 msgid "" "The \"-64\" suffix is deprecated, and now implies \"any architecture that is " -"not provably i386/32-bit\". To request a specific environment, use the new " -"``-V:`` argument with the complete tag." +"not provably i386/32-bit\". To request a specific environment, use the " +"new :samp:`-V:{TAG}` argument with the complete tag." msgstr "" "O sufixo \"-64\" foi descontinuado e agora implica \"qualquer arquitetura " "que não seja comprovadamente i386/32 bits\". Para solicitar um ambiente " -"específico, use o novo argumento ``-V:`` com a tag completa." +"específico, use o novo argumento :samp:`-V:{TAG}` com a tag completa." #: ../../using/windows.rst:881 msgid "" @@ -1925,20 +1911,21 @@ msgid "" "program, which performs a :envvar:`PATH` search. If an executable matching " "the first argument after the ``env`` command cannot be found, but the " "argument starts with ``python``, it will be handled as described for the " -"other virtual commands. The environment variable :envvar:" -"`PYLAUNCHER_NO_SEARCH_PATH` may be set (to any value) to skip this search " -"of :envvar:`PATH`." +"other virtual commands. The environment " +"variable :envvar:`PYLAUNCHER_NO_SEARCH_PATH` may be set (to any value) to " +"skip this search of :envvar:`PATH`." msgstr "" "A forma ``/usr/bin/env`` da linha shebang tem mais uma propriedade especial. " "Antes de procurar por interpretadores Python instalados, este formulário " "pesquisará o executável :envvar:`PATH` por um executável Python " "correspondente ao nome fornecido como o primeiro argumento. Isso corresponde " -"ao comportamento do programa Unix ``env``, que executa uma pesquisa :envvar:" -"`PATH`. Se um executável correspondente ao primeiro argumento após o comando " -"``env`` não puder ser encontrado, mas o argumento começar com ``python``, " -"ele será tratado conforme descrito para os outros comandos virtuais. A " -"variável de ambiente :envvar:`PYLAUNCHER_NO_SEARCH_PATH` pode ser definida " -"(para qualquer valor) para ignorar esta pesquisa de :envvar:`PATH`." +"ao comportamento do programa Unix ``env``, que executa uma " +"pesquisa :envvar:`PATH`. Se um executável correspondente ao primeiro " +"argumento após o comando ``env`` não puder ser encontrado, mas o argumento " +"começar com ``python``, ele será tratado conforme descrito para os outros " +"comandos virtuais. A variável de " +"ambiente :envvar:`PYLAUNCHER_NO_SEARCH_PATH` pode ser definida (para " +"qualquer valor) para ignorar esta pesquisa de :envvar:`PATH`." #: ../../using/windows.rst:892 msgid "" @@ -1955,8 +1942,8 @@ msgstr "" "lançador. Isso pode ser usado para lidar com certos comandos de uma maneira " "que faça sentido para o seu sistema. O nome do comando deve ser um único " "argumento (sem espaços no executável shebang) e o valor substituído é o " -"caminho completo para o executável (argumentos adicionais especificados no ." -"INI serão citados como parte do nome do arquivo)." +"caminho completo para o executável (argumentos adicionais especificados " +"no .INI serão citados como parte do nome do arquivo)." #: ../../using/windows.rst:905 msgid "" @@ -2003,10 +1990,10 @@ msgstr "Personalização via arquivos INI" #: ../../using/windows.rst:933 msgid "" "Two .ini files will be searched by the launcher - ``py.ini`` in the current " -"user's application data directory (``%LOCALAPPDATA%`` or ``$env:" -"LocalAppData``) and ``py.ini`` in the same directory as the launcher. The " -"same .ini files are used for both the 'console' version of the launcher (i." -"e. py.exe) and for the 'windows' version (i.e. pyw.exe)." +"user's application data directory (``%LOCALAPPDATA%`` or " +"``$env:LocalAppData``) and ``py.ini`` in the same directory as the launcher. " +"The same .ini files are used for both the 'console' version of the launcher " +"(i.e. py.exe) and for the 'windows' version (i.e. pyw.exe)." msgstr "" "Dois arquivos .ini serão pesquisados pelo inicializador - ``py.ini`` no " "diretório de dados de aplicações do usuário atual (``%LOCALAPPDATA%`` ou " @@ -2057,12 +2044,12 @@ msgstr "" #: ../../using/windows.rst:955 msgid "" -"If no version qualifiers are found in a command, the environment variable :" -"envvar:`PY_PYTHON` can be set to specify the default version qualifier. If " -"it is not set, the default is \"3\". The variable can specify any value that " -"may be passed on the command line, such as \"3\", \"3.7\", \"3.7-32\" or " -"\"3.7-64\". (Note that the \"-64\" option is only available with the " -"launcher included with Python 3.7 or newer.)" +"If no version qualifiers are found in a command, the environment " +"variable :envvar:`PY_PYTHON` can be set to specify the default version " +"qualifier. If it is not set, the default is \"3\". The variable can specify " +"any value that may be passed on the command line, such as \"3\", \"3.7\", " +"\"3.7-32\" or \"3.7-64\". (Note that the \"-64\" option is only available " +"with the launcher included with Python 3.7 or newer.)" msgstr "" "Se nenhum qualificador de versão é encontrado em um comando, a variável de " "ambiente :envvar:`PY_PYTHON` pode ser definida para especificar o " @@ -2220,7 +2207,7 @@ msgstr "" #: ../../using/windows.rst:1037 msgid "Dry Run" -msgstr "" +msgstr "Teste de simulação" #: ../../using/windows.rst:1039 msgid "" @@ -2231,10 +2218,16 @@ msgid "" "written to standard output is always encoded using UTF-8, and may not render " "correctly in the console." msgstr "" +"Se uma variável de ambiente :envvar:`PYLAUNCHER_DRYRUN` for definida (para " +"qualquer valor), o inicializador emitirá o comando que ele teria executado, " +"mas não iniciará o Python de fato. Isso pode ser útil para ferramentas que " +"desejam usar o inicializador para detectar e então iniciar o Python " +"diretamente. Observe que o comando escrito na saída padrão é sempre " +"codificado usando UTF-8 e pode não ser renderizado corretamente no console." #: ../../using/windows.rst:1047 msgid "Install on demand" -msgstr "" +msgstr "Instalar sob demanda" #: ../../using/windows.rst:1049 msgid "" @@ -2244,18 +2237,27 @@ msgid "" "require user interaction to complete, and you may need to run the command " "again." msgstr "" +"Se uma variável de ambiente :envvar:`PYLAUNCHER_ALLOW_INSTALL` for definida " +"(para qualquer valor), e a versão do Python solicitada não estiver " +"instalada, mas estiver disponível na Microsoft Store, o inicializador " +"tentará instalá-la. Isso pode exigir interação do usuário para ser " +"concluído, e você pode precisar executar o comando novamente." #: ../../using/windows.rst:1054 msgid "" "An additional :envvar:`PYLAUNCHER_ALWAYS_INSTALL` variable causes the " "launcher to always try to install Python, even if it is detected. This is " -"mainly intended for testing (and should be used with :envvar:" -"`PYLAUNCHER_DRYRUN`)." +"mainly intended for testing (and should be used " +"with :envvar:`PYLAUNCHER_DRYRUN`)." msgstr "" +"Uma variável adicional :envvar:`PYLAUNCHER_ALWAYS_INSTALL` faz com que o " +"inicializador sempre tente instalar o Python, mesmo se for detectado. Isso é " +"destinado principalmente para teste (e deve ser usado " +"com :envvar:`PYLAUNCHER_DRYRUN`)." #: ../../using/windows.rst:1059 msgid "Return codes" -msgstr "" +msgstr "Códigos de retorno" #: ../../using/windows.rst:1061 msgid "" @@ -2263,6 +2265,9 @@ msgid "" "Unfortunately, there is no way to distinguish these from the exit code of " "Python itself." msgstr "" +"Os seguintes códigos de saída podem ser retornados pelo inicializador do " +"Python. Infelizmente, não há como distingui-los do código de saída do " +"próprio Python." #: ../../using/windows.rst:1064 msgid "" @@ -2270,6 +2275,9 @@ msgid "" "There is no way to access or resolve them apart from reading this page. " "Entries are listed in alphabetical order of names." msgstr "" +"Os nomes dos códigos são como usados nas fontes e são apenas para " +"referência. Não há como acessá-los ou resolvê-los além de ler esta página. " +"As entradas são listadas em ordem alfabética de nomes." #: ../../using/windows.rst:1069 msgid "Value" @@ -2277,89 +2285,91 @@ msgstr "Valor" #: ../../using/windows.rst:1071 msgid "RC_BAD_VENV_CFG" -msgstr "" +msgstr "RC_BAD_VENV_CFG" #: ../../using/windows.rst:1071 msgid "107" -msgstr "" +msgstr "107" #: ../../using/windows.rst:1071 msgid "A :file:`pyvenv.cfg` was found but is corrupt." -msgstr "" +msgstr "Um :file:`pyvenv.cfg` foi encontrado, mas está corrompido." #: ../../using/windows.rst:1073 msgid "RC_CREATE_PROCESS" -msgstr "" +msgstr "RC_CREATE_PROCESS" #: ../../using/windows.rst:1073 msgid "101" -msgstr "" +msgstr "101" #: ../../using/windows.rst:1073 msgid "Failed to launch Python." -msgstr "" +msgstr "Falha ao iniciar o Python." #: ../../using/windows.rst:1075 msgid "RC_INSTALLING" -msgstr "" +msgstr "RC_INSTALLING" #: ../../using/windows.rst:1075 msgid "111" -msgstr "" +msgstr "111" #: ../../using/windows.rst:1075 msgid "" "An install was started, but the command will need to be re-run after it " "completes." msgstr "" +"Uma instalação foi iniciada, mas o comando precisará ser executado novamente " +"após sua conclusão." #: ../../using/windows.rst:1078 msgid "RC_INTERNAL_ERROR" -msgstr "" +msgstr "RC_INTERNAL_ERROR" #: ../../using/windows.rst:1078 msgid "109" -msgstr "" +msgstr "109" #: ../../using/windows.rst:1078 msgid "Unexpected error. Please report a bug." -msgstr "" +msgstr "Erro inesperado. Por favor, relate um bug." #: ../../using/windows.rst:1080 msgid "RC_NO_COMMANDLINE" -msgstr "" +msgstr "RC_NO_COMMANDLINE" #: ../../using/windows.rst:1080 msgid "108" -msgstr "" +msgstr "108" #: ../../using/windows.rst:1080 msgid "Unable to obtain command line from the operating system." -msgstr "" +msgstr "Não é possível obter a linha de comando do sistema operacional." #: ../../using/windows.rst:1083 msgid "RC_NO_PYTHON" -msgstr "" +msgstr "RC_NO_PYTHON" #: ../../using/windows.rst:1083 msgid "103" -msgstr "" +msgstr "103" #: ../../using/windows.rst:1083 msgid "Unable to locate the requested version." -msgstr "" +msgstr "Não foi possível localizar a versão solicitada." #: ../../using/windows.rst:1085 msgid "RC_NO_VENV_CFG" -msgstr "" +msgstr "RC_NO_VENV_CFG" #: ../../using/windows.rst:1085 msgid "106" -msgstr "" +msgstr "106" #: ../../using/windows.rst:1085 msgid "A :file:`pyvenv.cfg` was required but not found." -msgstr "" +msgstr "Um :file:`pyvenv.cfg` era necessário, mas não foi encontrado." #: ../../using/windows.rst:1093 msgid "Finding modules" @@ -2370,6 +2380,8 @@ msgid "" "These notes supplement the description at :ref:`sys-path-init` with detailed " "Windows notes." msgstr "" +"Estas notas complementam a descrição em :ref:`sys-path-init` com notas " +"detalhadas do Windows." #: ../../using/windows.rst:1098 msgid "" @@ -2389,33 +2401,33 @@ msgstr "" #: ../../using/windows.rst:1104 msgid "" -"If the environment variable :envvar:`PYTHONPATH` exists, as described in :" -"ref:`using-on-envvars`, its entries are added next. Note that on Windows, " -"paths in this variable must be separated by semicolons, to distinguish them " -"from the colon used in drive identifiers (``C:\\`` etc.)." +"If the environment variable :envvar:`PYTHONPATH` exists, as described " +"in :ref:`using-on-envvars`, its entries are added next. Note that on " +"Windows, paths in this variable must be separated by semicolons, to " +"distinguish them from the colon used in drive identifiers (``C:\\`` etc.)." msgstr "" -"Se a variável de ambiente :envvar:`PYTHONPATH` existe, como descrito em :ref:" -"`using-on-envvars`, suas entradas são adicionadas em seguida. Note que no " -"Windows, caminhos nessa variável devem ser separados por ponto e vírgula, " -"para distinguir eles dos dois pontos usados nos identificadores de drivers " -"(``C:\\`` etc.)." +"Se a variável de ambiente :envvar:`PYTHONPATH` existe, como descrito " +"em :ref:`using-on-envvars`, suas entradas são adicionadas em seguida. Note " +"que no Windows, caminhos nessa variável devem ser separados por ponto e " +"vírgula, para distinguir eles dos dois pontos usados nos identificadores de " +"drivers (``C:\\`` etc.)." #: ../../using/windows.rst:1109 msgid "" -"Additional \"application paths\" can be added in the registry as subkeys of :" -"samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\\\PythonPath` under " -"both the ``HKEY_CURRENT_USER`` and ``HKEY_LOCAL_MACHINE`` hives. Subkeys " -"which have semicolon-delimited path strings as their default value will " -"cause each path to be added to :data:`sys.path`. (Note that all known " +"Additional \"application paths\" can be added in the registry as subkeys " +"of :samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\\\PythonPath` " +"under both the ``HKEY_CURRENT_USER`` and ``HKEY_LOCAL_MACHINE`` hives. " +"Subkeys which have semicolon-delimited path strings as their default value " +"will cause each path to be added to :data:`sys.path`. (Note that all known " "installers only use HKLM, so HKCU is typically empty.)" msgstr "" "\"Caminhos da aplicação\" adicionais podem ser adicionados ao registro como " "subchaves de :samp:`\\\\SOFTWARE\\\\Python\\\\PythonCore\\\\{version}\\" "\\PythonPath` sob ambas ``HKEY_CURRENT_USER`` e ``HKEY_LOCAL_MACHINE``. " "Subchaves que possuem string de caminhos delimitados por ponto e vírgula " -"como seu valor padrão farão com que cada caminho seja adicionado ao :data:" -"`sys.path`. (Note que todos os instaladores conhecidos usam apenas HKLM, " -"portanto HKCU está tipicamente vazio.)" +"como seu valor padrão farão com que cada caminho seja adicionado " +"ao :data:`sys.path`. (Note que todos os instaladores conhecidos usam apenas " +"HKLM, portanto HKCU está tipicamente vazio.)" #: ../../using/windows.rst:1116 msgid "" @@ -2427,13 +2439,14 @@ msgid "" "on that folder. Otherwise, the core Python path is constructed from the " "PythonPath stored in the registry." msgstr "" -"Se a variável de ambiente :envvar:`PYTHONHOME` está definida, ela é assumida " -"como \"Python Home\". Caso contrário, o caminho do principal executável do " -"Python é usado para localizar um \"arquivo de referência\" (ou ``Lib\\os." -"py`` ou ``pythonXY.zip``) para deduzir o \"Python Home\". Se um Python Home " -"é encontrado, os subdiretórios relevantes adicionados ao :data:`sys.path` " -"(``Lib``, ``plat-win``, etc) são baseados naquela pasta. Se não, o caminho " -"núcleo do Python é construído a partir do PythonPath armazenado no registro." +"Se a variável de ambiente :envvar:`PYTHONHOME` está definida, ela é " +"presumida como \"Python Home\". Caso contrário, o caminho do principal " +"executável do Python é usado para localizar um \"arquivo de referência\" (ou " +"``Lib\\os.py`` ou ``pythonXY.zip``) para deduzir o \"Python Home\". Se um " +"Python Home é encontrado, os subdiretórios relevantes adicionados " +"ao :data:`sys.path` (``Lib``, ``plat-win``, etc) são baseados naquela pasta. " +"Se não, o caminho núcleo do Python é construído a partir do PythonPath " +"armazenado no registro." #: ../../using/windows.rst:1124 msgid "" @@ -2499,8 +2512,8 @@ msgid "" "some very strange installation setup) you get a path with some default, but " "relative, paths." msgstr "" -"Se o Python não puder encontrar seu Home e não existem valores no registro (." -"exe imutáveis, algumas configurações de instalação bem estranhas) você " +"Se o Python não puder encontrar seu Home e não existem valores no registro " +"(.exe imutáveis, algumas configurações de instalação bem estranhas) você " "recebe um caminho com alguns caminhos padrão, porém relativos." #: ../../using/windows.rst:1150 @@ -2521,14 +2534,14 @@ msgid "" msgstr "" "Inclua um arquivo ``._pth`` juntamente do executável contendo os diretórios " "a serem incluídos. Isso irá ignorar caminhos listados no registro e " -"variáveis de ambiente, e também ignorar :mod:`sites` a não ser que ``import " +"variáveis de ambiente, e também ignorar :mod:`site` a não ser que ``import " "site`` seja listado." #: ../../using/windows.rst:1158 msgid "" "If you are loading :file:`python3.dll` or :file:`python37.dll` in your own " -"executable, explicitly call :c:func:`Py_SetPath` or (at least) :c:func:" -"`Py_SetProgramName` before :c:func:`Py_Initialize`." +"executable, explicitly call :c:func:`Py_SetPath` or (at " +"least) :c:func:`Py_SetProgramName` before :c:func:`Py_Initialize`." msgstr "" "Se você está carregando o :file:`python3.dll` ou :file:`python37.dll` no seu " "próprio executável, explicitamente chame :c:func:`Py_SetPath` ou (pelo " @@ -2551,11 +2564,11 @@ msgid "" "correctly named ZIP file will be detected instead.)" msgstr "" "Se você não puder usar as sugestões anteriores (por exemplo, você é uma " -"distribuição que permite que as pessoas executem o arquivo :file:`python." -"exe` diretamente), certifique-se de que o arquivo de referência (:file:`Lib\\" -"\\os.py`) existe no seu diretório de instalação. (Note que ele não será " -"detectado dentro de um arquivo ZIP, mas um arquivo ZIP corretamente nomeado " -"será detectado ao invés disso.)" +"distribuição que permite que as pessoas executem o " +"arquivo :file:`python.exe` diretamente), certifique-se de que o arquivo de " +"referência (:file:`Lib\\\\os.py`) existe no seu diretório de instalação. " +"(Note que ele não será detectado dentro de um arquivo ZIP, mas um arquivo " +"ZIP corretamente nomeado será detectado ao invés disso.)" #: ../../using/windows.rst:1171 msgid "" @@ -2573,39 +2586,39 @@ msgstr "" "ainda estar suscetíveis a caminhos não-padrão no registro e no site-packages " "do usuário." -#: ../../using/windows.rst:1180 +#: ../../using/windows.rst:1179 msgid "" -"Adds ``._pth`` file support and removes ``applocal`` option from ``pyvenv." -"cfg``." +"Add ``._pth`` file support and removes ``applocal`` option from " +"``pyvenv.cfg``." msgstr "" "Adiciona suporte a arquivos ``._pth`` e remove a opção ``applocal`` do " "``pyvenv.cfg``." -#: ../../using/windows.rst:1182 +#: ../../using/windows.rst:1184 msgid "" -"Adds ``pythonXX.zip`` as a potential landmark when directly adjacent to the " -"executable." +"Add :file:`python{XX}.zip` as a potential landmark when directly adjacent to " +"the executable." msgstr "" -"Adiciona ``pythonXX.zip`` como uma possível referência quando diretamente " -"adjacente ao executável." +"Adiciona :file:`python{XX}.zip` como uma possível referência quando " +"diretamente adjacente ao executável." -#: ../../using/windows.rst:1188 +#: ../../using/windows.rst:1189 msgid "" "Modules specified in the registry under ``Modules`` (not ``PythonPath``) may " "be imported by :class:`importlib.machinery.WindowsRegistryFinder`. This " "finder is enabled on Windows in 3.6.0 and earlier, but may need to be " -"explicitly added to :attr:`sys.meta_path` in the future." +"explicitly added to :data:`sys.meta_path` in the future." msgstr "" "Módulos especificados no registro sob ``Modules`` (não ``PythonPath``) podem " "ser importados por :class:`importlib.machinery.WindowsRegistryFinder`. Este " "localizador está ativo no Windows no 3.6.0 e anteriores, mas pode precisar " -"ser explicitamente adicionado ao :attr:`sys.meta_path` no futuro." +"ser explicitamente adicionado ao :data:`sys.meta_path` no futuro." -#: ../../using/windows.rst:1194 +#: ../../using/windows.rst:1195 msgid "Additional modules" msgstr "Módulos adicionais" -#: ../../using/windows.rst:1196 +#: ../../using/windows.rst:1197 msgid "" "Even though Python aims to be portable among all platforms, there are " "features that are unique to Windows. A couple of modules, both in the " @@ -2616,7 +2629,7 @@ msgstr "" "em ambas as bibliotecas padrão e externa, e trechos de código existem para " "usar esses recursos." -#: ../../using/windows.rst:1200 +#: ../../using/windows.rst:1201 msgid "" "The Windows-specific standard modules are documented in :ref:`mswin-specific-" "services`." @@ -2624,11 +2637,11 @@ msgstr "" "Os módulos padrão específicos para Windows estão documentados em :ref:`mswin-" "specific-services`." -#: ../../using/windows.rst:1204 +#: ../../using/windows.rst:1205 msgid "PyWin32" msgstr "PyWin32" -#: ../../using/windows.rst:1206 +#: ../../using/windows.rst:1207 msgid "" "The `PyWin32 `_ module by Mark Hammond is " "a collection of modules for advanced Windows-specific support. This " @@ -2638,72 +2651,74 @@ msgstr "" "coleção de módulos para suporte avançado específico para Windows. Isso " "inclui utilitários para:" -#: ../../using/windows.rst:1210 +#: ../../using/windows.rst:1211 msgid "" "`Component Object Model `_ (COM)" msgstr "" +"`Component Object Model `_ (COM)" -#: ../../using/windows.rst:1213 +#: ../../using/windows.rst:1214 msgid "Win32 API calls" msgstr "Chamadas à API Win32" -#: ../../using/windows.rst:1214 +#: ../../using/windows.rst:1215 msgid "Registry" msgstr "Registro" -#: ../../using/windows.rst:1215 +#: ../../using/windows.rst:1216 msgid "Event log" msgstr "Log de Eventos" -#: ../../using/windows.rst:1216 +#: ../../using/windows.rst:1217 msgid "" "`Microsoft Foundation Classes `_ (MFC) user interfaces" msgstr "" +"`Microsoft Foundation Classes `_ (MFC) user interfaces" -#: ../../using/windows.rst:1220 +#: ../../using/windows.rst:1221 msgid "" -"`PythonWin `_ is a sample MFC application shipped with PyWin32. " -"It is an embeddable IDE with a built-in debugger." +"`PythonWin `_ is a sample MFC application shipped " +"with PyWin32. It is an embeddable IDE with a built-in debugger." msgstr "" -"`PythonWin `_ é uma aplicação MFC de exemplo enviada com o " -"PyWin32. É uma IDE embutível com um depurador embutido." +"`PythonWin `_ é uma aplicação MFC de exemplo enviada " +"com o PyWin32. É uma IDE embutível com um depurador embutido." -#: ../../using/windows.rst:1227 +#: ../../using/windows.rst:1228 msgid "" "`Win32 How Do I...? `_" msgstr "" "`Win32 How Do I...? `_" -#: ../../using/windows.rst:1227 +#: ../../using/windows.rst:1228 msgid "by Tim Golden" msgstr "por Tim Golden" -#: ../../using/windows.rst:1229 +#: ../../using/windows.rst:1230 msgid "`Python and COM `_" -msgstr "" +msgstr "`Python e COM `_" -#: ../../using/windows.rst:1230 +#: ../../using/windows.rst:1231 msgid "by David and Paul Boddie" msgstr "by David and Paul Boddie" -#: ../../using/windows.rst:1234 +#: ../../using/windows.rst:1235 msgid "cx_Freeze" msgstr "cx_Freeze" -#: ../../using/windows.rst:1236 +#: ../../using/windows.rst:1237 msgid "" -"`cx_Freeze `_ is a :mod:" -"`distutils` extension (see :ref:`extending-distutils`) which wraps Python " +"`cx_Freeze `_ wraps Python " "scripts into executable Windows programs (:file:`{*}.exe` files). When you " "have done this, you can distribute your application without requiring your " "users to install Python." msgstr "" -"`cx_Freeze `_ é uma extensão :" -"mod:`distutils` (veja :ref:`extending-distutils`) que encapsula scripts " +"`cx_Freeze `_ encapsula scripts " "Python em programas executáveis do Windows (arquivos :file:`{*}.exe`). " "Quando você tiver feito isso, você pode distribuir sua aplicação sem " "solicitar que os seus usuários instalem o Python." @@ -2719,6 +2734,10 @@ msgid "" "either the latest release's source or just grab a fresh `checkout `_." msgstr "" +"Se você quer compilar o CPython por conta própria, a primeira coisa que você " +"precisa ter é a `fonte `_. Você " +"pode fazer o download tanto da fonte da última versão quanto pegar um novo " +"`checkout `_." #: ../../using/windows.rst:1251 msgid "" @@ -2726,6 +2745,10 @@ msgid "" "Visual Studio, which is the compiler used to build the official Python " "releases. These files are in the :file:`PCbuild` directory." msgstr "" +"A árvore de fontes contém uma solução de construção e arquivos de projeto " +"para o Microsoft Visual Studio, que é o compilador usado para construir as " +"versões do Python oficiais. Esses arquivos estão no " +"diretório :file:`PCbuild`." #: ../../using/windows.rst:1255 msgid "" @@ -2760,12 +2783,18 @@ msgid "" "`__ since Python 3 (if it " "ever was)." msgstr "" +"`Windows CE `_ `não é mais suportado " +"`__ desde o Python 3 (se é " +"que foi em algum momento)." #: ../../using/windows.rst:1270 msgid "" "The `Cygwin `_ installer offers to install the `Python " "interpreter `__ as well" msgstr "" +"O instalador do `Cygwin `_ oferece instalar o " +"`interpretador do Python `__ também" #: ../../using/windows.rst:1274 msgid "" diff --git a/whatsnew/2.0.po b/whatsnew/2.0.po index 1e4893cb0..70d77601c 100644 --- a/whatsnew/2.0.po +++ b/whatsnew/2.0.po @@ -1,36 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 -# Victor Matheus Castro , 2021 -# Adorilson Bezerra , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Adorilson Bezerra , 2021\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/2.0.rst:3 msgid "What's New in Python 2.0" -msgstr "O que há de novo no Python 2.0" +msgstr "What's New in Python 2.0" #: ../../whatsnew/2.0.rst:0 msgid "Author" @@ -38,7 +33,7 @@ msgstr "Autor" #: ../../whatsnew/2.0.rst:5 msgid "A.M. Kuchling and Moshe Zadka" -msgstr "A.M. Kuchling e Moshe Zadka" +msgstr "A.M. Kuchling and Moshe Zadka" #: ../../whatsnew/2.0.rst:13 msgid "Introduction" @@ -51,10 +46,10 @@ msgid "" "useful changes, and points out a few incompatible changes that may require " "rewriting code." msgstr "" -"Uma nova versão do Python, versão 2.0, foi lançada em 16 de outubro de 2000. " -"Este artigo aborda os novos recursos interessantes da versão, destaca " -"algumas outras mudanças úteis e aponta algumas alterações incompatíveis que " -"podem exigir a reescrita do código." +"A new release of Python, version 2.0, was released on October 16, 2000. This " +"article covers the exciting new features in 2.0, highlights some other " +"useful changes, and points out a few incompatible changes that may require " +"rewriting code." #: ../../whatsnew/2.0.rst:20 msgid "" @@ -67,10 +62,18 @@ msgid "" "for PythonLabs are now getting paid to spend their days fixing bugs, and " "also due to the improved communication resulting from moving to SourceForge." msgstr "" +"Python's development never completely stops between releases, and a steady " +"flow of bug fixes and improvements are always being submitted. A host of " +"minor fixes, a few optimizations, additional docstrings, and better error " +"messages went into 2.0; to list them all would be impossible, but they're " +"certainly significant. Consult the publicly available CVS logs if you want " +"to see the full list. This progress is due to the five developers working " +"for PythonLabs are now getting paid to spend their days fixing bugs, and " +"also due to the improved communication resulting from moving to SourceForge." #: ../../whatsnew/2.0.rst:33 msgid "What About Python 1.6?" -msgstr "E quanto ao Python 1.6?" +msgstr "What About Python 1.6?" #: ../../whatsnew/2.0.rst:35 msgid "" @@ -83,15 +86,14 @@ msgid "" "received a few fixes to ensure that it's forward-compatible with Python " "2.0. 1.6 is therefore part of Python's evolution, and not a side branch." msgstr "" -"Python 1.6 pode ser considerado a versão de obrigações contratuais do " -"Python. Depois que a equipe de desenvolvimento principal deixou o CNRI em " -"maio de 2000, o CNRI solicitou que uma versão 1.6 fosse criada, contendo " -"todo o trabalho em Python que havia sido executado no CNRI. Python 1.6, " -"portanto, representa o estado da árvore CVS em maio de 2000, com o novo " -"recurso mais significativo sendo o suporte a Unicode. O desenvolvimento " -"continuou depois de maio, é claro, então a árvore 1.6 recebeu algumas " -"correções para garantir que seja compatível com o Python 2.0. 1.6 é, " -"portanto, parte da evolução do Python, e não um ramo secundário." +"Python 1.6 can be thought of as the Contractual Obligations Python release. " +"After the core development team left CNRI in May 2000, CNRI requested that a " +"1.6 release be created, containing all the work on Python that had been " +"performed at CNRI. Python 1.6 therefore represents the state of the CVS " +"tree as of May 2000, with the most significant new feature being Unicode " +"support. Development continued after May, of course, so the 1.6 tree " +"received a few fixes to ensure that it's forward-compatible with Python " +"2.0. 1.6 is therefore part of Python's evolution, and not a side branch." #: ../../whatsnew/2.0.rst:44 msgid "" @@ -104,18 +106,18 @@ msgid "" "2.0. Most of the really interesting features described in this document are " "only in 2.0, because a lot of work was done between May and September." msgstr "" -"Então, você deve se interessar muito pelo Python 1.6? Provavelmente não. Os " -"lançamentos 1.6final e 2.0beta1 foram feitos no mesmo dia (5 de setembro de " -"2000), e o plano era finalizar o Python 2.0 em cerca de um mês. Se você tem " -"aplicativos para manter, parece que não faz muito sentido interromper as " -"coisas mudando para 1.6, consertá-las e, em seguida, ter outra rodada de " -"interrupções em um mês mudando para 2.0; é melhor ir direto para 2.0. A " -"maioria dos recursos realmente interessantes descritos neste documento estão " -"apenas na versão 2.0, porque muito trabalho foi feito entre maio e setembro." +"So, should you take much interest in Python 1.6? Probably not. The " +"1.6final and 2.0beta1 releases were made on the same day (September 5, " +"2000), the plan being to finalize Python 2.0 within a month or so. If you " +"have applications to maintain, there seems little point in breaking things " +"by moving to 1.6, fixing them, and then having another round of breakage " +"within a month by moving to 2.0; you're better off just going straight to " +"2.0. Most of the really interesting features described in this document are " +"only in 2.0, because a lot of work was done between May and September." #: ../../whatsnew/2.0.rst:57 msgid "New Development Process" -msgstr "Novo processo de desenvolvimento" +msgstr "New Development Process" #: ../../whatsnew/2.0.rst:59 msgid "" @@ -127,14 +129,13 @@ msgid "" "available from Python's project page, located at https://sourceforge.net/" "projects/python/." msgstr "" -"A mudança mais importante no Python 2.0 pode não ser no código, mas em como " -"o Python é desenvolvido: em maio de 2000, os desenvolvedores do Python " -"começaram a usar as ferramentas disponibilizadas pelo SourceForge para " -"armazenar o código-fonte, rastrear relatórios de bug e gerenciar a fila de " -"envios de patch. Para relatar bugs ou enviar patches para Python 2.0, use o " -"rastreamento de bugs e ferramentas de gerenciamento de patch disponíveis na " -"página do projeto Python, localizada em https://sourceforge.net/projects/" -"python/." +"The most important change in Python 2.0 may not be to the code at all, but " +"to how Python is developed: in May 2000 the Python developers began using " +"the tools made available by SourceForge for storing source code, tracking " +"bug reports, and managing the queue of patch submissions. To report bugs or " +"submit patches for Python 2.0, use the bug tracking and patch manager tools " +"available from Python's project page, located at https://sourceforge.net/" +"projects/python/." #: ../../whatsnew/2.0.rst:66 msgid "" @@ -155,24 +156,22 @@ msgid "" "access, probably that task would have been viewed as \"nice, but not worth " "the time and effort needed\" and it would never have gotten done." msgstr "" -"O mais importante dos serviços agora hospedados no SourceForge é a árvore " -"CVS do Python, o repositório controlado por versão que contém o código-fonte " -"do Python. Anteriormente, havia aproximadamente 7 ou mais pessoas que tinham " -"acesso de escrita à árvore CVS, e todos os patches tinham que ser " -"inspecionados e verificados por uma das pessoas nesta pequena lista. " -"Obviamente, isso não era muito escalonável. Ao mover a árvore CVS para o " -"SourceForge, tornou-se possível conceder acesso de escrita a mais pessoas; " -"em setembro de 2000, havia 27 pessoas capazes de verificar as mudanças, um " -"aumento de quatro vezes. Isso possibilita mudanças em grande escala que não " -"seriam tentadas se tivessem que ser filtradas pelo pequeno grupo de " -"desenvolvedores centrais. Por exemplo, um dia Peter Schneider-Kamp pensou em " -"abandonar a compatibilidade K&R C e converter o código-fonte C para Python " -"em ANSI C. Depois de obter aprovação na lista de e-mails python-dev, ele " -"começou uma enxurrada de verificações que duraram cerca de uma semana, " -"outros desenvolvedores juntaram-se para ajudar e o trabalho estava feito. Se " -"houvesse apenas 5 pessoas com acesso de escrita, provavelmente essa tarefa " -"teria sido vista como \"legal, mas não vale o tempo e esforço necessários\" " -"e nunca teria sido realizada." +"The most important of the services now hosted at SourceForge is the Python " +"CVS tree, the version-controlled repository containing the source code for " +"Python. Previously, there were roughly 7 or so people who had write access " +"to the CVS tree, and all patches had to be inspected and checked in by one " +"of the people on this short list. Obviously, this wasn't very scalable. By " +"moving the CVS tree to SourceForge, it became possible to grant write access " +"to more people; as of September 2000 there were 27 people able to check in " +"changes, a fourfold increase. This makes possible large-scale changes that " +"wouldn't be attempted if they'd have to be filtered through the small group " +"of core developers. For example, one day Peter Schneider-Kamp took it into " +"his head to drop K&R C compatibility and convert the C source for Python to " +"ANSI C. After getting approval on the python-dev mailing list, he launched " +"into a flurry of checkins that lasted about a week, other developers joined " +"in to help, and the job was done. If there were only 5 people with write " +"access, probably that task would have been viewed as \"nice, but not worth " +"the time and effort needed\" and it would never have gotten done." #: ../../whatsnew/2.0.rst:83 msgid "" @@ -188,18 +187,17 @@ msgid "" "notification e-mail messages that are completely unhelpful, so Ka-Ping Yee " "wrote an HTML screen-scraper that sends more useful messages." msgstr "" -"A mudança para o uso dos serviços do SourceForge resultou em um aumento " -"notável na velocidade de desenvolvimento. Os patches agora são enviados, " -"comentados, revisados por outras pessoas que não o remetente original e " -"devolvidos para frente e para trás entre as pessoas até que o patch valha a " -"pena ser verificado. Os bugs são rastreados em um local central e podem ser " -"atribuídos a uma pessoa específica para correção, e podemos contar o número " -"de bugs abertos para medir o progresso. Isso não veio sem custo: os " -"desenvolvedores agora têm mais e-mail para lidar, mais listas de e-mail a " -"seguir e ferramentas especiais tiveram que ser escritas para o novo " -"ambiente. Por exemplo, SourceForge envia mensagens de e-mail de notificação " -"de patch e bug padrão que são completamente inúteis, então Ka-Ping Yee " -"escreveu um raspador de tela HTML que envia mensagens mais úteis." +"The shift to using SourceForge's services has resulted in a remarkable " +"increase in the speed of development. Patches now get submitted, commented " +"on, revised by people other than the original submitter, and bounced back " +"and forth between people until the patch is deemed worth checking in. Bugs " +"are tracked in one central location and can be assigned to a specific person " +"for fixing, and we can count the number of open bugs to measure progress. " +"This didn't come without a cost: developers now have more e-mail to deal " +"with, more mailing lists to follow, and special tools had to be written for " +"the new environment. For example, SourceForge sends default patch and bug " +"notification e-mail messages that are completely unhelpful, so Ka-Ping Yee " +"wrote an HTML screen-scraper that sends more useful messages." #: ../../whatsnew/2.0.rst:95 msgid "" @@ -215,18 +213,17 @@ msgid "" "can still ignore the result of a vote, and approve or reject a change even " "if the community disagrees with him." msgstr "" -"A facilidade de adicionar código causou alguns problemas iniciais de " -"crescimento, como a entrada de código antes de estar pronto ou sem um acordo " -"claro do grupo de desenvolvedores. O processo de aprovação que surgiu é um " -"pouco semelhante ao usado pelo grupo Apache. Os desenvolvedores podem votar " -"+1, +0, -0 ou -1 em um patch; +1 e -1 denotam aceitação ou rejeição, " -"enquanto +0 e -0 significam que o desenvolvedor é indiferente à mudança, " -"embora com uma ligeira inclinação positiva ou negativa. A mudança mais " -"significativa do modelo Apache é que a votação é essencialmente consultiva, " -"permitindo que Guido van Rossum, que tem o status de Ditador Benevolente " -"pela Vida, saiba qual é a opinião geral. Ele ainda pode ignorar o resultado " -"de uma votação e aprovar ou rejeitar uma alteração, mesmo se a comunidade " -"discordar dele." +"The ease of adding code caused a few initial growing pains, such as code was " +"checked in before it was ready or without getting clear agreement from the " +"developer group. The approval process that has emerged is somewhat similar " +"to that used by the Apache group. Developers can vote +1, +0, -0, or -1 on a " +"patch; +1 and -1 denote acceptance or rejection, while +0 and -0 mean the " +"developer is mostly indifferent to the change, though with a slight positive " +"or negative slant. The most significant change from the Apache model is " +"that the voting is essentially advisory, letting Guido van Rossum, who has " +"Benevolent Dictator For Life status, know what the general opinion is. He " +"can still ignore the result of a vote, and approve or reject a change even " +"if the community disagrees with him." #: ../../whatsnew/2.0.rst:106 msgid "" @@ -238,9 +235,19 @@ msgid "" "up to write Python Enhancement Proposals (PEPs), modelled on the internet " "RFC process. PEPs are draft documents that describe a proposed new feature, " "and are continually revised until the community reaches a consensus, either " -"accepting or rejecting the proposal. Quoting from the introduction to :pep:" -"`1`, \"PEP Purpose and Guidelines\":" +"accepting or rejecting the proposal. Quoting from the introduction " +"to :pep:`1`, \"PEP Purpose and Guidelines\":" msgstr "" +"Producing an actual patch is the last step in adding a new feature, and is " +"usually easy compared to the earlier task of coming up with a good design. " +"Discussions of new features can often explode into lengthy mailing list " +"threads, making the discussion hard to follow, and no one can read every " +"posting to python-dev. Therefore, a relatively formal process has been set " +"up to write Python Enhancement Proposals (PEPs), modelled on the internet " +"RFC process. PEPs are draft documents that describe a proposed new feature, " +"and are continually revised until the community reaches a consensus, either " +"accepting or rejecting the proposal. Quoting from the introduction " +"to :pep:`1`, \"PEP Purpose and Guidelines\":" #: ../../whatsnew/2.0.rst:120 msgid "" @@ -249,10 +256,10 @@ msgid "" "for Python. The PEP should provide a concise technical specification of the " "feature and a rationale for the feature." msgstr "" -"PEP significa *Python Enhancement Proposal*. Uma PEP é um documento de " -"design que fornece informações para a comunidade Python ou descreve um novo " -"recurso para Python. A PEP deve fornecer uma especificação técnica concisa " -"do recurso e uma justificativa para o recurso." +"PEP stands for Python Enhancement Proposal. A PEP is a design document " +"providing information to the Python community, or describing a new feature " +"for Python. The PEP should provide a concise technical specification of the " +"feature and a rationale for the feature." #: ../../whatsnew/2.0.rst:125 msgid "" @@ -261,11 +268,10 @@ msgid "" "decisions that have gone into Python. The PEP author is responsible for " "building consensus within the community and documenting dissenting opinions." msgstr "" -"Pretendemos que as PEPs sejam os principais mecanismos para propor novos " -"recursos, para coletar a opinião da comunidade sobre um problema e para " -"documentar as decisões de design que foram para o Python. O autor da PEP é " -"responsável por construir consenso dentro da comunidade e documentar " -"opiniões divergentes." +"We intend PEPs to be the primary mechanisms for proposing new features, for " +"collecting community input on an issue, and for documenting the design " +"decisions that have gone into Python. The PEP author is responsible for " +"building consensus within the community and documenting dissenting opinions." #: ../../whatsnew/2.0.rst:130 msgid "" @@ -273,9 +279,15 @@ msgid "" "style, and format. PEPs are kept in the Python CVS tree on SourceForge, " "though they're not part of the Python 2.0 distribution, and are also " "available in HTML form from https://peps.python.org/. As of September 2000, " -"there are 25 PEPS, ranging from :pep:`201`, \"Lockstep Iteration\", to PEP " +"there are 25 PEPs, ranging from :pep:`201`, \"Lockstep Iteration\", to PEP " "225, \"Elementwise/Objectwise Operators\"." msgstr "" +"Read the rest of :pep:`1` for the details of the PEP editorial process, " +"style, and format. PEPs are kept in the Python CVS tree on SourceForge, " +"though they're not part of the Python 2.0 distribution, and are also " +"available in HTML form from https://peps.python.org/. As of September 2000, " +"there are 25 PEPs, ranging from :pep:`201`, \"Lockstep Iteration\", to PEP " +"225, \"Elementwise/Objectwise Operators\"." #: ../../whatsnew/2.0.rst:141 msgid "Unicode" @@ -288,10 +300,10 @@ msgid "" "instead of the 8-bit number used by ASCII, meaning that 65,536 distinct " "characters can be supported." msgstr "" -"O maior novo recurso no Python 2.0 é um novo tipo de dados fundamental: " -"strings Unicode. O Unicode usa números de 16 bits para representar os " -"caracteres em vez do número de 8 bits usado pelo ASCII, o que significa que " -"65.536 caracteres distintos podem ser suportados." +"The largest new feature in Python 2.0 is a new fundamental data type: " +"Unicode strings. Unicode uses 16-bit numbers to represent characters " +"instead of the 8-bit number used by ASCII, meaning that 65,536 distinct " +"characters can be supported." #: ../../whatsnew/2.0.rst:148 msgid "" @@ -302,29 +314,28 @@ msgid "" "was written up as :pep:`100`, \"Python Unicode Integration\". This article " "will simply cover the most significant points about the Unicode interfaces." msgstr "" -"A interface final para suporte Unicode foi alcançada por meio de inúmeras " -"discussões frequentemente tempestuosas na lista de discussão python-dev, e " -"implementada principalmente por Marc-André Lemburg, com base na " -"implementação de um tipo de string Unicode por Fredrik Lundh. Uma explicação " -"detalhada da interface foi escrita como :pep:`100`, \"Python Unicode " -"Integration\". Este artigo irá simplesmente cobrir os pontos mais " -"significativos sobre as interfaces Unicode." +"The final interface for Unicode support was arrived at through countless " +"often-stormy discussions on the python-dev mailing list, and mostly " +"implemented by Marc-André Lemburg, based on a Unicode string type " +"implementation by Fredrik Lundh. A detailed explanation of the interface " +"was written up as :pep:`100`, \"Python Unicode Integration\". This article " +"will simply cover the most significant points about the Unicode interfaces." #: ../../whatsnew/2.0.rst:155 msgid "" "In Python source code, Unicode strings are written as ``u\"string\"``. " -"Arbitrary Unicode characters can be written using a new escape sequence, " -"``\\uHHHH``, where *HHHH* is a 4-digit hexadecimal number from 0000 to " -"FFFF. The existing ``\\xHHHH`` escape sequence can also be used, and octal " -"escapes can be used for characters up to U+01FF, which is represented by " -"``\\777``." -msgstr "" -"No código-fonte do Python, strings Unicode são escritas como " -"``u\"string\"``. Caracteres Unicode arbitrários podem ser escritos usando " -"uma nova sequência de escape, ``\\uHHHH``, onde *HHHH* é um número " -"hexadecimal de 4 dígitos de 0000 a FFFF. A sequência de escape existente " -"``\\xHHHH`` também pode ser usada e escapes octais podem ser usados para " -"caracteres até U+01FF, que é representado por ``\\777``." +"Arbitrary Unicode characters can be written using a new escape " +"sequence, :samp:`\\\\u{HHHH}`, where *HHHH* is a 4-digit hexadecimal number " +"from 0000 to FFFF. The existing :samp:`\\\\x{HH}` escape sequence can also " +"be used, and octal escapes can be used for characters up to U+01FF, which is " +"represented by ``\\777``." +msgstr "" +"In Python source code, Unicode strings are written as ``u\"string\"``. " +"Arbitrary Unicode characters can be written using a new escape " +"sequence, :samp:`\\\\u{HHHH}`, where *HHHH* is a 4-digit hexadecimal number " +"from 0000 to FFFF. The existing :samp:`\\\\x{HH}` escape sequence can also " +"be used, and octal escapes can be used for characters up to U+01FF, which is " +"represented by ``\\777``." #: ../../whatsnew/2.0.rst:161 msgid "" @@ -339,49 +350,48 @@ msgid "" "installation by calling the ``sys.setdefaultencoding(encoding)`` function in " "a customized version of :file:`site.py`." msgstr "" -"Strings Unicode, assim como strings regulares, são um tipo de sequência " -"imutável. Elas podem ser indexadas e fatiadas, mas não modificadas no local. " -"Strings Unicode têm um método ``encode( [encoding] )`` que retorna uma " -"string de 8 bits na codificação desejada. Codificações são nomeadas por " -"strings, como ``'ascii'``, ``'utf-8'``, ``'iso-8859-1'`` ou qualquer outra " -"coisa. Uma API de codec é definida para implementar e registrar novas " -"codificações que estarão disponíveis em um programa Python. Se uma " -"codificação não for especificada, a codificação padrão é geralmente ASCII de " -"7 bits, embora possa ser alterada para sua instalação Python chamando a " -"função ``sys.setdefaultencoding(encoding)`` em uma versão personalizada de :" -"file:`site.py`." +"Unicode strings, just like regular strings, are an immutable sequence type. " +"They can be indexed and sliced, but not modified in place. Unicode strings " +"have an ``encode( [encoding] )`` method that returns an 8-bit string in the " +"desired encoding. Encodings are named by strings, such as ``'ascii'``, " +"``'utf-8'``, ``'iso-8859-1'``, or whatever. A codec API is defined for " +"implementing and registering new encodings that are then available " +"throughout a Python program. If an encoding isn't specified, the default " +"encoding is usually 7-bit ASCII, though it can be changed for your Python " +"installation by calling the ``sys.setdefaultencoding(encoding)`` function in " +"a customized version of :file:`site.py`." #: ../../whatsnew/2.0.rst:172 msgid "" "Combining 8-bit and Unicode strings always coerces to Unicode, using the " "default ASCII encoding; the result of ``'a' + u'bc'`` is ``u'abc'``." msgstr "" -"Combinar strings de 8 bits e Unicode sempre força o uso de Unicode, usando a " -"codificação ASCII padrão; o resultado de ``'a' + u'bc'`` é ``u'abc'``." +"Combining 8-bit and Unicode strings always coerces to Unicode, using the " +"default ASCII encoding; the result of ``'a' + u'bc'`` is ``u'abc'``." #: ../../whatsnew/2.0.rst:175 msgid "" "New built-in functions have been added, and existing built-ins modified to " "support Unicode:" msgstr "" -"Novas funções embutidas foram adicionadas e embutidas existentes modificadas " -"para oferecer suporte a Unicode:" +"New built-in functions have been added, and existing built-ins modified to " +"support Unicode:" #: ../../whatsnew/2.0.rst:178 msgid "" "``unichr(ch)`` returns a Unicode string 1 character long, containing the " "character *ch*." msgstr "" -"``unichr(ch)`` retorna uma string Unicode com 1 caractere, contendo o " -"caractere *ch*." +"``unichr(ch)`` returns a Unicode string 1 character long, containing the " +"character *ch*." #: ../../whatsnew/2.0.rst:181 msgid "" "``ord(u)``, where *u* is a 1-character regular or Unicode string, returns " "the number of the character as an integer." msgstr "" -"``ord(u)``, onde *u* é uma string regular ou Unicode de 1 caractere, retorna " -"o número do caractere como um inteiro." +"``ord(u)``, where *u* is a 1-character regular or Unicode string, returns " +"the number of the character as an integer." #: ../../whatsnew/2.0.rst:184 msgid "" @@ -393,14 +403,13 @@ msgid "" "errors to be silently ignored and ``'replace'`` uses U+FFFD, the official " "replacement character, in case of any problems." msgstr "" -"``unicode(string [, encoding] [, errors] )`` cria uma string Unicode a " -"partir de uma string de 8 bits. ``encoding`` é uma string que nomeia a " -"codificação a ser usada. O parâmetro ``errors`` especifica o tratamento de " -"caracteres que são inválidos para a codificação atual; passar ``'strict'`` " -"como o valor faz com que uma exceção seja levantada em qualquer erro de " -"codificação, enquanto ``'ignore'`` faz com que os erros sejam ignorados " -"silenciosamente e ``'replace'`` usa U+FFFD, o caráter oficial de " -"substituição, em caso de quaisquer problemas." +"``unicode(string [, encoding] [, errors] )`` creates a Unicode string from " +"an 8-bit string. ``encoding`` is a string naming the encoding to use. The " +"``errors`` parameter specifies the treatment of characters that are invalid " +"for the current encoding; passing ``'strict'`` as the value causes an " +"exception to be raised on any encoding error, while ``'ignore'`` causes " +"errors to be silently ignored and ``'replace'`` uses U+FFFD, the official " +"replacement character, in case of any problems." #: ../../whatsnew/2.0.rst:192 msgid "" @@ -410,11 +419,11 @@ msgid "" "built-ins; if you find a built-in function that accepts strings but doesn't " "accept Unicode strings at all, please report it as a bug.)" msgstr "" -"A instrução ``exec``, e vários embutidos como ``eval()``, ``getattr()`` e " -"``setattr()`` também aceitarão strings Unicode assim como strings regulares. " -"(É possível que o processo de consertar isso tenha perdido algumas funções " -"embutidas; se você encontrar uma função embutida que aceita strings, mas não " -"aceita strings Unicode, informe-o como um bug.)" +"The ``exec`` statement, and various built-ins such as ``eval()``, " +"``getattr()``, and ``setattr()`` will also accept Unicode strings as well as " +"regular strings. (It's possible that the process of fixing this missed some " +"built-ins; if you find a built-in function that accepts strings but doesn't " +"accept Unicode strings at all, please report it as a bug.)" #: ../../whatsnew/2.0.rst:198 msgid "" @@ -424,12 +433,11 @@ msgid "" "it's uppercase. ``unicodedata.bidirectional(u'\\u0660')`` returns 'AN', " "meaning that U+0660 is an Arabic number." msgstr "" -"Um novo módulo, :mod:`unicodedata`, fornece uma interface para as " -"propriedades de caracteres Unicode. Por exemplo, ``unicodedata." -"category(u'A')`` retorna a string de 2 caracteres 'Lu', o 'L' denotando sua " -"letra e 'u' significando que é em maiúsculo. ``unicodedata." -"bidirectional(u'\\u0660')`` retorna 'AN', significando que U+0660 é um " -"número árabe." +"A new module, :mod:`unicodedata`, provides an interface to Unicode character " +"properties. For example, ``unicodedata.category(u'A')`` returns the 2-" +"character string 'Lu', the 'L' denoting it's a letter, and 'u' meaning that " +"it's uppercase. ``unicodedata.bidirectional(u'\\u0660')`` returns 'AN', " +"meaning that U+0660 is an Arabic number." #: ../../whatsnew/2.0.rst:204 msgid "" @@ -438,11 +446,10 @@ msgid "" "most often use the ``codecs.lookup(encoding)`` function, which returns a 4-" "element tuple: ``(encode_func, decode_func, stream_reader, stream_writer)``." msgstr "" -"O módulo :mod:`codecs` contém funções para pesquisar codificações existentes " -"e registrar novas. A menos que você queira implementar uma nova codificação, " -"você usará mais frequentemente a função ``codecs.lookup(encoding)``, a qual " -"retorna uma tupla de 4 elementos: ``(encode_func, decode_func, " -"stream_reader, stream_writer)``." +"The :mod:`codecs` module contains functions to look up existing encodings " +"and register new ones. Unless you want to implement a new encoding, you'll " +"most often use the ``codecs.lookup(encoding)`` function, which returns a 4-" +"element tuple: ``(encode_func, decode_func, stream_reader, stream_writer)``." #: ../../whatsnew/2.0.rst:209 msgid "" @@ -452,10 +459,11 @@ msgid "" "encoding, and *length* tells you how much of the Unicode string was " "converted." msgstr "" -"*encode_func* é uma função que recebe uma string Unicode e retorna uma tupla " -"de 2 elementos ``(string, length)``. *string* é uma string de 8 bits que " -"contém uma parte (talvez toda) da string Unicode convertida na codificação " -"fornecida e *length* informa quanto da string Unicode foi convertida." +"*encode_func* is a function that takes a Unicode string, and returns a 2-" +"tuple ``(string, length)``. *string* is an 8-bit string containing a " +"portion (perhaps all) of the Unicode string converted into the given " +"encoding, and *length* tells you how much of the Unicode string was " +"converted." #: ../../whatsnew/2.0.rst:214 msgid "" @@ -464,36 +472,46 @@ msgid "" "Unicode string *ustring* and the integer *length* telling how much of the 8-" "bit string was consumed." msgstr "" -"*decode_func* é o oposto de *encode_func*, pegando uma string de 8 bits e " -"retornando uma tupla de 2 elementos ``(ustring, length)``, consistindo na " -"string Unicode resultante *ustring* e o inteiro *length* informando quanto " -"do String de 8 bits foi consumida." +"*decode_func* is the opposite of *encode_func*, taking an 8-bit string and " +"returning a 2-tuple ``(ustring, length)``, consisting of the resulting " +"Unicode string *ustring* and the integer *length* telling how much of the 8-" +"bit string was consumed." #: ../../whatsnew/2.0.rst:219 msgid "" "*stream_reader* is a class that supports decoding input from a stream. " -"*stream_reader(file_obj)* returns an object that supports the :meth:`read`, :" -"meth:`readline`, and :meth:`readlines` methods. These methods will all " -"translate from the given encoding and return Unicode strings." +"*stream_reader(file_obj)* returns an object that supports the :meth:`!" +"read`, :meth:`!readline`, and :meth:`!readlines` methods. These methods " +"will all translate from the given encoding and return Unicode strings." msgstr "" +"*stream_reader* is a class that supports decoding input from a stream. " +"*stream_reader(file_obj)* returns an object that supports the :meth:`!" +"read`, :meth:`!readline`, and :meth:`!readlines` methods. These methods " +"will all translate from the given encoding and return Unicode strings." #: ../../whatsnew/2.0.rst:224 msgid "" "*stream_writer*, similarly, is a class that supports encoding output to a " -"stream. *stream_writer(file_obj)* returns an object that supports the :meth:" -"`write` and :meth:`writelines` methods. These methods expect Unicode " -"strings, translating them to the given encoding on output." +"stream. *stream_writer(file_obj)* returns an object that supports " +"the :meth:`!write` and :meth:`!writelines` methods. These methods expect " +"Unicode strings, translating them to the given encoding on output." msgstr "" +"*stream_writer*, similarly, is a class that supports encoding output to a " +"stream. *stream_writer(file_obj)* returns an object that supports " +"the :meth:`!write` and :meth:`!writelines` methods. These methods expect " +"Unicode strings, translating them to the given encoding on output." #: ../../whatsnew/2.0.rst:229 msgid "" "For example, the following code writes a Unicode string into a file, " "encoding it as UTF-8::" msgstr "" +"For example, the following code writes a Unicode string into a file, " +"encoding it as UTF-8::" #: ../../whatsnew/2.0.rst:243 msgid "The following code would then read UTF-8 input from the file::" -msgstr "" +msgstr "The following code would then read UTF-8 input from the file::" #: ../../whatsnew/2.0.rst:249 msgid "" @@ -501,6 +519,9 @@ msgid "" "module, which has a new underlying implementation called SRE written by " "Fredrik Lundh of Secret Labs AB." msgstr "" +"Unicode-aware regular expressions are available through the :mod:`re` " +"module, which has a new underlying implementation called SRE written by " +"Fredrik Lundh of Secret Labs AB." #: ../../whatsnew/2.0.rst:253 msgid "" @@ -510,6 +531,11 @@ msgid "" "future version of Python may drop support for 8-bit strings and provide only " "Unicode strings." msgstr "" +"A ``-U`` command line option was added which causes the Python compiler to " +"interpret all string literals as Unicode string literals. This is intended " +"to be used in testing and future-proofing your Python code, since some " +"future version of Python may drop support for 8-bit strings and provide only " +"Unicode strings." #: ../../whatsnew/2.0.rst:262 msgid "List Comprehensions" @@ -524,6 +550,12 @@ msgid "" "might want to pull out all the strings containing a given substring, or " "strip off trailing whitespace from each line." msgstr "" +"Lists are a workhorse data type in Python, and many programs manipulate a " +"list at some point. Two common operations on lists are to loop over them, " +"and either pick out the elements that meet a certain criterion, or apply " +"some function to each element. For example, given a list of strings, you " +"might want to pull out all the strings containing a given substring, or " +"strip off trailing whitespace from each line." #: ../../whatsnew/2.0.rst:271 msgid "" @@ -536,6 +568,14 @@ msgid "" "paragraph, finding all the strings in the list containing a given " "substring. You could write the following to do it::" msgstr "" +"The existing :func:`map` and :func:`filter` functions can be used for this " +"purpose, but they require a function as one of their arguments. This is " +"fine if there's an existing built-in function that can be passed directly, " +"but if there isn't, you have to create a little function to do the required " +"work, and Python's scoping rules make the result ugly if the little function " +"needs additional information. Take the first example in the previous " +"paragraph, finding all the strings in the list containing a given " +"substring. You could write the following to do it::" #: ../../whatsnew/2.0.rst:286 msgid "" @@ -543,10 +583,13 @@ msgid "" "anonymous function created by the :keyword:`lambda` expression knows what " "substring is being searched for. List comprehensions make this cleaner::" msgstr "" +"Because of Python's scoping rules, a default argument is used so that the " +"anonymous function created by the :keyword:`lambda` expression knows what " +"substring is being searched for. List comprehensions make this cleaner::" #: ../../whatsnew/2.0.rst:292 msgid "List comprehensions have the form::" -msgstr "" +msgstr "List comprehensions have the form::" #: ../../whatsnew/2.0.rst:299 msgid "" @@ -554,16 +597,25 @@ msgid "" "iterated over. The sequences do not have to be the same length, because " "they are *not* iterated over in parallel, but from left to right; this is " "explained more clearly in the following paragraphs. The elements of the " -"generated list will be the successive values of *expression*. The final :" -"keyword:`!if` clause is optional; if present, *expression* is only evaluated " -"and added to the result if *condition* is true." +"generated list will be the successive values of *expression*. The " +"final :keyword:`!if` clause is optional; if present, *expression* is only " +"evaluated and added to the result if *condition* is true." msgstr "" +"The :keyword:`!for`...\\ :keyword:`!in` clauses contain the sequences to be " +"iterated over. The sequences do not have to be the same length, because " +"they are *not* iterated over in parallel, but from left to right; this is " +"explained more clearly in the following paragraphs. The elements of the " +"generated list will be the successive values of *expression*. The " +"final :keyword:`!if` clause is optional; if present, *expression* is only " +"evaluated and added to the result if *condition* is true." #: ../../whatsnew/2.0.rst:307 msgid "" "To make the semantics very clear, a list comprehension is equivalent to the " "following Python code::" msgstr "" +"To make the semantics very clear, a list comprehension is equivalent to the " +"following Python code::" #: ../../whatsnew/2.0.rst:319 msgid "" @@ -572,6 +624,10 @@ msgid "" "all the sequences. If you have two lists of length 3, the output list is 9 " "elements long::" msgstr "" +"This means that when there are multiple :keyword:`!for`...\\ :keyword:`!in` " +"clauses, the resulting list will be equal to the product of the lengths of " +"all the sequences. If you have two lists of length 3, the output list is 9 " +"elements long::" #: ../../whatsnew/2.0.rst:330 msgid "" @@ -579,6 +635,9 @@ msgid "" "creating a tuple, it must be surrounded with parentheses. The first list " "comprehension below is a syntax error, while the second one is correct::" msgstr "" +"To avoid introducing an ambiguity into Python's grammar, if *expression* is " +"creating a tuple, it must be surrounded with parentheses. The first list " +"comprehension below is a syntax error, while the second one is correct::" #: ../../whatsnew/2.0.rst:339 msgid "" @@ -588,10 +647,15 @@ msgid "" "comprehension patch, which was then discussed for a seemingly endless time " "on the python-dev mailing list and kept up-to-date by Skip Montanaro." msgstr "" +"The idea of list comprehensions originally comes from the functional " +"programming language Haskell (https://www.haskell.org). Greg Ewing argued " +"most effectively for adding them to Python and wrote the initial list " +"comprehension patch, which was then discussed for a seemingly endless time " +"on the python-dev mailing list and kept up-to-date by Skip Montanaro." #: ../../whatsnew/2.0.rst:349 msgid "Augmented Assignment" -msgstr "" +msgstr "Augmented Assignment" #: ../../whatsnew/2.0.rst:351 msgid "" @@ -601,24 +665,39 @@ msgid "" "value of the variable ``a`` by 2, equivalent to the slightly lengthier ``a " "= a + 2``." msgstr "" +"Augmented assignment operators, another long-requested feature, have been " +"added to Python 2.0. Augmented assignment operators include ``+=``, ``-=``, " +"``*=``, and so forth. For example, the statement ``a += 2`` increments the " +"value of the variable ``a`` by 2, equivalent to the slightly lengthier ``a " +"= a + 2``." #: ../../whatsnew/2.0.rst:356 msgid "" "The full list of supported assignment operators is ``+=``, ``-=``, ``*=``, " "``/=``, ``%=``, ``**=``, ``&=``, ``|=``, ``^=``, ``>>=``, and ``<<=``. " "Python classes can override the augmented assignment operators by defining " -"methods named :meth:`__iadd__`, :meth:`__isub__`, etc. For example, the " -"following :class:`Number` class stores a number and supports using += to " +"methods named :meth:`!__iadd__`, :meth:`!__isub__`, etc. For example, the " +"following :class:`!Number` class stores a number and supports using += to " "create a new instance with an incremented value." msgstr "" +"The full list of supported assignment operators is ``+=``, ``-=``, ``*=``, " +"``/=``, ``%=``, ``**=``, ``&=``, ``|=``, ``^=``, ``>>=``, and ``<<=``. " +"Python classes can override the augmented assignment operators by defining " +"methods named :meth:`!__iadd__`, :meth:`!__isub__`, etc. For example, the " +"following :class:`!Number` class stores a number and supports using += to " +"create a new instance with an incremented value." #: ../../whatsnew/2.0.rst:377 msgid "" -"The :meth:`__iadd__` special method is called with the value of the " +"The :meth:`!__iadd__` special method is called with the value of the " "increment, and should return a new instance with an appropriately modified " "value; this return value is bound as the new value of the variable on the " "left-hand side." msgstr "" +"The :meth:`!__iadd__` special method is called with the value of the " +"increment, and should return a new instance with an appropriately modified " +"value; this return value is bound as the new value of the variable on the " +"left-hand side." #: ../../whatsnew/2.0.rst:381 msgid "" @@ -627,21 +706,32 @@ msgid "" "Perl, and PHP also support them. The augmented assignment patch was " "implemented by Thomas Wouters." msgstr "" +"Augmented assignment operators were first introduced in the C programming " +"language, and most C-derived languages, such as :program:`awk`, C++, Java, " +"Perl, and PHP also support them. The augmented assignment patch was " +"implemented by Thomas Wouters." #: ../../whatsnew/2.0.rst:390 msgid "String Methods" -msgstr "Métodos de string" +msgstr "String Methods" #: ../../whatsnew/2.0.rst:392 msgid "" "Until now string-manipulation functionality was in the :mod:`string` module, " -"which was usually a front-end for the :mod:`strop` module written in C. The " -"addition of Unicode posed a difficulty for the :mod:`strop` module, because " -"the functions would all need to be rewritten in order to accept either 8-bit " -"or Unicode strings. For functions such as :func:`string.replace`, which " -"takes 3 string arguments, that means eight possible permutations, and " -"correspondingly complicated code." +"which was usually a front-end for the :mod:`!strop` module written in C. " +"The addition of Unicode posed a difficulty for the :mod:`!strop` module, " +"because the functions would all need to be rewritten in order to accept " +"either 8-bit or Unicode strings. For functions such as :func:`!" +"string.replace`, which takes 3 string arguments, that means eight possible " +"permutations, and correspondingly complicated code." msgstr "" +"Until now string-manipulation functionality was in the :mod:`string` module, " +"which was usually a front-end for the :mod:`!strop` module written in C. " +"The addition of Unicode posed a difficulty for the :mod:`!strop` module, " +"because the functions would all need to be rewritten in order to accept " +"either 8-bit or Unicode strings. For functions such as :func:`!" +"string.replace`, which takes 3 string arguments, that means eight possible " +"permutations, and correspondingly complicated code." #: ../../whatsnew/2.0.rst:400 msgid "" @@ -649,6 +739,9 @@ msgid "" "manipulation functionality available through methods on both 8-bit strings " "and Unicode strings. ::" msgstr "" +"Instead, Python 2.0 pushes the problem onto the string type, making string " +"manipulation functionality available through methods on both 8-bit strings " +"and Unicode strings. ::" #: ../../whatsnew/2.0.rst:411 msgid "" @@ -657,33 +750,48 @@ msgid "" "methods return new strings, and do not modify the string on which they " "operate." msgstr "" +"One thing that hasn't changed, a noteworthy April Fools' joke " +"notwithstanding, is that Python strings are immutable. Thus, the string " +"methods return new strings, and do not modify the string on which they " +"operate." #: ../../whatsnew/2.0.rst:415 msgid "" "The old :mod:`string` module is still around for backwards compatibility, " "but it mostly acts as a front-end to the new string methods." msgstr "" +"The old :mod:`string` module is still around for backwards compatibility, " +"but it mostly acts as a front-end to the new string methods." #: ../../whatsnew/2.0.rst:418 msgid "" "Two methods which have no parallel in pre-2.0 versions, although they did " -"exist in JPython for quite some time, are :meth:`startswith` and :meth:" -"`endswith`. ``s.startswith(t)`` is equivalent to ``s[:len(t)] == t``, while " +"exist in JPython for quite some time, are :meth:`!startswith` and :meth:`!" +"endswith`. ``s.startswith(t)`` is equivalent to ``s[:len(t)] == t``, while " "``s.endswith(t)`` is equivalent to ``s[-len(t):] == t``." msgstr "" +"Two methods which have no parallel in pre-2.0 versions, although they did " +"exist in JPython for quite some time, are :meth:`!startswith` and :meth:`!" +"endswith`. ``s.startswith(t)`` is equivalent to ``s[:len(t)] == t``, while " +"``s.endswith(t)`` is equivalent to ``s[-len(t):] == t``." #: ../../whatsnew/2.0.rst:423 msgid "" -"One other method which deserves special mention is :meth:`join`. The :meth:" -"`join` method of a string receives one parameter, a sequence of strings, and " -"is equivalent to the :func:`string.join` function from the old :mod:`string` " -"module, with the arguments reversed. In other words, ``s.join(seq)`` is " -"equivalent to the old ``string.join(seq, s)``." +"One other method which deserves special mention is :meth:`!join`. " +"The :meth:`!join` method of a string receives one parameter, a sequence of " +"strings, and is equivalent to the :func:`!string.join` function from the " +"old :mod:`string` module, with the arguments reversed. In other words, " +"``s.join(seq)`` is equivalent to the old ``string.join(seq, s)``." msgstr "" +"One other method which deserves special mention is :meth:`!join`. " +"The :meth:`!join` method of a string receives one parameter, a sequence of " +"strings, and is equivalent to the :func:`!string.join` function from the " +"old :mod:`string` module, with the arguments reversed. In other words, " +"``s.join(seq)`` is equivalent to the old ``string.join(seq, s)``." #: ../../whatsnew/2.0.rst:433 msgid "Garbage Collection of Cycles" -msgstr "" +msgstr "Garbage Collection of Cycles" #: ../../whatsnew/2.0.rst:435 msgid "" @@ -694,6 +802,12 @@ msgid "" "no longer accessible, since you need to have a reference to an object to " "access it, and if the count is zero, no references exist any longer." msgstr "" +"The C implementation of Python uses reference counting to implement garbage " +"collection. Every Python object maintains a count of the number of " +"references pointing to itself, and adjusts the count as references are " +"created or destroyed. Once the reference count reaches zero, the object is " +"no longer accessible, since you need to have a reference to an object to " +"access it, and if the count is zero, no references exist any longer." #: ../../whatsnew/2.0.rst:442 msgid "" @@ -704,12 +818,20 @@ msgid "" "doesn't realise that objects are no longer accessible, resulting in a memory " "leak. This happens when there are cycles of references." msgstr "" +"Reference counting has some pleasant properties: it's easy to understand and " +"implement, and the resulting implementation is portable, fairly fast, and " +"reacts well with other libraries that implement their own memory handling " +"schemes. The major problem with reference counting is that it sometimes " +"doesn't realise that objects are no longer accessible, resulting in a memory " +"leak. This happens when there are cycles of references." #: ../../whatsnew/2.0.rst:449 msgid "" "Consider the simplest possible cycle, a class instance which has a " "reference to itself::" msgstr "" +"Consider the simplest possible cycle, a class instance which has a " +"reference to itself::" #: ../../whatsnew/2.0.rst:455 msgid "" @@ -717,6 +839,9 @@ msgid "" "``instance`` is 2; one reference is from the variable named ``'instance'``, " "and the other is from the ``myself`` attribute of the instance." msgstr "" +"After the above two lines of code have been executed, the reference count of " +"``instance`` is 2; one reference is from the variable named ``'instance'``, " +"and the other is from the ``myself`` attribute of the instance." #: ../../whatsnew/2.0.rst:459 msgid "" @@ -727,6 +852,12 @@ msgid "" "objects can participate in a cycle if they have references to each other, " "causing all of the objects to be leaked." msgstr "" +"If the next line of code is ``del instance``, what happens? The reference " +"count of ``instance`` is decreased by 1, so it has a reference count of 1; " +"the reference in the ``myself`` attribute still exists. Yet the instance is " +"no longer accessible through Python code, and it could be deleted. Several " +"objects can participate in a cycle if they have references to each other, " +"causing all of the objects to be leaked." #: ../../whatsnew/2.0.rst:466 msgid "" @@ -736,6 +867,11 @@ msgid "" "collection, obtain debugging statistics, and tuning the collector's " "parameters." msgstr "" +"Python 2.0 fixes this problem by periodically executing a cycle detection " +"algorithm which looks for inaccessible cycles and deletes the objects " +"involved. A new :mod:`gc` module provides functions to perform a garbage " +"collection, obtain debugging statistics, and tuning the collector's " +"parameters." #: ../../whatsnew/2.0.rst:471 msgid "" @@ -750,6 +886,16 @@ msgid "" "buggy, by specifying the :option:`!--without-cycle-gc` switch when running " "the :program:`configure` script." msgstr "" +"Running the cycle detection algorithm takes some time, and therefore will " +"result in some additional overhead. It is hoped that after we've gotten " +"experience with the cycle collection from using 2.0, Python 2.1 will be able " +"to minimize the overhead with careful tuning. It's not yet obvious how much " +"performance is lost, because benchmarking this is tricky and depends " +"crucially on how often the program creates and destroys objects. The " +"detection of cycles can be disabled when Python is compiled, if you can't " +"afford even a tiny speed penalty or suspect that the cycle collection is " +"buggy, by specifying the :option:`!--without-cycle-gc` switch when running " +"the :program:`configure` script." #: ../../whatsnew/2.0.rst:482 msgid "" @@ -763,10 +909,19 @@ msgid "" "threads titled \"Reference cycle collection for Python\" and \"Finalization " "again\"." msgstr "" +"Several people tackled this problem and contributed to a solution. An early " +"implementation of the cycle detection approach was written by Toby Kelsey. " +"The current algorithm was suggested by Eric Tiedemann during a visit to " +"CNRI, and Guido van Rossum and Neil Schemenauer wrote two different " +"implementations, which were later integrated by Neil. Lots of other people " +"offered suggestions along the way; the March 2000 archives of the python-dev " +"mailing list contain most of the relevant discussion, especially in the " +"threads titled \"Reference cycle collection for Python\" and \"Finalization " +"again\"." #: ../../whatsnew/2.0.rst:495 msgid "Other Core Changes" -msgstr "" +msgstr "Other Core Changes" #: ../../whatsnew/2.0.rst:497 msgid "" @@ -774,33 +929,51 @@ msgid "" "functions. None of the changes are very far-reaching, but they're handy " "conveniences." msgstr "" +"Various minor changes have been made to Python's syntax and built-in " +"functions. None of the changes are very far-reaching, but they're handy " +"conveniences." #: ../../whatsnew/2.0.rst:502 msgid "Minor Language Changes" -msgstr "Alterações Menores na Linguagem" +msgstr "Minor Language Changes" #: ../../whatsnew/2.0.rst:504 msgid "" "A new syntax makes it more convenient to call a given function with a tuple " "of arguments and/or a dictionary of keyword arguments. In Python 1.5 and " -"earlier, you'd use the :func:`apply` built-in function: ``apply(f, args, " -"kw)`` calls the function :func:`f` with the argument tuple *args* and the " -"keyword arguments in the dictionary *kw*. :func:`apply` is the same in " +"earlier, you'd use the :func:`!apply` built-in function: ``apply(f, args, " +"kw)`` calls the function :func:`!f` with the argument tuple *args* and the " +"keyword arguments in the dictionary *kw*. :func:`!apply` is the same in " "2.0, but thanks to a patch from Greg Ewing, ``f(*args, **kw)`` is a shorter " "and clearer way to achieve the same effect. This syntax is symmetrical with " "the syntax for defining functions::" msgstr "" +"A new syntax makes it more convenient to call a given function with a tuple " +"of arguments and/or a dictionary of keyword arguments. In Python 1.5 and " +"earlier, you'd use the :func:`!apply` built-in function: ``apply(f, args, " +"kw)`` calls the function :func:`!f` with the argument tuple *args* and the " +"keyword arguments in the dictionary *kw*. :func:`!apply` is the same in " +"2.0, but thanks to a patch from Greg Ewing, ``f(*args, **kw)`` is a shorter " +"and clearer way to achieve the same effect. This syntax is symmetrical with " +"the syntax for defining functions::" #: ../../whatsnew/2.0.rst:518 msgid "" "The ``print`` statement can now have its output directed to a file-like " "object by following the ``print`` with ``>> file``, similar to the " "redirection operator in Unix shells. Previously you'd either have to use " -"the :meth:`write` method of the file-like object, which lacks the " +"the :meth:`!write` method of the file-like object, which lacks the " "convenience and simplicity of ``print``, or you could assign a new value to " "``sys.stdout`` and then restore the old value. For sending output to " "standard error, it's much easier to write this::" msgstr "" +"The ``print`` statement can now have its output directed to a file-like " +"object by following the ``print`` with ``>> file``, similar to the " +"redirection operator in Unix shells. Previously you'd either have to use " +"the :meth:`!write` method of the file-like object, which lacks the " +"convenience and simplicity of ``print``, or you could assign a new value to " +"``sys.stdout`` and then restore the old value. For sending output to " +"standard error, it's much easier to write this::" #: ../../whatsnew/2.0.rst:528 msgid "" @@ -808,6 +981,9 @@ msgid "" "module as name`` or ``from module import name as othername``. The patch was " "submitted by Thomas Wouters." msgstr "" +"Modules can now be renamed on importing them, using the syntax ``import " +"module as name`` or ``from module import name as othername``. The patch was " +"submitted by Thomas Wouters." #: ../../whatsnew/2.0.rst:532 msgid "" @@ -817,6 +993,11 @@ msgid "" "which inserts the :func:`str` of its argument. For example, ``'%r %s' % " "('abc', 'abc')`` returns a string containing ``'abc' abc``." msgstr "" +"A new format style is available when using the ``%`` operator; '%r' will " +"insert the :func:`repr` of its argument. This was also added from symmetry " +"considerations, this time for symmetry with the existing '%s' format style, " +"which inserts the :func:`str` of its argument. For example, ``'%r %s' % " +"('abc', 'abc')`` returns a string containing ``'abc' abc``." #: ../../whatsnew/2.0.rst:538 msgid "" @@ -825,11 +1006,20 @@ msgid "" "seq`` returns true if *obj* is present in the sequence *seq*; Python " "computes this by simply trying every index of the sequence until either " "*obj* is found or an :exc:`IndexError` is encountered. Moshe Zadka " -"contributed a patch which adds a :meth:`__contains__` magic method for " +"contributed a patch which adds a :meth:`!__contains__` magic method for " "providing a custom implementation for :keyword:`!in`. Additionally, new " "built-in objects written in C can define what :keyword:`!in` means for them " "via a new slot in the sequence protocol." msgstr "" +"Previously there was no way to implement a class that overrode Python's " +"built-in :keyword:`in` operator and implemented a custom version. ``obj in " +"seq`` returns true if *obj* is present in the sequence *seq*; Python " +"computes this by simply trying every index of the sequence until either " +"*obj* is found or an :exc:`IndexError` is encountered. Moshe Zadka " +"contributed a patch which adds a :meth:`!__contains__` magic method for " +"providing a custom implementation for :keyword:`!in`. Additionally, new " +"built-in objects written in C can define what :keyword:`!in` means for them " +"via a new slot in the sequence protocol." #: ../../whatsnew/2.0.rst:547 msgid "" @@ -840,6 +1030,12 @@ msgid "" "and crashed; Jeremy Hylton rewrote the code to no longer crash, producing a " "useful result instead. For example, after this code::" msgstr "" +"Earlier versions of Python used a recursive algorithm for deleting objects. " +"Deeply nested data structures could cause the interpreter to fill up the C " +"stack and crash; Christian Tismer rewrote the deletion logic to fix this " +"problem. On a related note, comparing recursive objects recursed infinitely " +"and crashed; Jeremy Hylton rewrote the code to no longer crash, producing a " +"useful result instead. For example, after this code::" #: ../../whatsnew/2.0.rst:559 msgid "" @@ -849,19 +1045,33 @@ msgid "" "to this implementation, and some useful relevant links. Note that " "comparisons can now also raise exceptions. In earlier versions of Python, a " "comparison operation such as ``cmp(a,b)`` would always produce an answer, " -"even if a user-defined :meth:`__cmp__` method encountered an error, since " +"even if a user-defined :meth:`!__cmp__` method encountered an error, since " "the resulting exception would simply be silently swallowed." msgstr "" +"The comparison ``a==b`` returns true, because the two recursive data " +"structures are isomorphic. See the thread \"trashcan and PR#7\" in the April " +"2000 archives of the python-dev mailing list for the discussion leading up " +"to this implementation, and some useful relevant links. Note that " +"comparisons can now also raise exceptions. In earlier versions of Python, a " +"comparison operation such as ``cmp(a,b)`` would always produce an answer, " +"even if a user-defined :meth:`!__cmp__` method encountered an error, since " +"the resulting exception would simply be silently swallowed." #: ../../whatsnew/2.0.rst:571 msgid "" "Work has been done on porting Python to 64-bit Windows on the Itanium " -"processor, mostly by Trent Mick of ActiveState. (Confusingly, ``sys." -"platform`` is still ``'win32'`` on Win64 because it seems that for ease of " -"porting, MS Visual C++ treats code as 32 bit on Itanium.) PythonWin also " -"supports Windows CE; see the Python CE page at https://pythonce.sourceforge." -"net/ for more information." +"processor, mostly by Trent Mick of ActiveState. (Confusingly, " +"``sys.platform`` is still ``'win32'`` on Win64 because it seems that for " +"ease of porting, MS Visual C++ treats code as 32 bit on Itanium.) PythonWin " +"also supports Windows CE; see the Python CE page at https://" +"pythonce.sourceforge.net/ for more information." msgstr "" +"Work has been done on porting Python to 64-bit Windows on the Itanium " +"processor, mostly by Trent Mick of ActiveState. (Confusingly, " +"``sys.platform`` is still ``'win32'`` on Win64 because it seems that for " +"ease of porting, MS Visual C++ treats code as 32 bit on Itanium.) PythonWin " +"also supports Windows CE; see the Python CE page at https://" +"pythonce.sourceforge.net/ for more information." #: ../../whatsnew/2.0.rst:577 msgid "" @@ -870,6 +1080,10 @@ msgid "" "suffix=.x\". Consult the README in the Python source distribution for more " "instructions." msgstr "" +"Another new platform is Darwin/MacOS X; initial support for it is in Python " +"2.0. Dynamic loading works, if you specify \"configure --with-dyld --with-" +"suffix=.x\". Consult the README in the Python source distribution for more " +"instructions." #: ../../whatsnew/2.0.rst:581 msgid "" @@ -877,11 +1091,19 @@ msgid "" "confusing :exc:`NameError` exception when code refers to a local variable " "before the variable has been assigned a value. For example, the following " "code raises an exception on the ``print`` statement in both 1.5.2 and 2.0; " -"in 1.5.2 a :exc:`NameError` exception is raised, while 2.0 raises a new :exc:" -"`UnboundLocalError` exception. :exc:`UnboundLocalError` is a subclass of :" -"exc:`NameError`, so any existing code that expects :exc:`NameError` to be " -"raised should still work. ::" +"in 1.5.2 a :exc:`NameError` exception is raised, while 2.0 raises a " +"new :exc:`UnboundLocalError` exception. :exc:`UnboundLocalError` is a " +"subclass of :exc:`NameError`, so any existing code that " +"expects :exc:`NameError` to be raised should still work. ::" msgstr "" +"An attempt has been made to alleviate one of Python's warts, the often-" +"confusing :exc:`NameError` exception when code refers to a local variable " +"before the variable has been assigned a value. For example, the following " +"code raises an exception on the ``print`` statement in both 1.5.2 and 2.0; " +"in 1.5.2 a :exc:`NameError` exception is raised, while 2.0 raises a " +"new :exc:`UnboundLocalError` exception. :exc:`UnboundLocalError` is a " +"subclass of :exc:`NameError`, so any existing code that " +"expects :exc:`NameError` to be raised should still work. ::" #: ../../whatsnew/2.0.rst:595 msgid "" @@ -889,10 +1111,13 @@ msgid "" "introduced. They're both subclasses of :exc:`SyntaxError`, and are raised " "when Python code is found to be improperly indented." msgstr "" +"Two new exceptions, :exc:`TabError` and :exc:`IndentationError`, have been " +"introduced. They're both subclasses of :exc:`SyntaxError`, and are raised " +"when Python code is found to be improperly indented." #: ../../whatsnew/2.0.rst:601 msgid "Changes to Built-in Functions" -msgstr "" +msgstr "Changes to Built-in Functions" #: ../../whatsnew/2.0.rst:603 msgid "" @@ -903,53 +1128,82 @@ msgid "" "``None`` if the sequences aren't all of the same length, while :func:`zip` " "truncates the returned list to the length of the shortest argument sequence." msgstr "" +"A new built-in, ``zip(seq1, seq2, ...)``, has been added. :func:`zip` " +"returns a list of tuples where each tuple contains the i-th element from " +"each of the argument sequences. The difference between :func:`zip` and " +"``map(None, seq1, seq2)`` is that :func:`map` pads the sequences with " +"``None`` if the sequences aren't all of the same length, while :func:`zip` " +"truncates the returned list to the length of the shortest argument sequence." #: ../../whatsnew/2.0.rst:610 msgid "" -"The :func:`int` and :func:`long` functions now accept an optional \"base\" " +"The :func:`int` and :func:`!long` functions now accept an optional \"base\" " "parameter when the first argument is a string. ``int('123', 10)`` returns " -"123, while ``int('123', 16)`` returns 291. ``int(123, 16)`` raises a :exc:" -"`TypeError` exception with the message \"can't convert non-string with " -"explicit base\"." +"123, while ``int('123', 16)`` returns 291. ``int(123, 16)`` raises " +"a :exc:`TypeError` exception with the message \"can't convert non-string " +"with explicit base\"." msgstr "" +"The :func:`int` and :func:`!long` functions now accept an optional \"base\" " +"parameter when the first argument is a string. ``int('123', 10)`` returns " +"123, while ``int('123', 16)`` returns 291. ``int(123, 16)`` raises " +"a :exc:`TypeError` exception with the message \"can't convert non-string " +"with explicit base\"." #: ../../whatsnew/2.0.rst:616 msgid "" "A new variable holding more detailed version information has been added to " "the :mod:`sys` module. ``sys.version_info`` is a tuple ``(major, minor, " -"micro, level, serial)`` For example, in a hypothetical 2.0.1beta1, ``sys." -"version_info`` would be ``(2, 0, 1, 'beta', 1)``. *level* is a string such " -"as ``\"alpha\"``, ``\"beta\"``, or ``\"final\"`` for a final release." +"micro, level, serial)`` For example, in a hypothetical 2.0.1beta1, " +"``sys.version_info`` would be ``(2, 0, 1, 'beta', 1)``. *level* is a string " +"such as ``\"alpha\"``, ``\"beta\"``, or ``\"final\"`` for a final release." msgstr "" +"A new variable holding more detailed version information has been added to " +"the :mod:`sys` module. ``sys.version_info`` is a tuple ``(major, minor, " +"micro, level, serial)`` For example, in a hypothetical 2.0.1beta1, " +"``sys.version_info`` would be ``(2, 0, 1, 'beta', 1)``. *level* is a string " +"such as ``\"alpha\"``, ``\"beta\"``, or ``\"final\"`` for a final release." #: ../../whatsnew/2.0.rst:622 msgid "" "Dictionaries have an odd new method, ``setdefault(key, default)``, which " -"behaves similarly to the existing :meth:`get` method. However, if the key " -"is missing, :meth:`setdefault` both returns the value of *default* as :meth:" -"`get` would do, and also inserts it into the dictionary as the value for " -"*key*. Thus, the following lines of code::" +"behaves similarly to the existing :meth:`!get` method. However, if the key " +"is missing, :meth:`!setdefault` both returns the value of *default* " +"as :meth:`!get` would do, and also inserts it into the dictionary as the " +"value for *key*. Thus, the following lines of code::" msgstr "" +"Dictionaries have an odd new method, ``setdefault(key, default)``, which " +"behaves similarly to the existing :meth:`!get` method. However, if the key " +"is missing, :meth:`!setdefault` both returns the value of *default* " +"as :meth:`!get` would do, and also inserts it into the dictionary as the " +"value for *key*. Thus, the following lines of code::" #: ../../whatsnew/2.0.rst:633 msgid "" "can be reduced to a single ``return dict.setdefault(key, [])`` statement." msgstr "" +"can be reduced to a single ``return dict.setdefault(key, [])`` statement." #: ../../whatsnew/2.0.rst:635 msgid "" "The interpreter sets a maximum recursion depth in order to catch runaway " "recursion before filling the C stack and causing a core dump or GPF.. " "Previously this limit was fixed when you compiled Python, but in 2.0 the " -"maximum recursion depth can be read and modified using :func:`sys." -"getrecursionlimit` and :func:`sys.setrecursionlimit`. The default value is " -"1000, and a rough maximum value for a given platform can be found by running " -"a new script, :file:`Misc/find_recursionlimit.py`." +"maximum recursion depth can be read and modified " +"using :func:`sys.getrecursionlimit` and :func:`sys.setrecursionlimit`. The " +"default value is 1000, and a rough maximum value for a given platform can be " +"found by running a new script, :file:`Misc/find_recursionlimit.py`." msgstr "" +"The interpreter sets a maximum recursion depth in order to catch runaway " +"recursion before filling the C stack and causing a core dump or GPF.. " +"Previously this limit was fixed when you compiled Python, but in 2.0 the " +"maximum recursion depth can be read and modified " +"using :func:`sys.getrecursionlimit` and :func:`sys.setrecursionlimit`. The " +"default value is 1000, and a rough maximum value for a given platform can be " +"found by running a new script, :file:`Misc/find_recursionlimit.py`." #: ../../whatsnew/2.0.rst:647 msgid "Porting to 2.0" -msgstr "" +msgstr "Porting to 2.0" #: ../../whatsnew/2.0.rst:649 msgid "" @@ -960,46 +1214,82 @@ msgid "" "always be avoided. This section lists the changes in Python 2.0 that may " "cause old Python code to break." msgstr "" +"New Python releases try hard to be compatible with previous releases, and " +"the record has been pretty good. However, some changes are considered " +"useful enough, usually because they fix initial design decisions that turned " +"out to be actively mistaken, that breaking backward compatibility can't " +"always be avoided. This section lists the changes in Python 2.0 that may " +"cause old Python code to break." #: ../../whatsnew/2.0.rst:656 msgid "" "The change which will probably break the most code is tightening up the " "arguments accepted by some methods. Some methods would take multiple " "arguments and treat them as a tuple, particularly various list methods such " -"as :meth:`append` and :meth:`insert`. In earlier versions of Python, if " +"as :meth:`!append` and :meth:`!insert`. In earlier versions of Python, if " "``L`` is a list, ``L.append( 1,2 )`` appends the tuple ``(1,2)`` to the " "list. In Python 2.0 this causes a :exc:`TypeError` exception to be raised, " "with the message: 'append requires exactly 1 argument; 2 given'. The fix is " "to simply add an extra set of parentheses to pass both values as a tuple: " "``L.append( (1,2) )``." msgstr "" +"The change which will probably break the most code is tightening up the " +"arguments accepted by some methods. Some methods would take multiple " +"arguments and treat them as a tuple, particularly various list methods such " +"as :meth:`!append` and :meth:`!insert`. In earlier versions of Python, if " +"``L`` is a list, ``L.append( 1,2 )`` appends the tuple ``(1,2)`` to the " +"list. In Python 2.0 this causes a :exc:`TypeError` exception to be raised, " +"with the message: 'append requires exactly 1 argument; 2 given'. The fix is " +"to simply add an extra set of parentheses to pass both values as a tuple: " +"``L.append( (1,2) )``." #: ../../whatsnew/2.0.rst:665 msgid "" "The earlier versions of these methods were more forgiving because they used " "an old function in Python's C interface to parse their arguments; 2.0 " -"modernizes them to use :func:`PyArg_ParseTuple`, the current argument " +"modernizes them to use :c:func:`PyArg_ParseTuple`, the current argument " "parsing function, which provides more helpful error messages and treats " "multi-argument calls as errors. If you absolutely must use 2.0 but can't " "fix your code, you can edit :file:`Objects/listobject.c` and define the " "preprocessor symbol ``NO_STRICT_LIST_APPEND`` to preserve the old behaviour; " "this isn't recommended." msgstr "" +"The earlier versions of these methods were more forgiving because they used " +"an old function in Python's C interface to parse their arguments; 2.0 " +"modernizes them to use :c:func:`PyArg_ParseTuple`, the current argument " +"parsing function, which provides more helpful error messages and treats " +"multi-argument calls as errors. If you absolutely must use 2.0 but can't " +"fix your code, you can edit :file:`Objects/listobject.c` and define the " +"preprocessor symbol ``NO_STRICT_LIST_APPEND`` to preserve the old behaviour; " +"this isn't recommended." #: ../../whatsnew/2.0.rst:673 msgid "" "Some of the functions in the :mod:`socket` module are still forgiving in " -"this way. For example, :func:`socket.connect( ('hostname', 25) )` is the " -"correct form, passing a tuple representing an IP address, but :func:`socket." -"connect( 'hostname', 25 )` also works. :func:`socket.connect_ex` and :func:" -"`socket.bind` are similarly easy-going. 2.0alpha1 tightened these functions " -"up, but because the documentation actually used the erroneous multiple " -"argument form, many people wrote code which would break with the stricter " -"checking. GvR backed out the changes in the face of public reaction, so for " -"the :mod:`socket` module, the documentation was fixed and the multiple " -"argument form is simply marked as deprecated; it *will* be tightened up " -"again in a future Python version." +"this way. For example, ``socket.connect( ('hostname', 25) )`` is the " +"correct form, passing a tuple representing an IP address, but " +"``socket.connect('hostname', 25)`` also works. :meth:`socket.connect_ex " +"` and :meth:`socket.bind ` are " +"similarly easy-going. 2.0alpha1 tightened these functions up, but because " +"the documentation actually used the erroneous multiple argument form, many " +"people wrote code which would break with the stricter checking. GvR backed " +"out the changes in the face of public reaction, so for the :mod:`socket` " +"module, the documentation was fixed and the multiple argument form is simply " +"marked as deprecated; it *will* be tightened up again in a future Python " +"version." msgstr "" +"Some of the functions in the :mod:`socket` module are still forgiving in " +"this way. For example, ``socket.connect( ('hostname', 25) )`` is the " +"correct form, passing a tuple representing an IP address, but " +"``socket.connect('hostname', 25)`` also works. :meth:`socket.connect_ex " +"` and :meth:`socket.bind ` are " +"similarly easy-going. 2.0alpha1 tightened these functions up, but because " +"the documentation actually used the erroneous multiple argument form, many " +"people wrote code which would break with the stricter checking. GvR backed " +"out the changes in the face of public reaction, so for the :mod:`socket` " +"module, the documentation was fixed and the multiple argument form is simply " +"marked as deprecated; it *will* be tightened up again in a future Python " +"version." #: ../../whatsnew/2.0.rst:684 msgid "" @@ -1008,6 +1298,10 @@ msgid "" "the lowest 8 bits of the result, so ``\\x123456`` was equivalent to " "``\\x56``." msgstr "" +"The ``\\x`` escape in string literals now takes exactly 2 hex digits. " +"Previously it would consume all the hex digits following the 'x' and take " +"the lowest 8 bits of the result, so ``\\x123456`` was equivalent to " +"``\\x56``." #: ../../whatsnew/2.0.rst:688 msgid "" @@ -1017,12 +1311,17 @@ msgid "" "error message was just the missing attribute name ``eggs``, and code written " "to take advantage of this fact will break in 2.0." msgstr "" +"The :exc:`AttributeError` and :exc:`NameError` exceptions have a more " +"friendly error message, whose text will be something like ``'Spam' instance " +"has no attribute 'eggs'`` or ``name 'eggs' is not defined``. Previously the " +"error message was just the missing attribute name ``eggs``, and code written " +"to take advantage of this fact will break in 2.0." #: ../../whatsnew/2.0.rst:694 msgid "" "Some work has been done to make integers and long integers a bit more " "interchangeable. In 1.5.2, large-file support was added for Solaris, to " -"allow reading files larger than 2 GiB; this made the :meth:`tell` method of " +"allow reading files larger than 2 GiB; this made the :meth:`!tell` method of " "file objects return a long integer instead of a regular integer. Some code " "would subtract two file offsets and attempt to use the result to multiply a " "sequence or slice a string, but this raised a :exc:`TypeError`. In 2.0, " @@ -1030,10 +1329,23 @@ msgid "" "as you'd intuitively expect it to; ``3L * 'abc'`` produces 'abcabcabc', and " "``(0,1,2,3)[2L:4L]`` produces (2,3). Long integers can also be used in " "various contexts where previously only integers were accepted, such as in " -"the :meth:`seek` method of file objects, and in the formats supported by the " -"``%`` operator (``%d``, ``%i``, ``%x``, etc.). For example, ``\"%d\" % " +"the :meth:`!seek` method of file objects, and in the formats supported by " +"the ``%`` operator (``%d``, ``%i``, ``%x``, etc.). For example, ``\"%d\" % " "2L**64`` will produce the string ``18446744073709551616``." msgstr "" +"Some work has been done to make integers and long integers a bit more " +"interchangeable. In 1.5.2, large-file support was added for Solaris, to " +"allow reading files larger than 2 GiB; this made the :meth:`!tell` method of " +"file objects return a long integer instead of a regular integer. Some code " +"would subtract two file offsets and attempt to use the result to multiply a " +"sequence or slice a string, but this raised a :exc:`TypeError`. In 2.0, " +"long integers can be used to multiply or slice a sequence, and it'll behave " +"as you'd intuitively expect it to; ``3L * 'abc'`` produces 'abcabcabc', and " +"``(0,1,2,3)[2L:4L]`` produces (2,3). Long integers can also be used in " +"various contexts where previously only integers were accepted, such as in " +"the :meth:`!seek` method of file objects, and in the formats supported by " +"the ``%`` operator (``%d``, ``%i``, ``%x``, etc.). For example, ``\"%d\" % " +"2L**64`` will produce the string ``18446744073709551616``." #: ../../whatsnew/2.0.rst:708 msgid "" @@ -1045,30 +1357,49 @@ msgid "" "which does ``str(longval)[:-1]`` and assumes the 'L' is there, will now lose " "the final digit." msgstr "" +"The subtlest long integer change of all is that the :func:`str` of a long " +"integer no longer has a trailing 'L' character, though :func:`repr` still " +"includes it. The 'L' annoyed many people who wanted to print long integers " +"that looked just like regular integers, since they had to go out of their " +"way to chop off the character. This is no longer a problem in 2.0, but code " +"which does ``str(longval)[:-1]`` and assumes the 'L' is there, will now lose " +"the final digit." #: ../../whatsnew/2.0.rst:716 msgid "" "Taking the :func:`repr` of a float now uses a different formatting precision " -"than :func:`str`. :func:`repr` uses ``%.17g`` format string for C's :func:" -"`sprintf`, while :func:`str` uses ``%.12g`` as before. The effect is that :" -"func:`repr` may occasionally show more decimal places than :func:`str`, for " -"certain numbers. For example, the number 8.1 can't be represented exactly " -"in binary, so ``repr(8.1)`` is ``'8.0999999999999996'``, while str(8.1) is " -"``'8.1'``." +"than :func:`str`. :func:`repr` uses ``%.17g`` format string for C's :func:`!" +"sprintf`, while :func:`str` uses ``%.12g`` as before. The effect is " +"that :func:`repr` may occasionally show more decimal places " +"than :func:`str`, for certain numbers. For example, the number 8.1 can't " +"be represented exactly in binary, so ``repr(8.1)`` is " +"``'8.0999999999999996'``, while str(8.1) is ``'8.1'``." msgstr "" +"Taking the :func:`repr` of a float now uses a different formatting precision " +"than :func:`str`. :func:`repr` uses ``%.17g`` format string for C's :func:`!" +"sprintf`, while :func:`str` uses ``%.12g`` as before. The effect is " +"that :func:`repr` may occasionally show more decimal places " +"than :func:`str`, for certain numbers. For example, the number 8.1 can't " +"be represented exactly in binary, so ``repr(8.1)`` is " +"``'8.0999999999999996'``, while str(8.1) is ``'8.1'``." #: ../../whatsnew/2.0.rst:724 msgid "" "The ``-X`` command-line option, which turned all standard exceptions into " "strings instead of classes, has been removed; the standard exceptions will " -"now always be classes. The :mod:`exceptions` module containing the standard " -"exceptions was translated from Python to a built-in C module, written by " -"Barry Warsaw and Fredrik Lundh." +"now always be classes. The :mod:`!exceptions` module containing the " +"standard exceptions was translated from Python to a built-in C module, " +"written by Barry Warsaw and Fredrik Lundh." msgstr "" +"The ``-X`` command-line option, which turned all standard exceptions into " +"strings instead of classes, has been removed; the standard exceptions will " +"now always be classes. The :mod:`!exceptions` module containing the " +"standard exceptions was translated from Python to a built-in C module, " +"written by Barry Warsaw and Fredrik Lundh." #: ../../whatsnew/2.0.rst:740 msgid "Extending/Embedding Changes" -msgstr "" +msgstr "Extending/Embedding Changes" #: ../../whatsnew/2.0.rst:742 msgid "" @@ -1077,6 +1408,10 @@ msgid "" "larger application. If you aren't dealing with Python's C API, you can " "safely skip this section." msgstr "" +"Some of the changes are under the covers, and will only be apparent to " +"people writing C extension modules or embedding a Python interpreter in a " +"larger application. If you aren't dealing with Python's C API, you can " +"safely skip this section." #: ../../whatsnew/2.0.rst:747 msgid "" @@ -1086,15 +1421,25 @@ msgid "" "built for Python 1.5.x due to how Windows DLLs work, so Python will raise an " "exception and the import will fail." msgstr "" +"The version number of the Python C API was incremented, so C extensions " +"compiled for 1.5.2 must be recompiled in order to work with 2.0. On " +"Windows, it's not possible for Python 2.0 to import a third party extension " +"built for Python 1.5.x due to how Windows DLLs work, so Python will raise an " +"exception and the import will fail." #: ../../whatsnew/2.0.rst:753 msgid "" "Users of Jim Fulton's ExtensionClass module will be pleased to find out that " -"hooks have been added so that ExtensionClasses are now supported by :func:" -"`isinstance` and :func:`issubclass`. This means you no longer have to " -"remember to write code such as ``if type(obj) == myExtensionClass``, but can " -"use the more natural ``if isinstance(obj, myExtensionClass)``." +"hooks have been added so that ExtensionClasses are now supported " +"by :func:`isinstance` and :func:`issubclass`. This means you no longer have " +"to remember to write code such as ``if type(obj) == myExtensionClass``, but " +"can use the more natural ``if isinstance(obj, myExtensionClass)``." msgstr "" +"Users of Jim Fulton's ExtensionClass module will be pleased to find out that " +"hooks have been added so that ExtensionClasses are now supported " +"by :func:`isinstance` and :func:`issubclass`. This means you no longer have " +"to remember to write code such as ``if type(obj) == myExtensionClass``, but " +"can use the more natural ``if isinstance(obj, myExtensionClass)``." #: ../../whatsnew/2.0.rst:759 msgid "" @@ -1106,16 +1451,29 @@ msgid "" "Include/ directory that held various portability hacks; they've been merged " "into a single file, :file:`Include/pyport.h`." msgstr "" +"The :file:`Python/importdl.c` file, which was a mass of #ifdefs to support " +"dynamic loading on many different platforms, was cleaned up and reorganised " +"by Greg Stein. :file:`importdl.c` is now quite small, and platform-specific " +"code has been moved into a bunch of :file:`Python/dynload_\\*.c` files. " +"Another cleanup: there were also a number of :file:`my\\*.h` files in the " +"Include/ directory that held various portability hacks; they've been merged " +"into a single file, :file:`Include/pyport.h`." #: ../../whatsnew/2.0.rst:767 msgid "" "Vladimir Marangozov's long-awaited malloc restructuring was completed, to " "make it easy to have the Python interpreter use a custom allocator instead " -"of C's standard :func:`malloc`. For documentation, read the comments in :" -"file:`Include/pymem.h` and :file:`Include/objimpl.h`. For the lengthy " +"of C's standard :c:func:`malloc`. For documentation, read the comments " +"in :file:`Include/pymem.h` and :file:`Include/objimpl.h`. For the lengthy " "discussions during which the interface was hammered out, see the web " "archives of the 'patches' and 'python-dev' lists at python.org." msgstr "" +"Vladimir Marangozov's long-awaited malloc restructuring was completed, to " +"make it easy to have the Python interpreter use a custom allocator instead " +"of C's standard :c:func:`malloc`. For documentation, read the comments " +"in :file:`Include/pymem.h` and :file:`Include/objimpl.h`. For the lengthy " +"discussions during which the interface was hammered out, see the web " +"archives of the 'patches' and 'python-dev' lists at python.org." #: ../../whatsnew/2.0.rst:774 msgid "" @@ -1124,6 +1482,10 @@ msgid "" "Macintosh. Threading support using the user-space GNU ``pth`` library was " "also contributed." msgstr "" +"Recent versions of the GUSI development environment for MacOS support POSIX " +"threads. Therefore, Python's POSIX threading support now works on the " +"Macintosh. Threading support using the user-space GNU ``pth`` library was " +"also contributed." #: ../../whatsnew/2.0.rst:779 msgid "" @@ -1134,6 +1496,12 @@ msgid "" "as an unthreaded version; with the 2.0 changes, the difference is only 10%. " "These improvements were contributed by Yakov Markovitch." msgstr "" +"Threading support on Windows was enhanced, too. Windows supports thread " +"locks that use kernel objects only in case of contention; in the common case " +"when there's no contention, they use simpler functions which are an order of " +"magnitude faster. A threaded version of Python 1.5.2 on NT is twice as slow " +"as an unthreaded version; with the 2.0 changes, the difference is only 10%. " +"These improvements were contributed by Yakov Markovitch." #: ../../whatsnew/2.0.rst:786 msgid "" @@ -1141,6 +1509,9 @@ msgid "" "requires an ANSI C compiler, and can no longer be done using a compiler that " "only supports K&R C." msgstr "" +"Python 2.0's source now uses only ANSI C prototypes, so compiling Python now " +"requires an ANSI C compiler, and can no longer be done using a compiler that " +"only supports K&R C." #: ../../whatsnew/2.0.rst:790 msgid "" @@ -1150,27 +1521,43 @@ msgid "" "who are generating Python code would run into this limit. A patch by " "Charles G. Waldman raises the limit from ``2**16`` to ``2**32``." msgstr "" +"Previously the Python virtual machine used 16-bit numbers in its bytecode, " +"limiting the size of source files. In particular, this affected the maximum " +"size of literal lists and dictionaries in Python source; occasionally people " +"who are generating Python code would run into this limit. A patch by " +"Charles G. Waldman raises the limit from ``2**16`` to ``2**32``." #: ../../whatsnew/2.0.rst:796 msgid "" "Three new convenience functions intended for adding constants to a module's " -"dictionary at module initialization time were added: :func:" -"`PyModule_AddObject`, :func:`PyModule_AddIntConstant`, and :func:" -"`PyModule_AddStringConstant`. Each of these functions takes a module " -"object, a null-terminated C string containing the name to be added, and a " -"third argument for the value to be assigned to the name. This third " +"dictionary at module initialization time were " +"added: :c:func:`PyModule_AddObject`, :c:func:`PyModule_AddIntConstant`, " +"and :c:func:`PyModule_AddStringConstant`. Each of these functions takes a " +"module object, a null-terminated C string containing the name to be added, " +"and a third argument for the value to be assigned to the name. This third " "argument is, respectively, a Python object, a C long, or a C string." msgstr "" +"Three new convenience functions intended for adding constants to a module's " +"dictionary at module initialization time were " +"added: :c:func:`PyModule_AddObject`, :c:func:`PyModule_AddIntConstant`, " +"and :c:func:`PyModule_AddStringConstant`. Each of these functions takes a " +"module object, a null-terminated C string containing the name to be added, " +"and a third argument for the value to be assigned to the name. This third " +"argument is, respectively, a Python object, a C long, or a C string." #: ../../whatsnew/2.0.rst:804 msgid "" -"A wrapper API was added for Unix-style signal handlers. :func:`PyOS_getsig` " -"gets a signal handler and :func:`PyOS_setsig` will set a new handler." +"A wrapper API was added for Unix-style signal " +"handlers. :c:func:`PyOS_getsig` gets a signal handler " +"and :c:func:`PyOS_setsig` will set a new handler." msgstr "" +"A wrapper API was added for Unix-style signal " +"handlers. :c:func:`PyOS_getsig` gets a signal handler " +"and :c:func:`PyOS_setsig` will set a new handler." #: ../../whatsnew/2.0.rst:811 msgid "Distutils: Making Modules Easy to Install" -msgstr "" +msgstr "Distutils: Making Modules Easy to Install" #: ../../whatsnew/2.0.rst:813 msgid "" @@ -1183,6 +1570,14 @@ msgid "" "different extension packages, which made administering a Python installation " "something of a chore." msgstr "" +"Before Python 2.0, installing modules was a tedious affair -- there was no " +"way to figure out automatically where Python is installed, or what compiler " +"options to use for extension modules. Software authors had to go through an " +"arduous ritual of editing Makefiles and configuration files, which only " +"really work on Unix and leave Windows and MacOS unsupported. Python users " +"faced wildly differing installation instructions which varied between " +"different extension packages, which made administering a Python installation " +"something of a chore." #: ../../whatsnew/2.0.rst:821 msgid "" @@ -1203,21 +1598,28 @@ msgstr "" #: ../../whatsnew/2.0.rst:833 msgid "" "In order to use the Distutils, you need to write a :file:`setup.py` script. " -"For the simple case, when the software contains only .py files, a minimal :" -"file:`setup.py` can be just a few lines long::" +"For the simple case, when the software contains only .py files, a " +"minimal :file:`setup.py` can be just a few lines long::" msgstr "" +"In order to use the Distutils, you need to write a :file:`setup.py` script. " +"For the simple case, when the software contains only .py files, a " +"minimal :file:`setup.py` can be just a few lines long::" #: ../../whatsnew/2.0.rst:841 msgid "" "The :file:`setup.py` file isn't much more complicated if the software " "consists of a few packages::" msgstr "" +"The :file:`setup.py` file isn't much more complicated if the software " +"consists of a few packages::" #: ../../whatsnew/2.0.rst:848 msgid "" "A C extension can be the most complicated case; here's an example taken from " "the PyXML package::" msgstr "" +"A C extension can be the most complicated case; here's an example taken from " +"the PyXML package::" #: ../../whatsnew/2.0.rst:864 msgid "" @@ -1230,24 +1632,34 @@ msgid "" "distribution formats such as Debian packages and Solaris :file:`.pkg` files " "are in various stages of development." msgstr "" +"The Distutils can also take care of creating source and binary " +"distributions. The \"sdist\" command, run by \"``python setup.py sdist``', " +"builds a source distribution such as :file:`foo-1.0.tar.gz`. Adding new " +"commands isn't difficult, \"bdist_rpm\" and \"bdist_wininst\" commands have " +"already been contributed to create an RPM distribution and a Windows " +"installer for the software, respectively. Commands to create other " +"distribution formats such as Debian packages and Solaris :file:`.pkg` files " +"are in various stages of development." #: ../../whatsnew/2.0.rst:873 msgid "" "All this is documented in a new manual, *Distributing Python Modules*, that " "joins the basic set of Python documentation." msgstr "" +"All this is documented in a new manual, *Distributing Python Modules*, that " +"joins the basic set of Python documentation." #: ../../whatsnew/2.0.rst:880 msgid "XML Modules" -msgstr "" +msgstr "XML Modules" #: ../../whatsnew/2.0.rst:882 msgid "" -"Python 1.5.2 included a simple XML parser in the form of the :mod:`xmllib` " +"Python 1.5.2 included a simple XML parser in the form of the :mod:`!xmllib` " "module, contributed by Sjoerd Mullender. Since 1.5.2's release, two " "different interfaces for processing XML have become common: SAX2 (version 2 " "of the Simple API for XML) provides an event-driven interface with some " -"similarities to :mod:`xmllib`, and the DOM (Document Object Model) provides " +"similarities to :mod:`!xmllib`, and the DOM (Document Object Model) provides " "a tree-based interface, transforming an XML document into a tree of nodes " "that can be traversed and modified. Python 2.0 includes a SAX2 interface " "and a stripped-down DOM interface as part of the :mod:`xml` package. Here we " @@ -1255,21 +1667,43 @@ msgid "" "documentation or the source code for complete details. The Python XML SIG is " "also working on improved documentation." msgstr "" +"Python 1.5.2 included a simple XML parser in the form of the :mod:`!xmllib` " +"module, contributed by Sjoerd Mullender. Since 1.5.2's release, two " +"different interfaces for processing XML have become common: SAX2 (version 2 " +"of the Simple API for XML) provides an event-driven interface with some " +"similarities to :mod:`!xmllib`, and the DOM (Document Object Model) provides " +"a tree-based interface, transforming an XML document into a tree of nodes " +"that can be traversed and modified. Python 2.0 includes a SAX2 interface " +"and a stripped-down DOM interface as part of the :mod:`xml` package. Here we " +"will give a brief overview of these new interfaces; consult the Python " +"documentation or the source code for complete details. The Python XML SIG is " +"also working on improved documentation." #: ../../whatsnew/2.0.rst:896 msgid "SAX2 Support" -msgstr "" +msgstr "SAX2 Support" #: ../../whatsnew/2.0.rst:898 msgid "" "SAX defines an event-driven interface for parsing XML. To use SAX, you must " "write a SAX handler class. Handler classes inherit from various classes " "provided by SAX, and override various methods that will then be called by " -"the XML parser. For example, the :meth:`startElement` and :meth:" -"`endElement` methods are called for every starting and end tag encountered " -"by the parser, the :meth:`characters` method is called for every chunk of " -"character data, and so forth." +"the XML parser. For example, " +"the :meth:`~xml.sax.handler.ContentHandler.startElement` " +"and :meth:`~xml.sax.handler.ContentHandler.endElement` methods are called " +"for every starting and end tag encountered by the parser, " +"the :meth:`~xml.sax.handler.ContentHandler.characters` method is called for " +"every chunk of character data, and so forth." msgstr "" +"SAX defines an event-driven interface for parsing XML. To use SAX, you must " +"write a SAX handler class. Handler classes inherit from various classes " +"provided by SAX, and override various methods that will then be called by " +"the XML parser. For example, " +"the :meth:`~xml.sax.handler.ContentHandler.startElement` " +"and :meth:`~xml.sax.handler.ContentHandler.endElement` methods are called " +"for every starting and end tag encountered by the parser, " +"the :meth:`~xml.sax.handler.ContentHandler.characters` method is called for " +"every chunk of character data, and so forth." #: ../../whatsnew/2.0.rst:906 msgid "" @@ -1279,35 +1713,53 @@ msgid "" "class can get very complicated if you're trying to modify the document " "structure in some elaborate way." msgstr "" +"The advantage of the event-driven approach is that the whole document " +"doesn't have to be resident in memory at any one time, which matters if you " +"are processing really huge documents. However, writing the SAX handler " +"class can get very complicated if you're trying to modify the document " +"structure in some elaborate way." #: ../../whatsnew/2.0.rst:912 msgid "" "For example, this little example program defines a handler that prints a " -"message for every starting and ending tag, and then parses the file :file:" -"`hamlet.xml` using it::" +"message for every starting and ending tag, and then parses the " +"file :file:`hamlet.xml` using it::" msgstr "" +"For example, this little example program defines a handler that prints a " +"message for every starting and ending tag, and then parses the " +"file :file:`hamlet.xml` using it::" #: ../../whatsnew/2.0.rst:935 msgid "" "For more information, consult the Python documentation, or the XML HOWTO at " "https://pyxml.sourceforge.net/topics/howto/xml-howto.html." msgstr "" +"For more information, consult the Python documentation, or the XML HOWTO at " +"https://pyxml.sourceforge.net/topics/howto/xml-howto.html." #: ../../whatsnew/2.0.rst:940 msgid "DOM Support" -msgstr "" +msgstr "DOM Support" #: ../../whatsnew/2.0.rst:942 msgid "" "The Document Object Model is a tree-based representation for an XML " -"document. A top-level :class:`Document` instance is the root of the tree, " -"and has a single child which is the top-level :class:`Element` instance. " -"This :class:`Element` has children nodes representing character data and any " -"sub-elements, which may have further children of their own, and so forth. " -"Using the DOM you can traverse the resulting tree any way you like, access " -"element and attribute values, insert and delete nodes, and convert the tree " -"back into XML." +"document. A top-level :class:`!Document` instance is the root of the tree, " +"and has a single child which is the top-level :class:`!Element` instance. " +"This :class:`!Element` has children nodes representing character data and " +"any sub-elements, which may have further children of their own, and so " +"forth. Using the DOM you can traverse the resulting tree any way you like, " +"access element and attribute values, insert and delete nodes, and convert " +"the tree back into XML." msgstr "" +"The Document Object Model is a tree-based representation for an XML " +"document. A top-level :class:`!Document` instance is the root of the tree, " +"and has a single child which is the top-level :class:`!Element` instance. " +"This :class:`!Element` has children nodes representing character data and " +"any sub-elements, which may have further children of their own, and so " +"forth. Using the DOM you can traverse the resulting tree any way you like, " +"access element and attribute values, insert and delete nodes, and convert " +"the tree back into XML." #: ../../whatsnew/2.0.rst:950 msgid "" @@ -1318,30 +1770,50 @@ msgid "" "producing XML output than simply writing ````...\\ ```` to a " "file." msgstr "" +"The DOM is useful for modifying XML documents, because you can create a DOM " +"tree, modify it by adding new nodes or rearranging subtrees, and then " +"produce a new XML document as output. You can also construct a DOM tree " +"manually and convert it to XML, which can be a more flexible way of " +"producing XML output than simply writing ````...\\ ```` to a " +"file." #: ../../whatsnew/2.0.rst:956 msgid "" -"The DOM implementation included with Python lives in the :mod:`xml.dom." -"minidom` module. It's a lightweight implementation of the Level 1 DOM with " -"support for XML namespaces. The :func:`parse` and :func:`parseString` " -"convenience functions are provided for generating a DOM tree::" +"The DOM implementation included with Python lives in " +"the :mod:`xml.dom.minidom` module. It's a lightweight implementation of the " +"Level 1 DOM with support for XML namespaces. The :func:`!parse` " +"and :func:`!parseString` convenience functions are provided for generating a " +"DOM tree::" msgstr "" +"The DOM implementation included with Python lives in " +"the :mod:`xml.dom.minidom` module. It's a lightweight implementation of the " +"Level 1 DOM with support for XML namespaces. The :func:`!parse` " +"and :func:`!parseString` convenience functions are provided for generating a " +"DOM tree::" #: ../../whatsnew/2.0.rst:964 msgid "" -"``doc`` is a :class:`Document` instance. :class:`Document`, like all the " -"other DOM classes such as :class:`Element` and :class:`Text`, is a subclass " -"of the :class:`Node` base class. All the nodes in a DOM tree therefore " -"support certain common methods, such as :meth:`toxml` which returns a string " -"containing the XML representation of the node and its children. Each class " -"also has special methods of its own; for example, :class:`Element` and :" -"class:`Document` instances have a method to find all child elements with a " -"given tag name. Continuing from the previous 2-line example::" -msgstr "" +"``doc`` is a :class:`!Document` instance. :class:`!Document`, like all the " +"other DOM classes such as :class:`!Element` and :class:`Text`, is a subclass " +"of the :class:`!Node` base class. All the nodes in a DOM tree therefore " +"support certain common methods, such as :meth:`!toxml` which returns a " +"string containing the XML representation of the node and its children. Each " +"class also has special methods of its own; for example, :class:`!Element` " +"and :class:`!Document` instances have a method to find all child elements " +"with a given tag name. Continuing from the previous 2-line example::" +msgstr "" +"``doc`` is a :class:`!Document` instance. :class:`!Document`, like all the " +"other DOM classes such as :class:`!Element` and :class:`Text`, is a subclass " +"of the :class:`!Node` base class. All the nodes in a DOM tree therefore " +"support certain common methods, such as :meth:`!toxml` which returns a " +"string containing the XML representation of the node and its children. Each " +"class also has special methods of its own; for example, :class:`!Element` " +"and :class:`!Document` instances have a method to find all child elements " +"with a given tag name. Continuing from the previous 2-line example::" #: ../../whatsnew/2.0.rst:977 msgid "For the *Hamlet* XML file, the above few lines output::" -msgstr "" +msgstr "For the *Hamlet* XML file, the above few lines output::" #: ../../whatsnew/2.0.rst:982 msgid "" @@ -1349,16 +1821,21 @@ msgid "" "and its children can be easily modified by deleting, adding, or removing " "nodes::" msgstr "" +"The root element of the document is available as ``doc.documentElement``, " +"and its children can be easily modified by deleting, adding, or removing " +"nodes::" #: ../../whatsnew/2.0.rst:997 msgid "" "Again, I will refer you to the Python documentation for a complete listing " -"of the different :class:`Node` classes and their various methods." +"of the different :class:`!Node` classes and their various methods." msgstr "" +"Again, I will refer you to the Python documentation for a complete listing " +"of the different :class:`!Node` classes and their various methods." #: ../../whatsnew/2.0.rst:1002 msgid "Relationship to PyXML" -msgstr "" +msgstr "Relationship to PyXML" #: ../../whatsnew/2.0.rst:1004 msgid "" @@ -1369,6 +1846,12 @@ msgid "" "written programs that used PyXML, you're probably wondering about its " "compatibility with the 2.0 :mod:`xml` package." msgstr "" +"The XML Special Interest Group has been working on XML-related Python code " +"for a while. Its code distribution, called PyXML, is available from the " +"SIG's web pages at https://www.python.org/community/sigs/current/xml-sig. " +"The PyXML distribution also used the package name ``xml``. If you've " +"written programs that used PyXML, you're probably wondering about its " +"compatibility with the 2.0 :mod:`xml` package." #: ../../whatsnew/2.0.rst:1010 msgid "" @@ -1381,29 +1864,39 @@ msgid "" "a strict superset of the standard package, adding a bunch of additional " "features. Some of the additional features in PyXML include:" msgstr "" +"The answer is that Python 2.0's :mod:`xml` package isn't compatible with " +"PyXML, but can be made compatible by installing a recent version PyXML. " +"Many applications can get by with the XML support that is included with " +"Python 2.0, but more complicated applications will require that the full " +"PyXML package will be installed. When installed, PyXML versions 0.6.0 or " +"greater will replace the :mod:`xml` package shipped with Python, and will be " +"a strict superset of the standard package, adding a bunch of additional " +"features. Some of the additional features in PyXML include:" #: ../../whatsnew/2.0.rst:1019 msgid "4DOM, a full DOM implementation from FourThought, Inc." -msgstr "" +msgstr "4DOM, a full DOM implementation from FourThought, Inc." #: ../../whatsnew/2.0.rst:1021 msgid "The xmlproc validating parser, written by Lars Marius Garshol." -msgstr "" +msgstr "The xmlproc validating parser, written by Lars Marius Garshol." #: ../../whatsnew/2.0.rst:1023 -msgid "The :mod:`sgmlop` parser accelerator module, written by Fredrik Lundh." +msgid "The :mod:`!sgmlop` parser accelerator module, written by Fredrik Lundh." msgstr "" +"The :mod:`!sgmlop` parser accelerator module, written by Fredrik Lundh." #: ../../whatsnew/2.0.rst:1029 msgid "Module changes" -msgstr "" +msgstr "Module changes" #: ../../whatsnew/2.0.rst:1031 msgid "" "Lots of improvements and bugfixes were made to Python's extensive standard " -"library; some of the affected modules include :mod:`readline`, :mod:" -"`ConfigParser`, :mod:`cgi`, :mod:`calendar`, :mod:`posix`, :mod:`readline`, :" -"mod:`xmllib`, :mod:`aifc`, :mod:`chunk, wave`, :mod:`random`, :mod:`shelve`, " +"library; some of the affected modules " +"include :mod:`readline`, :mod:`ConfigParser " +"`, :mod:`cgi`, :mod:`calendar`, :mod:`posix`, :mod:`readline`, :mod:`!" +"xmllib`, :mod:`aifc`, :mod:`chunk`, :mod:`wave`, :mod:`random`, :mod:`shelve`, " "and :mod:`nntplib`. Consult the CVS logs for the exact patch-by-patch " "details." msgstr "" @@ -1412,32 +1905,57 @@ msgstr "" msgid "" "Brian Gallew contributed OpenSSL support for the :mod:`socket` module. " "OpenSSL is an implementation of the Secure Socket Layer, which encrypts the " -"data being sent over a socket. When compiling Python, you can edit :file:" -"`Modules/Setup` to include SSL support, which adds an additional function to " -"the :mod:`socket` module: ``socket.ssl(socket, keyfile, certfile)``, which " -"takes a socket object and returns an SSL socket. The :mod:`httplib` and :" -"mod:`urllib` modules were also changed to support ``https://`` URLs, though " -"no one has implemented FTP or SMTP over SSL." +"data being sent over a socket. When compiling Python, you can " +"edit :file:`Modules/Setup` to include SSL support, which adds an additional " +"function to the :mod:`socket` module: ``socket.ssl(socket, keyfile, " +"certfile)``, which takes a socket object and returns an SSL socket. " +"The :mod:`httplib ` and :mod:`urllib` modules were also changed to " +"support ``https://`` URLs, though no one has implemented FTP or SMTP over " +"SSL." msgstr "" +"Brian Gallew contributed OpenSSL support for the :mod:`socket` module. " +"OpenSSL is an implementation of the Secure Socket Layer, which encrypts the " +"data being sent over a socket. When compiling Python, you can " +"edit :file:`Modules/Setup` to include SSL support, which adds an additional " +"function to the :mod:`socket` module: ``socket.ssl(socket, keyfile, " +"certfile)``, which takes a socket object and returns an SSL socket. " +"The :mod:`httplib ` and :mod:`urllib` modules were also changed to " +"support ``https://`` URLs, though no one has implemented FTP or SMTP over " +"SSL." #: ../../whatsnew/2.0.rst:1046 msgid "" -"The :mod:`httplib` module has been rewritten by Greg Stein to support " -"HTTP/1.1. Backward compatibility with the 1.5 version of :mod:`httplib` is " -"provided, though using HTTP/1.1 features such as pipelining will require " -"rewriting code to use a different set of interfaces." +"The :mod:`httplib ` module has been rewritten by Greg Stein to support " +"HTTP/1.1." +msgstr "" +"The :mod:`httplib ` module has been rewritten by Greg Stein to support " +"HTTP/1.1." + +#: ../../whatsnew/2.0.rst:1048 +msgid "" +"Backward compatibility with the 1.5 version of :mod:`!httplib` is provided, " +"though using HTTP/1.1 features such as pipelining will require rewriting " +"code to use a different set of interfaces." msgstr "" +"Backward compatibility with the 1.5 version of :mod:`!httplib` is provided, " +"though using HTTP/1.1 features such as pipelining will require rewriting " +"code to use a different set of interfaces." -#: ../../whatsnew/2.0.rst:1051 +#: ../../whatsnew/2.0.rst:1052 msgid "" -"The :mod:`Tkinter` module now supports Tcl/Tk version 8.1, 8.2, or 8.3, and " +"The :mod:`!Tkinter` module now supports Tcl/Tk version 8.1, 8.2, or 8.3, and " "support for the older 7.x versions has been dropped. The Tkinter module now " "supports displaying Unicode strings in Tk widgets. Also, Fredrik Lundh " "contributed an optimization which makes operations like ``create_line`` and " "``create_polygon`` much faster, especially when using lots of coordinates." msgstr "" +"The :mod:`!Tkinter` module now supports Tcl/Tk version 8.1, 8.2, or 8.3, and " +"support for the older 7.x versions has been dropped. The Tkinter module now " +"supports displaying Unicode strings in Tk widgets. Also, Fredrik Lundh " +"contributed an optimization which makes operations like ``create_line`` and " +"``create_polygon`` much faster, especially when using lots of coordinates." -#: ../../whatsnew/2.0.rst:1057 +#: ../../whatsnew/2.0.rst:1058 msgid "" "The :mod:`curses` module has been greatly extended, starting from Oliver " "Andrich's enhanced version, to provide many additional functions from " @@ -1446,28 +1964,42 @@ msgid "" "operating systems that only have BSD curses, but there don't seem to be any " "currently maintained OSes that fall into this category." msgstr "" +"The :mod:`curses` module has been greatly extended, starting from Oliver " +"Andrich's enhanced version, to provide many additional functions from " +"ncurses and SYSV curses, such as colour, alternative character set support, " +"pads, and mouse support. This means the module is no longer compatible with " +"operating systems that only have BSD curses, but there don't seem to be any " +"currently maintained OSes that fall into this category." -#: ../../whatsnew/2.0.rst:1064 +#: ../../whatsnew/2.0.rst:1065 msgid "" "As mentioned in the earlier discussion of 2.0's Unicode support, the " -"underlying implementation of the regular expressions provided by the :mod:" -"`re` module has been changed. SRE, a new regular expression engine written " -"by Fredrik Lundh and partially funded by Hewlett Packard, supports matching " -"against both 8-bit strings and Unicode strings." +"underlying implementation of the regular expressions provided by " +"the :mod:`re` module has been changed. SRE, a new regular expression engine " +"written by Fredrik Lundh and partially funded by Hewlett Packard, supports " +"matching against both 8-bit strings and Unicode strings." msgstr "" +"As mentioned in the earlier discussion of 2.0's Unicode support, the " +"underlying implementation of the regular expressions provided by " +"the :mod:`re` module has been changed. SRE, a new regular expression engine " +"written by Fredrik Lundh and partially funded by Hewlett Packard, supports " +"matching against both 8-bit strings and Unicode strings." -#: ../../whatsnew/2.0.rst:1074 +#: ../../whatsnew/2.0.rst:1075 msgid "New modules" -msgstr "" +msgstr "Novos módulos" -#: ../../whatsnew/2.0.rst:1076 +#: ../../whatsnew/2.0.rst:1077 msgid "" "A number of new modules were added. We'll simply list them with brief " "descriptions; consult the 2.0 documentation for the details of a particular " "module." msgstr "" +"A number of new modules were added. We'll simply list them with brief " +"descriptions; consult the 2.0 documentation for the details of a particular " +"module." -#: ../../whatsnew/2.0.rst:1080 +#: ../../whatsnew/2.0.rst:1081 msgid "" ":mod:`atexit`: For registering functions to be called before the Python " "interpreter exits. Code that currently sets ``sys.exitfunc`` directly should " @@ -1475,21 +2007,31 @@ msgid "" "and calling :func:`atexit.register` with the function to be called on exit. " "(Contributed by Skip Montanaro.)" msgstr "" +":mod:`atexit`: For registering functions to be called before the Python " +"interpreter exits. Code that currently sets ``sys.exitfunc`` directly should " +"be changed to use the :mod:`atexit` module instead, importing :mod:`atexit` " +"and calling :func:`atexit.register` with the function to be called on exit. " +"(Contributed by Skip Montanaro.)" -#: ../../whatsnew/2.0.rst:1086 +#: ../../whatsnew/2.0.rst:1087 msgid "" -":mod:`codecs`, :mod:`encodings`, :mod:`unicodedata`: Added as part of the " +":mod:`codecs`, :mod:`!encodings`, :mod:`unicodedata`: Added as part of the " "new Unicode support." msgstr "" +":mod:`codecs`, :mod:`!encodings`, :mod:`unicodedata`: Added as part of the " +"new Unicode support." -#: ../../whatsnew/2.0.rst:1089 +#: ../../whatsnew/2.0.rst:1090 msgid "" -":mod:`filecmp`: Supersedes the old :mod:`cmp`, :mod:`cmpcache` and :mod:" -"`dircmp` modules, which have now become deprecated. (Contributed by Gordon " +":mod:`filecmp`: Supersedes the old :mod:`!cmp`, :mod:`!cmpcache` and :mod:`!" +"dircmp` modules, which have now become deprecated. (Contributed by Gordon " "MacMillan and Moshe Zadka.)" msgstr "" +":mod:`filecmp`: Supersedes the old :mod:`!cmp`, :mod:`!cmpcache` and :mod:`!" +"dircmp` modules, which have now become deprecated. (Contributed by Gordon " +"MacMillan and Moshe Zadka.)" -#: ../../whatsnew/2.0.rst:1093 +#: ../../whatsnew/2.0.rst:1094 msgid "" ":mod:`gettext`: This module provides internationalization (I18N) and " "localization (L10N) support for Python programs by providing an interface to " @@ -1497,173 +2039,247 @@ msgid "" "separate contributions by Martin von Löwis, Peter Funk, and James " "Henstridge.)" msgstr "" +":mod:`gettext`: This module provides internationalization (I18N) and " +"localization (L10N) support for Python programs by providing an interface to " +"the GNU gettext message catalog library. (Integrated by Barry Warsaw, from " +"separate contributions by Martin von Löwis, Peter Funk, and James " +"Henstridge.)" -#: ../../whatsnew/2.0.rst:1098 +#: ../../whatsnew/2.0.rst:1099 msgid "" -":mod:`linuxaudiodev`: Support for the :file:`/dev/audio` device on Linux, a " -"twin to the existing :mod:`sunaudiodev` module. (Contributed by Peter Bosch, " -"with fixes by Jeremy Hylton.)" +":mod:`!linuxaudiodev`: Support for the :file:`/dev/audio` device on Linux, a " +"twin to the existing :mod:`!sunaudiodev` module. (Contributed by Peter " +"Bosch, with fixes by Jeremy Hylton.)" msgstr "" +":mod:`!linuxaudiodev`: Support for the :file:`/dev/audio` device on Linux, a " +"twin to the existing :mod:`!sunaudiodev` module. (Contributed by Peter " +"Bosch, with fixes by Jeremy Hylton.)" -#: ../../whatsnew/2.0.rst:1102 +#: ../../whatsnew/2.0.rst:1103 msgid "" ":mod:`mmap`: An interface to memory-mapped files on both Windows and Unix. " "A file's contents can be mapped directly into memory, at which point it " "behaves like a mutable string, so its contents can be read and modified. " "They can even be passed to functions that expect ordinary strings, such as " -"the :mod:`re` module. (Contributed by Sam Rushing, with some extensions by A." -"M. Kuchling.)" +"the :mod:`re` module. (Contributed by Sam Rushing, with some extensions by " +"A.M. Kuchling.)" msgstr "" +":mod:`mmap`: An interface to memory-mapped files on both Windows and Unix. " +"A file's contents can be mapped directly into memory, at which point it " +"behaves like a mutable string, so its contents can be read and modified. " +"They can even be passed to functions that expect ordinary strings, such as " +"the :mod:`re` module. (Contributed by Sam Rushing, with some extensions by " +"A.M. Kuchling.)" -#: ../../whatsnew/2.0.rst:1108 +#: ../../whatsnew/2.0.rst:1109 msgid "" -":mod:`pyexpat`: An interface to the Expat XML parser. (Contributed by Paul " +":mod:`!pyexpat`: An interface to the Expat XML parser. (Contributed by Paul " "Prescod.)" msgstr "" +":mod:`!pyexpat`: An interface to the Expat XML parser. (Contributed by Paul " +"Prescod.)" -#: ../../whatsnew/2.0.rst:1111 +#: ../../whatsnew/2.0.rst:1112 msgid "" -":mod:`robotparser`: Parse a :file:`robots.txt` file, which is used for " -"writing web spiders that politely avoid certain areas of a web site. The " -"parser accepts the contents of a :file:`robots.txt` file, builds a set of " -"rules from it, and can then answer questions about the fetchability of a " -"given URL. (Contributed by Skip Montanaro.)" +":mod:`robotparser `: Parse a :file:`robots.txt` file, " +"which is used for writing web spiders that politely avoid certain areas of a " +"web site. The parser accepts the contents of a :file:`robots.txt` file, " +"builds a set of rules from it, and can then answer questions about the " +"fetchability of a given URL. (Contributed by Skip Montanaro.)" msgstr "" +":mod:`robotparser `: Parse a :file:`robots.txt` file, " +"which is used for writing web spiders that politely avoid certain areas of a " +"web site. The parser accepts the contents of a :file:`robots.txt` file, " +"builds a set of rules from it, and can then answer questions about the " +"fetchability of a given URL. (Contributed by Skip Montanaro.)" -#: ../../whatsnew/2.0.rst:1117 +#: ../../whatsnew/2.0.rst:1118 msgid "" ":mod:`tabnanny`: A module/script to check Python source code for ambiguous " "indentation. (Contributed by Tim Peters.)" msgstr "" +":mod:`tabnanny`: A module/script to check Python source code for ambiguous " +"indentation. (Contributed by Tim Peters.)" -#: ../../whatsnew/2.0.rst:1120 +#: ../../whatsnew/2.0.rst:1121 msgid "" -":mod:`UserString`: A base class useful for deriving objects that behave like " -"strings." +":mod:`!UserString`: A base class useful for deriving objects that behave " +"like strings." msgstr "" +":mod:`!UserString`: A base class useful for deriving objects that behave " +"like strings." -#: ../../whatsnew/2.0.rst:1123 +#: ../../whatsnew/2.0.rst:1124 msgid "" ":mod:`webbrowser`: A module that provides a platform independent way to " "launch a web browser on a specific URL. For each platform, various browsers " "are tried in a specific order. The user can alter which browser is launched " "by setting the *BROWSER* environment variable. (Originally inspired by Eric " "S. Raymond's patch to :mod:`urllib` which added similar functionality, but " -"the final module comes from code originally implemented by Fred Drake as :" -"file:`Tools/idle/BrowserControl.py`, and adapted for the standard library by " -"Fred.)" +"the final module comes from code originally implemented by Fred Drake " +"as :file:`Tools/idle/BrowserControl.py`, and adapted for the standard " +"library by Fred.)" msgstr "" +":mod:`webbrowser`: A module that provides a platform independent way to " +"launch a web browser on a specific URL. For each platform, various browsers " +"are tried in a specific order. The user can alter which browser is launched " +"by setting the *BROWSER* environment variable. (Originally inspired by Eric " +"S. Raymond's patch to :mod:`urllib` which added similar functionality, but " +"the final module comes from code originally implemented by Fred Drake " +"as :file:`Tools/idle/BrowserControl.py`, and adapted for the standard " +"library by Fred.)" -#: ../../whatsnew/2.0.rst:1132 +#: ../../whatsnew/2.0.rst:1133 msgid "" -":mod:`_winreg`: An interface to the Windows registry. :mod:`_winreg` is an " -"adaptation of functions that have been part of PythonWin since 1995, but has " -"now been added to the core distribution, and enhanced to support Unicode. :" -"mod:`_winreg` was written by Bill Tutt and Mark Hammond." +":mod:`_winreg `: An interface to the Windows registry. :mod:`!" +"_winreg` is an adaptation of functions that have been part of PythonWin " +"since 1995, but has now been added to the core distribution, and enhanced " +"to support Unicode. :mod:`!_winreg` was written by Bill Tutt and Mark " +"Hammond." msgstr "" +":mod:`_winreg `: An interface to the Windows registry. :mod:`!" +"_winreg` is an adaptation of functions that have been part of PythonWin " +"since 1995, but has now been added to the core distribution, and enhanced " +"to support Unicode. :mod:`!_winreg` was written by Bill Tutt and Mark " +"Hammond." -#: ../../whatsnew/2.0.rst:1137 +#: ../../whatsnew/2.0.rst:1138 msgid "" ":mod:`zipfile`: A module for reading and writing ZIP-format archives. These " "are archives produced by :program:`PKZIP` on DOS/Windows or :program:`zip` " "on Unix, not to be confused with :program:`gzip`\\ -format files (which are " "supported by the :mod:`gzip` module) (Contributed by James C. Ahlstrom.)" msgstr "" +":mod:`zipfile`: A module for reading and writing ZIP-format archives. These " +"are archives produced by :program:`PKZIP` on DOS/Windows or :program:`zip` " +"on Unix, not to be confused with :program:`gzip`\\ -format files (which are " +"supported by the :mod:`gzip` module) (Contributed by James C. Ahlstrom.)" -#: ../../whatsnew/2.0.rst:1142 +#: ../../whatsnew/2.0.rst:1143 msgid "" -":mod:`imputil`: A module that provides a simpler way for writing customized " -"import hooks, in comparison to the existing :mod:`ihooks` module. " +":mod:`!imputil`: A module that provides a simpler way for writing customized " +"import hooks, in comparison to the existing :mod:`!ihooks` module. " "(Implemented by Greg Stein, with much discussion on python-dev along the " "way.)" msgstr "" +":mod:`!imputil`: A module that provides a simpler way for writing customized " +"import hooks, in comparison to the existing :mod:`!ihooks` module. " +"(Implemented by Greg Stein, with much discussion on python-dev along the " +"way.)" -#: ../../whatsnew/2.0.rst:1150 +#: ../../whatsnew/2.0.rst:1151 msgid "IDLE Improvements" -msgstr "" +msgstr "IDLE Improvements" -#: ../../whatsnew/2.0.rst:1152 +#: ../../whatsnew/2.0.rst:1153 msgid "" "IDLE is the official Python cross-platform IDE, written using Tkinter. " "Python 2.0 includes IDLE 0.6, which adds a number of new features and " "improvements. A partial list:" msgstr "" +"IDLE is the official Python cross-platform IDE, written using Tkinter. " +"Python 2.0 includes IDLE 0.6, which adds a number of new features and " +"improvements. A partial list:" -#: ../../whatsnew/2.0.rst:1156 +#: ../../whatsnew/2.0.rst:1157 msgid "" "UI improvements and optimizations, especially in the area of syntax " "highlighting and auto-indentation." msgstr "" +"UI improvements and optimizations, especially in the area of syntax " +"highlighting and auto-indentation." -#: ../../whatsnew/2.0.rst:1159 +#: ../../whatsnew/2.0.rst:1160 msgid "" "The class browser now shows more information, such as the top level " "functions in a module." msgstr "" +"The class browser now shows more information, such as the top level " +"functions in a module." -#: ../../whatsnew/2.0.rst:1162 +#: ../../whatsnew/2.0.rst:1163 msgid "" "Tab width is now a user settable option. When opening an existing Python " "file, IDLE automatically detects the indentation conventions, and adapts." msgstr "" +"Tab width is now a user settable option. When opening an existing Python " +"file, IDLE automatically detects the indentation conventions, and adapts." -#: ../../whatsnew/2.0.rst:1165 +#: ../../whatsnew/2.0.rst:1166 msgid "" "There is now support for calling browsers on various platforms, used to open " "the Python documentation in a browser." msgstr "" +"There is now support for calling browsers on various platforms, used to open " +"the Python documentation in a browser." -#: ../../whatsnew/2.0.rst:1168 +#: ../../whatsnew/2.0.rst:1169 msgid "" "IDLE now has a command line, which is largely similar to the vanilla Python " "interpreter." msgstr "" +"IDLE now has a command line, which is largely similar to the vanilla Python " +"interpreter." -#: ../../whatsnew/2.0.rst:1171 +#: ../../whatsnew/2.0.rst:1172 msgid "Call tips were added in many places." -msgstr "" +msgstr "Call tips were added in many places." -#: ../../whatsnew/2.0.rst:1173 +#: ../../whatsnew/2.0.rst:1174 msgid "IDLE can now be installed as a package." -msgstr "" +msgstr "IDLE can now be installed as a package." -#: ../../whatsnew/2.0.rst:1175 +#: ../../whatsnew/2.0.rst:1176 msgid "In the editor window, there is now a line/column bar at the bottom." -msgstr "" +msgstr "In the editor window, there is now a line/column bar at the bottom." -#: ../../whatsnew/2.0.rst:1177 +#: ../../whatsnew/2.0.rst:1178 msgid "" -"Three new keystroke commands: Check module (:kbd:`Alt-F5`), Import module (:" -"kbd:`F5`) and Run script (:kbd:`Ctrl-F5`)." +"Three new keystroke commands: Check module (:kbd:`Alt-F5`), Import module " +"(:kbd:`F5`) and Run script (:kbd:`Ctrl-F5`)." msgstr "" +"Three new keystroke commands: Check module (:kbd:`Alt-F5`), Import module " +"(:kbd:`F5`) and Run script (:kbd:`Ctrl-F5`)." -#: ../../whatsnew/2.0.rst:1184 +#: ../../whatsnew/2.0.rst:1185 msgid "Deleted and Deprecated Modules" -msgstr "Módulos apagados e desativados" +msgstr "Deleted and Deprecated Modules" -#: ../../whatsnew/2.0.rst:1186 +#: ../../whatsnew/2.0.rst:1187 msgid "" "A few modules have been dropped because they're obsolete, or because there " -"are now better ways to do the same thing. The :mod:`stdwin` module is gone; " -"it was for a platform-independent windowing toolkit that's no longer " +"are now better ways to do the same thing. The :mod:`!stdwin` module is " +"gone; it was for a platform-independent windowing toolkit that's no longer " "developed." msgstr "" +"A few modules have been dropped because they're obsolete, or because there " +"are now better ways to do the same thing. The :mod:`!stdwin` module is " +"gone; it was for a platform-independent windowing toolkit that's no longer " +"developed." -#: ../../whatsnew/2.0.rst:1190 -msgid "" -"A number of modules have been moved to the :file:`lib-old` subdirectory: :" -"mod:`cmp`, :mod:`cmpcache`, :mod:`dircmp`, :mod:`dump`, :mod:`find`, :mod:" -"`grep`, :mod:`packmail`, :mod:`poly`, :mod:`util`, :mod:`whatsound`, :mod:" -"`zmod`. If you have code which relies on a module that's been moved to :" -"file:`lib-old`, you can simply add that directory to ``sys.path`` to get " -"them back, but you're encouraged to update any code that uses these modules." -msgstr "" - -#: ../../whatsnew/2.0.rst:1199 +#: ../../whatsnew/2.0.rst:1191 +msgid "" +"A number of modules have been moved to the :file:`lib-old` " +"subdirectory: :mod:`!cmp`, :mod:`!cmpcache`, :mod:`!dircmp`, :mod:`!" +"dump`, :mod:`!find`, :mod:`!grep`, :mod:`!packmail`, :mod:`!poly`, :mod:`!" +"util`, :mod:`!whatsound`, :mod:`!zmod`. If you have code which relies on a " +"module that's been moved to :file:`lib-old`, you can simply add that " +"directory to ``sys.path`` to get them back, but you're encouraged to " +"update any code that uses these modules." +msgstr "" +"A number of modules have been moved to the :file:`lib-old` " +"subdirectory: :mod:`!cmp`, :mod:`!cmpcache`, :mod:`!dircmp`, :mod:`!" +"dump`, :mod:`!find`, :mod:`!grep`, :mod:`!packmail`, :mod:`!poly`, :mod:`!" +"util`, :mod:`!whatsound`, :mod:`!zmod`. If you have code which relies on a " +"module that's been moved to :file:`lib-old`, you can simply add that " +"directory to ``sys.path`` to get them back, but you're encouraged to " +"update any code that uses these modules." + +#: ../../whatsnew/2.0.rst:1200 msgid "Acknowledgements" msgstr "Reconhecimentos" -#: ../../whatsnew/2.0.rst:1201 +#: ../../whatsnew/2.0.rst:1202 msgid "" "The authors would like to thank the following people for offering " "suggestions on various drafts of this article: David Bolen, Mark Hammond, " @@ -1671,8 +2287,8 @@ msgid "" "Skip Montanaro, Vladimir Marangozov, Tobias Polzin, Guido van Rossum, Neil " "Schemenauer, and Russ Schmidt." msgstr "" -"Os autores agradecem as seguintes pessoas por oferecer sugestões sobre " -"vários rascunhos deste artigo: David Bolen, Mark Hammond, Gregg Hauser, " -"Jeremy Hylton, Fredrik Lundh, Detlef Lannert, Aahz Maruch, Skip Montanaro, " -"Vladimir Marangozov, Tobias Polzin, Guido Van Rossum, Neil Schemenauer e " -"Russ Schmidt." +"The authors would like to thank the following people for offering " +"suggestions on various drafts of this article: David Bolen, Mark Hammond, " +"Gregg Hauser, Jeremy Hylton, Fredrik Lundh, Detlef Lannert, Aahz Maruch, " +"Skip Montanaro, Vladimir Marangozov, Tobias Polzin, Guido van Rossum, Neil " +"Schemenauer, and Russ Schmidt." diff --git a/whatsnew/2.1.po b/whatsnew/2.1.po index 2a164ffec..c007c51bc 100644 --- a/whatsnew/2.1.po +++ b/whatsnew/2.1.po @@ -1,40 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 -# Victor Matheus Castro , 2021 -# (Douglas da Silva) , 2021 -# Misael borges , 2021 -# Lucas Rafaldini , 2022 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/2.1.rst:3 msgid "What's New in Python 2.1" -msgstr "O que há de novo no Python 2.1" +msgstr "What's New in Python 2.1" #: ../../whatsnew/2.1.rst:0 msgid "Author" @@ -108,7 +99,7 @@ msgstr "" #: ../../whatsnew/2.1.rst:51 msgid "" -"The function :func:`g` will always raise a :exc:`NameError` exception, " +"The function :func:`!g` will always raise a :exc:`NameError` exception, " "because the binding of the name ``g`` isn't in either its local namespace or " "in the module-level namespace. This isn't much of a problem in practice " "(how often do you recursively define interior functions like this?), but " @@ -117,14 +108,14 @@ msgid "" "find local variables being copied by passing them as the default values of " "arguments. ::" msgstr "" -"A função :func:`g` sempre levantará uma exceção :exc:`NameError`, porque a " -"vinculação do nome ``g`` não está em seu espaço de nomes local ou no espaço " -"de nomes de nível de módulo. Isso não é um grande problema na prática (com " -"que frequência você define recursivamente funções interiores como esta?), " -"Mas também tornava o uso da expressão :keyword:`lambda` mais desajeitado, e " -"isso era um problema na prática. No código que usa :keyword:`lambda` você " -"pode frequentemente encontrar variáveis locais sendo copiadas, passando-as " -"como os valores padrão dos argumentos. ::" +"The function :func:`!g` will always raise a :exc:`NameError` exception, " +"because the binding of the name ``g`` isn't in either its local namespace or " +"in the module-level namespace. This isn't much of a problem in practice " +"(how often do you recursively define interior functions like this?), but " +"this also made using the :keyword:`lambda` expression clumsier, and this was " +"a problem in practice. In code which uses :keyword:`lambda` you can often " +"find local variables being copied by passing them as the default values of " +"arguments. ::" #: ../../whatsnew/2.1.rst:65 msgid "" @@ -140,19 +131,21 @@ msgid "" "added to the language to fix this problem. As a first effect, the " "``name=name`` default argument is now unnecessary in the above example. Put " "simply, when a given variable name is not assigned a value within a function " -"(by an assignment, or the :keyword:`def`, :keyword:`class`, or :keyword:" -"`import` statements), references to the variable will be looked up in the " -"local namespace of the enclosing scope. A more detailed explanation of the " -"rules, and a dissection of the implementation, can be found in the PEP." +"(by an assignment, or the :keyword:`def`, :keyword:`class`, " +"or :keyword:`import` statements), references to the variable will be looked " +"up in the local namespace of the enclosing scope. A more detailed " +"explanation of the rules, and a dissection of the implementation, can be " +"found in the PEP." msgstr "" "The most significant change to Python 2.1 is that static scoping has been " "added to the language to fix this problem. As a first effect, the " "``name=name`` default argument is now unnecessary in the above example. Put " "simply, when a given variable name is not assigned a value within a function " -"(by an assignment, or the :keyword:`def`, :keyword:`class`, or :keyword:" -"`import` statements), references to the variable will be looked up in the " -"local namespace of the enclosing scope. A more detailed explanation of the " -"rules, and a dissection of the implementation, can be found in the PEP." +"(by an assignment, or the :keyword:`def`, :keyword:`class`, " +"or :keyword:`import` statements), references to the variable will be looked " +"up in the local namespace of the enclosing scope. A more detailed " +"explanation of the rules, and a dissection of the implementation, can be " +"found in the PEP." #: ../../whatsnew/2.1.rst:77 msgid "" @@ -204,11 +197,11 @@ msgstr "To make the preceding explanation a bit clearer, here's an example::" msgid "" "Line 4 containing the ``exec`` statement is a syntax error, since ``exec`` " "would define a new local variable named ``x`` whose value should be accessed " -"by :func:`g`." +"by :func:`!g`." msgstr "" "Line 4 containing the ``exec`` statement is a syntax error, since ``exec`` " "would define a new local variable named ``x`` whose value should be accessed " -"by :func:`g`." +"by :func:`!g`." #: ../../whatsnew/2.1.rst:109 msgid "" @@ -230,14 +223,13 @@ msgid "" "off, but users will have had all of 2.1's lifetime to fix any breakage " "resulting from their introduction." msgstr "" -"As preocupações com a compatibilidade levaram aos escopos aninhados a serem " -"introduzidos gradualmente; no Python 2.1, eles não estão habilitados por " -"padrão, mas podem ser habilitados dentro de um módulo usando uma instrução " -"futura conforme descrito em :pep:`236`. (Consulte a seção a seguir para uma " -"discussão mais aprofundada sobre :pep:`236`.) No Python 2.2, escopos " -"aninhados se tornarão o padrão e não haverá maneira de desativá-los, mas os " -"usuários terão todo o tempo de vida do 2.1 para consertar qualquer quebra " -"resultante de sua introdução." +"Compatibility concerns have led to nested scopes being introduced gradually; " +"in Python 2.1, they aren't enabled by default, but can be turned on within a " +"module by using a future statement as described in :pep:`236`. (See the " +"following section for further discussion of :pep:`236`.) In Python 2.2, " +"nested scopes will become the default and there will be no way to turn them " +"off, but users will have had all of 2.1's lifetime to fix any breakage " +"resulting from their introduction." #: ../../whatsnew/2.1.rst:123 msgid ":pep:`227` - Statically Nested Scopes" @@ -279,18 +271,19 @@ msgstr "" msgid "" "While it looks like a normal :keyword:`import` statement, it's not; there " "are strict rules on where such a future statement can be put. They can only " -"be at the top of a module, and must precede any Python code or regular :" -"keyword:`!import` statements. This is because such statements can affect " -"how the Python bytecode compiler parses code and generates bytecode, so they " -"must precede any statement that will result in bytecodes being produced." -msgstr "" -"Embora pareça uma instrução :keyword:`import` normal, não é; existem regras " -"estritas sobre onde tal instrução futura pode ser colocada. Eles só podem " -"estar no topo de um módulo e devem preceder qualquer código Python ou " -"instruções :keyword:`!import` regulares. Isso ocorre porque tais instruções " -"podem afetar como o compilador de bytecode Python analisa o código e gera " -"bytecode, portanto, devem preceder qualquer instrução que resulte na " -"produção de bytecodes." +"be at the top of a module, and must precede any Python code or " +"regular :keyword:`!import` statements. This is because such statements can " +"affect how the Python bytecode compiler parses code and generates bytecode, " +"so they must precede any statement that will result in bytecodes being " +"produced." +msgstr "" +"While it looks like a normal :keyword:`import` statement, it's not; there " +"are strict rules on where such a future statement can be put. They can only " +"be at the top of a module, and must precede any Python code or " +"regular :keyword:`!import` statements. This is because such statements can " +"affect how the Python bytecode compiler parses code and generates bytecode, " +"so they must precede any statement that will result in bytecodes being " +"produced." #: ../../whatsnew/2.1.rst:153 msgid ":pep:`236` - Back to the :mod:`__future__`" @@ -308,7 +301,7 @@ msgstr "PEP 207: Rich Comparisons" msgid "" "In earlier versions, Python's support for implementing comparisons on user-" "defined classes and extension types was quite simple. Classes could " -"implement a :meth:`__cmp__` method that was given two instances of a class, " +"implement a :meth:`!__cmp__` method that was given two instances of a class, " "and could only return 0 if they were equal or +1 or -1 if they weren't; the " "method couldn't raise an exception or return anything other than a Boolean " "value. Users of Numeric Python often found this model too weak and " @@ -321,14 +314,14 @@ msgid "" msgstr "" "In earlier versions, Python's support for implementing comparisons on user-" "defined classes and extension types was quite simple. Classes could " -"implement a :meth:`__cmp__` method that was given two instances of a class, " +"implement a :meth:`!__cmp__` method that was given two instances of a class, " "and could only return 0 if they were equal or +1 or -1 if they weren't; the " "method couldn't raise an exception or return anything other than a Boolean " -"value. Users of Numeric Python often found this model too weak and " +"value. Users of Numeric Python often found this model too weak and " "restrictive, because in the number-crunching programs that numeric Python is " "used for, it would be more useful to be able to perform elementwise " "comparisons of two matrices, returning a matrix containing the results of a " -"given comparison for each element. If the two matrices are of different " +"given comparison for each element. If the two matrices are of different " "sizes, then the compare has to be able to raise an exception to signal the " "error." @@ -349,65 +342,65 @@ msgstr "Operação" #: ../../whatsnew/2.1.rst:179 msgid "Method name" -msgstr "Method name" +msgstr "Nome do método" #: ../../whatsnew/2.1.rst:181 msgid "``<``" msgstr "``<``" #: ../../whatsnew/2.1.rst:181 -msgid ":meth:`__lt__`" -msgstr ":meth:`__lt__`" +msgid ":meth:`~object.__lt__`" +msgstr ":meth:`~object.__lt__`" #: ../../whatsnew/2.1.rst:183 msgid "``<=``" msgstr "``<=``" #: ../../whatsnew/2.1.rst:183 -msgid ":meth:`__le__`" -msgstr ":meth:`__le__`" +msgid ":meth:`~object.__le__`" +msgstr ":meth:`~object.__le__`" #: ../../whatsnew/2.1.rst:185 msgid "``>``" msgstr "``>``" #: ../../whatsnew/2.1.rst:185 -msgid ":meth:`__gt__`" -msgstr ":meth:`__gt__`" +msgid ":meth:`~object.__gt__`" +msgstr ":meth:`~object.__gt__`" #: ../../whatsnew/2.1.rst:187 msgid "``>=``" msgstr "``>=``" #: ../../whatsnew/2.1.rst:187 -msgid ":meth:`__ge__`" -msgstr ":meth:`__ge__`" +msgid ":meth:`~object.__ge__`" +msgstr ":meth:`~object.__ge__`" #: ../../whatsnew/2.1.rst:189 msgid "``==``" msgstr "``==``" #: ../../whatsnew/2.1.rst:189 -msgid ":meth:`__eq__`" -msgstr ":meth:`__eq__`" +msgid ":meth:`~object.__eq__`" +msgstr ":meth:`~object.__eq__`" #: ../../whatsnew/2.1.rst:191 msgid "``!=``" msgstr "``!=``" #: ../../whatsnew/2.1.rst:191 -msgid ":meth:`__ne__`" -msgstr ":meth:`__ne__`" +msgid ":meth:`~object.__ne__`" +msgstr ":meth:`~object.__ne__`" #: ../../whatsnew/2.1.rst:194 msgid "" -"(The magic methods are named after the corresponding Fortran operators ``.LT." -"``. ``.LE.``, &c. Numeric programmers are almost certainly quite familiar " -"with these names and will find them easy to remember.)" +"(The magic methods are named after the corresponding Fortran operators " +"``.LT.``. ``.LE.``, &c. Numeric programmers are almost certainly quite " +"familiar with these names and will find them easy to remember.)" msgstr "" -"(The magic methods are named after the corresponding Fortran operators ``.LT." -"``. ``.LE.``, &c. Numeric programmers are almost certainly quite familiar " -"with these names and will find them easy to remember.)" +"(The magic methods are named after the corresponding Fortran operators " +"``.LT.``. ``.LE.``, &c. Numeric programmers are almost certainly quite " +"familiar with these names and will find them easy to remember.)" #: ../../whatsnew/2.1.rst:198 msgid "" @@ -439,15 +432,15 @@ msgid "" "and now accepts an optional argument specifying which comparison operation " "to use; this is given as one of the strings ``\"<\"``, ``\"<=\"``, " "``\">\"``, ``\">=\"``, ``\"==\"``, or ``\"!=\"``. If called without the " -"optional third argument, :func:`cmp` will only return -1, 0, or +1 as in " +"optional third argument, :func:`!cmp` will only return -1, 0, or +1 as in " "previous versions of Python; otherwise it will call the appropriate method " "and can return any Python object." msgstr "" "The built-in ``cmp(A,B)`` function can use the rich comparison machinery, " "and now accepts an optional argument specifying which comparison operation " "to use; this is given as one of the strings ``\"<\"``, ``\"<=\"``, " -"``\">\"``, ``\">=\"``, ``\"==\"``, or ``\"!=\"``. If called without the " -"optional third argument, :func:`cmp` will only return -1, 0, or +1 as in " +"``\">\"``, ``\">=\"``, ``\"==\"``, or ``\"!=\"``. If called without the " +"optional third argument, :func:`!cmp` will only return -1, 0, or +1 as in " "previous versions of Python; otherwise it will call the appropriate method " "and can return any Python object." @@ -455,15 +448,15 @@ msgstr "" msgid "" "There are also corresponding changes of interest to C programmers; there's a " "new slot ``tp_richcmp`` in type objects and an API for performing a given " -"rich comparison. I won't cover the C API here, but will refer you to :pep:" -"`207`, or to 2.1's C API documentation, for the full list of related " +"rich comparison. I won't cover the C API here, but will refer you " +"to :pep:`207`, or to 2.1's C API documentation, for the full list of related " "functions." msgstr "" -"Existem também alterações correspondentes de interesse para programadores C; " -"há um novo slot ``tp_richcmp`` em objetos de tipo e uma API para realizar " -"uma determinada comparação rica. Não vou cobrir a API C aqui, mas vou me " -"referir a :pep:`207`, ou a documentação da API C do 2.1, para a lista " -"completa de funções relacionadas." +"There are also corresponding changes of interest to C programmers; there's a " +"new slot ``tp_richcmp`` in type objects and an API for performing a given " +"rich comparison. I won't cover the C API here, but will refer you " +"to :pep:`207`, or to 2.1's C API documentation, for the full list of related " +"functions." #: ../../whatsnew/2.1.rst:223 msgid ":pep:`207` - Rich Comparisons" @@ -505,24 +498,24 @@ msgstr "" #: ../../whatsnew/2.1.rst:242 msgid "" -"Python 2.1 adds the warning framework to be used in this scheme. It adds a :" -"mod:`warnings` module that provide functions to issue warnings, and to " +"Python 2.1 adds the warning framework to be used in this scheme. It adds " +"a :mod:`warnings` module that provide functions to issue warnings, and to " "filter out warnings that you don't want to be displayed. Third-party modules " "can also use this framework to deprecate old features that they no longer " "wish to support." msgstr "" -"Python 2.1 adds the warning framework to be used in this scheme. It adds a :" -"mod:`warnings` module that provide functions to issue warnings, and to " +"Python 2.1 adds the warning framework to be used in this scheme. It adds " +"a :mod:`warnings` module that provide functions to issue warnings, and to " "filter out warnings that you don't want to be displayed. Third-party modules " "can also use this framework to deprecate old features that they no longer " "wish to support." #: ../../whatsnew/2.1.rst:248 msgid "" -"For example, in Python 2.1 the :mod:`regex` module is deprecated, so " +"For example, in Python 2.1 the :mod:`!regex` module is deprecated, so " "importing it causes a warning to be printed::" msgstr "" -"For example, in Python 2.1 the :mod:`regex` module is deprecated, so " +"For example, in Python 2.1 the :mod:`!regex` module is deprecated, so " "importing it causes a warning to be printed::" #: ../../whatsnew/2.1.rst:256 @@ -541,33 +534,33 @@ msgstr "" msgid "" "Filters can be added to disable certain warnings; a regular expression " "pattern can be applied to the message or to the module name in order to " -"suppress a warning. For example, you may have a program that uses the :mod:" -"`regex` module and not want to spare the time to convert it to use the :mod:" -"`re` module right now. The warning can be suppressed by calling ::" +"suppress a warning. For example, you may have a program that uses " +"the :mod:`!regex` module and not want to spare the time to convert it to use " +"the :mod:`re` module right now. The warning can be suppressed by calling ::" msgstr "" "Filters can be added to disable certain warnings; a regular expression " "pattern can be applied to the message or to the module name in order to " -"suppress a warning. For example, you may have a program that uses the :mod:" -"`regex` module and not want to spare the time to convert it to use the :mod:" -"`re` module right now. The warning can be suppressed by calling ::" +"suppress a warning. For example, you may have a program that uses " +"the :mod:`!regex` module and not want to spare the time to convert it to use " +"the :mod:`re` module right now. The warning can be suppressed by calling ::" #: ../../whatsnew/2.1.rst:275 msgid "" -"This adds a filter that will apply only to warnings of the class :class:" -"`DeprecationWarning` triggered in the :mod:`__main__` module, and applies a " -"regular expression to only match the message about the :mod:`regex` module " -"being deprecated, and will cause such warnings to be ignored. Warnings can " -"also be printed only once, printed every time the offending code is " -"executed, or turned into exceptions that will cause the program to stop " -"(unless the exceptions are caught in the usual way, of course)." -msgstr "" -"This adds a filter that will apply only to warnings of the class :class:" -"`DeprecationWarning` triggered in the :mod:`__main__` module, and applies a " -"regular expression to only match the message about the :mod:`regex` module " -"being deprecated, and will cause such warnings to be ignored. Warnings can " -"also be printed only once, printed every time the offending code is " -"executed, or turned into exceptions that will cause the program to stop " -"(unless the exceptions are caught in the usual way, of course)." +"This adds a filter that will apply only to warnings of the " +"class :class:`DeprecationWarning` triggered in the :mod:`__main__` module, " +"and applies a regular expression to only match the message about the :mod:`!" +"regex` module being deprecated, and will cause such warnings to be ignored. " +"Warnings can also be printed only once, printed every time the offending " +"code is executed, or turned into exceptions that will cause the program to " +"stop (unless the exceptions are caught in the usual way, of course)." +msgstr "" +"This adds a filter that will apply only to warnings of the " +"class :class:`DeprecationWarning` triggered in the :mod:`__main__` module, " +"and applies a regular expression to only match the message about the :mod:`!" +"regex` module being deprecated, and will cause such warnings to be ignored. " +"Warnings can also be printed only once, printed every time the offending " +"code is executed, or turned into exceptions that will cause the program to " +"stop (unless the exceptions are caught in the usual way, of course)." #: ../../whatsnew/2.1.rst:283 msgid "" @@ -659,15 +652,15 @@ msgstr "" msgid "" "In another far-reaching change to the build mechanism, Neil Schemenauer " "restructured things so Python now uses a single makefile that isn't " -"recursive, instead of makefiles in the top directory and in each of the :" -"file:`Python/`, :file:`Parser/`, :file:`Objects/`, and :file:`Modules/` " +"recursive, instead of makefiles in the top directory and in each of " +"the :file:`Python/`, :file:`Parser/`, :file:`Objects/`, and :file:`Modules/` " "subdirectories. This makes building Python faster and also makes hacking " "the Makefiles clearer and simpler." msgstr "" "In another far-reaching change to the build mechanism, Neil Schemenauer " "restructured things so Python now uses a single makefile that isn't " -"recursive, instead of makefiles in the top directory and in each of the :" -"file:`Python/`, :file:`Parser/`, :file:`Objects/`, and :file:`Modules/` " +"recursive, instead of makefiles in the top directory and in each of " +"the :file:`Python/`, :file:`Parser/`, :file:`Objects/`, and :file:`Modules/` " "subdirectories. This makes building Python faster and also makes hacking the " "Makefiles clearer and simpler." @@ -675,7 +668,7 @@ msgstr "" msgid ":pep:`229` - Using Distutils to Build Python" msgstr ":pep:`229` - Using Distutils to Build Python" -#: ../../whatsnew/2.1.rst:336 ../../whatsnew/2.1.rst:574 +#: ../../whatsnew/2.1.rst:336 ../../whatsnew/2.1.rst:575 msgid "Written and implemented by A.M. Kuchling." msgstr "Written and implemented by A.M. Kuchling." @@ -720,14 +713,16 @@ msgid "" "This version works for simple things such as integers, but it has a side " "effect; the ``_cache`` dictionary holds a reference to the return values, so " "they'll never be deallocated until the Python process exits and cleans up. " -"This isn't very noticeable for integers, but if :func:`f` returns an object, " -"or a data structure that takes up a lot of memory, this can be a problem." +"This isn't very noticeable for integers, but if :func:`!f` returns an " +"object, or a data structure that takes up a lot of memory, this can be a " +"problem." msgstr "" "This version works for simple things such as integers, but it has a side " "effect; the ``_cache`` dictionary holds a reference to the return values, so " "they'll never be deallocated until the Python process exits and cleans up. " -"This isn't very noticeable for integers, but if :func:`f` returns an object, " -"or a data structure that takes up a lot of memory, this can be a problem." +"This isn't very noticeable for integers, but if :func:`!f` returns an " +"object, or a data structure that takes up a lot of memory, this can be a " +"problem." #: ../../whatsnew/2.1.rst:374 msgid "" @@ -751,10 +746,10 @@ msgstr "" #: ../../whatsnew/2.1.rst:382 msgid "" -"This makes it possible to write a :func:`memoize` function whose cache " +"This makes it possible to write a :func:`!memoize` function whose cache " "doesn't keep objects alive, by storing weak references in the cache. ::" msgstr "" -"This makes it possible to write a :func:`memoize` function whose cache " +"This makes it possible to write a :func:`!memoize` function whose cache " "doesn't keep objects alive, by storing weak references in the cache. ::" #: ../../whatsnew/2.1.rst:400 @@ -764,15 +759,15 @@ msgid "" "deallocated -- but instead of requiring an explicit call to retrieve the " "object, the proxy transparently forwards all operations to the object as " "long as the object still exists. If the object is deallocated, attempting " -"to use a proxy will cause a :exc:`weakref.ReferenceError` exception to be " +"to use a proxy will cause a :exc:`!weakref.ReferenceError` exception to be " "raised. ::" msgstr "" "The :mod:`weakref` module also allows creating proxy objects which behave " "like weak references --- an object referenced only by proxy objects is " "deallocated -- but instead of requiring an explicit call to retrieve the " "object, the proxy transparently forwards all operations to the object as " -"long as the object still exists. If the object is deallocated, attempting to " -"use a proxy will cause a :exc:`weakref.ReferenceError` exception to be " +"long as the object still exists. If the object is deallocated, attempting " +"to use a proxy will cause a :exc:`!weakref.ReferenceError` exception to be " "raised. ::" #: ../../whatsnew/2.1.rst:416 @@ -791,28 +786,27 @@ msgstr "PEP 232: Function Attributes" msgid "" "In Python 2.1, functions can now have arbitrary information attached to " "them. People were often using docstrings to hold information about functions " -"and methods, because the ``__doc__`` attribute was the only way of attaching " -"any information to a function. For example, in the Zope web application " -"server, functions are marked as safe for public access by having a " -"docstring, and in John Aycock's SPARK parsing framework, docstrings hold " -"parts of the BNF grammar to be parsed. This overloading is unfortunate, " -"since docstrings are really intended to hold a function's documentation; for " -"example, it means you can't properly document functions intended for private " -"use in Zope." -msgstr "" -"No Python 2.1, as funções agora podem ter informações arbitrária ligadas a " -"elas. As pessoas geralmente utilizavam docstrings para guardar informação " -"sobre funções e métodos porque o atributo ``__doc__`` era a única maneira de " -"armazenar qualquer informação a uma função. Por exemplo, na aplicação de " -"servidor web Zope as funções são marcadas como seguras para acesso público " -"através da sua docstring; e no framework de análise (parsing) SPARK, de John " -"Aycock, as docstrings guardam partes da gramática BNF a ser analisada " -"(parseada). Esse sobrecarregamento é bastante ruim, já que as docstrings " -"foram pensadas para armazenar a documentação de uma função. Isso, por " -"exemplo, significa que você não pode documentar adequadamente as funções " -"pensadas para uso privado no Zope." - -#: ../../whatsnew/2.1.rst:435 +"and methods, because the :attr:`~function.__doc__` attribute was the only " +"way of attaching any information to a function. For example, in the Zope " +"web application server, functions are marked as safe for public access by " +"having a docstring, and in John Aycock's SPARK parsing framework, docstrings " +"hold parts of the BNF grammar to be parsed. This overloading is " +"unfortunate, since docstrings are really intended to hold a function's " +"documentation; for example, it means you can't properly document functions " +"intended for private use in Zope." +msgstr "" +"In Python 2.1, functions can now have arbitrary information attached to " +"them. People were often using docstrings to hold information about functions " +"and methods, because the :attr:`~function.__doc__` attribute was the only " +"way of attaching any information to a function. For example, in the Zope " +"web application server, functions are marked as safe for public access by " +"having a docstring, and in John Aycock's SPARK parsing framework, docstrings " +"hold parts of the BNF grammar to be parsed. This overloading is " +"unfortunate, since docstrings are really intended to hold a function's " +"documentation; for example, it means you can't properly document functions " +"intended for private use in Zope." + +#: ../../whatsnew/2.1.rst:436 msgid "" "Arbitrary attributes can now be set and retrieved on functions using the " "regular Python syntax::" @@ -820,35 +814,37 @@ msgstr "" "Arbitrary attributes can now be set and retrieved on functions using the " "regular Python syntax::" -#: ../../whatsnew/2.1.rst:444 +#: ../../whatsnew/2.1.rst:445 msgid "" -"The dictionary containing attributes can be accessed as the function's :attr:" -"`~object.__dict__`. Unlike the :attr:`~object.__dict__` attribute of class " -"instances, in functions you can actually assign a new dictionary to :attr:" -"`~object.__dict__`, though the new value is restricted to a regular Python " -"dictionary; you *can't* be tricky and set it to a :class:`UserDict` " -"instance, or any other random object that behaves like a mapping." +"The dictionary containing attributes can be accessed as the " +"function's :attr:`~object.__dict__`. Unlike the :attr:`~object.__dict__` " +"attribute of class instances, in functions you can actually assign a new " +"dictionary to :attr:`~object.__dict__`, though the new value is restricted " +"to a regular Python dictionary; you *can't* be tricky and set it to " +"a :class:`!UserDict` instance, or any other random object that behaves like " +"a mapping." msgstr "" -"The dictionary containing attributes can be accessed as the function's :attr:" -"`~object.__dict__`. Unlike the :attr:`~object.__dict__` attribute of class " -"instances, in functions you can actually assign a new dictionary to :attr:" -"`~object.__dict__`, though the new value is restricted to a regular Python " -"dictionary; you *can't* be tricky and set it to a :class:`UserDict` " -"instance, or any other random object that behaves like a mapping." +"The dictionary containing attributes can be accessed as the " +"function's :attr:`~object.__dict__`. Unlike the :attr:`~object.__dict__` " +"attribute of class instances, in functions you can actually assign a new " +"dictionary to :attr:`~object.__dict__`, though the new value is restricted " +"to a regular Python dictionary; you *can't* be tricky and set it to " +"a :class:`!UserDict` instance, or any other random object that behaves like " +"a mapping." -#: ../../whatsnew/2.1.rst:454 +#: ../../whatsnew/2.1.rst:455 msgid ":pep:`232` - Function Attributes" msgstr ":pep:`232` - Function Attributes" -#: ../../whatsnew/2.1.rst:455 +#: ../../whatsnew/2.1.rst:456 msgid "Written and implemented by Barry Warsaw." msgstr "Written and implemented by Barry Warsaw." -#: ../../whatsnew/2.1.rst:461 +#: ../../whatsnew/2.1.rst:462 msgid "PEP 235: Importing Modules on Case-Insensitive Platforms" msgstr "PEP 235: Importing Modules on Case-Insensitive Platforms" -#: ../../whatsnew/2.1.rst:463 +#: ../../whatsnew/2.1.rst:464 msgid "" "Some operating systems have filesystems that are case-insensitive, MacOS and " "Windows being the primary examples; on these systems, it's impossible to " @@ -860,27 +856,29 @@ msgstr "" "distinguish the filenames ``FILE.PY`` and ``file.py``, even though they do " "store the file's name in its original case (they're case-preserving, too)." -#: ../../whatsnew/2.1.rst:468 +#: ../../whatsnew/2.1.rst:469 msgid "" "In Python 2.1, the :keyword:`import` statement will work to simulate case-" "sensitivity on case-insensitive platforms. Python will now search for the " "first case-sensitive match by default, raising an :exc:`ImportError` if no " -"such file is found, so ``import file`` will not import a module named ``FILE." -"PY``. Case-insensitive matching can be requested by setting the :envvar:" -"`PYTHONCASEOK` environment variable before starting the Python interpreter." +"such file is found, so ``import file`` will not import a module named " +"``FILE.PY``. Case-insensitive matching can be requested by setting " +"the :envvar:`PYTHONCASEOK` environment variable before starting the Python " +"interpreter." msgstr "" "In Python 2.1, the :keyword:`import` statement will work to simulate case-" "sensitivity on case-insensitive platforms. Python will now search for the " "first case-sensitive match by default, raising an :exc:`ImportError` if no " -"such file is found, so ``import file`` will not import a module named ``FILE." -"PY``. Case-insensitive matching can be requested by setting the :envvar:" -"`PYTHONCASEOK` environment variable before starting the Python interpreter." +"such file is found, so ``import file`` will not import a module named " +"``FILE.PY``. Case-insensitive matching can be requested by setting " +"the :envvar:`PYTHONCASEOK` environment variable before starting the Python " +"interpreter." -#: ../../whatsnew/2.1.rst:479 +#: ../../whatsnew/2.1.rst:480 msgid "PEP 217: Interactive Display Hook" msgstr "PEP 217: Interactive Display Hook" -#: ../../whatsnew/2.1.rst:481 +#: ../../whatsnew/2.1.rst:482 msgid "" "When using the Python interpreter interactively, the output of commands is " "displayed using the built-in :func:`repr` function. In Python 2.1, the " @@ -894,19 +892,19 @@ msgstr "" "be called instead of :func:`repr`. For example, you can set it to a special " "pretty-printing function::" -#: ../../whatsnew/2.1.rst:502 +#: ../../whatsnew/2.1.rst:503 msgid ":pep:`217` - Display Hook for Interactive Use" msgstr ":pep:`217` - Display Hook for Interactive Use" -#: ../../whatsnew/2.1.rst:503 +#: ../../whatsnew/2.1.rst:504 msgid "Written and implemented by Moshe Zadka." msgstr "Written and implemented by Moshe Zadka." -#: ../../whatsnew/2.1.rst:509 +#: ../../whatsnew/2.1.rst:510 msgid "PEP 208: New Coercion Model" msgstr "PEP 208: New Coercion Model" -#: ../../whatsnew/2.1.rst:511 +#: ../../whatsnew/2.1.rst:512 msgid "" "How numeric coercion is done at the C level was significantly modified. " "This will only affect the authors of C extensions to Python, allowing them " @@ -916,7 +914,7 @@ msgstr "" "will only affect the authors of C extensions to Python, allowing them more " "flexibility in writing extension types that support numeric operations." -#: ../../whatsnew/2.1.rst:515 +#: ../../whatsnew/2.1.rst:516 msgid "" "Extension types can now set the type flag ``Py_TPFLAGS_CHECKTYPES`` in their " "``PyTypeObject`` structure to indicate that they support the new coercion " @@ -943,16 +941,16 @@ msgstr "" "``Py_NotImplemented`` singleton value. The numeric functions of the other " "type will then be tried, and perhaps they can handle the operation; if the " "other type also returns ``Py_NotImplemented``, then a :exc:`TypeError` will " -"be raised. Numeric methods written in Python can also return " +"be raised. Numeric methods written in Python can also return " "``Py_NotImplemented``, causing the interpreter to act as if the method did " "not exist (perhaps raising a :exc:`TypeError`, perhaps trying another " "object's numeric methods)." -#: ../../whatsnew/2.1.rst:534 +#: ../../whatsnew/2.1.rst:535 msgid ":pep:`208` - Reworking the Coercion Model" msgstr ":pep:`208` - Reworking the Coercion Model" -#: ../../whatsnew/2.1.rst:533 +#: ../../whatsnew/2.1.rst:534 msgid "" "Written and implemented by Neil Schemenauer, heavily based upon earlier work " "by Marc-André Lemburg. Read this to understand the fine points of how " @@ -962,11 +960,11 @@ msgstr "" "by Marc-André Lemburg. Read this to understand the fine points of how " "numeric operations will now be processed at the C level." -#: ../../whatsnew/2.1.rst:541 +#: ../../whatsnew/2.1.rst:542 msgid "PEP 241: Metadata in Python Packages" msgstr "PEP 241: Metadata in Python Packages" -#: ../../whatsnew/2.1.rst:543 +#: ../../whatsnew/2.1.rst:544 msgid "" "A common complaint from Python users is that there's no single catalog of " "all the Python modules in existence. T. Middleton's Vaults of Parnassus at " @@ -976,68 +974,69 @@ msgid "" "but registering software at the Vaults is optional, and many people did not " "bother." msgstr "" -"Uma queixa comum de pessoas que usam Python é que não existe um catálogo " -"único de todos os módulos existentes. Vaults of Parnassus de T. Middleton em " -"``www.vex.net/parnassus/`` (aposentado em fevereiro de 2009, `disponível no " +"A common complaint from Python users is that there's no single catalog of " +"all the Python modules in existence. T. Middleton's Vaults of Parnassus at " +"``www.vex.net/parnassus/`` (retired in February 2009, `available in the " "Internet Archive Wayback Machine `_) foi o maior catálogo de módulos Python, " -"mas registrar software no Vaults é opcional, e muitas pessoas não se " -"importam em fazer isso." +"http://www.vex.net/parnassus/>`_) was the largest catalog of Python modules, " +"but registering software at the Vaults is optional, and many people did not " +"bother." -#: ../../whatsnew/2.1.rst:551 +#: ../../whatsnew/2.1.rst:552 msgid "" "As a first small step toward fixing the problem, Python software packaged " -"using the Distutils :command:`sdist` command will include a file named :file:" -"`PKG-INFO` containing information about the package such as its name, " -"version, and author (metadata, in cataloguing terminology). :pep:`241` " -"contains the full list of fields that can be present in the :file:`PKG-INFO` " -"file. As people began to package their software using Python 2.1, more and " -"more packages will include metadata, making it possible to build automated " -"cataloguing systems and experiment with them. With the result experience, " -"perhaps it'll be possible to design a really good catalog and then build " -"support for it into Python 2.2. For example, the Distutils :command:`sdist` " -"and :command:`bdist_\\*` commands could support an ``upload`` option that " -"would automatically upload your package to a catalog server." -msgstr "" -"Como um primeiro pequeno passo para corrigir o problema, o software Python " -"empacotado usando o comando Distutils :command:`sdist` incluirá um arquivo " -"chamado :file:`PKG-INFO` contendo informações sobre o pacote, como seu nome, " -"versão e autor (metadados, na terminologia de catalogação). :pep:`241` " -"contém a lista completa de campos que podem estar presentes no arquivo :file:" -"`PKG-INFO`. À medida que as pessoas começaram a empacotar seus softwares " -"usando o Python 2.1, mais e mais pacotes incluirão metadados, tornando " -"possível construir sistemas de catalogação automatizados e fazer " -"experiências com eles. Com a experiência dos resultados, talvez seja " -"possível projetar um catálogo realmente bom e, em seguida, construir suporte " -"para ele no Python 2.2. Por exemplo, os comandos Distutils :command:`sdist` " -"e :command:`bdist_\\*` poderiam suportar uma opção ``upload`` que carregaria " -"automaticamente seu pacote para um servidor de catálogo." - -#: ../../whatsnew/2.1.rst:564 +"using the Distutils :command:`sdist` command will include a file " +"named :file:`PKG-INFO` containing information about the package such as its " +"name, version, and author (metadata, in cataloguing " +"terminology). :pep:`241` contains the full list of fields that can be " +"present in the :file:`PKG-INFO` file. As people began to package their " +"software using Python 2.1, more and more packages will include metadata, " +"making it possible to build automated cataloguing systems and experiment " +"with them. With the result experience, perhaps it'll be possible to design " +"a really good catalog and then build support for it into Python 2.2. For " +"example, the Distutils :command:`sdist` and :command:`bdist_\\*` commands " +"could support an ``upload`` option that would automatically upload your " +"package to a catalog server." +msgstr "" +"As a first small step toward fixing the problem, Python software packaged " +"using the Distutils :command:`sdist` command will include a file " +"named :file:`PKG-INFO` containing information about the package such as its " +"name, version, and author (metadata, in cataloguing " +"terminology). :pep:`241` contains the full list of fields that can be " +"present in the :file:`PKG-INFO` file. As people began to package their " +"software using Python 2.1, more and more packages will include metadata, " +"making it possible to build automated cataloguing systems and experiment " +"with them. With the result experience, perhaps it'll be possible to design " +"a really good catalog and then build support for it into Python 2.2. For " +"example, the Distutils :command:`sdist` and :command:`bdist_\\*` commands " +"could support an ``upload`` option that would automatically upload your " +"package to a catalog server." + +#: ../../whatsnew/2.1.rst:565 msgid "" "You can start creating packages containing :file:`PKG-INFO` even if you're " "not using Python 2.1, since a new release of the Distutils will be made for " "users of earlier Python versions. Version 1.0.2 of the Distutils includes " "the changes described in :pep:`241`, as well as various bugfixes and " -"enhancements. It will be available from the Distutils SIG at https://www." -"python.org/community/sigs/current/distutils-sig/." +"enhancements. It will be available from the Distutils SIG at https://" +"www.python.org/community/sigs/current/distutils-sig/." msgstr "" -"Você pode começar a criar pacotes contendo :file:`PKG-INFO` mesmo se você " -"não estiver usando Python 2.1, já que uma nova versão do Distutils será " -"feita para usuários de versões anteriores do Python. A versão 1.0.2 do " -"Distutils inclui as alterações descritas em :pep:`241`, bem como várias " -"correções de bugs e melhorias. Ele estará disponível no Distutils SIG em " -"https://www.python.org/community/sigs/current/distutils-sig/." +"You can start creating packages containing :file:`PKG-INFO` even if you're " +"not using Python 2.1, since a new release of the Distutils will be made for " +"users of earlier Python versions. Version 1.0.2 of the Distutils includes " +"the changes described in :pep:`241`, as well as various bugfixes and " +"enhancements. It will be available from the Distutils SIG at https://" +"www.python.org/community/sigs/current/distutils-sig/." -#: ../../whatsnew/2.1.rst:574 +#: ../../whatsnew/2.1.rst:575 msgid ":pep:`241` - Metadata for Python Software Packages" msgstr ":pep:`241` - Metadata for Python Software Packages" -#: ../../whatsnew/2.1.rst:577 +#: ../../whatsnew/2.1.rst:578 msgid ":pep:`243` - Module Repository Upload Mechanism" msgstr ":pep:`243` - Module Repository Upload Mechanism" -#: ../../whatsnew/2.1.rst:577 +#: ../../whatsnew/2.1.rst:578 msgid "" "Written by Sean Reifschneider, this draft PEP describes a proposed mechanism " "for uploading Python packages to a central server." @@ -1045,70 +1044,71 @@ msgstr "" "Written by Sean Reifschneider, this draft PEP describes a proposed mechanism " "for uploading Python packages to a central server." -#: ../../whatsnew/2.1.rst:584 +#: ../../whatsnew/2.1.rst:585 msgid "New and Improved Modules" msgstr "Módulos Novos ou Aprimorados" -#: ../../whatsnew/2.1.rst:586 +#: ../../whatsnew/2.1.rst:587 msgid "" -"Ka-Ping Yee contributed two new modules: :mod:`inspect.py`, a module for " -"getting information about live Python code, and :mod:`pydoc.py`, a module " -"for interactively converting docstrings to HTML or text. As a bonus, :file:" -"`Tools/scripts/pydoc`, which is now automatically installed, uses :mod:" -"`pydoc.py` to display documentation given a Python module, package, or class " -"name. For example, ``pydoc xml.dom`` displays the following::" +"Ka-Ping Yee contributed two new modules: :mod:`!inspect.py`, a module for " +"getting information about live Python code, and :mod:`!pydoc.py`, a module " +"for interactively converting docstrings to HTML or text. As a " +"bonus, :file:`Tools/scripts/pydoc`, which is now automatically installed, " +"uses :mod:`!pydoc.py` to display documentation given a Python module, " +"package, or class name. For example, ``pydoc xml.dom`` displays the " +"following::" msgstr "" -"Ka-Ping Yee contributed two new modules: :mod:`inspect.py`, a module for " -"getting information about live Python code, and :mod:`pydoc.py`, a module " -"for interactively converting docstrings to HTML or text. As a bonus, :file:" -"`Tools/scripts/pydoc`, which is now automatically installed, uses :mod:" -"`pydoc.py` to display documentation given a Python module, package, or class " -"name. For example, ``pydoc xml.dom`` displays the following::" +"Ka-Ping Yee contributed two new modules: :mod:`!inspect.py`, a module for " +"getting information about live Python code, and :mod:`!pydoc.py`, a module " +"for interactively converting docstrings to HTML or text. As a " +"bonus, :file:`Tools/scripts/pydoc`, which is now automatically installed, " +"uses :mod:`!pydoc.py` to display documentation given a Python module, " +"package, or class name. For example, ``pydoc xml.dom`` displays the " +"following::" -#: ../../whatsnew/2.1.rst:608 +#: ../../whatsnew/2.1.rst:609 msgid "" -":file:`pydoc` also includes a Tk-based interactive help browser. :file:" -"`pydoc` quickly becomes addictive; try it out!" +":file:`pydoc` also includes a Tk-based interactive help " +"browser. :file:`pydoc` quickly becomes addictive; try it out!" msgstr "" -":file:`pydoc` also includes a Tk-based interactive help browser. :file:" -"`pydoc` quickly becomes addictive; try it out!" +":file:`pydoc` also includes a Tk-based interactive help " +"browser. :file:`pydoc` quickly becomes addictive; try it out!" -#: ../../whatsnew/2.1.rst:611 +#: ../../whatsnew/2.1.rst:612 msgid "" "Two different modules for unit testing were added to the standard library. " "The :mod:`doctest` module, contributed by Tim Peters, provides a testing " "framework based on running embedded examples in docstrings and comparing the " "results against the expected output. PyUnit, contributed by Steve Purcell, " "is a unit testing framework inspired by JUnit, which was in turn an " -"adaptation of Kent Beck's Smalltalk testing framework. See https://pyunit." -"sourceforge.net/ for more information about PyUnit." -msgstr "" -"Dois módulos diferentes para teste de unidade foram adicionados à biblioteca " -"padrão. O módulo :mod:`doctest`, contribuído por Tim Peters, fornece um " -"framework de teste baseada na execução de exemplos incorporados em " -"docstrings e na comparação dos resultados com a saída esperada. PyUnit, " -"contribuído por Steve Purcell, é um framework de teste de unidade inspirada " -"em JUnit, que por sua vez foi uma adaptação do framework de teste Smalltalk " -"de Kent Beck. Consulte https://pyunit.sourceforge.net/ para obter mais " -"informações sobre o PyUnit." - -#: ../../whatsnew/2.1.rst:619 -msgid "" -"The :mod:`difflib` module contains a class, :class:`SequenceMatcher`, which " -"compares two sequences and computes the changes required to transform one " -"sequence into the other. For example, this module can be used to write a " -"tool similar to the Unix :program:`diff` program, and in fact the sample " -"program :file:`Tools/scripts/ndiff.py` demonstrates how to write such a " -"script." -msgstr "" -"The :mod:`difflib` module contains a class, :class:`SequenceMatcher`, which " -"compares two sequences and computes the changes required to transform one " -"sequence into the other. For example, this module can be used to write a " -"tool similar to the Unix :program:`diff` program, and in fact the sample " -"program :file:`Tools/scripts/ndiff.py` demonstrates how to write such a " -"script." - -#: ../../whatsnew/2.1.rst:625 +"adaptation of Kent Beck's Smalltalk testing framework. See https://" +"pyunit.sourceforge.net/ for more information about PyUnit." +msgstr "" +"Two different modules for unit testing were added to the standard library. " +"The :mod:`doctest` module, contributed by Tim Peters, provides a testing " +"framework based on running embedded examples in docstrings and comparing the " +"results against the expected output. PyUnit, contributed by Steve Purcell, " +"is a unit testing framework inspired by JUnit, which was in turn an " +"adaptation of Kent Beck's Smalltalk testing framework. See https://" +"pyunit.sourceforge.net/ for more information about PyUnit." + +#: ../../whatsnew/2.1.rst:620 +msgid "" +"The :mod:`difflib` module contains a " +"class, :class:`~difflib.SequenceMatcher`, which compares two sequences and " +"computes the changes required to transform one sequence into the other. For " +"example, this module can be used to write a tool similar to the " +"Unix :program:`diff` program, and in fact the sample program :file:`Tools/" +"scripts/ndiff.py` demonstrates how to write such a script." +msgstr "" +"The :mod:`difflib` module contains a " +"class, :class:`~difflib.SequenceMatcher`, which compares two sequences and " +"computes the changes required to transform one sequence into the other. For " +"example, this module can be used to write a tool similar to the " +"Unix :program:`diff` program, and in fact the sample program :file:`Tools/" +"scripts/ndiff.py` demonstrates how to write such a script." + +#: ../../whatsnew/2.1.rst:626 msgid "" ":mod:`curses.panel`, a wrapper for the panel library, part of ncurses and of " "SYSV curses, was contributed by Thomas Gellekum. The panel library provides " @@ -1122,65 +1122,58 @@ msgstr "" "lower in the depth ordering, and the panel library figures out where panels " "overlap and which sections are visible." -#: ../../whatsnew/2.1.rst:631 +#: ../../whatsnew/2.1.rst:632 msgid "" "The PyXML package has gone through a few releases since Python 2.0, and " "Python 2.1 includes an updated version of the :mod:`xml` package. Some of " "the noteworthy changes include support for Expat 1.2 and later versions, the " "ability for Expat parsers to handle files in any encoding supported by " -"Python, and various bugfixes for SAX, DOM, and the :mod:`minidom` module." +"Python, and various bugfixes for SAX, DOM, and the :mod:`!minidom` module." msgstr "" "The PyXML package has gone through a few releases since Python 2.0, and " -"Python 2.1 includes an updated version of the :mod:`xml` package. Some of " +"Python 2.1 includes an updated version of the :mod:`xml` package. Some of " "the noteworthy changes include support for Expat 1.2 and later versions, the " "ability for Expat parsers to handle files in any encoding supported by " -"Python, and various bugfixes for SAX, DOM, and the :mod:`minidom` module." - -#: ../../whatsnew/2.1.rst:637 -msgid "" -"Ping also contributed another hook for handling uncaught exceptions. :func:" -"`sys.excepthook` can be set to a callable object. When an exception isn't " -"caught by any :keyword:`try`...\\ :keyword:`except` blocks, the exception " -"will be passed to :func:`sys.excepthook`, which can then do whatever it " -"likes. At the Ninth Python Conference, Ping demonstrated an application for " -"this hook: printing an extended traceback that not only lists the stack " -"frames, but also lists the function arguments and the local variables for " -"each frame." -msgstr "" -"Ping also contributed another hook for handling uncaught exceptions. :func:" -"`sys.excepthook` can be set to a callable object. When an exception isn't " -"caught by any :keyword:`try`...\\ :keyword:`except` blocks, the exception " -"will be passed to :func:`sys.excepthook`, which can then do whatever it " -"likes. At the Ninth Python Conference, Ping demonstrated an application for " -"this hook: printing an extended traceback that not only lists the stack " -"frames, but also lists the function arguments and the local variables for " -"each frame." - -#: ../../whatsnew/2.1.rst:645 -msgid "" -"Various functions in the :mod:`time` module, such as :func:`asctime` and :" -"func:`localtime`, require a floating point argument containing the time in " -"seconds since the epoch. The most common use of these functions is to work " -"with the current time, so the floating point argument has been made " -"optional; when a value isn't provided, the current time will be used. For " -"example, log file entries usually need a string containing the current time; " -"in Python 2.1, ``time.asctime()`` can be used, instead of the lengthier " -"``time.asctime(time.localtime(time.time()))`` that was previously required." -msgstr "" -"Various functions in the :mod:`time` module, such as :func:`asctime` and :" -"func:`localtime`, require a floating point argument containing the time in " -"seconds since the epoch. The most common use of these functions is to work " -"with the current time, so the floating point argument has been made " -"optional; when a value isn't provided, the current time will be used. For " -"example, log file entries usually need a string containing the current time; " -"in Python 2.1, ``time.asctime()`` can be used, instead of the lengthier " -"``time.asctime(time.localtime(time.time()))`` that was previously required." - -#: ../../whatsnew/2.1.rst:654 +"Python, and various bugfixes for SAX, DOM, and the :mod:`!minidom` module." + +#: ../../whatsnew/2.1.rst:638 +msgid "" +"Ping also contributed another hook for handling uncaught " +"exceptions. :func:`sys.excepthook` can be set to a callable object. When an " +"exception isn't caught by any :keyword:`try`...\\ :keyword:`except` blocks, " +"the exception will be passed to :func:`sys.excepthook`, which can then do " +"whatever it likes. At the Ninth Python Conference, Ping demonstrated an " +"application for this hook: printing an extended traceback that not only " +"lists the stack frames, but also lists the function arguments and the local " +"variables for each frame." +msgstr "" +"Ping also contributed another hook for handling uncaught " +"exceptions. :func:`sys.excepthook` can be set to a callable object. When an " +"exception isn't caught by any :keyword:`try`...\\ :keyword:`except` blocks, " +"the exception will be passed to :func:`sys.excepthook`, which can then do " +"whatever it likes. At the Ninth Python Conference, Ping demonstrated an " +"application for this hook: printing an extended traceback that not only " +"lists the stack frames, but also lists the function arguments and the local " +"variables for each frame." + +#: ../../whatsnew/2.1.rst:646 +msgid "" +"Various functions in the :mod:`time` module, such as :func:`~time.asctime` " +"and :func:`~time.localtime`, require a floating point argument containing " +"the time in seconds since the epoch. The most common use of these functions " +"is to work with the current time, so the floating point argument has been " +"made optional; when a value isn't provided, the current time will be used. " +"For example, log file entries usually need a string containing the current " +"time; in Python 2.1, ``time.asctime()`` can be used, instead of the " +"lengthier ``time.asctime(time.localtime(time.time()))`` that was previously " +"required." +msgstr "" + +#: ../../whatsnew/2.1.rst:655 msgid "This change was proposed and implemented by Thomas Wouters." msgstr "This change was proposed and implemented by Thomas Wouters." -#: ../../whatsnew/2.1.rst:656 +#: ../../whatsnew/2.1.rst:657 msgid "" "The :mod:`ftplib` module now defaults to retrieving files in passive mode, " "because passive mode is more likely to work from behind a firewall. This " @@ -1200,7 +1193,7 @@ msgstr "" "passive mode is unsuitable for your application or network setup, call " "``set_pasv(0)`` on FTP objects to disable passive mode." -#: ../../whatsnew/2.1.rst:665 +#: ../../whatsnew/2.1.rst:666 msgid "" "Support for raw socket access has been added to the :mod:`socket` module, " "contributed by Grant Edwards." @@ -1208,7 +1201,7 @@ msgstr "" "Support for raw socket access has been added to the :mod:`socket` module, " "contributed by Grant Edwards." -#: ../../whatsnew/2.1.rst:668 +#: ../../whatsnew/2.1.rst:669 msgid "" "The :mod:`pstats` module now contains a simple interactive statistics " "browser for displaying timing profiles for Python programs, invoked when the " @@ -1218,23 +1211,23 @@ msgstr "" "browser for displaying timing profiles for Python programs, invoked when the " "module is run as a script. Contributed by Eric S. Raymond." -#: ../../whatsnew/2.1.rst:672 +#: ../../whatsnew/2.1.rst:673 msgid "" "A new implementation-dependent function, ``sys._getframe([depth])``, has " -"been added to return a given frame object from the current call stack. :func:" -"`sys._getframe` returns the frame at the top of the call stack; if the " -"optional integer argument *depth* is supplied, the function returns the " -"frame that is *depth* calls below the top of the stack. For example, ``sys." -"_getframe(1)`` returns the caller's frame object." +"been added to return a given frame object from the current call " +"stack. :func:`sys._getframe` returns the frame at the top of the call " +"stack; if the optional integer argument *depth* is supplied, the function " +"returns the frame that is *depth* calls below the top of the stack. For " +"example, ``sys._getframe(1)`` returns the caller's frame object." msgstr "" "A new implementation-dependent function, ``sys._getframe([depth])``, has " -"been added to return a given frame object from the current call stack. :func:" -"`sys._getframe` returns the frame at the top of the call stack; if the " -"optional integer argument *depth* is supplied, the function returns the " -"frame that is *depth* calls below the top of the stack. For example, ``sys." -"_getframe(1)`` returns the caller's frame object." +"been added to return a given frame object from the current call " +"stack. :func:`sys._getframe` returns the frame at the top of the call stack; " +"if the optional integer argument *depth* is supplied, the function returns " +"the frame that is *depth* calls below the top of the stack. For example, " +"``sys._getframe(1)`` returns the caller's frame object." -#: ../../whatsnew/2.1.rst:679 +#: ../../whatsnew/2.1.rst:680 msgid "" "This function is only present in CPython, not in Jython or the .NET " "implementation. Use it for debugging, and resist the temptation to put it " @@ -1244,11 +1237,11 @@ msgstr "" "implementation. Use it for debugging, and resist the temptation to put it " "into production code." -#: ../../whatsnew/2.1.rst:687 +#: ../../whatsnew/2.1.rst:688 msgid "Other Changes and Fixes" -msgstr "Other Changes and Fixes" +msgstr "Outras alterações e correções" -#: ../../whatsnew/2.1.rst:689 +#: ../../whatsnew/2.1.rst:690 msgid "" "There were relatively few smaller changes made in Python 2.1 due to the " "shorter release cycle. A search through the CVS change logs turns up 117 " @@ -1260,92 +1253,95 @@ msgstr "" "patches applied, and 136 bugs fixed; both figures are likely to be " "underestimates. Some of the more notable changes are:" -#: ../../whatsnew/2.1.rst:694 +#: ../../whatsnew/2.1.rst:695 msgid "" "A specialized object allocator is now optionally available, that should be " -"faster than the system :func:`malloc` and have less memory overhead. The " -"allocator uses C's :func:`malloc` function to get large pools of memory, and " -"then fulfills smaller memory requests from these pools. It can be enabled " -"by providing the :option:`!--with-pymalloc` option to the :program:" -"`configure` script; see :file:`Objects/obmalloc.c` for the implementation " -"details." +"faster than the system :c:func:`malloc` and have less memory overhead. The " +"allocator uses C's :c:func:`!malloc` function to get large pools of memory, " +"and then fulfills smaller memory requests from these pools. It can be " +"enabled by providing the :option:`!--with-pymalloc` option to " +"the :program:`configure` script; see :file:`Objects/obmalloc.c` for the " +"implementation details." msgstr "" "A specialized object allocator is now optionally available, that should be " -"faster than the system :func:`malloc` and have less memory overhead. The " -"allocator uses C's :func:`malloc` function to get large pools of memory, and " -"then fulfills smaller memory requests from these pools. It can be enabled by " -"providing the :option:`!--with-pymalloc` option to the :program:`configure` " -"script; see :file:`Objects/obmalloc.c` for the implementation details." +"faster than the system :c:func:`malloc` and have less memory overhead. The " +"allocator uses C's :c:func:`!malloc` function to get large pools of memory, " +"and then fulfills smaller memory requests from these pools. It can be " +"enabled by providing the :option:`!--with-pymalloc` option to " +"the :program:`configure` script; see :file:`Objects/obmalloc.c` for the " +"implementation details." -#: ../../whatsnew/2.1.rst:701 +#: ../../whatsnew/2.1.rst:702 msgid "" "Authors of C extension modules should test their code with the object " "allocator enabled, because some incorrect code may break, causing core dumps " "at runtime. There are a bunch of memory allocation functions in Python's C " -"API that have previously been just aliases for the C library's :func:" -"`malloc` and :func:`free`, meaning that if you accidentally called " -"mismatched functions, the error wouldn't be noticeable. When the object " -"allocator is enabled, these functions aren't aliases of :func:`malloc` and :" -"func:`free` any more, and calling the wrong function to free memory will get " -"you a core dump. For example, if memory was allocated using :func:" -"`PyMem_New`, it has to be freed using :func:`PyMem_Del`, not :func:`free`. " -"A few modules included with Python fell afoul of this and had to be fixed; " -"doubtless there are more third-party modules that will have the same problem." +"API that have previously been just aliases for the C " +"library's :c:func:`malloc` and :c:func:`free`, meaning that if you " +"accidentally called mismatched functions, the error wouldn't be noticeable. " +"When the object allocator is enabled, these functions aren't aliases " +"of :c:func:`!malloc` and :c:func:`!free` any more, and calling the wrong " +"function to free memory will get you a core dump. For example, if memory " +"was allocated using :c:macro:`PyMem_New`, it has to be freed " +"using :c:func:`PyMem_Del`, not :c:func:`!free`. A few modules included with " +"Python fell afoul of this and had to be fixed; doubtless there are more " +"third-party modules that will have the same problem." msgstr "" "Authors of C extension modules should test their code with the object " "allocator enabled, because some incorrect code may break, causing core dumps " "at runtime. There are a bunch of memory allocation functions in Python's C " -"API that have previously been just aliases for the C library's :func:" -"`malloc` and :func:`free`, meaning that if you accidentally called " -"mismatched functions, the error wouldn't be noticeable. When the object " -"allocator is enabled, these functions aren't aliases of :func:`malloc` and :" -"func:`free` any more, and calling the wrong function to free memory will get " -"you a core dump. For example, if memory was allocated using :func:" -"`PyMem_New`, it has to be freed using :func:`PyMem_Del`, not :func:`free`. A " -"few modules included with Python fell afoul of this and had to be fixed; " -"doubtless there are more third-party modules that will have the same problem." - -#: ../../whatsnew/2.1.rst:714 +"API that have previously been just aliases for the C " +"library's :c:func:`malloc` and :c:func:`free`, meaning that if you " +"accidentally called mismatched functions, the error wouldn't be noticeable. " +"When the object allocator is enabled, these functions aren't aliases " +"of :c:func:`!malloc` and :c:func:`!free` any more, and calling the wrong " +"function to free memory will get you a core dump. For example, if memory " +"was allocated using :c:macro:`PyMem_New`, it has to be freed " +"using :c:func:`PyMem_Del`, not :c:func:`!free`. A few modules included with " +"Python fell afoul of this and had to be fixed; doubtless there are more " +"third-party modules that will have the same problem." + +#: ../../whatsnew/2.1.rst:715 msgid "The object allocator was contributed by Vladimir Marangozov." msgstr "The object allocator was contributed by Vladimir Marangozov." -#: ../../whatsnew/2.1.rst:716 +#: ../../whatsnew/2.1.rst:717 msgid "" "The speed of line-oriented file I/O has been improved because people often " "complain about its lack of speed, and because it's often been used as a " "naïve benchmark. The :meth:`readline` method of file objects has therefore " "been rewritten to be much faster. The exact amount of the speedup will vary " -"from platform to platform depending on how slow the C library's :func:`getc` " -"was, but is around 66%, and potentially much faster on some particular " +"from platform to platform depending on how slow the C library's :c:func:`!" +"getc` was, but is around 66%, and potentially much faster on some particular " "operating systems. Tim Peters did much of the benchmarking and coding for " "this change, motivated by a discussion in comp.lang.python." msgstr "" "The speed of line-oriented file I/O has been improved because people often " "complain about its lack of speed, and because it's often been used as a " -"naïve benchmark. The :meth:`readline` method of file objects has therefore " -"been rewritten to be much faster. The exact amount of the speedup will vary " -"from platform to platform depending on how slow the C library's :func:`getc` " -"was, but is around 66%, and potentially much faster on some particular " +"naïve benchmark. The :meth:`readline` method of file objects has therefore " +"been rewritten to be much faster. The exact amount of the speedup will vary " +"from platform to platform depending on how slow the C library's :c:func:`!" +"getc` was, but is around 66%, and potentially much faster on some particular " "operating systems. Tim Peters did much of the benchmarking and coding for " "this change, motivated by a discussion in comp.lang.python." -#: ../../whatsnew/2.1.rst:725 +#: ../../whatsnew/2.1.rst:726 msgid "" "A new module and method for file objects was also added, contributed by Jeff " -"Epler. The new method, :meth:`xreadlines`, is similar to the existing :func:" -"`xrange` built-in. :func:`xreadlines` returns an opaque sequence object " -"that only supports being iterated over, reading a line on every iteration " -"but not reading the entire file into memory as the existing :meth:" -"`readlines` method does. You'd use it like this::" +"Epler. The new method, :meth:`!xreadlines`, is similar to the " +"existing :func:`!xrange` built-in. :func:`!xreadlines` returns an opaque " +"sequence object that only supports being iterated over, reading a line on " +"every iteration but not reading the entire file into memory as the " +"existing :meth:`!readlines` method does. You'd use it like this::" msgstr "" "A new module and method for file objects was also added, contributed by Jeff " -"Epler. The new method, :meth:`xreadlines`, is similar to the existing :func:" -"`xrange` built-in. :func:`xreadlines` returns an opaque sequence object that " -"only supports being iterated over, reading a line on every iteration but not " -"reading the entire file into memory as the existing :meth:`readlines` method " -"does. You'd use it like this::" +"Epler. The new method, :meth:`!xreadlines`, is similar to the " +"existing :func:`!xrange` built-in. :func:`!xreadlines` returns an opaque " +"sequence object that only supports being iterated over, reading a line on " +"every iteration but not reading the entire file into memory as the " +"existing :meth:`!readlines` method does. You'd use it like this::" -#: ../../whatsnew/2.1.rst:736 +#: ../../whatsnew/2.1.rst:737 msgid "" "For a fuller discussion of the line I/O changes, see the python-dev summary " "for January 1--15, 2001 at https://mail.python.org/pipermail/python-dev/2001-" @@ -1355,9 +1351,9 @@ msgstr "" "for January 1--15, 2001 at https://mail.python.org/pipermail/python-dev/2001-" "January/." -#: ../../whatsnew/2.1.rst:739 +#: ../../whatsnew/2.1.rst:740 msgid "" -"A new method, :meth:`popitem`, was added to dictionaries to enable " +"A new method, :meth:`~dict.popitem`, was added to dictionaries to enable " "destructively iterating through the contents of a dictionary; this can be " "faster for large dictionaries because there's no need to construct a list " "containing all the keys or values. ``D.popitem()`` removes a random ``(key, " @@ -1365,15 +1361,15 @@ msgid "" "was implemented mostly by Tim Peters and Guido van Rossum, after a " "suggestion and preliminary patch by Moshe Zadka." msgstr "" -"A new method, :meth:`popitem`, was added to dictionaries to enable " +"A new method, :meth:`~dict.popitem`, was added to dictionaries to enable " "destructively iterating through the contents of a dictionary; this can be " "faster for large dictionaries because there's no need to construct a list " "containing all the keys or values. ``D.popitem()`` removes a random ``(key, " -"value)`` pair from the dictionary ``D`` and returns it as a 2-tuple. This " +"value)`` pair from the dictionary ``D`` and returns it as a 2-tuple. This " "was implemented mostly by Tim Peters and Guido van Rossum, after a " "suggestion and preliminary patch by Moshe Zadka." -#: ../../whatsnew/2.1.rst:747 +#: ../../whatsnew/2.1.rst:748 msgid "" "Modules can now control which names are imported when ``from module import " "*`` is used, by defining an ``__all__`` attribute containing a list of names " @@ -1389,7 +1385,7 @@ msgstr "" "will add them to the importing module's namespace. To fix this, simply list " "the public names in ``__all__``::" -#: ../../whatsnew/2.1.rst:757 +#: ../../whatsnew/2.1.rst:758 msgid "" "A stricter version of this patch was first suggested and implemented by Ben " "Wolfson, but after some python-dev discussion, a weaker final version was " @@ -1399,7 +1395,7 @@ msgstr "" "Wolfson, but after some python-dev discussion, a weaker final version was " "checked in." -#: ../../whatsnew/2.1.rst:761 +#: ../../whatsnew/2.1.rst:762 msgid "" "Applying :func:`repr` to strings previously used octal escapes for non-" "printable characters; for example, a newline was ``'\\012'``. This was a " @@ -1415,7 +1411,7 @@ msgstr "" "ones, and using the ``\\n``, ``\\t``, ``\\r`` escapes for the appropriate " "characters, and implemented this new formatting." -#: ../../whatsnew/2.1.rst:768 +#: ../../whatsnew/2.1.rst:769 msgid "" "Syntax errors detected at compile-time can now raise exceptions containing " "the filename and line number of the error, a pleasant side effect of the " @@ -1425,19 +1421,19 @@ msgstr "" "the filename and line number of the error, a pleasant side effect of the " "compiler reorganization done by Jeremy Hylton." -#: ../../whatsnew/2.1.rst:772 +#: ../../whatsnew/2.1.rst:773 msgid "" -"C extensions which import other modules have been changed to use :func:" -"`PyImport_ImportModule`, which means that they will use any import hooks " -"that have been installed. This is also encouraged for third-party " -"extensions that need to import some other module from C code." +"C extensions which import other modules have been changed to " +"use :c:func:`PyImport_ImportModule`, which means that they will use any " +"import hooks that have been installed. This is also encouraged for third-" +"party extensions that need to import some other module from C code." msgstr "" -"C extensions which import other modules have been changed to use :func:" -"`PyImport_ImportModule`, which means that they will use any import hooks " -"that have been installed. This is also encouraged for third-party extensions " -"that need to import some other module from C code." +"C extensions which import other modules have been changed to " +"use :c:func:`PyImport_ImportModule`, which means that they will use any " +"import hooks that have been installed. This is also encouraged for third-" +"party extensions that need to import some other module from C code." -#: ../../whatsnew/2.1.rst:777 +#: ../../whatsnew/2.1.rst:778 msgid "" "The size of the Unicode character database was shrunk by another 340K thanks " "to Fredrik Lundh." @@ -1445,7 +1441,7 @@ msgstr "" "The size of the Unicode character database was shrunk by another 340K thanks " "to Fredrik Lundh." -#: ../../whatsnew/2.1.rst:780 +#: ../../whatsnew/2.1.rst:781 msgid "" "Some new ports were contributed: MacOS X (by Steven Majewski), Cygwin (by " "Jason Tishler); RISCOS (by Dietmar Schwertberger); Unixware 7 (by Billy G. " @@ -1455,7 +1451,7 @@ msgstr "" "Jason Tishler); RISCOS (by Dietmar Schwertberger); Unixware 7 (by Billy G. " "Allie)." -#: ../../whatsnew/2.1.rst:784 +#: ../../whatsnew/2.1.rst:785 msgid "" "And there's the usual list of minor bugfixes, minor memory leaks, docstring " "edits, and other tweaks, too lengthy to be worth itemizing; see the CVS logs " @@ -1465,11 +1461,11 @@ msgstr "" "edits, and other tweaks, too lengthy to be worth itemizing; see the CVS logs " "for the full details if you want them." -#: ../../whatsnew/2.1.rst:792 +#: ../../whatsnew/2.1.rst:793 msgid "Acknowledgements" msgstr "Reconhecimentos" -#: ../../whatsnew/2.1.rst:794 +#: ../../whatsnew/2.1.rst:795 msgid "" "The author would like to thank the following people for offering suggestions " "on various drafts of this article: Graeme Cross, David Goodger, Jay Graves, " diff --git a/whatsnew/2.2.po b/whatsnew/2.2.po index 372583bda..722a94e93 100644 --- a/whatsnew/2.2.po +++ b/whatsnew/2.2.po @@ -1,36 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Ruan Aragão , 2021 -# Victor Matheus Castro , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/2.2.rst:3 msgid "What's New in Python 2.2" -msgstr "O que há de novo no Python 2.2" +msgstr "What's New in Python 2.2" #: ../../whatsnew/2.2.rst:0 msgid "Author" @@ -50,6 +45,9 @@ msgid "" "14, 2002. Python 2.2.2 is a bugfix release of Python 2.2, originally " "released on December 21, 2001." msgstr "" +"This article explains the new features in Python 2.2.2, released on October " +"14, 2002. Python 2.2.2 is a bugfix release of Python 2.2, originally " +"released on December 21, 2001." #: ../../whatsnew/2.2.rst:19 msgid "" @@ -58,6 +56,10 @@ msgid "" "of the changes, significant and far-reaching though they may be, are aimed " "at cleaning up irregularities and dark corners of the language design." msgstr "" +"Python 2.2 can be thought of as the \"cleanup release\". There are some " +"features such as generators and iterators that are completely new, but most " +"of the changes, significant and far-reaching though they may be, are aimed " +"at cleaning up irregularities and dark corners of the language design." #: ../../whatsnew/2.2.rst:24 msgid "" @@ -69,10 +71,17 @@ msgid "" "you want to understand the complete implementation and design rationale for " "a change, refer to the PEP for a particular new feature." msgstr "" +"This article doesn't attempt to provide a complete specification of the new " +"features, but instead provides a convenient overview. For full details, you " +"should refer to the documentation for Python 2.2, such as the `Python " +"Library Reference `_ and the " +"`Python Reference Manual `_. If " +"you want to understand the complete implementation and design rationale for " +"a change, refer to the PEP for a particular new feature." #: ../../whatsnew/2.2.rst:43 msgid "PEPs 252 and 253: Type and Class Changes" -msgstr "" +msgstr "PEPs 252 and 253: Type and Class Changes" #: ../../whatsnew/2.2.rst:45 msgid "" @@ -83,6 +92,12 @@ msgid "" "and most complicated section of this article, I'll provide an overview of " "the changes and offer some comments." msgstr "" +"The largest and most far-reaching changes in Python 2.2 are to Python's " +"model of objects and classes. The changes should be backward compatible, so " +"it's likely that your code will continue to run unchanged, but the changes " +"provide some amazing new capabilities. Before beginning this, the longest " +"and most complicated section of this article, I'll provide an overview of " +"the changes and offer some comments." #: ../../whatsnew/2.2.rst:52 msgid "" @@ -90,38 +105,57 @@ msgid "" "the most significant flaws was that it's impossible to subclass Python types " "implemented in C. In particular, it's not possible to subclass built-in " "types, so you can't just subclass, say, lists in order to add a single " -"useful method to them. The :mod:`UserList` module provides a class that " +"useful method to them. The :mod:`!UserList` module provides a class that " "supports all of the methods of lists and that can be subclassed further, but " "there's lots of C code that expects a regular Python list and won't accept " -"a :class:`UserList` instance." +"a :class:`~collections.UserList` instance." msgstr "" +"A long time ago I wrote a web page listing flaws in Python's design. One of " +"the most significant flaws was that it's impossible to subclass Python types " +"implemented in C. In particular, it's not possible to subclass built-in " +"types, so you can't just subclass, say, lists in order to add a single " +"useful method to them. The :mod:`!UserList` module provides a class that " +"supports all of the methods of lists and that can be subclassed further, but " +"there's lots of C code that expects a regular Python list and won't accept " +"a :class:`~collections.UserList` instance." #: ../../whatsnew/2.2.rst:61 msgid "" "Python 2.2 fixes this, and in the process adds some exciting new " "capabilities. A brief summary:" msgstr "" +"Python 2.2 fixes this, and in the process adds some exciting new " +"capabilities. A brief summary:" #: ../../whatsnew/2.2.rst:64 msgid "" "You can subclass built-in types such as lists and even integers, and your " "subclasses should work in every place that requires the original type." msgstr "" +"You can subclass built-in types such as lists and even integers, and your " +"subclasses should work in every place that requires the original type." #: ../../whatsnew/2.2.rst:67 msgid "" "It's now possible to define static and class methods, in addition to the " "instance methods available in previous versions of Python." msgstr "" +"It's now possible to define static and class methods, in addition to the " +"instance methods available in previous versions of Python." #: ../../whatsnew/2.2.rst:70 msgid "" "It's also possible to automatically call methods on accessing or setting an " "instance attribute by using a new mechanism called :dfn:`properties`. Many " -"uses of :meth:`__getattr__` can be rewritten to use properties instead, " -"making the resulting code simpler and faster. As a small side benefit, " -"attributes can now have docstrings, too." +"uses of :meth:`~object.__getattr__` can be rewritten to use properties " +"instead, making the resulting code simpler and faster. As a small side " +"benefit, attributes can now have docstrings, too." msgstr "" +"It's also possible to automatically call methods on accessing or setting an " +"instance attribute by using a new mechanism called :dfn:`properties`. Many " +"uses of :meth:`~object.__getattr__` can be rewritten to use properties " +"instead, making the resulting code simpler and faster. As a small side " +"benefit, attributes can now have docstrings, too." #: ../../whatsnew/2.2.rst:76 msgid "" @@ -129,6 +163,9 @@ msgid "" "set using :dfn:`slots`, making it possible to safeguard against typos and " "perhaps make more optimizations possible in future versions of Python." msgstr "" +"The list of legal attributes for an instance can be limited to a particular " +"set using :dfn:`slots`, making it possible to safeguard against typos and " +"perhaps make more optimizations possible in future versions of Python." #: ../../whatsnew/2.2.rst:80 msgid "" @@ -139,6 +176,12 @@ msgid "" "recommended Python for its simplicity, and feel that its simplicity is being " "lost." msgstr "" +"Some users have voiced concern about all these changes. Sure, they say, the " +"new features are neat and lend themselves to all sorts of tricks that " +"weren't possible in previous versions of Python, but they also make the " +"language more complicated. Some people have said that they've always " +"recommended Python for its simplicity, and feel that its simplicity is being " +"lost." #: ../../whatsnew/2.2.rst:86 msgid "" @@ -150,6 +193,13 @@ msgid "" "only possible from C will now be possible in pure Python, and to my mind " "that's all for the better." msgstr "" +"Personally, I think there's no need to worry. Many of the new features are " +"quite esoteric, and you can write a lot of Python code without ever needed " +"to be aware of them. Writing a simple class is no more difficult than it " +"ever was, so you don't need to bother learning or teaching them unless " +"they're actually needed. Some very complicated tasks that were previously " +"only possible from C will now be possible in pure Python, and to my mind " +"that's all for the better." #: ../../whatsnew/2.2.rst:93 msgid "" @@ -159,10 +209,15 @@ msgid "" "Links\", for further sources of information about Python 2.2's new object " "model." msgstr "" +"I'm not going to attempt to cover every single corner case and small change " +"that were required to make the new features work. Instead this section will " +"paint only the broad strokes. See section :ref:`sect-rellinks`, \"Related " +"Links\", for further sources of information about Python 2.2's new object " +"model." #: ../../whatsnew/2.2.rst:100 msgid "Old and New Classes" -msgstr "" +msgstr "Old and New Classes" #: ../../whatsnew/2.2.rst:102 msgid "" @@ -173,6 +228,12 @@ msgid "" "classes. This divergence isn't intended to last forever; eventually old-" "style classes will be dropped, possibly in Python 3.0." msgstr "" +"First, you should know that Python 2.2 really has two kinds of classes: " +"classic or old-style classes, and new-style classes. The old-style class " +"model is exactly the same as the class model in earlier versions of Python. " +"All the new features described in this section apply only to new-style " +"classes. This divergence isn't intended to last forever; eventually old-" +"style classes will be dropped, possibly in Python 3.0." #: ../../whatsnew/2.2.rst:109 msgid "" @@ -183,54 +244,84 @@ msgid "" "types, has also been added so if no built-in type is suitable, you can just " "subclass :class:`object`::" msgstr "" +"So how do you define a new-style class? You do it by subclassing an " +"existing new-style class. Most of Python's built-in types, such as " +"integers, lists, dictionaries, and even files, are new-style classes now. A " +"new-style class named :class:`object`, the base class for all built-in " +"types, has also been added so if no built-in type is suitable, you can just " +"subclass :class:`object`::" #: ../../whatsnew/2.2.rst:121 msgid "" "This means that :keyword:`class` statements that don't have any base classes " "are always classic classes in Python 2.2. (Actually you can also change " -"this by setting a module-level variable named :attr:`__metaclass__` --- see :" -"pep:`253` for the details --- but it's easier to just subclass :class:" -"`object`.)" +"this by setting a module-level variable named :attr:`!__metaclass__` --- " +"see :pep:`253` for the details --- but it's easier to just " +"subclass :class:`object`.)" msgstr "" +"This means that :keyword:`class` statements that don't have any base classes " +"are always classic classes in Python 2.2. (Actually you can also change " +"this by setting a module-level variable named :attr:`!__metaclass__` --- " +"see :pep:`253` for the details --- but it's easier to just " +"subclass :class:`object`.)" #: ../../whatsnew/2.2.rst:126 msgid "" "The type objects for the built-in types are available as built-ins, named " -"using a clever trick. Python has always had built-in functions named :func:" -"`int`, :func:`float`, and :func:`str`. In 2.2, they aren't functions any " -"more, but type objects that behave as factories when called. ::" +"using a clever trick. Python has always had built-in functions " +"named :func:`int`, :func:`float`, and :func:`str`. In 2.2, they aren't " +"functions any more, but type objects that behave as factories when called. ::" msgstr "" +"The type objects for the built-in types are available as built-ins, named " +"using a clever trick. Python has always had built-in functions " +"named :func:`int`, :func:`float`, and :func:`str`. In 2.2, they aren't " +"functions any more, but type objects that behave as factories when called. ::" #: ../../whatsnew/2.2.rst:136 msgid "" "To make the set of types complete, new type objects such as :func:`dict` " -"and :func:`file` have been added. Here's a more interesting example, adding " -"a :meth:`lock` method to file objects::" +"and :func:`!file` have been added. Here's a more interesting example, " +"adding a :meth:`!lock` method to file objects::" msgstr "" +"To make the set of types complete, new type objects such as :func:`dict` " +"and :func:`!file` have been added. Here's a more interesting example, " +"adding a :meth:`!lock` method to file objects::" #: ../../whatsnew/2.2.rst:146 msgid "" -"The now-obsolete :mod:`posixfile` module contained a class that emulated all " -"of a file object's methods and also added a :meth:`lock` method, but this " -"class couldn't be passed to internal functions that expected a built-in " -"file, something which is possible with our new :class:`LockableFile`." +"The now-obsolete :mod:`!posixfile` module contained a class that emulated " +"all of a file object's methods and also added a :meth:`!lock` method, but " +"this class couldn't be passed to internal functions that expected a built-in " +"file, something which is possible with our new :class:`!LockableFile`." msgstr "" +"The now-obsolete :mod:`!posixfile` module contained a class that emulated " +"all of a file object's methods and also added a :meth:`!lock` method, but " +"this class couldn't be passed to internal functions that expected a built-in " +"file, something which is possible with our new :class:`!LockableFile`." #: ../../whatsnew/2.2.rst:153 msgid "Descriptors" -msgstr "" +msgstr "Descriptors" #: ../../whatsnew/2.2.rst:155 msgid "" "In previous versions of Python, there was no consistent way to discover what " "attributes and methods were supported by an object. There were some informal " -"conventions, such as defining :attr:`__members__` and :attr:`__methods__` " +"conventions, such as defining :attr:`!__members__` and :attr:`!__methods__` " "attributes that were lists of names, but often the author of an extension " "type or a class wouldn't bother to define them. You could fall back on " "inspecting the :attr:`~object.__dict__` of an object, but when class " -"inheritance or an arbitrary :meth:`__getattr__` hook were in use this could " +"inheritance or an arbitrary :meth:`!__getattr__` hook were in use this could " "still be inaccurate." msgstr "" +"In previous versions of Python, there was no consistent way to discover what " +"attributes and methods were supported by an object. There were some informal " +"conventions, such as defining :attr:`!__members__` and :attr:`!__methods__` " +"attributes that were lists of names, but often the author of an extension " +"type or a class wouldn't bother to define them. You could fall back on " +"inspecting the :attr:`~object.__dict__` of an object, but when class " +"inheritance or an arbitrary :meth:`!__getattr__` hook were in use this could " +"still be inaccurate." #: ../../whatsnew/2.2.rst:163 msgid "" @@ -240,45 +331,57 @@ msgid "" "it's a method or a field. With the descriptor API, static methods and class " "methods become possible, as well as more exotic constructs." msgstr "" +"The one big idea underlying the new class model is that an API for " +"describing the attributes of an object using :dfn:`descriptors` has been " +"formalized. Descriptors specify the value of an attribute, stating whether " +"it's a method or a field. With the descriptor API, static methods and class " +"methods become possible, as well as more exotic constructs." #: ../../whatsnew/2.2.rst:169 msgid "" "Attribute descriptors are objects that live inside class objects, and have a " "few attributes of their own:" msgstr "" +"Attribute descriptors are objects that live inside class objects, and have a " +"few attributes of their own:" #: ../../whatsnew/2.2.rst:172 msgid ":attr:`~definition.__name__` is the attribute's name." -msgstr "" +msgstr ":attr:`~definition.__name__` is the attribute's name." #: ../../whatsnew/2.2.rst:174 -msgid ":attr:`__doc__` is the attribute's docstring." -msgstr "" +msgid ":attr:`!__doc__` is the attribute's docstring." +msgstr ":attr:`!__doc__` is the attribute's docstring." #: ../../whatsnew/2.2.rst:176 msgid "" "``__get__(object)`` is a method that retrieves the attribute value from " "*object*." msgstr "" +"``__get__(object)`` is a method that retrieves the attribute value from " +"*object*." #: ../../whatsnew/2.2.rst:179 msgid "``__set__(object, value)`` sets the attribute on *object* to *value*." -msgstr "" +msgstr "``__set__(object, value)`` sets the attribute on *object* to *value*." #: ../../whatsnew/2.2.rst:181 msgid "" "``__delete__(object, value)`` deletes the *value* attribute of *object*." msgstr "" +"``__delete__(object, value)`` deletes the *value* attribute of *object*." #: ../../whatsnew/2.2.rst:183 msgid "" "For example, when you write ``obj.x``, the steps that Python actually " "performs are::" msgstr "" +"For example, when you write ``obj.x``, the steps that Python actually " +"performs are::" #: ../../whatsnew/2.2.rst:189 msgid "" -"For methods, :meth:`descriptor.__get__` returns a temporary object that's " +"For methods, :meth:`!descriptor.__get__` returns a temporary object that's " "callable, and wraps up the instance and the method to be called on it. This " "is also why static methods and class methods are now possible; they have " "descriptors that wrap up just the method, or the method and the class. As a " @@ -287,15 +390,28 @@ msgid "" "methods are passed the class of the object, but not the object itself. " "Static and class methods are defined like this::" msgstr "" +"For methods, :meth:`!descriptor.__get__` returns a temporary object that's " +"callable, and wraps up the instance and the method to be called on it. This " +"is also why static methods and class methods are now possible; they have " +"descriptors that wrap up just the method, or the method and the class. As a " +"brief explanation of these new kinds of methods, static methods aren't " +"passed the instance, and therefore resemble regular functions. Class " +"methods are passed the class of the object, but not the object itself. " +"Static and class methods are defined like this::" #: ../../whatsnew/2.2.rst:207 msgid "" -"The :func:`staticmethod` function takes the function :func:`f`, and returns " +"The :func:`staticmethod` function takes the function :func:`!f`, and returns " "it wrapped up in a descriptor so it can be stored in the class object. You " "might expect there to be special syntax for creating such methods (``def " "static f``, ``defstatic f()``, or something like that) but no such syntax " "has been defined yet; that's been left for future versions of Python." msgstr "" +"The :func:`staticmethod` function takes the function :func:`!f`, and returns " +"it wrapped up in a descriptor so it can be stored in the class object. You " +"might expect there to be special syntax for creating such methods (``def " +"static f``, ``defstatic f()``, or something like that) but no such syntax " +"has been defined yet; that's been left for future versions of Python." #: ../../whatsnew/2.2.rst:213 msgid "" @@ -306,20 +422,32 @@ msgid "" "and postconditions for a method. A class that used this feature might be " "defined like this::" msgstr "" +"More new features, such as slots and properties, are also implemented as new " +"kinds of descriptors, and it's not difficult to write a descriptor class " +"that does something novel. For example, it would be possible to write a " +"descriptor class that made it possible to write Eiffel-style preconditions " +"and postconditions for a method. A class that used this feature might be " +"defined like this::" #: ../../whatsnew/2.2.rst:235 msgid "" -"Note that a person using the new :func:`eiffelmethod` doesn't have to " +"Note that a person using the new :func:`!eiffelmethod` doesn't have to " "understand anything about descriptors. This is why I think the new features " "don't increase the basic complexity of the language. There will be a few " -"wizards who need to know about it in order to write :func:`eiffelmethod` or " +"wizards who need to know about it in order to write :func:`!eiffelmethod` or " "the ZODB or whatever, but most users will just write code on top of the " "resulting libraries and ignore the implementation details." msgstr "" +"Note that a person using the new :func:`!eiffelmethod` doesn't have to " +"understand anything about descriptors. This is why I think the new features " +"don't increase the basic complexity of the language. There will be a few " +"wizards who need to know about it in order to write :func:`!eiffelmethod` or " +"the ZODB or whatever, but most users will just write code on top of the " +"resulting libraries and ignore the implementation details." #: ../../whatsnew/2.2.rst:244 msgid "Multiple Inheritance: The Diamond Rule" -msgstr "" +msgstr "Multiple Inheritance: The Diamond Rule" #: ../../whatsnew/2.2.rst:246 msgid "" @@ -327,17 +455,27 @@ msgid "" "rules under which names are resolved. Consider this set of classes (diagram " "taken from :pep:`253` by Guido van Rossum)::" msgstr "" +"Multiple inheritance has also been made more useful through changing the " +"rules under which names are resolved. Consider this set of classes (diagram " +"taken from :pep:`253` by Guido van Rossum)::" #: ../../whatsnew/2.2.rst:264 msgid "" "The lookup rule for classic classes is simple but not very smart; the base " -"classes are searched depth-first, going from left to right. A reference to :" -"meth:`D.save` will search the classes :class:`D`, :class:`B`, and then :" -"class:`A`, where :meth:`save` would be found and returned. :meth:`C.save` " -"would never be found at all. This is bad, because if :class:`C`'s :meth:" -"`save` method is saving some internal state specific to :class:`C`, not " -"calling it will result in that state never getting saved." +"classes are searched depth-first, going from left to right. A reference " +"to :meth:`!D.save` will search the classes :class:`!D`, :class:`!B`, and " +"then :class:`!A`, where :meth:`!save` would be found and returned. :meth:`!" +"C.save` would never be found at all. This is bad, because if :class:`!" +"C`'s :meth:`!save` method is saving some internal state specific to :class:`!" +"C`, not calling it will result in that state never getting saved." msgstr "" +"The lookup rule for classic classes is simple but not very smart; the base " +"classes are searched depth-first, going from left to right. A reference " +"to :meth:`!D.save` will search the classes :class:`!D`, :class:`!B`, and " +"then :class:`!A`, where :meth:`!save` would be found and returned. :meth:`!" +"C.save` would never be found at all. This is bad, because if :class:`!" +"C`'s :meth:`!save` method is saving some internal state specific to :class:`!" +"C`, not calling it will result in that state never getting saved." #: ../../whatsnew/2.2.rst:272 msgid "" @@ -347,34 +485,57 @@ msgid "" "cases, but produces more useful results for really complicated inheritance " "graphs.)" msgstr "" +"New-style classes follow a different algorithm that's a bit more complicated " +"to explain, but does the right thing in this situation. (Note that Python " +"2.3 changes this algorithm to one that produces the same results in most " +"cases, but produces more useful results for really complicated inheritance " +"graphs.)" #: ../../whatsnew/2.2.rst:277 msgid "" "List all the base classes, following the classic lookup rule and include a " "class multiple times if it's visited repeatedly. In the above example, the " -"list of visited classes is [:class:`D`, :class:`B`, :class:`A`, :class:`C`, :" -"class:`A`]." +"list of visited classes is [:class:`!D`, :class:`!B`, :class:`!A`, :class:`!" +"C`, :class:`!A`]." msgstr "" +"List all the base classes, following the classic lookup rule and include a " +"class multiple times if it's visited repeatedly. In the above example, the " +"list of visited classes is [:class:`!D`, :class:`!B`, :class:`!A`, :class:`!" +"C`, :class:`!A`]." #: ../../whatsnew/2.2.rst:282 msgid "" "Scan the list for duplicated classes. If any are found, remove all but one " "occurrence, leaving the *last* one in the list. In the above example, the " -"list becomes [:class:`D`, :class:`B`, :class:`C`, :class:`A`] after dropping " -"duplicates." +"list becomes [:class:`!D`, :class:`!B`, :class:`!C`, :class:`!A`] after " +"dropping duplicates." msgstr "" +"Scan the list for duplicated classes. If any are found, remove all but one " +"occurrence, leaving the *last* one in the list. In the above example, the " +"list becomes [:class:`!D`, :class:`!B`, :class:`!C`, :class:`!A`] after " +"dropping duplicates." #: ../../whatsnew/2.2.rst:287 msgid "" -"Following this rule, referring to :meth:`D.save` will return :meth:`C.save`, " -"which is the behaviour we're after. This lookup rule is the same as the one " -"followed by Common Lisp. A new built-in function, :func:`super`, provides a " -"way to get at a class's superclasses without having to reimplement Python's " -"algorithm. The most commonly used form will be ``super(class, obj)``, which " -"returns a bound superclass object (not the actual class object). This form " -"will be used in methods to call a method in the superclass; for example, :" -"class:`D`'s :meth:`save` method would look like this::" -msgstr "" +"Following this rule, referring to :meth:`!D.save` will return :meth:`!" +"C.save`, which is the behaviour we're after. This lookup rule is the same " +"as the one followed by Common Lisp. A new built-in function, :func:`super`, " +"provides a way to get at a class's superclasses without having to " +"reimplement Python's algorithm. The most commonly used form will be " +"``super(class, obj)``, which returns a bound superclass object (not the " +"actual class object). This form will be used in methods to call a method in " +"the superclass; for example, :class:`!D`'s :meth:`!save` method would look " +"like this::" +msgstr "" +"Following this rule, referring to :meth:`!D.save` will return :meth:`!" +"C.save`, which is the behaviour we're after. This lookup rule is the same " +"as the one followed by Common Lisp. A new built-in function, :func:`super`, " +"provides a way to get at a class's superclasses without having to " +"reimplement Python's algorithm. The most commonly used form will be " +"``super(class, obj)``, which returns a bound superclass object (not the " +"actual class object). This form will be used in methods to call a method in " +"the superclass; for example, :class:`!D`'s :meth:`!save` method would look " +"like this::" #: ../../whatsnew/2.2.rst:303 msgid "" @@ -382,19 +543,29 @@ msgid "" "``super(class)`` or ``super(class1, class2)``, but this probably won't often " "be useful." msgstr "" +":func:`super` can also return unbound superclass objects when called as " +"``super(class)`` or ``super(class1, class2)``, but this probably won't often " +"be useful." #: ../../whatsnew/2.2.rst:309 msgid "Attribute Access" -msgstr "" +msgstr "Attribute Access" #: ../../whatsnew/2.2.rst:311 msgid "" "A fair number of sophisticated Python classes define hooks for attribute " -"access using :meth:`__getattr__`; most commonly this is done for " +"access using :meth:`~object.__getattr__`; most commonly this is done for " "convenience, to make code more readable by automatically mapping an " -"attribute access such as ``obj.parent`` into a method call such as ``obj." -"get_parent``. Python 2.2 adds some new ways of controlling attribute access." +"attribute access such as ``obj.parent`` into a method call such as " +"``obj.get_parent``. Python 2.2 adds some new ways of controlling attribute " +"access." msgstr "" +"A fair number of sophisticated Python classes define hooks for attribute " +"access using :meth:`~object.__getattr__`; most commonly this is done for " +"convenience, to make code more readable by automatically mapping an " +"attribute access such as ``obj.parent`` into a method call such as " +"``obj.get_parent``. Python 2.2 adds some new ways of controlling attribute " +"access." #: ../../whatsnew/2.2.rst:317 msgid "" @@ -403,67 +574,104 @@ msgid "" "attempt is made to access ``obj.foo`` and no attribute named ``foo`` is " "found in the instance's dictionary." msgstr "" +"First, ``__getattr__(attr_name)`` is still supported by new-style classes, " +"and nothing about it has changed. As before, it will be called when an " +"attempt is made to access ``obj.foo`` and no attribute named ``foo`` is " +"found in the instance's dictionary." #: ../../whatsnew/2.2.rst:322 msgid "" "New-style classes also support a new method, " "``__getattribute__(attr_name)``. The difference between the two methods is " -"that :meth:`__getattribute__` is *always* called whenever any attribute is " -"accessed, while the old :meth:`__getattr__` is only called if ``foo`` isn't " -"found in the instance's dictionary." +"that :meth:`~object.__getattribute__` is *always* called whenever any " +"attribute is accessed, while the old :meth:`~object.__getattr__` is only " +"called if ``foo`` isn't found in the instance's dictionary." msgstr "" +"New-style classes also support a new method, " +"``__getattribute__(attr_name)``. The difference between the two methods is " +"that :meth:`~object.__getattribute__` is *always* called whenever any " +"attribute is accessed, while the old :meth:`~object.__getattr__` is only " +"called if ``foo`` isn't found in the instance's dictionary." #: ../../whatsnew/2.2.rst:328 msgid "" "However, Python 2.2's support for :dfn:`properties` will often be a simpler " -"way to trap attribute references. Writing a :meth:`__getattr__` method is " +"way to trap attribute references. Writing a :meth:`!__getattr__` method is " "complicated because to avoid recursion you can't use regular attribute " -"accesses inside them, and instead have to mess around with the contents of :" -"attr:`~object.__dict__`. :meth:`__getattr__` methods also end up being " -"called by Python when it checks for other methods such as :meth:`__repr__` " -"or :meth:`__coerce__`, and so have to be written with this in mind. Finally, " -"calling a function on every attribute access results in a sizable " -"performance loss." +"accesses inside them, and instead have to mess around with the contents " +"of :attr:`~object.__dict__`. :meth:`~object.__getattr__` methods also end up " +"being called by Python when it checks for other methods such " +"as :meth:`~object.__repr__` or :meth:`!__coerce__`, and so have to be " +"written with this in mind. Finally, calling a function on every attribute " +"access results in a sizable performance loss." msgstr "" +"However, Python 2.2's support for :dfn:`properties` will often be a simpler " +"way to trap attribute references. Writing a :meth:`!__getattr__` method is " +"complicated because to avoid recursion you can't use regular attribute " +"accesses inside them, and instead have to mess around with the contents " +"of :attr:`~object.__dict__`. :meth:`~object.__getattr__` methods also end up " +"being called by Python when it checks for other methods such " +"as :meth:`~object.__repr__` or :meth:`!__coerce__`, and so have to be " +"written with this in mind. Finally, calling a function on every attribute " +"access results in a sizable performance loss." #: ../../whatsnew/2.2.rst:337 msgid "" ":class:`property` is a new built-in type that packages up three functions " "that get, set, or delete an attribute, and a docstring. For example, if you " -"want to define a :attr:`size` attribute that's computed, but also settable, " +"want to define a :attr:`!size` attribute that's computed, but also settable, " "you could write::" msgstr "" +":class:`property` is a new built-in type that packages up three functions " +"that get, set, or delete an attribute, and a docstring. For example, if you " +"want to define a :attr:`!size` attribute that's computed, but also settable, " +"you could write::" #: ../../whatsnew/2.2.rst:357 msgid "" -"That is certainly clearer and easier to write than a pair of :meth:" -"`__getattr__`/:meth:`__setattr__` methods that check for the :attr:`size` " +"That is certainly clearer and easier to write than a pair of :meth:`!" +"__getattr__`/:meth:`!__setattr__` methods that check for the :attr:`!size` " "attribute and handle it specially while retrieving all other attributes from " -"the instance's :attr:`~object.__dict__`. Accesses to :attr:`size` are also " +"the instance's :attr:`~object.__dict__`. Accesses to :attr:`!size` are also " "the only ones which have to perform the work of calling a function, so " "references to other attributes run at their usual speed." msgstr "" +"That is certainly clearer and easier to write than a pair of :meth:`!" +"__getattr__`/:meth:`!__setattr__` methods that check for the :attr:`!size` " +"attribute and handle it specially while retrieving all other attributes from " +"the instance's :attr:`~object.__dict__`. Accesses to :attr:`!size` are also " +"the only ones which have to perform the work of calling a function, so " +"references to other attributes run at their usual speed." #: ../../whatsnew/2.2.rst:364 msgid "" "Finally, it's possible to constrain the list of attributes that can be " "referenced on an object using the new :attr:`~object.__slots__` class " "attribute. Python objects are usually very dynamic; at any time it's " -"possible to define a new attribute on an instance by just doing ``obj." -"new_attr=1``. A new-style class can define a class attribute named :attr:" -"`~object.__slots__` to limit the legal attributes to a particular set of " -"names. An example will make this clear::" +"possible to define a new attribute on an instance by just doing " +"``obj.new_attr=1``. A new-style class can define a class attribute " +"named :attr:`~object.__slots__` to limit the legal attributes to a " +"particular set of names. An example will make this clear::" msgstr "" +"Finally, it's possible to constrain the list of attributes that can be " +"referenced on an object using the new :attr:`~object.__slots__` class " +"attribute. Python objects are usually very dynamic; at any time it's " +"possible to define a new attribute on an instance by just doing " +"``obj.new_attr=1``. A new-style class can define a class attribute " +"named :attr:`~object.__slots__` to limit the legal attributes to a " +"particular set of names. An example will make this clear::" #: ../../whatsnew/2.2.rst:385 msgid "" "Note how you get an :exc:`AttributeError` on the attempt to assign to an " "attribute not listed in :attr:`~object.__slots__`." msgstr "" +"Note how you get an :exc:`AttributeError` on the attempt to assign to an " +"attribute not listed in :attr:`~object.__slots__`." #: ../../whatsnew/2.2.rst:392 msgid "Related Links" -msgstr "" +msgstr "Related Links" #: ../../whatsnew/2.2.rst:394 msgid "" @@ -472,6 +680,10 @@ msgid "" "been simplified or ignored. Where should you go to get a more complete " "picture?" msgstr "" +"This section has just been a quick overview of the new features, giving " +"enough of an explanation to start you programming, but many details have " +"been simplified or ignored. Where should you go to get a more complete " +"picture?" #: ../../whatsnew/2.2.rst:398 msgid "" @@ -480,18 +692,30 @@ msgid "" "whetted your appetite, go read this tutorial next, because it goes into much " "more detail about the new features while still remaining quite easy to read." msgstr "" +"The :ref:`descriptorhowto` is a lengthy tutorial introduction to the " +"descriptor features, written by Guido van Rossum. If my description has " +"whetted your appetite, go read this tutorial next, because it goes into much " +"more detail about the new features while still remaining quite easy to read." #: ../../whatsnew/2.2.rst:403 msgid "" "Next, there are two relevant PEPs, :pep:`252` and :pep:`253`. :pep:`252` is " "titled \"Making Types Look More Like Classes\", and covers the descriptor " "API. :pep:`253` is titled \"Subtyping Built-in Types\", and describes the " -"changes to type objects that make it possible to subtype built-in objects. :" -"pep:`253` is the more complicated PEP of the two, and at a few points the " -"necessary explanations of types and meta-types may cause your head to " -"explode. Both PEPs were written and implemented by Guido van Rossum, with " -"substantial assistance from the rest of the Zope Corp. team." +"changes to type objects that make it possible to subtype built-in " +"objects. :pep:`253` is the more complicated PEP of the two, and at a few " +"points the necessary explanations of types and meta-types may cause your " +"head to explode. Both PEPs were written and implemented by Guido van " +"Rossum, with substantial assistance from the rest of the Zope Corp. team." msgstr "" +"Next, there are two relevant PEPs, :pep:`252` and :pep:`253`. :pep:`252` is " +"titled \"Making Types Look More Like Classes\", and covers the descriptor " +"API. :pep:`253` is titled \"Subtyping Built-in Types\", and describes the " +"changes to type objects that make it possible to subtype built-in " +"objects. :pep:`253` is the more complicated PEP of the two, and at a few " +"points the necessary explanations of types and meta-types may cause your " +"head to explode. Both PEPs were written and implemented by Guido van " +"Rossum, with substantial assistance from the rest of the Zope Corp. team." #: ../../whatsnew/2.2.rst:412 msgid "" @@ -500,10 +724,14 @@ msgid "" "should only resort to it after all other avenues have been exhausted, " "including posting a question to python-list or python-dev." msgstr "" +"Finally, there's the ultimate authority: the source code. Most of the " +"machinery for the type handling is in :file:`Objects/typeobject.c`, but you " +"should only resort to it after all other avenues have been exhausted, " +"including posting a question to python-list or python-dev." #: ../../whatsnew/2.2.rst:421 msgid "PEP 234: Iterators" -msgstr "" +msgstr "PEP 234: Iterators" #: ../../whatsnew/2.2.rst:423 msgid "" @@ -511,47 +739,81 @@ msgid "" "and Python levels. Objects can define how they can be looped over by " "callers." msgstr "" +"Another significant addition to 2.2 is an iteration interface at both the C " +"and Python levels. Objects can define how they can be looped over by " +"callers." #: ../../whatsnew/2.2.rst:426 msgid "" "In Python versions up to 2.1, the usual way to make ``for item in obj`` work " -"is to define a :meth:`__getitem__` method that looks something like this::" +"is to define a :meth:`~object.__getitem__` method that looks something like " +"this::" msgstr "" +"In Python versions up to 2.1, the usual way to make ``for item in obj`` work " +"is to define a :meth:`~object.__getitem__` method that looks something like " +"this::" #: ../../whatsnew/2.2.rst:432 msgid "" -":meth:`__getitem__` is more properly used to define an indexing operation on " -"an object so that you can write ``obj[5]`` to retrieve the sixth element. " -"It's a bit misleading when you're using this only to support :keyword:`for` " -"loops. Consider some file-like object that wants to be looped over; the " -"*index* parameter is essentially meaningless, as the class probably assumes " -"that a series of :meth:`__getitem__` calls will be made with *index* " -"incrementing by one each time. In other words, the presence of the :meth:" -"`__getitem__` method doesn't mean that using ``file[5]`` to randomly access " -"the sixth element will work, though it really should." -msgstr "" +":meth:`~object.__getitem__` is more properly used to define an indexing " +"operation on an object so that you can write ``obj[5]`` to retrieve the " +"sixth element. It's a bit misleading when you're using this only to " +"support :keyword:`for` loops. Consider some file-like object that wants to " +"be looped over; the *index* parameter is essentially meaningless, as the " +"class probably assumes that a series of :meth:`~object.__getitem__` calls " +"will be made with *index* incrementing by one each time. In other words, " +"the presence of the :meth:`~object.__getitem__` method doesn't mean that " +"using ``file[5]`` to randomly access the sixth element will work, though it " +"really should." +msgstr "" +":meth:`~object.__getitem__` is more properly used to define an indexing " +"operation on an object so that you can write ``obj[5]`` to retrieve the " +"sixth element. It's a bit misleading when you're using this only to " +"support :keyword:`for` loops. Consider some file-like object that wants to " +"be looped over; the *index* parameter is essentially meaningless, as the " +"class probably assumes that a series of :meth:`~object.__getitem__` calls " +"will be made with *index* incrementing by one each time. In other words, " +"the presence of the :meth:`~object.__getitem__` method doesn't mean that " +"using ``file[5]`` to randomly access the sixth element will work, though it " +"really should." #: ../../whatsnew/2.2.rst:442 msgid "" -"In Python 2.2, iteration can be implemented separately, and :meth:" -"`__getitem__` methods can be limited to classes that really do support " -"random access. The basic idea of iterators is simple. A new built-in " -"function, ``iter(obj)`` or ``iter(C, sentinel)``, is used to get an " -"iterator. ``iter(obj)`` returns an iterator for the object *obj*, while " -"``iter(C, sentinel)`` returns an iterator that will invoke the callable " -"object *C* until it returns *sentinel* to signal that the iterator is done." -msgstr "" +"In Python 2.2, iteration can be implemented separately, " +"and :meth:`~object.__getitem__` methods can be limited to classes that " +"really do support random access. The basic idea of iterators is simple. A " +"new built-in function, ``iter(obj)`` or ``iter(C, sentinel)``, is used to " +"get an iterator. ``iter(obj)`` returns an iterator for the object *obj*, " +"while ``iter(C, sentinel)`` returns an iterator that will invoke the " +"callable object *C* until it returns *sentinel* to signal that the iterator " +"is done." +msgstr "" +"In Python 2.2, iteration can be implemented separately, " +"and :meth:`~object.__getitem__` methods can be limited to classes that " +"really do support random access. The basic idea of iterators is simple. A " +"new built-in function, ``iter(obj)`` or ``iter(C, sentinel)``, is used to " +"get an iterator. ``iter(obj)`` returns an iterator for the object *obj*, " +"while ``iter(C, sentinel)`` returns an iterator that will invoke the " +"callable object *C* until it returns *sentinel* to signal that the iterator " +"is done." #: ../../whatsnew/2.2.rst:450 msgid "" -"Python classes can define an :meth:`__iter__` method, which should create " +"Python classes can define an :meth:`!__iter__` method, which should create " "and return a new iterator for the object; if the object is its own iterator, " "this method can just return ``self``. In particular, iterators will usually " -"be their own iterators. Extension types implemented in C can implement a :c:" -"member:`~PyTypeObject.tp_iter` function in order to return an iterator, and " -"extension types that want to behave as iterators can define a :c:member:" -"`~PyTypeObject.tp_iternext` function." +"be their own iterators. Extension types implemented in C can implement " +"a :c:member:`~PyTypeObject.tp_iter` function in order to return an iterator, " +"and extension types that want to behave as iterators can define " +"a :c:member:`~PyTypeObject.tp_iternext` function." msgstr "" +"Python classes can define an :meth:`!__iter__` method, which should create " +"and return a new iterator for the object; if the object is its own iterator, " +"this method can just return ``self``. In particular, iterators will usually " +"be their own iterators. Extension types implemented in C can implement " +"a :c:member:`~PyTypeObject.tp_iter` function in order to return an iterator, " +"and extension types that want to behave as iterators can define " +"a :c:member:`~PyTypeObject.tp_iternext` function." #: ../../whatsnew/2.2.rst:457 msgid "" @@ -560,34 +822,56 @@ msgid "" "When there are no more values to be returned, calling :meth:`next` should " "raise the :exc:`StopIteration` exception. ::" msgstr "" +"So, after all this, what do iterators actually do? They have one required " +"method, :meth:`next`, which takes no arguments and returns the next value. " +"When there are no more values to be returned, calling :meth:`next` should " +"raise the :exc:`StopIteration` exception. ::" #: ../../whatsnew/2.2.rst:478 msgid "" "In 2.2, Python's :keyword:`for` statement no longer expects a sequence; it " "expects something for which :func:`iter` will return an iterator. For " "backward compatibility and convenience, an iterator is automatically " -"constructed for sequences that don't implement :meth:`__iter__` or a :c:" -"member:`~PyTypeObject.tp_iter` slot, so ``for i in [1,2,3]`` will still " +"constructed for sequences that don't implement :meth:`!__iter__` or " +"a :c:member:`~PyTypeObject.tp_iter` slot, so ``for i in [1,2,3]`` will still " "work. Wherever the Python interpreter loops over a sequence, it's been " "changed to use the iterator protocol. This means you can do things like " "this::" msgstr "" +"In 2.2, Python's :keyword:`for` statement no longer expects a sequence; it " +"expects something for which :func:`iter` will return an iterator. For " +"backward compatibility and convenience, an iterator is automatically " +"constructed for sequences that don't implement :meth:`!__iter__` or " +"a :c:member:`~PyTypeObject.tp_iter` slot, so ``for i in [1,2,3]`` will still " +"work. Wherever the Python interpreter loops over a sequence, it's been " +"changed to use the iterator protocol. This means you can do things like " +"this::" #: ../../whatsnew/2.2.rst:492 msgid "" -"Iterator support has been added to some of Python's basic types. Calling :" -"func:`iter` on a dictionary will return an iterator which loops over its " -"keys::" +"Iterator support has been added to some of Python's basic types. " +"Calling :func:`iter` on a dictionary will return an iterator which loops " +"over its keys::" msgstr "" +"Iterator support has been added to some of Python's basic types. " +"Calling :func:`iter` on a dictionary will return an iterator which loops " +"over its keys::" #: ../../whatsnew/2.2.rst:512 msgid "" "That's just the default behaviour. If you want to iterate over keys, " -"values, or key/value pairs, you can explicitly call the :meth:`iterkeys`, :" -"meth:`itervalues`, or :meth:`iteritems` methods to get an appropriate " -"iterator. In a minor related change, the :keyword:`in` operator now works on " -"dictionaries, so ``key in dict`` is now equivalent to ``dict.has_key(key)``." +"values, or key/value pairs, you can explicitly call the :meth:`!" +"iterkeys`, :meth:`!itervalues`, or :meth:`!iteritems` methods to get an " +"appropriate iterator. In a minor related change, the :keyword:`in` operator " +"now works on dictionaries, so ``key in dict`` is now equivalent to " +"``dict.has_key(key)``." msgstr "" +"That's just the default behaviour. If you want to iterate over keys, " +"values, or key/value pairs, you can explicitly call the :meth:`!" +"iterkeys`, :meth:`!itervalues`, or :meth:`!iteritems` methods to get an " +"appropriate iterator. In a minor related change, the :keyword:`in` operator " +"now works on dictionaries, so ``key in dict`` is now equivalent to " +"``dict.has_key(key)``." #: ../../whatsnew/2.2.rst:518 msgid "" @@ -595,6 +879,9 @@ msgid "" "until there are no more lines in the file. This means you can now read each " "line of a file using code like this::" msgstr "" +"Files also provide an iterator, which calls the :meth:`readline` method " +"until there are no more lines in the file. This means you can now read each " +"line of a file using code like this::" #: ../../whatsnew/2.2.rst:526 msgid "" @@ -603,26 +890,34 @@ msgid "" "object could provide such additional capabilities, but the iterator protocol " "only requires a :meth:`next` method." msgstr "" +"Note that you can only go forward in an iterator; there's no way to get the " +"previous element, reset the iterator, or make a copy of it. An iterator " +"object could provide such additional capabilities, but the iterator protocol " +"only requires a :meth:`next` method." #: ../../whatsnew/2.2.rst:535 msgid ":pep:`234` - Iterators" -msgstr ":pep:`234` - Iteradores" +msgstr ":pep:`234` - Iterators" #: ../../whatsnew/2.2.rst:535 msgid "" "Written by Ka-Ping Yee and GvR; implemented by the Python Labs crew, mostly " "by GvR and Tim Peters." msgstr "" +"Written by Ka-Ping Yee and GvR; implemented by the Python Labs crew, mostly " +"by GvR and Tim Peters." #: ../../whatsnew/2.2.rst:542 msgid "PEP 255: Simple Generators" -msgstr "PEP 255: Geradores Simples" +msgstr "PEP 255: Simple Generators" #: ../../whatsnew/2.2.rst:544 msgid "" "Generators are another new feature, one that interacts with the introduction " "of iterators." msgstr "" +"Generators are another new feature, one that interacts with the introduction " +"of iterators." #: ../../whatsnew/2.2.rst:547 msgid "" @@ -636,10 +931,19 @@ msgid "" "This is what generators provide; they can be thought of as resumable " "functions." msgstr "" +"You're doubtless familiar with how function calls work in Python or C. When " +"you call a function, it gets a private namespace where its local variables " +"are created. When the function reaches a :keyword:`return` statement, the " +"local variables are destroyed and the resulting value is returned to the " +"caller. A later call to the same function will get a fresh new set of local " +"variables. But, what if the local variables weren't thrown away on exiting a " +"function? What if you could later resume the function where it left off? " +"This is what generators provide; they can be thought of as resumable " +"functions." #: ../../whatsnew/2.2.rst:556 msgid "Here's the simplest example of a generator function::" -msgstr "" +msgstr "Here's the simplest example of a generator function::" #: ../../whatsnew/2.2.rst:562 msgid "" @@ -651,6 +955,13 @@ msgid "" "import generators`` statement near the top of the module's source code. In " "Python 2.3 this statement will become unnecessary." msgstr "" +"A new keyword, :keyword:`yield`, was introduced for generators. Any " +"function containing a :keyword:`!yield` statement is a generator function; " +"this is detected by Python's bytecode compiler which compiles the function " +"specially as a result. Because a new keyword was introduced, generators " +"must be explicitly enabled in a module by including a ``from __future__ " +"import generators`` statement near the top of the module's source code. In " +"Python 2.3 this statement will become unnecessary." #: ../../whatsnew/2.2.rst:570 msgid "" @@ -661,23 +972,37 @@ msgid "" "between :keyword:`!yield` and a :keyword:`!return` statement is that on " "reaching a :keyword:`!yield` the generator's state of execution is suspended " "and local variables are preserved. On the next call to the generator's " -"``next()`` method, the function will resume executing immediately after the :" -"keyword:`!yield` statement. (For complicated reasons, the :keyword:`!yield` " -"statement isn't allowed inside the :keyword:`!try` block of a :keyword:" -"`try`...\\ :keyword:`finally` statement; read :pep:`255` for a full " -"explanation of the interaction between :keyword:`!yield` and exceptions.)" +"``next()`` method, the function will resume executing immediately after " +"the :keyword:`!yield` statement. (For complicated reasons, the :keyword:`!" +"yield` statement isn't allowed inside the :keyword:`!try` block of " +"a :keyword:`try`...\\ :keyword:`finally` statement; read :pep:`255` for a " +"full explanation of the interaction between :keyword:`!yield` and " +"exceptions.)" msgstr "" +"When you call a generator function, it doesn't return a single value; " +"instead it returns a generator object that supports the iterator protocol. " +"On executing the :keyword:`yield` statement, the generator outputs the value " +"of ``i``, similar to a :keyword:`return` statement. The big difference " +"between :keyword:`!yield` and a :keyword:`!return` statement is that on " +"reaching a :keyword:`!yield` the generator's state of execution is suspended " +"and local variables are preserved. On the next call to the generator's " +"``next()`` method, the function will resume executing immediately after " +"the :keyword:`!yield` statement. (For complicated reasons, the :keyword:`!" +"yield` statement isn't allowed inside the :keyword:`!try` block of " +"a :keyword:`try`...\\ :keyword:`finally` statement; read :pep:`255` for a " +"full explanation of the interaction between :keyword:`!yield` and " +"exceptions.)" #: ../../whatsnew/2.2.rst:583 -msgid "Here's a sample usage of the :func:`generate_ints` generator::" -msgstr "" +msgid "Here's a sample usage of the :func:`!generate_ints` generator::" +msgstr "Here's a sample usage of the :func:`!generate_ints` generator::" #: ../../whatsnew/2.2.rst:600 msgid "" "You could equally write ``for i in generate_ints(5)``, or ``a,b,c = " "generate_ints(3)``." msgstr "" -"Você pode igualmente escrever ``for i in generate_ints(5)``,ou ``a,b,c = " +"You could equally write ``for i in generate_ints(5)``, or ``a,b,c = " "generate_ints(3)``." #: ../../whatsnew/2.2.rst:603 @@ -690,6 +1015,13 @@ msgid "" "indicated by raising :exc:`StopIteration` manually, or by just letting the " "flow of execution fall off the bottom of the function." msgstr "" +"Inside a generator function, the :keyword:`return` statement can only be " +"used without a value, and signals the end of the procession of values; " +"afterwards the generator cannot return any further values. :keyword:`!" +"return` with a value, such as ``return 5``, is a syntax error inside a " +"generator function. The end of the generator's results can also be " +"indicated by raising :exc:`StopIteration` manually, or by just letting the " +"flow of execution fall off the bottom of the function." #: ../../whatsnew/2.2.rst:611 msgid "" @@ -703,6 +1035,15 @@ msgid "" "The simplest one implements an in-order traversal of a tree using generators " "recursively. ::" msgstr "" +"You could achieve the effect of generators manually by writing your own " +"class and storing all the local variables of the generator as instance " +"variables. For example, returning a list of integers could be done by " +"setting ``self.count`` to 0, and having the :meth:`next` method increment " +"``self.count`` and return it. However, for a moderately complicated " +"generator, writing a corresponding class would be much messier. :file:`Lib/" +"test/test_generators.py` contains a number of more interesting examples. " +"The simplest one implements an in-order traversal of a tree using generators " +"recursively. ::" #: ../../whatsnew/2.2.rst:629 msgid "" @@ -712,6 +1053,11 @@ msgid "" "knight to every square of an $NxN$ chessboard without visiting any square " "twice)." msgstr "" +"Two other examples in :file:`Lib/test/test_generators.py` produce solutions " +"for the N-Queens problem (placing $N$ queens on an $NxN$ chess board so that " +"no queen threatens another) and the Knight's Tour (a route that takes a " +"knight to every square of an $NxN$ chessboard without visiting any square " +"twice)." #: ../../whatsnew/2.2.rst:634 msgid "" @@ -722,15 +1068,28 @@ msgid "" "Language\" at https://www2.cs.arizona.edu/icon/docs/ipd266.htm gives an idea " "of what this looks like::" msgstr "" +"The idea of generators comes from other programming languages, especially " +"Icon (https://www2.cs.arizona.edu/icon/), where the idea of generators is " +"central. In Icon, every expression and function call behaves like a " +"generator. One example from \"An Overview of the Icon Programming " +"Language\" at https://www2.cs.arizona.edu/icon/docs/ipd266.htm gives an idea " +"of what this looks like::" #: ../../whatsnew/2.2.rst:644 msgid "" -"In Icon the :func:`find` function returns the indexes at which the substring " -"\"or\" is found: 3, 23, 33. In the :keyword:`if` statement, ``i`` is first " -"assigned a value of 3, but 3 is less than 5, so the comparison fails, and " -"Icon retries it with the second value of 23. 23 is greater than 5, so the " -"comparison now succeeds, and the code prints the value 23 to the screen." +"In Icon the :func:`!find` function returns the indexes at which the " +"substring \"or\" is found: 3, 23, 33. In the :keyword:`if` statement, ``i`` " +"is first assigned a value of 3, but 3 is less than 5, so the comparison " +"fails, and Icon retries it with the second value of 23. 23 is greater than " +"5, so the comparison now succeeds, and the code prints the value 23 to the " +"screen." msgstr "" +"In Icon the :func:`!find` function returns the indexes at which the " +"substring \"or\" is found: 3, 23, 33. In the :keyword:`if` statement, ``i`` " +"is first assigned a value of 3, but 3 is less than 5, so the comparison " +"fails, and Icon retries it with the second value of 23. 23 is greater than " +"5, so the comparison now succeeds, and the code prints the value 23 to the " +"screen." #: ../../whatsnew/2.2.rst:650 msgid "" @@ -742,10 +1101,17 @@ msgid "" "represented as a concrete object (the iterator) that can be passed around to " "other functions or stored in a data structure." msgstr "" +"Python doesn't go nearly as far as Icon in adopting generators as a central " +"concept. Generators are considered a new part of the core Python language, " +"but learning or using them isn't compulsory; if they don't solve any " +"problems that you have, feel free to ignore them. One novel feature of " +"Python's interface as compared to Icon's is that a generator's state is " +"represented as a concrete object (the iterator) that can be passed around to " +"other functions or stored in a data structure." #: ../../whatsnew/2.2.rst:662 msgid ":pep:`255` - Simple Generators" -msgstr ":pep:`255` - Geradores simples" +msgstr ":pep:`255` - Simple Generators" #: ../../whatsnew/2.2.rst:662 msgid "" @@ -753,23 +1119,35 @@ msgid "" "mostly by Neil Schemenauer and Tim Peters, with other fixes from the Python " "Labs crew." msgstr "" +"Written by Neil Schemenauer, Tim Peters, Magnus Lie Hetland. Implemented " +"mostly by Neil Schemenauer and Tim Peters, with other fixes from the Python " +"Labs crew." #: ../../whatsnew/2.2.rst:669 msgid "PEP 237: Unifying Long Integers and Integers" -msgstr "PEP 237: Unificando inteiros longos e inteiros" +msgstr "PEP 237: Unifying Long Integers and Integers" #: ../../whatsnew/2.2.rst:671 msgid "" "In recent versions, the distinction between regular integers, which are 32-" "bit values on most machines, and long integers, which can be of arbitrary " "size, was becoming an annoyance. For example, on platforms that support " -"files larger than ``2**32`` bytes, the :meth:`tell` method of file objects " +"files larger than ``2**32`` bytes, the :meth:`!tell` method of file objects " "has to return a long integer. However, there were various bits of Python " "that expected plain integers and would raise an error if a long integer was " "provided instead. For example, in Python 1.5, only regular integers could " "be used as a slice index, and ``'abc'[1L:]`` would raise a :exc:`TypeError` " "exception with the message 'slice index must be int'." msgstr "" +"In recent versions, the distinction between regular integers, which are 32-" +"bit values on most machines, and long integers, which can be of arbitrary " +"size, was becoming an annoyance. For example, on platforms that support " +"files larger than ``2**32`` bytes, the :meth:`!tell` method of file objects " +"has to return a long integer. However, there were various bits of Python " +"that expected plain integers and would raise an error if a long integer was " +"provided instead. For example, in Python 1.5, only regular integers could " +"be used as a slice index, and ``'abc'[1L:]`` would raise a :exc:`TypeError` " +"exception with the message 'slice index must be int'." #: ../../whatsnew/2.2.rst:681 msgid "" @@ -781,6 +1159,13 @@ msgid "" "to raise an :exc:`OverflowError` will now return a long integer as their " "result. For example::" msgstr "" +"Python 2.2 will shift values from short to long integers as required. The " +"'L' suffix is no longer needed to indicate a long integer literal, as now " +"the compiler will choose the appropriate type. (Using the 'L' suffix will " +"be discouraged in future 2.x versions of Python, triggering a warning in " +"Python 2.4, and probably dropped in Python 3.0.) Many operations that used " +"to raise an :exc:`OverflowError` will now return a long integer as their " +"result. For example::" #: ../../whatsnew/2.2.rst:694 msgid "" @@ -788,20 +1173,25 @@ msgid "" "You can still distinguish them with the :func:`type` built-in function, but " "that's rarely needed." msgstr "" +"In most cases, integers and long integers will now be treated identically. " +"You can still distinguish them with the :func:`type` built-in function, but " +"that's rarely needed." #: ../../whatsnew/2.2.rst:702 msgid ":pep:`237` - Unifying Long Integers and Integers" -msgstr ":pep:`237` - Unificando inteiros longos e inteiros" +msgstr ":pep:`237` - Unifying Long Integers and Integers" #: ../../whatsnew/2.2.rst:702 msgid "" "Written by Moshe Zadka and Guido van Rossum. Implemented mostly by Guido " "van Rossum." msgstr "" +"Written by Moshe Zadka and Guido van Rossum. Implemented mostly by Guido " +"van Rossum." #: ../../whatsnew/2.2.rst:709 msgid "PEP 238: Changing the Division Operator" -msgstr "" +msgstr "PEP 238: Changing the Division Operator" #: ../../whatsnew/2.2.rst:711 msgid "" @@ -815,6 +1205,15 @@ msgid "" "the two operands and because Python is dynamically typed, it can be " "difficult to determine the possible types of the operands." msgstr "" +"The most controversial change in Python 2.2 heralds the start of an effort " +"to fix an old design flaw that's been in Python from the beginning. " +"Currently Python's division operator, ``/``, behaves like C's division " +"operator when presented with two integer arguments: it returns an integer " +"result that's truncated down when there would be a fractional part. For " +"example, ``3/2`` is 1, not 1.5, and ``(-1)/2`` is -1, not -0.5. This means " +"that the results of division can vary unexpectedly depending on the type of " +"the two operands and because Python is dynamically typed, it can be " +"difficult to determine the possible types of the operands." #: ../../whatsnew/2.2.rst:721 msgid "" @@ -825,6 +1224,12 @@ msgid "" "either side here and will stick to describing what's implemented in 2.2. " "Read :pep:`238` for a summary of arguments and counter-arguments.)" msgstr "" +"(The controversy is over whether this is *really* a design flaw, and whether " +"it's worth breaking existing code to fix this. It's caused endless " +"discussions on python-dev, and in July 2001 erupted into a storm of acidly " +"sarcastic postings on :newsgroup:`comp.lang.python`. I won't argue for " +"either side here and will stick to describing what's implemented in 2.2. " +"Read :pep:`238` for a summary of arguments and counter-arguments.)" #: ../../whatsnew/2.2.rst:728 msgid "" @@ -832,6 +1237,9 @@ msgid "" "Python 2.2 begins the transition, but the switch won't be complete until " "Python 3.0." msgstr "" +"Because this change might break code, it's being introduced very gradually. " +"Python 2.2 begins the transition, but the switch won't be complete until " +"Python 3.0." #: ../../whatsnew/2.2.rst:732 msgid "" @@ -844,10 +1252,18 @@ msgid "" "operands are integers, and returns the result of true division when one of " "the operands is a floating-point number." msgstr "" +"First, I'll borrow some terminology from :pep:`238`. \"True division\" is " +"the division that most non-programmers are familiar with: 3/2 is 1.5, 1/4 is " +"0.25, and so forth. \"Floor division\" is what Python's ``/`` operator " +"currently does when given integer operands; the result is the floor of the " +"value returned by true division. \"Classic division\" is the current mixed " +"behaviour of ``/``; it returns the result of floor division when the " +"operands are integers, and returns the result of true division when one of " +"the operands is a floating-point number." #: ../../whatsnew/2.2.rst:740 msgid "Here are the changes 2.2 introduces:" -msgstr "" +msgstr "Here are the changes 2.2 introduces:" #: ../../whatsnew/2.2.rst:742 msgid "" @@ -856,12 +1272,18 @@ msgid "" "no matter what the types of its operands are, so ``1 // 2`` is 0 and " "``1.0 // 2.0`` is also 0.0." msgstr "" +"A new operator, ``//``, is the floor division operator. (Yes, we know it " +"looks like C++'s comment symbol.) ``//`` *always* performs floor division " +"no matter what the types of its operands are, so ``1 // 2`` is 0 and " +"``1.0 // 2.0`` is also 0.0." #: ../../whatsnew/2.2.rst:747 msgid "" "``//`` is always available in Python 2.2; you don't need to enable it using " "a ``__future__`` statement." msgstr "" +"``//`` is always available in Python 2.2; you don't need to enable it using " +"a ``__future__`` statement." #: ../../whatsnew/2.2.rst:750 msgid "" @@ -870,38 +1292,56 @@ msgid "" "is 0.5. Without the ``__future__`` statement, ``/`` still means classic " "division. The default meaning of ``/`` will not change until Python 3.0." msgstr "" +"By including a ``from __future__ import division`` in a module, the ``/`` " +"operator will be changed to return the result of true division, so ``1/2`` " +"is 0.5. Without the ``__future__`` statement, ``/`` still means classic " +"division. The default meaning of ``/`` will not change until Python 3.0." #: ../../whatsnew/2.2.rst:755 msgid "" -"Classes can define methods called :meth:`__truediv__` and :meth:" -"`__floordiv__` to overload the two division operators. At the C level, " -"there are also slots in the :c:type:`PyNumberMethods` structure so extension " -"types can define the two operators." +"Classes can define methods called :meth:`~object.__truediv__` " +"and :meth:`~object.__floordiv__` to overload the two division operators. At " +"the C level, there are also slots in the :c:type:`PyNumberMethods` structure " +"so extension types can define the two operators." msgstr "" +"Classes can define methods called :meth:`~object.__truediv__` " +"and :meth:`~object.__floordiv__` to overload the two division operators. At " +"the C level, there are also slots in the :c:type:`PyNumberMethods` structure " +"so extension types can define the two operators." #: ../../whatsnew/2.2.rst:760 msgid "" "Python 2.2 supports some command-line arguments for testing whether code " -"will work with the changed division semantics. Running python with :option:" -"`!-Q warn` will cause a warning to be issued whenever division is applied to " -"two integers. You can use this to find code that's affected by the change " -"and fix it. By default, Python 2.2 will simply perform classic division " -"without a warning; the warning will be turned on by default in Python 2.3." +"will work with the changed division semantics. Running python " +"with :option:`!-Q warn` will cause a warning to be issued whenever division " +"is applied to two integers. You can use this to find code that's affected " +"by the change and fix it. By default, Python 2.2 will simply perform " +"classic division without a warning; the warning will be turned on by default " +"in Python 2.3." msgstr "" +"Python 2.2 supports some command-line arguments for testing whether code " +"will work with the changed division semantics. Running python " +"with :option:`!-Q warn` will cause a warning to be issued whenever division " +"is applied to two integers. You can use this to find code that's affected " +"by the change and fix it. By default, Python 2.2 will simply perform " +"classic division without a warning; the warning will be turned on by default " +"in Python 2.3." #: ../../whatsnew/2.2.rst:770 msgid ":pep:`238` - Changing the Division Operator" -msgstr "" +msgstr ":pep:`238` - Changing the Division Operator" #: ../../whatsnew/2.2.rst:771 msgid "" "Written by Moshe Zadka and Guido van Rossum. Implemented by Guido van " "Rossum.." msgstr "" +"Written by Moshe Zadka and Guido van Rossum. Implemented by Guido van " +"Rossum.." #: ../../whatsnew/2.2.rst:777 msgid "Unicode Changes" -msgstr "" +msgstr "Unicode Changes" #: ../../whatsnew/2.2.rst:779 msgid "" @@ -912,28 +1352,48 @@ msgid "" "script. (It's also possible to specify :option:`!--disable-unicode` to " "completely disable Unicode support.)" msgstr "" +"Python's Unicode support has been enhanced a bit in 2.2. Unicode strings " +"are usually stored as UCS-2, as 16-bit unsigned integers. Python 2.2 can " +"also be compiled to use UCS-4, 32-bit unsigned integers, as its internal " +"encoding by supplying :option:`!--enable-unicode=ucs4` to the configure " +"script. (It's also possible to specify :option:`!--disable-unicode` to " +"completely disable Unicode support.)" #: ../../whatsnew/2.2.rst:786 msgid "" "When built to use UCS-4 (a \"wide Python\"), the interpreter can natively " "handle Unicode characters from U+000000 to U+110000, so the range of legal " -"values for the :func:`unichr` function is expanded accordingly. Using an " +"values for the :func:`!unichr` function is expanded accordingly. Using an " "interpreter compiled to use UCS-2 (a \"narrow Python\"), values greater than " -"65535 will still cause :func:`unichr` to raise a :exc:`ValueError` " +"65535 will still cause :func:`!unichr` to raise a :exc:`ValueError` " "exception. This is all described in :pep:`261`, \"Support for 'wide' Unicode " "characters\"; consult it for further details." msgstr "" +"When built to use UCS-4 (a \"wide Python\"), the interpreter can natively " +"handle Unicode characters from U+000000 to U+110000, so the range of legal " +"values for the :func:`!unichr` function is expanded accordingly. Using an " +"interpreter compiled to use UCS-2 (a \"narrow Python\"), values greater than " +"65535 will still cause :func:`!unichr` to raise a :exc:`ValueError` " +"exception. This is all described in :pep:`261`, \"Support for 'wide' Unicode " +"characters\"; consult it for further details." #: ../../whatsnew/2.2.rst:794 msgid "" "Another change is simpler to explain. Since their introduction, Unicode " -"strings have supported an :meth:`encode` method to convert the string to a " +"strings have supported an :meth:`!encode` method to convert the string to a " "selected encoding such as UTF-8 or Latin-1. A symmetric " "``decode([*encoding*])`` method has been added to 8-bit strings (though not " -"to Unicode strings) in 2.2. :meth:`decode` assumes that the string is in the " -"specified encoding and decodes it, returning whatever is returned by the " +"to Unicode strings) in 2.2. :meth:`!decode` assumes that the string is in " +"the specified encoding and decodes it, returning whatever is returned by the " "codec." msgstr "" +"Another change is simpler to explain. Since their introduction, Unicode " +"strings have supported an :meth:`!encode` method to convert the string to a " +"selected encoding such as UTF-8 or Latin-1. A symmetric " +"``decode([*encoding*])`` method has been added to 8-bit strings (though not " +"to Unicode strings) in 2.2. :meth:`!decode` assumes that the string is in " +"the specified encoding and decodes it, returning whatever is returned by the " +"codec." #: ../../whatsnew/2.2.rst:801 msgid "" @@ -941,27 +1401,35 @@ msgid "" "related to Unicode. For example, codecs have been added for uu-encoding, " "MIME's base64 encoding, and compression with the :mod:`zlib` module::" msgstr "" +"Using this new feature, codecs have been added for tasks not directly " +"related to Unicode. For example, codecs have been added for uu-encoding, " +"MIME's base64 encoding, and compression with the :mod:`zlib` module::" #: ../../whatsnew/2.2.rst:822 msgid "" -"To convert a class instance to Unicode, a :meth:`__unicode__` method can be " -"defined by a class, analogous to :meth:`__str__`." +"To convert a class instance to Unicode, a :meth:`!__unicode__` method can be " +"defined by a class, analogous to :meth:`!__str__`." msgstr "" +"To convert a class instance to Unicode, a :meth:`!__unicode__` method can be " +"defined by a class, analogous to :meth:`!__str__`." #: ../../whatsnew/2.2.rst:825 msgid "" -":meth:`encode`, :meth:`decode`, and :meth:`__unicode__` were implemented by " -"Marc-André Lemburg. The changes to support using UCS-4 internally were " +":meth:`!encode`, :meth:`!decode`, and :meth:`!__unicode__` were implemented " +"by Marc-André Lemburg. The changes to support using UCS-4 internally were " "implemented by Fredrik Lundh and Martin von Löwis." msgstr "" +":meth:`!encode`, :meth:`!decode`, and :meth:`!__unicode__` were implemented " +"by Marc-André Lemburg. The changes to support using UCS-4 internally were " +"implemented by Fredrik Lundh and Martin von Löwis." #: ../../whatsnew/2.2.rst:832 msgid ":pep:`261` - Support for 'wide' Unicode characters" -msgstr "" +msgstr ":pep:`261` - Support for 'wide' Unicode characters" #: ../../whatsnew/2.2.rst:833 msgid "Written by Paul Prescod." -msgstr "" +msgstr "Written by Paul Prescod." #: ../../whatsnew/2.2.rst:839 msgid "PEP 227: Nested Scopes" @@ -976,6 +1444,12 @@ msgid "" "scopes from my \"What's New in Python 2.1\" document; if you read it when " "2.1 came out, you can skip the rest of this section." msgstr "" +"In Python 2.1, statically nested scopes were added as an optional feature, " +"to be enabled by a ``from __future__ import nested_scopes`` directive. In " +"2.2 nested scopes no longer need to be specially enabled, and are now always " +"present. The rest of this section is a copy of the description of nested " +"scopes from my \"What's New in Python 2.1\" document; if you read it when " +"2.1 came out, you can skip the rest of this section." #: ../../whatsnew/2.2.rst:848 msgid "" @@ -986,10 +1460,16 @@ msgid "" "their intuitive expectations. For example, a nested recursive function " "definition doesn't work::" msgstr "" +"The largest change introduced in Python 2.1, and made complete in 2.2, is to " +"Python's scoping rules. In Python 2.0, at any given time there are at most " +"three namespaces used to look up variable names: local, module-level, and " +"the built-in namespace. This often surprised people because it didn't match " +"their intuitive expectations. For example, a nested recursive function " +"definition doesn't work::" #: ../../whatsnew/2.2.rst:862 msgid "" -"The function :func:`g` will always raise a :exc:`NameError` exception, " +"The function :func:`!g` will always raise a :exc:`NameError` exception, " "because the binding of the name ``g`` isn't in either its local namespace or " "in the module-level namespace. This isn't much of a problem in practice " "(how often do you recursively define interior functions like this?), but " @@ -998,6 +1478,14 @@ msgid "" "find local variables being copied by passing them as the default values of " "arguments. ::" msgstr "" +"The function :func:`!g` will always raise a :exc:`NameError` exception, " +"because the binding of the name ``g`` isn't in either its local namespace or " +"in the module-level namespace. This isn't much of a problem in practice " +"(how often do you recursively define interior functions like this?), but " +"this also made using the :keyword:`lambda` expression clumsier, and this was " +"a problem in practice. In code which uses :keyword:`!lambda` you can often " +"find local variables being copied by passing them as the default values of " +"arguments. ::" #: ../../whatsnew/2.2.rst:876 msgid "" @@ -1013,11 +1501,21 @@ msgid "" "added to the language to fix this problem. As a first effect, the " "``name=name`` default argument is now unnecessary in the above example. Put " "simply, when a given variable name is not assigned a value within a function " -"(by an assignment, or the :keyword:`def`, :keyword:`class`, or :keyword:" -"`import` statements), references to the variable will be looked up in the " -"local namespace of the enclosing scope. A more detailed explanation of the " -"rules, and a dissection of the implementation, can be found in the PEP." +"(by an assignment, or the :keyword:`def`, :keyword:`class`, " +"or :keyword:`import` statements), references to the variable will be looked " +"up in the local namespace of the enclosing scope. A more detailed " +"explanation of the rules, and a dissection of the implementation, can be " +"found in the PEP." msgstr "" +"The most significant change to Python 2.2 is that static scoping has been " +"added to the language to fix this problem. As a first effect, the " +"``name=name`` default argument is now unnecessary in the above example. Put " +"simply, when a given variable name is not assigned a value within a function " +"(by an assignment, or the :keyword:`def`, :keyword:`class`, " +"or :keyword:`import` statements), references to the variable will be looked " +"up in the local namespace of the enclosing scope. A more detailed " +"explanation of the rules, and a dissection of the implementation, can be " +"found in the PEP." #: ../../whatsnew/2.2.rst:888 msgid "" @@ -1069,11 +1567,11 @@ msgstr "To make the preceding explanation a bit clearer, here's an example::" msgid "" "Line 4 containing the ``exec`` statement is a syntax error, since ``exec`` " "would define a new local variable named ``x`` whose value should be accessed " -"by :func:`g`." +"by :func:`!g`." msgstr "" "Line 4 containing the ``exec`` statement is a syntax error, since ``exec`` " "would define a new local variable named ``x`` whose value should be accessed " -"by :func:`g`." +"by :func:`!g`." #: ../../whatsnew/2.2.rst:920 msgid "" @@ -1099,47 +1597,73 @@ msgstr "Módulos Novos ou Aprimorados" #: ../../whatsnew/2.2.rst:936 msgid "" -"The :mod:`xmlrpclib` module was contributed to the standard library by " -"Fredrik Lundh, providing support for writing XML-RPC clients. XML-RPC is a " -"simple remote procedure call protocol built on top of HTTP and XML. For " -"example, the following snippet retrieves a list of RSS channels from the " -"O'Reilly Network, and then lists the recent headlines for one channel::" +"The :mod:`xmlrpclib ` module was contributed to the standard " +"library by Fredrik Lundh, providing support for writing XML-RPC clients. " +"XML-RPC is a simple remote procedure call protocol built on top of HTTP and " +"XML. For example, the following snippet retrieves a list of RSS channels " +"from the O'Reilly Network, and then lists the recent headlines for one " +"channel::" msgstr "" +"The :mod:`xmlrpclib ` module was contributed to the standard " +"library by Fredrik Lundh, providing support for writing XML-RPC clients. " +"XML-RPC is a simple remote procedure call protocol built on top of HTTP and " +"XML. For example, the following snippet retrieves a list of RSS channels " +"from the O'Reilly Network, and then lists the recent headlines for one " +"channel::" #: ../../whatsnew/2.2.rst:959 msgid "" -"The :mod:`SimpleXMLRPCServer` module makes it easy to create straightforward " -"XML-RPC servers. See http://xmlrpc.scripting.com/ for more information " -"about XML-RPC." +"The :mod:`SimpleXMLRPCServer ` module makes it easy to create " +"straightforward XML-RPC servers. See http://xmlrpc.scripting.com/ for more " +"information about XML-RPC." msgstr "" +"The :mod:`SimpleXMLRPCServer ` module makes it easy to create " +"straightforward XML-RPC servers. See http://xmlrpc.scripting.com/ for more " +"information about XML-RPC." #: ../../whatsnew/2.2.rst:962 msgid "" -"The new :mod:`hmac` module implements the HMAC algorithm described by :rfc:" -"`2104`. (Contributed by Gerhard Häring.)" +"The new :mod:`hmac` module implements the HMAC algorithm described " +"by :rfc:`2104`. (Contributed by Gerhard Häring.)" msgstr "" +"The new :mod:`hmac` module implements the HMAC algorithm described " +"by :rfc:`2104`. (Contributed by Gerhard Häring.)" #: ../../whatsnew/2.2.rst:965 msgid "" "Several functions that originally returned lengthy tuples now return pseudo-" "sequences that still behave like tuples but also have mnemonic attributes " -"such as memberst_mtime or :attr:`tm_year`. The enhanced functions include :" -"func:`stat`, :func:`fstat`, :func:`statvfs`, and :func:`fstatvfs` in the :" -"mod:`os` module, and :func:`localtime`, :func:`gmtime`, and :func:`strptime` " -"in the :mod:`time` module." +"such as :attr:`!memberst_mtime` or :attr:`~time.struct_time.tm_year`. The " +"enhanced functions " +"include :func:`~os.stat`, :func:`~os.fstat`, :func:`~os.statvfs`, " +"and :func:`~os.fstatvfs` in the :mod:`os` module, " +"and :func:`~time.localtime`, :func:`~time.gmtime`, " +"and :func:`~time.strptime` in the :mod:`time` module." msgstr "" +"Several functions that originally returned lengthy tuples now return pseudo-" +"sequences that still behave like tuples but also have mnemonic attributes " +"such as :attr:`!memberst_mtime` or :attr:`~time.struct_time.tm_year`. The " +"enhanced functions " +"include :func:`~os.stat`, :func:`~os.fstat`, :func:`~os.statvfs`, " +"and :func:`~os.fstatvfs` in the :mod:`os` module, " +"and :func:`~time.localtime`, :func:`~time.gmtime`, " +"and :func:`~time.strptime` in the :mod:`time` module." #: ../../whatsnew/2.2.rst:972 msgid "" "For example, to obtain a file's size using the old tuples, you'd end up " "writing something like ``file_size = os.stat(filename)[stat.ST_SIZE]``, but " -"now this can be written more clearly as ``file_size = os.stat(filename)." -"st_size``." +"now this can be written more clearly as ``file_size = " +"os.stat(filename).st_size``." msgstr "" +"For example, to obtain a file's size using the old tuples, you'd end up " +"writing something like ``file_size = os.stat(filename)[stat.ST_SIZE]``, but " +"now this can be written more clearly as ``file_size = " +"os.stat(filename).st_size``." #: ../../whatsnew/2.2.rst:976 msgid "The original patch for this feature was contributed by Nick Mathewson." -msgstr "" +msgstr "The original patch for this feature was contributed by Nick Mathewson." #: ../../whatsnew/2.2.rst:978 msgid "" @@ -1147,13 +1671,19 @@ msgid "" "output have been corrected. (Contributed by Fred L. Drake, Jr. and Tim " "Peters.)" msgstr "" +"The Python profiler has been extensively reworked and various errors in its " +"output have been corrected. (Contributed by Fred L. Drake, Jr. and Tim " +"Peters.)" #: ../../whatsnew/2.2.rst:981 msgid "" -"The :mod:`socket` module can be compiled to support IPv6; specify the :" -"option:`!--enable-ipv6` option to Python's configure script. (Contributed " -"by Jun-ichiro \"itojun\" Hagino.)" +"The :mod:`socket` module can be compiled to support IPv6; specify " +"the :option:`!--enable-ipv6` option to Python's configure script. " +"(Contributed by Jun-ichiro \"itojun\" Hagino.)" msgstr "" +"The :mod:`socket` module can be compiled to support IPv6; specify " +"the :option:`!--enable-ipv6` option to Python's configure script. " +"(Contributed by Jun-ichiro \"itojun\" Hagino.)" #: ../../whatsnew/2.2.rst:985 msgid "" @@ -1162,17 +1692,28 @@ msgid "" "for a signed 64-bit integer, and ``Q`` is for an unsigned one. The value is " "returned in Python's long integer type. (Contributed by Tim Peters.)" msgstr "" +"Two new format characters were added to the :mod:`struct` module for 64-bit " +"integers on platforms that support the C :c:expr:`long long` type. ``q`` is " +"for a signed 64-bit integer, and ``Q`` is for an unsigned one. The value is " +"returned in Python's long integer type. (Contributed by Tim Peters.)" #: ../../whatsnew/2.2.rst:990 msgid "" -"In the interpreter's interactive mode, there's a new built-in function :func:" -"`help` that uses the :mod:`pydoc` module introduced in Python 2.1 to provide " -"interactive help. ``help(object)`` displays any available help text about " -"*object*. :func:`help` with no argument puts you in an online help utility, " -"where you can enter the names of functions, classes, or modules to read " -"their help text. (Contributed by Guido van Rossum, using Ka-Ping Yee's :mod:" -"`pydoc` module.)" -msgstr "" +"In the interpreter's interactive mode, there's a new built-in " +"function :func:`help` that uses the :mod:`pydoc` module introduced in Python " +"2.1 to provide interactive help. ``help(object)`` displays any available " +"help text about *object*. :func:`help` with no argument puts you in an " +"online help utility, where you can enter the names of functions, classes, or " +"modules to read their help text. (Contributed by Guido van Rossum, using Ka-" +"Ping Yee's :mod:`pydoc` module.)" +msgstr "" +"In the interpreter's interactive mode, there's a new built-in " +"function :func:`help` that uses the :mod:`pydoc` module introduced in Python " +"2.1 to provide interactive help. ``help(object)`` displays any available " +"help text about *object*. :func:`help` with no argument puts you in an " +"online help utility, where you can enter the names of functions, classes, or " +"modules to read their help text. (Contributed by Guido van Rossum, using Ka-" +"Ping Yee's :mod:`pydoc` module.)" #: ../../whatsnew/2.2.rst:998 msgid "" @@ -1180,10 +1721,17 @@ msgid "" "engine underlying the :mod:`re` module. For example, the :func:`re.sub` " "and :func:`re.split` functions have been rewritten in C. Another " "contributed patch speeds up certain Unicode character ranges by a factor of " -"two, and a new :meth:`finditer` method that returns an iterator over all " -"the non-overlapping matches in a given string. (SRE is maintained by " +"two, and a new :meth:`~re.finditer` method that returns an iterator over " +"all the non-overlapping matches in a given string. (SRE is maintained by " "Fredrik Lundh. The BIGCHARSET patch was contributed by Martin von Löwis.)" msgstr "" +"Various bugfixes and performance improvements have been made to the SRE " +"engine underlying the :mod:`re` module. For example, the :func:`re.sub` " +"and :func:`re.split` functions have been rewritten in C. Another " +"contributed patch speeds up certain Unicode character ranges by a factor of " +"two, and a new :meth:`~re.finditer` method that returns an iterator over " +"all the non-overlapping matches in a given string. (SRE is maintained by " +"Fredrik Lundh. The BIGCHARSET patch was contributed by Martin von Löwis.)" #: ../../whatsnew/2.2.rst:1006 msgid "" @@ -1192,6 +1740,10 @@ msgid "" "program and the mail transport agent being handed a message. :mod:`smtplib` " "also supports SMTP authentication. (Contributed by Gerhard Häring.)" msgstr "" +"The :mod:`smtplib` module now supports :rfc:`2487`, \"Secure SMTP over " +"TLS\", so it's now possible to encrypt the SMTP traffic between a Python " +"program and the mail transport agent being handed a message. :mod:`smtplib` " +"also supports SMTP authentication. (Contributed by Gerhard Häring.)" #: ../../whatsnew/2.2.rst:1011 msgid "" @@ -1200,56 +1752,86 @@ msgid "" "SORT, GETACL and SETACL. (Contributed by Anthony Baxter and Michel " "Pelletier.)" msgstr "" +"The :mod:`imaplib` module, maintained by Piers Lauder, has support for " +"several new extensions: the NAMESPACE extension defined in :rfc:`2342`, " +"SORT, GETACL and SETACL. (Contributed by Anthony Baxter and Michel " +"Pelletier.)" #: ../../whatsnew/2.2.rst:1015 msgid "" -"The :mod:`rfc822` module's parsing of email addresses is now compliant with :" -"rfc:`2822`, an update to :rfc:`822`. (The module's name is *not* going to " -"be changed to ``rfc2822``.) A new package, :mod:`email`, has also been " -"added for parsing and generating e-mail messages. (Contributed by Barry " -"Warsaw, and arising out of his work on Mailman.)" +"The :mod:`!rfc822` module's parsing of email addresses is now compliant " +"with :rfc:`2822`, an update to :rfc:`822`. (The module's name is *not* " +"going to be changed to ``rfc2822``.) A new package, :mod:`email`, has also " +"been added for parsing and generating e-mail messages. (Contributed by " +"Barry Warsaw, and arising out of his work on Mailman.)" msgstr "" +"The :mod:`!rfc822` module's parsing of email addresses is now compliant " +"with :rfc:`2822`, an update to :rfc:`822`. (The module's name is *not* " +"going to be changed to ``rfc2822``.) A new package, :mod:`email`, has also " +"been added for parsing and generating e-mail messages. (Contributed by " +"Barry Warsaw, and arising out of his work on Mailman.)" #: ../../whatsnew/2.2.rst:1021 msgid "" -"The :mod:`difflib` module now contains a new :class:`Differ` class for " +"The :mod:`difflib` module now contains a new :class:`!Differ` class for " "producing human-readable lists of changes (a \"delta\") between two " -"sequences of lines of text. There are also two generator functions, :func:" -"`ndiff` and :func:`restore`, which respectively return a delta from two " +"sequences of lines of text. There are also two generator functions, :func:`!" +"ndiff` and :func:`!restore`, which respectively return a delta from two " "sequences, or one of the original sequences from a delta. (Grunt work " "contributed by David Goodger, from ndiff.py code by Tim Peters who then did " "the generatorization.)" msgstr "" +"The :mod:`difflib` module now contains a new :class:`!Differ` class for " +"producing human-readable lists of changes (a \"delta\") between two " +"sequences of lines of text. There are also two generator functions, :func:`!" +"ndiff` and :func:`!restore`, which respectively return a delta from two " +"sequences, or one of the original sequences from a delta. (Grunt work " +"contributed by David Goodger, from ndiff.py code by Tim Peters who then did " +"the generatorization.)" #: ../../whatsnew/2.2.rst:1028 msgid "" -"New constants :const:`ascii_letters`, :const:`ascii_lowercase`, and :const:" -"`ascii_uppercase` were added to the :mod:`string` module. There were " -"several modules in the standard library that used :const:`string.letters` to " -"mean the ranges A-Za-z, but that assumption is incorrect when locales are in " -"use, because :const:`string.letters` varies depending on the set of legal " -"characters defined by the current locale. The buggy modules have all been " -"fixed to use :const:`ascii_letters` instead. (Reported by an unknown person; " -"fixed by Fred L. Drake, Jr.)" -msgstr "" +"New constants :const:`!ascii_letters`, :const:`!ascii_lowercase`, " +"and :const:`!ascii_uppercase` were added to the :mod:`string` module. There " +"were several modules in the standard library that used :const:`!" +"string.letters` to mean the ranges A-Za-z, but that assumption is incorrect " +"when locales are in use, because :const:`!string.letters` varies depending " +"on the set of legal characters defined by the current locale. The buggy " +"modules have all been fixed to use :const:`!ascii_letters` instead. " +"(Reported by an unknown person; fixed by Fred L. Drake, Jr.)" +msgstr "" +"New constants :const:`!ascii_letters`, :const:`!ascii_lowercase`, " +"and :const:`!ascii_uppercase` were added to the :mod:`string` module. There " +"were several modules in the standard library that used :const:`!" +"string.letters` to mean the ranges A-Za-z, but that assumption is incorrect " +"when locales are in use, because :const:`!string.letters` varies depending " +"on the set of legal characters defined by the current locale. The buggy " +"modules have all been fixed to use :const:`!ascii_letters` instead. " +"(Reported by an unknown person; fixed by Fred L. Drake, Jr.)" #: ../../whatsnew/2.2.rst:1037 msgid "" "The :mod:`mimetypes` module now makes it easier to use alternative MIME-type " -"databases by the addition of a :class:`MimeTypes` class, which takes a list " -"of filenames to be parsed. (Contributed by Fred L. Drake, Jr.)" +"databases by the addition of a :class:`~mimetypes.MimeTypes` class, which " +"takes a list of filenames to be parsed. (Contributed by Fred L. Drake, Jr.)" msgstr "" +"The :mod:`mimetypes` module now makes it easier to use alternative MIME-type " +"databases by the addition of a :class:`~mimetypes.MimeTypes` class, which " +"takes a list of filenames to be parsed. (Contributed by Fred L. Drake, Jr.)" #: ../../whatsnew/2.2.rst:1041 msgid "" -"A :class:`Timer` class was added to the :mod:`threading` module that allows " -"scheduling an activity to happen at some future time. (Contributed by " -"Itamar Shtull-Trauring.)" +"A :class:`~threading.Timer` class was added to the :mod:`threading` module " +"that allows scheduling an activity to happen at some future time. " +"(Contributed by Itamar Shtull-Trauring.)" msgstr "" +"A :class:`~threading.Timer` class was added to the :mod:`threading` module " +"that allows scheduling an activity to happen at some future time. " +"(Contributed by Itamar Shtull-Trauring.)" #: ../../whatsnew/2.2.rst:1049 msgid "Interpreter Changes and Fixes" -msgstr "" +msgstr "Interpreter Changes and Fixes" #: ../../whatsnew/2.2.rst:1051 msgid "" @@ -1259,6 +1841,11 @@ msgid "" "write Python code, none of the changes described here will affect you very " "much." msgstr "" +"Some of the changes only affect people who deal with the Python interpreter " +"at the C level because they're writing Python extension modules, embedding " +"the interpreter, or just hacking on the interpreter itself. If you only " +"write Python code, none of the changes described here will affect you very " +"much." #: ../../whatsnew/2.2.rst:1056 msgid "" @@ -1271,16 +1858,24 @@ msgid "" "exist, and have simply been changed to use the new C-level interface. " "(Contributed by Fred L. Drake, Jr.)" msgstr "" +"Profiling and tracing functions can now be implemented in C, which can " +"operate at much higher speeds than Python-based functions and should reduce " +"the overhead of profiling and tracing. This will be of interest to authors " +"of development environments for Python. Two new C functions were added to " +"Python's API, :c:func:`PyEval_SetProfile` and :c:func:`PyEval_SetTrace`. The " +"existing :func:`sys.setprofile` and :func:`sys.settrace` functions still " +"exist, and have simply been changed to use the new C-level interface. " +"(Contributed by Fred L. Drake, Jr.)" #: ../../whatsnew/2.2.rst:1065 msgid "" "Another low-level API, primarily of interest to implementors of Python " -"debuggers and development tools, was added. :c:func:" -"`PyInterpreterState_Head` and :c:func:`PyInterpreterState_Next` let a caller " -"walk through all the existing interpreter objects; :c:func:" -"`PyInterpreterState_ThreadHead` and :c:func:`PyThreadState_Next` allow " -"looping over all the thread states for a given interpreter. (Contributed by " -"David Beazley.)" +"debuggers and development tools, was " +"added. :c:func:`PyInterpreterState_Head` " +"and :c:func:`PyInterpreterState_Next` let a caller walk through all the " +"existing interpreter objects; :c:func:`PyInterpreterState_ThreadHead` " +"and :c:func:`PyThreadState_Next` allow looping over all the thread states " +"for a given interpreter. (Contributed by David Beazley.)" msgstr "" #: ../../whatsnew/2.2.rst:1072 @@ -1293,41 +1888,51 @@ msgid "" "collection, so updating them for 2.2 should be considered fairly high " "priority." msgstr "" +"The C-level interface to the garbage collector has been changed to make it " +"easier to write extension types that support garbage collection and to debug " +"misuses of the functions. Various functions have slightly different " +"semantics, so a bunch of functions had to be renamed. Extensions that use " +"the old API will still compile but will *not* participate in garbage " +"collection, so updating them for 2.2 should be considered fairly high " +"priority." #: ../../whatsnew/2.2.rst:1079 msgid "" "To upgrade an extension module to the new API, perform the following steps:" msgstr "" +"To upgrade an extension module to the new API, perform the following steps:" #: ../../whatsnew/2.2.rst:1081 -msgid "Rename :c:func:`Py_TPFLAGS_GC` to :c:func:`PyTPFLAGS_HAVE_GC`." -msgstr "" +msgid "Rename :c:macro:`!Py_TPFLAGS_GC` to :c:macro:`Py_TPFLAGS_HAVE_GC`." +msgstr "Rename :c:macro:`!Py_TPFLAGS_GC` to :c:macro:`Py_TPFLAGS_HAVE_GC`." #: ../../whatsnew/2.2.rst:1084 msgid "" "Use :c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar` to allocate" msgstr "" +"Use :c:func:`PyObject_GC_New` or :c:func:`PyObject_GC_NewVar` to allocate" #: ../../whatsnew/2.2.rst:1084 msgid "objects, and :c:func:`PyObject_GC_Del` to deallocate them." -msgstr "" - -#: ../../whatsnew/2.2.rst:1087 -msgid "Rename :c:func:`PyObject_GC_Init` to :c:func:`PyObject_GC_Track` and" -msgstr "" +msgstr "objects, and :c:func:`PyObject_GC_Del` to deallocate them." -#: ../../whatsnew/2.2.rst:1087 -msgid ":c:func:`PyObject_GC_Fini` to :c:func:`PyObject_GC_UnTrack`." +#: ../../whatsnew/2.2.rst:1086 +msgid "" +"Rename :c:func:`!PyObject_GC_Init` to :c:func:`PyObject_GC_Track` " +"and :c:func:`!PyObject_GC_Fini` to :c:func:`PyObject_GC_UnTrack`." msgstr "" +"Rename :c:func:`!PyObject_GC_Init` to :c:func:`PyObject_GC_Track` " +"and :c:func:`!PyObject_GC_Fini` to :c:func:`PyObject_GC_UnTrack`." #: ../../whatsnew/2.2.rst:1089 -msgid "Remove :c:func:`PyGC_HEAD_SIZE` from object size calculations." -msgstr "" +msgid "Remove :c:macro:`!PyGC_HEAD_SIZE` from object size calculations." +msgstr "Remove :c:macro:`!PyGC_HEAD_SIZE` from object size calculations." #: ../../whatsnew/2.2.rst:1091 msgid "" -"Remove calls to :c:func:`PyObject_AS_GC` and :c:func:`PyObject_FROM_GC`." +"Remove calls to :c:func:`!PyObject_AS_GC` and :c:func:`!PyObject_FROM_GC`." msgstr "" +"Remove calls to :c:func:`!PyObject_AS_GC` and :c:func:`!PyObject_FROM_GC`." #: ../../whatsnew/2.2.rst:1093 msgid "" @@ -1340,6 +1945,14 @@ msgid "" "converts them to the specified new encoding. (Contributed by M.-A. Lemburg, " "and used for the MBCS support on Windows described in the following section.)" msgstr "" +"A new ``et`` format sequence was added to :c:func:`PyArg_ParseTuple`; ``et`` " +"takes both a parameter and an encoding name, and converts the parameter to " +"the given encoding if the parameter turns out to be a Unicode string, or " +"leaves it alone if it's an 8-bit string, assuming it to already be in the " +"desired encoding. This differs from the ``es`` format character, which " +"assumes that 8-bit strings are in Python's default ASCII encoding and " +"converts them to the specified new encoding. (Contributed by M.-A. Lemburg, " +"and used for the MBCS support on Windows described in the following section.)" #: ../../whatsnew/2.2.rst:1102 msgid "" @@ -1349,26 +1962,45 @@ msgid "" "expected, and a set of pointers to :c:expr:`PyObject*` variables that will " "be filled in with argument values." msgstr "" +"A different argument parsing function, :c:func:`PyArg_UnpackTuple`, has been " +"added that's simpler and presumably faster. Instead of specifying a format " +"string, the caller simply gives the minimum and maximum number of arguments " +"expected, and a set of pointers to :c:expr:`PyObject*` variables that will " +"be filled in with argument values." #: ../../whatsnew/2.2.rst:1108 msgid "" -"Two new flags :const:`METH_NOARGS` and :const:`METH_O` are available in " +"Two new flags :c:macro:`METH_NOARGS` and :c:macro:`METH_O` are available in " "method definition tables to simplify implementation of methods with no " "arguments or a single untyped argument. Calling such methods is more " -"efficient than calling a corresponding method that uses :const:" -"`METH_VARARGS`. Also, the old :const:`METH_OLDARGS` style of writing C " -"methods is now officially deprecated." +"efficient than calling a corresponding method that " +"uses :c:macro:`METH_VARARGS`. Also, the old :c:macro:`!METH_OLDARGS` style " +"of writing C methods is now officially deprecated." msgstr "" +"Two new flags :c:macro:`METH_NOARGS` and :c:macro:`METH_O` are available in " +"method definition tables to simplify implementation of methods with no " +"arguments or a single untyped argument. Calling such methods is more " +"efficient than calling a corresponding method that " +"uses :c:macro:`METH_VARARGS`. Also, the old :c:macro:`!METH_OLDARGS` style " +"of writing C methods is now officially deprecated." #: ../../whatsnew/2.2.rst:1114 msgid "" -"Two new wrapper functions, :c:func:`PyOS_snprintf` and :c:func:" -"`PyOS_vsnprintf` were added to provide cross-platform implementations for " -"the relatively new :c:func:`snprintf` and :c:func:`vsnprintf` C lib APIs. In " -"contrast to the standard :c:func:`sprintf` and :c:func:`vsprintf` functions, " -"the Python versions check the bounds of the buffer used to protect against " -"buffer overruns. (Contributed by M.-A. Lemburg.)" -msgstr "" +"Two new wrapper functions, :c:func:`PyOS_snprintf` " +"and :c:func:`PyOS_vsnprintf` were added to provide cross-platform " +"implementations for the relatively new :c:func:`snprintf` " +"and :c:func:`vsnprintf` C lib APIs. In contrast to the " +"standard :c:func:`sprintf` and :c:func:`!vsprintf` functions, the Python " +"versions check the bounds of the buffer used to protect against buffer " +"overruns. (Contributed by M.-A. Lemburg.)" +msgstr "" +"Two new wrapper functions, :c:func:`PyOS_snprintf` " +"and :c:func:`PyOS_vsnprintf` were added to provide cross-platform " +"implementations for the relatively new :c:func:`snprintf` " +"and :c:func:`vsnprintf` C lib APIs. In contrast to the " +"standard :c:func:`sprintf` and :c:func:`!vsprintf` functions, the Python " +"versions check the bounds of the buffer used to protect against buffer " +"overruns. (Contributed by M.-A. Lemburg.)" #: ../../whatsnew/2.2.rst:1121 msgid "" @@ -1377,10 +2009,14 @@ msgid "" "can simply be discarded when porting code from earlier versions to Python " "2.2." msgstr "" +"The :c:func:`_PyTuple_Resize` function has lost an unused parameter, so now " +"it takes 2 parameters instead of 3. The third argument was never used, and " +"can simply be discarded when porting code from earlier versions to Python " +"2.2." #: ../../whatsnew/2.2.rst:1129 msgid "Other Changes and Fixes" -msgstr "Other Changes and Fixes" +msgstr "Outras alterações e correções" #: ../../whatsnew/2.2.rst:1131 msgid "" @@ -1390,10 +2026,15 @@ msgid "" "2.2; 2.2.1 applied 139 patches and fixed 143 bugs; 2.2.2 applied 106 patches " "and fixed 82 bugs. These figures are likely to be underestimates." msgstr "" +"As usual there were a bunch of other improvements and bugfixes scattered " +"throughout the source tree. A search through the CVS change logs finds " +"there were 527 patches applied and 683 bugs fixed between Python 2.1 and " +"2.2; 2.2.1 applied 139 patches and fixed 143 bugs; 2.2.2 applied 106 patches " +"and fixed 82 bugs. These figures are likely to be underestimates." #: ../../whatsnew/2.2.rst:1137 msgid "Some of the more notable changes are:" -msgstr "" +msgstr "Some of the more notable changes are:" #: ../../whatsnew/2.2.rst:1139 msgid "" @@ -1401,6 +2042,9 @@ msgid "" "kept in the main Python CVS tree, and many changes have been made to support " "MacOS X." msgstr "" +"The code for the MacOS port for Python, maintained by Jack Jansen, is now " +"kept in the main Python CVS tree, and many changes have been made to support " +"MacOS X." #: ../../whatsnew/2.2.rst:1142 msgid "" @@ -1415,6 +2059,16 @@ msgid "" "application, porting the MacPython IDE, possibly using Python as a standard " "OSA scripting language and much more.\"" msgstr "" +"The most significant change is the ability to build Python as a framework, " +"enabled by supplying the :option:`!--enable-framework` option to the " +"configure script when compiling Python. According to Jack Jansen, \"This " +"installs a self-contained Python installation plus the OS X framework " +"\"glue\" into :file:`/Library/Frameworks/Python.framework` (or another " +"location of choice). For now there is little immediate added benefit to this " +"(actually, there is the disadvantage that you have to change your PATH to be " +"able to find Python), but it is the basis for creating a full-blown Python " +"application, porting the MacPython IDE, possibly using Python as a standard " +"OSA scripting language and much more.\"" #: ../../whatsnew/2.2.rst:1153 msgid "" @@ -1423,6 +2077,10 @@ msgid "" "been left commented out in :file:`setup.py`. People who want to experiment " "with these modules can uncomment them manually." msgstr "" +"Most of the MacPython toolbox modules, which interface to MacOS APIs such as " +"windowing, QuickTime, scripting, etc. have been ported to OS X, but they've " +"been left commented out in :file:`setup.py`. People who want to experiment " +"with these modules can uncomment them manually." #: ../../whatsnew/2.2.rst:1176 msgid "" @@ -1430,14 +2088,21 @@ msgid "" "cause a :exc:`TypeError` exception to be raised, with the message " "\"*function* takes no keyword arguments\"." msgstr "" +"Keyword arguments passed to built-in functions that don't take them now " +"cause a :exc:`TypeError` exception to be raised, with the message " +"\"*function* takes no keyword arguments\"." #: ../../whatsnew/2.2.rst:1180 msgid "" "Weak references, added in Python 2.1 as an extension module, are now part of " "the core because they're used in the implementation of new-style classes. " -"The :exc:`ReferenceError` exception has therefore moved from the :mod:" -"`weakref` module to become a built-in exception." +"The :exc:`ReferenceError` exception has therefore moved from " +"the :mod:`weakref` module to become a built-in exception." msgstr "" +"Weak references, added in Python 2.1 as an extension module, are now part of " +"the core because they're used in the implementation of new-style classes. " +"The :exc:`ReferenceError` exception has therefore moved from " +"the :mod:`weakref` module to become a built-in exception." #: ../../whatsnew/2.2.rst:1185 msgid "" @@ -1445,15 +2110,23 @@ msgid "" "automatically removes obsolete ``__future__`` statements from Python source " "code." msgstr "" +"A new script, :file:`Tools/scripts/cleanfuture.py` by Tim Peters, " +"automatically removes obsolete ``__future__`` statements from Python source " +"code." #: ../../whatsnew/2.2.rst:1189 msgid "" -"An additional *flags* argument has been added to the built-in function :func:" -"`compile`, so the behaviour of ``__future__`` statements can now be " -"correctly observed in simulated shells, such as those presented by IDLE and " -"other development environments. This is described in :pep:`264`. " +"An additional *flags* argument has been added to the built-in " +"function :func:`compile`, so the behaviour of ``__future__`` statements can " +"now be correctly observed in simulated shells, such as those presented by " +"IDLE and other development environments. This is described in :pep:`264`. " "(Contributed by Michael Hudson.)" msgstr "" +"An additional *flags* argument has been added to the built-in " +"function :func:`compile`, so the behaviour of ``__future__`` statements can " +"now be correctly observed in simulated shells, such as those presented by " +"IDLE and other development environments. This is described in :pep:`264`. " +"(Contributed by Michael Hudson.)" #: ../../whatsnew/2.2.rst:1195 msgid "" @@ -1464,6 +2137,12 @@ msgid "" "BSD license, same as it always was. The license changes were also applied " "to the Python 2.0.1 and 2.1.1 releases." msgstr "" +"The new license introduced with Python 1.6 wasn't GPL-compatible. This is " +"fixed by some minor textual changes to the 2.2 license, so it's now legal to " +"embed Python inside a GPLed program again. Note that Python itself is not " +"GPLed, but instead is under a license that's essentially equivalent to the " +"BSD license, same as it always was. The license changes were also applied " +"to the Python 2.0.1 and 2.1.1 releases." #: ../../whatsnew/2.2.rst:1202 msgid "" @@ -1475,29 +2154,49 @@ msgid "" "was contributed by Mark Hammond with assistance from Marc-André Lemburg. " "Unix support was added by Martin von Löwis.)" msgstr "" +"When presented with a Unicode filename on Windows, Python will now convert " +"it to an MBCS encoded string, as used by the Microsoft file APIs. As MBCS " +"is explicitly used by the file APIs, Python's choice of ASCII as the default " +"encoding turns out to be an annoyance. On Unix, the locale's character set " +"is used if ``locale.nl_langinfo(CODESET)`` is available. (Windows support " +"was contributed by Mark Hammond with assistance from Marc-André Lemburg. " +"Unix support was added by Martin von Löwis.)" #: ../../whatsnew/2.2.rst:1210 msgid "" "Large file support is now enabled on Windows. (Contributed by Tim Peters.)" msgstr "" +"Large file support is now enabled on Windows. (Contributed by Tim Peters.)" #: ../../whatsnew/2.2.rst:1212 msgid "" "The :file:`Tools/scripts/ftpmirror.py` script now parses a :file:`.netrc` " "file, if you have one. (Contributed by Mike Romberg.)" msgstr "" +"The :file:`Tools/scripts/ftpmirror.py` script now parses a :file:`.netrc` " +"file, if you have one. (Contributed by Mike Romberg.)" #: ../../whatsnew/2.2.rst:1215 msgid "" -"Some features of the object returned by the :func:`xrange` function are now " +"Some features of the object returned by the :func:`!xrange` function are now " "deprecated, and trigger warnings when they're accessed; they'll disappear in " -"Python 2.3. :class:`xrange` objects tried to pretend they were full sequence " -"types by supporting slicing, sequence multiplication, and the :keyword:`in` " -"operator, but these features were rarely used and therefore buggy. The :" -"meth:`tolist` method and the :attr:`start`, :attr:`stop`, and :attr:`step` " -"attributes are also being deprecated. At the C level, the fourth argument " -"to the :c:func:`PyRange_New` function, ``repeat``, has also been deprecated." -msgstr "" +"Python 2.3. :class:`!xrange` objects tried to pretend they were full " +"sequence types by supporting slicing, sequence multiplication, and " +"the :keyword:`in` operator, but these features were rarely used and " +"therefore buggy. The :meth:`!tolist` method and the :attr:`!start`, :attr:`!" +"stop`, and :attr:`!step` attributes are also being deprecated. At the C " +"level, the fourth argument to the :c:func:`!PyRange_New` function, " +"``repeat``, has also been deprecated." +msgstr "" +"Some features of the object returned by the :func:`!xrange` function are now " +"deprecated, and trigger warnings when they're accessed; they'll disappear in " +"Python 2.3. :class:`!xrange` objects tried to pretend they were full " +"sequence types by supporting slicing, sequence multiplication, and " +"the :keyword:`in` operator, but these features were rarely used and " +"therefore buggy. The :meth:`!tolist` method and the :attr:`!start`, :attr:`!" +"stop`, and :attr:`!step` attributes are also being deprecated. At the C " +"level, the fourth argument to the :c:func:`!PyRange_New` function, " +"``repeat``, has also been deprecated." #: ../../whatsnew/2.2.rst:1224 msgid "" @@ -1508,6 +2207,12 @@ msgid "" "case that dumped core, Tim Peters fixing the bug, Michael finding another " "case, and round and round it went." msgstr "" +"There were a bunch of patches to the dictionary implementation, mostly to " +"fix potential core dumps if a dictionary contains objects that sneakily " +"changed their hash value, or mutated the dictionary they were contained in. " +"For a while python-dev fell into a gentle rhythm of Michael Hudson finding a " +"case that dumped core, Tim Peters fixing the bug, Michael finding another " +"case, and round and round it went." #: ../../whatsnew/2.2.rst:1231 msgid "" @@ -1515,6 +2220,9 @@ msgid "" "patches contributed by Stephen Hansen, though the result isn't fully " "functional yet. (But this *is* progress...)" msgstr "" +"On Windows, Python can now be compiled with Borland C thanks to a number of " +"patches contributed by Stephen Hansen, though the result isn't fully " +"functional yet. (But this *is* progress...)" #: ../../whatsnew/2.2.rst:1235 msgid "" @@ -1523,6 +2231,10 @@ msgid "" "installers used Wise 5.0a, which was beginning to show its age. (Packaged " "up by Tim Peters.)" msgstr "" +"Another Windows enhancement: Wise Solutions generously offered PythonLabs " +"use of their InstallerMaster 8.1 system. Earlier PythonLabs Windows " +"installers used Wise 5.0a, which was beginning to show its age. (Packaged " +"up by Tim Peters.)" #: ../../whatsnew/2.2.rst:1239 msgid "" @@ -1533,14 +2245,24 @@ msgid "" "such scripts, in case they're also usable as modules. (Implemented by David " "Bolen.)" msgstr "" +"Files ending in ``.pyw`` can now be imported on Windows. ``.pyw`` is a " +"Windows-only thing, used to indicate that a script needs to be run using " +"PYTHONW.EXE instead of PYTHON.EXE in order to prevent a DOS console from " +"popping up to display the output. This patch makes it possible to import " +"such scripts, in case they're also usable as modules. (Implemented by David " +"Bolen.)" #: ../../whatsnew/2.2.rst:1245 msgid "" "On platforms where Python uses the C :c:func:`dlopen` function to load " -"extension modules, it's now possible to set the flags used by :c:func:" -"`dlopen` using the :func:`sys.getdlopenflags` and :func:`sys.setdlopenflags` " -"functions. (Contributed by Bram Stolk.)" +"extension modules, it's now possible to set the flags used " +"by :c:func:`dlopen` using the :func:`sys.getdlopenflags` " +"and :func:`sys.setdlopenflags` functions. (Contributed by Bram Stolk.)" msgstr "" +"On platforms where Python uses the C :c:func:`dlopen` function to load " +"extension modules, it's now possible to set the flags used " +"by :c:func:`dlopen` using the :func:`sys.getdlopenflags` " +"and :func:`sys.setdlopenflags` functions. (Contributed by Bram Stolk.)" #: ../../whatsnew/2.2.rst:1250 msgid "" @@ -1550,6 +2272,11 @@ msgid "" "result varies unpredictably depending on the platform. A call such as " "``pow(2.0, 8.0, 7.0)`` will now raise a :exc:`TypeError` exception." msgstr "" +"The :func:`pow` built-in function no longer supports 3 arguments when " +"floating-point numbers are supplied. ``pow(x, y, z)`` returns ``(x**y) % " +"z``, but this is never useful for floating point numbers, and the final " +"result varies unpredictably depending on the platform. A call such as " +"``pow(2.0, 8.0, 7.0)`` will now raise a :exc:`TypeError` exception." #: ../../whatsnew/2.2.rst:1260 msgid "Acknowledgements" @@ -1566,3 +2293,11 @@ msgid "" "Paalasma, Tim Peters, Jens Quade, Tom Reinhardt, Neil Schemenauer, Guido van " "Rossum, Greg Ward, Edward Welbourne." msgstr "" +"The author would like to thank the following people for offering " +"suggestions, corrections and assistance with various drafts of this article: " +"Fred Bremmer, Keith Briggs, Andrew Dalke, Fred L. Drake, Jr., Carel " +"Fellinger, David Goodger, Mark Hammond, Stephen Hansen, Michael Hudson, Jack " +"Jansen, Marc-André Lemburg, Martin von Löwis, Fredrik Lundh, Michael McLay, " +"Nick Mathewson, Paul Moore, Gustavo Niemeyer, Don O'Donnell, Joonas " +"Paalasma, Tim Peters, Jens Quade, Tom Reinhardt, Neil Schemenauer, Guido van " +"Rossum, Greg Ward, Edward Welbourne." diff --git a/whatsnew/2.3.po b/whatsnew/2.3.po index e2d3117e6..fbaddfd5a 100644 --- a/whatsnew/2.3.po +++ b/whatsnew/2.3.po @@ -1,35 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Victor Matheus Castro , 2021 -# i17obot , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/2.3.rst:3 msgid "What's New in Python 2.3" -msgstr "O que há de novo no Python 2.0" +msgstr "What's New in Python 2.3" #: ../../whatsnew/2.3.rst:0 msgid "Author" @@ -44,6 +40,8 @@ msgid "" "This article explains the new features in Python 2.3. Python 2.3 was " "released on July 29, 2003." msgstr "" +"This article explains the new features in Python 2.3. Python 2.3 was " +"released on July 29, 2003." #: ../../whatsnew/2.3.rst:14 msgid "" @@ -56,6 +54,14 @@ msgid "" "and :func:`enumerate`. The :keyword:`in` operator can now be used for " "substring searches (e.g. ``\"ab\" in \"abc\"`` returns :const:`True`)." msgstr "" +"The main themes for Python 2.3 are polishing some of the features added in " +"2.2, adding various small but useful enhancements to the core language, and " +"expanding the standard library. The new object model introduced in the " +"previous version has benefited from 18 months of bugfixes and from " +"optimization efforts that have improved the performance of new-style " +"classes. A few new built-in functions have been added such as :func:`sum` " +"and :func:`enumerate`. The :keyword:`in` operator can now be used for " +"substring searches (e.g. ``\"ab\" in \"abc\"`` returns :const:`True`)." #: ../../whatsnew/2.3.rst:23 msgid "" @@ -66,6 +72,12 @@ msgid "" "processing command-line options, using BerkeleyDB databases... the list of " "new and enhanced modules is lengthy." msgstr "" +"Some of the many new library features include Boolean, set, heap, and date/" +"time data types, the ability to import modules from ZIP-format archives, " +"metadata support for the long-awaited Python catalog, an updated version of " +"IDLE, and modules for logging messages, wrapping text, parsing CSV files, " +"processing command-line options, using BerkeleyDB databases... the list of " +"new and enhanced modules is lengthy." #: ../../whatsnew/2.3.rst:30 msgid "" @@ -76,32 +88,50 @@ msgid "" "complete implementation and design rationale, refer to the PEP for a " "particular new feature." msgstr "" +"This article doesn't attempt to provide a complete specification of the new " +"features, but instead provides a convenient overview. For full details, you " +"should refer to the documentation for Python 2.3, such as the Python Library " +"Reference and the Python Reference Manual. If you want to understand the " +"complete implementation and design rationale, refer to the PEP for a " +"particular new feature." #: ../../whatsnew/2.3.rst:41 msgid "PEP 218: A Standard Set Datatype" -msgstr "" +msgstr "PEP 218: A Standard Set Datatype" #: ../../whatsnew/2.3.rst:43 msgid "" -"The new :mod:`sets` module contains an implementation of a set datatype. " +"The new :mod:`!sets` module contains an implementation of a set datatype. " "The :class:`Set` class is for mutable sets, sets that can have members added " -"and removed. The :class:`ImmutableSet` class is for sets that can't be " -"modified, and instances of :class:`ImmutableSet` can therefore be used as " +"and removed. The :class:`!ImmutableSet` class is for sets that can't be " +"modified, and instances of :class:`!ImmutableSet` can therefore be used as " "dictionary keys. Sets are built on top of dictionaries, so the elements " "within a set must be hashable." msgstr "" +"The new :mod:`!sets` module contains an implementation of a set datatype. " +"The :class:`Set` class is for mutable sets, sets that can have members added " +"and removed. The :class:`!ImmutableSet` class is for sets that can't be " +"modified, and instances of :class:`!ImmutableSet` can therefore be used as " +"dictionary keys. Sets are built on top of dictionaries, so the elements " +"within a set must be hashable." #: ../../whatsnew/2.3.rst:50 msgid "Here's a simple example::" -msgstr "" +msgstr "Here's a simple example::" #: ../../whatsnew/2.3.rst:66 msgid "" -"The union and intersection of sets can be computed with the :meth:`union` " -"and :meth:`intersection` methods; an alternative notation uses the bitwise " -"operators ``&`` and ``|``. Mutable sets also have in-place versions of these " -"methods, :meth:`union_update` and :meth:`intersection_update`. ::" +"The union and intersection of sets can be computed with " +"the :meth:`~frozenset.union` and :meth:`~frozenset.intersection` methods; an " +"alternative notation uses the bitwise operators ``&`` and ``|``. Mutable " +"sets also have in-place versions of these methods, :meth:`!union_update` " +"and :meth:`~frozenset.intersection_update`. ::" msgstr "" +"The union and intersection of sets can be computed with " +"the :meth:`~frozenset.union` and :meth:`~frozenset.intersection` methods; an " +"alternative notation uses the bitwise operators ``&`` and ``|``. Mutable " +"sets also have in-place versions of these methods, :meth:`!union_update` " +"and :meth:`~frozenset.intersection_update`. ::" #: ../../whatsnew/2.3.rst:86 msgid "" @@ -109,29 +139,39 @@ msgid "" "the set of all elements in the union that aren't in the intersection. " "Another way of putting it is that the symmetric difference contains all " "elements that are in exactly one set. Again, there's an alternative " -"notation (``^``), and an in-place version with the ungainly name :meth:" -"`symmetric_difference_update`. ::" +"notation (``^``), and an in-place version with the ungainly " +"name :meth:`~frozenset.symmetric_difference_update`. ::" msgstr "" +"It's also possible to take the symmetric difference of two sets. This is " +"the set of all elements in the union that aren't in the intersection. " +"Another way of putting it is that the symmetric difference contains all " +"elements that are in exactly one set. Again, there's an alternative " +"notation (``^``), and an in-place version with the ungainly " +"name :meth:`~frozenset.symmetric_difference_update`. ::" #: ../../whatsnew/2.3.rst:100 msgid "" -"There are also :meth:`issubset` and :meth:`issuperset` methods for checking " -"whether one set is a subset or superset of another::" +"There are also :meth:`!issubset` and :meth:`!issuperset` methods for " +"checking whether one set is a subset or superset of another::" msgstr "" +"There are also :meth:`!issubset` and :meth:`!issuperset` methods for " +"checking whether one set is a subset or superset of another::" #: ../../whatsnew/2.3.rst:117 msgid ":pep:`218` - Adding a Built-In Set Object Type" -msgstr "" +msgstr ":pep:`218` - Adding a Built-In Set Object Type" #: ../../whatsnew/2.3.rst:117 msgid "" "PEP written by Greg V. Wilson. Implemented by Greg V. Wilson, Alex Martelli, " "and GvR." msgstr "" +"PEP written by Greg V. Wilson. Implemented by Greg V. Wilson, Alex Martelli, " +"and GvR." #: ../../whatsnew/2.3.rst:126 msgid "PEP 255: Simple Generators" -msgstr "PEP 255: Geradores Simples" +msgstr "PEP 255: Simple Generators" #: ../../whatsnew/2.3.rst:128 msgid "" @@ -143,6 +183,13 @@ msgid "" "2.2\" document; if you read it back when Python 2.2 came out, you can skip " "the rest of this section." msgstr "" +"In Python 2.2, generators were added as an optional feature, to be enabled " +"by a ``from __future__ import generators`` directive. In 2.3 generators no " +"longer need to be specially enabled, and are now always present; this means " +"that :keyword:`yield` is now always a keyword. The rest of this section is " +"a copy of the description of generators from the \"What's New in Python " +"2.2\" document; if you read it back when Python 2.2 came out, you can skip " +"the rest of this section." #: ../../whatsnew/2.3.rst:136 msgid "" @@ -156,10 +203,19 @@ msgid "" "This is what generators provide; they can be thought of as resumable " "functions." msgstr "" +"You're doubtless familiar with how function calls work in Python or C. When " +"you call a function, it gets a private namespace where its local variables " +"are created. When the function reaches a :keyword:`return` statement, the " +"local variables are destroyed and the resulting value is returned to the " +"caller. A later call to the same function will get a fresh new set of local " +"variables. But, what if the local variables weren't thrown away on exiting a " +"function? What if you could later resume the function where it left off? " +"This is what generators provide; they can be thought of as resumable " +"functions." #: ../../whatsnew/2.3.rst:145 msgid "Here's the simplest example of a generator function::" -msgstr "" +msgstr "Here's the simplest example of a generator function::" #: ../../whatsnew/2.3.rst:151 msgid "" @@ -168,6 +224,10 @@ msgid "" "this is detected by Python's bytecode compiler which compiles the function " "specially as a result." msgstr "" +"A new keyword, :keyword:`yield`, was introduced for generators. Any " +"function containing a :keyword:`!yield` statement is a generator function; " +"this is detected by Python's bytecode compiler which compiles the function " +"specially as a result." #: ../../whatsnew/2.3.rst:156 msgid "" @@ -177,24 +237,38 @@ msgid "" "of ``i``, similar to a :keyword:`return` statement. The big difference " "between :keyword:`!yield` and a :keyword:`!return` statement is that on " "reaching a :keyword:`!yield` the generator's state of execution is suspended " -"and local variables are preserved. On the next call to the generator's ``." -"next()`` method, the function will resume executing immediately after the :" -"keyword:`!yield` statement. (For complicated reasons, the :keyword:`!yield` " -"statement isn't allowed inside the :keyword:`try` block of a :keyword:`!" -"try`...\\ :keyword:`!finally` statement; read :pep:`255` for a full " -"explanation of the interaction between :keyword:`!yield` and exceptions.)" +"and local variables are preserved. On the next call to the generator's " +"``.next()`` method, the function will resume executing immediately after " +"the :keyword:`!yield` statement. (For complicated reasons, the :keyword:`!" +"yield` statement isn't allowed inside the :keyword:`try` block of " +"a :keyword:`!try`...\\ :keyword:`!finally` statement; read :pep:`255` for a " +"full explanation of the interaction between :keyword:`!yield` and " +"exceptions.)" msgstr "" +"When you call a generator function, it doesn't return a single value; " +"instead it returns a generator object that supports the iterator protocol. " +"On executing the :keyword:`yield` statement, the generator outputs the value " +"of ``i``, similar to a :keyword:`return` statement. The big difference " +"between :keyword:`!yield` and a :keyword:`!return` statement is that on " +"reaching a :keyword:`!yield` the generator's state of execution is suspended " +"and local variables are preserved. On the next call to the generator's " +"``.next()`` method, the function will resume executing immediately after " +"the :keyword:`!yield` statement. (For complicated reasons, the :keyword:`!" +"yield` statement isn't allowed inside the :keyword:`try` block of " +"a :keyword:`!try`...\\ :keyword:`!finally` statement; read :pep:`255` for a " +"full explanation of the interaction between :keyword:`!yield` and " +"exceptions.)" #: ../../whatsnew/2.3.rst:169 -msgid "Here's a sample usage of the :func:`generate_ints` generator::" -msgstr "" +msgid "Here's a sample usage of the :func:`!generate_ints` generator::" +msgstr "Here's a sample usage of the :func:`!generate_ints` generator::" #: ../../whatsnew/2.3.rst:186 msgid "" "You could equally write ``for i in generate_ints(5)``, or ``a,b,c = " "generate_ints(3)``." msgstr "" -"Você pode igualmente escrever ``for i in generate_ints(5)``,ou ``a,b,c = " +"You could equally write ``for i in generate_ints(5)``, or ``a,b,c = " "generate_ints(3)``." #: ../../whatsnew/2.3.rst:189 @@ -207,6 +281,13 @@ msgid "" "indicated by raising :exc:`StopIteration` manually, or by just letting the " "flow of execution fall off the bottom of the function." msgstr "" +"Inside a generator function, the :keyword:`return` statement can only be " +"used without a value, and signals the end of the procession of values; " +"afterwards the generator cannot return any further values. :keyword:`!" +"return` with a value, such as ``return 5``, is a syntax error inside a " +"generator function. The end of the generator's results can also be " +"indicated by raising :exc:`StopIteration` manually, or by just letting the " +"flow of execution fall off the bottom of the function." #: ../../whatsnew/2.3.rst:197 msgid "" @@ -220,6 +301,15 @@ msgid "" "The simplest one implements an in-order traversal of a tree using generators " "recursively. ::" msgstr "" +"You could achieve the effect of generators manually by writing your own " +"class and storing all the local variables of the generator as instance " +"variables. For example, returning a list of integers could be done by " +"setting ``self.count`` to 0, and having the :meth:`next` method increment " +"``self.count`` and return it. However, for a moderately complicated " +"generator, writing a corresponding class would be much messier. :file:`Lib/" +"test/test_generators.py` contains a number of more interesting examples. " +"The simplest one implements an in-order traversal of a tree using generators " +"recursively. ::" #: ../../whatsnew/2.3.rst:215 msgid "" @@ -229,6 +319,11 @@ msgid "" "knight to every square of an $NxN$ chessboard without visiting any square " "twice)." msgstr "" +"Two other examples in :file:`Lib/test/test_generators.py` produce solutions " +"for the N-Queens problem (placing $N$ queens on an $NxN$ chess board so that " +"no queen threatens another) and the Knight's Tour (a route that takes a " +"knight to every square of an $NxN$ chessboard without visiting any square " +"twice)." #: ../../whatsnew/2.3.rst:220 msgid "" @@ -239,15 +334,28 @@ msgid "" "Language\" at https://www2.cs.arizona.edu/icon/docs/ipd266.htm gives an idea " "of what this looks like::" msgstr "" +"The idea of generators comes from other programming languages, especially " +"Icon (https://www2.cs.arizona.edu/icon/), where the idea of generators is " +"central. In Icon, every expression and function call behaves like a " +"generator. One example from \"An Overview of the Icon Programming " +"Language\" at https://www2.cs.arizona.edu/icon/docs/ipd266.htm gives an idea " +"of what this looks like::" #: ../../whatsnew/2.3.rst:230 msgid "" -"In Icon the :func:`find` function returns the indexes at which the substring " -"\"or\" is found: 3, 23, 33. In the :keyword:`if` statement, ``i`` is first " -"assigned a value of 3, but 3 is less than 5, so the comparison fails, and " -"Icon retries it with the second value of 23. 23 is greater than 5, so the " -"comparison now succeeds, and the code prints the value 23 to the screen." +"In Icon the :func:`!find` function returns the indexes at which the " +"substring \"or\" is found: 3, 23, 33. In the :keyword:`if` statement, ``i`` " +"is first assigned a value of 3, but 3 is less than 5, so the comparison " +"fails, and Icon retries it with the second value of 23. 23 is greater than " +"5, so the comparison now succeeds, and the code prints the value 23 to the " +"screen." msgstr "" +"In Icon the :func:`!find` function returns the indexes at which the " +"substring \"or\" is found: 3, 23, 33. In the :keyword:`if` statement, ``i`` " +"is first assigned a value of 3, but 3 is less than 5, so the comparison " +"fails, and Icon retries it with the second value of 23. 23 is greater than " +"5, so the comparison now succeeds, and the code prints the value 23 to the " +"screen." #: ../../whatsnew/2.3.rst:236 msgid "" @@ -259,10 +367,17 @@ msgid "" "as a concrete object (the iterator) that can be passed around to other " "functions or stored in a data structure." msgstr "" +"Python doesn't go nearly as far as Icon in adopting generators as a central " +"concept. Generators are considered part of the core Python language, but " +"learning or using them isn't compulsory; if they don't solve any problems " +"that you have, feel free to ignore them. One novel feature of Python's " +"interface as compared to Icon's is that a generator's state is represented " +"as a concrete object (the iterator) that can be passed around to other " +"functions or stored in a data structure." #: ../../whatsnew/2.3.rst:248 msgid ":pep:`255` - Simple Generators" -msgstr ":pep:`255` - Geradores simples" +msgstr ":pep:`255` - Simple Generators" #: ../../whatsnew/2.3.rst:248 msgid "" @@ -270,10 +385,13 @@ msgid "" "mostly by Neil Schemenauer and Tim Peters, with other fixes from the Python " "Labs crew." msgstr "" +"Written by Neil Schemenauer, Tim Peters, Magnus Lie Hetland. Implemented " +"mostly by Neil Schemenauer and Tim Peters, with other fixes from the Python " +"Labs crew." #: ../../whatsnew/2.3.rst:257 msgid "PEP 263: Source Code Encodings" -msgstr "" +msgstr "PEP 263: Source Code Encodings" #: ../../whatsnew/2.3.rst:259 msgid "" @@ -282,15 +400,24 @@ msgid "" "comment in the first or second line of the source file. For example, a " "UTF-8 file can be declared with::" msgstr "" +"Python source files can now be declared as being in different character set " +"encodings. Encodings are declared by including a specially formatted " +"comment in the first or second line of the source file. For example, a " +"UTF-8 file can be declared with::" #: ../../whatsnew/2.3.rst:267 msgid "" "Without such an encoding declaration, the default encoding used is 7-bit " "ASCII. Executing or importing modules that contain string literals with 8-" -"bit characters and have no encoding declaration will result in a :exc:" -"`DeprecationWarning` being signalled by Python 2.3; in 2.4 this will be a " -"syntax error." +"bit characters and have no encoding declaration will result in " +"a :exc:`DeprecationWarning` being signalled by Python 2.3; in 2.4 this will " +"be a syntax error." msgstr "" +"Without such an encoding declaration, the default encoding used is 7-bit " +"ASCII. Executing or importing modules that contain string literals with 8-" +"bit characters and have no encoding declaration will result in " +"a :exc:`DeprecationWarning` being signalled by Python 2.3; in 2.4 this will " +"be a syntax error." #: ../../whatsnew/2.3.rst:273 msgid "" @@ -299,38 +426,56 @@ msgid "" "identifiers are still restricted to ASCII characters, so you can't have " "variable names that use characters outside of the usual alphanumerics." msgstr "" +"The encoding declaration only affects Unicode string literals, which will be " +"converted to Unicode using the specified encoding. Note that Python " +"identifiers are still restricted to ASCII characters, so you can't have " +"variable names that use characters outside of the usual alphanumerics." #: ../../whatsnew/2.3.rst:282 msgid ":pep:`263` - Defining Python Source Code Encodings" -msgstr "" +msgstr ":pep:`263` - Defining Python Source Code Encodings" #: ../../whatsnew/2.3.rst:282 msgid "" "Written by Marc-André Lemburg and Martin von Löwis; implemented by Suzuki " "Hisao and Martin von Löwis." msgstr "" +"Written by Marc-André Lemburg and Martin von Löwis; implemented by Suzuki " +"Hisao and Martin von Löwis." #: ../../whatsnew/2.3.rst:289 msgid "PEP 273: Importing Modules from ZIP Archives" -msgstr "" +msgstr "PEP 273: Importing Modules from ZIP Archives" #: ../../whatsnew/2.3.rst:291 msgid "" "The new :mod:`zipimport` module adds support for importing modules from a " "ZIP-format archive. You don't need to import the module explicitly; it will " -"be automatically imported if a ZIP archive's filename is added to ``sys." -"path``. For example:" +"be automatically imported if a ZIP archive's filename is added to " +"``sys.path``. For example:" msgstr "" +"The new :mod:`zipimport` module adds support for importing modules from a " +"ZIP-format archive. You don't need to import the module explicitly; it will " +"be automatically imported if a ZIP archive's filename is added to " +"``sys.path``. For example:" #: ../../whatsnew/2.3.rst:314 msgid "" "An entry in ``sys.path`` can now be the filename of a ZIP archive. The ZIP " -"archive can contain any kind of files, but only files named :file:`\\*.py`, :" -"file:`\\*.pyc`, or :file:`\\*.pyo` can be imported. If an archive only " -"contains :file:`\\*.py` files, Python will not attempt to modify the archive " -"by adding the corresponding :file:`\\*.pyc` file, meaning that if a ZIP " -"archive doesn't contain :file:`\\*.pyc` files, importing may be rather slow." +"archive can contain any kind of files, but only files " +"named :file:`\\*.py`, :file:`\\*.pyc`, or :file:`\\*.pyo` can be imported. " +"If an archive only contains :file:`\\*.py` files, Python will not attempt to " +"modify the archive by adding the corresponding :file:`\\*.pyc` file, meaning " +"that if a ZIP archive doesn't contain :file:`\\*.pyc` files, importing may " +"be rather slow." msgstr "" +"An entry in ``sys.path`` can now be the filename of a ZIP archive. The ZIP " +"archive can contain any kind of files, but only files " +"named :file:`\\*.py`, :file:`\\*.pyc`, or :file:`\\*.pyo` can be imported. " +"If an archive only contains :file:`\\*.py` files, Python will not attempt to " +"modify the archive by adding the corresponding :file:`\\*.pyc` file, meaning " +"that if a ZIP archive doesn't contain :file:`\\*.pyc` files, importing may " +"be rather slow." #: ../../whatsnew/2.3.rst:321 msgid "" @@ -338,23 +483,31 @@ msgid "" "subdirectory; for example, the path :file:`/tmp/example.zip/lib/` would only " "import from the :file:`lib/` subdirectory within the archive." msgstr "" +"A path within the archive can also be specified to only import from a " +"subdirectory; for example, the path :file:`/tmp/example.zip/lib/` would only " +"import from the :file:`lib/` subdirectory within the archive." #: ../../whatsnew/2.3.rst:331 msgid ":pep:`273` - Import Modules from Zip Archives" -msgstr ":pep:`273` - Importar módulos de arquivos Zip" +msgstr ":pep:`273` - Import Modules from Zip Archives" #: ../../whatsnew/2.3.rst:329 msgid "" "Written by James C. Ahlstrom, who also provided an implementation. Python " "2.3 follows the specification in :pep:`273`, but uses an implementation " -"written by Just van Rossum that uses the import hooks described in :pep:" -"`302`. See section :ref:`section-pep302` for a description of the new import " -"hooks." +"written by Just van Rossum that uses the import hooks described " +"in :pep:`302`. See section :ref:`section-pep302` for a description of the " +"new import hooks." msgstr "" +"Written by James C. Ahlstrom, who also provided an implementation. Python " +"2.3 follows the specification in :pep:`273`, but uses an implementation " +"written by Just van Rossum that uses the import hooks described " +"in :pep:`302`. See section :ref:`section-pep302` for a description of the " +"new import hooks." #: ../../whatsnew/2.3.rst:338 msgid "PEP 277: Unicode file name support for Windows NT" -msgstr "" +msgstr "PEP 277: Unicode file name support for Windows NT" #: ../../whatsnew/2.3.rst:340 msgid "" @@ -362,48 +515,67 @@ msgid "" "strings. Traditionally, Python has represented file names as byte strings, " "which is inadequate because it renders some file names inaccessible." msgstr "" +"On Windows NT, 2000, and XP, the system stores file names as Unicode " +"strings. Traditionally, Python has represented file names as byte strings, " +"which is inadequate because it renders some file names inaccessible." #: ../../whatsnew/2.3.rst:344 msgid "" "Python now allows using arbitrary Unicode strings (within the limitations of " -"the file system) for all functions that expect file names, most notably the :" -"func:`open` built-in function. If a Unicode string is passed to :func:`os." -"listdir`, Python now returns a list of Unicode strings. A new function, :" -"func:`os.getcwdu`, returns the current directory as a Unicode string." +"the file system) for all functions that expect file names, most notably " +"the :func:`open` built-in function. If a Unicode string is passed " +"to :func:`os.listdir`, Python now returns a list of Unicode strings. A new " +"function, :func:`!os.getcwdu`, returns the current directory as a Unicode " +"string." msgstr "" +"Python now allows using arbitrary Unicode strings (within the limitations of " +"the file system) for all functions that expect file names, most notably " +"the :func:`open` built-in function. If a Unicode string is passed " +"to :func:`os.listdir`, Python now returns a list of Unicode strings. A new " +"function, :func:`!os.getcwdu`, returns the current directory as a Unicode " +"string." #: ../../whatsnew/2.3.rst:350 msgid "" "Byte strings still work as file names, and on Windows Python will " "transparently convert them to Unicode using the ``mbcs`` encoding." msgstr "" +"Byte strings still work as file names, and on Windows Python will " +"transparently convert them to Unicode using the ``mbcs`` encoding." #: ../../whatsnew/2.3.rst:353 msgid "" "Other systems also allow Unicode strings as file names but convert them to " -"byte strings before passing them to the system, which can cause a :exc:" -"`UnicodeError` to be raised. Applications can test whether arbitrary Unicode " -"strings are supported as file names by checking :attr:`os.path." -"supports_unicode_filenames`, a Boolean value." +"byte strings before passing them to the system, which can cause " +"a :exc:`UnicodeError` to be raised. Applications can test whether arbitrary " +"Unicode strings are supported as file names by " +"checking :attr:`os.path.supports_unicode_filenames`, a Boolean value." msgstr "" +"Other systems also allow Unicode strings as file names but convert them to " +"byte strings before passing them to the system, which can cause " +"a :exc:`UnicodeError` to be raised. Applications can test whether arbitrary " +"Unicode strings are supported as file names by " +"checking :attr:`os.path.supports_unicode_filenames`, a Boolean value." #: ../../whatsnew/2.3.rst:359 msgid "Under MacOS, :func:`os.listdir` may now return Unicode filenames." -msgstr "" +msgstr "Under MacOS, :func:`os.listdir` may now return Unicode filenames." #: ../../whatsnew/2.3.rst:365 msgid ":pep:`277` - Unicode file name support for Windows NT" -msgstr "" +msgstr ":pep:`277` - Unicode file name support for Windows NT" #: ../../whatsnew/2.3.rst:365 msgid "" "Written by Neil Hodgson; implemented by Neil Hodgson, Martin von Löwis, and " "Mark Hammond." msgstr "" +"Written by Neil Hodgson; implemented by Neil Hodgson, Martin von Löwis, and " +"Mark Hammond." #: ../../whatsnew/2.3.rst:375 msgid "PEP 278: Universal Newline Support" -msgstr "" +msgstr "PEP 278: Universal Newline Support" #: ../../whatsnew/2.3.rst:377 msgid "" @@ -414,43 +586,62 @@ msgid "" "character 10), MacOS uses the carriage return (ASCII character 13), and " "Windows uses a two-character sequence of a carriage return plus a newline." msgstr "" +"The three major operating systems used today are Microsoft Windows, Apple's " +"Macintosh OS, and the various Unix derivatives. A minor irritation of cross-" +"platform work is that these three platforms all use different characters to " +"mark the ends of lines in text files. Unix uses the linefeed (ASCII " +"character 10), MacOS uses the carriage return (ASCII character 13), and " +"Windows uses a two-character sequence of a carriage return plus a newline." #: ../../whatsnew/2.3.rst:384 msgid "" "Python's file objects can now support end of line conventions other than the " "one followed by the platform on which Python is running. Opening a file with " -"the mode ``'U'`` or ``'rU'`` will open a file for reading in :term:" -"`universal newlines` mode. All three line ending conventions will be " -"translated to a ``'\\n'`` in the strings returned by the various file " -"methods such as :meth:`read` and :meth:`readline`." +"the mode ``'U'`` or ``'rU'`` will open a file for reading " +"in :term:`universal newlines` mode. All three line ending conventions will " +"be translated to a ``'\\n'`` in the strings returned by the various file " +"methods such as :meth:`!read` and :meth:`!readline`." msgstr "" +"Python's file objects can now support end of line conventions other than the " +"one followed by the platform on which Python is running. Opening a file with " +"the mode ``'U'`` or ``'rU'`` will open a file for reading " +"in :term:`universal newlines` mode. All three line ending conventions will " +"be translated to a ``'\\n'`` in the strings returned by the various file " +"methods such as :meth:`!read` and :meth:`!readline`." #: ../../whatsnew/2.3.rst:391 msgid "" "Universal newline support is also used when importing modules and when " -"executing a file with the :func:`execfile` function. This means that Python " -"modules can be shared between all three operating systems without needing to " -"convert the line-endings." +"executing a file with the :func:`!execfile` function. This means that " +"Python modules can be shared between all three operating systems without " +"needing to convert the line-endings." msgstr "" +"Universal newline support is also used when importing modules and when " +"executing a file with the :func:`!execfile` function. This means that " +"Python modules can be shared between all three operating systems without " +"needing to convert the line-endings." #: ../../whatsnew/2.3.rst:396 msgid "" -"This feature can be disabled when compiling Python by specifying the :option:" -"`!--without-universal-newlines` switch when running Python's :program:" -"`configure` script." +"This feature can be disabled when compiling Python by specifying " +"the :option:`!--without-universal-newlines` switch when running " +"Python's :program:`configure` script." msgstr "" +"This feature can be disabled when compiling Python by specifying " +"the :option:`!--without-universal-newlines` switch when running " +"Python's :program:`configure` script." #: ../../whatsnew/2.3.rst:403 msgid ":pep:`278` - Universal Newline Support" -msgstr "" +msgstr ":pep:`278` - Universal Newline Support" #: ../../whatsnew/2.3.rst:404 msgid "Written and implemented by Jack Jansen." -msgstr "" +msgstr "Written and implemented by Jack Jansen." #: ../../whatsnew/2.3.rst:412 msgid "PEP 279: enumerate()" -msgstr "" +msgstr "PEP 279: enumerate()" #: ../../whatsnew/2.3.rst:414 msgid "" @@ -459,26 +650,30 @@ msgid "" "sequence, returns an iterator that will return ``(0, thing[0])``, ``(1, " "thing[1])``, ``(2, thing[2])``, and so forth." msgstr "" +"A new built-in function, :func:`enumerate`, will make certain loops a bit " +"clearer. ``enumerate(thing)``, where *thing* is either an iterator or a " +"sequence, returns an iterator that will return ``(0, thing[0])``, ``(1, " +"thing[1])``, ``(2, thing[2])``, and so forth." #: ../../whatsnew/2.3.rst:419 msgid "A common idiom to change every element of a list looks like this::" -msgstr "" +msgstr "A common idiom to change every element of a list looks like this::" #: ../../whatsnew/2.3.rst:426 msgid "This can be rewritten using :func:`enumerate` as::" -msgstr "" +msgstr "This can be rewritten using :func:`enumerate` as::" #: ../../whatsnew/2.3.rst:435 msgid ":pep:`279` - The enumerate() built-in function" -msgstr "" +msgstr ":pep:`279` - The enumerate() built-in function" #: ../../whatsnew/2.3.rst:436 msgid "Written and implemented by Raymond D. Hettinger." -msgstr "" +msgstr "Written and implemented by Raymond D. Hettinger." #: ../../whatsnew/2.3.rst:442 msgid "PEP 282: The logging Package" -msgstr "" +msgstr "PEP 282: The logging Package" #: ../../whatsnew/2.3.rst:444 msgid "" @@ -491,27 +686,50 @@ msgid "" "log, or even e-mail them to a particular address; of course, it's also " "possible to write your own handler classes." msgstr "" +"A standard package for writing logs, :mod:`logging`, has been added to " +"Python 2.3. It provides a powerful and flexible mechanism for generating " +"logging output which can then be filtered and processed in various ways. A " +"configuration file written in a standard format can be used to control the " +"logging behavior of a program. Python includes handlers that will write log " +"records to standard error or to a file or socket, send them to the system " +"log, or even e-mail them to a particular address; of course, it's also " +"possible to write your own handler classes." #: ../../whatsnew/2.3.rst:453 msgid "" -"The :class:`Logger` class is the primary class. Most application code will " -"deal with one or more :class:`Logger` objects, each one used by a particular " -"subsystem of the application. Each :class:`Logger` is identified by a name, " -"and names are organized into a hierarchy using ``.`` as the component " -"separator. For example, you might have :class:`Logger` instances named " -"``server``, ``server.auth`` and ``server.network``. The latter two " -"instances are below ``server`` in the hierarchy. This means that if you " -"turn up the verbosity for ``server`` or direct ``server`` messages to a " -"different handler, the changes will also apply to records logged to ``server." -"auth`` and ``server.network``. There's also a root :class:`Logger` that's " -"the parent of all other loggers." -msgstr "" +"The :class:`~logging.Logger` class is the primary class. Most application " +"code will deal with one or more :class:`~logging.Logger` objects, each one " +"used by a particular subsystem of the application. " +"Each :class:`~logging.Logger` is identified by a name, and names are " +"organized into a hierarchy using ``.`` as the component separator. For " +"example, you might have :class:`~logging.Logger` instances named ``server``, " +"``server.auth`` and ``server.network``. The latter two instances are below " +"``server`` in the hierarchy. This means that if you turn up the verbosity " +"for ``server`` or direct ``server`` messages to a different handler, the " +"changes will also apply to records logged to ``server.auth`` and " +"``server.network``. There's also a root :class:`~logging.Logger` that's the " +"parent of all other loggers." +msgstr "" +"The :class:`~logging.Logger` class is the primary class. Most application " +"code will deal with one or more :class:`~logging.Logger` objects, each one " +"used by a particular subsystem of the application. " +"Each :class:`~logging.Logger` is identified by a name, and names are " +"organized into a hierarchy using ``.`` as the component separator. For " +"example, you might have :class:`~logging.Logger` instances named ``server``, " +"``server.auth`` and ``server.network``. The latter two instances are below " +"``server`` in the hierarchy. This means that if you turn up the verbosity " +"for ``server`` or direct ``server`` messages to a different handler, the " +"changes will also apply to records logged to ``server.auth`` and " +"``server.network``. There's also a root :class:`~logging.Logger` that's the " +"parent of all other loggers." #: ../../whatsnew/2.3.rst:464 msgid "" "For simple uses, the :mod:`logging` package contains some convenience " "functions that always use the root log::" msgstr "" +"For simple uses, the :mod:`logging` package contains some convenience " +"functions that always use the root log::" #: ../../whatsnew/2.3.rst:475 ../../whatsnew/2.3.rst:500 msgid "This produces the following output::" @@ -521,23 +739,35 @@ msgstr "This produces the following output::" msgid "" "In the default configuration, informational and debugging messages are " "suppressed and the output is sent to standard error. You can enable the " -"display of informational and debugging messages by calling the :meth:" -"`setLevel` method on the root logger." +"display of informational and debugging messages by calling " +"the :meth:`~logging.Logger.setLevel` method on the root logger." msgstr "" +"In the default configuration, informational and debugging messages are " +"suppressed and the output is sent to standard error. You can enable the " +"display of informational and debugging messages by calling " +"the :meth:`~logging.Logger.setLevel` method on the root logger." #: ../../whatsnew/2.3.rst:486 msgid "" -"Notice the :func:`warning` call's use of string formatting operators; all of " -"the functions for logging messages take the arguments ``(msg, arg1, " -"arg2, ...)`` and log the string resulting from ``msg % (arg1, arg2, ...)``." +"Notice the :func:`~logging.warning` call's use of string formatting " +"operators; all of the functions for logging messages take the arguments " +"``(msg, arg1, arg2, ...)`` and log the string resulting from ``msg % (arg1, " +"arg2, ...)``." msgstr "" +"Notice the :func:`~logging.warning` call's use of string formatting " +"operators; all of the functions for logging messages take the arguments " +"``(msg, arg1, arg2, ...)`` and log the string resulting from ``msg % (arg1, " +"arg2, ...)``." #: ../../whatsnew/2.3.rst:490 msgid "" -"There's also an :func:`exception` function that records the most recent " -"traceback. Any of the other functions will also record the traceback if you " -"specify a true value for the keyword argument *exc_info*. ::" +"There's also an :func:`~logging.exception` function that records the most " +"recent traceback. Any of the other functions will also record the traceback " +"if you specify a true value for the keyword argument *exc_info*. ::" msgstr "" +"There's also an :func:`~logging.exception` function that records the most " +"recent traceback. Any of the other functions will also record the traceback " +"if you specify a true value for the keyword argument *exc_info*. ::" #: ../../whatsnew/2.3.rst:508 msgid "" @@ -546,27 +776,46 @@ msgid "" "creating it if it doesn't exist yet. ``getLogger(None)`` returns the root " "logger. ::" msgstr "" +"Slightly more advanced programs will use a logger other than the root " +"logger. The ``getLogger(name)`` function is used to get a particular log, " +"creating it if it doesn't exist yet. ``getLogger(None)`` returns the root " +"logger. ::" #: ../../whatsnew/2.3.rst:519 msgid "" "Log records are usually propagated up the hierarchy, so a message logged to " -"``server.auth`` is also seen by ``server`` and ``root``, but a :class:" -"`Logger` can prevent this by setting its :attr:`propagate` attribute to :" -"const:`False`." +"``server.auth`` is also seen by ``server`` and ``root``, but " +"a :class:`~logging.Logger` can prevent this by setting " +"its :attr:`~logging.Logger.propagate` attribute to :const:`False`." msgstr "" +"Log records are usually propagated up the hierarchy, so a message logged to " +"``server.auth`` is also seen by ``server`` and ``root``, but " +"a :class:`~logging.Logger` can prevent this by setting " +"its :attr:`~logging.Logger.propagate` attribute to :const:`False`." #: ../../whatsnew/2.3.rst:523 msgid "" "There are more classes provided by the :mod:`logging` package that can be " -"customized. When a :class:`Logger` instance is told to log a message, it " -"creates a :class:`LogRecord` instance that is sent to any number of " -"different :class:`Handler` instances. Loggers and handlers can also have an " -"attached list of filters, and each filter can cause the :class:`LogRecord` " -"to be ignored or can modify the record before passing it along. When " -"they're finally output, :class:`LogRecord` instances are converted to text " -"by a :class:`Formatter` class. All of these classes can be replaced by your " -"own specially written classes." +"customized. When a :class:`~logging.Logger` instance is told to log a " +"message, it creates a :class:`~logging.LogRecord` instance that is sent to " +"any number of different :class:`~logging.Handler` instances. Loggers and " +"handlers can also have an attached list of filters, and each filter can " +"cause the :class:`~logging.LogRecord` to be ignored or can modify the record " +"before passing it along. When they're finally " +"output, :class:`~logging.LogRecord` instances are converted to text by " +"a :class:`~logging.Formatter` class. All of these classes can be replaced " +"by your own specially written classes." msgstr "" +"There are more classes provided by the :mod:`logging` package that can be " +"customized. When a :class:`~logging.Logger` instance is told to log a " +"message, it creates a :class:`~logging.LogRecord` instance that is sent to " +"any number of different :class:`~logging.Handler` instances. Loggers and " +"handlers can also have an attached list of filters, and each filter can " +"cause the :class:`~logging.LogRecord` to be ignored or can modify the record " +"before passing it along. When they're finally " +"output, :class:`~logging.LogRecord` instances are converted to text by " +"a :class:`~logging.Formatter` class. All of these classes can be replaced " +"by your own specially written classes." #: ../../whatsnew/2.3.rst:533 msgid "" @@ -576,40 +825,55 @@ msgid "" "documentation for all of the details. Reading :pep:`282` will also be " "helpful." msgstr "" +"With all of these features the :mod:`logging` package should provide enough " +"flexibility for even the most complicated applications. This is only an " +"incomplete overview of its features, so please see the package's reference " +"documentation for all of the details. Reading :pep:`282` will also be " +"helpful." #: ../../whatsnew/2.3.rst:541 msgid ":pep:`282` - A Logging System" -msgstr "" +msgstr ":pep:`282` - A Logging System" #: ../../whatsnew/2.3.rst:542 msgid "Written by Vinay Sajip and Trent Mick; implemented by Vinay Sajip." -msgstr "" +msgstr "Written by Vinay Sajip and Trent Mick; implemented by Vinay Sajip." #: ../../whatsnew/2.3.rst:550 msgid "PEP 285: A Boolean Type" -msgstr "" +msgstr "PEP 285: A Boolean Type" #: ../../whatsnew/2.3.rst:552 msgid "" "A Boolean type was added to Python 2.3. Two new constants were added to " -"the :mod:`__builtin__` module, :const:`True` and :const:`False`. (:const:" -"`True` and :const:`False` constants were added to the built-ins in Python " -"2.2.1, but the 2.2.1 versions are simply set to integer values of 1 and 0 " -"and aren't a different type.)" +"the :mod:`!__builtin__` module, :const:`True` and :const:`False`. " +"(:const:`True` and :const:`False` constants were added to the built-ins in " +"Python 2.2.1, but the 2.2.1 versions are simply set to integer values of 1 " +"and 0 and aren't a different type.)" msgstr "" +"A Boolean type was added to Python 2.3. Two new constants were added to " +"the :mod:`!__builtin__` module, :const:`True` and :const:`False`. " +"(:const:`True` and :const:`False` constants were added to the built-ins in " +"Python 2.2.1, but the 2.2.1 versions are simply set to integer values of 1 " +"and 0 and aren't a different type.)" #: ../../whatsnew/2.3.rst:558 msgid "" "The type object for this new type is named :class:`bool`; the constructor " -"for it takes any Python value and converts it to :const:`True` or :const:" -"`False`. ::" +"for it takes any Python value and converts it to :const:`True` " +"or :const:`False`. ::" msgstr "" +"The type object for this new type is named :class:`bool`; the constructor " +"for it takes any Python value and converts it to :const:`True` " +"or :const:`False`. ::" #: ../../whatsnew/2.3.rst:570 msgid "" "Most of the standard library modules and built-in functions have been " "changed to return Booleans. ::" msgstr "" +"Most of the standard library modules and built-in functions have been " +"changed to return Booleans. ::" #: ../../whatsnew/2.3.rst:581 msgid "" @@ -620,19 +884,34 @@ msgid "" "the statement is ``return True``, however, the meaning of the return value " "is quite clear." msgstr "" +"Python's Booleans were added with the primary goal of making code clearer. " +"For example, if you're reading a function and encounter the statement " +"``return 1``, you might wonder whether the ``1`` represents a Boolean truth " +"value, an index, or a coefficient that multiplies some other quantity. If " +"the statement is ``return True``, however, the meaning of the return value " +"is quite clear." #: ../../whatsnew/2.3.rst:587 msgid "" "Python's Booleans were *not* added for the sake of strict type-checking. A " "very strict language such as Pascal would also prevent you performing " -"arithmetic with Booleans, and would require that the expression in an :" -"keyword:`if` statement always evaluate to a Boolean result. Python is not " -"this strict and never will be, as :pep:`285` explicitly says. This means " -"you can still use any expression in an :keyword:`!if` statement, even ones " -"that evaluate to a list or tuple or some random object. The Boolean type is " -"a subclass of the :class:`int` class so that arithmetic using a Boolean " -"still works. ::" +"arithmetic with Booleans, and would require that the expression in " +"an :keyword:`if` statement always evaluate to a Boolean result. Python is " +"not this strict and never will be, as :pep:`285` explicitly says. This " +"means you can still use any expression in an :keyword:`!if` statement, even " +"ones that evaluate to a list or tuple or some random object. The Boolean " +"type is a subclass of the :class:`int` class so that arithmetic using a " +"Boolean still works. ::" msgstr "" +"Python's Booleans were *not* added for the sake of strict type-checking. A " +"very strict language such as Pascal would also prevent you performing " +"arithmetic with Booleans, and would require that the expression in " +"an :keyword:`if` statement always evaluate to a Boolean result. Python is " +"not this strict and never will be, as :pep:`285` explicitly says. This " +"means you can still use any expression in an :keyword:`!if` statement, even " +"ones that evaluate to a list or tuple or some random object. The Boolean " +"type is a subclass of the :class:`int` class so that arithmetic using a " +"Boolean still works. ::" #: ../../whatsnew/2.3.rst:605 msgid "" @@ -641,30 +920,42 @@ msgid "" "difference that :func:`str` and :func:`repr` return the strings ``'True'`` " "and ``'False'`` instead of ``'1'`` and ``'0'``." msgstr "" +"To sum up :const:`True` and :const:`False` in a sentence: they're " +"alternative ways to spell the integer values 1 and 0, with the single " +"difference that :func:`str` and :func:`repr` return the strings ``'True'`` " +"and ``'False'`` instead of ``'1'`` and ``'0'``." #: ../../whatsnew/2.3.rst:613 msgid ":pep:`285` - Adding a bool type" -msgstr "" +msgstr ":pep:`285` - Adding a bool type" #: ../../whatsnew/2.3.rst:614 msgid "Written and implemented by GvR." -msgstr "" +msgstr "Written and implemented by GvR." #: ../../whatsnew/2.3.rst:620 msgid "PEP 293: Codec Error Handling Callbacks" -msgstr "" +msgstr "PEP 293: Codec Error Handling Callbacks" #: ../../whatsnew/2.3.rst:622 msgid "" "When encoding a Unicode string into a byte string, unencodable characters " "may be encountered. So far, Python has allowed specifying the error " -"processing as either \"strict\" (raising :exc:`UnicodeError`), " -"\"ignore\" (skipping the character), or \"replace\" (using a question mark " -"in the output string), with \"strict\" being the default behavior. It may be " +"processing as either \"strict\" (raising :exc:`UnicodeError`), \"ignore\" " +"(skipping the character), or \"replace\" (using a question mark in the " +"output string), with \"strict\" being the default behavior. It may be " "desirable to specify alternative processing of such errors, such as " "inserting an XML character reference or HTML entity reference into the " "converted string." msgstr "" +"When encoding a Unicode string into a byte string, unencodable characters " +"may be encountered. So far, Python has allowed specifying the error " +"processing as either \"strict\" (raising :exc:`UnicodeError`), \"ignore\" " +"(skipping the character), or \"replace\" (using a question mark in the " +"output string), with \"strict\" being the default behavior. It may be " +"desirable to specify alternative processing of such errors, such as " +"inserting an XML character reference or HTML entity reference into the " +"converted string." #: ../../whatsnew/2.3.rst:630 msgid "" @@ -677,6 +968,14 @@ msgid "" "target encoding. The handler can then either raise an exception or return a " "replacement string." msgstr "" +"Python now has a flexible framework to add different processing strategies. " +"New error handlers can be added with :func:`codecs.register_error`, and " +"codecs then can access the error handler with :func:`codecs.lookup_error`. " +"An equivalent C API has been added for codecs written in C. The error " +"handler gets the necessary state information such as the string being " +"converted, the position in the string where the error was detected, and the " +"target encoding. The handler can then either raise an exception or return a " +"replacement string." #: ../../whatsnew/2.3.rst:638 msgid "" @@ -684,24 +983,29 @@ msgid "" "\"backslashreplace\" uses Python backslash quoting to represent unencodable " "characters and \"xmlcharrefreplace\" emits XML character references." msgstr "" +"Two additional error handlers have been implemented using this framework: " +"\"backslashreplace\" uses Python backslash quoting to represent unencodable " +"characters and \"xmlcharrefreplace\" emits XML character references." #: ../../whatsnew/2.3.rst:645 msgid ":pep:`293` - Codec Error Handling Callbacks" -msgstr "" +msgstr ":pep:`293` - Codec Error Handling Callbacks" #: ../../whatsnew/2.3.rst:646 msgid "Written and implemented by Walter Dörwald." -msgstr "" +msgstr "Written and implemented by Walter Dörwald." #: ../../whatsnew/2.3.rst:654 msgid "PEP 301: Package Index and Metadata for Distutils" -msgstr "" +msgstr "PEP 301: Package Index and Metadata for Distutils" #: ../../whatsnew/2.3.rst:656 msgid "" "Support for the long-requested Python catalog makes its first appearance in " "2.3." msgstr "" +"Support for the long-requested Python catalog makes its first appearance in " +"2.3." #: ../../whatsnew/2.3.rst:658 msgid "" @@ -711,69 +1015,97 @@ msgid "" "it to a central catalog server. The resulting catalog is available from " "https://pypi.org." msgstr "" +"The heart of the catalog is the new Distutils :command:`register` command. " +"Running ``python setup.py register`` will collect the metadata describing a " +"package, such as its name, version, maintainer, description, &c., and send " +"it to a central catalog server. The resulting catalog is available from " +"https://pypi.org." #: ../../whatsnew/2.3.rst:664 msgid "" "To make the catalog a bit more useful, a new optional *classifiers* keyword " -"argument has been added to the Distutils :func:`setup` function. A list of " +"argument has been added to the Distutils :func:`!setup` function. A list of " "`Trove `_-style strings can be supplied to help " "classify the software." msgstr "" +"To make the catalog a bit more useful, a new optional *classifiers* keyword " +"argument has been added to the Distutils :func:`!setup` function. A list of " +"`Trove `_-style strings can be supplied to help " +"classify the software." #: ../../whatsnew/2.3.rst:669 msgid "" "Here's an example :file:`setup.py` with classifiers, written to be " "compatible with older versions of the Distutils::" msgstr "" +"Here's an example :file:`setup.py` with classifiers, written to be " +"compatible with older versions of the Distutils::" #: ../../whatsnew/2.3.rst:688 msgid "" "The full list of classifiers can be obtained by running ``python setup.py " "register --list-classifiers``." msgstr "" +"The full list of classifiers can be obtained by running ``python setup.py " +"register --list-classifiers``." #: ../../whatsnew/2.3.rst:694 msgid ":pep:`301` - Package Index and Metadata for Distutils" -msgstr "" +msgstr ":pep:`301` - Package Index and Metadata for Distutils" #: ../../whatsnew/2.3.rst:695 msgid "Written and implemented by Richard Jones." -msgstr "" +msgstr "Written and implemented by Richard Jones." #: ../../whatsnew/2.3.rst:703 msgid "PEP 302: New Import Hooks" -msgstr "" +msgstr "PEP 302: New Import Hooks" #: ../../whatsnew/2.3.rst:705 msgid "" -"While it's been possible to write custom import hooks ever since the :mod:" -"`ihooks` module was introduced in Python 1.3, no one has ever been really " +"While it's been possible to write custom import hooks ever since the :mod:`!" +"ihooks` module was introduced in Python 1.3, no one has ever been really " "happy with it because writing new import hooks is difficult and messy. " -"There have been various proposed alternatives such as the :mod:`imputil` " -"and :mod:`iu` modules, but none of them has ever gained much acceptance, and " -"none of them were easily usable from C code." +"There have been various proposed alternatives such as the :mod:`!imputil` " +"and :mod:`!iu` modules, but none of them has ever gained much acceptance, " +"and none of them were easily usable from C code." msgstr "" +"While it's been possible to write custom import hooks ever since the :mod:`!" +"ihooks` module was introduced in Python 1.3, no one has ever been really " +"happy with it because writing new import hooks is difficult and messy. " +"There have been various proposed alternatives such as the :mod:`!imputil` " +"and :mod:`!iu` modules, but none of them has ever gained much acceptance, " +"and none of them were easily usable from C code." #: ../../whatsnew/2.3.rst:712 msgid "" ":pep:`302` borrows ideas from its predecessors, especially from Gordon " -"McMillan's :mod:`iu` module. Three new items are added to the :mod:`sys` " +"McMillan's :mod:`!iu` module. Three new items are added to the :mod:`sys` " "module:" msgstr "" +":pep:`302` borrows ideas from its predecessors, especially from Gordon " +"McMillan's :mod:`!iu` module. Three new items are added to the :mod:`sys` " +"module:" #: ../../whatsnew/2.3.rst:716 msgid "" "``sys.path_hooks`` is a list of callable objects; most often they'll be " "classes. Each callable takes a string containing a path and either returns " -"an importer object that will handle imports from this path or raises an :exc:" -"`ImportError` exception if it can't handle this path." +"an importer object that will handle imports from this path or raises " +"an :exc:`ImportError` exception if it can't handle this path." msgstr "" +"``sys.path_hooks`` is a list of callable objects; most often they'll be " +"classes. Each callable takes a string containing a path and either returns " +"an importer object that will handle imports from this path or raises " +"an :exc:`ImportError` exception if it can't handle this path." #: ../../whatsnew/2.3.rst:721 msgid "" -"``sys.path_importer_cache`` caches importer objects for each path, so ``sys." -"path_hooks`` will only need to be traversed once for each path." +"``sys.path_importer_cache`` caches importer objects for each path, so " +"``sys.path_hooks`` will only need to be traversed once for each path." msgstr "" +"``sys.path_importer_cache`` caches importer objects for each path, so " +"``sys.path_hooks`` will only need to be traversed once for each path." #: ../../whatsnew/2.3.rst:724 msgid "" @@ -782,6 +1114,10 @@ msgid "" "can add objects to it. Additional built-in and frozen modules can be " "imported by an object added to this list." msgstr "" +"``sys.meta_path`` is a list of importer objects that will be traversed " +"before ``sys.path`` is checked. This list is initially empty, but user code " +"can add objects to it. Additional built-in and frozen modules can be " +"imported by an object added to this list." #: ../../whatsnew/2.3.rst:729 msgid "" @@ -797,19 +1133,22 @@ msgid "" "Pseudo-code for Python's new import logic, therefore, looks something like " "this (simplified a bit; see :pep:`302` for the full details)::" msgstr "" +"Pseudo-code for Python's new import logic, therefore, looks something like " +"this (simplified a bit; see :pep:`302` for the full details)::" #: ../../whatsnew/2.3.rst:760 msgid ":pep:`302` - New Import Hooks" -msgstr "" +msgstr ":pep:`302` - New Import Hooks" #: ../../whatsnew/2.3.rst:761 msgid "" "Written by Just van Rossum and Paul Moore. Implemented by Just van Rossum." msgstr "" +"Written by Just van Rossum and Paul Moore. Implemented by Just van Rossum." #: ../../whatsnew/2.3.rst:769 msgid "PEP 305: Comma-separated Files" -msgstr "" +msgstr "PEP 305: Comma-separated Files" #: ../../whatsnew/2.3.rst:771 msgid "" @@ -817,60 +1156,81 @@ msgid "" "databases and spreadsheets. Python 2.3 adds a parser for comma-separated " "files." msgstr "" +"Comma-separated files are a format frequently used for exporting data from " +"databases and spreadsheets. Python 2.3 adds a parser for comma-separated " +"files." #: ../../whatsnew/2.3.rst:774 msgid "Comma-separated format is deceptively simple at first glance::" -msgstr "" +msgstr "Comma-separated format is deceptively simple at first glance::" #: ../../whatsnew/2.3.rst:778 msgid "" "Read a line and call ``line.split(',')``: what could be simpler? But toss in " "string data that can contain commas, and things get more complicated::" msgstr "" +"Read a line and call ``line.split(',')``: what could be simpler? But toss in " +"string data that can contain commas, and things get more complicated::" #: ../../whatsnew/2.3.rst:783 msgid "" "A big ugly regular expression can parse this, but using the new :mod:`csv` " "package is much simpler::" msgstr "" +"A big ugly regular expression can parse this, but using the new :mod:`csv` " +"package is much simpler::" #: ../../whatsnew/2.3.rst:793 msgid "" -"The :func:`reader` function takes a number of different options. The field " -"separator isn't limited to the comma and can be changed to any character, " -"and so can the quoting and line-ending characters." +"The :func:`~csv.reader` function takes a number of different options. The " +"field separator isn't limited to the comma and can be changed to any " +"character, and so can the quoting and line-ending characters." msgstr "" +"The :func:`~csv.reader` function takes a number of different options. The " +"field separator isn't limited to the comma and can be changed to any " +"character, and so can the quoting and line-ending characters." #: ../../whatsnew/2.3.rst:797 msgid "" "Different dialects of comma-separated files can be defined and registered; " -"currently there are two dialects, both used by Microsoft Excel. A separate :" -"class:`csv.writer` class will generate comma-separated files from a " -"succession of tuples or lists, quoting strings that contain the delimiter." +"currently there are two dialects, both used by Microsoft Excel. A " +"separate :class:`csv.writer` class will generate comma-separated files from " +"a succession of tuples or lists, quoting strings that contain the delimiter." msgstr "" +"Different dialects of comma-separated files can be defined and registered; " +"currently there are two dialects, both used by Microsoft Excel. A " +"separate :class:`csv.writer` class will generate comma-separated files from " +"a succession of tuples or lists, quoting strings that contain the delimiter." #: ../../whatsnew/2.3.rst:806 msgid ":pep:`305` - CSV File API" -msgstr ":pep:`305` - API de arquivo CSV" +msgstr ":pep:`305` - CSV File API" #: ../../whatsnew/2.3.rst:806 msgid "" "Written and implemented by Kevin Altis, Dave Cole, Andrew McNamara, Skip " "Montanaro, Cliff Wells." msgstr "" +"Written and implemented by Kevin Altis, Dave Cole, Andrew McNamara, Skip " +"Montanaro, Cliff Wells." #: ../../whatsnew/2.3.rst:815 msgid "PEP 307: Pickle Enhancements" -msgstr "" +msgstr "PEP 307: Pickle Enhancements" #: ../../whatsnew/2.3.rst:817 msgid "" -"The :mod:`pickle` and :mod:`cPickle` modules received some attention during " +"The :mod:`pickle` and :mod:`!cPickle` modules received some attention during " "the 2.3 development cycle. In 2.2, new-style classes could be pickled " "without difficulty, but they weren't pickled very compactly; :pep:`307` " "quotes a trivial example where a new-style class results in a pickled string " "three times longer than that for a classic class." msgstr "" +"The :mod:`pickle` and :mod:`!cPickle` modules received some attention during " +"the 2.3 development cycle. In 2.2, new-style classes could be pickled " +"without difficulty, but they weren't pickled very compactly; :pep:`307` " +"quotes a trivial example where a new-style class results in a pickled string " +"three times longer than that for a classic class." #: ../../whatsnew/2.3.rst:823 msgid "" @@ -881,23 +1241,40 @@ msgid "" "format. A new constant, :const:`pickle.HIGHEST_PROTOCOL`, can be used to " "select the fanciest protocol available." msgstr "" +"The solution was to invent a new pickle protocol. The :func:`pickle.dumps` " +"function has supported a text-or-binary flag for a long time. In 2.3, this " +"flag is redefined from a Boolean to an integer: 0 is the old text-mode " +"pickle format, 1 is the old binary format, and now 2 is a new 2.3-specific " +"format. A new constant, :const:`pickle.HIGHEST_PROTOCOL`, can be used to " +"select the fanciest protocol available." #: ../../whatsnew/2.3.rst:830 msgid "" "Unpickling is no longer considered a safe operation. 2.2's :mod:`pickle` " "provided hooks for trying to prevent unsafe classes from being unpickled " -"(specifically, a :attr:`__safe_for_unpickling__` attribute), but none of " +"(specifically, a :attr:`!__safe_for_unpickling__` attribute), but none of " "this code was ever audited and therefore it's all been ripped out in 2.3. " "You should not unpickle untrusted data in any version of Python." msgstr "" +"Unpickling is no longer considered a safe operation. 2.2's :mod:`pickle` " +"provided hooks for trying to prevent unsafe classes from being unpickled " +"(specifically, a :attr:`!__safe_for_unpickling__` attribute), but none of " +"this code was ever audited and therefore it's all been ripped out in 2.3. " +"You should not unpickle untrusted data in any version of Python." #: ../../whatsnew/2.3.rst:836 msgid "" "To reduce the pickling overhead for new-style classes, a new interface for " -"customizing pickling was added using three special methods: :meth:" -"`__getstate__`, :meth:`__setstate__`, and :meth:`__getnewargs__`. Consult :" -"pep:`307` for the full semantics of these methods." +"customizing pickling was added using three special " +"methods: :meth:`~object.__getstate__`, :meth:`~object.__setstate__`, " +"and :meth:`~object.__getnewargs__`. Consult :pep:`307` for the full " +"semantics of these methods." msgstr "" +"To reduce the pickling overhead for new-style classes, a new interface for " +"customizing pickling was added using three special " +"methods: :meth:`~object.__getstate__`, :meth:`~object.__setstate__`, " +"and :meth:`~object.__getnewargs__`. Consult :pep:`307` for the full " +"semantics of these methods." #: ../../whatsnew/2.3.rst:841 msgid "" @@ -906,18 +1283,22 @@ msgid "" "Software Foundation will maintain a list of standardized codes; there's also " "a range of codes for private use. Currently no codes have been specified." msgstr "" +"As a way to compress pickles yet further, it's now possible to use integer " +"codes instead of long strings to identify pickled classes. The Python " +"Software Foundation will maintain a list of standardized codes; there's also " +"a range of codes for private use. Currently no codes have been specified." #: ../../whatsnew/2.3.rst:849 msgid ":pep:`307` - Extensions to the pickle protocol" -msgstr "" +msgstr ":pep:`307` - Extensions to the pickle protocol" #: ../../whatsnew/2.3.rst:850 msgid "Written and implemented by Guido van Rossum and Tim Peters." -msgstr "" +msgstr "Written and implemented by Guido van Rossum and Tim Peters." #: ../../whatsnew/2.3.rst:858 msgid "Extended Slices" -msgstr "" +msgstr "Extended Slices" #: ../../whatsnew/2.3.rst:860 msgid "" @@ -929,21 +1310,31 @@ msgid "" "sequence types have never supported this feature, raising a :exc:`TypeError` " "if you tried it. Michael Hudson contributed a patch to fix this shortcoming." msgstr "" +"Ever since Python 1.4, the slicing syntax has supported an optional third " +"\"step\" or \"stride\" argument. For example, these are all legal Python " +"syntax: ``L[1:10:2]``, ``L[:-1:1]``, ``L[::-1]``. This was added to Python " +"at the request of the developers of Numerical Python, which uses the third " +"argument extensively. However, Python's built-in list, tuple, and string " +"sequence types have never supported this feature, raising a :exc:`TypeError` " +"if you tried it. Michael Hudson contributed a patch to fix this shortcoming." #: ../../whatsnew/2.3.rst:868 msgid "" "For example, you can now easily extract the elements of a list that have " "even indexes::" msgstr "" +"For example, you can now easily extract the elements of a list that have " +"even indexes::" #: ../../whatsnew/2.3.rst:875 msgid "" "Negative values also work to make a copy of the same list in reverse order::" msgstr "" +"Negative values also work to make a copy of the same list in reverse order::" #: ../../whatsnew/2.3.rst:880 msgid "This also works for tuples, arrays, and strings::" -msgstr "" +msgstr "This also works for tuples, arrays, and strings::" #: ../../whatsnew/2.3.rst:888 msgid "" @@ -952,6 +1343,10 @@ msgid "" "assignment to extended and regular slices. Assignment to a regular slice " "can be used to change the length of the sequence::" msgstr "" +"If you have a mutable sequence such as a list or an array you can assign to " +"or delete an extended slice, but there are some differences between " +"assignment to extended and regular slices. Assignment to a regular slice " +"can be used to change the length of the sequence::" #: ../../whatsnew/2.3.rst:900 msgid "" @@ -959,31 +1354,43 @@ msgid "" "the list on the right hand side of the statement must contain the same " "number of items as the slice it is replacing::" msgstr "" +"Extended slices aren't this flexible. When assigning to an extended slice, " +"the list on the right hand side of the statement must contain the same " +"number of items as the slice it is replacing::" #: ../../whatsnew/2.3.rst:917 msgid "Deletion is more straightforward::" -msgstr "" +msgstr "Deletion is more straightforward::" #: ../../whatsnew/2.3.rst:928 msgid "" -"One can also now pass slice objects to the :meth:`__getitem__` methods of " -"the built-in sequences::" +"One can also now pass slice objects to the :meth:`~object.__getitem__` " +"methods of the built-in sequences::" msgstr "" +"One can also now pass slice objects to the :meth:`~object.__getitem__` " +"methods of the built-in sequences::" #: ../../whatsnew/2.3.rst:934 msgid "Or use slice objects directly in subscripts::" -msgstr "" +msgstr "Or use slice objects directly in subscripts::" #: ../../whatsnew/2.3.rst:939 msgid "" "To simplify implementing sequences that support extended slicing, slice " "objects now have a method ``indices(length)`` which, given the length of a " "sequence, returns a ``(start, stop, step)`` tuple that can be passed " -"directly to :func:`range`. :meth:`indices` handles omitted and out-of-bounds " -"indices in a manner consistent with regular slices (and this innocuous " -"phrase hides a welter of confusing details!). The method is intended to be " -"used like this::" +"directly to :func:`range`. :meth:`!indices` handles omitted and out-of-" +"bounds indices in a manner consistent with regular slices (and this " +"innocuous phrase hides a welter of confusing details!). The method is " +"intended to be used like this::" msgstr "" +"To simplify implementing sequences that support extended slicing, slice " +"objects now have a method ``indices(length)`` which, given the length of a " +"sequence, returns a ``(start, stop, step)`` tuple that can be passed " +"directly to :func:`range`. :meth:`!indices` handles omitted and out-of-" +"bounds indices in a manner consistent with regular slices (and this " +"innocuous phrase hides a welter of confusing details!). The method is " +"intended to be used like this::" #: ../../whatsnew/2.3.rst:957 msgid "" @@ -992,6 +1399,10 @@ msgid "" "This is consistent with Python 2.2, where :class:`int`, :class:`str`, etc., " "underwent the same change." msgstr "" +"From this example you can also see that the built-in :class:`slice` object " +"is now the type object for the slice type, and is no longer a function. " +"This is consistent with Python 2.2, where :class:`int`, :class:`str`, etc., " +"underwent the same change." #: ../../whatsnew/2.3.rst:966 msgid "Other Language Changes" @@ -1002,18 +1413,24 @@ msgid "" "Here are all of the changes that Python 2.3 makes to the core Python " "language." msgstr "" +"Here are all of the changes that Python 2.3 makes to the core Python " +"language." #: ../../whatsnew/2.3.rst:970 msgid "" "The :keyword:`yield` statement is now always a keyword, as described in " "section :ref:`section-generators` of this document." msgstr "" +"The :keyword:`yield` statement is now always a keyword, as described in " +"section :ref:`section-generators` of this document." #: ../../whatsnew/2.3.rst:973 msgid "" "A new built-in function :func:`enumerate` was added, as described in " "section :ref:`section-enumerate` of this document." msgstr "" +"A new built-in function :func:`enumerate` was added, as described in " +"section :ref:`section-enumerate` of this document." #: ../../whatsnew/2.3.rst:976 msgid "" @@ -1021,6 +1438,9 @@ msgid "" "the built-in :class:`bool` type, as described in section :ref:`section-bool` " "of this document." msgstr "" +"Two new constants, :const:`True` and :const:`False` were added along with " +"the built-in :class:`bool` type, as described in section :ref:`section-bool` " +"of this document." #: ../../whatsnew/2.3.rst:980 msgid "" @@ -1030,12 +1450,19 @@ msgid "" "that ``isinstance(int(expression), int)`` is false, but that seems unlikely " "to cause problems in practice." msgstr "" +"The :func:`int` type constructor will now return a long integer instead of " +"raising an :exc:`OverflowError` when a string or floating-point number is " +"too large to fit into an integer. This can lead to the paradoxical result " +"that ``isinstance(int(expression), int)`` is false, but that seems unlikely " +"to cause problems in practice." #: ../../whatsnew/2.3.rst:986 msgid "" "Built-in types now support the extended slicing syntax, as described in " "section :ref:`section-slices` of this document." msgstr "" +"Built-in types now support the extended slicing syntax, as described in " +"section :ref:`section-slices` of this document." #: ../../whatsnew/2.3.rst:989 msgid "" @@ -1044,6 +1471,10 @@ msgid "" "accepts numbers, meaning that you can't use it to concatenate a bunch of " "strings. (Contributed by Alex Martelli.)" msgstr "" +"A new built-in function, ``sum(iterable, start=0)``, adds up the numeric " +"items in the iterable object and returns their sum. :func:`sum` only " +"accepts numbers, meaning that you can't use it to concatenate a bunch of " +"strings. (Contributed by Alex Martelli.)" #: ../../whatsnew/2.3.rst:994 msgid "" @@ -1052,6 +1483,10 @@ msgid "" "consistent with slice indexing, so when *pos* is -1 the value will be " "inserted before the last element, and so forth." msgstr "" +"``list.insert(pos, value)`` used to insert *value* at the front of the list " +"when *pos* was negative. The behaviour has now been changed to be " +"consistent with slice indexing, so when *pos* is -1 the value will be " +"inserted before the last element, and so forth." #: ../../whatsnew/2.3.rst:999 msgid "" @@ -1059,6 +1494,9 @@ msgid "" "returns its index, now takes optional *start* and *stop* arguments to limit " "the search to only part of the list." msgstr "" +"``list.index(value)``, which searches for *value* within the list and " +"returns its index, now takes optional *start* and *stop* arguments to limit " +"the search to only part of the list." #: ../../whatsnew/2.3.rst:1003 msgid "" @@ -1067,6 +1505,10 @@ msgid "" "dictionary. If the requested key isn't present in the dictionary, *default* " "is returned if it's specified and :exc:`KeyError` raised if it isn't. ::" msgstr "" +"Dictionaries have a new method, ``pop(key[, *default*])``, that returns the " +"value corresponding to *key* and removes that key/value pair from the " +"dictionary. If the requested key isn't present in the dictionary, *default* " +"is returned if it's specified and :exc:`KeyError` raised if it isn't. ::" #: ../../whatsnew/2.3.rst:1025 msgid "" @@ -1074,20 +1516,25 @@ msgid "" "creates a dictionary with keys taken from the supplied iterator *iterable* " "and all values set to *value*, defaulting to ``None``." msgstr "" +"There's also a new class method, ``dict.fromkeys(iterable, value)``, that " +"creates a dictionary with keys taken from the supplied iterator *iterable* " +"and all values set to *value*, defaulting to ``None``." #: ../../whatsnew/2.3.rst:1029 msgid "(Patches contributed by Raymond Hettinger.)" -msgstr "" +msgstr "(Patches contributed by Raymond Hettinger.)" #: ../../whatsnew/2.3.rst:1031 msgid "" "Also, the :func:`dict` constructor now accepts keyword arguments to simplify " "creating small dictionaries::" msgstr "" +"Also, the :func:`dict` constructor now accepts keyword arguments to simplify " +"creating small dictionaries::" #: ../../whatsnew/2.3.rst:1037 msgid "(Contributed by Just van Rossum.)" -msgstr "" +msgstr "(Contributed by Just van Rossum.)" #: ../../whatsnew/2.3.rst:1039 msgid "" @@ -1096,32 +1543,50 @@ msgid "" "Python with the :option:`-O` switch will still generate code that doesn't " "execute any assertions." msgstr "" +"The :keyword:`assert` statement no longer checks the ``__debug__`` flag, so " +"you can no longer disable assertions by assigning to ``__debug__``. Running " +"Python with the :option:`-O` switch will still generate code that doesn't " +"execute any assertions." #: ../../whatsnew/2.3.rst:1044 msgid "" "Most type objects are now callable, so you can use them to create new " -"objects such as functions, classes, and modules. (This means that the :mod:" -"`new` module can be deprecated in a future Python version, because you can " -"now use the type objects available in the :mod:`types` module.) For example, " -"you can create a new module object with the following code:" +"objects such as functions, classes, and modules. (This means that " +"the :mod:`!new` module can be deprecated in a future Python version, because " +"you can now use the type objects available in the :mod:`types` module.) For " +"example, you can create a new module object with the following code:" msgstr "" +"Most type objects are now callable, so you can use them to create new " +"objects such as functions, classes, and modules. (This means that " +"the :mod:`!new` module can be deprecated in a future Python version, because " +"you can now use the type objects available in the :mod:`types` module.) For " +"example, you can create a new module object with the following code:" #: ../../whatsnew/2.3.rst:1059 msgid "" "A new warning, :exc:`PendingDeprecationWarning` was added to indicate " "features which are in the process of being deprecated. The warning will " "*not* be printed by default. To check for use of features that will be " -"deprecated in the future, supply :option:`-Walways::" -"PendingDeprecationWarning:: <-W>` on the command line or use :func:`warnings." -"filterwarnings`." +"deprecated in the future, supply :option:`-" +"Walways::PendingDeprecationWarning:: <-W>` on the command line or " +"use :func:`warnings.filterwarnings`." msgstr "" +"A new warning, :exc:`PendingDeprecationWarning` was added to indicate " +"features which are in the process of being deprecated. The warning will " +"*not* be printed by default. To check for use of features that will be " +"deprecated in the future, supply :option:`-" +"Walways::PendingDeprecationWarning:: <-W>` on the command line or " +"use :func:`warnings.filterwarnings`." #: ../../whatsnew/2.3.rst:1065 msgid "" "The process of deprecating string-based exceptions, as in ``raise \"Error " -"occurred\"``, has begun. Raising a string will now trigger :exc:" -"`PendingDeprecationWarning`." +"occurred\"``, has begun. Raising a string will now " +"trigger :exc:`PendingDeprecationWarning`." msgstr "" +"The process of deprecating string-based exceptions, as in ``raise \"Error " +"occurred\"``, has begun. Raising a string will now " +"trigger :exc:`PendingDeprecationWarning`." #: ../../whatsnew/2.3.rst:1069 msgid "" @@ -1129,17 +1594,27 @@ msgid "" "warning. In a future version of Python, ``None`` may finally become a " "keyword." msgstr "" +"Using ``None`` as a variable name will now result in a :exc:`SyntaxWarning` " +"warning. In a future version of Python, ``None`` may finally become a " +"keyword." #: ../../whatsnew/2.3.rst:1072 msgid "" -"The :meth:`xreadlines` method of file objects, introduced in Python 2.1, is " -"no longer necessary because files now behave as their own iterator. :meth:" -"`xreadlines` was originally introduced as a faster way to loop over all the " +"The :meth:`!xreadlines` method of file objects, introduced in Python 2.1, is " +"no longer necessary because files now behave as their own iterator. :meth:`!" +"xreadlines` was originally introduced as a faster way to loop over all the " "lines in a file, but now you can simply write ``for line in file_obj``. File " -"objects also have a new read-only :attr:`encoding` attribute that gives the " +"objects also have a new read-only :attr:`!encoding` attribute that gives the " "encoding used by the file; Unicode strings written to the file will be " "automatically converted to bytes using the given encoding." msgstr "" +"The :meth:`!xreadlines` method of file objects, introduced in Python 2.1, is " +"no longer necessary because files now behave as their own iterator. :meth:`!" +"xreadlines` was originally introduced as a faster way to loop over all the " +"lines in a file, but now you can simply write ``for line in file_obj``. File " +"objects also have a new read-only :attr:`!encoding` attribute that gives the " +"encoding used by the file; Unicode strings written to the file will be " +"automatically converted to bytes using the given encoding." #: ../../whatsnew/2.3.rst:1080 msgid "" @@ -1165,34 +1640,51 @@ msgid "" "switching overhead. Some multithreaded applications may suffer slower " "response time, but that's easily fixed by setting the limit back to a lower " "number using ``sys.setcheckinterval(N)``. The limit can be retrieved with " -"the new :func:`sys.getcheckinterval` function." +"the new :func:`!sys.getcheckinterval` function." msgstr "" +"Python runs multithreaded programs by switching between threads after " +"executing N bytecodes. The default value for N has been increased from 10 " +"to 100 bytecodes, speeding up single-threaded applications by reducing the " +"switching overhead. Some multithreaded applications may suffer slower " +"response time, but that's easily fixed by setting the limit back to a lower " +"number using ``sys.setcheckinterval(N)``. The limit can be retrieved with " +"the new :func:`!sys.getcheckinterval` function." #: ../../whatsnew/2.3.rst:1101 msgid "" "One minor but far-reaching change is that the names of extension types " "defined by the modules included with Python now contain the module and a " "``'.'`` in front of the type name. For example, in Python 2.2, if you " -"created a socket and printed its :attr:`__class__`, you'd get this output::" +"created a socket and printed its :attr:`!__class__`, you'd get this output::" msgstr "" +"One minor but far-reaching change is that the names of extension types " +"defined by the modules included with Python now contain the module and a " +"``'.'`` in front of the type name. For example, in Python 2.2, if you " +"created a socket and printed its :attr:`!__class__`, you'd get this output::" #: ../../whatsnew/2.3.rst:1110 msgid "In 2.3, you get this::" -msgstr "" +msgstr "In 2.3, you get this::" #: ../../whatsnew/2.3.rst:1115 msgid "" "One of the noted incompatibilities between old- and new-style classes has " -"been removed: you can now assign to the :attr:`~definition.__name__` and :" -"attr:`~class.__bases__` attributes of new-style classes. There are some " -"restrictions on what can be assigned to :attr:`~class.__bases__` along the " -"lines of those relating to assigning to an instance's :attr:`~instance." -"__class__` attribute." +"been removed: you can now assign to the :attr:`~definition.__name__` " +"and :attr:`~class.__bases__` attributes of new-style classes. There are " +"some restrictions on what can be assigned to :attr:`~class.__bases__` along " +"the lines of those relating to assigning to an " +"instance's :attr:`~instance.__class__` attribute." msgstr "" +"One of the noted incompatibilities between old- and new-style classes has " +"been removed: you can now assign to the :attr:`~definition.__name__` " +"and :attr:`~class.__bases__` attributes of new-style classes. There are " +"some restrictions on what can be assigned to :attr:`~class.__bases__` along " +"the lines of those relating to assigning to an " +"instance's :attr:`~instance.__class__` attribute." #: ../../whatsnew/2.3.rst:1125 msgid "String Changes" -msgstr "" +msgstr "String Changes" #: ../../whatsnew/2.3.rst:1127 msgid "" @@ -1202,49 +1694,69 @@ msgid "" "and ``X in Y`` will return :const:`True` if *X* is a substring of *Y*. If " "*X* is the empty string, the result is always :const:`True`. ::" msgstr "" +"The :keyword:`in` operator now works differently for strings. Previously, " +"when evaluating ``X in Y`` where *X* and *Y* are strings, *X* could only be " +"a single character. That's now changed; *X* can be a string of any length, " +"and ``X in Y`` will return :const:`True` if *X* is a substring of *Y*. If " +"*X* is the empty string, the result is always :const:`True`. ::" #: ../../whatsnew/2.3.rst:1140 msgid "" "Note that this doesn't tell you where the substring starts; if you need that " -"information, use the :meth:`find` string method." +"information, use the :meth:`~str.find` string method." msgstr "" +"Note that this doesn't tell you where the substring starts; if you need that " +"information, use the :meth:`~str.find` string method." #: ../../whatsnew/2.3.rst:1143 msgid "" -"The :meth:`strip`, :meth:`lstrip`, and :meth:`rstrip` string methods now " -"have an optional argument for specifying the characters to strip. The " -"default is still to remove all whitespace characters::" +"The :meth:`~str.strip`, :meth:`~str.lstrip`, and :meth:`~str.rstrip` string " +"methods now have an optional argument for specifying the characters to " +"strip. The default is still to remove all whitespace characters::" msgstr "" +"The :meth:`~str.strip`, :meth:`~str.lstrip`, and :meth:`~str.rstrip` string " +"methods now have an optional argument for specifying the characters to " +"strip. The default is still to remove all whitespace characters::" #: ../../whatsnew/2.3.rst:1157 msgid "(Suggested by Simon Brunning and implemented by Walter Dörwald.)" -msgstr "" +msgstr "(Suggested by Simon Brunning and implemented by Walter Dörwald.)" #: ../../whatsnew/2.3.rst:1159 msgid "" -"The :meth:`startswith` and :meth:`endswith` string methods now accept " -"negative numbers for the *start* and *end* parameters." +"The :meth:`~str.startswith` and :meth:`~str.endswith` string methods now " +"accept negative numbers for the *start* and *end* parameters." msgstr "" +"The :meth:`~str.startswith` and :meth:`~str.endswith` string methods now " +"accept negative numbers for the *start* and *end* parameters." #: ../../whatsnew/2.3.rst:1162 msgid "" -"Another new string method is :meth:`zfill`, originally a function in the :" -"mod:`string` module. :meth:`zfill` pads a numeric string with zeros on the " -"left until it's the specified width. Note that the ``%`` operator is still " -"more flexible and powerful than :meth:`zfill`. ::" +"Another new string method is :meth:`~str.zfill`, originally a function in " +"the :mod:`string` module. :meth:`~str.zfill` pads a numeric string with " +"zeros on the left until it's the specified width. Note that the ``%`` " +"operator is still more flexible and powerful than :meth:`~str.zfill`. ::" msgstr "" +"Another new string method is :meth:`~str.zfill`, originally a function in " +"the :mod:`string` module. :meth:`~str.zfill` pads a numeric string with " +"zeros on the left until it's the specified width. Note that the ``%`` " +"operator is still more flexible and powerful than :meth:`~str.zfill`. ::" #: ../../whatsnew/2.3.rst:1174 msgid "(Contributed by Walter Dörwald.)" -msgstr "" +msgstr "(Contributed by Walter Dörwald.)" #: ../../whatsnew/2.3.rst:1176 msgid "" -"A new type object, :class:`basestring`, has been added. Both 8-bit strings " +"A new type object, :class:`!basestring`, has been added. Both 8-bit strings " "and Unicode strings inherit from this type, so ``isinstance(obj, " "basestring)`` will return :const:`True` for either kind of string. It's a " -"completely abstract type, so you can't create :class:`basestring` instances." +"completely abstract type, so you can't create :class:`!basestring` instances." msgstr "" +"A new type object, :class:`!basestring`, has been added. Both 8-bit strings " +"and Unicode strings inherit from this type, so ``isinstance(obj, " +"basestring)`` will return :const:`True` for either kind of string. It's a " +"completely abstract type, so you can't create :class:`!basestring` instances." #: ../../whatsnew/2.3.rst:1181 msgid "" @@ -1252,6 +1764,9 @@ msgid "" "the usual way when the only reference to them is from the internal " "dictionary of interned strings. (Implemented by Oren Tirosh.)" msgstr "" +"Interned strings are no longer immortal and will now be garbage-collected in " +"the usual way when the only reference to them is from the internal " +"dictionary of interned strings. (Implemented by Oren Tirosh.)" #: ../../whatsnew/2.3.rst:1189 msgid "Optimizations" @@ -1262,35 +1777,52 @@ msgid "" "The creation of new-style class instances has been made much faster; they're " "now faster than classic classes!" msgstr "" +"The creation of new-style class instances has been made much faster; they're " +"now faster than classic classes!" #: ../../whatsnew/2.3.rst:1194 msgid "" -"The :meth:`sort` method of list objects has been extensively rewritten by " -"Tim Peters, and the implementation is significantly faster." +"The :meth:`~list.sort` method of list objects has been extensively rewritten " +"by Tim Peters, and the implementation is significantly faster." msgstr "" +"The :meth:`~list.sort` method of list objects has been extensively rewritten " +"by Tim Peters, and the implementation is significantly faster." #: ../../whatsnew/2.3.rst:1197 msgid "" "Multiplication of large long integers is now much faster thanks to an " "implementation of Karatsuba multiplication, an algorithm that scales better " -"than the O(n\\*n) required for the grade-school multiplication algorithm. " -"(Original patch by Christopher A. Craig, and significantly reworked by Tim " -"Peters.)" +"than the *O*\\ (*n*\\ :sup:`2`) required for the grade-school multiplication " +"algorithm. (Original patch by Christopher A. Craig, and significantly " +"reworked by Tim Peters.)" msgstr "" +"Multiplication of large long integers is now much faster thanks to an " +"implementation of Karatsuba multiplication, an algorithm that scales better " +"than the *O*\\ (*n*\\ :sup:`2`) required for the grade-school multiplication " +"algorithm. (Original patch by Christopher A. Craig, and significantly " +"reworked by Tim Peters.)" #: ../../whatsnew/2.3.rst:1202 msgid "" "The ``SET_LINENO`` opcode is now gone. This may provide a small speed " -"increase, depending on your compiler's idiosyncrasies. See section :ref:" -"`23section-other` for a longer explanation. (Removed by Michael Hudson.)" +"increase, depending on your compiler's idiosyncrasies. See " +"section :ref:`23section-other` for a longer explanation. (Removed by Michael " +"Hudson.)" msgstr "" +"The ``SET_LINENO`` opcode is now gone. This may provide a small speed " +"increase, depending on your compiler's idiosyncrasies. See " +"section :ref:`23section-other` for a longer explanation. (Removed by Michael " +"Hudson.)" #: ../../whatsnew/2.3.rst:1206 msgid "" -":func:`xrange` objects now have their own iterator, making ``for i in " +":func:`!xrange` objects now have their own iterator, making ``for i in " "xrange(n)`` slightly faster than ``for i in range(n)``. (Patch by Raymond " "Hettinger.)" msgstr "" +":func:`!xrange` objects now have their own iterator, making ``for i in " +"xrange(n)`` slightly faster than ``for i in range(n)``. (Patch by Raymond " +"Hettinger.)" #: ../../whatsnew/2.3.rst:1210 msgid "" @@ -1299,12 +1831,18 @@ msgid "" "(Implemented mostly by GvR, but lots of people have contributed single " "changes.)" msgstr "" +"A number of small rearrangements have been made in various hotspots to " +"improve performance, such as inlining a function or removing some code. " +"(Implemented mostly by GvR, but lots of people have contributed single " +"changes.)" #: ../../whatsnew/2.3.rst:1214 msgid "" "The net result of the 2.3 optimizations is that Python 2.3 runs the pystone " "benchmark around 25% faster than Python 2.2." msgstr "" +"The net result of the 2.3 optimizations is that Python 2.3 runs the pystone " +"benchmark around 25% faster than Python 2.2." #: ../../whatsnew/2.3.rst:1221 msgid "New, Improved, and Deprecated Modules" @@ -1318,6 +1856,11 @@ msgid "" "source tree for a more complete list of changes, or look through the CVS " "logs for all the details." msgstr "" +"As usual, Python's standard library received a number of enhancements and " +"bug fixes. Here's a partial list of the most notable changes, sorted " +"alphabetically by module name. Consult the :file:`Misc/NEWS` file in the " +"source tree for a more complete list of changes, or look through the CVS " +"logs for all the details." #: ../../whatsnew/2.3.rst:1228 msgid "" @@ -1326,104 +1869,156 @@ msgid "" "assignment operator to add another array's contents, and the ``*=`` " "assignment operator to repeat an array. (Contributed by Jason Orendorff.)" msgstr "" +"The :mod:`array` module now supports arrays of Unicode characters using the " +"``'u'`` format character. Arrays also now support using the ``+=`` " +"assignment operator to add another array's contents, and the ``*=`` " +"assignment operator to repeat an array. (Contributed by Jason Orendorff.)" #: ../../whatsnew/2.3.rst:1233 msgid "" -"The :mod:`bsddb` module has been replaced by version 4.1.6 of the `PyBSDDB " +"The :mod:`!bsddb` module has been replaced by version 4.1.6 of the `PyBSDDB " "`_ package, providing a more complete " "interface to the transactional features of the BerkeleyDB library." msgstr "" +"The :mod:`!bsddb` module has been replaced by version 4.1.6 of the `PyBSDDB " +"`_ package, providing a more complete " +"interface to the transactional features of the BerkeleyDB library." #: ../../whatsnew/2.3.rst:1237 msgid "" -"The old version of the module has been renamed to :mod:`bsddb185` and is no " -"longer built automatically; you'll have to edit :file:`Modules/Setup` to " -"enable it. Note that the new :mod:`bsddb` package is intended to be " +"The old version of the module has been renamed to :mod:`!bsddb185` and is " +"no longer built automatically; you'll have to edit :file:`Modules/Setup` to " +"enable it. Note that the new :mod:`!bsddb` package is intended to be " "compatible with the old module, so be sure to file bugs if you discover any " "incompatibilities. When upgrading to Python 2.3, if the new interpreter is " "compiled with a new version of the underlying BerkeleyDB library, you will " "almost certainly have to convert your database files to the new version. " -"You can do this fairly easily with the new scripts :file:`db2pickle.py` and :" -"file:`pickle2db.py` which you will find in the distribution's :file:`Tools/" -"scripts` directory. If you've already been using the PyBSDDB package and " -"importing it as :mod:`bsddb3`, you will have to change your ``import`` " -"statements to import it as :mod:`bsddb`." -msgstr "" +"You can do this fairly easily with the new scripts :file:`db2pickle.py` " +"and :file:`pickle2db.py` which you will find in the " +"distribution's :file:`Tools/scripts` directory. If you've already been " +"using the PyBSDDB package and importing it as :mod:`!bsddb3`, you will have " +"to change your ``import`` statements to import it as :mod:`!bsddb`." +msgstr "" +"The old version of the module has been renamed to :mod:`!bsddb185` and is " +"no longer built automatically; you'll have to edit :file:`Modules/Setup` to " +"enable it. Note that the new :mod:`!bsddb` package is intended to be " +"compatible with the old module, so be sure to file bugs if you discover any " +"incompatibilities. When upgrading to Python 2.3, if the new interpreter is " +"compiled with a new version of the underlying BerkeleyDB library, you will " +"almost certainly have to convert your database files to the new version. " +"You can do this fairly easily with the new scripts :file:`db2pickle.py` " +"and :file:`pickle2db.py` which you will find in the " +"distribution's :file:`Tools/scripts` directory. If you've already been " +"using the PyBSDDB package and importing it as :mod:`!bsddb3`, you will have " +"to change your ``import`` statements to import it as :mod:`!bsddb`." #: ../../whatsnew/2.3.rst:1249 msgid "" "The new :mod:`bz2` module is an interface to the bz2 data compression " -"library. bz2-compressed data is usually smaller than corresponding :mod:" -"`zlib`\\ -compressed data. (Contributed by Gustavo Niemeyer.)" +"library. bz2-compressed data is usually smaller than " +"corresponding :mod:`zlib`\\ -compressed data. (Contributed by Gustavo " +"Niemeyer.)" msgstr "" +"The new :mod:`bz2` module is an interface to the bz2 data compression " +"library. bz2-compressed data is usually smaller than " +"corresponding :mod:`zlib`\\ -compressed data. (Contributed by Gustavo " +"Niemeyer.)" #: ../../whatsnew/2.3.rst:1253 msgid "" "A set of standard date/time types has been added in the new :mod:`datetime` " "module. See the following section for more details." msgstr "" +"A set of standard date/time types has been added in the new :mod:`datetime` " +"module. See the following section for more details." #: ../../whatsnew/2.3.rst:1256 msgid "" -"The Distutils :class:`Extension` class now supports an extra constructor " +"The Distutils :class:`!Extension` class now supports an extra constructor " "argument named *depends* for listing additional source files that an " "extension depends on. This lets Distutils recompile the module if any of " "the dependency files are modified. For example, if :file:`sampmodule.c` " -"includes the header file :file:`sample.h`, you would create the :class:" -"`Extension` object like this::" +"includes the header file :file:`sample.h`, you would create the :class:`!" +"Extension` object like this::" msgstr "" +"The Distutils :class:`!Extension` class now supports an extra constructor " +"argument named *depends* for listing additional source files that an " +"extension depends on. This lets Distutils recompile the module if any of " +"the dependency files are modified. For example, if :file:`sampmodule.c` " +"includes the header file :file:`sample.h`, you would create the :class:`!" +"Extension` object like this::" #: ../../whatsnew/2.3.rst:1267 msgid "" "Modifying :file:`sample.h` would then cause the module to be recompiled. " "(Contributed by Jeremy Hylton.)" msgstr "" +"Modifying :file:`sample.h` would then cause the module to be recompiled. " +"(Contributed by Jeremy Hylton.)" #: ../../whatsnew/2.3.rst:1270 msgid "" -"Other minor changes to Distutils: it now checks for the :envvar:`CC`, :" -"envvar:`CFLAGS`, :envvar:`CPP`, :envvar:`LDFLAGS`, and :envvar:`CPPFLAGS` " -"environment variables, using them to override the settings in Python's " -"configuration (contributed by Robert Weber)." +"Other minor changes to Distutils: it now checks for " +"the :envvar:`CC`, :envvar:`CFLAGS`, :envvar:`!CPP`, :envvar:`LDFLAGS`, " +"and :envvar:`CPPFLAGS` environment variables, using them to override the " +"settings in Python's configuration (contributed by Robert Weber)." msgstr "" +"Other minor changes to Distutils: it now checks for " +"the :envvar:`CC`, :envvar:`CFLAGS`, :envvar:`!CPP`, :envvar:`LDFLAGS`, " +"and :envvar:`CPPFLAGS` environment variables, using them to override the " +"settings in Python's configuration (contributed by Robert Weber)." #: ../../whatsnew/2.3.rst:1275 msgid "" "Previously the :mod:`doctest` module would only search the docstrings of " "public methods and functions for test cases, but it now also examines " -"private ones as well. The :func:`DocTestSuite` function creates a :class:" -"`unittest.TestSuite` object from a set of :mod:`doctest` tests." +"private ones as well. The :func:`~doctest.DocTestSuite` function creates " +"a :class:`unittest.TestSuite` object from a set of :mod:`doctest` tests." msgstr "" +"Previously the :mod:`doctest` module would only search the docstrings of " +"public methods and functions for test cases, but it now also examines " +"private ones as well. The :func:`~doctest.DocTestSuite` function creates " +"a :class:`unittest.TestSuite` object from a set of :mod:`doctest` tests." #: ../../whatsnew/2.3.rst:1280 msgid "" "The new ``gc.get_referents(object)`` function returns a list of all the " "objects referenced by *object*." msgstr "" +"The new ``gc.get_referents(object)`` function returns a list of all the " +"objects referenced by *object*." #: ../../whatsnew/2.3.rst:1283 msgid "" -"The :mod:`getopt` module gained a new function, :func:`gnu_getopt`, that " -"supports the same arguments as the existing :func:`getopt` function but uses " -"GNU-style scanning mode. The existing :func:`getopt` stops processing " -"options as soon as a non-option argument is encountered, but in GNU-style " -"mode processing continues, meaning that options and arguments can be mixed. " -"For example::" +"The :mod:`getopt` module gained a new function, :func:`~getopt.gnu_getopt`, " +"that supports the same arguments as the existing :func:`~getopt.getopt` " +"function but uses GNU-style scanning mode. The " +"existing :func:`~getopt.getopt` stops processing options as soon as a non-" +"option argument is encountered, but in GNU-style mode processing continues, " +"meaning that options and arguments can be mixed. For example::" msgstr "" +"The :mod:`getopt` module gained a new function, :func:`~getopt.gnu_getopt`, " +"that supports the same arguments as the existing :func:`~getopt.getopt` " +"function but uses GNU-style scanning mode. The " +"existing :func:`~getopt.getopt` stops processing options as soon as a non-" +"option argument is encountered, but in GNU-style mode processing continues, " +"meaning that options and arguments can be mixed. For example::" #: ../../whatsnew/2.3.rst:1294 msgid "(Contributed by Peter Åstrand.)" -msgstr "" +msgstr "(Contributed by Peter Åstrand.)" #: ../../whatsnew/2.3.rst:1296 msgid "" "The :mod:`grp`, :mod:`pwd`, and :mod:`resource` modules now return enhanced " "tuples::" msgstr "" +"The :mod:`grp`, :mod:`pwd`, and :mod:`resource` modules now return enhanced " +"tuples::" #: ../../whatsnew/2.3.rst:1304 msgid "The :mod:`gzip` module can now handle files exceeding 2 GiB." -msgstr "" +msgstr "The :mod:`gzip` module can now handle files exceeding 2 GiB." #: ../../whatsnew/2.3.rst:1306 msgid "" @@ -1432,21 +2027,34 @@ msgid "" "partially sorted order such that, for every index *k*, ``heap[k] <= " "heap[2*k+1]`` and ``heap[k] <= heap[2*k+2]``. This makes it quick to remove " "the smallest item, and inserting a new item while maintaining the heap " -"property is O(lg n). (See https://xlinux.nist.gov/dads//HTML/priorityque." -"html for more information about the priority queue data structure.)" +"property is *O*\\ (log *n*). (See https://xlinux.nist.gov/dads//HTML/" +"priorityque.html for more information about the priority queue data " +"structure.)" msgstr "" +"The new :mod:`heapq` module contains an implementation of a heap queue " +"algorithm. A heap is an array-like data structure that keeps items in a " +"partially sorted order such that, for every index *k*, ``heap[k] <= " +"heap[2*k+1]`` and ``heap[k] <= heap[2*k+2]``. This makes it quick to remove " +"the smallest item, and inserting a new item while maintaining the heap " +"property is *O*\\ (log *n*). (See https://xlinux.nist.gov/dads//HTML/" +"priorityque.html for more information about the priority queue data " +"structure.)" #: ../../whatsnew/2.3.rst:1314 msgid "" -"The :mod:`heapq` module provides :func:`heappush` and :func:`heappop` " -"functions for adding and removing items while maintaining the heap property " -"on top of some other mutable Python sequence type. Here's an example that " -"uses a Python list::" +"The :mod:`heapq` module provides :func:`~heapq.heappush` " +"and :func:`~heapq.heappop` functions for adding and removing items while " +"maintaining the heap property on top of some other mutable Python sequence " +"type. Here's an example that uses a Python list::" msgstr "" +"The :mod:`heapq` module provides :func:`~heapq.heappush` " +"and :func:`~heapq.heappop` functions for adding and removing items while " +"maintaining the heap property on top of some other mutable Python sequence " +"type. Here's an example that uses a Python list::" #: ../../whatsnew/2.3.rst:1332 msgid "(Contributed by Kevin O'Connor.)" -msgstr "" +msgstr "(Contributed by Kevin O'Connor.)" #: ../../whatsnew/2.3.rst:1334 msgid "" @@ -1457,24 +2065,40 @@ msgid "" "operations. IDLE's core code has been incorporated into the standard library " "as the :mod:`idlelib` package." msgstr "" +"The IDLE integrated development environment has been updated using the code " +"from the IDLEfork project (https://idlefork.sourceforge.net). The most " +"notable feature is that the code being developed is now executed in a " +"subprocess, meaning that there's no longer any need for manual ``reload()`` " +"operations. IDLE's core code has been incorporated into the standard library " +"as the :mod:`idlelib` package." #: ../../whatsnew/2.3.rst:1340 msgid "" "The :mod:`imaplib` module now supports IMAP over SSL. (Contributed by Piers " "Lauder and Tino Lange.)" msgstr "" - -#: ../../whatsnew/2.3.rst:1343 -msgid "" +"The :mod:`imaplib` module now supports IMAP over SSL. (Contributed by Piers " +"Lauder and Tino Lange.)" + +#: ../../whatsnew/2.3.rst:1343 +msgid "" +"The :mod:`itertools` contains a number of useful functions for use with " +"iterators, inspired by various functions provided by the ML and Haskell " +"languages. For example, ``itertools.ifilter(predicate, iterator)`` returns " +"all elements in the iterator for which the function :func:`!predicate` " +"returns :const:`True`, and ``itertools.repeat(obj, N)`` returns ``obj`` *N* " +"times. There are a number of other functions in the module; see the " +"package's reference documentation for details. (Contributed by Raymond " +"Hettinger.)" +msgstr "" "The :mod:`itertools` contains a number of useful functions for use with " "iterators, inspired by various functions provided by the ML and Haskell " "languages. For example, ``itertools.ifilter(predicate, iterator)`` returns " -"all elements in the iterator for which the function :func:`predicate` " +"all elements in the iterator for which the function :func:`!predicate` " "returns :const:`True`, and ``itertools.repeat(obj, N)`` returns ``obj`` *N* " "times. There are a number of other functions in the module; see the " "package's reference documentation for details. (Contributed by Raymond " "Hettinger.)" -msgstr "" #: ../../whatsnew/2.3.rst:1352 msgid "" @@ -1486,36 +2110,57 @@ msgid "" "logarithms for bases other than ``e`` and ``10``. (Contributed by Raymond " "Hettinger.)" msgstr "" +"Two new functions in the :mod:`math` module, ``degrees(rads)`` and " +"``radians(degs)``, convert between radians and degrees. Other functions in " +"the :mod:`math` module such as :func:`math.sin` and :func:`math.cos` have " +"always required input values measured in radians. Also, an optional *base* " +"argument was added to :func:`math.log` to make it easier to compute " +"logarithms for bases other than ``e`` and ``10``. (Contributed by Raymond " +"Hettinger.)" #: ../../whatsnew/2.3.rst:1359 msgid "" -"Several new POSIX functions (:func:`getpgid`, :func:`killpg`, :func:" -"`lchown`, :func:`loadavg`, :func:`major`, :func:`makedev`, :func:`minor`, " -"and :func:`mknod`) were added to the :mod:`posix` module that underlies the :" -"mod:`os` module. (Contributed by Gustavo Niemeyer, Geert Jansen, and Denis " -"S. Otkidach.)" +"Several new POSIX functions (:func:`!getpgid`, :func:`!killpg`, :func:`!" +"lchown`, :func:`!loadavg`, :func:`!major`, :func:`!makedev`, :func:`!minor`, " +"and :func:`!mknod`) were added to the :mod:`posix` module that underlies " +"the :mod:`os` module. (Contributed by Gustavo Niemeyer, Geert Jansen, and " +"Denis S. Otkidach.)" msgstr "" +"Several new POSIX functions (:func:`!getpgid`, :func:`!killpg`, :func:`!" +"lchown`, :func:`!loadavg`, :func:`!major`, :func:`!makedev`, :func:`!minor`, " +"and :func:`!mknod`) were added to the :mod:`posix` module that underlies " +"the :mod:`os` module. (Contributed by Gustavo Niemeyer, Geert Jansen, and " +"Denis S. Otkidach.)" #: ../../whatsnew/2.3.rst:1365 msgid "" -"In the :mod:`os` module, the :func:`\\*stat` family of functions can now " +"In the :mod:`os` module, the :func:`!\\*stat` family of functions can now " "report fractions of a second in a timestamp. Such time stamps are " "represented as floats, similar to the value returned by :func:`time.time`." msgstr "" +"In the :mod:`os` module, the :func:`!\\*stat` family of functions can now " +"report fractions of a second in a timestamp. Such time stamps are " +"represented as floats, similar to the value returned by :func:`time.time`." #: ../../whatsnew/2.3.rst:1369 msgid "" "During testing, it was found that some applications will break if time " "stamps are floats. For compatibility, when using the tuple interface of " -"the :class:`stat_result` time stamps will be represented as integers. When " -"using named fields (a feature first introduced in Python 2.2), time stamps " -"are still represented as integers, unless :func:`os.stat_float_times` is " -"invoked to enable float return values::" +"the :class:`~os.stat_result` time stamps will be represented as integers. " +"When using named fields (a feature first introduced in Python 2.2), time " +"stamps are still represented as integers, unless :func:`!" +"os.stat_float_times` is invoked to enable float return values::" msgstr "" +"During testing, it was found that some applications will break if time " +"stamps are floats. For compatibility, when using the tuple interface of " +"the :class:`~os.stat_result` time stamps will be represented as integers. " +"When using named fields (a feature first introduced in Python 2.2), time " +"stamps are still represented as integers, unless :func:`!" +"os.stat_float_times` is invoked to enable float return values::" #: ../../whatsnew/2.3.rst:1382 msgid "In Python 2.4, the default will change to always returning floats." -msgstr "" +msgstr "In Python 2.4, the default will change to always returning floats." #: ../../whatsnew/2.3.rst:1384 msgid "" @@ -1524,6 +2169,10 @@ msgid "" "if they use the tuple API. If used, the feature should be activated on an " "application level instead of trying to enable it on a per-use basis." msgstr "" +"Application developers should enable this feature only if all their " +"libraries work properly when confronted with floating point time stamps, or " +"if they use the tuple API. If used, the feature should be activated on an " +"application level instead of trying to enable it on a per-use basis." #: ../../whatsnew/2.3.rst:1389 msgid "" @@ -1532,15 +2181,24 @@ msgid "" "automatically generate a usage message. See the following section for more " "details." msgstr "" +"The :mod:`optparse` module contains a new parser for command-line arguments " +"that can convert option values to a particular Python type and will " +"automatically generate a usage message. See the following section for more " +"details." #: ../../whatsnew/2.3.rst:1394 msgid "" -"The old and never-documented :mod:`linuxaudiodev` module has been " +"The old and never-documented :mod:`!linuxaudiodev` module has been " "deprecated, and a new version named :mod:`ossaudiodev` has been added. The " "module was renamed because the OSS sound drivers can be used on platforms " "other than Linux, and the interface has also been tidied and brought up to " "date in various ways. (Contributed by Greg Ward and Nicholas FitzRoy-Dale.)" msgstr "" +"The old and never-documented :mod:`!linuxaudiodev` module has been " +"deprecated, and a new version named :mod:`ossaudiodev` has been added. The " +"module was renamed because the OSS sound drivers can be used on platforms " +"other than Linux, and the interface has also been tidied and brought up to " +"date in various ways. (Contributed by Greg Ward and Nicholas FitzRoy-Dale.)" #: ../../whatsnew/2.3.rst:1400 msgid "" @@ -1549,23 +2207,38 @@ msgid "" "functions for getting the architecture, CPU type, the Windows OS version, " "and even the Linux distribution version. (Contributed by Marc-André Lemburg.)" msgstr "" +"The new :mod:`platform` module contains a number of functions that try to " +"determine various properties of the platform you're running on. There are " +"functions for getting the architecture, CPU type, the Windows OS version, " +"and even the Linux distribution version. (Contributed by Marc-André Lemburg.)" #: ../../whatsnew/2.3.rst:1405 msgid "" -"The parser objects provided by the :mod:`pyexpat` module can now optionally " -"buffer character data, resulting in fewer calls to your character data " -"handler and therefore faster performance. Setting the parser object's :attr:" -"`buffer_text` attribute to :const:`True` will enable buffering." +"The parser objects provided by the :mod:`pyexpat ` module " +"can now optionally buffer character data, resulting in fewer calls to your " +"character data handler and therefore faster performance. Setting the parser " +"object's :attr:`~xml.parsers.expat.xmlparser.buffer_text` attribute " +"to :const:`True` will enable buffering." msgstr "" +"The parser objects provided by the :mod:`pyexpat ` module " +"can now optionally buffer character data, resulting in fewer calls to your " +"character data handler and therefore faster performance. Setting the parser " +"object's :attr:`~xml.parsers.expat.xmlparser.buffer_text` attribute " +"to :const:`True` will enable buffering." #: ../../whatsnew/2.3.rst:1410 msgid "" "The ``sample(population, k)`` function was added to the :mod:`random` " -"module. *population* is a sequence or :class:`xrange` object containing the " -"elements of a population, and :func:`sample` chooses *k* elements from the " -"population without replacing chosen elements. *k* can be any value up to " -"``len(population)``. For example::" +"module. *population* is a sequence or :class:`!xrange` object containing " +"the elements of a population, and :func:`~random.sample` chooses *k* " +"elements from the population without replacing chosen elements. *k* can be " +"any value up to ``len(population)``. For example::" msgstr "" +"The ``sample(population, k)`` function was added to the :mod:`random` " +"module. *population* is a sequence or :class:`!xrange` object containing " +"the elements of a population, and :func:`~random.sample` chooses *k* " +"elements from the population without replacing chosen elements. *k* can be " +"any value up to ``len(population)``. For example::" #: ../../whatsnew/2.3.rst:1432 msgid "" @@ -1573,54 +2246,77 @@ msgid "" "implemented in C. It's faster and more extensively studied than the " "previous algorithm." msgstr "" +"The :mod:`random` module now uses a new algorithm, the Mersenne Twister, " +"implemented in C. It's faster and more extensively studied than the " +"previous algorithm." #: ../../whatsnew/2.3.rst:1436 msgid "(All changes contributed by Raymond Hettinger.)" -msgstr "" +msgstr "(All changes contributed by Raymond Hettinger.)" #: ../../whatsnew/2.3.rst:1438 msgid "" -"The :mod:`readline` module also gained a number of new functions: :func:" -"`get_history_item`, :func:`get_current_history_length`, and :func:" -"`redisplay`." +"The :mod:`readline` module also gained a number of new " +"functions: :func:`~readline.get_history_item`, :func:`~readline.get_current_history_length`, " +"and :func:`~readline.redisplay`." msgstr "" +"The :mod:`readline` module also gained a number of new " +"functions: :func:`~readline.get_history_item`, :func:`~readline.get_current_history_length`, " +"and :func:`~readline.redisplay`." #: ../../whatsnew/2.3.rst:1442 msgid "" -"The :mod:`rexec` and :mod:`Bastion` modules have been declared dead, and " +"The :mod:`!rexec` and :mod:`!Bastion` modules have been declared dead, and " "attempts to import them will fail with a :exc:`RuntimeError`. New-style " "classes provide new ways to break out of the restricted execution " -"environment provided by :mod:`rexec`, and no one has interest in fixing them " -"or time to do so. If you have applications using :mod:`rexec`, rewrite them " -"to use something else." +"environment provided by :mod:`!rexec`, and no one has interest in fixing " +"them or time to do so. If you have applications using :mod:`!rexec`, " +"rewrite them to use something else." msgstr "" +"The :mod:`!rexec` and :mod:`!Bastion` modules have been declared dead, and " +"attempts to import them will fail with a :exc:`RuntimeError`. New-style " +"classes provide new ways to break out of the restricted execution " +"environment provided by :mod:`!rexec`, and no one has interest in fixing " +"them or time to do so. If you have applications using :mod:`!rexec`, " +"rewrite them to use something else." #: ../../whatsnew/2.3.rst:1448 msgid "" "(Sticking with Python 2.2 or 2.1 will not make your applications any safer " -"because there are known bugs in the :mod:`rexec` module in those versions. " -"To repeat: if you're using :mod:`rexec`, stop using it immediately.)" +"because there are known bugs in the :mod:`!rexec` module in those versions. " +"To repeat: if you're using :mod:`!rexec`, stop using it immediately.)" msgstr "" +"(Sticking with Python 2.2 or 2.1 will not make your applications any safer " +"because there are known bugs in the :mod:`!rexec` module in those versions. " +"To repeat: if you're using :mod:`!rexec`, stop using it immediately.)" #: ../../whatsnew/2.3.rst:1452 msgid "" -"The :mod:`rotor` module has been deprecated because the algorithm it uses " +"The :mod:`!rotor` module has been deprecated because the algorithm it uses " "for encryption is not believed to be secure. If you need encryption, use " "one of the several AES Python modules that are available separately." msgstr "" +"The :mod:`!rotor` module has been deprecated because the algorithm it uses " +"for encryption is not believed to be secure. If you need encryption, use " +"one of the several AES Python modules that are available separately." #: ../../whatsnew/2.3.rst:1456 msgid "" "The :mod:`shutil` module gained a ``move(src, dest)`` function that " "recursively moves a file or directory to a new location." msgstr "" +"The :mod:`shutil` module gained a ``move(src, dest)`` function that " +"recursively moves a file or directory to a new location." #: ../../whatsnew/2.3.rst:1459 msgid "" -"Support for more advanced POSIX signal handling was added to the :mod:" -"`signal` but then removed again as it proved impossible to make it work " -"reliably across platforms." +"Support for more advanced POSIX signal handling was added to " +"the :mod:`signal` but then removed again as it proved impossible to make it " +"work reliably across platforms." msgstr "" +"Support for more advanced POSIX signal handling was added to " +"the :mod:`signal` but then removed again as it proved impossible to make it " +"work reliably across platforms." #: ../../whatsnew/2.3.rst:1463 msgid "" @@ -1629,6 +2325,10 @@ msgid "" "Subsequent socket operations that take longer than *t* seconds to complete " "will abort and raise a :exc:`socket.timeout` exception." msgstr "" +"The :mod:`socket` module now supports timeouts. You can call the " +"``settimeout(t)`` method on a socket object to set a timeout of *t* seconds. " +"Subsequent socket operations that take longer than *t* seconds to complete " +"will abort and raise a :exc:`socket.timeout` exception." #: ../../whatsnew/2.3.rst:1468 msgid "" @@ -1638,25 +2338,37 @@ msgid "" "parts of it. (This is a good example of a collaborative development process " "in action.)" msgstr "" +"The original timeout implementation was by Tim O'Malley. Michael Gilfix " +"integrated it into the Python :mod:`socket` module and shepherded it through " +"a lengthy review. After the code was checked in, Guido van Rossum rewrote " +"parts of it. (This is a good example of a collaborative development process " +"in action.)" #: ../../whatsnew/2.3.rst:1474 msgid "" "On Windows, the :mod:`socket` module now ships with Secure Sockets Layer " "(SSL) support." msgstr "" +"On Windows, the :mod:`socket` module now ships with Secure Sockets Layer " +"(SSL) support." #: ../../whatsnew/2.3.rst:1477 msgid "" -"The value of the C :const:`PYTHON_API_VERSION` macro is now exposed at the " -"Python level as ``sys.api_version``. The current exception can be cleared " -"by calling the new :func:`sys.exc_clear` function." +"The value of the C :c:macro:`!PYTHON_API_VERSION` macro is now exposed at " +"the Python level as ``sys.api_version``. The current exception can be " +"cleared by calling the new :func:`!sys.exc_clear` function." msgstr "" +"The value of the C :c:macro:`!PYTHON_API_VERSION` macro is now exposed at " +"the Python level as ``sys.api_version``. The current exception can be " +"cleared by calling the new :func:`!sys.exc_clear` function." #: ../../whatsnew/2.3.rst:1481 msgid "" -"The new :mod:`tarfile` module allows reading from and writing to :program:" -"`tar`\\ -format archive files. (Contributed by Lars Gustäbel.)" +"The new :mod:`tarfile` module allows reading from and writing " +"to :program:`tar`\\ -format archive files. (Contributed by Lars Gustäbel.)" msgstr "" +"The new :mod:`tarfile` module allows reading from and writing " +"to :program:`tar`\\ -format archive files. (Contributed by Lars Gustäbel.)" #: ../../whatsnew/2.3.rst:1484 msgid "" @@ -1665,57 +2377,98 @@ msgid "" "string and returns a list containing the text split into lines of no more " "than the chosen width. The ``fill(text, width)`` function returns a single " "string, reformatted to fit into lines no longer than the chosen width. (As " -"you can guess, :func:`fill` is built on top of :func:`wrap`. For example::" +"you can guess, :func:`~textwrap.fill` is built on top " +"of :func:`~textwrap.wrap`. For example::" msgstr "" +"The new :mod:`textwrap` module contains functions for wrapping strings " +"containing paragraphs of text. The ``wrap(text, width)`` function takes a " +"string and returns a list containing the text split into lines of no more " +"than the chosen width. The ``fill(text, width)`` function returns a single " +"string, reformatted to fit into lines no longer than the chosen width. (As " +"you can guess, :func:`~textwrap.fill` is built on top " +"of :func:`~textwrap.wrap`. For example::" #: ../../whatsnew/2.3.rst:1506 msgid "" -"The module also contains a :class:`TextWrapper` class that actually " -"implements the text wrapping strategy. Both the :class:`TextWrapper` class " -"and the :func:`wrap` and :func:`fill` functions support a number of " -"additional keyword arguments for fine-tuning the formatting; consult the " -"module's documentation for details. (Contributed by Greg Ward.)" +"The module also contains a :class:`~textwrap.TextWrapper` class that " +"actually implements the text wrapping strategy. Both " +"the :class:`~textwrap.TextWrapper` class and the :func:`~textwrap.wrap` " +"and :func:`~textwrap.fill` functions support a number of additional keyword " +"arguments for fine-tuning the formatting; consult the module's documentation " +"for details. (Contributed by Greg Ward.)" msgstr "" +"The module also contains a :class:`~textwrap.TextWrapper` class that " +"actually implements the text wrapping strategy. Both " +"the :class:`~textwrap.TextWrapper` class and the :func:`~textwrap.wrap` " +"and :func:`~textwrap.fill` functions support a number of additional keyword " +"arguments for fine-tuning the formatting; consult the module's documentation " +"for details. (Contributed by Greg Ward.)" #: ../../whatsnew/2.3.rst:1512 msgid "" -"The :mod:`thread` and :mod:`threading` modules now have companion modules, :" -"mod:`dummy_thread` and :mod:`dummy_threading`, that provide a do-nothing " -"implementation of the :mod:`thread` module's interface for platforms where " -"threads are not supported. The intention is to simplify thread-aware " -"modules (ones that *don't* rely on threads to run) by putting the following " -"code at the top::" +"The :mod:`!thread` and :mod:`threading` modules now have companion " +"modules, :mod:`!dummy_thread` and :mod:`!dummy_threading`, that provide a do-" +"nothing implementation of the :mod:`!thread` module's interface for " +"platforms where threads are not supported. The intention is to simplify " +"thread-aware modules (ones that *don't* rely on threads to run) by putting " +"the following code at the top::" msgstr "" +"The :mod:`!thread` and :mod:`threading` modules now have companion " +"modules, :mod:`!dummy_thread` and :mod:`!dummy_threading`, that provide a do-" +"nothing implementation of the :mod:`!thread` module's interface for " +"platforms where threads are not supported. The intention is to simplify " +"thread-aware modules (ones that *don't* rely on threads to run) by putting " +"the following code at the top::" #: ../../whatsnew/2.3.rst:1524 msgid "" -"In this example, :mod:`_threading` is used as the module name to make it " -"clear that the module being used is not necessarily the actual :mod:" -"`threading` module. Code can call functions and use classes in :mod:" -"`_threading` whether or not threads are supported, avoiding an :keyword:`if` " -"statement and making the code slightly clearer. This module will not " -"magically make multithreaded code run without threads; code that waits for " -"another thread to return or to do something will simply hang forever." -msgstr "" +"In this example, :mod:`!_threading` is used as the module name to make it " +"clear that the module being used is not necessarily the " +"actual :mod:`threading` module. Code can call functions and use classes " +"in :mod:`!_threading` whether or not threads are supported, avoiding " +"an :keyword:`if` statement and making the code slightly clearer. This " +"module will not magically make multithreaded code run without threads; code " +"that waits for another thread to return or to do something will simply hang " +"forever." +msgstr "" +"In this example, :mod:`!_threading` is used as the module name to make it " +"clear that the module being used is not necessarily the " +"actual :mod:`threading` module. Code can call functions and use classes " +"in :mod:`!_threading` whether or not threads are supported, avoiding " +"an :keyword:`if` statement and making the code slightly clearer. This " +"module will not magically make multithreaded code run without threads; code " +"that waits for another thread to return or to do something will simply hang " +"forever." #: ../../whatsnew/2.3.rst:1532 msgid "" -"The :mod:`time` module's :func:`strptime` function has long been an " -"annoyance because it uses the platform C library's :func:`strptime` " +"The :mod:`time` module's :func:`~time.strptime` function has long been an " +"annoyance because it uses the platform C library's :func:`~time.strptime` " "implementation, and different platforms sometimes have odd bugs. Brett " "Cannon contributed a portable implementation that's written in pure Python " "and should behave identically on all platforms." msgstr "" +"The :mod:`time` module's :func:`~time.strptime` function has long been an " +"annoyance because it uses the platform C library's :func:`~time.strptime` " +"implementation, and different platforms sometimes have odd bugs. Brett " +"Cannon contributed a portable implementation that's written in pure Python " +"and should behave identically on all platforms." #: ../../whatsnew/2.3.rst:1538 msgid "" "The new :mod:`timeit` module helps measure how long snippets of Python code " "take to execute. The :file:`timeit.py` file can be run directly from the " -"command line, or the module's :class:`Timer` class can be imported and used " -"directly. Here's a short example that figures out whether it's faster to " -"convert an 8-bit string to Unicode by appending an empty Unicode string to " -"it or by using the :func:`unicode` function::" +"command line, or the module's :class:`~timeit.Timer` class can be imported " +"and used directly. Here's a short example that figures out whether it's " +"faster to convert an 8-bit string to Unicode by appending an empty Unicode " +"string to it or by using the :func:`!unicode` function::" msgstr "" +"The new :mod:`timeit` module helps measure how long snippets of Python code " +"take to execute. The :file:`timeit.py` file can be run directly from the " +"command line, or the module's :class:`~timeit.Timer` class can be imported " +"and used directly. Here's a short example that figures out whether it's " +"faster to convert an 8-bit string to Unicode by appending an empty Unicode " +"string to it or by using the :func:`!unicode` function::" #: ../../whatsnew/2.3.rst:1558 msgid "" @@ -1725,62 +2478,97 @@ msgstr "" #: ../../whatsnew/2.3.rst:1561 msgid "" -"The :mod:`Tkinter` module now works with a thread-enabled version of Tcl. " +"The :mod:`!Tkinter` module now works with a thread-enabled version of Tcl. " "Tcl's threading model requires that widgets only be accessed from the thread " "in which they're created; accesses from another thread can cause Tcl to " -"panic. For certain Tcl interfaces, :mod:`Tkinter` will now automatically " +"panic. For certain Tcl interfaces, :mod:`!Tkinter` will now automatically " "avoid this when a widget is accessed from a different thread by marshalling " "a command, passing it to the correct thread, and waiting for the results. " -"Other interfaces can't be handled automatically but :mod:`Tkinter` will now " +"Other interfaces can't be handled automatically but :mod:`!Tkinter` will now " "raise an exception on such an access so that you can at least find out about " -"the problem. See https://mail.python.org/pipermail/python-dev/2002-" -"December/031107.html for a more detailed explanation of this change. " -"(Implemented by Martin von Löwis.)" +"the problem. See https://mail.python.org/pipermail/python-dev/2002-December/" +"031107.html for a more detailed explanation of this change. (Implemented by " +"Martin von Löwis.)" msgstr "" +"The :mod:`!Tkinter` module now works with a thread-enabled version of Tcl. " +"Tcl's threading model requires that widgets only be accessed from the thread " +"in which they're created; accesses from another thread can cause Tcl to " +"panic. For certain Tcl interfaces, :mod:`!Tkinter` will now automatically " +"avoid this when a widget is accessed from a different thread by marshalling " +"a command, passing it to the correct thread, and waiting for the results. " +"Other interfaces can't be handled automatically but :mod:`!Tkinter` will now " +"raise an exception on such an access so that you can at least find out about " +"the problem. See https://mail.python.org/pipermail/python-dev/2002-December/" +"031107.html for a more detailed explanation of this change. (Implemented by " +"Martin von Löwis.)" #: ../../whatsnew/2.3.rst:1572 msgid "" -"Calling Tcl methods through :mod:`_tkinter` no longer returns only strings. " -"Instead, if Tcl returns other objects those objects are converted to their " -"Python equivalent, if one exists, or wrapped with a :class:`_tkinter." -"Tcl_Obj` object if no Python equivalent exists. This behavior can be " -"controlled through the :meth:`wantobjects` method of :class:`tkapp` objects." +"Calling Tcl methods through :mod:`!_tkinter` no longer returns only " +"strings. Instead, if Tcl returns other objects those objects are converted " +"to their Python equivalent, if one exists, or wrapped with a :class:`!" +"_tkinter.Tcl_Obj` object if no Python equivalent exists. This behavior can " +"be controlled through the :meth:`!wantobjects` method of :class:`!tkapp` " +"objects." msgstr "" +"Calling Tcl methods through :mod:`!_tkinter` no longer returns only " +"strings. Instead, if Tcl returns other objects those objects are converted " +"to their Python equivalent, if one exists, or wrapped with a :class:`!" +"_tkinter.Tcl_Obj` object if no Python equivalent exists. This behavior can " +"be controlled through the :meth:`!wantobjects` method of :class:`!tkapp` " +"objects." #: ../../whatsnew/2.3.rst:1578 msgid "" -"When using :mod:`_tkinter` through the :mod:`Tkinter` module (as most " +"When using :mod:`!_tkinter` through the :mod:`!Tkinter` module (as most " "Tkinter applications will), this feature is always activated. It should not " "cause compatibility problems, since Tkinter would always convert string " "results to Python types where possible." msgstr "" +"When using :mod:`!_tkinter` through the :mod:`!Tkinter` module (as most " +"Tkinter applications will), this feature is always activated. It should not " +"cause compatibility problems, since Tkinter would always convert string " +"results to Python types where possible." #: ../../whatsnew/2.3.rst:1583 msgid "" "If any incompatibilities are found, the old behavior can be restored by " -"setting the :attr:`wantobjects` variable in the :mod:`Tkinter` module to " -"false before creating the first :class:`tkapp` object. ::" +"setting the :attr:`!wantobjects` variable in the :mod:`!Tkinter` module to " +"false before creating the first :class:`!tkapp` object. ::" msgstr "" +"If any incompatibilities are found, the old behavior can be restored by " +"setting the :attr:`!wantobjects` variable in the :mod:`!Tkinter` module to " +"false before creating the first :class:`!tkapp` object. ::" #: ../../whatsnew/2.3.rst:1590 msgid "Any breakage caused by this change should be reported as a bug." -msgstr "" +msgstr "Any breakage caused by this change should be reported as a bug." #: ../../whatsnew/2.3.rst:1592 msgid "" -"The :mod:`UserDict` module has a new :class:`DictMixin` class which defines " -"all dictionary methods for classes that already have a minimum mapping " -"interface. This greatly simplifies writing classes that need to be " +"The :mod:`!UserDict` module has a new :class:`!DictMixin` class which " +"defines all dictionary methods for classes that already have a minimum " +"mapping interface. This greatly simplifies writing classes that need to be " "substitutable for dictionaries, such as the classes in the :mod:`shelve` " "module." msgstr "" +"The :mod:`!UserDict` module has a new :class:`!DictMixin` class which " +"defines all dictionary methods for classes that already have a minimum " +"mapping interface. This greatly simplifies writing classes that need to be " +"substitutable for dictionaries, such as the classes in the :mod:`shelve` " +"module." #: ../../whatsnew/2.3.rst:1598 msgid "" "Adding the mix-in as a superclass provides the full dictionary interface " -"whenever the class defines :meth:`__getitem__`, :meth:`__setitem__`, :meth:" -"`__delitem__`, and :meth:`keys`. For example::" +"whenever the class " +"defines :meth:`~object.__getitem__`, :meth:`~object.__setitem__`, :meth:`~object.__delitem__`, " +"and :meth:`!keys`. For example::" msgstr "" +"Adding the mix-in as a superclass provides the full dictionary interface " +"whenever the class " +"defines :meth:`~object.__getitem__`, :meth:`~object.__setitem__`, :meth:`~object.__delitem__`, " +"and :meth:`!keys`. For example::" #: ../../whatsnew/2.3.rst:1639 msgid "(Contributed by Raymond Hettinger.)" @@ -1789,27 +2577,42 @@ msgstr "(Contributed by Raymond Hettinger.)" #: ../../whatsnew/2.3.rst:1641 msgid "" "The DOM implementation in :mod:`xml.dom.minidom` can now generate XML output " -"in a particular encoding by providing an optional encoding argument to the :" -"meth:`toxml` and :meth:`toprettyxml` methods of DOM nodes." +"in a particular encoding by providing an optional encoding argument to " +"the :meth:`~xml.dom.minidom.Node.toxml` " +"and :meth:`~xml.dom.minidom.Node.toprettyxml` methods of DOM nodes." msgstr "" +"The DOM implementation in :mod:`xml.dom.minidom` can now generate XML output " +"in a particular encoding by providing an optional encoding argument to " +"the :meth:`~xml.dom.minidom.Node.toxml` " +"and :meth:`~xml.dom.minidom.Node.toprettyxml` methods of DOM nodes." #: ../../whatsnew/2.3.rst:1645 msgid "" -"The :mod:`xmlrpclib` module now supports an XML-RPC extension for handling " +"The :mod:`!xmlrpclib` module now supports an XML-RPC extension for handling " "nil data values such as Python's ``None``. Nil values are always supported " "on unmarshalling an XML-RPC response. To generate requests containing " "``None``, you must supply a true value for the *allow_none* parameter when " -"creating a :class:`Marshaller` instance." +"creating a :class:`!Marshaller` instance." msgstr "" +"The :mod:`!xmlrpclib` module now supports an XML-RPC extension for handling " +"nil data values such as Python's ``None``. Nil values are always supported " +"on unmarshalling an XML-RPC response. To generate requests containing " +"``None``, you must supply a true value for the *allow_none* parameter when " +"creating a :class:`!Marshaller` instance." #: ../../whatsnew/2.3.rst:1651 msgid "" -"The new :mod:`DocXMLRPCServer` module allows writing self-documenting XML-" +"The new :mod:`!DocXMLRPCServer` module allows writing self-documenting XML-" "RPC servers. Run it in demo mode (as a program) to see it in action. " "Pointing the web browser to the RPC server produces pydoc-style " "documentation; pointing xmlrpclib to the server allows invoking the actual " "methods. (Contributed by Brian Quinlan.)" msgstr "" +"The new :mod:`!DocXMLRPCServer` module allows writing self-documenting XML-" +"RPC servers. Run it in demo mode (as a program) to see it in action. " +"Pointing the web browser to the RPC server produces pydoc-style " +"documentation; pointing xmlrpclib to the server allows invoking the actual " +"methods. (Contributed by Brian Quinlan.)" #: ../../whatsnew/2.3.rst:1657 msgid "" @@ -1817,85 +2620,129 @@ msgid "" "has been added. The \"idna\" encoding can be used to convert between a " "Unicode domain name and the ASCII-compatible encoding (ACE) of that name. ::" msgstr "" +"Support for internationalized domain names (RFCs 3454, 3490, 3491, and 3492) " +"has been added. The \"idna\" encoding can be used to convert between a " +"Unicode domain name and the ASCII-compatible encoding (ACE) of that name. ::" #: ../../whatsnew/2.3.rst:1664 msgid "" "The :mod:`socket` module has also been extended to transparently convert " "Unicode hostnames to the ACE version before passing them to the C library. " -"Modules that deal with hostnames such as :mod:`httplib` and :mod:`ftplib`) " -"also support Unicode host names; :mod:`httplib` also sends HTTP ``Host`` " +"Modules that deal with hostnames such as :mod:`!httplib` and :mod:`ftplib`) " +"also support Unicode host names; :mod:`!httplib` also sends HTTP ``Host`` " "headers using the ACE version of the domain name. :mod:`urllib` supports " "Unicode URLs with non-ASCII host names as long as the ``path`` part of the " "URL is ASCII only." msgstr "" +"The :mod:`socket` module has also been extended to transparently convert " +"Unicode hostnames to the ACE version before passing them to the C library. " +"Modules that deal with hostnames such as :mod:`!httplib` and :mod:`ftplib`) " +"also support Unicode host names; :mod:`!httplib` also sends HTTP ``Host`` " +"headers using the ACE version of the domain name. :mod:`urllib` supports " +"Unicode URLs with non-ASCII host names as long as the ``path`` part of the " +"URL is ASCII only." #: ../../whatsnew/2.3.rst:1672 msgid "" "To implement this change, the :mod:`stringprep` module, the " "``mkstringprep`` tool and the ``punycode`` encoding have been added." msgstr "" +"To implement this change, the :mod:`stringprep` module, the " +"``mkstringprep`` tool and the ``punycode`` encoding have been added." #: ../../whatsnew/2.3.rst:1679 msgid "Date/Time Type" -msgstr "" +msgstr "Date/Time Type" #: ../../whatsnew/2.3.rst:1681 msgid "" -"Date and time types suitable for expressing timestamps were added as the :" -"mod:`datetime` module. The types don't support different calendars or many " -"fancy features, and just stick to the basics of representing time." +"Date and time types suitable for expressing timestamps were added as " +"the :mod:`datetime` module. The types don't support different calendars or " +"many fancy features, and just stick to the basics of representing time." msgstr "" +"Date and time types suitable for expressing timestamps were added as " +"the :mod:`datetime` module. The types don't support different calendars or " +"many fancy features, and just stick to the basics of representing time." #: ../../whatsnew/2.3.rst:1685 msgid "" -"The three primary types are: :class:`date`, representing a day, month, and " -"year; :class:`~datetime.time`, consisting of hour, minute, and second; and :" -"class:`~datetime.datetime`, which contains all the attributes of both :class:" -"`date` and :class:`~datetime.time`. There's also a :class:`timedelta` class " -"representing differences between two points in time, and time zone logic is " -"implemented by classes inheriting from the abstract :class:`tzinfo` class." -msgstr "" +"The three primary types are: :class:`~datetime.date`, representing a day, " +"month, and year; :class:`~datetime.time`, consisting of hour, minute, and " +"second; and :class:`~datetime.datetime`, which contains all the attributes " +"of both :class:`~datetime.date` and :class:`~datetime.time`. There's also " +"a :class:`~datetime.timedelta` class representing differences between two " +"points in time, and time zone logic is implemented by classes inheriting " +"from the abstract :class:`~datetime.tzinfo` class." +msgstr "" +"The three primary types are: :class:`~datetime.date`, representing a day, " +"month, and year; :class:`~datetime.time`, consisting of hour, minute, and " +"second; and :class:`~datetime.datetime`, which contains all the attributes " +"of both :class:`~datetime.date` and :class:`~datetime.time`. There's also " +"a :class:`~datetime.timedelta` class representing differences between two " +"points in time, and time zone logic is implemented by classes inheriting " +"from the abstract :class:`~datetime.tzinfo` class." #: ../../whatsnew/2.3.rst:1692 msgid "" -"You can create instances of :class:`date` and :class:`~datetime.time` by " -"either supplying keyword arguments to the appropriate constructor, e.g. " -"``datetime.date(year=1972, month=10, day=15)``, or by using one of a number " -"of class methods. For example, the :meth:`date.today` class method returns " -"the current local date." +"You can create instances of :class:`~datetime.date` " +"and :class:`~datetime.time` by either supplying keyword arguments to the " +"appropriate constructor, e.g. ``datetime.date(year=1972, month=10, " +"day=15)``, or by using one of a number of class methods. For example, " +"the :meth:`~datetime.date.today` class method returns the current local date." msgstr "" +"You can create instances of :class:`~datetime.date` " +"and :class:`~datetime.time` by either supplying keyword arguments to the " +"appropriate constructor, e.g. ``datetime.date(year=1972, month=10, " +"day=15)``, or by using one of a number of class methods. For example, " +"the :meth:`~datetime.date.today` class method returns the current local date." #: ../../whatsnew/2.3.rst:1698 msgid "" "Once created, instances of the date/time classes are all immutable. There " "are a number of methods for producing formatted strings from objects::" msgstr "" +"Once created, instances of the date/time classes are all immutable. There " +"are a number of methods for producing formatted strings from objects::" #: ../../whatsnew/2.3.rst:1710 msgid "" -"The :meth:`replace` method allows modifying one or more fields of a :class:" -"`date` or :class:`~datetime.datetime` instance, returning a new instance::" +"The :meth:`~datetime.datetime.replace` method allows modifying one or more " +"fields of a :class:`~datetime.date` or :class:`~datetime.datetime` " +"instance, returning a new instance::" msgstr "" +"The :meth:`~datetime.datetime.replace` method allows modifying one or more " +"fields of a :class:`~datetime.date` or :class:`~datetime.datetime` " +"instance, returning a new instance::" #: ../../whatsnew/2.3.rst:1720 msgid "" "Instances can be compared, hashed, and converted to strings (the result is " -"the same as that of :meth:`isoformat`). :class:`date` and :class:`~datetime." -"datetime` instances can be subtracted from each other, and added to :class:" -"`timedelta` instances. The largest missing feature is that there's no " -"standard library support for parsing strings and getting back a :class:" -"`date` or :class:`~datetime.datetime`." +"the same as that " +"of :meth:`~datetime.datetime.isoformat`). :class:`~datetime.date` " +"and :class:`~datetime.datetime` instances can be subtracted from each other, " +"and added to :class:`~datetime.timedelta` instances. The largest missing " +"feature is that there's no standard library support for parsing strings and " +"getting back a :class:`~datetime.date` or :class:`~datetime.datetime`." msgstr "" +"Instances can be compared, hashed, and converted to strings (the result is " +"the same as that " +"of :meth:`~datetime.datetime.isoformat`). :class:`~datetime.date` " +"and :class:`~datetime.datetime` instances can be subtracted from each other, " +"and added to :class:`~datetime.timedelta` instances. The largest missing " +"feature is that there's no standard library support for parsing strings and " +"getting back a :class:`~datetime.date` or :class:`~datetime.datetime`." #: ../../whatsnew/2.3.rst:1727 msgid "" "For more information, refer to the module's reference documentation. " "(Contributed by Tim Peters.)" msgstr "" +"For more information, refer to the module's reference documentation. " +"(Contributed by Tim Peters.)" #: ../../whatsnew/2.3.rst:1734 msgid "The optparse Module" -msgstr "" +msgstr "The optparse Module" #: ../../whatsnew/2.3.rst:1736 msgid "" @@ -1905,48 +2752,63 @@ msgid "" "automatically creates the output for :option:`!--help`, and can perform " "different actions for different options." msgstr "" +"The :mod:`getopt` module provides simple parsing of command-line arguments. " +"The new :mod:`optparse` module (originally named Optik) provides more " +"elaborate command-line parsing that follows the Unix conventions, " +"automatically creates the output for :option:`!--help`, and can perform " +"different actions for different options." #: ../../whatsnew/2.3.rst:1742 msgid "" -"You start by creating an instance of :class:`OptionParser` and telling it " -"what your program's options are. ::" +"You start by creating an instance of :class:`~optparse.OptionParser` and " +"telling it what your program's options are. ::" msgstr "" +"You start by creating an instance of :class:`~optparse.OptionParser` and " +"telling it what your program's options are. ::" #: ../../whatsnew/2.3.rst:1756 msgid "" -"Parsing a command line is then done by calling the :meth:`parse_args` " -"method. ::" +"Parsing a command line is then done by calling " +"the :meth:`~optparse.OptionParser.parse_args` method. ::" msgstr "" +"Parsing a command line is then done by calling " +"the :meth:`~optparse.OptionParser.parse_args` method. ::" #: ../../whatsnew/2.3.rst:1762 msgid "" "This returns an object containing all of the option values, and a list of " "strings containing the remaining arguments." msgstr "" +"This returns an object containing all of the option values, and a list of " +"strings containing the remaining arguments." #: ../../whatsnew/2.3.rst:1765 msgid "" "Invoking the script with the various arguments now works as you'd expect it " "to. Note that the length argument is automatically converted to an integer." msgstr "" +"Invoking the script with the various arguments now works as you'd expect it " +"to. Note that the length argument is automatically converted to an integer." #: ../../whatsnew/2.3.rst:1778 msgid "The help message is automatically generated for you:" -msgstr "" +msgstr "The help message is automatically generated for you:" #: ../../whatsnew/2.3.rst:1793 msgid "See the module's documentation for more details." -msgstr "" +msgstr "See the module's documentation for more details." #: ../../whatsnew/2.3.rst:1796 msgid "" "Optik was written by Greg Ward, with suggestions from the readers of the " "Getopt SIG." msgstr "" +"Optik was written by Greg Ward, with suggestions from the readers of the " +"Getopt SIG." #: ../../whatsnew/2.3.rst:1805 msgid "Pymalloc: A Specialized Object Allocator" -msgstr "" +msgstr "Pymalloc: A Specialized Object Allocator" #: ../../whatsnew/2.3.rst:1807 msgid "" @@ -1957,6 +2819,12 @@ msgid "" "function to get large pools of memory and then fulfills smaller memory " "requests from these pools." msgstr "" +"Pymalloc, a specialized object allocator written by Vladimir Marangozov, was " +"a feature added to Python 2.1. Pymalloc is intended to be faster than the " +"system :c:func:`malloc` and to have less memory overhead for allocation " +"patterns typical of Python programs. The allocator uses C's :c:func:`malloc` " +"function to get large pools of memory and then fulfills smaller memory " +"requests from these pools." #: ../../whatsnew/2.3.rst:1813 msgid "" @@ -1966,6 +2834,11 @@ msgid "" "In 2.3, pymalloc has had further enhancements and is now enabled by default; " "you'll have to supply :option:`!--without-pymalloc` to disable it." msgstr "" +"In 2.1 and 2.2, pymalloc was an experimental feature and wasn't enabled by " +"default; you had to explicitly enable it when compiling Python by providing " +"the :option:`!--with-pymalloc` option to the :program:`configure` script. " +"In 2.3, pymalloc has had further enhancements and is now enabled by default; " +"you'll have to supply :option:`!--without-pymalloc` to disable it." #: ../../whatsnew/2.3.rst:1819 msgid "" @@ -1974,6 +2847,10 @@ msgid "" "their code with pymalloc enabled, because some incorrect code may cause core " "dumps at runtime." msgstr "" +"This change is transparent to code written in Python; however, pymalloc may " +"expose bugs in C extensions. Authors of C extension modules should test " +"their code with pymalloc enabled, because some incorrect code may cause core " +"dumps at runtime." #: ../../whatsnew/2.3.rst:1824 msgid "" @@ -1989,6 +2866,17 @@ msgid "" "included with Python fell afoul of this and had to be fixed; doubtless there " "are more third-party modules that will have the same problem." msgstr "" +"There's one particularly common error that causes problems. There are a " +"number of memory allocation functions in Python's C API that have previously " +"just been aliases for the C library's :c:func:`malloc` and :c:func:`free`, " +"meaning that if you accidentally called mismatched functions the error " +"wouldn't be noticeable. When the object allocator is enabled, these " +"functions aren't aliases of :c:func:`malloc` and :c:func:`free` any more, " +"and calling the wrong function to free memory may get you a core dump. For " +"example, if memory was allocated using :c:func:`PyObject_Malloc`, it has to " +"be freed using :c:func:`PyObject_Free`, not :c:func:`free`. A few modules " +"included with Python fell afoul of this and had to be fixed; doubtless there " +"are more third-party modules that will have the same problem." #: ../../whatsnew/2.3.rst:1836 msgid "" @@ -1998,36 +2886,57 @@ msgid "" "family. There is one family for allocating chunks of memory and another " "family of functions specifically for allocating Python objects." msgstr "" +"As part of this change, the confusing multiple interfaces for allocating " +"memory have been consolidated down into two API families. Memory allocated " +"with one family must not be manipulated with functions from the other " +"family. There is one family for allocating chunks of memory and another " +"family of functions specifically for allocating Python objects." #: ../../whatsnew/2.3.rst:1842 msgid "" "To allocate and free an undistinguished chunk of memory use the \"raw " -"memory\" family: :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc`, and :c:" -"func:`PyMem_Free`." +"memory\" family: :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc`, " +"and :c:func:`PyMem_Free`." msgstr "" +"To allocate and free an undistinguished chunk of memory use the \"raw " +"memory\" family: :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc`, " +"and :c:func:`PyMem_Free`." #: ../../whatsnew/2.3.rst:1845 msgid "" "The \"object memory\" family is the interface to the pymalloc facility " "described above and is biased towards a large number of \"small\" " -"allocations: :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc`, and :c:" -"func:`PyObject_Free`." +"allocations: :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc`, " +"and :c:func:`PyObject_Free`." msgstr "" +"The \"object memory\" family is the interface to the pymalloc facility " +"described above and is biased towards a large number of \"small\" " +"allocations: :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc`, " +"and :c:func:`PyObject_Free`." #: ../../whatsnew/2.3.rst:1849 msgid "" -"To allocate and free Python objects, use the \"object\" family :c:func:" -"`PyObject_New`, :c:func:`PyObject_NewVar`, and :c:func:`PyObject_Del`." +"To allocate and free Python objects, use the \"object\" " +"family :c:macro:`PyObject_New`, :c:macro:`PyObject_NewVar`, " +"and :c:func:`PyObject_Del`." msgstr "" +"To allocate and free Python objects, use the \"object\" " +"family :c:macro:`PyObject_New`, :c:macro:`PyObject_NewVar`, " +"and :c:func:`PyObject_Del`." #: ../../whatsnew/2.3.rst:1852 msgid "" "Thanks to lots of work by Tim Peters, pymalloc in 2.3 also provides " "debugging features to catch memory overwrites and doubled frees in both " "extension modules and in the interpreter itself. To enable this support, " -"compile a debugging version of the Python interpreter by running :program:" -"`configure` with :option:`!--with-pydebug`." +"compile a debugging version of the Python interpreter by " +"running :program:`configure` with :option:`!--with-pydebug`." msgstr "" +"Thanks to lots of work by Tim Peters, pymalloc in 2.3 also provides " +"debugging features to catch memory overwrites and doubled frees in both " +"extension modules and in the interpreter itself. To enable this support, " +"compile a debugging version of the Python interpreter by " +"running :program:`configure` with :option:`!--with-pydebug`." #: ../../whatsnew/2.3.rst:1858 msgid "" @@ -2037,10 +2946,15 @@ msgid "" "version of Python since 1.5.2. You would copy the file from Python's source " "distribution and bundle it with the source of your extension." msgstr "" +"To aid extension writers, a header file :file:`Misc/pymemcompat.h` is " +"distributed with the source to Python 2.3 that allows Python extensions to " +"use the 2.3 interfaces to memory allocation while compiling against any " +"version of Python since 1.5.2. You would copy the file from Python's source " +"distribution and bundle it with the source of your extension." #: ../../whatsnew/2.3.rst:1869 msgid "https://hg.python.org/cpython/file/default/Objects/obmalloc.c" -msgstr "" +msgstr "https://hg.python.org/cpython/file/default/Objects/obmalloc.c" #: ../../whatsnew/2.3.rst:1868 msgid "" @@ -2048,119 +2962,181 @@ msgid "" "top of the file :file:`Objects/obmalloc.c` in the Python source code. The " "above link points to the file within the python.org SVN browser." msgstr "" +"For the full details of the pymalloc implementation, see the comments at the " +"top of the file :file:`Objects/obmalloc.c` in the Python source code. The " +"above link points to the file within the python.org SVN browser." #: ../../whatsnew/2.3.rst:1876 msgid "Build and C API Changes" -msgstr "Alterações a compilações e API C" +msgstr "Mudanças a construções e API C" #: ../../whatsnew/2.3.rst:1878 msgid "Changes to Python's build process and to the C API include:" -msgstr "Changes to Python's build process and to the C API include:" +msgstr "As alterações no processo de construção do Python e na API C incluem:" #: ../../whatsnew/2.3.rst:1880 msgid "" "The cycle detection implementation used by the garbage collection has proven " "to be stable, so it's now been made mandatory. You can no longer compile " -"Python without it, and the :option:`!--with-cycle-gc` switch to :program:" -"`configure` has been removed." +"Python without it, and the :option:`!--with-cycle-gc` switch " +"to :program:`configure` has been removed." msgstr "" +"The cycle detection implementation used by the garbage collection has proven " +"to be stable, so it's now been made mandatory. You can no longer compile " +"Python without it, and the :option:`!--with-cycle-gc` switch " +"to :program:`configure` has been removed." #: ../../whatsnew/2.3.rst:1885 msgid "" -"Python can now optionally be built as a shared library (:file:`libpython2.3." -"so`) by supplying :option:`!--enable-shared` when running Python's :program:" -"`configure` script. (Contributed by Ondrej Palkovsky.)" +"Python can now optionally be built as a shared library " +"(:file:`libpython2.3.so`) by supplying :option:`!--enable-shared` when " +"running Python's :program:`configure` script. (Contributed by Ondrej " +"Palkovsky.)" msgstr "" +"Python can now optionally be built as a shared library " +"(:file:`libpython2.3.so`) by supplying :option:`!--enable-shared` when " +"running Python's :program:`configure` script. (Contributed by Ondrej " +"Palkovsky.)" #: ../../whatsnew/2.3.rst:1889 msgid "" -"The :c:macro:`DL_EXPORT` and :c:macro:`DL_IMPORT` macros are now deprecated. " -"Initialization functions for Python extension modules should now be declared " -"using the new macro :c:macro:`PyMODINIT_FUNC`, while the Python core will " -"generally use the :c:macro:`PyAPI_FUNC` and :c:macro:`PyAPI_DATA` macros." +"The :c:macro:`!DL_EXPORT` and :c:macro:`!DL_IMPORT` macros are now " +"deprecated. Initialization functions for Python extension modules should now " +"be declared using the new macro :c:macro:`PyMODINIT_FUNC`, while the Python " +"core will generally use the :c:macro:`!PyAPI_FUNC` and :c:macro:`!" +"PyAPI_DATA` macros." msgstr "" +"The :c:macro:`!DL_EXPORT` and :c:macro:`!DL_IMPORT` macros are now " +"deprecated. Initialization functions for Python extension modules should now " +"be declared using the new macro :c:macro:`PyMODINIT_FUNC`, while the Python " +"core will generally use the :c:macro:`!PyAPI_FUNC` and :c:macro:`!" +"PyAPI_DATA` macros." #: ../../whatsnew/2.3.rst:1894 msgid "" "The interpreter can be compiled without any docstrings for the built-in " -"functions and modules by supplying :option:`!--without-doc-strings` to the :" -"program:`configure` script. This makes the Python executable about 10% " +"functions and modules by supplying :option:`!--without-doc-strings` to " +"the :program:`configure` script. This makes the Python executable about 10% " "smaller, but will also mean that you can't get help for Python's built-ins. " "(Contributed by Gustavo Niemeyer.)" msgstr "" +"The interpreter can be compiled without any docstrings for the built-in " +"functions and modules by supplying :option:`!--without-doc-strings` to " +"the :program:`configure` script. This makes the Python executable about 10% " +"smaller, but will also mean that you can't get help for Python's built-ins. " +"(Contributed by Gustavo Niemeyer.)" #: ../../whatsnew/2.3.rst:1900 msgid "" -"The :c:func:`PyArg_NoArgs` macro is now deprecated, and code that uses it " +"The :c:func:`!PyArg_NoArgs` macro is now deprecated, and code that uses it " "should be changed. For Python 2.2 and later, the method definition table " -"can specify the :const:`METH_NOARGS` flag, signalling that there are no " +"can specify the :c:macro:`METH_NOARGS` flag, signalling that there are no " "arguments, and the argument checking can then be removed. If compatibility " "with pre-2.2 versions of Python is important, the code could use " "``PyArg_ParseTuple(args, \"\")`` instead, but this will be slower than " -"using :const:`METH_NOARGS`." +"using :c:macro:`METH_NOARGS`." msgstr "" +"The :c:func:`!PyArg_NoArgs` macro is now deprecated, and code that uses it " +"should be changed. For Python 2.2 and later, the method definition table " +"can specify the :c:macro:`METH_NOARGS` flag, signalling that there are no " +"arguments, and the argument checking can then be removed. If compatibility " +"with pre-2.2 versions of Python is important, the code could use " +"``PyArg_ParseTuple(args, \"\")`` instead, but this will be slower than " +"using :c:macro:`METH_NOARGS`." #: ../../whatsnew/2.3.rst:1907 msgid "" ":c:func:`PyArg_ParseTuple` accepts new format characters for various sizes " -"of unsigned integers: ``B`` for :c:expr:`unsigned char`, ``H`` for :c:expr:" -"`unsigned short int`, ``I`` for :c:expr:`unsigned int`, and ``K`` for :c:" -"expr:`unsigned long long`." +"of unsigned integers: ``B`` for :c:expr:`unsigned char`, ``H`` " +"for :c:expr:`unsigned short int`, ``I`` for :c:expr:`unsigned int`, and " +"``K`` for :c:expr:`unsigned long long`." msgstr "" +":c:func:`PyArg_ParseTuple` accepts new format characters for various sizes " +"of unsigned integers: ``B`` for :c:expr:`unsigned char`, ``H`` " +"for :c:expr:`unsigned short int`, ``I`` for :c:expr:`unsigned int`, and " +"``K`` for :c:expr:`unsigned long long`." #: ../../whatsnew/2.3.rst:1912 msgid "" "A new function, ``PyObject_DelItemString(mapping, char *key)`` was added as " "shorthand for ``PyObject_DelItem(mapping, PyString_New(key))``." msgstr "" +"A new function, ``PyObject_DelItemString(mapping, char *key)`` was added as " +"shorthand for ``PyObject_DelItem(mapping, PyString_New(key))``." #: ../../whatsnew/2.3.rst:1915 msgid "" "File objects now manage their internal string buffer differently, increasing " -"it exponentially when needed. This results in the benchmark tests in :file:" -"`Lib/test/test_bufio.py` speeding up considerably (from 57 seconds to 1.7 " -"seconds, according to one measurement)." +"it exponentially when needed. This results in the benchmark tests " +"in :file:`Lib/test/test_bufio.py` speeding up considerably (from 57 seconds " +"to 1.7 seconds, according to one measurement)." msgstr "" +"File objects now manage their internal string buffer differently, increasing " +"it exponentially when needed. This results in the benchmark tests " +"in :file:`Lib/test/test_bufio.py` speeding up considerably (from 57 seconds " +"to 1.7 seconds, according to one measurement)." #: ../../whatsnew/2.3.rst:1920 msgid "" "It's now possible to define class and static methods for a C extension type " -"by setting either the :const:`METH_CLASS` or :const:`METH_STATIC` flags in a " -"method's :c:type:`PyMethodDef` structure." +"by setting either the :c:macro:`METH_CLASS` or :c:macro:`METH_STATIC` flags " +"in a method's :c:type:`PyMethodDef` structure." msgstr "" +"It's now possible to define class and static methods for a C extension type " +"by setting either the :c:macro:`METH_CLASS` or :c:macro:`METH_STATIC` flags " +"in a method's :c:type:`PyMethodDef` structure." #: ../../whatsnew/2.3.rst:1924 msgid "" "Python now includes a copy of the Expat XML parser's source code, removing " "any dependence on a system version or local installation of Expat." msgstr "" +"Python now includes a copy of the Expat XML parser's source code, removing " +"any dependence on a system version or local installation of Expat." #: ../../whatsnew/2.3.rst:1927 msgid "" "If you dynamically allocate type objects in your extension, you should be " -"aware of a change in the rules relating to the :attr:`__module__` and :attr:" -"`~definition.__name__` attributes. In summary, you will want to ensure the " -"type's dictionary contains a ``'__module__'`` key; making the module name " -"the part of the type name leading up to the final period will no longer have " -"the desired effect. For more detail, read the API reference documentation " -"or the source." +"aware of a change in the rules relating to the :attr:`!__module__` " +"and :attr:`~definition.__name__` attributes. In summary, you will want to " +"ensure the type's dictionary contains a ``'__module__'`` key; making the " +"module name the part of the type name leading up to the final period will no " +"longer have the desired effect. For more detail, read the API reference " +"documentation or the source." msgstr "" +"If you dynamically allocate type objects in your extension, you should be " +"aware of a change in the rules relating to the :attr:`!__module__` " +"and :attr:`~definition.__name__` attributes. In summary, you will want to " +"ensure the type's dictionary contains a ``'__module__'`` key; making the " +"module name the part of the type name leading up to the final period will no " +"longer have the desired effect. For more detail, read the API reference " +"documentation or the source." #: ../../whatsnew/2.3.rst:1938 msgid "Port-Specific Changes" -msgstr "" +msgstr "Port-Specific Changes" #: ../../whatsnew/2.3.rst:1940 msgid "" "Support for a port to IBM's OS/2 using the EMX runtime environment was " "merged into the main Python source tree. EMX is a POSIX emulation layer " "over the OS/2 system APIs. The Python port for EMX tries to support all the " -"POSIX-like capability exposed by the EMX runtime, and mostly succeeds; :func:" -"`fork` and :func:`fcntl` are restricted by the limitations of the underlying " -"emulation layer. The standard OS/2 port, which uses IBM's Visual Age " -"compiler, also gained support for case-sensitive import semantics as part of " -"the integration of the EMX port into CVS. (Contributed by Andrew MacIntyre.)" +"POSIX-like capability exposed by the EMX runtime, and mostly " +"succeeds; :func:`!fork` and :func:`fcntl` are restricted by the limitations " +"of the underlying emulation layer. The standard OS/2 port, which uses IBM's " +"Visual Age compiler, also gained support for case-sensitive import semantics " +"as part of the integration of the EMX port into CVS. (Contributed by Andrew " +"MacIntyre.)" msgstr "" +"Support for a port to IBM's OS/2 using the EMX runtime environment was " +"merged into the main Python source tree. EMX is a POSIX emulation layer " +"over the OS/2 system APIs. The Python port for EMX tries to support all the " +"POSIX-like capability exposed by the EMX runtime, and mostly " +"succeeds; :func:`!fork` and :func:`fcntl` are restricted by the limitations " +"of the underlying emulation layer. The standard OS/2 port, which uses IBM's " +"Visual Age compiler, also gained support for case-sensitive import semantics " +"as part of the integration of the EMX port into CVS. (Contributed by Andrew " +"MacIntyre.)" #: ../../whatsnew/2.3.rst:1949 msgid "" @@ -2169,6 +3145,10 @@ msgid "" "single routine is missing on the current OS version. Instead calling the " "missing routine will raise an exception. (Contributed by Jack Jansen.)" msgstr "" +"On MacOS, most toolbox modules have been weaklinked to improve backward " +"compatibility. This means that modules will no longer fail to load if a " +"single routine is missing on the current OS version. Instead calling the " +"missing routine will raise an exception. (Contributed by Jack Jansen.)" #: ../../whatsnew/2.3.rst:1954 msgid "" @@ -2176,16 +3156,21 @@ msgid "" "source distribution, were updated for 2.3. (Contributed by Sean " "Reifschneider.)" msgstr "" +"The RPM spec files, found in the :file:`Misc/RPM/` directory in the Python " +"source distribution, were updated for 2.3. (Contributed by Sean " +"Reifschneider.)" #: ../../whatsnew/2.3.rst:1957 msgid "" -"Other new platforms now supported by Python include AtheOS (http://www." -"atheos.cx/), GNU/Hurd, and OpenVMS." +"Other new platforms now supported by Python include AtheOS (http://" +"www.atheos.cx/), GNU/Hurd, and OpenVMS." msgstr "" +"Other new platforms now supported by Python include AtheOS (http://" +"www.atheos.cx/), GNU/Hurd, and OpenVMS." #: ../../whatsnew/2.3.rst:1966 msgid "Other Changes and Fixes" -msgstr "Other Changes and Fixes" +msgstr "Outras alterações e correções" #: ../../whatsnew/2.3.rst:1968 msgid "" @@ -2194,10 +3179,14 @@ msgid "" "there were 523 patches applied and 514 bugs fixed between Python 2.2 and " "2.3. Both figures are likely to be underestimates." msgstr "" +"As usual, there were a bunch of other improvements and bugfixes scattered " +"throughout the source tree. A search through the CVS change logs finds " +"there were 523 patches applied and 514 bugs fixed between Python 2.2 and " +"2.3. Both figures are likely to be underestimates." #: ../../whatsnew/2.3.rst:1973 msgid "Some of the more notable changes are:" -msgstr "" +msgstr "Some of the more notable changes are:" #: ../../whatsnew/2.3.rst:1975 msgid "" @@ -2207,6 +3196,11 @@ msgid "" "environment variable can be set before running the Python interpreter, or it " "can be set by the Python program as part of its execution." msgstr "" +"If the :envvar:`PYTHONINSPECT` environment variable is set, the Python " +"interpreter will enter the interactive prompt after running a Python " +"program, as if Python had been invoked with the :option:`-i` option. The " +"environment variable can be set before running the Python interpreter, or it " +"can be set by the Python program as part of its execution." #: ../../whatsnew/2.3.rst:1981 msgid "" @@ -2216,12 +3210,19 @@ msgid "" "example, the option '``-uall,-bsddb``' could be used to enable the use of " "all resources except ``bsddb``." msgstr "" +"The :file:`regrtest.py` script now provides a way to allow \"all resources " +"except *foo*.\" A resource name passed to the :option:`!-u` option can now " +"be prefixed with a hyphen (``'-'``) to mean \"remove this resource.\" For " +"example, the option '``-uall,-bsddb``' could be used to enable the use of " +"all resources except ``bsddb``." #: ../../whatsnew/2.3.rst:1987 msgid "" "The tools used to build the documentation now work under Cygwin as well as " "Unix." msgstr "" +"The tools used to build the documentation now work under Cygwin as well as " +"Unix." #: ../../whatsnew/2.3.rst:1990 msgid "" @@ -2233,50 +3234,75 @@ msgid "" "to determine when to call the trace function, removing the need for " "``SET_LINENO`` entirely." msgstr "" +"The ``SET_LINENO`` opcode has been removed. Back in the mists of time, this " +"opcode was needed to produce line numbers in tracebacks and support trace " +"functions (for, e.g., :mod:`pdb`). Since Python 1.5, the line numbers in " +"tracebacks have been computed using a different mechanism that works with " +"\"python -O\". For Python 2.3 Michael Hudson implemented a similar scheme " +"to determine when to call the trace function, removing the need for " +"``SET_LINENO`` entirely." #: ../../whatsnew/2.3.rst:1998 msgid "" "It would be difficult to detect any resulting difference from Python code, " "apart from a slight speed up when Python is run without :option:`-O`." msgstr "" +"It would be difficult to detect any resulting difference from Python code, " +"apart from a slight speed up when Python is run without :option:`-O`." #: ../../whatsnew/2.3.rst:2001 msgid "" -"C extensions that access the :attr:`f_lineno` field of frame objects should " -"instead call ``PyCode_Addr2Line(f->f_code, f->f_lasti)``. This will have the " -"added effect of making the code work as desired under \"python -O\" in " -"earlier versions of Python." +"C extensions that access the :attr:`~frame.f_lineno` field of frame objects " +"should instead call ``PyCode_Addr2Line(f->f_code, f->f_lasti)``. This will " +"have the added effect of making the code work as desired under \"python -O\" " +"in earlier versions of Python." msgstr "" +"C extensions that access the :attr:`~frame.f_lineno` field of frame objects " +"should instead call ``PyCode_Addr2Line(f->f_code, f->f_lasti)``. This will " +"have the added effect of making the code work as desired under \"python -O\" " +"in earlier versions of Python." #: ../../whatsnew/2.3.rst:2006 msgid "" -"A nifty new feature is that trace functions can now assign to the :attr:" -"`f_lineno` attribute of frame objects, changing the line that will be " -"executed next. A ``jump`` command has been added to the :mod:`pdb` debugger " -"taking advantage of this new feature. (Implemented by Richie Hindle.)" +"A nifty new feature is that trace functions can now assign to " +"the :attr:`~frame.f_lineno` attribute of frame objects, changing the line " +"that will be executed next. A ``jump`` command has been added to " +"the :mod:`pdb` debugger taking advantage of this new feature. (Implemented " +"by Richie Hindle.)" msgstr "" +"A nifty new feature is that trace functions can now assign to " +"the :attr:`~frame.f_lineno` attribute of frame objects, changing the line " +"that will be executed next. A ``jump`` command has been added to " +"the :mod:`pdb` debugger taking advantage of this new feature. (Implemented " +"by Richie Hindle.)" #: ../../whatsnew/2.3.rst:2015 msgid "Porting to Python 2.3" -msgstr "" +msgstr "Porting to Python 2.3" #: ../../whatsnew/2.3.rst:2017 msgid "" "This section lists previously described changes that may require changes to " "your code:" msgstr "" +"This section lists previously described changes that may require changes to " +"your code:" #: ../../whatsnew/2.3.rst:2020 msgid "" ":keyword:`yield` is now always a keyword; if it's used as a variable name in " "your code, a different name must be chosen." msgstr "" +":keyword:`yield` is now always a keyword; if it's used as a variable name in " +"your code, a different name must be chosen." #: ../../whatsnew/2.3.rst:2023 msgid "" "For strings *X* and *Y*, ``X in Y`` now works if *X* is more than one " "character long." msgstr "" +"For strings *X* and *Y*, ``X in Y`` now works if *X* is more than one " +"character long." #: ../../whatsnew/2.3.rst:2026 msgid "" @@ -2284,6 +3310,9 @@ msgid "" "raising an :exc:`OverflowError` when a string or floating-point number is " "too large to fit into an integer." msgstr "" +"The :func:`int` type constructor will now return a long integer instead of " +"raising an :exc:`OverflowError` when a string or floating-point number is " +"too large to fit into an integer." #: ../../whatsnew/2.3.rst:2030 msgid "" @@ -2291,21 +3320,33 @@ msgid "" "the file's encoding (UTF-8, Latin-1, or whatever) by adding a comment to the " "top of the file. See section :ref:`section-encodings` for more information." msgstr "" +"If you have Unicode strings that contain 8-bit characters, you must declare " +"the file's encoding (UTF-8, Latin-1, or whatever) by adding a comment to the " +"top of the file. See section :ref:`section-encodings` for more information." #: ../../whatsnew/2.3.rst:2034 msgid "" -"Calling Tcl methods through :mod:`_tkinter` no longer returns only strings. " -"Instead, if Tcl returns other objects those objects are converted to their " -"Python equivalent, if one exists, or wrapped with a :class:`_tkinter." -"Tcl_Obj` object if no Python equivalent exists." +"Calling Tcl methods through :mod:`!_tkinter` no longer returns only " +"strings. Instead, if Tcl returns other objects those objects are converted " +"to their Python equivalent, if one exists, or wrapped with a :class:`!" +"_tkinter.Tcl_Obj` object if no Python equivalent exists." msgstr "" +"Calling Tcl methods through :mod:`!_tkinter` no longer returns only " +"strings. Instead, if Tcl returns other objects those objects are converted " +"to their Python equivalent, if one exists, or wrapped with a :class:`!" +"_tkinter.Tcl_Obj` object if no Python equivalent exists." #: ../../whatsnew/2.3.rst:2039 msgid "" -"Large octal and hex literals such as ``0xffffffff`` now trigger a :exc:" -"`FutureWarning`. Currently they're stored as 32-bit numbers and result in a " -"negative value, but in Python 2.4 they'll become positive long integers." +"Large octal and hex literals such as ``0xffffffff`` now trigger " +"a :exc:`FutureWarning`. Currently they're stored as 32-bit numbers and " +"result in a negative value, but in Python 2.4 they'll become positive long " +"integers." msgstr "" +"Large octal and hex literals such as ``0xffffffff`` now trigger " +"a :exc:`FutureWarning`. Currently they're stored as 32-bit numbers and " +"result in a negative value, but in Python 2.4 they'll become positive long " +"integers." #: ../../whatsnew/2.3.rst:2043 msgid "" @@ -2316,31 +3357,46 @@ msgid "" "bits set and clear the desired upper bits. For example, to clear just the " "top bit (bit 31), you could write ``0xffffffffL &~(1L<<31)``." msgstr "" +"There are a few ways to fix this warning. If you really need a positive " +"number, just add an ``L`` to the end of the literal. If you're trying to " +"get a 32-bit integer with low bits set and have previously used an " +"expression such as ``~(1 << 31)``, it's probably clearest to start with all " +"bits set and clear the desired upper bits. For example, to clear just the " +"top bit (bit 31), you could write ``0xffffffffL &~(1L<<31)``." #: ../../whatsnew/2.3.rst:2050 msgid "You can no longer disable assertions by assigning to ``__debug__``." -msgstr "" +msgstr "You can no longer disable assertions by assigning to ``__debug__``." #: ../../whatsnew/2.3.rst:2052 msgid "" -"The Distutils :func:`setup` function has gained various new keyword " +"The Distutils :func:`!setup` function has gained various new keyword " "arguments such as *depends*. Old versions of the Distutils will abort if " "passed unknown keywords. A solution is to check for the presence of the " -"new :func:`get_distutil_options` function in your :file:`setup.py` and only " +"new :func:`!get_distutil_options` function in your :file:`setup.py` and only " "uses the new keywords with a version of the Distutils that supports them::" msgstr "" +"The Distutils :func:`!setup` function has gained various new keyword " +"arguments such as *depends*. Old versions of the Distutils will abort if " +"passed unknown keywords. A solution is to check for the presence of the " +"new :func:`!get_distutil_options` function in your :file:`setup.py` and only " +"uses the new keywords with a version of the Distutils that supports them::" #: ../../whatsnew/2.3.rst:2065 msgid "" "Using ``None`` as a variable name will now result in a :exc:`SyntaxWarning` " "warning." msgstr "" +"Using ``None`` as a variable name will now result in a :exc:`SyntaxWarning` " +"warning." #: ../../whatsnew/2.3.rst:2068 msgid "" "Names of extension types defined by the modules included with Python now " "contain the module and a ``'.'`` in front of the type name." msgstr "" +"Names of extension types defined by the modules included with Python now " +"contain the module and a ``'.'`` in front of the type name." #: ../../whatsnew/2.3.rst:2077 msgid "Acknowledgements" @@ -2357,6 +3413,14 @@ msgid "" "Norwitz, Hans Nowak, Chris Reedy, Francesco Ricciardi, Vinay Sajip, Neil " "Schemenauer, Roman Suzi, Jason Tishler, Just van Rossum." msgstr "" +"The author would like to thank the following people for offering " +"suggestions, corrections and assistance with various drafts of this article: " +"Jeff Bauer, Simon Brunning, Brett Cannon, Michael Chermside, Andrew Dalke, " +"Scott David Daniels, Fred L. Drake, Jr., David Fraser, Kelly Gerber, " +"Raymond Hettinger, Michael Hudson, Chris Lambert, Detlef Lannert, Martin von " +"Löwis, Andrew MacIntyre, Lalo Martins, Chad Netzer, Gustavo Niemeyer, Neal " +"Norwitz, Hans Nowak, Chris Reedy, Francesco Ricciardi, Vinay Sajip, Neil " +"Schemenauer, Roman Suzi, Jason Tishler, Just van Rossum." #: ../../whatsnew/2.3.rst:371 msgid "universal newlines" @@ -2364,4 +3428,4 @@ msgstr "novas linhas universais" #: ../../whatsnew/2.3.rst:371 msgid "What's new" -msgstr "" +msgstr "What's new" diff --git a/whatsnew/2.4.po b/whatsnew/2.4.po index 815f49aa0..45493f079 100644 --- a/whatsnew/2.4.po +++ b/whatsnew/2.4.po @@ -1,34 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Victor Matheus Castro , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/2.4.rst:3 msgid "What's New in Python 2.4" -msgstr "O que há de novo no Python 2.4" +msgstr "What's New in Python 2.4" #: ../../whatsnew/2.4.rst:0 msgid "Author" @@ -43,6 +40,8 @@ msgid "" "This article explains the new features in Python 2.4.1, released on March " "30, 2005." msgstr "" +"This article explains the new features in Python 2.4.1, released on March " +"30, 2005." #: ../../whatsnew/2.4.rst:17 msgid "" @@ -52,6 +51,11 @@ msgid "" "function decorators and generator expressions; most other changes are to the " "standard library." msgstr "" +"Python 2.4 is a medium-sized release. It doesn't introduce as many changes " +"as the radical Python 2.2, but introduces more features than the " +"conservative 2.3 release. The most significant new language features are " +"function decorators and generator expressions; most other changes are to the " +"standard library." #: ../../whatsnew/2.4.rst:22 msgid "" @@ -59,6 +63,9 @@ msgid "" "bugs fixed between Python 2.3 and 2.4. Both figures are likely to be " "underestimates." msgstr "" +"According to the CVS change logs, there were 481 patches applied and 502 " +"bugs fixed between Python 2.3 and 2.4. Both figures are likely to be " +"underestimates." #: ../../whatsnew/2.4.rst:25 msgid "" @@ -69,10 +76,16 @@ msgid "" "Often you will be referred to the PEP for a particular new feature for " "explanations of the implementation and design rationale." msgstr "" +"This article doesn't attempt to provide a complete specification of every " +"single new feature, but instead provides a brief introduction to each " +"feature. For full details, you should refer to the documentation for Python " +"2.4, such as the Python Library Reference and the Python Reference Manual. " +"Often you will be referred to the PEP for a particular new feature for " +"explanations of the implementation and design rationale." #: ../../whatsnew/2.4.rst:36 msgid "PEP 218: Built-In Set Objects" -msgstr "" +msgstr "PEP 218: Built-In Set Objects" #: ../../whatsnew/2.4.rst:38 msgid "" @@ -83,6 +96,12 @@ msgid "" "sequences, and for mathematical operations like unions, intersections, " "differences, and symmetric differences. ::" msgstr "" +"Python 2.3 introduced the :mod:`sets` module. C implementations of set data " +"types have now been added to the Python core as two new built-in types, " +"``set(iterable)`` and ``frozenset(iterable)``. They provide high speed " +"operations for membership testing, for eliminating duplicates from " +"sequences, and for mathematical operations like unions, intersections, " +"differences, and symmetric differences. ::" #: ../../whatsnew/2.4.rst:71 msgid "" @@ -90,6 +109,9 @@ msgid "" "is immutable and hashable, it may be used as a dictionary key or as a member " "of another set." msgstr "" +"The :func:`frozenset` type is an immutable version of :func:`set`. Since it " +"is immutable and hashable, it may be used as a dictionary key or as a member " +"of another set." #: ../../whatsnew/2.4.rst:75 msgid "" @@ -97,30 +119,43 @@ msgid "" "you wish to subclass the :class:`Set` or :class:`ImmutableSet` classes. " "There are currently no plans to deprecate the module." msgstr "" +"The :mod:`sets` module remains in the standard library, and may be useful if " +"you wish to subclass the :class:`Set` or :class:`ImmutableSet` classes. " +"There are currently no plans to deprecate the module." #: ../../whatsnew/2.4.rst:83 msgid ":pep:`218` - Adding a Built-In Set Object Type" -msgstr "" +msgstr ":pep:`218` - Adding a Built-In Set Object Type" #: ../../whatsnew/2.4.rst:83 msgid "" "Originally proposed by Greg Wilson and ultimately implemented by Raymond " "Hettinger." msgstr "" +"Originally proposed by Greg Wilson and ultimately implemented by Raymond " +"Hettinger." #: ../../whatsnew/2.4.rst:90 msgid "PEP 237: Unifying Long Integers and Integers" -msgstr "PEP 237: Unificando inteiros longos e inteiros" +msgstr "PEP 237: Unifying Long Integers and Integers" #: ../../whatsnew/2.4.rst:92 msgid "" "The lengthy transition process for this PEP, begun in Python 2.2, takes " "another step forward in Python 2.4. In 2.3, certain integer operations that " -"would behave differently after int/long unification triggered :exc:" -"`FutureWarning` warnings and returned values limited to 32 or 64 bits " -"(depending on your platform). In 2.4, these expressions no longer produce a " -"warning and instead produce a different result that's usually a long integer." +"would behave differently after int/long unification " +"triggered :exc:`FutureWarning` warnings and returned values limited to 32 or " +"64 bits (depending on your platform). In 2.4, these expressions no longer " +"produce a warning and instead produce a different result that's usually a " +"long integer." msgstr "" +"The lengthy transition process for this PEP, begun in Python 2.2, takes " +"another step forward in Python 2.4. In 2.3, certain integer operations that " +"would behave differently after int/long unification " +"triggered :exc:`FutureWarning` warnings and returned values limited to 32 or " +"64 bits (depending on your platform). In 2.4, these expressions no longer " +"produce a warning and instead produce a different result that's usually a " +"long integer." #: ../../whatsnew/2.4.rst:99 msgid "" @@ -129,20 +164,26 @@ msgid "" "warning in 2.3, evaluating to 0 on 32-bit platforms. In Python 2.4, this " "expression now returns the correct answer, 8589934592." msgstr "" +"The problematic expressions are primarily left shifts and lengthy " +"hexadecimal and octal constants. For example, ``2 << 32`` results in a " +"warning in 2.3, evaluating to 0 on 32-bit platforms. In Python 2.4, this " +"expression now returns the correct answer, 8589934592." #: ../../whatsnew/2.4.rst:108 msgid ":pep:`237` - Unifying Long Integers and Integers" -msgstr ":pep:`237` - Unificando inteiros longos e inteiros" +msgstr ":pep:`237` - Unifying Long Integers and Integers" #: ../../whatsnew/2.4.rst:108 msgid "" "Original PEP written by Moshe Zadka and GvR. The changes for 2.4 were " "implemented by Kalle Svensson." msgstr "" +"Original PEP written by Moshe Zadka and GvR. The changes for 2.4 were " +"implemented by Kalle Svensson." #: ../../whatsnew/2.4.rst:115 msgid "PEP 289: Generator Expressions" -msgstr "" +msgstr "PEP 289: Generator Expressions" #: ../../whatsnew/2.4.rst:117 msgid "" @@ -155,10 +196,18 @@ msgid "" "large. When trying to write a functionally styled program, it would be " "natural to write something like::" msgstr "" +"The iterator feature introduced in Python 2.2 and the :mod:`itertools` " +"module make it easier to write programs that loop through large data sets " +"without having the entire data set in memory at one time. List " +"comprehensions don't fit into this picture very well because they produce a " +"Python list object containing all of the items. This unavoidably pulls all " +"of the objects into memory, which can be a problem if your data set is very " +"large. When trying to write a functionally styled program, it would be " +"natural to write something like::" #: ../../whatsnew/2.4.rst:129 msgid "instead of ::" -msgstr "" +msgstr "instead of ::" #: ../../whatsnew/2.4.rst:136 msgid "" @@ -166,6 +215,9 @@ msgid "" "dealing with a large number of link objects you'd have to write the second " "form to avoid having all link objects in memory at the same time." msgstr "" +"The first form is more concise and perhaps more readable, but if you're " +"dealing with a large number of link objects you'd have to write the second " +"form to avoid having all link objects in memory at the same time." #: ../../whatsnew/2.4.rst:140 msgid "" @@ -173,6 +225,9 @@ msgid "" "materialize the entire list; instead they create a generator that will " "return elements one by one. The above example could be written as::" msgstr "" +"Generator expressions work similarly to list comprehensions but don't " +"materialize the entire list; instead they create a generator that will " +"return elements one by one. The above example could be written as::" #: ../../whatsnew/2.4.rst:148 msgid "" @@ -181,6 +236,10 @@ msgid "" "so if you want to create an iterator that will be immediately passed to a " "function you could write::" msgstr "" +"Generator expressions always have to be written inside parentheses, as in " +"the above example. The parentheses signalling a function call also count, " +"so if you want to create an iterator that will be immediately passed to a " +"function you could write::" #: ../../whatsnew/2.4.rst:155 msgid "" @@ -191,20 +250,28 @@ msgid "" "change this, making list comprehensions match generator expressions in this " "respect." msgstr "" +"Generator expressions differ from list comprehensions in various small ways. " +"Most notably, the loop variable (*obj* in the above example) is not " +"accessible outside of the generator expression. List comprehensions leave " +"the variable assigned to its last value; future versions of Python will " +"change this, making list comprehensions match generator expressions in this " +"respect." #: ../../whatsnew/2.4.rst:165 msgid ":pep:`289` - Generator Expressions" -msgstr "" +msgstr ":pep:`289` - Generator Expressions" #: ../../whatsnew/2.4.rst:165 msgid "" "Proposed by Raymond Hettinger and implemented by Jiwon Seo with early " "efforts steered by Hye-Shik Chang." msgstr "" +"Proposed by Raymond Hettinger and implemented by Jiwon Seo with early " +"efforts steered by Hye-Shik Chang." #: ../../whatsnew/2.4.rst:172 msgid "PEP 292: Simpler String Substitutions" -msgstr "" +msgstr "PEP 292: Simpler String Substitutions" #: ../../whatsnew/2.4.rst:174 msgid "" @@ -212,10 +279,14 @@ msgid "" "for substituting variables into strings; this style of substitution may be " "better for applications where untrained users need to edit templates." msgstr "" +"Some new classes in the standard library provide an alternative mechanism " +"for substituting variables into strings; this style of substitution may be " +"better for applications where untrained users need to edit templates." #: ../../whatsnew/2.4.rst:178 msgid "The usual way of substituting variables by name is the ``%`` operator::" msgstr "" +"The usual way of substituting variables by name is the ``%`` operator::" #: ../../whatsnew/2.4.rst:183 msgid "" @@ -229,12 +300,23 @@ msgid "" "users, and if they make a mistake, it's difficult to provide helpful " "feedback to them." msgstr "" +"When writing the template string, it can be easy to forget the ``i`` or " +"``s`` after the closing parenthesis. This isn't a big problem if the " +"template is in a Python module, because you run the code, get an " +"\"Unsupported format character\" :exc:`ValueError`, and fix the problem. " +"However, consider an application such as Mailman where template strings or " +"translations are being edited by users who aren't aware of the Python " +"language. The format string's syntax is complicated to explain to such " +"users, and if they make a mistake, it's difficult to provide helpful " +"feedback to them." #: ../../whatsnew/2.4.rst:192 msgid "" "PEP 292 adds a :class:`Template` class to the :mod:`string` module that uses " "``$`` to indicate a substitution::" msgstr "" +"PEP 292 adds a :class:`Template` class to the :mod:`string` module that uses " +"``$`` to indicate a substitution::" #: ../../whatsnew/2.4.rst:200 msgid "" @@ -242,34 +324,45 @@ msgid "" "raise a :exc:`KeyError`. There's also a :meth:`safe_substitute` method that " "ignores missing keys::" msgstr "" +"If a key is missing from the dictionary, the :meth:`substitute` method will " +"raise a :exc:`KeyError`. There's also a :meth:`safe_substitute` method that " +"ignores missing keys::" #: ../../whatsnew/2.4.rst:211 msgid ":pep:`292` - Simpler String Substitutions" -msgstr "" +msgstr ":pep:`292` - Simpler String Substitutions" #: ../../whatsnew/2.4.rst:212 msgid "Written and implemented by Barry Warsaw." -msgstr "" +msgstr "Written and implemented by Barry Warsaw." #: ../../whatsnew/2.4.rst:218 msgid "PEP 318: Decorators for Functions and Methods" -msgstr "" +msgstr "PEP 318: Decorators for Functions and Methods" #: ../../whatsnew/2.4.rst:220 msgid "" "Python 2.2 extended Python's object model by adding static methods and class " "methods, but it didn't extend Python's syntax to provide any new way of " -"defining static or class methods. Instead, you had to write a :keyword:" -"`def` statement in the usual way, and pass the resulting method to a :func:" -"`staticmethod` or :func:`classmethod` function that would wrap up the " -"function as a method of the new type. Your code would look like this::" +"defining static or class methods. Instead, you had to write " +"a :keyword:`def` statement in the usual way, and pass the resulting method " +"to a :func:`staticmethod` or :func:`classmethod` function that would wrap up " +"the function as a method of the new type. Your code would look like this::" msgstr "" +"Python 2.2 extended Python's object model by adding static methods and class " +"methods, but it didn't extend Python's syntax to provide any new way of " +"defining static or class methods. Instead, you had to write " +"a :keyword:`def` statement in the usual way, and pass the resulting method " +"to a :func:`staticmethod` or :func:`classmethod` function that would wrap up " +"the function as a method of the new type. Your code would look like this::" #: ../../whatsnew/2.4.rst:233 msgid "" -"If the method was very long, it would be easy to miss or forget the :func:" -"`classmethod` invocation after the function body." +"If the method was very long, it would be easy to miss or forget " +"the :func:`classmethod` invocation after the function body." msgstr "" +"If the method was very long, it would be easy to miss or forget " +"the :func:`classmethod` invocation after the function body." #: ../../whatsnew/2.4.rst:236 msgid "" @@ -279,6 +372,11 @@ msgid "" "access to the feature; a new syntactic feature has been added to meet this " "need." msgstr "" +"The intention was always to add some syntax to make such definitions more " +"readable, but at the time of 2.2's release a good syntax was not obvious. " +"Today a good syntax *still* isn't obvious but users are asking for easier " +"access to the feature; a new syntactic feature has been added to meet this " +"need." #: ../../whatsnew/2.4.rst:241 msgid "" @@ -287,22 +385,30 @@ msgid "" "additional information on a function object; they're *decorating* functions " "with more details." msgstr "" +"The new feature is called \"function decorators\". The name comes from the " +"idea that :func:`classmethod`, :func:`staticmethod`, and friends are storing " +"additional information on a function object; they're *decorating* functions " +"with more details." #: ../../whatsnew/2.4.rst:246 msgid "" "The notation borrows from Java and uses the ``'@'`` character as an " "indicator. Using the new syntax, the example above would be written::" msgstr "" +"The notation borrows from Java and uses the ``'@'`` character as an " +"indicator. Using the new syntax, the example above would be written::" #: ../../whatsnew/2.4.rst:256 msgid "" "The ``@classmethod`` is shorthand for the ``meth=classmethod(meth)`` " "assignment. More generally, if you have the following::" msgstr "" +"The ``@classmethod`` is shorthand for the ``meth=classmethod(meth)`` " +"assignment. More generally, if you have the following::" #: ../../whatsnew/2.4.rst:265 msgid "It's equivalent to the following pre-decorator code::" -msgstr "" +msgstr "It's equivalent to the following pre-decorator code::" #: ../../whatsnew/2.4.rst:270 msgid "" @@ -312,6 +418,11 @@ msgid "" "either at the module level or inside a class; you can't decorate class " "definitions." msgstr "" +"Decorators must come on the line before a function definition, one decorator " +"per line, and can't be on the same line as the def statement, meaning that " +"``@A def f(): ...`` is illegal. You can only decorate function definitions, " +"either at the module level or inside a class; you can't decorate class " +"definitions." #: ../../whatsnew/2.4.rst:275 msgid "" @@ -322,18 +433,28 @@ msgid "" "your own decorators. The following simple example just sets an attribute on " "the function object::" msgstr "" +"A decorator is just a function that takes the function to be decorated as an " +"argument and returns either the same function or some new object. The " +"return value of the decorator need not be callable (though it typically is), " +"unless further decorators will be applied to the result. It's easy to write " +"your own decorators. The following simple example just sets an attribute on " +"the function object::" #: ../../whatsnew/2.4.rst:295 msgid "" "As a slightly more realistic example, the following decorator checks that " "the supplied argument is an integer::" msgstr "" +"As a slightly more realistic example, the following decorator checks that " +"the supplied argument is an integer::" #: ../../whatsnew/2.4.rst:313 msgid "" "An example in :pep:`318` contains a fancier version of this idea that lets " "you both specify the required type and check the returned type." msgstr "" +"An example in :pep:`318` contains a fancier version of this idea that lets " +"you both specify the required type and check the returned type." #: ../../whatsnew/2.4.rst:316 msgid "" @@ -343,187 +464,255 @@ msgid "" "function, as previously described. In other words, ``@A @B @C(args)`` " "becomes::" msgstr "" +"Decorator functions can take arguments. If arguments are supplied, your " +"decorator function is called with only those arguments and must return a new " +"decorator function; this function must take a single function and return a " +"function, as previously described. In other words, ``@A @B @C(args)`` " +"becomes::" #: ../../whatsnew/2.4.rst:325 msgid "" "Getting this right can be slightly brain-bending, but it's not too difficult." msgstr "" +"Getting this right can be slightly brain-bending, but it's not too difficult." #: ../../whatsnew/2.4.rst:327 msgid "" -"A small related change makes the :attr:`func_name` attribute of functions " -"writable. This attribute is used to display function names in tracebacks, " -"so decorators should change the name of any new function that's constructed " -"and returned." +"A small related change makes the :attr:`func_name ` " +"attribute of functions writable. This attribute is used to display function " +"names in tracebacks, so decorators should change the name of any new " +"function that's constructed and returned." msgstr "" +"A small related change makes the :attr:`func_name ` " +"attribute of functions writable. This attribute is used to display function " +"names in tracebacks, so decorators should change the name of any new " +"function that's constructed and returned." -#: ../../whatsnew/2.4.rst:338 +#: ../../whatsnew/2.4.rst:339 msgid ":pep:`318` - Decorators for Functions, Methods and Classes" -msgstr "" +msgstr ":pep:`318` - Decorators for Functions, Methods and Classes" -#: ../../whatsnew/2.4.rst:336 +#: ../../whatsnew/2.4.rst:337 msgid "" "Written by Kevin D. Smith, Jim Jewett, and Skip Montanaro. Several people " "wrote patches implementing function decorators, but the one that was " "actually checked in was patch #979728, written by Mark Russell." msgstr "" +"Written by Kevin D. Smith, Jim Jewett, and Skip Montanaro. Several people " +"wrote patches implementing function decorators, but the one that was " +"actually checked in was patch #979728, written by Mark Russell." -#: ../../whatsnew/2.4.rst:340 +#: ../../whatsnew/2.4.rst:341 msgid "https://wiki.python.org/moin/PythonDecoratorLibrary" -msgstr "" +msgstr "https://wiki.python.org/moin/PythonDecoratorLibrary" -#: ../../whatsnew/2.4.rst:341 +#: ../../whatsnew/2.4.rst:342 msgid "This Wiki page contains several examples of decorators." -msgstr "" +msgstr "This Wiki page contains several examples of decorators." -#: ../../whatsnew/2.4.rst:347 +#: ../../whatsnew/2.4.rst:348 msgid "PEP 322: Reverse Iteration" -msgstr "" +msgstr "PEP 322: Reverse Iteration" -#: ../../whatsnew/2.4.rst:349 +#: ../../whatsnew/2.4.rst:350 msgid "" "A new built-in function, ``reversed(seq)``, takes a sequence and returns an " "iterator that loops over the elements of the sequence in reverse order. ::" msgstr "" +"A new built-in function, ``reversed(seq)``, takes a sequence and returns an " +"iterator that loops over the elements of the sequence in reverse order. ::" -#: ../../whatsnew/2.4.rst:359 +#: ../../whatsnew/2.4.rst:360 msgid "" "Compared to extended slicing, such as ``range(1,4)[::-1]``, :func:`reversed` " "is easier to read, runs faster, and uses substantially less memory." msgstr "" +"Compared to extended slicing, such as ``range(1,4)[::-1]``, :func:`reversed` " +"is easier to read, runs faster, and uses substantially less memory." -#: ../../whatsnew/2.4.rst:362 +#: ../../whatsnew/2.4.rst:363 msgid "" "Note that :func:`reversed` only accepts sequences, not arbitrary iterators. " -"If you want to reverse an iterator, first convert it to a list with :func:" -"`list`. ::" +"If you want to reverse an iterator, first convert it to a list " +"with :func:`list`. ::" msgstr "" +"Note that :func:`reversed` only accepts sequences, not arbitrary iterators. " +"If you want to reverse an iterator, first convert it to a list " +"with :func:`list`. ::" -#: ../../whatsnew/2.4.rst:376 +#: ../../whatsnew/2.4.rst:377 msgid ":pep:`322` - Reverse Iteration" -msgstr "" +msgstr ":pep:`322` - Reverse Iteration" -#: ../../whatsnew/2.4.rst:377 +#: ../../whatsnew/2.4.rst:378 msgid "Written and implemented by Raymond Hettinger." -msgstr "" +msgstr "Written and implemented by Raymond Hettinger." -#: ../../whatsnew/2.4.rst:383 +#: ../../whatsnew/2.4.rst:384 msgid "PEP 324: New subprocess Module" -msgstr "" +msgstr "PEP 324: New subprocess Module" -#: ../../whatsnew/2.4.rst:385 +#: ../../whatsnew/2.4.rst:386 msgid "" "The standard library provides a number of ways to execute a subprocess, " -"offering different features and different levels of complexity. ``os." -"system(command)`` is easy to use, but slow (it runs a shell process which " -"executes the command) and dangerous (you have to be careful about escaping " -"the shell's metacharacters). The :mod:`popen2` module offers classes that " -"can capture standard output and standard error from the subprocess, but the " -"naming is confusing. The :mod:`subprocess` module cleans this up, " -"providing a unified interface that offers all the features you might need." +"offering different features and different levels of complexity. " +"``os.system(command)`` is easy to use, but slow (it runs a shell process " +"which executes the command) and dangerous (you have to be careful about " +"escaping the shell's metacharacters). The :mod:`!popen2` module offers " +"classes that can capture standard output and standard error from the " +"subprocess, but the naming is confusing. The :mod:`subprocess` module " +"cleans this up, providing a unified interface that offers all the features " +"you might need." msgstr "" +"The standard library provides a number of ways to execute a subprocess, " +"offering different features and different levels of complexity. " +"``os.system(command)`` is easy to use, but slow (it runs a shell process " +"which executes the command) and dangerous (you have to be careful about " +"escaping the shell's metacharacters). The :mod:`!popen2` module offers " +"classes that can capture standard output and standard error from the " +"subprocess, but the naming is confusing. The :mod:`subprocess` module " +"cleans this up, providing a unified interface that offers all the features " +"you might need." -#: ../../whatsnew/2.4.rst:394 +#: ../../whatsnew/2.4.rst:395 msgid "" -"Instead of :mod:`popen2`'s collection of classes, :mod:`subprocess` contains " -"a single class called :class:`Popen` whose constructor supports a number of " -"different keyword arguments. ::" +"Instead of :mod:`!popen2`'s collection of classes, :mod:`subprocess` " +"contains a single class called :class:`subprocess.Popen` whose constructor " +"supports a number of different keyword arguments. ::" msgstr "" +"Instead of :mod:`!popen2`'s collection of classes, :mod:`subprocess` " +"contains a single class called :class:`subprocess.Popen` whose constructor " +"supports a number of different keyword arguments. ::" -#: ../../whatsnew/2.4.rst:404 +#: ../../whatsnew/2.4.rst:405 msgid "" "*args* is commonly a sequence of strings that will be the arguments to the " "program executed as the subprocess. (If the *shell* argument is true, " "*args* can be a string which will then be passed on to the shell for " "interpretation, just as :func:`os.system` does.)" msgstr "" +"*args* is commonly a sequence of strings that will be the arguments to the " +"program executed as the subprocess. (If the *shell* argument is true, " +"*args* can be a string which will then be passed on to the shell for " +"interpretation, just as :func:`os.system` does.)" -#: ../../whatsnew/2.4.rst:409 +#: ../../whatsnew/2.4.rst:410 msgid "" "*stdin*, *stdout*, and *stderr* specify what the subprocess's input, output, " "and error streams will be. You can provide a file object or a file " "descriptor, or you can use the constant ``subprocess.PIPE`` to create a pipe " "between the subprocess and the parent." msgstr "" +"*stdin*, *stdout*, and *stderr* specify what the subprocess's input, output, " +"and error streams will be. You can provide a file object or a file " +"descriptor, or you can use the constant ``subprocess.PIPE`` to create a pipe " +"between the subprocess and the parent." -#: ../../whatsnew/2.4.rst:417 +#: ../../whatsnew/2.4.rst:418 msgid "The constructor has a number of handy options:" -msgstr "" +msgstr "The constructor has a number of handy options:" -#: ../../whatsnew/2.4.rst:419 +#: ../../whatsnew/2.4.rst:420 msgid "" "*close_fds* requests that all file descriptors be closed before running the " "subprocess." msgstr "" +"*close_fds* requests that all file descriptors be closed before running the " +"subprocess." -#: ../../whatsnew/2.4.rst:422 +#: ../../whatsnew/2.4.rst:423 msgid "" "*cwd* specifies the working directory in which the subprocess will be " "executed (defaulting to whatever the parent's working directory is)." msgstr "" +"*cwd* specifies the working directory in which the subprocess will be " +"executed (defaulting to whatever the parent's working directory is)." -#: ../../whatsnew/2.4.rst:425 +#: ../../whatsnew/2.4.rst:426 msgid "*env* is a dictionary specifying environment variables." -msgstr "" +msgstr "*env* is a dictionary specifying environment variables." -#: ../../whatsnew/2.4.rst:427 +#: ../../whatsnew/2.4.rst:428 msgid "" "*preexec_fn* is a function that gets called before the child is started." msgstr "" +"*preexec_fn* is a function that gets called before the child is started." -#: ../../whatsnew/2.4.rst:429 +#: ../../whatsnew/2.4.rst:430 msgid "" -"*universal_newlines* opens the child's input and output using Python's :term:" -"`universal newlines` feature." +"*universal_newlines* opens the child's input and output using " +"Python's :term:`universal newlines` feature." msgstr "" +"*universal_newlines* opens the child's input and output using " +"Python's :term:`universal newlines` feature." -#: ../../whatsnew/2.4.rst:432 +#: ../../whatsnew/2.4.rst:433 msgid "" -"Once you've created the :class:`Popen` instance, you can call its :meth:" -"`wait` method to pause until the subprocess has exited, :meth:`poll` to " -"check if it's exited without pausing, or ``communicate(data)`` to send the " -"string *data* to the subprocess's standard input. ``communicate(data)`` " -"then reads any data that the subprocess has sent to its standard output or " -"standard error, returning a tuple ``(stdout_data, stderr_data)``." +"Once you've created the :class:`Popen` instance, you can call " +"its :meth:`wait` method to pause until the subprocess has " +"exited, :meth:`poll` to check if it's exited without pausing, or " +"``communicate(data)`` to send the string *data* to the subprocess's standard " +"input. ``communicate(data)`` then reads any data that the subprocess has " +"sent to its standard output or standard error, returning a tuple " +"``(stdout_data, stderr_data)``." msgstr "" +"Once you've created the :class:`Popen` instance, you can call " +"its :meth:`wait` method to pause until the subprocess has " +"exited, :meth:`poll` to check if it's exited without pausing, or " +"``communicate(data)`` to send the string *data* to the subprocess's standard " +"input. ``communicate(data)`` then reads any data that the subprocess has " +"sent to its standard output or standard error, returning a tuple " +"``(stdout_data, stderr_data)``." -#: ../../whatsnew/2.4.rst:439 +#: ../../whatsnew/2.4.rst:440 msgid "" -":func:`call` is a shortcut that passes its arguments along to the :class:" -"`Popen` constructor, waits for the command to complete, and returns the " -"status code of the subprocess. It can serve as a safer analog to :func:`os." -"system`::" +":func:`call` is a shortcut that passes its arguments along to " +"the :class:`Popen` constructor, waits for the command to complete, and " +"returns the status code of the subprocess. It can serve as a safer analog " +"to :func:`os.system`::" msgstr "" +":func:`call` is a shortcut that passes its arguments along to " +"the :class:`Popen` constructor, waits for the command to complete, and " +"returns the status code of the subprocess. It can serve as a safer analog " +"to :func:`os.system`::" -#: ../../whatsnew/2.4.rst:451 +#: ../../whatsnew/2.4.rst:452 msgid "" "The command is invoked without use of the shell. If you really do want to " "use the shell, you can add ``shell=True`` as a keyword argument and provide " "a string instead of a sequence::" msgstr "" +"The command is invoked without use of the shell. If you really do want to " +"use the shell, you can add ``shell=True`` as a keyword argument and provide " +"a string instead of a sequence::" -#: ../../whatsnew/2.4.rst:457 +#: ../../whatsnew/2.4.rst:458 msgid "" "The PEP takes various examples of shell and Python code and shows how they'd " "be translated into Python code that uses :mod:`subprocess`. Reading this " "section of the PEP is highly recommended." msgstr "" +"The PEP takes various examples of shell and Python code and shows how they'd " +"be translated into Python code that uses :mod:`subprocess`. Reading this " +"section of the PEP is highly recommended." -#: ../../whatsnew/2.4.rst:465 +#: ../../whatsnew/2.4.rst:466 msgid ":pep:`324` - subprocess - New process module" -msgstr "" +msgstr ":pep:`324` - subprocess - New process module" -#: ../../whatsnew/2.4.rst:465 +#: ../../whatsnew/2.4.rst:466 msgid "" "Written and implemented by Peter Åstrand, with assistance from Fredrik Lundh " "and others." msgstr "" +"Written and implemented by Peter Åstrand, with assistance from Fredrik Lundh " +"and others." -#: ../../whatsnew/2.4.rst:472 +#: ../../whatsnew/2.4.rst:473 msgid "PEP 327: Decimal Data Type" -msgstr "PEP 327: Tipo de Dados Decimal" +msgstr "PEP 327: Decimal Data Type" -#: ../../whatsnew/2.4.rst:474 +#: ../../whatsnew/2.4.rst:475 msgid "" "Python has always supported floating-point (FP) numbers, based on the " "underlying C :c:expr:`double` type, as a data type. However, while most " @@ -532,35 +721,48 @@ msgid "" "decimal fractions accurately. The new :class:`Decimal` type can represent " "these fractions accurately, up to a user-specified precision limit." msgstr "" +"Python has always supported floating-point (FP) numbers, based on the " +"underlying C :c:expr:`double` type, as a data type. However, while most " +"programming languages provide a floating-point type, many people (even " +"programmers) are unaware that floating-point numbers don't represent certain " +"decimal fractions accurately. The new :class:`Decimal` type can represent " +"these fractions accurately, up to a user-specified precision limit." -#: ../../whatsnew/2.4.rst:483 +#: ../../whatsnew/2.4.rst:484 msgid "Why is Decimal needed?" -msgstr "Por que o Decimal é necessário?" +msgstr "Why is Decimal needed?" -#: ../../whatsnew/2.4.rst:485 +#: ../../whatsnew/2.4.rst:486 msgid "" "The limitations arise from the representation used for floating-point " "numbers. FP numbers are made up of three components:" msgstr "" +"The limitations arise from the representation used for floating-point " +"numbers. FP numbers are made up of three components:" -#: ../../whatsnew/2.4.rst:488 +#: ../../whatsnew/2.4.rst:489 msgid "The sign, which is positive or negative." -msgstr "" +msgstr "The sign, which is positive or negative." -#: ../../whatsnew/2.4.rst:490 +#: ../../whatsnew/2.4.rst:491 msgid "" "The mantissa, which is a single-digit binary number followed by a " "fractional part. For example, ``1.01`` in base-2 notation is ``1 + 0/2 + " "1/4``, or 1.25 in decimal notation." msgstr "" +"The mantissa, which is a single-digit binary number followed by a " +"fractional part. For example, ``1.01`` in base-2 notation is ``1 + 0/2 + " +"1/4``, or 1.25 in decimal notation." -#: ../../whatsnew/2.4.rst:494 +#: ../../whatsnew/2.4.rst:495 msgid "" "The exponent, which tells where the decimal point is located in the number " "represented." msgstr "" +"The exponent, which tells where the decimal point is located in the number " +"represented." -#: ../../whatsnew/2.4.rst:497 +#: ../../whatsnew/2.4.rst:498 msgid "" "For example, the number 1.25 has positive sign, a mantissa value of 1.01 (in " "binary), and an exponent of 0 (the decimal point doesn't need to be " @@ -568,8 +770,13 @@ msgid "" "because the mantissa is multiplied by 4 (2 to the power of the exponent 2); " "1.25 \\* 4 equals 5." msgstr "" +"For example, the number 1.25 has positive sign, a mantissa value of 1.01 (in " +"binary), and an exponent of 0 (the decimal point doesn't need to be " +"shifted). The number 5 has the same sign and mantissa, but the exponent is 2 " +"because the mantissa is multiplied by 4 (2 to the power of the exponent 2); " +"1.25 \\* 4 equals 5." -#: ../../whatsnew/2.4.rst:503 +#: ../../whatsnew/2.4.rst:504 msgid "" "Modern systems usually provide floating-point support that conforms to a " "standard called IEEE 754. C's :c:expr:`double` type is usually implemented " @@ -583,12 +790,23 @@ msgid "" "additional terms. IEEE 754 has to chop off that infinitely repeated decimal " "after 52 digits, so the representation is slightly inaccurate." msgstr "" +"Modern systems usually provide floating-point support that conforms to a " +"standard called IEEE 754. C's :c:expr:`double` type is usually implemented " +"as a 64-bit IEEE 754 number, which uses 52 bits of space for the mantissa. " +"This means that numbers can only be specified to 52 bits of precision. If " +"you're trying to represent numbers whose expansion repeats endlessly, the " +"expansion is cut off after 52 bits. Unfortunately, most software needs to " +"produce output in base 10, and common fractions in base 10 are often " +"repeating decimals in binary. For example, 1.1 decimal is binary " +"``1.0001100110011 ...``; .1 = 1/16 + 1/32 + 1/256 plus an infinite number of " +"additional terms. IEEE 754 has to chop off that infinitely repeated decimal " +"after 52 digits, so the representation is slightly inaccurate." -#: ../../whatsnew/2.4.rst:515 +#: ../../whatsnew/2.4.rst:516 msgid "Sometimes you can see this inaccuracy when the number is printed::" -msgstr "" +msgstr "Sometimes you can see this inaccuracy when the number is printed::" -#: ../../whatsnew/2.4.rst:520 +#: ../../whatsnew/2.4.rst:521 msgid "" "The inaccuracy isn't always visible when you print the number because the FP-" "to-decimal-string conversion is provided by the C library, and most C " @@ -596,8 +814,13 @@ msgid "" "however, the inaccuracy is still there and subsequent operations can magnify " "the error." msgstr "" +"The inaccuracy isn't always visible when you print the number because the FP-" +"to-decimal-string conversion is provided by the C library, and most C " +"libraries try to produce sensible output. Even if it's not displayed, " +"however, the inaccuracy is still there and subsequent operations can magnify " +"the error." -#: ../../whatsnew/2.4.rst:525 +#: ../../whatsnew/2.4.rst:526 msgid "" "For many applications this doesn't matter. If I'm plotting points and " "displaying them on my monitor, the difference between 1.1 and " @@ -607,45 +830,65 @@ msgid "" "for applications where it does matter, it's a lot of work to implement your " "own custom arithmetic routines." msgstr "" +"For many applications this doesn't matter. If I'm plotting points and " +"displaying them on my monitor, the difference between 1.1 and " +"1.1000000000000001 is too small to be visible. Reports often limit output " +"to a certain number of decimal places, and if you round the number to two or " +"three or even eight decimal places, the error is never apparent. However, " +"for applications where it does matter, it's a lot of work to implement your " +"own custom arithmetic routines." -#: ../../whatsnew/2.4.rst:533 +#: ../../whatsnew/2.4.rst:534 msgid "Hence, the :class:`Decimal` type was created." -msgstr "" +msgstr "Hence, the :class:`Decimal` type was created." -#: ../../whatsnew/2.4.rst:537 +#: ../../whatsnew/2.4.rst:538 msgid "The :class:`Decimal` type" -msgstr "" +msgstr "The :class:`Decimal` type" -#: ../../whatsnew/2.4.rst:539 +#: ../../whatsnew/2.4.rst:540 msgid "" "A new module, :mod:`decimal`, was added to Python's standard library. It " -"contains two classes, :class:`Decimal` and :class:`Context`. :class:" -"`Decimal` instances represent numbers, and :class:`Context` instances are " -"used to wrap up various settings such as the precision and default rounding " -"mode." +"contains two classes, :class:`Decimal` " +"and :class:`Context`. :class:`Decimal` instances represent numbers, " +"and :class:`Context` instances are used to wrap up various settings such as " +"the precision and default rounding mode." msgstr "" +"A new module, :mod:`decimal`, was added to Python's standard library. It " +"contains two classes, :class:`Decimal` " +"and :class:`Context`. :class:`Decimal` instances represent numbers, " +"and :class:`Context` instances are used to wrap up various settings such as " +"the precision and default rounding mode." -#: ../../whatsnew/2.4.rst:544 +#: ../../whatsnew/2.4.rst:545 msgid "" ":class:`Decimal` instances are immutable, like regular Python integers and " "FP numbers; once it's been created, you can't change the value an instance " "represents. :class:`Decimal` instances can be created from integers or " "strings::" msgstr "" +":class:`Decimal` instances are immutable, like regular Python integers and " +"FP numbers; once it's been created, you can't change the value an instance " +"represents. :class:`Decimal` instances can be created from integers or " +"strings::" -#: ../../whatsnew/2.4.rst:555 +#: ../../whatsnew/2.4.rst:556 msgid "" "You can also provide tuples containing the sign, the mantissa represented " "as a tuple of decimal digits, and the exponent::" msgstr "" +"You can also provide tuples containing the sign, the mantissa represented " +"as a tuple of decimal digits, and the exponent::" -#: ../../whatsnew/2.4.rst:561 +#: ../../whatsnew/2.4.rst:562 msgid "" "Cautionary note: the sign bit is a Boolean value, so 0 is positive and 1 is " "negative." msgstr "" +"Cautionary note: the sign bit is a Boolean value, so 0 is positive and 1 is " +"negative." -#: ../../whatsnew/2.4.rst:564 +#: ../../whatsnew/2.4.rst:565 msgid "" "Converting from floating-point numbers poses a bit of a problem: should the " "FP number representing 1.1 turn into the decimal number for exactly 1.1, or " @@ -654,21 +897,32 @@ msgid "" "convert the floating-point number into a string using the desired precision " "and pass the string to the :class:`Decimal` constructor::" msgstr "" +"Converting from floating-point numbers poses a bit of a problem: should the " +"FP number representing 1.1 turn into the decimal number for exactly 1.1, or " +"for 1.1 plus whatever inaccuracies are introduced? The decision was to dodge " +"the issue and leave such a conversion out of the API. Instead, you should " +"convert the floating-point number into a string using the desired precision " +"and pass the string to the :class:`Decimal` constructor::" -#: ../../whatsnew/2.4.rst:577 +#: ../../whatsnew/2.4.rst:578 msgid "" "Once you have :class:`Decimal` instances, you can perform the usual " "mathematical operations on them. One limitation: exponentiation requires an " "integer exponent::" msgstr "" +"Once you have :class:`Decimal` instances, you can perform the usual " +"mathematical operations on them. One limitation: exponentiation requires an " +"integer exponent::" -#: ../../whatsnew/2.4.rst:598 +#: ../../whatsnew/2.4.rst:599 msgid "" "You can combine :class:`Decimal` instances with integers, but not with " "floating-point numbers::" msgstr "" +"You can combine :class:`Decimal` instances with integers, but not with " +"floating-point numbers::" -#: ../../whatsnew/2.4.rst:609 +#: ../../whatsnew/2.4.rst:610 msgid "" ":class:`Decimal` numbers can be used with the :mod:`math` and :mod:`cmath` " "modules, but note that they'll be immediately converted to floating-point " @@ -676,107 +930,145 @@ msgid "" "precision and accuracy. You'll also get back a regular floating-point " "number and not a :class:`Decimal`. ::" msgstr "" +":class:`Decimal` numbers can be used with the :mod:`math` and :mod:`cmath` " +"modules, but note that they'll be immediately converted to floating-point " +"numbers before the operation is performed, resulting in a possible loss of " +"precision and accuracy. You'll also get back a regular floating-point " +"number and not a :class:`Decimal`. ::" -#: ../../whatsnew/2.4.rst:622 +#: ../../whatsnew/2.4.rst:623 msgid "" -":class:`Decimal` instances have a :meth:`sqrt` method that returns a :class:" -"`Decimal`, but if you need other things such as trigonometric functions " -"you'll have to implement them. ::" +":class:`Decimal` instances have a :meth:`sqrt` method that returns " +"a :class:`Decimal`, but if you need other things such as trigonometric " +"functions you'll have to implement them. ::" msgstr "" +":class:`Decimal` instances have a :meth:`sqrt` method that returns " +"a :class:`Decimal`, but if you need other things such as trigonometric " +"functions you'll have to implement them. ::" -#: ../../whatsnew/2.4.rst:631 +#: ../../whatsnew/2.4.rst:632 msgid "The :class:`Context` type" -msgstr "" +msgstr "The :class:`Context` type" -#: ../../whatsnew/2.4.rst:633 +#: ../../whatsnew/2.4.rst:634 msgid "" "Instances of the :class:`Context` class encapsulate several settings for " "decimal operations:" msgstr "" +"Instances of the :class:`Context` class encapsulate several settings for " +"decimal operations:" -#: ../../whatsnew/2.4.rst:636 +#: ../../whatsnew/2.4.rst:637 msgid ":attr:`prec` is the precision, the number of decimal places." -msgstr "" +msgstr ":attr:`prec` is the precision, the number of decimal places." -#: ../../whatsnew/2.4.rst:638 +#: ../../whatsnew/2.4.rst:639 msgid "" ":attr:`rounding` specifies the rounding mode. The :mod:`decimal` module has " -"constants for the various possibilities: :const:`ROUND_DOWN`, :const:" -"`ROUND_CEILING`, :const:`ROUND_HALF_EVEN`, and various others." +"constants for the various " +"possibilities: :const:`ROUND_DOWN`, :const:`ROUND_CEILING`, :const:`ROUND_HALF_EVEN`, " +"and various others." msgstr "" +":attr:`rounding` specifies the rounding mode. The :mod:`decimal` module has " +"constants for the various " +"possibilities: :const:`ROUND_DOWN`, :const:`ROUND_CEILING`, :const:`ROUND_HALF_EVEN`, " +"and various others." -#: ../../whatsnew/2.4.rst:642 +#: ../../whatsnew/2.4.rst:643 msgid "" ":attr:`traps` is a dictionary specifying what happens on encountering " "certain error conditions: either an exception is raised or a value is " "returned. Some examples of error conditions are division by zero, loss of " "precision, and overflow." msgstr "" +":attr:`traps` is a dictionary specifying what happens on encountering " +"certain error conditions: either an exception is raised or a value is " +"returned. Some examples of error conditions are division by zero, loss of " +"precision, and overflow." -#: ../../whatsnew/2.4.rst:647 +#: ../../whatsnew/2.4.rst:648 msgid "" -"There's a thread-local default context available by calling :func:" -"`getcontext`; you can change the properties of this context to alter the " -"default precision, rounding, or trap handling. The following example shows " -"the effect of changing the precision of the default context::" +"There's a thread-local default context available by " +"calling :func:`getcontext`; you can change the properties of this context to " +"alter the default precision, rounding, or trap handling. The following " +"example shows the effect of changing the precision of the default context::" msgstr "" +"There's a thread-local default context available by " +"calling :func:`getcontext`; you can change the properties of this context to " +"alter the default precision, rounding, or trap handling. The following " +"example shows the effect of changing the precision of the default context::" -#: ../../whatsnew/2.4.rst:660 +#: ../../whatsnew/2.4.rst:661 msgid "" "The default action for error conditions is selectable; the module can either " "return a special value such as infinity or not-a-number, or exceptions can " "be raised::" msgstr "" +"The default action for error conditions is selectable; the module can either " +"return a special value such as infinity or not-a-number, or exceptions can " +"be raised::" -#: ../../whatsnew/2.4.rst:673 +#: ../../whatsnew/2.4.rst:674 msgid "" "The :class:`Context` instance also has various methods for formatting " "numbers such as :meth:`to_eng_string` and :meth:`to_sci_string`." msgstr "" - -#: ../../whatsnew/2.4.rst:676 +"The :class:`Context` instance also has various methods for formatting " +"numbers such as :meth:`to_eng_string` and :meth:`to_sci_string`." + +#: ../../whatsnew/2.4.rst:677 msgid "" "For more information, see the documentation for the :mod:`decimal` module, " "which includes a quick-start tutorial and a reference." msgstr "" +"For more information, see the documentation for the :mod:`decimal` module, " +"which includes a quick-start tutorial and a reference." -#: ../../whatsnew/2.4.rst:684 +#: ../../whatsnew/2.4.rst:685 msgid ":pep:`327` - Decimal Data Type" -msgstr "" +msgstr ":pep:`327` - Decimal Data Type" -#: ../../whatsnew/2.4.rst:683 +#: ../../whatsnew/2.4.rst:684 msgid "" "Written by Facundo Batista and implemented by Facundo Batista, Eric Price, " "Raymond Hettinger, Aahz, and Tim Peters." msgstr "" +"Written by Facundo Batista and implemented by Facundo Batista, Eric Price, " +"Raymond Hettinger, Aahz, and Tim Peters." -#: ../../whatsnew/2.4.rst:688 +#: ../../whatsnew/2.4.rst:689 msgid "http://www.lahey.com/float.htm" -msgstr "" +msgstr "http://www.lahey.com/float.htm" -#: ../../whatsnew/2.4.rst:687 +#: ../../whatsnew/2.4.rst:688 msgid "" "The article uses Fortran code to illustrate many of the problems that " "floating-point inaccuracy can cause." msgstr "" +"The article uses Fortran code to illustrate many of the problems that " +"floating-point inaccuracy can cause." -#: ../../whatsnew/2.4.rst:692 +#: ../../whatsnew/2.4.rst:693 msgid "http://speleotrove.com/decimal/" -msgstr "" +msgstr "http://speleotrove.com/decimal/" -#: ../../whatsnew/2.4.rst:691 +#: ../../whatsnew/2.4.rst:692 msgid "" "A description of a decimal-based representation. This representation is " "being proposed as a standard, and underlies the new Python decimal type. " "Much of this material was written by Mike Cowlishaw, designer of the Rexx " "language." msgstr "" +"A description of a decimal-based representation. This representation is " +"being proposed as a standard, and underlies the new Python decimal type. " +"Much of this material was written by Mike Cowlishaw, designer of the Rexx " +"language." -#: ../../whatsnew/2.4.rst:699 +#: ../../whatsnew/2.4.rst:700 msgid "PEP 328: Multi-line Imports" -msgstr "" +msgstr "PEP 328: Multi-line Imports" -#: ../../whatsnew/2.4.rst:701 +#: ../../whatsnew/2.4.rst:702 msgid "" "One language change is a small syntactic tweak aimed at making it easier to " "import many names from a module. In a ``from module import names`` " @@ -784,35 +1076,47 @@ msgid "" "sequence is very long, you can either write multiple imports from the same " "module, or you can use backslashes to escape the line endings like this::" msgstr "" +"One language change is a small syntactic tweak aimed at making it easier to " +"import many names from a module. In a ``from module import names`` " +"statement, *names* is a sequence of names separated by commas. If the " +"sequence is very long, you can either write multiple imports from the same " +"module, or you can use backslashes to escape the line endings like this::" -#: ../../whatsnew/2.4.rst:712 +#: ../../whatsnew/2.4.rst:713 msgid "" "The syntactic change in Python 2.4 simply allows putting the names within " "parentheses. Python ignores newlines within a parenthesized expression, so " "the backslashes are no longer needed::" msgstr "" +"The syntactic change in Python 2.4 simply allows putting the names within " +"parentheses. Python ignores newlines within a parenthesized expression, so " +"the backslashes are no longer needed::" -#: ../../whatsnew/2.4.rst:721 +#: ../../whatsnew/2.4.rst:722 msgid "" "The PEP also proposes that all :keyword:`import` statements be absolute " "imports, with a leading ``.`` character to indicate a relative import. This " "part of the PEP was not implemented for Python 2.4, but was completed for " "Python 2.5." msgstr "" +"The PEP also proposes that all :keyword:`import` statements be absolute " +"imports, with a leading ``.`` character to indicate a relative import. This " +"part of the PEP was not implemented for Python 2.4, but was completed for " +"Python 2.5." -#: ../../whatsnew/2.4.rst:728 +#: ../../whatsnew/2.4.rst:729 msgid ":pep:`328` - Imports: Multi-Line and Absolute/Relative" msgstr ":pep:`328` - Importações: Multilinha e absoluta/relativa" -#: ../../whatsnew/2.4.rst:729 +#: ../../whatsnew/2.4.rst:730 msgid "Written by Aahz. Multi-line imports were implemented by Dima Dorfman." -msgstr "" +msgstr "Written by Aahz. Multi-line imports were implemented by Dima Dorfman." -#: ../../whatsnew/2.4.rst:735 +#: ../../whatsnew/2.4.rst:736 msgid "PEP 331: Locale-Independent Float/String Conversions" -msgstr "" +msgstr "PEP 331: Locale-Independent Float/String Conversions" -#: ../../whatsnew/2.4.rst:737 +#: ../../whatsnew/2.4.rst:738 msgid "" "The :mod:`locale` modules lets Python software select various conversions " "and display conventions that are localized to a particular country or " @@ -821,131 +1125,180 @@ msgid "" "numeric locale remain set to the ``'C'`` locale. Often this was because the " "code was using the C library's :c:func:`atof` function." msgstr "" +"The :mod:`locale` modules lets Python software select various conversions " +"and display conventions that are localized to a particular country or " +"language. However, the module was careful to not change the numeric locale " +"because various functions in Python's implementation required that the " +"numeric locale remain set to the ``'C'`` locale. Often this was because the " +"code was using the C library's :c:func:`atof` function." -#: ../../whatsnew/2.4.rst:744 +#: ../../whatsnew/2.4.rst:745 msgid "" "Not setting the numeric locale caused trouble for extensions that used third-" "party C libraries, however, because they wouldn't have the correct locale " "set. The motivating example was GTK+, whose user interface widgets weren't " "displaying numbers in the current locale." msgstr "" +"Not setting the numeric locale caused trouble for extensions that used third-" +"party C libraries, however, because they wouldn't have the correct locale " +"set. The motivating example was GTK+, whose user interface widgets weren't " +"displaying numbers in the current locale." -#: ../../whatsnew/2.4.rst:749 +#: ../../whatsnew/2.4.rst:750 msgid "" "The solution described in the PEP is to add three new functions to the " "Python API that perform ASCII-only conversions, ignoring the locale setting:" msgstr "" +"The solution described in the PEP is to add three new functions to the " +"Python API that perform ASCII-only conversions, ignoring the locale setting:" -#: ../../whatsnew/2.4.rst:752 +#: ../../whatsnew/2.4.rst:753 msgid "" "``PyOS_ascii_strtod(str, ptr)`` and ``PyOS_ascii_atof(str, ptr)`` both " "convert a string to a C :c:expr:`double`." msgstr "" +"``PyOS_ascii_strtod(str, ptr)`` and ``PyOS_ascii_atof(str, ptr)`` both " +"convert a string to a C :c:expr:`double`." -#: ../../whatsnew/2.4.rst:755 +#: ../../whatsnew/2.4.rst:756 msgid "" -"``PyOS_ascii_formatd(buffer, buf_len, format, d)`` converts a :c:expr:" -"`double` to an ASCII string." +"``PyOS_ascii_formatd(buffer, buf_len, format, d)`` converts " +"a :c:expr:`double` to an ASCII string." msgstr "" +"``PyOS_ascii_formatd(buffer, buf_len, format, d)`` converts " +"a :c:expr:`double` to an ASCII string." -#: ../../whatsnew/2.4.rst:758 +#: ../../whatsnew/2.4.rst:759 msgid "" "The code for these functions came from the GLib library (https://developer-" "old.gnome.org/glib/2.26/), whose developers kindly relicensed the relevant " -"functions and donated them to the Python Software Foundation. The :mod:" -"`locale` module can now change the numeric locale, letting extensions such " -"as GTK+ produce the correct results." +"functions and donated them to the Python Software Foundation. " +"The :mod:`locale` module can now change the numeric locale, letting " +"extensions such as GTK+ produce the correct results." msgstr "" +"The code for these functions came from the GLib library (https://developer-" +"old.gnome.org/glib/2.26/), whose developers kindly relicensed the relevant " +"functions and donated them to the Python Software Foundation. " +"The :mod:`locale` module can now change the numeric locale, letting " +"extensions such as GTK+ produce the correct results." -#: ../../whatsnew/2.4.rst:767 +#: ../../whatsnew/2.4.rst:768 msgid ":pep:`331` - Locale-Independent Float/String Conversions" -msgstr "" +msgstr ":pep:`331` - Locale-Independent Float/String Conversions" -#: ../../whatsnew/2.4.rst:768 +#: ../../whatsnew/2.4.rst:769 msgid "Written by Christian R. Reis, and implemented by Gustavo Carneiro." -msgstr "" +msgstr "Written by Christian R. Reis, and implemented by Gustavo Carneiro." -#: ../../whatsnew/2.4.rst:774 +#: ../../whatsnew/2.4.rst:775 msgid "Other Language Changes" msgstr "Outras mudanças na linguagem" -#: ../../whatsnew/2.4.rst:776 +#: ../../whatsnew/2.4.rst:777 msgid "" "Here are all of the changes that Python 2.4 makes to the core Python " "language." msgstr "" +"Here are all of the changes that Python 2.4 makes to the core Python " +"language." -#: ../../whatsnew/2.4.rst:778 +#: ../../whatsnew/2.4.rst:779 msgid "Decorators for functions and methods were added (:pep:`318`)." -msgstr "" +msgstr "Decorators for functions and methods were added (:pep:`318`)." -#: ../../whatsnew/2.4.rst:780 +#: ../../whatsnew/2.4.rst:781 msgid "" "Built-in :func:`set` and :func:`frozenset` types were added (:pep:`218`). " "Other new built-ins include the ``reversed(seq)`` function (:pep:`322`)." msgstr "" +"Built-in :func:`set` and :func:`frozenset` types were added (:pep:`218`). " +"Other new built-ins include the ``reversed(seq)`` function (:pep:`322`)." -#: ../../whatsnew/2.4.rst:783 +#: ../../whatsnew/2.4.rst:784 msgid "Generator expressions were added (:pep:`289`)." -msgstr "" +msgstr "Generator expressions were added (:pep:`289`)." -#: ../../whatsnew/2.4.rst:785 +#: ../../whatsnew/2.4.rst:786 msgid "" "Certain numeric expressions no longer return values restricted to 32 or 64 " "bits (:pep:`237`)." msgstr "" +"Certain numeric expressions no longer return values restricted to 32 or 64 " +"bits (:pep:`237`)." -#: ../../whatsnew/2.4.rst:788 +#: ../../whatsnew/2.4.rst:789 msgid "" "You can now put parentheses around the list of names in a ``from module " "import names`` statement (:pep:`328`)." msgstr "" +"You can now put parentheses around the list of names in a ``from module " +"import names`` statement (:pep:`328`)." -#: ../../whatsnew/2.4.rst:791 +#: ../../whatsnew/2.4.rst:792 msgid "" -"The :meth:`dict.update` method now accepts the same argument forms as the :" -"class:`dict` constructor. This includes any mapping, any iterable of key/" -"value pairs, and keyword arguments. (Contributed by Raymond Hettinger.)" +"The :meth:`dict.update` method now accepts the same argument forms as " +"the :class:`dict` constructor. This includes any mapping, any iterable of " +"key/value pairs, and keyword arguments. (Contributed by Raymond Hettinger.)" msgstr "" +"The :meth:`dict.update` method now accepts the same argument forms as " +"the :class:`dict` constructor. This includes any mapping, any iterable of " +"key/value pairs, and keyword arguments. (Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:795 +#: ../../whatsnew/2.4.rst:796 msgid "" "The string methods :meth:`ljust`, :meth:`rjust`, and :meth:`center` now take " "an optional argument for specifying a fill character other than a space. " "(Contributed by Raymond Hettinger.)" msgstr "" +"The string methods :meth:`ljust`, :meth:`rjust`, and :meth:`center` now take " +"an optional argument for specifying a fill character other than a space. " +"(Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:799 +#: ../../whatsnew/2.4.rst:800 msgid "" -"Strings also gained an :meth:`rsplit` method that works like the :meth:" -"`split` method but splits from the end of the string. (Contributed by Sean " -"Reifschneider.) ::" +"Strings also gained an :meth:`rsplit` method that works like " +"the :meth:`split` method but splits from the end of the string. " +"(Contributed by Sean Reifschneider.) ::" msgstr "" +"Strings also gained an :meth:`rsplit` method that works like " +"the :meth:`split` method but splits from the end of the string. " +"(Contributed by Sean Reifschneider.) ::" -#: ../../whatsnew/2.4.rst:808 +#: ../../whatsnew/2.4.rst:809 msgid "" -"Three keyword parameters, *cmp*, *key*, and *reverse*, were added to the :" -"meth:`sort` method of lists. These parameters make some common usages of :" -"meth:`sort` simpler. All of these parameters are optional." +"Three keyword parameters, *cmp*, *key*, and *reverse*, were added to " +"the :meth:`sort` method of lists. These parameters make some common usages " +"of :meth:`sort` simpler. All of these parameters are optional." msgstr "" +"Three keyword parameters, *cmp*, *key*, and *reverse*, were added to " +"the :meth:`sort` method of lists. These parameters make some common usages " +"of :meth:`sort` simpler. All of these parameters are optional." -#: ../../whatsnew/2.4.rst:812 +#: ../../whatsnew/2.4.rst:813 msgid "" "For the *cmp* parameter, the value should be a comparison function that " "takes two parameters and returns -1, 0, or +1 depending on how the " "parameters compare. This function will then be used to sort the list. " -"Previously this was the only parameter that could be provided to :meth:" -"`sort`." +"Previously this was the only parameter that could be provided " +"to :meth:`sort`." msgstr "" +"For the *cmp* parameter, the value should be a comparison function that " +"takes two parameters and returns -1, 0, or +1 depending on how the " +"parameters compare. This function will then be used to sort the list. " +"Previously this was the only parameter that could be provided " +"to :meth:`sort`." -#: ../../whatsnew/2.4.rst:817 +#: ../../whatsnew/2.4.rst:818 msgid "" "*key* should be a single-parameter function that takes a list element and " "returns a comparison key for the element. The list is then sorted using the " "comparison keys. The following example sorts a list case-insensitively::" msgstr "" +"*key* should be a single-parameter function that takes a list element and " +"returns a comparison key for the element. The list is then sorted using the " +"comparison keys. The following example sorts a list case-insensitively::" -#: ../../whatsnew/2.4.rst:834 +#: ../../whatsnew/2.4.rst:835 msgid "" "The last example, which uses the *cmp* parameter, is the old way to perform " "a case-insensitive sort. It works but is slower than using a *key* " @@ -953,22 +1306,33 @@ msgid "" "the list while using *cmp* will call it twice for each comparison, so using " "*key* saves on invocations of the :meth:`lower` method." msgstr "" +"The last example, which uses the *cmp* parameter, is the old way to perform " +"a case-insensitive sort. It works but is slower than using a *key* " +"parameter. Using *key* calls :meth:`lower` method once for each element in " +"the list while using *cmp* will call it twice for each comparison, so using " +"*key* saves on invocations of the :meth:`lower` method." -#: ../../whatsnew/2.4.rst:840 +#: ../../whatsnew/2.4.rst:841 msgid "" "For simple key functions and comparison functions, it is often possible to " "avoid a :keyword:`lambda` expression by using an unbound method instead. " "For example, the above case-insensitive sort is best written as::" msgstr "" +"For simple key functions and comparison functions, it is often possible to " +"avoid a :keyword:`lambda` expression by using an unbound method instead. " +"For example, the above case-insensitive sort is best written as::" -#: ../../whatsnew/2.4.rst:848 +#: ../../whatsnew/2.4.rst:849 msgid "" "Finally, the *reverse* parameter takes a Boolean value. If the value is " -"true, the list will be sorted into reverse order. Instead of ``L.sort(); L." -"reverse()``, you can now write ``L.sort(reverse=True)``." +"true, the list will be sorted into reverse order. Instead of ``L.sort(); " +"L.reverse()``, you can now write ``L.sort(reverse=True)``." msgstr "" +"Finally, the *reverse* parameter takes a Boolean value. If the value is " +"true, the list will be sorted into reverse order. Instead of ``L.sort(); " +"L.reverse()``, you can now write ``L.sort(reverse=True)``." -#: ../../whatsnew/2.4.rst:852 +#: ../../whatsnew/2.4.rst:853 msgid "" "The results of sorting are now guaranteed to be stable. This means that two " "entries with equal keys will be returned in the same order as they were " @@ -976,134 +1340,192 @@ msgid "" "list by age, resulting in a list sorted by age where people with the same " "age are in name-sorted order." msgstr "" +"The results of sorting are now guaranteed to be stable. This means that two " +"entries with equal keys will be returned in the same order as they were " +"input. For example, you can sort a list of people by name, and then sort the " +"list by age, resulting in a list sorted by age where people with the same " +"age are in name-sorted order." -#: ../../whatsnew/2.4.rst:858 +#: ../../whatsnew/2.4.rst:859 msgid "(All changes to :meth:`sort` contributed by Raymond Hettinger.)" -msgstr "" +msgstr "(All changes to :meth:`sort` contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:860 +#: ../../whatsnew/2.4.rst:861 msgid "" "There is a new built-in function ``sorted(iterable)`` that works like the in-" "place :meth:`list.sort` method but can be used in expressions. The " "differences are:" msgstr "" +"There is a new built-in function ``sorted(iterable)`` that works like the in-" +"place :meth:`list.sort` method but can be used in expressions. The " +"differences are:" -#: ../../whatsnew/2.4.rst:864 +#: ../../whatsnew/2.4.rst:865 msgid "the input may be any iterable;" -msgstr "" +msgstr "the input may be any iterable;" -#: ../../whatsnew/2.4.rst:866 +#: ../../whatsnew/2.4.rst:867 msgid "a newly formed copy is sorted, leaving the original intact; and" -msgstr "" +msgstr "a newly formed copy is sorted, leaving the original intact; and" -#: ../../whatsnew/2.4.rst:868 +#: ../../whatsnew/2.4.rst:869 msgid "the expression returns the new sorted copy" -msgstr "" +msgstr "the expression returns the new sorted copy" -#: ../../whatsnew/2.4.rst:891 ../../whatsnew/2.4.rst:919 -#: ../../whatsnew/2.4.rst:1212 +#: ../../whatsnew/2.4.rst:892 ../../whatsnew/2.4.rst:920 +#: ../../whatsnew/2.4.rst:1213 msgid "(Contributed by Raymond Hettinger.)" msgstr "(Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:893 ../../whatsnew/2.4.rst:1519 +#: ../../whatsnew/2.4.rst:894 ../../whatsnew/2.4.rst:1520 msgid "" -"Integer operations will no longer trigger an :exc:`OverflowWarning`. The :" -"exc:`OverflowWarning` warning will disappear in Python 2.5." +"Integer operations will no longer trigger an :exc:`OverflowWarning`. " +"The :exc:`OverflowWarning` warning will disappear in Python 2.5." msgstr "" +"Integer operations will no longer trigger an :exc:`OverflowWarning`. " +"The :exc:`OverflowWarning` warning will disappear in Python 2.5." -#: ../../whatsnew/2.4.rst:896 +#: ../../whatsnew/2.4.rst:897 msgid "" "The interpreter gained a new switch, :option:`-m`, that takes a name, " "searches for the corresponding module on ``sys.path``, and runs the module " "as a script. For example, you can now run the Python profiler with ``python " "-m profile``. (Contributed by Nick Coghlan.)" msgstr "" +"The interpreter gained a new switch, :option:`-m`, that takes a name, " +"searches for the corresponding module on ``sys.path``, and runs the module " +"as a script. For example, you can now run the Python profiler with ``python " +"-m profile``. (Contributed by Nick Coghlan.)" -#: ../../whatsnew/2.4.rst:901 +#: ../../whatsnew/2.4.rst:902 msgid "" "The ``eval(expr, globals, locals)`` and ``execfile(filename, globals, " "locals)`` functions and the ``exec`` statement now accept any mapping type " "for the *locals* parameter. Previously this had to be a regular Python " "dictionary. (Contributed by Raymond Hettinger.)" msgstr "" +"The ``eval(expr, globals, locals)`` and ``execfile(filename, globals, " +"locals)`` functions and the ``exec`` statement now accept any mapping type " +"for the *locals* parameter. Previously this had to be a regular Python " +"dictionary. (Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:906 +#: ../../whatsnew/2.4.rst:907 msgid "" "The :func:`zip` built-in function and :func:`itertools.izip` now return an " -"empty list if called with no arguments. Previously they raised a :exc:" -"`TypeError` exception. This makes them more suitable for use with variable " -"length argument lists::" +"empty list if called with no arguments. Previously they raised " +"a :exc:`TypeError` exception. This makes them more suitable for use with " +"variable length argument lists::" msgstr "" +"The :func:`zip` built-in function and :func:`itertools.izip` now return an " +"empty list if called with no arguments. Previously they raised " +"a :exc:`TypeError` exception. This makes them more suitable for use with " +"variable length argument lists::" -#: ../../whatsnew/2.4.rst:921 +#: ../../whatsnew/2.4.rst:922 msgid "" "Encountering a failure while importing a module no longer leaves a partially " "initialized module object in ``sys.modules``. The incomplete module object " "left behind would fool further imports of the same module into succeeding, " "leading to confusing errors. (Fixed by Tim Peters.)" msgstr "" +"Encountering a failure while importing a module no longer leaves a partially " +"initialized module object in ``sys.modules``. The incomplete module object " +"left behind would fool further imports of the same module into succeeding, " +"leading to confusing errors. (Fixed by Tim Peters.)" -#: ../../whatsnew/2.4.rst:926 +#: ../../whatsnew/2.4.rst:927 msgid "" ":const:`None` is now a constant; code that binds a new value to the name " "``None`` is now a syntax error. (Contributed by Raymond Hettinger.)" msgstr "" +":const:`None` is now a constant; code that binds a new value to the name " +"``None`` is now a syntax error. (Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:933 +#: ../../whatsnew/2.4.rst:934 msgid "Optimizations" msgstr "Otimizações" -#: ../../whatsnew/2.4.rst:935 +#: ../../whatsnew/2.4.rst:936 msgid "" "The inner loops for list and tuple slicing were optimized and now run about " "one-third faster. The inner loops for dictionaries were also optimized, " -"resulting in performance boosts for :meth:`keys`, :meth:`values`, :meth:" -"`items`, :meth:`iterkeys`, :meth:`itervalues`, and :meth:`iteritems`. " -"(Contributed by Raymond Hettinger.)" +"resulting in performance boosts " +"for :meth:`keys`, :meth:`values`, :meth:`items`, :meth:`iterkeys`, :meth:`itervalues`, " +"and :meth:`iteritems`. (Contributed by Raymond Hettinger.)" msgstr "" +"The inner loops for list and tuple slicing were optimized and now run about " +"one-third faster. The inner loops for dictionaries were also optimized, " +"resulting in performance boosts " +"for :meth:`keys`, :meth:`values`, :meth:`items`, :meth:`iterkeys`, :meth:`itervalues`, " +"and :meth:`iteritems`. (Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:941 +#: ../../whatsnew/2.4.rst:942 msgid "" "The machinery for growing and shrinking lists was optimized for speed and " "for space efficiency. Appending and popping from lists now runs faster due " -"to more efficient code paths and less frequent use of the underlying system :" -"c:func:`realloc`. List comprehensions also benefit. :meth:`list.extend` " -"was also optimized and no longer converts its argument into a temporary list " -"before extending the base list. (Contributed by Raymond Hettinger.)" +"to more efficient code paths and less frequent use of the underlying " +"system :c:func:`realloc`. List comprehensions also " +"benefit. :meth:`list.extend` was also optimized and no longer converts its " +"argument into a temporary list before extending the base list. (Contributed " +"by Raymond Hettinger.)" msgstr "" +"The machinery for growing and shrinking lists was optimized for speed and " +"for space efficiency. Appending and popping from lists now runs faster due " +"to more efficient code paths and less frequent use of the underlying " +"system :c:func:`realloc`. List comprehensions also " +"benefit. :meth:`list.extend` was also optimized and no longer converts its " +"argument into a temporary list before extending the base list. (Contributed " +"by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:948 +#: ../../whatsnew/2.4.rst:949 msgid "" ":func:`list`, :func:`tuple`, :func:`map`, :func:`filter`, and :func:`zip` " -"now run several times faster with non-sequence arguments that supply a :meth:" -"`__len__` method. (Contributed by Raymond Hettinger.)" +"now run several times faster with non-sequence arguments that supply " +"a :meth:`__len__` method. (Contributed by Raymond Hettinger.)" msgstr "" +":func:`list`, :func:`tuple`, :func:`map`, :func:`filter`, and :func:`zip` " +"now run several times faster with non-sequence arguments that supply " +"a :meth:`__len__` method. (Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:952 +#: ../../whatsnew/2.4.rst:953 msgid "" -"The methods :meth:`list.__getitem__`, :meth:`dict.__getitem__`, and :meth:" -"`dict.__contains__` are now implemented as :class:`method_descriptor` " -"objects rather than :class:`wrapper_descriptor` objects. This form of " -"access doubles their performance and makes them more suitable for use as " -"arguments to functionals: ``map(mydict.__getitem__, keylist)``. (Contributed " -"by Raymond Hettinger.)" +"The methods :meth:`list.__getitem__`, :meth:`dict.__getitem__`, " +"and :meth:`dict.__contains__` are now implemented " +"as :class:`method_descriptor` objects rather " +"than :class:`wrapper_descriptor` objects. This form of access doubles " +"their performance and makes them more suitable for use as arguments to " +"functionals: ``map(mydict.__getitem__, keylist)``. (Contributed by Raymond " +"Hettinger.)" msgstr "" +"The methods :meth:`list.__getitem__`, :meth:`dict.__getitem__`, " +"and :meth:`dict.__contains__` are now implemented " +"as :class:`method_descriptor` objects rather " +"than :class:`wrapper_descriptor` objects. This form of access doubles " +"their performance and makes them more suitable for use as arguments to " +"functionals: ``map(mydict.__getitem__, keylist)``. (Contributed by Raymond " +"Hettinger.)" -#: ../../whatsnew/2.4.rst:959 +#: ../../whatsnew/2.4.rst:960 msgid "" "Added a new opcode, ``LIST_APPEND``, that simplifies the generated bytecode " "for list comprehensions and speeds them up by about a third. (Contributed " "by Raymond Hettinger.)" msgstr "" +"Added a new opcode, ``LIST_APPEND``, that simplifies the generated bytecode " +"for list comprehensions and speeds them up by about a third. (Contributed " +"by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:963 +#: ../../whatsnew/2.4.rst:964 msgid "" "The peephole bytecode optimizer has been improved to produce shorter, " "faster bytecode; remarkably, the resulting bytecode is more readable. " "(Enhanced by Raymond Hettinger.)" msgstr "" +"The peephole bytecode optimizer has been improved to produce shorter, " +"faster bytecode; remarkably, the resulting bytecode is more readable. " +"(Enhanced by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:967 +#: ../../whatsnew/2.4.rst:968 msgid "" "String concatenations in statements of the form ``s = s + \"abc\"`` and ``s " "+= \"abc\"`` are now performed more efficiently in certain circumstances. " @@ -1112,8 +1534,14 @@ msgid "" "strings is still recommended when you want to efficiently glue a large " "number of strings together. (Contributed by Armin Rigo.)" msgstr "" +"String concatenations in statements of the form ``s = s + \"abc\"`` and ``s " +"+= \"abc\"`` are now performed more efficiently in certain circumstances. " +"This optimization won't be present in other Python implementations such as " +"Jython, so you shouldn't rely on it; using the :meth:`join` method of " +"strings is still recommended when you want to efficiently glue a large " +"number of strings together. (Contributed by Armin Rigo.)" -#: ../../whatsnew/2.4.rst:974 +#: ../../whatsnew/2.4.rst:975 msgid "" "The net result of the 2.4 optimizations is that Python 2.4 runs the pystone " "benchmark around 5% faster than Python 2.3 and 35% faster than Python 2.2. " @@ -1121,12 +1549,17 @@ msgid "" "used measurement of Python's performance. Your own applications may show " "greater or smaller benefits from Python 2.4.)" msgstr "" +"The net result of the 2.4 optimizations is that Python 2.4 runs the pystone " +"benchmark around 5% faster than Python 2.3 and 35% faster than Python 2.2. " +"(pystone is not a particularly good benchmark, but it's the most commonly " +"used measurement of Python's performance. Your own applications may show " +"greater or smaller benefits from Python 2.4.)" -#: ../../whatsnew/2.4.rst:990 +#: ../../whatsnew/2.4.rst:991 msgid "New, Improved, and Deprecated Modules" msgstr "New, Improved, and Deprecated Modules" -#: ../../whatsnew/2.4.rst:992 +#: ../../whatsnew/2.4.rst:993 msgid "" "As usual, Python's standard library received a number of enhancements and " "bug fixes. Here's a partial list of the most notable changes, sorted " @@ -1134,62 +1567,78 @@ msgid "" "source tree for a more complete list of changes, or look through the CVS " "logs for all the details." msgstr "" +"As usual, Python's standard library received a number of enhancements and " +"bug fixes. Here's a partial list of the most notable changes, sorted " +"alphabetically by module name. Consult the :file:`Misc/NEWS` file in the " +"source tree for a more complete list of changes, or look through the CVS " +"logs for all the details." -#: ../../whatsnew/2.4.rst:997 +#: ../../whatsnew/2.4.rst:998 msgid "" "The :mod:`asyncore` module's :func:`loop` function now has a *count* " "parameter that lets you perform a limited number of passes through the " "polling loop. The default is still to loop forever." msgstr "" -#: ../../whatsnew/2.4.rst:1001 +#: ../../whatsnew/2.4.rst:1002 msgid "" "The :mod:`base64` module now has more complete :rfc:`3548` support for " "Base64, Base32, and Base16 encoding and decoding, including optional case " "folding and optional alternative alphabets. (Contributed by Barry Warsaw.)" msgstr "" +"The :mod:`base64` module now has more complete :rfc:`3548` support for " +"Base64, Base32, and Base16 encoding and decoding, including optional case " +"folding and optional alternative alphabets. (Contributed by Barry Warsaw.)" -#: ../../whatsnew/2.4.rst:1005 +#: ../../whatsnew/2.4.rst:1006 msgid "" "The :mod:`bisect` module now has an underlying C implementation for improved " "performance. (Contributed by Dmitry Vasiliev.)" msgstr "" +"The :mod:`bisect` module now has an underlying C implementation for improved " +"performance. (Contributed by Dmitry Vasiliev.)" -#: ../../whatsnew/2.4.rst:1008 +#: ../../whatsnew/2.4.rst:1009 msgid "" "The CJKCodecs collections of East Asian codecs, maintained by Hye-Shik " "Chang, was integrated into 2.4. The new encodings are:" msgstr "" +"The CJKCodecs collections of East Asian codecs, maintained by Hye-Shik " +"Chang, was integrated into 2.4. The new encodings are:" -#: ../../whatsnew/2.4.rst:1011 +#: ../../whatsnew/2.4.rst:1012 msgid "Chinese (PRC): gb2312, gbk, gb18030, big5hkscs, hz" -msgstr "" +msgstr "Chinese (PRC): gb2312, gbk, gb18030, big5hkscs, hz" -#: ../../whatsnew/2.4.rst:1013 +#: ../../whatsnew/2.4.rst:1014 msgid "Chinese (ROC): big5, cp950" -msgstr "" +msgstr "Chinese (ROC): big5, cp950" -#: ../../whatsnew/2.4.rst:1017 +#: ../../whatsnew/2.4.rst:1018 msgid "Japanese: cp932, euc-jis-2004, euc-jp, euc-jisx0213, iso-2022-jp," -msgstr "" +msgstr "Japanese: cp932, euc-jis-2004, euc-jp, euc-jisx0213, iso-2022-jp," -#: ../../whatsnew/2.4.rst:1016 +#: ../../whatsnew/2.4.rst:1017 msgid "" "iso-2022-jp-1, iso-2022-jp-2, iso-2022-jp-3, iso-2022-jp-ext, iso-2022-" "jp-2004, shift-jis, shift-jisx0213, shift-jis-2004" msgstr "" +"iso-2022-jp-1, iso-2022-jp-2, iso-2022-jp-3, iso-2022-jp-ext, iso-2022-" +"jp-2004, shift-jis, shift-jisx0213, shift-jis-2004" -#: ../../whatsnew/2.4.rst:1019 +#: ../../whatsnew/2.4.rst:1020 msgid "Korean: cp949, euc-kr, johab, iso-2022-kr" -msgstr "" +msgstr "Korean: cp949, euc-kr, johab, iso-2022-kr" -#: ../../whatsnew/2.4.rst:1021 +#: ../../whatsnew/2.4.rst:1022 msgid "" "Some other new encodings were added: HP Roman8, ISO_8859-11, ISO_8859-16, " "PCTP-154, and TIS-620." msgstr "" +"Some other new encodings were added: HP Roman8, ISO_8859-11, ISO_8859-16, " +"PCTP-154, and TIS-620." -#: ../../whatsnew/2.4.rst:1024 +#: ../../whatsnew/2.4.rst:1025 msgid "" "The UTF-8 and UTF-16 codecs now cope better with receiving partial input. " "Previously the :class:`StreamReader` class would try to read more data, " @@ -1197,47 +1646,73 @@ msgid "" "method will now return as much data as it can and future calls will resume " "decoding where previous ones left off. (Implemented by Walter Dörwald.)" msgstr "" +"The UTF-8 and UTF-16 codecs now cope better with receiving partial input. " +"Previously the :class:`StreamReader` class would try to read more data, " +"making it impossible to resume decoding from the stream. The :meth:`read` " +"method will now return as much data as it can and future calls will resume " +"decoding where previous ones left off. (Implemented by Walter Dörwald.)" -#: ../../whatsnew/2.4.rst:1030 +#: ../../whatsnew/2.4.rst:1031 msgid "" "There is a new :mod:`collections` module for various specialized collection " "datatypes. Currently it contains just one type, :class:`deque`, a double-" "ended queue that supports efficiently adding and removing elements from " "either end::" msgstr "" +"There is a new :mod:`collections` module for various specialized collection " +"datatypes. Currently it contains just one type, :class:`deque`, a double-" +"ended queue that supports efficiently adding and removing elements from " +"either end::" -#: ../../whatsnew/2.4.rst:1050 +#: ../../whatsnew/2.4.rst:1051 msgid "" "Several modules, such as the :mod:`Queue` and :mod:`threading` modules, now " "take advantage of :class:`collections.deque` for improved performance. " "(Contributed by Raymond Hettinger.)" msgstr "" +"Several modules, such as the :mod:`Queue` and :mod:`threading` modules, now " +"take advantage of :class:`collections.deque` for improved performance. " +"(Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:1054 +#: ../../whatsnew/2.4.rst:1055 msgid "" -"The :mod:`ConfigParser` classes have been enhanced slightly. The :meth:" -"`read` method now returns a list of the files that were successfully parsed, " -"and the :meth:`set` method raises :exc:`TypeError` if passed a *value* " -"argument that isn't a string. (Contributed by John Belmonte and David " -"Goodger.)" +"The :mod:`ConfigParser ` classes have been enhanced slightly. " +"The :meth:`~configparser.ConfigParser.read` method now returns a list of the " +"files that were successfully parsed, and " +"the :meth:`~configparser.ConfigParser.set` method raises :exc:`TypeError` if " +"passed a *value* argument that isn't a string. (Contributed by John " +"Belmonte and David Goodger.)" msgstr "" +"The :mod:`ConfigParser ` classes have been enhanced slightly. " +"The :meth:`~configparser.ConfigParser.read` method now returns a list of the " +"files that were successfully parsed, and " +"the :meth:`~configparser.ConfigParser.set` method raises :exc:`TypeError` if " +"passed a *value* argument that isn't a string. (Contributed by John " +"Belmonte and David Goodger.)" -#: ../../whatsnew/2.4.rst:1059 +#: ../../whatsnew/2.4.rst:1060 msgid "" -"The :mod:`curses` module now supports the ncurses extension :func:" -"`use_default_colors`. On platforms where the terminal supports " -"transparency, this makes it possible to use a transparent background. " -"(Contributed by Jörg Lehmann.)" +"The :mod:`curses` module now supports the ncurses " +"extension :func:`use_default_colors`. On platforms where the terminal " +"supports transparency, this makes it possible to use a transparent " +"background. (Contributed by Jörg Lehmann.)" msgstr "" +"The :mod:`curses` module now supports the ncurses " +"extension :func:`use_default_colors`. On platforms where the terminal " +"supports transparency, this makes it possible to use a transparent " +"background. (Contributed by Jörg Lehmann.)" -#: ../../whatsnew/2.4.rst:1064 +#: ../../whatsnew/2.4.rst:1065 msgid "" "The :mod:`difflib` module now includes an :class:`HtmlDiff` class that " "creates an HTML table showing a side by side comparison of two versions of a " "text. (Contributed by Dan Gass.)" msgstr "" +"The :mod:`difflib` module now includes an :class:`HtmlDiff` class that " +"creates an HTML table showing a side by side comparison of two versions of a " +"text. (Contributed by Dan Gass.)" -#: ../../whatsnew/2.4.rst:1068 +#: ../../whatsnew/2.4.rst:1069 msgid "" "The :mod:`email` package was updated to version 3.0, which dropped various " "deprecated APIs and removes support for Python versions earlier than 2.3. " @@ -1248,34 +1723,56 @@ msgid "" "the :attr:`defect` attribute of the message. (Developed by Anthony Baxter, " "Barry Warsaw, Thomas Wouters, and others.)" msgstr "" +"The :mod:`email` package was updated to version 3.0, which dropped various " +"deprecated APIs and removes support for Python versions earlier than 2.3. " +"The 3.0 version of the package uses a new incremental parser for MIME " +"messages, available in the :mod:`email.FeedParser` module. The new parser " +"doesn't require reading the entire message into memory, and doesn't raise " +"exceptions if a message is malformed; instead it records any problems in " +"the :attr:`defect` attribute of the message. (Developed by Anthony Baxter, " +"Barry Warsaw, Thomas Wouters, and others.)" -#: ../../whatsnew/2.4.rst:1077 +#: ../../whatsnew/2.4.rst:1078 msgid "" "The :mod:`heapq` module has been converted to C. The resulting tenfold " "improvement in speed makes the module suitable for handling high volumes of " -"data. In addition, the module has two new functions :func:`nlargest` and :" -"func:`nsmallest` that use heaps to find the N largest or smallest values in " -"a dataset without the expense of a full sort. (Contributed by Raymond " -"Hettinger.)" +"data. In addition, the module has two new functions :func:`nlargest` " +"and :func:`nsmallest` that use heaps to find the N largest or smallest " +"values in a dataset without the expense of a full sort. (Contributed by " +"Raymond Hettinger.)" msgstr "" +"The :mod:`heapq` module has been converted to C. The resulting tenfold " +"improvement in speed makes the module suitable for handling high volumes of " +"data. In addition, the module has two new functions :func:`nlargest` " +"and :func:`nsmallest` that use heaps to find the N largest or smallest " +"values in a dataset without the expense of a full sort. (Contributed by " +"Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:1083 +#: ../../whatsnew/2.4.rst:1084 msgid "" -"The :mod:`httplib` module now contains constants for HTTP status codes " -"defined in various HTTP-related RFC documents. Constants have names such " -"as :const:`OK`, :const:`CREATED`, :const:`CONTINUE`, and :const:" -"`MOVED_PERMANENTLY`; use pydoc to get a full list. (Contributed by Andrew " -"Eland.)" +"The :mod:`httplib ` module now contains constants for HTTP status " +"codes defined in various HTTP-related RFC documents. Constants have names " +"such as :const:`OK`, :const:`CREATED`, :const:`CONTINUE`, " +"and :const:`MOVED_PERMANENTLY`; use pydoc to get a full list. (Contributed " +"by Andrew Eland.)" msgstr "" +"The :mod:`httplib ` module now contains constants for HTTP status " +"codes defined in various HTTP-related RFC documents. Constants have names " +"such as :const:`OK`, :const:`CREATED`, :const:`CONTINUE`, " +"and :const:`MOVED_PERMANENTLY`; use pydoc to get a full list. (Contributed " +"by Andrew Eland.)" -#: ../../whatsnew/2.4.rst:1089 +#: ../../whatsnew/2.4.rst:1090 msgid "" "The :mod:`imaplib` module now supports IMAP's THREAD command (contributed by " "Yves Dionne) and new :meth:`deleteacl` and :meth:`myrights` methods " "(contributed by Arnaud Mazin)." msgstr "" +"The :mod:`imaplib` module now supports IMAP's THREAD command (contributed by " +"Yves Dionne) and new :meth:`deleteacl` and :meth:`myrights` methods " +"(contributed by Arnaud Mazin)." -#: ../../whatsnew/2.4.rst:1093 +#: ../../whatsnew/2.4.rst:1094 msgid "" "The :mod:`itertools` module gained a ``groupby(iterable[, *func*])`` " "function. *iterable* is something that can be iterated over to return a " @@ -1285,33 +1782,49 @@ msgid "" "which have matching values of the key, and returns a series of 2-tuples " "containing the key value and an iterator over the subsequence." msgstr "" +"The :mod:`itertools` module gained a ``groupby(iterable[, *func*])`` " +"function. *iterable* is something that can be iterated over to return a " +"stream of elements, and the optional *func* parameter is a function that " +"takes an element and returns a key value; if omitted, the key is simply the " +"element itself. :func:`groupby` then groups the elements into subsequences " +"which have matching values of the key, and returns a series of 2-tuples " +"containing the key value and an iterator over the subsequence." -#: ../../whatsnew/2.4.rst:1101 +#: ../../whatsnew/2.4.rst:1102 msgid "" "Here's an example to make this clearer. The *key* function simply returns " "whether a number is even or odd, so the result of :func:`groupby` is to " "return consecutive runs of odd or even numbers. ::" msgstr "" +"Here's an example to make this clearer. The *key* function simply returns " +"whether a number is even or odd, so the result of :func:`groupby` is to " +"return consecutive runs of odd or even numbers. ::" -#: ../../whatsnew/2.4.rst:1117 +#: ../../whatsnew/2.4.rst:1118 msgid "" -":func:`groupby` is typically used with sorted input. The logic for :func:" -"`groupby` is similar to the Unix ``uniq`` filter which makes it handy for " -"eliminating, counting, or identifying duplicate elements::" +":func:`groupby` is typically used with sorted input. The logic " +"for :func:`groupby` is similar to the Unix ``uniq`` filter which makes it " +"handy for eliminating, counting, or identifying duplicate elements::" msgstr "" +":func:`groupby` is typically used with sorted input. The logic " +"for :func:`groupby` is similar to the Unix ``uniq`` filter which makes it " +"handy for eliminating, counting, or identifying duplicate elements::" -#: ../../whatsnew/2.4.rst:1140 +#: ../../whatsnew/2.4.rst:1141 msgid "(Contributed by Hye-Shik Chang.)" -msgstr "" +msgstr "(Contributed by Hye-Shik Chang.)" -#: ../../whatsnew/2.4.rst:1142 +#: ../../whatsnew/2.4.rst:1143 msgid "" ":mod:`itertools` also gained a function named ``tee(iterator, N)`` that " "returns *N* independent iterators that replicate *iterator*. If *N* is " "omitted, the default is 2. ::" msgstr "" +":mod:`itertools` also gained a function named ``tee(iterator, N)`` that " +"returns *N* independent iterators that replicate *iterator*. If *N* is " +"omitted, the default is 2. ::" -#: ../../whatsnew/2.4.rst:1155 +#: ../../whatsnew/2.4.rst:1156 msgid "" "Note that :func:`tee` has to keep copies of the values returned by the " "iterator; in the worst case, it may need to keep all of them. This should " @@ -1322,63 +1835,98 @@ msgid "" "include bookmarking, windowing, or lookahead iterators. (Contributed by " "Raymond Hettinger.)" msgstr "" +"Note that :func:`tee` has to keep copies of the values returned by the " +"iterator; in the worst case, it may need to keep all of them. This should " +"therefore be used carefully if the leading iterator can run far ahead of the " +"trailing iterator in a long stream of inputs. If the separation is large, " +"then you might as well use :func:`list` instead. When the iterators track " +"closely with one another, :func:`tee` is ideal. Possible applications " +"include bookmarking, windowing, or lookahead iterators. (Contributed by " +"Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:1164 +#: ../../whatsnew/2.4.rst:1165 msgid "" -"A number of functions were added to the :mod:`locale` module, such as :func:" -"`bind_textdomain_codeset` to specify a particular encoding and a family of :" -"func:`l\\*gettext` functions that return messages in the chosen encoding. " -"(Contributed by Gustavo Niemeyer.)" +"A number of functions were added to the :mod:`locale` module, such " +"as :func:`bind_textdomain_codeset` to specify a particular encoding and a " +"family of :func:`!l\\*gettext` functions that return messages in the chosen " +"encoding. (Contributed by Gustavo Niemeyer.)" msgstr "" +"A number of functions were added to the :mod:`locale` module, such " +"as :func:`bind_textdomain_codeset` to specify a particular encoding and a " +"family of :func:`!l\\*gettext` functions that return messages in the chosen " +"encoding. (Contributed by Gustavo Niemeyer.)" -#: ../../whatsnew/2.4.rst:1169 +#: ../../whatsnew/2.4.rst:1170 msgid "" -"Some keyword arguments were added to the :mod:`logging` package's :func:" -"`basicConfig` function to simplify log configuration. The default behavior " -"is to log messages to standard error, but various keyword arguments can be " -"specified to log to a particular file, change the logging format, or set the " -"logging level. For example::" +"Some keyword arguments were added to the :mod:`logging` " +"package's :func:`basicConfig` function to simplify log configuration. The " +"default behavior is to log messages to standard error, but various keyword " +"arguments can be specified to log to a particular file, change the logging " +"format, or set the logging level. For example::" msgstr "" +"Some keyword arguments were added to the :mod:`logging` " +"package's :func:`basicConfig` function to simplify log configuration. The " +"default behavior is to log messages to standard error, but various keyword " +"arguments can be specified to log to a particular file, change the logging " +"format, or set the logging level. For example::" -#: ../../whatsnew/2.4.rst:1180 +#: ../../whatsnew/2.4.rst:1181 msgid "" "Other additions to the :mod:`logging` package include a ``log(level, msg)`` " "convenience method, as well as a :class:`TimedRotatingFileHandler` class " -"that rotates its log files at a timed interval. The module already had :" -"class:`RotatingFileHandler`, which rotated logs once the file exceeded a " -"certain size. Both classes derive from a new :class:`BaseRotatingHandler` " +"that rotates its log files at a timed interval. The module already " +"had :class:`RotatingFileHandler`, which rotated logs once the file exceeded " +"a certain size. Both classes derive from a new :class:`BaseRotatingHandler` " "class that can be used to implement other rotating handlers." msgstr "" +"Other additions to the :mod:`logging` package include a ``log(level, msg)`` " +"convenience method, as well as a :class:`TimedRotatingFileHandler` class " +"that rotates its log files at a timed interval. The module already " +"had :class:`RotatingFileHandler`, which rotated logs once the file exceeded " +"a certain size. Both classes derive from a new :class:`BaseRotatingHandler` " +"class that can be used to implement other rotating handlers." -#: ../../whatsnew/2.4.rst:1187 +#: ../../whatsnew/2.4.rst:1188 msgid "(Changes implemented by Vinay Sajip.)" -msgstr "" +msgstr "(Changes implemented by Vinay Sajip.)" -#: ../../whatsnew/2.4.rst:1189 +#: ../../whatsnew/2.4.rst:1190 msgid "" "The :mod:`marshal` module now shares interned strings on unpacking a data " "structure. This may shrink the size of certain pickle strings, but the " "primary effect is to make :file:`.pyc` files significantly smaller. " "(Contributed by Martin von Löwis.)" msgstr "" +"The :mod:`marshal` module now shares interned strings on unpacking a data " +"structure. This may shrink the size of certain pickle strings, but the " +"primary effect is to make :file:`.pyc` files significantly smaller. " +"(Contributed by Martin von Löwis.)" -#: ../../whatsnew/2.4.rst:1194 +#: ../../whatsnew/2.4.rst:1195 msgid "" "The :mod:`nntplib` module's :class:`NNTP` class gained :meth:`description` " "and :meth:`descriptions` methods to retrieve newsgroup descriptions for a " "single group or for a range of groups. (Contributed by Jürgen A. Erhard.)" msgstr "" +"The :mod:`nntplib` module's :class:`NNTP` class gained :meth:`description` " +"and :meth:`descriptions` methods to retrieve newsgroup descriptions for a " +"single group or for a range of groups. (Contributed by Jürgen A. Erhard.)" -#: ../../whatsnew/2.4.rst:1198 +#: ../../whatsnew/2.4.rst:1199 msgid "" "Two new functions were added to the :mod:`operator` module, " "``attrgetter(attr)`` and ``itemgetter(index)``. Both functions return " "callables that take a single argument and return the corresponding attribute " -"or item; these callables make excellent data extractors when used with :func:" -"`map` or :func:`sorted`. For example::" +"or item; these callables make excellent data extractors when used " +"with :func:`map` or :func:`sorted`. For example::" msgstr "" +"Two new functions were added to the :mod:`operator` module, " +"``attrgetter(attr)`` and ``itemgetter(index)``. Both functions return " +"callables that take a single argument and return the corresponding attribute " +"or item; these callables make excellent data extractors when used " +"with :func:`map` or :func:`sorted`. For example::" -#: ../../whatsnew/2.4.rst:1214 +#: ../../whatsnew/2.4.rst:1215 msgid "" "The :mod:`optparse` module was updated in various ways. The module now " "passes its messages through :func:`gettext.gettext`, making it possible to " @@ -1386,25 +1934,41 @@ msgid "" "can now include the string ``'%default'``, which will be replaced by the " "option's default value. (Contributed by Greg Ward.)" msgstr "" +"The :mod:`optparse` module was updated in various ways. The module now " +"passes its messages through :func:`gettext.gettext`, making it possible to " +"internationalize Optik's help and error messages. Help messages for options " +"can now include the string ``'%default'``, which will be replaced by the " +"option's default value. (Contributed by Greg Ward.)" -#: ../../whatsnew/2.4.rst:1220 +#: ../../whatsnew/2.4.rst:1221 msgid "" -"The long-term plan is to deprecate the :mod:`rfc822` module in some future " -"Python release in favor of the :mod:`email` package. To this end, the :func:" -"`email.Utils.formatdate` function has been changed to make it usable as a " -"replacement for :func:`rfc822.formatdate`. You may want to write new e-mail " -"processing code with this in mind. (Change implemented by Anthony Baxter.)" +"The long-term plan is to deprecate the :mod:`!rfc822` module in some future " +"Python release in favor of the :mod:`email` package. To this end, " +"the :func:`email.Utils.formatdate ` function has " +"been changed to make it usable as a replacement for :func:`!" +"rfc822.formatdate`. You may want to write new e-mail processing code with " +"this in mind. (Change implemented by Anthony Baxter.)" msgstr "" +"The long-term plan is to deprecate the :mod:`!rfc822` module in some future " +"Python release in favor of the :mod:`email` package. To this end, " +"the :func:`email.Utils.formatdate ` function has " +"been changed to make it usable as a replacement for :func:`!" +"rfc822.formatdate`. You may want to write new e-mail processing code with " +"this in mind. (Change implemented by Anthony Baxter.)" -#: ../../whatsnew/2.4.rst:1226 +#: ../../whatsnew/2.4.rst:1227 msgid "" "A new ``urandom(n)`` function was added to the :mod:`os` module, returning a " "string containing *n* bytes of random data. This function provides access " "to platform-specific sources of randomness such as :file:`/dev/urandom` on " "Linux or the Windows CryptoAPI. (Contributed by Trevor Perrin.)" msgstr "" +"A new ``urandom(n)`` function was added to the :mod:`os` module, returning a " +"string containing *n* bytes of random data. This function provides access " +"to platform-specific sources of randomness such as :file:`/dev/urandom` on " +"Linux or the Windows CryptoAPI. (Contributed by Trevor Perrin.)" -#: ../../whatsnew/2.4.rst:1231 +#: ../../whatsnew/2.4.rst:1232 msgid "" "Another new function: ``os.path.lexists(path)`` returns true if the file " "specified by *path* exists, whether or not it's a symbolic link. This " @@ -1412,26 +1976,37 @@ msgid "" "false if *path* is a symlink that points to a destination that doesn't " "exist. (Contributed by Beni Cherniavsky.)" msgstr "" +"Another new function: ``os.path.lexists(path)`` returns true if the file " +"specified by *path* exists, whether or not it's a symbolic link. This " +"differs from the existing ``os.path.exists(path)`` function, which returns " +"false if *path* is a symlink that points to a destination that doesn't " +"exist. (Contributed by Beni Cherniavsky.)" -#: ../../whatsnew/2.4.rst:1237 +#: ../../whatsnew/2.4.rst:1238 msgid "" "A new :func:`getsid` function was added to the :mod:`posix` module that " "underlies the :mod:`os` module. (Contributed by J. Raynor.)" msgstr "" +"A new :func:`getsid` function was added to the :mod:`posix` module that " +"underlies the :mod:`os` module. (Contributed by J. Raynor.)" -#: ../../whatsnew/2.4.rst:1240 +#: ../../whatsnew/2.4.rst:1241 msgid "" "The :mod:`poplib` module now supports POP over SSL. (Contributed by Hector " "Urtubia.)" msgstr "" +"The :mod:`poplib` module now supports POP over SSL. (Contributed by Hector " +"Urtubia.)" -#: ../../whatsnew/2.4.rst:1243 +#: ../../whatsnew/2.4.rst:1244 msgid "" "The :mod:`profile` module can now profile C extension functions. " "(Contributed by Nick Bastin.)" msgstr "" +"The :mod:`profile` module can now profile C extension functions. " +"(Contributed by Nick Bastin.)" -#: ../../whatsnew/2.4.rst:1246 +#: ../../whatsnew/2.4.rst:1247 msgid "" "The :mod:`random` module has a new method called ``getrandbits(N)`` that " "returns a long integer *N* bits in length. The existing :meth:`randrange` " @@ -1439,8 +2014,13 @@ msgid "" "arbitrarily large random numbers more efficient. (Contributed by Raymond " "Hettinger.)" msgstr "" +"The :mod:`random` module has a new method called ``getrandbits(N)`` that " +"returns a long integer *N* bits in length. The existing :meth:`randrange` " +"method now uses :meth:`getrandbits` where appropriate, making generation of " +"arbitrarily large random numbers more efficient. (Contributed by Raymond " +"Hettinger.)" -#: ../../whatsnew/2.4.rst:1252 +#: ../../whatsnew/2.4.rst:1253 msgid "" "The regular expression language accepted by the :mod:`re` module was " "extended with simple conditional expressions, written as ``(?(group)A|B)``. " @@ -1450,8 +2030,15 @@ msgid "" "group didn't match, the pattern *B* will be used instead. (Contributed by " "Gustavo Niemeyer.)" msgstr "" +"The regular expression language accepted by the :mod:`re` module was " +"extended with simple conditional expressions, written as ``(?(group)A|B)``. " +"*group* is either a numeric group ID or a group name defined with ``(?" +"P...)`` earlier in the expression. If the specified group matched, " +"the regular expression pattern *A* will be tested against the string; if the " +"group didn't match, the pattern *B* will be used instead. (Contributed by " +"Gustavo Niemeyer.)" -#: ../../whatsnew/2.4.rst:1259 +#: ../../whatsnew/2.4.rst:1260 msgid "" "The :mod:`re` module is also no longer recursive, thanks to a massive amount " "of work by Gustavo Niemeyer. In a recursive regular expression engine, " @@ -1464,8 +2051,18 @@ msgid "" "Python 2.4's regular expression engine can match this pattern without " "problems." msgstr "" +"The :mod:`re` module is also no longer recursive, thanks to a massive amount " +"of work by Gustavo Niemeyer. In a recursive regular expression engine, " +"certain patterns result in a large amount of C stack space being consumed, " +"and it was possible to overflow the stack. For example, if you matched a " +"30000-byte string of ``a`` characters against the expression ``(a|b)+``, one " +"stack frame was consumed per character. Python 2.3 tried to check for stack " +"overflow and raise a :exc:`RuntimeError` exception, but certain patterns " +"could sidestep the checking and if you were unlucky Python could segfault. " +"Python 2.4's regular expression engine can match this pattern without " +"problems." -#: ../../whatsnew/2.4.rst:1269 +#: ../../whatsnew/2.4.rst:1270 msgid "" "The :mod:`signal` module now performs tighter error-checking on the " "parameters to the :func:`signal.signal` function. For example, you can't " @@ -1473,350 +2070,490 @@ msgid "" "would quietly accept this, but 2.4 will raise a :exc:`RuntimeError` " "exception." msgstr "" +"The :mod:`signal` module now performs tighter error-checking on the " +"parameters to the :func:`signal.signal` function. For example, you can't " +"set a handler on the :const:`SIGKILL` signal; previous versions of Python " +"would quietly accept this, but 2.4 will raise a :exc:`RuntimeError` " +"exception." -#: ../../whatsnew/2.4.rst:1274 +#: ../../whatsnew/2.4.rst:1275 msgid "" "Two new functions were added to the :mod:`socket` module. :func:`socketpair` " "returns a pair of connected sockets and ``getservbyport(port)`` looks up the " "service name for a given port number. (Contributed by Dave Cole and Barry " "Warsaw.)" msgstr "" +"Two new functions were added to the :mod:`socket` module. :func:`socketpair` " +"returns a pair of connected sockets and ``getservbyport(port)`` looks up the " +"service name for a given port number. (Contributed by Dave Cole and Barry " +"Warsaw.)" -#: ../../whatsnew/2.4.rst:1279 +#: ../../whatsnew/2.4.rst:1280 msgid "" "The :func:`sys.exitfunc` function has been deprecated. Code should be using " "the existing :mod:`atexit` module, which correctly handles calling multiple " "exit functions. Eventually :func:`sys.exitfunc` will become a purely " "internal interface, accessed only by :mod:`atexit`." msgstr "" +"The :func:`sys.exitfunc` function has been deprecated. Code should be using " +"the existing :mod:`atexit` module, which correctly handles calling multiple " +"exit functions. Eventually :func:`sys.exitfunc` will become a purely " +"internal interface, accessed only by :mod:`atexit`." -#: ../../whatsnew/2.4.rst:1284 +#: ../../whatsnew/2.4.rst:1285 msgid "" "The :mod:`tarfile` module now generates GNU-format tar files by default. " "(Contributed by Lars Gustäbel.)" msgstr "" +"The :mod:`tarfile` module now generates GNU-format tar files by default. " +"(Contributed by Lars Gustäbel.)" -#: ../../whatsnew/2.4.rst:1287 +#: ../../whatsnew/2.4.rst:1288 msgid "" "The :mod:`threading` module now has an elegantly simple way to support " "thread-local data. The module contains a :class:`local` class whose " "attribute values are local to different threads. ::" msgstr "" +"The :mod:`threading` module now has an elegantly simple way to support " +"thread-local data. The module contains a :class:`local` class whose " +"attribute values are local to different threads. ::" -#: ../../whatsnew/2.4.rst:1297 +#: ../../whatsnew/2.4.rst:1298 msgid "" -"Other threads can assign and retrieve their own values for the :attr:" -"`number` and :attr:`url` attributes. You can subclass :class:`local` to " -"initialize attributes or to add methods. (Contributed by Jim Fulton.)" +"Other threads can assign and retrieve their own values for " +"the :attr:`number` and :attr:`url` attributes. You can " +"subclass :class:`local` to initialize attributes or to add methods. " +"(Contributed by Jim Fulton.)" msgstr "" +"Other threads can assign and retrieve their own values for " +"the :attr:`number` and :attr:`url` attributes. You can " +"subclass :class:`local` to initialize attributes or to add methods. " +"(Contributed by Jim Fulton.)" -#: ../../whatsnew/2.4.rst:1301 +#: ../../whatsnew/2.4.rst:1302 msgid "" "The :mod:`timeit` module now automatically disables periodic garbage " "collection during the timing loop. This change makes consecutive timings " "more comparable. (Contributed by Raymond Hettinger.)" msgstr "" +"The :mod:`timeit` module now automatically disables periodic garbage " +"collection during the timing loop. This change makes consecutive timings " +"more comparable. (Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:1305 +#: ../../whatsnew/2.4.rst:1306 msgid "" "The :mod:`weakref` module now supports a wider variety of objects including " "Python functions, class instances, sets, frozensets, deques, arrays, files, " "sockets, and regular expression pattern objects. (Contributed by Raymond " "Hettinger.)" msgstr "" +"The :mod:`weakref` module now supports a wider variety of objects including " +"Python functions, class instances, sets, frozensets, deques, arrays, files, " +"sockets, and regular expression pattern objects. (Contributed by Raymond " +"Hettinger.)" -#: ../../whatsnew/2.4.rst:1310 +#: ../../whatsnew/2.4.rst:1311 msgid "" -"The :mod:`xmlrpclib` module now supports a multi-call extension for " -"transmitting multiple XML-RPC calls in a single HTTP operation. (Contributed " -"by Brian Quinlan.)" +"The :mod:`xmlrpclib ` module now supports a multi-call " +"extension for transmitting multiple XML-RPC calls in a single HTTP " +"operation. (Contributed by Brian Quinlan.)" msgstr "" +"The :mod:`xmlrpclib ` module now supports a multi-call " +"extension for transmitting multiple XML-RPC calls in a single HTTP " +"operation. (Contributed by Brian Quinlan.)" -#: ../../whatsnew/2.4.rst:1314 +#: ../../whatsnew/2.4.rst:1315 msgid "" "The :mod:`mpz`, :mod:`rotor`, and :mod:`xreadlines` modules have been " "removed." msgstr "" +"The :mod:`mpz`, :mod:`rotor`, and :mod:`xreadlines` modules have been " +"removed." -#: ../../whatsnew/2.4.rst:1323 +#: ../../whatsnew/2.4.rst:1324 msgid "cookielib" -msgstr "" +msgstr "cookielib" -#: ../../whatsnew/2.4.rst:1325 +#: ../../whatsnew/2.4.rst:1326 msgid "" -"The :mod:`cookielib` library supports client-side handling for HTTP cookies, " -"mirroring the :mod:`Cookie` module's server-side cookie support. Cookies are " -"stored in cookie jars; the library transparently stores cookies offered by " -"the web server in the cookie jar, and fetches the cookie from the jar when " -"connecting to the server. As in web browsers, policy objects control whether " -"cookies are accepted or not." +"The :mod:`cookielib ` library supports client-side handling " +"for HTTP cookies, mirroring the :mod:`Cookie ` module's server-" +"side cookie support. Cookies are stored in cookie jars; the library " +"transparently stores cookies offered by the web server in the cookie jar, " +"and fetches the cookie from the jar when connecting to the server. As in web " +"browsers, policy objects control whether cookies are accepted or not." msgstr "" +"The :mod:`cookielib ` library supports client-side handling " +"for HTTP cookies, mirroring the :mod:`Cookie ` module's server-" +"side cookie support. Cookies are stored in cookie jars; the library " +"transparently stores cookies offered by the web server in the cookie jar, " +"and fetches the cookie from the jar when connecting to the server. As in web " +"browsers, policy objects control whether cookies are accepted or not." -#: ../../whatsnew/2.4.rst:1332 +#: ../../whatsnew/2.4.rst:1333 msgid "" "In order to store cookies across sessions, two implementations of cookie " "jars are provided: one that stores cookies in the Netscape format so " "applications can use the Mozilla or Lynx cookie files, and one that stores " "cookies in the same format as the Perl libwww library." msgstr "" +"In order to store cookies across sessions, two implementations of cookie " +"jars are provided: one that stores cookies in the Netscape format so " +"applications can use the Mozilla or Lynx cookie files, and one that stores " +"cookies in the same format as the Perl libwww library." -#: ../../whatsnew/2.4.rst:1337 +#: ../../whatsnew/2.4.rst:1338 msgid "" -":mod:`urllib2` has been changed to interact with :mod:`cookielib`: :class:" -"`HTTPCookieProcessor` manages a cookie jar that is used when accessing URLs." +":mod:`urllib2 ` has been changed to interact " +"with :mod:`cookielib `: :class:`HTTPCookieProcessor` manages " +"a cookie jar that is used when accessing URLs." msgstr "" +":mod:`urllib2 ` has been changed to interact " +"with :mod:`cookielib `: :class:`HTTPCookieProcessor` manages " +"a cookie jar that is used when accessing URLs." -#: ../../whatsnew/2.4.rst:1341 +#: ../../whatsnew/2.4.rst:1342 msgid "This module was contributed by John J. Lee." -msgstr "" +msgstr "This module was contributed by John J. Lee." -#: ../../whatsnew/2.4.rst:1347 +#: ../../whatsnew/2.4.rst:1348 msgid "doctest" msgstr "doctest" -#: ../../whatsnew/2.4.rst:1349 +#: ../../whatsnew/2.4.rst:1350 msgid "" "The :mod:`doctest` module underwent considerable refactoring thanks to " -"Edward Loper and Tim Peters. Testing can still be as simple as running :" -"func:`doctest.testmod`, but the refactorings allow customizing the module's " -"operation in various ways" +"Edward Loper and Tim Peters. Testing can still be as simple as " +"running :func:`doctest.testmod`, but the refactorings allow customizing the " +"module's operation in various ways" msgstr "" +"The :mod:`doctest` module underwent considerable refactoring thanks to " +"Edward Loper and Tim Peters. Testing can still be as simple as " +"running :func:`doctest.testmod`, but the refactorings allow customizing the " +"module's operation in various ways" -#: ../../whatsnew/2.4.rst:1354 +#: ../../whatsnew/2.4.rst:1355 msgid "" "The new :class:`DocTestFinder` class extracts the tests from a given " "object's docstrings::" msgstr "" +"The new :class:`DocTestFinder` class extracts the tests from a given " +"object's docstrings::" -#: ../../whatsnew/2.4.rst:1370 +#: ../../whatsnew/2.4.rst:1371 msgid "" "The new :class:`DocTestRunner` class then runs individual tests and can " "produce a summary of the results::" msgstr "" +"The new :class:`DocTestRunner` class then runs individual tests and can " +"produce a summary of the results::" -#: ../../whatsnew/2.4.rst:1379 +#: ../../whatsnew/2.4.rst:1380 msgid "The above example produces the following output::" -msgstr "" +msgstr "The above example produces the following output::" -#: ../../whatsnew/2.4.rst:1387 +#: ../../whatsnew/2.4.rst:1388 msgid "" ":class:`DocTestRunner` uses an instance of the :class:`OutputChecker` class " "to compare the expected output with the actual output. This class takes a " "number of different flags that customize its behaviour; ambitious users can " "also write a completely new subclass of :class:`OutputChecker`." msgstr "" +":class:`DocTestRunner` uses an instance of the :class:`OutputChecker` class " +"to compare the expected output with the actual output. This class takes a " +"number of different flags that customize its behaviour; ambitious users can " +"also write a completely new subclass of :class:`OutputChecker`." -#: ../../whatsnew/2.4.rst:1392 +#: ../../whatsnew/2.4.rst:1393 msgid "" "The default output checker provides a number of handy features. For example, " "with the :const:`doctest.ELLIPSIS` option flag, an ellipsis (``...``) in the " "expected output matches any substring, making it easier to accommodate " "outputs that vary in minor ways::" msgstr "" +"The default output checker provides a number of handy features. For example, " +"with the :const:`doctest.ELLIPSIS` option flag, an ellipsis (``...``) in the " +"expected output matches any substring, making it easier to accommodate " +"outputs that vary in minor ways::" -#: ../../whatsnew/2.4.rst:1403 +#: ../../whatsnew/2.4.rst:1404 msgid "Another special string, ````, matches a blank line::" -msgstr "" +msgstr "Another special string, ````, matches a blank line::" -#: ../../whatsnew/2.4.rst:1411 +#: ../../whatsnew/2.4.rst:1412 msgid "" "Another new capability is producing a diff-style display of the output by " -"specifying the :const:`doctest.REPORT_UDIFF` (unified diffs), :const:" -"`doctest.REPORT_CDIFF` (context diffs), or :const:`doctest.REPORT_NDIFF` " -"(delta-style) option flags. For example::" +"specifying the :const:`doctest.REPORT_UDIFF` (unified " +"diffs), :const:`doctest.REPORT_CDIFF` (context diffs), " +"or :const:`doctest.REPORT_NDIFF` (delta-style) option flags. For example::" msgstr "" +"Another new capability is producing a diff-style display of the output by " +"specifying the :const:`doctest.REPORT_UDIFF` (unified " +"diffs), :const:`doctest.REPORT_CDIFF` (context diffs), " +"or :const:`doctest.REPORT_NDIFF` (delta-style) option flags. For example::" -#: ../../whatsnew/2.4.rst:1427 +#: ../../whatsnew/2.4.rst:1428 msgid "" "Running the above function's tests with :const:`doctest.REPORT_UDIFF` " "specified, you get the following output:" msgstr "" +"Running the above function's tests with :const:`doctest.REPORT_UDIFF` " +"specified, you get the following output:" -#: ../../whatsnew/2.4.rst:1448 +#: ../../whatsnew/2.4.rst:1449 msgid "Build and C API Changes" -msgstr "Alterações a compilações e API C" +msgstr "Mudanças a construções e API C" -#: ../../whatsnew/2.4.rst:1450 +#: ../../whatsnew/2.4.rst:1451 msgid "Some of the changes to Python's build process and to the C API are:" -msgstr "" +msgstr "Some of the changes to Python's build process and to the C API are:" -#: ../../whatsnew/2.4.rst:1452 +#: ../../whatsnew/2.4.rst:1453 msgid "" "Three new convenience macros were added for common return values from " "extension functions: :c:macro:`Py_RETURN_NONE`, :c:macro:`Py_RETURN_TRUE`, " "and :c:macro:`Py_RETURN_FALSE`. (Contributed by Brett Cannon.)" msgstr "" +"Three new convenience macros were added for common return values from " +"extension functions: :c:macro:`Py_RETURN_NONE`, :c:macro:`Py_RETURN_TRUE`, " +"and :c:macro:`Py_RETURN_FALSE`. (Contributed by Brett Cannon.)" -#: ../../whatsnew/2.4.rst:1456 +#: ../../whatsnew/2.4.rst:1457 msgid "" "Another new macro, :c:macro:`Py_CLEAR`, decreases the reference count of " "*obj* and sets *obj* to the null pointer. (Contributed by Jim Fulton.)" msgstr "" +"Another new macro, :c:macro:`Py_CLEAR`, decreases the reference count of " +"*obj* and sets *obj* to the null pointer. (Contributed by Jim Fulton.)" -#: ../../whatsnew/2.4.rst:1459 +#: ../../whatsnew/2.4.rst:1460 msgid "" "A new function, ``PyTuple_Pack(N, obj1, obj2, ..., objN)``, constructs " "tuples from a variable length argument list of Python objects. (Contributed " "by Raymond Hettinger.)" msgstr "" +"A new function, ``PyTuple_Pack(N, obj1, obj2, ..., objN)``, constructs " +"tuples from a variable length argument list of Python objects. (Contributed " +"by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:1463 +#: ../../whatsnew/2.4.rst:1464 msgid "" "A new function, ``PyDict_Contains(d, k)``, implements fast dictionary " "lookups without masking exceptions raised during the look-up process. " "(Contributed by Raymond Hettinger.)" msgstr "" +"A new function, ``PyDict_Contains(d, k)``, implements fast dictionary " +"lookups without masking exceptions raised during the look-up process. " +"(Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:1467 +#: ../../whatsnew/2.4.rst:1468 msgid "" "The :c:expr:`Py_IS_NAN(X)` macro returns 1 if its float or double argument " "*X* is a NaN. (Contributed by Tim Peters.)" msgstr "" +"The :c:expr:`Py_IS_NAN(X)` macro returns 1 if its float or double argument " +"*X* is a NaN. (Contributed by Tim Peters.)" -#: ../../whatsnew/2.4.rst:1470 +#: ../../whatsnew/2.4.rst:1471 msgid "" -"C code can avoid unnecessary locking by using the new :c:func:" -"`PyEval_ThreadsInitialized` function to tell if any thread operations have " +"C code can avoid unnecessary locking by using the new :c:func:`!" +"PyEval_ThreadsInitialized` function to tell if any thread operations have " "been performed. If this function returns false, no lock operations are " "needed. (Contributed by Nick Coghlan.)" msgstr "" +"C code can avoid unnecessary locking by using the new :c:func:`!" +"PyEval_ThreadsInitialized` function to tell if any thread operations have " +"been performed. If this function returns false, no lock operations are " +"needed. (Contributed by Nick Coghlan.)" -#: ../../whatsnew/2.4.rst:1475 +#: ../../whatsnew/2.4.rst:1476 msgid "" -"A new function, :c:func:`PyArg_VaParseTupleAndKeywords`, is the same as :c:" -"func:`PyArg_ParseTupleAndKeywords` but takes a :c:type:`va_list` instead of " -"a number of arguments. (Contributed by Greg Chapman.)" +"A new function, :c:func:`PyArg_VaParseTupleAndKeywords`, is the same " +"as :c:func:`PyArg_ParseTupleAndKeywords` but takes a :c:type:`va_list` " +"instead of a number of arguments. (Contributed by Greg Chapman.)" msgstr "" +"A new function, :c:func:`PyArg_VaParseTupleAndKeywords`, is the same " +"as :c:func:`PyArg_ParseTupleAndKeywords` but takes a :c:type:`va_list` " +"instead of a number of arguments. (Contributed by Greg Chapman.)" -#: ../../whatsnew/2.4.rst:1479 +#: ../../whatsnew/2.4.rst:1480 msgid "" -"A new method flag, :const:`METH_COEXISTS`, allows a function defined in " +"A new method flag, :c:macro:`METH_COEXIST`, allows a function defined in " "slots to co-exist with a :c:type:`PyCFunction` having the same name. This " "can halve the access time for a method such as :meth:`set.__contains__`. " "(Contributed by Raymond Hettinger.)" msgstr "" +"A new method flag, :c:macro:`METH_COEXIST`, allows a function defined in " +"slots to co-exist with a :c:type:`PyCFunction` having the same name. This " +"can halve the access time for a method such as :meth:`set.__contains__`. " +"(Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.4.rst:1484 +#: ../../whatsnew/2.4.rst:1485 msgid "" "Python can now be built with additional profiling for the interpreter " -"itself, intended as an aid to people developing the Python core. Providing :" -"option:`!--enable-profiling` to the :program:`configure` script will let you " -"profile the interpreter with :program:`gprof`, and providing the :option:`!--" -"with-tsc` switch enables profiling using the Pentium's Time-Stamp-Counter " -"register. Note that the :option:`!--with-tsc` switch is slightly misnamed, " -"because the profiling feature also works on the PowerPC platform, though " -"that processor architecture doesn't call that register \"the TSC " -"register\". (Contributed by Jeremy Hylton.)" +"itself, intended as an aid to people developing the Python core. " +"Providing :option:`!--enable-profiling` to the :program:`configure` script " +"will let you profile the interpreter with :program:`gprof`, and providing " +"the :option:`!--with-tsc` switch enables profiling using the Pentium's Time-" +"Stamp-Counter register. Note that the :option:`!--with-tsc` switch is " +"slightly misnamed, because the profiling feature also works on the PowerPC " +"platform, though that processor architecture doesn't call that register " +"\"the TSC register\". (Contributed by Jeremy Hylton.)" msgstr "" +"Python can now be built with additional profiling for the interpreter " +"itself, intended as an aid to people developing the Python core. " +"Providing :option:`!--enable-profiling` to the :program:`configure` script " +"will let you profile the interpreter with :program:`gprof`, and providing " +"the :option:`!--with-tsc` switch enables profiling using the Pentium's Time-" +"Stamp-Counter register. Note that the :option:`!--with-tsc` switch is " +"slightly misnamed, because the profiling feature also works on the PowerPC " +"platform, though that processor architecture doesn't call that register " +"\"the TSC register\". (Contributed by Jeremy Hylton.)" -#: ../../whatsnew/2.4.rst:1494 +#: ../../whatsnew/2.4.rst:1495 msgid "" -"The :c:type:`tracebackobject` type has been renamed to :c:type:" -"`PyTracebackObject`." +"The :c:type:`!tracebackobject` type has been renamed " +"to :c:type:`PyTracebackObject`." msgstr "" +"The :c:type:`!tracebackobject` type has been renamed " +"to :c:type:`PyTracebackObject`." -#: ../../whatsnew/2.4.rst:1501 +#: ../../whatsnew/2.4.rst:1502 msgid "Port-Specific Changes" -msgstr "" +msgstr "Port-Specific Changes" -#: ../../whatsnew/2.4.rst:1503 +#: ../../whatsnew/2.4.rst:1504 msgid "" "The Windows port now builds under MSVC++ 7.1 as well as version 6. " "(Contributed by Martin von Löwis.)" msgstr "" +"The Windows port now builds under MSVC++ 7.1 as well as version 6. " +"(Contributed by Martin von Löwis.)" -#: ../../whatsnew/2.4.rst:1510 +#: ../../whatsnew/2.4.rst:1511 msgid "Porting to Python 2.4" -msgstr "" +msgstr "Porting to Python 2.4" -#: ../../whatsnew/2.4.rst:1512 +#: ../../whatsnew/2.4.rst:1513 msgid "" "This section lists previously described changes that may require changes to " "your code:" msgstr "" +"This section lists previously described changes that may require changes to " +"your code:" -#: ../../whatsnew/2.4.rst:1515 +#: ../../whatsnew/2.4.rst:1516 msgid "" "Left shifts and hexadecimal/octal constants that are too large no longer " "trigger a :exc:`FutureWarning` and return a value limited to 32 or 64 bits; " "instead they return a long integer." msgstr "" +"Left shifts and hexadecimal/octal constants that are too large no longer " +"trigger a :exc:`FutureWarning` and return a value limited to 32 or 64 bits; " +"instead they return a long integer." -#: ../../whatsnew/2.4.rst:1522 +#: ../../whatsnew/2.4.rst:1523 msgid "" "The :func:`zip` built-in function and :func:`itertools.izip` now return an " "empty list instead of raising a :exc:`TypeError` exception if called with no " "arguments." msgstr "" +"The :func:`zip` built-in function and :func:`itertools.izip` now return an " +"empty list instead of raising a :exc:`TypeError` exception if called with no " +"arguments." -#: ../../whatsnew/2.4.rst:1526 +#: ../../whatsnew/2.4.rst:1527 msgid "" "You can no longer compare the :class:`date` and :class:`~datetime.datetime` " "instances provided by the :mod:`datetime` module. Two instances of " "different classes will now always be unequal, and relative comparisons " "(``<``, ``>``) will raise a :exc:`TypeError`." msgstr "" +"You can no longer compare the :class:`date` and :class:`~datetime.datetime` " +"instances provided by the :mod:`datetime` module. Two instances of " +"different classes will now always be unequal, and relative comparisons " +"(``<``, ``>``) will raise a :exc:`TypeError`." -#: ../../whatsnew/2.4.rst:1531 +#: ../../whatsnew/2.4.rst:1532 msgid "" -":func:`dircache.listdir` now passes exceptions to the caller instead of " +":func:`!dircache.listdir` now passes exceptions to the caller instead of " "returning empty lists." msgstr "" +":func:`!dircache.listdir` now passes exceptions to the caller instead of " +"returning empty lists." -#: ../../whatsnew/2.4.rst:1534 +#: ../../whatsnew/2.4.rst:1535 msgid "" ":func:`LexicalHandler.startDTD` used to receive the public and system IDs in " "the wrong order. This has been corrected; applications relying on the wrong " "order need to be fixed." msgstr "" +":func:`LexicalHandler.startDTD` used to receive the public and system IDs in " +"the wrong order. This has been corrected; applications relying on the wrong " +"order need to be fixed." -#: ../../whatsnew/2.4.rst:1538 +#: ../../whatsnew/2.4.rst:1539 msgid "" ":func:`fcntl.ioctl` now warns if the *mutate* argument is omitted and " "relevant." msgstr "" +":func:`fcntl.ioctl` now warns if the *mutate* argument is omitted and " +"relevant." -#: ../../whatsnew/2.4.rst:1541 +#: ../../whatsnew/2.4.rst:1542 msgid "" "The :mod:`tarfile` module now generates GNU-format tar files by default." msgstr "" +"The :mod:`tarfile` module now generates GNU-format tar files by default." -#: ../../whatsnew/2.4.rst:1543 +#: ../../whatsnew/2.4.rst:1544 msgid "" "Encountering a failure while importing a module no longer leaves a partially " "initialized module object in ``sys.modules``." msgstr "" +"Encountering a failure while importing a module no longer leaves a partially " +"initialized module object in ``sys.modules``." -#: ../../whatsnew/2.4.rst:1546 +#: ../../whatsnew/2.4.rst:1547 msgid "" ":const:`None` is now a constant; code that binds a new value to the name " "``None`` is now a syntax error." msgstr "" +":const:`None` is now a constant; code that binds a new value to the name " +"``None`` is now a syntax error." -#: ../../whatsnew/2.4.rst:1549 +#: ../../whatsnew/2.4.rst:1550 msgid "" "The :func:`signals.signal` function now raises a :exc:`RuntimeError` " "exception for certain illegal values; previously these errors would pass " -"silently. For example, you can no longer set a handler on the :const:" -"`SIGKILL` signal." +"silently. For example, you can no longer set a handler on " +"the :const:`SIGKILL` signal." msgstr "" +"The :func:`signals.signal` function now raises a :exc:`RuntimeError` " +"exception for certain illegal values; previously these errors would pass " +"silently. For example, you can no longer set a handler on " +"the :const:`SIGKILL` signal." -#: ../../whatsnew/2.4.rst:1559 +#: ../../whatsnew/2.4.rst:1560 msgid "Acknowledgements" msgstr "Reconhecimentos" -#: ../../whatsnew/2.4.rst:1561 +#: ../../whatsnew/2.4.rst:1562 msgid "" "The author would like to thank the following people for offering " "suggestions, corrections and assistance with various drafts of this article: " "Koray Can, Hye-Shik Chang, Michael Dyck, Raymond Hettinger, Brian Hurt, " "Hamish Lawson, Fredrik Lundh, Sean Reifschneider, Sadruddin Rejeb." msgstr "" +"The author would like to thank the following people for offering " +"suggestions, corrections and assistance with various drafts of this article: " +"Koray Can, Hye-Shik Chang, Michael Dyck, Raymond Hettinger, Brian Hurt, " +"Hamish Lawson, Fredrik Lundh, Sean Reifschneider, Sadruddin Rejeb." -#: ../../whatsnew/2.4.rst:414 +#: ../../whatsnew/2.4.rst:415 msgid "universal newlines" msgstr "novas linhas universais" -#: ../../whatsnew/2.4.rst:414 +#: ../../whatsnew/2.4.rst:415 msgid "What's new" -msgstr "" +msgstr "What's new" diff --git a/whatsnew/2.5.po b/whatsnew/2.5.po index f2e1af874..0e2e88b54 100644 --- a/whatsnew/2.5.po +++ b/whatsnew/2.5.po @@ -1,38 +1,31 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Victor Matheus Castro , 2021 -# Adson Rodrigues , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Misael borges , 2021 -# Rodrigo Cândido, 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" #: ../../whatsnew/2.5.rst:3 msgid "What's New in Python 2.5" -msgstr "O que há de novo no Python 2.5" +msgstr "What's New in Python 2.5" #: ../../whatsnew/2.5.rst:0 msgid "Author" @@ -48,6 +41,9 @@ msgid "" "Python 2.5 is scheduled for August 2006; :pep:`356` describes the planned " "release schedule. Python 2.5 was released on September 19, 2006." msgstr "" +"This article explains the new features in Python 2.5. The final release of " +"Python 2.5 is scheduled for August 2006; :pep:`356` describes the planned " +"release schedule. Python 2.5 was released on September 19, 2006." #: ../../whatsnew/2.5.rst:16 msgid "" @@ -58,6 +54,12 @@ msgid "" "SQLite database module (:mod:`sqlite`), and the :mod:`ctypes` module for " "calling C functions." msgstr "" +"The changes in Python 2.5 are an interesting mix of language and library " +"improvements. The library enhancements will be more important to Python's " +"user community, I think, because several widely useful packages were added. " +"New modules include ElementTree for XML processing (:mod:`xml.etree`), the " +"SQLite database module (:mod:`sqlite`), and the :mod:`ctypes` module for " +"calling C functions." #: ../../whatsnew/2.5.rst:23 msgid "" @@ -68,11 +70,22 @@ msgid "" "statement will make writing cleanup code easier (section :ref:`pep-343`). " "Values can now be passed into generators (section :ref:`pep-342`). Imports " "are now visible as either absolute or relative (section :ref:`pep-328`). " -"Some corner cases of exception handling are handled better (section :ref:" -"`pep-341`). All these improvements are worthwhile, but they're improvements " -"to one specific language feature or another; none of them are broad " -"modifications to Python's semantics." +"Some corner cases of exception handling are handled better " +"(section :ref:`pep-341`). All these improvements are worthwhile, but " +"they're improvements to one specific language feature or another; none of " +"them are broad modifications to Python's semantics." msgstr "" +"The language changes are of middling significance. Some pleasant new " +"features were added, but most of them aren't features that you'll use every " +"day. Conditional expressions were finally added to the language using a " +"novel syntax; see section :ref:`pep-308`. The new ':keyword:`with`' " +"statement will make writing cleanup code easier (section :ref:`pep-343`). " +"Values can now be passed into generators (section :ref:`pep-342`). Imports " +"are now visible as either absolute or relative (section :ref:`pep-328`). " +"Some corner cases of exception handling are handled better " +"(section :ref:`pep-341`). All these improvements are worthwhile, but " +"they're improvements to one specific language feature or another; none of " +"them are broad modifications to Python's semantics." #: ../../whatsnew/2.5.rst:34 msgid "" @@ -81,6 +94,10 @@ msgid "" "change logs finds there were 353 patches applied and 458 bugs fixed between " "Python 2.4 and 2.5. (Both figures are likely to be underestimates.)" msgstr "" +"As well as the language and library additions, other improvements and " +"bugfixes were made throughout the source tree. A search through the SVN " +"change logs finds there were 353 patches applied and 458 bugs fixed between " +"Python 2.4 and 2.5. (Both figures are likely to be underestimates.)" #: ../../whatsnew/2.5.rst:39 msgid "" @@ -91,16 +108,24 @@ msgid "" "implementation and design rationale, refer to the PEP for a particular new " "feature." msgstr "" +"This article doesn't try to be a complete specification of the new features; " +"instead changes are briefly introduced using helpful examples. For full " +"details, you should always refer to the documentation for Python 2.5 at " +"https://docs.python.org. If you want to understand the complete " +"implementation and design rationale, refer to the PEP for a particular new " +"feature." #: ../../whatsnew/2.5.rst:45 msgid "" "Comments, suggestions, and error reports for this document are welcome; " "please e-mail them to the author or open a bug in the Python bug tracker." msgstr "" +"Comments, suggestions, and error reports for this document are welcome; " +"please e-mail them to the author or open a bug in the Python bug tracker." #: ../../whatsnew/2.5.rst:54 msgid "PEP 308: Conditional Expressions" -msgstr "" +msgstr "PEP 308: Conditional Expressions" #: ../../whatsnew/2.5.rst:56 msgid "" @@ -110,6 +135,11 @@ msgid "" "you write a single assignment statement that has the same effect as the " "following::" msgstr "" +"For a long time, people have been requesting a way to write conditional " +"expressions, which are expressions that return value A or value B depending " +"on whether a Boolean value is true or false. A conditional expression lets " +"you write a single assignment statement that has the same effect as the " +"following::" #: ../../whatsnew/2.5.rst:66 msgid "" @@ -119,10 +149,15 @@ msgid "" "was preferred by a clear majority. Candidates included C's ``cond ? true_v : " "false_v``, ``if cond then true_v else false_v``, and 16 other variations." msgstr "" +"There have been endless tedious discussions of syntax on both python-dev and " +"comp.lang.python. A vote was even held that found the majority of voters " +"wanted conditional expressions in some form, but there was no syntax that " +"was preferred by a clear majority. Candidates included C's ``cond ? true_v : " +"false_v``, ``if cond then true_v else false_v``, and 16 other variations." #: ../../whatsnew/2.5.rst:72 msgid "Guido van Rossum eventually chose a surprising syntax::" -msgstr "" +msgstr "Guido van Rossum eventually chose a surprising syntax::" #: ../../whatsnew/2.5.rst:76 msgid "" @@ -132,6 +167,11 @@ msgid "" "condition was true. Similarly, the *false_value* expression is only " "evaluated when the condition is false." msgstr "" +"Evaluation is still lazy as in existing Boolean expressions, so the order of " +"evaluation jumps around a bit. The *condition* expression in the middle is " +"evaluated first, and the *true_value* expression is evaluated only if the " +"condition was true. Similarly, the *false_value* expression is only " +"evaluated when the condition is false." #: ../../whatsnew/2.5.rst:82 msgid "" @@ -144,6 +184,14 @@ msgid "" "when the condition isn't met. The conditional syntax makes this pattern a " "bit more obvious::" msgstr "" +"This syntax may seem strange and backwards; why does the condition go in the " +"*middle* of the expression, and not in the front as in C's ``c ? x : y``? " +"The decision was checked by applying the new syntax to the modules in the " +"standard library and seeing how the resulting code read. In many cases " +"where a conditional expression is used, one value seems to be the 'common " +"case' and one value is an 'exceptional case', used only on rarer occasions " +"when the condition isn't met. The conditional syntax makes this pattern a " +"bit more obvious::" #: ../../whatsnew/2.5.rst:92 msgid "" @@ -152,6 +200,10 @@ msgid "" "an empty string is returned.\" I doubt I will use conditional expressions " "very often where there isn't a clear common and uncommon case." msgstr "" +"I read the above statement as meaning \"here *contents* is usually assigned " +"a value of ``doc+'\\n'``; sometimes *doc* is empty, in which special case " +"an empty string is returned.\" I doubt I will use conditional expressions " +"very often where there isn't a clear common and uncommon case." #: ../../whatsnew/2.5.rst:97 msgid "" @@ -160,6 +212,10 @@ msgid "" "require parentheses in the Python language's grammar, but as a matter of " "style I think you should always use them. Consider these two statements::" msgstr "" +"There was some discussion of whether the language should require surrounding " +"conditional expressions with parentheses. The decision was made to *not* " +"require parentheses in the Python language's grammar, but as a matter of " +"style I think you should always use them. Consider these two statements::" #: ../../whatsnew/2.5.rst:108 msgid "" @@ -169,6 +225,11 @@ msgid "" "better, in my opinion, because it makes it clear that the assignment is " "always performed and the choice is being made between two values." msgstr "" +"In the first version, I think a reader's eye might group the statement into " +"'level = 1', 'if logging', 'else 0', and think that the condition decides " +"whether the assignment to *level* is performed. The second version reads " +"better, in my opinion, because it makes it clear that the assignment is " +"always performed and the choice is being made between two values." #: ../../whatsnew/2.5.rst:114 msgid "" @@ -177,26 +238,34 @@ msgid "" "expressions. See :pep:`308` for some examples. If you put parentheses " "around your conditional expressions, you won't run into this case." msgstr "" +"Another reason for including the brackets: a few odd combinations of list " +"comprehensions and lambdas could look like incorrect conditional " +"expressions. See :pep:`308` for some examples. If you put parentheses " +"around your conditional expressions, you won't run into this case." #: ../../whatsnew/2.5.rst:123 msgid ":pep:`308` - Conditional Expressions" -msgstr "" +msgstr ":pep:`308` - Conditional Expressions" #: ../../whatsnew/2.5.rst:123 msgid "" "PEP written by Guido van Rossum and Raymond D. Hettinger; implemented by " "Thomas Wouters." msgstr "" +"PEP written by Guido van Rossum and Raymond D. Hettinger; implemented by " +"Thomas Wouters." #: ../../whatsnew/2.5.rst:132 msgid "PEP 309: Partial Function Application" -msgstr "" +msgstr "PEP 309: Partial Function Application" #: ../../whatsnew/2.5.rst:134 msgid "" "The :mod:`functools` module is intended to contain tools for functional-" "style programming." msgstr "" +"The :mod:`functools` module is intended to contain tools for functional-" +"style programming." #: ../../whatsnew/2.5.rst:137 msgid "" @@ -207,6 +276,12 @@ msgid "" "c)`` that was equivalent to ``f(1, b, c)``. This is called \"partial " "function application\"." msgstr "" +"One useful tool in this module is the :func:`partial` function. For programs " +"written in a functional style, you'll sometimes want to construct variants " +"of existing functions that have some of the parameters filled in. Consider " +"a Python function ``f(a, b, c)``; you could create a new function ``g(b, " +"c)`` that was equivalent to ``f(1, b, c)``. This is called \"partial " +"function application\"." #: ../../whatsnew/2.5.rst:144 msgid "" @@ -214,6 +289,9 @@ msgid "" "kwarg1=value1, kwarg2=value2)``. The resulting object is callable, so you " "can just call it to invoke *function* with the filled-in arguments." msgstr "" +":func:`partial` takes the arguments ``(function, arg1, arg2, ... " +"kwarg1=value1, kwarg2=value2)``. The resulting object is callable, so you " +"can just call it to invoke *function* with the filled-in arguments." #: ../../whatsnew/2.5.rst:148 msgid "Here's a small but realistic example::" @@ -223,9 +301,13 @@ msgstr "Aqui está um pequeno mas bem realístico exemplo::" msgid "" "Here's another example, from a program that uses PyGTK. Here a context-" "sensitive pop-up menu is being constructed dynamically. The callback " -"provided for the menu option is a partially applied version of the :meth:" -"`open_item` method, where the first argument has been provided. ::" +"provided for the menu option is a partially applied version of " +"the :meth:`open_item` method, where the first argument has been provided. ::" msgstr "" +"Here's another example, from a program that uses PyGTK. Here a context-" +"sensitive pop-up menu is being constructed dynamically. The callback " +"provided for the menu option is a partially applied version of " +"the :meth:`open_item` method, where the first argument has been provided. ::" #: ../../whatsnew/2.5.rst:173 msgid "" @@ -235,6 +317,11 @@ msgid "" "docstring attribute to a wrapper function so that tracebacks inside the " "wrapped function are easier to understand. For example, you might write::" msgstr "" +"Another function in the :mod:`functools` module is the " +"``update_wrapper(wrapper, wrapped)`` function that helps you write well-" +"behaved decorators. :func:`update_wrapper` copies the name, module, and " +"docstring attribute to a wrapper function so that tracebacks inside the " +"wrapped function are easier to understand. For example, you might write::" #: ../../whatsnew/2.5.rst:186 msgid "" @@ -242,20 +329,25 @@ msgid "" "copy the wrapped function's information. An alternate version of the " "previous example would be::" msgstr "" +":func:`wraps` is a decorator that can be used inside your own decorators to " +"copy the wrapped function's information. An alternate version of the " +"previous example would be::" #: ../../whatsnew/2.5.rst:201 msgid ":pep:`309` - Partial Function Application" -msgstr "" +msgstr ":pep:`309` - Partial Function Application" #: ../../whatsnew/2.5.rst:201 msgid "" "PEP proposed and written by Peter Harris; implemented by Hye-Shik Chang and " "Nick Coghlan, with adaptations by Raymond Hettinger." msgstr "" +"PEP proposed and written by Peter Harris; implemented by Hye-Shik Chang and " +"Nick Coghlan, with adaptations by Raymond Hettinger." #: ../../whatsnew/2.5.rst:210 msgid "PEP 314: Metadata for Python Software Packages v1.1" -msgstr "" +msgstr "PEP 314: Metadata for Python Software Packages v1.1" #: ../../whatsnew/2.5.rst:212 msgid "" @@ -265,6 +357,11 @@ msgid "" "command, the dependency information will be recorded in the :file:`PKG-INFO` " "file." msgstr "" +"Some simple dependency support was added to Distutils. The :func:`setup` " +"function now has ``requires``, ``provides``, and ``obsoletes`` keyword " +"parameters. When you build a source distribution using the ``sdist`` " +"command, the dependency information will be recorded in the :file:`PKG-INFO` " +"file." #: ../../whatsnew/2.5.rst:217 msgid "" @@ -273,6 +370,10 @@ msgid "" "an entry in the package index, determine the dependencies for a package, and " "download the required packages. ::" msgstr "" +"Another new keyword parameter is ``download_url``, which should be set to a " +"URL for the package's source code. This means it's now possible to look up " +"an entry in the package index, determine the dependencies for a package, and " +"download the required packages. ::" #: ../../whatsnew/2.5.rst:231 msgid "" @@ -280,6 +381,9 @@ msgid "" "storing source and binary archives for a package. The new :command:`upload` " "Distutils command will upload a package to the repository." msgstr "" +"Another new enhancement to the Python package index at https://pypi.org is " +"storing source and binary archives for a package. The new :command:`upload` " +"Distutils command will upload a package to the repository." #: ../../whatsnew/2.5.rst:236 msgid "" @@ -289,25 +393,33 @@ msgid "" "Optionally you can GPG-sign the package by supplying the :option:`!--sign` " "and :option:`!--identity` options." msgstr "" +"Before a package can be uploaded, you must be able to build a distribution " +"using the :command:`sdist` Distutils command. Once that works, you can run " +"``python setup.py upload`` to add your package to the PyPI archive. " +"Optionally you can GPG-sign the package by supplying the :option:`!--sign` " +"and :option:`!--identity` options." #: ../../whatsnew/2.5.rst:242 msgid "" "Package uploading was implemented by Martin von Löwis and Richard Jones." msgstr "" +"Package uploading was implemented by Martin von Löwis and Richard Jones." #: ../../whatsnew/2.5.rst:248 msgid ":pep:`314` - Metadata for Python Software Packages v1.1" -msgstr "" +msgstr ":pep:`314` - Metadata for Python Software Packages v1.1" #: ../../whatsnew/2.5.rst:248 msgid "" "PEP proposed and written by A.M. Kuchling, Richard Jones, and Fred Drake; " "implemented by Richard Jones and Fred Drake." msgstr "" +"PEP proposed and written by A.M. Kuchling, Richard Jones, and Fred Drake; " +"implemented by Richard Jones and Fred Drake." #: ../../whatsnew/2.5.rst:257 msgid "PEP 328: Absolute and Relative Imports" -msgstr "" +msgstr "PEP 328: Absolute and Relative Imports" #: ../../whatsnew/2.5.rst:259 msgid "" @@ -316,6 +428,10 @@ msgid "" "``from ... import ...`` statement, making it easier to import many different " "names." msgstr "" +"The simpler part of :pep:`328` was implemented in Python 2.4: parentheses " +"could now be used to enclose the names imported from a module using the " +"``from ... import ...`` statement, making it easier to import many different " +"names." #: ../../whatsnew/2.5.rst:263 msgid "" @@ -324,26 +440,38 @@ msgid "" "plan is to move toward making absolute imports the default in future " "versions of Python." msgstr "" +"The more complicated part has been implemented in Python 2.5: importing a " +"module can be specified to use absolute or package-relative imports. The " +"plan is to move toward making absolute imports the default in future " +"versions of Python." #: ../../whatsnew/2.5.rst:267 msgid "Let's say you have a package directory like this::" -msgstr "" +msgstr "Let's say you have a package directory like this::" #: ../../whatsnew/2.5.rst:274 msgid "" -"This defines a package named :mod:`pkg` containing the :mod:`pkg.main` and :" -"mod:`pkg.string` submodules." +"This defines a package named :mod:`pkg` containing the :mod:`pkg.main` " +"and :mod:`pkg.string` submodules." msgstr "" +"This defines a package named :mod:`pkg` containing the :mod:`pkg.main` " +"and :mod:`pkg.string` submodules." #: ../../whatsnew/2.5.rst:277 msgid "" "Consider the code in the :file:`main.py` module. What happens if it " "executes the statement ``import string``? In Python 2.4 and earlier, it " "will first look in the package's directory to perform a relative import, " -"finds :file:`pkg/string.py`, imports the contents of that file as the :mod:" -"`pkg.string` module, and that module is bound to the name ``string`` in the :" -"mod:`pkg.main` module's namespace." +"finds :file:`pkg/string.py`, imports the contents of that file as " +"the :mod:`pkg.string` module, and that module is bound to the name " +"``string`` in the :mod:`pkg.main` module's namespace." msgstr "" +"Consider the code in the :file:`main.py` module. What happens if it " +"executes the statement ``import string``? In Python 2.4 and earlier, it " +"will first look in the package's directory to perform a relative import, " +"finds :file:`pkg/string.py`, imports the contents of that file as " +"the :mod:`pkg.string` module, and that module is bound to the name " +"``string`` in the :mod:`pkg.main` module's namespace." #: ../../whatsnew/2.5.rst:284 msgid "" @@ -355,16 +483,29 @@ msgid "" "imports from the standard library, ``import py; py.std.string.join()``, but " "that package isn't available on all Python installations." msgstr "" +"That's fine if :mod:`pkg.string` was what you wanted. But what if you " +"wanted Python's standard :mod:`string` module? There's no clean way to " +"ignore :mod:`pkg.string` and look for the standard module; generally you had " +"to look at the contents of ``sys.modules``, which is slightly unclean. " +"Holger Krekel's :mod:`py.std` package provides a tidier way to perform " +"imports from the standard library, ``import py; py.std.string.join()``, but " +"that package isn't available on all Python installations." #: ../../whatsnew/2.5.rst:292 msgid "" "Reading code which relies on relative imports is also less clear, because a " -"reader may be confused about which module, :mod:`string` or :mod:`pkg." -"string`, is intended to be used. Python users soon learned not to duplicate " -"the names of standard library modules in the names of their packages' " -"submodules, but you can't protect against having your submodule's name being " -"used for a new module added in a future version of Python." +"reader may be confused about which module, :mod:`string` " +"or :mod:`pkg.string`, is intended to be used. Python users soon learned not " +"to duplicate the names of standard library modules in the names of their " +"packages' submodules, but you can't protect against having your submodule's " +"name being used for a new module added in a future version of Python." msgstr "" +"Reading code which relies on relative imports is also less clear, because a " +"reader may be confused about which module, :mod:`string` " +"or :mod:`pkg.string`, is intended to be used. Python users soon learned not " +"to duplicate the names of standard library modules in the names of their " +"packages' submodules, but you can't protect against having your submodule's " +"name being used for a new module added in a future version of Python." #: ../../whatsnew/2.5.rst:299 msgid "" @@ -376,27 +517,43 @@ msgid "" "that users should begin using absolute imports as much as possible, so it's " "preferable to begin writing ``from pkg import string`` in your code." msgstr "" +"In Python 2.5, you can switch :keyword:`import`'s behaviour to absolute " +"imports using a ``from __future__ import absolute_import`` directive. This " +"absolute-import behaviour will become the default in a future version " +"(probably Python 2.7). Once absolute imports are the default, ``import " +"string`` will always find the standard library's version. It's suggested " +"that users should begin using absolute imports as much as possible, so it's " +"preferable to begin writing ``from pkg import string`` in your code." #: ../../whatsnew/2.5.rst:307 msgid "" "Relative imports are still possible by adding a leading period to the " "module name when using the ``from ... import`` form::" msgstr "" +"Relative imports are still possible by adding a leading period to the " +"module name when using the ``from ... import`` form::" #: ../../whatsnew/2.5.rst:315 msgid "" "This imports the :mod:`string` module relative to the current package, so " -"in :mod:`pkg.main` this will import *name1* and *name2* from :mod:`pkg." -"string`. Additional leading periods perform the relative import starting " -"from the parent of the current package. For example, code in the :mod:`A.B." -"C` module can do::" +"in :mod:`pkg.main` this will import *name1* and *name2* " +"from :mod:`pkg.string`. Additional leading periods perform the relative " +"import starting from the parent of the current package. For example, code " +"in the :mod:`A.B.C` module can do::" msgstr "" +"This imports the :mod:`string` module relative to the current package, so " +"in :mod:`pkg.main` this will import *name1* and *name2* " +"from :mod:`pkg.string`. Additional leading periods perform the relative " +"import starting from the parent of the current package. For example, code " +"in the :mod:`A.B.C` module can do::" #: ../../whatsnew/2.5.rst:324 msgid "" "Leading periods cannot be used with the ``import modname`` form of the " "import statement, only the ``from ... import`` form." msgstr "" +"Leading periods cannot be used with the ``import modname`` form of the " +"import statement, only the ``from ... import`` form." #: ../../whatsnew/2.5.rst:331 msgid ":pep:`328` - Imports: Multi-Line and Absolute/Relative" @@ -404,20 +561,21 @@ msgstr ":pep:`328` - Importações: Multilinha e absoluta/relativa" #: ../../whatsnew/2.5.rst:331 msgid "PEP written by Aahz; implemented by Thomas Wouters." -msgstr "" +msgstr "PEP written by Aahz; implemented by Thomas Wouters." #: ../../whatsnew/2.5.rst:333 msgid "https://pylib.readthedocs.io/" -msgstr "" +msgstr "https://pylib.readthedocs.io/" #: ../../whatsnew/2.5.rst:334 msgid "" "The py library by Holger Krekel, which contains the :mod:`py.std` package." msgstr "" +"The py library by Holger Krekel, which contains the :mod:`py.std` package." #: ../../whatsnew/2.5.rst:342 msgid "PEP 338: Executing Modules as Scripts" -msgstr "" +msgstr "PEP 338: Executing Modules as Scripts" #: ../../whatsnew/2.5.rst:344 msgid "" @@ -426,28 +584,38 @@ msgid "" "the Python interpreter, the switch now uses an implementation in a new " "module, :mod:`runpy`." msgstr "" +"The :option:`-m` switch added in Python 2.4 to execute a module as a script " +"gained a few more abilities. Instead of being implemented in C code inside " +"the Python interpreter, the switch now uses an implementation in a new " +"module, :mod:`runpy`." #: ../../whatsnew/2.5.rst:349 msgid "" "The :mod:`runpy` module implements a more sophisticated import mechanism so " -"that it's now possible to run modules in a package such as :mod:`pychecker." -"checker`. The module also supports alternative import mechanisms such as " -"the :mod:`zipimport` module. This means you can add a .zip archive's path " -"to ``sys.path`` and then use the :option:`-m` switch to execute code from " -"the archive." +"that it's now possible to run modules in a package such " +"as :mod:`pychecker.checker`. The module also supports alternative import " +"mechanisms such as the :mod:`zipimport` module. This means you can add " +"a .zip archive's path to ``sys.path`` and then use the :option:`-m` switch " +"to execute code from the archive." msgstr "" +"The :mod:`runpy` module implements a more sophisticated import mechanism so " +"that it's now possible to run modules in a package such " +"as :mod:`pychecker.checker`. The module also supports alternative import " +"mechanisms such as the :mod:`zipimport` module. This means you can add " +"a .zip archive's path to ``sys.path`` and then use the :option:`-m` switch " +"to execute code from the archive." #: ../../whatsnew/2.5.rst:359 msgid ":pep:`338` - Executing modules as scripts" -msgstr "" +msgstr ":pep:`338` - Executing modules as scripts" #: ../../whatsnew/2.5.rst:360 msgid "PEP written and implemented by Nick Coghlan." -msgstr "" +msgstr "PEP written and implemented by Nick Coghlan." #: ../../whatsnew/2.5.rst:368 msgid "PEP 341: Unified try/except/finally" -msgstr "" +msgstr "PEP 341: Unified try/except/finally" #: ../../whatsnew/2.5.rst:370 msgid "" @@ -459,6 +627,13 @@ msgid "" "complicated and it wasn't clear what the semantics of the combined statement " "should be." msgstr "" +"Until Python 2.5, the :keyword:`try` statement came in two flavours. You " +"could use a :keyword:`finally` block to ensure that code is always executed, " +"or one or more :keyword:`except` blocks to catch specific exceptions. You " +"couldn't combine both :keyword:`!except` blocks and a :keyword:`!finally` " +"block, because generating the right bytecode for the combined version was " +"complicated and it wasn't clear what the semantics of the combined statement " +"should be." #: ../../whatsnew/2.5.rst:377 msgid "" @@ -467,15 +642,24 @@ msgid "" "block, and this clarified what the statement should mean. In Python 2.5, " "you can now write::" msgstr "" +"Guido van Rossum spent some time working with Java, which does support the " +"equivalent of combining :keyword:`except` blocks and a :keyword:`finally` " +"block, and this clarified what the statement should mean. In Python 2.5, " +"you can now write::" #: ../../whatsnew/2.5.rst:393 msgid "" "The code in *block-1* is executed. If the code raises an exception, the " -"various :keyword:`except` blocks are tested: if the exception is of class :" -"class:`Exception1`, *handler-1* is executed; otherwise if it's of class :" -"class:`Exception2`, *handler-2* is executed, and so forth. If no exception " -"is raised, the *else-block* is executed." +"various :keyword:`except` blocks are tested: if the exception is of " +"class :class:`Exception1`, *handler-1* is executed; otherwise if it's of " +"class :class:`Exception2`, *handler-2* is executed, and so forth. If no " +"exception is raised, the *else-block* is executed." msgstr "" +"The code in *block-1* is executed. If the code raises an exception, the " +"various :keyword:`except` blocks are tested: if the exception is of " +"class :class:`Exception1`, *handler-1* is executed; otherwise if it's of " +"class :class:`Exception2`, *handler-2* is executed, and so forth. If no " +"exception is raised, the *else-block* is executed." #: ../../whatsnew/2.5.rst:399 msgid "" @@ -484,18 +668,22 @@ msgid "" "error in an exception handler or the *else-block* and a new exception is " "raised, the code in the *final-block* is still run." msgstr "" +"No matter what happened previously, the *final-block* is executed once the " +"code block is complete and any raised exceptions handled. Even if there's an " +"error in an exception handler or the *else-block* and a new exception is " +"raised, the code in the *final-block* is still run." #: ../../whatsnew/2.5.rst:407 msgid ":pep:`341` - Unifying try-except and try-finally" -msgstr "" +msgstr ":pep:`341` - Unifying try-except and try-finally" #: ../../whatsnew/2.5.rst:408 msgid "PEP written by Georg Brandl; implementation by Thomas Lee." -msgstr "" +msgstr "PEP written by Georg Brandl; implementation by Thomas Lee." #: ../../whatsnew/2.5.rst:416 msgid "PEP 342: New Generator Features" -msgstr "" +msgstr "PEP 342: New Generator Features" #: ../../whatsnew/2.5.rst:418 msgid "" @@ -508,10 +696,18 @@ msgid "" "changing the global variable's value, or passing in some mutable object that " "callers then modify." msgstr "" +"Python 2.5 adds a simple way to pass values *into* a generator. As " +"introduced in Python 2.3, generators only produce output; once a generator's " +"code was invoked to create an iterator, there was no way to pass any new " +"information into the function when its execution is resumed. Sometimes the " +"ability to pass in some information would be useful. Hackish solutions to " +"this include making the generator's code look at a global variable and then " +"changing the global variable's value, or passing in some mutable object that " +"callers then modify." #: ../../whatsnew/2.5.rst:426 msgid "To refresh your memory of basic generators, here's a simple example::" -msgstr "" +msgstr "To refresh your memory of basic generators, here's a simple example::" #: ../../whatsnew/2.5.rst:434 msgid "" @@ -522,6 +718,12 @@ msgid "" "the iterator's :meth:`next` method, picking up after the :keyword:`!yield` " "statement." msgstr "" +"When you call ``counter(10)``, the result is an iterator that returns the " +"values from 0 up to 9. On encountering the :keyword:`yield` statement, the " +"iterator returns the provided value and suspends the function's execution, " +"preserving the local variables. Execution resumes on the following call to " +"the iterator's :meth:`next` method, picking up after the :keyword:`!yield` " +"statement." #: ../../whatsnew/2.5.rst:440 msgid "" @@ -529,6 +731,9 @@ msgid "" "value. In 2.5, :keyword:`!yield` is now an expression, returning a value " "that can be assigned to a variable or otherwise operated on::" msgstr "" +"In Python 2.3, :keyword:`yield` was a statement; it didn't return any " +"value. In 2.5, :keyword:`!yield` is now an expression, returning a value " +"that can be assigned to a variable or otherwise operated on::" #: ../../whatsnew/2.5.rst:446 msgid "" @@ -537,33 +742,48 @@ msgid "" "above example. The parentheses aren't always necessary, but it's easier to " "always add them instead of having to remember when they're needed." msgstr "" +"I recommend that you always put parentheses around a :keyword:`yield` " +"expression when you're doing something with the returned value, as in the " +"above example. The parentheses aren't always necessary, but it's easier to " +"always add them instead of having to remember when they're needed." #: ../../whatsnew/2.5.rst:451 msgid "" -"(:pep:`342` explains the exact rules, which are that a :keyword:`yield`\\ -" -"expression must always be parenthesized except when it occurs at the top-" +"(:pep:`342` explains the exact rules, which are that a :keyword:`yield`\\ " +"-expression must always be parenthesized except when it occurs at the top-" "level expression on the right-hand side of an assignment. This means you " "can write ``val = yield i`` but have to use parentheses when there's an " "operation, as in ``val = (yield i) + 12``.)" msgstr "" +"(:pep:`342` explains the exact rules, which are that a :keyword:`yield`\\ " +"-expression must always be parenthesized except when it occurs at the top-" +"level expression on the right-hand side of an assignment. This means you " +"can write ``val = yield i`` but have to use parentheses when there's an " +"operation, as in ``val = (yield i) + 12``.)" #: ../../whatsnew/2.5.rst:458 msgid "" "Values are sent into a generator by calling its ``send(value)`` method. The " "generator's code is then resumed and the :keyword:`yield` expression returns " -"the specified *value*. If the regular :meth:`next` method is called, the :" -"keyword:`!yield` returns :const:`None`." +"the specified *value*. If the regular :meth:`next` method is called, " +"the :keyword:`!yield` returns :const:`None`." msgstr "" +"Values are sent into a generator by calling its ``send(value)`` method. The " +"generator's code is then resumed and the :keyword:`yield` expression returns " +"the specified *value*. If the regular :meth:`next` method is called, " +"the :keyword:`!yield` returns :const:`None`." #: ../../whatsnew/2.5.rst:463 msgid "" "Here's the previous example, modified to allow changing the value of the " "internal counter. ::" msgstr "" +"Here's the previous example, modified to allow changing the value of the " +"internal counter. ::" #: ../../whatsnew/2.5.rst:476 msgid "And here's an example of changing the counter::" -msgstr "" +msgstr "And here's an example of changing the counter::" #: ../../whatsnew/2.5.rst:493 msgid "" @@ -572,11 +792,16 @@ msgid "" "sure that the :meth:`send` method will be the only method used to resume " "your generator function." msgstr "" +":keyword:`yield` will usually return :const:`None`, so you should always " +"check for this case. Don't just use its value in expressions unless you're " +"sure that the :meth:`send` method will be the only method used to resume " +"your generator function." #: ../../whatsnew/2.5.rst:498 msgid "" "In addition to :meth:`send`, there are two other new methods on generators:" msgstr "" +"In addition to :meth:`send`, there are two other new methods on generators:" #: ../../whatsnew/2.5.rst:500 msgid "" @@ -584,31 +809,47 @@ msgid "" "inside the generator; the exception is raised by the :keyword:`yield` " "expression where the generator's execution is paused." msgstr "" +"``throw(type, value=None, traceback=None)`` is used to raise an exception " +"inside the generator; the exception is raised by the :keyword:`yield` " +"expression where the generator's execution is paused." #: ../../whatsnew/2.5.rst:504 msgid "" ":meth:`close` raises a new :exc:`GeneratorExit` exception inside the " "generator to terminate the iteration. On receiving this exception, the " -"generator's code must either raise :exc:`GeneratorExit` or :exc:" -"`StopIteration`. Catching the :exc:`GeneratorExit` exception and returning " -"a value is illegal and will trigger a :exc:`RuntimeError`; if the function " -"raises some other exception, that exception is propagated to the caller. :" -"meth:`close` will also be called by Python's garbage collector when the " -"generator is garbage-collected." +"generator's code must either raise :exc:`GeneratorExit` " +"or :exc:`StopIteration`. Catching the :exc:`GeneratorExit` exception and " +"returning a value is illegal and will trigger a :exc:`RuntimeError`; if the " +"function raises some other exception, that exception is propagated to the " +"caller. :meth:`close` will also be called by Python's garbage collector " +"when the generator is garbage-collected." msgstr "" +":meth:`close` raises a new :exc:`GeneratorExit` exception inside the " +"generator to terminate the iteration. On receiving this exception, the " +"generator's code must either raise :exc:`GeneratorExit` " +"or :exc:`StopIteration`. Catching the :exc:`GeneratorExit` exception and " +"returning a value is illegal and will trigger a :exc:`RuntimeError`; if the " +"function raises some other exception, that exception is propagated to the " +"caller. :meth:`close` will also be called by Python's garbage collector " +"when the generator is garbage-collected." #: ../../whatsnew/2.5.rst:512 msgid "" "If you need to run cleanup code when a :exc:`GeneratorExit` occurs, I " -"suggest using a ``try: ... finally:`` suite instead of catching :exc:" -"`GeneratorExit`." +"suggest using a ``try: ... finally:`` suite instead of " +"catching :exc:`GeneratorExit`." msgstr "" +"If you need to run cleanup code when a :exc:`GeneratorExit` occurs, I " +"suggest using a ``try: ... finally:`` suite instead of " +"catching :exc:`GeneratorExit`." #: ../../whatsnew/2.5.rst:515 msgid "" "The cumulative effect of these changes is to turn generators from one-way " "producers of information into both producers and consumers." msgstr "" +"The cumulative effect of these changes is to turn generators from one-way " +"producers of information into both producers and consumers." #: ../../whatsnew/2.5.rst:518 msgid "" @@ -619,6 +860,12 @@ msgid "" "statements). We'll have to figure out patterns for using coroutines " "effectively in Python." msgstr "" +"Generators also become *coroutines*, a more generalized form of subroutines. " +"Subroutines are entered at one point and exited at another point (the top of " +"the function, and a :keyword:`return` statement), but coroutines can be " +"entered, exited, and resumed at many different points (the :keyword:`yield` " +"statements). We'll have to figure out patterns for using coroutines " +"effectively in Python." #: ../../whatsnew/2.5.rst:524 msgid "" @@ -626,22 +873,39 @@ msgid "" "obvious. :meth:`close` is called when a generator is garbage-collected, so " "this means the generator's code gets one last chance to run before the " "generator is destroyed. This last chance means that ``try...finally`` " -"statements in generators can now be guaranteed to work; the :keyword:" -"`finally` clause will now always get a chance to run. The syntactic " -"restriction that you couldn't mix :keyword:`yield` statements with a ``try..." -"finally`` suite has therefore been removed. This seems like a minor bit of " -"language trivia, but using generators and ``try...finally`` is actually " -"necessary in order to implement the :keyword:`with` statement described by :" -"pep:`343`. I'll look at this new statement in the following section." +"statements in generators can now be guaranteed to work; " +"the :keyword:`finally` clause will now always get a chance to run. The " +"syntactic restriction that you couldn't mix :keyword:`yield` statements with " +"a ``try...finally`` suite has therefore been removed. This seems like a " +"minor bit of language trivia, but using generators and ``try...finally`` is " +"actually necessary in order to implement the :keyword:`with` statement " +"described by :pep:`343`. I'll look at this new statement in the following " +"section." msgstr "" +"The addition of the :meth:`close` method has one side effect that isn't " +"obvious. :meth:`close` is called when a generator is garbage-collected, so " +"this means the generator's code gets one last chance to run before the " +"generator is destroyed. This last chance means that ``try...finally`` " +"statements in generators can now be guaranteed to work; " +"the :keyword:`finally` clause will now always get a chance to run. The " +"syntactic restriction that you couldn't mix :keyword:`yield` statements with " +"a ``try...finally`` suite has therefore been removed. This seems like a " +"minor bit of language trivia, but using generators and ``try...finally`` is " +"actually necessary in order to implement the :keyword:`with` statement " +"described by :pep:`343`. I'll look at this new statement in the following " +"section." #: ../../whatsnew/2.5.rst:536 msgid "" -"Another even more esoteric effect of this change: previously, the :attr:" -"`gi_frame` attribute of a generator was always a frame object. It's now " -"possible for :attr:`gi_frame` to be ``None`` once the generator has been " -"exhausted." +"Another even more esoteric effect of this change: previously, " +"the :attr:`gi_frame` attribute of a generator was always a frame object. " +"It's now possible for :attr:`gi_frame` to be ``None`` once the generator has " +"been exhausted." msgstr "" +"Another even more esoteric effect of this change: previously, " +"the :attr:`gi_frame` attribute of a generator was always a frame object. " +"It's now possible for :attr:`gi_frame` to be ``None`` once the generator has " +"been exhausted." #: ../../whatsnew/2.5.rst:549 msgid ":pep:`342` - Coroutines via Enhanced Generators" @@ -652,32 +916,40 @@ msgid "" "PEP written by Guido van Rossum and Phillip J. Eby; implemented by Phillip " "J. Eby. Includes examples of some fancier uses of generators as coroutines." msgstr "" +"PEP written by Guido van Rossum and Phillip J. Eby; implemented by Phillip " +"J. Eby. Includes examples of some fancier uses of generators as coroutines." #: ../../whatsnew/2.5.rst:548 msgid "" "Earlier versions of these features were proposed in :pep:`288` by Raymond " "Hettinger and :pep:`325` by Samuele Pedroni." msgstr "" +"Earlier versions of these features were proposed in :pep:`288` by Raymond " +"Hettinger and :pep:`325` by Samuele Pedroni." #: ../../whatsnew/2.5.rst:552 msgid "https://en.wikipedia.org/wiki/Coroutine" -msgstr "" +msgstr "https://en.wikipedia.org/wiki/Coroutine" #: ../../whatsnew/2.5.rst:552 msgid "The Wikipedia entry for coroutines." -msgstr "" +msgstr "The Wikipedia entry for coroutines." #: ../../whatsnew/2.5.rst:554 msgid "" "https://web.archive.org/web/20160321211320/http://www.sidhe.org/~dan/blog/" "archives/000178.html" msgstr "" +"https://web.archive.org/web/20160321211320/http://www.sidhe.org/~dan/blog/" +"archives/000178.html" #: ../../whatsnew/2.5.rst:555 msgid "" "An explanation of coroutines from a Perl point of view, written by Dan " "Sugalski." msgstr "" +"An explanation of coroutines from a Perl point of view, written by Dan " +"Sugalski." #: ../../whatsnew/2.5.rst:563 msgid "PEP 343: The 'with' statement" @@ -702,45 +974,52 @@ msgid "" "The ':keyword:`with`' statement is a new control-flow structure whose basic " "structure is::" msgstr "" +"The ':keyword:`with`' statement is a new control-flow structure whose basic " +"structure is::" #: ../../whatsnew/2.5.rst:577 msgid "" "The expression is evaluated, and it should result in an object that supports " -"the context management protocol (that is, has :meth:`__enter__` and :meth:" -"`__exit__` methods." +"the context management protocol (that is, has :meth:`~object.__enter__` " +"and :meth:`~object.__exit__` methods." msgstr "" +"The expression is evaluated, and it should result in an object that supports " +"the context management protocol (that is, has :meth:`~object.__enter__` " +"and :meth:`~object.__exit__` methods." #: ../../whatsnew/2.5.rst:581 msgid "" -"The object's :meth:`__enter__` is called before *with-block* is executed and " -"therefore can run set-up code. It also may return a value that is bound to " -"the name *variable*, if given. (Note carefully that *variable* is *not* " -"assigned the result of *expression*.)" +"The object's :meth:`~object.__enter__` is called before *with-block* is " +"executed and therefore can run set-up code. It also may return a value that " +"is bound to the name *variable*, if given. (Note carefully that *variable* " +"is *not* assigned the result of *expression*.)" msgstr "" -"The object's :meth:`__enter__` is called before *with-block* is executed and " -"therefore can run set-up code. It also may return a value that is bound to " -"the name *variable*, if given. (Note carefully that *variable* is *not* " -"assigned the result of *expression*.)" +"The object's :meth:`~object.__enter__` is called before *with-block* is " +"executed and therefore can run set-up code. It also may return a value that " +"is bound to the name *variable*, if given. (Note carefully that *variable* " +"is *not* assigned the result of *expression*.)" #: ../../whatsnew/2.5.rst:586 msgid "" -"After execution of the *with-block* is finished, the object's :meth:" -"`__exit__` method is called, even if the block raised an exception, and can " -"therefore run clean-up code." +"After execution of the *with-block* is finished, the " +"object's :meth:`~object.__exit__` method is called, even if the block raised " +"an exception, and can therefore run clean-up code." msgstr "" -"After execution of the *with-block* is finished, the object's :meth:" -"`__exit__` method is called, even if the block raised an exception, and can " -"therefore run clean-up code." +"After execution of the *with-block* is finished, the " +"object's :meth:`~object.__exit__` method is called, even if the block raised " +"an exception, and can therefore run clean-up code." #: ../../whatsnew/2.5.rst:590 msgid "" "To enable the statement in Python 2.5, you need to add the following " "directive to your module::" msgstr "" +"To enable the statement in Python 2.5, you need to add the following " +"directive to your module::" #: ../../whatsnew/2.5.rst:595 msgid "The statement will always be enabled in Python 2.6." -msgstr "" +msgstr "The statement will always be enabled in Python 2.6." #: ../../whatsnew/2.5.rst:597 msgid "" @@ -764,11 +1043,11 @@ msgstr "" #: ../../whatsnew/2.5.rst:611 msgid "" -"In this case, *f* is the same object created by :func:`open`, because :meth:" -"`file.__enter__` returns *self*." +"In this case, *f* is the same object created by :func:`open`, " +"because :meth:`~object.__enter__` returns *self*." msgstr "" -"In this case, *f* is the same object created by :func:`open`, because :meth:" -"`file.__enter__` returns *self*." +"In this case, *f* is the same object created by :func:`open`, " +"because :meth:`~object.__enter__` returns *self*." #: ../../whatsnew/2.5.rst:614 msgid "" @@ -792,7 +1071,10 @@ msgid "" "easy to save and restore the current decimal context, which encapsulates the " "desired precision and rounding characteristics for computations::" msgstr "" - +"The new :func:`localcontext` function in the :mod:`decimal` module makes it " +"easy to save and restore the current decimal context, which encapsulates the " +"desired precision and rounding characteristics for computations::" + #: ../../whatsnew/2.5.rst:644 msgid "Writing Context Managers" msgstr "Writing Context Managers" @@ -805,6 +1087,11 @@ msgid "" "if you like. Authors of new objects will need to understand the details of " "the underlying implementation and should keep reading." msgstr "" +"Under the hood, the ':keyword:`with`' statement is fairly complicated. Most " +"people will only use ':keyword:`!with`' in company with existing objects and " +"don't need to know these details, so you can skip the rest of this section " +"if you like. Authors of new objects will need to understand the details of " +"the underlying implementation and should keep reading." #: ../../whatsnew/2.5.rst:652 msgid "A high-level explanation of the context management protocol is:" @@ -813,19 +1100,22 @@ msgstr "A high-level explanation of the context management protocol is:" #: ../../whatsnew/2.5.rst:654 msgid "" "The expression is evaluated and should result in an object called a " -"\"context manager\". The context manager must have :meth:`__enter__` and :" -"meth:`__exit__` methods." +"\"context manager\". The context manager must " +"have :meth:`~object.__enter__` and :meth:`~object.__exit__` methods." msgstr "" "The expression is evaluated and should result in an object called a " -"\"context manager\". The context manager must have :meth:`__enter__` and :" -"meth:`__exit__` methods." +"\"context manager\". The context manager must " +"have :meth:`~object.__enter__` and :meth:`~object.__exit__` methods." #: ../../whatsnew/2.5.rst:658 msgid "" -"The context manager's :meth:`__enter__` method is called. The value " +"The context manager's :meth:`~object.__enter__` method is called. The value " "returned is assigned to *VAR*. If no ``'as VAR'`` clause is present, the " "value is simply discarded." msgstr "" +"The context manager's :meth:`~object.__enter__` method is called. The value " +"returned is assigned to *VAR*. If no ``'as VAR'`` clause is present, the " +"value is simply discarded." #: ../../whatsnew/2.5.rst:662 msgid "The code in *BLOCK* is executed." @@ -834,21 +1124,28 @@ msgstr "The code in *BLOCK* is executed." #: ../../whatsnew/2.5.rst:664 msgid "" "If *BLOCK* raises an exception, the ``__exit__(type, value, traceback)`` is " -"called with the exception details, the same values returned by :func:`sys." -"exc_info`. The method's return value controls whether the exception is re-" -"raised: any false value re-raises the exception, and ``True`` will result in " -"suppressing it. You'll only rarely want to suppress the exception, because " -"if you do the author of the code containing the ':keyword:`with`' statement " -"will never realize anything went wrong." +"called with the exception details, the same values returned " +"by :func:`sys.exc_info`. The method's return value controls whether the " +"exception is re-raised: any false value re-raises the exception, and " +"``True`` will result in suppressing it. You'll only rarely want to suppress " +"the exception, because if you do the author of the code containing the " +"':keyword:`with`' statement will never realize anything went wrong." msgstr "" +"If *BLOCK* raises an exception, the ``__exit__(type, value, traceback)`` is " +"called with the exception details, the same values returned " +"by :func:`sys.exc_info`. The method's return value controls whether the " +"exception is re-raised: any false value re-raises the exception, and " +"``True`` will result in suppressing it. You'll only rarely want to suppress " +"the exception, because if you do the author of the code containing the " +"':keyword:`with`' statement will never realize anything went wrong." #: ../../whatsnew/2.5.rst:672 msgid "" -"If *BLOCK* didn't raise an exception, the :meth:`__exit__` method is still " -"called, but *type*, *value*, and *traceback* are all ``None``." +"If *BLOCK* didn't raise an exception, the :meth:`~object.__exit__` method " +"is still called, but *type*, *value*, and *traceback* are all ``None``." msgstr "" -"If *BLOCK* didn't raise an exception, the :meth:`__exit__` method is still " -"called, but *type*, *value*, and *traceback* are all ``None``." +"If *BLOCK* didn't raise an exception, the :meth:`~object.__exit__` method " +"is still called, but *type*, *value*, and *traceback* are all ``None``." #: ../../whatsnew/2.5.rst:675 msgid "" @@ -877,44 +1174,44 @@ msgid "" "Let's assume there's an object representing a database connection. Our goal " "will be to let the user write code like this::" msgstr "" -"Let's assume there's an object representing a database connection. Our goal " -"will be to let the user write code like this::" +"Vamos supor que exista um objeto representando uma conexão com o banco de " +"dados. Nosso objetivo será permitir que o usuário escreva código como este:" #: ../../whatsnew/2.5.rst:693 msgid "" "The transaction should be committed if the code in the block runs flawlessly " -"or rolled back if there's an exception. Here's the basic interface for :" -"class:`DatabaseConnection` that I'll assume::" +"or rolled back if there's an exception. Here's the basic interface " +"for :class:`DatabaseConnection` that I'll assume::" msgstr "" -"The transaction should be committed if the code in the block runs flawlessly " -"or rolled back if there's an exception. Here's the basic interface for :" -"class:`DatabaseConnection` that I'll assume::" +"A transação deverá ser confirmada se o código no bloco funcionar " +"perfeitamente ou revertida se houver uma exceção. Aqui está a interface " +"básica para :class:`DatabaseConnection` que presumirei::" #: ../../whatsnew/2.5.rst:706 msgid "" -"The :meth:`__enter__` method is pretty easy, having only to start a new " -"transaction. For this application the resulting cursor object would be a " -"useful result, so the method will return it. The user can then add ``as " +"The :meth:`~object.__enter__` method is pretty easy, having only to start a " +"new transaction. For this application the resulting cursor object would be " +"a useful result, so the method will return it. The user can then add ``as " "cursor`` to their ':keyword:`with`' statement to bind the cursor to a " "variable name. ::" msgstr "" -"The :meth:`__enter__` method is pretty easy, having only to start a new " -"transaction. For this application the resulting cursor object would be a " -"useful result, so the method will return it. The user can then add ``as " +"The :meth:`~object.__enter__` method is pretty easy, having only to start a " +"new transaction. For this application the resulting cursor object would be " +"a useful result, so the method will return it. The user can then add ``as " "cursor`` to their ':keyword:`with`' statement to bind the cursor to a " "variable name. ::" #: ../../whatsnew/2.5.rst:718 msgid "" -"The :meth:`__exit__` method is the most complicated because it's where most " -"of the work has to be done. The method has to check if an exception " -"occurred. If there was no exception, the transaction is committed. The " -"transaction is rolled back if there was an exception." +"The :meth:`~object.__exit__` method is the most complicated because it's " +"where most of the work has to be done. The method has to check if an " +"exception occurred. If there was no exception, the transaction is " +"committed. The transaction is rolled back if there was an exception." msgstr "" -"The :meth:`__exit__` method is the most complicated because it's where most " -"of the work has to be done. The method has to check if an exception " -"occurred. If there was no exception, the transaction is committed. The " -"transaction is rolled back if there was an exception." +"The :meth:`~object.__exit__` method is the most complicated because it's " +"where most of the work has to be done. The method has to check if an " +"exception occurred. If there was no exception, the transaction is " +"committed. The transaction is rolled back if there was an exception." #: ../../whatsnew/2.5.rst:723 msgid "" @@ -938,25 +1235,39 @@ msgid "" "that are useful for writing objects for use with the ':keyword:`with`' " "statement." msgstr "" +"The new :mod:`contextlib` module provides some functions and a decorator " +"that are useful for writing objects for use with the ':keyword:`with`' " +"statement." #: ../../whatsnew/2.5.rst:748 msgid "" "The decorator is called :func:`contextmanager`, and lets you write a single " "generator function instead of defining a new class. The generator should " "yield exactly one value. The code up to the :keyword:`yield` will be " -"executed as the :meth:`__enter__` method, and the value yielded will be the " -"method's return value that will get bound to the variable in the ':keyword:" -"`with`' statement's :keyword:`!as` clause, if any. The code after the :" -"keyword:`yield` will be executed in the :meth:`__exit__` method. Any " -"exception raised in the block will be raised by the :keyword:`!yield` " -"statement." +"executed as the :meth:`~object.__enter__` method, and the value yielded will " +"be the method's return value that will get bound to the variable in the " +"':keyword:`with`' statement's :keyword:`!as` clause, if any. The code after " +"the :keyword:`yield` will be executed in the :meth:`~object.__exit__` " +"method. Any exception raised in the block will be raised by the :keyword:`!" +"yield` statement." msgstr "" +"The decorator is called :func:`contextmanager`, and lets you write a single " +"generator function instead of defining a new class. The generator should " +"yield exactly one value. The code up to the :keyword:`yield` will be " +"executed as the :meth:`~object.__enter__` method, and the value yielded will " +"be the method's return value that will get bound to the variable in the " +"':keyword:`with`' statement's :keyword:`!as` clause, if any. The code after " +"the :keyword:`yield` will be executed in the :meth:`~object.__exit__` " +"method. Any exception raised in the block will be raised by the :keyword:`!" +"yield` statement." #: ../../whatsnew/2.5.rst:757 msgid "" "Our database example from the previous section could be written using this " "decorator as::" msgstr "" +"Our database example from the previous section could be written using this " +"decorator as::" #: ../../whatsnew/2.5.rst:777 msgid "" @@ -966,12 +1277,19 @@ msgid "" "with`' statement both starts a database transaction and acquires a thread " "lock::" msgstr "" +"The :mod:`contextlib` module also has a ``nested(mgr1, mgr2, ...)`` function " +"that combines a number of context managers so you don't need to write nested " +"':keyword:`with`' statements. In this example, the single ':keyword:`!" +"with`' statement both starts a database transaction and acquires a thread " +"lock::" #: ../../whatsnew/2.5.rst:786 msgid "" "Finally, the ``closing(object)`` function returns *object* so that it can be " "bound to a variable, and calls ``object.close`` at the end of the block. ::" msgstr "" +"Finally, the ``closing(object)`` function returns *object* so that it can be " +"bound to a variable, and calls ``object.close`` at the end of the block. ::" #: ../../whatsnew/2.5.rst:803 msgid ":pep:`343` - The \"with\" statement" @@ -985,8 +1303,8 @@ msgid "" "statement works." msgstr "" "PEP written by Guido van Rossum and Nick Coghlan; implemented by Mike Bland, " -"Guido van Rossum, and Neal Norwitz. The PEP shows the code generated for a ':" -"keyword:`with`' statement, which can be helpful in learning how the " +"Guido van Rossum, and Neal Norwitz. The PEP shows the code generated for a " +"':keyword:`with`' statement, which can be helpful in learning how the " "statement works." #: ../../whatsnew/2.5.rst:805 @@ -995,7 +1313,7 @@ msgstr "The documentation for the :mod:`contextlib` module." #: ../../whatsnew/2.5.rst:813 msgid "PEP 352: Exceptions as New-Style Classes" -msgstr "" +msgstr "PEP 352: Exceptions as New-Style Classes" #: ../../whatsnew/2.5.rst:815 msgid "" @@ -1004,23 +1322,36 @@ msgid "" "exceptions (:exc:`NameError`, :exc:`ValueError`, etc.) are now new-style " "classes." msgstr "" +"Exception classes can now be new-style classes, not just classic classes, " +"and the built-in :exc:`Exception` class and all the standard built-in " +"exceptions (:exc:`NameError`, :exc:`ValueError`, etc.) are now new-style " +"classes." #: ../../whatsnew/2.5.rst:819 msgid "" "The inheritance hierarchy for exceptions has been rearranged a bit. In 2.5, " "the inheritance relationships are::" msgstr "" +"The inheritance hierarchy for exceptions has been rearranged a bit. In 2.5, " +"the inheritance relationships are::" #: ../../whatsnew/2.5.rst:828 msgid "" "This rearrangement was done because people often want to catch all " -"exceptions that indicate program errors. :exc:`KeyboardInterrupt` and :exc:" -"`SystemExit` aren't errors, though, and usually represent an explicit action " -"such as the user hitting :kbd:`Control-C` or code calling :func:`sys.exit`. " -"A bare ``except:`` will catch all exceptions, so you commonly need to list :" -"exc:`KeyboardInterrupt` and :exc:`SystemExit` in order to re-raise them. " -"The usual pattern is::" +"exceptions that indicate program errors. :exc:`KeyboardInterrupt` " +"and :exc:`SystemExit` aren't errors, though, and usually represent an " +"explicit action such as the user hitting :kbd:`Control-C` or code " +"calling :func:`sys.exit`. A bare ``except:`` will catch all exceptions, so " +"you commonly need to list :exc:`KeyboardInterrupt` and :exc:`SystemExit` in " +"order to re-raise them. The usual pattern is::" msgstr "" +"This rearrangement was done because people often want to catch all " +"exceptions that indicate program errors. :exc:`KeyboardInterrupt` " +"and :exc:`SystemExit` aren't errors, though, and usually represent an " +"explicit action such as the user hitting :kbd:`Control-C` or code " +"calling :func:`sys.exit`. A bare ``except:`` will catch all exceptions, so " +"you commonly need to list :exc:`KeyboardInterrupt` and :exc:`SystemExit` in " +"order to re-raise them. The usual pattern is::" #: ../../whatsnew/2.5.rst:843 msgid "" @@ -1029,6 +1360,10 @@ msgid "" "leaving :exc:`KeyboardInterrupt` and :exc:`SystemExit` alone. As in " "previous versions, a bare ``except:`` still catches all exceptions." msgstr "" +"In Python 2.5, you can now write ``except Exception`` to achieve the same " +"result, catching all the exceptions that usually indicate errors but " +"leaving :exc:`KeyboardInterrupt` and :exc:`SystemExit` alone. As in " +"previous versions, a bare ``except:`` still catches all exceptions." #: ../../whatsnew/2.5.rst:848 msgid "" @@ -1040,6 +1375,13 @@ msgid "" "``except:`` form should be removed in Python 3.0, but Guido van Rossum " "hasn't decided whether to do this or not." msgstr "" +"The goal for Python 3.0 is to require any class raised as an exception to " +"derive from :exc:`BaseException` or some descendant of :exc:`BaseException`, " +"and future releases in the Python 2.x series may begin to enforce this " +"constraint. Therefore, I suggest you begin making all your exception classes " +"derive from :exc:`Exception` now. It's been suggested that the bare " +"``except:`` form should be removed in Python 3.0, but Guido van Rossum " +"hasn't decided whether to do this or not." #: ../../whatsnew/2.5.rst:856 msgid "" @@ -1047,20 +1389,25 @@ msgid "" "occurred\"``, is deprecated in Python 2.5 and will trigger a warning. The " "aim is to be able to remove the string-exception feature in a few releases." msgstr "" +"Raising of strings as exceptions, as in the statement ``raise \"Error " +"occurred\"``, is deprecated in Python 2.5 and will trigger a warning. The " +"aim is to be able to remove the string-exception feature in a few releases." #: ../../whatsnew/2.5.rst:863 msgid ":pep:`352` - Required Superclass for Exceptions" -msgstr "" +msgstr ":pep:`352` - Required Superclass for Exceptions" #: ../../whatsnew/2.5.rst:864 msgid "" "PEP written by Brett Cannon and Guido van Rossum; implemented by Brett " "Cannon." msgstr "" +"PEP written by Brett Cannon and Guido van Rossum; implemented by Brett " +"Cannon." #: ../../whatsnew/2.5.rst:872 msgid "PEP 353: Using ssize_t as the index type" -msgstr "" +msgstr "PEP 353: Using ssize_t as the index type" #: ../../whatsnew/2.5.rst:874 msgid "" @@ -1069,6 +1416,10 @@ msgid "" "handle more data on 64-bit platforms. This change doesn't affect Python's " "capacity on 32-bit platforms." msgstr "" +"A wide-ranging change to Python's C API, using a new :c:type:`Py_ssize_t` " +"type definition instead of :c:expr:`int`, will permit the interpreter to " +"handle more data on 64-bit platforms. This change doesn't affect Python's " +"capacity on 32-bit platforms." #: ../../whatsnew/2.5.rst:879 msgid "" @@ -1081,15 +1432,28 @@ msgid "" "unix.org/version2/whatsnew/lp64_wp.html for a discussion -- but the most " "commonly available model leaves :c:expr:`int` as 32 bits.)" msgstr "" +"Various pieces of the Python interpreter used C's :c:expr:`int` type to " +"store sizes or counts; for example, the number of items in a list or tuple " +"were stored in an :c:expr:`int`. The C compilers for most 64-bit platforms " +"still define :c:expr:`int` as a 32-bit type, so that meant that lists could " +"only hold up to ``2**31 - 1`` = 2147483647 items. (There are actually a few " +"different programming models that 64-bit C compilers can use -- see https://" +"unix.org/version2/whatsnew/lp64_wp.html for a discussion -- but the most " +"commonly available model leaves :c:expr:`int` as 32 bits.)" #: ../../whatsnew/2.5.rst:888 msgid "" "A limit of 2147483647 items doesn't really matter on a 32-bit platform " "because you'll run out of memory before hitting the length limit. Each list " -"item requires space for a pointer, which is 4 bytes, plus space for a :c:" -"type:`PyObject` representing the item. 2147483647\\*4 is already more bytes " -"than a 32-bit address space can contain." +"item requires space for a pointer, which is 4 bytes, plus space for " +"a :c:type:`PyObject` representing the item. 2147483647\\*4 is already more " +"bytes than a 32-bit address space can contain." msgstr "" +"A limit of 2147483647 items doesn't really matter on a 32-bit platform " +"because you'll run out of memory before hitting the length limit. Each list " +"item requires space for a pointer, which is 4 bytes, plus space for " +"a :c:type:`PyObject` representing the item. 2147483647\\*4 is already more " +"bytes than a 32-bit address space can contain." #: ../../whatsnew/2.5.rst:894 msgid "" @@ -1103,42 +1467,67 @@ msgid "" "users is still relatively small. (In 5 or 10 years, we may *all* be on 64-" "bit machines, and the transition would be more painful then.)" msgstr "" +"It's possible to address that much memory on a 64-bit platform, however. " +"The pointers for a list that size would only require 16 GiB of space, so " +"it's not unreasonable that Python programmers might construct lists that " +"large. Therefore, the Python interpreter had to be changed to use some type " +"other than :c:expr:`int`, and this will be a 64-bit type on 64-bit " +"platforms. The change will cause incompatibilities on 64-bit machines, so " +"it was deemed worth making the transition now, while the number of 64-bit " +"users is still relatively small. (In 5 or 10 years, we may *all* be on 64-" +"bit machines, and the transition would be more painful then.)" #: ../../whatsnew/2.5.rst:904 msgid "" "This change most strongly affects authors of C extension modules. Python " -"strings and container types such as lists and tuples now use :c:type:" -"`Py_ssize_t` to store their size. Functions such as :c:func:`PyList_Size` " -"now return :c:type:`Py_ssize_t`. Code in extension modules may therefore " -"need to have some variables changed to :c:type:`Py_ssize_t`." +"strings and container types such as lists and tuples now " +"use :c:type:`Py_ssize_t` to store their size. Functions such " +"as :c:func:`PyList_Size` now return :c:type:`Py_ssize_t`. Code in " +"extension modules may therefore need to have some variables changed " +"to :c:type:`Py_ssize_t`." msgstr "" +"This change most strongly affects authors of C extension modules. Python " +"strings and container types such as lists and tuples now " +"use :c:type:`Py_ssize_t` to store their size. Functions such " +"as :c:func:`PyList_Size` now return :c:type:`Py_ssize_t`. Code in " +"extension modules may therefore need to have some variables changed " +"to :c:type:`Py_ssize_t`." #: ../../whatsnew/2.5.rst:910 msgid "" "The :c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue` functions have a " -"new conversion code, ``n``, for :c:type:`Py_ssize_t`. :c:func:" -"`PyArg_ParseTuple`'s ``s#`` and ``t#`` still output :c:expr:`int` by " -"default, but you can define the macro :c:macro:`PY_SSIZE_T_CLEAN` before " -"including :file:`Python.h` to make them return :c:type:`Py_ssize_t`." +"new conversion code, ``n``, " +"for :c:type:`Py_ssize_t`. :c:func:`PyArg_ParseTuple`'s ``s#`` and ``t#`` " +"still output :c:expr:`int` by default, but you can define the " +"macro :c:macro:`PY_SSIZE_T_CLEAN` before including :file:`Python.h` to " +"make them return :c:type:`Py_ssize_t`." msgstr "" +"The :c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue` functions have a " +"new conversion code, ``n``, " +"for :c:type:`Py_ssize_t`. :c:func:`PyArg_ParseTuple`'s ``s#`` and ``t#`` " +"still output :c:expr:`int` by default, but you can define the " +"macro :c:macro:`PY_SSIZE_T_CLEAN` before including :file:`Python.h` to " +"make them return :c:type:`Py_ssize_t`." #: ../../whatsnew/2.5.rst:916 msgid "" ":pep:`353` has a section on conversion guidelines that extension authors " "should read to learn about supporting 64-bit platforms." msgstr "" +":pep:`353` has a section on conversion guidelines that extension authors " +"should read to learn about supporting 64-bit platforms." #: ../../whatsnew/2.5.rst:922 msgid ":pep:`353` - Using ssize_t as the index type" -msgstr "" +msgstr ":pep:`353` - Using ssize_t as the index type" #: ../../whatsnew/2.5.rst:923 msgid "PEP written and implemented by Martin von Löwis." -msgstr "" +msgstr "PEP written and implemented by Martin von Löwis." #: ../../whatsnew/2.5.rst:931 msgid "PEP 357: The '__index__' method" -msgstr "" +msgstr "PEP 357: The '__index__' method" #: ../../whatsnew/2.5.rst:933 msgid "" @@ -1150,14 +1539,25 @@ msgid "" "8, 16, 32, and 64 bits, but there was no way to signal that these types " "could be used as slice indexes." msgstr "" +"The NumPy developers had a problem that could only be solved by adding a new " +"special method, :meth:`__index__`. When using slice notation, as in " +"``[start:stop:step]``, the values of the *start*, *stop*, and *step* indexes " +"must all be either integers or long integers. NumPy defines a variety of " +"specialized integer types corresponding to unsigned and signed integers of " +"8, 16, 32, and 64 bits, but there was no way to signal that these types " +"could be used as slice indexes." #: ../../whatsnew/2.5.rst:941 msgid "" "Slicing can't just use the existing :meth:`__int__` method because that " -"method is also used to implement coercion to integers. If slicing used :" -"meth:`__int__`, floating-point numbers would also become legal slice indexes " -"and that's clearly an undesirable behaviour." +"method is also used to implement coercion to integers. If slicing " +"used :meth:`__int__`, floating-point numbers would also become legal slice " +"indexes and that's clearly an undesirable behaviour." msgstr "" +"Slicing can't just use the existing :meth:`__int__` method because that " +"method is also used to implement coercion to integers. If slicing " +"used :meth:`__int__`, floating-point numbers would also become legal slice " +"indexes and that's clearly an undesirable behaviour." #: ../../whatsnew/2.5.rst:946 msgid "" @@ -1165,29 +1565,39 @@ msgid "" "no arguments and returns an integer giving the slice index to use. For " "example::" msgstr "" +"Instead, a new special method called :meth:`__index__` was added. It takes " +"no arguments and returns an integer giving the slice index to use. For " +"example::" #: ../../whatsnew/2.5.rst:953 msgid "" "The return value must be either a Python integer or long integer. The " -"interpreter will check that the type returned is correct, and raises a :exc:" -"`TypeError` if this requirement isn't met." +"interpreter will check that the type returned is correct, and raises " +"a :exc:`TypeError` if this requirement isn't met." msgstr "" +"The return value must be either a Python integer or long integer. The " +"interpreter will check that the type returned is correct, and raises " +"a :exc:`TypeError` if this requirement isn't met." #: ../../whatsnew/2.5.rst:957 msgid "" -"A corresponding :attr:`nb_index` slot was added to the C-level :c:type:" -"`PyNumberMethods` structure to let C extensions implement this protocol. " -"``PyNumber_Index(obj)`` can be used in extension code to call the :meth:" -"`__index__` function and retrieve its result." +"A corresponding :c:member:`~PyNumberMethods.nb_index` slot was added to the " +"C-level :c:type:`PyNumberMethods` structure to let C extensions implement " +"this protocol. ``PyNumber_Index(obj)`` can be used in extension code to call " +"the :meth:`__index__` function and retrieve its result." msgstr "" +"A corresponding :c:member:`~PyNumberMethods.nb_index` slot was added to the " +"C-level :c:type:`PyNumberMethods` structure to let C extensions implement " +"this protocol. ``PyNumber_Index(obj)`` can be used in extension code to call " +"the :meth:`__index__` function and retrieve its result." #: ../../whatsnew/2.5.rst:965 msgid ":pep:`357` - Allowing Any Object to be Used for Slicing" -msgstr "" +msgstr ":pep:`357` - Allowing Any Object to be Used for Slicing" #: ../../whatsnew/2.5.rst:966 msgid "PEP written and implemented by Travis Oliphant." -msgstr "" +msgstr "PEP written and implemented by Travis Oliphant." #: ../../whatsnew/2.5.rst:974 msgid "Other Language Changes" @@ -1198,22 +1608,32 @@ msgid "" "Here are all of the changes that Python 2.5 makes to the core Python " "language." msgstr "" +"Here are all of the changes that Python 2.5 makes to the core Python " +"language." #: ../../whatsnew/2.5.rst:978 msgid "" "The :class:`dict` type has a new hook for letting subclasses provide a " "default value when a key isn't contained in the dictionary. When a key isn't " "found, the dictionary's ``__missing__(key)`` method will be called. This " -"hook is used to implement the new :class:`defaultdict` class in the :mod:" -"`collections` module. The following example defines a dictionary that " -"returns zero for any missing key::" +"hook is used to implement the new :class:`defaultdict` class in " +"the :mod:`collections` module. The following example defines a dictionary " +"that returns zero for any missing key::" msgstr "" +"The :class:`dict` type has a new hook for letting subclasses provide a " +"default value when a key isn't contained in the dictionary. When a key isn't " +"found, the dictionary's ``__missing__(key)`` method will be called. This " +"hook is used to implement the new :class:`defaultdict` class in " +"the :mod:`collections` module. The following example defines a dictionary " +"that returns zero for any missing key::" #: ../../whatsnew/2.5.rst:993 msgid "" "Both 8-bit and Unicode strings have new ``partition(sep)`` and " "``rpartition(sep)`` methods that simplify a common use case." msgstr "" +"Both 8-bit and Unicode strings have new ``partition(sep)`` and " +"``rpartition(sep)`` methods that simplify a common use case." #: ../../whatsnew/2.5.rst:996 msgid "" @@ -1227,6 +1647,15 @@ msgid "" "tuple but starts searching from the end of the string; the ``r`` stands for " "'reverse'." msgstr "" +"The ``find(S)`` method is often used to get an index which is then used to " +"slice the string and obtain the pieces that are before and after the " +"separator. ``partition(sep)`` condenses this pattern into a single method " +"call that returns a 3-tuple containing the substring before the separator, " +"the separator itself, and the substring after the separator. If the " +"separator isn't found, the first element of the tuple is the entire string " +"and the other two elements are empty. ``rpartition(sep)`` also returns a 3-" +"tuple but starts searching from the end of the string; the ``r`` stands for " +"'reverse'." #: ../../whatsnew/2.5.rst:1005 msgid "Some examples::" @@ -1236,16 +1665,19 @@ msgstr "Alguns exemplos:" msgid "" "(Implemented by Fredrik Lundh following a suggestion by Raymond Hettinger.)" msgstr "" +"(Implemented by Fredrik Lundh following a suggestion by Raymond Hettinger.)" #: ../../whatsnew/2.5.rst:1020 msgid "" "The :meth:`startswith` and :meth:`endswith` methods of string types now " "accept tuples of strings to check for. ::" msgstr "" +"The :meth:`startswith` and :meth:`endswith` methods of string types now " +"accept tuples of strings to check for. ::" #: ../../whatsnew/2.5.rst:1026 msgid "(Implemented by Georg Brandl following a suggestion by Tom Lynn.)" -msgstr "" +msgstr "(Implemented by Georg Brandl following a suggestion by Tom Lynn.)" #: ../../whatsnew/2.5.rst:1030 msgid "" @@ -1256,20 +1688,32 @@ msgid "" "with the smallest/largest return value from this function. For example, to " "find the longest string in a list, you can do::" msgstr "" +"The :func:`min` and :func:`max` built-in functions gained a ``key`` keyword " +"parameter analogous to the ``key`` argument for :meth:`sort`. This " +"parameter supplies a function that takes a single argument and is called for " +"every value in the list; :func:`min`/:func:`max` will return the element " +"with the smallest/largest return value from this function. For example, to " +"find the longest string in a list, you can do::" #: ../../whatsnew/2.5.rst:1043 msgid "(Contributed by Steven Bethard and Raymond Hettinger.)" -msgstr "" +msgstr "(Contributed by Steven Bethard and Raymond Hettinger.)" #: ../../whatsnew/2.5.rst:1045 msgid "" "Two new built-in functions, :func:`any` and :func:`all`, evaluate whether an " -"iterator contains any true or false values. :func:`any` returns :const:" -"`True` if any value returned by the iterator is true; otherwise it will " -"return :const:`False`. :func:`all` returns :const:`True` only if all of the " -"values returned by the iterator evaluate as true. (Suggested by Guido van " -"Rossum, and implemented by Raymond Hettinger.)" +"iterator contains any true or false values. :func:`any` " +"returns :const:`True` if any value returned by the iterator is true; " +"otherwise it will return :const:`False`. :func:`all` returns :const:`True` " +"only if all of the values returned by the iterator evaluate as true. " +"(Suggested by Guido van Rossum, and implemented by Raymond Hettinger.)" msgstr "" +"Two new built-in functions, :func:`any` and :func:`all`, evaluate whether an " +"iterator contains any true or false values. :func:`any` " +"returns :const:`True` if any value returned by the iterator is true; " +"otherwise it will return :const:`False`. :func:`all` returns :const:`True` " +"only if all of the values returned by the iterator evaluate as true. " +"(Suggested by Guido van Rossum, and implemented by Raymond Hettinger.)" #: ../../whatsnew/2.5.rst:1052 msgid "" @@ -1277,9 +1721,15 @@ msgid "" "integer or a regular integer. If a long integer is returned, the hash of " "that value is taken. In earlier versions the hash value was required to be " "a regular integer, but in 2.5 the :func:`id` built-in was changed to always " -"return non-negative numbers, and users often seem to use ``id(self)`` in :" -"meth:`__hash__` methods (though this is discouraged)." +"return non-negative numbers, and users often seem to use ``id(self)`` " +"in :meth:`__hash__` methods (though this is discouraged)." msgstr "" +"The result of a class's :meth:`__hash__` method can now be either a long " +"integer or a regular integer. If a long integer is returned, the hash of " +"that value is taken. In earlier versions the hash value was required to be " +"a regular integer, but in 2.5 the :func:`id` built-in was changed to always " +"return non-negative numbers, and users often seem to use ``id(self)`` " +"in :meth:`__hash__` methods (though this is discouraged)." #: ../../whatsnew/2.5.rst:1061 msgid "" @@ -1289,6 +1739,11 @@ msgid "" "error. See :pep:`263` for how to declare a module's encoding; for example, " "you might add a line like this near the top of the source file::" msgstr "" +"ASCII is now the default encoding for modules. It's now a syntax error if " +"a module contains string literals with 8-bit characters but doesn't have an " +"encoding declaration. In Python 2.4 this triggered a warning, not a syntax " +"error. See :pep:`263` for how to declare a module's encoding; for example, " +"you might add a line like this near the top of the source file::" #: ../../whatsnew/2.5.rst:1069 msgid "" @@ -1297,6 +1752,10 @@ msgid "" "Unicode using the default ASCII encoding. The result of the comparison is " "false::" msgstr "" +"A new warning, :class:`UnicodeWarning`, is triggered when you attempt to " +"compare a Unicode string and an 8-bit string that can't be converted to " +"Unicode using the default ASCII encoding. The result of the comparison is " +"false::" #: ../../whatsnew/2.5.rst:1081 msgid "" @@ -1307,6 +1766,12 @@ msgid "" "resulted in this exception being raised instead of suppressed by the code " "in :file:`dictobject.c` that implements dictionaries." msgstr "" +"Previously this would raise a :class:`UnicodeDecodeError` exception, but in " +"2.5 this could result in puzzling problems when accessing a dictionary. If " +"you looked up ``unichr(128)`` and ``chr(128)`` was being used as a key, " +"you'd get a :class:`UnicodeDecodeError` exception. Other changes in 2.5 " +"resulted in this exception being raised instead of suppressed by the code " +"in :file:`dictobject.c` that implements dictionaries." #: ../../whatsnew/2.5.rst:1088 msgid "" @@ -1314,37 +1779,51 @@ msgid "" "change might have broken code, so instead :class:`UnicodeWarning` was " "introduced." msgstr "" +"Raising an exception for such a comparison is strictly correct, but the " +"change might have broken code, so instead :class:`UnicodeWarning` was " +"introduced." #: ../../whatsnew/2.5.rst:1091 msgid "(Implemented by Marc-André Lemburg.)" -msgstr "" +msgstr "(Implemented by Marc-André Lemburg.)" #: ../../whatsnew/2.5.rst:1093 msgid "" "One error that Python programmers sometimes make is forgetting to include " "an :file:`__init__.py` module in a package directory. Debugging this mistake " "can be confusing, and usually requires running Python with the :option:`-v` " -"switch to log all the paths searched. In Python 2.5, a new :exc:" -"`ImportWarning` warning is triggered when an import would have picked up a " -"directory as a package but no :file:`__init__.py` was found. This warning " -"is silently ignored by default; provide the :option:`-Wd <-W>` option when " -"running the Python executable to display the warning message. (Implemented " -"by Thomas Wouters.)" +"switch to log all the paths searched. In Python 2.5, a " +"new :exc:`ImportWarning` warning is triggered when an import would have " +"picked up a directory as a package but no :file:`__init__.py` was found. " +"This warning is silently ignored by default; provide the :option:`-Wd <-W>` " +"option when running the Python executable to display the warning message. " +"(Implemented by Thomas Wouters.)" msgstr "" +"One error that Python programmers sometimes make is forgetting to include " +"an :file:`__init__.py` module in a package directory. Debugging this mistake " +"can be confusing, and usually requires running Python with the :option:`-v` " +"switch to log all the paths searched. In Python 2.5, a " +"new :exc:`ImportWarning` warning is triggered when an import would have " +"picked up a directory as a package but no :file:`__init__.py` was found. " +"This warning is silently ignored by default; provide the :option:`-Wd <-W>` " +"option when running the Python executable to display the warning message. " +"(Implemented by Thomas Wouters.)" #: ../../whatsnew/2.5.rst:1102 msgid "" "The list of base classes in a class definition can now be empty. As an " "example, this is now legal::" msgstr "" +"The list of base classes in a class definition can now be empty. As an " +"example, this is now legal::" #: ../../whatsnew/2.5.rst:1108 msgid "(Implemented by Brett Cannon.)" -msgstr "" +msgstr "(Implemented by Brett Cannon.)" #: ../../whatsnew/2.5.rst:1116 msgid "Interactive Interpreter Changes" -msgstr "" +msgstr "Interactive Interpreter Changes" #: ../../whatsnew/2.5.rst:1118 msgid "" @@ -1352,6 +1831,9 @@ msgid "" "strings so that new users get a somewhat helpful message when they try to " "quit::" msgstr "" +"In the interactive interpreter, ``quit`` and ``exit`` have long been " +"strings so that new users get a somewhat helpful message when they try to " +"quit::" #: ../../whatsnew/2.5.rst:1124 msgid "" @@ -1360,6 +1842,10 @@ msgid "" "``quit()`` or ``exit()`` will now exit the interpreter as they expect. " "(Implemented by Georg Brandl.)" msgstr "" +"In Python 2.5, ``quit`` and ``exit`` are now objects that still produce " +"string representations of themselves, but are also callable. Newbies who try " +"``quit()`` or ``exit()`` will now exit the interpreter as they expect. " +"(Implemented by Georg Brandl.)" #: ../../whatsnew/2.5.rst:1129 msgid "" @@ -1367,6 +1853,9 @@ msgid "" "help` and :option:`--version`; on Windows, it also accepts the :option:`/? " "<-?>` option for displaying a help message. (Implemented by Georg Brandl.)" msgstr "" +"The Python executable now accepts the standard long options :option:`--" +"help` and :option:`--version`; on Windows, it also accepts the :option:`/? " +"<-?>` option for displaying a help message. (Implemented by Georg Brandl.)" #: ../../whatsnew/2.5.rst:1139 msgid "Optimizations" @@ -1380,15 +1869,25 @@ msgid "" "LLC with local support from CCP Games. Those optimizations added at this " "sprint are specially marked in the following list." msgstr "" +"Several of the optimizations were developed at the NeedForSpeed sprint, an " +"event held in Reykjavik, Iceland, from May 21--28 2006. The sprint focused " +"on speed enhancements to the CPython implementation and was funded by EWT " +"LLC with local support from CCP Games. Those optimizations added at this " +"sprint are specially marked in the following list." #: ../../whatsnew/2.5.rst:1147 msgid "" -"When they were introduced in Python 2.4, the built-in :class:`set` and :" -"class:`frozenset` types were built on top of Python's dictionary type. In " -"2.5 the internal data structure has been customized for implementing sets, " -"and as a result sets will use a third less memory and are somewhat faster. " -"(Implemented by Raymond Hettinger.)" +"When they were introduced in Python 2.4, the built-in :class:`set` " +"and :class:`frozenset` types were built on top of Python's dictionary " +"type. In 2.5 the internal data structure has been customized for " +"implementing sets, and as a result sets will use a third less memory and are " +"somewhat faster. (Implemented by Raymond Hettinger.)" msgstr "" +"When they were introduced in Python 2.4, the built-in :class:`set` " +"and :class:`frozenset` types were built on top of Python's dictionary " +"type. In 2.5 the internal data structure has been customized for " +"implementing sets, and as a result sets will use a third less memory and are " +"somewhat faster. (Implemented by Raymond Hettinger.)" #: ../../whatsnew/2.5.rst:1153 msgid "" @@ -1398,6 +1897,11 @@ msgid "" "Andrew Dalke at the NeedForSpeed sprint. Character maps were improved by " "Walter Dörwald and Martin von Löwis.)" msgstr "" +"The speed of some Unicode operations, such as finding substrings, string " +"splitting, and character map encoding and decoding, has been improved. " +"(Substring search and splitting improvements were added by Fredrik Lundh and " +"Andrew Dalke at the NeedForSpeed sprint. Character maps were improved by " +"Walter Dörwald and Martin von Löwis.)" #: ../../whatsnew/2.5.rst:1161 msgid "" @@ -1406,17 +1910,28 @@ msgid "" "around 800--1000 digits where the function is 6 times faster. (Contributed " "by Alan McIntyre and committed at the NeedForSpeed sprint.)" msgstr "" +"The ``long(str, base)`` function is now faster on long digit strings because " +"fewer intermediate results are calculated. The peak is for strings of " +"around 800--1000 digits where the function is 6 times faster. (Contributed " +"by Alan McIntyre and committed at the NeedForSpeed sprint.)" #: ../../whatsnew/2.5.rst:1168 msgid "" "It's now illegal to mix iterating over a file with ``for line in file`` and " "calling the file object's :meth:`read`/:meth:`readline`/:meth:`readlines` " -"methods. Iteration uses an internal buffer and the :meth:`read\\*` methods " -"don't use that buffer. Instead they would return the data following the " -"buffer, causing the data to appear out of order. Mixing iteration and these " -"methods will now trigger a :exc:`ValueError` from the :meth:`read\\*` " -"method. (Implemented by Thomas Wouters.)" +"methods. Iteration uses an internal buffer and the :meth:`!read\\*` " +"methods don't use that buffer. Instead they would return the data " +"following the buffer, causing the data to appear out of order. Mixing " +"iteration and these methods will now trigger a :exc:`ValueError` from " +"the :meth:`!read\\*` method. (Implemented by Thomas Wouters.)" msgstr "" +"It's now illegal to mix iterating over a file with ``for line in file`` and " +"calling the file object's :meth:`read`/:meth:`readline`/:meth:`readlines` " +"methods. Iteration uses an internal buffer and the :meth:`!read\\*` " +"methods don't use that buffer. Instead they would return the data " +"following the buffer, causing the data to appear out of order. Mixing " +"iteration and these methods will now trigger a :exc:`ValueError` from " +"the :meth:`!read\\*` method. (Implemented by Thomas Wouters.)" #: ../../whatsnew/2.5.rst:1178 msgid "" @@ -1424,13 +1939,21 @@ msgid "" "internal representation and caches this representation, yielding a 20% " "speedup. (Contributed by Bob Ippolito at the NeedForSpeed sprint.)" msgstr "" +"The :mod:`struct` module now compiles structure format strings into an " +"internal representation and caches this representation, yielding a 20% " +"speedup. (Contributed by Bob Ippolito at the NeedForSpeed sprint.)" #: ../../whatsnew/2.5.rst:1182 msgid "" "The :mod:`re` module got a 1 or 2% speedup by switching to Python's " -"allocator functions instead of the system's :c:func:`malloc` and :c:func:" -"`free`. (Contributed by Jack Diederich at the NeedForSpeed sprint.)" +"allocator functions instead of the system's :c:func:`malloc` " +"and :c:func:`free`. (Contributed by Jack Diederich at the NeedForSpeed " +"sprint.)" msgstr "" +"The :mod:`re` module got a 1 or 2% speedup by switching to Python's " +"allocator functions instead of the system's :c:func:`malloc` " +"and :c:func:`free`. (Contributed by Jack Diederich at the NeedForSpeed " +"sprint.)" #: ../../whatsnew/2.5.rst:1186 msgid "" @@ -1439,6 +1962,10 @@ msgid "" "will do the arithmetic and produce code corresponding to ``a = 5``. " "(Proposed and implemented by Raymond Hettinger.)" msgstr "" +"The code generator's peephole optimizer now performs simple constant folding " +"in expressions. If you write something like ``a = 2+3``, the code generator " +"will do the arithmetic and produce code corresponding to ``a = 5``. " +"(Proposed and implemented by Raymond Hettinger.)" #: ../../whatsnew/2.5.rst:1191 msgid "" @@ -1450,6 +1977,13 @@ msgid "" "may improve cache locality and reduce memory usage a bit. (Contributed by " "Neal Norwitz.)" msgstr "" +"Function calls are now faster because code objects now keep the most " +"recently finished frame (a \"zombie frame\") in an internal field of the " +"code object, reusing it the next time the code object is invoked. (Original " +"patch by Michael Hudson, modified by Armin Rigo and Richard Jones; committed " +"at the NeedForSpeed sprint.) Frame objects are also slightly smaller, which " +"may improve cache locality and reduce memory usage a bit. (Contributed by " +"Neal Norwitz.)" #: ../../whatsnew/2.5.rst:1201 msgid "" @@ -1458,6 +1992,10 @@ msgid "" "therefore about 30% faster than in 2.4. (Contributed by Richard Jones, Georg " "Brandl and Sean Reifschneider at the NeedForSpeed sprint.)" msgstr "" +"Python's built-in exceptions are now new-style classes, a change that speeds " +"up instantiation considerably. Exception handling in Python 2.5 is " +"therefore about 30% faster than in 2.4. (Contributed by Richard Jones, Georg " +"Brandl and Sean Reifschneider at the NeedForSpeed sprint.)" #: ../../whatsnew/2.5.rst:1206 msgid "" @@ -1465,10 +2003,13 @@ msgid "" "so that the interpreter makes fewer :c:func:`open` and :c:func:`stat` calls " "on startup. (Contributed by Martin von Löwis and Georg Brandl.)" msgstr "" +"Importing now caches the paths tried, recording whether they exist or not " +"so that the interpreter makes fewer :c:func:`open` and :c:func:`stat` calls " +"on startup. (Contributed by Martin von Löwis and Georg Brandl.)" #: ../../whatsnew/2.5.rst:1218 msgid "New, Improved, and Removed Modules" -msgstr "" +msgstr "New, Improved, and Removed Modules" #: ../../whatsnew/2.5.rst:1220 msgid "" @@ -1478,6 +2019,11 @@ msgid "" "more complete list of changes, or look through the SVN logs for all the " "details." msgstr "" +"The standard library received many enhancements and bug fixes in Python 2.5. " +"Here's a partial list of the most notable changes, sorted alphabetically by " +"module name. Consult the :file:`Misc/NEWS` file in the source tree for a " +"more complete list of changes, or look through the SVN logs for all the " +"details." #: ../../whatsnew/2.5.rst:1225 msgid "" @@ -1487,17 +2033,25 @@ msgstr "" #: ../../whatsnew/2.5.rst:1228 msgid "" -"The :mod:`codecs` module gained support for incremental codecs. The :func:" -"`codec.lookup` function now returns a :class:`CodecInfo` instance instead of " -"a tuple. :class:`CodecInfo` instances behave like a 4-tuple to preserve " -"backward compatibility but also have the attributes :attr:`encode`, :attr:" -"`decode`, :attr:`incrementalencoder`, :attr:`incrementaldecoder`, :attr:" -"`streamwriter`, and :attr:`streamreader`. Incremental codecs can receive " -"input and produce output in multiple chunks; the output is the same as if " -"the entire input was fed to the non-incremental codec. See the :mod:`codecs` " -"module documentation for details. (Designed and implemented by Walter " -"Dörwald.)" -msgstr "" +"The :mod:`codecs` module gained support for incremental codecs. " +"The :func:`codec.lookup` function now returns a :class:`CodecInfo` instance " +"instead of a tuple. :class:`CodecInfo` instances behave like a 4-tuple to " +"preserve backward compatibility but also have the " +"attributes :attr:`encode`, :attr:`decode`, :attr:`incrementalencoder`, :attr:`incrementaldecoder`, :attr:`streamwriter`, " +"and :attr:`streamreader`. Incremental codecs can receive input and produce " +"output in multiple chunks; the output is the same as if the entire input was " +"fed to the non-incremental codec. See the :mod:`codecs` module documentation " +"for details. (Designed and implemented by Walter Dörwald.)" +msgstr "" +"The :mod:`codecs` module gained support for incremental codecs. " +"The :func:`codec.lookup` function now returns a :class:`CodecInfo` instance " +"instead of a tuple. :class:`CodecInfo` instances behave like a 4-tuple to " +"preserve backward compatibility but also have the " +"attributes :attr:`encode`, :attr:`decode`, :attr:`incrementalencoder`, :attr:`incrementaldecoder`, :attr:`streamwriter`, " +"and :attr:`streamreader`. Incremental codecs can receive input and produce " +"output in multiple chunks; the output is the same as if the entire input was " +"fed to the non-incremental codec. See the :mod:`codecs` module documentation " +"for details. (Designed and implemented by Walter Dörwald.)" #: ../../whatsnew/2.5.rst:1240 msgid "" @@ -1506,6 +2060,10 @@ msgid "" "like a dictionary but constructs a default value when a key isn't present, " "automatically adding it to the dictionary for the requested key value." msgstr "" +"The :mod:`collections` module gained a new type, :class:`defaultdict`, that " +"subclasses the standard :class:`dict` type. The new type mostly behaves " +"like a dictionary but constructs a default value when a key isn't present, " +"automatically adding it to the dictionary for the requested key value." #: ../../whatsnew/2.5.rst:1245 msgid "" @@ -1515,22 +2073,33 @@ msgid "" "constructors such as :func:`list` or :func:`int`. For example, you can " "make an index of words based on their initial letter like this::" msgstr "" +"The first argument to :class:`defaultdict`'s constructor is a factory " +"function that gets called whenever a key is requested but not found. This " +"factory function receives no arguments, so you can use built-in type " +"constructors such as :func:`list` or :func:`int`. For example, you can " +"make an index of words based on their initial letter like this::" #: ../../whatsnew/2.5.rst:1261 msgid "Printing ``index`` results in the following output::" -msgstr "" +msgstr "Printing ``index`` results in the following output::" #: ../../whatsnew/2.5.rst:1269 msgid "(Contributed by Guido van Rossum.)" -msgstr "" +msgstr "(Contributed by Guido van Rossum.)" #: ../../whatsnew/2.5.rst:1271 msgid "" -"The :class:`deque` double-ended queue type supplied by the :mod:" -"`collections` module now has a ``remove(value)`` method that removes the " -"first occurrence of *value* in the queue, raising :exc:`ValueError` if the " -"value isn't found. (Contributed by Raymond Hettinger.)" +"The :class:`deque` double-ended queue type supplied by " +"the :mod:`collections` module now has a ``remove(value)`` method that " +"removes the first occurrence of *value* in the queue, " +"raising :exc:`ValueError` if the value isn't found. (Contributed by Raymond " +"Hettinger.)" msgstr "" +"The :class:`deque` double-ended queue type supplied by " +"the :mod:`collections` module now has a ``remove(value)`` method that " +"removes the first occurrence of *value* in the queue, " +"raising :exc:`ValueError` if the value isn't found. (Contributed by Raymond " +"Hettinger.)" #: ../../whatsnew/2.5.rst:1276 msgid "" @@ -1538,6 +2107,9 @@ msgid "" "with the new ':keyword:`with`' statement. See section :ref:`contextlibmod` " "for more about this module." msgstr "" +"New module: The :mod:`contextlib` module contains helper functions for use " +"with the new ':keyword:`with`' statement. See section :ref:`contextlibmod` " +"for more about this module." #: ../../whatsnew/2.5.rst:1280 msgid "" @@ -1549,6 +2121,13 @@ msgid "" "the :mod:`profile` module's interface, will continue to be maintained in " "future versions of Python. (Contributed by Armin Rigo.)" msgstr "" +"New module: The :mod:`cProfile` module is a C implementation of the " +"existing :mod:`profile` module that has much lower overhead. The module's " +"interface is the same as :mod:`profile`: you run ``cProfile.run('main()')`` " +"to profile a function, can save profile data to a file, etc. It's not yet " +"known if the Hotshot profiler, which is also written in C but doesn't match " +"the :mod:`profile` module's interface, will continue to be maintained in " +"future versions of Python. (Contributed by Armin Rigo.)" #: ../../whatsnew/2.5.rst:1288 msgid "" @@ -1557,18 +2136,30 @@ msgid "" "*stream* argument to the :class:`Stats` constructor. (Contributed by Skip " "Montanaro.)" msgstr "" +"Also, the :mod:`pstats` module for analyzing the data measured by the " +"profiler now supports directing the output to any file object by supplying a " +"*stream* argument to the :class:`Stats` constructor. (Contributed by Skip " +"Montanaro.)" #: ../../whatsnew/2.5.rst:1292 msgid "" "The :mod:`csv` module, which parses files in comma-separated value format, " "received several enhancements and a number of bugfixes. You can now set the " -"maximum size in bytes of a field by calling the ``csv." -"field_size_limit(new_limit)`` function; omitting the *new_limit* argument " -"will return the currently set limit. The :class:`reader` class now has a :" -"attr:`line_num` attribute that counts the number of physical lines read from " -"the source; records can span multiple physical lines, so :attr:`line_num` is " -"not the same as the number of records read." +"maximum size in bytes of a field by calling the " +"``csv.field_size_limit(new_limit)`` function; omitting the *new_limit* " +"argument will return the currently set limit. The :class:`reader` class now " +"has a :attr:`line_num` attribute that counts the number of physical lines " +"read from the source; records can span multiple physical lines, " +"so :attr:`line_num` is not the same as the number of records read." msgstr "" +"The :mod:`csv` module, which parses files in comma-separated value format, " +"received several enhancements and a number of bugfixes. You can now set the " +"maximum size in bytes of a field by calling the " +"``csv.field_size_limit(new_limit)`` function; omitting the *new_limit* " +"argument will return the currently set limit. The :class:`reader` class now " +"has a :attr:`line_num` attribute that counts the number of physical lines " +"read from the source; records can span multiple physical lines, " +"so :attr:`line_num` is not the same as the number of records read." #: ../../whatsnew/2.5.rst:1301 msgid "" @@ -1581,10 +2172,18 @@ msgid "" "fields are important, the input should be split into lines in a manner that " "preserves the newline characters." msgstr "" +"The CSV parser is now stricter about multi-line quoted fields. Previously, " +"if a line ended within a quoted field without a terminating newline " +"character, a newline would be inserted into the returned field. This " +"behavior caused problems when reading files that contained carriage return " +"characters within fields, so the code was changed to return the field " +"without inserting newlines. As a consequence, if newlines embedded within " +"fields are important, the input should be split into lines in a manner that " +"preserves the newline characters." #: ../../whatsnew/2.5.rst:1309 msgid "(Contributed by Skip Montanaro and Andrew McNamara.)" -msgstr "" +msgstr "(Contributed by Skip Montanaro and Andrew McNamara.)" #: ../../whatsnew/2.5.rst:1311 msgid "" @@ -1593,6 +2192,10 @@ msgid "" "by Josh Spoerri. It uses the same format characters as :func:`time.strptime` " "and :func:`time.strftime`::" msgstr "" +"The :class:`~datetime.datetime` class in the :mod:`datetime` module now has " +"a ``strptime(string, format)`` method for parsing date strings, contributed " +"by Josh Spoerri. It uses the same format characters as :func:`time.strptime` " +"and :func:`time.strftime`::" #: ../../whatsnew/2.5.rst:1321 msgid "" @@ -1601,6 +2204,10 @@ msgid "" "subsequences. Previously, the algorithm would occasionally break a block of " "matching elements into two list entries. (Enhancement by Tim Peters.)" msgstr "" +"The :meth:`SequenceMatcher.get_matching_blocks` method in the :mod:`difflib` " +"module now guarantees to return a minimal list of blocks describing matching " +"subsequences. Previously, the algorithm would occasionally break a block of " +"matching elements into two list entries. (Enhancement by Tim Peters.)" #: ../../whatsnew/2.5.rst:1326 msgid "" @@ -1608,32 +2215,49 @@ msgid "" "from being executed at all. This is intended for code snippets that are " "usage examples intended for the reader and aren't actually test cases." msgstr "" +"The :mod:`doctest` module gained a ``SKIP`` option that keeps an example " +"from being executed at all. This is intended for code snippets that are " +"usage examples intended for the reader and aren't actually test cases." #: ../../whatsnew/2.5.rst:1330 msgid "" -"An *encoding* parameter was added to the :func:`testfile` function and the :" -"class:`DocFileSuite` class to specify the file's encoding. This makes it " -"easier to use non-ASCII characters in tests contained within a docstring. " -"(Contributed by Bjorn Tillenius.)" +"An *encoding* parameter was added to the :func:`testfile` function and " +"the :class:`DocFileSuite` class to specify the file's encoding. This makes " +"it easier to use non-ASCII characters in tests contained within a " +"docstring. (Contributed by Bjorn Tillenius.)" msgstr "" +"An *encoding* parameter was added to the :func:`testfile` function and " +"the :class:`DocFileSuite` class to specify the file's encoding. This makes " +"it easier to use non-ASCII characters in tests contained within a " +"docstring. (Contributed by Bjorn Tillenius.)" #: ../../whatsnew/2.5.rst:1337 msgid "" "The :mod:`email` package has been updated to version 4.0. (Contributed by " "Barry Warsaw.)" msgstr "" +"The :mod:`email` package has been updated to version 4.0. (Contributed by " +"Barry Warsaw.)" #: ../../whatsnew/2.5.rst:1345 msgid "" "The :mod:`fileinput` module was made more flexible. Unicode filenames are " "now supported, and a *mode* parameter that defaults to ``\"r\"`` was added " -"to the :func:`input` function to allow opening files in binary or :term:" -"`universal newlines` mode. Another new parameter, *openhook*, lets you use " -"a function other than :func:`open` to open the input files. Once you're " -"iterating over the set of files, the :class:`FileInput` object's new :meth:" -"`fileno` returns the file descriptor for the currently opened file. " -"(Contributed by Georg Brandl.)" +"to the :func:`input` function to allow opening files in binary " +"or :term:`universal newlines` mode. Another new parameter, *openhook*, lets " +"you use a function other than :func:`open` to open the input files. Once " +"you're iterating over the set of files, the :class:`FileInput` object's " +"new :meth:`~fileinput.fileno` returns the file descriptor for the currently " +"opened file. (Contributed by Georg Brandl.)" msgstr "" +"The :mod:`fileinput` module was made more flexible. Unicode filenames are " +"now supported, and a *mode* parameter that defaults to ``\"r\"`` was added " +"to the :func:`input` function to allow opening files in binary " +"or :term:`universal newlines` mode. Another new parameter, *openhook*, lets " +"you use a function other than :func:`open` to open the input files. Once " +"you're iterating over the set of files, the :class:`FileInput` object's " +"new :meth:`~fileinput.fileno` returns the file descriptor for the currently " +"opened file. (Contributed by Georg Brandl.)" #: ../../whatsnew/2.5.rst:1354 msgid "" @@ -1645,6 +2269,13 @@ msgid "" "*generation* argument of 0, 1, or 2 to specify which generation to collect. " "(Contributed by Barry Warsaw.)" msgstr "" +"In the :mod:`gc` module, the new :func:`get_count` function returns a 3-" +"tuple containing the current collection counts for the three GC " +"generations. This is accounting information for the garbage collector; when " +"these counts reach a specified threshold, a garbage collection sweep will be " +"made. The existing :func:`gc.collect` function now takes an optional " +"*generation* argument of 0, 1, or 2 to specify which generation to collect. " +"(Contributed by Barry Warsaw.)" #: ../../whatsnew/2.5.rst:1361 msgid "" @@ -1653,6 +2284,10 @@ msgid "" "by the :func:`min`/:func:`max` functions and the :meth:`sort` methods. For " "example::" msgstr "" +"The :func:`nsmallest` and :func:`nlargest` functions in the :mod:`heapq` " +"module now support a ``key`` keyword parameter similar to the one provided " +"by the :func:`min`/:func:`max` functions and the :meth:`sort` methods. For " +"example::" #: ../../whatsnew/2.5.rst:1373 ../../whatsnew/2.5.rst:1382 msgid "(Contributed by Raymond Hettinger.)" @@ -1664,12 +2299,17 @@ msgid "" "step arguments. This makes it more compatible with the attributes of slice " "objects, so that you can now write the following::" msgstr "" +"The :func:`itertools.islice` function now accepts ``None`` for the start and " +"step arguments. This makes it more compatible with the attributes of slice " +"objects, so that you can now write the following::" #: ../../whatsnew/2.5.rst:1384 msgid "" "The :func:`format` function in the :mod:`locale` module has been modified " "and two new functions were added, :func:`format_string` and :func:`currency`." msgstr "" +"The :func:`format` function in the :mod:`locale` module has been modified " +"and two new functions were added, :func:`format_string` and :func:`currency`." #: ../../whatsnew/2.5.rst:1387 msgid "" @@ -1680,23 +2320,34 @@ msgid "" "locale's rules for formatting currency in placing a separator between groups " "of three digits." msgstr "" +"The :func:`format` function's *val* parameter could previously be a string " +"as long as no more than one %char specifier appeared; now the parameter must " +"be exactly one %char specifier with no surrounding text. An optional " +"*monetary* parameter was also added which, if ``True``, will use the " +"locale's rules for formatting currency in placing a separator between groups " +"of three digits." #: ../../whatsnew/2.5.rst:1393 msgid "" -"To format strings with multiple %char specifiers, use the new :func:" -"`format_string` function that works like :func:`format` but also supports " -"mixing %char specifiers with arbitrary text." +"To format strings with multiple %char specifiers, use the " +"new :func:`format_string` function that works like :func:`format` but also " +"supports mixing %char specifiers with arbitrary text." msgstr "" +"To format strings with multiple %char specifiers, use the " +"new :func:`format_string` function that works like :func:`format` but also " +"supports mixing %char specifiers with arbitrary text." #: ../../whatsnew/2.5.rst:1397 msgid "" "A new :func:`currency` function was also added that formats a number " "according to the current locale's settings." msgstr "" +"A new :func:`currency` function was also added that formats a number " +"according to the current locale's settings." #: ../../whatsnew/2.5.rst:1400 msgid "(Contributed by Georg Brandl.)" -msgstr "" +msgstr "(Contributed by Georg Brandl.)" #: ../../whatsnew/2.5.rst:1404 msgid "" @@ -1708,18 +2359,28 @@ msgid "" "unlock the mailbox. The following example converts a maildir-format mailbox " "into an mbox-format one::" msgstr "" +"The :mod:`mailbox` module underwent a massive rewrite to add the capability " +"to modify mailboxes in addition to reading them. A new set of classes that " +"include :class:`mbox`, :class:`MH`, and :class:`Maildir` are used to read " +"mailboxes, and have an ``add(message)`` method to add messages, " +"``remove(key)`` to remove messages, and :meth:`lock`/:meth:`unlock` to lock/" +"unlock the mailbox. The following example converts a maildir-format mailbox " +"into an mbox-format one::" #: ../../whatsnew/2.5.rst:1422 msgid "" "(Contributed by Gregory K. Johnson. Funding was provided by Google's 2005 " "Summer of Code.)" msgstr "" +"(Contributed by Gregory K. Johnson. Funding was provided by Google's 2005 " +"Summer of Code.)" #: ../../whatsnew/2.5.rst:1425 msgid "" -"New module: the :mod:`msilib` module allows creating Microsoft Installer :" -"file:`.msi` files and CAB files. Some support for reading the :file:`.msi` " -"database is also included. (Contributed by Martin von Löwis.)" +"New module: the :mod:`msilib` module allows creating Microsoft " +"Installer :file:`.msi` files and CAB files. Some support for reading " +"the :file:`.msi` database is also included. (Contributed by Martin von " +"Löwis.)" msgstr "" #: ../../whatsnew/2.5.rst:1429 @@ -1732,12 +2393,18 @@ msgstr "" #: ../../whatsnew/2.5.rst:1433 msgid "" "The :mod:`operator` module's :func:`itemgetter` and :func:`attrgetter` " -"functions now support multiple fields. A call such as ``operator." -"attrgetter('a', 'b')`` will return a function that retrieves the :attr:`a` " -"and :attr:`b` attributes. Combining this new feature with the :meth:`sort` " -"method's ``key`` parameter lets you easily sort lists using multiple " -"fields. (Contributed by Raymond Hettinger.)" +"functions now support multiple fields. A call such as " +"``operator.attrgetter('a', 'b')`` will return a function that retrieves " +"the :attr:`a` and :attr:`b` attributes. Combining this new feature with " +"the :meth:`sort` method's ``key`` parameter lets you easily sort lists " +"using multiple fields. (Contributed by Raymond Hettinger.)" msgstr "" +"The :mod:`operator` module's :func:`itemgetter` and :func:`attrgetter` " +"functions now support multiple fields. A call such as " +"``operator.attrgetter('a', 'b')`` will return a function that retrieves " +"the :attr:`a` and :attr:`b` attributes. Combining this new feature with " +"the :meth:`sort` method's ``key`` parameter lets you easily sort lists " +"using multiple fields. (Contributed by Raymond Hettinger.)" #: ../../whatsnew/2.5.rst:1440 msgid "" @@ -1747,23 +2414,37 @@ msgid "" "method to break reference cycles created by the object. (Contributed by Greg " "Ward.)" msgstr "" +"The :mod:`optparse` module was updated to version 1.5.1 of the Optik " +"library. The :class:`OptionParser` class gained an :attr:`epilog` attribute, " +"a string that will be printed after the help message, and a :meth:`destroy` " +"method to break reference cycles created by the object. (Contributed by Greg " +"Ward.)" #: ../../whatsnew/2.5.rst:1445 msgid "" -"The :mod:`os` module underwent several changes. The :attr:" -"`stat_float_times` variable now defaults to true, meaning that :func:`os." -"stat` will now return time values as floats. (This doesn't necessarily mean " -"that :func:`os.stat` will return times that are precise to fractions of a " -"second; not all systems support such precision.)" +"The :mod:`os` module underwent several changes. " +"The :attr:`stat_float_times` variable now defaults to true, meaning " +"that :func:`os.stat` will now return time values as floats. (This doesn't " +"necessarily mean that :func:`os.stat` will return times that are precise to " +"fractions of a second; not all systems support such precision.)" msgstr "" +"The :mod:`os` module underwent several changes. " +"The :attr:`stat_float_times` variable now defaults to true, meaning " +"that :func:`os.stat` will now return time values as floats. (This doesn't " +"necessarily mean that :func:`os.stat` will return times that are precise to " +"fractions of a second; not all systems support such precision.)" #: ../../whatsnew/2.5.rst:1451 msgid "" -"Constants named :attr:`os.SEEK_SET`, :attr:`os.SEEK_CUR`, and :attr:`os." -"SEEK_END` have been added; these are the parameters to the :func:`os.lseek` " -"function. Two new constants for locking are :attr:`os.O_SHLOCK` and :attr:" -"`os.O_EXLOCK`." +"Constants named :const:`os.SEEK_SET`, :const:`os.SEEK_CUR`, " +"and :const:`os.SEEK_END` have been added; these are the parameters to " +"the :func:`os.lseek` function. Two new constants for locking " +"are :const:`os.O_SHLOCK` and :const:`os.O_EXLOCK`." msgstr "" +"Constants named :const:`os.SEEK_SET`, :const:`os.SEEK_CUR`, " +"and :const:`os.SEEK_END` have been added; these are the parameters to " +"the :func:`os.lseek` function. Two new constants for locking " +"are :const:`os.O_SHLOCK` and :const:`os.O_EXLOCK`." #: ../../whatsnew/2.5.rst:1456 msgid "" @@ -1776,14 +2457,26 @@ msgid "" "the :func:`resource.getrusage` function. ``wait4(pid)`` does take a process " "ID. (Contributed by Chad J. Schroeder.)" msgstr "" +"Two new functions, :func:`wait3` and :func:`wait4`, were added. They're " +"similar the :func:`waitpid` function which waits for a child process to exit " +"and returns a tuple of the process ID and its exit status, but :func:`wait3` " +"and :func:`wait4` return additional information. :func:`wait3` doesn't take " +"a process ID as input, so it waits for any child process to exit and returns " +"a 3-tuple of *process-id*, *exit-status*, *resource-usage* as returned from " +"the :func:`resource.getrusage` function. ``wait4(pid)`` does take a process " +"ID. (Contributed by Chad J. Schroeder.)" #: ../../whatsnew/2.5.rst:1465 msgid "" "On FreeBSD, the :func:`os.stat` function now returns times with nanosecond " -"resolution, and the returned object now has :attr:`st_gen` and :attr:" -"`st_birthtime`. The :attr:`st_flags` attribute is also available, if the " -"platform supports it. (Contributed by Antti Louko and Diego Pettenò.)" +"resolution, and the returned object now has :attr:`st_gen` " +"and :attr:`st_birthtime`. The :attr:`st_flags` attribute is also available, " +"if the platform supports it. (Contributed by Antti Louko and Diego Pettenò.)" msgstr "" +"On FreeBSD, the :func:`os.stat` function now returns times with nanosecond " +"resolution, and the returned object now has :attr:`st_gen` " +"and :attr:`st_birthtime`. The :attr:`st_flags` attribute is also available, " +"if the platform supports it. (Contributed by Antti Louko and Diego Pettenò.)" #: ../../whatsnew/2.5.rst:1472 msgid "" @@ -1794,14 +2487,24 @@ msgid "" "can include commands that resume execution, such as ``continue`` or " "``next``. (Contributed by Grégoire Dooms.)" msgstr "" +"The Python debugger provided by the :mod:`pdb` module can now store lists of " +"commands to execute when a breakpoint is reached and execution stops. Once " +"breakpoint #1 has been created, enter ``commands 1`` and enter a series of " +"commands to be executed, finishing the list with ``end``. The command list " +"can include commands that resume execution, such as ``continue`` or " +"``next``. (Contributed by Grégoire Dooms.)" #: ../../whatsnew/2.5.rst:1481 msgid "" -"The :mod:`pickle` and :mod:`cPickle` modules no longer accept a return value " -"of ``None`` from the :meth:`__reduce__` method; the method must return a " -"tuple of arguments instead. The ability to return ``None`` was deprecated " -"in Python 2.4, so this completes the removal of the feature." +"The :mod:`pickle` and :mod:`!cPickle` modules no longer accept a return " +"value of ``None`` from the :meth:`~object.__reduce__` method; the method " +"must return a tuple of arguments instead. The ability to return ``None`` " +"was deprecated in Python 2.4, so this completes the removal of the feature." msgstr "" +"The :mod:`pickle` and :mod:`!cPickle` modules no longer accept a return " +"value of ``None`` from the :meth:`~object.__reduce__` method; the method " +"must return a tuple of arguments instead. The ability to return ``None`` " +"was deprecated in Python 2.4, so this completes the removal of the feature." #: ../../whatsnew/2.5.rst:1486 msgid "" @@ -1810,23 +2513,36 @@ msgid "" "works for packages stored in ZIP-format archives. (Contributed by Phillip J. " "Eby.)" msgstr "" +"The :mod:`pkgutil` module, containing various utility functions for finding " +"packages, was enhanced to support :pep:`302`'s import hooks and now also " +"works for packages stored in ZIP-format archives. (Contributed by Phillip J. " +"Eby.)" #: ../../whatsnew/2.5.rst:1490 msgid "" -"The pybench benchmark suite by Marc-André Lemburg is now included in the :" -"file:`Tools/pybench` directory. The pybench suite is an improvement on the " -"commonly used :file:`pystone.py` program because pybench provides a more " +"The pybench benchmark suite by Marc-André Lemburg is now included in " +"the :file:`Tools/pybench` directory. The pybench suite is an improvement on " +"the commonly used :file:`pystone.py` program because pybench provides a more " "detailed measurement of the interpreter's speed. It times particular " "operations such as function calls, tuple slicing, method lookups, and " "numeric operations, instead of performing many different operations and " "reducing the result to a single number as :file:`pystone.py` does." msgstr "" +"The pybench benchmark suite by Marc-André Lemburg is now included in " +"the :file:`Tools/pybench` directory. The pybench suite is an improvement on " +"the commonly used :file:`pystone.py` program because pybench provides a more " +"detailed measurement of the interpreter's speed. It times particular " +"operations such as function calls, tuple slicing, method lookups, and " +"numeric operations, instead of performing many different operations and " +"reducing the result to a single number as :file:`pystone.py` does." #: ../../whatsnew/2.5.rst:1498 msgid "" "The :mod:`pyexpat` module now uses version 2.0 of the Expat parser. " "(Contributed by Trent Mick.)" msgstr "" +"The :mod:`pyexpat` module now uses version 2.0 of the Expat parser. " +"(Contributed by Trent Mick.)" #: ../../whatsnew/2.5.rst:1501 msgid "" @@ -1837,13 +2553,22 @@ msgid "" "processing for an item has been completed. (Contributed by Raymond " "Hettinger.)" msgstr "" +"The :class:`~queue.Queue` class provided by the :mod:`Queue` module gained " +"two new methods. :meth:`join` blocks until all items in the queue have been " +"retrieved and all processing work on the items have been completed. Worker " +"threads call the other new method, :meth:`task_done`, to signal that " +"processing for an item has been completed. (Contributed by Raymond " +"Hettinger.)" #: ../../whatsnew/2.5.rst:1507 msgid "" "The old :mod:`regex` and :mod:`regsub` modules, which have been deprecated " -"ever since Python 2.0, have finally been deleted. Other deleted modules: :" -"mod:`statcache`, :mod:`tzparse`, :mod:`whrandom`." +"ever since Python 2.0, have finally been deleted. Other deleted " +"modules: :mod:`statcache`, :mod:`tzparse`, :mod:`whrandom`." msgstr "" +"The old :mod:`regex` and :mod:`regsub` modules, which have been deprecated " +"ever since Python 2.0, have finally been deleted. Other deleted " +"modules: :mod:`statcache`, :mod:`tzparse`, :mod:`whrandom`." #: ../../whatsnew/2.5.rst:1511 msgid "" @@ -1852,32 +2577,50 @@ msgid "" "the default ``sys.path``, so unless your programs explicitly added the " "directory to ``sys.path``, this removal shouldn't affect your code." msgstr "" +"Also deleted: the :file:`lib-old` directory, which includes ancient modules " +"such as :mod:`dircmp` and :mod:`ni`, was removed. :file:`lib-old` wasn't on " +"the default ``sys.path``, so unless your programs explicitly added the " +"directory to ``sys.path``, this removal shouldn't affect your code." #: ../../whatsnew/2.5.rst:1516 msgid "" -"The :mod:`rlcompleter` module is no longer dependent on importing the :mod:" -"`readline` module and therefore now works on non-Unix platforms. (Patch from " -"Robert Kiendl.)" +"The :mod:`rlcompleter` module is no longer dependent on importing " +"the :mod:`readline` module and therefore now works on non-Unix platforms. " +"(Patch from Robert Kiendl.)" msgstr "" +"The :mod:`rlcompleter` module is no longer dependent on importing " +"the :mod:`readline` module and therefore now works on non-Unix platforms. " +"(Patch from Robert Kiendl.)" #: ../../whatsnew/2.5.rst:1522 msgid "" -"The :mod:`SimpleXMLRPCServer` and :mod:`DocXMLRPCServer` classes now have " -"a :attr:`rpc_paths` attribute that constrains XML-RPC operations to a " -"limited set of URL paths; the default is to allow only ``'/'`` and ``'/" -"RPC2'``. Setting :attr:`rpc_paths` to ``None`` or an empty tuple disables " -"this path checking." +"The :mod:`SimpleXMLRPCServer ` and :mod:`DocXMLRPCServer " +"` classes now have a :attr:`rpc_paths` attribute that " +"constrains XML-RPC operations to a limited set of URL paths; the default is " +"to allow only ``'/'`` and ``'/RPC2'``. Setting :attr:`rpc_paths` to " +"``None`` or an empty tuple disables this path checking." msgstr "" +"The :mod:`SimpleXMLRPCServer ` and :mod:`DocXMLRPCServer " +"` classes now have a :attr:`rpc_paths` attribute that " +"constrains XML-RPC operations to a limited set of URL paths; the default is " +"to allow only ``'/'`` and ``'/RPC2'``. Setting :attr:`rpc_paths` to " +"``None`` or an empty tuple disables this path checking." #: ../../whatsnew/2.5.rst:1529 msgid "" "The :mod:`socket` module now supports :const:`AF_NETLINK` sockets on Linux, " "thanks to a patch from Philippe Biondi. Netlink sockets are a Linux-" "specific mechanism for communications between a user-space process and " -"kernel code; an introductory article about them is at https://www." -"linuxjournal.com/article/7356. In Python code, netlink addresses are " +"kernel code; an introductory article about them is at https://" +"www.linuxjournal.com/article/7356. In Python code, netlink addresses are " "represented as a tuple of 2 integers, ``(pid, group_mask)``." msgstr "" +"The :mod:`socket` module now supports :const:`AF_NETLINK` sockets on Linux, " +"thanks to a patch from Philippe Biondi. Netlink sockets are a Linux-" +"specific mechanism for communications between a user-space process and " +"kernel code; an introductory article about them is at https://" +"www.linuxjournal.com/article/7356. In Python code, netlink addresses are " +"represented as a tuple of 2 integers, ``(pid, group_mask)``." #: ../../whatsnew/2.5.rst:1536 msgid "" @@ -1887,13 +2630,21 @@ msgid "" "This means you can put the data directly into an array or a memory-mapped " "file." msgstr "" +"Two new methods on socket objects, ``recv_into(buffer)`` and " +"``recvfrom_into(buffer)``, store the received data in an object that " +"supports the buffer protocol instead of returning the data as a string. " +"This means you can put the data directly into an array or a memory-mapped " +"file." #: ../../whatsnew/2.5.rst:1541 msgid "" -"Socket objects also gained :meth:`getfamily`, :meth:`gettype`, and :meth:" -"`getproto` accessor methods to retrieve the family, type, and protocol " -"values for the socket." +"Socket objects also gained :meth:`getfamily`, :meth:`gettype`, " +"and :meth:`getproto` accessor methods to retrieve the family, type, and " +"protocol values for the socket." msgstr "" +"Socket objects also gained :meth:`getfamily`, :meth:`gettype`, " +"and :meth:`getproto` accessor methods to retrieve the family, type, and " +"protocol values for the socket." #: ../../whatsnew/2.5.rst:1545 msgid "" @@ -1903,13 +2654,19 @@ msgstr "" #: ../../whatsnew/2.5.rst:1548 msgid "" -"The :mod:`struct` is now faster because it compiles format strings into :" -"class:`Struct` objects with :meth:`pack` and :meth:`unpack` methods. This " -"is similar to how the :mod:`re` module lets you create compiled regular " -"expression objects. You can still use the module-level :func:`pack` and :" -"func:`unpack` functions; they'll create :class:`Struct` objects and cache " -"them. Or you can use :class:`Struct` instances directly::" +"The :mod:`struct` is now faster because it compiles format strings " +"into :class:`Struct` objects with :meth:`pack` and :meth:`unpack` methods. " +"This is similar to how the :mod:`re` module lets you create compiled regular " +"expression objects. You can still use the module-level :func:`pack` " +"and :func:`unpack` functions; they'll create :class:`Struct` objects and " +"cache them. Or you can use :class:`Struct` instances directly::" msgstr "" +"The :mod:`struct` is now faster because it compiles format strings " +"into :class:`Struct` objects with :meth:`pack` and :meth:`unpack` methods. " +"This is similar to how the :mod:`re` module lets you create compiled regular " +"expression objects. You can still use the module-level :func:`pack` " +"and :func:`unpack` functions; they'll create :class:`Struct` objects and " +"cache them. Or you can use :class:`Struct` instances directly::" #: ../../whatsnew/2.5.rst:1560 msgid "" @@ -1918,6 +2675,10 @@ msgid "" "offset)`` methods. This lets you store data directly into an array or a " "memory-mapped file." msgstr "" +"You can also pack and unpack data to and from buffer objects directly using " +"the ``pack_into(buffer, offset, v1, v2, ...)`` and ``unpack_from(buffer, " +"offset)`` methods. This lets you store data directly into an array or a " +"memory-mapped file." #: ../../whatsnew/2.5.rst:1565 msgid "" @@ -1925,6 +2686,9 @@ msgid "" "NeedForSpeed sprint. Support for buffer objects was added by Martin Blais, " "also at the NeedForSpeed sprint.)" msgstr "" +"(:class:`Struct` objects were implemented by Bob Ippolito at the " +"NeedForSpeed sprint. Support for buffer objects was added by Martin Blais, " +"also at the NeedForSpeed sprint.)" #: ../../whatsnew/2.5.rst:1569 msgid "" @@ -1934,14 +2698,23 @@ msgid "" "name, revision-range)``. For example, at the time of writing my copy of 2.5 " "was reporting ``('CPython', 'trunk', '45313:45315')``." msgstr "" +"The Python developers switched from CVS to Subversion during the 2.5 " +"development process. Information about the exact build version is available " +"as the ``sys.subversion`` variable, a 3-tuple of ``(interpreter-name, branch-" +"name, revision-range)``. For example, at the time of writing my copy of 2.5 " +"was reporting ``('CPython', 'trunk', '45313:45315')``." #: ../../whatsnew/2.5.rst:1575 msgid "" -"This information is also available to C extensions via the :c:func:" -"`Py_GetBuildInfo` function that returns a string of build information like " -"this: ``\"trunk:45355:45356M, Apr 13 2006, 07:42:19\"``. (Contributed by " -"Barry Warsaw.)" +"This information is also available to C extensions via " +"the :c:func:`Py_GetBuildInfo` function that returns a string of build " +"information like this: ``\"trunk:45355:45356M, Apr 13 2006, 07:42:19\"``. " +"(Contributed by Barry Warsaw.)" msgstr "" +"This information is also available to C extensions via " +"the :c:func:`Py_GetBuildInfo` function that returns a string of build " +"information like this: ``\"trunk:45355:45356M, Apr 13 2006, 07:42:19\"``. " +"(Contributed by Barry Warsaw.)" #: ../../whatsnew/2.5.rst:1580 msgid "" @@ -1949,22 +2722,33 @@ msgid "" "frames for all running threads as a dictionary mapping thread identifiers to " "the topmost stack frame currently active in that thread at the time the " "function is called. (Contributed by Tim Peters.)" -msgstr "" +msgstr "" +"Another new function, :func:`sys._current_frames`, returns the current stack " +"frames for all running threads as a dictionary mapping thread identifiers to " +"the topmost stack frame currently active in that thread at the time the " +"function is called. (Contributed by Tim Peters.)" #: ../../whatsnew/2.5.rst:1585 msgid "" -"The :class:`TarFile` class in the :mod:`tarfile` module now has an :meth:" -"`extractall` method that extracts all members from the archive into the " -"current working directory. It's also possible to set a different directory " -"as the extraction target, and to unpack only a subset of the archive's " -"members." +"The :class:`TarFile` class in the :mod:`tarfile` module now has " +"an :meth:`extractall` method that extracts all members from the archive into " +"the current working directory. It's also possible to set a different " +"directory as the extraction target, and to unpack only a subset of the " +"archive's members." msgstr "" +"The :class:`TarFile` class in the :mod:`tarfile` module now has " +"an :meth:`extractall` method that extracts all members from the archive into " +"the current working directory. It's also possible to set a different " +"directory as the extraction target, and to unpack only a subset of the " +"archive's members." #: ../../whatsnew/2.5.rst:1590 msgid "" "The compression used for a tarfile opened in stream mode can now be " "autodetected using the mode ``'r|*'``. (Contributed by Lars Gustäbel.)" msgstr "" +"The compression used for a tarfile opened in stream mode can now be " +"autodetected using the mode ``'r|*'``. (Contributed by Lars Gustäbel.)" #: ../../whatsnew/2.5.rst:1595 msgid "" @@ -1974,13 +2758,21 @@ msgid "" "sets a new value. Not all platforms support changing the stack size, but " "Windows, POSIX threading, and OS/2 all do. (Contributed by Andrew MacIntyre.)" msgstr "" +"The :mod:`threading` module now lets you set the stack size used when new " +"threads are created. The ``stack_size([*size*])`` function returns the " +"currently configured stack size, and supplying the optional *size* parameter " +"sets a new value. Not all platforms support changing the stack size, but " +"Windows, POSIX threading, and OS/2 all do. (Contributed by Andrew MacIntyre.)" #: ../../whatsnew/2.5.rst:1603 msgid "" "The :mod:`unicodedata` module has been updated to use version 4.1.0 of the " "Unicode character database. Version 3.2.0 is required by some " -"specifications, so it's still available as :attr:`unicodedata.ucd_3_2_0`." +"specifications, so it's still available as :data:`unicodedata.ucd_3_2_0`." msgstr "" +"The :mod:`unicodedata` module has been updated to use version 4.1.0 of the " +"Unicode character database. Version 3.2.0 is required by some " +"specifications, so it's still available as :data:`unicodedata.ucd_3_2_0`." #: ../../whatsnew/2.5.rst:1607 msgid "" @@ -1993,42 +2785,72 @@ msgid "" "UUIDs are not specified in :rfc:`4122` and are not supported by this " "module.) ::" msgstr "" +"New module: the :mod:`uuid` module generates universally unique " +"identifiers (UUIDs) according to :rfc:`4122`. The RFC defines several " +"different UUID versions that are generated from a starting string, from " +"system properties, or purely randomly. This module contains a :class:`UUID` " +"class and functions named :func:`uuid1`, :func:`uuid3`, :func:`uuid4`, " +"and :func:`uuid5` to generate different versions of UUID. (Version 2 " +"UUIDs are not specified in :rfc:`4122` and are not supported by this " +"module.) ::" #: ../../whatsnew/2.5.rst:1632 msgid "(Contributed by Ka-Ping Yee.)" -msgstr "" +msgstr "(Contributed by Ka-Ping Yee.)" #: ../../whatsnew/2.5.rst:1634 msgid "" -"The :mod:`weakref` module's :class:`WeakKeyDictionary` and :class:" -"`WeakValueDictionary` types gained new methods for iterating over the weak " -"references contained in the dictionary. :meth:`iterkeyrefs` and :meth:" -"`keyrefs` methods were added to :class:`WeakKeyDictionary`, and :meth:" -"`itervaluerefs` and :meth:`valuerefs` were added to :class:" -"`WeakValueDictionary`. (Contributed by Fred L. Drake, Jr.)" +"The :mod:`weakref` module's :class:`WeakKeyDictionary` " +"and :class:`WeakValueDictionary` types gained new methods for iterating over " +"the weak references contained in the dictionary. :meth:`iterkeyrefs` " +"and :meth:`keyrefs` methods were added to :class:`WeakKeyDictionary`, " +"and :meth:`itervaluerefs` and :meth:`valuerefs` were added " +"to :class:`WeakValueDictionary`. (Contributed by Fred L. Drake, Jr.)" msgstr "" +"The :mod:`weakref` module's :class:`WeakKeyDictionary` " +"and :class:`WeakValueDictionary` types gained new methods for iterating over " +"the weak references contained in the dictionary. :meth:`iterkeyrefs` " +"and :meth:`keyrefs` methods were added to :class:`WeakKeyDictionary`, " +"and :meth:`itervaluerefs` and :meth:`valuerefs` were added " +"to :class:`WeakValueDictionary`. (Contributed by Fred L. Drake, Jr.)" #: ../../whatsnew/2.5.rst:1641 msgid "" "The :mod:`webbrowser` module received a number of enhancements. It's now " "usable as a script with ``python -m webbrowser``, taking a URL as the " -"argument; there are a number of switches to control the behaviour (:option:" -"`!-n` for a new browser window, :option:`!-t` for a new tab). New module-" -"level functions, :func:`open_new` and :func:`open_new_tab`, were added to " -"support this. The module's :func:`open` function supports an additional " -"feature, an *autoraise* parameter that signals whether to raise the open " -"window when possible. A number of additional browsers were added to the " -"supported list such as Firefox, Opera, Konqueror, and elinks. (Contributed " -"by Oleg Broytmann and Georg Brandl.)" +"argument; there are a number of switches to control the behaviour " +"(:option:`!-n` for a new browser window, :option:`!-t` for a new tab). New " +"module-level functions, :func:`open_new` and :func:`open_new_tab`, were " +"added to support this. The module's :func:`open` function supports an " +"additional feature, an *autoraise* parameter that signals whether to raise " +"the open window when possible. A number of additional browsers were added to " +"the supported list such as Firefox, Opera, Konqueror, and elinks. " +"(Contributed by Oleg Broytmann and Georg Brandl.)" msgstr "" +"The :mod:`webbrowser` module received a number of enhancements. It's now " +"usable as a script with ``python -m webbrowser``, taking a URL as the " +"argument; there are a number of switches to control the behaviour " +"(:option:`!-n` for a new browser window, :option:`!-t` for a new tab). New " +"module-level functions, :func:`open_new` and :func:`open_new_tab`, were " +"added to support this. The module's :func:`open` function supports an " +"additional feature, an *autoraise* parameter that signals whether to raise " +"the open window when possible. A number of additional browsers were added to " +"the supported list such as Firefox, Opera, Konqueror, and elinks. " +"(Contributed by Oleg Broytmann and Georg Brandl.)" #: ../../whatsnew/2.5.rst:1653 msgid "" -"The :mod:`xmlrpclib` module now supports returning :class:`~datetime." -"datetime` objects for the XML-RPC date type. Supply ``use_datetime=True`` " -"to the :func:`loads` function or the :class:`Unmarshaller` class to enable " -"this feature. (Contributed by Skip Montanaro.)" +"The :mod:`xmlrpclib ` module now supports " +"returning :class:`~datetime.datetime` objects for the XML-RPC date type. " +"Supply ``use_datetime=True`` to the :func:`~xmlrpc.client.loads` function " +"or the :class:`!Unmarshaller` class to enable this feature. (Contributed by " +"Skip Montanaro.)" msgstr "" +"The :mod:`xmlrpclib ` module now supports " +"returning :class:`~datetime.datetime` objects for the XML-RPC date type. " +"Supply ``use_datetime=True`` to the :func:`~xmlrpc.client.loads` function " +"or the :class:`!Unmarshaller` class to enable this feature. (Contributed by " +"Skip Montanaro.)" #: ../../whatsnew/2.5.rst:1660 msgid "" @@ -2036,6 +2858,9 @@ msgid "" "meaning that a .zip archive can now be larger than 4 GiB and can contain " "individual files larger than 4 GiB. (Contributed by Ronald Oussoren.)" msgstr "" +"The :mod:`zipfile` module now supports the ZIP64 version of the format, " +"meaning that a .zip archive can now be larger than 4 GiB and can contain " +"individual files larger than 4 GiB. (Contributed by Ronald Oussoren.)" #: ../../whatsnew/2.5.rst:1666 msgid "" @@ -2044,39 +2869,62 @@ msgid "" "internal state and returns a new :class:`Compress` or :class:`Decompress` " "object. (Contributed by Chris AtLee.)" msgstr "" +"The :mod:`zlib` module's :class:`Compress` and :class:`Decompress` objects " +"now support a :meth:`copy` method that makes a copy of the object's " +"internal state and returns a new :class:`Compress` or :class:`Decompress` " +"object. (Contributed by Chris AtLee.)" #: ../../whatsnew/2.5.rst:1679 msgid "The ctypes package" -msgstr "" +msgstr "The ctypes package" #: ../../whatsnew/2.5.rst:1681 msgid "" "The :mod:`ctypes` package, written by Thomas Heller, has been added to the " "standard library. :mod:`ctypes` lets you call arbitrary functions in " -"shared libraries or DLLs. Long-time users may remember the :mod:`dl` " +"shared libraries or DLLs. Long-time users may remember the :mod:`!dl` " "module, which provides functions for loading shared libraries and calling " "functions in them. The :mod:`ctypes` package is much fancier." msgstr "" +"The :mod:`ctypes` package, written by Thomas Heller, has been added to the " +"standard library. :mod:`ctypes` lets you call arbitrary functions in " +"shared libraries or DLLs. Long-time users may remember the :mod:`!dl` " +"module, which provides functions for loading shared libraries and calling " +"functions in them. The :mod:`ctypes` package is much fancier." #: ../../whatsnew/2.5.rst:1687 msgid "" -"To load a shared library or DLL, you must create an instance of the :class:" -"`CDLL` class and provide the name or path of the shared library or DLL. Once " -"that's done, you can call arbitrary functions by accessing them as " -"attributes of the :class:`CDLL` object. ::" +"To load a shared library or DLL, you must create an instance of " +"the :class:`CDLL` class and provide the name or path of the shared library " +"or DLL. Once that's done, you can call arbitrary functions by accessing them " +"as attributes of the :class:`CDLL` object. ::" msgstr "" +"To load a shared library or DLL, you must create an instance of " +"the :class:`CDLL` class and provide the name or path of the shared library " +"or DLL. Once that's done, you can call arbitrary functions by accessing them " +"as attributes of the :class:`CDLL` object. ::" #: ../../whatsnew/2.5.rst:1697 msgid "" -"Type constructors for the various C types are provided: :func:`c_int`, :func:" -"`c_float`, :func:`c_double`, :func:`c_char_p` (equivalent to :c:expr:`char " -"\\*`), and so forth. Unlike Python's types, the C versions are all mutable; " -"you can assign to their :attr:`value` attribute to change the wrapped " -"value. Python integers and strings will be automatically converted to the " -"corresponding C types, but for other types you must call the correct type " -"constructor. (And I mean *must*; getting it wrong will often result in the " -"interpreter crashing with a segmentation fault.)" -msgstr "" +"Type constructors for the various C types are " +"provided: :func:`c_int`, :func:`c_float`, :func:`c_double`, :func:`c_char_p` " +"(equivalent to :c:expr:`char \\*`), and so forth. Unlike Python's types, " +"the C versions are all mutable; you can assign to their :attr:`value` " +"attribute to change the wrapped value. Python integers and strings will be " +"automatically converted to the corresponding C types, but for other types " +"you must call the correct type constructor. (And I mean *must*; getting " +"it wrong will often result in the interpreter crashing with a segmentation " +"fault.)" +msgstr "" +"Type constructors for the various C types are " +"provided: :func:`c_int`, :func:`c_float`, :func:`c_double`, :func:`c_char_p` " +"(equivalent to :c:expr:`char \\*`), and so forth. Unlike Python's types, " +"the C versions are all mutable; you can assign to their :attr:`value` " +"attribute to change the wrapped value. Python integers and strings will be " +"automatically converted to the corresponding C types, but for other types " +"you must call the correct type constructor. (And I mean *must*; getting " +"it wrong will often result in the interpreter crashing with a segmentation " +"fault.)" #: ../../whatsnew/2.5.rst:1706 msgid "" @@ -2085,20 +2933,26 @@ msgid "" "be immutable; breaking this rule will cause puzzling bugs. When you need a " "modifiable memory area, use :func:`create_string_buffer`::" msgstr "" +"You shouldn't use :func:`c_char_p` with a Python string when the C function " +"will be modifying the memory area, because Python strings are supposed to " +"be immutable; breaking this rule will cause puzzling bugs. When you need a " +"modifiable memory area, use :func:`create_string_buffer`::" #: ../../whatsnew/2.5.rst:1715 msgid "" -"C functions are assumed to return integers, but you can set the :attr:" -"`restype` attribute of the function object to change this::" +"C functions are assumed to return integers, but you can set " +"the :attr:`restype` attribute of the function object to change this::" msgstr "" +"C functions are assumed to return integers, but you can set " +"the :attr:`restype` attribute of the function object to change this::" #: ../../whatsnew/2.5.rst:1724 msgid "" -":mod:`ctypes` also provides a wrapper for Python's C API as the ``ctypes." -"pythonapi`` object. This object does *not* release the global interpreter " -"lock before calling a function, because the lock must be held when calling " -"into the interpreter's code. There's a :class:`py_object()` type " -"constructor that will create a :c:expr:`PyObject *` pointer. A simple " +":mod:`ctypes` also provides a wrapper for Python's C API as the " +"``ctypes.pythonapi`` object. This object does *not* release the global " +"interpreter lock before calling a function, because the lock must be held " +"when calling into the interpreter's code. There's a :class:`py_object()` " +"type constructor that will create a :c:expr:`PyObject *` pointer. A simple " "usage::" msgstr "" @@ -2111,29 +2965,36 @@ msgstr "" #: ../../whatsnew/2.5.rst:1740 msgid "" ":mod:`ctypes` has been around for a while, but people still write and " -"distribution hand-coded extension modules because you can't rely on :mod:" -"`ctypes` being present. Perhaps developers will begin to write Python " -"wrappers atop a library accessed through :mod:`ctypes` instead of extension " -"modules, now that :mod:`ctypes` is included with core Python." +"distribution hand-coded extension modules because you can't rely " +"on :mod:`ctypes` being present. Perhaps developers will begin to write " +"Python wrappers atop a library accessed through :mod:`ctypes` instead of " +"extension modules, now that :mod:`ctypes` is included with core Python." msgstr "" +":mod:`ctypes` has been around for a while, but people still write and " +"distribution hand-coded extension modules because you can't rely " +"on :mod:`ctypes` being present. Perhaps developers will begin to write " +"Python wrappers atop a library accessed through :mod:`ctypes` instead of " +"extension modules, now that :mod:`ctypes` is included with core Python." #: ../../whatsnew/2.5.rst:1750 msgid "" "https://web.archive.org/web/20180410025338/http://starship.python.net/crew/" "theller/ctypes/" msgstr "" +"https://web.archive.org/web/20180410025338/http://starship.python.net/crew/" +"theller/ctypes/" #: ../../whatsnew/2.5.rst:1750 msgid "The pre-stdlib ctypes web page, with a tutorial, reference, and FAQ." -msgstr "" +msgstr "The pre-stdlib ctypes web page, with a tutorial, reference, and FAQ." #: ../../whatsnew/2.5.rst:1752 msgid "The documentation for the :mod:`ctypes` module." -msgstr "" +msgstr "The documentation for the :mod:`ctypes` module." #: ../../whatsnew/2.5.rst:1760 msgid "The ElementTree package" -msgstr "" +msgstr "The ElementTree package" #: ../../whatsnew/2.5.rst:1762 msgid "" @@ -2143,6 +3004,11 @@ msgid "" "ElementTree 1.2.6. The :mod:`cElementTree` accelerator module is also " "included." msgstr "" +"A subset of Fredrik Lundh's ElementTree library for processing XML has been " +"added to the standard library as :mod:`xml.etree`. The available modules " +"are :mod:`ElementTree`, :mod:`ElementPath`, and :mod:`ElementInclude` from " +"ElementTree 1.2.6. The :mod:`cElementTree` accelerator module is also " +"included." #: ../../whatsnew/2.5.rst:1768 msgid "" @@ -2150,6 +3016,9 @@ msgid "" "Full documentation for ElementTree is available at https://web.archive.org/" "web/20201124024954/http://effbot.org/zone/element-index.htm." msgstr "" +"The rest of this section will provide a brief overview of using ElementTree. " +"Full documentation for ElementTree is available at https://web.archive.org/" +"web/20201124024954/http://effbot.org/zone/element-index.htm." #: ../../whatsnew/2.5.rst:1772 msgid "" @@ -2159,6 +3028,11 @@ msgid "" "the Document Object Model; in the DOM there are many different types of " "node, including :class:`TextNode`.)" msgstr "" +"ElementTree represents an XML document as a tree of element nodes. The text " +"content of the document is stored as the :attr:`text` and :attr:`tail` " +"attributes of (This is one of the major differences between ElementTree and " +"the Document Object Model; in the DOM there are many different types of " +"node, including :class:`TextNode`.)" #: ../../whatsnew/2.5.rst:1778 msgid "" @@ -2166,12 +3040,17 @@ msgid "" "a string (assumed to contain a filename) or a file-like object and returns " "an :class:`ElementTree` instance::" msgstr "" +"The most commonly used parsing function is :func:`parse`, that takes either " +"a string (assumed to contain a filename) or a file-like object and returns " +"an :class:`ElementTree` instance::" #: ../../whatsnew/2.5.rst:1790 msgid "" -"Once you have an :class:`ElementTree` instance, you can call its :meth:" -"`getroot` method to get the root :class:`Element` node." +"Once you have an :class:`ElementTree` instance, you can call " +"its :meth:`getroot` method to get the root :class:`Element` node." msgstr "" +"Once you have an :class:`ElementTree` instance, you can call " +"its :meth:`getroot` method to get the root :class:`Element` node." #: ../../whatsnew/2.5.rst:1793 msgid "" @@ -2180,6 +3059,10 @@ msgid "" "provides a tidy way to incorporate XML fragments, approaching the " "convenience of an XML literal::" msgstr "" +"There's also an :func:`XML` function that takes a string literal and returns " +"an :class:`Element` node (not an :class:`ElementTree`). This function " +"provides a tidy way to incorporate XML fragments, approaching the " +"convenience of an XML literal::" #: ../../whatsnew/2.5.rst:1803 msgid "" @@ -2187,6 +3070,9 @@ msgid "" "methods. Dictionary-like operations are used to access attribute values, " "and list-like operations are used to access child nodes." msgstr "" +"Each XML element supports some dictionary-like and some list-like access " +"methods. Dictionary-like operations are used to access attribute values, " +"and list-like operations are used to access child nodes." #: ../../whatsnew/2.5.rst:1808 msgid "Operation" @@ -2202,7 +3088,7 @@ msgstr "``elem[n]``" #: ../../whatsnew/2.5.rst:1810 msgid "Returns n'th child element." -msgstr "" +msgstr "Returns n'th child element." #: ../../whatsnew/2.5.rst:1812 msgid "``elem[m:n]``" @@ -2210,7 +3096,7 @@ msgstr "``elem[m:n]``" #: ../../whatsnew/2.5.rst:1812 msgid "Returns list of m'th through n'th child elements." -msgstr "" +msgstr "Returns list of m'th through n'th child elements." #: ../../whatsnew/2.5.rst:1815 msgid "``len(elem)``" @@ -2218,7 +3104,7 @@ msgstr "``len(elem)``" #: ../../whatsnew/2.5.rst:1815 msgid "Returns number of child elements." -msgstr "" +msgstr "Returns number of child elements." #: ../../whatsnew/2.5.rst:1817 msgid "``list(elem)``" @@ -2226,7 +3112,7 @@ msgstr "``list(elem)``" #: ../../whatsnew/2.5.rst:1817 msgid "Returns list of child elements." -msgstr "" +msgstr "Returns list of child elements." #: ../../whatsnew/2.5.rst:1819 msgid "``elem.append(elem2)``" @@ -2234,23 +3120,23 @@ msgstr "``elem.append(elem2)``" #: ../../whatsnew/2.5.rst:1819 msgid "Adds *elem2* as a child." -msgstr "" +msgstr "Adds *elem2* as a child." #: ../../whatsnew/2.5.rst:1821 msgid "``elem.insert(index, elem2)``" -msgstr "" +msgstr "``elem.insert(index, elem2)``" #: ../../whatsnew/2.5.rst:1821 msgid "Inserts *elem2* at the specified location." -msgstr "" +msgstr "Inserts *elem2* at the specified location." #: ../../whatsnew/2.5.rst:1823 msgid "``del elem[n]``" -msgstr "" +msgstr "``del elem[n]``" #: ../../whatsnew/2.5.rst:1823 msgid "Deletes n'th child element." -msgstr "" +msgstr "Deletes n'th child element." #: ../../whatsnew/2.5.rst:1825 msgid "``elem.keys()``" @@ -2258,7 +3144,7 @@ msgstr "``elem.keys()``" #: ../../whatsnew/2.5.rst:1825 msgid "Returns list of attribute names." -msgstr "" +msgstr "Returns list of attribute names." #: ../../whatsnew/2.5.rst:1827 msgid "``elem.get(name)``" @@ -2266,15 +3152,15 @@ msgstr "``elem.get(name)``" #: ../../whatsnew/2.5.rst:1827 msgid "Returns value of attribute *name*." -msgstr "" +msgstr "Returns value of attribute *name*." #: ../../whatsnew/2.5.rst:1829 msgid "``elem.set(name, value)``" -msgstr "" +msgstr "``elem.set(name, value)``" #: ../../whatsnew/2.5.rst:1829 msgid "Sets new value for attribute *name*." -msgstr "" +msgstr "Sets new value for attribute *name*." #: ../../whatsnew/2.5.rst:1831 msgid "``elem.attrib``" @@ -2282,22 +3168,25 @@ msgstr "``elem.attrib``" #: ../../whatsnew/2.5.rst:1831 msgid "Retrieves the dictionary containing attributes." -msgstr "" +msgstr "Retrieves the dictionary containing attributes." #: ../../whatsnew/2.5.rst:1834 msgid "``del elem.attrib[name]``" -msgstr "" +msgstr "``del elem.attrib[name]``" #: ../../whatsnew/2.5.rst:1834 msgid "Deletes attribute *name*." -msgstr "" +msgstr "Deletes attribute *name*." #: ../../whatsnew/2.5.rst:1837 msgid "" -"Comments and processing instructions are also represented as :class:" -"`Element` nodes. To check if a node is a comment or processing " +"Comments and processing instructions are also represented " +"as :class:`Element` nodes. To check if a node is a comment or processing " "instructions::" msgstr "" +"Comments and processing instructions are also represented " +"as :class:`Element` nodes. To check if a node is a comment or processing " +"instructions::" #: ../../whatsnew/2.5.rst:1845 msgid "" @@ -2305,6 +3194,9 @@ msgid "" "method. Like :func:`parse`, it can take either a string or a file-like " "object::" msgstr "" +"To generate XML output, you should call the :meth:`ElementTree.write` " +"method. Like :func:`parse`, it can take either a string or a file-like " +"object::" #: ../../whatsnew/2.5.rst:1855 msgid "" @@ -2315,44 +3207,64 @@ msgid "" "Therefore, it's best to specify a different encoding such as UTF-8 that can " "handle any Unicode character.)" msgstr "" +"(Caution: the default encoding used for output is ASCII. For general XML " +"work, where an element's name may contain arbitrary Unicode characters, " +"ASCII isn't a very useful encoding because it will raise an exception if an " +"element's name contains any characters with values greater than 127. " +"Therefore, it's best to specify a different encoding such as UTF-8 that can " +"handle any Unicode character.)" #: ../../whatsnew/2.5.rst:1862 msgid "" "This section is only a partial description of the ElementTree interfaces. " "Please read the package's official documentation for more details." msgstr "" +"This section is only a partial description of the ElementTree interfaces. " +"Please read the package's official documentation for more details." #: ../../whatsnew/2.5.rst:1868 msgid "" "https://web.archive.org/web/20201124024954/http://effbot.org/zone/element-" "index.htm" msgstr "" +"https://web.archive.org/web/20201124024954/http://effbot.org/zone/element-" +"index.htm" #: ../../whatsnew/2.5.rst:1869 msgid "Official documentation for ElementTree." -msgstr "" +msgstr "Official documentation for ElementTree." #: ../../whatsnew/2.5.rst:1877 msgid "The hashlib package" -msgstr "" +msgstr "The hashlib package" #: ../../whatsnew/2.5.rst:1879 msgid "" "A new :mod:`hashlib` module, written by Gregory P. Smith, has been added to " -"replace the :mod:`md5` and :mod:`sha` modules. :mod:`hashlib` adds support " -"for additional secure hashes (SHA-224, SHA-256, SHA-384, and SHA-512). When " -"available, the module uses OpenSSL for fast platform optimized " -"implementations of algorithms." +"replace the :mod:`!md5` and :mod:`!sha` modules. :mod:`hashlib` adds " +"support for additional secure hashes (SHA-224, SHA-256, SHA-384, and " +"SHA-512). When available, the module uses OpenSSL for fast platform " +"optimized implementations of algorithms." msgstr "" +"A new :mod:`hashlib` module, written by Gregory P. Smith, has been added to " +"replace the :mod:`!md5` and :mod:`!sha` modules. :mod:`hashlib` adds " +"support for additional secure hashes (SHA-224, SHA-256, SHA-384, and " +"SHA-512). When available, the module uses OpenSSL for fast platform " +"optimized implementations of algorithms." #: ../../whatsnew/2.5.rst:1885 msgid "" -"The old :mod:`md5` and :mod:`sha` modules still exist as wrappers around " +"The old :mod:`!md5` and :mod:`!sha` modules still exist as wrappers around " "hashlib to preserve backwards compatibility. The new module's interface is " "very close to that of the old modules, but not identical. The most " "significant difference is that the constructor functions for creating new " "hashing objects are named differently. ::" msgstr "" +"The old :mod:`!md5` and :mod:`!sha` modules still exist as wrappers around " +"hashlib to preserve backwards compatibility. The new module's interface is " +"very close to that of the old modules, but not identical. The most " +"significant difference is that the constructor functions for creating new " +"hashing objects are named differently. ::" #: ../../whatsnew/2.5.rst:1914 msgid "" @@ -2362,14 +3274,19 @@ msgid "" "binary string or a string of hex digits, and :meth:`copy` returns a new " "hashing object with the same digest state." msgstr "" +"Once a hash object has been created, its methods are the same as before: " +"``update(string)`` hashes the specified string into the current digest " +"state, :meth:`digest` and :meth:`hexdigest` return the digest value as a " +"binary string or a string of hex digits, and :meth:`copy` returns a new " +"hashing object with the same digest state." #: ../../whatsnew/2.5.rst:1923 msgid "The documentation for the :mod:`hashlib` module." -msgstr "" +msgstr "The documentation for the :mod:`hashlib` module." #: ../../whatsnew/2.5.rst:1931 msgid "The sqlite3 package" -msgstr "" +msgstr "The sqlite3 package" #: ../../whatsnew/2.5.rst:1933 msgid "" @@ -2377,6 +3294,9 @@ msgid "" "embedded database, has been added to the standard library under the package " "name :mod:`sqlite3`." msgstr "" +"The pysqlite module (https://www.pysqlite.org), a wrapper for the SQLite " +"embedded database, has been added to the standard library under the package " +"name :mod:`sqlite3`." #: ../../whatsnew/2.5.rst:1937 msgid "" @@ -2399,6 +3319,8 @@ msgid "" "pysqlite was written by Gerhard Häring and provides a SQL interface " "compliant with the DB-API 2.0 specification described by :pep:`249`." msgstr "" +"pysqlite was written by Gerhard Häring and provides a SQL interface " +"compliant with the DB-API 2.0 specification described by :pep:`249`." #: ../../whatsnew/2.5.rst:1947 msgid "" @@ -2408,6 +3330,11 @@ msgid "" "the build process will compile the module when the necessary headers are " "available." msgstr "" +"If you're compiling the Python source yourself, note that the source tree " +"doesn't include the SQLite code, only the wrapper module. You'll need to " +"have the SQLite libraries and headers installed before compiling Python, and " +"the build process will compile the module when the necessary headers are " +"available." #: ../../whatsnew/2.5.rst:1952 msgid "" @@ -2415,18 +3342,25 @@ msgid "" "represents the database. Here the data will be stored in the :file:`/tmp/" "example` file::" msgstr "" +"To use the module, you must first create a :class:`Connection` object that " +"represents the database. Here the data will be stored in the :file:`/tmp/" +"example` file::" #: ../../whatsnew/2.5.rst:1958 msgid "" "You can also supply the special name ``:memory:`` to create a database in " "RAM." msgstr "" +"You can also supply the special name ``:memory:`` to create a database in " +"RAM." #: ../../whatsnew/2.5.rst:1960 msgid "" "Once you have a :class:`Connection`, you can create a :class:`Cursor` " "object and call its :meth:`execute` method to perform SQL commands::" msgstr "" +"Once you have a :class:`Connection`, you can create a :class:`Cursor` " +"object and call its :meth:`execute` method to perform SQL commands::" #: ../../whatsnew/2.5.rst:1974 msgid "" @@ -2435,6 +3369,10 @@ msgid "" "doing so is insecure; it makes your program vulnerable to an SQL injection " "attack." msgstr "" +"Usually your SQL operations will need to use values from Python variables. " +"You shouldn't assemble your query using Python's string operations because " +"doing so is insecure; it makes your program vulnerable to an SQL injection " +"attack." #: ../../whatsnew/2.5.rst:1978 msgid "" @@ -2444,6 +3382,11 @@ msgid "" "(Other database modules may use a different placeholder, such as ``%s`` or " "``:1``.) For example::" msgstr "" +"Instead, use the DB-API's parameter substitution. Put ``?`` as a " +"placeholder wherever you want to use a value, and then provide a tuple of " +"values as the second argument to the cursor's :meth:`execute` method. " +"(Other database modules may use a different placeholder, such as ``%s`` or " +"``:1``.) For example::" #: ../../whatsnew/2.5.rst:1998 msgid "" @@ -2452,24 +3395,30 @@ msgid "" "retrieve a single matching row, or call :meth:`fetchall` to get a list of " "the matching rows." msgstr "" +"To retrieve data after executing a SELECT statement, you can either treat " +"the cursor as an iterator, call the cursor's :meth:`fetchone` method to " +"retrieve a single matching row, or call :meth:`fetchall` to get a list of " +"the matching rows." #: ../../whatsnew/2.5.rst:2003 msgid "This example uses the iterator form::" -msgstr "" +msgstr "This example uses the iterator form::" #: ../../whatsnew/2.5.rst:2016 msgid "" "For more information about the SQL dialect supported by SQLite, see https://" "www.sqlite.org." msgstr "" +"For more information about the SQL dialect supported by SQLite, see https://" +"www.sqlite.org." #: ../../whatsnew/2.5.rst:2023 msgid "https://www.pysqlite.org" -msgstr "" +msgstr "https://www.pysqlite.org" #: ../../whatsnew/2.5.rst:2023 msgid "The pysqlite web page." -msgstr "" +msgstr "The pysqlite web page." #: ../../whatsnew/2.5.rst:2027 msgid "https://www.sqlite.org" @@ -2485,7 +3434,7 @@ msgstr "" #: ../../whatsnew/2.5.rst:2029 msgid "The documentation for the :mod:`sqlite3` module." -msgstr "" +msgstr "The documentation for the :mod:`sqlite3` module." #: ../../whatsnew/2.5.rst:2031 msgid ":pep:`249` - Database API Specification 2.0" @@ -2497,15 +3446,19 @@ msgstr "PEP escrita por Marc-André Lemburg." #: ../../whatsnew/2.5.rst:2040 msgid "The wsgiref package" -msgstr "" +msgstr "The wsgiref package" #: ../../whatsnew/2.5.rst:2042 msgid "" "The Web Server Gateway Interface (WSGI) v1.0 defines a standard interface " -"between web servers and Python web applications and is described in :pep:" -"`333`. The :mod:`wsgiref` package is a reference implementation of the WSGI " -"specification." +"between web servers and Python web applications and is described " +"in :pep:`333`. The :mod:`wsgiref` package is a reference implementation of " +"the WSGI specification." msgstr "" +"The Web Server Gateway Interface (WSGI) v1.0 defines a standard interface " +"between web servers and Python web applications and is described " +"in :pep:`333`. The :mod:`wsgiref` package is a reference implementation of " +"the WSGI specification." #: ../../whatsnew/2.5.rst:2049 msgid "" @@ -2513,32 +3466,37 @@ msgid "" "this server is useful for debugging but isn't intended for production use. " "Setting up a server takes only a few lines of code::" msgstr "" +"The package includes a basic HTTP server that will run a WSGI application; " +"this server is useful for debugging but isn't intended for production use. " +"Setting up a server takes only a few lines of code::" #: ../../whatsnew/2.5.rst:2069 msgid "" "https://web.archive.org/web/20160331090247/http://wsgi.readthedocs.org/en/" "latest/" msgstr "" +"https://web.archive.org/web/20160331090247/http://wsgi.readthedocs.org/en/" +"latest/" #: ../../whatsnew/2.5.rst:2069 msgid "A central web site for WSGI-related resources." -msgstr "" +msgstr "A central web site for WSGI-related resources." #: ../../whatsnew/2.5.rst:2071 msgid ":pep:`333` - Python Web Server Gateway Interface v1.0" -msgstr "" +msgstr ":pep:`333` - Python Web Server Gateway Interface v1.0" #: ../../whatsnew/2.5.rst:2072 msgid "PEP written by Phillip J. Eby." -msgstr "" +msgstr "PEP written by Phillip J. Eby." #: ../../whatsnew/2.5.rst:2080 msgid "Build and C API Changes" -msgstr "Alterações a compilações e API C" +msgstr "Mudanças a construções e API C" #: ../../whatsnew/2.5.rst:2082 msgid "Changes to Python's build process and to the C API include:" -msgstr "Changes to Python's build process and to the C API include:" +msgstr "As alterações no processo de construção do Python e na API C incluem:" #: ../../whatsnew/2.5.rst:2084 msgid "" @@ -2546,6 +3504,9 @@ msgid "" "migration procedure that was supervised and flawlessly carried out by Martin " "von Löwis. The procedure was developed as :pep:`347`." msgstr "" +"The Python source tree was converted from CVS to Subversion, in a complex " +"migration procedure that was supervised and flawlessly carried out by Martin " +"von Löwis. The procedure was developed as :pep:`347`." #: ../../whatsnew/2.5.rst:2088 msgid "" @@ -2555,14 +3516,23 @@ msgid "" "were refcounting problems, often occurring in error-handling code. See " "https://scan.coverity.com for the statistics." msgstr "" +"Coverity, a company that markets a source code analysis tool called Prevent, " +"provided the results of their examination of the Python source code. The " +"analysis found about 60 bugs that were quickly fixed. Many of the bugs " +"were refcounting problems, often occurring in error-handling code. See " +"https://scan.coverity.com for the statistics." #: ../../whatsnew/2.5.rst:2094 msgid "" "The largest change to the C API came from :pep:`353`, which modifies the " -"interpreter to use a :c:type:`Py_ssize_t` type definition instead of :c:expr:" -"`int`. See the earlier section :ref:`pep-353` for a discussion of this " -"change." +"interpreter to use a :c:type:`Py_ssize_t` type definition instead " +"of :c:expr:`int`. See the earlier section :ref:`pep-353` for a discussion " +"of this change." msgstr "" +"The largest change to the C API came from :pep:`353`, which modifies the " +"interpreter to use a :c:type:`Py_ssize_t` type definition instead " +"of :c:expr:`int`. See the earlier section :ref:`pep-353` for a discussion " +"of this change." #: ../../whatsnew/2.5.rst:2099 msgid "" @@ -2571,27 +3541,44 @@ msgid "" "converted to an abstract syntax tree (or AST), and it is the abstract " "syntax tree that's traversed to produce the bytecode." msgstr "" +"The design of the bytecode compiler has changed a great deal, no longer " +"generating bytecode by traversing the parse tree. Instead the parse tree is " +"converted to an abstract syntax tree (or AST), and it is the abstract " +"syntax tree that's traversed to produce the bytecode." #: ../../whatsnew/2.5.rst:2104 msgid "" -"It's possible for Python code to obtain AST objects by using the :func:" -"`compile` built-in and specifying ``_ast.PyCF_ONLY_AST`` as the value of " -"the *flags* parameter::" +"It's possible for Python code to obtain AST objects by using " +"the :func:`compile` built-in and specifying ``_ast.PyCF_ONLY_AST`` as the " +"value of the *flags* parameter::" msgstr "" +"It's possible for Python code to obtain AST objects by using " +"the :func:`compile` built-in and specifying ``_ast.PyCF_ONLY_AST`` as the " +"value of the *flags* parameter::" #: ../../whatsnew/2.5.rst:2117 msgid "" -"No official documentation has been written for the AST code yet, but :pep:" -"`339` discusses the design. To start learning about the code, read the " -"definition of the various AST nodes in :file:`Parser/Python.asdl`. A Python " -"script reads this file and generates a set of C structure definitions in :" -"file:`Include/Python-ast.h`. The :c:func:`PyParser_ASTFromString` and :c:" -"func:`PyParser_ASTFromFile`, defined in :file:`Include/pythonrun.h`, take " -"Python source as input and return the root of an AST representing the " -"contents. This AST can then be turned into a code object by :c:func:" -"`PyAST_Compile`. For more information, read the source code, and then ask " +"No official documentation has been written for the AST code yet, " +"but :pep:`339` discusses the design. To start learning about the code, read " +"the definition of the various AST nodes in :file:`Parser/Python.asdl`. A " +"Python script reads this file and generates a set of C structure definitions " +"in :file:`Include/Python-ast.h`. The :c:func:`PyParser_ASTFromString` " +"and :c:func:`!PyParser_ASTFromFile`, defined in :file:`Include/pythonrun.h`, " +"take Python source as input and return the root of an AST representing the " +"contents. This AST can then be turned into a code object by :c:func:`!" +"PyAST_Compile`. For more information, read the source code, and then ask " "questions on python-dev." msgstr "" +"No official documentation has been written for the AST code yet, " +"but :pep:`339` discusses the design. To start learning about the code, read " +"the definition of the various AST nodes in :file:`Parser/Python.asdl`. A " +"Python script reads this file and generates a set of C structure definitions " +"in :file:`Include/Python-ast.h`. The :c:func:`PyParser_ASTFromString` " +"and :c:func:`!PyParser_ASTFromFile`, defined in :file:`Include/pythonrun.h`, " +"take Python source as input and return the root of an AST representing the " +"contents. This AST can then be turned into a code object by :c:func:`!" +"PyAST_Compile`. For more information, read the source code, and then ask " +"questions on python-dev." #: ../../whatsnew/2.5.rst:2127 msgid "" @@ -2601,6 +3588,11 @@ msgid "" "Schemenauer, plus the participants in a number of AST sprints at conferences " "such as PyCon." msgstr "" +"The AST code was developed under Jeremy Hylton's management, and implemented " +"by (in alphabetical order) Brett Cannon, Nick Coghlan, Grant Edwards, John " +"Ehresman, Kurt Kaiser, Neal Norwitz, Tim Peters, Armin Rigo, and Neil " +"Schemenauer, plus the participants in a number of AST sprints at conferences " +"such as PyCon." #: ../../whatsnew/2.5.rst:2136 msgid "" @@ -2612,37 +3604,65 @@ msgid "" "the memory may be returned to the operating system. (Implemented by Evan " "Jones, and reworked by Tim Peters.)" msgstr "" +"Evan Jones's patch to obmalloc, first described in a talk at PyCon DC 2005, " +"was applied. Python 2.4 allocated small objects in 256K-sized arenas, but " +"never freed arenas. With this patch, Python will free arenas when they're " +"empty. The net effect is that on some platforms, when you allocate many " +"objects, Python's memory usage may actually drop when you delete them and " +"the memory may be returned to the operating system. (Implemented by Evan " +"Jones, and reworked by Tim Peters.)" #: ../../whatsnew/2.5.rst:2144 msgid "" "Note that this change means extension modules must be more careful when " "allocating memory. Python's API has many different functions for allocating " -"memory that are grouped into families. For example, :c:func:" -"`PyMem_Malloc`, :c:func:`PyMem_Realloc`, and :c:func:`PyMem_Free` are one " -"family that allocates raw memory, while :c:func:`PyObject_Malloc`, :c:func:" -"`PyObject_Realloc`, and :c:func:`PyObject_Free` are another family that's " -"supposed to be used for creating Python objects." +"memory that are grouped into families. For " +"example, :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc`, " +"and :c:func:`PyMem_Free` are one family that allocates raw memory, " +"while :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc`, " +"and :c:func:`PyObject_Free` are another family that's supposed to be used " +"for creating Python objects." msgstr "" +"Note that this change means extension modules must be more careful when " +"allocating memory. Python's API has many different functions for allocating " +"memory that are grouped into families. For " +"example, :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc`, " +"and :c:func:`PyMem_Free` are one family that allocates raw memory, " +"while :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc`, " +"and :c:func:`PyObject_Free` are another family that's supposed to be used " +"for creating Python objects." #: ../../whatsnew/2.5.rst:2152 msgid "" -"Previously these different families all reduced to the platform's :c:func:" -"`malloc` and :c:func:`free` functions. This meant it didn't matter if you " -"got things wrong and allocated memory with the :c:func:`PyMem` function but " -"freed it with the :c:func:`PyObject` function. With 2.5's changes to " -"obmalloc, these families now do different things and mismatches will " -"probably result in a segfault. You should carefully test your C extension " -"modules with Python 2.5." -msgstr "" +"Previously these different families all reduced to the " +"platform's :c:func:`malloc` and :c:func:`free` functions. This meant it " +"didn't matter if you got things wrong and allocated memory with the " +"``PyMem`` function but freed it with the ``PyObject`` function. With 2.5's " +"changes to obmalloc, these families now do different things and mismatches " +"will probably result in a segfault. You should carefully test your C " +"extension modules with Python 2.5." +msgstr "" +"Previously these different families all reduced to the " +"platform's :c:func:`malloc` and :c:func:`free` functions. This meant it " +"didn't matter if you got things wrong and allocated memory with the " +"``PyMem`` function but freed it with the ``PyObject`` function. With 2.5's " +"changes to obmalloc, these families now do different things and mismatches " +"will probably result in a segfault. You should carefully test your C " +"extension modules with Python 2.5." #: ../../whatsnew/2.5.rst:2159 msgid "" "The built-in set types now have an official C API. Call :c:func:`PySet_New` " -"and :c:func:`PyFrozenSet_New` to create a new set, :c:func:`PySet_Add` and :" -"c:func:`PySet_Discard` to add and remove elements, and :c:func:" -"`PySet_Contains` and :c:func:`PySet_Size` to examine the set's state. " -"(Contributed by Raymond Hettinger.)" +"and :c:func:`PyFrozenSet_New` to create a new set, :c:func:`PySet_Add` " +"and :c:func:`PySet_Discard` to add and remove elements, " +"and :c:func:`PySet_Contains` and :c:func:`PySet_Size` to examine the set's " +"state. (Contributed by Raymond Hettinger.)" msgstr "" +"The built-in set types now have an official C API. Call :c:func:`PySet_New` " +"and :c:func:`PyFrozenSet_New` to create a new set, :c:func:`PySet_Add` " +"and :c:func:`PySet_Discard` to add and remove elements, " +"and :c:func:`PySet_Contains` and :c:func:`PySet_Size` to examine the set's " +"state. (Contributed by Raymond Hettinger.)" #: ../../whatsnew/2.5.rst:2165 msgid "" @@ -2651,6 +3671,10 @@ msgid "" "a string of build information like this: ``\"trunk:45355:45356M, Apr 13 " "2006, 07:42:19\"``. (Contributed by Barry Warsaw.)" msgstr "" +"C code can now obtain information about the exact revision of the Python " +"interpreter by calling the :c:func:`Py_GetBuildInfo` function that returns " +"a string of build information like this: ``\"trunk:45355:45356M, Apr 13 " +"2006, 07:42:19\"``. (Contributed by Barry Warsaw.)" #: ../../whatsnew/2.5.rst:2170 msgid "" @@ -2659,27 +3683,44 @@ msgid "" "``Py_LOCAL(type)`` declares the function as returning a value of the " "specified *type* and uses a fast-calling qualifier. " "``Py_LOCAL_INLINE(type)`` does the same thing and also requests the function " -"be inlined. If :c:func:`PY_LOCAL_AGGRESSIVE` is defined before :file:" -"`python.h` is included, a set of more aggressive optimizations are enabled " -"for the module; you should benchmark the results to find out if these " -"optimizations actually make the code faster. (Contributed by Fredrik Lundh " -"at the NeedForSpeed sprint.)" +"be inlined. If macro :c:macro:`!PY_LOCAL_AGGRESSIVE` is defined " +"before :file:`python.h` is included, a set of more aggressive optimizations " +"are enabled for the module; you should benchmark the results to find out if " +"these optimizations actually make the code faster. (Contributed by Fredrik " +"Lundh at the NeedForSpeed sprint.)" msgstr "" +"Two new macros can be used to indicate C functions that are local to the " +"current file so that a faster calling convention can be used. " +"``Py_LOCAL(type)`` declares the function as returning a value of the " +"specified *type* and uses a fast-calling qualifier. " +"``Py_LOCAL_INLINE(type)`` does the same thing and also requests the function " +"be inlined. If macro :c:macro:`!PY_LOCAL_AGGRESSIVE` is defined " +"before :file:`python.h` is included, a set of more aggressive optimizations " +"are enabled for the module; you should benchmark the results to find out if " +"these optimizations actually make the code faster. (Contributed by Fredrik " +"Lundh at the NeedForSpeed sprint.)" #: ../../whatsnew/2.5.rst:2181 msgid "" "``PyErr_NewException(name, base, dict)`` can now accept a tuple of base " "classes as its *base* argument. (Contributed by Georg Brandl.)" msgstr "" +"``PyErr_NewException(name, base, dict)`` can now accept a tuple of base " +"classes as its *base* argument. (Contributed by Georg Brandl.)" #: ../../whatsnew/2.5.rst:2184 msgid "" -"The :c:func:`PyErr_Warn` function for issuing warnings is now deprecated in " +"The :c:func:`!PyErr_Warn` function for issuing warnings is now deprecated in " "favour of ``PyErr_WarnEx(category, message, stacklevel)`` which lets you " "specify the number of stack frames separating this function and the caller. " "A *stacklevel* of 1 is the function calling :c:func:`PyErr_WarnEx`, 2 is the " "function above that, and so forth. (Added by Neal Norwitz.)" msgstr "" +"The :c:func:`!PyErr_Warn` function for issuing warnings is now deprecated in " +"favour of ``PyErr_WarnEx(category, message, stacklevel)`` which lets you " +"specify the number of stack frames separating this function and the caller. " +"A *stacklevel* of 1 is the function calling :c:func:`PyErr_WarnEx`, 2 is the " +"function above that, and so forth. (Added by Neal Norwitz.)" #: ../../whatsnew/2.5.rst:2190 msgid "" @@ -2687,32 +3728,45 @@ msgid "" "compiled with a C++ compiler without errors. (Implemented by Anthony " "Baxter, Martin von Löwis, Skip Montanaro.)" msgstr "" +"The CPython interpreter is still written in C, but the code can now be " +"compiled with a C++ compiler without errors. (Implemented by Anthony " +"Baxter, Martin von Löwis, Skip Montanaro.)" #: ../../whatsnew/2.5.rst:2194 msgid "" -"The :c:func:`PyRange_New` function was removed. It was never documented, " +"The :c:func:`!PyRange_New` function was removed. It was never documented, " "never used in the core code, and had dangerously lax error checking. In the " "unlikely case that your extensions were using it, you can replace it by " "something like the following::" msgstr "" +"The :c:func:`!PyRange_New` function was removed. It was never documented, " +"never used in the core code, and had dangerously lax error checking. In the " +"unlikely case that your extensions were using it, you can replace it by " +"something like the following::" #: ../../whatsnew/2.5.rst:2208 msgid "Port-Specific Changes" -msgstr "" +msgstr "Port-Specific Changes" #: ../../whatsnew/2.5.rst:2210 msgid "" -"MacOS X (10.3 and higher): dynamic loading of modules now uses the :c:func:" -"`dlopen` function instead of MacOS-specific functions." +"MacOS X (10.3 and higher): dynamic loading of modules now uses " +"the :c:func:`dlopen` function instead of MacOS-specific functions." msgstr "" +"MacOS X (10.3 and higher): dynamic loading of modules now uses " +"the :c:func:`dlopen` function instead of MacOS-specific functions." #: ../../whatsnew/2.5.rst:2213 msgid "" -"MacOS X: an :option:`!--enable-universalsdk` switch was added to the :" -"program:`configure` script that compiles the interpreter as a universal " +"MacOS X: an :option:`!--enable-universalsdk` switch was added to " +"the :program:`configure` script that compiles the interpreter as a universal " "binary able to run on both PowerPC and Intel processors. (Contributed by " "Ronald Oussoren; :issue:`2573`.)" msgstr "" +"MacOS X: an :option:`!--enable-universalsdk` switch was added to " +"the :program:`configure` script that compiles the interpreter as a universal " +"binary able to run on both PowerPC and Intel processors. (Contributed by " +"Ronald Oussoren; :issue:`2573`.)" #: ../../whatsnew/2.5.rst:2218 msgid "" @@ -2720,16 +3774,21 @@ msgid "" "extension modules. :file:`.pyd` is now the only filename extension that " "will be searched for." msgstr "" +"Windows: :file:`.dll` is no longer supported as a filename extension for " +"extension modules. :file:`.pyd` is now the only filename extension that " +"will be searched for." #: ../../whatsnew/2.5.rst:2228 msgid "Porting to Python 2.5" -msgstr "" +msgstr "Porting to Python 2.5" #: ../../whatsnew/2.5.rst:2230 msgid "" "This section lists previously described changes that may require changes to " "your code:" msgstr "" +"This section lists previously described changes that may require changes to " +"your code:" #: ../../whatsnew/2.5.rst:2233 msgid "" @@ -2738,13 +3797,22 @@ msgid "" "encoding declaration. In Python 2.4 this triggered a warning, not a syntax " "error." msgstr "" +"ASCII is now the default encoding for modules. It's now a syntax error if " +"a module contains string literals with 8-bit characters but doesn't have an " +"encoding declaration. In Python 2.4 this triggered a warning, not a syntax " +"error." #: ../../whatsnew/2.5.rst:2238 msgid "" "Previously, the :attr:`gi_frame` attribute of a generator was always a frame " -"object. Because of the :pep:`342` changes described in section :ref:" -"`pep-342`, it's now possible for :attr:`gi_frame` to be ``None``." +"object. Because of the :pep:`342` changes described in " +"section :ref:`pep-342`, it's now possible for :attr:`gi_frame` to be " +"``None``." msgstr "" +"Previously, the :attr:`gi_frame` attribute of a generator was always a frame " +"object. Because of the :pep:`342` changes described in " +"section :ref:`pep-342`, it's now possible for :attr:`gi_frame` to be " +"``None``." #: ../../whatsnew/2.5.rst:2242 msgid "" @@ -2753,6 +3821,10 @@ msgid "" "Unicode using the default ASCII encoding. Previously such comparisons would " "raise a :class:`UnicodeDecodeError` exception." msgstr "" +"A new warning, :class:`UnicodeWarning`, is triggered when you attempt to " +"compare a Unicode string and an 8-bit string that can't be converted to " +"Unicode using the default ASCII encoding. Previously such comparisons would " +"raise a :class:`UnicodeDecodeError` exception." #: ../../whatsnew/2.5.rst:2247 msgid "" @@ -2761,6 +3833,10 @@ msgid "" "should be split into lines in a manner which preserves the newline " "characters." msgstr "" +"Library: the :mod:`csv` module is now stricter about multi-line quoted " +"fields. If your files contain newlines embedded within fields, the input " +"should be split into lines in a manner which preserves the newline " +"characters." #: ../../whatsnew/2.5.rst:2251 msgid "" @@ -2769,23 +3845,38 @@ msgid "" "appeared. In Python 2.5, the argument must be exactly one %char specifier " "with no surrounding text." msgstr "" +"Library: the :mod:`locale` module's :func:`format` function's would " +"previously accept any string as long as no more than one %char specifier " +"appeared. In Python 2.5, the argument must be exactly one %char specifier " +"with no surrounding text." #: ../../whatsnew/2.5.rst:2256 msgid "" -"Library: The :mod:`pickle` and :mod:`cPickle` modules no longer accept a " -"return value of ``None`` from the :meth:`__reduce__` method; the method must " -"return a tuple of arguments instead. The modules also no longer accept the " -"deprecated *bin* keyword parameter." +"Library: The :mod:`pickle` and :mod:`!cPickle` modules no longer accept a " +"return value of ``None`` from the :meth:`~object.__reduce__` method; the " +"method must return a tuple of arguments instead. The modules also no longer " +"accept the deprecated *bin* keyword parameter." msgstr "" +"Library: The :mod:`pickle` and :mod:`!cPickle` modules no longer accept a " +"return value of ``None`` from the :meth:`~object.__reduce__` method; the " +"method must return a tuple of arguments instead. The modules also no longer " +"accept the deprecated *bin* keyword parameter." #: ../../whatsnew/2.5.rst:2261 msgid "" -"Library: The :mod:`SimpleXMLRPCServer` and :mod:`DocXMLRPCServer` classes " -"now have a :attr:`rpc_paths` attribute that constrains XML-RPC operations to " -"a limited set of URL paths; the default is to allow only ``'/'`` and ``'/" +"Library: The :mod:`SimpleXMLRPCServer ` " +"and :mod:`DocXMLRPCServer ` classes now have " +"a :attr:`rpc_paths` attribute that constrains XML-RPC operations to a " +"limited set of URL paths; the default is to allow only ``'/'`` and ``'/" "RPC2'``. Setting :attr:`rpc_paths` to ``None`` or an empty tuple disables " "this path checking." msgstr "" +"Library: The :mod:`SimpleXMLRPCServer ` " +"and :mod:`DocXMLRPCServer ` classes now have " +"a :attr:`rpc_paths` attribute that constrains XML-RPC operations to a " +"limited set of URL paths; the default is to allow only ``'/'`` and ``'/" +"RPC2'``. Setting :attr:`rpc_paths` to ``None`` or an empty tuple disables " +"this path checking." #: ../../whatsnew/2.5.rst:2267 msgid "" @@ -2794,6 +3885,10 @@ msgid "" "to make the same change to avoid warnings and to support 64-bit machines. " "See the earlier section :ref:`pep-353` for a discussion of this change." msgstr "" +"C API: Many functions now use :c:type:`Py_ssize_t` instead of :c:expr:`int` " +"to allow processing more data on 64-bit machines. Extension code may need " +"to make the same change to avoid warnings and to support 64-bit machines. " +"See the earlier section :ref:`pep-353` for a discussion of this change." #: ../../whatsnew/2.5.rst:2272 msgid "" @@ -2802,6 +3897,10 @@ msgid "" "allocated with one family's ``*_Malloc`` must be freed with the " "corresponding family's ``*_Free`` function." msgstr "" +"C API: The obmalloc changes mean that you must be careful to not mix usage " +"of the ``PyMem_*`` and ``PyObject_*`` families of functions. Memory " +"allocated with one family's ``*_Malloc`` must be freed with the " +"corresponding family's ``*_Free`` function." #: ../../whatsnew/2.5.rst:2281 msgid "Acknowledgements" @@ -2817,6 +3916,13 @@ msgid "" "Paul Prescod, James Pryor, Mike Rovner, Scott Weikart, Barry Warsaw, Thomas " "Wouters." msgstr "" +"The author would like to thank the following people for offering " +"suggestions, corrections and assistance with various drafts of this article: " +"Georg Brandl, Nick Coghlan, Phillip J. Eby, Lars Gustäbel, Raymond " +"Hettinger, Ralf W. Grosse-Kunstleve, Kent Johnson, Iain Lowe, Martin von " +"Löwis, Fredrik Lundh, Andrew McNamara, Skip Montanaro, Gustavo Niemeyer, " +"Paul Prescod, James Pryor, Mike Rovner, Scott Weikart, Barry Warsaw, Thomas " +"Wouters." #: ../../whatsnew/2.5.rst:1342 msgid "universal newlines" @@ -2824,4 +3930,4 @@ msgstr "novas linhas universais" #: ../../whatsnew/2.5.rst:1342 msgid "What's new" -msgstr "" +msgstr "What's new" diff --git a/whatsnew/2.6.po b/whatsnew/2.6.po index 4b1133053..2bc210d73 100644 --- a/whatsnew/2.6.po +++ b/whatsnew/2.6.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Raphael Mendonça, 2021 -# Ricardo Cappellano , 2021 -# Victor Matheus Castro , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Augusta Carla Klug , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -37,43 +31,60 @@ msgstr "O que há de novo no Python 2.6" msgid "Author" msgstr "Autor" -#: ../../whatsnew/2.6.rst:9 +#: ../../whatsnew/2.6.rst:7 msgid "A.M. Kuchling (amk at amk.ca)" msgstr "A.M. Kuchling (amk at amk.ca)" -#: ../../whatsnew/2.6.rst:52 +#: ../../whatsnew/2.6.rst:50 msgid "" "This article explains the new features in Python 2.6, released on October 1, " "2008. The release schedule is described in :pep:`361`." msgstr "" +"This article explains the new features in Python 2.6, released on October 1, " +"2008. The release schedule is described in :pep:`361`." -#: ../../whatsnew/2.6.rst:55 +#: ../../whatsnew/2.6.rst:53 msgid "" "The major theme of Python 2.6 is preparing the migration path to Python 3.0, " "a major redesign of the language. Whenever possible, Python 2.6 " "incorporates new features and syntax from 3.0 while remaining compatible " "with existing code by not removing older features or syntax. When it's not " "possible to do that, Python 2.6 tries to do what it can, adding " -"compatibility functions in a :mod:`future_builtins` module and a :option:" -"`!-3` switch to warn about usages that will become unsupported in 3.0." +"compatibility functions in a :mod:`future_builtins` module and " +"a :option:`!-3` switch to warn about usages that will become unsupported in " +"3.0." msgstr "" +"The major theme of Python 2.6 is preparing the migration path to Python 3.0, " +"a major redesign of the language. Whenever possible, Python 2.6 incorporates " +"new features and syntax from 3.0 while remaining compatible with existing " +"code by not removing older features or syntax. When it's not possible to do " +"that, Python 2.6 tries to do what it can, adding compatibility functions in " +"a :mod:`future_builtins` module and a :option:`!-3` switch to warn about " +"usages that will become unsupported in 3.0." -#: ../../whatsnew/2.6.rst:64 +#: ../../whatsnew/2.6.rst:62 msgid "" "Some significant new packages have been added to the standard library, such " "as the :mod:`multiprocessing` and :mod:`json` modules, but there aren't many " "new features that aren't related to Python 3.0 in some way." msgstr "" +"Some significant new packages have been added to the standard library, such " +"as the :mod:`multiprocessing` and :mod:`json` modules, but there aren't many " +"new features that aren't related to Python 3.0 in some way." -#: ../../whatsnew/2.6.rst:69 +#: ../../whatsnew/2.6.rst:67 msgid "" "Python 2.6 also sees a number of improvements and bugfixes throughout the " "source. A search through the change logs finds there were 259 patches " "applied and 612 bugs fixed between Python 2.5 and 2.6. Both figures are " "likely to be underestimates." msgstr "" +"Python 2.6 also sees a number of improvements and bugfixes throughout the " +"source. A search through the change logs finds there were 259 patches " +"applied and 612 bugs fixed between Python 2.5 and 2.6. Both figures are " +"likely to be underestimates." -#: ../../whatsnew/2.6.rst:74 +#: ../../whatsnew/2.6.rst:72 msgid "" "This article doesn't attempt to provide a complete specification of the new " "features, but instead provides a convenient overview. For full details, you " @@ -82,19 +93,28 @@ msgid "" "particular new feature. Whenever possible, \"What's New in Python\" links to " "the bug/patch item for each change." msgstr "" +"This article doesn't attempt to provide a complete specification of the new " +"features, but instead provides a convenient overview. For full details, you " +"should refer to the documentation for Python 2.6. If you want to understand " +"the rationale for the design and implementation, refer to the PEP for a " +"particular new feature. Whenever possible, \"What's New in Python\" links to " +"the bug/patch item for each change." -#: ../../whatsnew/2.6.rst:90 +#: ../../whatsnew/2.6.rst:88 msgid "Python 3.0" msgstr "Python 3.0" -#: ../../whatsnew/2.6.rst:92 +#: ../../whatsnew/2.6.rst:90 msgid "" "The development cycle for Python versions 2.6 and 3.0 was synchronized, with " "the alpha and beta releases for both versions being made on the same days. " "The development of 3.0 has influenced many features in 2.6." msgstr "" +"The development cycle for Python versions 2.6 and 3.0 was synchronized, with " +"the alpha and beta releases for both versions being made on the same days. " +"The development of 3.0 has influenced many features in 2.6." -#: ../../whatsnew/2.6.rst:97 +#: ../../whatsnew/2.6.rst:95 msgid "" "Python 3.0 is a far-ranging redesign of Python that breaks compatibility " "with the 2.x series. This means that existing Python code will need some " @@ -104,23 +124,32 @@ msgid "" "described in this document in the appropriate place. Some of the 3.0-" "derived features are:" msgstr "" +"Python 3.0 is a far-ranging redesign of Python that breaks compatibility " +"with the 2.x series. This means that existing Python code will need some " +"conversion in order to run on Python 3.0. However, not all the changes in " +"3.0 necessarily break compatibility. In cases where new features won't cause " +"existing code to break, they've been backported to 2.6 and are described in " +"this document in the appropriate place. Some of the 3.0-derived features are:" -#: ../../whatsnew/2.6.rst:106 +#: ../../whatsnew/2.6.rst:104 msgid "" "A :meth:`__complex__` method for converting objects to a complex number." msgstr "" +"A :meth:`__complex__` method for converting objects to a complex number." -#: ../../whatsnew/2.6.rst:107 +#: ../../whatsnew/2.6.rst:105 msgid "Alternate syntax for catching exceptions: ``except TypeError as exc``." -msgstr "" +msgstr "Alternate syntax for catching exceptions: ``except TypeError as exc``." -#: ../../whatsnew/2.6.rst:108 +#: ../../whatsnew/2.6.rst:106 msgid "" -"The addition of :func:`functools.reduce` as a synonym for the built-in :func:" -"`reduce` function." +"The addition of :func:`functools.reduce` as a synonym for the built-" +"in :func:`reduce` function." msgstr "" +"The addition of :func:`functools.reduce` as a synonym for the built-" +"in :func:`reduce` function." -#: ../../whatsnew/2.6.rst:111 +#: ../../whatsnew/2.6.rst:109 msgid "" "Python 3.0 adds several new built-in functions and changes the semantics of " "some existing builtins. Functions that are new in 3.0 such as :func:`bin` " @@ -129,63 +158,98 @@ msgid "" "new 3.0 semantics. Code written to be compatible with 3.0 can do ``from " "future_builtins import hex, map`` as necessary." msgstr "" +"Python 3.0 adds several new built-in functions and changes the semantics of " +"some existing builtins. Functions that are new in 3.0 such as :func:`bin` " +"have simply been added to Python 2.6, but existing builtins haven't been " +"changed; instead, the :mod:`future_builtins` module has versions with the " +"new 3.0 semantics. Code written to be compatible with 3.0 can do ``from " +"future_builtins import hex, map`` as necessary." -#: ../../whatsnew/2.6.rst:119 +#: ../../whatsnew/2.6.rst:117 msgid "" "A new command-line switch, :option:`!-3`, enables warnings about features " "that will be removed in Python 3.0. You can run code with this switch to " "see how much work will be necessary to port code to 3.0. The value of this " -"switch is available to Python code as the boolean variable :data:`sys." -"py3kwarning`, and to C extension code as :c:data:`Py_Py3kWarningFlag`." +"switch is available to Python code as the boolean " +"variable :data:`sys.py3kwarning`, and to C extension code " +"as :c:data:`Py_Py3kWarningFlag`." msgstr "" +"A new command-line switch, :option:`!-3`, enables warnings about features " +"that will be removed in Python 3.0. You can run code with this switch to see " +"how much work will be necessary to port code to 3.0. The value of this " +"switch is available to Python code as the boolean " +"variable :data:`sys.py3kwarning`, and to C extension code " +"as :c:data:`Py_Py3kWarningFlag`." -#: ../../whatsnew/2.6.rst:128 +#: ../../whatsnew/2.6.rst:126 msgid "" -"The 3xxx series of PEPs, which contains proposals for Python 3.0. :pep:" -"`3000` describes the development process for Python 3.0. Start with :pep:" -"`3100` that describes the general goals for Python 3.0, and then explore the " -"higher-numbered PEPS that propose specific features." +"The 3\\ *xxx* series of PEPs, which contains proposals for Python " +"3.0. :pep:`3000` describes the development process for Python 3.0. Start " +"with :pep:`3100` that describes the general goals for Python 3.0, and then " +"explore the higher-numbered PEPs that propose specific features." msgstr "" +"The 3\\ *xxx* series of PEPs, which contains proposals for Python " +"3.0. :pep:`3000` describes the development process for Python 3.0. Start " +"with :pep:`3100` that describes the general goals for Python 3.0, and then " +"explore the higher-numbered PEPs that propose specific features." -#: ../../whatsnew/2.6.rst:136 +#: ../../whatsnew/2.6.rst:134 msgid "Changes to the Development Process" -msgstr "" +msgstr "Changes to the Development Process" -#: ../../whatsnew/2.6.rst:138 +#: ../../whatsnew/2.6.rst:136 msgid "" "While 2.6 was being developed, the Python development process underwent two " "significant changes: we switched from SourceForge's issue tracker to a " "customized Roundup installation, and the documentation was converted from " "LaTeX to reStructuredText." msgstr "" +"While 2.6 was being developed, the Python development process underwent two " +"significant changes: we switched from SourceForge's issue tracker to a " +"customized Roundup installation, and the documentation was converted from " +"LaTeX to reStructuredText." -#: ../../whatsnew/2.6.rst:145 +#: ../../whatsnew/2.6.rst:143 msgid "New Issue Tracker: Roundup" -msgstr "" +msgstr "New Issue Tracker: Roundup" -#: ../../whatsnew/2.6.rst:147 +#: ../../whatsnew/2.6.rst:145 msgid "" "For a long time, the Python developers had been growing increasingly annoyed " "by SourceForge's bug tracker. SourceForge's hosted solution doesn't permit " "much customization; for example, it wasn't possible to customize the life " "cycle of issues." msgstr "" +"For a long time, the Python developers had been growing increasingly annoyed " +"by SourceForge's bug tracker. SourceForge's hosted solution doesn't permit " +"much customization; for example, it wasn't possible to customize the life " +"cycle of issues." -#: ../../whatsnew/2.6.rst:152 +#: ../../whatsnew/2.6.rst:150 msgid "" "The infrastructure committee of the Python Software Foundation therefore " "posted a call for issue trackers, asking volunteers to set up different " "products and import some of the bugs and patches from SourceForge. Four " "different trackers were examined: `Jira `__, `Launchpad `__, `Roundup `__, and `Trac `__. The " +"jira/>`__, `Launchpad `__, `Roundup `__, and `Trac `__. The " "committee eventually settled on Jira and Roundup as the two candidates. " "Jira is a commercial product that offers no-cost hosted instances to free-" "software projects; Roundup is an open-source project that requires " "volunteers to administer it and a server to host it." msgstr "" +"The infrastructure committee of the Python Software Foundation therefore " +"posted a call for issue trackers, asking volunteers to set up different " +"products and import some of the bugs and patches from SourceForge. Four " +"different trackers were examined: `Jira `__, `Launchpad `__, `Roundup `__, and `Trac `__. The " +"committee eventually settled on Jira and Roundup as the two candidates. " +"Jira is a commercial product that offers no-cost hosted instances to free-" +"software projects; Roundup is an open-source project that requires " +"volunteers to administer it and a server to host it." -#: ../../whatsnew/2.6.rst:166 +#: ../../whatsnew/2.6.rst:164 msgid "" "After posting a call for volunteers, a new Roundup installation was set up " "at https://bugs.python.org. One installation of Roundup can host multiple " @@ -201,53 +265,59 @@ msgstr "" "possible, this edition of \"What's New in Python\" links to the bug/patch " "item for each change." -#: ../../whatsnew/2.6.rst:174 +#: ../../whatsnew/2.6.rst:172 msgid "" "Hosting of the Python bug tracker is kindly provided by `Upfront Systems " "`__ of Stellenbosch, South Africa. Martin " "von Löwis put a lot of effort into importing existing bugs and patches from " -"SourceForge; his scripts for this import operation are at ``https://svn." -"python.org/view/tracker/importer/`` and may be useful to other projects " +"SourceForge; his scripts for this import operation are at ``https://" +"svn.python.org/view/tracker/importer/`` and may be useful to other projects " "wishing to move from SourceForge to Roundup." msgstr "" +"Hosting of the Python bug tracker is kindly provided by `Upfront Systems " +"`__ of Stellenbosch, South Africa. Martin " +"von Löwis put a lot of effort into importing existing bugs and patches from " +"SourceForge; his scripts for this import operation are at ``https://" +"svn.python.org/view/tracker/importer/`` and may be useful to other projects " +"wishing to move from SourceForge to Roundup." -#: ../../whatsnew/2.6.rst:185 +#: ../../whatsnew/2.6.rst:183 msgid "https://bugs.python.org" msgstr "https://bugs.python.org" -#: ../../whatsnew/2.6.rst:185 +#: ../../whatsnew/2.6.rst:183 msgid "The Python bug tracker." msgstr "The Python bug tracker." -#: ../../whatsnew/2.6.rst:188 +#: ../../whatsnew/2.6.rst:186 msgid "https://bugs.jython.org:" -msgstr "" +msgstr "https://bugs.jython.org:" -#: ../../whatsnew/2.6.rst:188 +#: ../../whatsnew/2.6.rst:186 msgid "The Jython bug tracker." msgstr "The Jython bug tracker." -#: ../../whatsnew/2.6.rst:191 +#: ../../whatsnew/2.6.rst:189 msgid "https://roundup.sourceforge.io/" -msgstr "" +msgstr "https://roundup.sourceforge.io/" -#: ../../whatsnew/2.6.rst:191 +#: ../../whatsnew/2.6.rst:189 msgid "Roundup downloads and documentation." msgstr "Roundup downloads and documentation." -#: ../../whatsnew/2.6.rst:193 +#: ../../whatsnew/2.6.rst:191 msgid "https://svn.python.org/view/tracker/importer/" -msgstr "" +msgstr "https://svn.python.org/view/tracker/importer/" -#: ../../whatsnew/2.6.rst:194 +#: ../../whatsnew/2.6.rst:192 msgid "Martin von Löwis's conversion scripts." msgstr "Martin von Löwis's conversion scripts." -#: ../../whatsnew/2.6.rst:197 +#: ../../whatsnew/2.6.rst:195 msgid "New Documentation Format: reStructuredText Using Sphinx" msgstr "New Documentation Format: reStructuredText Using Sphinx" -#: ../../whatsnew/2.6.rst:199 +#: ../../whatsnew/2.6.rst:197 msgid "" "The Python documentation was written using LaTeX since the project started " "around 1989. In the 1980s and early 1990s, most documentation was printed " @@ -261,7 +331,7 @@ msgstr "" "provided attractive printed output while remaining straightforward to write " "once the basic rules of the markup were learned." -#: ../../whatsnew/2.6.rst:206 +#: ../../whatsnew/2.6.rst:204 msgid "" "Today LaTeX is still used for writing publications destined for printing, " "but the landscape for programming tools has shifted. We no longer print out " @@ -283,14 +353,17 @@ msgstr "" "SGML and later XML, but performing a good conversion is a major task and no " "one ever committed the time required to finish the job." -#: ../../whatsnew/2.6.rst:217 +#: ../../whatsnew/2.6.rst:215 msgid "" "During the 2.6 development cycle, Georg Brandl put a lot of effort into " "building a new toolchain for processing the documentation. The resulting " "package is called Sphinx, and is available from https://www.sphinx-doc.org/." msgstr "" +"During the 2.6 development cycle, Georg Brandl put a lot of effort into " +"building a new toolchain for processing the documentation. The resulting " +"package is called Sphinx, and is available from https://www.sphinx-doc.org/." -#: ../../whatsnew/2.6.rst:222 +#: ../../whatsnew/2.6.rst:220 msgid "" "Sphinx concentrates on HTML output, producing attractively styled and modern " "HTML; printed output is still supported through conversion to LaTeX. The " @@ -302,43 +375,47 @@ msgstr "" "input format is reStructuredText, a markup syntax supporting custom " "extensions and directives that is commonly used in the Python community." -#: ../../whatsnew/2.6.rst:228 +#: ../../whatsnew/2.6.rst:226 msgid "" "Sphinx is a standalone package that can be used for writing, and almost two " -"dozen other projects (`listed on the Sphinx web site `__) have adopted Sphinx as their documentation " -"tool." +"dozen other projects (`listed on the Sphinx web site `__) have adopted Sphinx as their " +"documentation tool." msgstr "" +"Sphinx is a standalone package that can be used for writing, and almost two " +"dozen other projects (`listed on the Sphinx web site `__) have adopted Sphinx as their " +"documentation tool." -#: ../../whatsnew/2.6.rst:236 +#: ../../whatsnew/2.6.rst:234 msgid "`Documenting Python `__" -msgstr "" +msgstr "`Documenting Python `__" -#: ../../whatsnew/2.6.rst:236 +#: ../../whatsnew/2.6.rst:234 msgid "Describes how to write for Python's documentation." msgstr "Describes how to write for Python's documentation." -#: ../../whatsnew/2.6.rst:239 +#: ../../whatsnew/2.6.rst:237 msgid "`Sphinx `__" -msgstr "" +msgstr "`Sphinx `__" -#: ../../whatsnew/2.6.rst:239 +#: ../../whatsnew/2.6.rst:237 msgid "Documentation and code for the Sphinx toolchain." msgstr "Documentation and code for the Sphinx toolchain." -#: ../../whatsnew/2.6.rst:241 +#: ../../whatsnew/2.6.rst:239 msgid "`Docutils `__" -msgstr "" +msgstr "`Docutils `__" -#: ../../whatsnew/2.6.rst:242 +#: ../../whatsnew/2.6.rst:240 msgid "The underlying reStructuredText parser and toolset." msgstr "The underlying reStructuredText parser and toolset." -#: ../../whatsnew/2.6.rst:248 +#: ../../whatsnew/2.6.rst:246 msgid "PEP 343: The 'with' statement" msgstr "PEP 343: The 'with' statement" -#: ../../whatsnew/2.6.rst:250 +#: ../../whatsnew/2.6.rst:248 msgid "" "The previous version, Python 2.5, added the ':keyword:`with`' statement as " "an optional feature, to be enabled by a ``from __future__ import " @@ -348,8 +425,15 @@ msgid "" "from the \"What's New in Python 2.5\" document; if you're familiar with the " "':keyword:`!with`' statement from Python 2.5, you can skip this section." msgstr "" +"The previous version, Python 2.5, added the ':keyword:`with`' statement as " +"an optional feature, to be enabled by a ``from __future__ import " +"with_statement`` directive. In 2.6 the statement no longer needs to be " +"specially enabled; this means that :keyword:`!with` is now always a " +"keyword. The rest of this section is a copy of the corresponding section " +"from the \"What's New in Python 2.5\" document; if you're familiar with the " +"':keyword:`!with`' statement from Python 2.5, you can skip this section." -#: ../../whatsnew/2.6.rst:259 +#: ../../whatsnew/2.6.rst:257 msgid "" "The ':keyword:`with`' statement clarifies code that previously would use " "``try...finally`` blocks to ensure that clean-up code is executed. In this " @@ -363,7 +447,7 @@ msgstr "" "section, I'll examine the implementation details and show how to write " "objects for use with this statement." -#: ../../whatsnew/2.6.rst:265 +#: ../../whatsnew/2.6.rst:263 msgid "" "The ':keyword:`with`' statement is a control-flow structure whose basic " "structure is::" @@ -371,39 +455,39 @@ msgstr "" "The ':keyword:`with`' statement is a control-flow structure whose basic " "structure is::" -#: ../../whatsnew/2.6.rst:271 +#: ../../whatsnew/2.6.rst:269 msgid "" "The expression is evaluated, and it should result in an object that supports " -"the context management protocol (that is, has :meth:`__enter__` and :meth:" -"`__exit__` methods)." +"the context management protocol (that is, has :meth:`~object.__enter__` " +"and :meth:`~object.__exit__` methods)." msgstr "" "The expression is evaluated, and it should result in an object that supports " -"the context management protocol (that is, has :meth:`__enter__` and :meth:" -"`__exit__` methods)." +"the context management protocol (that is, has :meth:`~object.__enter__` " +"and :meth:`~object.__exit__` methods)." -#: ../../whatsnew/2.6.rst:275 +#: ../../whatsnew/2.6.rst:273 msgid "" -"The object's :meth:`__enter__` is called before *with-block* is executed and " -"therefore can run set-up code. It also may return a value that is bound to " -"the name *variable*, if given. (Note carefully that *variable* is *not* " -"assigned the result of *expression*.)" +"The object's :meth:`~object.__enter__` is called before *with-block* is " +"executed and therefore can run set-up code. It also may return a value that " +"is bound to the name *variable*, if given. (Note carefully that *variable* " +"is *not* assigned the result of *expression*.)" msgstr "" -"The object's :meth:`__enter__` is called before *with-block* is executed and " -"therefore can run set-up code. It also may return a value that is bound to " -"the name *variable*, if given. (Note carefully that *variable* is *not* " -"assigned the result of *expression*.)" +"The object's :meth:`~object.__enter__` is called before *with-block* is " +"executed and therefore can run set-up code. It also may return a value that " +"is bound to the name *variable*, if given. (Note carefully that *variable* " +"is *not* assigned the result of *expression*.)" -#: ../../whatsnew/2.6.rst:280 +#: ../../whatsnew/2.6.rst:278 msgid "" -"After execution of the *with-block* is finished, the object's :meth:" -"`__exit__` method is called, even if the block raised an exception, and can " -"therefore run clean-up code." +"After execution of the *with-block* is finished, the " +"object's :meth:`~object.__exit__` method is called, even if the block raised " +"an exception, and can therefore run clean-up code." msgstr "" -"After execution of the *with-block* is finished, the object's :meth:" -"`__exit__` method is called, even if the block raised an exception, and can " -"therefore run clean-up code." +"After execution of the *with-block* is finished, the " +"object's :meth:`~object.__exit__` method is called, even if the block raised " +"an exception, and can therefore run clean-up code." -#: ../../whatsnew/2.6.rst:284 +#: ../../whatsnew/2.6.rst:282 msgid "" "Some standard Python objects now support the context management protocol and " "can be used with the ':keyword:`with`' statement. File objects are one " @@ -413,7 +497,7 @@ msgstr "" "can be used with the ':keyword:`with`' statement. File objects are one " "example::" -#: ../../whatsnew/2.6.rst:292 +#: ../../whatsnew/2.6.rst:290 msgid "" "After this statement has executed, the file object in *f* will have been " "automatically closed, even if the :keyword:`for` loop raised an exception " @@ -423,15 +507,15 @@ msgstr "" "automatically closed, even if the :keyword:`for` loop raised an exception " "part-way through the block." -#: ../../whatsnew/2.6.rst:298 +#: ../../whatsnew/2.6.rst:296 msgid "" -"In this case, *f* is the same object created by :func:`open`, because :meth:" -"`file.__enter__` returns *self*." +"In this case, *f* is the same object created by :func:`open`, " +"because :meth:`~object.__enter__` returns *self*." msgstr "" -"In this case, *f* is the same object created by :func:`open`, because :meth:" -"`file.__enter__` returns *self*." +"In this case, *f* is the same object created by :func:`open`, " +"because :meth:`~object.__enter__` returns *self*." -#: ../../whatsnew/2.6.rst:301 +#: ../../whatsnew/2.6.rst:299 msgid "" "The :mod:`threading` module's locks and condition variables also support " "the ':keyword:`with`' statement::" @@ -439,7 +523,7 @@ msgstr "" "The :mod:`threading` module's locks and condition variables also support the " "':keyword:`with`' statement::" -#: ../../whatsnew/2.6.rst:309 +#: ../../whatsnew/2.6.rst:307 msgid "" "The lock is acquired before the block is executed and always released once " "the block is complete." @@ -447,7 +531,7 @@ msgstr "" "The lock is acquired before the block is executed and always released once " "the block is complete." -#: ../../whatsnew/2.6.rst:312 +#: ../../whatsnew/2.6.rst:310 msgid "" "The :func:`localcontext` function in the :mod:`decimal` module makes it easy " "to save and restore the current decimal context, which encapsulates the " @@ -457,11 +541,11 @@ msgstr "" "to save and restore the current decimal context, which encapsulates the " "desired precision and rounding characteristics for computations::" -#: ../../whatsnew/2.6.rst:331 +#: ../../whatsnew/2.6.rst:329 msgid "Writing Context Managers" msgstr "Writing Context Managers" -#: ../../whatsnew/2.6.rst:333 +#: ../../whatsnew/2.6.rst:331 msgid "" "Under the hood, the ':keyword:`with`' statement is fairly complicated. Most " "people will only use ':keyword:`!with`' in company with existing objects and " @@ -469,66 +553,71 @@ msgid "" "if you like. Authors of new objects will need to understand the details of " "the underlying implementation and should keep reading." msgstr "" +"Under the hood, the ':keyword:`with`' statement is fairly complicated. Most " +"people will only use ':keyword:`!with`' in company with existing objects and " +"don't need to know these details, so you can skip the rest of this section " +"if you like. Authors of new objects will need to understand the details of " +"the underlying implementation and should keep reading." -#: ../../whatsnew/2.6.rst:339 +#: ../../whatsnew/2.6.rst:337 msgid "A high-level explanation of the context management protocol is:" msgstr "A high-level explanation of the context management protocol is:" -#: ../../whatsnew/2.6.rst:341 +#: ../../whatsnew/2.6.rst:339 msgid "" "The expression is evaluated and should result in an object called a " -"\"context manager\". The context manager must have :meth:`__enter__` and :" -"meth:`__exit__` methods." +"\"context manager\". The context manager must " +"have :meth:`~object.__enter__` and :meth:`~object.__exit__` methods." msgstr "" "The expression is evaluated and should result in an object called a " -"\"context manager\". The context manager must have :meth:`__enter__` and :" -"meth:`__exit__` methods." +"\"context manager\". The context manager must " +"have :meth:`~object.__enter__` and :meth:`~object.__exit__` methods." -#: ../../whatsnew/2.6.rst:345 +#: ../../whatsnew/2.6.rst:343 msgid "" -"The context manager's :meth:`__enter__` method is called. The value " +"The context manager's :meth:`~object.__enter__` method is called. The value " "returned is assigned to *VAR*. If no ``as VAR`` clause is present, the " "value is simply discarded." msgstr "" -"The context manager's :meth:`__enter__` method is called. The value returned " -"is assigned to *VAR*. If no ``as VAR`` clause is present, the value is " -"simply discarded." +"The context manager's :meth:`~object.__enter__` method is called. The value " +"returned is assigned to *VAR*. If no ``as VAR`` clause is present, the " +"value is simply discarded." -#: ../../whatsnew/2.6.rst:349 +#: ../../whatsnew/2.6.rst:347 msgid "The code in *BLOCK* is executed." msgstr "The code in *BLOCK* is executed." -#: ../../whatsnew/2.6.rst:351 +#: ../../whatsnew/2.6.rst:349 msgid "" -"If *BLOCK* raises an exception, the context manager's :meth:`__exit__` " -"method is called with three arguments, the exception details (``type, value, " -"traceback``, the same values returned by :func:`sys.exc_info`, which can " -"also be ``None`` if no exception occurred). The method's return value " -"controls whether an exception is re-raised: any false value re-raises the " -"exception, and ``True`` will result in suppressing it. You'll only rarely " -"want to suppress the exception, because if you do the author of the code " -"containing the ':keyword:`with`' statement will never realize anything went " -"wrong." +"If *BLOCK* raises an exception, the context " +"manager's :meth:`~object.__exit__` method is called with three arguments, " +"the exception details (``type, value, traceback``, the same values returned " +"by :func:`sys.exc_info`, which can also be ``None`` if no exception " +"occurred). The method's return value controls whether an exception is re-" +"raised: any false value re-raises the exception, and ``True`` will result in " +"suppressing it. You'll only rarely want to suppress the exception, because " +"if you do the author of the code containing the ':keyword:`with`' statement " +"will never realize anything went wrong." msgstr "" -"If *BLOCK* raises an exception, the context manager's :meth:`__exit__` " -"method is called with three arguments, the exception details (``type, value, " -"traceback``, the same values returned by :func:`sys.exc_info`, which can " -"also be ``None`` if no exception occurred). The method's return value " -"controls whether an exception is re-raised: any false value re-raises the " -"exception, and ``True`` will result in suppressing it. You'll only rarely " -"want to suppress the exception, because if you do the author of the code " -"containing the ':keyword:`with`' statement will never realize anything went " -"wrong." +"If *BLOCK* raises an exception, the context " +"manager's :meth:`~object.__exit__` method is called with three arguments, " +"the exception details (``type, value, traceback``, the same values returned " +"by :func:`sys.exc_info`, which can also be ``None`` if no exception " +"occurred). The method's return value controls whether an exception is re-" +"raised: any false value re-raises the exception, and ``True`` will result in " +"suppressing it. You'll only rarely want to suppress the exception, because " +"if you do the author of the code containing the ':keyword:`with`' statement " +"will never realize anything went wrong." -#: ../../whatsnew/2.6.rst:360 +#: ../../whatsnew/2.6.rst:358 msgid "" -"If *BLOCK* didn't raise an exception, the :meth:`__exit__` method is still " -"called, but *type*, *value*, and *traceback* are all ``None``." +"If *BLOCK* didn't raise an exception, the :meth:`~object.__exit__` method " +"is still called, but *type*, *value*, and *traceback* are all ``None``." msgstr "" -"If *BLOCK* didn't raise an exception, the :meth:`__exit__` method is still " -"called, but *type*, *value*, and *traceback* are all ``None``." +"If *BLOCK* didn't raise an exception, the :meth:`~object.__exit__` method " +"is still called, but *type*, *value*, and *traceback* are all ``None``." -#: ../../whatsnew/2.6.rst:363 +#: ../../whatsnew/2.6.rst:361 msgid "" "Let's think through an example. I won't present detailed code but will only " "sketch the methods necessary for a database that supports transactions." @@ -536,7 +625,7 @@ msgstr "" "Let's think through an example. I won't present detailed code but will only " "sketch the methods necessary for a database that supports transactions." -#: ../../whatsnew/2.6.rst:366 +#: ../../whatsnew/2.6.rst:364 msgid "" "(For people unfamiliar with database terminology: a set of changes to the " "database are grouped into a transaction. Transactions can be either " @@ -550,51 +639,51 @@ msgstr "" "rolled back, meaning that the changes are all discarded and the database is " "unchanged. See any database textbook for more information.)" -#: ../../whatsnew/2.6.rst:372 +#: ../../whatsnew/2.6.rst:370 msgid "" "Let's assume there's an object representing a database connection. Our goal " "will be to let the user write code like this::" msgstr "" -"Let's assume there's an object representing a database connection. Our goal " -"will be to let the user write code like this::" +"Vamos supor que exista um objeto representando uma conexão com o banco de " +"dados. Nosso objetivo será permitir que o usuário escreva código como este:" -#: ../../whatsnew/2.6.rst:381 +#: ../../whatsnew/2.6.rst:379 msgid "" "The transaction should be committed if the code in the block runs flawlessly " -"or rolled back if there's an exception. Here's the basic interface for :" -"class:`DatabaseConnection` that I'll assume::" +"or rolled back if there's an exception. Here's the basic interface " +"for :class:`DatabaseConnection` that I'll assume::" msgstr "" -"The transaction should be committed if the code in the block runs flawlessly " -"or rolled back if there's an exception. Here's the basic interface for :" -"class:`DatabaseConnection` that I'll assume::" +"A transação deverá ser confirmada se o código no bloco funcionar " +"perfeitamente ou revertida se houver uma exceção. Aqui está a interface " +"básica para :class:`DatabaseConnection` que presumirei::" -#: ../../whatsnew/2.6.rst:394 +#: ../../whatsnew/2.6.rst:392 msgid "" -"The :meth:`__enter__` method is pretty easy, having only to start a new " -"transaction. For this application the resulting cursor object would be a " -"useful result, so the method will return it. The user can then add ``as " +"The :meth:`~object.__enter__` method is pretty easy, having only to start a " +"new transaction. For this application the resulting cursor object would be " +"a useful result, so the method will return it. The user can then add ``as " "cursor`` to their ':keyword:`with`' statement to bind the cursor to a " "variable name. ::" msgstr "" -"The :meth:`__enter__` method is pretty easy, having only to start a new " -"transaction. For this application the resulting cursor object would be a " -"useful result, so the method will return it. The user can then add ``as " +"The :meth:`~object.__enter__` method is pretty easy, having only to start a " +"new transaction. For this application the resulting cursor object would be " +"a useful result, so the method will return it. The user can then add ``as " "cursor`` to their ':keyword:`with`' statement to bind the cursor to a " "variable name. ::" -#: ../../whatsnew/2.6.rst:406 +#: ../../whatsnew/2.6.rst:404 msgid "" -"The :meth:`__exit__` method is the most complicated because it's where most " -"of the work has to be done. The method has to check if an exception " -"occurred. If there was no exception, the transaction is committed. The " -"transaction is rolled back if there was an exception." +"The :meth:`~object.__exit__` method is the most complicated because it's " +"where most of the work has to be done. The method has to check if an " +"exception occurred. If there was no exception, the transaction is " +"committed. The transaction is rolled back if there was an exception." msgstr "" -"The :meth:`__exit__` method is the most complicated because it's where most " -"of the work has to be done. The method has to check if an exception " -"occurred. If there was no exception, the transaction is committed. The " -"transaction is rolled back if there was an exception." +"The :meth:`~object.__exit__` method is the most complicated because it's " +"where most of the work has to be done. The method has to check if an " +"exception occurred. If there was no exception, the transaction is " +"committed. The transaction is rolled back if there was an exception." -#: ../../whatsnew/2.6.rst:411 +#: ../../whatsnew/2.6.rst:409 msgid "" "In the code below, execution will just fall off the end of the function, " "returning the default value of ``None``. ``None`` is false, so the " @@ -606,11 +695,11 @@ msgstr "" "will be re-raised automatically. If you wished, you could be more explicit " "and add a :keyword:`return` statement at the marked location. ::" -#: ../../whatsnew/2.6.rst:431 +#: ../../whatsnew/2.6.rst:429 msgid "The contextlib module" msgstr "The contextlib module" -#: ../../whatsnew/2.6.rst:433 +#: ../../whatsnew/2.6.rst:431 msgid "" "The :mod:`contextlib` module provides some functions and a decorator that " "are useful when writing objects for use with the ':keyword:`with`' statement." @@ -618,20 +707,29 @@ msgstr "" "The :mod:`contextlib` module provides some functions and a decorator that " "are useful when writing objects for use with the ':keyword:`with`' statement." -#: ../../whatsnew/2.6.rst:436 +#: ../../whatsnew/2.6.rst:434 msgid "" "The decorator is called :func:`contextmanager`, and lets you write a single " "generator function instead of defining a new class. The generator should " "yield exactly one value. The code up to the :keyword:`yield` will be " -"executed as the :meth:`__enter__` method, and the value yielded will be the " -"method's return value that will get bound to the variable in the ':keyword:" -"`with`' statement's :keyword:`!as` clause, if any. The code after the :" -"keyword:`!yield` will be executed in the :meth:`__exit__` method. Any " -"exception raised in the block will be raised by the :keyword:`!yield` " -"statement." +"executed as the :meth:`~object.__enter__` method, and the value yielded will " +"be the method's return value that will get bound to the variable in the " +"':keyword:`with`' statement's :keyword:`!as` clause, if any. The code after " +"the :keyword:`!yield` will be executed in the :meth:`~object.__exit__` " +"method. Any exception raised in the block will be raised by the :keyword:`!" +"yield` statement." msgstr "" +"The decorator is called :func:`contextmanager`, and lets you write a single " +"generator function instead of defining a new class. The generator should " +"yield exactly one value. The code up to the :keyword:`yield` will be " +"executed as the :meth:`~object.__enter__` method, and the value yielded will " +"be the method's return value that will get bound to the variable in the " +"':keyword:`with`' statement's :keyword:`!as` clause, if any. The code after " +"the :keyword:`!yield` will be executed in the :meth:`~object.__exit__` " +"method. Any exception raised in the block will be raised by the :keyword:`!" +"yield` statement." -#: ../../whatsnew/2.6.rst:445 +#: ../../whatsnew/2.6.rst:443 msgid "" "Using this decorator, our database example from the previous section could " "be written as::" @@ -639,7 +737,7 @@ msgstr "" "Using this decorator, our database example from the previous section could " "be written as::" -#: ../../whatsnew/2.6.rst:465 +#: ../../whatsnew/2.6.rst:463 msgid "" "The :mod:`contextlib` module also has a ``nested(mgr1, mgr2, ...)`` function " "that combines a number of context managers so you don't need to write nested " @@ -647,8 +745,13 @@ msgid "" "with`' statement both starts a database transaction and acquires a thread " "lock::" msgstr "" +"The :mod:`contextlib` module also has a ``nested(mgr1, mgr2, ...)`` function " +"that combines a number of context managers so you don't need to write nested " +"':keyword:`with`' statements. In this example, the single ':keyword:`!" +"with`' statement both starts a database transaction and acquires a thread " +"lock::" -#: ../../whatsnew/2.6.rst:474 +#: ../../whatsnew/2.6.rst:472 msgid "" "Finally, the :func:`closing` function returns its argument so that it can be " "bound to a variable, and calls the argument's ``.close()`` method at the end " @@ -658,11 +761,11 @@ msgstr "" "bound to a variable, and calls the argument's ``.close()`` method at the end " "of the block. ::" -#: ../../whatsnew/2.6.rst:492 +#: ../../whatsnew/2.6.rst:490 msgid ":pep:`343` - The \"with\" statement" msgstr ":pep:`343` - A instrução \"with\"" -#: ../../whatsnew/2.6.rst:489 +#: ../../whatsnew/2.6.rst:487 msgid "" "PEP written by Guido van Rossum and Nick Coghlan; implemented by Mike Bland, " "Guido van Rossum, and Neal Norwitz. The PEP shows the code generated for a " @@ -670,19 +773,19 @@ msgid "" "statement works." msgstr "" "PEP written by Guido van Rossum and Nick Coghlan; implemented by Mike Bland, " -"Guido van Rossum, and Neal Norwitz. The PEP shows the code generated for a ':" -"keyword:`with`' statement, which can be helpful in learning how the " +"Guido van Rossum, and Neal Norwitz. The PEP shows the code generated for a " +"':keyword:`with`' statement, which can be helpful in learning how the " "statement works." -#: ../../whatsnew/2.6.rst:494 +#: ../../whatsnew/2.6.rst:492 msgid "The documentation for the :mod:`contextlib` module." msgstr "The documentation for the :mod:`contextlib` module." -#: ../../whatsnew/2.6.rst:501 +#: ../../whatsnew/2.6.rst:499 msgid "PEP 366: Explicit Relative Imports From a Main Module" msgstr "PEP 366: Explicit Relative Imports From a Main Module" -#: ../../whatsnew/2.6.rst:503 +#: ../../whatsnew/2.6.rst:501 msgid "" "Python's :option:`-m` switch allows running a module as a script. When you " "ran a module that was located inside a package, relative imports didn't work " @@ -692,7 +795,7 @@ msgstr "" "ran a module that was located inside a package, relative imports didn't work " "correctly." -#: ../../whatsnew/2.6.rst:507 +#: ../../whatsnew/2.6.rst:505 msgid "" "The fix for Python 2.6 adds a :attr:`__package__` attribute to modules. " "When this attribute is present, relative imports will be relative to the " @@ -702,31 +805,35 @@ msgstr "" "this attribute is present, relative imports will be relative to the value of " "this attribute instead of the :attr:`__name__` attribute." -#: ../../whatsnew/2.6.rst:512 +#: ../../whatsnew/2.6.rst:510 msgid "" -"PEP 302-style importers can then set :attr:`__package__` as necessary. The :" -"mod:`runpy` module that implements the :option:`-m` switch now does this, so " -"relative imports will now work correctly in scripts running from inside a " -"package." +"PEP 302-style importers can then set :attr:`__package__` as necessary. " +"The :mod:`runpy` module that implements the :option:`-m` switch now does " +"this, so relative imports will now work correctly in scripts running from " +"inside a package." msgstr "" -"PEP 302-style importers can then set :attr:`__package__` as necessary. The :" -"mod:`runpy` module that implements the :option:`-m` switch now does this, so " -"relative imports will now work correctly in scripts running from inside a " -"package." +"PEP 302-style importers can then set :attr:`__package__` as necessary. " +"The :mod:`runpy` module that implements the :option:`-m` switch now does " +"this, so relative imports will now work correctly in scripts running from " +"inside a package." -#: ../../whatsnew/2.6.rst:522 +#: ../../whatsnew/2.6.rst:520 msgid "PEP 370: Per-user ``site-packages`` Directory" msgstr "PEP 370: Per-user ``site-packages`` Directory" -#: ../../whatsnew/2.6.rst:524 +#: ../../whatsnew/2.6.rst:522 msgid "" "When you run Python, the module search path ``sys.path`` usually includes a " "directory whose path ends in ``\"site-packages\"``. This directory is " "intended to hold locally installed packages available to all users using a " "machine or a particular site installation." msgstr "" +"When you run Python, the module search path ``sys.path`` usually includes a " +"directory whose path ends in ``\"site-packages\"``. This directory is " +"intended to hold locally installed packages available to all users using a " +"machine or a particular site installation." -#: ../../whatsnew/2.6.rst:529 +#: ../../whatsnew/2.6.rst:527 msgid "" "Python 2.6 introduces a convention for user-specific site directories. The " "directory varies depending on the platform:" @@ -734,15 +841,15 @@ msgstr "" "Python 2.6 introduces a convention for user-specific site directories. The " "directory varies depending on the platform:" -#: ../../whatsnew/2.6.rst:532 +#: ../../whatsnew/2.6.rst:530 msgid "Unix and Mac OS X: :file:`~/.local/`" msgstr "Unix and Mac OS X: :file:`~/.local/`" -#: ../../whatsnew/2.6.rst:533 +#: ../../whatsnew/2.6.rst:531 msgid "Windows: :file:`%APPDATA%/Python`" msgstr "Windows: :file:`%APPDATA%/Python`" -#: ../../whatsnew/2.6.rst:535 +#: ../../whatsnew/2.6.rst:533 msgid "" "Within this directory, there will be version-specific subdirectories, such " "as :file:`lib/python2.6/site-packages` on Unix/Mac OS and :file:`Python26/" @@ -752,23 +859,23 @@ msgstr "" "as :file:`lib/python2.6/site-packages` on Unix/Mac OS and :file:`Python26/" "site-packages` on Windows." -#: ../../whatsnew/2.6.rst:539 +#: ../../whatsnew/2.6.rst:537 msgid "" "If you don't like the default directory, it can be overridden by an " "environment variable. :envvar:`PYTHONUSERBASE` sets the root directory used " "for all Python versions supporting this feature. On Windows, the directory " -"for application-specific data can be changed by setting the :envvar:" -"`APPDATA` environment variable. You can also modify the :file:`site.py` " -"file for your Python installation." +"for application-specific data can be changed by setting " +"the :envvar:`APPDATA` environment variable. You can also modify " +"the :file:`site.py` file for your Python installation." msgstr "" "If you don't like the default directory, it can be overridden by an " "environment variable. :envvar:`PYTHONUSERBASE` sets the root directory used " "for all Python versions supporting this feature. On Windows, the directory " -"for application-specific data can be changed by setting the :envvar:" -"`APPDATA` environment variable. You can also modify the :file:`site.py` file " -"for your Python installation." +"for application-specific data can be changed by setting " +"the :envvar:`APPDATA` environment variable. You can also modify " +"the :file:`site.py` file for your Python installation." -#: ../../whatsnew/2.6.rst:546 +#: ../../whatsnew/2.6.rst:544 msgid "" "The feature can be disabled entirely by running Python with the :option:`-s` " "option or setting the :envvar:`PYTHONNOUSERSITE` environment variable." @@ -776,19 +883,19 @@ msgstr "" "The feature can be disabled entirely by running Python with the :option:`-s` " "option or setting the :envvar:`PYTHONNOUSERSITE` environment variable." -#: ../../whatsnew/2.6.rst:552 +#: ../../whatsnew/2.6.rst:550 msgid ":pep:`370` - Per-user ``site-packages`` Directory" msgstr ":pep:`370` - Per-user ``site-packages`` Directory" -#: ../../whatsnew/2.6.rst:553 +#: ../../whatsnew/2.6.rst:551 msgid "PEP written and implemented by Christian Heimes." msgstr "PEP written and implemented by Christian Heimes." -#: ../../whatsnew/2.6.rst:561 +#: ../../whatsnew/2.6.rst:559 msgid "PEP 371: The ``multiprocessing`` Package" msgstr "PEP 371: The ``multiprocessing`` Package" -#: ../../whatsnew/2.6.rst:563 +#: ../../whatsnew/2.6.rst:561 msgid "" "The new :mod:`multiprocessing` package lets Python programs create new " "processes that will perform a computation and return a result to the " @@ -802,27 +909,29 @@ msgstr "" "synchronize their operations using locks and semaphores, and can share " "simple arrays of data." -#: ../../whatsnew/2.6.rst:569 +#: ../../whatsnew/2.6.rst:567 msgid "" -"The :mod:`multiprocessing` module started out as an exact emulation of the :" -"mod:`threading` module using processes instead of threads. That goal was " -"discarded along the path to Python 2.6, but the general approach of the " +"The :mod:`multiprocessing` module started out as an exact emulation of " +"the :mod:`threading` module using processes instead of threads. That goal " +"was discarded along the path to Python 2.6, but the general approach of the " "module is still similar. The fundamental class is the :class:`Process`, " -"which is passed a callable object and a collection of arguments. The :meth:" -"`start` method sets the callable running in a subprocess, after which you " -"can call the :meth:`is_alive` method to check whether the subprocess is " -"still running and the :meth:`join` method to wait for the process to exit." -msgstr "" -"The :mod:`multiprocessing` module started out as an exact emulation of the :" -"mod:`threading` module using processes instead of threads. That goal was " -"discarded along the path to Python 2.6, but the general approach of the " +"which is passed a callable object and a collection of arguments. " +"The :meth:`start` method sets the callable running in a subprocess, after " +"which you can call the :meth:`is_alive` method to check whether the " +"subprocess is still running and the :meth:`join` method to wait for the " +"process to exit." +msgstr "" +"The :mod:`multiprocessing` module started out as an exact emulation of " +"the :mod:`threading` module using processes instead of threads. That goal " +"was discarded along the path to Python 2.6, but the general approach of the " "module is still similar. The fundamental class is the :class:`Process`, " -"which is passed a callable object and a collection of arguments. The :meth:" -"`start` method sets the callable running in a subprocess, after which you " -"can call the :meth:`is_alive` method to check whether the subprocess is " -"still running and the :meth:`join` method to wait for the process to exit." +"which is passed a callable object and a collection of arguments. " +"The :meth:`start` method sets the callable running in a subprocess, after " +"which you can call the :meth:`is_alive` method to check whether the " +"subprocess is still running and the :meth:`join` method to wait for the " +"process to exit." -#: ../../whatsnew/2.6.rst:579 +#: ../../whatsnew/2.6.rst:577 msgid "" "Here's a simple example where the subprocess will calculate a factorial. " "The function doing the calculation is written strangely so that it takes " @@ -832,7 +941,7 @@ msgstr "" "function doing the calculation is written strangely so that it takes " "significantly longer when the input argument is a multiple of 4." -#: ../../whatsnew/2.6.rst:616 +#: ../../whatsnew/2.6.rst:614 msgid "" "A :class:`~queue.Queue` is used to communicate the result of the factorial. " "The :class:`~queue.Queue` object is stored in a global variable. The child " @@ -848,29 +957,29 @@ msgstr "" "communicate. (If the parent were to change the value of the global variable, " "the child's value would be unaffected, and vice versa.)" -#: ../../whatsnew/2.6.rst:624 +#: ../../whatsnew/2.6.rst:622 msgid "" "Two other classes, :class:`Pool` and :class:`Manager`, provide higher-level " "interfaces. :class:`Pool` will create a fixed number of worker processes, " "and requests can then be distributed to the workers by calling :meth:`apply` " -"or :meth:`apply_async` to add a single request, and :meth:`map` or :meth:" -"`map_async` to add a number of requests. The following code uses a :class:" -"`Pool` to spread requests across 5 worker processes and retrieve a list of " -"results::" +"or :meth:`apply_async` to add a single request, and :meth:`map` " +"or :meth:`map_async` to add a number of requests. The following code uses " +"a :class:`Pool` to spread requests across 5 worker processes and retrieve a " +"list of results::" msgstr "" "Two other classes, :class:`Pool` and :class:`Manager`, provide higher-level " "interfaces. :class:`Pool` will create a fixed number of worker processes, " "and requests can then be distributed to the workers by calling :meth:`apply` " -"or :meth:`apply_async` to add a single request, and :meth:`map` or :meth:" -"`map_async` to add a number of requests. The following code uses a :class:" -"`Pool` to spread requests across 5 worker processes and retrieve a list of " -"results::" +"or :meth:`apply_async` to add a single request, and :meth:`map` " +"or :meth:`map_async` to add a number of requests. The following code uses " +"a :class:`Pool` to spread requests across 5 worker processes and retrieve a " +"list of results::" -#: ../../whatsnew/2.6.rst:642 +#: ../../whatsnew/2.6.rst:640 msgid "This produces the following output::" msgstr "This produces the following output::" -#: ../../whatsnew/2.6.rst:651 +#: ../../whatsnew/2.6.rst:649 msgid "" "The other high-level interface, the :class:`Manager` class, creates a " "separate server process that can hold master copies of Python data " @@ -888,22 +997,23 @@ msgstr "" "using proxy objects. The following example creates a shared dictionary by " "calling the :meth:`dict` method; the worker processes then insert values " "into the dictionary. (Locking is not done for you automatically, which " -"doesn't matter in this example. :class:`Manager`'s methods also include :" -"meth:`Lock`, :meth:`RLock`, and :meth:`Semaphore` to create shared locks.)" +"doesn't matter in this example. :class:`Manager`'s methods also " +"include :meth:`Lock`, :meth:`RLock`, and :meth:`Semaphore` to create shared " +"locks.)" -#: ../../whatsnew/2.6.rst:695 +#: ../../whatsnew/2.6.rst:693 msgid "This will produce the output::" msgstr "This will produce the output::" -#: ../../whatsnew/2.6.rst:706 +#: ../../whatsnew/2.6.rst:704 msgid "The documentation for the :mod:`multiprocessing` module." msgstr "The documentation for the :mod:`multiprocessing` module." -#: ../../whatsnew/2.6.rst:709 +#: ../../whatsnew/2.6.rst:707 msgid ":pep:`371` - Addition of the multiprocessing package" msgstr ":pep:`371` - Addition of the multiprocessing package" -#: ../../whatsnew/2.6.rst:709 +#: ../../whatsnew/2.6.rst:707 msgid "" "PEP written by Jesse Noller and Richard Oudkerk; implemented by Richard " "Oudkerk and Jesse Noller." @@ -911,30 +1021,37 @@ msgstr "" "PEP written by Jesse Noller and Richard Oudkerk; implemented by Richard " "Oudkerk and Jesse Noller." -#: ../../whatsnew/2.6.rst:718 +#: ../../whatsnew/2.6.rst:716 msgid "PEP 3101: Advanced String Formatting" msgstr "PEP 3101: Advanced String Formatting" -#: ../../whatsnew/2.6.rst:720 +#: ../../whatsnew/2.6.rst:718 msgid "" "In Python 3.0, the ``%`` operator is supplemented by a more powerful string " "formatting method, :meth:`format`. Support for the :meth:`str.format` " "method has been backported to Python 2.6." msgstr "" +"In Python 3.0, the ``%`` operator is supplemented by a more powerful string " +"formatting method, :meth:`format`. Support for the :meth:`str.format` " +"method has been backported to Python 2.6." -#: ../../whatsnew/2.6.rst:724 +#: ../../whatsnew/2.6.rst:722 msgid "" "In 2.6, both 8-bit and Unicode strings have a ``.format()`` method that " "treats the string as a template and takes the arguments to be formatted. The " "formatting template uses curly brackets (``{``, ``}``) as special " "characters::" msgstr "" +"In 2.6, both 8-bit and Unicode strings have a ``.format()`` method that " +"treats the string as a template and takes the arguments to be formatted. The " +"formatting template uses curly brackets (``{``, ``}``) as special " +"characters::" -#: ../../whatsnew/2.6.rst:737 +#: ../../whatsnew/2.6.rst:735 msgid "Curly brackets can be escaped by doubling them::" msgstr "Curly brackets can be escaped by doubling them::" -#: ../../whatsnew/2.6.rst:742 +#: ../../whatsnew/2.6.rst:740 msgid "" "Field names can be integers indicating positional arguments, such as ``{0}" "``, ``{1}``, etc. or names of keyword arguments. You can also supply " @@ -944,7 +1061,7 @@ msgstr "" "``, ``{1}``, etc. or names of keyword arguments. You can also supply " "compound field names that read attributes or access dictionary keys::" -#: ../../whatsnew/2.6.rst:756 +#: ../../whatsnew/2.6.rst:754 msgid "" "Note that when using dictionary-style notation such as ``[.mp4]``, you don't " "need to put any quotation marks around the string; it will look up the value " @@ -958,7 +1075,7 @@ msgstr "" "to an integer. You can't write more complicated expressions inside a format " "string." -#: ../../whatsnew/2.6.rst:762 +#: ../../whatsnew/2.6.rst:760 msgid "" "So far we've shown how to specify which field to substitute into the " "resulting string. The precise formatting used is also controllable by " @@ -968,55 +1085,55 @@ msgstr "" "resulting string. The precise formatting used is also controllable by adding " "a colon followed by a format specifier. For example::" -#: ../../whatsnew/2.6.rst:776 +#: ../../whatsnew/2.6.rst:774 msgid "Format specifiers can reference other fields through nesting::" msgstr "Format specifiers can reference other fields through nesting::" -#: ../../whatsnew/2.6.rst:786 +#: ../../whatsnew/2.6.rst:784 msgid "The alignment of a field within the desired width can be specified:" msgstr "The alignment of a field within the desired width can be specified:" -#: ../../whatsnew/2.6.rst:789 +#: ../../whatsnew/2.6.rst:787 msgid "Character" msgstr "Caractere" -#: ../../whatsnew/2.6.rst:789 +#: ../../whatsnew/2.6.rst:787 msgid "Effect" msgstr "Effect" -#: ../../whatsnew/2.6.rst:791 +#: ../../whatsnew/2.6.rst:789 msgid "< (default)" msgstr "< (default)" -#: ../../whatsnew/2.6.rst:791 +#: ../../whatsnew/2.6.rst:789 msgid "Left-align" msgstr "Left-align" -#: ../../whatsnew/2.6.rst:792 +#: ../../whatsnew/2.6.rst:790 msgid ">" msgstr ">" -#: ../../whatsnew/2.6.rst:792 +#: ../../whatsnew/2.6.rst:790 msgid "Right-align" msgstr "Right-align" -#: ../../whatsnew/2.6.rst:793 +#: ../../whatsnew/2.6.rst:791 msgid "^" msgstr "^" -#: ../../whatsnew/2.6.rst:793 +#: ../../whatsnew/2.6.rst:791 msgid "Center" msgstr "Center" -#: ../../whatsnew/2.6.rst:794 +#: ../../whatsnew/2.6.rst:792 msgid "=" msgstr "=" -#: ../../whatsnew/2.6.rst:794 +#: ../../whatsnew/2.6.rst:792 msgid "(For numeric types only) Pad after the sign." msgstr "(For numeric types only) Pad after the sign." -#: ../../whatsnew/2.6.rst:797 +#: ../../whatsnew/2.6.rst:795 msgid "" "Format specifiers can also include a presentation type, which controls how " "the value is formatted. For example, floating-point numbers can be " @@ -1026,7 +1143,7 @@ msgstr "" "the value is formatted. For example, floating-point numbers can be formatted " "as a general number or in exponential notation::" -#: ../../whatsnew/2.6.rst:806 +#: ../../whatsnew/2.6.rst:804 msgid "" "A variety of presentation types are available. Consult the 2.6 " "documentation for a :ref:`complete list `; here's a sample:" @@ -1034,19 +1151,19 @@ msgstr "" "A variety of presentation types are available. Consult the 2.6 documentation " "for a :ref:`complete list `; here's a sample:" -#: ../../whatsnew/2.6.rst:810 +#: ../../whatsnew/2.6.rst:808 msgid "``b``" msgstr "``b``" -#: ../../whatsnew/2.6.rst:810 +#: ../../whatsnew/2.6.rst:808 msgid "Binary. Outputs the number in base 2." msgstr "Binary. Outputs the number in base 2." -#: ../../whatsnew/2.6.rst:811 +#: ../../whatsnew/2.6.rst:809 msgid "``c``" msgstr "``c``" -#: ../../whatsnew/2.6.rst:811 +#: ../../whatsnew/2.6.rst:809 msgid "" "Character. Converts the integer to the corresponding Unicode character " "before printing." @@ -1054,27 +1171,27 @@ msgstr "" "Character. Converts the integer to the corresponding Unicode character " "before printing." -#: ../../whatsnew/2.6.rst:813 +#: ../../whatsnew/2.6.rst:811 msgid "``d``" msgstr "``d``" -#: ../../whatsnew/2.6.rst:813 +#: ../../whatsnew/2.6.rst:811 msgid "Decimal Integer. Outputs the number in base 10." msgstr "Inteiro decimal. Exibe o número na base 10." -#: ../../whatsnew/2.6.rst:814 +#: ../../whatsnew/2.6.rst:812 msgid "``o``" msgstr "``o``" -#: ../../whatsnew/2.6.rst:814 +#: ../../whatsnew/2.6.rst:812 msgid "Octal format. Outputs the number in base 8." msgstr "Formato octal. Exibe o número na base 8." -#: ../../whatsnew/2.6.rst:815 +#: ../../whatsnew/2.6.rst:813 msgid "``x``" msgstr "``x``" -#: ../../whatsnew/2.6.rst:815 +#: ../../whatsnew/2.6.rst:813 msgid "" "Hex format. Outputs the number in base 16, using lower-case letters for the " "digits above 9." @@ -1082,11 +1199,11 @@ msgstr "" "Formato hexadecimal. Produz o número na base 16, usando letras minúsculas " "para os dígitos acima de 9." -#: ../../whatsnew/2.6.rst:817 +#: ../../whatsnew/2.6.rst:815 msgid "``e``" msgstr "``e``" -#: ../../whatsnew/2.6.rst:817 +#: ../../whatsnew/2.6.rst:815 msgid "" "Exponent notation. Prints the number in scientific notation using the letter " "'e' to indicate the exponent." @@ -1094,11 +1211,11 @@ msgstr "" "Exponent notation. Prints the number in scientific notation using the letter " "'e' to indicate the exponent." -#: ../../whatsnew/2.6.rst:819 +#: ../../whatsnew/2.6.rst:817 msgid "``g``" msgstr "``g``" -#: ../../whatsnew/2.6.rst:819 +#: ../../whatsnew/2.6.rst:817 msgid "" "General format. This prints the number as a fixed-point number, unless the " "number is too large, in which case it switches to 'e' exponent notation." @@ -1106,11 +1223,11 @@ msgstr "" "General format. This prints the number as a fixed-point number, unless the " "number is too large, in which case it switches to 'e' exponent notation." -#: ../../whatsnew/2.6.rst:822 +#: ../../whatsnew/2.6.rst:820 msgid "``n``" msgstr "``n``" -#: ../../whatsnew/2.6.rst:822 +#: ../../whatsnew/2.6.rst:820 msgid "" "Number. This is the same as 'g' (for floats) or 'd' (for integers), except " "that it uses the current locale setting to insert the appropriate number " @@ -1120,11 +1237,11 @@ msgstr "" "that it uses the current locale setting to insert the appropriate number " "separator characters." -#: ../../whatsnew/2.6.rst:825 +#: ../../whatsnew/2.6.rst:823 msgid "``%``" msgstr "``%``" -#: ../../whatsnew/2.6.rst:825 +#: ../../whatsnew/2.6.rst:823 msgid "" "Percentage. Multiplies the number by 100 and displays in fixed ('f') format, " "followed by a percent sign." @@ -1132,7 +1249,7 @@ msgstr "" "Percentage. Multiplies the number by 100 and displays in fixed ('f') format, " "followed by a percent sign." -#: ../../whatsnew/2.6.rst:829 +#: ../../whatsnew/2.6.rst:827 msgid "" "Classes and types can define a :meth:`__format__` method to control how " "they're formatted. It receives a single argument, the format specifier::" @@ -1140,7 +1257,7 @@ msgstr "" "Classes and types can define a :meth:`__format__` method to control how " "they're formatted. It receives a single argument, the format specifier::" -#: ../../whatsnew/2.6.rst:838 +#: ../../whatsnew/2.6.rst:836 msgid "" "There's also a :func:`format` builtin that will format a single value. It " "calls the type's :meth:`__format__` method with the provided specifier::" @@ -1148,27 +1265,27 @@ msgstr "" "There's also a :func:`format` builtin that will format a single value. It " "calls the type's :meth:`__format__` method with the provided specifier::" -#: ../../whatsnew/2.6.rst:849 +#: ../../whatsnew/2.6.rst:847 msgid ":ref:`formatstrings`" msgstr ":ref:`formatstrings`" -#: ../../whatsnew/2.6.rst:849 +#: ../../whatsnew/2.6.rst:847 msgid "The reference documentation for format fields." msgstr "The reference documentation for format fields." -#: ../../whatsnew/2.6.rst:851 +#: ../../whatsnew/2.6.rst:849 msgid ":pep:`3101` - Advanced String Formatting" msgstr ":pep:`3101` - Advanced String Formatting" -#: ../../whatsnew/2.6.rst:852 +#: ../../whatsnew/2.6.rst:850 msgid "PEP written by Talin. Implemented by Eric Smith." msgstr "PEP written by Talin. Implemented by Eric Smith." -#: ../../whatsnew/2.6.rst:859 +#: ../../whatsnew/2.6.rst:857 msgid "PEP 3105: ``print`` As a Function" msgstr "PEP 3105: ``print`` As a Function" -#: ../../whatsnew/2.6.rst:861 +#: ../../whatsnew/2.6.rst:859 msgid "" "The ``print`` statement becomes the :func:`print` function in Python 3.0. " "Making :func:`print` a function makes it possible to replace the function by " @@ -1178,7 +1295,7 @@ msgstr "" "Making :func:`print` a function makes it possible to replace the function by " "doing ``def print(...)`` or importing a new function from somewhere else." -#: ../../whatsnew/2.6.rst:865 +#: ../../whatsnew/2.6.rst:863 msgid "" "Python 2.6 has a ``__future__`` import that removes ``print`` as language " "syntax, letting you use the functional form instead. For example::" @@ -1186,23 +1303,23 @@ msgstr "" "Python 2.6 has a ``__future__`` import that removes ``print`` as language " "syntax, letting you use the functional form instead. For example::" -#: ../../whatsnew/2.6.rst:871 +#: ../../whatsnew/2.6.rst:869 msgid "The signature of the new function is::" msgstr "The signature of the new function is::" -#: ../../whatsnew/2.6.rst:876 +#: ../../whatsnew/2.6.rst:874 msgid "The parameters are:" msgstr "The parameters are:" -#: ../../whatsnew/2.6.rst:878 +#: ../../whatsnew/2.6.rst:876 msgid "*args*: positional arguments whose values will be printed out." msgstr "*args*: positional arguments whose values will be printed out." -#: ../../whatsnew/2.6.rst:879 +#: ../../whatsnew/2.6.rst:877 msgid "*sep*: the separator, which will be printed between arguments." msgstr "*sep*: the separator, which will be printed between arguments." -#: ../../whatsnew/2.6.rst:880 +#: ../../whatsnew/2.6.rst:878 msgid "" "*end*: the ending text, which will be printed after all of the arguments " "have been output." @@ -1210,23 +1327,23 @@ msgstr "" "*end*: the ending text, which will be printed after all of the arguments " "have been output." -#: ../../whatsnew/2.6.rst:882 +#: ../../whatsnew/2.6.rst:880 msgid "*file*: the file object to which the output will be sent." msgstr "*file*: the file object to which the output will be sent." -#: ../../whatsnew/2.6.rst:886 +#: ../../whatsnew/2.6.rst:884 msgid ":pep:`3105` - Make print a function" msgstr ":pep:`3105` - Make print a function" -#: ../../whatsnew/2.6.rst:887 +#: ../../whatsnew/2.6.rst:885 msgid "PEP written by Georg Brandl." msgstr "PEP written by Georg Brandl." -#: ../../whatsnew/2.6.rst:894 +#: ../../whatsnew/2.6.rst:892 msgid "PEP 3110: Exception-Handling Changes" msgstr "PEP 3110: Exception-Handling Changes" -#: ../../whatsnew/2.6.rst:896 +#: ../../whatsnew/2.6.rst:894 msgid "" "One error that Python programmers occasionally make is writing the following " "code::" @@ -1234,21 +1351,22 @@ msgstr "" "One error that Python programmers occasionally make is writing the following " "code::" -#: ../../whatsnew/2.6.rst:904 +#: ../../whatsnew/2.6.rst:902 msgid "" -"The author is probably trying to catch both :exc:`TypeError` and :exc:" -"`ValueError` exceptions, but this code actually does something different: it " -"will catch :exc:`TypeError` and bind the resulting exception object to the " -"local name ``\"ValueError\"``. The :exc:`ValueError` exception will not be " -"caught at all. The correct code specifies a tuple of exceptions::" +"The author is probably trying to catch both :exc:`TypeError` " +"and :exc:`ValueError` exceptions, but this code actually does something " +"different: it will catch :exc:`TypeError` and bind the resulting exception " +"object to the local name ``\"ValueError\"``. The :exc:`ValueError` " +"exception will not be caught at all. The correct code specifies a tuple of " +"exceptions::" msgstr "" -"The author is probably trying to catch both :exc:`TypeError` and :exc:" -"`ValueError` exceptions, but this code actually does something different: it " -"will catch :exc:`TypeError` and bind the resulting exception object to the " -"local name ``\"ValueError\"``. The :exc:`ValueError` exception will not be " -"caught at all. The correct code specifies a tuple of exceptions::" +"The author is probably trying to catch both :exc:`TypeError` " +"and :exc:`ValueError` exceptions, but this code actually does something " +"different: it will catch :exc:`TypeError` and bind the resulting exception " +"object to the local name ``\"ValueError\"``. The :exc:`ValueError` exception " +"will not be caught at all. The correct code specifies a tuple of exceptions::" -#: ../../whatsnew/2.6.rst:916 +#: ../../whatsnew/2.6.rst:914 msgid "" "This error happens because the use of the comma here is ambiguous: does it " "indicate two different nodes in the parse tree, or a single node that's a " @@ -1258,7 +1376,7 @@ msgstr "" "indicate two different nodes in the parse tree, or a single node that's a " "tuple?" -#: ../../whatsnew/2.6.rst:920 +#: ../../whatsnew/2.6.rst:918 msgid "" "Python 3.0 makes this unambiguous by replacing the comma with the word " "\"as\". To catch an exception and store the exception object in the " @@ -1268,7 +1386,7 @@ msgstr "" "\"as\". To catch an exception and store the exception object in the variable " "``exc``, you must write::" -#: ../../whatsnew/2.6.rst:929 +#: ../../whatsnew/2.6.rst:927 msgid "" "Python 3.0 will only support the use of \"as\", and therefore interprets the " "first example as catching two different exceptions. Python 2.6 supports " @@ -1282,63 +1400,63 @@ msgstr "" "suggest using \"as\" when writing new Python code that will only be executed " "with 2.6." -#: ../../whatsnew/2.6.rst:937 +#: ../../whatsnew/2.6.rst:935 msgid ":pep:`3110` - Catching Exceptions in Python 3000" msgstr ":pep:`3110` - Catching Exceptions in Python 3000" -#: ../../whatsnew/2.6.rst:938 +#: ../../whatsnew/2.6.rst:936 msgid "PEP written and implemented by Collin Winter." msgstr "PEP written and implemented by Collin Winter." -#: ../../whatsnew/2.6.rst:945 +#: ../../whatsnew/2.6.rst:943 msgid "PEP 3112: Byte Literals" msgstr "PEP 3112: Byte Literals" -#: ../../whatsnew/2.6.rst:947 +#: ../../whatsnew/2.6.rst:945 msgid "" "Python 3.0 adopts Unicode as the language's fundamental string type and " -"denotes 8-bit literals differently, either as ``b'string'`` or using a :" -"class:`bytes` constructor. For future compatibility, Python 2.6 adds :class:" -"`bytes` as a synonym for the :class:`str` type, and it also supports the " -"``b''`` notation." +"denotes 8-bit literals differently, either as ``b'string'`` or using " +"a :class:`bytes` constructor. For future compatibility, Python 2.6 " +"adds :class:`bytes` as a synonym for the :class:`str` type, and it also " +"supports the ``b''`` notation." msgstr "" "Python 3.0 adopts Unicode as the language's fundamental string type and " -"denotes 8-bit literals differently, either as ``b'string'`` or using a :" -"class:`bytes` constructor. For future compatibility, Python 2.6 adds :class:" -"`bytes` as a synonym for the :class:`str` type, and it also supports the " -"``b''`` notation." +"denotes 8-bit literals differently, either as ``b'string'`` or using " +"a :class:`bytes` constructor. For future compatibility, Python 2.6 " +"adds :class:`bytes` as a synonym for the :class:`str` type, and it also " +"supports the ``b''`` notation." -#: ../../whatsnew/2.6.rst:954 +#: ../../whatsnew/2.6.rst:952 msgid "" "The 2.6 :class:`str` differs from 3.0's :class:`bytes` type in various ways; " "most notably, the constructor is completely different. In 3.0, ``bytes([65, " "66, 67])`` is 3 elements long, containing the bytes representing ``ABC``; in " -"2.6, ``bytes([65, 66, 67])`` returns the 12-byte string representing the :" -"func:`str` of the list." +"2.6, ``bytes([65, 66, 67])`` returns the 12-byte string representing " +"the :func:`str` of the list." msgstr "" "The 2.6 :class:`str` differs from 3.0's :class:`bytes` type in various ways; " "most notably, the constructor is completely different. In 3.0, ``bytes([65, " "66, 67])`` is 3 elements long, containing the bytes representing ``ABC``; in " -"2.6, ``bytes([65, 66, 67])`` returns the 12-byte string representing the :" -"func:`str` of the list." +"2.6, ``bytes([65, 66, 67])`` returns the 12-byte string representing " +"the :func:`str` of the list." -#: ../../whatsnew/2.6.rst:960 +#: ../../whatsnew/2.6.rst:958 msgid "" "The primary use of :class:`bytes` in 2.6 will be to write tests of object " "type such as ``isinstance(x, bytes)``. This will help the 2to3 converter, " "which can't tell whether 2.x code intends strings to contain either " -"characters or 8-bit bytes; you can now use either :class:`bytes` or :class:" -"`str` to represent your intention exactly, and the resulting code will also " -"be correct in Python 3.0." +"characters or 8-bit bytes; you can now use either :class:`bytes` " +"or :class:`str` to represent your intention exactly, and the resulting code " +"will also be correct in Python 3.0." msgstr "" "The primary use of :class:`bytes` in 2.6 will be to write tests of object " "type such as ``isinstance(x, bytes)``. This will help the 2to3 converter, " "which can't tell whether 2.x code intends strings to contain either " -"characters or 8-bit bytes; you can now use either :class:`bytes` or :class:" -"`str` to represent your intention exactly, and the resulting code will also " -"be correct in Python 3.0." +"characters or 8-bit bytes; you can now use either :class:`bytes` " +"or :class:`str` to represent your intention exactly, and the resulting code " +"will also be correct in Python 3.0." -#: ../../whatsnew/2.6.rst:967 +#: ../../whatsnew/2.6.rst:965 msgid "" "There's also a ``__future__`` import that causes all string literals to " "become Unicode strings. This means that ``\\u`` escape sequences can be " @@ -1348,23 +1466,21 @@ msgstr "" "become Unicode strings. This means that ``\\u`` escape sequences can be used " "to include Unicode characters::" -#: ../../whatsnew/2.6.rst:979 +#: ../../whatsnew/2.6.rst:977 msgid "" "At the C level, Python 3.0 will rename the existing 8-bit string type, " -"called :c:type:`PyStringObject` in Python 2.x, to :c:type:`PyBytesObject`. " -"Python 2.6 uses ``#define`` to support using the names :c:func:" -"`PyBytesObject`, :c:func:`PyBytes_Check`, :c:func:" -"`PyBytes_FromStringAndSize`, and all the other functions and macros used " -"with strings." +"called :c:type:`!PyStringObject` in Python 2.x, to :c:type:`PyBytesObject`. " +"Python 2.6 uses ``#define`` to support using the " +"names :c:func:`PyBytesObject`, :c:func:`PyBytes_Check`, :c:func:`PyBytes_FromStringAndSize`, " +"and all the other functions and macros used with strings." msgstr "" "At the C level, Python 3.0 will rename the existing 8-bit string type, " -"called :c:type:`PyStringObject` in Python 2.x, to :c:type:`PyBytesObject`. " -"Python 2.6 uses ``#define`` to support using the names :c:func:" -"`PyBytesObject`, :c:func:`PyBytes_Check`, :c:func:" -"`PyBytes_FromStringAndSize`, and all the other functions and macros used " -"with strings." +"called :c:type:`!PyStringObject` in Python 2.x, to :c:type:`PyBytesObject`. " +"Python 2.6 uses ``#define`` to support using the " +"names :c:func:`PyBytesObject`, :c:func:`PyBytes_Check`, :c:func:`PyBytes_FromStringAndSize`, " +"and all the other functions and macros used with strings." -#: ../../whatsnew/2.6.rst:986 +#: ../../whatsnew/2.6.rst:984 msgid "" "Instances of the :class:`bytes` type are immutable just as strings are. A " "new :class:`bytearray` type stores a mutable sequence of bytes::" @@ -1372,53 +1488,57 @@ msgstr "" "Instances of the :class:`bytes` type are immutable just as strings are. A " "new :class:`bytearray` type stores a mutable sequence of bytes::" -#: ../../whatsnew/2.6.rst:1001 +#: ../../whatsnew/2.6.rst:999 msgid "" -"Byte arrays support most of the methods of string types, such as :meth:" -"`startswith`/:meth:`endswith`, :meth:`find`/:meth:`rfind`, and some of the " -"methods of lists, such as :meth:`append`, :meth:`pop`, and :meth:`reverse`." +"Byte arrays support most of the methods of string types, such " +"as :meth:`startswith`/:meth:`endswith`, :meth:`find`/:meth:`rfind`, and some " +"of the methods of lists, such as :meth:`append`, :meth:`pop`, " +"and :meth:`reverse`." msgstr "" -"Byte arrays support most of the methods of string types, such as :meth:" -"`startswith`/:meth:`endswith`, :meth:`find`/:meth:`rfind`, and some of the " -"methods of lists, such as :meth:`append`, :meth:`pop`, and :meth:`reverse`." +"Byte arrays support most of the methods of string types, such " +"as :meth:`startswith`/:meth:`endswith`, :meth:`find`/:meth:`rfind`, and some " +"of the methods of lists, such as :meth:`append`, :meth:`pop`, " +"and :meth:`reverse`." -#: ../../whatsnew/2.6.rst:1014 +#: ../../whatsnew/2.6.rst:1012 msgid "" -"There's also a corresponding C API, with :c:func:`PyByteArray_FromObject`, :" -"c:func:`PyByteArray_FromStringAndSize`, and various other functions." +"There's also a corresponding C API, " +"with :c:func:`PyByteArray_FromObject`, :c:func:`PyByteArray_FromStringAndSize`, " +"and various other functions." msgstr "" -"There's also a corresponding C API, with :c:func:`PyByteArray_FromObject`, :" -"c:func:`PyByteArray_FromStringAndSize`, and various other functions." +"There's also a corresponding C API, " +"with :c:func:`PyByteArray_FromObject`, :c:func:`PyByteArray_FromStringAndSize`, " +"and various other functions." -#: ../../whatsnew/2.6.rst:1021 +#: ../../whatsnew/2.6.rst:1019 msgid ":pep:`3112` - Bytes literals in Python 3000" msgstr ":pep:`3112` - Bytes literals in Python 3000" -#: ../../whatsnew/2.6.rst:1022 +#: ../../whatsnew/2.6.rst:1020 msgid "PEP written by Jason Orendorff; backported to 2.6 by Christian Heimes." msgstr "PEP written by Jason Orendorff; backported to 2.6 by Christian Heimes." -#: ../../whatsnew/2.6.rst:1029 +#: ../../whatsnew/2.6.rst:1027 msgid "PEP 3116: New I/O Library" msgstr "PEP 3116: New I/O Library" -#: ../../whatsnew/2.6.rst:1031 +#: ../../whatsnew/2.6.rst:1029 msgid "" "Python's built-in file objects support a number of methods, but file-like " "objects don't necessarily support all of them. Objects that imitate files " -"usually support :meth:`read` and :meth:`write`, but they may not support :" -"meth:`readline`, for example. Python 3.0 introduces a layered I/O library " -"in the :mod:`io` module that separates buffering and text-handling features " -"from the fundamental read and write operations." +"usually support :meth:`read` and :meth:`write`, but they may not " +"support :meth:`readline`, for example. Python 3.0 introduces a layered I/O " +"library in the :mod:`io` module that separates buffering and text-handling " +"features from the fundamental read and write operations." msgstr "" "Python's built-in file objects support a number of methods, but file-like " "objects don't necessarily support all of them. Objects that imitate files " -"usually support :meth:`read` and :meth:`write`, but they may not support :" -"meth:`readline`, for example. Python 3.0 introduces a layered I/O library in " -"the :mod:`io` module that separates buffering and text-handling features " -"from the fundamental read and write operations." +"usually support :meth:`read` and :meth:`write`, but they may not " +"support :meth:`readline`, for example. Python 3.0 introduces a layered I/O " +"library in the :mod:`io` module that separates buffering and text-handling " +"features from the fundamental read and write operations." -#: ../../whatsnew/2.6.rst:1039 +#: ../../whatsnew/2.6.rst:1037 msgid "" "There are three levels of abstract base classes provided by the :mod:`io` " "module:" @@ -1426,23 +1546,23 @@ msgstr "" "There are three levels of abstract base classes provided by the :mod:`io` " "module:" -#: ../../whatsnew/2.6.rst:1042 +#: ../../whatsnew/2.6.rst:1040 msgid "" -":class:`RawIOBase` defines raw I/O operations: :meth:`read`, :meth:" -"`readinto`, :meth:`write`, :meth:`seek`, :meth:`tell`, :meth:`truncate`, " +":class:`RawIOBase` defines raw I/O " +"operations: :meth:`read`, :meth:`readinto`, :meth:`write`, :meth:`seek`, :meth:`tell`, :meth:`truncate`, " "and :meth:`close`. Most of the methods of this class will often map to a " -"single system call. There are also :meth:`readable`, :meth:`writable`, and :" -"meth:`seekable` methods for determining what operations a given object will " -"allow." +"single system call. There are also :meth:`readable`, :meth:`writable`, " +"and :meth:`seekable` methods for determining what operations a given object " +"will allow." msgstr "" -":class:`RawIOBase` defines raw I/O operations: :meth:`read`, :meth:" -"`readinto`, :meth:`write`, :meth:`seek`, :meth:`tell`, :meth:`truncate`, " +":class:`RawIOBase` defines raw I/O " +"operations: :meth:`read`, :meth:`readinto`, :meth:`write`, :meth:`seek`, :meth:`tell`, :meth:`truncate`, " "and :meth:`close`. Most of the methods of this class will often map to a " -"single system call. There are also :meth:`readable`, :meth:`writable`, and :" -"meth:`seekable` methods for determining what operations a given object will " -"allow." +"single system call. There are also :meth:`readable`, :meth:`writable`, " +"and :meth:`seekable` methods for determining what operations a given object " +"will allow." -#: ../../whatsnew/2.6.rst:1050 +#: ../../whatsnew/2.6.rst:1048 msgid "" "Python 3.0 has concrete implementations of this class for files and sockets, " "but Python 2.6 hasn't restructured its file and socket objects in this way." @@ -1450,79 +1570,79 @@ msgstr "" "Python 3.0 has concrete implementations of this class for files and sockets, " "but Python 2.6 hasn't restructured its file and socket objects in this way." -#: ../../whatsnew/2.6.rst:1056 +#: ../../whatsnew/2.6.rst:1052 msgid "" ":class:`BufferedIOBase` is an abstract base class that buffers data in " "memory to reduce the number of system calls used, making I/O processing more " -"efficient. It supports all of the methods of :class:`RawIOBase`, and adds a :" -"attr:`raw` attribute holding the underlying raw object." +"efficient. It supports all of the methods of :class:`RawIOBase`, and adds " +"a :attr:`raw` attribute holding the underlying raw object." msgstr "" ":class:`BufferedIOBase` is an abstract base class that buffers data in " "memory to reduce the number of system calls used, making I/O processing more " -"efficient. It supports all of the methods of :class:`RawIOBase`, and adds a :" -"attr:`raw` attribute holding the underlying raw object." - -#: ../../whatsnew/2.6.rst:1062 -msgid "" -"There are five concrete classes implementing this ABC. :class:" -"`BufferedWriter` and :class:`BufferedReader` are for objects that support " -"write-only or read-only usage that have a :meth:`seek` method for random " -"access. :class:`BufferedRandom` objects support read and write access upon " -"the same underlying stream, and :class:`BufferedRWPair` is for objects such " -"as TTYs that have both read and write operations acting upon unconnected " -"streams of data. The :class:`BytesIO` class supports reading, writing, and " -"seeking over an in-memory buffer." -msgstr "" -"There are five concrete classes implementing this ABC. :class:" -"`BufferedWriter` and :class:`BufferedReader` are for objects that support " -"write-only or read-only usage that have a :meth:`seek` method for random " -"access. :class:`BufferedRandom` objects support read and write access upon " -"the same underlying stream, and :class:`BufferedRWPair` is for objects such " -"as TTYs that have both read and write operations acting upon unconnected " -"streams of data. The :class:`BytesIO` class supports reading, writing, and " -"seeking over an in-memory buffer." - -#: ../../whatsnew/2.6.rst:1075 +"efficient. It supports all of the methods of :class:`RawIOBase`, and adds " +"a :attr:`raw` attribute holding the underlying raw object." + +#: ../../whatsnew/2.6.rst:1058 +msgid "" +"There are five concrete classes implementing this " +"ABC. :class:`BufferedWriter` and :class:`BufferedReader` are for objects " +"that support write-only or read-only usage that have a :meth:`seek` method " +"for random access. :class:`BufferedRandom` objects support read and write " +"access upon the same underlying stream, and :class:`BufferedRWPair` is for " +"objects such as TTYs that have both read and write operations acting upon " +"unconnected streams of data. The :class:`BytesIO` class supports reading, " +"writing, and seeking over an in-memory buffer." +msgstr "" +"There are five concrete classes implementing this " +"ABC. :class:`BufferedWriter` and :class:`BufferedReader` are for objects " +"that support write-only or read-only usage that have a :meth:`seek` method " +"for random access. :class:`BufferedRandom` objects support read and write " +"access upon the same underlying stream, and :class:`BufferedRWPair` is for " +"objects such as TTYs that have both read and write operations acting upon " +"unconnected streams of data. The :class:`BytesIO` class supports reading, " +"writing, and seeking over an in-memory buffer." + +#: ../../whatsnew/2.6.rst:1071 msgid "" ":class:`TextIOBase`: Provides functions for reading and writing strings " -"(remember, strings will be Unicode in Python 3.0), and supporting :term:" -"`universal newlines`. :class:`TextIOBase` defines the :meth:`readline` " -"method and supports iteration upon objects." +"(remember, strings will be Unicode in Python 3.0), and " +"supporting :term:`universal newlines`. :class:`TextIOBase` defines " +"the :meth:`readline` method and supports iteration upon objects." msgstr "" ":class:`TextIOBase`: Provides functions for reading and writing strings " -"(remember, strings will be Unicode in Python 3.0), and supporting :term:" -"`universal newlines`. :class:`TextIOBase` defines the :meth:`readline` " -"method and supports iteration upon objects." +"(remember, strings will be Unicode in Python 3.0), and " +"supporting :term:`universal newlines`. :class:`TextIOBase` defines " +"the :meth:`readline` method and supports iteration upon objects." -#: ../../whatsnew/2.6.rst:1081 +#: ../../whatsnew/2.6.rst:1077 msgid "" "There are two concrete implementations. :class:`TextIOWrapper` wraps a " "buffered I/O object, supporting all of the methods for text I/O and adding " -"a :attr:`buffer` attribute for access to the underlying object. :class:" -"`StringIO` simply buffers everything in memory without ever writing anything " -"to disk." +"a :attr:`buffer` attribute for access to the underlying " +"object. :class:`StringIO` simply buffers everything in memory without ever " +"writing anything to disk." msgstr "" "There are two concrete implementations. :class:`TextIOWrapper` wraps a " "buffered I/O object, supporting all of the methods for text I/O and adding " -"a :attr:`buffer` attribute for access to the underlying object. :class:" -"`StringIO` simply buffers everything in memory without ever writing anything " -"to disk." +"a :attr:`buffer` attribute for access to the underlying " +"object. :class:`StringIO` simply buffers everything in memory without ever " +"writing anything to disk." -#: ../../whatsnew/2.6.rst:1087 +#: ../../whatsnew/2.6.rst:1083 msgid "" "(In Python 2.6, :class:`io.StringIO` is implemented in pure Python, so it's " -"pretty slow. You should therefore stick with the existing :mod:`StringIO` " -"module or :mod:`cStringIO` for now. At some point Python 3.0's :mod:`io` " +"pretty slow. You should therefore stick with the existing :mod:`!StringIO` " +"module or :mod:`!cStringIO` for now. At some point Python 3.0's :mod:`io` " "module will be rewritten into C for speed, and perhaps the C implementation " "will be backported to the 2.x releases.)" msgstr "" "(In Python 2.6, :class:`io.StringIO` is implemented in pure Python, so it's " -"pretty slow. You should therefore stick with the existing :mod:`StringIO` " -"module or :mod:`cStringIO` for now. At some point Python 3.0's :mod:`io` " +"pretty slow. You should therefore stick with the existing :mod:`!StringIO` " +"module or :mod:`!cStringIO` for now. At some point Python 3.0's :mod:`io` " "module will be rewritten into C for speed, and perhaps the C implementation " -"will be backported to the 2.x releases.)" +"will be backported to the 2.x releases.)" -#: ../../whatsnew/2.6.rst:1093 +#: ../../whatsnew/2.6.rst:1089 msgid "" "In Python 2.6, the underlying implementations haven't been restructured to " "build on top of the :mod:`io` module's classes. The module is being " @@ -1536,11 +1656,11 @@ msgstr "" "save developers the effort of writing their own implementations of buffering " "and text I/O." -#: ../../whatsnew/2.6.rst:1103 +#: ../../whatsnew/2.6.rst:1099 msgid ":pep:`3116` - New I/O" msgstr ":pep:`3116` - New I/O" -#: ../../whatsnew/2.6.rst:1102 +#: ../../whatsnew/2.6.rst:1098 msgid "" "PEP written by Daniel Stutzbach, Mike Verdone, and Guido van Rossum. Code by " "Guido van Rossum, Georg Brandl, Walter Doerwald, Jeremy Hylton, Martin von " @@ -1550,11 +1670,11 @@ msgstr "" "Guido van Rossum, Georg Brandl, Walter Doerwald, Jeremy Hylton, Martin von " "Löwis, Tony Lownds, and others." -#: ../../whatsnew/2.6.rst:1111 +#: ../../whatsnew/2.6.rst:1107 msgid "PEP 3118: Revised Buffer Protocol" msgstr "PEP 3118: Revised Buffer Protocol" -#: ../../whatsnew/2.6.rst:1113 +#: ../../whatsnew/2.6.rst:1109 msgid "" "The buffer protocol is a C-level API that lets Python types exchange " "pointers into their internal representations. A memory-mapped file can be " @@ -1568,7 +1688,7 @@ msgstr "" "such as :mod:`re` treat memory-mapped files as a string of characters to be " "searched." -#: ../../whatsnew/2.6.rst:1119 +#: ../../whatsnew/2.6.rst:1115 msgid "" "The primary users of the buffer protocol are numeric-processing packages " "such as NumPy, which expose the internal representation of arrays so that " @@ -1584,7 +1704,7 @@ msgstr "" "NumPy development, adding a number of new features such as indicating the " "shape of an array or locking a memory region." -#: ../../whatsnew/2.6.rst:1126 +#: ../../whatsnew/2.6.rst:1122 msgid "" "The most important new C API function is ``PyObject_GetBuffer(PyObject *obj, " "Py_buffer *view, int flags)``, which takes an object and a set of flags, and " @@ -1602,7 +1722,7 @@ msgstr "" "corresponding ``PyBuffer_Release(Py_buffer *view)`` to indicate that the " "external caller is done." -#: ../../whatsnew/2.6.rst:1138 +#: ../../whatsnew/2.6.rst:1132 msgid "" "The *flags* argument to :c:func:`PyObject_GetBuffer` specifies constraints " "upon the memory returned. Some examples are:" @@ -1610,27 +1730,27 @@ msgstr "" "The *flags* argument to :c:func:`PyObject_GetBuffer` specifies constraints " "upon the memory returned. Some examples are:" -#: ../../whatsnew/2.6.rst:1141 -msgid ":const:`PyBUF_WRITABLE` indicates that the memory must be writable." -msgstr ":const:`PyBUF_WRITABLE` indicates that the memory must be writable." +#: ../../whatsnew/2.6.rst:1135 +msgid ":c:macro:`PyBUF_WRITABLE` indicates that the memory must be writable." +msgstr ":c:macro:`PyBUF_WRITABLE` indicates that the memory must be writable." -#: ../../whatsnew/2.6.rst:1143 +#: ../../whatsnew/2.6.rst:1137 msgid "" -":const:`PyBUF_LOCK` requests a read-only or exclusive lock on the memory." +":c:macro:`PyBUF_LOCK` requests a read-only or exclusive lock on the memory." msgstr "" -":const:`PyBUF_LOCK` requests a read-only or exclusive lock on the memory." +":c:macro:`PyBUF_LOCK` requests a read-only or exclusive lock on the memory." -#: ../../whatsnew/2.6.rst:1145 +#: ../../whatsnew/2.6.rst:1139 msgid "" -":const:`PyBUF_C_CONTIGUOUS` and :const:`PyBUF_F_CONTIGUOUS` requests a C-" +":c:macro:`PyBUF_C_CONTIGUOUS` and :c:macro:`PyBUF_F_CONTIGUOUS` requests a C-" "contiguous (last dimension varies the fastest) or Fortran-contiguous (first " "dimension varies the fastest) array layout." msgstr "" -":const:`PyBUF_C_CONTIGUOUS` and :const:`PyBUF_F_CONTIGUOUS` requests a C-" +":c:macro:`PyBUF_C_CONTIGUOUS` and :c:macro:`PyBUF_F_CONTIGUOUS` requests a C-" "contiguous (last dimension varies the fastest) or Fortran-contiguous (first " "dimension varies the fastest) array layout." -#: ../../whatsnew/2.6.rst:1149 +#: ../../whatsnew/2.6.rst:1143 msgid "" "Two new argument codes for :c:func:`PyArg_ParseTuple`, ``s*`` and ``z*``, " "return locked buffer objects for a parameter." @@ -1638,11 +1758,11 @@ msgstr "" "Two new argument codes for :c:func:`PyArg_ParseTuple`, ``s*`` and ``z*``, " "return locked buffer objects for a parameter." -#: ../../whatsnew/2.6.rst:1155 +#: ../../whatsnew/2.6.rst:1149 msgid ":pep:`3118` - Revising the buffer protocol" msgstr ":pep:`3118` - Revising the buffer protocol" -#: ../../whatsnew/2.6.rst:1155 +#: ../../whatsnew/2.6.rst:1149 msgid "" "PEP written by Travis Oliphant and Carl Banks; implemented by Travis " "Oliphant." @@ -1650,11 +1770,11 @@ msgstr "" "PEP written by Travis Oliphant and Carl Banks; implemented by Travis " "Oliphant." -#: ../../whatsnew/2.6.rst:1164 +#: ../../whatsnew/2.6.rst:1158 msgid "PEP 3119: Abstract Base Classes" msgstr "PEP 3119: Abstract Base Classes" -#: ../../whatsnew/2.6.rst:1166 +#: ../../whatsnew/2.6.rst:1160 msgid "" "Some object-oriented languages such as Java support interfaces, declaring " "that a class has a given set of methods or supports a given access " @@ -1668,49 +1788,49 @@ msgstr "" "Some object-oriented languages such as Java support interfaces, declaring " "that a class has a given set of methods or supports a given access protocol. " "Abstract Base Classes (or ABCs) are an equivalent feature for Python. The " -"ABC support consists of an :mod:`abc` module containing a metaclass called :" -"class:`ABCMeta`, special handling of this metaclass by the :func:" -"`isinstance` and :func:`issubclass` builtins, and a collection of basic ABCs " -"that the Python developers think will be widely useful. Future versions of " -"Python will probably add more ABCs." +"ABC support consists of an :mod:`abc` module containing a metaclass " +"called :class:`ABCMeta`, special handling of this metaclass by " +"the :func:`isinstance` and :func:`issubclass` builtins, and a collection of " +"basic ABCs that the Python developers think will be widely useful. Future " +"versions of Python will probably add more ABCs." -#: ../../whatsnew/2.6.rst:1176 +#: ../../whatsnew/2.6.rst:1170 msgid "" "Let's say you have a particular class and wish to know whether it supports " "dictionary-style access. The phrase \"dictionary-style\" is vague, however. " "It probably means that accessing items with ``obj[1]`` works. Does it imply " "that setting items with ``obj[2] = value`` works? Or that the object will " "have :meth:`keys`, :meth:`values`, and :meth:`items` methods? What about " -"the iterative variants such as :meth:`iterkeys`? :meth:`copy` and :meth:" -"`update`? Iterating over the object with :func:`iter`?" +"the iterative variants such as :meth:`iterkeys`? :meth:`copy` " +"and :meth:`update`? Iterating over the object with :func:`iter`?" msgstr "" "Let's say you have a particular class and wish to know whether it supports " "dictionary-style access. The phrase \"dictionary-style\" is vague, however. " "It probably means that accessing items with ``obj[1]`` works. Does it imply " "that setting items with ``obj[2] = value`` works? Or that the object will " "have :meth:`keys`, :meth:`values`, and :meth:`items` methods? What about the " -"iterative variants such as :meth:`iterkeys`? :meth:`copy` and :meth:" -"`update`? Iterating over the object with :func:`iter`?" +"iterative variants such as :meth:`iterkeys`? :meth:`copy` " +"and :meth:`update`? Iterating over the object with :func:`iter`?" -#: ../../whatsnew/2.6.rst:1184 +#: ../../whatsnew/2.6.rst:1178 msgid "" "The Python 2.6 :mod:`collections` module includes a number of different ABCs " "that represent these distinctions. :class:`Iterable` indicates that a class " -"defines :meth:`__iter__`, and :class:`Container` means the class defines a :" -"meth:`__contains__` method and therefore supports ``x in y`` expressions. " -"The basic dictionary interface of getting items, setting items, and :meth:" -"`keys`, :meth:`values`, and :meth:`items`, is defined by the :class:" -"`MutableMapping` ABC." +"defines :meth:`__iter__`, and :class:`Container` means the class defines " +"a :meth:`__contains__` method and therefore supports ``x in y`` " +"expressions. The basic dictionary interface of getting items, setting " +"items, and :meth:`keys`, :meth:`values`, and :meth:`items`, is defined by " +"the :class:`MutableMapping` ABC." msgstr "" "The Python 2.6 :mod:`collections` module includes a number of different ABCs " "that represent these distinctions. :class:`Iterable` indicates that a class " -"defines :meth:`__iter__`, and :class:`Container` means the class defines a :" -"meth:`__contains__` method and therefore supports ``x in y`` expressions. " -"The basic dictionary interface of getting items, setting items, and :meth:" -"`keys`, :meth:`values`, and :meth:`items`, is defined by the :class:" -"`MutableMapping` ABC." +"defines :meth:`__iter__`, and :class:`Container` means the class defines " +"a :meth:`__contains__` method and therefore supports ``x in y`` expressions. " +"The basic dictionary interface of getting items, setting items, " +"and :meth:`keys`, :meth:`values`, and :meth:`items`, is defined by " +"the :class:`MutableMapping` ABC." -#: ../../whatsnew/2.6.rst:1193 +#: ../../whatsnew/2.6.rst:1187 msgid "" "You can derive your own classes from a particular ABC to indicate they " "support that ABC's interface::" @@ -1718,7 +1838,7 @@ msgstr "" "You can derive your own classes from a particular ABC to indicate they " "support that ABC's interface::" -#: ../../whatsnew/2.6.rst:1202 +#: ../../whatsnew/2.6.rst:1196 msgid "" "Alternatively, you could write the class without deriving from the desired " "ABC and instead register the class by calling the ABC's :meth:`register` " @@ -1728,21 +1848,21 @@ msgstr "" "ABC and instead register the class by calling the ABC's :meth:`register` " "method::" -#: ../../whatsnew/2.6.rst:1213 +#: ../../whatsnew/2.6.rst:1207 msgid "" -"For classes that you write, deriving from the ABC is probably clearer. The :" -"meth:`register` method is useful when you've written a new ABC that can " -"describe an existing type or class, or if you want to declare that some " -"third-party class implements an ABC. For example, if you defined a :class:" -"`PrintableType` ABC, it's legal to do::" +"For classes that you write, deriving from the ABC is probably clearer. " +"The :meth:`register` method is useful when you've written a new ABC that " +"can describe an existing type or class, or if you want to declare that some " +"third-party class implements an ABC. For example, if you defined " +"a :class:`PrintableType` ABC, it's legal to do::" msgstr "" -"For classes that you write, deriving from the ABC is probably clearer. The :" -"meth:`register` method is useful when you've written a new ABC that can " +"For classes that you write, deriving from the ABC is probably clearer. " +"The :meth:`register` method is useful when you've written a new ABC that can " "describe an existing type or class, or if you want to declare that some " -"third-party class implements an ABC. For example, if you defined a :class:" -"`PrintableType` ABC, it's legal to do::" +"third-party class implements an ABC. For example, if you defined " +"a :class:`PrintableType` ABC, it's legal to do::" -#: ../../whatsnew/2.6.rst:1225 +#: ../../whatsnew/2.6.rst:1219 msgid "" "Classes should obey the semantics specified by an ABC, but Python can't " "check this; it's up to the class author to understand the ABC's requirements " @@ -1752,7 +1872,7 @@ msgstr "" "check this; it's up to the class author to understand the ABC's requirements " "and to implement the code accordingly." -#: ../../whatsnew/2.6.rst:1229 +#: ../../whatsnew/2.6.rst:1223 msgid "" "To check whether an object supports a particular interface, you can now " "write::" @@ -1760,7 +1880,7 @@ msgstr "" "To check whether an object supports a particular interface, you can now " "write::" -#: ../../whatsnew/2.6.rst:1236 +#: ../../whatsnew/2.6.rst:1230 msgid "" "Don't feel that you must now begin writing lots of checks as in the above " "example. Python has a strong tradition of duck-typing, where explicit type-" @@ -1776,7 +1896,7 @@ msgstr "" "judicious in checking for ABCs and only do it where it's absolutely " "necessary." -#: ../../whatsnew/2.6.rst:1243 +#: ../../whatsnew/2.6.rst:1237 msgid "" "You can write your own ABCs by using ``abc.ABCMeta`` as the metaclass in a " "class definition::" @@ -1784,37 +1904,39 @@ msgstr "" "You can write your own ABCs by using ``abc.ABCMeta`` as the metaclass in a " "class definition::" -#: ../../whatsnew/2.6.rst:1264 +#: ../../whatsnew/2.6.rst:1258 msgid "" "In the :class:`Drawable` ABC above, the :meth:`draw_doubled` method renders " "the object at twice its size and can be implemented in terms of other " "methods described in :class:`Drawable`. Classes implementing this ABC " -"therefore don't need to provide their own implementation of :meth:" -"`draw_doubled`, though they can do so. An implementation of :meth:`draw` is " -"necessary, though; the ABC can't provide a useful generic implementation." +"therefore don't need to provide their own implementation " +"of :meth:`draw_doubled`, though they can do so. An implementation " +"of :meth:`draw` is necessary, though; the ABC can't provide a useful generic " +"implementation." msgstr "" "In the :class:`Drawable` ABC above, the :meth:`draw_doubled` method renders " "the object at twice its size and can be implemented in terms of other " "methods described in :class:`Drawable`. Classes implementing this ABC " -"therefore don't need to provide their own implementation of :meth:" -"`draw_doubled`, though they can do so. An implementation of :meth:`draw` is " -"necessary, though; the ABC can't provide a useful generic implementation." +"therefore don't need to provide their own implementation " +"of :meth:`draw_doubled`, though they can do so. An implementation " +"of :meth:`draw` is necessary, though; the ABC can't provide a useful generic " +"implementation." -#: ../../whatsnew/2.6.rst:1272 +#: ../../whatsnew/2.6.rst:1266 msgid "" -"You can apply the ``@abstractmethod`` decorator to methods such as :meth:" -"`draw` that must be implemented; Python will then raise an exception for " -"classes that don't define the method. Note that the exception is only raised " -"when you actually try to create an instance of a subclass lacking the " -"method::" +"You can apply the ``@abstractmethod`` decorator to methods such " +"as :meth:`draw` that must be implemented; Python will then raise an " +"exception for classes that don't define the method. Note that the exception " +"is only raised when you actually try to create an instance of a subclass " +"lacking the method::" msgstr "" -"You can apply the ``@abstractmethod`` decorator to methods such as :meth:" -"`draw` that must be implemented; Python will then raise an exception for " -"classes that don't define the method. Note that the exception is only raised " -"when you actually try to create an instance of a subclass lacking the " -"method::" +"You can apply the ``@abstractmethod`` decorator to methods such " +"as :meth:`draw` that must be implemented; Python will then raise an " +"exception for classes that don't define the method. Note that the exception " +"is only raised when you actually try to create an instance of a subclass " +"lacking the method::" -#: ../../whatsnew/2.6.rst:1287 +#: ../../whatsnew/2.6.rst:1281 msgid "" "Abstract data attributes can be declared using the ``@abstractproperty`` " "decorator::" @@ -1822,15 +1944,15 @@ msgstr "" "Abstract data attributes can be declared using the ``@abstractproperty`` " "decorator::" -#: ../../whatsnew/2.6.rst:1297 +#: ../../whatsnew/2.6.rst:1291 msgid "Subclasses must then define a :meth:`readonly` property." msgstr "Subclasses must then define a :meth:`readonly` property." -#: ../../whatsnew/2.6.rst:1303 +#: ../../whatsnew/2.6.rst:1297 msgid ":pep:`3119` - Introducing Abstract Base Classes" msgstr ":pep:`3119` - Introduzindo classes base abstratas" -#: ../../whatsnew/2.6.rst:1302 +#: ../../whatsnew/2.6.rst:1296 msgid "" "PEP written by Guido van Rossum and Talin. Implemented by Guido van Rossum. " "Backported to 2.6 by Benjamin Aranguren, with Alex Martelli." @@ -1838,11 +1960,11 @@ msgstr "" "PEP written by Guido van Rossum and Talin. Implemented by Guido van Rossum. " "Backported to 2.6 by Benjamin Aranguren, with Alex Martelli." -#: ../../whatsnew/2.6.rst:1311 +#: ../../whatsnew/2.6.rst:1305 msgid "PEP 3127: Integer Literal Support and Syntax" msgstr "PEP 3127: Integer Literal Support and Syntax" -#: ../../whatsnew/2.6.rst:1313 +#: ../../whatsnew/2.6.rst:1307 msgid "" "Python 3.0 changes the syntax for octal (base-8) integer literals, prefixing " "them with \"0o\" or \"0O\" instead of a leading zero, and adds support for " @@ -1852,7 +1974,7 @@ msgstr "" "them with \"0o\" or \"0O\" instead of a leading zero, and adds support for " "binary (base-2) integer literals, signalled by a \"0b\" or \"0B\" prefix." -#: ../../whatsnew/2.6.rst:1318 +#: ../../whatsnew/2.6.rst:1312 msgid "" "Python 2.6 doesn't drop support for a leading 0 signalling an octal number, " "but it does add support for \"0o\" and \"0b\"::" @@ -1860,7 +1982,7 @@ msgstr "" "Python 2.6 doesn't drop support for a leading 0 signalling an octal number, " "but it does add support for \"0o\" and \"0b\"::" -#: ../../whatsnew/2.6.rst:1326 +#: ../../whatsnew/2.6.rst:1320 msgid "" "The :func:`oct` builtin still returns numbers prefixed with a leading zero, " "and a new :func:`bin` builtin returns the binary representation for a " @@ -1870,7 +1992,7 @@ msgstr "" "and a new :func:`bin` builtin returns the binary representation for a " "number::" -#: ../../whatsnew/2.6.rst:1337 +#: ../../whatsnew/2.6.rst:1331 msgid "" "The :func:`int` and :func:`long` builtins will now accept the \"0o\" and " "\"0b\" prefixes when base-8 or base-2 are requested, or when the *base* " @@ -1882,19 +2004,19 @@ msgstr "" "argument is zero (signalling that the base used should be determined from " "the string)::" -#: ../../whatsnew/2.6.rst:1355 +#: ../../whatsnew/2.6.rst:1349 msgid ":pep:`3127` - Integer Literal Support and Syntax" -msgstr "" +msgstr ":pep:`3127` - Integer Literal Support and Syntax" -#: ../../whatsnew/2.6.rst:1355 +#: ../../whatsnew/2.6.rst:1349 msgid "PEP written by Patrick Maupin; backported to 2.6 by Eric Smith." msgstr "PEP written by Patrick Maupin; backported to 2.6 by Eric Smith." -#: ../../whatsnew/2.6.rst:1363 +#: ../../whatsnew/2.6.rst:1357 msgid "PEP 3129: Class Decorators" msgstr "PEP 3129: Class Decorators" -#: ../../whatsnew/2.6.rst:1365 +#: ../../whatsnew/2.6.rst:1359 msgid "" "Decorators have been extended from functions to classes. It's now legal to " "write::" @@ -1902,33 +2024,33 @@ msgstr "" "Decorators have been extended from functions to classes. It's now legal to " "write::" -#: ../../whatsnew/2.6.rst:1373 +#: ../../whatsnew/2.6.rst:1367 msgid "This is equivalent to::" msgstr "Isso equivale a::" -#: ../../whatsnew/2.6.rst:1382 +#: ../../whatsnew/2.6.rst:1376 msgid ":pep:`3129` - Class Decorators" msgstr ":pep:`3129` - Class Decorators" -#: ../../whatsnew/2.6.rst:1383 +#: ../../whatsnew/2.6.rst:1377 msgid "PEP written by Collin Winter." msgstr "PEP written by Collin Winter." -#: ../../whatsnew/2.6.rst:1390 +#: ../../whatsnew/2.6.rst:1384 msgid "PEP 3141: A Type Hierarchy for Numbers" msgstr "PEP 3141: A Type Hierarchy for Numbers" -#: ../../whatsnew/2.6.rst:1392 +#: ../../whatsnew/2.6.rst:1386 msgid "" "Python 3.0 adds several abstract base classes for numeric types inspired by " -"Scheme's numeric tower. These classes were backported to 2.6 as the :mod:" -"`numbers` module." +"Scheme's numeric tower. These classes were backported to 2.6 as " +"the :mod:`numbers` module." msgstr "" "Python 3.0 adds several abstract base classes for numeric types inspired by " -"Scheme's numeric tower. These classes were backported to 2.6 as the :mod:" -"`numbers` module." +"Scheme's numeric tower. These classes were backported to 2.6 as " +"the :mod:`numbers` module." -#: ../../whatsnew/2.6.rst:1396 +#: ../../whatsnew/2.6.rst:1390 msgid "" "The most general ABC is :class:`Number`. It defines no operations at all, " "and only exists to allow checking if an object is a number by doing " @@ -1938,7 +2060,7 @@ msgstr "" "and only exists to allow checking if an object is a number by doing " "``isinstance(obj, Number)``." -#: ../../whatsnew/2.6.rst:1400 +#: ../../whatsnew/2.6.rst:1394 msgid "" ":class:`Complex` is a subclass of :class:`Number`. Complex numbers can " "undergo the basic operations of addition, subtraction, multiplication, " @@ -1952,7 +2074,7 @@ msgstr "" "parts and obtain a number's conjugate. Python's built-in complex type is an " "implementation of :class:`Complex`." -#: ../../whatsnew/2.6.rst:1406 +#: ../../whatsnew/2.6.rst:1400 msgid "" ":class:`Real` further derives from :class:`Complex`, and adds operations " "that only work on real numbers: :func:`floor`, :func:`trunc`, rounding, " @@ -1962,21 +2084,21 @@ msgstr "" "that only work on real numbers: :func:`floor`, :func:`trunc`, rounding, " "taking the remainder mod N, floor division, and comparisons." -#: ../../whatsnew/2.6.rst:1411 +#: ../../whatsnew/2.6.rst:1405 msgid "" ":class:`Rational` numbers derive from :class:`Real`, have :attr:`numerator` " "and :attr:`denominator` properties, and can be converted to floats. Python " -"2.6 adds a simple rational-number class, :class:`Fraction`, in the :mod:" -"`fractions` module. (It's called :class:`Fraction` instead of :class:" -"`Rational` to avoid a name clash with :class:`numbers.Rational`.)" +"2.6 adds a simple rational-number class, :class:`Fraction`, in " +"the :mod:`fractions` module. (It's called :class:`Fraction` instead " +"of :class:`Rational` to avoid a name clash with :class:`numbers.Rational`.)" msgstr "" ":class:`Rational` numbers derive from :class:`Real`, have :attr:`numerator` " "and :attr:`denominator` properties, and can be converted to floats. Python " -"2.6 adds a simple rational-number class, :class:`Fraction`, in the :mod:" -"`fractions` module. (It's called :class:`Fraction` instead of :class:" -"`Rational` to avoid a name clash with :class:`numbers.Rational`.)" +"2.6 adds a simple rational-number class, :class:`Fraction`, in " +"the :mod:`fractions` module. (It's called :class:`Fraction` instead " +"of :class:`Rational` to avoid a name clash with :class:`numbers.Rational`.)" -#: ../../whatsnew/2.6.rst:1418 +#: ../../whatsnew/2.6.rst:1412 msgid "" ":class:`Integral` numbers derive from :class:`Rational`, and can be shifted " "left and right with ``<<`` and ``>>``, combined using bitwise operations " @@ -1988,29 +2110,29 @@ msgstr "" "such as ``&`` and ``|``, and can be used as array indexes and slice " "boundaries." -#: ../../whatsnew/2.6.rst:1423 +#: ../../whatsnew/2.6.rst:1417 msgid "" -"In Python 3.0, the PEP slightly redefines the existing builtins :func:" -"`round`, :func:`math.floor`, :func:`math.ceil`, and adds a new one, :func:" -"`math.trunc`, that's been backported to Python 2.6. :func:`math.trunc` " -"rounds toward zero, returning the closest :class:`Integral` that's between " -"the function's argument and zero." +"In Python 3.0, the PEP slightly redefines the existing " +"builtins :func:`round`, :func:`math.floor`, :func:`math.ceil`, and adds a " +"new one, :func:`math.trunc`, that's been backported to Python " +"2.6. :func:`math.trunc` rounds toward zero, returning the " +"closest :class:`Integral` that's between the function's argument and zero." msgstr "" -"In Python 3.0, the PEP slightly redefines the existing builtins :func:" -"`round`, :func:`math.floor`, :func:`math.ceil`, and adds a new one, :func:" -"`math.trunc`, that's been backported to Python 2.6. :func:`math.trunc` " -"rounds toward zero, returning the closest :class:`Integral` that's between " -"the function's argument and zero." +"In Python 3.0, the PEP slightly redefines the existing " +"builtins :func:`round`, :func:`math.floor`, :func:`math.ceil`, and adds a " +"new one, :func:`math.trunc`, that's been backported to Python " +"2.6. :func:`math.trunc` rounds toward zero, returning the " +"closest :class:`Integral` that's between the function's argument and zero." -#: ../../whatsnew/2.6.rst:1432 +#: ../../whatsnew/2.6.rst:1426 msgid ":pep:`3141` - A Type Hierarchy for Numbers" msgstr ":pep:`3141` - A Type Hierarchy for Numbers" -#: ../../whatsnew/2.6.rst:1432 +#: ../../whatsnew/2.6.rst:1426 msgid "PEP written by Jeffrey Yasskin." msgstr "PEP written by Jeffrey Yasskin." -#: ../../whatsnew/2.6.rst:1434 +#: ../../whatsnew/2.6.rst:1428 msgid "" "`Scheme's numerical tower `__, from the Guile manual." @@ -2018,18 +2140,21 @@ msgstr "" "`Scheme's numerical tower `__, from the Guile manual." -#: ../../whatsnew/2.6.rst:1436 +#: ../../whatsnew/2.6.rst:1430 msgid "" "`Scheme's number datatypes `__ from the R5RS " "Scheme specification." msgstr "" +"`Scheme's number datatypes `__ from the R5RS " +"Scheme specification." -#: ../../whatsnew/2.6.rst:1440 +#: ../../whatsnew/2.6.rst:1434 msgid "The :mod:`fractions` Module" msgstr "The :mod:`fractions` Module" -#: ../../whatsnew/2.6.rst:1442 +#: ../../whatsnew/2.6.rst:1436 msgid "" "To fill out the hierarchy of numeric types, the :mod:`fractions` module " "provides a rational-number class. Rational numbers store their values as a " @@ -2041,7 +2166,7 @@ msgstr "" "numerator and denominator forming a fraction, and can exactly represent " "numbers such as ``2/3`` that floating-point numbers can only approximate." -#: ../../whatsnew/2.6.rst:1448 +#: ../../whatsnew/2.6.rst:1442 msgid "" "The :class:`Fraction` constructor takes two :class:`Integral` values that " "will be the numerator and denominator of the resulting fraction. ::" @@ -2049,7 +2174,7 @@ msgstr "" "The :class:`Fraction` constructor takes two :class:`Integral` values that " "will be the numerator and denominator of the resulting fraction. ::" -#: ../../whatsnew/2.6.rst:1461 +#: ../../whatsnew/2.6.rst:1455 msgid "" "For converting floating-point numbers to rationals, the float type now has " "an :meth:`as_integer_ratio()` method that returns the numerator and " @@ -2059,7 +2184,7 @@ msgstr "" "an :meth:`as_integer_ratio()` method that returns the numerator and " "denominator for a fraction that evaluates to the same floating-point value::" -#: ../../whatsnew/2.6.rst:1473 +#: ../../whatsnew/2.6.rst:1467 msgid "" "Note that values that can only be approximated by floating-point numbers, " "such as 1./3, are not simplified to the number being approximated; the " @@ -2069,7 +2194,7 @@ msgstr "" "such as 1./3, are not simplified to the number being approximated; the " "fraction attempts to match the floating-point value **exactly**." -#: ../../whatsnew/2.6.rst:1478 +#: ../../whatsnew/2.6.rst:1472 msgid "" "The :mod:`fractions` module is based upon an implementation by Sjoerd " "Mullender that was in Python's :file:`Demo/classes/` directory for a long " @@ -2079,15 +2204,15 @@ msgstr "" "Mullender that was in Python's :file:`Demo/classes/` directory for a long " "time. This implementation was significantly updated by Jeffrey Yasskin." -#: ../../whatsnew/2.6.rst:1485 +#: ../../whatsnew/2.6.rst:1479 msgid "Other Language Changes" msgstr "Outras mudanças na linguagem" -#: ../../whatsnew/2.6.rst:1487 +#: ../../whatsnew/2.6.rst:1481 msgid "Some smaller changes made to the core Python language are:" -msgstr "Alguma das mudanças menores feitas no núcleo da linguagem Python são:" +msgstr "Algumas das mudanças menores feitas no núcleo da linguagem Python são:" -#: ../../whatsnew/2.6.rst:1489 +#: ../../whatsnew/2.6.rst:1483 msgid "" "Directories and zip archives containing a :file:`__main__.py` file can now " "be executed directly by passing their name to the interpreter. The directory " @@ -2101,25 +2226,25 @@ msgstr "" "(Suggestion and initial patch by Andy Chu, subsequently revised by Phillip " "J. Eby and Nick Coghlan; :issue:`1739468`.)" -#: ../../whatsnew/2.6.rst:1496 +#: ../../whatsnew/2.6.rst:1490 msgid "" "The :func:`hasattr` function was catching and ignoring all errors, under the " "assumption that they meant a :meth:`__getattr__` method was failing somehow " "and the return value of :func:`hasattr` would therefore be ``False``. This " -"logic shouldn't be applied to :exc:`KeyboardInterrupt` and :exc:" -"`SystemExit`, however; Python 2.6 will no longer discard such exceptions " -"when :func:`hasattr` encounters them. (Fixed by Benjamin Peterson; :issue:" -"`2196`.)" +"logic shouldn't be applied to :exc:`KeyboardInterrupt` " +"and :exc:`SystemExit`, however; Python 2.6 will no longer discard such " +"exceptions when :func:`hasattr` encounters them. (Fixed by Benjamin " +"Peterson; :issue:`2196`.)" msgstr "" -"The :func:`hasattr` function was catching and ignoring all errors, under the " -"assumption that they meant a :meth:`__getattr__` method was failing somehow " -"and the return value of :func:`hasattr` would therefore be ``False``. This " -"logic shouldn't be applied to :exc:`KeyboardInterrupt` and :exc:" -"`SystemExit`, however; Python 2.6 will no longer discard such exceptions " -"when :func:`hasattr` encounters them. (Fixed by Benjamin Peterson; :issue:" -"`2196`.)" +"A função :func:`hasattr` estava capturando e ignorando todos os erros, sob a " +"suposição de que eles significavam que um método :meth:`__getattr__` estava " +"falhando de alguma forma e o valor de retorno de :func:`hasattr` seria, " +"portanto, ``False``. Esta lógica não deve ser aplicada " +"a :exc:`KeyboardInterrupt` e :exc:`SystemExit`, entretanto; O Python 2.6 não " +"descartará mais tais exceções quando :func:`hasattr` as encontrar. (Correção " +"de Benjamin Peterson; :issue:`2196`.)" -#: ../../whatsnew/2.6.rst:1504 +#: ../../whatsnew/2.6.rst:1498 msgid "" "When calling a function using the ``**`` syntax to provide keyword " "arguments, you are no longer required to use a Python dictionary; any " @@ -2129,11 +2254,11 @@ msgstr "" "arguments, you are no longer required to use a Python dictionary; any " "mapping will now work::" -#: ../../whatsnew/2.6.rst:1517 +#: ../../whatsnew/2.6.rst:1511 msgid "(Contributed by Alexander Belopolsky; :issue:`1686487`.)" msgstr "(Contributed by Alexander Belopolsky; :issue:`1686487`.)" -#: ../../whatsnew/2.6.rst:1519 +#: ../../whatsnew/2.6.rst:1513 msgid "" "It's also become legal to provide keyword arguments after a ``*args`` " "argument to a function call. ::" @@ -2141,7 +2266,7 @@ msgstr "" "It's also become legal to provide keyword arguments after a ``*args`` " "argument to a function call. ::" -#: ../../whatsnew/2.6.rst:1528 +#: ../../whatsnew/2.6.rst:1522 msgid "" "Previously this would have been a syntax error. (Contributed by Amaury " "Forgeot d'Arc; :issue:`3473`.)" @@ -2149,19 +2274,21 @@ msgstr "" "Previously this would have been a syntax error. (Contributed by Amaury " "Forgeot d'Arc; :issue:`3473`.)" -#: ../../whatsnew/2.6.rst:1531 +#: ../../whatsnew/2.6.rst:1525 msgid "" "A new builtin, ``next(iterator, [default])`` returns the next item from the " "specified iterator. If the *default* argument is supplied, it will be " -"returned if *iterator* has been exhausted; otherwise, the :exc:" -"`StopIteration` exception will be raised. (Backported in :issue:`2719`.)" +"returned if *iterator* has been exhausted; otherwise, " +"the :exc:`StopIteration` exception will be raised. (Backported " +"in :issue:`2719`.)" msgstr "" "A new builtin, ``next(iterator, [default])`` returns the next item from the " "specified iterator. If the *default* argument is supplied, it will be " -"returned if *iterator* has been exhausted; otherwise, the :exc:" -"`StopIteration` exception will be raised. (Backported in :issue:`2719`.)" +"returned if *iterator* has been exhausted; otherwise, " +"the :exc:`StopIteration` exception will be raised. (Backported " +"in :issue:`2719`.)" -#: ../../whatsnew/2.6.rst:1537 +#: ../../whatsnew/2.6.rst:1531 msgid "" "Tuples now have :meth:`index` and :meth:`count` methods matching the list " "type's :meth:`index` and :meth:`count` methods::" @@ -2169,11 +2296,11 @@ msgstr "" "Tuples now have :meth:`index` and :meth:`count` methods matching the list " "type's :meth:`index` and :meth:`count` methods::" -#: ../../whatsnew/2.6.rst:1546 +#: ../../whatsnew/2.6.rst:1540 msgid "(Contributed by Raymond Hettinger)" msgstr "(Contributed by Raymond Hettinger)" -#: ../../whatsnew/2.6.rst:1548 +#: ../../whatsnew/2.6.rst:1542 msgid "" "The built-in types now have improved support for extended slicing syntax, " "accepting various combinations of ``(start, stop, step)``. Previously, the " @@ -2185,57 +2312,57 @@ msgstr "" "support was partial and certain corner cases wouldn't work. (Implemented by " "Thomas Wouters.)" -#: ../../whatsnew/2.6.rst:1555 +#: ../../whatsnew/2.6.rst:1549 msgid "" -"Properties now have three attributes, :attr:`getter`, :attr:`setter` and :" -"attr:`deleter`, that are decorators providing useful shortcuts for adding a " -"getter, setter or deleter function to an existing property. You would use " -"them like this::" +"Properties now have three attributes, :attr:`getter`, :attr:`setter` " +"and :attr:`deleter`, that are decorators providing useful shortcuts for " +"adding a getter, setter or deleter function to an existing property. You " +"would use them like this::" msgstr "" -"Properties now have three attributes, :attr:`getter`, :attr:`setter` and :" -"attr:`deleter`, that are decorators providing useful shortcuts for adding a " -"getter, setter or deleter function to an existing property. You would use " -"them like this::" +"Properties now have three attributes, :attr:`getter`, :attr:`setter` " +"and :attr:`deleter`, that are decorators providing useful shortcuts for " +"adding a getter, setter or deleter function to an existing property. You " +"would use them like this::" -#: ../../whatsnew/2.6.rst:1582 +#: ../../whatsnew/2.6.rst:1576 msgid "" -"Several methods of the built-in set types now accept multiple iterables: :" -"meth:`intersection`, :meth:`intersection_update`, :meth:`union`, :meth:" -"`update`, :meth:`difference` and :meth:`difference_update`." +"Several methods of the built-in set types now accept multiple " +"iterables: :meth:`intersection`, :meth:`intersection_update`, :meth:`union`, :meth:`update`, :meth:`difference` " +"and :meth:`difference_update`." msgstr "" -"Several methods of the built-in set types now accept multiple iterables: :" -"meth:`intersection`, :meth:`intersection_update`, :meth:`union`, :meth:" -"`update`, :meth:`difference` and :meth:`difference_update`." +"Several methods of the built-in set types now accept multiple " +"iterables: :meth:`intersection`, :meth:`intersection_update`, :meth:`union`, :meth:`update`, :meth:`difference` " +"and :meth:`difference_update`." -#: ../../whatsnew/2.6.rst:1596 ../../whatsnew/2.6.rst:1880 -#: ../../whatsnew/2.6.rst:1901 +#: ../../whatsnew/2.6.rst:1590 ../../whatsnew/2.6.rst:1875 +#: ../../whatsnew/2.6.rst:1896 msgid "(Contributed by Raymond Hettinger.)" msgstr "(Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.6.rst:1598 +#: ../../whatsnew/2.6.rst:1592 msgid "" "Many floating-point features were added. The :func:`float` function will " "now turn the string ``nan`` into an IEEE 754 Not A Number value, and " "``+inf`` and ``-inf`` into positive or negative infinity. This works on any " -"platform with IEEE 754 semantics. (Contributed by Christian Heimes; :issue:" -"`1635`.)" +"platform with IEEE 754 semantics. (Contributed by Christian " +"Heimes; :issue:`1635`.)" msgstr "" "Many floating-point features were added. The :func:`float` function will now " "turn the string ``nan`` into an IEEE 754 Not A Number value, and ``+inf`` " "and ``-inf`` into positive or negative infinity. This works on any platform " "with IEEE 754 semantics. (Contributed by Christian Heimes; :issue:`1635`.)" -#: ../../whatsnew/2.6.rst:1604 +#: ../../whatsnew/2.6.rst:1598 msgid "" "Other functions in the :mod:`math` module, :func:`isinf` and :func:`isnan`, " -"return true if their floating-point argument is infinite or Not A Number. (:" -"issue:`1640`)" +"return true if their floating-point argument is infinite or Not A Number. " +"(:issue:`1640`)" msgstr "" "Other functions in the :mod:`math` module, :func:`isinf` and :func:`isnan`, " -"return true if their floating-point argument is infinite or Not A Number. (:" -"issue:`1640`)" +"return true if their floating-point argument is infinite or Not A Number. " +"(:issue:`1640`)" -#: ../../whatsnew/2.6.rst:1608 +#: ../../whatsnew/2.6.rst:1602 msgid "" "Conversion functions were added to convert floating-point numbers into " "hexadecimal strings (:issue:`3008`). These functions convert floats to and " @@ -2251,7 +2378,7 @@ msgstr "" "returns a string representation, and the ``float.fromhex()`` method converts " "a string back into a number::" -#: ../../whatsnew/2.6.rst:1625 +#: ../../whatsnew/2.6.rst:1619 msgid "" "A numerical nicety: when creating a complex number from two floats on " "systems that support signed zeros (-0 and +0), the :func:`complex` " @@ -2263,7 +2390,7 @@ msgstr "" "constructor will now preserve the sign of the zero. (Fixed by Mark T. " "Dickinson; :issue:`1507`.)" -#: ../../whatsnew/2.6.rst:1630 +#: ../../whatsnew/2.6.rst:1624 msgid "" "Classes that inherit a :meth:`__hash__` method from a parent class can set " "``__hash__ = None`` to indicate that the class isn't hashable. This will " @@ -2275,27 +2402,27 @@ msgstr "" "make ``hash(obj)`` raise a :exc:`TypeError` and the class will not be " "indicated as implementing the :class:`Hashable` ABC." -#: ../../whatsnew/2.6.rst:1636 +#: ../../whatsnew/2.6.rst:1630 msgid "" "You should do this when you've defined a :meth:`__cmp__` or :meth:`__eq__` " "method that compares objects by their value rather than by identity. All " "objects have a default hash method that uses ``id(obj)`` as the hash value. " "There's no tidy way to remove the :meth:`__hash__` method inherited from a " "parent class, so assigning ``None`` was implemented as an override. At the " -"C level, extensions can set ``tp_hash`` to :c:func:" -"`PyObject_HashNotImplemented`. (Fixed by Nick Coghlan and Amaury Forgeot " -"d'Arc; :issue:`2235`.)" +"C level, extensions can set ``tp_hash`` " +"to :c:func:`PyObject_HashNotImplemented`. (Fixed by Nick Coghlan and Amaury " +"Forgeot d'Arc; :issue:`2235`.)" msgstr "" "You should do this when you've defined a :meth:`__cmp__` or :meth:`__eq__` " "method that compares objects by their value rather than by identity. All " "objects have a default hash method that uses ``id(obj)`` as the hash value. " "There's no tidy way to remove the :meth:`__hash__` method inherited from a " "parent class, so assigning ``None`` was implemented as an override. At the C " -"level, extensions can set ``tp_hash`` to :c:func:" -"`PyObject_HashNotImplemented`. (Fixed by Nick Coghlan and Amaury Forgeot " -"d'Arc; :issue:`2235`.)" +"level, extensions can set ``tp_hash`` " +"to :c:func:`PyObject_HashNotImplemented`. (Fixed by Nick Coghlan and Amaury " +"Forgeot d'Arc; :issue:`2235`.)" -#: ../../whatsnew/2.6.rst:1646 +#: ../../whatsnew/2.6.rst:1640 msgid "" "The :exc:`GeneratorExit` exception now subclasses :exc:`BaseException` " "instead of :exc:`Exception`. This means that an exception handler that does " @@ -2307,17 +2434,17 @@ msgstr "" "``except Exception:`` will not inadvertently catch :exc:`GeneratorExit`. " "(Contributed by Chad Austin; :issue:`1537`.)" -#: ../../whatsnew/2.6.rst:1652 +#: ../../whatsnew/2.6.rst:1646 msgid "" "Generator objects now have a :attr:`gi_code` attribute that refers to the " -"original code object backing the generator. (Contributed by Collin Winter; :" -"issue:`1473257`.)" +"original code object backing the generator. (Contributed by Collin " +"Winter; :issue:`1473257`.)" msgstr "" "Generator objects now have a :attr:`gi_code` attribute that refers to the " -"original code object backing the generator. (Contributed by Collin Winter; :" -"issue:`1473257`.)" +"original code object backing the generator. (Contributed by Collin " +"Winter; :issue:`1473257`.)" -#: ../../whatsnew/2.6.rst:1656 +#: ../../whatsnew/2.6.rst:1650 msgid "" "The :func:`compile` built-in function now accepts keyword arguments as well " "as positional parameters. (Contributed by Thomas Wouters; :issue:`1444529`.)" @@ -2325,84 +2452,90 @@ msgstr "" "The :func:`compile` built-in function now accepts keyword arguments as well " "as positional parameters. (Contributed by Thomas Wouters; :issue:`1444529`.)" -#: ../../whatsnew/2.6.rst:1660 +#: ../../whatsnew/2.6.rst:1654 msgid "" "The :func:`complex` constructor now accepts strings containing parenthesized " "complex numbers, meaning that ``complex(repr(cplx))`` will now round-trip " -"values. For example, ``complex('(3+4j)')`` now returns the value (3+4j). (:" -"issue:`1491866`)" +"values. For example, ``complex('(3+4j)')`` now returns the value (3+4j). " +"(:issue:`1491866`)" msgstr "" "The :func:`complex` constructor now accepts strings containing parenthesized " "complex numbers, meaning that ``complex(repr(cplx))`` will now round-trip " -"values. For example, ``complex('(3+4j)')`` now returns the value (3+4j). (:" -"issue:`1491866`)" +"values. For example, ``complex('(3+4j)')`` now returns the value (3+4j). " +"(:issue:`1491866`)" -#: ../../whatsnew/2.6.rst:1665 +#: ../../whatsnew/2.6.rst:1659 msgid "" "The string :meth:`translate` method now accepts ``None`` as the translation " "table parameter, which is treated as the identity transformation. This " "makes it easier to carry out operations that only delete characters. " -"(Contributed by Bengt Richter and implemented by Raymond Hettinger; :issue:" -"`1193128`.)" +"(Contributed by Bengt Richter and implemented by Raymond " +"Hettinger; :issue:`1193128`.)" msgstr "" "The string :meth:`translate` method now accepts ``None`` as the translation " "table parameter, which is treated as the identity transformation. This makes " "it easier to carry out operations that only delete characters. (Contributed " "by Bengt Richter and implemented by Raymond Hettinger; :issue:`1193128`.)" -#: ../../whatsnew/2.6.rst:1671 +#: ../../whatsnew/2.6.rst:1665 msgid "" "The built-in :func:`dir` function now checks for a :meth:`__dir__` method on " "the objects it receives. This method must return a list of strings " "containing the names of valid attributes for the object, and lets the object " -"control the value that :func:`dir` produces. Objects that have :meth:" -"`__getattr__` or :meth:`__getattribute__` methods can use this to advertise " -"pseudo-attributes they will honor. (:issue:`1591665`)" +"control the value that :func:`dir` produces. Objects that " +"have :meth:`__getattr__` or :meth:`__getattribute__` methods can use this to " +"advertise pseudo-attributes they will honor. (:issue:`1591665`)" msgstr "" "The built-in :func:`dir` function now checks for a :meth:`__dir__` method on " "the objects it receives. This method must return a list of strings " "containing the names of valid attributes for the object, and lets the object " -"control the value that :func:`dir` produces. Objects that have :meth:" -"`__getattr__` or :meth:`__getattribute__` methods can use this to advertise " -"pseudo-attributes they will honor. (:issue:`1591665`)" +"control the value that :func:`dir` produces. Objects that " +"have :meth:`__getattr__` or :meth:`__getattribute__` methods can use this to " +"advertise pseudo-attributes they will honor. (:issue:`1591665`)" -#: ../../whatsnew/2.6.rst:1679 +#: ../../whatsnew/2.6.rst:1673 msgid "" "Instance method objects have new attributes for the object and function " -"comprising the method; the new synonym for :attr:`im_self` is :attr:" -"`__self__`, and :attr:`im_func` is also available as :attr:`__func__`. The " -"old names are still supported in Python 2.6, but are gone in 3.0." +"comprising the method; the new synonym for :attr:`!im_self` " +"is :attr:`~method.__self__`, and :attr:`!im_func` is also available " +"as :attr:`~method.__func__`. The old names are still supported in Python " +"2.6, but are gone in 3.0." msgstr "" "Instance method objects have new attributes for the object and function " -"comprising the method; the new synonym for :attr:`im_self` is :attr:" -"`__self__`, and :attr:`im_func` is also available as :attr:`__func__`. The " -"old names are still supported in Python 2.6, but are gone in 3.0." +"comprising the method; the new synonym for :attr:`!im_self` " +"is :attr:`~method.__self__`, and :attr:`!im_func` is also available " +"as :attr:`~method.__func__`. The old names are still supported in Python " +"2.6, but are gone in 3.0." -#: ../../whatsnew/2.6.rst:1684 +#: ../../whatsnew/2.6.rst:1679 msgid "" -"An obscure change: when you use the :func:`locals` function inside a :" -"keyword:`class` statement, the resulting dictionary no longer returns free " -"variables. (Free variables, in this case, are variables referenced in the :" -"keyword:`!class` statement that aren't attributes of the class.)" +"An obscure change: when you use the :func:`locals` function inside " +"a :keyword:`class` statement, the resulting dictionary no longer returns " +"free variables. (Free variables, in this case, are variables referenced in " +"the :keyword:`!class` statement that aren't attributes of the class.)" msgstr "" +"An obscure change: when you use the :func:`locals` function inside " +"a :keyword:`class` statement, the resulting dictionary no longer returns " +"free variables. (Free variables, in this case, are variables referenced in " +"the :keyword:`!class` statement that aren't attributes of the class.)" -#: ../../whatsnew/2.6.rst:1693 +#: ../../whatsnew/2.6.rst:1688 msgid "Optimizations" msgstr "Otimizações" -#: ../../whatsnew/2.6.rst:1695 +#: ../../whatsnew/2.6.rst:1690 msgid "" "The :mod:`warnings` module has been rewritten in C. This makes it possible " "to invoke warnings from the parser, and may also make the interpreter's " -"startup faster. (Contributed by Neal Norwitz and Brett Cannon; :issue:" -"`1631171`.)" +"startup faster. (Contributed by Neal Norwitz and Brett " +"Cannon; :issue:`1631171`.)" msgstr "" "The :mod:`warnings` module has been rewritten in C. This makes it possible " "to invoke warnings from the parser, and may also make the interpreter's " -"startup faster. (Contributed by Neal Norwitz and Brett Cannon; :issue:" -"`1631171`.)" +"startup faster. (Contributed by Neal Norwitz and Brett " +"Cannon; :issue:`1631171`.)" -#: ../../whatsnew/2.6.rst:1700 +#: ../../whatsnew/2.6.rst:1695 msgid "" "Type objects now have a cache of methods that can reduce the work required " "to find the correct method implementation for a particular class; once " @@ -2420,7 +2553,7 @@ msgstr "" "Python's dynamic nature. (Original optimization implemented by Armin Rigo, " "updated for Python 2.6 by Kevin Jacobs; :issue:`1700288`.)" -#: ../../whatsnew/2.6.rst:1710 +#: ../../whatsnew/2.6.rst:1705 msgid "" "By default, this change is only applied to types that are included with the " "Python core. Extension modules may not necessarily be compatible with this " @@ -2440,7 +2573,7 @@ msgstr "" "implements. Most modules don't do this, but it's impossible for the Python " "interpreter to determine that. See :issue:`1878` for some discussion.)" -#: ../../whatsnew/2.6.rst:1721 +#: ../../whatsnew/2.6.rst:1716 msgid "" "Function calls that use keyword arguments are significantly faster by doing " "a quick pointer comparison, usually saving the time of a full string " @@ -2452,7 +2585,7 @@ msgstr "" "comparison. (Contributed by Raymond Hettinger, after an initial " "implementation by Antoine Pitrou; :issue:`1819`.)" -#: ../../whatsnew/2.6.rst:1726 +#: ../../whatsnew/2.6.rst:1721 msgid "" "All of the functions in the :mod:`struct` module have been rewritten in C, " "thanks to work at the Need For Speed sprint. (Contributed by Raymond " @@ -2462,7 +2595,7 @@ msgstr "" "thanks to work at the Need For Speed sprint. (Contributed by Raymond " "Hettinger.)" -#: ../../whatsnew/2.6.rst:1730 +#: ../../whatsnew/2.6.rst:1725 msgid "" "Some of the standard built-in types now set a bit in their type objects. " "This speeds up checking whether an object is a subclass of one of these " @@ -2472,27 +2605,27 @@ msgstr "" "This speeds up checking whether an object is a subclass of one of these " "types. (Contributed by Neal Norwitz.)" -#: ../../whatsnew/2.6.rst:1734 +#: ../../whatsnew/2.6.rst:1729 msgid "" "Unicode strings now use faster code for detecting whitespace and line " -"breaks; this speeds up the :meth:`split` method by about 25% and :meth:" -"`splitlines` by 35%. (Contributed by Antoine Pitrou.) Memory usage is " -"reduced by using pymalloc for the Unicode string's data." +"breaks; this speeds up the :meth:`split` method by about 25% " +"and :meth:`splitlines` by 35%. (Contributed by Antoine Pitrou.) Memory " +"usage is reduced by using pymalloc for the Unicode string's data." msgstr "" "Unicode strings now use faster code for detecting whitespace and line " -"breaks; this speeds up the :meth:`split` method by about 25% and :meth:" -"`splitlines` by 35%. (Contributed by Antoine Pitrou.) Memory usage is " -"reduced by using pymalloc for the Unicode string's data." +"breaks; this speeds up the :meth:`split` method by about 25% " +"and :meth:`splitlines` by 35%. (Contributed by Antoine Pitrou.) Memory usage " +"is reduced by using pymalloc for the Unicode string's data." -#: ../../whatsnew/2.6.rst:1740 +#: ../../whatsnew/2.6.rst:1735 msgid "" -"The ``with`` statement now stores the :meth:`__exit__` method on the stack, " -"producing a small speedup. (Implemented by Jeffrey Yasskin.)" +"The ``with`` statement now stores the :meth:`~object.__exit__` method on the " +"stack, producing a small speedup. (Implemented by Jeffrey Yasskin.)" msgstr "" -"The ``with`` statement now stores the :meth:`__exit__` method on the stack, " -"producing a small speedup. (Implemented by Jeffrey Yasskin.)" +"The ``with`` statement now stores the :meth:`~object.__exit__` method on the " +"stack, producing a small speedup. (Implemented by Jeffrey Yasskin.)" -#: ../../whatsnew/2.6.rst:1743 +#: ../../whatsnew/2.6.rst:1738 msgid "" "To reduce memory usage, the garbage collector will now clear internal free " "lists when garbage-collecting the highest generation of objects. This may " @@ -2502,11 +2635,11 @@ msgstr "" "lists when garbage-collecting the highest generation of objects. This may " "return memory to the operating system sooner." -#: ../../whatsnew/2.6.rst:1752 +#: ../../whatsnew/2.6.rst:1747 msgid "Interpreter Changes" -msgstr "Alterações do interpretador" +msgstr "Alterações no interpretador" -#: ../../whatsnew/2.6.rst:1754 +#: ../../whatsnew/2.6.rst:1749 msgid "" "Two command-line options have been reserved for use by other Python " "implementations. The :option:`-J` switch has been reserved for use by " @@ -2524,7 +2657,7 @@ msgstr "" "If either option is used with Python 2.6, the interpreter will report that " "the option isn't currently used." -#: ../../whatsnew/2.6.rst:1762 +#: ../../whatsnew/2.6.rst:1757 msgid "" "Python can now be prevented from writing :file:`.pyc` or :file:`.pyo` files " "by supplying the :option:`-B` switch to the Python interpreter, or by " @@ -2542,7 +2675,7 @@ msgstr "" "to modify the interpreter's behaviour. (Contributed by Neal Norwitz and " "Georg Brandl.)" -#: ../../whatsnew/2.6.rst:1770 +#: ../../whatsnew/2.6.rst:1765 msgid "" "The encoding used for standard input, output, and standard error can be " "specified by setting the :envvar:`PYTHONIOENCODING` environment variable " @@ -2562,11 +2695,11 @@ msgstr "" "handled by the encoding, and should be one of \"error\", \"ignore\", or " "\"replace\". (Contributed by Martin von Löwis.)" -#: ../../whatsnew/2.6.rst:1783 +#: ../../whatsnew/2.6.rst:1778 msgid "New and Improved Modules" msgstr "Módulos Novos ou Aprimorados" -#: ../../whatsnew/2.6.rst:1785 +#: ../../whatsnew/2.6.rst:1780 msgid "" "As in every release, Python's standard library received a number of " "enhancements and bug fixes. Here's a partial list of the most notable " @@ -2574,13 +2707,14 @@ msgid "" "file in the source tree for a more complete list of changes, or look through " "the Subversion logs for all the details." msgstr "" -"As in every release, Python's standard library received a number of " -"enhancements and bug fixes. Here's a partial list of the most notable " -"changes, sorted alphabetically by module name. Consult the :file:`Misc/NEWS` " -"file in the source tree for a more complete list of changes, or look through " -"the Subversion logs for all the details." +"Como em todas os lançamentos, a biblioteca padrão do Python recebeu diversas " +"melhorias e correções de bugs. Aqui está uma lista parcial das mudanças mais " +"notáveis, classificadas em ordem alfabética por nome do módulo. Consulte o " +"arquivo :file:`Misc/NEWS` na árvore de código-fonte para uma lista mais " +"completa de alterações, ou procure nos logs do Subversion para todos os " +"detalhes." -#: ../../whatsnew/2.6.rst:1791 +#: ../../whatsnew/2.6.rst:1786 msgid "" "The :mod:`asyncore` and :mod:`asynchat` modules are being actively " "maintained again, and a number of patches and bugfixes were applied. " @@ -2590,7 +2724,7 @@ msgstr "" "novamente e várias correções e correções foram aplicadas. (Mantido por " "Josiah Carlson; veja :issue:`1736190` para um patch.)" -#: ../../whatsnew/2.6.rst:1796 +#: ../../whatsnew/2.6.rst:1791 msgid "" "The :mod:`bsddb` module also has a new maintainer, Jesús Cea Avión, and the " "package is now available as a standalone package. The web page for the " @@ -2606,7 +2740,7 @@ msgstr "" "standard library in Python 3.0, because its pace of releases is much more " "frequent than Python's." -#: ../../whatsnew/2.6.rst:1804 +#: ../../whatsnew/2.6.rst:1799 msgid "" "The :mod:`bsddb.dbshelve` module now uses the highest pickling protocol " "available, instead of restricting itself to protocol 1. (Contributed by W. " @@ -2616,7 +2750,7 @@ msgstr "" "available, instead of restricting itself to protocol 1. (Contributed by W. " "Barnes.)" -#: ../../whatsnew/2.6.rst:1808 +#: ../../whatsnew/2.6.rst:1803 msgid "" "The :mod:`cgi` module will now read variables from the query string of an " "HTTP POST request. This makes it possible to use form actions with URLs " @@ -2628,19 +2762,15 @@ msgstr "" "include query strings such as \"/cgi-bin/add.py?category=1\". (Contributed " "by Alexandre Fiori and Nubis; :issue:`1817`.)" -#: ../../whatsnew/2.6.rst:1814 +#: ../../whatsnew/2.6.rst:1809 msgid "" "The :func:`parse_qs` and :func:`parse_qsl` functions have been relocated " -"from the :mod:`cgi` module to the :mod:`urlparse` module. The versions still " -"available in the :mod:`cgi` module will trigger :exc:" -"`PendingDeprecationWarning` messages in 2.6 (:issue:`600362`)." +"from the :mod:`cgi` module to the :mod:`urlparse ` module. The " +"versions still available in the :mod:`!cgi` module will " +"trigger :exc:`PendingDeprecationWarning` messages in 2.6 (:issue:`600362`)." msgstr "" -"The :func:`parse_qs` and :func:`parse_qsl` functions have been relocated " -"from the :mod:`cgi` module to the :mod:`urlparse` module. The versions still " -"available in the :mod:`cgi` module will trigger :exc:" -"`PendingDeprecationWarning` messages in 2.6 (:issue:`600362`)." -#: ../../whatsnew/2.6.rst:1820 +#: ../../whatsnew/2.6.rst:1815 msgid "" "The :mod:`cmath` module underwent extensive revision, contributed by Mark " "Dickinson and Christian Heimes. Five new functions were added:" @@ -2648,7 +2778,7 @@ msgstr "" "The :mod:`cmath` module underwent extensive revision, contributed by Mark " "Dickinson and Christian Heimes. Five new functions were added:" -#: ../../whatsnew/2.6.rst:1824 +#: ../../whatsnew/2.6.rst:1819 msgid "" ":func:`polar` converts a complex number to polar form, returning the modulus " "and argument of the complex number." @@ -2656,7 +2786,7 @@ msgstr "" ":func:`polar` converts a complex number to polar form, returning the modulus " "and argument of the complex number." -#: ../../whatsnew/2.6.rst:1827 +#: ../../whatsnew/2.6.rst:1822 msgid "" ":func:`rect` does the opposite, turning a modulus, argument pair back into " "the corresponding complex number." @@ -2664,7 +2794,7 @@ msgstr "" ":func:`rect` does the opposite, turning a modulus, argument pair back into " "the corresponding complex number." -#: ../../whatsnew/2.6.rst:1830 +#: ../../whatsnew/2.6.rst:1825 msgid "" ":func:`phase` returns the argument (also called the angle) of a complex " "number." @@ -2672,7 +2802,7 @@ msgstr "" ":func:`phase` returns the argument (also called the angle) of a complex " "number." -#: ../../whatsnew/2.6.rst:1833 +#: ../../whatsnew/2.6.rst:1828 msgid "" ":func:`isnan` returns True if either the real or imaginary part of its " "argument is a NaN." @@ -2680,7 +2810,7 @@ msgstr "" ":func:`isnan` returns True if either the real or imaginary part of its " "argument is a NaN." -#: ../../whatsnew/2.6.rst:1836 +#: ../../whatsnew/2.6.rst:1831 msgid "" ":func:`isinf` returns True if either the real or imaginary part of its " "argument is infinite." @@ -2688,21 +2818,21 @@ msgstr "" ":func:`isinf` returns True if either the real or imaginary part of its " "argument is infinite." -#: ../../whatsnew/2.6.rst:1839 +#: ../../whatsnew/2.6.rst:1834 msgid "" "The revisions also improved the numerical soundness of the :mod:`cmath` " "module. For all functions, the real and imaginary parts of the results are " "accurate to within a few units of least precision (ulps) whenever possible. " -"See :issue:`1381` for the details. The branch cuts for :func:`asinh`, :func:" -"`atanh`: and :func:`atan` have also been corrected." +"See :issue:`1381` for the details. The branch cuts " +"for :func:`asinh`, :func:`atanh`: and :func:`atan` have also been corrected." msgstr "" "The revisions also improved the numerical soundness of the :mod:`cmath` " "module. For all functions, the real and imaginary parts of the results are " "accurate to within a few units of least precision (ulps) whenever possible. " -"See :issue:`1381` for the details. The branch cuts for :func:`asinh`, :func:" -"`atanh`: and :func:`atan` have also been corrected." +"See :issue:`1381` for the details. The branch cuts " +"for :func:`asinh`, :func:`atanh`: and :func:`atan` have also been corrected." -#: ../../whatsnew/2.6.rst:1846 +#: ../../whatsnew/2.6.rst:1841 msgid "" "The tests for the module have been greatly expanded; nearly 2000 new test " "cases exercise the algebraic functions." @@ -2710,7 +2840,7 @@ msgstr "" "The tests for the module have been greatly expanded; nearly 2000 new test " "cases exercise the algebraic functions." -#: ../../whatsnew/2.6.rst:1849 +#: ../../whatsnew/2.6.rst:1844 msgid "" "On IEEE 754 platforms, the :mod:`cmath` module now handles IEEE 754 special " "values and floating-point exceptions in a manner consistent with Annex 'G' " @@ -2720,31 +2850,29 @@ msgstr "" "values and floating-point exceptions in a manner consistent with Annex 'G' " "of the C99 standard." -#: ../../whatsnew/2.6.rst:1853 +#: ../../whatsnew/2.6.rst:1848 msgid "" -"A new data type in the :mod:`collections` module: :class:" -"`namedtuple(typename, fieldnames)` is a factory function that creates " -"subclasses of the standard tuple whose fields are accessible by name as well " -"as index. For example::" +"A new data type in the :mod:`collections` module: ``namedtuple(typename, " +"fieldnames)`` is a factory function that creates subclasses of the standard " +"tuple whose fields are accessible by name as well as index. For example::" msgstr "" -"A new data type in the :mod:`collections` module: :class:" -"`namedtuple(typename, fieldnames)` is a factory function that creates " -"subclasses of the standard tuple whose fields are accessible by name as well " -"as index. For example::" +"A new data type in the :mod:`collections` module: ``namedtuple(typename, " +"fieldnames)`` is a factory function that creates subclasses of the standard " +"tuple whose fields are accessible by name as well as index. For example::" -#: ../../whatsnew/2.6.rst:1875 +#: ../../whatsnew/2.6.rst:1870 msgid "" "Several places in the standard library that returned tuples have been " -"modified to return :class:`namedtuple` instances. For example, the :meth:" -"`Decimal.as_tuple` method now returns a named tuple with :attr:`sign`, :attr:" -"`digits`, and :attr:`exponent` fields." +"modified to return :func:`namedtuple` instances. For example, " +"the :meth:`Decimal.as_tuple` method now returns a named tuple " +"with :attr:`sign`, :attr:`digits`, and :attr:`exponent` fields." msgstr "" "Several places in the standard library that returned tuples have been " -"modified to return :class:`namedtuple` instances. For example, the :meth:" -"`Decimal.as_tuple` method now returns a named tuple with :attr:`sign`, :attr:" -"`digits`, and :attr:`exponent` fields." +"modified to return :func:`namedtuple` instances. For example, " +"the :meth:`Decimal.as_tuple` method now returns a named tuple " +"with :attr:`sign`, :attr:`digits`, and :attr:`exponent` fields." -#: ../../whatsnew/2.6.rst:1882 +#: ../../whatsnew/2.6.rst:1877 msgid "" "Another change to the :mod:`collections` module is that the :class:`deque` " "type now supports an optional *maxlen* parameter; if supplied, the deque's " @@ -2756,19 +2884,21 @@ msgstr "" "size will be restricted to no more than *maxlen* items. Adding more items to " "a full deque causes old items to be discarded." -#: ../../whatsnew/2.6.rst:1903 +#: ../../whatsnew/2.6.rst:1898 msgid "" -"The :mod:`Cookie` module's :class:`Morsel` objects now support an :attr:" -"`httponly` attribute. In some browsers. cookies with this attribute set " -"cannot be accessed or manipulated by JavaScript code. (Contributed by Arvin " +"The :mod:`Cookie ` module's :class:`~http.cookies.Morsel` " +"objects now support an :attr:`~http.cookies.Morsel.httponly` attribute. In " +"some browsers. cookies with this attribute set cannot be accessed or " +"manipulated by JavaScript code. (Contributed by Arvin " "Schnell; :issue:`1638033`.)" msgstr "" -"The :mod:`Cookie` module's :class:`Morsel` objects now support an :attr:" -"`httponly` attribute. In some browsers. cookies with this attribute set " -"cannot be accessed or manipulated by JavaScript code. (Contributed by Arvin " +"The :mod:`Cookie ` module's :class:`~http.cookies.Morsel` " +"objects now support an :attr:`~http.cookies.Morsel.httponly` attribute. In " +"some browsers. cookies with this attribute set cannot be accessed or " +"manipulated by JavaScript code. (Contributed by Arvin " "Schnell; :issue:`1638033`.)" -#: ../../whatsnew/2.6.rst:1908 +#: ../../whatsnew/2.6.rst:1903 msgid "" "A new window method in the :mod:`curses` module, :meth:`chgat`, changes the " "display attributes for a certain number of characters on a single line. " @@ -2778,39 +2908,43 @@ msgstr "" "display attributes for a certain number of characters on a single line. " "(Contributed by Fabian Kreutz.)" -#: ../../whatsnew/2.6.rst:1918 +#: ../../whatsnew/2.6.rst:1913 msgid "" "The :class:`Textbox` class in the :mod:`curses.textpad` module now supports " "editing in insert mode as well as overwrite mode. Insert mode is enabled by " -"supplying a true value for the *insert_mode* parameter when creating the :" -"class:`Textbox` instance." +"supplying a true value for the *insert_mode* parameter when creating " +"the :class:`Textbox` instance." msgstr "" "The :class:`Textbox` class in the :mod:`curses.textpad` module now supports " "editing in insert mode as well as overwrite mode. Insert mode is enabled by " -"supplying a true value for the *insert_mode* parameter when creating the :" -"class:`Textbox` instance." +"supplying a true value for the *insert_mode* parameter when creating " +"the :class:`Textbox` instance." -#: ../../whatsnew/2.6.rst:1923 +#: ../../whatsnew/2.6.rst:1918 msgid "" "The :mod:`datetime` module's :meth:`strftime` methods now support a ``%f`` " "format code that expands to the number of microseconds in the object, zero-" -"padded on the left to six places. (Contributed by Skip Montanaro; :issue:" -"`1158`.)" +"padded on the left to six places. (Contributed by Skip " +"Montanaro; :issue:`1158`.)" msgstr "" "The :mod:`datetime` module's :meth:`strftime` methods now support a ``%f`` " "format code that expands to the number of microseconds in the object, zero-" -"padded on the left to six places. (Contributed by Skip Montanaro; :issue:" -"`1158`.)" +"padded on the left to six places. (Contributed by Skip " +"Montanaro; :issue:`1158`.)" -#: ../../whatsnew/2.6.rst:1928 +#: ../../whatsnew/2.6.rst:1923 msgid "" "The :mod:`decimal` module was updated to version 1.66 of `the General " "Decimal Specification `__. " "New features include some methods for some basic mathematical functions such " "as :meth:`exp` and :meth:`log10`::" msgstr "" +"The :mod:`decimal` module was updated to version 1.66 of `the General " +"Decimal Specification `__. " +"New features include some methods for some basic mathematical functions such " +"as :meth:`exp` and :meth:`log10`::" -#: ../../whatsnew/2.6.rst:1940 +#: ../../whatsnew/2.6.rst:1935 msgid "" "The :meth:`as_tuple` method of :class:`Decimal` objects now returns a named " "tuple with :attr:`sign`, :attr:`digits`, and :attr:`exponent` fields." @@ -2818,7 +2952,7 @@ msgstr "" "The :meth:`as_tuple` method of :class:`Decimal` objects now returns a named " "tuple with :attr:`sign`, :attr:`digits`, and :attr:`exponent` fields." -#: ../../whatsnew/2.6.rst:1943 +#: ../../whatsnew/2.6.rst:1938 msgid "" "(Implemented by Facundo Batista and Mark Dickinson. Named tuple support " "added by Raymond Hettinger.)" @@ -2826,7 +2960,7 @@ msgstr "" "(Implemented by Facundo Batista and Mark Dickinson. Named tuple support " "added by Raymond Hettinger.)" -#: ../../whatsnew/2.6.rst:1946 +#: ../../whatsnew/2.6.rst:1941 msgid "" "The :mod:`difflib` module's :class:`SequenceMatcher` class now returns named " "tuples representing matches, with :attr:`a`, :attr:`b`, and :attr:`size` " @@ -2836,37 +2970,39 @@ msgstr "" "tuples representing matches, with :attr:`a`, :attr:`b`, and :attr:`size` " "attributes. (Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.6.rst:1951 +#: ../../whatsnew/2.6.rst:1946 msgid "" "An optional ``timeout`` parameter, specifying a timeout measured in seconds, " -"was added to the :class:`ftplib.FTP` class constructor as well as the :meth:" -"`connect` method. (Added by Facundo Batista.) Also, the :class:`FTP` " -"class's :meth:`storbinary` and :meth:`storlines` now take an optional " -"*callback* parameter that will be called with each block of data after the " -"data has been sent. (Contributed by Phil Schwartz; :issue:`1221598`.)" +"was added to the :class:`ftplib.FTP` class constructor as well as " +"the :meth:`connect` method. (Added by Facundo Batista.) Also, " +"the :class:`FTP` class's :meth:`storbinary` and :meth:`storlines` now take " +"an optional *callback* parameter that will be called with each block of data " +"after the data has been sent. (Contributed by Phil " +"Schwartz; :issue:`1221598`.)" msgstr "" "An optional ``timeout`` parameter, specifying a timeout measured in seconds, " -"was added to the :class:`ftplib.FTP` class constructor as well as the :meth:" -"`connect` method. (Added by Facundo Batista.) Also, the :class:`FTP` " -"class's :meth:`storbinary` and :meth:`storlines` now take an optional " -"*callback* parameter that will be called with each block of data after the " -"data has been sent. (Contributed by Phil Schwartz; :issue:`1221598`.)" +"was added to the :class:`ftplib.FTP` class constructor as well as " +"the :meth:`connect` method. (Added by Facundo Batista.) Also, " +"the :class:`FTP` class's :meth:`storbinary` and :meth:`storlines` now take " +"an optional *callback* parameter that will be called with each block of data " +"after the data has been sent. (Contributed by Phil " +"Schwartz; :issue:`1221598`.)" -#: ../../whatsnew/2.6.rst:1959 +#: ../../whatsnew/2.6.rst:1954 msgid "" -"The :func:`reduce` built-in function is also available in the :mod:" -"`functools` module. In Python 3.0, the builtin has been dropped and :func:" -"`reduce` is only available from :mod:`functools`; currently there are no " -"plans to drop the builtin in the 2.x series. (Patched by Christian Heimes; :" -"issue:`1739906`.)" +"The :func:`reduce` built-in function is also available in " +"the :mod:`functools` module. In Python 3.0, the builtin has been dropped " +"and :func:`reduce` is only available from :mod:`functools`; currently there " +"are no plans to drop the builtin in the 2.x series. (Patched by Christian " +"Heimes; :issue:`1739906`.)" msgstr "" -"The :func:`reduce` built-in function is also available in the :mod:" -"`functools` module. In Python 3.0, the builtin has been dropped and :func:" -"`reduce` is only available from :mod:`functools`; currently there are no " -"plans to drop the builtin in the 2.x series. (Patched by Christian Heimes; :" -"issue:`1739906`.)" +"The :func:`reduce` built-in function is also available in " +"the :mod:`functools` module. In Python 3.0, the builtin has been dropped " +"and :func:`reduce` is only available from :mod:`functools`; currently there " +"are no plans to drop the builtin in the 2.x series. (Patched by Christian " +"Heimes; :issue:`1739906`.)" -#: ../../whatsnew/2.6.rst:1965 +#: ../../whatsnew/2.6.rst:1960 msgid "" "When possible, the :mod:`getpass` module will now use :file:`/dev/tty` to " "print a prompt message and read the password, falling back to standard error " @@ -2879,17 +3015,17 @@ msgstr "" "and standard input. If the password may be echoed to the terminal, a warning " "is printed before the prompt is displayed. (Contributed by Gregory P. Smith.)" -#: ../../whatsnew/2.6.rst:1971 +#: ../../whatsnew/2.6.rst:1966 msgid "" "The :func:`glob.glob` function can now return Unicode filenames if a Unicode " -"path was used and Unicode filenames are matched within the directory. (:" -"issue:`1001604`)" +"path was used and Unicode filenames are matched within the directory. " +"(:issue:`1001604`)" msgstr "" "The :func:`glob.glob` function can now return Unicode filenames if a Unicode " -"path was used and Unicode filenames are matched within the directory. (:" -"issue:`1001604`)" +"path was used and Unicode filenames are matched within the directory. " +"(:issue:`1001604`)" -#: ../../whatsnew/2.6.rst:1975 +#: ../../whatsnew/2.6.rst:1970 msgid "" "A new function in the :mod:`heapq` module, ``merge(iter1, iter2, ...)``, " "takes any number of iterables returning data in sorted order, and returns a " @@ -2901,7 +3037,7 @@ msgstr "" "new generator that returns the contents of all the iterators, also in sorted " "order. For example::" -#: ../../whatsnew/2.6.rst:1983 +#: ../../whatsnew/2.6.rst:1978 msgid "" "Another new function, ``heappushpop(heap, item)``, pushes *item* onto " "*heap*, then pops off and returns the smallest item. This is more efficient " @@ -2911,29 +3047,33 @@ msgstr "" "*heap*, then pops off and returns the smallest item. This is more efficient " "than making a call to :func:`heappush` and then :func:`heappop`." -#: ../../whatsnew/2.6.rst:1988 +#: ../../whatsnew/2.6.rst:1983 msgid "" ":mod:`heapq` is now implemented to only use less-than comparison, instead of " -"the less-than-or-equal comparison it previously used. This makes :mod:" -"`heapq`'s usage of a type match the :meth:`list.sort` method. (Contributed " -"by Raymond Hettinger.)" +"the less-than-or-equal comparison it previously used. This " +"makes :mod:`heapq`'s usage of a type match the :meth:`list.sort` method. " +"(Contributed by Raymond Hettinger.)" msgstr "" ":mod:`heapq` is now implemented to only use less-than comparison, instead of " -"the less-than-or-equal comparison it previously used. This makes :mod:" -"`heapq`'s usage of a type match the :meth:`list.sort` method. (Contributed " -"by Raymond Hettinger.)" +"the less-than-or-equal comparison it previously used. This " +"makes :mod:`heapq`'s usage of a type match the :meth:`list.sort` method. " +"(Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.6.rst:1994 +#: ../../whatsnew/2.6.rst:1989 msgid "" "An optional ``timeout`` parameter, specifying a timeout measured in seconds, " -"was added to the :class:`httplib.HTTPConnection` and :class:" -"`HTTPSConnection` class constructors. (Added by Facundo Batista.)" +"was added to the :class:`httplib.HTTPConnection " +"` and :class:`HTTPSConnection " +"` class constructors. (Added by Facundo " +"Batista.)" msgstr "" "An optional ``timeout`` parameter, specifying a timeout measured in seconds, " -"was added to the :class:`httplib.HTTPConnection` and :class:" -"`HTTPSConnection` class constructors. (Added by Facundo Batista.)" +"was added to the :class:`httplib.HTTPConnection " +"` and :class:`HTTPSConnection " +"` class constructors. (Added by Facundo " +"Batista.)" -#: ../../whatsnew/2.6.rst:1999 +#: ../../whatsnew/2.6.rst:1994 msgid "" "Most of the :mod:`inspect` module's functions, such as :func:`getmoduleinfo` " "and :func:`getargs`, now return named tuples. In addition to behaving like " @@ -2945,19 +3085,21 @@ msgstr "" "tuples, the elements of the return value can also be accessed as attributes. " "(Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.6.rst:2005 +#: ../../whatsnew/2.6.rst:2000 msgid "" -"Some new functions in the module include :func:`isgenerator`, :func:" -"`isgeneratorfunction`, and :func:`isabstract`." +"Some new functions in the module " +"include :func:`isgenerator`, :func:`isgeneratorfunction`, " +"and :func:`isabstract`." msgstr "" -"Some new functions in the module include :func:`isgenerator`, :func:" -"`isgeneratorfunction`, and :func:`isabstract`." +"Some new functions in the module " +"include :func:`isgenerator`, :func:`isgeneratorfunction`, " +"and :func:`isabstract`." -#: ../../whatsnew/2.6.rst:2009 +#: ../../whatsnew/2.6.rst:2004 msgid "The :mod:`itertools` module gained several new functions." msgstr "The :mod:`itertools` module gained several new functions." -#: ../../whatsnew/2.6.rst:2011 +#: ../../whatsnew/2.6.rst:2006 msgid "" "``izip_longest(iter1, iter2, ...[, fillvalue])`` makes tuples from each of " "the elements; if some of the iterables are shorter than others, the missing " @@ -2967,7 +3109,7 @@ msgstr "" "the elements; if some of the iterables are shorter than others, the missing " "values are set to *fillvalue*. For example::" -#: ../../whatsnew/2.6.rst:2018 +#: ../../whatsnew/2.6.rst:2013 msgid "" "``product(iter1, iter2, ..., [repeat=N])`` returns the Cartesian product of " "the supplied iterables, a set of tuples containing every possible " @@ -2977,7 +3119,7 @@ msgstr "" "the supplied iterables, a set of tuples containing every possible " "combination of the elements returned from each iterable. ::" -#: ../../whatsnew/2.6.rst:2027 +#: ../../whatsnew/2.6.rst:2022 msgid "" "The optional *repeat* keyword argument is used for taking the product of an " "iterable or a set of iterables with themselves, repeated *N* times. With a " @@ -2987,11 +3129,11 @@ msgstr "" "iterable or a set of iterables with themselves, repeated *N* times. With a " "single iterable argument, *N*-tuples are returned::" -#: ../../whatsnew/2.6.rst:2036 +#: ../../whatsnew/2.6.rst:2031 msgid "With two iterables, *2N*-tuples are returned. ::" msgstr "With two iterables, *2N*-tuples are returned. ::" -#: ../../whatsnew/2.6.rst:2044 +#: ../../whatsnew/2.6.rst:2039 msgid "" "``combinations(iterable, r)`` returns sub-sequences of length *r* from the " "elements of *iterable*. ::" @@ -2999,7 +3141,7 @@ msgstr "" "``combinations(iterable, r)`` returns sub-sequences of length *r* from the " "elements of *iterable*. ::" -#: ../../whatsnew/2.6.rst:2055 +#: ../../whatsnew/2.6.rst:2050 msgid "" "``permutations(iter[, r])`` returns all the permutations of length *r* of " "the iterable's elements. If *r* is not specified, it will default to the " @@ -3009,39 +3151,43 @@ msgstr "" "the iterable's elements. If *r* is not specified, it will default to the " "number of elements produced by the iterable. ::" -#: ../../whatsnew/2.6.rst:2065 +#: ../../whatsnew/2.6.rst:2060 msgid "" "``itertools.chain(*iterables)`` is an existing function in :mod:`itertools` " -"that gained a new constructor in Python 2.6. ``itertools.chain." -"from_iterable(iterable)`` takes a single iterable that should return other " -"iterables. :func:`chain` will then return all the elements of the first " -"iterable, then all the elements of the second, and so on. ::" +"that gained a new constructor in Python 2.6. " +"``itertools.chain.from_iterable(iterable)`` takes a single iterable that " +"should return other iterables. :func:`chain` will then return all the " +"elements of the first iterable, then all the elements of the second, and so " +"on. ::" msgstr "" "``itertools.chain(*iterables)`` is an existing function in :mod:`itertools` " -"that gained a new constructor in Python 2.6. ``itertools.chain." -"from_iterable(iterable)`` takes a single iterable that should return other " -"iterables. :func:`chain` will then return all the elements of the first " -"iterable, then all the elements of the second, and so on. ::" +"that gained a new constructor in Python 2.6. " +"``itertools.chain.from_iterable(iterable)`` takes a single iterable that " +"should return other iterables. :func:`chain` will then return all the " +"elements of the first iterable, then all the elements of the second, and so " +"on. ::" -#: ../../whatsnew/2.6.rst:2075 +#: ../../whatsnew/2.6.rst:2070 msgid "(All contributed by Raymond Hettinger.)" msgstr "(All contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.6.rst:2077 +#: ../../whatsnew/2.6.rst:2072 msgid "" -"The :mod:`logging` module's :class:`FileHandler` class and its subclasses :" -"class:`WatchedFileHandler`, :class:`RotatingFileHandler`, and :class:" -"`TimedRotatingFileHandler` now have an optional *delay* parameter to their " -"constructors. If *delay* is true, opening of the log file is deferred until " -"the first :meth:`emit` call is made. (Contributed by Vinay Sajip.)" +"The :mod:`logging` module's :class:`FileHandler` class and its " +"subclasses :class:`WatchedFileHandler`, :class:`RotatingFileHandler`, " +"and :class:`TimedRotatingFileHandler` now have an optional *delay* parameter " +"to their constructors. If *delay* is true, opening of the log file is " +"deferred until the first :meth:`emit` call is made. (Contributed by Vinay " +"Sajip.)" msgstr "" -"The :mod:`logging` module's :class:`FileHandler` class and its subclasses :" -"class:`WatchedFileHandler`, :class:`RotatingFileHandler`, and :class:" -"`TimedRotatingFileHandler` now have an optional *delay* parameter to their " -"constructors. If *delay* is true, opening of the log file is deferred until " -"the first :meth:`emit` call is made. (Contributed by Vinay Sajip.)" +"The :mod:`logging` module's :class:`FileHandler` class and its " +"subclasses :class:`WatchedFileHandler`, :class:`RotatingFileHandler`, " +"and :class:`TimedRotatingFileHandler` now have an optional *delay* parameter " +"to their constructors. If *delay* is true, opening of the log file is " +"deferred until the first :meth:`emit` call is made. (Contributed by Vinay " +"Sajip.)" -#: ../../whatsnew/2.6.rst:2084 +#: ../../whatsnew/2.6.rst:2079 msgid "" ":class:`TimedRotatingFileHandler` also has a *utc* constructor parameter. " "If the argument is true, UTC time will be used in determining when midnight " @@ -3051,11 +3197,11 @@ msgstr "" "the argument is true, UTC time will be used in determining when midnight " "occurs and in generating filenames; otherwise local time will be used." -#: ../../whatsnew/2.6.rst:2089 +#: ../../whatsnew/2.6.rst:2084 msgid "Several new functions were added to the :mod:`math` module:" msgstr "Several new functions were added to the :mod:`math` module:" -#: ../../whatsnew/2.6.rst:2091 +#: ../../whatsnew/2.6.rst:2086 msgid "" ":func:`~math.isinf` and :func:`~math.isnan` determine whether a given float " "is a (positive or negative) infinity or a NaN (Not a Number), respectively." @@ -3063,7 +3209,7 @@ msgstr "" ":func:`~math.isinf` and :func:`~math.isnan` determine whether a given float " "is a (positive or negative) infinity or a NaN (Not a Number), respectively." -#: ../../whatsnew/2.6.rst:2094 +#: ../../whatsnew/2.6.rst:2089 msgid "" ":func:`~math.copysign` copies the sign bit of an IEEE 754 number, returning " "the absolute value of *x* combined with the sign bit of *y*. For example, " @@ -3073,7 +3219,7 @@ msgstr "" "the absolute value of *x* combined with the sign bit of *y*. For example, " "``math.copysign(1, -0.0)`` returns -1.0. (Contributed by Christian Heimes.)\\" -#: ../../whatsnew/2.6.rst:2099 +#: ../../whatsnew/2.6.rst:2094 msgid "" ":func:`~math.factorial` computes the factorial of a number. (Contributed by " "Raymond Hettinger; :issue:`2138`.)" @@ -3081,7 +3227,7 @@ msgstr "" ":func:`~math.factorial` computes the factorial of a number. (Contributed by " "Raymond Hettinger; :issue:`2138`.)" -#: ../../whatsnew/2.6.rst:2102 +#: ../../whatsnew/2.6.rst:2097 msgid "" ":func:`~math.fsum` adds up the stream of numbers from an iterable, and is " "careful to avoid loss of precision through using partial sums. (Contributed " @@ -3091,7 +3237,7 @@ msgstr "" "careful to avoid loss of precision through using partial sums. (Contributed " "by Jean Brouwers, Raymond Hettinger, and Mark Dickinson; :issue:`2819`.)" -#: ../../whatsnew/2.6.rst:2107 +#: ../../whatsnew/2.6.rst:2102 msgid "" ":func:`~math.acosh`, :func:`~math.asinh` and :func:`~math.atanh` compute the " "inverse hyperbolic functions." @@ -3099,21 +3245,23 @@ msgstr "" ":func:`~math.acosh`, :func:`~math.asinh` and :func:`~math.atanh` compute the " "inverse hyperbolic functions." -#: ../../whatsnew/2.6.rst:2110 +#: ../../whatsnew/2.6.rst:2105 msgid ":func:`~math.log1p` returns the natural logarithm of *1+x* (base *e*)." msgstr ":func:`~math.log1p` returns the natural logarithm of *1+x* (base *e*)." -#: ../../whatsnew/2.6.rst:2113 +#: ../../whatsnew/2.6.rst:2108 msgid "" -":func:`trunc` rounds a number toward zero, returning the closest :class:" -"`Integral` that's between the function's argument and zero. Added as part of " -"the backport of `PEP 3141's type hierarchy for numbers <#pep-3141>`__." +":func:`trunc` rounds a number toward zero, returning the " +"closest :class:`Integral` that's between the function's argument and zero. " +"Added as part of the backport of `PEP 3141's type hierarchy for numbers " +"<#pep-3141>`__." msgstr "" -":func:`trunc` rounds a number toward zero, returning the closest :class:" -"`Integral` that's between the function's argument and zero. Added as part of " -"the backport of `PEP 3141's type hierarchy for numbers <#pep-3141>`__." +":func:`trunc` rounds a number toward zero, returning the " +"closest :class:`Integral` that's between the function's argument and zero. " +"Added as part of the backport of `PEP 3141's type hierarchy for numbers " +"<#pep-3141>`__." -#: ../../whatsnew/2.6.rst:2118 +#: ../../whatsnew/2.6.rst:2113 msgid "" "The :mod:`math` module has been improved to give more consistent behaviour " "across platforms, especially with respect to handling of floating-point " @@ -3123,7 +3271,7 @@ msgstr "" "across platforms, especially with respect to handling of floating-point " "exceptions and IEEE 754 special values." -#: ../../whatsnew/2.6.rst:2122 +#: ../../whatsnew/2.6.rst:2117 msgid "" "Whenever possible, the module follows the recommendations of the C99 " "standard about 754's special values. For example, ``sqrt(-1.)`` should now " @@ -3131,8 +3279,8 @@ msgid "" "``sqrt(float('NaN'))`` should return a NaN on all IEEE 754 platforms. Where " "Annex 'F' of the C99 standard recommends signaling 'divide-by-zero' or " "'invalid', Python will raise :exc:`ValueError`. Where Annex 'F' of the C99 " -"standard recommends signaling 'overflow', Python will raise :exc:" -"`OverflowError`. (See :issue:`711019` and :issue:`1640`.)" +"standard recommends signaling 'overflow', Python will " +"raise :exc:`OverflowError`. (See :issue:`711019` and :issue:`1640`.)" msgstr "" "Whenever possible, the module follows the recommendations of the C99 " "standard about 754's special values. For example, ``sqrt(-1.)`` should now " @@ -3140,14 +3288,14 @@ msgstr "" "``sqrt(float('NaN'))`` should return a NaN on all IEEE 754 platforms. Where " "Annex 'F' of the C99 standard recommends signaling 'divide-by-zero' or " "'invalid', Python will raise :exc:`ValueError`. Where Annex 'F' of the C99 " -"standard recommends signaling 'overflow', Python will raise :exc:" -"`OverflowError`. (See :issue:`711019` and :issue:`1640`.)" +"standard recommends signaling 'overflow', Python will " +"raise :exc:`OverflowError`. (See :issue:`711019` and :issue:`1640`.)" -#: ../../whatsnew/2.6.rst:2132 +#: ../../whatsnew/2.6.rst:2127 msgid "(Contributed by Christian Heimes and Mark Dickinson.)" msgstr "(Contributed by Christian Heimes and Mark Dickinson.)" -#: ../../whatsnew/2.6.rst:2134 +#: ../../whatsnew/2.6.rst:2129 msgid "" ":class:`~mmap.mmap` objects now have a :meth:`rfind` method that searches " "for a substring beginning at the end of the string and searching backwards. " @@ -3159,7 +3307,7 @@ msgstr "" "The :meth:`find` method also gained an *end* parameter giving an index at " "which to stop searching. (Contributed by John Lenton.)" -#: ../../whatsnew/2.6.rst:2140 +#: ../../whatsnew/2.6.rst:2135 msgid "" "The :mod:`operator` module gained a :func:`methodcaller` function that takes " "a name and an optional set of arguments, returning a callable that will call " @@ -3169,12 +3317,12 @@ msgstr "" "a name and an optional set of arguments, returning a callable that will call " "the named function on any arguments passed to it. For example::" -#: ../../whatsnew/2.6.rst:2150 +#: ../../whatsnew/2.6.rst:2145 msgid "(Contributed by Georg Brandl, after a suggestion by Gregory Petrosyan.)" msgstr "" "(Contributed by Georg Brandl, after a suggestion by Gregory Petrosyan.)" -#: ../../whatsnew/2.6.rst:2152 +#: ../../whatsnew/2.6.rst:2147 msgid "" "The :func:`attrgetter` function now accepts dotted names and performs the " "corresponding attribute lookups::" @@ -3182,11 +3330,11 @@ msgstr "" "The :func:`attrgetter` function now accepts dotted names and performs the " "corresponding attribute lookups::" -#: ../../whatsnew/2.6.rst:2162 +#: ../../whatsnew/2.6.rst:2157 msgid "(Contributed by Georg Brandl, after a suggestion by Barry Warsaw.)" msgstr "(Contributed by Georg Brandl, after a suggestion by Barry Warsaw.)" -#: ../../whatsnew/2.6.rst:2164 +#: ../../whatsnew/2.6.rst:2159 msgid "" "The :mod:`os` module now wraps several new system calls. ``fchmod(fd, " "mode)`` and ``fchown(fd, uid, gid)`` change the mode and ownership of an " @@ -3198,7 +3346,7 @@ msgstr "" "opened file, and ``lchmod(path, mode)`` changes the mode of a symlink. " "(Contributed by Georg Brandl and Christian Heimes.)" -#: ../../whatsnew/2.6.rst:2170 +#: ../../whatsnew/2.6.rst:2165 msgid "" ":func:`chflags` and :func:`lchflags` are wrappers for the corresponding " "system calls (where they're available), changing the flags set on a file. " @@ -3214,7 +3362,7 @@ msgstr "" "changed and :const:`UF_APPEND` to indicate that data can only be appended to " "the file. (Contributed by M. Levinson.)" -#: ../../whatsnew/2.6.rst:2178 +#: ../../whatsnew/2.6.rst:2173 msgid "" "``os.closerange(low, high)`` efficiently closes all file descriptors from " "*low* to *high*, ignoring any errors and not including *high* itself. This " @@ -3226,7 +3374,7 @@ msgstr "" "function is now used by the :mod:`subprocess` module to make starting " "processes faster. (Contributed by Georg Brandl; :issue:`1663329`.)" -#: ../../whatsnew/2.6.rst:2183 +#: ../../whatsnew/2.6.rst:2178 msgid "" "The ``os.environ`` object's :meth:`clear` method will now unset the " "environment variables using :func:`os.unsetenv` in addition to clearing the " @@ -3236,7 +3384,7 @@ msgstr "" "environment variables using :func:`os.unsetenv` in addition to clearing the " "object's keys. (Contributed by Martin Horcicka; :issue:`1181`.)" -#: ../../whatsnew/2.6.rst:2187 +#: ../../whatsnew/2.6.rst:2182 msgid "" "The :func:`os.walk` function now has a ``followlinks`` parameter. If set to " "True, it will follow symlinks pointing to directories and visit the " @@ -3250,33 +3398,33 @@ msgstr "" "value is false. Note that the function can fall into an infinite recursion " "if there's a symlink that points to a parent directory. (:issue:`1273829`)" -#: ../../whatsnew/2.6.rst:2194 +#: ../../whatsnew/2.6.rst:2189 msgid "" "In the :mod:`os.path` module, the :func:`splitext` function has been changed " "to not split on leading period characters. This produces better results when " "operating on Unix's dot-files. For example, ``os.path.splitext('.ipython')`` " -"now returns ``('.ipython', '')`` instead of ``('', '.ipython')``. (:issue:" -"`1115886`)" +"now returns ``('.ipython', '')`` instead of ``('', '.ipython')``. " +"(:issue:`1115886`)" msgstr "" "In the :mod:`os.path` module, the :func:`splitext` function has been changed " "to not split on leading period characters. This produces better results when " "operating on Unix's dot-files. For example, ``os.path.splitext('.ipython')`` " -"now returns ``('.ipython', '')`` instead of ``('', '.ipython')``. (:issue:" -"`1115886`)" +"now returns ``('.ipython', '')`` instead of ``('', '.ipython')``. " +"(:issue:`1115886`)" -#: ../../whatsnew/2.6.rst:2201 +#: ../../whatsnew/2.6.rst:2196 msgid "" "A new function, ``os.path.relpath(path, start='.')``, returns a relative " "path from the ``start`` path, if it's supplied, or from the current working " -"directory to the destination ``path``. (Contributed by Richard Barran; :" -"issue:`1339796`.)" +"directory to the destination ``path``. (Contributed by Richard " +"Barran; :issue:`1339796`.)" msgstr "" "A new function, ``os.path.relpath(path, start='.')``, returns a relative " "path from the ``start`` path, if it's supplied, or from the current working " -"directory to the destination ``path``. (Contributed by Richard Barran; :" -"issue:`1339796`.)" +"directory to the destination ``path``. (Contributed by Richard " +"Barran; :issue:`1339796`.)" -#: ../../whatsnew/2.6.rst:2206 +#: ../../whatsnew/2.6.rst:2201 msgid "" "On Windows, :func:`os.path.expandvars` will now expand environment variables " "given in the form \"%var%\", and \"~user\" will be expanded into the user's " @@ -3286,7 +3434,7 @@ msgstr "" "given in the form \"%var%\", and \"~user\" will be expanded into the user's " "home directory path. (Contributed by Josiah Carlson; :issue:`957650`.)" -#: ../../whatsnew/2.6.rst:2211 +#: ../../whatsnew/2.6.rst:2206 msgid "" "The Python debugger provided by the :mod:`pdb` module gained a new command: " "\"run\" restarts the Python program being debugged and can optionally take " @@ -3298,7 +3446,7 @@ msgstr "" "new command-line arguments for the program. (Contributed by Rocky " "Bernstein; :issue:`1393667`.)" -#: ../../whatsnew/2.6.rst:2216 +#: ../../whatsnew/2.6.rst:2211 msgid "" "The :func:`pdb.post_mortem` function, used to begin debugging a traceback, " "will now use the traceback returned by :func:`sys.exc_info` if no traceback " @@ -3308,7 +3456,7 @@ msgstr "" "will now use the traceback returned by :func:`sys.exc_info` if no traceback " "is supplied. (Contributed by Facundo Batista; :issue:`1106316`.)" -#: ../../whatsnew/2.6.rst:2221 +#: ../../whatsnew/2.6.rst:2216 msgid "" "The :mod:`pickletools` module now has an :func:`optimize` function that " "takes a string containing a pickle and removes some unused opcodes, " @@ -3320,7 +3468,7 @@ msgstr "" "returning a shorter pickle that contains the same data structure. " "(Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.6.rst:2226 +#: ../../whatsnew/2.6.rst:2221 msgid "" "A :func:`get_data` function was added to the :mod:`pkgutil` module that " "returns the contents of resource files included with an installed Python " @@ -3330,21 +3478,21 @@ msgstr "" "returns the contents of resource files included with an installed Python " "package. For example::" -#: ../../whatsnew/2.6.rst:2241 +#: ../../whatsnew/2.6.rst:2236 msgid "(Contributed by Paul Moore; :issue:`2439`.)" msgstr "(Contributed by Paul Moore; :issue:`2439`.)" -#: ../../whatsnew/2.6.rst:2243 +#: ../../whatsnew/2.6.rst:2238 msgid "" -"The :mod:`pyexpat` module's :class:`Parser` objects now allow setting their :" -"attr:`buffer_size` attribute to change the size of the buffer used to hold " -"character data. (Contributed by Achim Gaedke; :issue:`1137`.)" +"The :mod:`pyexpat` module's :class:`Parser` objects now allow setting " +"their :attr:`buffer_size` attribute to change the size of the buffer used to " +"hold character data. (Contributed by Achim Gaedke; :issue:`1137`.)" msgstr "" -"The :mod:`pyexpat` module's :class:`Parser` objects now allow setting their :" -"attr:`buffer_size` attribute to change the size of the buffer used to hold " -"character data. (Contributed by Achim Gaedke; :issue:`1137`.)" +"The :mod:`pyexpat` module's :class:`Parser` objects now allow setting " +"their :attr:`buffer_size` attribute to change the size of the buffer used to " +"hold character data. (Contributed by Achim Gaedke; :issue:`1137`.)" -#: ../../whatsnew/2.6.rst:2248 +#: ../../whatsnew/2.6.rst:2243 msgid "" "The :mod:`Queue` module now provides queue variants that retrieve entries in " "different orders. The :class:`PriorityQueue` class stores queued items in a " @@ -3358,7 +3506,7 @@ msgstr "" "the most recently added entries first, meaning that it behaves like a stack. " "(Contributed by Raymond Hettinger.)" -#: ../../whatsnew/2.6.rst:2255 +#: ../../whatsnew/2.6.rst:2250 msgid "" "The :mod:`random` module's :class:`Random` objects can now be pickled on a " "32-bit system and unpickled on a 64-bit system, and vice versa. " @@ -3372,7 +3520,7 @@ msgstr "" "objects can't be unpickled correctly on earlier versions of Python. " "(Contributed by Shawn Ligocki; :issue:`1727780`.)" -#: ../../whatsnew/2.6.rst:2262 +#: ../../whatsnew/2.6.rst:2257 msgid "" "The new ``triangular(low, high, mode)`` function returns random numbers " "following a triangular distribution. The returned values are between *low* " @@ -3386,7 +3534,7 @@ msgstr "" "frequently occurring value in the distribution. (Contributed by Wladmir van " "der Laan and Raymond Hettinger; :issue:`1681432`.)" -#: ../../whatsnew/2.6.rst:2269 +#: ../../whatsnew/2.6.rst:2264 msgid "" "Long regular expression searches carried out by the :mod:`re` module will " "check for signals being delivered, so time-consuming searches can now be " @@ -3396,7 +3544,7 @@ msgstr "" "check for signals being delivered, so time-consuming searches can now be " "interrupted. (Contributed by Josh Hoyt and Ralf Schmitt; :issue:`846388`.)" -#: ../../whatsnew/2.6.rst:2274 +#: ../../whatsnew/2.6.rst:2269 msgid "" "The regular expression module is implemented by compiling bytecodes for a " "tiny regex-specific virtual machine. Untrusted code could create malicious " @@ -3410,7 +3558,7 @@ msgstr "" "verifier for the regex bytecode. (Contributed by Guido van Rossum from work " "for Google App Engine; :issue:`3487`.)" -#: ../../whatsnew/2.6.rst:2281 +#: ../../whatsnew/2.6.rst:2276 msgid "" "The :mod:`rlcompleter` module's :meth:`Completer.complete()` method will now " "ignore exceptions triggered while evaluating a name. (Fixed by Lorenz " @@ -3420,35 +3568,37 @@ msgstr "" "ignore exceptions triggered while evaluating a name. (Fixed by Lorenz " "Quack; :issue:`2250`.)" -#: ../../whatsnew/2.6.rst:2285 +#: ../../whatsnew/2.6.rst:2280 msgid "" -"The :mod:`sched` module's :class:`scheduler` instances now have a read-only :" -"attr:`queue` attribute that returns the contents of the scheduler's queue, " -"represented as a list of named tuples with the fields ``(time, priority, " -"action, argument)``. (Contributed by Raymond Hettinger; :issue:`1861`.)" +"The :mod:`sched` module's :class:`scheduler` instances now have a read-" +"only :attr:`queue` attribute that returns the contents of the scheduler's " +"queue, represented as a list of named tuples with the fields ``(time, " +"priority, action, argument)``. (Contributed by Raymond " +"Hettinger; :issue:`1861`.)" msgstr "" -"The :mod:`sched` module's :class:`scheduler` instances now have a read-only :" -"attr:`queue` attribute that returns the contents of the scheduler's queue, " -"represented as a list of named tuples with the fields ``(time, priority, " -"action, argument)``. (Contributed by Raymond Hettinger; :issue:`1861`.)" +"The :mod:`sched` module's :class:`scheduler` instances now have a read-" +"only :attr:`queue` attribute that returns the contents of the scheduler's " +"queue, represented as a list of named tuples with the fields ``(time, " +"priority, action, argument)``. (Contributed by Raymond " +"Hettinger; :issue:`1861`.)" -#: ../../whatsnew/2.6.rst:2291 +#: ../../whatsnew/2.6.rst:2286 msgid "" -"The :mod:`select` module now has wrapper functions for the Linux :c:func:" -"`epoll` and BSD :c:func:`kqueue` system calls. :meth:`modify` method was " +"The :mod:`select` module now has wrapper functions for the Linux :c:func:`!" +"epoll` and BSD :c:func:`!kqueue` system calls. :meth:`modify` method was " "added to the existing :class:`poll` objects; ``pollobj.modify(fd, " "eventmask)`` takes a file descriptor or file object and an event mask, " "modifying the recorded event mask for that file. (Contributed by Christian " "Heimes; :issue:`1657`.)" msgstr "" -"The :mod:`select` module now has wrapper functions for the Linux :c:func:" -"`epoll` and BSD :c:func:`kqueue` system calls. :meth:`modify` method was " +"The :mod:`select` module now has wrapper functions for the Linux :c:func:`!" +"epoll` and BSD :c:func:`!kqueue` system calls. :meth:`modify` method was " "added to the existing :class:`poll` objects; ``pollobj.modify(fd, " "eventmask)`` takes a file descriptor or file object and an event mask, " "modifying the recorded event mask for that file. (Contributed by Christian " "Heimes; :issue:`1657`.)" -#: ../../whatsnew/2.6.rst:2299 +#: ../../whatsnew/2.6.rst:2294 msgid "" "The :func:`shutil.copytree` function now has an optional *ignore* argument " "that takes a callable object. This callable will receive each directory " @@ -3460,7 +3610,7 @@ msgstr "" "and a list of the directory's contents, and returns a list of names that " "will be ignored, not copied." -#: ../../whatsnew/2.6.rst:2304 +#: ../../whatsnew/2.6.rst:2299 msgid "" "The :mod:`shutil` module also provides an :func:`ignore_patterns` function " "for use with this new parameter. :func:`ignore_patterns` takes an arbitrary " @@ -3476,11 +3626,11 @@ msgstr "" "example copies a directory tree, but skips both :file:`.svn` directories and " "Emacs backup files, which have names ending with '~'::" -#: ../../whatsnew/2.6.rst:2315 +#: ../../whatsnew/2.6.rst:2310 msgid "(Contributed by Tarek Ziadé; :issue:`2663`.)" msgstr "(Contributed by Tarek Ziadé; :issue:`2663`.)" -#: ../../whatsnew/2.6.rst:2317 +#: ../../whatsnew/2.6.rst:2312 msgid "" "Integrating signal handling with GUI handling event loops like those used by " "Tkinter or GTk+ has long been a problem; most software ends up polling, " @@ -3500,27 +3650,27 @@ msgstr "" "a C-level function, :c:func:`PySignal_SetWakeupFd`, for setting the " "descriptor." -#: ../../whatsnew/2.6.rst:2327 +#: ../../whatsnew/2.6.rst:2322 msgid "" "Event loops will use this by opening a pipe to create two descriptors, one " -"for reading and one for writing. The writable descriptor will be passed to :" -"func:`set_wakeup_fd`, and the readable descriptor will be added to the list " -"of descriptors monitored by the event loop via :c:func:`select` or :c:func:" -"`poll`. On receiving a signal, a byte will be written and the main event " -"loop will be woken up, avoiding the need to poll." +"for reading and one for writing. The writable descriptor will be passed " +"to :func:`set_wakeup_fd`, and the readable descriptor will be added to the " +"list of descriptors monitored by the event loop via :c:func:`!select` " +"or :c:func:`!poll`. On receiving a signal, a byte will be written and the " +"main event loop will be woken up, avoiding the need to poll." msgstr "" "Event loops will use this by opening a pipe to create two descriptors, one " -"for reading and one for writing. The writable descriptor will be passed to :" -"func:`set_wakeup_fd`, and the readable descriptor will be added to the list " -"of descriptors monitored by the event loop via :c:func:`select` or :c:func:" -"`poll`. On receiving a signal, a byte will be written and the main event " -"loop will be woken up, avoiding the need to poll." +"for reading and one for writing. The writable descriptor will be passed " +"to :func:`set_wakeup_fd`, and the readable descriptor will be added to the " +"list of descriptors monitored by the event loop via :c:func:`!select` " +"or :c:func:`!poll`. On receiving a signal, a byte will be written and the " +"main event loop will be woken up, avoiding the need to poll." -#: ../../whatsnew/2.6.rst:2335 +#: ../../whatsnew/2.6.rst:2330 msgid "(Contributed by Adam Olsen; :issue:`1583`.)" msgstr "(Contributed by Adam Olsen; :issue:`1583`.)" -#: ../../whatsnew/2.6.rst:2337 +#: ../../whatsnew/2.6.rst:2332 msgid "" "The :func:`siginterrupt` function is now available from Python code, and " "allows changing whether signals can interrupt system calls or not. " @@ -3530,7 +3680,7 @@ msgstr "" "allows changing whether signals can interrupt system calls or not. " "(Contributed by Ralf Schmitt.)" -#: ../../whatsnew/2.6.rst:2341 +#: ../../whatsnew/2.6.rst:2336 msgid "" "The :func:`setitimer` and :func:`getitimer` functions have also been added " "(where they're available). :func:`setitimer` allows setting interval timers " @@ -3544,7 +3694,7 @@ msgstr "" "time, measured in wall-clock time, consumed process time, or combined " "process+system time. (Contributed by Guilherme Polo; :issue:`2240`.)" -#: ../../whatsnew/2.6.rst:2348 +#: ../../whatsnew/2.6.rst:2343 msgid "" "The :mod:`smtplib` module now supports SMTP over SSL thanks to the addition " "of the :class:`SMTP_SSL` class. This class supports an interface identical " @@ -3560,19 +3710,19 @@ msgstr "" "specifies a timeout for the initial connection attempt, measured in seconds. " "(Contributed by Facundo Batista.)" -#: ../../whatsnew/2.6.rst:2356 +#: ../../whatsnew/2.6.rst:2351 msgid "" "An implementation of the LMTP protocol (:rfc:`2033`) was also added to the " "module. LMTP is used in place of SMTP when transferring e-mail between " -"agents that don't manage a mail queue. (LMTP implemented by Leif Hedstrom; :" -"issue:`957003`.)" +"agents that don't manage a mail queue. (LMTP implemented by Leif " +"Hedstrom; :issue:`957003`.)" msgstr "" "An implementation of the LMTP protocol (:rfc:`2033`) was also added to the " "module. LMTP is used in place of SMTP when transferring e-mail between " -"agents that don't manage a mail queue. (LMTP implemented by Leif Hedstrom; :" -"issue:`957003`.)" +"agents that don't manage a mail queue. (LMTP implemented by Leif " +"Hedstrom; :issue:`957003`.)" -#: ../../whatsnew/2.6.rst:2361 +#: ../../whatsnew/2.6.rst:2356 msgid "" ":meth:`SMTP.starttls` now complies with :rfc:`3207` and forgets any " "knowledge obtained from the server not obtained from the TLS negotiation " @@ -3582,15 +3732,19 @@ msgstr "" "knowledge obtained from the server not obtained from the TLS negotiation " "itself. (Patch contributed by Bill Fenner; :issue:`829951`.)" -#: ../../whatsnew/2.6.rst:2366 +#: ../../whatsnew/2.6.rst:2361 msgid "" "The :mod:`socket` module now supports TIPC (https://tipc.sourceforge.net/), " "a high-performance non-IP-based protocol designed for use in clustered " "environments. TIPC addresses are 4- or 5-tuples. (Contributed by Alberto " "Bertogli; :issue:`1646`.)" msgstr "" +"The :mod:`socket` module now supports TIPC (https://tipc.sourceforge.net/), " +"a high-performance non-IP-based protocol designed for use in clustered " +"environments. TIPC addresses are 4- or 5-tuples. (Contributed by Alberto " +"Bertogli; :issue:`1646`.)" -#: ../../whatsnew/2.6.rst:2371 +#: ../../whatsnew/2.6.rst:2366 msgid "" "A new function, :func:`create_connection`, takes an address and connects to " "it using an optional timeout value, returning the connected socket object. " @@ -3606,25 +3760,27 @@ msgstr "" "instead of ``socket(socket.AF_INET, ...)`` may be all that's required to " "make your code work with IPv6." -#: ../../whatsnew/2.6.rst:2379 +#: ../../whatsnew/2.6.rst:2374 msgid "" -"The base classes in the :mod:`SocketServer` module now support calling a :" -"meth:`handle_timeout` method after a span of inactivity specified by the " -"server's :attr:`timeout` attribute. (Contributed by Michael Pomraning.) " -"The :meth:`serve_forever` method now takes an optional poll interval " -"measured in seconds, controlling how often the server will check for a " -"shutdown request. (Contributed by Pedro Werneck and Jeffrey Yasskin; :issue:" -"`742598`, :issue:`1193577`.)" +"The base classes in the :mod:`SocketServer ` module now " +"support calling a :meth:`~socketserver.BaseServer.handle_timeout` method " +"after a span of inactivity specified by the " +"server's :attr:`~socketserver.BaseServer.timeout` attribute. (Contributed " +"by Michael Pomraning.) The :meth:`~socketserver.BaseServer.serve_forever` " +"method now takes an optional poll interval measured in seconds, controlling " +"how often the server will check for a shutdown request. (Contributed by " +"Pedro Werneck and Jeffrey Yasskin; :issue:`742598`, :issue:`1193577`.)" msgstr "" -"The base classes in the :mod:`SocketServer` module now support calling a :" -"meth:`handle_timeout` method after a span of inactivity specified by the " -"server's :attr:`timeout` attribute. (Contributed by Michael Pomraning.) The :" -"meth:`serve_forever` method now takes an optional poll interval measured in " -"seconds, controlling how often the server will check for a shutdown request. " -"(Contributed by Pedro Werneck and Jeffrey Yasskin; :issue:`742598`, :issue:" -"`1193577`.)" +"The base classes in the :mod:`SocketServer ` module now " +"support calling a :meth:`~socketserver.BaseServer.handle_timeout` method " +"after a span of inactivity specified by the " +"server's :attr:`~socketserver.BaseServer.timeout` attribute. (Contributed " +"by Michael Pomraning.) The :meth:`~socketserver.BaseServer.serve_forever` " +"method now takes an optional poll interval measured in seconds, controlling " +"how often the server will check for a shutdown request. (Contributed by " +"Pedro Werneck and Jeffrey Yasskin; :issue:`742598`, :issue:`1193577`.)" -#: ../../whatsnew/2.6.rst:2388 +#: ../../whatsnew/2.6.rst:2383 msgid "" "The :mod:`sqlite3` module, maintained by Gerhard Häring, has been updated " "from version 2.3.2 in Python 2.5 to version 2.4.1." @@ -3632,43 +3788,49 @@ msgstr "" "The :mod:`sqlite3` module, maintained by Gerhard Häring, has been updated " "from version 2.3.2 in Python 2.5 to version 2.4.1." -#: ../../whatsnew/2.6.rst:2392 +#: ../../whatsnew/2.6.rst:2387 msgid "" "The :mod:`struct` module now supports the C99 :c:expr:`_Bool` type, using " "the format character ``'?'``. (Contributed by David Remahl.)" msgstr "" +"The :mod:`struct` module now supports the C99 :c:expr:`_Bool` type, using " +"the format character ``'?'``. (Contributed by David Remahl.)" -#: ../../whatsnew/2.6.rst:2396 +#: ../../whatsnew/2.6.rst:2391 msgid "" -"The :class:`Popen` objects provided by the :mod:`subprocess` module now " -"have :meth:`terminate`, :meth:`kill`, and :meth:`send_signal` methods. On " -"Windows, :meth:`send_signal` only supports the :const:`SIGTERM` signal, and " -"all these methods are aliases for the Win32 API function :c:func:" -"`TerminateProcess`. (Contributed by Christian Heimes.)" +"The :class:`~subprocess.Popen` objects provided by the :mod:`subprocess` " +"module now " +"have :meth:`~subprocess.Popen.terminate`, :meth:`~subprocess.Popen.kill`, " +"and :meth:`~subprocess.Popen.send_signal` methods. On Windows, :meth:`!" +"send_signal` only supports the :py:const:`~signal.SIGTERM` signal, and all " +"these methods are aliases for the Win32 API function :c:func:`!" +"TerminateProcess`. (Contributed by Christian Heimes.)" msgstr "" -"The :class:`Popen` objects provided by the :mod:`subprocess` module now " -"have :meth:`terminate`, :meth:`kill`, and :meth:`send_signal` methods. On " -"Windows, :meth:`send_signal` only supports the :const:`SIGTERM` signal, and " -"all these methods are aliases for the Win32 API function :c:func:" -"`TerminateProcess`. (Contributed by Christian Heimes.)" +"The :class:`~subprocess.Popen` objects provided by the :mod:`subprocess` " +"module now " +"have :meth:`~subprocess.Popen.terminate`, :meth:`~subprocess.Popen.kill`, " +"and :meth:`~subprocess.Popen.send_signal` methods. On Windows, :meth:`!" +"send_signal` only supports the :py:const:`~signal.SIGTERM` signal, and all " +"these methods are aliases for the Win32 API function :c:func:`!" +"TerminateProcess`. (Contributed by Christian Heimes.)" -#: ../../whatsnew/2.6.rst:2403 +#: ../../whatsnew/2.6.rst:2398 msgid "" "A new variable in the :mod:`sys` module, :attr:`float_info`, is an object " "containing information derived from the :file:`float.h` file about the " -"platform's floating-point support. Attributes of this object include :attr:" -"`mant_dig` (number of digits in the mantissa), :attr:`epsilon` (smallest " -"difference between 1.0 and the next largest value representable), and " -"several others. (Contributed by Christian Heimes; :issue:`1534`.)" +"platform's floating-point support. Attributes of this object " +"include :attr:`mant_dig` (number of digits in the mantissa), :attr:`epsilon` " +"(smallest difference between 1.0 and the next largest value representable), " +"and several others. (Contributed by Christian Heimes; :issue:`1534`.)" msgstr "" "A new variable in the :mod:`sys` module, :attr:`float_info`, is an object " "containing information derived from the :file:`float.h` file about the " -"platform's floating-point support. Attributes of this object include :attr:" -"`mant_dig` (number of digits in the mantissa), :attr:`epsilon` (smallest " -"difference between 1.0 and the next largest value representable), and " -"several others. (Contributed by Christian Heimes; :issue:`1534`.)" +"platform's floating-point support. Attributes of this object " +"include :attr:`mant_dig` (number of digits in the mantissa), :attr:`epsilon` " +"(smallest difference between 1.0 and the next largest value representable), " +"and several others. (Contributed by Christian Heimes; :issue:`1534`.)" -#: ../../whatsnew/2.6.rst:2411 +#: ../../whatsnew/2.6.rst:2406 msgid "" "Another new variable, :attr:`dont_write_bytecode`, controls whether Python " "writes any :file:`.pyc` or :file:`.pyo` files on importing a module. If this " @@ -3688,7 +3850,7 @@ msgstr "" "the value of this variable to control whether bytecode files are written or " "not. (Contributed by Neal Norwitz and Georg Brandl.)" -#: ../../whatsnew/2.6.rst:2422 +#: ../../whatsnew/2.6.rst:2417 msgid "" "Information about the command-line arguments supplied to the Python " "interpreter is available by reading attributes of a named tuple available as " @@ -3702,21 +3864,21 @@ msgstr "" "was executed in verbose mode, :attr:`debug` is true in debugging mode, etc. " "These attributes are all read-only. (Contributed by Christian Heimes.)" -#: ../../whatsnew/2.6.rst:2430 +#: ../../whatsnew/2.6.rst:2425 msgid "" "A new function, :func:`getsizeof`, takes a Python object and returns the " "amount of memory used by the object, measured in bytes. Built-in objects " -"return correct results; third-party extensions may not, but can define a :" -"meth:`__sizeof__` method to return the object's size. (Contributed by Robert " -"Schuppenies; :issue:`2898`.)" +"return correct results; third-party extensions may not, but can define " +"a :meth:`__sizeof__` method to return the object's size. (Contributed by " +"Robert Schuppenies; :issue:`2898`.)" msgstr "" "A new function, :func:`getsizeof`, takes a Python object and returns the " "amount of memory used by the object, measured in bytes. Built-in objects " -"return correct results; third-party extensions may not, but can define a :" -"meth:`__sizeof__` method to return the object's size. (Contributed by Robert " -"Schuppenies; :issue:`2898`.)" +"return correct results; third-party extensions may not, but can define " +"a :meth:`__sizeof__` method to return the object's size. (Contributed by " +"Robert Schuppenies; :issue:`2898`.)" -#: ../../whatsnew/2.6.rst:2437 +#: ../../whatsnew/2.6.rst:2432 msgid "" "It's now possible to determine the current profiler and tracer functions by " "calling :func:`sys.getprofile` and :func:`sys.gettrace`. (Contributed by " @@ -3726,7 +3888,7 @@ msgstr "" "calling :func:`sys.getprofile` and :func:`sys.gettrace`. (Contributed by " "Georg Brandl; :issue:`1648`.)" -#: ../../whatsnew/2.6.rst:2441 +#: ../../whatsnew/2.6.rst:2436 msgid "" "The :mod:`tarfile` module now supports POSIX.1-2001 (pax) tarfiles in " "addition to the POSIX.1-1988 (ustar) and GNU tar formats that were already " @@ -3738,7 +3900,7 @@ msgstr "" "supported. The default format is GNU tar; specify the ``format`` parameter " "to open a file using a different format::" -#: ../../whatsnew/2.6.rst:2449 +#: ../../whatsnew/2.6.rst:2444 msgid "" "The new ``encoding`` and ``errors`` parameters specify an encoding and an " "error handling scheme for character conversions. ``'strict'``, " @@ -3754,7 +3916,7 @@ msgstr "" "representation. (Character conversions occur because the PAX format supports " "Unicode filenames, defaulting to UTF-8 encoding.)" -#: ../../whatsnew/2.6.rst:2457 +#: ../../whatsnew/2.6.rst:2452 msgid "" "The :meth:`TarFile.add` method now accepts an ``exclude`` argument that's a " "function that can be used to exclude certain filenames from an archive. The " @@ -3763,12 +3925,18 @@ msgid "" "initially passed to :meth:`add` and to the names of files in recursively " "added directories." msgstr "" +"The :meth:`TarFile.add` method now accepts an ``exclude`` argument that's a " +"function that can be used to exclude certain filenames from an archive. The " +"function must take a filename and return true if the file should be excluded " +"or false if it should be archived. The function is applied to both the name " +"initially passed to :meth:`add` and to the names of files in recursively " +"added directories." -#: ../../whatsnew/2.6.rst:2465 +#: ../../whatsnew/2.6.rst:2460 msgid "(All changes contributed by Lars Gustäbel)." msgstr "(All changes contributed by Lars Gustäbel)." -#: ../../whatsnew/2.6.rst:2467 +#: ../../whatsnew/2.6.rst:2462 msgid "" "An optional ``timeout`` parameter was added to the :class:`telnetlib.Telnet` " "class constructor, specifying a timeout measured in seconds. (Added by " @@ -3778,7 +3946,7 @@ msgstr "" "class constructor, specifying a timeout measured in seconds. (Added by " "Facundo Batista.)" -#: ../../whatsnew/2.6.rst:2471 +#: ../../whatsnew/2.6.rst:2466 msgid "" "The :class:`tempfile.NamedTemporaryFile` class usually deletes the temporary " "file it created when the file is closed. This behaviour can now be changed " @@ -3790,7 +3958,7 @@ msgstr "" "by passing ``delete=False`` to the constructor. (Contributed by Damien " "Miller; :issue:`1537850`.)" -#: ../../whatsnew/2.6.rst:2476 +#: ../../whatsnew/2.6.rst:2471 msgid "" "A new class, :class:`SpooledTemporaryFile`, behaves like a temporary file " "but stores its data in memory until a maximum size is exceeded. On reaching " @@ -3802,31 +3970,33 @@ msgstr "" "that limit, the contents will be written to an on-disk temporary file. " "(Contributed by Dustin J. Mitchell.)" -#: ../../whatsnew/2.6.rst:2481 +#: ../../whatsnew/2.6.rst:2476 msgid "" "The :class:`NamedTemporaryFile` and :class:`SpooledTemporaryFile` classes " -"both work as context managers, so you can write ``with tempfile." -"NamedTemporaryFile() as tmp: ...``. (Contributed by Alexander Belopolsky; :" -"issue:`2021`.)" +"both work as context managers, so you can write ``with " +"tempfile.NamedTemporaryFile() as tmp: ...``. (Contributed by Alexander " +"Belopolsky; :issue:`2021`.)" msgstr "" "The :class:`NamedTemporaryFile` and :class:`SpooledTemporaryFile` classes " -"both work as context managers, so you can write ``with tempfile." -"NamedTemporaryFile() as tmp: ...``. (Contributed by Alexander Belopolsky; :" -"issue:`2021`.)" +"both work as context managers, so you can write ``with " +"tempfile.NamedTemporaryFile() as tmp: ...``. (Contributed by Alexander " +"Belopolsky; :issue:`2021`.)" -#: ../../whatsnew/2.6.rst:2486 +#: ../../whatsnew/2.6.rst:2481 msgid "" -"The :mod:`test.test_support` module gained a number of context managers " -"useful for writing tests. :func:`EnvironmentVarGuard` is a context manager " -"that temporarily changes environment variables and automatically restores " -"them to their old values." +"The :mod:`test.test_support ` module gained a number of " +"context managers useful for writing " +"tests. :func:`~test.support.os_helper.EnvironmentVarGuard` is a context " +"manager that temporarily changes environment variables and automatically " +"restores them to their old values." msgstr "" -"The :mod:`test.test_support` module gained a number of context managers " -"useful for writing tests. :func:`EnvironmentVarGuard` is a context manager " -"that temporarily changes environment variables and automatically restores " -"them to their old values." +"The :mod:`test.test_support ` module gained a number of " +"context managers useful for writing " +"tests. :func:`~test.support.os_helper.EnvironmentVarGuard` is a context " +"manager that temporarily changes environment variables and automatically " +"restores them to their old values." -#: ../../whatsnew/2.6.rst:2492 +#: ../../whatsnew/2.6.rst:2487 msgid "" "Another context manager, :class:`TransientResource`, can surround calls to " "resources that may or may not be available; it will catch and ignore a " @@ -3838,7 +4008,7 @@ msgstr "" "specified list of exceptions. For example, a network test may ignore certain " "failures when connecting to an external web site::" -#: ../../whatsnew/2.6.rst:2503 +#: ../../whatsnew/2.6.rst:2498 msgid "" "Finally, :func:`check_warnings` resets the :mod:`warning` module's warning " "filters and returns an object that will record all warning messages " @@ -3848,70 +4018,73 @@ msgstr "" "filters and returns an object that will record all warning messages " "triggered (:issue:`3781`)::" -#: ../../whatsnew/2.6.rst:2513 +#: ../../whatsnew/2.6.rst:2508 msgid "(Contributed by Brett Cannon.)" msgstr "(Contributed by Brett Cannon.)" -#: ../../whatsnew/2.6.rst:2515 +#: ../../whatsnew/2.6.rst:2510 msgid "" "The :mod:`textwrap` module can now preserve existing whitespace at the " "beginnings and ends of the newly created lines by specifying " "``drop_whitespace=False`` as an argument::" msgstr "" +"The :mod:`textwrap` module can now preserve existing whitespace at the " +"beginnings and ends of the newly created lines by specifying " +"``drop_whitespace=False`` as an argument::" -#: ../../whatsnew/2.6.rst:2534 +#: ../../whatsnew/2.6.rst:2529 msgid "(Contributed by Dwayne Bailey; :issue:`1581073`.)" msgstr "(Contributed by Dwayne Bailey; :issue:`1581073`.)" -#: ../../whatsnew/2.6.rst:2536 -msgid "" -"The :mod:`threading` module API is being changed to use properties such as :" -"attr:`daemon` instead of :meth:`setDaemon` and :meth:`isDaemon` methods, and " -"some methods have been renamed to use underscores instead of camel-case; for " -"example, the :meth:`activeCount` method is renamed to :meth:`active_count`. " -"Both the 2.6 and 3.0 versions of the module support the same properties and " -"renamed methods, but don't remove the old methods. No date has been set for " -"the deprecation of the old APIs in Python 3.x; the old APIs won't be removed " -"in any 2.x version. (Carried out by several people, most notably Benjamin " -"Peterson.)" -msgstr "" -"The :mod:`threading` module API is being changed to use properties such as :" -"attr:`daemon` instead of :meth:`setDaemon` and :meth:`isDaemon` methods, and " -"some methods have been renamed to use underscores instead of camel-case; for " -"example, the :meth:`activeCount` method is renamed to :meth:`active_count`. " -"Both the 2.6 and 3.0 versions of the module support the same properties and " -"renamed methods, but don't remove the old methods. No date has been set for " -"the deprecation of the old APIs in Python 3.x; the old APIs won't be removed " -"in any 2.x version. (Carried out by several people, most notably Benjamin " -"Peterson.)" +#: ../../whatsnew/2.6.rst:2531 +msgid "" +"The :mod:`threading` module API is being changed to use properties such " +"as :attr:`daemon` instead of :meth:`setDaemon` and :meth:`isDaemon` methods, " +"and some methods have been renamed to use underscores instead of camel-case; " +"for example, the :meth:`activeCount` method is renamed " +"to :meth:`active_count`. Both the 2.6 and 3.0 versions of the module " +"support the same properties and renamed methods, but don't remove the old " +"methods. No date has been set for the deprecation of the old APIs in Python " +"3.x; the old APIs won't be removed in any 2.x version. (Carried out by " +"several people, most notably Benjamin Peterson.)" +msgstr "" +"The :mod:`threading` module API is being changed to use properties such " +"as :attr:`daemon` instead of :meth:`setDaemon` and :meth:`isDaemon` methods, " +"and some methods have been renamed to use underscores instead of camel-case; " +"for example, the :meth:`activeCount` method is renamed " +"to :meth:`active_count`. Both the 2.6 and 3.0 versions of the module support " +"the same properties and renamed methods, but don't remove the old methods. " +"No date has been set for the deprecation of the old APIs in Python 3.x; the " +"old APIs won't be removed in any 2.x version. (Carried out by several " +"people, most notably Benjamin Peterson.)" + +#: ../../whatsnew/2.6.rst:2542 +msgid "" +"The :mod:`threading` module's :class:`Thread` objects gained " +"an :attr:`ident` property that returns the thread's identifier, a nonzero " +"integer. (Contributed by Gregory P. Smith; :issue:`2871`.)" +msgstr "" +"The :mod:`threading` module's :class:`Thread` objects gained " +"an :attr:`ident` property that returns the thread's identifier, a nonzero " +"integer. (Contributed by Gregory P. Smith; :issue:`2871`.)" #: ../../whatsnew/2.6.rst:2547 msgid "" -"The :mod:`threading` module's :class:`Thread` objects gained an :attr:" -"`ident` property that returns the thread's identifier, a nonzero integer. " -"(Contributed by Gregory P. Smith; :issue:`2871`.)" -msgstr "" -"The :mod:`threading` module's :class:`Thread` objects gained an :attr:" -"`ident` property that returns the thread's identifier, a nonzero integer. " -"(Contributed by Gregory P. Smith; :issue:`2871`.)" - -#: ../../whatsnew/2.6.rst:2552 -msgid "" "The :mod:`timeit` module now accepts callables as well as strings for the " "statement being timed and for the setup code. Two convenience functions were " "added for creating :class:`Timer` instances: ``repeat(stmt, setup, time, " "repeat, number)`` and ``timeit(stmt, setup, time, number)`` create an " -"instance and call the corresponding method. (Contributed by Erik Demaine; :" -"issue:`1533909`.)" +"instance and call the corresponding method. (Contributed by Erik " +"Demaine; :issue:`1533909`.)" msgstr "" "The :mod:`timeit` module now accepts callables as well as strings for the " "statement being timed and for the setup code. Two convenience functions were " "added for creating :class:`Timer` instances: ``repeat(stmt, setup, time, " "repeat, number)`` and ``timeit(stmt, setup, time, number)`` create an " -"instance and call the corresponding method. (Contributed by Erik Demaine; :" -"issue:`1533909`.)" +"instance and call the corresponding method. (Contributed by Erik " +"Demaine; :issue:`1533909`.)" -#: ../../whatsnew/2.6.rst:2561 +#: ../../whatsnew/2.6.rst:2556 msgid "" "The :mod:`Tkinter` module now accepts lists and tuples for options, " "separating the elements by spaces before passing the resulting value to Tcl/" @@ -3921,7 +4094,7 @@ msgstr "" "separating the elements by spaces before passing the resulting value to Tcl/" "Tk. (Contributed by Guilherme Polo; :issue:`2906`.)" -#: ../../whatsnew/2.6.rst:2566 +#: ../../whatsnew/2.6.rst:2561 msgid "" "The :mod:`turtle` module for turtle graphics was greatly enhanced by Gregor " "Lingl. New features in the module include:" @@ -3929,11 +4102,11 @@ msgstr "" "The :mod:`turtle` module for turtle graphics was greatly enhanced by Gregor " "Lingl. New features in the module include:" -#: ../../whatsnew/2.6.rst:2569 +#: ../../whatsnew/2.6.rst:2564 msgid "Better animation of turtle movement and rotation." msgstr "Better animation of turtle movement and rotation." -#: ../../whatsnew/2.6.rst:2570 +#: ../../whatsnew/2.6.rst:2565 msgid "" "Control over turtle movement using the new :meth:`delay`, :meth:`tracer`, " "and :meth:`speed` methods." @@ -3941,7 +4114,7 @@ msgstr "" "Control over turtle movement using the new :meth:`delay`, :meth:`tracer`, " "and :meth:`speed` methods." -#: ../../whatsnew/2.6.rst:2572 +#: ../../whatsnew/2.6.rst:2567 msgid "" "The ability to set new shapes for the turtle, and to define a new coordinate " "system." @@ -3949,11 +4122,11 @@ msgstr "" "The ability to set new shapes for the turtle, and to define a new coordinate " "system." -#: ../../whatsnew/2.6.rst:2574 +#: ../../whatsnew/2.6.rst:2569 msgid "Turtles now have an :meth:`undo()` method that can roll back actions." msgstr "Turtles now have an :meth:`undo()` method that can roll back actions." -#: ../../whatsnew/2.6.rst:2575 +#: ../../whatsnew/2.6.rst:2570 msgid "" "Simple support for reacting to input events such as mouse and keyboard " "activity, making it possible to write simple games." @@ -3961,7 +4134,7 @@ msgstr "" "Simple support for reacting to input events such as mouse and keyboard " "activity, making it possible to write simple games." -#: ../../whatsnew/2.6.rst:2577 +#: ../../whatsnew/2.6.rst:2572 msgid "" "A :file:`turtle.cfg` file can be used to customize the starting appearance " "of the turtle's screen." @@ -3969,7 +4142,7 @@ msgstr "" "A :file:`turtle.cfg` file can be used to customize the starting appearance " "of the turtle's screen." -#: ../../whatsnew/2.6.rst:2579 +#: ../../whatsnew/2.6.rst:2574 msgid "" "The module's docstrings can be replaced by new docstrings that have been " "translated into another language." @@ -3977,27 +4150,29 @@ msgstr "" "The module's docstrings can be replaced by new docstrings that have been " "translated into another language." -#: ../../whatsnew/2.6.rst:2582 +#: ../../whatsnew/2.6.rst:2577 msgid "(:issue:`1513695`)" msgstr "(:issue:`1513695`)" -#: ../../whatsnew/2.6.rst:2584 +#: ../../whatsnew/2.6.rst:2579 msgid "" -"An optional ``timeout`` parameter was added to the :func:`urllib.urlopen` " -"function and the :class:`urllib.ftpwrapper` class constructor, as well as " -"the :func:`urllib2.urlopen` function. The parameter specifies a timeout " -"measured in seconds. For example::" +"An optional ``timeout`` parameter was added to the :func:`urllib.urlopen " +"` function and the :class:`urllib.ftpwrapper` class " +"constructor, as well as the :func:`urllib2.urlopen ` " +"function. The parameter specifies a timeout measured in seconds. For " +"example::" msgstr "" -"An optional ``timeout`` parameter was added to the :func:`urllib.urlopen` " -"function and the :class:`urllib.ftpwrapper` class constructor, as well as " -"the :func:`urllib2.urlopen` function. The parameter specifies a timeout " -"measured in seconds. For example::" +"An optional ``timeout`` parameter was added to the :func:`urllib.urlopen " +"` function and the :class:`urllib.ftpwrapper` class " +"constructor, as well as the :func:`urllib2.urlopen ` " +"function. The parameter specifies a timeout measured in seconds. For " +"example::" -#: ../../whatsnew/2.6.rst:2597 +#: ../../whatsnew/2.6.rst:2592 msgid "(Added by Facundo Batista.)" msgstr "(Added by Facundo Batista.)" -#: ../../whatsnew/2.6.rst:2599 +#: ../../whatsnew/2.6.rst:2594 msgid "" "The Unicode database provided by the :mod:`unicodedata` module has been " "updated to version 5.1.0. (Updated by Martin von Löwis; :issue:`3811`.)" @@ -4005,7 +4180,7 @@ msgstr "" "The Unicode database provided by the :mod:`unicodedata` module has been " "updated to version 5.1.0. (Updated by Martin von Löwis; :issue:`3811`.)" -#: ../../whatsnew/2.6.rst:2603 +#: ../../whatsnew/2.6.rst:2598 msgid "" "The :mod:`warnings` module's :func:`formatwarning` and :func:`showwarning` " "gained an optional *line* argument that can be used to supply the line of " @@ -4017,7 +4192,7 @@ msgstr "" "source code. (Added as part of :issue:`1631171`, which re-implemented part " "of the :mod:`warnings` module in C code.)" -#: ../../whatsnew/2.6.rst:2608 +#: ../../whatsnew/2.6.rst:2603 msgid "" "A new function, :func:`catch_warnings`, is a context manager intended for " "testing purposes that lets you temporarily modify the warning filters and " @@ -4027,18 +4202,27 @@ msgstr "" "testing purposes that lets you temporarily modify the warning filters and " "then restore their original values (:issue:`3781`)." -#: ../../whatsnew/2.6.rst:2612 +#: ../../whatsnew/2.6.rst:2607 msgid "" -"The XML-RPC :class:`SimpleXMLRPCServer` and :class:`DocXMLRPCServer` classes " -"can now be prevented from immediately opening and binding to their socket by " -"passing ``False`` as the *bind_and_activate* constructor parameter. This " -"can be used to modify the instance's :attr:`allow_reuse_address` attribute " -"before calling the :meth:`server_bind` and :meth:`server_activate` methods " -"to open the socket and begin listening for connections. (Contributed by " -"Peter Parente; :issue:`1599845`.)" +"The XML-RPC :class:`SimpleXMLRPCServer ` " +"and :class:`DocXMLRPCServer ` classes can now be prevented " +"from immediately opening and binding to their socket by passing ``False`` as " +"the *bind_and_activate* constructor parameter. This can be used to modify " +"the instance's :attr:`allow_reuse_address` attribute before calling " +"the :meth:`server_bind` and :meth:`server_activate` methods to open the " +"socket and begin listening for connections. (Contributed by Peter " +"Parente; :issue:`1599845`.)" msgstr "" +"The XML-RPC :class:`SimpleXMLRPCServer ` " +"and :class:`DocXMLRPCServer ` classes can now be prevented " +"from immediately opening and binding to their socket by passing ``False`` as " +"the *bind_and_activate* constructor parameter. This can be used to modify " +"the instance's :attr:`allow_reuse_address` attribute before calling " +"the :meth:`server_bind` and :meth:`server_activate` methods to open the " +"socket and begin listening for connections. (Contributed by Peter " +"Parente; :issue:`1599845`.)" -#: ../../whatsnew/2.6.rst:2621 +#: ../../whatsnew/2.6.rst:2616 msgid "" ":class:`SimpleXMLRPCServer` also has a :attr:`_send_traceback_header` " "attribute; if true, the exception and formatted traceback are returned as " @@ -4056,27 +4240,29 @@ msgstr "" "(Contributed by Alan McIntyre as part of his project for Google's Summer of " "Code 2007.)" -#: ../../whatsnew/2.6.rst:2629 +#: ../../whatsnew/2.6.rst:2624 msgid "" -"The :mod:`xmlrpclib` module no longer automatically converts :class:" -"`datetime.date` and :class:`datetime.time` to the :class:`xmlrpclib." -"DateTime` type; the conversion semantics were not necessarily correct for " -"all applications. Code using :mod:`xmlrpclib` should convert :class:`date` " +"The :mod:`xmlrpclib ` module no longer automatically " +"converts :class:`datetime.date` and :class:`datetime.time` to " +"the :class:`xmlrpclib.DateTime ` type; the " +"conversion semantics were not necessarily correct for all applications. " +"Code using :mod:`!xmlrpclib` should convert :class:`date` " "and :class:`~datetime.time` instances. (:issue:`1330538`) The code can also " "handle dates before 1900 (contributed by Ralf Schmitt; :issue:`2014`) and 64-" "bit integers represented by using ```` in XML-RPC responses (contributed " "by Riku Lindblad; :issue:`2985`)." msgstr "" -"The :mod:`xmlrpclib` module no longer automatically converts :class:" -"`datetime.date` and :class:`datetime.time` to the :class:`xmlrpclib." -"DateTime` type; the conversion semantics were not necessarily correct for " -"all applications. Code using :mod:`xmlrpclib` should convert :class:`date` " -"and :class:`~datetime.time` instances. (:issue:`1330538`) The code can also " +"The :mod:`xmlrpclib ` module no longer automatically " +"converts :class:`datetime.date` and :class:`datetime.time` to " +"the :class:`xmlrpclib.DateTime ` type; the " +"conversion semantics were not necessarily correct for all applications. " +"Code using :mod:`!xmlrpclib` should convert :class:`date` " +"and :class:`~datetime.time` instances. (:issue:`1330538`) The code can also " "handle dates before 1900 (contributed by Ralf Schmitt; :issue:`2014`) and 64-" "bit integers represented by using ```` in XML-RPC responses (contributed " "by Riku Lindblad; :issue:`2985`)." -#: ../../whatsnew/2.6.rst:2639 +#: ../../whatsnew/2.6.rst:2634 msgid "" "The :mod:`zipfile` module's :class:`ZipFile` class now has :meth:`extract` " "and :meth:`extractall` methods that will unpack a single file or all the " @@ -4086,11 +4272,11 @@ msgstr "" "and :meth:`extractall` methods that will unpack a single file or all the " "files in the archive to the current directory, or to a specified directory::" -#: ../../whatsnew/2.6.rst:2653 +#: ../../whatsnew/2.6.rst:2648 msgid "(Contributed by Alan McIntyre; :issue:`467924`.)" msgstr "(Contributed by Alan McIntyre; :issue:`467924`.)" -#: ../../whatsnew/2.6.rst:2655 +#: ../../whatsnew/2.6.rst:2650 msgid "" "The :meth:`open`, :meth:`read` and :meth:`extract` methods can now take " "either a filename or a :class:`ZipInfo` object. This is useful when an " @@ -4102,7 +4288,7 @@ msgstr "" "archive accidentally contains a duplicated filename. (Contributed by Graham " "Horler; :issue:`1775025`.)" -#: ../../whatsnew/2.6.rst:2660 +#: ../../whatsnew/2.6.rst:2655 msgid "" "Finally, :mod:`zipfile` now supports using Unicode filenames for archived " "files. (Contributed by Alexey Borzenkov; :issue:`1734346`.)" @@ -4110,11 +4296,11 @@ msgstr "" "Finally, :mod:`zipfile` now supports using Unicode filenames for archived " "files. (Contributed by Alexey Borzenkov; :issue:`1734346`.)" -#: ../../whatsnew/2.6.rst:2667 +#: ../../whatsnew/2.6.rst:2662 msgid "The :mod:`ast` module" msgstr "The :mod:`ast` module" -#: ../../whatsnew/2.6.rst:2669 +#: ../../whatsnew/2.6.rst:2664 msgid "" "The :mod:`ast` module provides an Abstract Syntax Tree representation of " "Python code, and Armin Ronacher contributed a set of helper functions that " @@ -4126,19 +4312,21 @@ msgstr "" "perform a variety of common tasks. These will be useful for HTML templating " "packages, code analyzers, and similar tools that process Python code." -#: ../../whatsnew/2.6.rst:2676 +#: ../../whatsnew/2.6.rst:2671 msgid "" -"The :func:`parse` function takes an expression and returns an AST. The :func:" -"`dump` function outputs a representation of a tree, suitable for debugging::" +"The :func:`parse` function takes an expression and returns an AST. " +"The :func:`dump` function outputs a representation of a tree, suitable for " +"debugging::" msgstr "" -"The :func:`parse` function takes an expression and returns an AST. The :func:" -"`dump` function outputs a representation of a tree, suitable for debugging::" +"The :func:`parse` function takes an expression and returns an AST. " +"The :func:`dump` function outputs a representation of a tree, suitable for " +"debugging::" -#: ../../whatsnew/2.6.rst:2690 +#: ../../whatsnew/2.6.rst:2685 msgid "This outputs a deeply nested tree::" msgstr "This outputs a deeply nested tree::" -#: ../../whatsnew/2.6.rst:2723 +#: ../../whatsnew/2.6.rst:2718 msgid "" "The :func:`literal_eval` method takes a string or an AST representing a " "literal expression, parses and evaluates it, and returns the resulting " @@ -4151,10 +4339,10 @@ msgstr "" "literal expression, parses and evaluates it, and returns the resulting " "value. A literal expression is a Python expression containing only strings, " "numbers, dictionaries, etc. but no statements or function calls. If you need " -"to evaluate an expression but cannot accept the security risk of using an :" -"func:`eval` call, :func:`literal_eval` will handle it safely::" +"to evaluate an expression but cannot accept the security risk of using " +"an :func:`eval` call, :func:`literal_eval` will handle it safely::" -#: ../../whatsnew/2.6.rst:2739 +#: ../../whatsnew/2.6.rst:2734 msgid "" "The module also includes :class:`NodeVisitor` and :class:`NodeTransformer` " "classes for traversing and modifying an AST, and functions for common " @@ -4164,11 +4352,11 @@ msgstr "" "classes for traversing and modifying an AST, and functions for common " "transformations such as changing line numbers." -#: ../../whatsnew/2.6.rst:2747 +#: ../../whatsnew/2.6.rst:2742 msgid "The :mod:`future_builtins` module" msgstr "The :mod:`future_builtins` module" -#: ../../whatsnew/2.6.rst:2749 +#: ../../whatsnew/2.6.rst:2744 msgid "" "Python 3.0 makes many changes to the repertoire of built-in functions, and " "most of the changes can't be introduced in the Python 2.x series because " @@ -4182,11 +4370,11 @@ msgstr "" "versions of these built-in functions that can be imported when writing 3.0-" "compatible code." -#: ../../whatsnew/2.6.rst:2756 +#: ../../whatsnew/2.6.rst:2751 msgid "The functions in this module currently include:" msgstr "The functions in this module currently include:" -#: ../../whatsnew/2.6.rst:2758 +#: ../../whatsnew/2.6.rst:2753 msgid "" "``ascii(obj)``: equivalent to :func:`repr`. In Python 3.0, :func:`repr` " "will return a Unicode string, while :func:`ascii` will return a pure ASCII " @@ -4196,7 +4384,7 @@ msgstr "" "return a Unicode string, while :func:`ascii` will return a pure ASCII " "bytestring." -#: ../../whatsnew/2.6.rst:2762 +#: ../../whatsnew/2.6.rst:2757 msgid "" "``filter(predicate, iterable)``, ``map(func, iterable1, ...)``: the 3.0 " "versions return iterators, unlike the 2.x builtins which return lists." @@ -4204,23 +4392,23 @@ msgstr "" "``filter(predicate, iterable)``, ``map(func, iterable1, ...)``: the 3.0 " "versions return iterators, unlike the 2.x builtins which return lists." -#: ../../whatsnew/2.6.rst:2766 +#: ../../whatsnew/2.6.rst:2761 msgid "" -"``hex(value)``, ``oct(value)``: instead of calling the :meth:`__hex__` or :" -"meth:`__oct__` methods, these versions will call the :meth:`__index__` " +"``hex(value)``, ``oct(value)``: instead of calling the :meth:`__hex__` " +"or :meth:`__oct__` methods, these versions will call the :meth:`__index__` " "method and convert the result to hexadecimal or octal. :func:`oct` will use " "the new ``0o`` notation for its result." msgstr "" -"``hex(value)``, ``oct(value)``: instead of calling the :meth:`__hex__` or :" -"meth:`__oct__` methods, these versions will call the :meth:`__index__` " +"``hex(value)``, ``oct(value)``: instead of calling the :meth:`__hex__` " +"or :meth:`__oct__` methods, these versions will call the :meth:`__index__` " "method and convert the result to hexadecimal or octal. :func:`oct` will use " "the new ``0o`` notation for its result." -#: ../../whatsnew/2.6.rst:2775 +#: ../../whatsnew/2.6.rst:2770 msgid "The :mod:`json` module: JavaScript Object Notation" msgstr "The :mod:`json` module: JavaScript Object Notation" -#: ../../whatsnew/2.6.rst:2777 +#: ../../whatsnew/2.6.rst:2772 msgid "" "The new :mod:`json` module supports the encoding and decoding of Python " "types in JSON (Javascript Object Notation). JSON is a lightweight " @@ -4232,7 +4420,7 @@ msgstr "" "interchange format often used in web applications. For more information " "about JSON, see http://www.json.org." -#: ../../whatsnew/2.6.rst:2782 +#: ../../whatsnew/2.6.rst:2777 msgid "" ":mod:`json` comes with support for decoding and encoding most built-in " "Python types. The following example encodes and decodes a dictionary::" @@ -4240,7 +4428,7 @@ msgstr "" ":mod:`json` comes with support for decoding and encoding most built-in " "Python types. The following example encodes and decodes a dictionary::" -#: ../../whatsnew/2.6.rst:2793 +#: ../../whatsnew/2.6.rst:2788 msgid "" "It's also possible to write your own decoders and encoders to support more " "types. Pretty-printing of the JSON strings is also supported." @@ -4248,16 +4436,16 @@ msgstr "" "It's also possible to write your own decoders and encoders to support more " "types. Pretty-printing of the JSON strings is also supported." -#: ../../whatsnew/2.6.rst:2796 +#: ../../whatsnew/2.6.rst:2791 msgid ":mod:`json` (originally called simplejson) was written by Bob Ippolito." msgstr "" ":mod:`json` (originally called simplejson) was written by Bob Ippolito." -#: ../../whatsnew/2.6.rst:2803 +#: ../../whatsnew/2.6.rst:2798 msgid "The :mod:`plistlib` module: A Property-List Parser" msgstr "The :mod:`plistlib` module: A Property-List Parser" -#: ../../whatsnew/2.6.rst:2805 +#: ../../whatsnew/2.6.rst:2800 msgid "" "The ``.plist`` format is commonly used on Mac OS X to store basic data types " "(numbers, strings, lists, and dictionaries) by serializing them into an XML-" @@ -4267,7 +4455,7 @@ msgstr "" "(numbers, strings, lists, and dictionaries) by serializing them into an XML-" "based format. It resembles the XML-RPC serialization of data types." -#: ../../whatsnew/2.6.rst:2810 +#: ../../whatsnew/2.6.rst:2805 msgid "" "Despite being primarily used on Mac OS X, the format has nothing Mac-" "specific about it and the Python implementation works on any platform that " @@ -4279,21 +4467,21 @@ msgstr "" "Python supports, so the :mod:`plistlib` module has been promoted to the " "standard library." -#: ../../whatsnew/2.6.rst:2815 +#: ../../whatsnew/2.6.rst:2810 msgid "Using the module is simple::" msgstr "Using the module is simple::" -#: ../../whatsnew/2.6.rst:2842 +#: ../../whatsnew/2.6.rst:2837 msgid "ctypes Enhancements" msgstr "ctypes Enhancements" -#: ../../whatsnew/2.6.rst:2844 +#: ../../whatsnew/2.6.rst:2839 msgid "" "Thomas Heller continued to maintain and enhance the :mod:`ctypes` module." msgstr "" "Thomas Heller continued to maintain and enhance the :mod:`ctypes` module." -#: ../../whatsnew/2.6.rst:2847 +#: ../../whatsnew/2.6.rst:2842 msgid "" ":mod:`ctypes` now supports a :class:`c_bool` datatype that represents the " "C99 ``bool`` type. (Contributed by David Remahl; :issue:`1649190`.)" @@ -4301,7 +4489,7 @@ msgstr "" ":mod:`ctypes` now supports a :class:`c_bool` datatype that represents the " "C99 ``bool`` type. (Contributed by David Remahl; :issue:`1649190`.)" -#: ../../whatsnew/2.6.rst:2851 +#: ../../whatsnew/2.6.rst:2846 msgid "" "The :mod:`ctypes` string, buffer and array types have improved support for " "extended slicing syntax, where various combinations of ``(start, stop, " @@ -4311,19 +4499,19 @@ msgstr "" "extended slicing syntax, where various combinations of ``(start, stop, " "step)`` are supplied. (Implemented by Thomas Wouters.)" -#: ../../whatsnew/2.6.rst:2858 +#: ../../whatsnew/2.6.rst:2853 msgid "" -"All :mod:`ctypes` data types now support :meth:`from_buffer` and :meth:" -"`from_buffer_copy` methods that create a ctypes instance based on a provided " -"buffer object. :meth:`from_buffer_copy` copies the contents of the object, " -"while :meth:`from_buffer` will share the same memory area." +"All :mod:`ctypes` data types now support :meth:`from_buffer` " +"and :meth:`from_buffer_copy` methods that create a ctypes instance based on " +"a provided buffer object. :meth:`from_buffer_copy` copies the contents of " +"the object, while :meth:`from_buffer` will share the same memory area." msgstr "" -"All :mod:`ctypes` data types now support :meth:`from_buffer` and :meth:" -"`from_buffer_copy` methods that create a ctypes instance based on a provided " -"buffer object. :meth:`from_buffer_copy` copies the contents of the object, " -"while :meth:`from_buffer` will share the same memory area." +"All :mod:`ctypes` data types now support :meth:`from_buffer` " +"and :meth:`from_buffer_copy` methods that create a ctypes instance based on " +"a provided buffer object. :meth:`from_buffer_copy` copies the contents of " +"the object, while :meth:`from_buffer` will share the same memory area." -#: ../../whatsnew/2.6.rst:2865 +#: ../../whatsnew/2.6.rst:2860 msgid "" "A new calling convention tells :mod:`ctypes` to clear the ``errno`` or Win32 " "LastError variables at the outset of each wrapped call. (Implemented by " @@ -4333,7 +4521,7 @@ msgstr "" "LastError variables at the outset of each wrapped call. (Implemented by " "Thomas Heller; :issue:`1798`.)" -#: ../../whatsnew/2.6.rst:2869 +#: ../../whatsnew/2.6.rst:2864 msgid "" "You can now retrieve the Unix ``errno`` variable after a function call. " "When creating a wrapped function, you can supply ``use_errno=True`` as a " @@ -4347,19 +4535,19 @@ msgstr "" "methods :meth:`set_errno` and :meth:`get_errno` to set and retrieve the " "error value." -#: ../../whatsnew/2.6.rst:2875 +#: ../../whatsnew/2.6.rst:2870 msgid "" -"The Win32 LastError variable is similarly supported by the :func:`DLL`, :" -"func:`OleDLL`, and :func:`WinDLL` functions. You supply " +"The Win32 LastError variable is similarly supported by " +"the :func:`DLL`, :func:`OleDLL`, and :func:`WinDLL` functions. You supply " "``use_last_error=True`` as a keyword parameter and then call the module-" "level methods :meth:`set_last_error` and :meth:`get_last_error`." msgstr "" -"The Win32 LastError variable is similarly supported by the :func:`DLL`, :" -"func:`OleDLL`, and :func:`WinDLL` functions. You supply " +"The Win32 LastError variable is similarly supported by " +"the :func:`DLL`, :func:`OleDLL`, and :func:`WinDLL` functions. You supply " "``use_last_error=True`` as a keyword parameter and then call the module-" "level methods :meth:`set_last_error` and :meth:`get_last_error`." -#: ../../whatsnew/2.6.rst:2881 +#: ../../whatsnew/2.6.rst:2876 msgid "" "The :func:`byref` function, used to retrieve a pointer to a ctypes instance, " "now has an optional *offset* parameter that is a byte count that will be " @@ -4369,11 +4557,11 @@ msgstr "" "now has an optional *offset* parameter that is a byte count that will be " "added to the returned pointer." -#: ../../whatsnew/2.6.rst:2888 +#: ../../whatsnew/2.6.rst:2883 msgid "Improved SSL Support" msgstr "Improved SSL Support" -#: ../../whatsnew/2.6.rst:2890 +#: ../../whatsnew/2.6.rst:2885 msgid "" "Bill Janssen made extensive improvements to Python 2.6's support for the " "Secure Sockets Layer by adding a new module, :mod:`ssl`, that's built atop " @@ -4391,7 +4579,7 @@ msgstr "" "Python. The existing SSL support in the :mod:`socket` module hasn't been " "removed and continues to work, though it will be removed in Python 3.0." -#: ../../whatsnew/2.6.rst:2899 +#: ../../whatsnew/2.6.rst:2894 msgid "" "To use the new module, you must first create a TCP connection in the usual " "way and then pass it to the :func:`ssl.wrap_socket` function. It's possible " @@ -4403,33 +4591,33 @@ msgstr "" "to specify whether a certificate is required, and to obtain certificate info " "by calling the :meth:`getpeercert` method." -#: ../../whatsnew/2.6.rst:2906 +#: ../../whatsnew/2.6.rst:2901 msgid "The documentation for the :mod:`ssl` module." msgstr "The documentation for the :mod:`ssl` module." -#: ../../whatsnew/2.6.rst:2911 +#: ../../whatsnew/2.6.rst:2906 msgid "Deprecations and Removals" msgstr "Deprecations and Removals" -#: ../../whatsnew/2.6.rst:2913 ../../whatsnew/2.6.rst:3241 +#: ../../whatsnew/2.6.rst:2908 ../../whatsnew/2.6.rst:3263 msgid "" -"String exceptions have been removed. Attempting to use them raises a :exc:" -"`TypeError`." +"String exceptions have been removed. Attempting to use them raises " +"a :exc:`TypeError`." msgstr "" -"String exceptions have been removed. Attempting to use them raises a :exc:" -"`TypeError`." +"String exceptions have been removed. Attempting to use them raises " +"a :exc:`TypeError`." -#: ../../whatsnew/2.6.rst:2916 +#: ../../whatsnew/2.6.rst:2911 msgid "" "Changes to the :class:`Exception` interface as dictated by :pep:`352` " -"continue to be made. For 2.6, the :attr:`message` attribute is being " -"deprecated in favor of the :attr:`args` attribute." +"continue to be made. For 2.6, the :attr:`!message` attribute is being " +"deprecated in favor of the :attr:`~BaseException.args` attribute." msgstr "" "Changes to the :class:`Exception` interface as dictated by :pep:`352` " -"continue to be made. For 2.6, the :attr:`message` attribute is being " -"deprecated in favor of the :attr:`args` attribute." +"continue to be made. For 2.6, the :attr:`!message` attribute is being " +"deprecated in favor of the :attr:`~BaseException.args` attribute." -#: ../../whatsnew/2.6.rst:2921 +#: ../../whatsnew/2.6.rst:2916 msgid "" "(3.0-warning mode) Python 3.0 will feature a reorganized standard library " "that will drop many outdated modules and rename others. Python 2.6 running " @@ -4439,97 +4627,101 @@ msgstr "" "that will drop many outdated modules and rename others. Python 2.6 running " "in 3.0-warning mode will warn about these modules when they are imported." -#: ../../whatsnew/2.6.rst:2926 +#: ../../whatsnew/2.6.rst:2921 msgid "" -"The list of deprecated modules is: :mod:`audiodev`, :mod:`bgenlocations`, :" -"mod:`buildtools`, :mod:`bundlebuilder`, :mod:`Canvas`, :mod:`compiler`, :mod:" -"`dircache`, :mod:`dl`, :mod:`fpformat`, :mod:`gensuitemodule`, :mod:" -"`ihooks`, :mod:`imageop`, :mod:`imgfile`, :mod:`linuxaudiodev`, :mod:" -"`mhlib`, :mod:`mimetools`, :mod:`multifile`, :mod:`new`, :mod:`pure`, :mod:" -"`statvfs`, :mod:`sunaudiodev`, :mod:`test.testall`, and :mod:`toaiff`." +"The list of deprecated modules is: :mod:`!audiodev`, :mod:`!" +"bgenlocations`, :mod:`!buildtools`, :mod:`!bundlebuilder`, :mod:`!" +"Canvas`, :mod:`!compiler`, :mod:`!dircache`, :mod:`!dl`, :mod:`!" +"fpformat`, :mod:`!gensuitemodule`, :mod:`!ihooks`, :mod:`!imageop`, :mod:`!" +"imgfile`, :mod:`!linuxaudiodev`, :mod:`!mhlib`, :mod:`!mimetools`, :mod:`!" +"multifile`, :mod:`!new`, :mod:`!pure`, :mod:`!statvfs`, :mod:`!" +"sunaudiodev`, :mod:`!test.testall`, and :mod:`!toaiff`." msgstr "" -"The list of deprecated modules is: :mod:`audiodev`, :mod:`bgenlocations`, :" -"mod:`buildtools`, :mod:`bundlebuilder`, :mod:`Canvas`, :mod:`compiler`, :mod:" -"`dircache`, :mod:`dl`, :mod:`fpformat`, :mod:`gensuitemodule`, :mod:" -"`ihooks`, :mod:`imageop`, :mod:`imgfile`, :mod:`linuxaudiodev`, :mod:" -"`mhlib`, :mod:`mimetools`, :mod:`multifile`, :mod:`new`, :mod:`pure`, :mod:" -"`statvfs`, :mod:`sunaudiodev`, :mod:`test.testall`, and :mod:`toaiff`." +"The list of deprecated modules is: :mod:`!audiodev`, :mod:`!" +"bgenlocations`, :mod:`!buildtools`, :mod:`!bundlebuilder`, :mod:`!" +"Canvas`, :mod:`!compiler`, :mod:`!dircache`, :mod:`!dl`, :mod:`!" +"fpformat`, :mod:`!gensuitemodule`, :mod:`!ihooks`, :mod:`!imageop`, :mod:`!" +"imgfile`, :mod:`!linuxaudiodev`, :mod:`!mhlib`, :mod:`!mimetools`, :mod:`!" +"multifile`, :mod:`!new`, :mod:`!pure`, :mod:`!statvfs`, :mod:`!" +"sunaudiodev`, :mod:`!test.testall`, and :mod:`!toaiff`." -#: ../../whatsnew/2.6.rst:2951 -msgid "The :mod:`gopherlib` module has been removed." -msgstr "The :mod:`gopherlib` module has been removed." +#: ../../whatsnew/2.6.rst:2946 +msgid "The :mod:`!gopherlib` module has been removed." +msgstr "The :mod:`!gopherlib` module has been removed." -#: ../../whatsnew/2.6.rst:2953 +#: ../../whatsnew/2.6.rst:2948 msgid "" -"The :mod:`MimeWriter` module and :mod:`mimify` module have been deprecated; " -"use the :mod:`email` package instead." +"The :mod:`!MimeWriter` module and :mod:`!mimify` module have been " +"deprecated; use the :mod:`email` package instead." msgstr "" -"The :mod:`MimeWriter` module and :mod:`mimify` module have been deprecated; " -"use the :mod:`email` package instead." +"The :mod:`!MimeWriter` module and :mod:`!mimify` module have been " +"deprecated; use the :mod:`email` package instead." -#: ../../whatsnew/2.6.rst:2957 +#: ../../whatsnew/2.6.rst:2952 msgid "" -"The :mod:`md5` module has been deprecated; use the :mod:`hashlib` module " +"The :mod:`!md5` module has been deprecated; use the :mod:`hashlib` module " "instead." msgstr "" -"The :mod:`md5` module has been deprecated; use the :mod:`hashlib` module " +"The :mod:`!md5` module has been deprecated; use the :mod:`hashlib` module " "instead." -#: ../../whatsnew/2.6.rst:2960 +#: ../../whatsnew/2.6.rst:2955 msgid "" -"The :mod:`posixfile` module has been deprecated; :func:`fcntl.lockf` " +"The :mod:`!posixfile` module has been deprecated; :func:`fcntl.lockf` " "provides better locking." msgstr "" -"The :mod:`posixfile` module has been deprecated; :func:`fcntl.lockf` " +"The :mod:`!posixfile` module has been deprecated; :func:`fcntl.lockf` " "provides better locking." -#: ../../whatsnew/2.6.rst:2963 +#: ../../whatsnew/2.6.rst:2958 msgid "" -"The :mod:`popen2` module has been deprecated; use the :mod:`subprocess` " +"The :mod:`!popen2` module has been deprecated; use the :mod:`subprocess` " "module." msgstr "" -"The :mod:`popen2` module has been deprecated; use the :mod:`subprocess` " +"The :mod:`!popen2` module has been deprecated; use the :mod:`subprocess` " "module." -#: ../../whatsnew/2.6.rst:2966 -msgid "The :mod:`rgbimg` module has been removed." -msgstr "The :mod:`rgbimg` module has been removed." +#: ../../whatsnew/2.6.rst:2961 +msgid "The :mod:`!rgbimg` module has been removed." +msgstr "The :mod:`!rgbimg` module has been removed." -#: ../../whatsnew/2.6.rst:2968 +#: ../../whatsnew/2.6.rst:2963 msgid "" -"The :mod:`sets` module has been deprecated; it's better to use the built-in :" -"class:`set` and :class:`frozenset` types." +"The :mod:`!sets` module has been deprecated; it's better to use the built-" +"in :class:`set` and :class:`frozenset` types." msgstr "" -"The :mod:`sets` module has been deprecated; it's better to use the built-in :" -"class:`set` and :class:`frozenset` types." +"The :mod:`!sets` module has been deprecated; it's better to use the built-" +"in :class:`set` and :class:`frozenset` types." -#: ../../whatsnew/2.6.rst:2971 +#: ../../whatsnew/2.6.rst:2966 msgid "" -"The :mod:`sha` module has been deprecated; use the :mod:`hashlib` module " +"The :mod:`!sha` module has been deprecated; use the :mod:`hashlib` module " "instead." msgstr "" -"The :mod:`sha` module has been deprecated; use the :mod:`hashlib` module " +"The :mod:`!sha` module has been deprecated; use the :mod:`hashlib` module " "instead." -#: ../../whatsnew/2.6.rst:2979 +#: ../../whatsnew/2.6.rst:2974 msgid "Build and C API Changes" -msgstr "Alterações a compilações e API C" +msgstr "Mudanças a construções e API C" -#: ../../whatsnew/2.6.rst:2981 +#: ../../whatsnew/2.6.rst:2976 msgid "Changes to Python's build process and to the C API include:" -msgstr "Changes to Python's build process and to the C API include:" +msgstr "As alterações no processo de construção do Python e na API C incluem:" -#: ../../whatsnew/2.6.rst:2983 +#: ../../whatsnew/2.6.rst:2978 msgid "" "Python now must be compiled with C89 compilers (after 19 years!). This " -"means that the Python source tree has dropped its own implementations of :c:" -"func:`memmove` and :c:func:`strerror`, which are in the C89 standard library." +"means that the Python source tree has dropped its own implementations " +"of :c:func:`!memmove` and :c:func:`!strerror`, which are in the C89 standard " +"library." msgstr "" -"Python now must be compiled with C89 compilers (after 19 years!). This means " -"that the Python source tree has dropped its own implementations of :c:func:" -"`memmove` and :c:func:`strerror`, which are in the C89 standard library." +"Python now must be compiled with C89 compilers (after 19 years!). This " +"means that the Python source tree has dropped its own implementations " +"of :c:func:`!memmove` and :c:func:`!strerror`, which are in the C89 standard " +"library." -#: ../../whatsnew/2.6.rst:2988 +#: ../../whatsnew/2.6.rst:2983 msgid "" "Python 2.6 can be built with Microsoft Visual Studio 2008 (version 9.0), and " "this is the new default compiler. See the :file:`PCbuild` directory for the " @@ -4539,31 +4731,90 @@ msgstr "" "this is the new default compiler. See the :file:`PCbuild` directory for the " "build files. (Implemented by Christian Heimes.)" -#: ../../whatsnew/2.6.rst:2993 +#: ../../whatsnew/2.6.rst:2988 +msgid "" +"On Mac OS X, Python 2.6 can be compiled as a 4-way universal build. " +"The :program:`configure` script can take a :option:`!--with-universal-" +"archs=[32-bit|64-bit|all]` switch, controlling whether the binaries are " +"built for 32-bit architectures (x86, PowerPC), 64-bit (x86-64 and PPC-64), " +"or both. (Contributed by Ronald Oussoren.)" +msgstr "" +"On Mac OS X, Python 2.6 can be compiled as a 4-way universal build. " +"The :program:`configure` script can take a :option:`!--with-universal-" +"archs=[32-bit|64-bit|all]` switch, controlling whether the binaries are " +"built for 32-bit architectures (x86, PowerPC), 64-bit (x86-64 and PPC-64), " +"or both. (Contributed by Ronald Oussoren.)" + +#: ../../whatsnew/2.6.rst:2995 msgid "" -"On Mac OS X, Python 2.6 can be compiled as a 4-way universal build. The :" -"program:`configure` script can take a :option:`!--with-universal-archs=[32-" -"bit|64-bit|all]` switch, controlling whether the binaries are built for 32-" -"bit architectures (x86, PowerPC), 64-bit (x86-64 and PPC-64), or both. " -"(Contributed by Ronald Oussoren.)" +"A new function added in Python 2.6.6, :c:func:`!PySys_SetArgvEx`, sets the " +"value of ``sys.argv`` and can optionally update ``sys.path`` to include the " +"directory containing the script named by ``sys.argv[0]`` depending on the " +"value of an *updatepath* parameter." msgstr "" -"On Mac OS X, Python 2.6 can be compiled as a 4-way universal build. The :" -"program:`configure` script can take a :option:`!--with-universal-archs=[32-" -"bit|64-bit|all]` switch, controlling whether the binaries are built for 32-" -"bit architectures (x86, PowerPC), 64-bit (x86-64 and PPC-64), or both. " -"(Contributed by Ronald Oussoren.)" +"A new function added in Python 2.6.6, :c:func:`!PySys_SetArgvEx`, sets the " +"value of ``sys.argv`` and can optionally update ``sys.path`` to include the " +"directory containing the script named by ``sys.argv[0]`` depending on the " +"value of an *updatepath* parameter." #: ../../whatsnew/2.6.rst:3000 msgid "" -"The BerkeleyDB module now has a C API object, available as ``bsddb.db." -"api``. This object can be used by other C extensions that wish to use the :" -"mod:`bsddb` module for their own purposes. (Contributed by Duncan Grisby.)" +"This function was added to close a security hole for applications that embed " +"Python. The old function, :c:func:`!PySys_SetArgv`, would always update " +"``sys.path``, and sometimes it would add the current directory. This meant " +"that, if you ran an application embedding Python in a directory controlled " +"by someone else, attackers could put a Trojan-horse module in the directory " +"(say, a file named :file:`os.py`) that your application would then import " +"and run." +msgstr "" +"Esta função foi adicionada para fechar uma falha de segurança em aplicativos " +"que incorporam Python. A função antiga, :c:func:`!PySys_SetArgv`, sempre " +"atualizava ``sys.path``, e às vezes adicionava o diretório atual. Isso " +"significava que, se você executasse uma aplicação incorporando Python em um " +"diretório controlado por outra pessoa, os invasores poderiam colocar um " +"módulo cavalo de Troia no diretório (digamos, um arquivo " +"chamado :file:`os.py`) que sua aplicação então usaria. importar e executar." + +#: ../../whatsnew/2.6.rst:3008 +msgid "" +"If you maintain a C/C++ application that embeds Python, check whether you're " +"calling :c:func:`!PySys_SetArgv` and carefully consider whether the " +"application should be using :c:func:`!PySys_SetArgvEx` with *updatepath* set " +"to false. Note that using this function will break compatibility with " +"Python versions 2.6.5 and earlier; if you have to continue working with " +"earlier versions, you can leave the call to :c:func:`!PySys_SetArgv` alone " +"and call ``PyRun_SimpleString(\"sys.path.pop(0)\\n\")`` afterwards to " +"discard the first ``sys.path`` component." +msgstr "" +"If you maintain a C/C++ application that embeds Python, check whether you're " +"calling :c:func:`!PySys_SetArgv` and carefully consider whether the " +"application should be using :c:func:`!PySys_SetArgvEx` with *updatepath* set " +"to false. Note that using this function will break compatibility with " +"Python versions 2.6.5 and earlier; if you have to continue working with " +"earlier versions, you can leave the call to :c:func:`!PySys_SetArgv` alone " +"and call ``PyRun_SimpleString(\"sys.path.pop(0)\\n\")`` afterwards to " +"discard the first ``sys.path`` component." + +#: ../../whatsnew/2.6.rst:3018 +msgid "" +"Security issue reported as `CVE-2008-5983 `_; discussed in :gh:`50003`, and fixed by " +"Antoine Pitrou." +msgstr "" + +#: ../../whatsnew/2.6.rst:3022 +msgid "" +"The BerkeleyDB module now has a C API object, available as " +"``bsddb.db.api``. This object can be used by other C extensions that wish " +"to use the :mod:`bsddb` module for their own purposes. (Contributed by " +"Duncan Grisby.)" msgstr "" "The BerkeleyDB module now has a C API object, available as ``bsddb.db.api``. " -"This object can be used by other C extensions that wish to use the :mod:" -"`bsddb` module for their own purposes. (Contributed by Duncan Grisby.)" +"This object can be used by other C extensions that wish to use " +"the :mod:`bsddb` module for their own purposes. (Contributed by Duncan " +"Grisby.)" -#: ../../whatsnew/2.6.rst:3005 +#: ../../whatsnew/2.6.rst:3027 msgid "" "The new buffer interface, previously described in `the PEP 3118 section " "<#pep-3118-revised-buffer-protocol>`__, adds :c:func:`PyObject_GetBuffer` " @@ -4573,49 +4824,49 @@ msgstr "" "<#pep-3118-revised-buffer-protocol>`__, adds :c:func:`PyObject_GetBuffer` " "and :c:func:`PyBuffer_Release`, as well as a few other functions." -#: ../../whatsnew/2.6.rst:3010 +#: ../../whatsnew/2.6.rst:3032 msgid "" "Python's use of the C stdio library is now thread-safe, or at least as " "thread-safe as the underlying library is. A long-standing potential bug " "occurred if one thread closed a file object while another thread was reading " "from or writing to the object. In 2.6 file objects have a reference count, " -"manipulated by the :c:func:`PyFile_IncUseCount` and :c:func:" -"`PyFile_DecUseCount` functions. File objects can't be closed unless the " -"reference count is zero. :c:func:`PyFile_IncUseCount` should be called " +"manipulated by the :c:func:`!PyFile_IncUseCount` and :c:func:`!" +"PyFile_DecUseCount` functions. File objects can't be closed unless the " +"reference count is zero. :c:func:`!PyFile_IncUseCount` should be called " "while the GIL is still held, before carrying out an I/O operation using the " -"``FILE *`` pointer, and :c:func:`PyFile_DecUseCount` should be called " +"``FILE *`` pointer, and :c:func:`!PyFile_DecUseCount` should be called " "immediately after the GIL is re-acquired. (Contributed by Antoine Pitrou and " "Gregory P. Smith.)" msgstr "" "Python's use of the C stdio library is now thread-safe, or at least as " -"thread-safe as the underlying library is. A long-standing potential bug " +"thread-safe as the underlying library is. A long-standing potential bug " "occurred if one thread closed a file object while another thread was reading " -"from or writing to the object. In 2.6 file objects have a reference count, " -"manipulated by the :c:func:`PyFile_IncUseCount` and :c:func:" -"`PyFile_DecUseCount` functions. File objects can't be closed unless the " -"reference count is zero. :c:func:`PyFile_IncUseCount` should be called while " -"the GIL is still held, before carrying out an I/O operation using the ``FILE " -"*`` pointer, and :c:func:`PyFile_DecUseCount` should be called immediately " -"after the GIL is re-acquired. (Contributed by Antoine Pitrou and Gregory P. " -"Smith.)" +"from or writing to the object. In 2.6 file objects have a reference count, " +"manipulated by the :c:func:`!PyFile_IncUseCount` and :c:func:`!" +"PyFile_DecUseCount` functions. File objects can't be closed unless the " +"reference count is zero. :c:func:`!PyFile_IncUseCount` should be called " +"while the GIL is still held, before carrying out an I/O operation using the " +"``FILE *`` pointer, and :c:func:`!PyFile_DecUseCount` should be called " +"immediately after the GIL is re-acquired. (Contributed by Antoine Pitrou and " +"Gregory P. Smith.)" -#: ../../whatsnew/2.6.rst:3023 +#: ../../whatsnew/2.6.rst:3045 msgid "" "Importing modules simultaneously in two different threads no longer " -"deadlocks; it will now raise an :exc:`ImportError`. A new API function, :c:" -"func:`PyImport_ImportModuleNoBlock`, will look for a module in ``sys." -"modules`` first, then try to import it after acquiring an import lock. If " -"the import lock is held by another thread, an :exc:`ImportError` is raised. " -"(Contributed by Christian Heimes.)" +"deadlocks; it will now raise an :exc:`ImportError`. A new API " +"function, :c:func:`PyImport_ImportModuleNoBlock`, will look for a module in " +"``sys.modules`` first, then try to import it after acquiring an import " +"lock. If the import lock is held by another thread, an :exc:`ImportError` " +"is raised. (Contributed by Christian Heimes.)" msgstr "" "Importing modules simultaneously in two different threads no longer " -"deadlocks; it will now raise an :exc:`ImportError`. A new API function, :c:" -"func:`PyImport_ImportModuleNoBlock`, will look for a module in ``sys." -"modules`` first, then try to import it after acquiring an import lock. If " -"the import lock is held by another thread, an :exc:`ImportError` is raised. " -"(Contributed by Christian Heimes.)" +"deadlocks; it will now raise an :exc:`ImportError`. A new API " +"function, :c:func:`PyImport_ImportModuleNoBlock`, will look for a module in " +"``sys.modules`` first, then try to import it after acquiring an import lock. " +"If the import lock is held by another thread, an :exc:`ImportError` is " +"raised. (Contributed by Christian Heimes.)" -#: ../../whatsnew/2.6.rst:3031 +#: ../../whatsnew/2.6.rst:3053 msgid "" "Several functions return information about the platform's floating-point " "support. :c:func:`PyFloat_GetMax` returns the maximum representable " @@ -4635,7 +4886,7 @@ msgstr "" "and the next largest value representable), and several others. (Contributed " "by Christian Heimes; :issue:`1534`.)" -#: ../../whatsnew/2.6.rst:3042 +#: ../../whatsnew/2.6.rst:3064 msgid "" "C functions and methods that use :c:func:`PyComplex_AsCComplex` will now " "accept arguments that have a :meth:`__complex__` method. In particular, the " @@ -4649,7 +4900,7 @@ msgstr "" "method. This is a backport of a Python 3.0 change. (Contributed by Mark " "Dickinson; :issue:`1675423`.)" -#: ../../whatsnew/2.6.rst:3049 +#: ../../whatsnew/2.6.rst:3071 msgid "" "Python's C API now includes two functions for case-insensitive string " "comparisons, ``PyOS_stricmp(char*, char*)`` and ``PyOS_strnicmp(char*, " @@ -4659,45 +4910,47 @@ msgstr "" "comparisons, ``PyOS_stricmp(char*, char*)`` and ``PyOS_strnicmp(char*, " "char*, Py_ssize_t)``. (Contributed by Christian Heimes; :issue:`1635`.)" -#: ../../whatsnew/2.6.rst:3054 +#: ../../whatsnew/2.6.rst:3076 msgid "" "Many C extensions define their own little macro for adding integers and " "strings to the module's dictionary in the ``init*`` function. Python 2.6 " -"finally defines standard macros for adding values to a module, :c:macro:" -"`PyModule_AddStringMacro` and :c:macro:`PyModule_AddIntMacro()`. " -"(Contributed by Christian Heimes.)" +"finally defines standard macros for adding values to a " +"module, :c:macro:`PyModule_AddStringMacro` " +"and :c:macro:`PyModule_AddIntMacro()`. (Contributed by Christian Heimes.)" msgstr "" "Many C extensions define their own little macro for adding integers and " "strings to the module's dictionary in the ``init*`` function. Python 2.6 " -"finally defines standard macros for adding values to a module, :c:macro:" -"`PyModule_AddStringMacro` and :c:macro:`PyModule_AddIntMacro()`. " -"(Contributed by Christian Heimes.)" +"finally defines standard macros for adding values to a " +"module, :c:macro:`PyModule_AddStringMacro` " +"and :c:macro:`PyModule_AddIntMacro()`. (Contributed by Christian Heimes.)" -#: ../../whatsnew/2.6.rst:3061 +#: ../../whatsnew/2.6.rst:3083 msgid "" "Some macros were renamed in both 3.0 and 2.6 to make it clearer that they " -"are macros, not functions. :c:macro:`Py_Size()` became :c:macro:" -"`Py_SIZE()`, :c:macro:`Py_Type()` became :c:macro:`Py_TYPE()`, and :c:macro:" -"`Py_Refcnt()` became :c:macro:`Py_REFCNT()`. The mixed-case macros are still " -"available in Python 2.6 for backward compatibility. (:issue:`1629`)" +"are macros, not functions. :c:macro:`!Py_Size()` " +"became :c:macro:`Py_SIZE()`, :c:macro:`!Py_Type()` " +"became :c:macro:`Py_TYPE()`, and :c:macro:`!Py_Refcnt()` " +"became :c:macro:`Py_REFCNT()`. The mixed-case macros are still available in " +"Python 2.6 for backward compatibility. (:issue:`1629`)" msgstr "" "Some macros were renamed in both 3.0 and 2.6 to make it clearer that they " -"are macros, not functions. :c:macro:`Py_Size()` became :c:macro:" -"`Py_SIZE()`, :c:macro:`Py_Type()` became :c:macro:`Py_TYPE()`, and :c:macro:" -"`Py_Refcnt()` became :c:macro:`Py_REFCNT()`. The mixed-case macros are still " -"available in Python 2.6 for backward compatibility. (:issue:`1629`)" +"are macros, not functions. :c:macro:`!Py_Size()` " +"became :c:macro:`Py_SIZE()`, :c:macro:`!Py_Type()` " +"became :c:macro:`Py_TYPE()`, and :c:macro:`!Py_Refcnt()` " +"became :c:macro:`Py_REFCNT()`. The mixed-case macros are still available in " +"Python 2.6 for backward compatibility. (:issue:`1629`)" -#: ../../whatsnew/2.6.rst:3070 +#: ../../whatsnew/2.6.rst:3092 msgid "" "Distutils now places C extensions it builds in a different directory when " -"running on a debug version of Python. (Contributed by Collin Winter; :issue:" -"`1530959`.)" +"running on a debug version of Python. (Contributed by Collin " +"Winter; :issue:`1530959`.)" msgstr "" "Distutils now places C extensions it builds in a different directory when " -"running on a debug version of Python. (Contributed by Collin Winter; :issue:" -"`1530959`.)" +"running on a debug version of Python. (Contributed by Collin " +"Winter; :issue:`1530959`.)" -#: ../../whatsnew/2.6.rst:3074 +#: ../../whatsnew/2.6.rst:3096 msgid "" "Several basic data types, such as integers and strings, maintain internal " "free lists of objects that can be re-used. The data structures for these " @@ -4711,7 +4964,7 @@ msgstr "" "``free_list``, the counter is always named ``numfree``, and a macro " "``Py_MAXFREELIST`` is always defined." -#: ../../whatsnew/2.6.rst:3081 +#: ../../whatsnew/2.6.rst:3103 msgid "" "A new Makefile target, \"make patchcheck\", prepares the Python source tree " "for making a patch: it fixes trailing whitespace in all modified ``.py`` " @@ -4725,7 +4978,7 @@ msgstr "" "whether the :file:`Misc/ACKS` and :file:`Misc/NEWS` files have been updated. " "(Contributed by Brett Cannon.)" -#: ../../whatsnew/2.6.rst:3088 +#: ../../whatsnew/2.6.rst:3110 msgid "" "Another new target, \"make profile-opt\", compiles a Python binary using " "GCC's profile-guided optimization. It compiles Python with profiling " @@ -4739,11 +4992,11 @@ msgstr "" "compiles using these results for optimization. (Contributed by Gregory P. " "Smith.)" -#: ../../whatsnew/2.6.rst:3097 +#: ../../whatsnew/2.6.rst:3119 msgid "Port-Specific Changes: Windows" -msgstr "Port-Specific Changes: Windows" +msgstr "Alterações específicas da porta: Windows" -#: ../../whatsnew/2.6.rst:3099 +#: ../../whatsnew/2.6.rst:3121 msgid "" "The support for Windows 95, 98, ME and NT4 has been dropped. Python 2.6 " "requires at least Windows 2000 SP4." @@ -4751,7 +5004,7 @@ msgstr "" "The support for Windows 95, 98, ME and NT4 has been dropped. Python 2.6 " "requires at least Windows 2000 SP4." -#: ../../whatsnew/2.6.rst:3102 +#: ../../whatsnew/2.6.rst:3124 msgid "" "The new default compiler on Windows is Visual Studio 2008 (version 9.0). The " "build directories for Visual Studio 2003 (version 7.1) and 2005 (version " @@ -4769,21 +5022,21 @@ msgstr "" "(Contributed by Christian Heimes with help from Amaury Forgeot d'Arc and " "Martin von Löwis.)" -#: ../../whatsnew/2.6.rst:3110 +#: ../../whatsnew/2.6.rst:3132 msgid "" "The :mod:`msvcrt` module now supports both the normal and wide char variants " -"of the console I/O API. The :func:`getwch` function reads a keypress and " -"returns a Unicode value, as does the :func:`getwche` function. The :func:" -"`putwch` function takes a Unicode character and writes it to the console. " -"(Contributed by Christian Heimes.)" +"of the console I/O API. The :func:`~msvcrt.getwch` function reads a " +"keypress and returns a Unicode value, as does the :func:`~msvcrt.getwche` " +"function. The :func:`~msvcrt.putwch` function takes a Unicode character and " +"writes it to the console. (Contributed by Christian Heimes.)" msgstr "" "The :mod:`msvcrt` module now supports both the normal and wide char variants " -"of the console I/O API. The :func:`getwch` function reads a keypress and " -"returns a Unicode value, as does the :func:`getwche` function. The :func:" -"`putwch` function takes a Unicode character and writes it to the console. " -"(Contributed by Christian Heimes.)" +"of the console I/O API. The :func:`~msvcrt.getwch` function reads a " +"keypress and returns a Unicode value, as does the :func:`~msvcrt.getwche` " +"function. The :func:`~msvcrt.putwch` function takes a Unicode character and " +"writes it to the console. (Contributed by Christian Heimes.)" -#: ../../whatsnew/2.6.rst:3117 +#: ../../whatsnew/2.6.rst:3139 msgid "" ":func:`os.path.expandvars` will now expand environment variables in the form " "\"%var%\", and \"~user\" will be expanded into the user's home directory " @@ -4793,55 +5046,57 @@ msgstr "" "\"%var%\", and \"~user\" will be expanded into the user's home directory " "path. (Contributed by Josiah Carlson; :issue:`957650`.)" -#: ../../whatsnew/2.6.rst:3121 +#: ../../whatsnew/2.6.rst:3143 msgid "" -"The :mod:`socket` module's socket objects now have an :meth:`ioctl` method " -"that provides a limited interface to the :c:func:`WSAIoctl` system interface." +"The :mod:`socket` module's socket objects now have " +"an :meth:`~socket.socket.ioctl` method that provides a limited interface to " +"the :c:func:`WSAIoctl` system interface." msgstr "" -"The :mod:`socket` module's socket objects now have an :meth:`ioctl` method " -"that provides a limited interface to the :c:func:`WSAIoctl` system interface." +"The :mod:`socket` module's socket objects now have " +"an :meth:`~socket.socket.ioctl` method that provides a limited interface to " +"the :c:func:`WSAIoctl` system interface." -#: ../../whatsnew/2.6.rst:3125 +#: ../../whatsnew/2.6.rst:3147 msgid "" -"The :mod:`_winreg` module now has a function, :func:" -"`ExpandEnvironmentStrings`, that expands environment variable references " -"such as ``%NAME%`` in an input string. The handle objects provided by this " -"module now support the context protocol, so they can be used in :keyword:" -"`with` statements. (Contributed by Christian Heimes.)" +"The :mod:`_winreg ` module now has a " +"function, :func:`~winreg.ExpandEnvironmentStrings`, that expands environment " +"variable references such as ``%NAME%`` in an input string. The handle " +"objects provided by this module now support the context protocol, so they " +"can be used in :keyword:`with` statements. (Contributed by Christian Heimes.)" msgstr "" -"The :mod:`_winreg` module now has a function, :func:" -"`ExpandEnvironmentStrings`, that expands environment variable references " -"such as ``%NAME%`` in an input string. The handle objects provided by this " -"module now support the context protocol, so they can be used in :keyword:" -"`with` statements. (Contributed by Christian Heimes.)" +"The :mod:`_winreg ` module now has a " +"function, :func:`~winreg.ExpandEnvironmentStrings`, that expands environment " +"variable references such as ``%NAME%`` in an input string. The handle " +"objects provided by this module now support the context protocol, so they " +"can be used in :keyword:`with` statements. (Contributed by Christian Heimes.)" -#: ../../whatsnew/2.6.rst:3132 +#: ../../whatsnew/2.6.rst:3154 msgid "" -":mod:`_winreg` also has better support for x64 systems, exposing the :func:" -"`DisableReflectionKey`, :func:`EnableReflectionKey`, and :func:" -"`QueryReflectionKey` functions, which enable and disable registry reflection " -"for 32-bit processes running on 64-bit systems. (:issue:`1753245`)" +":mod:`_winreg ` also has better support for x64 systems, exposing " +"the :func:`~winreg.DisableReflectionKey`, :func:`~winreg.EnableReflectionKey`, " +"and :func:`~winreg.QueryReflectionKey` functions, which enable and disable " +"registry reflection for 32-bit processes running on 64-bit systems. " +"(:issue:`1753245`)" msgstr "" -":mod:`_winreg` also has better support for x64 systems, exposing the :func:" -"`DisableReflectionKey`, :func:`EnableReflectionKey`, and :func:" -"`QueryReflectionKey` functions, which enable and disable registry reflection " -"for 32-bit processes running on 64-bit systems. (:issue:`1753245`)" +":mod:`_winreg ` also has better support for x64 systems, exposing " +"the :func:`~winreg.DisableReflectionKey`, :func:`~winreg.EnableReflectionKey`, " +"and :func:`~winreg.QueryReflectionKey` functions, which enable and disable " +"registry reflection for 32-bit processes running on 64-bit systems. " +"(:issue:`1753245`)" -#: ../../whatsnew/2.6.rst:3138 +#: ../../whatsnew/2.6.rst:3160 msgid "" -"The :mod:`msilib` module's :class:`Record` object gained :meth:`GetInteger` " -"and :meth:`GetString` methods that return field values as an integer or a " -"string. (Contributed by Floris Bruynooghe; :issue:`2125`.)" +"The :mod:`msilib` module's :class:`!Record` object " +"gained :meth:`~msilib.Record.GetInteger` " +"and :meth:`~msilib.Record.GetString` methods that return field values as an " +"integer or a string. (Contributed by Floris Bruynooghe; :issue:`2125`.)" msgstr "" -"The :mod:`msilib` module's :class:`Record` object gained :meth:`GetInteger` " -"and :meth:`GetString` methods that return field values as an integer or a " -"string. (Contributed by Floris Bruynooghe; :issue:`2125`.)" -#: ../../whatsnew/2.6.rst:3146 +#: ../../whatsnew/2.6.rst:3168 msgid "Port-Specific Changes: Mac OS X" -msgstr "Port-Specific Changes: Mac OS X" +msgstr "Alterações específicas da porta: Mac OS X" -#: ../../whatsnew/2.6.rst:3148 +#: ../../whatsnew/2.6.rst:3170 msgid "" "When compiling a framework build of Python, you can now specify the " "framework name to be used by providing the :option:`!--with-framework-name=` " @@ -4851,69 +5106,71 @@ msgstr "" "framework name to be used by providing the :option:`!--with-framework-name=` " "option to the :program:`configure` script." -#: ../../whatsnew/2.6.rst:3153 +#: ../../whatsnew/2.6.rst:3175 msgid "" -"The :mod:`macfs` module has been removed. This in turn required the :func:" -"`macostools.touched` function to be removed because it depended on the :mod:" -"`macfs` module. (:issue:`1490190`)" +"The :mod:`!macfs` module has been removed. This in turn required " +"the :func:`!macostools.touched` function to be removed because it depended " +"on the :mod:`!macfs` module. (:issue:`1490190`)" msgstr "" -"The :mod:`macfs` module has been removed. This in turn required the :func:" -"`macostools.touched` function to be removed because it depended on the :mod:" -"`macfs` module. (:issue:`1490190`)" +"The :mod:`!macfs` module has been removed. This in turn required " +"the :func:`!macostools.touched` function to be removed because it depended " +"on the :mod:`!macfs` module. (:issue:`1490190`)" -#: ../../whatsnew/2.6.rst:3157 +#: ../../whatsnew/2.6.rst:3179 msgid "" "Many other Mac OS modules have been deprecated and will be removed in Python " -"3.0: :mod:`_builtinSuites`, :mod:`aepack`, :mod:`aetools`, :mod:`aetypes`, :" -"mod:`applesingle`, :mod:`appletrawmain`, :mod:`appletrunner`, :mod:" -"`argvemulator`, :mod:`Audio_mac`, :mod:`autoGIL`, :mod:`Carbon`, :mod:" -"`cfmfile`, :mod:`CodeWarrior`, :mod:`ColorPicker`, :mod:`EasyDialogs`, :mod:" -"`Explorer`, :mod:`Finder`, :mod:`FrameWork`, :mod:`findertools`, :mod:`ic`, :" -"mod:`icglue`, :mod:`icopen`, :mod:`macerrors`, :mod:`MacOS`, :mod:`macfs`, :" -"mod:`macostools`, :mod:`macresource`, :mod:`MiniAEFrame`, :mod:`Nav`, :mod:" -"`Netscape`, :mod:`OSATerminology`, :mod:`pimp`, :mod:`PixMapWrapper`, :mod:" -"`StdSuites`, :mod:`SystemEvents`, :mod:`Terminal`, and :mod:" -"`terminalcommand`." +"3.0: :mod:`!_builtinSuites`, :mod:`!aepack`, :mod:`!aetools`, :mod:`!" +"aetypes`, :mod:`!applesingle`, :mod:`!appletrawmain`, :mod:`!" +"appletrunner`, :mod:`!argvemulator`, :mod:`!Audio_mac`, :mod:`!" +"autoGIL`, :mod:`!Carbon`, :mod:`!cfmfile`, :mod:`!CodeWarrior`, :mod:`!" +"ColorPicker`, :mod:`!EasyDialogs`, :mod:`!Explorer`, :mod:`!Finder`, :mod:`!" +"FrameWork`, :mod:`!findertools`, :mod:`!ic`, :mod:`!icglue`, :mod:`!" +"icopen`, :mod:`!macerrors`, :mod:`!MacOS`, :mod:`!macfs`, :mod:`!" +"macostools`, :mod:`!macresource`, :mod:`!MiniAEFrame`, :mod:`!Nav`, :mod:`!" +"Netscape`, :mod:`!OSATerminology`, :mod:`!pimp`, :mod:`!" +"PixMapWrapper`, :mod:`!StdSuites`, :mod:`!SystemEvents`, :mod:`!Terminal`, " +"and :mod:`!terminalcommand`." msgstr "" "Many other Mac OS modules have been deprecated and will be removed in Python " -"3.0: :mod:`_builtinSuites`, :mod:`aepack`, :mod:`aetools`, :mod:`aetypes`, :" -"mod:`applesingle`, :mod:`appletrawmain`, :mod:`appletrunner`, :mod:" -"`argvemulator`, :mod:`Audio_mac`, :mod:`autoGIL`, :mod:`Carbon`, :mod:" -"`cfmfile`, :mod:`CodeWarrior`, :mod:`ColorPicker`, :mod:`EasyDialogs`, :mod:" -"`Explorer`, :mod:`Finder`, :mod:`FrameWork`, :mod:`findertools`, :mod:`ic`, :" -"mod:`icglue`, :mod:`icopen`, :mod:`macerrors`, :mod:`MacOS`, :mod:`macfs`, :" -"mod:`macostools`, :mod:`macresource`, :mod:`MiniAEFrame`, :mod:`Nav`, :mod:" -"`Netscape`, :mod:`OSATerminology`, :mod:`pimp`, :mod:`PixMapWrapper`, :mod:" -"`StdSuites`, :mod:`SystemEvents`, :mod:`Terminal`, and :mod:" -"`terminalcommand`." - -#: ../../whatsnew/2.6.rst:3200 +"3.0: :mod:`!_builtinSuites`, :mod:`!aepack`, :mod:`!aetools`, :mod:`!" +"aetypes`, :mod:`!applesingle`, :mod:`!appletrawmain`, :mod:`!" +"appletrunner`, :mod:`!argvemulator`, :mod:`!Audio_mac`, :mod:`!" +"autoGIL`, :mod:`!Carbon`, :mod:`!cfmfile`, :mod:`!CodeWarrior`, :mod:`!" +"ColorPicker`, :mod:`!EasyDialogs`, :mod:`!Explorer`, :mod:`!Finder`, :mod:`!" +"FrameWork`, :mod:`!findertools`, :mod:`!ic`, :mod:`!icglue`, :mod:`!" +"icopen`, :mod:`!macerrors`, :mod:`!MacOS`, :mod:`!macfs`, :mod:`!" +"macostools`, :mod:`!macresource`, :mod:`!MiniAEFrame`, :mod:`!Nav`, :mod:`!" +"Netscape`, :mod:`!OSATerminology`, :mod:`!pimp`, :mod:`!" +"PixMapWrapper`, :mod:`!StdSuites`, :mod:`!SystemEvents`, :mod:`!Terminal`, " +"and :mod:`!terminalcommand`." + +#: ../../whatsnew/2.6.rst:3222 msgid "Port-Specific Changes: IRIX" msgstr "Port-Specific Changes: IRIX" -#: ../../whatsnew/2.6.rst:3202 +#: ../../whatsnew/2.6.rst:3224 msgid "" "A number of old IRIX-specific modules were deprecated and will be removed in " -"Python 3.0: :mod:`al` and :mod:`AL`, :mod:`cd`, :mod:`cddb`, :mod:" -"`cdplayer`, :mod:`CL` and :mod:`cl`, :mod:`DEVICE`, :mod:`ERRNO`, :mod:" -"`FILE`, :mod:`FL` and :mod:`fl`, :mod:`flp`, :mod:`fm`, :mod:`GET`, :mod:" -"`GLWS`, :mod:`GL` and :mod:`gl`, :mod:`IN`, :mod:`IOCTL`, :mod:`jpeg`, :mod:" -"`panelparser`, :mod:`readcd`, :mod:`SV` and :mod:`sv`, :mod:`torgb`, :mod:" -"`videoreader`, and :mod:`WAIT`." +"Python 3.0: :mod:`!al` and :mod:`!AL`, :mod:`!cd`, :mod:`!cddb`, :mod:`!" +"cdplayer`, :mod:`!CL` and :mod:`!cl`, :mod:`!DEVICE`, :mod:`!ERRNO`, :mod:`!" +"FILE`, :mod:`!FL` and :mod:`!fl`, :mod:`!flp`, :mod:`!fm`, :mod:`!" +"GET`, :mod:`!GLWS`, :mod:`!GL` and :mod:`!gl`, :mod:`!IN`, :mod:`!" +"IOCTL`, :mod:`!jpeg`, :mod:`!panelparser`, :mod:`!readcd`, :mod:`!SV` " +"and :mod:`!sv`, :mod:`!torgb`, :mod:`!videoreader`, and :mod:`!WAIT`." msgstr "" "A number of old IRIX-specific modules were deprecated and will be removed in " -"Python 3.0: :mod:`al` and :mod:`AL`, :mod:`cd`, :mod:`cddb`, :mod:" -"`cdplayer`, :mod:`CL` and :mod:`cl`, :mod:`DEVICE`, :mod:`ERRNO`, :mod:" -"`FILE`, :mod:`FL` and :mod:`fl`, :mod:`flp`, :mod:`fm`, :mod:`GET`, :mod:" -"`GLWS`, :mod:`GL` and :mod:`gl`, :mod:`IN`, :mod:`IOCTL`, :mod:`jpeg`, :mod:" -"`panelparser`, :mod:`readcd`, :mod:`SV` and :mod:`sv`, :mod:`torgb`, :mod:" -"`videoreader`, and :mod:`WAIT`." - -#: ../../whatsnew/2.6.rst:3232 +"Python 3.0: :mod:`!al` and :mod:`!AL`, :mod:`!cd`, :mod:`!cddb`, :mod:`!" +"cdplayer`, :mod:`!CL` and :mod:`!cl`, :mod:`!DEVICE`, :mod:`!ERRNO`, :mod:`!" +"FILE`, :mod:`!FL` and :mod:`!fl`, :mod:`!flp`, :mod:`!fm`, :mod:`!" +"GET`, :mod:`!GLWS`, :mod:`!GL` and :mod:`!gl`, :mod:`!IN`, :mod:`!" +"IOCTL`, :mod:`!jpeg`, :mod:`!panelparser`, :mod:`!readcd`, :mod:`!SV` " +"and :mod:`!sv`, :mod:`!torgb`, :mod:`!videoreader`, and :mod:`!WAIT`." + +#: ../../whatsnew/2.6.rst:3254 msgid "Porting to Python 2.6" msgstr "Porting to Python 2.6" -#: ../../whatsnew/2.6.rst:3234 +#: ../../whatsnew/2.6.rst:3256 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code:" @@ -4921,7 +5178,7 @@ msgstr "" "Esta seção lista as alterações descritas anteriormente e outras correções " "que podem exigir alterações no seu código." -#: ../../whatsnew/2.6.rst:3237 +#: ../../whatsnew/2.6.rst:3259 msgid "" "Classes that aren't supposed to be hashable should set ``__hash__ = None`` " "in their definitions to indicate the fact." @@ -4929,7 +5186,7 @@ msgstr "" "Classes that aren't supposed to be hashable should set ``__hash__ = None`` " "in their definitions to indicate the fact." -#: ../../whatsnew/2.6.rst:3244 +#: ../../whatsnew/2.6.rst:3266 msgid "" "The :meth:`__init__` method of :class:`collections.deque` now clears any " "existing contents of the deque before adding elements from the iterable. " @@ -4939,7 +5196,7 @@ msgstr "" "existing contents of the deque before adding elements from the iterable. " "This change makes the behavior match ``list.__init__()``." -#: ../../whatsnew/2.6.rst:3249 +#: ../../whatsnew/2.6.rst:3271 msgid "" ":meth:`object.__init__` previously accepted arbitrary arguments and keyword " "arguments, ignoring them. In Python 2.6, this is no longer allowed and will " @@ -4953,21 +5210,21 @@ msgstr "" "end up calling the corresponding method on :class:`object` (perhaps through " "using :func:`super`). See :issue:`1683368` for discussion." -#: ../../whatsnew/2.6.rst:3256 +#: ../../whatsnew/2.6.rst:3278 msgid "" "The :class:`Decimal` constructor now accepts leading and trailing whitespace " "when passed a string. Previously it would raise an :exc:`InvalidOperation` " -"exception. On the other hand, the :meth:`create_decimal` method of :class:" -"`Context` objects now explicitly disallows extra whitespace, raising a :exc:" -"`ConversionSyntax` exception." +"exception. On the other hand, the :meth:`create_decimal` method " +"of :class:`Context` objects now explicitly disallows extra whitespace, " +"raising a :exc:`ConversionSyntax` exception." msgstr "" "The :class:`Decimal` constructor now accepts leading and trailing whitespace " "when passed a string. Previously it would raise an :exc:`InvalidOperation` " -"exception. On the other hand, the :meth:`create_decimal` method of :class:" -"`Context` objects now explicitly disallows extra whitespace, raising a :exc:" -"`ConversionSyntax` exception." +"exception. On the other hand, the :meth:`create_decimal` method " +"of :class:`Context` objects now explicitly disallows extra whitespace, " +"raising a :exc:`ConversionSyntax` exception." -#: ../../whatsnew/2.6.rst:3263 +#: ../../whatsnew/2.6.rst:3285 msgid "" "Due to an implementation accident, if you passed a file path to the built-" "in :func:`__import__` function, it would actually import the specified " @@ -4979,7 +5236,7 @@ msgstr "" "This was never intended to work, however, and the implementation now " "explicitly checks for this case and raises an :exc:`ImportError`." -#: ../../whatsnew/2.6.rst:3269 +#: ../../whatsnew/2.6.rst:3291 msgid "" "C API: the :c:func:`PyImport_Import` and :c:func:`PyImport_ImportModule` " "functions now default to absolute imports, not relative imports. This will " @@ -4989,7 +5246,7 @@ msgstr "" "functions now default to absolute imports, not relative imports. This will " "affect C extensions that import other modules." -#: ../../whatsnew/2.6.rst:3273 +#: ../../whatsnew/2.6.rst:3295 msgid "" "C API: extension data types that shouldn't be hashable should define their " "``tp_hash`` slot to :c:func:`PyObject_HashNotImplemented`." @@ -4997,33 +5254,35 @@ msgstr "" "C API: extension data types that shouldn't be hashable should define their " "``tp_hash`` slot to :c:func:`PyObject_HashNotImplemented`." -#: ../../whatsnew/2.6.rst:3277 +#: ../../whatsnew/2.6.rst:3299 msgid "" -"The :mod:`socket` module exception :exc:`socket.error` now inherits from :" -"exc:`IOError`. Previously it wasn't a subclass of :exc:`StandardError` but " -"now it is, through :exc:`IOError`. (Implemented by Gregory P. Smith; :issue:" -"`1706815`.)" +"The :mod:`socket` module exception :exc:`socket.error` now inherits " +"from :exc:`IOError`. Previously it wasn't a subclass " +"of :exc:`StandardError` but now it is, through :exc:`IOError`. (Implemented " +"by Gregory P. Smith; :issue:`1706815`.)" msgstr "" -"The :mod:`socket` module exception :exc:`socket.error` now inherits from :" -"exc:`IOError`. Previously it wasn't a subclass of :exc:`StandardError` but " -"now it is, through :exc:`IOError`. (Implemented by Gregory P. Smith; :issue:" -"`1706815`.)" +"The :mod:`socket` module exception :exc:`socket.error` now inherits " +"from :exc:`IOError`. Previously it wasn't a subclass of :exc:`StandardError` " +"but now it is, through :exc:`IOError`. (Implemented by Gregory P. " +"Smith; :issue:`1706815`.)" -#: ../../whatsnew/2.6.rst:3282 +#: ../../whatsnew/2.6.rst:3304 msgid "" -"The :mod:`xmlrpclib` module no longer automatically converts :class:" -"`datetime.date` and :class:`datetime.time` to the :class:`xmlrpclib." -"DateTime` type; the conversion semantics were not necessarily correct for " -"all applications. Code using :mod:`xmlrpclib` should convert :class:`date` " +"The :mod:`xmlrpclib ` module no longer automatically " +"converts :class:`datetime.date` and :class:`datetime.time` to " +"the :class:`xmlrpclib.DateTime ` type; the " +"conversion semantics were not necessarily correct for all applications. " +"Code using :mod:`!xmlrpclib` should convert :class:`date` " "and :class:`~datetime.time` instances. (:issue:`1330538`)" msgstr "" -"The :mod:`xmlrpclib` module no longer automatically converts :class:" -"`datetime.date` and :class:`datetime.time` to the :class:`xmlrpclib." -"DateTime` type; the conversion semantics were not necessarily correct for " -"all applications. Code using :mod:`xmlrpclib` should convert :class:`date` " +"The :mod:`xmlrpclib ` module no longer automatically " +"converts :class:`datetime.date` and :class:`datetime.time` to " +"the :class:`xmlrpclib.DateTime ` type; the " +"conversion semantics were not necessarily correct for all applications. " +"Code using :mod:`!xmlrpclib` should convert :class:`date` " "and :class:`~datetime.time` instances. (:issue:`1330538`)" -#: ../../whatsnew/2.6.rst:3289 +#: ../../whatsnew/2.6.rst:3311 msgid "" "(3.0-warning mode) The :class:`Exception` class now warns when accessed " "using slicing or index access; having :class:`Exception` behave like a tuple " @@ -5033,7 +5292,7 @@ msgstr "" "using slicing or index access; having :class:`Exception` behave like a tuple " "is being phased out." -#: ../../whatsnew/2.6.rst:3293 +#: ../../whatsnew/2.6.rst:3315 msgid "" "(3.0-warning mode) inequality comparisons between two dictionaries or two " "objects that don't implement comparison methods are reported as warnings. " @@ -5043,7 +5302,7 @@ msgstr "" "objects that don't implement comparison methods are reported as warnings. " "``dict1 == dict2`` still works, but ``dict1 < dict2`` is being phased out." -#: ../../whatsnew/2.6.rst:3298 +#: ../../whatsnew/2.6.rst:3320 msgid "" "Comparisons between cells, which are an implementation detail of Python's " "scoping rules, also cause warnings because such comparisons are forbidden " @@ -5053,11 +5312,29 @@ msgstr "" "scoping rules, also cause warnings because such comparisons are forbidden " "entirely in 3.0." -#: ../../whatsnew/2.6.rst:3308 +#: ../../whatsnew/2.6.rst:3324 +msgid "For applications that embed Python:" +msgstr "Para aplicações que incorporam Python:" + +#: ../../whatsnew/2.6.rst:3326 +msgid "" +"The :c:func:`!PySys_SetArgvEx` function was added in Python 2.6.6, letting " +"applications close a security hole when the existing :c:func:`!" +"PySys_SetArgv` function was used. Check whether you're calling :c:func:`!" +"PySys_SetArgv` and carefully consider whether the application should be " +"using :c:func:`!PySys_SetArgvEx` with *updatepath* set to false." +msgstr "" +"The :c:func:`!PySys_SetArgvEx` function was added in Python 2.6.6, letting " +"applications close a security hole when the existing :c:func:`!" +"PySys_SetArgv` function was used. Check whether you're calling :c:func:`!" +"PySys_SetArgv` and carefully consider whether the application should be " +"using :c:func:`!PySys_SetArgvEx` with *updatepath* set to false." + +#: ../../whatsnew/2.6.rst:3339 msgid "Acknowledgements" msgstr "Reconhecimentos" -#: ../../whatsnew/2.6.rst:3310 +#: ../../whatsnew/2.6.rst:3341 msgid "" "The author would like to thank the following people for offering " "suggestions, corrections and assistance with various drafts of this article: " @@ -5069,10 +5346,10 @@ msgstr "" "Georg Brandl, Steve Brown, Nick Coghlan, Ralph Corderoy, Jim Jewett, Kent " "Johnson, Chris Lambacher, Martin Michlmayr, Antoine Pitrou, Brian Warner." -#: ../../whatsnew/2.6.rst:1072 +#: ../../whatsnew/2.6.rst:1068 msgid "universal newlines" msgstr "novas linhas universais" -#: ../../whatsnew/2.6.rst:1072 +#: ../../whatsnew/2.6.rst:1068 msgid "What's new" -msgstr "" +msgstr "What's new" diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po index ac4575ff2..cc9e28be2 100644 --- a/whatsnew/2.7.po +++ b/whatsnew/2.7.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Marco Rougeth , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Raphael Mendonça, 2021 -# Ricardo Cappellano , 2021 -# Victor Matheus Castro , 2021 -# Adorilson Bezerra , 2021 -# Claudio Rogerio Carvalho Filho , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -54,18 +47,18 @@ msgstr "" msgid "" "Numeric handling has been improved in many ways, for both floating-point " "numbers and for the :class:`~decimal.Decimal` class. There are some useful " -"additions to the standard library, such as a greatly enhanced :mod:" -"`unittest` module, the :mod:`argparse` module for parsing command-line " -"options, convenient :class:`~collections.OrderedDict` and :class:" -"`~collections.Counter` classes in the :mod:`collections` module, and many " -"other improvements." +"additions to the standard library, such as a greatly " +"enhanced :mod:`unittest` module, the :mod:`argparse` module for parsing " +"command-line options, convenient :class:`~collections.OrderedDict` " +"and :class:`~collections.Counter` classes in the :mod:`collections` module, " +"and many other improvements." msgstr "" "A manipulação numérica foi aprimorada de várias maneiras, tanto para números " "de ponto flutuante quanto para a classe :class:`~decimal.Decimal`. Existem " "algumas adições úteis à biblioteca padrão, como um módulo :mod:`unittest` " "bastante aprimorado, o módulo :mod:`argparse` para analisar as opções da " -"linha de comando, classes convenientes :class:`~collections.OrderedDict` e :" -"class:`~collections.Counter` no módulo :mod:`collections` e muitas outras " +"linha de comando, classes convenientes :class:`~collections.OrderedDict` " +"e :class:`~collections.Counter` no módulo :mod:`collections` e muitas outras " "melhorias." #: ../../whatsnew/2.7.rst:63 @@ -85,17 +78,18 @@ msgid "" "features, but instead provides a convenient overview. For full details, you " "should refer to the documentation for Python 2.7 at https://docs.python.org. " "If you want to understand the rationale for the design and implementation, " -"refer to the PEP for a particular new feature or the issue on https://bugs." -"python.org in which a change was discussed. Whenever possible, \"What's New " -"in Python\" links to the bug/patch item for each change." +"refer to the PEP for a particular new feature or the issue on https://" +"bugs.python.org in which a change was discussed. Whenever possible, " +"\"What's New in Python\" links to the bug/patch item for each change." msgstr "" "Este artigo não tenta fornecer uma especificação completa dos novos " "recursos, mas fornece uma visão geral conveniente. Para detalhes completos, " "você deve consultar a documentação do Python 2.7 em https://docs.python.org. " "Se você deseja entender a lógica do design e implementação, consulte a PEP " -"para obter um novo recurso específico ou o problema em https://bugs.python." -"org no qual uma alteração foi discutida. Sempre que possível, o \"O que há " -"de novo no Python\" é vinculado ao item de bug/patch de cada alteração." +"para obter um novo recurso específico ou o problema em https://" +"bugs.python.org no qual uma alteração foi discutida. Sempre que possível, o " +"\"O que há de novo no Python\" é vinculado ao item de bug/patch de cada " +"alteração." #: ../../whatsnew/2.7.rst:80 msgid "The Future for Python 2.x" @@ -179,14 +173,14 @@ msgid "" "software from the Python Package Index." msgstr "" "Conforme a biblioteca padrão do Python 2.7 envelhece, fazer uso efetivo do " -"Índice de Pacotes do Python (diretamente ou por meio de um redistribuidor) " -"torna-se mais importante para os usuários do Python 2. Além de uma grande " -"variedade de pacotes de terceiros para várias tarefas, os pacotes " -"disponíveis incluem backports de novos módulos e recursos da biblioteca " -"padrão do Python 3 que são compatíveis com o Python 2, bem como várias " -"ferramentas e bibliotecas que podem tornar mais fácil migre para Python 3. O " -"`Python Packaging User Guide `__ fornece " -"orientação sobre como baixar e instalar software do Índice de Pacotes Python." +"Python Package Index (diretamente ou por meio de um redistribuidor) torna-se " +"mais importante para os usuários do Python 2. Além de uma grande variedade " +"de pacotes de terceiros para várias tarefas, os pacotes disponíveis incluem " +"backports de novos módulos e recursos da biblioteca padrão do Python 3 que " +"são compatíveis com o Python 2, bem como várias ferramentas e bibliotecas " +"que podem tornar mais fácil migre para Python 3. O `Guia de Usuário para " +"Empacotamento de Python `__ fornece orientação " +"sobre como baixar e instalar software do Python Package Index." #: ../../whatsnew/2.7.rst:119 msgid "" @@ -201,13 +195,13 @@ msgid "" "section below." msgstr "" "Embora a abordagem preferida para aprimorar o Python 2 agora seja a " -"publicação de novos pacotes no Índice de Pacotes do Python, essa abordagem " -"não funciona necessariamente em todos os casos, especialmente aqueles " +"publicação de novos pacotes no Python Package Index, essa abordagem não " +"funciona necessariamente em todos os casos, especialmente aqueles " "relacionados à segurança de rede. Em casos excepcionais que não podem ser " "tratados adequadamente com a publicação de pacotes novos ou atualizados no " -"PyPI, o processo de Proposta de Melhoria do Python (PEP) pode ser usado para " -"justificar a adição de novos recursos diretamente à biblioteca padrão do " -"Python 2. Quaisquer adições, e as versões de manutenção onde foram " +"PyPI, o processo de Proposta de Melhoria do Python, ou PEP, pode ser usado " +"para justificar a adição de novos recursos diretamente à biblioteca padrão " +"do Python 2. Quaisquer adições, e as versões de manutenção onde foram " "adicionadas, serão observadas na seção :ref:`py27-maintenance-enhancements` " "abaixo." @@ -260,10 +254,11 @@ msgstr "" #: ../../whatsnew/2.7.rst:151 msgid "" "However, there are increasingly many users of Python-based applications who " -"are not directly involved in the development of those applications. :exc:" -"`DeprecationWarning` messages are irrelevant to such users, making them " -"worry about an application that's actually working correctly and burdening " -"application developers with responding to these concerns." +"are not directly involved in the development of those " +"applications. :exc:`DeprecationWarning` messages are irrelevant to such " +"users, making them worry about an application that's actually working " +"correctly and burdening application developers with responding to these " +"concerns." msgstr "" "No entanto, há cada vez mais usuários de aplicações baseadas em Python que " "não estão diretamente envolvidos no desenvolvimento dessas aplicações. " @@ -281,10 +276,11 @@ msgid "" "re-enable them by calling ``warnings.simplefilter('default')``." msgstr "" "Você pode reativar a exibição de mensagens :exc:`DeprecationWarning` " -"executando Python com a opção :option:`-Wdefault <-W>` (forma curta: :option:" -"`-Wd <-W>`) ou definindo a variável de ambiente :envvar:`PYTHONWARNINGS` " -"para ``\"default\"`` (ou ``\"d\"``) antes de executar o Python. O código " -"Python também pode reativá-los chamando ``warnings.simplefilter('default')``." +"executando Python com a opção :option:`-Wdefault <-W>` (forma " +"curta: :option:`-Wd <-W>`) ou definindo a variável de " +"ambiente :envvar:`PYTHONWARNINGS` para ``\"default\"`` (ou ``\"d\"``) antes " +"de executar o Python. O código Python também pode reativá-los chamando " +"``warnings.simplefilter('default')``." #: ../../whatsnew/2.7.rst:165 msgid "" @@ -368,8 +364,8 @@ msgstr "" #: ../../whatsnew/2.7.rst:192 msgid "" -"Float-to-string and string-to-float conversions are correctly rounded. The :" -"func:`round` function is also now correctly rounded." +"Float-to-string and string-to-float conversions are correctly rounded. " +"The :func:`round` function is also now correctly rounded." msgstr "" "As conversões de ponto flutuante para string e string para ponto flutuante " "são arredondadas corretamente. A função :func:`round` também está agora " @@ -392,11 +388,11 @@ msgstr "Outros novos avisos do modo Python3 incluem:" #: ../../whatsnew/2.7.rst:199 msgid "" -":func:`operator.isCallable` and :func:`operator.sequenceIncludes`, which are " -"not supported in 3.x, now trigger warnings." +":func:`!operator.isCallable` and :func:`!operator.sequenceIncludes`, which " +"are not supported in 3.x, now trigger warnings." msgstr "" -":func:`operator.isCallable` e :func:`operator.sequenceIncludes`, que não são " -"suportados no 3.x, agora disparam avisos." +":func:`!operator.isCallable` e :func:`!operator.sequenceIncludes`, que não " +"são suportados no 3.x, agora disparam avisos." #: ../../whatsnew/2.7.rst:201 msgid "" @@ -417,15 +413,15 @@ msgid "" "Regular Python dictionaries iterate over key/value pairs in arbitrary order. " "Over the years, a number of authors have written alternative implementations " "that remember the order that the keys were originally inserted. Based on " -"the experiences from those implementations, 2.7 introduces a new :class:" -"`~collections.OrderedDict` class in the :mod:`collections` module." +"the experiences from those implementations, 2.7 introduces a " +"new :class:`~collections.OrderedDict` class in the :mod:`collections` module." msgstr "" -"Dicionários Python regulares iteram sobre pares de chave/valor em ordem " +"Dicionários regulares no Python iteram sobre pares de chave/valor em ordem " "arbitrária. Ao longo dos anos, vários autores escreveram implementações " "alternativas que lembram a ordem em que as chaves foram inseridas " "originalmente. Com base nas experiências dessas implementações, 2.7 introduz " -"uma nova classe :class:`~Collections.OrderedDict` no módulo :mod:" -"`Collections`." +"uma nova classe :class:`~collections.OrderedDict` no " +"módulo :mod:`collections`." #: ../../whatsnew/2.7.rst:222 msgid "" @@ -433,7 +429,7 @@ msgid "" "regular dictionaries but iterates over keys and values in a guaranteed order " "depending on when a key was first inserted::" msgstr "" -"A API :class:`~Collections.OrderedDict` fornece a mesma interface que os " +"A API :class:`~collections.OrderedDict` fornece a mesma interface que os " "dicionários regulares, mas itera sobre chaves e valores em uma ordem " "garantida dependendo de quando uma chave foi inserida pela primeira vez::" @@ -456,7 +452,7 @@ msgid "" "added key is returned and removed; if it's false, the oldest key is " "selected::" msgstr "" -"O método :meth:`~Collections.OrderedDict.popitem` tem um argumento opcional " +"O método :meth:`~collections.OrderedDict.popitem` tem um argumento opcional " "*last* cujo valor padrão é ``True``. Se *last* for true, a chave adicionada " "mais recentemente é retornada e removida; se for falso, a chave mais antiga " "é selecionada::" @@ -474,7 +470,7 @@ msgid "" "Comparing an :class:`~collections.OrderedDict` with a regular dictionary " "ignores the insertion order and just compares the keys and values." msgstr "" -"Comparar um :class:`~Collections.OrderedDict` com um dicionário regular " +"Comparar um :class:`~collections.OrderedDict` com um dicionário regular " "ignora a ordem de inserção e apenas compara as chaves e valores." #: ../../whatsnew/2.7.rst:281 @@ -482,41 +478,42 @@ msgid "" "How does the :class:`~collections.OrderedDict` work? It maintains a doubly " "linked list of keys, appending new keys to the list as they're inserted. A " "secondary dictionary maps keys to their corresponding list node, so deletion " -"doesn't have to traverse the entire linked list and therefore remains O(1)." +"doesn't have to traverse the entire linked list and therefore remains *O*\\ " +"(1)." msgstr "" -"Como funciona o :class:`~collections.OrderedDict`? Ele mantém uma lista de " -"chaves duplamente encadeada, acrescentando novas chaves à lista à medida que " -"são inseridas. Um dicionário secundário mapeia as chaves para o nó da lista " -"correspondente, portanto, a exclusão não precisa percorrer toda a lista " -"encadeada e, portanto, permanece O(1)." +"Como funciona a :class:`~collections.OrderedDict`? Ela mantém uma lista " +"duplamente vinculada de chaves, acrescentando novas chaves à lista à medida " +"que são inseridas. Um dicionário secundário mapeia as chaves para seu nó de " +"lista correspondente, portanto, a exclusão não precisa percorrer toda a " +"lista vinculada e, portanto, permanece *O*\\ (1)." #: ../../whatsnew/2.7.rst:287 msgid "" "The standard library now supports use of ordered dictionaries in several " "modules." msgstr "" -"A biblioteca padrão agora suporta o uso de dicionários ordenados em vários " -"módulos." +"A biblioteca padrão agora oferece suporte ao uso de dicionários ordenados em " +"vários módulos." #: ../../whatsnew/2.7.rst:290 msgid "" -"The :mod:`ConfigParser` module uses them by default, meaning that " -"configuration files can now be read, modified, and then written back in " +"The :mod:`ConfigParser ` module uses them by default, meaning " +"that configuration files can now be read, modified, and then written back in " "their original order." msgstr "" -"O módulo :mod:`ConfigParser` os usa por padrão, o que significa que os " -"arquivos de configuração agora podem ser lidos, modificados e então escritos " -"de volta em sua ordem original." +"O módulo :mod:`ConfigParser ` os usa por padrão, o que " +"significa que os arquivos de configuração agora podem ser lidos, modificados " +"e então escritos de volta em sua ordem original." #: ../../whatsnew/2.7.rst:294 msgid "" -"The :meth:`~collections.somenamedtuple._asdict()` method for :func:" -"`collections.namedtuple` now returns an ordered dictionary with the values " -"appearing in the same order as the underlying tuple indices." +"The :meth:`~collections.somenamedtuple._asdict()` method " +"for :func:`collections.namedtuple` now returns an ordered dictionary with " +"the values appearing in the same order as the underlying tuple indices." msgstr "" -"O método :meth:`~Collections.somenamedtuple._asdict()` para :func:" -"`Collections.namedtuple` agora retorna um dicionário ordenado com os valores " -"aparecendo na mesma ordem que os índices de tupla subjacentes." +"O método :meth:`~Collections.somenamedtuple._asdict()` " +"para :func:`Collections.namedtuple` agora retorna um dicionário ordenado com " +"os valores aparecendo na mesma ordem que os índices de tupla subjacentes." #: ../../whatsnew/2.7.rst:298 msgid "" @@ -526,10 +523,10 @@ msgid "" "tools like `PyYAML `_." msgstr "" "O construtor de classe :class:`~json.JSONDecoder` do módulo :mod:`json` foi " -"estendido com um parâmetro *object_pairs_hook* para permitir que instâncias :" -"class:`OrderedDict` sejam construídas pelo decodificador. O suporte também " -"foi adicionado para ferramentas de terceiros como `PyYAML `_." +"estendido com um parâmetro *object_pairs_hook* para permitir que " +"instâncias :class:`OrderedDict` sejam construídas pelo decodificador. O " +"suporte também foi adicionado para ferramentas de terceiros como `PyYAML " +"`_." #: ../../whatsnew/2.7.rst:307 msgid ":pep:`372` - Adding an ordered dictionary to collections" @@ -594,8 +591,8 @@ msgid "" msgstr "" "Este mecanismo não é adaptável de forma alguma; vírgulas são sempre usadas " "como separadores e o agrupamento é sempre em grupos de três dígitos. O " -"mecanismo de formatação de vírgula não é tão geral quanto o módulo :mod:" -"`locale`, mas é mais fácil de usar." +"mecanismo de formatação de vírgula não é tão geral quanto o " +"módulo :mod:`locale`, mas é mais fácil de usar." #: ../../whatsnew/2.7.rst:345 msgid ":pep:`378` - Format Specifier for Thousands Separator" @@ -620,24 +617,25 @@ msgstr "" #: ../../whatsnew/2.7.rst:355 msgid "" "This means Python now supports three different modules for parsing command-" -"line arguments: :mod:`getopt`, :mod:`optparse`, and :mod:`argparse`. The :" -"mod:`getopt` module closely resembles the C library's :c:func:`getopt` " +"line arguments: :mod:`getopt`, :mod:`optparse`, and :mod:`argparse`. " +"The :mod:`getopt` module closely resembles the C library's :c:func:`!getopt` " "function, so it remains useful if you're writing a Python prototype that " "will eventually be rewritten in C. :mod:`optparse` becomes redundant, but " "there are no plans to remove it because there are many scripts still using " -"it, and there's no automated way to update these scripts. (Making the :mod:" -"`argparse` API consistent with :mod:`optparse`'s interface was discussed but " -"rejected as too messy and difficult.)" +"it, and there's no automated way to update these scripts. (Making " +"the :mod:`argparse` API consistent with :mod:`optparse`'s interface was " +"discussed but rejected as too messy and difficult.)" msgstr "" -"Isso significa que o Python agora oferece suporte a três módulos diferentes " +"Isso significa que Python agora oferece suporte a três módulos diferentes " "para analisar argumentos de linha de comando: :mod:`getopt`, :mod:`optparse` " -"e :mod:`argparse`. O módulo :mod:`getopt` se parece muito com a função :c:" -"func:`getopt` da biblioteca C, então continua sendo útil se você estiver " -"escrevendo um protótipo Python que eventualmente será reescrito em C. :mod:" -"`optparse` torna-se redundante, mas não há planos de removê-lo porque muitos " -"scripts ainda o usam e não há uma maneira automatizada de atualizar esses " -"scripts. (Tornar a API :mod:`argparse` consistente com a interface de :mod:" -"`optparse` foi discutido, mas rejeitado por ser muito confuso e difícil.)" +"e :mod:`argparse`. O módulo :mod:`getopt` se assemelha muito à " +"função :c:func:`!getopt` da biblioteca C, portanto continua útil se você " +"estiver escrevendo um protótipo Python que eventualmente será reescrito em " +"C. :mod:`optparse` torna-se redundante, mas não há planos para removê-lo " +"porque muitos scripts ainda o utilizam e não há uma maneira automatizada de " +"atualizar esses scripts. (Tornar a API :mod:`argparse` consistente com a " +"interface de :mod:`optparse` foi discutido, mas rejeitado por ser muito " +"confuso e difícil.)" #: ../../whatsnew/2.7.rst:366 msgid "" @@ -677,19 +675,19 @@ msgid "" "passing ``'*'``, 1 or more by passing ``'+'``, or an optional argument with " "``'?'``. A top-level parser can contain sub-parsers to define subcommands " "that have different sets of switches, as in ``svn commit``, ``svn " -"checkout``, etc. You can specify an argument's type as :class:`~argparse." -"FileType`, which will automatically open files for you and understands that " -"``'-'`` means standard input or output." -msgstr "" -":mod:`argparse` tem uma validação muito mais sofisticada que :mod:" -"`optparse`; você pode especificar um número exato de argumentos como um " -"inteiro, 0 ou mais argumentos passando ``'*'``, 1 ou mais passando ``'+'``, " -"ou um argumento opcional com ``'?'``. Um analisador de nível superior pode " -"conter sub-analisadores para definir subcomandos que possuem diferentes " -"conjuntos de opções, como em ``svn commit``, ``svn checkout``, etc. Você " -"pode especificar o tipo de um argumento como :class:`~argparse.FileType`, " -"que abrirá arquivos automaticamente para você e entende que ``'-'`` " -"significa entrada ou saída padrão." +"checkout``, etc. You can specify an argument's type " +"as :class:`~argparse.FileType`, which will automatically open files for you " +"and understands that ``'-'`` means standard input or output." +msgstr "" +":mod:`argparse` tem uma validação muito mais sofisticada " +"que :mod:`optparse`; você pode especificar um número exato de argumentos " +"como um inteiro, 0 ou mais argumentos passando ``'*'``, 1 ou mais passando " +"``'+'``, ou um argumento opcional com ``'?'``. Um analisador de nível " +"superior pode conter sub-analisadores para definir subcomandos que possuem " +"diferentes conjuntos de opções, como em ``svn commit``, ``svn checkout``, " +"etc. Você pode especificar o tipo de um argumento " +"como :class:`~argparse.FileType`, que abrirá arquivos automaticamente para " +"você e entende que ``'-'`` significa entrada ou saída padrão." #: ../../whatsnew/2.7.rst:438 msgid ":mod:`argparse` documentation" @@ -705,8 +703,8 @@ msgstr ":ref:`upgrading-optparse-code`" #: ../../whatsnew/2.7.rst:441 msgid "" -"Part of the Python documentation, describing how to convert code that uses :" -"mod:`optparse`." +"Part of the Python documentation, describing how to convert code that " +"uses :mod:`optparse`." msgstr "" "Parte da documentação do Python, descrevendo como converter o código que " "usa :mod:`optparse`." @@ -740,28 +738,29 @@ msgstr "" msgid "" "All this flexibility can require a lot of configuration. You can write " "Python statements to create objects and set their properties, but a complex " -"set-up requires verbose but boring code. :mod:`logging` also supports a :" -"func:`~logging.fileConfig` function that parses a file, but the file format " -"doesn't support configuring filters, and it's messier to generate " -"programmatically." +"set-up requires verbose but boring code. :mod:`logging` also supports " +"a :func:`~logging.config.fileConfig` function that parses a file, but the " +"file format doesn't support configuring filters, and it's messier to " +"generate programmatically." msgstr "" "Toda essa flexibilidade pode exigir muita configuração. Você pode escrever " "instruções Python para criar objetos e definir suas propriedades, mas uma " -"configuração complexa requer um código detalhado, mas enfadonho. :mod:" -"`logging` também suporta uma função :func:`~logging.fileConfig` que analisa " -"um arquivo, mas o formato do arquivo não oferece suporte à configuração de " -"filtros, e é mais confuso gerar programaticamente." +"configuração complexa requer um código detalhado, mas " +"enfadonho. :mod:`logging` também suporta uma " +"função :func:`~logging.config.fileConfig` que analisa um arquivo, mas o " +"formato do arquivo não oferece suporte à configuração de filtros, e é mais " +"confuso gerar programaticamente." #: ../../whatsnew/2.7.rst:462 msgid "" -"Python 2.7 adds a :func:`~logging.dictConfig` function that uses a " +"Python 2.7 adds a :func:`~logging.config.dictConfig` function that uses a " "dictionary to configure logging. There are many ways to produce a " "dictionary from different sources: construct one with code; parse a file " "containing JSON; or use a YAML parsing library if one is installed. For " "more information see :ref:`logging-config-api`." msgstr "" -"O Python 2.7 adiciona uma função :func:`~logging.dictConfig` que usa um " -"dicionário para configurar o log. Existem muitas maneiras de produzir um " +"O Python 2.7 adiciona uma função :func:`~logging.config.dictConfig` que usa " +"um dicionário para configurar o log. Existem muitas maneiras de produzir um " "dicionário a partir de diferentes fontes: construir um com código; analisar " "um arquivo contendo JSON; ou use uma biblioteca de análise de YAML se houver " "uma instalada. Para mais informações veja :ref:`logging-config-api`." @@ -792,37 +791,39 @@ msgstr "" msgid "" "The :class:`~logging.handlers.SysLogHandler` class now supports syslogging " "over TCP. The constructor has a *socktype* parameter giving the type of " -"socket to use, either :const:`socket.SOCK_DGRAM` for UDP or :const:`socket." -"SOCK_STREAM` for TCP. The default protocol remains UDP." +"socket to use, either :const:`socket.SOCK_DGRAM` for UDP " +"or :const:`socket.SOCK_STREAM` for TCP. The default protocol remains UDP." msgstr "" "A classe :class:`~logging.handlers.SysLogHandler` agora tem suporte a " "syslogging sobre TCP. O construtor tem um parâmetro *socktype* que fornece o " -"tipo de soquete a ser usado, :const:`socket.SOCK_DGRAM` para UDP ou :const:" -"`socket.SOCK_STREAM` para TCP. O protocolo padrão permanece UDP." +"tipo de soquete a ser usado, :const:`socket.SOCK_DGRAM` para UDP " +"ou :const:`socket.SOCK_STREAM` para TCP. O protocolo padrão permanece UDP." #: ../../whatsnew/2.7.rst:529 msgid "" ":class:`~logging.Logger` instances gained a :meth:`~logging.Logger.getChild` " "method that retrieves a descendant logger using a relative path. For " "example, once you retrieve a logger by doing ``log = getLogger('app')``, " -"calling ``log.getChild('network.listen')`` is equivalent to ``getLogger('app." -"network.listen')``." +"calling ``log.getChild('network.listen')`` is equivalent to " +"``getLogger('app.network.listen')``." msgstr "" -"As instâncias :class:`~logging.Logger` ganharam um método :meth:`~logging." -"Logger.getChild` que recupera um logger descendente usando um caminho " -"relativo. Por exemplo, depois de recuperar um logger fazendo ``log = " -"getLogger('app')``, chamar ``log.getChild('network.listen')`` é equivalente " -"a ``getLogger('app.network.listen')``." +"As instâncias :class:`~logging.Logger` ganharam um " +"método :meth:`~logging.Logger.getChild` que recupera um logger descendente " +"usando um caminho relativo. Por exemplo, depois de recuperar um logger " +"fazendo ``log = getLogger('app')``, chamar " +"``log.getChild('network.listen')`` é equivalente a " +"``getLogger('app.network.listen')``." #: ../../whatsnew/2.7.rst:535 msgid "" -"The :class:`~logging.LoggerAdapter` class gained an :meth:`~logging." -"LoggerAdapter.isEnabledFor` method that takes a *level* and returns whether " -"the underlying logger would process a message of that level of importance." +"The :class:`~logging.LoggerAdapter` class gained " +"an :meth:`~logging.Logger.isEnabledFor` method that takes a *level* and " +"returns whether the underlying logger would process a message of that level " +"of importance." msgstr "" -"A classe :class:`~logging.LoggerAdapter` ganhou um método :meth:`~logging." -"LoggerAdapter.isEnabledFor` que pega um *level* e retorna se o logger " -"subjacente processaria uma mensagem desse nível de importância." +"A classe :class:`~logging.LoggerAdapter` ganhou um " +"método :meth:`~logging.Logger.isEnabledFor` que pega um *level* e retorna se " +"o logger subjacente processaria uma mensagem desse nível de importância." #: ../../whatsnew/2.7.rst:544 msgid ":pep:`391` - Dictionary-Based Configuration For Logging" @@ -838,26 +839,27 @@ msgstr "PEP 3106: Views de dicionário" #: ../../whatsnew/2.7.rst:550 msgid "" -"The dictionary methods :meth:`~dict.keys`, :meth:`~dict.values`, and :meth:" -"`~dict.items` are different in Python 3.x. They return an object called a :" -"dfn:`view` instead of a fully materialized list." +"The dictionary methods :meth:`~dict.keys`, :meth:`~dict.values`, " +"and :meth:`~dict.items` are different in Python 3.x. They return an object " +"called a :dfn:`view` instead of a fully materialized list." msgstr "" -"Os métodos de dicionário :meth:`~dict.keys`, :meth:`~dict.values` e :meth:" -"`~dict.items` são diferentes no Python 3.x. Eles retornam um objeto chamado :" -"dfn:`view` em vez de uma lista totalmente materializada." +"Os métodos de dicionário :meth:`~dict.keys`, :meth:`~dict.values` " +"e :meth:`~dict.items` são diferentes no Python 3.x. Eles retornam um objeto " +"chamado :dfn:`view` em vez de uma lista totalmente materializada." #: ../../whatsnew/2.7.rst:554 msgid "" -"It's not possible to change the return values of :meth:`~dict.keys`, :meth:" -"`~dict.values`, and :meth:`~dict.items` in Python 2.7 because too much code " -"would break. Instead the 3.x versions were added under the new names :meth:" -"`~dict.viewkeys`, :meth:`~dict.viewvalues`, and :meth:`~dict.viewitems`." +"It's not possible to change the return values " +"of :meth:`~dict.keys`, :meth:`~dict.values`, and :meth:`~dict.items` in " +"Python 2.7 because too much code would break. Instead the 3.x versions were " +"added under the new names :meth:`!viewkeys`, :meth:`!viewvalues`, " +"and :meth:`!viewitems`." msgstr "" -"Não é possível alterar os valores de retorno de :meth:`~dict.keys`, :meth:" -"`~dict.values` e :meth:`~dict.items` no Python 2.7 porque muito código seria " -"interrompido. Em vez disso, as versões 3.x foram adicionadas com os novos " -"nomes :meth:`~dict.viewkeys`, :meth:`~dict.viewvalues` e :meth:`~dict." -"viewitems`." +"Não é possível alterar os valores de retorno " +"de :meth:`~dict.keys`, :meth:`~dict.values` e :meth:`~dict.items` no Python " +"2.7 porque muito código seria interrompido. Em vez disso, as versões 3.x " +"foram adicionadas com os novos nomes :meth:`!viewkeys`, :meth:`!viewvalues` " +"e :meth:`!viewitems`." #: ../../whatsnew/2.7.rst:568 msgid "" @@ -887,12 +889,12 @@ msgstr "" #: ../../whatsnew/2.7.rst:599 msgid "" "You can use the view methods in Python 2.x code, and the 2to3 converter will " -"change them to the standard :meth:`~dict.keys`, :meth:`~dict.values`, and :" -"meth:`~dict.items` methods." +"change them to the standard :meth:`~dict.keys`, :meth:`~dict.values`, " +"and :meth:`~dict.items` methods." msgstr "" "Você pode usar os métodos de exibição no código Python 2.x, e o conversor " -"2to3 irá alterá-los para os métodos padrão :meth:`~dict.keys`, :meth:`~dict." -"values` e :meth:`~dict.items`." +"2to3 irá alterá-los para os métodos " +"padrão :meth:`~dict.keys`, :meth:`~dict.values` e :meth:`~dict.items`." #: ../../whatsnew/2.7.rst:606 msgid ":pep:`3106` - Revamping dict.keys(), .values() and .items()" @@ -900,8 +902,8 @@ msgstr ":pep:`3106` - Repaginação de dict.keys(), .values() e .items()" #: ../../whatsnew/2.7.rst:606 msgid "" -"PEP written by Guido van Rossum. Backported to 2.7 by Alexandre Vassalotti; :" -"issue:`1967`." +"PEP written by Guido van Rossum. Backported to 2.7 by Alexandre " +"Vassalotti; :issue:`1967`." msgstr "" "PEP escrita por Guido van Rossum. Backported para 2.7 por Alexandre " "Vassalotti; :issue:`1967`." @@ -952,7 +954,7 @@ msgstr "Outras mudanças na linguagem" #: ../../whatsnew/2.7.rst:674 msgid "Some smaller changes made to the core Python language are:" -msgstr "Alguma das mudanças menores feitas no núcleo da linguagem Python são:" +msgstr "Algumas das mudanças menores feitas no núcleo da linguagem Python são:" #: ../../whatsnew/2.7.rst:676 msgid "" @@ -994,8 +996,8 @@ msgid "" msgstr "" "A instrução :keyword:`with` agora pode usar vários gerenciadores de contexto " "em uma instrução. Os gerenciadores de contexto são processados da esquerda " -"para a direita e cada um é tratado como o início de uma nova instrução :" -"keyword:`!with`. Isso significa que::" +"para a direita e cada um é tratado como o início de uma nova " +"instrução :keyword:`!with`. Isso significa que::" #: ../../whatsnew/2.7.rst:717 msgid "is equivalent to::" @@ -1003,10 +1005,10 @@ msgstr "é equivalente a::" #: ../../whatsnew/2.7.rst:723 msgid "" -"The :func:`contextlib.nested` function provides a very similar function, so " +"The :func:`!contextlib.nested` function provides a very similar function, so " "it's no longer necessary and has been deprecated." msgstr "" -"A função :func:`contextlib.nested` fornece uma função muito similar, então " +"A função :func:`!contextlib.nested` fornece uma função muito similar, então " "não é mais necessária e foi descontinuada." #: ../../whatsnew/2.7.rst:726 @@ -1021,20 +1023,21 @@ msgstr "" msgid "" "Conversions between floating-point numbers and strings are now correctly " "rounded on most platforms. These conversions occur in many different " -"places: :func:`str` on floats and complex numbers; the :class:`float` and :" -"class:`complex` constructors; numeric formatting; serializing and " -"deserializing floats and complex numbers using the :mod:`marshal`, :mod:" -"`pickle` and :mod:`json` modules; parsing of float and imaginary literals in " -"Python code; and :class:`~decimal.Decimal`-to-float conversion." -msgstr "" -"As conversões entre números de ponto flutuante (float) e strings agora são " -"arredondadas corretamente na maioria das plataformas. Estas conversões " +"places: :func:`str` on floats and complex numbers; the :class:`float` " +"and :class:`complex` constructors; numeric formatting; serializing and " +"deserializing floats and complex numbers using " +"the :mod:`marshal`, :mod:`pickle` and :mod:`json` modules; parsing of float " +"and imaginary literals in Python code; and :class:`~decimal.Decimal`-to-" +"float conversion." +msgstr "" +"As conversões entre números de ponto flutuante, ou float. e strings agora " +"são arredondadas corretamente na maioria das plataformas. Estas conversões " "ocorrem em muitos lugares diferentes: :func:`str` em floats e números " "complexos; os construtores :class:`float` e :class:`complex`; formatação " "numérica; serializar e desserializar floats e números complexos usando os " "módulos :mod:`marshal`, :mod:`pickle` e :mod:`json`; análise de float e " -"literais imaginários no código Python; e a conversão :class:`~decimal." -"Decimal`-para-float." +"literais imaginários no código Python; e a " +"conversão :class:`~decimal.Decimal`-para-float." #: ../../whatsnew/2.7.rst:741 msgid "" @@ -1062,17 +1065,17 @@ msgstr "" "Windows e em plataformas Unix usando os compiladores gcc, icc ou suncc. Pode " "haver um pequeno número de plataformas onde a operação correta deste código " "não pode ser garantida, então o código não é usado em tais sistemas. Você " -"pode descobrir qual código está sendo usado verificando :data:`sys." -"float_repr_style`, que será ``short`` se o novo código estiver em uso e " -"``legacy`` se não estiver." +"pode descobrir qual código está sendo usado " +"verificando :data:`sys.float_repr_style`, que será ``short`` se o novo " +"código estiver em uso e ``legacy`` se não estiver." #: ../../whatsnew/2.7.rst:757 msgid "" -"Implemented by Eric Smith and Mark Dickinson, using David Gay's :file:`dtoa." -"c` library; :issue:`7117`." +"Implemented by Eric Smith and Mark Dickinson, using David " +"Gay's :file:`dtoa.c` library; :issue:`7117`." msgstr "" -"Implementada por Eric Smith and Mark Dickinson, usando a biblioteca :file:" -"`dtoa.c` de David Gay; :issue:`7117`." +"Implementada por Eric Smith and Mark Dickinson, usando a " +"biblioteca :file:`dtoa.c` de David Gay; :issue:`7117`." #: ../../whatsnew/2.7.rst:760 msgid "" @@ -1113,12 +1116,12 @@ msgstr "" #: ../../whatsnew/2.7.rst:787 msgid "" "Implicit coercion for complex numbers has been removed; the interpreter will " -"no longer ever attempt to call a :meth:`__coerce__` method on complex " +"no longer ever attempt to call a :meth:`!__coerce__` method on complex " "objects. (Removed by Meador Inge and Mark Dickinson; :issue:`5211`.)" msgstr "" -"A coerção implícita para números complexos foi removida; o interpretador não " -"tentará mais chamar um método :meth:`__coerce__` em objetos complexos. " -"(Removido por Meador Inge e Mark Dickinson; :issue:`5211`.)" +"A coerção implícita para números complexos foi removida; o interpretador " +"nunca mais tentará chamar um método :meth:`!__coerce__` em objetos " +"complexos. (Removido por Meador Inge e Mark Dickinson; :issue:`5211`.)" #: ../../whatsnew/2.7.rst:791 msgid "" @@ -1140,11 +1143,11 @@ msgid "" "as in the second example above. (Contributed by Eric Smith; :issue:`5237`.)" msgstr "" "A numeração automática leva os campos da esquerda para a direita, então o " -"primeiro especificador ``{...}`` usará o primeiro argumento para :meth:`str." -"format`, o próximo especificador usará o próximo argumento e breve. Você não " -"pode misturar a numeração automática e a numeração explícita -- numerar " -"todos os seus campos especificadores ou nenhum deles -- mas você pode " -"misturar a numeração automática e os campos nomeados, como no segundo " +"primeiro especificador ``{...}`` usará o primeiro argumento " +"para :meth:`str.format`, o próximo especificador usará o próximo argumento e " +"breve. Você não pode misturar a numeração automática e a numeração explícita " +"-- numerar todos os seus campos especificadores ou nenhum deles -- mas você " +"pode misturar a numeração automática e os campos nomeados, como no segundo " "exemplo acima. (Contribuição de Eric Smith; :issue:`5237`.)" #: ../../whatsnew/2.7.rst:807 @@ -1159,8 +1162,8 @@ msgstr "" "padrão é alinhamento à direita. A especificação de uma precisão ou separação " "por vírgula aplica-se às partes reais e imaginárias do número, mas uma " "largura de campo e alinhamento especificados são aplicados a toda a saída " -"``1.5+3j`` resultante. (Contribuição de Eric Smith; :issue:`1588` e :issue:" -"`7988`.)" +"``1.5+3j`` resultante. (Contribuição de Eric Smith; :issue:`1588` " +"e :issue:`7988`.)" #: ../../whatsnew/2.7.rst:814 msgid "" @@ -1174,18 +1177,18 @@ msgstr "" #: ../../whatsnew/2.7.rst:818 msgid "" -"A low-level change: the :meth:`object.__format__` method now triggers a :exc:" -"`PendingDeprecationWarning` if it's passed a format string, because the :" -"meth:`__format__` method for :class:`object` converts the object to a string " -"representation and formats that. Previously the method silently applied the " -"format string to the string representation, but that could hide mistakes in " -"Python code. If you're supplying formatting information such as an " -"alignment or precision, presumably you're expecting the formatting to be " +"A low-level change: the :meth:`object.__format__` method now triggers " +"a :exc:`PendingDeprecationWarning` if it's passed a format string, because " +"the :meth:`!__format__` method for :class:`object` converts the object to a " +"string representation and formats that. Previously the method silently " +"applied the format string to the string representation, but that could hide " +"mistakes in Python code. If you're supplying formatting information such as " +"an alignment or precision, presumably you're expecting the formatting to be " "applied in some object-specific way. (Fixed by Eric Smith; :issue:`7994`.)" msgstr "" "Uma alteração de baixo nível: o método :meth:`object.__format__` agora " "aciona um :exc:`PendingDeprecationWarning` se for passado uma string de " -"formato, porque o método :meth:`__format__` para :class:`object` converte o " +"formato, porque o método :meth:`!__format__` para :class:`object` converte o " "objeto para uma representação de string e formata isso. Anteriormente, o " "método aplicava silenciosamente a string de formato à representação da " "string, mas isso poderia ocultar erros no código Python. Se você estiver " @@ -1195,10 +1198,10 @@ msgstr "" #: ../../whatsnew/2.7.rst:828 msgid "" -"The :func:`int` and :func:`long` types gained a ``bit_length`` method that " +"The :func:`int` and :func:`!long` types gained a ``bit_length`` method that " "returns the number of bits necessary to represent its argument in binary::" msgstr "" -"Os tipos :func:`int` e :func:`long` ganharam um método ``bit_length`` que " +"Os tipos :func:`int` e :func:`!long` ganharam um método ``bit_length`` que " "retorna o número de bits necessários para representar seu argumento em " "binário::" @@ -1221,37 +1224,39 @@ msgstr "" #: ../../whatsnew/2.7.rst:851 msgid "" -"It's now possible for a subclass of the built-in :class:`unicode` type to " -"override the :meth:`__unicode__` method. (Implemented by Victor Stinner; :" -"issue:`1583863`.)" +"It's now possible for a subclass of the built-in :class:`!unicode` type to " +"override the :meth:`!__unicode__` method. (Implemented by Victor " +"Stinner; :issue:`1583863`.)" msgstr "" -"Agora é possível para uma subclasse do tipo interno :class:`unicode` " -"substituir o método :meth:`__unicode__`. (Implementado por Victor Stinner; :" -"issue:`1583863`.)" +"Agora é possível para uma subclasse do tipo embutido :class:`!unicode` " +"substituir o método :meth:`!__unicode__`. (Implementado por Victor " +"Stinner; :issue:`1583863`.)" #: ../../whatsnew/2.7.rst:855 msgid "" "The :class:`bytearray` type's :meth:`~bytearray.translate` method now " -"accepts ``None`` as its first argument. (Fixed by Georg Brandl; :issue:" -"`4759`.)" +"accepts ``None`` as its first argument. (Fixed by Georg " +"Brandl; :issue:`4759`.)" msgstr "" "O método :meth:`~bytearray.translate` do tipo :class:`bytearray` agora " -"aceita ``None`` como seu primeiro argumento. (Correção de Georg Brandl; :" -"issue:`4759`.)" +"aceita ``None`` como seu primeiro argumento. (Correção de Georg " +"Brandl; :issue:`4759`.)" #: ../../whatsnew/2.7.rst:861 msgid "" -"When using ``@classmethod`` and ``@staticmethod`` to wrap methods as class " -"or static methods, the wrapper object now exposes the wrapped function as " -"their :attr:`__func__` attribute. (Contributed by Amaury Forgeot d'Arc, " -"after a suggestion by George Sakkis; :issue:`5982`.)" +"When using :class:`@classmethod ` and :class:`@staticmethod " +"` to wrap methods as class or static methods, the wrapper " +"object now exposes the wrapped function as their :attr:`~method.__func__` " +"attribute. (Contributed by Amaury Forgeot d'Arc, after a suggestion by " +"George Sakkis; :issue:`5982`.)" msgstr "" -"Ao usar ``@classmethod`` e ``@staticmethod`` para agrupar métodos como " -"classe ou métodos estáticos, o objeto envólucro agora expõe a função " -"agrupada como seu atributo :attr:`__func__`. (Contribuição de Amaury Forgeot " -"d'Arc, após sugestão de George Sakkis; :issue:`5982`.)" +"Ao usar :class:`@classmethod ` e :class:`@staticmethod " +"` para agrupar métodos como classe ou métodos estáticos, o " +"objeto wrapper agora expõe a função agrupada como seu " +"atributo :attr:`~method.__func__`. (Contribuição de Amaury Forgeot d'Arc, " +"após sugestão de George Sakkis; :issue:`5982`.)" -#: ../../whatsnew/2.7.rst:867 ../../whatsnew/2.7.rst:2462 +#: ../../whatsnew/2.7.rst:869 ../../whatsnew/2.7.rst:2467 msgid "" "When a restricted set of attributes were set using ``__slots__``, deleting " "an unset attribute would not raise :exc:`AttributeError` as you would " @@ -1261,12 +1266,12 @@ msgstr "" "excluir um atributo não definido não levantaria :exc:`AttributeError` como " "seria de esperar. Correção de Benjamin Peterson; :issue:`7604`.)" -#: ../../whatsnew/2.7.rst:871 +#: ../../whatsnew/2.7.rst:873 msgid "" "Two new encodings are now supported: \"cp720\", used primarily for Arabic " "text; and \"cp858\", a variant of CP 850 that adds the euro symbol. (CP720 " -"contributed by Alexander Belchenko and Amaury Forgeot d'Arc in :issue:" -"`1616979`; CP858 contributed by Tim Hatch in :issue:`8016`.)" +"contributed by Alexander Belchenko and Amaury Forgeot d'Arc " +"in :issue:`1616979`; CP858 contributed by Tim Hatch in :issue:`8016`.)" msgstr "" "Duas novas codificações agora são suportadas: \"cp720\", usado " "principalmente para texto em árabe; e \"cp858\", uma variante do CP 850 que " @@ -1274,25 +1279,26 @@ msgstr "" "Amaury Forgeot d'Arc em :issue:`1616979`; CP858 foi contribuição de Tim " "Hatch em :issue:`8016`.)" -#: ../../whatsnew/2.7.rst:877 +#: ../../whatsnew/2.7.rst:879 msgid "" -"The :class:`file` object will now set the :attr:`filename` attribute on the :" -"exc:`IOError` exception when trying to open a directory on POSIX platforms " -"(noted by Jan Kaliszewski; :issue:`4764`), and now explicitly checks for and " -"forbids writing to read-only file objects instead of trusting the C library " -"to catch and report the error (fixed by Stefan Krah; :issue:`5677`)." +"The :class:`!file` object will now set the :attr:`!filename` attribute on " +"the :exc:`IOError` exception when trying to open a directory on POSIX " +"platforms (noted by Jan Kaliszewski; :issue:`4764`), and now explicitly " +"checks for and forbids writing to read-only file objects instead of trusting " +"the C library to catch and report the error (fixed by Stefan " +"Krah; :issue:`5677`)." msgstr "" -"O objeto :class:`file` agora definirá o atributo :attr:`filename` na " +"O objeto :class:`!file` agora definirá o atributo :attr:`!filename` na " "exceção :exc:`IOError` ao tentar abrir um diretório em plataformas POSIX " "(observado por Jan Kaliszewski; :issue:`4764`) , e agora verifica " "explicitamente e proíbe a gravação em objetos arquivo somente leitura em vez " "de confiar na biblioteca C para detectar e relatar o erro (correção de " "Stefan Krah; :issue:`5677`)." -#: ../../whatsnew/2.7.rst:884 +#: ../../whatsnew/2.7.rst:886 msgid "" -"The Python tokenizer now translates line endings itself, so the :func:" -"`compile` built-in function now accepts code using any line-ending " +"The Python tokenizer now translates line endings itself, so " +"the :func:`compile` built-in function now accepts code using any line-ending " "convention. Additionally, it no longer requires that the code end in a " "newline." msgstr "" @@ -1301,7 +1307,7 @@ msgstr "" "convenção de terminação de linha. Além disso, não requer mais que o código " "termine em uma nova linha." -#: ../../whatsnew/2.7.rst:889 +#: ../../whatsnew/2.7.rst:891 msgid "" "Extra parentheses in function definitions are illegal in Python 3.x, meaning " "that you get a syntax error from ``def f((x)): pass``. In Python3-warning " @@ -1313,31 +1319,31 @@ msgstr "" "de aviso do Python3, o Python 2.7 agora avisará sobre esse uso estranho. " "(Notado por James Lingard; :issue:`7362`.)" -#: ../../whatsnew/2.7.rst:894 +#: ../../whatsnew/2.7.rst:896 msgid "" "It's now possible to create weak references to old-style class objects. New-" -"style classes were always weak-referenceable. (Fixed by Antoine Pitrou; :" -"issue:`8268`.)" +"style classes were always weak-referenceable. (Fixed by Antoine " +"Pitrou; :issue:`8268`.)" msgstr "" "Agora é possível criar referências fracas para objetos de classe de estilo " "antigo. As classes de novo estilo sempre tiveram referências fracas. " "(Correção de Antoine Pitrou; :issue:`8268`.)" -#: ../../whatsnew/2.7.rst:898 +#: ../../whatsnew/2.7.rst:900 msgid "" "When a module object is garbage-collected, the module's dictionary is now " -"only cleared if no one else is holding a reference to the dictionary (:issue:" -"`7140`)." +"only cleared if no one else is holding a reference to the dictionary " +"(:issue:`7140`)." msgstr "" "Quando um objeto de módulo é coletado como lixo, o dicionário do módulo " "agora só é limpo se ninguém mais estiver mantendo uma referência ao " "dicionário (:issue:`7140`)." -#: ../../whatsnew/2.7.rst:907 +#: ../../whatsnew/2.7.rst:909 msgid "Interpreter Changes" -msgstr "Alterações do interpretador" +msgstr "Alterações no interpretador" -#: ../../whatsnew/2.7.rst:909 +#: ../../whatsnew/2.7.rst:911 msgid "" "A new environment variable, :envvar:`PYTHONWARNINGS`, allows controlling " "warnings. It should be set to a string containing warning settings, " @@ -1349,37 +1355,37 @@ msgstr "" "aviso, equivalentes àquelas usadas com a opção :option:`-W`, separadas por " "vírgulas. (Contribuição de Brian Curtin; :issue:`7301`.)" -#: ../../whatsnew/2.7.rst:915 +#: ../../whatsnew/2.7.rst:917 msgid "" "For example, the following setting will print warnings every time they " -"occur, but turn warnings from the :mod:`Cookie` module into an error. (The " -"exact syntax for setting an environment variable varies across operating " -"systems and shells.)" +"occur, but turn warnings from the :mod:`Cookie ` module into " +"an error. (The exact syntax for setting an environment variable varies " +"across operating systems and shells.)" msgstr "" "Por exemplo, a configuração a seguir imprimirá avisos toda vez que " -"ocorrerem, mas transformará os avisos do módulo :mod:`Cookie` em um erro. (A " -"sintaxe exata para definir uma variável de ambiente varia entre sistemas " -"operacionais e shells.)" +"ocorrerem, mas transformará os avisos do módulo :mod:`Cookie ` " +"em um erro. (A sintaxe exata para definir uma variável de ambiente varia " +"entre sistemas operacionais e shells.)" -#: ../../whatsnew/2.7.rst:928 +#: ../../whatsnew/2.7.rst:930 msgid "Optimizations" msgstr "Otimizações" -#: ../../whatsnew/2.7.rst:930 +#: ../../whatsnew/2.7.rst:932 msgid "Several performance enhancements have been added:" msgstr "Vários aprimoramentos de desempenho foram adicionados:" -#: ../../whatsnew/2.7.rst:932 +#: ../../whatsnew/2.7.rst:934 msgid "" "A new opcode was added to perform the initial setup for :keyword:`with` " -"statements, looking up the :meth:`__enter__` and :meth:`__exit__` methods. " -"(Contributed by Benjamin Peterson.)" +"statements, looking up the :meth:`~object.__enter__` " +"and :meth:`~object.__exit__` methods. (Contributed by Benjamin Peterson.)" msgstr "" "Um novo opcode foi adicionado para executar a configuração inicial das " -"instruções :keyword:`with`, procurando os métodos :meth:`__enter__` e :meth:" -"`__exit__`. (Contribuição de Benjamin Peterson.)" +"instruções :keyword:`with`, procurando os métodos :meth:`~object.__enter__` " +"e :meth:`~object.__exit__`. (Contribuição de Benjamin Peterson.)" -#: ../../whatsnew/2.7.rst:936 +#: ../../whatsnew/2.7.rst:938 msgid "" "The garbage collector now performs better for one common usage pattern: when " "many objects are being allocated without deallocating any of them. This " @@ -1401,7 +1407,7 @@ msgstr "" "exceder 10% do número de objetos da geração mais antiga. (Sugerido por " "Martin von Löwis e implementado por Antoine Pitrou; :issue:`4074`.)" -#: ../../whatsnew/2.7.rst:947 +#: ../../whatsnew/2.7.rst:949 msgid "" "The garbage collector tries to avoid tracking simple containers which can't " "be part of a cycle. In Python 2.7, this is now true for tuples and dicts " @@ -1419,7 +1425,7 @@ msgstr "" "número de objetos a serem considerados e percorridos pelo coletor. " "(Contribuição de Antoine Pitrou; :issue:`4688`.)" -#: ../../whatsnew/2.7.rst:956 +#: ../../whatsnew/2.7.rst:958 msgid "" "Long integers are now stored internally either in base ``2**15`` or in base " "``2**30``, the base being determined at build time. Previously, they were " @@ -1440,25 +1446,25 @@ msgstr "" "configuração :option:`!--enable-big-digits` que pode ser usada para " "substituir esse padrão." -#: ../../whatsnew/2.7.rst:965 +#: ../../whatsnew/2.7.rst:967 msgid "" "Apart from the performance improvements this change should be invisible to " "end users, with one exception: for testing and debugging purposes there's a " -"new structseq :data:`sys.long_info` that provides information about the " +"new structseq :data:`!sys.long_info` that provides information about the " "internal format, giving the number of bits per digit and the size in bytes " "of the C type used to store each digit::" msgstr "" "Além das melhorias de desempenho, essa alteração deve ser invisível para os " "usuários finais, com uma exceção: para fins de teste e depuração, há um novo " -"structseq :data:`sys.long_info` que fornece informações sobre o formato " +"structseq :data:`!sys.long_info` que fornece informações sobre o formato " "interno, fornecendo o número de bits por dígito e o tamanho em bytes do tipo " "C usado para armazenar cada dígito::" -#: ../../whatsnew/2.7.rst:976 +#: ../../whatsnew/2.7.rst:978 msgid "(Contributed by Mark Dickinson; :issue:`4258`.)" -msgstr "(Contribuição de Mark Dickinson; :issue:`4258`.)" +msgstr "(Contributed by Mark Dickinson; :issue:`4258`.)" -#: ../../whatsnew/2.7.rst:978 +#: ../../whatsnew/2.7.rst:980 msgid "" "Another set of changes made long objects a few bytes smaller: 2 bytes " "smaller on 32-bit systems and 6 bytes on 64-bit. (Contributed by Mark " @@ -1468,7 +1474,7 @@ msgstr "" "2 bytes menores em sistemas de 32 bits e 6 bytes em sistemas de 64 bits. " "(Contribuição de Mark Dickinson; :issue:`5260`.)" -#: ../../whatsnew/2.7.rst:982 +#: ../../whatsnew/2.7.rst:984 msgid "" "The division algorithm for long integers has been made faster by tightening " "the inner loop, doing shifts instead of multiplications, and fixing an " @@ -1478,14 +1484,14 @@ msgid "" "faster (initial patch by Gregory Smith; :issue:`1087418`)." msgstr "" "O algoritmo de divisão para números inteiros longos ficou mais rápido " -"apertando o loop interno, fazendo deslocamentos em vez de multiplicações e " +"apertando o laço interno, fazendo deslocamentos em vez de multiplicações e " "corrigindo uma iteração extra desnecessária. Vários benchmarks mostram " "acelerações entre 50% e 150% para divisões inteiras longas e operações de " "módulo. (Contribuição de Mark Dickinson; :issue:`5512`.) Operações bit a bit " -"também são significativamente mais rápidas (patch inicial de Gregory Smith; :" -"issue:`1087418`)." +"também são significativamente mais rápidas (patch inicial de Gregory " +"Smith; :issue:`1087418`)." -#: ../../whatsnew/2.7.rst:991 +#: ../../whatsnew/2.7.rst:993 msgid "" "The implementation of ``%`` checks for the left-side operand being a Python " "string and special-cases it; this results in a 1--3% performance increase " @@ -1495,20 +1501,20 @@ msgstr "" "A implementação de ``%`` verifica se o operando do lado esquerdo é uma " "string Python e usa casos especiais; isso resulta em um aumento de " "desempenho de 1 a 3% para aplicativos que usam frequentemente ``%`` com " -"strings, como bibliotecas de modelos. (Implementação de Collin Winter; :" -"issue:`5176`.)" +"strings, como templates em bibliotecas. (Implementação de Collin " +"Winter; :issue:`5176`.)" -#: ../../whatsnew/2.7.rst:997 +#: ../../whatsnew/2.7.rst:999 msgid "" "List comprehensions with an ``if`` condition are compiled into faster " -"bytecode. (Patch by Antoine Pitrou, back-ported to 2.7 by Jeffrey Yasskin; :" -"issue:`4715`.)" +"bytecode. (Patch by Antoine Pitrou, back-ported to 2.7 by Jeffrey " +"Yasskin; :issue:`4715`.)" msgstr "" "Compreensões de lista com uma condição ``if`` são compiladas em bytecode " "mais rápido. (Patch de Antoine Pitrou, retroportado para 2.7 por Jeffrey " "Yasskin; :issue:`4715`.)" -#: ../../whatsnew/2.7.rst:1001 +#: ../../whatsnew/2.7.rst:1003 msgid "" "Converting an integer or long integer to a decimal string was made faster by " "special-casing base 10 instead of using a generalized conversion function " @@ -1519,39 +1525,47 @@ msgstr "" "usar uma função de conversão generalizada que oferece suporte a bases " "arbitrárias. (Patch por Gawain Bolton; :issue:`6713`.)" -#: ../../whatsnew/2.7.rst:1006 +#: ../../whatsnew/2.7.rst:1008 msgid "" -"The :meth:`split`, :meth:`replace`, :meth:`rindex`, :meth:`rpartition`, and :" -"meth:`rsplit` methods of string-like types (strings, Unicode strings, and :" -"class:`bytearray` objects) now use a fast reverse-search algorithm instead " -"of a character-by-character scan. This is sometimes faster by a factor of " -"10. (Added by Florent Xicluna; :issue:`7462` and :issue:`7622`.)" +"The :meth:`!split`, :meth:`!replace`, :meth:`!rindex`, :meth:`!rpartition`, " +"and :meth:`!rsplit` methods of string-like types (strings, Unicode strings, " +"and :class:`bytearray` objects) now use a fast reverse-search algorithm " +"instead of a character-by-character scan. This is sometimes faster by a " +"factor of 10. (Added by Florent Xicluna; :issue:`7462` and :issue:`7622`.)" msgstr "" -"Os métodos :meth:`split`, :meth:`replace`, :meth:`rindex`, :meth:" -"`rpartition` e :meth:`rsplit` de tipos string ou similares (strings, strings " -"Unicode e objetos :class:`bytearray`) agora usam um algoritmo de pesquisa " -"reversa rápida em vez de percorrer caractere a caractere. Isso às vezes é " -"mais rápido por um fator de 10. (Adicionado por Florent Xicluna; :issue:" -"`7462` e :issue:`7622`.)" +"Os métodos :meth:`!split`, :meth:`!replace`, :meth:`!rindex`, :meth:`!" +"rpartition` e :meth:`!rsplit` de tipos semelhantes a strings (strings, " +"Strings Unicode e objetos :class:`bytearray`) agora usam um algoritmo de " +"pesquisa reversa rápida em vez de uma varredura caractere por caractere. Às " +"vezes, isso é mais rápido por um fator de 10. (Adicionado por Florent " +"Xicluna; :issue:`7462` e :issue:`7622`.)" -#: ../../whatsnew/2.7.rst:1013 +#: ../../whatsnew/2.7.rst:1015 msgid "" -"The :mod:`pickle` and :mod:`cPickle` modules now automatically intern the " +"The :mod:`pickle` and :mod:`!cPickle` modules now automatically intern the " "strings used for attribute names, reducing memory usage of the objects " "resulting from unpickling. (Contributed by Jake McGuire; :issue:`5084`.)" msgstr "" +"Os módulos :mod:`pickle` e :mod:`!cPickle` agora internalizam " +"automaticamente as strings usadas para nomes de atributos, reduzindo o uso " +"de memória dos objetos resultantes da desserialização com pickle. " +"(Contribuição de Jake McGuire; :issue:`5084`.)" -#: ../../whatsnew/2.7.rst:1018 +#: ../../whatsnew/2.7.rst:1020 msgid "" -"The :mod:`cPickle` module now special-cases dictionaries, nearly halving the " -"time required to pickle them. (Contributed by Collin Winter; :issue:`5670`.)" +"The :mod:`!cPickle` module now special-cases dictionaries, nearly halving " +"the time required to pickle them. (Contributed by Collin " +"Winter; :issue:`5670`.)" msgstr "" +"O módulo :mod:`!cPickle` agora usa dicionários de casos especiais, reduzindo " +"quase pela metade o tempo necessário para serializá-los com pickle. " +"(Contribuição de Collin Winter; :issue:`5670`.)" -#: ../../whatsnew/2.7.rst:1025 +#: ../../whatsnew/2.7.rst:1027 msgid "New and Improved Modules" msgstr "Módulos Novos ou Aprimorados" -#: ../../whatsnew/2.7.rst:1027 +#: ../../whatsnew/2.7.rst:1029 msgid "" "As in every release, Python's standard library received a number of " "enhancements and bug fixes. Here's a partial list of the most notable " @@ -1559,642 +1573,682 @@ msgid "" "file in the source tree for a more complete list of changes, or look through " "the Subversion logs for all the details." msgstr "" -"As in every release, Python's standard library received a number of " -"enhancements and bug fixes. Here's a partial list of the most notable " -"changes, sorted alphabetically by module name. Consult the :file:`Misc/NEWS` " -"file in the source tree for a more complete list of changes, or look through " -"the Subversion logs for all the details." +"Como em todas os lançamentos, a biblioteca padrão do Python recebeu diversas " +"melhorias e correções de bugs. Aqui está uma lista parcial das mudanças mais " +"notáveis, classificadas em ordem alfabética por nome do módulo. Consulte o " +"arquivo :file:`Misc/NEWS` na árvore de código-fonte para uma lista mais " +"completa de alterações, ou procure nos logs do Subversion para todos os " +"detalhes." -#: ../../whatsnew/2.7.rst:1033 +#: ../../whatsnew/2.7.rst:1035 msgid "" "The :mod:`bdb` module's base debugging class :class:`~bdb.Bdb` gained a " "feature for skipping modules. The constructor now takes an iterable " "containing glob-style patterns such as ``django.*``; the debugger will not " "step into stack frames from a module that matches one of these patterns. " -"(Contributed by Maru Newby after a suggestion by Senthil Kumaran; :issue:" -"`5142`.)" +"(Contributed by Maru Newby after a suggestion by Senthil " +"Kumaran; :issue:`5142`.)" msgstr "" -"The :mod:`bdb` module's base debugging class :class:`~bdb.Bdb` gained a " -"feature for skipping modules. The constructor now takes an iterable " -"containing glob-style patterns such as ``django.*``; the debugger will not " -"step into stack frames from a module that matches one of these patterns. " -"(Contributed by Maru Newby after a suggestion by Senthil Kumaran; :issue:" -"`5142`.)" +"A classe de depuração base do módulo :mod:`bdb` :class:`~bdb.Bdb` ganhou um " +"recurso para pular módulos. O construtor agora usa um iterável contendo " +"padrões estilo glob como ``django.*``; o depurador não entrará nos quadros " +"de pilha de um módulo que corresponda a um desses padrões. (Contribuição de " +"Maru Newby após sugestão de Senthil Kumaran; :issue:`5142`.)" -#: ../../whatsnew/2.7.rst:1041 +#: ../../whatsnew/2.7.rst:1043 msgid "" "The :mod:`binascii` module now supports the buffer API, so it can be used " "with :class:`memoryview` instances and other similar buffer objects. " "(Backported from 3.x by Florent Xicluna; :issue:`7703`.)" msgstr "" -"The :mod:`binascii` module now supports the buffer API, so it can be used " -"with :class:`memoryview` instances and other similar buffer objects. " -"(Backported from 3.x by Florent Xicluna; :issue:`7703`.)" +"O módulo :mod:`binascii` agora oferece suporte à API de buffer, então ele " +"pode ser usado com instâncias :class:`memoryview` e outros objetos buffer " +"similares. (Backport de 3.x por Florent Xicluna; :issue:`7703`.)" -#: ../../whatsnew/2.7.rst:1045 +#: ../../whatsnew/2.7.rst:1047 msgid "" -"Updated module: the :mod:`bsddb` module has been updated from 4.7.2devel9 to " -"version 4.8.4 of `the pybsddb package `__. The new version features better Python 3.x compatibility, " "various bug fixes, and adds several new BerkeleyDB flags and methods. " "(Updated by Jesús Cea Avión; :issue:`8156`. The pybsddb changelog can be " "read at https://hg.jcea.es/pybsddb/file/tip/ChangeLog.)" msgstr "" +"Módulo atualizado: o módulo :mod:`!bsddb` foi atualizado de 4.7.2devel9 para " +"a versão 4.8.4 do `pacote pybsddb `__. A nova versão apresenta melhor compatibilidade com Python " +"3.x, várias correções de bugs e adiciona vários novos sinalizadores e " +"métodos BerkeleyDB. (Atualizado por Jesús Cea Avión; :issue:`8156`. O " +"changelog do pybsddb pode ser lido em https://hg.jcea.es/pybsddb/file/tip/" +"ChangeLog.)" -#: ../../whatsnew/2.7.rst:1053 +#: ../../whatsnew/2.7.rst:1055 msgid "" "The :mod:`bz2` module's :class:`~bz2.BZ2File` now supports the context " "management protocol, so you can write ``with bz2.BZ2File(...) as f:``. " "(Contributed by Hagen Fürstenau; :issue:`3860`.)" msgstr "" -"The :mod:`bz2` module's :class:`~bz2.BZ2File` now supports the context " -"management protocol, so you can write ``with bz2.BZ2File(...) as f:``. " -"(Contributed by Hagen Fürstenau; :issue:`3860`.)" +"O :class:`~bz2.BZ2File` do módulo :mod:`bz2` agora oferece suporte ao " +"protocolo de gerenciamento de contexto, então você pode escrever ``with " +"bz2.BZ2File(...) as f:``. (Contribuição de Hagen Fürstenau; :issue:`3860`.)" -#: ../../whatsnew/2.7.rst:1057 +#: ../../whatsnew/2.7.rst:1059 msgid "" "New class: the :class:`~collections.Counter` class in the :mod:`collections` " "module is useful for tallying data. :class:`~collections.Counter` instances " "behave mostly like dictionaries but return zero for missing keys instead of " "raising a :exc:`KeyError`:" msgstr "" -"New class: the :class:`~collections.Counter` class in the :mod:`collections` " -"module is useful for tallying data. :class:`~collections.Counter` instances " -"behave mostly like dictionaries but return zero for missing keys instead of " -"raising a :exc:`KeyError`:" - -#: ../../whatsnew/2.7.rst:1079 -msgid "" -"There are three additional :class:`~collections.Counter` methods. :meth:" -"`~collections.Counter.most_common` returns the N most common elements and " -"their counts. :meth:`~collections.Counter.elements` returns an iterator " -"over the contained elements, repeating each element as many times as its " -"count. :meth:`~collections.Counter.subtract` takes an iterable and subtracts " -"one for each element instead of adding; if the argument is a dictionary or " -"another :class:`Counter`, the counts are subtracted. ::" -msgstr "" -"There are three additional :class:`~collections.Counter` methods. :meth:" -"`~collections.Counter.most_common` returns the N most common elements and " -"their counts. :meth:`~collections.Counter.elements` returns an iterator over " -"the contained elements, repeating each element as many times as its count. :" -"meth:`~collections.Counter.subtract` takes an iterable and subtracts one for " -"each element instead of adding; if the argument is a dictionary or another :" -"class:`Counter`, the counts are subtracted. ::" - -#: ../../whatsnew/2.7.rst:1102 +"Nova classe: a classe :class:`~collections.Counter` no " +"módulo :mod:`collections` é útil para contabilizar dados. As " +"instâncias :class:`~collections.Counter` se comportam principalmente como " +"dicionários, mas retornam zero para chaves ausentes em vez de levantar uma " +"exceção :exc:`KeyError`:" + +#: ../../whatsnew/2.7.rst:1081 +msgid "" +"There are three additional :class:`~collections.Counter` " +"methods. :meth:`~collections.Counter.most_common` returns the N most common " +"elements and their counts. :meth:`~collections.Counter.elements` returns an " +"iterator over the contained elements, repeating each element as many times " +"as its count. :meth:`~collections.Counter.subtract` takes an iterable and " +"subtracts one for each element instead of adding; if the argument is a " +"dictionary or another :class:`Counter`, the counts are subtracted. ::" +msgstr "" +"Existem três métodos :class:`~collections.Counter` " +"adicionais. :meth:`~collections.Counter.most_common` retorna os N elementos " +"mais comuns e suas contagens. :meth:`~collections.Counter.elements` retorna " +"um iterador sobre os elementos contidos, repetindo cada elemento tantas " +"vezes quanto sua contagem. :meth:`~collections.Counter.subtract` pega um " +"iterável e subtrai um para cada elemento em vez de adicionar; se o argumento " +"for um dicionário ou outro :class:`Counter`, as contagens são subtraídas. ::" + +#: ../../whatsnew/2.7.rst:1104 msgid "Contributed by Raymond Hettinger; :issue:`1696199`." -msgstr "Contributed by Raymond Hettinger; :issue:`1696199`." +msgstr "Contribuição de Raymond Hettinger; :issue:`1696199`." -#: ../../whatsnew/2.7.rst:1106 +#: ../../whatsnew/2.7.rst:1108 msgid "" "New class: :class:`~collections.OrderedDict` is described in the earlier " "section :ref:`pep-0372`." msgstr "" -"New class: :class:`~collections.OrderedDict` is described in the earlier " -"section :ref:`pep-0372`." +"Nova classe: :class:`~collections.OrderedDict` é descrita na seção " +"anterior :ref:`pep-0372`." -#: ../../whatsnew/2.7.rst:1109 +#: ../../whatsnew/2.7.rst:1111 msgid "" -"New method: The :class:`~collections.deque` data type now has a :meth:" -"`~collections.deque.count` method that returns the number of contained " -"elements equal to the supplied argument *x*, and a :meth:`~collections.deque." -"reverse` method that reverses the elements of the deque in-place. :class:" -"`~collections.deque` also exposes its maximum length as the read-only :attr:" -"`~collections.deque.maxlen` attribute. (Both features added by Raymond " -"Hettinger.)" +"New method: The :class:`~collections.deque` data type now has " +"a :meth:`~collections.deque.count` method that returns the number of " +"contained elements equal to the supplied argument *x*, and " +"a :meth:`~collections.deque.reverse` method that reverses the elements of " +"the deque in-place. :class:`~collections.deque` also exposes its maximum " +"length as the read-only :attr:`~collections.deque.maxlen` attribute. (Both " +"features added by Raymond Hettinger.)" msgstr "" -"New method: The :class:`~collections.deque` data type now has a :meth:" -"`~collections.deque.count` method that returns the number of contained " -"elements equal to the supplied argument *x*, and a :meth:`~collections.deque." -"reverse` method that reverses the elements of the deque in-place. :class:" -"`~collections.deque` also exposes its maximum length as the read-only :attr:" -"`~collections.deque.maxlen` attribute. (Both features added by Raymond " -"Hettinger.)" +"Novo método: O tipo de dados :class:`~collections.deque` agora tem um " +"método :meth:`~collections.deque.count` que retorna o número de elementos " +"contidos igual ao argumento fornecido *x*, e " +"um :meth:`~collections.deque.reverse` método que inverte os elementos do " +"deque no local. :class:`~collections.deque` também expõe seu comprimento " +"máximo como o atributo somente leitura :attr:`~collections.deque.maxlen`. " +"(Ambos os recursos adicionados por Raymond Hettinger.)" -#: ../../whatsnew/2.7.rst:1117 +#: ../../whatsnew/2.7.rst:1119 msgid "" "The :class:`~collections.namedtuple` class now has an optional *rename* " "parameter. If *rename* is true, field names that are invalid because they've " "been repeated or aren't legal Python identifiers will be renamed to legal " "names that are derived from the field's position within the list of fields:" msgstr "" -"The :class:`~collections.namedtuple` class now has an optional *rename* " -"parameter. If *rename* is true, field names that are invalid because they've " -"been repeated or aren't legal Python identifiers will be renamed to legal " -"names that are derived from the field's position within the list of fields:" +"A classe :class:`~collections.namedtuple` agora possui um parâmetro opcional " +"*rename*. Se *rename* for verdadeiro, os nomes de campos inválidos porque " +"foram repetidos ou não são identificadores Python legais serão renomeados " +"para nomes legais derivados da posição do campo na lista de campos:" -#: ../../whatsnew/2.7.rst:1128 +#: ../../whatsnew/2.7.rst:1130 msgid "(Added by Raymond Hettinger; :issue:`1818`.)" -msgstr "(Added by Raymond Hettinger; :issue:`1818`.)" +msgstr "(Adição de Raymond Hettinger; :issue:`1818`.)" -#: ../../whatsnew/2.7.rst:1130 +#: ../../whatsnew/2.7.rst:1132 msgid "" -"Finally, the :class:`~collections.Mapping` abstract base class now returns :" -"const:`NotImplemented` if a mapping is compared to another type that isn't " -"a :class:`Mapping`. (Fixed by Daniel Stutzbach; :issue:`8729`.)" +"Finally, the :class:`~collections.abc.Mapping` abstract base class now " +"returns :data:`NotImplemented` if a mapping is compared to another type that " +"isn't a :class:`Mapping`. (Fixed by Daniel Stutzbach; :issue:`8729`.)" msgstr "" -"Finally, the :class:`~collections.Mapping` abstract base class now returns :" -"const:`NotImplemented` if a mapping is compared to another type that isn't " -"a :class:`Mapping`. (Fixed by Daniel Stutzbach; :issue:`8729`.)" +"Finalmente, a classe base abstrata :class:`~collections.abc.Mapping` agora " +"retorna :data:`NotImplemented` se um mapeamento for comparado a outro tipo " +"que não seja um :class:`Mapping`. (Correção de Daniel " +"Stutzbach; :issue:`8729`.)" -#: ../../whatsnew/2.7.rst:1135 +#: ../../whatsnew/2.7.rst:1137 msgid "" -"Constructors for the parsing classes in the :mod:`ConfigParser` module now " -"take an *allow_no_value* parameter, defaulting to false; if true, options " -"without values will be allowed. For example::" +"Constructors for the parsing classes in the :mod:`ConfigParser " +"` module now take an *allow_no_value* parameter, defaulting to " +"false; if true, options without values will be allowed. For example::" msgstr "" -"Constructors for the parsing classes in the :mod:`ConfigParser` module now " -"take an *allow_no_value* parameter, defaulting to false; if true, options " -"without values will be allowed. For example::" +"Construtores para as classes de análise no módulo :mod:`ConfigParser " +"` agora recebem um parâmetro *allow_no_value*, cujo padrão é " +"false; se verdadeiro, opções sem valores serão permitidas. Por exemplo::" -#: ../../whatsnew/2.7.rst:1157 +#: ../../whatsnew/2.7.rst:1159 msgid "(Contributed by Mats Kindahl; :issue:`7005`.)" -msgstr "(Contributed by Mats Kindahl; :issue:`7005`.)" +msgstr "(Contribuição de Mats Kindahl; :issue:`7005`.)" -#: ../../whatsnew/2.7.rst:1159 +#: ../../whatsnew/2.7.rst:1161 msgid "" -"Deprecated function: :func:`contextlib.nested`, which allows handling more " +"Deprecated function: :func:`!contextlib.nested`, which allows handling more " "than one context manager with a single :keyword:`with` statement, has been " "deprecated, because the :keyword:`!with` statement now supports multiple " "context managers." msgstr "" +"Função descontinuada: :func:`!contextlib.nested`, que permite lidar com mais " +"de um gerenciador de contexto com uma única instrução :keyword:`with`, foi " +"descontinuada porque a instrução :keyword:`!with` agora oferece suporte a " +"múltiplos contextos gerentes." -#: ../../whatsnew/2.7.rst:1164 +#: ../../whatsnew/2.7.rst:1166 msgid "" -"The :mod:`cookielib` module now ignores cookies that have an invalid version " -"field, one that doesn't contain an integer value. (Fixed by John J. Lee; :" -"issue:`3924`.)" +"The :mod:`cookielib ` module now ignores cookies that have " +"an invalid version field, one that doesn't contain an integer value. (Fixed " +"by John J. Lee; :issue:`3924`.)" msgstr "" -"The :mod:`cookielib` module now ignores cookies that have an invalid version " -"field, one that doesn't contain an integer value. (Fixed by John J. Lee; :" -"issue:`3924`.)" +"O módulo :mod:`cookielib ` agora ignora cookies que possuem " +"um campo de versão inválido, que não contém um valor inteiro. (Correção de " +"John J. Lee; :issue:`3924`.)" -#: ../../whatsnew/2.7.rst:1168 +#: ../../whatsnew/2.7.rst:1170 msgid "" "The :mod:`copy` module's :func:`~copy.deepcopy` function will now correctly " "copy bound instance methods. (Implemented by Robert Collins; :issue:`1515`.)" msgstr "" -"The :mod:`copy` module's :func:`~copy.deepcopy` function will now correctly " -"copy bound instance methods. (Implemented by Robert Collins; :issue:`1515`.)" +"A função :func:`~copy.deepcopy` do módulo :mod:`copy` agora copiará " +"corretamente os métodos de instância vinculados. (Implementado por Robert " +"Collins; :issue:`1515`.)" -#: ../../whatsnew/2.7.rst:1172 +#: ../../whatsnew/2.7.rst:1174 msgid "" "The :mod:`ctypes` module now always converts ``None`` to a C ``NULL`` " -"pointer for arguments declared as pointers. (Changed by Thomas Heller; :" -"issue:`4606`.) The underlying `libffi library `__ has been updated to version 3.0.9, containing various fixes for " -"different platforms. (Updated by Matthias Klose; :issue:`8142`.)" +"pointer for arguments declared as pointers. (Changed by Thomas " +"Heller; :issue:`4606`.) The underlying `libffi library `__ has been updated to version 3.0.9, containing " +"various fixes for different platforms. (Updated by Matthias " +"Klose; :issue:`8142`.)" msgstr "" +"O módulo :mod:`ctypes` agora sempre converte ``None`` em um ponteiro C " +"``NULL`` para argumentos declarados como ponteiros. (Alterado por Thomas " +"Heller; :issue:`4606`.) A `biblioteca libffi `__ subjacente foi atualizada para a versão 3.0.9, contendo várias " +"correções para diferentes plataformas. (Atualizado por Matthias " +"Klose; :issue:`8142`.)" -#: ../../whatsnew/2.7.rst:1179 +#: ../../whatsnew/2.7.rst:1181 msgid "" "New method: the :mod:`datetime` module's :class:`~datetime.timedelta` class " "gained a :meth:`~datetime.timedelta.total_seconds` method that returns the " -"number of seconds in the duration. (Contributed by Brian Quinlan; :issue:" -"`5788`.)" -msgstr "" -"New method: the :mod:`datetime` module's :class:`~datetime.timedelta` class " -"gained a :meth:`~datetime.timedelta.total_seconds` method that returns the " -"number of seconds in the duration. (Contributed by Brian Quinlan; :issue:" -"`5788`.)" - -#: ../../whatsnew/2.7.rst:1183 -msgid "" -"New method: the :class:`~decimal.Decimal` class gained a :meth:`~decimal." -"Decimal.from_float` class method that performs an exact conversion of a " -"floating-point number to a :class:`~decimal.Decimal`. This exact conversion " -"strives for the closest decimal approximation to the floating-point " -"representation's value; the resulting decimal value will therefore still " -"include the inaccuracy, if any. For example, ``Decimal.from_float(0.1)`` " -"returns " +"number of seconds in the duration. (Contributed by Brian " +"Quinlan; :issue:`5788`.)" +msgstr "" +"Novo método: a classe :class:`~datetime.timedelta` do módulo :mod:`datetime` " +"ganhou um método :meth:`~datetime.timedelta.total_seconds` que retorna o " +"número de segundos na duração. (Contribuição de Brian " +"Quinlan; :issue:`5788`.)" + +#: ../../whatsnew/2.7.rst:1185 +msgid "" +"New method: the :class:`~decimal.Decimal` class gained " +"a :meth:`~decimal.Decimal.from_float` class method that performs an exact " +"conversion of a floating-point number to a :class:`!Decimal`. This exact " +"conversion strives for the closest decimal approximation to the floating-" +"point representation's value; the resulting decimal value will therefore " +"still include the inaccuracy, if any. For example, " +"``Decimal.from_float(0.1)`` returns " "``Decimal('0.1000000000000000055511151231257827021181583404541015625')``. " "(Implemented by Raymond Hettinger; :issue:`4796`.)" msgstr "" -"New method: the :class:`~decimal.Decimal` class gained a :meth:`~decimal." -"Decimal.from_float` class method that performs an exact conversion of a " -"floating-point number to a :class:`~decimal.Decimal`. This exact conversion " -"strives for the closest decimal approximation to the floating-point " -"representation's value; the resulting decimal value will therefore still " -"include the inaccuracy, if any. For example, ``Decimal.from_float(0.1)`` " -"returns " +"Novo método: a classe :class:`~decimal.Decimal` ganhou um método de " +"classe :meth:`~decimal.Decimal.from_float` que realiza uma conversão exata " +"de um número de ponto flutuante para um :class:`!Decimal`. Essa conversão " +"exata busca a maior aproximação decimal do valor da representação de ponto " +"flutuante; o valor decimal resultante ainda incluirá a imprecisão, se " +"houver. Por exemplo, ``Decimal.from_float(0.1)`` retorna " "``Decimal('0.1000000000000000055511151231257827021181583404541015625')``. " -"(Implemented by Raymond Hettinger; :issue:`4796`.)" +"(Implementado por Raymond Hettinger; :issue:`4796`.)" -#: ../../whatsnew/2.7.rst:1194 +#: ../../whatsnew/2.7.rst:1196 msgid "" "Comparing instances of :class:`~decimal.Decimal` with floating-point numbers " "now produces sensible results based on the numeric values of the operands. " "Previously such comparisons would fall back to Python's default rules for " "comparing objects, which produced arbitrary results based on their type. " -"Note that you still cannot combine :class:`Decimal` and floating-point in " +"Note that you still cannot combine :class:`!Decimal` and floating-point in " "other operations such as addition, since you should be explicitly choosing " -"how to convert between float and :class:`~decimal.Decimal`. (Fixed by Mark " +"how to convert between float and :class:`!Decimal`. (Fixed by Mark " "Dickinson; :issue:`2531`.)" msgstr "" -"Comparing instances of :class:`~decimal.Decimal` with floating-point numbers " -"now produces sensible results based on the numeric values of the operands. " -"Previously such comparisons would fall back to Python's default rules for " -"comparing objects, which produced arbitrary results based on their type. " -"Note that you still cannot combine :class:`Decimal` and floating-point in " -"other operations such as addition, since you should be explicitly choosing " -"how to convert between float and :class:`~decimal.Decimal`. (Fixed by Mark " -"Dickinson; :issue:`2531`.)" +"Comparar instâncias de :class:`~decimal.Decimal` com números de ponto " +"flutuante agora produz resultados sensatos com base nos valores numéricos " +"dos operandos. Anteriormente, essas comparações recorreriam às regras padrão " +"do Python para comparar objetos, que produziam resultados arbitrários com " +"base em seu tipo. Observe que você ainda não pode combinar :class:`!Decimal` " +"e ponto flutuante em outras operações, como adição, já que você deve " +"escolher explicitamente como converter entre float e :class:`!Decimal`. " +"(Corrigido por Mark Dickinson; :issue:`2531`.)" -#: ../../whatsnew/2.7.rst:1203 +#: ../../whatsnew/2.7.rst:1205 msgid "" "The constructor for :class:`~decimal.Decimal` now accepts floating-point " "numbers (added by Raymond Hettinger; :issue:`8257`) and non-European Unicode " -"characters such as Arabic-Indic digits (contributed by Mark Dickinson; :" -"issue:`6595`)." +"characters such as Arabic-Indic digits (contributed by Mark " +"Dickinson; :issue:`6595`)." msgstr "" -"The constructor for :class:`~decimal.Decimal` now accepts floating-point " -"numbers (added by Raymond Hettinger; :issue:`8257`) and non-European Unicode " -"characters such as Arabic-Indic digits (contributed by Mark Dickinson; :" -"issue:`6595`)." +"O construtor para :class:`~decimal.Decimal` agora aceita números de ponto " +"flutuante (adicionados por Raymond Hettinger; :issue:`8257`) e caracteres " +"Unicode não europeus, como dígitos árabe-índicos (contribuição de Mark " +"Dickinson; :issue:`6595`)." -#: ../../whatsnew/2.7.rst:1208 +#: ../../whatsnew/2.7.rst:1210 msgid "" "Most of the methods of the :class:`~decimal.Context` class now accept " "integers as well as :class:`~decimal.Decimal` instances; the only exceptions " -"are the :meth:`~decimal.Context.canonical` and :meth:`~decimal.Context." -"is_canonical` methods. (Patch by Juan José Conti; :issue:`7633`.)" +"are the :meth:`~decimal.Context.canonical` " +"and :meth:`~decimal.Context.is_canonical` methods. (Patch by Juan José " +"Conti; :issue:`7633`.)" msgstr "" -"Most of the methods of the :class:`~decimal.Context` class now accept " -"integers as well as :class:`~decimal.Decimal` instances; the only exceptions " -"are the :meth:`~decimal.Context.canonical` and :meth:`~decimal.Context." -"is_canonical` methods. (Patch by Juan José Conti; :issue:`7633`.)" +"A maioria dos métodos da classe :class:`~decimal.Context` agora aceitam " +"números inteiros, bem como instâncias :class:`~decimal.Decimal`; as únicas " +"exceções são os métodos :meth:`~decimal.Context.canonical` " +"e :meth:`~decimal.Context.is_canonical`. (Patch de Juan José " +"Conti; :issue:`7633`.)" -#: ../../whatsnew/2.7.rst:1213 +#: ../../whatsnew/2.7.rst:1215 msgid "" -"When using :class:`~decimal.Decimal` instances with a string's :meth:`~str." -"format` method, the default alignment was previously left-alignment. This " -"has been changed to right-alignment, which is more sensible for numeric " -"types. (Changed by Mark Dickinson; :issue:`6857`.)" +"When using :class:`~decimal.Decimal` instances with a " +"string's :meth:`~str.format` method, the default alignment was previously " +"left-alignment. This has been changed to right-alignment, which is more " +"sensible for numeric types. (Changed by Mark Dickinson; :issue:`6857`.)" msgstr "" -"When using :class:`~decimal.Decimal` instances with a string's :meth:`~str." -"format` method, the default alignment was previously left-alignment. This " -"has been changed to right-alignment, which is more sensible for numeric " -"types. (Changed by Mark Dickinson; :issue:`6857`.)" +"Ao usar instâncias :class:`~decimal.Decimal` com o " +"método :meth:`~str.format` de uma string, o alinhamento padrão era " +"anteriormente o alinhamento à esquerda. Isso foi alterado para alinhamento à " +"direita, que é mais sensato para tipos numéricos. (Alteração de Mark " +"Dickinson; :issue:`6857`.)" -#: ../../whatsnew/2.7.rst:1218 +#: ../../whatsnew/2.7.rst:1220 ../../whatsnew/2.7.rst:2485 msgid "" -"Comparisons involving a signaling NaN value (or ``sNAN``) now signal :const:" -"`InvalidOperation` instead of silently returning a true or false value " -"depending on the comparison operator. Quiet NaN values (or ``NaN``) are now " -"hashable. (Fixed by Mark Dickinson; :issue:`7279`.)" +"Comparisons involving a signaling NaN value (or ``sNAN``) now " +"signal :const:`~decimal.InvalidOperation` instead of silently returning a " +"true or false value depending on the comparison operator. Quiet NaN values " +"(or ``NaN``) are now hashable. (Fixed by Mark Dickinson; :issue:`7279`.)" msgstr "" -"Comparisons involving a signaling NaN value (or ``sNAN``) now signal :const:" -"`InvalidOperation` instead of silently returning a true or false value " -"depending on the comparison operator. Quiet NaN values (or ``NaN``) are now " -"hashable. (Fixed by Mark Dickinson; :issue:`7279`.)" +"Comparações envolvendo um valor NaN de sinalização (ou ``sNAN``) agora " +"sinalizam :const:`~decimal.InvalidOperation` em vez de retornar " +"silenciosamente um valor verdadeiro ou falso dependendo do operador de " +"comparação. Valores silenciosos de NaN (ou ``NaN``) agora são hasheáveis. " +"(Corrigido por Mark Dickinson; :issue:`7279`.)" -#: ../../whatsnew/2.7.rst:1224 +#: ../../whatsnew/2.7.rst:1226 msgid "" "The :mod:`difflib` module now produces output that is more compatible with " "modern :command:`diff`/:command:`patch` tools through one small change, " "using a tab character instead of spaces as a separator in the header giving " "the filename. (Fixed by Anatoly Techtonik; :issue:`7585`.)" msgstr "" -"The :mod:`difflib` module now produces output that is more compatible with " -"modern :command:`diff`/:command:`patch` tools through one small change, " -"using a tab character instead of spaces as a separator in the header giving " -"the filename. (Fixed by Anatoly Techtonik; :issue:`7585`.)" +"O módulo :mod:`difflib` agora produz uma saída que é mais compatível com as " +"ferramentas :command:`diff`/:command:`patch` modernas através de uma pequena " +"mudança, usando um caractere de tabulação em vez de espaços como separador " +"no cabeçalho, fornecendo o nome do arquivo. (Correção de Anatoly " +"Techtonik; :issue:`7585`.)" -#: ../../whatsnew/2.7.rst:1230 +#: ../../whatsnew/2.7.rst:1232 msgid "" "The Distutils ``sdist`` command now always regenerates the :file:`MANIFEST` " "file, since even if the :file:`MANIFEST.in` or :file:`setup.py` files " "haven't been modified, the user might have created some new files that " "should be included. (Fixed by Tarek Ziadé; :issue:`8688`.)" msgstr "" -"The Distutils ``sdist`` command now always regenerates the :file:`MANIFEST` " -"file, since even if the :file:`MANIFEST.in` or :file:`setup.py` files " -"haven't been modified, the user might have created some new files that " -"should be included. (Fixed by Tarek Ziadé; :issue:`8688`.)" +"O comando Distutils ``sdist`` agora sempre regenera o " +"arquivo :file:`MANIFEST`, pois mesmo que os arquivos :file:`MANIFEST.in` " +"ou :file:`setup.py` não tenham sido modificados, o usuário pode ter criado " +"alguns novos arquivos que deveriam ser incluídos. (Correção de Tarek " +"Ziadé; :issue:`8688`.)" -#: ../../whatsnew/2.7.rst:1236 +#: ../../whatsnew/2.7.rst:1238 msgid "" -"The :mod:`doctest` module's :const:`IGNORE_EXCEPTION_DETAIL` flag will now " -"ignore the name of the module containing the exception being tested. (Patch " -"by Lennart Regebro; :issue:`7490`.)" +"The :mod:`doctest` module's :const:`~doctest.IGNORE_EXCEPTION_DETAIL` flag " +"will now ignore the name of the module containing the exception being " +"tested. (Patch by Lennart Regebro; :issue:`7490`.)" msgstr "" -"The :mod:`doctest` module's :const:`IGNORE_EXCEPTION_DETAIL` flag will now " -"ignore the name of the module containing the exception being tested. (Patch " -"by Lennart Regebro; :issue:`7490`.)" +"O sinalizador :const:`~doctest.IGNORE_EXCEPTION_DETAIL` do " +"módulo :mod:`doctest` irá agora ignorar o nome do módulo que contém a " +"exceção que está sendo testada. (Patch de Lennart Regebro; :issue:`7490`.)" -#: ../../whatsnew/2.7.rst:1240 +#: ../../whatsnew/2.7.rst:1242 msgid "" "The :mod:`email` module's :class:`~email.message.Message` class will now " "accept a Unicode-valued payload, automatically converting the payload to the " -"encoding specified by :attr:`output_charset`. (Added by R. David Murray; :" -"issue:`1368247`.)" +"encoding specified by :attr:`!output_charset`. (Added by R. David " +"Murray; :issue:`1368247`.)" msgstr "" -"The :mod:`email` module's :class:`~email.message.Message` class will now " -"accept a Unicode-valued payload, automatically converting the payload to the " -"encoding specified by :attr:`output_charset`. (Added by R. David Murray; :" -"issue:`1368247`.)" +"A classe :class:`~email.message.Message` do módulo :mod:`email` agora " +"aceitará uma carga útil com valor Unicode, convertendo automaticamente a " +"carga útil para a codificação especificada por :attr:`!output_charset`. " +"(Adição de R. David Murray; :issue:`1368247`.)" -#: ../../whatsnew/2.7.rst:1245 +#: ../../whatsnew/2.7.rst:1247 msgid "" -"The :class:`~fractions.Fraction` class now accepts a single float or :class:" -"`~decimal.Decimal` instance, or two rational numbers, as arguments to its " -"constructor. (Implemented by Mark Dickinson; rationals added in :issue:" -"`5812`, and float/decimal in :issue:`8294`.)" +"The :class:`~fractions.Fraction` class now accepts a single float " +"or :class:`~decimal.Decimal` instance, or two rational numbers, as arguments " +"to its constructor. (Implemented by Mark Dickinson; rationals added " +"in :issue:`5812`, and float/decimal in :issue:`8294`.)" msgstr "" -"The :class:`~fractions.Fraction` class now accepts a single float or :class:" -"`~decimal.Decimal` instance, or two rational numbers, as arguments to its " -"constructor. (Implemented by Mark Dickinson; rationals added in :issue:" -"`5812`, and float/decimal in :issue:`8294`.)" +"A classe :class:`~fractions.Fraction` agora aceita uma única instância float " +"ou :class:`~decimal.Decimal`, ou dois números racionais, como argumentos " +"para seu construtor. (Implementação de Mark Dickinson; racionais adicionados " +"em :issue:`5812` e float/decimal em :issue:`8294`.)" -#: ../../whatsnew/2.7.rst:1251 +#: ../../whatsnew/2.7.rst:1253 msgid "" "Ordering comparisons (``<``, ``<=``, ``>``, ``>=``) between fractions and " "complex numbers now raise a :exc:`TypeError`. This fixes an oversight, " "making the :class:`~fractions.Fraction` match the other numeric types." msgstr "" -"Ordering comparisons (``<``, ``<=``, ``>``, ``>=``) between fractions and " -"complex numbers now raise a :exc:`TypeError`. This fixes an oversight, " -"making the :class:`~fractions.Fraction` match the other numeric types." +"Ordenar comparações (``<``, ``<=``, ``>``, ``>=``) entre frações e números " +"complexos agora levanta um :exc:`TypeError`. Isso corrige um descuido, " +"fazendo com que :class:`~fractions.Fraction` corresponda aos outros tipos " +"numéricos." -#: ../../whatsnew/2.7.rst:1258 +#: ../../whatsnew/2.7.rst:1260 msgid "" "New class: :class:`~ftplib.FTP_TLS` in the :mod:`ftplib` module provides " "secure FTP connections using TLS encapsulation of authentication as well as " -"subsequent control and data transfers. (Contributed by Giampaolo Rodola; :" -"issue:`2054`.)" +"subsequent control and data transfers. (Contributed by Giampaolo " +"Rodola; :issue:`2054`.)" msgstr "" -"New class: :class:`~ftplib.FTP_TLS` in the :mod:`ftplib` module provides " -"secure FTP connections using TLS encapsulation of authentication as well as " -"subsequent control and data transfers. (Contributed by Giampaolo Rodola; :" -"issue:`2054`.)" +"Nova classe: :class:`~ftplib.FTP_TLS` no módulo :mod:`ftplib` fornece " +"conexões FTP seguras usando encapsulamento TLS de autenticação, bem como " +"controle subsequente e transferências de dados. (Contribuição de Giampaolo " +"Rodola; :issue:`2054`.)" -#: ../../whatsnew/2.7.rst:1264 +#: ../../whatsnew/2.7.rst:1266 msgid "" "The :meth:`~ftplib.FTP.storbinary` method for binary uploads can now restart " -"uploads thanks to an added *rest* parameter (patch by Pablo Mouzo; :issue:" -"`6845`.)" -msgstr "" -"The :meth:`~ftplib.FTP.storbinary` method for binary uploads can now restart " -"uploads thanks to an added *rest* parameter (patch by Pablo Mouzo; :issue:" -"`6845`.)" - -#: ../../whatsnew/2.7.rst:1268 -msgid "" -"New class decorator: :func:`~functools.total_ordering` in the :mod:" -"`functools` module takes a class that defines an :meth:`__eq__` method and " -"one of :meth:`__lt__`, :meth:`__le__`, :meth:`__gt__`, or :meth:`__ge__`, " -"and generates the missing comparison methods. Since the :meth:`__cmp__` " -"method is being deprecated in Python 3.x, this decorator makes it easier to " -"define ordered classes. (Added by Raymond Hettinger; :issue:`5479`.)" -msgstr "" -"New class decorator: :func:`~functools.total_ordering` in the :mod:" -"`functools` module takes a class that defines an :meth:`__eq__` method and " -"one of :meth:`__lt__`, :meth:`__le__`, :meth:`__gt__`, or :meth:`__ge__`, " -"and generates the missing comparison methods. Since the :meth:`__cmp__` " -"method is being deprecated in Python 3.x, this decorator makes it easier to " -"define ordered classes. (Added by Raymond Hettinger; :issue:`5479`.)" - -#: ../../whatsnew/2.7.rst:1276 +"uploads thanks to an added *rest* parameter (patch by Pablo " +"Mouzo; :issue:`6845`.)" +msgstr "" +"O método :meth:`~ftplib.FTP.storbinary` para envios de binários agora pode " +"reiniciar envios graças a um parâmetro *rest* adicionado (patch de Pablo " +"Mouzo; :issue:`6845`.)" + +#: ../../whatsnew/2.7.rst:1270 +msgid "" +"New class decorator: :func:`~functools.total_ordering` in " +"the :mod:`functools` module takes a class that defines " +"an :meth:`~object.__eq__` method and one " +"of :meth:`~object.__lt__`, :meth:`~object.__le__`, :meth:`~object.__gt__`, " +"or :meth:`~object.__ge__`, and generates the missing comparison methods. " +"Since the :meth:`!__cmp__` method is being deprecated in Python 3.x, this " +"decorator makes it easier to define ordered classes. (Added by Raymond " +"Hettinger; :issue:`5479`.)" +msgstr "" +"Novo decorador de classe: :func:`~functools.total_ordering` no " +"módulo :mod:`functools` pega uma classe que define um " +"método :meth:`~object.__eq__` e um " +"de :meth:`~object.__lt__` , :meth:`~object.__le__`, :meth:`~object.__gt__` " +"ou :meth:`~object.__ge__` e gera os métodos de comparação ausentes. Como o " +"método :meth:`!__cmp__` está sendo descontinuado no Python 3.x, esse " +"decorador facilita a definição de classes ordenadas. (Adicionado por Raymond " +"Hettinger; :issue:`5479`.)" + +#: ../../whatsnew/2.7.rst:1278 msgid "" "New function: :func:`~functools.cmp_to_key` will take an old-style " "comparison function that expects two arguments and return a new callable " -"that can be used as the *key* parameter to functions such as :func:" -"`sorted`, :func:`min` and :func:`max`, etc. The primary intended use is to " -"help with making code compatible with Python 3.x. (Added by Raymond " -"Hettinger.)" +"that can be used as the *key* parameter to functions such " +"as :func:`sorted`, :func:`min` and :func:`max`, etc. The primary intended " +"use is to help with making code compatible with Python 3.x. (Added by " +"Raymond Hettinger.)" msgstr "" -"New function: :func:`~functools.cmp_to_key` will take an old-style " -"comparison function that expects two arguments and return a new callable " -"that can be used as the *key* parameter to functions such as :func:" -"`sorted`, :func:`min` and :func:`max`, etc. The primary intended use is to " -"help with making code compatible with Python 3.x. (Added by Raymond " -"Hettinger.)" +"Nova função: :func:`~functools.cmp_to_key` usará uma função de comparação de " +"estilo antigo que espera dois argumentos e retornará um novo chamável que " +"pode ser usado como parâmetro *key* para funções " +"como :func:`sorted`, :func:`min` e :func:`max`, etc. O principal uso " +"pretendido é ajudar a tornar o código compatível com Python 3.x. (Adição de " +"Raymond Hettinger.)" -#: ../../whatsnew/2.7.rst:1283 +#: ../../whatsnew/2.7.rst:1285 msgid "" "New function: the :mod:`gc` module's :func:`~gc.is_tracked` returns true if " "a given instance is tracked by the garbage collector, false otherwise. " "(Contributed by Antoine Pitrou; :issue:`4688`.)" msgstr "" -"New function: the :mod:`gc` module's :func:`~gc.is_tracked` returns true if " -"a given instance is tracked by the garbage collector, false otherwise. " -"(Contributed by Antoine Pitrou; :issue:`4688`.)" +"Nova função: o :func:`~gc.is_tracked` do módulo :mod:`gc` retorna verdadeiro " +"se uma determinada instância for rastreada pelo coletor de lixo, falso caso " +"contrário. (Contribuição de Antoine Pitrou; :issue:`4688`)" -#: ../../whatsnew/2.7.rst:1287 +#: ../../whatsnew/2.7.rst:1289 msgid "" "The :mod:`gzip` module's :class:`~gzip.GzipFile` now supports the context " "management protocol, so you can write ``with gzip.GzipFile(...) as f:`` " -"(contributed by Hagen Fürstenau; :issue:`3860`), and it now implements the :" -"class:`io.BufferedIOBase` ABC, so you can wrap it with :class:`io." -"BufferedReader` for faster processing (contributed by Nir Aides; :issue:" -"`7471`). It's also now possible to override the modification time recorded " -"in a gzipped file by providing an optional timestamp to the constructor. " -"(Contributed by Jacques Frechet; :issue:`4272`.)" -msgstr "" -"The :mod:`gzip` module's :class:`~gzip.GzipFile` now supports the context " -"management protocol, so you can write ``with gzip.GzipFile(...) as f:`` " -"(contributed by Hagen Fürstenau; :issue:`3860`), and it now implements the :" -"class:`io.BufferedIOBase` ABC, so you can wrap it with :class:`io." -"BufferedReader` for faster processing (contributed by Nir Aides; :issue:" -"`7471`). It's also now possible to override the modification time recorded " -"in a gzipped file by providing an optional timestamp to the constructor. " -"(Contributed by Jacques Frechet; :issue:`4272`.)" - -#: ../../whatsnew/2.7.rst:1297 +"(contributed by Hagen Fürstenau; :issue:`3860`), and it now implements " +"the :class:`io.BufferedIOBase` ABC, so you can wrap it " +"with :class:`io.BufferedReader` for faster processing (contributed by Nir " +"Aides; :issue:`7471`). It's also now possible to override the modification " +"time recorded in a gzipped file by providing an optional timestamp to the " +"constructor. (Contributed by Jacques Frechet; :issue:`4272`.)" +msgstr "" +"O :class:`~gzip.GzipFile` do módulo :mod:`gzip` agora oferece suporte ao " +"protocolo de gerenciamento de contexto, então você pode escrever ``with " +"gzip.GzipFile(...) as f:`` (contribuição de Hagen Fürstenau; :issue:`3860`), " +"e agora implementa o :class:`io.BufferedIOBase` ABC, então você pode envolvê-" +"lo com :class:`io.BufferedReader` para processamento mais rápido " +"(contribuição de Nir Aides; :issue:`7471`). Agora também é possível " +"substituir o horário de modificação registrado em um arquivo compactado, " +"fornecendo um registro de data e hora opcional ao construtor. (Contribuição " +"de Jacques Frechet; :issue:`4272`.)" + +#: ../../whatsnew/2.7.rst:1299 msgid "" "Files in gzip format can be padded with trailing zero bytes; the :mod:`gzip` " "module will now consume these trailing bytes. (Fixed by Tadek Pietraszek " "and Brian Curtin; :issue:`2846`.)" msgstr "" -"Files in gzip format can be padded with trailing zero bytes; the :mod:`gzip` " -"module will now consume these trailing bytes. (Fixed by Tadek Pietraszek and " -"Brian Curtin; :issue:`2846`.)" +"Arquivos no formato gzip podem ser preenchidos com zero bytes à direita; o " +"módulo :mod:`gzip` agora consumirá esses bytes finais. (Correção de Tadek " +"Pietraszek e Brian Curtin; :issue:`2846`.)" -#: ../../whatsnew/2.7.rst:1301 +#: ../../whatsnew/2.7.rst:1303 msgid "" -"New attribute: the :mod:`hashlib` module now has an :attr:`~hashlib.hashlib." -"algorithms` attribute containing a tuple naming the supported algorithms. In " -"Python 2.7, ``hashlib.algorithms`` contains ``('md5', 'sha1', 'sha224', " -"'sha256', 'sha384', 'sha512')``. (Contributed by Carl Chenet; :issue:`7418`.)" +"New attribute: the :mod:`hashlib` module now has an :attr:`!algorithms` " +"attribute containing a tuple naming the supported algorithms. In Python 2.7, " +"``hashlib.algorithms`` contains ``('md5', 'sha1', 'sha224', 'sha256', " +"'sha384', 'sha512')``. (Contributed by Carl Chenet; :issue:`7418`.)" msgstr "" -"New attribute: the :mod:`hashlib` module now has an :attr:`~hashlib.hashlib." -"algorithms` attribute containing a tuple naming the supported algorithms. In " -"Python 2.7, ``hashlib.algorithms`` contains ``('md5', 'sha1', 'sha224', " -"'sha256', 'sha384', 'sha512')``. (Contributed by Carl Chenet; :issue:`7418`.)" +"Novo atributo: o módulo :mod:`hashlib` agora possui um atributo :attr:`!" +"algorithms` contendo uma tupla nomeando os algoritmos suportados. No Python " +"2.7, ``hashlib.algorithms`` contém ``('md5', 'sha1', 'sha224', 'sha256', " +"'sha384', 'sha512')``. (Contribuição de Carl Chenet; :issue:`7418`.)" -#: ../../whatsnew/2.7.rst:1307 +#: ../../whatsnew/2.7.rst:1309 msgid "" -"The default :class:`~httplib.HTTPResponse` class used by the :mod:`httplib` " -"module now supports buffering, resulting in much faster reading of HTTP " -"responses. (Contributed by Kristján Valur Jónsson; :issue:`4879`.)" +"The default :class:`~http.client.HTTPResponse` class used by " +"the :mod:`httplib ` module now supports buffering, resulting in much " +"faster reading of HTTP responses. (Contributed by Kristján Valur " +"Jónsson; :issue:`4879`.)" msgstr "" -"The default :class:`~httplib.HTTPResponse` class used by the :mod:`httplib` " -"module now supports buffering, resulting in much faster reading of HTTP " -"responses. (Contributed by Kristján Valur Jónsson; :issue:`4879`.)" +"A classe padrão :class:`~http.client.HTTPResponse` usada pelo " +"módulo :mod:`httplib ` agora oferece suporte a buffering, resultando " +"em uma leitura muito mais rápida de respostas HTTP. (Contribuição de " +"Kristján Valur Jónsson; :issue:`4879`.)" -#: ../../whatsnew/2.7.rst:1311 +#: ../../whatsnew/2.7.rst:1313 msgid "" -"The :class:`~httplib.HTTPConnection` and :class:`~httplib.HTTPSConnection` " -"classes now support a *source_address* parameter, a ``(host, port)`` 2-tuple " -"giving the source address that will be used for the connection. (Contributed " -"by Eldon Ziegler; :issue:`3972`.)" +"The :class:`~http.client.HTTPConnection` " +"and :class:`~http.client.HTTPSConnection` classes now support a " +"*source_address* parameter, a ``(host, port)`` 2-tuple giving the source " +"address that will be used for the connection. (Contributed by Eldon " +"Ziegler; :issue:`3972`.)" msgstr "" -"The :class:`~httplib.HTTPConnection` and :class:`~httplib.HTTPSConnection` " -"classes now support a *source_address* parameter, a ``(host, port)`` 2-tuple " -"giving the source address that will be used for the connection. (Contributed " -"by Eldon Ziegler; :issue:`3972`.)" +"As classes :class:`~http.client.HTTPConnection` " +"e :class:`~http.client.HTTPSConnection` agora oferecem suporte a um " +"parâmetro *source_address*, uma tupla de 2 elementos ``(host, port)`` " +"fornecendo o endereço de origem que será usado para a conexão. (Contribuição " +"de Eldon Ziegler; :issue:`3972`.)" -#: ../../whatsnew/2.7.rst:1316 +#: ../../whatsnew/2.7.rst:1318 msgid "" -"The :mod:`ihooks` module now supports relative imports. Note that :mod:" -"`ihooks` is an older module for customizing imports, superseded by the :mod:" -"`imputil` module added in Python 2.0. (Relative import support added by Neil " +"The :mod:`!ihooks` module now supports relative imports. Note that :mod:`!" +"ihooks` is an older module for customizing imports, superseded by the :mod:`!" +"imputil` module added in Python 2.0. (Relative import support added by Neil " "Schemenauer.)" msgstr "" -"The :mod:`ihooks` module now supports relative imports. Note that :mod:" -"`ihooks` is an older module for customizing imports, superseded by the :mod:" -"`imputil` module added in Python 2.0. (Relative import support added by Neil " -"Schemenauer.)" +"O módulo :mod:`!ihooks` agora oferece suporte a importações relativas. " +"Observe que :mod:`!ihooks` é um módulo mais antigo para personalizar " +"importações, substituído pelo módulo :mod:`!imputil` adicionado no Python " +"2.0. (Suporte relativo à importação adicionado por Neil Schemenauer.)" -#: ../../whatsnew/2.7.rst:1323 +#: ../../whatsnew/2.7.rst:1325 msgid "" "The :mod:`imaplib` module now supports IPv6 addresses. (Contributed by Derek " "Morr; :issue:`1655`.)" msgstr "" -"The :mod:`imaplib` module now supports IPv6 addresses. (Contributed by Derek " -"Morr; :issue:`1655`.)" +"O módulo :mod:`imaplib` agora oferece suporte a endereços IPv6. " +"(Contribuição de Derek Morr; :issue:`1655`.)" -#: ../../whatsnew/2.7.rst:1326 +#: ../../whatsnew/2.7.rst:1328 msgid "" "New function: the :mod:`inspect` module's :func:`~inspect.getcallargs` takes " "a callable and its positional and keyword arguments, and figures out which " "of the callable's parameters will receive each argument, returning a " "dictionary mapping argument names to their values. For example::" msgstr "" -"New function: the :mod:`inspect` module's :func:`~inspect.getcallargs` takes " -"a callable and its positional and keyword arguments, and figures out which " -"of the callable's parameters will receive each argument, returning a " -"dictionary mapping argument names to their values. For example::" +"Nova função: :func:`~inspect.getcallargs` do módulo :mod:`inspect` pega um " +"chamável e seus argumentos nomeados e posicionais, e descobre quais dos " +"parâmetros do chamável receberão cada argumento, retornando um dicionário " +"mapeando nomes de argumentos para seus valores. Por exemplo::" -#: ../../whatsnew/2.7.rst:1343 +#: ../../whatsnew/2.7.rst:1345 msgid "Contributed by George Sakkis; :issue:`3135`." -msgstr "Contributed by George Sakkis; :issue:`3135`." +msgstr "Contribuição de George Sakkis; :issue:`3135`." -#: ../../whatsnew/2.7.rst:1345 +#: ../../whatsnew/2.7.rst:1347 msgid "" "Updated module: The :mod:`io` library has been upgraded to the version " "shipped with Python 3.1. For 3.1, the I/O library was entirely rewritten in " "C and is 2 to 20 times faster depending on the task being performed. The " -"original Python version was renamed to the :mod:`_pyio` module." +"original Python version was renamed to the :mod:`!_pyio` module." msgstr "" -"Updated module: The :mod:`io` library has been upgraded to the version " -"shipped with Python 3.1. For 3.1, the I/O library was entirely rewritten in " -"C and is 2 to 20 times faster depending on the task being performed. The " -"original Python version was renamed to the :mod:`_pyio` module." +"Módulo atualizado: A biblioteca :mod:`io` foi atualizada para a versão " +"fornecida com Python 3.1. Para 3.1, a biblioteca de E/S foi totalmente " +"reescrita em C e é de 2 a 20 vezes mais rápida dependendo da tarefa que está " +"sendo executada. A versão original do Python foi renomeada para o " +"módulo :mod:`!_pyio`." -#: ../../whatsnew/2.7.rst:1350 +#: ../../whatsnew/2.7.rst:1352 msgid "" -"One minor resulting change: the :class:`io.TextIOBase` class now has an :" -"attr:`errors` attribute giving the error setting used for encoding and " -"decoding errors (one of ``'strict'``, ``'replace'``, ``'ignore'``)." +"One minor resulting change: the :class:`io.TextIOBase` class now has " +"an :attr:`~io.TextIOBase.errors` attribute giving the error setting used for " +"encoding and decoding errors (one of ``'strict'``, ``'replace'``, " +"``'ignore'``)." msgstr "" -"One minor resulting change: the :class:`io.TextIOBase` class now has an :" -"attr:`errors` attribute giving the error setting used for encoding and " -"decoding errors (one of ``'strict'``, ``'replace'``, ``'ignore'``)." +"Uma pequena mudança resultante: a classe :class:`io.TextIOBase` agora tem um " +"atributo :attr:`~io.TextIOBase.errors` fornecendo a configuração de erro " +"usada para erros de codificação e decodificação (um dos ``'strict'`` , " +"``'replace'``, ``'ignore'``)." -#: ../../whatsnew/2.7.rst:1355 +#: ../../whatsnew/2.7.rst:1357 msgid "" "The :class:`io.FileIO` class now raises an :exc:`OSError` when passed an " -"invalid file descriptor. (Implemented by Benjamin Peterson; :issue:" -"`4991`.) The :meth:`~io.IOBase.truncate` method now preserves the file " -"position; previously it would change the file position to the end of the new " -"file. (Fixed by Pascal Chambon; :issue:`6939`.)" +"invalid file descriptor. (Implemented by Benjamin " +"Peterson; :issue:`4991`.) The :meth:`~io.IOBase.truncate` method now " +"preserves the file position; previously it would change the file position to " +"the end of the new file. (Fixed by Pascal Chambon; :issue:`6939`.)" msgstr "" -"The :class:`io.FileIO` class now raises an :exc:`OSError` when passed an " -"invalid file descriptor. (Implemented by Benjamin Peterson; :issue:`4991`.) " -"The :meth:`~io.IOBase.truncate` method now preserves the file position; " -"previously it would change the file position to the end of the new file. " -"(Fixed by Pascal Chambon; :issue:`6939`.)" +"A classe :class:`io.FileIO` agora levanta uma exceção :exc:`OSError` quando " +"passa um descritor de arquivo inválido. (Implementado por Benjamin " +"Peterson; :issue:`4991`.) O método :meth:`~io.IOBase.truncate` agora " +"preserva a posição do arquivo; anteriormente, mudaria a posição do arquivo " +"para o final do novo arquivo. (Correção de Pascal Chambon; :issue:`6939`.)" -#: ../../whatsnew/2.7.rst:1361 +#: ../../whatsnew/2.7.rst:1363 msgid "" "New function: ``itertools.compress(data, selectors)`` takes two iterators. " "Elements of *data* are returned if the corresponding value in *selectors* is " "true::" msgstr "" -"New function: ``itertools.compress(data, selectors)`` takes two iterators. " -"Elements of *data* are returned if the corresponding value in *selectors* is " -"true::" +"Nova função: ``itertools.compress(data, selectors)`` aceita dois iteradores. " +"Elementos de *data* serão retornados se o valor correspondente em " +"*selectors* for verdadeiro::" -#: ../../whatsnew/2.7.rst:1370 +#: ../../whatsnew/2.7.rst:1372 msgid "" "New function: ``itertools.combinations_with_replacement(iter, r)`` returns " "all the possible *r*-length combinations of elements from the iterable " "*iter*. Unlike :func:`~itertools.combinations`, individual elements can be " "repeated in the generated combinations::" msgstr "" -"New function: ``itertools.combinations_with_replacement(iter, r)`` returns " -"all the possible *r*-length combinations of elements from the iterable " -"*iter*. Unlike :func:`~itertools.combinations`, individual elements can be " -"repeated in the generated combinations::" +"Nova função: ``itertools.combinations_with_replacement(iter, r)`` retorna " +"todas as combinações possíveis de elementos de comprimento *r* do *iter* " +"iterável. Ao contrário de :func:`~itertools.combinations`, elementos " +"individuais podem ser repetidos nas combinações geradas::" -#: ../../whatsnew/2.7.rst:1379 +#: ../../whatsnew/2.7.rst:1381 msgid "" "Note that elements are treated as unique depending on their position in the " "input, not their actual values." msgstr "" -"Note that elements are treated as unique depending on their position in the " -"input, not their actual values." +"Observe que os elementos são tratados como únicos dependendo de sua posição " +"na entrada, não de seus valores reais." -#: ../../whatsnew/2.7.rst:1382 +#: ../../whatsnew/2.7.rst:1384 msgid "" "The :func:`itertools.count` function now has a *step* argument that allows " "incrementing by values other than 1. :func:`~itertools.count` also now " -"allows keyword arguments, and using non-integer values such as floats or :" -"class:`~decimal.Decimal` instances. (Implemented by Raymond Hettinger; :" -"issue:`5032`.)" +"allows keyword arguments, and using non-integer values such as floats " +"or :class:`~decimal.Decimal` instances. (Implemented by Raymond " +"Hettinger; :issue:`5032`.)" msgstr "" -"The :func:`itertools.count` function now has a *step* argument that allows " -"incrementing by values other than 1. :func:`~itertools.count` also now " -"allows keyword arguments, and using non-integer values such as floats or :" -"class:`~decimal.Decimal` instances. (Implemented by Raymond Hettinger; :" -"issue:`5032`.)" +"A função :func:`itertools.count` agora tem um argumento *step* que permite " +"incrementar por valores diferentes de 1. :func:`~itertools.count` agora " +"também permite argumentos nomeados e o uso de valores não inteiros, como " +"floats ou :class:`~decimal.Decimal` instâncias. (Implementação de Raymond " +"Hettinger; :issue:`5032`.)" -#: ../../whatsnew/2.7.rst:1388 +#: ../../whatsnew/2.7.rst:1390 msgid "" ":func:`itertools.combinations` and :func:`itertools.product` previously " "raised :exc:`ValueError` for values of *r* larger than the input iterable. " "This was deemed a specification error, so they now return an empty " "iterator. (Fixed by Raymond Hettinger; :issue:`4816`.)" msgstr "" -":func:`itertools.combinations` and :func:`itertools.product` previously " -"raised :exc:`ValueError` for values of *r* larger than the input iterable. " -"This was deemed a specification error, so they now return an empty iterator. " -"(Fixed by Raymond Hettinger; :issue:`4816`.)" +":func:`itertools.combinations` e :func:`itertools.product` anteriormente " +"levantavam :exc:`ValueError` para valores de *r* maiores que o iterável de " +"entrada. Isto foi considerado um erro de especificação, então agora elas " +"retornam um iterador vazio. (Corrigido por Raymond Hettinger; :issue:`4816`.)" -#: ../../whatsnew/2.7.rst:1393 +#: ../../whatsnew/2.7.rst:1395 msgid "" "Updated module: The :mod:`json` module was upgraded to version 2.0.9 of the " "simplejson package, which includes a C extension that makes encoding and " "decoding faster. (Contributed by Bob Ippolito; :issue:`4136`.)" msgstr "" -"Updated module: The :mod:`json` module was upgraded to version 2.0.9 of the " -"simplejson package, which includes a C extension that makes encoding and " -"decoding faster. (Contributed by Bob Ippolito; :issue:`4136`.)" +"Módulo atualizado: O módulo :mod:`json` foi atualizado para a versão 2.0.9 " +"do pacote simplejson, que inclui uma extensão C que torna a codificação e " +"decodificação mais rápidas. (Contribuição de Bob Ippolito; :issue:`4136`.)" -#: ../../whatsnew/2.7.rst:1398 +#: ../../whatsnew/2.7.rst:1400 msgid "" "To support the new :class:`collections.OrderedDict` type, :func:`json.load` " "now has an optional *object_pairs_hook* parameter that will be called with " "any object literal that decodes to a list of pairs. (Contributed by Raymond " "Hettinger; :issue:`5381`.)" msgstr "" -"To support the new :class:`collections.OrderedDict` type, :func:`json.load` " -"now has an optional *object_pairs_hook* parameter that will be called with " -"any object literal that decodes to a list of pairs. (Contributed by Raymond " +"Para oferecer suporte ao novo " +"tipo :class:`collections.OrderedDict`, :func:`json.load` agora tem um " +"parâmetro opcional *object_pairs_hook* que será chamado com qualquer literal " +"de objeto que decodifica para uma lista de pares. (Contribuição de Raymond " "Hettinger; :issue:`5381`.)" -#: ../../whatsnew/2.7.rst:1403 +#: ../../whatsnew/2.7.rst:1405 msgid "" "The :mod:`mailbox` module's :class:`~mailbox.Maildir` class now records the " "timestamp on the directories it reads, and only re-reads them if the " @@ -2202,167 +2256,174 @@ msgid "" "avoiding unneeded directory scans. (Fixed by A.M. Kuchling and Antoine " "Pitrou; :issue:`1607951`, :issue:`6896`.)" msgstr "" -"The :mod:`mailbox` module's :class:`~mailbox.Maildir` class now records the " -"timestamp on the directories it reads, and only re-reads them if the " -"modification time has subsequently changed. This improves performance by " -"avoiding unneeded directory scans. (Fixed by A.M. Kuchling and Antoine " -"Pitrou; :issue:`1607951`, :issue:`6896`.)" +"A classe :class:`~mailbox.Maildir` do módulo :mod:`mailbox` agora registra o " +"registro de data e hora nos diretórios que lê, e apenas os relê se o horário " +"de modificação for alterado posteriormente. Isso melhora o desempenho, " +"evitando varreduras de diretório desnecessárias. (Corrigido por AM Kuchling " +"e Antoine Pitrou; :issue:`1607951`, :issue:`6896`.)" -#: ../../whatsnew/2.7.rst:1409 +#: ../../whatsnew/2.7.rst:1411 msgid "" -"New functions: the :mod:`math` module gained :func:`~math.erf` and :func:" -"`~math.erfc` for the error function and the complementary error function, :" -"func:`~math.expm1` which computes ``e**x - 1`` with more precision than " -"using :func:`~math.exp` and subtracting 1, :func:`~math.gamma` for the Gamma " -"function, and :func:`~math.lgamma` for the natural log of the Gamma " -"function. (Contributed by Mark Dickinson and nirinA raseliarison; :issue:" -"`3366`.)" +"New functions: the :mod:`math` module gained :func:`~math.erf` " +"and :func:`~math.erfc` for the error function and the complementary error " +"function, :func:`~math.expm1` which computes ``e**x - 1`` with more " +"precision than using :func:`~math.exp` and subtracting " +"1, :func:`~math.gamma` for the Gamma function, and :func:`~math.lgamma` for " +"the natural log of the Gamma function. (Contributed by Mark Dickinson and " +"nirinA raseliarison; :issue:`3366`.)" msgstr "" -"New functions: the :mod:`math` module gained :func:`~math.erf` and :func:" -"`~math.erfc` for the error function and the complementary error function, :" -"func:`~math.expm1` which computes ``e**x - 1`` with more precision than " -"using :func:`~math.exp` and subtracting 1, :func:`~math.gamma` for the Gamma " -"function, and :func:`~math.lgamma` for the natural log of the Gamma " -"function. (Contributed by Mark Dickinson and nirinA raseliarison; :issue:" -"`3366`.)" +"Novas funções: o módulo :mod:`math` ganhou :func:`~math.erf` " +"e :func:`~math.erfc` para a função de erro e a função de erro " +"complementar, :func:`~math.expm1` que calcula ``e**x - 1`` com mais precisão " +"do que usar :func:`~math.exp` e subtrair 1, :func:`~math.gamma` para a " +"função Gamma, e :func:`~math.lgamma` para o log natural da função Gamma. " +"(Contribuição de Mark Dickinson e nirinA raseliarison; :issue:`3366`.)" -#: ../../whatsnew/2.7.rst:1417 +#: ../../whatsnew/2.7.rst:1419 msgid "" -"The :mod:`multiprocessing` module's :class:`Manager*` classes can now be " +"The :mod:`multiprocessing` module's :class:`!Manager*` classes can now be " "passed a callable that will be called whenever a subprocess is started, " "along with a set of arguments that will be passed to the callable. " "(Contributed by lekma; :issue:`5585`.)" msgstr "" -"The :mod:`multiprocessing` module's :class:`Manager*` classes can now be " -"passed a callable that will be called whenever a subprocess is started, " -"along with a set of arguments that will be passed to the callable. " -"(Contributed by lekma; :issue:`5585`.)" +"As classes :class:`!Manager*` do módulo :mod:`multiprocessing` agora podem " +"receber um chamável que será chamado sempre que um subprocesso for iniciado, " +"junto com um conjunto de argumentos que serão passados para o chamável. " +"(Contribuição de lekma; :issue:`5585`.)" -#: ../../whatsnew/2.7.rst:1423 +#: ../../whatsnew/2.7.rst:1425 msgid "" -"The :class:`~multiprocessing.Pool` class, which controls a pool of worker " -"processes, now has an optional *maxtasksperchild* parameter. Worker " +"The :class:`~multiprocessing.pool.Pool` class, which controls a pool of " +"worker processes, now has an optional *maxtasksperchild* parameter. Worker " "processes will perform the specified number of tasks and then exit, causing " -"the :class:`~multiprocessing.Pool` to start a new worker. This is useful if " -"tasks may leak memory or other resources, or if some tasks will cause the " -"worker to become very large. (Contributed by Charles Cazabon; :issue:`6963`.)" +"the :class:`!Pool` to start a new worker. This is useful if tasks may leak " +"memory or other resources, or if some tasks will cause the worker to become " +"very large. (Contributed by Charles Cazabon; :issue:`6963`.)" msgstr "" -"The :class:`~multiprocessing.Pool` class, which controls a pool of worker " -"processes, now has an optional *maxtasksperchild* parameter. Worker " -"processes will perform the specified number of tasks and then exit, causing " -"the :class:`~multiprocessing.Pool` to start a new worker. This is useful if " -"tasks may leak memory or other resources, or if some tasks will cause the " -"worker to become very large. (Contributed by Charles Cazabon; :issue:`6963`.)" +"A classe :class:`~multiprocessing.pool.Pool`, que controla um conjunto de " +"processos de trabalho, agora possui um parâmetro opcional " +"*maxtasksperchild*. Os processos de trabalho executarão o número " +"especificado de tarefas e então sairão, fazendo com que :class:`!Pool` " +"inicie um novo trabalhador. Isso é útil se as tarefas puderem vazar memória " +"ou outros recursos, ou se algumas tarefas fizerem com que o trabalho fique " +"muito grande. (Contribuição de Charles Cazabon; :issue:`6963`.)" -#: ../../whatsnew/2.7.rst:1431 +#: ../../whatsnew/2.7.rst:1433 msgid "" "The :mod:`nntplib` module now supports IPv6 addresses. (Contributed by Derek " "Morr; :issue:`1664`.)" msgstr "" -"The :mod:`nntplib` module now supports IPv6 addresses. (Contributed by Derek " -"Morr; :issue:`1664`.)" +"O módulo :mod:`nntplib` agora oferece suporte para endereços IPv6. " +"(Contribuição de Derek Morr; :issue:`1664`.)" -#: ../../whatsnew/2.7.rst:1434 +#: ../../whatsnew/2.7.rst:1436 msgid "" -"New functions: the :mod:`os` module wraps the following POSIX system calls: :" -"func:`~os.getresgid` and :func:`~os.getresuid`, which return the real, " -"effective, and saved GIDs and UIDs; :func:`~os.setresgid` and :func:`~os." -"setresuid`, which set real, effective, and saved GIDs and UIDs to new " -"values; :func:`~os.initgroups`, which initialize the group access list for " -"the current process. (GID/UID functions contributed by Travis H.; :issue:" -"`6508`. Support for initgroups added by Jean-Paul Calderone; :issue:`7333`.)" +"New functions: the :mod:`os` module wraps the following POSIX system " +"calls: :func:`~os.getresgid` and :func:`~os.getresuid`, which return the " +"real, effective, and saved GIDs and UIDs; :func:`~os.setresgid` " +"and :func:`~os.setresuid`, which set real, effective, and saved GIDs and " +"UIDs to new values; :func:`~os.initgroups`, which initialize the group " +"access list for the current process. (GID/UID functions contributed by " +"Travis H.; :issue:`6508`. Support for initgroups added by Jean-Paul " +"Calderone; :issue:`7333`.)" msgstr "" -"New functions: the :mod:`os` module wraps the following POSIX system calls: :" -"func:`~os.getresgid` and :func:`~os.getresuid`, which return the real, " -"effective, and saved GIDs and UIDs; :func:`~os.setresgid` and :func:`~os." -"setresuid`, which set real, effective, and saved GIDs and UIDs to new " -"values; :func:`~os.initgroups`, which initialize the group access list for " -"the current process. (GID/UID functions contributed by Travis H.; :issue:" -"`6508`. Support for initgroups added by Jean-Paul Calderone; :issue:`7333`.)" +"Novas funções: o módulo :mod:`os` envolve as seguintes chamadas de sistema " +"POSIX: :func:`~os.getresgid` e :func:`~os.getresuid`, que retornam os GIDs e " +"UIDs reais, efetivos e salvos ; :func:`~os.setresgid` " +"e :func:`~os.setresuid`, que definem GIDs e UIDs reais, efetivos e salvos " +"para novos valores; :func:`~os.initgroups`, que inicializa a lista de acesso " +"do grupo para o processo atual. (Funções GID/UID foram contribuição de " +"Travis H.; :issue:`6508`. Suporte para initgroups adicionado por Jean-Paul " +"Calderone; :issue:`7333`.)" -#: ../../whatsnew/2.7.rst:1444 +#: ../../whatsnew/2.7.rst:1446 msgid "" "The :func:`os.fork` function now re-initializes the import lock in the child " "process; this fixes problems on Solaris when :func:`~os.fork` is called from " "a thread. (Fixed by Zsolt Cserna; :issue:`7242`.)" msgstr "" -"The :func:`os.fork` function now re-initializes the import lock in the child " -"process; this fixes problems on Solaris when :func:`~os.fork` is called from " -"a thread. (Fixed by Zsolt Cserna; :issue:`7242`.)" +"A função :func:`os.fork` agora reinicializa a trava de importação no " +"processo filho; isso corrige problemas no Solaris quando :func:`~os.fork` é " +"chamado de um thread. (Correção de Zsolt Cserna; :issue:`7242`.)" -#: ../../whatsnew/2.7.rst:1448 +#: ../../whatsnew/2.7.rst:1450 msgid "" -"In the :mod:`os.path` module, the :func:`~os.path.normpath` and :func:`~os." -"path.abspath` functions now preserve Unicode; if their input path is a " -"Unicode string, the return value is also a Unicode string. (:meth:`~os.path." -"normpath` fixed by Matt Giuca in :issue:`5827`; :meth:`~os.path.abspath` " -"fixed by Ezio Melotti in :issue:`3426`.)" +"In the :mod:`os.path` module, the :func:`~os.path.normpath` " +"and :func:`~os.path.abspath` functions now preserve Unicode; if their input " +"path is a Unicode string, the return value is also a Unicode string. " +"(:meth:`~os.path.normpath` fixed by Matt Giuca " +"in :issue:`5827`; :meth:`~os.path.abspath` fixed by Ezio Melotti " +"in :issue:`3426`.)" msgstr "" -"In the :mod:`os.path` module, the :func:`~os.path.normpath` and :func:`~os." -"path.abspath` functions now preserve Unicode; if their input path is a " -"Unicode string, the return value is also a Unicode string. (:meth:`~os.path." -"normpath` fixed by Matt Giuca in :issue:`5827`; :meth:`~os.path.abspath` " -"fixed by Ezio Melotti in :issue:`3426`.)" +"No módulo :mod:`os.path`, as funções :func:`~os.path.normpath` " +"e :func:`~os.path.abspath` agora preservam o Unicode; se o caminho de " +"entrada for uma string Unicode, o valor de retorno também será uma string " +"Unicode. (:meth:`~os.path.normpath` corrigido por Matt Giuca " +"em :issue:`5827`; :meth:`~os.path.abspath` corrigido por Ezio Melotti " +"em :issue:`3426`.)" -#: ../../whatsnew/2.7.rst:1454 +#: ../../whatsnew/2.7.rst:1456 msgid "" "The :mod:`pydoc` module now has help for the various symbols that Python " "uses. You can now do ``help('<<')`` or ``help('@')``, for example. " "(Contributed by David Laban; :issue:`4739`.)" msgstr "" -"The :mod:`pydoc` module now has help for the various symbols that Python " -"uses. You can now do ``help('<<')`` or ``help('@')``, for example. " -"(Contributed by David Laban; :issue:`4739`.)" +"O módulo :mod:`pydoc` agora tem ajuda para os vários símbolos que o Python " +"usa. Agora você pode fazer ``help('<<')`` ou ``help('@')``, por exemplo. " +"(Contribuição de David Laban; :issue:`4739`.)" -#: ../../whatsnew/2.7.rst:1458 +#: ../../whatsnew/2.7.rst:1460 msgid "" -"The :mod:`re` module's :func:`~re.split`, :func:`~re.sub`, and :func:`~re." -"subn` now accept an optional *flags* argument, for consistency with the " -"other functions in the module. (Added by Gregory P. Smith.)" +"The :mod:`re` module's :func:`~re.split`, :func:`~re.sub`, " +"and :func:`~re.subn` now accept an optional *flags* argument, for " +"consistency with the other functions in the module. (Added by Gregory P. " +"Smith.)" msgstr "" -"The :mod:`re` module's :func:`~re.split`, :func:`~re.sub`, and :func:`~re." -"subn` now accept an optional *flags* argument, for consistency with the " -"other functions in the module. (Added by Gregory P. Smith.)" +"Os módulos :mod:`re` :func:`~re.split`, :func:`~re.sub` e :func:`~re.subn` " +"agora aceitam um argumento opcional *flags*, para consistência com as outras " +"funções do módulo. (Adição de Gregory P. Smith.)" -#: ../../whatsnew/2.7.rst:1462 +#: ../../whatsnew/2.7.rst:1464 msgid "" "New function: :func:`~runpy.run_path` in the :mod:`runpy` module will " "execute the code at a provided *path* argument. *path* can be the path of a " -"Python source file (:file:`example.py`), a compiled bytecode file (:file:" -"`example.pyc`), a directory (:file:`./package/`), or a zip archive (:file:" -"`example.zip`). If a directory or zip path is provided, it will be added to " -"the front of ``sys.path`` and the module :mod:`__main__` will be imported. " -"It's expected that the directory or zip contains a :file:`__main__.py`; if " -"it doesn't, some other :file:`__main__.py` might be imported from a location " -"later in ``sys.path``. This makes more of the machinery of :mod:`runpy` " -"available to scripts that want to mimic the way Python's command line " -"processes an explicit path name. (Added by Nick Coghlan; :issue:`6816`.)" -msgstr "" -"New function: :func:`~runpy.run_path` in the :mod:`runpy` module will " -"execute the code at a provided *path* argument. *path* can be the path of a " -"Python source file (:file:`example.py`), a compiled bytecode file (:file:" -"`example.pyc`), a directory (:file:`./package/`), or a zip archive (:file:" -"`example.zip`). If a directory or zip path is provided, it will be added to " -"the front of ``sys.path`` and the module :mod:`__main__` will be imported. " -"It's expected that the directory or zip contains a :file:`__main__.py`; if " -"it doesn't, some other :file:`__main__.py` might be imported from a location " -"later in ``sys.path``. This makes more of the machinery of :mod:`runpy` " -"available to scripts that want to mimic the way Python's command line " -"processes an explicit path name. (Added by Nick Coghlan; :issue:`6816`.)" - -#: ../../whatsnew/2.7.rst:1476 +"Python source file (:file:`example.py`), a compiled bytecode file " +"(:file:`example.pyc`), a directory (:file:`./package/`), or a zip archive " +"(:file:`example.zip`). If a directory or zip path is provided, it will be " +"added to the front of ``sys.path`` and the module :mod:`__main__` will be " +"imported. It's expected that the directory or zip contains " +"a :file:`__main__.py`; if it doesn't, some other :file:`__main__.py` might " +"be imported from a location later in ``sys.path``. This makes more of the " +"machinery of :mod:`runpy` available to scripts that want to mimic the way " +"Python's command line processes an explicit path name. (Added by Nick " +"Coghlan; :issue:`6816`.)" +msgstr "" +"Nova função: :func:`~runpy.run_path` no módulo :mod:`runpy` executará o " +"código em um argumento *path* fornecido. *path* pode ser o caminho de um " +"arquivo fonte Python (:file:`example.py`), um arquivo de bytecode compilado " +"(:file:`example.pyc`), um diretório (:file:`./package/`) ou um arquivo zip " +"(:file:`example.zip`). Se um diretório ou zip path for fornecido, ele será " +"adicionado na frente de ``sys.path`` e o módulo :mod:`__main__` será " +"importado. É esperado que o diretório ou zip contenha " +"um :file:`__main__.py`; caso contrário, algum outro :file:`__main__.py` " +"poderá ser importado de um local posteriormente em ``sys.path``. Isso torna " +"mais o maquinário de :mod:`runpy` disponível para scripts que desejam imitar " +"a maneira como a linha de comando do Python processa um nome de caminho " +"explícito. (Adição de Nick Coghlan; :issue:`6816`.)" + +#: ../../whatsnew/2.7.rst:1478 msgid "" "New function: in the :mod:`shutil` module, :func:`~shutil.make_archive` " "takes a filename, archive type (zip or tar-format), and a directory path, " "and creates an archive containing the directory's contents. (Added by Tarek " "Ziadé.)" msgstr "" -"New function: in the :mod:`shutil` module, :func:`~shutil.make_archive` " -"takes a filename, archive type (zip or tar-format), and a directory path, " -"and creates an archive containing the directory's contents. (Added by Tarek " -"Ziadé.)" +"Nova função: no módulo :mod:`shutil`, :func:`~shutil.make_archive` pega um " +"nome de arquivo, tipo de arquivo (formato zip ou tar) e um caminho de " +"diretório, e cria um arquivo contendo o conteúdo do diretório. (Adição de " +"Tarek Ziadé.)" -#: ../../whatsnew/2.7.rst:1481 +#: ../../whatsnew/2.7.rst:1483 msgid "" ":mod:`shutil`'s :func:`~shutil.copyfile` and :func:`~shutil.copytree` " "functions now raise a :exc:`~shutil.SpecialFileError` exception when asked " @@ -2370,258 +2431,277 @@ msgid "" "regular file by opening them for reading, and this would block " "indefinitely. (Fixed by Antoine Pitrou; :issue:`3002`.)" msgstr "" -":mod:`shutil`'s :func:`~shutil.copyfile` and :func:`~shutil.copytree` " -"functions now raise a :exc:`~shutil.SpecialFileError` exception when asked " -"to copy a named pipe. Previously the code would treat named pipes like a " -"regular file by opening them for reading, and this would block indefinitely. " -"(Fixed by Antoine Pitrou; :issue:`3002`.)" +"As funções :func:`~shutil.copyfile` e :func:`~shutil.copytree` " +"de :mod:`shutil` agora levantam uma exceção :exc:`~shutil.SpecialFileError` " +"quando solicitado a copiar um encadeamento nomeado. Anteriormente, o código " +"trataria pipes nomeados como um arquivo normal, abrindo-os para leitura, e " +"isso seria bloqueado indefinidamente. (Correção de Antoine " +"Pitrou; :issue:`3002`.)" -#: ../../whatsnew/2.7.rst:1487 +#: ../../whatsnew/2.7.rst:1489 msgid "" "The :mod:`signal` module no longer re-installs the signal handler unless " "this is truly necessary, which fixes a bug that could make it impossible to " -"catch the EINTR signal robustly. (Fixed by Charles-Francois Natali; :issue:" -"`8354`.)" +"catch the EINTR signal robustly. (Fixed by Charles-Francois " +"Natali; :issue:`8354`.)" msgstr "" -"The :mod:`signal` module no longer re-installs the signal handler unless " -"this is truly necessary, which fixes a bug that could make it impossible to " -"catch the EINTR signal robustly. (Fixed by Charles-Francois Natali; :issue:" -"`8354`.)" +"O módulo :mod:`signal` não reinstala mais o manipulador de sinal a menos que " +"isso seja realmente necessário, o que corrige um bug que poderia tornar " +"impossível capturar o sinal EINTR de forma robusta. (Correção de Charles-" +"François Natali; :issue:`8354`.)" -#: ../../whatsnew/2.7.rst:1492 +#: ../../whatsnew/2.7.rst:1494 msgid "" "New functions: in the :mod:`site` module, three new functions return various " "site- and user-specific paths. :func:`~site.getsitepackages` returns a list " -"containing all global site-packages directories, :func:`~site." -"getusersitepackages` returns the path of the user's site-packages directory, " -"and :func:`~site.getuserbase` returns the value of the :envvar:`USER_BASE` " -"environment variable, giving the path to a directory that can be used to " -"store data. (Contributed by Tarek Ziadé; :issue:`6693`.)" -msgstr "" -"New functions: in the :mod:`site` module, three new functions return various " -"site- and user-specific paths. :func:`~site.getsitepackages` returns a list " -"containing all global site-packages directories, :func:`~site." -"getusersitepackages` returns the path of the user's site-packages directory, " -"and :func:`~site.getuserbase` returns the value of the :envvar:`USER_BASE` " -"environment variable, giving the path to a directory that can be used to " -"store data. (Contributed by Tarek Ziadé; :issue:`6693`.)" - -#: ../../whatsnew/2.7.rst:1503 -msgid "" -"The :mod:`site` module now reports exceptions occurring when the :mod:" -"`sitecustomize` module is imported, and will no longer catch and swallow " -"the :exc:`KeyboardInterrupt` exception. (Fixed by Victor Stinner; :issue:" -"`3137`.)" -msgstr "" -"The :mod:`site` module now reports exceptions occurring when the :mod:" -"`sitecustomize` module is imported, and will no longer catch and swallow " -"the :exc:`KeyboardInterrupt` exception. (Fixed by Victor Stinner; :issue:" -"`3137`.)" - -#: ../../whatsnew/2.7.rst:1508 +"containing all global site-packages " +"directories, :func:`~site.getusersitepackages` returns the path of the " +"user's site-packages directory, and :func:`~site.getuserbase` returns the " +"value of the :data:`~site.USER_BASE` environment variable, giving the path " +"to a directory that can be used to store data. (Contributed by Tarek " +"Ziadé; :issue:`6693`.)" +msgstr "" +"Novas funções: no módulo :mod:`site`, três novas funções retornam vários " +"caminhos específicos do site e do usuário. :func:`~site.getsitepackages` " +"retorna uma lista contendo todos os diretórios globais de pacotes de " +"sites, :func:`~site.getusersitepackages` retorna o caminho do diretório de " +"pacotes de sites do usuário e :func:`~site.getuserbase` retorna o valor da " +"variável de ambiente :data:`~site.USER_BASE`, fornecendo o caminho para um " +"diretório que pode ser usado para armazenar dados. (Contribuição de Tarek " +"Ziadé; :issue:`6693`.)" + +#: ../../whatsnew/2.7.rst:1505 +msgid "" +"The :mod:`site` module now reports exceptions occurring when " +"the :mod:`sitecustomize` module is imported, and will no longer catch and " +"swallow the :exc:`KeyboardInterrupt` exception. (Fixed by Victor " +"Stinner; :issue:`3137`.)" +msgstr "" +"O módulo :mod:`site` agora reporta exceções que ocorrem quando o " +"módulo :mod:`sitecustomize` é importado, e não irá mais capturar e engolir a " +"exceção :exc:`KeyboardInterrupt`. (Correção de Victor " +"Stinner; :issue:`3137`.)" + +#: ../../whatsnew/2.7.rst:1510 msgid "" "The :func:`~socket.create_connection` function gained a *source_address* " "parameter, a ``(host, port)`` 2-tuple giving the source address that will be " "used for the connection. (Contributed by Eldon Ziegler; :issue:`3972`.)" msgstr "" -"The :func:`~socket.create_connection` function gained a *source_address* " -"parameter, a ``(host, port)`` 2-tuple giving the source address that will be " -"used for the connection. (Contributed by Eldon Ziegler; :issue:`3972`.)" - -#: ../../whatsnew/2.7.rst:1513 -msgid "" -"The :meth:`~socket.socket.recv_into` and :meth:`~socket.socket." -"recvfrom_into` methods will now write into objects that support the buffer " -"API, most usefully the :class:`bytearray` and :class:`memoryview` objects. " -"(Implemented by Antoine Pitrou; :issue:`8104`.)" -msgstr "" -"The :meth:`~socket.socket.recv_into` and :meth:`~socket.socket." -"recvfrom_into` methods will now write into objects that support the buffer " -"API, most usefully the :class:`bytearray` and :class:`memoryview` objects. " -"(Implemented by Antoine Pitrou; :issue:`8104`.)" - -#: ../../whatsnew/2.7.rst:1518 -msgid "" -"The :mod:`SocketServer` module's :class:`~SocketServer.TCPServer` class now " -"supports socket timeouts and disabling the Nagle algorithm. The :attr:" -"`~SocketServer.TCPServer.disable_nagle_algorithm` class attribute defaults " -"to ``False``; if overridden to be true, new request connections will have " -"the TCP_NODELAY option set to prevent buffering many small sends into a " -"single TCP packet. The :attr:`~SocketServer.BaseServer.timeout` class " -"attribute can hold a timeout in seconds that will be applied to the request " -"socket; if no request is received within that time, :meth:`~SocketServer." -"BaseServer.handle_timeout` will be called and :meth:`~SocketServer." -"BaseServer.handle_request` will return. (Contributed by Kristján Valur " -"Jónsson; :issue:`6192` and :issue:`6267`.)" -msgstr "" -"The :mod:`SocketServer` module's :class:`~SocketServer.TCPServer` class now " -"supports socket timeouts and disabling the Nagle algorithm. The :attr:" -"`~SocketServer.TCPServer.disable_nagle_algorithm` class attribute defaults " -"to ``False``; if overridden to be true, new request connections will have " -"the TCP_NODELAY option set to prevent buffering many small sends into a " -"single TCP packet. The :attr:`~SocketServer.BaseServer.timeout` class " -"attribute can hold a timeout in seconds that will be applied to the request " -"socket; if no request is received within that time, :meth:`~SocketServer." -"BaseServer.handle_timeout` will be called and :meth:`~SocketServer." -"BaseServer.handle_request` will return. (Contributed by Kristján Valur " -"Jónsson; :issue:`6192` and :issue:`6267`.)" - -#: ../../whatsnew/2.7.rst:1530 +"A função :func:`~socket.create_connection` ganhou um parâmetro " +"*source_address*, uma tupla de 2 elementos ``(host, port)`` fornecendo o " +"endereço de origem que será usado para a conexão. (Contribuição de Eldon " +"Ziegler; :issue:`3972`.)" + +#: ../../whatsnew/2.7.rst:1515 +msgid "" +"The :meth:`~socket.socket.recv_into` " +"and :meth:`~socket.socket.recvfrom_into` methods will now write into objects " +"that support the buffer API, most usefully the :class:`bytearray` " +"and :class:`memoryview` objects. (Implemented by Antoine " +"Pitrou; :issue:`8104`.)" +msgstr "" +"Os métodos :meth:`~socket.socket.recv_into` " +"e :meth:`~socket.socket.recvfrom_into` agora escreverão em objetos que " +"oferecem suporte à API de buffer, mais utilmente objetos :class:`bytearray` " +"e :class:`memoryview`. (Implementação de Antoine Pitrou; :issue:`8104`.)" + +#: ../../whatsnew/2.7.rst:1520 +msgid "" +"The :mod:`SocketServer ` " +"module's :class:`~socketserver.TCPServer` class now supports socket timeouts " +"and disabling the Nagle algorithm. The :attr:`!disable_nagle_algorithm` " +"class attribute defaults to ``False``; if overridden to be true, new request " +"connections will have the TCP_NODELAY option set to prevent buffering many " +"small sends into a single TCP packet. " +"The :attr:`~socketserver.BaseServer.timeout` class attribute can hold a " +"timeout in seconds that will be applied to the request socket; if no request " +"is received within that " +"time, :meth:`~socketserver.BaseServer.handle_timeout` will be called " +"and :meth:`~socketserver.BaseServer.handle_request` will return. " +"(Contributed by Kristján Valur Jónsson; :issue:`6192` and :issue:`6267`.)" +msgstr "" +"A classe :class:`~socketserver.TCPServer` do módulo :mod:`SocketServer " +"` agora oferece suporte a limite de tempo de soquete e " +"desativação do algoritmo Nagle. O atributo de classe :attr:`!" +"disable_nagle_algorithm` é padronizado como ``False``; se substituído como " +"verdadeiro, novas conexões de solicitação terão a opção TCP_NODELAY definida " +"para evitar o armazenamento em buffer de muitos envios pequenos em um único " +"pacote TCP. O atributo de classe :attr:`~socketserver.BaseServer.timeout` " +"pode conter um tempo limite em segundos que será aplicado ao soquete de " +"solicitação; se nenhuma solicitação for recebida dentro desse " +"tempo, :meth:`~socketserver.BaseServer.handle_timeout` será chamado " +"e :meth:`~socketserver.BaseServer.handle_request` retornará. (Contribuição " +"de Kristján Valur Jónsson; :issue:`6192` e :issue:`6267`.)" + +#: ../../whatsnew/2.7.rst:1532 msgid "" "Updated module: the :mod:`sqlite3` module has been updated to version 2.6.0 " "of the `pysqlite package `__. Version " "2.6.0 includes a number of bugfixes, and adds the ability to load SQLite " "extensions from shared libraries. Call the ``enable_load_extension(True)`` " -"method to enable extensions, and then call :meth:`~sqlite3.Connection." -"load_extension` to load a particular shared library. (Updated by Gerhard " -"Häring.)" +"method to enable extensions, and then " +"call :meth:`~sqlite3.Connection.load_extension` to load a particular shared " +"library. (Updated by Gerhard Häring.)" msgstr "" -"Updated module: the :mod:`sqlite3` module has been updated to version 2.6.0 " -"of the `pysqlite package `__. Version " -"2.6.0 includes a number of bugfixes, and adds the ability to load SQLite " -"extensions from shared libraries. Call the ``enable_load_extension(True)`` " -"method to enable extensions, and then call :meth:`~sqlite3.Connection." -"load_extension` to load a particular shared library. (Updated by Gerhard " -"Häring.)" +"Módulo atualizado: o módulo :mod:`sqlite3` foi atualizado para a versão " +"2.6.0 do pacote `pysqlite `__. A " +"versão 2.6.0 inclui uma série de correções de bugs e adiciona a capacidade " +"de carregar extensões SQLite de bibliotecas compartilhadas. Chame o método " +"``enable_load_extension(True)`` para habilitar extensões, e então " +"chame :meth:`~sqlite3.Connection.load_extension` para carregar uma " +"biblioteca compartilhada específica. (Atualização de Gerhard Häring.)" -#: ../../whatsnew/2.7.rst:1537 +#: ../../whatsnew/2.7.rst:1539 msgid "" "The :mod:`ssl` module's :class:`~ssl.SSLSocket` objects now support the " -"buffer API, which fixed a test suite failure (fix by Antoine Pitrou; :issue:" -"`7133`) and automatically set OpenSSL's :c:macro:`SSL_MODE_AUTO_RETRY`, " -"which will prevent an error code being returned from :meth:`recv` operations " -"that trigger an SSL renegotiation (fix by Antoine Pitrou; :issue:`8222`)." -msgstr "" -"The :mod:`ssl` module's :class:`~ssl.SSLSocket` objects now support the " -"buffer API, which fixed a test suite failure (fix by Antoine Pitrou; :issue:" -"`7133`) and automatically set OpenSSL's :c:macro:`SSL_MODE_AUTO_RETRY`, " -"which will prevent an error code being returned from :meth:`recv` operations " -"that trigger an SSL renegotiation (fix by Antoine Pitrou; :issue:`8222`)." - -#: ../../whatsnew/2.7.rst:1544 -msgid "" -"The :func:`ssl.wrap_socket` constructor function now takes a *ciphers* " -"argument that's a string listing the encryption algorithms to be allowed; " -"the format of the string is described `in the OpenSSL documentation `__. (Added by Antoine " -"Pitrou; :issue:`8322`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:1551 +"buffer API, which fixed a test suite failure (fix by Antoine " +"Pitrou; :issue:`7133`) and automatically set OpenSSL's :c:macro:`!" +"SSL_MODE_AUTO_RETRY`, which will prevent an error code being returned " +"from :meth:`recv` operations that trigger an SSL renegotiation (fix by " +"Antoine Pitrou; :issue:`8222`)." +msgstr "" +"Os objetos :class:`~ssl.SSLSocket` do módulo :mod:`ssl` agora oferecem " +"suporte à API de buffer, que corrigiu uma falha na suíte de testes (correção " +"de Antoine Pitrou; :issue:`7133`) e definiu automaticamente :c:macro:`!" +"SSL_MODE_AUTO_RETRY` do OpenSSL, que impedirá que um código de erro seja " +"retornado de operações :meth:`recv` que acionam uma renegociação SSL " +"(correção por Antoine Pitrou; :issue:`8222`)." + +#: ../../whatsnew/2.7.rst:1546 +msgid "" +"The :func:`~ssl.SSLContext.wrap_socket` constructor function now takes a " +"*ciphers* argument that's a string listing the encryption algorithms to be " +"allowed; the format of the string is described `in the OpenSSL documentation " +"`__. (Added by " +"Antoine Pitrou; :issue:`8322`.)" +msgstr "" +"A função construtora :func:`~ssl.SSLContext.wrap_socket` agora recebe um " +"argumento *ciphers* que é uma string listando os algoritmos de criptografia " +"a serem permitidos; o formato da string é descrito `na documentação do " +"OpenSSL `__. " +"(Adição de Antoine Pitrou; :issue:`8322`.)" + +#: ../../whatsnew/2.7.rst:1553 msgid "" "Another change makes the extension load all of OpenSSL's ciphers and digest " "algorithms so that they're all available. Some SSL certificates couldn't be " "verified, reporting an \"unknown algorithm\" error. (Reported by Beda " "Kosata, and fixed by Antoine Pitrou; :issue:`8484`.)" msgstr "" -"Another change makes the extension load all of OpenSSL's ciphers and digest " -"algorithms so that they're all available. Some SSL certificates couldn't be " -"verified, reporting an \"unknown algorithm\" error. (Reported by Beda " -"Kosata, and fixed by Antoine Pitrou; :issue:`8484`.)" +"Outra mudança faz com que a extensão carregue todas as cifras e algoritmos " +"de resumo do OpenSSL para que estejam todos disponíveis. Não foi possível " +"verificar alguns certificados SSL, reportando um erro de \"algoritmo " +"desconhecido\". (Relato de Beda Kosata e correção de Antoine " +"Pitrou; :issue:`8484`.)" -#: ../../whatsnew/2.7.rst:1557 +#: ../../whatsnew/2.7.rst:1559 msgid "" -"The version of OpenSSL being used is now available as the module attributes :" -"data:`ssl.OPENSSL_VERSION` (a string), :data:`ssl.OPENSSL_VERSION_INFO` (a 5-" -"tuple), and :data:`ssl.OPENSSL_VERSION_NUMBER` (an integer). (Added by " -"Antoine Pitrou; :issue:`8321`.)" +"The version of OpenSSL being used is now available as the module " +"attributes :const:`ssl.OPENSSL_VERSION` (a " +"string), :const:`ssl.OPENSSL_VERSION_INFO` (a 5-tuple), " +"and :const:`ssl.OPENSSL_VERSION_NUMBER` (an integer). (Added by Antoine " +"Pitrou; :issue:`8321`.)" msgstr "" -"The version of OpenSSL being used is now available as the module attributes :" -"data:`ssl.OPENSSL_VERSION` (a string), :data:`ssl.OPENSSL_VERSION_INFO` (a 5-" -"tuple), and :data:`ssl.OPENSSL_VERSION_NUMBER` (an integer). (Added by " +"A versão do OpenSSL usada agora está disponível como os atributos do " +"módulo :const:`ssl.OPENSSL_VERSION` (uma " +"string), :const:`ssl.OPENSSL_VERSION_INFO` (uma tupla de 5) " +"e :const:`ssl.OPENSSL_VERSION_NUMBER` (um número inteiro). (Adição de " "Antoine Pitrou; :issue:`8321`.)" -#: ../../whatsnew/2.7.rst:1563 +#: ../../whatsnew/2.7.rst:1565 msgid "" "The :mod:`struct` module will no longer silently ignore overflow errors when " "a value is too large for a particular integer format code (one of " "``bBhHiIlLqQ``); it now always raises a :exc:`struct.error` exception. " "(Changed by Mark Dickinson; :issue:`1523`.) The :func:`~struct.pack` " -"function will also attempt to use :meth:`__index__` to convert and pack non-" -"integers before trying the :meth:`__int__` method or reporting an error. " -"(Changed by Mark Dickinson; :issue:`8300`.)" -msgstr "" -"The :mod:`struct` module will no longer silently ignore overflow errors when " -"a value is too large for a particular integer format code (one of " -"``bBhHiIlLqQ``); it now always raises a :exc:`struct.error` exception. " -"(Changed by Mark Dickinson; :issue:`1523`.) The :func:`~struct.pack` " -"function will also attempt to use :meth:`__index__` to convert and pack non-" -"integers before trying the :meth:`__int__` method or reporting an error. " -"(Changed by Mark Dickinson; :issue:`8300`.)" - -#: ../../whatsnew/2.7.rst:1572 -msgid "" -"New function: the :mod:`subprocess` module's :func:`~subprocess." -"check_output` runs a command with a specified set of arguments and returns " -"the command's output as a string when the command runs without error, or " -"raises a :exc:`~subprocess.CalledProcessError` exception otherwise." -msgstr "" -"New function: the :mod:`subprocess` module's :func:`~subprocess." -"check_output` runs a command with a specified set of arguments and returns " -"the command's output as a string when the command runs without error, or " -"raises a :exc:`~subprocess.CalledProcessError` exception otherwise." +"function will also attempt to use :meth:`~object.__index__` to convert and " +"pack non-integers before trying the :meth:`~object.__int__` method or " +"reporting an error. (Changed by Mark Dickinson; :issue:`8300`.)" +msgstr "" +"O módulo :mod:`struct` não irá mais ignorar silenciosamente erros de " +"overflow quando um valor for muito grande para um código de formato inteiro " +"específico (um de ``bBhHiIlLqQ``); agora sempre levanta uma " +"exceção :exc:`struct.error`. (Alteração de Mark Dickinson; :issue:`1523`.) A " +"função :func:`~struct.pack` também tentará usar :meth:`~object.__index__` " +"para converter e empacotar números não inteiros antes de tentar o " +"método :meth:`~object.__int__` ou relatar um erro. (Alteração de Mark " +"Dickinson; :issue:`8300`.)" + +#: ../../whatsnew/2.7.rst:1574 +msgid "" +"New function: the :mod:`subprocess` " +"module's :func:`~subprocess.check_output` runs a command with a specified " +"set of arguments and returns the command's output as a string when the " +"command runs without error, or raises " +"a :exc:`~subprocess.CalledProcessError` exception otherwise." +msgstr "" +"Nova função: o :func:`~subprocess.check_output` do módulo :mod:`subprocess` " +"executa um comando com um conjunto especificado de argumentos e retorna a " +"saída do comando como uma string quando o comando é executado sem erros, ou " +"levanta uma exceção :exc:`~subprocess.CalledProcessError` caso contrário." -#: ../../whatsnew/2.7.rst:1587 +#: ../../whatsnew/2.7.rst:1589 msgid "(Contributed by Gregory P. Smith.)" -msgstr "(Contributed by Gregory P. Smith.)" +msgstr "(Contribuição de Gregory P. Smith.)" -#: ../../whatsnew/2.7.rst:1589 +#: ../../whatsnew/2.7.rst:1591 msgid "" "The :mod:`subprocess` module will now retry its internal system calls on " -"receiving an :const:`EINTR` signal. (Reported by several people; final " -"patch by Gregory P. Smith in :issue:`1068268`.)" +"receiving an :const:`~errno.EINTR` signal. (Reported by several people; " +"final patch by Gregory P. Smith in :issue:`1068268`.)" msgstr "" -"The :mod:`subprocess` module will now retry its internal system calls on " -"receiving an :const:`EINTR` signal. (Reported by several people; final patch " -"by Gregory P. Smith in :issue:`1068268`.)" +"O módulo :mod:`subprocess` agora tentará novamente suas chamadas internas do " +"sistema ao receber um sinal :const:`~errno.EINTR`. (Relato por várias " +"pessoas; patch final por Gregory P. Smith em :issue:`1068268`.)" -#: ../../whatsnew/2.7.rst:1593 +#: ../../whatsnew/2.7.rst:1595 msgid "" -"New function: :func:`~symtable.Symbol.is_declared_global` in the :mod:" -"`symtable` module returns true for variables that are explicitly declared to " -"be global, false for ones that are implicitly global. (Contributed by Jeremy " -"Hylton.)" +"New function: :func:`~symtable.Symbol.is_declared_global` in " +"the :mod:`symtable` module returns true for variables that are explicitly " +"declared to be global, false for ones that are implicitly global. " +"(Contributed by Jeremy Hylton.)" msgstr "" -"New function: :func:`~symtable.Symbol.is_declared_global` in the :mod:" -"`symtable` module returns true for variables that are explicitly declared to " -"be global, false for ones that are implicitly global. (Contributed by Jeremy " -"Hylton.)" +"Nova função: :func:`~symtable.Symbol.is_declared_global` no " +"módulo :mod:`symtable` retorna verdadeiro para variáveis que são " +"explicitamente declaradas como globais, falso para aquelas que são " +"implicitamente globais. (Contribuição de Jeremy Hylton.)" -#: ../../whatsnew/2.7.rst:1598 ../../whatsnew/2.7.rst:2496 +#: ../../whatsnew/2.7.rst:1600 ../../whatsnew/2.7.rst:2501 msgid "" "The :mod:`syslog` module will now use the value of ``sys.argv[0]`` as the " "identifier instead of the previous default value of ``'python'``. (Changed " "by Sean Reifschneider; :issue:`8451`.)" msgstr "" -"The :mod:`syslog` module will now use the value of ``sys.argv[0]`` as the " -"identifier instead of the previous default value of ``'python'``. (Changed " -"by Sean Reifschneider; :issue:`8451`.)" +"O módulo :mod:`syslog` agora usará o valor de ``sys.argv[0]`` como " +"identificador em vez do valor padrão anterior de ``'python'``. (Alteração de " +"Sean Reifschneider; :issue:`8451`.)" -#: ../../whatsnew/2.7.rst:1602 +#: ../../whatsnew/2.7.rst:1604 msgid "" -"The ``sys.version_info`` value is now a named tuple, with attributes named :" -"attr:`major`, :attr:`minor`, :attr:`micro`, :attr:`releaselevel`, and :attr:" -"`serial`. (Contributed by Ross Light; :issue:`4285`.)" +"The :attr:`sys.version_info` value is now a named tuple, with attributes " +"named :attr:`!major`, :attr:`!minor`, :attr:`!micro`, :attr:`!releaselevel`, " +"and :attr:`!serial`. (Contributed by Ross Light; :issue:`4285`.)" msgstr "" -"The ``sys.version_info`` value is now a named tuple, with attributes named :" -"attr:`major`, :attr:`minor`, :attr:`micro`, :attr:`releaselevel`, and :attr:" -"`serial`. (Contributed by Ross Light; :issue:`4285`.)" +"O valor :attr:`sys.version_info` agora é uma tupla nomeada, com atributos " +"chamados :attr:`!major`, :attr:`!minor`, :attr:`!micro`, :attr:`!" +"releaselevel` e :attr:`!serial`. (Contribuição de Ross Light; :issue:`4285`.)" -#: ../../whatsnew/2.7.rst:1607 +#: ../../whatsnew/2.7.rst:1609 msgid "" ":func:`sys.getwindowsversion` also returns a named tuple, with attributes " -"named :attr:`major`, :attr:`minor`, :attr:`build`, :attr:`platform`, :attr:" -"`service_pack`, :attr:`service_pack_major`, :attr:`service_pack_minor`, :" -"attr:`suite_mask`, and :attr:`product_type`. (Contributed by Brian Curtin; :" -"issue:`7766`.)" +"named :attr:`!major`, :attr:`!minor`, :attr:`!build`, :attr:`!" +"platform`, :attr:`!service_pack`, :attr:`!service_pack_major`, :attr:`!" +"service_pack_minor`, :attr:`!suite_mask`, and :attr:`!product_type`. " +"(Contributed by Brian Curtin; :issue:`7766`.)" msgstr "" -":func:`sys.getwindowsversion` also returns a named tuple, with attributes " -"named :attr:`major`, :attr:`minor`, :attr:`build`, :attr:`platform`, :attr:" -"`service_pack`, :attr:`service_pack_major`, :attr:`service_pack_minor`, :" -"attr:`suite_mask`, and :attr:`product_type`. (Contributed by Brian Curtin; :" -"issue:`7766`.)" +":func:`sys.getwindowsversion` também retorna uma tupla nomeada, com " +"atributos chamados :attr:`!major`, :attr:`!minor`, :attr:`!build`, :attr:`!" +"platform`, :attr:`!service_pack`, :attr:`!service_pack_major`, :attr:`!" +"service_pack_minor`, :attr:`!suite_mask` e :attr:`!product_type`. " +"(Contribuição de Brian Curtin; :issue:`7766`.)" -#: ../../whatsnew/2.7.rst:1613 ../../whatsnew/2.7.rst:2500 +#: ../../whatsnew/2.7.rst:1615 ../../whatsnew/2.7.rst:2505 msgid "" "The :mod:`tarfile` module's default error handling has changed, to no longer " "suppress fatal errors. The default error level was previously 0, which " @@ -2630,14 +2710,15 @@ msgid "" "unnoticed. The default error level is now 1, which raises an exception if " "there's an error. (Changed by Lars Gustäbel; :issue:`7357`.)" msgstr "" -"The :mod:`tarfile` module's default error handling has changed, to no longer " -"suppress fatal errors. The default error level was previously 0, which meant " -"that errors would only result in a message being written to the debug log, " -"but because the debug log is not activated by default, these errors go " -"unnoticed. The default error level is now 1, which raises an exception if " -"there's an error. (Changed by Lars Gustäbel; :issue:`7357`.)" +"O tratamento de erros padrão do módulo :mod:`tarfile` foi alterado, para não " +"mais suprimir erros fatais. O nível de erro padrão era anteriormente 0, o " +"que significava que os erros resultariam apenas na gravação de uma mensagem " +"no log de depuração, mas como o log de depuração não está ativado por " +"padrão, esses erros passam despercebidos. O nível de erro padrão agora é 1, " +"o que levanta uma exceção se houver um erro. (Alteração de Lars " +"Gustäbel; :issue:`7357`.)" -#: ../../whatsnew/2.7.rst:1621 +#: ../../whatsnew/2.7.rst:1623 msgid "" ":mod:`tarfile` now supports filtering the :class:`~tarfile.TarInfo` objects " "being added to a tar file. When you call :meth:`~tarfile.TarFile.add`, you " @@ -2647,21 +2728,22 @@ msgid "" "file will be excluded from the resulting archive. This is more powerful " "than the existing *exclude* argument, which has therefore been deprecated. " "(Added by Lars Gustäbel; :issue:`6856`.) The :class:`~tarfile.TarFile` class " -"also now supports the context management protocol. (Added by Lars Gustäbel; :" -"issue:`7232`.)" -msgstr "" -":mod:`tarfile` now supports filtering the :class:`~tarfile.TarInfo` objects " -"being added to a tar file. When you call :meth:`~tarfile.TarFile.add`, you " -"may supply an optional *filter* argument that's a callable. The *filter* " -"callable will be passed the :class:`~tarfile.TarInfo` for every file being " -"added, and can modify and return it. If the callable returns ``None``, the " -"file will be excluded from the resulting archive. This is more powerful than " -"the existing *exclude* argument, which has therefore been deprecated. (Added " -"by Lars Gustäbel; :issue:`6856`.) The :class:`~tarfile.TarFile` class also " -"now supports the context management protocol. (Added by Lars Gustäbel; :" -"issue:`7232`.)" - -#: ../../whatsnew/2.7.rst:1633 +"also now supports the context management protocol. (Added by Lars " +"Gustäbel; :issue:`7232`.)" +msgstr "" +":mod:`tarfile` agora oferece suporte à filtragem de " +"objetos :class:`~tarfile.TarInfo` sendo adicionados a um arquivo tar. Quando " +"você chama :meth:`~tarfile.TarFile.add`, você pode fornecer um argumento " +"*filter* opcional que é chamável. O chamável *filter* receberá " +"o :class:`~tarfile.TarInfo` para cada arquivo sendo adicionado, e pode " +"modificá-lo e retorná-lo. Se o chamável retornar ``None``, o arquivo será " +"excluído do arquivo resultante. Isto é mais poderoso do que o argumento " +"*exclude* existente, que foi, portanto, descontinuado. (Adição de Lars " +"Gustäbel; :issue:`6856`.) A classe :class:`~tarfile.TarFile` agora também " +"oferece suporte ao protocolo de gerenciamento de contexto. (Adição de Lars " +"Gustäbel; :issue:`7232`.)" + +#: ../../whatsnew/2.7.rst:1635 msgid "" "The :meth:`~threading.Event.wait` method of the :class:`threading.Event` " "class now returns the internal flag on exit. This means the method will " @@ -2670,66 +2752,69 @@ msgid "" "false if a timeout was provided and the operation timed out. (Contributed by " "Tim Lesher; :issue:`1674032`.)" msgstr "" -"The :meth:`~threading.Event.wait` method of the :class:`threading.Event` " -"class now returns the internal flag on exit. This means the method will " -"usually return true because :meth:`~threading.Event.wait` is supposed to " -"block until the internal flag becomes true. The return value will only be " -"false if a timeout was provided and the operation timed out. (Contributed by " -"Tim Lesher; :issue:`1674032`.)" +"O método :meth:`~threading.Event.wait` da classe :class:`threading.Event` " +"agora retorna o sinalizador interno na saída. Isso significa que o método " +"geralmente retornará verdadeiro porque :meth:`~threading.Event.wait` deve " +"ser bloqueado até que o sinalizador interno se torne verdadeiro. O valor de " +"retorno só será falso se um tempo limite tiver sido fornecido e a operação " +"tiver expirado. (Contribuição de Tim Lesher; :issue:`1674032`.)" -#: ../../whatsnew/2.7.rst:1640 +#: ../../whatsnew/2.7.rst:1642 msgid "" "The Unicode database provided by the :mod:`unicodedata` module is now used " "internally to determine which characters are numeric, whitespace, or " -"represent line breaks. The database also includes information from the :" -"file:`Unihan.txt` data file (patch by Anders Chrigström and Amaury Forgeot " -"d'Arc; :issue:`1571184`) and has been updated to version 5.2.0 (updated by " -"Florent Xicluna; :issue:`8024`)." -msgstr "" -"The Unicode database provided by the :mod:`unicodedata` module is now used " -"internally to determine which characters are numeric, whitespace, or " -"represent line breaks. The database also includes information from the :file:" -"`Unihan.txt` data file (patch by Anders Chrigström and Amaury Forgeot " -"d'Arc; :issue:`1571184`) and has been updated to version 5.2.0 (updated by " -"Florent Xicluna; :issue:`8024`)." - -#: ../../whatsnew/2.7.rst:1648 ../../whatsnew/2.7.rst:2508 -msgid "" -"The :mod:`urlparse` module's :func:`~urlparse.urlsplit` now handles unknown " -"URL schemes in a fashion compliant with :rfc:`3986`: if the URL is of the " -"form ``\"://...\"``, the text before the ``://`` is treated as " -"the scheme, even if it's a made-up scheme that the module doesn't know " -"about. This change may break code that worked around the old behaviour. " -"For example, Python 2.6.4 or 2.5 will return the following:" -msgstr "" -"The :mod:`urlparse` module's :func:`~urlparse.urlsplit` now handles unknown " -"URL schemes in a fashion compliant with :rfc:`3986`: if the URL is of the " -"form ``\"://...\"``, the text before the ``://`` is treated as " -"the scheme, even if it's a made-up scheme that the module doesn't know " -"about. This change may break code that worked around the old behaviour. For " -"example, Python 2.6.4 or 2.5 will return the following:" - -#: ../../whatsnew/2.7.rst:1663 ../../whatsnew/2.7.rst:2523 +"represent line breaks. The database also includes information from " +"the :file:`Unihan.txt` data file (patch by Anders Chrigström and Amaury " +"Forgeot d'Arc; :issue:`1571184`) and has been updated to version 5.2.0 " +"(updated by Florent Xicluna; :issue:`8024`)." +msgstr "" +"O banco de dados Unicode fornecido pelo módulo :mod:`unicodedata` agora é " +"usado internamente para determinar quais caracteres são numéricos, espaços " +"em branco ou representam quebras de linha. O banco de dados também inclui " +"informações do arquivo de dados :file:`Unihan.txt` (patch de Anders " +"Chrigström e Amaury Forgeot d'Arc; :issue:`1571184`) e foi atualizado para a " +"versão 5.2.0 (atualização de Florent Xicluna; :issue:`8024`)." + +#: ../../whatsnew/2.7.rst:1650 ../../whatsnew/2.7.rst:2513 +msgid "" +"The :mod:`urlparse ` module's :func:`~urllib.parse.urlsplit` " +"now handles unknown URL schemes in a fashion compliant with :rfc:`3986`: if " +"the URL is of the form ``\"://...\"``, the text before the ``://" +"`` is treated as the scheme, even if it's a made-up scheme that the module " +"doesn't know about. This change may break code that worked around the old " +"behaviour. For example, Python 2.6.4 or 2.5 will return the following:" +msgstr "" +"A função :func:`~urllib.parse.urlsplit` do módulo :mod:`urlparse " +"` agora lida com esquemas de URL desconhecidos de uma forma " +"compatível com :rfc:`3986`: se a URL estiver no formato " +"``\"://...\"``, o texto antes de ``://`` é tratado como o " +"esquema, mesmo que seja um esquema inventado que o módulo não conhece. Essa " +"alteração pode quebrar o código que contornava o comportamento antigo. Por " +"exemplo, Python 2.6.4 ou 2.5 retornará o seguinte:" + +#: ../../whatsnew/2.7.rst:1665 ../../whatsnew/2.7.rst:2528 msgid "Python 2.7 (and Python 2.6.5) will return:" -msgstr "Python 2.7 (and Python 2.6.5) will return:" +msgstr "Python 2.7 (e Python 2.6.5) vai retornar:" -#: ../../whatsnew/2.7.rst:1672 ../../whatsnew/2.7.rst:2532 +#: ../../whatsnew/2.7.rst:1674 ../../whatsnew/2.7.rst:2537 msgid "" "(Python 2.7 actually produces slightly different output, since it returns a " "named tuple instead of a standard tuple.)" msgstr "" -"(Python 2.7 actually produces slightly different output, since it returns a " -"named tuple instead of a standard tuple.)" +"(Na verdade, o Python 2.7 produz uma saída ligeiramente diferente, pois " +"retorna uma tupla nomeada em vez de uma tupla padrão.)" -#: ../../whatsnew/2.7.rst:1675 +#: ../../whatsnew/2.7.rst:1677 msgid "" -"The :mod:`urlparse` module also supports IPv6 literal addresses as defined " -"by :rfc:`2732` (contributed by Senthil Kumaran; :issue:`2987`)." +"The :mod:`urlparse ` module also supports IPv6 literal " +"addresses as defined by :rfc:`2732` (contributed by Senthil " +"Kumaran; :issue:`2987`)." msgstr "" -"The :mod:`urlparse` module also supports IPv6 literal addresses as defined " -"by :rfc:`2732` (contributed by Senthil Kumaran; :issue:`2987`)." +"O módulo :mod:`urlparse ` também oferece suporte a endereços " +"IPv6 literais conforme definido pelo :rfc:`2732` (contribuição de Senthil " +"Kumaran; :issue:`2987`)." -#: ../../whatsnew/2.7.rst:1685 +#: ../../whatsnew/2.7.rst:1687 msgid "" "New class: the :class:`~weakref.WeakSet` class in the :mod:`weakref` module " "is a set that only holds weak references to its elements; elements will be " @@ -2737,111 +2822,116 @@ msgid "" "implemented in Python 3.x by Raymond Hettinger, and backported to 2.7 by " "Michael Foord.)" msgstr "" -"New class: the :class:`~weakref.WeakSet` class in the :mod:`weakref` module " -"is a set that only holds weak references to its elements; elements will be " -"removed once there are no references pointing to them. (Originally " -"implemented in Python 3.x by Raymond Hettinger, and backported to 2.7 by " -"Michael Foord.)" +"Nova classe: a classe :class:`~weakref.WeakSet` no módulo :mod:`weakref` é " +"um conjunto que contém apenas referências fracas aos seus elementos; os " +"elementos serão removidos quando não houver referências apontando para eles. " +"(Originalmente implementado em Python 3.x por Raymond Hettinger e portado " +"para 2.7 por Michael Foord.)" -#: ../../whatsnew/2.7.rst:1691 ../../whatsnew/2.7.rst:2486 +#: ../../whatsnew/2.7.rst:1693 msgid "" -"The ElementTree library, :mod:`xml.etree`, no longer escapes ampersands and " -"angle brackets when outputting an XML processing instruction (which looks " -"like ````) or comment (which looks like " -"````). (Patch by Neil Muller; :issue:`2746`.)" -msgstr "" -"The ElementTree library, :mod:`xml.etree`, no longer escapes ampersands and " +"The :mod:`xml.etree.ElementTree` library, no longer escapes ampersands and " "angle brackets when outputting an XML processing instruction (which looks " "like ````) or comment (which looks like " "````). (Patch by Neil Muller; :issue:`2746`.)" - -#: ../../whatsnew/2.7.rst:1697 -msgid "" -"The XML-RPC client and server, provided by the :mod:`xmlrpclib` and :mod:" -"`SimpleXMLRPCServer` modules, have improved performance by supporting " -"HTTP/1.1 keep-alive and by optionally using gzip encoding to compress the " -"XML being exchanged. The gzip compression is controlled by the :attr:" -"`encode_threshold` attribute of :class:`SimpleXMLRPCRequestHandler`, which " -"contains a size in bytes; responses larger than this will be compressed. " -"(Contributed by Kristján Valur Jónsson; :issue:`6267`.)" msgstr "" -"The XML-RPC client and server, provided by the :mod:`xmlrpclib` and :mod:" -"`SimpleXMLRPCServer` modules, have improved performance by supporting " -"HTTP/1.1 keep-alive and by optionally using gzip encoding to compress the " -"XML being exchanged. The gzip compression is controlled by the :attr:" -"`encode_threshold` attribute of :class:`SimpleXMLRPCRequestHandler`, which " -"contains a size in bytes; responses larger than this will be compressed. " -"(Contributed by Kristján Valur Jónsson; :issue:`6267`.)" - -#: ../../whatsnew/2.7.rst:1706 +"A biblioteca :mod:`xml.etree.ElementTree` não escapa mais caracteres de E " +"comercial e de sinal de maior e de menor ao gerar uma instrução de " +"processamento XML (que se parece com ````) ou comentário (que se parece com ````). (Patch de " +"Neil Muller; :issue:`2746`.)" + +#: ../../whatsnew/2.7.rst:1699 +msgid "" +"The XML-RPC client and server, provided by the :mod:`xmlrpclib " +"` and :mod:`SimpleXMLRPCServer ` modules, have " +"improved performance by supporting HTTP/1.1 keep-alive and by optionally " +"using gzip encoding to compress the XML being exchanged. The gzip " +"compression is controlled by the :attr:`!encode_threshold` attribute " +"of :class:`~xmlrpc.server.SimpleXMLRPCRequestHandler`, which contains a size " +"in bytes; responses larger than this will be compressed. (Contributed by " +"Kristján Valur Jónsson; :issue:`6267`.)" +msgstr "" +"O cliente e servidor de XML-RPC, fornecidos pelos módulos :mod:`xmlrpclib " +"` e :mod:`SimpleXMLRPCServer `, melhoraram o " +"desempenho ao prover suporte a kep-alive do HTTP/1.1 e, opcionalmente, " +"usando a codificação gzip para compactar o XML que está sendo trocado. A " +"compactação gzip é controlada pelo atributo :attr:`!encode_threshold` " +"de :class:`~xmlrpc.server.SimpleXMLRPCRequestHandler`, que contém um tamanho " +"em bytes; respostas maiores que isso serão compactadas. (Contribuição de " +"Kristján Valur Jónsson; :issue:`6267`.)" + +#: ../../whatsnew/2.7.rst:1708 msgid "" "The :mod:`zipfile` module's :class:`~zipfile.ZipFile` now supports the " "context management protocol, so you can write ``with zipfile.ZipFile(...) as " "f:``. (Contributed by Brian Curtin; :issue:`5511`.)" msgstr "" -"The :mod:`zipfile` module's :class:`~zipfile.ZipFile` now supports the " -"context management protocol, so you can write ``with zipfile.ZipFile(...) as " -"f:``. (Contributed by Brian Curtin; :issue:`5511`.)" +"A classe :class:`~zipfile.ZipFile` do módulo :mod:`zipfile` agora oferece " +"suporte ao protocolo de gerenciamento de contexto, então você pode escrever " +"``with zipfile.ZipFile(...) as f:``. (Contribuição de Brian " +"Curtin; :issue:`5511`.)" -#: ../../whatsnew/2.7.rst:1710 +#: ../../whatsnew/2.7.rst:1712 msgid "" ":mod:`zipfile` now also supports archiving empty directories and extracts " "them correctly. (Fixed by Kuba Wieczorek; :issue:`4710`.) Reading files out " -"of an archive is faster, and interleaving :meth:`~zipfile.ZipFile.read` and :" -"meth:`~zipfile.ZipFile.readline` now works correctly. (Contributed by Nir " -"Aides; :issue:`7610`.)" -msgstr "" -":mod:`zipfile` now also supports archiving empty directories and extracts " -"them correctly. (Fixed by Kuba Wieczorek; :issue:`4710`.) Reading files out " -"of an archive is faster, and interleaving :meth:`~zipfile.ZipFile.read` and :" -"meth:`~zipfile.ZipFile.readline` now works correctly. (Contributed by Nir " +"of an archive is faster, and interleaving :meth:`read() " +"` and :meth:`readline() ` now " +"works correctly. (Contributed by Nir Aides; :issue:`7610`.)" +msgstr "" +":mod:`zipfile` agora também oferece suporte ao arquivamento de diretórios " +"vazios e os extrai corretamente. (Correção de Kuba " +"Wieczorek; :issue:`4710`.) Ler arquivos de um arquivo é mais rápido e " +"intercalar :meth:`read() ` e :meth:`readline() " +"` agora funciona corretamente. (Contribuição de Nir " "Aides; :issue:`7610`.)" -#: ../../whatsnew/2.7.rst:1716 +#: ../../whatsnew/2.7.rst:1719 msgid "" "The :func:`~zipfile.is_zipfile` function now accepts a file object, in " "addition to the path names accepted in earlier versions. (Contributed by " "Gabriel Genellina; :issue:`4756`.)" msgstr "" -"The :func:`~zipfile.is_zipfile` function now accepts a file object, in " -"addition to the path names accepted in earlier versions. (Contributed by " -"Gabriel Genellina; :issue:`4756`.)" +"A função :func:`~zipfile.is_zipfile` agora aceita um objeto arquivo, além " +"dos nomes de caminho aceitos em versões anteriores. (Contribuição de Gabriel " +"Genellina; :issue:`4756`.)" -#: ../../whatsnew/2.7.rst:1720 +#: ../../whatsnew/2.7.rst:1723 msgid "" "The :meth:`~zipfile.ZipFile.writestr` method now has an optional " "*compress_type* parameter that lets you override the default compression " "method specified in the :class:`~zipfile.ZipFile` constructor. (Contributed " "by Ronald Oussoren; :issue:`6003`.)" msgstr "" -"The :meth:`~zipfile.ZipFile.writestr` method now has an optional " -"*compress_type* parameter that lets you override the default compression " -"method specified in the :class:`~zipfile.ZipFile` constructor. (Contributed " -"by Ronald Oussoren; :issue:`6003`.)" +"O método :meth:`~zipfile.ZipFile.writestr` agora tem um parâmetro " +"*compress_type* opcional que permite substituir o método de compactação " +"padrão especificado no construtor de :class:`~zipfile.ZipFile`. " +"(Contribuição de Ronald Oussoren; :issue:`6003`.)" -#: ../../whatsnew/2.7.rst:1733 +#: ../../whatsnew/2.7.rst:1736 msgid "New module: importlib" -msgstr "New module: importlib" +msgstr "Novo módulo: importlib" -#: ../../whatsnew/2.7.rst:1735 +#: ../../whatsnew/2.7.rst:1738 msgid "" "Python 3.1 includes the :mod:`importlib` package, a re-implementation of the " "logic underlying Python's :keyword:`import` statement. :mod:`importlib` is " "useful for implementors of Python interpreters and to users who wish to " "write new importers that can participate in the import process. Python 2.7 " "doesn't contain the complete :mod:`importlib` package, but instead has a " -"tiny subset that contains a single function, :func:`~importlib." -"import_module`." +"tiny subset that contains a single " +"function, :func:`~importlib.import_module`." msgstr "" -"Python 3.1 includes the :mod:`importlib` package, a re-implementation of the " -"logic underlying Python's :keyword:`import` statement. :mod:`importlib` is " -"useful for implementors of Python interpreters and to users who wish to " -"write new importers that can participate in the import process. Python 2.7 " -"doesn't contain the complete :mod:`importlib` package, but instead has a " -"tiny subset that contains a single function, :func:`~importlib." -"import_module`." +"Python 3.1 inclui o pacote :mod:`importlib`, uma reimplementação da lógica " +"subjacente à instrução :keyword:`import` do Python. :mod:`importlib` é útil " +"para implementadores de interpretadores Python e para usuários que desejam " +"escrever novos importadores que possam participar do processo de importação. " +"Python 2.7 não contém o pacote :mod:`importlib` completo, mas em vez disso " +"possui um pequeno subconjunto que contém uma única " +"função, :func:`~importlib.import_module`." -#: ../../whatsnew/2.7.rst:1743 +#: ../../whatsnew/2.7.rst:1746 msgid "" "``import_module(name, package=None)`` imports a module. *name* is a string " "containing the module or package's name. It's possible to do relative " @@ -2851,31 +2941,31 @@ msgid "" "the relative import. :func:`~importlib.import_module` both inserts the " "imported module into ``sys.modules`` and returns the module object." msgstr "" -"``import_module(name, package=None)`` imports a module. *name* is a string " -"containing the module or package's name. It's possible to do relative " -"imports by providing a string that begins with a ``.`` character, such as " -"``..utils.errors``. For relative imports, the *package* argument must be " -"provided and is the name of the package that will be used as the anchor for " -"the relative import. :func:`~importlib.import_module` both inserts the " -"imported module into ``sys.modules`` and returns the module object." +"``import_module(name, package=None)`` importa um módulo. *name* é uma string " +"contendo o nome do módulo ou pacote. É possível fazer importações relativas " +"fornecendo uma string que começa com um caractere ``.``, como " +"``..utils.errors``. Para importações relativas, o argumento *package* deve " +"ser fornecido e é o nome do pacote que será usado como âncora para a " +"importação relativa. :func:`~importlib.import_module` insere o módulo " +"importado em ``sys.modules`` e retorna o objeto do módulo." -#: ../../whatsnew/2.7.rst:1752 +#: ../../whatsnew/2.7.rst:1755 msgid "Here are some examples::" -msgstr "Here are some examples::" +msgstr "Veja alguns exemplos::" -#: ../../whatsnew/2.7.rst:1763 +#: ../../whatsnew/2.7.rst:1766 msgid "" ":mod:`importlib` was implemented by Brett Cannon and introduced in Python " "3.1." msgstr "" -":mod:`importlib` was implemented by Brett Cannon and introduced in Python " +":mod:`importlib` foi implementado por Brett Cannon e introduzido no Python " "3.1." -#: ../../whatsnew/2.7.rst:1768 +#: ../../whatsnew/2.7.rst:1771 msgid "New module: sysconfig" -msgstr "New module: sysconfig" +msgstr "Novo módulo: sysconfig" -#: ../../whatsnew/2.7.rst:1770 +#: ../../whatsnew/2.7.rst:1773 msgid "" "The :mod:`sysconfig` module has been pulled out of the Distutils package, " "becoming a new top-level module in its own right. :mod:`sysconfig` provides " @@ -2883,75 +2973,76 @@ msgid "" "switches, installation paths, the platform name, and whether Python is " "running from its source directory." msgstr "" -"The :mod:`sysconfig` module has been pulled out of the Distutils package, " -"becoming a new top-level module in its own right. :mod:`sysconfig` provides " -"functions for getting information about Python's build process: compiler " -"switches, installation paths, the platform name, and whether Python is " -"running from its source directory." +"O módulo :mod:`sysconfig` foi retirado do pacote Distutils, tornando-se um " +"novo módulo de nível independente. :mod:`sysconfig` fornece funções para " +"obter informações sobre o processo de construção do Python: opções do " +"compilador, caminhos de instalação, o nome da plataforma e se o Python está " +"sendo executado a partir de seu diretório de código-fonte." -#: ../../whatsnew/2.7.rst:1777 +#: ../../whatsnew/2.7.rst:1780 msgid "Some of the functions in the module are:" -msgstr "Some of the functions in the module are:" +msgstr "Algumas das funções do módulo são:" -#: ../../whatsnew/2.7.rst:1779 +#: ../../whatsnew/2.7.rst:1782 msgid "" ":func:`~sysconfig.get_config_var` returns variables from Python's Makefile " "and the :file:`pyconfig.h` file." msgstr "" -":func:`~sysconfig.get_config_var` returns variables from Python's Makefile " -"and the :file:`pyconfig.h` file." +":func:`~sysconfig.get_config_var` retorna variáveis do Makefile do Python e " +"do arquivo :file:`pyconfig.h`." -#: ../../whatsnew/2.7.rst:1781 +#: ../../whatsnew/2.7.rst:1784 msgid "" ":func:`~sysconfig.get_config_vars` returns a dictionary containing all of " "the configuration variables." msgstr "" -":func:`~sysconfig.get_config_vars` returns a dictionary containing all of " -"the configuration variables." +":func:`~sysconfig.get_config_vars` retorna um dicionário contendo todas as " +"variáveis de configuração." -#: ../../whatsnew/2.7.rst:1783 +#: ../../whatsnew/2.7.rst:1786 msgid "" ":func:`~sysconfig.get_path` returns the configured path for a particular " "type of module: the standard library, site-specific modules, platform-" "specific modules, etc." msgstr "" -":func:`~sysconfig.get_path` returns the configured path for a particular " -"type of module: the standard library, site-specific modules, platform-" -"specific modules, etc." +":func:`~sysconfig.get_path` retorna o caminho configurado para um tipo " +"específico de módulo: a biblioteca padrão, módulos específicos do site, " +"módulos específicos da plataforma, etc." -#: ../../whatsnew/2.7.rst:1786 +#: ../../whatsnew/2.7.rst:1789 msgid "" ":func:`~sysconfig.is_python_build` returns true if you're running a binary " "from a Python source tree, and false otherwise." msgstr "" -":func:`~sysconfig.is_python_build` returns true if you're running a binary " -"from a Python source tree, and false otherwise." +":func:`~sysconfig.is_python_build` retorna verdadeiro se você estiver " +"executando um binário de uma árvore de código-fonte em Python, e falso caso " +"contrário." -#: ../../whatsnew/2.7.rst:1789 +#: ../../whatsnew/2.7.rst:1792 msgid "" "Consult the :mod:`sysconfig` documentation for more details and for a " "complete list of functions." msgstr "" -"Consult the :mod:`sysconfig` documentation for more details and for a " -"complete list of functions." +"Consulte a documentação do :mod:`sysconfig` para mais detalhes e para uma " +"lista completa de funções." -#: ../../whatsnew/2.7.rst:1792 +#: ../../whatsnew/2.7.rst:1795 msgid "" "The Distutils package and :mod:`sysconfig` are now maintained by Tarek " "Ziadé, who has also started a Distutils2 package (source repository at " "https://hg.python.org/distutils2/) for developing a next-generation version " "of Distutils." msgstr "" -"The Distutils package and :mod:`sysconfig` are now maintained by Tarek " -"Ziadé, who has also started a Distutils2 package (source repository at " -"https://hg.python.org/distutils2/) for developing a next-generation version " -"of Distutils." +"O pacote Distutils e :mod:`sysconfig` agora são mantidos por Tarek Ziadé, " +"que também iniciou um pacote Distutils2 (repositório fonte em https://" +"hg.python.org/distutils2/) para desenvolver uma versão de próxima geração do " +"Distutils." -#: ../../whatsnew/2.7.rst:1799 +#: ../../whatsnew/2.7.rst:1802 msgid "ttk: Themed Widgets for Tk" -msgstr "ttk: Themed Widgets for Tk" +msgstr "ttk: Widgets temáticos para Tk" -#: ../../whatsnew/2.7.rst:1801 +#: ../../whatsnew/2.7.rst:1804 msgid "" "Tcl/Tk 8.5 includes a set of themed widgets that re-implement basic Tk " "widgets but have a more customizable appearance and can therefore more " @@ -2959,47 +3050,54 @@ msgid "" "originally called Tile, but was renamed to Ttk (for \"themed Tk\") on being " "added to Tcl/Tck release 8.5." msgstr "" -"Tcl/Tk 8.5 includes a set of themed widgets that re-implement basic Tk " -"widgets but have a more customizable appearance and can therefore more " -"closely resemble the native platform's widgets. This widget set was " -"originally called Tile, but was renamed to Ttk (for \"themed Tk\") on being " -"added to Tcl/Tck release 8.5." - -#: ../../whatsnew/2.7.rst:1807 -msgid "" -"To learn more, read the :mod:`ttk` module documentation. You may also wish " -"to read the Tcl/Tk manual page describing the Ttk theme engine, available at " -"https://www.tcl.tk/man/tcl8.5/TkCmd/ttk_intro.htm. Some screenshots of the " -"Python/Ttk code in use are at https://code.google.com/archive/p/python-ttk/" -"wikis/Screenshots.wiki." -msgstr "" - -#: ../../whatsnew/2.7.rst:1814 -msgid "" -"The :mod:`ttk` module was written by Guilherme Polo and added in :issue:" -"`2983`. An alternate version called ``Tile.py``, written by Martin Franklin " -"and maintained by Kevin Walzer, was proposed for inclusion in :issue:`2618`, " -"but the authors argued that Guilherme Polo's work was more comprehensive." -msgstr "" -"The :mod:`ttk` module was written by Guilherme Polo and added in :issue:" -"`2983`. An alternate version called ``Tile.py``, written by Martin Franklin " -"and maintained by Kevin Walzer, was proposed for inclusion in :issue:`2618`, " -"but the authors argued that Guilherme Polo's work was more comprehensive." - -#: ../../whatsnew/2.7.rst:1824 +"O Tcl/Tk 8.5 inclui um conjunto de widgets temáticos que reimplementam " +"widgets Tk básicos, mas têm uma aparência mais personalizável e podem, " +"portanto, se assemelhar mais aos widgets da plataforma nativa. Este conjunto " +"de widgets foi originalmente chamado de Tile, mas foi renomeado para Ttk " +"(para \"Tk temático\") ao ser adicionado ao Tcl/Tck versão 8.5." + +#: ../../whatsnew/2.7.rst:1810 +msgid "" +"To learn more, read the :mod:`~tkinter.ttk` module documentation. You may " +"also wish to read the Tcl/Tk manual page describing the Ttk theme engine, " +"available at https://www.tcl.tk/man/tcl8.5/TkCmd/ttk_intro.html. Some " +"screenshots of the Python/Ttk code in use are at https://code.google.com/" +"archive/p/python-ttk/wikis/Screenshots.wiki." +msgstr "" +"Para saber mais, leia a documentação do módulo :mod:`~tkinter.ttk`. Você " +"também pode ler a página de manual do Tcl/Tk que descreve o mecanismo do " +"tema Ttk, disponível em https://www.tcl.tk/man/tcl8.5/TkCmd/ttk_intro.html. " +"Algumas capturas de tela do código Python/Ttk em uso estão em https://" +"code.google.com/archive/p/python-ttk/wikis/Screenshots.wiki." + +#: ../../whatsnew/2.7.rst:1817 +msgid "" +"The :mod:`tkinter.ttk` module was written by Guilherme Polo and added " +"in :issue:`2983`. An alternate version called ``Tile.py``, written by " +"Martin Franklin and maintained by Kevin Walzer, was proposed for inclusion " +"in :issue:`2618`, but the authors argued that Guilherme Polo's work was more " +"comprehensive." +msgstr "" +"O módulo :mod:`tkinter.ttk` foi escrito por Guilherme Polo e adicionado " +"em :issue:`2983`. Uma versão alternativa chamada ``Tile.py``, escrita por " +"Martin Franklin e mantida por Kevin Walzer, foi proposta para inclusão " +"em :issue:`2618`, mas os autores argumentaram que o trabalho de Guilherme " +"Polo era mais abrangente." + +#: ../../whatsnew/2.7.rst:1827 msgid "Updated module: unittest" -msgstr "Updated module: unittest" +msgstr "Módulo atualizado: unittest" -#: ../../whatsnew/2.7.rst:1826 +#: ../../whatsnew/2.7.rst:1829 msgid "" "The :mod:`unittest` module was greatly enhanced; many new features were " "added. Most of these features were implemented by Michael Foord, unless " "otherwise noted. The enhanced version of the module is downloadable " -"separately for use with Python versions 2.4 to 2.6, packaged as the :mod:" -"`unittest2` package, from https://pypi.org/project/unittest2." +"separately for use with Python versions 2.4 to 2.6, packaged as the :mod:`!" +"unittest2` package, from https://pypi.org/project/unittest2." msgstr "" -#: ../../whatsnew/2.7.rst:1833 +#: ../../whatsnew/2.7.rst:1836 msgid "" "When used from the command line, the module can automatically discover " "tests. It's not as fancy as `py.test `__ or `nose " @@ -3008,32 +3106,41 @@ msgid "" "command will search the :file:`test/` subdirectory for any importable test " "files named ``test*.py``::" msgstr "" +"Quando usado na linha de comando, o módulo pode descobrir testes " +"automaticamente. Não é tão sofisticado quanto `py.test `__ ou `nose `__, mas fornece uma " +"maneira simples de executar testes mantidos dentro de um conjunto de " +"diretórios de pacotes. Por exemplo, o comando a seguir irá pesquisar no " +"subdiretório :file:`test/` por quaisquer arquivos de teste importáveis " +"chamados ``test*.py``::" -#: ../../whatsnew/2.7.rst:1842 +#: ../../whatsnew/2.7.rst:1845 msgid "" "Consult the :mod:`unittest` module documentation for more details. " "(Developed in :issue:`6001`.)" msgstr "" -"Consult the :mod:`unittest` module documentation for more details. " -"(Developed in :issue:`6001`.)" +"Consulte a documentação do módulo :mod:`unittest` para mais detalhes. " +"(Desenvolvido em :issue:`6001`.)" -#: ../../whatsnew/2.7.rst:1845 +#: ../../whatsnew/2.7.rst:1848 msgid "The :func:`~unittest.main` function supports some other new options:" -msgstr "The :func:`~unittest.main` function supports some other new options:" +msgstr "" +"A função :func:`~unittest.main` oferece suporte a algumas outras novas " +"opções:" -#: ../../whatsnew/2.7.rst:1847 +#: ../../whatsnew/2.7.rst:1850 msgid "" ":option:`-b ` or :option:`!--buffer` will buffer the standard " "output and standard error streams during each test. If the test passes, any " "resulting output will be discarded; on failure, the buffered output will be " "displayed." msgstr "" -":option:`-b ` or :option:`!--buffer` will buffer the standard " -"output and standard error streams during each test. If the test passes, any " -"resulting output will be discarded; on failure, the buffered output will be " -"displayed." +":option:`-b ` ou :option:`!--buffer` armazenará em buffer a " +"saída padrão e os fluxos de erro padrão durante cada teste. Se o teste for " +"aprovado, qualquer saída resultante será descartada; em caso de falha, a " +"saída em buffer será exibida." -#: ../../whatsnew/2.7.rst:1852 +#: ../../whatsnew/2.7.rst:1855 msgid "" ":option:`-c ` or :option:`!--catch` will cause the control-C " "interrupt to be handled more gracefully. Instead of interrupting the test " @@ -3041,13 +3148,14 @@ msgid "" "the partial results up to the interruption will be reported. If you're " "impatient, a second press of control-C will cause an immediate interruption." msgstr "" -":option:`-c ` or :option:`!--catch` will cause the control-C " -"interrupt to be handled more gracefully. Instead of interrupting the test " -"process immediately, the currently running test will be completed and then " -"the partial results up to the interruption will be reported. If you're " -"impatient, a second press of control-C will cause an immediate interruption." +":option:`-c ` ou :option:`!--catch` fará com que a interrupção " +"control-C seja tratada com mais elegância. Em vez de interromper " +"imediatamente o processo de teste, o teste em execução será concluído e " +"então os resultados parciais até a interrupção serão relatados. Se você " +"estiver impaciente, um segundo toque no controle C causará uma interrupção " +"imediata." -#: ../../whatsnew/2.7.rst:1859 +#: ../../whatsnew/2.7.rst:1862 msgid "" "This control-C handler tries to avoid causing problems when the code being " "tested or the tests being run have defined a signal handler of their own, by " @@ -3056,449 +3164,480 @@ msgid "" "that can be used to mark tests that should have the control-C handling " "disabled." msgstr "" -"This control-C handler tries to avoid causing problems when the code being " -"tested or the tests being run have defined a signal handler of their own, by " -"noticing that a signal handler was already set and calling it. If this " -"doesn't work for you, there's a :func:`~unittest.removeHandler` decorator " -"that can be used to mark tests that should have the control-C handling " -"disabled." +"Este manipulador de control-C tenta evitar causar problemas quando o código " +"que está sendo testado ou os testes em execução definiram um manipulador de " +"sinal próprio, percebendo que um manipulador de sinal já estava definido e " +"chamando-o. Se isso não funcionar para você, existe um " +"decorador :func:`~unittest.removeHandler` que pode ser usado para marcar " +"testes que devem ter o manuseio de control-C desabilitado." -#: ../../whatsnew/2.7.rst:1866 +#: ../../whatsnew/2.7.rst:1869 msgid "" ":option:`-f ` or :option:`!--failfast` makes test execution " "stop immediately when a test fails instead of continuing to execute further " -"tests. (Suggested by Cliff Dyer and implemented by Michael Foord; :issue:" -"`8074`.)" +"tests. (Suggested by Cliff Dyer and implemented by Michael " +"Foord; :issue:`8074`.)" msgstr "" -":option:`-f ` or :option:`!--failfast` makes test execution " -"stop immediately when a test fails instead of continuing to execute further " -"tests. (Suggested by Cliff Dyer and implemented by Michael Foord; :issue:" -"`8074`.)" +":option:`-f ` ou :option:`!--failfast` faz com que a execução " +"do teste pare imediatamente quando um teste falha, em vez de continuar a " +"executar testes adicionais. (Sugerido por Cliff Dyer e implementado por " +"Michael Foord; :issue:`8074`.)" -#: ../../whatsnew/2.7.rst:1871 +#: ../../whatsnew/2.7.rst:1874 msgid "" "The progress messages now show 'x' for expected failures and 'u' for " "unexpected successes when run in verbose mode. (Contributed by Benjamin " "Peterson.)" msgstr "" -"The progress messages now show 'x' for expected failures and 'u' for " -"unexpected successes when run in verbose mode. (Contributed by Benjamin " -"Peterson.)" +"As mensagens de progresso agora mostram 'x' para falhas esperadas e 'u' para " +"sucessos inesperados quando executadas em modo detalhado. (Contribuição de " +"Benjamin Peterson.)" -#: ../../whatsnew/2.7.rst:1875 +#: ../../whatsnew/2.7.rst:1878 msgid "" "Test cases can raise the :exc:`~unittest.SkipTest` exception to skip a test " "(:issue:`1034053`)." msgstr "" -"Test cases can raise the :exc:`~unittest.SkipTest` exception to skip a test " -"(:issue:`1034053`)." +"Os casos de teste podem levantar a exceção :exc:`~unittest.SkipTest` para " +"pular um teste (:issue:`1034053`)." -#: ../../whatsnew/2.7.rst:1878 +#: ../../whatsnew/2.7.rst:1881 msgid "" -"The error messages for :meth:`~unittest.TestCase.assertEqual`, :meth:" -"`~unittest.TestCase.assertTrue`, and :meth:`~unittest.TestCase.assertFalse` " -"failures now provide more information. If you set the :attr:`~unittest." -"TestCase.longMessage` attribute of your :class:`~unittest.TestCase` classes " -"to true, both the standard error message and any additional message you " -"provide will be printed for failures. (Added by Michael Foord; :issue:" -"`5663`.)" +"The error messages " +"for :meth:`~unittest.TestCase.assertEqual`, :meth:`~unittest.TestCase.assertTrue`, " +"and :meth:`~unittest.TestCase.assertFalse` failures now provide more " +"information. If you set the :attr:`~unittest.TestCase.longMessage` " +"attribute of your :class:`~unittest.TestCase` classes to true, both the " +"standard error message and any additional message you provide will be " +"printed for failures. (Added by Michael Foord; :issue:`5663`.)" msgstr "" -"The error messages for :meth:`~unittest.TestCase.assertEqual`, :meth:" -"`~unittest.TestCase.assertTrue`, and :meth:`~unittest.TestCase.assertFalse` " -"failures now provide more information. If you set the :attr:`~unittest." -"TestCase.longMessage` attribute of your :class:`~unittest.TestCase` classes " -"to true, both the standard error message and any additional message you " -"provide will be printed for failures. (Added by Michael Foord; :issue:" -"`5663`.)" +"As mensagens de erro para " +"falhas :meth:`~unittest.TestCase.assertEqual`, :meth:`~unittest.TestCase.assertTrue` " +"e :meth:`~unittest.TestCase.assertFalse` agora fornecem mais informações. Se " +"você definir o atributo :attr:`~unittest.TestCase.longMessage` de suas " +"classes :class:`~unittest.TestCase` como true, tanto a mensagem de erro " +"padrão quanto qualquer mensagem adicional que você fornecer serão impressas " +"para falhas. (Adição de Michael Foord; :issue:`5663`.)" -#: ../../whatsnew/2.7.rst:1885 +#: ../../whatsnew/2.7.rst:1888 msgid "" "The :meth:`~unittest.TestCase.assertRaises` method now returns a context " "handler when called without providing a callable object to run. For " "example, you can write this::" msgstr "" -"The :meth:`~unittest.TestCase.assertRaises` method now returns a context " -"handler when called without providing a callable object to run. For example, " -"you can write this::" +"O método :meth:`~unittest.TestCase.assertRaises` agora retorna um " +"manipulador de contexto quando chamado sem fornecer um objeto chamável para " +"ser executado. Por exemplo, você pode escrever isto::" -#: ../../whatsnew/2.7.rst:1892 +#: ../../whatsnew/2.7.rst:1895 msgid "(Implemented by Antoine Pitrou; :issue:`4444`.)" -msgstr "(Implemented by Antoine Pitrou; :issue:`4444`.)" +msgstr "(implementação de Antoine Pitrou; :issue:`4444`.)" -#: ../../whatsnew/2.7.rst:1896 +#: ../../whatsnew/2.7.rst:1899 msgid "" "Module- and class-level setup and teardown fixtures are now supported. " -"Modules can contain :func:`~unittest.setUpModule` and :func:`~unittest." -"tearDownModule` functions. Classes can have :meth:`~unittest.TestCase." -"setUpClass` and :meth:`~unittest.TestCase.tearDownClass` methods that must " -"be defined as class methods (using ``@classmethod`` or equivalent). These " -"functions and methods are invoked when the test runner switches to a test " -"case in a different module or class." -msgstr "" -"Module- and class-level setup and teardown fixtures are now supported. " -"Modules can contain :func:`~unittest.setUpModule` and :func:`~unittest." -"tearDownModule` functions. Classes can have :meth:`~unittest.TestCase." -"setUpClass` and :meth:`~unittest.TestCase.tearDownClass` methods that must " -"be defined as class methods (using ``@classmethod`` or equivalent). These " -"functions and methods are invoked when the test runner switches to a test " -"case in a different module or class." - -#: ../../whatsnew/2.7.rst:1904 -msgid "" -"The methods :meth:`~unittest.TestCase.addCleanup` and :meth:`~unittest." -"TestCase.doCleanups` were added. :meth:`~unittest.TestCase.addCleanup` lets " -"you add cleanup functions that will be called unconditionally (after :meth:" -"`~unittest.TestCase.setUp` if :meth:`~unittest.TestCase.setUp` fails, " -"otherwise after :meth:`~unittest.TestCase.tearDown`). This allows for much " -"simpler resource allocation and deallocation during tests (:issue:`5679`)." -msgstr "" -"The methods :meth:`~unittest.TestCase.addCleanup` and :meth:`~unittest." -"TestCase.doCleanups` were added. :meth:`~unittest.TestCase.addCleanup` lets " -"you add cleanup functions that will be called unconditionally (after :meth:" -"`~unittest.TestCase.setUp` if :meth:`~unittest.TestCase.setUp` fails, " -"otherwise after :meth:`~unittest.TestCase.tearDown`). This allows for much " -"simpler resource allocation and deallocation during tests (:issue:`5679`)." - -#: ../../whatsnew/2.7.rst:1912 +"Modules can contain :func:`~unittest.setUpModule` " +"and :func:`~unittest.tearDownModule` functions. Classes can " +"have :meth:`~unittest.TestCase.setUpClass` " +"and :meth:`~unittest.TestCase.tearDownClass` methods that must be defined as " +"class methods (using ``@classmethod`` or equivalent). These functions and " +"methods are invoked when the test runner switches to a test case in a " +"different module or class." +msgstr "" +"Correções de desmontagem e configuração em nível de módulo e classe agora " +"são suportados. Os módulos podem conter " +"funções :func:`~unittest.setUpModule` e :func:`~unittest.tearDownModule`. As " +"classes podem ter métodos :meth:`~unittest.TestCase.setUpClass` " +"e :meth:`~unittest.TestCase.tearDownClass` que devem ser definidos como " +"métodos de classe (usando ``@classmethod`` ou equivalente). Essas funções e " +"métodos são invocados quando o executor de teste alterna para um caso de " +"teste em um módulo ou classe diferente." + +#: ../../whatsnew/2.7.rst:1907 +msgid "" +"The methods :meth:`~unittest.TestCase.addCleanup` " +"and :meth:`~unittest.TestCase.doCleanups` were " +"added. :meth:`~unittest.TestCase.addCleanup` lets you add cleanup functions " +"that will be called unconditionally (after :meth:`~unittest.TestCase.setUp` " +"if :meth:`~unittest.TestCase.setUp` fails, otherwise " +"after :meth:`~unittest.TestCase.tearDown`). This allows for much simpler " +"resource allocation and deallocation during tests (:issue:`5679`)." +msgstr "" +"Os métodos :meth:`~unittest.TestCase.addCleanup` " +"e :meth:`~unittest.TestCase.doCleanups` foram " +"adicionados. :meth:`~unittest.TestCase.addCleanup` permite adicionar funções " +"de limpeza que serão chamadas incondicionalmente " +"(após :meth:`~unittest.TestCase.setUp` se :meth:`~unittest.TestCase.setUp` " +"falhar, caso contrário, após :meth:`~unittest.TestCase.tearDown`). Isso " +"permite uma alocação e desalocação de recursos muito mais simples durante os " +"testes (:issue:`5679`)." + +#: ../../whatsnew/2.7.rst:1915 msgid "" "A number of new methods were added that provide more specialized tests. " "Many of these methods were written by Google engineers for use in their test " "suites; Gregory P. Smith, Michael Foord, and GvR worked on merging them into " "Python's version of :mod:`unittest`." msgstr "" -"A number of new methods were added that provide more specialized tests. Many " -"of these methods were written by Google engineers for use in their test " -"suites; Gregory P. Smith, Michael Foord, and GvR worked on merging them into " -"Python's version of :mod:`unittest`." +"Foram adicionados vários novos métodos que fornecem testes mais " +"especializados. Muitos desses métodos foram escritos por engenheiros do " +"Google para uso em seus conjuntos de testes; Gregory P. Smith, Michael Foord " +"e GvR trabalharam na fusão deles na versão Python de :mod:`unittest`." -#: ../../whatsnew/2.7.rst:1917 +#: ../../whatsnew/2.7.rst:1920 msgid "" -":meth:`~unittest.TestCase.assertIsNone` and :meth:`~unittest.TestCase." -"assertIsNotNone` take one expression and verify that the result is or is not " -"``None``." +":meth:`~unittest.TestCase.assertIsNone` " +"and :meth:`~unittest.TestCase.assertIsNotNone` take one expression and " +"verify that the result is or is not ``None``." msgstr "" -":meth:`~unittest.TestCase.assertIsNone` and :meth:`~unittest.TestCase." -"assertIsNotNone` take one expression and verify that the result is or is not " -"``None``." +":meth:`~unittest.TestCase.assertIsNone` " +"e :meth:`~unittest.TestCase.assertIsNotNone` pegam uma expressão e verificam " +"se o resultado é ou não ``None``." -#: ../../whatsnew/2.7.rst:1920 +#: ../../whatsnew/2.7.rst:1923 msgid "" -":meth:`~unittest.TestCase.assertIs` and :meth:`~unittest.TestCase." -"assertIsNot` take two values and check whether the two values evaluate to " -"the same object or not. (Added by Michael Foord; :issue:`2578`.)" +":meth:`~unittest.TestCase.assertIs` " +"and :meth:`~unittest.TestCase.assertIsNot` take two values and check whether " +"the two values evaluate to the same object or not. (Added by Michael " +"Foord; :issue:`2578`.)" msgstr "" -":meth:`~unittest.TestCase.assertIs` and :meth:`~unittest.TestCase." -"assertIsNot` take two values and check whether the two values evaluate to " -"the same object or not. (Added by Michael Foord; :issue:`2578`.)" +":meth:`~unittest.TestCase.assertIs` e :meth:`~unittest.TestCase.assertIsNot` " +"pegam dois valores e verificam se os dois valores são avaliados como o mesmo " +"objeto ou não. (Adicionado por Michael Foord; :issue:`2578`.)" -#: ../../whatsnew/2.7.rst:1924 +#: ../../whatsnew/2.7.rst:1927 msgid "" -":meth:`~unittest.TestCase.assertIsInstance` and :meth:`~unittest.TestCase." -"assertNotIsInstance` check whether the resulting object is an instance of a " -"particular class, or of one of a tuple of classes. (Added by Georg Brandl; :" -"issue:`7031`.)" +":meth:`~unittest.TestCase.assertIsInstance` " +"and :meth:`~unittest.TestCase.assertNotIsInstance` check whether the " +"resulting object is an instance of a particular class, or of one of a tuple " +"of classes. (Added by Georg Brandl; :issue:`7031`.)" msgstr "" -":meth:`~unittest.TestCase.assertIsInstance` and :meth:`~unittest.TestCase." -"assertNotIsInstance` check whether the resulting object is an instance of a " -"particular class, or of one of a tuple of classes. (Added by Georg Brandl; :" -"issue:`7031`.)" +":meth:`~unittest.TestCase.assertIsInstance` " +"e :meth:`~unittest.TestCase.assertNotIsInstance` verificam se o objeto " +"resultante é uma instância de uma classe específica ou de uma tupla de " +"classes. (Adicionado por Georg Brandl; :issue:`7031`.)" -#: ../../whatsnew/2.7.rst:1929 +#: ../../whatsnew/2.7.rst:1932 msgid "" -":meth:`~unittest.TestCase.assertGreater`, :meth:`~unittest.TestCase." -"assertGreaterEqual`, :meth:`~unittest.TestCase.assertLess`, and :meth:" -"`~unittest.TestCase.assertLessEqual` compare two quantities." +":meth:`~unittest.TestCase.assertGreater`, :meth:`~unittest.TestCase.assertGreaterEqual`, :meth:`~unittest.TestCase.assertLess`, " +"and :meth:`~unittest.TestCase.assertLessEqual` compare two quantities." msgstr "" -":meth:`~unittest.TestCase.assertGreater`, :meth:`~unittest.TestCase." -"assertGreaterEqual`, :meth:`~unittest.TestCase.assertLess`, and :meth:" -"`~unittest.TestCase.assertLessEqual` compare two quantities." +":meth:`~unittest.TestCase.assertGreater`, :meth:`~unittest.TestCase.assertGreaterEqual`, :meth:`~unittest.TestCase.assertLess`, " +"e :meth:`~unittest.TestCase.assertLessEqual` comparam duas quantidades." -#: ../../whatsnew/2.7.rst:1933 +#: ../../whatsnew/2.7.rst:1936 msgid "" ":meth:`~unittest.TestCase.assertMultiLineEqual` compares two strings, and if " "they're not equal, displays a helpful comparison that highlights the " "differences in the two strings. This comparison is now used by default when " "Unicode strings are compared with :meth:`~unittest.TestCase.assertEqual`." msgstr "" -":meth:`~unittest.TestCase.assertMultiLineEqual` compares two strings, and if " -"they're not equal, displays a helpful comparison that highlights the " -"differences in the two strings. This comparison is now used by default when " -"Unicode strings are compared with :meth:`~unittest.TestCase.assertEqual`." +":meth:`~unittest.TestCase.assertMultiLineEqual` compara duas strings e, se " +"não forem iguais, exibe uma comparação útil que destaca as diferenças nas " +"duas strings. Esta comparação agora é usada por padrão quando strings " +"Unicode são comparadas com :meth:`~unittest.TestCase.assertEqual`." -#: ../../whatsnew/2.7.rst:1938 +#: ../../whatsnew/2.7.rst:1941 msgid "" -":meth:`~unittest.TestCase.assertRegexpMatches` and :meth:`~unittest.TestCase." -"assertNotRegexpMatches` checks whether the first argument is a string " -"matching or not matching the regular expression provided as the second " -"argument (:issue:`8038`)." +":meth:`assertRegexpMatches() ` " +"and :meth:`assertNotRegexpMatches() ` " +"checks whether the first argument is a string matching or not matching the " +"regular expression provided as the second argument (:issue:`8038`)." msgstr "" -":meth:`~unittest.TestCase.assertRegexpMatches` and :meth:`~unittest.TestCase." -"assertNotRegexpMatches` checks whether the first argument is a string " -"matching or not matching the regular expression provided as the second " -"argument (:issue:`8038`)." +":meth:`assertRegexpMatches() ` " +"e :meth:`assertNotRegexpMatches() ` " +"verificam se o primeiro argumento é uma string que corresponde ou não à " +"expressão regular fornecida como o segundo argumento (:issue:`8038`)." -#: ../../whatsnew/2.7.rst:1943 +#: ../../whatsnew/2.7.rst:1946 msgid "" -":meth:`~unittest.TestCase.assertRaisesRegexp` checks whether a particular " -"exception is raised, and then also checks that the string representation of " -"the exception matches the provided regular expression." +":meth:`assertRaisesRegexp() ` checks " +"whether a particular exception is raised, and then also checks that the " +"string representation of the exception matches the provided regular " +"expression." msgstr "" -":meth:`~unittest.TestCase.assertRaisesRegexp` checks whether a particular " -"exception is raised, and then also checks that the string representation of " -"the exception matches the provided regular expression." +":meth:`assertRaisesRegexp() ` verifica " +"se uma exceção específica foi levantada e também verifica se a representação " +"da string da exceção corresponde à expressão regular fornecida." -#: ../../whatsnew/2.7.rst:1947 +#: ../../whatsnew/2.7.rst:1951 msgid "" -":meth:`~unittest.TestCase.assertIn` and :meth:`~unittest.TestCase." -"assertNotIn` tests whether *first* is or is not in *second*." +":meth:`~unittest.TestCase.assertIn` " +"and :meth:`~unittest.TestCase.assertNotIn` tests whether *first* is or is " +"not in *second*." msgstr "" -":meth:`~unittest.TestCase.assertIn` and :meth:`~unittest.TestCase." -"assertNotIn` tests whether *first* is or is not in *second*." +":meth:`~unittest.TestCase.assertIn` e :meth:`~unittest.TestCase.assertNotIn` " +"testa se *primeiro* está ou não em *segundo*." -#: ../../whatsnew/2.7.rst:1950 +#: ../../whatsnew/2.7.rst:1954 msgid "" -":meth:`~unittest.TestCase.assertItemsEqual` tests whether two provided " -"sequences contain the same elements." +":meth:`assertItemsEqual() ` tests " +"whether two provided sequences contain the same elements." msgstr "" -":meth:`~unittest.TestCase.assertItemsEqual` tests whether two provided " -"sequences contain the same elements." +":meth:`assertItemsEqual() ` testa se " +"duas sequências fornecidas contêm os mesmos elementos." -#: ../../whatsnew/2.7.rst:1953 +#: ../../whatsnew/2.7.rst:1957 msgid "" ":meth:`~unittest.TestCase.assertSetEqual` compares whether two sets are " "equal, and only reports the differences between the sets in case of error." msgstr "" -":meth:`~unittest.TestCase.assertSetEqual` compares whether two sets are " -"equal, and only reports the differences between the sets in case of error." +":meth:`~unittest.TestCase.assertSetEqual` compara se dois conjuntos são " +"iguais e apenas relata as diferenças entre os conjuntos em caso de erro." -#: ../../whatsnew/2.7.rst:1956 +#: ../../whatsnew/2.7.rst:1960 msgid "" -"Similarly, :meth:`~unittest.TestCase.assertListEqual` and :meth:`~unittest." -"TestCase.assertTupleEqual` compare the specified types and explain any " -"differences without necessarily printing their full values; these methods " -"are now used by default when comparing lists and tuples using :meth:" -"`~unittest.TestCase.assertEqual`. More generally, :meth:`~unittest.TestCase." -"assertSequenceEqual` compares two sequences and can optionally check whether " -"both sequences are of a particular type." +"Similarly, :meth:`~unittest.TestCase.assertListEqual` " +"and :meth:`~unittest.TestCase.assertTupleEqual` compare the specified types " +"and explain any differences without necessarily printing their full values; " +"these methods are now used by default when comparing lists and tuples " +"using :meth:`~unittest.TestCase.assertEqual`. More " +"generally, :meth:`~unittest.TestCase.assertSequenceEqual` compares two " +"sequences and can optionally check whether both sequences are of a " +"particular type." msgstr "" -"Similarly, :meth:`~unittest.TestCase.assertListEqual` and :meth:`~unittest." -"TestCase.assertTupleEqual` compare the specified types and explain any " -"differences without necessarily printing their full values; these methods " -"are now used by default when comparing lists and tuples using :meth:" -"`~unittest.TestCase.assertEqual`. More generally, :meth:`~unittest.TestCase." -"assertSequenceEqual` compares two sequences and can optionally check whether " -"both sequences are of a particular type." +"Da mesma forma, :meth:`~unittest.TestCase.assertListEqual` " +"e :meth:`~unittest.TestCase.assertTupleEqual` comparam os tipos " +"especificados e explicam quaisquer diferenças sem necessariamente imprimir " +"seus valores completos; esses métodos agora são usados por padrão ao " +"comparar listas e tuplas usando :meth:`~unittest.TestCase.assertEqual`. De " +"forma mais geral, :meth:`~unittest.TestCase.assertSequenceEqual` compara " +"duas sequências e pode opcionalmente verificar se ambas as sequências são de " +"um tipo específico." -#: ../../whatsnew/2.7.rst:1964 +#: ../../whatsnew/2.7.rst:1968 msgid "" ":meth:`~unittest.TestCase.assertDictEqual` compares two dictionaries and " "reports the differences; it's now used by default when you compare two " -"dictionaries using :meth:`~unittest.TestCase.assertEqual`. :meth:`~unittest." -"TestCase.assertDictContainsSubset` checks whether all of the key/value pairs " -"in *first* are found in *second*." -msgstr "" -":meth:`~unittest.TestCase.assertDictEqual` compares two dictionaries and " -"reports the differences; it's now used by default when you compare two " -"dictionaries using :meth:`~unittest.TestCase.assertEqual`. :meth:`~unittest." -"TestCase.assertDictContainsSubset` checks whether all of the key/value pairs " -"in *first* are found in *second*." +"dictionaries using :meth:`~unittest.TestCase.assertEqual`. :meth:`!" +"assertDictContainsSubset` checks whether all of the key/value pairs in " +"*first* are found in *second*." +msgstr "" +":meth:`~unittest.TestCase.assertDictEqual` compara dois dicionários e relata " +"as diferenças; agora é usado por padrão quando você compara dois dicionários " +"usando :meth:`~unittest.TestCase.assertEqual`. :meth:`!" +"assertDictContainsSubset` verifica se todos os pares chave/valor em *first* " +"são encontrados em *second*." + +#: ../../whatsnew/2.7.rst:1973 +msgid "" +":meth:`~unittest.TestCase.assertAlmostEqual` " +"and :meth:`~unittest.TestCase.assertNotAlmostEqual` test whether *first* and " +"*second* are approximately equal. This method can either round their " +"difference to an optionally specified number of *places* (the default is 7) " +"and compare it to zero, or require the difference to be smaller than a " +"supplied *delta* value." +msgstr "" +":meth:`~unittest.TestCase.assertAlmostEqual` " +"e :meth:`~unittest.TestCase.assertNotAlmostEqual` testam se *first* e " +"*second* são aproximadamente iguais. Este método pode arredondar a diferença " +"para um número opcionalmente especificado de *places* (o padrão é 7) e " +"compará-lo com zero, ou exigir que a diferença seja menor que um valor " +"*delta* fornecido." -#: ../../whatsnew/2.7.rst:1969 +#: ../../whatsnew/2.7.rst:1979 msgid "" -":meth:`~unittest.TestCase.assertAlmostEqual` and :meth:`~unittest.TestCase." -"assertNotAlmostEqual` test whether *first* and *second* are approximately " -"equal. This method can either round their difference to an optionally " -"specified number of *places* (the default is 7) and compare it to zero, or " -"require the difference to be smaller than a supplied *delta* value." +":meth:`~unittest.TestLoader.loadTestsFromName` properly honors " +"the :attr:`~unittest.TestLoader.suiteClass` attribute of " +"the :class:`~unittest.TestLoader`. (Fixed by Mark Roddy; :issue:`6866`.)" msgstr "" +":meth:`~unittest.TestLoader.loadTestsFromName` respeita corretamente o " +"atributo :attr:`~unittest.TestLoader.suiteClass` " +"do :class:`~unittest.TestLoader`. (Correção de Mark Roddy; :issue:`6866`.)" -#: ../../whatsnew/2.7.rst:1975 +#: ../../whatsnew/2.7.rst:1983 msgid "" -":meth:`~unittest.TestLoader.loadTestsFromName` properly honors the :attr:" -"`~unittest.TestLoader.suiteClass` attribute of the :class:`~unittest." -"TestLoader`. (Fixed by Mark Roddy; :issue:`6866`.)" -msgstr "" -":meth:`~unittest.TestLoader.loadTestsFromName` properly honors the :attr:" -"`~unittest.TestLoader.suiteClass` attribute of the :class:`~unittest." -"TestLoader`. (Fixed by Mark Roddy; :issue:`6866`.)" +"A new hook lets you extend the :meth:`~unittest.TestCase.assertEqual` method " +"to handle new data types. " +"The :meth:`~unittest.TestCase.addTypeEqualityFunc` method takes a type " +"object and a function. The function will be used when both of the objects " +"being compared are of the specified type. This function should compare the " +"two objects and raise an exception if they don't match; it's a good idea for " +"the function to provide additional information about why the two objects " +"aren't matching, much as the new sequence comparison methods do." +msgstr "" +"Um novo gancho permite estender o " +"método :meth:`~unittest.TestCase.assertEqual` para lidar com novos tipos de " +"dados. O método :meth:`~unittest.TestCase.addTypeEqualityFunc` leva um " +"objeto de tipo e uma função. A função será usada quando ambos os objetos " +"comparados forem do tipo especificado. Esta função deve comparar os dois " +"objetos e gerar uma exceção se eles não corresponderem; é uma boa ideia que " +"a função forneça informações adicionais sobre por que os dois objetos não " +"correspondem, assim como fazem os novos métodos de comparação de sequências." + +#: ../../whatsnew/2.7.rst:1992 +msgid "" +":func:`unittest.main` now takes an optional ``exit`` argument. If " +"false, :func:`~unittest.main` doesn't call :func:`sys.exit`, " +"allowing :func:`~unittest.main` to be used from the interactive interpreter. " +"(Contributed by J. Pablo Fernández; :issue:`3379`.)" +msgstr "" +":func:`unittest.main` agora recebe um argumento ``exit`` opcional. Se for " +"falso, :func:`~unittest.main` não chama :func:`sys.exit`, permitindo " +"que :func:`~unittest.main` seja usado a partir do interpretador interativo. " +"(Contribuição de J. Pablo Fernández; :issue:`3379`.)" -#: ../../whatsnew/2.7.rst:1979 +#: ../../whatsnew/2.7.rst:1997 msgid "" -"A new hook lets you extend the :meth:`~unittest.TestCase.assertEqual` method " -"to handle new data types. The :meth:`~unittest.TestCase." -"addTypeEqualityFunc` method takes a type object and a function. The function " -"will be used when both of the objects being compared are of the specified " -"type. This function should compare the two objects and raise an exception " -"if they don't match; it's a good idea for the function to provide additional " -"information about why the two objects aren't matching, much as the new " -"sequence comparison methods do." -msgstr "" -"A new hook lets you extend the :meth:`~unittest.TestCase.assertEqual` method " -"to handle new data types. The :meth:`~unittest.TestCase.addTypeEqualityFunc` " -"method takes a type object and a function. The function will be used when " -"both of the objects being compared are of the specified type. This function " -"should compare the two objects and raise an exception if they don't match; " -"it's a good idea for the function to provide additional information about " -"why the two objects aren't matching, much as the new sequence comparison " -"methods do." - -#: ../../whatsnew/2.7.rst:1988 -msgid "" -":func:`unittest.main` now takes an optional ``exit`` argument. If false, :" -"func:`~unittest.main` doesn't call :func:`sys.exit`, allowing :func:" -"`~unittest.main` to be used from the interactive interpreter. (Contributed " -"by J. Pablo Fernández; :issue:`3379`.)" -msgstr "" -":func:`unittest.main` now takes an optional ``exit`` argument. If false, :" -"func:`~unittest.main` doesn't call :func:`sys.exit`, allowing :func:" -"`~unittest.main` to be used from the interactive interpreter. (Contributed " -"by J. Pablo Fernández; :issue:`3379`.)" - -#: ../../whatsnew/2.7.rst:1993 -msgid "" -":class:`~unittest.TestResult` has new :meth:`~unittest.TestResult." -"startTestRun` and :meth:`~unittest.TestResult.stopTestRun` methods that are " -"called immediately before and after a test run. (Contributed by Robert " +":class:`~unittest.TestResult` has " +"new :meth:`~unittest.TestResult.startTestRun` " +"and :meth:`~unittest.TestResult.stopTestRun` methods that are called " +"immediately before and after a test run. (Contributed by Robert " "Collins; :issue:`5728`.)" msgstr "" -":class:`~unittest.TestResult` has new :meth:`~unittest.TestResult." -"startTestRun` and :meth:`~unittest.TestResult.stopTestRun` methods that are " -"called immediately before and after a test run. (Contributed by Robert " +":class:`~unittest.TestResult` tem novos " +"métodos :meth:`~unittest.TestResult.startTestRun` " +"e :meth:`~unittest.TestResult.stopTestRun` que são chamados imediatamente " +"antes e depois de uma execução de teste. (Contribuição de Robert " "Collins; :issue:`5728`.)" -#: ../../whatsnew/2.7.rst:1997 +#: ../../whatsnew/2.7.rst:2001 msgid "" "With all these changes, the :file:`unittest.py` was becoming awkwardly " "large, so the module was turned into a package and the code split into " "several files (by Benjamin Peterson). This doesn't affect how the module is " "imported or used." msgstr "" -"With all these changes, the :file:`unittest.py` was becoming awkwardly " -"large, so the module was turned into a package and the code split into " -"several files (by Benjamin Peterson). This doesn't affect how the module is " -"imported or used." +"Com todas essas mudanças, o :file:`unittest.py` estava ficando estranhamente " +"grande, então o módulo foi transformado em um pacote e o código dividido em " +"vários arquivos (por Benjamin Peterson). Isso não afeta como o módulo é " +"importado ou usado." -#: ../../whatsnew/2.7.rst:2005 +#: ../../whatsnew/2.7.rst:2009 msgid "" "https://web.archive.org/web/20210619163128/http://www.voidspace.org.uk/" "python/articles/unittest2.shtml" msgstr "" +"https://web.archive.org/web/20210619163128/http://www.voidspace.org.uk/" +"python/articles/unittest2.shtml" -#: ../../whatsnew/2.7.rst:2005 +#: ../../whatsnew/2.7.rst:2009 msgid "" "Describes the new features, how to use them, and the rationale for various " "design decisions. (By Michael Foord.)" msgstr "" -"Describes the new features, how to use them, and the rationale for various " -"design decisions. (By Michael Foord.)" +"Descreve os novos recursos, como usá-los e a justificativa para diversas " +"decisões de design. (Por Michael Foord.)" -#: ../../whatsnew/2.7.rst:2011 +#: ../../whatsnew/2.7.rst:2015 msgid "Updated module: ElementTree 1.3" -msgstr "Updated module: ElementTree 1.3" +msgstr "Módulo atualizado: ElementTree 1.3" -#: ../../whatsnew/2.7.rst:2013 +#: ../../whatsnew/2.7.rst:2017 msgid "" "The version of the ElementTree library included with Python was updated to " "version 1.3. Some of the new features are:" msgstr "" -"The version of the ElementTree library included with Python was updated to " -"version 1.3. Some of the new features are:" +"A versão da biblioteca ElementTree incluída no Python foi atualizada para a " +"versão 1.3. Alguns dos novos recursos são:" -#: ../../whatsnew/2.7.rst:2016 +#: ../../whatsnew/2.7.rst:2020 msgid "" "The various parsing functions now take a *parser* keyword argument giving " "an :class:`~xml.etree.ElementTree.XMLParser` instance that will be used. " "This makes it possible to override the file's internal encoding::" msgstr "" -"The various parsing functions now take a *parser* keyword argument giving " -"an :class:`~xml.etree.ElementTree.XMLParser` instance that will be used. " -"This makes it possible to override the file's internal encoding::" +"As várias funções de análise agora recebem um argumento nomeado *parser* " +"fornecendo uma instância :class:`~xml.etree.ElementTree.XMLParser` que será " +"usada. Isso torna possível substituir a codificação interna do arquivo::" -#: ../../whatsnew/2.7.rst:2023 +#: ../../whatsnew/2.7.rst:2027 msgid "" -"Errors in parsing XML now raise a :exc:`ParseError` exception, whose " -"instances have a :attr:`position` attribute containing a (*line*, *column*) " -"tuple giving the location of the problem." +"Errors in parsing XML now raise a :exc:`~xml.etree.ElementTree.ParseError` " +"exception, whose instances have a :attr:`!position` attribute containing a " +"(*line*, *column*) tuple giving the location of the problem." msgstr "" -"Errors in parsing XML now raise a :exc:`ParseError` exception, whose " -"instances have a :attr:`position` attribute containing a (*line*, *column*) " -"tuple giving the location of the problem." +"Erros na análise de XML agora levantam uma " +"exceção :exc:`~xml.etree.ElementTree.ParseError`, cujas instâncias possuem " +"um atributo :attr:`!position` contendo uma tupla (*linha*, *coluna*) " +"fornecendo a localização do problema." -#: ../../whatsnew/2.7.rst:2027 +#: ../../whatsnew/2.7.rst:2031 msgid "" "ElementTree's code for converting trees to a string has been significantly " -"reworked, making it roughly twice as fast in many cases. The :meth:" -"`ElementTree.write() ` and :meth:" -"`Element.write` methods now have a *method* parameter that can be " +"reworked, making it roughly twice as fast in many cases. " +"The :meth:`ElementTree.write() ` " +"and :meth:`Element.write` methods now have a *method* parameter that can be " "\"xml\" (the default), \"html\", or \"text\". HTML mode will output empty " "elements as ```` instead of ````, and text mode will " -"skip over elements and only output the text chunks. If you set the :attr:" -"`tag` attribute of an element to ``None`` but leave its children in place, " -"the element will be omitted when the tree is written out, so you don't need " -"to do more extensive rearrangement to remove a single element." -msgstr "" -"ElementTree's code for converting trees to a string has been significantly " -"reworked, making it roughly twice as fast in many cases. The :meth:" -"`ElementTree.write() ` and :meth:" -"`Element.write` methods now have a *method* parameter that can be " -"\"xml\" (the default), \"html\", or \"text\". HTML mode will output empty " -"elements as ```` instead of ````, and text mode will " -"skip over elements and only output the text chunks. If you set the :attr:" -"`tag` attribute of an element to ``None`` but leave its children in place, " -"the element will be omitted when the tree is written out, so you don't need " -"to do more extensive rearrangement to remove a single element." - -#: ../../whatsnew/2.7.rst:2039 +"skip over elements and only output the text chunks. If you set " +"the :attr:`~xml.etree.ElementTree.Element.tag` attribute of an element to " +"``None`` but leave its children in place, the element will be omitted when " +"the tree is written out, so you don't need to do more extensive " +"rearrangement to remove a single element." +msgstr "" +"O código do ElementTree para converter árvores em strings foi " +"significativamente reformulado, tornando-o aproximadamente duas vezes mais " +"rápido em muitos casos. Os métodos :meth:`ElementTree.write() " +"` e :meth:`Element.write` agora " +"possuem um parâmetro *method* que pode ser \"xml\" (o padrão), \"html\" ou " +"\"text\". O modo HTML produzirá elementos vazios como ```` em " +"vez de ````, e o modo texto irá pular os elementos e exibir apenas " +"os pedaços de texto. Se você definir o " +"atributo :attr:`~xml.etree.ElementTree.Element.tag` de um elemento como " +"``None`` mas deixar seus filhos no lugar, o elemento será omitido quando a " +"árvore for escrita, então você não precisa fazer um rearranjo mais extenso " +"para remover um único elemento." + +#: ../../whatsnew/2.7.rst:2044 msgid "" "Namespace handling has also been improved. All ``xmlns:`` " "declarations are now output on the root element, not scattered throughout " "the resulting XML. You can set the default namespace for a tree by setting " -"the :attr:`default_namespace` attribute and can register new prefixes with :" -"meth:`~xml.etree.ElementTree.register_namespace`. In XML mode, you can use " -"the true/false *xml_declaration* parameter to suppress the XML declaration." -msgstr "" -"Namespace handling has also been improved. All ``xmlns:`` " -"declarations are now output on the root element, not scattered throughout " -"the resulting XML. You can set the default namespace for a tree by setting " -"the :attr:`default_namespace` attribute and can register new prefixes with :" -"meth:`~xml.etree.ElementTree.register_namespace`. In XML mode, you can use " -"the true/false *xml_declaration* parameter to suppress the XML declaration." - -#: ../../whatsnew/2.7.rst:2047 -msgid "" -"New :class:`~xml.etree.ElementTree.Element` method: :meth:`~xml.etree." -"ElementTree.Element.extend` appends the items from a sequence to the " -"element's children. Elements themselves behave like sequences, so it's easy " -"to move children from one element to another::" -msgstr "" -"New :class:`~xml.etree.ElementTree.Element` method: :meth:`~xml.etree." -"ElementTree.Element.extend` appends the items from a sequence to the " -"element's children. Elements themselves behave like sequences, so it's easy " -"to move children from one element to another::" - -#: ../../whatsnew/2.7.rst:2064 -msgid "" -"New :class:`Element` method: :meth:`~xml.etree.ElementTree.Element.iter` " -"yields the children of the element as a generator. It's also possible to " -"write ``for child in elem:`` to loop over an element's children. The " -"existing method :meth:`getiterator` is now deprecated, as is :meth:" -"`getchildren` which constructs and returns a list of children." -msgstr "" -"New :class:`Element` method: :meth:`~xml.etree.ElementTree.Element.iter` " -"yields the children of the element as a generator. It's also possible to " -"write ``for child in elem:`` to loop over an element's children. The " -"existing method :meth:`getiterator` is now deprecated, as is :meth:" -"`getchildren` which constructs and returns a list of children." - -#: ../../whatsnew/2.7.rst:2071 -msgid "" -"New :class:`Element` method: :meth:`~xml.etree.ElementTree.Element.itertext` " -"yields all chunks of text that are descendants of the element. For example::" -msgstr "" -"New :class:`Element` method: :meth:`~xml.etree.ElementTree.Element.itertext` " -"yields all chunks of text that are descendants of the element. For example::" - -#: ../../whatsnew/2.7.rst:2082 +"the :attr:`default_namespace` attribute and can register new prefixes " +"with :meth:`~xml.etree.ElementTree.register_namespace`. In XML mode, you " +"can use the true/false *xml_declaration* parameter to suppress the XML " +"declaration." +msgstr "" +"O tratamento de espaço de nomes também foi melhorado. Todas as declarações " +"``xmlns:`` agora são geradas no elemento raiz, não espalhadas " +"pelo XML resultante. Você pode definir o espaço de nomes padrão para uma " +"árvore definindo o atributo :attr:`default_namespace` e pode registrar novos " +"prefixos com :meth:`~xml.etree.ElementTree.register_namespace`. No modo XML, " +"você pode usar o parâmetro verdadeiro/falso *xml_declaration* para suprimir " +"a declaração XML." + +#: ../../whatsnew/2.7.rst:2052 +msgid "" +"New :class:`~xml.etree.ElementTree.Element` " +"method: :meth:`~xml.etree.ElementTree.Element.extend` appends the items from " +"a sequence to the element's children. Elements themselves behave like " +"sequences, so it's easy to move children from one element to another::" +msgstr "" +"Novo " +"método :class:`~xml.etree.ElementTree.Element`: :meth:`~xml.etree.ElementTree.Element.extend` " +"anexa os itens de uma sequência aos filhos do elemento. Os próprios " +"elementos se comportam como sequências, por isso é fácil mover os filhos de " +"um elemento para outro::" + +#: ../../whatsnew/2.7.rst:2069 +msgid "" +"New :class:`~xml.etree.ElementTree.Element` " +"method: :meth:`~xml.etree.ElementTree.Element.iter` yields the children of " +"the element as a generator. It's also possible to write ``for child in " +"elem:`` to loop over an element's children. The existing method :meth:`!" +"getiterator` is now deprecated, as is :meth:`!getchildren` which constructs " +"and returns a list of children." +msgstr "" +"Novo " +"método :class:`~xml.etree.ElementTree.Element`: :meth:`~xml.etree.ElementTree.Element.iter` " +"produz os filhos do elemento como um gerador. Também é possível escrever " +"``for child in elem:`` para percorrer os filhos de um elemento. O método " +"existente :meth:`!getiterator` agora está descontinuado, assim como :meth:`!" +"getchildren` que constrói e retorna uma lista de filhos." + +#: ../../whatsnew/2.7.rst:2076 +msgid "" +"New :class:`~xml.etree.ElementTree.Element` " +"method: :meth:`~xml.etree.ElementTree.Element.itertext` yields all chunks of " +"text that are descendants of the element. For example::" +msgstr "" +"Novo " +"método :class:`~xml.etree.ElementTree.Element`: :meth:`~xml.etree.ElementTree.Element.itertext` " +"produz todos os pedaços de texto que são descendentes do elemento. Por " +"exemplo::" + +#: ../../whatsnew/2.7.rst:2087 msgid "" "Deprecated: using an element as a Boolean (i.e., ``if elem:``) would return " "true if the element had any children, or false if there were no children. " @@ -3507,31 +3646,36 @@ msgid "" "you should be explicit: write ``len(elem) != 0`` if you're interested in the " "number of children, or ``elem is not None``." msgstr "" -"Deprecated: using an element as a Boolean (i.e., ``if elem:``) would return " -"true if the element had any children, or false if there were no children. " -"This behaviour is confusing -- ``None`` is false, but so is a childless " -"element? -- so it will now trigger a :exc:`FutureWarning`. In your code, you " -"should be explicit: write ``len(elem) != 0`` if you're interested in the " -"number of children, or ``elem is not None``." +"Descontinuado: usar um elemento como booleano (ou seja, ``if elem:``) " +"retornaria verdadeiro se o elemento tivesse algum filho, ou falso se não " +"houvesse nenhum filho. Este comportamento é confuso -- ``None`` é falso, mas " +"um elemento sem filhos também o é? -- então agora irá acionar " +"um :exc:`FutureWarning`. Em seu código, você deve ser explícito: escreva " +"``len(elem) != 0`` se estiver interessado no número de filhos, ou ``elem is " +"not None``." -#: ../../whatsnew/2.7.rst:2090 +#: ../../whatsnew/2.7.rst:2095 msgid "" "Fredrik Lundh develops ElementTree and produced the 1.3 version; you can " -"read his article describing 1.3 at https://web.archive.org/" -"web/20200703234532/http://effbot.org/zone/elementtree-13-intro.htm. Florent " +"read his article describing 1.3 at https://web.archive.org/web/" +"20200703234532/http://effbot.org/zone/elementtree-13-intro.htm. Florent " "Xicluna updated the version included with Python, after discussions on " "python-dev and in :issue:`6472`.)" msgstr "" +"Fredrik Lundh desenvolve ElementTree e produziu a versão 1.3; você pode ler " +"o artigo dele descrevendo 1.3 em https://web.archive.org/web/20200703234532/" +"http://effbot.org/zone/elementtree-13-intro.htm. Florent Xicluna atualizou a " +"versão incluída no Python, após discussões em python-dev e em :issue:`6472`.)" -#: ../../whatsnew/2.7.rst:2100 +#: ../../whatsnew/2.7.rst:2105 msgid "Build and C API Changes" -msgstr "Alterações a compilações e API C" +msgstr "Mudanças a construções e API C" -#: ../../whatsnew/2.7.rst:2102 +#: ../../whatsnew/2.7.rst:2107 msgid "Changes to Python's build process and to the C API include:" -msgstr "Changes to Python's build process and to the C API include:" +msgstr "As alterações no processo de construção do Python e na API C incluem:" -#: ../../whatsnew/2.7.rst:2104 +#: ../../whatsnew/2.7.rst:2109 msgid "" "The latest release of the GNU Debugger, GDB 7, can be `scripted using Python " "`__. Quando você " +"começa a depurar um programa executável P, o GDB irá procurar por um arquivo " +"chamado ``P-gdb.py`` e lê-lo automaticamente. Dave Malcolm contribuiu com " +"um :file:`python-gdb.py` que adiciona vários comandos úteis ao depurar o " +"próprio Python. Por exemplo, ``py-up`` e ``py-down`` sobem ou descem um " +"quadro de pilha Python, que geralmente corresponde a vários quadros de pilha " +"C. ``py-print`` imprime o valor de uma variável Python e ``py-bt`` imprime o " +"stack trace do Python. (Adicionado como resultado de :issue:`8032`.)" -#: ../../whatsnew/2.7.rst:2116 +#: ../../whatsnew/2.7.rst:2121 msgid "" "If you use the :file:`.gdbinit` file provided with Python, the \"pyo\" macro " "in the 2.7 version now works correctly when the thread being debugged " "doesn't hold the GIL; the macro now acquires it before printing. " "(Contributed by Victor Stinner; :issue:`3632`.)" msgstr "" -"If you use the :file:`.gdbinit` file provided with Python, the \"pyo\" macro " -"in the 2.7 version now works correctly when the thread being debugged " -"doesn't hold the GIL; the macro now acquires it before printing. " -"(Contributed by Victor Stinner; :issue:`3632`.)" +"Se você usar o arquivo :file:`.gdbinit` fornecido com Python, a macro " +"\"pyo\" na versão 2.7 agora funciona corretamente quando o thread que está " +"sendo depurado não contém a GIL; a macro agora a adquire antes de imprimir. " +"(Contribuição de Victor Stinner; :issue:`3632`.)" -#: ../../whatsnew/2.7.rst:2121 +#: ../../whatsnew/2.7.rst:2126 msgid "" ":c:func:`Py_AddPendingCall` is now thread-safe, letting any worker thread " "submit notifications to the main Python thread. This is particularly useful " -"for asynchronous IO operations. (Contributed by Kristján Valur Jónsson; :" -"issue:`4293`.)" +"for asynchronous IO operations. (Contributed by Kristján Valur " +"Jónsson; :issue:`4293`.)" msgstr "" -":c:func:`Py_AddPendingCall` is now thread-safe, letting any worker thread " -"submit notifications to the main Python thread. This is particularly useful " -"for asynchronous IO operations. (Contributed by Kristján Valur Jónsson; :" -"issue:`4293`.)" +":c:func:`Py_AddPendingCall` agora é segura para thread, permitindo que " +"qualquer thread de trabalho envie notificações para o thread principal do " +"Python. Isto é particularmente útil para operações de E/S assíncronas. " +"(Contribuição de Kristján Valur Jónsson; :issue:`4293`.)" -#: ../../whatsnew/2.7.rst:2126 +#: ../../whatsnew/2.7.rst:2131 msgid "" "New function: :c:func:`PyCode_NewEmpty` creates an empty code object; only " "the filename, function name, and first line number are required. This is " "useful for extension modules that are attempting to construct a more useful " -"traceback stack. Previously such extensions needed to call :c:func:" -"`PyCode_New`, which had many more arguments. (Added by Jeffrey Yasskin.)" +"traceback stack. Previously such extensions needed to " +"call :c:func:`PyCode_New`, which had many more arguments. (Added by Jeffrey " +"Yasskin.)" msgstr "" "New function: :c:func:`PyCode_NewEmpty` creates an empty code object; only " "the filename, function name, and first line number are required. This is " "useful for extension modules that are attempting to construct a more useful " -"traceback stack. Previously such extensions needed to call :c:func:" -"`PyCode_New`, which had many more arguments. (Added by Jeffrey Yasskin.)" +"traceback stack. Previously such extensions needed to " +"call :c:func:`PyCode_New`, which had many more arguments. (Added by Jeffrey " +"Yasskin.)" -#: ../../whatsnew/2.7.rst:2133 +#: ../../whatsnew/2.7.rst:2138 msgid "" "New function: :c:func:`PyErr_NewExceptionWithDoc` creates a new exception " "class, just as the existing :c:func:`PyErr_NewException` does, but takes an " "extra ``char *`` argument containing the docstring for the new exception " "class. (Added by 'lekma' on the Python bug tracker; :issue:`7033`.)" msgstr "" -"New function: :c:func:`PyErr_NewExceptionWithDoc` creates a new exception " -"class, just as the existing :c:func:`PyErr_NewException` does, but takes an " -"extra ``char *`` argument containing the docstring for the new exception " -"class. (Added by 'lekma' on the Python bug tracker; :issue:`7033`.)" +"Nova função: :c:func:`PyErr_NewExceptionWithDoc` cria uma nova classe de " +"exceção, assim como a :c:func:`PyErr_NewException` existente faz, mas recebe " +"um argumento ``char *`` extra contendo a docstring para a nova classe de " +"exceção . (Adição de 'lekma' no rastreador de bugs do Python; :issue:`7033`.)" -#: ../../whatsnew/2.7.rst:2139 +#: ../../whatsnew/2.7.rst:2144 msgid "" "New function: :c:func:`PyFrame_GetLineNumber` takes a frame object and " "returns the line number that the frame is currently executing. Previously " @@ -3603,46 +3759,53 @@ msgid "" "executing, and then look up the line number corresponding to that address. " "(Added by Jeffrey Yasskin.)" msgstr "" -"New function: :c:func:`PyFrame_GetLineNumber` takes a frame object and " -"returns the line number that the frame is currently executing. Previously " -"code would need to get the index of the bytecode instruction currently " -"executing, and then look up the line number corresponding to that address. " -"(Added by Jeffrey Yasskin.)" +"Nova função: :c:func:`PyFrame_GetLineNumber` pega um objeto quadro e retorna " +"o número da linha que o frame está executando atualmente. Anteriormente, o " +"código precisaria obter o índice da instrução de bytecode atualmente em " +"execução e, em seguida, procurar o número da linha correspondente a esse " +"endereço. (Adição de Jeffrey Yasskin.)" -#: ../../whatsnew/2.7.rst:2145 +#: ../../whatsnew/2.7.rst:2150 msgid "" -"New functions: :c:func:`PyLong_AsLongAndOverflow` and :c:func:" -"`PyLong_AsLongLongAndOverflow` approximates a Python long integer as a C :c:" -"expr:`long` or :c:expr:`long long`. If the number is too large to fit into " -"the output type, an *overflow* flag is set and returned to the caller. " -"(Contributed by Case Van Horsen; :issue:`7528` and :issue:`7767`.)" +"New functions: :c:func:`PyLong_AsLongAndOverflow` " +"and :c:func:`PyLong_AsLongLongAndOverflow` approximates a Python long " +"integer as a C :c:expr:`long` or :c:expr:`long long`. If the number is too " +"large to fit into the output type, an *overflow* flag is set and returned to " +"the caller. (Contributed by Case Van Horsen; :issue:`7528` " +"and :issue:`7767`.)" msgstr "" +"Novas funções: :c:func:`PyLong_AsLongAndOverflow` " +"e :c:func:`PyLong_AsLongLongAndOverflow` aproxima um inteiro longo do Python " +"como um :c:expr:`long` ou :c:expr:`long long` do C. Se o número for muito " +"grande para caber no tipo de saída, um sinalizador *overflow* será definido " +"e retornado ao chamador. (Contribuição de Case Van Horsen; :issue:`7528` " +"e :issue:`7767`.)" -#: ../../whatsnew/2.7.rst:2152 +#: ../../whatsnew/2.7.rst:2157 msgid "" "New function: stemming from the rewrite of string-to-float conversion, a " -"new :c:func:`PyOS_string_to_double` function was added. The old :c:func:" -"`PyOS_ascii_strtod` and :c:func:`PyOS_ascii_atof` functions are now " +"new :c:func:`PyOS_string_to_double` function was added. The old :c:func:`!" +"PyOS_ascii_strtod` and :c:func:`!PyOS_ascii_atof` functions are now " "deprecated." msgstr "" -"New function: stemming from the rewrite of string-to-float conversion, a " -"new :c:func:`PyOS_string_to_double` function was added. The old :c:func:" -"`PyOS_ascii_strtod` and :c:func:`PyOS_ascii_atof` functions are now " -"deprecated." +"Nova função: decorrente da reescrita da conversão string-para-float, uma " +"nova função :c:func:`PyOS_string_to_double` foi adicionada. As antigas " +"funções :c:func:`!PyOS_ascii_strtod` e :c:func:`!PyOS_ascii_atof` agora " +"foram descontinuadas." -#: ../../whatsnew/2.7.rst:2157 +#: ../../whatsnew/2.7.rst:2162 msgid "" "New function: :c:func:`PySys_SetArgvEx` sets the value of ``sys.argv`` and " "can optionally update ``sys.path`` to include the directory containing the " "script named by ``sys.argv[0]`` depending on the value of an *updatepath* " "parameter." msgstr "" -"New function: :c:func:`PySys_SetArgvEx` sets the value of ``sys.argv`` and " -"can optionally update ``sys.path`` to include the directory containing the " -"script named by ``sys.argv[0]`` depending on the value of an *updatepath* " -"parameter." +"Nova função: :c:func:`PySys_SetArgvEx` define o valor de ``sys.argv`` e pode " +"opcionalmente atualizar ``sys.path`` para incluir o diretório que contém o " +"script nomeado por ``sys.argv[0]`` dependendo do valor de um parâmetro " +"*updatepath*." -#: ../../whatsnew/2.7.rst:2162 +#: ../../whatsnew/2.7.rst:2167 msgid "" "This function was added to close a security hole for applications that embed " "Python. The old function, :c:func:`PySys_SetArgv`, would always update " @@ -3652,27 +3815,26 @@ msgid "" "(say, a file named :file:`os.py`) that your application would then import " "and run." msgstr "" -"This function was added to close a security hole for applications that embed " -"Python. The old function, :c:func:`PySys_SetArgv`, would always update ``sys." -"path``, and sometimes it would add the current directory. This meant that, " -"if you ran an application embedding Python in a directory controlled by " -"someone else, attackers could put a Trojan-horse module in the directory " -"(say, a file named :file:`os.py`) that your application would then import " -"and run." +"Esta função foi adicionada para fechar uma falha de segurança em aplicativos " +"que incorporam Python. A função antiga, :c:func:`PySys_SetArgv`, sempre " +"atualizava ``sys.path``, e às vezes adicionava o diretório atual. Isso " +"significava que, se você executasse uma aplicação incorporando Python em um " +"diretório controlado por outra pessoa, os invasores poderiam colocar um " +"módulo cavalo de Troia no diretório (digamos, um arquivo " +"chamado :file:`os.py`) que sua aplicação então usaria. importar e executar." -#: ../../whatsnew/2.7.rst:2170 +#: ../../whatsnew/2.7.rst:2175 msgid "" "If you maintain a C/C++ application that embeds Python, check whether you're " "calling :c:func:`PySys_SetArgv` and carefully consider whether the " "application should be using :c:func:`PySys_SetArgvEx` with *updatepath* set " "to false." msgstr "" -"If you maintain a C/C++ application that embeds Python, check whether you're " -"calling :c:func:`PySys_SetArgv` and carefully consider whether the " -"application should be using :c:func:`PySys_SetArgvEx` with *updatepath* set " -"to false." +"Se você mantém uma aplicação C/C++ que incorpora Python, verifique se está " +"chamando :c:func:`PySys_SetArgv` e considere cuidadosamente se a aplicação " +"deve usar :c:func:`PySys_SetArgvEx` com *updatepath* definido como false." -#: ../../whatsnew/2.7.rst:2175 +#: ../../whatsnew/2.7.rst:2180 msgid "" "Security issue reported as `CVE-2008-5983 `_; discussed in :issue:`5753`, and fixed by " @@ -3682,47 +3844,48 @@ msgstr "" "cvename.cgi?name=CVE-2008-5983>`_; discussed in :issue:`5753`, and fixed by " "Antoine Pitrou." -#: ../../whatsnew/2.7.rst:2179 -msgid "" -"New macros: the Python header files now define the following macros: :c:" -"macro:`Py_ISALNUM`, :c:macro:`Py_ISALPHA`, :c:macro:`Py_ISDIGIT`, :c:macro:" -"`Py_ISLOWER`, :c:macro:`Py_ISSPACE`, :c:macro:`Py_ISUPPER`, :c:macro:" -"`Py_ISXDIGIT`, :c:macro:`Py_TOLOWER`, and :c:macro:`Py_TOUPPER`. All of " -"these functions are analogous to the C standard macros for classifying " -"characters, but ignore the current locale setting, because in several places " -"Python needs to analyze characters in a locale-independent way. (Added by " -"Eric Smith; :issue:`5793`.)" -msgstr "" -"New macros: the Python header files now define the following macros: :c:" -"macro:`Py_ISALNUM`, :c:macro:`Py_ISALPHA`, :c:macro:`Py_ISDIGIT`, :c:macro:" -"`Py_ISLOWER`, :c:macro:`Py_ISSPACE`, :c:macro:`Py_ISUPPER`, :c:macro:" -"`Py_ISXDIGIT`, :c:macro:`Py_TOLOWER`, and :c:macro:`Py_TOUPPER`. All of " -"these functions are analogous to the C standard macros for classifying " -"characters, but ignore the current locale setting, because in several places " -"Python needs to analyze characters in a locale-independent way. (Added by " -"Eric Smith; :issue:`5793`.)" - -#: ../../whatsnew/2.7.rst:2197 -msgid "" -"Removed function: :c:macro:`PyEval_CallObject` is now only available as a " +#: ../../whatsnew/2.7.rst:2184 +msgid "" +"New macros: the Python header files now define the following " +"macros: :c:macro:`Py_ISALNUM`, :c:macro:`Py_ISALPHA`, :c:macro:`Py_ISDIGIT`, :c:macro:`Py_ISLOWER`, :c:macro:`Py_ISSPACE`, :c:macro:`Py_ISUPPER`, :c:macro:`Py_ISXDIGIT`, :c:macro:`Py_TOLOWER`, " +"and :c:macro:`Py_TOUPPER`. All of these functions are analogous to the C " +"standard macros for classifying characters, but ignore the current locale " +"setting, because in several places Python needs to analyze characters in a " +"locale-independent way. (Added by Eric Smith; :issue:`5793`.)" +msgstr "" +"Novas macros: os arquivos de cabeçalho do Python agora definem as seguintes " +"macros: :c:macro:`Py_ISALNUM`, :c:macro:`Py_ISALPHA`, :c:macro:`Py_ISDIGIT`, :c:macro:`Py_ISLOWER`, :c:macro:`Py_ISSPACE`, :c:macro:`Py_ISUPPER`, :c:macro:`Py_ISXDIGIT`, :c:macro:`Py_TOLOWER` " +"e :c:macro:`Py_TOUPPER`. Todas essas funções são análogas às macros padrão C " +"para classificação de caracteres, mas ignoram a configuração de localidade " +"atual, porque em vários lugares o Python precisa analisar caracteres de " +"maneira independente de localidade. (Adição de Eric Smith; :issue:`5793`.)" + +#: ../../whatsnew/2.7.rst:2202 +msgid "" +"Removed function: :c:func:`!PyEval_CallObject` is now only available as a " "macro. A function version was being kept around to preserve ABI linking " "compatibility, but that was in 1997; it can certainly be deleted by now. " "(Removed by Antoine Pitrou; :issue:`8276`.)" msgstr "" -"Removed function: :c:macro:`PyEval_CallObject` is now only available as a " -"macro. A function version was being kept around to preserve ABI linking " -"compatibility, but that was in 1997; it can certainly be deleted by now. " -"(Removed by Antoine Pitrou; :issue:`8276`.)" +"Função removida: :c:func:`!PyEval_CallObject` agora está disponível apenas " +"como uma macro. Uma versão de função estava sendo mantida para preservar a " +"compatibilidade de links ABI, mas isso foi em 1997; certamente pode ser " +"excluído agora. (Remoção de Antoine Pitrou; :issue:`8276`.)" -#: ../../whatsnew/2.7.rst:2202 +#: ../../whatsnew/2.7.rst:2207 msgid "" -"New format codes: the :c:func:`PyFormat_FromString`, :c:func:" -"`PyFormat_FromStringV`, and :c:func:`PyErr_Format` functions now accept " +"New format codes: the :c:func:`!PyString_FromFormat`, :c:func:`!" +"PyString_FromFormatV`, and :c:func:`PyErr_Format` functions now accept " "``%lld`` and ``%llu`` format codes for displaying C's :c:expr:`long long` " "types. (Contributed by Mark Dickinson; :issue:`7228`.)" msgstr "" +"Novos códigos de formato: as funções :c:func:`!" +"PyString_FromFormat`, :c:func:`!PyString_FromFormatV` " +"e :c:func:`PyErr_Format` agora aceitam ``%lld`` e ``%llu`` códigos de " +"formato para exibir os tipos :c:expr:`long long` de C. (Contribuição de Mark " +"Dickinson; :issue:`7228`.)" -#: ../../whatsnew/2.7.rst:2208 +#: ../../whatsnew/2.7.rst:2213 msgid "" "The complicated interaction between threads and process forking has been " "changed. Previously, the child process created by :func:`os.fork` might " @@ -3733,290 +3896,309 @@ msgid "" "nothing would ever release the lock, since the other threads weren't " "replicated, and the child process would no longer be able to perform imports." msgstr "" -"The complicated interaction between threads and process forking has been " -"changed. Previously, the child process created by :func:`os.fork` might fail " -"because the child is created with only a single thread running, the thread " -"performing the :func:`os.fork`. If other threads were holding a lock, such " -"as Python's import lock, when the fork was performed, the lock would still " -"be marked as \"held\" in the new process. But in the child process nothing " -"would ever release the lock, since the other threads weren't replicated, and " -"the child process would no longer be able to perform imports." +"A complicada interação entre threads e forks de processos foi alterada. " +"Anteriormente, o processo filho criado por :func:`os.fork` pode falhar " +"porque o filho é criado com apenas um único thread em execução, a thread " +"executando :func:`os.fork`. Se outros threads estivessem mantendo uma trava, " +"como a trava de importação do Python, quando o fork fosse executado, a trava " +"ainda seria marcada como \"retida\" no novo processo. Mas no processo filho " +"nada liberaria a trava, pois os outros threads não foram replicados e o " +"processo filho não seria mais capaz de realizar importações." -#: ../../whatsnew/2.7.rst:2218 +#: ../../whatsnew/2.7.rst:2223 msgid "" "Python 2.7 acquires the import lock before performing an :func:`os.fork`, " "and will also clean up any locks created using the :mod:`threading` module. " "C extension modules that have internal locks, or that call :c:func:`fork()` " "themselves, will not benefit from this clean-up." msgstr "" -"Python 2.7 acquires the import lock before performing an :func:`os.fork`, " -"and will also clean up any locks created using the :mod:`threading` module. " -"C extension modules that have internal locks, or that call :c:func:`fork()` " -"themselves, will not benefit from this clean-up." +"Python 2.7 adquire a trava de importação antes de executar " +"um :func:`os.fork`, e também limpará quaisquer travas criadas usando o " +"módulo :mod:`threading`. Módulos de extensão C que possuem travas internas, " +"ou que chamam :c:func:`fork()` eles próprios, não se beneficiarão desta " +"limpeza." -#: ../../whatsnew/2.7.rst:2224 +#: ../../whatsnew/2.7.rst:2229 msgid "(Fixed by Thomas Wouters; :issue:`1590864`.)" -msgstr "(Fixed by Thomas Wouters; :issue:`1590864`.)" +msgstr "(Correção de Thomas Wouters; :issue:`1590864`.)" -#: ../../whatsnew/2.7.rst:2226 +#: ../../whatsnew/2.7.rst:2231 msgid "" -"The :c:func:`Py_Finalize` function now calls the internal :func:`threading." -"_shutdown` function; this prevents some exceptions from being raised when an " -"interpreter shuts down. (Patch by Adam Olsen; :issue:`1722344`.)" +"The :c:func:`Py_Finalize` function now calls the internal :func:`!" +"threading._shutdown` function; this prevents some exceptions from being " +"raised when an interpreter shuts down. (Patch by Adam " +"Olsen; :issue:`1722344`.)" msgstr "" -"The :c:func:`Py_Finalize` function now calls the internal :func:`threading." -"_shutdown` function; this prevents some exceptions from being raised when an " -"interpreter shuts down. (Patch by Adam Olsen; :issue:`1722344`.)" +"A função :c:func:`Py_Finalize` agora chama a função interna :func:`!" +"threading._shutdown`; isso evita que algumas exceções sejam levantadas " +"quando um interpretador é encerrado. (Patch de Adam Olsen; :issue:`1722344`.)" -#: ../../whatsnew/2.7.rst:2231 +#: ../../whatsnew/2.7.rst:2236 msgid "" "When using the :c:type:`PyMemberDef` structure to define attributes of a " -"type, Python will no longer let you try to delete or set a :const:" -"`T_STRING_INPLACE` attribute." +"type, Python will no longer let you try to delete or set " +"a :c:macro:`T_STRING_INPLACE` attribute." msgstr "" -"When using the :c:type:`PyMemberDef` structure to define attributes of a " -"type, Python will no longer let you try to delete or set a :const:" -"`T_STRING_INPLACE` attribute." +"Ao usar a estrutura :c:type:`PyMemberDef` para definir atributos de um tipo, " +"o Python não permitirá mais que você tente excluir ou definir um " +"atributo :c:macro:`T_STRING_INPLACE`." -#: ../../whatsnew/2.7.rst:2237 +#: ../../whatsnew/2.7.rst:2242 msgid "" "Global symbols defined by the :mod:`ctypes` module are now prefixed with " "``Py``, or with ``_ctypes``. (Implemented by Thomas Heller; :issue:`3102`.)" msgstr "" -"Global symbols defined by the :mod:`ctypes` module are now prefixed with " -"``Py``, or with ``_ctypes``. (Implemented by Thomas Heller; :issue:`3102`.)" +"Símbolos globais definidos pelo módulo :mod:`ctypes` agora são prefixados " +"com ``Py``, ou com ``_ctypes``. (Implementado por Thomas " +"Heller; :issue:`3102`.)" -#: ../../whatsnew/2.7.rst:2241 +#: ../../whatsnew/2.7.rst:2246 msgid "" "New configure option: the :option:`!--with-system-expat` switch allows " -"building the :mod:`pyexpat` module to use the system Expat library. " -"(Contributed by Arfrever Frehtes Taifersar Arahesis; :issue:`7609`.)" +"building the :mod:`pyexpat ` module to use the system " +"Expat library. (Contributed by Arfrever Frehtes Taifersar " +"Arahesis; :issue:`7609`.)" msgstr "" -"New configure option: the :option:`!--with-system-expat` switch allows " -"building the :mod:`pyexpat` module to use the system Expat library. " -"(Contributed by Arfrever Frehtes Taifersar Arahesis; :issue:`7609`.)" +"Nova opção de configuração: a opção :option:`!--with-system-expat` permite " +"construir o módulo :mod:`pyexpat ` para usar a biblioteca " +"Expat do sistema. (Contribuição de Arfrever Frehtes Taifersar " +"Arahesis; :issue:`7609`.)" -#: ../../whatsnew/2.7.rst:2245 +#: ../../whatsnew/2.7.rst:2250 msgid "" "New configure option: the :option:`!--with-valgrind` option will now disable " "the pymalloc allocator, which is difficult for the Valgrind memory-error " "detector to analyze correctly. Valgrind will therefore be better at " -"detecting memory leaks and overruns. (Contributed by James Henstridge; :" -"issue:`2422`.)" +"detecting memory leaks and overruns. (Contributed by James " +"Henstridge; :issue:`2422`.)" msgstr "" -"New configure option: the :option:`!--with-valgrind` option will now disable " -"the pymalloc allocator, which is difficult for the Valgrind memory-error " -"detector to analyze correctly. Valgrind will therefore be better at " -"detecting memory leaks and overruns. (Contributed by James Henstridge; :" -"issue:`2422`.)" +"Nova opção de configuração: a opção :option:`!--with-valgrind` agora " +"desativará o alocador pymalloc, o que é difícil para o detector de erros de " +"memória Valgrind analisar corretamente. Valgrind será, portanto, melhor na " +"detecção de vazamentos e sobrecargas de memória. (Contribuição de James " +"Henstridge; :issue:`2422`.)" -#: ../../whatsnew/2.7.rst:2252 +#: ../../whatsnew/2.7.rst:2257 msgid "" "New configure option: you can now supply an empty string to :option:`!--with-" "dbmliborder=` in order to disable all of the various DBM modules. (Added by " "Arfrever Frehtes Taifersar Arahesis; :issue:`6491`.)" msgstr "" -"New configure option: you can now supply an empty string to :option:`!--with-" -"dbmliborder=` in order to disable all of the various DBM modules. (Added by " -"Arfrever Frehtes Taifersar Arahesis; :issue:`6491`.)" +"Nova opção de configuração: agora você pode fornecer uma string vazia " +"para :option:`!--with-dbmliborder=` para desabilitar todos os vários módulos " +"DBM. (Adição de Arfrever Frehtes Taifersar Arahesis; :issue:`6491`.)" -#: ../../whatsnew/2.7.rst:2257 +#: ../../whatsnew/2.7.rst:2262 msgid "" "The :program:`configure` script now checks for floating-point rounding bugs " "on certain 32-bit Intel chips and defines a :c:macro:`X87_DOUBLE_ROUNDING` " "preprocessor definition. No code currently uses this definition, but it's " -"available if anyone wishes to use it. (Added by Mark Dickinson; :issue:" -"`2937`.)" +"available if anyone wishes to use it. (Added by Mark " +"Dickinson; :issue:`2937`.)" msgstr "" -"The :program:`configure` script now checks for floating-point rounding bugs " -"on certain 32-bit Intel chips and defines a :c:macro:`X87_DOUBLE_ROUNDING` " -"preprocessor definition. No code currently uses this definition, but it's " -"available if anyone wishes to use it. (Added by Mark Dickinson; :issue:" -"`2937`.)" +"O script :program:`configure` agora verifica erros de arredondamento de " +"ponto flutuante em certos chips Intel de 32 bits e define uma definição de " +"preprocessador :c:macro:`X87_DOUBLE_ROUNDING`. Nenhum código atualmente usa " +"esta definição, mas ela está disponível se alguém desejar usá-la. " +"(Adicionado por Mark Dickinson; :issue:`2937`.)" -#: ../../whatsnew/2.7.rst:2263 +#: ../../whatsnew/2.7.rst:2268 msgid "" ":program:`configure` also now sets a :envvar:`LDCXXSHARED` Makefile variable " "for supporting C++ linking. (Contributed by Arfrever Frehtes Taifersar " "Arahesis; :issue:`1222585`.)" msgstr "" -":program:`configure` also now sets a :envvar:`LDCXXSHARED` Makefile variable " -"for supporting C++ linking. (Contributed by Arfrever Frehtes Taifersar " -"Arahesis; :issue:`1222585`.)" +":program:`configure` agora também define uma variável " +"Makefile :envvar:`LDCXXSHARED` para prover suporte à vinculação C++. " +"(Contribuição de Arfrever Frehtes Taifersar Arahesis; :issue:`1222585`.)" -#: ../../whatsnew/2.7.rst:2267 +#: ../../whatsnew/2.7.rst:2272 msgid "" "The build process now creates the necessary files for pkg-config support. " "(Contributed by Clinton Roy; :issue:`3585`.)" msgstr "" -"The build process now creates the necessary files for pkg-config support. " -"(Contributed by Clinton Roy; :issue:`3585`.)" +"O processo de construção agora cria os arquivos necessários para suporte ao " +"pkg-config. (Contribuição de Clinton Roy; :issue:`3585`.)" -#: ../../whatsnew/2.7.rst:2270 +#: ../../whatsnew/2.7.rst:2275 msgid "" "The build process now supports Subversion 1.7. (Contributed by Arfrever " "Frehtes Taifersar Arahesis; :issue:`6094`.)" msgstr "" -"The build process now supports Subversion 1.7. (Contributed by Arfrever " -"Frehtes Taifersar Arahesis; :issue:`6094`.)" +"O processo de construção agora prover suporte ao Subversion 1.7. " +"(Contribuição de Arfrever Frehtes Taifersar Arahesis; :issue:`6094`.)" -#: ../../whatsnew/2.7.rst:2277 +#: ../../whatsnew/2.7.rst:2282 msgid "Capsules" msgstr "Capsules" -#: ../../whatsnew/2.7.rst:2279 +#: ../../whatsnew/2.7.rst:2284 msgid "" "Python 3.1 adds a new C datatype, :c:type:`PyCapsule`, for providing a C API " "to an extension module. A capsule is essentially the holder of a C ``void " -"*`` pointer, and is made available as a module attribute; for example, the :" -"mod:`socket` module's API is exposed as ``socket.CAPI``, and :mod:" -"`unicodedata` exposes ``ucnhash_CAPI``. Other extensions can import the " -"module, access its dictionary to get the capsule object, and then get the " -"``void *`` pointer, which will usually point to an array of pointers to the " -"module's various API functions." -msgstr "" -"Python 3.1 adds a new C datatype, :c:type:`PyCapsule`, for providing a C API " -"to an extension module. A capsule is essentially the holder of a C ``void " -"*`` pointer, and is made available as a module attribute; for example, the :" -"mod:`socket` module's API is exposed as ``socket.CAPI``, and :mod:" -"`unicodedata` exposes ``ucnhash_CAPI``. Other extensions can import the " -"module, access its dictionary to get the capsule object, and then get the " -"``void *`` pointer, which will usually point to an array of pointers to the " -"module's various API functions." - -#: ../../whatsnew/2.7.rst:2288 -msgid "" -"There is an existing data type already used for this, :c:type:`PyCObject`, " +"*`` pointer, and is made available as a module attribute; for example, " +"the :mod:`socket` module's API is exposed as ``socket.CAPI``, " +"and :mod:`unicodedata` exposes ``ucnhash_CAPI``. Other extensions can " +"import the module, access its dictionary to get the capsule object, and then " +"get the ``void *`` pointer, which will usually point to an array of pointers " +"to the module's various API functions." +msgstr "" +"Python 3.1 adiciona um novo tipo de dados C, :c:type:`PyCapsule`, para " +"fornecer uma API C para um módulo de extensão. Uma cápsula é essencialmente " +"o detentor de um ponteiro C ``void *`` e é disponibilizada como um atributo " +"de módulo; por exemplo, a API do módulo :mod:`socket` é exposta como " +"``socket.CAPI``, e :mod:`unicodedata` expõe ``ucnhash_CAPI``. Outras " +"extensões podem importar o módulo, acessar seu dicionário para obter o " +"objeto cápsula e então obter o ponteiro ``void *``, que normalmente apontará " +"para uma matriz de ponteiros para as diversas funções da API do módulo." + +#: ../../whatsnew/2.7.rst:2293 +msgid "" +"There is an existing data type already used for this, :c:type:`!PyCObject`, " "but it doesn't provide type safety. Evil code written in pure Python could " -"cause a segmentation fault by taking a :c:type:`PyCObject` from module A and " -"somehow substituting it for the :c:type:`PyCObject` in module B. Capsules " -"know their own name, and getting the pointer requires providing the name:" -msgstr "" -"There is an existing data type already used for this, :c:type:`PyCObject`, " -"but it doesn't provide type safety. Evil code written in pure Python could " -"cause a segmentation fault by taking a :c:type:`PyCObject` from module A and " -"somehow substituting it for the :c:type:`PyCObject` in module B. Capsules " -"know their own name, and getting the pointer requires providing the name:" +"cause a segmentation fault by taking a :c:type:`!PyCObject` from module A " +"and somehow substituting it for the :c:type:`!PyCObject` in module B. " +"Capsules know their own name, and getting the pointer requires providing the " +"name:" +msgstr "" +"Já existe um tipo de dados usado para isso, :c:type:`!PyCObject`, mas ele " +"não fornece segurança de tipo. Código maligno escrito em Python puro pode " +"causar uma falha de segmentação pegando um :c:type:`!PyCObject` do módulo A " +"e de alguma forma substituindo-o por :c:type:`!PyCObject` no módulo B. As " +"cápsulas sabem seu próprio nome , e para obter o ponteiro é necessário " +"fornecer o nome:" -#: ../../whatsnew/2.7.rst:2306 +#: ../../whatsnew/2.7.rst:2311 msgid "" "You are assured that ``vtable`` points to whatever you're expecting. If a " "different capsule was passed in, :c:func:`PyCapsule_IsValid` would detect " "the mismatched name and return false. Refer to :ref:`using-capsules` for " "more information on using these objects." msgstr "" -"You are assured that ``vtable`` points to whatever you're expecting. If a " -"different capsule was passed in, :c:func:`PyCapsule_IsValid` would detect " -"the mismatched name and return false. Refer to :ref:`using-capsules` for " -"more information on using these objects." +"Você tem certeza de que ``vtable`` aponta para o que você espera. Se uma " +"cápsula diferente fosse passada, :c:func:`PyCapsule_IsValid` detectaria o " +"nome incompatível e retornaria falso. Consulte :ref:`using-capsules` para " +"mais informações sobre como usar esses objetos." -#: ../../whatsnew/2.7.rst:2311 +#: ../../whatsnew/2.7.rst:2316 msgid "" "Python 2.7 now uses capsules internally to provide various extension-module " -"APIs, but the :c:func:`PyCObject_AsVoidPtr` was modified to handle capsules, " -"preserving compile-time compatibility with the :c:type:`CObject` interface. " -"Use of :c:func:`PyCObject_AsVoidPtr` will signal a :exc:" -"`PendingDeprecationWarning`, which is silent by default." +"APIs, but the :c:func:`!PyCObject_AsVoidPtr` was modified to handle " +"capsules, preserving compile-time compatibility with the :c:type:`!" +"PyCObject` interface. Use of :c:func:`!PyCObject_AsVoidPtr` will signal " +"a :exc:`PendingDeprecationWarning`, which is silent by default." msgstr "" -"Python 2.7 now uses capsules internally to provide various extension-module " -"APIs, but the :c:func:`PyCObject_AsVoidPtr` was modified to handle capsules, " -"preserving compile-time compatibility with the :c:type:`CObject` interface. " -"Use of :c:func:`PyCObject_AsVoidPtr` will signal a :exc:" -"`PendingDeprecationWarning`, which is silent by default." +"Python 2.7 agora usa cápsulas internamente para fornecer várias APIs de " +"módulo de extensão, mas o :c:func:`!PyCObject_AsVoidPtr` foi modificado para " +"lidar com cápsulas, preservando a compatibilidade em tempo de compilação com " +"a interface :c:type:`!PyCObject`. O uso de :c:func:`!PyCObject_AsVoidPtr` " +"sinalizará uma exceção :exc:`PendingDeprecationWarning`, que é silencioso " +"por padrão." -#: ../../whatsnew/2.7.rst:2318 +#: ../../whatsnew/2.7.rst:2323 msgid "" "Implemented in Python 3.1 and backported to 2.7 by Larry Hastings; discussed " "in :issue:`5630`." msgstr "" -"Implemented in Python 3.1 and backported to 2.7 by Larry Hastings; discussed " -"in :issue:`5630`." +"Implementado em Python 3.1 e portado para 2.7 por Larry Hastings; discutido " +"em :issue:`5630`." -#: ../../whatsnew/2.7.rst:2325 +#: ../../whatsnew/2.7.rst:2330 msgid "Port-Specific Changes: Windows" -msgstr "Port-Specific Changes: Windows" +msgstr "Alterações específicas da porta: Windows" -#: ../../whatsnew/2.7.rst:2327 +#: ../../whatsnew/2.7.rst:2332 msgid "" -"The :mod:`msvcrt` module now contains some constants from the :file:" -"`crtassem.h` header file: :data:`CRT_ASSEMBLY_VERSION`, :data:" -"`VC_ASSEMBLY_PUBLICKEYTOKEN`, and :data:`LIBRARIES_ASSEMBLY_NAME_PREFIX`. " -"(Contributed by David Cournapeau; :issue:`4365`.)" +"The :mod:`msvcrt` module now contains some constants from " +"the :file:`crtassem.h` header " +"file: :data:`~msvcrt.CRT_ASSEMBLY_VERSION`, :data:`~msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN`, " +"and :data:`~msvcrt.LIBRARIES_ASSEMBLY_NAME_PREFIX`. (Contributed by David " +"Cournapeau; :issue:`4365`.)" msgstr "" -"The :mod:`msvcrt` module now contains some constants from the :file:" -"`crtassem.h` header file: :data:`CRT_ASSEMBLY_VERSION`, :data:" -"`VC_ASSEMBLY_PUBLICKEYTOKEN`, and :data:`LIBRARIES_ASSEMBLY_NAME_PREFIX`. " -"(Contributed by David Cournapeau; :issue:`4365`.)" +"O módulo :mod:`msvcrt` agora contém algumas constantes do arquivo de " +"cabeçalho :file:`crtassem.h`: :data:`~msvcrt.CRT_ASSEMBLY_VERSION`, :data:`~msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN` " +"e :data:`~msvcrt.LIBRARIES_ASSEMBLY_NAME_PREFIX`. (Contribuição de David " +"Cournapeau; :issue:`4365`.)" -#: ../../whatsnew/2.7.rst:2334 +#: ../../whatsnew/2.7.rst:2339 msgid "" -"The :mod:`_winreg` module for accessing the registry now implements the :" -"func:`~_winreg.CreateKeyEx` and :func:`~_winreg.DeleteKeyEx` functions, " +"The :mod:`_winreg ` module for accessing the registry now implements " +"the :func:`~winreg.CreateKeyEx` and :func:`~winreg.DeleteKeyEx` functions, " "extended versions of previously supported functions that take several extra " -"arguments. The :func:`~_winreg.DisableReflectionKey`, :func:`~_winreg." -"EnableReflectionKey`, and :func:`~_winreg.QueryReflectionKey` were also " -"tested and documented. (Implemented by Brian Curtin: :issue:`7347`.)" -msgstr "" - -#: ../../whatsnew/2.7.rst:2342 -msgid "" -"The new :c:func:`_beginthreadex` API is used to start threads, and the " +"arguments. " +"The :func:`~winreg.DisableReflectionKey`, :func:`~winreg.EnableReflectionKey`, " +"and :func:`~winreg.QueryReflectionKey` were also tested and documented. " +"(Implemented by Brian Curtin: :issue:`7347`.)" +msgstr "" +"O módulo :mod:`_winreg ` para acessar o registro agora implementa as " +"funções :func:`~winreg.CreateKeyEx` e :func:`~winreg.DeleteKeyEx`, versões " +"estendidas de funções suportadas anteriormente que recebem vários argumentos " +"extras. " +"Os :func:`~winreg.DisableReflectionKey`, :func:`~winreg.EnableReflectionKey` " +"e :func:`~winreg.QueryReflectionKey` também foram testados e documentados. " +"(Implementação de Brian Curtin: :issue:`7347`.)" + +#: ../../whatsnew/2.7.rst:2347 +msgid "" +"The new :c:func:`!_beginthreadex` API is used to start threads, and the " "native thread-local storage functions are now used. (Contributed by Kristján " "Valur Jónsson; :issue:`3582`.)" msgstr "" -"The new :c:func:`_beginthreadex` API is used to start threads, and the " -"native thread-local storage functions are now used. (Contributed by Kristján " -"Valur Jónsson; :issue:`3582`.)" +"A nova API :c:func:`!_beginthreadex` é usada para iniciar threads, e as " +"funções nativas de armazenamento local de thread agora são usadas. " +"(Contribuição de Kristján Valur Jónsson; :issue:`3582`.)" -#: ../../whatsnew/2.7.rst:2346 +#: ../../whatsnew/2.7.rst:2351 msgid "" "The :func:`os.kill` function now works on Windows. The signal value can be " -"the constants :const:`CTRL_C_EVENT`, :const:`CTRL_BREAK_EVENT`, or any " -"integer. The first two constants will send :kbd:`Control-C` and :kbd:" -"`Control-Break` keystroke events to subprocesses; any other value will use " -"the :c:func:`TerminateProcess` API. (Contributed by Miki Tebeka; :issue:" -"`1220212`.)" -msgstr "" -"The :func:`os.kill` function now works on Windows. The signal value can be " -"the constants :const:`CTRL_C_EVENT`, :const:`CTRL_BREAK_EVENT`, or any " -"integer. The first two constants will send :kbd:`Control-C` and :kbd:" -"`Control-Break` keystroke events to subprocesses; any other value will use " -"the :c:func:`TerminateProcess` API. (Contributed by Miki Tebeka; :issue:" -"`1220212`.)" - -#: ../../whatsnew/2.7.rst:2353 +"the " +"constants :const:`~signal.CTRL_C_EVENT`, :const:`~signal.CTRL_BREAK_EVENT`, " +"or any integer. The first two constants will send :kbd:`Control-C` " +"and :kbd:`Control-Break` keystroke events to subprocesses; any other value " +"will use the :c:func:`!TerminateProcess` API. (Contributed by Miki " +"Tebeka; :issue:`1220212`.)" +msgstr "" +"A função :func:`os.kill` agora funciona no Windows. O valor do sinal pode " +"ser as " +"constantes :const:`~signal.CTRL_C_EVENT`, :const:`~signal.CTRL_BREAK_EVENT` " +"ou qualquer número inteiro. As duas primeiras constantes enviarão eventos de " +"pressionamento de tecla :kbd:`Control-C` e :kbd:`Control-Break` para " +"subprocessos; qualquer outro valor usará a API :c:func:`!TerminateProcess`. " +"(Contribuição de Miki Tebeka; :issue:`1220212`.)" + +#: ../../whatsnew/2.7.rst:2358 msgid "" "The :func:`os.listdir` function now correctly fails for an empty path. " "(Fixed by Hirokazu Yamamoto; :issue:`5913`.)" msgstr "" -"The :func:`os.listdir` function now correctly fails for an empty path. " -"(Fixed by Hirokazu Yamamoto; :issue:`5913`.)" +"A função :func:`os.listdir` agora falha corretamente para um caminho vazio. " +"(Correção de Hirokazu Yamamoto; :issue:`5913`.)" -#: ../../whatsnew/2.7.rst:2356 +#: ../../whatsnew/2.7.rst:2361 msgid "" -"The :mod:`mimelib` module will now read the MIME database from the Windows " +"The :mod:`mimetypes` module will now read the MIME database from the Windows " "registry when initializing. (Patch by Gabriel Genellina; :issue:`4969`.)" msgstr "" -"The :mod:`mimelib` module will now read the MIME database from the Windows " -"registry when initializing. (Patch by Gabriel Genellina; :issue:`4969`.)" +"O módulo :mod:`mimetypes` agora irá ler o banco de dados MIME do registro do " +"Windows ao inicializar. (Patch de Gabriel Genellina; :issue:`4969`.)" -#: ../../whatsnew/2.7.rst:2363 +#: ../../whatsnew/2.7.rst:2368 msgid "Port-Specific Changes: Mac OS X" -msgstr "Port-Specific Changes: Mac OS X" +msgstr "Alterações específicas da porta: Mac OS X" -#: ../../whatsnew/2.7.rst:2365 +#: ../../whatsnew/2.7.rst:2370 msgid "" -"The path ``/Library/Python/2.7/site-packages`` is now appended to ``sys." -"path``, in order to share added packages between the system installation and " -"a user-installed copy of the same version. (Changed by Ronald Oussoren; :" -"issue:`4865`.)" +"The path ``/Library/Python/2.7/site-packages`` is now appended to " +"``sys.path``, in order to share added packages between the system " +"installation and a user-installed copy of the same version. (Changed by " +"Ronald Oussoren; :issue:`4865`.)" msgstr "" -"The path ``/Library/Python/2.7/site-packages`` is now appended to ``sys." -"path``, in order to share added packages between the system installation and " -"a user-installed copy of the same version. (Changed by Ronald Oussoren; :" -"issue:`4865`.)" +"O caminho ``/Library/Python/2.7/site-packages`` agora é anexado a " +"``sys.path``, para compartilhar pacotes adicionados entre a instalação do " +"sistema e uma cópia da mesma versão instalada pelo usuário. (Alteração de " +"Ronald Oussoren; :issue:`4865`.)" -#: ../../whatsnew/2.7.rst:2372 +#: ../../whatsnew/2.7.rst:2377 msgid "" "As of 2.7.13, this change was removed. ``/Library/Python/2.7/site-" "packages``, the site-packages directory used by the Apple-supplied system " @@ -4027,28 +4209,38 @@ msgid "" "installed for the system Python will no longer be shared with user-installed " "Pythons. (:issue:`28440`)" msgstr "" +"A partir da versão 2.7.13, esta alteração foi removida. ``/Library/Python/" +"2.7/site-packages``, o diretório site-packages usado pelo sistema Python 2.7 " +"fornecido pela Apple não é mais anexado a ``sys.path`` para Pythons " +"instalados pelo usuário, como do Instaladores do python.org. A partir do " +"macOS 10.12, a Apple mudou a forma como o diretório site-packages do sistema " +"é configurado, o que pode causar falha na instalação de componentes pip, " +"como setuptools. Os pacotes instalados para o sistema Python não serão mais " +"compartilhados com Pythons instalados pelo usuário. ( :issue:`28440`)" -#: ../../whatsnew/2.7.rst:2383 +#: ../../whatsnew/2.7.rst:2388 msgid "Port-Specific Changes: FreeBSD" -msgstr "Port-Specific Changes: FreeBSD" +msgstr "Alterações específicas da porta: FreeBSD" -#: ../../whatsnew/2.7.rst:2385 +#: ../../whatsnew/2.7.rst:2390 msgid "" -"FreeBSD 7.1's :const:`SO_SETFIB` constant, used with :func:`~socket." -"getsockopt`/:func:`~socket.setsockopt` to select an alternate routing table, " -"is now available in the :mod:`socket` module. (Added by Kyle VanderBeek; :" -"issue:`8235`.)" +"FreeBSD 7.1's :const:`!SO_SETFIB` constant, used with " +"the :func:`~socket.socket` " +"methods :func:`~socket.socket.getsockopt`/:func:`~socket.socket.setsockopt` " +"to select an alternate routing table, is now available in the :mod:`socket` " +"module. (Added by Kyle VanderBeek; :issue:`8235`.)" msgstr "" -"FreeBSD 7.1's :const:`SO_SETFIB` constant, used with :func:`~socket." -"getsockopt`/:func:`~socket.setsockopt` to select an alternate routing table, " -"is now available in the :mod:`socket` module. (Added by Kyle VanderBeek; :" -"issue:`8235`.)" +"Constante :const:`!SO_SETFIB` do FreeBSD 7.1, usada com os " +"métodos :func:`~socket.socket.getsockopt` " +"e :func:`~socket.socket.setsockopt` do :func:`~socket.socket` para " +"selecionar uma tabela de roteamento alternativa, agora está disponível no " +"módulo :mod:`socket`. (Adição de Kyle VanderBeek; :issue:`8235`.)" -#: ../../whatsnew/2.7.rst:2391 +#: ../../whatsnew/2.7.rst:2396 msgid "Other Changes and Fixes" -msgstr "Other Changes and Fixes" +msgstr "Outras alterações e correções" -#: ../../whatsnew/2.7.rst:2393 +#: ../../whatsnew/2.7.rst:2398 msgid "" "Two benchmark scripts, :file:`iobench` and :file:`ccbench`, were added to " "the :file:`Tools` directory. :file:`iobench` measures the speed of the " @@ -4057,50 +4249,53 @@ msgid "" "measure computing throughput, thread switching latency, and IO processing " "bandwidth when performing several tasks using a varying number of threads." msgstr "" -"Two benchmark scripts, :file:`iobench` and :file:`ccbench`, were added to " -"the :file:`Tools` directory. :file:`iobench` measures the speed of the built-" -"in file I/O objects returned by :func:`open` while performing various " -"operations, and :file:`ccbench` is a concurrency benchmark that tries to " -"measure computing throughput, thread switching latency, and IO processing " -"bandwidth when performing several tasks using a varying number of threads." +"Dois scripts de benchmark, :file:`iobench` e :file:`ccbench`, foram " +"adicionados ao diretório :file:`Tools`. :file:`iobench` mede a velocidade " +"dos objetos embutidos de E/S de arquivo retornados por :func:`open` durante " +"a execução de várias operações, e :file:`ccbench` é um benchmark de " +"simultaneidade que tenta medir o rendimento da computação, latência de " +"comutação de threads e largura de banda de processamento de E/S ao executar " +"diversas tarefas usando um número variável de threads." -#: ../../whatsnew/2.7.rst:2401 +#: ../../whatsnew/2.7.rst:2406 msgid "" -"The :file:`Tools/i18n/msgfmt.py` script now understands plural forms in :" -"file:`.po` files. (Fixed by Martin von Löwis; :issue:`5464`.)" +"The :file:`Tools/i18n/msgfmt.py` script now understands plural forms " +"in :file:`.po` files. (Fixed by Martin von Löwis; :issue:`5464`.)" msgstr "" -"The :file:`Tools/i18n/msgfmt.py` script now understands plural forms in :" -"file:`.po` files. (Fixed by Martin von Löwis; :issue:`5464`.)" +"O script :file:`Tools/i18n/msgfmt.py` agora entende formas plurais em " +"arquivos :file:`.po`. (Correção de Martin von Löwis; :issue:`5464`.)" -#: ../../whatsnew/2.7.rst:2405 +#: ../../whatsnew/2.7.rst:2410 msgid "" "When importing a module from a :file:`.pyc` or :file:`.pyo` file with an " -"existing :file:`.py` counterpart, the :attr:`co_filename` attributes of the " -"resulting code objects are overwritten when the original filename is " -"obsolete. This can happen if the file has been renamed, moved, or is " -"accessed through different paths. (Patch by Ziga Seilnacht and Jean-Paul " -"Calderone; :issue:`1180193`.)" -msgstr "" -"When importing a module from a :file:`.pyc` or :file:`.pyo` file with an " -"existing :file:`.py` counterpart, the :attr:`co_filename` attributes of the " -"resulting code objects are overwritten when the original filename is " -"obsolete. This can happen if the file has been renamed, moved, or is " -"accessed through different paths. (Patch by Ziga Seilnacht and Jean-Paul " +"existing :file:`.py` counterpart, the :attr:`~codeobject.co_filename` " +"attributes of the resulting code objects are overwritten when the original " +"filename is obsolete. This can happen if the file has been renamed, moved, " +"or is accessed through different paths. (Patch by Ziga Seilnacht and Jean-" +"Paul Calderone; :issue:`1180193`.)" +msgstr "" +"Ao importar um módulo de um arquivo :file:`.pyc` ou :file:`.pyo` com uma " +"contraparte :file:`.py` existente, os " +"atributos :attr:`~codeobject.co_filename` dos objetos código resultantes são " +"substituídos quando o nome do arquivo original fica obsoleto. Isso pode " +"acontecer se o arquivo tiver sido renomeado, movido ou acessado por caminhos " +"diferentes. (Patch de Ziga Seilnacht e Jean-Paul " "Calderone; :issue:`1180193`.)" -#: ../../whatsnew/2.7.rst:2412 +#: ../../whatsnew/2.7.rst:2417 msgid "" "The :file:`regrtest.py` script now takes a :option:`!--randseed=` switch " -"that takes an integer that will be used as the random seed for the :option:" -"`!-r` option that executes tests in random order. The :option:`!-r` option " -"also reports the seed that was used (Added by Collin Winter.)" +"that takes an integer that will be used as the random seed for " +"the :option:`!-r` option that executes tests in random order. The :option:`!-" +"r` option also reports the seed that was used (Added by Collin Winter.)" msgstr "" -"The :file:`regrtest.py` script now takes a :option:`!--randseed=` switch " -"that takes an integer that will be used as the random seed for the :option:" -"`!-r` option that executes tests in random order. The :option:`!-r` option " -"also reports the seed that was used (Added by Collin Winter.)" +"O script :file:`regrtest.py` agora usa uma opção :option:`!--randseed=` que " +"recebe um número inteiro que será usado como semente aleatória para a " +"opção :option:`!-r` que executa testes em ordem aleatória. A " +"opção :option:`!-r` também informa a semente que foi usada (Adição de Collin " +"Winter.)" -#: ../../whatsnew/2.7.rst:2418 +#: ../../whatsnew/2.7.rst:2423 msgid "" "Another :file:`regrtest.py` switch is :option:`!-j`, which takes an integer " "specifying how many tests run in parallel. This allows reducing the total " @@ -4110,29 +4305,31 @@ msgid "" "with a new :option:`!-F` switch that runs selected tests in a loop until " "they fail. (Added by Antoine Pitrou; :issue:`7312`.)" msgstr "" -"Another :file:`regrtest.py` switch is :option:`!-j`, which takes an integer " -"specifying how many tests run in parallel. This allows reducing the total " -"runtime on multi-core machines. This option is compatible with several other " -"options, including the :option:`!-R` switch which is known to produce long " -"runtimes. (Added by Antoine Pitrou, :issue:`6152`.) This can also be used " -"with a new :option:`!-F` switch that runs selected tests in a loop until " -"they fail. (Added by Antoine Pitrou; :issue:`7312`.)" +"Outra opção :file:`regrtest.py` é :option:`!-j`, que recebe um número " +"inteiro especificando quantos testes são executados em paralelo. Isto " +"permite reduzir o tempo total de execução em máquinas com vários núcleos. " +"Esta opção é compatível com várias outras opções, incluindo a " +"opção :option:`!-R` que é conhecida por produzir longos tempos de execução. " +"(Adicionado por Antoine Pitrou, :issue:`6152`.) Isso também pode ser usado " +"com uma nova opção :option:`!-F` que executa testes selecionados em um loop " +"até que eles falhem. (Adição de Antoine Pitrou; :issue:`7312`.)" -#: ../../whatsnew/2.7.rst:2427 +#: ../../whatsnew/2.7.rst:2432 msgid "" "When executed as a script, the :file:`py_compile.py` module now accepts " "``'-'`` as an argument, which will read standard input for the list of " "filenames to be compiled. (Contributed by Piotr Ożarowski; :issue:`8233`.)" msgstr "" -"When executed as a script, the :file:`py_compile.py` module now accepts " -"``'-'`` as an argument, which will read standard input for the list of " -"filenames to be compiled. (Contributed by Piotr Ożarowski; :issue:`8233`.)" +"Quando executado como um script, o módulo :file:`py_compile.py` agora aceita " +"``'-'`` como argumento, que lerá a entrada padrão para a lista de nomes de " +"arquivos a serem compilados. (Contribuição de Piotr " +"Ożarowski; :issue:`8233`.)" -#: ../../whatsnew/2.7.rst:2435 +#: ../../whatsnew/2.7.rst:2440 msgid "Porting to Python 2.7" -msgstr "Porting to Python 2.7" +msgstr "Portando para Python 2.7" -#: ../../whatsnew/2.7.rst:2437 +#: ../../whatsnew/2.7.rst:2442 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code:" @@ -4140,135 +4337,138 @@ msgstr "" "Esta seção lista as alterações descritas anteriormente e outras correções " "que podem exigir alterações no seu código." -#: ../../whatsnew/2.7.rst:2440 +#: ../../whatsnew/2.7.rst:2445 msgid "" "The :func:`range` function processes its arguments more consistently; it " -"will now call :meth:`__int__` on non-float, non-integer arguments that are " -"supplied to it. (Fixed by Alexander Belopolsky; :issue:`1533`.)" +"will now call :meth:`~object.__int__` on non-float, non-integer arguments " +"that are supplied to it. (Fixed by Alexander Belopolsky; :issue:`1533`.)" msgstr "" -"The :func:`range` function processes its arguments more consistently; it " -"will now call :meth:`__int__` on non-float, non-integer arguments that are " -"supplied to it. (Fixed by Alexander Belopolsky; :issue:`1533`.)" +"A função :func:`range` processa seus argumentos de forma mais consistente; " +"agora ele chamará :meth:`~object.__int__` em argumentos que não são ponto " +"flutuantes nem inteiros que são fornecidos a ele. (Correção de Alexander " +"Belopolsky; :issue:`1533`.)" -#: ../../whatsnew/2.7.rst:2445 +#: ../../whatsnew/2.7.rst:2450 msgid "" "The string :meth:`format` method changed the default precision used for " "floating-point and complex numbers from 6 decimal places to 12, which " -"matches the precision used by :func:`str`. (Changed by Eric Smith; :issue:" -"`5920`.)" +"matches the precision used by :func:`str`. (Changed by Eric " +"Smith; :issue:`5920`.)" msgstr "" -"The string :meth:`format` method changed the default precision used for " -"floating-point and complex numbers from 6 decimal places to 12, which " -"matches the precision used by :func:`str`. (Changed by Eric Smith; :issue:" -"`5920`.)" +"O método string :meth:`format` alterou a precisão padrão usada para números " +"de ponto flutuante e complexos de 6 casas decimais para 12, o que " +"corresponde à precisão usada por :func:`str`. (Alteração de Eric " +"Smith; :issue:`5920`.)" -#: ../../whatsnew/2.7.rst:2450 +#: ../../whatsnew/2.7.rst:2455 msgid "" "Because of an optimization for the :keyword:`with` statement, the special " -"methods :meth:`__enter__` and :meth:`__exit__` must belong to the object's " -"type, and cannot be directly attached to the object's instance. This " -"affects new-style classes (derived from :class:`object`) and C extension " -"types. (:issue:`6101`.)" -msgstr "" -"Because of an optimization for the :keyword:`with` statement, the special " -"methods :meth:`__enter__` and :meth:`__exit__` must belong to the object's " -"type, and cannot be directly attached to the object's instance. This affects " -"new-style classes (derived from :class:`object`) and C extension types. (:" -"issue:`6101`.)" - -#: ../../whatsnew/2.7.rst:2456 -msgid "" -"Due to a bug in Python 2.6, the *exc_value* parameter to :meth:`__exit__` " -"methods was often the string representation of the exception, not an " -"instance. This was fixed in 2.7, so *exc_value* will be an instance as " -"expected. (Fixed by Florent Xicluna; :issue:`7853`.)" -msgstr "" -"Due to a bug in Python 2.6, the *exc_value* parameter to :meth:`__exit__` " -"methods was often the string representation of the exception, not an " -"instance. This was fixed in 2.7, so *exc_value* will be an instance as " -"expected. (Fixed by Florent Xicluna; :issue:`7853`.)" - -#: ../../whatsnew/2.7.rst:2466 +"methods :meth:`~object.__enter__` and :meth:`~object.__exit__` must belong " +"to the object's type, and cannot be directly attached to the object's " +"instance. This affects new-style classes (derived from :class:`object`) and " +"C extension types. (:issue:`6101`.)" +msgstr "" +"Por causa de uma otimização para a instrução :keyword:`with`, os métodos " +"especiais :meth:`~object.__enter__` e :meth:`~object.__exit__` devem " +"pertencer ao tipo do objeto e não podem ser diretamente anexados ao " +"instância do objeto. Isto afeta classes de novo estilo (derivadas " +"de :class:`object`) e tipos de extensão C. (:issue:`6101`.)" + +#: ../../whatsnew/2.7.rst:2461 +msgid "" +"Due to a bug in Python 2.6, the *exc_value* parameter " +"to :meth:`~object.__exit__` methods was often the string representation of " +"the exception, not an instance. This was fixed in 2.7, so *exc_value* will " +"be an instance as expected. (Fixed by Florent Xicluna; :issue:`7853`.)" +msgstr "" +"Devido a um bug no Python 2.6, o parâmetro *exc_value* para os " +"métodos :meth:`~object.__exit__` era frequentemente a representação de " +"string da exceção, não uma instância. Isso foi corrigido na versão 2.7, " +"então *exc_value* será uma instância conforme esperado. (Correção de Florent " +"Xicluna; :issue:`7853`.)" + +#: ../../whatsnew/2.7.rst:2471 msgid "In the standard library:" -msgstr "In the standard library:" +msgstr "Na biblioteca padrão:" -#: ../../whatsnew/2.7.rst:2468 +#: ../../whatsnew/2.7.rst:2473 msgid "" "Operations with :class:`~datetime.datetime` instances that resulted in a " -"year falling outside the supported range didn't always raise :exc:" -"`OverflowError`. Such errors are now checked more carefully and will now " -"raise the exception. (Reported by Mark Leander, patch by Anand B. Pillai and " -"Alexander Belopolsky; :issue:`7150`.)" +"year falling outside the supported range didn't always " +"raise :exc:`OverflowError`. Such errors are now checked more carefully and " +"will now raise the exception. (Reported by Mark Leander, patch by Anand B. " +"Pillai and Alexander Belopolsky; :issue:`7150`.)" msgstr "" -"Operations with :class:`~datetime.datetime` instances that resulted in a " -"year falling outside the supported range didn't always raise :exc:" -"`OverflowError`. Such errors are now checked more carefully and will now " -"raise the exception. (Reported by Mark Leander, patch by Anand B. Pillai and " -"Alexander Belopolsky; :issue:`7150`.)" +"Operações com instâncias :class:`~datetime.datetime` que resultaram em um " +"ano fora do intervalo suportado nem sempre levantam :exc:`OverflowError`. " +"Esses erros agora são verificados com mais cuidado e irão levantar a " +"exceção. (Relato de Mark Leander, patch de Anand B. Pillai e Alexander " +"Belopolsky; :issue:`7150`.)" -#: ../../whatsnew/2.7.rst:2474 +#: ../../whatsnew/2.7.rst:2479 msgid "" -"When using :class:`~decimal.Decimal` instances with a string's :meth:" -"`format` method, the default alignment was previously left-alignment. This " -"has been changed to right-alignment, which might change the output of your " -"programs. (Changed by Mark Dickinson; :issue:`6857`.)" +"When using :class:`~decimal.Decimal` instances with a " +"string's :meth:`format` method, the default alignment was previously left-" +"alignment. This has been changed to right-alignment, which might change the " +"output of your programs. (Changed by Mark Dickinson; :issue:`6857`.)" msgstr "" -"When using :class:`~decimal.Decimal` instances with a string's :meth:" -"`format` method, the default alignment was previously left-alignment. This " -"has been changed to right-alignment, which might change the output of your " -"programs. (Changed by Mark Dickinson; :issue:`6857`.)" +"Ao usar instâncias :class:`~decimal.Decimal` com o método :meth:`format` de " +"uma string, o alinhamento padrão era anteriormente o alinhamento à esquerda. " +"Isso foi alterado para alinhamento à direita, o que pode alterar a saída dos " +"seus programas. (Alteração de Mark Dickinson; :issue:`6857`.)" -#: ../../whatsnew/2.7.rst:2480 +#: ../../whatsnew/2.7.rst:2491 msgid "" -"Comparisons involving a signaling NaN value (or ``sNAN``) now signal :const:" -"`~decimal.InvalidOperation` instead of silently returning a true or false " -"value depending on the comparison operator. Quiet NaN values (or ``NaN``) " -"are now hashable. (Fixed by Mark Dickinson; :issue:`7279`.)" +"The :mod:`xml.etree.ElementTree` library no longer escapes ampersands and " +"angle brackets when outputting an XML processing instruction (which looks " +"like ````) or comment (which looks like " +"````). (Patch by Neil Muller; :issue:`2746`.)" msgstr "" -"Comparisons involving a signaling NaN value (or ``sNAN``) now signal :const:" -"`~decimal.InvalidOperation` instead of silently returning a true or false " -"value depending on the comparison operator. Quiet NaN values (or ``NaN``) " -"are now hashable. (Fixed by Mark Dickinson; :issue:`7279`.)" +"A biblioteca :mod:`xml.etree.ElementTree` não escapa mais os caracteres de e-" +"comercial e colchetes angulares ao gerar uma instrução de processamento XML " +"(que se parece com ````) ou comentário " +"( que se parece com ````). (Patch de Neil " +"Muller; :issue:`2746`.)" -#: ../../whatsnew/2.7.rst:2492 +#: ../../whatsnew/2.7.rst:2497 msgid "" -"The :meth:`~StringIO.StringIO.readline` method of :class:`~StringIO." -"StringIO` objects now does nothing when a negative length is requested, as " -"other file-like objects do. (:issue:`7348`)." +"The :meth:`!readline` method of :class:`~io.StringIO` objects now does " +"nothing when a negative length is requested, as other file-like objects do. " +"(:issue:`7348`)." msgstr "" -"The :meth:`~StringIO.StringIO.readline` method of :class:`~StringIO." -"StringIO` objects now does nothing when a negative length is requested, as " -"other file-like objects do. (:issue:`7348`)." +"O método :meth:`!readline` dos objetos :class:`~io.StringIO` agora não faz " +"nada quando um comprimento negativo é solicitado, como fazem outros objetos " +"arquivo ou similares. (:issue:`7348`)." -#: ../../whatsnew/2.7.rst:2535 +#: ../../whatsnew/2.7.rst:2540 msgid "For C extensions:" -msgstr "For C extensions:" +msgstr "Para extensões C:" -#: ../../whatsnew/2.7.rst:2537 +#: ../../whatsnew/2.7.rst:2542 msgid "" "C extensions that use integer format codes with the ``PyArg_Parse*`` family " "of functions will now raise a :exc:`TypeError` exception instead of " "triggering a :exc:`DeprecationWarning` (:issue:`5080`)." msgstr "" -"C extensions that use integer format codes with the ``PyArg_Parse*`` family " -"of functions will now raise a :exc:`TypeError` exception instead of " -"triggering a :exc:`DeprecationWarning` (:issue:`5080`)." +"Extensões C que usam códigos de formato inteiro com a família de funções " +"``PyArg_Parse*`` agora levantarão uma exceção :exc:`TypeError` em vez de " +"disparar uma :exc:`DeprecationWarning` (:issue:`5080`)." -#: ../../whatsnew/2.7.rst:2541 +#: ../../whatsnew/2.7.rst:2546 msgid "" -"Use the new :c:func:`PyOS_string_to_double` function instead of the old :c:" -"func:`PyOS_ascii_strtod` and :c:func:`PyOS_ascii_atof` functions, which are " -"now deprecated." +"Use the new :c:func:`PyOS_string_to_double` function instead of the " +"old :c:func:`!PyOS_ascii_strtod` and :c:func:`!PyOS_ascii_atof` functions, " +"which are now deprecated." msgstr "" -"Use the new :c:func:`PyOS_string_to_double` function instead of the old :c:" -"func:`PyOS_ascii_strtod` and :c:func:`PyOS_ascii_atof` functions, which are " -"now deprecated." +"Use a nova função :c:func:`PyOS_string_to_double` em vez das antigas " +"funções :c:func:`!PyOS_ascii_strtod` e :c:func:`!PyOS_ascii_atof`, que agora " +"estão descontinuadas." -#: ../../whatsnew/2.7.rst:2545 +#: ../../whatsnew/2.7.rst:2550 msgid "For applications that embed Python:" -msgstr "For applications that embed Python:" +msgstr "Para aplicações que incorporam Python:" -#: ../../whatsnew/2.7.rst:2547 +#: ../../whatsnew/2.7.rst:2552 msgid "" "The :c:func:`PySys_SetArgvEx` function was added, letting applications close " "a security hole when the existing :c:func:`PySys_SetArgv` function was " @@ -4276,17 +4476,17 @@ msgid "" "consider whether the application should be using :c:func:`PySys_SetArgvEx` " "with *updatepath* set to false." msgstr "" -"The :c:func:`PySys_SetArgvEx` function was added, letting applications close " -"a security hole when the existing :c:func:`PySys_SetArgv` function was used. " -"Check whether you're calling :c:func:`PySys_SetArgv` and carefully consider " -"whether the application should be using :c:func:`PySys_SetArgvEx` with " -"*updatepath* set to false." +"A função :c:func:`PySys_SetArgvEx` foi adicionada, permitindo que " +"aplicativos fechem uma falha de segurança quando a " +"função :c:func:`PySys_SetArgv` existente for usada. Verifique se você está " +"chamando :c:func:`PySys_SetArgv` e considere cuidadosamente se a aplicação " +"deve usar :c:func:`PySys_SetArgvEx` com *updatepath* definido como falso." -#: ../../whatsnew/2.7.rst:2560 +#: ../../whatsnew/2.7.rst:2565 msgid "New Features Added to Python 2.7 Maintenance Releases" -msgstr "New Features Added to Python 2.7 Maintenance Releases" +msgstr "Novos recursos adicionados às versões de manutenção do Python 2.7" -#: ../../whatsnew/2.7.rst:2562 +#: ../../whatsnew/2.7.rst:2567 msgid "" "New features may be added to Python 2.7 maintenance releases when the " "situation genuinely calls for it. Any such additions must go through the " @@ -4294,117 +4494,126 @@ msgid "" "can't be adequately addressed by either adding the new feature solely to " "Python 3, or else by publishing it on the Python Package Index." msgstr "" -"New features may be added to Python 2.7 maintenance releases when the " -"situation genuinely calls for it. Any such additions must go through the " -"Python Enhancement Proposal process, and make a compelling case for why they " -"can't be adequately addressed by either adding the new feature solely to " -"Python 3, or else by publishing it on the Python Package Index." +"Novos recursos podem ser adicionados às versões de manutenção do Python 2.7 " +"quando a situação realmente exigir. Quaisquer adições devem passar pelo " +"processo de proposta de melhoria do Python, ou em inglês Python Enhancement " +"Proposal -- PEP, e apresentar um argumento convincente sobre por que não " +"podem ser abordadas adequadamente adicionando o novo recurso apenas ao " +"Python 3 ou publicando-o no Python Package Index." -#: ../../whatsnew/2.7.rst:2568 +#: ../../whatsnew/2.7.rst:2573 msgid "" "In addition to the specific proposals listed below, there is a general " "exemption allowing new ``-3`` warnings to be added in any Python 2.7 " "maintenance release." msgstr "" -"In addition to the specific proposals listed below, there is a general " -"exemption allowing new ``-3`` warnings to be added in any Python 2.7 " -"maintenance release." +"Além das propostas específicas listadas abaixo, há uma isenção geral que " +"permite que novos avisos ``-3`` sejam adicionados em qualquer versão de " +"manutenção do Python 2.7." -#: ../../whatsnew/2.7.rst:2574 +#: ../../whatsnew/2.7.rst:2579 msgid "Two new environment variables for debug mode" -msgstr "" +msgstr "Duas novas variáveis de ambiente para modo de depuração" -#: ../../whatsnew/2.7.rst:2576 +#: ../../whatsnew/2.7.rst:2581 msgid "" -"In debug mode, the ``[xxx refs]`` statistic is not written by default, the :" -"envvar:`PYTHONSHOWREFCOUNT` environment variable now must also be set. " +"In debug mode, the ``[xxx refs]`` statistic is not written by default, " +"the :envvar:`!PYTHONSHOWREFCOUNT` environment variable now must also be set. " "(Contributed by Victor Stinner; :issue:`31733`.)" msgstr "" +"No modo de depuração, a estatística ``[xxx refs]`` não é escrita por padrão, " +"a variável de ambiente :envvar:`!PYTHONSHOWREFCOUNT` agora também deve ser " +"definida. (Contribuição de Victor Stinner; :issue:`31733`.)" -#: ../../whatsnew/2.7.rst:2580 +#: ../../whatsnew/2.7.rst:2585 msgid "" "When Python is compiled with ``COUNT_ALLOC`` defined, allocation counts are " -"no longer dumped by default anymore: the :envvar:`PYTHONSHOWALLOCCOUNT` " +"no longer dumped by default anymore: the :envvar:`!PYTHONSHOWALLOCCOUNT` " "environment variable must now also be set. Moreover, allocation counts are " -"now dumped into stderr, rather than stdout. (Contributed by Victor Stinner; :" -"issue:`31692`.)" +"now dumped into stderr, rather than stdout. (Contributed by Victor " +"Stinner; :issue:`31692`.)" msgstr "" +"Quando Python é compilado com ``COUNT_ALLOC`` definido, as contagens de " +"alocação não são mais despejadas por padrão: a variável de " +"ambiente :envvar:`!PYTHONSHOWALLOCCOUNT` agora também deve ser definida. " +"Além disso, as contagens de alocação agora são despejadas no stderr, em vez " +"do stdout. (Contribuição de Victor Stinner; :issue:`31692`.)" -#: ../../whatsnew/2.7.rst:2589 +#: ../../whatsnew/2.7.rst:2594 msgid "PEP 434: IDLE Enhancement Exception for All Branches" -msgstr "PEP 434: IDLE Enhancement Exception for All Branches" +msgstr "PEP 434: Exceção de aprimoramento do IDLE para todos os branches" -#: ../../whatsnew/2.7.rst:2591 +#: ../../whatsnew/2.7.rst:2596 msgid "" ":pep:`434` describes a general exemption for changes made to the IDLE " "development environment shipped along with Python. This exemption makes it " "possible for the IDLE developers to provide a more consistent user " "experience across all supported versions of Python 2 and 3." msgstr "" -":pep:`434` describes a general exemption for changes made to the IDLE " -"development environment shipped along with Python. This exemption makes it " -"possible for the IDLE developers to provide a more consistent user " -"experience across all supported versions of Python 2 and 3." +":pep:`434` descreve uma isenção geral para alterações feitas no ambiente de " +"desenvolvimento IDLE enviado junto com o Python. Esta isenção permite que os " +"desenvolvedores de IDLE forneçam uma experiência de usuário mais consistente " +"em todas as versões suportadas do Python 2 e 3." -#: ../../whatsnew/2.7.rst:2596 +#: ../../whatsnew/2.7.rst:2601 msgid "" "For details of any IDLE changes, refer to the NEWS file for the specific " "release." msgstr "" -"For details of any IDLE changes, refer to the NEWS file for the specific " -"release." +"Para obter detalhes sobre quaisquer alterações do IDLE, consulte o arquivo " +"NEWS da versão específica." -#: ../../whatsnew/2.7.rst:2601 +#: ../../whatsnew/2.7.rst:2606 msgid "PEP 466: Network Security Enhancements for Python 2.7" -msgstr "PEP 466: Network Security Enhancements for Python 2.7" +msgstr "PEP 466: Aprimoramentos de segurança de rede do Python 2.7" -#: ../../whatsnew/2.7.rst:2603 +#: ../../whatsnew/2.7.rst:2608 msgid "" ":pep:`466` describes a number of network security enhancement proposals that " "have been approved for inclusion in Python 2.7 maintenance releases, with " "the first of those changes appearing in the Python 2.7.7 release." msgstr "" -":pep:`466` describes a number of network security enhancement proposals that " -"have been approved for inclusion in Python 2.7 maintenance releases, with " -"the first of those changes appearing in the Python 2.7.7 release." +":pep:`466` descreve uma série de propostas de melhoria de segurança de rede " +"que foram aprovadas para inclusão nas versões de manutenção do Python 2.7, " +"com a primeira dessas mudanças aparecendo na versão Python 2.7.7." -#: ../../whatsnew/2.7.rst:2607 +#: ../../whatsnew/2.7.rst:2612 msgid ":pep:`466` related features added in Python 2.7.7:" -msgstr ":pep:`466` related features added in Python 2.7.7:" +msgstr "Recursos relacionados a :pep:`466` adicionados no Python 2.7.7:" -#: ../../whatsnew/2.7.rst:2609 +#: ../../whatsnew/2.7.rst:2614 msgid "" ":func:`hmac.compare_digest` was backported from Python 3 to make a timing " "attack resistant comparison operation available to Python 2 applications. " "(Contributed by Alex Gaynor; :issue:`21306`.)" msgstr "" -":func:`hmac.compare_digest` was backported from Python 3 to make a timing " -"attack resistant comparison operation available to Python 2 applications. " -"(Contributed by Alex Gaynor; :issue:`21306`.)" +":func:`hmac.compare_digest` foi portado do Python 3 para disponibilizar uma " +"operação de comparação resistente a ataques de tempo para aplicações em " +"Python 2. (Contribuição de Alex Gaynor; :issue:`21306`.)" -#: ../../whatsnew/2.7.rst:2613 +#: ../../whatsnew/2.7.rst:2618 msgid "" "OpenSSL 1.0.1g was upgraded in the official Windows installers published on " "python.org. (Contributed by Zachary Ware; :issue:`21462`.)" msgstr "" -"OpenSSL 1.0.1g was upgraded in the official Windows installers published on " -"python.org. (Contributed by Zachary Ware; :issue:`21462`.)" +"OpenSSL 1.0.1g foi atualizado nos instaladores oficiais do Windows " +"publicados em python.org. (Contribuição de Zachary Ware; :issue:`21462`.)" -#: ../../whatsnew/2.7.rst:2616 +#: ../../whatsnew/2.7.rst:2621 msgid ":pep:`466` related features added in Python 2.7.8:" -msgstr ":pep:`466` relação das características adicionadas no Python 2.7.8:" +msgstr "Recursos relacionados a :pep:`466` adicionados no Python 2.7.8:" -#: ../../whatsnew/2.7.rst:2618 +#: ../../whatsnew/2.7.rst:2623 msgid "" ":func:`hashlib.pbkdf2_hmac` was backported from Python 3 to make a hashing " "algorithm suitable for secure password storage broadly available to Python 2 " "applications. (Contributed by Alex Gaynor; :issue:`21304`.)" msgstr "" -":func:`hashlib.pbkdf2_hmac` was backported from Python 3 to make a hashing " -"algorithm suitable for secure password storage broadly available to Python 2 " -"applications. (Contributed by Alex Gaynor; :issue:`21304`.)" +":func:`hashlib.pbkdf2_hmac` foi portado do Python 3 para tornar um algoritmo " +"de hash adequado para armazenamento seguro de senhas amplamente disponível " +"para aplicações Python 2. (Contribuição de Alex Gaynor; :issue:`21304`.)" -#: ../../whatsnew/2.7.rst:2622 +#: ../../whatsnew/2.7.rst:2627 msgid "" "OpenSSL 1.0.1h was upgraded for the official Windows installers published on " "python.org. (contributed by Zachary Ware in :issue:`21671` for CVE-2014-0224)" @@ -4412,62 +4621,72 @@ msgstr "" "OpenSSL 1.0.1h was upgraded for the official Windows installers published on " "python.org. (contributed by Zachary Ware in :issue:`21671` for CVE-2014-0224)" -#: ../../whatsnew/2.7.rst:2625 +#: ../../whatsnew/2.7.rst:2630 msgid ":pep:`466` related features added in Python 2.7.9:" -msgstr ":pep:`466` related features added in Python 2.7.9:" +msgstr "Recursos relacionados a :pep:`466` adicionados no Python 2.7.9:" -#: ../../whatsnew/2.7.rst:2627 +#: ../../whatsnew/2.7.rst:2632 msgid "" "Most of Python 3.4's :mod:`ssl` module was backported. This means :mod:`ssl` " "now supports Server Name Indication, TLS1.x settings, access to the platform " "certificate store, the :class:`~ssl.SSLContext` class, and other features. " "(Contributed by Alex Gaynor and David Reid; :issue:`21308`.)" msgstr "" -"Most of Python 3.4's :mod:`ssl` module was backported. This means :mod:`ssl` " -"now supports Server Name Indication, TLS1.x settings, access to the platform " -"certificate store, the :class:`~ssl.SSLContext` class, and other features. " -"(Contributed by Alex Gaynor and David Reid; :issue:`21308`.)" +"A maior parte do módulo :mod:`ssl` do Python 3.4 foi portada. Isso significa " +"que :mod:`ssl` agora provê suporte a indicar de nome de servidor, " +"configurações TLS1.x, acesso ao armazenamento de certificados da plataforma, " +"a classe :class:`~ssl.SSLContext` e outros recursos. (Contribuição de Alex " +"Gaynor e David Reid; :issue:`21308`.)" -#: ../../whatsnew/2.7.rst:2632 +#: ../../whatsnew/2.7.rst:2637 msgid "" "Refer to the \"Version added: 2.7.9\" notes in the module documentation for " "specific details." msgstr "" +"Consulte as notas \"Versão adicionada: 2.7.9\" na documentação do módulo " +"para obter detalhes específicos." -#: ../../whatsnew/2.7.rst:2635 +#: ../../whatsnew/2.7.rst:2640 msgid "" ":func:`os.urandom` was changed to cache a file descriptor to ``/dev/" "urandom`` instead of reopening ``/dev/urandom`` on every call. (Contributed " "by Alex Gaynor; :issue:`21305`.)" msgstr "" -":func:`os.urandom` was changed to cache a file descriptor to ``/dev/" -"urandom`` instead of reopening ``/dev/urandom`` on every call. (Contributed " -"by Alex Gaynor; :issue:`21305`.)" +":func:`os.urandom` foi alterado para armazenar em cache um descritor de " +"arquivo para ``/dev/urandom`` em vez de reabrir ``/dev/urandom`` em cada " +"chamada. (Contribuição de Alex Gaynor; :issue:`21305`.)" -#: ../../whatsnew/2.7.rst:2639 +#: ../../whatsnew/2.7.rst:2644 msgid "" -":data:`hashlib.algorithms_guaranteed` and :data:`hashlib." -"algorithms_available` were backported from Python 3 to make it easier for " -"Python 2 applications to select the strongest available hash algorithm. " -"(Contributed by Alex Gaynor in :issue:`21307`)" +":data:`hashlib.algorithms_guaranteed` " +"and :data:`hashlib.algorithms_available` were backported from Python 3 to " +"make it easier for Python 2 applications to select the strongest available " +"hash algorithm. (Contributed by Alex Gaynor in :issue:`21307`)" msgstr "" +":data:`hashlib.algorithms_guaranteed` e :data:`hashlib.algorithms_available` " +"foram portados do Python 3 para tornar mais fácil para os aplicações Python " +"2 selecionarem o algoritmo de hash mais forte disponível. (Contribuição de " +"Alex Gaynor em :issue:`21307`)" -#: ../../whatsnew/2.7.rst:2646 +#: ../../whatsnew/2.7.rst:2651 msgid "PEP 477: Backport ensurepip (PEP 453) to Python 2.7" -msgstr "" +msgstr "PEP 477: Backport do ensurepip (PEP 453) para o Python 2.7" -#: ../../whatsnew/2.7.rst:2648 +#: ../../whatsnew/2.7.rst:2653 msgid "" ":pep:`477` approves the inclusion of the :pep:`453` ensurepip module and the " "improved documentation that was enabled by it in the Python 2.7 maintenance " "releases, appearing first in the Python 2.7.9 release." msgstr "" +"A :pep:`477` aprova a inclusão do módulo ensurepip do :pep:`453` e da " +"documentação aprimorada que foi habilitada por ele nas versões de manutenção " +"do Python 2.7, aparecendo primeiro na versão Python 2.7.9." -#: ../../whatsnew/2.7.rst:2654 +#: ../../whatsnew/2.7.rst:2659 msgid "Bootstrapping pip By Default" msgstr "Bootstrapping pip By Default" -#: ../../whatsnew/2.7.rst:2656 +#: ../../whatsnew/2.7.rst:2661 msgid "" "The new :mod:`ensurepip` module (defined in :pep:`453`) provides a standard " "cross-platform mechanism to bootstrap the pip installer into Python " @@ -4476,23 +4695,37 @@ msgid "" "to the latest version of ``pip`` that is available at the time of creating " "the release candidate." msgstr "" +"O novo módulo :mod:`ensurepip` (definido em :pep:`453`) fornece um mecanismo " +"padrão de plataforma cruzada para inicializar o instalador pip em " +"instalações Python. A versão do ``pip`` incluída no Python 2.7.9 é ``pip`` " +"1.5.6, e futuras versões de manutenção 2.7.x atualizarão a versão empacotada " +"para a versão mais recente do ``pip`` que está disponível em o momento da " +"criação do candidato a lançamento." -#: ../../whatsnew/2.7.rst:2663 +#: ../../whatsnew/2.7.rst:2668 msgid "" "By default, the commands ``pip``, ``pipX`` and ``pipX.Y`` will be installed " "on all platforms (where X.Y stands for the version of the Python " "installation), along with the ``pip`` Python package and its dependencies." msgstr "" +"Por padrão, os comandos ``pip``, ``pipX`` e ``pipX.Y`` serão instalados em " +"todas as plataformas (onde X.Y representa a versão da instalação do Python), " +"junto com o pacote Python via ``pip`` e suas dependências." -#: ../../whatsnew/2.7.rst:2667 +#: ../../whatsnew/2.7.rst:2672 msgid "" "For CPython :ref:`source builds on POSIX systems `, " "the ``make install`` and ``make altinstall`` commands do not bootstrap " "``pip`` by default. This behaviour can be controlled through configure " "options, and overridden through Makefile options." msgstr "" +"Para :ref:`construções de fontes do CPython em sistemas POSIX `, os comandos ``make install`` e ``make altinstall`` não " +"inicializam ``pip`` por padrão. Este comportamento pode ser controlado " +"através de opções de configuração e substituído através de opções do " +"Makefile." -#: ../../whatsnew/2.7.rst:2672 +#: ../../whatsnew/2.7.rst:2677 msgid "" "On Windows and Mac OS X, the CPython installers now default to installing " "``pip`` along with CPython itself (users may opt out of installing it during " @@ -4508,7 +4741,7 @@ msgstr "" "default, otherwise it can still be accessed through the Python launcher for " "Windows as ``py -m pip``." -#: ../../whatsnew/2.7.rst:2679 +#: ../../whatsnew/2.7.rst:2684 msgid "" "As `discussed in the PEP`__, platform packagers may choose not to install " "these commands by default, as long as, when invoked, they provide clear and " @@ -4520,11 +4753,11 @@ msgstr "" "simple directions on how to install them on that platform (usually using the " "system package manager)." -#: ../../whatsnew/2.7.rst:2688 +#: ../../whatsnew/2.7.rst:2693 msgid "Documentation Changes" msgstr "Mudanças na documentação" -#: ../../whatsnew/2.7.rst:2690 +#: ../../whatsnew/2.7.rst:2695 msgid "" "As part of this change, the :ref:`installing-index` and :ref:`distributing-" "index` sections of the documentation have been completely redesigned as " @@ -4540,21 +4773,21 @@ msgstr "" "Packaging User Guide `__ and the documentation " "of the individual projects." -#: ../../whatsnew/2.7.rst:2698 +#: ../../whatsnew/2.7.rst:2703 msgid "" "However, as this migration is currently still incomplete, the legacy " -"versions of those guides remaining available as :ref:`install-index` and :" -"ref:`distutils-index`." +"versions of those guides remaining available as :ref:`install-index` " +"and :ref:`distutils-index`." msgstr "" "However, as this migration is currently still incomplete, the legacy " -"versions of those guides remaining available as :ref:`install-index` and :" -"ref:`distutils-index`." +"versions of those guides remaining available as :ref:`install-index` " +"and :ref:`distutils-index`." -#: ../../whatsnew/2.7.rst:2705 +#: ../../whatsnew/2.7.rst:2710 msgid ":pep:`453` -- Explicit bootstrapping of pip in Python installations" msgstr ":pep:`453` -- Explicit bootstrapping of pip in Python installations" -#: ../../whatsnew/2.7.rst:2705 +#: ../../whatsnew/2.7.rst:2710 msgid "" "PEP written by Donald Stufft and Nick Coghlan, implemented by Donald Stufft, " "Nick Coghlan, Martin von Löwis and Ned Deily." @@ -4562,36 +4795,43 @@ msgstr "" "PEP written by Donald Stufft and Nick Coghlan, implemented by Donald Stufft, " "Nick Coghlan, Martin von Löwis and Ned Deily." -#: ../../whatsnew/2.7.rst:2709 +#: ../../whatsnew/2.7.rst:2714 msgid "" "PEP 476: Enabling certificate verification by default for stdlib http clients" msgstr "" -"PEP 476: Ativando a verificação de certificados por padrão para clientes " -"stdlib http" +"PEP 476: Habilitando verificação de certificado por padrão para clientes " +"http stdlib" -#: ../../whatsnew/2.7.rst:2711 +#: ../../whatsnew/2.7.rst:2716 msgid "" -":pep:`476` updated :mod:`httplib` and modules which use it, such as :mod:" -"`urllib2` and :mod:`xmlrpclib`, to now verify that the server presents a " -"certificate which is signed by a Certificate Authority in the platform trust " -"store and whose hostname matches the hostname being requested by default, " -"significantly improving security for many applications. This change was made " -"in the Python 2.7.9 release." +":pep:`476` updated :mod:`httplib ` and modules which use it, such " +"as :mod:`urllib2 ` and :mod:`xmlrpclib `, to " +"now verify that the server presents a certificate which is signed by a " +"Certificate Authority in the platform trust store and whose hostname matches " +"the hostname being requested by default, significantly improving security " +"for many applications. This change was made in the Python 2.7.9 release." msgstr "" +":pep:`476` atualizou :mod:`httplib ` e módulos que o utilizam, " +"como :mod:`urllib2 ` e :mod:`xmlrpclib `, " +"para agora verificar se o servidor apresenta um certificado que é assinado " +"por uma Autoridade Certificadora no armazenamento confiável da plataforma e " +"cujo nome de host corresponde ao nome de host solicitado por padrão, " +"melhorando significativamente a segurança para muitas aplicações. Essa " +"alteração foi feita na versão 2.7.9 do Python." -#: ../../whatsnew/2.7.rst:2718 +#: ../../whatsnew/2.7.rst:2724 msgid "" "For applications which require the old previous behavior, they can pass an " "alternate context::" msgstr "" -"Para aplicativos que exigem o antigo comportamento anterior, eles podem " -"passar um contexto alternativo ::" +"Para aplicações que exigem o antigo comportamento anterior, elas podem " +"passar um contexto alternativo::" -#: ../../whatsnew/2.7.rst:2735 +#: ../../whatsnew/2.7.rst:2741 msgid "PEP 493: HTTPS verification migration tools for Python 2.7" -msgstr "" +msgstr "PEP 493: Ferramentas de migração de verificação HTTPS para Python 2.7" -#: ../../whatsnew/2.7.rst:2737 +#: ../../whatsnew/2.7.rst:2743 msgid "" ":pep:`493` provides additional migration tools to support a more incremental " "infrastructure upgrade process for environments containing applications and " @@ -4599,85 +4839,113 @@ msgid "" "certificates when establishing client HTTPS connections. These additions " "were made in the Python 2.7.12 release." msgstr "" +":pep:`493` fornece ferramentas de migração adicionais para provê um processo " +"de atualização de infraestrutura mais incremental para ambientes contendo " +"aplicações e serviços que dependem do processamento historicamente " +"permissivo de certificados de servidor ao estabelecer conexões HTTPS de " +"clientes. Essas adições foram feitas na versão 2.7.12 do Python." -#: ../../whatsnew/2.7.rst:2743 +#: ../../whatsnew/2.7.rst:2749 msgid "" "These tools are intended for use in cases where affected applications and " "services can't be modified to explicitly pass a more permissive SSL context " "when establishing the connection." msgstr "" +"Estas ferramentas destinam-se a ser utilizadas em casos em que as aplicações " +"e serviços afetados não podem ser modificados para passar explicitamente um " +"contexto SSL mais permissivo ao estabelecer a ligação." -#: ../../whatsnew/2.7.rst:2747 +#: ../../whatsnew/2.7.rst:2753 msgid "" "For applications and services which can't be modified at all, the new " "``PYTHONHTTPSVERIFY`` environment variable may be set to ``0`` to revert an " "entire Python process back to the default permissive behaviour of Python " "2.7.8 and earlier." msgstr "" +"Para aplicações e serviços que não podem ser modificados, a nova variável de " +"ambiente ``PYTHONHTTPSVERIFY`` pode ser definida como ``0`` para reverter " +"todo um processo Python de volta ao comportamento permissivo padrão do " +"Python 2.7.8 e anteriores." -#: ../../whatsnew/2.7.rst:2752 +#: ../../whatsnew/2.7.rst:2758 msgid "" "For cases where the connection establishment code can't be modified, but the " -"overall application can be, the new :func:`ssl._https_verify_certificates` " +"overall application can be, the new :func:`!ssl._https_verify_certificates` " "function can be used to adjust the default behaviour at runtime." msgstr "" +"Para casos em que o código de estabelecimento da conexão não pode ser " +"modificado, mas a aplicação geral pode, a nova função :func:`!" +"ssl._https_verify_certificates` pode ser usada para ajustar o comportamento " +"padrão em tempo de execução." -#: ../../whatsnew/2.7.rst:2758 +#: ../../whatsnew/2.7.rst:2764 msgid "New ``make regen-all`` build target" -msgstr "" +msgstr "Novo alvo de construção ``make regen-all``" -#: ../../whatsnew/2.7.rst:2760 +#: ../../whatsnew/2.7.rst:2766 msgid "" "To simplify cross-compilation, and to ensure that CPython can reliably be " "compiled without requiring an existing version of Python to already be " "available, the autotools-based build system no longer attempts to implicitly " "recompile generated files based on file modification times." msgstr "" +"Para simplificar a compilação cruzada e garantir que o CPython possa ser " +"compilado de forma confiável sem exigir que uma versão existente do Python " +"já esteja disponível, o sistema de construção baseado em autotools não tenta " +"mais recompilar implicitamente os arquivos gerados com base nos tempos de " +"modificação dos arquivos." -#: ../../whatsnew/2.7.rst:2765 +#: ../../whatsnew/2.7.rst:2771 msgid "" "Instead, a new ``make regen-all`` command has been added to force " "regeneration of these files when desired (e.g. after an initial version of " "Python has already been built based on the pregenerated versions)." msgstr "" +"Em vez disso, um novo comando ``make regen-all`` foi adicionado para forçar " +"a regeneração desses arquivos quando desejado (por exemplo, após uma versão " +"inicial do Python já ter sido construída com base nas versões pré-geradas)." -#: ../../whatsnew/2.7.rst:2769 +#: ../../whatsnew/2.7.rst:2775 msgid "" -"More selective regeneration targets are also defined - see :source:`Makefile." -"pre.in` for details." +"More selective regeneration targets are also defined - " +"see :source:`Makefile.pre.in` for details." msgstr "" +"Alvos de regeneração mais seletivos também são definidos -- " +"veja :source:`Makefile.pre.in` para detalhes." -#: ../../whatsnew/2.7.rst:2772 ../../whatsnew/2.7.rst:2785 +#: ../../whatsnew/2.7.rst:2778 ../../whatsnew/2.7.rst:2791 msgid "(Contributed by Victor Stinner in :issue:`23404`.)" msgstr "(Contribuição de Victor Stinner em :issue:`23404`.)" -#: ../../whatsnew/2.7.rst:2778 +#: ../../whatsnew/2.7.rst:2784 msgid "Removal of ``make touch`` build target" -msgstr "" +msgstr "Remoção do alvo de construção ``make touch``" -#: ../../whatsnew/2.7.rst:2780 +#: ../../whatsnew/2.7.rst:2786 msgid "" "The ``make touch`` build target previously used to request implicit " "regeneration of generated files by updating their modification times has " "been removed." msgstr "" +"O alvo de construção ``make touch`` usado anteriormente para solicitar " +"regeneração implícita de arquivos gerados atualizando seus tempos de " +"modificação foi removido." -#: ../../whatsnew/2.7.rst:2783 +#: ../../whatsnew/2.7.rst:2789 msgid "It has been replaced by the new ``make regen-all`` target." -msgstr "" +msgstr "Ele foi substituído pelo novo alvo ``make regen-all``." -#: ../../whatsnew/2.7.rst:2794 +#: ../../whatsnew/2.7.rst:2800 msgid "Acknowledgements" msgstr "Reconhecimentos" -#: ../../whatsnew/2.7.rst:2796 +#: ../../whatsnew/2.7.rst:2802 msgid "" "The author would like to thank the following people for offering " "suggestions, corrections and assistance with various drafts of this article: " "Nick Coghlan, Philip Jenvey, Ryan Lovett, R. David Murray, Hugh Secker-" "Walker." msgstr "" -"The author would like to thank the following people for offering " -"suggestions, corrections and assistance with various drafts of this article: " -"Nick Coghlan, Philip Jenvey, Ryan Lovett, R. David Murray, Hugh Secker-" -"Walker." +"O autor gostaria de agradecer às seguintes pessoas por oferecerem sugestões, " +"correções e assistência com vários rascunhos deste artigo: Nick Coghlan, " +"Philip Jenvey, Ryan Lovett, R. David Murray, Hugh Secker-Walker." diff --git a/whatsnew/3.0.po b/whatsnew/3.0.po index 4088d8b7c..37e97c30a 100644 --- a/whatsnew/3.0.po +++ b/whatsnew/3.0.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Henrique Junqueira, 2022 -# Adorilson Bezerra , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Adorilson Bezerra , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -51,13 +47,14 @@ msgid "" "warts, and removing a lot of old cruft." msgstr "" "Este artigo explica os novos recursos do Python 3.0, em comparação com o " -"2.6. Python 3.0, também conhecido como \"Python 3000\" ou \"Py3K\", é o " +"2.6. O Python 3.0, também conhecido como \"Python 3000\" ou \"Py3K\", é o " "primeiro lançamento do Python *intencionalmente incompatível com versões " "anteriores*. O Python 3.0 foi lançado em 3 de dezembro de 2008. Há mais " -"mudanças do que em uma versão típica e outras que são importantes para todos " -"os usuários do Python. No entanto, depois de assimilar as mudanças, você " -"descobrirá que o Python realmente não mudou muito - em geral, estamos " -"corrigindo inconvenientes bem conhecidos e removendo muitas coisas antigas." +"mudanças do que em um lançamento típico, e mais que são importantes para " +"todos os usuários do Python. No entanto, depois de digerir as mudanças, você " +"verá que o Python realmente não mudou tanto assim -- em geral, estamos " +"principalmente corrigindo aborrecimentos bem conhecidos, e removendo muita " +"sujeira antiga." #: ../../whatsnew/3.0.rst:63 msgid "" @@ -69,6 +66,14 @@ msgid "" "have more details than the regular documentation; but note that PEPs usually " "are not kept up-to-date once a feature has been fully implemented." msgstr "" +"Este artigo não tenta fornecer uma especificação completa de todos os novos " +"recursos, mas tenta dar uma visão geral conveniente. Para detalhes " +"completos, você deve consultar a documentação do Python 3.0 e/ou as muitas " +"PEPs referenciadas no texto. Se você quiser entender a implementação " +"completa e a lógica de design para um recurso específico, as PEPs geralmente " +"têm mais detalhes do que a documentação regular; mas observe que as PEPs " +"geralmente não são mantidas atualizadas depois que um recurso foi totalmente " +"implementado." #: ../../whatsnew/3.0.rst:72 msgid "" @@ -77,20 +82,26 @@ msgid "" "distribution contains a wealth of detailed information about every small " "thing that was changed." msgstr "" +"Devido a restrições de tempo, este documento não está tão completo quanto " +"deveria ser. Como sempre para um novo lançamento, o arquivo ``Misc/NEWS`` na " +"distribuição fonte contém uma riqueza de informações detalhadas sobre cada " +"pequena coisa que foi alterada." #: ../../whatsnew/3.0.rst:89 msgid "Common Stumbling Blocks" -msgstr "" +msgstr "Obstáculos comuns" #: ../../whatsnew/3.0.rst:91 msgid "" "This section lists those few changes that are most likely to trip you up if " "you're used to Python 2.5." msgstr "" +"Esta seção lista as poucas mudanças que provavelmente irão lhe atrapalhar se " +"você estiver acostumado com o Python 2.5." #: ../../whatsnew/3.0.rst:95 msgid "Print Is A Function" -msgstr "" +msgstr "print é uma função" #: ../../whatsnew/3.0.rst:97 msgid "" @@ -98,18 +109,21 @@ msgid "" "with keyword arguments to replace most of the special syntax of the old " "``print`` statement (:pep:`3105`). Examples::" msgstr "" +"A instrução ``print`` foi substituída por uma função :func:`print`, com " +"argumentos nomeados para substituir a maior parte da sintaxe especial da " +"antiga instrução ``print`` (:pep:`3105`). Exemplos::" #: ../../whatsnew/3.0.rst:116 msgid "You can also customize the separator between items, e.g.::" -msgstr "" +msgstr "Você também pode personalizar o separador entre itens, por exemplo::" #: ../../whatsnew/3.0.rst:120 msgid "which produces:" -msgstr "" +msgstr "que produz:" #: ../../whatsnew/3.0.rst:126 msgid "Note:" -msgstr "" +msgstr "Nota:" #: ../../whatsnew/3.0.rst:128 msgid "" @@ -118,12 +132,19 @@ msgid "" "\"B\"`` would write ``\"A\\nB\\n\"``; but in Python 3.0, ``print(\"A\\n\", " "\"B\")`` writes ``\"A\\n B\\n\"``." msgstr "" +"A função :func:`print` não tem suporte ao recurso \"softspace\" da antiga " +"instrução ``print``. Por exemplo, no Python 2.x, ``print \"A\\n\", \"B\"`` " +"escreveria ``\"A\\nB\\n\"``; mas no Python 3.0, ``print(\"A\\n\", \"B\")`` " +"escreve ``\"A\\n B\\n\"``." #: ../../whatsnew/3.0.rst:133 msgid "" "Initially, you'll be finding yourself typing the old ``print x`` a lot in " "interactive mode. Time to retrain your fingers to type ``print(x)`` instead!" msgstr "" +"Inicialmente, você vai se pegar digitando o antigo ``print x`` bastante no " +"modo interativo. É hora de treinar seus dedos para digitar ``print(x)`` em " +"vez disso!" #: ../../whatsnew/3.0.rst:137 msgid "" @@ -131,67 +152,95 @@ msgid "" "statements are automatically converted to :func:`print` function calls, so " "this is mostly a non-issue for larger projects." msgstr "" +"Ao usar a ferramenta de conversão de fonte para fonte ``2to3``, todas as " +"instruções ``print`` são automaticamente convertidas em chamadas de " +"função :func:`print`, então isso geralmente não é um problema para projetos " +"maiores." #: ../../whatsnew/3.0.rst:143 msgid "Views And Iterators Instead Of Lists" -msgstr "" +msgstr "Visualizações e iteradores em vez de listas" #: ../../whatsnew/3.0.rst:145 msgid "Some well-known APIs no longer return lists:" -msgstr "" +msgstr "Algumas APIs conhecidas não retornam mais listas:" #: ../../whatsnew/3.0.rst:147 msgid "" -":class:`dict` methods :meth:`dict.keys`, :meth:`dict.items` and :meth:`dict." -"values` return \"views\" instead of lists. For example, this no longer " -"works: ``k = d.keys(); k.sort()``. Use ``k = sorted(d)`` instead (this " -"works in Python 2.5 too and is just as efficient)." +":class:`dict` methods :meth:`dict.keys`, :meth:`dict.items` " +"and :meth:`dict.values` return \"views\" instead of lists. For example, " +"this no longer works: ``k = d.keys(); k.sort()``. Use ``k = sorted(d)`` " +"instead (this works in Python 2.5 too and is just as efficient)." msgstr "" +"Os métodos :meth:`dict.keys`, :meth:`dict.items` e :meth:`dict.values` " +"de :class:`dict` retornam visualizações, ou \"views\", em vez de listas. Por " +"exemplo, isso não funciona mais: ``k = d.keys(); k.sort()``. Use ``k = " +"sorted(d)`` em vez disso (isso funciona no Python 2.5 também e é igualmente " +"eficiente)." #: ../../whatsnew/3.0.rst:153 msgid "" -"Also, the :meth:`dict.iterkeys`, :meth:`dict.iteritems` and :meth:`dict." -"itervalues` methods are no longer supported." +"Also, the :meth:`dict.iterkeys`, :meth:`dict.iteritems` " +"and :meth:`dict.itervalues` methods are no longer supported." msgstr "" +"Além disso, os métodos :meth:`dict.iterkeys`, :meth:`dict.iteritems` " +"e :meth:`dict.itervalues` não são mais suportados." #: ../../whatsnew/3.0.rst:156 msgid "" ":func:`map` and :func:`filter` return iterators. If you really need a list " -"and the input sequences are all of equal length, a quick fix is to wrap :" -"func:`map` in :func:`list`, e.g. ``list(map(...))``, but a better fix is " -"often to use a list comprehension (especially when the original code uses :" -"keyword:`lambda`), or rewriting the code so it doesn't need a list at all. " -"Particularly tricky is :func:`map` invoked for the side effects of the " +"and the input sequences are all of equal length, a quick fix is to " +"wrap :func:`map` in :func:`list`, e.g. ``list(map(...))``, but a better fix " +"is often to use a list comprehension (especially when the original code " +"uses :keyword:`lambda`), or rewriting the code so it doesn't need a list at " +"all. Particularly tricky is :func:`map` invoked for the side effects of the " "function; the correct transformation is to use a regular :keyword:`for` loop " "(since creating a list would just be wasteful)." msgstr "" +":func:`map` e :func:`filter` retornam iteradores. Se você realmente precisa " +"de uma lista e as sequências de entrada são todas de comprimento igual, uma " +"solução rápida é envolver :func:`map` em :func:`list`, por exemplo, " +"``list(map(...))``, mas uma solução melhor é frequentemente usar uma " +"compreensão de lista (especialmente quando o código original " +"usa :keyword:`lambda`), ou reescrever o código para que ele não precise de " +"uma lista. Particularmente complicado é :func:`map` invocado para os efeitos " +"colaterais da função; a transformação correta é usar um laço :keyword:`for` " +"regular (já que criar uma lista seria apenas desperdício)." #: ../../whatsnew/3.0.rst:167 msgid "" "If the input sequences are not of equal length, :func:`map` will stop at the " -"termination of the shortest of the sequences. For full compatibility with :" -"func:`map` from Python 2.x, also wrap the sequences in :func:`itertools." -"zip_longest`, e.g. ``map(func, *sequences)`` becomes ``list(map(func, " -"itertools.zip_longest(*sequences)))``." +"termination of the shortest of the sequences. For full compatibility " +"with :func:`map` from Python 2.x, also wrap the sequences " +"in :func:`itertools.zip_longest`, e.g. ``map(func, *sequences)`` becomes " +"``list(map(func, itertools.zip_longest(*sequences)))``." msgstr "" +"Se as sequências de entrada não tiverem o mesmo comprimento, :func:`map` irá " +"parar no término da mais curta das sequências. Para compatibilidade total " +"com :func:`map` do Python 2.x, também envolva as sequências " +"em :func:`itertools.zip_longest`, por exemplo, ``map(func, *sequences)`` se " +"torna ``list(map(func, itertools.zip_longest(*sequences)))``." #: ../../whatsnew/3.0.rst:173 msgid "" ":func:`range` now behaves like :func:`xrange` used to behave, except it " "works with values of arbitrary size. The latter no longer exists." msgstr "" +":func:`range` agora se comporta como :func:`xrange` costumava se comportar, " +"exceto que funciona com valores de tamanho arbitrário. Este último não " +"existe mais." #: ../../whatsnew/3.0.rst:177 msgid ":func:`zip` now returns an iterator." -msgstr "" +msgstr ":func:`zip` agora retorna um iterador." #: ../../whatsnew/3.0.rst:180 msgid "Ordering Comparisons" -msgstr "" +msgstr "Comparações de ordenação" #: ../../whatsnew/3.0.rst:182 msgid "Python 3.0 has simplified the rules for ordering comparisons:" -msgstr "" +msgstr "O Python 3.0 simplificou as regras para ordenar comparações:" #: ../../whatsnew/3.0.rst:184 msgid "" @@ -204,26 +253,44 @@ msgid "" "other. Note that this does not apply to the ``==`` and ``!=`` operators: " "objects of different incomparable types always compare unequal to each other." msgstr "" +"Os operadores de comparação de ordenação (``<``, ``<=``, ``>=``, ``>``) " +"levantam uma exceção TypeError quando os operandos não têm uma ordenação " +"natural significativa. Assim, expressões como ``1 < ''``, ``0 > None`` ou " +"``len <= len`` não são mais válidas e, por exemplo, ``None < None`` " +"levanta :exc:`TypeError` em vez de retornar ``False``. Um corolário é que " +"classificar uma lista heterogênea não faz mais sentido -- todos os elementos " +"devem ser comparáveis entre si. Observe que isso não se aplica aos " +"operadores ``==`` e ``!=``: objetos de diferentes tipos incomparáveis sempre " +"são comparados de forma diferente entre si." #: ../../whatsnew/3.0.rst:195 msgid "" ":meth:`builtin.sorted` and :meth:`list.sort` no longer accept the *cmp* " -"argument providing a comparison function. Use the *key* argument instead. N." -"B. the *key* and *reverse* arguments are now \"keyword-only\"." +"argument providing a comparison function. Use the *key* argument instead. " +"N.B. the *key* and *reverse* arguments are now \"keyword-only\"." msgstr "" +":meth:`builtin.sorted` e :meth:`list.sort` não aceitam mais o argumento " +"*cmp* fornecendo uma função de comparação. Use o argumento *key* em vez " +"disso. N.B. os argumentos *key* e *reverse* agora são \"somente-nomeados\"." #: ../../whatsnew/3.0.rst:200 msgid "" "The :func:`cmp` function should be treated as gone, and the :meth:`__cmp__` " -"special method is no longer supported. Use :meth:`__lt__` for sorting, :" -"meth:`__eq__` with :meth:`__hash__`, and other rich comparisons as needed. " -"(If you really need the :func:`cmp` functionality, you could use the " +"special method is no longer supported. Use :meth:`__lt__` for " +"sorting, :meth:`__eq__` with :meth:`__hash__`, and other rich comparisons as " +"needed. (If you really need the :func:`cmp` functionality, you could use the " "expression ``(a > b) - (a < b)`` as the equivalent for ``cmp(a, b)``.)" msgstr "" +"A função :func:`cmp` deve ser tratada como extinta, e o método " +"especial :meth:`__cmp__` não é mais suportado. Use :meth:`__lt__` para " +"classificação, :meth:`__eq__` com :meth:`__hash__` e outras comparações " +"avançadas conforme necessário. (Se você realmente precisa da " +"funcionalidade :func:`cmp`, pode usar a expressão ``(a > b) - (a < b)`` como " +"o equivalente para ``cmp(a, b)``.)" #: ../../whatsnew/3.0.rst:207 msgid "Integers" -msgstr "" +msgstr "Inteiros" #: ../../whatsnew/3.0.rst:209 msgid "" @@ -231,6 +298,9 @@ msgid "" "there is only one built-in integral type, named :class:`int`; but it behaves " "mostly like the old :class:`long` type." msgstr "" +":pep:`237`: Essencialmente, :class:`long` foi renomeado para :class:`int`. " +"Ou seja, há apenas um tipo integral embutido, chamado :class:`int`; mas ele " +"se comporta principalmente como o antigo tipo :class:`long`." #: ../../whatsnew/3.0.rst:213 msgid "" @@ -238,16 +308,25 @@ msgid "" "the truncating behavior. (The latter syntax has existed for years, at least " "since Python 2.2.)" msgstr "" +":pep:`238`: Uma expressão como ``1/2`` retorna um float. Use ``1//2`` para " +"obter o comportamento de truncamento. (A última sintaxe existe há anos, pelo " +"menos desde o Python 2.2.)" #: ../../whatsnew/3.0.rst:217 msgid "" "The :data:`sys.maxint` constant was removed, since there is no longer a " "limit to the value of integers. However, :data:`sys.maxsize` can be used as " "an integer larger than any practical list or string index. It conforms to " -"the implementation's \"natural\" integer size and is typically the same as :" -"data:`sys.maxint` in previous releases on the same platform (assuming the " -"same build options)." +"the implementation's \"natural\" integer size and is typically the same " +"as :data:`sys.maxint` in previous releases on the same platform (assuming " +"the same build options)." msgstr "" +"A constante :data:`sys.maxint` foi removida, pois não há mais um limite para " +"o valor de inteiros. No entanto, :data:`sys.maxsize` pode ser usado como um " +"inteiro maior do que qualquer lista prática ou índice de string. Ele está em " +"conformidade com o tamanho inteiro \"natural\" da implementação e é " +"tipicamente o mesmo que :data:`sys.maxint` em versões anteriores na mesma " +"plataforma (assumindo as mesmas opções de construção)." #: ../../whatsnew/3.0.rst:224 msgid "" @@ -255,34 +334,50 @@ msgid "" "anymore, so code that unconditionally strips that character will chop off " "the last digit instead. (Use :func:`str` instead.)" msgstr "" +"O :func:`repr` de um inteiro longo não inclui mais o ``L`` final, então o " +"código que remove esse caractere incondicionalmente cortará o último dígito. " +"(Use :func:`str` em vez disso.)" #: ../../whatsnew/3.0.rst:228 msgid "" "Octal literals are no longer of the form ``0720``; use ``0o720`` instead." msgstr "" +"Literais octais não estão mais no formato ``0720``; em vez disso, use " +"``0o720``." #: ../../whatsnew/3.0.rst:232 msgid "Text Vs. Data Instead Of Unicode Vs. 8-bit" -msgstr "" +msgstr "Texto vs. Dados em vez de Unicode vs. 8 bits" #: ../../whatsnew/3.0.rst:234 msgid "" "Everything you thought you knew about binary data and Unicode has changed." -msgstr "" +msgstr "Tudo o que você achava que sabia sobre dados binários e Unicode mudou." #: ../../whatsnew/3.0.rst:237 msgid "" "Python 3.0 uses the concepts of *text* and (binary) *data* instead of " "Unicode strings and 8-bit strings. All text is Unicode; however *encoded* " -"Unicode is represented as binary data. The type used to hold text is :class:" -"`str`, the type used to hold data is :class:`bytes`. The biggest difference " -"with the 2.x situation is that any attempt to mix text and data in Python " -"3.0 raises :exc:`TypeError`, whereas if you were to mix Unicode and 8-bit " -"strings in Python 2.x, it would work if the 8-bit string happened to contain " -"only 7-bit (ASCII) bytes, but you would get :exc:`UnicodeDecodeError` if it " -"contained non-ASCII values. This value-specific behavior has caused " -"numerous sad faces over the years." -msgstr "" +"Unicode is represented as binary data. The type used to hold text " +"is :class:`str`, the type used to hold data is :class:`bytes`. The biggest " +"difference with the 2.x situation is that any attempt to mix text and data " +"in Python 3.0 raises :exc:`TypeError`, whereas if you were to mix Unicode " +"and 8-bit strings in Python 2.x, it would work if the 8-bit string happened " +"to contain only 7-bit (ASCII) bytes, but you would " +"get :exc:`UnicodeDecodeError` if it contained non-ASCII values. This value-" +"specific behavior has caused numerous sad faces over the years." +msgstr "" +"O Python 3.0 usa os conceitos de *texto* e *dados* (binários) em vez de " +"strings Unicode e strings de 8 bits. Todo texto é Unicode; no entanto, o " +"Unicode *codificado* é representado como dados binários. O tipo usado para " +"armazenar texto é :class:`str`, o tipo usado para armazenar dados " +"é :class:`bytes`. A maior diferença com a situação 2.x é que qualquer " +"tentativa de misturar texto e dados no Python 3.0 levanta :exc:`TypeError`, " +"enquanto que se você misturasse strings Unicode e de 8 bits no Python 2.x, " +"funcionaria se a string de 8 bits contivesse apenas bytes de 7 bits (ASCII), " +"mas você obteria :exc:`UnicodeDecodeError` se contivesse valores não ASCII. " +"Esse comportamento específico de valor causou inúmeras caras tristes ao " +"longo dos anos." #: ../../whatsnew/3.0.rst:250 msgid "" @@ -290,25 +385,39 @@ msgid "" "uses Unicode, encodings or binary data most likely has to change. The " "change is for the better, as in the 2.x world there were numerous bugs " "having to do with mixing encoded and unencoded text. To be prepared in " -"Python 2.x, start using :class:`unicode` for all unencoded text, and :class:" -"`str` for binary or encoded data only. Then the ``2to3`` tool will do most " -"of the work for you." -msgstr "" +"Python 2.x, start using :class:`unicode` for all unencoded text, " +"and :class:`str` for binary or encoded data only. Then the ``2to3`` tool " +"will do most of the work for you." +msgstr "" +"Como consequência dessa mudança na filosofia, praticamente todo código que " +"usa Unicode, codificações ou dados binários provavelmente terá que mudar. A " +"mudança é para melhor, pois no mundo 2.x havia vários bugs relacionados à " +"mistura de texto codificado e não codificado. Para estar preparado no Python " +"2.x, comece a usar :class:`unicode` para todo texto não codificado " +"e :class:`str` apenas para dados binários ou codificados. Então a ferramenta " +"``2to3`` fará a maior parte do trabalho para você." #: ../../whatsnew/3.0.rst:258 msgid "" "You can no longer use ``u\"...\"`` literals for Unicode text. However, you " "must use ``b\"...\"`` literals for binary data." msgstr "" +"Você não pode mais usar literais ``u\"...\"`` para texto Unicode. No " +"entanto, você deve usar literais ``b\"...\"`` para dados binários." #: ../../whatsnew/3.0.rst:261 msgid "" "As the :class:`str` and :class:`bytes` types cannot be mixed, you must " -"always explicitly convert between them. Use :meth:`str.encode` to go from :" -"class:`str` to :class:`bytes`, and :meth:`bytes.decode` to go from :class:" -"`bytes` to :class:`str`. You can also use ``bytes(s, encoding=...)`` and " -"``str(b, encoding=...)``, respectively." +"always explicitly convert between them. Use :meth:`str.encode` to go " +"from :class:`str` to :class:`bytes`, and :meth:`bytes.decode` to go " +"from :class:`bytes` to :class:`str`. You can also use ``bytes(s, " +"encoding=...)`` and ``str(b, encoding=...)``, respectively." msgstr "" +"Como os tipos :class:`str` e :class:`bytes` não podem ser misturados, você " +"deve sempre converter explicitamente entre eles. Use :meth:`str.encode` para " +"ir de :class:`str` para :class:`bytes`, e :meth:`bytes.decode` para ir " +"de :class:`bytes` para :class:`str`. Você também pode usar ``bytes(s, " +"encoding=...)`` e ``str(b, encoding=...)``, respectivamente." #: ../../whatsnew/3.0.rst:268 msgid "" @@ -317,6 +426,11 @@ msgid "" "Nearly all APIs that accept :class:`bytes` also accept :class:`bytearray`. " "The mutable API is based on :class:`collections.MutableSequence`." msgstr "" +"Assim como :class:`str`, o tipo :class:`bytes` é imutável. Há um tipo " +"*mutável* separado para armazenar dados binários em " +"buffer, :class:`bytearray`. Quase todas as APIs que aceitam :class:`bytes` " +"também aceitam :class:`bytearray`. A API mutável é baseada " +"em :class:`collections.MutableSequence`." #: ../../whatsnew/3.0.rst:274 msgid "" @@ -327,15 +441,26 @@ msgid "" "character. (Of course, this change only affects raw string literals; the " "euro character is ``'\\u20ac'`` in Python 3.0.)" msgstr "" +"Todas as contrabarras em literais de strings brutas são interpretadas " +"literalmente. Isso significa que os escapes ``'\\U'`` e ``'\\u'`` em strings " +"brutas não são tratados de forma especial. Por exemplo, ``r'\\u20ac'`` é uma " +"string de 6 caracteres no Python 3.0, enquanto no 2.6, ``ur'\\u20ac'`` era o " +"único caractere \"euro\". (É claro que essa mudança afeta apenas literais de " +"strings brutas; o caractere euro é ``'\\u20ac'`` no Python 3.0.)" #: ../../whatsnew/3.0.rst:281 msgid "" -"The built-in :class:`basestring` abstract type was removed. Use :class:" -"`str` instead. The :class:`str` and :class:`bytes` types don't have " -"functionality enough in common to warrant a shared base class. The ``2to3`` " -"tool (see below) replaces every occurrence of :class:`basestring` with :" -"class:`str`." +"The built-in :class:`basestring` abstract type was removed. " +"Use :class:`str` instead. The :class:`str` and :class:`bytes` types don't " +"have functionality enough in common to warrant a shared base class. The " +"``2to3`` tool (see below) replaces every occurrence of :class:`basestring` " +"with :class:`str`." msgstr "" +"O tipo abstrato embutido :class:`basestring` foi removido. Use :class:`str` " +"em vez disso. Os tipos :class:`str` e :class:`bytes` não têm funcionalidade " +"suficiente em comum para garantir uma classe base compartilhada. A " +"ferramenta ``2to3`` (veja abaixo) substitui cada ocorrência " +"de :class:`basestring` por :class:`str`." #: ../../whatsnew/3.0.rst:287 msgid "" @@ -354,14 +479,35 @@ msgid "" "have a way to override the encoding. There is no longer any need for using " "the encoding-aware streams in the :mod:`codecs` module." msgstr "" +"Arquivos abertos como arquivos texto (ainda o modo padrão para :func:`open`) " +"sempre usam uma codificação para mapear entre strings (na memória) e bytes " +"(no disco). Arquivos binários (abertos com um ``b`` no argumento mode) " +"sempre usam bytes na memória. Isso significa que se um arquivo for aberto " +"usando um modo ou codificação incorretos, a E/S provavelmente falhará " +"ruidosamente, em vez de produzir dados incorretos silenciosamente. Isso " +"também significa que até mesmo usuários Unix terão que especificar o modo " +"correto (texto ou binário) ao abrir um arquivo. Há uma codificação padrão " +"dependente da plataforma, que em plataformas Unixy pode ser definida com a " +"variável de ambiente ``LANG`` (e às vezes também com algumas outras " +"variáveis de ambiente relacionadas à localidade específicas da plataforma). " +"Em muitos casos, mas não em todos, o padrão do sistema é UTF-8; você nunca " +"deve contar com esse padrão. Qualquer aplicação que leia ou escreva mais do " +"que texto ASCII puro provavelmente deve ter uma maneira de substituir a " +"codificação. Não há mais necessidade de usar os fluxos com reconhecimento de " +"codificação no módulo :mod:`codecs`." #: ../../whatsnew/3.0.rst:304 msgid "" -"The initial values of :data:`sys.stdin`, :data:`sys.stdout` and :data:`sys." -"stderr` are now unicode-only text files (i.e., they are instances of :class:" -"`io.TextIOBase`). To read and write bytes data with these streams, you need " -"to use their :data:`io.TextIOBase.buffer` attribute." +"The initial values of :data:`sys.stdin`, :data:`sys.stdout` " +"and :data:`sys.stderr` are now unicode-only text files (i.e., they are " +"instances of :class:`io.TextIOBase`). To read and write bytes data with " +"these streams, you need to use their :data:`io.TextIOBase.buffer` attribute." msgstr "" +"Os valores iniciais de :data:`sys.stdin`, :data:`sys.stdout` " +"e :data:`sys.stderr` agora são arquivos texto somente unicode (ou seja, são " +"instâncias de :class:`io.TextIOBase`). Para ler e gravar dados de bytes com " +"esses fluxos, você precisa usar o atributo :data:`io.TextIOBase.buffer` " +"deles." #: ../../whatsnew/3.0.rst:310 msgid "" @@ -369,15 +515,29 @@ msgid "" "can present platform-specific problems because on some platforms filenames " "are arbitrary byte strings. (On the other hand, on Windows filenames are " "natively stored as Unicode.) As a work-around, most APIs (e.g. :func:`open` " -"and many functions in the :mod:`os` module) that take filenames accept :" -"class:`bytes` objects as well as strings, and a few APIs have a way to ask " -"for a :class:`bytes` return value. Thus, :func:`os.listdir` returns a list " -"of :class:`bytes` instances if the argument is a :class:`bytes` instance, " -"and :func:`os.getcwdb` returns the current working directory as a :class:" -"`bytes` instance. Note that when :func:`os.listdir` returns a list of " -"strings, filenames that cannot be decoded properly are omitted rather than " -"raising :exc:`UnicodeError`." -msgstr "" +"and many functions in the :mod:`os` module) that take filenames " +"accept :class:`bytes` objects as well as strings, and a few APIs have a way " +"to ask for a :class:`bytes` return value. Thus, :func:`os.listdir` returns " +"a list of :class:`bytes` instances if the argument is a :class:`bytes` " +"instance, and :func:`os.getcwdb` returns the current working directory as " +"a :class:`bytes` instance. Note that when :func:`os.listdir` returns a list " +"of strings, filenames that cannot be decoded properly are omitted rather " +"than raising :exc:`UnicodeError`." +msgstr "" +"Nomes de arquivo são passados e retornados de APIs como strings (Unicode). " +"Isso pode apresentar problemas específicos de plataforma porque em algumas " +"plataformas nomes de arquivo são strings de bytes arbitrárias. (Por outro " +"lado, no Windows nomes de arquivo são armazenados nativamente como Unicode.) " +"Como solução alternativa, a maioria das APIs (por exemplo, :func:`open` e " +"muitas funções no módulo :mod:`os`) que aceitam nomes de arquivo aceitam " +"objetos :class:`bytes` assim como strings, e algumas APIs têm uma maneira de " +"pedir um valor de retorno :class:`bytes`. Assim, :func:`os.listdir` retorna " +"uma lista de instâncias :class:`bytes` se o argumento for uma " +"instância :class:`bytes`, e :func:`os.getcwdb` retorna o diretório de " +"trabalho atual como uma instância :class:`bytes`. Observe que " +"quando :func:`os.listdir` retorna uma lista de strings, os nomes de arquivos " +"que não podem ser decodificados corretamente são omitidos em vez de " +"levantar :exc:`UnicodeError`." #: ../../whatsnew/3.0.rst:325 msgid "" @@ -386,6 +546,10 @@ msgid "" "interpretable using the default encoding. Setting the ``LANG`` variable and " "rerunning the program is probably the best approach." msgstr "" +"Algumas APIs de sistema como :data:`os.environ` e :data:`sys.argv` também " +"podem apresentar problemas quando os bytes disponibilizados pelo sistema não " +"são interpretáveis usando a codificação padrão. Definir a variável ``LANG`` " +"e executar o programa novamente é provavelmente a melhor abordagem." #: ../../whatsnew/3.0.rst:330 msgid "" @@ -393,10 +557,13 @@ msgid "" "characters. It still escapes control characters and code points with non-" "printable status in the Unicode standard, however." msgstr "" +":pep:`3138`: A :func:`repr` de uma string não escapa mais caracteres não-" +"ASCII. No entanto, ele ainda escapa caracteres de controle e pontos de " +"código com status não imprimível no padrão Unicode." #: ../../whatsnew/3.0.rst:334 msgid ":pep:`3120`: The default source encoding is now UTF-8." -msgstr "" +msgstr ":pep:`3120`: A codificação de fontes padrão agora é UTF-8." #: ../../whatsnew/3.0.rst:336 msgid "" @@ -404,31 +571,41 @@ msgid "" "standard library remains ASCII-only with the exception of contributor names " "in comments.)" msgstr "" +":pep:`3131`: Letras não ASCII agora são permitidas em identificadores. (No " +"entanto, a biblioteca padrão permanece somente ASCII, com exceção dos nomes " +"dos colaboradores nos comentários.)" #: ../../whatsnew/3.0.rst:340 msgid "" -"The :mod:`StringIO` and :mod:`cStringIO` modules are gone. Instead, import " -"the :mod:`io` module and use :class:`io.StringIO` or :class:`io.BytesIO` for " -"text and data respectively." +"The :mod:`!StringIO` and :mod:`!cStringIO` modules are gone. Instead, " +"import the :mod:`io` module and use :class:`io.StringIO` " +"or :class:`io.BytesIO` for text and data respectively." msgstr "" +"Os módulos :mod:`!StringIO` e :mod:`!cStringIO` se foram. Em vez disso, " +"importe o módulo :mod:`io` e use :class:`io.StringIO` ou :class:`io.BytesIO` " +"para texto e dados, respectivamente." #: ../../whatsnew/3.0.rst:344 msgid "See also the :ref:`unicode-howto`, which was updated for Python 3.0." msgstr "" +"Veja também o guia :ref:`unicode-howto`, que foi atualizado para o Python " +"3.0." #: ../../whatsnew/3.0.rst:348 msgid "Overview Of Syntax Changes" -msgstr "" +msgstr "Visão geral das alterações da sintaxe" #: ../../whatsnew/3.0.rst:350 msgid "" "This section gives a brief overview of every *syntactic* change in Python " "3.0." msgstr "" +"Esta seção fornece uma breve visão geral de cada mudança *sintática* no " +"Python 3.0." #: ../../whatsnew/3.0.rst:354 msgid "New Syntax" -msgstr "" +msgstr "Nova sintaxe" #: ../../whatsnew/3.0.rst:356 msgid "" @@ -439,6 +616,12 @@ msgid "" "intent is to encourage experimentation through metaclasses, decorators or " "frameworks." msgstr "" +":pep:`3107`: Anotações de argumento de função e valor de retorno. Isso " +"fornece uma maneira padronizada de anotar os parâmetros e o valor de retorno " +"de uma função. Não há semântica anexada a essas anotações, exceto que elas " +"podem ser introspectadas em tempo de execução usando o " +"atributo :attr:`__annotations__`. A intenção é encorajar a experimentação " +"por meio de metaclasses, decoradores ou frameworks." #: ../../whatsnew/3.0.rst:363 msgid "" @@ -448,6 +631,11 @@ msgid "" "that you don't accept a variable-length argument list, but you do have " "keyword-only arguments." msgstr "" +":pep:`3102`: Argumentos somente-nomeados. Parâmetros nomeados que ocorrem " +"após ``*args`` na lista de parâmetros *devem* ser especificados usando a " +"sintaxe dos nomes na chamada. Você também pode usar um ``*`` simples na " +"lista de parâmetros para indicar que não aceita uma lista de argumentos de " +"comprimento variável, mas tem argumentos somente-nomeados." #: ../../whatsnew/3.0.rst:369 msgid "" @@ -456,15 +644,19 @@ msgid "" "(see next section), but can be used for other purposes as well, as long as " "the metaclass supports it." msgstr "" +"Argumentos nomeados são permitidos após a lista de classes base em uma " +"definição de classe. Isso é usado pela nova convenção para especificar uma " +"metaclasse (veja a próxima seção), mas pode ser usado para outros propósitos " +"também, desde que a metaclasse dê suporte." #: ../../whatsnew/3.0.rst:374 msgid "" ":pep:`3104`: :keyword:`nonlocal` statement. Using ``nonlocal x`` you can " -"now assign directly to a variable in an outer (but non-global) scope. :" -"keyword:`!nonlocal` is a new reserved word." +"now assign directly to a variable in an outer (but non-global) " +"scope. :keyword:`!nonlocal` is a new reserved word." msgstr "" -":pep:`3104`: instrução :keyword:`nonlocal`. Usando ``nonlocal x`` você agora " -"pode atribuir diretamente a uma variável em um escopo externo (mas não " +":pep:`3104`: instrução :keyword:`nonlocal`. Usando ``nonlocal x``, agora " +"você pode atribuir diretamente a uma variável em um escopo externo (mas não " "global). :keyword:`!nonlocal` é uma nova palavra reservada." #: ../../whatsnew/3.0.rst:378 @@ -474,16 +666,24 @@ msgid "" "``rest`` object is always a (possibly empty) list; the right-hand side may " "be any iterable. Example::" msgstr "" +":pep:`3132`: Desempacotamento iterável estendido. Agora você pode escrever " +"coisas como ``a, b, *rest = some_sequence``. E até mesmo ``*rest, a = " +"stuff``. O objeto ``rest`` é sempre uma lista (possivelmente vazia); o lado " +"direito pode ser qualquer iterável. Exemplo::" #: ../../whatsnew/3.0.rst:385 msgid "This sets *a* to ``0``, *b* to ``4``, and *rest* to ``[1, 2, 3]``." msgstr "" +"Isso define *a* como ``0``, *b* como ``4`` e *rest* como ``[1, 2, 3]``." #: ../../whatsnew/3.0.rst:387 msgid "" "Dictionary comprehensions: ``{k: v for k, v in stuff}`` means the same thing " "as ``dict(stuff)`` but is more flexible. (This is :pep:`274` vindicated. :-)" msgstr "" +"Compreensões de dicionário: ``{k: v for k, v in stuff}`` significa a mesma " +"coisa que ``dict(stuff)``, mas é mais flexível. (Isto é :pep:`274` " +"justificada. :-)" #: ../../whatsnew/3.0.rst:391 msgid "" @@ -492,64 +692,79 @@ msgid "" "``{x for x in stuff}`` means the same thing as ``set(stuff)`` but is more " "flexible." msgstr "" +"Definir literais, por exemplo, ``{1, 2}``. Note que ``{}`` é um dicionário " +"vazio; use ``set()`` para um conjunto vazio. Compreensões de conjuntos " +"também são suportadas; por exemplo, ``{x for x in stuff}`` significa a mesma " +"coisa que ``set(stuff)``, mas é mais flexível." #: ../../whatsnew/3.0.rst:396 msgid "" "New octal literals, e.g. ``0o720`` (already in 2.6). The old octal literals " "(``0720``) are gone." msgstr "" +"Novos literais octais, por exemplo, ``0o720`` (já em 2.6). Os antigos " +"literais octais (``0720``) se foram." #: ../../whatsnew/3.0.rst:399 msgid "" "New binary literals, e.g. ``0b1010`` (already in 2.6), and there is a new " "corresponding built-in function, :func:`bin`." msgstr "" +"Novos literais binários, por exemplo, ``0b1010`` (já em 2.6), e há uma nova " +"função embutida correspondente, :func:`bin`." #: ../../whatsnew/3.0.rst:402 msgid "" "Bytes literals are introduced with a leading ``b`` or ``B``, and there is a " "new corresponding built-in function, :func:`bytes`." msgstr "" +"Literais de bytes são introduzidos com um ``b`` ou ``B`` no início, e há uma " +"nova função embutida correspondente, :func:`bytes`." #: ../../whatsnew/3.0.rst:406 msgid "Changed Syntax" -msgstr "" +msgstr "Sintaxe alterada" #: ../../whatsnew/3.0.rst:408 msgid "" -":pep:`3109` and :pep:`3134`: new :keyword:`raise` statement syntax: :samp:" -"`raise [{expr} [from {expr}]]`. See below." +":pep:`3109` and :pep:`3134`: new :keyword:`raise` statement " +"syntax: :samp:`raise [{expr} [from {expr}]]`. See below." msgstr "" +":pep:`3109` e :pep:`3134`: nova sintaxe da " +"instrução :keyword:`raise`: :samp:`raise [{expr} [from {expr}]]`. Veja " +"abaixo." #: ../../whatsnew/3.0.rst:411 msgid "" ":keyword:`!as` and :keyword:`with` are now reserved words. (Since 2.6, " "actually.)" msgstr "" -":keyword:`!as` e :keyword:`with` agora são palavras reservadas. (Desde 2.6, " -"na verdade.)" +":keyword:`!as` e :keyword:`with` agora são palavras reservadas. (Desde a " +"versão 2.6, na verdade.)" #: ../../whatsnew/3.0.rst:414 msgid "" "``True``, ``False``, and ``None`` are reserved words. (2.6 partially " "enforced the restrictions on ``None`` already.)" msgstr "" +"``True``, ``False`` e ``None`` são palavras reservadas. (A versão 2.6 já " +"aplicava parcialmente as restrições em ``None``.)" #: ../../whatsnew/3.0.rst:417 msgid "" -"Change from :keyword:`except` *exc*, *var* to :keyword:`!except` *exc* :" -"keyword:`!as` *var*. See :pep:`3110`." +"Change from :keyword:`except` *exc*, *var* to :keyword:`!except` " +"*exc* :keyword:`!as` *var*. See :pep:`3110`." msgstr "" -"Alteração de :keyword:`except` *exc*, *var* para :keyword:`!except` *exc* :" -"keyword:`!as` *var*. Veja :pep:`3110`." +"Alteração de :keyword:`except` *exc*, *var* para :keyword:`!except` " +"*exc* :keyword:`!as` *var*. Veja a :pep:`3110`." #: ../../whatsnew/3.0.rst:420 msgid ":pep:`3115`: New Metaclass Syntax. Instead of::" -msgstr "" +msgstr ":pep:`3115`: Nova sintaxe de metaclasse. Em vez de::" #: ../../whatsnew/3.0.rst:426 msgid "you must now use::" -msgstr "" +msgstr "agora você deve usar::" #: ../../whatsnew/3.0.rst:431 msgid "" @@ -557,6 +772,9 @@ msgid "" "(It was a crutch to make it easier to default to new-style classes without " "deriving every class from :class:`object`.)" msgstr "" +"A variável global do módulo :data:`__metaclass__` não é mais suportada. (Era " +"uma ajuda para facilitar a mudança do padrão para classes de novo estilo sem " +"derivar cada classe de :class:`object`.)" #: ../../whatsnew/3.0.rst:436 msgid "" @@ -567,6 +785,13 @@ msgid "" "inside a :func:`list` constructor, and in particular the loop control " "variables are no longer leaked into the surrounding scope." msgstr "" +"As compreensões de lista não têm mais suporte a mais a forma " +"sintática :samp:`[... for {var} in {item1}, {item2}, ...]`. Use :samp:`[... " +"for {var} in ({item1}, {item2}, ...)]` em vez disso. Observe também que as " +"compreensões de lista têm semântica diferente: elas estão mais próximas do " +"açúcar sintático para uma expressão geradora dentro de um " +"construtor :func:`list` e, em particular, as variáveis de controle de laço " +"não são mais vazadas para o escopo circundante." #: ../../whatsnew/3.0.rst:444 msgid "" @@ -575,24 +800,31 @@ msgid "" "as ``...``. (Previously it could also be spelled as ``. . .``, by a mere " "accident of the grammar.)" msgstr "" +"As *reticências* (``...``) podem ser usadas como uma expressão atômica em " +"qualquer lugar. (Anteriormente, eram permitidas apenas em fatias.) Além " +"disso, agora *devem* ser escritas como ``...``. (Anteriormente, também " +"poderiam ser escritas como ``. . .``, por um mero acidente da gramática.)" #: ../../whatsnew/3.0.rst:450 msgid "Removed Syntax" -msgstr "" +msgstr "Sintaxe removida" #: ../../whatsnew/3.0.rst:452 msgid "" ":pep:`3113`: Tuple parameter unpacking removed. You can no longer write " "``def foo(a, (b, c)): ...``. Use ``def foo(a, b_c): b, c = b_c`` instead." msgstr "" +":pep:`3113`: Desempacotamento de parâmetro de tupla removido. Você não pode " +"mais escrever ``def foo(a, (b, c)): ...``. Em vez disso, use ``def foo(a, " +"b_c): b, c = b_c``." #: ../../whatsnew/3.0.rst:456 msgid "Removed backticks (use :func:`repr` instead)." -msgstr "" +msgstr "Removidos backticks (use :func:`repr`)." #: ../../whatsnew/3.0.rst:458 msgid "Removed ``<>`` (use ``!=`` instead)." -msgstr "" +msgstr "Removido ``<>`` (use ``!=``)." #: ../../whatsnew/3.0.rst:460 msgid "" @@ -601,20 +833,26 @@ msgid "" "note that :func:`exec` no longer takes a stream argument; instead of " "``exec(f)`` you can use ``exec(f.read())``." msgstr "" +"Removida palavra reservada: :func:`exec` não é mais uma palavra reservada; " +"ela permanece como uma função. (Felizmente a sintaxe da função também era " +"aceita nas versões 2.x.) Observe também que :func:`exec` não aceita mais um " +"argumento de fluxo; em vez de ``exec(f)`` você pode usar ``exec(f.read())``." #: ../../whatsnew/3.0.rst:465 msgid "Integer literals no longer support a trailing ``l`` or ``L``." -msgstr "" +msgstr "Literais de inteiro não mais têm suporte a um ``l`` ou ``L`` final." #: ../../whatsnew/3.0.rst:467 msgid "String literals no longer support a leading ``u`` or ``U``." -msgstr "" +msgstr "Literais de string não mais têm suporte a um ``u`` ou ``U`` no início." #: ../../whatsnew/3.0.rst:469 msgid "" "The :keyword:`from` *module* :keyword:`import` ``*`` syntax is only allowed " "at the module level, no longer inside functions." msgstr "" +"A sintaxe :keyword:`from` *módulo* :keyword:`import` ``*`` é permitida " +"somente no nível do módulo, não mais dentro de funções." #: ../../whatsnew/3.0.rst:472 msgid "" @@ -622,14 +860,17 @@ msgid "" "import {name}`. All :keyword:`import` forms not starting with ``.`` are " "interpreted as absolute imports. (:pep:`328`)" msgstr "" +"A única sintaxe aceitável para importações relativas é :samp:`from ." +"[{module}] import {name}`. Todos as formas de :keyword:`import` que não " +"começam com ``.`` são interpretadas como importações absolutas. (:pep:`328`)" #: ../../whatsnew/3.0.rst:476 msgid "Classic classes are gone." -msgstr "" +msgstr "As classes clássicas se foram." #: ../../whatsnew/3.0.rst:480 msgid "Changes Already Present In Python 2.6" -msgstr "" +msgstr "Mudanças já presentes no Python 2.6" #: ../../whatsnew/3.0.rst:482 msgid "" @@ -639,6 +880,11 @@ msgid "" "corresponding sections in :ref:`whats-new-in-2.6` should be consulted for " "longer descriptions." msgstr "" +"Como muitos usuários provavelmente fazem o salto direto do Python 2.5 para o " +"Python 3.0, esta seção lembra o leitor dos novos recursos que foram " +"originalmente projetados para o Python 3.0, mas que foram portados de volta " +"para o Python 2.6. As seções correspondentes em :ref:`whats-new-in-2.6` " +"devem ser consultadas para descrições mais longas." #: ../../whatsnew/3.0.rst:488 msgid "" @@ -646,12 +892,17 @@ msgid "" "and no longer needs to be imported from the :mod:`__future__`. Also check " "out :ref:`new-26-context-managers` and :ref:`new-module-contextlib`." msgstr "" +":ref:`pep-0343`. A instrução :keyword:`with` agora é um recurso padrão e não " +"precisa mais ser importada de :mod:`__future__`. Confira também :ref:`new-26-" +"context-managers` e :ref:`new-module-contextlib`." #: ../../whatsnew/3.0.rst:493 msgid "" ":ref:`pep-0366`. This enhances the usefulness of the :option:`-m` option " "when the referenced module lives in a package." msgstr "" +":ref:`pep-0366`. Isso aumenta a utilidade da opção :option:`-m` quando o " +"módulo referenciado reside em um pacote." #: ../../whatsnew/3.0.rst:496 msgid ":ref:`pep-0370`." @@ -665,16 +916,25 @@ msgstr ":ref:`pep-0371`." msgid "" ":ref:`pep-3101`. Note: the 2.6 description mentions the :meth:`format` " "method for both 8-bit and Unicode strings. In 3.0, only the :class:`str` " -"type (text strings with Unicode support) supports this method; the :class:" -"`bytes` type does not. The plan is to eventually make this the only API for " -"string formatting, and to start deprecating the ``%`` operator in Python 3.1." -msgstr "" +"type (text strings with Unicode support) supports this method; " +"the :class:`bytes` type does not. The plan is to eventually make this the " +"only API for string formatting, and to start deprecating the ``%`` operator " +"in Python 3.1." +msgstr "" +":ref:`pep-3101`. Nota: a descrição da versão 2.6 menciona o " +"método :meth:`format` para strings de 8 bits e Unicode. No 3.0, apenas o " +"tipo :class:`str` (strings de texto com suporte a Unicode) tem suporte a " +"esse método; o tipo :class:`bytes` não. O plano é eventualmente tornar esta " +"a única API para formatação de strings e começar a descontinuar o operador " +"``%`` no Python 3.1." #: ../../whatsnew/3.0.rst:507 msgid "" ":ref:`pep-3105`. This is now a standard feature and no longer needs to be " "imported from :mod:`__future__`. More details were given above." msgstr "" +":ref:`pep-3105`. Este é agora um recurso padrão e não precisa mais ser " +"importado de :mod:`__future__`. Mais detalhes foram fornecidos acima." #: ../../whatsnew/3.0.rst:510 msgid "" @@ -682,6 +942,9 @@ msgid "" "now standard and :keyword:`!except` *exc*, *var* is no longer supported. " "(Of course, the :keyword:`!as` *var* part is still optional.)" msgstr "" +":ref:`pep-3110`. A sintaxe :keyword:`except` *exc* :keyword:`!as` *var* " +"agora é padrão e :keyword:`!except` *exc*, *var* não é mais suportado. " +"(Claro, a parte :keyword:`!as` *var* ainda é opcional.)" #: ../../whatsnew/3.0.rst:515 msgid "" @@ -689,39 +952,62 @@ msgid "" "like ``b'...'``, ``b\"\"\"...\"\"\"``, and ``br\"...\"``) now produces a " "literal of type :class:`bytes`." msgstr "" +":ref:`pep-3112`. A notação de literal de string ``b\"...\"`` (e suas " +"variantes como ``b'...'``, ``b\"\"\"...\"\"\"`` e ``br\"...\"``) agora " +"produz um literal do tipo :class:`bytes`." #: ../../whatsnew/3.0.rst:519 msgid "" ":ref:`pep-3116`. The :mod:`io` module is now the standard way of doing file " "I/O. The built-in :func:`open` function is now an alias for :func:`io.open` " "and has additional keyword arguments *encoding*, *errors*, *newline* and " -"*closefd*. Also note that an invalid *mode* argument now raises :exc:" -"`ValueError`, not :exc:`IOError`. The binary file object underlying a text " -"file object can be accessed as :attr:`f.buffer` (but beware that the text " -"object maintains a buffer of itself in order to speed up the encoding and " -"decoding operations)." -msgstr "" +"*closefd*. Also note that an invalid *mode* argument now " +"raises :exc:`ValueError`, not :exc:`IOError`. The binary file object " +"underlying a text file object can be accessed as :attr:`f.buffer` (but " +"beware that the text object maintains a buffer of itself in order to speed " +"up the encoding and decoding operations)." +msgstr "" +":ref:`pep-3116`. O módulo :mod:`io` agora é a maneira padrão de fazer E/S de " +"arquivo. A função embutida :func:`open` agora é um apelido " +"para :func:`io.open` e tem argumentos nomeados adicionais *encoding*, " +"*errors*, *newline* e *closefd*. Observe também que um argumento *mode* " +"inválido agora levanta :exc:`ValueError`, não :exc:`IOError`. O objeto " +"arquivo binário subjacente a um objeto arquivo texto pode ser acessado " +"como :attr:`f.buffer` (mas tome cuidado, pois o objeto texto mantém um " +"buffer de si mesmo para acelerar as operações de codificação e " +"decodificação)." #: ../../whatsnew/3.0.rst:529 msgid "" ":ref:`pep-3118`. The old builtin :func:`buffer` is now really gone; the new " "builtin :func:`memoryview` provides (mostly) similar functionality." msgstr "" +":ref:`pep-3118`. A antiga função embutida :func:`buffer` agora realmente se " +"foi; a nova função embutida :func:`memoryview` fornece funcionalidade " +"(principalmente) semelhante." #: ../../whatsnew/3.0.rst:533 msgid "" -":ref:`pep-3119`. The :mod:`abc` module and the ABCs defined in the :mod:" -"`collections` module plays a somewhat more prominent role in the language " -"now, and built-in collection types like :class:`dict` and :class:`list` " -"conform to the :class:`collections.MutableMapping` and :class:`collections." -"MutableSequence` ABCs, respectively." +":ref:`pep-3119`. The :mod:`abc` module and the ABCs defined in " +"the :mod:`collections` module plays a somewhat more prominent role in the " +"language now, and built-in collection types like :class:`dict` " +"and :class:`list` conform to the :class:`collections.MutableMapping` " +"and :class:`collections.MutableSequence` ABCs, respectively." msgstr "" +":ref:`pep-3119`. O módulo :mod:`abc` e as ABCs definidas no " +"módulo :mod:`collections` desempenham um papel um pouco mais proeminente na " +"linguagem agora, e tipos embutidos de coleção como :class:`dict` " +"e :class:`list` estão em conformidade com as " +"ABCs :class:`collections.MutableMapping` " +"e :class:`collections.MutableSequence`, respectivamente." #: ../../whatsnew/3.0.rst:539 msgid "" ":ref:`pep-3127`. As mentioned above, the new octal literal notation is the " "only one supported, and binary literals have been added." msgstr "" +":ref:`pep-3127`. Conforme mencionado acima, a nova notação de literal octal " +"é a única suportada, e literais binários foram adicionados." #: ../../whatsnew/3.0.rst:543 msgid ":ref:`pep-3129`." @@ -733,10 +1019,13 @@ msgid "" "defining Python's \"numeric tower\". Also note the new :mod:`fractions` " "module which implements :class:`numbers.Rational`." msgstr "" +":ref:`pep-3141`. O módulo :mod:`numbers` é outro novo uso de ABCs, definindo " +"a \"torre numérica\" do Python. Observe também o novo " +"módulo :mod:`fractions` que implementa :class:`numbers.Rational`." #: ../../whatsnew/3.0.rst:551 msgid "Library Changes" -msgstr "" +msgstr "Mudanças na biblioteca" #: ../../whatsnew/3.0.rst:553 msgid "" @@ -744,39 +1033,56 @@ msgid "" "extensive changes to the standard library. :pep:`3108` is the reference for " "the major changes to the library. Here's a capsule review:" msgstr "" +"Devido a restrições de tempo, este documento não cobre exaustivamente as " +"mudanças muito extensas na biblioteca padrão. :pep:`3108` é a referência " +"para as principais mudanças na biblioteca. Aqui está uma revisão resumida:" #: ../../whatsnew/3.0.rst:558 msgid "" -"Many old modules were removed. Some, like :mod:`gopherlib` (no longer used) " -"and :mod:`md5` (replaced by :mod:`hashlib`), were already deprecated by :pep:" -"`4`. Others were removed as a result of the removal of support for various " -"platforms such as Irix, BeOS and Mac OS 9 (see :pep:`11`). Some modules " -"were also selected for removal in Python 3.0 due to lack of use or because a " -"better replacement exists. See :pep:`3108` for an exhaustive list." -msgstr "" +"Many old modules were removed. Some, like :mod:`!gopherlib` (no longer " +"used) and :mod:`!md5` (replaced by :mod:`hashlib`), were already deprecated " +"by :pep:`4`. Others were removed as a result of the removal of support for " +"various platforms such as Irix, BeOS and Mac OS 9 (see :pep:`11`). Some " +"modules were also selected for removal in Python 3.0 due to lack of use or " +"because a better replacement exists. See :pep:`3108` for an exhaustive list." +msgstr "" +"Muitos módulos antigos foram removidos. Alguns, como :mod:`!gopherlib` (não " +"mais usado) e :mod:`!md5` (substituído por :mod:`hashlib`), já tinham sido " +"descontinuados pela :pep:`4`. Outros foram removidos como resultado da " +"remoção do suporte para várias plataformas, como Irix, BeOS e Mac OS 9 " +"(veja :pep:`11`). Alguns módulos também foram selecionados para remoção no " +"Python 3.0 devido à falta de uso ou porque existe uma substituição melhor. " +"Veja :pep:`3108` para uma lista exaustiva." #: ../../whatsnew/3.0.rst:566 msgid "" -"The :mod:`bsddb3` package was removed because its presence in the core " +"The :mod:`!bsddb3` package was removed because its presence in the core " "standard library has proved over time to be a particular burden for the core " "developers due to testing instability and Berkeley DB's release schedule. " -"However, the package is alive and well, externally maintained at https://www." -"jcea.es/programacion/pybsddb.htm." +"However, the package is alive and well, externally maintained at https://" +"www.jcea.es/programacion/pybsddb.htm." msgstr "" +"O pacote :mod:`!bsddb3` foi removido porque sua presença na biblioteca " +"padrão principal provou ao longo do tempo ser um fardo particular para os " +"desenvolvedores principais devido à instabilidade dos testes e ao cronograma " +"de lançamento do Berkeley DB. No entanto, o pacote está vivo e bem, mantido " +"externamente em https://www.jcea.es/programacion/pybsddb.htm." #: ../../whatsnew/3.0.rst:572 msgid "" "Some modules were renamed because their old name disobeyed :pep:`8`, or for " "various other reasons. Here's the list:" msgstr "" +"Alguns módulos foram renomeados porque seu nome antigo desobedecia " +"a :pep:`8`, ou por vários outros motivos. Aqui está a lista:" #: ../../whatsnew/3.0.rst:576 msgid "Old Name" -msgstr "" +msgstr "Old Name" #: ../../whatsnew/3.0.rst:576 msgid "New Name" -msgstr "" +msgstr "Novo nome" #: ../../whatsnew/3.0.rst:578 msgid "_winreg" @@ -846,82 +1152,103 @@ msgstr "test.support" msgid "" "A common pattern in Python 2.x is to have one version of a module " "implemented in pure Python, with an optional accelerated version implemented " -"as a C extension; for example, :mod:`pickle` and :mod:`cPickle`. This " +"as a C extension; for example, :mod:`pickle` and :mod:`!cPickle`. This " "places the burden of importing the accelerated version and falling back on " "the pure Python version on each user of these modules. In Python 3.0, the " "accelerated versions are considered implementation details of the pure " "Python versions. Users should always import the standard version, which " "attempts to import the accelerated version and falls back to the pure Python " -"version. The :mod:`pickle` / :mod:`cPickle` pair received this treatment. " -"The :mod:`profile` module is on the list for 3.1. The :mod:`StringIO` " +"version. The :mod:`pickle` / :mod:`!cPickle` pair received this treatment. " +"The :mod:`profile` module is on the list for 3.1. The :mod:`!StringIO` " "module has been turned into a class in the :mod:`io` module." msgstr "" +"Um padrão comum no Python 2.x é ter uma versão de um módulo implementada em " +"Python puro, com uma versão acelerada opcional implementada como uma " +"extensão C; por exemplo, :mod:`pickle` e :mod:`!cPickle`. Isso coloca o " +"fardo de importar a versão acelerada e recorrer à versão Python pura em cada " +"usuário desses módulos. No Python 3.0, as versões aceleradas são " +"consideradas detalhes de implementação das versões Python puras. Os usuários " +"devem sempre importar a versão padrão, que tenta importar a versão acelerada " +"e recorrer à versão Python pura. O par :mod:`pickle` / :mod:`!cPickle` " +"recebeu esse tratamento. O módulo :mod:`profile` está na lista para 3.1. O " +"módulo :mod:`!StringIO` foi transformado em uma classe no módulo :mod:`io`." #: ../../whatsnew/3.0.rst:602 msgid "" "Some related modules have been grouped into packages, and usually the " "submodule names have been simplified. The resulting new packages are:" msgstr "" +"Alguns módulos relacionados foram agrupados em pacotes e, geralmente, os " +"nomes dos submódulos foram simplificados. Os novos pacotes resultantes são:" #: ../../whatsnew/3.0.rst:606 msgid "" -":mod:`dbm` (:mod:`anydbm`, :mod:`dbhash`, :mod:`dbm`, :mod:`dumbdbm`, :mod:" -"`gdbm`, :mod:`whichdb`)." +":mod:`dbm` (:mod:`!anydbm`, :mod:`!dbhash`, :mod:`!dbm`, :mod:`!" +"dumbdbm`, :mod:`!gdbm`, :mod:`!whichdb`)." msgstr "" -":mod:`dbm` (:mod:`anydbm`, :mod:`dbhash`, :mod:`dbm`, :mod:`dumbdbm`, :mod:" -"`gdbm`, :mod:`whichdb`)." +":mod:`dbm` (:mod:`!anydbm`, :mod:`!dbhash`, :mod:`!dbm`, :mod:`!" +"dumbdbm`, :mod:`!gdbm`, :mod:`!whichdb`)." #: ../../whatsnew/3.0.rst:609 -msgid ":mod:`html` (:mod:`HTMLParser`, :mod:`htmlentitydefs`)." -msgstr ":mod:`html` (:mod:`HTMLParser`, :mod:`htmlentitydefs`)." +msgid ":mod:`html` (:mod:`!HTMLParser`, :mod:`!htmlentitydefs`)." +msgstr ":mod:`html` (:mod:`!HTMLParser`, :mod:`!htmlentitydefs`)." #: ../../whatsnew/3.0.rst:611 msgid "" -":mod:`http` (:mod:`httplib`, :mod:`BaseHTTPServer`, :mod:`CGIHTTPServer`, :" -"mod:`SimpleHTTPServer`, :mod:`Cookie`, :mod:`cookielib`)." +":mod:`http` (:mod:`!httplib`, :mod:`!BaseHTTPServer`, :mod:`!" +"CGIHTTPServer`, :mod:`!SimpleHTTPServer`, :mod:`!Cookie`, :mod:`!cookielib`)." msgstr "" -":mod:`http` (:mod:`httplib`, :mod:`BaseHTTPServer`, :mod:`CGIHTTPServer`, :" -"mod:`SimpleHTTPServer`, :mod:`Cookie`, :mod:`cookielib`)." +":mod:`http` (:mod:`!httplib`, :mod:`!BaseHTTPServer`, :mod:`!" +"CGIHTTPServer`, :mod:`!SimpleHTTPServer`, :mod:`!Cookie`, :mod:`!cookielib`)." #: ../../whatsnew/3.0.rst:615 msgid "" ":mod:`tkinter` (all :mod:`Tkinter`-related modules except :mod:`turtle`). " -"The target audience of :mod:`turtle` doesn't really care about :mod:" -"`tkinter`. Also note that as of Python 2.6, the functionality of :mod:" -"`turtle` has been greatly enhanced." +"The target audience of :mod:`turtle` doesn't really care " +"about :mod:`tkinter`. Also note that as of Python 2.6, the functionality " +"of :mod:`turtle` has been greatly enhanced." msgstr "" +":mod:`tkinter` (todos os módulos relacionados a :mod:`Tkinter`, " +"exceto :mod:`turtle`). O público-alvo de :mod:`turtle` não se importa muito " +"com :mod:`tkinter`. Observe também que, a partir do Python 2.6, a " +"funcionalidade de :mod:`turtle` foi bastante aprimorada." #: ../../whatsnew/3.0.rst:620 msgid "" -":mod:`urllib` (:mod:`urllib`, :mod:`urllib2`, :mod:`urlparse`, :mod:" -"`robotparse`)." +":mod:`urllib` (:mod:`!urllib`, :mod:`!urllib2`, :mod:`!urlparse`, :mod:`!" +"robotparse`)." msgstr "" -":mod:`urllib` (:mod:`urllib`, :mod:`urllib2`, :mod:`urlparse`, :mod:" -"`robotparse`)." +":mod:`urllib` (:mod:`!urllib`, :mod:`!urllib2`, :mod:`!urlparse`, :mod:`!" +"robotparse`)." #: ../../whatsnew/3.0.rst:623 msgid "" -":mod:`xmlrpc` (:mod:`xmlrpclib`, :mod:`DocXMLRPCServer`, :mod:" -"`SimpleXMLRPCServer`)." +":mod:`xmlrpc` (:mod:`!xmlrpclib`, :mod:`!DocXMLRPCServer`, :mod:`!" +"SimpleXMLRPCServer`)." msgstr "" -":mod:`xmlrpc` (:mod:`xmlrpclib`, :mod:`DocXMLRPCServer`, :mod:" -"`SimpleXMLRPCServer`)." +":mod:`xmlrpc` (:mod:`!xmlrpclib`, :mod:`!DocXMLRPCServer`, :mod:`!" +"SimpleXMLRPCServer`)." #: ../../whatsnew/3.0.rst:626 msgid "" "Some other changes to standard library modules, not covered by :pep:`3108`:" msgstr "" +"Algumas outras mudanças nos módulos da biblioteca padrão, não cobertas " +"pela :pep:`3108`:" #: ../../whatsnew/3.0.rst:629 -msgid "Killed :mod:`sets`. Use the built-in :func:`set` class." -msgstr "" +msgid "Killed :mod:`!sets`. Use the built-in :func:`set` class." +msgstr ":mod:`!sets` eliminado. Use a classe embutida :func:`set`." #: ../../whatsnew/3.0.rst:631 msgid "" -"Cleanup of the :mod:`sys` module: removed :func:`sys.exitfunc`, :func:`sys." -"exc_clear`, :data:`sys.exc_type`, :data:`sys.exc_value`, :data:`sys." -"exc_traceback`. (Note that :data:`sys.last_type` etc. remain.)" +"Cleanup of the :mod:`sys` module: " +"removed :func:`sys.exitfunc`, :func:`sys.exc_clear`, :data:`sys.exc_type`, :data:`sys.exc_value`, :data:`sys.exc_traceback`. " +"(Note that :data:`sys.last_type` etc. remain.)" msgstr "" +"Limpeza do módulo :mod:`sys`: " +"removidos :func:`sys.exitfunc`, :func:`sys.exc_clear`, :data:`sys.exc_type`, :data:`sys.exc_value`, :data:`sys.exc_traceback`. " +"(Observe que :data:`sys.last_type` etc. permanecem.)" #: ../../whatsnew/3.0.rst:636 msgid "" @@ -930,59 +1257,83 @@ msgid "" "the ``'c'`` typecode for array is gone -- use either ``'b'`` for bytes or " "``'u'`` for Unicode characters." msgstr "" +"Limpeza do tipo :class:`array.array`: os métodos :meth:`read` " +"e :meth:`write` foram removidos; use :meth:`fromfile` e :meth:`tofile` em " +"vez disso. Além disso, o typecode ``'c'`` para vetor foi removido -- use " +"``'b'`` para bytes ou ``'u'`` para caracteres Unicode." #: ../../whatsnew/3.0.rst:642 msgid "" -"Cleanup of the :mod:`operator` module: removed :func:`sequenceIncludes` and :" -"func:`isCallable`." +"Cleanup of the :mod:`operator` module: removed :func:`sequenceIncludes` " +"and :func:`isCallable`." msgstr "" +"Limpeza do módulo :mod:`operator`: removidos :func:`sequenceIncludes` " +"e :func:`isCallable`." #: ../../whatsnew/3.0.rst:645 msgid "" -"Cleanup of the :mod:`thread` module: :func:`acquire_lock` and :func:" -"`release_lock` are gone; use :func:`acquire` and :func:`release` instead." +"Cleanup of the :mod:`!thread` module: :func:`!acquire_lock` and :func:`!" +"release_lock` are gone; use :meth:`~threading.Lock.acquire` " +"and :meth:`~threading.Lock.release` instead." msgstr "" +"Limpeza do módulo :mod:`!thread`: :func:`!acquire_lock` e :func:`!" +"release_lock` foram removidos; use :meth:`~threading.Lock.acquire` " +"e :meth:`~threading.Lock.release` em vez disso." #: ../../whatsnew/3.0.rst:649 msgid "Cleanup of the :mod:`random` module: removed the :func:`jumpahead` API." -msgstr "" +msgstr "Limpeza do módulo :mod:`random`: removida a API :func:`jumpahead`." #: ../../whatsnew/3.0.rst:651 -msgid "The :mod:`new` module is gone." -msgstr "" +msgid "The :mod:`!new` module is gone." +msgstr "O módulo :mod:`!new` foi removido." #: ../../whatsnew/3.0.rst:653 msgid "" "The functions :func:`os.tmpnam`, :func:`os.tempnam` and :func:`os.tmpfile` " "have been removed in favor of the :mod:`tempfile` module." msgstr "" +"As funções :func:`os.tmpnam`, :func:`os.tempnam` e :func:`os.tmpfile` foram " +"removidas em favor do módulo :mod:`tempfile`." #: ../../whatsnew/3.0.rst:657 msgid "" "The :mod:`tokenize` module has been changed to work with bytes. The main " "entry point is now :func:`tokenize.tokenize`, instead of generate_tokens." msgstr "" +"O módulo :mod:`tokenize` foi alterado para funcionar com bytes. O ponto de " +"entrada principal agora é :func:`tokenize.tokenize`, em vez de " +"generate_tokens." #: ../../whatsnew/3.0.rst:661 msgid "" -":data:`string.letters` and its friends (:data:`string.lowercase` and :data:" -"`string.uppercase`) are gone. Use :data:`string.ascii_letters` etc. " -"instead. (The reason for the removal is that :data:`string.letters` and " -"friends had locale-specific behavior, which is a bad idea for such " +":data:`string.letters` and its friends (:data:`string.lowercase` " +"and :data:`string.uppercase`) are gone. Use :data:`string.ascii_letters` " +"etc. instead. (The reason for the removal is that :data:`string.letters` " +"and friends had locale-specific behavior, which is a bad idea for such " "attractively named global \"constants\".)" msgstr "" +":data:`string.letters` e seus amigos (:data:`string.lowercase` " +"e :data:`string.uppercase`) se foram. Use :data:`string.ascii_letters` etc. " +"em vez disso. (O motivo da remoção é que :data:`string.letters` e amigos " +"tinham comportamento específico de localidade, o que é uma má ideia para " +"\"constantes\" globais com nomes tão atraentes.)" #: ../../whatsnew/3.0.rst:668 msgid "" "Renamed module :mod:`__builtin__` to :mod:`builtins` (removing the " "underscores, adding an 's'). The :data:`__builtins__` variable found in " -"most global namespaces is unchanged. To modify a builtin, you should use :" -"mod:`builtins`, not :data:`__builtins__`!" +"most global namespaces is unchanged. To modify a builtin, you should " +"use :mod:`builtins`, not :data:`__builtins__`!" msgstr "" +"Renomeado o módulo :mod:`__builtin__` para :mod:`builtins` (removendo os " +"sublinhados, adicionando um 's'). A variável :data:`__builtins__` encontrada " +"na maioria dos espaços de nomes globais não foi alterada. Para modificar um " +"builtin, você deve usar :mod:`builtins`, não :data:`__builtins__`!" #: ../../whatsnew/3.0.rst:675 msgid ":pep:`3101`: A New Approach To String Formatting" -msgstr "" +msgstr ":pep:`3101`: Uma nova abordagem para formatação de strings" #: ../../whatsnew/3.0.rst:677 msgid "" @@ -991,62 +1342,95 @@ msgid "" "supported; it will be deprecated in Python 3.1 and removed from the " "language at some later time.) Read :pep:`3101` for the full scoop." msgstr "" +"Um novo sistema para operações de formatação de strings embutidas substitui " +"o operador de formatação de strings ``%``. (No entanto, o operador ``%`` " +"ainda é suportado; ele será descontinuado no Python 3.1 e removido da " +"linguagem em algum momento posterior.) Leia a :pep:`3101` para obter " +"informações completas." #: ../../whatsnew/3.0.rst:685 msgid "Changes To Exceptions" -msgstr "Changes To Exceptions" +msgstr "Mudanças para exceções" #: ../../whatsnew/3.0.rst:687 msgid "" "The APIs for raising and catching exception have been cleaned up and new " "powerful features added:" msgstr "" +"As APIs para levantar e capturar exceções foram limpas e novos recursos " +"poderosos foram adicionados:" #: ../../whatsnew/3.0.rst:690 msgid "" -":pep:`352`: All exceptions must be derived (directly or indirectly) from :" -"exc:`BaseException`. This is the root of the exception hierarchy. This is " -"not new as a recommendation, but the *requirement* to inherit from :exc:" -"`BaseException` is new. (Python 2.6 still allowed classic classes to be " -"raised, and placed no restriction on what you can catch.) As a consequence, " -"string exceptions are finally truly and utterly dead." -msgstr "" +":pep:`352`: All exceptions must be derived (directly or indirectly) " +"from :exc:`BaseException`. This is the root of the exception hierarchy. " +"This is not new as a recommendation, but the *requirement* to inherit " +"from :exc:`BaseException` is new. (Python 2.6 still allowed classic classes " +"to be raised, and placed no restriction on what you can catch.) As a " +"consequence, string exceptions are finally truly and utterly dead." +msgstr "" +":pep:`352`: Todas as exceções devem ser derivadas (direta ou indiretamente) " +"de :exc:`BaseException`. Esta é a raiz da hierarquia de exceções. Isso não é " +"novo como recomendação, mas o *requisito* para herdar " +"de :exc:`BaseException` é novo. (O Python 2.6 ainda permitia que classes " +"clássicas fossem levantadas e não colocava nenhuma restrição sobre o que " +"você pode capturar.) Como consequência, exceções de string estão finalmente " +"verdadeira e completamente mortas." #: ../../whatsnew/3.0.rst:698 msgid "" -"Almost all exceptions should actually derive from :exc:`Exception`; :exc:" -"`BaseException` should only be used as a base class for exceptions that " -"should only be handled at the top level, such as :exc:`SystemExit` or :exc:" -"`KeyboardInterrupt`. The recommended idiom for handling all exceptions " -"except for this latter category is to use :keyword:`except` :exc:`Exception`." +"Almost all exceptions should actually derive " +"from :exc:`Exception`; :exc:`BaseException` should only be used as a base " +"class for exceptions that should only be handled at the top level, such " +"as :exc:`SystemExit` or :exc:`KeyboardInterrupt`. The recommended idiom for " +"handling all exceptions except for this latter category is to " +"use :keyword:`except` :exc:`Exception`." msgstr "" +"Quase todas as exceções devem derivar " +"de :exc:`Exception`; :exc:`BaseException` deve ser usado apenas como uma " +"classe base para exceções que devem ser manipuladas apenas no nível " +"superior, como :exc:`SystemExit` ou :exc:`KeyboardInterrupt`. O idioma " +"recomendado para manipular todas as exceções, exceto para esta última " +"categoria, é usar :keyword:`except` :exc:`Exception`." #: ../../whatsnew/3.0.rst:705 msgid ":exc:`StandardError` was removed." -msgstr ":exc:`StandardError` foi removido." +msgstr ":exc:`StandardError` foi removida." #: ../../whatsnew/3.0.rst:707 msgid "" "Exceptions no longer behave as sequences. Use the :attr:`args` attribute " "instead." msgstr "" +"As exceções não se comportam mais como sequências. Use o " +"atributo :attr:`args` em vez disso." #: ../../whatsnew/3.0.rst:710 msgid "" ":pep:`3109`: Raising exceptions. You must now use :samp:`raise {Exception}" "({args})` instead of :samp:`raise {Exception}, {args}`. Additionally, you " "can no longer explicitly specify a traceback; instead, if you *have* to do " -"this, you can assign directly to the :attr:`__traceback__` attribute (see " -"below)." +"this, you can assign directly to the :attr:`~BaseException.__traceback__` " +"attribute (see below)." msgstr "" +":pep:`3109`: levantando exceções. Agora você deve usar :samp:`raise " +"{Exception}({args})` em vez de :samp:`raise {Exception}, {args}`. Além " +"disso, você não pode mais especificar explicitamente um traceback (situação " +"da pilha de execução); em vez disso, se você *precisar* fazer isso, você " +"pode atribuir diretamente ao atributo :attr:`~BaseException.__traceback__` " +"(veja abaixo)." #: ../../whatsnew/3.0.rst:716 msgid "" ":pep:`3110`: Catching exceptions. You must now use :samp:`except " "{SomeException} as {variable}` instead of :samp:`except {SomeException}, " -"{variable}`. Moreover, the *variable* is explicitly deleted when the :" -"keyword:`except` block is left." +"{variable}`. Moreover, the *variable* is explicitly deleted when " +"the :keyword:`except` block is left." msgstr "" +":pep:`3110`: Capturando exceções. Agora você deve usar :samp:`except " +"{SomeException} as {variable}` em vez de :samp:`except {SomeException}, " +"{variable}`. Além disso, a variável *variable* é explicitamente excluída " +"quando o bloco :keyword:`except` é deixado." #: ../../whatsnew/3.0.rst:722 msgid "" @@ -1055,103 +1439,153 @@ msgid "" "an :keyword:`except` or :keyword:`finally` handler block. This usually " "happens due to a bug in the handler block; we call this a *secondary* " "exception. In this case, the original exception (that was being handled) is " -"saved as the :attr:`__context__` attribute of the secondary exception. " -"Explicit chaining is invoked with this syntax::" -msgstr "" +"saved as the :attr:`~BaseException.__context__` attribute of the secondary " +"exception. Explicit chaining is invoked with this syntax::" +msgstr "" +":pep:`3134`: Encadeamento de exceções. Existem dois casos: encadeamento " +"implícito e encadeamento explícito. O encadeamento implícito acontece quando " +"uma exceção é levantada em um bloco manipulador :keyword:`except` " +"ou :keyword:`finally`. Isso geralmente acontece devido a um bug no bloco do " +"manipulador; chamamos isso de exceção *secundária*. Nesse caso, a exceção " +"original (que estava sendo manipulada) é salva como o " +"atributo :attr:`~BaseException.__context__` da exceção secundária. O " +"encadeamento explícito é invocado com esta sintaxe::" #: ../../whatsnew/3.0.rst:733 msgid "" "(where *primary_exception* is any expression that produces an exception " "object, probably an exception that was previously caught). In this case, the " -"primary exception is stored on the :attr:`__cause__` attribute of the " -"secondary exception. The traceback printed when an unhandled exception " -"occurs walks the chain of :attr:`__cause__` and :attr:`__context__` " -"attributes and prints a separate traceback for each component of the chain, " -"with the primary exception at the top. (Java users may recognize this " -"behavior.)" -msgstr "" - -#: ../../whatsnew/3.0.rst:742 -msgid "" -":pep:`3134`: Exception objects now store their traceback as the :attr:" -"`__traceback__` attribute. This means that an exception object now contains " -"all the information pertaining to an exception, and there are fewer reasons " -"to use :func:`sys.exc_info` (though the latter is not removed)." -msgstr "" - -#: ../../whatsnew/3.0.rst:748 +"primary exception is stored on the :attr:`~BaseException.__cause__` " +"attribute of the secondary exception. The traceback printed when an " +"unhandled exception occurs walks the chain of :attr:`!__cause__` " +"and :attr:`~BaseException.__context__` attributes and prints a separate " +"traceback for each component of the chain, with the primary exception at the " +"top. (Java users may recognize this behavior.)" +msgstr "" +"(onde *primary_exception* é qualquer expressão que produz um objeto de " +"exceção, provavelmente uma exceção que foi capturada anteriormente). Neste " +"caso, a exceção primária é armazenada no " +"atributo :attr:`~BaseException.__cause__` da exceção secundária. O traceback " +"impresso quando uma exceção não tratada ocorre percorre a cadeia de " +"atributos :attr:`!__cause__` e :attr:`~BaseException.__context__` e imprime " +"um traceback separado para cada componente da cadeia, com a exceção primária " +"no topo. (Usuários Java podem reconhecer este comportamento.)" + +#: ../../whatsnew/3.0.rst:743 +msgid "" +":pep:`3134`: Exception objects now store their traceback as " +"the :attr:`~BaseException.__traceback__` attribute. This means that an " +"exception object now contains all the information pertaining to an " +"exception, and there are fewer reasons to use :func:`sys.exc_info` (though " +"the latter is not removed)." +msgstr "" +":pep:`3134`: Objetos exceção agora armazenam seu traceback como o " +"atributo :attr:`~BaseException.__traceback__`. Isso significa que um objeto " +"de exceção agora contém todas as informações pertencentes a uma exceção, e " +"há menos motivos para usar :func:`sys.exc_info` (embora o último não seja " +"removido)." + +#: ../../whatsnew/3.0.rst:749 msgid "" "A few exception messages are improved when Windows fails to load an " "extension module. For example, ``error code 193`` is now ``%1 is not a " "valid Win32 application``. Strings now deal with non-English locales." msgstr "" +"Algumas mensagens de exceção estão melhores quando o Windows falha ao " +"carregar um módulo de extensão. Por exemplo, ``error code 193`` agora é ``%1 " +"is not a valid Win32 application``. As strings agora lidam com localidades " +"que não sejam em inglês." -#: ../../whatsnew/3.0.rst:755 +#: ../../whatsnew/3.0.rst:756 msgid "Miscellaneous Other Changes" -msgstr "" +msgstr "Outras mudanças diversas" -#: ../../whatsnew/3.0.rst:758 +#: ../../whatsnew/3.0.rst:759 msgid "Operators And Special Methods" -msgstr "" +msgstr "Operadores e métodos especiais" -#: ../../whatsnew/3.0.rst:760 +#: ../../whatsnew/3.0.rst:761 msgid "" -"``!=`` now returns the opposite of ``==``, unless ``==`` returns :data:" -"`NotImplemented`." +"``!=`` now returns the opposite of ``==``, unless ``==`` " +"returns :data:`NotImplemented`." msgstr "" +"``!=`` agora retorna o oposto de ``==``, a menos que ``==`` " +"retorne :data:`NotImplemented`." -#: ../../whatsnew/3.0.rst:763 +#: ../../whatsnew/3.0.rst:764 msgid "" "The concept of \"unbound methods\" has been removed from the language. When " "referencing a method as a class attribute, you now get a plain function " "object." msgstr "" +"O conceito de \"métodos não vinculados\" foi removido da linguagem. Ao " +"referenciar um método como um atributo de classe, agora você obtém um objeto " +"função simples." -#: ../../whatsnew/3.0.rst:767 +#: ../../whatsnew/3.0.rst:768 msgid "" ":meth:`__getslice__`, :meth:`__setslice__` and :meth:`__delslice__` were " "killed. The syntax ``a[i:j]`` now translates to ``a.__getitem__(slice(i, " "j))`` (or :meth:`__setitem__` or :meth:`__delitem__`, when used as an " "assignment or deletion target, respectively)." msgstr "" +":meth:`__getslice__`, :meth:`__setslice__` e :meth:`__delslice__` foram " +"eliminados. A sintaxe ``a[i:j]`` agora é traduzida para " +"``a.__getitem__(slice(i, j))`` (ou :meth:`__setitem__` " +"ou :meth:`__delitem__`, quando usado como um alvo de atribuição ou exclusão, " +"respectivamente)." -#: ../../whatsnew/3.0.rst:773 +#: ../../whatsnew/3.0.rst:774 msgid "" -":pep:`3114`: the standard :meth:`next` method has been renamed to :meth:" -"`~iterator.__next__`." +":pep:`3114`: the standard :meth:`next` method has been renamed " +"to :meth:`~iterator.__next__`." msgstr "" +":pep:`3114`: o método padrão :meth:`next` foi renomeado " +"para :meth:`~iterator.__next__`." -#: ../../whatsnew/3.0.rst:776 +#: ../../whatsnew/3.0.rst:777 msgid "" -"The :meth:`__oct__` and :meth:`__hex__` special methods are removed -- :func:" -"`oct` and :func:`hex` use :meth:`__index__` now to convert the argument to " -"an integer." +"The :meth:`__oct__` and :meth:`__hex__` special methods are removed " +"-- :func:`oct` and :func:`hex` use :meth:`__index__` now to convert the " +"argument to an integer." msgstr "" +"Os métodos especiais :meth:`__oct__` e :meth:`__hex__` foram removidos " +"-- :func:`oct` e :func:`hex` usam :meth:`__index__` agora para converter o " +"argumento em um inteiro." -#: ../../whatsnew/3.0.rst:780 +#: ../../whatsnew/3.0.rst:781 msgid "Removed support for :attr:`__members__` and :attr:`__methods__`." -msgstr "" - -#: ../../whatsnew/3.0.rst:782 -msgid "" -"The function attributes named :attr:`func_X` have been renamed to use the :" -"data:`__X__` form, freeing up these names in the function attribute " -"namespace for user-defined attributes. To wit, :attr:`func_closure`, :attr:" -"`func_code`, :attr:`func_defaults`, :attr:`func_dict`, :attr:`func_doc`, :" -"attr:`func_globals`, :attr:`func_name` were renamed to :attr:`__closure__`, :" -"attr:`__code__`, :attr:`__defaults__`, :attr:`~object.__dict__`, :attr:" -"`__doc__`, :attr:`__globals__`, :attr:`~definition.__name__`, respectively." -msgstr "" +msgstr "Removido o suporte para :attr:`__members__` e :attr:`__methods__`." + +#: ../../whatsnew/3.0.rst:783 +msgid "" +"The function attributes named :attr:`!func_X` have been renamed to use " +"the :attr:`!__X__` form, freeing up these names in the function attribute " +"namespace for user-defined attributes. To wit, :attr:`!" +"func_closure`, :attr:`!func_code`, :attr:`!func_defaults`, :attr:`!" +"func_dict`, :attr:`!func_doc`, :attr:`!func_globals`, :attr:`!func_name` " +"were renamed " +"to :attr:`~function.__closure__`, :attr:`~function.__code__`, :attr:`~function.__defaults__`, :attr:`~function.__dict__`, :attr:`~function.__doc__`, :attr:`~function.__globals__`, :attr:`~function.__name__`, " +"respectively." +msgstr "" +"Os atributos de função chamados :attr:`!func_X` foram renomeados para usar o " +"formato :attr:`!__X__`, liberando esses nomes no espaço de nomes de " +"atributos de função para atributos definidos pelo usuário. A saber, :attr:`!" +"func_closure`, :attr:`!func_code`, :attr:`!func_defaults`, :attr:`!" +"func_dict`, :attr:`!func_doc`, :attr:`!func_globals`, :attr:`!func_name` " +"foram renomeados " +"para :attr:`~function.__closure__`, :attr:`~function.__code__`, :attr:`~function.__defaults__`, :attr:`~function.__dict__`, :attr:`~function.__doc__`, :attr:`~function.__globals__`, :attr:`~function.__name__`, " +"respectivamente." + +#: ../../whatsnew/3.0.rst:794 +msgid ":meth:`!__nonzero__` is now :meth:`~object.__bool__`." +msgstr ":meth:`!__nonzero__` agora é :meth:`~object.__bool__`." -#: ../../whatsnew/3.0.rst:792 -msgid ":meth:`__nonzero__` is now :meth:`__bool__`." -msgstr ":meth:`__nonzero__` agora é :meth:`__bool__`." - -#: ../../whatsnew/3.0.rst:795 +#: ../../whatsnew/3.0.rst:797 msgid "Builtins" -msgstr "Embutidos" +msgstr "Funções embutidas" -#: ../../whatsnew/3.0.rst:797 +#: ../../whatsnew/3.0.rst:799 msgid "" ":pep:`3135`: New :func:`super`. You can now invoke :func:`super` without " "arguments and (assuming this is in a regular instance method defined inside " @@ -1159,8 +1593,14 @@ msgid "" "automatically be chosen. With arguments, the behavior of :func:`super` is " "unchanged." msgstr "" +":pep:`3135`: Nova função :func:`super`. Agora você pode " +"invocar :func:`super` sem argumentos e (presumindo que isso esteja em um " +"método de instância regular definido dentro de uma " +"instrução :keyword:`class`) a classe e instância corretas serão " +"automaticamente escolhidas. Com argumentos, o comportamento de :func:`super` " +"não é alterado." -#: ../../whatsnew/3.0.rst:803 +#: ../../whatsnew/3.0.rst:805 msgid "" ":pep:`3111`: :func:`raw_input` was renamed to :func:`input`. That is, the " "new :func:`input` function reads a line from :data:`sys.stdin` and returns " @@ -1168,14 +1608,21 @@ msgid "" "input is terminated prematurely. To get the old behavior of :func:`input`, " "use ``eval(input())``." msgstr "" +":pep:`3111`: :func:`raw_input` foi renomeada para :func:`input`. Ou seja, a " +"nova função :func:`input` lê uma linha de :data:`sys.stdin` e a retorna com " +"a nova linha final removida. Ela levanta :exc:`EOFError` se a entrada for " +"encerrada prematuramente. Para obter o comportamento antigo " +"de :func:`input`, use ``eval(input())``." -#: ../../whatsnew/3.0.rst:809 +#: ../../whatsnew/3.0.rst:811 msgid "" -"A new built-in function :func:`next` was added to call the :meth:`~iterator." -"__next__` method on an object." +"A new built-in function :func:`next` was added to call " +"the :meth:`~iterator.__next__` method on an object." msgstr "" +"Uma nova função embutido :func:`next` foi adicionada para chamar o " +"método :meth:`~iterator.__next__` em um objeto." -#: ../../whatsnew/3.0.rst:812 +#: ../../whatsnew/3.0.rst:814 msgid "" "The :func:`round` function rounding strategy and return type have changed. " "Exact halfway cases are now rounded to the nearest even result instead of " @@ -1185,177 +1632,236 @@ msgid "" "a single argument and a value of the same type as ``x`` when called with two " "arguments." msgstr "" +"A estratégia de arredondamento da função :func:`round` e o tipo de retorno " +"foram alterados. Casos exatos de meio caminho agora são arredondados para o " +"resultado par mais próximo em vez de para longe de zero. (Por exemplo, " +"``round(2.5)`` agora retorna ``2`` em vez de ``3``.) ``round(x[, n])`` agora " +"delega para ``x.__round__([n])`` em vez de sempre retornar um float. " +"Geralmente retorna um inteiro quando chamado com um único argumento e um " +"valor do mesmo tipo que ``x`` quando chamado com dois argumentos." -#: ../../whatsnew/3.0.rst:821 +#: ../../whatsnew/3.0.rst:823 msgid "Moved :func:`intern` to :func:`sys.intern`." -msgstr "" +msgstr "Movida :func:`intern` para :func:`sys.intern`." -#: ../../whatsnew/3.0.rst:823 +#: ../../whatsnew/3.0.rst:825 msgid "" "Removed: :func:`apply`. Instead of ``apply(f, args)`` use ``f(*args)``." msgstr "" +"Removida: :func:`apply`. Em vez de ``apply(f, args)`` use ``f(*args)``." -#: ../../whatsnew/3.0.rst:826 +#: ../../whatsnew/3.0.rst:828 msgid "" "Removed :func:`callable`. Instead of ``callable(f)`` you can use " "``isinstance(f, collections.Callable)``. The :func:`operator.isCallable` " "function is also gone." msgstr "" +"Removida :func:`callable`. Em vez de ``callable(f)`` você pode usar " +"``isinstance(f, collections.Callable)``. A " +"função :func:`operator.isCallable` também foi removida." -#: ../../whatsnew/3.0.rst:830 +#: ../../whatsnew/3.0.rst:832 msgid "" "Removed :func:`coerce`. This function no longer serves a purpose now that " "classic classes are gone." msgstr "" +"Removida :func:`coerce`. Esta função não tem mais propósito agora que as " +"classes clássicas desapareceram." -#: ../../whatsnew/3.0.rst:833 +#: ../../whatsnew/3.0.rst:835 msgid "" -"Removed :func:`execfile`. Instead of ``execfile(fn)`` use ``exec(open(fn)." -"read())``." +"Removed :func:`execfile`. Instead of ``execfile(fn)`` use " +"``exec(open(fn).read())``." msgstr "" +"Removida :func:`execfile`. Em vez de ``execfile(fn)`` use " +"``exec(open(fn).read())``." -#: ../../whatsnew/3.0.rst:836 +#: ../../whatsnew/3.0.rst:838 msgid "" "Removed the :class:`file` type. Use :func:`open`. There are now several " "different kinds of streams that open can return in the :mod:`io` module." msgstr "" +"Removido o tipo :class:`file`. Use :func:`open`. Agora há vários tipos " +"diferentes de fluxos que open pode retornar no módulo :mod:`io`." -#: ../../whatsnew/3.0.rst:839 +#: ../../whatsnew/3.0.rst:841 msgid "" "Removed :func:`reduce`. Use :func:`functools.reduce` if you really need it; " "however, 99 percent of the time an explicit :keyword:`for` loop is more " "readable." msgstr "" +"Removida :func:`reduce`. Use :func:`functools.reduce` se realmente precisar; " +"no entanto, 99 por cento das vezes um laço explícito :keyword:`for` é mais " +"legível." -#: ../../whatsnew/3.0.rst:843 +#: ../../whatsnew/3.0.rst:845 msgid "Removed :func:`reload`. Use :func:`imp.reload`." -msgstr "" +msgstr "Removed :func:`reload`. Use :func:`imp.reload`." -#: ../../whatsnew/3.0.rst:845 +#: ../../whatsnew/3.0.rst:847 msgid "" "Removed. :meth:`dict.has_key` -- use the :keyword:`in` operator instead." msgstr "" +"Removida. :meth:`dict.has_key` -- use o operador :keyword:`in` em vez disso." -#: ../../whatsnew/3.0.rst:852 +#: ../../whatsnew/3.0.rst:854 msgid "Build and C API Changes" -msgstr "Alterações a compilações e API C" +msgstr "Mudanças a construções e API C" -#: ../../whatsnew/3.0.rst:854 +#: ../../whatsnew/3.0.rst:856 msgid "" "Due to time constraints, here is a *very* incomplete list of changes to the " "C API." msgstr "" +"Devido a restrições de tempo, aqui está uma lista *muito* incompleta de " +"alterações na API C." -#: ../../whatsnew/3.0.rst:857 +#: ../../whatsnew/3.0.rst:859 msgid "" "Support for several platforms was dropped, including but not limited to Mac " "OS 9, BeOS, RISCOS, Irix, and Tru64." msgstr "" +"O suporte para várias plataformas foi descartado, incluindo, mas não se " +"limitando a Mac OS 9, BeOS, RISCOS, Irix e Tru64." -#: ../../whatsnew/3.0.rst:860 +#: ../../whatsnew/3.0.rst:862 msgid ":pep:`3118`: New Buffer API." -msgstr "" +msgstr ":pep:`3118`: Nova API de Buffer." -#: ../../whatsnew/3.0.rst:862 +#: ../../whatsnew/3.0.rst:864 msgid ":pep:`3121`: Extension Module Initialization & Finalization." -msgstr "" +msgstr ":pep:`3121`: Inicialização e finalização do módulo de extensão." -#: ../../whatsnew/3.0.rst:864 +#: ../../whatsnew/3.0.rst:866 msgid ":pep:`3123`: Making :c:macro:`PyObject_HEAD` conform to standard C." -msgstr "" +msgstr ":pep:`3123`: Tornando :c:macro:`PyObject_HEAD` conforme o padrão C." -#: ../../whatsnew/3.0.rst:866 +#: ../../whatsnew/3.0.rst:868 msgid "No more C API support for restricted execution." -msgstr "" +msgstr "Não há mais suporte à API C para execução restrita." -#: ../../whatsnew/3.0.rst:868 +#: ../../whatsnew/3.0.rst:870 msgid "" -":c:func:`PyNumber_Coerce`, :c:func:`PyNumber_CoerceEx`, :c:func:" -"`PyMember_Get`, and :c:func:`PyMember_Set` C APIs are removed." +":c:func:`!PyNumber_Coerce`, :c:func:`!PyNumber_CoerceEx`, :c:func:`!" +"PyMember_Get`, and :c:func:`!PyMember_Set` C APIs are removed." msgstr "" +"As APIs C :c:func:`!PyNumber_Coerce`, :c:func:`!" +"PyNumber_CoerceEx`, :c:func:`!PyMember_Get` e :c:func:`!PyMember_Set` foram " +"removidas." -#: ../../whatsnew/3.0.rst:871 +#: ../../whatsnew/3.0.rst:873 msgid "" -"New C API :c:func:`PyImport_ImportModuleNoBlock`, works like :c:func:" -"`PyImport_ImportModule` but won't block on the import lock (returning an " -"error instead)." +"New C API :c:func:`PyImport_ImportModuleNoBlock`, works " +"like :c:func:`PyImport_ImportModule` but won't block on the import lock " +"(returning an error instead)." msgstr "" +"Nova API C :c:func:`PyImport_ImportModuleNoBlock`, funciona " +"como :c:func:`PyImport_ImportModule`, mas não bloqueia na trava de " +"importação (retornando um erro)." -#: ../../whatsnew/3.0.rst:875 +#: ../../whatsnew/3.0.rst:877 msgid "" "Renamed the boolean conversion C-level slot and method: ``nb_nonzero`` is " "now ``nb_bool``." msgstr "" +"Renomeado o slot e o método de nível C de conversão booleana: ``nb_nonzero`` " +"agora é ``nb_bool``." -#: ../../whatsnew/3.0.rst:878 +#: ../../whatsnew/3.0.rst:880 msgid "" -"Removed :c:macro:`METH_OLDARGS` and :c:macro:`WITH_CYCLE_GC` from the C API." +"Removed :c:macro:`!METH_OLDARGS` and :c:macro:`!WITH_CYCLE_GC` from the C " +"API." msgstr "" +"Removidas :c:macro:`!METH_OLDARGS` e :c:macro:`!WITH_CYCLE_GC` da API C." -#: ../../whatsnew/3.0.rst:884 +#: ../../whatsnew/3.0.rst:886 msgid "Performance" msgstr "Desempenho" -#: ../../whatsnew/3.0.rst:886 +#: ../../whatsnew/3.0.rst:888 msgid "" "The net result of the 3.0 generalizations is that Python 3.0 runs the " "pystone benchmark around 10% slower than Python 2.5. Most likely the " "biggest cause is the removal of special-casing for small integers. There's " "room for improvement, but it will happen after 3.0 is released!" msgstr "" -"The net result of the 3.0 generalizations is that Python 3.0 runs the " -"pystone benchmark around 10% slower than Python 2.5. Most likely the biggest " -"cause is the removal of special-casing for small integers. There's room for " -"improvement, but it will happen after 3.0 is released!" +"O resultado líquido das generalizações do 3.0 é que o Python 3.0 executa o " +"benchmark pystone cerca de 10% mais lento que o Python 2.5. Provavelmente a " +"maior causa é a remoção do uso de maiúsculas e minúsculas especiais para " +"números inteiros pequenos. Há espaço para melhorias, mas isso acontecerá " +"após o lançamento do 3.0!" -#: ../../whatsnew/3.0.rst:896 +#: ../../whatsnew/3.0.rst:898 msgid "Porting To Python 3.0" -msgstr "" +msgstr "Portando para o Python 3.0" -#: ../../whatsnew/3.0.rst:898 +#: ../../whatsnew/3.0.rst:900 msgid "" "For porting existing Python 2.5 or 2.6 source code to Python 3.0, the best " "strategy is the following:" msgstr "" +"Para portar o código-fonte existente do Python 2.5 ou 2.6 para o Python 3.0, " +"a melhor estratégia é a seguinte:" -#: ../../whatsnew/3.0.rst:901 +#: ../../whatsnew/3.0.rst:903 msgid "(Prerequisite:) Start with excellent test coverage." -msgstr "" +msgstr "(Pré-requisito:) Comece com uma excelente cobertura de teste." -#: ../../whatsnew/3.0.rst:903 +#: ../../whatsnew/3.0.rst:905 msgid "" "Port to Python 2.6. This should be no more work than the average port from " "Python 2.x to Python 2.(x+1). Make sure all your tests pass." msgstr "" +"Portar para o Python 2.6. Isso não deve dar mais trabalho do que o port " +"médio do Python 2.x para o Python 2.(x+1). Certifique-se de que todos os " +"seus testes passem." -#: ../../whatsnew/3.0.rst:907 +#: ../../whatsnew/3.0.rst:909 msgid "" "(Still using 2.6:) Turn on the :option:`!-3` command line switch. This " "enables warnings about features that will be removed (or change) in 3.0. " "Run your test suite again, and fix code that you get warnings about until " "there are no warnings left, and all your tests still pass." msgstr "" +"(Ainda usando 2.6:) Ative a opção de linha de comando :option:`!-3`. Isso " +"habilita avisos sobre recursos que serão removidos (ou alterados) no 3.0. " +"Execute seu conjunto de testes novamente e corrija o código sobre o qual " +"você recebe avisos até que não haja mais avisos e todos os seus testes ainda " +"passem." -#: ../../whatsnew/3.0.rst:913 +#: ../../whatsnew/3.0.rst:915 msgid "" "Run the ``2to3`` source-to-source translator over your source code tree. " "(See :ref:`2to3-reference` for more on this tool.) Run the result of the " "translation under Python 3.0. Manually fix up any remaining issues, fixing " "problems until all tests pass again." msgstr "" +"Execute o tradutor de fonte para fonte ``2to3`` sobre sua árvore de código-" +"fonte. (Veja :ref:`2to3-reference` para mais informações sobre esta " +"ferramenta.) Execute o resultado da tradução no Python 3.0. Corrija " +"manualmente quaisquer problemas restantes, corrigindo os problemas até que " +"todos os testes passem novamente." -#: ../../whatsnew/3.0.rst:918 +#: ../../whatsnew/3.0.rst:920 msgid "" "It is not recommended to try to write source code that runs unchanged under " -"both Python 2.6 and 3.0; you'd have to use a very contorted coding style, e." -"g. avoiding ``print`` statements, metaclasses, and much more. If you are " +"both Python 2.6 and 3.0; you'd have to use a very contorted coding style, " +"e.g. avoiding ``print`` statements, metaclasses, and much more. If you are " "maintaining a library that needs to support both Python 2.6 and Python 3.0, " "the best approach is to modify step 3 above by editing the 2.6 version of " "the source code and running the ``2to3`` translator again, rather than " "editing the 3.0 version of the source code." msgstr "" +"Não é recomendado tentar escrever código-fonte que seja executado inalterado " +"no Python 2.6 e 3.0; você teria que usar um estilo de codificação muito " +"distorcido, por exemplo, evitando instruções ``print``, metaclasses e muito " +"mais. Se você estiver mantendo uma biblioteca que precisa ter suporte ao " +"Python 2.6 e Python 3.0, a melhor abordagem é modificar a etapa 3 acima " +"editando a versão 2.6 do código-fonte e executando o tradutor ``2to3`` " +"novamente, em vez de editar a versão 3.0 do código-fonte." -#: ../../whatsnew/3.0.rst:927 +#: ../../whatsnew/3.0.rst:929 msgid "" "For porting C extensions to Python 3.0, please see :ref:`cporting-howto`." msgstr "" +"Para portar extensões C para Python 3.0, consulte :ref:`cporting-howto`." diff --git a/whatsnew/3.1.po b/whatsnew/3.1.po index 42acfd51e..900b3cd34 100644 --- a/whatsnew/3.1.po +++ b/whatsnew/3.1.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Ricardo Cappellano , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Adorilson Bezerra , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Adorilson Bezerra , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -56,9 +52,14 @@ msgid "" "Regular Python dictionaries iterate over key/value pairs in arbitrary order. " "Over the years, a number of authors have written alternative implementations " "that remember the order that the keys were originally inserted. Based on " -"the experiences from those implementations, a new :class:`collections." -"OrderedDict` class has been introduced." +"the experiences from those implementations, a " +"new :class:`collections.OrderedDict` class has been introduced." msgstr "" +"Regular Python dictionaries iterate over key/value pairs in arbitrary order. " +"Over the years, a number of authors have written alternative implementations " +"that remember the order that the keys were originally inserted. Based on the " +"experiences from those implementations, a " +"new :class:`collections.OrderedDict` class has been introduced." #: ../../whatsnew/3.1.rst:62 msgid "" @@ -68,6 +69,11 @@ msgid "" "original insertion position is left unchanged. Deleting an entry and " "reinserting it will move it to the end." msgstr "" +"The OrderedDict API is substantially the same as regular dictionaries but " +"will iterate over keys and values in a guaranteed order depending on when a " +"key was first inserted. If a new entry overwrites an existing entry, the " +"original insertion position is left unchanged. Deleting an entry and " +"reinserting it will move it to the end." #: ../../whatsnew/3.1.rst:68 msgid "" @@ -81,6 +87,16 @@ msgid "" "the decoder. Support was also added for third-party tools like `PyYAML " "`_." msgstr "" +"A biblioteca padrão agora possui suporte para dicionários ordenados em " +"vários módulos. O módulo :mod:`configparser` usa-os por padrão. Isso permite " +"que os arquivos de configuração sejam lidos, modificados e depois gravados " +"de volta na ordem original. O método *_asdict()* " +"para :func:`collections.namedtuple` agora retorna um dicionário ordenado com " +"os valores aparecendo na mesma ordem que os índices de tupla subjacentes. O " +"módulo :mod:`json` está sendo construído com um *object_pairs_hook* para " +"permitir que OrderedDicts sejam construídos pelo decodificador. Também foi " +"adicionado suporte para ferramentas de terceiros como `PyYAML `_." #: ../../whatsnew/3.1.rst:80 msgid ":pep:`372` - Ordered Dictionaries" @@ -91,38 +107,69 @@ msgid "" "PEP written by Armin Ronacher and Raymond Hettinger. Implementation written " "by Raymond Hettinger." msgstr "" +"PEP written by Armin Ronacher and Raymond Hettinger. Implementation written " +"by Raymond Hettinger." + +#: ../../whatsnew/3.1.rst:83 +msgid "" +"Since an ordered dictionary remembers its insertion order, it can be used in " +"conjunction with sorting to make a sorted dictionary::" +msgstr "" +"Uma vez que dicionários ordenados lembram sua ordem de inserção, isso pode " +"ser usada em conjunto com classificação para criar um dicionário " +"classificado::" + +#: ../../whatsnew/3.1.rst:101 +msgid "" +"The new sorted dictionaries maintain their sort order when entries are " +"deleted. But when new keys are added, the keys are appended to the end and " +"the sort is not maintained." +msgstr "" +"Os novos dicionários classificados mantem suas ordem de classificação quando " +"entradas são removidas. Mas quando novas chaves são adicionadas, as chaves " +"são adicionados ao fim e a classificação não é mantida." -#: ../../whatsnew/3.1.rst:85 +#: ../../whatsnew/3.1.rst:107 msgid "PEP 378: Format Specifier for Thousands Separator" msgstr "PEP 378: Especificador de formato para separador de milhares" -#: ../../whatsnew/3.1.rst:87 +#: ../../whatsnew/3.1.rst:109 msgid "" "The built-in :func:`format` function and the :meth:`str.format` method use a " "mini-language that now includes a simple, non-locale aware way to format a " "number with a thousands separator. That provides a way to humanize a " "program's output, improving its professional appearance and readability::" msgstr "" +"The built-in :func:`format` function and the :meth:`str.format` method use a " +"mini-language that now includes a simple, non-locale aware way to format a " +"number with a thousands separator. That provides a way to humanize a " +"program's output, improving its professional appearance and readability::" -#: ../../whatsnew/3.1.rst:101 +#: ../../whatsnew/3.1.rst:123 msgid "" -"The supported types are :class:`int`, :class:`float`, :class:`complex` and :" -"class:`decimal.Decimal`." +"The supported types are :class:`int`, :class:`float`, :class:`complex` " +"and :class:`decimal.Decimal`." msgstr "" +"The supported types are :class:`int`, :class:`float`, :class:`complex` " +"and :class:`decimal.Decimal`." -#: ../../whatsnew/3.1.rst:104 +#: ../../whatsnew/3.1.rst:126 msgid "" "Discussions are underway about how to specify alternative separators like " "dots, spaces, apostrophes, or underscores. Locale-aware applications should " "use the existing *n* format specifier which already has some support for " "thousands separators." msgstr "" +"Discussions are underway about how to specify alternative separators like " +"dots, spaces, apostrophes, or underscores. Locale-aware applications should " +"use the existing *n* format specifier which already has some support for " +"thousands separators." -#: ../../whatsnew/3.1.rst:112 +#: ../../whatsnew/3.1.rst:134 msgid ":pep:`378` - Format Specifier for Thousands Separator" msgstr ":pep:`378` - Especificador de formato para separador de milhares" -#: ../../whatsnew/3.1.rst:112 +#: ../../whatsnew/3.1.rst:134 msgid "" "PEP written by Raymond Hettinger and implemented by Eric Smith and Mark " "Dickinson." @@ -130,15 +177,15 @@ msgstr "" "PEP escrita por Raymond Hettinger e implementada por Eric Smith e Mark " "Dickinson." -#: ../../whatsnew/3.1.rst:117 +#: ../../whatsnew/3.1.rst:139 msgid "Other Language Changes" msgstr "Outras mudanças na linguagem" -#: ../../whatsnew/3.1.rst:119 +#: ../../whatsnew/3.1.rst:141 msgid "Some smaller changes made to the core Python language are:" -msgstr "Alguma das mudanças menores feitas no núcleo da linguagem Python são:" +msgstr "Algumas das mudanças menores feitas no núcleo da linguagem Python são:" -#: ../../whatsnew/3.1.rst:121 +#: ../../whatsnew/3.1.rst:143 msgid "" "Directories and zip archives containing a :file:`__main__.py` file can now " "be executed directly by passing their name to the interpreter. The directory/" @@ -152,7 +199,7 @@ msgstr "" "(Suggestion and initial patch by Andy Chu; revised patch by Phillip J. Eby " "and Nick Coghlan; :issue:`1739468`.)" -#: ../../whatsnew/3.1.rst:127 +#: ../../whatsnew/3.1.rst:149 msgid "" "The :func:`int` type gained a ``bit_length`` method that returns the number " "of bits necessary to represent its argument in binary::" @@ -160,7 +207,7 @@ msgstr "" "The :func:`int` type gained a ``bit_length`` method that returns the number " "of bits necessary to represent its argument in binary::" -#: ../../whatsnew/3.1.rst:141 +#: ../../whatsnew/3.1.rst:163 msgid "" "(Contributed by Fredrik Johansson, Victor Stinner, Raymond Hettinger, and " "Mark Dickinson; :issue:`3439`.)" @@ -168,13 +215,13 @@ msgstr "" "(Contributed by Fredrik Johansson, Victor Stinner, Raymond Hettinger, and " "Mark Dickinson; :issue:`3439`.)" -#: ../../whatsnew/3.1.rst:144 +#: ../../whatsnew/3.1.rst:166 msgid "" "The fields in :func:`format` strings can now be automatically numbered::" msgstr "" "The fields in :func:`format` strings can now be automatically numbered::" -#: ../../whatsnew/3.1.rst:150 +#: ../../whatsnew/3.1.rst:172 msgid "" "Formerly, the string would have required numbered fields such as: ``'Sir {0} " "of {1}'``." @@ -182,31 +229,31 @@ msgstr "" "Formerly, the string would have required numbered fields such as: ``'Sir {0} " "of {1}'``." -#: ../../whatsnew/3.1.rst:153 +#: ../../whatsnew/3.1.rst:175 msgid "(Contributed by Eric Smith; :issue:`5237`.)" msgstr "(Contributed by Eric Smith; :issue:`5237`.)" -#: ../../whatsnew/3.1.rst:155 +#: ../../whatsnew/3.1.rst:177 msgid "" -"The :func:`string.maketrans` function is deprecated and is replaced by new " +"The :func:`!string.maketrans` function is deprecated and is replaced by new " "static methods, :meth:`bytes.maketrans` and :meth:`bytearray.maketrans`. " -"This change solves the confusion around which types were supported by the :" -"mod:`string` module. Now, :class:`str`, :class:`bytes`, and :class:" -"`bytearray` each have their own **maketrans** and **translate** methods with " -"intermediate translation tables of the appropriate type." +"This change solves the confusion around which types were supported by " +"the :mod:`string` module. Now, :class:`str`, :class:`bytes`, " +"and :class:`bytearray` each have their own **maketrans** and **translate** " +"methods with intermediate translation tables of the appropriate type." msgstr "" -"The :func:`string.maketrans` function is deprecated and is replaced by new " +"The :func:`!string.maketrans` function is deprecated and is replaced by new " "static methods, :meth:`bytes.maketrans` and :meth:`bytearray.maketrans`. " -"This change solves the confusion around which types were supported by the :" -"mod:`string` module. Now, :class:`str`, :class:`bytes`, and :class:" -"`bytearray` each have their own **maketrans** and **translate** methods with " -"intermediate translation tables of the appropriate type." +"This change solves the confusion around which types were supported by " +"the :mod:`string` module. Now, :class:`str`, :class:`bytes`, " +"and :class:`bytearray` each have their own **maketrans** and **translate** " +"methods with intermediate translation tables of the appropriate type." -#: ../../whatsnew/3.1.rst:162 +#: ../../whatsnew/3.1.rst:184 msgid "(Contributed by Georg Brandl; :issue:`5675`.)" msgstr "(Contributed by Georg Brandl; :issue:`5675`.)" -#: ../../whatsnew/3.1.rst:164 +#: ../../whatsnew/3.1.rst:186 msgid "" "The syntax of the :keyword:`with` statement now allows multiple context " "managers in a single statement::" @@ -214,15 +261,15 @@ msgstr "" "The syntax of the :keyword:`with` statement now allows multiple context " "managers in a single statement::" -#: ../../whatsnew/3.1.rst:172 +#: ../../whatsnew/3.1.rst:194 msgid "" -"With the new syntax, the :func:`contextlib.nested` function is no longer " +"With the new syntax, the :func:`!contextlib.nested` function is no longer " "needed and is now deprecated." msgstr "" -"With the new syntax, the :func:`contextlib.nested` function is no longer " +"With the new syntax, the :func:`!contextlib.nested` function is no longer " "needed and is now deprecated." -#: ../../whatsnew/3.1.rst:175 +#: ../../whatsnew/3.1.rst:197 msgid "" "(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 " "`_.)" @@ -230,7 +277,7 @@ msgstr "" "(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 " "`_.)" -#: ../../whatsnew/3.1.rst:178 +#: ../../whatsnew/3.1.rst:200 msgid "" "``round(x, n)`` now returns an integer if *x* is an integer. Previously it " "returned a float::" @@ -238,11 +285,11 @@ msgstr "" "``round(x, n)`` now returns an integer if *x* is an integer. Previously it " "returned a float::" -#: ../../whatsnew/3.1.rst:184 +#: ../../whatsnew/3.1.rst:206 msgid "(Contributed by Mark Dickinson; :issue:`4707`.)" msgstr "(Contributed by Mark Dickinson; :issue:`4707`.)" -#: ../../whatsnew/3.1.rst:186 +#: ../../whatsnew/3.1.rst:208 msgid "" "Python now uses David Gay's algorithm for finding the shortest floating " "point representation that doesn't change its value. This should help " @@ -252,7 +299,7 @@ msgstr "" "point representation that doesn't change its value. This should help " "mitigate some of the confusion surrounding binary floating point numbers." -#: ../../whatsnew/3.1.rst:191 +#: ../../whatsnew/3.1.rst:213 msgid "" "The significance is easily seen with a number like ``1.1`` which does not " "have an exact equivalent in binary floating point. Since there is no exact " @@ -270,7 +317,7 @@ msgstr "" "nearest value was and still is used in subsequent floating point " "calculations." -#: ../../whatsnew/3.1.rst:199 +#: ../../whatsnew/3.1.rst:221 msgid "" "What is new is how the number gets displayed. Formerly, Python used a " "simple approach. The value of ``repr(1.1)`` was computed as ``format(1.1, " @@ -290,7 +337,7 @@ msgstr "" "intrinsic limitations of binary floating point representation as being a " "problem with Python itself)." -#: ../../whatsnew/3.1.rst:208 +#: ../../whatsnew/3.1.rst:230 msgid "" "The new algorithm for ``repr(1.1)`` is smarter and returns ``'1.1'``. " "Effectively, it searches all equivalent string representations (ones that " @@ -302,7 +349,7 @@ msgstr "" "get stored with the same underlying float value) and returns the shortest " "representation." -#: ../../whatsnew/3.1.rst:213 +#: ../../whatsnew/3.1.rst:235 msgid "" "The new algorithm tends to emit cleaner representations when possible, but " "it does not change the underlying values. So, it is still the case that " @@ -312,7 +359,7 @@ msgstr "" "it does not change the underlying values. So, it is still the case that " "``1.1 + 2.2 != 3.3`` even though the representations may suggest otherwise." -#: ../../whatsnew/3.1.rst:217 +#: ../../whatsnew/3.1.rst:239 msgid "" "The new algorithm depends on certain features in the underlying floating " "point implementation. If the required features are not found, the old " @@ -324,15 +371,15 @@ msgstr "" "algorithm will continue to be used. Also, the text pickle protocols assure " "cross-platform portability by using the old algorithm." -#: ../../whatsnew/3.1.rst:222 +#: ../../whatsnew/3.1.rst:244 msgid "(Contributed by Eric Smith and Mark Dickinson; :issue:`1580`)" msgstr "(Contributed by Eric Smith and Mark Dickinson; :issue:`1580`)" -#: ../../whatsnew/3.1.rst:225 +#: ../../whatsnew/3.1.rst:247 msgid "New, Improved, and Deprecated Modules" msgstr "New, Improved, and Deprecated Modules" -#: ../../whatsnew/3.1.rst:227 +#: ../../whatsnew/3.1.rst:249 msgid "" "Added a :class:`collections.Counter` class to support convenient counting of " "unique items in a sequence or iterable::" @@ -340,11 +387,11 @@ msgstr "" "Added a :class:`collections.Counter` class to support convenient counting of " "unique items in a sequence or iterable::" -#: ../../whatsnew/3.1.rst:233 +#: ../../whatsnew/3.1.rst:255 msgid "(Contributed by Raymond Hettinger; :issue:`1696199`.)" msgstr "(Contributed by Raymond Hettinger; :issue:`1696199`.)" -#: ../../whatsnew/3.1.rst:235 +#: ../../whatsnew/3.1.rst:257 msgid "" "Added a new module, :mod:`tkinter.ttk` for access to the Tk themed widget " "set. The basic idea of ttk is to separate, to the extent possible, the code " @@ -354,11 +401,11 @@ msgstr "" "set. The basic idea of ttk is to separate, to the extent possible, the code " "implementing a widget's behavior from the code implementing its appearance." -#: ../../whatsnew/3.1.rst:239 +#: ../../whatsnew/3.1.rst:261 msgid "(Contributed by Guilherme Polo; :issue:`2983`.)" msgstr "(Contributed by Guilherme Polo; :issue:`2983`.)" -#: ../../whatsnew/3.1.rst:241 +#: ../../whatsnew/3.1.rst:263 msgid "" "The :class:`gzip.GzipFile` and :class:`bz2.BZ2File` classes now support the " "context management protocol::" @@ -366,11 +413,11 @@ msgstr "" "The :class:`gzip.GzipFile` and :class:`bz2.BZ2File` classes now support the " "context management protocol::" -#: ../../whatsnew/3.1.rst:248 +#: ../../whatsnew/3.1.rst:270 msgid "(Contributed by Antoine Pitrou.)" msgstr "(Contribuição de Antoine Pitrou.)" -#: ../../whatsnew/3.1.rst:250 +#: ../../whatsnew/3.1.rst:272 msgid "" "The :mod:`decimal` module now supports methods for creating a decimal object " "from a binary :class:`float`. The conversion is exact but can sometimes be " @@ -380,7 +427,7 @@ msgstr "" "from a binary :class:`float`. The conversion is exact but can sometimes be " "surprising::" -#: ../../whatsnew/3.1.rst:257 +#: ../../whatsnew/3.1.rst:279 msgid "" "The long decimal result shows the actual binary fraction being stored for " "*1.1*. The fraction has many digits because *1.1* cannot be exactly " @@ -390,33 +437,33 @@ msgstr "" "*1.1*. The fraction has many digits because *1.1* cannot be exactly " "represented in binary." -#: ../../whatsnew/3.1.rst:261 +#: ../../whatsnew/3.1.rst:283 msgid "(Contributed by Raymond Hettinger and Mark Dickinson.)" msgstr "(Contributed by Raymond Hettinger and Mark Dickinson.)" -#: ../../whatsnew/3.1.rst:263 -msgid "" -"The :mod:`itertools` module grew two new functions. The :func:`itertools." -"combinations_with_replacement` function is one of four for generating " -"combinatorics including permutations and Cartesian products. The :func:" -"`itertools.compress` function mimics its namesake from APL. Also, the " -"existing :func:`itertools.count` function now has an optional *step* " -"argument and can accept any type of counting sequence including :class:" -"`fractions.Fraction` and :class:`decimal.Decimal`::" -msgstr "" -"The :mod:`itertools` module grew two new functions. The :func:`itertools." -"combinations_with_replacement` function is one of four for generating " -"combinatorics including permutations and Cartesian products. The :func:" -"`itertools.compress` function mimics its namesake from APL. Also, the " -"existing :func:`itertools.count` function now has an optional *step* " -"argument and can accept any type of counting sequence including :class:" -"`fractions.Fraction` and :class:`decimal.Decimal`::" - -#: ../../whatsnew/3.1.rst:282 +#: ../../whatsnew/3.1.rst:285 +msgid "" +"The :mod:`itertools` module grew two new functions. " +"The :func:`itertools.combinations_with_replacement` function is one of four " +"for generating combinatorics including permutations and Cartesian products. " +"The :func:`itertools.compress` function mimics its namesake from APL. Also, " +"the existing :func:`itertools.count` function now has an optional *step* " +"argument and can accept any type of counting sequence " +"including :class:`fractions.Fraction` and :class:`decimal.Decimal`::" +msgstr "" +"The :mod:`itertools` module grew two new functions. " +"The :func:`itertools.combinations_with_replacement` function is one of four " +"for generating combinatorics including permutations and Cartesian products. " +"The :func:`itertools.compress` function mimics its namesake from APL. Also, " +"the existing :func:`itertools.count` function now has an optional *step* " +"argument and can accept any type of counting sequence " +"including :class:`fractions.Fraction` and :class:`decimal.Decimal`::" + +#: ../../whatsnew/3.1.rst:304 msgid "(Contributed by Raymond Hettinger.)" msgstr "(Contributed by Raymond Hettinger.)" -#: ../../whatsnew/3.1.rst:284 +#: ../../whatsnew/3.1.rst:306 msgid "" ":func:`collections.namedtuple` now supports a keyword argument *rename* " "which lets invalid fieldnames be automatically converted to positional names " @@ -430,11 +477,11 @@ msgstr "" "created by an external source such as a CSV header, SQL field list, or user " "input::" -#: ../../whatsnew/3.1.rst:301 +#: ../../whatsnew/3.1.rst:323 msgid "(Contributed by Raymond Hettinger; :issue:`1818`.)" msgstr "(Contributed by Raymond Hettinger; :issue:`1818`.)" -#: ../../whatsnew/3.1.rst:303 +#: ../../whatsnew/3.1.rst:325 msgid "" "The :func:`re.sub`, :func:`re.subn` and :func:`re.split` functions now " "accept a flags parameter." @@ -442,27 +489,29 @@ msgstr "" "The :func:`re.sub`, :func:`re.subn` and :func:`re.split` functions now " "accept a flags parameter." -#: ../../whatsnew/3.1.rst:306 +#: ../../whatsnew/3.1.rst:328 msgid "(Contributed by Gregory Smith.)" msgstr "(Contributed by Gregory Smith.)" -#: ../../whatsnew/3.1.rst:308 +#: ../../whatsnew/3.1.rst:330 msgid "" -"The :mod:`logging` module now implements a simple :class:`logging." -"NullHandler` class for applications that are not using logging but are " -"calling library code that does. Setting-up a null handler will suppress " -"spurious warnings such as \"No handlers could be found for logger foo\"::" +"The :mod:`logging` module now implements a " +"simple :class:`logging.NullHandler` class for applications that are not " +"using logging but are calling library code that does. Setting-up a null " +"handler will suppress spurious warnings such as \"No handlers could be found " +"for logger foo\"::" msgstr "" -"The :mod:`logging` module now implements a simple :class:`logging." -"NullHandler` class for applications that are not using logging but are " -"calling library code that does. Setting-up a null handler will suppress " -"spurious warnings such as \"No handlers could be found for logger foo\"::" +"The :mod:`logging` module now implements a " +"simple :class:`logging.NullHandler` class for applications that are not " +"using logging but are calling library code that does. Setting-up a null " +"handler will suppress spurious warnings such as \"No handlers could be found " +"for logger foo\"::" -#: ../../whatsnew/3.1.rst:316 +#: ../../whatsnew/3.1.rst:338 msgid "(Contributed by Vinay Sajip; :issue:`4384`)." msgstr "(Contributed by Vinay Sajip; :issue:`4384`)." -#: ../../whatsnew/3.1.rst:318 +#: ../../whatsnew/3.1.rst:340 msgid "" "The :mod:`runpy` module which supports the ``-m`` command line switch now " "supports the execution of packages by looking for and executing a " @@ -472,27 +521,27 @@ msgstr "" "supports the execution of packages by looking for and executing a " "``__main__`` submodule when a package name is supplied." -#: ../../whatsnew/3.1.rst:322 +#: ../../whatsnew/3.1.rst:344 msgid "(Contributed by Andi Vajda; :issue:`4195`.)" msgstr "(Contributed by Andi Vajda; :issue:`4195`.)" -#: ../../whatsnew/3.1.rst:324 +#: ../../whatsnew/3.1.rst:346 msgid "" -"The :mod:`pdb` module can now access and display source code loaded via :mod:" -"`zipimport` (or any other conformant :pep:`302` loader)." +"The :mod:`pdb` module can now access and display source code loaded " +"via :mod:`zipimport` (or any other conformant :pep:`302` loader)." msgstr "" -"The :mod:`pdb` module can now access and display source code loaded via :mod:" -"`zipimport` (or any other conformant :pep:`302` loader)." +"The :mod:`pdb` module can now access and display source code loaded " +"via :mod:`zipimport` (or any other conformant :pep:`302` loader)." -#: ../../whatsnew/3.1.rst:327 +#: ../../whatsnew/3.1.rst:349 msgid "(Contributed by Alexander Belopolsky; :issue:`4201`.)" msgstr "(Contributed by Alexander Belopolsky; :issue:`4201`.)" -#: ../../whatsnew/3.1.rst:329 +#: ../../whatsnew/3.1.rst:351 msgid ":class:`functools.partial` objects can now be pickled." msgstr ":class:`functools.partial` objects can now be pickled." -#: ../../whatsnew/3.1.rst:331 +#: ../../whatsnew/3.1.rst:353 msgid "" "(Suggested by Antoine Pitrou and Jesse Noller. Implemented by Jack " "Diederich; :issue:`5228`.)" @@ -500,7 +549,7 @@ msgstr "" "(Suggested by Antoine Pitrou and Jesse Noller. Implemented by Jack " "Diederich; :issue:`5228`.)" -#: ../../whatsnew/3.1.rst:334 +#: ../../whatsnew/3.1.rst:356 msgid "" "Add :mod:`pydoc` help topics for symbols so that ``help('@')`` works as " "expected in the interactive environment." @@ -508,11 +557,11 @@ msgstr "" "Add :mod:`pydoc` help topics for symbols so that ``help('@')`` works as " "expected in the interactive environment." -#: ../../whatsnew/3.1.rst:337 +#: ../../whatsnew/3.1.rst:359 msgid "(Contributed by David Laban; :issue:`4739`.)" msgstr "(Contributed by David Laban; :issue:`4739`.)" -#: ../../whatsnew/3.1.rst:339 +#: ../../whatsnew/3.1.rst:361 msgid "" "The :mod:`unittest` module now supports skipping individual tests or classes " "of tests. And it supports marking a test as an expected failure, a test that " @@ -524,7 +573,7 @@ msgstr "" "is known to be broken, but shouldn't be counted as a failure on a " "TestResult::" -#: ../../whatsnew/3.1.rst:354 +#: ../../whatsnew/3.1.rst:376 msgid "" "Also, tests for exceptions have been builtout to work with context managers " "using the :keyword:`with` statement::" @@ -532,49 +581,49 @@ msgstr "" "Also, tests for exceptions have been builtout to work with context managers " "using the :keyword:`with` statement::" -#: ../../whatsnew/3.1.rst:361 +#: ../../whatsnew/3.1.rst:383 msgid "" -"In addition, several new assertion methods were added including :func:" -"`assertSetEqual`, :func:`assertDictEqual`, :func:" -"`assertDictContainsSubset`, :func:`assertListEqual`, :func:" -"`assertTupleEqual`, :func:`assertSequenceEqual`, :func:" -"`assertRaisesRegexp`, :func:`assertIsNone`, and :func:`assertIsNotNone`." +"In addition, several new assertion methods were added " +"including :meth:`~unittest.TestCase.assertSetEqual`, :meth:`~unittest.TestCase.assertDictEqual`, :meth:`!" +"assertDictContainsSubset`, :meth:`~unittest.TestCase.assertListEqual`, :meth:`~unittest.TestCase.assertTupleEqual`, :meth:`~unittest.TestCase.assertSequenceEqual`, :meth:`assertRaisesRegexp() " +"`, :meth:`~unittest.TestCase.assertIsNone`, " +"and :meth:`~unittest.TestCase.assertIsNotNone`." msgstr "" -"In addition, several new assertion methods were added including :func:" -"`assertSetEqual`, :func:`assertDictEqual`, :func:" -"`assertDictContainsSubset`, :func:`assertListEqual`, :func:" -"`assertTupleEqual`, :func:`assertSequenceEqual`, :func:" -"`assertRaisesRegexp`, :func:`assertIsNone`, and :func:`assertIsNotNone`." +"In addition, several new assertion methods were added " +"including :meth:`~unittest.TestCase.assertSetEqual`, :meth:`~unittest.TestCase.assertDictEqual`, :meth:`!" +"assertDictContainsSubset`, :meth:`~unittest.TestCase.assertListEqual`, :meth:`~unittest.TestCase.assertTupleEqual`, :meth:`~unittest.TestCase.assertSequenceEqual`, :meth:`assertRaisesRegexp() " +"`, :meth:`~unittest.TestCase.assertIsNone`, " +"and :meth:`~unittest.TestCase.assertIsNotNone`." -#: ../../whatsnew/3.1.rst:368 +#: ../../whatsnew/3.1.rst:394 msgid "(Contributed by Benjamin Peterson and Antoine Pitrou.)" msgstr "(Contributed by Benjamin Peterson and Antoine Pitrou.)" -#: ../../whatsnew/3.1.rst:370 +#: ../../whatsnew/3.1.rst:396 msgid "" -"The :mod:`io` module has three new constants for the :meth:`seek` method :" -"data:`SEEK_SET`, :data:`SEEK_CUR`, and :data:`SEEK_END`." +"The :mod:`io` module has three new constants for the :meth:`~io.IOBase.seek` " +"method: :data:`~os.SEEK_SET`, :data:`~os.SEEK_CUR`, and :data:`~os.SEEK_END`." msgstr "" -"The :mod:`io` module has three new constants for the :meth:`seek` method :" -"data:`SEEK_SET`, :data:`SEEK_CUR`, and :data:`SEEK_END`." +"The :mod:`io` module has three new constants for the :meth:`~io.IOBase.seek` " +"method: :data:`~os.SEEK_SET`, :data:`~os.SEEK_CUR`, and :data:`~os.SEEK_END`." -#: ../../whatsnew/3.1.rst:373 -msgid "The :attr:`sys.version_info` tuple is now a named tuple::" -msgstr "The :attr:`sys.version_info` tuple is now a named tuple::" +#: ../../whatsnew/3.1.rst:399 +msgid "The :data:`sys.version_info` tuple is now a named tuple::" +msgstr "The :data:`sys.version_info` tuple is now a named tuple::" -#: ../../whatsnew/3.1.rst:378 +#: ../../whatsnew/3.1.rst:404 msgid "(Contributed by Ross Light; :issue:`4285`.)" msgstr "(Contributed by Ross Light; :issue:`4285`.)" -#: ../../whatsnew/3.1.rst:380 +#: ../../whatsnew/3.1.rst:406 msgid "The :mod:`nntplib` and :mod:`imaplib` modules now support IPv6." msgstr "The :mod:`nntplib` and :mod:`imaplib` modules now support IPv6." -#: ../../whatsnew/3.1.rst:382 +#: ../../whatsnew/3.1.rst:408 msgid "(Contributed by Derek Morr; :issue:`1655` and :issue:`1664`.)" msgstr "(Contributed by Derek Morr; :issue:`1655` and :issue:`1664`.)" -#: ../../whatsnew/3.1.rst:384 +#: ../../whatsnew/3.1.rst:410 msgid "" "The :mod:`pickle` module has been adapted for better interoperability with " "Python 2.x when used with protocol 2 or lower. The reorganization of the " @@ -596,7 +645,7 @@ msgstr "" "remapping is turned-on by default but can be disabled with the *fix_imports* " "option::" -#: ../../whatsnew/3.1.rst:400 +#: ../../whatsnew/3.1.rst:426 msgid "" "An unfortunate but unavoidable side-effect of this change is that protocol 2 " "pickles produced by Python 3.1 won't be readable with Python 3.0. The latest " @@ -610,13 +659,13 @@ msgstr "" "Python 3.x implementations, as it doesn't attempt to remain compatible with " "Python 2.x." -#: ../../whatsnew/3.1.rst:406 +#: ../../whatsnew/3.1.rst:432 msgid "" "(Contributed by Alexandre Vassalotti and Antoine Pitrou, :issue:`6137`.)" msgstr "" "(Contributed by Alexandre Vassalotti and Antoine Pitrou, :issue:`6137`.)" -#: ../../whatsnew/3.1.rst:408 +#: ../../whatsnew/3.1.rst:434 msgid "" "A new module, :mod:`importlib` was added. It provides a complete, portable, " "pure Python reference implementation of the :keyword:`import` statement and " @@ -630,19 +679,19 @@ msgstr "" "substantial step forward in documenting and defining the actions that take " "place during imports." -#: ../../whatsnew/3.1.rst:414 +#: ../../whatsnew/3.1.rst:440 msgid "(Contributed by Brett Cannon.)" msgstr "(Contributed by Brett Cannon.)" -#: ../../whatsnew/3.1.rst:417 +#: ../../whatsnew/3.1.rst:443 msgid "Optimizations" msgstr "Otimizações" -#: ../../whatsnew/3.1.rst:419 +#: ../../whatsnew/3.1.rst:445 msgid "Major performance enhancements have been added:" msgstr "Major performance enhancements have been added:" -#: ../../whatsnew/3.1.rst:421 +#: ../../whatsnew/3.1.rst:447 msgid "" "The new I/O library (as defined in :pep:`3116`) was mostly written in Python " "and quickly proved to be a problematic bottleneck in Python 3.0. In Python " @@ -656,11 +705,11 @@ msgstr "" "faster depending on the task at hand. The pure Python version is still " "available for experimentation purposes through the ``_pyio`` module." -#: ../../whatsnew/3.1.rst:428 +#: ../../whatsnew/3.1.rst:454 msgid "(Contributed by Amaury Forgeot d'Arc and Antoine Pitrou.)" msgstr "(Contributed by Amaury Forgeot d'Arc and Antoine Pitrou.)" -#: ../../whatsnew/3.1.rst:430 +#: ../../whatsnew/3.1.rst:456 msgid "" "Added a heuristic so that tuples and dicts containing only untrackable " "objects are not tracked by the garbage collector. This can reduce the size " @@ -672,11 +721,11 @@ msgstr "" "of collections and therefore the garbage collection overhead on long-running " "programs, depending on their particular use of datatypes." -#: ../../whatsnew/3.1.rst:435 +#: ../../whatsnew/3.1.rst:461 msgid "(Contributed by Antoine Pitrou, :issue:`4688`.)" msgstr "(Contributed by Antoine Pitrou, :issue:`4688`.)" -#: ../../whatsnew/3.1.rst:437 +#: ../../whatsnew/3.1.rst:463 msgid "" "Enabling a configure option named ``--with-computed-gotos`` on compilers " "that support it (notably: gcc, SunPro, icc), the bytecode evaluation loop is " @@ -688,27 +737,27 @@ msgstr "" "compiled with a new dispatch mechanism which gives speedups of up to 20%, " "depending on the system, the compiler, and the benchmark." -#: ../../whatsnew/3.1.rst:443 +#: ../../whatsnew/3.1.rst:469 msgid "" -"(Contributed by Antoine Pitrou along with a number of other participants, :" -"issue:`4753`)." +"(Contributed by Antoine Pitrou along with a number of other " +"participants, :issue:`4753`)." msgstr "" -"(Contributed by Antoine Pitrou along with a number of other participants, :" -"issue:`4753`)." +"(Contributed by Antoine Pitrou along with a number of other " +"participants, :issue:`4753`)." -#: ../../whatsnew/3.1.rst:446 +#: ../../whatsnew/3.1.rst:472 msgid "" "The decoding of UTF-8, UTF-16 and LATIN-1 is now two to four times faster." msgstr "" "The decoding of UTF-8, UTF-16 and LATIN-1 is now two to four times faster." -#: ../../whatsnew/3.1.rst:449 +#: ../../whatsnew/3.1.rst:475 msgid "" "(Contributed by Antoine Pitrou and Amaury Forgeot d'Arc, :issue:`4868`.)" msgstr "" "(Contributed by Antoine Pitrou and Amaury Forgeot d'Arc, :issue:`4868`.)" -#: ../../whatsnew/3.1.rst:451 +#: ../../whatsnew/3.1.rst:477 msgid "" "The :mod:`json` module now has a C extension to substantially improve its " "performance. In addition, the API was modified so that json works only " @@ -716,8 +765,13 @@ msgid "" "closely match the `JSON specification `_ which is defined " "in terms of Unicode." msgstr "" +"The :mod:`json` module now has a C extension to substantially improve its " +"performance. In addition, the API was modified so that json works only " +"with :class:`str`, not with :class:`bytes`. That change makes the module " +"closely match the `JSON specification `_ which is defined " +"in terms of Unicode." -#: ../../whatsnew/3.1.rst:457 +#: ../../whatsnew/3.1.rst:483 msgid "" "(Contributed by Bob Ippolito and converted to Py3.1 by Antoine Pitrou and " "Benjamin Peterson; :issue:`4136`.)" @@ -725,7 +779,7 @@ msgstr "" "(Contributed by Bob Ippolito and converted to Py3.1 by Antoine Pitrou and " "Benjamin Peterson; :issue:`4136`.)" -#: ../../whatsnew/3.1.rst:460 +#: ../../whatsnew/3.1.rst:486 msgid "" "Unpickling now interns the attribute names of pickled objects. This saves " "memory and allows pickles to be smaller." @@ -733,15 +787,15 @@ msgstr "" "Unpickling now interns the attribute names of pickled objects. This saves " "memory and allows pickles to be smaller." -#: ../../whatsnew/3.1.rst:463 +#: ../../whatsnew/3.1.rst:489 msgid "(Contributed by Jake McGuire and Antoine Pitrou; :issue:`5084`.)" msgstr "(Contributed by Jake McGuire and Antoine Pitrou; :issue:`5084`.)" -#: ../../whatsnew/3.1.rst:466 +#: ../../whatsnew/3.1.rst:492 msgid "IDLE" msgstr "IDLE" -#: ../../whatsnew/3.1.rst:468 +#: ../../whatsnew/3.1.rst:494 msgid "" "IDLE's format menu now provides an option to strip trailing whitespace from " "a source file." @@ -749,19 +803,19 @@ msgstr "" "IDLE's format menu now provides an option to strip trailing whitespace from " "a source file." -#: ../../whatsnew/3.1.rst:471 +#: ../../whatsnew/3.1.rst:497 msgid "(Contributed by Roger D. Serwy; :issue:`5150`.)" msgstr "(Contributed by Roger D. Serwy; :issue:`5150`.)" -#: ../../whatsnew/3.1.rst:474 +#: ../../whatsnew/3.1.rst:500 msgid "Build and C API Changes" -msgstr "Alterações a compilações e API C" +msgstr "Mudanças a construções e API C" -#: ../../whatsnew/3.1.rst:476 +#: ../../whatsnew/3.1.rst:502 msgid "Changes to Python's build process and to the C API include:" -msgstr "Changes to Python's build process and to the C API include:" +msgstr "As alterações no processo de construção do Python e na API C incluem:" -#: ../../whatsnew/3.1.rst:478 +#: ../../whatsnew/3.1.rst:504 msgid "" "Integers are now stored internally either in base ``2**15`` or in base " "``2**30``, the base being determined at build time. Previously, they were " @@ -772,26 +826,34 @@ msgid "" "new configure option ``--enable-big-digits`` that can be used to override " "this default." msgstr "" +"Os inteiros agora são armazenados internamente na base ``2**15`` ou na base " +"``2**30``, the base being determined at build time. Previously, they were " +"sempre armazenado na base ``2**15``. Usando a base ``2**30`` dá " +"significativa performance de desempenho em máquinas de 64 bits, mas " +"resultados de referência em 32 bits máquinas foram misturadas. Portanto, o " +"padrão é usar a base ``2**30`` em máquinas de 64 bits e base ``2**15`` em " +"máquinas de 32 bits; no Unix, há uma nova opção de configuração ``--enable-" +"big-digits`` que pode ser usada para substituir este padrão." -#: ../../whatsnew/3.1.rst:487 +#: ../../whatsnew/3.1.rst:513 msgid "" "Apart from the performance improvements this change should be invisible to " "end users, with one exception: for testing and debugging purposes there's a " -"new :attr:`sys.int_info` that provides information about the internal " +"new :data:`sys.int_info` that provides information about the internal " "format, giving the number of bits per digit and the size in bytes of the C " "type used to store each digit::" msgstr "" -"Apart from the performance improvements this change should be invisible to " -"end users, with one exception: for testing and debugging purposes there's a " -"new :attr:`sys.int_info` that provides information about the internal " -"format, giving the number of bits per digit and the size in bytes of the C " -"type used to store each digit::" +"Além das melhorias de desempenho, essa alteração deve ser invisível para os " +"usuários finais, com uma exceção: para fins de teste e depuração, há um novo " +"structseq :data:`sys.int_info` que fornece informações sobre o formato " +"interno, fornecendo o número de bits por dígito e o tamanho em bytes do tipo " +"C usado para armazenar cada dígito::" -#: ../../whatsnew/3.1.rst:497 +#: ../../whatsnew/3.1.rst:523 msgid "(Contributed by Mark Dickinson; :issue:`4258`.)" msgstr "(Contributed by Mark Dickinson; :issue:`4258`.)" -#: ../../whatsnew/3.1.rst:499 +#: ../../whatsnew/3.1.rst:525 msgid "" "The :c:func:`PyLong_AsUnsignedLongLong()` function now handles a negative " "*pylong* by raising :exc:`OverflowError` instead of :exc:`TypeError`." @@ -799,57 +861,57 @@ msgstr "" "The :c:func:`PyLong_AsUnsignedLongLong()` function now handles a negative " "*pylong* by raising :exc:`OverflowError` instead of :exc:`TypeError`." -#: ../../whatsnew/3.1.rst:502 +#: ../../whatsnew/3.1.rst:528 msgid "(Contributed by Mark Dickinson and Lisandro Dalcrin; :issue:`5175`.)" msgstr "(Contributed by Mark Dickinson and Lisandro Dalcrin; :issue:`5175`.)" -#: ../../whatsnew/3.1.rst:504 +#: ../../whatsnew/3.1.rst:530 msgid "" -"Deprecated :c:func:`PyNumber_Int`. Use :c:func:`PyNumber_Long` instead." +"Deprecated :c:func:`!PyNumber_Int`. Use :c:func:`PyNumber_Long` instead." msgstr "" -"Deprecated :c:func:`PyNumber_Int`. Use :c:func:`PyNumber_Long` instead." +"Deprecated :c:func:`!PyNumber_Int`. Use :c:func:`PyNumber_Long` instead." -#: ../../whatsnew/3.1.rst:506 +#: ../../whatsnew/3.1.rst:532 msgid "(Contributed by Mark Dickinson; :issue:`4910`.)" msgstr "(Contributed by Mark Dickinson; :issue:`4910`.)" -#: ../../whatsnew/3.1.rst:508 +#: ../../whatsnew/3.1.rst:534 msgid "" "Added a new :c:func:`PyOS_string_to_double` function to replace the " -"deprecated functions :c:func:`PyOS_ascii_strtod` and :c:func:" -"`PyOS_ascii_atof`." +"deprecated functions :c:func:`!PyOS_ascii_strtod` and :c:func:`!" +"PyOS_ascii_atof`." msgstr "" "Added a new :c:func:`PyOS_string_to_double` function to replace the " -"deprecated functions :c:func:`PyOS_ascii_strtod` and :c:func:" -"`PyOS_ascii_atof`." +"deprecated functions :c:func:`!PyOS_ascii_strtod` and :c:func:`!" +"PyOS_ascii_atof`." -#: ../../whatsnew/3.1.rst:511 +#: ../../whatsnew/3.1.rst:537 msgid "(Contributed by Mark Dickinson; :issue:`5914`.)" msgstr "(Contributed by Mark Dickinson; :issue:`5914`.)" -#: ../../whatsnew/3.1.rst:513 +#: ../../whatsnew/3.1.rst:539 msgid "" -"Added :c:type:`PyCapsule` as a replacement for the :c:type:`PyCObject` API. " +"Added :c:type:`PyCapsule` as a replacement for the :c:type:`!PyCObject` API. " "The principal difference is that the new type has a well defined interface " "for passing typing safety information and a less complicated signature for " "calling a destructor. The old type had a problematic API and is now " "deprecated." msgstr "" -"Added :c:type:`PyCapsule` as a replacement for the :c:type:`PyCObject` API. " +"Added :c:type:`PyCapsule` as a replacement for the :c:type:`!PyCObject` API. " "The principal difference is that the new type has a well defined interface " "for passing typing safety information and a less complicated signature for " -"calling a destructor. The old type had a problematic API and is now " +"calling a destructor. The old type had a problematic API and is now " "deprecated." -#: ../../whatsnew/3.1.rst:519 +#: ../../whatsnew/3.1.rst:545 msgid "(Contributed by Larry Hastings; :issue:`5630`.)" msgstr "(Contributed by Larry Hastings; :issue:`5630`.)" -#: ../../whatsnew/3.1.rst:522 +#: ../../whatsnew/3.1.rst:548 msgid "Porting to Python 3.1" msgstr "Porting to Python 3.1" -#: ../../whatsnew/3.1.rst:524 +#: ../../whatsnew/3.1.rst:550 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code:" @@ -857,7 +919,7 @@ msgstr "" "Esta seção lista as alterações descritas anteriormente e outras correções " "que podem exigir alterações no seu código." -#: ../../whatsnew/3.1.rst:527 +#: ../../whatsnew/3.1.rst:553 msgid "" "The new floating point string representations can break existing doctests. " "For example::" @@ -865,7 +927,7 @@ msgstr "" "The new floating point string representations can break existing doctests. " "For example::" -#: ../../whatsnew/3.1.rst:550 +#: ../../whatsnew/3.1.rst:576 msgid "" "The automatic name remapping in the pickle module for protocol 2 or lower " "can make Python 3.1 pickles unreadable in Python 3.0. One solution is to " diff --git a/whatsnew/3.10.po b/whatsnew/3.10.po index e514712f6..0f1dcdcfa 100644 --- a/whatsnew/3.10.po +++ b/whatsnew/3.10.po @@ -1,32 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Ricardo Cappellano , 2021 -# Victor Matheus Castro , 2021 -# Raphael Mendonça, 2021 -# André Filipe de Assunção e Brito , 2021 -# Alexandre B A Villares, 2021 -# felipe caridade , 2022 -# Claudio Rogerio Carvalho Filho , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -45,12 +38,12 @@ msgstr "Pablo Galindo Salgado" #: ../../whatsnew/3.10.rst:47 msgid "" "This article explains the new features in Python 3.10, compared to 3.9. " -"Python 3.10 was released on October 4, 2021. For full details, see the :ref:" -"`changelog `." +"Python 3.10 was released on October 4, 2021. For full details, see " +"the :ref:`changelog `." msgstr "" "Este artigo explica os novos recursos no Python 3.10, em comparação com 3.9. " -"Python 3.10 foi lançado em 4 de outubro de 2021. Veja :ref:" -"`changelog` para uma lista completa de mudanças." +"Python 3.10 foi lançado em 4 de outubro de 2021. " +"Veja :ref:`changelog` para uma lista completa de mudanças." #: ../../whatsnew/3.10.rst:52 msgid "Summary -- Release highlights" @@ -99,7 +92,7 @@ msgstr "" #: ../../whatsnew/3.10.rst:75 msgid "New typing features:" -msgstr " Novos recursos de digitação:" +msgstr "Novos recursos de tipagem:" #: ../../whatsnew/3.10.rst:77 msgid ":pep:`604`, Allow writing union types as X | Y" @@ -145,7 +138,7 @@ msgstr ":pep:`624`, Remove APIs codificadoras de Py_UNICODE" msgid ":pep:`597`, Add optional EncodingWarning" msgstr ":pep:`597`, Adiciona EncodingWarning opcional" -#: ../../whatsnew/3.10.rst:92 ../../whatsnew/3.10.rst:2041 +#: ../../whatsnew/3.10.rst:92 ../../whatsnew/3.10.rst:2052 msgid "New Features" msgstr "Novas funcionalidades" @@ -174,19 +167,19 @@ msgstr "também é possível usar uma vírgula no final do grupo fechado:" #: ../../whatsnew/3.10.rst:142 msgid "" -"This new syntax uses the non LL(1) capacities of the new parser. Check :pep:" -"`617` for more details." +"This new syntax uses the non LL(1) capacities of the new parser. " +"Check :pep:`617` for more details." msgstr "" "Esta nova sintaxe usa as capacidades não LL(1) do novo analisador sintático. " "Confira :pep:`617` para mais detalhes." #: ../../whatsnew/3.10.rst:145 msgid "" -"(Contributed by Guido van Rossum, Pablo Galindo and Lysandros Nikolaou in :" -"issue:`12782` and :issue:`40334`.)" +"(Contributed by Guido van Rossum, Pablo Galindo and Lysandros Nikolaou " +"in :issue:`12782` and :issue:`40334`.)" msgstr "" -"(Contribuição de Guido van Rossum, Pablo Galindo e Lysandros Nikolaou em :" -"issue:`12782` e :issue:`40334`.)" +"(Contribuição de Guido van Rossum, Pablo Galindo e Lysandros Nikolaou " +"em :issue:`12782` e :issue:`40334`.)" #: ../../whatsnew/3.10.rst:150 msgid "Better error messages" @@ -240,11 +233,11 @@ msgstr "" #: ../../whatsnew/3.10.rst:191 msgid "" -"(Contributed by Pablo Galindo in :issue:`42864` and Batuhan Taskaya in :" -"issue:`40176`.)" +"(Contributed by Pablo Galindo in :issue:`42864` and Batuhan Taskaya " +"in :issue:`40176`.)" msgstr "" -"(Contribuição de Pablo Galindo em :issue:`42864` e Batuhan Taskaya em :issue:" -"`40176`.)" +"(Contribuição de Pablo Galindo em :issue:`42864` e Batuhan Taskaya " +"em :issue:`40176`.)" #: ../../whatsnew/3.10.rst:194 msgid "" @@ -272,9 +265,9 @@ msgid "" "exceptions have been incorporated. Some of the most notable ones are as " "follows:" msgstr "" -"Uma quantidade considerável de novas mensagens especializadas para exceções :" -"exc:`SyntaxError` foram incorporadas. Alguns dos mais notáveis são os " -"seguintes:" +"Uma quantidade considerável de novas mensagens especializadas para " +"exceções :exc:`SyntaxError` foram incorporadas. Alguns dos mais notáveis são " +"os seguintes:" #: ../../whatsnew/3.10.rst:222 msgid "Missing ``:`` before blocks:" @@ -389,13 +382,13 @@ msgstr "NameErrors" #: ../../whatsnew/3.10.rst:376 msgid "" -"When printing :exc:`NameError` raised by the interpreter, :c:func:" -"`PyErr_Display` will offer suggestions of similar variable names in the " -"function that the exception was raised from:" +"When printing :exc:`NameError` raised by the " +"interpreter, :c:func:`PyErr_Display` will offer suggestions of similar " +"variable names in the function that the exception was raised from:" msgstr "" -"Ao exibir :exc:`NameError` levantada pelo interpretador, :c:func:" -"`PyErr_Display` irá oferecer sugestões de nomes de variáveis semelhantes na " -"função de onde a exceção foi levantada:" +"Ao exibir :exc:`NameError` levantada pelo " +"interpretador, :c:func:`PyErr_Display` irá oferecer sugestões de nomes de " +"variáveis semelhantes na função de onde a exceção foi levantada:" #: ../../whatsnew/3.10.rst:391 msgid "" @@ -426,27 +419,29 @@ msgstr "" #: ../../whatsnew/3.10.rst:402 msgid "" -"The ``f_lineno`` attribute of frame objects will always contain the expected " -"line number." +"The :attr:`~frame.f_lineno` attribute of frame objects will always contain " +"the expected line number." msgstr "" -"O atributo ``f_lineno`` de objetos de quadro sempre conterá o número de " -"linha esperado." +"O atributo :attr:`~frame.f_lineno` de objetos de quadro sempre conterá o " +"número de linha esperado." -#: ../../whatsnew/3.10.rst:404 +#: ../../whatsnew/3.10.rst:405 msgid "" -"The ``co_lnotab`` attribute of code objects is deprecated and will be " -"removed in 3.12. Code that needs to convert from offset to line number " -"should use the new ``co_lines()`` method instead." +"The :attr:`~codeobject.co_lnotab` attribute of :ref:`code objects ` is deprecated and will be removed in 3.12. Code that needs to " +"convert from offset to line number should use the " +"new :meth:`~codeobject.co_lines` method instead." msgstr "" -"O atributo ``co_lnotab`` de objetos de código foi descontinuado e será " -"removido no 3.12. O código que precisa ser convertido do deslocamento para o " -"número da linha deve usar o novo método ``co_lines()``." +"O atributo :attr:`~codeobject.co_lnotab` :ref:`code objects ` " +"foi descontinuado e será removido no 3.12. O código que precisa ser " +"convertido do deslocamento para o número da linha deve usar o novo " +"método :meth:`~codeobject.co_lines`." -#: ../../whatsnew/3.10.rst:408 +#: ../../whatsnew/3.10.rst:412 msgid "PEP 634: Structural Pattern Matching" msgstr "PEP 634: Correspondência de padrão estrutural" -#: ../../whatsnew/3.10.rst:410 +#: ../../whatsnew/3.10.rst:414 msgid "" "Structural pattern matching has been added in the form of a *match " "statement* and *case statements* of patterns with associated actions. " @@ -463,15 +458,15 @@ msgstr "" "ramifiquem na estrutura de dados e apliquem ações específicas com base em " "diferentes formas de dados." -#: ../../whatsnew/3.10.rst:418 +#: ../../whatsnew/3.10.rst:422 msgid "Syntax and operations" msgstr "Sintaxe e operações" -#: ../../whatsnew/3.10.rst:420 +#: ../../whatsnew/3.10.rst:424 msgid "The generic syntax of pattern matching is::" msgstr "A sintaxe genérica da correspondência de padrão é::" -#: ../../whatsnew/3.10.rst:432 +#: ../../whatsnew/3.10.rst:436 msgid "" "A match statement takes an expression and compares its value to successive " "patterns given as one or more case blocks. Specifically, pattern matching " @@ -481,15 +476,15 @@ msgstr "" "padrões sucessivos fornecidos como um ou mais blocos de caso. " "Especificamente, a correspondência de padrões opera:" -#: ../../whatsnew/3.10.rst:436 +#: ../../whatsnew/3.10.rst:440 msgid "using data with type and shape (the ``subject``)" -msgstr "usando dados com tipo e forma (o ``subject``)" +msgstr "usando dados com tipo e forma (o ``sujeito``)" -#: ../../whatsnew/3.10.rst:437 +#: ../../whatsnew/3.10.rst:441 msgid "evaluating the ``subject`` in the ``match`` statement" -msgstr "avaliando o ``subject`` na instrução ``match``" +msgstr "avaliando o ``sujeito`` na instrução ``match``" -#: ../../whatsnew/3.10.rst:438 +#: ../../whatsnew/3.10.rst:442 msgid "" "comparing the subject with each pattern in a ``case`` statement from top to " "bottom until a match is confirmed." @@ -497,11 +492,11 @@ msgstr "" "comparando o assunto com cada padrão em uma instrução ``case`` de cima para " "baixo até que uma correspondência seja confirmada." -#: ../../whatsnew/3.10.rst:440 +#: ../../whatsnew/3.10.rst:444 msgid "executing the action associated with the pattern of the confirmed match" msgstr "executando a ação associada ao padrão da correspondência confirmada" -#: ../../whatsnew/3.10.rst:442 +#: ../../whatsnew/3.10.rst:446 msgid "" "If an exact match is not confirmed, the last case, a wildcard ``_``, if " "provided, will be used as the matching case. If an exact match is not " @@ -513,11 +508,11 @@ msgstr "" "correspondência exata não for confirmada e não houver um caractere curinga, " "todo o bloco de correspondência será autônomo." -#: ../../whatsnew/3.10.rst:448 +#: ../../whatsnew/3.10.rst:452 msgid "Declarative approach" msgstr "Abordagem declarativa" -#: ../../whatsnew/3.10.rst:450 +#: ../../whatsnew/3.10.rst:454 msgid "" "Readers may be aware of pattern matching through the simple example of " "matching a subject (data object) to a literal (pattern) with the switch " @@ -531,7 +526,7 @@ msgstr "" "(e muitas outras linguagens). Frequentemente, a instrução switch é usada " "para comparação de um objeto/expressão com instruções case contendo literais." -#: ../../whatsnew/3.10.rst:456 +#: ../../whatsnew/3.10.rst:460 msgid "" "More powerful examples of pattern matching can be found in languages such as " "Scala and Elixir. With structural pattern matching, the approach is " @@ -543,7 +538,7 @@ msgstr "" "estrutural, a abordagem é \"declarativa\" e declara explicitamente as " "condições (os padrões) para que os dados correspondam." -#: ../../whatsnew/3.10.rst:460 +#: ../../whatsnew/3.10.rst:464 msgid "" "While an \"imperative\" series of instructions using nested \"if\" " "statements could be used to accomplish something similar to structural " @@ -564,11 +559,11 @@ msgstr "" "case, seu verdadeiro valor para Python reside em seu tratamento do tipo e " "forma do sujeito." -#: ../../whatsnew/3.10.rst:469 +#: ../../whatsnew/3.10.rst:473 msgid "Simple pattern: match to a literal" msgstr "Padrão simples: corresponder a um literal" -#: ../../whatsnew/3.10.rst:471 +#: ../../whatsnew/3.10.rst:475 msgid "" "Let's look at this example as pattern matching in its simplest form: a " "value, the subject, being matched to several literals, the patterns. In the " @@ -583,7 +578,7 @@ msgstr "" "literais representam códigos de status de solicitação. A ação associada ao " "caso é executada após uma partida:" -#: ../../whatsnew/3.10.rst:488 +#: ../../whatsnew/3.10.rst:492 msgid "" "If the above function is passed a ``status`` of 418, \"I'm a teapot\" is " "returned. If the above function is passed a ``status`` of 500, the case " @@ -599,17 +594,17 @@ msgstr "" "atua como um *curinga* e garante que o assunto sempre corresponderá. O uso " "de ``_`` é opcional." -#: ../../whatsnew/3.10.rst:495 +#: ../../whatsnew/3.10.rst:499 msgid "" "You can combine several literals in a single pattern using ``|`` (\"or\")::" msgstr "" "Você pode combinar vários literais em um único padrão usando ``|`` (\"ou\")::" -#: ../../whatsnew/3.10.rst:501 +#: ../../whatsnew/3.10.rst:505 msgid "Behavior without the wildcard" msgstr "Comportamento sem o curinga" -#: ../../whatsnew/3.10.rst:503 +#: ../../whatsnew/3.10.rst:507 msgid "" "If we modify the above example by removing the last case block, the example " "becomes::" @@ -617,7 +612,7 @@ msgstr "" "Se modificarmos o exemplo acima removendo o último bloco case, o exemplo se " "tornará::" -#: ../../whatsnew/3.10.rst:515 +#: ../../whatsnew/3.10.rst:519 msgid "" "Without the use of ``_`` in a case statement, a match may not exist. If no " "match exists, the behavior is a no-op. For example, if ``status`` of 500 is " @@ -627,11 +622,11 @@ msgstr "" "existir. Se não houver correspondência, o comportamento é autônomo. Por " "exemplo, se o ``status`` de 500 for passado, ocorre um no-op." -#: ../../whatsnew/3.10.rst:520 +#: ../../whatsnew/3.10.rst:524 msgid "Patterns with a literal and variable" msgstr "Padrões com uma literal e variável" -#: ../../whatsnew/3.10.rst:522 +#: ../../whatsnew/3.10.rst:526 msgid "" "Patterns can look like unpacking assignments, and a pattern may be used to " "bind variables. In this example, a data point can be unpacked to its x-" @@ -639,9 +634,9 @@ msgid "" msgstr "" "Os padrões podem parecer atribuições de desempacotamento e um padrão pode " "ser usado para vincular variáveis. Neste exemplo, um ponto de dados pode ser " -"descompactado em sua coordenada x e coordenada y::" +"desempacotado em sua coordenada x e coordenada y::" -#: ../../whatsnew/3.10.rst:539 +#: ../../whatsnew/3.10.rst:543 msgid "" "The first pattern has two literals, ``(0, 0)``, and may be thought of as an " "extension of the literal pattern shown above. The next two patterns combine " @@ -652,15 +647,15 @@ msgstr "" "O primeiro padrão tem dois literais, ``(0, 0)``, e pode ser considerado uma " "extensão do padrão literal mostrado acima. Os próximos dois padrões combinam " "um literal e uma variável, e a variável *vincula* um valor do assunto " -"(``point``). O quarto padrão captura dois valores, o que o torna " +"(``ponto``). O quarto padrão captura dois valores, o que o torna " "conceitualmente semelhante à atribuição de desempacotamento ``(x, y) = " -"point``." +"ponto``." -#: ../../whatsnew/3.10.rst:546 +#: ../../whatsnew/3.10.rst:550 msgid "Patterns and classes" msgstr "Padrões e classes" -#: ../../whatsnew/3.10.rst:548 +#: ../../whatsnew/3.10.rst:552 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 " @@ -671,11 +666,11 @@ msgstr "" "construtor. Este padrão tem a capacidade de capturar atributos de classe em " "variáveis::" -#: ../../whatsnew/3.10.rst:570 +#: ../../whatsnew/3.10.rst:574 msgid "Patterns with positional parameters" msgstr "Padrões com parâmetros posicionais" -#: ../../whatsnew/3.10.rst:572 +#: ../../whatsnew/3.10.rst:576 msgid "" "You can use positional parameters with some builtin classes that provide an " "ordering for their attributes (e.g. dataclasses). You can also define a " @@ -691,11 +686,11 @@ msgstr "" "definido como (\"x\", \"y\"), os seguintes padrões são todos equivalentes (e " "todos ligam o atributo ``y`` à variável ``var``)::" -#: ../../whatsnew/3.10.rst:584 +#: ../../whatsnew/3.10.rst:588 msgid "Nested patterns" msgstr "Padrões aninhados" -#: ../../whatsnew/3.10.rst:586 +#: ../../whatsnew/3.10.rst:590 msgid "" "Patterns can be arbitrarily nested. For example, if our data is a short " "list of points, it could be matched like this::" @@ -703,11 +698,11 @@ msgstr "" "Os padrões podem ser aninhados arbitrariamente. Por exemplo, se nossos dados " "forem uma pequena lista de pontos, eles podem ser correspondidos assim::" -#: ../../whatsnew/3.10.rst:602 +#: ../../whatsnew/3.10.rst:606 msgid "Complex patterns and the wildcard" msgstr "Padrões complexos e o curinga" -#: ../../whatsnew/3.10.rst:604 +#: ../../whatsnew/3.10.rst:608 msgid "" "To this point, the examples have used ``_`` alone in the last case " "statement. A wildcard can be used in more complex patterns, such as " @@ -717,7 +712,7 @@ msgstr "" "Um curinga pode ser usado em padrões mais complexos, como ``('error', code, " "_)``. Por exemplo::" -#: ../../whatsnew/3.10.rst:614 +#: ../../whatsnew/3.10.rst:618 msgid "" "In the above case, ``test_variable`` will match for ('error', code, 100) and " "('error', code, 800)." @@ -725,30 +720,29 @@ msgstr "" "No caso acima, ``test_variable`` irá corresponder a ('erro', código, 100) e " "('erro', código, 800)." -#: ../../whatsnew/3.10.rst:618 +#: ../../whatsnew/3.10.rst:622 msgid "Guard" msgstr "Guarda" -#: ../../whatsnew/3.10.rst:620 +#: ../../whatsnew/3.10.rst:624 msgid "" "We can add an ``if`` clause to a pattern, known as a \"guard\". If the " "guard is false, ``match`` goes on to try the next case block. Note that " "value capture happens before the guard is evaluated::" msgstr "" "Podemos adicionar uma cláusula ``if`` a um padrão, conhecido como " -"\"guarda\". Se a guarda for falsa, ``match`` continua para tentar o próximo " -"bloco de caso. Observe que a captura de valor ocorre antes que a guarda seja " -"avaliada::" +"\"guarda\". Se a guarda for falsa, ``match`` tenta o próximo bloco de caso. " +"Observe que a captura de valor ocorre antes que a guarda seja avaliada::" -#: ../../whatsnew/3.10.rst:631 +#: ../../whatsnew/3.10.rst:635 msgid "Other Key Features" msgstr "Outros recursos-chave" -#: ../../whatsnew/3.10.rst:633 +#: ../../whatsnew/3.10.rst:637 msgid "Several other key features:" msgstr "Vários outros recursos-chave:" -#: ../../whatsnew/3.10.rst:635 +#: ../../whatsnew/3.10.rst:639 msgid "" "Like unpacking assignments, tuple and list patterns have exactly the same " "meaning and actually match arbitrary sequences. Technically, the subject " @@ -758,11 +752,11 @@ msgid "" msgstr "" "Assim como desempacotar atribuições, os padrões de tupla e lista têm " "exatamente o mesmo significado e realmente correspondem a sequências " -"arbitrárias. Tecnicamente, o subject deve ser uma sequência. Portanto, uma " +"arbitrárias. Tecnicamente, o sujeito deve ser uma sequência. Portanto, uma " "exceção importante é que padrões não correspondem a iteradores. Também evita " "um erro comum, sequência de padrões não correspondem a strings." -#: ../../whatsnew/3.10.rst:641 +#: ../../whatsnew/3.10.rst:645 msgid "" "Sequence patterns support wildcards: ``[x, y, *rest]`` and ``(x, y, *rest)`` " "work similar to wildcards in unpacking assignments. The name after ``*`` " @@ -775,7 +769,7 @@ msgstr "" "*_)`` corresponde a uma sequência de pelo menos dois itens sem ligar os " "itens restantes." -#: ../../whatsnew/3.10.rst:646 +#: ../../whatsnew/3.10.rst:650 msgid "" "Mapping patterns: ``{\"bandwidth\": b, \"latency\": l}`` captures the " "``\"bandwidth\"`` and ``\"latency\"`` values from a dict. Unlike sequence " @@ -783,23 +777,23 @@ msgid "" "(But ``**_`` would be redundant, so is not allowed.)" msgstr "" "Padrões de mapeamento: ``{\"bandwidth\": b, \"latency\": l}`` captura os " -"valores ``\"bandwidth\"`` e ``\"latency\"`` de um dict. Diferente dos " +"valores ``\"bandwidth\"`` e ``\"latency\"`` de um dicionário. Diferente dos " "padrões de sequência, chaves extra são ignoradas. Um curinga ``**rest`` " "também é permitido. (Mas ``**_`` seria redundante, então não é permitido.)" -#: ../../whatsnew/3.10.rst:651 +#: ../../whatsnew/3.10.rst:655 msgid "Subpatterns may be captured using the ``as`` keyword::" msgstr "Subpadrões podem ser capturados usando a palavra reservada ``as`` ::" -#: ../../whatsnew/3.10.rst:655 +#: ../../whatsnew/3.10.rst:659 msgid "" "This binds x1, y1, x2, y2 like you would expect without the ``as`` clause, " "and p2 to the entire second item of the subject." msgstr "" "Isso liga x1, y1, x2, y2 como você esperaria sem a cláusula ``as`` e p2 a " -"todo o segundo item do subject." +"todo o segundo item do sujeito." -#: ../../whatsnew/3.10.rst:658 +#: ../../whatsnew/3.10.rst:662 msgid "" "Most literals are compared by equality. However, the singletons ``True``, " "``False`` and ``None`` are compared by identity." @@ -807,7 +801,7 @@ msgstr "" "A maioria dos literais são comparados por igualdade. No entanto, os " "singletons ``True``, ``False`` e ``None`` são comparados por identidade." -#: ../../whatsnew/3.10.rst:661 +#: ../../whatsnew/3.10.rst:665 msgid "" "Named constants may be used in patterns. These named constants must be " "dotted names to prevent the constant from being interpreted as a capture " @@ -817,20 +811,20 @@ msgstr "" "devem ser nomes pontilhados para evitar que a constante seja interpretada " "como uma variável de captura::" -#: ../../whatsnew/3.10.rst:679 +#: ../../whatsnew/3.10.rst:683 msgid "" -"For the full specification see :pep:`634`. Motivation and rationale are in :" -"pep:`635`, and a longer tutorial is in :pep:`636`." +"For the full specification see :pep:`634`. Motivation and rationale are " +"in :pep:`635`, and a longer tutorial is in :pep:`636`." msgstr "" "Para obter as especificações completas, consulte a :pep:`634`. A motivação e " -"o raciocínio estão na :pep:`635`, e um tutorial mais longo está na :pep:" -"`636`." +"o raciocínio estão na :pep:`635`, e um tutorial mais longo está " +"na :pep:`636`." -#: ../../whatsnew/3.10.rst:686 +#: ../../whatsnew/3.10.rst:690 msgid "Optional ``EncodingWarning`` and ``encoding=\"locale\"`` option" msgstr "``EncodingWarning`` opcional e opção ``encoding=\"locale\"``" -#: ../../whatsnew/3.10.rst:688 +#: ../../whatsnew/3.10.rst:692 msgid "" "The default encoding of :class:`TextIOWrapper` and :func:`open` is platform " "and locale dependent. Since UTF-8 is used on most Unix platforms, omitting " @@ -842,17 +836,18 @@ msgstr "" "Unix, omitir a opção ``encoding`` ao abrir arquivos UTF-8 (por exemplo, " "JSON, YAML, TOML, Markdown) é um bug muito comum. Por exemplo::" -#: ../../whatsnew/3.10.rst:697 +#: ../../whatsnew/3.10.rst:701 msgid "" "To find this type of bug, an optional ``EncodingWarning`` is added. It is " "emitted when :data:`sys.flags.warn_default_encoding ` is true and " "locale-specific default encoding is used." msgstr "" "Para encontrar este tipo de bug, uma ``EncodingWarning`` opcional é " -"adicionada. É emitido quando :data:`sys.flags.warn_default_encoding ` é verdadeiro e a codificação padrão específica da localidade é usada." +"adicionada. É emitido quando :data:`sys.flags.warn_default_encoding " +"` é verdadeiro e a codificação padrão específica da localidade é " +"usada." -#: ../../whatsnew/3.10.rst:701 +#: ../../whatsnew/3.10.rst:705 msgid "" "``-X warn_default_encoding`` option and :envvar:`PYTHONWARNDEFAULTENCODING` " "are added to enable the warning." @@ -860,27 +855,27 @@ msgstr "" "A opção ``-X warn_default_encoding`` e :envvar:`PYTHONWARNDEFAULTENCODING` " "são adicionadas para ativar o aviso." -#: ../../whatsnew/3.10.rst:704 +#: ../../whatsnew/3.10.rst:708 msgid "See :ref:`io-text-encoding` for more information." msgstr "Veja :ref:`io-text-encoding` para mais informações." -#: ../../whatsnew/3.10.rst:709 +#: ../../whatsnew/3.10.rst:713 msgid "New Features Related to Type Hints" -msgstr "Novos recurso relacionados a dicas de tipo" +msgstr "Novos recursos relacionados a dicas de tipo" -#: ../../whatsnew/3.10.rst:711 +#: ../../whatsnew/3.10.rst:715 msgid "" -"This section covers major changes affecting :pep:`484` type hints and the :" -"mod:`typing` module." +"This section covers major changes affecting :pep:`484` type hints and " +"the :mod:`typing` module." msgstr "" -"Esta seção cobre as principais mudanças que afetam as dicas de tipo da :pep:" -"`484` e o módulo :mod:`typing`." +"Esta seção cobre as principais mudanças que afetam as dicas de tipo " +"da :pep:`484` e o módulo :mod:`typing`." -#: ../../whatsnew/3.10.rst:716 +#: ../../whatsnew/3.10.rst:720 msgid "PEP 604: New Type Union Operator" -msgstr "PEP 604: Operador de união de novo tipo" +msgstr "PEP 604: novo operador de união de tipo" -#: ../../whatsnew/3.10.rst:718 +#: ../../whatsnew/3.10.rst:722 msgid "" "A new type union operator was introduced which enables the syntax ``X | Y``. " "This provides a cleaner way of expressing 'either type X or type Y' instead " @@ -891,7 +886,7 @@ msgstr "" "quanto o tipo Y\" ao invés de usar :data:`typing.Union`, especialmente em " "dicas de tipo." -#: ../../whatsnew/3.10.rst:722 +#: ../../whatsnew/3.10.rst:726 msgid "" "In previous versions of Python, to apply a type hint for functions accepting " "arguments of multiple types, :data:`typing.Union` was used::" @@ -899,24 +894,24 @@ msgstr "" "Nas versões anteriores do Python, para aplicar uma dica de tipo para funções " "que aceitam argumentos de vários tipos, era usado :data:`typing.Union`::" -#: ../../whatsnew/3.10.rst:729 +#: ../../whatsnew/3.10.rst:733 msgid "Type hints can now be written in a more succinct manner::" msgstr "" "As dicas de tipo agora podem ser escritas de uma maneira mais sucinta::" -#: ../../whatsnew/3.10.rst:735 +#: ../../whatsnew/3.10.rst:739 msgid "" -"This new syntax is also accepted as the second argument to :func:" -"`isinstance` and :func:`issubclass`::" +"This new syntax is also accepted as the second argument " +"to :func:`isinstance` and :func:`issubclass`::" msgstr "" -"Esta nova sintaxe também é aceita como o segundo argumento para :func:" -"`isinstance` e :func:`issubclass`::" +"Esta nova sintaxe também é aceita como o segundo argumento " +"para :func:`isinstance` e :func:`issubclass`::" -#: ../../whatsnew/3.10.rst:741 +#: ../../whatsnew/3.10.rst:745 msgid "See :ref:`types-union` and :pep:`604` for more details." msgstr "Veja :ref:`types-union` e :pep:`604` para mais detalhes." -#: ../../whatsnew/3.10.rst:743 +#: ../../whatsnew/3.10.rst:747 msgid "" "(Contributed by Maggie Moss and Philippe Prados in :issue:`41428`, with " "additions by Yurii Karabas and Serhiy Storchaka in :issue:`44490`.)" @@ -924,11 +919,11 @@ msgstr "" "(Contribuição de Maggie Moss e Philippe Prados em :issue:`41428`, com " "acréscimos por Yurii Karabas e Serhiy Storchaka em :issue:`44490`.)" -#: ../../whatsnew/3.10.rst:748 +#: ../../whatsnew/3.10.rst:752 msgid "PEP 612: Parameter Specification Variables" -msgstr "PEP 612: Variáveis de especificação de parâmetros" +msgstr "PEP 612: variáveis de especificação de parâmetros" -#: ../../whatsnew/3.10.rst:750 +#: ../../whatsnew/3.10.rst:754 msgid "" "Two new options to improve the information provided to static type checkers " "for :pep:`484`\\ 's ``Callable`` have been added to the :mod:`typing` module." @@ -937,7 +932,7 @@ msgstr "" "de tipo estático para ``Callable`` da :pep:`484` foram adicionadas ao " "módulo :mod:`typing`." -#: ../../whatsnew/3.10.rst:753 +#: ../../whatsnew/3.10.rst:757 msgid "" "The first is the parameter specification variable. They are used to forward " "the parameter types of one callable to another callable -- a pattern " @@ -947,12 +942,12 @@ msgid "" msgstr "" "A primeira é a variável de especificação de parâmetro. Eles são usados para " "encaminhar os tipos de parâmetro de um chamável para outro chamável -- um " -"padrão comumente encontrado em funções e decoradores de ordem superior. " +"padrão comumente encontrado em funções de ordem superior e decoradores. " "Exemplos de uso podem ser encontrados em :class:`typing.ParamSpec`. " "Anteriormente, não havia uma maneira fácil de digitar a dependência de " "anotação de tipos de parâmetro de maneira tão precisa." -#: ../../whatsnew/3.10.rst:759 +#: ../../whatsnew/3.10.rst:763 msgid "" "The second option is the new ``Concatenate`` operator. It's used in " "conjunction with parameter specification variables to type annotate a higher " @@ -964,17 +959,15 @@ msgstr "" "ordem superior que adiciona ou remove parâmetros de outro chamável. Exemplos " "de uso podem ser encontrados em :class:`typing.Concatenate`." -#: ../../whatsnew/3.10.rst:764 +#: ../../whatsnew/3.10.rst:768 msgid "" -"See :class:`typing.Callable`, :class:`typing.ParamSpec`, :class:`typing." -"Concatenate`, :class:`typing.ParamSpecArgs`, :class:`typing." -"ParamSpecKwargs`, and :pep:`612` for more details." +"See :class:`typing.Callable`, :class:`typing.ParamSpec`, :class:`typing.Concatenate`, :class:`typing.ParamSpecArgs`, :class:`typing.ParamSpecKwargs`, " +"and :pep:`612` for more details." msgstr "" -"Veja :class:`typing.Callable`, :class:`typing.ParamSpec`, :class:`typing." -"Concatenate`, :class:`typing.ParamSpecArgs`, :class:`typing.ParamSpecKwargs` " +"Veja :class:`typing.Callable`, :class:`typing.ParamSpec`, :class:`typing.Concatenate`, :class:`typing.ParamSpecArgs`, :class:`typing.ParamSpecKwargs` " "e :pep:`612` para mais detalhes." -#: ../../whatsnew/3.10.rst:768 +#: ../../whatsnew/3.10.rst:772 msgid "" "(Contributed by Ken Jin in :issue:`41559`, with minor enhancements by Jelle " "Zijlstra in :issue:`43783`. PEP written by Mark Mendoza.)" @@ -982,11 +975,11 @@ msgstr "" "(Contribuição de Ken Jin em :issue:`41559`, com pequenas melhorias por Jelle " "Zijlstra em :issue:`43783`. PEP escrita por Mark Mendoza.)" -#: ../../whatsnew/3.10.rst:773 +#: ../../whatsnew/3.10.rst:777 msgid "PEP 613: TypeAlias" msgstr "PEP 613: TypeAlias" -#: ../../whatsnew/3.10.rst:775 +#: ../../whatsnew/3.10.rst:779 msgid "" ":pep:`484` introduced the concept of type aliases, only requiring them to be " "top-level unannotated assignments. This simplicity sometimes made it " @@ -996,11 +989,11 @@ msgid "" msgstr "" ":pep:`484` introduziu o conceito de apelidos de tipo, exigindo apenas que " "fossem atribuições não anotadas de nível superior. Essa simplicidade às " -"vezes tornava difícil para os verificadores de tipo distinguir entre " +"vezes tornava difícil para os verificadores de tipo distinguirem entre " "apelidos de tipo e atribuições comuns, especialmente quando referências " "diretas ou tipos inválidos estavam envolvidos. Compare::" -#: ../../whatsnew/3.10.rst:783 +#: ../../whatsnew/3.10.rst:787 msgid "" "Now the :mod:`typing` module has a special value :data:`TypeAlias` which " "lets you declare type aliases more explicitly::" @@ -1008,31 +1001,31 @@ msgstr "" "Agora o módulo :mod:`type` tem um valor especial :data:`TypeAlias` que " "permite declarar apelidos de tipo, mais explicitamente::" -#: ../../whatsnew/3.10.rst:789 +#: ../../whatsnew/3.10.rst:793 msgid "See :pep:`613` for more details." msgstr "Veja :pep:`613` para mais detalhes." -#: ../../whatsnew/3.10.rst:791 +#: ../../whatsnew/3.10.rst:795 msgid "(Contributed by Mikhail Golubev in :issue:`41923`.)" msgstr "(Contribuição de Mikhail Golubev em :issue:`41923`.)" -#: ../../whatsnew/3.10.rst:794 +#: ../../whatsnew/3.10.rst:798 msgid "PEP 647: User-Defined Type Guards" -msgstr "PEP 647: Guardas de Tipo Definidas Pelo Usuário" +msgstr "PEP 647: guardas de tipo definidas pelo usuário" -#: ../../whatsnew/3.10.rst:796 +#: ../../whatsnew/3.10.rst:800 msgid "" ":data:`TypeGuard` has been added to the :mod:`typing` module to annotate " "type guard functions and improve information provided to static type " -"checkers during type narrowing. For more information, please see :data:" -"`TypeGuard`\\ 's documentation, and :pep:`647`." +"checkers during type narrowing. For more information, please " +"see :data:`TypeGuard`\\ 's documentation, and :pep:`647`." msgstr "" ":data:`TypeGuard` foi adicionado ao módulo :mod:`typing` para anotar funções " "de guarda de tipo e melhorar informações fornecidas a verificadores de tipo " "estático durante um estreitamento de tipo. Para mais informações, veja a " "documentação do :data:`TypeGuard` e a :pep:`647`." -#: ../../whatsnew/3.10.rst:801 +#: ../../whatsnew/3.10.rst:805 msgid "" "(Contributed by Ken Jin and Guido van Rossum in :issue:`43766`. PEP written " "by Eric Traut.)" @@ -1040,11 +1033,11 @@ msgstr "" "(Contribuição de Ken Jin e Guido van Rossum em :issue:`43766`. PEP escrita " "por Eric Traut.)" -#: ../../whatsnew/3.10.rst:805 +#: ../../whatsnew/3.10.rst:809 msgid "Other Language Changes" msgstr "Outras mudanças na linguagem" -#: ../../whatsnew/3.10.rst:807 +#: ../../whatsnew/3.10.rst:811 msgid "" "The :class:`int` type has a new method :meth:`int.bit_count`, returning the " "number of ones in the binary expansion of a given integer, also known as the " @@ -1052,22 +1045,22 @@ msgid "" msgstr "" "O tipo :class:`int` tem um novo método :meth:`int.bit_count`, retornando o " "número de unidades na expansão binária de um dado inteiro, também conhecido " -"como contagem da população. (Contribuição de Niklas Fiekas em :issue:" -"`29882`.)" +"como contagem da população. (Contribuição de Niklas Fiekas " +"em :issue:`29882`.)" -#: ../../whatsnew/3.10.rst:811 +#: ../../whatsnew/3.10.rst:815 msgid "" -"The views returned by :meth:`dict.keys`, :meth:`dict.values` and :meth:`dict." -"items` now all have a ``mapping`` attribute that gives a :class:`types." -"MappingProxyType` object wrapping the original dictionary. (Contributed by " -"Dennis Sweeney in :issue:`40890`.)" +"The views returned by :meth:`dict.keys`, :meth:`dict.values` " +"and :meth:`dict.items` now all have a ``mapping`` attribute that gives " +"a :class:`types.MappingProxyType` object wrapping the original dictionary. " +"(Contributed by Dennis Sweeney in :issue:`40890`.)" msgstr "" -"As visualizações retornadas por :meth:`dict.keys`, :meth:`dict.values` e :" -"meth:`dict.items` agora têm um atributo ``mapping`` que fornece um objeto :" -"class:`types.MappingProxyType` que envolve o dicionário original. " +"As visualizações retornadas por :meth:`dict.keys`, :meth:`dict.values` " +"e :meth:`dict.items` agora têm um atributo ``mapping`` que fornece um " +"objeto :class:`types.MappingProxyType` que envolve o dicionário original. " "(Contribuição de Dennis Sweeney em :issue:`40890`.)" -#: ../../whatsnew/3.10.rst:816 +#: ../../whatsnew/3.10.rst:820 msgid "" ":pep:`618`: The :func:`zip` function now has an optional ``strict`` flag, " "used to require that all the iterables have an equal length." @@ -1076,31 +1069,33 @@ msgstr "" "``strict``, usado para exigir que todos os iteráveis tenham um comprimento " "igual." -#: ../../whatsnew/3.10.rst:819 +#: ../../whatsnew/3.10.rst:823 msgid "" "Builtin and extension functions that take integer arguments no longer " "accept :class:`~decimal.Decimal`\\ s, :class:`~fractions.Fraction`\\ s and " "other objects that can be converted to integers only with a loss (e.g. that " -"have the :meth:`~object.__int__` method but do not have the :meth:`~object." -"__index__` method). (Contributed by Serhiy Storchaka in :issue:`37999`.)" +"have the :meth:`~object.__int__` method but do not have " +"the :meth:`~object.__index__` method). (Contributed by Serhiy Storchaka " +"in :issue:`37999`.)" msgstr "" "Funções embutidas e de extensão que recebem argumentos inteiros não aceitam " "mais :class:`~decimal.Decimal`, :class:`~fractions.Fraction` e outros " "objetos que podem ser convertidos em inteiros apenas com uma perda (por " -"exemplo, tem o método :meth:`~object.__int__`, mas não tem o método :meth:" -"`~object.__index__`). (Contribuição de Serhiy Storchaka em :issue:`37999`.)" +"exemplo, tem o método :meth:`~object.__int__`, mas não tem o " +"método :meth:`~object.__index__`). (Contribuição de Serhiy Storchaka " +"em :issue:`37999`.)" -#: ../../whatsnew/3.10.rst:826 +#: ../../whatsnew/3.10.rst:830 msgid "" -"If :func:`object.__ipow__` returns :const:`NotImplemented`, the operator " -"will correctly fall back to :func:`object.__pow__` and :func:`object." -"__rpow__` as expected. (Contributed by Alex Shkop in :issue:`38302`.)" +"If :func:`object.__ipow__` returns :data:`NotImplemented`, the operator will " +"correctly fall back to :func:`object.__pow__` and :func:`object.__rpow__` as " +"expected. (Contributed by Alex Shkop in :issue:`38302`.)" msgstr "" -"Se :func:`object.__ipow__` retorna :const:`NotImplemented`, o operador vai " +"Se :func:`object.__ipow__` retorna :data:`NotImplemented`, o operador vai " "corretamente recorrer ao :func:`object.__pow__` e :func:`object.__rpow__` " "como esperado. (Contribuição de Alex Shkop em :issue:`38302`.)" -#: ../../whatsnew/3.10.rst:830 +#: ../../whatsnew/3.10.rst:834 msgid "" "Assignment expressions can now be used unparenthesized within set literals " "and set comprehensions, as well as in sequence indexes (but not slices)." @@ -1109,7 +1104,7 @@ msgstr "" "literais de conjuntos e compreensões de conjuntos, bem como em índices de " "sequência (mas não em fatias)." -#: ../../whatsnew/3.10.rst:833 +#: ../../whatsnew/3.10.rst:837 msgid "" "Functions have a new ``__builtins__`` attribute which is used to look for " "builtin symbols when a function is executed, instead of looking into " @@ -1123,7 +1118,7 @@ msgstr "" "``__globals__[\"__builtins__\"]`` se existir; do contrário, a partir dos " "embutidos atuais. (Contribuição de Mark Shannon em :issue:`42990`.)" -#: ../../whatsnew/3.10.rst:839 +#: ../../whatsnew/3.10.rst:843 msgid "" "Two new builtin functions -- :func:`aiter` and :func:`anext` have been added " "to provide asynchronous counterparts to :func:`iter` and :func:`next`, " @@ -1131,14 +1126,14 @@ msgid "" "in :issue:`31861`.)" msgstr "" "Duas novas funções embutidas -- :func:`aiter` e :func:`anext` foram " -"adicionadas para fornecer contrapartes assíncronas para :func:`iter` e :func:" -"`next`, respectivamente. (Contribuição de Joshua Bronson, Daniel Pope e " -"Justin Wang em :issue:`31861`.)" +"adicionadas para fornecer contrapartes assíncronas para :func:`iter` " +"e :func:`next`, respectivamente. (Contribuição de Joshua Bronson, Daniel " +"Pope e Justin Wang em :issue:`31861`.)" -#: ../../whatsnew/3.10.rst:844 +#: ../../whatsnew/3.10.rst:848 msgid "" -"Static methods (:func:`@staticmethod `) and class methods (:" -"func:`@classmethod `) now inherit the method attributes " +"Static methods (:func:`@staticmethod `) and class methods " +"(:func:`@classmethod `) now inherit the method attributes " "(``__module__``, ``__name__``, ``__qualname__``, ``__doc__``, " "``__annotations__``) and have a new ``__wrapped__`` attribute. Moreover, " "static methods are now callable as regular functions. (Contributed by Victor " @@ -1151,19 +1146,19 @@ msgstr "" "métodos estáticos são agora chamáveis como funções comuns. (Contribuição de " "Victor Stinner em :issue:`43682`.)" -#: ../../whatsnew/3.10.rst:851 +#: ../../whatsnew/3.10.rst:855 msgid "" "Annotations for complex targets (everything beside ``simple name`` targets " "defined by :pep:`526`) no longer cause any runtime effects with ``from " -"__future__ import annotations``. (Contributed by Batuhan Taskaya in :issue:" -"`42737`.)" +"__future__ import annotations``. (Contributed by Batuhan Taskaya " +"in :issue:`42737`.)" msgstr "" "Anotações para alvos complexos (tudo além de alvos de nome simples, ou " "``simple name``, definidos pela :pep:`526`) não causam mais nenhum efeito de " "tempo de execução com ``from __future__ import annotations``. (Contribuição " "de Batuhan Taskaya em :issue:`42737`.)" -#: ../../whatsnew/3.10.rst:855 +#: ../../whatsnew/3.10.rst:859 msgid "" "Class and module objects now lazy-create empty annotations dicts on demand. " "The annotations dicts are stored in the object’s ``__dict__`` for backwards " @@ -1178,19 +1173,19 @@ msgstr "" "mais informações, veja :ref:`annotations-howto`. (Contribuição de Larry " "Hastings em :issue:`43901`.)" -#: ../../whatsnew/3.10.rst:862 +#: ../../whatsnew/3.10.rst:866 msgid "" "Annotations consist of ``yield``, ``yield from``, ``await`` or named " "expressions are now forbidden under ``from __future__ import annotations`` " -"due to their side effects. (Contributed by Batuhan Taskaya in :issue:" -"`42725`.)" +"due to their side effects. (Contributed by Batuhan Taskaya " +"in :issue:`42725`.)" msgstr "" "Anotações consistindo em ``yield``, ``yield from``, ``await`` ou expressões " "nomeadas agora são proibidas em ``from __future__ import annotations`` por " -"causa de seus efeitos colaterais. (Contribuição de Batuhan Taskaya em :issue:" -"`42725`.)" +"causa de seus efeitos colaterais. (Contribuição de Batuhan Taskaya " +"em :issue:`42725`.)" -#: ../../whatsnew/3.10.rst:867 +#: ../../whatsnew/3.10.rst:871 msgid "" "Usage of unbound variables, ``super()`` and other expressions that might " "alter the processing of symbol table as annotations are now rendered " @@ -1202,33 +1197,34 @@ msgstr "" "processadas sem efeito sob ``from __future__ import annotations``. " "(Contribuição de Batuhan Taskaya em :issue:`42725`.)" -#: ../../whatsnew/3.10.rst:872 +#: ../../whatsnew/3.10.rst:876 msgid "" -"Hashes of NaN values of both :class:`float` type and :class:`decimal." -"Decimal` type now depend on object identity. Formerly, they always hashed to " -"``0`` even though NaN values are not equal to one another. This caused " -"potentially quadratic runtime behavior due to excessive hash collisions when " -"creating dictionaries and sets containing multiple NaNs. (Contributed by " -"Raymond Hettinger in :issue:`43475`.)" +"Hashes of NaN values of both :class:`float` type " +"and :class:`decimal.Decimal` type now depend on object identity. Formerly, " +"they always hashed to ``0`` even though NaN values are not equal to one " +"another. This caused potentially quadratic runtime behavior due to excessive " +"hash collisions when creating dictionaries and sets containing multiple " +"NaNs. (Contributed by Raymond Hettinger in :issue:`43475`.)" msgstr "" -"Hashes de valores NaN de ambos os tipos :class:`float` e :class:`decimal." -"Decimal` agora dependem da identidade do objeto. Anteriormente, eles sempre " -"hash para ``0`` mesmo que os valores NaN não sejam iguais uns aos outros. " -"Isso causou um comportamento de tempo de execução potencialmente quadrático " -"devido a colisões de hash excessivas ao criar dicionários e conjuntos " -"contendo vários NaNs. (Contribuição de Raymond Hettinger em :issue:`43475`.)" +"Hashes de valores NaN de ambos os tipos :class:`float` " +"e :class:`decimal.Decimal` agora dependem da identidade do objeto. " +"Anteriormente, eles sempre hash para ``0`` mesmo que os valores NaN não " +"sejam iguais uns aos outros. Isso causou um comportamento de tempo de " +"execução potencialmente quadrático devido a colisões de hash excessivas ao " +"criar dicionários e conjuntos contendo vários NaNs. (Contribuição de Raymond " +"Hettinger em :issue:`43475`.)" -#: ../../whatsnew/3.10.rst:879 +#: ../../whatsnew/3.10.rst:883 msgid "" "A :exc:`SyntaxError` (instead of a :exc:`NameError`) will be raised when " -"deleting the :const:`__debug__` constant. (Contributed by Dong-hee Na in :" -"issue:`45000`.)" +"deleting the :const:`__debug__` constant. (Contributed by Donghee Na " +"in :issue:`45000`.)" msgstr "" "Uma :exc:`SyntaxError` (ao invés de uma :exc:`NameError`) será levantada ao " -"excluir a constante :const:`__debug__`. (Contribuição de Dong-hee Na em :" -"issue:`45000`.)" +"excluir a constante :const:`__debug__`. (Contribuição de Donghee Na " +"em :issue:`45000`.)" -#: ../../whatsnew/3.10.rst:882 +#: ../../whatsnew/3.10.rst:886 msgid "" ":exc:`SyntaxError` exceptions now have ``end_lineno`` and ``end_offset`` " "attributes. They will be ``None`` if not determined. (Contributed by Pablo " @@ -1238,37 +1234,37 @@ msgstr "" "``end_offset``. Eles serão ``None`` se não forem determinados. (Contribuição " "de Pablo Galindo em :issue:`43914`.)" -#: ../../whatsnew/3.10.rst:887 +#: ../../whatsnew/3.10.rst:891 msgid "New Modules" msgstr "Novos módulos" -#: ../../whatsnew/3.10.rst:889 -msgid "None yet." -msgstr "Nada ainda." - #: ../../whatsnew/3.10.rst:893 +msgid "None." +msgstr "Nenhum." + +#: ../../whatsnew/3.10.rst:897 msgid "Improved Modules" msgstr "Módulos melhorados" -#: ../../whatsnew/3.10.rst:896 +#: ../../whatsnew/3.10.rst:900 msgid "asyncio" msgstr "asyncio" -#: ../../whatsnew/3.10.rst:898 +#: ../../whatsnew/3.10.rst:902 msgid "" -"Add missing :meth:`~asyncio.events.AbstractEventLoop." -"connect_accepted_socket` method. (Contributed by Alex Grönholm in :issue:" -"`41332`.)" +"Add " +"missing :meth:`~asyncio.events.AbstractEventLoop.connect_accepted_socket` " +"method. (Contributed by Alex Grönholm in :issue:`41332`.)" msgstr "" -"Adiciona o método :meth:`~asyncio.events.AbstractEventLoop." -"connect_accepted_socket` até então em falta. (Contribuição de Alex Grönholm " -"em :issue:`41332`.)" +"Adiciona o " +"método :meth:`~asyncio.events.AbstractEventLoop.connect_accepted_socket` até " +"então em falta. (Contribuição de Alex Grönholm em :issue:`41332`.)" -#: ../../whatsnew/3.10.rst:903 +#: ../../whatsnew/3.10.rst:907 msgid "argparse" msgstr "argparse" -#: ../../whatsnew/3.10.rst:905 +#: ../../whatsnew/3.10.rst:909 msgid "" "Misleading phrase \"optional arguments\" was replaced with \"options\" in " "argparse help. Some tests might require adaptation if they rely on exact " @@ -1276,14 +1272,14 @@ msgid "" msgstr "" "A frase enganosa \"argumentos opcionais\" foi substituída por \"opções\" na " "ajuda do argparse. Alguns testes podem exigir adaptação se eles dependerem " -"da correspondência de saída exata. (Contribuição de Raymond Hettinger em :" -"issue:`9694`.)" +"da correspondência de saída exata. (Contribuição de Raymond Hettinger " +"em :issue:`9694`.)" -#: ../../whatsnew/3.10.rst:909 +#: ../../whatsnew/3.10.rst:913 msgid "array" msgstr "array" -#: ../../whatsnew/3.10.rst:911 +#: ../../whatsnew/3.10.rst:915 msgid "" "The :meth:`~array.array.index` method of :class:`array.array` now has " "optional *start* and *stop* parameters. (Contributed by Anders Lorentsen and " @@ -1293,11 +1289,11 @@ msgstr "" "parâmetros *start* e *stop*. (Contribuição de Anders Lorentsen e Zackery " "Spytz em :issue:`31956`.)" -#: ../../whatsnew/3.10.rst:916 +#: ../../whatsnew/3.10.rst:920 msgid "asynchat, asyncore, smtpd" msgstr "asynchat, asyncore, smtpd" -#: ../../whatsnew/3.10.rst:917 +#: ../../whatsnew/3.10.rst:921 msgid "" "These modules have been marked as deprecated in their module documentation " "since Python 3.6. An import-time :class:`DeprecationWarning` has now been " @@ -1307,11 +1303,11 @@ msgstr "" "módulo desde o Python 3.6. Uma exceção :class:`DeprecationWarning` em tempo " "de importação agora foi adicionada a todos esses três módulos." -#: ../../whatsnew/3.10.rst:922 +#: ../../whatsnew/3.10.rst:926 msgid "base64" msgstr "base64" -#: ../../whatsnew/3.10.rst:924 +#: ../../whatsnew/3.10.rst:928 msgid "" "Add :func:`base64.b32hexencode` and :func:`base64.b32hexdecode` to support " "the Base32 Encoding with Extended Hex Alphabet." @@ -1319,81 +1315,83 @@ msgstr "" "Adiciona :func:`base64.b32hexencode` e :func:`base64.b32hexdecode` para dar " "suporte a Codificação Base32 com alfabeto hexa estendido." -#: ../../whatsnew/3.10.rst:928 +#: ../../whatsnew/3.10.rst:932 msgid "bdb" msgstr "bdb" -#: ../../whatsnew/3.10.rst:930 +#: ../../whatsnew/3.10.rst:934 msgid "" "Add :meth:`~bdb.Breakpoint.clearBreakpoints` to reset all set breakpoints. " "(Contributed by Irit Katriel in :issue:`24160`.)" msgstr "" "Adiciona :meth:`~bdb.Breakpoint.clearBreakpoints` para redefinir todos os " -"pontos de interrupção definidos. (Contribuição de Irit Katriel em :issue:" -"`24160`.)" +"pontos de interrupção definidos. (Contribuição de Irit Katriel " +"em :issue:`24160`.)" -#: ../../whatsnew/3.10.rst:934 +#: ../../whatsnew/3.10.rst:938 msgid "bisect" msgstr "bisect" -#: ../../whatsnew/3.10.rst:936 +#: ../../whatsnew/3.10.rst:940 msgid "" -"Added the possibility of providing a *key* function to the APIs in the :mod:" -"`bisect` module. (Contributed by Raymond Hettinger in :issue:`4356`.)" +"Added the possibility of providing a *key* function to the APIs in " +"the :mod:`bisect` module. (Contributed by Raymond Hettinger " +"in :issue:`4356`.)" msgstr "" "Adicionada a possibilidade de fornecer uma função *key* para as APIs no " "módulo :mod:`bisect`. (Contribuição de Raymond Hettinger em :issue:`4356`.)" -#: ../../whatsnew/3.10.rst:940 +#: ../../whatsnew/3.10.rst:944 msgid "codecs" msgstr "codecs" -#: ../../whatsnew/3.10.rst:942 +#: ../../whatsnew/3.10.rst:946 msgid "" "Add a :func:`codecs.unregister` function to unregister a codec search " "function. (Contributed by Hai Shi in :issue:`41842`.)" msgstr "" "Adiciona uma função :func:`codecs.unregister` para cancelar um registro de " -"uma função de pesquisa de codecs. (Contribuição de Hai Shi em :issue:" -"`41842`.)" +"uma função de pesquisa de codecs. (Contribuição de Hai Shi " +"em :issue:`41842`.)" -#: ../../whatsnew/3.10.rst:946 +#: ../../whatsnew/3.10.rst:950 msgid "collections.abc" msgstr "collections.abc" -#: ../../whatsnew/3.10.rst:948 +#: ../../whatsnew/3.10.rst:952 msgid "" "The ``__args__`` of the :ref:`parameterized generic ` " -"for :class:`collections.abc.Callable` are now consistent with :data:`typing." -"Callable`. :class:`collections.abc.Callable` generic now flattens type " -"parameters, similar to what :data:`typing.Callable` currently does. This " -"means that ``collections.abc.Callable[[int, str], str]`` will have " -"``__args__`` of ``(int, str, str)``; previously this was ``([int, str], " +"for :class:`collections.abc.Callable` are now consistent " +"with :data:`typing.Callable`. :class:`collections.abc.Callable` generic now " +"flattens type parameters, similar to what :data:`typing.Callable` currently " +"does. This means that ``collections.abc.Callable[[int, str], str]`` will " +"have ``__args__`` of ``(int, str, str)``; previously this was ``([int, str], " "str)``. To allow this change, :class:`types.GenericAlias` can now be " -"subclassed, and a subclass will be returned when subscripting the :class:" -"`collections.abc.Callable` type. Note that a :exc:`TypeError` may be raised " -"for invalid forms of parameterizing :class:`collections.abc.Callable` which " -"may have passed silently in Python 3.9. (Contributed by Ken Jin in :issue:" -"`42195`.)" -msgstr "" -"Os ``__args__`` do :ref:`genérico parametrizado ` para :" -"class:`collections.abc.Callable` agora são consistentes com :data:`typing." -"Callable`. A classe genérica :class:`collections.abc.Callable` agora achata " -"parâmetros de tipo, de forma semelhante ao que :data:`typing.Callable` " -"atualmente faz. Isso significa que ``collections.abc.Callable[[int, str], " -"str]`` terá ``__args__`` de ``(int, str, str)``; anteriormente, isso era " -"``([int, str], str)``. Para permitir esta alteração, agora é possível criar " -"subclasse de :class:`types.GenericAlias` e uma subclasse será retornada ao " -"fazer um subscript do tipo :class:`collections.abc.Callable`. Observe que " +"subclassed, and a subclass will be returned when subscripting " +"the :class:`collections.abc.Callable` type. Note that a :exc:`TypeError` " +"may be raised for invalid forms of " +"parameterizing :class:`collections.abc.Callable` which may have passed " +"silently in Python 3.9. (Contributed by Ken Jin in :issue:`42195`.)" +msgstr "" +"Os ``__args__`` do :ref:`genérico parametrizado ` " +"para :class:`collections.abc.Callable` agora são consistentes " +"com :data:`typing.Callable`. A classe " +"genérica :class:`collections.abc.Callable` agora achata parâmetros de tipo, " +"de forma semelhante ao que :data:`typing.Callable` atualmente faz. Isso " +"significa que ``collections.abc.Callable[[int, str], str]`` terá " +"``__args__`` de ``(int, str, str)``; anteriormente, isso era ``([int, str], " +"str)``. Para permitir esta alteração, agora é possível criar subclasse " +"de :class:`types.GenericAlias` e uma subclasse será retornada ao fazer um " +"subscript do tipo :class:`collections.abc.Callable`. Observe que " "uma :exc:`TypeError` pode ser levantada para formas inválidas de " "parametrizar :class:`collections.abc.Callable` que podem ter passado " "silenciosamente no Python 3.9. (Contribuição de Ken Jin em :issue:`42195`.)" -#: ../../whatsnew/3.10.rst:961 +#: ../../whatsnew/3.10.rst:965 msgid "contextlib" msgstr "contextlib" -#: ../../whatsnew/3.10.rst:963 +#: ../../whatsnew/3.10.rst:967 msgid "" "Add a :func:`contextlib.aclosing` context manager to safely close async " "generators and objects representing asynchronously released resources. " @@ -1404,15 +1402,16 @@ msgstr "" "liberados de forma assíncrona. (Contribuição de Joongi Kim e John Belmonte " "em :issue:`41229`.)" -#: ../../whatsnew/3.10.rst:967 +#: ../../whatsnew/3.10.rst:971 msgid "" "Add asynchronous context manager support to :func:`contextlib.nullcontext`. " "(Contributed by Tom Gringauz in :issue:`41543`.)" msgstr "" -"Adiciona suporte a gerenciador de contexto assíncrono a :func:`contextlib." -"nullcontext`. (Contribuição de Tom Gringauz em :issue:`41543`.)" +"Adiciona suporte a gerenciador de contexto assíncrono " +"a :func:`contextlib.nullcontext`. (Contribuição de Tom Gringauz " +"em :issue:`41543`.)" -#: ../../whatsnew/3.10.rst:970 +#: ../../whatsnew/3.10.rst:974 msgid "" "Add :class:`AsyncContextDecorator`, for supporting usage of async context " "managers as decorators." @@ -1420,27 +1419,28 @@ msgstr "" "Adiciona :class:`AsyncContextDecorator`, para dar suporte ao uso de " "gerenciadores de contexto assíncronos como decoradores." -#: ../../whatsnew/3.10.rst:974 +#: ../../whatsnew/3.10.rst:978 msgid "curses" msgstr "curses" -#: ../../whatsnew/3.10.rst:976 +#: ../../whatsnew/3.10.rst:980 msgid "" "The extended color functions added in ncurses 6.1 will be used transparently " -"by :func:`curses.color_content`, :func:`curses.init_color`, :func:`curses." -"init_pair`, and :func:`curses.pair_content`. A new function, :func:`curses." -"has_extended_color_support`, indicates whether extended color support is " -"provided by the underlying ncurses library. (Contributed by Jeffrey " -"Kintscher and Hans Petter Jansson in :issue:`36982`.)" +"by :func:`curses.color_content`, :func:`curses.init_color`, :func:`curses.init_pair`, " +"and :func:`curses.pair_content`. A new " +"function, :func:`curses.has_extended_color_support`, indicates whether " +"extended color support is provided by the underlying ncurses library. " +"(Contributed by Jeffrey Kintscher and Hans Petter Jansson in :issue:`36982`.)" msgstr "" "As funções de cores estendidas adicionadas no ncurses 6.1 serão usadas " -"transparentemente por :func:`curses.color_content`, :func:`curses." -"init_color`, :func:`curses.init_pair` e :func:`curses.pair_content`. Uma " -"nova função, :func:`curses.has_extended_color_support`, indica se o suporte " -"a cores estendidas é fornecido pela biblioteca ncurses subjacente. " +"transparentemente " +"por :func:`curses.color_content`, :func:`curses.init_color`, :func:`curses.init_pair` " +"e :func:`curses.pair_content`. Uma nova " +"função, :func:`curses.has_extended_color_support`, indica se o suporte a " +"cores estendidas é fornecido pela biblioteca ncurses subjacente. " "(Contribuição de Jeffrey Kintscher e Hans Petter Jansson em :issue:`36982`.)" -#: ../../whatsnew/3.10.rst:983 +#: ../../whatsnew/3.10.rst:987 msgid "" "The ``BUTTON5_*`` constants are now exposed in the :mod:`curses` module if " "they are provided by the underlying curses library. (Contributed by Zackery " @@ -1450,15 +1450,15 @@ msgstr "" "forem fornecidas pela biblioteca curses subjacente. (Contribuição de Zackery " "Spytz em :issue:`39273`.)" -#: ../../whatsnew/3.10.rst:988 +#: ../../whatsnew/3.10.rst:992 msgid "dataclasses" msgstr "dataclasses" -#: ../../whatsnew/3.10.rst:991 +#: ../../whatsnew/3.10.rst:995 msgid "__slots__" msgstr "__slots__" -#: ../../whatsnew/3.10.rst:993 +#: ../../whatsnew/3.10.rst:997 msgid "" "Added ``slots`` parameter in :func:`dataclasses.dataclass` decorator. " "(Contributed by Yurii Karabas in :issue:`42269`)" @@ -1466,25 +1466,25 @@ msgstr "" "Adicionado o parâmetro ``slots`` no decorador :func:`dataclasses.dataclass`. " "(Contribuição de Yurii Karabas em :issue:`42269`)" -#: ../../whatsnew/3.10.rst:997 +#: ../../whatsnew/3.10.rst:1001 msgid "Keyword-only fields" msgstr "Campos somente-nomeados" -#: ../../whatsnew/3.10.rst:999 +#: ../../whatsnew/3.10.rst:1003 msgid "" "dataclasses now supports fields that are keyword-only in the generated " "__init__ method. There are a number of ways of specifying keyword-only " "fields." msgstr "" -"dataclasses agora oferece suporte a campos que são somente palavras-chave no " -"método __init__ gerado. Há várias maneiras de especificar campos somente de " -"palavras-chave." +"dataclasses agora oferece suporte a campos que são somente-nomeados no " +"método __init__ gerado. Há várias maneiras de especificar campos somente-" +"nomeados." -#: ../../whatsnew/3.10.rst:1003 +#: ../../whatsnew/3.10.rst:1007 msgid "You can say that every field is keyword-only:" msgstr "Você pode dizer que todos os campos são somente-nomeados:" -#: ../../whatsnew/3.10.rst:1014 +#: ../../whatsnew/3.10.rst:1018 msgid "" "Both ``name`` and ``birthday`` are keyword-only parameters to the generated " "__init__ method." @@ -1492,11 +1492,11 @@ msgstr "" "Ambos ``name`` e ``birthday`` são parâmetros somente-nomeados para o método " "__init__ gerado." -#: ../../whatsnew/3.10.rst:1017 +#: ../../whatsnew/3.10.rst:1021 msgid "You can specify keyword-only on a per-field basis:" msgstr "Você pode especificar somente-nomeado por campo:" -#: ../../whatsnew/3.10.rst:1028 +#: ../../whatsnew/3.10.rst:1032 msgid "" "Here only ``birthday`` is keyword-only. If you set ``kw_only`` on " "individual fields, be aware that there are rules about re-ordering fields " @@ -1506,18 +1506,18 @@ msgstr "" "Aqui apenas ``birthday`` é somente-nomeado. Se você definir ``kw_only`` em " "campos individuais, esteja ciente de que existem regras sobre a reordenação " "de campos devido a campos somente-nomeados que precisam seguir campos não " -"somente-nomeados. Consulte a documentação completa das classes de dados para " -"obter detalhes." +"somente-nomeados. Consulte a documentação completa de dataclasses para obter " +"detalhes." -#: ../../whatsnew/3.10.rst:1033 +#: ../../whatsnew/3.10.rst:1037 msgid "" "You can also specify that all fields following a KW_ONLY marker are keyword-" "only. This will probably be the most common usage:" msgstr "" -"Você também pode especificar que todos os campos que seguem um marcador " +"Você também pode especificar que todos os campos a partir de um marcador " "KW_ONLY sejam somente-nomeados. Este provavelmente será o uso mais comum:" -#: ../../whatsnew/3.10.rst:1048 +#: ../../whatsnew/3.10.rst:1052 msgid "" "Here, ``z`` and ``t`` are keyword-only parameters, while ``x`` and ``y`` are " "not. (Contributed by Eric V. Smith in :issue:`43532`.)" @@ -1525,33 +1525,34 @@ msgstr "" "Aqui, ``z`` e ``t`` são parâmetros somente-nomeados, enquanto ``x`` e ``y`` " "não são. (Contribuição de Eric V. Smith em :issue:`43532`.)" -#: ../../whatsnew/3.10.rst:1055 +#: ../../whatsnew/3.10.rst:1059 msgid "distutils" msgstr "distutils" -#: ../../whatsnew/3.10.rst:1057 +#: ../../whatsnew/3.10.rst:1061 msgid "" "The entire ``distutils`` package is deprecated, to be removed in Python " "3.12. Its functionality for specifying package builds has already been " "completely replaced by third-party packages ``setuptools`` and " "``packaging``, and most other commonly used APIs are available elsewhere in " -"the standard library (such as :mod:`platform`, :mod:`shutil`, :mod:" -"`subprocess` or :mod:`sysconfig`). There are no plans to migrate any other " -"functionality from ``distutils``, and applications that are using other " -"functions should plan to make private copies of the code. Refer to :pep:" -"`632` for discussion." +"the standard library (such " +"as :mod:`platform`, :mod:`shutil`, :mod:`subprocess` or :mod:`sysconfig`). " +"There are no plans to migrate any other functionality from ``distutils``, " +"and applications that are using other functions should plan to make private " +"copies of the code. Refer to :pep:`632` for discussion." msgstr "" "Todo o pacote ``distutils`` foi descontinuado, para ser removido no Python " "3.12. Sua funcionalidade para especificar compilações de pacote já foi " "completamente substituída por pacotes de terceiros ``setuptools`` e " "``packaging``, e a maioria das outras APIs comumente usadas estão " -"disponíveis em outro lugar na biblioteca padrão (como :mod:`platform`, :mod:" -"`shutil`, :mod:`subprocess` ou :mod:`sysconfig`). Não há planos para migrar " -"qualquer outra funcionalidade de ``distutils``, e aplicativos que estão " -"usando outras funções devem planejar fazer cópias privadas do código. " -"Consulte :pep:`632` para discussão." +"disponíveis em outro lugar na biblioteca padrão " +"(como :mod:`platform`, :mod:`shutil`, :mod:`subprocess` " +"ou :mod:`sysconfig`). Não há planos para migrar qualquer outra " +"funcionalidade de ``distutils``, e aplicativos que estão usando outras " +"funções devem planejar fazer cópias privadas do código. Consulte :pep:`632` " +"para discussão." -#: ../../whatsnew/3.10.rst:1067 +#: ../../whatsnew/3.10.rst:1071 msgid "" "The ``bdist_wininst`` command deprecated in Python 3.8 has been removed. The " "``bdist_wheel`` command is now recommended to distribute binary packages on " @@ -1561,24 +1562,24 @@ msgstr "" "comando ``bdist_wheel`` agora é recomendado para distribuir pacotes binários " "no Windows. (Contribuição de Victor Stinner em :issue:`42802`.)" -#: ../../whatsnew/3.10.rst:1073 +#: ../../whatsnew/3.10.rst:1077 msgid "doctest" msgstr "doctest" -#: ../../whatsnew/3.10.rst:1075 ../../whatsnew/3.10.rst:1210 -#: ../../whatsnew/3.10.rst:1237 ../../whatsnew/3.10.rst:1336 +#: ../../whatsnew/3.10.rst:1079 ../../whatsnew/3.10.rst:1214 +#: ../../whatsnew/3.10.rst:1241 ../../whatsnew/3.10.rst:1340 msgid "" -"When a module does not define ``__loader__``, fall back to ``__spec__." -"loader``. (Contributed by Brett Cannon in :issue:`42133`.)" +"When a module does not define ``__loader__``, fall back to " +"``__spec__.loader``. (Contributed by Brett Cannon in :issue:`42133`.)" msgstr "" "Quando um módulo não define ``__loader__``, recorre a ``__spec__.loader``. " "(Contribuição de Brett Cannon em :issue:`42133`.)" -#: ../../whatsnew/3.10.rst:1079 +#: ../../whatsnew/3.10.rst:1083 msgid "encodings" msgstr "encodings" -#: ../../whatsnew/3.10.rst:1081 +#: ../../whatsnew/3.10.rst:1085 msgid "" ":func:`encodings.normalize_encoding` now ignores non-ASCII characters. " "(Contributed by Hai Shi in :issue:`39337`.)" @@ -1586,23 +1587,24 @@ msgstr "" ":func:`encodings.normalize_encoding` agora ignora caracteres não-ASCII. " "(Contribuição de Hai Shi em :issue:`39337`.)" -#: ../../whatsnew/3.10.rst:1085 +#: ../../whatsnew/3.10.rst:1089 msgid "enum" msgstr "enum" -#: ../../whatsnew/3.10.rst:1087 +#: ../../whatsnew/3.10.rst:1091 msgid "" -":class:`Enum` :func:`__repr__` now returns ``enum_name.member_name`` and :" -"func:`__str__` now returns ``member_name``. Stdlib enums available as " +":class:`Enum` :func:`__repr__` now returns ``enum_name.member_name`` " +"and :func:`__str__` now returns ``member_name``. Stdlib enums available as " "module constants have a :func:`repr` of ``module_name.member_name``. " "(Contributed by Ethan Furman in :issue:`40066`.)" msgstr "" -":func:`__repr__` do :class:`enum` agora retorna ``enum_name.member_name`` e :" -"func:`__str__` agora retorna ``member_name``. Os enums da stdlib disponíveis " -"como constantes de módulo têm :func:`repr` de ``module_name.member_name``. " -"(Contribuição de Ethan Furman em :issue:`40066`.)" +":func:`__repr__` do :class:`enum` agora retorna ``enum_name.member_name`` " +"e :func:`__str__` agora retorna ``member_name``. Os enums da stdlib " +"disponíveis como constantes de módulo têm :func:`repr` de " +"``module_name.member_name``. (Contribuição de Ethan Furman " +"em :issue:`40066`.)" -#: ../../whatsnew/3.10.rst:1092 +#: ../../whatsnew/3.10.rst:1096 msgid "" "Add :class:`enum.StrEnum` for enums where all members are strings. " "(Contributed by Ethan Furman in :issue:`41816`.)" @@ -1610,74 +1612,79 @@ msgstr "" "Adiciona :class:`enum.StrEnum` para enums onde todos os membros são strings. " "(Contribuição de Ethan Furman em :issue:`41816`.)" -#: ../../whatsnew/3.10.rst:1096 +#: ../../whatsnew/3.10.rst:1100 msgid "fileinput" msgstr "fileinput" -#: ../../whatsnew/3.10.rst:1098 +#: ../../whatsnew/3.10.rst:1102 msgid "" -"Add *encoding* and *errors* parameters in :func:`fileinput.input` and :class:" -"`fileinput.FileInput`. (Contributed by Inada Naoki in :issue:`43712`.)" +"Add *encoding* and *errors* parameters in :func:`fileinput.input` " +"and :class:`fileinput.FileInput`. (Contributed by Inada Naoki " +"in :issue:`43712`.)" msgstr "" -"Adiciona os parâmetros *encoding* e *errors* a :func:`fileinput.input` e :" -"class:`fileinput.FileInput`. (Contribuição de Inada Naoki em :issue:`43712`.)" +"Adiciona os parâmetros *encoding* e *errors* a :func:`fileinput.input` " +"e :class:`fileinput.FileInput`. (Contribuição de Inada Naoki " +"em :issue:`43712`.)" -#: ../../whatsnew/3.10.rst:1102 +#: ../../whatsnew/3.10.rst:1106 msgid "" ":func:`fileinput.hook_compressed` now returns :class:`TextIOWrapper` object " "when *mode* is \"r\" and file is compressed, like uncompressed files. " "(Contributed by Inada Naoki in :issue:`5758`.)" msgstr "" -":func:`fileinput.hook_compressed` agora retorna um objeto :class:" -"`TextIOWrapper` quando *mode* é \"r\" e o arquivo está compactado, como " -"arquivos descompactados. (Contribuição de Inada Naoki em :issue:`5758`.)" +":func:`fileinput.hook_compressed` agora retorna um " +"objeto :class:`TextIOWrapper` quando *mode* é \"r\" e o arquivo está " +"compactado, como arquivos descompactados. (Contribuição de Inada Naoki " +"em :issue:`5758`.)" -#: ../../whatsnew/3.10.rst:1107 +#: ../../whatsnew/3.10.rst:1111 msgid "faulthandler" msgstr "faulthandler" -#: ../../whatsnew/3.10.rst:1109 +#: ../../whatsnew/3.10.rst:1113 msgid "" "The :mod:`faulthandler` module now detects if a fatal error occurs during a " -"garbage collector collection. (Contributed by Victor Stinner in :issue:" -"`44466`.)" +"garbage collector collection. (Contributed by Victor Stinner " +"in :issue:`44466`.)" msgstr "" "O módulo :mod:`faulthandler` agora detecta se um erro fatal ocorre durante a " -"coleta do coletor de lixo. (Contribuição de Victor Stinner em :issue:" -"`44466`.)" +"coleta do coletor de lixo. (Contribuição de Victor Stinner " +"em :issue:`44466`.)" -#: ../../whatsnew/3.10.rst:1114 +#: ../../whatsnew/3.10.rst:1118 msgid "gc" msgstr "gc" -#: ../../whatsnew/3.10.rst:1116 +#: ../../whatsnew/3.10.rst:1120 msgid "" -"Add audit hooks for :func:`gc.get_objects`, :func:`gc.get_referrers` and :" -"func:`gc.get_referents`. (Contributed by Pablo Galindo in :issue:`43439`.)" +"Add audit hooks for :func:`gc.get_objects`, :func:`gc.get_referrers` " +"and :func:`gc.get_referents`. (Contributed by Pablo Galindo " +"in :issue:`43439`.)" msgstr "" -"Adiciona ganchos de auditoria para :func:`gc.get_objects`, :func:`gc." -"get_referrers` e :func:`gc.get_referents`. (Contribuição de Pablo Galindo " +"Adiciona ganchos de auditoria " +"para :func:`gc.get_objects`, :func:`gc.get_referrers` " +"e :func:`gc.get_referents`. (Contribuição de Pablo Galindo " "em :issue:`43439`.)" -#: ../../whatsnew/3.10.rst:1120 +#: ../../whatsnew/3.10.rst:1124 msgid "glob" msgstr "glob" -#: ../../whatsnew/3.10.rst:1122 +#: ../../whatsnew/3.10.rst:1126 msgid "" -"Add the *root_dir* and *dir_fd* parameters in :func:`~glob.glob` and :func:" -"`~glob.iglob` which allow to specify the root directory for searching. " -"(Contributed by Serhiy Storchaka in :issue:`38144`.)" +"Add the *root_dir* and *dir_fd* parameters in :func:`~glob.glob` " +"and :func:`~glob.iglob` which allow to specify the root directory for " +"searching. (Contributed by Serhiy Storchaka in :issue:`38144`.)" msgstr "" -"Adiciona os parâmetros *root_dir* e *dir_fd* em :func:`~glob.glob` e :func:" -"`~glob.iglob`, o que permite especificar o diretório raiz para a pesquisa. " -"(Contribuição de Serhiy Storchaka em :issue:`38144`.)" +"Adiciona os parâmetros *root_dir* e *dir_fd* em :func:`~glob.glob` " +"e :func:`~glob.iglob`, o que permite especificar o diretório raiz para a " +"pesquisa. (Contribuição de Serhiy Storchaka em :issue:`38144`.)" -#: ../../whatsnew/3.10.rst:1127 +#: ../../whatsnew/3.10.rst:1131 msgid "hashlib" msgstr "hashlib" -#: ../../whatsnew/3.10.rst:1129 +#: ../../whatsnew/3.10.rst:1133 msgid "" "The hashlib module requires OpenSSL 1.1.1 or newer. (Contributed by " "Christian Heimes in :pep:`644` and :issue:`43669`.)" @@ -1685,7 +1692,7 @@ msgstr "" "O módulo hashlib requer OpenSSL 1.1.1 ou mais recente. (Contribuição de " "Christian Heimes em :pep:`644` e :issue:`43669`.)" -#: ../../whatsnew/3.10.rst:1132 +#: ../../whatsnew/3.10.rst:1136 msgid "" "The hashlib module has preliminary support for OpenSSL 3.0.0. (Contributed " "by Christian Heimes in :issue:`38820` and other issues.)" @@ -1693,7 +1700,7 @@ msgstr "" "O módulo hashlib tem suporte preliminar a OpenSSL 3.0.0. (Contribuição de " "Christian Heimes em :issue:`38820` e outras issues.)" -#: ../../whatsnew/3.10.rst:1135 +#: ../../whatsnew/3.10.rst:1139 msgid "" "The pure-Python fallback of :func:`~hashlib.pbkdf2_hmac` is deprecated. In " "the future PBKDF2-HMAC will only be available when Python has been built " @@ -1704,11 +1711,11 @@ msgstr "" "for desenvolvido com suporte a OpenSSL. (Contribuição de Christian Heimes " "em :issue:`43880`.)" -#: ../../whatsnew/3.10.rst:1141 +#: ../../whatsnew/3.10.rst:1145 msgid "hmac" msgstr "hmac" -#: ../../whatsnew/3.10.rst:1143 +#: ../../whatsnew/3.10.rst:1147 msgid "" "The hmac module now uses OpenSSL's HMAC implementation internally. " "(Contributed by Christian Heimes in :issue:`40645`.)" @@ -1716,29 +1723,29 @@ msgstr "" "O módulo hmac agora usa a implementação HMAC do OpenSSL internamente. " "(Contribuição de Christian Heimes em :issue:`40645`.)" -#: ../../whatsnew/3.10.rst:1147 +#: ../../whatsnew/3.10.rst:1151 msgid "IDLE and idlelib" msgstr "IDLE e idlelib" -#: ../../whatsnew/3.10.rst:1149 +#: ../../whatsnew/3.10.rst:1153 msgid "" "Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User " -"hooks were previously ignored. (Contributed by Ken Hilton in :issue:" -"`43008`.)" +"hooks were previously ignored. (Contributed by Ken Hilton " +"in :issue:`43008`.)" msgstr "" "Faz o IDLE invocar :func:`sys.excepthook` (quando iniciado sem '-n'). " "Ganchos de usuário eram ignorados anteriormente. (Contribuição de Ken Hilton " "em :issue:`43008`.)" -#: ../../whatsnew/3.10.rst:1153 +#: ../../whatsnew/3.10.rst:1157 msgid "" "Rearrange the settings dialog. Split the General tab into Windows and Shell/" "Ed tabs. Move help sources, which extend the Help menu, to the Extensions " "tab. Make space for new options and shorten the dialog. The latter makes " -"the dialog better fit small screens. (Contributed by Terry Jan Reedy in :" -"issue:`40468`.) Move the indent space setting from the Font tab to the new " -"Windows tab. (Contributed by Mark Roseman and Terry Jan Reedy in :issue:" -"`33962`.)" +"the dialog better fit small screens. (Contributed by Terry Jan Reedy " +"in :issue:`40468`.) Move the indent space setting from the Font tab to the " +"new Windows tab. (Contributed by Mark Roseman and Terry Jan Reedy " +"in :issue:`33962`.)" msgstr "" "Reorganiza a caixa de diálogo de configurações. Divide a aba General nas " "abas Windows e Shell/Ed. Move as fontes de ajuda, que estendem o menu Help, " @@ -1748,11 +1755,11 @@ msgstr "" "espaço de recuo da aba Font para a nova aba Windows. (Contribuição de Mark " "Roseman e Terry Jan Reedy em :issue:`33962`.)" -#: ../../whatsnew/3.10.rst:1161 +#: ../../whatsnew/3.10.rst:1165 msgid "The changes above were backported to a 3.9 maintenance release." msgstr "As alterações acima foram portadas para uma versão de manutenção 3.9." -#: ../../whatsnew/3.10.rst:1163 +#: ../../whatsnew/3.10.rst:1167 msgid "" "Add a Shell sidebar. Move the primary prompt ('>>>') to the sidebar. Add " "secondary prompts ('...') to the sidebar. Left click and optional drag " @@ -1771,7 +1778,7 @@ msgstr "" "lateral com linhas do texto selecionado. Esta opção também aparece no menu " "de contexto para o texto. (Contribuição de Tal Einat em :issue:`37903`.)" -#: ../../whatsnew/3.10.rst:1172 +#: ../../whatsnew/3.10.rst:1176 msgid "" "Use spaces instead of tabs to indent interactive code. This makes " "interactive code entries 'look right'. Making this feasible was a major " @@ -1783,25 +1790,27 @@ msgstr "" "viável foi a principal motivação para adicionar a barra lateral do console. " "Contribuição de Terry Jan Reedy em :issue:`37892`.)" -#: ../../whatsnew/3.10.rst:1177 +#: ../../whatsnew/3.10.rst:1181 msgid "" -"Highlight the new :ref:`soft keywords ` :keyword:`match`, :" -"keyword:`case `, and :keyword:`_ ` in pattern-" -"matching statements. However, this highlighting is not perfect and will be " -"incorrect in some rare cases, including some ``_``-s in ``case`` patterns. " -"(Contributed by Tal Einat in :issue:`44010`.)" +"Highlight the new :ref:`soft keywords ` :keyword:`match`, :keyword:`case `, and :keyword:`_ " +"` in pattern-matching statements. However, this " +"highlighting is not perfect and will be incorrect in some rare cases, " +"including some ``_``-s in ``case`` patterns. (Contributed by Tal Einat " +"in :issue:`44010`.)" msgstr "" -"Realça as novas :ref:`palavra reservada suave ` :keyword:" -"`match`, :keyword:`case ` e :keyword:`_ ` em " -"instruções de correspondência de padrões. No entanto, este realce não é " -"perfeito e estará incorreto em alguns casos raros, incluindo alguns ``_`` em " -"padrões de ``case``. (Contribuição de Tal Einat em :issue:`44010`.)" +"Realça as novas :ref:`palavra reservada suave ` :keyword:`match`, :keyword:`case ` e :keyword:`_ ` em instruções de correspondência de padrões. No entanto, este " +"realce não é perfeito e estará incorreto em alguns casos raros, incluindo " +"alguns ``_`` em padrões de ``case``. (Contribuição de Tal Einat " +"em :issue:`44010`.)" -#: ../../whatsnew/3.10.rst:1183 +#: ../../whatsnew/3.10.rst:1187 msgid "New in 3.10 maintenance releases." msgstr "Novo nas versões de manutenção 3.10." -#: ../../whatsnew/3.10.rst:1185 +#: ../../whatsnew/3.10.rst:1189 msgid "" "Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " "and Terry Jan Reedy in :issue:`45447`.)" @@ -1809,7 +1818,7 @@ msgstr "" "Aplica realce de sintaxe em arquivos ``.pyi``. (Contribuição de Alex Waygood " "e Terry Jan Reedy em :issue:`45447`.)" -#: ../../whatsnew/3.10.rst:1188 +#: ../../whatsnew/3.10.rst:1192 msgid "" "Include prompts when saving Shell with inputs and outputs. (Contributed by " "Terry Jan Reedy in :gh:`95191`.)" @@ -1817,11 +1826,11 @@ msgstr "" "Inclui prompts ao salvar o console com entradas e saídas. (Contribuição de " "Terry Jan Reedy em :gh:`95191`.)" -#: ../../whatsnew/3.10.rst:1192 +#: ../../whatsnew/3.10.rst:1196 msgid "importlib.metadata" msgstr "importlib.metadata" -#: ../../whatsnew/3.10.rst:1194 +#: ../../whatsnew/3.10.rst:1198 msgid "" "Feature parity with ``importlib_metadata`` 4.6 (`history `_)." @@ -1829,12 +1838,12 @@ msgstr "" "Paridade de recursos com ``importlib_metadata`` 4.6 (`histórico `_)." -#: ../../whatsnew/3.10.rst:1197 +#: ../../whatsnew/3.10.rst:1201 msgid "" ":ref:`importlib.metadata entry points ` now provide a nicer " -"experience for selecting entry points by group and name through a new :class:" -"`importlib.metadata.EntryPoints` class. See the Compatibility Note in the " -"docs for more info on the deprecation and usage." +"experience for selecting entry points by group and name through a " +"new :class:`importlib.metadata.EntryPoints` class. See the Compatibility " +"Note in the docs for more info on the deprecation and usage." msgstr "" ":ref:`Pontos de entrada importlib.metadata ` agora oferecem " "uma experiência melhor para selecionar pontos de entrada por grupo e nome " @@ -1842,36 +1851,37 @@ msgstr "" "a Nota de Compatibilidade nos documentos para obter mais informações sobre a " "descontinuação e uso." -#: ../../whatsnew/3.10.rst:1203 +#: ../../whatsnew/3.10.rst:1207 msgid "" "Added :func:`importlib.metadata.packages_distributions` for resolving top-" -"level Python modules and packages to their :class:`importlib.metadata." -"Distribution`." +"level Python modules and packages to " +"their :class:`importlib.metadata.Distribution`." msgstr "" "Adicionada :func:`importlib.metadata.packages_distributions` para resolver " -"módulos e pacotes Python de alto nível com suas :class:`importlib.metadata." -"Distribution`." +"módulos e pacotes Python de alto nível com " +"suas :class:`importlib.metadata.Distribution`." -#: ../../whatsnew/3.10.rst:1208 +#: ../../whatsnew/3.10.rst:1212 msgid "inspect" msgstr "inspect" -#: ../../whatsnew/3.10.rst:1213 +#: ../../whatsnew/3.10.rst:1217 msgid "" "Add :func:`inspect.get_annotations`, which safely computes the annotations " "defined on an object. It works around the quirks of accessing the " "annotations on various types of objects, and makes very few assumptions " "about the object it examines. :func:`inspect.get_annotations` can also " -"correctly un-stringize stringized annotations. :func:`inspect." -"get_annotations` is now considered best practice for accessing the " -"annotations dict defined on any Python object; for more information on best " -"practices for working with annotations, please see :ref:`annotations-howto`. " -"Relatedly, :func:`inspect.signature`, :func:`inspect.Signature." -"from_callable`, and :func:`inspect.Signature.from_function` now call :func:" -"`inspect.get_annotations` to retrieve annotations. This means :func:`inspect." -"signature` and :func:`inspect.Signature.from_callable` can also now un-" -"stringize stringized annotations. (Contributed by Larry Hastings in :issue:" -"`43817`.)" +"correctly un-stringize stringized " +"annotations. :func:`inspect.get_annotations` is now considered best " +"practice for accessing the annotations dict defined on any Python object; " +"for more information on best practices for working with annotations, please " +"see :ref:`annotations-howto`. " +"Relatedly, :func:`inspect.signature`, :func:`inspect.Signature.from_callable`, " +"and :func:`inspect.Signature.from_function` now " +"call :func:`inspect.get_annotations` to retrieve annotations. This " +"means :func:`inspect.signature` and :func:`inspect.Signature.from_callable` " +"can also now un-stringize stringized annotations. (Contributed by Larry " +"Hastings in :issue:`43817`.)" msgstr "" "Adiciona :func:`inspect.get_annotations`, que calcula com segurança as " "anotações definidas em um objeto. Ele contorna as peculiaridades de acessar " @@ -1881,34 +1891,36 @@ msgstr "" "agora é considerada a melhor prática para acessar o dict de anotações " "definido em qualquer objeto Python; para mais informações sobre as melhores " "práticas para trabalhar com anotações, consulte :ref:`annotations-howto`. Da " -"mesma forma, :func:`inspect.signature`, :func:`inspect.Signature." -"from_callable` e :func:`inspect.Signature.from_function` agora chamam :func:" -"`inspect.get_annotations` para recuperar anotações. Isso significa que :func:" -"`inspect.signature` e :func:`inspect.Signature.from_callable` agora também " -"podem remover a string de anotações em string. (Contribuição de Larry " -"Hastings em :issue:`43817`.)" - -#: ../../whatsnew/3.10.rst:1229 +"mesma " +"forma, :func:`inspect.signature`, :func:`inspect.Signature.from_callable` " +"e :func:`inspect.Signature.from_function` agora " +"chamam :func:`inspect.get_annotations` para recuperar anotações. Isso " +"significa que :func:`inspect.signature` " +"e :func:`inspect.Signature.from_callable` agora também podem remover a " +"string de anotações em string. (Contribuição de Larry Hastings " +"em :issue:`43817`.)" + +#: ../../whatsnew/3.10.rst:1233 msgid "itertools" msgstr "itertools" -#: ../../whatsnew/3.10.rst:1231 +#: ../../whatsnew/3.10.rst:1235 msgid "" -"Add :func:`itertools.pairwise()`. (Contributed by Raymond Hettinger in :" -"issue:`38200`.)" +"Add :func:`itertools.pairwise()`. (Contributed by Raymond Hettinger " +"in :issue:`38200`.)" msgstr "" "Adiciona :func:`itertools.pairwise()`. (Contribuição de Raymond Hettinger " "em :issue:`38200`.)" -#: ../../whatsnew/3.10.rst:1235 +#: ../../whatsnew/3.10.rst:1239 msgid "linecache" msgstr "linecache" -#: ../../whatsnew/3.10.rst:1241 +#: ../../whatsnew/3.10.rst:1245 msgid "os" msgstr "os" -#: ../../whatsnew/3.10.rst:1243 +#: ../../whatsnew/3.10.rst:1247 msgid "" "Add :func:`os.cpu_count()` support for VxWorks RTOS. (Contributed by Peixing " "Xin in :issue:`41440`.)" @@ -1916,17 +1928,17 @@ msgstr "" "Adiciona suporte a :func:`os.cpu_count()` para RTOS de VxWorks. " "(Contribuição de Peixing Xin em :issue:`41440`.)" -#: ../../whatsnew/3.10.rst:1246 +#: ../../whatsnew/3.10.rst:1250 msgid "" "Add a new function :func:`os.eventfd` and related helpers to wrap the " -"``eventfd2`` syscall on Linux. (Contributed by Christian Heimes in :issue:" -"`41001`.)" +"``eventfd2`` syscall on Linux. (Contributed by Christian Heimes " +"in :issue:`41001`.)" msgstr "" "Adiciona uma nova função :func:`os.eventfd` e auxiliares relacionados para " "envolver a chamada de sistema ``eventfd2`` no Linux. (Contribuição de " "Christian Heimes em :issue:`41001`.)" -#: ../../whatsnew/3.10.rst:1250 +#: ../../whatsnew/3.10.rst:1254 msgid "" "Add :func:`os.splice()` that allows to move data between two file " "descriptors without copying between kernel address space and user address " @@ -1938,21 +1950,21 @@ msgstr "" "endereço do usuário, onde um dos descritores de arquivo deve se referir a um " "encadeamento (pipe). (Contribuição de Pablo Galindo em :issue:`41625`.)" -#: ../../whatsnew/3.10.rst:1255 +#: ../../whatsnew/3.10.rst:1259 msgid "" -"Add :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK` and :" -"data:`~os.O_NOFOLLOW_ANY` for macOS. (Contributed by Dong-hee Na in :issue:" -"`43106`.)" +"Add :const:`~os.O_EVTONLY`, :const:`~os.O_FSYNC`, :const:`~os.O_SYMLINK` " +"and :const:`~os.O_NOFOLLOW_ANY` for macOS. (Contributed by Donghee Na " +"in :issue:`43106`.)" msgstr "" -"Adiciona :data:`~os.O_EVTONLY`, :data:`~os.O_FSYNC`, :data:`~os.O_SYMLINK` " -"e :data:`~os.O_NOFOLLOW_ANY` para macOS. (Contribuição de Dong-hee Na em :" -"issue:`43106`.)" +"Adiciona :const:`~os.O_EVTONLY`, :const:`~os.O_FSYNC`, :const:`~os.O_SYMLINK` " +"e :const:`~os.O_NOFOLLOW_ANY` para macOS. (Contribuição de Donghee Na " +"em :issue:`43106`.)" -#: ../../whatsnew/3.10.rst:1260 +#: ../../whatsnew/3.10.rst:1264 msgid "os.path" msgstr "os.path" -#: ../../whatsnew/3.10.rst:1262 +#: ../../whatsnew/3.10.rst:1266 msgid "" ":func:`os.path.realpath` now accepts a *strict* keyword-only argument. When " "set to ``True``, :exc:`OSError` is raised if a path doesn't exist or a " @@ -1963,27 +1975,30 @@ msgstr "" "caminho não existe ou um loop de link simbólico é encontrado. (Contribuição " "de Barney Gale em :issue:`43757`.)" -#: ../../whatsnew/3.10.rst:1268 +#: ../../whatsnew/3.10.rst:1272 msgid "pathlib" msgstr "pathlib" -#: ../../whatsnew/3.10.rst:1270 +#: ../../whatsnew/3.10.rst:1274 msgid "" "Add slice support to :attr:`PurePath.parents `. " "(Contributed by Joshua Cannon in :issue:`35498`.)" msgstr "" -"Adiciona suporte a fatiamento a :attr:`PurePath.parents `. (Contribuição de Joshua Cannon em :issue:`35498`.)" +"Adiciona suporte a fatiamento a :attr:`PurePath.parents " +"`. (Contribuição de Joshua Cannon " +"em :issue:`35498`.)" -#: ../../whatsnew/3.10.rst:1273 +#: ../../whatsnew/3.10.rst:1277 msgid "" -"Add negative indexing support to :attr:`PurePath.parents `. (Contributed by Yaroslav Pankovych in :issue:`21041`.)" +"Add negative indexing support to :attr:`PurePath.parents " +"`. (Contributed by Yaroslav Pankovych " +"in :issue:`21041`.)" msgstr "" -"Adiciona suporte a indexação negativa a :attr:`PurePath.parents `. (Contribuição de Yaroslav Pankovych em :issue:`21041`.)" +"Adiciona suporte a indexação negativa a :attr:`PurePath.parents " +"`. (Contribuição de Yaroslav Pankovych " +"em :issue:`21041`.)" -#: ../../whatsnew/3.10.rst:1277 +#: ../../whatsnew/3.10.rst:1281 msgid "" "Add :meth:`Path.hardlink_to ` method that " "supersedes :meth:`~pathlib.Path.link_to`. The new method has the same " @@ -1995,23 +2010,23 @@ msgstr "" "argumentos que :meth:`~pathlib.Path.symlink_to`. (Contribuição de Barney " "Gale em :issue:`39950`.)" -#: ../../whatsnew/3.10.rst:1282 +#: ../../whatsnew/3.10.rst:1286 msgid "" ":meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` now accept a " "*follow_symlinks* keyword-only argument for consistency with corresponding " -"functions in the :mod:`os` module. (Contributed by Barney Gale in :issue:" -"`39906`.)" +"functions in the :mod:`os` module. (Contributed by Barney Gale " +"in :issue:`39906`.)" msgstr "" ":meth:`pathlib.Path.stat` e :meth:`~pathlib.Path.chmod` agora aceita um " "argumento somente-nomeado *follow_symlinks* para consistência com as funções " -"correspondentes no módulo :mod:`os`. (Contribuição de Barney Gale em :issue:" -"`39906`.)" +"correspondentes no módulo :mod:`os`. (Contribuição de Barney Gale " +"em :issue:`39906`.)" -#: ../../whatsnew/3.10.rst:1288 +#: ../../whatsnew/3.10.rst:1292 msgid "platform" msgstr "platform" -#: ../../whatsnew/3.10.rst:1290 +#: ../../whatsnew/3.10.rst:1294 msgid "" "Add :func:`platform.freedesktop_os_release()` to retrieve operation system " "identification from `freedesktop.org os-release `_. (Contribuição de Christian Heimes em :issue:`28468`.)" -#: ../../whatsnew/3.10.rst:1296 +#: ../../whatsnew/3.10.rst:1300 msgid "pprint" msgstr "pprint" -#: ../../whatsnew/3.10.rst:1298 +#: ../../whatsnew/3.10.rst:1302 msgid "" ":func:`pprint.pprint` now accepts a new ``underscore_numbers`` keyword " "argument. (Contributed by sblondon in :issue:`42914`.)" @@ -2035,79 +2050,82 @@ msgstr "" ":func:`pprint.pprint` agora aceita um novo argumento nomeado " "``underscore_numbers``. (Contribuição de sblondon em :issue:`42914`.)" -#: ../../whatsnew/3.10.rst:1301 +#: ../../whatsnew/3.10.rst:1305 msgid "" ":mod:`pprint` can now pretty-print :class:`dataclasses.dataclass` instances. " "(Contributed by Lewis Gaul in :issue:`43080`.)" msgstr "" -":mod:`pprint` agora pode fazer impressão bonita de instâncias de :class:" -"`dataclasses.dataclass`. (Contribuição de Lewis Gaul em :issue:`43080`.)" +":mod:`pprint` agora pode fazer impressão bonita de instâncias " +"de :class:`dataclasses.dataclass`. (Contribuição de Lewis Gaul " +"em :issue:`43080`.)" -#: ../../whatsnew/3.10.rst:1305 +#: ../../whatsnew/3.10.rst:1309 msgid "py_compile" msgstr "py_compile" -#: ../../whatsnew/3.10.rst:1307 +#: ../../whatsnew/3.10.rst:1311 msgid "" "Add ``--quiet`` option to command-line interface of :mod:`py_compile`. " "(Contributed by Gregory Schevchenko in :issue:`38731`.)" msgstr "" -"Adiciona a opção ``--quiet`` à interface de linha de comando de :mod:" -"`py_compile`. (Contribuição de Gregory Schevchenko em :issue:`38731`.)" +"Adiciona a opção ``--quiet`` à interface de linha de comando " +"de :mod:`py_compile`. (Contribuição de Gregory Schevchenko " +"em :issue:`38731`.)" -#: ../../whatsnew/3.10.rst:1311 +#: ../../whatsnew/3.10.rst:1315 msgid "pyclbr" msgstr "pyclbr" -#: ../../whatsnew/3.10.rst:1313 +#: ../../whatsnew/3.10.rst:1317 msgid "" "Add an ``end_lineno`` attribute to the ``Function`` and ``Class`` objects in " -"the tree returned by :func:`pyclbr.readline` and :func:`pyclbr." -"readline_ex`. It matches the existing (start) ``lineno``. (Contributed by " -"Aviral Srivastava in :issue:`38307`.)" +"the tree returned by :func:`pyclbr.readmodule` " +"and :func:`pyclbr.readmodule_ex`. It matches the existing (start) " +"``lineno``. (Contributed by Aviral Srivastava in :issue:`38307`.)" msgstr "" "Adiciona um atributo ``end_lineno`` aos objetos ``Function`` e ``Class`` na " -"árvore retornada por :func:`pyclbr.readline` e :func:`pyclbr.readline_ex`. " -"Isso corresponde ao ``lineno`` (início) existente. (Contribuição de Aviral " -"Srivastava em :issue:`38307`.)" +"árvore retornada por :func:`pyclbr.readmodule` " +"e :func:`pyclbr.readmodule_ex`. Isso corresponde ao ``lineno`` (início) " +"existente. (Contribuição de Aviral Srivastava em :issue:`38307`.)" -#: ../../whatsnew/3.10.rst:1319 +#: ../../whatsnew/3.10.rst:1323 msgid "shelve" msgstr "shelve" -#: ../../whatsnew/3.10.rst:1321 +#: ../../whatsnew/3.10.rst:1325 msgid "" -"The :mod:`shelve` module now uses :data:`pickle.DEFAULT_PROTOCOL` by default " -"instead of :mod:`pickle` protocol ``3`` when creating shelves. (Contributed " -"by Zackery Spytz in :issue:`34204`.)" +"The :mod:`shelve` module now uses :const:`pickle.DEFAULT_PROTOCOL` by " +"default instead of :mod:`pickle` protocol ``3`` when creating shelves. " +"(Contributed by Zackery Spytz in :issue:`34204`.)" msgstr "" -"O módulo :mod:`shelve` agora usa :data:`pickle.DEFAULT_PROTOCOL` por padrão " +"O módulo :mod:`shelve` agora usa :const:`pickle.DEFAULT_PROTOCOL` por padrão " "em vez do protocolo ``3`` do :mod:`pickle` ao criar \"shelves\". " "(Contribuição de Zackery Spytz em :issue:`34204`.)" -#: ../../whatsnew/3.10.rst:1326 +#: ../../whatsnew/3.10.rst:1330 msgid "statistics" msgstr "statistics" -#: ../../whatsnew/3.10.rst:1328 +#: ../../whatsnew/3.10.rst:1332 msgid "" -"Add :func:`~statistics.covariance`, Pearson's :func:`~statistics." -"correlation`, and simple :func:`~statistics.linear_regression` functions. " -"(Contributed by Tymoteusz Wołodźko in :issue:`38490`.)" +"Add :func:`~statistics.covariance`, " +"Pearson's :func:`~statistics.correlation`, and " +"simple :func:`~statistics.linear_regression` functions. (Contributed by " +"Tymoteusz Wołodźko in :issue:`38490`.)" msgstr "" "Adiciona :func:`~statistics.covariance`, :func:`~statistics.correlation` do " "Pearson, e funções simples :func:`~statistics.linear_regression`. " "(Contribuição de Tymoteusz Wołodźko em :issue:`38490`.)" -#: ../../whatsnew/3.10.rst:1334 +#: ../../whatsnew/3.10.rst:1338 msgid "site" msgstr "site" -#: ../../whatsnew/3.10.rst:1340 +#: ../../whatsnew/3.10.rst:1344 msgid "socket" msgstr "socket" -#: ../../whatsnew/3.10.rst:1342 +#: ../../whatsnew/3.10.rst:1346 msgid "" "The exception :exc:`socket.timeout` is now an alias of :exc:`TimeoutError`. " "(Contributed by Christian Heimes in :issue:`42413`.)" @@ -2115,7 +2133,7 @@ msgstr "" "A exceção :exc:`socket.timeout` é agora um apelido de :exc:`TimeoutError`. " "(Contribuição de Christian Heimes em :issue:`42413`.)" -#: ../../whatsnew/3.10.rst:1345 +#: ../../whatsnew/3.10.rst:1349 msgid "" "Add option to create MPTCP sockets with ``IPPROTO_MPTCP`` (Contributed by " "Rui Cunha in :issue:`43571`.)" @@ -2123,7 +2141,7 @@ msgstr "" "Adiciona a opção de criar soquetes MPTCP com ``IPPROTO_MPTCP`` (Contribuição " "de Rui Cunha em :issue:`43571`.)" -#: ../../whatsnew/3.10.rst:1348 +#: ../../whatsnew/3.10.rst:1352 msgid "" "Add ``IP_RECVTOS`` option to receive the type of service (ToS) or DSCP/ECN " "fields (Contributed by Georg Sauthoff in :issue:`44077`.)" @@ -2131,11 +2149,11 @@ msgstr "" "Adiciona a opção ``IP_RECVTOS`` para receber o tipo do serviço (ToS) ou " "campos DSCP/ECN (Contribuição de Georg Sauthoff em :issue:`44077`.)" -#: ../../whatsnew/3.10.rst:1352 +#: ../../whatsnew/3.10.rst:1356 msgid "ssl" msgstr "ssl" -#: ../../whatsnew/3.10.rst:1354 +#: ../../whatsnew/3.10.rst:1358 msgid "" "The ssl module requires OpenSSL 1.1.1 or newer. (Contributed by Christian " "Heimes in :pep:`644` and :issue:`43669`.)" @@ -2143,43 +2161,45 @@ msgstr "" "O módulo ssl requer OpenSSL 1.1.1 ou mais recente. (Contribuição de " "Christian Heimes em :pep:`644` e :issue:`43669`.)" -#: ../../whatsnew/3.10.rst:1357 +#: ../../whatsnew/3.10.rst:1361 msgid "" -"The ssl module has preliminary support for OpenSSL 3.0.0 and new option :" -"data:`~ssl.OP_IGNORE_UNEXPECTED_EOF`. (Contributed by Christian Heimes in :" -"issue:`38820`, :issue:`43794`, :issue:`43788`, :issue:`43791`, :issue:" -"`43799`, :issue:`43920`, :issue:`43789`, and :issue:`43811`.)" +"The ssl module has preliminary support for OpenSSL 3.0.0 and new " +"option :const:`~ssl.OP_IGNORE_UNEXPECTED_EOF`. (Contributed by Christian " +"Heimes " +"in :issue:`38820`, :issue:`43794`, :issue:`43788`, :issue:`43791`, :issue:`43799`, :issue:`43920`, :issue:`43789`, " +"and :issue:`43811`.)" msgstr "" -"O módulo ssl tem um suporte preliminar para OpenSSL 3.0.0 e a nova opção :" -"data:`~ssl.OP_IGNORE_UNEXPECTED_EOF`. (Contribuição de Christian Heimes em :" -"issue:`38820`, :issue:`43794`, :issue:`43788`, :issue:`43791`, :issue:" -"`43799`, :issue:`43920`, :issue:`43789` e :issue:`43811`.)" +"O módulo ssl tem um suporte preliminar para OpenSSL 3.0.0 e a nova " +"opção :const:`~ssl.OP_IGNORE_UNEXPECTED_EOF`. (Contribuição de Christian " +"Heimes " +"em :issue:`38820`, :issue:`43794`, :issue:`43788`, :issue:`43791`, :issue:`43799`, :issue:`43920`, :issue:`43789` " +"e :issue:`43811`.)" -#: ../../whatsnew/3.10.rst:1363 +#: ../../whatsnew/3.10.rst:1367 msgid "" -"Deprecated function and use of deprecated constants now result in a :exc:" -"`DeprecationWarning`. :attr:`ssl.SSLContext.options` has :data:`~ssl." -"OP_NO_SSLv2` and :data:`~ssl.OP_NO_SSLv3` set by default and therefore " -"cannot warn about setting the flag again. The :ref:`deprecation section " -"` has a list of deprecated features. (Contributed by " -"Christian Heimes in :issue:`43880`.)" +"Deprecated function and use of deprecated constants now result in " +"a :exc:`DeprecationWarning`. :attr:`ssl.SSLContext.options` " +"has :data:`~ssl.OP_NO_SSLv2` and :data:`~ssl.OP_NO_SSLv3` set by default and " +"therefore cannot warn about setting the flag again. The :ref:`deprecation " +"section ` has a list of deprecated features. " +"(Contributed by Christian Heimes in :issue:`43880`.)" msgstr "" "Função descontinuada e o uso de constantes descontinuadas agora resultam em " -"uma :exc:`DeprecationWarning`. :attr:`ssl.SSLContext.options` tem :data:" -"`~ssl.OP_NO_SSLv2` e :data:`~ssl.OP_NO_SSLv3` definidos por padrão e, " -"portanto, não consegue avisar sobre a definição do sinalizador novamente. A :" -"ref:`seção de descontinuidade ` tem uma lista de " -"recursos descontinuados. (Contribuição de Christian Heimes em :issue:" -"`43880`.)" +"uma :exc:`DeprecationWarning`. :attr:`ssl.SSLContext.options` " +"tem :data:`~ssl.OP_NO_SSLv2` e :data:`~ssl.OP_NO_SSLv3` definidos por padrão " +"e, portanto, não consegue avisar sobre a definição do sinalizador novamente. " +"A :ref:`seção de descontinuidade ` tem uma lista de " +"recursos descontinuados. (Contribuição de Christian Heimes " +"em :issue:`43880`.)" -#: ../../whatsnew/3.10.rst:1371 +#: ../../whatsnew/3.10.rst:1375 msgid "" "The ssl module now has more secure default settings. Ciphers without forward " "secrecy or SHA-1 MAC are disabled by default. Security level 2 prohibits " -"weak RSA, DH, and ECC keys with less than 112 bits of security. :class:`~ssl." -"SSLContext` defaults to minimum protocol version TLS 1.2. Settings are based " -"on Hynek Schlawack's research. (Contributed by Christian Heimes in :issue:" -"`43998`.)" +"weak RSA, DH, and ECC keys with less than 112 bits of " +"security. :class:`~ssl.SSLContext` defaults to minimum protocol version TLS " +"1.2. Settings are based on Hynek Schlawack's research. (Contributed by " +"Christian Heimes in :issue:`43998`.)" msgstr "" "O módulo ssl agora tem configurações padrão mais seguras. Cifras sem " "*forward secrecy* ou SHA-1 MAC são desabilitadas por padrão. O nível de " @@ -2188,7 +2208,7 @@ msgstr "" "protocolo TLS 1.2. As configurações são baseadas na pesquisa de Hynek " "Schlawack. (Contribuição de Christian Heimes em :issue:`43998`.)" -#: ../../whatsnew/3.10.rst:1378 +#: ../../whatsnew/3.10.rst:1382 msgid "" "The deprecated protocols SSL 3.0, TLS 1.0, and TLS 1.1 are no longer " "officially supported. Python does not block them actively. However OpenSSL " @@ -2201,7 +2221,7 @@ msgstr "" "fornecedores e suítes de criptografia podem impedir um handshake bem-" "sucedido." -#: ../../whatsnew/3.10.rst:1383 +#: ../../whatsnew/3.10.rst:1387 msgid "" "Add a *timeout* parameter to the :func:`ssl.get_server_certificate` " "function. (Contributed by Zackery Spytz in :issue:`31870`.)" @@ -2209,7 +2229,7 @@ msgstr "" "Adiciona um parâmetro *timeout* à função :func:`ssl.get_server_certificate`. " "(Contribuição de Zackery Spytz em :issue:`31870`.)" -#: ../../whatsnew/3.10.rst:1386 +#: ../../whatsnew/3.10.rst:1390 msgid "" "The ssl module uses heap-types and multi-phase initialization. (Contributed " "by Christian Heimes in :issue:`42333`.)" @@ -2217,33 +2237,35 @@ msgstr "" "O módulo ssl usa tipos de heap e inicialização multifásica. (Contribuição de " "Christian Heimes em :issue:`42333`.)" -#: ../../whatsnew/3.10.rst:1389 +#: ../../whatsnew/3.10.rst:1393 msgid "" -"A new verify flag :data:`~ssl.VERIFY_X509_PARTIAL_CHAIN` has been added. " +"A new verify flag :const:`~ssl.VERIFY_X509_PARTIAL_CHAIN` has been added. " "(Contributed by l0x in :issue:`40849`.)" msgstr "" -"Uma nova sinalização de verificação :data:`~ssl.VERIFY_X509_PARTIAL_CHAIN` " +"Uma nova sinalização de verificação :const:`~ssl.VERIFY_X509_PARTIAL_CHAIN` " "foi adicionada. (Contribuição de l0x em :issue:`40849`.)" -#: ../../whatsnew/3.10.rst:1393 +#: ../../whatsnew/3.10.rst:1397 msgid "sqlite3" msgstr "sqlite3" -#: ../../whatsnew/3.10.rst:1395 +#: ../../whatsnew/3.10.rst:1399 msgid "" -"Add audit events for :func:`~sqlite3.connect/handle`, :meth:`~sqlite3." -"Connection.enable_load_extension`, and :meth:`~sqlite3.Connection." -"load_extension`. (Contributed by Erlend E. Aasland in :issue:`43762`.)" +"Add audit events for :func:`~sqlite3.connect/" +"handle`, :meth:`~sqlite3.Connection.enable_load_extension`, " +"and :meth:`~sqlite3.Connection.load_extension`. (Contributed by Erlend E. " +"Aasland in :issue:`43762`.)" msgstr "" -"Adiciona eventos de auditoria para :func:`~sqlite3.connect/handle`, :meth:" -"`~sqlite3.Connection.enable_load_extension` e :meth:`~sqlite3.Connection." -"load_extension`. (Contribuição de Erlend E. Aasland em :issue:`43762`.)" +"Adiciona eventos de auditoria para :func:`~sqlite3.connect/" +"handle`, :meth:`~sqlite3.Connection.enable_load_extension` " +"e :meth:`~sqlite3.Connection.load_extension`. (Contribuição de Erlend E. " +"Aasland em :issue:`43762`.)" -#: ../../whatsnew/3.10.rst:1401 +#: ../../whatsnew/3.10.rst:1405 msgid "sys" msgstr "sys" -#: ../../whatsnew/3.10.rst:1403 +#: ../../whatsnew/3.10.rst:1407 msgid "" "Add :data:`sys.orig_argv` attribute: the list of the original command line " "arguments passed to the Python executable. (Contributed by Victor Stinner " @@ -2253,45 +2275,46 @@ msgstr "" "comando originais passada para o executável Python. (Contribuição de Victor " "Stinner em :issue:`23427`.)" -#: ../../whatsnew/3.10.rst:1407 +#: ../../whatsnew/3.10.rst:1411 msgid "" "Add :data:`sys.stdlib_module_names`, containing the list of the standard " "library module names. (Contributed by Victor Stinner in :issue:`42955`.)" msgstr "" "Adiciona :data:`sys.stdlib_module_names`, contendo a lista de nomes de " -"módulos da biblioteca padrão. (Contribuição de Victor Stinner em :issue:" -"`42955`.)" +"módulos da biblioteca padrão. (Contribuição de Victor Stinner " +"em :issue:`42955`.)" -#: ../../whatsnew/3.10.rst:1412 +#: ../../whatsnew/3.10.rst:1416 msgid "_thread" msgstr "_thread" -#: ../../whatsnew/3.10.rst:1414 +#: ../../whatsnew/3.10.rst:1418 msgid "" ":func:`_thread.interrupt_main` now takes an optional signal number to " -"simulate (the default is still :data:`signal.SIGINT`). (Contributed by " +"simulate (the default is still :const:`signal.SIGINT`). (Contributed by " "Antoine Pitrou in :issue:`43356`.)" msgstr "" -":func:`_thread.interrupt_main` agora aceita um n´mero de sinal opcional para " -"simular (o padrão ainda é :data:`signal.SIGINT`). (Contribuição de Antoine " +":func:`_thread.interrupt_main` agora aceita um número de sinal opcional para " +"simular (o padrão ainda é :const:`signal.SIGINT`). (Contribuição de Antoine " "Pitrou em :issue:`43356`.)" -#: ../../whatsnew/3.10.rst:1419 +#: ../../whatsnew/3.10.rst:1423 msgid "threading" msgstr "threading" -#: ../../whatsnew/3.10.rst:1421 +#: ../../whatsnew/3.10.rst:1425 msgid "" "Add :func:`threading.gettrace` and :func:`threading.getprofile` to retrieve " -"the functions set by :func:`threading.settrace` and :func:`threading." -"setprofile` respectively. (Contributed by Mario Corchero in :issue:`42251`.)" +"the functions set by :func:`threading.settrace` " +"and :func:`threading.setprofile` respectively. (Contributed by Mario " +"Corchero in :issue:`42251`.)" msgstr "" "Adiciona :func:`threading.gettrace` e :func:`threading.getprofile` para " -"obter as funções definidas por :func:`threading.settrace` e :func:`threading." -"setprofile`, respectivamente. (Contribuição de Mario Corchero em :issue:" -"`42251`.)" +"obter as funções definidas por :func:`threading.settrace` " +"e :func:`threading.setprofile`, respectivamente. (Contribuição de Mario " +"Corchero em :issue:`42251`.)" -#: ../../whatsnew/3.10.rst:1426 +#: ../../whatsnew/3.10.rst:1430 msgid "" "Add :data:`threading.__excepthook__` to allow retrieving the original value " "of :func:`threading.excepthook` in case it is set to a broken or a different " @@ -2299,70 +2322,72 @@ msgid "" msgstr "" "Adiciona :data:`threading.__excepthook__` para permitir obtenção do valor " "original de :func:`threading.excepthook` no caso dele estar definido com um " -"valor quebrado ou diferente. (Contribuição de Mario Corchero em :issue:" -"`42308`.)" +"valor quebrado ou diferente. (Contribuição de Mario Corchero " +"em :issue:`42308`.)" -#: ../../whatsnew/3.10.rst:1432 +#: ../../whatsnew/3.10.rst:1436 msgid "traceback" msgstr "traceback" -#: ../../whatsnew/3.10.rst:1434 +#: ../../whatsnew/3.10.rst:1438 msgid "" -"The :func:`~traceback.format_exception`, :func:`~traceback." -"format_exception_only`, and :func:`~traceback.print_exception` functions can " -"now take an exception object as a positional-only argument. (Contributed by " -"Zackery Spytz and Matthias Bussonnier in :issue:`26389`.)" +"The :func:`~traceback.format_exception`, :func:`~traceback.format_exception_only`, " +"and :func:`~traceback.print_exception` functions can now take an exception " +"object as a positional-only argument. (Contributed by Zackery Spytz and " +"Matthias Bussonnier in :issue:`26389`.)" msgstr "" -"As funções :func:`~traceback.format_exception`, :func:`~traceback." -"format_exception_only` e :func:`~traceback.print_exception` podem agora " -"receber um objeto exceção como um argumento somente-posicional. " -"(Contribuição de Zackery Spytz e Matthias Bussonnier em :issue:`26389`.)" +"As " +"funções :func:`~traceback.format_exception`, :func:`~traceback.format_exception_only` " +"e :func:`~traceback.print_exception` podem agora receber um objeto exceção " +"como um argumento somente-posicional. (Contribuição de Zackery Spytz e " +"Matthias Bussonnier em :issue:`26389`.)" -#: ../../whatsnew/3.10.rst:1441 +#: ../../whatsnew/3.10.rst:1445 msgid "types" msgstr "types" -#: ../../whatsnew/3.10.rst:1443 +#: ../../whatsnew/3.10.rst:1447 msgid "" -"Reintroduce the :data:`types.EllipsisType`, :data:`types.NoneType` and :data:" -"`types.NotImplementedType` classes, providing a new set of types readily " -"interpretable by type checkers. (Contributed by Bas van Beek in :issue:" -"`41810`.)" +"Reintroduce the :data:`types.EllipsisType`, :data:`types.NoneType` " +"and :data:`types.NotImplementedType` classes, providing a new set of types " +"readily interpretable by type checkers. (Contributed by Bas van Beek " +"in :issue:`41810`.)" msgstr "" -"Reintroduz as classes :data:`types.EllipsisType`, :data:`types.NoneType` e :" -"data:`types.NotImplementedType`, fornecendo um novo conjunto de tipos " +"Reintroduz as classes :data:`types.EllipsisType`, :data:`types.NoneType` " +"e :data:`types.NotImplementedType`, fornecendo um novo conjunto de tipos " "prontamente interpretáveis pelos verificadores de tipo. (Contribuição de Bas " "van Beek em :issue:`41810`.)" -#: ../../whatsnew/3.10.rst:1449 +#: ../../whatsnew/3.10.rst:1453 msgid "typing" msgstr "typing" -#: ../../whatsnew/3.10.rst:1451 +#: ../../whatsnew/3.10.rst:1455 msgid "For major changes, see :ref:`new-feat-related-type-hints`." msgstr "Para alterações principais, veja :ref:`new-feat-related-type-hints`." -#: ../../whatsnew/3.10.rst:1453 +#: ../../whatsnew/3.10.rst:1457 msgid "" -"The behavior of :class:`typing.Literal` was changed to conform with :pep:" -"`586` and to match the behavior of static type checkers specified in the PEP." +"The behavior of :class:`typing.Literal` was changed to conform " +"with :pep:`586` and to match the behavior of static type checkers specified " +"in the PEP." msgstr "" "O comportamento de :class:`typing.Literal` foi alterado para ficar em " "conformidade com a :pep:`586` e para corresponder ao comportamento de " "verificadores de tipo estático especificados na PEP." -#: ../../whatsnew/3.10.rst:1456 +#: ../../whatsnew/3.10.rst:1460 msgid "``Literal`` now de-duplicates parameters." msgstr "``Literal`` agora elimina a duplicação de parâmetros." -#: ../../whatsnew/3.10.rst:1457 +#: ../../whatsnew/3.10.rst:1461 msgid "" "Equality comparisons between ``Literal`` objects are now order independent." msgstr "" "Comparações de igualdade entre objetos ``Literal`` agora são independentes " "da ordem." -#: ../../whatsnew/3.10.rst:1458 +#: ../../whatsnew/3.10.rst:1462 msgid "" "``Literal`` comparisons now respect types. For example, ``Literal[0] == " "Literal[False]`` previously evaluated to ``True``. It is now ``False``. To " @@ -2374,7 +2399,7 @@ msgstr "" "é ``False``. Para oferecer suporte a essa mudança, o cache de tipo usado " "internamente agora oferece suporte a tipos de diferenciação." -#: ../../whatsnew/3.10.rst:1462 +#: ../../whatsnew/3.10.rst:1466 msgid "" "``Literal`` objects will now raise a :exc:`TypeError` exception during " "equality comparisons if any of their parameters are not :term:`hashable`. " @@ -2382,60 +2407,60 @@ msgid "" "error::" msgstr "" "Objetos ``Literal`` agora irão levantar uma exceção :exc:`TypeError` durante " -"as comparações de igualdade se algum de seus parâmetros não for :term:" -"`hasheáveis `. Observe que declarar ``Literal`` com parâmetros " -"inalteráveis não acusará um erro::" +"as comparações de igualdade se algum de seus parâmetros não " +"for :term:`hasheáveis `. Observe que declarar ``Literal`` com " +"parâmetros inalteráveis não acusará um erro::" -#: ../../whatsnew/3.10.rst:1474 +#: ../../whatsnew/3.10.rst:1478 msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" msgstr "(Contribuição de Yurii Karabas em :issue:`42345`.)" -#: ../../whatsnew/3.10.rst:1476 +#: ../../whatsnew/3.10.rst:1480 msgid "" "Add new function :func:`typing.is_typeddict` to introspect if an annotation " -"is a :class:`typing.TypedDict`. (Contributed by Patrick Reader in :issue:" -"`41792`.)" +"is a :class:`typing.TypedDict`. (Contributed by Patrick Reader " +"in :issue:`41792`.)" msgstr "" "Adiciona uma nova função :func:`typing.is_typeddict` para fazer " "introspecção se uma anotação for uma :class:`typing.TypedDict`. " "(Contribuição de Patrick Reader em :issue:`41792`.)" -#: ../../whatsnew/3.10.rst:1480 +#: ../../whatsnew/3.10.rst:1484 msgid "" "Subclasses of ``typing.Protocol`` which only have data variables declared " "will now raise a ``TypeError`` when checked with ``isinstance`` unless they " "are decorated with :func:`runtime_checkable`. Previously, these checks " -"passed silently. Users should decorate their subclasses with the :func:" -"`runtime_checkable` decorator if they want runtime protocols. (Contributed " -"by Yurii Karabas in :issue:`38908`.)" +"passed silently. Users should decorate their subclasses with " +"the :func:`runtime_checkable` decorator if they want runtime protocols. " +"(Contributed by Yurii Karabas in :issue:`38908`.)" msgstr "" "Subclasses de ``typing.Protocol`` que apenas têm variáveis de dados " "declaradas agora irão levantar um ``TypeError`` quando verificadas com " "``isinstance`` a menos que sejam decoradas com :func:`runtime_checkable`. " "Anteriormente, essas verificações eram aprovadas silenciosamente. Os " -"usuários devem decorar suas subclasses com o decorador :func:" -"`runtime_checkable` se quiserem protocolos de tempo de execução. " -"(Contribuição de Yurii Karabas em :issue:`38908`.)" +"usuários devem decorar suas subclasses com o " +"decorador :func:`runtime_checkable` se quiserem protocolos de tempo de " +"execução. (Contribuição de Yurii Karabas em :issue:`38908`.)" -#: ../../whatsnew/3.10.rst:1488 +#: ../../whatsnew/3.10.rst:1492 msgid "" -"Importing from the ``typing.io`` and ``typing.re`` submodules will now emit :" -"exc:`DeprecationWarning`. These submodules have been deprecated since " +"Importing from the ``typing.io`` and ``typing.re`` submodules will now " +"emit :exc:`DeprecationWarning`. These submodules have been deprecated since " "Python 3.8 and will be removed in a future version of Python. Anything " "belonging to those submodules should be imported directly from :mod:`typing` " "instead. (Contributed by Sebastian Rittau in :issue:`38291`.)" msgstr "" -"A importação dos submódulos ``typing.io`` e ``typing.re`` agora emitirá :exc:" -"`DeprecationWarning`. Esses submódulos fora descontinuados desde o Python " -"3.8 e serão removidos em uma versão futura do Python. Qualquer coisa " -"pertencente a esses submódulos deve ser importada diretamente de :mod:" -"`typing`. (Contribuição de Sebastian Rittau em :issue:`38291`.)" +"A importação dos submódulos ``typing.io`` e ``typing.re`` agora " +"emitirá :exc:`DeprecationWarning`. Esses submódulos fora descontinuados " +"desde o Python 3.8 e serão removidos em uma versão futura do Python. " +"Qualquer coisa pertencente a esses submódulos deve ser importada diretamente " +"de :mod:`typing`. (Contribuição de Sebastian Rittau em :issue:`38291`.)" -#: ../../whatsnew/3.10.rst:1496 +#: ../../whatsnew/3.10.rst:1500 msgid "unittest" msgstr "unittest" -#: ../../whatsnew/3.10.rst:1498 +#: ../../whatsnew/3.10.rst:1502 msgid "" "Add new method :meth:`~unittest.TestCase.assertNoLogs` to complement the " "existing :meth:`~unittest.TestCase.assertLogs`. (Contributed by Kit Yan Choi " @@ -2445,21 +2470,21 @@ msgstr "" "complementar o existente :meth:`~unittest.TestCase.assertLogs`. " "(Contribuição de Kit Yan Choi em :issue:`39385`.)" -#: ../../whatsnew/3.10.rst:1503 +#: ../../whatsnew/3.10.rst:1507 msgid "urllib.parse" msgstr "urllib.parse" -#: ../../whatsnew/3.10.rst:1505 +#: ../../whatsnew/3.10.rst:1509 msgid "" "Python versions earlier than Python 3.10 allowed using both ``;`` and ``&`` " -"as query parameter separators in :func:`urllib.parse.parse_qs` and :func:" -"`urllib.parse.parse_qsl`. Due to security concerns, and to conform with " -"newer W3C recommendations, this has been changed to allow only a single " -"separator key, with ``&`` as the default. This change also affects :func:" -"`cgi.parse` and :func:`cgi.parse_multipart` as they use the affected " -"functions internally. For more details, please see their respective " -"documentation. (Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin " -"in :issue:`42967`.)" +"as query parameter separators in :func:`urllib.parse.parse_qs` " +"and :func:`urllib.parse.parse_qsl`. Due to security concerns, and to " +"conform with newer W3C recommendations, this has been changed to allow only " +"a single separator key, with ``&`` as the default. This change also " +"affects :func:`cgi.parse` and :func:`cgi.parse_multipart` as they use the " +"affected functions internally. For more details, please see their " +"respective documentation. (Contributed by Adam Goldschmidt, Senthil Kumaran " +"and Ken Jin in :issue:`42967`.)" msgstr "" "Versões do Python anteriores ao Python 3.10 permitiam o uso de ``;`` e ``&`` " "como separadores de parâmetros de consulta em :func:`urllib.parse.parse_qs` " @@ -2471,36 +2496,55 @@ msgstr "" "consulte a respectiva documentação. (Contribuição de Adam Goldschmidt, " "Senthil Kumaran e Ken Jin em :issue:`42967`.)" -#: ../../whatsnew/3.10.rst:1516 +#: ../../whatsnew/3.10.rst:1519 +msgid "" +"The presence of newline or tab characters in parts of a URL allows for some " +"forms of attacks. Following the WHATWG specification that " +"updates :rfc:`3986`, ASCII newline ``\\n``, ``\\r`` and tab ``\\t`` " +"characters are stripped from the URL by the parser in :mod:`urllib.parse` " +"preventing such attacks. The removal characters are controlled by a new " +"module level variable ``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. " +"(See :gh:`88048`)" +msgstr "" +"A presença de caracteres de nova linha ou tab em partes de um URL permite " +"algumas formas de ataques. Seguindo a especificação WHATWG que " +"atualiza :rfc:`3986`, nova linha ASCII ``\\n``, ``\\r`` e os caracteres de " +"tabulação ``\\t`` são retirados da URL pelo analisador sintático " +"em :mod:`urllib.parse` impedindo tais ataques. Os caracteres de remoção são " +"controlados por uma nova variável de nível de módulo " +"``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. (Veja :gh:`88048`)" + +#: ../../whatsnew/3.10.rst:1527 msgid "xml" msgstr "xml" -#: ../../whatsnew/3.10.rst:1518 +#: ../../whatsnew/3.10.rst:1529 msgid "" -"Add a :class:`~xml.sax.handler.LexicalHandler` class to the :mod:`xml.sax." -"handler` module. (Contributed by Jonathan Gossage and Zackery Spytz in :" -"issue:`35018`.)" +"Add a :class:`~xml.sax.handler.LexicalHandler` class to " +"the :mod:`xml.sax.handler` module. (Contributed by Jonathan Gossage and " +"Zackery Spytz in :issue:`35018`.)" msgstr "" -"Adiciona uma classe :class:`~xml.sax.handler.LexicalHandler` ao módulo :mod:" -"`xml.sax.handler`. (Contribuição de Jonathan Gossage e Zackery Spytz em :" -"issue:`35018`.)" +"Adiciona uma classe :class:`~xml.sax.handler.LexicalHandler` ao " +"módulo :mod:`xml.sax.handler`. (Contribuição de Jonathan Gossage e Zackery " +"Spytz em :issue:`35018`.)" -#: ../../whatsnew/3.10.rst:1523 +#: ../../whatsnew/3.10.rst:1534 msgid "zipimport" msgstr "zipimport" -#: ../../whatsnew/3.10.rst:1524 +#: ../../whatsnew/3.10.rst:1535 msgid "" -"Add methods related to :pep:`451`: :meth:`~zipimport.zipimporter." -"find_spec`, :meth:`zipimport.zipimporter.create_module`, and :meth:" -"`zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon in :issue:" -"`42131`.)" +"Add methods related " +"to :pep:`451`: :meth:`~zipimport.zipimporter.find_spec`, :meth:`zipimport.zipimporter.create_module`, " +"and :meth:`zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon " +"in :issue:`42131`.)" msgstr "" -"Adiciona métodos relacionados à :pep:`451`: :meth:`~zipimport.zipimporter." -"find_spec`, :meth:`zipimport.zipimporter.create_module` e :meth:`zipimport." -"zipimporter.exec_module`. (Contribuição de Brett Cannon em :issue:`42131`.)" +"Adiciona métodos relacionados " +"à :pep:`451`: :meth:`~zipimport.zipimporter.find_spec`, :meth:`zipimport.zipimporter.create_module` " +"e :meth:`zipimport.zipimporter.exec_module`. (Contribuição de Brett Cannon " +"em :issue:`42131`.)" -#: ../../whatsnew/3.10.rst:1529 +#: ../../whatsnew/3.10.rst:1540 msgid "" "Add :meth:`~zipimport.zipimporter.invalidate_caches` method. (Contributed by " "Desmond Cheong in :issue:`14678`.)" @@ -2508,27 +2552,27 @@ msgstr "" "Adiciona o método :meth:`~zipimport.zipimporter.invalidate_caches`. " "(Contribuição de Desmond Cheong em :issue:`14678`.)" -#: ../../whatsnew/3.10.rst:1534 +#: ../../whatsnew/3.10.rst:1545 msgid "Optimizations" msgstr "Otimizações" -#: ../../whatsnew/3.10.rst:1536 +#: ../../whatsnew/3.10.rst:1547 msgid "" "Constructors :func:`str`, :func:`bytes` and :func:`bytearray` are now faster " -"(around 30--40% for small objects). (Contributed by Serhiy Storchaka in :" -"issue:`41334`.)" +"(around 30--40% for small objects). (Contributed by Serhiy Storchaka " +"in :issue:`41334`.)" msgstr "" "Os construtores :func:`str`, :func:`bytes` e :func:`bytearray` estão agora " "mais rápido (cerca de 30--40% para objetos pequenos). (Contribuição de " "Serhiy Storchaka em :issue:`41334`.)" -#: ../../whatsnew/3.10.rst:1540 +#: ../../whatsnew/3.10.rst:1551 msgid "" "The :mod:`runpy` module now imports fewer modules. The ``python3 -m module-" -"name`` command startup time is 1.4x faster in average. On Linux, ``python3 -" -"I -m module-name`` imports 69 modules on Python 3.9, whereas it only imports " -"51 modules (-18) on Python 3.10. (Contributed by Victor Stinner in :issue:" -"`41006` and :issue:`41718`.)" +"name`` command startup time is 1.4x faster in average. On Linux, ``python3 " +"-I -m module-name`` imports 69 modules on Python 3.9, whereas it only " +"imports 51 modules (-18) on Python 3.10. (Contributed by Victor Stinner " +"in :issue:`41006` and :issue:`41718`.)" msgstr "" "O módulo :mod:`runpy` agora importa menos módulos. O tempo de inicialização " "do comando ``python3 -m module-name`` é 1,4 vezes mais rápido em média. No " @@ -2536,7 +2580,7 @@ msgstr "" "que importa apenas 51 módulos (-18) no Python 3.10. (Contribuição de Victor " "Stinner em :issue:`41006` e :issue:`41718`.)" -#: ../../whatsnew/3.10.rst:1546 +#: ../../whatsnew/3.10.rst:1557 msgid "" "The ``LOAD_ATTR`` instruction now uses new \"per opcode cache\" mechanism. " "It is about 36% faster now for regular attributes and 44% faster for slots. " @@ -2546,19 +2590,19 @@ msgid "" msgstr "" "A instrução ``LOAD_ATTR`` agora usa o novo mecanismo \"cache por opcode\". É " "cerca de 36% mais rápido agora para atributos regulares e 44% mais rápido " -"para slots. (Contribuição de Pablo Galindo e Yury Selivanov em :issue:" -"`42093` e Guido van Rossum em :issue:`42927`, com base em ideias " +"para slots. (Contribuição de Pablo Galindo e Yury Selivanov " +"em :issue:`42093` e Guido van Rossum em :issue:`42927`, com base em ideias " "implementadas originalmente em PyPy e MicroPython.)" -#: ../../whatsnew/3.10.rst:1552 +#: ../../whatsnew/3.10.rst:1563 msgid "" "When building Python with :option:`--enable-optimizations` now ``-fno-" "semantic-interposition`` is added to both the compile and link line. This " "speeds builds of the Python interpreter created with :option:`--enable-" -"shared` with ``gcc`` by up to 30%. See `this article `_ for more details. (Contributed by Victor Stinner " -"and Pablo Galindo in :issue:`38980`.)" +"shared` with ``gcc`` by up to 30%. See `this article `_ for more details. (Contributed by Victor " +"Stinner and Pablo Galindo in :issue:`38980`.)" msgstr "" "Ao construir o Python com :option:`--enable-optimizations` agora, ``-fno-" "semantic-interposition`` é adicionado à linha de compilação e vinculação. " @@ -2568,23 +2612,23 @@ msgstr "" "faster-python-3-8-run-speeds/>`_ para mais detalhes. (Contribuição de Victor " "Stinner e Pablo Galindo em :issue:`38980`.)" -#: ../../whatsnew/3.10.rst:1560 +#: ../../whatsnew/3.10.rst:1571 msgid "" -"Use a new output buffer management code for :mod:`bz2` / :mod:`lzma` / :mod:" -"`zlib` modules, and add ``.readall()`` function to ``_compression." -"DecompressReader`` class. bz2 decompression is now 1.09x ~ 1.17x faster, " -"lzma decompression 1.20x ~ 1.32x faster, ``GzipFile.read(-1)`` 1.11x ~ 1.18x " -"faster. (Contributed by Ma Lin, reviewed by Gregory P. Smith, in :issue:" -"`41486`)" +"Use a new output buffer management code " +"for :mod:`bz2` / :mod:`lzma` / :mod:`zlib` modules, and add ``.readall()`` " +"function to ``_compression.DecompressReader`` class. bz2 decompression is " +"now 1.09x ~ 1.17x faster, lzma decompression 1.20x ~ 1.32x faster, " +"``GzipFile.read(-1)`` 1.11x ~ 1.18x faster. (Contributed by Ma Lin, reviewed " +"by Gregory P. Smith, in :issue:`41486`)" msgstr "" -"Usa um novo código de gerenciamento de buffer de saída para os módulos :mod:" -"`bz2` / :mod:`lzma` / :mod:`zlib` e adiciona a função ``.readall()`` à " -"classe ``_compression.DecompressReader``. A descompressão bz2 agora é 1,09x " -"~ 1.17x mais rápida, a descompressão lzma 1.20x ~ 1.32x mais rápida, " -"``GzipFile.read(-1)`` 1,11x ~ 1.18x mais rápida. (Contribuição de Ma Lin, " -"revisada por Gregory P. Smith, em :issue:`41486`)" +"Usa um novo código de gerenciamento de buffer de saída para os " +"módulos :mod:`bz2` / :mod:`lzma` / :mod:`zlib` e adiciona a função " +"``.readall()`` à classe ``_compression.DecompressReader``. A descompressão " +"bz2 agora é 1,09x ~ 1.17x mais rápida, a descompressão lzma 1.20x ~ 1.32x " +"mais rápida, ``GzipFile.read(-1)`` 1,11x ~ 1.18x mais rápida. (Contribuição " +"de Ma Lin, revisada por Gregory P. Smith, em :issue:`41486`)" -#: ../../whatsnew/3.10.rst:1566 +#: ../../whatsnew/3.10.rst:1577 msgid "" "When using stringized annotations, annotations dicts for functions are no " "longer created when the function is created. Instead, they are stored as a " @@ -2600,7 +2644,7 @@ msgstr "" "necessário para definir uma função anotada. (Contribuição de Yurii Karabas e " "Inada Naoki em :issue:`42202`.)" -#: ../../whatsnew/3.10.rst:1573 +#: ../../whatsnew/3.10.rst:1584 msgid "" "Substring search functions such as ``str1 in str2`` and ``str2.find(str1)`` " "now sometimes use Crochemore & Perrin's \"Two-Way\" string searching " @@ -2612,39 +2656,41 @@ msgstr "" "Crochemore & Perrin para evitar comportamento quadrático em strings longas. " "(Contribuição de Dennis Sweeney em :issue:`41972`)" -#: ../../whatsnew/3.10.rst:1578 +#: ../../whatsnew/3.10.rst:1589 msgid "" "Add micro-optimizations to ``_PyType_Lookup()`` to improve type attribute " "cache lookup performance in the common case of cache hits. This makes the " -"interpreter 1.04 times faster on average. (Contributed by Dino Viehland in :" -"issue:`43452`.)" +"interpreter 1.04 times faster on average. (Contributed by Dino Viehland " +"in :issue:`43452`.)" msgstr "" "Adiciona micro-otimizações a ``_PyType_Lookup()`` para melhorar o desempenho " "de pesquisa de cache de atributo de tipo no caso comum de acessos de cache. " "Isso torna o interpretador 1,04 vezes mais rápido, em média. (Contribuição " "de Dino Viehland em :issue:`43452`.)" -#: ../../whatsnew/3.10.rst:1582 +#: ../../whatsnew/3.10.rst:1593 msgid "" "The following built-in functions now support the faster :pep:`590` " -"vectorcall calling convention: :func:`map`, :func:`filter`, :func:" -"`reversed`, :func:`bool` and :func:`float`. (Contributed by Dong-hee Na and " -"Jeroen Demeyer in :issue:`43575`, :issue:`43287`, :issue:`41922`, :issue:" -"`41873` and :issue:`41870`.)" +"vectorcall calling " +"convention: :func:`map`, :func:`filter`, :func:`reversed`, :func:`bool` " +"and :func:`float`. (Contributed by Donghee Na and Jeroen Demeyer " +"in :issue:`43575`, :issue:`43287`, :issue:`41922`, :issue:`41873` " +"and :issue:`41870`.)" msgstr "" "As seguintes funções embutidas agora oferecem suporte a uma convenção de " -"chamada de vectorcalls mais rápidos da :pep:`590`: :func:`map`, :func:" -"`filter`, :func:`reversed`, :func:`bool` e :func:`float`. (Contribuição de " -"Dong-hee Na e Jeroen Demeyer em :issue:`43575`, :issue:`43287`, :issue:" -"`41922`, :issue:`41873` e :issue:`41870`.)" +"chamada de vectorcalls mais rápidos " +"da :pep:`590`: :func:`map`, :func:`filter`, :func:`reversed`, :func:`bool` " +"e :func:`float`. (Contribuição de Donghee Na e Jeroen Demeyer " +"em :issue:`43575`, :issue:`43287`, :issue:`41922`, :issue:`41873` " +"e :issue:`41870`.)" -#: ../../whatsnew/3.10.rst:1586 +#: ../../whatsnew/3.10.rst:1597 msgid "" ":class:`BZ2File` performance is improved by removing internal ``RLock``. " "This makes :class:`BZ2File` thread unsafe in the face of multiple " -"simultaneous readers or writers, just like its equivalent classes in :mod:" -"`gzip` and :mod:`lzma` have always been. (Contributed by Inada Naoki in :" -"issue:`43785`.)" +"simultaneous readers or writers, just like its equivalent classes " +"in :mod:`gzip` and :mod:`lzma` have always been. (Contributed by Inada " +"Naoki in :issue:`43785`.)" msgstr "" "O desempenho de :class:`BZ2File` foi melhorado removendo o ``RLock`` " "interno. Isso torna :class:`BZ2File` inseguro para threads em face a vários " @@ -2652,66 +2698,68 @@ msgstr "" "equivalentes em :mod:`gzip` e :mod:`lzma` têm sido. (Contribuição de Inada " "Naoki em :issue:`43785`.)" -#: ../../whatsnew/3.10.rst:1594 ../../whatsnew/3.10.rst:2200 +#: ../../whatsnew/3.10.rst:1605 ../../whatsnew/3.10.rst:2211 msgid "Deprecated" msgstr "Descontinuados" -#: ../../whatsnew/3.10.rst:1596 +#: ../../whatsnew/3.10.rst:1607 msgid "" "Currently Python accepts numeric literals immediately followed by keywords, " "for example ``0in x``, ``1or x``, ``0if 1else 2``. It allows confusing and " "ambiguous expressions like ``[0x1for x in y]`` (which can be interpreted as " "``[0x1 for x in y]`` or ``[0x1f or x in y]``). Starting in this release, a " "deprecation warning is raised if the numeric literal is immediately followed " -"by one of keywords :keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:" -"`if`, :keyword:`in`, :keyword:`is` and :keyword:`or`. In future releases it " -"will be changed to syntax warning, and finally to syntax error. (Contributed " -"by Serhiy Storchaka in :issue:`43833`.)" +"by one of " +"keywords :keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` " +"and :keyword:`or`. In future releases it will be changed to syntax warning, " +"and finally to syntax error. (Contributed by Serhiy Storchaka " +"in :issue:`43833`.)" msgstr "" "Atualmente Python aceita literais numéricos imediatamente seguidos por " "palavras-chave, por exemplo ``0in x``, ``1or x``, ``0if 1else 2``. Permite " "expressões confusas e ambíguas como ``[0x1for x in y]`` (que pode ser " "interpretada como ``[0x1 for x in y]`` ou ``[0x1f or x in y]``). A partir " "desta versão, um aviso de descontinuidade é levantado se o literal numérico " -"for seguido imediatamente por uma das palavras-chave :keyword:`and`, :" -"keyword:`else`, :keyword:`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` " +"for seguido imediatamente por uma das palavras-" +"chave :keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:`if`, :keyword:`in`, :keyword:`is` " "e :keyword:`or`. Em versões futuras, ele será alterado para aviso de sintaxe " -"e, finalmente, para erro de sintaxe. (Contribuição de Serhiy Storchaka em :" -"issue:`43833`.)" +"e, finalmente, para erro de sintaxe. (Contribuição de Serhiy Storchaka " +"em :issue:`43833`.)" -#: ../../whatsnew/3.10.rst:1607 +#: ../../whatsnew/3.10.rst:1618 msgid "" "Starting in this release, there will be a concerted effort to begin cleaning " "up old import semantics that were kept for Python 2.7 compatibility. " -"Specifically, :meth:`~importlib.abc.PathEntryFinder.find_loader`/:meth:" -"`~importlib.abc.Finder.find_module` (superseded by :meth:`~importlib.abc." -"Finder.find_spec`), :meth:`~importlib.abc.Loader.load_module` (superseded " -"by :meth:`~importlib.abc.Loader.exec_module`), :meth:`~importlib.abc.Loader." -"module_repr` (which the import system takes care of for you), the " -"``__package__`` attribute (superseded by ``__spec__.parent``), the " -"``__loader__`` attribute (superseded by ``__spec__.loader``), and the " -"``__cached__`` attribute (superseded by ``__spec__.cached``) will slowly be " -"removed (as well as other classes and methods in :mod:`importlib`). :exc:" -"`ImportWarning` and/or :exc:`DeprecationWarning` will be raised as " -"appropriate to help identify code which needs updating during this " -"transition." +"Specifically, :meth:`~importlib.abc.PathEntryFinder.find_loader`/:meth:`~importlib.abc.Finder.find_module` " +"(superseded " +"by :meth:`~importlib.abc.Finder.find_spec`), :meth:`~importlib.abc.Loader.load_module` " +"(superseded " +"by :meth:`~importlib.abc.Loader.exec_module`), :meth:`~importlib.abc.Loader.module_repr` " +"(which the import system takes care of for you), the ``__package__`` " +"attribute (superseded by ``__spec__.parent``), the ``__loader__`` attribute " +"(superseded by ``__spec__.loader``), and the ``__cached__`` attribute " +"(superseded by ``__spec__.cached``) will slowly be removed (as well as other " +"classes and methods in :mod:`importlib`). :exc:`ImportWarning` and/" +"or :exc:`DeprecationWarning` will be raised as appropriate to help identify " +"code which needs updating during this transition." msgstr "" "A partir desta versão, haverá um esforço concentrado para começar a limpar a " "semântica de importação antiga que foi mantida para compatibilidade com " -"Python 2.7. Especificamente, :meth:`~importlib.abc.PathEntryFinder." -"find_loader`/:meth:`~importlib.abc.Finder.find_module` (substituídos por :" -"meth:`~importlib.abc.Finder.find_spec`), :meth:`~importlib.abc.Loader." -"load_module` (substituído por :meth:`~importlib.abc.Loader.exec_module`), :" -"meth:`~importlib.abc.Loader.module_repr` (que o sistema de importação cuida " -"para você), o atributo ``__package__`` (substituído por ``__spec__." -"parent``), o atributo ``__loader__`` (substituído por ``__spec__.loader``), " -"e o atributo ``__cached__`` ( substituído por ``__spec__.cached``) será " -"removido lentamente (assim como outras classes e métodos em :mod:" -"`importlib`). :exc:`ImportWarning` e/ou :exc:`DeprecationWarning` será " -"levantada conforme apropriado para ajudar a identificar o código que precisa " -"ser atualizado durante esta transição." - -#: ../../whatsnew/3.10.rst:1624 +"Python 2.7. " +"Especificamente, :meth:`~importlib.abc.PathEntryFinder.find_loader`/:meth:`~importlib.abc.Finder.find_module` " +"(substituídos " +"por :meth:`~importlib.abc.Finder.find_spec`), :meth:`~importlib.abc.Loader.load_module` " +"(substituído " +"por :meth:`~importlib.abc.Loader.exec_module`), :meth:`~importlib.abc.Loader.module_repr` " +"(que o sistema de importação cuida para você), o atributo ``__package__`` " +"(substituído por ``__spec__.parent``), o atributo ``__loader__`` " +"(substituído por ``__spec__.loader``), e o atributo ``__cached__`` " +"( substituído por ``__spec__.cached``) será removido lentamente (assim como " +"outras classes e métodos em :mod:`importlib`). :exc:`ImportWarning` e/" +"ou :exc:`DeprecationWarning` será levantada conforme apropriado para ajudar " +"a identificar o código que precisa ser atualizado durante esta transição." + +#: ../../whatsnew/3.10.rst:1635 msgid "" "The entire ``distutils`` namespace is deprecated, to be removed in Python " "3.12. Refer to the :ref:`module changes ` section for " @@ -2721,139 +2769,137 @@ msgstr "" "no Python 3.12. Consulte a seção de :ref:`alterações do módulo ` para mais informações." -#: ../../whatsnew/3.10.rst:1628 +#: ../../whatsnew/3.10.rst:1639 msgid "" -"Non-integer arguments to :func:`random.randrange` are deprecated. The :exc:" -"`ValueError` is deprecated in favor of a :exc:`TypeError`. (Contributed by " -"Serhiy Storchaka and Raymond Hettinger in :issue:`37319`.)" +"Non-integer arguments to :func:`random.randrange` are deprecated. " +"The :exc:`ValueError` is deprecated in favor of a :exc:`TypeError`. " +"(Contributed by Serhiy Storchaka and Raymond Hettinger in :issue:`37319`.)" msgstr "" "Argumentos não inteiros para :func:`random.randrange` foram descontinuados. " -"A exceção :exc:`ValueError` foi descontinuada em favor de uma exceção :exc:" -"`TypeError`. (Contribuição de Serhiy Storchaka e Raymond Hettinger em :issue:" -"`37319`.)" +"A exceção :exc:`ValueError` foi descontinuada em favor de uma " +"exceção :exc:`TypeError`. (Contribuição de Serhiy Storchaka e Raymond " +"Hettinger em :issue:`37319`.)" -#: ../../whatsnew/3.10.rst:1632 +#: ../../whatsnew/3.10.rst:1643 msgid "" "The various ``load_module()`` methods of :mod:`importlib` have been " -"documented as deprecated since Python 3.6, but will now also trigger a :exc:" -"`DeprecationWarning`. Use :meth:`~importlib.abc.Loader.exec_module` instead. " -"(Contributed by Brett Cannon in :issue:`26131`.)" +"documented as deprecated since Python 3.6, but will now also trigger " +"a :exc:`DeprecationWarning`. Use :meth:`~importlib.abc.Loader.exec_module` " +"instead. (Contributed by Brett Cannon in :issue:`26131`.)" msgstr "" "Os vários métodos de ``load_module()`` de :mod:`importlib` foram " "documentados como descontinuados desde Python 3.6, mas agora também irão " -"disparar um :exc:`DeprecationWarning`. Use :meth:`~importlib.abc.Loader." -"exec_module` em vez disso. (Contribuição de Brett Cannon em :issue:`26131`.)" +"disparar um :exc:`DeprecationWarning`. " +"Use :meth:`~importlib.abc.Loader.exec_module` em vez disso. (Contribuição de " +"Brett Cannon em :issue:`26131`.)" -#: ../../whatsnew/3.10.rst:1638 +#: ../../whatsnew/3.10.rst:1649 msgid "" ":meth:`zimport.zipimporter.load_module` has been deprecated in preference " "for :meth:`~zipimport.zipimporter.exec_module`. (Contributed by Brett Cannon " "in :issue:`26131`.)" msgstr "" -":meth:`zimport.zipimporter.load_module` foi descontinuado em preferência a :" -"meth:`~zipimport.zipimporter.exec_module`. (Contribuição de Brett Cannon em :" -"issue:`26131`.)" +":meth:`zimport.zipimporter.load_module` foi descontinuado em preferência " +"a :meth:`~zipimport.zipimporter.exec_module`. (Contribuição de Brett Cannon " +"em :issue:`26131`.)" -#: ../../whatsnew/3.10.rst:1642 +#: ../../whatsnew/3.10.rst:1653 msgid "" "The use of :meth:`~importlib.abc.Loader.load_module` by the import system " -"now triggers an :exc:`ImportWarning` as :meth:`~importlib.abc.Loader." -"exec_module` is preferred. (Contributed by Brett Cannon in :issue:`26131`.)" +"now triggers an :exc:`ImportWarning` " +"as :meth:`~importlib.abc.Loader.exec_module` is preferred. (Contributed by " +"Brett Cannon in :issue:`26131`.)" msgstr "" "O uso de :meth:`~importlib.abc.Loader.load_module` pelo sistema de " -"importação agora dispara uma exceção :exc:`ImportWarning`, pois :meth:" -"`~importlib.abc.Loader.exec_module` é preferível. (Contribuição de Brett " -"Cannon em :issue:`26131`.)" +"importação agora dispara uma exceção :exc:`ImportWarning`, " +"pois :meth:`~importlib.abc.Loader.exec_module` é preferível. (Contribuição " +"de Brett Cannon em :issue:`26131`.)" -#: ../../whatsnew/3.10.rst:1647 +#: ../../whatsnew/3.10.rst:1658 msgid "" -"The use of :meth:`importlib.abc.MetaPathFinder.find_module` and :meth:" -"`importlib.abc.PathEntryFinder.find_module` by the import system now trigger " -"an :exc:`ImportWarning` as :meth:`importlib.abc.MetaPathFinder.find_spec` " +"The use of :meth:`importlib.abc.MetaPathFinder.find_module` " +"and :meth:`importlib.abc.PathEntryFinder.find_module` by the import system " +"now trigger an :exc:`ImportWarning` " +"as :meth:`importlib.abc.MetaPathFinder.find_spec` " "and :meth:`importlib.abc.PathEntryFinder.find_spec` are preferred, " "respectively. You can use :func:`importlib.util.spec_from_loader` to help in " "porting. (Contributed by Brett Cannon in :issue:`42134`.)" msgstr "" -"O uso de :meth:`importlib.abc.MetaPathFinder.find_module` e :meth:`importlib." -"abc.PathEntryFinder.find_module` pelo sistema de importação agora dispara " -"uma exceção :exc:`ImportWarning`, pois :meth:`importlib.abc.MetaPathFinder." -"find_spec` e :meth:`importlib.abc.PathEntryFinder.find_spec` são preferidos, " +"O uso de :meth:`importlib.abc.MetaPathFinder.find_module` " +"e :meth:`importlib.abc.PathEntryFinder.find_module` pelo sistema de " +"importação agora dispara uma exceção :exc:`ImportWarning`, " +"pois :meth:`importlib.abc.MetaPathFinder.find_spec` " +"e :meth:`importlib.abc.PathEntryFinder.find_spec` são preferidos, " "respectivamente. Você pode usar :func:`importlib.util.spec_from_loader` para " "ajudar no port. (Contribuição de Brett Cannon em :issue:`42134`.)" -#: ../../whatsnew/3.10.rst:1656 +#: ../../whatsnew/3.10.rst:1667 msgid "" "The use of :meth:`importlib.abc.PathEntryFinder.find_loader` by the import " -"system now triggers an :exc:`ImportWarning` as :meth:`importlib.abc." -"PathEntryFinder.find_spec` is preferred. You can use :func:`importlib.util." -"spec_from_loader` to help in porting. (Contributed by Brett Cannon in :issue:" -"`43672`.)" +"system now triggers an :exc:`ImportWarning` " +"as :meth:`importlib.abc.PathEntryFinder.find_spec` is preferred. You can " +"use :func:`importlib.util.spec_from_loader` to help in porting. (Contributed " +"by Brett Cannon in :issue:`43672`.)" msgstr "" "O uso de :meth:`importlib.abc.PathEntryFinder.find_loader` pelo sistema de " -"importação agora dispara uma exceção :exc:`ImportWarning`, pois :meth:" -"`importlib.abc.PathEntryFinder.find_spec` é preferido. Você pode usar :func:" -"`importlib.util.spec_from_loader` para ajudar no port. (Contribuição de " -"Brett Cannon em :issue:`43672`.)" - -#: ../../whatsnew/3.10.rst:1662 -msgid "" -"The various implementations of :meth:`importlib.abc.MetaPathFinder." -"find_module` ( :meth:`importlib.machinery.BuiltinImporter.find_module`, :" -"meth:`importlib.machinery.FrozenImporter.find_module`, :meth:`importlib." -"machinery.WindowsRegistryFinder.find_module`, :meth:`importlib.machinery." -"PathFinder.find_module`, :meth:`importlib.abc.MetaPathFinder." -"find_module` ), :meth:`importlib.abc.PathEntryFinder.find_module` ( :meth:" -"`importlib.machinery.FileFinder.find_module` ), and :meth:`importlib.abc." -"PathEntryFinder.find_loader` ( :meth:`importlib.machinery.FileFinder." -"find_loader` ) now raise :exc:`DeprecationWarning` and are slated for " -"removal in Python 3.12 (previously they were documented as deprecated in " -"Python 3.4). (Contributed by Brett Cannon in :issue:`42135`.)" +"importação agora dispara uma exceção :exc:`ImportWarning`, " +"pois :meth:`importlib.abc.PathEntryFinder.find_spec` é preferido. Você pode " +"usar :func:`importlib.util.spec_from_loader` para ajudar no port. " +"(Contribuição de Brett Cannon em :issue:`43672`.)" + +#: ../../whatsnew/3.10.rst:1673 +msgid "" +"The various implementations " +"of :meth:`importlib.abc.MetaPathFinder.find_module` " +"( :meth:`importlib.machinery.BuiltinImporter.find_module`, :meth:`importlib.machinery.FrozenImporter.find_module`, :meth:`importlib.machinery.WindowsRegistryFinder.find_module`, :meth:`importlib.machinery.PathFinder.find_module`, :meth:`importlib.abc.MetaPathFinder.find_module` ), :meth:`importlib.abc.PathEntryFinder.find_module` " +"( :meth:`importlib.machinery.FileFinder.find_module` ), " +"and :meth:`importlib.abc.PathEntryFinder.find_loader` " +"( :meth:`importlib.machinery.FileFinder.find_loader` ) now " +"raise :exc:`DeprecationWarning` and are slated for removal in Python 3.12 " +"(previously they were documented as deprecated in Python 3.4). (Contributed " +"by Brett Cannon in :issue:`42135`.)" msgstr "" "As várias implementações de :meth:`importlib.abc.MetaPathFinder.find_module` " -"( :meth:`importlib.machinery.BuiltinImporter.find_module`, :meth:`importlib." -"machinery.FrozenImporter.find_module`, :meth:`importlib.machinery." -"WindowsRegistryFinder.find_module`, :meth:`importlib.machinery.PathFinder." -"find_module`, :meth:`importlib.abc.MetaPathFinder.find_module` ), :meth:" -"`importlib.abc.PathEntryFinder.find_module` ( :meth:`importlib.machinery." -"FileFinder.find_module` ) e :meth:`importlib.abc.PathEntryFinder." -"find_loader` ( :meth:`importlib.machinery.FileFinder.find_loader` ) agora " +"( :meth:`importlib.machinery.BuiltinImporter.find_module`, :meth:`importlib.machinery.FrozenImporter.find_module`, :meth:`importlib.machinery.WindowsRegistryFinder.find_module`, :meth:`importlib.machinery.PathFinder.find_module`, :meth:`importlib.abc.MetaPathFinder.find_module` ), :meth:`importlib.abc.PathEntryFinder.find_module` " +"( :meth:`importlib.machinery.FileFinder.find_module` ) " +"e :meth:`importlib.abc.PathEntryFinder.find_loader` " +"( :meth:`importlib.machinery.FileFinder.find_loader` ) agora " "levantam :exc:`DeprecationWarning` e estão programadas para remoção no " "Python 3.12 (anteriormente, eles foram documentados como descontinuados no " "Python 3.4). (Contribuição de Brett Cannon em :issue:`42135`.)" -#: ../../whatsnew/3.10.rst:1677 +#: ../../whatsnew/3.10.rst:1688 msgid "" -":class:`importlib.abc.Finder` is deprecated (including its sole method, :" -"meth:`~importlib.abc.Finder.find_module`). Both :class:`importlib.abc." -"MetaPathFinder` and :class:`importlib.abc.PathEntryFinder` no longer inherit " -"from the class. Users should inherit from one of these two classes as " -"appropriate instead. (Contributed by Brett Cannon in :issue:`42135`.)" +":class:`importlib.abc.Finder` is deprecated (including its sole " +"method, :meth:`~importlib.abc.Finder.find_module`). " +"Both :class:`importlib.abc.MetaPathFinder` " +"and :class:`importlib.abc.PathEntryFinder` no longer inherit from the class. " +"Users should inherit from one of these two classes as appropriate instead. " +"(Contributed by Brett Cannon in :issue:`42135`.)" msgstr "" ":class:`importlib.abc.Finder` foi descontinuada (incluindo seu único " -"método, :meth:`~importlib.abc.Finder.find_module`). :class:`importlib.abc." -"MetaPathFinder` e :class:`importlib.abc.PathEntryFinder` não mais herdam da " -"classe. Usuários devem herdar de uma dessas duas classes conforme " -"apropriado. (Contribuição de Brett Cannon em :issue:`42135`.)" - -#: ../../whatsnew/3.10.rst:1684 -msgid "" -"The deprecations of :mod:`imp`, :func:`importlib.find_loader`, :func:" -"`importlib.util.set_package_wrapper`, :func:`importlib.util." -"set_loader_wrapper`, :func:`importlib.util.module_for_loader`, :class:" -"`pkgutil.ImpImporter`, and :class:`pkgutil.ImpLoader` have all been updated " -"to list Python 3.12 as the slated version of removal (they began raising :" -"exc:`DeprecationWarning` in previous versions of Python). (Contributed by " -"Brett Cannon in :issue:`43720`.)" -msgstr "" -"As descontinuações de :mod:`imp`, :func:`importlib.find_loader`, :func:" -"`importlib.util.set_package_wrapper`, :func:`importlib.util." -"set_loader_wrapper`, :func:`importlib.util.module_for_loader`, :class:" -"`pkgutil.ImpImporter` e :class:`pkgutil.ImpLoader` foram todas atualizadas " -"para listar Python 3.12 como a versão programada para remoção (elas " -"começaram a levantar :exc:`DeprecationWarning` em versões anteriores do " -"Python). (Contribuição de Brett Cannon em :issue:`43720`.)" - -#: ../../whatsnew/3.10.rst:1694 +"método, :meth:`~importlib.abc.Finder.find_module`). :class:`importlib.abc.MetaPathFinder` " +"e :class:`importlib.abc.PathEntryFinder` não mais herdam da classe. Usuários " +"devem herdar de uma dessas duas classes conforme apropriado. (Contribuição " +"de Brett Cannon em :issue:`42135`.)" + +#: ../../whatsnew/3.10.rst:1695 +msgid "" +"The deprecations " +"of :mod:`imp`, :func:`importlib.find_loader`, :func:`importlib.util.set_package_wrapper`, :func:`importlib.util.set_loader_wrapper`, :func:`importlib.util.module_for_loader`, :class:`pkgutil.ImpImporter`, " +"and :class:`pkgutil.ImpLoader` have all been updated to list Python 3.12 as " +"the slated version of removal (they began raising :exc:`DeprecationWarning` " +"in previous versions of Python). (Contributed by Brett Cannon " +"in :issue:`43720`.)" +msgstr "" +"As descontinuações " +"de :mod:`imp`, :func:`importlib.find_loader`, :func:`importlib.util.set_package_wrapper`, :func:`importlib.util.set_loader_wrapper`, :func:`importlib.util.module_for_loader`, :class:`pkgutil.ImpImporter` " +"e :class:`pkgutil.ImpLoader` foram todas atualizadas para listar Python 3.12 " +"como a versão programada para remoção (elas começaram a " +"levantar :exc:`DeprecationWarning` em versões anteriores do Python). " +"(Contribuição de Brett Cannon em :issue:`43720`.)" + +#: ../../whatsnew/3.10.rst:1705 msgid "" "The import system now uses the ``__spec__`` attribute on modules before " "falling back on :meth:`~importlib.abc.Loader.module_repr` for a module's " @@ -2863,34 +2909,34 @@ msgstr "" "O sistema de importação agora usa o atributo ``__spec__`` em módulos antes " "de recorrer a :meth:`~importlib.abc.Loader.module_repr` para um método " "``__repr__()`` do módulo. A remoção do uso de ``module_repr()`` está " -"programado para Python 3.12. (Contribuição de Brett Cannon em :issue:" -"`42137`.)" +"programado para Python 3.12. (Contribuição de Brett Cannon " +"em :issue:`42137`.)" -#: ../../whatsnew/3.10.rst:1700 +#: ../../whatsnew/3.10.rst:1711 msgid "" -":meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.machinery." -"FrozenLoader.module_repr`, and :meth:`importlib.machinery.BuiltinLoader." -"module_repr` are deprecated and slated for removal in Python 3.12. " -"(Contributed by Brett Cannon in :issue:`42136`.)" +":meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.machinery.FrozenLoader.module_repr`, " +"and :meth:`importlib.machinery.BuiltinLoader.module_repr` are deprecated and " +"slated for removal in Python 3.12. (Contributed by Brett Cannon " +"in :issue:`42136`.)" msgstr "" -":meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.machinery." -"FrozenLoader.module_repr` e :meth:`importlib.machinery.BuiltinLoader." -"module_repr` foram descontinuadas e progamadas para remoção no Python 3.12. " -"(Contribuição de Brett Cannon em :issue:`42136`.)" +":meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.machinery.FrozenLoader.module_repr` " +"e :meth:`importlib.machinery.BuiltinLoader.module_repr` foram descontinuadas " +"e progamadas para remoção no Python 3.12. (Contribuição de Brett Cannon " +"em :issue:`42136`.)" -#: ../../whatsnew/3.10.rst:1706 +#: ../../whatsnew/3.10.rst:1717 msgid "" "``sqlite3.OptimizedUnicode`` has been undocumented and obsolete since Python " "3.3, when it was made an alias to :class:`str`. It is now deprecated, " -"scheduled for removal in Python 3.12. (Contributed by Erlend E. Aasland in :" -"issue:`42264`.)" +"scheduled for removal in Python 3.12. (Contributed by Erlend E. Aasland " +"in :issue:`42264`.)" msgstr "" "``sqlite3.OptimizedUnicode`` teve a documentação removida e foi " -"descontinuado desde o Python 3.3, quando foi tornado um apelido para :class:" -"`str`. Foi agora descontinuado, programado para remoção no Python 3.12. " -"(Contribuição de Erlend E. Aasland em :issue:`42264`.)" +"descontinuado desde o Python 3.3, quando foi tornado um apelido " +"para :class:`str`. Foi agora descontinuado, programado para remoção no " +"Python 3.12. (Contribuição de Erlend E. Aasland em :issue:`42264`.)" -#: ../../whatsnew/3.10.rst:1711 +#: ../../whatsnew/3.10.rst:1722 msgid "" "The undocumented built-in function ``sqlite3.enable_shared_cache`` is now " "deprecated, scheduled for removal in Python 3.12. Its use is strongly " @@ -2907,49 +2953,49 @@ msgstr "" "usando o parâmetro de consulta ``cache=shared``. (Contribuição de Erlend E. " "Aasland em :issue:`24464`.)" -#: ../../whatsnew/3.10.rst:1719 +#: ../../whatsnew/3.10.rst:1730 msgid "The following ``threading`` methods are now deprecated:" msgstr "Os seguintes métodos de ``threading`` foram agora descontinuados:" -#: ../../whatsnew/3.10.rst:1721 +#: ../../whatsnew/3.10.rst:1732 msgid "``threading.currentThread`` => :func:`threading.current_thread`" msgstr "``threading.currentThread`` => :func:`threading.current_thread`" -#: ../../whatsnew/3.10.rst:1723 +#: ../../whatsnew/3.10.rst:1734 msgid "``threading.activeCount`` => :func:`threading.active_count`" msgstr "``threading.activeCount`` => :func:`threading.active_count`" -#: ../../whatsnew/3.10.rst:1725 +#: ../../whatsnew/3.10.rst:1736 msgid "" "``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" msgstr "" "``threading.Condition.notifyAll`` => :meth:`threading.Condition.notify_all`" -#: ../../whatsnew/3.10.rst:1728 +#: ../../whatsnew/3.10.rst:1739 msgid "``threading.Event.isSet`` => :meth:`threading.Event.is_set`" msgstr "``threading.Event.isSet`` => :meth:`threading.Event.is_set`" -#: ../../whatsnew/3.10.rst:1730 +#: ../../whatsnew/3.10.rst:1741 msgid "``threading.Thread.setName`` => :attr:`threading.Thread.name`" msgstr "``threading.Thread.setName`` => :attr:`threading.Thread.name`" -#: ../../whatsnew/3.10.rst:1732 +#: ../../whatsnew/3.10.rst:1743 msgid "``threading.thread.getName`` => :attr:`threading.Thread.name`" msgstr "``threading.thread.getName`` => :attr:`threading.Thread.name`" -#: ../../whatsnew/3.10.rst:1734 +#: ../../whatsnew/3.10.rst:1745 msgid "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`" msgstr "``threading.Thread.isDaemon`` => :attr:`threading.Thread.daemon`" -#: ../../whatsnew/3.10.rst:1736 +#: ../../whatsnew/3.10.rst:1747 msgid "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`" msgstr "``threading.Thread.setDaemon`` => :attr:`threading.Thread.daemon`" -#: ../../whatsnew/3.10.rst:1738 +#: ../../whatsnew/3.10.rst:1749 msgid "(Contributed by Jelle Zijlstra in :gh:`87889`.)" msgstr "(Contribuição de Jelle Zijlstra em :gh:`87889`.)" -#: ../../whatsnew/3.10.rst:1740 +#: ../../whatsnew/3.10.rst:1751 msgid "" ":meth:`pathlib.Path.link_to` is deprecated and slated for removal in Python " "3.12. Use :meth:`pathlib.Path.hardlink_to` instead. (Contributed by Barney " @@ -2959,7 +3005,7 @@ msgstr "" "Python 3.12. Use :meth:`pathlib.Path.hardlink_to` em vez disso. " "(Contribuição de Barney Gale em :issue:`39950`.)" -#: ../../whatsnew/3.10.rst:1744 +#: ../../whatsnew/3.10.rst:1755 msgid "" "``cgi.log()`` is deprecated and slated for removal in Python 3.12. " "(Contributed by Inada Naoki in :issue:`41139`.)" @@ -2967,7 +3013,7 @@ msgstr "" "``cgi.log()`` foi descontinuado e programado para remoção no Python 3.12. " "(Contribuição de Inada Naoki em :issue:`41139`.)" -#: ../../whatsnew/3.10.rst:1747 +#: ../../whatsnew/3.10.rst:1758 msgid "" "The following :mod:`ssl` features have been deprecated since Python 3.6, " "Python 3.7, or OpenSSL 1.1.0 and will be removed in 3.11:" @@ -2975,56 +3021,52 @@ msgstr "" "Os recurso a seguir do :mod:`ssl` foram descontinuados desde o Python 3.6, " "Python 3.7 ou OpenSSL 1.1.0, e serão removidos no 3.11:" -#: ../../whatsnew/3.10.rst:1750 +#: ../../whatsnew/3.10.rst:1761 msgid "" -":data:`~ssl.OP_NO_SSLv2`, :data:`~ssl.OP_NO_SSLv3`, :data:`~ssl." -"OP_NO_TLSv1`, :data:`~ssl.OP_NO_TLSv1_1`, :data:`~ssl.OP_NO_TLSv1_2`, and :" -"data:`~ssl.OP_NO_TLSv1_3` are replaced by :attr:`sslSSLContext." -"minimum_version` and :attr:`sslSSLContext.maximum_version`." +":data:`~ssl.OP_NO_SSLv2`, :data:`~ssl.OP_NO_SSLv3`, :data:`~ssl.OP_NO_TLSv1`, :data:`~ssl.OP_NO_TLSv1_1`, :data:`~ssl.OP_NO_TLSv1_2`, " +"and :data:`~ssl.OP_NO_TLSv1_3` are replaced " +"by :attr:`sslSSLContext.minimum_version` " +"and :attr:`sslSSLContext.maximum_version`." msgstr "" -":data:`~ssl.OP_NO_SSLv2`, :data:`~ssl.OP_NO_SSLv3`, :data:`~ssl." -"OP_NO_TLSv1`, :data:`~ssl.OP_NO_TLSv1_1`, :data:`~ssl.OP_NO_TLSv1_2` e :data:" -"`~ssl.OP_NO_TLSv1_3` foram substituídos por :attr:`sslSSLContext." -"minimum_version` e :attr:`sslSSLContext.maximum_version`." +":data:`~ssl.OP_NO_SSLv2`, :data:`~ssl.OP_NO_SSLv3`, :data:`~ssl.OP_NO_TLSv1`, :data:`~ssl.OP_NO_TLSv1_1`, :data:`~ssl.OP_NO_TLSv1_2` " +"e :data:`~ssl.OP_NO_TLSv1_3` foram substituídos " +"por :attr:`sslSSLContext.minimum_version` " +"e :attr:`sslSSLContext.maximum_version`." -#: ../../whatsnew/3.10.rst:1756 +#: ../../whatsnew/3.10.rst:1767 msgid "" -":data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`, :data:`~ssl." -"PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`, :data:`~ssl." -"PROTOCOL_TLSv1_1`, :data:`~ssl.PROTOCOL_TLSv1_2`, and :data:`~ssl." -"PROTOCOL_TLS` are deprecated in favor of :data:`~ssl.PROTOCOL_TLS_CLIENT` " -"and :data:`~ssl.PROTOCOL_TLS_SERVER`" +":data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`, :data:`~ssl.PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`, :data:`~ssl.PROTOCOL_TLSv1_1`, :data:`~ssl.PROTOCOL_TLSv1_2`, " +"and :const:`~ssl.PROTOCOL_TLS` are deprecated in favor " +"of :const:`~ssl.PROTOCOL_TLS_CLIENT` and :const:`~ssl.PROTOCOL_TLS_SERVER`" msgstr "" -":data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`, :data:`~ssl." -"PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`, :data:`~ssl." -"PROTOCOL_TLSv1_1`, :data:`~ssl.PROTOCOL_TLSv1_2` e :data:`~ssl.PROTOCOL_TLS` " -"foram descontinuados em favor de :data:`~ssl.PROTOCOL_TLS_CLIENT` e :data:" -"`~ssl.PROTOCOL_TLS_SERVER`" +":data:`~ssl.PROTOCOL_SSLv2`, :data:`~ssl.PROTOCOL_SSLv3`, :data:`~ssl.PROTOCOL_SSLv23`, :data:`~ssl.PROTOCOL_TLSv1`, :data:`~ssl.PROTOCOL_TLSv1_1`, :data:`~ssl.PROTOCOL_TLSv1_2` " +"e :const:`~ssl.PROTOCOL_TLS` foram descontinuados em favor " +"de :const:`~ssl.PROTOCOL_TLS_CLIENT` e :const:`~ssl.PROTOCOL_TLS_SERVER`" -#: ../../whatsnew/3.10.rst:1762 +#: ../../whatsnew/3.10.rst:1773 msgid "" ":func:`~ssl.wrap_socket` is replaced by :meth:`ssl.SSLContext.wrap_socket`" msgstr "" -":func:`~ssl.wrap_socket` foi substituída por :meth:`ssl.SSLContext." -"wrap_socket`" +":func:`~ssl.wrap_socket` foi substituída " +"por :meth:`ssl.SSLContext.wrap_socket`" -#: ../../whatsnew/3.10.rst:1764 +#: ../../whatsnew/3.10.rst:1775 msgid ":func:`~ssl.match_hostname`" msgstr ":func:`~ssl.match_hostname`" -#: ../../whatsnew/3.10.rst:1766 +#: ../../whatsnew/3.10.rst:1777 msgid ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`" msgstr ":func:`~ssl.RAND_pseudo_bytes`, :func:`~ssl.RAND_egd`" -#: ../../whatsnew/3.10.rst:1768 +#: ../../whatsnew/3.10.rst:1779 msgid "" -"NPN features like :meth:`ssl.SSLSocket.selected_npn_protocol` and :meth:`ssl." -"SSLContext.set_npn_protocols` are replaced by ALPN." +"NPN features like :meth:`ssl.SSLSocket.selected_npn_protocol` " +"and :meth:`ssl.SSLContext.set_npn_protocols` are replaced by ALPN." msgstr "" -"Recurso de NPN como :meth:`ssl.SSLSocket.selected_npn_protocol` e :meth:`ssl." -"SSLContext.set_npn_protocols` foram substituídos por ALPN." +"Recurso de NPN como :meth:`ssl.SSLSocket.selected_npn_protocol` " +"e :meth:`ssl.SSLContext.set_npn_protocols` foram substituídos por ALPN." -#: ../../whatsnew/3.10.rst:1771 +#: ../../whatsnew/3.10.rst:1782 msgid "" "The threading debug (:envvar:`PYTHONTHREADDEBUG` environment variable) is " "deprecated in Python 3.10 and will be removed in Python 3.12. This feature " @@ -3036,63 +3078,63 @@ msgstr "" "recurso exige uma :ref:`construção de depuração de Python `. " "(Contribuição de Victor Stinner em :issue:`44584`.)" -#: ../../whatsnew/3.10.rst:1776 +#: ../../whatsnew/3.10.rst:1787 msgid "" -"Importing from the ``typing.io`` and ``typing.re`` submodules will now emit :" -"exc:`DeprecationWarning`. These submodules will be removed in a future " -"version of Python. Anything belonging to these submodules should be " +"Importing from the ``typing.io`` and ``typing.re`` submodules will now " +"emit :exc:`DeprecationWarning`. These submodules will be removed in a " +"future version of Python. Anything belonging to these submodules should be " "imported directly from :mod:`typing` instead. (Contributed by Sebastian " "Rittau in :issue:`38291`.)" msgstr "" -"A importação dos submódulos ``typing.io`` e ``typing.re`` agora emitirá :exc:" -"`DeprecationWarning`. Esses submódulos serão removidos em uma versão futura " -"do Python. Qualquer coisa pertencente a esses submódulos deve ser importada " -"diretamente de :mod:`typing`. (Contribuição de Sebastian Rittau em :issue:" -"`38291`.)" +"A importação dos submódulos ``typing.io`` e ``typing.re`` agora " +"emitirá :exc:`DeprecationWarning`. Esses submódulos serão removidos em uma " +"versão futura do Python. Qualquer coisa pertencente a esses submódulos deve " +"ser importada diretamente de :mod:`typing`. (Contribuição de Sebastian " +"Rittau em :issue:`38291`.)" -#: ../../whatsnew/3.10.rst:1785 ../../whatsnew/3.10.rst:2208 +#: ../../whatsnew/3.10.rst:1796 ../../whatsnew/3.10.rst:2219 msgid "Removed" msgstr "Removidos" -#: ../../whatsnew/3.10.rst:1787 +#: ../../whatsnew/3.10.rst:1798 msgid "" "Removed special methods ``__int__``, ``__float__``, ``__floordiv__``, " "``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and " -"``__rdivmod__`` of the :class:`complex` class. They always raised a :exc:" -"`TypeError`. (Contributed by Serhiy Storchaka in :issue:`41974`.)" +"``__rdivmod__`` of the :class:`complex` class. They always raised " +"a :exc:`TypeError`. (Contributed by Serhiy Storchaka in :issue:`41974`.)" msgstr "" "Removidos os métodos especiais ``__int__``, ``__float__``, ``__floordiv__``, " "``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` e " "``__rdivmod__`` da classe :class:`complex`. Eles sempre levantavam uma " -"exceção :exc:`TypeError`. (Contribuição de Serhiy Storchaka em :issue:" -"`41974`.)" +"exceção :exc:`TypeError`. (Contribuição de Serhiy Storchaka " +"em :issue:`41974`.)" -#: ../../whatsnew/3.10.rst:1793 +#: ../../whatsnew/3.10.rst:1804 msgid "" "The ``ParserBase.error()`` method from the private and undocumented " "``_markupbase`` module has been removed. :class:`html.parser.HTMLParser` is " "the only subclass of ``ParserBase`` and its ``error()`` implementation was " -"already removed in Python 3.5. (Contributed by Berker Peksag in :issue:" -"`31844`.)" +"already removed in Python 3.5. (Contributed by Berker Peksag " +"in :issue:`31844`.)" msgstr "" "O método ``ParserBase.error()`` do módulo privado e não documentado " "``_markupbase`` foi removido. :class:`html.parser.HTMLParser` é a única " "subclasse de ``ParserBase`` e sua implementação de ``error()`` já tinha sido " "removida no Python 3.5. (Contribuição de Berker Peksag em :issue:`31844`.)" -#: ../../whatsnew/3.10.rst:1799 +#: ../../whatsnew/3.10.rst:1810 msgid "" "Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an internal " "PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` structure was " -"moved to the internal C API. (Contributed by Victor Stinner in :issue:" -"`42157`.)" +"moved to the internal C API. (Contributed by Victor Stinner " +"in :issue:`42157`.)" msgstr "" "Removido o atributo ``unicodedata.ucnhash_CAPI`` que foi um objeto interno " "PyCapsule. A estrutura privada relacionada ``_PyUnicode_Name_CAPI`` foi " -"movida para uma API C interna. (Contribuição de Victor Stinner em :issue:" -"`42157`.)" +"movida para uma API C interna. (Contribuição de Victor Stinner " +"em :issue:`42157`.)" -#: ../../whatsnew/3.10.rst:1804 +#: ../../whatsnew/3.10.rst:1815 msgid "" "Removed the ``parser`` module, which was deprecated in 3.9 due to the switch " "to the new PEG parser, as well as all the C source and header files that " @@ -3105,7 +3147,7 @@ msgstr "" "sintático antigo, incluindo ``node.h``, ``parser.h``, ``graminit.h`` e " "``grammar.h``." -#: ../../whatsnew/3.10.rst:1809 +#: ../../whatsnew/3.10.rst:1820 msgid "" "Removed the Public C API functions ``PyParser_SimpleParseStringFlags``, " "``PyParser_SimpleParseStringFlagsFilename``, " @@ -3118,14 +3160,13 @@ msgstr "" "descontinuadas no 3.9 em razão da mudança para o novo analisador sintático " "GASE." -#: ../../whatsnew/3.10.rst:1814 +#: ../../whatsnew/3.10.rst:1825 msgid "" "Removed the ``formatter`` module, which was deprecated in Python 3.4. It is " "somewhat obsolete, little used, and not tested. It was originally scheduled " "to be removed in Python 3.6, but such removals were delayed until after " "Python 2.7 EOL. Existing users should copy whatever classes they use into " -"their code. (Contributed by Dong-hee Na and Terry J. Reedy in :issue:" -"`42299`.)" +"their code. (Contributed by Donghee Na and Terry J. Reedy in :issue:`42299`.)" msgstr "" "Removido o módulo ``formatter``, que foi descontinuado no Python 3.4. É um " "tanto obsoleto, pouco usado e não testado. Ele foi originalmente programado " @@ -3134,41 +3175,41 @@ msgstr "" "classes que usam em seu código. (Contribuição de Dong-hee Na e Terry J. " "Reedy em :issue:`42299`.)" -#: ../../whatsnew/3.10.rst:1821 +#: ../../whatsnew/3.10.rst:1832 msgid "" -"Removed the :c:func:`PyModule_GetWarningsModule` function that was useless " -"now due to the _warnings module was converted to a builtin module in 2.6. " -"(Contributed by Hai Shi in :issue:`42599`.)" +"Removed the :c:func:`!PyModule_GetWarningsModule` function that was useless " +"now due to the :mod:`!_warnings` module was converted to a builtin module in " +"2.6. (Contributed by Hai Shi in :issue:`42599`.)" msgstr "" -"Removida a função :c:func:`PyModule_GetWarningsModule` que era inútil agora " -"em razão do módulo _warnings ser convertido a um módulo embutido no 2.6. " -"(Contribuição de Hai Shi em :issue:`42599`.)" +"Removida a função :c:func:`!PyModule_GetWarningsModule` que era inútil agora " +"porque o módulo :mod:`!_warnings` foi convertido em um módulo embutido no " +"2.6. (Contribuição de Hai Shi em :issue:`42599`.)" -#: ../../whatsnew/3.10.rst:1825 +#: ../../whatsnew/3.10.rst:1836 msgid "" "Remove deprecated aliases to :ref:`collections-abstract-base-classes` from " -"the :mod:`collections` module. (Contributed by Victor Stinner in :issue:" -"`37324`.)" +"the :mod:`collections` module. (Contributed by Victor Stinner " +"in :issue:`37324`.)" msgstr "" "Remove apelidos descontinuados para :ref:`collections-abstract-base-classes` " -"do módulo :mod:`collections`. (Contribuição de Victor Stinner em :issue:" -"`37324`.)" +"do módulo :mod:`collections`. (Contribuição de Victor Stinner " +"em :issue:`37324`.)" -#: ../../whatsnew/3.10.rst:1829 +#: ../../whatsnew/3.10.rst:1840 msgid "" -"The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :" -"doc:`high-level API <../library/asyncio-api-index>` following deprecation in " -"Python 3.8. The motivation behind this change is multifold:" +"The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ " +"'s :doc:`high-level API <../library/asyncio-api-index>` following " +"deprecation in Python 3.8. The motivation behind this change is multifold:" msgstr "" "O parâmetro ``loop`` foi removido da maioria da :doc:`API de alto nível <../" "library/asyncio-api-index>` do :mod:`asyncio` seguindo a descontinuidade no " "Python 3.8. A motivação por trás desta alteração é multifacetada:" -#: ../../whatsnew/3.10.rst:1833 +#: ../../whatsnew/3.10.rst:1844 msgid "This simplifies the high-level API." msgstr "Isso simplifica a API de alto nível." -#: ../../whatsnew/3.10.rst:1834 +#: ../../whatsnew/3.10.rst:1845 msgid "" "The functions in the high-level API have been implicitly getting the current " "thread's running event loop since Python 3.7. There isn't a need to pass " @@ -3178,7 +3219,7 @@ msgstr "" "execução do thread atual desde o Python 3.7. Não há necessidade de passar o " "laço de eventos para a API na maioria dos casos de uso normais." -#: ../../whatsnew/3.10.rst:1837 +#: ../../whatsnew/3.10.rst:1848 msgid "" "Event loop passing is error-prone especially when dealing with loops running " "in different threads." @@ -3186,7 +3227,7 @@ msgstr "" "A passagem de laço de eventos está sujeita a erros, especialmente ao lidar " "com laços em execução em diferentes threads." -#: ../../whatsnew/3.10.rst:1840 +#: ../../whatsnew/3.10.rst:1851 msgid "" "Note that the low-level API will still accept ``loop``. See :ref:`changes-" "python-api` for examples of how to replace existing code." @@ -3194,7 +3235,7 @@ msgstr "" "Observe que a API de baixo nível ainda aceitará ``loop``. Veja :ref:`changes-" "python-api` para exemplos de como substituir o código existente." -#: ../../whatsnew/3.10.rst:1843 ../../whatsnew/3.10.rst:1915 +#: ../../whatsnew/3.10.rst:1854 ../../whatsnew/3.10.rst:1926 msgid "" "(Contributed by Yurii Karabas, Andrew Svetlov, Yury Selivanov and Kyle " "Stanley in :issue:`42392`.)" @@ -3202,11 +3243,11 @@ msgstr "" "(Contribuição de Yurii Karabas, Andrew Svetlov, Yury Selivanov e Kyle " "Stanley em :issue:`42392`.)" -#: ../../whatsnew/3.10.rst:1848 ../../whatsnew/3.10.rst:2135 +#: ../../whatsnew/3.10.rst:1859 ../../whatsnew/3.10.rst:2146 msgid "Porting to Python 3.10" msgstr "Portando para Python 3.10" -#: ../../whatsnew/3.10.rst:1850 +#: ../../whatsnew/3.10.rst:1861 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -3214,11 +3255,11 @@ msgstr "" "Esta seção lista as alterações descritas anteriormente e outras correções " "que podem exigir alterações no seu código." -#: ../../whatsnew/3.10.rst:1855 +#: ../../whatsnew/3.10.rst:1866 msgid "Changes in the Python syntax" msgstr "Alterações na sintaxe Python" -#: ../../whatsnew/3.10.rst:1857 +#: ../../whatsnew/3.10.rst:1868 msgid "" "Deprecation warning is now emitted when compiling previously valid syntax if " "the numeric literal is immediately followed by a keyword (like in ``0in " @@ -3235,36 +3276,38 @@ msgstr "" "um espaço entre o literal numérico e a palavra reservada seguinte. " "(Contribuição de Serhiy Storchaka em :issue:`43833`.)" -#: ../../whatsnew/3.10.rst:1868 +#: ../../whatsnew/3.10.rst:1879 msgid "Changes in the Python API" msgstr "Alterações na API Python" -#: ../../whatsnew/3.10.rst:1870 +#: ../../whatsnew/3.10.rst:1881 msgid "" -"The *etype* parameters of the :func:`~traceback.format_exception`, :func:" -"`~traceback.format_exception_only`, and :func:`~traceback.print_exception` " -"functions in the :mod:`traceback` module have been renamed to *exc*. " -"(Contributed by Zackery Spytz and Matthias Bussonnier in :issue:`26389`.)" +"The *etype* parameters of " +"the :func:`~traceback.format_exception`, :func:`~traceback.format_exception_only`, " +"and :func:`~traceback.print_exception` functions in the :mod:`traceback` " +"module have been renamed to *exc*. (Contributed by Zackery Spytz and " +"Matthias Bussonnier in :issue:`26389`.)" msgstr "" -"Os parâmetros *etype* das funções :func:`~traceback.format_exception`, :func:" -"`~traceback.format_exception_only` e :func:`~traceback.print_exception` no " -"módulo :mod:`traceback` foram renomeadas para *exc*. (Contribuição de " -"Zackery Spytz e Matthias Bussonnier em :issue:`26389`.)" +"Os parâmetros *etype* das " +"funções :func:`~traceback.format_exception`, :func:`~traceback.format_exception_only` " +"e :func:`~traceback.print_exception` no módulo :mod:`traceback` foram " +"renomeadas para *exc*. (Contribuição de Zackery Spytz e Matthias Bussonnier " +"em :issue:`26389`.)" -#: ../../whatsnew/3.10.rst:1876 +#: ../../whatsnew/3.10.rst:1887 msgid "" -":mod:`atexit`: At Python exit, if a callback registered with :func:`atexit." -"register` fails, its exception is now logged. Previously, only some " -"exceptions were logged, and the last exception was always silently ignored. " -"(Contributed by Victor Stinner in :issue:`42639`.)" +":mod:`atexit`: At Python exit, if a callback registered " +"with :func:`atexit.register` fails, its exception is now logged. Previously, " +"only some exceptions were logged, and the last exception was always silently " +"ignored. (Contributed by Victor Stinner in :issue:`42639`.)" msgstr "" -":mod:`atexit`: Ao sair do Python, se uma função de retorno registrada com :" -"func:`atexit.register` falhar, sua exceção agora é registrada nos logs. " +":mod:`atexit`: ao sair do Python, se uma função de retorno registrada " +"com :func:`atexit.register` falhar, sua exceção agora é registrada nos logs. " "Anteriormente, apenas algumas exceções eram registradas nos logs e a última " "exceção era sempre ignorada silenciosamente. (Contribuição de Victor Stinner " "em :issue:`42639`.)" -#: ../../whatsnew/3.10.rst:1882 +#: ../../whatsnew/3.10.rst:1893 msgid "" ":class:`collections.abc.Callable` generic now flattens type parameters, " "similar to what :data:`typing.Callable` currently does. This means that " @@ -3273,50 +3316,50 @@ msgid "" "accesses the arguments via :func:`typing.get_args` or ``__args__`` need to " "account for this change. Furthermore, :exc:`TypeError` may be raised for " "invalid forms of parameterizing :class:`collections.abc.Callable` which may " -"have passed silently in Python 3.9. (Contributed by Ken Jin in :issue:" -"`42195`.)" +"have passed silently in Python 3.9. (Contributed by Ken Jin " +"in :issue:`42195`.)" msgstr "" -"A classe genérica :class:`Collections.abc.Callable` agora nivela os " +"A classe genérica :class:`collections.abc.Callable` agora nivela os " "parâmetros de tipo, similar ao que :data:`typing.Callable` faz atualmente. " "Isso significa que ``collections.abc.Callable[[int, str], str]`` terá " "``__args__`` de ``(int, str, str)``; anteriormente era ``([int, str], " "str)``. O código que acessa os argumentos via :func:`typing.get_args` ou " -"``__args__`` precisa levar em conta esta mudança. Além disso, :exc:" -"`TypeError` pode ser levantada para formas inválidas de parametrização :" -"class:`Collections.abc.Callable` que pode ter passada silenciosamente no " -"Python 3.9. (Contribuição de Ken Jin em :issue:`42195`.)" +"``__args__`` precisa levar em conta esta mudança. Além " +"disso, :exc:`TypeError` pode ser levantada para formas inválidas de " +"parametrização :class:`collections.abc.Callable` que pode ter passada " +"silenciosamente no Python 3.9. (Contribuição de Ken Jin em :issue:`42195`.)" -#: ../../whatsnew/3.10.rst:1892 +#: ../../whatsnew/3.10.rst:1903 msgid "" ":meth:`socket.htons` and :meth:`socket.ntohs` now raise :exc:`OverflowError` " "instead of :exc:`DeprecationWarning` if the given parameter will not fit in " -"a 16-bit unsigned integer. (Contributed by Erlend E. Aasland in :issue:" -"`42393`.)" +"a 16-bit unsigned integer. (Contributed by Erlend E. Aasland " +"in :issue:`42393`.)" msgstr "" -":meth:`socket.htons` e :meth:`socket.ntohs` agora levantam :exc:" -"`OverflowError` em vez de :exc:`DeprecationWarning` se o parâmetro dado não " -"couber em um inteiro sem sinal de 16 bits. (Contribuição de Erlend E. " -"Aasland em :issue:`42393`.)" +":meth:`socket.htons` e :meth:`socket.ntohs` agora " +"levantam :exc:`OverflowError` em vez de :exc:`DeprecationWarning` se o " +"parâmetro dado não couber em um inteiro sem sinal de 16 bits. (Contribuição " +"de Erlend E. Aasland em :issue:`42393`.)" -#: ../../whatsnew/3.10.rst:1897 +#: ../../whatsnew/3.10.rst:1908 msgid "" -"The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ 's :" -"doc:`high-level API <../library/asyncio-api-index>` following deprecation in " -"Python 3.8." +"The ``loop`` parameter has been removed from most of :mod:`asyncio`\\ " +"'s :doc:`high-level API <../library/asyncio-api-index>` following " +"deprecation in Python 3.8." msgstr "" "O parâmetro ``loop`` foi removido da maioria da :doc:`API de alto nível <../" "library/asyncio-api-index>` do :mod:`asyncio` seguindo a descontinuidade no " "Python 3.8." -#: ../../whatsnew/3.10.rst:1901 +#: ../../whatsnew/3.10.rst:1912 msgid "A coroutine that currently looks like this::" msgstr "A corrotina que atualmente se parece com isso::" -#: ../../whatsnew/3.10.rst:1906 +#: ../../whatsnew/3.10.rst:1917 msgid "Should be replaced with this::" msgstr "Deve ser substituída por isso::" -#: ../../whatsnew/3.10.rst:1911 +#: ../../whatsnew/3.10.rst:1922 msgid "" "If ``foo()`` was specifically designed *not* to run in the current thread's " "running event loop (e.g. running in another thread's event loop), consider " @@ -3324,18 +3367,18 @@ msgid "" msgstr "" "Se ``foo()`` for especificamente projetado para *não* executar no laço de " "eventos em execução da thread atual (por exemplo, executar no laço de " -"eventos de outra thread), considere usar :func:`asyncio." -"run_coroutine_threadsafe`." +"eventos de outra thread), considere " +"usar :func:`asyncio.run_coroutine_threadsafe`." -#: ../../whatsnew/3.10.rst:1918 +#: ../../whatsnew/3.10.rst:1929 msgid "" "The :data:`types.FunctionType` constructor now inherits the current builtins " "if the *globals* dictionary has no ``\"__builtins__\"`` key, rather than " -"using ``{\"None\": None}`` as builtins: same behavior as :func:`eval` and :" -"func:`exec` functions. Defining a function with ``def function(...): ...`` " -"in Python is not affected, globals cannot be overridden with this syntax: it " -"also inherits the current builtins. (Contributed by Victor Stinner in :issue:" -"`42990`.)" +"using ``{\"None\": None}`` as builtins: same behavior as :func:`eval` " +"and :func:`exec` functions. Defining a function with ``def " +"function(...): ...`` in Python is not affected, globals cannot be overridden " +"with this syntax: it also inherits the current builtins. (Contributed by " +"Victor Stinner in :issue:`42990`.)" msgstr "" "O construtor :data:`types.FunctionType` agora herda os embutidos atuais se o " "dicionário *globals* tiver nenhuma chave ``\"__builtins__\"``, em vez de " @@ -3345,11 +3388,11 @@ msgstr "" "substituídos com esta sintaxe: também herda os embutidos atuais. " "(Contribuição de Victor Stinner em :issue:`42990`.)" -#: ../../whatsnew/3.10.rst:1927 +#: ../../whatsnew/3.10.rst:1938 msgid "Changes in the C API" msgstr "Alterações na API C" -#: ../../whatsnew/3.10.rst:1929 +#: ../../whatsnew/3.10.rst:1940 msgid "" "The C API functions ``PyParser_SimpleParseStringFlags``, " "``PyParser_SimpleParseStringFlagsFilename``, " @@ -3363,30 +3406,29 @@ msgstr "" "essas funções, ``struct _node``, foram removidos em razão da mudança para o " "novo analisador sintático GASE." -#: ../../whatsnew/3.10.rst:1935 +#: ../../whatsnew/3.10.rst:1946 msgid "" "Source should be now be compiled directly to a code object using, for " "example, :c:func:`Py_CompileString`. The resulting code object can then be " "evaluated using, for example, :c:func:`PyEval_EvalCode`." msgstr "" -"O código-fonte deveria agora ser compilado diretamente para um objeto código " +"O código-fonte deve ser agora compilado diretamente para um objeto código " "usando, por exemplo, :c:func:`Py_CompileString`. O objeto código resultante " "pode ser então avaliado usando, por exemplo, :c:func:`PyEval_EvalCode`." -#: ../../whatsnew/3.10.rst:1939 +#: ../../whatsnew/3.10.rst:1950 msgid "Specifically:" msgstr "Especificamente:" -#: ../../whatsnew/3.10.rst:1941 +#: ../../whatsnew/3.10.rst:1952 msgid "" "A call to ``PyParser_SimpleParseStringFlags`` followed by ``PyNode_Compile`` " "can be replaced by calling :c:func:`Py_CompileString`." msgstr "" "Uma chamada para ``PyParser_SimpleParseStringFlags`` seguida por " -"``PyNode_Compile`` pode ser substituída por chamar :c:func:" -"`Py_CompileString`." +"``PyNode_Compile`` pode ser substituída por :c:func:`Py_CompileString`." -#: ../../whatsnew/3.10.rst:1944 +#: ../../whatsnew/3.10.rst:1955 msgid "" "There is no direct replacement for ``PyParser_SimpleParseFileFlags``. To " "compile code from a ``FILE *`` argument, you will need to read the file in C " @@ -3396,43 +3438,45 @@ msgstr "" "compilar código de um argumento ``FILE *``, você vai precisar ler o arquivo " "em C e passar o buffer resultante para :c:func:`Py_CompileString`." -#: ../../whatsnew/3.10.rst:1948 +#: ../../whatsnew/3.10.rst:1959 msgid "" "To compile a file given a ``char *`` filename, explicitly open the file, " "read it and compile the result. One way to do this is using the :py:mod:`io` " -"module with :c:func:`PyImport_ImportModule`, :c:func:`PyObject_CallMethod`, :" -"c:func:`PyBytes_AsString` and :c:func:`Py_CompileString`, as sketched below. " -"(Declarations and error handling are omitted.) ::" +"module " +"with :c:func:`PyImport_ImportModule`, :c:func:`PyObject_CallMethod`, :c:func:`PyBytes_AsString` " +"and :c:func:`Py_CompileString`, as sketched below. (Declarations and error " +"handling are omitted.) ::" msgstr "" "Para compilar um arquivo de um nome de arquivo ``char *`` dado, abra " "explicitamente o arquivo, leia-o e compile o resultado. Uma forma de fazer " -"isso é usando o módulo :py:mod:`io` com :c:func:`PyImport_ImportModule`, :c:" -"func:`PyObject_CallMethod`, :c:func:`PyBytes_AsString` e :c:func:" -"`Py_CompileString`, como esboçado abaixo. (Declarações e tratamento de erro " -"foram omitidos.) ::" - -#: ../../whatsnew/3.10.rst:1961 -msgid "" -"For ``FrameObject`` objects, the ``f_lasti`` member now represents a " -"wordcode offset instead of a simple offset into the bytecode string. This " -"means that this number needs to be multiplied by 2 to be used with APIs that " -"expect a byte offset instead (like :c:func:`PyCode_Addr2Line` for example). " -"Notice as well that the ``f_lasti`` member of ``FrameObject`` objects is not " -"considered stable: please use :c:func:`PyFrame_GetLineNumber` instead." -msgstr "" -"Para objetos ``FrameObject``, o membro ``f_lasti`` agora representa um " -"deslocamento de código de palavra em vez de um deslocamento simples na " -"string de bytecode. Isso significa que esse número precisa ser multiplicado " -"por 2 para ser usado com APIs que esperam um deslocamento de byte (como :c:" -"func:`PyCode_Addr2Line`, por exemplo). Observe também que o membro " -"``f_lasti`` de objetos ``FrameObject`` não é considerado estável: por favor, " -"use :c:func:`PyFrame_GetLineNumber` em vez disso." - -#: ../../whatsnew/3.10.rst:1969 +"isso é usando o módulo :py:mod:`io` " +"com :c:func:`PyImport_ImportModule`, :c:func:`PyObject_CallMethod`, :c:func:`PyBytes_AsString` " +"e :c:func:`Py_CompileString`, como esboçado abaixo. (Declarações e " +"tratamento de erro foram omitidos.) ::" + +#: ../../whatsnew/3.10.rst:1972 +msgid "" +"For ``FrameObject`` objects, the :attr:`~frame.f_lasti` member now " +"represents a wordcode offset instead of a simple offset into the bytecode " +"string. This means that this number needs to be multiplied by 2 to be used " +"with APIs that expect a byte offset instead (like :c:func:`PyCode_Addr2Line` " +"for example). Notice as well that the :attr:`!f_lasti` member of " +"``FrameObject`` objects is not considered stable: please " +"use :c:func:`PyFrame_GetLineNumber` instead." +msgstr "" +"Para objetos ``FrameObject``, o membro :attr:`~frame.f_lasti` agora " +"representa um deslocamento de código de palavra em vez de um deslocamento " +"simples na string de bytecode. Isso significa que esse número precisa ser " +"multiplicado por 2 para ser usado com APIs que esperam um deslocamento de " +"byte (como :c:func:`PyCode_Addr2Line`, por exemplo). Observe também que o " +"membro :attr:`!f_lasti` de objetos ``FrameObject`` não é considerado " +"estável: por favor, use :c:func:`PyFrame_GetLineNumber` em vez disso." + +#: ../../whatsnew/3.10.rst:1980 msgid "CPython bytecode changes" msgstr "Alterações de bytecode do CPython" -#: ../../whatsnew/3.10.rst:1971 +#: ../../whatsnew/3.10.rst:1982 msgid "" "The ``MAKE_FUNCTION`` instruction now accepts either a dict or a tuple of " "strings as the function's annotations. (Contributed by Yurii Karabas and " @@ -3442,11 +3486,11 @@ msgstr "" "strings como as anotações da função. (Contribuição de Yurii Karabas e Inada " "Naoki em :issue:`42202`.)" -#: ../../whatsnew/3.10.rst:1976 +#: ../../whatsnew/3.10.rst:1987 msgid "Build Changes" -msgstr "Alterações de compilação" +msgstr "Mudanças na construção" -#: ../../whatsnew/3.10.rst:1978 +#: ../../whatsnew/3.10.rst:1989 msgid "" ":pep:`644`: Python now requires OpenSSL 1.1.1 or newer. OpenSSL 1.0.2 is no " "longer supported. (Contributed by Christian Heimes in :issue:`43669`.)" @@ -3454,7 +3498,7 @@ msgstr "" ":pep:`644`: Python agora exige OpenSSL 1.1.1 ou mais novo. OpenSSL 1.0.2 não " "é mais suportado. (Contribuição de Christian Heimes em :issue:`43669`.)" -#: ../../whatsnew/3.10.rst:1982 +#: ../../whatsnew/3.10.rst:1993 msgid "" "The C99 functions :c:func:`snprintf` and :c:func:`vsnprintf` are now " "required to build Python. (Contributed by Victor Stinner in :issue:`36020`.)" @@ -3462,7 +3506,7 @@ msgstr "" "As funções C99 :c:func:`snprintf` e :c:func:`vsnprintf` agora são exigidas " "para compilar o Python. (Contribuição de Victor Stinner em :issue:`36020`.)" -#: ../../whatsnew/3.10.rst:1986 +#: ../../whatsnew/3.10.rst:1997 msgid "" ":mod:`sqlite3` requires SQLite 3.7.15 or higher. (Contributed by Sergey " "Fedoseev and Erlend E. Aasland in :issue:`40744` and :issue:`40810`.)" @@ -3470,7 +3514,7 @@ msgstr "" ":mod:`sqlite3` exige SQLite 3.7.15 ou superior. (Contribuição de Sergey " "Fedoseev e Erlend E. Aasland em :issue:`40744` e :issue:`40810`.)" -#: ../../whatsnew/3.10.rst:1989 +#: ../../whatsnew/3.10.rst:2000 msgid "" "The :mod:`atexit` module must now always be built as a built-in module. " "(Contributed by Victor Stinner in :issue:`42639`.)" @@ -3478,7 +3522,7 @@ msgstr "" "O módulo :mod:`atexit` deve agora sempre ser construído como um módulo " "embutido. (Contribuição de Victor Stinner em :issue:`42639`.)" -#: ../../whatsnew/3.10.rst:1992 +#: ../../whatsnew/3.10.rst:2003 msgid "" "Add :option:`--disable-test-modules` option to the ``configure`` script: " "don't build nor install test modules. (Contributed by Xavier de Gaye, Thomas " @@ -3488,7 +3532,7 @@ msgstr "" "não constrói nem instala módulos de teste. (Contribuição de Xavier de Gaye, " "Thomas Petazzoni e Peixing Xin em :issue:`27640`.)" -#: ../../whatsnew/3.10.rst:1996 +#: ../../whatsnew/3.10.rst:2007 msgid "" "Add :option:`--with-wheel-pkg-dir=PATH option <--with-wheel-pkg-dir>` to the " "``./configure`` script. If specified, the :mod:`ensurepip` module looks for " @@ -3502,23 +3546,23 @@ msgstr "" "ambos estiverem presentes, esses pacotes wheel são usados em vez de pacotes " "wheel empacotados por ensurepip." -#: ../../whatsnew/3.10.rst:2002 +#: ../../whatsnew/3.10.rst:2013 msgid "" "Some Linux distribution packaging policies recommend against bundling " "dependencies. For example, Fedora installs wheel packages in the ``/usr/" -"share/python-wheels/`` directory and don't install the ``ensurepip." -"_bundled`` package." +"share/python-wheels/`` directory and don't install the " +"``ensurepip._bundled`` package." msgstr "" "Algumas distribuições Linux possuem políticas de empacotamento recomendando " "evitar o empacotamento de dependências. Por exemplo, Fedora instala pacotes " "wheel no diretório ``/usr/share/python-wheels/`` e não instala o pacote " "``ensurepip._bundled``." -#: ../../whatsnew/3.10.rst:2007 +#: ../../whatsnew/3.10.rst:2018 msgid "(Contributed by Victor Stinner in :issue:`42856`.)" msgstr "(Contribuição de Victor Stinner em :issue:`42856`.)" -#: ../../whatsnew/3.10.rst:2009 +#: ../../whatsnew/3.10.rst:2020 msgid "" "Add a new :option:`configure --without-static-libpython option <--without-" "static-libpython>` to not build the ``libpythonMAJOR.MINOR.a`` static " @@ -3528,11 +3572,11 @@ msgstr "" "without-static-libpython>` para não construir biblioteca estática " "``libpythonMAJOR.MINOR.a`` e não instala o arquivo objeto ``python.o``." -#: ../../whatsnew/3.10.rst:2013 +#: ../../whatsnew/3.10.rst:2024 msgid "(Contributed by Victor Stinner in :issue:`43103`.)" msgstr "(Contribuição de Victor Stinner em :issue:`43103`.)" -#: ../../whatsnew/3.10.rst:2015 +#: ../../whatsnew/3.10.rst:2026 msgid "" "The ``configure`` script now uses the ``pkg-config`` utility, if available, " "to detect the location of Tcl/Tk headers and libraries. As before, those " @@ -3546,7 +3590,7 @@ msgstr "" "configuração ``--with-tcltk-includes`` e ``--with-tcltk-libs`` . " "(Contribuição de Manolis Stamatogiannakis em :issue:`42603`.)" -#: ../../whatsnew/3.10.rst:2021 +#: ../../whatsnew/3.10.rst:2032 msgid "" "Add :option:`--with-openssl-rpath` option to ``configure`` script. The " "option simplifies building Python with a custom OpenSSL installation, e.g. " @@ -3556,18 +3600,18 @@ msgstr "" "Adiciona a opção :option:`--with-openssl-rpath` ao script ``configure``. A " "opção simplifica a construção do Python com uma instalação OpenSSL " "personalizada, por exemplo, ``./configure --with-openssl=/path/to/openssl --" -"with-openssl-rpath=auto``. (Contribuição de Christian Heimes em :issue:" -"`43466`.)" +"with-openssl-rpath=auto``. (Contribuição de Christian Heimes " +"em :issue:`43466`.)" -#: ../../whatsnew/3.10.rst:2028 +#: ../../whatsnew/3.10.rst:2039 msgid "C API Changes" msgstr "Alterações na API C" -#: ../../whatsnew/3.10.rst:2031 +#: ../../whatsnew/3.10.rst:2042 msgid "PEP 652: Maintaining the Stable ABI" msgstr "PEP 652: Mantendo a ABI estável" -#: ../../whatsnew/3.10.rst:2033 +#: ../../whatsnew/3.10.rst:2044 msgid "" "The Stable ABI (Application Binary Interface) for extension modules or " "embedding Python is now explicitly defined. :ref:`stable` describes C API " @@ -3579,52 +3623,55 @@ msgstr "" "as garantias de estabilidade da API C e ABI junto com as melhores práticas " "para usar a ABI estável." -#: ../../whatsnew/3.10.rst:2038 +#: ../../whatsnew/3.10.rst:2049 msgid "(Contributed by Petr Viktorin in :pep:`652` and :issue:`43795`.)" msgstr "(Contribuição de Petr Viktorin em :pep:`652` e :issue:`43795`.)" -#: ../../whatsnew/3.10.rst:2043 +#: ../../whatsnew/3.10.rst:2054 msgid "" -"The result of :c:func:`PyNumber_Index` now always has exact type :class:" -"`int`. Previously, the result could have been an instance of a subclass of " -"``int``. (Contributed by Serhiy Storchaka in :issue:`40792`.)" +"The result of :c:func:`PyNumber_Index` now always has exact " +"type :class:`int`. Previously, the result could have been an instance of a " +"subclass of ``int``. (Contributed by Serhiy Storchaka in :issue:`40792`.)" msgstr "" -"O resultado de :c:func:`PyNumber_Index` agora sempre tem o tipo exato :class:" -"`int`. Anteriormente, o resultado poderia ser uma instância de uma subclasse " -"de ``int``. (Contribuição de Serhiy Storchaka em :issue:`40792`.)" +"O resultado de :c:func:`PyNumber_Index` agora sempre tem o tipo " +"exato :class:`int`. Anteriormente, o resultado poderia ser uma instância de " +"uma subclasse de ``int``. (Contribuição de Serhiy Storchaka " +"em :issue:`40792`.)" -#: ../../whatsnew/3.10.rst:2047 +#: ../../whatsnew/3.10.rst:2058 msgid "" "Add a new :c:member:`~PyConfig.orig_argv` member to the :c:type:`PyConfig` " "structure: the list of the original command line arguments passed to the " "Python executable. (Contributed by Victor Stinner in :issue:`23427`.)" msgstr "" -"Adiciona um novo membro :c:member:`~PyConfig.orig_argv` à estrutura :c:type:" -"`PyConfig`: a lista dos argumentos originais da linha de comando passados " -"para o executável Python. (Contribuição de Victor Stinner em :issue:`23427`.)" +"Adiciona um novo membro :c:member:`~PyConfig.orig_argv` à " +"estrutura :c:type:`PyConfig`: a lista dos argumentos originais da linha de " +"comando passados para o executável Python. (Contribuição de Victor Stinner " +"em :issue:`23427`.)" -#: ../../whatsnew/3.10.rst:2052 +#: ../../whatsnew/3.10.rst:2063 msgid "" -"The :c:func:`PyDateTime_DATE_GET_TZINFO` and :c:func:" -"`PyDateTime_TIME_GET_TZINFO` macros have been added for accessing the " -"``tzinfo`` attributes of :class:`datetime.datetime` and :class:`datetime." -"time` objects. (Contributed by Zackery Spytz in :issue:`30155`.)" +"The :c:func:`PyDateTime_DATE_GET_TZINFO` " +"and :c:func:`PyDateTime_TIME_GET_TZINFO` macros have been added for " +"accessing the ``tzinfo`` attributes of :class:`datetime.datetime` " +"and :class:`datetime.time` objects. (Contributed by Zackery Spytz " +"in :issue:`30155`.)" msgstr "" -"As macros :c:func:`PyDateTime_DATE_GET_TZINFO` e :c:func:" -"`PyDateTime_TIME_GET_TZINFO` foram adicionadas para acessar os atributos " -"``tzinfo`` dos objetos :class:`datetime.datetime` e :class:`datetime.time`. " -"(Contribuição de Zackery Spytz em :issue:`30155`.)" +"As macros :c:func:`PyDateTime_DATE_GET_TZINFO` " +"e :c:func:`PyDateTime_TIME_GET_TZINFO` foram adicionadas para acessar os " +"atributos ``tzinfo`` dos objetos :class:`datetime.datetime` " +"e :class:`datetime.time`. (Contribuição de Zackery Spytz em :issue:`30155`.)" -#: ../../whatsnew/3.10.rst:2058 +#: ../../whatsnew/3.10.rst:2069 msgid "" "Add a :c:func:`PyCodec_Unregister` function to unregister a codec search " "function. (Contributed by Hai Shi in :issue:`41842`.)" msgstr "" "Adiciona uma função :c:func:`PyCodec_Unregister` para cancelar um registro " -"de uma função de pesquisa de codecs. (Contribuição de Hai Shi em :issue:" -"`41842`.)" +"de uma função de pesquisa de codecs. (Contribuição de Hai Shi " +"em :issue:`41842`.)" -#: ../../whatsnew/3.10.rst:2062 +#: ../../whatsnew/3.10.rst:2073 msgid "" "The :c:func:`PyIter_Send` function was added to allow sending value into " "iterator without raising ``StopIteration`` exception. (Contributed by " @@ -3634,7 +3681,7 @@ msgstr "" "para o iterador sem levantar a exceção ``StopIteration``. (Contribuição de " "Vladimir Matveev em :issue:`41756`.)" -#: ../../whatsnew/3.10.rst:2066 +#: ../../whatsnew/3.10.rst:2077 msgid "" "Add :c:func:`PyUnicode_AsUTF8AndSize` to the limited C API. (Contributed by " "Alex Gaynor in :issue:`41784`.)" @@ -3642,17 +3689,17 @@ msgstr "" "Adiciona :c:func:`PyUnicode_AsUTF8AndSize` à API C limitada. (Contribuição " "de Alex Gaynor em :issue:`41784`.)" -#: ../../whatsnew/3.10.rst:2069 +#: ../../whatsnew/3.10.rst:2080 msgid "" -"Add :c:func:`PyModule_AddObjectRef` function: similar to :c:func:" -"`PyModule_AddObject` but don't steal a reference to the value on success. " -"(Contributed by Victor Stinner in :issue:`1635741`.)" +"Add :c:func:`PyModule_AddObjectRef` function: similar " +"to :c:func:`PyModule_AddObject` but don't steal a reference to the value on " +"success. (Contributed by Victor Stinner in :issue:`1635741`.)" msgstr "" -"Adiciona a função :c:func:`PyModule_AddObjectRef`: semelhante a :c:func:" -"`PyModule_AddObject`, mas não roube uma referência ao valor em caso de " -"sucesso. (Contribuição de Victor Stinner em :issue:`1635741`.)" +"Adiciona a função :c:func:`PyModule_AddObjectRef`: semelhante " +"a :c:func:`PyModule_AddObject`, mas não roube uma referência ao valor em " +"caso de sucesso. (Contribuição de Victor Stinner em :issue:`1635741`.)" -#: ../../whatsnew/3.10.rst:2074 +#: ../../whatsnew/3.10.rst:2085 msgid "" "Add :c:func:`Py_NewRef` and :c:func:`Py_XNewRef` functions to increment the " "reference count of an object and return the object. (Contributed by Victor " @@ -3662,17 +3709,17 @@ msgstr "" "incrementar a contagem de referências de um objeto e retornar o objeto. " "(Contribuição de Victor Stinner em :issue:`42262`.)" -#: ../../whatsnew/3.10.rst:2078 +#: ../../whatsnew/3.10.rst:2089 msgid "" -"The :c:func:`PyType_FromSpecWithBases` and :c:func:" -"`PyType_FromModuleAndSpec` functions now accept a single class as the " -"*bases* argument. (Contributed by Serhiy Storchaka in :issue:`42423`.)" +"The :c:func:`PyType_FromSpecWithBases` " +"and :c:func:`PyType_FromModuleAndSpec` functions now accept a single class " +"as the *bases* argument. (Contributed by Serhiy Storchaka in :issue:`42423`.)" msgstr "" -"As funções :c:func:`PyType_FromSpecWithBases` e :c:func:" -"`PyType_FromModuleAndSpec` agora aceitam uma única classe como o argumento " -"*bases*. (Contribuição de Serhiy Storchaka em :issue:`42423`.)" +"As funções :c:func:`PyType_FromSpecWithBases` " +"e :c:func:`PyType_FromModuleAndSpec` agora aceitam uma única classe como o " +"argumento *bases*. (Contribuição de Serhiy Storchaka em :issue:`42423`.)" -#: ../../whatsnew/3.10.rst:2082 +#: ../../whatsnew/3.10.rst:2093 msgid "" "The :c:func:`PyType_FromModuleAndSpec` function now accepts NULL ``tp_doc`` " "slot. (Contributed by Hai Shi in :issue:`41832`.)" @@ -3680,7 +3727,7 @@ msgstr "" "A função :c:func:`PyType_FromModuleAndSpec` agora aceita o slot NULL " "``tp_doc``. (Contribuição de Hai Shi em :issue:`41832`.)" -#: ../../whatsnew/3.10.rst:2086 +#: ../../whatsnew/3.10.rst:2097 msgid "" "The :c:func:`PyType_GetSlot` function can accept :ref:`static types `. (Contributed by Hai Shi and Petr Viktorin in :issue:`41073`.)" @@ -3688,7 +3735,7 @@ msgstr "" "A função :c:func:`PyType_GetSlot` pode aceitar :ref:`tipos estáticos `. (Contribuição de Hai Shi e Petr Viktorin em :issue:`41073`.)" -#: ../../whatsnew/3.10.rst:2090 +#: ../../whatsnew/3.10.rst:2101 msgid "" "Add a new :c:func:`PySet_CheckExact` function to the C-API to check if an " "object is an instance of :class:`set` but not an instance of a subtype. " @@ -3698,7 +3745,7 @@ msgstr "" "se um objeto é uma instância de :class:`set`, mas não uma instância de um " "subtipo. (Contribuição de Pablo Galindo em :issue:`43277`.)" -#: ../../whatsnew/3.10.rst:2094 +#: ../../whatsnew/3.10.rst:2105 msgid "" "Add :c:func:`PyErr_SetInterruptEx` which allows passing a signal number to " "simulate. (Contributed by Antoine Pitrou in :issue:`43356`.)" @@ -3706,17 +3753,17 @@ msgstr "" "Adiciona :c:func:`PyErr_SetInterruptEx` que permite passar um número de " "sinal para simular. (Contribuição de Antoine Pitrou em :issue:`43356`.)" -#: ../../whatsnew/3.10.rst:2098 +#: ../../whatsnew/3.10.rst:2109 msgid "" "The limited C API is now supported if :ref:`Python is built in debug mode " "` (if the ``Py_DEBUG`` macro is defined). In the limited C API, " "the :c:func:`Py_INCREF` and :c:func:`Py_DECREF` functions are now " -"implemented as opaque function calls, rather than accessing directly the :c:" -"member:`PyObject.ob_refcnt` member, if Python is built in debug mode and the " -"``Py_LIMITED_API`` macro targets Python 3.10 or newer. It became possible to " -"support the limited C API in debug mode because the :c:type:`PyObject` " -"structure is the same in release and debug mode since Python 3.8 (see :issue:" -"`36465`)." +"implemented as opaque function calls, rather than accessing directly " +"the :c:member:`PyObject.ob_refcnt` member, if Python is built in debug mode " +"and the ``Py_LIMITED_API`` macro targets Python 3.10 or newer. It became " +"possible to support the limited C API in debug mode because " +"the :c:type:`PyObject` structure is the same in release and debug mode since " +"Python 3.8 (see :issue:`36465`)." msgstr "" "A API C limitada agora é suportada se o :ref:`Python for compilado no modo " "de depuração ` (se a macro ``Py_DEBUG`` estiver definida). Na " @@ -3728,78 +3775,79 @@ msgstr "" "no modo de depuração porque a estrutura :c:type:`PyObject` é a mesma no modo " "de lançamento e depuração desde o Python 3.8 (consulte :issue:`36465`)." -#: ../../whatsnew/3.10.rst:2108 +#: ../../whatsnew/3.10.rst:2119 msgid "" "The limited C API is still not supported in the :option:`--with-trace-refs` " -"special build (``Py_TRACE_REFS`` macro). (Contributed by Victor Stinner in :" -"issue:`43688`.)" +"special build (``Py_TRACE_REFS`` macro). (Contributed by Victor Stinner " +"in :issue:`43688`.)" msgstr "" "A API C limitada ainda não é suportada na compilação especial :option:`--" "with-trace-refs` (macro ``Py_TRACE_REFS``). (Contribuição de Victor Stinner " "em :issue:`43688`.)" -#: ../../whatsnew/3.10.rst:2112 +#: ../../whatsnew/3.10.rst:2123 msgid "" "Add the :c:func:`Py_Is(x, y) ` function to test if the *x* object is " -"the *y* object, the same as ``x is y`` in Python. Add also the :c:func:" -"`Py_IsNone`, :c:func:`Py_IsTrue`, :c:func:`Py_IsFalse` functions to test if " -"an object is, respectively, the ``None`` singleton, the ``True`` singleton " -"or the ``False`` singleton. (Contributed by Victor Stinner in :issue:" -"`43753`.)" +"the *y* object, the same as ``x is y`` in Python. Add also " +"the :c:func:`Py_IsNone`, :c:func:`Py_IsTrue`, :c:func:`Py_IsFalse` functions " +"to test if an object is, respectively, the ``None`` singleton, the ``True`` " +"singleton or the ``False`` singleton. (Contributed by Victor Stinner " +"in :issue:`43753`.)" msgstr "" "Adiciona a função :c:func:`Py_Is(x, y) ` para testar se o objeto *x* " "é o objeto *y*, o mesmo que ``x is y`` em Python. Adiciona também as " "funções :c:func:`Py_IsNone`, :c:func:`Py_IsTrue`, :c:func:`Py_IsFalse` para " "testar se um objeto é, respectivamente, o singleton ``None``, o singleton " -"``True`` ou o singleton ``False``. (Contribuição de Victor Stinner em :issue:" -"`43753`.)" +"``True`` ou o singleton ``False``. (Contribuição de Victor Stinner " +"em :issue:`43753`.)" -#: ../../whatsnew/3.10.rst:2119 +#: ../../whatsnew/3.10.rst:2130 msgid "" -"Add new functions to control the garbage collector from C code: :c:func:" -"`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`. These " -"functions allow to activate, deactivate and query the state of the garbage " -"collector from C code without having to import the :mod:`gc` module." +"Add new functions to control the garbage collector from C " +"code: :c:func:`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`. " +"These functions allow to activate, deactivate and query the state of the " +"garbage collector from C code without having to import the :mod:`gc` module." msgstr "" -"Adiciona novas funções para controlar o coletor de lixo do código C: :c:func:" -"`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`. Estas " -"funções permitem ativar, desativar e consultar o estado do coletor de lixo " -"do código C sem precisar importar o módulo :mod:`gc`." +"Adiciona novas funções para controlar o coletor de lixo do código " +"C: :c:func:`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`. " +"Estas funções permitem ativar, desativar e consultar o estado do coletor de " +"lixo do código C sem precisar importar o módulo :mod:`gc`." -#: ../../whatsnew/3.10.rst:2126 +#: ../../whatsnew/3.10.rst:2137 msgid "" -"Add a new :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow " +"Add a new :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow " "creating type instances. (Contributed by Victor Stinner in :issue:`43916`.)" msgstr "" -"Adiciona um novo sinalizador de tipo :c:data:" -"`Py_TPFLAGS_DISALLOW_INSTANTIATION` para impedir a criação de instâncias de " -"tipo. (Contribuição de Victor Stinner em :issue:`43916`.)" +"Adiciona um novo sinalizador de " +"tipo :c:macro:`Py_TPFLAGS_DISALLOW_INSTANTIATION` para impedir a criação de " +"instâncias de tipo. (Contribuição de Victor Stinner em :issue:`43916`.)" -#: ../../whatsnew/3.10.rst:2130 +#: ../../whatsnew/3.10.rst:2141 msgid "" -"Add a new :c:data:`Py_TPFLAGS_IMMUTABLETYPE` type flag for creating " +"Add a new :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` type flag for creating " "immutable type objects: type attributes cannot be set nor deleted. " "(Contributed by Victor Stinner and Erlend E. Aasland in :issue:`43908`.)" msgstr "" -"Adiciona um novo sinalizador de tipo :c:data:`Py_TPFLAGS_IMMUTABLETYPE` para " -"criar objetos de tipo imutável: atributos de tipo não podem ser definidos " -"nem excluídos. (Contribuição de Victor Stinner e Erlend E. Aasland em :issue:" -"`43908`.)" +"Adiciona um novo sinalizador de tipo :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` " +"para criar objetos de tipo imutável: atributos de tipo não podem ser " +"definidos nem excluídos. (Contribuição de Victor Stinner e Erlend E. Aasland " +"em :issue:`43908`.)" -#: ../../whatsnew/3.10.rst:2137 +#: ../../whatsnew/3.10.rst:2148 msgid "" -"The ``PY_SSIZE_T_CLEAN`` macro must now be defined to use :c:func:" -"`PyArg_ParseTuple` and :c:func:`Py_BuildValue` formats which use ``#``: " -"``es#``, ``et#``, ``s#``, ``u#``, ``y#``, ``z#``, ``U#`` and ``Z#``. See :" -"ref:`arg-parsing` and :pep:`353`. (Contributed by Victor Stinner in :issue:" -"`40943`.)" +"The ``PY_SSIZE_T_CLEAN`` macro must now be defined to " +"use :c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue` formats which use " +"``#``: ``es#``, ``et#``, ``s#``, ``u#``, ``y#``, ``z#``, ``U#`` and ``Z#``. " +"See :ref:`arg-parsing` and :pep:`353`. (Contributed by Victor Stinner " +"in :issue:`40943`.)" msgstr "" -"A macro ``PY_SSIZE_T_CLEAN`` deve agora ser definida para usar os formatos :" -"c:func:`PyArg_ParseTuple` e :c:func:`Py_BuildValue` que usam ``#``: ``es#``, " -"``et#``, ``s#``, ``u#``, ``y#``, ``z#``, ``U#`` e ``Z#``. Veja :ref:`arg-" -"parsing` e :pep:`353`. (Contribuição de Victor Stinner em :issue:`40943`.)" +"A macro ``PY_SSIZE_T_CLEAN`` deve agora ser definida para usar os " +"formatos :c:func:`PyArg_ParseTuple` e :c:func:`Py_BuildValue` que usam " +"``#``: ``es#``, ``et#``, ``s#``, ``u#``, ``y#``, ``z#``, ``U#`` e ``Z#``. " +"Veja :ref:`arg-parsing` e :pep:`353`. (Contribuição de Victor Stinner " +"em :issue:`40943`.)" -#: ../../whatsnew/3.10.rst:2143 +#: ../../whatsnew/3.10.rst:2154 msgid "" "Since :c:func:`Py_REFCNT()` is changed to the inline static function, " "``Py_REFCNT(obj) = new_refcnt`` must be replaced with ``Py_SET_REFCNT(obj, " @@ -3812,21 +3860,21 @@ msgstr "" "(disponível desde o Python 3.9). Para compatibilidade com versões " "anteriores, esta macro pode ser usada::" -#: ../../whatsnew/3.10.rst:2152 +#: ../../whatsnew/3.10.rst:2163 msgid "(Contributed by Victor Stinner in :issue:`39573`.)" msgstr "(Contribuição de Victor Stinner em :issue:`39573`.)" -#: ../../whatsnew/3.10.rst:2154 +#: ../../whatsnew/3.10.rst:2165 msgid "" "Calling :c:func:`PyDict_GetItem` without :term:`GIL` held had been allowed " "for historical reason. It is no longer allowed. (Contributed by Victor " "Stinner in :issue:`40839`.)" msgstr "" -"A chamada de :c:func:`PyDict_GetItem` sem :term:`GIL` retido era permitido " +"A chamada de :c:func:`PyDict_GetItem` sem a :term:`GIL` retida era permitido " "por razões históricas. Isso não é mais permitido. (Contribuição de Victor " "Stinner em :issue:`40839`.)" -#: ../../whatsnew/3.10.rst:2158 +#: ../../whatsnew/3.10.rst:2169 msgid "" "``PyUnicode_FromUnicode(NULL, size)`` and " "``PyUnicode_FromStringAndSize(NULL, size)`` raise ``DeprecationWarning`` " @@ -3838,81 +3886,80 @@ msgstr "" "para alocar objeto Unicode sem dados iniciais. (Contribuição de Inada Naoki " "em :issue:`36346`.)" -#: ../../whatsnew/3.10.rst:2163 +#: ../../whatsnew/3.10.rst:2174 msgid "" "The private ``_PyUnicode_Name_CAPI`` structure of the PyCapsule API " "``unicodedata.ucnhash_CAPI`` has been moved to the internal C API. " "(Contributed by Victor Stinner in :issue:`42157`.)" msgstr "" -"A estrutura privada ``_PyUnicode_Name_CAPI`` da API PyCapsule ``unicodedata." -"ucnhash_CAPI`` foi movida para a API C interna. (Contribuição de Victor " -"Stinner em :issue:`42157`.)" +"A estrutura privada ``_PyUnicode_Name_CAPI`` da API PyCapsule " +"``unicodedata.ucnhash_CAPI`` foi movida para a API C interna. (Contribuição " +"de Victor Stinner em :issue:`42157`.)" -#: ../../whatsnew/3.10.rst:2167 +#: ../../whatsnew/3.10.rst:2178 msgid "" -":c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:" -"func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome` and :c:func:" -"`Py_GetProgramName` functions now return ``NULL`` if called before :c:func:" -"`Py_Initialize` (before Python is initialized). Use the new :ref:`init-" -"config` API to get the :ref:`init-path-config`. (Contributed by Victor " -"Stinner in :issue:`42260`.)" +":c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome` " +"and :c:func:`Py_GetProgramName` functions now return ``NULL`` if called " +"before :c:func:`Py_Initialize` (before Python is initialized). Use the " +"new :ref:`init-config` API to get the :ref:`init-path-config`. (Contributed " +"by Victor Stinner in :issue:`42260`.)" msgstr "" -"As funções :c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:" -"`Py_GetExecPrefix`, :c:func:`Py_GetProgramFullPath`, :c:func:" -"`Py_GetPythonHome` e :c:func:`Py_GetProgramName` agora retornam ``NULL`` se " -"chamadas antes de :c:func:`Py_Initialize` (antes do Python ser " -"inicializado). Use a nova API de :ref:`init-config` para obter a :ref:`init-" -"path-config`. (Contribuição de Victor Stinner em :issue:`42260`.)" +"As " +"funções :c:func:`Py_GetPath`, :c:func:`Py_GetPrefix`, :c:func:`Py_GetExecPrefix`, :c:func:`Py_GetProgramFullPath`, :c:func:`Py_GetPythonHome` " +"e :c:func:`Py_GetProgramName` agora retornam ``NULL`` se chamadas antes " +"de :c:func:`Py_Initialize` (antes do Python ser inicializado). Use a nova " +"API de :ref:`init-config` para obter a :ref:`init-path-config`. " +"(Contribuição de Victor Stinner em :issue:`42260`.)" -#: ../../whatsnew/3.10.rst:2174 +#: ../../whatsnew/3.10.rst:2185 msgid "" -":c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` and :c:func:" -"`PyCell_SET` macros can no longer be used as l-value or r-value. For " -"example, ``x = PyList_SET_ITEM(a, b, c)`` and ``PyList_SET_ITEM(a, b, c) = " -"x`` now fail with a compiler error. It prevents bugs like ``if " +":c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` " +"and :c:func:`PyCell_SET` macros can no longer be used as l-value or r-value. " +"For example, ``x = PyList_SET_ITEM(a, b, c)`` and ``PyList_SET_ITEM(a, b, c) " +"= x`` now fail with a compiler error. It prevents bugs like ``if " "(PyList_SET_ITEM (a, b, c) < 0) ...`` test. (Contributed by Zackery Spytz " "and Victor Stinner in :issue:`30459`.)" msgstr "" -"As macros :c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` e :c:func:" -"`PyCell_SET` não podem mais ser usadas como valor-l ou valor-r. Por exemplo, " -"``x = PyList_SET_ITEM(a, b, c)`` e ``PyList_SET_ITEM(a, b, c) = x`` agora " -"falham com um erro do compilador. Isso previne bugs como o teste ``if " -"(PyList_SET_ITEM (a, b, c) < 0) ...``. (Contribuição de Zackery Spytz e " +"As macros :c:func:`PyList_SET_ITEM`, :c:func:`PyTuple_SET_ITEM` " +"e :c:func:`PyCell_SET` não podem mais ser usadas como valor-l ou valor-r. " +"Por exemplo, ``x = PyList_SET_ITEM(a, b, c)`` e ``PyList_SET_ITEM(a, b, c) = " +"x`` agora falham com um erro do compilador. Isso previne bugs como o teste " +"``if (PyList_SET_ITEM (a, b, c) < 0) ...``. (Contribuição de Zackery Spytz e " "Victor Stinner em :issue:`30459`.)" -#: ../../whatsnew/3.10.rst:2181 +#: ../../whatsnew/3.10.rst:2192 msgid "" "The non-limited API files ``odictobject.h``, ``parser_interface.h``, " -"``picklebufobject.h``, ``pyarena.h``, ``pyctype.h``, ``pydebug.h``, ``pyfpe." -"h``, and ``pytime.h`` have been moved to the ``Include/cpython`` directory. " -"These files must not be included directly, as they are already included in " -"``Python.h``; see :ref:`api-includes`. If they have been included directly, " -"consider including ``Python.h`` instead. (Contributed by Nicholas Sim in :" -"issue:`35134`.)" +"``picklebufobject.h``, ``pyarena.h``, ``pyctype.h``, ``pydebug.h``, " +"``pyfpe.h``, and ``pytime.h`` have been moved to the ``Include/cpython`` " +"directory. These files must not be included directly, as they are already " +"included in ``Python.h``; see :ref:`api-includes`. If they have been " +"included directly, consider including ``Python.h`` instead. (Contributed by " +"Nicholas Sim in :issue:`35134`.)" msgstr "" "Os arquivos de API não limitada ``odictobject.h``, ``parser_interface.h``, " -"``piclebufobject.h``, ``pyarena.h``, ``pyctype.h``, ``pydebug. h``, ``pyfpe." -"h`` e ``pytime.h`` foram movidos para o diretório ``Include/cpython``. Esses " -"arquivos não devem ser incluídos diretamente, pois já estão incluídos em " -"``Python.h``; veja :ref:`api-includes`. Se eles foram incluídos diretamente, " -"considere incluir ``Python.h`` em vez disso. (Contribuição de Nicholas Sim " -"em :issue:`35134`.)" +"``piclebufobject.h``, ``pyarena.h``, ``pyctype.h``, ``pydebug. h``, " +"``pyfpe.h`` e ``pytime.h`` foram movidos para o diretório ``Include/" +"cpython``. Esses arquivos não devem ser incluídos diretamente, pois já estão " +"incluídos em ``Python.h``; veja :ref:`api-includes`. Se eles foram incluídos " +"diretamente, considere incluir ``Python.h`` em vez disso. (Contribuição de " +"Nicholas Sim em :issue:`35134`.)" -#: ../../whatsnew/3.10.rst:2189 +#: ../../whatsnew/3.10.rst:2200 msgid "" -"Use the :c:data:`Py_TPFLAGS_IMMUTABLETYPE` type flag to create immutable " -"type objects. Do not rely on :c:data:`Py_TPFLAGS_HEAPTYPE` to decide if a " -"type object is mutable or not; check if :c:data:`Py_TPFLAGS_IMMUTABLETYPE` " -"is set instead. (Contributed by Victor Stinner and Erlend E. Aasland in :" -"issue:`43908`.)" +"Use the :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` type flag to create immutable " +"type objects. Do not rely on :c:macro:`Py_TPFLAGS_HEAPTYPE` to decide if a " +"type object is mutable or not; check if :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` " +"is set instead. (Contributed by Victor Stinner and Erlend E. Aasland " +"in :issue:`43908`.)" msgstr "" -"Use o sinalizador de tipo :c:data:`Py_TPFLAGS_IMMUTABLETYPE` para criar " -"objetos de tipo imutável. Não confie em :c:data:`Py_TPFLAGS_HEAPTYPE` para " -"decidir se um objeto de tipo é mutável ou não; verifique se :c:data:" -"`Py_TPFLAGS_IMMUTABLETYPE` está definido. (Contribuição de Victor Stinner e " -"Erlend E. Aasland em :issue:`43908`.)" +"Use o sinalizador de tipo :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` para criar " +"objetos de tipo imutável. Não confie em :c:macro:`Py_TPFLAGS_HEAPTYPE` para " +"decidir se um objeto de tipo é mutável ou não; verifique " +"se :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` está definido. (Contribuição de " +"Victor Stinner e Erlend E. Aasland em :issue:`43908`.)" -#: ../../whatsnew/3.10.rst:2195 +#: ../../whatsnew/3.10.rst:2206 msgid "" "The undocumented function ``Py_FrozenMain`` has been removed from the " "limited API. The function is mainly useful for custom builds of Python. " @@ -3922,7 +3969,7 @@ msgstr "" "função é útil principalmente para compilações personalizadas do Python. " "(Contribuição de Petr Viktorin em :issue:`26241`.)" -#: ../../whatsnew/3.10.rst:2202 +#: ../../whatsnew/3.10.rst:2213 msgid "" "The ``PyUnicode_InternImmortal()`` function is now deprecated and will be " "removed in Python 3.12: use :c:func:`PyUnicode_InternInPlace` instead. " @@ -3932,7 +3979,7 @@ msgstr "" "removida no Python 3.12: use :c:func:`PyUnicode_InternInPlace` em vez disso. " "(Contribuição de Victor Stinner em :issue:`41692`.)" -#: ../../whatsnew/3.10.rst:2210 +#: ../../whatsnew/3.10.rst:2221 msgid "" "Removed ``Py_UNICODE_str*`` functions manipulating ``Py_UNICODE*`` strings. " "(Contributed by Inada Naoki in :issue:`41123`.)" @@ -3940,47 +3987,47 @@ msgstr "" "Removidas as funções ``Py_UNICODE_str*`` que manipulam strings " "``Py_UNICODE*``. (Contribuição de Inada Naoki em :issue:`41123`.)" -#: ../../whatsnew/3.10.rst:2213 +#: ../../whatsnew/3.10.rst:2224 msgid "" -"``Py_UNICODE_strlen``: use :c:func:`PyUnicode_GetLength` or :c:macro:" -"`PyUnicode_GET_LENGTH`" +"``Py_UNICODE_strlen``: use :c:func:`PyUnicode_GetLength` " +"or :c:macro:`PyUnicode_GET_LENGTH`" msgstr "" -"``Py_UNICODE_strlen``: use :c:func:`PyUnicode_GetLength` ou :c:macro:" -"`PyUnicode_GET_LENGTH`" +"``Py_UNICODE_strlen``: use :c:func:`PyUnicode_GetLength` " +"ou :c:macro:`PyUnicode_GET_LENGTH`" -#: ../../whatsnew/3.10.rst:2215 +#: ../../whatsnew/3.10.rst:2226 msgid "" -"``Py_UNICODE_strcat``: use :c:func:`PyUnicode_CopyCharacters` or :c:func:" -"`PyUnicode_FromFormat`" +"``Py_UNICODE_strcat``: use :c:func:`PyUnicode_CopyCharacters` " +"or :c:func:`PyUnicode_FromFormat`" msgstr "" -"``Py_UNICODE_strcat``: use :c:func:`PyUnicode_CopyCharacters` ou :c:func:" -"`PyUnicode_FromFormat`" +"``Py_UNICODE_strcat``: use :c:func:`PyUnicode_CopyCharacters` " +"ou :c:func:`PyUnicode_FromFormat`" -#: ../../whatsnew/3.10.rst:2217 +#: ../../whatsnew/3.10.rst:2228 msgid "" -"``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy``: use :c:func:" -"`PyUnicode_CopyCharacters` or :c:func:`PyUnicode_Substring`" +"``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy``: " +"use :c:func:`PyUnicode_CopyCharacters` or :c:func:`PyUnicode_Substring`" msgstr "" -"``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy``: use :c:func:" -"`PyUnicode_CopyCharacters` ou :c:func:`PyUnicode_Substring`" +"``Py_UNICODE_strcpy``, ``Py_UNICODE_strncpy``: " +"use :c:func:`PyUnicode_CopyCharacters` ou :c:func:`PyUnicode_Substring`" -#: ../../whatsnew/3.10.rst:2219 +#: ../../whatsnew/3.10.rst:2230 msgid "``Py_UNICODE_strcmp``: use :c:func:`PyUnicode_Compare`" msgstr "``Py_UNICODE_strcmp``: use :c:func:`PyUnicode_Compare`" -#: ../../whatsnew/3.10.rst:2220 +#: ../../whatsnew/3.10.rst:2231 msgid "``Py_UNICODE_strncmp``: use :c:func:`PyUnicode_Tailmatch`" msgstr "``Py_UNICODE_strncmp``: use :c:func:`PyUnicode_Tailmatch`" -#: ../../whatsnew/3.10.rst:2221 +#: ../../whatsnew/3.10.rst:2232 msgid "" -"``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: use :c:func:" -"`PyUnicode_FindChar`" +"``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: " +"use :c:func:`PyUnicode_FindChar`" msgstr "" -"``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: use :c:func:" -"`PyUnicode_FindChar`" +"``Py_UNICODE_strchr``, ``Py_UNICODE_strrchr``: " +"use :c:func:`PyUnicode_FindChar`" -#: ../../whatsnew/3.10.rst:2224 +#: ../../whatsnew/3.10.rst:2235 msgid "" "Removed ``PyUnicode_GetMax()``. Please migrate to new (:pep:`393`) APIs. " "(Contributed by Inada Naoki in :issue:`41103`.)" @@ -3988,58 +4035,61 @@ msgstr "" "Removida ``PyUnicode_GetMax()``. Migre para as novas APIs (:pep:`393`). " "(Contribuição de Inada Naoki em :issue:`41103`.)" -#: ../../whatsnew/3.10.rst:2227 +#: ../../whatsnew/3.10.rst:2238 msgid "" -"Removed ``PyLong_FromUnicode()``. Please migrate to :c:func:" -"`PyLong_FromUnicodeObject`. (Contributed by Inada Naoki in :issue:`41103`.)" +"Removed ``PyLong_FromUnicode()``. Please migrate " +"to :c:func:`PyLong_FromUnicodeObject`. (Contributed by Inada Naoki " +"in :issue:`41103`.)" msgstr "" -"Removida ``PyLong_FromUnicode()``. Migre para :c:func:" -"`PyLong_FromUnicodeObject`. (Contribuição de Inada Naoki em :issue:`41103`.)" +"Removida ``PyLong_FromUnicode()``. Migre " +"para :c:func:`PyLong_FromUnicodeObject`. (Contribuição de Inada Naoki " +"em :issue:`41103`.)" -#: ../../whatsnew/3.10.rst:2230 +#: ../../whatsnew/3.10.rst:2241 msgid "" -"Removed ``PyUnicode_AsUnicodeCopy()``. Please use :c:func:" -"`PyUnicode_AsUCS4Copy` or :c:func:`PyUnicode_AsWideCharString` (Contributed " -"by Inada Naoki in :issue:`41103`.)" +"Removed ``PyUnicode_AsUnicodeCopy()``. Please " +"use :c:func:`PyUnicode_AsUCS4Copy` or :c:func:`PyUnicode_AsWideCharString` " +"(Contributed by Inada Naoki in :issue:`41103`.)" msgstr "" "Removida ``PyUnicode_AsUnicodeCopy()``. Use :c:func:`PyUnicode_AsUCS4Copy` " -"ou :c:func:`PyUnicode_AsWideCharString` (Contribuição de Inada Naoki em :" -"issue:`41103`.)" +"ou :c:func:`PyUnicode_AsWideCharString` (Contribuição de Inada Naoki " +"em :issue:`41103`.)" -#: ../../whatsnew/3.10.rst:2234 +#: ../../whatsnew/3.10.rst:2245 msgid "" "Removed ``_Py_CheckRecursionLimit`` variable: it has been replaced by " "``ceval.recursion_limit`` of the :c:type:`PyInterpreterState` structure. " "(Contributed by Victor Stinner in :issue:`41834`.)" msgstr "" -"Removida a variável ``_Py_CheckRecursionLimit``: foi substituída por ``ceval." -"recursion_limit`` da estrutura :c:type:`PyInterpreterState`. (Contribuição " -"de Victor Stinner em :issue:`41834`.)" +"Removida a variável ``_Py_CheckRecursionLimit``: foi substituída por " +"``ceval.recursion_limit`` da estrutura :c:type:`PyInterpreterState`. " +"(Contribuição de Victor Stinner em :issue:`41834`.)" -#: ../../whatsnew/3.10.rst:2238 +#: ../../whatsnew/3.10.rst:2249 msgid "" "Removed undocumented macros ``Py_ALLOW_RECURSION`` and " -"``Py_END_ALLOW_RECURSION`` and the ``recursion_critical`` field of the :c:" -"type:`PyInterpreterState` structure. (Contributed by Serhiy Storchaka in :" -"issue:`41936`.)" +"``Py_END_ALLOW_RECURSION`` and the ``recursion_critical`` field of " +"the :c:type:`PyInterpreterState` structure. (Contributed by Serhiy Storchaka " +"in :issue:`41936`.)" msgstr "" "Removidas as macros não documentadas ``Py_ALLOW_RECURSION`` e " -"``Py_END_ALLOW_RECURSION`` e o campo ``recursion_critical`` da estrutura :c:" -"type:`PyInterpreterState`. (Contribuição de Serhiy Storchaka em :issue:" -"`41936`.)" +"``Py_END_ALLOW_RECURSION`` e o campo ``recursion_critical`` da " +"estrutura :c:type:`PyInterpreterState`. (Contribuição de Serhiy Storchaka " +"em :issue:`41936`.)" -#: ../../whatsnew/3.10.rst:2243 +#: ../../whatsnew/3.10.rst:2254 msgid "" "Removed the undocumented ``PyOS_InitInterrupts()`` function. Initializing " -"Python already implicitly installs signal handlers: see :c:member:`PyConfig." -"install_signal_handlers`. (Contributed by Victor Stinner in :issue:`41713`.)" +"Python already implicitly installs signal handlers: " +"see :c:member:`PyConfig.install_signal_handlers`. (Contributed by Victor " +"Stinner in :issue:`41713`.)" msgstr "" "Removida a função ``PyOS_InitInterrupts()`` não documentada. Inicializar o " -"Python já instala implicitamente manipuladores de sinal: veja :c:member:" -"`PyConfig.install_signal_handlers`. (Contribuição de Victor Stinner em :" -"issue:`41713`.)" +"Python já instala implicitamente manipuladores de sinal: " +"veja :c:member:`PyConfig.install_signal_handlers`. (Contribuição de Victor " +"Stinner em :issue:`41713`.)" -#: ../../whatsnew/3.10.rst:2248 +#: ../../whatsnew/3.10.rst:2259 msgid "" "Remove the ``PyAST_Validate()`` function. It is no longer possible to build " "a AST object (``mod_ty`` type) with the public C API. The function was " @@ -4048,39 +4098,39 @@ msgid "" msgstr "" "Remova a função ``PyAST_Validate()``. Não é mais possível construir um " "objeto AST (tipo ``mod_ty``) com a API C pública. A função já foi excluída " -"da API C limitada (:pep:`384`). (Contribuição de Victor Stinner em :issue:" -"`43244`.)" +"da API C limitada (:pep:`384`). (Contribuição de Victor Stinner " +"em :issue:`43244`.)" -#: ../../whatsnew/3.10.rst:2253 +#: ../../whatsnew/3.10.rst:2264 msgid "Remove the ``symtable.h`` header file and the undocumented functions:" msgstr "" "Remove o arquivo de cabeçalho ``symtable.h`` e as funções não documentadas:" -#: ../../whatsnew/3.10.rst:2255 +#: ../../whatsnew/3.10.rst:2266 msgid "``PyST_GetScope()``" msgstr "``PyST_GetScope()``" -#: ../../whatsnew/3.10.rst:2256 +#: ../../whatsnew/3.10.rst:2267 msgid "``PySymtable_Build()``" msgstr "``PySymtable_Build()``" -#: ../../whatsnew/3.10.rst:2257 +#: ../../whatsnew/3.10.rst:2268 msgid "``PySymtable_BuildObject()``" msgstr "``PySymtable_BuildObject()``" -#: ../../whatsnew/3.10.rst:2258 +#: ../../whatsnew/3.10.rst:2269 msgid "``PySymtable_Free()``" msgstr "``PySymtable_Free()``" -#: ../../whatsnew/3.10.rst:2259 +#: ../../whatsnew/3.10.rst:2270 msgid "``Py_SymtableString()``" msgstr "``Py_SymtableString()``" -#: ../../whatsnew/3.10.rst:2260 +#: ../../whatsnew/3.10.rst:2271 msgid "``Py_SymtableStringObject()``" msgstr "``Py_SymtableStringObject()``" -#: ../../whatsnew/3.10.rst:2262 +#: ../../whatsnew/3.10.rst:2273 msgid "" "The ``Py_SymtableString()`` function was part the stable ABI by mistake but " "it could not be used, because the ``symtable.h`` header file was excluded " @@ -4090,7 +4140,7 @@ msgstr "" "não pôde ser usada, porque o arquivo de cabeçalho ``symtable.h`` foi " "excluído da API C limitada." -#: ../../whatsnew/3.10.rst:2266 +#: ../../whatsnew/3.10.rst:2277 msgid "" "Use Python :mod:`symtable` module instead. (Contributed by Victor Stinner " "in :issue:`43244`.)" @@ -4098,7 +4148,7 @@ msgstr "" "Use o módulo Python :mod:`symtable` em vez disso. (Contribuição de Victor " "Stinner em :issue:`43244`.)" -#: ../../whatsnew/3.10.rst:2269 +#: ../../whatsnew/3.10.rst:2280 msgid "" "Remove :c:func:`PyOS_ReadlineFunctionPointer` from the limited C API headers " "and from ``python3.dll``, the library that provides the stable ABI on " @@ -4110,7 +4160,7 @@ msgstr "" "Windows. Como a função recebe um argumento ``FILE*``, sua estabilidade ABI " "não pode ser garantida. (Contribuição de Petr Viktorin em :issue:`43868`.)" -#: ../../whatsnew/3.10.rst:2275 +#: ../../whatsnew/3.10.rst:2286 msgid "" "Remove ``ast.h``, ``asdl.h``, and ``Python-ast.h`` header files. These " "functions were undocumented and excluded from the limited C API. Most names " @@ -4126,10 +4176,10 @@ msgstr "" "prefixados por ``Py`` e, portanto, podem criar conflitos de nomes. Por " "exemplo, ``Python-ast.h`` definiu uma macro ``Yield`` que estava em conflito " "com o nome ``Yield`` usado pelo cabeçalho ```` do Windows. Use o " -"módulo Python :mod:`ast` em vez disso. (Contribuição de Victor Stinner em :" -"issue:`43244`.)" +"módulo Python :mod:`ast` em vez disso. (Contribuição de Victor Stinner " +"em :issue:`43244`.)" -#: ../../whatsnew/3.10.rst:2283 +#: ../../whatsnew/3.10.rst:2294 msgid "" "Remove the compiler and parser functions using ``struct _mod`` type, because " "the public AST C API was removed:" @@ -4137,47 +4187,47 @@ msgstr "" "Remove as funções do compilador e do analisador usando o tipo ``struct " "_mod``, porque a API AST C pública foi removida:" -#: ../../whatsnew/3.10.rst:2286 +#: ../../whatsnew/3.10.rst:2297 msgid "``PyAST_Compile()``" msgstr "``PyAST_Compile()``" -#: ../../whatsnew/3.10.rst:2287 +#: ../../whatsnew/3.10.rst:2298 msgid "``PyAST_CompileEx()``" msgstr "``PyAST_CompileEx()``" -#: ../../whatsnew/3.10.rst:2288 +#: ../../whatsnew/3.10.rst:2299 msgid "``PyAST_CompileObject()``" msgstr "``PyAST_CompileObject()``" -#: ../../whatsnew/3.10.rst:2289 +#: ../../whatsnew/3.10.rst:2300 msgid "``PyFuture_FromAST()``" msgstr "``PyFuture_FromAST()``" -#: ../../whatsnew/3.10.rst:2290 +#: ../../whatsnew/3.10.rst:2301 msgid "``PyFuture_FromASTObject()``" msgstr "``PyFuture_FromASTObject()``" -#: ../../whatsnew/3.10.rst:2291 +#: ../../whatsnew/3.10.rst:2302 msgid "``PyParser_ASTFromFile()``" msgstr "``PyParser_ASTFromFile()``" -#: ../../whatsnew/3.10.rst:2292 +#: ../../whatsnew/3.10.rst:2303 msgid "``PyParser_ASTFromFileObject()``" msgstr "``PyParser_ASTFromFileObject()``" -#: ../../whatsnew/3.10.rst:2293 +#: ../../whatsnew/3.10.rst:2304 msgid "``PyParser_ASTFromFilename()``" msgstr "``PyParser_ASTFromFilename()``" -#: ../../whatsnew/3.10.rst:2294 +#: ../../whatsnew/3.10.rst:2305 msgid "``PyParser_ASTFromString()``" msgstr "``PyParser_ASTFromString()``" -#: ../../whatsnew/3.10.rst:2295 +#: ../../whatsnew/3.10.rst:2306 msgid "``PyParser_ASTFromStringObject()``" msgstr "``PyParser_ASTFromStringObject()``" -#: ../../whatsnew/3.10.rst:2297 +#: ../../whatsnew/3.10.rst:2308 msgid "" "These functions were undocumented and excluded from the limited C API. " "(Contributed by Victor Stinner in :issue:`43244`.)" @@ -4185,40 +4235,113 @@ msgstr "" "Essas funções não estavam documentadas e excluídas da API C limitada. " "(Contribuição de Victor Stinner em :issue:`43244`.)" -#: ../../whatsnew/3.10.rst:2300 +#: ../../whatsnew/3.10.rst:2311 msgid "Remove the ``pyarena.h`` header file with functions:" msgstr "Remove o arquivo de cabeçalho ``pyarena.h`` com funções:" -#: ../../whatsnew/3.10.rst:2302 +#: ../../whatsnew/3.10.rst:2313 msgid "``PyArena_New()``" msgstr "``PyArena_New()``" -#: ../../whatsnew/3.10.rst:2303 +#: ../../whatsnew/3.10.rst:2314 msgid "``PyArena_Free()``" msgstr "``PyArena_Free()``" -#: ../../whatsnew/3.10.rst:2304 +#: ../../whatsnew/3.10.rst:2315 msgid "``PyArena_Malloc()``" msgstr "``PyArena_Malloc()``" -#: ../../whatsnew/3.10.rst:2305 +#: ../../whatsnew/3.10.rst:2316 msgid "``PyArena_AddPyObject()``" msgstr "``PyArena_AddPyObject()``" -#: ../../whatsnew/3.10.rst:2307 +#: ../../whatsnew/3.10.rst:2318 msgid "" "These functions were undocumented, excluded from the limited C API, and were " -"only used internally by the compiler. (Contributed by Victor Stinner in :" -"issue:`43244`.)" +"only used internally by the compiler. (Contributed by Victor Stinner " +"in :issue:`43244`.)" msgstr "" "Essas funções não estavam documentadas, excluídas da API C limitada e eram " "usadas apenas internamente pelo compilador. (Contribuição de Victor Stinner " "em :issue:`43244`.)" -#: ../../whatsnew/3.10.rst:2311 +#: ../../whatsnew/3.10.rst:2322 msgid "" "The ``PyThreadState.use_tracing`` member has been removed to optimize " "Python. (Contributed by Mark Shannon in :issue:`43760`.)" msgstr "" "O membro ``PyThreadState.use_tracing`` foi removido para otimizar o Python. " "(Contribuição de Mark Shannon em :issue:`43760`.)" + +#: ../../whatsnew/3.10.rst:2327 +msgid "Notable security feature in 3.10.7" +msgstr "Recursos de segurança notáveis no 3.10.7" + +#: ../../whatsnew/3.10.rst:2329 +msgid "" +"Converting between :class:`int` and :class:`str` in bases other than 2 " +"(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) " +"now raises a :exc:`ValueError` if the number of digits in string form is " +"above a limit to avoid potential denial of service attacks due to the " +"algorithmic complexity. This is a mitigation for `CVE-2020-10735 `_. This limit can be " +"configured or disabled by environment variable, command line flag, " +"or :mod:`sys` APIs. See the :ref:`integer string conversion length " +"limitation ` documentation. The default limit is 4300 " +"digits in string form." +msgstr "" +"Converter entre :class:`int` e :class:`str` em bases diferentes de 2 " +"(binário), 4, 8 (octal), 16 (hexadecimal) ou 32 como base 10 (decimal) agora " +"levanta uma exceção :exc:`ValueError` se o número de dígitos em forma de " +"string estiver acima de um limite para evitar possíveis ataques de negação " +"de serviço devido à complexidade algorítmica. Esta é uma mitigação para " +"`CVE-2020-10735 `_. Este limite pode ser configurado ou desabilitado por " +"variável de ambiente, sinalizador de linha de comando ou APIs de :mod:`sys`. " +"Veja a documentação de :ref:`limitação de comprimento de conversão de string " +"inteira `. O limite padrão é de 4300 dígitos em forma de " +"string." + +#: ../../whatsnew/3.10.rst:2341 +msgid "Notable security feature in 3.10.8" +msgstr "Recursos de segurança notáveis no 3.10.8" + +#: ../../whatsnew/3.10.rst:2343 +msgid "" +"The deprecated :mod:`!mailcap` module now refuses to inject unsafe text " +"(filenames, MIME types, parameters) into shell commands. Instead of using " +"such text, it will warn and act as if a match was not found (or for test " +"commands, as if the test failed). (Contributed by Petr Viktorin " +"in :gh:`98966`.)" +msgstr "" +"O módulo descontinuado :mod:`!mailcap` agora se recusa a injetar texto não " +"seguro (nomes de arquivos, tipos MIME, parâmetros) em comandos shell. Em vez " +"de usar esse texto, ele avisará e agirá como se uma correspondência não " +"fosse encontrada (ou para comandos de teste, como se o teste tivesse " +"falhado). (Contribuição de Petr Viktorin em :gh:`98966`.)" + +#: ../../whatsnew/3.10.rst:2350 +msgid "Notable changes in 3.10.12" +msgstr "Alterações notáveis no 3.10.12" + +#: ../../whatsnew/3.10.rst:2353 +msgid "tarfile" +msgstr "tarfile" + +#: ../../whatsnew/3.10.rst:2355 +msgid "" +"The extraction methods in :mod:`tarfile`, and :func:`shutil.unpack_archive`, " +"have a new a *filter* argument that allows limiting tar features than may be " +"surprising or dangerous, such as creating files outside the destination " +"directory. See :ref:`tarfile-extraction-filter` for details. In Python 3.12, " +"use without the *filter* argument will show a :exc:`DeprecationWarning`. In " +"Python 3.14, the default will switch to ``'data'``. (Contributed by Petr " +"Viktorin in :pep:`706`.)" +msgstr "" +"Os métodos de extração em :mod:`tarfile` e :func:`shutil.unpack_archive`, " +"têm um novo argumento *filter* que permite limitar recursos do tar que podem " +"ser surpreendentes ou perigosos, como criar arquivos fora do diretório de " +"destino. Veja :ref:`tarfile-extraction-filter` para detalhes. No Python " +"3.12, usar sem o argumento *filter* mostrará um :exc:`DeprecationWarning`. " +"No Python 3.14, o padrão mudará para ``'data'``. (Contribuição de Petr " +"Viktorin em :pep:`706`.)" diff --git a/whatsnew/3.11.po b/whatsnew/3.11.po index 4f0e11666..d18944c25 100644 --- a/whatsnew/3.11.po +++ b/whatsnew/3.11.po @@ -1,36 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# 82596da39877db21448335599650eb68_ac09920 <1d2e18e2f37f0ba6c4f06b239e0670bd_848591>, 2022 -# Raphael Mendonça, 2022 -# Tiago Henrique , 2022 -# Misael borges , 2022 -# Victor Matheus Castro , 2022 -# Rafael Marques , 2022 -# André Filipe de Assunção e Brito , 2022 -# Victor Moura , 2022 -# Marco Rougeth , 2022 -# Rodrigo Cândido, 2022 -# Claudio Rogerio Carvalho Filho , 2023 -# Rafael Fontenelle , 2023 +# python-doc bot, 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-25 20:34+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -38,75 +27,59 @@ msgstr "" msgid "What's New In Python 3.11" msgstr "O que há de novo no Python 3.11" -#: ../../whatsnew/3.11.rst:0 -msgid "Release" -msgstr "Versão" - -#: ../../whatsnew/3.11.rst:5 -msgid "|release|" -msgstr "|release|" - -#: ../../whatsnew/3.11.rst:0 -msgid "Date" -msgstr "Data" - -#: ../../whatsnew/3.11.rst:6 -msgid "|today|" -msgstr "|today|" - #: ../../whatsnew/3.11.rst:0 msgid "Editor" msgstr "Editor" -#: ../../whatsnew/3.11.rst:7 +#: ../../whatsnew/3.11.rst:5 msgid "Pablo Galindo Salgado" msgstr "Pablo Galindo Salgado" -#: ../../whatsnew/3.11.rst:49 +#: ../../whatsnew/3.11.rst:47 msgid "" -"This article explains the new features in Python 3.11, compared to 3.10." +"This article explains the new features in Python 3.11, compared to 3.10. " +"Python 3.11 was released on October 24, 2022. For full details, see " +"the :ref:`changelog `." msgstr "" -"Esse artigo explica os novos recursos no Python 3.11, comparado ao 3.10." +"Este artigo explica os novos recursos no Python 3.11, em comparação com " +"3.10. Python 3.11 foi lançado em 24 de outubro de 2022. Veja :ref:`changelog " +"` para uma lista completa de mudanças." -#: ../../whatsnew/3.11.rst:51 -msgid "For full details, see the :ref:`changelog `." -msgstr "Para detalhes completos, veja o :ref:`changelog `." - -#: ../../whatsnew/3.11.rst:57 +#: ../../whatsnew/3.11.rst:55 msgid "Summary -- Release highlights" msgstr "Resumo -- Destaques da versão" -#: ../../whatsnew/3.11.rst:62 +#: ../../whatsnew/3.11.rst:60 msgid "" "Python 3.11 is between 10-60% faster than Python 3.10. On average, we " -"measured a 1.25x speedup on the standard benchmark suite. See :ref:" -"`whatsnew311-faster-cpython` for details." +"measured a 1.25x speedup on the standard benchmark suite. " +"See :ref:`whatsnew311-faster-cpython` for details." msgstr "" "O Python 3.11 é entre 10-60% mais rápido que o Python 3.10. Em média, " -"medimos uma aceleração de 1,25x no conjunto de benchmarks padrão. Veja :ref:" -"`whatsnew311-faster-cpython` para detalhes." +"medimos uma aceleração de 1,25x no conjunto de benchmarks padrão. " +"Veja :ref:`whatsnew311-faster-cpython` para detalhes." -#: ../../whatsnew/3.11.rst:68 +#: ../../whatsnew/3.11.rst:66 msgid "New syntax features:" msgstr "Novos recursos de sintaxe:" -#: ../../whatsnew/3.11.rst:70 +#: ../../whatsnew/3.11.rst:68 msgid ":ref:`whatsnew311-pep654`" msgstr ":ref:`whatsnew311-pep654`" -#: ../../whatsnew/3.11.rst:72 +#: ../../whatsnew/3.11.rst:70 msgid "New built-in features:" msgstr "Novos recursos embutidos:" -#: ../../whatsnew/3.11.rst:74 +#: ../../whatsnew/3.11.rst:72 msgid ":ref:`whatsnew311-pep678`" msgstr ":ref:`whatsnew311-pep678`" -#: ../../whatsnew/3.11.rst:76 +#: ../../whatsnew/3.11.rst:74 msgid "New standard library modules:" msgstr "Novos módulos da biblioteca padrão:" -#: ../../whatsnew/3.11.rst:78 +#: ../../whatsnew/3.11.rst:76 msgid "" ":pep:`680`: :mod:`tomllib` — Support for parsing `TOML `_ " "in the Standard Library" @@ -114,54 +87,54 @@ msgstr "" ":pep:`680`: :mod:`tomllib` — Suporte para analisar `TOML `_ na Biblioteca Padrão" -#: ../../whatsnew/3.11.rst:81 +#: ../../whatsnew/3.11.rst:79 msgid "Interpreter improvements:" msgstr "Melhorias no interpretador:" -#: ../../whatsnew/3.11.rst:83 +#: ../../whatsnew/3.11.rst:81 msgid ":ref:`whatsnew311-pep657`" msgstr ":ref:`whatsnew311-pep657`" -#: ../../whatsnew/3.11.rst:84 +#: ../../whatsnew/3.11.rst:82 msgid "" "New :option:`-P` command line option and :envvar:`PYTHONSAFEPATH` " "environment variable to :ref:`disable automatically prepending potentially " "unsafe paths ` to :data:`sys.path`" msgstr "" -"Nova opção de linha de comando :option:`-P` e variável de ambiente :envvar:" -"`PYTHONSAFEPATH` para :ref:`desabilitar automaticamente a anteposição " -"automática de caminhos potencialmente inseguros ` para :data:`sys.path`" -#: ../../whatsnew/3.11.rst:88 +#: ../../whatsnew/3.11.rst:86 msgid "New typing features:" -msgstr " Novos recursos de tipagem:" +msgstr "Novos recursos de tipagem:" -#: ../../whatsnew/3.11.rst:90 +#: ../../whatsnew/3.11.rst:88 msgid ":ref:`whatsnew311-pep646`" msgstr ":ref:`whatsnew311-pep646`" -#: ../../whatsnew/3.11.rst:91 +#: ../../whatsnew/3.11.rst:89 msgid ":ref:`whatsnew311-pep655`" msgstr ":ref:`whatsnew311-pep655`" -#: ../../whatsnew/3.11.rst:92 +#: ../../whatsnew/3.11.rst:90 msgid ":ref:`whatsnew311-pep673`" msgstr ":ref:`whatsnew311-pep673`" -#: ../../whatsnew/3.11.rst:93 +#: ../../whatsnew/3.11.rst:91 msgid ":ref:`whatsnew311-pep675`" msgstr ":ref:`whatsnew311-pep675`" -#: ../../whatsnew/3.11.rst:94 +#: ../../whatsnew/3.11.rst:92 msgid ":ref:`whatsnew311-pep681`" msgstr ":ref:`whatsnew311-pep681`" -#: ../../whatsnew/3.11.rst:96 +#: ../../whatsnew/3.11.rst:94 msgid "Important deprecations, removals and restrictions:" msgstr "Descontinuações, remoções e restrições importantes:" -#: ../../whatsnew/3.11.rst:98 +#: ../../whatsnew/3.11.rst:96 msgid "" ":pep:`594`: :ref:`Many legacy standard library modules have been deprecated " "` and will be removed in Python 3.13" @@ -169,7 +142,7 @@ msgstr "" ":pep:`594`: :ref:`Muitos módulos legados de biblioteca padrão foram " "descontinuados ` e serão removidos no Python 3.13" -#: ../../whatsnew/3.11.rst:101 +#: ../../whatsnew/3.11.rst:99 msgid "" ":pep:`624`: :ref:`Py_UNICODE encoder APIs have been removed `" @@ -177,7 +150,7 @@ msgstr "" ":pep:`624`: :ref:`APIs do codificador Py_UNICODE foram removidas " "`" -#: ../../whatsnew/3.11.rst:103 +#: ../../whatsnew/3.11.rst:101 msgid "" ":pep:`670`: :ref:`Macros converted to static inline functions `" @@ -185,15 +158,15 @@ msgstr "" ":pep:`670`: :ref:`Macros convertidos em funções estáticas em linha " "`" -#: ../../whatsnew/3.11.rst:110 ../../whatsnew/3.11.rst:2191 +#: ../../whatsnew/3.11.rst:108 ../../whatsnew/3.11.rst:2224 msgid "New Features" msgstr "Novas funcionalidades" -#: ../../whatsnew/3.11.rst:115 +#: ../../whatsnew/3.11.rst:113 msgid "PEP 657: Fine-grained error locations in tracebacks" msgstr "PEP 657: Localizações de erros refinadas em tracebacks" -#: ../../whatsnew/3.11.rst:117 +#: ../../whatsnew/3.11.rst:115 msgid "" "When printing tracebacks, the interpreter will now point to the exact " "expression that caused the error, instead of just the line. For example:" @@ -202,7 +175,7 @@ msgstr "" "agora apontará para a expressão exata que causou o erro, em vez de apenas a " "linha. Por exemplo:" -#: ../../whatsnew/3.11.rst:131 +#: ../../whatsnew/3.11.rst:129 msgid "" "Previous versions of the interpreter would point to just the line, making it " "ambiguous which object was ``None``. These enhanced errors can also be " @@ -214,16 +187,16 @@ msgstr "" "úteis ao lidar com objetos :class:`dict` profundamente aninhados e várias " "chamadas de função:" -#: ../../whatsnew/3.11.rst:151 +#: ../../whatsnew/3.11.rst:149 msgid "As well as complex arithmetic expressions:" msgstr "Bem como expressões aritméticas complexas:" -#: ../../whatsnew/3.11.rst:161 +#: ../../whatsnew/3.11.rst:159 msgid "" "Additionally, the information used by the enhanced traceback feature is made " -"available via a general API, that can be used to correlate :term:`bytecode` :" -"ref:`instructions ` with source code location. This information " -"can be retrieved using:" +"available via a general API, that can be used to " +"correlate :term:`bytecode` :ref:`instructions ` with source code " +"location. This information can be retrieved using:" msgstr "" "Além disso, as informações usadas pela funcionalidade de traceback " "aprimorado são disponibilizadas por meio de uma API geral, que pode ser " @@ -231,15 +204,15 @@ msgstr "" "a localização do código-fonte. Essas informações podem ser recuperadas " "usando:" -#: ../../whatsnew/3.11.rst:166 +#: ../../whatsnew/3.11.rst:164 msgid "The :meth:`codeobject.co_positions` method in Python." msgstr "O método :meth:`codeobject.co_positions` no Python." -#: ../../whatsnew/3.11.rst:167 +#: ../../whatsnew/3.11.rst:165 msgid "The :c:func:`PyCode_Addr2Location` function in the C API." msgstr "A função :c:func:`PyCode_Addr2Location` na API C." -#: ../../whatsnew/3.11.rst:169 +#: ../../whatsnew/3.11.rst:167 msgid "" "See :pep:`657` for more details. (Contributed by Pablo Galindo, Batuhan " "Taskaya and Ammar Askar in :issue:`43950`.)" @@ -247,48 +220,48 @@ msgstr "" "Veja :pep:`657` para mais detalhes. (Contribuição de Pablo Galindo, Batuhan " "Taskaya e Ammar Askar em :issue:`43950`.)" -#: ../../whatsnew/3.11.rst:173 +#: ../../whatsnew/3.11.rst:171 msgid "" "This feature requires storing column positions in :ref:`codeobjects`, which " "may result in a small increase in interpreter memory usage and disk usage " "for compiled Python files. To avoid storing the extra information and " "deactivate printing the extra traceback information, use the :option:`-X " -"no_debug_ranges <-X>` command line option or the :envvar:" -"`PYTHONNODEBUGRANGES` environment variable." -msgstr "" -"Esse recurso requer o armazenamento de posições de coluna em :ref:" -"`codeobjects`, o que pode resultar em um pequeno aumento no uso de memória " -"do interpretador e no uso de disco para arquivos Python compilados. Para " -"evitar armazenar as informações extras e desativar a exibição das " -"informações extras de rastreamento, use a opção de linha de comando :option:" -"`-X no_debug_ranges <-X>` ou a variável de ambiente :envvar:" -"`PYTHONNODEBUGRANGES`." - -#: ../../whatsnew/3.11.rst:185 +"no_debug_ranges <-X>` command line option or " +"the :envvar:`PYTHONNODEBUGRANGES` environment variable." +msgstr "" +"Esse recurso requer o armazenamento de posições de coluna " +"em :ref:`codeobjects`, o que pode resultar em um pequeno aumento no uso de " +"memória do interpretador e no uso de disco para arquivos Python compilados. " +"Para evitar armazenar as informações extras e desativar a exibição das " +"informações extras de rastreamento, use a opção de linha de " +"comando :option:`-X no_debug_ranges <-X>` ou a variável de " +"ambiente :envvar:`PYTHONNODEBUGRANGES`." + +#: ../../whatsnew/3.11.rst:183 msgid "PEP 654: Exception Groups and ``except*``" msgstr "PEP 654: Grupos de exceção e ``except*``" -#: ../../whatsnew/3.11.rst:187 +#: ../../whatsnew/3.11.rst:185 msgid "" ":pep:`654` introduces language features that enable a program to raise and " -"handle multiple unrelated exceptions simultaneously. The builtin types :exc:" -"`ExceptionGroup` and :exc:`BaseExceptionGroup` make it possible to group " -"exceptions and raise them together, and the new :keyword:`except* " +"handle multiple unrelated exceptions simultaneously. The builtin " +"types :exc:`ExceptionGroup` and :exc:`BaseExceptionGroup` make it possible " +"to group exceptions and raise them together, and the new :keyword:`except* " "` syntax generalizes :keyword:`except` to match subgroups of " "exception groups." msgstr "" ":pep:`654` introduz recursos de linguagem que permitem que um programa " "levante e manipule várias exceções não relacionadas simultaneamente. Os " "tipos internos :exc:`ExceptionGroup` e :exc:`BaseExceptionGroup` tornam " -"possível agrupar exceções e criá-las juntas, e a nova sintaxe :keyword:" -"`except* ` generaliza :keyword:`except` para corresponder a " -"subgrupos de grupos de exceção." +"possível agrupar exceções e criá-las juntas, e a nova " +"sintaxe :keyword:`except* ` generaliza :keyword:`except` para " +"corresponder a subgrupos de grupos de exceção." -#: ../../whatsnew/3.11.rst:194 +#: ../../whatsnew/3.11.rst:192 msgid "See :pep:`654` for more details." msgstr "Veja :pep:`654` para mais detalhes." -#: ../../whatsnew/3.11.rst:196 +#: ../../whatsnew/3.11.rst:194 msgid "" "(Contributed by Irit Katriel in :issue:`45292`. PEP written by Irit Katriel, " "Yury Selivanov and Guido van Rossum.)" @@ -296,27 +269,27 @@ msgstr "" "(Contribuição de Irit Katriel em :issue:`45292`. PEP escrita por Irit " "Katriel, Yury Selivanov e Guido van Rossum.)" -#: ../../whatsnew/3.11.rst:203 +#: ../../whatsnew/3.11.rst:201 msgid "PEP 678: Exceptions can be enriched with notes" msgstr "PEP 678: Exceções podem ser enriquecidas com notas" -#: ../../whatsnew/3.11.rst:205 +#: ../../whatsnew/3.11.rst:203 msgid "" "The :meth:`~BaseException.add_note` method is added to :exc:`BaseException`. " "It can be used to enrich exceptions with context information that is not " "available at the time when the exception is raised. The added notes appear " "in the default traceback." msgstr "" -"O método :meth:`~BaseException.add_note` é adicionado a :exc:" -"`BaseException`. Ele pode ser usado para enriquecer exceções com informações " -"de contexto que não estão disponíveis no momento em que a exceção é gerada. " -"As notas adicionadas aparecem no traceback padrão." +"O método :meth:`~BaseException.add_note` é adicionado " +"a :exc:`BaseException`. Ele pode ser usado para enriquecer exceções com " +"informações de contexto que não estão disponíveis no momento em que a " +"exceção é gerada. As notas adicionadas aparecem no traceback padrão." -#: ../../whatsnew/3.11.rst:210 +#: ../../whatsnew/3.11.rst:208 msgid "See :pep:`678` for more details." msgstr "Veja :pep:`678` para mais detalhes." -#: ../../whatsnew/3.11.rst:212 +#: ../../whatsnew/3.11.rst:210 msgid "" "(Contributed by Irit Katriel in :issue:`45607`. PEP written by Zac Hatfield-" "Dodds.)" @@ -324,89 +297,91 @@ msgstr "" "(Contribuição de Irit Katriel em :issue:`45607`. PEP escrita por Zac " "Hatfield-Dodds.)" -#: ../../whatsnew/3.11.rst:219 +#: ../../whatsnew/3.11.rst:217 msgid "Windows ``py.exe`` launcher improvements" msgstr "Melhorias no inicializador ``py.exe`` do Windows" -#: ../../whatsnew/3.11.rst:221 +#: ../../whatsnew/3.11.rst:219 msgid "" "The copy of the :ref:`launcher` included with Python 3.11 has been " -"significantly updated. It now supports company/tag syntax as defined in :pep:" -"`514` using the ``-V:/`` argument instead of the limited ``-" -".``. This allows launching distributions other than " -"``PythonCore``, the one hosted on `python.org `_." +"significantly updated. It now supports company/tag syntax as defined " +"in :pep:`514` using the :samp:`-V:{}/{}` argument instead of " +"the limited :samp:`-{}.{}`. This allows launching " +"distributions other than ``PythonCore``, the one hosted on `python.org " +"`_." msgstr "" "A cópia do :ref:`launcher` incluída no Python 3.11 foi significativamente " "atualizada. Ele agora oferece suporte à sintaxe de company/tag conforme " -"definido em :pep:`514` usando o argumento ``-V:/`` em vez do " -"limitado ``-.``. Isso permite iniciar outras distribuições " -"além de ``PythonCore``, aquela hospedada em `python.org `_." +"definido em :pep:`514` usando o argumento :samp:`-V:{}/{}` em " +"vez do limitado :samp:`-{}.{}`. Isso permite iniciar outras " +"distribuições além de ``PythonCore``, aquela hospedada em `python.org " +"`_." -#: ../../whatsnew/3.11.rst:227 +#: ../../whatsnew/3.11.rst:225 msgid "" "When using ``-V:`` selectors, either company or tag can be omitted, but all " "installs will be searched. For example, ``-V:OtherPython/`` will select the " -"\"best\" tag registered for ``OtherPython``, while ``-V:3.11`` or ``-" -"V:/3.11`` will select the \"best\" distribution with tag ``3.11``." +"\"best\" tag registered for ``OtherPython``, while ``-V:3.11`` or ``-V:/" +"3.11`` will select the \"best\" distribution with tag ``3.11``." msgstr "" "Ao usar seletores ``-V:``, tanto company quanto tag podem ser omitidos, mas " "todas as instalações serão pesquisadas. Por exemplo, ``-V:OtherPython/`` " "selecionará a \"melhor\" tag registrada para ``OtherPython``, enquanto ``-" "V:3.11`` ou ``-V:/3.11`` selecionará o \"best\" com a tag ``3.11``." -#: ../../whatsnew/3.11.rst:232 -msgid "" -"When using the legacy ``-``, ``-.``, ``--" -"`` or ``-.-`` arguments, all existing " -"behaviour should be preserved from past versions, and only releases from " -"``PythonCore`` will be selected. However, the ``-64`` suffix now implies " -"\"not 32-bit\" (not necessarily x86-64), as there are multiple supported 64-" -"bit platforms. 32-bit runtimes are detected by checking the runtime's tag " -"for a ``-32`` suffix. All releases of Python since 3.5 have included this in " -"their 32-bit builds." -msgstr "" -"Ao usar os argumentos legados ``-``, ``-.``, ``--" -"`` ou ``-.-``, todo o comportamento " -"existente deve ser preservado de versões anteriores e somente lançamentos de " -"``PythonCore`` será selecionado. No entanto, o sufixo ``-64`` agora implica " -"\"não 32 bits\" (não necessariamente x86-64), pois existem várias " -"plataformas de 64 bits suportadas. Tempos de execução de 32 bits são " -"detectados verificando a tag do tempo de execução para um sufixo ``-32``. " -"Todas as versões do Python desde 3.5 incluíram isso em suas compilações de " -"32 bits." - -#: ../../whatsnew/3.11.rst:246 +#: ../../whatsnew/3.11.rst:230 +msgid "" +"When using the legacy :samp:`-{}`, :samp:`-{}.{}" +"`, :samp:`-{}-{}` or :samp:`-{}.{}-{}" +"` arguments, all existing behaviour should be preserved from past versions, " +"and only releases from ``PythonCore`` will be selected. However, the ``-64`` " +"suffix now implies \"not 32-bit\" (not necessarily x86-64), as there are " +"multiple supported 64-bit platforms. 32-bit runtimes are detected by " +"checking the runtime's tag for a ``-32`` suffix. All releases of Python " +"since 3.5 have included this in their 32-bit builds." +msgstr "" +"Ao usar os argumentos legados :samp:`-{}`, :samp:`-{}.{}" +"`, :samp:`-{}-{}` ou :samp:`-{}.{}-{}" +"`, todo o comportamento existente deve ser preservado de versões anteriores " +"e somente lançamentos de ``PythonCore`` será selecionado. No entanto, o " +"sufixo ``-64`` agora implica \"não 32 bits\" (não necessariamente x86-64), " +"pois existem várias plataformas de 64 bits suportadas. Tempos de execução de " +"32 bits são detectados verificando a tag do tempo de execução para um sufixo " +"``-32``. Todas as versões do Python desde 3.5 incluíram isso em suas " +"compilações de 32 bits." + +#: ../../whatsnew/3.11.rst:244 msgid "New Features Related to Type Hints" -msgstr "Novos recurso relacionados a dicas de tipo" +msgstr "Novos recursos relacionados a dicas de tipo" -#: ../../whatsnew/3.11.rst:248 +#: ../../whatsnew/3.11.rst:246 msgid "" -"This section covers major changes affecting :pep:`484` type hints and the :" -"mod:`typing` module." +"This section covers major changes affecting :pep:`484` type hints and " +"the :mod:`typing` module." msgstr "" -"Esta seção cobre as principais mudanças que afetam as dicas de tipo da :pep:" -"`484` e o módulo :mod:`typing`." +"Esta seção cobre as principais mudanças que afetam as dicas de tipo " +"da :pep:`484` e o módulo :mod:`typing`." -#: ../../whatsnew/3.11.rst:255 +#: ../../whatsnew/3.11.rst:253 msgid "PEP 646: Variadic generics" msgstr "PEP 646: Genéricos variádicos" -#: ../../whatsnew/3.11.rst:257 +#: ../../whatsnew/3.11.rst:255 msgid "" ":pep:`484` previously introduced :data:`~typing.TypeVar`, enabling creation " -"of generics parameterised with a single type. :pep:`646` adds :data:`~typing." -"TypeVarTuple`, enabling parameterisation with an *arbitrary* number of " -"types. In other words, a :data:`~typing.TypeVarTuple` is a *variadic* type " -"variable, enabling *variadic* generics." +"of generics parameterised with a single type. :pep:`646` " +"adds :data:`~typing.TypeVarTuple`, enabling parameterisation with an " +"*arbitrary* number of types. In other words, a :data:`~typing.TypeVarTuple` " +"is a *variadic* type variable, enabling *variadic* generics." msgstr "" ":pep:`484` introduzido anteriormente :data:`~typing.TypeVar`, permitindo a " -"criação de genéricos parametrizados com um único tipo. :pep:`646` adiciona :" -"data:`~typing.TypeVarTuple`, permitindo a parametrização com um número " -"*arbitrário* de tipos. Em outras palavras, uma :data:`~typing.TypeVarTuple` " -"é uma variável do tipo *variádico*, habilitando genéricos *variádicos*." +"criação de genéricos parametrizados com um único tipo. :pep:`646` " +"adiciona :data:`~typing.TypeVarTuple`, permitindo a parametrização com um " +"número *arbitrário* de tipos. Em outras palavras, " +"uma :data:`~typing.TypeVarTuple` é uma variável do tipo *variádico*, " +"habilitando genéricos *variádicos*." -#: ../../whatsnew/3.11.rst:264 +#: ../../whatsnew/3.11.rst:262 msgid "" "This enables a wide variety of use cases. In particular, it allows the type " "of array-like structures in numerical computing libraries such as NumPy and " @@ -420,11 +395,11 @@ msgstr "" "Os verificadores de tipo estáticos agora poderão capturar bugs relacionados " "a formas no código que usa essas bibliotecas." -#: ../../whatsnew/3.11.rst:270 +#: ../../whatsnew/3.11.rst:268 msgid "See :pep:`646` for more details." msgstr "Veja :pep:`646` para mais detalhes." -#: ../../whatsnew/3.11.rst:272 +#: ../../whatsnew/3.11.rst:270 msgid "" "(Contributed by Matthew Rahtz in :issue:`43224`, with contributions by " "Serhiy Storchaka and Jelle Zijlstra. PEP written by Mark Mendoza, Matthew " @@ -434,25 +409,25 @@ msgstr "" "Serhiy Storchaka e Jelle Zijlstra. PEP escrita por Mark Mendoza, Matthew " "Rahtz, Pradeep Kumar Srinivasan e Vincent Siles.)" -#: ../../whatsnew/3.11.rst:280 +#: ../../whatsnew/3.11.rst:278 msgid "" "PEP 655: Marking individual ``TypedDict`` items as required or not-required" msgstr "" "PEP 655: Marcando itens ``TypedDict`` individuais como obrigatórios ou não " "obrigatórios" -#: ../../whatsnew/3.11.rst:282 +#: ../../whatsnew/3.11.rst:280 msgid "" ":data:`~typing.Required` and :data:`~typing.NotRequired` provide a " -"straightforward way to mark whether individual items in a :class:`~typing." -"TypedDict` must be present. Previously, this was only possible using " -"inheritance." +"straightforward way to mark whether individual items in " +"a :class:`~typing.TypedDict` must be present. Previously, this was only " +"possible using inheritance." msgstr "" ":data:`~typing.Required` e :data:`~typing.NotRequired` fornecem uma maneira " "direta de marcar se itens individuais em um :class:`~typing.TypedDict` devem " "estar presentes. Anteriormente, isso só era possível usando herança." -#: ../../whatsnew/3.11.rst:287 +#: ../../whatsnew/3.11.rst:285 msgid "" "All fields are still required by default, unless the *total* parameter is " "set to ``False``, in which case all fields are still not-required by " @@ -464,15 +439,15 @@ msgstr "" "são obrigatórios por padrão. Por exemplo, o seguinte especifica um :class:`!" "TypedDict` com uma chave obrigatória e uma chave não obrigatória::" -#: ../../whatsnew/3.11.rst:301 +#: ../../whatsnew/3.11.rst:299 msgid "The following definition is equivalent::" msgstr "A seguinte definição é equivalente::" -#: ../../whatsnew/3.11.rst:307 +#: ../../whatsnew/3.11.rst:305 msgid "See :pep:`655` for more details." msgstr "Veja :pep:`655` para mais detalhes." -#: ../../whatsnew/3.11.rst:309 +#: ../../whatsnew/3.11.rst:307 msgid "" "(Contributed by David Foster and Jelle Zijlstra in :issue:`47087`. PEP " "written by David Foster.)" @@ -480,11 +455,11 @@ msgstr "" "(Contribuição de David Foster e Jelle Zijlstra em :issue:`47087`. PEP " "escrita por David Foster.)" -#: ../../whatsnew/3.11.rst:316 +#: ../../whatsnew/3.11.rst:314 msgid "PEP 673: ``Self`` type" msgstr "PEP 673: Tipo ``Self``" -#: ../../whatsnew/3.11.rst:318 +#: ../../whatsnew/3.11.rst:316 msgid "" "The new :data:`~typing.Self` annotation provides a simple and intuitive way " "to annotate methods that return an instance of their class. This behaves the " @@ -494,21 +469,21 @@ msgid "" msgstr "" "A nova anotação :data:`~typing.Self` fornece uma maneira simples e intuitiva " "de anotar métodos que retornam uma instância de sua classe. Isso se comporta " -"da mesma forma que a abordagem baseada em :class:`~typing.TypeVar` :pep:" -"`especificada na PEP 484 <484#annotating-instance-and-class-methods>`, mas é " -"mais concisa e fácil de seguir." +"da mesma forma que a abordagem baseada " +"em :class:`~typing.TypeVar` :pep:`especificada na PEP 484 <484#annotating-" +"instance-and-class-methods>`, mas é mais concisa e fácil de seguir." -#: ../../whatsnew/3.11.rst:324 +#: ../../whatsnew/3.11.rst:322 msgid "" -"Common use cases include alternative constructors provided as :func:" -"`classmethod `\\s, and :meth:`~object.__enter__` methods that " -"return ``self``::" +"Common use cases include alternative constructors provided " +"as :func:`classmethod `\\s, and :meth:`~object.__enter__` " +"methods that return ``self``::" msgstr "" -"Casos de uso comuns incluem construtores alternativos fornecidos como :func:" -"`classmethod `\\s e métodos :meth:`~object.__enter__` que " -"retornam ``self``::" +"Casos de uso comuns incluem construtores alternativos fornecidos " +"como :func:`classmethod `\\s e " +"métodos :meth:`~object.__enter__` que retornam ``self``::" -#: ../../whatsnew/3.11.rst:342 +#: ../../whatsnew/3.11.rst:340 msgid "" ":data:`~typing.Self` can also be used to annotate method parameters or " "attributes of the same type as their enclosing class." @@ -516,11 +491,11 @@ msgstr "" ":data:`~typing.Self` também pode ser usado para anotar parâmetros de métodos " "ou atributos do mesmo tipo que sua classe de inclusão." -#: ../../whatsnew/3.11.rst:345 +#: ../../whatsnew/3.11.rst:343 msgid "See :pep:`673` for more details." msgstr "Veja :pep:`673` para mais detalhes." -#: ../../whatsnew/3.11.rst:347 +#: ../../whatsnew/3.11.rst:345 msgid "" "(Contributed by James Hilton-Balfe in :issue:`46534`. PEP written by Pradeep " "Kumar Srinivasan and James Hilton-Balfe.)" @@ -528,11 +503,11 @@ msgstr "" "(Contribuição de James Hilton-Balfe em :issue:`46534`. PEP escrita por " "Pradeep Kumar Srinivasan e James Hilton-Balfe.)" -#: ../../whatsnew/3.11.rst:354 +#: ../../whatsnew/3.11.rst:352 msgid "PEP 675: Arbitrary literal string type" msgstr "PEP 675: Tipo de string literal arbitrário" -#: ../../whatsnew/3.11.rst:356 +#: ../../whatsnew/3.11.rst:354 msgid "" "The new :data:`~typing.LiteralString` annotation may be used to indicate " "that a function parameter can be of any literal string type. This allows a " @@ -550,16 +525,16 @@ msgstr "" "instruções SQL ou comandos de console, sejam chamadas apenas com argumentos " "estáticos, fornecendo proteção contra ataques de injeção." -#: ../../whatsnew/3.11.rst:364 +#: ../../whatsnew/3.11.rst:362 msgid "For example, a SQL query function could be annotated as follows::" msgstr "" "Por exemplo, uma função de consulta SQL pode ser anotada da seguinte forma::" -#: ../../whatsnew/3.11.rst:382 +#: ../../whatsnew/3.11.rst:380 msgid "See :pep:`675` for more details." msgstr "Veja :pep:`675` para mais detalhes." -#: ../../whatsnew/3.11.rst:384 +#: ../../whatsnew/3.11.rst:382 msgid "" "(Contributed by Jelle Zijlstra in :issue:`47088`. PEP written by Pradeep " "Kumar Srinivasan and Graham Bleaney.)" @@ -567,17 +542,17 @@ msgstr "" "(Contribuição de Jelle Zijlstra em :issue:`47088`. PEP escrita por Pradeep " "Kumar Srinivasan e Graham Bleaney.)" -#: ../../whatsnew/3.11.rst:391 +#: ../../whatsnew/3.11.rst:389 msgid "PEP 681: Data class transforms" msgstr "PEP 681: Transformações de classe de dados" -#: ../../whatsnew/3.11.rst:393 +#: ../../whatsnew/3.11.rst:391 msgid "" ":data:`~typing.dataclass_transform` may be used to decorate a class, " "metaclass, or a function that is itself a decorator. The presence of " "``@dataclass_transform()`` tells a static type checker that the decorated " -"object performs runtime \"magic\" that transforms a class, giving it :func:" -"`dataclass `-like behaviors." +"object performs runtime \"magic\" that transforms a class, giving " +"it :func:`dataclass `-like behaviors." msgstr "" ":data:`~typing.dataclass_transform` pode ser usado para decorar uma classe, " "metaclasse ou uma função que é um decorador. A presença de " @@ -586,15 +561,15 @@ msgstr "" "uma classe, dando a ela comportamentos semelhantes a :func:`dataclass " "`." -#: ../../whatsnew/3.11.rst:399 +#: ../../whatsnew/3.11.rst:397 msgid "For example::" msgstr "Por exemplo::" -#: ../../whatsnew/3.11.rst:417 +#: ../../whatsnew/3.11.rst:415 msgid "See :pep:`681` for more details." msgstr "Veja :pep:`681` para mais detalhes." -#: ../../whatsnew/3.11.rst:419 +#: ../../whatsnew/3.11.rst:417 msgid "" "(Contributed by Jelle Zijlstra in :gh:`91860`. PEP written by Erik De Bonte " "and Eric Traut.)" @@ -602,11 +577,11 @@ msgstr "" "(Contribuição de Jelle Zijlstra em :gh:`91860`. PEP escrita por Erik De " "Bonte e Eric Traut.)" -#: ../../whatsnew/3.11.rst:426 +#: ../../whatsnew/3.11.rst:424 msgid "PEP 563 may not be the future" msgstr "PEP 563 pode não ser o futuro" -#: ../../whatsnew/3.11.rst:428 +#: ../../whatsnew/3.11.rst:426 msgid "" ":pep:`563` Postponed Evaluation of Annotations (the ``from __future__ import " "annotations`` :ref:`future statement `) that was originally planned " @@ -618,23 +593,23 @@ msgstr "" ":pep:`563` Avaliação adiada de anotações (a ``from __future__ import " "annotations`` :ref:`instrução future `) que foi originalmente " "planejada para lançamento no Python 3.10 foi colocada em espera " -"indefinidamente. Veja `esta mensagem do Conselho Diretor `__ para mais informações." -#: ../../whatsnew/3.11.rst:439 +#: ../../whatsnew/3.11.rst:437 msgid "Other Language Changes" msgstr "Outras mudanças na linguagem" -#: ../../whatsnew/3.11.rst:441 +#: ../../whatsnew/3.11.rst:439 msgid "" "Starred unpacking expressions can now be used in :keyword:`for` statements. " "(See :issue:`46725` for more details.)" msgstr "" -"Expressões de descompactação com asterisco agora podem ser usadas em " +"Expressões de desempacotamento com asterisco agora podem ser usadas em " "instruções :keyword:`for`. (Veja :issue:`46725` para mais detalhes.)" -#: ../../whatsnew/3.11.rst:444 +#: ../../whatsnew/3.11.rst:442 msgid "" "Asynchronous :ref:`comprehensions ` are now allowed inside " "comprehensions in :ref:`asynchronous functions `. Outer " @@ -646,64 +621,71 @@ msgstr "" "externas tornam-se implicitamente assíncronas neste caso. (Contribuição de " "Serhiy Storchaka em :issue:`33346`.)" -#: ../../whatsnew/3.11.rst:449 -msgid "" -"A :exc:`TypeError` is now raised instead of an :exc:`AttributeError` in :" -"keyword:`with` statements and :meth:`contextlib.ExitStack.enter_context` for " -"objects that do not support the :term:`context manager` protocol, and in :" -"keyword:`async with` statements and :meth:`contextlib.AsyncExitStack." -"enter_async_context` for objects not supporting the :term:`asynchronous " -"context manager` protocol. (Contributed by Serhiy Storchaka in :issue:" -"`12022` and :issue:`44471`.)" -msgstr "" -"Uma exceção :exc:`TypeError` agora é levantada em vez de uma :exc:" -"`AttributeError` em instruções :keyword:`with` e :meth:`contextlib.ExitStack." -"enter_context` para objetos que não oferecem suporte ao protocolo de :term:" -"`gerenciador de contexto`, e em instruções :keyword:`async with` e :meth:" -"`contextlib.AsyncExitStack.enter_async_context` para objetos que não " +#: ../../whatsnew/3.11.rst:447 +msgid "" +"A :exc:`TypeError` is now raised instead of an :exc:`AttributeError` " +"in :keyword:`with` statements and :meth:`contextlib.ExitStack.enter_context` " +"for objects that do not support the :term:`context manager` protocol, and " +"in :keyword:`async with` statements " +"and :meth:`contextlib.AsyncExitStack.enter_async_context` for objects not " +"supporting the :term:`asynchronous context manager` protocol. (Contributed " +"by Serhiy Storchaka in :issue:`12022` and :issue:`44471`.)" +msgstr "" +"Uma exceção :exc:`TypeError` agora é levantada em vez de " +"uma :exc:`AttributeError` em instruções :keyword:`with` " +"e :meth:`contextlib.ExitStack.enter_context` para objetos que não oferecem " +"suporte ao protocolo de :term:`gerenciador de contexto`, e em " +"instruções :keyword:`async with` " +"e :meth:`contextlib.AsyncExitStack.enter_async_context` para objetos que não " "oferecem suporte ao protocolo de :term:`gerenciador de contexto assíncrono`. " "(Contribuição de Serhiy Storchaka em :issue:`12022` e :issue:`44471`.)" -#: ../../whatsnew/3.11.rst:457 +#: ../../whatsnew/3.11.rst:455 msgid "" "Added :meth:`object.__getstate__`, which provides the default implementation " "of the :meth:`!__getstate__` method. :mod:`copy`\\ing and :mod:`pickle`\\ing " -"instances of subclasses of builtin types :class:`bytearray`, :class:`set`, :" -"class:`frozenset`, :class:`collections.OrderedDict`, :class:`collections." -"deque`, :class:`weakref.WeakSet`, and :class:`datetime.tzinfo` now copies " -"and pickles instance attributes implemented as :term:`slots <__slots__>`. " +"instances of subclasses of builtin " +"types :class:`bytearray`, :class:`set`, :class:`frozenset`, :class:`collections.OrderedDict`, :class:`collections.deque`, :class:`weakref.WeakSet`, " +"and :class:`datetime.tzinfo` now copies and pickles instance attributes " +"implemented as :term:`slots <__slots__>`. This change has an unintended side " +"effect: It trips up a small minority of existing Python projects not " +"expecting :meth:`object.__getstate__` to exist. See the later comments " +"on :gh:`70766` for discussions of what workarounds such code may need. " "(Contributed by Serhiy Storchaka in :issue:`26579`.)" msgstr "" "Adicionado :meth:`object.__getstate__`, que fornece a implementação padrão " "do método :meth:`!__getstate__`. Fazer :mod:`copy` e :mod:`pickle` de " -"instâncias de subclasses de tipos embutidos :class:`bytearray`, :class:" -"`set`, :class:`frozenset`, :class:`collections. OrderedDict`, :class:" -"`collections.deque`, :class:`weakref.WeakSet` e :class:`datetime.tzinfo` " -"agora copia e serializa com pickle atributos de instância implementados " -"como :term:`slots <__slots__>`. (Contribuição de Serhiy Storchaka em :issue:" -"`26579`.)" - -#: ../../whatsnew/3.11.rst:468 +"instâncias de subclasses de tipos " +"embutidos :class:`bytearray`, :class:`set`, :class:`frozenset`, :class:`collections.OrderedDict`, :class:`collections.deque`, :class:`weakref.WeakSet` " +"e :class:`datetime.tzinfo` agora copia e serializa com pickle atributos de " +"instância implementados como :term:`slots <__slots__>`. Essa mudança tem um " +"efeito colateral não intencional: ela atrapalha uma pequena minoria de " +"projetos Python existentes que não esperavam que :meth:`object.__getstate__` " +"existisse. Consulte os comentários posteriores em :gh:`70766` para " +"discussões sobre quais soluções alternativas esse código pode precisar. " +"(Contribuição de Serhiy Storchaka em :issue:`26579`.)" + +#: ../../whatsnew/3.11.rst:470 msgid "" "Added a :option:`-P` command line option and a :envvar:`PYTHONSAFEPATH` " -"environment variable, which disable the automatic prepending to :data:`sys." -"path` of the script's directory when running a script, or the current " -"directory when using :option:`-c` and :option:`-m`. This ensures only stdlib " -"and installed modules are picked up by :keyword:`import`, and avoids " -"unintentionally or maliciously shadowing modules with those in a local (and " -"typically user-writable) directory. (Contributed by Victor Stinner in :gh:" -"`57684`.)" +"environment variable, which disable the automatic prepending " +"to :data:`sys.path` of the script's directory when running a script, or the " +"current directory when using :option:`-c` and :option:`-m`. This ensures " +"only stdlib and installed modules are picked up by :keyword:`import`, and " +"avoids unintentionally or maliciously shadowing modules with those in a " +"local (and typically user-writable) directory. (Contributed by Victor " +"Stinner in :gh:`57684`.)" msgstr "" "Adicionada uma opção de linha de comando :option:`-P` e uma variável de " -"ambiente :envvar:`PYTHONSAFEPATH`, que desativa o prefixo automático para :" -"data:`sys.path` do diretório do script ao executar um script ou o diretório " -"atual ao usar :option:`-c` e :option:`-m`. Isso garante que apenas os " -"módulos stdlib e instalados sejam escolhidos por :keyword:`import`, e evita " -"sombreamento involuntário ou mal-intencionado de módulos com aqueles em um " -"diretório local (e normalmente gravável pelo usuário). (Contribuição de " -"Victor Stinner em :gh:`57684`.)" +"ambiente :envvar:`PYTHONSAFEPATH`, que desativa o prefixo automático " +"para :data:`sys.path` do diretório do script ao executar um script ou o " +"diretório atual ao usar :option:`-c` e :option:`-m`. Isso garante que apenas " +"os módulos stdlib e instalados sejam escolhidos por :keyword:`import`, e " +"evita sombreamento involuntário ou mal-intencionado de módulos com aqueles " +"em um diretório local (e normalmente gravável pelo usuário). (Contribuição " +"de Victor Stinner em :gh:`57684`.)" -#: ../../whatsnew/3.11.rst:479 +#: ../../whatsnew/3.11.rst:481 msgid "" "A ``\"z\"`` option was added to the :ref:`formatspec` that coerces negative " "to positive zero after rounding to the format precision. See :pep:`682` for " @@ -711,10 +693,10 @@ msgid "" msgstr "" "Uma opção ``\"z\"`` foi adicionada ao :ref:`formatspec` que força zero " "negativo para positivo após o arredondamento para a precisão do formato. " -"Veja :pep:`682` para mais detalhes. (Contribuição de John Belmonte em :gh:" -"`90153`.)" +"Veja :pep:`682` para mais detalhes. (Contribuição de John Belmonte " +"em :gh:`90153`.)" -#: ../../whatsnew/3.11.rst:484 +#: ../../whatsnew/3.11.rst:486 msgid "" "Bytes are no longer accepted on :data:`sys.path`. Support broke sometime " "between Python 3.2 and 3.6, with no one noticing until after Python 3.10.0 " @@ -726,28 +708,29 @@ msgstr "" "Bytes não são mais aceitos em :data:`sys.path`. O suporte quebrou em algum " "momento entre o Python 3.2 e o 3.6, sem que ninguém percebesse até o " "lançamento do Python 3.10.0. Além disso, trazer de volta o suporte seria " -"problemático devido às interações entre :option:`-b` e :data:`sys." -"path_importer_cache` quando há uma mistura de chaves :class:`str` e :class:" -"`bytes`. (Contribuição de Thomas Grainger em :gh:`91181`.)" +"problemático devido às interações entre :option:`-b` " +"e :data:`sys.path_importer_cache` quando há uma mistura de " +"chaves :class:`str` e :class:`bytes`. (Contribuição de Thomas Grainger " +"em :gh:`91181`.)" -#: ../../whatsnew/3.11.rst:495 +#: ../../whatsnew/3.11.rst:497 msgid "Other CPython Implementation Changes" msgstr "Outras mudanças na implementação do CPython" -#: ../../whatsnew/3.11.rst:497 +#: ../../whatsnew/3.11.rst:499 msgid "" -"The special methods :meth:`~object.__complex__` for :class:`complex` and :" -"meth:`~object.__bytes__` for :class:`bytes` are implemented to support the :" -"class:`typing.SupportsComplex` and :class:`typing.SupportsBytes` protocols. " -"(Contributed by Mark Dickinson and Dong-hee Na in :issue:`24234`.)" +"The special methods :meth:`~object.__complex__` for :class:`complex` " +"and :meth:`~object.__bytes__` for :class:`bytes` are implemented to support " +"the :class:`typing.SupportsComplex` and :class:`typing.SupportsBytes` " +"protocols. (Contributed by Mark Dickinson and Donghee Na in :issue:`24234`.)" msgstr "" -"Os métodos especiais :meth:`~object.__complex__` para :class:`complex` e :" -"meth:`~object.__bytes__` para :class:`bytes` são implementados para oferecer " -"suporte aos protocolos :class:`typing.SupportsComplex` e :class:`typing." -"SupportsBytes`. (Contribuição de Mark Dickinson e Dong-hee Na em :issue:" -"`24234`.)" +"Os métodos especiais :meth:`~object.__complex__` para :class:`complex` " +"e :meth:`~object.__bytes__` para :class:`bytes` são implementados para " +"oferecer suporte aos protocolos :class:`typing.SupportsComplex` " +"e :class:`typing.SupportsBytes`. (Contribuição de Mark Dickinson e Donghee " +"Na em :issue:`24234`.)" -#: ../../whatsnew/3.11.rst:502 +#: ../../whatsnew/3.11.rst:504 msgid "" "``siphash13`` is added as a new internal hashing algorithm. It has similar " "security properties as ``siphash24``, but it is slightly faster for long " @@ -759,25 +742,26 @@ msgstr "" "``siphash13`` foi adicionado como um novo algoritmo de hash interno. Ele tem " "propriedades de segurança semelhantes ao ``siphash24``, mas é um pouco mais " "rápido para entradas longas. :class:`str`, :class:`bytes` e alguns outros " -"tipos agora o usam como o algoritmo padrão para :func:`hash`. :ref:" -"`Arquivos .pyc baseados em hash ` da :pep:`552` agora usam " -"``siphash13`` também. (Contribuição de Inada Naoki em :issue:`29410`.)" +"tipos agora o usam como o algoritmo padrão " +"para :func:`hash`. :ref:`Arquivos .pyc baseados em hash ` " +"da :pep:`552` agora usam ``siphash13`` também. (Contribuição de Inada Naoki " +"em :issue:`29410`.)" -#: ../../whatsnew/3.11.rst:511 +#: ../../whatsnew/3.11.rst:513 msgid "" "When an active exception is re-raised by a :keyword:`raise` statement with " -"no parameters, the traceback attached to this exception is now always ``sys." -"exc_info()[1].__traceback__``. This means that changes made to the traceback " -"in the current :keyword:`except` clause are reflected in the re-raised " -"exception. (Contributed by Irit Katriel in :issue:`45711`.)" +"no parameters, the traceback attached to this exception is now always " +"``sys.exc_info()[1].__traceback__``. This means that changes made to the " +"traceback in the current :keyword:`except` clause are reflected in the re-" +"raised exception. (Contributed by Irit Katriel in :issue:`45711`.)" msgstr "" "Quando uma exceção ativa é reativada por uma instrução :keyword:`raise` sem " -"parâmetros, o traceback anexado a essa exceção agora é sempre ``sys." -"exc_info()[1].__traceback__``. Isso significa que as alterações feitas no " -"traceback na cláusula :keyword:`except` atual são refletidas na exceção " +"parâmetros, o traceback anexado a essa exceção agora é sempre " +"``sys.exc_info()[1].__traceback__``. Isso significa que as alterações feitas " +"no traceback na cláusula :keyword:`except` atual são refletidas na exceção " "levantada novamente. (Contribuição de Irit Katriel em :issue:`45711`.)" -#: ../../whatsnew/3.11.rst:517 +#: ../../whatsnew/3.11.rst:519 msgid "" "The interpreter state's representation of handled exceptions (aka " "``exc_info`` or ``_PyErr_StackItem``) now only has the ``exc_value`` field; " @@ -787,10 +771,10 @@ msgstr "" "A representação do estado do interpretador de exceções tratadas (também " "conhecidas como ``exc_info`` ou ``_PyErr_StackItem``) agora tem apenas o " "campo ``exc_value``; ``exc_type`` e ``exc_traceback`` foram removidos, pois " -"podem ser derivados de ``exc_value``. (Contribuição de Irit Katriel em :" -"issue:`45711`.)" +"podem ser derivados de ``exc_value``. (Contribuição de Irit Katriel " +"em :issue:`45711`.)" -#: ../../whatsnew/3.11.rst:523 +#: ../../whatsnew/3.11.rst:525 msgid "" "A new :ref:`command line option `, ``AppendPath``, has " "been added for the Windows installer. It behaves similarly to " @@ -803,7 +787,7 @@ msgstr "" "instalação e scripts em vez de antecedê-los. (Contribuição de Bastian " "Neuburger em :issue:`44934`.)" -#: ../../whatsnew/3.11.rst:529 +#: ../../whatsnew/3.11.rst:531 msgid "" "The :c:member:`PyConfig.module_search_paths_set` field must now be set to " "``1`` for initialization to use :c:member:`PyConfig.module_search_paths` to " @@ -811,12 +795,13 @@ msgid "" "path and replace any values added to ``module_search_paths``." msgstr "" "O campo :c:member:`PyConfig.module_search_paths_set` agora deve ser definido " -"como ``1`` para a inicialização usar :c:member:`PyConfig." -"module_search_paths` para inicializar :data:`sys.path`. Caso contrário, a " -"inicialização irá recalcular o caminho e substituir quaisquer valores " -"adicionados a ``module_search_paths``." +"como ``1`` para a inicialização " +"usar :c:member:`PyConfig.module_search_paths` para " +"inicializar :data:`sys.path`. Caso contrário, a inicialização irá recalcular " +"o caminho e substituir quaisquer valores adicionados a " +"``module_search_paths``." -#: ../../whatsnew/3.11.rst:534 +#: ../../whatsnew/3.11.rst:536 msgid "" "The output of the :option:`--help` option now fits in 50 lines/80 columns. " "Information about :ref:`Python environment variables ` " @@ -828,10 +813,10 @@ msgstr "" "Informações sobre as :ref:`variáveis de ambiente do Python ` e a opção :option:`-X` agora estão disponíveis usando os " "respectivos sinalizadores :option:`--help-env` e :option:`--help-xoptions`, " -"e com o novo :option:`--help-all`. (Contribuição de Éric Araujo em :issue:" -"`46142`.)" +"e com o novo :option:`--help-all`. (Contribuição de Éric Araujo " +"em :issue:`46142`.)" -#: ../../whatsnew/3.11.rst:541 +#: ../../whatsnew/3.11.rst:543 msgid "" "Converting between :class:`int` and :class:`str` in bases other than 2 " "(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) " @@ -839,10 +824,10 @@ msgid "" "above a limit to avoid potential denial of service attacks due to the " "algorithmic complexity. This is a mitigation for `CVE-2020-10735 `_. This limit can be " -"configured or disabled by environment variable, command line flag, or :mod:" -"`sys` APIs. See the :ref:`integer string conversion length limitation " -"` documentation. The default limit is 4300 digits in " -"string form." +"configured or disabled by environment variable, command line flag, " +"or :mod:`sys` APIs. See the :ref:`integer string conversion length " +"limitation ` documentation. The default limit is 4300 " +"digits in string form." msgstr "" "Converter entre :class:`int` e :class:`str` em bases diferentes de 2 " "(binário), 4, 8 (octal), 16 (hexadecimal) ou 32 como base 10 (decimal) agora " @@ -856,11 +841,11 @@ msgstr "" "inteira `. O limite padrão é de 4300 dígitos em forma de " "string." -#: ../../whatsnew/3.11.rst:556 +#: ../../whatsnew/3.11.rst:558 msgid "New Modules" msgstr "Novos módulos" -#: ../../whatsnew/3.11.rst:558 +#: ../../whatsnew/3.11.rst:560 msgid "" ":mod:`tomllib`: For parsing `TOML `_. See :pep:`680` for " "more details. (Contributed by Taneli Hukkinen in :issue:`40059`.)" @@ -868,30 +853,30 @@ msgstr "" ":mod:`tomllib`: Para analisar `TOML `_. Veja :pep:`680` " "para mais detalhes. (Contribuição de Taneli Hukkinen em :issue:`40059`.)" -#: ../../whatsnew/3.11.rst:562 +#: ../../whatsnew/3.11.rst:564 msgid "" ":mod:`wsgiref.types`: :pep:`WSGI <3333>`-specific types for static type " "checking. (Contributed by Sebastian Rittau in :issue:`42012`.)" msgstr "" ":mod:`wsgiref.types`: Tipos específicos de :pep:`WSGI <3333>` para " -"verificação de tipo estático. (Contribuição de Sebastian Rittau em :issue:" -"`42012`.)" +"verificação de tipo estático. (Contribuição de Sebastian Rittau " +"em :issue:`42012`.)" -#: ../../whatsnew/3.11.rst:570 +#: ../../whatsnew/3.11.rst:572 msgid "Improved Modules" msgstr "Módulos melhorados" -#: ../../whatsnew/3.11.rst:575 +#: ../../whatsnew/3.11.rst:577 msgid "asyncio" msgstr "asyncio" -#: ../../whatsnew/3.11.rst:577 +#: ../../whatsnew/3.11.rst:579 msgid "" "Added the :class:`~asyncio.TaskGroup` class, an :ref:`asynchronous context " "manager ` holding a group of tasks that will wait " -"for all of them upon exit. For new code this is recommended over using :func:" -"`~asyncio.create_task` and :func:`~asyncio.gather` directly. (Contributed by " -"Yury Selivanov and others in :gh:`90908`.)" +"for all of them upon exit. For new code this is recommended over " +"using :func:`~asyncio.create_task` and :func:`~asyncio.gather` directly. " +"(Contributed by Yury Selivanov and others in :gh:`90908`.)" msgstr "" "Adicionada a classe :class:`~asyncio.TaskGroup`, um :ref:`assíncrono " "gerenciador de contexto ` contendo um grupo de " @@ -899,19 +884,19 @@ msgstr "" "recomendado usar :func:`~asyncio.create_task` e :func:`~asyncio.gather` " "diretamente. (Contribuição de Yury Selivanov e outros em :gh:`90908`.)" -#: ../../whatsnew/3.11.rst:584 +#: ../../whatsnew/3.11.rst:586 msgid "" "Added :func:`~asyncio.timeout`, an asynchronous context manager for setting " "a timeout on asynchronous operations. For new code this is recommended over " -"using :func:`~asyncio.wait_for` directly. (Contributed by Andrew Svetlov in :" -"gh:`90927`.)" +"using :func:`~asyncio.wait_for` directly. (Contributed by Andrew Svetlov " +"in :gh:`90927`.)" msgstr "" "Adicionado :func:`~asyncio.timeout`, um gerenciador de contexto assíncrono " "para definir um tempo limite em operações assíncronas. Para código novo, é " "recomendado usar :func:`~asyncio.wait_for` diretamente. (Contribuição de " "Andrew Svetlov em :gh:`90927`.)" -#: ../../whatsnew/3.11.rst:589 +#: ../../whatsnew/3.11.rst:591 msgid "" "Added the :class:`~asyncio.Runner` class, which exposes the machinery used " "by :func:`~asyncio.run`. (Contributed by Andrew Svetlov in :gh:`91218`.)" @@ -919,7 +904,7 @@ msgstr "" "Adicionada a classe :class:`~asyncio.Runner`, que expõe o maquinário usado " "por :func:`~asyncio.run`. (Contribuição de Andrew Svetlov em :gh:`91218`.)" -#: ../../whatsnew/3.11.rst:593 +#: ../../whatsnew/3.11.rst:595 msgid "" "Added the :class:`~asyncio.Barrier` class to the synchronization primitives " "in the asyncio library, and the related :exc:`~asyncio.BrokenBarrierError` " @@ -929,110 +914,115 @@ msgstr "" "na biblioteca asyncio, e a exceção :exc:`~asyncio.BrokenBarrierError` " "relacionada. (Contribuição de Yves Duprat e Andrew Svetlov em :gh:`87518`.)" -#: ../../whatsnew/3.11.rst:598 +#: ../../whatsnew/3.11.rst:600 msgid "" -"Added keyword argument *all_errors* to :meth:`asyncio.loop." -"create_connection` so that multiple connection errors can be raised as an :" -"exc:`ExceptionGroup`." +"Added keyword argument *all_errors* " +"to :meth:`asyncio.loop.create_connection` so that multiple connection errors " +"can be raised as an :exc:`ExceptionGroup`." msgstr "" -"Adicionado o argumento nomeado *all_errors* para :meth:`asyncio.loop." -"create_connection` para que vários erros de conexão possam ser levantados " -"como :exc:`ExceptionGroup`." +"Adicionado o argumento nomeado *all_errors* " +"para :meth:`asyncio.loop.create_connection` para que vários erros de conexão " +"possam ser levantados como :exc:`ExceptionGroup`." -#: ../../whatsnew/3.11.rst:601 +#: ../../whatsnew/3.11.rst:603 msgid "" "Added the :meth:`asyncio.StreamWriter.start_tls` method for upgrading " -"existing stream-based connections to TLS. (Contributed by Ian Good in :issue:" -"`34975`.)" +"existing stream-based connections to TLS. (Contributed by Ian Good " +"in :issue:`34975`.)" msgstr "" "Adicionado o método :meth:`asyncio.StreamWriter.start_tls` para atualizar " "conexões baseadas em fluxo existentes para TLS. (Contribuição de Ian Good " "em :issue:`34975`.)" -#: ../../whatsnew/3.11.rst:605 +#: ../../whatsnew/3.11.rst:607 msgid "" -"Added raw datagram socket functions to the event loop: :meth:`~asyncio.loop." -"sock_sendto`, :meth:`~asyncio.loop.sock_recvfrom` and :meth:`~asyncio.loop." -"sock_recvfrom_into`. These have implementations in :class:`~asyncio." -"SelectorEventLoop` and :class:`~asyncio.ProactorEventLoop`. (Contributed by " -"Alex Grönholm in :issue:`46805`.)" +"Added raw datagram socket functions to the event " +"loop: :meth:`~asyncio.loop.sock_sendto`, :meth:`~asyncio.loop.sock_recvfrom` " +"and :meth:`~asyncio.loop.sock_recvfrom_into`. These have implementations " +"in :class:`~asyncio.SelectorEventLoop` " +"and :class:`~asyncio.ProactorEventLoop`. (Contributed by Alex Grönholm " +"in :issue:`46805`.)" msgstr "" -"Adicionadas funções de soquete de datagrama *raw* ao laço de eventos: :meth:" -"`~asyncio.loop.sock_sendto`, :meth:`~asyncio.loop.sock_recvfrom` e :meth:" -"`~asyncio.loop.sock_recvfrom_into`. Eles têm implementações em :class:" -"`~asyncio.SelectorEventLoop` e :class:`~asyncio.ProactorEventLoop`. " -"(Contribuição de Alex Grönholm em :issue:`46805`.)" +"Adicionadas funções de soquete de datagrama *raw* ao laço de " +"eventos: :meth:`~asyncio.loop.sock_sendto`, :meth:`~asyncio.loop.sock_recvfrom` " +"e :meth:`~asyncio.loop.sock_recvfrom_into`. Eles têm implementações " +"em :class:`~asyncio.SelectorEventLoop` " +"e :class:`~asyncio.ProactorEventLoop`. (Contribuição de Alex Grönholm " +"em :issue:`46805`.)" -#: ../../whatsnew/3.11.rst:613 +#: ../../whatsnew/3.11.rst:615 msgid "" "Added :meth:`~asyncio.Task.cancelling` and :meth:`~asyncio.Task.uncancel` " "methods to :class:`~asyncio.Task`. These are primarily intended for internal " "use, notably by :class:`~asyncio.TaskGroup`." msgstr "" -"Adicionados os métodos :meth:`~asyncio.Task.cancelling` e :meth:`~asyncio." -"Task.uncancel` a :class:`~asyncio.Task`. Estes são destinados principalmente " -"para uso interno, notadamente por :class:`~asyncio.TaskGroup`." +"Adicionados os métodos :meth:`~asyncio.Task.cancelling` " +"e :meth:`~asyncio.Task.uncancel` a :class:`~asyncio.Task`. Estes são " +"destinados principalmente para uso interno, notadamente " +"por :class:`~asyncio.TaskGroup`." -#: ../../whatsnew/3.11.rst:622 +#: ../../whatsnew/3.11.rst:624 msgid "contextlib" msgstr "contextlib" -#: ../../whatsnew/3.11.rst:624 +#: ../../whatsnew/3.11.rst:626 msgid "" "Added non parallel-safe :func:`~contextlib.chdir` context manager to change " "the current working directory and then restore it on exit. Simple wrapper " "around :func:`~os.chdir`. (Contributed by Filipe Laíns in :issue:`25625`)" msgstr "" -"Adicionado gerenciador de contexto não paralelo seguro :func:`~contextlib." -"chdir` para alterar o diretório de trabalho atual e depois restaurá-lo na " -"saída. Wrapper simples em torno de :func:`~os.chdir`. (Contribuição de " -"Filipe Laíns em :issue:`25625`)" +"Adicionado gerenciador de contexto não paralelo " +"seguro :func:`~contextlib.chdir` para alterar o diretório de trabalho atual " +"e depois restaurá-lo na saída. Wrapper simples em torno " +"de :func:`~os.chdir`. (Contribuição de Filipe Laíns em :issue:`25625`)" -#: ../../whatsnew/3.11.rst:632 +#: ../../whatsnew/3.11.rst:634 msgid "dataclasses" msgstr "dataclasses" -#: ../../whatsnew/3.11.rst:634 +#: ../../whatsnew/3.11.rst:636 msgid "" -"Change field default mutability check, allowing only defaults which are :" -"term:`hashable` instead of any object which is not an instance of :class:" -"`dict`, :class:`list` or :class:`set`. (Contributed by Eric V. Smith in :" -"issue:`44674`.)" +"Change field default mutability check, allowing only defaults which " +"are :term:`hashable` instead of any object which is not an instance " +"of :class:`dict`, :class:`list` or :class:`set`. (Contributed by Eric V. " +"Smith in :issue:`44674`.)" msgstr "" "Alterar a verificação de mutabilidade padrão do campo, permitindo apenas " "padrões que são :term:`hasheáveis ` em vez de qualquer objeto que " "não seja uma instância de :class:`dict`, :class:`list` ou :class:`set`. " "(Contribuição de Eric V. Smith em :issue:`44674`.)" -#: ../../whatsnew/3.11.rst:643 +#: ../../whatsnew/3.11.rst:645 msgid "datetime" msgstr "datetime" -#: ../../whatsnew/3.11.rst:645 +#: ../../whatsnew/3.11.rst:647 msgid "" -"Add :attr:`datetime.UTC`, a convenience alias for :attr:`datetime.timezone." -"utc`. (Contributed by Kabir Kwatra in :gh:`91973`.)" +"Add :const:`datetime.UTC`, a convenience alias " +"for :attr:`datetime.timezone.utc`. (Contributed by Kabir Kwatra " +"in :gh:`91973`.)" msgstr "" -"Adicione :attr:`datetime.UTC`, um apelido de conveniência para :attr:" -"`datetime.timezone.utc`. (Contribuição de Kabir Kwatra em :gh:`91973`.)" +"Adicione :const:`datetime.UTC`, um apelido de conveniência " +"para :attr:`datetime.timezone.utc`. (Contribuição de Kabir Kwatra " +"em :gh:`91973`.)" -#: ../../whatsnew/3.11.rst:648 +#: ../../whatsnew/3.11.rst:650 msgid "" ":meth:`datetime.date.fromisoformat`, :meth:`datetime.time.fromisoformat` " "and :meth:`datetime.datetime.fromisoformat` can now be used to parse most " "ISO 8601 formats (barring only those that support fractional hours and " "minutes). (Contributed by Paul Ganssle in :gh:`80010`.)" msgstr "" -":meth:`datetime.date.fromisoformat`, :meth:`datetime.time.fromisoformat` e :" -"meth:`datetime.datetime.fromisoformat` agora podem ser usados para analisar " -"a maioria dos formatos ISO 8601 (exceto aqueles que têm suporte a horas " -"fracionárias e minutos). (Contribuição de Paul Ganssle em :gh:`80010`.)" +":meth:`datetime.date.fromisoformat`, :meth:`datetime.time.fromisoformat` " +"e :meth:`datetime.datetime.fromisoformat` agora podem ser usados para " +"analisar a maioria dos formatos ISO 8601 (exceto aqueles que têm suporte a " +"horas fracionárias e minutos). (Contribuição de Paul Ganssle em :gh:`80010`.)" -#: ../../whatsnew/3.11.rst:657 +#: ../../whatsnew/3.11.rst:659 msgid "enum" msgstr "enum" -#: ../../whatsnew/3.11.rst:659 +#: ../../whatsnew/3.11.rst:661 msgid "" "Renamed :class:`!EnumMeta` to :class:`~enum.EnumType` (:class:`!EnumMeta` " "kept as an alias)." @@ -1040,7 +1030,7 @@ msgstr "" "Renomeado :class:`!EnumMeta` para :class:`~enum.EnumType` (:class:`!" "EnumMeta` mantido como um apelido)." -#: ../../whatsnew/3.11.rst:662 +#: ../../whatsnew/3.11.rst:664 msgid "" "Added :class:`~enum.StrEnum`, with members that can be used as (and must be) " "strings." @@ -1048,53 +1038,56 @@ msgstr "" "Adicionada :class:`~enum.StrEnum`, com membros que podem ser usados como (e " "devem ser) strings." -#: ../../whatsnew/3.11.rst:665 +#: ../../whatsnew/3.11.rst:667 msgid "" -"Added :class:`~enum.ReprEnum`, which only modifies the :meth:`~object." -"__repr__` of members while returning their literal values (rather than " -"names) for :meth:`~object.__str__` and :meth:`~object.__format__` (used by :" -"func:`str`, :func:`format` and :term:`f-string`\\s)." +"Added :class:`~enum.ReprEnum`, which only modifies " +"the :meth:`~object.__repr__` of members while returning their literal values " +"(rather than names) for :meth:`~object.__str__` " +"and :meth:`~object.__format__` (used by :func:`str`, :func:`format` " +"and :term:`f-string`\\s)." msgstr "" -"Adicionada :class:`~enum.ReprEnum`, que apenas modifica o :meth:`~object." -"__repr__` dos membros enquanto retorna seus valores literais (ao invés de " -"nomes) para :meth:`~object.__str__` e :meth:`~object.__format__` (usado por :" -"func:`str`, :func:`format` e :term:`f-string`\\s)." +"Adicionada :class:`~enum.ReprEnum`, que apenas modifica " +"o :meth:`~object.__repr__` dos membros enquanto retorna seus valores " +"literais (ao invés de nomes) para :meth:`~object.__str__` " +"e :meth:`~object.__format__` (usado por :func:`str`, :func:`format` " +"e :term:`f-string`\\s)." -#: ../../whatsnew/3.11.rst:671 +#: ../../whatsnew/3.11.rst:673 msgid "" -"Changed :meth:`Enum.__format__() ` (the default for :" -"func:`format`, :meth:`str.format` and :term:`f-string`\\s) to always produce " -"the same result as :meth:`Enum.__str__()`: for enums inheriting from :class:" -"`~enum.ReprEnum` it will be the member's value; for all other enums it will " -"be the enum and member name (e.g. ``Color.RED``)." +"Changed :meth:`Enum.__format__() ` (the default " +"for :func:`format`, :meth:`str.format` and :term:`f-string`\\s) to always " +"produce the same result as :meth:`Enum.__str__() `: for " +"enums inheriting from :class:`~enum.ReprEnum` it will be the member's value; " +"for all other enums it will be the enum and member name (e.g. ``Color.RED``)." msgstr "" -"Alterado :meth:`Enum.__format__() ` (o padrão para :" -"func:`format`, :meth:`str.format` e :term:`f-string`\\s) para sempre produz " -"o mesmo resultado que :meth:`Enum.__str__()`: para enums herdados de :class:" -"`~enum.ReprEnum` será o valor do membro; para todos os outros enums, será o " -"enum e o nome do membro (por exemplo, ``Color.RED``)." +"Alterado :meth:`Enum.__format__() ` (o padrão " +"para :func:`format`, :meth:`str.format` e :term:`f-string`\\s) para sempre " +"produz o mesmo resultado que :meth:`Enum.__str__() `: " +"para enums herdados de :class:`~enum.ReprEnum` será o valor do membro; para " +"todos os outros enums, será o enum e o nome do membro (por exemplo, " +"``Color.RED``)." -#: ../../whatsnew/3.11.rst:677 +#: ../../whatsnew/3.11.rst:679 msgid "" -"Added a new *boundary* class parameter to :class:`~enum.Flag` enums and the :" -"class:`~enum.FlagBoundary` enum with its options, to control how to handle " -"out-of-range flag values." +"Added a new *boundary* class parameter to :class:`~enum.Flag` enums and " +"the :class:`~enum.FlagBoundary` enum with its options, to control how to " +"handle out-of-range flag values." msgstr "" -"Adicionado um novo parâmetro de classe *boundary* para enums :class:`~enum." -"Flag` e :class:`~enum.FlagBoundary` com suas opções, para controlar como " -"lidar com valores de sinalizadores fora do intervalo." +"Adicionado um novo parâmetro de classe *boundary* para " +"enums :class:`~enum.Flag` e :class:`~enum.FlagBoundary` com suas opções, " +"para controlar como lidar com valores de sinalizadores fora do intervalo." -#: ../../whatsnew/3.11.rst:681 +#: ../../whatsnew/3.11.rst:683 msgid "" -"Added the :func:`~enum.verify` enum decorator and the :class:`~enum." -"EnumCheck` enum with its options, to check enum classes against several " -"specific constraints." +"Added the :func:`~enum.verify` enum decorator and " +"the :class:`~enum.EnumCheck` enum with its options, to check enum classes " +"against several specific constraints." msgstr "" -"Adicionado o decorador de enum :func:`~enum.verify` e o enum :class:`~enum." -"EnumCheck` com suas opções, para verificar classes de enum em relação a " -"várias restrições específicas." +"Adicionado o decorador de enum :func:`~enum.verify` e o " +"enum :class:`~enum.EnumCheck` com suas opções, para verificar classes de " +"enum em relação a várias restrições específicas." -#: ../../whatsnew/3.11.rst:685 +#: ../../whatsnew/3.11.rst:687 msgid "" "Added the :func:`~enum.member` and :func:`~enum.nonmember` decorators, to " "ensure the decorated object is/is not converted to an enum member." @@ -1103,52 +1096,53 @@ msgstr "" "para garantir que o objeto decorado seja/não seja convertido em um membro " "enum." -#: ../../whatsnew/3.11.rst:688 +#: ../../whatsnew/3.11.rst:690 msgid "" -"Added the :func:`~enum.property` decorator, which works like :func:" -"`property` except for enums. Use this instead of :func:`types." -"DynamicClassAttribute`." +"Added the :func:`~enum.property` decorator, which works " +"like :func:`property` except for enums. Use this instead " +"of :func:`types.DynamicClassAttribute`." msgstr "" -"Adicionado o decorador :func:`~enum.property`, que funciona como :func:" -"`property` exceto para enums. Use isso em vez de :func:`types." -"DynamicClassAttribute`." +"Adicionado o decorador :func:`~enum.property`, que funciona " +"como :func:`property` exceto para enums. Use isso em vez " +"de :func:`types.DynamicClassAttribute`." -#: ../../whatsnew/3.11.rst:692 +#: ../../whatsnew/3.11.rst:694 msgid "" -"Added the :func:`~enum.global_enum` enum decorator, which adjusts :meth:" -"`~object.__repr__` and :meth:`~object.__str__` to show values as members of " -"their module rather than the enum class. For example, ``'re.ASCII'`` for " -"the :data:`~re.ASCII` member of :class:`re.RegexFlag` rather than " -"``'RegexFlag.ASCII'``." +"Added the :func:`~enum.global_enum` enum decorator, which " +"adjusts :meth:`~object.__repr__` and :meth:`~object.__str__` to show values " +"as members of their module rather than the enum class. For example, " +"``'re.ASCII'`` for the :const:`~re.ASCII` member of :class:`re.RegexFlag` " +"rather than ``'RegexFlag.ASCII'``." msgstr "" -"Adicionado o decorador enum :func:`~enum.global_enum`, que ajusta :meth:" -"`~object.__repr__` e :meth:`~object.__str__` para mostrar valores como " -"membros de seu módulo em vez da classe enum. Por exemplo, ``'re.ASCII'`` " -"para o membro :data:`~re.ASCII` de :class:`re.RegexFlag` em vez de " -"``'RegexFlag.ASCII'``." +"Adicionado o decorador enum :func:`~enum.global_enum`, que " +"ajusta :meth:`~object.__repr__` e :meth:`~object.__str__` para mostrar " +"valores como membros de seu módulo em vez da classe enum. Por exemplo, " +"``'re.ASCII'`` para o membro :const:`~re.ASCII` de :class:`re.RegexFlag` em " +"vez de ``'RegexFlag.ASCII'``." -#: ../../whatsnew/3.11.rst:698 +#: ../../whatsnew/3.11.rst:700 msgid "" -"Enhanced :class:`~enum.Flag` to support :func:`len`, iteration and :keyword:" -"`in`/:keyword:`not in` on its members. For example, the following now works: " -"``len(AFlag(3)) == 2 and list(AFlag(3)) == (AFlag.ONE, AFlag.TWO)``" +"Enhanced :class:`~enum.Flag` to support :func:`len`, iteration " +"and :keyword:`in`/:keyword:`not in` on its members. For example, the " +"following now works: ``len(AFlag(3)) == 2 and list(AFlag(3)) == (AFlag.ONE, " +"AFlag.TWO)``" msgstr "" -"Aprimorada :class:`~enum.Flag` para ter suporte a :func:`len`, iteração e :" -"keyword:`in`/:keyword:`not in` em seus membros. Por exemplo, o seguinte " -"agora funciona: ``len(AFlag(3)) == 2 and list(AFlag(3)) == (AFlag.ONE, AFlag." -"TWO)``" +"Aprimorada :class:`~enum.Flag` para ter suporte a :func:`len`, iteração " +"e :keyword:`in`/:keyword:`not in` em seus membros. Por exemplo, o seguinte " +"agora funciona: ``len(AFlag(3)) == 2 and list(AFlag(3)) == (AFlag.ONE, " +"AFlag.TWO)``" -#: ../../whatsnew/3.11.rst:703 +#: ../../whatsnew/3.11.rst:705 msgid "" "Changed :class:`~enum.Enum` and :class:`~enum.Flag` so that members are now " "defined before :meth:`~object.__init_subclass__` is called; :func:`dir` now " "includes methods, etc., from mixed-in data types." msgstr "" "Alterada :class:`~enum.Enum` e :class:`~enum.Flag` para que os membros sejam " -"agora definidos antes de :meth:`~object.__init_subclass__` ser chamado; :" -"func:`dir` agora inclui métodos, etc., de tipos de dados mistos." +"agora definidos antes de :meth:`~object.__init_subclass__` ser " +"chamado; :func:`dir` agora inclui métodos, etc., de tipos de dados mistos." -#: ../../whatsnew/3.11.rst:708 +#: ../../whatsnew/3.11.rst:710 msgid "" "Changed :class:`~enum.Flag` to only consider primary values (power of two) " "canonical while composite values (``3``, ``6``, ``10``, etc.) are considered " @@ -1159,11 +1153,11 @@ msgstr "" "``10``, etc.) são considerados apelidos; bandeiras invertidas são coagidas " "ao seu equivalente positivo." -#: ../../whatsnew/3.11.rst:717 +#: ../../whatsnew/3.11.rst:719 msgid "fcntl" msgstr "fcntl" -#: ../../whatsnew/3.11.rst:719 +#: ../../whatsnew/3.11.rst:721 msgid "" "On FreeBSD, the :data:`!F_DUP2FD` and :data:`!F_DUP2FD_CLOEXEC` flags " "respectively are supported, the former equals to ``dup2`` usage while the " @@ -1173,11 +1167,11 @@ msgstr "" "respectivamente são suportados, o primeiro é igual ao uso de ``dup2`` " "enquanto o último define o sinalizador ``FD_CLOEXEC`` adicionalmente." -#: ../../whatsnew/3.11.rst:727 +#: ../../whatsnew/3.11.rst:729 msgid "fractions" msgstr "fractions" -#: ../../whatsnew/3.11.rst:729 +#: ../../whatsnew/3.11.rst:731 msgid "" "Support :PEP:`515`-style initialization of :class:`~fractions.Fraction` from " "string. (Contributed by Sergey B Kirpichev in :issue:`44258`.)" @@ -1185,7 +1179,7 @@ msgstr "" "Suporte à inicialização no estilo :PEP:`515` de :class:`~fractions.Fraction` " "da string. (Contribuição de Sergey B Kirpichev em :issue:`44258`.)" -#: ../../whatsnew/3.11.rst:732 +#: ../../whatsnew/3.11.rst:734 msgid "" ":class:`~fractions.Fraction` now implements an ``__int__`` method, so that " "an ``isinstance(some_fraction, typing.SupportsInt)`` check passes. " @@ -1195,27 +1189,53 @@ msgstr "" "que uma verificação de ``isinstance(some_fraction, typing.SupportsInt)`` " "seja aprovada. (Contribuição de Mark Dickinson em :issue:`44547`.)" -#: ../../whatsnew/3.11.rst:740 +#: ../../whatsnew/3.11.rst:742 msgid "functools" msgstr "functools" -#: ../../whatsnew/3.11.rst:742 +#: ../../whatsnew/3.11.rst:744 msgid "" -":func:`functools.singledispatch` now supports :data:`types.UnionType` and :" -"data:`typing.Union` as annotations to the dispatch argument.::" +":func:`functools.singledispatch` now supports :data:`types.UnionType` " +"and :data:`typing.Union` as annotations to the dispatch argument.::" msgstr "" -":func:`functools.singledispatch` agora suporta :data:`types.UnionType` e :" -"data:`typing.Union` como anotações para o argumento de dispatch.::" +":func:`functools.singledispatch` agora suporta :data:`types.UnionType` " +"e :data:`typing.Union` como anotações para o argumento de dispatch.::" -#: ../../whatsnew/3.11.rst:767 +#: ../../whatsnew/3.11.rst:769 msgid "(Contributed by Yurii Karabas in :issue:`46014`.)" msgstr "(Contribuição de Yurii Karabas na :issue:`46014`.)" -#: ../../whatsnew/3.11.rst:773 +#: ../../whatsnew/3.11.rst:775 +msgid "gzip" +msgstr "gzip" + +#: ../../whatsnew/3.11.rst:777 +msgid "" +"The :func:`gzip.compress` function is now faster when used with the " +"**mtime=0** argument as it delegates the compression entirely to a " +"single :func:`zlib.compress` operation. There is one side effect of this " +"change: The gzip file header contains an \"OS\" byte in its header. That was " +"traditionally always set to a value of 255 representing \"unknown\" by " +"the :mod:`gzip` module. Now, when using :func:`~gzip.compress` with " +"**mtime=0**, it may be set to a different value by the underlying zlib C " +"library Python was linked against. (See :gh:`112346` for details on the side " +"effect.)" +msgstr "" +"A função :func:`gzip.compress` agora é mais rápida quando usada com o " +"argumento **mtime=0**, pois delega a compactação inteiramente para uma única " +"operação :func:`zlib.compress`. Há um efeito colateral dessa mudança: o " +"cabeçalho do arquivo gzip contém um byte de \"OS\" em seu cabeçalho. " +"Tradicionalmente, isso sempre foi definido com um valor de 255 representando " +"\"desconhecido\" pelo módulo :mod:`gzip`. Agora, ao " +"usar :func:`~gzip.compress` com **mtime=0**, ele pode ser definido com um " +"valor diferente pela biblioteca zlib C subjacente à qual o Python estava " +"vinculado. (Veja :gh:`112346` para detalhes sobre o efeito colateral.)" + +#: ../../whatsnew/3.11.rst:790 msgid "hashlib" msgstr "hashlib" -#: ../../whatsnew/3.11.rst:775 +#: ../../whatsnew/3.11.rst:792 msgid "" ":func:`hashlib.blake2b` and :func:`hashlib.blake2s` now prefer `libb2`_ over " "Python's vendored copy. (Contributed by Christian Heimes in :issue:`47095`.)" @@ -1223,7 +1243,7 @@ msgstr "" ":func:`hashlib.blake2b` e :func:`hashlib.blake2s` agora preferem `libb2`_ em " "vez da cópia do Python. (Contribuição de Christian Heimes em :issue:`47095`.)" -#: ../../whatsnew/3.11.rst:779 +#: ../../whatsnew/3.11.rst:796 msgid "" "The internal ``_sha3`` module with SHA3 and SHAKE algorithms now uses " "*tiny_sha3* instead of the *Keccak Code Package* to reduce code and binary " @@ -1237,20 +1257,20 @@ msgstr "" "OpenSSL. A alteração afeta apenas instalações sem suporte a OpenSSL. " "(Contribuição de Christian Heimes em :issue:`47098`.)" -#: ../../whatsnew/3.11.rst:786 +#: ../../whatsnew/3.11.rst:803 msgid "" "Add :func:`hashlib.file_digest`, a helper function for efficient hashing of " "files or file-like objects. (Contributed by Christian Heimes in :gh:`89313`.)" msgstr "" "Adiciona :func:`hashlib.file_digest`, uma função auxiliar para hash " -"eficiente de arquivos ou objetos semelhantes a arquivos. (Contribuição de " -"Christian Heimes em :gh:`89313`.)" +"eficiente de objetos arquivo ou similar. (Contribuição de Christian Heimes " +"em :gh:`89313`.)" -#: ../../whatsnew/3.11.rst:794 +#: ../../whatsnew/3.11.rst:811 msgid "IDLE and idlelib" msgstr "IDLE e idlelib" -#: ../../whatsnew/3.11.rst:796 +#: ../../whatsnew/3.11.rst:813 msgid "" "Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " "and Terry Jan Reedy in :issue:`45447`.)" @@ -1258,7 +1278,7 @@ msgstr "" "Aplica realce de sintaxe em arquivos ``.pyi``. (Contribuição de Alex Waygood " "e Terry Jan Reedy em :issue:`45447`.)" -#: ../../whatsnew/3.11.rst:799 +#: ../../whatsnew/3.11.rst:816 msgid "" "Include prompts when saving Shell with inputs and outputs. (Contributed by " "Terry Jan Reedy in :gh:`95191`.)" @@ -1266,11 +1286,11 @@ msgstr "" "Inclui prompts ao salvar o console com entradas e saídas. (Contribuição de " "Terry Jan Reedy em :gh:`95191`.)" -#: ../../whatsnew/3.11.rst:806 +#: ../../whatsnew/3.11.rst:823 msgid "inspect" msgstr "inspect" -#: ../../whatsnew/3.11.rst:808 +#: ../../whatsnew/3.11.rst:825 msgid "" "Add :func:`~inspect.getmembers_static` to return all members without " "triggering dynamic lookup via the descriptor protocol. (Contributed by " @@ -1280,17 +1300,17 @@ msgstr "" "sem acionar a pesquisa dinâmica por meio do protocolo descritor. " "(Contribuição de Weipeng Hong em :issue:`30533`.)" -#: ../../whatsnew/3.11.rst:812 +#: ../../whatsnew/3.11.rst:829 msgid "" "Add :func:`~inspect.ismethodwrapper` for checking if the type of an object " -"is a :class:`~types.MethodWrapperType`. (Contributed by Hakan Çelik in :" -"issue:`29418`.)" +"is a :class:`~types.MethodWrapperType`. (Contributed by Hakan Çelik " +"in :issue:`29418`.)" msgstr "" "Adiciona :func:`~inspect.ismethodwrapper` para verificar se o tipo de um " "objeto é um :class:`~types.MethodWrapperType`. (Contribuição de Hakan Çelik " "em :issue:`29418`.)" -#: ../../whatsnew/3.11.rst:816 +#: ../../whatsnew/3.11.rst:833 msgid "" "Change the frame-related functions in the :mod:`inspect` module to return " "new :class:`~inspect.FrameInfo` and :class:`~inspect.Traceback` class " @@ -1299,85 +1319,88 @@ msgid "" "line number, column and end column). The affected functions are:" msgstr "" "Altera as funções relacionadas a quadros no módulo :mod:`inspect` para " -"retornar novas instâncias de classe :class:`~inspect.FrameInfo` e :class:" -"`~inspect.Traceback` (compatíveis com as anteriores interfaces do tipo :term:" -"`tupla nomeada`) que inclui as informações de posição estendidas :pep:`657` " -"(número da linha final, coluna e coluna final). As funções afetadas são:" +"retornar novas instâncias de classe :class:`~inspect.FrameInfo` " +"e :class:`~inspect.Traceback` (compatíveis com as anteriores interfaces do " +"tipo :term:`tupla nomeada`) que inclui as informações de posição " +"estendidas :pep:`657` (número da linha final, coluna e coluna final). As " +"funções afetadas são:" -#: ../../whatsnew/3.11.rst:822 +#: ../../whatsnew/3.11.rst:839 msgid ":func:`inspect.getframeinfo`" msgstr ":func:`inspect.getframeinfo`" -#: ../../whatsnew/3.11.rst:823 +#: ../../whatsnew/3.11.rst:840 msgid ":func:`inspect.getouterframes`" msgstr ":func:`inspect.getouterframes`" -#: ../../whatsnew/3.11.rst:824 +#: ../../whatsnew/3.11.rst:841 msgid ":func:`inspect.getinnerframes`," msgstr ":func:`inspect.getinnerframes`," -#: ../../whatsnew/3.11.rst:825 +#: ../../whatsnew/3.11.rst:842 msgid ":func:`inspect.stack`" msgstr ":func:`inspect.stack`" -#: ../../whatsnew/3.11.rst:826 +#: ../../whatsnew/3.11.rst:843 msgid ":func:`inspect.trace`" msgstr ":func:`inspect.trace`" -#: ../../whatsnew/3.11.rst:828 +#: ../../whatsnew/3.11.rst:845 msgid "(Contributed by Pablo Galindo in :gh:`88116`.)" msgstr "(Contribuição por Pablo Galindo em :gh:`88116`.)" -#: ../../whatsnew/3.11.rst:834 +#: ../../whatsnew/3.11.rst:851 msgid "locale" msgstr "locale" -#: ../../whatsnew/3.11.rst:836 +#: ../../whatsnew/3.11.rst:853 msgid "" "Add :func:`locale.getencoding` to get the current locale encoding. It is " -"similar to ``locale.getpreferredencoding(False)`` but ignores the :ref:" -"`Python UTF-8 Mode `." +"similar to ``locale.getpreferredencoding(False)`` but ignores " +"the :ref:`Python UTF-8 Mode `." msgstr "" "Adiciona :func:`locale.getencoding` para obter a codificação local atual. É " "semelhante a ``locale.getpreferredencoding(False)``, mas ignora o :ref:`Modo " "UTF-8 do Python `." -#: ../../whatsnew/3.11.rst:844 +#: ../../whatsnew/3.11.rst:861 msgid "logging" msgstr "logging" -#: ../../whatsnew/3.11.rst:846 +#: ../../whatsnew/3.11.rst:863 msgid "" "Added :func:`~logging.getLevelNamesMapping` to return a mapping from logging " -"level names (e.g. ``'CRITICAL'``) to the values of their corresponding :ref:" -"`levels` (e.g. ``50``, by default). (Contributed by Andrei Kulakovin in :gh:" -"`88024`.)" +"level names (e.g. ``'CRITICAL'``) to the values of their " +"corresponding :ref:`levels` (e.g. ``50``, by default). (Contributed by " +"Andrei Kulakovin in :gh:`88024`.)" msgstr "" "Adicionada :func:`~logging.getLevelNamesMapping` para retornar um mapeamento " "de nomes de nível de registro (por exemplo, ``'CRITICAL'``) para os valores " "de seus :ref:`levels` correspondentes (por exemplo, ``50``, por padrão ). " "(Contribuição de Andrei Kulakovin em :gh:`88024`.)" -#: ../../whatsnew/3.11.rst:851 +#: ../../whatsnew/3.11.rst:868 msgid "" -"Added a :meth:`~logging.handlers.SysLogHandler.createSocket` method to :" -"class:`~logging.handlers.SysLogHandler`, to match :meth:`SocketHandler." -"createSocket() `. It is called " -"automatically during handler initialization and when emitting an event, if " -"there is no active socket. (Contributed by Kirill Pinchuk in :gh:`88457`.)" -msgstr "" -"Adicionado um método :meth:`~logging.handlers.SysLogHandler.createSocket` a :" -"class:`~logging.handlers.SysLogHandler`, para corresponder a :meth:" -"`SocketHandler.createSocket() ` . Ele é chamado automaticamente durante a inicialização do " -"manipulador e ao emitir um evento, se não houver nenhum soquete ativo. " -"(Contribuição de Kirill Pinchuk em :gh:`88457`.)" - -#: ../../whatsnew/3.11.rst:863 +"Added a :meth:`~logging.handlers.SysLogHandler.createSocket` method " +"to :class:`~logging.handlers.SysLogHandler`, to " +"match :meth:`SocketHandler.createSocket() " +"`. It is called automatically " +"during handler initialization and when emitting an event, if there is no " +"active socket. (Contributed by Kirill Pinchuk in :gh:`88457`.)" +msgstr "" +"Adicionado um método :meth:`~logging.handlers.SysLogHandler.createSocket` " +"a :class:`~logging.handlers.SysLogHandler`, para corresponder " +"a :meth:`SocketHandler.createSocket() " +"` . Ele é chamado " +"automaticamente durante a inicialização do manipulador e ao emitir um " +"evento, se não houver nenhum soquete ativo. (Contribuição de Kirill Pinchuk " +"em :gh:`88457`.)" + +#: ../../whatsnew/3.11.rst:880 msgid "math" msgstr "math" -#: ../../whatsnew/3.11.rst:865 +#: ../../whatsnew/3.11.rst:882 msgid "" "Add :func:`math.exp2`: return 2 raised to the power of x. (Contributed by " "Gideon Mitchell in :issue:`45917`.)" @@ -1385,7 +1408,7 @@ msgstr "" "Adiciona :func:`math.exp2`: retorna 2 elevado à potência de x. (Contribuição " "de Gideon Mitchell em :issue:`45917`.)" -#: ../../whatsnew/3.11.rst:868 +#: ../../whatsnew/3.11.rst:885 msgid "" "Add :func:`math.cbrt`: return the cube root of x. (Contributed by Ajith " "Ramachandran in :issue:`44357`.)" @@ -1393,13 +1416,13 @@ msgstr "" "Adiciona :func:`math.cbrt`: retorna a raiz cúbica de x. (Contribuição de " "Ajith Ramachandran em :issue:`44357`.)" -#: ../../whatsnew/3.11.rst:871 +#: ../../whatsnew/3.11.rst:888 msgid "" "The behaviour of two :func:`math.pow` corner cases was changed, for " -"consistency with the IEEE 754 specification. The operations ``math.pow(0.0, -" -"math.inf)`` and ``math.pow(-0.0, -math.inf)`` now return ``inf``. Previously " -"they raised :exc:`ValueError`. (Contributed by Mark Dickinson in :issue:" -"`44339`.)" +"consistency with the IEEE 754 specification. The operations ``math.pow(0.0, " +"-math.inf)`` and ``math.pow(-0.0, -math.inf)`` now return ``inf``. " +"Previously they raised :exc:`ValueError`. (Contributed by Mark Dickinson " +"in :issue:`44339`.)" msgstr "" "O comportamento de dois casos excepcionais :func:`math.pow` foi alterado, " "para consistência com a especificação IEEE 754. As operações ``math.pow(0.0, " @@ -1407,7 +1430,7 @@ msgstr "" "Anteriormente eles levantavam :exc:`ValueError`. (Contribuição de Mark " "Dickinson em :issue:`44339`.)" -#: ../../whatsnew/3.11.rst:877 +#: ../../whatsnew/3.11.rst:894 msgid "" "The :data:`math.nan` value is now always available. (Contributed by Victor " "Stinner in :issue:`46917`.)" @@ -1415,55 +1438,64 @@ msgstr "" "O valor :data:`math.nan` agora está sempre disponível. (Contribuição de " "Victor Stinner em :issue:`46917`.)" -#: ../../whatsnew/3.11.rst:884 +#: ../../whatsnew/3.11.rst:901 msgid "operator" -msgstr "operator" +msgstr "operador" -#: ../../whatsnew/3.11.rst:886 +#: ../../whatsnew/3.11.rst:903 msgid "" -"A new function ``operator.call`` has been added, such that ``operator." -"call(obj, *args, **kwargs) == obj(*args, **kwargs)``. (Contributed by Antony " -"Lee in :issue:`44019`.)" +"A new function ``operator.call`` has been added, such that " +"``operator.call(obj, *args, **kwargs) == obj(*args, **kwargs)``. " +"(Contributed by Antony Lee in :issue:`44019`.)" msgstr "" -"Uma nova função ``operator.call`` foi adicionada, tal que ``operator." -"call(obj, *args, **kwargs) == obj(*args, **kwargs)`` (Contribuição de Antony " -"Lee em :issue:`44019`.)" +"Uma nova função ``operator.call`` foi adicionada, tal que " +"``operator.call(obj, *args, **kwargs) == obj(*args, **kwargs)`` " +"(Contribuição de Antony Lee em :issue:`44019`.)" -#: ../../whatsnew/3.11.rst:894 +#: ../../whatsnew/3.11.rst:911 msgid "os" msgstr "os" -#: ../../whatsnew/3.11.rst:896 +#: ../../whatsnew/3.11.rst:913 msgid "" "On Windows, :func:`os.urandom` now uses ``BCryptGenRandom()``, instead of " -"``CryptGenRandom()`` which is deprecated. (Contributed by Dong-hee Na in :" -"issue:`44611`.)" +"``CryptGenRandom()`` which is deprecated. (Contributed by Donghee Na " +"in :issue:`44611`.)" msgstr "" "No Windows, :func:`os.urandom` agora usa ``BCryptGenRandom()``, em vez de " -"``CryptGenRandom()`` que foi descontinuado. (Contribuição de Dong-hee Na em :" -"issue:`44611`.)" +"``CryptGenRandom()`` que foi descontinuado. (Contribuição de Dong-hee Na " +"em :issue:`44611`.)" + +#: ../../whatsnew/3.11.rst:917 +msgid "" +"As of 3.11.10, :func:`os.mkdir` and :func:`os.makedirs` on Windows now " +"support passing a *mode* value of ``0o700`` to apply access control to the " +"new directory. This implicitly affects :func:`tempfile.mkdtemp` and is a " +"mitigation for CVE-2024-4030. Other values for *mode* continue to be " +"ignored. (Contributed by Steve Dower in :gh:`118486`.)" +msgstr "" -#: ../../whatsnew/3.11.rst:904 +#: ../../whatsnew/3.11.rst:928 msgid "pathlib" msgstr "pathlib" -#: ../../whatsnew/3.11.rst:906 +#: ../../whatsnew/3.11.rst:930 msgid "" ":meth:`~pathlib.Path.glob` and :meth:`~pathlib.Path.rglob` return only " -"directories if *pattern* ends with a pathname components separator: :data:" -"`~os.sep` or :data:`~os.altsep`. (Contributed by Eisuke Kawasima in :issue:" -"`22276` and :issue:`33392`.)" +"directories if *pattern* ends with a pathname components " +"separator: :data:`~os.sep` or :data:`~os.altsep`. (Contributed by Eisuke " +"Kawasima in :issue:`22276` and :issue:`33392`.)" msgstr "" ":meth:`~pathlib.Path.glob` e :meth:`~pathlib.Path.rglob` retornam apenas " "diretórios se *pattern* terminar com um separador de componentes de nome de " "caminho: :data:`~os.sep` ou :data:`~os.altsep`. (Contribuição de Eisuke " "Kawasima em :issue:`22276` e :issue:`33392`.)" -#: ../../whatsnew/3.11.rst:915 +#: ../../whatsnew/3.11.rst:939 msgid "re" msgstr "re" -#: ../../whatsnew/3.11.rst:917 +#: ../../whatsnew/3.11.rst:941 msgid "" "Atomic grouping (``(?>...)``) and possessive quantifiers (``*+``, ``++``, ``?" "+``, ``{m,n}+``) are now supported in regular expressions. (Contributed by " @@ -1473,11 +1505,11 @@ msgstr "" "+``, ``?+``, ``{m,n}+`` ) agora são suportados em expressões regulares. " "(Contribuição de Jeffrey C. Jacobs e Serhiy Storchaka em :issue:`433030`.)" -#: ../../whatsnew/3.11.rst:925 +#: ../../whatsnew/3.11.rst:949 msgid "shutil" msgstr "shutil" -#: ../../whatsnew/3.11.rst:927 +#: ../../whatsnew/3.11.rst:951 msgid "" "Add optional parameter *dir_fd* in :func:`shutil.rmtree`. (Contributed by " "Serhiy Storchaka in :issue:`46245`.)" @@ -1485,19 +1517,19 @@ msgstr "" "Adicione o parâmetro opcional *dir_fd* em :func:`shutil.rmtree`. " "(Contribuição de Serhiy Storchaka em :issue:`46245`.)" -#: ../../whatsnew/3.11.rst:934 +#: ../../whatsnew/3.11.rst:958 msgid "socket" msgstr "socket" -#: ../../whatsnew/3.11.rst:936 +#: ../../whatsnew/3.11.rst:960 msgid "" -"Add CAN Socket support for NetBSD. (Contributed by Thomas Klausner in :issue:" -"`30512`.)" +"Add CAN Socket support for NetBSD. (Contributed by Thomas Klausner " +"in :issue:`30512`.)" msgstr "" "Adiciona suporte ao soquete CAN para NetBSD. (Contribuição de Thomas " "Klausner em :issue:`30512`.)" -#: ../../whatsnew/3.11.rst:939 +#: ../../whatsnew/3.11.rst:963 msgid "" ":meth:`~socket.create_connection` has an option to raise, in case of failure " "to connect, an :exc:`ExceptionGroup` containing all errors instead of only " @@ -1505,59 +1537,62 @@ msgid "" msgstr "" ":meth:`~socket.create_connection` tem a opção de levantar, em caso de falha " "na conexão, um :exc:`ExceptionGroup` contendo todos os erros ao invés de " -"somente levantar o último erro. (Contribuição de Irit Katriel em :issue:" -"`29980`.)" +"somente levantar o último erro. (Contribuição de Irit Katriel " +"em :issue:`29980`.)" -#: ../../whatsnew/3.11.rst:948 +#: ../../whatsnew/3.11.rst:972 msgid "sqlite3" msgstr "sqlite3" -#: ../../whatsnew/3.11.rst:950 +#: ../../whatsnew/3.11.rst:974 msgid "" -"You can now disable the authorizer by passing :const:`None` to :meth:" -"`~sqlite3.Connection.set_authorizer`. (Contributed by Erlend E. Aasland in :" -"issue:`44491`.)" +"You can now disable the authorizer by passing :const:`None` " +"to :meth:`~sqlite3.Connection.set_authorizer`. (Contributed by Erlend E. " +"Aasland in :issue:`44491`.)" msgstr "" -"Agora você pode desabilitar o autorizador passando :const:`None` para :meth:" -"`~sqlite3.Connection.set_authorizer`. (Contribuição de Erlend E. Aasland em :" -"issue:`44491`.)" +"Agora você pode desabilitar o autorizador passando :const:`None` " +"para :meth:`~sqlite3.Connection.set_authorizer`. (Contribuição de Erlend E. " +"Aasland em :issue:`44491`.)" -#: ../../whatsnew/3.11.rst:954 +#: ../../whatsnew/3.11.rst:978 msgid "" "Collation name :meth:`~sqlite3.Connection.create_collation` can now contain " -"any Unicode character. Collation names with invalid characters now raise :" -"exc:`UnicodeEncodeError` instead of :exc:`sqlite3.ProgrammingError`. " +"any Unicode character. Collation names with invalid characters now " +"raise :exc:`UnicodeEncodeError` instead of :exc:`sqlite3.ProgrammingError`. " "(Contributed by Erlend E. Aasland in :issue:`44688`.)" msgstr "" "O nome do agrupamento :meth:`~sqlite3.Connection.create_collation` agora " "pode conter qualquer caractere Unicode. Nomes de agrupamento com caracteres " -"inválidos agora levantar :exc:`UnicodeEncodeError` em vez de :exc:`sqlite3." -"ProgrammingError`. (Contribuição de Erlend E. Aasland em :issue:`44688`.)" +"inválidos agora levantar :exc:`UnicodeEncodeError` em vez " +"de :exc:`sqlite3.ProgrammingError`. (Contribuição de Erlend E. Aasland " +"em :issue:`44688`.)" -#: ../../whatsnew/3.11.rst:959 +#: ../../whatsnew/3.11.rst:983 msgid "" -":mod:`sqlite3` exceptions now include the SQLite extended error code as :" -"attr:`~sqlite3.Error.sqlite_errorcode` and the SQLite error name as :attr:" -"`~sqlite3.Error.sqlite_errorname`. (Contributed by Aviv Palivoda, Daniel " -"Shahaf, and Erlend E. Aasland in :issue:`16379` and :issue:`24139`.)" +":mod:`sqlite3` exceptions now include the SQLite extended error code " +"as :attr:`~sqlite3.Error.sqlite_errorcode` and the SQLite error name " +"as :attr:`~sqlite3.Error.sqlite_errorname`. (Contributed by Aviv Palivoda, " +"Daniel Shahaf, and Erlend E. Aasland in :issue:`16379` and :issue:`24139`.)" msgstr "" "As exceções :mod:`sqlite3` agora incluem o código de erro estendido SQLite " -"como :attr:`~sqlite3.Error.sqlite_errorcode` e o nome do erro SQLite como :" -"attr:`~sqlite3.Error.sqlite_errorname`. (Contribuição de Aviv Palivoda, " -"Daniel Shahaf e Erlend E. Aasland em :issue:`16379` e :issue:`24139`.)" +"como :attr:`~sqlite3.Error.sqlite_errorcode` e o nome do erro SQLite " +"como :attr:`~sqlite3.Error.sqlite_errorname`. (Contribuição de Aviv " +"Palivoda, Daniel Shahaf e Erlend E. Aasland em :issue:`16379` " +"e :issue:`24139`.)" -#: ../../whatsnew/3.11.rst:965 +#: ../../whatsnew/3.11.rst:989 msgid "" -"Add :meth:`~sqlite3.Connection.setlimit` and :meth:`~sqlite3.Connection." -"getlimit` to :class:`sqlite3.Connection` for setting and getting SQLite " -"limits by connection basis. (Contributed by Erlend E. Aasland in :issue:" -"`45243`.)" +"Add :meth:`~sqlite3.Connection.setlimit` " +"and :meth:`~sqlite3.Connection.getlimit` to :class:`sqlite3.Connection` for " +"setting and getting SQLite limits by connection basis. (Contributed by " +"Erlend E. Aasland in :issue:`45243`.)" msgstr "" -"Adiciona :meth:`~sqlite3.Connection.setlimit` e :meth:`~sqlite3.Connection." -"getlimit` a :class:`sqlite3.Connection` para definir e obter limites SQLite " -"por base de conexão. (Contribuição de Erlend E. Aasland em :issue:`45243`.)" +"Adiciona :meth:`~sqlite3.Connection.setlimit` " +"e :meth:`~sqlite3.Connection.getlimit` a :class:`sqlite3.Connection` para " +"definir e obter limites SQLite por base de conexão. (Contribuição de Erlend " +"E. Aasland em :issue:`45243`.)" -#: ../../whatsnew/3.11.rst:970 +#: ../../whatsnew/3.11.rst:994 msgid "" ":mod:`sqlite3` now sets :attr:`sqlite3.threadsafety` based on the default " "threading mode the underlying SQLite library has been compiled with. " @@ -1567,7 +1602,7 @@ msgstr "" "threading padrão com o qual a biblioteca SQLite subjacente foi compilada. " "(Contribuição de Erlend E. Aasland em :issue:`45613`.)" -#: ../../whatsnew/3.11.rst:974 +#: ../../whatsnew/3.11.rst:998 msgid "" ":mod:`sqlite3` C callbacks now use unraisable exceptions if callback " "tracebacks are enabled. Users can now register an :func:`unraisable hook " @@ -1576,11 +1611,11 @@ msgid "" msgstr "" "O retorno de chamadas C :mod:`sqlite3` agora usam exceções que não podem ser " "levantadas se os rastreamentos de retorno de chamada estiverem habilitados. " -"Os usuários agora podem registrar um :func:`unraisable hook handler ` para melhorar sua experiência de depuração. (Contribuição " -"de Erlend E. Aasland em :issue:`45828`.)" +"Os usuários agora podem registrar um :func:`unraisable hook handler " +"` para melhorar sua experiência de depuração. " +"(Contribuição de Erlend E. Aasland em :issue:`45828`.)" -#: ../../whatsnew/3.11.rst:980 +#: ../../whatsnew/3.11.rst:1004 msgid "" "Fetch across rollback no longer raises :exc:`~sqlite3.InterfaceError`. " "Instead we leave it to the SQLite library to handle these cases. " @@ -1590,64 +1625,68 @@ msgstr "" "disso, deixamos para a biblioteca SQLite lidar com esses casos. " "(Contribuição de Erlend E. Aasland em :issue:`44092`.)" -#: ../../whatsnew/3.11.rst:984 +#: ../../whatsnew/3.11.rst:1008 msgid "" -"Add :meth:`~sqlite3.Connection.serialize` and :meth:`~sqlite3.Connection." -"deserialize` to :class:`sqlite3.Connection` for serializing and " -"deserializing databases. (Contributed by Erlend E. Aasland in :issue:" -"`41930`.)" +"Add :meth:`~sqlite3.Connection.serialize` " +"and :meth:`~sqlite3.Connection.deserialize` to :class:`sqlite3.Connection` " +"for serializing and deserializing databases. (Contributed by Erlend E. " +"Aasland in :issue:`41930`.)" msgstr "" -"Adiciona :meth:`~sqlite3.Connection.serialize` e :meth:`~sqlite3.Connection." -"deserialize` a :class:`sqlite3.Connection` para serializar e desserializar " -"bancos de dados. (Contribuição de Erlend E. Aasland em :issue:`41930`.)" +"Adiciona :meth:`~sqlite3.Connection.serialize` " +"e :meth:`~sqlite3.Connection.deserialize` a :class:`sqlite3.Connection` para " +"serializar e desserializar bancos de dados. (Contribuição de Erlend E. " +"Aasland em :issue:`41930`.)" -#: ../../whatsnew/3.11.rst:989 +#: ../../whatsnew/3.11.rst:1013 msgid "" -"Add :meth:`~sqlite3.Connection.create_window_function` to :class:`sqlite3." -"Connection` for creating aggregate window functions. (Contributed by Erlend " -"E. Aasland in :issue:`34916`.)" +"Add :meth:`~sqlite3.Connection.create_window_function` " +"to :class:`sqlite3.Connection` for creating aggregate window functions. " +"(Contributed by Erlend E. Aasland in :issue:`34916`.)" msgstr "" -"Adiciona :meth:`~sqlite3.Connection.create_window_function` a :class:" -"`sqlite3.Connection` para criar funções de janela agregadas. (Contribuição " -"de Erlend E. Aasland em :issue:`34916`.)" +"Adiciona :meth:`~sqlite3.Connection.create_window_function` " +"a :class:`sqlite3.Connection` para criar funções de janela agregadas. " +"(Contribuição de Erlend E. Aasland em :issue:`34916`.)" -#: ../../whatsnew/3.11.rst:993 +#: ../../whatsnew/3.11.rst:1017 msgid "" -"Add :meth:`~sqlite3.Connection.blobopen` to :class:`sqlite3.Connection`. :" -"class:`sqlite3.Blob` allows incremental I/O operations on blobs. " -"(Contributed by Aviv Palivoda and Erlend E. Aasland in :issue:`24905`.)" +"Add :meth:`~sqlite3.Connection.blobopen` " +"to :class:`sqlite3.Connection`. :class:`sqlite3.Blob` allows incremental I/O " +"operations on blobs. (Contributed by Aviv Palivoda and Erlend E. Aasland " +"in :issue:`24905`.)" msgstr "" -"Adiciona :meth:`~sqlite3.Connection.blobopen` a :class:`sqlite3." -"Connection`. :class:`sqlite3.Blob` permite operações de E/S incrementais em " -"blobs. (Contribuição de Aviv Palivoda e Erlend E. Aasland em :issue:`24905`.)" +"Adiciona :meth:`~sqlite3.Connection.blobopen` " +"a :class:`sqlite3.Connection`. :class:`sqlite3.Blob` permite operações de E/" +"S incrementais em blobs. (Contribuição de Aviv Palivoda e Erlend E. Aasland " +"em :issue:`24905`.)" -#: ../../whatsnew/3.11.rst:1001 +#: ../../whatsnew/3.11.rst:1025 msgid "string" msgstr "string" -#: ../../whatsnew/3.11.rst:1003 +#: ../../whatsnew/3.11.rst:1027 msgid "" -"Add :meth:`~string.Template.get_identifiers` and :meth:`~string.Template." -"is_valid` to :class:`string.Template`, which respectively return all valid " -"placeholders, and whether any invalid placeholders are present. (Contributed " -"by Ben Kehoe in :gh:`90465`.)" +"Add :meth:`~string.Template.get_identifiers` " +"and :meth:`~string.Template.is_valid` to :class:`string.Template`, which " +"respectively return all valid placeholders, and whether any invalid " +"placeholders are present. (Contributed by Ben Kehoe in :gh:`90465`.)" msgstr "" -"Adiciona :meth:`~string.Template.get_identifiers` e :meth:`~string.Template." -"is_valid` a :class:`string.Template`, que respectivamente retornam todos os " -"marcadores de posição válidos e se quaisquer marcadores de posição inválidos " -"estão presentes. (Contribuição de Ben Kehoe em :gh:`90465`.)" +"Adiciona :meth:`~string.Template.get_identifiers` " +"e :meth:`~string.Template.is_valid` a :class:`string.Template`, que " +"respectivamente retornam todos os marcadores de posição válidos e se " +"quaisquer marcadores de posição inválidos estão presentes. (Contribuição de " +"Ben Kehoe em :gh:`90465`.)" -#: ../../whatsnew/3.11.rst:1013 +#: ../../whatsnew/3.11.rst:1037 msgid "sys" msgstr "sys" -#: ../../whatsnew/3.11.rst:1015 +#: ../../whatsnew/3.11.rst:1039 msgid "" ":func:`sys.exc_info` now derives the ``type`` and ``traceback`` fields from " "the ``value`` (the exception instance), so when an exception is modified " "while it is being handled, the changes are reflected in the results of " -"subsequent calls to :func:`!exc_info`. (Contributed by Irit Katriel in :" -"issue:`45711`.)" +"subsequent calls to :func:`!exc_info`. (Contributed by Irit Katriel " +"in :issue:`45711`.)" msgstr "" ":func:`sys.exc_info` agora deriva os campos ``type`` e ``traceback`` do " "``value`` (a instância de exceção) de forma que quanto uma exceção é " @@ -1655,17 +1694,17 @@ msgstr "" "chamadas subsequentes para :func:`!exc_info`. (Contribuição de Irit Katriel " "em :issue:`45711`.)" -#: ../../whatsnew/3.11.rst:1021 +#: ../../whatsnew/3.11.rst:1045 msgid "" "Add :func:`sys.exception` which returns the active exception instance " -"(equivalent to ``sys.exc_info()[1]``). (Contributed by Irit Katriel in :" -"issue:`46328`.)" +"(equivalent to ``sys.exc_info()[1]``). (Contributed by Irit Katriel " +"in :issue:`46328`.)" msgstr "" "Adiciona :func:`sys.exception` que retorna a instância de exceção ativa " -"(equivalente a ``sys.exc_info()[1]``). (Contribuição de Irit Katriel em :" -"issue:`46328`.)" +"(equivalente a ``sys.exc_info()[1]``). (Contribuição de Irit Katriel " +"em :issue:`46328`.)" -#: ../../whatsnew/3.11.rst:1025 +#: ../../whatsnew/3.11.rst:1049 msgid "" "Add the :data:`sys.flags.safe_path ` flag. (Contributed by Victor " "Stinner in :gh:`57684`.)" @@ -1673,11 +1712,11 @@ msgstr "" "Adiciona o sinalizador :data:`sys.flags.safe_path `. " "(Contribuição de Victor Stinner em :gh:`57684`.)" -#: ../../whatsnew/3.11.rst:1032 +#: ../../whatsnew/3.11.rst:1056 msgid "sysconfig" msgstr "sysconfig" -#: ../../whatsnew/3.11.rst:1034 +#: ../../whatsnew/3.11.rst:1058 msgid "" "Three new :ref:`installation schemes ` (*posix_venv*, " "*nt_venv* and *venv*) were added and are used when Python creates new " @@ -1696,55 +1735,63 @@ msgstr "" "ambiente virtual. Os dois primeiros esquemas (*posix_venv* e *nt_venv*) são " "específicos do SO para não Windows e Windows, o *venv* é essencialmente um " "apelido para um deles de acordo com o SO em que o Python é executado. Isso é " -"útil para distribuidores downstream que modificam :func:`sysconfig." -"get_preferred_scheme`. O código de terceiros que cria novos ambientes " -"virtuais deve usar o novo esquema de instalação *venv* para determinar os " -"caminhos, assim como :mod:`venv`. (Contribuição de Miro Hrončok em :issue:" -"`45413`.)" +"útil para distribuidores downstream que " +"modificam :func:`sysconfig.get_preferred_scheme`. O código de terceiros que " +"cria novos ambientes virtuais deve usar o novo esquema de instalação *venv* " +"para determinar os caminhos, assim como :mod:`venv`. (Contribuição de Miro " +"Hrončok em :issue:`45413`.)" -#: ../../whatsnew/3.11.rst:1051 +#: ../../whatsnew/3.11.rst:1075 msgid "tempfile" msgstr "tempfile" -#: ../../whatsnew/3.11.rst:1053 +#: ../../whatsnew/3.11.rst:1077 msgid "" ":class:`~tempfile.SpooledTemporaryFile` objects now fully implement the " "methods of :class:`io.BufferedIOBase` or :class:`io.TextIOBase` (depending " "on file mode). This lets them work correctly with APIs that expect file-like " -"objects, such as compression modules. (Contributed by Carey Metcalfe in :gh:" -"`70363`.)" +"objects, such as compression modules. (Contributed by Carey Metcalfe " +"in :gh:`70363`.)" msgstr "" "Objetos :class:`~tempfile.SpooledTemporaryFile` agora implementam totalmente " "os métodos de :class:`io.BufferedIOBase` ou :class:`io.TextIOBase` " "(dependendo do modo de arquivo). Isso permite que eles funcionem " -"corretamente com APIs que esperam objetos semelhantes a arquivos, como " -"módulos de compactação. (Contribuição de Carey Metcalfe em :gh:`70363`.)" +"corretamente com APIs que esperam objetos arquivo ou similares, como módulos " +"de compactação. (Contribuição de Carey Metcalfe em :gh:`70363`.)" + +#: ../../whatsnew/3.11.rst:1084 +msgid "" +"As of 3.11.10 on Windows, the default mode ``0o700`` used " +"by :func:`tempfile.mkdtemp` now limits access to the new directory due to " +"changes to :func:`os.mkdir`. This is a mitigation for CVE-2024-4030. " +"(Contributed by Steve Dower in :gh:`118486`.)" +msgstr "" -#: ../../whatsnew/3.11.rst:1064 +#: ../../whatsnew/3.11.rst:1093 msgid "threading" msgstr "threading" -#: ../../whatsnew/3.11.rst:1066 +#: ../../whatsnew/3.11.rst:1095 msgid "" "On Unix, if the ``sem_clockwait()`` function is available in the C library " "(glibc 2.30 and newer), the :meth:`threading.Lock.acquire` method now uses " -"the monotonic clock (:data:`time.CLOCK_MONOTONIC`) for the timeout, rather " -"than using the system clock (:data:`time.CLOCK_REALTIME`), to not be " -"affected by system clock changes. (Contributed by Victor Stinner in :issue:" -"`41710`.)" +"the monotonic clock (:const:`time.CLOCK_MONOTONIC`) for the timeout, rather " +"than using the system clock (:const:`time.CLOCK_REALTIME`), to not be " +"affected by system clock changes. (Contributed by Victor Stinner " +"in :issue:`41710`.)" msgstr "" "No Unix, se a função ``sem_clockwait()`` estiver disponível na biblioteca C " "(glibc 2.30 e mais recente), o método :meth:`threading.Lock.acquire` agora " -"usa o relógio monotônico (:data:`time. CLOCK_MONOTONIC`) para o tempo " -"limite, em vez de usar o relógio do sistema (:data:`time.CLOCK_REALTIME`), " +"usa o relógio monotônico (:const:`time.CLOCK_MONOTONIC`) para o tempo " +"limite, em vez de usar o relógio do sistema (:const:`time.CLOCK_REALTIME`), " "para não ser afetado pelas alterações do relógio do sistema. (Contribuição " "de Victor Stinner em :issue:`41710`.)" -#: ../../whatsnew/3.11.rst:1077 +#: ../../whatsnew/3.11.rst:1106 msgid "time" msgstr "time" -#: ../../whatsnew/3.11.rst:1079 +#: ../../whatsnew/3.11.rst:1108 msgid "" "On Unix, :func:`time.sleep` now uses the ``clock_nanosleep()`` or " "``nanosleep()`` function, if available, which has a resolution of 1 " @@ -1758,28 +1805,29 @@ msgstr "" "de 1 microssegundo (10\\ :sup:`-6` segundos). (Contribuição de Benjamin " "Szőke e Victor Stinner em :issue:`21302`.)" -#: ../../whatsnew/3.11.rst:1085 +#: ../../whatsnew/3.11.rst:1114 msgid "" "On Windows 8.1 and newer, :func:`time.sleep` now uses a waitable timer based " "on `high-resolution timers `_ which has a resolution of " "100 nanoseconds (10\\ :sup:`-7` seconds). Previously, it had a resolution of " -"1 millisecond (10\\ :sup:`-3` seconds). (Contributed by Benjamin Szőke, Dong-" -"hee Na, Eryk Sun and Victor Stinner in :issue:`21302` and :issue:`45429`.)" +"1 millisecond (10\\ :sup:`-3` seconds). (Contributed by Benjamin Szőke, " +"Donghee Na, Eryk Sun and Victor Stinner in :issue:`21302` " +"and :issue:`45429`.)" msgstr "" "No Windows 8.1 e mais recente, :func:`time.sleep` agora usa um temporizador " -"aguardável baseado em `temporizadores de alta resolução `_ que tem uma resolução de 100 nanossegundos (10\\ :sup:`-7` " -"segundos). Anteriormente, tinha uma resolução de 1 milissegundo (10\\ :sup:" -"`-3` segundos). (Contribuição de Benjamin Szőke, Dong-hee Na, Eryk Sun e " -"Victor Stinner em :issue:`21302` e :issue:`45429`.)" +"segundos). Anteriormente, tinha uma resolução de 1 milissegundo " +"(10\\ :sup:`-3` segundos). (Contribuição de Benjamin Szőke, Donghee Na, Eryk " +"Sun e Victor Stinner em :issue:`21302` e :issue:`45429`.)" -#: ../../whatsnew/3.11.rst:1096 +#: ../../whatsnew/3.11.rst:1125 msgid "tkinter" msgstr "tkinter" -#: ../../whatsnew/3.11.rst:1098 +#: ../../whatsnew/3.11.rst:1127 msgid "" "Added method ``info_patchlevel()`` which returns the exact version of the " "Tcl library as a named tuple similar to :data:`sys.version_info`. " @@ -1789,11 +1837,11 @@ msgstr "" "biblioteca Tcl como uma tupla nomeada semelhante a :data:`sys.version_info`. " "(Contribuição de Serhiy Storchaka em :gh:`91827`.)" -#: ../../whatsnew/3.11.rst:1106 +#: ../../whatsnew/3.11.rst:1135 msgid "traceback" msgstr "traceback" -#: ../../whatsnew/3.11.rst:1108 +#: ../../whatsnew/3.11.rst:1137 msgid "" "Add :func:`traceback.StackSummary.format_frame_summary` to allow users to " "override which frames appear in the traceback, and how they are formatted. " @@ -1803,39 +1851,41 @@ msgstr "" "que os usuários substituam quais quadros aparecem no traceback e como eles " "são formatados. (Contribuição de Ammar Askar em :issue:`44569`.)" -#: ../../whatsnew/3.11.rst:1113 +#: ../../whatsnew/3.11.rst:1142 msgid "" -"Add :func:`traceback.TracebackException.print`, which prints the formatted :" -"exc:`~traceback.TracebackException` instance to a file. (Contributed by Irit " -"Katriel in :issue:`33809`.)" +"Add :func:`traceback.TracebackException.print`, which prints the " +"formatted :exc:`~traceback.TracebackException` instance to a file. " +"(Contributed by Irit Katriel in :issue:`33809`.)" msgstr "" "Adiciona :func:`traceback.TracebackException.print`, que imprime a instância " "formatada :exc:`~traceback.TracebackException` em um arquivo. (Contribuição " "de Irit Katriel em :issue:`33809`.)" -#: ../../whatsnew/3.11.rst:1121 +#: ../../whatsnew/3.11.rst:1150 msgid "typing" msgstr "typing" -#: ../../whatsnew/3.11.rst:1123 +#: ../../whatsnew/3.11.rst:1152 msgid "For major changes, see :ref:`new-feat-related-type-hints-311`." msgstr "" "Para alterações principais, veja :ref:`new-feat-related-type-hints-311`." -#: ../../whatsnew/3.11.rst:1125 +#: ../../whatsnew/3.11.rst:1154 msgid "" -"Add :func:`typing.assert_never` and :class:`typing.Never`. :func:`typing." -"assert_never` is useful for asking a type checker to confirm that a line of " -"code is not reachable. At runtime, it raises an :exc:`AssertionError`. " -"(Contributed by Jelle Zijlstra in :gh:`90633`.)" +"Add :func:`typing.assert_never` " +"and :class:`typing.Never`. :func:`typing.assert_never` is useful for asking " +"a type checker to confirm that a line of code is not reachable. At runtime, " +"it raises an :exc:`AssertionError`. (Contributed by Jelle Zijlstra " +"in :gh:`90633`.)" msgstr "" -"Adiciona :func:`typing.assert_never` e :class:`typing.Never`. :func:`typing." -"assert_never` é útil para pedir a um verificador de tipo para confirmar que " -"uma linha de código não está acessível. Em tempo de execução, ele levanta " -"uma exceção :exc:`AssertionError`. (Contribuição de Jelle Zijlstra em :gh:" -"`90633`.)" +"Adiciona :func:`typing.assert_never` " +"e :class:`typing.Never`. :func:`typing.assert_never` é útil para pedir a um " +"verificador de tipo para confirmar que uma linha de código não está " +"acessível. Em tempo de execução, ele levanta uma " +"exceção :exc:`AssertionError`. (Contribuição de Jelle Zijlstra " +"em :gh:`90633`.)" -#: ../../whatsnew/3.11.rst:1131 +#: ../../whatsnew/3.11.rst:1160 msgid "" "Add :func:`typing.reveal_type`. This is useful for asking a type checker " "what type it has inferred for a given expression. At runtime it prints the " @@ -1846,7 +1896,7 @@ msgstr "" "tempo de execução imprime o tipo do valor recebido. (Contribuição de Jelle " "Zijlstra em :gh:`90572`.)" -#: ../../whatsnew/3.11.rst:1136 +#: ../../whatsnew/3.11.rst:1165 msgid "" "Add :func:`typing.assert_type`. This is useful for asking a type checker to " "confirm that the type it has inferred for a given expression matches the " @@ -1859,7 +1909,7 @@ msgstr "" "ele simplesmente retorna o valor recebido. (Contribuição de Jelle Zijlstra " "em :gh:`90638`.)" -#: ../../whatsnew/3.11.rst:1141 +#: ../../whatsnew/3.11.rst:1170 msgid "" ":data:`typing.TypedDict` types can now be generic. (Contributed by Samodya " "Abeysiriwardane in :gh:`89026`.)" @@ -1867,7 +1917,7 @@ msgstr "" "Os tipos :data:`typing.TypedDict` agora podem ser genéricos. (Contribuição " "de Samodya Abeysiriwardane em :gh:`89026`.)" -#: ../../whatsnew/3.11.rst:1144 +#: ../../whatsnew/3.11.rst:1173 msgid "" ":class:`~typing.NamedTuple` types can now be generic. (Contributed by Serhiy " "Storchaka in :issue:`43923`.)" @@ -1875,7 +1925,7 @@ msgstr "" "Os tipos :class:`~typing.NamedTuple` agora podem ser genéricos. " "(Contribuição de Serhiy Storchaka em :issue:`43923`.)" -#: ../../whatsnew/3.11.rst:1147 +#: ../../whatsnew/3.11.rst:1176 msgid "" "Allow subclassing of :class:`typing.Any`. This is useful for avoiding type " "checker errors related to highly dynamic class, such as mocks. (Contributed " @@ -1885,7 +1935,7 @@ msgstr "" "erros de verificador de tipo relacionados a classes altamente dinâmicas, " "como mocks. (Contribuição de Shantanu Jain em :gh:`91154`.)" -#: ../../whatsnew/3.11.rst:1151 +#: ../../whatsnew/3.11.rst:1180 msgid "" "The :func:`typing.final` decorator now sets the ``__final__`` attributed on " "the decorated object. (Contributed by Jelle Zijlstra in :gh:`90500`.)" @@ -1893,19 +1943,19 @@ msgstr "" "O decorador :func:`typing.final` agora define o ``__final__`` atribuído no " "objeto decorado. (Contribuição de Jelle Zijlstra em :gh:`90500`.)" -#: ../../whatsnew/3.11.rst:1155 +#: ../../whatsnew/3.11.rst:1184 msgid "" "The :func:`typing.get_overloads` function can be used for introspecting the " "overloads of a function. :func:`typing.clear_overloads` can be used to clear " -"all registered overloads of a function. (Contributed by Jelle Zijlstra in :" -"gh:`89263`.)" +"all registered overloads of a function. (Contributed by Jelle Zijlstra " +"in :gh:`89263`.)" msgstr "" "A função :func:`typing.get_overloads` pode ser usada para introspecção das " "sobrecargas de uma função. :func:`typing.clear_overloads` pode ser usado " "para limpar todas as sobrecargas registradas de uma função. (Contribuição de " "Jelle Zijlstra em :gh:`89263`.)" -#: ../../whatsnew/3.11.rst:1160 +#: ../../whatsnew/3.11.rst:1189 msgid "" "The :meth:`~object.__init__` method of :class:`~typing.Protocol` subclasses " "is now preserved. (Contributed by Adrian Garcia Badarasco in :gh:`88970`.)" @@ -1913,7 +1963,7 @@ msgstr "" "O método :meth:`~object.__init__` das subclasses :class:`~typing.Protocol` " "agora é preservado. (Contribuição de Adrian Garcia Badarasco em :gh:`88970`.)" -#: ../../whatsnew/3.11.rst:1163 +#: ../../whatsnew/3.11.rst:1192 msgid "" "The representation of empty tuple types (``Tuple[()]``) is simplified. This " "affects introspection, e.g. ``get_args(Tuple[()])`` now evaluates to ``()`` " @@ -1924,7 +1974,7 @@ msgstr "" "avaliado como ``()`` em vez de ``((),)``. (Contribuição de Serhiy Storchaka " "em :gh:`91137`.)" -#: ../../whatsnew/3.11.rst:1168 +#: ../../whatsnew/3.11.rst:1197 msgid "" "Loosen runtime requirements for type annotations by removing the callable " "check in the private ``typing._type_check`` function. (Contributed by " @@ -1934,7 +1984,7 @@ msgstr "" "a verificação chamável na função privada ``typing._type_check``. " "(Contribuição de Gregory Beauregard em :gh:`90802`.)" -#: ../../whatsnew/3.11.rst:1172 +#: ../../whatsnew/3.11.rst:1201 msgid "" ":func:`typing.get_type_hints` now supports evaluating strings as forward " "references in :ref:`PEP 585 generic aliases `. " @@ -1944,27 +1994,27 @@ msgstr "" "referências diretas em :ref:`apelidos genéricos da PEP 585 `. (Contribuição de Niklas Rosenstein em :gh:`85542`.)" -#: ../../whatsnew/3.11.rst:1176 +#: ../../whatsnew/3.11.rst:1205 msgid "" ":func:`typing.get_type_hints` no longer adds :data:`~typing.Optional` to " -"parameters with ``None`` as a default. (Contributed by Nikita Sobolev in :gh:" -"`90353`.)" +"parameters with ``None`` as a default. (Contributed by Nikita Sobolev " +"in :gh:`90353`.)" msgstr "" ":func:`typing.get_type_hints` não adiciona mais :data:`~typing.Optional` aos " -"parâmetros com ``None`` como padrão. (Contribuição de Nikita Sobolev em :gh:" -"`90353`.)" +"parâmetros com ``None`` como padrão. (Contribuição de Nikita Sobolev " +"em :gh:`90353`.)" -#: ../../whatsnew/3.11.rst:1180 +#: ../../whatsnew/3.11.rst:1209 msgid "" -":func:`typing.get_type_hints` now supports evaluating bare stringified :data:" -"`~typing.ClassVar` annotations. (Contributed by Gregory Beauregard in :gh:" -"`90711`.)" +":func:`typing.get_type_hints` now supports evaluating bare " +"stringified :data:`~typing.ClassVar` annotations. (Contributed by Gregory " +"Beauregard in :gh:`90711`.)" msgstr "" -":func:`typing.get_type_hints` agora tem suporte à avaliação de anotações :" -"data:`~typing.ClassVar` de strings simples. (Contribuição de Gregory " -"Beauregard em :gh:`90711`.)" +":func:`typing.get_type_hints` agora tem suporte à avaliação de " +"anotações :data:`~typing.ClassVar` de strings simples. (Contribuição de " +"Gregory Beauregard em :gh:`90711`.)" -#: ../../whatsnew/3.11.rst:1184 +#: ../../whatsnew/3.11.rst:1213 msgid "" ":func:`typing.no_type_check` no longer modifies external classes and " "functions. It also now correctly marks classmethods as not to be type " @@ -1974,11 +2024,11 @@ msgstr "" "Agora também marca corretamente os métodos de classe para não serem " "verificados quanto ao tipo. (Contribuição de Nikita Sobolev em :gh:`90729`.)" -#: ../../whatsnew/3.11.rst:1192 +#: ../../whatsnew/3.11.rst:1221 msgid "unicodedata" msgstr "unicodedata" -#: ../../whatsnew/3.11.rst:1194 +#: ../../whatsnew/3.11.rst:1223 msgid "" "The Unicode database has been updated to version 14.0.0. (Contributed by " "Benjamin Peterson in :issue:`45190`)." @@ -1986,30 +2036,33 @@ msgstr "" "O banco de dados Unicode foi atualizado para a versão 14.0.0. (Contribuição " "de Benjamin Peterson em :issue:`45190`)." -#: ../../whatsnew/3.11.rst:1201 +#: ../../whatsnew/3.11.rst:1230 msgid "unittest" msgstr "unittest" -#: ../../whatsnew/3.11.rst:1203 -msgid "" -"Added methods :meth:`~unittest.TestCase.enterContext` and :meth:`~unittest." -"TestCase.enterClassContext` of class :class:`~unittest.TestCase`, method :" -"meth:`~unittest.IsolatedAsyncioTestCase.enterAsyncContext` of class :class:" -"`~unittest.IsolatedAsyncioTestCase` and function :func:`unittest." -"enterModuleContext`. (Contributed by Serhiy Storchaka in :issue:`45046`.)" -msgstr "" -"Adicionados os métodos :meth:`~unittest.TestCase.enterContext` e :meth:" -"`~unittest.TestCase.enterClassContext` da classe :class:`~unittest." -"TestCase`, método :meth:`~unittest.IsolatedAsyncioTestCase." -"enterAsyncContext` da classe :class:`~unittest.IsolatedAsyncioTestCase` e a " +#: ../../whatsnew/3.11.rst:1232 +msgid "" +"Added methods :meth:`~unittest.TestCase.enterContext` " +"and :meth:`~unittest.TestCase.enterClassContext` of " +"class :class:`~unittest.TestCase`, " +"method :meth:`~unittest.IsolatedAsyncioTestCase.enterAsyncContext` of " +"class :class:`~unittest.IsolatedAsyncioTestCase` and " +"function :func:`unittest.enterModuleContext`. (Contributed by Serhiy " +"Storchaka in :issue:`45046`.)" +msgstr "" +"Adicionados os métodos :meth:`~unittest.TestCase.enterContext` " +"e :meth:`~unittest.TestCase.enterClassContext` da " +"classe :class:`~unittest.TestCase`, " +"método :meth:`~unittest.IsolatedAsyncioTestCase.enterAsyncContext` da " +"classe :class:`~unittest.IsolatedAsyncioTestCase` e a " "função :func:`unittest.enterModuleContext`. (Contribuição de Serhiy " "Storchaka em :issue:`45046`.)" -#: ../../whatsnew/3.11.rst:1215 +#: ../../whatsnew/3.11.rst:1244 msgid "venv" msgstr "venv" -#: ../../whatsnew/3.11.rst:1217 +#: ../../whatsnew/3.11.rst:1246 msgid "" "When new Python virtual environments are created, the *venv* :ref:`sysconfig " "installation scheme ` is used to determine the paths " @@ -2017,8 +2070,8 @@ msgid "" "installation scheme is the default. That means that downstream distributors " "can change the default sysconfig install scheme without changing behavior of " "virtual environments. Third party code that also creates new virtual " -"environments should do the same. (Contributed by Miro Hrončok in :issue:" -"`45413`.)" +"environments should do the same. (Contributed by Miro Hrončok " +"in :issue:`45413`.)" msgstr "" "Quando novos ambientes virtuais Python são criados, o :ref:`esquema de " "instalação do sysconfig ` do *venv* é usado para " @@ -2029,38 +2082,38 @@ msgstr "" "código de terceiros que também cria novos ambientes virtuais deve fazer o " "mesmo. (Contribuição de Miro Hrončok em :issue:`45413`.)" -#: ../../whatsnew/3.11.rst:1231 +#: ../../whatsnew/3.11.rst:1260 msgid "warnings" -msgstr "warnings" +msgstr "avisos" -#: ../../whatsnew/3.11.rst:1233 +#: ../../whatsnew/3.11.rst:1262 msgid "" -":func:`warnings.catch_warnings` now accepts arguments for :func:`warnings." -"simplefilter`, providing a more concise way to locally ignore warnings or " -"convert them to errors. (Contributed by Zac Hatfield-Dodds in :issue:" -"`47074`.)" +":func:`warnings.catch_warnings` now accepts arguments " +"for :func:`warnings.simplefilter`, providing a more concise way to locally " +"ignore warnings or convert them to errors. (Contributed by Zac Hatfield-" +"Dodds in :issue:`47074`.)" msgstr "" -":func:`warnings.catch_warnings` agora aceita argumentos para :func:`warnings." -"simplefilter`, fornecendo uma maneira mais concisa de ignorar localmente " -"avisos ou convertê-los em erros. (Contribuição de Zac Hatfield-Dodds em :" -"issue:`47074`.)" +":func:`warnings.catch_warnings` agora aceita argumentos " +"para :func:`warnings.simplefilter`, fornecendo uma maneira mais concisa de " +"ignorar localmente avisos ou convertê-los em erros. (Contribuição de Zac " +"Hatfield-Dodds em :issue:`47074`.)" -#: ../../whatsnew/3.11.rst:1241 +#: ../../whatsnew/3.11.rst:1270 msgid "zipfile" msgstr "zipfile" -#: ../../whatsnew/3.11.rst:1243 +#: ../../whatsnew/3.11.rst:1272 msgid "" -"Added support for specifying member name encoding for reading metadata in a :" -"class:`~zipfile.ZipFile`'s directory and file headers. (Contributed by " +"Added support for specifying member name encoding for reading metadata in " +"a :class:`~zipfile.ZipFile`'s directory and file headers. (Contributed by " "Stephen J. Turnbull and Serhiy Storchaka in :issue:`28080`.)" msgstr "" "Adicionado suporte para especificar a codificação de nome de membro para " "leitura de metadados em um diretório :class:`~zipfile.ZipFile` e cabeçalhos " -"de arquivo. (Contribuição de Stephen J. Turnbull e Serhiy Storchaka em :" -"issue:`28080`.)" +"de arquivo. (Contribuição de Stephen J. Turnbull e Serhiy Storchaka " +"em :issue:`28080`.)" -#: ../../whatsnew/3.11.rst:1247 +#: ../../whatsnew/3.11.rst:1276 msgid "" "Added :meth:`ZipFile.mkdir() ` for creating new " "directories inside ZIP archives. (Contributed by Sam Ezeh in :gh:`49083`.)" @@ -2068,29 +2121,31 @@ msgstr "" "Adicionado :meth:`ZipFile.mkdir() ` para criar novos " "diretórios dentro de arquivos ZIP. (Contribuição de Sam Ezeh em :gh:`49083`.)" -#: ../../whatsnew/3.11.rst:1251 +#: ../../whatsnew/3.11.rst:1280 msgid "" -"Added :attr:`~zipfile.Path.stem`, :attr:`~zipfile.Path.suffix` and :attr:" -"`~zipfile.Path.suffixes` to :class:`zipfile.Path`. (Contributed by Miguel " -"Brito in :gh:`88261`.)" +"Added :attr:`~zipfile.Path.stem`, :attr:`~zipfile.Path.suffix` " +"and :attr:`~zipfile.Path.suffixes` to :class:`zipfile.Path`. (Contributed by " +"Miguel Brito in :gh:`88261`.)" msgstr "" -"Adicionado :attr:`~zipfile.Path.stem`, :attr:`~zipfile.Path.suffix` e :attr:" -"`~zipfile.Path.suffixes` a :class:`zipfile.Path`. (Contribuição de Miguel " -"Brito em :gh:`88261`.)" +"Adicionado :attr:`~zipfile.Path.stem`, :attr:`~zipfile.Path.suffix` " +"e :attr:`~zipfile.Path.suffixes` a :class:`zipfile.Path`. (Contribuição de " +"Miguel Brito em :gh:`88261`.)" -#: ../../whatsnew/3.11.rst:1259 +#: ../../whatsnew/3.11.rst:1288 msgid "Optimizations" msgstr "Otimizações" -#: ../../whatsnew/3.11.rst:1261 +#: ../../whatsnew/3.11.rst:1290 msgid "" -"This section covers specific optimizations independent of the :ref:" -"`whatsnew311-faster-cpython` project, which is covered in its own section." +"This section covers specific optimizations independent of " +"the :ref:`whatsnew311-faster-cpython` project, which is covered in its own " +"section." msgstr "" -"Esta seção cobre otimizações específicas independentes do projeto :ref:" -"`whatsnew311-faster-cpython`, que é abordado em sua própria seção." +"Esta seção cobre otimizações específicas independentes do " +"projeto :ref:`whatsnew311-faster-cpython`, que é abordado em sua própria " +"seção." -#: ../../whatsnew/3.11.rst:1264 +#: ../../whatsnew/3.11.rst:1293 msgid "" "The compiler now optimizes simple :ref:`printf-style % formatting ` on string literals containing only the format codes " @@ -2099,23 +2154,23 @@ msgid "" msgstr "" "O compilador agora otimiza a :ref:`formatação simples de % no estilo printf " "` em literais de string contendo apenas os códigos de " -"formato ``%s``, ``%r`` e ``%a`` e a torna tão rápida quanto uma expressão :" -"term:`f-string` correspondente. (Contribuição de Serhiy Storchaka em :issue:" -"`28307`.)" +"formato ``%s``, ``%r`` e ``%a`` e a torna tão rápida quanto uma " +"expressão :term:`f-string` correspondente. (Contribuição de Serhiy Storchaka " +"em :issue:`28307`.)" -#: ../../whatsnew/3.11.rst:1270 +#: ../../whatsnew/3.11.rst:1299 msgid "" "Integer division (``//``) is better tuned for optimization by compilers. It " "is now around 20% faster on x86-64 when dividing an :class:`int` by a value " -"smaller than ``2**30``. (Contributed by Gregory P. Smith and Tim Peters in :" -"gh:`90564`.)" +"smaller than ``2**30``. (Contributed by Gregory P. Smith and Tim Peters " +"in :gh:`90564`.)" msgstr "" "A divisão inteira (``//``) é melhor ajustada para otimização por " -"compiladores. Agora é cerca de 20% mais rápido em x86-64 ao dividir um :" -"class:`int` por um valor menor que ``2**30``. (Contribuição de Gregory P. " -"Smith e Tim Peters em :gh:`90564`.)" +"compiladores. Agora é cerca de 20% mais rápido em x86-64 ao dividir " +"um :class:`int` por um valor menor que ``2**30``. (Contribuição de Gregory " +"P. Smith e Tim Peters em :gh:`90564`.)" -#: ../../whatsnew/3.11.rst:1275 +#: ../../whatsnew/3.11.rst:1304 msgid "" ":func:`sum` is now nearly 30% faster for integers smaller than ``2**30``. " "(Contributed by Stefan Behnel in :gh:`68264`.)" @@ -2123,30 +2178,32 @@ msgstr "" ":func:`sum` agora é quase 30% mais rápida para inteiros menores que " "``2**30``. (Contribuição de Stefan Behnel em :gh:`68264`.)" -#: ../../whatsnew/3.11.rst:1278 +#: ../../whatsnew/3.11.rst:1307 msgid "" -"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`.)" +"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 "" -"O redimensionamento de listas é simplificado para o caso comum, acelerando :" -"meth:`list.append` em ≈15% e :term:`compreensão de listas ` em até 20-30% (Contribuição de Dennis Sweeney em :gh: `91165`.)" +"O redimensionamento de listas é simplificado para o caso comum, " +"acelerando :meth:`list.append` em ≈15% e :term:`compreensões de lista " +"` em até 20-30% (Contribuição de Dennis Sweeney " +"em :gh:`91165`.)" -#: ../../whatsnew/3.11.rst:1283 +#: ../../whatsnew/3.11.rst:1312 msgid "" "Dictionaries don't store hash values when all keys are Unicode objects, " -"decreasing :class:`dict` size. For example, ``sys.getsizeof(dict." -"fromkeys(\"abcdefg\"))`` is reduced from 352 bytes to 272 bytes (23% " -"smaller) on 64-bit platforms. (Contributed by Inada Naoki in :issue:`46845`.)" +"decreasing :class:`dict` size. For example, " +"``sys.getsizeof(dict.fromkeys(\"abcdefg\"))`` is reduced from 352 bytes to " +"272 bytes (23% smaller) on 64-bit platforms. (Contributed by Inada Naoki " +"in :issue:`46845`.)" msgstr "" "Dicionários não armazenam valores de hash quando todas as chaves são objetos " -"Unicode, diminuindo o tamanho de :class:`dict`. Por exemplo, ``sys." -"getsizeof(dict.fromkeys(\"abcdefg\"))`` foi reduzido de 352 bytes para 272 " -"bytes (23% menor) em plataformas de 64 bits. (Contribuição de Inada Naoki " -"em :issue:`46845`.)" +"Unicode, diminuindo o tamanho de :class:`dict`. Por exemplo, " +"``sys.getsizeof(dict.fromkeys(\"abcdefg\"))`` foi reduzido de 352 bytes para " +"272 bytes (23% menor) em plataformas de 64 bits. (Contribuição de Inada " +"Naoki em :issue:`46845`.)" -#: ../../whatsnew/3.11.rst:1289 +#: ../../whatsnew/3.11.rst:1318 msgid "" "Using :class:`asyncio.DatagramProtocol` is now orders of magnitude faster " "when transferring large files over UDP, with speeds over 100 times higher " @@ -2156,7 +2213,7 @@ msgstr "" "transferir arquivos grandes por UDP, com velocidades mais de 100 vezes " "maiores para um arquivo de ≈60 MiB. (Contribuição de msoxzw em :gh:`91487`.)" -#: ../../whatsnew/3.11.rst:1294 +#: ../../whatsnew/3.11.rst:1323 msgid "" ":mod:`math` functions :func:`~math.comb` and :func:`~math.perm` are now ≈10 " "times faster for large arguments (with a larger speedup for larger *k*). " @@ -2166,33 +2223,33 @@ msgstr "" "≈10 vezes mais rápidas para argumentos grandes (com uma aceleração maior " "para *k* maiores). (Contribuição de Serhiy Storchaka em :issue:`37295`.)" -#: ../../whatsnew/3.11.rst:1298 +#: ../../whatsnew/3.11.rst:1327 msgid "" -"The :mod:`statistics` functions :func:`~statistics.mean`, :func:`~statistics." -"variance` and :func:`~statistics.stdev` now consume iterators in one pass " -"rather than converting them to a :class:`list` first. This is twice as fast " -"and can save substantial memory. (Contributed by Raymond Hettinger in :gh:" -"`90415`.)" +"The :mod:`statistics` " +"functions :func:`~statistics.mean`, :func:`~statistics.variance` " +"and :func:`~statistics.stdev` now consume iterators in one pass rather than " +"converting them to a :class:`list` first. This is twice as fast and can save " +"substantial memory. (Contributed by Raymond Hettinger in :gh:`90415`.)" msgstr "" -"As funções :func:`~statistics.mean`, :func:`~statistics.variance` e :func:" -"`~statistics.stdev` do :mod:`statistics` agora consomem iteradores em uma " -"passagem em vez de convertê-los em uma :class:`list` primeiro. Isso é duas " -"vezes mais rápido e pode economizar memória de forma substancial. " +"As funções :func:`~statistics.mean`, :func:`~statistics.variance` " +"e :func:`~statistics.stdev` do :mod:`statistics` agora consomem iteradores " +"em uma passagem em vez de convertê-los em uma :class:`list` primeiro. Isso é " +"duas vezes mais rápido e pode economizar memória de forma substancial. " "(Contribuição de Raymond Hettinger em :gh:`90415`.)" -#: ../../whatsnew/3.11.rst:1304 +#: ../../whatsnew/3.11.rst:1333 msgid "" ":func:`unicodedata.normalize` now normalizes pure-ASCII strings in constant " -"time. (Contributed by Dong-hee Na in :issue:`44987`.)" +"time. (Contributed by Donghee Na in :issue:`44987`.)" msgstr "" ":func:`unicodedata.normalize` agora normaliza strings de puro ASCII em tempo " "constante. (Contribuição de Dong-hee Na em :issue:`44987`.)" -#: ../../whatsnew/3.11.rst:1312 +#: ../../whatsnew/3.11.rst:1341 msgid "Faster CPython" msgstr "CPython mais rápido" -#: ../../whatsnew/3.11.rst:1314 +#: ../../whatsnew/3.11.rst:1343 msgid "" "CPython 3.11 is an average of `25% faster `_ than CPython 3.10 as measured with the " @@ -2206,26 +2263,26 @@ msgstr "" "pyperformance>`_, quando compilado com GCC no Ubuntu Linux. Dependendo da " "sua carga de trabalho, a aceleração geral pode ser de 10 a 60%." -#: ../../whatsnew/3.11.rst:1321 +#: ../../whatsnew/3.11.rst:1350 msgid "" "This project focuses on two major areas in Python: :ref:`whatsnew311-faster-" "startup` and :ref:`whatsnew311-faster-runtime`. Optimizations not covered by " "this project are listed separately under :ref:`whatsnew311-optimizations`." msgstr "" -"Este projeto se concentra em duas áreas principais em Python: :ref:" -"`whatsnew311-faster-startup` e :ref:`whatsnew311-faster-runtime`. " -"Otimizações que não são abordadas neste projeto estão listadas em :ref:" -"`whatsnew311-optimizations`." +"Este projeto se concentra em duas áreas principais em " +"Python: :ref:`whatsnew311-faster-startup` e :ref:`whatsnew311-faster-" +"runtime`. Otimizações que não são abordadas neste projeto estão listadas " +"em :ref:`whatsnew311-optimizations`." -#: ../../whatsnew/3.11.rst:1330 +#: ../../whatsnew/3.11.rst:1359 msgid "Faster Startup" msgstr "Inicialização mais rápida" -#: ../../whatsnew/3.11.rst:1335 +#: ../../whatsnew/3.11.rst:1364 msgid "Frozen imports / Static code objects" msgstr "Importações congeladas/objetos de código estático" -#: ../../whatsnew/3.11.rst:1337 +#: ../../whatsnew/3.11.rst:1366 msgid "" "Python caches :term:`bytecode` in the :ref:`__pycache__ ` " "directory to speed up module loading." @@ -2233,11 +2290,11 @@ msgstr "" "O Python armazena o :term:`bytecode` no diretório :ref:`__pycache__ ` para acelerar o carregamento do módulo." -#: ../../whatsnew/3.11.rst:1340 +#: ../../whatsnew/3.11.rst:1369 msgid "Previously in 3.10, Python module execution looked like this:" msgstr "Anteriormente na versão 3.10, a execução do módulo Python era assim:" -#: ../../whatsnew/3.11.rst:1346 +#: ../../whatsnew/3.11.rst:1375 msgid "" "In Python 3.11, the core modules essential for Python startup are " "\"frozen\". This means that their :ref:`codeobjects` (and bytecode) are " @@ -2249,7 +2306,7 @@ msgstr "" "bytecode) são alocados estaticamente pelo interpretador. Isso reduz as " "etapas no processo de execução do módulo para isso:" -#: ../../whatsnew/3.11.rst:1355 +#: ../../whatsnew/3.11.rst:1384 msgid "" "Interpreter startup is now 10-15% faster in Python 3.11. This has a big " "impact for short-running programs using Python." @@ -2257,22 +2314,22 @@ msgstr "" "A inicialização do interpretador agora é 10-15% mais rápida no Python 3.11. " "Isso tem um grande impacto para programas de execução curta usando Python." -#: ../../whatsnew/3.11.rst:1358 +#: ../../whatsnew/3.11.rst:1387 msgid "" "(Contributed by Eric Snow, Guido van Rossum and Kumar Aditya in many issues.)" msgstr "" "(Contribuição de Eric Snow, Guido van Rossum e Kumar Aditya em vários " "issues.)" -#: ../../whatsnew/3.11.rst:1364 +#: ../../whatsnew/3.11.rst:1393 msgid "Faster Runtime" msgstr "Tempo de execução mais rápido" -#: ../../whatsnew/3.11.rst:1369 +#: ../../whatsnew/3.11.rst:1398 msgid "Cheaper, lazy Python frames" msgstr "Quadros Python menos custosos e mais preguiçosos" -#: ../../whatsnew/3.11.rst:1371 +#: ../../whatsnew/3.11.rst:1400 msgid "" "Python frames, holding execution information, are created whenever Python " "calls a Python function. The following are new frame optimizations:" @@ -2281,18 +2338,18 @@ msgstr "" "que o Python chama uma função do Python. A seguir estão as novas otimizações " "de quadro:" -#: ../../whatsnew/3.11.rst:1375 +#: ../../whatsnew/3.11.rst:1404 msgid "Streamlined the frame creation process." msgstr "Simplificado o processo de criação do quadro." -#: ../../whatsnew/3.11.rst:1376 +#: ../../whatsnew/3.11.rst:1405 msgid "" "Avoided memory allocation by generously re-using frame space on the C stack." msgstr "" "Alocação de memória evitada reutilizando generosamente o espaço do quadro na " "pilha C." -#: ../../whatsnew/3.11.rst:1377 +#: ../../whatsnew/3.11.rst:1406 msgid "" "Streamlined the internal frame struct to contain only essential information. " "Frames previously held extra debugging and memory management information." @@ -2301,13 +2358,13 @@ msgstr "" "essenciais. Os quadros anteriormente continham informações extras de " "depuração e gerenciamento de memória." -#: ../../whatsnew/3.11.rst:1380 +#: ../../whatsnew/3.11.rst:1409 msgid "" "Old-style :ref:`frame objects ` are now created only when " -"requested by debuggers or by Python introspection functions such as :func:" -"`sys._getframe` and :func:`inspect.currentframe`. For most user code, no " -"frame objects are created at all. As a result, nearly all Python functions " -"calls have sped up significantly. We measured a 3-7% speedup in " +"requested by debuggers or by Python introspection functions such " +"as :func:`sys._getframe` and :func:`inspect.currentframe`. For most user " +"code, no frame objects are created at all. As a result, nearly all Python " +"functions calls have sped up significantly. We measured a 3-7% speedup in " "pyperformance." msgstr "" "Os antigos :ref:`objetos quadros ` agora são criados apenas " @@ -2317,15 +2374,15 @@ msgstr "" "todas as chamadas de funções do Python aceleraram significativamente. " "Medimos uma aceleração de 3 a 7% no desempenho do py." -#: ../../whatsnew/3.11.rst:1387 +#: ../../whatsnew/3.11.rst:1416 msgid "(Contributed by Mark Shannon in :issue:`44590`.)" msgstr "(Contribuição de Mark Shannon em :issue:`44590`.)" -#: ../../whatsnew/3.11.rst:1394 +#: ../../whatsnew/3.11.rst:1423 msgid "Inlined Python function calls" msgstr "Chamadas de função Python em linha" -#: ../../whatsnew/3.11.rst:1396 +#: ../../whatsnew/3.11.rst:1425 msgid "" "During a Python function call, Python will call an evaluating C function to " "interpret that function's code. This effectively limits pure Python " @@ -2335,7 +2392,7 @@ msgstr "" "avaliação para interpretar o código dessa função. Isso efetivamente limita a " "recursão Python pura ao que é seguro para a pilha C." -#: ../../whatsnew/3.11.rst:1400 +#: ../../whatsnew/3.11.rst:1429 msgid "" "In 3.11, when CPython detects Python code calling another Python function, " "it sets up a new frame, and \"jumps\" to the new code inside the new frame. " @@ -2345,13 +2402,14 @@ msgstr "" "Python, ele configura um novo quadro e \"pula\" para o novo código dentro do " "novo quadro. Isso evita chamar a função de interpretação C completamente." -#: ../../whatsnew/3.11.rst:1404 +#: ../../whatsnew/3.11.rst:1433 msgid "" "Most Python function calls now consume no C stack space, speeding them up. " "In simple recursive functions like fibonacci or factorial, we observed a " "1.7x speedup. This also means recursive functions can recurse significantly " -"deeper (if the user increases the recursion limit with :func:`sys." -"setrecursionlimit`). We measured a 1-3% improvement in pyperformance." +"deeper (if the user increases the recursion limit " +"with :func:`sys.setrecursionlimit`). We measured a 1-3% improvement in " +"pyperformance." msgstr "" "A maioria das chamadas de função do Python agora não consome espaço de pilha " "C, acelerando-as. Em funções recursivas simples como fibonacci ou fatorial, " @@ -2360,15 +2418,15 @@ msgstr "" "o usuário aumentar o limite de recursão com :func:`sys.setrecursionlimit`). " "Medimos uma melhoria de 1 a 3% no desempenho do py." -#: ../../whatsnew/3.11.rst:1411 +#: ../../whatsnew/3.11.rst:1440 msgid "(Contributed by Pablo Galindo and Mark Shannon in :issue:`45256`.)" msgstr "(Contribuição de Pablo Galindo e Mark Shannon em :issue:`45256`.)" -#: ../../whatsnew/3.11.rst:1417 +#: ../../whatsnew/3.11.rst:1446 msgid "PEP 659: Specializing Adaptive Interpreter" msgstr "PEP 659: Interpretador adaptativo especializado" -#: ../../whatsnew/3.11.rst:1419 +#: ../../whatsnew/3.11.rst:1448 msgid "" ":pep:`659` is one of the key parts of the Faster CPython project. The " "general idea is that while Python is a dynamic language, most code has " @@ -2380,15 +2438,15 @@ msgstr "" "código possui regiões onde objetos e tipos raramente mudam. Este conceito é " "conhecido como *estabilidade de tipo*." -#: ../../whatsnew/3.11.rst:1423 +#: ../../whatsnew/3.11.rst:1452 msgid "" "At runtime, Python will try to look for common patterns and type stability " "in the executing code. Python will then replace the current operation with a " "more specialized one. This specialized operation uses fast paths available " "only to those use cases/types, which generally outperform their generic " "counterparts. This also brings in another concept called *inline caching*, " -"where Python caches the results of expensive operations directly in the :" -"term:`bytecode`." +"where Python caches the results of expensive operations directly in " +"the :term:`bytecode`." msgstr "" "Em tempo de execução, o Python tentará procurar padrões comuns e " "estabilidade de tipo no código em execução. O Python substituirá a operação " @@ -2398,7 +2456,7 @@ msgstr "" "*cache inline*, onde o Python armazena em cache os resultados de operações " "caras diretamente no :term:`bytecode`." -#: ../../whatsnew/3.11.rst:1431 +#: ../../whatsnew/3.11.rst:1460 msgid "" "The specializer will also combine certain common instruction pairs into one " "superinstruction, reducing the overhead during execution." @@ -2406,7 +2464,7 @@ msgstr "" "O especializador também combinará certos pares de instruções comuns em uma " "superinstrução, reduzindo a sobrecarga durante a execução." -#: ../../whatsnew/3.11.rst:1434 +#: ../../whatsnew/3.11.rst:1463 msgid "" "Python will only specialize when it sees code that is \"hot\" (executed " "multiple times). This prevents Python from wasting time on run-once code. " @@ -2422,161 +2480,161 @@ msgstr "" "tentativas de especialização não são muito caras, permitindo que a " "especialização se adapte às novas circunstâncias." -#: ../../whatsnew/3.11.rst:1441 +#: ../../whatsnew/3.11.rst:1470 msgid "" -"(PEP written by Mark Shannon, with ideas inspired by Stefan Brunthaler. See :" -"pep:`659` for more information. Implementation by Mark Shannon and Brandt " -"Bucher, with additional help from Irit Katriel and Dennis Sweeney.)" +"(PEP written by Mark Shannon, with ideas inspired by Stefan Brunthaler. " +"See :pep:`659` for more information. Implementation by Mark Shannon and " +"Brandt Bucher, with additional help from Irit Katriel and Dennis Sweeney.)" msgstr "" "(PEP escrita por Mark Shannon, com ideias inspiradas por Stefan Brunthaler. " "Veja :pep:`659` para mais informações. Implementação por Mark Shannon e " "Brandt Bucher, com ajuda adicional de Irit Katriel e Dennis Sweeney.)" -#: ../../whatsnew/3.11.rst:1449 +#: ../../whatsnew/3.11.rst:1478 msgid "Operation" msgstr "Operação" -#: ../../whatsnew/3.11.rst:1449 +#: ../../whatsnew/3.11.rst:1478 msgid "Form" msgstr "Forma" -#: ../../whatsnew/3.11.rst:1449 +#: ../../whatsnew/3.11.rst:1478 msgid "Specialization" msgstr "Especialização" -#: ../../whatsnew/3.11.rst:1449 +#: ../../whatsnew/3.11.rst:1478 msgid "Operation speedup (up to)" msgstr "Aceleração da operação" -#: ../../whatsnew/3.11.rst:1449 +#: ../../whatsnew/3.11.rst:1478 msgid "Contributor(s)" msgstr "Contribuidor(es)" -#: ../../whatsnew/3.11.rst:1452 +#: ../../whatsnew/3.11.rst:1481 msgid "Binary operations" msgstr "Operações binárias" -#: ../../whatsnew/3.11.rst:1452 +#: ../../whatsnew/3.11.rst:1481 msgid "``x + x``" msgstr "``x + x``" -#: ../../whatsnew/3.11.rst:1454 +#: ../../whatsnew/3.11.rst:1483 msgid "``x - x``" msgstr "``x - x``" -#: ../../whatsnew/3.11.rst:1456 +#: ../../whatsnew/3.11.rst:1485 msgid "``x * x``" msgstr "``x * x``" -#: ../../whatsnew/3.11.rst:1452 +#: ../../whatsnew/3.11.rst:1481 msgid "" -"Binary add, multiply and subtract for common types such as :class:`int`, :" -"class:`float` and :class:`str` take custom fast paths for their underlying " -"types." +"Binary add, multiply and subtract for common types such " +"as :class:`int`, :class:`float` and :class:`str` take custom fast paths for " +"their underlying types." msgstr "" -"Adicionar, multiplicar e subtrair binários para tipos comuns como :class:" -"`int`, :class:`float` e :class:`str` usam caminhos rápidos personalizados " -"para seus tipos subjacentes." +"Adicionar, multiplicar e subtrair binários para tipos comuns " +"como :class:`int`, :class:`float` e :class:`str` usam caminhos rápidos " +"personalizados para seus tipos subjacentes." -#: ../../whatsnew/3.11.rst:1452 +#: ../../whatsnew/3.11.rst:1481 msgid "10%" msgstr "10%" -#: ../../whatsnew/3.11.rst:1452 -msgid "Mark Shannon, Dong-hee Na, Brandt Bucher, Dennis Sweeney" -msgstr "Mark Shannon, Dong-hee Na, Brandt Bucher, Dennis Sweeney" +#: ../../whatsnew/3.11.rst:1481 +msgid "Mark Shannon, Donghee Na, Brandt Bucher, Dennis Sweeney" +msgstr "Mark Shannon, Donghee Na, Brandt Bucher, Dennis Sweeney" -#: ../../whatsnew/3.11.rst:1458 +#: ../../whatsnew/3.11.rst:1487 msgid "Subscript" msgstr "Subscrição" -#: ../../whatsnew/3.11.rst:1458 +#: ../../whatsnew/3.11.rst:1487 msgid "``a[i]``" msgstr "``a[i]``" -#: ../../whatsnew/3.11.rst:1458 +#: ../../whatsnew/3.11.rst:1487 msgid "" -"Subscripting container types such as :class:`list`, :class:`tuple` and :" -"class:`dict` directly index the underlying data structures." +"Subscripting container types such as :class:`list`, :class:`tuple` " +"and :class:`dict` directly index the underlying data structures." msgstr "" -"Subscrever tipos contêineres como :class:`list`, :class:`tuple` e :class:" -"`dict` indexam diretamente as estruturas de dados subjacentes." +"Subscrever tipos contêineres como :class:`list`, :class:`tuple` " +"e :class:`dict` indexam diretamente as estruturas de dados subjacentes." -#: ../../whatsnew/3.11.rst:1462 +#: ../../whatsnew/3.11.rst:1491 msgid "" -"Subscripting custom :meth:`~object.__getitem__` is also inlined similar to :" -"ref:`inline-calls`." +"Subscripting custom :meth:`~object.__getitem__` is also inlined similar " +"to :ref:`inline-calls`." msgstr "" "Subscrever :meth:`~object.__getitem__` personalizado também é inserido em " "linha de forma similar a :ref:`inline-calls`." -#: ../../whatsnew/3.11.rst:1458 ../../whatsnew/3.11.rst:1465 +#: ../../whatsnew/3.11.rst:1487 ../../whatsnew/3.11.rst:1494 msgid "10-25%" msgstr "10-25%" -#: ../../whatsnew/3.11.rst:1458 +#: ../../whatsnew/3.11.rst:1487 msgid "Irit Katriel, Mark Shannon" msgstr "Irit Katriel, Mark Shannon" -#: ../../whatsnew/3.11.rst:1465 +#: ../../whatsnew/3.11.rst:1494 msgid "Store subscript" msgstr "Armazenar com subscrição" -#: ../../whatsnew/3.11.rst:1465 +#: ../../whatsnew/3.11.rst:1494 msgid "``a[i] = z``" msgstr "``a[i] = z``" -#: ../../whatsnew/3.11.rst:1465 +#: ../../whatsnew/3.11.rst:1494 msgid "Similar to subscripting specialization above." msgstr "Similar à especialização de subscrição acima." -#: ../../whatsnew/3.11.rst:1465 +#: ../../whatsnew/3.11.rst:1494 msgid "Dennis Sweeney" msgstr "Dennis Sweeney" -#: ../../whatsnew/3.11.rst:1468 +#: ../../whatsnew/3.11.rst:1497 msgid "Calls" msgstr "Chamadas" -#: ../../whatsnew/3.11.rst:1468 +#: ../../whatsnew/3.11.rst:1497 msgid "``f(arg)``" msgstr "``f(arg)``" -#: ../../whatsnew/3.11.rst:1470 +#: ../../whatsnew/3.11.rst:1499 msgid "``C(arg)``" msgstr "``C(arg)``" -#: ../../whatsnew/3.11.rst:1468 +#: ../../whatsnew/3.11.rst:1497 msgid "" -"Calls to common builtin (C) functions and types such as :func:`len` and :" -"class:`str` directly call their underlying C version. This avoids going " +"Calls to common builtin (C) functions and types such as :func:`len` " +"and :class:`str` directly call their underlying C version. This avoids going " "through the internal calling convention." msgstr "" -"Chamadas para funções e tipos (C) embutidos comuns como :func:`len` e :class:" -"`str` chamam diretamente sua versão C subjacente. Isso evita passar pela " -"convenção de chamada interna." +"Chamadas para funções e tipos (C) embutidos comuns como :func:`len` " +"e :class:`str` chamam diretamente sua versão C subjacente. Isso evita passar " +"pela convenção de chamada interna." -#: ../../whatsnew/3.11.rst:1468 +#: ../../whatsnew/3.11.rst:1497 msgid "20%" msgstr "20%" -#: ../../whatsnew/3.11.rst:1468 +#: ../../whatsnew/3.11.rst:1497 msgid "Mark Shannon, Ken Jin" msgstr "Mark Shannon, Ken Jin" -#: ../../whatsnew/3.11.rst:1473 +#: ../../whatsnew/3.11.rst:1502 msgid "Load global variable" msgstr "Carregar variável global" -#: ../../whatsnew/3.11.rst:1473 +#: ../../whatsnew/3.11.rst:1502 msgid "``print``" msgstr "``print``" -#: ../../whatsnew/3.11.rst:1475 +#: ../../whatsnew/3.11.rst:1504 msgid "``len``" msgstr "``len``" -#: ../../whatsnew/3.11.rst:1473 +#: ../../whatsnew/3.11.rst:1502 msgid "" "The object's index in the globals/builtins namespace is cached. Loading " "globals and builtins require zero namespace lookups." @@ -2584,24 +2642,24 @@ msgstr "" "O índice do objeto no espaço de nomes globais/embutidas é armazenado em " "cache. Carregar globais e embutidas requer zero pesquisas de espaço de nomes." -#: ../../whatsnew/3.11.rst:1473 +#: ../../whatsnew/3.11.rst:1502 msgid "[#load-global]_" msgstr "[#load-global]_" -#: ../../whatsnew/3.11.rst:1473 ../../whatsnew/3.11.rst:1477 -#: ../../whatsnew/3.11.rst:1486 +#: ../../whatsnew/3.11.rst:1502 ../../whatsnew/3.11.rst:1506 +#: ../../whatsnew/3.11.rst:1515 msgid "Mark Shannon" msgstr "Mark Shannon" -#: ../../whatsnew/3.11.rst:1477 +#: ../../whatsnew/3.11.rst:1506 msgid "Load attribute" msgstr "Carregar atributo" -#: ../../whatsnew/3.11.rst:1477 +#: ../../whatsnew/3.11.rst:1506 msgid "``o.attr``" msgstr "``o.attr``" -#: ../../whatsnew/3.11.rst:1477 +#: ../../whatsnew/3.11.rst:1506 msgid "" "Similar to loading global variables. The attribute's index inside the class/" "object's namespace is cached. In most cases, attribute loading will require " @@ -2611,19 +2669,19 @@ msgstr "" "do espaço de nomes da classe/objeto é armazenado em cache. Na maioria dos " "casos, o carregamento de atributos exigirá zero pesquisas de espaço de nomes." -#: ../../whatsnew/3.11.rst:1477 +#: ../../whatsnew/3.11.rst:1506 msgid "[#load-attr]_" msgstr "[#load-attr]_" -#: ../../whatsnew/3.11.rst:1482 +#: ../../whatsnew/3.11.rst:1511 msgid "Load methods for call" msgstr "Carregar métodos para chamada" -#: ../../whatsnew/3.11.rst:1482 +#: ../../whatsnew/3.11.rst:1511 msgid "``o.meth()``" msgstr "``o.meth()``" -#: ../../whatsnew/3.11.rst:1482 +#: ../../whatsnew/3.11.rst:1511 msgid "" "The actual address of the method is cached. Method loading now has no " "namespace lookups -- even for classes with long inheritance chains." @@ -2632,39 +2690,39 @@ msgstr "" "agora não tem pesquisas de espaço de nomes -- mesmo para classes com longas " "cadeias de herança." -#: ../../whatsnew/3.11.rst:1482 +#: ../../whatsnew/3.11.rst:1511 msgid "10-20%" msgstr "10-20%" -#: ../../whatsnew/3.11.rst:1482 +#: ../../whatsnew/3.11.rst:1511 msgid "Ken Jin, Mark Shannon" msgstr "Ken Jin, Mark Shannon" -#: ../../whatsnew/3.11.rst:1486 +#: ../../whatsnew/3.11.rst:1515 msgid "Store attribute" msgstr "Armazenar atributo" -#: ../../whatsnew/3.11.rst:1486 +#: ../../whatsnew/3.11.rst:1515 msgid "``o.attr = z``" msgstr "``o.attr = z``" -#: ../../whatsnew/3.11.rst:1486 +#: ../../whatsnew/3.11.rst:1515 msgid "Similar to load attribute optimization." msgstr "Semelhante à otimização de carregamento de atributos." -#: ../../whatsnew/3.11.rst:1486 +#: ../../whatsnew/3.11.rst:1515 msgid "2% in pyperformance" msgstr "2% no pyperformance" -#: ../../whatsnew/3.11.rst:1489 +#: ../../whatsnew/3.11.rst:1518 msgid "Unpack Sequence" msgstr "Desempacotar sequência" -#: ../../whatsnew/3.11.rst:1489 +#: ../../whatsnew/3.11.rst:1518 msgid "``*seq``" msgstr "``*seq``" -#: ../../whatsnew/3.11.rst:1489 +#: ../../whatsnew/3.11.rst:1518 msgid "" "Specialized for common containers such as :class:`list` and :class:`tuple`. " "Avoids internal calling convention." @@ -2672,15 +2730,15 @@ msgstr "" "Especializado para contêineres comuns como :class:`list` e :class:`tuple`. " "Evita convenção de chamada interna." -#: ../../whatsnew/3.11.rst:1489 +#: ../../whatsnew/3.11.rst:1518 msgid "8%" msgstr "8%" -#: ../../whatsnew/3.11.rst:1489 +#: ../../whatsnew/3.11.rst:1518 msgid "Brandt Bucher" msgstr "Brandt Bucher" -#: ../../whatsnew/3.11.rst:1494 +#: ../../whatsnew/3.11.rst:1523 msgid "" "A similar optimization already existed since Python 3.8. 3.11 specializes " "for more forms and reduces some overhead." @@ -2688,21 +2746,21 @@ msgstr "" "Uma otimização semelhante já existia desde o Python 3.8. O 3.11 é " "especializado em mais formas e reduz algumas despesas gerais." -#: ../../whatsnew/3.11.rst:1497 +#: ../../whatsnew/3.11.rst:1526 msgid "" "A similar optimization already existed since Python 3.10. 3.11 specializes " -"for more forms. Furthermore, all attribute loads should be sped up by :issue:" -"`45947`." +"for more forms. Furthermore, all attribute loads should be sped up " +"by :issue:`45947`." msgstr "" "Uma otimização semelhante já existia desde o Python 3.10. 3.11 é " "especializado em mais formas. Além disso, todos os carregamentos de " "atributos devem ser acelerados por :issue:`45947`." -#: ../../whatsnew/3.11.rst:1505 +#: ../../whatsnew/3.11.rst:1534 msgid "Misc" msgstr "Diversos" -#: ../../whatsnew/3.11.rst:1507 +#: ../../whatsnew/3.11.rst:1536 msgid "" "Objects now require less memory due to lazily created object namespaces. " "Their namespace dictionaries now also share keys more freely. (Contributed " @@ -2713,17 +2771,17 @@ msgstr "" "também compartilham chaves mais livremente. (Contribuição de Mark Shannon " "em :issue:`45340` e :issue:`40116`.)" -#: ../../whatsnew/3.11.rst:1511 +#: ../../whatsnew/3.11.rst:1540 msgid "" -"\"Zero-cost\" exceptions are implemented, eliminating the cost of :keyword:" -"`try` statements when no exception is raised. (Contributed by Mark Shannon " -"in :issue:`40222`.)" +"\"Zero-cost\" exceptions are implemented, eliminating the cost " +"of :keyword:`try` statements when no exception is raised. (Contributed by " +"Mark Shannon in :issue:`40222`.)" msgstr "" "Exceções de \"custo zero\" estão implementadas, eliminando o custo das " "instruções :keyword:`try` quando nenhuma exceção é gerada. (Contribuição de " "Mark Shannon em :issue:`40222`.)" -#: ../../whatsnew/3.11.rst:1515 +#: ../../whatsnew/3.11.rst:1544 msgid "" "A more concise representation of exceptions in the interpreter reduced the " "time required for catching an exception by about 10%. (Contributed by Irit " @@ -2733,14 +2791,14 @@ msgstr "" "necessário para capturar uma exceção em cerca de 10%. (Contribuição de Irit " "Katriel em :issue:`45711`.)" -#: ../../whatsnew/3.11.rst:1519 +#: ../../whatsnew/3.11.rst:1548 msgid "" ":mod:`re`'s regular expression matching engine has been partially " "refactored, and now uses computed gotos (or \"threaded code\") on supported " "platforms. As a result, Python 3.11 executes the `pyperformance regular " -"expression benchmarks `_ up to 10% faster than Python 3.10. (Contributed by Brandt " -"Bucher in :gh:`91404`.)" +"expression benchmarks `_ up to 10% faster than Python 3.10. (Contributed " +"by Brandt Bucher in :gh:`91404`.)" msgstr "" "O mecanismo de correspondência de expressão regular do :mod:`re` foi " "parcialmente refatorado e agora usa *gotos* computados (ou \"código " @@ -2749,15 +2807,15 @@ msgstr "" "pyperformance.readthedocs.io/benchmarks.html#regex-dna>`_ até 10% mais " "rápido que o Python 3.10. (Contribuição de Brandt Bucher em :gh:`91404`.)" -#: ../../whatsnew/3.11.rst:1530 +#: ../../whatsnew/3.11.rst:1559 msgid "FAQ" msgstr "FAQ" -#: ../../whatsnew/3.11.rst:1535 +#: ../../whatsnew/3.11.rst:1564 msgid "How should I write my code to utilize these speedups?" msgstr "Como devo escrever meu código para utilizar esses aceleradores?" -#: ../../whatsnew/3.11.rst:1537 +#: ../../whatsnew/3.11.rst:1566 msgid "" "Write Pythonic code that follows common best practices; you don't have to " "change your code. The Faster CPython project optimizes for common code " @@ -2767,11 +2825,11 @@ msgstr "" "precisa alterar seu código. O projeto Faster CPython otimiza para padrões de " "código comuns que observamos." -#: ../../whatsnew/3.11.rst:1545 +#: ../../whatsnew/3.11.rst:1574 msgid "Will CPython 3.11 use more memory?" msgstr "O CPython 3.11 usará mais memória?" -#: ../../whatsnew/3.11.rst:1547 +#: ../../whatsnew/3.11.rst:1576 msgid "" "Maybe not; we don't expect memory use to exceed 20% higher than 3.10. This " "is offset by memory optimizations for frame objects and object dictionaries " @@ -2781,11 +2839,11 @@ msgstr "" "Isso é compensado por otimizações de memória para objetos quadro e " "dicionários de objetos, conforme mencionado acima." -#: ../../whatsnew/3.11.rst:1555 +#: ../../whatsnew/3.11.rst:1584 msgid "I don't see any speedups in my workload. Why?" msgstr "Não vejo nenhuma aceleração em minha carga de trabalho. Por que?" -#: ../../whatsnew/3.11.rst:1557 +#: ../../whatsnew/3.11.rst:1586 msgid "" "Certain code won't have noticeable benefits. If your code spends most of its " "time on I/O operations, or already does most of its computation in a C " @@ -2798,7 +2856,7 @@ msgstr "" "acelerações significativas. Atualmente, esse projeto é o que mais beneficia " "as cargas de trabalho Python puro." -#: ../../whatsnew/3.11.rst:1562 +#: ../../whatsnew/3.11.rst:1591 msgid "" "Furthermore, the pyperformance figures are a geometric mean. Even within the " "pyperformance benchmarks, certain benchmarks have slowed down slightly, " @@ -2808,19 +2866,19 @@ msgstr "" "dentro dos benchmarks de pyperformance, alguns benchmarks desaceleraram um " "pouco, enquanto outros aceleraram quase 2x!" -#: ../../whatsnew/3.11.rst:1570 +#: ../../whatsnew/3.11.rst:1599 msgid "Is there a JIT compiler?" msgstr "Existe um compilador JIT?" -#: ../../whatsnew/3.11.rst:1572 +#: ../../whatsnew/3.11.rst:1601 msgid "No. We're still exploring other optimizations." msgstr "Não. Ainda estamos explorando outras otimizações." -#: ../../whatsnew/3.11.rst:1578 +#: ../../whatsnew/3.11.rst:1607 msgid "About" msgstr "Sobre" -#: ../../whatsnew/3.11.rst:1580 +#: ../../whatsnew/3.11.rst:1609 msgid "" "Faster CPython explores optimizations for :term:`CPython`. The main team is " "funded by Microsoft to work on this full-time. Pablo Galindo Salgado is also " @@ -2833,11 +2891,11 @@ msgstr "" "trabalhar no projeto em tempo parcial. Finalmente, muitos colaboradores são " "voluntários da comunidade." -#: ../../whatsnew/3.11.rst:1589 +#: ../../whatsnew/3.11.rst:1618 msgid "CPython bytecode changes" msgstr "Alterações de bytecode do CPython" -#: ../../whatsnew/3.11.rst:1591 +#: ../../whatsnew/3.11.rst:1620 msgid "" "The bytecode now contains inline cache entries, which take the form of the " "newly-added :opcode:`CACHE` instructions. Many opcodes expect to be followed " @@ -2854,11 +2912,11 @@ msgstr "" "tomado ao ler ou modificar o bytecode adaptativo bruto que contém dados " "acelerados." -#: ../../whatsnew/3.11.rst:1603 +#: ../../whatsnew/3.11.rst:1632 msgid "New opcodes" msgstr "Novos opcodes" -#: ../../whatsnew/3.11.rst:1605 +#: ../../whatsnew/3.11.rst:1634 msgid "" ":opcode:`ASYNC_GEN_WRAP`, :opcode:`RETURN_GENERATOR` and :opcode:`SEND`, " "used in generators and co-routines." @@ -2866,7 +2924,7 @@ msgstr "" ":opcode:`ASYNC_GEN_WRAP`, :opcode:`RETURN_GENERATOR` e :opcode:`SEND`, " "usados em geradores e corrotinas." -#: ../../whatsnew/3.11.rst:1608 +#: ../../whatsnew/3.11.rst:1637 msgid "" ":opcode:`COPY_FREE_VARS`, which avoids needing special caller-side code for " "closures." @@ -2874,7 +2932,7 @@ msgstr "" ":opcode:`COPY_FREE_VARS`, que evita precisar de código especial no lado do " "chamado para fechamentos." -#: ../../whatsnew/3.11.rst:1611 +#: ../../whatsnew/3.11.rst:1640 msgid "" ":opcode:`JUMP_BACKWARD_NO_INTERRUPT`, for use in certain loops where " "handling interrupts is undesirable." @@ -2882,25 +2940,25 @@ msgstr "" ":opcode:`JUMP_BACKWARD_NO_INTERRUPT`, para usasr em certos loops nos quais o " "tratamento de interrupções é indesejável." -#: ../../whatsnew/3.11.rst:1614 +#: ../../whatsnew/3.11.rst:1643 msgid ":opcode:`MAKE_CELL`, to create :ref:`cell-objects`." msgstr ":opcode:`MAKE_CELL`, para criar :ref:`cell-objects`." -#: ../../whatsnew/3.11.rst:1616 +#: ../../whatsnew/3.11.rst:1645 msgid "" -":opcode:`CHECK_EG_MATCH` and :opcode:`PREP_RERAISE_STAR`, to handle the :" -"ref:`new exception groups and except* ` added in :pep:" -"`654`." +":opcode:`CHECK_EG_MATCH` and :opcode:`PREP_RERAISE_STAR`, to handle " +"the :ref:`new exception groups and except* ` added " +"in :pep:`654`." msgstr "" -":opcode:`CHECK_EG_MATCH` e :opcode:`PREP_RERAISE_STAR`, para manipular :ref:" -"`novos grupos de exceção e except* ` adicionados na :pep:" -"`654`." +":opcode:`CHECK_EG_MATCH` e :opcode:`PREP_RERAISE_STAR`, para " +"manipular :ref:`novos grupos de exceção e except* ` " +"adicionados na :pep:`654`." -#: ../../whatsnew/3.11.rst:1620 +#: ../../whatsnew/3.11.rst:1649 msgid ":opcode:`PUSH_EXC_INFO`, for use in exception handlers." msgstr ":opcode:`PUSH_EXC_INFO`, para uso em manipuladores de exceção." -#: ../../whatsnew/3.11.rst:1622 +#: ../../whatsnew/3.11.rst:1651 msgid "" ":opcode:`RESUME`, a no-op, for internal tracing, debugging and optimization " "checks." @@ -2908,19 +2966,19 @@ msgstr "" ":opcode:`RESUME`, um *no-op*, para rastreamento interno, depuração e " "verificações de otimização." -#: ../../whatsnew/3.11.rst:1629 +#: ../../whatsnew/3.11.rst:1658 msgid "Replaced opcodes" msgstr "Opcodes substituídos" -#: ../../whatsnew/3.11.rst:1632 +#: ../../whatsnew/3.11.rst:1661 msgid "Replaced Opcode(s)" msgstr "Opcode(s) substituído(s)" -#: ../../whatsnew/3.11.rst:1632 +#: ../../whatsnew/3.11.rst:1661 msgid "New Opcode(s)" msgstr "Novo(s) opcode(s)" -#: ../../whatsnew/3.11.rst:1632 +#: ../../whatsnew/3.11.rst:1661 msgid "Notes" msgstr "Notas" @@ -2932,11 +2990,11 @@ msgstr ":opcode:`!BINARY_*`" msgid ":opcode:`!INPLACE_*`" msgstr ":opcode:`!INPLACE_*`" -#: ../../whatsnew/3.11.rst:1634 +#: ../../whatsnew/3.11.rst:1663 msgid ":opcode:`BINARY_OP`" msgstr ":opcode:`BINARY_OP`" -#: ../../whatsnew/3.11.rst:1634 +#: ../../whatsnew/3.11.rst:1663 msgid "Replaced all numeric binary/in-place opcodes with a single opcode" msgstr "" "Substituiu todos os opcodes numéricos binários/no local por um único opcode" @@ -2969,7 +3027,7 @@ msgstr ":opcode:`PRECALL`" msgid ":opcode:`PUSH_NULL`" msgstr ":opcode:`PUSH_NULL`" -#: ../../whatsnew/3.11.rst:1637 +#: ../../whatsnew/3.11.rst:1666 msgid "" "Decouples argument shifting for methods from handling of keyword arguments; " "allows better specialization of calls" @@ -3009,7 +3067,7 @@ msgstr ":opcode:`COPY`" msgid ":opcode:`SWAP`" msgstr ":opcode:`SWAP`" -#: ../../whatsnew/3.11.rst:1642 +#: ../../whatsnew/3.11.rst:1671 msgid "Stack manipulation instructions" msgstr "Instruções de manipulação de pilha" @@ -3021,7 +3079,7 @@ msgstr ":opcode:`!JUMP_IF_NOT_EXC_MATCH`" msgid ":opcode:`CHECK_EXC_MATCH`" msgstr ":opcode:`CHECK_EXC_MATCH`" -#: ../../whatsnew/3.11.rst:1649 +#: ../../whatsnew/3.11.rst:1678 msgid "Now performs check but doesn't jump" msgstr "Agora efetua verificações, mas não pula" @@ -3049,7 +3107,7 @@ msgstr ":opcode:`POP_JUMP_BACKWARD_IF_* `" msgid ":opcode:`POP_JUMP_FORWARD_IF_* `" msgstr ":opcode:`POP_JUMP_FORWARD_IF_* `" -#: ../../whatsnew/3.11.rst:1651 +#: ../../whatsnew/3.11.rst:1680 msgid "" "See [#bytecode-jump]_; ``TRUE``, ``FALSE``, ``NONE`` and ``NOT_NONE`` " "variants for each direction" @@ -3065,29 +3123,31 @@ msgstr ":opcode:`!SETUP_WITH`" msgid ":opcode:`!SETUP_ASYNC_WITH`" msgstr ":opcode:`!SETUP_ASYNC_WITH`" -#: ../../whatsnew/3.11.rst:1657 +#: ../../whatsnew/3.11.rst:1686 msgid ":opcode:`BEFORE_WITH`" msgstr ":opcode:`BEFORE_WITH`" -#: ../../whatsnew/3.11.rst:1657 +#: ../../whatsnew/3.11.rst:1686 msgid ":keyword:`with` block setup" msgstr "Configuração de bloco :keyword:`with`" -#: ../../whatsnew/3.11.rst:1661 +#: ../../whatsnew/3.11.rst:1690 msgid "" -"All jump opcodes are now relative, including the existing :opcode:" -"`JUMP_IF_TRUE_OR_POP` and :opcode:`JUMP_IF_FALSE_OR_POP`. The argument is " -"now an offset from the current instruction rather than an absolute location." +"All jump opcodes are now relative, including the " +"existing :opcode:`JUMP_IF_TRUE_OR_POP` and :opcode:`JUMP_IF_FALSE_OR_POP`. " +"The argument is now an offset from the current instruction rather than an " +"absolute location." msgstr "" -"Todos os opcodes de salto agora são relativos, incluindo os existentes :" -"opcode:`JUMP_IF_TRUE_OR_POP` e :opcode:`JUMP_IF_FALSE_OR_POP`. O argumento " -"agora é um deslocamento da instrução atual em vez de um local absoluto." +"Todos os opcodes de salto agora são relativos, incluindo os " +"existentes :opcode:`JUMP_IF_TRUE_OR_POP` e :opcode:`JUMP_IF_FALSE_OR_POP`. O " +"argumento agora é um deslocamento da instrução atual em vez de um local " +"absoluto." -#: ../../whatsnew/3.11.rst:1672 +#: ../../whatsnew/3.11.rst:1701 msgid "Changed/removed opcodes" msgstr "Opcodes alterados/removidos" -#: ../../whatsnew/3.11.rst:1674 +#: ../../whatsnew/3.11.rst:1703 msgid "" "Changed :opcode:`MATCH_CLASS` and :opcode:`MATCH_KEYS` to no longer push an " "additional boolean value to indicate success/failure. Instead, ``None`` is " @@ -3097,7 +3157,7 @@ msgstr "" "um valor booleano adicional para indicar sucesso/falha. Em vez disso, " "``None`` é enviado em caso de falha no lugar da tupla de valores extraídos." -#: ../../whatsnew/3.11.rst:1679 +#: ../../whatsnew/3.11.rst:1708 msgid "" "Changed opcodes that work with exceptions to reflect them now being " "represented as one item on the stack instead of three (see :gh:`89874`)." @@ -3105,7 +3165,7 @@ msgstr "" "Alterados opcodes que funcionam com exceções para refleti-los agora sendo " "representados como um item na pilha em vez de três (consulte :gh:`89874`)." -#: ../../whatsnew/3.11.rst:1683 +#: ../../whatsnew/3.11.rst:1712 msgid "" "Removed :opcode:`!COPY_DICT_WITHOUT_KEYS`, :opcode:`!GEN_START`, :opcode:`!" "POP_BLOCK`, :opcode:`!SETUP_FINALLY` and :opcode:`!YIELD_FROM`." @@ -3113,17 +3173,17 @@ msgstr "" "Removidos :opcode:`!COPY_DICT_WITHOUT_KEYS`, :opcode:`!GEN_START`, :opcode:`!" "POP_BLOCK`, :opcode:`!SETUP_FINALLY` e :opcode:`!YIELD_FROM`." -#: ../../whatsnew/3.11.rst:1691 ../../whatsnew/3.11.rst:2559 +#: ../../whatsnew/3.11.rst:1720 ../../whatsnew/3.11.rst:2593 msgid "Deprecated" msgstr "Descontinuados" -#: ../../whatsnew/3.11.rst:1693 +#: ../../whatsnew/3.11.rst:1722 msgid "" "This section lists Python APIs that have been deprecated in Python 3.11." msgstr "" "Esta seção lista as APIs do Python que foram descontinuadas no Python 3.11." -#: ../../whatsnew/3.11.rst:1695 +#: ../../whatsnew/3.11.rst:1724 msgid "" "Deprecated C APIs are :ref:`listed separately `." @@ -3131,46 +3191,47 @@ msgstr "" "As APIs C descontinuadas são :ref:`listadas separadamente `." -#: ../../whatsnew/3.11.rst:1702 +#: ../../whatsnew/3.11.rst:1731 msgid "Language/Builtins" msgstr "Linguagem/Embutidos" -#: ../../whatsnew/3.11.rst:1704 +#: ../../whatsnew/3.11.rst:1733 msgid "" "Chaining :class:`classmethod` descriptors (introduced in :issue:`19072`) is " -"now deprecated. It can no longer be used to wrap other descriptors such as :" -"class:`property`. The core design of this feature was flawed and caused a " -"number of downstream problems. To \"pass-through\" a :class:`classmethod`, " -"consider using the :attr:`!__wrapped__` attribute that was added in Python " -"3.10. (Contributed by Raymond Hettinger in :gh:`89519`.)" -msgstr "" -"O encadeamento de descritores :class:`classmethod` (introduzido em :issue:" -"`19072`) agora foi descontinuado. Ele não pode mais ser usado para agrupar " -"outros descritores como :class:`property`. O design principal desse recurso " -"era falho e causava vários problemas posteriores. Para \"passar\" um :class:" -"`classmethod`, considere usar o atributo :attr:`!__wrapped__` que foi " -"adicionado no Python 3.10. (Contribuição de Raymond Hettinger em :gh:" -"`89519`.)" - -#: ../../whatsnew/3.11.rst:1712 +"now deprecated. It can no longer be used to wrap other descriptors such " +"as :class:`property`. The core design of this feature was flawed and caused " +"a number of downstream problems. To \"pass-through\" " +"a :class:`classmethod`, consider using the :attr:`!__wrapped__` attribute " +"that was added in Python 3.10. (Contributed by Raymond Hettinger " +"in :gh:`89519`.)" +msgstr "" +"O encadeamento de descritores :class:`classmethod` (introduzido " +"em :issue:`19072`) agora foi descontinuado. Ele não pode mais ser usado para " +"agrupar outros descritores como :class:`property`. O design principal desse " +"recurso era falho e causava vários problemas posteriores. Para \"passar\" " +"um :class:`classmethod`, considere usar o atributo :attr:`!__wrapped__` que " +"foi adicionado no Python 3.10. (Contribuição de Raymond Hettinger " +"em :gh:`89519`.)" + +#: ../../whatsnew/3.11.rst:1741 msgid "" "Octal escapes in string and bytes literals with values larger than ``0o377`` " "(255 in decimal) now produce a :exc:`DeprecationWarning`. In a future Python " -"version, they will raise a :exc:`SyntaxWarning` and eventually a :exc:" -"`SyntaxError`. (Contributed by Serhiy Storchaka in :gh:`81548`.)" +"version, they will raise a :exc:`SyntaxWarning` and eventually " +"a :exc:`SyntaxError`. (Contributed by Serhiy Storchaka in :gh:`81548`.)" msgstr "" "Escapes octais em strings e bytes literais com valores maiores que ``0o377`` " "(255 em decimal) agora produzem um :exc:`DeprecationWarning`. Em uma versão " "futura do Python, eles levantarão um :exc:`SyntaxWarning` e eventualmente " "um :exc:`SyntaxError`. (Contribuição de Serhiy Storchaka em :gh:`81548`.)" -#: ../../whatsnew/3.11.rst:1718 +#: ../../whatsnew/3.11.rst:1747 msgid "" "The delegation of :func:`int` to :meth:`~object.__trunc__` is now " "deprecated. Calling ``int(a)`` when ``type(a)`` implements :meth:`!" "__trunc__` but not :meth:`~object.__int__` or :meth:`~object.__index__` now " -"raises a :exc:`DeprecationWarning`. (Contributed by Zackery Spytz in :issue:" -"`44977`.)" +"raises a :exc:`DeprecationWarning`. (Contributed by Zackery Spytz " +"in :issue:`44977`.)" msgstr "" "A delegação de :func:`int` para :meth:`~object.__trunc__` agora foi " "descontinuada. Chamar ``int(a)`` quando ``type(a)`` implementa :meth:`!" @@ -3178,11 +3239,11 @@ msgstr "" "agora levanta uma exceção :exc:`DeprecationWarning`. (Contribuição de " "Zackery Spytz em :issue:`44977`.)" -#: ../../whatsnew/3.11.rst:1728 +#: ../../whatsnew/3.11.rst:1757 msgid "Modules" msgstr "Módulos" -#: ../../whatsnew/3.11.rst:1732 +#: ../../whatsnew/3.11.rst:1761 msgid "" ":pep:`594` led to the deprecations of the following modules slated for " "removal in Python 3.13:" @@ -3190,91 +3251,91 @@ msgstr "" ":pep:`594` levou à descontinuação dos seguintes módulos programados para " "remoção no Python 3.13:" -#: ../../whatsnew/3.11.rst:1736 +#: ../../whatsnew/3.11.rst:1765 msgid ":mod:`aifc`" msgstr ":mod:`aifc`" -#: ../../whatsnew/3.11.rst:1736 +#: ../../whatsnew/3.11.rst:1765 msgid ":mod:`chunk`" msgstr ":mod:`chunk`" -#: ../../whatsnew/3.11.rst:1736 +#: ../../whatsnew/3.11.rst:1765 msgid ":mod:`msilib`" msgstr ":mod:`msilib`" -#: ../../whatsnew/3.11.rst:1736 +#: ../../whatsnew/3.11.rst:1765 msgid ":mod:`pipes`" msgstr ":mod:`pipes`" -#: ../../whatsnew/3.11.rst:1736 +#: ../../whatsnew/3.11.rst:1765 msgid ":mod:`telnetlib`" msgstr ":mod:`telnetlib`" -#: ../../whatsnew/3.11.rst:1738 +#: ../../whatsnew/3.11.rst:1767 msgid ":mod:`audioop`" msgstr ":mod:`audioop`" -#: ../../whatsnew/3.11.rst:1738 +#: ../../whatsnew/3.11.rst:1767 msgid ":mod:`crypt`" msgstr ":mod:`crypt`" -#: ../../whatsnew/3.11.rst:1738 +#: ../../whatsnew/3.11.rst:1767 msgid ":mod:`nis`" msgstr ":mod:`nis`" -#: ../../whatsnew/3.11.rst:1738 +#: ../../whatsnew/3.11.rst:1767 msgid ":mod:`sndhdr`" msgstr ":mod:`sndhdr`" -#: ../../whatsnew/3.11.rst:1738 +#: ../../whatsnew/3.11.rst:1767 msgid ":mod:`uu`" msgstr ":mod:`uu`" -#: ../../whatsnew/3.11.rst:1740 +#: ../../whatsnew/3.11.rst:1769 msgid ":mod:`cgi`" msgstr ":mod:`cgi`" -#: ../../whatsnew/3.11.rst:1740 +#: ../../whatsnew/3.11.rst:1769 msgid ":mod:`imghdr`" msgstr ":mod:`imghdr`" -#: ../../whatsnew/3.11.rst:1740 +#: ../../whatsnew/3.11.rst:1769 msgid ":mod:`nntplib`" msgstr ":mod:`nntplib`" -#: ../../whatsnew/3.11.rst:1740 +#: ../../whatsnew/3.11.rst:1769 msgid ":mod:`spwd`" msgstr ":mod:`spwd`" -#: ../../whatsnew/3.11.rst:1740 +#: ../../whatsnew/3.11.rst:1769 msgid ":mod:`xdrlib`" msgstr ":mod:`xdrlib`" -#: ../../whatsnew/3.11.rst:1742 +#: ../../whatsnew/3.11.rst:1771 msgid ":mod:`cgitb`" msgstr ":mod:`cgitb`" -#: ../../whatsnew/3.11.rst:1742 +#: ../../whatsnew/3.11.rst:1771 msgid ":mod:`mailcap`" msgstr ":mod:`mailcap`" -#: ../../whatsnew/3.11.rst:1742 +#: ../../whatsnew/3.11.rst:1771 msgid ":mod:`ossaudiodev`" msgstr ":mod:`ossaudiodev`" -#: ../../whatsnew/3.11.rst:1742 +#: ../../whatsnew/3.11.rst:1771 msgid ":mod:`sunau`" msgstr ":mod:`sunau`" -#: ../../whatsnew/3.11.rst:1745 +#: ../../whatsnew/3.11.rst:1774 msgid "" -"(Contributed by Brett Cannon in :issue:`47061` and Victor Stinner in :gh:" -"`68966`.)" +"(Contributed by Brett Cannon in :issue:`47061` and Victor Stinner " +"in :gh:`68966`.)" msgstr "" -"(Contribuição de Brett Cannon em :issue:`47061` e Victor Stinner em :gh:" -"`68966`.)" +"(Contribuição de Brett Cannon em :issue:`47061` e Victor Stinner " +"em :gh:`68966`.)" -#: ../../whatsnew/3.11.rst:1748 +#: ../../whatsnew/3.11.rst:1777 msgid "" "The :mod:`asynchat`, :mod:`asyncore` and :mod:`smtpd` modules have been " "deprecated since at least Python 3.6. Their documentation and deprecation " @@ -3286,33 +3347,33 @@ msgstr "" "descontinuação foram atualizados para observar que serão removidos no Python " "3.12. (Contribuição de Hugo van Kemenade em :issue:`47022`.)" -#: ../../whatsnew/3.11.rst:1753 +#: ../../whatsnew/3.11.rst:1782 msgid "" "The :mod:`lib2to3` package and :ref:`2to3 <2to3-reference>` tool are now " -"deprecated and may not be able to parse Python 3.10 or newer. See :pep:" -"`617`, introducing the new PEG parser, for details. (Contributed by Victor " -"Stinner in :issue:`40360`.)" +"deprecated and may not be able to parse Python 3.10 or newer. " +"See :pep:`617`, introducing the new PEG parser, for details. (Contributed by " +"Victor Stinner in :issue:`40360`.)" msgstr "" "O pacote :mod:`lib2to3` e a ferramenta :ref:`2to3 <2to3-reference>` agora " "foram descontinuados e podem não ser capazes de analisar o Python 3.10 ou " "mais recente. Veja :pep:`617`, apresentando o novo analisador GASE, para " "detalhes. (Contribuição de Victor Stinner em :issue:`40360`.)" -#: ../../whatsnew/3.11.rst:1758 +#: ../../whatsnew/3.11.rst:1787 msgid "" "Undocumented modules :mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!" -"sre_parse` are now deprecated. (Contributed by Serhiy Storchaka in :issue:" -"`47152`.)" +"sre_parse` are now deprecated. (Contributed by Serhiy Storchaka " +"in :issue:`47152`.)" msgstr "" "Módulos não documentados :mod:`!sre_compile`, :mod:`!sre_constants` e :mod:`!" -"sre_parse` agora fora descontinuados. (Contribuição de Serhiy Storchaka em :" -"issue:`47152`.)" +"sre_parse` agora fora descontinuados. (Contribuição de Serhiy Storchaka " +"em :issue:`47152`.)" -#: ../../whatsnew/3.11.rst:1766 +#: ../../whatsnew/3.11.rst:1795 msgid "Standard Library" msgstr "Biblioteca Padrão" -#: ../../whatsnew/3.11.rst:1768 +#: ../../whatsnew/3.11.rst:1797 msgid "" "The following have been deprecated in :mod:`configparser` since Python 3.2. " "Their deprecation warnings have now been updated to note they will be " @@ -3322,39 +3383,39 @@ msgstr "" "3.2. Seus avisos de descontinuação agora foram atualizados para observar que " "serão removidos no Python 3.12:" -#: ../../whatsnew/3.11.rst:1772 +#: ../../whatsnew/3.11.rst:1801 msgid "the :class:`!configparser.SafeConfigParser` class" msgstr "a classe :class:`!configparser.SafeConfigParser`" -#: ../../whatsnew/3.11.rst:1773 +#: ../../whatsnew/3.11.rst:1802 msgid "the :attr:`!configparser.ParsingError.filename` property" msgstr "a propriedade :attr:`!configparser.ParsingError.filename`" -#: ../../whatsnew/3.11.rst:1774 -msgid "the :meth:`configparser.RawConfigParser.readfp` method" -msgstr "o método :meth:`configparser.RawConfigParser.readfp`" +#: ../../whatsnew/3.11.rst:1803 +msgid "the :meth:`!configparser.RawConfigParser.readfp` method" +msgstr "o método :meth:`!configparser.RawConfigParser.readfp`" -#: ../../whatsnew/3.11.rst:1776 +#: ../../whatsnew/3.11.rst:1805 msgid "(Contributed by Hugo van Kemenade in :issue:`45173`.)" msgstr "(Contribuição de Hugo van Kemenade em :issue:`45173`.)" -#: ../../whatsnew/3.11.rst:1778 +#: ../../whatsnew/3.11.rst:1807 msgid "" ":class:`!configparser.LegacyInterpolation` has been deprecated in the " "docstring since Python 3.2, and is not listed in the :mod:`configparser` " "documentation. It now emits a :exc:`DeprecationWarning` and will be removed " -"in Python 3.13. Use :class:`configparser.BasicInterpolation` or :class:" -"`configparser.ExtendedInterpolation` instead. (Contributed by Hugo van " -"Kemenade in :issue:`46607`.)" +"in Python 3.13. Use :class:`configparser.BasicInterpolation` " +"or :class:`configparser.ExtendedInterpolation` instead. (Contributed by Hugo " +"van Kemenade in :issue:`46607`.)" msgstr "" ":class:`!configparser.LegacyInterpolation` foi descontinuada na docstring " -"desde o Python 3.2, e não está listada na documentação do :mod:" -"`configparser`. Agora ela emite um :exc:`DeprecationWarning` e será removida " -"no Python 3.13. Use :class:`configparser.BasicInterpolation` ou :class:" -"`configparser.ExtendedInterpolation`. (Contribuição de Hugo van Kemenade em :" -"issue:`46607`.)" +"desde o Python 3.2, e não está listada na documentação " +"do :mod:`configparser`. Agora ela emite um :exc:`DeprecationWarning` e será " +"removida no Python 3.13. Use :class:`configparser.BasicInterpolation` " +"ou :class:`configparser.ExtendedInterpolation`. (Contribuição de Hugo van " +"Kemenade em :issue:`46607`.)" -#: ../../whatsnew/3.11.rst:1785 +#: ../../whatsnew/3.11.rst:1814 msgid "" "The older set of :mod:`importlib.resources` functions were deprecated in " "favor of the replacements added in Python 3.9 and will be removed in a " @@ -3366,47 +3427,49 @@ msgstr "" "versão futura do Python, devido ao não suporte de recursos localizados nos " "subdiretórios do pacote:" -#: ../../whatsnew/3.11.rst:1790 +#: ../../whatsnew/3.11.rst:1819 msgid ":func:`importlib.resources.contents`" msgstr ":func:`importlib.resources.contents`" -#: ../../whatsnew/3.11.rst:1791 +#: ../../whatsnew/3.11.rst:1820 msgid ":func:`importlib.resources.is_resource`" msgstr ":func:`importlib.resources.is_resource`" -#: ../../whatsnew/3.11.rst:1792 +#: ../../whatsnew/3.11.rst:1821 msgid ":func:`importlib.resources.open_binary`" msgstr ":func:`importlib.resources.open_binary`" -#: ../../whatsnew/3.11.rst:1793 +#: ../../whatsnew/3.11.rst:1822 msgid ":func:`importlib.resources.open_text`" msgstr ":func:`importlib.resources.open_text`" -#: ../../whatsnew/3.11.rst:1794 +#: ../../whatsnew/3.11.rst:1823 msgid ":func:`importlib.resources.read_binary`" msgstr ":func:`importlib.resources.read_binary`" -#: ../../whatsnew/3.11.rst:1795 +#: ../../whatsnew/3.11.rst:1824 msgid ":func:`importlib.resources.read_text`" msgstr ":func:`importlib.resources.read_text`" -#: ../../whatsnew/3.11.rst:1796 +#: ../../whatsnew/3.11.rst:1825 msgid ":func:`importlib.resources.path`" msgstr ":func:`importlib.resources.path`" -#: ../../whatsnew/3.11.rst:1798 +#: ../../whatsnew/3.11.rst:1827 msgid "" "The :func:`locale.getdefaultlocale` function is deprecated and will be " -"removed in Python 3.13. Use :func:`locale.setlocale`, :func:`locale." -"getpreferredencoding(False) ` and :func:`locale." -"getlocale` functions instead. (Contributed by Victor Stinner in :gh:`90817`.)" +"removed in Python 3.15. " +"Use :func:`locale.setlocale`, :func:`locale.getpreferredencoding(False) " +"` and :func:`locale.getlocale` functions " +"instead. (Contributed by Victor Stinner in :gh:`90817`.)" msgstr "" "A função :func:`locale.getdefaultlocale` foi descontinuada e será removida " -"no Python 3.13. Use as funções :func:`locale.setlocale`, :func:`locale." -"getpreferredencoding(False) ` e :func:`locale." -"getlocale`. (Contribuição de Victor Stinner em :gh:`90817`.)" +"no Python 3.15. Use as " +"funções :func:`locale.setlocale`, :func:`locale.getpreferredencoding(False) " +"` e :func:`locale.getlocale`. (Contribuição de " +"Victor Stinner em :gh:`90817`.)" -#: ../../whatsnew/3.11.rst:1804 +#: ../../whatsnew/3.11.rst:1833 msgid "" "The :func:`locale.resetlocale` function is deprecated and will be removed in " "Python 3.13. Use ``locale.setlocale(locale.LC_ALL, \"\")`` instead. " @@ -3416,15 +3479,15 @@ msgstr "" "Python 3.13. Use ``locale.setlocale(locale.LC_ALL, \"\")``. (Contribuição de " "Victor Stinner em :gh:`90817`.)" -#: ../../whatsnew/3.11.rst:1808 +#: ../../whatsnew/3.11.rst:1837 msgid "" "Stricter rules will now be applied for numerical group references and group " "names in :ref:`regular expressions `. Only sequences of ASCII " -"digits will now be accepted as a numerical reference, and the group name in :" -"class:`bytes` patterns and replacement strings can only contain ASCII " +"digits will now be accepted as a numerical reference, and the group name " +"in :class:`bytes` patterns and replacement strings can only contain ASCII " "letters, digits and underscores. For now, a deprecation warning is raised " -"for syntax violating these rules. (Contributed by Serhiy Storchaka in :gh:" -"`91760`.)" +"for syntax violating these rules. (Contributed by Serhiy Storchaka " +"in :gh:`91760`.)" msgstr "" "Regras mais rígidas agora serão aplicadas para referências numéricas de " "grupos e nomes de grupos em :ref:`expressões regulares `. Apenas " @@ -3434,27 +3497,27 @@ msgstr "" "descontinuação é levantado para a sintaxe que viola essas regras. " "(Contribuição de Serhiy Storchaka em :gh:`91760`.)" -#: ../../whatsnew/3.11.rst:1816 +#: ../../whatsnew/3.11.rst:1845 msgid "" "In the :mod:`re` module, the :func:`!re.template` function and the " -"corresponding :data:`!re.TEMPLATE` and :data:`!re.T` flags are deprecated, " +"corresponding :const:`!re.TEMPLATE` and :const:`!re.T` flags are deprecated, " "as they were undocumented and lacked an obvious purpose. They will be " "removed in Python 3.13. (Contributed by Serhiy Storchaka and Miro Hrončok " "in :gh:`92728`.)" msgstr "" -"No módulo :mod:`re`, a função :func:`!re.template` e os sinalizadores :data:" -"`!re.TEMPLATE` e :data:`!re.T` correspondentes foram descontinuados, pois " -"não foram documentados e careciam da um propósito óbvio. Eles serão " -"removidos no Python 3.13. (Contribuição de Serhiy Storchaka e Miro Hrončok " -"em :gh:`92728`.)" +"No módulo :mod:`re`, a função :func:`!re.template` e os " +"sinalizadores :const:`!re.TEMPLATE` e :const:`!re.T` correspondentes foram " +"descontinuados, pois não foram documentados e careciam da um propósito " +"óbvio. Eles serão removidos no Python 3.13. (Contribuição de Serhiy " +"Storchaka e Miro Hrončok em :gh:`92728`.)" -#: ../../whatsnew/3.11.rst:1822 +#: ../../whatsnew/3.11.rst:1851 msgid "" ":func:`turtle.settiltangle` has been deprecated since Python 3.1; it now " -"emits a deprecation warning and will be removed in Python 3.13. Use :func:" -"`turtle.tiltangle` instead (it was earlier incorrectly marked as deprecated, " -"and its docstring is now corrected). (Contributed by Hugo van Kemenade in :" -"issue:`45837`.)" +"emits a deprecation warning and will be removed in Python 3.13. " +"Use :func:`turtle.tiltangle` instead (it was earlier incorrectly marked as " +"deprecated, and its docstring is now corrected). (Contributed by Hugo van " +"Kemenade in :issue:`45837`.)" msgstr "" ":func:`turtle.settiltangle` foi descontinuada desde o Python 3.1; ela agora " "emite um aviso de descontinuação e será removida no Python 3.13. Em vez " @@ -3462,7 +3525,7 @@ msgstr "" "como descontinuada e sua docstring agora está corrigida). (Contribuição de " "Hugo van Kemenade em :issue:`45837`.)" -#: ../../whatsnew/3.11.rst:1828 +#: ../../whatsnew/3.11.rst:1857 msgid "" ":class:`typing.Text`, which exists solely to provide compatibility support " "between Python 2 and Python 3 code, is now deprecated. Its removal is " @@ -3472,40 +3535,40 @@ msgstr "" ":class:`typing.Text`, que existe apenas para fornecer suporte de " "compatibilidade entre o código Python 2 e Python 3, foi descontinuada nesta " "versão. Sua remoção não está planejada, mas os usuários são encorajados a " -"usar :class:`str` sempre que possível. (Contribuição de Alex Waygood em :gh:" -"`92332`.)" +"usar :class:`str` sempre que possível. (Contribuição de Alex Waygood " +"em :gh:`92332`.)" -#: ../../whatsnew/3.11.rst:1834 +#: ../../whatsnew/3.11.rst:1863 msgid "" "The keyword argument syntax for constructing :data:`typing.TypedDict` types " "is now deprecated. Support will be removed in Python 3.13. (Contributed by " "Jingchen Ye in :gh:`90224`.)" msgstr "" -"A sintaxe do argumento nomeado para a construção de tipos :data:`typing." -"TypedDict` foi descontinuado neste versão. O suporte será removido no Python " -"3.13. (Contribuição de Jingchen Ye em :gh:`90224`.)" +"A sintaxe do argumento nomeado para a construção de " +"tipos :data:`typing.TypedDict` foi descontinuado neste versão. O suporte " +"será removido no Python 3.13. (Contribuição de Jingchen Ye em :gh:`90224`.)" -#: ../../whatsnew/3.11.rst:1838 +#: ../../whatsnew/3.11.rst:1867 msgid "" ":class:`!webbrowser.MacOSX` is deprecated and will be removed in Python " "3.13. It is untested, undocumented, and not used by :mod:`webbrowser` " -"itself. (Contributed by Dong-hee Na in :issue:`42255`.)" +"itself. (Contributed by Donghee Na in :issue:`42255`.)" msgstr "" ":class:`!webbrowser.MacOSX` foi descontinuada e será removida no Python " -"3.13. Ela não foi testada, não foi documentada e não é usada pelo próprio :" -"mod:`webbrowser`. (Contribuição de Dong-hee Na em :issue:`42255`.)" +"3.13. Ela não foi testada, não foi documentada e não é usada pelo " +"próprio :mod:`webbrowser`. (Contribuição de Dong-hee Na em :issue:`42255`.)" -#: ../../whatsnew/3.11.rst:1842 +#: ../../whatsnew/3.11.rst:1871 msgid "" -"The behavior of returning a value from a :class:`~unittest.TestCase` and :" -"class:`~unittest.IsolatedAsyncioTestCase` test methods (other than the " +"The behavior of returning a value from a :class:`~unittest.TestCase` " +"and :class:`~unittest.IsolatedAsyncioTestCase` test methods (other than the " "default ``None`` value) is now deprecated." msgstr "" -"O comportamento de retornar um valor de um dos métodos de teste de :class:" -"`~unittest.TestCase` e :class:`~unittest.IsolatedAsyncioTestCase` (diferente " -"do valor padrão ``None``) foi descontinuado nesta versão." +"O comportamento de retornar um valor de um dos métodos de teste " +"de :class:`~unittest.TestCase` e :class:`~unittest.IsolatedAsyncioTestCase` " +"(diferente do valor padrão ``None``) foi descontinuado nesta versão." -#: ../../whatsnew/3.11.rst:1846 +#: ../../whatsnew/3.11.rst:1875 msgid "" "Deprecated the following not-formally-documented :mod:`unittest` functions, " "scheduled for removal in Python 3.13:" @@ -3513,43 +3576,51 @@ msgstr "" "Foram descontinuadas as seguintes funções :mod:`unittest` não formalmente " "documentadas, agendadas para remoção no Python 3.13:" -#: ../../whatsnew/3.11.rst:1849 +#: ../../whatsnew/3.11.rst:1878 msgid ":func:`!unittest.findTestCases`" msgstr ":func:`!unittest.findTestCases`" -#: ../../whatsnew/3.11.rst:1850 +#: ../../whatsnew/3.11.rst:1879 msgid ":func:`!unittest.makeSuite`" msgstr ":func:`!unittest.makeSuite`" -#: ../../whatsnew/3.11.rst:1851 +#: ../../whatsnew/3.11.rst:1880 msgid ":func:`!unittest.getTestCaseNames`" msgstr ":func:`!unittest.getTestCaseNames`" -#: ../../whatsnew/3.11.rst:1853 +#: ../../whatsnew/3.11.rst:1882 msgid "Use :class:`~unittest.TestLoader` methods instead:" msgstr "Em vez delas, use os métodos de :class:`~unittest.TestLoader`:" -#: ../../whatsnew/3.11.rst:1855 +#: ../../whatsnew/3.11.rst:1884 msgid ":meth:`unittest.TestLoader.loadTestsFromModule`" msgstr ":meth:`unittest.TestLoader.loadTestsFromModule`" -#: ../../whatsnew/3.11.rst:1856 +#: ../../whatsnew/3.11.rst:1885 msgid ":meth:`unittest.TestLoader.loadTestsFromTestCase`" msgstr ":meth:`unittest.TestLoader.loadTestsFromTestCase`" -#: ../../whatsnew/3.11.rst:1857 +#: ../../whatsnew/3.11.rst:1886 msgid ":meth:`unittest.TestLoader.getTestCaseNames`" msgstr ":meth:`unittest.TestLoader.getTestCaseNames`" -#: ../../whatsnew/3.11.rst:1859 +#: ../../whatsnew/3.11.rst:1888 msgid "(Contributed by Erlend E. Aasland in :issue:`5846`.)" msgstr "(Contribuição de Erlend E. Aasland em :issue:`5846`.)" -#: ../../whatsnew/3.11.rst:1866 ../../whatsnew/3.11.rst:2587 +#: ../../whatsnew/3.11.rst:1890 +msgid "" +":meth:`!unittest.TestProgram.usageExit` is marked deprecated, to be removed " +"in 3.13. (Contributed by Carlos Damázio in :gh:`67048`.)" +msgstr "" +":meth:`!unittest.TestProgram.usageExit` foi marcado como descontinuado, para " +"ser removido em 3.13. (Contribuição de Carlos Damázio em :gh:`67048`.)" + +#: ../../whatsnew/3.11.rst:1899 ../../whatsnew/3.11.rst:2621 msgid "Pending Removal in Python 3.12" msgstr "Pendente remoção no Python 3.12" -#: ../../whatsnew/3.11.rst:1868 +#: ../../whatsnew/3.11.rst:1901 msgid "" "The following Python APIs have been deprecated in earlier Python releases, " "and will be removed in Python 3.12." @@ -3557,7 +3628,7 @@ msgstr "" "As seguintes APIs do Python foram descontinuadas em versões anteriores do " "Python e serão removidas no Python 3.12." -#: ../../whatsnew/3.11.rst:1871 +#: ../../whatsnew/3.11.rst:1904 msgid "" "C APIs pending removal are :ref:`listed separately `." @@ -3565,287 +3636,288 @@ msgstr "" "As APIs C com remoção pendente são :ref:`listadas separadamente `." -#: ../../whatsnew/3.11.rst:1874 +#: ../../whatsnew/3.11.rst:1907 msgid "The :mod:`asynchat` module" msgstr "O módulo :mod:`asynchat`" -#: ../../whatsnew/3.11.rst:1875 +#: ../../whatsnew/3.11.rst:1908 msgid "The :mod:`asyncore` module" msgstr "O módulo :mod:`asyncore`" -#: ../../whatsnew/3.11.rst:1876 +#: ../../whatsnew/3.11.rst:1909 msgid "The :ref:`entire distutils package `" msgstr ":ref:`Todo o pacote distutils `" -#: ../../whatsnew/3.11.rst:1877 +#: ../../whatsnew/3.11.rst:1910 msgid "The :mod:`imp` module" -msgstr "O módulo :mod:`imp`" +msgstr "O módulo :mod:`imp`." -#: ../../whatsnew/3.11.rst:1878 +#: ../../whatsnew/3.11.rst:1911 msgid "The :class:`typing.io ` namespace" msgstr "O espaço de nomes :class:`typing.io `" -#: ../../whatsnew/3.11.rst:1879 +#: ../../whatsnew/3.11.rst:1912 msgid "The :class:`typing.re ` namespace" msgstr "O espaço de nomes :class:`typing.re `" -#: ../../whatsnew/3.11.rst:1880 +#: ../../whatsnew/3.11.rst:1913 msgid ":func:`!cgi.log`" msgstr ":func:`!cgi.log`" -#: ../../whatsnew/3.11.rst:1881 +#: ../../whatsnew/3.11.rst:1914 msgid ":func:`importlib.find_loader`" msgstr ":func:`importlib.find_loader`" -#: ../../whatsnew/3.11.rst:1882 +#: ../../whatsnew/3.11.rst:1915 msgid ":meth:`importlib.abc.Loader.module_repr`" msgstr ":meth:`importlib.abc.Loader.module_repr`" -#: ../../whatsnew/3.11.rst:1883 +#: ../../whatsnew/3.11.rst:1916 msgid ":meth:`importlib.abc.MetaPathFinder.find_module`" msgstr ":meth:`importlib.abc.MetaPathFinder.find_module`" -#: ../../whatsnew/3.11.rst:1884 +#: ../../whatsnew/3.11.rst:1917 msgid ":meth:`importlib.abc.PathEntryFinder.find_loader`" msgstr ":meth:`importlib.abc.PathEntryFinder.find_loader`" -#: ../../whatsnew/3.11.rst:1885 +#: ../../whatsnew/3.11.rst:1918 msgid ":meth:`importlib.abc.PathEntryFinder.find_module`" msgstr ":meth:`importlib.abc.PathEntryFinder.find_module`" -#: ../../whatsnew/3.11.rst:1886 +#: ../../whatsnew/3.11.rst:1919 msgid ":meth:`!importlib.machinery.BuiltinImporter.find_module`" msgstr ":meth:`!importlib.machinery.BuiltinImporter.find_module`" -#: ../../whatsnew/3.11.rst:1887 +#: ../../whatsnew/3.11.rst:1920 msgid ":meth:`!importlib.machinery.BuiltinLoader.module_repr`" msgstr ":meth:`!importlib.machinery.BuiltinLoader.module_repr`" -#: ../../whatsnew/3.11.rst:1888 +#: ../../whatsnew/3.11.rst:1921 msgid ":meth:`!importlib.machinery.FileFinder.find_loader`" msgstr ":meth:`!importlib.machinery.FileFinder.find_loader`" -#: ../../whatsnew/3.11.rst:1889 +#: ../../whatsnew/3.11.rst:1922 msgid ":meth:`!importlib.machinery.FileFinder.find_module`" msgstr ":meth:`!importlib.machinery.FileFinder.find_module`" -#: ../../whatsnew/3.11.rst:1890 +#: ../../whatsnew/3.11.rst:1923 msgid ":meth:`!importlib.machinery.FrozenImporter.find_module`" msgstr ":meth:`!importlib.machinery.FrozenImporter.find_module`" -#: ../../whatsnew/3.11.rst:1891 +#: ../../whatsnew/3.11.rst:1924 msgid ":meth:`!importlib.machinery.FrozenLoader.module_repr`" msgstr ":meth:`!importlib.machinery.FrozenLoader.module_repr`" -#: ../../whatsnew/3.11.rst:1892 +#: ../../whatsnew/3.11.rst:1925 msgid ":meth:`importlib.machinery.PathFinder.find_module`" msgstr ":meth:`importlib.machinery.PathFinder.find_module`" -#: ../../whatsnew/3.11.rst:1893 +#: ../../whatsnew/3.11.rst:1926 msgid ":meth:`!importlib.machinery.WindowsRegistryFinder.find_module`" msgstr ":meth:`!importlib.machinery.WindowsRegistryFinder.find_module`" -#: ../../whatsnew/3.11.rst:1894 +#: ../../whatsnew/3.11.rst:1927 msgid ":func:`importlib.util.module_for_loader`" msgstr ":func:`importlib.util.module_for_loader`" -#: ../../whatsnew/3.11.rst:1895 +#: ../../whatsnew/3.11.rst:1928 msgid ":func:`!importlib.util.set_loader_wrapper`" msgstr ":func:`!importlib.util.set_loader_wrapper`" -#: ../../whatsnew/3.11.rst:1896 +#: ../../whatsnew/3.11.rst:1929 msgid ":func:`!importlib.util.set_package_wrapper`" msgstr ":func:`!importlib.util.set_package_wrapper`" -#: ../../whatsnew/3.11.rst:1897 +#: ../../whatsnew/3.11.rst:1930 msgid ":class:`pkgutil.ImpImporter`" msgstr ":class:`pkgutil.ImpImporter`" -#: ../../whatsnew/3.11.rst:1898 +#: ../../whatsnew/3.11.rst:1931 msgid ":class:`pkgutil.ImpLoader`" msgstr ":class:`pkgutil.ImpLoader`" -#: ../../whatsnew/3.11.rst:1899 +#: ../../whatsnew/3.11.rst:1932 msgid ":meth:`pathlib.Path.link_to`" msgstr ":meth:`pathlib.Path.link_to`" -#: ../../whatsnew/3.11.rst:1900 +#: ../../whatsnew/3.11.rst:1933 msgid ":func:`!sqlite3.enable_shared_cache`" msgstr ":func:`!sqlite3.enable_shared_cache`" -#: ../../whatsnew/3.11.rst:1901 +#: ../../whatsnew/3.11.rst:1934 msgid ":func:`!sqlite3.OptimizedUnicode`" msgstr ":func:`!sqlite3.OptimizedUnicode`" -#: ../../whatsnew/3.11.rst:1902 +#: ../../whatsnew/3.11.rst:1935 msgid ":envvar:`PYTHONTHREADDEBUG` environment variable" msgstr "Variável de ambiente :envvar:`PYTHONTHREADDEBUG`" -#: ../../whatsnew/3.11.rst:1903 +#: ../../whatsnew/3.11.rst:1936 msgid "The following deprecated aliases in :mod:`unittest`:" msgstr "Os seguintes aliases foram descontinuados no :mod:`unittest`:" -#: ../../whatsnew/3.11.rst:1906 +#: ../../whatsnew/3.11.rst:1939 msgid "Deprecated alias" msgstr "Apelido descontinuado" -#: ../../whatsnew/3.11.rst:1906 +#: ../../whatsnew/3.11.rst:1939 msgid "Method Name" msgstr "Método" -#: ../../whatsnew/3.11.rst:1906 +#: ../../whatsnew/3.11.rst:1939 msgid "Deprecated in" msgstr "Descontinuado em" -#: ../../whatsnew/3.11.rst:1908 +#: ../../whatsnew/3.11.rst:1941 msgid "``failUnless``" msgstr "``failUnless``" -#: ../../whatsnew/3.11.rst:1908 ../../whatsnew/3.11.rst:1915 +#: ../../whatsnew/3.11.rst:1941 ../../whatsnew/3.11.rst:1948 msgid ":meth:`.assertTrue`" msgstr ":meth:`.assertTrue`" -#: ../../whatsnew/3.11.rst:1908 ../../whatsnew/3.11.rst:1909 -#: ../../whatsnew/3.11.rst:1910 ../../whatsnew/3.11.rst:1911 -#: ../../whatsnew/3.11.rst:1912 ../../whatsnew/3.11.rst:1913 -#: ../../whatsnew/3.11.rst:1914 +#: ../../whatsnew/3.11.rst:1941 ../../whatsnew/3.11.rst:1942 +#: ../../whatsnew/3.11.rst:1943 ../../whatsnew/3.11.rst:1944 +#: ../../whatsnew/3.11.rst:1945 ../../whatsnew/3.11.rst:1946 +#: ../../whatsnew/3.11.rst:1947 msgid "3.1" msgstr "3.1" -#: ../../whatsnew/3.11.rst:1909 +#: ../../whatsnew/3.11.rst:1942 msgid "``failIf``" msgstr "``failIf``" -#: ../../whatsnew/3.11.rst:1909 +#: ../../whatsnew/3.11.rst:1942 msgid ":meth:`.assertFalse`" msgstr ":meth:`.assertFalse`" -#: ../../whatsnew/3.11.rst:1910 +#: ../../whatsnew/3.11.rst:1943 msgid "``failUnlessEqual``" msgstr "``failUnlessEqual``" -#: ../../whatsnew/3.11.rst:1910 ../../whatsnew/3.11.rst:1916 +#: ../../whatsnew/3.11.rst:1943 ../../whatsnew/3.11.rst:1949 msgid ":meth:`.assertEqual`" msgstr ":meth:`.assertEqual`" -#: ../../whatsnew/3.11.rst:1911 +#: ../../whatsnew/3.11.rst:1944 msgid "``failIfEqual``" msgstr "``failIfEqual``" -#: ../../whatsnew/3.11.rst:1911 ../../whatsnew/3.11.rst:1917 +#: ../../whatsnew/3.11.rst:1944 ../../whatsnew/3.11.rst:1950 msgid ":meth:`.assertNotEqual`" msgstr ":meth:`.assertNotEqual`" -#: ../../whatsnew/3.11.rst:1912 +#: ../../whatsnew/3.11.rst:1945 msgid "``failUnlessAlmostEqual``" msgstr "``failUnlessAlmostEqual``" -#: ../../whatsnew/3.11.rst:1912 ../../whatsnew/3.11.rst:1918 +#: ../../whatsnew/3.11.rst:1945 ../../whatsnew/3.11.rst:1951 msgid ":meth:`.assertAlmostEqual`" msgstr ":meth:`.assertAlmostEqual`" -#: ../../whatsnew/3.11.rst:1913 +#: ../../whatsnew/3.11.rst:1946 msgid "``failIfAlmostEqual``" msgstr "``failIfAlmostEqual``" -#: ../../whatsnew/3.11.rst:1913 ../../whatsnew/3.11.rst:1919 +#: ../../whatsnew/3.11.rst:1946 ../../whatsnew/3.11.rst:1952 msgid ":meth:`.assertNotAlmostEqual`" msgstr ":meth:`.assertNotAlmostEqual`" -#: ../../whatsnew/3.11.rst:1914 +#: ../../whatsnew/3.11.rst:1947 msgid "``failUnlessRaises``" msgstr "``failUnlessRaises``" -#: ../../whatsnew/3.11.rst:1914 +#: ../../whatsnew/3.11.rst:1947 msgid ":meth:`.assertRaises`" msgstr ":meth:`.assertRaises`" -#: ../../whatsnew/3.11.rst:1915 +#: ../../whatsnew/3.11.rst:1948 msgid "``assert_``" msgstr "``assert_``" -#: ../../whatsnew/3.11.rst:1915 ../../whatsnew/3.11.rst:1916 -#: ../../whatsnew/3.11.rst:1917 ../../whatsnew/3.11.rst:1918 -#: ../../whatsnew/3.11.rst:1919 ../../whatsnew/3.11.rst:1920 -#: ../../whatsnew/3.11.rst:1921 +#: ../../whatsnew/3.11.rst:1948 ../../whatsnew/3.11.rst:1949 +#: ../../whatsnew/3.11.rst:1950 ../../whatsnew/3.11.rst:1951 +#: ../../whatsnew/3.11.rst:1952 ../../whatsnew/3.11.rst:1953 +#: ../../whatsnew/3.11.rst:1954 msgid "3.2" msgstr "3.2" -#: ../../whatsnew/3.11.rst:1916 +#: ../../whatsnew/3.11.rst:1949 msgid "``assertEquals``" msgstr "``assertEquals``" -#: ../../whatsnew/3.11.rst:1917 +#: ../../whatsnew/3.11.rst:1950 msgid "``assertNotEquals``" msgstr "``assertNotEquals``" -#: ../../whatsnew/3.11.rst:1918 +#: ../../whatsnew/3.11.rst:1951 msgid "``assertAlmostEquals``" msgstr "``assertAlmostEquals``" -#: ../../whatsnew/3.11.rst:1919 +#: ../../whatsnew/3.11.rst:1952 msgid "``assertNotAlmostEquals``" msgstr "``assertNotAlmostEquals``" -#: ../../whatsnew/3.11.rst:1920 +#: ../../whatsnew/3.11.rst:1953 msgid "``assertRegexpMatches``" msgstr "``assertRegexpMatches``" -#: ../../whatsnew/3.11.rst:1920 +#: ../../whatsnew/3.11.rst:1953 msgid ":meth:`.assertRegex`" msgstr ":meth:`.assertRegex`" -#: ../../whatsnew/3.11.rst:1921 +#: ../../whatsnew/3.11.rst:1954 msgid "``assertRaisesRegexp``" msgstr "``assertRaisesRegexp``" -#: ../../whatsnew/3.11.rst:1921 +#: ../../whatsnew/3.11.rst:1954 msgid ":meth:`.assertRaisesRegex`" msgstr ":meth:`.assertRaisesRegex`" -#: ../../whatsnew/3.11.rst:1922 +#: ../../whatsnew/3.11.rst:1955 msgid "``assertNotRegexpMatches``" msgstr "``assertNotRegexpMatches``" -#: ../../whatsnew/3.11.rst:1922 +#: ../../whatsnew/3.11.rst:1955 msgid ":meth:`.assertNotRegex`" msgstr ":meth:`.assertNotRegex`" -#: ../../whatsnew/3.11.rst:1922 +#: ../../whatsnew/3.11.rst:1955 msgid "3.5" msgstr "3.5" -#: ../../whatsnew/3.11.rst:1929 ../../whatsnew/3.11.rst:2613 +#: ../../whatsnew/3.11.rst:1962 ../../whatsnew/3.11.rst:2647 msgid "Removed" msgstr "Removidos" -#: ../../whatsnew/3.11.rst:1931 +#: ../../whatsnew/3.11.rst:1964 msgid "This section lists Python APIs that have been removed in Python 3.11." msgstr "Esta seção lista as APIs do Python que foram removidas no Python 3.11." -#: ../../whatsnew/3.11.rst:1933 +#: ../../whatsnew/3.11.rst:1966 msgid "" "Removed C APIs are :ref:`listed separately `." msgstr "" "As APIs C removidas são :ref:`listadas separadamente `." -#: ../../whatsnew/3.11.rst:1935 +#: ../../whatsnew/3.11.rst:1968 msgid "" "Removed the :func:`!@asyncio.coroutine` :term:`decorator` enabling legacy " -"generator-based coroutines to be compatible with :keyword:`async` / :keyword:" -"`await` code. The function has been deprecated since Python 3.8 and the " -"removal was initially scheduled for Python 3.10. Use :keyword:`async def` " -"instead. (Contributed by Illia Volochii in :issue:`43216`.)" +"generator-based coroutines to be compatible " +"with :keyword:`async` / :keyword:`await` code. The function has been " +"deprecated since Python 3.8 and the removal was initially scheduled for " +"Python 3.10. Use :keyword:`async def` instead. (Contributed by Illia " +"Volochii in :issue:`43216`.)" msgstr "" "Removido o :term:`decorador` :func:`!@asyncio.coroutine` permitindo que " -"corrotinas baseadas em gerador legado sejam compatíveis com o código :" -"keyword:`async` / :keyword:`await`. A função foi descontinuada desde o " -"Python 3.8 e a remoção foi inicialmente agendada para o Python 3.10. Use :" -"keyword:`async def` em vez disso. (Contribuição de Illia Volochii em :issue:" -"`43216`.)" +"corrotinas baseadas em gerador legado sejam compatíveis com o " +"código :keyword:`async` / :keyword:`await`. A função foi descontinuada desde " +"o Python 3.8 e a remoção foi inicialmente agendada para o Python 3.10. " +"Use :keyword:`async def` em vez disso. (Contribuição de Illia Volochii " +"em :issue:`43216`.)" -#: ../../whatsnew/3.11.rst:1942 +#: ../../whatsnew/3.11.rst:1975 msgid "" "Removed :class:`!asyncio.coroutines.CoroWrapper` used for wrapping legacy " "generator-based coroutine objects in the debug mode. (Contributed by Illia " @@ -3855,13 +3927,13 @@ msgstr "" "encapsular objetos de corrotina baseados em gerador legado no modo de " "depuração. (Contribuição de Illia Volochii em :issue:`43216`.)" -#: ../../whatsnew/3.11.rst:1946 +#: ../../whatsnew/3.11.rst:1979 msgid "" -"Due to significant security concerns, the *reuse_address* parameter of :meth:" -"`asyncio.loop.create_datagram_endpoint`, disabled in Python 3.9, is now " -"entirely removed. This is because of the behavior of the socket option " -"``SO_REUSEADDR`` in UDP. (Contributed by Hugo van Kemenade in :issue:" -"`45129`.)" +"Due to significant security concerns, the *reuse_address* parameter " +"of :meth:`asyncio.loop.create_datagram_endpoint`, disabled in Python 3.9, is " +"now entirely removed. This is because of the behavior of the socket option " +"``SO_REUSEADDR`` in UDP. (Contributed by Hugo van Kemenade " +"in :issue:`45129`.)" msgstr "" "Devido a preocupações significativas de segurança, o parâmetro " "*reuse_address* de :meth:`asyncio.loop.create_datagram_endpoint`, " @@ -3869,7 +3941,7 @@ msgstr "" "comportamento da opção de socket ``SO_REUSEDDR`` no UDP. (Contribuição de " "Hugo van Kemenade em :issue:`45129`.)" -#: ../../whatsnew/3.11.rst:1952 +#: ../../whatsnew/3.11.rst:1985 msgid "" "Removed the :mod:`!binhex` module, deprecated in Python 3.9. Also removed " "the related, similarly-deprecated :mod:`binascii` functions:" @@ -3878,31 +3950,31 @@ msgstr "" "removidas as funções :mod:`binascii` relacionadas e igualmente " "descontinuadas:" -#: ../../whatsnew/3.11.rst:1955 +#: ../../whatsnew/3.11.rst:1988 msgid ":func:`!binascii.a2b_hqx`" msgstr ":func:`!binascii.a2b_hqx`" -#: ../../whatsnew/3.11.rst:1956 +#: ../../whatsnew/3.11.rst:1989 msgid ":func:`!binascii.b2a_hqx`" msgstr ":func:`!binascii.b2a_hqx`" -#: ../../whatsnew/3.11.rst:1957 +#: ../../whatsnew/3.11.rst:1990 msgid ":func:`!binascii.rlecode_hqx`" msgstr ":func:`!binascii.rlecode_hqx`" -#: ../../whatsnew/3.11.rst:1958 +#: ../../whatsnew/3.11.rst:1991 msgid ":func:`!binascii.rldecode_hqx`" msgstr ":func:`!binascii.rldecode_hqx`" -#: ../../whatsnew/3.11.rst:1960 +#: ../../whatsnew/3.11.rst:1993 msgid "The :func:`binascii.crc_hqx` function remains available." msgstr "A função :func:`binascii.crc_hqx` continua disponível." -#: ../../whatsnew/3.11.rst:1962 +#: ../../whatsnew/3.11.rst:1995 msgid "(Contributed by Victor Stinner in :issue:`45085`.)" msgstr "(Contribuição de Victor Stinner em :issue:`45085`.)" -#: ../../whatsnew/3.11.rst:1964 +#: ../../whatsnew/3.11.rst:1997 msgid "" "Removed the :mod:`distutils` ``bdist_msi`` command deprecated in Python 3.9. " "Use ``bdist_wheel`` (wheel packages) instead. (Contributed by Hugo van " @@ -3912,112 +3984,114 @@ msgstr "" "no Python 3.9. Em vez disso, use ``bdist_wheel`` (pacotes wheel). " "(Contribuição de Hugo van Kemenade em :issue:`45124`.)" -#: ../../whatsnew/3.11.rst:1968 +#: ../../whatsnew/3.11.rst:2001 msgid "" -"Removed the :meth:`~object.__getitem__` methods of :class:`xml.dom.pulldom." -"DOMEventStream`, :class:`wsgiref.util.FileWrapper` and :class:`fileinput." -"FileInput`, deprecated since Python 3.9. (Contributed by Hugo van Kemenade " -"in :issue:`45132`.)" +"Removed the :meth:`~object.__getitem__` methods " +"of :class:`xml.dom.pulldom.DOMEventStream`, :class:`wsgiref.util.FileWrapper` " +"and :class:`fileinput.FileInput`, deprecated since Python 3.9. (Contributed " +"by Hugo van Kemenade in :issue:`45132`.)" msgstr "" -"Removidos os métodos :meth:`~object.__getitem__` das classes :class:`xml.dom." -"pulldom.DOMEventStream`, :class:`wsgiref.util.FileWrapper` e :class:" -"`fileinput.FileInput`, descontinuados desde o Python 3.9 . (Contribuição de " -"Hugo van Kemenade em :issue:`45132`.)" +"Removidos os métodos :meth:`~object.__getitem__` das " +"classes :class:`xml.dom.pulldom.DOMEventStream`, :class:`wsgiref.util.FileWrapper` " +"e :class:`fileinput.FileInput`, descontinuados desde o Python 3.9 . " +"(Contribuição de Hugo van Kemenade em :issue:`45132`.)" -#: ../../whatsnew/3.11.rst:1973 +#: ../../whatsnew/3.11.rst:2006 msgid "" "Removed the deprecated :mod:`gettext` functions :func:`!lgettext`, :func:`!" -"ldgettext`, :func:`!lngettext` and :func:`!ldngettext`. Also removed the :" -"func:`!bind_textdomain_codeset` function, the :meth:`!NullTranslations." -"output_charset` and :meth:`!NullTranslations.set_output_charset` methods, " -"and the *codeset* parameter of :func:`!translation` and :func:`!install`, " -"since they are only used for the :func:`!l*gettext` functions. (Contributed " -"by Dong-hee Na and Serhiy Storchaka in :issue:`44235`.)" -msgstr "" -"Removidas as funções descontinuadas :func:`!lgettext`, :func:`!ldgettext`, :" -"func:`!lngettext` e :func:`!ldngettext` de :mod:`gettext`. Também removidas " -"a função :func:`!bind_textdomain_codeset`, os métodos :meth:`!" -"NullTranslations.output_charset` e :meth:`!NullTranslations." -"set_output_charset`, e o parâmetro *codeset* de :func:`!translation` e :func:" -"`!install`, já que eles são usados apenas para as funções :func:`!" -"l*gettext`. (Contribuição de Dong-hee Na e Serhiy Storchaka em :issue:" -"`44235`.)" - -#: ../../whatsnew/3.11.rst:1983 +"ldgettext`, :func:`!lngettext` and :func:`!ldngettext`. Also removed " +"the :func:`!bind_textdomain_codeset` function, the :meth:`!" +"NullTranslations.output_charset` and :meth:`!" +"NullTranslations.set_output_charset` methods, and the *codeset* parameter " +"of :func:`!translation` and :func:`!install`, since they are only used for " +"the :func:`!l*gettext` functions. (Contributed by Donghee Na and Serhiy " +"Storchaka in :issue:`44235`.)" +msgstr "" +"Removidas as funções descontinuadas :func:`!lgettext`, :func:`!" +"ldgettext`, :func:`!lngettext` e :func:`!ldngettext` de :mod:`gettext`. " +"Também removidas a função :func:`!bind_textdomain_codeset`, os " +"métodos :meth:`!NullTranslations.output_charset` e :meth:`!" +"NullTranslations.set_output_charset`, e o parâmetro *codeset* de :func:`!" +"translation` e :func:`!install`, já que eles são usados apenas para as " +"funções :func:`!l*gettext`. (Contribuição de Dong-hee Na e Serhiy Storchaka " +"em :issue:`44235`.)" + +#: ../../whatsnew/3.11.rst:2016 msgid "Removed from the :mod:`inspect` module:" msgstr "Removido do módulo :mod:`inspect`:" -#: ../../whatsnew/3.11.rst:1985 +#: ../../whatsnew/3.11.rst:2018 msgid "" -"The :func:`!getargspec` function, deprecated since Python 3.0; use :func:" -"`inspect.signature` or :func:`inspect.getfullargspec` instead." +"The :func:`!getargspec` function, deprecated since Python 3.0; " +"use :func:`inspect.signature` or :func:`inspect.getfullargspec` instead." msgstr "" -"A função :func:`!getargspec`, descontinuada desde o Python 3.0; use :func:" -"`inspect.signature` ou :func:`inspect.getfullargspec`." +"A função :func:`!getargspec`, descontinuada desde o Python 3.0; " +"use :func:`inspect.signature` ou :func:`inspect.getfullargspec`." -#: ../../whatsnew/3.11.rst:1988 +#: ../../whatsnew/3.11.rst:2021 msgid "" -"The :func:`!formatargspec` function, deprecated since Python 3.5; use the :" -"func:`inspect.signature` function or the :class:`inspect.Signature` object " -"directly." +"The :func:`!formatargspec` function, deprecated since Python 3.5; use " +"the :func:`inspect.signature` function or the :class:`inspect.Signature` " +"object directly." msgstr "" "A função :func:`!formatargspec`, descontinuada desde o Python 3.5; use a " "função :func:`inspect.signature` ou o objeto :class:`inspect.Signature` " "diretamente." -#: ../../whatsnew/3.11.rst:1992 +#: ../../whatsnew/3.11.rst:2025 msgid "" -"The undocumented :meth:`!Signature.from_builtin` and :meth:`!Signature." -"from_function` methods, deprecated since Python 3.5; use the :meth:" -"`Signature.from_callable() ` method instead." +"The undocumented :meth:`!Signature.from_builtin` and :meth:`!" +"Signature.from_function` methods, deprecated since Python 3.5; use " +"the :meth:`Signature.from_callable() ` " +"method instead." msgstr "" "Os métodos não documentados :meth:`!Signature.from_builtin` e :meth:`!" -"Signature.from_function`, descontinuados desde o Python 3.5; use o método :" -"meth:`Signature.from_callable() `." +"Signature.from_function`, descontinuados desde o Python 3.5; use o " +"método :meth:`Signature.from_callable() `." -#: ../../whatsnew/3.11.rst:1997 +#: ../../whatsnew/3.11.rst:2030 msgid "(Contributed by Hugo van Kemenade in :issue:`45320`.)" msgstr "(Contribuição de Hugo van Kemenade em :issue:`45320`.)" -#: ../../whatsnew/3.11.rst:1999 +#: ../../whatsnew/3.11.rst:2032 msgid "" -"Removed the :meth:`~object.__class_getitem__` method from :class:`pathlib." -"PurePath`, because it was not used and added by mistake in previous " -"versions. (Contributed by Nikita Sobolev in :issue:`46483`.)" +"Removed the :meth:`~object.__class_getitem__` method " +"from :class:`pathlib.PurePath`, because it was not used and added by mistake " +"in previous versions. (Contributed by Nikita Sobolev in :issue:`46483`.)" msgstr "" -"Removido o método :meth:`~object.__class_getitem__` de :class:`pathlib." -"PurePath`, pois não era usado e foi adicionado por engano em versões " -"anteriores. (Contribuição de Nikita Sobolev em :issue:`46483`.)" +"Removido o método :meth:`~object.__class_getitem__` " +"de :class:`pathlib.PurePath`, pois não era usado e foi adicionado por engano " +"em versões anteriores. (Contribuição de Nikita Sobolev em :issue:`46483`.)" -#: ../../whatsnew/3.11.rst:2004 +#: ../../whatsnew/3.11.rst:2037 msgid "" "Removed the :class:`!MailmanProxy` class in the :mod:`smtpd` module, as it " "is unusable without the external :mod:`!mailman` package. (Contributed by " -"Dong-hee Na in :issue:`35800`.)" +"Donghee Na in :issue:`35800`.)" msgstr "" "Removida a classe :class:`!MailmanProxy` do módulo :mod:`smtpd`, pois ela " "não pode ser usada sem o pacote :mod:`!mailman` externo. (Contribuição de " "Dong-hee Na em :issue:`35800`.)" -#: ../../whatsnew/3.11.rst:2008 +#: ../../whatsnew/3.11.rst:2041 msgid "" -"Removed the deprecated :meth:`!split` method of :class:`!_tkinter." -"TkappType`. (Contributed by Erlend E. Aasland in :issue:`38371`.)" +"Removed the deprecated :meth:`!split` method of :class:`!" +"_tkinter.TkappType`. (Contributed by Erlend E. Aasland in :issue:`38371`.)" msgstr "" -"Removido o método descontinuado :meth:`!split` de :class:`!_tkinter." -"TkappType`. (Contribuição de Erlend E. Aasland em :issue:`38371`.)" +"Removido o método descontinuado :meth:`!split` de :class:`!" +"_tkinter.TkappType`. (Contribuição de Erlend E. Aasland em :issue:`38371`.)" -#: ../../whatsnew/3.11.rst:2011 +#: ../../whatsnew/3.11.rst:2044 msgid "" "Removed namespace package support from :mod:`unittest` discovery. It was " "introduced in Python 3.4 but has been broken since Python 3.7. (Contributed " "by Inada Naoki in :issue:`23882`.)" msgstr "" -"Removido o suporte a pacote de espaço de nomes da descoberta de :mod:" -"`unittest`. Foi introduzido no Python 3.4, mas está quebrado desde o Python " -"3.7. (Contribuição de Inada Naoki em :issue:`23882`.)" +"Removido o suporte a pacote de espaço de nomes da descoberta " +"de :mod:`unittest`. Foi introduzido no Python 3.4, mas está quebrado desde o " +"Python 3.7. (Contribuição de Inada Naoki em :issue:`23882`.)" -#: ../../whatsnew/3.11.rst:2015 +#: ../../whatsnew/3.11.rst:2048 msgid "" "Removed the undocumented private :meth:`!float.__set_format__()` method, " "previously known as :meth:`!float.__setformat__()` in Python 3.7. Its " @@ -4028,10 +4102,10 @@ msgstr "" "Removido o método privado não documentado :meth:`!float.__set_format__()`, " "anteriormente conhecido como :meth:`!float.__setformat__()` no Python 3.7. " "Sua docstring dizia: \"Você provavelmente não quer usar esta função. Ela " -"existe principalmente para ser usada na conjunto de testes do Python." -"\" (Contribuição de Victor Stinner em :issue:`46852`.)" +"existe principalmente para ser usada na conjunto de testes do Python.\" " +"(Contribuição de Victor Stinner em :issue:`46852`.)" -#: ../../whatsnew/3.11.rst:2021 +#: ../../whatsnew/3.11.rst:2054 msgid "" "The :option:`!--experimental-isolated-subinterpreters` configure flag (and " "corresponding :c:macro:`!EXPERIMENTAL_ISOLATED_SUBINTERPRETERS` macro) have " @@ -4041,7 +4115,7 @@ msgstr "" "subinterpreters` e a macro :c:macro:`!EXPERIMENTAL_ISOLATED_SUBINTERPRETERS` " "correspondente foram removidos." -#: ../../whatsnew/3.11.rst:2025 +#: ../../whatsnew/3.11.rst:2058 msgid "" "`Pynche `_ --- The Pythonically Natural " "Color and Hue Editor --- has been moved out of ``Tools/scripts`` and is " @@ -4053,11 +4127,11 @@ msgstr "" "desenvolvido independentemente `_ da árvore fonte do Python." -#: ../../whatsnew/3.11.rst:2035 ../../whatsnew/3.11.rst:2257 +#: ../../whatsnew/3.11.rst:2068 ../../whatsnew/3.11.rst:2290 msgid "Porting to Python 3.11" msgstr "Portando para Python 3.11" -#: ../../whatsnew/3.11.rst:2037 +#: ../../whatsnew/3.11.rst:2070 msgid "" "This section lists previously described changes and other bugfixes in the " "Python API that may require changes to your Python code." @@ -4065,7 +4139,7 @@ msgstr "" "Esta seção lista as alterações descritas anteriormente e outras correções de " "bugs na API do Python que podem exigir alterações em seu código Python." -#: ../../whatsnew/3.11.rst:2040 +#: ../../whatsnew/3.11.rst:2073 msgid "" "Porting notes for the C API are :ref:`listed separately `." @@ -4073,60 +4147,62 @@ msgstr "" "As notas de portabilidade para a API C são :ref:`listadas separadamente " "`." -#: ../../whatsnew/3.11.rst:2043 +#: ../../whatsnew/3.11.rst:2076 msgid "" -":func:`open`, :func:`io.open`, :func:`codecs.open` and :class:`fileinput." -"FileInput` no longer accept ``'U'`` (\"universal newline\") in the file " -"mode. In Python 3, \"universal newline\" mode is used by default whenever a " -"file is opened in text mode, and the ``'U'`` flag has been deprecated since " -"Python 3.3. The :ref:`newline parameter ` to these " -"functions controls how universal newlines work. (Contributed by Victor " -"Stinner in :issue:`37330`.)" +":func:`open`, :func:`io.open`, :func:`codecs.open` " +"and :class:`fileinput.FileInput` no longer accept ``'U'`` (\"universal " +"newline\") in the file mode. In Python 3, \"universal newline\" mode is used " +"by default whenever a file is opened in text mode, and the ``'U'`` flag has " +"been deprecated since Python 3.3. The :ref:`newline parameter ` to these functions controls how universal newlines work. " +"(Contributed by Victor Stinner in :issue:`37330`.)" msgstr "" -":func:`open`, :func:`io.open`, :func:`codecs.open` e :class:`fileinput." -"FileInput` não aceitam mais ``'U'`` (\"nova linha universal\") em o modo de " -"arquivo. No Python 3, o modo \"nova linha universal\" é usado por padrão " -"sempre que um arquivo é aberto no modo de texto, e o sinalizador ``'U'`` foi " -"descontinuado desde o Python 3.3. O :ref:`parâmetro de nova linha ` para essas funções controla como as novas linhas " -"universais funcionam. (Contribuição de Victor Stinner em :issue:`37330`.)" +":func:`open`, :func:`io.open`, :func:`codecs.open` " +"e :class:`fileinput.FileInput` não aceitam mais ``'U'`` (\"nova linha " +"universal\") em o modo de arquivo. No Python 3, o modo \"nova linha " +"universal\" é usado por padrão sempre que um arquivo é aberto no modo de " +"texto, e o sinalizador ``'U'`` foi descontinuado desde o Python 3.3. " +"O :ref:`parâmetro de nova linha ` para essas funções " +"controla como as novas linhas universais funcionam. (Contribuição de Victor " +"Stinner em :issue:`37330`.)" -#: ../../whatsnew/3.11.rst:2052 +#: ../../whatsnew/3.11.rst:2085 msgid "" -":class:`ast.AST` node positions are now validated when provided to :func:" -"`compile` and other related functions. If invalid positions are detected, a :" -"exc:`ValueError` will be raised. (Contributed by Pablo Galindo in :gh:" -"`93351`)" +":class:`ast.AST` node positions are now validated when provided " +"to :func:`compile` and other related functions. If invalid positions are " +"detected, a :exc:`ValueError` will be raised. (Contributed by Pablo Galindo " +"in :gh:`93351`)" msgstr "" "As posições do nó da :class:`ast.AST` agora são validadas quando fornecidas " "para :func:`compile` e outras funções relacionadas. Se posições inválidas " "forem detectadas, uma exceção :exc:`ValueError` será levantado. " "(Contribuição de Pablo Galindo em :gh:`93351`)" -#: ../../whatsnew/3.11.rst:2056 +#: ../../whatsnew/3.11.rst:2089 msgid "" "Prohibited passing non-:class:`concurrent.futures.ThreadPoolExecutor` " "executors to :meth:`asyncio.loop.set_default_executor` following a " "deprecation in Python 3.8. (Contributed by Illia Volochii in :issue:`43234`.)" msgstr "" -"Proibido passar executores que não sejam :class:`concurrent.futures." -"ThreadPoolExecutor` para :meth:`asyncio.loop.set_default_executor` após uma " -"descontinuação no Python 3.8. (Contribuição de Illia Volochii em :issue:" -"`43234`.)" +"Proibido passar executores que não " +"sejam :class:`concurrent.futures.ThreadPoolExecutor` " +"para :meth:`asyncio.loop.set_default_executor` após uma descontinuação no " +"Python 3.8. (Contribuição de Illia Volochii em :issue:`43234`.)" -#: ../../whatsnew/3.11.rst:2061 +#: ../../whatsnew/3.11.rst:2094 msgid "" -":mod:`calendar`: The :class:`calendar.LocaleTextCalendar` and :class:" -"`calendar.LocaleHTMLCalendar` classes now use :func:`locale.getlocale`, " -"instead of using :func:`locale.getdefaultlocale`, if no locale is specified. " +":mod:`calendar`: The :class:`calendar.LocaleTextCalendar` " +"and :class:`calendar.LocaleHTMLCalendar` classes now " +"use :func:`locale.getlocale`, instead of " +"using :func:`locale.getdefaultlocale`, if no locale is specified. " "(Contributed by Victor Stinner in :issue:`46659`.)" msgstr "" -":mod:`calendar`: As classes :class:`calendar.LocaleTextCalendar` e :class:" -"`calendar.LocaleHTMLCalendar` agora usam :func:`locale.getlocale`, em vez de " -"usar :func:`locale.getdefaultlocale`, se nenhuma localidade é especificada. " -"(Contribuição de Victor Stinner em :issue:`46659`.)" +":mod:`calendar`: As classes :class:`calendar.LocaleTextCalendar` " +"e :class:`calendar.LocaleHTMLCalendar` agora usam :func:`locale.getlocale`, " +"em vez de usar :func:`locale.getdefaultlocale`, se nenhuma localidade é " +"especificada. (Contribuição de Victor Stinner em :issue:`46659`.)" -#: ../../whatsnew/3.11.rst:2067 +#: ../../whatsnew/3.11.rst:2100 msgid "" "The :mod:`pdb` module now reads the :file:`.pdbrc` configuration file with " "the ``'UTF-8'`` encoding. (Contributed by Srinivas Reddy Thatiparthy (శ్రీనివాస్ " @@ -4136,13 +4212,13 @@ msgstr "" "codificação ``'UTF-8'``. (Contribuição de Srinivas Reddy Thatiparty (శ్రీనివాస్ " "రెడ్డి తాటిపర్తి) em :issue:`41137`.)" -#: ../../whatsnew/3.11.rst:2071 +#: ../../whatsnew/3.11.rst:2104 msgid "" "The *population* parameter of :func:`random.sample` must be a sequence, and " "automatic conversion of :class:`set`\\s to :class:`list`\\s is no longer " -"supported. Also, if the sample size is larger than the population size, a :" -"exc:`ValueError` is raised. (Contributed by Raymond Hettinger in :issue:" -"`40465`.)" +"supported. Also, if the sample size is larger than the population size, " +"a :exc:`ValueError` is raised. (Contributed by Raymond Hettinger " +"in :issue:`40465`.)" msgstr "" "O parâmetro *population* de :func:`random.sample` deve ser uma sequência, e " "a conversão automática de :class:`set`\\s para :class:`list`\\s não é mais " @@ -4150,30 +4226,30 @@ msgstr "" "população, uma exceção :exc:`ValueError` é levantada. (Contribuição de " "Raymond Hettinger em :issue:`40465`.)" -#: ../../whatsnew/3.11.rst:2077 +#: ../../whatsnew/3.11.rst:2110 msgid "" "The *random* optional parameter of :func:`random.shuffle` was removed. It " -"was previously an arbitrary random function to use for the shuffle; now, :" -"func:`random.random` (its previous default) will always be used." +"was previously an arbitrary random function to use for the shuffle; " +"now, :func:`random.random` (its previous default) will always be used." msgstr "" "O parâmetro opcional *random* de :func:`random.shuffle` foi removido. " "Anteriormente, era uma função aleatória arbitrária a ser usada para o " "shuffle; agora, :func:`random.random` (seu padrão anterior) sempre será " "usado." -#: ../../whatsnew/3.11.rst:2081 +#: ../../whatsnew/3.11.rst:2114 msgid "" "In :mod:`re` :ref:`re-syntax`, global inline flags (e.g. ``(?i)``) can now " "only be used at the start of regular expressions. Using them elsewhere has " -"been deprecated since Python 3.6. (Contributed by Serhiy Storchaka in :issue:" -"`47066`.)" +"been deprecated since Python 3.6. (Contributed by Serhiy Storchaka " +"in :issue:`47066`.)" msgstr "" "Em :ref:`re-syntax` do :mod:`re`, sinalizadores globais inline (por exemplo, " "``(?i)``) agora só podem ser usados no início de expressões regulares. Se " "uso em outro lugar foi descontinuado no Python 3.6. (Contribuição de Serhiy " "Storchaka em :issue:`47066`.)" -#: ../../whatsnew/3.11.rst:2086 +#: ../../whatsnew/3.11.rst:2119 msgid "" "In the :mod:`re` module, several long-standing bugs where fixed that, in " "rare cases, could cause capture groups to get the wrong result. Therefore, " @@ -4185,11 +4261,11 @@ msgstr "" "resultado errado. Portanto, isso pode alterar a saída capturada nesses " "casos. (Contribuição de Ma Lin em :issue:`35859`.)" -#: ../../whatsnew/3.11.rst:2095 +#: ../../whatsnew/3.11.rst:2128 msgid "Build Changes" -msgstr "Alterações de compilação" +msgstr "Mudanças na construção" -#: ../../whatsnew/3.11.rst:2097 +#: ../../whatsnew/3.11.rst:2130 msgid "" "CPython now has :pep:`11` :pep:`Tier 3 support <11#tier-3>` for cross " "compiling to the `WebAssembly `_ platforms " @@ -4200,8 +4276,8 @@ msgid "" "limited subset of POSIX APIs; Python standard libraries features and modules " "related to networking, processes, threading, signals, mmap, and users/groups " "are not available or don't work. (Emscripten contributed by Christian Heimes " -"and Ethan Smith in :gh:`84461` and WASI contributed by Christian Heimes in :" -"gh:`90473`; platforms promoted in :gh:`95085`)" +"and Ethan Smith in :gh:`84461` and WASI contributed by Christian Heimes " +"in :gh:`90473`; platforms promoted in :gh:`95085`)" msgstr "" "CPython agora tem :pep:`suporte a Tier 3 <11#tier-3>` da :pep:`11` para " "compilação cruzada para as plataformas `WebAssembly `_ compiler and standard library. " "`Optional C11 features `_ are not required. " -"(Contributed by Victor Stinner in :issue:`46656`, :issue:`45440` and :issue:" -"`46640`.)" +"(Contributed by Victor Stinner in :issue:`46656`, :issue:`45440` " +"and :issue:`46640`.)" msgstr "" "Um compilador `C11 `_. `Recursos C11 " "opcionais `_ não são necessários. " -"(Contribuição de Victor Stinner em :issue:`46656`, :issue:`45440` e :issue:" -"`46640`.)" +"(Contribuição de Victor Stinner em :issue:`46656`, :issue:`45440` " +"e :issue:`46640`.)" -#: ../../whatsnew/3.11.rst:2120 +#: ../../whatsnew/3.11.rst:2153 msgid "" "Support for `IEEE 754 `_ floating " "point numbers. (Contributed by Victor Stinner in :issue:`46917`.)" @@ -4242,7 +4318,7 @@ msgstr "" "Suporte para números de ponto flutuante `IEEE 754 `_. (Contribuição de Victor Stinner em :issue:`46917`.)" -#: ../../whatsnew/3.11.rst:2124 +#: ../../whatsnew/3.11.rst:2157 msgid "" "The :c:macro:`!Py_NO_NAN` macro has been removed. Since CPython now requires " "IEEE 754 floats, NaN values are always available. (Contributed by Victor " @@ -4252,7 +4328,7 @@ msgstr "" "pontos flutuantes de IEEE 754, os valores NaN estão sempre disponíveis. " "(Contribuição de Victor Stinner em :issue:`46656`.)" -#: ../../whatsnew/3.11.rst:2128 +#: ../../whatsnew/3.11.rst:2161 msgid "" "The :mod:`tkinter` package now requires `Tcl/Tk `_ " "version 8.5.12 or newer. (Contributed by Serhiy Storchaka in :issue:`46996`.)" @@ -4260,7 +4336,7 @@ msgstr "" "O pacote :mod:`tkinter` agora requer `Tcl/Tk `_ versão " "8.5.12 ou mais recente. (Contribuição de Serhiy Storchaka em :issue:`46996`.)" -#: ../../whatsnew/3.11.rst:2132 +#: ../../whatsnew/3.11.rst:2165 msgid "" "Build dependencies, compiler flags, and linker flags for most stdlib " "extension modules are now detected by :program:`configure`. libffi, libnsl, " @@ -4268,8 +4344,8 @@ msgid "" "detected by `pkg-config `_ (when available). :mod:`tkinter` now requires a pkg-config " "command to detect development settings for `Tcl/Tk`_ headers and libraries. " -"(Contributed by Christian Heimes and Erlend Egeberg Aasland in :issue:" -"`45847`, :issue:`45747`, and :issue:`45763`.)" +"(Contributed by Christian Heimes and Erlend Egeberg Aasland " +"in :issue:`45847`, :issue:`45747`, and :issue:`45763`.)" msgstr "" "Dependências de construção, sinalizadores de compilador e sinalizadores de " "vinculador para a maioria dos módulos de extensão stdlib agora são " @@ -4281,7 +4357,7 @@ msgstr "" "bibliotecas `Tcl/Tk`_. (Contribuição de Christian Heimes e Erlend Egeberg " "Aasland em :issue:`45847`, :issue:`45747` e :issue:`45763`.)" -#: ../../whatsnew/3.11.rst:2142 +#: ../../whatsnew/3.11.rst:2175 msgid "" "libpython is no longer linked against libcrypt. (Contributed by Mike Gilbert " "in :issue:`45433`.)" @@ -4289,46 +4365,42 @@ msgstr "" "libpython não está mais vinculado a libcrypt. (Contribuição de Mike Gilbert " "em :issue:`45433`.)" -#: ../../whatsnew/3.11.rst:2145 +#: ../../whatsnew/3.11.rst:2178 msgid "" "CPython can now be built with the `ThinLTO `_ option via passing ``thin`` to :option:`--with-lto`, i.e. " -"``--with-lto=thin``. (Contributed by Dong-hee Na and Brett Holman in :issue:" -"`44340`.)" +"``--with-lto=thin``. (Contributed by Donghee Na and Brett Holman " +"in :issue:`44340`.)" msgstr "" -"O CPython agora pode ser construído com a opção `ThinLTO `_ passando ``thin`` para :option:`--with-lto`, ou " -"seja, ``--with-lto=thin``. (Contribuição de Dong-hee Na e Brett Holman em :" -"issue:`44340`.)" +"O CPython agora pode ser construído com a opção `ThinLTO `_ passando ``thin`` para :option:`--with-" +"lto`, ou seja, ``--with-lto=thin``. (Contribuição de Donghee Na e Brett " +"Holman em :issue:`44340`.)" -#: ../../whatsnew/3.11.rst:2150 +#: ../../whatsnew/3.11.rst:2183 msgid "" "Freelists for object structs can now be disabled. A new :program:`configure` " "option :option:`!--without-freelists` can be used to disable all freelists " -"except empty tuple singleton. (Contributed by Christian Heimes in :issue:" -"`45522`.)" +"except empty tuple singleton. (Contributed by Christian Heimes " +"in :issue:`45522`.)" msgstr "" -"Freelists para structs de objeto agora podem ser desabilitadas. Uma nova " -"opção :option:`!--without-freelists` do :program:`configure` pode ser usada " -"para desabilitar todas as freelists, exceto a tupla singleton vazia. " -"(Contribuição de Christian Heimes em :issue:`45522`.)" -#: ../../whatsnew/3.11.rst:2155 +#: ../../whatsnew/3.11.rst:2188 msgid "" "``Modules/Setup`` and ``Modules/makesetup`` have been improved and tied up. " "Extension modules can now be built through ``makesetup``. All except some " "test modules can be linked statically into a main binary or library. " -"(Contributed by Brett Cannon and Christian Heimes in :issue:`45548`, :issue:" -"`45570`, :issue:`45571`, and :issue:`43974`.)" +"(Contributed by Brett Cannon and Christian Heimes " +"in :issue:`45548`, :issue:`45570`, :issue:`45571`, and :issue:`43974`.)" msgstr "" "``Modules/Setup`` e ``Modules/makesetup`` foram melhorados e amarrados. " "Módulos de extensão agora podem ser construídos através do ``makesetup``. " "Todos, exceto alguns módulos de teste, podem ser vinculados estaticamente em " "um binário principal ou biblioteca. (Contribuição de Brett Cannon e " -"Christian Heimes em :issue:`45548`, :issue:`45570`, :issue:`45571` e :issue:" -"`43974`.)" +"Christian Heimes em :issue:`45548`, :issue:`45570`, :issue:`45571` " +"e :issue:`43974`.)" -#: ../../whatsnew/3.11.rst:2162 +#: ../../whatsnew/3.11.rst:2195 msgid "" "Use the environment variables :envvar:`!TCLTK_CFLAGS` and :envvar:`!" "TCLTK_LIBS` to manually specify the location of Tcl/Tk headers and " @@ -4337,10 +4409,10 @@ msgid "" msgstr "" "Use as variáveis de ambiente :envvar:`!TCLTK_CFLAGS` e :envvar:`!TCLTK_LIBS` " "para especificar manualmente a localização dos cabeçalhos e bibliotecas Tcl/" -"Tk. As opções :program:`configure` :option:`!--with-tcltk-includes` e :" -"option:`!--with-tcltk-libs` foram removidas." +"Tk. As opções :program:`configure` :option:`!--with-tcltk-includes` " +"e :option:`!--with-tcltk-libs` foram removidas." -#: ../../whatsnew/3.11.rst:2168 +#: ../../whatsnew/3.11.rst:2201 msgid "" "On RHEL 7 and CentOS 7 the development packages do not provide ``tcl.pc`` " "and ``tk.pc``; use ``TCLTK_LIBS=\"-ltk8.5 -ltkstub8.5 -ltcl8.5\"``. The " @@ -4352,31 +4424,31 @@ msgstr "" "``Misc/rhel7`` contém arquivos ``.pc`` e instruções sobre como construir " "Python com RHEL 7's e CentOS 7's Tcl/Tk e OpenSSL." -#: ../../whatsnew/3.11.rst:2173 +#: ../../whatsnew/3.11.rst:2206 msgid "" "CPython will now use 30-bit digits by default for the Python :class:`int` " "implementation. Previously, the default was to use 30-bit digits on " "platforms with ``SIZEOF_VOID_P >= 8``, and 15-bit digits otherwise. It's " -"still possible to explicitly request use of 15-bit digits via either the :" -"option:`--enable-big-digits` option to the configure script or (for Windows) " -"the ``PYLONG_BITS_IN_DIGIT`` variable in ``PC/pyconfig.h``, but this option " -"may be removed at some point in the future. (Contributed by Mark Dickinson " -"in :issue:`45569`.)" -msgstr "" -"O CPython agora usará dígitos de 30 bits por padrão para a implementação de :" -"class:`int` do Python. Anteriormente, o padrão era usar dígitos de 30 bits " -"em plataformas com ``SIZEOF_VOID_P >= 8`` e, caso contrário, dígitos de 15 " -"bits. Ainda é possível solicitar explicitamente o uso de dígitos de 15 bits " -"através da opção :option:`--enable-big-digits` para o script de configuração " -"ou (para Windows) a variável ``PYLONG_BITS_IN_DIGIT`` em ``PC/pyconfig.h``, " -"mas esta opção pode ser removida em algum momento no futuro. (Contribuição " -"de Mark Dickinson em :issue:`45569`.)" - -#: ../../whatsnew/3.11.rst:2186 +"still possible to explicitly request use of 15-bit digits via either " +"the :option:`--enable-big-digits` option to the configure script or (for " +"Windows) the ``PYLONG_BITS_IN_DIGIT`` variable in ``PC/pyconfig.h``, but " +"this option may be removed at some point in the future. (Contributed by Mark " +"Dickinson in :issue:`45569`.)" +msgstr "" +"O CPython agora usará dígitos de 30 bits por padrão para a implementação " +"de :class:`int` do Python. Anteriormente, o padrão era usar dígitos de 30 " +"bits em plataformas com ``SIZEOF_VOID_P >= 8`` e, caso contrário, dígitos de " +"15 bits. Ainda é possível solicitar explicitamente o uso de dígitos de 15 " +"bits através da opção :option:`--enable-big-digits` para o script de " +"configuração ou (para Windows) a variável ``PYLONG_BITS_IN_DIGIT`` em ``PC/" +"pyconfig.h``, mas esta opção pode ser removida em algum momento no futuro. " +"(Contribuição de Mark Dickinson em :issue:`45569`.)" + +#: ../../whatsnew/3.11.rst:2219 msgid "C API Changes" msgstr "Alterações na API C" -#: ../../whatsnew/3.11.rst:2193 +#: ../../whatsnew/3.11.rst:2226 msgid "" "Add a new :c:func:`PyType_GetName` function to get type's short name. " "(Contributed by Hai Shi in :issue:`42035`.)" @@ -4384,7 +4456,7 @@ msgstr "" "Adiciona uma nova função :c:func:`PyType_GetName` para obter o nome curto do " "tipo. (Contribuição de Hai Shi em :issue:`42035`.)" -#: ../../whatsnew/3.11.rst:2196 +#: ../../whatsnew/3.11.rst:2229 msgid "" "Add a new :c:func:`PyType_GetQualName` function to get type's qualified " "name. (Contributed by Hai Shi in :issue:`42035`.)" @@ -4392,29 +4464,29 @@ msgstr "" "Adiciona uma nova função :c:func:`PyType_GetQualName` para obter o nome " "qualificado do tipo. (Contribuição de Hai Shi em :issue:`42035`.)" -#: ../../whatsnew/3.11.rst:2199 +#: ../../whatsnew/3.11.rst:2232 msgid "" -"Add new :c:func:`PyThreadState_EnterTracing` and :c:func:" -"`PyThreadState_LeaveTracing` functions to the limited C API to suspend and " -"resume tracing and profiling. (Contributed by Victor Stinner in :issue:" -"`43760`.)" +"Add new :c:func:`PyThreadState_EnterTracing` " +"and :c:func:`PyThreadState_LeaveTracing` functions to the limited C API to " +"suspend and resume tracing and profiling. (Contributed by Victor Stinner " +"in :issue:`43760`.)" msgstr "" -"Adiciona novas funções :c:func:`PyThreadState_EnterTracing` e :c:func:" -"`PyThreadState_LeaveTracing` à API C limitada para suspender e retomar " -"rastreamento e criação de perfil. (Contribuição de Victor Stinner em :issue:" -"`43760`.)" +"Adiciona novas funções :c:func:`PyThreadState_EnterTracing` " +"e :c:func:`PyThreadState_LeaveTracing` à API C limitada para suspender e " +"retomar rastreamento e criação de perfil. (Contribuição de Victor Stinner " +"em :issue:`43760`.)" -#: ../../whatsnew/3.11.rst:2204 +#: ../../whatsnew/3.11.rst:2237 msgid "" -"Added the :c:data:`Py_Version` constant which bears the same value as :c:" -"macro:`PY_VERSION_HEX`. (Contributed by Gabriele N. Tornetta in :issue:" -"`43931`.)" +"Added the :c:data:`Py_Version` constant which bears the same value " +"as :c:macro:`PY_VERSION_HEX`. (Contributed by Gabriele N. Tornetta " +"in :issue:`43931`.)" msgstr "" -"Adicionada a constante :c:data:`Py_Version` que possui o mesmo valor que :c:" -"macro:`PY_VERSION_HEX`. (Contribuição de Gabriele N. Tornetta em :issue:" -"`43931`.)" +"Adicionada a constante :c:data:`Py_Version` que possui o mesmo valor " +"que :c:macro:`PY_VERSION_HEX`. (Contribuição de Gabriele N. Tornetta " +"em :issue:`43931`.)" -#: ../../whatsnew/3.11.rst:2208 +#: ../../whatsnew/3.11.rst:2241 msgid "" ":c:type:`Py_buffer` and APIs are now part of the limited API and the stable " "ABI:" @@ -4422,116 +4494,115 @@ msgstr "" ":c:type:`Py_buffer` e APIs agora fazem parte da API limitada e da ABI " "estável:" -#: ../../whatsnew/3.11.rst:2211 +#: ../../whatsnew/3.11.rst:2244 msgid ":c:func:`PyObject_CheckBuffer`" msgstr ":c:func:`PyObject_CheckBuffer`" -#: ../../whatsnew/3.11.rst:2212 +#: ../../whatsnew/3.11.rst:2245 msgid ":c:func:`PyObject_GetBuffer`" msgstr ":c:func:`PyObject_GetBuffer`" -#: ../../whatsnew/3.11.rst:2213 +#: ../../whatsnew/3.11.rst:2246 msgid ":c:func:`PyBuffer_GetPointer`" msgstr ":c:func:`PyBuffer_GetPointer`" -#: ../../whatsnew/3.11.rst:2214 +#: ../../whatsnew/3.11.rst:2247 msgid ":c:func:`PyBuffer_SizeFromFormat`" msgstr ":c:func:`PyBuffer_SizeFromFormat`" -#: ../../whatsnew/3.11.rst:2215 +#: ../../whatsnew/3.11.rst:2248 msgid ":c:func:`PyBuffer_ToContiguous`" msgstr ":c:func:`PyBuffer_ToContiguous`" -#: ../../whatsnew/3.11.rst:2216 +#: ../../whatsnew/3.11.rst:2249 msgid ":c:func:`PyBuffer_FromContiguous`" msgstr ":c:func:`PyBuffer_FromContiguous`" -#: ../../whatsnew/3.11.rst:2217 -msgid ":c:func:`PyBuffer_CopyData`" -msgstr ":c:func:`PyBuffer_CopyData`" +#: ../../whatsnew/3.11.rst:2250 +msgid ":c:func:`PyObject_CopyData`" +msgstr ":c:func:`PyObject_CopyData`" -#: ../../whatsnew/3.11.rst:2218 +#: ../../whatsnew/3.11.rst:2251 msgid ":c:func:`PyBuffer_IsContiguous`" msgstr ":c:func:`PyBuffer_IsContiguous`" -#: ../../whatsnew/3.11.rst:2219 +#: ../../whatsnew/3.11.rst:2252 msgid ":c:func:`PyBuffer_FillContiguousStrides`" msgstr ":c:func:`PyBuffer_FillContiguousStrides`" -#: ../../whatsnew/3.11.rst:2220 +#: ../../whatsnew/3.11.rst:2253 msgid ":c:func:`PyBuffer_FillInfo`" msgstr ":c:func:`PyBuffer_FillInfo`" -#: ../../whatsnew/3.11.rst:2221 +#: ../../whatsnew/3.11.rst:2254 msgid ":c:func:`PyBuffer_Release`" msgstr ":c:func:`PyBuffer_Release`" -#: ../../whatsnew/3.11.rst:2222 +#: ../../whatsnew/3.11.rst:2255 msgid ":c:func:`PyMemoryView_FromBuffer`" msgstr ":c:func:`PyMemoryView_FromBuffer`" -#: ../../whatsnew/3.11.rst:2223 +#: ../../whatsnew/3.11.rst:2256 msgid "" -":c:member:`~PyBufferProcs.bf_getbuffer` and :c:member:`~PyBufferProcs." -"bf_releasebuffer` type slots" +":c:member:`~PyBufferProcs.bf_getbuffer` " +"and :c:member:`~PyBufferProcs.bf_releasebuffer` type slots" msgstr "" -"Slotes de tipo :c:member:`~PyBufferProcs.bf_getbuffer` e :c:member:" -"`~PyBufferProcs.bf_releasebuffer`" +"Slotes de tipo :c:member:`~PyBufferProcs.bf_getbuffer` " +"e :c:member:`~PyBufferProcs.bf_releasebuffer`" -#: ../../whatsnew/3.11.rst:2226 +#: ../../whatsnew/3.11.rst:2259 msgid "(Contributed by Christian Heimes in :issue:`45459`.)" msgstr "(Contribuição de Christian Heimes em :issue:`45459`.)" -#: ../../whatsnew/3.11.rst:2228 +#: ../../whatsnew/3.11.rst:2261 msgid "" -"Added the :c:data:`PyType_GetModuleByDef` function, used to get the module " +"Added the :c:func:`PyType_GetModuleByDef` function, used to get the module " "in which a method was defined, in cases where this information is not " "available directly (via :c:type:`PyCMethod`). (Contributed by Petr Viktorin " "in :issue:`46613`.)" msgstr "" -"Adicionada a função :c:data:`PyType_GetModuleByDef`, utilizada para obter o " +"Adicionada a função :c:func:`PyType_GetModuleByDef`, utilizada para obter o " "módulo no qual um método foi definido, nos casos em que esta informação não " "está disponível diretamente (via :c:type:`PyCMethod`). (Contribuição de Petr " "Viktorin em :issue:`46613`.)" -#: ../../whatsnew/3.11.rst:2233 +#: ../../whatsnew/3.11.rst:2266 msgid "" -"Add new functions to pack and unpack C double (serialize and deserialize): :" -"c:func:`PyFloat_Pack2`, :c:func:`PyFloat_Pack4`, :c:func:`PyFloat_Pack8`, :c:" -"func:`PyFloat_Unpack2`, :c:func:`PyFloat_Unpack4` and :c:func:" -"`PyFloat_Unpack8`. (Contributed by Victor Stinner in :issue:`46906`.)" +"Add new functions to pack and unpack C double (serialize and " +"deserialize): :c:func:`PyFloat_Pack2`, :c:func:`PyFloat_Pack4`, :c:func:`PyFloat_Pack8`, :c:func:`PyFloat_Unpack2`, :c:func:`PyFloat_Unpack4` " +"and :c:func:`PyFloat_Unpack8`. (Contributed by Victor Stinner " +"in :issue:`46906`.)" msgstr "" -"Adiciona novas funções para compactar e descompactar double C (serializar e " -"desserializar): :c:func:`PyFloat_Pack2`, :c:func:`PyFloat_Pack4`, :c:func:" -"`PyFloat_Pack8`, :c:func:`PyFloat_Unpack2` , :c:func:`PyFloat_Unpack4` e :c:" -"func:`PyFloat_Unpack8`. (Contribuição de Victor Stinner em :issue:`46906`.)" +"Adiciona novas funções para compactar e desempacotar double C (serializar e " +"desserializar): :c:func:`PyFloat_Pack2`, :c:func:`PyFloat_Pack4`, :c:func:`PyFloat_Pack8`, :c:func:`PyFloat_Unpack2` , :c:func:`PyFloat_Unpack4` " +"e :c:func:`PyFloat_Unpack8`. (Contribuição de Victor Stinner " +"em :issue:`46906`.)" -#: ../../whatsnew/3.11.rst:2239 +#: ../../whatsnew/3.11.rst:2272 msgid "" -"Add new functions to get frame object attributes: :c:func:" -"`PyFrame_GetBuiltins`, :c:func:`PyFrame_GetGenerator`, :c:func:" -"`PyFrame_GetGlobals`, :c:func:`PyFrame_GetLasti`." +"Add new functions to get frame object " +"attributes: :c:func:`PyFrame_GetBuiltins`, :c:func:`PyFrame_GetGenerator`, :c:func:`PyFrame_GetGlobals`, :c:func:`PyFrame_GetLasti`." msgstr "" -"Adiciona novas funções para obter atributos do objeto quadro: :c:func:" -"`PyFrame_GetBuiltins`, :c:func:`PyFrame_GetGenerator`, :c:func:" -"`PyFrame_GetGlobals`, :c:func:`PyFrame_GetLasti`." +"Adiciona novas funções para obter atributos do objeto " +"quadro: :c:func:`PyFrame_GetBuiltins`, :c:func:`PyFrame_GetGenerator`, :c:func:`PyFrame_GetGlobals`, :c:func:`PyFrame_GetLasti`." -#: ../../whatsnew/3.11.rst:2243 +#: ../../whatsnew/3.11.rst:2276 msgid "" -"Added two new functions to get and set the active exception instance: :c:" -"func:`PyErr_GetHandledException` and :c:func:`PyErr_SetHandledException`. " -"These are alternatives to :c:func:`PyErr_SetExcInfo()` and :c:func:" -"`PyErr_GetExcInfo()` which work with the legacy 3-tuple representation of " -"exceptions. (Contributed by Irit Katriel in :issue:`46343`.)" +"Added two new functions to get and set the active exception " +"instance: :c:func:`PyErr_GetHandledException` " +"and :c:func:`PyErr_SetHandledException`. These are alternatives " +"to :c:func:`PyErr_SetExcInfo()` and :c:func:`PyErr_GetExcInfo()` which work " +"with the legacy 3-tuple representation of exceptions. (Contributed by Irit " +"Katriel in :issue:`46343`.)" msgstr "" "Adicionadas duas novas funções para obter e definir a instância de exceção " -"ativa: :c:func:`PyErr_GetHandledException` e :c:func:" -"`PyErr_SetHandledException`. Estas são alternativas para :c:func:" -"`PyErr_SetExcInfo()` e :c:func:`PyErr_GetExcInfo()` que funcionam com a " -"representação de tuplas de 3 elementos legadas de exceções. (Contribuição de " -"Irit Katriel em :issue:`46343`.)" +"ativa: :c:func:`PyErr_GetHandledException` " +"e :c:func:`PyErr_SetHandledException`. Estas são alternativas " +"para :c:func:`PyErr_SetExcInfo()` e :c:func:`PyErr_GetExcInfo()` que " +"funcionam com a representação de tuplas de 3 elementos legadas de exceções. " +"(Contribuição de Irit Katriel em :issue:`46343`.)" -#: ../../whatsnew/3.11.rst:2250 +#: ../../whatsnew/3.11.rst:2283 msgid "" "Added the :c:member:`PyConfig.safe_path` member. (Contributed by Victor " "Stinner in :gh:`57684`.)" @@ -4539,7 +4610,7 @@ msgstr "" "Adicionada o membro :c:member:`PyConfig.safe_path`. (Contribuição de Victor " "Stinner em :gh:`57684`.)" -#: ../../whatsnew/3.11.rst:2261 +#: ../../whatsnew/3.11.rst:2294 msgid "" "Some macros have been converted to static inline functions to avoid `macro " "pitfalls `_. The " @@ -4551,16 +4622,16 @@ msgid "" "Stinner and Erlend E. Aasland in :gh:`89653`.)" msgstr "" "Algumas macros foram convertidas em funções inline estáticas para evitar " -"`armadilhas de macro `_. A alteração deve ser transparente para os usuários, pois as funções " -"de substituição converterão seus argumentos para os tipos esperados para " -"evitar avisos do compilador devido a verificações de tipo estático. No " -"entanto, quando a API C limitada é definida como >=3.11, essas conversões " -"não são feitas e os chamadores precisarão converter argumentos para seus " -"tipos esperados. Veja :pep:`670` para mais detalhes. (Contribuição de Victor " -"Stinner e Erlend E. Aasland em :gh:`89653`.)" +"`armadilhas de macro `_. A alteração deve ser transparente para os usuários, pois " +"as funções de substituição converterão seus argumentos para os tipos " +"esperados para evitar avisos do compilador devido a verificações de tipo " +"estático. No entanto, quando a API C limitada é definida como >=3.11, essas " +"conversões não são feitas e os chamadores precisarão converter argumentos " +"para seus tipos esperados. Veja :pep:`670` para mais detalhes. (Contribuição " +"de Victor Stinner e Erlend E. Aasland em :gh:`89653`.)" -#: ../../whatsnew/3.11.rst:2272 +#: ../../whatsnew/3.11.rst:2305 msgid "" ":c:func:`PyErr_SetExcInfo()` no longer uses the ``type`` and ``traceback`` " "arguments, the interpreter now derives those values from the exception " @@ -4572,7 +4643,7 @@ msgstr "" "exceção (o argumento ``value``). A função ainda rouba referências de todos " "os três argumentos. (Contribuição de Irit Katriel em :issue:`45711`.)" -#: ../../whatsnew/3.11.rst:2278 +#: ../../whatsnew/3.11.rst:2311 msgid "" ":c:func:`PyErr_GetExcInfo()` now derives the ``type`` and ``traceback`` " "fields of the result from the exception instance (the ``value`` field). " @@ -4582,7 +4653,7 @@ msgstr "" "do resultado da instância de exceção (o campo ``value``). (Contribuição de " "Irit Katriel em :issue:`45711`.)" -#: ../../whatsnew/3.11.rst:2282 +#: ../../whatsnew/3.11.rst:2315 msgid "" ":c:struct:`_frozen` has a new ``is_package`` field to indicate whether or " "not the frozen module is a package. Previously, a negative value in the " @@ -4594,7 +4665,7 @@ msgstr "" "``size`` era o indicador. Agora apenas valores não negativos serão usados " "para ``size``. (Contribuição de Kumar Aditya em :issue:`46608`.)" -#: ../../whatsnew/3.11.rst:2288 +#: ../../whatsnew/3.11.rst:2321 msgid "" ":c:func:`_PyFrameEvalFunction` now takes ``_PyInterpreterFrame*`` as its " "second parameter, instead of ``PyFrameObject*``. See :pep:`523` for more " @@ -4604,7 +4675,7 @@ msgstr "" "segundo parâmetro, em vez de ``PyFrameObject*``. Veja :pep:`523` para mais " "detalhes de como usar este tipo de ponteiro de função." -#: ../../whatsnew/3.11.rst:2292 +#: ../../whatsnew/3.11.rst:2325 msgid "" ":c:func:`PyCode_New` and :c:func:`PyCode_NewWithPosOnlyArgs` now take an " "additional ``exception_table`` argument. Using these functions should be " @@ -4618,23 +4689,23 @@ msgstr "" "objeto código usando o compilador e obtenha uma versão modificada com o " "método ``replace``." -#: ../../whatsnew/3.11.rst:2298 +#: ../../whatsnew/3.11.rst:2331 msgid "" ":c:type:`PyCodeObject` no longer has the ``co_code``, ``co_varnames``, " -"``co_cellvars`` and ``co_freevars`` fields. Instead, use :c:func:" -"`PyCode_GetCode`, :c:func:`PyCode_GetVarnames`, :c:func:`PyCode_GetCellvars` " +"``co_cellvars`` and ``co_freevars`` fields. Instead, " +"use :c:func:`PyCode_GetCode`, :c:func:`PyCode_GetVarnames`, :c:func:`PyCode_GetCellvars` " "and :c:func:`PyCode_GetFreevars` respectively to access them via the C API. " "(Contributed by Brandt Bucher in :issue:`46841` and Ken Jin in :gh:`92154` " "and :gh:`94936`.)" msgstr "" ":c:type:`PyCodeObject` não possui mais os campos ``co_code``, " -"``co_varnames``, ``co_cellvars`` e ``co_freevars``. Em vez disso, use :c:" -"func:`PyCode_GetCode`, :c:func:`PyCode_GetVarnames`, :c:func:" -"`PyCode_GetCellvars` e :c:func:`PyCode_GetFreevars` respectivamente para " -"acessá-los por meio da API C. (Contribuição de Brandt Bucher em :issue:" -"`46841` e Ken Jin em :gh:`92154` e :gh:`94936`.)" +"``co_varnames``, ``co_cellvars`` e ``co_freevars``. Em vez disso, " +"use :c:func:`PyCode_GetCode`, :c:func:`PyCode_GetVarnames`, :c:func:`PyCode_GetCellvars` " +"e :c:func:`PyCode_GetFreevars` respectivamente para acessá-los por meio da " +"API C. (Contribuição de Brandt Bucher em :issue:`46841` e Ken Jin " +"em :gh:`92154` e :gh:`94936`.)" -#: ../../whatsnew/3.11.rst:2306 +#: ../../whatsnew/3.11.rst:2339 msgid "" "The old trashcan macros (``Py_TRASHCAN_SAFE_BEGIN``/" "``Py_TRASHCAN_SAFE_END``) are now deprecated. They should be replaced by the " @@ -4644,15 +4715,15 @@ msgstr "" "``Py_TRASHCAN_SAFE_END``) foram descontinuadas. Elas devem ser substituídas " "pelas novas macros ``Py_TRASHCAN_BEGIN`` e ``Py_TRASHCAN_END``." -#: ../../whatsnew/3.11.rst:2310 +#: ../../whatsnew/3.11.rst:2343 msgid "A tp_dealloc function that has the old macros, such as::" msgstr "Uma função tp_dealloc que possui as macros antigas, como::" -#: ../../whatsnew/3.11.rst:2321 +#: ../../whatsnew/3.11.rst:2354 msgid "should migrate to the new macros as follows::" msgstr "deve migrar para as novas macros da seguinte forma::" -#: ../../whatsnew/3.11.rst:2332 +#: ../../whatsnew/3.11.rst:2365 msgid "" "Note that ``Py_TRASHCAN_BEGIN`` has a second argument which should be the " "deallocation function it is in." @@ -4660,7 +4731,7 @@ msgstr "" "Observe que ``Py_TRASHCAN_BEGIN`` tem um segundo argumento que deve ser a " "função de desalocação em que está." -#: ../../whatsnew/3.11.rst:2335 +#: ../../whatsnew/3.11.rst:2368 msgid "" "To support older Python versions in the same codebase, you can define the " "following macros and use them throughout the code (credit: these were copied " @@ -4670,31 +4741,31 @@ msgstr "" "código, você pode definir as seguintes macros e usá-las em todo o código " "(crédito: elas foram copiadas da base de código do ``mypy``)::" -#: ../../whatsnew/3.11.rst:2347 +#: ../../whatsnew/3.11.rst:2380 msgid "" "The :c:func:`PyType_Ready` function now raises an error if a type is defined " -"with the :const:`Py_TPFLAGS_HAVE_GC` flag set but has no traverse function (:" -"c:member:`PyTypeObject.tp_traverse`). (Contributed by Victor Stinner in :" -"issue:`44263`.)" +"with the :c:macro:`Py_TPFLAGS_HAVE_GC` flag set but has no traverse function " +"(:c:member:`PyTypeObject.tp_traverse`). (Contributed by Victor Stinner " +"in :issue:`44263`.)" msgstr "" "A função :c:func:`PyType_Ready` agora levanta um erro se um tipo é definido " -"com o sinalizador :const:`Py_TPFLAGS_HAVE_GC` definido, mas não tem função " +"com o sinalizador :c:macro:`Py_TPFLAGS_HAVE_GC` definido, mas não tem função " "transversal (:c:member:`PyTypeObject.tp_traverse`). (Contribuição de Victor " "Stinner em :issue:`44263`.)" -#: ../../whatsnew/3.11.rst:2352 +#: ../../whatsnew/3.11.rst:2385 msgid "" -"Heap types with the :const:`Py_TPFLAGS_IMMUTABLETYPE` flag can now inherit " -"the :pep:`590` vectorcall protocol. Previously, this was only possible for :" -"ref:`static types `. (Contributed by Erlend E. Aasland in :" -"issue:`43908`)" +"Heap types with the :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` flag can now inherit " +"the :pep:`590` vectorcall protocol. Previously, this was only possible " +"for :ref:`static types `. (Contributed by Erlend E. Aasland " +"in :issue:`43908`)" msgstr "" -"Tipos de heap com o sinalizador :const:`Py_TPFLAGS_IMMUTABLETYPE` agora " +"Tipos de heap com o sinalizador :c:macro:`Py_TPFLAGS_IMMUTABLETYPE` agora " "podem herdar o protocolo vectorcall da :pep:`590`. Anteriormente, isso só " "era possível para :ref:`tipos estáticos `. (Contribuição de " "Erlend E. Aasland em :issue:`43908`)" -#: ../../whatsnew/3.11.rst:2357 +#: ../../whatsnew/3.11.rst:2390 msgid "" "Since :c:func:`Py_TYPE()` is changed to a inline static function, " "``Py_TYPE(obj) = new_type`` must be replaced with ``Py_SET_TYPE(obj, " @@ -4707,11 +4778,11 @@ msgstr "" "Python 3.9). Para compatibilidade com versões anteriores, esta macro pode " "ser usada::" -#: ../../whatsnew/3.11.rst:2369 ../../whatsnew/3.11.rst:2383 +#: ../../whatsnew/3.11.rst:2402 ../../whatsnew/3.11.rst:2416 msgid "(Contributed by Victor Stinner in :issue:`39573`.)" msgstr "(Contribuição de Victor Stinner em :issue:`39573`.)" -#: ../../whatsnew/3.11.rst:2371 +#: ../../whatsnew/3.11.rst:2404 msgid "" "Since :c:func:`Py_SIZE()` is changed to a inline static function, " "``Py_SIZE(obj) = new_size`` must be replaced with ``Py_SET_SIZE(obj, " @@ -4724,11 +4795,11 @@ msgstr "" "3.9). Para compatibilidade com versões anteriores, esta macro pode ser " "usada::" -#: ../../whatsnew/3.11.rst:2385 +#: ../../whatsnew/3.11.rst:2418 msgid "" -"```` no longer includes the header files ````, ````, ```` and ```` when the ``Py_LIMITED_API`` macro is " -"set to ``0x030b0000`` (Python 3.11) or higher. C extensions should " +"```` no longer includes the header files ````, " +"````, ```` and ```` when the ``Py_LIMITED_API`` " +"macro is set to ``0x030b0000`` (Python 3.11) or higher. C extensions should " "explicitly include the header files after ``#include ``. " "(Contributed by Victor Stinner in :issue:`45434`.)" msgstr "" @@ -4738,7 +4809,7 @@ msgstr "" "As extensões C devem incluir explicitamente os arquivos de cabeçalho após " "``#include ``. (Contribuição de Victor Stinner em :issue:`45434`.)" -#: ../../whatsnew/3.11.rst:2391 +#: ../../whatsnew/3.11.rst:2424 msgid "" "The non-limited API files ``cellobject.h``, ``classobject.h``, ``code.h``, " "``context.h``, ``funcobject.h``, ``genobject.h`` and ``longintrepr.h`` have " @@ -4748,16 +4819,16 @@ msgid "" "If they have been included directly, consider including ``Python.h`` " "instead. (Contributed by Victor Stinner in :issue:`35134`.)" msgstr "" -"Os arquivos API não limitados ``cellobject.h``, ``classobject.h``, ``code." -"h``, ``context.h``, ``funcobject.h``, ``genobject.h`` e ``longintrepr.h`` " -"foram movidos para o diretório ``Include/cpython``. Além disso, o arquivo de " -"cabeçalho ``eval.h`` foi removido. Esses arquivos não devem ser incluídos " -"diretamente, pois já estão incluídos aos :ref:`arquivos de inclusão ` do ``Python.h``. Se eles foram incluídos diretamente, considere " -"incluir ``Python.h`` em seu lugar. (Contribuição de Victor Stinner em :issue:" -"`35134`.)" +"Os arquivos API não limitados ``cellobject.h``, ``classobject.h``, " +"``code.h``, ``context.h``, ``funcobject.h``, ``genobject.h`` e " +"``longintrepr.h`` foram movidos para o diretório ``Include/cpython``. Além " +"disso, o arquivo de cabeçalho ``eval.h`` foi removido. Esses arquivos não " +"devem ser incluídos diretamente, pois já estão incluídos aos :ref:`arquivos " +"de inclusão ` do ``Python.h``. Se eles foram incluídos " +"diretamente, considere incluir ``Python.h`` em seu lugar. (Contribuição de " +"Victor Stinner em :issue:`35134`.)" -#: ../../whatsnew/3.11.rst:2399 +#: ../../whatsnew/3.11.rst:2432 msgid "" "The :c:func:`PyUnicode_CHECK_INTERNED` macro has been excluded from the " "limited C API. It was never usable there, because it used internal " @@ -4766,10 +4837,10 @@ msgid "" msgstr "" "A macro :c:func:`PyUnicode_CHECK_INTERNED` foi excluída da API C limitada. " "Nunca foi utilizável lá, porque usava estruturas internas que não estão " -"disponíveis na API C limitada. (Contribuição de Victor Stinner em :issue:" -"`46007`.)" +"disponíveis na API C limitada. (Contribuição de Victor Stinner " +"em :issue:`46007`.)" -#: ../../whatsnew/3.11.rst:2404 +#: ../../whatsnew/3.11.rst:2437 msgid "" "The following frame functions and type are now directly available with " "``#include ``, it's no longer needed to add ``#include " @@ -4779,43 +4850,43 @@ msgstr "" "com ``#include ``, não é mais necessário adicionar ``#include " "``:" -#: ../../whatsnew/3.11.rst:2408 +#: ../../whatsnew/3.11.rst:2441 msgid ":c:func:`PyFrame_Check`" msgstr ":c:func:`PyFrame_Check`" -#: ../../whatsnew/3.11.rst:2409 +#: ../../whatsnew/3.11.rst:2442 msgid ":c:func:`PyFrame_GetBack`" msgstr ":c:func:`PyFrame_GetBack`" -#: ../../whatsnew/3.11.rst:2410 +#: ../../whatsnew/3.11.rst:2443 msgid ":c:func:`PyFrame_GetBuiltins`" msgstr ":c:func:`PyFrame_GetBuiltins`" -#: ../../whatsnew/3.11.rst:2411 +#: ../../whatsnew/3.11.rst:2444 msgid ":c:func:`PyFrame_GetGenerator`" msgstr ":c:func:`PyFrame_GetGenerator`" -#: ../../whatsnew/3.11.rst:2412 +#: ../../whatsnew/3.11.rst:2445 msgid ":c:func:`PyFrame_GetGlobals`" msgstr ":c:func:`PyFrame_GetGlobals`" -#: ../../whatsnew/3.11.rst:2413 +#: ../../whatsnew/3.11.rst:2446 msgid ":c:func:`PyFrame_GetLasti`" msgstr ":c:func:`PyFrame_GetLasti`" -#: ../../whatsnew/3.11.rst:2414 +#: ../../whatsnew/3.11.rst:2447 msgid ":c:func:`PyFrame_GetLocals`" msgstr ":c:func:`PyFrame_GetLocals`" -#: ../../whatsnew/3.11.rst:2415 +#: ../../whatsnew/3.11.rst:2448 msgid ":c:type:`PyFrame_Type`" msgstr ":c:type:`PyFrame_Type`" -#: ../../whatsnew/3.11.rst:2417 +#: ../../whatsnew/3.11.rst:2450 msgid "(Contributed by Victor Stinner in :gh:`93937`.)" msgstr "(Contribuição de Victor Stinner em :gh:`93937`.)" -#: ../../whatsnew/3.11.rst:2421 +#: ../../whatsnew/3.11.rst:2454 msgid "" "The :c:type:`PyFrameObject` structure members have been removed from the " "public C API." @@ -4823,7 +4894,7 @@ msgstr "" "Os membros da estrutura :c:type:`PyFrameObject` foram removidos da API C " "pública." -#: ../../whatsnew/3.11.rst:2424 +#: ../../whatsnew/3.11.rst:2457 msgid "" "While the documentation notes that the :c:type:`PyFrameObject` fields are " "subject to change at any time, they have been stable for a long time and " @@ -4833,7 +4904,7 @@ msgstr "" "sujeitos a alterações a qualquer momento, eles permaneceram estáveis por um " "longo tempo e foram usados em várias extensões populares." -#: ../../whatsnew/3.11.rst:2428 +#: ../../whatsnew/3.11.rst:2461 msgid "" "In Python 3.11, the frame struct was reorganized to allow performance " "optimizations. Some fields were removed entirely, as they were details of " @@ -4843,39 +4914,39 @@ msgstr "" "otimizações de desempenho. Alguns campos foram totalmente removidos, pois " "eram detalhes da antiga implementação." -#: ../../whatsnew/3.11.rst:2432 +#: ../../whatsnew/3.11.rst:2465 msgid ":c:type:`PyFrameObject` fields:" msgstr "Campos do :c:type:`PyFrameObject`:" -#: ../../whatsnew/3.11.rst:2434 +#: ../../whatsnew/3.11.rst:2467 msgid "``f_back``: use :c:func:`PyFrame_GetBack`." msgstr "``f_back``: use :c:func:`PyFrame_GetBack`." -#: ../../whatsnew/3.11.rst:2435 +#: ../../whatsnew/3.11.rst:2468 msgid "``f_blockstack``: removed." msgstr "``f_blockstack``: removido." -#: ../../whatsnew/3.11.rst:2436 +#: ../../whatsnew/3.11.rst:2469 msgid "``f_builtins``: use :c:func:`PyFrame_GetBuiltins`." msgstr "``f_builtins``: use :c:func:`PyFrame_GetBuiltins`." -#: ../../whatsnew/3.11.rst:2437 +#: ../../whatsnew/3.11.rst:2470 msgid "``f_code``: use :c:func:`PyFrame_GetCode`." msgstr "``f_code``: use :c:func:`PyFrame_GetCode`." -#: ../../whatsnew/3.11.rst:2438 +#: ../../whatsnew/3.11.rst:2471 msgid "``f_gen``: use :c:func:`PyFrame_GetGenerator`." msgstr "``f_gen``: use :c:func:`PyFrame_GetGenerator`." -#: ../../whatsnew/3.11.rst:2439 +#: ../../whatsnew/3.11.rst:2472 msgid "``f_globals``: use :c:func:`PyFrame_GetGlobals`." msgstr "``f_globals``: use :c:func:`PyFrame_GetGlobals`." -#: ../../whatsnew/3.11.rst:2440 +#: ../../whatsnew/3.11.rst:2473 msgid "``f_iblock``: removed." msgstr "``f_iblock``: removido." -#: ../../whatsnew/3.11.rst:2441 +#: ../../whatsnew/3.11.rst:2474 msgid "" "``f_lasti``: use :c:func:`PyFrame_GetLasti`. Code using ``f_lasti`` with " "``PyCode_Addr2Line()`` should use :c:func:`PyFrame_GetLineNumber` instead; " @@ -4885,27 +4956,27 @@ msgstr "" "``PyCode_Addr2Line()`` deve usar :c:func:`PyFrame_GetLineNumber`, pois deve " "ser mais rápido." -#: ../../whatsnew/3.11.rst:2444 +#: ../../whatsnew/3.11.rst:2477 msgid "``f_lineno``: use :c:func:`PyFrame_GetLineNumber`" msgstr "``f_lineno``: use :c:func:`PyFrame_GetLineNumber`" -#: ../../whatsnew/3.11.rst:2445 +#: ../../whatsnew/3.11.rst:2478 msgid "``f_locals``: use :c:func:`PyFrame_GetLocals`." msgstr "``f_locals``: use :c:func:`PyFrame_GetLocals`." -#: ../../whatsnew/3.11.rst:2446 +#: ../../whatsnew/3.11.rst:2479 msgid "``f_stackdepth``: removed." msgstr "``f_stackdepth``: removido." -#: ../../whatsnew/3.11.rst:2447 +#: ../../whatsnew/3.11.rst:2480 msgid "``f_state``: no public API (renamed to ``f_frame.f_state``)." msgstr "``f_state``: nenhuma API pública (renomeado para ``f_frame.f_state``)." -#: ../../whatsnew/3.11.rst:2448 +#: ../../whatsnew/3.11.rst:2481 msgid "``f_trace``: no public API." msgstr "``f_trace``: nenhuma API pública." -#: ../../whatsnew/3.11.rst:2449 +#: ../../whatsnew/3.11.rst:2482 msgid "" "``f_trace_lines``: use ``PyObject_GetAttrString((PyObject*)frame, " "\"f_trace_lines\")``." @@ -4913,7 +4984,7 @@ msgstr "" "``f_trace_lines``: use ``PyObject_GetAttrString((PyObject*)frame, " "\"f_trace_lines\")``." -#: ../../whatsnew/3.11.rst:2450 +#: ../../whatsnew/3.11.rst:2483 msgid "" "``f_trace_opcodes``: use ``PyObject_GetAttrString((PyObject*)frame, " "\"f_trace_opcodes\")``." @@ -4921,52 +4992,52 @@ msgstr "" "``f_trace_opcodes``: use ``PyObject_GetAttrString((PyObject*)frame, " "\"f_trace_opcodes\")``." -#: ../../whatsnew/3.11.rst:2451 +#: ../../whatsnew/3.11.rst:2484 msgid "``f_localsplus``: no public API (renamed to ``f_frame.localsplus``)." msgstr "" -"``f_localsplus``: nenhuma API pública (renomeado para ``f_frame." -"localsplus``)." +"``f_localsplus``: nenhuma API pública (renomeado para " +"``f_frame.localsplus``)." -#: ../../whatsnew/3.11.rst:2452 +#: ../../whatsnew/3.11.rst:2485 msgid "``f_valuestack``: removed." msgstr "``f_valuestack``: removido." -#: ../../whatsnew/3.11.rst:2454 +#: ../../whatsnew/3.11.rst:2487 msgid "" -"The Python frame object is now created lazily. A side effect is that the " -"``f_back`` member must not be accessed directly, since its value is now also " -"computed lazily. The :c:func:`PyFrame_GetBack` function must be called " -"instead." +"The Python frame object is now created lazily. A side effect is that " +"the :attr:`~frame.f_back` member must not be accessed directly, since its " +"value is now also computed lazily. The :c:func:`PyFrame_GetBack` function " +"must be called instead." msgstr "" "O objeto quadro do Python agora é criado de forma \"preguiçosa\" (*lazy*). " -"Um efeito colateral é que o membro ``f_back`` não deve ser acessado " -"diretamente, já que seu valor agora também é calculado de forma " +"Um efeito colateral é que o membro :attr:`~frame.f_back` não deve ser " +"acessado diretamente, já que seu valor agora também é calculado de forma " "\"preguiçosa\". A função :c:func:`PyFrame_GetBack` deve ser chamada em seu " "lugar." -#: ../../whatsnew/3.11.rst:2459 +#: ../../whatsnew/3.11.rst:2493 msgid "" -"Debuggers that accessed the ``f_locals`` directly *must* call :c:func:" -"`PyFrame_GetLocals` instead. They no longer need to call :c:func:" -"`PyFrame_FastToLocalsWithError` or :c:func:`PyFrame_LocalsToFast`, in fact " -"they should not call those functions. The necessary updating of the frame is " -"now managed by the virtual machine." +"Debuggers that accessed the :attr:`~frame.f_locals` directly *must* " +"call :c:func:`PyFrame_GetLocals` instead. They no longer need to " +"call :c:func:`!PyFrame_FastToLocalsWithError` or :c:func:`!" +"PyFrame_LocalsToFast`, in fact they should not call those functions. The " +"necessary updating of the frame is now managed by the virtual machine." msgstr "" -"Depuradores que acessam ``f_locals`` diretamente *devem* chamar :c:func:" -"`PyFrame_GetLocals`. Eles não precisam mais chamar :c:func:" -"`PyFrame_FastToLocalsWithError` ou :c:func:`PyFrame_LocalsToFast`; na " +"Depuradores que acessam :attr:`~frame.f_locals` diretamente *devem* " +"chamar :c:func:`PyFrame_GetLocals`. Eles não precisam mais chamar :c:func:`!" +"PyFrame_FastToLocalsWithError` ou :c:func:`!PyFrame_LocalsToFast`. Na " "verdade, eles não devem chamar essas funções. A atualização necessária do " "quadro agora é gerenciada pela máquina virtual." -#: ../../whatsnew/3.11.rst:2465 +#: ../../whatsnew/3.11.rst:2499 msgid "Code defining ``PyFrame_GetCode()`` on Python 3.8 and older::" msgstr "Código definindo ``PyFrame_GetCode()`` no Python 3.8 e anteriores::" -#: ../../whatsnew/3.11.rst:2475 +#: ../../whatsnew/3.11.rst:2509 msgid "Code defining ``PyFrame_GetBack()`` on Python 3.8 and older::" msgstr "Código definindo ``PyFrame_GetBack()`` no Python 3.8 e anteriores::" -#: ../../whatsnew/3.11.rst:2485 +#: ../../whatsnew/3.11.rst:2519 msgid "" "Or use the `pythoncapi_compat project `__ to get these two functions on older Python versions." @@ -4974,31 +5045,31 @@ msgstr "" "Ou use o projeto `pythoncapi_compat `__ para obter essas duas funções em versões mais antigas do Python." -#: ../../whatsnew/3.11.rst:2489 +#: ../../whatsnew/3.11.rst:2523 msgid "Changes of the :c:type:`PyThreadState` structure members:" msgstr "Mudanças nos membros da estrutura :c:type:`PyThreadState`:" -#: ../../whatsnew/3.11.rst:2491 +#: ../../whatsnew/3.11.rst:2525 msgid "" "``frame``: removed, use :c:func:`PyThreadState_GetFrame` (function added to " "Python 3.9 by :issue:`40429`). Warning: the function returns a :term:`strong " "reference`, need to call :c:func:`Py_XDECREF`." msgstr "" "``frame``: removido, use :c:func:`PyThreadState_GetFrame` (função adicionada " -"ao Python 3.9 por :issue:`40429`). Aviso: a função retorna um :term:" -"`referência forte`, precisa chamar :c:func:`Py_XDECREF`." +"ao Python 3.9 por :issue:`40429`). Aviso: a função retorna " +"um :term:`referência forte`, precisa chamar :c:func:`Py_XDECREF`." -#: ../../whatsnew/3.11.rst:2495 +#: ../../whatsnew/3.11.rst:2529 msgid "" -"``tracing``: changed, use :c:func:`PyThreadState_EnterTracing` and :c:func:" -"`PyThreadState_LeaveTracing` (functions added to Python 3.11 by :issue:" -"`43760`)." +"``tracing``: changed, use :c:func:`PyThreadState_EnterTracing` " +"and :c:func:`PyThreadState_LeaveTracing` (functions added to Python 3.11 " +"by :issue:`43760`)." msgstr "" -"``tracing``: alterado, use :c:func:`PyThreadState_EnterTracing` e :c:func:" -"`PyThreadState_LeaveTracing` (funções adicionadas ao Python 3.11 por :issue:" -"`43760`)." +"``tracing``: alterado, use :c:func:`PyThreadState_EnterTracing` " +"e :c:func:`PyThreadState_LeaveTracing` (funções adicionadas ao Python 3.11 " +"por :issue:`43760`)." -#: ../../whatsnew/3.11.rst:2498 +#: ../../whatsnew/3.11.rst:2532 msgid "" "``recursion_depth``: removed, use ``(tstate->recursion_limit - tstate-" ">recursion_remaining)`` instead." @@ -5006,16 +5077,16 @@ msgstr "" "``recursion_depth``: removido, use ``(tstate->recursion_limit - tstate-" ">recursion_remaining)``." -#: ../../whatsnew/3.11.rst:2500 +#: ../../whatsnew/3.11.rst:2534 msgid "``stackcheck_counter``: removed." msgstr "``stackcheck_counter``: removido." -#: ../../whatsnew/3.11.rst:2502 +#: ../../whatsnew/3.11.rst:2536 msgid "Code defining ``PyThreadState_GetFrame()`` on Python 3.8 and older::" msgstr "" "Código definindo ``PyThreadState_GetFrame()`` no Python 3.8 e anteriores::" -#: ../../whatsnew/3.11.rst:2512 +#: ../../whatsnew/3.11.rst:2546 msgid "" "Code defining ``PyThreadState_EnterTracing()`` and " "``PyThreadState_LeaveTracing()`` on Python 3.10 and older::" @@ -5023,7 +5094,7 @@ msgstr "" "Código definindo ``PyThreadState_EnterTracing()`` e " "``PyThreadState_LeaveTracing()`` no Python 3.10 e anteriores::" -#: ../../whatsnew/3.11.rst:2538 +#: ../../whatsnew/3.11.rst:2572 msgid "" "Or use `the pythoncapi-compat project `__ to get these functions on old Python functions." @@ -5031,7 +5102,7 @@ msgstr "" "Ou use `o projeto pythoncapi-compat `__ para obter essas funções em funções antigas do Python." -#: ../../whatsnew/3.11.rst:2542 +#: ../../whatsnew/3.11.rst:2576 msgid "" "Distributors are encouraged to build Python with the optimized Blake2 " "library `libb2`_." @@ -5039,7 +5110,7 @@ msgstr "" "Os distribuidores são encorajados a compilar o Python com a biblioteca " "Blake2 otimizada `libb2`_." -#: ../../whatsnew/3.11.rst:2545 +#: ../../whatsnew/3.11.rst:2579 msgid "" "The :c:member:`PyConfig.module_search_paths_set` field must now be set to 1 " "for initialization to use :c:member:`PyConfig.module_search_paths` to " @@ -5052,75 +5123,75 @@ msgstr "" "recalculará o caminho e substituirá quaisquer valores adicionados a " "``module_search_paths``." -#: ../../whatsnew/3.11.rst:2550 +#: ../../whatsnew/3.11.rst:2584 msgid "" ":c:func:`PyConfig_Read` no longer calculates the initial search path, and " "will not fill any values into :c:member:`PyConfig.module_search_paths`. To " -"calculate default paths and then modify them, finish initialization and use :" -"c:func:`PySys_GetObject` to retrieve :data:`sys.path` as a Python list " +"calculate default paths and then modify them, finish initialization and " +"use :c:func:`PySys_GetObject` to retrieve :data:`sys.path` as a Python list " "object and modify it directly." msgstr "" ":c:func:`PyConfig_Read` não calcula mais o caminho de pesquisa inicial e não " "preencherá nenhum valor em :c:member:`PyConfig.module_search_paths`. Para " -"calcular caminhos padrão e modificá-los, termine a inicialização e use :c:" -"func:`PySys_GetObject` para recuperar :data:`sys.path` como um objeto lista " -"do Python e modifique-o diretamente." +"calcular caminhos padrão e modificá-los, termine a inicialização e " +"use :c:func:`PySys_GetObject` para recuperar :data:`sys.path` como um objeto " +"lista do Python e modifique-o diretamente." -#: ../../whatsnew/3.11.rst:2561 +#: ../../whatsnew/3.11.rst:2595 msgid "" "Deprecate the following functions to configure the Python initialization:" msgstr "" "Descontinua as seguintes funções para configurar a inicialização do Python:" -#: ../../whatsnew/3.11.rst:2563 -msgid ":c:func:`PySys_AddWarnOptionUnicode`" -msgstr ":c:func:`PySys_AddWarnOptionUnicode`" +#: ../../whatsnew/3.11.rst:2597 +msgid ":c:func:`!PySys_AddWarnOptionUnicode`" +msgstr ":c:func:`!PySys_AddWarnOptionUnicode`" -#: ../../whatsnew/3.11.rst:2564 -msgid ":c:func:`PySys_AddWarnOption`" -msgstr ":c:func:`PySys_AddWarnOption`" +#: ../../whatsnew/3.11.rst:2598 +msgid ":c:func:`!PySys_AddWarnOption`" +msgstr ":c:func:`!PySys_AddWarnOption`" -#: ../../whatsnew/3.11.rst:2565 -msgid ":c:func:`PySys_AddXOption`" -msgstr ":c:func:`PySys_AddXOption`" +#: ../../whatsnew/3.11.rst:2599 +msgid ":c:func:`!PySys_AddXOption`" +msgstr ":c:func:`!PySys_AddXOption`" -#: ../../whatsnew/3.11.rst:2566 -msgid ":c:func:`PySys_HasWarnOptions`" -msgstr ":c:func:`PySys_HasWarnOptions`" +#: ../../whatsnew/3.11.rst:2600 +msgid ":c:func:`!PySys_HasWarnOptions`" +msgstr ":c:func:`!PySys_HasWarnOptions`" -#: ../../whatsnew/3.11.rst:2567 -msgid ":c:func:`PySys_SetArgvEx`" -msgstr ":c:func:`PySys_SetArgvEx`" +#: ../../whatsnew/3.11.rst:2601 +msgid ":c:func:`!PySys_SetArgvEx`" +msgstr ":c:func:`!PySys_SetArgvEx`" -#: ../../whatsnew/3.11.rst:2568 -msgid ":c:func:`PySys_SetArgv`" -msgstr ":c:func:`PySys_SetArgv`" +#: ../../whatsnew/3.11.rst:2602 +msgid ":c:func:`!PySys_SetArgv`" +msgstr ":c:func:`!PySys_SetArgv`" -#: ../../whatsnew/3.11.rst:2569 -msgid ":c:func:`PySys_SetPath`" -msgstr ":c:func:`PySys_SetPath`" +#: ../../whatsnew/3.11.rst:2603 +msgid ":c:func:`!PySys_SetPath`" +msgstr ":c:func:`!PySys_SetPath`" -#: ../../whatsnew/3.11.rst:2570 -msgid ":c:func:`Py_SetPath`" -msgstr ":c:func:`Py_SetPath`" +#: ../../whatsnew/3.11.rst:2604 +msgid ":c:func:`!Py_SetPath`" +msgstr ":c:func:`!Py_SetPath`" -#: ../../whatsnew/3.11.rst:2571 -msgid ":c:func:`Py_SetProgramName`" -msgstr ":c:func:`Py_SetProgramName`" +#: ../../whatsnew/3.11.rst:2605 +msgid ":c:func:`!Py_SetProgramName`" +msgstr ":c:func:`!Py_SetProgramName`" -#: ../../whatsnew/3.11.rst:2572 -msgid ":c:func:`Py_SetPythonHome`" -msgstr ":c:func:`Py_SetPythonHome`" +#: ../../whatsnew/3.11.rst:2606 +msgid ":c:func:`!Py_SetPythonHome`" +msgstr ":c:func:`!Py_SetPythonHome`" -#: ../../whatsnew/3.11.rst:2573 -msgid ":c:func:`Py_SetStandardStreamEncoding`" -msgstr ":c:func:`Py_SetStandardStreamEncoding`" +#: ../../whatsnew/3.11.rst:2607 +msgid ":c:func:`!Py_SetStandardStreamEncoding`" +msgstr ":c:func:`!Py_SetStandardStreamEncoding`" -#: ../../whatsnew/3.11.rst:2574 -msgid ":c:func:`_Py_SetProgramFullPath`" -msgstr ":c:func:`_Py_SetProgramFullPath`" +#: ../../whatsnew/3.11.rst:2608 +msgid ":c:func:`!_Py_SetProgramFullPath`" +msgstr ":c:func:`!_Py_SetProgramFullPath`" -#: ../../whatsnew/3.11.rst:2576 +#: ../../whatsnew/3.11.rst:2610 msgid "" "Use the new :c:type:`PyConfig` API of the :ref:`Python Initialization " "Configuration ` instead (:pep:`587`). (Contributed by Victor " @@ -5130,16 +5201,17 @@ msgstr "" "Inicialização do Python ` (:pep:`587`). (Contribuição de Victor " "Stinner em :gh:`88279`.)" -#: ../../whatsnew/3.11.rst:2580 +#: ../../whatsnew/3.11.rst:2614 msgid "" -"Deprecate the ``ob_shash`` member of the :c:type:`PyBytesObject`. Use :c:" -"func:`PyObject_Hash` instead. (Contributed by Inada Naoki in :issue:`46864`.)" +"Deprecate the ``ob_shash`` member of the :c:type:`PyBytesObject`. " +"Use :c:func:`PyObject_Hash` instead. (Contributed by Inada Naoki " +"in :issue:`46864`.)" msgstr "" -"Descontinua o membro ``ob_shash`` do :c:type:`PyBytesObject`. Use :c:func:" -"`PyObject_Hash` em vez disso. (Contribuição de Inada Naoki em :issue:" -"`46864`.)" +"Descontinua o membro ``ob_shash`` do :c:type:`PyBytesObject`. " +"Use :c:func:`PyObject_Hash` em vez disso. (Contribuição de Inada Naoki " +"em :issue:`46864`.)" -#: ../../whatsnew/3.11.rst:2589 +#: ../../whatsnew/3.11.rst:2623 msgid "" "The following C APIs have been deprecated in earlier Python releases, and " "will be removed in Python 3.12." @@ -5147,107 +5219,107 @@ msgstr "" "As seguintes APIs C foram descontinuadas em versões anteriores do Python e " "serão removidas no Python 3.12." -#: ../../whatsnew/3.11.rst:2592 -msgid ":c:func:`PyUnicode_AS_DATA`" -msgstr ":c:func:`PyUnicode_AS_DATA`" +#: ../../whatsnew/3.11.rst:2626 +msgid ":c:func:`!PyUnicode_AS_DATA`" +msgstr ":c:func:`!PyUnicode_AS_DATA`" -#: ../../whatsnew/3.11.rst:2593 -msgid ":c:func:`PyUnicode_AS_UNICODE`" -msgstr ":c:func:`PyUnicode_AS_UNICODE`" +#: ../../whatsnew/3.11.rst:2627 +msgid ":c:func:`!PyUnicode_AS_UNICODE`" +msgstr ":c:func:`!PyUnicode_AS_UNICODE`" -#: ../../whatsnew/3.11.rst:2594 -msgid ":c:func:`PyUnicode_AsUnicodeAndSize`" -msgstr ":c:func:`PyUnicode_AsUnicodeAndSize`" +#: ../../whatsnew/3.11.rst:2628 +msgid ":c:func:`!PyUnicode_AsUnicodeAndSize`" +msgstr ":c:func:`!PyUnicode_AsUnicodeAndSize`" -#: ../../whatsnew/3.11.rst:2595 -msgid ":c:func:`PyUnicode_AsUnicode`" -msgstr ":c:func:`PyUnicode_AsUnicode`" +#: ../../whatsnew/3.11.rst:2629 +msgid ":c:func:`!PyUnicode_AsUnicode`" +msgstr ":c:func:`!PyUnicode_AsUnicode`" -#: ../../whatsnew/3.11.rst:2596 -msgid ":c:func:`PyUnicode_FromUnicode`" -msgstr ":c:func:`PyUnicode_FromUnicode`" +#: ../../whatsnew/3.11.rst:2630 +msgid ":c:func:`!PyUnicode_FromUnicode`" +msgstr ":c:func:`!PyUnicode_FromUnicode`" -#: ../../whatsnew/3.11.rst:2597 -msgid ":c:func:`PyUnicode_GET_DATA_SIZE`" -msgstr ":c:func:`PyUnicode_GET_DATA_SIZE`" +#: ../../whatsnew/3.11.rst:2631 +msgid ":c:func:`!PyUnicode_GET_DATA_SIZE`" +msgstr ":c:func:`!PyUnicode_GET_DATA_SIZE`" -#: ../../whatsnew/3.11.rst:2598 -msgid ":c:func:`PyUnicode_GET_SIZE`" -msgstr ":c:func:`PyUnicode_GET_SIZE`" +#: ../../whatsnew/3.11.rst:2632 +msgid ":c:func:`!PyUnicode_GET_SIZE`" +msgstr ":c:func:`!PyUnicode_GET_SIZE`" -#: ../../whatsnew/3.11.rst:2599 -msgid ":c:func:`PyUnicode_GetSize`" -msgstr ":c:func:`PyUnicode_GetSize`" +#: ../../whatsnew/3.11.rst:2633 +msgid ":c:func:`!PyUnicode_GetSize`" +msgstr ":c:func:`!PyUnicode_GetSize`" -#: ../../whatsnew/3.11.rst:2600 -msgid ":c:func:`PyUnicode_IS_COMPACT`" -msgstr ":c:func:`PyUnicode_IS_COMPACT`" +#: ../../whatsnew/3.11.rst:2634 +msgid ":c:func:`!PyUnicode_IS_COMPACT`" +msgstr ":c:func:`!PyUnicode_IS_COMPACT`" -#: ../../whatsnew/3.11.rst:2601 -msgid ":c:func:`PyUnicode_IS_READY`" -msgstr ":c:func:`PyUnicode_IS_READY`" +#: ../../whatsnew/3.11.rst:2635 +msgid ":c:func:`!PyUnicode_IS_READY`" +msgstr ":c:func:`!PyUnicode_IS_READY`" -#: ../../whatsnew/3.11.rst:2602 +#: ../../whatsnew/3.11.rst:2636 msgid ":c:func:`PyUnicode_READY`" msgstr ":c:func:`PyUnicode_READY`" -#: ../../whatsnew/3.11.rst:2603 -msgid ":c:func:`Py_UNICODE_WSTR_LENGTH`" -msgstr ":c:func:`Py_UNICODE_WSTR_LENGTH`" +#: ../../whatsnew/3.11.rst:2637 +msgid ":c:func:`!PyUnicode_WSTR_LENGTH`" +msgstr ":c:func:`!PyUnicode_WSTR_LENGTH`" -#: ../../whatsnew/3.11.rst:2604 -msgid ":c:func:`_PyUnicode_AsUnicode`" -msgstr ":c:func:`_PyUnicode_AsUnicode`" +#: ../../whatsnew/3.11.rst:2638 +msgid ":c:func:`!_PyUnicode_AsUnicode`" +msgstr ":c:func:`!_PyUnicode_AsUnicode`" -#: ../../whatsnew/3.11.rst:2605 -msgid ":c:macro:`PyUnicode_WCHAR_KIND`" -msgstr ":c:macro:`PyUnicode_WCHAR_KIND`" +#: ../../whatsnew/3.11.rst:2639 +msgid ":c:macro:`!PyUnicode_WCHAR_KIND`" +msgstr ":c:macro:`!PyUnicode_WCHAR_KIND`" -#: ../../whatsnew/3.11.rst:2606 +#: ../../whatsnew/3.11.rst:2640 msgid ":c:type:`PyUnicodeObject`" msgstr ":c:type:`PyUnicodeObject`" -#: ../../whatsnew/3.11.rst:2607 -msgid ":c:func:`PyUnicode_InternImmortal()`" -msgstr ":c:func:`PyUnicode_InternImmortal()`" +#: ../../whatsnew/3.11.rst:2641 +msgid ":c:func:`!PyUnicode_InternImmortal`" +msgstr ":c:func:`!PyUnicode_InternImmortal`" -#: ../../whatsnew/3.11.rst:2615 +#: ../../whatsnew/3.11.rst:2649 msgid "" -":c:func:`PyFrame_BlockSetup` and :c:func:`PyFrame_BlockPop` have been " +":c:func:`!PyFrame_BlockSetup` and :c:func:`!PyFrame_BlockPop` have been " "removed. (Contributed by Mark Shannon in :issue:`40222`.)" msgstr "" -":c:func:`PyFrame_BlockSetup` e :c:func:`PyFrame_BlockPop` foram removidas. " +":c:func:`!PyFrame_BlockSetup` e :c:func:`!PyFrame_BlockPop` foram removidas. " "(Contribuição de Mark Shannon em :issue:`40222`.)" -#: ../../whatsnew/3.11.rst:2619 +#: ../../whatsnew/3.11.rst:2653 msgid "Remove the following math macros using the ``errno`` variable:" msgstr "Remove as seguintes macros matemáticas usando a variável ``errno``:" -#: ../../whatsnew/3.11.rst:2621 +#: ../../whatsnew/3.11.rst:2655 msgid "``Py_ADJUST_ERANGE1()``" msgstr "``Py_ADJUST_ERANGE1()``" -#: ../../whatsnew/3.11.rst:2622 +#: ../../whatsnew/3.11.rst:2656 msgid "``Py_ADJUST_ERANGE2()``" msgstr "``Py_ADJUST_ERANGE2()``" -#: ../../whatsnew/3.11.rst:2623 +#: ../../whatsnew/3.11.rst:2657 msgid "``Py_OVERFLOWED()``" msgstr "``Py_OVERFLOWED()``" -#: ../../whatsnew/3.11.rst:2624 +#: ../../whatsnew/3.11.rst:2658 msgid "``Py_SET_ERANGE_IF_OVERFLOW()``" msgstr "``Py_SET_ERANGE_IF_OVERFLOW()``" -#: ../../whatsnew/3.11.rst:2625 +#: ../../whatsnew/3.11.rst:2659 msgid "``Py_SET_ERRNO_ON_MATH_ERROR()``" msgstr "``Py_SET_ERRNO_ON_MATH_ERROR()``" -#: ../../whatsnew/3.11.rst:2627 +#: ../../whatsnew/3.11.rst:2661 msgid "(Contributed by Victor Stinner in :issue:`45412`.)" msgstr "(Contribuição de Victor Stinner em :issue:`45412`.)" -#: ../../whatsnew/3.11.rst:2629 +#: ../../whatsnew/3.11.rst:2663 msgid "" "Remove ``Py_UNICODE_COPY()`` and ``Py_UNICODE_FILL()`` macros, deprecated " "since Python 3.3. Use ``PyUnicode_CopyCharacters()`` or ``memcpy()`` " @@ -5259,72 +5331,72 @@ msgstr "" "``memcpy()`` (string ``wchar_t*``) e as funções ``PyUnicode_Fill()``. " "(Contribuição de Victor Stinner em :issue:`41123`.)" -#: ../../whatsnew/3.11.rst:2634 +#: ../../whatsnew/3.11.rst:2668 msgid "" "Remove the ``pystrhex.h`` header file. It only contains private functions. C " "extensions should only include the main ```` header file. " "(Contributed by Victor Stinner in :issue:`45434`.)" msgstr "" "Remove o arquivo de cabeçalho ``pystrhex.h``. Ele contém apenas funções " -"privadas. As extensões C devem incluir apenas o arquivo principal ````. (Contribuição de Victor Stinner em :issue:`45434`.)" +"privadas. As extensões C devem incluir apenas o arquivo principal " +"````. (Contribuição de Victor Stinner em :issue:`45434`.)" -#: ../../whatsnew/3.11.rst:2638 +#: ../../whatsnew/3.11.rst:2672 msgid "" "Remove the ``Py_FORCE_DOUBLE()`` macro. It was used by the " -"``Py_IS_INFINITY()`` macro. (Contributed by Victor Stinner in :issue:" -"`45440`.)" +"``Py_IS_INFINITY()`` macro. (Contributed by Victor Stinner " +"in :issue:`45440`.)" msgstr "" "Remove a macro ``Py_FORCE_DOUBLE()``. Era usada pela macro " "``Py_IS_INFINITY()``. (Contribuição de Victor Stinner em :issue:`45440`.)" -#: ../../whatsnew/3.11.rst:2642 +#: ../../whatsnew/3.11.rst:2676 msgid "" "The following items are no longer available when :c:macro:`Py_LIMITED_API` " "is defined:" msgstr "" -"Os seguintes itens não estão mais disponíveis quando :c:macro:" -"`Py_LIMITED_API` é definida:" +"Os seguintes itens não estão mais disponíveis " +"quando :c:macro:`Py_LIMITED_API` é definida:" -#: ../../whatsnew/3.11.rst:2645 +#: ../../whatsnew/3.11.rst:2679 msgid ":c:func:`PyMarshal_WriteLongToFile`" msgstr ":c:func:`PyMarshal_WriteLongToFile`" -#: ../../whatsnew/3.11.rst:2646 +#: ../../whatsnew/3.11.rst:2680 msgid ":c:func:`PyMarshal_WriteObjectToFile`" msgstr ":c:func:`PyMarshal_WriteObjectToFile`" -#: ../../whatsnew/3.11.rst:2647 +#: ../../whatsnew/3.11.rst:2681 msgid ":c:func:`PyMarshal_ReadObjectFromString`" msgstr ":c:func:`PyMarshal_ReadObjectFromString`" -#: ../../whatsnew/3.11.rst:2648 +#: ../../whatsnew/3.11.rst:2682 msgid ":c:func:`PyMarshal_WriteObjectToString`" msgstr ":c:func:`PyMarshal_WriteObjectToString`" -#: ../../whatsnew/3.11.rst:2649 +#: ../../whatsnew/3.11.rst:2683 msgid "the ``Py_MARSHAL_VERSION`` macro" msgstr "a macro ``Py_MARSHAL_VERSION``" -#: ../../whatsnew/3.11.rst:2651 -msgid "These are not part of the :ref:`limited API `." -msgstr "Eles não fazem parte da :ref:`API limitada `." +#: ../../whatsnew/3.11.rst:2685 +msgid "These are not part of the :ref:`limited API `." +msgstr "Eles não fazem parte da :ref:`API limitada `." -#: ../../whatsnew/3.11.rst:2653 +#: ../../whatsnew/3.11.rst:2687 msgid "(Contributed by Victor Stinner in :issue:`45474`.)" msgstr "(Contribuição de Victor Stinner em :issue:`45474`.)" -#: ../../whatsnew/3.11.rst:2655 +#: ../../whatsnew/3.11.rst:2689 msgid "" "Exclude :c:func:`PyWeakref_GET_OBJECT` from the limited C API. It never " -"worked since the :c:type:`PyWeakReference` structure is opaque in the " +"worked since the :c:type:`!PyWeakReference` structure is opaque in the " "limited C API. (Contributed by Victor Stinner in :issue:`35134`.)" msgstr "" "Exclui :c:func:`PyWeakref_GET_OBJECT` da API C limitada. Nunca funcionou " -"porque a estrutura :c:type:`PyWeakReference` é opaca na API C limitada. " +"porque a estrutura :c:type:`!PyWeakReference` é opaca na API C limitada. " "(Contribuição de Victor Stinner em :issue:`35134`.)" -#: ../../whatsnew/3.11.rst:2660 +#: ../../whatsnew/3.11.rst:2694 msgid "" "Remove the ``PyHeapType_GET_MEMBERS()`` macro. It was exposed in the public " "C API by mistake, it must only be used by Python internally. Use the " @@ -5336,7 +5408,7 @@ msgstr "" "use o membro ``PyTypeObject.tp_members``. (Contribuição de Victor Stinner " "em :issue:`40170`.)" -#: ../../whatsnew/3.11.rst:2665 +#: ../../whatsnew/3.11.rst:2699 msgid "" "Remove the ``HAVE_PY_SET_53BIT_PRECISION`` macro (moved to the internal C " "API). (Contributed by Victor Stinner in :issue:`45412`.)" @@ -5344,7 +5416,7 @@ msgstr "" "Remove a macro ``HAVE_PY_SET_53BIT_PRECISION`` (movida para a API C " "interna). (Contribuição de Victor Stinner em :issue:`45412`.)" -#: ../../whatsnew/3.11.rst:2671 +#: ../../whatsnew/3.11.rst:2705 msgid "" "Remove the :c:type:`Py_UNICODE` encoder APIs, as they have been deprecated " "since Python 3.3, are little used and are inefficient relative to the " @@ -5354,63 +5426,63 @@ msgstr "" "descontinuadas desde o Python 3.3, são pouco usadas e ineficientes em " "relação às alternativas recomendadas." -#: ../../whatsnew/3.11.rst:2676 +#: ../../whatsnew/3.11.rst:2710 msgid "The removed functions are:" msgstr "As funções removidas são:" -#: ../../whatsnew/3.11.rst:2678 +#: ../../whatsnew/3.11.rst:2712 msgid ":func:`!PyUnicode_Encode`" msgstr ":func:`!PyUnicode_Encode`" -#: ../../whatsnew/3.11.rst:2679 +#: ../../whatsnew/3.11.rst:2713 msgid ":func:`!PyUnicode_EncodeASCII`" msgstr ":func:`!PyUnicode_EncodeASCII`" -#: ../../whatsnew/3.11.rst:2680 +#: ../../whatsnew/3.11.rst:2714 msgid ":func:`!PyUnicode_EncodeLatin1`" msgstr ":func:`!PyUnicode_EncodeLatin1`" -#: ../../whatsnew/3.11.rst:2681 +#: ../../whatsnew/3.11.rst:2715 msgid ":func:`!PyUnicode_EncodeUTF7`" msgstr ":func:`!PyUnicode_EncodeUTF7`" -#: ../../whatsnew/3.11.rst:2682 +#: ../../whatsnew/3.11.rst:2716 msgid ":func:`!PyUnicode_EncodeUTF8`" msgstr ":func:`!PyUnicode_EncodeUTF8`" -#: ../../whatsnew/3.11.rst:2683 +#: ../../whatsnew/3.11.rst:2717 msgid ":func:`!PyUnicode_EncodeUTF16`" msgstr ":func:`!PyUnicode_EncodeUTF16`" -#: ../../whatsnew/3.11.rst:2684 +#: ../../whatsnew/3.11.rst:2718 msgid ":func:`!PyUnicode_EncodeUTF32`" msgstr ":func:`!PyUnicode_EncodeUTF32`" -#: ../../whatsnew/3.11.rst:2685 +#: ../../whatsnew/3.11.rst:2719 msgid ":func:`!PyUnicode_EncodeUnicodeEscape`" msgstr ":func:`!PyUnicode_EncodeUnicodeEscape`" -#: ../../whatsnew/3.11.rst:2686 +#: ../../whatsnew/3.11.rst:2720 msgid ":func:`!PyUnicode_EncodeRawUnicodeEscape`" msgstr ":func:`!PyUnicode_EncodeRawUnicodeEscape`" -#: ../../whatsnew/3.11.rst:2687 +#: ../../whatsnew/3.11.rst:2721 msgid ":func:`!PyUnicode_EncodeCharmap`" msgstr ":func:`!PyUnicode_EncodeCharmap`" -#: ../../whatsnew/3.11.rst:2688 +#: ../../whatsnew/3.11.rst:2722 msgid ":func:`!PyUnicode_TranslateCharmap`" msgstr ":func:`!PyUnicode_TranslateCharmap`" -#: ../../whatsnew/3.11.rst:2689 +#: ../../whatsnew/3.11.rst:2723 msgid ":func:`!PyUnicode_EncodeDecimal`" msgstr ":func:`!PyUnicode_EncodeDecimal`" -#: ../../whatsnew/3.11.rst:2690 +#: ../../whatsnew/3.11.rst:2724 msgid ":func:`!PyUnicode_TransformDecimalToASCII`" msgstr ":func:`!PyUnicode_TransformDecimalToASCII`" -#: ../../whatsnew/3.11.rst:2692 +#: ../../whatsnew/3.11.rst:2726 msgid "" "See :pep:`624` for details and :pep:`migration guidance <624#alternative-" "apis>`. (Contributed by Inada Naoki in :issue:`44029`.)" @@ -5418,15 +5490,15 @@ msgstr "" "Veja a :pep:`624` para detalhes e :pep:`orientação sobre migração " "<624#alternative-apis>`. (Contribuição de Inada Naoki em :issue:`44029`.)" -#: ../../whatsnew/3.11.rst:2698 +#: ../../whatsnew/3.11.rst:2732 msgid "Notable Changes in 3.11.4" -msgstr "Alterações notáveis no 3.11.4" +msgstr "" -#: ../../whatsnew/3.11.rst:2701 +#: ../../whatsnew/3.11.rst:2735 ../../whatsnew/3.11.rst:2804 msgid "tarfile" msgstr "tarfile" -#: ../../whatsnew/3.11.rst:2703 +#: ../../whatsnew/3.11.rst:2737 msgid "" "The extraction methods in :mod:`tarfile`, and :func:`shutil.unpack_archive`, " "have a new a *filter* argument that allows limiting tar features than may be " @@ -5443,3 +5515,149 @@ msgstr "" "3.12, usar sem o argumento *filter* mostrará um :exc:`DeprecationWarning`. " "No Python 3.14, o padrão mudará para ``'data'``. (Contribuição de Petr " "Viktorin em :pep:`706`.)" + +#: ../../whatsnew/3.11.rst:2749 +msgid "Notable Changes in 3.11.5" +msgstr "" + +#: ../../whatsnew/3.11.rst:2752 +msgid "OpenSSL" +msgstr "OpenSSL" + +#: ../../whatsnew/3.11.rst:2754 +msgid "" +"Windows builds and macOS installers from python.org now use OpenSSL 3.0." +msgstr "" +"Construções do Windows e instaladores do macOS em python.org agora usam " +"OpenSSL 3.0." + +#: ../../whatsnew/3.11.rst:2760 +msgid "Notable changes in 3.11.10" +msgstr "" + +#: ../../whatsnew/3.11.rst:2763 +msgid "ipaddress" +msgstr "ipaddress" + +#: ../../whatsnew/3.11.rst:2765 +msgid "" +"Fixed ``is_global`` and ``is_private`` behavior in ``IPv4Address``, " +"``IPv6Address``, ``IPv4Network`` and ``IPv6Network``." +msgstr "" +"Corrigido o comportamento de ``is_global`` e ``is_private`` em " +"``IPv4Address``, ``IPv6Address``, ``IPv4Network`` e ``IPv6Network``." + +#: ../../whatsnew/3.11.rst:2769 +msgid "email" +msgstr "email" + +#: ../../whatsnew/3.11.rst:2771 +msgid "Headers with embedded newlines are now quoted on output." +msgstr "" +"Cabeçalhos com novas linhas embutidas agora são colocados entre aspas na " +"saída." + +#: ../../whatsnew/3.11.rst:2773 +msgid "" +"The :mod:`~email.generator` will now refuse to serialize (write) headers " +"that are improperly folded or delimited, such that they would be parsed as " +"multiple headers or joined with adjacent data. If you need to turn this " +"safety feature off, " +"set :attr:`~email.policy.Policy.verify_generated_headers`. (Contributed by " +"Bas Bloemsaat and Petr Viktorin in :gh:`121650`.)" +msgstr "" +"O :mod:`~email.generator` agora se recusará a serializar (escrever) " +"cabeçalhos que são dobrados ou delimitados incorretamente, de modo que eles " +"seriam analisados como vários cabeçalhos ou unidos a dados adjacentes. Se " +"você precisar desativar esse recurso de segurança, " +"defina :attr:`~email.policy.Policy.verify_generated_headers`. (Contribuição " +"de Bas Bloemsaat e Petr Viktorin em :gh:`121650`.)" + +#: ../../whatsnew/3.11.rst:2780 +msgid "" +":func:`email.utils.getaddresses` and :func:`email.utils.parseaddr` now " +"return ``('', '')`` 2-tuples in more situations where invalid email " +"addresses are encountered, instead of potentially inaccurate values. An " +"optional *strict* parameter was added to these two functions: use " +"``strict=False`` to get the old behavior, accepting malformed inputs. " +"``getattr(email.utils, 'supports_strict_parsing', False)`` can be used to " +"check if the *strict* paramater is available. (Contributed by Thomas Dwyer " +"and Victor Stinner for :gh:`102988` to improve the CVE-2023-27043 fix.)" +msgstr "" +":func:`email.utils.getaddresses` e :func:`email.utils.parseaddr` agora " +"retornam tuplas de 2 elementos ``('', '')`` em mais situações onde endereços " +"de e-mail inválidos são encontrados, em vez de valores potencialmente " +"imprecisos. Um parâmetro *strict* opcional foi adicionado a essas duas " +"funções: use ``strict=False`` para obter o comportamento antigo, aceitando " +"entradas malformadas. ``getattr(email.utils, 'supports_strict_parsing', " +"False)`` pode ser usado para verificar se o parâmetro *strict* está " +"disponível. (Contribuição de Thomas Dwyer e Victor Stinner para :gh:`102988` " +"para melhorar a correção de CVE-2023-27043.)" + +#: ../../whatsnew/3.11.rst:2792 +msgid "Notable changes in 3.11.13" +msgstr "" + +#: ../../whatsnew/3.11.rst:2795 +msgid "os.path" +msgstr "os.path" + +#: ../../whatsnew/3.11.rst:2797 +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 "" + +#: ../../whatsnew/3.11.rst:2806 +msgid "" +":func:`~tarfile.data_filter` now normalizes symbolic link targets in order " +"to avoid path traversal attacks. (Contributed by Petr Viktorin " +"in :gh:`127987` and CVE 2025-4138.)" +msgstr "" + +#: ../../whatsnew/3.11.rst:2809 +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 "" + +#: ../../whatsnew/3.11.rst:2812 +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 "" + +#: ../../whatsnew/3.11.rst:2818 +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 "" + +#: ../../whatsnew/3.11.rst:2826 +msgid "Notable changes in 3.11.18" +msgstr "" + +#: ../../whatsnew/3.11.rst:2829 +msgid "ssl" +msgstr "ssl" + +#: ../../whatsnew/3.11.rst:2831 +msgid "" +"The :mod:`ssl` module now rejects TLS certificate chains that contain one of " +"a set of compromised eMudhra intermediate CA certificates. The affected " +"certificates are identified by their public key, so cross-signed copies that " +"reuse the same key are blocked as well. It is a defense-in-depth backstop " +"that applies even when an application supplies its own root CA bundle, and " +"regardless of whether the platform trust store has removed trust. " +"(Contributed by Christian Heimes in :gh:`160040` for CVE 2026-115557.)" +msgstr "" diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index 928dff767..f85be50f0 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# 01419cbcade949a3bc5433893a160e74, 2021 -# Victor Matheus Castro , 2021 -# Raphael Mendonça, 2021 -# Ricardo Cappellano , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -102,10 +96,10 @@ msgstr "" #: ../../whatsnew/3.2.rst:95 msgid "" "This module has already had widespread success in the community as a third-" -"party module. Being more fully featured than its predecessor, the :mod:" -"`argparse` module is now the preferred module for command-line processing. " -"The older module is still being kept available because of the substantial " -"amount of legacy code that depends on it." +"party module. Being more fully featured than its predecessor, " +"the :mod:`argparse` module is now the preferred module for command-line " +"processing. The older module is still being kept available because of the " +"substantial amount of legacy code that depends on it." msgstr "" #: ../../whatsnew/3.2.rst:101 @@ -139,8 +133,8 @@ msgstr "" #: ../../whatsnew/3.2.rst:178 msgid "" -":ref:`upgrading-optparse-code` for details on the differences from :mod:" -"`optparse`." +":ref:`upgrading-optparse-code` for details on the differences " +"from :mod:`optparse`." msgstr "" #: ../../whatsnew/3.2.rst:182 @@ -151,7 +145,7 @@ msgstr "" msgid "" "The :mod:`logging` module provided two kinds of configuration, one style " "with function calls for each option or another style driven by an external " -"file saved in a :mod:`ConfigParser` format. Those options did not provide " +"file saved in a :mod:`configparser` format. Those options did not provide " "the flexibility to create configurations from JSON or YAML files, nor did " "they support incremental configuration, which is needed for specifying " "logger options from a command line." @@ -159,11 +153,11 @@ msgstr "" #: ../../whatsnew/3.2.rst:191 msgid "" -"To support a more flexible style, the module now offers :func:`logging." -"config.dictConfig` for specifying logging configuration with plain Python " -"dictionaries. The configuration options include formatters, handlers, " -"filters, and loggers. Here's a working example of a configuration " -"dictionary::" +"To support a more flexible style, the module now " +"offers :func:`logging.config.dictConfig` for specifying logging " +"configuration with plain Python dictionaries. The configuration options " +"include formatters, handlers, filters, and loggers. Here's a working " +"example of a configuration dictionary::" msgstr "" #: ../../whatsnew/3.2.rst:215 @@ -194,12 +188,12 @@ msgstr "" #: ../../whatsnew/3.2.rst:241 msgid "" -"The design for :mod:`concurrent.futures` was inspired by the *java.util." -"concurrent* package. In that model, a running call and its result are " -"represented by a :class:`~concurrent.futures.Future` object that abstracts " -"features common to threads, processes, and remote procedure calls. That " -"object supports status checks (running or done), timeouts, cancellations, " -"adding callbacks, and access to results or exceptions." +"The design for :mod:`concurrent.futures` was inspired by the " +"*java.util.concurrent* package. In that model, a running call and its " +"result are represented by a :class:`~concurrent.futures.Future` object that " +"abstracts features common to threads, processes, and remote procedure " +"calls. That object supports status checks (running or done), timeouts, " +"cancellations, adding callbacks, and access to results or exceptions." msgstr "" #: ../../whatsnew/3.2.rst:248 @@ -222,14 +216,15 @@ msgstr "" #: ../../whatsnew/3.2.rst:260 msgid "" -"Both classes share a common interface with three methods: :meth:`~concurrent." -"futures.Executor.submit` for scheduling a callable and returning a :class:" -"`~concurrent.futures.Future` object; :meth:`~concurrent.futures.Executor." -"map` for scheduling many asynchronous calls at a time, and :meth:" -"`~concurrent.futures.Executor.shutdown` for freeing resources. The class is " -"a :term:`context manager` and can be used in a :keyword:`with` statement to " -"assure that resources are automatically released when currently pending " -"futures are done executing." +"Both classes share a common interface with three " +"methods: :meth:`~concurrent.futures.Executor.submit` for scheduling a " +"callable and returning a :class:`~concurrent.futures.Future` " +"object; :meth:`~concurrent.futures.Executor.map` for scheduling many " +"asynchronous calls at a time, " +"and :meth:`~concurrent.futures.Executor.shutdown` for freeing resources. " +"The class is a :term:`context manager` and can be used in a :keyword:`with` " +"statement to assure that resources are automatically released when currently " +"pending futures are done executing." msgstr "" #: ../../whatsnew/3.2.rst:269 @@ -255,8 +250,8 @@ msgstr "" #: ../../whatsnew/3.2.rst:287 msgid "" ":ref:`Code for computing prime numbers in parallel`, an example demonstrating :class:`~concurrent.futures." -"ProcessPoolExecutor`." +"example>`, an example " +"demonstrating :class:`~concurrent.futures.ProcessPoolExecutor`." msgstr "" #: ../../whatsnew/3.2.rst:293 @@ -285,10 +280,11 @@ msgid "" "To solve this problem, Python's import machinery has been extended to use " "distinct filenames for each interpreter. Instead of Python 3.2 and Python " "3.3 and Unladen Swallow each competing for a file called \"mymodule.pyc\", " -"they will now look for \"mymodule.cpython-32.pyc\", \"mymodule.cpython-33." -"pyc\", and \"mymodule.unladen10.pyc\". And to prevent all of these new " -"files from cluttering source directories, the *pyc* files are now collected " -"in a \"__pycache__\" directory stored under the package directory." +"they will now look for \"mymodule.cpython-32.pyc\", " +"\"mymodule.cpython-33.pyc\", and \"mymodule.unladen10.pyc\". And to prevent " +"all of these new files from cluttering source directories, the *pyc* files " +"are now collected in a \"__pycache__\" directory stored under the package " +"directory." msgstr "" #: ../../whatsnew/3.2.rst:312 @@ -329,9 +325,9 @@ msgstr "" msgid "" "The :mod:`importlib.abc` module has been updated with new :term:`abstract " "base classes ` for loading bytecode files. The " -"obsolete ABCs, :class:`~importlib.abc.PyLoader` and :class:`~importlib.abc." -"PyPycLoader`, have been deprecated (instructions on how to stay Python 3.1 " -"compatible are included with the documentation)." +"obsolete ABCs, :class:`!PyLoader` and :class:`!PyPycLoader`, have been " +"deprecated (instructions on how to stay Python 3.1 compatible are included " +"with the documentation)." msgstr "" #: ../../whatsnew/3.2.rst:353 @@ -365,8 +361,8 @@ msgstr "" #: ../../whatsnew/3.2.rst:373 msgid "" -"In Python itself, the tags are accessible from functions in the :mod:" -"`sysconfig` module::" +"In Python itself, the tags are accessible from functions in " +"the :mod:`sysconfig` module::" msgstr "" #: ../../whatsnew/3.2.rst:384 @@ -398,7 +394,7 @@ msgid "" "code points between *U+0000* through *U+00FF* which are translatable to " "bytes using *Latin-1* encoding. These strings are used for the keys and " "values in the environment dictionary and for response headers and statuses " -"in the :func:`start_response` function. They must follow :rfc:`2616` with " +"in the :func:`!start_response` function. They must follow :rfc:`2616` with " "respect to encoding. That is, they must either be *ISO-8859-1* characters or " "use :rfc:`2047` MIME encoding." msgstr "" @@ -424,9 +420,9 @@ msgstr "" #: ../../whatsnew/3.2.rst:418 msgid "" -"Values yielded by an application or sent using the :meth:`write` method must " -"be byte strings. The :func:`start_response` function and environ must use " -"native strings. The two cannot be mixed." +"Values yielded by an application or sent using the :meth:`!write` method " +"must be byte strings. The :func:`!start_response` function and environ must " +"use native strings. The two cannot be mixed." msgstr "" #: ../../whatsnew/3.2.rst:422 @@ -436,7 +432,7 @@ msgid "" "strings even though the underlying platform may have a different " "convention. To bridge this gap, the :mod:`wsgiref` module has a new " "function, :func:`wsgiref.handlers.read_environ` for transcoding CGI " -"variables from :attr:`os.environ` into native strings and returning a new " +"variables from :data:`os.environ` into native strings and returning a new " "dictionary." msgstr "" @@ -454,7 +450,7 @@ msgstr "Outras mudanças na linguagem" #: ../../whatsnew/3.2.rst:438 msgid "Some smaller changes made to the core Python language are:" -msgstr "Alguma das mudanças menores feitas no núcleo da linguagem Python são:" +msgstr "Algumas das mudanças menores feitas no núcleo da linguagem Python são:" #: ../../whatsnew/3.2.rst:440 msgid "" @@ -476,25 +472,25 @@ msgid "" "There is also a new :meth:`str.format_map` method that extends the " "capabilities of the existing :meth:`str.format` method by accepting " "arbitrary :term:`mapping` objects. This new method makes it possible to use " -"string formatting with any of Python's many dictionary-like objects such as :" -"class:`~collections.defaultdict`, :class:`~shelve.Shelf`, :class:" -"`~configparser.ConfigParser`, or :mod:`dbm`. It is also useful with custom :" -"class:`dict` subclasses that normalize keys before look-up or that supply a :" -"meth:`__missing__` method for unknown keys::" +"string formatting with any of Python's many dictionary-like objects such " +"as :class:`~collections.defaultdict`, :class:`~shelve.Shelf`, :class:`~configparser.ConfigParser`, " +"or :mod:`dbm`. It is also useful with custom :class:`dict` subclasses that " +"normalize keys before look-up or that supply a :meth:`__missing__` method " +"for unknown keys::" msgstr "" #: ../../whatsnew/3.2.rst:481 msgid "" -"(Suggested by Raymond Hettinger and implemented by Eric Smith in :issue:" -"`6081`.)" +"(Suggested by Raymond Hettinger and implemented by Eric Smith " +"in :issue:`6081`.)" msgstr "" #: ../../whatsnew/3.2.rst:484 msgid "" "The interpreter can now be started with a quiet option, ``-q``, to prevent " "the copyright and version information from being displayed in the " -"interactive mode. The option can be introspected using the :attr:`sys." -"flags` attribute:" +"interactive mode. The option can be introspected using " +"the :data:`sys.flags` attribute:" msgstr "" #: ../../whatsnew/3.2.rst:496 @@ -505,11 +501,11 @@ msgstr "" msgid "" "The :func:`hasattr` function works by calling :func:`getattr` and detecting " "whether an exception is raised. This technique allows it to detect methods " -"created dynamically by :meth:`__getattr__` or :meth:`__getattribute__` which " -"would otherwise be absent from the class dictionary. Formerly, *hasattr* " -"would catch any exception, possibly masking genuine errors. Now, *hasattr* " -"has been tightened to only catch :exc:`AttributeError` and let other " -"exceptions pass through::" +"created dynamically by :meth:`~object.__getattr__` " +"or :meth:`~object.__getattribute__` which would otherwise be absent from the " +"class dictionary. Formerly, *hasattr* would catch any exception, possibly " +"masking genuine errors. Now, *hasattr* has been tightened to only " +"catch :exc:`AttributeError` and let other exceptions pass through::" msgstr "" #: ../../whatsnew/3.2.rst:517 @@ -519,10 +515,10 @@ msgstr "" #: ../../whatsnew/3.2.rst:519 msgid "" -"The :func:`str` of a float or complex number is now the same as its :func:" -"`repr`. Previously, the :func:`str` form was shorter but that just caused " -"confusion and is no longer needed now that the shortest possible :func:" -"`repr` is displayed by default:" +"The :func:`str` of a float or complex number is now the same as " +"its :func:`repr`. Previously, the :func:`str` form was shorter but that just " +"caused confusion and is no longer needed now that the shortest " +"possible :func:`repr` is displayed by default:" msgstr "" #: ../../whatsnew/3.2.rst:530 @@ -560,12 +556,12 @@ msgstr "" #: ../../whatsnew/3.2.rst:567 msgid "" -"The internal :c:type:`structsequence` tool now creates subclasses of tuple. " -"This means that C structures like those returned by :func:`os.stat`, :func:" -"`time.gmtime`, and :attr:`sys.version_info` now work like a :term:`named " -"tuple` and now work with functions and methods that expect a tuple as an " -"argument. This is a big step forward in making the C structures as flexible " -"as their pure Python counterparts:" +":ref:`Struct sequence types ` are now subclasses of " +"tuple. This means that C structures like those returned " +"by :func:`os.stat`, :func:`time.gmtime`, and :data:`sys.version_info` now " +"work like a :term:`named tuple` and now work with functions and methods that " +"expect a tuple as an argument. This is a big step forward in making the C " +"structures as flexible as their pure Python counterparts:" msgstr "" #: ../../whatsnew/3.2.rst:580 @@ -582,8 +578,8 @@ msgstr "" #: ../../whatsnew/3.2.rst:590 msgid "" -"(Suggested by Barry Warsaw and implemented by Philip Jenvey in :issue:" -"`7301`.)" +"(Suggested by Barry Warsaw and implemented by Philip Jenvey " +"in :issue:`7301`.)" msgstr "" #: ../../whatsnew/3.2.rst:592 @@ -597,10 +593,11 @@ msgstr "" #: ../../whatsnew/3.2.rst:598 msgid "" -"A :exc:`ResourceWarning` is issued at interpreter shutdown if the :data:`gc." -"garbage` list isn't empty, and if :attr:`gc.DEBUG_UNCOLLECTABLE` is set, all " -"uncollectable objects are printed. This is meant to make the programmer " -"aware that their code contains object finalization issues." +"A :exc:`ResourceWarning` is issued at interpreter shutdown if " +"the :data:`gc.garbage` list isn't empty, and " +"if :const:`gc.DEBUG_UNCOLLECTABLE` is set, all uncollectable objects are " +"printed. This is meant to make the programmer aware that their code " +"contains object finalization issues." msgstr "" #: ../../whatsnew/3.2.rst:603 @@ -615,18 +612,19 @@ msgstr "" #: ../../whatsnew/3.2.rst:617 msgid "" -"(Added by Antoine Pitrou and Georg Brandl in :issue:`10093` and :issue:" -"`477863`.)" +"(Added by Antoine Pitrou and Georg Brandl in :issue:`10093` " +"and :issue:`477863`.)" msgstr "" #: ../../whatsnew/3.2.rst:619 msgid "" ":class:`range` objects now support *index* and *count* methods. This is part " -"of an effort to make more objects fully implement the :class:`collections." -"Sequence` :term:`abstract base class`. As a result, the language will have " -"a more uniform API. In addition, :class:`range` objects now support slicing " -"and negative indices, even with values larger than :attr:`sys.maxsize`. " -"This makes *range* more interoperable with lists::" +"of an effort to make more objects fully implement " +"the :class:`collections.Sequence ` :term:`abstract " +"base class`. As a result, the language will have a more uniform API. In " +"addition, :class:`range` objects now support slicing and negative indices, " +"even with values larger than :data:`sys.maxsize`. This makes *range* more " +"interoperable with lists::" msgstr "" #: ../../whatsnew/3.2.rst:635 @@ -669,10 +667,10 @@ msgstr "" #: ../../whatsnew/3.2.rst:662 msgid "" -"The biggest news for Python 3.2 is that the :mod:`email` package, :mod:" -"`mailbox` module, and :mod:`nntplib` modules now work correctly with the " -"bytes/text model in Python 3. For the first time, there is correct handling " -"of messages with mixed encodings." +"The biggest news for Python 3.2 is that the :mod:`email` " +"package, :mod:`mailbox` module, and :mod:`nntplib` modules now work " +"correctly with the bytes/text model in Python 3. For the first time, there " +"is correct handling of messages with mixed encodings." msgstr "" #: ../../whatsnew/3.2.rst:667 @@ -703,18 +701,19 @@ msgstr "email" msgid "" "The usability of the :mod:`email` package in Python 3 has been mostly fixed " "by the extensive efforts of R. David Murray. The problem was that emails " -"are typically read and stored in the form of :class:`bytes` rather than :" -"class:`str` text, and they may contain multiple encodings within a single " -"email. So, the email package had to be extended to parse and generate email " -"messages in bytes format." +"are typically read and stored in the form of :class:`bytes` rather " +"than :class:`str` text, and they may contain multiple encodings within a " +"single email. So, the email package had to be extended to parse and " +"generate email messages in bytes format." msgstr "" #: ../../whatsnew/3.2.rst:688 msgid "" -"New functions :func:`~email.message_from_bytes` and :func:`~email." -"message_from_binary_file`, and new classes :class:`~email.parser." -"BytesFeedParser` and :class:`~email.parser.BytesParser` allow binary message " -"data to be parsed into model objects." +"New functions :func:`~email.message_from_bytes` " +"and :func:`~email.message_from_binary_file`, and new " +"classes :class:`~email.parser.BytesFeedParser` " +"and :class:`~email.parser.BytesParser` allow binary message data to be " +"parsed into model objects." msgstr "" #: ../../whatsnew/3.2.rst:693 @@ -734,31 +733,31 @@ msgstr "" #: ../../whatsnew/3.2.rst:702 msgid "" -"Headers with unencoded non-ASCII bytes are deemed to be :rfc:`2047`\\ -" -"encoded using the *unknown-8bit* character set." +"Headers with unencoded non-ASCII bytes are deemed to be :rfc:`2047`\\ " +"-encoded using the *unknown-8bit* character set." msgstr "" #: ../../whatsnew/3.2.rst:705 msgid "" "A new class :class:`~email.generator.BytesGenerator` produces bytes as " "output, preserving any unchanged non-ASCII data that was present in the " -"input used to build the model, including message bodies with a :mailheader:" -"`Content-Transfer-Encoding` of *8bit*." +"input used to build the model, including message bodies with " +"a :mailheader:`Content-Transfer-Encoding` of *8bit*." msgstr "" #: ../../whatsnew/3.2.rst:710 msgid "" "The :mod:`smtplib` :class:`~smtplib.SMTP` class now accepts a byte string " "for the *msg* argument to the :meth:`~smtplib.SMTP.sendmail` method, and a " -"new method, :meth:`~smtplib.SMTP.send_message` accepts a :class:`~email." -"message.Message` object and can optionally obtain the *from_addr* and " -"*to_addrs* addresses directly from the object." +"new method, :meth:`~smtplib.SMTP.send_message` accepts " +"a :class:`~email.message.Message` object and can optionally obtain the " +"*from_addr* and *to_addrs* addresses directly from the object." msgstr "" #: ../../whatsnew/3.2.rst:716 msgid "" -"(Proposed and implemented by R. David Murray, :issue:`4661` and :issue:" -"`10321`.)" +"(Proposed and implemented by R. David Murray, :issue:`4661` " +"and :issue:`10321`.)" msgstr "" #: ../../whatsnew/3.2.rst:719 @@ -767,8 +766,8 @@ msgstr "" #: ../../whatsnew/3.2.rst:721 msgid "" -"The :mod:`xml.etree.ElementTree` package and its :mod:`xml.etree." -"cElementTree` counterpart have been updated to version 1.3." +"The :mod:`xml.etree.ElementTree` package and its :mod:`!" +"xml.etree.cElementTree` counterpart have been updated to version 1.3." msgstr "" #: ../../whatsnew/3.2.rst:724 @@ -827,18 +826,19 @@ msgid "Two methods have been deprecated:" msgstr "" #: ../../whatsnew/3.2.rst:744 -msgid ":meth:`xml.etree.ElementTree.getchildren` use ``list(elem)`` instead." +msgid ":meth:`!xml.etree.ElementTree.getchildren` use ``list(elem)`` instead." msgstr "" #: ../../whatsnew/3.2.rst:745 -msgid ":meth:`xml.etree.ElementTree.getiterator` use ``Element.iter`` instead." +msgid "" +":meth:`!xml.etree.ElementTree.getiterator` use ``Element.iter`` instead." msgstr "" #: ../../whatsnew/3.2.rst:747 msgid "" -"For details of the update, see `Introducing ElementTree `_ on " -"Fredrik Lundh's website." +"For details of the update, see `Introducing ElementTree `_ on Fredrik Lundh's website." msgstr "" #: ../../whatsnew/3.2.rst:751 @@ -877,140 +877,145 @@ msgstr "" #: ../../whatsnew/3.2.rst:784 msgid "" "(Contributed by Raymond Hettinger and incorporating design ideas from Jim " -"Baker, Miki Tebeka, and Nick Coghlan; see `recipe 498245 `_\\, `recipe 577479 `_\\, :issue:`10586`, and :issue:`10593`.)" +"Baker, Miki Tebeka, and Nick Coghlan; see `recipe 498245 `_\\, `recipe 577479 `_\\, :issue:`10586`, " +"and :issue:`10593`.)" msgstr "" #: ../../whatsnew/3.2.rst:790 msgid "" "The :func:`functools.wraps` decorator now adds a :attr:`__wrapped__` " "attribute pointing to the original callable function. This allows wrapped " -"functions to be introspected. It also copies :attr:`__annotations__` if " -"defined. And now it also gracefully skips over missing attributes such as :" -"attr:`__doc__` which might not be defined for the wrapped callable." +"functions to be introspected. It also " +"copies :attr:`~function.__annotations__` if defined. And now it also " +"gracefully skips over missing attributes such as :attr:`~function.__doc__` " +"which might not be defined for the wrapped callable." msgstr "" -#: ../../whatsnew/3.2.rst:796 +#: ../../whatsnew/3.2.rst:797 msgid "" "In the above example, the cache can be removed by recovering the original " "function:" msgstr "" -#: ../../whatsnew/3.2.rst:801 +#: ../../whatsnew/3.2.rst:802 msgid "" -"(By Nick Coghlan and Terrence Cole; :issue:`9567`, :issue:`3445`, and :issue:" -"`8814`.)" +"(By Nick Coghlan and Terrence Cole; :issue:`9567`, :issue:`3445`, " +"and :issue:`8814`.)" msgstr "" -#: ../../whatsnew/3.2.rst:804 +#: ../../whatsnew/3.2.rst:805 msgid "" -"To help write classes with rich comparison methods, a new decorator :func:" -"`functools.total_ordering` will use existing equality and inequality methods " -"to fill in the remaining methods." +"To help write classes with rich comparison methods, a new " +"decorator :func:`functools.total_ordering` will use existing equality and " +"inequality methods to fill in the remaining methods." msgstr "" -#: ../../whatsnew/3.2.rst:808 +#: ../../whatsnew/3.2.rst:809 msgid "" -"For example, supplying *__eq__* and *__lt__* will enable :func:`~functools." -"total_ordering` to fill-in *__le__*, *__gt__* and *__ge__*::" +"For example, supplying *__eq__* and *__lt__* will " +"enable :func:`~functools.total_ordering` to fill-in *__le__*, *__gt__* and " +"*__ge__*::" msgstr "" -#: ../../whatsnew/3.2.rst:821 +#: ../../whatsnew/3.2.rst:822 msgid "" "With the *total_ordering* decorator, the remaining comparison methods are " "filled in automatically." msgstr "" -#: ../../whatsnew/3.2.rst:824 ../../whatsnew/3.2.rst:836 -#: ../../whatsnew/3.2.rst:880 ../../whatsnew/3.2.rst:901 -#: ../../whatsnew/3.2.rst:915 ../../whatsnew/3.2.rst:1785 -#: ../../whatsnew/3.2.rst:1830 +#: ../../whatsnew/3.2.rst:825 ../../whatsnew/3.2.rst:837 +#: ../../whatsnew/3.2.rst:881 ../../whatsnew/3.2.rst:902 +#: ../../whatsnew/3.2.rst:916 ../../whatsnew/3.2.rst:1786 +#: ../../whatsnew/3.2.rst:1831 msgid "(Contributed by Raymond Hettinger.)" msgstr "(Contributed by Raymond Hettinger.)" -#: ../../whatsnew/3.2.rst:826 +#: ../../whatsnew/3.2.rst:827 msgid "" "To aid in porting programs from Python 2, the :func:`functools.cmp_to_key` " "function converts an old-style comparison function to modern :term:`key " "function`:" msgstr "" -#: ../../whatsnew/3.2.rst:833 +#: ../../whatsnew/3.2.rst:834 msgid "" "For sorting examples and a brief sorting tutorial, see the `Sorting HowTo " "`_ tutorial." msgstr "" -#: ../../whatsnew/3.2.rst:839 +#: ../../whatsnew/3.2.rst:840 msgid "itertools" msgstr "itertools" -#: ../../whatsnew/3.2.rst:841 +#: ../../whatsnew/3.2.rst:842 msgid "" "The :mod:`itertools` module has a new :func:`~itertools.accumulate` function " "modeled on APL's *scan* operator and Numpy's *accumulate* function:" msgstr "" -#: ../../whatsnew/3.2.rst:852 +#: ../../whatsnew/3.2.rst:853 msgid "" "For an example using :func:`~itertools.accumulate`, see the :ref:`examples " "for the random module `." msgstr "" -#: ../../whatsnew/3.2.rst:855 +#: ../../whatsnew/3.2.rst:856 msgid "" "(Contributed by Raymond Hettinger and incorporating design suggestions from " "Mark Dickinson.)" msgstr "" -#: ../../whatsnew/3.2.rst:859 +#: ../../whatsnew/3.2.rst:860 msgid "collections" msgstr "collections" -#: ../../whatsnew/3.2.rst:861 +#: ../../whatsnew/3.2.rst:862 msgid "" "The :class:`collections.Counter` class now has two forms of in-place " "subtraction, the existing *-=* operator for `saturating subtraction `_ and the new :meth:" -"`~collections.Counter.subtract` method for regular subtraction. The former " -"is suitable for `multisets `_ which " -"only have positive counts, and the latter is more suitable for use cases " -"that allow negative counts:" +"en.wikipedia.org/wiki/Saturation_arithmetic>`_ and the " +"new :meth:`~collections.Counter.subtract` method for regular subtraction. " +"The former is suitable for `multisets `_ which only have positive counts, and the latter is more suitable " +"for use cases that allow negative counts:" msgstr "" -#: ../../whatsnew/3.2.rst:882 +#: ../../whatsnew/3.2.rst:883 msgid "" -"The :class:`collections.OrderedDict` class has a new method :meth:" -"`~collections.OrderedDict.move_to_end` which takes an existing key and moves " -"it to either the first or last position in the ordered sequence." +"The :class:`collections.OrderedDict` class has a new " +"method :meth:`~collections.OrderedDict.move_to_end` which takes an existing " +"key and moves it to either the first or last position in the ordered " +"sequence." msgstr "" -#: ../../whatsnew/3.2.rst:886 +#: ../../whatsnew/3.2.rst:887 msgid "" "The default is to move an item to the last position. This is equivalent of " "renewing an entry with ``od[k] = od.pop(k)``." msgstr "" -#: ../../whatsnew/3.2.rst:889 +#: ../../whatsnew/3.2.rst:890 msgid "" "A fast move-to-end operation is useful for resequencing entries. For " "example, an ordered dictionary can be used to track order of access by aging " "entries from the oldest to the most recently accessed." msgstr "" -#: ../../whatsnew/3.2.rst:903 +#: ../../whatsnew/3.2.rst:904 msgid "" -"The :class:`collections.deque` class grew two new methods :meth:" -"`~collections.deque.count` and :meth:`~collections.deque.reverse` that make " -"them more substitutable for :class:`list` objects:" +"The :class:`collections.deque` class grew two new " +"methods :meth:`~collections.deque.count` " +"and :meth:`~collections.deque.reverse` that make them more substitutable " +"for :class:`list` objects:" msgstr "" -#: ../../whatsnew/3.2.rst:918 +#: ../../whatsnew/3.2.rst:919 msgid "threading" msgstr "threading" -#: ../../whatsnew/3.2.rst:920 +#: ../../whatsnew/3.2.rst:921 msgid "" "The :mod:`threading` module has a new :class:`~threading.Barrier` " "synchronization class for making multiple threads wait until all of them " @@ -1019,14 +1024,14 @@ msgid "" "predecessor tasks are complete." msgstr "" -#: ../../whatsnew/3.2.rst:926 +#: ../../whatsnew/3.2.rst:927 msgid "" "Barriers can work with an arbitrary number of threads. This is a " "generalization of a `Rendezvous `_ which is defined for only two threads." msgstr "" -#: ../../whatsnew/3.2.rst:930 +#: ../../whatsnew/3.2.rst:931 msgid "" "Implemented as a two-phase cyclic barrier, :class:`~threading.Barrier` " "objects are suitable for use in loops. The separate *filling* and " @@ -1035,11 +1040,11 @@ msgid "" "resets after each cycle." msgstr "" -#: ../../whatsnew/3.2.rst:935 +#: ../../whatsnew/3.2.rst:936 msgid "Example of using barriers::" msgstr "" -#: ../../whatsnew/3.2.rst:949 +#: ../../whatsnew/3.2.rst:950 msgid "" "In this example, the barrier enforces a rule that votes cannot be counted at " "any polling site until all polls are closed. Notice how a solution with a " @@ -1048,7 +1053,7 @@ msgid "" "barrier point is crossed." msgstr "" -#: ../../whatsnew/3.2.rst:955 +#: ../../whatsnew/3.2.rst:956 msgid "" "If any of the predecessor tasks can hang or be delayed, a barrier can be " "created with an optional *timeout* parameter. Then if the timeout period " @@ -1057,14 +1062,14 @@ msgid "" "exception is raised::" msgstr "" -#: ../../whatsnew/3.2.rst:971 +#: ../../whatsnew/3.2.rst:972 msgid "" "In this example, the barrier enforces a more robust rule. If some election " "sites do not finish before midnight, the barrier times-out and the ballots " "are sealed and deposited in a queue for later handling." msgstr "" -#: ../../whatsnew/3.2.rst:975 +#: ../../whatsnew/3.2.rst:976 msgid "" "See `Barrier Synchronization Patterns `_ for more examples " @@ -1074,17 +1079,17 @@ msgid "" "*section 3.6*." msgstr "" -#: ../../whatsnew/3.2.rst:981 +#: ../../whatsnew/3.2.rst:982 msgid "" "(Contributed by Kristján Valur Jónsson with an API review by Jeffrey Yasskin " "in :issue:`8777`.)" msgstr "" -#: ../../whatsnew/3.2.rst:985 +#: ../../whatsnew/3.2.rst:986 msgid "datetime and time" msgstr "" -#: ../../whatsnew/3.2.rst:987 +#: ../../whatsnew/3.2.rst:988 msgid "" "The :mod:`datetime` module has a new type :class:`~datetime.timezone` that " "implements the :class:`~datetime.tzinfo` interface by returning a fixed UTC " @@ -1092,83 +1097,83 @@ msgid "" "datetime objects::" msgstr "" -#: ../../whatsnew/3.2.rst:1000 +#: ../../whatsnew/3.2.rst:1001 msgid "" -"Also, :class:`~datetime.timedelta` objects can now be multiplied by :class:" -"`float` and divided by :class:`float` and :class:`int` objects. And :class:" -"`~datetime.timedelta` objects can now divide one another." +"Also, :class:`~datetime.timedelta` objects can now be multiplied " +"by :class:`float` and divided by :class:`float` and :class:`int` objects. " +"And :class:`~datetime.timedelta` objects can now divide one another." msgstr "" -#: ../../whatsnew/3.2.rst:1004 +#: ../../whatsnew/3.2.rst:1005 msgid "" "The :meth:`datetime.date.strftime` method is no longer restricted to years " "after 1900. The new supported year range is from 1000 to 9999 inclusive." msgstr "" -#: ../../whatsnew/3.2.rst:1007 +#: ../../whatsnew/3.2.rst:1008 msgid "" "Whenever a two-digit year is used in a time tuple, the interpretation has " -"been governed by :attr:`time.accept2dyear`. The default is ``True`` which " +"been governed by :data:`!time.accept2dyear`. The default is ``True`` which " "means that for a two-digit year, the century is guessed according to the " "POSIX rules governing the ``%y`` strptime format." msgstr "" -#: ../../whatsnew/3.2.rst:1012 +#: ../../whatsnew/3.2.rst:1013 msgid "" -"Starting with Py3.2, use of the century guessing heuristic will emit a :exc:" -"`DeprecationWarning`. Instead, it is recommended that :attr:`time." -"accept2dyear` be set to ``False`` so that large date ranges can be used " +"Starting with Py3.2, use of the century guessing heuristic will emit " +"a :exc:`DeprecationWarning`. Instead, it is recommended that :data:`!" +"time.accept2dyear` be set to ``False`` so that large date ranges can be used " "without guesswork::" msgstr "" -#: ../../whatsnew/3.2.rst:1031 +#: ../../whatsnew/3.2.rst:1032 msgid "" -"Several functions now have significantly expanded date ranges. When :attr:" -"`time.accept2dyear` is false, the :func:`time.asctime` function will accept " -"any year that fits in a C int, while the :func:`time.mktime` and :func:`time." -"strftime` functions will accept the full range supported by the " -"corresponding operating system functions." +"Several functions now have significantly expanded date ranges. When :data:`!" +"time.accept2dyear` is false, the :func:`time.asctime` function will accept " +"any year that fits in a C int, while the :func:`time.mktime` " +"and :func:`time.strftime` functions will accept the full range supported by " +"the corresponding operating system functions." msgstr "" -#: ../../whatsnew/3.2.rst:1037 +#: ../../whatsnew/3.2.rst:1038 msgid "" -"(Contributed by Alexander Belopolsky and Victor Stinner in :issue:" -"`1289118`, :issue:`5094`, :issue:`6641`, :issue:`2706`, :issue:`1777412`, :" -"issue:`8013`, and :issue:`10827`.)" +"(Contributed by Alexander Belopolsky and Victor Stinner " +"in :issue:`1289118`, :issue:`5094`, :issue:`6641`, :issue:`2706`, :issue:`1777412`, :issue:`8013`, " +"and :issue:`10827`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1044 +#: ../../whatsnew/3.2.rst:1045 msgid "math" msgstr "math" -#: ../../whatsnew/3.2.rst:1046 +#: ../../whatsnew/3.2.rst:1047 msgid "" "The :mod:`math` module has been updated with six new functions inspired by " "the C99 standard." msgstr "" -#: ../../whatsnew/3.2.rst:1049 +#: ../../whatsnew/3.2.rst:1050 msgid "" "The :func:`~math.isfinite` function provides a reliable and fast way to " "detect special values. It returns ``True`` for regular numbers and " "``False`` for *Nan* or *Infinity*:" msgstr "" -#: ../../whatsnew/3.2.rst:1057 +#: ../../whatsnew/3.2.rst:1058 msgid "" "The :func:`~math.expm1` function computes ``e**x-1`` for small values of *x* " "without incurring the loss of precision that usually accompanies the " "subtraction of nearly equal quantities:" msgstr "" -#: ../../whatsnew/3.2.rst:1065 +#: ../../whatsnew/3.2.rst:1066 msgid "" "The :func:`~math.erf` function computes a probability integral or `Gaussian " "error function `_. The " "complementary error function, :func:`~math.erfc`, is ``1 - erf(x)``:" msgstr "" -#: ../../whatsnew/3.2.rst:1080 +#: ../../whatsnew/3.2.rst:1081 msgid "" "The :func:`~math.gamma` function is a continuous extension of the factorial " "function. See https://en.wikipedia.org/wiki/Gamma_function for details. " @@ -1177,36 +1182,36 @@ msgid "" "computing the natural logarithm of the gamma function:" msgstr "" -#: ../../whatsnew/3.2.rst:1092 +#: ../../whatsnew/3.2.rst:1093 msgid "(Contributed by Mark Dickinson.)" msgstr "" -#: ../../whatsnew/3.2.rst:1095 +#: ../../whatsnew/3.2.rst:1096 msgid "abc" msgstr "abc" -#: ../../whatsnew/3.2.rst:1097 +#: ../../whatsnew/3.2.rst:1098 msgid "" -"The :mod:`abc` module now supports :func:`~abc.abstractclassmethod` and :" -"func:`~abc.abstractstaticmethod`." +"The :mod:`abc` module now supports :func:`~abc.abstractclassmethod` " +"and :func:`~abc.abstractstaticmethod`." msgstr "" -#: ../../whatsnew/3.2.rst:1100 +#: ../../whatsnew/3.2.rst:1101 msgid "" "These tools make it possible to define an :term:`abstract base class` that " "requires a particular :func:`classmethod` or :func:`staticmethod` to be " "implemented::" msgstr "" -#: ../../whatsnew/3.2.rst:1112 +#: ../../whatsnew/3.2.rst:1113 msgid "(Patch submitted by Daniel Urban; :issue:`5867`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1115 +#: ../../whatsnew/3.2.rst:1116 msgid "io" msgstr "io" -#: ../../whatsnew/3.2.rst:1117 +#: ../../whatsnew/3.2.rst:1118 msgid "" "The :class:`io.BytesIO` has a new method, :meth:`~io.BytesIO.getbuffer`, " "which provides functionality similar to :func:`memoryview`. It creates an " @@ -1214,45 +1219,46 @@ msgid "" "and support for slice notation are well-suited to in-place editing::" msgstr "" -#: ../../whatsnew/3.2.rst:1143 +#: ../../whatsnew/3.2.rst:1144 msgid "(Contributed by Antoine Pitrou in :issue:`5506`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1146 +#: ../../whatsnew/3.2.rst:1147 msgid "reprlib" msgstr "reprlib" -#: ../../whatsnew/3.2.rst:1148 +#: ../../whatsnew/3.2.rst:1149 msgid "" -"When writing a :meth:`__repr__` method for a custom container, it is easy to " -"forget to handle the case where a member refers back to the container " -"itself. Python's builtin objects such as :class:`list` and :class:`set` " -"handle self-reference by displaying \"...\" in the recursive part of the " -"representation string." +"When writing a :meth:`~object.__repr__` method for a custom container, it is " +"easy to forget to handle the case where a member refers back to the " +"container itself. Python's builtin objects such as :class:`list` " +"and :class:`set` handle self-reference by displaying \"...\" in the " +"recursive part of the representation string." msgstr "" -#: ../../whatsnew/3.2.rst:1154 +#: ../../whatsnew/3.2.rst:1155 msgid "" -"To help write such :meth:`__repr__` methods, the :mod:`reprlib` module has a " -"new decorator, :func:`~reprlib.recursive_repr`, for detecting recursive " -"calls to :meth:`__repr__` and substituting a placeholder string instead::" +"To help write such :meth:`~object.__repr__` methods, the :mod:`reprlib` " +"module has a new decorator, :func:`~reprlib.recursive_repr`, for detecting " +"recursive calls to :meth:`!__repr__` and substituting a placeholder string " +"instead::" msgstr "" -#: ../../whatsnew/3.2.rst:1169 +#: ../../whatsnew/3.2.rst:1170 msgid "(Contributed by Raymond Hettinger in :issue:`9826` and :issue:`9840`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1172 +#: ../../whatsnew/3.2.rst:1173 msgid "logging" msgstr "logging" -#: ../../whatsnew/3.2.rst:1174 +#: ../../whatsnew/3.2.rst:1175 msgid "" -"In addition to dictionary-based configuration described above, the :mod:" -"`logging` package has many other improvements." +"In addition to dictionary-based configuration described above, " +"the :mod:`logging` package has many other improvements." msgstr "" -#: ../../whatsnew/3.2.rst:1177 +#: ../../whatsnew/3.2.rst:1178 msgid "" "The logging documentation has been augmented by a :ref:`basic tutorial " "`\\, an :ref:`advanced tutorial ` attribute is now public. " +"This is useful in creating contexts that correspond to the decimal " +"interchange formats specified in IEEE 754 (see :issue:`8540`)." msgstr "" -#: ../../whatsnew/3.2.rst:1340 +#: ../../whatsnew/3.2.rst:1341 msgid "(Contributed by Mark Dickinson and Raymond Hettinger.)" msgstr "" -#: ../../whatsnew/3.2.rst:1343 +#: ../../whatsnew/3.2.rst:1344 msgid "ftp" msgstr "" -#: ../../whatsnew/3.2.rst:1345 +#: ../../whatsnew/3.2.rst:1346 msgid "" "The :class:`ftplib.FTP` class now supports the context management protocol " "to unconditionally consume :exc:`socket.error` exceptions and to close the " "FTP connection when done::" msgstr "" -#: ../../whatsnew/3.2.rst:1360 +#: ../../whatsnew/3.2.rst:1361 msgid "" -"Other file-like objects such as :class:`mmap.mmap` and :func:`fileinput." -"input` also grew auto-closing context managers::" +"Other file-like objects such as :class:`mmap.mmap` " +"and :func:`fileinput.input` also grew auto-closing context managers::" msgstr "" -#: ../../whatsnew/3.2.rst:1367 +#: ../../whatsnew/3.2.rst:1368 msgid "" "(Contributed by Tarek Ziadé and Giampaolo Rodolà in :issue:`4972`, and by " "Georg Brandl in :issue:`8046` and :issue:`1286`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1370 +#: ../../whatsnew/3.2.rst:1371 msgid "" "The :class:`~ftplib.FTP_TLS` class now accepts a *context* parameter, which " "is a :class:`ssl.SSLContext` object allowing bundling SSL configuration " @@ -1477,87 +1486,88 @@ msgid "" "lived) structure." msgstr "" -#: ../../whatsnew/3.2.rst:1374 +#: ../../whatsnew/3.2.rst:1375 msgid "(Contributed by Giampaolo Rodolà; :issue:`8806`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1377 +#: ../../whatsnew/3.2.rst:1378 msgid "popen" msgstr "" -#: ../../whatsnew/3.2.rst:1379 +#: ../../whatsnew/3.2.rst:1380 msgid "" -"The :func:`os.popen` and :func:`subprocess.Popen` functions now support :" -"keyword:`with` statements for auto-closing of the file descriptors." +"The :func:`os.popen` and :func:`subprocess.Popen` functions now " +"support :keyword:`with` statements for auto-closing of the file descriptors." msgstr "" -#: ../../whatsnew/3.2.rst:1382 +#: ../../whatsnew/3.2.rst:1383 msgid "" -"(Contributed by Antoine Pitrou and Brian Curtin in :issue:`7461` and :issue:" -"`10554`.)" +"(Contributed by Antoine Pitrou and Brian Curtin in :issue:`7461` " +"and :issue:`10554`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1386 +#: ../../whatsnew/3.2.rst:1387 msgid "select" msgstr "select" -#: ../../whatsnew/3.2.rst:1388 +#: ../../whatsnew/3.2.rst:1389 msgid "" -"The :mod:`select` module now exposes a new, constant attribute, :attr:" -"`~select.PIPE_BUF`, which gives the minimum number of bytes which are " -"guaranteed not to block when :func:`select.select` says a pipe is ready for " -"writing." +"The :mod:`select` module now exposes a new, constant " +"attribute, :const:`~select.PIPE_BUF`, which gives the minimum number of " +"bytes which are guaranteed not to block when :func:`select.select` says a " +"pipe is ready for writing." msgstr "" -#: ../../whatsnew/3.2.rst:1397 +#: ../../whatsnew/3.2.rst:1398 msgid "(Available on Unix systems. Patch by Sébastien Sablé in :issue:`9862`)" msgstr "" -#: ../../whatsnew/3.2.rst:1400 +#: ../../whatsnew/3.2.rst:1401 msgid "gzip and zipfile" msgstr "" -#: ../../whatsnew/3.2.rst:1402 +#: ../../whatsnew/3.2.rst:1403 msgid "" -":class:`gzip.GzipFile` now implements the :class:`io.BufferedIOBase` :term:" -"`abstract base class` (except for ``truncate()``). It also has a :meth:" -"`~gzip.GzipFile.peek` method and supports unseekable as well as zero-padded " -"file objects." +":class:`gzip.GzipFile` now implements " +"the :class:`io.BufferedIOBase` :term:`abstract base class` (except for " +"``truncate()``). It also has a :meth:`~gzip.GzipFile.peek` method and " +"supports unseekable as well as zero-padded file objects." msgstr "" -#: ../../whatsnew/3.2.rst:1407 +#: ../../whatsnew/3.2.rst:1408 msgid "" -"The :mod:`gzip` module also gains the :func:`~gzip.compress` and :func:" -"`~gzip.decompress` functions for easier in-memory compression and " +"The :mod:`gzip` module also gains the :func:`~gzip.compress` " +"and :func:`~gzip.decompress` functions for easier in-memory compression and " "decompression. Keep in mind that text needs to be encoded as :class:`bytes` " "before compressing and decompressing:" msgstr "" -#: ../../whatsnew/3.2.rst:1424 +#: ../../whatsnew/3.2.rst:1425 msgid "" "(Contributed by Anand B. Pillai in :issue:`3488`; and by Antoine Pitrou, Nir " "Aides and Brian Curtin in :issue:`9962`, :issue:`1675951`, :issue:`7471` " "and :issue:`2846`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1428 +#: ../../whatsnew/3.2.rst:1429 msgid "" -"Also, the :class:`zipfile.ZipExtFile` class was reworked internally to " -"represent files stored inside an archive. The new implementation is " -"significantly faster and can be wrapped in an :class:`io.BufferedReader` " -"object for more speedups. It also solves an issue where interleaved calls " -"to *read* and *readline* gave the wrong results." +"Also, the :class:`zipfile.ZipExtFile ` class was " +"reworked internally to represent files stored inside an archive. The new " +"implementation is significantly faster and can be wrapped in " +"an :class:`io.BufferedReader` object for more speedups. It also solves an " +"issue where interleaved calls to *read* and *readline* gave the wrong " +"results." msgstr "" -#: ../../whatsnew/3.2.rst:1434 +#: ../../whatsnew/3.2.rst:1435 msgid "(Patch submitted by Nir Aides in :issue:`7610`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1437 +#: ../../whatsnew/3.2.rst:1438 msgid "tarfile" msgstr "tarfile" -#: ../../whatsnew/3.2.rst:1439 +#: ../../whatsnew/3.2.rst:1440 msgid "" "The :class:`~tarfile.TarFile` class can now be used as a context manager. " "In addition, its :meth:`~tarfile.TarFile.add` method has a new option, " @@ -1565,110 +1575,111 @@ msgid "" "file metadata to be edited." msgstr "" -#: ../../whatsnew/3.2.rst:1444 +#: ../../whatsnew/3.2.rst:1445 msgid "" "The new *filter* option replaces the older, less flexible *exclude* " "parameter which is now deprecated. If specified, the optional *filter* " "parameter needs to be a :term:`keyword argument`. The user-supplied filter " -"function accepts a :class:`~tarfile.TarInfo` object and returns an updated :" -"class:`~tarfile.TarInfo` object, or if it wants the file to be excluded, the " -"function can return ``None``::" +"function accepts a :class:`~tarfile.TarInfo` object and returns an " +"updated :class:`~tarfile.TarInfo` object, or if it wants the file to be " +"excluded, the function can return ``None``::" msgstr "" -#: ../../whatsnew/3.2.rst:1468 +#: ../../whatsnew/3.2.rst:1469 msgid "" "(Proposed by Tarek Ziadé and implemented by Lars Gustäbel in :issue:`6856`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1471 +#: ../../whatsnew/3.2.rst:1472 msgid "hashlib" msgstr "hashlib" -#: ../../whatsnew/3.2.rst:1473 +#: ../../whatsnew/3.2.rst:1474 msgid "" "The :mod:`hashlib` module has two new constant attributes listing the " "hashing algorithms guaranteed to be present in all implementations and those " "available on the current implementation::" msgstr "" -#: ../../whatsnew/3.2.rst:1488 +#: ../../whatsnew/3.2.rst:1489 msgid "(Suggested by Carl Chenet in :issue:`7418`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1491 +#: ../../whatsnew/3.2.rst:1492 msgid "ast" msgstr "ast" -#: ../../whatsnew/3.2.rst:1493 +#: ../../whatsnew/3.2.rst:1494 msgid "" "The :mod:`ast` module has a wonderful a general-purpose tool for safely " -"evaluating expression strings using the Python literal syntax. The :func:" -"`ast.literal_eval` function serves as a secure alternative to the builtin :" -"func:`eval` function which is easily abused. Python 3.2 adds :class:`bytes` " -"and :class:`set` literals to the list of supported types: strings, bytes, " -"numbers, tuples, lists, dicts, sets, booleans, and ``None``." +"evaluating expression strings using the Python literal syntax. " +"The :func:`ast.literal_eval` function serves as a secure alternative to the " +"builtin :func:`eval` function which is easily abused. Python 3.2 " +"adds :class:`bytes` and :class:`set` literals to the list of supported " +"types: strings, bytes, numbers, tuples, lists, dicts, sets, booleans, and " +"``None``." msgstr "" -#: ../../whatsnew/3.2.rst:1514 +#: ../../whatsnew/3.2.rst:1515 msgid "(Implemented by Benjamin Peterson and Georg Brandl.)" msgstr "" -#: ../../whatsnew/3.2.rst:1517 +#: ../../whatsnew/3.2.rst:1518 msgid "os" msgstr "os" -#: ../../whatsnew/3.2.rst:1519 +#: ../../whatsnew/3.2.rst:1520 msgid "" "Different operating systems use various encodings for filenames and " -"environment variables. The :mod:`os` module provides two new functions, :" -"func:`~os.fsencode` and :func:`~os.fsdecode`, for encoding and decoding " -"filenames:" +"environment variables. The :mod:`os` module provides two new " +"functions, :func:`~os.fsencode` and :func:`~os.fsdecode`, for encoding and " +"decoding filenames:" msgstr "" -#: ../../whatsnew/3.2.rst:1529 +#: ../../whatsnew/3.2.rst:1530 msgid "" "Some operating systems allow direct access to encoded bytes in the " -"environment. If so, the :attr:`os.supports_bytes_environ` constant will be " +"environment. If so, the :const:`os.supports_bytes_environ` constant will be " "true." msgstr "" -#: ../../whatsnew/3.2.rst:1533 +#: ../../whatsnew/3.2.rst:1534 msgid "" "For direct access to encoded environment variables (if available), use the " "new :func:`os.getenvb` function or use :data:`os.environb` which is a bytes " "version of :data:`os.environ`." msgstr "" -#: ../../whatsnew/3.2.rst:1537 +#: ../../whatsnew/3.2.rst:1538 msgid "(Contributed by Victor Stinner.)" msgstr "" -#: ../../whatsnew/3.2.rst:1540 +#: ../../whatsnew/3.2.rst:1541 msgid "shutil" msgstr "shutil" -#: ../../whatsnew/3.2.rst:1542 +#: ../../whatsnew/3.2.rst:1543 msgid "The :func:`shutil.copytree` function has two new options:" msgstr "" -#: ../../whatsnew/3.2.rst:1544 +#: ../../whatsnew/3.2.rst:1545 msgid "" "*ignore_dangling_symlinks*: when ``symlinks=False`` so that the function " "copies a file pointed to by a symlink, not the symlink itself. This option " "will silence the error raised if the file doesn't exist." msgstr "" -#: ../../whatsnew/3.2.rst:1548 +#: ../../whatsnew/3.2.rst:1549 msgid "" -"*copy_function*: is a callable that will be used to copy files. :func:" -"`shutil.copy2` is used by default." +"*copy_function*: is a callable that will be used to copy " +"files. :func:`shutil.copy2` is used by default." msgstr "" -#: ../../whatsnew/3.2.rst:1551 ../../whatsnew/3.2.rst:1589 +#: ../../whatsnew/3.2.rst:1552 ../../whatsnew/3.2.rst:1590 msgid "(Contributed by Tarek Ziadé.)" msgstr "" -#: ../../whatsnew/3.2.rst:1553 +#: ../../whatsnew/3.2.rst:1554 msgid "" "In addition, the :mod:`shutil` module now supports :ref:`archiving " "operations ` for zipfiles, uncompressed tarfiles, " @@ -1677,63 +1688,63 @@ msgid "" "tarfiles or custom formats)." msgstr "" -#: ../../whatsnew/3.2.rst:1558 +#: ../../whatsnew/3.2.rst:1559 msgid "" -"The principal functions are :func:`~shutil.make_archive` and :func:`~shutil." -"unpack_archive`. By default, both operate on the current directory (which " -"can be set by :func:`os.chdir`) and on any sub-directories. The archive " -"filename needs to be specified with a full pathname. The archiving step is " -"non-destructive (the original files are left unchanged)." +"The principal functions are :func:`~shutil.make_archive` " +"and :func:`~shutil.unpack_archive`. By default, both operate on the current " +"directory (which can be set by :func:`os.chdir`) and on any sub-directories. " +"The archive filename needs to be specified with a full pathname. The " +"archiving step is non-destructive (the original files are left unchanged)." msgstr "" -#: ../../whatsnew/3.2.rst:1592 +#: ../../whatsnew/3.2.rst:1593 msgid "sqlite3" msgstr "sqlite3" -#: ../../whatsnew/3.2.rst:1594 +#: ../../whatsnew/3.2.rst:1595 msgid "" "The :mod:`sqlite3` module was updated to pysqlite version 2.6.0. It has two " "new capabilities." msgstr "" -#: ../../whatsnew/3.2.rst:1596 +#: ../../whatsnew/3.2.rst:1597 msgid "" -"The :attr:`sqlite3.Connection.in_transit` attribute is true if there is an " +"The :attr:`!sqlite3.Connection.in_transit` attribute is true if there is an " "active transaction for uncommitted changes." msgstr "" -#: ../../whatsnew/3.2.rst:1599 +#: ../../whatsnew/3.2.rst:1600 msgid "" -"The :meth:`sqlite3.Connection.enable_load_extension` and :meth:`sqlite3." -"Connection.load_extension` methods allows you to load SQLite extensions from " -"\".so\" files. One well-known extension is the fulltext-search extension " -"distributed with SQLite." +"The :meth:`sqlite3.Connection.enable_load_extension` " +"and :meth:`sqlite3.Connection.load_extension` methods allows you to load " +"SQLite extensions from \".so\" files. One well-known extension is the " +"fulltext-search extension distributed with SQLite." msgstr "" -#: ../../whatsnew/3.2.rst:1604 +#: ../../whatsnew/3.2.rst:1605 msgid "(Contributed by R. David Murray and Shashwat Anand; :issue:`8845`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1607 +#: ../../whatsnew/3.2.rst:1608 msgid "html" msgstr "html" -#: ../../whatsnew/3.2.rst:1609 +#: ../../whatsnew/3.2.rst:1610 msgid "" -"A new :mod:`html` module was introduced with only a single function, :func:" -"`~html.escape`, which is used for escaping reserved characters from HTML " -"markup:" +"A new :mod:`html` module was introduced with only a single " +"function, :func:`~html.escape`, which is used for escaping reserved " +"characters from HTML markup:" msgstr "" -#: ../../whatsnew/3.2.rst:1618 +#: ../../whatsnew/3.2.rst:1619 msgid "socket" msgstr "socket" -#: ../../whatsnew/3.2.rst:1620 +#: ../../whatsnew/3.2.rst:1621 msgid "The :mod:`socket` module has two new improvements." msgstr "" -#: ../../whatsnew/3.2.rst:1622 +#: ../../whatsnew/3.2.rst:1623 msgid "" "Socket objects now have a :meth:`~socket.socket.detach()` method which puts " "the socket into closed state without actually closing the underlying file " @@ -1741,24 +1752,24 @@ msgid "" "Antoine Pitrou; :issue:`8524`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1627 +#: ../../whatsnew/3.2.rst:1628 msgid "" ":func:`socket.create_connection` now supports the context management " "protocol to unconditionally consume :exc:`socket.error` exceptions and to " "close the socket when done. (Contributed by Giampaolo Rodolà; :issue:`9794`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1633 +#: ../../whatsnew/3.2.rst:1634 msgid "ssl" msgstr "ssl" -#: ../../whatsnew/3.2.rst:1635 +#: ../../whatsnew/3.2.rst:1636 msgid "" "The :mod:`ssl` module added a number of features to satisfy common " "requirements for secure (encrypted, authenticated) internet connections:" msgstr "" -#: ../../whatsnew/3.2.rst:1638 +#: ../../whatsnew/3.2.rst:1639 msgid "" "A new class, :class:`~ssl.SSLContext`, serves as a container for persistent " "SSL data, such as protocol settings, certificates, private keys, and various " @@ -1766,22 +1777,23 @@ msgid "" "creating an SSL socket from an SSL context." msgstr "" -#: ../../whatsnew/3.2.rst:1643 +#: ../../whatsnew/3.2.rst:1644 msgid "" -"A new function, :func:`ssl.match_hostname`, supports server identity " +"A new function, :func:`!ssl.match_hostname`, supports server identity " "verification for higher-level protocols by implementing the rules of HTTPS " "(from :rfc:`2818`) which are also suitable for other protocols." msgstr "" -#: ../../whatsnew/3.2.rst:1647 +#: ../../whatsnew/3.2.rst:1648 msgid "" -"The :func:`ssl.wrap_socket` constructor function now takes a *ciphers* " -"argument. The *ciphers* string lists the allowed encryption algorithms " -"using the format described in the `OpenSSL documentation `__." +"The :func:`ssl.wrap_socket() ` constructor " +"function now takes a *ciphers* argument. The *ciphers* string lists the " +"allowed encryption algorithms using the format described in the `OpenSSL " +"documentation `__." msgstr "" -#: ../../whatsnew/3.2.rst:1652 +#: ../../whatsnew/3.2.rst:1653 msgid "" "When linked against recent versions of OpenSSL, the :mod:`ssl` module now " "supports the Server Name Indication extension to the TLS protocol, allowing " @@ -1790,38 +1802,40 @@ msgid "" "the *server_hostname* argument to :meth:`ssl.SSLContext.wrap_socket`." msgstr "" -#: ../../whatsnew/3.2.rst:1658 +#: ../../whatsnew/3.2.rst:1659 msgid "" -"Various options have been added to the :mod:`ssl` module, such as :data:" -"`~ssl.OP_NO_SSLv2` which disables the insecure and obsolete SSLv2 protocol." +"Various options have been added to the :mod:`ssl` module, such " +"as :data:`~ssl.OP_NO_SSLv2` which disables the insecure and obsolete SSLv2 " +"protocol." msgstr "" -#: ../../whatsnew/3.2.rst:1662 +#: ../../whatsnew/3.2.rst:1663 msgid "" "The extension now loads all the OpenSSL ciphers and digest algorithms. If " "some SSL certificates cannot be verified, they are reported as an \"unknown " "algorithm\" error." msgstr "" -#: ../../whatsnew/3.2.rst:1666 +#: ../../whatsnew/3.2.rst:1667 msgid "" "The version of OpenSSL being used is now accessible using the module " -"attributes :data:`ssl.OPENSSL_VERSION` (a string), :data:`ssl." -"OPENSSL_VERSION_INFO` (a 5-tuple), and :data:`ssl.OPENSSL_VERSION_NUMBER` " -"(an integer)." +"attributes :const:`ssl.OPENSSL_VERSION` (a " +"string), :const:`ssl.OPENSSL_VERSION_INFO` (a 5-tuple), " +"and :const:`ssl.OPENSSL_VERSION_NUMBER` (an integer)." msgstr "" -#: ../../whatsnew/3.2.rst:1671 +#: ../../whatsnew/3.2.rst:1672 msgid "" -"(Contributed by Antoine Pitrou in :issue:`8850`, :issue:`1589`, :issue:" -"`8322`, :issue:`5639`, :issue:`4870`, :issue:`8484`, and :issue:`8321`.)" +"(Contributed by Antoine Pitrou " +"in :issue:`8850`, :issue:`1589`, :issue:`8322`, :issue:`5639`, :issue:`4870`, :issue:`8484`, " +"and :issue:`8321`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1675 +#: ../../whatsnew/3.2.rst:1676 msgid "nntp" msgstr "" -#: ../../whatsnew/3.2.rst:1677 +#: ../../whatsnew/3.2.rst:1678 msgid "" "The :mod:`nntplib` module has a revamped implementation with better bytes " "and text semantics as well as more practical APIs. These improvements break " @@ -1829,24 +1843,24 @@ msgid "" "dysfunctional in itself." msgstr "" -#: ../../whatsnew/3.2.rst:1682 +#: ../../whatsnew/3.2.rst:1683 msgid "" -"Support for secure connections through both implicit (using :class:`nntplib." -"NNTP_SSL`) and explicit (using :meth:`nntplib.NNTP.starttls`) TLS has also " -"been added." +"Support for secure connections through both implicit " +"(using :class:`nntplib.NNTP_SSL`) and explicit " +"(using :meth:`nntplib.NNTP.starttls`) TLS has also been added." msgstr "" -#: ../../whatsnew/3.2.rst:1686 +#: ../../whatsnew/3.2.rst:1687 msgid "" -"(Contributed by Antoine Pitrou in :issue:`9360` and Andrew Vant in :issue:" -"`1926`.)" +"(Contributed by Antoine Pitrou in :issue:`9360` and Andrew Vant " +"in :issue:`1926`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1689 +#: ../../whatsnew/3.2.rst:1690 msgid "certificates" -msgstr "" +msgstr "сертифікати" -#: ../../whatsnew/3.2.rst:1691 +#: ../../whatsnew/3.2.rst:1692 msgid "" ":class:`http.client.HTTPSConnection`, :class:`urllib.request.HTTPSHandler` " "and :func:`urllib.request.urlopen` now take optional arguments to allow for " @@ -1854,49 +1868,50 @@ msgid "" "recommended in public uses of HTTPS." msgstr "" -#: ../../whatsnew/3.2.rst:1696 +#: ../../whatsnew/3.2.rst:1697 msgid "(Added by Antoine Pitrou, :issue:`9003`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1699 +#: ../../whatsnew/3.2.rst:1700 msgid "imaplib" msgstr "imaplib" -#: ../../whatsnew/3.2.rst:1701 +#: ../../whatsnew/3.2.rst:1702 msgid "" "Support for explicit TLS on standard IMAP4 connections has been added " "through the new :mod:`imaplib.IMAP4.starttls` method." msgstr "" -#: ../../whatsnew/3.2.rst:1704 +#: ../../whatsnew/3.2.rst:1705 msgid "(Contributed by Lorenzo M. Catucci and Antoine Pitrou, :issue:`4471`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1707 +#: ../../whatsnew/3.2.rst:1708 msgid "http.client" msgstr "http.client" -#: ../../whatsnew/3.2.rst:1709 +#: ../../whatsnew/3.2.rst:1710 msgid "" "There were a number of small API improvements in the :mod:`http.client` " "module. The old-style HTTP 0.9 simple responses are no longer supported and " "the *strict* parameter is deprecated in all classes." msgstr "" -#: ../../whatsnew/3.2.rst:1713 +#: ../../whatsnew/3.2.rst:1714 msgid "" -"The :class:`~http.client.HTTPConnection` and :class:`~http.client." -"HTTPSConnection` classes now have a *source_address* parameter for a (host, " -"port) tuple indicating where the HTTP connection is made from." +"The :class:`~http.client.HTTPConnection` " +"and :class:`~http.client.HTTPSConnection` classes now have a " +"*source_address* parameter for a (host, port) tuple indicating where the " +"HTTP connection is made from." msgstr "" -#: ../../whatsnew/3.2.rst:1718 +#: ../../whatsnew/3.2.rst:1719 msgid "" -"Support for certificate checking and HTTPS virtual hosts were added to :" -"class:`~http.client.HTTPSConnection`." +"Support for certificate checking and HTTPS virtual hosts were added " +"to :class:`~http.client.HTTPSConnection`." msgstr "" -#: ../../whatsnew/3.2.rst:1721 +#: ../../whatsnew/3.2.rst:1722 msgid "" "The :meth:`~http.client.HTTPConnection.request` method on connection objects " "allowed an optional *body* argument so that a :term:`file object` could be " @@ -1906,27 +1921,27 @@ msgid "" "flexible than before." msgstr "" -#: ../../whatsnew/3.2.rst:1728 +#: ../../whatsnew/3.2.rst:1729 msgid "" -"To establish an HTTPS connection through a proxy server, there is a new :" -"meth:`~http.client.HTTPConnection.set_tunnel` method that sets the host and " -"port for HTTP Connect tunneling." +"To establish an HTTPS connection through a proxy server, there is a " +"new :meth:`~http.client.HTTPConnection.set_tunnel` method that sets the host " +"and port for HTTP Connect tunneling." msgstr "" -#: ../../whatsnew/3.2.rst:1732 +#: ../../whatsnew/3.2.rst:1733 msgid "" "To match the behavior of :mod:`http.server`, the HTTP client library now " "also encodes headers with ISO-8859-1 (Latin-1) encoding. It was already " "doing that for incoming headers, so now the behavior is consistent for both " -"incoming and outgoing traffic. (See work by Armin Ronacher in :issue:" -"`10980`.)" +"incoming and outgoing traffic. (See work by Armin Ronacher " +"in :issue:`10980`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1738 +#: ../../whatsnew/3.2.rst:1739 msgid "unittest" msgstr "unittest" -#: ../../whatsnew/3.2.rst:1740 +#: ../../whatsnew/3.2.rst:1741 msgid "" "The unittest module has a number of improvements supporting test discovery " "for packages, easier experimentation at the interactive prompt, new testcase " @@ -1934,7 +1949,7 @@ msgid "" "names." msgstr "" -#: ../../whatsnew/3.2.rst:1745 +#: ../../whatsnew/3.2.rst:1746 msgid "" "The command-line call ``python -m unittest`` can now accept file paths " "instead of module names for running specific tests (:issue:`10620`). The " @@ -1944,29 +1959,31 @@ msgid "" "and a directory to start discovery with ``-s``:" msgstr "" -#: ../../whatsnew/3.2.rst:1756 ../../whatsnew/3.2.rst:1765 -#: ../../whatsnew/3.2.rst:1921 +#: ../../whatsnew/3.2.rst:1757 ../../whatsnew/3.2.rst:1766 +#: ../../whatsnew/3.2.rst:1922 msgid "(Contributed by Michael Foord.)" msgstr "" -#: ../../whatsnew/3.2.rst:1758 +#: ../../whatsnew/3.2.rst:1759 msgid "" -"Experimentation at the interactive prompt is now easier because the :class:" -"`unittest.case.TestCase` class can now be instantiated without arguments:" +"Experimentation at the interactive prompt is now easier because " +"the :class:`unittest.TestCase` class can now be instantiated without " +"arguments:" msgstr "" -#: ../../whatsnew/3.2.rst:1767 +#: ../../whatsnew/3.2.rst:1768 msgid "" -"The :mod:`unittest` module has two new methods, :meth:`~unittest.TestCase." -"assertWarns` and :meth:`~unittest.TestCase.assertWarnsRegex` to verify that " -"a given warning type is triggered by the code under test::" +"The :mod:`unittest` module has two new " +"methods, :meth:`~unittest.TestCase.assertWarns` " +"and :meth:`~unittest.TestCase.assertWarnsRegex` to verify that a given " +"warning type is triggered by the code under test::" msgstr "" -#: ../../whatsnew/3.2.rst:1775 +#: ../../whatsnew/3.2.rst:1776 msgid "(Contributed by Antoine Pitrou, :issue:`9754`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1777 +#: ../../whatsnew/3.2.rst:1778 msgid "" "Another new method, :meth:`~unittest.TestCase.assertCountEqual` is used to " "compare two iterables to determine if their element counts are equal " @@ -1974,7 +1991,7 @@ msgid "" "regardless of order)::" msgstr "" -#: ../../whatsnew/3.2.rst:1787 +#: ../../whatsnew/3.2.rst:1788 msgid "" "A principal feature of the unittest module is an effort to produce " "meaningful diagnostics when a test fails. When possible, the failure is " @@ -1984,125 +2001,125 @@ msgid "" "that sets maximum length of diffs displayed." msgstr "" -#: ../../whatsnew/3.2.rst:1794 +#: ../../whatsnew/3.2.rst:1795 msgid "" "In addition, the method names in the module have undergone a number of clean-" "ups." msgstr "" -#: ../../whatsnew/3.2.rst:1796 +#: ../../whatsnew/3.2.rst:1797 msgid "" -"For example, :meth:`~unittest.TestCase.assertRegex` is the new name for :" -"meth:`~unittest.TestCase.assertRegexpMatches` which was misnamed because the " -"test uses :func:`re.search`, not :func:`re.match`. Other methods using " -"regular expressions are now named using short form \"Regex\" in preference " -"to \"Regexp\" -- this matches the names used in other unittest " -"implementations, matches Python's old name for the :mod:`re` module, and it " -"has unambiguous camel-casing." +"For example, :meth:`~unittest.TestCase.assertRegex` is the new name " +"for :meth:`!assertRegexpMatches` which was misnamed because the test " +"uses :func:`re.search`, not :func:`re.match`. Other methods using regular " +"expressions are now named using short form \"Regex\" in preference to " +"\"Regexp\" -- this matches the names used in other unittest implementations, " +"matches Python's old name for the :mod:`re` module, and it has unambiguous " +"camel-casing." msgstr "" -#: ../../whatsnew/3.2.rst:1804 +#: ../../whatsnew/3.2.rst:1805 msgid "(Contributed by Raymond Hettinger and implemented by Ezio Melotti.)" msgstr "" -#: ../../whatsnew/3.2.rst:1806 +#: ../../whatsnew/3.2.rst:1807 msgid "" "To improve consistency, some long-standing method aliases are being " "deprecated in favor of the preferred names:" msgstr "" -#: ../../whatsnew/3.2.rst:1810 +#: ../../whatsnew/3.2.rst:1811 msgid "Old Name" msgstr "Old Name" -#: ../../whatsnew/3.2.rst:1810 +#: ../../whatsnew/3.2.rst:1811 msgid "Preferred Name" msgstr "" -#: ../../whatsnew/3.2.rst:1812 -msgid ":meth:`assert_`" -msgstr ":meth:`assert_`" +#: ../../whatsnew/3.2.rst:1813 +msgid ":meth:`!assert_`" +msgstr "" -#: ../../whatsnew/3.2.rst:1812 +#: ../../whatsnew/3.2.rst:1813 msgid ":meth:`.assertTrue`" msgstr ":meth:`.assertTrue`" -#: ../../whatsnew/3.2.rst:1813 -msgid ":meth:`assertEquals`" -msgstr ":meth:`assertEquals`" +#: ../../whatsnew/3.2.rst:1814 +msgid ":meth:`!assertEquals`" +msgstr "" -#: ../../whatsnew/3.2.rst:1813 +#: ../../whatsnew/3.2.rst:1814 msgid ":meth:`.assertEqual`" msgstr ":meth:`.assertEqual`" -#: ../../whatsnew/3.2.rst:1814 -msgid ":meth:`assertNotEquals`" -msgstr ":meth:`assertNotEquals`" +#: ../../whatsnew/3.2.rst:1815 +msgid ":meth:`!assertNotEquals`" +msgstr "" -#: ../../whatsnew/3.2.rst:1814 +#: ../../whatsnew/3.2.rst:1815 msgid ":meth:`.assertNotEqual`" msgstr ":meth:`.assertNotEqual`" -#: ../../whatsnew/3.2.rst:1815 -msgid ":meth:`assertAlmostEquals`" -msgstr ":meth:`assertAlmostEquals`" +#: ../../whatsnew/3.2.rst:1816 +msgid ":meth:`!assertAlmostEquals`" +msgstr "" -#: ../../whatsnew/3.2.rst:1815 +#: ../../whatsnew/3.2.rst:1816 msgid ":meth:`.assertAlmostEqual`" msgstr ":meth:`.assertAlmostEqual`" -#: ../../whatsnew/3.2.rst:1816 -msgid ":meth:`assertNotAlmostEquals`" -msgstr ":meth:`assertNotAlmostEquals`" +#: ../../whatsnew/3.2.rst:1817 +msgid ":meth:`!assertNotAlmostEquals`" +msgstr "" -#: ../../whatsnew/3.2.rst:1816 +#: ../../whatsnew/3.2.rst:1817 msgid ":meth:`.assertNotAlmostEqual`" msgstr ":meth:`.assertNotAlmostEqual`" -#: ../../whatsnew/3.2.rst:1819 +#: ../../whatsnew/3.2.rst:1820 msgid "" "Likewise, the ``TestCase.fail*`` methods deprecated in Python 3.1 are " "expected to be removed in Python 3.3. Also see the :ref:`deprecated-" "aliases` section in the :mod:`unittest` documentation." msgstr "" -#: ../../whatsnew/3.2.rst:1823 +#: ../../whatsnew/3.2.rst:1824 msgid "(Contributed by Ezio Melotti; :issue:`9424`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1825 +#: ../../whatsnew/3.2.rst:1826 msgid "" -"The :meth:`~unittest.TestCase.assertDictContainsSubset` method was " -"deprecated because it was misimplemented with the arguments in the wrong " -"order. This created hard-to-debug optical illusions where tests like " +"The :meth:`!assertDictContainsSubset` method was deprecated because it was " +"misimplemented with the arguments in the wrong order. This created hard-to-" +"debug optical illusions where tests like " "``TestCase().assertDictContainsSubset({'a':1, 'b':2}, {'a':1})`` would fail." msgstr "" -#: ../../whatsnew/3.2.rst:1833 +#: ../../whatsnew/3.2.rst:1834 msgid "random" msgstr "random" -#: ../../whatsnew/3.2.rst:1835 +#: ../../whatsnew/3.2.rst:1836 msgid "" "The integer methods in the :mod:`random` module now do a better job of " "producing uniform distributions. Previously, they computed selections with " "``int(n*random())`` which had a slight bias whenever *n* was not a power of " "two. Now, multiple selections are made from a range up to the next power of " "two and a selection is kept only when it falls within the range ``0 <= x < " -"n``. The functions and methods affected are :func:`~random.randrange`, :" -"func:`~random.randint`, :func:`~random.choice`, :func:`~random.shuffle` and :" -"func:`~random.sample`." +"n``. The functions and methods affected " +"are :func:`~random.randrange`, :func:`~random.randint`, :func:`~random.choice`, :func:`~random.shuffle` " +"and :func:`~random.sample`." msgstr "" -#: ../../whatsnew/3.2.rst:1844 +#: ../../whatsnew/3.2.rst:1845 msgid "(Contributed by Raymond Hettinger; :issue:`9025`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1847 +#: ../../whatsnew/3.2.rst:1848 msgid "poplib" msgstr "poplib" -#: ../../whatsnew/3.2.rst:1849 +#: ../../whatsnew/3.2.rst:1850 msgid "" ":class:`~poplib.POP3_SSL` class now accepts a *context* parameter, which is " "a :class:`ssl.SSLContext` object allowing bundling SSL configuration " @@ -2110,377 +2127,380 @@ msgid "" "lived) structure." msgstr "" -#: ../../whatsnew/3.2.rst:1854 +#: ../../whatsnew/3.2.rst:1855 msgid "(Contributed by Giampaolo Rodolà; :issue:`8807`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1857 +#: ../../whatsnew/3.2.rst:1858 msgid "asyncore" msgstr "asyncore" -#: ../../whatsnew/3.2.rst:1859 +#: ../../whatsnew/3.2.rst:1860 msgid "" -":class:`asyncore.dispatcher` now provides a :meth:`~asyncore.dispatcher." -"handle_accepted()` method returning a ``(sock, addr)`` pair which is called " -"when a connection has actually been established with a new remote endpoint. " -"This is supposed to be used as a replacement for old :meth:`~asyncore." -"dispatcher.handle_accept()` and avoids the user to call :meth:`~asyncore." -"dispatcher.accept()` directly." +":class:`asyncore.dispatcher` now provides " +"a :meth:`~asyncore.dispatcher.handle_accepted()` method returning a ``(sock, " +"addr)`` pair which is called when a connection has actually been established " +"with a new remote endpoint. This is supposed to be used as a replacement for " +"old :meth:`~asyncore.dispatcher.handle_accept()` and avoids the user to " +"call :meth:`~asyncore.dispatcher.accept()` directly." msgstr "" -#: ../../whatsnew/3.2.rst:1866 +#: ../../whatsnew/3.2.rst:1867 msgid "(Contributed by Giampaolo Rodolà; :issue:`6706`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1869 +#: ../../whatsnew/3.2.rst:1870 msgid "tempfile" msgstr "tempfile" -#: ../../whatsnew/3.2.rst:1871 +#: ../../whatsnew/3.2.rst:1872 msgid "" -"The :mod:`tempfile` module has a new context manager, :class:`~tempfile." -"TemporaryDirectory` which provides easy deterministic cleanup of temporary " -"directories::" +"The :mod:`tempfile` module has a new context " +"manager, :class:`~tempfile.TemporaryDirectory` which provides easy " +"deterministic cleanup of temporary directories::" msgstr "" -#: ../../whatsnew/3.2.rst:1878 +#: ../../whatsnew/3.2.rst:1879 msgid "(Contributed by Neil Schemenauer and Nick Coghlan; :issue:`5178`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1881 +#: ../../whatsnew/3.2.rst:1882 msgid "inspect" msgstr "inspect" -#: ../../whatsnew/3.2.rst:1883 +#: ../../whatsnew/3.2.rst:1884 msgid "" -"The :mod:`inspect` module has a new function :func:`~inspect." -"getgeneratorstate` to easily identify the current state of a generator-" -"iterator::" +"The :mod:`inspect` module has a new " +"function :func:`~inspect.getgeneratorstate` to easily identify the current " +"state of a generator-iterator::" msgstr "" -#: ../../whatsnew/3.2.rst:1901 +#: ../../whatsnew/3.2.rst:1902 msgid "(Contributed by Rodolpho Eckhardt and Nick Coghlan, :issue:`10220`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1903 +#: ../../whatsnew/3.2.rst:1904 msgid "" "To support lookups without the possibility of activating a dynamic " -"attribute, the :mod:`inspect` module has a new function, :func:`~inspect." -"getattr_static`. Unlike :func:`hasattr`, this is a true read-only search, " -"guaranteed not to change state while it is searching::" +"attribute, the :mod:`inspect` module has a new " +"function, :func:`~inspect.getattr_static`. Unlike :func:`hasattr`, this is a " +"true read-only search, guaranteed not to change state while it is searching::" msgstr "" -#: ../../whatsnew/3.2.rst:1924 +#: ../../whatsnew/3.2.rst:1925 msgid "pydoc" msgstr "pydoc" -#: ../../whatsnew/3.2.rst:1926 +#: ../../whatsnew/3.2.rst:1927 msgid "" "The :mod:`pydoc` module now provides a much-improved web server interface, " "as well as a new command-line option ``-b`` to automatically open a browser " "window to display that server:" msgstr "" -#: ../../whatsnew/3.2.rst:1934 +#: ../../whatsnew/3.2.rst:1935 msgid "(Contributed by Ron Adam; :issue:`2001`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1937 +#: ../../whatsnew/3.2.rst:1938 msgid "dis" msgstr "dis" -#: ../../whatsnew/3.2.rst:1939 +#: ../../whatsnew/3.2.rst:1940 msgid "" -"The :mod:`dis` module gained two new functions for inspecting code, :func:" -"`~dis.code_info` and :func:`~dis.show_code`. Both provide detailed code " -"object information for the supplied function, method, source code string or " -"code object. The former returns a string and the latter prints it::" +"The :mod:`dis` module gained two new functions for inspecting " +"code, :func:`~dis.code_info` and :func:`~dis.show_code`. Both provide " +"detailed code object information for the supplied function, method, source " +"code string or code object. The former returns a string and the latter " +"prints it::" msgstr "" -#: ../../whatsnew/3.2.rst:1966 +#: ../../whatsnew/3.2.rst:1967 msgid "" "In addition, the :func:`~dis.dis` function now accepts string arguments so " "that the common idiom ``dis(compile(s, '', 'eval'))`` can be shortened to " "``dis(s)``::" msgstr "" -#: ../../whatsnew/3.2.rst:1988 +#: ../../whatsnew/3.2.rst:1989 msgid "" "Taken together, these improvements make it easier to explore how CPython is " "implemented and to see for yourself what the language syntax does under-the-" "hood." msgstr "" -#: ../../whatsnew/3.2.rst:1992 +#: ../../whatsnew/3.2.rst:1993 msgid "(Contributed by Nick Coghlan in :issue:`9147`.)" msgstr "" -#: ../../whatsnew/3.2.rst:1995 +#: ../../whatsnew/3.2.rst:1996 msgid "dbm" msgstr "dbm" -#: ../../whatsnew/3.2.rst:1997 +#: ../../whatsnew/3.2.rst:1998 msgid "" -"All database modules now support the :meth:`get` and :meth:`setdefault` " +"All database modules now support the :meth:`!get` and :meth:`!setdefault` " "methods." msgstr "" -#: ../../whatsnew/3.2.rst:1999 +#: ../../whatsnew/3.2.rst:2000 msgid "(Suggested by Ray Allen in :issue:`9523`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2002 +#: ../../whatsnew/3.2.rst:2003 msgid "ctypes" msgstr "ctypes" -#: ../../whatsnew/3.2.rst:2004 +#: ../../whatsnew/3.2.rst:2005 msgid "" "A new type, :class:`ctypes.c_ssize_t` represents the C :c:type:`ssize_t` " "datatype." msgstr "" -#: ../../whatsnew/3.2.rst:2007 +#: ../../whatsnew/3.2.rst:2008 msgid "site" msgstr "site" -#: ../../whatsnew/3.2.rst:2009 +#: ../../whatsnew/3.2.rst:2010 msgid "" "The :mod:`site` module has three new functions useful for reporting on the " "details of a given Python installation." msgstr "" -#: ../../whatsnew/3.2.rst:2012 +#: ../../whatsnew/3.2.rst:2013 msgid "" ":func:`~site.getsitepackages` lists all global site-packages directories." msgstr "" -#: ../../whatsnew/3.2.rst:2014 +#: ../../whatsnew/3.2.rst:2015 msgid "" ":func:`~site.getuserbase` reports on the user's base directory where data " "can be stored." msgstr "" -#: ../../whatsnew/3.2.rst:2017 +#: ../../whatsnew/3.2.rst:2018 msgid "" ":func:`~site.getusersitepackages` reveals the user-specific site-packages " "directory path." msgstr "" -#: ../../whatsnew/3.2.rst:2032 +#: ../../whatsnew/3.2.rst:2033 msgid "" "Conveniently, some of site's functionality is accessible directly from the " "command-line:" msgstr "" -#: ../../whatsnew/3.2.rst:2042 +#: ../../whatsnew/3.2.rst:2043 msgid "(Contributed by Tarek Ziadé in :issue:`6693`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2045 +#: ../../whatsnew/3.2.rst:2046 msgid "sysconfig" msgstr "sysconfig" -#: ../../whatsnew/3.2.rst:2047 +#: ../../whatsnew/3.2.rst:2048 msgid "" "The new :mod:`sysconfig` module makes it straightforward to discover " "installation paths and configuration variables that vary across platforms " "and installations." msgstr "" -#: ../../whatsnew/3.2.rst:2051 +#: ../../whatsnew/3.2.rst:2052 msgid "" "The module offers access simple access functions for platform and version " "information:" msgstr "" -#: ../../whatsnew/3.2.rst:2054 +#: ../../whatsnew/3.2.rst:2055 msgid "" ":func:`~sysconfig.get_platform` returning values like *linux-i586* or " "*macosx-10.6-ppc*." msgstr "" -#: ../../whatsnew/3.2.rst:2056 +#: ../../whatsnew/3.2.rst:2057 msgid "" ":func:`~sysconfig.get_python_version` returns a Python version string such " "as \"3.2\"." msgstr "" -#: ../../whatsnew/3.2.rst:2059 +#: ../../whatsnew/3.2.rst:2060 msgid "" "It also provides access to the paths and variables corresponding to one of " "seven named schemes used by :mod:`distutils`. Those include *posix_prefix*, " "*posix_home*, *posix_user*, *nt*, *nt_user*, *os2*, *os2_home*:" msgstr "" -#: ../../whatsnew/3.2.rst:2063 +#: ../../whatsnew/3.2.rst:2064 msgid "" ":func:`~sysconfig.get_paths` makes a dictionary containing installation " "paths for the current installation scheme." msgstr "" -#: ../../whatsnew/3.2.rst:2065 +#: ../../whatsnew/3.2.rst:2066 msgid "" ":func:`~sysconfig.get_config_vars` returns a dictionary of platform specific " "variables." msgstr "" -#: ../../whatsnew/3.2.rst:2068 +#: ../../whatsnew/3.2.rst:2069 msgid "There is also a convenient command-line interface:" msgstr "" -#: ../../whatsnew/3.2.rst:2107 +#: ../../whatsnew/3.2.rst:2108 msgid "(Moved out of Distutils by Tarek Ziadé.)" msgstr "" -#: ../../whatsnew/3.2.rst:2110 +#: ../../whatsnew/3.2.rst:2111 msgid "pdb" msgstr "pdb" -#: ../../whatsnew/3.2.rst:2112 +#: ../../whatsnew/3.2.rst:2113 msgid "" "The :mod:`pdb` debugger module gained a number of usability improvements:" msgstr "" -#: ../../whatsnew/3.2.rst:2114 +#: ../../whatsnew/3.2.rst:2115 msgid "" -":file:`pdb.py` now has a ``-c`` option that executes commands as given in a :" -"file:`.pdbrc` script file." +":file:`pdb.py` now has a ``-c`` option that executes commands as given in " +"a :file:`.pdbrc` script file." msgstr "" -#: ../../whatsnew/3.2.rst:2116 +#: ../../whatsnew/3.2.rst:2117 msgid "" "A :file:`.pdbrc` script file can contain ``continue`` and ``next`` commands " "that continue debugging." msgstr "" -#: ../../whatsnew/3.2.rst:2118 -msgid "The :class:`Pdb` class constructor now accepts a *nosigint* argument." +#: ../../whatsnew/3.2.rst:2119 +msgid "" +"The :class:`~pdb.Pdb` class constructor now accepts a *nosigint* argument." msgstr "" -#: ../../whatsnew/3.2.rst:2119 +#: ../../whatsnew/3.2.rst:2120 msgid "" "New commands: ``l(list)``, ``ll(long list)`` and ``source`` for listing " "source code." msgstr "" -#: ../../whatsnew/3.2.rst:2121 +#: ../../whatsnew/3.2.rst:2122 msgid "" "New commands: ``display`` and ``undisplay`` for showing or hiding the value " "of an expression if it has changed." msgstr "" -#: ../../whatsnew/3.2.rst:2123 +#: ../../whatsnew/3.2.rst:2124 msgid "" "New command: ``interact`` for starting an interactive interpreter containing " "the global and local names found in the current scope." msgstr "" -#: ../../whatsnew/3.2.rst:2125 +#: ../../whatsnew/3.2.rst:2126 msgid "Breakpoints can be cleared by breakpoint number." msgstr "" -#: ../../whatsnew/3.2.rst:2127 +#: ../../whatsnew/3.2.rst:2128 msgid "(Contributed by Georg Brandl, Antonio Cuni and Ilya Sandler.)" msgstr "" -#: ../../whatsnew/3.2.rst:2130 +#: ../../whatsnew/3.2.rst:2131 msgid "configparser" msgstr "configparser" -#: ../../whatsnew/3.2.rst:2132 +#: ../../whatsnew/3.2.rst:2133 msgid "" "The :mod:`configparser` module was modified to improve usability and " -"predictability of the default parser and its supported INI syntax. The old :" -"class:`ConfigParser` class was removed in favor of :class:`SafeConfigParser` " -"which has in turn been renamed to :class:`~configparser.ConfigParser`. " -"Support for inline comments is now turned off by default and section or " -"option duplicates are not allowed in a single configuration source." +"predictability of the default parser and its supported INI syntax. The " +"old :class:`!ConfigParser` class was removed in favor of :class:`!" +"SafeConfigParser` which has in turn been renamed " +"to :class:`~configparser.ConfigParser`. Support for inline comments is now " +"turned off by default and section or option duplicates are not allowed in a " +"single configuration source." msgstr "" -#: ../../whatsnew/3.2.rst:2139 +#: ../../whatsnew/3.2.rst:2140 msgid "Config parsers gained a new API based on the mapping protocol::" msgstr "" -#: ../../whatsnew/3.2.rst:2167 +#: ../../whatsnew/3.2.rst:2168 msgid "" "The new API is implemented on top of the classical API, so custom parser " "subclasses should be able to use it without modifications." msgstr "" -#: ../../whatsnew/3.2.rst:2170 +#: ../../whatsnew/3.2.rst:2171 msgid "" "The INI file structure accepted by config parsers can now be customized. " "Users can specify alternative option/value delimiters and comment prefixes, " "change the name of the *DEFAULT* section or switch the interpolation syntax." msgstr "" -#: ../../whatsnew/3.2.rst:2174 +#: ../../whatsnew/3.2.rst:2175 msgid "" "There is support for pluggable interpolation including an additional " "interpolation handler :class:`~configparser.ExtendedInterpolation`::" msgstr "" -#: ../../whatsnew/3.2.rst:2207 +#: ../../whatsnew/3.2.rst:2208 msgid "" "A number of smaller features were also introduced, like support for " "specifying encoding in read operations, specifying fallback values for get-" "functions, or reading directly from dictionaries and strings." msgstr "" -#: ../../whatsnew/3.2.rst:2211 +#: ../../whatsnew/3.2.rst:2212 msgid "(All changes contributed by Łukasz Langa.)" msgstr "" -#: ../../whatsnew/3.2.rst:2216 +#: ../../whatsnew/3.2.rst:2217 msgid "urllib.parse" msgstr "urllib.parse" -#: ../../whatsnew/3.2.rst:2218 +#: ../../whatsnew/3.2.rst:2219 msgid "" "A number of usability improvements were made for the :mod:`urllib.parse` " "module." msgstr "" -#: ../../whatsnew/3.2.rst:2220 +#: ../../whatsnew/3.2.rst:2221 msgid "" -"The :func:`~urllib.parse.urlparse` function now supports `IPv6 `_ addresses as described in :rfc:`2732`:" +"The :func:`~urllib.parse.urlparse` function now supports `IPv6 `_ addresses as described in :rfc:`2732`:" msgstr "" -#: ../../whatsnew/3.2.rst:2232 +#: ../../whatsnew/3.2.rst:2233 msgid "" "The :func:`~urllib.parse.urldefrag` function now returns a :term:`named " "tuple`::" msgstr "" -#: ../../whatsnew/3.2.rst:2242 +#: ../../whatsnew/3.2.rst:2243 msgid "" "And, the :func:`~urllib.parse.urlencode` function is now much more flexible, " "accepting either a string or bytes type for the *query* argument. If it is " -"a string, then the *safe*, *encoding*, and *error* parameters are sent to :" -"func:`~urllib.parse.quote_plus` for encoding::" +"a string, then the *safe*, *encoding*, and *error* parameters are sent " +"to :func:`~urllib.parse.quote_plus` for encoding::" msgstr "" -#: ../../whatsnew/3.2.rst:2253 +#: ../../whatsnew/3.2.rst:2254 msgid "" -"As detailed in :ref:`parsing-ascii-encoded-bytes`, all the :mod:`urllib." -"parse` functions now accept ASCII-encoded byte strings as input, so long as " -"they are not mixed with regular strings. If ASCII-encoded byte strings are " -"given as parameters, the return types will also be an ASCII-encoded byte " -"strings:" +"As detailed in :ref:`parsing-ascii-encoded-bytes`, all " +"the :mod:`urllib.parse` functions now accept ASCII-encoded byte strings as " +"input, so long as they are not mixed with regular strings. If ASCII-encoded " +"byte strings are given as parameters, the return types will also be an ASCII-" +"encoded byte strings:" msgstr "" -#: ../../whatsnew/3.2.rst:2262 +#: ../../whatsnew/3.2.rst:2263 msgid "" -"(Work by Nick Coghlan, Dan Mahn, and Senthil Kumaran in :issue:`2987`, :" -"issue:`5468`, and :issue:`9873`.)" +"(Work by Nick Coghlan, Dan Mahn, and Senthil Kumaran " +"in :issue:`2987`, :issue:`5468`, and :issue:`9873`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2266 +#: ../../whatsnew/3.2.rst:2267 msgid "mailbox" msgstr "" -#: ../../whatsnew/3.2.rst:2268 +#: ../../whatsnew/3.2.rst:2269 msgid "" "Thanks to a concerted effort by R. David Murray, the :mod:`mailbox` module " "has been fixed for Python 3.2. The challenge was that mailbox had been " @@ -2489,71 +2509,71 @@ msgid "" "different encodings." msgstr "" -#: ../../whatsnew/3.2.rst:2273 +#: ../../whatsnew/3.2.rst:2274 msgid "" "The solution harnessed the :mod:`email` package's binary support for parsing " "arbitrary email messages. In addition, the solution required a number of " "API changes." msgstr "" -#: ../../whatsnew/3.2.rst:2277 +#: ../../whatsnew/3.2.rst:2278 msgid "" -"As expected, the :meth:`~mailbox.Mailbox.add` method for :class:`mailbox." -"Mailbox` objects now accepts binary input." +"As expected, the :meth:`~mailbox.Mailbox.add` method " +"for :class:`mailbox.Mailbox` objects now accepts binary input." msgstr "" -#: ../../whatsnew/3.2.rst:2280 +#: ../../whatsnew/3.2.rst:2281 msgid "" ":class:`~io.StringIO` and text file input are deprecated. Also, string " "input will fail early if non-ASCII characters are used. Previously it would " "fail when the email was processed in a later step." msgstr "" -#: ../../whatsnew/3.2.rst:2284 +#: ../../whatsnew/3.2.rst:2285 msgid "" -"There is also support for binary output. The :meth:`~mailbox.Mailbox." -"get_file` method now returns a file in the binary mode (where it used to " -"incorrectly set the file to text-mode). There is also a new :meth:`~mailbox." -"Mailbox.get_bytes` method that returns a :class:`bytes` representation of a " -"message corresponding to a given *key*." +"There is also support for binary output. " +"The :meth:`~mailbox.Mailbox.get_file` method now returns a file in the " +"binary mode (where it used to incorrectly set the file to text-mode). There " +"is also a new :meth:`~mailbox.Mailbox.get_bytes` method that returns " +"a :class:`bytes` representation of a message corresponding to a given *key*." msgstr "" -#: ../../whatsnew/3.2.rst:2290 +#: ../../whatsnew/3.2.rst:2291 msgid "" -"It is still possible to get non-binary output using the old API's :meth:" -"`~mailbox.Mailbox.get_string` method, but that approach is not very useful. " -"Instead, it is best to extract messages from a :class:`~mailbox.Message` " -"object or to load them from binary input." +"It is still possible to get non-binary output using the old " +"API's :meth:`~mailbox.Mailbox.get_string` method, but that approach is not " +"very useful. Instead, it is best to extract messages from " +"a :class:`~mailbox.Message` object or to load them from binary input." msgstr "" -#: ../../whatsnew/3.2.rst:2295 +#: ../../whatsnew/3.2.rst:2296 msgid "" "(Contributed by R. David Murray, with efforts from Steffen Daode Nurpmeso " "and an initial patch by Victor Stinner in :issue:`9124`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2299 +#: ../../whatsnew/3.2.rst:2300 msgid "turtledemo" msgstr "" -#: ../../whatsnew/3.2.rst:2301 +#: ../../whatsnew/3.2.rst:2302 msgid "" "The demonstration code for the :mod:`turtle` module was moved from the " "*Demo* directory to main library. It includes over a dozen sample scripts " -"with lively displays. Being on :attr:`sys.path`, it can now be run directly " +"with lively displays. Being on :data:`sys.path`, it can now be run directly " "from the command-line:" msgstr "" -#: ../../whatsnew/3.2.rst:2310 +#: ../../whatsnew/3.2.rst:2311 msgid "" "(Moved from the Demo directory by Alexander Belopolsky in :issue:`10199`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2313 +#: ../../whatsnew/3.2.rst:2314 msgid "Multi-threading" msgstr "Multi-threading" -#: ../../whatsnew/3.2.rst:2315 +#: ../../whatsnew/3.2.rst:2316 msgid "" "The mechanism for serializing execution of concurrently running Python " "threads (generally known as the :term:`GIL` or Global Interpreter Lock) has " @@ -2561,11 +2581,12 @@ msgid "" "intervals and reduced overhead due to lock contention and the number of " "ensuing system calls. The notion of a \"check interval\" to allow thread " "switches has been abandoned and replaced by an absolute duration expressed " -"in seconds. This parameter is tunable through :func:`sys." -"setswitchinterval()`. It currently defaults to 5 milliseconds." +"in seconds. This parameter is tunable " +"through :func:`sys.setswitchinterval()`. It currently defaults to 5 " +"milliseconds." msgstr "" -#: ../../whatsnew/3.2.rst:2324 +#: ../../whatsnew/3.2.rst:2325 msgid "" "Additional details about the implementation can be read from a `python-dev " "mailing-list message `_ used in :" -"meth:`list.sort` and :func:`sorted` now runs faster and uses less memory " +"The `Timsort algorithm `_ used " +"in :meth:`list.sort` and :func:`sorted` now runs faster and uses less memory " "when called with a :term:`key function`. Previously, every element of a " "list was wrapped with a temporary object that remembered the key value " "associated with each element. Now, two arrays of keys and values are sorted " @@ -2649,74 +2670,76 @@ msgid "" "saves time lost to delegating comparisons." msgstr "" -#: ../../whatsnew/3.2.rst:2379 +#: ../../whatsnew/3.2.rst:2380 msgid "(Patch by Daniel Stutzbach in :issue:`9915`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2381 +#: ../../whatsnew/3.2.rst:2382 msgid "" "JSON decoding performance is improved and memory consumption is reduced " "whenever the same string is repeated for multiple keys. Also, JSON encoding " "now uses the C speedups when the ``sort_keys`` argument is true." msgstr "" -#: ../../whatsnew/3.2.rst:2385 +#: ../../whatsnew/3.2.rst:2386 msgid "" "(Contributed by Antoine Pitrou in :issue:`7451` and by Raymond Hettinger and " "Antoine Pitrou in :issue:`10314`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2388 +#: ../../whatsnew/3.2.rst:2389 msgid "" "Recursive locks (created with the :func:`threading.RLock` API) now benefit " "from a C implementation which makes them as fast as regular locks, and " "between 10x and 15x faster than their previous pure Python implementation." msgstr "" -#: ../../whatsnew/3.2.rst:2392 +#: ../../whatsnew/3.2.rst:2393 msgid "(Contributed by Antoine Pitrou; :issue:`3001`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2394 +#: ../../whatsnew/3.2.rst:2395 msgid "" -"The fast-search algorithm in stringlib is now used by the :meth:`split`, :" -"meth:`rsplit`, :meth:`splitlines` and :meth:`replace` methods on :class:" -"`bytes`, :class:`bytearray` and :class:`str` objects. Likewise, the " -"algorithm is also used by :meth:`rfind`, :meth:`rindex`, :meth:`rsplit` and :" -"meth:`rpartition`." +"The fast-search algorithm in stringlib is now used by " +"the :meth:`~str.split`, :meth:`~str.rsplit`, :meth:`~str.splitlines` " +"and :meth:`~str.replace` methods on :class:`bytes`, :class:`bytearray` " +"and :class:`str` objects. Likewise, the algorithm is also used " +"by :meth:`~str.rfind`, :meth:`~str.rindex`, :meth:`~str.rsplit` " +"and :meth:`~str.rpartition`." msgstr "" -#: ../../whatsnew/3.2.rst:2400 +#: ../../whatsnew/3.2.rst:2401 msgid "(Patch by Florent Xicluna in :issue:`7622` and :issue:`7462`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2403 +#: ../../whatsnew/3.2.rst:2404 msgid "" "Integer to string conversions now work two \"digits\" at a time, reducing " "the number of division and modulo operations." msgstr "" -#: ../../whatsnew/3.2.rst:2406 +#: ../../whatsnew/3.2.rst:2407 msgid "(:issue:`6713` by Gawain Bolton, Mark Dickinson, and Victor Stinner.)" msgstr "" -#: ../../whatsnew/3.2.rst:2408 +#: ../../whatsnew/3.2.rst:2409 msgid "" "There were several other minor optimizations. Set differencing now runs " "faster when one operand is much larger than the other (patch by Andress " -"Bennetts in :issue:`8685`). The :meth:`array.repeat` method has a faster " -"implementation (:issue:`1569291` by Alexander Belopolsky). The :class:" -"`BaseHTTPRequestHandler` has more efficient buffering (:issue:`3709` by " -"Andrew Schaaf). The :func:`operator.attrgetter` function has been sped-up (:" -"issue:`10160` by Christos Georgiou). And :class:`ConfigParser` loads multi-" -"line arguments a bit faster (:issue:`7113` by Łukasz Langa)." +"Bennetts in :issue:`8685`). The :meth:`!array.repeat` method has a faster " +"implementation (:issue:`1569291` by Alexander Belopolsky). " +"The :class:`~http.server.BaseHTTPRequestHandler` has more efficient " +"buffering (:issue:`3709` by Andrew Schaaf). The :func:`operator.attrgetter` " +"function has been sped-up (:issue:`10160` by Christos Georgiou). " +"And :class:`~configparser.ConfigParser` loads multi-line arguments a bit " +"faster (:issue:`7113` by Łukasz Langa)." msgstr "" -#: ../../whatsnew/3.2.rst:2419 +#: ../../whatsnew/3.2.rst:2420 msgid "Unicode" msgstr "Unicode" -#: ../../whatsnew/3.2.rst:2421 +#: ../../whatsnew/3.2.rst:2422 msgid "" "Python has been updated to `Unicode 6.0.0 `_. The update to the standard adds over 2,000 new characters " @@ -2724,7 +2747,7 @@ msgid "" "important for mobile phones." msgstr "" -#: ../../whatsnew/3.2.rst:2426 +#: ../../whatsnew/3.2.rst:2427 msgid "" "In addition, the updated standard has altered the character properties for " "two Kannada characters (U+0CF1, U+0CF2) and one New Tai Lue numeric " @@ -2734,15 +2757,15 @@ msgid "" "#Database_Changes>`_." msgstr "" -#: ../../whatsnew/3.2.rst:2434 +#: ../../whatsnew/3.2.rst:2435 msgid "Codecs" msgstr "Codecs" -#: ../../whatsnew/3.2.rst:2436 +#: ../../whatsnew/3.2.rst:2437 msgid "Support was added for *cp720* Arabic DOS encoding (:issue:`1616979`)." msgstr "" -#: ../../whatsnew/3.2.rst:2438 +#: ../../whatsnew/3.2.rst:2439 msgid "" "MBCS encoding no longer ignores the error handler argument. In the default " "strict mode, it raises an :exc:`UnicodeDecodeError` when it encounters an " @@ -2750,40 +2773,40 @@ msgid "" "unencodable character." msgstr "" -#: ../../whatsnew/3.2.rst:2443 +#: ../../whatsnew/3.2.rst:2444 msgid "" "The MBCS codec supports ``'strict'`` and ``'ignore'`` error handlers for " "decoding, and ``'strict'`` and ``'replace'`` for encoding." msgstr "" -#: ../../whatsnew/3.2.rst:2446 +#: ../../whatsnew/3.2.rst:2447 msgid "" "To emulate Python3.1 MBCS encoding, select the ``'ignore'`` handler for " "decoding and the ``'replace'`` handler for encoding." msgstr "" -#: ../../whatsnew/3.2.rst:2449 +#: ../../whatsnew/3.2.rst:2450 msgid "" "On Mac OS X, Python decodes command line arguments with ``'utf-8'`` rather " "than the locale encoding." msgstr "" -#: ../../whatsnew/3.2.rst:2452 +#: ../../whatsnew/3.2.rst:2453 msgid "" "By default, :mod:`tarfile` uses ``'utf-8'`` encoding on Windows (instead of " "``'mbcs'``) and the ``'surrogateescape'`` error handler on all operating " "systems." msgstr "" -#: ../../whatsnew/3.2.rst:2458 +#: ../../whatsnew/3.2.rst:2459 msgid "Documentation" msgstr "Documentação" -#: ../../whatsnew/3.2.rst:2460 +#: ../../whatsnew/3.2.rst:2461 msgid "The documentation continues to be improved." msgstr "" -#: ../../whatsnew/3.2.rst:2462 +#: ../../whatsnew/3.2.rst:2463 msgid "" "A table of quick links has been added to the top of lengthy sections such " "as :ref:`built-in-funcs`. In the case of :mod:`itertools`, the links are " @@ -2791,7 +2814,7 @@ msgid "" "and memory jog without having to read all of the docs." msgstr "" -#: ../../whatsnew/3.2.rst:2467 +#: ../../whatsnew/3.2.rst:2468 msgid "" "In some cases, the pure Python source code can be a helpful adjunct to the " "documentation, so now many modules now feature quick links to the latest " @@ -2799,109 +2822,110 @@ msgid "" "documentation has a quick link at the top labeled:" msgstr "" -#: ../../whatsnew/3.2.rst:2472 +#: ../../whatsnew/3.2.rst:2473 msgid "**Source code** :source:`Lib/functools.py`." msgstr "" -#: ../../whatsnew/3.2.rst:2474 +#: ../../whatsnew/3.2.rst:2475 msgid "" -"(Contributed by Raymond Hettinger; see `rationale `_.)" +"(Contributed by Raymond Hettinger; see `rationale `_.)" msgstr "" -#: ../../whatsnew/3.2.rst:2477 +#: ../../whatsnew/3.2.rst:2478 msgid "" "The docs now contain more examples and recipes. In particular, :mod:`re` " -"module has an extensive section, :ref:`re-examples`. Likewise, the :mod:" -"`itertools` module continues to be updated with new :ref:`itertools-recipes`." +"module has an extensive section, :ref:`re-examples`. Likewise, " +"the :mod:`itertools` module continues to be updated with new :ref:`itertools-" +"recipes`." msgstr "" -#: ../../whatsnew/3.2.rst:2482 +#: ../../whatsnew/3.2.rst:2483 msgid "" "The :mod:`datetime` module now has an auxiliary implementation in pure " "Python. No functionality was changed. This just provides an easier-to-read " "alternate implementation." msgstr "" -#: ../../whatsnew/3.2.rst:2486 +#: ../../whatsnew/3.2.rst:2487 msgid "(Contributed by Alexander Belopolsky in :issue:`9528`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2488 +#: ../../whatsnew/3.2.rst:2489 msgid "" "The unmaintained :file:`Demo` directory has been removed. Some demos were " "integrated into the documentation, some were moved to the :file:`Tools/demo` " "directory, and others were removed altogether." msgstr "" -#: ../../whatsnew/3.2.rst:2492 +#: ../../whatsnew/3.2.rst:2493 msgid "(Contributed by Georg Brandl in :issue:`7962`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2496 +#: ../../whatsnew/3.2.rst:2497 msgid "IDLE" msgstr "IDLE" -#: ../../whatsnew/3.2.rst:2498 +#: ../../whatsnew/3.2.rst:2499 msgid "" "The format menu now has an option to clean source files by stripping " "trailing whitespace." msgstr "" -#: ../../whatsnew/3.2.rst:2501 +#: ../../whatsnew/3.2.rst:2502 msgid "(Contributed by Raymond Hettinger; :issue:`5150`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2503 +#: ../../whatsnew/3.2.rst:2504 msgid "IDLE on Mac OS X now works with both Carbon AquaTk and Cocoa AquaTk." msgstr "" -#: ../../whatsnew/3.2.rst:2505 +#: ../../whatsnew/3.2.rst:2506 msgid "" "(Contributed by Kevin Walzer, Ned Deily, and Ronald Oussoren; :issue:`6075`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2508 +#: ../../whatsnew/3.2.rst:2509 msgid "Code Repository" msgstr "" -#: ../../whatsnew/3.2.rst:2510 +#: ../../whatsnew/3.2.rst:2511 msgid "" -"In addition to the existing Subversion code repository at https://svn.python." -"org there is now a `Mercurial `_ repository " -"at https://hg.python.org/\\ ." +"In addition to the existing Subversion code repository at https://" +"svn.python.org there is now a `Mercurial `_ " +"repository at https://hg.python.org/\\ ." msgstr "" -#: ../../whatsnew/3.2.rst:2514 +#: ../../whatsnew/3.2.rst:2515 msgid "" "After the 3.2 release, there are plans to switch to Mercurial as the primary " "repository. This distributed version control system should make it easier " -"for members of the community to create and share external changesets. See :" -"pep:`385` for details." +"for members of the community to create and share external changesets. " +"See :pep:`385` for details." msgstr "" -#: ../../whatsnew/3.2.rst:2519 +#: ../../whatsnew/3.2.rst:2520 msgid "" "To learn to use the new version control system, see the `Quick Start " "`_ or the `Guide to Mercurial " "Workflows `_." msgstr "" -#: ../../whatsnew/3.2.rst:2525 +#: ../../whatsnew/3.2.rst:2526 msgid "Build and C API Changes" -msgstr "Alterações a compilações e API C" +msgstr "Mudanças a construções e API C" -#: ../../whatsnew/3.2.rst:2527 +#: ../../whatsnew/3.2.rst:2528 msgid "Changes to Python's build process and to the C API include:" -msgstr "Changes to Python's build process and to the C API include:" +msgstr "As alterações no processo de construção do Python e na API C incluem:" -#: ../../whatsnew/3.2.rst:2529 +#: ../../whatsnew/3.2.rst:2530 msgid "" "The *idle*, *pydoc* and *2to3* scripts are now installed with a version-" "specific suffix on ``make altinstall`` (:issue:`10679`)." msgstr "" -#: ../../whatsnew/3.2.rst:2532 +#: ../../whatsnew/3.2.rst:2533 msgid "" "The C functions that access the Unicode Database now accept and return " "characters from the full Unicode range, even on narrow unicode builds " @@ -2911,33 +2935,33 @@ msgid "" "characters as printable." msgstr "" -#: ../../whatsnew/3.2.rst:2539 +#: ../../whatsnew/3.2.rst:2540 msgid "" "(Reported by Bupjoe Lee and fixed by Amaury Forgeot D'Arc; :issue:`5127`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2541 +#: ../../whatsnew/3.2.rst:2542 msgid "" "Computed gotos are now enabled by default on supported compilers (which are " "detected by the configure script). They can still be disabled selectively " "by specifying ``--without-computed-gotos``." msgstr "" -#: ../../whatsnew/3.2.rst:2545 +#: ../../whatsnew/3.2.rst:2546 msgid "(Contributed by Antoine Pitrou; :issue:`9203`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2547 +#: ../../whatsnew/3.2.rst:2548 msgid "" "The option ``--with-wctype-functions`` was removed. The built-in unicode " "database is now used for all functions." msgstr "" -#: ../../whatsnew/3.2.rst:2550 +#: ../../whatsnew/3.2.rst:2551 msgid "(Contributed by Amaury Forgeot D'Arc; :issue:`9210`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2552 +#: ../../whatsnew/3.2.rst:2553 msgid "" "Hash values are now values of a new type, :c:type:`Py_hash_t`, which is " "defined to be the same size as a pointer. Previously they were of type " @@ -2947,34 +2971,34 @@ msgid "" "grow to that size but their performance degraded catastrophically)." msgstr "" -#: ../../whatsnew/3.2.rst:2559 +#: ../../whatsnew/3.2.rst:2560 msgid "" -"(Suggested by Raymond Hettinger and implemented by Benjamin Peterson; :issue:" -"`9778`.)" +"(Suggested by Raymond Hettinger and implemented by Benjamin " +"Peterson; :issue:`9778`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2562 +#: ../../whatsnew/3.2.rst:2563 msgid "" -"A new macro :c:macro:`Py_VA_COPY` copies the state of the variable argument " +"A new macro :c:macro:`!Py_VA_COPY` copies the state of the variable argument " "list. It is equivalent to C99 *va_copy* but available on all Python " "platforms (:issue:`2443`)." msgstr "" -#: ../../whatsnew/3.2.rst:2566 +#: ../../whatsnew/3.2.rst:2567 msgid "" -"A new C API function :c:func:`PySys_SetArgvEx` allows an embedded " -"interpreter to set :attr:`sys.argv` without also modifying :attr:`sys.path` " +"A new C API function :c:func:`!PySys_SetArgvEx` allows an embedded " +"interpreter to set :data:`sys.argv` without also modifying :data:`sys.path` " "(:issue:`5753`)." msgstr "" -#: ../../whatsnew/3.2.rst:2570 +#: ../../whatsnew/3.2.rst:2571 msgid "" -":c:macro:`PyEval_CallObject` is now only available in macro form. The " +":c:func:`!PyEval_CallObject` is now only available in macro form. The " "function declaration, which was kept for backwards compatibility reasons, is " "now removed -- the macro was introduced in 1997 (:issue:`8276`)." msgstr "" -#: ../../whatsnew/3.2.rst:2574 +#: ../../whatsnew/3.2.rst:2575 msgid "" "There is a new function :c:func:`PyLong_AsLongLongAndOverflow` which is " "analogous to :c:func:`PyLong_AsLongAndOverflow`. They both serve to convert " @@ -2982,21 +3006,21 @@ msgid "" "of cases where the conversion won't fit (:issue:`7767`)." msgstr "" -#: ../../whatsnew/3.2.rst:2579 +#: ../../whatsnew/3.2.rst:2580 msgid "" "The :c:func:`PyUnicode_CompareWithASCIIString` function now returns *not " "equal* if the Python string is *NUL* terminated." msgstr "" -#: ../../whatsnew/3.2.rst:2582 +#: ../../whatsnew/3.2.rst:2583 msgid "" -"There is a new function :c:func:`PyErr_NewExceptionWithDoc` that is like :c:" -"func:`PyErr_NewException` but allows a docstring to be specified. This lets " -"C exceptions have the same self-documenting capabilities as their pure " -"Python counterparts (:issue:`7033`)." +"There is a new function :c:func:`PyErr_NewExceptionWithDoc` that is " +"like :c:func:`PyErr_NewException` but allows a docstring to be specified. " +"This lets C exceptions have the same self-documenting capabilities as their " +"pure Python counterparts (:issue:`7033`)." msgstr "" -#: ../../whatsnew/3.2.rst:2587 +#: ../../whatsnew/3.2.rst:2588 msgid "" "When compiled with the ``--with-valgrind`` option, the pymalloc allocator " "will be automatically disabled when running under Valgrind. This gives " @@ -3004,20 +3028,20 @@ msgid "" "advantage of pymalloc at other times (:issue:`2422`)." msgstr "" -#: ../../whatsnew/3.2.rst:2592 +#: ../../whatsnew/3.2.rst:2593 msgid "" "Removed the ``O?`` format from the *PyArg_Parse* functions. The format is " "no longer used and it had never been documented (:issue:`8837`)." msgstr "" -#: ../../whatsnew/3.2.rst:2595 +#: ../../whatsnew/3.2.rst:2596 msgid "" "There were a number of other small changes to the C-API. See the `Misc/NEWS " "`__ file for a " "complete list." msgstr "" -#: ../../whatsnew/3.2.rst:2599 +#: ../../whatsnew/3.2.rst:2600 msgid "" "Also, there were a number of updates to the Mac OS X build, see `Mac/" "BuildScript/README.txt `_\\. See https://www.python." -"org/download/mac/tcltk/ for additional details." +"https://www.activestate.com/activetcl/downloads>`_\\. See https://" +"www.python.org/download/mac/tcltk/ for additional details." msgstr "" -#: ../../whatsnew/3.2.rst:2608 +#: ../../whatsnew/3.2.rst:2609 msgid "Porting to Python 3.2" msgstr "" -#: ../../whatsnew/3.2.rst:2610 +#: ../../whatsnew/3.2.rst:2611 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code:" @@ -3041,133 +3065,137 @@ msgstr "" "Esta seção lista as alterações descritas anteriormente e outras correções " "que podem exigir alterações no seu código." -#: ../../whatsnew/3.2.rst:2613 +#: ../../whatsnew/3.2.rst:2614 msgid "" "The :mod:`configparser` module has a number of clean-ups. The major change " -"is to replace the old :class:`ConfigParser` class with long-standing " -"preferred alternative :class:`SafeConfigParser`. In addition there are a " +"is to replace the old :class:`!ConfigParser` class with long-standing " +"preferred alternative :class:`!SafeConfigParser`. In addition there are a " "number of smaller incompatibilities:" msgstr "" -#: ../../whatsnew/3.2.rst:2618 +#: ../../whatsnew/3.2.rst:2619 msgid "" -"The interpolation syntax is now validated on :meth:`~configparser." -"ConfigParser.get` and :meth:`~configparser.ConfigParser.set` operations. In " -"the default interpolation scheme, only two tokens with percent signs are " -"valid: ``%(name)s`` and ``%%``, the latter being an escaped percent sign." +"The interpolation syntax is now validated " +"on :meth:`~configparser.ConfigParser.get` " +"and :meth:`~configparser.ConfigParser.set` operations. In the default " +"interpolation scheme, only two tokens with percent signs are valid: ``%" +"(name)s`` and ``%%``, the latter being an escaped percent sign." msgstr "" -#: ../../whatsnew/3.2.rst:2624 +#: ../../whatsnew/3.2.rst:2625 msgid "" -"The :meth:`~configparser.ConfigParser.set` and :meth:`~configparser." -"ConfigParser.add_section` methods now verify that values are actual " -"strings. Formerly, unsupported types could be introduced unintentionally." +"The :meth:`~configparser.ConfigParser.set` " +"and :meth:`~configparser.ConfigParser.add_section` methods now verify that " +"values are actual strings. Formerly, unsupported types could be introduced " +"unintentionally." msgstr "" -#: ../../whatsnew/3.2.rst:2629 +#: ../../whatsnew/3.2.rst:2630 msgid "" -"Duplicate sections or options from a single source now raise either :exc:" -"`~configparser.DuplicateSectionError` or :exc:`~configparser." -"DuplicateOptionError`. Formerly, duplicates would silently overwrite a " -"previous entry." +"Duplicate sections or options from a single source now raise " +"either :exc:`~configparser.DuplicateSectionError` " +"or :exc:`~configparser.DuplicateOptionError`. Formerly, duplicates would " +"silently overwrite a previous entry." msgstr "" -#: ../../whatsnew/3.2.rst:2634 +#: ../../whatsnew/3.2.rst:2635 msgid "" "Inline comments are now disabled by default so now the **;** character can " "be safely used in values." msgstr "" -#: ../../whatsnew/3.2.rst:2637 +#: ../../whatsnew/3.2.rst:2638 msgid "" "Comments now can be indented. Consequently, for **;** or **#** to appear at " "the start of a line in multiline values, it has to be interpolated. This " "keeps comment prefix characters in values from being mistaken as comments." msgstr "" -#: ../../whatsnew/3.2.rst:2641 +#: ../../whatsnew/3.2.rst:2642 msgid "" "``\"\"`` is now a valid value and is no longer automatically converted to an " "empty string. For empty strings, use ``\"option =\"`` in a line." msgstr "" -#: ../../whatsnew/3.2.rst:2644 +#: ../../whatsnew/3.2.rst:2645 msgid "" "The :mod:`nntplib` module was reworked extensively, meaning that its APIs " "are often incompatible with the 3.1 APIs." msgstr "" -#: ../../whatsnew/3.2.rst:2647 +#: ../../whatsnew/3.2.rst:2648 msgid "" ":class:`bytearray` objects can no longer be used as filenames; instead, they " "should be converted to :class:`bytes`." msgstr "" -#: ../../whatsnew/3.2.rst:2650 +#: ../../whatsnew/3.2.rst:2651 msgid "" -"The :meth:`array.tostring` and :meth:`array.fromstring` have been renamed " -"to :meth:`array.tobytes` and :meth:`array.frombytes` for clarity. The old " +"The :meth:`!array.tostring` and :meth:`!array.fromstring` have been renamed " +"to :meth:`array.tobytes() ` " +"and :meth:`array.frombytes() ` for clarity. The old " "names have been deprecated. (See :issue:`8990`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2654 +#: ../../whatsnew/3.2.rst:2656 msgid "``PyArg_Parse*()`` functions:" msgstr "" -#: ../../whatsnew/3.2.rst:2656 +#: ../../whatsnew/3.2.rst:2658 msgid "\"t#\" format has been removed: use \"s#\" or \"s*\" instead" msgstr "" -#: ../../whatsnew/3.2.rst:2657 +#: ../../whatsnew/3.2.rst:2659 msgid "\"w\" and \"w#\" formats has been removed: use \"w*\" instead" msgstr "" -#: ../../whatsnew/3.2.rst:2659 +#: ../../whatsnew/3.2.rst:2661 msgid "" -"The :c:type:`PyCObject` type, deprecated in 3.1, has been removed. To wrap " +"The :c:type:`!PyCObject` type, deprecated in 3.1, has been removed. To wrap " "opaque C pointers in Python objects, the :c:type:`PyCapsule` API should be " "used instead; the new type has a well-defined interface for passing typing " "safety information and a less complicated signature for calling a destructor." msgstr "" -#: ../../whatsnew/3.2.rst:2664 +#: ../../whatsnew/3.2.rst:2666 msgid "" -"The :func:`sys.setfilesystemencoding` function was removed because it had a " +"The :func:`!sys.setfilesystemencoding` function was removed because it had a " "flawed design." msgstr "" -#: ../../whatsnew/3.2.rst:2667 +#: ../../whatsnew/3.2.rst:2669 msgid "" "The :func:`random.seed` function and method now salt string seeds with an " "sha512 hash function. To access the previous version of *seed* in order to " -"reproduce Python 3.1 sequences, set the *version* argument to *1*, ``random." -"seed(s, version=1)``." +"reproduce Python 3.1 sequences, set the *version* argument to *1*, " +"``random.seed(s, version=1)``." msgstr "" -#: ../../whatsnew/3.2.rst:2672 +#: ../../whatsnew/3.2.rst:2674 msgid "" -"The previously deprecated :func:`string.maketrans` function has been removed " -"in favor of the static methods :meth:`bytes.maketrans` and :meth:`bytearray." -"maketrans`. This change solves the confusion around which types were " -"supported by the :mod:`string` module. Now, :class:`str`, :class:`bytes`, " -"and :class:`bytearray` each have their own **maketrans** and **translate** " -"methods with intermediate translation tables of the appropriate type." +"The previously deprecated :func:`!string.maketrans` function has been " +"removed in favor of the static methods :meth:`bytes.maketrans` " +"and :meth:`bytearray.maketrans`. This change solves the confusion around " +"which types were supported by the :mod:`string` module. " +"Now, :class:`str`, :class:`bytes`, and :class:`bytearray` each have their " +"own **maketrans** and **translate** methods with intermediate translation " +"tables of the appropriate type." msgstr "" -#: ../../whatsnew/3.2.rst:2680 +#: ../../whatsnew/3.2.rst:2682 msgid "(Contributed by Georg Brandl; :issue:`5675`.)" msgstr "(Contributed by Georg Brandl; :issue:`5675`.)" -#: ../../whatsnew/3.2.rst:2682 +#: ../../whatsnew/3.2.rst:2684 msgid "" -"The previously deprecated :func:`contextlib.nested` function has been " +"The previously deprecated :func:`!contextlib.nested` function has been " "removed in favor of a plain :keyword:`with` statement which can accept " "multiple context managers. The latter technique is faster (because it is " "built-in), and it does a better job finalizing multiple context managers " "when one of them raises an exception::" msgstr "" -#: ../../whatsnew/3.2.rst:2693 +#: ../../whatsnew/3.2.rst:2695 msgid "" "(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 " "`_.)" @@ -3175,7 +3203,7 @@ msgstr "" "(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 " "`_.)" -#: ../../whatsnew/3.2.rst:2696 +#: ../../whatsnew/3.2.rst:2698 msgid "" ":func:`struct.pack` now only allows bytes for the ``s`` string pack code. " "Formerly, it would accept text arguments and implicitly encode them to bytes " @@ -3184,32 +3212,32 @@ msgid "" "writing to fixed length segment of a structure." msgstr "" -#: ../../whatsnew/3.2.rst:2702 +#: ../../whatsnew/3.2.rst:2704 msgid "" "Code such as ``struct.pack('<6sHHBBB', 'GIF87a', x, y)`` should be rewritten " "with to use bytes instead of text, ``struct.pack('<6sHHBBB', b'GIF87a', x, " "y)``." msgstr "" -#: ../../whatsnew/3.2.rst:2705 +#: ../../whatsnew/3.2.rst:2707 msgid "" "(Discovered by David Beazley and fixed by Victor Stinner; :issue:`10783`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2707 +#: ../../whatsnew/3.2.rst:2709 msgid "" -"The :class:`xml.etree.ElementTree` class now raises an :exc:`xml.etree." -"ElementTree.ParseError` when a parse fails. Previously it raised an :exc:" -"`xml.parsers.expat.ExpatError`." +"The :class:`xml.etree.ElementTree` class now raises " +"an :exc:`xml.etree.ElementTree.ParseError` when a parse fails. Previously it " +"raised an :exc:`xml.parsers.expat.ExpatError`." msgstr "" -#: ../../whatsnew/3.2.rst:2711 +#: ../../whatsnew/3.2.rst:2713 msgid "" "The new, longer :func:`str` value on floats may break doctests which rely on " "the old output format." msgstr "" -#: ../../whatsnew/3.2.rst:2714 +#: ../../whatsnew/3.2.rst:2716 msgid "" "In :class:`subprocess.Popen`, the default value for *close_fds* is now " "``True`` under Unix; under Windows, it is ``True`` if the three standard " @@ -3218,48 +3246,48 @@ msgid "" "race conditions when open file descriptors would leak into the child process." msgstr "" -#: ../../whatsnew/3.2.rst:2721 +#: ../../whatsnew/3.2.rst:2723 msgid "" -"Support for legacy HTTP 0.9 has been removed from :mod:`urllib.request` and :" -"mod:`http.client`. Such support is still present on the server side (in :" -"mod:`http.server`)." +"Support for legacy HTTP 0.9 has been removed from :mod:`urllib.request` " +"and :mod:`http.client`. Such support is still present on the server side " +"(in :mod:`http.server`)." msgstr "" -#: ../../whatsnew/3.2.rst:2725 +#: ../../whatsnew/3.2.rst:2727 msgid "(Contributed by Antoine Pitrou, :issue:`10711`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2727 +#: ../../whatsnew/3.2.rst:2729 msgid "" "SSL sockets in timeout mode now raise :exc:`socket.timeout` when a timeout " "occurs, rather than a generic :exc:`~ssl.SSLError`." msgstr "" -#: ../../whatsnew/3.2.rst:2730 +#: ../../whatsnew/3.2.rst:2732 msgid "(Contributed by Antoine Pitrou, :issue:`10272`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2732 +#: ../../whatsnew/3.2.rst:2734 msgid "" -"The misleading functions :c:func:`PyEval_AcquireLock()` and :c:func:" -"`PyEval_ReleaseLock()` have been officially deprecated. The thread-state " -"aware APIs (such as :c:func:`PyEval_SaveThread()` and :c:func:" -"`PyEval_RestoreThread()`) should be used instead." +"The misleading functions :c:func:`!PyEval_AcquireLock` and :c:func:`!" +"PyEval_ReleaseLock` have been officially deprecated. The thread-state aware " +"APIs (such as :c:func:`PyEval_SaveThread` " +"and :c:func:`PyEval_RestoreThread`) should be used instead." msgstr "" -#: ../../whatsnew/3.2.rst:2737 +#: ../../whatsnew/3.2.rst:2739 msgid "" "Due to security risks, :func:`asyncore.handle_accept` has been deprecated, " "and a new function, :func:`asyncore.handle_accepted`, was added to replace " "it." msgstr "" -#: ../../whatsnew/3.2.rst:2740 +#: ../../whatsnew/3.2.rst:2742 msgid "(Contributed by Giampaolo Rodola in :issue:`6706`.)" msgstr "" -#: ../../whatsnew/3.2.rst:2742 +#: ../../whatsnew/3.2.rst:2744 msgid "" -"Due to the new :term:`GIL` implementation, :c:func:`PyEval_InitThreads()` " -"cannot be called before :c:func:`Py_Initialize()` anymore." +"Due to the new :term:`GIL` implementation, :c:func:`!PyEval_InitThreads` " +"cannot be called before :c:func:`Py_Initialize` anymore." msgstr "" diff --git a/whatsnew/3.3.po b/whatsnew/3.3.po index 067506767..8dacbb60e 100644 --- a/whatsnew/3.3.po +++ b/whatsnew/3.3.po @@ -1,33 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Ricardo Cappellano , 2021 -# Victor Matheus Castro , 2021 -# Vinícius Muniz de Melo , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# a76d6fb6142d7607ab0526dcbddb02d7_7bf0da0 <3b5fb0f281c8dfb4c0170f2ee2a6cfcf_843623>, 2021 -# Rafael Fontenelle , 2022 -# Patricia Rosa, 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Patricia Rosa, 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -62,6 +54,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:63 msgid "The ``u'unicode'`` syntax is accepted again for :class:`str` objects." msgstr "" +"A sintaxe ``u'unicode'`` é aceita novamente para objetos tipo :class:`str`." #: ../../whatsnew/3.3.rst:65 msgid "New library modules:" @@ -78,7 +71,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:69 msgid ":mod:`lzma` (compress data using the XZ / LZMA algorithm)" -msgstr "" +msgstr ":mod:`lzma` (compressão de dados usando o algoritmo XZ / LZMA)" #: ../../whatsnew/3.3.rst:70 msgid "" @@ -127,8 +120,8 @@ msgstr "" #: ../../whatsnew/3.3.rst:87 msgid "" -"Better unicode handling in the :ref:`email ` module (:term:" -"`provisional `)." +"Better unicode handling in the :ref:`email ` module " +"(:term:`provisional `)." msgstr "" #: ../../whatsnew/3.3.rst:90 @@ -145,7 +138,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:100 msgid "PEP 405: Virtual Environments" -msgstr "" +msgstr "PEP 405: Ambientes Virtuais" #: ../../whatsnew/3.3.rst:102 msgid "" @@ -168,7 +161,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:118 msgid ":pep:`405` - Python Virtual Environments" -msgstr "" +msgstr ":pep:`405` - Ambientes Virtuais Python" #: ../../whatsnew/3.3.rst:119 msgid "PEP written by Carl Meyer; implementation by Carl Meyer and Vinay Sajip" @@ -182,8 +175,8 @@ msgstr "" msgid "" "Native support for package directories that don't require ``__init__.py`` " "marker files and can automatically span multiple path segments (inspired by " -"various third party approaches to namespace packages, as described in :pep:" -"`420`)" +"various third party approaches to namespace packages, as described " +"in :pep:`420`)" msgstr "" #: ../../whatsnew/3.3.rst:133 @@ -203,7 +196,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:142 msgid "The implementation of :pep:`3118` has been significantly improved." -msgstr "" +msgstr "A implementação de :pep:`3118` foi significativamente melhorada." #: ../../whatsnew/3.3.rst:144 msgid "" @@ -264,12 +257,12 @@ msgstr "" #: ../../whatsnew/3.3.rst:176 msgid "" "Arbitrary slicing of any 1-D arrays type is supported. For example, it is " -"now possible to reverse a memoryview in O(1) by using a negative step." +"now possible to reverse a memoryview in *O*\\ (1) by using a negative step." msgstr "" #: ../../whatsnew/3.3.rst:180 ../../whatsnew/3.3.rst:1132 msgid "API changes" -msgstr "" +msgstr "Mudanças na API" #: ../../whatsnew/3.3.rst:182 msgid "The maximum number of dimensions is officially limited to 64." @@ -385,7 +378,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:251 msgid "" "The value of :data:`sys.maxunicode` is now always ``1114111`` (``0x10FFFF`` " -"in hexadecimal). The :c:func:`PyUnicode_GetMax` function still returns " +"in hexadecimal). The :c:func:`!PyUnicode_GetMax` function still returns " "either ``0xFFFF`` or ``0x10FFFF`` for backward compatibility, and it should " "not be used with the new Unicode API (see :issue:`13054`)." msgstr "" @@ -396,7 +389,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:259 msgid "Performance and resource usage" -msgstr "" +msgstr "Desempenho e utilização de recursos" #: ../../whatsnew/3.3.rst:261 msgid "" @@ -508,18 +501,20 @@ msgstr "" #: ../../whatsnew/3.3.rst:332 msgid "" "You don't have to worry anymore about choosing the appropriate exception " -"type between :exc:`OSError`, :exc:`IOError`, :exc:`EnvironmentError`, :exc:" -"`WindowsError`, :exc:`mmap.error`, :exc:`socket.error` or :exc:`select." -"error`. All these exception types are now only one: :exc:`OSError`. The " -"other names are kept as aliases for compatibility reasons." +"type " +"between :exc:`OSError`, :exc:`IOError`, :exc:`EnvironmentError`, :exc:`WindowsError`, :exc:`mmap.error`, :exc:`socket.error` " +"or :exc:`select.error`. All these exception types are now only " +"one: :exc:`OSError`. The other names are kept as aliases for compatibility " +"reasons." msgstr "" #: ../../whatsnew/3.3.rst:339 msgid "" "Also, it is now easier to catch a specific error condition. Instead of " "inspecting the ``errno`` attribute (or ``args[0]``) for a particular " -"constant from the :mod:`errno` module, you can catch the adequate :exc:" -"`OSError` subclass. The available subclasses are the following:" +"constant from the :mod:`errno` module, you can catch the " +"adequate :exc:`OSError` subclass. The available subclasses are the " +"following:" msgstr "" #: ../../whatsnew/3.3.rst:344 @@ -604,7 +599,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:393 msgid "PEP written and implemented by Antoine Pitrou" -msgstr "" +msgstr "PEP escrita e implmentada por Antoine Pitrou" #: ../../whatsnew/3.3.rst:402 msgid "PEP 380: Syntax for Delegating to a Subgenerator" @@ -752,7 +747,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:607 msgid "PEP written and implemented by Antoine Pitrou." -msgstr "PEP escrito e implementado por Antoine Pitrou." +msgstr "PEP escrita e implementada por Antoine Pitrou." #: ../../whatsnew/3.3.rst:613 msgid "PEP 412: Key-Sharing Dictionary" @@ -782,10 +777,11 @@ msgstr "" msgid "" "A new function :func:`inspect.signature` makes introspection of python " "callables easy and straightforward. A broad range of callables is " -"supported: python functions, decorated or not, classes, and :func:`functools." -"partial` objects. New classes :class:`inspect.Signature`, :class:`inspect." -"Parameter` and :class:`inspect.BoundArguments` hold information about the " -"call signatures, such as, annotations, default values, parameters kinds, and " +"supported: python functions, decorated or not, classes, " +"and :func:`functools.partial` objects. New " +"classes :class:`inspect.Signature`, :class:`inspect.Parameter` " +"and :class:`inspect.BoundArguments` hold information about the call " +"signatures, such as, annotations, default values, parameters kinds, and " "bound arguments, which considerably simplifies writing decorators and any " "code that validates or amends calling signatures or arguments." msgstr "" @@ -808,7 +804,7 @@ msgstr "" msgid "" "A new attribute on the :mod:`sys` module exposes details specific to the " "implementation of the currently running interpreter. The initial set of " -"attributes on :attr:`sys.implementation` are ``name``, ``version``, " +"attributes on :data:`sys.implementation` are ``name``, ``version``, " "``hexversion``, and ``cache_tag``." msgstr "" @@ -839,10 +835,10 @@ msgstr "" msgid "" "The implementation of ``sys.implementation`` also introduces a new type to " "Python: :class:`types.SimpleNamespace`. In contrast to a mapping-based " -"namespace, like :class:`dict`, ``SimpleNamespace`` is attribute-based, like :" -"class:`object`. However, unlike ``object``, ``SimpleNamespace`` instances " -"are writable. This means that you can add, remove, and modify the namespace " -"through normal attribute access." +"namespace, like :class:`dict`, ``SimpleNamespace`` is attribute-based, " +"like :class:`object`. However, unlike ``object``, ``SimpleNamespace`` " +"instances are writable. This means that you can add, remove, and modify the " +"namespace through normal attribute access." msgstr "" #: ../../whatsnew/3.3.rst:678 @@ -867,14 +863,15 @@ msgstr "" #: ../../whatsnew/3.3.rst:691 msgid "" -"The :func:`__import__` function is now powered by :func:`importlib." -"__import__`. This work leads to the completion of \"phase 2\" of :pep:`302`. " -"There are multiple benefits to this change. First, it has allowed for more " -"of the machinery powering import to be exposed instead of being implicit and " -"hidden within the C code. It also provides a single implementation for all " -"Python VMs supporting Python 3.3 to use, helping to end any VM-specific " -"deviations in import semantics. And finally it eases the maintenance of " -"import, allowing for future growth to occur." +"The :func:`__import__` function is now powered " +"by :func:`importlib.__import__`. This work leads to the completion of " +"\"phase 2\" of :pep:`302`. There are multiple benefits to this change. " +"First, it has allowed for more of the machinery powering import to be " +"exposed instead of being implicit and hidden within the C code. It also " +"provides a single implementation for all Python VMs supporting Python 3.3 to " +"use, helping to end any VM-specific deviations in import semantics. And " +"finally it eases the maintenance of import, allowing for future growth to " +"occur." msgstr "" #: ../../whatsnew/3.3.rst:700 @@ -900,28 +897,29 @@ msgstr "" msgid "" "The abstract base classes defined in :mod:`importlib.abc` have been expanded " "to properly delineate between :term:`meta path finders ` " -"and :term:`path entry finders ` by introducing :class:" -"`importlib.abc.MetaPathFinder` and :class:`importlib.abc.PathEntryFinder`, " -"respectively. The old ABC of :class:`importlib.abc.Finder` is now only " -"provided for backwards-compatibility and does not enforce any method " -"requirements." +"and :term:`path entry finders ` by " +"introducing :class:`importlib.abc.MetaPathFinder` " +"and :class:`importlib.abc.PathEntryFinder`, respectively. The old ABC " +"of :class:`importlib.abc.Finder` is now only provided for backwards-" +"compatibility and does not enforce any method requirements." msgstr "" #: ../../whatsnew/3.3.rst:719 msgid "" "In terms of finders, :class:`importlib.machinery.FileFinder` exposes the " "mechanism used to search for source and bytecode files of a module. " -"Previously this class was an implicit member of :attr:`sys.path_hooks`." +"Previously this class was an implicit member of :data:`sys.path_hooks`." msgstr "" #: ../../whatsnew/3.3.rst:723 msgid "" "For loaders, the new abstract base class :class:`importlib.abc.FileLoader` " "helps write a loader that uses the file system as the storage mechanism for " -"a module's code. The loader for source files (:class:`importlib.machinery." -"SourceFileLoader`), sourceless bytecode files (:class:`importlib.machinery." -"SourcelessFileLoader`), and extension modules (:class:`importlib.machinery." -"ExtensionFileLoader`) are now available for direct use." +"a module's code. The loader for source files " +"(:class:`importlib.machinery.SourceFileLoader`), sourceless bytecode files " +"(:class:`importlib.machinery.SourcelessFileLoader`), and extension modules " +"(:class:`importlib.machinery.ExtensionFileLoader`) are now available for " +"direct use." msgstr "" #: ../../whatsnew/3.3.rst:731 @@ -935,7 +933,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:736 msgid "" "The :func:`importlib.invalidate_caches` function will now call the method " -"with the same name on all finders cached in :attr:`sys.path_importer_cache` " +"with the same name on all finders cached in :data:`sys.path_importer_cache` " "to help clean up any stored state as necessary." msgstr "" @@ -952,9 +950,9 @@ msgstr "" #: ../../whatsnew/3.3.rst:746 msgid "" "Beyond the expanse of what :mod:`importlib` now exposes, there are other " -"visible changes to import. The biggest is that :attr:`sys.meta_path` and :" -"attr:`sys.path_hooks` now store all of the meta path finders and path entry " -"hooks used by import. Previously the finders were implicit and hidden " +"visible changes to import. The biggest is that :data:`sys.meta_path` " +"and :data:`sys.path_hooks` now store all of the meta path finders and path " +"entry hooks used by import. Previously the finders were implicit and hidden " "within the C code of import instead of being directly exposed. This means " "that one can now easily remove or change the order of the various finders to " "fit one's needs." @@ -972,16 +970,17 @@ msgstr "" #: ../../whatsnew/3.3.rst:759 msgid "" -"Loaders are also now expected to set the ``__package__`` attribute from :pep:" -"`366`. Once again, import itself is already setting this on all loaders " -"from :mod:`importlib` and import itself is setting the attribute post-load." +"Loaders are also now expected to set the ``__package__`` attribute " +"from :pep:`366`. Once again, import itself is already setting this on all " +"loaders from :mod:`importlib` and import itself is setting the attribute " +"post-load." msgstr "" #: ../../whatsnew/3.3.rst:763 msgid "" -"``None`` is now inserted into :attr:`sys.path_importer_cache` when no finder " -"can be found on :attr:`sys.path_hooks`. Since :class:`imp.NullImporter` is " -"not directly exposed on :attr:`sys.path_hooks` it could no longer be relied " +"``None`` is now inserted into :data:`sys.path_importer_cache` when no finder " +"can be found on :data:`sys.path_hooks`. Since :class:`imp.NullImporter` is " +"not directly exposed on :data:`sys.path_hooks` it could no longer be relied " "upon to always be available to use as a value representing no finder found." msgstr "" @@ -1002,13 +1001,13 @@ msgstr "Outras mudanças na linguagem" #: ../../whatsnew/3.3.rst:778 msgid "Some smaller changes made to the core Python language are:" -msgstr "Alguma das mudanças menores feitas no núcleo da linguagem Python são:" +msgstr "Algumas das mudanças menores feitas no núcleo da linguagem Python são:" #: ../../whatsnew/3.3.rst:780 msgid "" -"Added support for Unicode name aliases and named sequences. Both :func:" -"`unicodedata.lookup()` and ``'\\N{...}'`` now resolve name aliases, and :" -"func:`unicodedata.lookup()` resolves named sequences too." +"Added support for Unicode name aliases and named sequences. " +"Both :func:`unicodedata.lookup()` and ``'\\N{...}'`` now resolve name " +"aliases, and :func:`unicodedata.lookup()` resolves named sequences too." msgstr "" #: ../../whatsnew/3.3.rst:784 @@ -1022,8 +1021,8 @@ msgstr "" #: ../../whatsnew/3.3.rst:788 msgid "" "Equality comparisons on :func:`range` objects now return a result reflecting " -"the equality of the underlying sequences generated by those range objects. (:" -"issue:`13201`)" +"the equality of the underlying sequences generated by those range objects. " +"(:issue:`13201`)" msgstr "" #: ../../whatsnew/3.3.rst:792 @@ -1047,9 +1046,9 @@ msgstr "" #: ../../whatsnew/3.3.rst:802 msgid "" "New methods have been added to :class:`list` and :class:`bytearray`: " -"``copy()`` and ``clear()`` (:issue:`10516`). Consequently, :class:" -"`~collections.abc.MutableSequence` now also defines a :meth:`~collections." -"abc.MutableSequence.clear` method (:issue:`11388`)." +"``copy()`` and ``clear()`` (:issue:`10516`). " +"Consequently, :class:`~collections.abc.MutableSequence` now also defines " +"a :meth:`~collections.abc.MutableSequence.clear` method (:issue:`11388`)." msgstr "" #: ../../whatsnew/3.3.rst:807 @@ -1090,8 +1089,8 @@ msgid "" "Previous versions of CPython have always relied on a global import lock. " "This led to unexpected annoyances, such as deadlocks when importing a module " "would trigger code execution in a different thread as a side-effect. Clumsy " -"workarounds were sometimes employed, such as the :c:func:" -"`PyImport_ImportModuleNoBlock` C API function." +"workarounds were sometimes employed, such as " +"the :c:func:`PyImport_ImportModuleNoBlock` C API function." msgstr "" #: ../../whatsnew/3.3.rst:831 @@ -1114,7 +1113,7 @@ msgstr "" msgid "" ":func:`open` gets a new *opener* parameter: the underlying file descriptor " "for the file object is then obtained by calling *opener* with (*file*, " -"*flags*). It can be used to use custom flags like :data:`os.O_CLOEXEC` for " +"*flags*). It can be used to use custom flags like :const:`os.O_CLOEXEC` for " "example. The ``'x'`` mode was added: open for exclusive creation, failing if " "the file already exists." msgstr "" @@ -1127,8 +1126,8 @@ msgstr "" #: ../../whatsnew/3.3.rst:849 msgid "" -":func:`hash`: hash randomization is enabled by default, see :meth:`object." -"__hash__` and :envvar:`PYTHONHASHSEED`." +":func:`hash`: hash randomization is enabled by default, " +"see :meth:`object.__hash__` and :envvar:`PYTHONHASHSEED`." msgstr "" #: ../../whatsnew/3.3.rst:851 @@ -1142,8 +1141,8 @@ msgstr "" msgid "" "The sequence documentation has been substantially rewritten to better " "explain the binary/text sequence distinction and to provide specific " -"documentation sections for the individual builtin sequence types (:issue:" -"`4966`)." +"documentation sections for the individual builtin sequence types " +"(:issue:`4966`)." msgstr "" #: ../../whatsnew/3.3.rst:861 @@ -1159,10 +1158,11 @@ msgid "" "This new debug module :mod:`faulthandler` contains functions to dump Python " "tracebacks explicitly, on a fault (a crash like a segmentation fault), after " "a timeout, or on a user signal. Call :func:`faulthandler.enable` to install " -"fault handlers for the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :" -"const:`SIGBUS`, and :const:`SIGILL` signals. You can also enable them at " -"startup by setting the :envvar:`PYTHONFAULTHANDLER` environment variable or " -"by using :option:`-X` ``faulthandler`` command line option." +"fault handlers for " +"the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:`SIGBUS`, " +"and :const:`SIGILL` signals. You can also enable them at startup by setting " +"the :envvar:`PYTHONFAULTHANDLER` environment variable or by using :option:`-" +"X` ``faulthandler`` command line option." msgstr "" #: ../../whatsnew/3.3.rst:874 @@ -1223,14 +1223,14 @@ msgstr "" #: ../../whatsnew/3.3.rst:921 ../../whatsnew/3.3.rst:2247 msgid "" -":class:`abc.abstractclassmethod` has been deprecated, use :class:" -"`classmethod` with :func:`abc.abstractmethod` instead." +":class:`abc.abstractclassmethod` has been deprecated, " +"use :class:`classmethod` with :func:`abc.abstractmethod` instead." msgstr "" #: ../../whatsnew/3.3.rst:923 ../../whatsnew/3.3.rst:2249 msgid "" -":class:`abc.abstractstaticmethod` has been deprecated, use :class:" -"`staticmethod` with :func:`abc.abstractmethod` instead." +":class:`abc.abstractstaticmethod` has been deprecated, " +"use :class:`staticmethod` with :func:`abc.abstractmethod` instead." msgstr "" #: ../../whatsnew/3.3.rst:926 @@ -1264,9 +1264,9 @@ msgstr "base64" #: ../../whatsnew/3.3.rst:944 msgid "" "ASCII-only Unicode strings are now accepted by the decoding functions of " -"the :mod:`base64` modern interface. For example, ``base64." -"b64decode('YWJj')`` returns ``b'abc'``. (Contributed by Catalin Iacob in :" -"issue:`13641`.)" +"the :mod:`base64` modern interface. For example, " +"``base64.b64decode('YWJj')`` returns ``b'abc'``. (Contributed by Catalin " +"Iacob in :issue:`13641`.)" msgstr "" #: ../../whatsnew/3.3.rst:950 @@ -1309,9 +1309,9 @@ msgstr "" #: ../../whatsnew/3.3.rst:971 msgid "" ":class:`bz2.BZ2File` and :func:`bz2.decompress` can now decompress multi-" -"stream inputs (such as those produced by the :program:`pbzip2` tool). :class:" -"`bz2.BZ2File` can now also be used to create this type of file, using the " -"``'a'`` (append) mode." +"stream inputs (such as those produced by the :program:`pbzip2` " +"tool). :class:`bz2.BZ2File` can now also be used to create this type of " +"file, using the ``'a'`` (append) mode." msgstr "" #: ../../whatsnew/3.3.rst:976 @@ -1331,9 +1331,9 @@ msgstr "codecs" #: ../../whatsnew/3.3.rst:985 msgid "" "The :mod:`~encodings.mbcs` codec has been rewritten to handle correctly " -"``replace`` and ``ignore`` error handlers on all Windows versions. The :mod:" -"`~encodings.mbcs` codec now supports all error handlers, instead of only " -"``replace`` to encode and ``ignore`` to decode." +"``replace`` and ``ignore`` error handlers on all Windows versions. " +"The :mod:`~encodings.mbcs` codec now supports all error handlers, instead of " +"only ``replace`` to encode and ``ignore`` to decode." msgstr "" #: ../../whatsnew/3.3.rst:990 @@ -1347,9 +1347,9 @@ msgstr "" #: ../../whatsnew/3.3.rst:995 msgid "" "Multibyte CJK decoders now resynchronize faster. They only ignore the first " -"byte of an invalid byte sequence. For example, ``b'\\xff\\n'." -"decode('gb2312', 'replace')`` now returns a ``\\n`` after the replacement " -"character." +"byte of an invalid byte sequence. For example, " +"``b'\\xff\\n'.decode('gb2312', 'replace')`` now returns a ``\\n`` after the " +"replacement character." msgstr "" #: ../../whatsnew/3.3.rst:999 @@ -1383,16 +1383,16 @@ msgstr "collections" #: ../../whatsnew/3.3.rst:1020 msgid "" "Addition of a new :class:`~collections.ChainMap` class to allow treating a " -"number of mappings as a single unit. (Written by Raymond Hettinger for :" -"issue:`11089`, made public in :issue:`11297`.)" +"number of mappings as a single unit. (Written by Raymond Hettinger " +"for :issue:`11089`, made public in :issue:`11297`.)" msgstr "" #: ../../whatsnew/3.3.rst:1024 msgid "" "The abstract base classes have been moved in a new :mod:`collections.abc` " "module, to better differentiate between the abstract and the concrete " -"collections classes. Aliases for ABCs are still present in the :mod:" -"`collections` module to preserve existing imports. (:issue:`11085`)" +"collections classes. Aliases for ABCs are still present in " +"the :mod:`collections` module to preserve existing imports. (:issue:`11085`)" msgstr "" #: ../../whatsnew/3.3.rst:1031 @@ -1428,8 +1428,8 @@ msgstr "crypt" #: ../../whatsnew/3.3.rst:1054 msgid "" -"Addition of salt and modular crypt format (hashing method) and the :func:" -"`~crypt.mksalt` function to the :mod:`crypt` module." +"Addition of salt and modular crypt format (hashing method) and " +"the :func:`~crypt.mksalt` function to the :mod:`crypt` module." msgstr "" #: ../../whatsnew/3.3.rst:1057 @@ -1443,8 +1443,9 @@ msgstr "curses" #: ../../whatsnew/3.3.rst:1062 msgid "" "If the :mod:`curses` module is linked to the ncursesw library, use Unicode " -"functions when Unicode strings or characters are passed (e.g. :c:func:" -"`waddwstr`), and bytes functions otherwise (e.g. :c:func:`waddstr`)." +"functions when Unicode strings or characters are passed " +"(e.g. :c:func:`waddwstr`), and bytes functions otherwise " +"(e.g. :c:func:`waddstr`)." msgstr "" #: ../../whatsnew/3.3.rst:1065 @@ -1480,8 +1481,8 @@ msgstr "datetime" #: ../../whatsnew/3.3.rst:1078 msgid "" "Equality comparisons between naive and aware :class:`~datetime.datetime` " -"instances now return :const:`False` instead of raising :exc:`TypeError` (:" -"issue:`15006`)." +"instances now return :const:`False` instead of raising :exc:`TypeError` " +"(:issue:`15006`)." msgstr "" #: ../../whatsnew/3.3.rst:1081 @@ -1606,8 +1607,8 @@ msgstr "" #: ../../whatsnew/3.3.rst:1127 msgid "" "If Python is compiled without threads, the C version automatically disables " -"the expensive thread local context machinery. In this case, the variable :" -"data:`~decimal.HAVE_THREADS` is set to ``False``." +"the expensive thread local context machinery. In this case, the " +"variable :const:`~decimal.HAVE_THREADS` is set to ``False``." msgstr "" #: ../../whatsnew/3.3.rst:1134 @@ -1629,12 +1630,12 @@ msgid ":const:`MAX_PREC`" msgstr ":const:`MAX_PREC`" #: ../../whatsnew/3.3.rst:1140 ../../whatsnew/3.3.rst:1142 -msgid ":const:`425000000`" -msgstr ":const:`425000000`" +msgid "``425000000``" +msgstr "``425000000``" #: ../../whatsnew/3.3.rst:1140 ../../whatsnew/3.3.rst:1142 -msgid ":const:`999999999999999999`" -msgstr ":const:`999999999999999999`" +msgid "``999999999999999999``" +msgstr "``999999999999999999``" #: ../../whatsnew/3.3.rst:1142 msgid ":const:`MAX_EMAX`" @@ -1645,19 +1646,20 @@ msgid ":const:`MIN_EMIN`" msgstr ":const:`MIN_EMIN`" #: ../../whatsnew/3.3.rst:1144 -msgid ":const:`-425000000`" -msgstr ":const:`-425000000`" +msgid "``-425000000``" +msgstr "``-425000000``" #: ../../whatsnew/3.3.rst:1144 -msgid ":const:`-999999999999999999`" -msgstr ":const:`-999999999999999999`" +msgid "``-999999999999999999``" +msgstr "``-999999999999999999``" #: ../../whatsnew/3.3.rst:1147 msgid "" -"In the context templates (:class:`~decimal.DefaultContext`, :class:`~decimal." -"BasicContext` and :class:`~decimal.ExtendedContext`) the magnitude of :attr:" -"`~decimal.Context.Emax` and :attr:`~decimal.Context.Emin` has changed to :" -"const:`999999`." +"In the context templates " +"(:class:`~decimal.DefaultContext`, :class:`~decimal.BasicContext` " +"and :class:`~decimal.ExtendedContext`) the magnitude " +"of :attr:`~decimal.Context.Emax` and :attr:`~decimal.Context.Emin` has " +"changed to ``999999``." msgstr "" #: ../../whatsnew/3.3.rst:1152 @@ -1665,29 +1667,31 @@ msgid "" "The :class:`~decimal.Decimal` constructor in decimal.py does not observe the " "context limits and converts values with arbitrary exponents or precision " "exactly. Since the C version has internal limits, the following scheme is " -"used: If possible, values are converted exactly, otherwise :exc:`~decimal." -"InvalidOperation` is raised and the result is NaN. In the latter case it is " -"always possible to use :meth:`~decimal.Context.create_decimal` in order to " -"obtain a rounded or inexact value." +"used: If possible, values are converted exactly, " +"otherwise :exc:`~decimal.InvalidOperation` is raised and the result is NaN. " +"In the latter case it is always possible to " +"use :meth:`~decimal.Context.create_decimal` in order to obtain a rounded or " +"inexact value." msgstr "" #: ../../whatsnew/3.3.rst:1161 msgid "" "The power function in decimal.py is always correctly rounded. In the C " -"version, it is defined in terms of the correctly rounded :meth:`~decimal." -"Decimal.exp` and :meth:`~decimal.Decimal.ln` functions, but the final result " -"is only \"almost always correctly rounded\"." +"version, it is defined in terms of the correctly " +"rounded :meth:`~decimal.Decimal.exp` and :meth:`~decimal.Decimal.ln` " +"functions, but the final result is only \"almost always correctly rounded\"." msgstr "" #: ../../whatsnew/3.3.rst:1167 msgid "" -"In the C version, the context dictionary containing the signals is a :class:" -"`~collections.abc.MutableMapping`. For speed reasons, :attr:`~decimal." -"Context.flags` and :attr:`~decimal.Context.traps` always refer to the same :" -"class:`~collections.abc.MutableMapping` that the context was initialized " -"with. If a new signal dictionary is assigned, :attr:`~decimal.Context.flags` " -"and :attr:`~decimal.Context.traps` are updated with the new values, but they " -"do not reference the RHS dictionary." +"In the C version, the context dictionary containing the signals is " +"a :class:`~collections.abc.MutableMapping`. For speed " +"reasons, :attr:`~decimal.Context.flags` and :attr:`~decimal.Context.traps` " +"always refer to the same :class:`~collections.abc.MutableMapping` that the " +"context was initialized with. If a new signal dictionary is " +"assigned, :attr:`~decimal.Context.flags` and :attr:`~decimal.Context.traps` " +"are updated with the new values, but they do not reference the RHS " +"dictionary." msgstr "" #: ../../whatsnew/3.3.rst:1177 @@ -1718,18 +1722,18 @@ msgstr "" #: ../../whatsnew/3.3.rst:1197 msgid "" -"The email package now has a :mod:`~email.policy` framework. A :class:" -"`~email.policy.Policy` is an object with several methods and properties that " -"control how the email package behaves. The primary policy for Python 3.3 is " -"the :class:`~email.policy.Compat32` policy, which provides backward " -"compatibility with the email package in Python 3.2. A ``policy`` can be " -"specified when an email message is parsed by a :mod:`~email.parser`, or when " -"a :class:`~email.message.Message` object is created, or when an email is " -"serialized using a :mod:`~email.generator`. Unless overridden, a policy " -"passed to a ``parser`` is inherited by all the ``Message`` object and sub-" -"objects created by the ``parser``. By default a ``generator`` will use the " -"policy of the ``Message`` object it is serializing. The default policy is :" -"data:`~email.policy.compat32`." +"The email package now has a :mod:`~email.policy` framework. " +"A :class:`~email.policy.Policy` is an object with several methods and " +"properties that control how the email package behaves. The primary policy " +"for Python 3.3 is the :class:`~email.policy.Compat32` policy, which provides " +"backward compatibility with the email package in Python 3.2. A ``policy`` " +"can be specified when an email message is parsed by a :mod:`~email.parser`, " +"or when a :class:`~email.message.Message` object is created, or when an " +"email is serialized using a :mod:`~email.generator`. Unless overridden, a " +"policy passed to a ``parser`` is inherited by all the ``Message`` object and " +"sub-objects created by the ``parser``. By default a ``generator`` will use " +"the policy of the ``Message`` object it is serializing. The default policy " +"is :data:`~email.policy.compat32`." msgstr "" #: ../../whatsnew/3.3.rst:1210 @@ -1779,11 +1783,11 @@ msgstr "" #: ../../whatsnew/3.3.rst:1232 msgid "" -"A new policy instance, with new settings, is created using the :meth:`~email." -"policy.Policy.clone` method of policy objects. ``clone`` takes any of the " -"above controls as keyword arguments. Any control not specified in the call " -"retains its default value. Thus you can create a policy that uses " -"``\\r\\n`` linesep characters like this::" +"A new policy instance, with new settings, is created using " +"the :meth:`~email.policy.Policy.clone` method of policy objects. ``clone`` " +"takes any of the above controls as keyword arguments. Any control not " +"specified in the call retains its default value. Thus you can create a " +"policy that uses ``\\r\\n`` linesep characters like this::" msgstr "" #: ../../whatsnew/3.3.rst:1240 @@ -1809,10 +1813,10 @@ msgid "" "for introducing it is to allow the creation of new policies that implement " "new features for the email package in a way that maintains backward " "compatibility for those who do not use the new policies. Because the new " -"policies introduce a new API, we are releasing them in Python 3.3 as a :term:" -"`provisional policy `. Backwards incompatible changes " -"(up to and including removal of the code) may occur if deemed necessary by " -"the core developers." +"policies introduce a new API, we are releasing them in Python 3.3 as " +"a :term:`provisional policy `. Backwards incompatible " +"changes (up to and including removal of the code) may occur if deemed " +"necessary by the core developers." msgstr "" #: ../../whatsnew/3.3.rst:1262 @@ -1861,8 +1865,8 @@ msgid "" "You will note that the unicode display name is automatically encoded as " "``utf-8`` when the message is serialized, but that when the header is " "accessed directly, you get the unicode version. This eliminates any need to " -"deal with the :mod:`email.header` :meth:`~email.header.decode_header` or :" -"meth:`~email.header.make_header` functions." +"deal with the :mod:`email.header` :meth:`~email.header.decode_header` " +"or :meth:`~email.header.make_header` functions." msgstr "" #: ../../whatsnew/3.3.rst:1315 @@ -1894,9 +1898,9 @@ msgstr "" #: ../../whatsnew/3.3.rst:1348 msgid "" -"New :class:`~email.parser.BytesHeaderParser`, added to the :mod:`~email." -"parser` module to complement :class:`~email.parser.HeaderParser` and " -"complete the Bytes API." +"New :class:`~email.parser.BytesHeaderParser`, added to " +"the :mod:`~email.parser` module to " +"complement :class:`~email.parser.HeaderParser` and complete the Bytes API." msgstr "" #: ../../whatsnew/3.3.rst:1352 @@ -1919,10 +1923,11 @@ msgstr "" #: ../../whatsnew/3.3.rst:1361 msgid "" ":func:`~email.utils.localtime`: With no argument, returns the current local " -"time as an aware :class:`~datetime.datetime` using the local :class:" -"`~datetime.timezone`. Given an aware :class:`~datetime.datetime`, converts " -"it into an aware :class:`~datetime.datetime` using the local :class:" -"`~datetime.timezone`." +"time as an aware :class:`~datetime.datetime` using the " +"local :class:`~datetime.timezone`. Given an " +"aware :class:`~datetime.datetime`, converts it into an " +"aware :class:`~datetime.datetime` using the " +"local :class:`~datetime.timezone`." msgstr "" #: ../../whatsnew/3.3.rst:1369 @@ -1933,24 +1938,25 @@ msgstr "ftplib" msgid "" ":class:`ftplib.FTP` now accepts a ``source_address`` keyword argument to " "specify the ``(host, port)`` to use as the source address in the bind call " -"when creating the outgoing socket. (Contributed by Giampaolo Rodolà in :" -"issue:`8594`.)" +"when creating the outgoing socket. (Contributed by Giampaolo Rodolà " +"in :issue:`8594`.)" msgstr "" #: ../../whatsnew/3.3.rst:1376 msgid "" -"The :class:`~ftplib.FTP_TLS` class now provides a new :func:`~ftplib.FTP_TLS." -"ccc` function to revert control channel back to plaintext. This can be " -"useful to take advantage of firewalls that know how to handle NAT with non-" -"secure FTP without opening fixed ports. (Contributed by Giampaolo Rodolà " -"in :issue:`12139`.)" +"The :class:`~ftplib.FTP_TLS` class now provides a " +"new :func:`~ftplib.FTP_TLS.ccc` function to revert control channel back to " +"plaintext. This can be useful to take advantage of firewalls that know how " +"to handle NAT with non-secure FTP without opening fixed ports. (Contributed " +"by Giampaolo Rodolà in :issue:`12139`.)" msgstr "" #: ../../whatsnew/3.3.rst:1382 msgid "" "Added :meth:`ftplib.FTP.mlsd` method which provides a parsable directory " -"listing format and deprecates :meth:`ftplib.FTP.nlst` and :meth:`ftplib.FTP." -"dir`. (Contributed by Giampaolo Rodolà in :issue:`11072`.)" +"listing format and deprecates :meth:`ftplib.FTP.nlst` " +"and :meth:`ftplib.FTP.dir`. (Contributed by Giampaolo Rodolà " +"in :issue:`11072`.)" msgstr "" #: ../../whatsnew/3.3.rst:1388 @@ -1993,11 +1999,11 @@ msgstr "http" #: ../../whatsnew/3.3.rst:1414 msgid "" ":class:`http.server.BaseHTTPRequestHandler` now buffers the headers and " -"writes them all at once when :meth:`~http.server.BaseHTTPRequestHandler." -"end_headers` is called. A new method :meth:`~http.server." -"BaseHTTPRequestHandler.flush_headers` can be used to directly manage when " -"the accumulated headers are sent. (Contributed by Andrew Schaaf in :issue:" -"`3709`.)" +"writes them all at once " +"when :meth:`~http.server.BaseHTTPRequestHandler.end_headers` is called. A " +"new method :meth:`~http.server.BaseHTTPRequestHandler.flush_headers` can be " +"used to directly manage when the accumulated headers are sent. (Contributed " +"by Andrew Schaaf in :issue:`3709`.)" msgstr "" #: ../../whatsnew/3.3.rst:1420 @@ -2008,9 +2014,10 @@ msgstr "" #: ../../whatsnew/3.3.rst:1423 msgid "" -":class:`http.client.HTTPResponse` now has a :meth:`~http.client.HTTPResponse." -"readinto` method, which means it can be used as an :class:`io.RawIOBase` " -"class. (Contributed by John Kuhn in :issue:`13464`.)" +":class:`http.client.HTTPResponse` now has " +"a :meth:`~http.client.HTTPResponse.readinto` method, which means it can be " +"used as an :class:`io.RawIOBase` class. (Contributed by John Kuhn " +"in :issue:`13464`.)" msgstr "" #: ../../whatsnew/3.3.rst:1430 @@ -2020,14 +2027,12 @@ msgstr "html" #: ../../whatsnew/3.3.rst:1432 msgid "" ":class:`html.parser.HTMLParser` is now able to parse broken markup without " -"raising errors, therefore the *strict* argument of the constructor and the :" -"exc:`~html.parser.HTMLParseError` exception are now deprecated. The ability " -"to parse broken markup is the result of a number of bug fixes that are also " -"available on the latest bug fix releases of Python 2.7/3.2. (Contributed by " -"Ezio Melotti in :issue:`15114`, and :issue:`14538`, :issue:`13993`, :issue:" -"`13960`, :issue:`13358`, :issue:`1745761`, :issue:`755670`, :issue:`13357`, :" -"issue:`12629`, :issue:`1200313`, :issue:`670664`, :issue:`13273`, :issue:" -"`12888`, :issue:`7311`.)" +"raising errors, therefore the *strict* argument of the constructor and " +"the :exc:`~html.parser.HTMLParseError` exception are now deprecated. The " +"ability to parse broken markup is the result of a number of bug fixes that " +"are also available on the latest bug fix releases of Python 2.7/3.2. " +"(Contributed by Ezio Melotti in :issue:`15114`, " +"and :issue:`14538`, :issue:`13993`, :issue:`13960`, :issue:`13358`, :issue:`1745761`, :issue:`755670`, :issue:`13357`, :issue:`12629`, :issue:`1200313`, :issue:`670664`, :issue:`13273`, :issue:`12888`, :issue:`7311`.)" msgstr "" #: ../../whatsnew/3.3.rst:1442 @@ -2099,10 +2104,10 @@ msgstr "" #: ../../whatsnew/3.3.rst:1484 msgid "" "The constructor of the :class:`~io.TextIOWrapper` class has a new " -"*write_through* optional argument. If *write_through* is ``True``, calls to :" -"meth:`~io.TextIOWrapper.write` are guaranteed not to be buffered: any data " -"written on the :class:`~io.TextIOWrapper` object is immediately handled to " -"its underlying binary buffer." +"*write_through* optional argument. If *write_through* is ``True``, calls " +"to :meth:`~io.TextIOWrapper.write` are guaranteed not to be buffered: any " +"data written on the :class:`~io.TextIOWrapper` object is immediately handled " +"to its underlying binary buffer." msgstr "" #: ../../whatsnew/3.3.rst:1492 @@ -2175,8 +2180,8 @@ msgstr "" #: ../../whatsnew/3.3.rst:1536 msgid "" ":class:`multiprocessing.Connection` objects can now be transferred over " -"multiprocessing connections. (Contributed by Richard Oudkerk in :issue:" -"`4892`.)" +"multiprocessing connections. (Contributed by Richard Oudkerk " +"in :issue:`4892`.)" msgstr "" #: ../../whatsnew/3.3.rst:1540 @@ -2195,11 +2200,12 @@ msgstr "" #: ../../whatsnew/3.3.rst:1549 msgid "" -"New methods :meth:`multiprocessing.pool.Pool.starmap` and :meth:" -"`~multiprocessing.pool.Pool.starmap_async` provide :func:`itertools.starmap` " -"equivalents to the existing :meth:`multiprocessing.pool.Pool.map` and :meth:" -"`~multiprocessing.pool.Pool.map_async` functions. (Contributed by Hynek " -"Schlawack in :issue:`12708`.)" +"New methods :meth:`multiprocessing.pool.Pool.starmap` " +"and :meth:`~multiprocessing.pool.Pool.starmap_async` " +"provide :func:`itertools.starmap` equivalents to the " +"existing :meth:`multiprocessing.pool.Pool.map` " +"and :meth:`~multiprocessing.pool.Pool.map_async` functions. (Contributed by " +"Hynek Schlawack in :issue:`12708`.)" msgstr "" #: ../../whatsnew/3.3.rst:1558 @@ -2224,9 +2230,9 @@ msgstr "os" #: ../../whatsnew/3.3.rst:1577 msgid "" "The :mod:`os` module has a new :func:`~os.pipe2` function that makes it " -"possible to create a pipe with :data:`~os.O_CLOEXEC` or :data:`~os." -"O_NONBLOCK` flags set atomically. This is especially useful to avoid race " -"conditions in multi-threaded programs." +"possible to create a pipe with :const:`~os.O_CLOEXEC` " +"or :const:`~os.O_NONBLOCK` flags set atomically. This is especially useful " +"to avoid race conditions in multi-threaded programs." msgstr "" #: ../../whatsnew/3.3.rst:1582 @@ -2250,52 +2256,46 @@ msgid "" "To avoid race conditions like symlink attacks and issues with temporary " "files and directories, it is more reliable (and also faster) to manipulate " "file descriptors instead of file names. Python 3.3 enhances existing " -"functions and introduces new functions to work on file descriptors (:issue:" -"`4761`, :issue:`10755` and :issue:`14626`)." +"functions and introduces new functions to work on file descriptors " +"(:issue:`4761`, :issue:`10755` and :issue:`14626`)." msgstr "" #: ../../whatsnew/3.3.rst:1598 msgid "" -"The :mod:`os` module has a new :func:`~os.fwalk` function similar to :func:" -"`~os.walk` except that it also yields file descriptors referring to the " -"directories visited. This is especially useful to avoid symlink races." +"The :mod:`os` module has a new :func:`~os.fwalk` function similar " +"to :func:`~os.walk` except that it also yields file descriptors referring to " +"the directories visited. This is especially useful to avoid symlink races." msgstr "" #: ../../whatsnew/3.3.rst:1602 msgid "" "The following functions get new optional *dir_fd* (:ref:`paths relative to " "directory descriptors `) and/or *follow_symlinks* (:ref:`not " -"following symlinks `): :func:`~os.access`, :func:`~os." -"chflags`, :func:`~os.chmod`, :func:`~os.chown`, :func:`~os.link`, :func:`~os." -"lstat`, :func:`~os.mkdir`, :func:`~os.mkfifo`, :func:`~os.mknod`, :func:`~os." -"open`, :func:`~os.readlink`, :func:`~os.remove`, :func:`~os.rename`, :func:" -"`~os.replace`, :func:`~os.rmdir`, :func:`~os.stat`, :func:`~os.symlink`, :" -"func:`~os.unlink`, :func:`~os.utime`. Platform support for using these " -"parameters can be checked via the sets :data:`os.supports_dir_fd` and :data:" -"`os.supports_follows_symlinks`." +"following symlinks " +"`): :func:`~os.access`, :func:`~os.chflags`, :func:`~os.chmod`, :func:`~os.chown`, :func:`~os.link`, :func:`~os.lstat`, :func:`~os.mkdir`, :func:`~os.mkfifo`, :func:`~os.mknod`, :func:`~os.open`, :func:`~os.readlink`, :func:`~os.remove`, :func:`~os.rename`, :func:`~os.replace`, :func:`~os.rmdir`, :func:`~os.stat`, :func:`~os.symlink`, :func:`~os.unlink`, :func:`~os.utime`. " +"Platform support for using these parameters can be checked via the " +"sets :data:`os.supports_dir_fd` and :data:`os.supports_follows_symlinks`." msgstr "" #: ../../whatsnew/3.3.rst:1613 msgid "" "The following functions now support a file descriptor for their path " -"argument: :func:`~os.chdir`, :func:`~os.chmod`, :func:`~os.chown`, :func:" -"`~os.execve`, :func:`~os.listdir`, :func:`~os.pathconf`, :func:`~os.path." -"exists`, :func:`~os.stat`, :func:`~os.statvfs`, :func:`~os.utime`. Platform " -"support for this can be checked via the :data:`os.supports_fd` set." +"argument: :func:`~os.chdir`, :func:`~os.chmod`, :func:`~os.chown`, :func:`~os.execve`, :func:`~os.listdir`, :func:`~os.pathconf`, :func:`~os.path.exists`, :func:`~os.stat`, :func:`~os.statvfs`, :func:`~os.utime`. " +"Platform support for this can be checked via the :data:`os.supports_fd` set." msgstr "" #: ../../whatsnew/3.3.rst:1619 msgid "" ":func:`~os.access` accepts an ``effective_ids`` keyword argument to turn on " "using the effective uid/gid rather than the real uid/gid in the access " -"check. Platform support for this can be checked via the :data:`~os." -"supports_effective_ids` set." +"check. Platform support for this can be checked via " +"the :data:`~os.supports_effective_ids` set." msgstr "" #: ../../whatsnew/3.3.rst:1624 msgid "" -"The :mod:`os` module has two new functions: :func:`~os.getpriority` and :" -"func:`~os.setpriority`. They can be used to get or set process niceness/" +"The :mod:`os` module has two new functions: :func:`~os.getpriority` " +"and :func:`~os.setpriority`. They can be used to get or set process niceness/" "priority in a fashion similar to :func:`os.nice` but extended to all " "processes instead of just the current one." msgstr "" @@ -2314,37 +2314,32 @@ msgstr "" #: ../../whatsnew/3.3.rst:1637 msgid "" -"The stat family of functions (:func:`~os.stat`, :func:`~os.fstat`, and :func:" -"`~os.lstat`) now support reading a file's timestamps with nanosecond " -"precision. Symmetrically, :func:`~os.utime` can now write file timestamps " -"with nanosecond precision. (Contributed by Larry Hastings in :issue:" -"`14127`.)" +"The stat family of functions (:func:`~os.stat`, :func:`~os.fstat`, " +"and :func:`~os.lstat`) now support reading a file's timestamps with " +"nanosecond precision. Symmetrically, :func:`~os.utime` can now write file " +"timestamps with nanosecond precision. (Contributed by Larry Hastings " +"in :issue:`14127`.)" msgstr "" #: ../../whatsnew/3.3.rst:1643 msgid "" "The new :func:`os.get_terminal_size` function queries the size of the " -"terminal attached to a file descriptor. See also :func:`shutil." -"get_terminal_size`. (Contributed by Zbigniew Jędrzejewski-Szmek in :issue:" -"`13609`.)" +"terminal attached to a file descriptor. See " +"also :func:`shutil.get_terminal_size`. (Contributed by Zbigniew Jędrzejewski-" +"Szmek in :issue:`13609`.)" msgstr "" #: ../../whatsnew/3.3.rst:1650 msgid "" -"New functions to support Linux extended attributes (:issue:`12720`): :func:" -"`~os.getxattr`, :func:`~os.listxattr`, :func:`~os.removexattr`, :func:`~os." -"setxattr`." +"New functions to support Linux extended attributes " +"(:issue:`12720`): :func:`~os.getxattr`, :func:`~os.listxattr`, :func:`~os.removexattr`, :func:`~os.setxattr`." msgstr "" #: ../../whatsnew/3.3.rst:1654 msgid "" "New interface to the scheduler. These functions control how a process is " -"allocated CPU time by the operating system. New functions: :func:`~os." -"sched_get_priority_max`, :func:`~os.sched_get_priority_min`, :func:`~os." -"sched_getaffinity`, :func:`~os.sched_getparam`, :func:`~os." -"sched_getscheduler`, :func:`~os.sched_rr_get_interval`, :func:`~os." -"sched_setaffinity`, :func:`~os.sched_setparam`, :func:`~os." -"sched_setscheduler`, :func:`~os.sched_yield`," +"allocated CPU time by the operating system. New " +"functions: :func:`~os.sched_get_priority_max`, :func:`~os.sched_get_priority_min`, :func:`~os.sched_getaffinity`, :func:`~os.sched_getparam`, :func:`~os.sched_getscheduler`, :func:`~os.sched_rr_get_interval`, :func:`~os.sched_setaffinity`, :func:`~os.sched_setparam`, :func:`~os.sched_setscheduler`, :func:`~os.sched_yield`," msgstr "" #: ../../whatsnew/3.3.rst:1663 @@ -2432,12 +2427,12 @@ msgstr "" #: ../../whatsnew/3.3.rst:1693 msgid "" -"New constants :data:`~os.RTLD_LAZY`, :data:`~os.RTLD_NOW`, :data:`~os." -"RTLD_GLOBAL`, :data:`~os.RTLD_LOCAL`, :data:`~os.RTLD_NODELETE`, :data:`~os." -"RTLD_NOLOAD`, and :data:`~os.RTLD_DEEPBIND` are available on platforms that " -"support them. These are for use with the :func:`sys.setdlopenflags` " -"function, and supersede the similar constants defined in :mod:`ctypes` and :" -"mod:`DLFCN`. (Contributed by Victor Stinner in :issue:`13226`.)" +"New " +"constants :const:`~os.RTLD_LAZY`, :const:`~os.RTLD_NOW`, :const:`~os.RTLD_GLOBAL`, :const:`~os.RTLD_LOCAL`, :const:`~os.RTLD_NODELETE`, :const:`~os.RTLD_NOLOAD`, " +"and :const:`~os.RTLD_DEEPBIND` are available on platforms that support " +"them. These are for use with the :func:`sys.setdlopenflags` function, and " +"supersede the similar constants defined in :mod:`ctypes` and :mod:`DLFCN`. " +"(Contributed by Victor Stinner in :issue:`13226`.)" msgstr "" #: ../../whatsnew/3.3.rst:1701 @@ -2467,8 +2462,9 @@ msgstr "pickle" #: ../../whatsnew/3.3.rst:1718 msgid "" -":class:`pickle.Pickler` objects now have an optional :attr:`~pickle.Pickler." -"dispatch_table` attribute allowing per-pickler reduction functions to be set." +":class:`pickle.Pickler` objects now have an " +"optional :attr:`~pickle.Pickler.dispatch_table` attribute allowing per-" +"pickler reduction functions to be set." msgstr "" #: ../../whatsnew/3.3.rst:1722 @@ -2481,8 +2477,8 @@ msgstr "pydoc" #: ../../whatsnew/3.3.rst:1728 msgid "" -"The Tk GUI and the :func:`~pydoc.serve` function have been removed from the :" -"mod:`pydoc` module: ``pydoc -g`` and :func:`~pydoc.serve` have been " +"The Tk GUI and the :func:`~pydoc.serve` function have been removed from " +"the :mod:`pydoc` module: ``pydoc -g`` and :func:`~pydoc.serve` have been " "deprecated in Python 3.2." msgstr "" @@ -2515,22 +2511,23 @@ msgstr "" #: ../../whatsnew/3.3.rst:1750 msgid "" ":class:`~sched.scheduler` class can now be safely used in multi-threaded " -"environments. (Contributed by Josiah Carlson and Giampaolo Rodolà in :issue:" -"`8684`.)" +"environments. (Contributed by Josiah Carlson and Giampaolo Rodolà " +"in :issue:`8684`.)" msgstr "" #: ../../whatsnew/3.3.rst:1754 msgid "" "*timefunc* and *delayfunct* parameters of :class:`~sched.scheduler` class " -"constructor are now optional and defaults to :func:`time.time` and :func:" -"`time.sleep` respectively. (Contributed by Chris Clark in :issue:`13245`.)" +"constructor are now optional and defaults to :func:`time.time` " +"and :func:`time.sleep` respectively. (Contributed by Chris Clark " +"in :issue:`13245`.)" msgstr "" #: ../../whatsnew/3.3.rst:1759 msgid "" ":meth:`~sched.scheduler.enter` and :meth:`~sched.scheduler.enterabs` " -"*argument* parameter is now optional. (Contributed by Chris Clark in :issue:" -"`13245`.)" +"*argument* parameter is now optional. (Contributed by Chris Clark " +"in :issue:`13245`.)" msgstr "" #: ../../whatsnew/3.3.rst:1763 @@ -2557,9 +2554,9 @@ msgstr "shlex" #: ../../whatsnew/3.3.rst:1779 msgid "" "The previously undocumented helper function ``quote`` from the :mod:`pipes` " -"modules has been moved to the :mod:`shlex` module and documented. :func:" -"`~shlex.quote` properly escapes all characters in a string that might be " -"otherwise given special meaning by the shell." +"modules has been moved to the :mod:`shlex` module and " +"documented. :func:`~shlex.quote` properly escapes all characters in a " +"string that might be otherwise given special meaning by the shell." msgstr "" #: ../../whatsnew/3.3.rst:1786 @@ -2618,9 +2615,9 @@ msgstr "" #: ../../whatsnew/3.3.rst:1815 msgid "" ":func:`~shutil.rmtree` is now resistant to symlink attacks on platforms " -"which support the new ``dir_fd`` parameter in :func:`os.open` and :func:`os." -"unlink`. (Contributed by Martin von Löwis and Hynek Schlawack in :issue:" -"`4489`.)" +"which support the new ``dir_fd`` parameter in :func:`os.open` " +"and :func:`os.unlink`. (Contributed by Martin von Löwis and Hynek Schlawack " +"in :issue:`4489`.)" msgstr "" #: ../../whatsnew/3.3.rst:1822 @@ -2680,9 +2677,10 @@ msgstr "smtpd" #: ../../whatsnew/3.3.rst:1847 msgid "" -"The :mod:`smtpd` module now supports :rfc:`5321` (extended SMTP) and :rfc:" -"`1870` (size extension). Per the standard, these extensions are enabled if " -"and only if the client initiates the session with an ``EHLO`` command." +"The :mod:`smtpd` module now supports :rfc:`5321` (extended SMTP) " +"and :rfc:`1870` (size extension). Per the standard, these extensions are " +"enabled if and only if the client initiates the session with an ``EHLO`` " +"command." msgstr "" #: ../../whatsnew/3.3.rst:1851 @@ -2698,11 +2696,11 @@ msgstr "smtplib" #: ../../whatsnew/3.3.rst:1859 msgid "" -"The :class:`~smtplib.SMTP`, :class:`~smtplib.SMTP_SSL`, and :class:`~smtplib." -"LMTP` classes now accept a ``source_address`` keyword argument to specify " -"the ``(host, port)`` to use as the source address in the bind call when " -"creating the outgoing socket. (Contributed by Paulo Scardine in :issue:" -"`11281`.)" +"The :class:`~smtplib.SMTP`, :class:`~smtplib.SMTP_SSL`, " +"and :class:`~smtplib.LMTP` classes now accept a ``source_address`` keyword " +"argument to specify the ``(host, port)`` to use as the source address in the " +"bind call when creating the outgoing socket. (Contributed by Paulo Scardine " +"in :issue:`11281`.)" msgstr "" #: ../../whatsnew/3.3.rst:1865 @@ -2714,9 +2712,10 @@ msgstr "" #: ../../whatsnew/3.3.rst:1869 msgid "" -"The :class:`~smtplib.SMTP_SSL` constructor and the :meth:`~smtplib.SMTP." -"starttls` method now accept an SSLContext parameter to control parameters of " -"the secure channel. (Contributed by Kasun Herath in :issue:`8809`.)" +"The :class:`~smtplib.SMTP_SSL` constructor and " +"the :meth:`~smtplib.SMTP.starttls` method now accept an SSLContext parameter " +"to control parameters of the secure channel. (Contributed by Kasun Herath " +"in :issue:`8809`.)" msgstr "" #: ../../whatsnew/3.3.rst:1875 @@ -2756,16 +2755,16 @@ msgstr "" #: ../../whatsnew/3.3.rst:1891 msgid "" -"(Contributed by Matthias Fuchs, updated by Tiago Gonçalves in :issue:" -"`10141`.)" +"(Contributed by Matthias Fuchs, updated by Tiago Gonçalves " +"in :issue:`10141`.)" msgstr "" #: ../../whatsnew/3.3.rst:1893 msgid "" "The :class:`~socket.socket` class now supports the PF_RDS protocol family " -"(https://en.wikipedia.org/wiki/Reliable_Datagram_Sockets and `https://oss." -"oracle.com/projects/rds `__)." +"(https://en.wikipedia.org/wiki/Reliable_Datagram_Sockets and `https://" +"oss.oracle.com/projects/rds `__)." msgstr "" #: ../../whatsnew/3.3.rst:1897 @@ -2787,11 +2786,11 @@ msgstr "socketserver" #: ../../whatsnew/3.3.rst:1908 msgid "" -":class:`~socketserver.BaseServer` now has an overridable method :meth:" -"`~socketserver.BaseServer.service_actions` that is called by the :meth:" -"`~socketserver.BaseServer.serve_forever` method in the service loop. :class:" -"`~socketserver.ForkingMixIn` now uses this to clean up zombie child " -"processes. (Contributed by Justin Warkentin in :issue:`11109`.)" +":class:`~socketserver.BaseServer` now has an overridable " +"method :meth:`~socketserver.BaseServer.service_actions` that is called by " +"the :meth:`~socketserver.BaseServer.serve_forever` method in the service " +"loop. :class:`~socketserver.ForkingMixIn` now uses this to clean up zombie " +"child processes. (Contributed by Justin Warkentin in :issue:`11109`.)" msgstr "" #: ../../whatsnew/3.3.rst:1916 @@ -2800,9 +2799,10 @@ msgstr "sqlite3" #: ../../whatsnew/3.3.rst:1918 msgid "" -"New :class:`sqlite3.Connection` method :meth:`~sqlite3.Connection." -"set_trace_callback` can be used to capture a trace of all sql commands " -"processed by sqlite. (Contributed by Torsten Landschoff in :issue:`11688`.)" +"New :class:`sqlite3.Connection` " +"method :meth:`~sqlite3.Connection.set_trace_callback` can be used to capture " +"a trace of all sql commands processed by sqlite. (Contributed by Torsten " +"Landschoff in :issue:`11688`.)" msgstr "" #: ../../whatsnew/3.3.rst:1925 @@ -2837,16 +2837,16 @@ msgstr "" #: ../../whatsnew/3.3.rst:1939 msgid "" ":meth:`~ssl.SSLContext.load_cert_chain` now accepts a *password* argument to " -"be used if the private key is encrypted. (Contributed by Adam Simpkins in :" -"issue:`12803`.)" +"be used if the private key is encrypted. (Contributed by Adam Simpkins " +"in :issue:`12803`.)" msgstr "" #: ../../whatsnew/3.3.rst:1943 msgid "" "Diffie-Hellman key exchange, both regular and Elliptic Curve-based, is now " -"supported through the :meth:`~ssl.SSLContext.load_dh_params` and :meth:`~ssl." -"SSLContext.set_ecdh_curve` methods. (Contributed by Antoine Pitrou in :issue:" -"`13626` and :issue:`13627`.)" +"supported through the :meth:`~ssl.SSLContext.load_dh_params` " +"and :meth:`~ssl.SSLContext.set_ecdh_curve` methods. (Contributed by Antoine " +"Pitrou in :issue:`13626` and :issue:`13627`.)" msgstr "" #: ../../whatsnew/3.3.rst:1948 @@ -2859,9 +2859,9 @@ msgstr "" #: ../../whatsnew/3.3.rst:1952 msgid "" "You can query the SSL compression algorithm used by an SSL socket, thanks to " -"its new :meth:`~ssl.SSLSocket.compression` method. The new attribute :attr:" -"`~ssl.OP_NO_COMPRESSION` can be used to disable compression. (Contributed by " -"Antoine Pitrou in :issue:`13634`.)" +"its new :meth:`~ssl.SSLSocket.compression` method. The new " +"attribute :const:`~ssl.OP_NO_COMPRESSION` can be used to disable " +"compression. (Contributed by Antoine Pitrou in :issue:`13634`.)" msgstr "" #: ../../whatsnew/3.3.rst:1957 @@ -2873,9 +2873,9 @@ msgstr "" #: ../../whatsnew/3.3.rst:1961 msgid "" -"SSL errors can now be introspected more easily thanks to :attr:`~ssl." -"SSLError.library` and :attr:`~ssl.SSLError.reason` attributes. (Contributed " -"by Antoine Pitrou in :issue:`14837`.)" +"SSL errors can now be introspected more easily thanks " +"to :attr:`~ssl.SSLError.library` and :attr:`~ssl.SSLError.reason` " +"attributes. (Contributed by Antoine Pitrou in :issue:`14837`.)" msgstr "" #: ../../whatsnew/3.3.rst:1965 @@ -2886,7 +2886,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:1968 msgid "" -"New attribute :attr:`~ssl.OP_CIPHER_SERVER_PREFERENCE` allows setting SSLv3 " +"New attribute :const:`~ssl.OP_CIPHER_SERVER_PREFERENCE` allows setting SSLv3 " "server sockets to use the server's cipher ordering preference rather than " "the client's (:issue:`13635`)." msgstr "" @@ -2897,9 +2897,9 @@ msgstr "stat" #: ../../whatsnew/3.3.rst:1976 msgid "" -"The undocumented tarfile.filemode function has been moved to :func:`stat." -"filemode`. It can be used to convert a file's mode to a string of the form '-" -"rwxrwxrwx'." +"The undocumented tarfile.filemode function has been moved " +"to :func:`stat.filemode`. It can be used to convert a file's mode to a " +"string of the form '-rwxrwxrwx'." msgstr "" #: ../../whatsnew/3.3.rst:1980 @@ -2912,9 +2912,9 @@ msgstr "struct" #: ../../whatsnew/3.3.rst:1986 msgid "" -"The :mod:`struct` module now supports ``ssize_t`` and ``size_t`` via the new " -"codes ``n`` and ``N``, respectively. (Contributed by Antoine Pitrou in :" -"issue:`3163`.)" +"The :mod:`struct` module now supports :c:type:`ssize_t` and :c:type:`size_t` " +"via the new codes ``n`` and ``N``, respectively. (Contributed by Antoine " +"Pitrou in :issue:`3163`.)" msgstr "" #: ../../whatsnew/3.3.rst:1992 @@ -2929,9 +2929,9 @@ msgstr "" #: ../../whatsnew/3.3.rst:1997 msgid "" -"A new constant :data:`~subprocess.DEVNULL` allows suppressing output in a " -"platform-independent fashion. (Contributed by Ross Lagerwall in :issue:" -"`5870`.)" +"A new constant :const:`~subprocess.DEVNULL` allows suppressing output in a " +"platform-independent fashion. (Contributed by Ross Lagerwall " +"in :issue:`5870`.)" msgstr "" #: ../../whatsnew/3.3.rst:2003 @@ -2960,9 +2960,9 @@ msgstr "tempfile" #: ../../whatsnew/3.3.rst:2020 msgid "" -":class:`tempfile.SpooledTemporaryFile`\\'s :meth:`~tempfile." -"SpooledTemporaryFile.truncate` method now accepts a ``size`` parameter. " -"(Contributed by Ryan Kelly in :issue:`9957`.)" +":class:`tempfile.SpooledTemporaryFile`\\'s :meth:`~tempfile.SpooledTemporaryFile.truncate` " +"method now accepts a ``size`` parameter. (Contributed by Ryan Kelly " +"in :issue:`9957`.)" msgstr "" #: ../../whatsnew/3.3.rst:2026 @@ -2982,11 +2982,10 @@ msgstr "threading" #: ../../whatsnew/3.3.rst:2036 msgid "" -":class:`threading.Condition`, :class:`threading.Semaphore`, :class:" -"`threading.BoundedSemaphore`, :class:`threading.Event`, and :class:" -"`threading.Timer`, all of which used to be factory functions returning a " -"class instance, are now classes and may be subclassed. (Contributed by Éric " -"Araujo in :issue:`10968`.)" +":class:`threading.Condition`, :class:`threading.Semaphore`, :class:`threading.BoundedSemaphore`, :class:`threading.Event`, " +"and :class:`threading.Timer`, all of which used to be factory functions " +"returning a class instance, are now classes and may be subclassed. " +"(Contributed by Éric Araujo in :issue:`10968`.)" msgstr "" #: ../../whatsnew/3.3.rst:2042 @@ -3041,16 +3040,16 @@ msgstr "" #: ../../whatsnew/3.3.rst:2068 msgid "" -":func:`~time.clock_getres`, :func:`~time.clock_gettime` and :func:`~time." -"clock_settime` functions with ``CLOCK_xxx`` constants. (Contributed by " -"Victor Stinner in :issue:`10278`.)" +":func:`~time.clock_getres`, :func:`~time.clock_gettime` " +"and :func:`~time.clock_settime` functions with :samp:`CLOCK_{xxx}` " +"constants. (Contributed by Victor Stinner in :issue:`10278`.)" msgstr "" #: ../../whatsnew/3.3.rst:2072 msgid "" -"To improve cross platform consistency, :func:`~time.sleep` now raises a :exc:" -"`ValueError` when passed a negative sleep value. Previously this was an " -"error on posix, but produced an infinite sleep on Windows." +"To improve cross platform consistency, :func:`~time.sleep` now raises " +"a :exc:`ValueError` when passed a negative sleep value. Previously this was " +"an error on posix, but produced an infinite sleep on Windows." msgstr "" #: ../../whatsnew/3.3.rst:2078 @@ -3066,8 +3065,8 @@ msgstr "" #: ../../whatsnew/3.3.rst:2084 msgid "" "The new functions :func:`types.new_class` and :func:`types.prepare_class` " -"provide support for :pep:`3115` compliant dynamic type creation. (:issue:" -"`14588`)" +"provide support for :pep:`3115` compliant dynamic type creation. " +"(:issue:`14588`)" msgstr "" #: ../../whatsnew/3.3.rst:2089 @@ -3078,8 +3077,8 @@ msgstr "unittest" msgid "" ":meth:`.assertRaises`, :meth:`.assertRaisesRegex`, :meth:`.assertWarns`, " "and :meth:`.assertWarnsRegex` now accept a keyword argument *msg* when used " -"as context managers. (Contributed by Ezio Melotti and Winston Ewert in :" -"issue:`10775`.)" +"as context managers. (Contributed by Ezio Melotti and Winston Ewert " +"in :issue:`10775`.)" msgstr "" #: ../../whatsnew/3.3.rst:2096 @@ -3105,32 +3104,32 @@ msgstr "" #: ../../whatsnew/3.3.rst:2113 msgid "webbrowser" -msgstr "" +msgstr "webbrowser" #: ../../whatsnew/3.3.rst:2115 msgid "" "The :mod:`webbrowser` module supports more \"browsers\": Google Chrome " -"(named :program:`chrome`, :program:`chromium`, :program:`chrome-browser` or :" -"program:`chromium-browser` depending on the version and operating system), " -"and the generic launchers :program:`xdg-open`, from the FreeDesktop.org " -"project, and :program:`gvfs-open`, which is the default URI handler for " -"GNOME 3. (The former contributed by Arnaud Calmettes in :issue:`13620`, the " -"latter by Matthias Klose in :issue:`14493`.)" +"(named :program:`chrome`, :program:`chromium`, :program:`chrome-browser` " +"or :program:`chromium-browser` depending on the version and operating " +"system), and the generic launchers :program:`xdg-open`, from the " +"FreeDesktop.org project, and :program:`gvfs-open`, which is the default URI " +"handler for GNOME 3. (The former contributed by Arnaud Calmettes " +"in :issue:`13620`, the latter by Matthias Klose in :issue:`14493`.)" msgstr "" #: ../../whatsnew/3.3.rst:2125 msgid "xml.etree.ElementTree" -msgstr "" +msgstr "xml.etree.ElementTree" #: ../../whatsnew/3.3.rst:2127 msgid "" "The :mod:`xml.etree.ElementTree` module now imports its C accelerator by " -"default; there is no longer a need to explicitly import :mod:`xml.etree." -"cElementTree` (this module stays for backwards compatibility, but is now " -"deprecated). In addition, the ``iter`` family of methods of :class:`~xml." -"etree.ElementTree.Element` has been optimized (rewritten in C). The module's " -"documentation has also been greatly improved with added examples and a more " -"detailed reference." +"default; there is no longer a need to explicitly " +"import :mod:`xml.etree.cElementTree` (this module stays for backwards " +"compatibility, but is now deprecated). In addition, the ``iter`` family of " +"methods of :class:`~xml.etree.ElementTree.Element` has been optimized " +"(rewritten in C). The module's documentation has also been greatly improved " +"with added examples and a more detailed reference." msgstr "" #: ../../whatsnew/3.3.rst:2137 @@ -3146,7 +3145,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:2143 msgid "" -"New attribute :attr:`zlib.ZLIB_RUNTIME_VERSION` reports the version string " +"New attribute :const:`zlib.ZLIB_RUNTIME_VERSION` reports the version string " "of the underlying ``zlib`` library that is loaded at runtime. (Contributed " "by Torsten Landschoff in :issue:`12306`.)" msgstr "" @@ -3190,17 +3189,17 @@ msgstr "" #: ../../whatsnew/3.3.rst:2164 msgid "" -"(Contributed by Serhiy Storchaka, :issue:`14624`, :issue:`14738` and :issue:" -"`15026`.)" +"(Contributed by Serhiy Storchaka, :issue:`14624`, :issue:`14738` " +"and :issue:`15026`.)" msgstr "" #: ../../whatsnew/3.3.rst:2169 msgid "Build and C API Changes" -msgstr "Alterações a compilações e API C" +msgstr "Mudanças a construções e API C" #: ../../whatsnew/3.3.rst:2171 msgid "Changes to Python's build process and to the C API include:" -msgstr "Changes to Python's build process and to the C API include:" +msgstr "As alterações no processo de construção do Python e na API C incluem:" #: ../../whatsnew/3.3.rst:2173 msgid "New :pep:`3118` related function:" @@ -3267,30 +3266,18 @@ msgid ":c:func:`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsUCS4Copy`" msgstr ":c:func:`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsUCS4Copy`" #: ../../whatsnew/3.3.rst:2195 -msgid "" -":c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`, :c:macro:" -"`PyUnicode_2BYTE_DATA`, :c:macro:`PyUnicode_4BYTE_DATA`" -msgstr "" -":c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`, :c:macro:" -"`PyUnicode_2BYTE_DATA`, :c:macro:`PyUnicode_4BYTE_DATA`" +msgid ":c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`, :c:macro:`PyUnicode_2BYTE_DATA`, :c:macro:`PyUnicode_4BYTE_DATA`" +msgstr ":c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`, :c:macro:`PyUnicode_2BYTE_DATA`, :c:macro:`PyUnicode_4BYTE_DATA`" #: ../../whatsnew/3.3.rst:2197 msgid "" -":c:macro:`PyUnicode_KIND` with :c:type:`PyUnicode_Kind` enum: :c:data:" -"`PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`, :c:data:" -"`PyUnicode_2BYTE_KIND`, :c:data:`PyUnicode_4BYTE_KIND`" +":c:macro:`PyUnicode_KIND` with :c:enum:`PyUnicode_Kind` enum: :c:data:`!" +"PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`, :c:data:`PyUnicode_2BYTE_KIND`, :c:data:`PyUnicode_4BYTE_KIND`" msgstr "" -":c:macro:`PyUnicode_KIND` with :c:type:`PyUnicode_Kind` enum: :c:data:" -"`PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`, :c:data:" -"`PyUnicode_2BYTE_KIND`, :c:data:`PyUnicode_4BYTE_KIND`" #: ../../whatsnew/3.3.rst:2200 -msgid "" -":c:macro:`PyUnicode_READ`, :c:macro:`PyUnicode_READ_CHAR`, :c:macro:" -"`PyUnicode_WRITE`" -msgstr "" -":c:macro:`PyUnicode_READ`, :c:macro:`PyUnicode_READ_CHAR`, :c:macro:" -"`PyUnicode_WRITE`" +msgid ":c:macro:`PyUnicode_READ`, :c:macro:`PyUnicode_READ_CHAR`, :c:macro:`PyUnicode_WRITE`" +msgstr ":c:macro:`PyUnicode_READ`, :c:macro:`PyUnicode_READ_CHAR`, :c:macro:`PyUnicode_WRITE`" #: ../../whatsnew/3.3.rst:2201 msgid ":c:macro:`PyUnicode_MAX_CHAR_VALUE`" @@ -3336,18 +3323,18 @@ msgstr "" #: ../../whatsnew/3.3.rst:2227 msgid "" -"The ``unicode_internal`` codec has been deprecated because of the :pep:" -"`393`, use UTF-8, UTF-16 (``utf-16-le`` or ``utf-16-be``), or UTF-32 " -"(``utf-32-le`` or ``utf-32-be``)" +"The ``unicode_internal`` codec has been deprecated because of " +"the :pep:`393`, use UTF-8, UTF-16 (``utf-16-le`` or ``utf-16-be``), or " +"UTF-32 (``utf-32-le`` or ``utf-32-be``)" msgstr "" #: ../../whatsnew/3.3.rst:2230 msgid "" -":meth:`ftplib.FTP.nlst` and :meth:`ftplib.FTP.dir`: use :meth:`ftplib.FTP." -"mlsd`" +":meth:`ftplib.FTP.nlst` and :meth:`ftplib.FTP.dir`: " +"use :meth:`ftplib.FTP.mlsd`" msgstr "" -":meth:`ftplib.FTP.nlst` and :meth:`ftplib.FTP.dir`: use :meth:`ftplib.FTP." -"mlsd`" +":meth:`ftplib.FTP.nlst` and :meth:`ftplib.FTP.dir`: " +"use :meth:`ftplib.FTP.mlsd`" #: ../../whatsnew/3.3.rst:2232 msgid "" @@ -3370,8 +3357,8 @@ msgstr "" #: ../../whatsnew/3.3.rst:2239 msgid "" -"The behaviour of :func:`time.clock` depends on the platform: use the new :" -"func:`time.perf_counter` or :func:`time.process_time` function instead, " +"The behaviour of :func:`time.clock` depends on the platform: use the " +"new :func:`time.perf_counter` or :func:`time.process_time` function instead, " "depending on your requirements, to have a well defined behaviour." msgstr "" @@ -3407,59 +3394,49 @@ msgstr "" #: ../../whatsnew/3.3.rst:2269 msgid "" -"Unicode functions and methods using :c:type:`Py_UNICODE` and :c:expr:" -"`Py_UNICODE*` types:" +"Unicode functions and methods using :c:type:`Py_UNICODE` " +"and :c:expr:`Py_UNICODE*` types:" msgstr "" #: ../../whatsnew/3.3.rst:2272 msgid "" -":c:macro:`PyUnicode_FromUnicode`: use :c:func:`PyUnicode_FromWideChar` or :c:" -"func:`PyUnicode_FromKindAndData`" +":c:macro:`!PyUnicode_FromUnicode`: use :c:func:`PyUnicode_FromWideChar` " +"or :c:func:`PyUnicode_FromKindAndData`" msgstr "" -":c:macro:`PyUnicode_FromUnicode`: use :c:func:`PyUnicode_FromWideChar` or :c:" -"func:`PyUnicode_FromKindAndData`" #: ../../whatsnew/3.3.rst:2274 msgid "" -":c:macro:`PyUnicode_AS_UNICODE`, :c:func:`PyUnicode_AsUnicode`, :c:func:" -"`PyUnicode_AsUnicodeAndSize`: use :c:func:`PyUnicode_AsWideCharString`" +":c:macro:`!PyUnicode_AS_UNICODE`, :c:func:`!PyUnicode_AsUnicode`, :c:func:`!" +"PyUnicode_AsUnicodeAndSize`: use :c:func:`PyUnicode_AsWideCharString`" msgstr "" -":c:macro:`PyUnicode_AS_UNICODE`, :c:func:`PyUnicode_AsUnicode`, :c:func:" -"`PyUnicode_AsUnicodeAndSize`: use :c:func:`PyUnicode_AsWideCharString`" #: ../../whatsnew/3.3.rst:2276 msgid "" -":c:macro:`PyUnicode_AS_DATA`: use :c:macro:`PyUnicode_DATA` with :c:macro:" -"`PyUnicode_READ` and :c:macro:`PyUnicode_WRITE`" +":c:macro:`!PyUnicode_AS_DATA`: use :c:macro:`PyUnicode_DATA` " +"with :c:macro:`PyUnicode_READ` and :c:macro:`PyUnicode_WRITE`" msgstr "" -":c:macro:`PyUnicode_AS_DATA`: use :c:macro:`PyUnicode_DATA` with :c:macro:" -"`PyUnicode_READ` and :c:macro:`PyUnicode_WRITE`" #: ../../whatsnew/3.3.rst:2278 msgid "" -":c:macro:`PyUnicode_GET_SIZE`, :c:func:`PyUnicode_GetSize`: use :c:macro:" -"`PyUnicode_GET_LENGTH` or :c:func:`PyUnicode_GetLength`" +":c:macro:`!PyUnicode_GET_SIZE`, :c:func:`!PyUnicode_GetSize`: " +"use :c:macro:`PyUnicode_GET_LENGTH` or :c:func:`PyUnicode_GetLength`" msgstr "" -":c:macro:`PyUnicode_GET_SIZE`, :c:func:`PyUnicode_GetSize`: use :c:macro:" -"`PyUnicode_GET_LENGTH` or :c:func:`PyUnicode_GetLength`" #: ../../whatsnew/3.3.rst:2280 msgid "" -":c:macro:`PyUnicode_GET_DATA_SIZE`: use ``PyUnicode_GET_LENGTH(str) * " +":c:macro:`!PyUnicode_GET_DATA_SIZE`: use ``PyUnicode_GET_LENGTH(str) * " "PyUnicode_KIND(str)`` (only work on ready strings)" msgstr "" #: ../../whatsnew/3.3.rst:2283 msgid "" -":c:func:`PyUnicode_AsUnicodeCopy`: use :c:func:`PyUnicode_AsUCS4Copy` or :c:" -"func:`PyUnicode_AsWideCharString`" +":c:func:`!PyUnicode_AsUnicodeCopy`: use :c:func:`PyUnicode_AsUCS4Copy` " +"or :c:func:`PyUnicode_AsWideCharString`" msgstr "" -":c:func:`PyUnicode_AsUnicodeCopy`: use :c:func:`PyUnicode_AsUCS4Copy` or :c:" -"func:`PyUnicode_AsWideCharString`" #: ../../whatsnew/3.3.rst:2285 -msgid ":c:func:`PyUnicode_GetMax`" -msgstr ":c:func:`PyUnicode_GetMax`" +msgid ":c:func:`!PyUnicode_GetMax`" +msgstr "" #: ../../whatsnew/3.3.rst:2288 msgid "Functions and macros manipulating Py_UNICODE* strings:" @@ -3467,125 +3444,111 @@ msgstr "" #: ../../whatsnew/3.3.rst:2290 msgid "" -":c:macro:`Py_UNICODE_strlen`: use :c:func:`PyUnicode_GetLength` or :c:macro:" -"`PyUnicode_GET_LENGTH`" +":c:macro:`!Py_UNICODE_strlen()`: use :c:func:`PyUnicode_GetLength` " +"or :c:macro:`PyUnicode_GET_LENGTH`" msgstr "" -":c:macro:`Py_UNICODE_strlen`: use :c:func:`PyUnicode_GetLength` or :c:macro:" -"`PyUnicode_GET_LENGTH`" #: ../../whatsnew/3.3.rst:2292 msgid "" -":c:macro:`Py_UNICODE_strcat`: use :c:func:`PyUnicode_CopyCharacters` or :c:" -"func:`PyUnicode_FromFormat`" +":c:macro:`!Py_UNICODE_strcat()`: use :c:func:`PyUnicode_CopyCharacters` " +"or :c:func:`PyUnicode_FromFormat`" msgstr "" -":c:macro:`Py_UNICODE_strcat`: use :c:func:`PyUnicode_CopyCharacters` or :c:" -"func:`PyUnicode_FromFormat`" #: ../../whatsnew/3.3.rst:2294 msgid "" -":c:macro:`Py_UNICODE_strcpy`, :c:macro:`Py_UNICODE_strncpy`, :c:macro:" -"`Py_UNICODE_COPY`: use :c:func:`PyUnicode_CopyCharacters` or :c:func:" -"`PyUnicode_Substring`" +":c:macro:`!Py_UNICODE_strcpy()`, :c:macro:`!" +"Py_UNICODE_strncpy()`, :c:macro:`!Py_UNICODE_COPY()`: " +"use :c:func:`PyUnicode_CopyCharacters` or :c:func:`PyUnicode_Substring`" msgstr "" -":c:macro:`Py_UNICODE_strcpy`, :c:macro:`Py_UNICODE_strncpy`, :c:macro:" -"`Py_UNICODE_COPY`: use :c:func:`PyUnicode_CopyCharacters` or :c:func:" -"`PyUnicode_Substring`" #: ../../whatsnew/3.3.rst:2297 -msgid ":c:macro:`Py_UNICODE_strcmp`: use :c:func:`PyUnicode_Compare`" -msgstr ":c:macro:`Py_UNICODE_strcmp`: use :c:func:`PyUnicode_Compare`" +msgid ":c:macro:`!Py_UNICODE_strcmp()`: use :c:func:`PyUnicode_Compare`" +msgstr "" #: ../../whatsnew/3.3.rst:2298 -msgid ":c:macro:`Py_UNICODE_strncmp`: use :c:func:`PyUnicode_Tailmatch`" -msgstr ":c:macro:`Py_UNICODE_strncmp`: use :c:func:`PyUnicode_Tailmatch`" +msgid ":c:macro:`!Py_UNICODE_strncmp()`: use :c:func:`PyUnicode_Tailmatch`" +msgstr "" #: ../../whatsnew/3.3.rst:2299 msgid "" -":c:macro:`Py_UNICODE_strchr`, :c:macro:`Py_UNICODE_strrchr`: use :c:func:" -"`PyUnicode_FindChar`" +":c:macro:`!Py_UNICODE_strchr()`, :c:macro:`!Py_UNICODE_strrchr()`: " +"use :c:func:`PyUnicode_FindChar`" msgstr "" -":c:macro:`Py_UNICODE_strchr`, :c:macro:`Py_UNICODE_strrchr`: use :c:func:" -"`PyUnicode_FindChar`" #: ../../whatsnew/3.3.rst:2301 -msgid ":c:macro:`Py_UNICODE_FILL`: use :c:func:`PyUnicode_Fill`" -msgstr ":c:macro:`Py_UNICODE_FILL`: use :c:func:`PyUnicode_Fill`" +msgid ":c:macro:`!Py_UNICODE_FILL()`: use :c:func:`PyUnicode_Fill`" +msgstr "" #: ../../whatsnew/3.3.rst:2302 -msgid ":c:macro:`Py_UNICODE_MATCH`" -msgstr ":c:macro:`Py_UNICODE_MATCH`" +msgid ":c:macro:`!Py_UNICODE_MATCH`" +msgstr "" #: ../../whatsnew/3.3.rst:2304 msgid "Encoders:" msgstr "" #: ../../whatsnew/3.3.rst:2306 -msgid ":c:func:`PyUnicode_Encode`: use :c:func:`PyUnicode_AsEncodedObject`" -msgstr ":c:func:`PyUnicode_Encode`: use :c:func:`PyUnicode_AsEncodedObject`" +msgid ":c:func:`!PyUnicode_Encode`: use :c:func:`!PyUnicode_AsEncodedObject`" +msgstr "" #: ../../whatsnew/3.3.rst:2307 -msgid ":c:func:`PyUnicode_EncodeUTF7`" -msgstr ":c:func:`PyUnicode_EncodeUTF7`" +msgid ":c:func:`!PyUnicode_EncodeUTF7`" +msgstr "" #: ../../whatsnew/3.3.rst:2308 msgid "" -":c:func:`PyUnicode_EncodeUTF8`: use :c:func:`PyUnicode_AsUTF8` or :c:func:" -"`PyUnicode_AsUTF8String`" +":c:func:`!PyUnicode_EncodeUTF8`: use :c:func:`PyUnicode_AsUTF8` " +"or :c:func:`PyUnicode_AsUTF8String`" msgstr "" -":c:func:`PyUnicode_EncodeUTF8`: use :c:func:`PyUnicode_AsUTF8` or :c:func:" -"`PyUnicode_AsUTF8String`" #: ../../whatsnew/3.3.rst:2310 -msgid ":c:func:`PyUnicode_EncodeUTF32`" -msgstr ":c:func:`PyUnicode_EncodeUTF32`" +msgid ":c:func:`!PyUnicode_EncodeUTF32`" +msgstr "" #: ../../whatsnew/3.3.rst:2311 -msgid ":c:func:`PyUnicode_EncodeUTF16`" -msgstr ":c:func:`PyUnicode_EncodeUTF16`" +msgid ":c:func:`!PyUnicode_EncodeUTF16`" +msgstr "" #: ../../whatsnew/3.3.rst:2312 msgid "" -":c:func:`PyUnicode_EncodeUnicodeEscape` use :c:func:" -"`PyUnicode_AsUnicodeEscapeString`" +":c:func:`!PyUnicode_EncodeUnicodeEscape` " +"use :c:func:`PyUnicode_AsUnicodeEscapeString`" msgstr "" #: ../../whatsnew/3.3.rst:2314 msgid "" -":c:func:`PyUnicode_EncodeRawUnicodeEscape` use :c:func:" -"`PyUnicode_AsRawUnicodeEscapeString`" +":c:func:`!PyUnicode_EncodeRawUnicodeEscape` " +"use :c:func:`PyUnicode_AsRawUnicodeEscapeString`" msgstr "" #: ../../whatsnew/3.3.rst:2316 msgid "" -":c:func:`PyUnicode_EncodeLatin1`: use :c:func:`PyUnicode_AsLatin1String`" +":c:func:`!PyUnicode_EncodeLatin1`: use :c:func:`PyUnicode_AsLatin1String`" msgstr "" -":c:func:`PyUnicode_EncodeLatin1`: use :c:func:`PyUnicode_AsLatin1String`" #: ../../whatsnew/3.3.rst:2317 -msgid ":c:func:`PyUnicode_EncodeASCII`: use :c:func:`PyUnicode_AsASCIIString`" -msgstr ":c:func:`PyUnicode_EncodeASCII`: use :c:func:`PyUnicode_AsASCIIString`" +msgid ":c:func:`!PyUnicode_EncodeASCII`: use :c:func:`PyUnicode_AsASCIIString`" +msgstr "" #: ../../whatsnew/3.3.rst:2318 -msgid ":c:func:`PyUnicode_EncodeCharmap`" -msgstr ":c:func:`PyUnicode_EncodeCharmap`" +msgid ":c:func:`!PyUnicode_EncodeCharmap`" +msgstr "" #: ../../whatsnew/3.3.rst:2319 -msgid ":c:func:`PyUnicode_TranslateCharmap`" -msgstr ":c:func:`PyUnicode_TranslateCharmap`" +msgid ":c:func:`!PyUnicode_TranslateCharmap`" +msgstr "" #: ../../whatsnew/3.3.rst:2320 msgid "" -":c:func:`PyUnicode_EncodeMBCS`: use :c:func:`PyUnicode_AsMBCSString` or :c:" -"func:`PyUnicode_EncodeCodePage` (with ``CP_ACP`` code_page)" +":c:func:`!PyUnicode_EncodeMBCS`: use :c:func:`PyUnicode_AsMBCSString` " +"or :c:func:`PyUnicode_EncodeCodePage` (with ``CP_ACP`` code_page)" msgstr "" #: ../../whatsnew/3.3.rst:2322 msgid "" -":c:func:`PyUnicode_EncodeDecimal`, :c:func:" -"`PyUnicode_TransformDecimalToASCII`" +":c:func:`!PyUnicode_EncodeDecimal`, :c:func:`!" +"PyUnicode_TransformDecimalToASCII`" msgstr "" -":c:func:`PyUnicode_EncodeDecimal`, :c:func:" -"`PyUnicode_TransformDecimalToASCII`" #: ../../whatsnew/3.3.rst:2327 msgid "Deprecated features" @@ -3616,8 +3579,8 @@ msgstr "" #: ../../whatsnew/3.3.rst:2344 msgid "" "Hash randomization is enabled by default. Set the :envvar:`PYTHONHASHSEED` " -"environment variable to ``0`` to disable hash randomization. See also the :" -"meth:`object.__hash__` method." +"environment variable to ``0`` to disable hash randomization. See also " +"the :meth:`object.__hash__` method." msgstr "" #: ../../whatsnew/3.3.rst:2348 @@ -3631,19 +3594,19 @@ msgstr "" #: ../../whatsnew/3.3.rst:2354 msgid "" -":issue:`13847`, :issue:`14180`: :mod:`time` and :mod:`datetime`: :exc:" -"`OverflowError` is now raised instead of :exc:`ValueError` if a timestamp is " -"out of range. :exc:`OSError` is now raised if C functions :c:func:`gmtime` " -"or :c:func:`localtime` failed." +":issue:`13847`, :issue:`14180`: :mod:`time` " +"and :mod:`datetime`: :exc:`OverflowError` is now raised instead " +"of :exc:`ValueError` if a timestamp is out of range. :exc:`OSError` is now " +"raised if C functions :c:func:`gmtime` or :c:func:`localtime` failed." msgstr "" #: ../../whatsnew/3.3.rst:2359 msgid "" "The default finders used by import now utilize a cache of what is contained " "within a specific directory. If you create a Python source file or " -"sourceless bytecode file, make sure to call :func:`importlib." -"invalidate_caches` to clear out the cache for the finders to notice the new " -"file." +"sourceless bytecode file, make sure to " +"call :func:`importlib.invalidate_caches` to clear out the cache for the " +"finders to notice the new file." msgstr "" #: ../../whatsnew/3.3.rst:2364 @@ -3661,8 +3624,9 @@ msgid "" "was implemented that the default value remained -1. If you need to continue " "to perform a relative import followed by an absolute import, then perform " "the relative import using an index of 1, followed by another import using an " -"index of 0. It is preferred, though, that you use :func:`importlib." -"import_module` rather than call :func:`__import__` directly." +"index of 0. It is preferred, though, that you " +"use :func:`importlib.import_module` rather than call :func:`__import__` " +"directly." msgstr "" #: ../../whatsnew/3.3.rst:2377 @@ -3673,20 +3637,20 @@ msgstr "" #: ../../whatsnew/3.3.rst:2380 msgid "" -"Because :attr:`sys.meta_path` and :attr:`sys.path_hooks` now have finders on " +"Because :data:`sys.meta_path` and :data:`sys.path_hooks` now have finders on " "them by default, you will most likely want to use :meth:`list.insert` " "instead of :meth:`list.append` to add to those lists." msgstr "" #: ../../whatsnew/3.3.rst:2384 msgid "" -"Because ``None`` is now inserted into :attr:`sys.path_importer_cache`, if " +"Because ``None`` is now inserted into :data:`sys.path_importer_cache`, if " "you are clearing out entries in the dictionary of paths that do not have a " -"finder, you will need to remove keys paired with values of ``None`` **and** :" -"class:`imp.NullImporter` to be backwards-compatible. This will lead to extra " -"overhead on older versions of Python that re-insert ``None`` into :attr:`sys." -"path_importer_cache` where it represents the use of implicit finders, but " -"semantically it should not change anything." +"finder, you will need to remove keys paired with values of ``None`` " +"**and** :class:`imp.NullImporter` to be backwards-compatible. This will lead " +"to extra overhead on older versions of Python that re-insert ``None`` " +"into :data:`sys.path_importer_cache` where it represents the use of implicit " +"finders, but semantically it should not change anything." msgstr "" #: ../../whatsnew/3.3.rst:2392 @@ -3703,16 +3667,16 @@ msgid "" ":mod:`pkgutil` has been converted to use :mod:`importlib` internally. This " "eliminates many edge cases where the old behaviour of the :pep:`302` import " "emulation failed to match the behaviour of the real import system. The " -"import emulation itself is still present, but is now deprecated. The :func:" -"`pkgutil.iter_importers` and :func:`pkgutil.walk_packages` functions special " -"case the standard import hooks so they are still supported even though they " -"do not provide the non-standard ``iter_modules()`` method." +"import emulation itself is still present, but is now deprecated. " +"The :func:`pkgutil.iter_importers` and :func:`pkgutil.walk_packages` " +"functions special case the standard import hooks so they are still supported " +"even though they do not provide the non-standard ``iter_modules()`` method." msgstr "" #: ../../whatsnew/3.3.rst:2406 msgid "" -"A longstanding RFC-compliance bug (:issue:`1079`) in the parsing done by :" -"func:`email.header.decode_header` has been fixed. Code that uses the " +"A longstanding RFC-compliance bug (:issue:`1079`) in the parsing done " +"by :func:`email.header.decode_header` has been fixed. Code that uses the " "standard idiom to convert encoded headers into unicode " "(``str(make_header(decode_header(h))``) will see no change, but code that " "looks at the individual tuples returned by decode_header will see that " @@ -3734,9 +3698,9 @@ msgstr "" #: ../../whatsnew/3.3.rst:2422 msgid "" ":meth:`poplib.POP3.quit` may now raise protocol errors like all other " -"``poplib`` methods. Code that assumes ``quit`` does not raise :exc:`poplib." -"error_proto` errors may need to be changed if errors on ``quit`` are " -"encountered by a particular application (:issue:`11291`)." +"``poplib`` methods. Code that assumes ``quit`` does not " +"raise :exc:`poplib.error_proto` errors may need to be changed if errors on " +"``quit`` are encountered by a particular application (:issue:`11291`)." msgstr "" #: ../../whatsnew/3.3.rst:2427 @@ -3757,9 +3721,9 @@ msgstr "" #: ../../whatsnew/3.3.rst:2435 msgid "" -"The deprecated ``Context._clamp`` attribute has been removed from the :mod:" -"`decimal` module. It was previously replaced by the public attribute :attr:" -"`~decimal.Context.clamp`. (See :issue:`8540`.)" +"The deprecated ``Context._clamp`` attribute has been removed from " +"the :mod:`decimal` module. It was previously replaced by the public " +"attribute :attr:`~decimal.Context.clamp`. (See :issue:`8540`.)" msgstr "" #: ../../whatsnew/3.3.rst:2439 @@ -3778,7 +3742,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:2446 msgid "" "The ``ast.__version__`` constant has been removed. If you need to make " -"decisions affected by the AST version, use :attr:`sys.version_info` to make " +"decisions affected by the AST version, use :data:`sys.version_info` to make " "the decision." msgstr "" @@ -3803,9 +3767,9 @@ msgstr "" #: ../../whatsnew/3.3.rst:2463 msgid "" -"In the course of changes to the buffer API the undocumented :c:member:" -"`~Py_buffer.smalltable` member of the :c:type:`Py_buffer` structure has been " -"removed and the layout of the :c:type:`PyMemoryViewObject` has changed." +"In the course of changes to the buffer API the undocumented :c:member:`!" +"smalltable` member of the :c:type:`Py_buffer` structure has been removed and " +"the layout of the :c:type:`PyMemoryViewObject` has changed." msgstr "" #: ../../whatsnew/3.3.rst:2468 @@ -3820,16 +3784,16 @@ msgid "" "functions using this type are deprecated (but will stay available for at " "least five years). If you were using low-level Unicode APIs to construct " "and access unicode objects and you want to benefit of the memory footprint " -"reduction provided by :pep:`393`, you have to convert your code to the new :" -"doc:`Unicode API <../c-api/unicode>`." +"reduction provided by :pep:`393`, you have to convert your code to the " +"new :doc:`Unicode API <../c-api/unicode>`." msgstr "" #: ../../whatsnew/3.3.rst:2478 msgid "" -"However, if you only have been using high-level functions such as :c:func:" -"`PyUnicode_Concat()`, :c:func:`PyUnicode_Join` or :c:func:" -"`PyUnicode_FromFormat()`, your code will automatically take advantage of the " -"new unicode representations." +"However, if you only have been using high-level functions such " +"as :c:func:`PyUnicode_Concat()`, :c:func:`PyUnicode_Join` " +"or :c:func:`PyUnicode_FromFormat()`, your code will automatically take " +"advantage of the new unicode representations." msgstr "" #: ../../whatsnew/3.3.rst:2483 @@ -3840,8 +3804,8 @@ msgstr "" msgid "" "As a negative value for the *level* argument to :func:`__import__` is no " "longer valid, the same now holds for :c:func:`PyImport_ImportModuleLevel`. " -"This also means that the value of *level* used by :c:func:" -"`PyImport_ImportModuleEx` is now ``0`` instead of ``-1``." +"This also means that the value of *level* used " +"by :c:func:`PyImport_ImportModuleEx` is now ``0`` instead of ``-1``." msgstr "" #: ../../whatsnew/3.3.rst:2492 @@ -3890,7 +3854,7 @@ msgstr "" #: ../../whatsnew/3.3.rst:396 msgid "yield" -msgstr "" +msgstr "yield" #: ../../whatsnew/3.3.rst:396 msgid "yield from (in What's New)" diff --git a/whatsnew/3.4.po b/whatsnew/3.4.po index 98eecf2b5..0914bb937 100644 --- a/whatsnew/3.4.po +++ b/whatsnew/3.4.po @@ -1,29 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Victor Matheus Castro , 2021 -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Adorilson Bezerra , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Adorilson Bezerra , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -45,6 +41,9 @@ msgid "" "Python 3.4 was released on March 16, 2014. For full details, see the " "`changelog `_." msgstr "" +"This article explains the new features in Python 3.4, compared to 3.3. " +"Python 3.4 was released on March 16, 2014. For full details, see the " +"`changelog `_." #: ../../whatsnew/3.4.rst:70 msgid ":pep:`429` -- Python 3.4 Release Schedule" @@ -80,27 +79,35 @@ msgstr "" #: ../../whatsnew/3.4.rst:89 msgid "" -"command line option for :ref:`isolated mode ` (:" -"issue:`16499`)." +"command line option for :ref:`isolated mode ` " +"(:issue:`16499`)." msgstr "" +"command line option for :ref:`isolated mode ` " +"(:issue:`16499`)." #: ../../whatsnew/3.4.rst:91 msgid "" ":ref:`improvements in the handling of codecs ` " "that are not text encodings (multiple issues)." msgstr "" +":ref:`improvements in the handling of codecs ` " +"that are not text encodings (multiple issues)." #: ../../whatsnew/3.4.rst:93 msgid "" -":ref:`A ModuleSpec Type ` for the Import System (:pep:" -"`451`). (Affects importer authors.)" +":ref:`A ModuleSpec Type ` for the Import System " +"(:pep:`451`). (Affects importer authors.)" msgstr "" +":ref:`A ModuleSpec Type ` for the Import System " +"(:pep:`451`). (Affects importer authors.)" #: ../../whatsnew/3.4.rst:95 msgid "" "The :mod:`marshal` format has been made :ref:`more compact and efficient " "` (:issue:`16475`)." msgstr "" +"The :mod:`marshal` format has been made :ref:`more compact and efficient " +"` (:issue:`16475`)." #: ../../whatsnew/3.4.rst:98 msgid "New library modules:" @@ -111,43 +118,58 @@ msgid "" ":mod:`asyncio`: :ref:`New provisional API for asynchronous IO ` (:pep:`3156`)." msgstr "" +":mod:`asyncio`: :ref:`New provisional API for asynchronous IO ` (:pep:`3156`)." #: ../../whatsnew/3.4.rst:102 msgid "" ":mod:`ensurepip`: :ref:`Bootstrapping the pip installer ` (:pep:`453`)." msgstr "" +":mod:`ensurepip`: :ref:`Bootstrapping the pip installer ` (:pep:`453`)." #: ../../whatsnew/3.4.rst:104 msgid "" -":mod:`enum`: :ref:`Support for enumeration types ` (:pep:" -"`435`)." +":mod:`enum`: :ref:`Support for enumeration types ` " +"(:pep:`435`)." msgstr "" +":mod:`enum`: :ref:`Support for enumeration types ` " +"(:pep:`435`)." #: ../../whatsnew/3.4.rst:106 msgid "" -":mod:`pathlib`: :ref:`Object-oriented filesystem paths ` (:" -"pep:`428`)." +":mod:`pathlib`: :ref:`Object-oriented filesystem paths ` " +"(:pep:`428`)." msgstr "" +":mod:`pathlib`: :ref:`Object-oriented filesystem paths ` " +"(:pep:`428`)." #: ../../whatsnew/3.4.rst:108 msgid "" ":mod:`selectors`: :ref:`High-level and efficient I/O multiplexing `, built upon the :mod:`select` module primitives (part of :pep:" -"`3156`)." +"selectors>`, built upon the :mod:`select` module primitives (part " +"of :pep:`3156`)." msgstr "" +":mod:`selectors`: :ref:`High-level and efficient I/O multiplexing `, built upon the :mod:`select` module primitives (part " +"of :pep:`3156`)." #: ../../whatsnew/3.4.rst:111 msgid "" ":mod:`statistics`: A basic :ref:`numerically stable statistics library " "` (:pep:`450`)." msgstr "" +":mod:`statistics`: A basic :ref:`numerically stable statistics library " +"` (:pep:`450`)." #: ../../whatsnew/3.4.rst:113 msgid "" ":mod:`tracemalloc`: :ref:`Trace Python memory allocations ` (:pep:`454`)." msgstr "" +":mod:`tracemalloc`: :ref:`Trace Python memory allocations ` (:pep:`454`)." #: ../../whatsnew/3.4.rst:116 msgid "Significantly improved library modules:" @@ -155,28 +177,37 @@ msgstr "Módulos de biblioteca significativamente melhorados:" #: ../../whatsnew/3.4.rst:118 msgid "" -":ref:`Single-dispatch generic functions ` in :mod:" -"`functools` (:pep:`443`)." +":ref:`Single-dispatch generic functions ` " +"in :mod:`functools` (:pep:`443`)." msgstr "" +":ref:`Single-dispatch generic functions ` " +"in :mod:`functools` (:pep:`443`)." #: ../../whatsnew/3.4.rst:120 msgid "" "New :mod:`pickle` :ref:`protocol 4 ` (:pep:`3154`)." msgstr "" +"New :mod:`pickle` :ref:`protocol 4 ` (:pep:`3154`)." #: ../../whatsnew/3.4.rst:121 msgid "" ":mod:`multiprocessing` now has :ref:`an option to avoid using os.fork on " "Unix ` (:issue:`8713`)." msgstr "" +":mod:`multiprocessing` now has :ref:`an option to avoid using os.fork on " +"Unix ` (:issue:`8713`)." #: ../../whatsnew/3.4.rst:123 msgid "" -":mod:`email` has a new submodule, :mod:`~email.contentmanager`, and a new :" -"mod:`~email.message.Message` subclass (:class:`~email.contentmanager." -"EmailMessage`) that :ref:`simplify MIME handling " -"` (:issue:`18891`)." +":mod:`email` has a new submodule, :mod:`~email.contentmanager`, and a " +"new :mod:`~email.message.Message` subclass " +"(:class:`~email.contentmanager.EmailMessage`) that :ref:`simplify MIME " +"handling ` (:issue:`18891`)." msgstr "" +":mod:`email` has a new submodule, :mod:`~email.contentmanager`, and a " +"new :mod:`~email.message.Message` subclass " +"(:class:`~email.contentmanager.EmailMessage`) that :ref:`simplify MIME " +"handling ` (:issue:`18891`)." #: ../../whatsnew/3.4.rst:127 msgid "" @@ -184,32 +215,41 @@ msgid "" "introspection of a much wider variety of callable objects, which improves " "the output of the Python :func:`help` system." msgstr "" +"The :mod:`inspect` and :mod:`pydoc` modules are now capable of correct " +"introspection of a much wider variety of callable objects, which improves " +"the output of the Python :func:`help` system." #: ../../whatsnew/3.4.rst:130 msgid "The :mod:`ipaddress` module API has been declared stable" -msgstr "" +msgstr "The :mod:`ipaddress` module API has been declared stable" #: ../../whatsnew/3.4.rst:132 msgid "Security improvements:" -msgstr "Melhorias de segurança:" +msgstr "Melhorias de Segurança:" #: ../../whatsnew/3.4.rst:134 msgid "" -":ref:`Secure and interchangeable hash algorithm ` (:pep:" -"`456`)." +":ref:`Secure and interchangeable hash algorithm ` " +"(:pep:`456`)." msgstr "" +":ref:`Secure and interchangeable hash algorithm ` " +"(:pep:`456`)." #: ../../whatsnew/3.4.rst:136 msgid "" ":ref:`Make newly created file descriptors non-inheritable ` (:pep:`446`) to avoid leaking file descriptors to child processes." msgstr "" +":ref:`Make newly created file descriptors non-inheritable ` (:pep:`446`) to avoid leaking file descriptors to child processes." #: ../../whatsnew/3.4.rst:138 msgid "" -"New command line option for :ref:`isolated mode `, (:" -"issue:`16499`)." +"New command line option for :ref:`isolated mode `, " +"(:issue:`16499`)." msgstr "" +"New command line option for :ref:`isolated mode `, " +"(:issue:`16499`)." #: ../../whatsnew/3.4.rst:140 msgid "" @@ -217,48 +257,66 @@ msgid "" "Unix `. *spawn* and *forkserver* are more " "secure because they avoid sharing data with child processes." msgstr "" +":mod:`multiprocessing` now has :ref:`an option to avoid using os.fork on " +"Unix `. *spawn* and *forkserver* are more " +"secure because they avoid sharing data with child processes." #: ../../whatsnew/3.4.rst:143 msgid "" ":mod:`multiprocessing` child processes on Windows no longer inherit all of " "the parent's inheritable handles, only the necessary ones." msgstr "" +":mod:`multiprocessing` child processes on Windows no longer inherit all of " +"the parent's inheritable handles, only the necessary ones." #: ../../whatsnew/3.4.rst:145 msgid "" "A new :func:`hashlib.pbkdf2_hmac` function provides the `PKCS#5 password-" "based key derivation function 2 `_." msgstr "" +"A new :func:`hashlib.pbkdf2_hmac` function provides the `PKCS#5 password-" +"based key derivation function 2 `_." #: ../../whatsnew/3.4.rst:148 msgid ":ref:`TLSv1.1 and TLSv1.2 support ` for :mod:`ssl`." msgstr "" +":ref:`TLSv1.1 and TLSv1.2 support ` for :mod:`ssl`." #: ../../whatsnew/3.4.rst:149 msgid "" ":ref:`Retrieving certificates from the Windows system cert store support " "` for :mod:`ssl`." msgstr "" +":ref:`Retrieving certificates from the Windows system cert store support " +"` for :mod:`ssl`." #: ../../whatsnew/3.4.rst:151 msgid "" ":ref:`Server-side SNI (Server Name Indication) support ` " "for :mod:`ssl`." msgstr "" +":ref:`Server-side SNI (Server Name Indication) support ` " +"for :mod:`ssl`." #: ../../whatsnew/3.4.rst:153 msgid "" "The :class:`ssl.SSLContext` class has a :ref:`lot of improvements " "`." msgstr "" +"The :class:`ssl.SSLContext` class has a :ref:`lot of improvements " +"`." #: ../../whatsnew/3.4.rst:155 msgid "" "All modules in the standard library that support SSL now support server " -"certificate verification, including hostname matching (:func:`ssl." -"match_hostname`) and CRLs (Certificate Revocation lists, see :func:`ssl." -"SSLContext.load_verify_locations`)." +"certificate verification, including hostname matching " +"(:func:`ssl.match_hostname`) and CRLs (Certificate Revocation lists, " +"see :func:`ssl.SSLContext.load_verify_locations`)." msgstr "" +"All modules in the standard library that support SSL now support server " +"certificate verification, including hostname matching " +"(:func:`ssl.match_hostname`) and CRLs (Certificate Revocation lists, " +"see :func:`ssl.SSLContext.load_verify_locations`)." #: ../../whatsnew/3.4.rst:160 msgid "CPython implementation improvements:" @@ -266,21 +324,23 @@ msgstr "Melhorias na implementação do CPython:" #: ../../whatsnew/3.4.rst:162 msgid ":ref:`Safe object finalization ` (:pep:`442`)." -msgstr "" +msgstr ":ref:`Safe object finalization ` (:pep:`442`)." #: ../../whatsnew/3.4.rst:163 msgid "" "Leveraging :pep:`442`, in most cases :ref:`module globals are no longer set " "to None during finalization ` (:issue:`18214`)." msgstr "" +"Leveraging :pep:`442`, in most cases :ref:`module globals are no longer set " +"to None during finalization ` (:issue:`18214`)." #: ../../whatsnew/3.4.rst:165 msgid ":ref:`Configurable memory allocators ` (:pep:`445`)." -msgstr "" +msgstr ":ref:`Configurable memory allocators ` (:pep:`445`)." #: ../../whatsnew/3.4.rst:166 msgid ":ref:`Argument Clinic ` (:pep:`436`)." -msgstr "" +msgstr ":ref:`Argument Clinic ` (:pep:`436`)." #: ../../whatsnew/3.4.rst:168 msgid "" @@ -288,6 +348,9 @@ msgid "" "many other smaller improvements, CPython optimizations, deprecations, and " "potential porting issues." msgstr "" +"Please read on for a comprehensive list of user-facing changes, including " +"many other smaller improvements, CPython optimizations, deprecations, and " +"potential porting issues." #: ../../whatsnew/3.4.rst:175 msgid "New Features" @@ -295,11 +358,11 @@ msgstr "Novas funcionalidades" #: ../../whatsnew/3.4.rst:180 msgid "PEP 453: Explicit Bootstrapping of PIP in Python Installations" -msgstr "" +msgstr "PEP 453: Explicit Bootstrapping of PIP in Python Installations" #: ../../whatsnew/3.4.rst:183 msgid "Bootstrapping pip By Default" -msgstr "" +msgstr "Bootstrapping pip By Default" #: ../../whatsnew/3.4.rst:185 msgid "" @@ -310,6 +373,12 @@ msgid "" "update the bundled version to the latest version of ``pip`` that is " "available at the time of creating the release candidate." msgstr "" +"The new :mod:`ensurepip` module (defined in :pep:`453`) provides a standard " +"cross-platform mechanism to bootstrap the pip installer into Python " +"installations and virtual environments. The version of ``pip`` included with " +"Python 3.4.0 is ``pip`` 1.5.4, and future 3.4.x maintenance releases will " +"update the bundled version to the latest version of ``pip`` that is " +"available at the time of creating the release candidate." #: ../../whatsnew/3.4.rst:192 msgid "" @@ -321,6 +390,13 @@ msgid "" "``pip`` command typically refers to the separately installed Python 2 " "version." msgstr "" +"By default, the commands ``pipX`` and ``pipX.Y`` will be installed on all " +"platforms (where X.Y stands for the version of the Python installation), " +"along with the ``pip`` Python package and its dependencies. On Windows and " +"in virtual environments on all platforms, the unversioned ``pip`` command " +"will also be installed. On other platforms, the system wide unversioned " +"``pip`` command typically refers to the separately installed Python 2 " +"version." #: ../../whatsnew/3.4.rst:200 msgid "" @@ -330,6 +406,11 @@ msgid "" "default, while when using the :mod:`venv` module :ref:`venv-api` " "installation of ``pip`` must be requested explicitly." msgstr "" +"The ``pyvenv`` command line utility and the :mod:`venv` module make use of " +"the :mod:`ensurepip` module to make ``pip`` readily available in virtual " +"environments. When using the command line utility, ``pip`` is installed by " +"default, while when using the :mod:`venv` module :ref:`venv-api` " +"installation of ``pip`` must be requested explicitly." #: ../../whatsnew/3.4.rst:206 msgid "" @@ -338,6 +419,10 @@ msgid "" "default. This behaviour can be controlled through configure options, and " "overridden through Makefile options." msgstr "" +"For CPython :ref:`source builds on POSIX systems `, " +"the ``make install`` and ``make altinstall`` commands bootstrap ``pip`` by " +"default. This behaviour can be controlled through configure options, and " +"overridden through Makefile options." #: ../../whatsnew/3.4.rst:211 msgid "" @@ -348,6 +433,12 @@ msgid "" "default, otherwise it can still be accessed through the Python launcher for " "Windows as ``py -m pip``." msgstr "" +"On Windows and Mac OS X, the CPython installers now default to installing " +"``pip`` along with CPython itself (users may opt out of installing it during " +"the installation process). Window users will need to opt in to the automatic " +"``PATH`` modifications to have ``pip`` available from the command line by " +"default, otherwise it can still be accessed through the Python launcher for " +"Windows as ``py -m pip``." #: ../../whatsnew/3.4.rst:218 msgid "" @@ -356,6 +447,10 @@ msgid "" "simple directions on how to install them on that platform (usually using the " "system package manager)." msgstr "" +"As `discussed in the PEP`__, platform packagers may choose not to install " +"these commands by default, as long as, when invoked, they provide clear and " +"simple directions on how to install them on that platform (usually using the " +"system package manager)." #: ../../whatsnew/3.4.rst:227 msgid "" @@ -368,6 +463,14 @@ msgid "" "the ``-m`` switch rather than directly to avoid ambiguity on systems with " "multiple Python installations." msgstr "" +"To avoid conflicts between parallel Python 2 and Python 3 installations, " +"only the versioned ``pip3`` and ``pip3.4`` commands are bootstrapped by " +"default when ``ensurepip`` is invoked directly - the ``--default-pip`` " +"option is needed to also request the unversioned ``pip`` command. ``pyvenv`` " +"and the Windows installer ensure that the unqualified ``pip`` command is " +"made available in those environments, and ``pip`` can always be invoked via " +"the ``-m`` switch rather than directly to avoid ambiguity on systems with " +"multiple Python installations." #: ../../whatsnew/3.4.rst:238 msgid "Documentation Changes" @@ -382,27 +485,38 @@ msgid "" "Packaging User Guide `__ and the documentation " "of the individual projects." msgstr "" +"As part of this change, the :ref:`installing-index` and :ref:`distributing-" +"index` sections of the documentation have been completely redesigned as " +"short getting started and FAQ documents. Most packaging documentation has " +"now been moved out to the Python Packaging Authority maintained `Python " +"Packaging User Guide `__ and the documentation " +"of the individual projects." #: ../../whatsnew/3.4.rst:248 msgid "" "However, as this migration is currently still incomplete, the legacy " -"versions of those guides remaining available as :ref:`install-index` and :" -"ref:`distutils-index`." +"versions of those guides remaining available as :ref:`install-index` " +"and :ref:`distutils-index`." msgstr "" +"However, as this migration is currently still incomplete, the legacy " +"versions of those guides remaining available as :ref:`install-index` " +"and :ref:`distutils-index`." #: ../../whatsnew/3.4.rst:255 msgid ":pep:`453` -- Explicit bootstrapping of pip in Python installations" -msgstr "" +msgstr ":pep:`453` -- Explicit bootstrapping of pip in Python installations" #: ../../whatsnew/3.4.rst:255 msgid "" "PEP written by Donald Stufft and Nick Coghlan, implemented by Donald Stufft, " "Nick Coghlan, Martin von Löwis and Ned Deily." msgstr "" +"PEP written by Donald Stufft and Nick Coghlan, implemented by Donald Stufft, " +"Nick Coghlan, Martin von Löwis and Ned Deily." #: ../../whatsnew/3.4.rst:262 msgid "PEP 446: Newly Created File Descriptors Are Non-Inheritable" -msgstr "" +msgstr "PEP 446: Newly Created File Descriptors Are Non-Inheritable" #: ../../whatsnew/3.4.rst:264 msgid "" @@ -412,12 +526,19 @@ msgid "" "the new process can lead to all sorts of hard to find bugs, and potentially " "to security issues." msgstr "" +":pep:`446` makes newly created file descriptors :ref:`non-inheritable " +"`. In general, this is the behavior an application will " +"want: when launching a new process, having currently open files also open in " +"the new process can lead to all sorts of hard to find bugs, and potentially " +"to security issues." #: ../../whatsnew/3.4.rst:270 msgid "" "However, there are occasions when inheritance is desired. To support these " "cases, the following new functions and methods are available:" msgstr "" +"However, there are occasions when inheritance is desired. To support these " +"cases, the following new functions and methods are available:" #: ../../whatsnew/3.4.rst:273 msgid ":func:`os.get_inheritable`, :func:`os.set_inheritable`" @@ -428,14 +549,12 @@ msgid ":func:`os.get_handle_inheritable`, :func:`os.set_handle_inheritable`" msgstr ":func:`os.get_handle_inheritable`, :func:`os.set_handle_inheritable`" #: ../../whatsnew/3.4.rst:275 -msgid "" -":meth:`socket.socket.get_inheritable`, :meth:`socket.socket.set_inheritable`" -msgstr "" -":meth:`socket.socket.get_inheritable`, :meth:`socket.socket.set_inheritable`" +msgid ":meth:`socket.socket.get_inheritable`, :meth:`socket.socket.set_inheritable`" +msgstr ":meth:`socket.socket.get_inheritable`, :meth:`socket.socket.set_inheritable`" #: ../../whatsnew/3.4.rst:279 msgid ":pep:`446` -- Make newly created file descriptors non-inheritable" -msgstr "" +msgstr ":pep:`446` -- Make newly created file descriptors non-inheritable" #: ../../whatsnew/3.4.rst:280 ../../whatsnew/3.4.rst:1812 msgid "PEP written and implemented by Victor Stinner." @@ -453,24 +572,41 @@ msgid "" "restricted convenience methods on the builtin :class:`str`, :class:`bytes` " "and :class:`bytearray` types, has historically obscured that fact." msgstr "" +"Since it was first introduced, the :mod:`codecs` module has always been " +"intended to operate as a type-neutral dynamic encoding and decoding system. " +"However, its close coupling with the Python text model, especially the type " +"restricted convenience methods on the builtin :class:`str`, :class:`bytes` " +"and :class:`bytearray` types, has historically obscured that fact." #: ../../whatsnew/3.4.rst:295 msgid "" -"As a key step in clarifying the situation, the :meth:`codecs.encode` and :" -"meth:`codecs.decode` convenience functions are now properly documented in " -"Python 2.7, 3.3 and 3.4. These functions have existed in the :mod:`codecs` " -"module (and have been covered by the regression test suite) since Python " -"2.4, but were previously only discoverable through runtime introspection." +"As a key step in clarifying the situation, the :meth:`codecs.encode` " +"and :meth:`codecs.decode` convenience functions are now properly documented " +"in Python 2.7, 3.3 and 3.4. These functions have existed in " +"the :mod:`codecs` module (and have been covered by the regression test " +"suite) since Python 2.4, but were previously only discoverable through " +"runtime introspection." msgstr "" +"As a key step in clarifying the situation, the :meth:`codecs.encode` " +"and :meth:`codecs.decode` convenience functions are now properly documented " +"in Python 2.7, 3.3 and 3.4. These functions have existed in " +"the :mod:`codecs` module (and have been covered by the regression test " +"suite) since Python 2.4, but were previously only discoverable through " +"runtime introspection." #: ../../whatsnew/3.4.rst:301 msgid "" -"Unlike the convenience methods on :class:`str`, :class:`bytes` and :class:" -"`bytearray`, the :mod:`codecs` convenience functions support arbitrary " -"codecs in both Python 2 and Python 3, rather than being limited to Unicode " -"text encodings (in Python 3) or ``basestring`` <-> ``basestring`` " +"Unlike the convenience methods on :class:`str`, :class:`bytes` " +"and :class:`bytearray`, the :mod:`codecs` convenience functions support " +"arbitrary codecs in both Python 2 and Python 3, rather than being limited to " +"Unicode text encodings (in Python 3) or ``basestring`` <-> ``basestring`` " "conversions (in Python 2)." msgstr "" +"Unlike the convenience methods on :class:`str`, :class:`bytes` " +"and :class:`bytearray`, the :mod:`codecs` convenience functions support " +"arbitrary codecs in both Python 2 and Python 3, rather than being limited to " +"Unicode text encodings (in Python 3) or ``basestring`` <-> ``basestring`` " +"conversions (in Python 2)." #: ../../whatsnew/3.4.rst:307 msgid "" @@ -478,6 +614,9 @@ msgid "" "encodings provided in the standard library and direct users towards these " "general purpose convenience functions when appropriate::" msgstr "" +"In Python 3.4, the interpreter is able to identify the known non-text " +"encodings provided in the standard library and direct users towards these " +"general purpose convenience functions when appropriate::" #: ../../whatsnew/3.4.rst:326 msgid "" @@ -486,6 +625,10 @@ msgid "" "wrapped in a chained exception of the same type that mentions the name of " "the codec responsible for producing the error::" msgstr "" +"In a related change, whenever it is feasible without breaking backwards " +"compatibility, exceptions raised during encoding and decoding operations are " +"wrapped in a chained exception of the same type that mentions the name of " +"the codec responsible for producing the error::" #: ../../whatsnew/3.4.rst:359 msgid "" @@ -494,22 +637,30 @@ msgid "" "themselves restored in Python 3.2. This means that encoding binary data to " "and from its hexadecimal representation (for example) can now be written as::" msgstr "" +"Finally, as the examples above show, these improvements have permitted the " +"restoration of the convenience aliases for the non-Unicode codecs that were " +"themselves restored in Python 3.2. This means that encoding binary data to " +"and from its hexadecimal representation (for example) can now be written as::" #: ../../whatsnew/3.4.rst:371 msgid "" "The binary and text transforms provided in the standard library are detailed " "in :ref:`binary-transforms` and :ref:`text-transforms`." msgstr "" +"The binary and text transforms provided in the standard library are detailed " +"in :ref:`binary-transforms` and :ref:`text-transforms`." #: ../../whatsnew/3.4.rst:374 msgid "" -"(Contributed by Nick Coghlan in :issue:`7475`, :issue:`17827`, :issue:" -"`17828` and :issue:`19619`.)" +"(Contributed by Nick Coghlan " +"in :issue:`7475`, :issue:`17827`, :issue:`17828` and :issue:`19619`.)" msgstr "" +"(Contributed by Nick Coghlan " +"in :issue:`7475`, :issue:`17827`, :issue:`17828` and :issue:`19619`.)" #: ../../whatsnew/3.4.rst:381 msgid "PEP 451: A ModuleSpec Type for the Import System" -msgstr "" +msgstr "PEP 451: A ModuleSpec Type for the Import System" #: ../../whatsnew/3.4.rst:383 msgid "" @@ -519,6 +670,11 @@ msgid "" "related APIs. The change is also a stepping stone for `several future import-" "related improvements`__." msgstr "" +":pep:`451` provides an encapsulation of the information about a module that " +"the import machinery will use to load it (that is, a module specification). " +"This helps simplify both the import implementation and several import-" +"related APIs. The change is also a stepping stone for `several future import-" +"related improvements`__." #: ../../whatsnew/3.4.rst:391 msgid "" @@ -526,10 +682,17 @@ msgid "" "Furthermore, they should be transparent to everyone but importer authors. " "Key finder and loader methods have been deprecated, but they will continue " "working. New importers should use the new methods described in the PEP. " -"Existing importers should be updated to implement the new methods. See the :" -"ref:`deprecated-3.4` section for a list of methods that should be replaced " -"and their replacements." +"Existing importers should be updated to implement the new methods. See " +"the :ref:`deprecated-3.4` section for a list of methods that should be " +"replaced and their replacements." msgstr "" +"The public-facing changes from the PEP are entirely backward-compatible. " +"Furthermore, they should be transparent to everyone but importer authors. " +"Key finder and loader methods have been deprecated, but they will continue " +"working. New importers should use the new methods described in the PEP. " +"Existing importers should be updated to implement the new methods. See " +"the :ref:`deprecated-3.4` section for a list of methods that should be " +"replaced and their replacements." #: ../../whatsnew/3.4.rst:401 msgid "Other Language Changes" @@ -541,27 +704,35 @@ msgstr "Algumas das mudanças menores feitas no núcleo da linguagem Python são #: ../../whatsnew/3.4.rst:405 msgid "Unicode database updated to UCD version 6.3." -msgstr "" +msgstr "Unicode database updated to UCD version 6.3." #: ../../whatsnew/3.4.rst:407 msgid "" ":func:`min` and :func:`max` now accept a *default* keyword-only argument " "that can be used to specify the value they return if the iterable they are " -"evaluating has no elements. (Contributed by Julian Berman in :issue:" -"`18111`.)" +"evaluating has no elements. (Contributed by Julian Berman " +"in :issue:`18111`.)" msgstr "" +":func:`min` and :func:`max` now accept a *default* keyword-only argument " +"that can be used to specify the value they return if the iterable they are " +"evaluating has no elements. (Contributed by Julian Berman in :issue:`18111`.)" #: ../../whatsnew/3.4.rst:412 msgid "Module objects are now :ref:`weakly referenceable `." msgstr "" +"Objetos módulo são agora :ref:`fracamente referenciáveis `." #: ../../whatsnew/3.4.rst:414 msgid "" "Module ``__file__`` attributes (and related values) should now always " -"contain absolute paths by default, with the sole exception of ``__main__." -"__file__`` when a script has been executed directly using a relative path. " -"(Contributed by Brett Cannon in :issue:`18416`.)" +"contain absolute paths by default, with the sole exception of " +"``__main__.__file__`` when a script has been executed directly using a " +"relative path. (Contributed by Brett Cannon in :issue:`18416`.)" msgstr "" +"Module ``__file__`` attributes (and related values) should now always " +"contain absolute paths by default, with the sole exception of " +"``__main__.__file__`` when a script has been executed directly using a " +"relative path. (Contributed by Brett Cannon in :issue:`18416`.)" #: ../../whatsnew/3.4.rst:419 msgid "" @@ -572,25 +743,38 @@ msgid "" "characters). (Contributed by Victor Stinner, Kang-Hao (Kenny) Lu and Serhiy " "Storchaka in :issue:`12892`.)" msgstr "" +"All the UTF-\\* codecs (except UTF-7) now reject surrogates during both " +"encoding and decoding unless the ``surrogatepass`` error handler is used, " +"with the exception of the UTF-16 decoder (which accepts valid surrogate " +"pairs) and the UTF-16 encoder (which produces them while encoding non-BMP " +"characters). (Contributed by Victor Stinner, Kang-Hao (Kenny) Lu and Serhiy " +"Storchaka in :issue:`12892`.)" #: ../../whatsnew/3.4.rst:426 msgid "" "New German EBCDIC :ref:`codec ` ``cp273``. (Contributed " "by Michael Bierenfeld and Andrew Kuchling in :issue:`1097797`.)" msgstr "" +"New German EBCDIC :ref:`codec ` ``cp273``. (Contributed " +"by Michael Bierenfeld and Andrew Kuchling in :issue:`1097797`.)" #: ../../whatsnew/3.4.rst:429 msgid "" "New Ukrainian :ref:`codec ` ``cp1125``. (Contributed by " "Serhiy Storchaka in :issue:`19668`.)" msgstr "" +"New Ukrainian :ref:`codec ` ``cp1125``. (Contributed by " +"Serhiy Storchaka in :issue:`19668`.)" #: ../../whatsnew/3.4.rst:432 msgid "" ":class:`bytes`.join() and :class:`bytearray`.join() now accept arbitrary " -"buffer objects as arguments. (Contributed by Antoine Pitrou in :issue:" -"`15958`.)" +"buffer objects as arguments. (Contributed by Antoine Pitrou " +"in :issue:`15958`.)" msgstr "" +":class:`bytes`.join() and :class:`bytearray`.join() now accept arbitrary " +"buffer objects as arguments. (Contributed by Antoine Pitrou " +"in :issue:`15958`.)" #: ../../whatsnew/3.4.rst:436 msgid "" @@ -598,6 +782,9 @@ msgid "" "``__index__`` method for its *base* argument. (Contributed by Mark " "Dickinson in :issue:`16772`.)" msgstr "" +"The :class:`int` constructor now accepts any object that has an " +"``__index__`` method for its *base* argument. (Contributed by Mark Dickinson " +"in :issue:`16772`.)" #: ../../whatsnew/3.4.rst:440 msgid "" @@ -605,13 +792,19 @@ msgid "" "references to local variables from the frame. (Contributed by Antoine " "Pitrou in :issue:`17934`.)" msgstr "" +"Frame objects now have a :func:`~frame.clear` method that clears all " +"references to local variables from the frame. (Contributed by Antoine Pitrou " +"in :issue:`17934`.)" #: ../../whatsnew/3.4.rst:444 msgid "" -":class:`memoryview` is now registered as a :class:`Sequence `, and supports the :func:`reversed` builtin. (Contributed by Nick " -"Coghlan and Claudiu Popa in :issue:`18690` and :issue:`19078`.)" +":class:`memoryview` is now registered as a :class:`Sequence " +"`, and supports the :func:`reversed` builtin. (Contributed " +"by Nick Coghlan and Claudiu Popa in :issue:`18690` and :issue:`19078`.)" msgstr "" +":class:`memoryview` is now registered as a :class:`Sequence " +"`, and supports the :func:`reversed` builtin. (Contributed " +"by Nick Coghlan and Claudiu Popa in :issue:`18690` and :issue:`19078`.)" #: ../../whatsnew/3.4.rst:448 msgid "" @@ -619,13 +812,19 @@ msgid "" "several cases as a result of the introduction of Argument Clinic and other " "changes to the :mod:`inspect` and :mod:`pydoc` modules." msgstr "" +"Signatures reported by :func:`help` have been modified and improved in " +"several cases as a result of the introduction of Argument Clinic and other " +"changes to the :mod:`inspect` and :mod:`pydoc` modules." #: ../../whatsnew/3.4.rst:452 msgid "" ":meth:`~object.__length_hint__` is now part of the formal language " -"specification (see :pep:`424`). (Contributed by Armin Ronacher in :issue:" -"`16148`.)" +"specification (see :pep:`424`). (Contributed by Armin Ronacher " +"in :issue:`16148`.)" msgstr "" +":meth:`~object.__length_hint__` is now part of the formal language " +"specification (see :pep:`424`). (Contributed by Armin Ronacher " +"in :issue:`16148`.)" #: ../../whatsnew/3.4.rst:458 msgid "New Modules" @@ -642,18 +841,23 @@ msgid "" "support in the standard library, and making it easier for other event loop " "implementations to interoperate with the standard library and each other." msgstr "" +"The new :mod:`asyncio` module (defined in :pep:`3156`) provides a standard " +"pluggable event loop model for Python, providing solid asynchronous IO " +"support in the standard library, and making it easier for other event loop " +"implementations to interoperate with the standard library and each other." #: ../../whatsnew/3.4.rst:471 ../../whatsnew/3.4.rst:534 msgid "For Python 3.4, this module is considered a :term:`provisional API`." -msgstr "" +msgstr "For Python 3.4, this module is considered a :term:`provisional API`." #: ../../whatsnew/3.4.rst:475 msgid ":pep:`3156` -- Asynchronous IO Support Rebooted: the \"asyncio\" Module" msgstr "" +":pep:`3156` -- Asynchronous IO Support Rebooted: the \"asyncio\" Module" #: ../../whatsnew/3.4.rst:476 msgid "PEP written and implementation led by Guido van Rossum." -msgstr "" +msgstr "PEP written and implementation led by Guido van Rossum." #: ../../whatsnew/3.4.rst:482 msgid "ensurepip" @@ -661,12 +865,17 @@ msgstr "ensurepip" #: ../../whatsnew/3.4.rst:484 msgid "" -"The new :mod:`ensurepip` module is the primary infrastructure for the :pep:" -"`453` implementation. In the normal course of events end users will not " -"need to interact with this module, but it can be used to manually bootstrap " -"``pip`` if the automated bootstrapping into an installation or virtual " -"environment was declined." +"The new :mod:`ensurepip` module is the primary infrastructure for " +"the :pep:`453` implementation. In the normal course of events end users " +"will not need to interact with this module, but it can be used to manually " +"bootstrap ``pip`` if the automated bootstrapping into an installation or " +"virtual environment was declined." msgstr "" +"The new :mod:`ensurepip` module is the primary infrastructure for " +"the :pep:`453` implementation. In the normal course of events end users will " +"not need to interact with this module, but it can be used to manually " +"bootstrap ``pip`` if the automated bootstrapping into an installation or " +"virtual environment was declined." #: ../../whatsnew/3.4.rst:490 msgid "" @@ -679,6 +888,14 @@ msgid "" "upgraded version of ``pip`` is considered to be a separately installed " "package and will not be removed if Python is uninstalled.)" msgstr "" +":mod:`ensurepip` includes a bundled copy of ``pip``, up-to-date as of the " +"first release candidate of the release of CPython with which it ships (this " +"applies to both maintenance releases and feature releases). ``ensurepip`` " +"does not access the internet. If the installation has Internet access, after " +"``ensurepip`` is run the bundled ``pip`` can be used to upgrade ``pip`` to a " +"more recent release than the bundled one. (Note that such an upgraded " +"version of ``pip`` is considered to be a separately installed package and " +"will not be removed if Python is uninstalled.)" #: ../../whatsnew/3.4.rst:499 msgid "" @@ -687,6 +904,10 @@ msgid "" "cause it to install the bundled copy of ``pip`` if the existing installed " "version of ``pip`` is older than the bundled copy." msgstr "" +"The module is named *ensure*\\ pip because if called when ``pip`` is already " +"installed, it does nothing. It also has an ``--upgrade`` option that will " +"cause it to install the bundled copy of ``pip`` if the existing installed " +"version of ``pip`` is older than the bundled copy." #: ../../whatsnew/3.4.rst:508 msgid "enum" @@ -695,21 +916,28 @@ msgstr "enum" #: ../../whatsnew/3.4.rst:510 msgid "" "The new :mod:`enum` module (defined in :pep:`435`) provides a standard " -"implementation of enumeration types, allowing other modules (such as :mod:" -"`socket`) to provide more informative error messages and better debugging " -"support by replacing opaque integer constants with backwards compatible " -"enumeration values." +"implementation of enumeration types, allowing other modules (such " +"as :mod:`socket`) to provide more informative error messages and better " +"debugging support by replacing opaque integer constants with backwards " +"compatible enumeration values." msgstr "" +"The new :mod:`enum` module (defined in :pep:`435`) provides a standard " +"implementation of enumeration types, allowing other modules (such " +"as :mod:`socket`) to provide more informative error messages and better " +"debugging support by replacing opaque integer constants with backwards " +"compatible enumeration values." #: ../../whatsnew/3.4.rst:519 msgid ":pep:`435` -- Adding an Enum type to the Python standard library" -msgstr "" +msgstr ":pep:`435` -- Adding an Enum type to the Python standard library" #: ../../whatsnew/3.4.rst:519 msgid "" "PEP written by Barry Warsaw, Eli Bendersky and Ethan Furman, implemented by " "Ethan Furman." msgstr "" +"PEP written by Barry Warsaw, Eli Bendersky and Ethan Furman, implemented by " +"Ethan Furman." #: ../../whatsnew/3.4.rst:526 msgid "pathlib" @@ -723,10 +951,15 @@ msgid "" "operations without I/O, and *concrete paths*, which inherit from pure paths " "but also provide I/O operations." msgstr "" +"The new :mod:`pathlib` module offers classes representing filesystem paths " +"with semantics appropriate for different operating systems. Path classes are " +"divided between *pure paths*, which provide purely computational operations " +"without I/O, and *concrete paths*, which inherit from pure paths but also " +"provide I/O operations." #: ../../whatsnew/3.4.rst:538 msgid ":pep:`428` -- The pathlib module -- object-oriented filesystem paths" -msgstr "" +msgstr ":pep:`428` -- The pathlib module -- object-oriented filesystem paths" #: ../../whatsnew/3.4.rst:539 ../../whatsnew/3.4.rst:1835 msgid "PEP written and implemented by Antoine Pitrou." @@ -738,10 +971,13 @@ msgstr "selectors" #: ../../whatsnew/3.4.rst:547 msgid "" -"The new :mod:`selectors` module (created as part of implementing :pep:" -"`3156`) allows high-level and efficient I/O multiplexing, built upon the :" -"mod:`select` module primitives." +"The new :mod:`selectors` module (created as part of " +"implementing :pep:`3156`) allows high-level and efficient I/O multiplexing, " +"built upon the :mod:`select` module primitives." msgstr "" +"The new :mod:`selectors` module (created as part of " +"implementing :pep:`3156`) allows high-level and efficient I/O multiplexing, " +"built upon the :mod:`select` module primitives." #: ../../whatsnew/3.4.rst:555 msgid "statistics" @@ -754,14 +990,18 @@ msgid "" "supports calculation of the mean, median, mode, variance and standard " "deviation of a data series." msgstr "" +"The new :mod:`statistics` module (defined in :pep:`450`) offers some core " +"statistics functionality directly in the standard library. This module " +"supports calculation of the mean, median, mode, variance and standard " +"deviation of a data series." #: ../../whatsnew/3.4.rst:564 msgid ":pep:`450` -- Adding A Statistics Module To The Standard Library" -msgstr "" +msgstr ":pep:`450` -- Adding A Statistics Module To The Standard Library" #: ../../whatsnew/3.4.rst:565 msgid "PEP written and implemented by Steven D'Aprano" -msgstr "" +msgstr "PEP written and implemented by Steven D'Aprano" #: ../../whatsnew/3.4.rst:571 msgid "tracemalloc" @@ -773,29 +1013,35 @@ msgid "" "trace memory blocks allocated by Python. It provides the following " "information:" msgstr "" +"The new :mod:`tracemalloc` module (defined in :pep:`454`) is a debug tool to " +"trace memory blocks allocated by Python. It provides the following " +"information:" #: ../../whatsnew/3.4.rst:576 msgid "Trace where an object was allocated" -msgstr "" +msgstr "Trace where an object was allocated" #: ../../whatsnew/3.4.rst:577 msgid "" "Statistics on allocated memory blocks per filename and per line number: " "total size, number and average size of allocated memory blocks" msgstr "" +"Statistics on allocated memory blocks per filename and per line number: " +"total size, number and average size of allocated memory blocks" #: ../../whatsnew/3.4.rst:579 msgid "Compute the differences between two snapshots to detect memory leaks" -msgstr "" +msgstr "Compute the differences between two snapshots to detect memory leaks" #: ../../whatsnew/3.4.rst:583 msgid "" ":pep:`454` -- Add a new tracemalloc module to trace Python memory allocations" msgstr "" +":pep:`454` -- Add a new tracemalloc module to trace Python memory allocations" #: ../../whatsnew/3.4.rst:584 msgid "PEP written and implemented by Victor Stinner" -msgstr "PEP escrita e implementada por Victor Stinner" +msgstr "PEP escrito e implementado por Victor Stinner" #: ../../whatsnew/3.4.rst:589 msgid "Improved Modules" @@ -811,6 +1057,9 @@ msgid "" "invalidate caches that are affected by changes in the object graph. " "(Contributed by Łukasz Langa in :issue:`16832`.)" msgstr "" +"New function :func:`abc.get_cache_token` can be used to know when to " +"invalidate caches that are affected by changes in the object graph. " +"(Contributed by Łukasz Langa in :issue:`16832`.)" #: ../../whatsnew/3.4.rst:599 msgid "" @@ -819,6 +1068,10 @@ msgid "" "``metaclass=abc.ABCMeta``, but is simpler to type and easier to read. " "(Contributed by Bruno Dupuis in :issue:`16049`.)" msgstr "" +"New class :class:`~abc.ABC` has :class:`~abc.ABCMeta` as its meta class. " +"Using ``ABC`` as a base class has essentially the same effect as specifying " +"``metaclass=abc.ABCMeta``, but is simpler to type and easier to read. " +"(Contributed by Bruno Dupuis in :issue:`16049`.)" #: ../../whatsnew/3.4.rst:606 msgid "aifc" @@ -829,6 +1082,8 @@ msgid "" "The :meth:`~aifc.aifc.getparams` method now returns a namedtuple rather than " "a plain tuple. (Contributed by Claudiu Popa in :issue:`17818`.)" msgstr "" +"The :meth:`~aifc.aifc.getparams` method now returns a namedtuple rather than " +"a plain tuple. (Contributed by Claudiu Popa in :issue:`17818`.)" #: ../../whatsnew/3.4.rst:611 msgid "" @@ -837,6 +1092,10 @@ msgid "" "object will be called automatically at the end of the block. (Contributed " "by Serhiy Storchacha in :issue:`16486`.)" msgstr "" +":func:`aifc.open` now supports the context management protocol: when used in " +"a :keyword:`with` block, the :meth:`~aifc.aifc.close` method of the returned " +"object will be called automatically at the end of the block. (Contributed by " +"Serhiy Storchacha in :issue:`16486`.)" #: ../../whatsnew/3.4.rst:616 msgid "" @@ -844,6 +1103,9 @@ msgid "" "methods now accept any :term:`bytes-like object`. (Contributed by Serhiy " "Storchaka in :issue:`8311`.)" msgstr "" +"The :meth:`~aifc.aifc.writeframesraw` and :meth:`~aifc.aifc.writeframes` " +"methods now accept any :term:`bytes-like object`. (Contributed by Serhiy " +"Storchaka in :issue:`8311`.)" #: ../../whatsnew/3.4.rst:622 msgid "argparse" @@ -855,6 +1117,9 @@ msgid "" "arguments, which are passed through to :func:`open`. (Contributed by Lucas " "Maystre in :issue:`11175`.)" msgstr "" +"The :class:`~argparse.FileType` class now accepts *encoding* and *errors* " +"arguments, which are passed through to :func:`open`. (Contributed by Lucas " +"Maystre in :issue:`11175`.)" #: ../../whatsnew/3.4.rst:630 msgid "audioop" @@ -865,12 +1130,16 @@ msgid "" ":mod:`audioop` now supports 24-bit samples. (Contributed by Serhiy " "Storchaka in :issue:`12866`.)" msgstr "" +":mod:`audioop` now supports 24-bit samples. (Contributed by Serhiy Storchaka " +"in :issue:`12866`.)" #: ../../whatsnew/3.4.rst:635 msgid "" "New :func:`~audioop.byteswap` function converts big-endian samples to little-" "endian and vice versa. (Contributed by Serhiy Storchaka in :issue:`19641`.)" msgstr "" +"New :func:`~audioop.byteswap` function converts big-endian samples to little-" +"endian and vice versa. (Contributed by Serhiy Storchaka in :issue:`19641`.)" #: ../../whatsnew/3.4.rst:639 msgid "" @@ -878,6 +1147,9 @@ msgid "" "Strings are not accepted: they didn't work before, now they raise an error " "right away. (Contributed by Serhiy Storchaka in :issue:`16685`.)" msgstr "" +"All :mod:`audioop` functions now accept any :term:`bytes-like object`. " +"Strings are not accepted: they didn't work before, now they raise an error " +"right away. (Contributed by Serhiy Storchaka in :issue:`16685`.)" #: ../../whatsnew/3.4.rst:645 msgid "base64" @@ -885,22 +1157,35 @@ msgstr "base64" #: ../../whatsnew/3.4.rst:647 msgid "" -"The encoding and decoding functions in :mod:`base64` now accept any :term:" -"`bytes-like object` in cases where it previously required a :class:`bytes` " -"or :class:`bytearray` instance. (Contributed by Nick Coghlan in :issue:" -"`17839`.)" +"The encoding and decoding functions in :mod:`base64` now accept " +"any :term:`bytes-like object` in cases where it previously required " +"a :class:`bytes` or :class:`bytearray` instance. (Contributed by Nick " +"Coghlan in :issue:`17839`.)" msgstr "" +"The encoding and decoding functions in :mod:`base64` now accept " +"any :term:`bytes-like object` in cases where it previously required " +"a :class:`bytes` or :class:`bytearray` instance. (Contributed by Nick " +"Coghlan in :issue:`17839`.)" #: ../../whatsnew/3.4.rst:652 msgid "" -"New functions :func:`~base64.a85encode`, :func:`~base64.a85decode`, :func:" -"`~base64.b85encode`, and :func:`~base64.b85decode` provide the ability to " -"encode and decode binary data from and to ``Ascii85`` and the git/mercurial " -"``Base85`` formats, respectively. The ``a85`` functions have options that " -"can be used to make them compatible with the variants of the ``Ascii85`` " -"encoding, including the Adobe variant. (Contributed by Martin Morrison, the " -"Mercurial project, Serhiy Storchaka, and Antoine Pitrou in :issue:`17618`.)" -msgstr "" +"New " +"functions :func:`~base64.a85encode`, :func:`~base64.a85decode`, :func:`~base64.b85encode`, " +"and :func:`~base64.b85decode` provide the ability to encode and decode " +"binary data from and to ``Ascii85`` and the git/mercurial ``Base85`` " +"formats, respectively. The ``a85`` functions have options that can be used " +"to make them compatible with the variants of the ``Ascii85`` encoding, " +"including the Adobe variant. (Contributed by Martin Morrison, the Mercurial " +"project, Serhiy Storchaka, and Antoine Pitrou in :issue:`17618`.)" +msgstr "" +"New " +"functions :func:`~base64.a85encode`, :func:`~base64.a85decode`, :func:`~base64.b85encode`, " +"and :func:`~base64.b85decode` provide the ability to encode and decode " +"binary data from and to ``Ascii85`` and the git/mercurial ``Base85`` " +"formats, respectively. The ``a85`` functions have options that can be used " +"to make them compatible with the variants of the ``Ascii85`` encoding, " +"including the Adobe variant. (Contributed by Martin Morrison, the Mercurial " +"project, Serhiy Storchaka, and Antoine Pitrou in :issue:`17618`.)" #: ../../whatsnew/3.4.rst:662 msgid "collections" @@ -913,6 +1198,10 @@ msgid "" "mapping and/or a custom mapping type to be used for the child. (Contributed " "by Vinay Sajip in :issue:`16613`.)" msgstr "" +"The :meth:`.ChainMap.new_child` method now accepts an *m* argument " +"specifying the child map to add to the chain. This allows an existing " +"mapping and/or a custom mapping type to be used for the child. (Contributed " +"by Vinay Sajip in :issue:`16613`.)" #: ../../whatsnew/3.4.rst:671 msgid "colorsys" @@ -925,6 +1214,10 @@ msgid "" "results should be less than 1% and may better match results found elsewhere. " "(Contributed by Brian Landers and Serhiy Storchaka in :issue:`14323`.)" msgstr "" +"The number of digits in the coefficients for the RGB --- YIQ conversions " +"have been expanded so that they match the FCC NTSC versions. The change in " +"results should be less than 1% and may better match results found elsewhere. " +"(Contributed by Brian Landers and Serhiy Storchaka in :issue:`14323`.)" #: ../../whatsnew/3.4.rst:680 msgid "contextlib" @@ -937,26 +1230,42 @@ msgid "" "statement. (Contributed by Raymond Hettinger in :issue:`15806` and Zero " "Piraeus in :issue:`19266`.)" msgstr "" +"The new :class:`contextlib.suppress` context manager helps to clarify the " +"intent of code that deliberately suppresses exceptions from a single " +"statement. (Contributed by Raymond Hettinger in :issue:`15806` and Zero " +"Piraeus in :issue:`19266`.)" #: ../../whatsnew/3.4.rst:687 msgid "" "The new :func:`contextlib.redirect_stdout` context manager makes it easier " -"for utility scripts to handle inflexible APIs that write their output to :" -"data:`sys.stdout` and don't provide any options to redirect it. Using the " -"context manager, the :data:`sys.stdout` output can be redirected to any " +"for utility scripts to handle inflexible APIs that write their output " +"to :data:`sys.stdout` and don't provide any options to redirect it. Using " +"the context manager, the :data:`sys.stdout` output can be redirected to any " "other stream or, in conjunction with :class:`io.StringIO`, to a string. The " "latter can be especially useful, for example, to capture output from a " "function that was written to implement a command line interface. It is " -"recommended only for utility scripts because it affects the global state of :" -"data:`sys.stdout`. (Contributed by Raymond Hettinger in :issue:`15805`.)" +"recommended only for utility scripts because it affects the global state " +"of :data:`sys.stdout`. (Contributed by Raymond Hettinger in :issue:`15805`.)" msgstr "" +"The new :func:`contextlib.redirect_stdout` context manager makes it easier " +"for utility scripts to handle inflexible APIs that write their output " +"to :data:`sys.stdout` and don't provide any options to redirect it. Using " +"the context manager, the :data:`sys.stdout` output can be redirected to any " +"other stream or, in conjunction with :class:`io.StringIO`, to a string. The " +"latter can be especially useful, for example, to capture output from a " +"function that was written to implement a command line interface. It is " +"recommended only for utility scripts because it affects the global state " +"of :data:`sys.stdout`. (Contributed by Raymond Hettinger in :issue:`15805`.)" #: ../../whatsnew/3.4.rst:698 msgid "" -"The :mod:`contextlib` documentation has also been updated to include a :ref:" -"`discussion ` of the differences " -"between single use, reusable and reentrant context managers." +"The :mod:`contextlib` documentation has also been updated to include " +"a :ref:`discussion ` of the " +"differences between single use, reusable and reentrant context managers." msgstr "" +"The :mod:`contextlib` documentation has also been updated to include " +"a :ref:`discussion ` of the " +"differences between single use, reusable and reentrant context managers." #: ../../whatsnew/3.4.rst:704 msgid "dbm" @@ -969,6 +1278,10 @@ msgid "" "object will be called automatically at the end of the block. (Contributed " "by Claudiu Popa and Nick Coghlan in :issue:`19282`.)" msgstr "" +":func:`dbm.open` objects now support the context management protocol. When " +"used in a :keyword:`with` statement, the ``close`` method of the database " +"object will be called automatically at the end of the block. (Contributed by " +"Claudiu Popa and Nick Coghlan in :issue:`19282`.)" #: ../../whatsnew/3.4.rst:713 msgid "dis" @@ -976,10 +1289,13 @@ msgstr "dis" #: ../../whatsnew/3.4.rst:715 msgid "" -"Functions :func:`~dis.show_code`, :func:`~dis.dis`, :func:`~dis.distb`, and :" -"func:`~dis.disassemble` now accept a keyword-only *file* argument that " +"Functions :func:`~dis.show_code`, :func:`~dis.dis`, :func:`~dis.distb`, " +"and :func:`~dis.disassemble` now accept a keyword-only *file* argument that " "controls where they write their output." msgstr "" +"Functions :func:`~dis.show_code`, :func:`~dis.dis`, :func:`~dis.distb`, " +"and :func:`~dis.disassemble` now accept a keyword-only *file* argument that " +"controls where they write their output." #: ../../whatsnew/3.4.rst:719 msgid "" @@ -987,6 +1303,9 @@ msgid "" "that provides object oriented access to the details of each individual " "bytecode operation." msgstr "" +"The :mod:`dis` module is now built around an :class:`~dis.Instruction` class " +"that provides object oriented access to the details of each individual " +"bytecode operation." #: ../../whatsnew/3.4.rst:723 msgid "" @@ -996,38 +1315,61 @@ msgid "" "in ways different from those provided by the :mod:`~dis` module itself. For " "example::" msgstr "" +"A new method, :func:`~dis.get_instructions`, provides an iterator that emits " +"the Instruction stream for a given piece of Python code. Thus it is now " +"possible to write a program that inspects and manipulates a bytecode object " +"in ways different from those provided by the :mod:`~dis` module itself. For " +"example::" #: ../../whatsnew/3.4.rst:737 msgid "" "The various display tools in the :mod:`dis` module have been rewritten to " "use these new components." msgstr "" +"The various display tools in the :mod:`dis` module have been rewritten to " +"use these new components." #: ../../whatsnew/3.4.rst:740 msgid "" "In addition, a new application-friendly class :class:`~dis.Bytecode` " "provides an object-oriented API for inspecting bytecode in both in human-" -"readable form and for iterating over instructions. The :class:`~dis." -"Bytecode` constructor takes the same arguments that :func:`~dis." -"get_instruction` does (plus an optional *current_offset*), and the resulting " -"object can be iterated to produce :class:`~dis.Instruction` objects. But it " -"also has a :mod:`~dis.Bytecode.dis` method, equivalent to calling :mod:`~dis." -"dis` on the constructor argument, but returned as a multi-line string::" +"readable form and for iterating over instructions. " +"The :class:`~dis.Bytecode` constructor takes the same arguments " +"that :func:`~dis.get_instruction` does (plus an optional *current_offset*), " +"and the resulting object can be iterated to " +"produce :class:`~dis.Instruction` objects. But it also has " +"a :mod:`~dis.Bytecode.dis` method, equivalent to calling :mod:`~dis.dis` on " +"the constructor argument, but returned as a multi-line string::" msgstr "" +"In addition, a new application-friendly class :class:`~dis.Bytecode` " +"provides an object-oriented API for inspecting bytecode in both in human-" +"readable form and for iterating over instructions. " +"The :class:`~dis.Bytecode` constructor takes the same arguments " +"that :func:`~dis.get_instruction` does (plus an optional *current_offset*), " +"and the resulting object can be iterated to " +"produce :class:`~dis.Instruction` objects. But it also has " +"a :mod:`~dis.Bytecode.dis` method, equivalent to calling :mod:`~dis.dis` on " +"the constructor argument, but returned as a multi-line string::" #: ../../whatsnew/3.4.rst:762 msgid "" -":class:`~dis.Bytecode` also has a class method, :meth:`~dis.Bytecode." -"from_traceback`, that provides the ability to manipulate a traceback (that " -"is, ``print(Bytecode.from_traceback(tb).dis())`` is equivalent to " -"``distb(tb)``)." +":class:`~dis.Bytecode` also has a class " +"method, :meth:`~dis.Bytecode.from_traceback`, that provides the ability to " +"manipulate a traceback (that is, " +"``print(Bytecode.from_traceback(tb).dis())`` is equivalent to ``distb(tb)``)." msgstr "" +":class:`~dis.Bytecode` also has a class " +"method, :meth:`~dis.Bytecode.from_traceback`, that provides the ability to " +"manipulate a traceback (that is, " +"``print(Bytecode.from_traceback(tb).dis())`` is equivalent to ``distb(tb)``)." #: ../../whatsnew/3.4.rst:767 msgid "" -"(Contributed by Nick Coghlan, Ryan Kelly and Thomas Kluyver in :issue:" -"`11816` and Claudiu Popa in :issue:`17916`.)" +"(Contributed by Nick Coghlan, Ryan Kelly and Thomas Kluyver " +"in :issue:`11816` and Claudiu Popa in :issue:`17916`.)" msgstr "" +"(Contributed by Nick Coghlan, Ryan Kelly and Thomas Kluyver " +"in :issue:`11816` and Claudiu Popa in :issue:`17916`.)" #: ../../whatsnew/3.4.rst:770 msgid "" @@ -1035,6 +1377,9 @@ msgid "" "stack of a given opcode and argument, information that is not otherwise " "available. (Contributed by Larry Hastings in :issue:`19722`.)" msgstr "" +"New function :func:`~dis.stack_effect` computes the effect on the Python " +"stack of a given opcode and argument, information that is not otherwise " +"available. (Contributed by Larry Hastings in :issue:`19722`.)" #: ../../whatsnew/3.4.rst:776 msgid "doctest" @@ -1042,10 +1387,13 @@ msgstr "doctest" #: ../../whatsnew/3.4.rst:778 msgid "" -"A new :ref:`option flag `, :data:`~doctest.FAIL_FAST`, " +"A new :ref:`option flag `, :const:`~doctest.FAIL_FAST`, " "halts test running as soon as the first failure is detected. (Contributed " "by R. David Murray and Daniel Urban in :issue:`16522`.)" msgstr "" +"A new :ref:`option flag `, :const:`~doctest.FAIL_FAST`, " +"halts test running as soon as the first failure is detected. (Contributed " +"by R. David Murray and Daniel Urban in :issue:`16522`.)" #: ../../whatsnew/3.4.rst:782 msgid "" @@ -1053,15 +1401,22 @@ msgid "" "two new options, ``-o`` and ``-f``. ``-o`` allows :ref:`doctest options " "` to be specified on the command line, and ``-f`` is a " "shorthand for ``-o FAIL_FAST`` (to parallel the similar option supported by " -"the :mod:`unittest` CLI). (Contributed by R. David Murray in :issue:" -"`11390`.)" +"the :mod:`unittest` CLI). (Contributed by R. David Murray " +"in :issue:`11390`.)" msgstr "" +"The :mod:`doctest` command line interface now uses :mod:`argparse`, and has " +"two new options, ``-o`` and ``-f``. ``-o`` allows :ref:`doctest options " +"` to be specified on the command line, and ``-f`` is a " +"shorthand for ``-o FAIL_FAST`` (to parallel the similar option supported by " +"the :mod:`unittest` CLI). (Contributed by R. David Murray in :issue:`11390`.)" #: ../../whatsnew/3.4.rst:788 msgid "" ":mod:`doctest` will now find doctests in extension module ``__doc__`` " "strings. (Contributed by Zachary Ware in :issue:`3158`.)" msgstr "" +":mod:`doctest` will now find doctests in extension module ``__doc__`` " +"strings. (Contributed by Zachary Ware in :issue:`3158`.)" #: ../../whatsnew/3.4.rst:793 msgid "email" @@ -1076,27 +1431,45 @@ msgid "" "in order to pass formatting parameters to its ``flatten`` method. " "(Contributed by R. David Murray in :issue:`18600`.)" msgstr "" +":meth:`~email.message.Message.as_string` now accepts a *policy* argument to " +"override the default policy of the message when generating a string " +"representation of it. This means that ``as_string`` can now be used in more " +"circumstances, instead of having to create and use a :mod:`~email.generator` " +"in order to pass formatting parameters to its ``flatten`` method. " +"(Contributed by R. David Murray in :issue:`18600`.)" #: ../../whatsnew/3.4.rst:802 msgid "" "New method :meth:`~email.message.Message.as_bytes` added to produce a bytes " "representation of the message in a fashion similar to how ``as_string`` " "produces a string representation. It does not accept the *maxheaderlen* " -"argument, but does accept the *unixfrom* and *policy* arguments. The :class:" -"`~email.message.Message` :meth:`~email.message.Message.__bytes__` method " -"calls it, meaning that ``bytes(mymsg)`` will now produce the intuitive " -"result: a bytes object containing the fully formatted message. " +"argument, but does accept the *unixfrom* and *policy* arguments. " +"The :class:`~email.message.Message` :meth:`~email.message.Message.__bytes__` " +"method calls it, meaning that ``bytes(mymsg)`` will now produce the " +"intuitive result: a bytes object containing the fully formatted message. " "(Contributed by R. David Murray in :issue:`18600`.)" msgstr "" +"New method :meth:`~email.message.Message.as_bytes` added to produce a bytes " +"representation of the message in a fashion similar to how ``as_string`` " +"produces a string representation. It does not accept the *maxheaderlen* " +"argument, but does accept the *unixfrom* and *policy* arguments. " +"The :class:`~email.message.Message` :meth:`~email.message.Message.__bytes__` " +"method calls it, meaning that ``bytes(mymsg)`` will now produce the " +"intuitive result: a bytes object containing the fully formatted message. " +"(Contributed by R. David Murray in :issue:`18600`.)" #: ../../whatsnew/3.4.rst:811 msgid "" "The :meth:`.Message.set_param` message now accepts a *replace* keyword " "argument. When specified, the associated header will be updated without " "changing its location in the list of headers. For backward compatibility, " -"the default is ``False``. (Contributed by R. David Murray in :issue:" -"`18891`.)" +"the default is ``False``. (Contributed by R. David Murray " +"in :issue:`18891`.)" msgstr "" +"The :meth:`.Message.set_param` message now accepts a *replace* keyword " +"argument. When specified, the associated header will be updated without " +"changing its location in the list of headers. For backward compatibility, " +"the default is ``False``. (Contributed by R. David Murray in :issue:`18891`.)" #: ../../whatsnew/3.4.rst:819 msgid "" @@ -1107,13 +1480,28 @@ msgid "" "documentation is currently in the new module, which is being added as part " "of email's new :term:`provisional API`. These classes provide a number of " "new methods that make extracting content from and inserting content into " -"email messages much easier. For details, see the :mod:`~email." -"contentmanager` documentation and the :ref:`email-examples`. These API " -"additions complete the bulk of the work that was planned as part of the " -"email6 project. The currently provisional API is scheduled to become final " -"in Python 3.5 (possibly with a few minor additions in the area of error " -"handling). (Contributed by R. David Murray in :issue:`18891`.)" +"email messages much easier. For details, see " +"the :mod:`~email.contentmanager` documentation and the :ref:`email-" +"examples`. These API additions complete the bulk of the work that was " +"planned as part of the email6 project. The currently provisional API is " +"scheduled to become final in Python 3.5 (possibly with a few minor additions " +"in the area of error handling). (Contributed by R. David Murray " +"in :issue:`18891`.)" msgstr "" +"A pair of new subclasses of :class:`~email.message.Message` have been added " +"(:class:`.EmailMessage` and :class:`.MIMEPart`), along with a new sub-" +"module, :mod:`~email.contentmanager` and a new :mod:`~email.policy` " +"attribute :attr:`~email.policy.EmailPolicy.content_manager`. All " +"documentation is currently in the new module, which is being added as part " +"of email's new :term:`provisional API`. These classes provide a number of " +"new methods that make extracting content from and inserting content into " +"email messages much easier. For details, see " +"the :mod:`~email.contentmanager` documentation and the :ref:`email-" +"examples`. These API additions complete the bulk of the work that was " +"planned as part of the email6 project. The currently provisional API is " +"scheduled to become final in Python 3.5 (possibly with a few minor additions " +"in the area of error handling). (Contributed by R. David Murray " +"in :issue:`18891`.)" #: ../../whatsnew/3.4.rst:835 msgid "filecmp" @@ -1128,14 +1516,24 @@ msgid "" "less time than the resolution of a particular filesystem's file modification " "time field. (Contributed by Mark Levitt in :issue:`18149`.)" msgstr "" +"A new :func:`~filecmp.clear_cache` function provides the ability to clear " +"the :mod:`filecmp` comparison cache, which uses :func:`os.stat` information " +"to determine if the file has changed since the last compare. This can be " +"used, for example, if the file might have been changed and re-checked in " +"less time than the resolution of a particular filesystem's file modification " +"time field. (Contributed by Mark Levitt in :issue:`18149`.)" #: ../../whatsnew/3.4.rst:844 msgid "" -"New module attribute :data:`~filecmp.DEFAULT_IGNORES` provides the list of " +"New module attribute :const:`~filecmp.DEFAULT_IGNORES` provides the list of " "directories that are used as the default value for the *ignore* parameter of " -"the :func:`~filecmp.dircmp` function. (Contributed by Eli Bendersky in :" -"issue:`15442`.)" +"the :func:`~filecmp.dircmp` function. (Contributed by Eli Bendersky " +"in :issue:`15442`.)" msgstr "" +"New module attribute :const:`~filecmp.DEFAULT_IGNORES` provides the list of " +"directories that are used as the default value for the *ignore* parameter of " +"the :func:`~filecmp.dircmp` function. (Contributed by Eli Bendersky " +"in :issue:`15442`.)" #: ../../whatsnew/3.4.rst:851 msgid "functools" @@ -1166,10 +1564,16 @@ msgid "" "multiple implementations of an operation that allows it to work with " "*different* kinds of data." msgstr "" +"The new :func:`~functools.singledispatch` decorator brings support for " +"single-dispatch generic functions to the Python standard library. Where " +"object oriented programming focuses on grouping multiple operations on a " +"common set of data into a class, a generic function focuses on grouping " +"multiple implementations of an operation that allows it to work with " +"*different* kinds of data." #: ../../whatsnew/3.4.rst:871 msgid ":pep:`443` -- Single-dispatch generic functions" -msgstr "" +msgstr ":pep:`443` -- Single-dispatch generic functions" #: ../../whatsnew/3.4.rst:872 msgid "PEP written and implemented by Łukasz Langa." @@ -1177,10 +1581,13 @@ msgstr "PEP escrita e implementada por Łukasz Langa." #: ../../whatsnew/3.4.rst:874 msgid "" -":func:`~functools.total_ordering` now supports a return value of :const:" -"`NotImplemented` from the underlying comparison function. (Contributed by " -"Katie Miller in :issue:`10042`.)" +":func:`~functools.total_ordering` now supports a return value " +"of :data:`NotImplemented` from the underlying comparison function. " +"(Contributed by Katie Miller in :issue:`10042`.)" msgstr "" +":func:`~functools.total_ordering` now supports a return value " +"of :data:`NotImplemented` from the underlying comparison function. " +"(Contributed by Katie Miller in :issue:`10042`.)" #: ../../whatsnew/3.4.rst:878 msgid "" @@ -1189,6 +1596,10 @@ msgid "" "is available for other implementations to use. (Contributed by Brian Thorne " "in :issue:`12428`.)" msgstr "" +"A pure-python version of the :func:`~functools.partial` function is now in " +"the stdlib; in CPython it is overridden by the C accelerated version, but it " +"is available for other implementations to use. (Contributed by Brian Thorne " +"in :issue:`12428`.)" #: ../../whatsnew/3.4.rst:885 msgid "gc" @@ -1200,6 +1611,9 @@ msgid "" "dictionaries containing the collections statistics since interpreter " "startup. (Contributed by Antoine Pitrou in :issue:`16351`.)" msgstr "" +"New function :func:`~gc.get_stats` returns a list of three per-generation " +"dictionaries containing the collections statistics since interpreter " +"startup. (Contributed by Antoine Pitrou in :issue:`16351`.)" #: ../../whatsnew/3.4.rst:893 msgid "glob" @@ -1212,6 +1626,10 @@ msgid "" "expansion but are instead matched literally. (Contributed by Serhiy " "Storchaka in :issue:`8402`.)" msgstr "" +"A new function :func:`~glob.escape` provides a way to escape special " +"characters in a filename so that they do not become part of the globbing " +"expansion but are instead matched literally. (Contributed by Serhiy " +"Storchaka in :issue:`8402`.)" #: ../../whatsnew/3.4.rst:901 msgid "hashlib" @@ -1223,16 +1641,25 @@ msgid "" "based key derivation function 2 `_. " "(Contributed by Christian Heimes in :issue:`18582`.)" msgstr "" +"A new :func:`hashlib.pbkdf2_hmac` function provides the `PKCS#5 password-" +"based key derivation function 2 `_. " +"(Contributed by Christian Heimes in :issue:`18582`.)" #: ../../whatsnew/3.4.rst:908 msgid "" "The :attr:`~hashlib.hash.name` attribute of :mod:`hashlib` hash objects is " -"now a formally supported interface. It has always existed in CPython's :mod:" -"`hashlib` (although it did not return lower case names for all supported " -"hashes), but it was not a public interface and so some other Python " -"implementations have not previously supported it. (Contributed by Jason R. " -"Coombs in :issue:`18532`.)" +"now a formally supported interface. It has always existed in " +"CPython's :mod:`hashlib` (although it did not return lower case names for " +"all supported hashes), but it was not a public interface and so some other " +"Python implementations have not previously supported it. (Contributed by " +"Jason R. Coombs in :issue:`18532`.)" msgstr "" +"The :attr:`~hashlib.hash.name` attribute of :mod:`hashlib` hash objects is " +"now a formally supported interface. It has always existed in " +"CPython's :mod:`hashlib` (although it did not return lower case names for " +"all supported hashes), but it was not a public interface and so some other " +"Python implementations have not previously supported it. (Contributed by " +"Jason R. Coombs in :issue:`18532`.)" #: ../../whatsnew/3.4.rst:917 msgid "hmac" @@ -1246,6 +1673,11 @@ msgid "" "accepts any type supported by the :mod:`hashlib` module. (Contributed by " "Jonas Borgström in :issue:`18240`.)" msgstr "" +":mod:`hmac` now accepts ``bytearray`` as well as ``bytes`` for the *key* " +"argument to the :func:`~hmac.new` function, and the *msg* parameter to both " +"the :func:`~hmac.new` function and the :meth:`~hmac.HMAC.update` method now " +"accepts any type supported by the :mod:`hashlib` module. (Contributed by " +"Jonas Borgström in :issue:`18240`.)" #: ../../whatsnew/3.4.rst:925 msgid "" @@ -1255,14 +1687,25 @@ msgid "" "deprecated: in a future version of Python there will be no default value. " "(Contributed by Christian Heimes in :issue:`17276`.)" msgstr "" +"The *digestmod* argument to the :func:`hmac.new` function may now be any " +"hash digest name recognized by :mod:`hashlib`. In addition, the current " +"behavior in which the value of *digestmod* defaults to ``MD5`` is " +"deprecated: in a future version of Python there will be no default value. " +"(Contributed by Christian Heimes in :issue:`17276`.)" #: ../../whatsnew/3.4.rst:931 msgid "" -"With the addition of :attr:`~hmac.HMAC.block_size` and :attr:`~hmac.HMAC." -"name` attributes (and the formal documentation of the :attr:`~hmac.HMAC." -"digest_size` attribute), the :mod:`hmac` module now conforms fully to the :" -"pep:`247` API. (Contributed by Christian Heimes in :issue:`18775`.)" +"With the addition of :attr:`~hmac.HMAC.block_size` " +"and :attr:`~hmac.HMAC.name` attributes (and the formal documentation of " +"the :attr:`~hmac.HMAC.digest_size` attribute), the :mod:`hmac` module now " +"conforms fully to the :pep:`247` API. (Contributed by Christian Heimes " +"in :issue:`18775`.)" msgstr "" +"With the addition of :attr:`~hmac.HMAC.block_size` " +"and :attr:`~hmac.HMAC.name` attributes (and the formal documentation of " +"the :attr:`~hmac.HMAC.digest_size` attribute), the :mod:`hmac` module now " +"conforms fully to the :pep:`247` API. (Contributed by Christian Heimes " +"in :issue:`18775`.)" #: ../../whatsnew/3.4.rst:938 msgid "html" @@ -1274,6 +1717,9 @@ msgid "" "references to the corresponding Unicode characters. (Contributed by Ezio " "Melotti in :issue:`2927`.)" msgstr "" +"New function :func:`~html.unescape` function converts HTML5 character " +"references to the corresponding Unicode characters. (Contributed by Ezio " +"Melotti in :issue:`2927`.)" #: ../../whatsnew/3.4.rst:944 msgid "" @@ -1284,12 +1730,20 @@ msgid "" "invited to set it explicitly and update your code to use this new feature. " "(Contributed by Ezio Melotti in :issue:`13633`.)" msgstr "" +":class:`~html.parser.HTMLParser` accepts a new keyword argument " +"*convert_charrefs* that, when ``True``, automatically converts all character " +"references. For backward-compatibility, its value defaults to ``False``, but " +"it will change to ``True`` in a future version of Python, so you are invited " +"to set it explicitly and update your code to use this new feature. " +"(Contributed by Ezio Melotti in :issue:`13633`.)" #: ../../whatsnew/3.4.rst:951 msgid "" "The *strict* argument of :class:`~html.parser.HTMLParser` is now deprecated. " "(Contributed by Ezio Melotti in :issue:`15114`.)" msgstr "" +"The *strict* argument of :class:`~html.parser.HTMLParser` is now deprecated. " +"(Contributed by Ezio Melotti in :issue:`15114`.)" #: ../../whatsnew/3.4.rst:956 msgid "http" @@ -1300,10 +1754,16 @@ msgid "" ":meth:`~http.server.BaseHTTPRequestHandler.send_error` now accepts an " "optional additional *explain* parameter which can be used to provide an " "extended error description, overriding the hardcoded default if there is " -"one. This extended error description will be formatted using the :attr:" -"`~http.server.HTTP.error_message_format` attribute and sent as the body of " -"the error response. (Contributed by Karl Cow in :issue:`12921`.)" +"one. This extended error description will be formatted using " +"the :attr:`~http.server.HTTP.error_message_format` attribute and sent as the " +"body of the error response. (Contributed by Karl Cow in :issue:`12921`.)" msgstr "" +":meth:`~http.server.BaseHTTPRequestHandler.send_error` now accepts an " +"optional additional *explain* parameter which can be used to provide an " +"extended error description, overriding the hardcoded default if there is " +"one. This extended error description will be formatted using " +"the :attr:`~http.server.HTTP.error_message_format` attribute and sent as the " +"body of the error response. (Contributed by Karl Cow in :issue:`12921`.)" #: ../../whatsnew/3.4.rst:965 msgid "" @@ -1311,6 +1771,9 @@ msgid "" "has a ``-b/--bind`` option that causes the server to listen on a specific " "address. (Contributed by Malte Swart in :issue:`17764`.)" msgstr "" +"The :mod:`http.server` :ref:`command line interface ` now " +"has a ``-b/--bind`` option that causes the server to listen on a specific " +"address. (Contributed by Malte Swart in :issue:`17764`.)" #: ../../whatsnew/3.4.rst:971 msgid "idlelib and IDLE" @@ -1319,11 +1782,16 @@ msgstr "idlelib e IDLE" #: ../../whatsnew/3.4.rst:973 msgid "" "Since idlelib implements the IDLE shell and editor and is not intended for " -"import by other programs, it gets improvements with every release. See :file:" -"`Lib/idlelib/NEWS.txt` for a cumulative list of changes since 3.3.0, as well " -"as changes made in future 3.4.x releases. This file is also available from " -"the IDLE :menuselection:`Help --> About IDLE` dialog." +"import by other programs, it gets improvements with every release. " +"See :file:`Lib/idlelib/NEWS.txt` for a cumulative list of changes since " +"3.3.0, as well as changes made in future 3.4.x releases. This file is also " +"available from the IDLE :menuselection:`Help --> About IDLE` dialog." msgstr "" +"Since idlelib implements the IDLE shell and editor and is not intended for " +"import by other programs, it gets improvements with every release. " +"See :file:`Lib/idlelib/NEWS.txt` for a cumulative list of changes since " +"3.3.0, as well as changes made in future 3.4.x releases. This file is also " +"available from the IDLE :menuselection:`Help --> About IDLE` dialog." #: ../../whatsnew/3.4.rst:981 msgid "importlib" @@ -1331,12 +1799,18 @@ msgstr "importlib" #: ../../whatsnew/3.4.rst:983 msgid "" -"The :class:`~importlib.abc.InspectLoader` ABC defines a new method, :meth:" -"`~importlib.abc.InspectLoader.source_to_code` that accepts source data and a " -"path and returns a code object. The default implementation is equivalent to " -"``compile(data, path, 'exec', dont_inherit=True)``. (Contributed by Eric " -"Snow and Brett Cannon in :issue:`15627`.)" +"The :class:`~importlib.abc.InspectLoader` ABC defines a new " +"method, :meth:`~importlib.abc.InspectLoader.source_to_code` that accepts " +"source data and a path and returns a code object. The default " +"implementation is equivalent to ``compile(data, path, 'exec', " +"dont_inherit=True)``. (Contributed by Eric Snow and Brett Cannon " +"in :issue:`15627`.)" msgstr "" +"The :class:`~importlib.abc.InspectLoader` ABC defines a new " +"method, :meth:`~importlib.abc.InspectLoader.source_to_code` that accepts " +"source data and a path and returns a code object. The default implementation " +"is equivalent to ``compile(data, path, 'exec', dont_inherit=True)``. " +"(Contributed by Eric Snow and Brett Cannon in :issue:`15627`.)" #: ../../whatsnew/3.4.rst:989 msgid "" @@ -1345,13 +1819,20 @@ msgid "" "will normally be desirable to override the default implementation for " "performance reasons. (Contributed by Brett Cannon in :issue:`18072`.)" msgstr "" +":class:`~importlib.abc.InspectLoader` also now has a default implementation " +"for the :meth:`~importlib.abc.InspectLoader.get_code` method. However, it " +"will normally be desirable to override the default implementation for " +"performance reasons. (Contributed by Brett Cannon in :issue:`18072`.)" #: ../../whatsnew/3.4.rst:994 msgid "" -"The :func:`~importlib.reload` function has been moved from :mod:`imp` to :" -"mod:`importlib` as part of the :mod:`imp` module deprecation. (Contributed " -"by Berker Peksag in :issue:`18193`.)" +"The :func:`~importlib.reload` function has been moved from :mod:`imp` " +"to :mod:`importlib` as part of the :mod:`imp` module deprecation. " +"(Contributed by Berker Peksag in :issue:`18193`.)" msgstr "" +"The :func:`~importlib.reload` function has been moved from :mod:`imp` " +"to :mod:`importlib` as part of the :mod:`imp` module deprecation. " +"(Contributed by Berker Peksag in :issue:`18193`.)" #: ../../whatsnew/3.4.rst:998 msgid "" @@ -1360,38 +1841,60 @@ msgid "" "the :func:`~imp.get_magic` function in the deprecated :mod:`imp` module. " "(Contributed by Brett Cannon in :issue:`18192`.)" msgstr "" +":mod:`importlib.util` now has a :data:`~importlib.util.MAGIC_NUMBER` " +"attribute providing access to the bytecode version number. This replaces " +"the :func:`~imp.get_magic` function in the deprecated :mod:`imp` module. " +"(Contributed by Brett Cannon in :issue:`18192`.)" #: ../../whatsnew/3.4.rst:1003 msgid "" -"New :mod:`importlib.util` functions :func:`~importlib.util." -"cache_from_source` and :func:`~importlib.util.source_from_cache` replace the " -"same-named functions in the deprecated :mod:`imp` module. (Contributed by " -"Brett Cannon in :issue:`18194`.)" +"New :mod:`importlib.util` " +"functions :func:`~importlib.util.cache_from_source` " +"and :func:`~importlib.util.source_from_cache` replace the same-named " +"functions in the deprecated :mod:`imp` module. (Contributed by Brett Cannon " +"in :issue:`18194`.)" msgstr "" +"New :mod:`importlib.util` " +"functions :func:`~importlib.util.cache_from_source` " +"and :func:`~importlib.util.source_from_cache` replace the same-named " +"functions in the deprecated :mod:`imp` module. (Contributed by Brett Cannon " +"in :issue:`18194`.)" #: ../../whatsnew/3.4.rst:1008 msgid "" "The :mod:`importlib` bootstrap :class:`.NamespaceLoader` now conforms to " -"the :class:`.InspectLoader` ABC, which means that ``runpy`` and ``python -" -"m`` can now be used with namespace packages. (Contributed by Brett Cannon " +"the :class:`.InspectLoader` ABC, which means that ``runpy`` and ``python " +"-m`` can now be used with namespace packages. (Contributed by Brett Cannon " "in :issue:`18058`.)" msgstr "" +"The :mod:`importlib` bootstrap :class:`.NamespaceLoader` now conforms to " +"the :class:`.InspectLoader` ABC, which means that ``runpy`` and ``python " +"-m`` can now be used with namespace packages. (Contributed by Brett Cannon " +"in :issue:`18058`.)" #: ../../whatsnew/3.4.rst:1013 msgid "" -":mod:`importlib.util` has a new function :func:`~importlib.util." -"decode_source` that decodes source from bytes using universal newline " -"processing. This is useful for implementing :meth:`.InspectLoader." -"get_source` methods." +":mod:`importlib.util` has a new " +"function :func:`~importlib.util.decode_source` that decodes source from " +"bytes using universal newline processing. This is useful for " +"implementing :meth:`.InspectLoader.get_source` methods." msgstr "" +":mod:`importlib.util` has a new " +"function :func:`~importlib.util.decode_source` that decodes source from " +"bytes using universal newline processing. This is useful for " +"implementing :meth:`.InspectLoader.get_source` methods." #: ../../whatsnew/3.4.rst:1017 msgid "" -":class:`importlib.machinery.ExtensionFileLoader` now has a :meth:`~importlib." -"machinery.ExtensionFileLoader.get_filename` method. This was inadvertently " -"omitted in the original implementation. (Contributed by Eric Snow in :issue:" -"`19152`.)" +":class:`importlib.machinery.ExtensionFileLoader` now has " +"a :meth:`~importlib.machinery.ExtensionFileLoader.get_filename` method. " +"This was inadvertently omitted in the original implementation. (Contributed " +"by Eric Snow in :issue:`19152`.)" msgstr "" +":class:`importlib.machinery.ExtensionFileLoader` now has " +"a :meth:`~importlib.machinery.ExtensionFileLoader.get_filename` method. This " +"was inadvertently omitted in the original implementation. (Contributed by " +"Eric Snow in :issue:`19152`.)" #: ../../whatsnew/3.4.rst:1024 msgid "inspect" @@ -1404,6 +1907,10 @@ msgid "" "for modules, classes and functions. (Contributed by Claudiu Popa and Nick " "Coghlan in :issue:`18626`.)" msgstr "" +"The :mod:`inspect` module now offers a basic :ref:`command line interface " +"` to quickly display source code and other information " +"for modules, classes and functions. (Contributed by Claudiu Popa and Nick " +"Coghlan in :issue:`18626`.)" #: ../../whatsnew/3.4.rst:1031 msgid "" @@ -1412,27 +1919,48 @@ msgid "" "``__wrapped__`` attribute on a wrapper function). (Contributed by Daniel " "Urban, Aaron Iles and Nick Coghlan in :issue:`13266`.)" msgstr "" +":func:`~inspect.unwrap` makes it easy to unravel wrapper function chains " +"created by :func:`functools.wraps` (and any other API that sets the " +"``__wrapped__`` attribute on a wrapper function). (Contributed by Daniel " +"Urban, Aaron Iles and Nick Coghlan in :issue:`13266`.)" #: ../../whatsnew/3.4.rst:1036 msgid "" -"As part of the implementation of the new :mod:`enum` module, the :mod:" -"`inspect` module now has substantially better support for custom ``__dir__`` " -"methods and dynamic class attributes provided through metaclasses. " -"(Contributed by Ethan Furman in :issue:`18929` and :issue:`19030`.)" +"As part of the implementation of the new :mod:`enum` module, " +"the :mod:`inspect` module now has substantially better support for custom " +"``__dir__`` methods and dynamic class attributes provided through " +"metaclasses. (Contributed by Ethan Furman in :issue:`18929` " +"and :issue:`19030`.)" msgstr "" +"As part of the implementation of the new :mod:`enum` module, " +"the :mod:`inspect` module now has substantially better support for custom " +"``__dir__`` methods and dynamic class attributes provided through " +"metaclasses. (Contributed by Ethan Furman in :issue:`18929` " +"and :issue:`19030`.)" #: ../../whatsnew/3.4.rst:1042 msgid "" -":func:`~inspect.getfullargspec` and :func:`~inspect.getargspec` now use the :" -"func:`~inspect.signature` API. This allows them to support a much broader " -"range of callables, including those with ``__signature__`` attributes, those " -"with metadata provided by argument clinic, :func:`functools.partial` objects " -"and more. Note that, unlike :func:`~inspect.signature`, these functions " -"still ignore ``__wrapped__`` attributes, and report the already bound first " -"argument for bound methods, so it is still necessary to update your code to " +":func:`~inspect.getfullargspec` and :func:`~inspect.getargspec` now use " +"the :func:`~inspect.signature` API. This allows them to support a much " +"broader range of callables, including those with ``__signature__`` " +"attributes, those with metadata provided by argument " +"clinic, :func:`functools.partial` objects and more. Note that, " +"unlike :func:`~inspect.signature`, these functions still ignore " +"``__wrapped__`` attributes, and report the already bound first argument for " +"bound methods, so it is still necessary to update your code to " "use :func:`~inspect.signature` directly if those features are desired. " "(Contributed by Yury Selivanov in :issue:`17481`.)" msgstr "" +":func:`~inspect.getfullargspec` and :func:`~inspect.getargspec` now use " +"the :func:`~inspect.signature` API. This allows them to support a much " +"broader range of callables, including those with ``__signature__`` " +"attributes, those with metadata provided by argument " +"clinic, :func:`functools.partial` objects and more. Note that, " +"unlike :func:`~inspect.signature`, these functions still ignore " +"``__wrapped__`` attributes, and report the already bound first argument for " +"bound methods, so it is still necessary to update your code to " +"use :func:`~inspect.signature` directly if those features are desired. " +"(Contributed by Yury Selivanov in :issue:`17481`.)" #: ../../whatsnew/3.4.rst:1053 msgid "" @@ -1440,6 +1968,9 @@ msgid "" "which adds support for functions compiled with Cython. (Contributed by " "Stefan Behnel and Yury Selivanov in :issue:`17159`.)" msgstr "" +":func:`~inspect.signature` now supports duck types of CPython functions, " +"which adds support for functions compiled with Cython. (Contributed by " +"Stefan Behnel and Yury Selivanov in :issue:`17159`.)" #: ../../whatsnew/3.4.rst:1059 msgid "ipaddress" @@ -1447,18 +1978,27 @@ msgstr "ipaddress" #: ../../whatsnew/3.4.rst:1061 msgid "" -":mod:`ipaddress` was added to the standard library in Python 3.3 as a :term:" -"`provisional API`. With the release of Python 3.4, this qualification has " -"been removed: :mod:`ipaddress` is now considered a stable API, covered by " -"the normal standard library requirements to maintain backwards compatibility." +":mod:`ipaddress` was added to the standard library in Python 3.3 as " +"a :term:`provisional API`. With the release of Python 3.4, this " +"qualification has been removed: :mod:`ipaddress` is now considered a stable " +"API, covered by the normal standard library requirements to maintain " +"backwards compatibility." msgstr "" +":mod:`ipaddress` was added to the standard library in Python 3.3 as " +"a :term:`provisional API`. With the release of Python 3.4, this " +"qualification has been removed: :mod:`ipaddress` is now considered a stable " +"API, covered by the normal standard library requirements to maintain " +"backwards compatibility." #: ../../whatsnew/3.4.rst:1067 msgid "" "A new :attr:`~ipaddress.IPv4Address.is_global` property is ``True`` if an " -"address is globally routeable. (Contributed by Peter Moody in :issue:" -"`17400`.)" +"address is globally routeable. (Contributed by Peter Moody " +"in :issue:`17400`.)" msgstr "" +"A new :attr:`~ipaddress.IPv4Address.is_global` property is ``True`` if an " +"address is globally routeable. (Contributed by Peter Moody " +"in :issue:`17400`.)" #: ../../whatsnew/3.4.rst:1073 msgid "logging" @@ -1470,31 +2010,51 @@ msgid "" "parameter that can be used to specify the time of day when rollover should " "happen. (Contributed by Ronald Oussoren in :issue:`9556`.)" msgstr "" +"The :class:`~logging.handlers.TimedRotatingFileHandler` has a new *atTime* " +"parameter that can be used to specify the time of day when rollover should " +"happen. (Contributed by Ronald Oussoren in :issue:`9556`.)" #: ../../whatsnew/3.4.rst:1079 msgid "" -":class:`~logging.handlers.SocketHandler` and :class:`~logging.handlers." -"DatagramHandler` now support Unix domain sockets (by setting *port* to " -"``None``). (Contributed by Vinay Sajip in commit ce46195b56a9.)" +":class:`~logging.handlers.SocketHandler` " +"and :class:`~logging.handlers.DatagramHandler` now support Unix domain " +"sockets (by setting *port* to ``None``). (Contributed by Vinay Sajip in " +"commit ce46195b56a9.)" msgstr "" +":class:`~logging.handlers.SocketHandler` " +"and :class:`~logging.handlers.DatagramHandler` now support Unix domain " +"sockets (by setting *port* to ``None``). (Contributed by Vinay Sajip in " +"commit ce46195b56a9.)" #: ../../whatsnew/3.4.rst:1084 msgid "" -":func:`~logging.config.fileConfig` now accepts a :class:`configparser." -"RawConfigParser` subclass instance for the *fname* parameter. This " -"facilitates using a configuration file when logging configuration is just a " -"part of the overall application configuration, or where the application " -"modifies the configuration before passing it to :func:`~logging.config." -"fileConfig`. (Contributed by Vinay Sajip in :issue:`16110`.)" -msgstr "" +":func:`~logging.config.fileConfig` now accepts " +"a :class:`configparser.RawConfigParser` subclass instance for the *fname* " +"parameter. This facilitates using a configuration file when logging " +"configuration is just a part of the overall application configuration, or " +"where the application modifies the configuration before passing it " +"to :func:`~logging.config.fileConfig`. (Contributed by Vinay Sajip " +"in :issue:`16110`.)" +msgstr "" +":func:`~logging.config.fileConfig` now accepts " +"a :class:`configparser.RawConfigParser` subclass instance for the *fname* " +"parameter. This facilitates using a configuration file when logging " +"configuration is just a part of the overall application configuration, or " +"where the application modifies the configuration before passing it " +"to :func:`~logging.config.fileConfig`. (Contributed by Vinay Sajip " +"in :issue:`16110`.)" #: ../../whatsnew/3.4.rst:1092 msgid "" -"Logging configuration data received from a socket via the :func:`logging." -"config.listen` function can now be validated before being processed by " -"supplying a verification function as the argument to the new *verify* " -"keyword argument. (Contributed by Vinay Sajip in :issue:`15452`.)" +"Logging configuration data received from a socket via " +"the :func:`logging.config.listen` function can now be validated before being " +"processed by supplying a verification function as the argument to the new " +"*verify* keyword argument. (Contributed by Vinay Sajip in :issue:`15452`.)" msgstr "" +"Logging configuration data received from a socket via " +"the :func:`logging.config.listen` function can now be validated before being " +"processed by supplying a verification function as the argument to the new " +"*verify* keyword argument. (Contributed by Vinay Sajip in :issue:`15452`.)" #: ../../whatsnew/3.4.rst:1101 msgid "marshal" @@ -1506,12 +2066,21 @@ msgid "" "implementing the new version restores the Python2 behavior of recording only " "one copy of interned strings and preserving the interning on " "deserialization, and extends this \"one copy\" ability to any object type " -"(including handling recursive references). This reduces both the size of ``." -"pyc`` files and the amount of memory a module occupies in memory when it is " -"loaded from a ``.pyc`` (or ``.pyo``) file. (Contributed by Kristján Valur " -"Jónsson in :issue:`16475`, with additional speedups by Antoine Pitrou in :" -"issue:`19219`.)" +"(including handling recursive references). This reduces both the size of " +"``.pyc`` files and the amount of memory a module occupies in memory when it " +"is loaded from a ``.pyc`` (or ``.pyo``) file. (Contributed by Kristján " +"Valur Jónsson in :issue:`16475`, with additional speedups by Antoine Pitrou " +"in :issue:`19219`.)" msgstr "" +"The default :mod:`marshal` version has been bumped to 3. The code " +"implementing the new version restores the Python2 behavior of recording only " +"one copy of interned strings and preserving the interning on " +"deserialization, and extends this \"one copy\" ability to any object type " +"(including handling recursive references). This reduces both the size of " +"``.pyc`` files and the amount of memory a module occupies in memory when it " +"is loaded from a ``.pyc`` (or ``.pyo``) file. (Contributed by Kristján Valur " +"Jónsson in :issue:`16475`, with additional speedups by Antoine Pitrou " +"in :issue:`19219`.)" #: ../../whatsnew/3.4.rst:1114 msgid "mmap" @@ -1522,6 +2091,8 @@ msgid "" "mmap objects are now :ref:`weakly referenceable `. (Contributed " "by Valerie Lambert in :issue:`4885`.)" msgstr "" +"mmap objects are now :ref:`weakly referenceable `. (Contributed " +"by Valerie Lambert in :issue:`4885`.)" #: ../../whatsnew/3.4.rst:1121 msgid "multiprocessing" @@ -1530,35 +2101,60 @@ msgstr "multiprocessing" #: ../../whatsnew/3.4.rst:1125 msgid "" "On Unix two new :ref:`start methods `, " -"``spawn`` and ``forkserver``, have been added for starting processes using :" -"mod:`multiprocessing`. These make the mixing of processes with threads more " -"robust, and the ``spawn`` method matches the semantics that multiprocessing " -"has always used on Windows. New function :func:`~multiprocessing." -"get_all_start_methods` reports all start methods available on the platform, :" -"func:`~multiprocessing.get_start_method` reports the current start method, " +"``spawn`` and ``forkserver``, have been added for starting processes " +"using :mod:`multiprocessing`. These make the mixing of processes with " +"threads more robust, and the ``spawn`` method matches the semantics that " +"multiprocessing has always used on Windows. New " +"function :func:`~multiprocessing.get_all_start_methods` reports all start " +"methods available on the platform, :func:`~multiprocessing.get_start_method` " +"reports the current start method, " "and :func:`~multiprocessing.set_start_method` sets the start method. " "(Contributed by Richard Oudkerk in :issue:`8713`.)" msgstr "" +"On Unix two new :ref:`start methods `, " +"``spawn`` and ``forkserver``, have been added for starting processes " +"using :mod:`multiprocessing`. These make the mixing of processes with " +"threads more robust, and the ``spawn`` method matches the semantics that " +"multiprocessing has always used on Windows. New " +"function :func:`~multiprocessing.get_all_start_methods` reports all start " +"methods available on the platform, :func:`~multiprocessing.get_start_method` " +"reports the current start method, " +"and :func:`~multiprocessing.set_start_method` sets the start method. " +"(Contributed by Richard Oudkerk in :issue:`8713`.)" #: ../../whatsnew/3.4.rst:1135 msgid "" ":mod:`multiprocessing` also now has the concept of a ``context``, which " -"determines how child processes are created. New function :func:" -"`~multiprocessing.get_context` returns a context that uses a specified start " -"method. It has the same API as the :mod:`multiprocessing` module itself, so " -"you can use it to create :class:`~multiprocessing.pool.Pool`\\ s and other " -"objects that will operate within that context. This allows a framework and " -"an application or different parts of the same application to use " -"multiprocessing without interfering with each other. (Contributed by " -"Richard Oudkerk in :issue:`18999`.)" +"determines how child processes are created. New " +"function :func:`~multiprocessing.get_context` returns a context that uses a " +"specified start method. It has the same API as the :mod:`multiprocessing` " +"module itself, so you can use it to " +"create :class:`~multiprocessing.pool.Pool`\\ s and other objects that will " +"operate within that context. This allows a framework and an application or " +"different parts of the same application to use multiprocessing without " +"interfering with each other. (Contributed by Richard Oudkerk " +"in :issue:`18999`.)" msgstr "" +":mod:`multiprocessing` also now has the concept of a ``context``, which " +"determines how child processes are created. New " +"function :func:`~multiprocessing.get_context` returns a context that uses a " +"specified start method. It has the same API as the :mod:`multiprocessing` " +"module itself, so you can use it to " +"create :class:`~multiprocessing.pool.Pool`\\ s and other objects that will " +"operate within that context. This allows a framework and an application or " +"different parts of the same application to use multiprocessing without " +"interfering with each other. (Contributed by Richard Oudkerk " +"in :issue:`18999`.)" #: ../../whatsnew/3.4.rst:1145 msgid "" "Except when using the old *fork* start method, child processes no longer " -"inherit unneeded handles/file descriptors from their parents (part of :issue:" -"`8713`)." +"inherit unneeded handles/file descriptors from their parents (part " +"of :issue:`8713`)." msgstr "" +"Except when using the old *fork* start method, child processes no longer " +"inherit unneeded handles/file descriptors from their parents (part " +"of :issue:`8713`)." #: ../../whatsnew/3.4.rst:1149 msgid "" @@ -1569,6 +2165,12 @@ msgid "" "explicit relative imports could cause obscure failures in child processes. " "(Contributed by Nick Coghlan in :issue:`19946`.)" msgstr "" +":mod:`multiprocessing` now relies on :mod:`runpy` (which implements the ``-" +"m`` switch) to initialise ``__main__`` appropriately in child processes when " +"using the ``spawn`` or ``forkserver`` start methods. This resolves some edge " +"cases where combining multiprocessing, the ``-m`` command line switch, and " +"explicit relative imports could cause obscure failures in child processes. " +"(Contributed by Nick Coghlan in :issue:`19946`.)" #: ../../whatsnew/3.4.rst:1158 msgid "operator" @@ -1581,6 +2183,10 @@ msgid "" "should be used, as part of the :pep:`424` formal specification of this " "language feature. (Contributed by Armin Ronacher in :issue:`16148`.)" msgstr "" +"New function :func:`~operator.length_hint` provides an implementation of the " +"specification for how the :meth:`~object.__length_hint__` special method " +"should be used, as part of the :pep:`424` formal specification of this " +"language feature. (Contributed by Armin Ronacher in :issue:`16148`.)" #: ../../whatsnew/3.4.rst:1165 msgid "" @@ -1588,6 +2194,9 @@ msgid "" "for reference and for use by alternate implementations of Python. " "(Contributed by Zachary Ware in :issue:`16694`.)" msgstr "" +"There is now a pure-python version of the :mod:`operator` module available " +"for reference and for use by alternate implementations of Python. " +"(Contributed by Zachary Ware in :issue:`16694`.)" #: ../../whatsnew/3.4.rst:1171 msgid "os" @@ -1596,10 +2205,14 @@ msgstr "os" #: ../../whatsnew/3.4.rst:1173 msgid "" "There are new functions to get and set the :ref:`inheritable flag " -"` of a file descriptor (:func:`os.get_inheritable`, :func:" -"`os.set_inheritable`) or a Windows handle (:func:`os." -"get_handle_inheritable`, :func:`os.set_handle_inheritable`)." +"` of a file descriptor " +"(:func:`os.get_inheritable`, :func:`os.set_inheritable`) or a Windows handle " +"(:func:`os.get_handle_inheritable`, :func:`os.set_handle_inheritable`)." msgstr "" +"There are new functions to get and set the :ref:`inheritable flag " +"` of a file descriptor " +"(:func:`os.get_inheritable`, :func:`os.set_inheritable`) or a Windows handle " +"(:func:`os.get_handle_inheritable`, :func:`os.set_handle_inheritable`)." #: ../../whatsnew/3.4.rst:1178 msgid "" @@ -1607,31 +2220,48 @@ msgid "" "the platform on which Python is running (or ``None`` if the count can't be " "determined). The :func:`multiprocessing.cpu_count` function is now " "implemented in terms of this function). (Contributed by Trent Nelson, " -"Yogesh Chaudhari, Victor Stinner, and Charles-François Natali in :issue:" -"`17914`.)" +"Yogesh Chaudhari, Victor Stinner, and Charles-François Natali " +"in :issue:`17914`.)" msgstr "" +"New function :func:`~os.cpu_count` reports the number of CPUs available on " +"the platform on which Python is running (or ``None`` if the count can't be " +"determined). The :func:`multiprocessing.cpu_count` function is now " +"implemented in terms of this function). (Contributed by Trent Nelson, Yogesh " +"Chaudhari, Victor Stinner, and Charles-François Natali in :issue:`17914`.)" #: ../../whatsnew/3.4.rst:1184 msgid "" -":func:`os.path.samestat` is now available on the Windows platform (and the :" -"func:`os.path.samefile` implementation is now shared between Unix and " +":func:`os.path.samestat` is now available on the Windows platform (and " +"the :func:`os.path.samefile` implementation is now shared between Unix and " "Windows). (Contributed by Brian Curtin in :issue:`11939`.)" msgstr "" +":func:`os.path.samestat` is now available on the Windows platform (and " +"the :func:`os.path.samefile` implementation is now shared between Unix and " +"Windows). (Contributed by Brian Curtin in :issue:`11939`.)" #: ../../whatsnew/3.4.rst:1188 msgid "" ":func:`os.path.ismount` now recognizes volumes mounted below a drive root on " "Windows. (Contributed by Tim Golden in :issue:`9035`.)" msgstr "" +":func:`os.path.ismount` now recognizes volumes mounted below a drive root on " +"Windows. (Contributed by Tim Golden in :issue:`9035`.)" #: ../../whatsnew/3.4.rst:1191 msgid "" -":func:`os.open` supports two new flags on platforms that provide them, :data:" -"`~os.O_PATH` (un-opened file descriptor), and :data:`~os.O_TMPFILE` (unnamed " -"temporary file; as of 3.4.0 release available only on Linux systems with a " -"kernel version of 3.11 or newer that have uapi headers). (Contributed by " -"Christian Heimes in :issue:`18673` and Benjamin Peterson, respectively.)" +":func:`os.open` supports two new flags on platforms that provide " +"them, :const:`~os.O_PATH` (un-opened file descriptor), " +"and :const:`~os.O_TMPFILE` (unnamed temporary file; as of 3.4.0 release " +"available only on Linux systems with a kernel version of 3.11 or newer that " +"have uapi headers). (Contributed by Christian Heimes in :issue:`18673` and " +"Benjamin Peterson, respectively.)" msgstr "" +":func:`os.open` supports two new flags on platforms that provide " +"them, :const:`~os.O_PATH` (un-opened file descriptor), " +"and :const:`~os.O_TMPFILE` (unnamed temporary file; as of 3.4.0 release " +"available only on Linux systems with a kernel version of 3.11 or newer that " +"have uapi headers). (Contributed by Christian Heimes in :issue:`18673` and " +"Benjamin Peterson, respectively.)" #: ../../whatsnew/3.4.rst:1199 msgid "pdb" @@ -1644,6 +2274,10 @@ msgid "" "debugging :mod:`asyncio` based programs. (Contributed by Andrew Svetlov and " "Xavier de Gaye in :issue:`16596`.)" msgstr "" +":mod:`pdb` has been enhanced to handle generators, :keyword:`yield`, and " +"``yield from`` in a more useful fashion. This is especially helpful when " +"debugging :mod:`asyncio` based programs. (Contributed by Andrew Svetlov and " +"Xavier de Gaye in :issue:`16596`.)" #: ../../whatsnew/3.4.rst:1206 msgid "" @@ -1657,6 +2291,15 @@ msgid "" "``print`` function, making it inaccessible at the ``pdb`` prompt. " "(Contributed by Connor Osborn in :issue:`18764`.)" msgstr "" +"The ``print`` command has been removed from :mod:`pdb`, restoring access to " +"the Python :func:`print` function from the pdb command line. Python2's " +"``pdb`` did not have a ``print`` command; instead, entering ``print`` " +"executed the ``print`` statement. In Python3 ``print`` was mistakenly made " +"an alias for the pdb :pdbcmd:`p` command. ``p``, however, prints the " +"``repr`` of its argument, not the ``str`` like the Python2 ``print`` command " +"did. Worse, the Python3 ``pdb print`` command shadowed the Python3 ``print`` " +"function, making it inaccessible at the ``pdb`` prompt. (Contributed by " +"Connor Osborn in :issue:`18764`.)" #: ../../whatsnew/3.4.rst:1220 msgid "pickle" @@ -1667,18 +2310,24 @@ msgid "" ":mod:`pickle` now supports (but does not use by default) a new pickle " "protocol, protocol 4. This new protocol addresses a number of issues that " "were present in previous protocols, such as the serialization of nested " -"classes, very large strings and containers, and classes whose :meth:" -"`__new__` method takes keyword-only arguments. It also provides some " -"efficiency improvements." +"classes, very large strings and containers, and classes " +"whose :meth:`__new__` method takes keyword-only arguments. It also provides " +"some efficiency improvements." msgstr "" +":mod:`pickle` now supports (but does not use by default) a new pickle " +"protocol, protocol 4. This new protocol addresses a number of issues that " +"were present in previous protocols, such as the serialization of nested " +"classes, very large strings and containers, and classes " +"whose :meth:`__new__` method takes keyword-only arguments. It also provides " +"some efficiency improvements." #: ../../whatsnew/3.4.rst:1230 msgid ":pep:`3154` -- Pickle protocol 4" -msgstr "" +msgstr ":pep:`3154` -- Pickle protocol 4" #: ../../whatsnew/3.4.rst:1231 msgid "PEP written by Antoine Pitrou and implemented by Alexandre Vassalotti." -msgstr "" +msgstr "PEP written by Antoine Pitrou and implemented by Alexandre Vassalotti." #: ../../whatsnew/3.4.rst:1235 msgid "plistlib" @@ -1687,13 +2336,22 @@ msgstr "plistlib" #: ../../whatsnew/3.4.rst:1237 msgid "" ":mod:`plistlib` now has an API that is similar to the standard pattern for " -"stdlib serialization protocols, with new :func:`~plistlib.load`, :func:" -"`~plistlib.dump`, :func:`~plistlib.loads`, and :func:`~plistlib.dumps` " -"functions. (The older API is now deprecated.) In addition to the already " -"supported XML plist format (:data:`~plistlib.FMT_XML`), it also now supports " -"the binary plist format (:data:`~plistlib.FMT_BINARY`). (Contributed by " -"Ronald Oussoren and others in :issue:`14455`.)" +"stdlib serialization protocols, with " +"new :func:`~plistlib.load`, :func:`~plistlib.dump`, :func:`~plistlib.loads`, " +"and :func:`~plistlib.dumps` functions. (The older API is now deprecated.) " +"In addition to the already supported XML plist format " +"(:const:`~plistlib.FMT_XML`), it also now supports the binary plist format " +"(:const:`~plistlib.FMT_BINARY`). (Contributed by Ronald Oussoren and others " +"in :issue:`14455`.)" msgstr "" +":mod:`plistlib` now has an API that is similar to the standard pattern for " +"stdlib serialization protocols, with " +"new :func:`~plistlib.load`, :func:`~plistlib.dump`, :func:`~plistlib.loads`, " +"and :func:`~plistlib.dumps` functions. (The older API is now deprecated.) " +"In addition to the already supported XML plist format " +"(:const:`~plistlib.FMT_XML`), it also now supports the binary plist format " +"(:const:`~plistlib.FMT_BINARY`). (Contributed by Ronald Oussoren and others " +"in :issue:`14455`.)" #: ../../whatsnew/3.4.rst:1247 msgid "poplib" @@ -1702,11 +2360,16 @@ msgstr "poplib" #: ../../whatsnew/3.4.rst:1249 msgid "" "Two new methods have been added to :mod:`poplib`: :meth:`~poplib.POP3.capa`, " -"which returns the list of capabilities advertised by the POP server, and :" -"meth:`~poplib.POP3.stls`, which switches a clear-text POP3 session into an " -"encrypted POP3 session if the POP server supports it. (Contributed by " +"which returns the list of capabilities advertised by the POP server, " +"and :meth:`~poplib.POP3.stls`, which switches a clear-text POP3 session into " +"an encrypted POP3 session if the POP server supports it. (Contributed by " "Lorenzo Catucci in :issue:`4473`.)" msgstr "" +"Two new methods have been added to :mod:`poplib`: :meth:`~poplib.POP3.capa`, " +"which returns the list of capabilities advertised by the POP server, " +"and :meth:`~poplib.POP3.stls`, which switches a clear-text POP3 session into " +"an encrypted POP3 session if the POP server supports it. (Contributed by " +"Lorenzo Catucci in :issue:`4473`.)" #: ../../whatsnew/3.4.rst:1257 msgid "pprint" @@ -1714,19 +2377,27 @@ msgstr "pprint" #: ../../whatsnew/3.4.rst:1259 msgid "" -"The :mod:`pprint` module's :class:`~pprint.PrettyPrinter` class and its :" -"func:`~pprint.pformat`, and :func:`~pprint.pprint` functions have a new " +"The :mod:`pprint` module's :class:`~pprint.PrettyPrinter` class and " +"its :func:`~pprint.pformat`, and :func:`~pprint.pprint` functions have a new " "option, *compact*, that controls how the output is formatted. Currently " "setting *compact* to ``True`` means that sequences will be printed with as " "many sequence elements as will fit within *width* on each (indented) line. " "(Contributed by Serhiy Storchaka in :issue:`19132`.)" msgstr "" +"The :mod:`pprint` module's :class:`~pprint.PrettyPrinter` class and " +"its :func:`~pprint.pformat`, and :func:`~pprint.pprint` functions have a new " +"option, *compact*, that controls how the output is formatted. Currently " +"setting *compact* to ``True`` means that sequences will be printed with as " +"many sequence elements as will fit within *width* on each (indented) line. " +"(Contributed by Serhiy Storchaka in :issue:`19132`.)" #: ../../whatsnew/3.4.rst:1266 msgid "" "Long strings are now wrapped using Python's normal line continuation " "syntax. (Contributed by Antoine Pitrou in :issue:`17150`.)" msgstr "" +"Long strings are now wrapped using Python's normal line continuation syntax. " +"(Contributed by Antoine Pitrou in :issue:`17150`.)" #: ../../whatsnew/3.4.rst:1271 msgid "pty" @@ -1737,6 +2408,8 @@ msgid "" ":func:`pty.spawn` now returns the status value from :func:`os.waitpid` on " "the child process, instead of ``None``. (Contributed by Gregory P. Smith.)" msgstr "" +":func:`pty.spawn` now returns the status value from :func:`os.waitpid` on " +"the child process, instead of ``None``. (Contributed by Gregory P. Smith.)" #: ../../whatsnew/3.4.rst:1278 msgid "pydoc" @@ -1744,34 +2417,51 @@ msgstr "pydoc" #: ../../whatsnew/3.4.rst:1280 msgid "" -"The :mod:`pydoc` module is now based directly on the :func:`inspect." -"signature` introspection API, allowing it to provide signature information " -"for a wider variety of callable objects. This change also means that " -"``__wrapped__`` attributes are now taken into account when displaying help " -"information. (Contributed by Larry Hastings in :issue:`19674`.)" +"The :mod:`pydoc` module is now based directly on " +"the :func:`inspect.signature` introspection API, allowing it to provide " +"signature information for a wider variety of callable objects. This change " +"also means that ``__wrapped__`` attributes are now taken into account when " +"displaying help information. (Contributed by Larry Hastings " +"in :issue:`19674`.)" msgstr "" +"The :mod:`pydoc` module is now based directly on " +"the :func:`inspect.signature` introspection API, allowing it to provide " +"signature information for a wider variety of callable objects. This change " +"also means that ``__wrapped__`` attributes are now taken into account when " +"displaying help information. (Contributed by Larry Hastings " +"in :issue:`19674`.)" #: ../../whatsnew/3.4.rst:1286 msgid "" "The :mod:`pydoc` module no longer displays the ``self`` parameter for " "already bound methods. Instead, it aims to always display the exact current " -"signature of the supplied callable. (Contributed by Larry Hastings in :" -"issue:`20710`.)" +"signature of the supplied callable. (Contributed by Larry Hastings " +"in :issue:`20710`.)" msgstr "" +"The :mod:`pydoc` module no longer displays the ``self`` parameter for " +"already bound methods. Instead, it aims to always display the exact current " +"signature of the supplied callable. (Contributed by Larry Hastings " +"in :issue:`20710`.)" #: ../../whatsnew/3.4.rst:1291 msgid "" "In addition to the changes that have been made to :mod:`pydoc` directly, its " "handling of custom ``__dir__`` methods and various descriptor behaviours has " -"also been improved substantially by the underlying changes in the :mod:" -"`inspect` module." +"also been improved substantially by the underlying changes in " +"the :mod:`inspect` module." msgstr "" +"In addition to the changes that have been made to :mod:`pydoc` directly, its " +"handling of custom ``__dir__`` methods and various descriptor behaviours has " +"also been improved substantially by the underlying changes in " +"the :mod:`inspect` module." #: ../../whatsnew/3.4.rst:1296 msgid "" "As the :func:`help` builtin is based on :mod:`pydoc`, the above changes also " "affect the behaviour of :func:`help`." msgstr "" +"As the :func:`help` builtin is based on :mod:`pydoc`, the above changes also " +"affect the behaviour of :func:`help`." #: ../../whatsnew/3.4.rst:1301 msgid "re" @@ -1786,6 +2476,12 @@ msgid "" "alternatives to an existing regular expression. (Contributed by Matthew " "Barnett in :issue:`16203`.)" msgstr "" +"New :func:`~re.fullmatch` function and :meth:`.regex.fullmatch` method " +"anchor the pattern at both ends of the string to match. This provides a way " +"to be explicit about the goal of the match, which avoids a class of subtle " +"bugs where ``$`` characters get lost during code changes or the addition of " +"alternatives to an existing regular expression. (Contributed by Matthew " +"Barnett in :issue:`16203`.)" #: ../../whatsnew/3.4.rst:1310 msgid "" @@ -1794,6 +2490,10 @@ msgid "" "start, end, and the part of the string that matched. (Contributed by Hugo " "Lopes Tavares and Serhiy Storchaka in :issue:`13592` and :issue:`17087`.)" msgstr "" +"The repr of :ref:`regex objects ` now includes the pattern and " +"the flags; the repr of :ref:`match objects ` now includes the " +"start, end, and the part of the string that matched. (Contributed by Hugo " +"Lopes Tavares and Serhiy Storchaka in :issue:`13592` and :issue:`17087`.)" #: ../../whatsnew/3.4.rst:1318 msgid "resource" @@ -1806,22 +2506,36 @@ msgid "" "ability to query or set the resource limits for processes other than the one " "making the call. (Contributed by Christian Heimes in :issue:`16595`.)" msgstr "" +"New :func:`~resource.prlimit` function, available on Linux platforms with a " +"kernel version of 2.6.36 or later and glibc of 2.13 or later, provides the " +"ability to query or set the resource limits for processes other than the one " +"making the call. (Contributed by Christian Heimes in :issue:`16595`.)" #: ../../whatsnew/3.4.rst:1325 msgid "" "On Linux kernel version 2.6.36 or later, there are also some new Linux " -"specific constants: :attr:`~resource.RLIMIT_MSGQUEUE`, :attr:`~resource." -"RLIMIT_NICE`, :attr:`~resource.RLIMIT_RTPRIO`, :attr:`~resource." -"RLIMIT_RTTIME`, and :attr:`~resource.RLIMIT_SIGPENDING`. (Contributed by " -"Christian Heimes in :issue:`19324`.)" +"specific " +"constants: :const:`~resource.RLIMIT_MSGQUEUE`, :const:`~resource.RLIMIT_NICE`, :const:`~resource.RLIMIT_RTPRIO`, :const:`~resource.RLIMIT_RTTIME`, " +"and :const:`~resource.RLIMIT_SIGPENDING`. (Contributed by Christian Heimes " +"in :issue:`19324`.)" msgstr "" +"On Linux kernel version 2.6.36 or later, there are also some new Linux " +"specific " +"constants: :const:`~resource.RLIMIT_MSGQUEUE`, :const:`~resource.RLIMIT_NICE`, :const:`~resource.RLIMIT_RTPRIO`, :const:`~resource.RLIMIT_RTTIME`, " +"and :const:`~resource.RLIMIT_SIGPENDING`. (Contributed by Christian Heimes " +"in :issue:`19324`.)" #: ../../whatsnew/3.4.rst:1331 msgid "" -"On FreeBSD version 9 and later, there some new FreeBSD specific constants: :" -"attr:`~resource.RLIMIT_SBSIZE`, :attr:`~resource.RLIMIT_SWAP`, and :attr:" -"`~resource.RLIMIT_NPTS`. (Contributed by Claudiu Popa in :issue:`19343`.)" +"On FreeBSD version 9 and later, there some new FreeBSD specific " +"constants: :const:`~resource.RLIMIT_SBSIZE`, :const:`~resource.RLIMIT_SWAP`, " +"and :const:`~resource.RLIMIT_NPTS`. (Contributed by Claudiu Popa " +"in :issue:`19343`.)" msgstr "" +"On FreeBSD version 9 and later, there some new FreeBSD specific " +"constants: :const:`~resource.RLIMIT_SBSIZE`, :const:`~resource.RLIMIT_SWAP`, " +"and :const:`~resource.RLIMIT_NPTS`. (Contributed by Claudiu Popa " +"in :issue:`19343`.)" #: ../../whatsnew/3.4.rst:1338 msgid "select" @@ -1834,13 +2548,22 @@ msgid "" "method will be called automatically at the end of the block. (Contributed " "by Serhiy Storchaka in :issue:`16488`.)" msgstr "" +":class:`~select.epoll` objects now support the context management protocol. " +"When used in a :keyword:`with` statement, the :meth:`~select.epoll.close` " +"method will be called automatically at the end of the block. (Contributed by " +"Serhiy Storchaka in :issue:`16488`.)" #: ../../whatsnew/3.4.rst:1345 msgid "" ":class:`~select.devpoll` objects now have :meth:`~select.devpoll.fileno` " -"and :meth:`~select.devpoll.close` methods, as well as a new attribute :attr:" -"`~select.devpoll.closed`. (Contributed by Victor Stinner in :issue:`18794`.)" +"and :meth:`~select.devpoll.close` methods, as well as a new " +"attribute :attr:`~select.devpoll.closed`. (Contributed by Victor Stinner " +"in :issue:`18794`.)" msgstr "" +":class:`~select.devpoll` objects now have :meth:`~select.devpoll.fileno` " +"and :meth:`~select.devpoll.close` methods, as well as a new " +"attribute :attr:`~select.devpoll.closed`. (Contributed by Victor Stinner " +"in :issue:`18794`.)" #: ../../whatsnew/3.4.rst:1352 msgid "shelve" @@ -1852,6 +2575,9 @@ msgid "" "statements, and will be automatically closed at the end of the :keyword:`!" "with` block. (Contributed by Filip Gruszczyński in :issue:`13896`.)" msgstr "" +":class:`~shelve.Shelf` instances may now be used in :keyword:`with` " +"statements, and will be automatically closed at the end of the :keyword:`!" +"with` block. (Contributed by Filip Gruszczyński in :issue:`13896`.)" #: ../../whatsnew/3.4.rst:1360 msgid "shutil" @@ -1862,9 +2588,14 @@ msgid "" ":func:`~shutil.copyfile` now raises a specific :exc:`~shutil.Error` " "subclass, :exc:`~shutil.SameFileError`, when the source and destination are " "the same file, which allows an application to take appropriate action on " -"this specific error. (Contributed by Atsuo Ishimoto and Hynek Schlawack in :" -"issue:`1492704`.)" +"this specific error. (Contributed by Atsuo Ishimoto and Hynek Schlawack " +"in :issue:`1492704`.)" msgstr "" +":func:`~shutil.copyfile` now raises a specific :exc:`~shutil.Error` " +"subclass, :exc:`~shutil.SameFileError`, when the source and destination are " +"the same file, which allows an application to take appropriate action on " +"this specific error. (Contributed by Atsuo Ishimoto and Hynek Schlawack " +"in :issue:`1492704`.)" #: ../../whatsnew/3.4.rst:1370 msgid "smtpd" @@ -1873,11 +2604,16 @@ msgstr "smtpd" #: ../../whatsnew/3.4.rst:1372 msgid "" "The :class:`~smtpd.SMTPServer` and :class:`~smtpd.SMTPChannel` classes now " -"accept a *map* keyword argument which, if specified, is passed in to :class:" -"`asynchat.async_chat` as its *map* argument. This allows an application to " -"avoid affecting the global socket map. (Contributed by Vinay Sajip in :" -"issue:`11959`.)" +"accept a *map* keyword argument which, if specified, is passed in " +"to :class:`asynchat.async_chat` as its *map* argument. This allows an " +"application to avoid affecting the global socket map. (Contributed by Vinay " +"Sajip in :issue:`11959`.)" msgstr "" +"The :class:`~smtpd.SMTPServer` and :class:`~smtpd.SMTPChannel` classes now " +"accept a *map* keyword argument which, if specified, is passed in " +"to :class:`asynchat.async_chat` as its *map* argument. This allows an " +"application to avoid affecting the global socket map. (Contributed by Vinay " +"Sajip in :issue:`11959`.)" #: ../../whatsnew/3.4.rst:1380 msgid "smtplib" @@ -1890,6 +2626,10 @@ msgid "" "in one try/except statement by code that only cares whether or not an error " "occurred. (Contributed by Ned Jackson Lovely in :issue:`2118`.)" msgstr "" +":exc:`~smtplib.SMTPException` is now a subclass of :exc:`OSError`, which " +"allows both socket level errors and SMTP protocol level errors to be caught " +"in one try/except statement by code that only cares whether or not an error " +"occurred. (Contributed by Ned Jackson Lovely in :issue:`2118`.)" #: ../../whatsnew/3.4.rst:1389 msgid "socket" @@ -1897,16 +2637,21 @@ msgstr "socket" #: ../../whatsnew/3.4.rst:1391 msgid "" -"The socket module now supports the :data:`~socket.CAN_BCM` protocol on " +"The socket module now supports the :const:`~socket.CAN_BCM` protocol on " "platforms that support it. (Contributed by Brian Thorne in :issue:`15359`.)" msgstr "" +"The socket module now supports the :const:`~socket.CAN_BCM` protocol on " +"platforms that support it. (Contributed by Brian Thorne in :issue:`15359`.)" #: ../../whatsnew/3.4.rst:1394 msgid "" "Socket objects have new methods to get or set their :ref:`inheritable flag " -"`, :meth:`~socket.socket.get_inheritable` and :meth:`~socket." -"socket.set_inheritable`." +"`, :meth:`~socket.socket.get_inheritable` " +"and :meth:`~socket.socket.set_inheritable`." msgstr "" +"Socket objects have new methods to get or set their :ref:`inheritable flag " +"`, :meth:`~socket.socket.get_inheritable` " +"and :meth:`~socket.socket.set_inheritable`." #: ../../whatsnew/3.4.rst:1398 msgid "" @@ -1914,16 +2659,21 @@ msgid "" "values using the new :mod:`enum` module. This allows meaningful names to be " "printed during debugging, instead of integer \"magic numbers\"." msgstr "" +"The ``socket.AF_*`` and ``socket.SOCK_*`` constants are now enumeration " +"values using the new :mod:`enum` module. This allows meaningful names to be " +"printed during debugging, instead of integer \"magic numbers\"." #: ../../whatsnew/3.4.rst:1402 -msgid "The :data:`~socket.AF_LINK` constant is now available on BSD and OSX." -msgstr "" +msgid "The :const:`~socket.AF_LINK` constant is now available on BSD and OSX." +msgstr "The :const:`~socket.AF_LINK` constant is now available on BSD and OSX." #: ../../whatsnew/3.4.rst:1404 msgid "" ":func:`~socket.inet_pton` and :func:`~socket.inet_ntop` are now supported on " "Windows. (Contributed by Atsuo Ishimoto in :issue:`7171`.)" msgstr "" +":func:`~socket.inet_pton` and :func:`~socket.inet_ntop` are now supported on " +"Windows. (Contributed by Atsuo Ishimoto in :issue:`7171`.)" #: ../../whatsnew/3.4.rst:1409 msgid "sqlite3" @@ -1936,6 +2686,10 @@ msgid "" "`SQLite URI documentation `_). " "(Contributed by poq in :issue:`13773`.)" msgstr "" +"A new boolean parameter to the :func:`~sqlite3.connect` function, *uri*, can " +"be used to indicate that the *database* parameter is a ``uri`` (see the " +"`SQLite URI documentation `_). (Contributed " +"by poq in :issue:`13773`.)" #: ../../whatsnew/3.4.rst:1418 msgid "ssl" @@ -1948,6 +2702,10 @@ msgid "" "available if Python is linked with OpenSSL 1.0.1 or later. (Contributed by " "Michele Orrù and Antoine Pitrou in :issue:`16692`.)" msgstr "" +":data:`~ssl.PROTOCOL_TLSv1_1` and :data:`~ssl.PROTOCOL_TLSv1_2` (TLSv1.1 and " +"TLSv1.2 support) have been added; support for these protocols is only " +"available if Python is linked with OpenSSL 1.0.1 or later. (Contributed by " +"Michele Orrù and Antoine Pitrou in :issue:`16692`.)" #: ../../whatsnew/3.4.rst:1429 msgid "" @@ -1957,84 +2715,143 @@ msgid "" "more stringent than the defaults provided by the :class:`~ssl.SSLContext` " "constructor, and may be adjusted in the future, without prior deprecation, " "if best-practice security requirements change. The new recommended best " -"practice for using stdlib libraries that support SSL is to use :func:`~ssl." -"create_default_context` to obtain an :class:`~ssl.SSLContext` object, modify " -"it if needed, and then pass it as the *context* argument of the appropriate " -"stdlib API. (Contributed by Christian Heimes in :issue:`19689`.)" +"practice for using stdlib libraries that support SSL is to " +"use :func:`~ssl.create_default_context` to obtain " +"an :class:`~ssl.SSLContext` object, modify it if needed, and then pass it as " +"the *context* argument of the appropriate stdlib API. (Contributed by " +"Christian Heimes in :issue:`19689`.)" msgstr "" +"New function :func:`~ssl.create_default_context` provides a standard way to " +"obtain an :class:`~ssl.SSLContext` whose settings are intended to be a " +"reasonable balance between compatibility and security. These settings are " +"more stringent than the defaults provided by the :class:`~ssl.SSLContext` " +"constructor, and may be adjusted in the future, without prior deprecation, " +"if best-practice security requirements change. The new recommended best " +"practice for using stdlib libraries that support SSL is to " +"use :func:`~ssl.create_default_context` to obtain " +"an :class:`~ssl.SSLContext` object, modify it if needed, and then pass it as " +"the *context* argument of the appropriate stdlib API. (Contributed by " +"Christian Heimes in :issue:`19689`.)" #: ../../whatsnew/3.4.rst:1441 msgid "" -":class:`~ssl.SSLContext` method :meth:`~ssl.SSLContext." -"load_verify_locations` accepts a new optional argument *cadata*, which can " -"be used to provide PEM or DER encoded certificates directly via strings or " -"bytes, respectively. (Contributed by Christian Heimes in :issue:`18138`.)" +":class:`~ssl.SSLContext` " +"method :meth:`~ssl.SSLContext.load_verify_locations` accepts a new optional " +"argument *cadata*, which can be used to provide PEM or DER encoded " +"certificates directly via strings or bytes, respectively. (Contributed by " +"Christian Heimes in :issue:`18138`.)" msgstr "" +":class:`~ssl.SSLContext` " +"method :meth:`~ssl.SSLContext.load_verify_locations` accepts a new optional " +"argument *cadata*, which can be used to provide PEM or DER encoded " +"certificates directly via strings or bytes, respectively. (Contributed by " +"Christian Heimes in :issue:`18138`.)" #: ../../whatsnew/3.4.rst:1446 msgid "" "New function :func:`~ssl.get_default_verify_paths` returns a named tuple of " -"the paths and environment variables that the :meth:`~ssl.SSLContext." -"set_default_verify_paths` method uses to set OpenSSL's default ``cafile`` " -"and ``capath``. This can be an aid in debugging default verification " -"issues. (Contributed by Christian Heimes in :issue:`18143`.)" +"the paths and environment variables that " +"the :meth:`~ssl.SSLContext.set_default_verify_paths` method uses to set " +"OpenSSL's default ``cafile`` and ``capath``. This can be an aid in " +"debugging default verification issues. (Contributed by Christian Heimes " +"in :issue:`18143`.)" msgstr "" +"New function :func:`~ssl.get_default_verify_paths` returns a named tuple of " +"the paths and environment variables that " +"the :meth:`~ssl.SSLContext.set_default_verify_paths` method uses to set " +"OpenSSL's default ``cafile`` and ``capath``. This can be an aid in debugging " +"default verification issues. (Contributed by Christian Heimes " +"in :issue:`18143`.)" #: ../../whatsnew/3.4.rst:1453 msgid "" -":class:`~ssl.SSLContext` has a new method, :meth:`~ssl.SSLContext." -"cert_store_stats`, that reports the number of loaded ``X.509`` certs, " -"``X.509 CA`` certs, and certificate revocation lists (``crl``\\ s), as well " -"as a :meth:`~ssl.SSLContext.get_ca_certs` method that returns a list of the " -"loaded ``CA`` certificates. (Contributed by Christian Heimes in :issue:" -"`18147`.)" +":class:`~ssl.SSLContext` has a new " +"method, :meth:`~ssl.SSLContext.cert_store_stats`, that reports the number of " +"loaded ``X.509`` certs, ``X.509 CA`` certs, and certificate revocation lists " +"(``crl``\\ s), as well as a :meth:`~ssl.SSLContext.get_ca_certs` method that " +"returns a list of the loaded ``CA`` certificates. (Contributed by Christian " +"Heimes in :issue:`18147`.)" msgstr "" +":class:`~ssl.SSLContext` has a new " +"method, :meth:`~ssl.SSLContext.cert_store_stats`, that reports the number of " +"loaded ``X.509`` certs, ``X.509 CA`` certs, and certificate revocation lists " +"(``crl``\\ s), as well as a :meth:`~ssl.SSLContext.get_ca_certs` method that " +"returns a list of the loaded ``CA`` certificates. (Contributed by Christian " +"Heimes in :issue:`18147`.)" #: ../../whatsnew/3.4.rst:1460 msgid "" "If OpenSSL 0.9.8 or later is available, :class:`~ssl.SSLContext` has a new " "attribute :attr:`~ssl.SSLContext.verify_flags` that can be used to control " "the certificate verification process by setting it to some combination of " -"the new constants :data:`~ssl.VERIFY_DEFAULT`, :data:`~ssl." -"VERIFY_CRL_CHECK_LEAF`, :data:`~ssl.VERIFY_CRL_CHECK_CHAIN`, or :data:`~ssl." -"VERIFY_X509_STRICT`. OpenSSL does not do any CRL verification by default. " -"(Contributed by Christien Heimes in :issue:`8813`.)" +"the new " +"constants :const:`~ssl.VERIFY_DEFAULT`, :const:`~ssl.VERIFY_CRL_CHECK_LEAF`, :const:`~ssl.VERIFY_CRL_CHECK_CHAIN`, " +"or :const:`~ssl.VERIFY_X509_STRICT`. OpenSSL does not do any CRL " +"verification by default. (Contributed by Christien Heimes in :issue:`8813`.)" msgstr "" +"If OpenSSL 0.9.8 or later is available, :class:`~ssl.SSLContext` has a new " +"attribute :attr:`~ssl.SSLContext.verify_flags` that can be used to control " +"the certificate verification process by setting it to some combination of " +"the new " +"constants :const:`~ssl.VERIFY_DEFAULT`, :const:`~ssl.VERIFY_CRL_CHECK_LEAF`, :const:`~ssl.VERIFY_CRL_CHECK_CHAIN`, " +"or :const:`~ssl.VERIFY_X509_STRICT`. OpenSSL does not do any CRL " +"verification by default. (Contributed by Christien Heimes in :issue:`8813`.)" #: ../../whatsnew/3.4.rst:1468 msgid "" -"New :class:`~ssl.SSLContext` method :meth:`~ssl.SSLContext." -"load_default_certs` loads a set of default \"certificate authority\" (CA) " -"certificates from default locations, which vary according to the platform. " -"It can be used to load both TLS web server authentication certificates " -"(``purpose=``:data:`~ssl.Purpose.SERVER_AUTH`) for a client to use to verify " -"a server, and certificates for a server to use in verifying client " -"certificates (``purpose=``:data:`~ssl.Purpose.CLIENT_AUTH`). (Contributed " -"by Christian Heimes in :issue:`19292`.)" -msgstr "" +"New :class:`~ssl.SSLContext` " +"method :meth:`~ssl.SSLContext.load_default_certs` loads a set of default " +"\"certificate authority\" (CA) certificates from default locations, which " +"vary according to the platform. It can be used to load both TLS web server " +"authentication certificates (``purpose=``:data:`~ssl.Purpose.SERVER_AUTH`) " +"for a client to use to verify a server, and certificates for a server to use " +"in verifying client certificates " +"(``purpose=``:data:`~ssl.Purpose.CLIENT_AUTH`). (Contributed by Christian " +"Heimes in :issue:`19292`.)" +msgstr "" +"New :class:`~ssl.SSLContext` " +"method :meth:`~ssl.SSLContext.load_default_certs` loads a set of default " +"\"certificate authority\" (CA) certificates from default locations, which " +"vary according to the platform. It can be used to load both TLS web server " +"authentication certificates (``purpose=``:data:`~ssl.Purpose.SERVER_AUTH`) " +"for a client to use to verify a server, and certificates for a server to use " +"in verifying client certificates " +"(``purpose=``:data:`~ssl.Purpose.CLIENT_AUTH`). (Contributed by Christian " +"Heimes in :issue:`19292`.)" #: ../../whatsnew/3.4.rst:1479 msgid "" -"Two new windows-only functions, :func:`~ssl.enum_certificates` and :func:" -"`~ssl.enum_crls` provide the ability to retrieve certificates, certificate " -"information, and CRLs from the Windows cert store. (Contributed by " -"Christian Heimes in :issue:`17134`.)" +"Two new windows-only functions, :func:`~ssl.enum_certificates` " +"and :func:`~ssl.enum_crls` provide the ability to retrieve certificates, " +"certificate information, and CRLs from the Windows cert store. (Contributed " +"by Christian Heimes in :issue:`17134`.)" msgstr "" +"Two new windows-only functions, :func:`~ssl.enum_certificates` " +"and :func:`~ssl.enum_crls` provide the ability to retrieve certificates, " +"certificate information, and CRLs from the Windows cert store. (Contributed " +"by Christian Heimes in :issue:`17134`.)" #: ../../whatsnew/3.4.rst:1486 msgid "" -"Support for server-side SNI (Server Name Indication) using the new :meth:" -"`ssl.SSLContext.set_servername_callback` method. (Contributed by Daniel " -"Black in :issue:`8109`.)" +"Support for server-side SNI (Server Name Indication) using the " +"new :meth:`ssl.SSLContext.set_servername_callback` method. (Contributed by " +"Daniel Black in :issue:`8109`.)" msgstr "" +"Support for server-side SNI (Server Name Indication) using the " +"new :meth:`ssl.SSLContext.set_servername_callback` method. (Contributed by " +"Daniel Black in :issue:`8109`.)" #: ../../whatsnew/3.4.rst:1490 msgid "" "The dictionary returned by :meth:`.SSLSocket.getpeercert` contains " "additional ``X509v3`` extension items: ``crlDistributionPoints``, " -"``calIssuers``, and ``OCSP`` URIs. (Contributed by Christian Heimes in :" -"issue:`18379`.)" +"``calIssuers``, and ``OCSP`` URIs. (Contributed by Christian Heimes " +"in :issue:`18379`.)" msgstr "" +"The dictionary returned by :meth:`.SSLSocket.getpeercert` contains " +"additional ``X509v3`` extension items: ``crlDistributionPoints``, " +"``calIssuers``, and ``OCSP`` URIs. (Contributed by Christian Heimes " +"in :issue:`18379`.)" #: ../../whatsnew/3.4.rst:1496 msgid "stat" @@ -2046,13 +2863,21 @@ msgid "" "A C implementation is required as most of the values aren't standardized and " "are platform-dependent. (Contributed by Christian Heimes in :issue:`11016`.)" msgstr "" +"The :mod:`stat` module is now backed by a C implementation in :mod:`_stat`. " +"A C implementation is required as most of the values aren't standardized and " +"are platform-dependent. (Contributed by Christian Heimes in :issue:`11016`.)" #: ../../whatsnew/3.4.rst:1502 msgid "" -"The module supports new :mod:`~stat.ST_MODE` flags, :mod:`~stat.S_IFDOOR`, :" -"attr:`~stat.S_IFPORT`, and :attr:`~stat.S_IFWHT`. (Contributed by Christian " -"Hiemes in :issue:`11016`.)" +"The module supports new :mod:`~stat.ST_MODE` " +"flags, :mod:`~stat.S_IFDOOR`, :const:`~stat.S_IFPORT`, " +"and :const:`~stat.S_IFWHT`. (Contributed by Christian Hiemes " +"in :issue:`11016`.)" msgstr "" +"The module supports new :mod:`~stat.ST_MODE` " +"flags, :mod:`~stat.S_IFDOOR`, :const:`~stat.S_IFPORT`, " +"and :const:`~stat.S_IFWHT`. (Contributed by Christian Hiemes " +"in :issue:`11016`.)" #: ../../whatsnew/3.4.rst:1508 msgid "struct" @@ -2060,11 +2885,15 @@ msgstr "struct" #: ../../whatsnew/3.4.rst:1510 msgid "" -"New function :mod:`~struct.iter_unpack` and a new :meth:`struct.Struct." -"iter_unpack` method on compiled formats provide streamed unpacking of a " -"buffer containing repeated instances of a given format of data. (Contributed " -"by Antoine Pitrou in :issue:`17804`.)" +"New function :mod:`~struct.iter_unpack` and a " +"new :meth:`struct.Struct.iter_unpack` method on compiled formats provide " +"streamed unpacking of a buffer containing repeated instances of a given " +"format of data. (Contributed by Antoine Pitrou in :issue:`17804`.)" msgstr "" +"New function :mod:`~struct.iter_unpack` and a " +"new :meth:`struct.Struct.iter_unpack` method on compiled formats provide " +"streamed unpacking of a buffer containing repeated instances of a given " +"format of data. (Contributed by Antoine Pitrou in :issue:`17804`.)" #: ../../whatsnew/3.4.rst:1517 msgid "subprocess" @@ -2076,6 +2905,9 @@ msgid "" "used to provide the contents of ``stdin`` for the command that is run. " "(Contributed by Zack Weinberg in :issue:`16624`.)" msgstr "" +":func:`~subprocess.check_output` now accepts an *input* argument that can be " +"used to provide the contents of ``stdin`` for the command that is run. " +"(Contributed by Zack Weinberg in :issue:`16624`.)" #: ../../whatsnew/3.4.rst:1523 msgid "" @@ -2083,6 +2915,9 @@ msgid "" "work on Windows. This change was actually inadvertently made in 3.3.4. " "(Contributed by Tim Golden in :issue:`10197`.)" msgstr "" +":func:`~subprocess.getstatus` and :func:`~subprocess.getstatusoutput` now " +"work on Windows. This change was actually inadvertently made in 3.3.4. " +"(Contributed by Tim Golden in :issue:`10197`.)" #: ../../whatsnew/3.4.rst:1529 msgid "sunau" @@ -2093,6 +2928,8 @@ msgid "" "The :meth:`~sunau.getparams` method now returns a namedtuple rather than a " "plain tuple. (Contributed by Claudiu Popa in :issue:`18901`.)" msgstr "" +"The :meth:`~sunau.getparams` method now returns a namedtuple rather than a " +"plain tuple. (Contributed by Claudiu Popa in :issue:`18901`.)" #: ../../whatsnew/3.4.rst:1534 msgid "" @@ -2101,6 +2938,10 @@ msgid "" "be called automatically at the end of the block. (Contributed by Serhiy " "Storchaka in :issue:`18878`.)" msgstr "" +":meth:`sunau.open` now supports the context management protocol: when used " +"in a :keyword:`with` block, the ``close`` method of the returned object will " +"be called automatically at the end of the block. (Contributed by Serhiy " +"Storchaka in :issue:`18878`.)" #: ../../whatsnew/3.4.rst:1539 msgid "" @@ -2108,13 +2949,19 @@ msgid "" "support for writing 24 sample using the module. (Contributed by Serhiy " "Storchaka in :issue:`19261`.)" msgstr "" +":meth:`.AU_write.setsampwidth` now supports 24 bit samples, thus adding " +"support for writing 24 sample using the module. (Contributed by Serhiy " +"Storchaka in :issue:`19261`.)" #: ../../whatsnew/3.4.rst:1543 msgid "" -"The :meth:`~sunau.AU_write.writeframesraw` and :meth:`~sunau.AU_write." -"writeframes` methods now accept any :term:`bytes-like object`. (Contributed " -"by Serhiy Storchaka in :issue:`8311`.)" +"The :meth:`~sunau.AU_write.writeframesraw` " +"and :meth:`~sunau.AU_write.writeframes` methods now accept any :term:`bytes-" +"like object`. (Contributed by Serhiy Storchaka in :issue:`8311`.)" msgstr "" +"The :meth:`~sunau.AU_write.writeframesraw` " +"and :meth:`~sunau.AU_write.writeframes` methods now accept any :term:`bytes-" +"like object`. (Contributed by Serhiy Storchaka in :issue:`8311`.)" #: ../../whatsnew/3.4.rst:1549 msgid "sys" @@ -2124,11 +2971,17 @@ msgstr "sys" msgid "" "New function :func:`sys.getallocatedblocks` returns the current number of " "blocks allocated by the interpreter. (In CPython with the default ``--with-" -"pymalloc`` setting, this is allocations made through the :c:func:" -"`PyObject_Malloc` API.) This can be useful for tracking memory leaks, " -"especially if automated via a test suite. (Contributed by Antoine Pitrou " -"in :issue:`13390`.)" +"pymalloc`` setting, this is allocations made through " +"the :c:func:`PyObject_Malloc` API.) This can be useful for tracking memory " +"leaks, especially if automated via a test suite. (Contributed by Antoine " +"Pitrou in :issue:`13390`.)" msgstr "" +"New function :func:`sys.getallocatedblocks` returns the current number of " +"blocks allocated by the interpreter. (In CPython with the default ``--with-" +"pymalloc`` setting, this is allocations made through " +"the :c:func:`PyObject_Malloc` API.) This can be useful for tracking memory " +"leaks, especially if automated via a test suite. (Contributed by Antoine " +"Pitrou in :issue:`13390`.)" #: ../../whatsnew/3.4.rst:1558 msgid "" @@ -2140,11 +2993,23 @@ msgid "" "The :mod:`site` module :ref:`sets it ` to a function " "that enables tab completion and history saving (in :file:`~/.python-" "history`) if the platform supports :mod:`readline`. If you do not want this " -"(new) behavior, you can override it in :envvar:`PYTHONSTARTUP`, :mod:" -"`sitecustomize`, or :mod:`usercustomize` by deleting this attribute from :" -"mod:`sys` (or setting it to some other callable). (Contributed by Éric " -"Araujo and Antoine Pitrou in :issue:`5845`.)" +"(new) behavior, you can override it " +"in :envvar:`PYTHONSTARTUP`, :mod:`sitecustomize`, or :mod:`usercustomize` by " +"deleting this attribute from :mod:`sys` (or setting it to some other " +"callable). (Contributed by Éric Araujo and Antoine Pitrou in :issue:`5845`.)" msgstr "" +"When the Python interpreter starts in :ref:`interactive mode `, it checks for an :data:`~sys.__interactivehook__` attribute " +"on the :mod:`sys` module. If the attribute exists, its value is called with " +"no arguments just before interactive mode is started. The check is made " +"after the :envvar:`PYTHONSTARTUP` file is read, so it can be set there. " +"The :mod:`site` module :ref:`sets it ` to a function " +"that enables tab completion and history saving (in :file:`~/.python-" +"history`) if the platform supports :mod:`readline`. If you do not want this " +"(new) behavior, you can override it " +"in :envvar:`PYTHONSTARTUP`, :mod:`sitecustomize`, or :mod:`usercustomize` by " +"deleting this attribute from :mod:`sys` (or setting it to some other " +"callable). (Contributed by Éric Araujo and Antoine Pitrou in :issue:`5845`.)" #: ../../whatsnew/3.4.rst:1573 msgid "tarfile" @@ -2154,9 +3019,13 @@ msgstr "tarfile" msgid "" "The :mod:`tarfile` module now supports a simple :ref:`tarfile-commandline` " "when called as a script directly or via ``-m``. This can be used to create " -"and extract tarfile archives. (Contributed by Berker Peksag in :issue:" -"`13477`.)" +"and extract tarfile archives. (Contributed by Berker Peksag " +"in :issue:`13477`.)" msgstr "" +"The :mod:`tarfile` module now supports a simple :ref:`tarfile-commandline` " +"when called as a script directly or via ``-m``. This can be used to create " +"and extract tarfile archives. (Contributed by Berker Peksag " +"in :issue:`13477`.)" #: ../../whatsnew/3.4.rst:1581 msgid "textwrap" @@ -2172,9 +3041,19 @@ msgid "" "convenience function :func:`~textwrap.shorten` collapses all of the " "whitespace in the input to single spaces and produces a single line of a " "given *width* that ends with the *placeholder* (by default, ``[...]``). " -"(Contributed by Antoine Pitrou and Serhiy Storchaka in :issue:`18585` and :" -"issue:`18725`.)" +"(Contributed by Antoine Pitrou and Serhiy Storchaka in :issue:`18585` " +"and :issue:`18725`.)" msgstr "" +"The :class:`~textwrap.TextWrapper` class has two new attributes/constructor " +"arguments: :attr:`~textwrap.TextWrapper.max_lines`, which limits the number " +"of lines in the output, and :attr:`~textwrap.TextWrapper.placeholder`, which " +"is a string that will appear at the end of the output if it has been " +"truncated because of *max_lines*. Building on these capabilities, a new " +"convenience function :func:`~textwrap.shorten` collapses all of the " +"whitespace in the input to single spaces and produces a single line of a " +"given *width* that ends with the *placeholder* (by default, ``[...]``). " +"(Contributed by Antoine Pitrou and Serhiy Storchaka in :issue:`18585` " +"and :issue:`18725`.)" #: ../../whatsnew/3.4.rst:1595 msgid "threading" @@ -2187,6 +3066,10 @@ msgid "" "conditions this will be the thread from which the Python interpreter was " "started. (Contributed by Andrew Svetlov in :issue:`18882`.)" msgstr "" +"The :class:`~threading.Thread` object representing the main thread can be " +"obtained from the new :func:`~threading.main_thread` function. In normal " +"conditions this will be the thread from which the Python interpreter was " +"started. (Contributed by Andrew Svetlov in :issue:`18882`.)" #: ../../whatsnew/3.4.rst:1604 msgid "traceback" @@ -2196,9 +3079,13 @@ msgstr "traceback" msgid "" "A new :func:`traceback.clear_frames` function takes a traceback object and " "clears the local variables in all of the frames it references, reducing the " -"amount of memory consumed. (Contributed by Andrew Kuchling in :issue:" -"`1565525`.)" +"amount of memory consumed. (Contributed by Andrew Kuchling " +"in :issue:`1565525`.)" msgstr "" +"A new :func:`traceback.clear_frames` function takes a traceback object and " +"clears the local variables in all of the frames it references, reducing the " +"amount of memory consumed. (Contributed by Andrew Kuchling " +"in :issue:`1565525`.)" #: ../../whatsnew/3.4.rst:1613 msgid "types" @@ -2213,6 +3100,12 @@ msgid "" "and have virtual attributes on the class with the same name (see :mod:`Enum` " "for an example). (Contributed by Ethan Furman in :issue:`19030`.)" msgstr "" +"A new :func:`~types.DynamicClassAttribute` descriptor provides a way to " +"define an attribute that acts normally when looked up through an instance " +"object, but which is routed to the *class* ``__getattr__`` when looked up " +"through the class. This allows one to have properties active on a class, and " +"have virtual attributes on the class with the same name (see :mod:`Enum` for " +"an example). (Contributed by Ethan Furman in :issue:`19030`.)" #: ../../whatsnew/3.4.rst:1624 msgid "urllib" @@ -2220,41 +3113,65 @@ msgstr "urllib" #: ../../whatsnew/3.4.rst:1626 msgid "" -":mod:`urllib.request` now supports ``data:`` URLs via the :class:`~urllib." -"request.DataHandler` class. (Contributed by Mathias Panzenböck in :issue:" -"`16423`.)" +":mod:`urllib.request` now supports ``data:`` URLs via " +"the :class:`~urllib.request.DataHandler` class. (Contributed by Mathias " +"Panzenböck in :issue:`16423`.)" msgstr "" +":mod:`urllib.request` now supports ``data:`` URLs via " +"the :class:`~urllib.request.DataHandler` class. (Contributed by Mathias " +"Panzenböck in :issue:`16423`.)" #: ../../whatsnew/3.4.rst:1630 msgid "" "The http method that will be used by a :class:`~urllib.request.Request` " -"class can now be specified by setting a :class:`~urllib.request.Request." -"method` class attribute on the subclass. (Contributed by Jason R Coombs in :" -"issue:`18978`.)" +"class can now be specified by setting " +"a :class:`~urllib.request.Request.method` class attribute on the subclass. " +"(Contributed by Jason R Coombs in :issue:`18978`.)" msgstr "" +"The http method that will be used by a :class:`~urllib.request.Request` " +"class can now be specified by setting " +"a :class:`~urllib.request.Request.method` class attribute on the subclass. " +"(Contributed by Jason R Coombs in :issue:`18978`.)" #: ../../whatsnew/3.4.rst:1635 msgid "" -":class:`~urllib.request.Request` objects are now reusable: if the :attr:" -"`~urllib.request.Request.full_url` or :attr:`~urllib.request.Request.data` " -"attributes are modified, all relevant internal properties are updated. This " -"means, for example, that it is now possible to use the same :class:`~urllib." -"request.Request` object in more than one :meth:`.OpenerDirector.open` call " -"with different *data* arguments, or to modify a :class:`~urllib.request." -"Request`\\ 's ``url`` rather than recomputing it from scratch. There is " -"also a new :meth:`~urllib.request.Request.remove_header` method that can be " -"used to remove headers from a :class:`~urllib.request.Request`. " -"(Contributed by Alexey Kachayev in :issue:`16464`, Daniel Wozniak in :issue:" -"`17485`, and Damien Brecht and Senthil Kumaran in :issue:`17272`.)" -msgstr "" +":class:`~urllib.request.Request` objects are now reusable: if " +"the :attr:`~urllib.request.Request.full_url` " +"or :attr:`~urllib.request.Request.data` attributes are modified, all " +"relevant internal properties are updated. This means, for example, that it " +"is now possible to use the same :class:`~urllib.request.Request` object in " +"more than one :meth:`.OpenerDirector.open` call with different *data* " +"arguments, or to modify a :class:`~urllib.request.Request`\\ 's ``url`` " +"rather than recomputing it from scratch. There is also a " +"new :meth:`~urllib.request.Request.remove_header` method that can be used to " +"remove headers from a :class:`~urllib.request.Request`. (Contributed by " +"Alexey Kachayev in :issue:`16464`, Daniel Wozniak in :issue:`17485`, and " +"Damien Brecht and Senthil Kumaran in :issue:`17272`.)" +msgstr "" +":class:`~urllib.request.Request` objects are now reusable: if " +"the :attr:`~urllib.request.Request.full_url` " +"or :attr:`~urllib.request.Request.data` attributes are modified, all " +"relevant internal properties are updated. This means, for example, that it " +"is now possible to use the same :class:`~urllib.request.Request` object in " +"more than one :meth:`.OpenerDirector.open` call with different *data* " +"arguments, or to modify a :class:`~urllib.request.Request`\\ 's ``url`` " +"rather than recomputing it from scratch. There is also a " +"new :meth:`~urllib.request.Request.remove_header` method that can be used to " +"remove headers from a :class:`~urllib.request.Request`. (Contributed by " +"Alexey Kachayev in :issue:`16464`, Daniel Wozniak in :issue:`17485`, and " +"Damien Brecht and Senthil Kumaran in :issue:`17272`.)" #: ../../whatsnew/3.4.rst:1648 msgid "" -":class:`~urllib.error.HTTPError` objects now have a :attr:`~urllib.error." -"HTTPError.headers` attribute that provides access to the HTTP response " -"headers associated with the error. (Contributed by Berker Peksag in :issue:" -"`15701`.)" +":class:`~urllib.error.HTTPError` objects now have " +"a :attr:`~urllib.error.HTTPError.headers` attribute that provides access to " +"the HTTP response headers associated with the error. (Contributed by Berker " +"Peksag in :issue:`15701`.)" msgstr "" +":class:`~urllib.error.HTTPError` objects now have " +"a :attr:`~urllib.error.HTTPError.headers` attribute that provides access to " +"the HTTP response headers associated with the error. (Contributed by Berker " +"Peksag in :issue:`15701`.)" #: ../../whatsnew/3.4.rst:1655 msgid "unittest" @@ -2262,14 +3179,21 @@ msgstr "unittest" #: ../../whatsnew/3.4.rst:1657 msgid "" -"The :class:`~unittest.TestCase` class has a new method, :meth:`~unittest." -"TestCase.subTest`, that produces a context manager whose :keyword:`with` " -"block becomes a \"sub-test\". This context manager allows a test method to " -"dynamically generate subtests by, say, calling the ``subTest`` context " -"manager inside a loop. A single test method can thereby produce an " -"indefinite number of separately identified and separately counted tests, all " -"of which will run even if one or more of them fail. For example::" -msgstr "" +"The :class:`~unittest.TestCase` class has a new " +"method, :meth:`~unittest.TestCase.subTest`, that produces a context manager " +"whose :keyword:`with` block becomes a \"sub-test\". This context manager " +"allows a test method to dynamically generate subtests by, say, calling the " +"``subTest`` context manager inside a loop. A single test method can thereby " +"produce an indefinite number of separately identified and separately counted " +"tests, all of which will run even if one or more of them fail. For example::" +msgstr "" +"The :class:`~unittest.TestCase` class has a new " +"method, :meth:`~unittest.TestCase.subTest`, that produces a context manager " +"whose :keyword:`with` block becomes a \"sub-test\". This context manager " +"allows a test method to dynamically generate subtests by, say, calling the " +"``subTest`` context manager inside a loop. A single test method can thereby " +"produce an indefinite number of separately identified and separately counted " +"tests, all of which will run even if one or more of them fail. For example::" #: ../../whatsnew/3.4.rst:1671 msgid "" @@ -2278,6 +3202,10 @@ msgid "" "for that variable (``i=0``, ``i=1``, etc). See :ref:`subtests` for the full " "version of this example. (Contributed by Antoine Pitrou in :issue:`16997`.)" msgstr "" +"will result in six subtests, each identified in the unittest verbose output " +"with a label consisting of the variable name ``i`` and a particular value " +"for that variable (``i=0``, ``i=1``, etc). See :ref:`subtests` for the full " +"version of this example. (Contributed by Antoine Pitrou in :issue:`16997`.)" #: ../../whatsnew/3.4.rst:1676 msgid "" @@ -2285,6 +3213,9 @@ msgid "" "*defaultTest*, where previously it only accepted a single test name as a " "string. (Contributed by Jyrki Pulliainen in :issue:`15132`.)" msgstr "" +":func:`unittest.main` now accepts an iterable of test names for " +"*defaultTest*, where previously it only accepted a single test name as a " +"string. (Contributed by Jyrki Pulliainen in :issue:`15132`.)" #: ../../whatsnew/3.4.rst:1680 msgid "" @@ -2292,6 +3223,9 @@ msgid "" "the module level in the test file), it is now reported as a skip instead of " "an error. (Contributed by Zach Ware in :issue:`16935`.)" msgstr "" +"If :class:`~unittest.SkipTest` is raised during test discovery (that is, at " +"the module level in the test file), it is now reported as a skip instead of " +"an error. (Contributed by Zach Ware in :issue:`16935`.)" #: ../../whatsnew/3.4.rst:1684 msgid "" @@ -2299,6 +3233,9 @@ msgid "" "provide consistent test ordering. (Contributed by Martin Melin and Jeff " "Ramnani in :issue:`16709`.)" msgstr "" +":meth:`~unittest.TestLoader.discover` now sorts the discovered files to " +"provide consistent test ordering. (Contributed by Martin Melin and Jeff " +"Ramnani in :issue:`16709`.)" #: ../../whatsnew/3.4.rst:1688 msgid "" @@ -2310,24 +3247,41 @@ msgid "" "defines a custom ``_removeTestAtIndex`` method. (Contributed by Tom " "Wardill, Matt McClure, and Andrew Svetlov in :issue:`11798`.)" msgstr "" +":class:`~unittest.TestSuite` now drops references to tests as soon as the " +"test has been run, if the test is successful. On Python interpreters that do " +"garbage collection, this allows the tests to be garbage collected if nothing " +"else is holding a reference to the test. It is possible to override this " +"behavior by creating a :class:`~unittest.TestSuite` subclass that defines a " +"custom ``_removeTestAtIndex`` method. (Contributed by Tom Wardill, Matt " +"McClure, and Andrew Svetlov in :issue:`11798`.)" #: ../../whatsnew/3.4.rst:1696 msgid "" "A new test assertion context-manager, :meth:`~unittest.TestCase.assertLogs`, " -"will ensure that a given block of code emits a log message using the :mod:" -"`logging` module. By default the message can come from any logger and have " -"a priority of ``INFO`` or higher, but both the logger name and an " +"will ensure that a given block of code emits a log message using " +"the :mod:`logging` module. By default the message can come from any logger " +"and have a priority of ``INFO`` or higher, but both the logger name and an " "alternative minimum logging level may be specified. The object returned by " "the context manager can be queried for the :class:`~logging.LogRecord`\\ s " "and/or formatted messages that were logged. (Contributed by Antoine Pitrou " "in :issue:`18937`.)" msgstr "" +"A new test assertion context-manager, :meth:`~unittest.TestCase.assertLogs`, " +"will ensure that a given block of code emits a log message using " +"the :mod:`logging` module. By default the message can come from any logger " +"and have a priority of ``INFO`` or higher, but both the logger name and an " +"alternative minimum logging level may be specified. The object returned by " +"the context manager can be queried for the :class:`~logging.LogRecord`\\ s " +"and/or formatted messages that were logged. (Contributed by Antoine Pitrou " +"in :issue:`18937`.)" #: ../../whatsnew/3.4.rst:1705 msgid "" "Test discovery now works with namespace packages (Contributed by Claudiu " "Popa in :issue:`17457`.)" msgstr "" +"Test discovery now works with namespace packages (Contributed by Claudiu " +"Popa in :issue:`17457`.)" #: ../../whatsnew/3.4.rst:1708 msgid "" @@ -2336,12 +3290,18 @@ msgid "" "position or name, instead of only by position. (Contributed by Antoine " "Pitrou in :issue:`17015`.)" msgstr "" +":mod:`unittest.mock` objects now inspect their specification signatures when " +"matching calls, which means an argument can now be matched by either " +"position or name, instead of only by position. (Contributed by Antoine " +"Pitrou in :issue:`17015`.)" #: ../../whatsnew/3.4.rst:1713 msgid "" ":func:`~mock.mock_open` objects now have ``readline`` and ``readlines`` " "methods. (Contributed by Toshio Kuratomi in :issue:`17467`.)" msgstr "" +":func:`~mock.mock_open` objects now have ``readline`` and ``readlines`` " +"methods. (Contributed by Toshio Kuratomi in :issue:`17467`.)" #: ../../whatsnew/3.4.rst:1718 msgid "venv" @@ -2352,15 +3312,22 @@ msgid "" ":mod:`venv` now includes activation scripts for the ``csh`` and ``fish`` " "shells. (Contributed by Andrew Svetlov in :issue:`15417`.)" msgstr "" +":mod:`venv` now includes activation scripts for the ``csh`` and ``fish`` " +"shells. (Contributed by Andrew Svetlov in :issue:`15417`.)" #: ../../whatsnew/3.4.rst:1723 msgid "" ":class:`~venv.EnvBuilder` and the :func:`~venv.create` convenience function " "take a new keyword argument *with_pip*, which defaults to ``False``, that " "controls whether or not :class:`~venv.EnvBuilder` ensures that ``pip`` is " -"installed in the virtual environment. (Contributed by Nick Coghlan in :" -"issue:`19552` as part of the :pep:`453` implementation.)" +"installed in the virtual environment. (Contributed by Nick Coghlan " +"in :issue:`19552` as part of the :pep:`453` implementation.)" msgstr "" +":class:`~venv.EnvBuilder` and the :func:`~venv.create` convenience function " +"take a new keyword argument *with_pip*, which defaults to ``False``, that " +"controls whether or not :class:`~venv.EnvBuilder` ensures that ``pip`` is " +"installed in the virtual environment. (Contributed by Nick Coghlan " +"in :issue:`19552` as part of the :pep:`453` implementation.)" #: ../../whatsnew/3.4.rst:1731 msgid "wave" @@ -2371,12 +3338,16 @@ msgid "" "The :meth:`~wave.getparams` method now returns a namedtuple rather than a " "plain tuple. (Contributed by Claudiu Popa in :issue:`17487`.)" msgstr "" +"The :meth:`~wave.getparams` method now returns a namedtuple rather than a " +"plain tuple. (Contributed by Claudiu Popa in :issue:`17487`.)" #: ../../whatsnew/3.4.rst:1736 msgid "" ":meth:`wave.open` now supports the context management protocol. " "(Contributed by Claudiu Popa in :issue:`17616`.)" msgstr "" +":meth:`wave.open` now supports the context management protocol. (Contributed " +"by Claudiu Popa in :issue:`17616`.)" #: ../../whatsnew/3.4.rst:1739 msgid "" @@ -2384,13 +3355,19 @@ msgid "" "objects>`. (Contributed by David Jones, Guilherme Polo, and Serhiy " "Storchaka in :issue:`5202`.)" msgstr "" +":mod:`wave` can now :ref:`write output to unseekable files `. (Contributed by David Jones, Guilherme Polo, and Serhiy Storchaka " +"in :issue:`5202`.)" #: ../../whatsnew/3.4.rst:1743 msgid "" -"The :meth:`~wave.Wave_write.writeframesraw` and :meth:`~wave.Wave_write." -"writeframes` methods now accept any :term:`bytes-like object`. (Contributed " -"by Serhiy Storchaka in :issue:`8311`.)" +"The :meth:`~wave.Wave_write.writeframesraw` " +"and :meth:`~wave.Wave_write.writeframes` methods now accept any :term:`bytes-" +"like object`. (Contributed by Serhiy Storchaka in :issue:`8311`.)" msgstr "" +"The :meth:`~wave.Wave_write.writeframesraw` " +"and :meth:`~wave.Wave_write.writeframes` methods now accept any :term:`bytes-" +"like object`. (Contributed by Serhiy Storchaka in :issue:`8311`.)" #: ../../whatsnew/3.4.rst:1749 msgid "weakref" @@ -2401,6 +3378,8 @@ msgid "" "New :class:`~weakref.WeakMethod` class simulates weak references to bound " "methods. (Contributed by Antoine Pitrou in :issue:`14631`.)" msgstr "" +"New :class:`~weakref.WeakMethod` class simulates weak references to bound " +"methods. (Contributed by Antoine Pitrou in :issue:`14631`.)" #: ../../whatsnew/3.4.rst:1754 msgid "" @@ -2409,6 +3388,10 @@ msgid "" "to carefully manage the lifecycle of the weak reference itself. " "(Contributed by Richard Oudkerk in :issue:`15528`.)" msgstr "" +"New :class:`~weakref.finalize` class makes it possible to register a " +"callback to be invoked when an object is garbage collected, without needing " +"to carefully manage the lifecycle of the weak reference itself. (Contributed " +"by Richard Oudkerk in :issue:`15528`.)" #: ../../whatsnew/3.4.rst:1759 msgid "" @@ -2416,6 +3399,9 @@ msgid "" "via the :attr:`~weakref.ref.__callback__` attribute. (Contributed by Mark " "Dickinson in :issue:`17643`.)" msgstr "" +"The callback, if any, associated with a :class:`~weakref.ref` is now exposed " +"via the :attr:`~weakref.ref.__callback__` attribute. (Contributed by Mark " +"Dickinson in :issue:`17643`.)" #: ../../whatsnew/3.4.rst:1765 msgid "xml.etree" @@ -2424,22 +3410,34 @@ msgstr "xml.etree" #: ../../whatsnew/3.4.rst:1767 msgid "" "A new parser, :class:`~xml.etree.ElementTree.XMLPullParser`, allows a non-" -"blocking applications to parse XML documents. An example can be seen at :" -"ref:`elementtree-pull-parsing`. (Contributed by Antoine Pitrou in :issue:" -"`17741`.)" +"blocking applications to parse XML documents. An example can be seen " +"at :ref:`elementtree-pull-parsing`. (Contributed by Antoine Pitrou " +"in :issue:`17741`.)" msgstr "" +"A new parser, :class:`~xml.etree.ElementTree.XMLPullParser`, allows a non-" +"blocking applications to parse XML documents. An example can be seen " +"at :ref:`elementtree-pull-parsing`. (Contributed by Antoine Pitrou " +"in :issue:`17741`.)" #: ../../whatsnew/3.4.rst:1772 msgid "" "The :mod:`xml.etree.ElementTree` :func:`~xml.etree.ElementTree.tostring` " -"and :func:`~xml.etree.ElementTree.tostringlist` functions, and the :class:" -"`~xml.etree.ElementTree.ElementTree` :meth:`~xml.etree.ElementTree." -"ElementTree.write` method, now have a *short_empty_elements* :ref:`keyword-" -"only parameter ` providing control over whether " -"elements with no content are written in abbreviated (````) or " -"expanded (````) form. (Contributed by Ariel Poliak and Serhiy " -"Storchaka in :issue:`14377`.)" +"and :func:`~xml.etree.ElementTree.tostringlist` functions, and " +"the :class:`~xml.etree.ElementTree.ElementTree` :meth:`~xml.etree.ElementTree.ElementTree.write` " +"method, now have a *short_empty_elements* :ref:`keyword-only parameter " +"` providing control over whether elements with no " +"content are written in abbreviated (````) or expanded (````) form. (Contributed by Ariel Poliak and Serhiy Storchaka " +"in :issue:`14377`.)" msgstr "" +"The :mod:`xml.etree.ElementTree` :func:`~xml.etree.ElementTree.tostring` " +"and :func:`~xml.etree.ElementTree.tostringlist` functions, and " +"the :class:`~xml.etree.ElementTree.ElementTree` :meth:`~xml.etree.ElementTree.ElementTree.write` " +"method, now have a *short_empty_elements* :ref:`keyword-only parameter " +"` providing control over whether elements with no " +"content are written in abbreviated (````) or expanded (````) form. (Contributed by Ariel Poliak and Serhiy Storchaka " +"in :issue:`14377`.)" #: ../../whatsnew/3.4.rst:1783 msgid "zipfile" @@ -2447,19 +3445,27 @@ msgstr "zipfile" #: ../../whatsnew/3.4.rst:1785 msgid "" -"The :meth:`~zipfile.PyZipFile.writepy` method of the :class:`~zipfile." -"PyZipFile` class has a new *filterfunc* option that can be used to control " -"which directories and files are added to the archive. For example, this " -"could be used to exclude test files from the archive. (Contributed by " -"Christian Tismer in :issue:`19274`.)" +"The :meth:`~zipfile.PyZipFile.writepy` method of " +"the :class:`~zipfile.PyZipFile` class has a new *filterfunc* option that can " +"be used to control which directories and files are added to the archive. " +"For example, this could be used to exclude test files from the archive. " +"(Contributed by Christian Tismer in :issue:`19274`.)" msgstr "" +"The :meth:`~zipfile.PyZipFile.writepy` method of " +"the :class:`~zipfile.PyZipFile` class has a new *filterfunc* option that can " +"be used to control which directories and files are added to the archive. For " +"example, this could be used to exclude test files from the archive. " +"(Contributed by Christian Tismer in :issue:`19274`.)" #: ../../whatsnew/3.4.rst:1791 msgid "" -"The *allowZip64* parameter to :class:`~zipfile.ZipFile` and :class:`~zipfile." -"PyZipfile` is now ``True`` by default. (Contributed by William Mallard in :" -"issue:`17201`.)" +"The *allowZip64* parameter to :class:`~zipfile.ZipFile` " +"and :class:`~zipfile.PyZipfile` is now ``True`` by default. (Contributed by " +"William Mallard in :issue:`17201`.)" msgstr "" +"The *allowZip64* parameter to :class:`~zipfile.ZipFile` " +"and :class:`~zipfile.PyZipfile` is now ``True`` by default. (Contributed by " +"William Mallard in :issue:`17201`.)" #: ../../whatsnew/3.4.rst:1798 msgid "CPython Implementation Changes" @@ -2499,17 +3505,18 @@ msgstr "" #: ../../whatsnew/3.4.rst:1825 msgid "" -"As part of this change, module globals are no longer forcibly set to :const:" -"`None` during interpreter shutdown in most cases, instead relying on the " -"normal operation of the cyclic garbage collector. This avoids a whole class " -"of interpreter-shutdown-time errors, usually involving ``__del__`` methods, " -"that have plagued Python since the cyclic GC was first introduced." +"As part of this change, module globals are no longer forcibly set " +"to :const:`None` during interpreter shutdown in most cases, instead relying " +"on the normal operation of the cyclic garbage collector. This avoids a " +"whole class of interpreter-shutdown-time errors, usually involving " +"``__del__`` methods, that have plagued Python since the cyclic GC was first " +"introduced." msgstr "" -"As part of this change, module globals are no longer forcibly set to :const:" -"`None` during interpreter shutdown in most cases, instead relying on the " -"normal operation of the cyclic garbage collector. This avoids a whole class " -"of interpreter-shutdown-time errors, usually involving ``__del__`` methods, " -"that have plagued Python since the cyclic GC was first introduced." +"As part of this change, module globals are no longer forcibly set " +"to :const:`None` during interpreter shutdown in most cases, instead relying " +"on the normal operation of the cyclic garbage collector. This avoids a whole " +"class of interpreter-shutdown-time errors, usually involving ``__del__`` " +"methods, that have plagued Python since the cyclic GC was first introduced." #: ../../whatsnew/3.4.rst:1834 msgid ":pep:`442` -- Safe object finalization" @@ -2541,10 +3548,13 @@ msgstr "" #: ../../whatsnew/3.4.rst:1852 msgid "" -"The PEP adds additional fields to the :attr:`sys.hash_info` named tuple to " +"The PEP adds additional fields to the :data:`sys.hash_info` named tuple to " "describe the hash algorithm in use by the currently executing binary. " "Otherwise, the PEP does not alter any existing CPython APIs." msgstr "" +"The PEP adds additional fields to the :data:`sys.hash_info` named tuple to " +"describe the hash algorithm in use by the currently executing binary. " +"Otherwise, the PEP does not alter any existing CPython APIs." #: ../../whatsnew/3.4.rst:1860 msgid "PEP 436: Argument Clinic" @@ -2658,45 +3668,49 @@ msgstr "" #: ../../whatsnew/3.4.rst:1910 msgid "" -"New function :c:func:`PyStructSequence_InitType2` supplements the existing :" -"c:func:`PyStructSequence_InitType` function. The difference is that it " -"returns ``0`` on success and ``-1`` on failure." +"New function :c:func:`PyStructSequence_InitType2` supplements the " +"existing :c:func:`PyStructSequence_InitType` function. The difference is " +"that it returns ``0`` on success and ``-1`` on failure." msgstr "" -"New function :c:func:`PyStructSequence_InitType2` supplements the existing :" -"c:func:`PyStructSequence_InitType` function. The difference is that it " -"returns ``0`` on success and ``-1`` on failure." +"New function :c:func:`PyStructSequence_InitType2` supplements the " +"existing :c:func:`PyStructSequence_InitType` function. The difference is " +"that it returns ``0`` on success and ``-1`` on failure." #: ../../whatsnew/3.4.rst:1914 msgid "" "The CPython source can now be compiled using the address sanity checking " "features of recent versions of GCC and clang: the false alarms in the small " -"object allocator have been silenced. (Contributed by Dhiru Kholia in :issue:" -"`18596`.)" +"object allocator have been silenced. (Contributed by Dhiru Kholia " +"in :issue:`18596`.)" msgstr "" "The CPython source can now be compiled using the address sanity checking " "features of recent versions of GCC and clang: the false alarms in the small " -"object allocator have been silenced. (Contributed by Dhiru Kholia in :issue:" -"`18596`.)" +"object allocator have been silenced. (Contributed by Dhiru Kholia " +"in :issue:`18596`.)" #: ../../whatsnew/3.4.rst:1919 msgid "" -"The Windows build now uses `Address Space Layout Randomization `_ and `Data Execution " -"Prevention `_. " -"(Contributed by Christian Heimes in :issue:`16632`.)" +"The Windows build now uses `Address Space Layout Randomization `_ and `Data " +"Execution Prevention `_. (Contributed by Christian Heimes " +"in :issue:`16632`.)" msgstr "" -"The Windows build now uses `Address Space Layout Randomization `_ and `Data Execution " -"Prevention `_. " -"(Contributed by Christian Heimes in :issue:`16632`.)" +"The Windows build now uses `Address Space Layout Randomization `_ and `Data " +"Execution Prevention `_. (Contributed by Christian Heimes " +"in :issue:`16632`.)" #: ../../whatsnew/3.4.rst:1924 msgid "" -"New function :c:func:`PyObject_LengthHint` is the C API equivalent of :func:" -"`operator.length_hint`. (Contributed by Armin Ronacher in :issue:`16148`.)" +"New function :c:func:`PyObject_LengthHint` is the C API equivalent " +"of :func:`operator.length_hint`. (Contributed by Armin Ronacher " +"in :issue:`16148`.)" msgstr "" -"New function :c:func:`PyObject_LengthHint` is the C API equivalent of :func:" -"`operator.length_hint`. (Contributed by Armin Ronacher in :issue:`16148`.)" +"New function :c:func:`PyObject_LengthHint` is the C API equivalent " +"of :func:`operator.length_hint`. (Contributed by Armin Ronacher " +"in :issue:`16148`.)" #: ../../whatsnew/3.4.rst:1932 msgid "Other Improvements" @@ -2707,7 +3721,7 @@ msgid "" "The :ref:`python ` command has a new :ref:`option `, ``-I``, which causes it to run in \"isolated mode\", " "which means that :data:`sys.path` contains neither the script's directory " -"nor the user's ``site-packages`` directory, and all :envvar:`PYTHON*` " +"nor the user's ``site-packages`` directory, and all :envvar:`!PYTHON*` " "environment variables are ignored (it implies both ``-s`` and ``-E``). " "Other restrictions may also be applied in the future, with the goal being to " "isolate the execution of a script from the user's environment. This is " @@ -2718,13 +3732,13 @@ msgstr "" "The :ref:`python ` command has a new :ref:`option `, ``-I``, which causes it to run in \"isolated mode\", " "which means that :data:`sys.path` contains neither the script's directory " -"nor the user's ``site-packages`` directory, and all :envvar:`PYTHON*` " -"environment variables are ignored (it implies both ``-s`` and ``-E``). Other " -"restrictions may also be applied in the future, with the goal being to " -"isolate the execution of a script from the user's environment. This is " -"appropriate, for example, when Python is used to run a system script. On " +"nor the user's ``site-packages`` directory, and all :envvar:`!PYTHON*` " +"environment variables are ignored (it implies both ``-s`` and ``-E``). " +"Other restrictions may also be applied in the future, with the goal being to " +"isolate the execution of a script from the user's environment. This is " +"appropriate, for example, when Python is used to run a system script. On " "most POSIX systems it can and should be used in the ``#!`` line of system " -"scripts. (Contributed by Christian Heimes in :issue:`16499`.)" +"scripts. (Contributed by Christian Heimes in :issue:`16499`.)" #: ../../whatsnew/3.4.rst:1947 msgid "" @@ -2754,13 +3768,13 @@ msgstr "" msgid "" "The CPython Windows installer now adds ``.py`` to the :envvar:`PATHEXT` " "variable when extensions are registered, allowing users to run a python " -"script at the windows command prompt by just typing its name without the ``." -"py`` extension. (Contributed by Paul Moore in :issue:`18569`.)" +"script at the windows command prompt by just typing its name without the " +"``.py`` extension. (Contributed by Paul Moore in :issue:`18569`.)" msgstr "" "The CPython Windows installer now adds ``.py`` to the :envvar:`PATHEXT` " "variable when extensions are registered, allowing users to run a python " -"script at the windows command prompt by just typing its name without the ``." -"py`` extension. (Contributed by Paul Moore in :issue:`18569`.)" +"script at the windows command prompt by just typing its name without the " +"``.py`` extension. (Contributed by Paul Moore in :issue:`18569`.)" #: ../../whatsnew/3.4.rst:1962 msgid "" @@ -2769,16 +3783,22 @@ msgid "" "the test suite, and generate an HTML coverage report for the C codebase " "using ``gcov`` and `lcov `_." msgstr "" +"A new ``make`` target `coverage-report `_ will build python, run " +"the test suite, and generate an HTML coverage report for the C codebase " +"using ``gcov`` and `lcov `_." #: ../../whatsnew/3.4.rst:1968 msgid "" "The ``-R`` option to the :ref:`python regression test suite ` now " -"also checks for memory allocation leaks, using :func:`sys." -"getallocatedblocks()`. (Contributed by Antoine Pitrou in :issue:`13390`.)" +"also checks for memory allocation leaks, " +"using :func:`sys.getallocatedblocks()`. (Contributed by Antoine Pitrou " +"in :issue:`13390`.)" msgstr "" "The ``-R`` option to the :ref:`python regression test suite ` now " -"also checks for memory allocation leaks, using :func:`sys." -"getallocatedblocks()`. (Contributed by Antoine Pitrou in :issue:`13390`.)" +"also checks for memory allocation leaks, " +"using :func:`sys.getallocatedblocks()`. (Contributed by Antoine Pitrou " +"in :issue:`13390`.)" #: ../../whatsnew/3.4.rst:1973 msgid "``python -m`` now works with namespace packages." @@ -2808,23 +3828,23 @@ msgstr "" msgid "" "A new opcode, :opcode:`LOAD_CLASSDEREF`, has been added to fix a bug in the " "loading of free variables in class bodies that could be triggered by certain " -"uses of :ref:`__prepare__ `. (Contributed by Benjamin Peterson in :" -"issue:`17853`.)" +"uses of :ref:`__prepare__ `. (Contributed by Benjamin Peterson " +"in :issue:`17853`.)" msgstr "" "A new opcode, :opcode:`LOAD_CLASSDEREF`, has been added to fix a bug in the " "loading of free variables in class bodies that could be triggered by certain " -"uses of :ref:`__prepare__ `. (Contributed by Benjamin Peterson in :" -"issue:`17853`.)" +"uses of :ref:`__prepare__ `. (Contributed by Benjamin Peterson " +"in :issue:`17853`.)" #: ../../whatsnew/3.4.rst:1988 msgid "" "A number of MemoryError-related crashes were identified and fixed by Victor " -"Stinner using his :pep:`445`-based ``pyfailmalloc`` tool (:issue:`18408`, :" -"issue:`18520`)." +"Stinner using his :pep:`445`-based ``pyfailmalloc`` tool " +"(:issue:`18408`, :issue:`18520`)." msgstr "" "A number of MemoryError-related crashes were identified and fixed by Victor " -"Stinner using his :pep:`445`-based ``pyfailmalloc`` tool (:issue:`18408`, :" -"issue:`18520`)." +"Stinner using his :pep:`445`-based ``pyfailmalloc`` tool " +"(:issue:`18408`, :issue:`18520`)." #: ../../whatsnew/3.4.rst:1992 msgid "" @@ -2850,15 +3870,15 @@ msgstr "" #: ../../whatsnew/3.4.rst:2001 msgid "" -"The encoding name is now optional in the value set for the :envvar:" -"`PYTHONIOENCODING` environment variable. This makes it possible to set just " -"the error handler, without changing the default encoding. (Contributed by " -"Serhiy Storchaka in :issue:`18818`.)" +"The encoding name is now optional in the value set for " +"the :envvar:`PYTHONIOENCODING` environment variable. This makes it possible " +"to set just the error handler, without changing the default encoding. " +"(Contributed by Serhiy Storchaka in :issue:`18818`.)" msgstr "" -"The encoding name is now optional in the value set for the :envvar:" -"`PYTHONIOENCODING` environment variable. This makes it possible to set just " -"the error handler, without changing the default encoding. (Contributed by " -"Serhiy Storchaka in :issue:`18818`.)" +"The encoding name is now optional in the value set for " +"the :envvar:`PYTHONIOENCODING` environment variable. This makes it possible " +"to set just the error handler, without changing the default encoding. " +"(Contributed by Serhiy Storchaka in :issue:`18818`.)" #: ../../whatsnew/3.4.rst:2006 msgid "" @@ -2907,20 +3927,22 @@ msgstr "" #: ../../whatsnew/3.4.rst:2028 msgid "" "The interpreter starts about 30% faster. A couple of measures lead to the " -"speedup. The interpreter loads fewer modules on startup, e.g. the :mod:" -"`re`, :mod:`collections` and :mod:`locale` modules and their dependencies " -"are no longer imported by default. The marshal module has been improved to " -"load compiled Python code faster. (Contributed by Antoine Pitrou, Christian " -"Heimes and Victor Stinner in :issue:`19219`, :issue:`19218`, :issue:" -"`19209`, :issue:`19205` and :issue:`9548`.)" +"speedup. The interpreter loads fewer modules on startup, e.g. " +"the :mod:`re`, :mod:`collections` and :mod:`locale` modules and their " +"dependencies are no longer imported by default. The marshal module has been " +"improved to load compiled Python code faster. (Contributed by Antoine " +"Pitrou, Christian Heimes and Victor Stinner " +"in :issue:`19219`, :issue:`19218`, :issue:`19209`, :issue:`19205` " +"and :issue:`9548`.)" msgstr "" "The interpreter starts about 30% faster. A couple of measures lead to the " -"speedup. The interpreter loads fewer modules on startup, e.g. the :mod:" -"`re`, :mod:`collections` and :mod:`locale` modules and their dependencies " -"are no longer imported by default. The marshal module has been improved to " -"load compiled Python code faster. (Contributed by Antoine Pitrou, Christian " -"Heimes and Victor Stinner in :issue:`19219`, :issue:`19218`, :issue:" -"`19209`, :issue:`19205` and :issue:`9548`.)" +"speedup. The interpreter loads fewer modules on startup, e.g. " +"the :mod:`re`, :mod:`collections` and :mod:`locale` modules and their " +"dependencies are no longer imported by default. The marshal module has been " +"improved to load compiled Python code faster. (Contributed by Antoine " +"Pitrou, Christian Heimes and Victor Stinner " +"in :issue:`19219`, :issue:`19218`, :issue:`19209`, :issue:`19205` " +"and :issue:`9548`.)" #: ../../whatsnew/3.4.rst:2036 msgid "" @@ -2964,11 +3986,11 @@ msgstr "" #: ../../whatsnew/3.4.rst:2052 msgid "" -":func:`html.escape` is now 10x faster. (Contributed by Matt Bryant in :" -"issue:`18020`.)" +":func:`html.escape` is now 10x faster. (Contributed by Matt Bryant " +"in :issue:`18020`.)" msgstr "" -":func:`html.escape` is now 10x faster. (Contributed by Matt Bryant in :issue:" -"`18020`.)" +":func:`html.escape` is now 10x faster. (Contributed by Matt Bryant " +"in :issue:`18020`.)" #: ../../whatsnew/3.4.rst:2055 msgid "" @@ -2986,6 +4008,9 @@ msgid "" "to avoid using many file descriptors when run in parallel from multiple " "threads. (Contributed by Antoine Pitrou in :issue:`18756`.)" msgstr "" +":func:`os.urandom` now uses a lazily opened persistent file descriptor so as " +"to avoid using many file descriptors when run in parallel from multiple " +"threads. (Contributed by Antoine Pitrou in :issue:`18756`.)" #: ../../whatsnew/3.4.rst:2067 msgid "Deprecated" @@ -2995,15 +4020,15 @@ msgstr "Descontinuados" msgid "" "This section covers various APIs and other features that have been " "deprecated in Python 3.4, and will be removed in Python 3.5 or later. In " -"most (but not all) cases, using the deprecated APIs will produce a :exc:" -"`DeprecationWarning` when the interpreter is run with deprecation warnings " -"enabled (for example, by using ``-Wd``)." +"most (but not all) cases, using the deprecated APIs will produce " +"a :exc:`DeprecationWarning` when the interpreter is run with deprecation " +"warnings enabled (for example, by using ``-Wd``)." msgstr "" "This section covers various APIs and other features that have been " "deprecated in Python 3.4, and will be removed in Python 3.5 or later. In " -"most (but not all) cases, using the deprecated APIs will produce a :exc:" -"`DeprecationWarning` when the interpreter is run with deprecation warnings " -"enabled (for example, by using ``-Wd``)." +"most (but not all) cases, using the deprecated APIs will produce " +"a :exc:`DeprecationWarning` when the interpreter is run with deprecation " +"warnings enabled (for example, by using ``-Wd``)." #: ../../whatsnew/3.4.rst:2077 msgid "Deprecations in the Python API" @@ -3013,43 +4038,24 @@ msgstr "Deprecations in the Python API" msgid "" "As mentioned in :ref:`whatsnew-pep-451`, a number of :mod:`importlib` " "methods and functions are deprecated: :meth:`importlib.find_loader` is " -"replaced by :func:`importlib.util.find_spec`; :meth:`importlib.machinery." -"PathFinder.find_module` is replaced by :meth:`importlib.machinery.PathFinder." -"find_spec`; :meth:`importlib.abc.MetaPathFinder.find_module` is replaced by :" -"meth:`importlib.abc.MetaPathFinder.find_spec`; :meth:`importlib.abc." -"PathEntryFinder.find_loader` and :meth:`~importlib.abc.PathEntryFinder." -"find_module` are replaced by :meth:`importlib.abc.PathEntryFinder." -"find_spec`; all of the ``xxxLoader`` ABC ``load_module`` methods (:meth:" -"`importlib.abc.Loader.load_module`, :meth:`importlib.abc.InspectLoader." -"load_module`, :meth:`importlib.abc.FileLoader.load_module`, :meth:`importlib." -"abc.SourceLoader.load_module`) should no longer be implemented, instead " -"loaders should implement an ``exec_module`` method (:meth:`importlib.abc." -"Loader.exec_module`, :meth:`importlib.abc.InspectLoader.exec_module` :meth:" -"`importlib.abc.SourceLoader.exec_module`) and let the import system take " -"care of the rest; and :meth:`importlib.abc.Loader.module_repr`, :meth:" -"`importlib.util.module_for_loader`, :meth:`importlib.util.set_loader`, and :" -"meth:`importlib.util.set_package` are no longer needed because their " +"replaced " +"by :func:`importlib.util.find_spec`; :meth:`importlib.machinery.PathFinder.find_module` " +"is replaced " +"by :meth:`importlib.machinery.PathFinder.find_spec`; :meth:`importlib.abc.MetaPathFinder.find_module` " +"is replaced " +"by :meth:`importlib.abc.MetaPathFinder.find_spec`; :meth:`importlib.abc.PathEntryFinder.find_loader` " +"and :meth:`~importlib.abc.PathEntryFinder.find_module` are replaced " +"by :meth:`importlib.abc.PathEntryFinder.find_spec`; all of the :samp:`{xxx}" +"Loader` ABC ``load_module`` methods " +"(:meth:`importlib.abc.Loader.load_module`, :meth:`importlib.abc.InspectLoader.load_module`, :meth:`importlib.abc.FileLoader.load_module`, :meth:`importlib.abc.SourceLoader.load_module`) " +"should no longer be implemented, instead loaders should implement an " +"``exec_module`` method " +"(:meth:`importlib.abc.Loader.exec_module`, :meth:`importlib.abc.InspectLoader.exec_module` :meth:`importlib.abc.SourceLoader.exec_module`) " +"and let the import system take care of the rest; " +"and :meth:`importlib.abc.Loader.module_repr`, :meth:`importlib.util.module_for_loader`, :meth:`importlib.util.set_loader`, " +"and :meth:`importlib.util.set_package` are no longer needed because their " "functions are now handled automatically by the import system." msgstr "" -"As mentioned in :ref:`whatsnew-pep-451`, a number of :mod:`importlib` " -"methods and functions are deprecated: :meth:`importlib.find_loader` is " -"replaced by :func:`importlib.util.find_spec`; :meth:`importlib.machinery." -"PathFinder.find_module` is replaced by :meth:`importlib.machinery.PathFinder." -"find_spec`; :meth:`importlib.abc.MetaPathFinder.find_module` is replaced by :" -"meth:`importlib.abc.MetaPathFinder.find_spec`; :meth:`importlib.abc." -"PathEntryFinder.find_loader` and :meth:`~importlib.abc.PathEntryFinder." -"find_module` are replaced by :meth:`importlib.abc.PathEntryFinder." -"find_spec`; all of the ``xxxLoader`` ABC ``load_module`` methods (:meth:" -"`importlib.abc.Loader.load_module`, :meth:`importlib.abc.InspectLoader." -"load_module`, :meth:`importlib.abc.FileLoader.load_module`, :meth:`importlib." -"abc.SourceLoader.load_module`) should no longer be implemented, instead " -"loaders should implement an ``exec_module`` method (:meth:`importlib.abc." -"Loader.exec_module`, :meth:`importlib.abc.InspectLoader.exec_module` :meth:" -"`importlib.abc.SourceLoader.exec_module`) and let the import system take " -"care of the rest; and :meth:`importlib.abc.Loader.module_repr`, :meth:" -"`importlib.util.module_for_loader`, :meth:`importlib.util.set_loader`, and :" -"meth:`importlib.util.set_package` are no longer needed because their " -"functions are now handled automatically by the import system." #: ../../whatsnew/3.4.rst:2104 msgid "" @@ -3080,12 +4086,12 @@ msgstr "" #: ../../whatsnew/3.4.rst:2114 msgid "" "The internal ``Netrc`` class in the :mod:`ftplib` module has been documented " -"as deprecated in its docstring for quite some time. It now emits a :exc:" -"`DeprecationWarning` and will be removed completely in Python 3.5." +"as deprecated in its docstring for quite some time. It now emits " +"a :exc:`DeprecationWarning` and will be removed completely in Python 3.5." msgstr "" "The internal ``Netrc`` class in the :mod:`ftplib` module has been documented " -"as deprecated in its docstring for quite some time. It now emits a :exc:" -"`DeprecationWarning` and will be removed completely in Python 3.5." +"as deprecated in its docstring for quite some time. It now emits " +"a :exc:`DeprecationWarning` and will be removed completely in Python 3.5." #: ../../whatsnew/3.4.rst:2118 msgid "" @@ -3105,19 +4111,19 @@ msgstr "" #: ../../whatsnew/3.4.rst:2124 msgid "" -"The :mod:`plistlib` :func:`~plistlib.readPlist`, :func:`~plistlib." -"writePlist`, :func:`~plistlib.readPlistFromBytes`, and :func:`~plistlib." -"writePlistToBytes` functions are deprecated in favor of the corresponding " -"new functions :func:`~plistlib.load`, :func:`~plistlib.dump`, :func:" -"`~plistlib.loads`, and :func:`~plistlib.dumps`. :func:`~plistlib.Data` is " -"deprecated in favor of just using the :class:`bytes` constructor." +"The :mod:`plistlib` :func:`~plistlib.readPlist`, :func:`~plistlib.writePlist`, :func:`~plistlib.readPlistFromBytes`, " +"and :func:`~plistlib.writePlistToBytes` functions are deprecated in favor of " +"the corresponding new " +"functions :func:`~plistlib.load`, :func:`~plistlib.dump`, :func:`~plistlib.loads`, " +"and :func:`~plistlib.dumps`. :func:`~plistlib.Data` is deprecated in favor " +"of just using the :class:`bytes` constructor." msgstr "" -"The :mod:`plistlib` :func:`~plistlib.readPlist`, :func:`~plistlib." -"writePlist`, :func:`~plistlib.readPlistFromBytes`, and :func:`~plistlib." -"writePlistToBytes` functions are deprecated in favor of the corresponding " -"new functions :func:`~plistlib.load`, :func:`~plistlib.dump`, :func:" -"`~plistlib.loads`, and :func:`~plistlib.dumps`. :func:`~plistlib.Data` is " -"deprecated in favor of just using the :class:`bytes` constructor." +"The :mod:`plistlib` :func:`~plistlib.readPlist`, :func:`~plistlib.writePlist`, :func:`~plistlib.readPlistFromBytes`, " +"and :func:`~plistlib.writePlistToBytes` functions are deprecated in favor of " +"the corresponding new " +"functions :func:`~plistlib.load`, :func:`~plistlib.dump`, :func:`~plistlib.loads`, " +"and :func:`~plistlib.dumps`. :func:`~plistlib.Data` is deprecated in favor " +"of just using the :class:`bytes` constructor." #: ../../whatsnew/3.4.rst:2131 msgid "" @@ -3142,14 +4148,14 @@ msgstr "" #: ../../whatsnew/3.4.rst:2139 msgid "" "The *parser* argument of :func:`xml.etree.ElementTree.iterparse` has been " -"deprecated, as has the *html* argument of :func:`~xml.etree.ElementTree." -"XMLParser`. To prepare for the removal of the latter, all arguments to " -"``XMLParser`` should be passed by keyword." +"deprecated, as has the *html* argument " +"of :func:`~xml.etree.ElementTree.XMLParser`. To prepare for the removal of " +"the latter, all arguments to ``XMLParser`` should be passed by keyword." msgstr "" "The *parser* argument of :func:`xml.etree.ElementTree.iterparse` has been " -"deprecated, as has the *html* argument of :func:`~xml.etree.ElementTree." -"XMLParser`. To prepare for the removal of the latter, all arguments to " -"``XMLParser`` should be passed by keyword." +"deprecated, as has the *html* argument " +"of :func:`~xml.etree.ElementTree.XMLParser`. To prepare for the removal of " +"the latter, all arguments to ``XMLParser`` should be passed by keyword." #: ../../whatsnew/3.4.rst:2146 msgid "Deprecated Features" @@ -3223,6 +4229,9 @@ msgid "" "removed (see the `devguide `_ for suggestions " "on what to use instead)." msgstr "" +"The unmaintained ``Misc/TextMate`` and ``Misc/vim`` directories have been " +"removed (see the `devguide `_ for suggestions " +"on what to use instead)." #: ../../whatsnew/3.4.rst:2182 msgid "" @@ -3235,12 +4244,12 @@ msgstr "" #: ../../whatsnew/3.4.rst:2185 msgid "" "The ``PyThreadState.tick_counter`` field has been removed; its value has " -"been meaningless since Python 3.2, when the \"new GIL\" was introduced (:" -"issue:`19199`)." +"been meaningless since Python 3.2, when the \"new GIL\" was introduced " +"(:issue:`19199`)." msgstr "" "The ``PyThreadState.tick_counter`` field has been removed; its value has " -"been meaningless since Python 3.2, when the \"new GIL\" was introduced (:" -"issue:`19199`)." +"been meaningless since Python 3.2, when the \"new GIL\" was introduced " +"(:issue:`19199`)." #: ../../whatsnew/3.4.rst:2189 msgid "" @@ -3252,13 +4261,13 @@ msgstr "" #: ../../whatsnew/3.4.rst:2192 msgid "" -"The *strict* argument to :class:`~http.client.HTTPConnection` and :class:" -"`~http.client.HTTPSConnection` has been removed. HTTP 0.9-style \"Simple " -"Responses\" are no longer supported." +"The *strict* argument to :class:`~http.client.HTTPConnection` " +"and :class:`~http.client.HTTPSConnection` has been removed. HTTP 0.9-style " +"\"Simple Responses\" are no longer supported." msgstr "" -"The *strict* argument to :class:`~http.client.HTTPConnection` and :class:" -"`~http.client.HTTPSConnection` has been removed. HTTP 0.9-style \"Simple " -"Responses\" are no longer supported." +"The *strict* argument to :class:`~http.client.HTTPConnection` " +"and :class:`~http.client.HTTPSConnection` has been removed. HTTP 0.9-style " +"\"Simple Responses\" are no longer supported." #: ../../whatsnew/3.4.rst:2196 msgid "" @@ -3274,11 +4283,11 @@ msgstr "" #: ../../whatsnew/3.4.rst:2201 msgid "" -"Support for loading the deprecated ``TYPE_INT64`` has been removed from :mod:" -"`marshal`. (Contributed by Dan Riti in :issue:`15480`.)" +"Support for loading the deprecated ``TYPE_INT64`` has been removed " +"from :mod:`marshal`. (Contributed by Dan Riti in :issue:`15480`.)" msgstr "" -"Support for loading the deprecated ``TYPE_INT64`` has been removed from :mod:" -"`marshal`. (Contributed by Dan Riti in :issue:`15480`.)" +"Support for loading the deprecated ``TYPE_INT64`` has been removed " +"from :mod:`marshal`. (Contributed by Dan Riti in :issue:`15480`.)" #: ../../whatsnew/3.4.rst:2204 msgid "" @@ -3296,8 +4305,8 @@ msgid "" "situation where previously working (but incorrect) code would start failing " "if an object gained a __format__ method, which means that your code may now " "raise a :exc:`TypeError` if you are using an ``'s'`` format code with " -"objects that do not have a __format__ method that handles it. See :issue:" -"`7994` for background." +"objects that do not have a __format__ method that handles it. " +"See :issue:`7994` for background." msgstr "" ":meth:`object.__format__` no longer accepts non-empty format strings, it now " "raises a :exc:`TypeError` instead. Using a non-empty string has been " @@ -3305,20 +4314,20 @@ msgstr "" "situation where previously working (but incorrect) code would start failing " "if an object gained a __format__ method, which means that your code may now " "raise a :exc:`TypeError` if you are using an ``'s'`` format code with " -"objects that do not have a __format__ method that handles it. See :issue:" -"`7994` for background." +"objects that do not have a __format__ method that handles it. " +"See :issue:`7994` for background." #: ../../whatsnew/3.4.rst:2216 msgid "" -":meth:`difflib.SequenceMatcher.isbjunk` and :meth:`difflib.SequenceMatcher." -"isbpopular` were deprecated in 3.2, and have now been removed: use ``x in sm." -"bjunk`` and ``x in sm.bpopular``, where *sm* is a :class:`~difflib." -"SequenceMatcher` object (:issue:`13248`)." +":meth:`difflib.SequenceMatcher.isbjunk` " +"and :meth:`difflib.SequenceMatcher.isbpopular` were deprecated in 3.2, and " +"have now been removed: use ``x in sm.bjunk`` and ``x in sm.bpopular``, where " +"*sm* is a :class:`~difflib.SequenceMatcher` object (:issue:`13248`)." msgstr "" -":meth:`difflib.SequenceMatcher.isbjunk` and :meth:`difflib.SequenceMatcher." -"isbpopular` were deprecated in 3.2, and have now been removed: use ``x in sm." -"bjunk`` and ``x in sm.bpopular``, where *sm* is a :class:`~difflib." -"SequenceMatcher` object (:issue:`13248`)." +":meth:`difflib.SequenceMatcher.isbjunk` " +"and :meth:`difflib.SequenceMatcher.isbpopular` were deprecated in 3.2, and " +"have now been removed: use ``x in sm.bjunk`` and ``x in sm.bpopular``, where " +"*sm* is a :class:`~difflib.SequenceMatcher` object (:issue:`13248`)." #: ../../whatsnew/3.4.rst:2224 msgid "Code Cleanups" @@ -3371,20 +4380,20 @@ msgstr "Changes in 'python' Command Behavior" #: ../../whatsnew/3.4.rst:2249 msgid "" "In a posix shell, setting the :envvar:`PATH` environment variable to an " -"empty value is equivalent to not setting it at all. However, setting :" -"envvar:`PYTHONPATH` to an empty value was *not* equivalent to not setting it " -"at all: setting :envvar:`PYTHONPATH` to an empty value was equivalent to " -"setting it to ``.``, which leads to confusion when reasoning by analogy to " -"how :envvar:`PATH` works. The behavior now conforms to the posix convention " -"for :envvar:`PATH`." +"empty value is equivalent to not setting it at all. However, " +"setting :envvar:`PYTHONPATH` to an empty value was *not* equivalent to not " +"setting it at all: setting :envvar:`PYTHONPATH` to an empty value was " +"equivalent to setting it to ``.``, which leads to confusion when reasoning " +"by analogy to how :envvar:`PATH` works. The behavior now conforms to the " +"posix convention for :envvar:`PATH`." msgstr "" "In a posix shell, setting the :envvar:`PATH` environment variable to an " -"empty value is equivalent to not setting it at all. However, setting :envvar:" -"`PYTHONPATH` to an empty value was *not* equivalent to not setting it at " -"all: setting :envvar:`PYTHONPATH` to an empty value was equivalent to " -"setting it to ``.``, which leads to confusion when reasoning by analogy to " -"how :envvar:`PATH` works. The behavior now conforms to the posix convention " -"for :envvar:`PATH`." +"empty value is equivalent to not setting it at all. However, " +"setting :envvar:`PYTHONPATH` to an empty value was *not* equivalent to not " +"setting it at all: setting :envvar:`PYTHONPATH` to an empty value was " +"equivalent to setting it to ``.``, which leads to confusion when reasoning " +"by analogy to how :envvar:`PATH` works. The behavior now conforms to the " +"posix convention for :envvar:`PATH`." #: ../../whatsnew/3.4.rst:2257 msgid "" @@ -3413,27 +4422,29 @@ msgstr "Alterações na API Python" #: ../../whatsnew/3.4.rst:2269 msgid "" "The ABCs defined in :mod:`importlib.abc` now either raise the appropriate " -"exception or return a default value instead of raising :exc:" -"`NotImplementedError` blindly. This will only affect code calling :func:" -"`super` and falling through all the way to the ABCs. For compatibility, " -"catch both :exc:`NotImplementedError` or the appropriate exception as needed." +"exception or return a default value instead of " +"raising :exc:`NotImplementedError` blindly. This will only affect code " +"calling :func:`super` and falling through all the way to the ABCs. For " +"compatibility, catch both :exc:`NotImplementedError` or the appropriate " +"exception as needed." msgstr "" "The ABCs defined in :mod:`importlib.abc` now either raise the appropriate " -"exception or return a default value instead of raising :exc:" -"`NotImplementedError` blindly. This will only affect code calling :func:" -"`super` and falling through all the way to the ABCs. For compatibility, " -"catch both :exc:`NotImplementedError` or the appropriate exception as needed." +"exception or return a default value instead of " +"raising :exc:`NotImplementedError` blindly. This will only affect code " +"calling :func:`super` and falling through all the way to the ABCs. For " +"compatibility, catch both :exc:`NotImplementedError` or the appropriate " +"exception as needed." #: ../../whatsnew/3.4.rst:2275 msgid "" -"The module type now initializes the :attr:`__package__` and :attr:" -"`__loader__` attributes to ``None`` by default. To determine if these " -"attributes were set in a backwards-compatible fashion, use e.g. " +"The module type now initializes the :attr:`__package__` " +"and :attr:`__loader__` attributes to ``None`` by default. To determine if " +"these attributes were set in a backwards-compatible fashion, use e.g. " "``getattr(module, '__loader__', None) is not None``. (:issue:`17115`.)" msgstr "" -"The module type now initializes the :attr:`__package__` and :attr:" -"`__loader__` attributes to ``None`` by default. To determine if these " -"attributes were set in a backwards-compatible fashion, use e.g. " +"The module type now initializes the :attr:`__package__` " +"and :attr:`__loader__` attributes to ``None`` by default. To determine if " +"these attributes were set in a backwards-compatible fashion, use e.g. " "``getattr(module, '__loader__', None) is not None``. (:issue:`17115`.)" #: ../../whatsnew/3.4.rst:2280 @@ -3482,17 +4493,17 @@ msgid "" "incorrect for frozen modules to set the attribute as they are not loaded " "from any explicit location. If you must know that a module comes from frozen " "code then you can see if the module's ``__spec__.location`` is set to " -"``'frozen'``, check if the loader is a subclass of :class:`importlib." -"machinery.FrozenImporter`, or if Python 2 compatibility is necessary you can " -"use :func:`imp.is_frozen`." +"``'frozen'``, check if the loader is a subclass " +"of :class:`importlib.machinery.FrozenImporter`, or if Python 2 compatibility " +"is necessary you can use :func:`imp.is_frozen`." msgstr "" "Frozen modules no longer define a ``__file__`` attribute. It's semantically " "incorrect for frozen modules to set the attribute as they are not loaded " "from any explicit location. If you must know that a module comes from frozen " "code then you can see if the module's ``__spec__.location`` is set to " -"``'frozen'``, check if the loader is a subclass of :class:`importlib." -"machinery.FrozenImporter`, or if Python 2 compatibility is necessary you can " -"use :func:`imp.is_frozen`." +"``'frozen'``, check if the loader is a subclass " +"of :class:`importlib.machinery.FrozenImporter`, or if Python 2 compatibility " +"is necessary you can use :func:`imp.is_frozen`." #: ../../whatsnew/3.4.rst:2305 msgid "" @@ -3508,23 +4519,23 @@ msgstr "" #: ../../whatsnew/3.4.rst:2310 msgid "" -":meth:`importlib.abc.SourceLoader.get_source` no longer raises :exc:" -"`ImportError` when the source code being loaded triggers a :exc:" -"`SyntaxError` or :exc:`UnicodeDecodeError`. As :exc:`ImportError` is meant " -"to be raised only when source code cannot be found but it should, it was " -"felt to be over-reaching/overloading of that meaning when the source code is " -"found but improperly structured. If you were catching ImportError before and " -"wish to continue to ignore syntax or decoding issues, catch all three " -"exceptions now." -msgstr "" -":meth:`importlib.abc.SourceLoader.get_source` no longer raises :exc:" -"`ImportError` when the source code being loaded triggers a :exc:" -"`SyntaxError` or :exc:`UnicodeDecodeError`. As :exc:`ImportError` is meant " -"to be raised only when source code cannot be found but it should, it was " -"felt to be over-reaching/overloading of that meaning when the source code is " -"found but improperly structured. If you were catching ImportError before and " -"wish to continue to ignore syntax or decoding issues, catch all three " -"exceptions now." +":meth:`importlib.abc.SourceLoader.get_source` no longer " +"raises :exc:`ImportError` when the source code being loaded triggers " +"a :exc:`SyntaxError` or :exc:`UnicodeDecodeError`. As :exc:`ImportError` is " +"meant to be raised only when source code cannot be found but it should, it " +"was felt to be over-reaching/overloading of that meaning when the source " +"code is found but improperly structured. If you were catching ImportError " +"before and wish to continue to ignore syntax or decoding issues, catch all " +"three exceptions now." +msgstr "" +":meth:`importlib.abc.SourceLoader.get_source` no longer " +"raises :exc:`ImportError` when the source code being loaded triggers " +"a :exc:`SyntaxError` or :exc:`UnicodeDecodeError`. As :exc:`ImportError` is " +"meant to be raised only when source code cannot be found but it should, it " +"was felt to be over-reaching/overloading of that meaning when the source " +"code is found but improperly structured. If you were catching ImportError " +"before and wish to continue to ignore syntax or decoding issues, catch all " +"three exceptions now." #: ../../whatsnew/3.4.rst:2319 msgid "" @@ -3537,30 +4548,33 @@ msgid "" "behaviour was intentional can use :func:`inspect.unwrap` to access the first " "function in the chain that has no ``__wrapped__`` attribute." msgstr "" -":func:`functools.update_wrapper` and :func:`functools.wraps` now correctly " -"set the ``__wrapped__`` attribute to the function being wrapped, even if " -"that function also had its ``__wrapped__`` attribute set. This means " -"``__wrapped__`` attributes now correctly link a stack of decorated functions " -"rather than every ``__wrapped__`` attribute in the chain referring to the " -"innermost function. Introspection libraries that assumed the previous " -"behaviour was intentional can use :func:`inspect.unwrap` to access the first " -"function in the chain that has no ``__wrapped__`` attribute." +":func:`functools.update_wrapper` e :func:`functools.wraps` agora definem " +"corretamente o atributo ``__wrapped__`` para a função que está sendo " +"empacotada, mesmo que essa função também tenha seu atributo ``__wrapped__`` " +"definido. Isso significa que os atributos ``__wrapped__`` agora vinculam " +"corretamente uma pilha de funções decoradas em vez de cada atributo " +"``__wrapped__`` na cadeia referente à função mais interna. Bibliotecas de " +"introspecção que presumiam que o comportamento anterior foi intencional " +"podem usar :func:`inspect.unwrap` para acessar a primeira função na cadeia " +"que não possui nenhum atributo ``__wrapped__``." #: ../../whatsnew/3.4.rst:2329 msgid "" -":func:`inspect.getfullargspec` has been reimplemented on top of :func:" -"`inspect.signature` and hence handles a much wider variety of callable " -"objects than it did in the past. It is expected that additional builtin and " -"extension module callables will gain signature metadata over the course of " -"the Python 3.4 series. Code that assumes that :func:`inspect.getfullargspec` " -"will fail on non-Python callables may need to be adjusted accordingly." -msgstr "" -":func:`inspect.getfullargspec` has been reimplemented on top of :func:" -"`inspect.signature` and hence handles a much wider variety of callable " -"objects than it did in the past. It is expected that additional builtin and " -"extension module callables will gain signature metadata over the course of " -"the Python 3.4 series. Code that assumes that :func:`inspect.getfullargspec` " -"will fail on non-Python callables may need to be adjusted accordingly." +":func:`inspect.getfullargspec` has been reimplemented on top " +"of :func:`inspect.signature` and hence handles a much wider variety of " +"callable objects than it did in the past. It is expected that additional " +"builtin and extension module callables will gain signature metadata over the " +"course of the Python 3.4 series. Code that assumes " +"that :func:`inspect.getfullargspec` will fail on non-Python callables may " +"need to be adjusted accordingly." +msgstr "" +":func:`inspect.getfullargspec` foi reimplementada em cima " +"de :func:`inspect.signature` e, portanto, lida com uma variedade muito maior " +"de objetos que podem ser chamados do que no passado. Espera-se que chamáveis " +"adicionais de módulos embutidos e de extensão ganhem metadados de assinatura " +"ao longo da série Python 3.4. O código que presume " +"que :func:`inspect.getfullargspec` falhará em chamáveis não-Python pode " +"precisar ser ajustado de acordo." #: ../../whatsnew/3.4.rst:2337 msgid "" @@ -3572,8 +4586,8 @@ msgid "" "working directory will also now have an absolute path, including when using " "``-m`` with the interpreter (except for ``__main__.__file__`` when a script " "has been executed directly using a relative path) (Contributed by Brett " -"Cannon in :issue:`18416`). is specified on the command-line) (:issue:" -"`18416`)." +"Cannon in :issue:`18416`). is specified on the command-line) " +"(:issue:`18416`)." msgstr "" ":class:`importlib.machinery.PathFinder` now passes on the current working " "directory to objects in :data:`sys.path_hooks` for the empty string. This " @@ -3583,8 +4597,8 @@ msgstr "" "working directory will also now have an absolute path, including when using " "``-m`` with the interpreter (except for ``__main__.__file__`` when a script " "has been executed directly using a relative path) (Contributed by Brett " -"Cannon in :issue:`18416`). is specified on the command-line) (:issue:" -"`18416`)." +"Cannon in :issue:`18416`). is specified on the command-line) " +"(:issue:`18416`)." #: ../../whatsnew/3.4.rst:2348 msgid "" @@ -3605,104 +4619,108 @@ msgid "" "Strings between ``from __future__ import ...`` statements now *always* raise " "a :exc:`SyntaxError`. Previously if there was no leading docstring, an " "interstitial string would sometimes be ignored. This brings CPython into " -"compliance with the language spec; Jython and PyPy already were. (:issue:" -"`17434`)." +"compliance with the language spec; Jython and PyPy already were. " +"(:issue:`17434`)." msgstr "" "Strings between ``from __future__ import ...`` statements now *always* raise " "a :exc:`SyntaxError`. Previously if there was no leading docstring, an " "interstitial string would sometimes be ignored. This brings CPython into " -"compliance with the language spec; Jython and PyPy already were. (:issue:" -"`17434`)." +"compliance with the language spec; Jython and PyPy already were. " +"(:issue:`17434`)." #: ../../whatsnew/3.4.rst:2360 msgid "" ":meth:`ssl.SSLSocket.getpeercert` and :meth:`ssl.SSLSocket.do_handshake` now " "raise an :exc:`OSError` with ``ENOTCONN`` when the ``SSLSocket`` is not " -"connected, instead of the previous behavior of raising an :exc:" -"`AttributeError`. In addition, :meth:`~ssl.SSLSocket.getpeercert` will " -"raise a :exc:`ValueError` if the handshake has not yet been done." +"connected, instead of the previous behavior of raising " +"an :exc:`AttributeError`. In addition, :meth:`~ssl.SSLSocket.getpeercert` " +"will raise a :exc:`ValueError` if the handshake has not yet been done." msgstr "" ":meth:`ssl.SSLSocket.getpeercert` and :meth:`ssl.SSLSocket.do_handshake` now " "raise an :exc:`OSError` with ``ENOTCONN`` when the ``SSLSocket`` is not " -"connected, instead of the previous behavior of raising an :exc:" -"`AttributeError`. In addition, :meth:`~ssl.SSLSocket.getpeercert` will raise " -"a :exc:`ValueError` if the handshake has not yet been done." +"connected, instead of the previous behavior of raising " +"an :exc:`AttributeError`. In addition, :meth:`~ssl.SSLSocket.getpeercert` " +"will raise a :exc:`ValueError` if the handshake has not yet been done." #: ../../whatsnew/3.4.rst:2366 msgid "" ":func:`base64.b32decode` now raises a :exc:`binascii.Error` when the input " "string contains non-b32-alphabet characters, instead of a :exc:`TypeError`. " -"This particular :exc:`TypeError` was missed when the other :exc:" -"`TypeError`\\ s were converted. (Contributed by Serhiy Storchaka in :issue:" -"`18011`.) Note: this change was also inadvertently applied in Python 3.3.3." +"This particular :exc:`TypeError` was missed when the " +"other :exc:`TypeError`\\ s were converted. (Contributed by Serhiy Storchaka " +"in :issue:`18011`.) Note: this change was also inadvertently applied in " +"Python 3.3.3." msgstr "" ":func:`base64.b32decode` now raises a :exc:`binascii.Error` when the input " "string contains non-b32-alphabet characters, instead of a :exc:`TypeError`. " -"This particular :exc:`TypeError` was missed when the other :exc:" -"`TypeError`\\ s were converted. (Contributed by Serhiy Storchaka in :issue:" -"`18011`.) Note: this change was also inadvertently applied in Python 3.3.3." +"This particular :exc:`TypeError` was missed when the " +"other :exc:`TypeError`\\ s were converted. (Contributed by Serhiy Storchaka " +"in :issue:`18011`.) Note: this change was also inadvertently applied in " +"Python 3.3.3." #: ../../whatsnew/3.4.rst:2373 msgid "" "The :attr:`~cgi.FieldStorage.file` attribute is now automatically closed " "when the creating :class:`cgi.FieldStorage` instance is garbage collected. " -"If you were pulling the file object out separately from the :class:`cgi." -"FieldStorage` instance and not keeping the instance alive, then you should " -"either store the entire :class:`cgi.FieldStorage` instance or read the " -"contents of the file before the :class:`cgi.FieldStorage` instance is " -"garbage collected." +"If you were pulling the file object out separately from " +"the :class:`cgi.FieldStorage` instance and not keeping the instance alive, " +"then you should either store the entire :class:`cgi.FieldStorage` instance " +"or read the contents of the file before the :class:`cgi.FieldStorage` " +"instance is garbage collected." msgstr "" "The :attr:`~cgi.FieldStorage.file` attribute is now automatically closed " "when the creating :class:`cgi.FieldStorage` instance is garbage collected. " -"If you were pulling the file object out separately from the :class:`cgi." -"FieldStorage` instance and not keeping the instance alive, then you should " -"either store the entire :class:`cgi.FieldStorage` instance or read the " -"contents of the file before the :class:`cgi.FieldStorage` instance is " -"garbage collected." +"If you were pulling the file object out separately from " +"the :class:`cgi.FieldStorage` instance and not keeping the instance alive, " +"then you should either store the entire :class:`cgi.FieldStorage` instance " +"or read the contents of the file before the :class:`cgi.FieldStorage` " +"instance is garbage collected." #: ../../whatsnew/3.4.rst:2380 msgid "" "Calling ``read`` or ``write`` on a closed SSL socket now raises an " -"informative :exc:`ValueError` rather than the previous more mysterious :exc:" -"`AttributeError` (:issue:`9177`)." +"informative :exc:`ValueError` rather than the previous more " +"mysterious :exc:`AttributeError` (:issue:`9177`)." msgstr "" "Calling ``read`` or ``write`` on a closed SSL socket now raises an " -"informative :exc:`ValueError` rather than the previous more mysterious :exc:" -"`AttributeError` (:issue:`9177`)." +"informative :exc:`ValueError` rather than the previous more " +"mysterious :exc:`AttributeError` (:issue:`9177`)." #: ../../whatsnew/3.4.rst:2384 msgid "" ":meth:`slice.indices` no longer produces an :exc:`OverflowError` for huge " -"values. As a consequence of this fix, :meth:`slice.indices` now raises a :" -"exc:`ValueError` if given a negative length; previously it returned nonsense " -"values (:issue:`14794`)." +"values. As a consequence of this fix, :meth:`slice.indices` now raises " +"a :exc:`ValueError` if given a negative length; previously it returned " +"nonsense values (:issue:`14794`)." msgstr "" ":meth:`slice.indices` no longer produces an :exc:`OverflowError` for huge " -"values. As a consequence of this fix, :meth:`slice.indices` now raises a :" -"exc:`ValueError` if given a negative length; previously it returned nonsense " -"values (:issue:`14794`)." +"values. As a consequence of this fix, :meth:`slice.indices` now raises " +"a :exc:`ValueError` if given a negative length; previously it returned " +"nonsense values (:issue:`14794`)." #: ../../whatsnew/3.4.rst:2389 msgid "" "The :class:`complex` constructor, unlike the :mod:`cmath` functions, was " "incorrectly accepting :class:`float` values if an object's ``__complex__`` " -"special method returned one. This now raises a :exc:`TypeError`. (:issue:" -"`16290`.)" +"special method returned one. This now raises a :exc:`TypeError`. " +"(:issue:`16290`.)" msgstr "" "The :class:`complex` constructor, unlike the :mod:`cmath` functions, was " "incorrectly accepting :class:`float` values if an object's ``__complex__`` " -"special method returned one. This now raises a :exc:`TypeError`. (:issue:" -"`16290`.)" +"special method returned one. This now raises a :exc:`TypeError`. " +"(:issue:`16290`.)" #: ../../whatsnew/3.4.rst:2394 msgid "" -"The :class:`int` constructor in 3.2 and 3.3 erroneously accepts :class:" -"`float` values for the *base* parameter. It is unlikely anyone was doing " -"this, but if so, it will now raise a :exc:`TypeError` (:issue:`16772`)." +"The :class:`int` constructor in 3.2 and 3.3 erroneously " +"accepts :class:`float` values for the *base* parameter. It is unlikely " +"anyone was doing this, but if so, it will now raise a :exc:`TypeError` " +"(:issue:`16772`)." msgstr "" -"The :class:`int` constructor in 3.2 and 3.3 erroneously accepts :class:" -"`float` values for the *base* parameter. It is unlikely anyone was doing " -"this, but if so, it will now raise a :exc:`TypeError` (:issue:`16772`)." +"The :class:`int` constructor in 3.2 and 3.3 erroneously " +"accepts :class:`float` values for the *base* parameter. It is unlikely " +"anyone was doing this, but if so, it will now raise a :exc:`TypeError` " +"(:issue:`16772`)." #: ../../whatsnew/3.4.rst:2398 msgid "" @@ -3729,12 +4747,12 @@ msgstr "" #: ../../whatsnew/3.4.rst:2407 msgid "" "Parameter names in ``__annotations__`` dicts are now mangled properly, " -"similarly to ``__kwdefaults__``. (Contributed by Yury Selivanov in :issue:" -"`20625`.)" +"similarly to :attr:`~function.__kwdefaults__`. (Contributed by Yury " +"Selivanov in :issue:`20625`.)" msgstr "" "Parameter names in ``__annotations__`` dicts are now mangled properly, " -"similarly to ``__kwdefaults__``. (Contributed by Yury Selivanov in :issue:" -"`20625`.)" +"similarly to :attr:`~function.__kwdefaults__`. (Contributed by Yury " +"Selivanov in :issue:`20625`.)" #: ../../whatsnew/3.4.rst:2411 msgid "" @@ -3755,8 +4773,8 @@ msgid "" "isolation that :mod:`unittest` is designed to provide. However, if the lack " "of isolation is considered acceptable, the old behavior can be restored by " "creating a :mod:`~unittest.TestSuite` subclass that defines a " -"``_removeTestAtIndex`` method that does nothing (see :meth:`.TestSuite." -"__iter__`) (:issue:`11798`)." +"``_removeTestAtIndex`` method that does nothing " +"(see :meth:`.TestSuite.__iter__`) (:issue:`11798`)." msgstr "" "Because :mod:`unittest.TestSuite` now drops references to tests after they " "are run, test harnesses that re-use a :class:`~unittest.TestSuite` to re-run " @@ -3765,8 +4783,8 @@ msgstr "" "isolation that :mod:`unittest` is designed to provide. However, if the lack " "of isolation is considered acceptable, the old behavior can be restored by " "creating a :mod:`~unittest.TestSuite` subclass that defines a " -"``_removeTestAtIndex`` method that does nothing (see :meth:`.TestSuite." -"__iter__`) (:issue:`11798`)." +"``_removeTestAtIndex`` method that does nothing " +"(see :meth:`.TestSuite.__iter__`) (:issue:`11798`)." #: ../../whatsnew/3.4.rst:2425 msgid "" @@ -3810,14 +4828,14 @@ msgid "" "The new *convert_charrefs* argument to :class:`~html.parser.HTMLParser` " "currently defaults to ``False`` for backward compatibility, but will " "eventually be changed to default to ``True``. It is recommended that you " -"add this keyword, with the appropriate value, to any :class:`~html.parser." -"HTMLParser` calls in your code (:issue:`13633`)." +"add this keyword, with the appropriate value, to " +"any :class:`~html.parser.HTMLParser` calls in your code (:issue:`13633`)." msgstr "" "The new *convert_charrefs* argument to :class:`~html.parser.HTMLParser` " "currently defaults to ``False`` for backward compatibility, but will " "eventually be changed to default to ``True``. It is recommended that you add " -"this keyword, with the appropriate value, to any :class:`~html.parser." -"HTMLParser` calls in your code (:issue:`13633`)." +"this keyword, with the appropriate value, to " +"any :class:`~html.parser.HTMLParser` calls in your code (:issue:`13633`)." #: ../../whatsnew/3.4.rst:2446 msgid "" @@ -3847,15 +4865,15 @@ msgid "" "is ineffective in Python3 and will eventually raise an error if used. " "Depending on the function, the equivalent of its old Python2 behavior can be " "achieved using either a *newline* argument, or if necessary by wrapping the " -"stream in :mod:`~io.TextIOWrapper` to use its *newline* argument (:issue:" -"`15204`)." +"stream in :mod:`~io.TextIOWrapper` to use its *newline* argument " +"(:issue:`15204`)." msgstr "" "Any calls to ``open`` functions that specify ``U`` should be modified. ``U`` " "is ineffective in Python3 and will eventually raise an error if used. " "Depending on the function, the equivalent of its old Python2 behavior can be " "achieved using either a *newline* argument, or if necessary by wrapping the " -"stream in :mod:`~io.TextIOWrapper` to use its *newline* argument (:issue:" -"`15204`)." +"stream in :mod:`~io.TextIOWrapper` to use its *newline* argument " +"(:issue:`15204`)." #: ../../whatsnew/3.4.rst:2462 msgid "" @@ -3895,17 +4913,17 @@ msgstr "" msgid "" "The :mod:`collections.abc` module has been slightly refactored as part of " "the Python startup improvements. As a consequence of this, it is no longer " -"the case that importing :mod:`collections` automatically imports :mod:" -"`collections.abc`. If your program depended on the (undocumented) implicit " -"import, you will need to add an explicit ``import collections.abc`` (:issue:" -"`20784`)." +"the case that importing :mod:`collections` automatically " +"imports :mod:`collections.abc`. If your program depended on the " +"(undocumented) implicit import, you will need to add an explicit ``import " +"collections.abc`` (:issue:`20784`)." msgstr "" "The :mod:`collections.abc` module has been slightly refactored as part of " "the Python startup improvements. As a consequence of this, it is no longer " -"the case that importing :mod:`collections` automatically imports :mod:" -"`collections.abc`. If your program depended on the (undocumented) implicit " -"import, you will need to add an explicit ``import collections.abc`` (:issue:" -"`20784`)." +"the case that importing :mod:`collections` automatically " +"imports :mod:`collections.abc`. If your program depended on the " +"(undocumented) implicit import, you will need to add an explicit ``import " +"collections.abc`` (:issue:`20784`)." #: ../../whatsnew/3.4.rst:2486 msgid "Changes in the C API" @@ -3913,27 +4931,27 @@ msgstr "Alterações na API C" #: ../../whatsnew/3.4.rst:2488 msgid "" -":c:func:`PyEval_EvalFrameEx`, :c:func:`PyObject_Repr`, and :c:func:" -"`PyObject_Str`, along with some other internal C APIs, now include a " -"debugging assertion that ensures they are not used in situations where they " -"may silently discard a currently active exception. In cases where discarding " -"the active exception is expected and desired (for example, because it has " -"already been saved locally with :c:func:`PyErr_Fetch` or is being " -"deliberately replaced with a different exception), an explicit :c:func:" -"`PyErr_Clear` call will be needed to avoid triggering the assertion when " -"invoking these operations (directly or indirectly) and running against a " -"version of Python that is compiled with assertions enabled." -msgstr "" -":c:func:`PyEval_EvalFrameEx`, :c:func:`PyObject_Repr`, and :c:func:" -"`PyObject_Str`, along with some other internal C APIs, now include a " -"debugging assertion that ensures they are not used in situations where they " -"may silently discard a currently active exception. In cases where discarding " -"the active exception is expected and desired (for example, because it has " -"already been saved locally with :c:func:`PyErr_Fetch` or is being " -"deliberately replaced with a different exception), an explicit :c:func:" -"`PyErr_Clear` call will be needed to avoid triggering the assertion when " -"invoking these operations (directly or indirectly) and running against a " -"version of Python that is compiled with assertions enabled." +":c:func:`PyEval_EvalFrameEx`, :c:func:`PyObject_Repr`, " +"and :c:func:`PyObject_Str`, along with some other internal C APIs, now " +"include a debugging assertion that ensures they are not used in situations " +"where they may silently discard a currently active exception. In cases where " +"discarding the active exception is expected and desired (for example, " +"because it has already been saved locally with :c:func:`PyErr_Fetch` or is " +"being deliberately replaced with a different exception), an " +"explicit :c:func:`PyErr_Clear` call will be needed to avoid triggering the " +"assertion when invoking these operations (directly or indirectly) and " +"running against a version of Python that is compiled with assertions enabled." +msgstr "" +":c:func:`PyEval_EvalFrameEx`, :c:func:`PyObject_Repr`, " +"and :c:func:`PyObject_Str`, along with some other internal C APIs, now " +"include a debugging assertion that ensures they are not used in situations " +"where they may silently discard a currently active exception. In cases where " +"discarding the active exception is expected and desired (for example, " +"because it has already been saved locally with :c:func:`PyErr_Fetch` or is " +"being deliberately replaced with a different exception), an " +"explicit :c:func:`PyErr_Clear` call will be needed to avoid triggering the " +"assertion when invoking these operations (directly or indirectly) and " +"running against a version of Python that is compiled with assertions enabled." #: ../../whatsnew/3.4.rst:2500 msgid "" @@ -3948,11 +4966,16 @@ msgstr "" #: ../../whatsnew/3.4.rst:2504 msgid "" "The result of the :c:data:`PyOS_ReadlineFunctionPointer` callback must now " -"be a string allocated by :c:func:`PyMem_RawMalloc` or :c:func:" -"`PyMem_RawRealloc`, or ``NULL`` if an error occurred, instead of a string " -"allocated by :c:func:`PyMem_Malloc` or :c:func:`PyMem_Realloc` (:issue:" -"`16742`)" +"be a string allocated by :c:func:`PyMem_RawMalloc` " +"or :c:func:`PyMem_RawRealloc`, or ``NULL`` if an error occurred, instead of " +"a string allocated by :c:func:`PyMem_Malloc` or :c:func:`PyMem_Realloc` " +"(:issue:`16742`)" msgstr "" +"The result of the :c:data:`PyOS_ReadlineFunctionPointer` callback must now " +"be a string allocated by :c:func:`PyMem_RawMalloc` " +"or :c:func:`PyMem_RawRealloc`, or ``NULL`` if an error occurred, instead of " +"a string allocated by :c:func:`PyMem_Malloc` or :c:func:`PyMem_Realloc` " +"(:issue:`16742`)" #: ../../whatsnew/3.4.rst:2510 msgid "" @@ -3960,6 +4983,9 @@ msgid "" "the function did nothing if the key already exists (if the current value is " "a non-``NULL`` pointer)." msgstr "" +":c:func:`PyThread_set_key_value` now always set the value. In Python 3.3, " +"the function did nothing if the key already exists (if the current value is " +"a non-``NULL`` pointer)." #: ../../whatsnew/3.4.rst:2514 msgid "" @@ -3979,8 +5005,8 @@ msgstr "Alterado em 3.4.3" msgid "" "PEP 476: Enabling certificate verification by default for stdlib http clients" msgstr "" -"PEP 476: Ativando a verificação de certificados por padrão para clientes " -"stdlib http" +"PEP 476: Habilitando verificação de certificado por padrão para clientes " +"http stdlib" #: ../../whatsnew/3.4.rst:2526 msgid "" @@ -4001,5 +5027,5 @@ msgid "" "For applications which require the old previous behavior, they can pass an " "alternate context::" msgstr "" -"Para aplicativos que exigem o antigo comportamento anterior, eles podem " -"passar um contexto alternativo ::" +"Para aplicações que exigem o antigo comportamento anterior, elas podem " +"passar um contexto alternativo::" diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index 9dd8cd3cd..79f92c1e0 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -1,30 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Ricardo Cappellano , 2021 -# Raphael Mendonça, 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Italo Penaforte , 2021 -# Victor Matheus Castro , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -34,7 +29,7 @@ msgstr "O que há de novo no Python 3.5" #: ../../whatsnew/3.5.rst:0 msgid "Editors" -msgstr "" +msgstr "Editores" #: ../../whatsnew/3.5.rst:5 msgid "Elvis Pranskevichus , Yury Selivanov " @@ -130,10 +125,10 @@ msgstr "Melhorias na implementação do CPython:" #: ../../whatsnew/3.5.rst:96 msgid "" -"When the ``LC_TYPE`` locale is the POSIX locale (``C`` locale), :py:data:" -"`sys.stdin` and :py:data:`sys.stdout` now use the ``surrogateescape`` error " -"handler, instead of the ``strict`` error handler. (Contributed by Victor " -"Stinner in :issue:`19977`.)" +"When the ``LC_TYPE`` locale is the POSIX locale (``C`` " +"locale), :py:data:`sys.stdin` and :py:data:`sys.stdout` now use the " +"``surrogateescape`` error handler, instead of the ``strict`` error handler. " +"(Contributed by Victor Stinner in :issue:`19977`.)" msgstr "" #: ../../whatsnew/3.5.rst:101 @@ -197,8 +192,9 @@ msgstr "Melhorias de Segurança:" #: ../../whatsnew/3.5.rst:138 msgid "" "SSLv3 is now disabled throughout the standard library. It can still be " -"enabled by instantiating a :class:`ssl.SSLContext` manually. (See :issue:" -"`22638` for more details; this change was backported to CPython 3.4 and 2.7.)" +"enabled by instantiating a :class:`ssl.SSLContext` manually. " +"(See :issue:`22638` for more details; this change was backported to CPython " +"3.4 and 2.7.)" msgstr "" #: ../../whatsnew/3.5.rst:143 @@ -297,9 +293,10 @@ msgstr "" #: ../../whatsnew/3.5.rst:253 msgid "" -"Starting with CPython 3.5.2, ``__aiter__`` can directly return :term:" -"`asynchronous iterators `. Returning an :term:" -"`awaitable` object will result in a :exc:`PendingDeprecationWarning`." +"Starting with CPython 3.5.2, ``__aiter__`` can directly " +"return :term:`asynchronous iterators `. Returning " +"an :term:`awaitable` object will result in " +"a :exc:`PendingDeprecationWarning`." msgstr "" #: ../../whatsnew/3.5.rst:259 @@ -322,8 +319,8 @@ msgstr "" msgid "" ":pep:`465` adds the ``@`` infix operator for matrix multiplication. " "Currently, no builtin Python types implement the new operator, however, it " -"can be implemented by defining :meth:`__matmul__`, :meth:`__rmatmul__`, and :" -"meth:`__imatmul__` for regular, reflected, and in-place matrix " +"can be implemented by defining :meth:`__matmul__`, :meth:`__rmatmul__`, " +"and :meth:`__imatmul__` for regular, reflected, and in-place matrix " "multiplication. The semantics of these methods is similar to that of " "methods defining other infix arithmetic operators." msgstr "" @@ -430,8 +427,8 @@ msgstr "" #: ../../whatsnew/3.5.rst:407 msgid "" -"Function annotation syntax has been a Python feature since version 3.0 (:pep:" -"`3107`), however the semantics of annotations has been left undefined." +"Function annotation syntax has been a Python feature since version 3.0 " +"(:pep:`3107`), however the semantics of annotations has been left undefined." msgstr "" #: ../../whatsnew/3.5.rst:410 @@ -457,18 +454,18 @@ msgstr "" #: ../../whatsnew/3.5.rst:425 msgid "" -"While these annotations are available at runtime through the usual :attr:" -"`__annotations__` attribute, *no automatic type checking happens at " -"runtime*. Instead, it is assumed that a separate off-line type checker (e." -"g. `mypy `_) will be used for on-demand source code " -"analysis." +"While these annotations are available at runtime through the " +"usual :attr:`__annotations__` attribute, *no automatic type checking happens " +"at runtime*. Instead, it is assumed that a separate off-line type checker " +"(e.g. `mypy `_) will be used for on-demand source " +"code analysis." msgstr "" #: ../../whatsnew/3.5.rst:431 msgid "" -"The type system supports unions, generic types, and a special type named :" -"class:`~typing.Any` which is consistent with (i.e. assignable to and from) " -"all types." +"The type system supports unions, generic types, and a special type " +"named :class:`~typing.Any` which is consistent with (i.e. assignable to and " +"from) all types." msgstr "" #: ../../whatsnew/3.5.rst:437 @@ -539,7 +536,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:481 msgid "" -"An :py:data:`errno.EINTR` error code is returned whenever a system call, " +"An :py:const:`errno.EINTR` error code is returned whenever a system call, " "that is waiting for I/O, is interrupted by a signal. Previously, Python " "would raise :exc:`InterruptedError` in such cases. This meant that, when " "writing a Python application, the developer had two choices:" @@ -591,37 +588,32 @@ msgstr "" #: ../../whatsnew/3.5.rst:519 msgid "" -":mod:`os` functions: :func:`~os.fchdir`, :func:`~os.fchmod`, :func:`~os." -"fchown`, :func:`~os.fdatasync`, :func:`~os.fstat`, :func:`~os.fstatvfs`, :" -"func:`~os.fsync`, :func:`~os.ftruncate`, :func:`~os.mkfifo`, :func:`~os." -"mknod`, :func:`~os.open`, :func:`~os.posix_fadvise`, :func:`~os." -"posix_fallocate`, :func:`~os.pread`, :func:`~os.pwrite`, :func:`~os.read`, :" -"func:`~os.readv`, :func:`~os.sendfile`, :func:`~os.wait3`, :func:`~os." -"wait4`, :func:`~os.wait`, :func:`~os.waitid`, :func:`~os.waitpid`, :func:" -"`~os.write`, :func:`~os.writev`;" +":mod:`os` " +"functions: :func:`~os.fchdir`, :func:`~os.fchmod`, :func:`~os.fchown`, :func:`~os.fdatasync`, :func:`~os.fstat`, :func:`~os.fstatvfs`, :func:`~os.fsync`, :func:`~os.ftruncate`, :func:`~os.mkfifo`, :func:`~os.mknod`, :func:`~os.open`, :func:`~os.posix_fadvise`, :func:`~os.posix_fallocate`, :func:`~os.pread`, :func:`~os.pwrite`, :func:`~os.read`, :func:`~os.readv`, :func:`~os.sendfile`, :func:`~os.wait3`, :func:`~os.wait4`, :func:`~os.wait`, :func:`~os.waitid`, :func:`~os.waitpid`, :func:`~os.write`, :func:`~os.writev`;" msgstr "" #: ../../whatsnew/3.5.rst:529 msgid "" -"special cases: :func:`os.close` and :func:`os.dup2` now ignore :py:data:" -"`~errno.EINTR` errors; the syscall is not retried (see the PEP for the " -"rationale);" +"special cases: :func:`os.close` and :func:`os.dup2` now " +"ignore :py:const:`~errno.EINTR` errors; the syscall is not retried (see the " +"PEP for the rationale);" msgstr "" #: ../../whatsnew/3.5.rst:533 msgid "" -":mod:`select` functions: :func:`devpoll.poll() `, :func:" -"`epoll.poll() `, :func:`kqueue.control() `, :func:`poll.poll() `, :func:`~select.select`;" +":mod:`select` functions: :func:`devpoll.poll() " +"`, :func:`epoll.poll() " +"`, :func:`kqueue.control() " +"`, :func:`poll.poll() " +"`, :func:`~select.select`;" msgstr "" #: ../../whatsnew/3.5.rst:538 msgid "" -"methods of the :class:`~socket.socket` class: :meth:`~socket.socket." -"accept`, :meth:`~socket.socket.connect` (except for non-blocking sockets), :" -"meth:`~socket.socket.recv`, :meth:`~socket.socket.recvfrom`, :meth:`~socket." -"socket.recvmsg`, :meth:`~socket.socket.send`, :meth:`~socket.socket." -"sendall`, :meth:`~socket.socket.sendmsg`, :meth:`~socket.socket.sendto`;" +"methods of the :class:`~socket.socket` " +"class: :meth:`~socket.socket.accept`, :meth:`~socket.socket.connect` (except " +"for non-blocking " +"sockets), :meth:`~socket.socket.recv`, :meth:`~socket.socket.recvfrom`, :meth:`~socket.socket.recvmsg`, :meth:`~socket.socket.send`, :meth:`~socket.socket.sendall`, :meth:`~socket.socket.sendmsg`, :meth:`~socket.socket.sendto`;" msgstr "" #: ../../whatsnew/3.5.rst:545 @@ -658,18 +650,18 @@ msgstr "" #: ../../whatsnew/3.5.rst:567 msgid "" ":pep:`479` changes the behavior of generators: when a ``StopIteration`` " -"exception is raised inside a generator, it is replaced with a :exc:" -"`RuntimeError` before it exits the generator frame. The main goal of this " -"change is to ease debugging in the situation where an unguarded :func:`next` " -"call raises ``StopIteration`` and causes the iteration controlled by the " -"generator to terminate silently. This is particularly pernicious in " -"combination with the ``yield from`` construct." +"exception is raised inside a generator, it is replaced with " +"a :exc:`RuntimeError` before it exits the generator frame. The main goal of " +"this change is to ease debugging in the situation where an " +"unguarded :func:`next` call raises ``StopIteration`` and causes the " +"iteration controlled by the generator to terminate silently. This is " +"particularly pernicious in combination with the ``yield from`` construct." msgstr "" #: ../../whatsnew/3.5.rst:575 msgid "" -"This is a backwards incompatible change, so to enable the new behavior, a :" -"term:`__future__` import is necessary::" +"This is a backwards incompatible change, so to enable the new behavior, " +"a :term:`__future__` import is necessary::" msgstr "" #: ../../whatsnew/3.5.rst:595 @@ -744,15 +736,15 @@ msgstr "" #: ../../whatsnew/3.5.rst:664 msgid "" -":pep:`488` does away with the concept of ``.pyo`` files. This means that ``." -"pyc`` files represent both unoptimized and optimized bytecode. To prevent " +":pep:`488` does away with the concept of ``.pyo`` files. This means that " +"``.pyc`` files represent both unoptimized and optimized bytecode. To prevent " "the need to constantly regenerate bytecode files, ``.pyc`` files now have an " "optional ``opt-`` tag in their name when the bytecode is optimized. This has " "the side-effect of no more bytecode file name clashes when running under " "either :option:`-O` or :option:`-OO`. Consequently, bytecode files generated " -"from :option:`-O`, and :option:`-OO` may now exist simultaneously. :func:" -"`importlib.util.cache_from_source` has an updated API to help with this " -"change." +"from :option:`-O`, and :option:`-OO` may now exist " +"simultaneously. :func:`importlib.util.cache_from_source` has an updated API " +"to help with this change." msgstr "" #: ../../whatsnew/3.5.rst:676 @@ -783,7 +775,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:696 msgid ":pep:`489` -- Multi-phase extension module initialization" -msgstr "" +msgstr ":pep:`489` -- Inicialização de módulo extensão multifase" #: ../../whatsnew/3.5.rst:696 msgid "" @@ -797,7 +789,7 @@ msgstr "Outras mudanças na linguagem" #: ../../whatsnew/3.5.rst:703 msgid "Some smaller changes made to the core Python language are:" -msgstr "Alguma das mudanças menores feitas no núcleo da linguagem Python são:" +msgstr "Algumas das mudanças menores feitas no núcleo da linguagem Python são:" #: ../../whatsnew/3.5.rst:705 msgid "" @@ -808,22 +800,22 @@ msgstr "" #: ../../whatsnew/3.5.rst:709 msgid "" -"The :option:`-b` option now affects comparisons of :class:`bytes` with :" -"class:`int`. (Contributed by Serhiy Storchaka in :issue:`23681`.)" +"The :option:`-b` option now affects comparisons of :class:`bytes` " +"with :class:`int`. (Contributed by Serhiy Storchaka in :issue:`23681`.)" msgstr "" #: ../../whatsnew/3.5.rst:712 msgid "" "New Kazakh ``kz1048`` and Tajik ``koi8_t`` :ref:`codecs `. (Contributed by Serhiy Storchaka in :issue:`22682` and :issue:" -"`22681`.)" +"encodings>`. (Contributed by Serhiy Storchaka in :issue:`22682` " +"and :issue:`22681`.)" msgstr "" #: ../../whatsnew/3.5.rst:715 msgid "" -"Property docstrings are now writable. This is especially useful for :func:" -"`collections.namedtuple` docstrings. (Contributed by Berker Peksag in :issue:" -"`24064`.)" +"Property docstrings are now writable. This is especially useful " +"for :func:`collections.namedtuple` docstrings. (Contributed by Berker Peksag " +"in :issue:`24064`.)" msgstr "" #: ../../whatsnew/3.5.rst:719 @@ -868,8 +860,8 @@ msgstr "" #: ../../whatsnew/3.5.rst:752 msgid "" -"The module implementation has been contributed by Paul Moore in :issue:" -"`23491`." +"The module implementation has been contributed by Paul Moore " +"in :issue:`23491`." msgstr "" #: ../../whatsnew/3.5.rst:757 @@ -886,10 +878,10 @@ msgstr "argparse" #: ../../whatsnew/3.5.rst:766 msgid "" -"The :class:`~argparse.ArgumentParser` class now allows disabling :ref:" -"`abbreviated usage ` of long options by setting :ref:" -"`allow_abbrev` to ``False``. (Contributed by Jonathan Paugh, Steven " -"Bethard, paul j3 and Daniel Eriksson in :issue:`14910`.)" +"The :class:`~argparse.ArgumentParser` class now allows " +"disabling :ref:`abbreviated usage ` of long options by " +"setting :ref:`allow_abbrev` to ``False``. (Contributed by Jonathan Paugh, " +"Steven Bethard, paul j3 and Daniel Eriksson in :issue:`14910`.)" msgstr "" #: ../../whatsnew/3.5.rst:773 @@ -899,8 +891,8 @@ msgstr "asyncio" #: ../../whatsnew/3.5.rst:775 msgid "" "Since the :mod:`asyncio` module is :term:`provisional `, " -"all changes introduced in Python 3.5 have also been backported to Python 3.4." -"x." +"all changes introduced in Python 3.5 have also been backported to Python " +"3.4.x." msgstr "" #: ../../whatsnew/3.5.rst:778 @@ -909,9 +901,9 @@ msgstr "" #: ../../whatsnew/3.5.rst:780 msgid "" -"New debugging APIs: :meth:`loop.set_debug() ` and :" -"meth:`loop.get_debug() ` methods. (Contributed by " -"Victor Stinner.)" +"New debugging APIs: :meth:`loop.set_debug() ` " +"and :meth:`loop.get_debug() ` methods. (Contributed " +"by Victor Stinner.)" msgstr "" #: ../../whatsnew/3.5.rst:784 @@ -937,23 +929,24 @@ msgstr "" #: ../../whatsnew/3.5.rst:798 msgid "" -"A new :meth:`transport.get_write_buffer_limits() ` method to inquire for *high-* and *low-* water " -"limits of the flow control. (Contributed by Victor Stinner.)" +"A new :meth:`transport.get_write_buffer_limits() " +"` method to inquire for " +"*high-* and *low-* water limits of the flow control. (Contributed by Victor " +"Stinner.)" msgstr "" #: ../../whatsnew/3.5.rst:803 msgid "" -"The :func:`~asyncio.async` function is deprecated in favor of :func:" -"`~asyncio.ensure_future`. (Contributed by Yury Selivanov.)" +"The :func:`~asyncio.async` function is deprecated in favor " +"of :func:`~asyncio.ensure_future`. (Contributed by Yury Selivanov.)" msgstr "" #: ../../whatsnew/3.5.rst:807 msgid "" -"New :meth:`loop.set_task_factory() ` and :" -"meth:`loop.get_task_factory() ` methods to " -"customize the task factory that :meth:`loop.create_task() ` method uses. (Contributed by Yury Selivanov.)" +"New :meth:`loop.set_task_factory() ` " +"and :meth:`loop.get_task_factory() ` methods " +"to customize the task factory that :meth:`loop.create_task() " +"` method uses. (Contributed by Yury Selivanov.)" msgstr "" #: ../../whatsnew/3.5.rst:814 @@ -964,8 +957,8 @@ msgstr "" #: ../../whatsnew/3.5.rst:818 msgid "" -"The ``JoinableQueue`` class was removed, in favor of the :class:`asyncio." -"Queue` class. (Contributed by Victor Stinner.)" +"The ``JoinableQueue`` class was removed, in favor of " +"the :class:`asyncio.Queue` class. (Contributed by Victor Stinner.)" msgstr "" #: ../../whatsnew/3.5.rst:822 @@ -1019,9 +1012,9 @@ msgstr "" #: ../../whatsnew/3.5.rst:850 msgid "" -"New :meth:`loop.get_exception_handler() ` method to get the current exception handler. " -"(Contributed by Yury Selivanov.)" +"New :meth:`loop.get_exception_handler() " +"` method to get the current exception " +"handler. (Contributed by Yury Selivanov.)" msgstr "" #: ../../whatsnew/3.5.rst:854 @@ -1036,8 +1029,8 @@ msgstr "" #: ../../whatsnew/3.5.rst:859 msgid "" -"The :meth:`loop.create_connection() ` and :" -"meth:`loop.create_server() ` methods are " +"The :meth:`loop.create_connection() ` " +"and :meth:`loop.create_server() ` methods are " "optimized to avoid calling the system ``getaddrinfo`` function if the " "address is already resolved. (Contributed by A. Jesse Jiryu Davis.)" msgstr "" @@ -1082,14 +1075,14 @@ msgstr "" #: ../../whatsnew/3.5.rst:893 msgid "code" -msgstr "" +msgstr "código" #: ../../whatsnew/3.5.rst:895 msgid "" -"The :func:`InteractiveInterpreter.showtraceback() ` method now prints the full chained " -"traceback, just like the interactive interpreter. (Contributed by Claudiu " -"Popa in :issue:`17442`.)" +"The :func:`InteractiveInterpreter.showtraceback() " +"` method now prints the full " +"chained traceback, just like the interactive interpreter. (Contributed by " +"Claudiu Popa in :issue:`17442`.)" msgstr "" #: ../../whatsnew/3.5.rst:901 @@ -1099,26 +1092,28 @@ msgstr "collections" #: ../../whatsnew/3.5.rst:905 msgid "" "The :class:`~collections.OrderedDict` class is now implemented in C, which " -"makes it 4 to 100 times faster. (Contributed by Eric Snow in :issue:" -"`16991`.)" +"makes it 4 to 100 times faster. (Contributed by Eric Snow " +"in :issue:`16991`.)" msgstr "" #: ../../whatsnew/3.5.rst:908 msgid "" -":meth:`OrderedDict.items() `, :meth:" -"`OrderedDict.keys() `, :meth:`OrderedDict." -"values() ` views now support :func:" -"`reversed` iteration. (Contributed by Serhiy Storchaka in :issue:`19505`.)" +":meth:`OrderedDict.items() " +"`, :meth:`OrderedDict.keys() " +"`, :meth:`OrderedDict.values() " +"` views now support :func:`reversed` " +"iteration. (Contributed by Serhiy Storchaka in :issue:`19505`.)" msgstr "" #: ../../whatsnew/3.5.rst:914 msgid "" -"The :class:`~collections.deque` class now defines :meth:`~collections.deque." -"index`, :meth:`~collections.deque.insert`, and :meth:`~collections.deque." -"copy`, and supports the ``+`` and ``*`` operators. This allows deques to be " -"recognized as a :class:`~collections.abc.MutableSequence` and improves their " -"substitutability for lists. (Contributed by Raymond Hettinger in :issue:" -"`23704`.)" +"The :class:`~collections.deque` class now " +"defines :meth:`~collections.deque.index`, :meth:`~collections.deque.insert`, " +"and :meth:`~collections.deque.copy`, and supports the ``+`` and ``*`` " +"operators. This allows deques to be recognized as " +"a :class:`~collections.abc.MutableSequence` and improves their " +"substitutability for lists. (Contributed by Raymond Hettinger " +"in :issue:`23704`.)" msgstr "" #: ../../whatsnew/3.5.rst:921 @@ -1132,11 +1127,10 @@ msgstr "" #: ../../whatsnew/3.5.rst:930 msgid "" -"The :class:`~collections.UserString` class now implements the :meth:" -"`__getnewargs__`, :meth:`__rmod__`, :meth:`~str.casefold`, :meth:`~str." -"format_map`, :meth:`~str.isprintable`, and :meth:`~str.maketrans` methods to " -"match the corresponding methods of :class:`str`. (Contributed by Joe Jevnik " -"in :issue:`22189`.)" +"The :class:`~collections.UserString` class now implements " +"the :meth:`__getnewargs__`, :meth:`__rmod__`, :meth:`~str.casefold`, :meth:`~str.format_map`, :meth:`~str.isprintable`, " +"and :meth:`~str.maketrans` methods to match the corresponding methods " +"of :class:`str`. (Contributed by Joe Jevnik in :issue:`22189`.)" msgstr "" #: ../../whatsnew/3.5.rst:938 @@ -1146,9 +1140,9 @@ msgstr "collections.abc" #: ../../whatsnew/3.5.rst:940 msgid "" "The :meth:`Sequence.index() ` method now " -"accepts *start* and *stop* arguments to match the corresponding methods of :" -"class:`tuple`, :class:`list`, etc. (Contributed by Devin Jeanpierre in :" -"issue:`23086`.)" +"accepts *start* and *stop* arguments to match the corresponding methods " +"of :class:`tuple`, :class:`list`, etc. (Contributed by Devin Jeanpierre " +"in :issue:`23086`.)" msgstr "" #: ../../whatsnew/3.5.rst:945 @@ -1159,10 +1153,9 @@ msgstr "" #: ../../whatsnew/3.5.rst:948 msgid "" -"New :class:`~collections.abc.Awaitable`, :class:`~collections.abc." -"Coroutine`, :class:`~collections.abc.AsyncIterator`, and :class:" -"`~collections.abc.AsyncIterable` abstract base classes. (Contributed by Yury " -"Selivanov in :issue:`24184`.)" +"New :class:`~collections.abc.Awaitable`, :class:`~collections.abc.Coroutine`, :class:`~collections.abc.AsyncIterator`, " +"and :class:`~collections.abc.AsyncIterable` abstract base classes. " +"(Contributed by Yury Selivanov in :issue:`24184`.)" msgstr "" #: ../../whatsnew/3.5.rst:953 @@ -1178,8 +1171,8 @@ msgstr "compileall" #: ../../whatsnew/3.5.rst:960 msgid "" "A new :mod:`compileall` option, :samp:`-j {N}`, allows running *N* workers " -"simultaneously to perform parallel bytecode compilation. The :func:" -"`~compileall.compile_dir` function has a corresponding ``workers`` " +"simultaneously to perform parallel bytecode compilation. " +"The :func:`~compileall.compile_dir` function has a corresponding ``workers`` " "parameter. (Contributed by Claudiu Popa in :issue:`16104`.)" msgstr "" @@ -1193,10 +1186,11 @@ msgstr "" msgid "" "The ``-q`` command line option can now be specified more than once, in which " "case all output, including errors, will be suppressed. The corresponding " -"``quiet`` parameter in :func:`~compileall.compile_dir`, :func:`~compileall." -"compile_file`, and :func:`~compileall.compile_path` can now accept an " -"integer value indicating the level of output suppression. (Contributed by " -"Thomas Kluyver in :issue:`21338`.)" +"``quiet`` parameter " +"in :func:`~compileall.compile_dir`, :func:`~compileall.compile_file`, " +"and :func:`~compileall.compile_path` can now accept an integer value " +"indicating the level of output suppression. (Contributed by Thomas Kluyver " +"in :issue:`21338`.)" msgstr "" #: ../../whatsnew/3.5.rst:977 @@ -1225,10 +1219,10 @@ msgstr "configparser" #: ../../whatsnew/3.5.rst:992 msgid "" ":mod:`configparser` now provides a way to customize the conversion of values " -"by specifying a dictionary of converters in the :class:`~configparser." -"ConfigParser` constructor, or by defining them as methods in " -"``ConfigParser`` subclasses. Converters defined in a parser instance are " -"inherited by its section proxies." +"by specifying a dictionary of converters in " +"the :class:`~configparser.ConfigParser` constructor, or by defining them as " +"methods in ``ConfigParser`` subclasses. Converters defined in a parser " +"instance are inherited by its section proxies." msgstr "" #: ../../whatsnew/3.5.rst:998 @@ -1271,10 +1265,9 @@ msgstr "curses" #: ../../whatsnew/3.5.rst:1048 msgid "" -"The new :func:`~curses.update_lines_cols` function updates the :envvar:" -"`LINES` and :envvar:`COLS` environment variables. This is useful for " -"detecting manual screen resizing. (Contributed by Arnon Yaari in :issue:" -"`4254`.)" +"The new :func:`~curses.update_lines_cols` function updates the :data:`LINES` " +"and :data:`COLS` module variables. This is useful for detecting manual " +"screen resizing. (Contributed by Arnon Yaari in :issue:`4254`.)" msgstr "" #: ../../whatsnew/3.5.rst:1054 @@ -1284,21 +1277,21 @@ msgstr "dbm" #: ../../whatsnew/3.5.rst:1056 msgid "" ":func:`dumb.open ` always creates a new database when the " -"flag has the value ``\"n\"``. (Contributed by Claudiu Popa in :issue:" -"`18039`.)" +"flag has the value ``\"n\"``. (Contributed by Claudiu Popa " +"in :issue:`18039`.)" msgstr "" #: ../../whatsnew/3.5.rst:1061 msgid "difflib" -msgstr "" +msgstr "difflib" #: ../../whatsnew/3.5.rst:1063 msgid "" "The charset of HTML documents generated by :meth:`HtmlDiff.make_file() " "` can now be customized by using a new *charset* " "keyword-only argument. The default charset of HTML document changed from " -"``\"ISO-8859-1\"`` to ``\"utf-8\"``. (Contributed by Berker Peksag in :issue:" -"`2052`.)" +"``\"ISO-8859-1\"`` to ``\"utf-8\"``. (Contributed by Berker Peksag " +"in :issue:`2052`.)" msgstr "" #: ../../whatsnew/3.5.rst:1070 @@ -1332,9 +1325,10 @@ msgstr "doctest" #: ../../whatsnew/3.5.rst:1090 msgid "" -"The :func:`~doctest.DocTestSuite` function returns an empty :class:`unittest." -"TestSuite` if *module* contains no docstrings, instead of raising :exc:" -"`ValueError`. (Contributed by Glenn Jones in :issue:`15916`.)" +"The :func:`~doctest.DocTestSuite` function returns an " +"empty :class:`unittest.TestSuite` if *module* contains no docstrings, " +"instead of raising :exc:`ValueError`. (Contributed by Glenn Jones " +"in :issue:`15916`.)" msgstr "" #: ../../whatsnew/3.5.rst:1096 @@ -1343,19 +1337,20 @@ msgstr "email" #: ../../whatsnew/3.5.rst:1098 msgid "" -"A new policy option :attr:`Policy.mangle_from_ ` controls whether or not lines that start with ``\"From \"`` " -"in email bodies are prefixed with a ``\">\"`` character by generators. The " -"default is ``True`` for :attr:`~email.policy.compat32` and ``False`` for all " -"other policies. (Contributed by Milan Oberkirch in :issue:`20098`.)" +"A new policy option :attr:`Policy.mangle_from_ " +"` controls whether or not lines that start " +"with ``\"From \"`` in email bodies are prefixed with a ``\">\"`` character " +"by generators. The default is ``True`` for :attr:`~email.policy.compat32` " +"and ``False`` for all other policies. (Contributed by Milan Oberkirch " +"in :issue:`20098`.)" msgstr "" #: ../../whatsnew/3.5.rst:1104 msgid "" -"A new :meth:`Message.get_content_disposition() ` method provides easy access to a canonical value " -"for the :mailheader:`Content-Disposition` header. (Contributed by Abhilash " -"Raj in :issue:`21083`.)" +"A new :meth:`Message.get_content_disposition() " +"` method provides easy access " +"to a canonical value for the :mailheader:`Content-Disposition` header. " +"(Contributed by Abhilash Raj in :issue:`21083`.)" msgstr "" #: ../../whatsnew/3.5.rst:1110 @@ -1363,9 +1358,9 @@ msgid "" "A new policy option :attr:`EmailPolicy.utf8 ` " "can be set to ``True`` to encode email headers using the UTF-8 charset " "instead of using encoded words. This allows ``Messages`` to be formatted " -"according to :rfc:`6532` and used with an SMTP server that supports the :rfc:" -"`6531` ``SMTPUTF8`` extension. (Contributed by R. David Murray in :issue:" -"`24211`.)" +"according to :rfc:`6532` and used with an SMTP server that supports " +"the :rfc:`6531` ``SMTPUTF8`` extension. (Contributed by R. David Murray " +"in :issue:`24211`.)" msgstr "" #: ../../whatsnew/3.5.rst:1117 @@ -1395,10 +1390,10 @@ msgstr "faulthandler" #: ../../whatsnew/3.5.rst:1140 msgid "" -"The :func:`~faulthandler.enable`, :func:`~faulthandler.register`, :func:" -"`~faulthandler.dump_traceback` and :func:`~faulthandler." -"dump_traceback_later` functions now accept file descriptors in addition to " -"file-like objects. (Contributed by Wei Wu in :issue:`23566`.)" +"The :func:`~faulthandler.enable`, :func:`~faulthandler.register`, :func:`~faulthandler.dump_traceback` " +"and :func:`~faulthandler.dump_traceback_later` functions now accept file " +"descriptors in addition to file-like objects. (Contributed by Wei Wu " +"in :issue:`23566`.)" msgstr "" #: ../../whatsnew/3.5.rst:1148 @@ -1430,13 +1425,13 @@ msgstr "gzip" #: ../../whatsnew/3.5.rst:1168 msgid "" "The *mode* argument of the :class:`~gzip.GzipFile` constructor now accepts " -"``\"x\"`` to request exclusive creation. (Contributed by Tim Heaney in :" -"issue:`19222`.)" +"``\"x\"`` to request exclusive creation. (Contributed by Tim Heaney " +"in :issue:`19222`.)" msgstr "" #: ../../whatsnew/3.5.rst:1174 msgid "heapq" -msgstr "" +msgstr "heapq" #: ../../whatsnew/3.5.rst:1176 msgid "" @@ -1467,10 +1462,11 @@ msgstr "http.client" #: ../../whatsnew/3.5.rst:1203 msgid "" -":meth:`HTTPConnection.getresponse() ` now raises a :exc:`~http.client.RemoteDisconnected` exception " -"when a remote server connection is closed unexpectedly. Additionally, if a :" -"exc:`ConnectionError` (of which ``RemoteDisconnected`` is a subclass) is " +":meth:`HTTPConnection.getresponse() " +"` now raises " +"a :exc:`~http.client.RemoteDisconnected` exception when a remote server " +"connection is closed unexpectedly. Additionally, if " +"a :exc:`ConnectionError` (of which ``RemoteDisconnected`` is a subclass) is " "raised, the client socket is now closed automatically, and will reconnect on " "the next request::" msgstr "" @@ -1481,16 +1477,21 @@ msgstr "" #: ../../whatsnew/3.5.rst:1223 msgid "idlelib and IDLE" -msgstr "idlelib and IDLE" +msgstr "idlelib e IDLE" #: ../../whatsnew/3.5.rst:1225 msgid "" "Since idlelib implements the IDLE shell and editor and is not intended for " -"import by other programs, it gets improvements with every release. See :" -"file:`Lib/idlelib/NEWS.txt` for a cumulative list of changes since 3.4.0, as " -"well as changes made in future 3.5.x releases. This file is also available " -"from the IDLE :menuselection:`Help --> About IDLE` dialog." +"import by other programs, it gets improvements with every release. " +"See :file:`Lib/idlelib/NEWS.txt` for a cumulative list of changes since " +"3.4.0, as well as changes made in future 3.5.x releases. This file is also " +"available from the IDLE :menuselection:`Help --> About IDLE` dialog." msgstr "" +"Since idlelib implements the IDLE shell and editor and is not intended for " +"import by other programs, it gets improvements with every release. " +"See :file:`Lib/idlelib/NEWS.txt` for a cumulative list of changes since " +"3.4.0, as well as changes made in future 3.5.x releases. This file is also " +"available from the IDLE :menuselection:`Help --> About IDLE` dialog." #: ../../whatsnew/3.5.rst:1233 msgid "imaplib" @@ -1506,12 +1507,12 @@ msgstr "" #: ../../whatsnew/3.5.rst:1240 msgid "" -"The :mod:`imaplib` module now supports :rfc:`5161` (ENABLE Extension) and :" -"rfc:`6855` (UTF-8 Support) via the :meth:`IMAP4.enable() ` method. A new :attr:`IMAP4.utf8_enabled ` attribute tracks whether or not :rfc:`6855` support is " -"enabled. (Contributed by Milan Oberkirch, R. David Murray, and Maciej Szulik " -"in :issue:`21800`.)" +"The :mod:`imaplib` module now supports :rfc:`5161` (ENABLE Extension) " +"and :rfc:`6855` (UTF-8 Support) via the :meth:`IMAP4.enable() " +"` method. A new :attr:`IMAP4.utf8_enabled " +"` attribute tracks whether or not :rfc:`6855` " +"support is enabled. (Contributed by Milan Oberkirch, R. David Murray, and " +"Maciej Szulik in :issue:`21800`.)" msgstr "" #: ../../whatsnew/3.5.rst:1247 @@ -1527,10 +1528,10 @@ msgstr "" #: ../../whatsnew/3.5.rst:1255 msgid "" -"The :func:`~imghdr.what` function now recognizes the `OpenEXR `_ format (contributed by Martin Vignali and Claudiu Popa in :" -"issue:`20295`), and the `WebP `_ format " -"(contributed by Fabrice Aneche and Claudiu Popa in :issue:`20197`.)" +"The :func:`~imghdr.what` function now recognizes the `OpenEXR `_ format (contributed by Martin Vignali and Claudiu Popa " +"in :issue:`20295`), and the `WebP `_ " +"format (contributed by Fabrice Aneche and Claudiu Popa in :issue:`20197`.)" msgstr "" #: ../../whatsnew/3.5.rst:1263 @@ -1546,11 +1547,11 @@ msgstr "" #: ../../whatsnew/3.5.rst:1269 msgid "" -"The :func:`abc.InspectLoader.source_to_code() ` method is now a static method. This makes it easier to " -"initialize a module object with code compiled from a string by running " -"``exec(code, module.__dict__)``. (Contributed by Brett Cannon in :issue:" -"`21156`.)" +"The :func:`abc.InspectLoader.source_to_code() " +"` method is now a static " +"method. This makes it easier to initialize a module object with code " +"compiled from a string by running ``exec(code, module.__dict__)``. " +"(Contributed by Brett Cannon in :issue:`21156`.)" msgstr "" #: ../../whatsnew/3.5.rst:1275 @@ -1569,15 +1570,15 @@ msgstr "inspect" #: ../../whatsnew/3.5.rst:1285 msgid "" "Both the :class:`~inspect.Signature` and :class:`~inspect.Parameter` classes " -"are now picklable and hashable. (Contributed by Yury Selivanov in :issue:" -"`20726` and :issue:`20334`.)" +"are now picklable and hashable. (Contributed by Yury Selivanov " +"in :issue:`20726` and :issue:`20334`.)" msgstr "" #: ../../whatsnew/3.5.rst:1289 msgid "" -"A new :meth:`BoundArguments.apply_defaults() ` method provides a way to set default values for missing " -"arguments::" +"A new :meth:`BoundArguments.apply_defaults() " +"` method provides a way to set " +"default values for missing arguments::" msgstr "" #: ../../whatsnew/3.5.rst:1299 @@ -1586,34 +1587,34 @@ msgstr "" #: ../../whatsnew/3.5.rst:1301 msgid "" -"A new class method :meth:`Signature.from_callable() ` makes subclassing of :class:`~inspect.Signature` easier. " -"(Contributed by Yury Selivanov and Eric Snow in :issue:`17373`.)" +"A new class method :meth:`Signature.from_callable() " +"` makes subclassing " +"of :class:`~inspect.Signature` easier. (Contributed by Yury Selivanov and " +"Eric Snow in :issue:`17373`.)" msgstr "" #: ../../whatsnew/3.5.rst:1306 msgid "" "The :func:`~inspect.signature` function now accepts a *follow_wrapped* " "optional keyword argument, which, when set to ``False``, disables automatic " -"following of ``__wrapped__`` links. (Contributed by Yury Selivanov in :issue:" -"`20691`.)" +"following of ``__wrapped__`` links. (Contributed by Yury Selivanov " +"in :issue:`20691`.)" msgstr "" #: ../../whatsnew/3.5.rst:1311 msgid "" "A set of new functions to inspect :term:`coroutine functions ` and :term:`coroutine objects ` has been added: :func:" -"`~inspect.iscoroutine`, :func:`~inspect.iscoroutinefunction`, :func:" -"`~inspect.isawaitable`, :func:`~inspect.getcoroutinelocals`, and :func:" -"`~inspect.getcoroutinestate`. (Contributed by Yury Selivanov in :issue:" -"`24017` and :issue:`24400`.)" +"function>` and :term:`coroutine objects ` has been " +"added: :func:`~inspect.iscoroutine`, :func:`~inspect.iscoroutinefunction`, :func:`~inspect.isawaitable`, :func:`~inspect.getcoroutinelocals`, " +"and :func:`~inspect.getcoroutinestate`. (Contributed by Yury Selivanov " +"in :issue:`24017` and :issue:`24400`.)" msgstr "" #: ../../whatsnew/3.5.rst:1319 msgid "" -"The :func:`~inspect.stack`, :func:`~inspect.trace`, :func:`~inspect." -"getouterframes`, and :func:`~inspect.getinnerframes` functions now return a " -"list of named tuples. (Contributed by Daniel Shahaf in :issue:`16808`.)" +"The :func:`~inspect.stack`, :func:`~inspect.trace`, :func:`~inspect.getouterframes`, " +"and :func:`~inspect.getinnerframes` functions now return a list of named " +"tuples. (Contributed by Daniel Shahaf in :issue:`16808`.)" msgstr "" #: ../../whatsnew/3.5.rst:1326 @@ -1623,10 +1624,10 @@ msgstr "io" #: ../../whatsnew/3.5.rst:1328 msgid "" "A new :meth:`BufferedIOBase.readinto1() ` " -"method, that uses at most one call to the underlying raw stream's :meth:" -"`RawIOBase.read() ` or :meth:`RawIOBase.readinto() ` methods. (Contributed by Nikolaus Rath in :issue:" -"`20578`.)" +"method, that uses at most one call to the underlying raw " +"stream's :meth:`RawIOBase.read() ` " +"or :meth:`RawIOBase.readinto() ` methods. " +"(Contributed by Nikolaus Rath in :issue:`20578`.)" msgstr "" #: ../../whatsnew/3.5.rst:1336 @@ -1646,9 +1647,9 @@ msgstr "" #: ../../whatsnew/3.5.rst:1350 msgid "" -"A new :attr:`~ipaddress.IPv4Network.reverse_pointer` attribute for the :" -"class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` classes " -"returns the name of the reverse DNS PTR record::" +"A new :attr:`~ipaddress.IPv4Network.reverse_pointer` attribute for " +"the :class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` " +"classes returns the name of the reverse DNS PTR record::" msgstr "" #: ../../whatsnew/3.5.rst:1362 @@ -1663,14 +1664,14 @@ msgstr "json" msgid "" "The :mod:`json.tool` command line interface now preserves the order of keys " "in JSON objects passed in input. The new ``--sort-keys`` option can be used " -"to sort the keys alphabetically. (Contributed by Berker Peksag in :issue:" -"`21650`.)" +"to sort the keys alphabetically. (Contributed by Berker Peksag " +"in :issue:`21650`.)" msgstr "" #: ../../whatsnew/3.5.rst:1373 msgid "" -"JSON decoder now raises :exc:`~json.JSONDecodeError` instead of :exc:" -"`ValueError` to provide better context information about the error. " +"JSON decoder now raises :exc:`~json.JSONDecodeError` instead " +"of :exc:`ValueError` to provide better context information about the error. " "(Contributed by Serhiy Storchaka in :issue:`19361`.)" msgstr "" @@ -1708,10 +1709,10 @@ msgstr "logging" #: ../../whatsnew/3.5.rst:1410 msgid "" -"All logging methods (:class:`~logging.Logger` :meth:`~logging.Logger.log`, :" -"meth:`~logging.Logger.exception`, :meth:`~logging.Logger.critical`, :meth:" -"`~logging.Logger.debug`, etc.), now accept exception instances as an " -"*exc_info* argument, in addition to boolean values and exception tuples::" +"All logging methods " +"(:class:`~logging.Logger` :meth:`~logging.Logger.log`, :meth:`~logging.Logger.exception`, :meth:`~logging.Logger.critical`, :meth:`~logging.Logger.debug`, " +"etc.), now accept exception instances as an *exc_info* argument, in addition " +"to boolean values and exception tuples::" msgstr "" #: ../../whatsnew/3.5.rst:1423 @@ -1722,8 +1723,8 @@ msgstr "" msgid "" "The :class:`handlers.HTTPHandler ` class now " "accepts an optional :class:`ssl.SSLContext` instance to configure SSL " -"settings used in an HTTP connection. (Contributed by Alex Gaynor in :issue:" -"`22788`.)" +"settings used in an HTTP connection. (Contributed by Alex Gaynor " +"in :issue:`22788`.)" msgstr "" #: ../../whatsnew/3.5.rst:1430 @@ -1751,9 +1752,9 @@ msgstr "math" #: ../../whatsnew/3.5.rst:1448 msgid "" -"Two new constants have been added to the :mod:`math` module: :data:`~math." -"inf` and :data:`~math.nan`. (Contributed by Mark Dickinson in :issue:" -"`23185`.)" +"Two new constants have been added to the :mod:`math` " +"module: :data:`~math.inf` and :data:`~math.nan`. (Contributed by Mark " +"Dickinson in :issue:`23185`.)" msgstr "" #: ../../whatsnew/3.5.rst:1451 @@ -1775,9 +1776,10 @@ msgstr "multiprocessing" #: ../../whatsnew/3.5.rst:1462 msgid "" -":func:`sharedctypes.synchronized() ` objects now support the :term:`context manager` protocol. " -"(Contributed by Charles-François Natali in :issue:`21565`.)" +":func:`sharedctypes.synchronized() " +"` objects now support " +"the :term:`context manager` protocol. (Contributed by Charles-François " +"Natali in :issue:`21565`.)" msgstr "" #: ../../whatsnew/3.5.rst:1468 @@ -1786,16 +1788,16 @@ msgstr "operador" #: ../../whatsnew/3.5.rst:1470 msgid "" -":func:`~operator.attrgetter`, :func:`~operator.itemgetter`, and :func:" -"`~operator.methodcaller` objects now support pickling. (Contributed by Josh " -"Rosenberg and Serhiy Storchaka in :issue:`22955`.)" +":func:`~operator.attrgetter`, :func:`~operator.itemgetter`, " +"and :func:`~operator.methodcaller` objects now support pickling. " +"(Contributed by Josh Rosenberg and Serhiy Storchaka in :issue:`22955`.)" msgstr "" #: ../../whatsnew/3.5.rst:1474 msgid "" "New :func:`~operator.matmul` and :func:`~operator.imatmul` functions to " -"perform matrix multiplication. (Contributed by Benjamin Peterson in :issue:" -"`21176`.)" +"perform matrix multiplication. (Contributed by Benjamin Peterson " +"in :issue:`21176`.)" msgstr "" #: ../../whatsnew/3.5.rst:1480 @@ -1804,21 +1806,22 @@ msgstr "os" #: ../../whatsnew/3.5.rst:1482 msgid "" -"The new :func:`~os.scandir` function returning an iterator of :class:`~os." -"DirEntry` objects has been added. If possible, :func:`~os.scandir` extracts " -"file attributes while scanning a directory, removing the need to perform " -"subsequent system calls to determine file type or attributes, which may " -"significantly improve performance. (Contributed by Ben Hoyt with the help " -"of Victor Stinner in :issue:`22524`.)" +"The new :func:`~os.scandir` function returning an iterator " +"of :class:`~os.DirEntry` objects has been added. If " +"possible, :func:`~os.scandir` extracts file attributes while scanning a " +"directory, removing the need to perform subsequent system calls to determine " +"file type or attributes, which may significantly improve performance. " +"(Contributed by Ben Hoyt with the help of Victor Stinner in :issue:`22524`.)" msgstr "" #: ../../whatsnew/3.5.rst:1489 msgid "" -"On Windows, a new :attr:`stat_result.st_file_attributes ` attribute is now available. It corresponds to the " -"``dwFileAttributes`` member of the ``BY_HANDLE_FILE_INFORMATION`` structure " -"returned by ``GetFileInformationByHandle()``. (Contributed by Ben Hoyt in :" -"issue:`21719`.)" +"On Windows, a new :attr:`stat_result.st_file_attributes " +"` attribute is now available. It " +"corresponds to the ``dwFileAttributes`` member of the " +"``BY_HANDLE_FILE_INFORMATION`` structure returned by " +"``GetFileInformationByHandle()``. (Contributed by Ben Hoyt " +"in :issue:`21719`.)" msgstr "" #: ../../whatsnew/3.5.rst:1495 @@ -1832,8 +1835,8 @@ msgstr "" #: ../../whatsnew/3.5.rst:1500 msgid "" "New :func:`~os.get_blocking` and :func:`~os.set_blocking` functions allow " -"getting and setting a file descriptor's blocking mode (:data:`~os." -"O_NONBLOCK`.) (Contributed by Victor Stinner in :issue:`22054`.)" +"getting and setting a file descriptor's blocking mode " +"(:const:`~os.O_NONBLOCK`.) (Contributed by Victor Stinner in :issue:`22054`.)" msgstr "" #: ../../whatsnew/3.5.rst:1504 @@ -1845,8 +1848,8 @@ msgstr "" #: ../../whatsnew/3.5.rst:1507 msgid "" "There is a new :func:`os.path.commonpath` function returning the longest " -"common sub-path of each passed pathname. Unlike the :func:`os.path." -"commonprefix` function, it always returns a valid path::" +"common sub-path of each passed pathname. Unlike " +"the :func:`os.path.commonprefix` function, it always returns a valid path::" msgstr "" #: ../../whatsnew/3.5.rst:1518 @@ -1886,16 +1889,18 @@ msgstr "" msgid "" "A new :meth:`Path.home() ` class method can be used to " "get a :class:`~pathlib.Path` instance representing the user’s home " -"directory. (Contributed by Victor Salgado and Mayank Tripathi in :issue:" -"`19777`.)" +"directory. (Contributed by Victor Salgado and Mayank Tripathi " +"in :issue:`19777`.)" msgstr "" #: ../../whatsnew/3.5.rst:1549 msgid "" -"New :meth:`Path.write_text() `, :meth:`Path." -"read_text() `, :meth:`Path.write_bytes() `, :meth:`Path.read_bytes() ` " -"methods to simplify read/write operations on files." +"New :meth:`Path.write_text() " +"`, :meth:`Path.read_text() " +"`, :meth:`Path.write_bytes() " +"`, :meth:`Path.read_bytes() " +"` methods to simplify read/write operations on " +"files." msgstr "" #: ../../whatsnew/3.5.rst:1555 @@ -1960,10 +1965,10 @@ msgstr "" #: ../../whatsnew/3.5.rst:1605 msgid "" -"The :class:`re.error` exceptions have new attributes, :attr:`~re.error." -"msg`, :attr:`~re.error.pattern`, :attr:`~re.error.pos`, :attr:`~re.error." -"lineno`, and :attr:`~re.error.colno`, that provide better context " -"information about the error::" +"The :class:`re.error` exceptions have new " +"attributes, :attr:`~re.error.msg`, :attr:`~re.error.pattern`, :attr:`~re.error.pos`, :attr:`~re.error.lineno`, " +"and :attr:`~re.error.colno`, that provide better context information about " +"the error::" msgstr "" #: ../../whatsnew/3.5.rst:1619 @@ -1983,7 +1988,7 @@ msgstr "" #: ../../whatsnew/3.5.rst:1631 msgid "selectors" -msgstr "Seletores" +msgstr "selectors" #: ../../whatsnew/3.5.rst:1633 msgid "" @@ -2036,8 +2041,8 @@ msgid "" "Both the :class:`~smtpd.SMTPServer` and :class:`~smtpd.SMTPChannel` classes " "now accept a *decode_data* keyword argument to determine if the ``DATA`` " "portion of the SMTP transaction is decoded using the ``\"utf-8\"`` codec or " -"is instead provided to the :meth:`SMTPServer.process_message() ` method as a byte string. The default is " +"is instead provided to the :meth:`SMTPServer.process_message() " +"` method as a byte string. The default is " "``True`` for backward compatibility reasons, but will change to ``False`` in " "Python 3.6. If *decode_data* is set to ``False``, the ``process_message`` " "method must be prepared to accept keyword arguments. (Contributed by Maciej " @@ -2048,21 +2053,21 @@ msgstr "" msgid "" "The :class:`~smtpd.SMTPServer` class now advertises the ``8BITMIME`` " "extension (:rfc:`6152`) if *decode_data* has been set ``True``. If the " -"client specifies ``BODY=8BITMIME`` on the ``MAIL`` command, it is passed to :" -"meth:`SMTPServer.process_message() ` via " -"the *mail_options* keyword. (Contributed by Milan Oberkirch and R. David " -"Murray in :issue:`21795`.)" +"client specifies ``BODY=8BITMIME`` on the ``MAIL`` command, it is passed " +"to :meth:`SMTPServer.process_message() ` " +"via the *mail_options* keyword. (Contributed by Milan Oberkirch and R. " +"David Murray in :issue:`21795`.)" msgstr "" #: ../../whatsnew/3.5.rst:1684 msgid "" "The :class:`~smtpd.SMTPServer` class now also supports the ``SMTPUTF8`` " "extension (:rfc:`6531`: Internationalized Email). If the client specified " -"``SMTPUTF8 BODY=8BITMIME`` on the ``MAIL`` command, they are passed to :meth:" -"`SMTPServer.process_message() ` via the " -"*mail_options* keyword. It is the responsibility of the ``process_message`` " -"method to correctly handle the ``SMTPUTF8`` data. (Contributed by Milan " -"Oberkirch in :issue:`21725`.)" +"``SMTPUTF8 BODY=8BITMIME`` on the ``MAIL`` command, they are passed " +"to :meth:`SMTPServer.process_message() ` " +"via the *mail_options* keyword. It is the responsibility of the " +"``process_message`` method to correctly handle the ``SMTPUTF8`` data. " +"(Contributed by Milan Oberkirch in :issue:`21725`.)" msgstr "" #: ../../whatsnew/3.5.rst:1692 @@ -2087,16 +2092,16 @@ msgstr "" msgid "" "The :meth:`SMTP.set_debuglevel() ` method now " "accepts an additional debuglevel (2), which enables timestamps in debug " -"messages. (Contributed by Gavin Chappell and Maciej Szulik in :issue:" -"`16914`.)" +"messages. (Contributed by Gavin Chappell and Maciej Szulik " +"in :issue:`16914`.)" msgstr "" #: ../../whatsnew/3.5.rst:1708 msgid "" -"Both the :meth:`SMTP.sendmail() ` and :meth:`SMTP." -"send_message() ` methods now support :rfc:`6531` " -"(SMTPUTF8). (Contributed by Milan Oberkirch and R. David Murray in :issue:" -"`22027`.)" +"Both the :meth:`SMTP.sendmail() ` " +"and :meth:`SMTP.send_message() ` methods now " +"support :rfc:`6531` (SMTPUTF8). (Contributed by Milan Oberkirch and R. David " +"Murray in :issue:`22027`.)" msgstr "" #: ../../whatsnew/3.5.rst:1715 @@ -2106,8 +2111,8 @@ msgstr "" #: ../../whatsnew/3.5.rst:1717 msgid "" "The :func:`~sndhdr.what` and :func:`~sndhdr.whathdr` functions now return " -"a :func:`~collections.namedtuple`. (Contributed by Claudiu Popa in :issue:" -"`18615`.)" +"a :func:`~collections.namedtuple`. (Contributed by Claudiu Popa " +"in :issue:`18615`.)" msgstr "" #: ../../whatsnew/3.5.rst:1723 @@ -2123,10 +2128,10 @@ msgstr "" #: ../../whatsnew/3.5.rst:1728 msgid "" "A new :meth:`socket.sendfile() ` method allows " -"sending a file over a socket by using the high-performance :func:`os." -"sendfile` function on UNIX, resulting in uploads being from 2 to 3 times " -"faster than when using plain :meth:`socket.send() `. " -"(Contributed by Giampaolo Rodola' in :issue:`17552`.)" +"sending a file over a socket by using the high-" +"performance :func:`os.sendfile` function on UNIX, resulting in uploads being " +"from 2 to 3 times faster than when using plain :meth:`socket.send() " +"`. (Contributed by Giampaolo Rodola' in :issue:`17552`.)" msgstr "" #: ../../whatsnew/3.5.rst:1734 @@ -2140,9 +2145,9 @@ msgstr "" #: ../../whatsnew/3.5.rst:1739 msgid "" "The *backlog* argument of the :meth:`socket.listen() ` " -"method is now optional. By default it is set to :data:`SOMAXCONN ` or to ``128``, whichever is less. (Contributed by Charles-" -"François Natali in :issue:`21455`.)" +"method is now optional. By default it is set to :data:`SOMAXCONN " +"` or to ``128``, whichever is less. (Contributed by " +"Charles-François Natali in :issue:`21455`.)" msgstr "" #: ../../whatsnew/3.5.rst:1746 @@ -2151,7 +2156,7 @@ msgstr "ssl" #: ../../whatsnew/3.5.rst:1751 msgid "Memory BIO Support" -msgstr "" +msgstr "Підтримка BIO пам'яті" #: ../../whatsnew/3.5.rst:1753 msgid "(Contributed by Geert Jansen in :issue:`21965`.)" @@ -2160,11 +2165,12 @@ msgstr "" #: ../../whatsnew/3.5.rst:1755 msgid "" "The new :class:`~ssl.SSLObject` class has been added to provide SSL protocol " -"support for cases when the network I/O capabilities of :class:`~ssl." -"SSLSocket` are not necessary or are suboptimal. ``SSLObject`` represents an " -"SSL protocol instance, but does not implement any network I/O methods, and " -"instead provides a memory buffer interface. The new :class:`~ssl.MemoryBIO` " -"class can be used to pass data between Python and an SSL protocol instance." +"support for cases when the network I/O capabilities " +"of :class:`~ssl.SSLSocket` are not necessary or are suboptimal. " +"``SSLObject`` represents an SSL protocol instance, but does not implement " +"any network I/O methods, and instead provides a memory buffer interface. " +"The new :class:`~ssl.MemoryBIO` class can be used to pass data between " +"Python and an SSL protocol instance." msgstr "" #: ../../whatsnew/3.5.rst:1762 @@ -2191,23 +2197,23 @@ msgstr "" #: ../../whatsnew/3.5.rst:1775 msgid "" "Where OpenSSL support is present, the :mod:`ssl` module now implements the " -"*Application-Layer Protocol Negotiation* TLS extension as described in :rfc:" -"`7301`." +"*Application-Layer Protocol Negotiation* TLS extension as described " +"in :rfc:`7301`." msgstr "" #: ../../whatsnew/3.5.rst:1779 msgid "" -"The new :meth:`SSLContext.set_alpn_protocols() ` can be used to specify which protocols a socket should " -"advertise during the TLS handshake." +"The new :meth:`SSLContext.set_alpn_protocols() " +"` can be used to specify which protocols " +"a socket should advertise during the TLS handshake." msgstr "" #: ../../whatsnew/3.5.rst:1783 msgid "" -"The new :meth:`SSLSocket.selected_alpn_protocol() ` returns the protocol that was selected during the " -"TLS handshake. The :data:`~ssl.HAS_ALPN` flag indicates whether ALPN support " -"is present." +"The new :meth:`SSLSocket.selected_alpn_protocol() " +"` returns the protocol that was " +"selected during the TLS handshake. The :const:`~ssl.HAS_ALPN` flag indicates " +"whether ALPN support is present." msgstr "" #: ../../whatsnew/3.5.rst:1790 @@ -2217,15 +2223,15 @@ msgstr "" #: ../../whatsnew/3.5.rst:1792 msgid "" "There is a new :meth:`SSLSocket.version() ` method to " -"query the actual protocol version in use. (Contributed by Antoine Pitrou in :" -"issue:`20421`.)" +"query the actual protocol version in use. (Contributed by Antoine Pitrou " +"in :issue:`20421`.)" msgstr "" #: ../../whatsnew/3.5.rst:1796 msgid "" -"The :class:`~ssl.SSLSocket` class now implements a :meth:`SSLSocket." -"sendfile() ` method. (Contributed by Giampaolo " -"Rodola' in :issue:`17552`.)" +"The :class:`~ssl.SSLSocket` class now implements " +"a :meth:`SSLSocket.sendfile() ` method. (Contributed " +"by Giampaolo Rodola' in :issue:`17552`.)" msgstr "" #: ../../whatsnew/3.5.rst:1800 @@ -2245,21 +2251,22 @@ msgstr "" #: ../../whatsnew/3.5.rst:1809 msgid "" -"New :meth:`SSLObject.shared_ciphers() ` and :" -"meth:`SSLSocket.shared_ciphers() ` methods " -"return the list of ciphers sent by the client during the handshake. " +"New :meth:`SSLObject.shared_ciphers() ` " +"and :meth:`SSLSocket.shared_ciphers() ` " +"methods return the list of ciphers sent by the client during the handshake. " "(Contributed by Benjamin Peterson in :issue:`23186`.)" msgstr "" #: ../../whatsnew/3.5.rst:1814 msgid "" -"The :meth:`SSLSocket.do_handshake() `, :meth:" -"`SSLSocket.read() `, :meth:`SSLSocket.shutdown() `, and :meth:`SSLSocket.write() ` " -"methods of the :class:`~ssl.SSLSocket` class no longer reset the socket " -"timeout every time bytes are received or sent. The socket timeout is now the " -"maximum total duration of the method. (Contributed by Victor Stinner in :" -"issue:`23853`.)" +"The :meth:`SSLSocket.do_handshake() " +"`, :meth:`SSLSocket.read() " +"`, :meth:`SSLSocket.shutdown() " +"`, and :meth:`SSLSocket.write() " +"` methods of the :class:`~ssl.SSLSocket` class no " +"longer reset the socket timeout every time bytes are received or sent. The " +"socket timeout is now the maximum total duration of the method. (Contributed " +"by Victor Stinner in :issue:`23853`.)" msgstr "" #: ../../whatsnew/3.5.rst:1822 @@ -2302,10 +2309,11 @@ msgstr "sys" msgid "" "A new :func:`~sys.set_coroutine_wrapper` function allows setting a global " "hook that will be called whenever a :term:`coroutine object ` is " -"created by an :keyword:`async def` function. A corresponding :func:`~sys." -"get_coroutine_wrapper` can be used to obtain a currently set wrapper. Both " -"functions are :term:`provisional `, and are intended for " -"debugging purposes only. (Contributed by Yury Selivanov in :issue:`24017`.)" +"created by an :keyword:`async def` function. A " +"corresponding :func:`~sys.get_coroutine_wrapper` can be used to obtain a " +"currently set wrapper. Both functions are :term:`provisional `, and are intended for debugging purposes only. (Contributed by Yury " +"Selivanov in :issue:`24017`.)" msgstr "" #: ../../whatsnew/3.5.rst:1874 @@ -2322,8 +2330,8 @@ msgstr "sysconfig" #: ../../whatsnew/3.5.rst:1882 msgid "" "The name of the user scripts directory on Windows now includes the first two " -"components of the Python version. (Contributed by Paul Moore in :issue:" -"`23437`.)" +"components of the Python version. (Contributed by Paul Moore " +"in :issue:`23437`.)" msgstr "" #: ../../whatsnew/3.5.rst:1888 @@ -2333,16 +2341,16 @@ msgstr "tarfile" #: ../../whatsnew/3.5.rst:1890 msgid "" "The *mode* argument of the :func:`~tarfile.open` function now accepts " -"``\"x\"`` to request exclusive creation. (Contributed by Berker Peksag in :" -"issue:`21717`.)" +"``\"x\"`` to request exclusive creation. (Contributed by Berker Peksag " +"in :issue:`21717`.)" msgstr "" #: ../../whatsnew/3.5.rst:1893 msgid "" -"The :meth:`TarFile.extractall() ` and :meth:" -"`TarFile.extract() ` methods now take a keyword " -"argument *numeric_owner*. If set to ``True``, the extracted files and " -"directories will be owned by the numeric ``uid`` and ``gid`` from the " +"The :meth:`TarFile.extractall() ` " +"and :meth:`TarFile.extract() ` methods now take a " +"keyword argument *numeric_owner*. If set to ``True``, the extracted files " +"and directories will be owned by the numeric ``uid`` and ``gid`` from the " "tarfile. If set to ``False`` (the default, and the behavior in versions " "prior to 3.5), they will be owned by the named user and group in the " "tarfile. (Contributed by Michael Vogt and Eric Smith in :issue:`23193`.)" @@ -2362,9 +2370,10 @@ msgstr "threading" #: ../../whatsnew/3.5.rst:1910 msgid "" -"Both the :meth:`Lock.acquire() ` and :meth:`RLock." -"acquire() ` methods now use a monotonic clock for " -"timeout management. (Contributed by Victor Stinner in :issue:`22043`.)" +"Both the :meth:`Lock.acquire() ` " +"and :meth:`RLock.acquire() ` methods now use a " +"monotonic clock for timeout management. (Contributed by Victor Stinner " +"in :issue:`22043`.)" msgstr "" #: ../../whatsnew/3.5.rst:1917 @@ -2414,432 +2423,436 @@ msgstr "traceback" #: ../../whatsnew/3.5.rst:1949 msgid "" "New :func:`~traceback.walk_stack` and :func:`~traceback.walk_tb` functions " -"to conveniently traverse frame and traceback objects. (Contributed by Robert " -"Collins in :issue:`17911`.)" +"to conveniently traverse frame and :ref:`traceback objects `. (Contributed by Robert Collins in :issue:`17911`.)" msgstr "" -#: ../../whatsnew/3.5.rst:1953 +#: ../../whatsnew/3.5.rst:1954 msgid "" -"New lightweight classes: :class:`~traceback.TracebackException`, :class:" -"`~traceback.StackSummary`, and :class:`~traceback.FrameSummary`. " -"(Contributed by Robert Collins in :issue:`17911`.)" +"New lightweight " +"classes: :class:`~traceback.TracebackException`, :class:`~traceback.StackSummary`, " +"and :class:`~traceback.FrameSummary`. (Contributed by Robert Collins " +"in :issue:`17911`.)" msgstr "" -#: ../../whatsnew/3.5.rst:1957 +#: ../../whatsnew/3.5.rst:1958 msgid "" "Both the :func:`~traceback.print_tb` and :func:`~traceback.print_stack` " "functions now support negative values for the *limit* argument. (Contributed " "by Dmitry Kazakov in :issue:`22619`.)" msgstr "" -#: ../../whatsnew/3.5.rst:1963 +#: ../../whatsnew/3.5.rst:1964 msgid "types" msgstr "types" -#: ../../whatsnew/3.5.rst:1965 +#: ../../whatsnew/3.5.rst:1966 msgid "" "A new :func:`~types.coroutine` function to transform :term:`generator " -"` and :class:`generator-like ` objects into :term:`awaitables `. (Contributed by " -"Yury Selivanov in :issue:`24017`.)" +"` and :class:`generator-like " +"` objects into :term:`awaitables `. " +"(Contributed by Yury Selivanov in :issue:`24017`.)" msgstr "" -#: ../../whatsnew/3.5.rst:1971 +#: ../../whatsnew/3.5.rst:1972 msgid "" -"A new type called :class:`~types.CoroutineType`, which is used for :term:" -"`coroutine` objects created by :keyword:`async def` functions. (Contributed " -"by Yury Selivanov in :issue:`24400`.)" +"A new type called :class:`~types.CoroutineType`, which is used " +"for :term:`coroutine` objects created by :keyword:`async def` functions. " +"(Contributed by Yury Selivanov in :issue:`24400`.)" msgstr "" -#: ../../whatsnew/3.5.rst:1977 +#: ../../whatsnew/3.5.rst:1978 msgid "unicodedata" msgstr "unicodedata" -#: ../../whatsnew/3.5.rst:1979 +#: ../../whatsnew/3.5.rst:1980 msgid "" "The :mod:`unicodedata` module now uses data from `Unicode 8.0.0 `_." msgstr "" -#: ../../whatsnew/3.5.rst:1984 +#: ../../whatsnew/3.5.rst:1985 msgid "unittest" msgstr "unittest" -#: ../../whatsnew/3.5.rst:1986 +#: ../../whatsnew/3.5.rst:1987 msgid "" -"The :meth:`TestLoader.loadTestsFromModule() ` method now accepts a keyword-only argument *pattern* " -"which is passed to ``load_tests`` as the third argument. Found packages are " -"now checked for ``load_tests`` regardless of whether their path matches " -"*pattern*, because it is impossible for a package name to match the default " -"pattern. (Contributed by Robert Collins and Barry A. Warsaw in :issue:" -"`16662`.)" +"The :meth:`TestLoader.loadTestsFromModule() " +"` method now accepts a keyword-only " +"argument *pattern* which is passed to ``load_tests`` as the third argument. " +"Found packages are now checked for ``load_tests`` regardless of whether " +"their path matches *pattern*, because it is impossible for a package name to " +"match the default pattern. (Contributed by Robert Collins and Barry A. " +"Warsaw in :issue:`16662`.)" msgstr "" -#: ../../whatsnew/3.5.rst:1993 +#: ../../whatsnew/3.5.rst:1994 msgid "" "Unittest discovery errors now are exposed in the :data:`TestLoader.errors " "` attribute of the :class:`~unittest.TestLoader` " "instance. (Contributed by Robert Collins in :issue:`19746`.)" msgstr "" -#: ../../whatsnew/3.5.rst:1998 +#: ../../whatsnew/3.5.rst:1999 msgid "" "A new command line option ``--locals`` to show local variables in " "tracebacks. (Contributed by Robert Collins in :issue:`22936`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2003 +#: ../../whatsnew/3.5.rst:2004 msgid "unittest.mock" msgstr "unittest.mock" -#: ../../whatsnew/3.5.rst:2005 +#: ../../whatsnew/3.5.rst:2006 msgid "The :class:`~unittest.mock.Mock` class has the following improvements:" msgstr "" -#: ../../whatsnew/3.5.rst:2007 +#: ../../whatsnew/3.5.rst:2008 msgid "" "The class constructor has a new *unsafe* parameter, which causes mock " "objects to raise :exc:`AttributeError` on attribute names starting with " "``\"assert\"``. (Contributed by Kushal Das in :issue:`21238`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2012 +#: ../../whatsnew/3.5.rst:2013 msgid "" -"A new :meth:`Mock.assert_not_called() ` method to check if the mock object was called. " -"(Contributed by Kushal Das in :issue:`21262`.)" +"A new :meth:`Mock.assert_not_called() " +"` method to check if the mock object " +"was called. (Contributed by Kushal Das in :issue:`21262`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2016 +#: ../../whatsnew/3.5.rst:2017 msgid "" -"The :class:`~unittest.mock.MagicMock` class now supports :meth:" -"`__truediv__`, :meth:`__divmod__` and :meth:`__matmul__` operators. " -"(Contributed by Johannes Baiter in :issue:`20968`, and Håkan Lövdahl in :" -"issue:`23581` and :issue:`23568`.)" +"The :class:`~unittest.mock.MagicMock` class now " +"supports :meth:`__truediv__`, :meth:`__divmod__` and :meth:`__matmul__` " +"operators. (Contributed by Johannes Baiter in :issue:`20968`, and Håkan " +"Lövdahl in :issue:`23581` and :issue:`23568`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2021 +#: ../../whatsnew/3.5.rst:2022 msgid "" -"It is no longer necessary to explicitly pass ``create=True`` to the :func:" -"`~unittest.mock.patch` function when patching builtin names. (Contributed by " -"Kushal Das in :issue:`17660`.)" +"It is no longer necessary to explicitly pass ``create=True`` to " +"the :func:`~unittest.mock.patch` function when patching builtin names. " +"(Contributed by Kushal Das in :issue:`17660`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2027 +#: ../../whatsnew/3.5.rst:2028 msgid "urllib" msgstr "urllib" -#: ../../whatsnew/3.5.rst:2029 +#: ../../whatsnew/3.5.rst:2030 msgid "" -"A new :class:`request.HTTPPasswordMgrWithPriorAuth ` class allows HTTP Basic Authentication " -"credentials to be managed so as to eliminate unnecessary ``401`` response " -"handling, or to unconditionally send credentials on the first request in " -"order to communicate with servers that return a ``404`` response instead of " -"a ``401`` if the ``Authorization`` header is not sent. (Contributed by Matej " -"Cepl in :issue:`19494` and Akshit Khurana in :issue:`7159`.)" +"A new :class:`request.HTTPPasswordMgrWithPriorAuth " +"` class allows HTTP Basic " +"Authentication credentials to be managed so as to eliminate unnecessary " +"``401`` response handling, or to unconditionally send credentials on the " +"first request in order to communicate with servers that return a ``404`` " +"response instead of a ``401`` if the ``Authorization`` header is not sent. " +"(Contributed by Matej Cepl in :issue:`19494` and Akshit Khurana " +"in :issue:`7159`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2038 +#: ../../whatsnew/3.5.rst:2039 msgid "" -"A new *quote_via* argument for the :func:`parse.urlencode() ` function provides a way to control the encoding of query parts " -"if needed. (Contributed by Samwyse and Arnon Yaari in :issue:`13866`.)" +"A new *quote_via* argument for the :func:`parse.urlencode() " +"` function provides a way to control the encoding of " +"query parts if needed. (Contributed by Samwyse and Arnon Yaari " +"in :issue:`13866`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2043 +#: ../../whatsnew/3.5.rst:2044 msgid "" -"The :func:`request.urlopen() ` function accepts an :" -"class:`ssl.SSLContext` object as a *context* argument, which will be used " -"for the HTTPS connection. (Contributed by Alex Gaynor in :issue:`22366`.)" +"The :func:`request.urlopen() ` function accepts " +"an :class:`ssl.SSLContext` object as a *context* argument, which will be " +"used for the HTTPS connection. (Contributed by Alex Gaynor " +"in :issue:`22366`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2047 +#: ../../whatsnew/3.5.rst:2048 msgid "" -"The :func:`parse.urljoin() ` was updated to use the :" -"rfc:`3986` semantics for the resolution of relative URLs, rather than :rfc:" -"`1808` and :rfc:`2396`. (Contributed by Demian Brecht and Senthil Kumaran " -"in :issue:`22118`.)" +"The :func:`parse.urljoin() ` was updated to use " +"the :rfc:`3986` semantics for the resolution of relative URLs, rather " +"than :rfc:`1808` and :rfc:`2396`. (Contributed by Demian Brecht and Senthil " +"Kumaran in :issue:`22118`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2054 +#: ../../whatsnew/3.5.rst:2055 msgid "wsgiref" msgstr "" -#: ../../whatsnew/3.5.rst:2056 +#: ../../whatsnew/3.5.rst:2057 msgid "" -"The *headers* argument of the :class:`headers.Headers ` class constructor is now optional. (Contributed by Pablo Torres " -"Navarrete and SilentGhost in :issue:`5800`.)" +"The *headers* argument of the :class:`headers.Headers " +"` class constructor is now optional. (Contributed " +"by Pablo Torres Navarrete and SilentGhost in :issue:`5800`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2062 +#: ../../whatsnew/3.5.rst:2063 msgid "xmlrpc" msgstr "xmlrpc" -#: ../../whatsnew/3.5.rst:2064 +#: ../../whatsnew/3.5.rst:2065 msgid "" "The :class:`client.ServerProxy ` class now " "supports the :term:`context manager` protocol. (Contributed by Claudiu Popa " "in :issue:`20627`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2068 +#: ../../whatsnew/3.5.rst:2069 msgid "" "The :class:`client.ServerProxy ` constructor now " "accepts an optional :class:`ssl.SSLContext` instance. (Contributed by Alex " "Gaynor in :issue:`22960`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2074 +#: ../../whatsnew/3.5.rst:2075 msgid "xml.sax" msgstr "" -#: ../../whatsnew/3.5.rst:2076 +#: ../../whatsnew/3.5.rst:2077 msgid "" -"SAX parsers now support a character stream of the :class:`xmlreader." -"InputSource ` object. (Contributed by Serhiy " -"Storchaka in :issue:`2175`.)" +"SAX parsers now support a character stream of " +"the :class:`xmlreader.InputSource ` object. " +"(Contributed by Serhiy Storchaka in :issue:`2175`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2080 +#: ../../whatsnew/3.5.rst:2081 msgid "" ":func:`~xml.sax.parseString` now accepts a :class:`str` instance. " "(Contributed by Serhiy Storchaka in :issue:`10590`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2085 +#: ../../whatsnew/3.5.rst:2086 msgid "zipfile" msgstr "zipfile" -#: ../../whatsnew/3.5.rst:2087 +#: ../../whatsnew/3.5.rst:2088 msgid "" "ZIP output can now be written to unseekable streams. (Contributed by Serhiy " "Storchaka in :issue:`23252`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2090 +#: ../../whatsnew/3.5.rst:2091 msgid "" "The *mode* argument of :meth:`ZipFile.open() ` method " "now accepts ``\"x\"`` to request exclusive creation. (Contributed by Serhiy " "Storchaka in :issue:`21717`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2096 +#: ../../whatsnew/3.5.rst:2097 msgid "Other module-level changes" msgstr "" -#: ../../whatsnew/3.5.rst:2098 +#: ../../whatsnew/3.5.rst:2099 msgid "" -"Many functions in the :mod:`mmap`, :mod:`ossaudiodev`, :mod:`socket`, :mod:" -"`ssl`, and :mod:`codecs` modules now accept writable :term:`bytes-like " -"objects `. (Contributed by Serhiy Storchaka in :issue:" -"`23001`.)" +"Many functions in " +"the :mod:`mmap`, :mod:`ossaudiodev`, :mod:`socket`, :mod:`ssl`, " +"and :mod:`codecs` modules now accept writable :term:`bytes-like objects " +"`. (Contributed by Serhiy Storchaka in :issue:`23001`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2105 +#: ../../whatsnew/3.5.rst:2106 msgid "Optimizations" msgstr "Otimizações" -#: ../../whatsnew/3.5.rst:2107 +#: ../../whatsnew/3.5.rst:2108 msgid "" "The :func:`os.walk` function has been sped up by 3 to 5 times on POSIX " -"systems, and by 7 to 20 times on Windows. This was done using the new :func:" -"`os.scandir` function, which exposes file information from the underlying " -"``readdir`` or ``FindFirstFile``/``FindNextFile`` system calls. " +"systems, and by 7 to 20 times on Windows. This was done using the " +"new :func:`os.scandir` function, which exposes file information from the " +"underlying ``readdir`` or ``FindFirstFile``/``FindNextFile`` system calls. " "(Contributed by Ben Hoyt with help from Victor Stinner in :issue:`23605`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2113 +#: ../../whatsnew/3.5.rst:2114 msgid "" "Construction of ``bytes(int)`` (filled by zero bytes) is faster and uses " "less memory for large objects. ``calloc()`` is used instead of ``malloc()`` " -"to allocate memory for these objects. (Contributed by Victor Stinner in :" -"issue:`21233`.)" +"to allocate memory for these objects. (Contributed by Victor Stinner " +"in :issue:`21233`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2118 +#: ../../whatsnew/3.5.rst:2119 msgid "" -"Some operations on :mod:`ipaddress` :class:`~ipaddress.IPv4Network` and :" -"class:`~ipaddress.IPv6Network` have been massively sped up, such as :meth:" -"`~ipaddress.IPv4Network.subnets`, :meth:`~ipaddress.IPv4Network.supernet`, :" -"func:`~ipaddress.summarize_address_range`, :func:`~ipaddress." -"collapse_addresses`. The speed up can range from 3 to 15 times. (Contributed " -"by Antoine Pitrou, Michel Albert, and Markus in :issue:`21486`, :issue:" -"`21487`, :issue:`20826`, :issue:`23266`.)" +"Some operations on :mod:`ipaddress` :class:`~ipaddress.IPv4Network` " +"and :class:`~ipaddress.IPv6Network` have been massively sped up, such " +"as :meth:`~ipaddress.IPv4Network.subnets`, :meth:`~ipaddress.IPv4Network.supernet`, :func:`~ipaddress.summarize_address_range`, :func:`~ipaddress.collapse_addresses`. " +"The speed up can range from 3 to 15 times. (Contributed by Antoine Pitrou, " +"Michel Albert, and Markus " +"in :issue:`21486`, :issue:`21487`, :issue:`20826`, :issue:`23266`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2126 +#: ../../whatsnew/3.5.rst:2127 msgid "" "Pickling of :mod:`ipaddress` objects was optimized to produce significantly " "smaller output. (Contributed by Serhiy Storchaka in :issue:`23133`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2129 +#: ../../whatsnew/3.5.rst:2130 msgid "" "Many operations on :class:`io.BytesIO` are now 50% to 100% faster. " -"(Contributed by Serhiy Storchaka in :issue:`15381` and David Wilson in :" -"issue:`22003`.)" +"(Contributed by Serhiy Storchaka in :issue:`15381` and David Wilson " +"in :issue:`22003`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2133 +#: ../../whatsnew/3.5.rst:2134 msgid "" "The :func:`marshal.dumps` function is now faster: 65--85% with versions 3 " "and 4, 20--25% with versions 0 to 2 on typical data, and up to 5 times in " -"best cases. (Contributed by Serhiy Storchaka in :issue:`20416` and :issue:" -"`23344`.)" +"best cases. (Contributed by Serhiy Storchaka in :issue:`20416` " +"and :issue:`23344`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2138 +#: ../../whatsnew/3.5.rst:2139 msgid "" "The UTF-32 encoder is now 3 to 7 times faster. (Contributed by Serhiy " "Storchaka in :issue:`15027`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2141 +#: ../../whatsnew/3.5.rst:2142 msgid "" "Regular expressions are now parsed up to 10% faster. (Contributed by Serhiy " "Storchaka in :issue:`19380`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2144 +#: ../../whatsnew/3.5.rst:2145 msgid "" "The :func:`json.dumps` function was optimized to run with " "``ensure_ascii=False`` as fast as with ``ensure_ascii=True``. (Contributed " "by Naoki Inada in :issue:`23206`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2148 +#: ../../whatsnew/3.5.rst:2149 msgid "" "The :c:func:`PyObject_IsInstance` and :c:func:`PyObject_IsSubclass` " -"functions have been sped up in the common case that the second argument has :" -"class:`type` as its metaclass. (Contributed Georg Brandl by in :issue:" -"`22540`.)" +"functions have been sped up in the common case that the second argument " +"has :class:`type` as its metaclass. (Contributed Georg Brandl by " +"in :issue:`22540`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2153 +#: ../../whatsnew/3.5.rst:2154 msgid "" "Method caching was slightly improved, yielding up to 5% performance " -"improvement in some benchmarks. (Contributed by Antoine Pitrou in :issue:" -"`22847`.)" +"improvement in some benchmarks. (Contributed by Antoine Pitrou " +"in :issue:`22847`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2157 +#: ../../whatsnew/3.5.rst:2158 msgid "" "Objects from the :mod:`random` module now use 50% less memory on 64-bit " "builds. (Contributed by Serhiy Storchaka in :issue:`23488`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2160 +#: ../../whatsnew/3.5.rst:2161 msgid "" "The :func:`property` getter calls are up to 25% faster. (Contributed by Joe " "Jevnik in :issue:`23910`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2163 +#: ../../whatsnew/3.5.rst:2164 msgid "" "Instantiation of :class:`fractions.Fraction` is now up to 30% faster. " "(Contributed by Stefan Behnel in :issue:`22464`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2166 +#: ../../whatsnew/3.5.rst:2167 msgid "" -"String methods :meth:`~str.find`, :meth:`~str.rfind`, :meth:`~str.split`, :" -"meth:`~str.partition` and the :keyword:`in` string operator are now " -"significantly faster for searching 1-character substrings. (Contributed by " -"Serhiy Storchaka in :issue:`23573`.)" +"String " +"methods :meth:`~str.find`, :meth:`~str.rfind`, :meth:`~str.split`, :meth:`~str.partition` " +"and the :keyword:`in` string operator are now significantly faster for " +"searching 1-character substrings. (Contributed by Serhiy Storchaka " +"in :issue:`23573`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2173 +#: ../../whatsnew/3.5.rst:2174 msgid "Build and C API Changes" -msgstr "Alterações a compilações e API C" +msgstr "Mudanças a construções e API C" -#: ../../whatsnew/3.5.rst:2175 +#: ../../whatsnew/3.5.rst:2176 msgid "New ``calloc`` functions were added:" msgstr "" -#: ../../whatsnew/3.5.rst:2177 +#: ../../whatsnew/3.5.rst:2178 msgid ":c:func:`PyMem_RawCalloc`," -msgstr "" +msgstr ":c:func:`PyMem_RawCalloc`," -#: ../../whatsnew/3.5.rst:2178 +#: ../../whatsnew/3.5.rst:2179 msgid ":c:func:`PyMem_Calloc`," -msgstr "" +msgstr ":c:func:`PyMem_Calloc`," -#: ../../whatsnew/3.5.rst:2179 +#: ../../whatsnew/3.5.rst:2180 msgid ":c:func:`PyObject_Calloc`." -msgstr "" +msgstr ":c:func:`PyObject_Calloc`." -#: ../../whatsnew/3.5.rst:2181 +#: ../../whatsnew/3.5.rst:2182 msgid "(Contributed by Victor Stinner in :issue:`21233`.)" -msgstr "" +msgstr "(Contribuição de Victor Stinner em :issue:`21233`.)" -#: ../../whatsnew/3.5.rst:2183 +#: ../../whatsnew/3.5.rst:2184 msgid "New encoding/decoding helper functions:" msgstr "" -#: ../../whatsnew/3.5.rst:2185 +#: ../../whatsnew/3.5.rst:2186 msgid ":c:func:`Py_DecodeLocale` (replaced ``_Py_char2wchar()``)," msgstr "" -#: ../../whatsnew/3.5.rst:2186 +#: ../../whatsnew/3.5.rst:2187 msgid ":c:func:`Py_EncodeLocale` (replaced ``_Py_wchar2char()``)." msgstr "" -#: ../../whatsnew/3.5.rst:2188 +#: ../../whatsnew/3.5.rst:2189 msgid "(Contributed by Victor Stinner in :issue:`18395`.)" -msgstr "" +msgstr "(Contribuição de Victor Stinner em :issue:`18395`.)" -#: ../../whatsnew/3.5.rst:2190 +#: ../../whatsnew/3.5.rst:2191 msgid "" "A new :c:func:`PyCodec_NameReplaceErrors` function to replace the unicode " -"encode error with ``\\N{...}`` escapes. (Contributed by Serhiy Storchaka in :" -"issue:`19676`.)" +"encode error with ``\\N{...}`` escapes. (Contributed by Serhiy Storchaka " +"in :issue:`19676`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2194 +#: ../../whatsnew/3.5.rst:2195 msgid "" "A new :c:func:`PyErr_FormatV` function similar to :c:func:`PyErr_Format`, " -"but accepts a ``va_list`` argument. (Contributed by Antoine Pitrou in :issue:" -"`18711`.)" +"but accepts a :c:type:`va_list` argument. (Contributed by Antoine Pitrou " +"in :issue:`18711`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2198 +#: ../../whatsnew/3.5.rst:2199 msgid "" "A new :c:data:`PyExc_RecursionError` exception. (Contributed by Georg Brandl " "in :issue:`19235`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2201 +#: ../../whatsnew/3.5.rst:2202 msgid "" "New :c:func:`PyModule_FromDefAndSpec`, :c:func:`PyModule_FromDefAndSpec2`, " "and :c:func:`PyModule_ExecDef` functions introduced by :pep:`489` -- multi-" -"phase extension module initialization. (Contributed by Petr Viktorin in :" -"issue:`24268`.)" +"phase extension module initialization. (Contributed by Petr Viktorin " +"in :issue:`24268`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2206 +#: ../../whatsnew/3.5.rst:2207 msgid "" -"New :c:func:`PyNumber_MatrixMultiply` and :c:func:" -"`PyNumber_InPlaceMatrixMultiply` functions to perform matrix multiplication. " -"(Contributed by Benjamin Peterson in :issue:`21176`. See also :pep:`465` " -"for details.)" +"New :c:func:`PyNumber_MatrixMultiply` " +"and :c:func:`PyNumber_InPlaceMatrixMultiply` functions to perform matrix " +"multiplication. (Contributed by Benjamin Peterson in :issue:`21176`. See " +"also :pep:`465` for details.)" msgstr "" -#: ../../whatsnew/3.5.rst:2212 +#: ../../whatsnew/3.5.rst:2213 msgid "" "The :c:member:`PyTypeObject.tp_finalize` slot is now part of the stable ABI." msgstr "" -#: ../../whatsnew/3.5.rst:2214 +#: ../../whatsnew/3.5.rst:2215 msgid "" "Windows builds now require Microsoft Visual C++ 14.0, which is available as " "part of `Visual Studio 2015 `_." msgstr "" -#: ../../whatsnew/3.5.rst:2217 +#: ../../whatsnew/3.5.rst:2218 msgid "" "Extension modules now include a platform information tag in their filename " "on some platforms (the tag is optional, and CPython will import extensions " @@ -2847,123 +2860,123 @@ msgid "" "won't be loaded):" msgstr "" -#: ../../whatsnew/3.5.rst:2222 +#: ../../whatsnew/3.5.rst:2223 msgid "" "On Linux, extension module filenames end with ``.cpython-m-" "-.pyd``:" msgstr "" -#: ../../whatsnew/3.5.rst:2225 ../../whatsnew/3.5.rst:2242 +#: ../../whatsnew/3.5.rst:2226 ../../whatsnew/3.5.rst:2243 msgid "" "```` is the major number of the Python version; for Python 3.5 this " "is ``3``." msgstr "" -#: ../../whatsnew/3.5.rst:2228 ../../whatsnew/3.5.rst:2245 +#: ../../whatsnew/3.5.rst:2229 ../../whatsnew/3.5.rst:2246 msgid "" "```` is the minor number of the Python version; for Python 3.5 this " "is ``5``." msgstr "" -#: ../../whatsnew/3.5.rst:2231 +#: ../../whatsnew/3.5.rst:2232 msgid "" "```` is the hardware architecture the extension module was " "built to run on. It's most commonly either ``i386`` for 32-bit Intel " "platforms or ``x86_64`` for 64-bit Intel (and AMD) platforms." msgstr "" -#: ../../whatsnew/3.5.rst:2235 +#: ../../whatsnew/3.5.rst:2236 msgid "" "```` is always ``linux-gnu``, except for extensions built to talk to the " "32-bit ABI on 64-bit platforms, in which case it is ``linux-gnu32`` (and " "```` will be ``x86_64``)." msgstr "" -#: ../../whatsnew/3.5.rst:2239 +#: ../../whatsnew/3.5.rst:2240 msgid "" "On Windows, extension module filenames end with ``.cp-" ".pyd``:" msgstr "" -#: ../../whatsnew/3.5.rst:2248 +#: ../../whatsnew/3.5.rst:2249 msgid "" "```` is the platform the extension module was built for, either " "``win32`` for Win32, ``win_amd64`` for Win64, ``win_ia64`` for Windows " "Itanium 64, and ``win_arm`` for Windows on ARM." msgstr "" -#: ../../whatsnew/3.5.rst:2252 +#: ../../whatsnew/3.5.rst:2253 msgid "" "If built in debug mode, ```` will be ``_d``, otherwise it will be " "blank." msgstr "" -#: ../../whatsnew/3.5.rst:2255 +#: ../../whatsnew/3.5.rst:2256 msgid "" "On OS X platforms, extension module filenames now end with ``-darwin.so``." msgstr "" -#: ../../whatsnew/3.5.rst:2257 +#: ../../whatsnew/3.5.rst:2258 msgid "" "On all other platforms, extension module filenames are the same as they were " "with Python 3.4." msgstr "" -#: ../../whatsnew/3.5.rst:2262 +#: ../../whatsnew/3.5.rst:2263 msgid "Deprecated" msgstr "Descontinuados" -#: ../../whatsnew/3.5.rst:2265 +#: ../../whatsnew/3.5.rst:2266 msgid "New Keywords" msgstr "" -#: ../../whatsnew/3.5.rst:2267 +#: ../../whatsnew/3.5.rst:2268 msgid "" "``async`` and ``await`` are not recommended to be used as variable, class, " "function or module names. Introduced by :pep:`492` in Python 3.5, they will " "become proper keywords in Python 3.7." msgstr "" -#: ../../whatsnew/3.5.rst:2273 +#: ../../whatsnew/3.5.rst:2274 msgid "Deprecated Python Behavior" msgstr "Comportamento do Python descontinuado" -#: ../../whatsnew/3.5.rst:2275 +#: ../../whatsnew/3.5.rst:2276 msgid "" "Raising the :exc:`StopIteration` exception inside a generator will now " "generate a silent :exc:`PendingDeprecationWarning`, which will become a non-" -"silent deprecation warning in Python 3.6 and will trigger a :exc:" -"`RuntimeError` in Python 3.7. See :ref:`PEP 479: Change StopIteration " +"silent deprecation warning in Python 3.6 and will trigger " +"a :exc:`RuntimeError` in Python 3.7. See :ref:`PEP 479: Change StopIteration " "handling inside generators ` for details." msgstr "" -#: ../../whatsnew/3.5.rst:2283 +#: ../../whatsnew/3.5.rst:2284 msgid "Unsupported Operating Systems" msgstr "" -#: ../../whatsnew/3.5.rst:2285 +#: ../../whatsnew/3.5.rst:2286 msgid "" "Windows XP is no longer supported by Microsoft, thus, per :PEP:`11`, CPython " "3.5 is no longer officially supported on this OS." msgstr "" -#: ../../whatsnew/3.5.rst:2290 +#: ../../whatsnew/3.5.rst:2291 msgid "Deprecated Python modules, functions and methods" msgstr "" -#: ../../whatsnew/3.5.rst:2292 +#: ../../whatsnew/3.5.rst:2293 msgid "" "The :mod:`formatter` module has now graduated to full deprecation and is " "still slated for removal in Python 3.6." msgstr "" -#: ../../whatsnew/3.5.rst:2295 +#: ../../whatsnew/3.5.rst:2296 msgid "" -"The :func:`asyncio.async` function is deprecated in favor of :func:`~asyncio." -"ensure_future`." +"The :func:`asyncio.async` function is deprecated in favor " +"of :func:`~asyncio.ensure_future`." msgstr "" -#: ../../whatsnew/3.5.rst:2298 +#: ../../whatsnew/3.5.rst:2299 msgid "" "The :mod:`smtpd` module has in the past always decoded the DATA portion of " "email messages using the ``utf-8`` codec. This can now be controlled by the " @@ -2972,24 +2985,25 @@ msgid "" "keyword with an appropriate value to avoid the deprecation warning." msgstr "" -#: ../../whatsnew/3.5.rst:2304 +#: ../../whatsnew/3.5.rst:2305 msgid "" -"Directly assigning values to the :attr:`~http.cookies.Morsel.key`, :attr:" -"`~http.cookies.Morsel.value` and :attr:`~http.cookies.Morsel.coded_value` " -"of :class:`http.cookies.Morsel` objects is deprecated. Use the :meth:`~http." -"cookies.Morsel.set` method instead. In addition, the undocumented " -"*LegalChars* parameter of :meth:`~http.cookies.Morsel.set` is deprecated, " -"and is now ignored." +"Directly assigning values to " +"the :attr:`~http.cookies.Morsel.key`, :attr:`~http.cookies.Morsel.value` " +"and :attr:`~http.cookies.Morsel.coded_value` of :class:`http.cookies.Morsel` " +"objects is deprecated. Use the :meth:`~http.cookies.Morsel.set` method " +"instead. In addition, the undocumented *LegalChars* parameter " +"of :meth:`~http.cookies.Morsel.set` is deprecated, and is now ignored." msgstr "" -#: ../../whatsnew/3.5.rst:2311 +#: ../../whatsnew/3.5.rst:2312 msgid "" -"Passing a format string as keyword argument *format_string* to the :meth:" -"`~string.Formatter.format` method of the :class:`string.Formatter` class has " -"been deprecated. (Contributed by Serhiy Storchaka in :issue:`23671`.)" +"Passing a format string as keyword argument *format_string* to " +"the :meth:`~string.Formatter.format` method of the :class:`string.Formatter` " +"class has been deprecated. (Contributed by Serhiy Storchaka " +"in :issue:`23671`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2316 +#: ../../whatsnew/3.5.rst:2317 msgid "" "The :func:`platform.dist` and :func:`platform.linux_distribution` functions " "are now deprecated. Linux distributions use too many different ways of " @@ -2997,41 +3011,41 @@ msgid "" "(Contributed by Vajrasky Kok and Berker Peksag in :issue:`1322`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2321 +#: ../../whatsnew/3.5.rst:2322 msgid "" "The previously undocumented ``from_function`` and ``from_builtin`` methods " -"of :class:`inspect.Signature` are deprecated. Use the new :meth:`Signature." -"from_callable() ` method instead. " -"(Contributed by Yury Selivanov in :issue:`24248`.)" +"of :class:`inspect.Signature` are deprecated. Use the " +"new :meth:`Signature.from_callable() ` " +"method instead. (Contributed by Yury Selivanov in :issue:`24248`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2326 +#: ../../whatsnew/3.5.rst:2327 msgid "" "The :func:`inspect.getargspec` function is deprecated and scheduled to be " "removed in Python 3.6. (See :issue:`20438` for details.)" msgstr "" -#: ../../whatsnew/3.5.rst:2329 +#: ../../whatsnew/3.5.rst:2330 msgid "" -"The :mod:`inspect` :func:`~inspect.getfullargspec`, :func:`~inspect." -"getcallargs`, and :func:`~inspect.formatargspec` functions are deprecated in " -"favor of the :func:`inspect.signature` API. (Contributed by Yury Selivanov " +"The :mod:`inspect` :func:`~inspect.getfullargspec`, :func:`~inspect.getcallargs`, " +"and :func:`~inspect.formatargspec` functions are deprecated in favor of " +"the :func:`inspect.signature` API. (Contributed by Yury Selivanov " "in :issue:`20438`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2334 +#: ../../whatsnew/3.5.rst:2335 msgid "" ":func:`~inspect.getargvalues` and :func:`~inspect.formatargvalues` functions " "were inadvertently marked as deprecated with the release of Python 3.5.0." msgstr "" -#: ../../whatsnew/3.5.rst:2337 +#: ../../whatsnew/3.5.rst:2338 msgid "" "Use of :const:`re.LOCALE` flag with str patterns or :const:`re.ASCII` is now " "deprecated. (Contributed by Serhiy Storchaka in :issue:`22407`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2340 +#: ../../whatsnew/3.5.rst:2341 msgid "" "Use of unrecognized special sequences consisting of ``'\\'`` and an ASCII " "letter in regular expression patterns and replacement patterns now raises a " @@ -3039,23 +3053,23 @@ msgid "" "Serhiy Storchaka in :issue:`23622`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2345 +#: ../../whatsnew/3.5.rst:2346 msgid "" -"The undocumented and unofficial *use_load_tests* default argument of the :" -"meth:`unittest.TestLoader.loadTestsFromModule` method now is deprecated and " -"ignored. (Contributed by Robert Collins and Barry A. Warsaw in :issue:" -"`16662`.)" +"The undocumented and unofficial *use_load_tests* default argument of " +"the :meth:`unittest.TestLoader.loadTestsFromModule` method now is deprecated " +"and ignored. (Contributed by Robert Collins and Barry A. Warsaw " +"in :issue:`16662`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2352 +#: ../../whatsnew/3.5.rst:2353 msgid "Removed" msgstr "Removidos" -#: ../../whatsnew/3.5.rst:2355 +#: ../../whatsnew/3.5.rst:2356 msgid "API and Feature Removals" msgstr "Remoção de APIs e recursos" -#: ../../whatsnew/3.5.rst:2357 +#: ../../whatsnew/3.5.rst:2358 msgid "" "The following obsolete and previously deprecated APIs and features have been " "removed:" @@ -3063,35 +3077,35 @@ msgstr "" "The following obsolete and previously deprecated APIs and features have been " "removed:" -#: ../../whatsnew/3.5.rst:2360 +#: ../../whatsnew/3.5.rst:2361 msgid "" "The ``__version__`` attribute has been dropped from the email package. The " "email code hasn't been shipped separately from the stdlib for a long time, " "and the ``__version__`` string was not updated in the last few releases." msgstr "" -#: ../../whatsnew/3.5.rst:2364 +#: ../../whatsnew/3.5.rst:2365 msgid "" "The internal ``Netrc`` class in the :mod:`ftplib` module was deprecated in " "3.4, and has now been removed. (Contributed by Matt Chaput in :issue:`6623`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2368 +#: ../../whatsnew/3.5.rst:2369 msgid "The concept of ``.pyo`` files has been removed." msgstr "" -#: ../../whatsnew/3.5.rst:2370 +#: ../../whatsnew/3.5.rst:2371 msgid "" "The JoinableQueue class in the provisional :mod:`asyncio` module was " "deprecated in 3.4.4 and is now removed. (Contributed by A. Jesse Jiryu Davis " "in :issue:`23464`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2376 +#: ../../whatsnew/3.5.rst:2377 msgid "Porting to Python 3.5" msgstr "" -#: ../../whatsnew/3.5.rst:2378 +#: ../../whatsnew/3.5.rst:2379 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -3099,50 +3113,50 @@ msgstr "" "Esta seção lista as alterações descritas anteriormente e outras correções " "que podem exigir alterações no seu código." -#: ../../whatsnew/3.5.rst:2383 +#: ../../whatsnew/3.5.rst:2384 msgid "Changes in Python behavior" msgstr "Alterações no comportamento do Python" -#: ../../whatsnew/3.5.rst:2385 +#: ../../whatsnew/3.5.rst:2386 msgid "" "Due to an oversight, earlier Python versions erroneously accepted the " "following syntax::" msgstr "" -#: ../../whatsnew/3.5.rst:2391 +#: ../../whatsnew/3.5.rst:2392 msgid "" "Python 3.5 now correctly raises a :exc:`SyntaxError`, as generator " "expressions must be put in parentheses if not a sole argument to a function." msgstr "" -#: ../../whatsnew/3.5.rst:2396 +#: ../../whatsnew/3.5.rst:2397 msgid "Changes in the Python API" msgstr "Alterações na API Python" -#: ../../whatsnew/3.5.rst:2398 +#: ../../whatsnew/3.5.rst:2399 msgid "" ":pep:`475`: System calls are now retried when interrupted by a signal " "instead of raising :exc:`InterruptedError` if the Python signal handler does " "not raise an exception." msgstr "" -#: ../../whatsnew/3.5.rst:2402 +#: ../../whatsnew/3.5.rst:2403 msgid "" "Before Python 3.5, a :class:`datetime.time` object was considered to be " "false if it represented midnight in UTC. This behavior was considered " -"obscure and error-prone and has been removed in Python 3.5. See :issue:" -"`13936` for full details." +"obscure and error-prone and has been removed in Python 3.5. " +"See :issue:`13936` for full details." msgstr "" -#: ../../whatsnew/3.5.rst:2407 +#: ../../whatsnew/3.5.rst:2408 msgid "" -"The :meth:`ssl.SSLSocket.send()` method now raises either :exc:`ssl." -"SSLWantReadError` or :exc:`ssl.SSLWantWriteError` on a non-blocking socket " -"if the operation would block. Previously, it would return ``0``. " -"(Contributed by Nikolaus Rath in :issue:`20951`.)" +"The :meth:`ssl.SSLSocket.send()` method now raises " +"either :exc:`ssl.SSLWantReadError` or :exc:`ssl.SSLWantWriteError` on a non-" +"blocking socket if the operation would block. Previously, it would return " +"``0``. (Contributed by Nikolaus Rath in :issue:`20951`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2412 +#: ../../whatsnew/3.5.rst:2413 msgid "" "The ``__name__`` attribute of generators is now set from the function name, " "instead of being set from the code name. Use ``gen.gi_code.co_name`` to " @@ -3151,17 +3165,17 @@ msgid "" "generator (``repr(gen)``). (Contributed by Victor Stinner in :issue:`21205`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2419 +#: ../../whatsnew/3.5.rst:2420 msgid "" -"The deprecated \"strict\" mode and argument of :class:`~html.parser." -"HTMLParser`, :meth:`HTMLParser.error`, and the :exc:`HTMLParserError` " -"exception have been removed. (Contributed by Ezio Melotti in :issue:" -"`15114`.) The *convert_charrefs* argument of :class:`~html.parser." -"HTMLParser` is now ``True`` by default. (Contributed by Berker Peksag in :" -"issue:`21047`.)" +"The deprecated \"strict\" mode and argument " +"of :class:`~html.parser.HTMLParser`, :meth:`!HTMLParser.error`, and " +"the :exc:`!HTMLParserError` exception have been removed. (Contributed by " +"Ezio Melotti in :issue:`15114`.) The *convert_charrefs* argument " +"of :class:`~html.parser.HTMLParser` is now ``True`` by default. " +"(Contributed by Berker Peksag in :issue:`21047`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2425 +#: ../../whatsnew/3.5.rst:2426 msgid "" "Although it is not formally part of the API, it is worth noting for porting " "purposes (ie: fixing tests) that error messages that were previously of the " @@ -3170,16 +3184,16 @@ msgid "" "Ezio Melotti in :issue:`16518`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2431 +#: ../../whatsnew/3.5.rst:2432 msgid "" -"If the current directory is set to a directory that no longer exists then :" -"exc:`FileNotFoundError` will no longer be raised and instead :meth:" -"`~importlib.machinery.FileFinder.find_spec` will return ``None`` **without** " -"caching ``None`` in :data:`sys.path_importer_cache`, which is different than " -"the typical case (:issue:`22834`)." +"If the current directory is set to a directory that no longer exists " +"then :exc:`FileNotFoundError` will no longer be raised and " +"instead :meth:`~importlib.machinery.FileFinder.find_spec` will return " +"``None`` **without** caching ``None`` in :data:`sys.path_importer_cache`, " +"which is different than the typical case (:issue:`22834`)." msgstr "" -#: ../../whatsnew/3.5.rst:2437 +#: ../../whatsnew/3.5.rst:2438 msgid "" "HTTP status code and messages from :mod:`http.client` and :mod:`http.server` " "were refactored into a common :class:`~http.HTTPStatus` enum. The values " @@ -3187,18 +3201,18 @@ msgid "" "compatibility. (Contributed by Demian Brecht in :issue:`21793`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2442 +#: ../../whatsnew/3.5.rst:2443 msgid "" "When an import loader defines :meth:`importlib.machinery.Loader.exec_module` " -"it is now expected to also define :meth:`~importlib.machinery.Loader." -"create_module` (raises a :exc:`DeprecationWarning` now, will be an error in " -"Python 3.6). If the loader inherits from :class:`importlib.abc.Loader` then " -"there is nothing to do, else simply define :meth:`~importlib.machinery." -"Loader.create_module` to return ``None``. (Contributed by Brett Cannon in :" -"issue:`23014`.)" +"it is now expected to also " +"define :meth:`~importlib.machinery.Loader.create_module` (raises " +"a :exc:`DeprecationWarning` now, will be an error in Python 3.6). If the " +"loader inherits from :class:`importlib.abc.Loader` then there is nothing to " +"do, else simply define :meth:`~importlib.machinery.Loader.create_module` to " +"return ``None``. (Contributed by Brett Cannon in :issue:`23014`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2450 +#: ../../whatsnew/3.5.rst:2451 msgid "" "The :func:`re.split` function always ignored empty pattern matches, so the " "``\"x*\"`` pattern worked the same as ``\"x+\"``, and the ``\"\\b\"`` " @@ -3209,53 +3223,54 @@ msgid "" "error. (Contributed by Serhiy Storchaka in :issue:`22818`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2458 +#: ../../whatsnew/3.5.rst:2459 msgid "" "The :class:`http.cookies.Morsel` dict-like interface has been made self " -"consistent: morsel comparison now takes the :attr:`~http.cookies.Morsel." -"key` and :attr:`~http.cookies.Morsel.value` into account, :meth:`~http." -"cookies.Morsel.copy` now results in a :class:`~http.cookies.Morsel` instance " -"rather than a :class:`dict`, and :meth:`~http.cookies.Morsel.update` will " -"now raise an exception if any of the keys in the update dictionary are " -"invalid. In addition, the undocumented *LegalChars* parameter of :func:" -"`~http.cookies.Morsel.set` is deprecated and is now ignored. (Contributed " -"by Demian Brecht in :issue:`2211`.)" +"consistent: morsel comparison now takes " +"the :attr:`~http.cookies.Morsel.key` and :attr:`~http.cookies.Morsel.value` " +"into account, :meth:`~http.cookies.Morsel.copy` now results in " +"a :class:`~http.cookies.Morsel` instance rather than a :class:`dict`, " +"and :meth:`~http.cookies.Morsel.update` will now raise an exception if any " +"of the keys in the update dictionary are invalid. In addition, the " +"undocumented *LegalChars* parameter of :func:`~http.cookies.Morsel.set` is " +"deprecated and is now ignored. (Contributed by Demian Brecht " +"in :issue:`2211`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2468 +#: ../../whatsnew/3.5.rst:2469 msgid "" ":pep:`488` has removed ``.pyo`` files from Python and introduced the " -"optional ``opt-`` tag in ``.pyc`` file names. The :func:`importlib.util." -"cache_from_source` has gained an *optimization* parameter to help control " -"the ``opt-`` tag. Because of this, the *debug_override* parameter of the " -"function is now deprecated. ``.pyo`` files are also no longer supported as a " -"file argument to the Python interpreter and thus serve no purpose when " -"distributed on their own (i.e. sourceless code distribution). Due to the " -"fact that the magic number for bytecode has changed in Python 3.5, all old " -"``.pyo`` files from previous versions of Python are invalid regardless of " -"this PEP." +"optional ``opt-`` tag in ``.pyc`` file names. " +"The :func:`importlib.util.cache_from_source` has gained an *optimization* " +"parameter to help control the ``opt-`` tag. Because of this, the " +"*debug_override* parameter of the function is now deprecated. ``.pyo`` files " +"are also no longer supported as a file argument to the Python interpreter " +"and thus serve no purpose when distributed on their own (i.e. sourceless " +"code distribution). Due to the fact that the magic number for bytecode has " +"changed in Python 3.5, all old ``.pyo`` files from previous versions of " +"Python are invalid regardless of this PEP." msgstr "" -#: ../../whatsnew/3.5.rst:2479 +#: ../../whatsnew/3.5.rst:2480 msgid "" -"The :mod:`socket` module now exports the :data:`~socket.CAN_RAW_FD_FRAMES` " +"The :mod:`socket` module now exports the :const:`~socket.CAN_RAW_FD_FRAMES` " "constant on linux 3.6 and greater." msgstr "" -#: ../../whatsnew/3.5.rst:2482 +#: ../../whatsnew/3.5.rst:2483 msgid "" "The :func:`ssl.cert_time_to_seconds` function now interprets the input time " "as UTC and not as local time, per :rfc:`5280`. Additionally, the return " "value is always an :class:`int`. (Contributed by Akira Li in :issue:`19940`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2486 +#: ../../whatsnew/3.5.rst:2487 msgid "" "The ``pygettext.py`` Tool now uses the standard +NNNN format for timezones " "in the POT-Creation-Date header." msgstr "" -#: ../../whatsnew/3.5.rst:2489 +#: ../../whatsnew/3.5.rst:2490 msgid "" "The :mod:`smtplib` module now uses :data:`sys.stderr` instead of the " "previous module-level :data:`stderr` variable for debug output. If your " @@ -3263,59 +3278,62 @@ msgid "" "debug output, you will need to update it to capture sys.stderr instead." msgstr "" -#: ../../whatsnew/3.5.rst:2494 +#: ../../whatsnew/3.5.rst:2495 msgid "" "The :meth:`str.startswith` and :meth:`str.endswith` methods no longer return " "``True`` when finding the empty string and the indexes are completely out of " "range. (Contributed by Serhiy Storchaka in :issue:`24284`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2498 +#: ../../whatsnew/3.5.rst:2499 msgid "" "The :func:`inspect.getdoc` function now returns documentation strings " "inherited from base classes. Documentation strings no longer need to be " "duplicated if the inherited documentation is appropriate. To suppress an " "inherited string, an empty string must be specified (or the documentation " "may be filled in). This change affects the output of the :mod:`pydoc` " -"module and the :func:`help` function. (Contributed by Serhiy Storchaka in :" -"issue:`15582`.)" +"module and the :func:`help` function. (Contributed by Serhiy Storchaka " +"in :issue:`15582`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2506 +#: ../../whatsnew/3.5.rst:2507 msgid "" "Nested :func:`functools.partial` calls are now flattened. If you were " -"relying on the previous behavior, you can now either add an attribute to a :" -"func:`functools.partial` object or you can create a subclass of :func:" -"`functools.partial`. (Contributed by Alexander Belopolsky in :issue:`7830`.)" +"relying on the previous behavior, you can now either add an attribute to " +"a :func:`functools.partial` object or you can create a subclass " +"of :func:`functools.partial`. (Contributed by Alexander Belopolsky " +"in :issue:`7830`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2513 +#: ../../whatsnew/3.5.rst:2514 msgid "Changes in the C API" msgstr "Alterações na API C" -#: ../../whatsnew/3.5.rst:2515 +#: ../../whatsnew/3.5.rst:2516 msgid "" -"The undocumented :c:member:`~PyMemoryViewObject.format` member of the (non-" +"The undocumented :c:member:`!format` member of the (non-" "public) :c:type:`PyMemoryViewObject` structure has been removed. All " "extensions relying on the relevant parts in ``memoryobject.h`` must be " "rebuilt." msgstr "" -#: ../../whatsnew/3.5.rst:2520 +#: ../../whatsnew/3.5.rst:2521 msgid "" -"The :c:type:`PyMemAllocator` structure was renamed to :c:type:" -"`PyMemAllocatorEx` and a new ``calloc`` field was added." +"The :c:type:`PyMemAllocator` structure was renamed " +"to :c:type:`PyMemAllocatorEx` and a new ``calloc`` field was added." msgstr "" +"A estrutura :c:type:`PyMemAllocator` foi renomeada " +"para :c:type:`PyMemAllocatorEx` e um novo campo ``calloc`` foi adicionado." -#: ../../whatsnew/3.5.rst:2523 +#: ../../whatsnew/3.5.rst:2524 msgid "" -"Removed non-documented macro :c:macro:`PyObject_REPR` which leaked " +"Removed non-documented macro :c:macro:`!PyObject_REPR()` which leaked " "references. Use format character ``%R`` in :c:func:`PyUnicode_FromFormat`-" "like functions to format the :func:`repr` of the object. (Contributed by " "Serhiy Storchaka in :issue:`22453`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2528 +#: ../../whatsnew/3.5.rst:2529 msgid "" "Because the lack of the :attr:`__module__` attribute breaks pickling and " "introspection, a deprecation warning is now raised for builtin types without " @@ -3323,57 +3341,71 @@ msgid "" "future. (Contributed by Serhiy Storchaka in :issue:`20204`.)" msgstr "" -#: ../../whatsnew/3.5.rst:2534 +#: ../../whatsnew/3.5.rst:2535 msgid "" -"As part of the :pep:`492` implementation, the ``tp_reserved`` slot of :c:" -"type:`PyTypeObject` was replaced with a :c:member:`tp_as_async` slot. Refer " -"to :ref:`coro-objects` for new types, structures and functions." +"As part of the :pep:`492` implementation, the ``tp_reserved`` slot " +"of :c:type:`PyTypeObject` was replaced with " +"a :c:member:`~PyTypeObject.tp_as_async` slot. Refer to :ref:`coro-objects` " +"for new types, structures and functions." msgstr "" -#: ../../whatsnew/3.5.rst:2541 +#: ../../whatsnew/3.5.rst:2542 msgid "Notable changes in Python 3.5.4" msgstr "" -#: ../../whatsnew/3.5.rst:2544 +#: ../../whatsnew/3.5.rst:2545 msgid "New ``make regen-all`` build target" -msgstr "" +msgstr "Novo alvo de construção ``make regen-all``" -#: ../../whatsnew/3.5.rst:2546 +#: ../../whatsnew/3.5.rst:2547 msgid "" "To simplify cross-compilation, and to ensure that CPython can reliably be " "compiled without requiring an existing version of Python to already be " "available, the autotools-based build system no longer attempts to implicitly " "recompile generated files based on file modification times." msgstr "" +"Para simplificar a compilação cruzada e garantir que o CPython possa ser " +"compilado de forma confiável sem exigir que uma versão existente do Python " +"já esteja disponível, o sistema de construção baseado em autotools não tenta " +"mais recompilar implicitamente os arquivos gerados com base nos tempos de " +"modificação dos arquivos." -#: ../../whatsnew/3.5.rst:2551 +#: ../../whatsnew/3.5.rst:2552 msgid "" "Instead, a new ``make regen-all`` command has been added to force " "regeneration of these files when desired (e.g. after an initial version of " "Python has already been built based on the pregenerated versions)." msgstr "" +"Em vez disso, um novo comando ``make regen-all`` foi adicionado para forçar " +"a regeneração desses arquivos quando desejado (por exemplo, após uma versão " +"inicial do Python já ter sido construída com base nas versões pré-geradas)." -#: ../../whatsnew/3.5.rst:2555 +#: ../../whatsnew/3.5.rst:2556 msgid "" -"More selective regeneration targets are also defined - see :source:`Makefile." -"pre.in` for details." +"More selective regeneration targets are also defined - " +"see :source:`Makefile.pre.in` for details." msgstr "" +"Alvos de regeneração mais seletivos também são definidos -- " +"veja :source:`Makefile.pre.in` para detalhes." -#: ../../whatsnew/3.5.rst:2558 ../../whatsnew/3.5.rst:2571 +#: ../../whatsnew/3.5.rst:2559 ../../whatsnew/3.5.rst:2572 msgid "(Contributed by Victor Stinner in :issue:`23404`.)" msgstr "(Contribuição de Victor Stinner em :issue:`23404`.)" -#: ../../whatsnew/3.5.rst:2564 +#: ../../whatsnew/3.5.rst:2565 msgid "Removal of ``make touch`` build target" -msgstr "" +msgstr "Remoção do alvo de construção ``make touch``" -#: ../../whatsnew/3.5.rst:2566 +#: ../../whatsnew/3.5.rst:2567 msgid "" "The ``make touch`` build target previously used to request implicit " "regeneration of generated files by updating their modification times has " "been removed." msgstr "" +"O alvo de construção ``make touch`` usado anteriormente para solicitar " +"regeneração implícita de arquivos gerados atualizando seus tempos de " +"modificação foi removido." -#: ../../whatsnew/3.5.rst:2569 +#: ../../whatsnew/3.5.rst:2570 msgid "It has been replaced by the new ``make regen-all`` target." -msgstr "" +msgstr "Ele foi substituído pelo novo alvo ``make regen-all``." diff --git a/whatsnew/3.6.po b/whatsnew/3.6.po index e523ec90d..fe70e7793 100644 --- a/whatsnew/3.6.po +++ b/whatsnew/3.6.po @@ -1,30 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Raphael Mendonça, 2021 -# Ricardo Cappellano , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Victor Matheus Castro , 2021 -# Vinicius Gubiani Ferreira , 2021 -# Rafael Fontenelle , 2022 +# python-doc bot, 2025 +# Rafael Fontenelle , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2022\n" +"POT-Creation-Date: 2026-10-15 21:21+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: Rafael Fontenelle , 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -34,7 +30,7 @@ msgstr "What's New In Python 3.6" #: ../../whatsnew/3.6.rst:0 msgid "Editors" -msgstr "" +msgstr "Editores" #: ../../whatsnew/3.6.rst:5 msgid "Elvis Pranskevichus , Yury Selivanov " @@ -100,19 +96,19 @@ msgstr "Melhorias na implementação do CPython:" #: ../../whatsnew/3.6.rst:80 msgid "" -"The :ref:`dict ` type has been reimplemented to use a :ref:" -"`more compact representation ` based on `a proposal " -"by Raymond Hettinger `_ and similar to the `PyPy dict implementation`_. " +"The :ref:`dict ` type has been reimplemented to use " +"a :ref:`more compact representation ` based on `a " +"proposal by Raymond Hettinger `_ and similar to the `PyPy dict " +"implementation`_. This resulted in dictionaries using 20% to 25% less " +"memory when compared to Python 3.5." +msgstr "" +"The :ref:`dict ` type has been reimplemented to use " +"a :ref:`more compact representation ` based on `a " +"proposal by Raymond Hettinger `_ and similar to the `PyPy dict implementation`_. " "This resulted in dictionaries using 20% to 25% less memory when compared to " "Python 3.5." -msgstr "" -"The :ref:`dict ` type has been reimplemented to use a :ref:" -"`more compact representation ` based on `a proposal " -"by Raymond Hettinger `_ and similar to the `PyPy dict implementation`_. This " -"resulted in dictionaries using 20% to 25% less memory when compared to " -"Python 3.5." #: ../../whatsnew/3.6.rst:87 msgid "" @@ -279,12 +275,12 @@ msgstr "" #: ../../whatsnew/3.6.rst:159 msgid "" "``python.exe`` and ``pythonw.exe`` have been marked as long-path aware, " -"which means that the 260 character path limit may no longer apply. See :ref:" -"`removing the MAX_PATH limitation ` for details." +"which means that the 260 character path limit may no longer apply. " +"See :ref:`removing the MAX_PATH limitation ` for details." msgstr "" "``python.exe`` and ``pythonw.exe`` have been marked as long-path aware, " -"which means that the 260 character path limit may no longer apply. See :ref:" -"`removing the MAX_PATH limitation ` for details." +"which means that the 260 character path limit may no longer apply. " +"See :ref:`removing the MAX_PATH limitation ` for details." #: ../../whatsnew/3.6.rst:163 msgid "" @@ -295,9 +291,9 @@ msgstr "" #: ../../whatsnew/3.6.rst:167 msgid "" -"A ``python36.zip`` file now works as a landmark to infer :envvar:" -"`PYTHONHOME`. See :ref:`the documentation ` for " -"more information." +"A ``python36.zip`` file now works as a landmark to " +"infer :envvar:`PYTHONHOME`. See :ref:`the documentation " +"` for more information." msgstr "" #: ../../whatsnew/3.6.rst:176 @@ -310,11 +306,11 @@ msgstr "PEP 498: Formatted string literals" #: ../../whatsnew/3.6.rst:183 msgid "" -":pep:`498` introduces a new kind of string literals: *f-strings*, or :ref:" -"`formatted string literals `." +":pep:`498` introduces a new kind of string literals: *f-strings*, " +"or :ref:`formatted string literals `." msgstr "" -":pep:`498` introduces a new kind of string literals: *f-strings*, or :ref:" -"`formatted string literals `." +":pep:`498` introduces a new kind of string literals: *f-strings*, " +"or :ref:`formatted string literals `." #: ../../whatsnew/3.6.rst:186 msgid "" @@ -508,9 +504,9 @@ msgstr "" #: ../../whatsnew/3.6.rst:348 msgid "" -"In order to allow zero-argument :func:`super` calls to work correctly from :" -"meth:`~object.__init_subclass__` implementations, custom metaclasses must " -"ensure that the new ``__classcell__`` namespace entry is propagated to " +"In order to allow zero-argument :func:`super` calls to work correctly " +"from :meth:`~object.__init_subclass__` implementations, custom metaclasses " +"must ensure that the new ``__classcell__`` namespace entry is propagated to " "``type.__new__`` (as described in :ref:`class-object-creation`)." msgstr "" @@ -532,13 +528,13 @@ msgstr "" #: ../../whatsnew/3.6.rst:366 msgid "" -":pep:`487` extends the descriptor protocol to include the new optional :meth:" -"`~object.__set_name__` method. Whenever a new class is defined, the new " -"method will be called on all descriptors included in the definition, " -"providing them with a reference to the class being defined and the name " -"given to the descriptor within the class namespace. In other words, " -"instances of descriptors can now know the attribute name of the descriptor " -"in the owner class::" +":pep:`487` extends the descriptor protocol to include the new " +"optional :meth:`~object.__set_name__` method. Whenever a new class is " +"defined, the new method will be called on all descriptors included in the " +"definition, providing them with a reference to the class being defined and " +"the name given to the descriptor within the class namespace. In other " +"words, instances of descriptors can now know the attribute name of the " +"descriptor in the owner class::" msgstr "" #: ../../whatsnew/3.6.rst:396 @@ -551,13 +547,13 @@ msgstr "" #: ../../whatsnew/3.6.rst:404 msgid "" -"File system paths have historically been represented as :class:`str` or :" -"class:`bytes` objects. This has led to people who write code which operate " -"on file system paths to assume that such objects are only one of those two " -"types (an :class:`int` representing a file descriptor does not count as that " -"is not a file path). Unfortunately that assumption prevents alternative " -"object representations of file system paths like :mod:`pathlib` from working " -"with pre-existing code, including Python's standard library." +"File system paths have historically been represented as :class:`str` " +"or :class:`bytes` objects. This has led to people who write code which " +"operate on file system paths to assume that such objects are only one of " +"those two types (an :class:`int` representing a file descriptor does not " +"count as that is not a file path). Unfortunately that assumption prevents " +"alternative object representations of file system paths like :mod:`pathlib` " +"from working with pre-existing code, including Python's standard library." msgstr "" #: ../../whatsnew/3.6.rst:413 @@ -567,8 +563,8 @@ msgid "" "method, an object signals that it represents a path. An object can then " "provide a low-level representation of a file system path as a :class:`str` " "or :class:`bytes` object. This means an object is considered :term:`path-" -"like ` if it implements :class:`os.PathLike` or is a :" -"class:`str` or :class:`bytes` object which represents a file system path. " +"like ` if it implements :class:`os.PathLike` or is " +"a :class:`str` or :class:`bytes` object which represents a file system path. " "Code can use :func:`os.fspath`, :func:`os.fsdecode`, or :func:`os.fsencode` " "to explicitly get a :class:`str` and/or :class:`bytes` representation of a " "path-like object." @@ -576,26 +572,28 @@ msgstr "" #: ../../whatsnew/3.6.rst:426 msgid "" -"The built-in :func:`open` function has been updated to accept :class:`os." -"PathLike` objects, as have all relevant functions in the :mod:`os` and :mod:" -"`os.path` modules, and most other functions and classes in the standard " -"library. The :class:`os.DirEntry` class and relevant classes in :mod:" -"`pathlib` have also been updated to implement :class:`os.PathLike`." +"The built-in :func:`open` function has been updated to " +"accept :class:`os.PathLike` objects, as have all relevant functions in " +"the :mod:`os` and :mod:`os.path` modules, and most other functions and " +"classes in the standard library. The :class:`os.DirEntry` class and " +"relevant classes in :mod:`pathlib` have also been updated to " +"implement :class:`os.PathLike`." msgstr "" #: ../../whatsnew/3.6.rst:433 msgid "" "The hope is that updating the fundamental functions for operating on file " -"system paths will lead to third-party code to implicitly support all :term:" -"`path-like objects ` without any code changes, or at least " -"very minimal ones (e.g. calling :func:`os.fspath` at the beginning of code " -"before operating on a path-like object)." +"system paths will lead to third-party code to implicitly support " +"all :term:`path-like objects ` without any code changes, " +"or at least very minimal ones (e.g. calling :func:`os.fspath` at the " +"beginning of code before operating on a path-like object)." msgstr "" #: ../../whatsnew/3.6.rst:440 msgid "" -"Here are some examples of how the new interface allows for :class:`pathlib." -"Path` to be used more easily and transparently with pre-existing code::" +"Here are some examples of how the new interface allows " +"for :class:`pathlib.Path` to be used more easily and transparently with pre-" +"existing code::" msgstr "" #: ../../whatsnew/3.6.rst:457 @@ -632,13 +630,15 @@ msgstr "" #: ../../whatsnew/3.6.rst:476 msgid "" -":pep:`495` adds the new *fold* attribute to instances of :class:`datetime." -"datetime` and :class:`datetime.time` classes to differentiate between two " -"moments in time for which local times are the same::" +":pep:`495` adds the new *fold* attribute to instances " +"of :class:`datetime.datetime` and :class:`datetime.time` classes to " +"differentiate between two moments in time for which local times are the " +"same::" msgstr "" -":pep:`495` adds the new *fold* attribute to instances of :class:`datetime." -"datetime` and :class:`datetime.time` classes to differentiate between two " -"moments in time for which local times are the same::" +":pep:`495` adds the new *fold* attribute to instances " +"of :class:`datetime.datetime` and :class:`datetime.time` classes to " +"differentiate between two moments in time for which local times are the " +"same::" #: ../../whatsnew/3.6.rst:491 msgid "" @@ -680,27 +680,27 @@ msgstr "" msgid "" "Prior to Python 3.6, data loss could result when using bytes paths on " "Windows. With this change, using bytes to represent paths is now supported " -"on Windows, provided those bytes are encoded with the encoding returned by :" -"func:`sys.getfilesystemencoding()`, which now defaults to ``'utf-8'``." +"on Windows, provided those bytes are encoded with the encoding returned " +"by :func:`sys.getfilesystemencoding()`, which now defaults to ``'utf-8'``." msgstr "" "Prior to Python 3.6, data loss could result when using bytes paths on " "Windows. With this change, using bytes to represent paths is now supported " -"on Windows, provided those bytes are encoded with the encoding returned by :" -"func:`sys.getfilesystemencoding()`, which now defaults to ``'utf-8'``." +"on Windows, provided those bytes are encoded with the encoding returned " +"by :func:`sys.getfilesystemencoding()`, which now defaults to ``'utf-8'``." #: ../../whatsnew/3.6.rst:516 msgid "" -"Applications that do not use str to represent paths should use :func:`os." -"fsencode()` and :func:`os.fsdecode()` to ensure their bytes are correctly " -"encoded. To revert to the previous behaviour, set :envvar:" -"`PYTHONLEGACYWINDOWSFSENCODING` or call :func:`sys." -"_enablelegacywindowsfsencoding`." +"Applications that do not use str to represent paths should " +"use :func:`os.fsencode()` and :func:`os.fsdecode()` to ensure their bytes " +"are correctly encoded. To revert to the previous behaviour, " +"set :envvar:`PYTHONLEGACYWINDOWSFSENCODING` or " +"call :func:`sys._enablelegacywindowsfsencoding`." msgstr "" -"Applications that do not use str to represent paths should use :func:`os." -"fsencode()` and :func:`os.fsdecode()` to ensure their bytes are correctly " -"encoded. To revert to the previous behaviour, set :envvar:" -"`PYTHONLEGACYWINDOWSFSENCODING` or call :func:`sys." -"_enablelegacywindowsfsencoding`." +"Applications that do not use str to represent paths should " +"use :func:`os.fsencode()` and :func:`os.fsdecode()` to ensure their bytes " +"are correctly encoded. To revert to the previous behaviour, " +"set :envvar:`PYTHONLEGACYWINDOWSFSENCODING` or " +"call :func:`sys._enablelegacywindowsfsencoding`." #: ../../whatsnew/3.6.rst:522 msgid "" @@ -717,12 +717,12 @@ msgstr "PEP 528: Change Windows console encoding to UTF-8" #: ../../whatsnew/3.6.rst:531 msgid "" "The default console on Windows will now accept all Unicode characters and " -"provide correctly read str objects to Python code. ``sys.stdin``, ``sys." -"stdout`` and ``sys.stderr`` now default to utf-8 encoding." +"provide correctly read str objects to Python code. ``sys.stdin``, " +"``sys.stdout`` and ``sys.stderr`` now default to utf-8 encoding." msgstr "" "The default console on Windows will now accept all Unicode characters and " -"provide correctly read str objects to Python code. ``sys.stdin``, ``sys." -"stdout`` and ``sys.stderr`` now default to utf-8 encoding." +"provide correctly read str objects to Python code. ``sys.stdin``, " +"``sys.stdout`` and ``sys.stderr`` now default to utf-8 encoding." #: ../../whatsnew/3.6.rst:535 msgid "" @@ -755,11 +755,13 @@ msgstr "" #: ../../whatsnew/3.6.rst:554 msgid "" -"Also, the effective default class *execution* namespace (returned from :ref:" -"`type.__prepare__() `) is now an insertion-order-preserving mapping." +"Also, the effective default class *execution* namespace (returned " +"from :ref:`type.__prepare__() `) is now an insertion-order-" +"preserving mapping." msgstr "" -"Also, the effective default class *execution* namespace (returned from :ref:" -"`type.__prepare__() `) is now an insertion-order-preserving mapping." +"Also, the effective default class *execution* namespace (returned " +"from :ref:`type.__prepare__() `) is now an insertion-order-" +"preserving mapping." #: ../../whatsnew/3.6.rst:560 msgid ":pep:`520` -- Preserving Class Attribute Definition Order" @@ -794,16 +796,16 @@ msgid "" "The :ref:`dict ` type now uses a \"compact\" representation " "based on `a proposal by Raymond Hettinger `_ which was `first implemented by PyPy " -"`_. The memory usage of the new :func:`dict` is between 20% and 25% " -"smaller compared to Python 3.5." +"`_. The memory usage of the new :func:`dict` is between 20% and " +"25% smaller compared to Python 3.5." msgstr "" "The :ref:`dict ` type now uses a \"compact\" representation " "based on `a proposal by Raymond Hettinger `_ which was `first implemented by PyPy " -"`_. The memory usage of the new :func:`dict` is between 20% and 25% " -"smaller compared to Python 3.5." +"`_. The memory usage of the new :func:`dict` is between 20% and " +"25% smaller compared to Python 3.5." #: ../../whatsnew/3.6.rst:591 msgid "" @@ -813,8 +815,8 @@ msgid "" "language for a few releases before changing the language spec to mandate " "order-preserving semantics for all current and future Python " "implementations; this also helps preserve backwards-compatibility with older " -"versions of the language where random iteration order is still in effect, e." -"g. Python 3.5)." +"versions of the language where random iteration order is still in effect, " +"e.g. Python 3.5)." msgstr "" "The order-preserving aspect of this new implementation is considered an " "implementation detail and should not be relied upon (this may change in the " @@ -822,8 +824,8 @@ msgstr "" "language for a few releases before changing the language spec to mandate " "order-preserving semantics for all current and future Python " "implementations; this also helps preserve backwards-compatibility with older " -"versions of the language where random iteration order is still in effect, e." -"g. Python 3.5)." +"versions of the language where random iteration order is still in effect, " +"e.g. Python 3.5)." #: ../../whatsnew/3.6.rst:600 msgid "" @@ -919,11 +921,13 @@ msgstr "Freed memory is filled with the byte ``0xDB``" #: ../../whatsnew/3.6.rst:647 msgid "" -"Detect violations of the Python memory allocator API. For example, :c:func:" -"`PyObject_Free` called on a memory block allocated by :c:func:`PyMem_Malloc`." +"Detect violations of the Python memory allocator API. For " +"example, :c:func:`PyObject_Free` called on a memory block allocated " +"by :c:func:`PyMem_Malloc`." msgstr "" -"Detect violations of the Python memory allocator API. For example, :c:func:" -"`PyObject_Free` called on a memory block allocated by :c:func:`PyMem_Malloc`." +"Detect violations of the Python memory allocator API. For " +"example, :c:func:`PyObject_Free` called on a memory block allocated " +"by :c:func:`PyMem_Malloc`." #: ../../whatsnew/3.6.rst:650 msgid "Detect writes before the start of a buffer (buffer underflows)" @@ -936,12 +940,10 @@ msgstr "Detect writes after the end of a buffer (buffer overflows)" #: ../../whatsnew/3.6.rst:652 msgid "" "Check that the :term:`GIL ` is held when allocator " -"functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and :" -"c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are called." +"functions of :c:macro:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) " +"and :c:macro:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are " +"called." msgstr "" -"Check that the :term:`GIL ` is held when allocator " -"functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and :" -"c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are called." #: ../../whatsnew/3.6.rst:656 msgid "Checking if the GIL is held is also a new feature of Python 3.6." @@ -969,11 +971,13 @@ msgstr "" #: ../../whatsnew/3.6.rst:666 msgid "" -"On error, the debug hooks on Python memory allocators now use the :mod:" -"`tracemalloc` module to get the traceback where a memory block was allocated." +"On error, the debug hooks on Python memory allocators now use " +"the :mod:`tracemalloc` module to get the traceback where a memory block was " +"allocated." msgstr "" -"On error, the debug hooks on Python memory allocators now use the :mod:" -"`tracemalloc` module to get the traceback where a memory block was allocated." +"On error, the debug hooks on Python memory allocators now use " +"the :mod:`tracemalloc` module to get the traceback where a memory block was " +"allocated." #: ../../whatsnew/3.6.rst:670 msgid "" @@ -1044,13 +1048,13 @@ msgstr "Outras mudanças na linguagem" #: ../../whatsnew/3.6.rst:740 msgid "Some smaller changes made to the core Python language are:" -msgstr "Alguma das mudanças menores feitas no núcleo da linguagem Python são:" +msgstr "Algumas das mudanças menores feitas no núcleo da linguagem Python são:" #: ../../whatsnew/3.6.rst:742 msgid "" "A ``global`` or ``nonlocal`` statement must now textually appear before the " -"first use of the affected name in the same scope. Previously this was a :exc:" -"`SyntaxWarning`." +"first use of the affected name in the same scope. Previously this was " +"a :exc:`SyntaxWarning`." msgstr "" #: ../../whatsnew/3.6.rst:746 @@ -1077,15 +1081,15 @@ msgstr "" #: ../../whatsnew/3.6.rst:757 msgid "" -"Import now raises the new exception :exc:`ModuleNotFoundError` (subclass of :" -"exc:`ImportError`) when it cannot find a module. Code that currently checks " -"for ImportError (in try-except) will still work. (Contributed by Eric Snow " -"in :issue:`15767`.)" +"Import now raises the new exception :exc:`ModuleNotFoundError` (subclass " +"of :exc:`ImportError`) when it cannot find a module. Code that currently " +"checks for ImportError (in try-except) will still work. (Contributed by Eric " +"Snow in :issue:`15767`.)" msgstr "" -"Import now raises the new exception :exc:`ModuleNotFoundError` (subclass of :" -"exc:`ImportError`) when it cannot find a module. Code that currently checks " -"for ImportError (in try-except) will still work. (Contributed by Eric Snow " -"in :issue:`15767`.)" +"Import now raises the new exception :exc:`ModuleNotFoundError` (subclass " +"of :exc:`ImportError`) when it cannot find a module. Code that currently " +"checks for ImportError (in try-except) will still work. (Contributed by Eric " +"Snow in :issue:`15767`.)" #: ../../whatsnew/3.6.rst:762 msgid "" @@ -1120,12 +1124,12 @@ msgstr "" #: ../../whatsnew/3.6.rst:781 msgid "" "Note that the pseudo-random generators in the :mod:`random` module should " -"*NOT* be used for security purposes. Use :mod:`secrets` on Python 3.6+ and :" -"func:`os.urandom()` on Python 3.5 and earlier." +"*NOT* be used for security purposes. Use :mod:`secrets` on Python 3.6+ " +"and :func:`os.urandom()` on Python 3.5 and earlier." msgstr "" "Note that the pseudo-random generators in the :mod:`random` module should " -"*NOT* be used for security purposes. Use :mod:`secrets` on Python 3.6+ and :" -"func:`os.urandom()` on Python 3.5 and earlier." +"*NOT* be used for security purposes. Use :mod:`secrets` on Python 3.6+ " +"and :func:`os.urandom()` on Python 3.5 and earlier." #: ../../whatsnew/3.6.rst:787 msgid ":pep:`506` -- Adding A Secrets Module To The Standard Library" @@ -1243,9 +1247,9 @@ msgstr "" #: ../../whatsnew/3.6.rst:850 msgid "" -"New :meth:`loop.get_exception_handler() ` method to get the current exception handler. " -"(Contributed by Yury Selivanov in :issue:`27040`.)" +"New :meth:`loop.get_exception_handler() " +"` method to get the current exception " +"handler. (Contributed by Yury Selivanov in :issue:`27040`.)" msgstr "" #: ../../whatsnew/3.6.rst:854 @@ -1260,13 +1264,13 @@ msgstr "" #: ../../whatsnew/3.6.rst:859 msgid "" -"The performance of :meth:`StreamReader.readexactly() ` has been improved. (Contributed by Mark Korenberg in :issue:" -"`28370`.)" +"The performance of :meth:`StreamReader.readexactly() " +"` has been improved. (Contributed by Mark " +"Korenberg in :issue:`28370`.)" msgstr "" -"The performance of :meth:`StreamReader.readexactly() ` has been improved. (Contributed by Mark Korenberg in :issue:" -"`28370`.)" +"The performance of :meth:`StreamReader.readexactly() " +"` has been improved. (Contributed by Mark " +"Korenberg in :issue:`28370`.)" #: ../../whatsnew/3.6.rst:863 msgid "" @@ -1295,9 +1299,9 @@ msgstr "" #: ../../whatsnew/3.6.rst:879 msgid "" -"New :meth:`loop.connect_accepted_socket() ` method to be used by servers that accept " -"connections outside of asyncio, but that use asyncio to handle them. " +"New :meth:`loop.connect_accepted_socket() " +"` method to be used by servers that " +"accept connections outside of asyncio, but that use asyncio to handle them. " "(Contributed by Jim Fulton in :issue:`27392`.)" msgstr "" @@ -1354,15 +1358,15 @@ msgstr "" #: ../../whatsnew/3.6.rst:914 msgid "" -"New constants: :const:`cmath.inf` and :const:`cmath.nan` to match :const:" -"`math.inf` and :const:`math.nan`, and also :const:`cmath.infj` and :const:" -"`cmath.nanj` to match the format used by complex repr. (Contributed by Mark " -"Dickinson in :issue:`23229`.)" +"New constants: :const:`cmath.inf` and :const:`cmath.nan` to " +"match :const:`math.inf` and :const:`math.nan`, and also :const:`cmath.infj` " +"and :const:`cmath.nanj` to match the format used by complex repr. " +"(Contributed by Mark Dickinson in :issue:`23229`.)" msgstr "" -"New constants: :const:`cmath.inf` and :const:`cmath.nan` to match :const:" -"`math.inf` and :const:`math.nan`, and also :const:`cmath.infj` and :const:" -"`cmath.nanj` to match the format used by complex repr. (Contributed by Mark " -"Dickinson in :issue:`23229`.)" +"New constants: :const:`cmath.inf` and :const:`cmath.nan` to " +"match :const:`math.inf` and :const:`math.nan`, and also :const:`cmath.infj` " +"and :const:`cmath.nanj` to match the format used by complex repr. " +"(Contributed by Mark Dickinson in :issue:`23229`.)" #: ../../whatsnew/3.6.rst:921 msgid "collections" @@ -1391,12 +1395,12 @@ msgstr "" #: ../../whatsnew/3.6.rst:931 msgid "" "The new :class:`~collections.abc.AsyncGenerator` abstract base class " -"represents asynchronous generators. (Contributed by Yury Selivanov in :issue:" -"`28720`.)" +"represents asynchronous generators. (Contributed by Yury Selivanov " +"in :issue:`28720`.)" msgstr "" "The new :class:`~collections.abc.AsyncGenerator` abstract base class " -"represents asynchronous generators. (Contributed by Yury Selivanov in :issue:" -"`28720`.)" +"represents asynchronous generators. (Contributed by Yury Selivanov " +"in :issue:`28720`.)" #: ../../whatsnew/3.6.rst:935 msgid "" @@ -1406,7 +1410,7 @@ msgid "" "Hettinger in :issue:`17941`.)" msgstr "" -#: ../../whatsnew/3.6.rst:940 ../../whatsnew/3.6.rst:2281 +#: ../../whatsnew/3.6.rst:940 ../../whatsnew/3.6.rst:2295 msgid "" "The *verbose* and *rename* arguments for :func:`~collections.namedtuple` are " "now keyword-only. (Contributed by Raymond Hettinger in :issue:`25628`.)" @@ -1443,9 +1447,9 @@ msgid "" "The :class:`contextlib.AbstractContextManager` class has been added to " "provide an abstract base class for context managers. It provides a sensible " "default implementation for ``__enter__()`` which returns ``self`` and leaves " -"``__exit__()`` an abstract method. A matching class has been added to the :" -"mod:`typing` module as :class:`typing.ContextManager`. (Contributed by Brett " -"Cannon in :issue:`25609`.)" +"``__exit__()`` an abstract method. A matching class has been added to " +"the :mod:`typing` module as :class:`typing.ContextManager`. (Contributed by " +"Brett Cannon in :issue:`25609`.)" msgstr "" #: ../../whatsnew/3.6.rst:971 @@ -1470,10 +1474,10 @@ msgstr "" #: ../../whatsnew/3.6.rst:981 msgid "" -"The :meth:`datetime.strftime() ` and :meth:`date." -"strftime() ` methods now support ISO 8601 date " -"directives ``%G``, ``%u`` and ``%V``. (Contributed by Ashley Anderson in :" -"issue:`12006`.)" +"The :meth:`datetime.strftime() ` " +"and :meth:`date.strftime() ` methods now support ISO " +"8601 date directives ``%G``, ``%u`` and ``%V``. (Contributed by Ashley " +"Anderson in :issue:`12006`.)" msgstr "" #: ../../whatsnew/3.6.rst:986 @@ -1487,8 +1491,8 @@ msgstr "" #: ../../whatsnew/3.6.rst:991 msgid "" "The :meth:`datetime.combine() ` now accepts an " -"optional *tzinfo* argument. (Contributed by Alexander Belopolsky in :issue:" -"`27661`.)" +"optional *tzinfo* argument. (Contributed by Alexander Belopolsky " +"in :issue:`27661`.)" msgstr "" #: ../../whatsnew/3.6.rst:997 @@ -1498,26 +1502,26 @@ msgstr "decimal" #: ../../whatsnew/3.6.rst:999 msgid "" "New :meth:`Decimal.as_integer_ratio() ` " -"method that returns a pair ``(n, d)`` of integers that represent the given :" -"class:`~decimal.Decimal` instance as a fraction, in lowest terms and with a " -"positive denominator::" +"method that returns a pair ``(n, d)`` of integers that represent the " +"given :class:`~decimal.Decimal` instance as a fraction, in lowest terms and " +"with a positive denominator::" msgstr "" #: ../../whatsnew/3.6.rst:1007 msgid "(Contributed by Stefan Krah amd Mark Dickinson in :issue:`25928`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1012 ../../whatsnew/3.6.rst:1986 +#: ../../whatsnew/3.6.rst:1012 ../../whatsnew/3.6.rst:1990 msgid "distutils" msgstr "distutils" #: ../../whatsnew/3.6.rst:1014 msgid "" -"The ``default_format`` attribute has been removed from :class:`distutils." -"command.sdist.sdist` and the ``formats`` attribute defaults to " -"``['gztar']``. Although not anticipated, any code relying on the presence of " -"``default_format`` may need to be adapted. See :issue:`27819` for more " -"details." +"The ``default_format`` attribute has been removed " +"from :class:`distutils.command.sdist.sdist` and the ``formats`` attribute " +"defaults to ``['gztar']``. Although not anticipated, any code relying on the " +"presence of ``default_format`` may need to be adapted. See :issue:`27819` " +"for more details." msgstr "" #: ../../whatsnew/3.6.rst:1022 @@ -1529,8 +1533,8 @@ msgid "" "The new email API, enabled via the *policy* keyword to various constructors, " "is no longer provisional. The :mod:`email` documentation has been " "reorganized and rewritten to focus on the new API, while retaining the old " -"documentation for the legacy API. (Contributed by R. David Murray in :issue:" -"`24277`.)" +"documentation for the legacy API. (Contributed by R. David Murray " +"in :issue:`24277`.)" msgstr "" #: ../../whatsnew/3.6.rst:1029 @@ -1547,12 +1551,13 @@ msgstr "" #: ../../whatsnew/3.6.rst:1035 msgid "" -"There is a new :mod:`~email.policy` attribute, :attr:`~email.policy.Policy." -"message_factory`, that controls what class is used by default when the " -"parser creates new message objects. For the :attr:`email.policy.compat32` " -"policy this is :class:`~email.message.Message`, for the new policies it is :" -"class:`~email.message.EmailMessage`. (Contributed by R. David Murray in :" -"issue:`20476`.)" +"There is a new :mod:`~email.policy` " +"attribute, :attr:`~email.policy.Policy.message_factory`, that controls what " +"class is used by default when the parser creates new message objects. For " +"the :attr:`email.policy.compat32` policy this " +"is :class:`~email.message.Message`, for the new policies it " +"is :class:`~email.message.EmailMessage`. (Contributed by R. David Murray " +"in :issue:`20476`.)" msgstr "" #: ../../whatsnew/3.6.rst:1044 @@ -1572,16 +1577,16 @@ msgstr "enum" #: ../../whatsnew/3.6.rst:1054 msgid "" -"Two new enumeration base classes have been added to the :mod:`enum` module: :" -"class:`~enum.Flag` and :class:`~enum.IntFlags`. Both are used to define " -"constants that can be combined using the bitwise operators. (Contributed by " -"Ethan Furman in :issue:`23591`.)" +"Two new enumeration base classes have been added to the :mod:`enum` " +"module: :class:`~enum.Flag` and :class:`~enum.IntFlags`. Both are used to " +"define constants that can be combined using the bitwise operators. " +"(Contributed by Ethan Furman in :issue:`23591`.)" msgstr "" #: ../../whatsnew/3.6.rst:1059 msgid "" -"Many standard library modules have been updated to use the :class:`~enum." -"IntFlags` class for their constants." +"Many standard library modules have been updated to use " +"the :class:`~enum.IntFlags` class for their constants." msgstr "" #: ../../whatsnew/3.6.rst:1062 @@ -1632,19 +1637,19 @@ msgstr "" #: ../../whatsnew/3.6.rst:1102 msgid "" -"The SHA-3 hash functions :func:`~hashlib.sha3_224`, :func:`~hashlib." -"sha3_256`, :func:`~hashlib.sha3_384`, :func:`~hashlib.sha3_512`, and SHAKE " -"hash functions :func:`~hashlib.shake_128` and :func:`~hashlib.shake_256` " -"were added. (Contributed by Christian Heimes in :issue:`16113`. Keccak Code " -"Package by Guido Bertoni, Joan Daemen, Michaël Peeters, Gilles Van Assche, " -"and Ronny Van Keer.)" +"The SHA-3 hash " +"functions :func:`~hashlib.sha3_224`, :func:`~hashlib.sha3_256`, :func:`~hashlib.sha3_384`, :func:`~hashlib.sha3_512`, " +"and SHAKE hash functions :func:`~hashlib.shake_128` " +"and :func:`~hashlib.shake_256` were added. (Contributed by Christian Heimes " +"in :issue:`16113`. Keccak Code Package by Guido Bertoni, Joan Daemen, " +"Michaël Peeters, Gilles Van Assche, and Ronny Van Keer.)" msgstr "" #: ../../whatsnew/3.6.rst:1109 msgid "" "The password-based key derivation function :func:`~hashlib.scrypt` is now " -"available with OpenSSL 1.1.0 and newer. (Contributed by Christian Heimes in :" -"issue:`27928`.)" +"available with OpenSSL 1.1.0 and newer. (Contributed by Christian Heimes " +"in :issue:`27928`.)" msgstr "" #: ../../whatsnew/3.6.rst:1114 @@ -1653,15 +1658,15 @@ msgstr "http.client" #: ../../whatsnew/3.6.rst:1116 msgid "" -":meth:`HTTPConnection.request() ` and :" -"meth:`~http.client.HTTPConnection.endheaders` both now support chunked " -"encoding request bodies. (Contributed by Demian Brecht and Rolf Krahl in :" -"issue:`12319`.)" +":meth:`HTTPConnection.request() ` " +"and :meth:`~http.client.HTTPConnection.endheaders` both now support chunked " +"encoding request bodies. (Contributed by Demian Brecht and Rolf Krahl " +"in :issue:`12319`.)" msgstr "" #: ../../whatsnew/3.6.rst:1123 msgid "idlelib and IDLE" -msgstr "idlelib and IDLE" +msgstr "idlelib e IDLE" #: ../../whatsnew/3.6.rst:1125 msgid "" @@ -1679,10 +1684,10 @@ msgid "" "renaming of files with partial uppercase names is similar to the renaming " "of, for instance, Tkinter and TkFont to tkinter and tkinter.font in 3.0. As " "a result, imports of idlelib files that worked in 3.5 will usually not work " -"in 3.6. At least a module name change will be needed (see idlelib/README." -"txt), sometimes more. (Name changes contributed by Al Swiegart and Terry " -"Reedy in :issue:`24225`. Most idlelib patches since have been and will be " -"part of the process.)" +"in 3.6. At least a module name change will be needed (see idlelib/" +"README.txt), sometimes more. (Name changes contributed by Al Swiegart and " +"Terry Reedy in :issue:`24225`. Most idlelib patches since have been and " +"will be part of the process.)" msgstr "" #: ../../whatsnew/3.6.rst:1141 @@ -1698,8 +1703,8 @@ msgstr "" #: ../../whatsnew/3.6.rst:1147 msgid "" -"Multiple fixes for autocompletion. (Contributed by Louie Lu in :issue:" -"`15786`.)" +"Multiple fixes for autocompletion. (Contributed by Louie Lu " +"in :issue:`15786`.)" msgstr "" #: ../../whatsnew/3.6.rst:1149 @@ -1750,8 +1755,8 @@ msgid "" "Editor code context option revised. Box displays all context lines up to " "maxlines. Clicking on a context line jumps the editor to that line. " "Context colors for custom themes is added to Highlights tab of Settings " -"dialog. (Contributed by Cheryl Sabella and Terry Jan Reedy in :issue:" -"`33642`, :issue:`33768`, and :issue:`33679`.)" +"dialog. (Contributed by Cheryl Sabella and Terry Jan Reedy " +"in :issue:`33642`, :issue:`33768`, and :issue:`33679`.)" msgstr "" #: ../../whatsnew/3.6.rst:1182 @@ -1784,32 +1789,32 @@ msgstr "" "ou em uma janela separada clicando com o botão direito do mouse. " "(Contribuição de Tal Einat em :issue:`1529353`.)" -#: ../../whatsnew/3.6.rst:1199 ../../whatsnew/3.6.rst:2003 +#: ../../whatsnew/3.6.rst:1199 ../../whatsnew/3.6.rst:2007 msgid "importlib" msgstr "importlib" #: ../../whatsnew/3.6.rst:1201 msgid "" -"Import now raises the new exception :exc:`ModuleNotFoundError` (subclass of :" -"exc:`ImportError`) when it cannot find a module. Code that current checks " -"for ``ImportError`` (in try-except) will still work. (Contributed by Eric " -"Snow in :issue:`15767`.)" +"Import now raises the new exception :exc:`ModuleNotFoundError` (subclass " +"of :exc:`ImportError`) when it cannot find a module. Code that current " +"checks for ``ImportError`` (in try-except) will still work. (Contributed by " +"Eric Snow in :issue:`15767`.)" msgstr "" #: ../../whatsnew/3.6.rst:1206 msgid "" -":class:`importlib.util.LazyLoader` now calls :meth:`~importlib.abc.Loader." -"create_module` on the wrapped loader, removing the restriction that :class:" -"`importlib.machinery.BuiltinImporter` and :class:`importlib.machinery." -"ExtensionFileLoader` couldn't be used with :class:`importlib.util." -"LazyLoader`." +":class:`importlib.util.LazyLoader` now " +"calls :meth:`~importlib.abc.Loader.create_module` on the wrapped loader, " +"removing the restriction that :class:`importlib.machinery.BuiltinImporter` " +"and :class:`importlib.machinery.ExtensionFileLoader` couldn't be used " +"with :class:`importlib.util.LazyLoader`." msgstr "" #: ../../whatsnew/3.6.rst:1212 msgid "" -":func:`importlib.util.cache_from_source`, :func:`importlib.util." -"source_from_cache`, and :func:`importlib.util.spec_from_file_location` now " -"accept a :term:`path-like object`." +":func:`importlib.util.cache_from_source`, :func:`importlib.util.source_from_cache`, " +"and :func:`importlib.util.spec_from_file_location` now accept a :term:`path-" +"like object`." msgstr "" #: ../../whatsnew/3.6.rst:1219 @@ -1826,12 +1831,12 @@ msgstr "" #: ../../whatsnew/3.6.rst:1226 msgid "" -"To reduce code churn when upgrading from Python 2.7 and the legacy :func:" -"`inspect.getargspec` API, the previously documented deprecation of :func:" -"`inspect.getfullargspec` has been reversed. While this function is " -"convenient for single/source Python 2/3 code bases, the richer :func:" -"`inspect.signature` interface remains the recommended approach for new code. " -"(Contributed by Nick Coghlan in :issue:`27172`)" +"To reduce code churn when upgrading from Python 2.7 and the " +"legacy :func:`inspect.getargspec` API, the previously documented deprecation " +"of :func:`inspect.getfullargspec` has been reversed. While this function is " +"convenient for single/source Python 2/3 code bases, the " +"richer :func:`inspect.signature` interface remains the recommended approach " +"for new code. (Contributed by Nick Coghlan in :issue:`27172`)" msgstr "" #: ../../whatsnew/3.6.rst:1235 @@ -1851,10 +1856,10 @@ msgstr "logging" #: ../../whatsnew/3.6.rst:1245 msgid "" -"The new :meth:`WatchedFileHandler.reopenIfNeeded() ` method has been added to add the ability " -"to check if the log file needs to be reopened. (Contributed by Marian Horban " -"in :issue:`24884`.)" +"The new :meth:`WatchedFileHandler.reopenIfNeeded() " +"` method has been added " +"to add the ability to check if the log file needs to be reopened. " +"(Contributed by Marian Horban in :issue:`24884`.)" msgstr "" #: ../../whatsnew/3.6.rst:1252 @@ -1874,12 +1879,12 @@ msgstr "multiprocessing" #: ../../whatsnew/3.6.rst:1262 msgid "" -":ref:`Proxy Objects ` returned by :func:" -"`multiprocessing.Manager` can now be nested. (Contributed by Davin Potts in :" -"issue:`6766`.)" +":ref:`Proxy Objects ` returned " +"by :func:`multiprocessing.Manager` can now be nested. (Contributed by Davin " +"Potts in :issue:`6766`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1268 ../../whatsnew/3.6.rst:2017 +#: ../../whatsnew/3.6.rst:1268 ../../whatsnew/3.6.rst:2021 msgid "os" msgstr "os" @@ -1896,11 +1901,12 @@ msgstr "" #: ../../whatsnew/3.6.rst:1276 msgid "" -"A new :meth:`~os.scandir.close` method allows explicitly closing a :func:" -"`~os.scandir` iterator. The :func:`~os.scandir` iterator now supports the :" -"term:`context manager` protocol. If a :func:`scandir` iterator is neither " -"exhausted nor explicitly closed a :exc:`ResourceWarning` will be emitted in " -"its destructor. (Contributed by Serhiy Storchaka in :issue:`25994`.)" +"A new :meth:`~os.scandir.close` method allows explicitly closing " +"a :func:`~os.scandir` iterator. The :func:`~os.scandir` iterator now " +"supports the :term:`context manager` protocol. If a :func:`scandir` " +"iterator is neither exhausted nor explicitly closed a :exc:`ResourceWarning` " +"will be emitted in its destructor. (Contributed by Serhiy Storchaka " +"in :issue:`25994`.)" msgstr "" #: ../../whatsnew/3.6.rst:1286 @@ -1948,7 +1954,7 @@ msgstr "" #: ../../whatsnew/3.6.rst:1317 msgid "pickletools" -msgstr "" +msgstr "pickletools" #: ../../whatsnew/3.6.rst:1319 msgid "" @@ -1984,30 +1990,30 @@ msgid "" "by Raymond Hettinger in :issue:`18844`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1345 ../../whatsnew/3.6.rst:2025 +#: ../../whatsnew/3.6.rst:1345 ../../whatsnew/3.6.rst:2029 msgid "re" msgstr "re" #: ../../whatsnew/3.6.rst:1347 msgid "" -"Added support of modifier spans in regular expressions. Examples: ``'(?i:" -"p)ython'`` matches ``'python'`` and ``'Python'``, but not ``'PYTHON'``; ``'(?" -"i)g(?-i:v)r'`` matches ``'GvR'`` and ``'gvr'``, but not ``'GVR'``. " +"Added support of modifier spans in regular expressions. Examples: ``'(?" +"i:p)ython'`` matches ``'python'`` and ``'Python'``, but not ``'PYTHON'``; " +"``'(?i)g(?-i:v)r'`` matches ``'GvR'`` and ``'gvr'``, but not ``'GVR'``. " "(Contributed by Serhiy Storchaka in :issue:`433028`.)" msgstr "" #: ../../whatsnew/3.6.rst:1352 msgid "" "Match object groups can be accessed by ``__getitem__``, which is equivalent " -"to ``group()``. So ``mo['name']`` is now equivalent to ``mo." -"group('name')``. (Contributed by Eric Smith in :issue:`24454`.)" +"to ``group()``. So ``mo['name']`` is now equivalent to " +"``mo.group('name')``. (Contributed by Eric Smith in :issue:`24454`.)" msgstr "" #: ../../whatsnew/3.6.rst:1356 msgid "" -":class:`~re.Match` objects now support :meth:`index-like objects ` as group indices. (Contributed by Jeroen Demeyer and Xiang Zhang " -"in :issue:`27177`.)" +":class:`~re.Match` objects now support :meth:`index-like objects " +"` as group indices. (Contributed by Jeroen Demeyer and " +"Xiang Zhang in :issue:`27177`.)" msgstr "" #: ../../whatsnew/3.6.rst:1363 @@ -2017,8 +2023,8 @@ msgstr "readline" #: ../../whatsnew/3.6.rst:1365 msgid "" "Added :func:`~readline.set_auto_history` to enable or disable automatic " -"addition of input to the history list. (Contributed by Tyler Crompton in :" -"issue:`26870`.)" +"addition of input to the history list. (Contributed by Tyler Crompton " +"in :issue:`26870`.)" msgstr "" #: ../../whatsnew/3.6.rst:1371 @@ -2029,8 +2035,8 @@ msgstr "" msgid "" "Private and special attribute names now are omitted unless the prefix starts " "with underscores. A space or a colon is added after some completed " -"keywords. (Contributed by Serhiy Storchaka in :issue:`25011` and :issue:" -"`25209`.)" +"keywords. (Contributed by Serhiy Storchaka in :issue:`25011` " +"and :issue:`25209`.)" msgstr "" #: ../../whatsnew/3.6.rst:1379 @@ -2051,7 +2057,7 @@ msgstr "site" #: ../../whatsnew/3.6.rst:1391 msgid "" -"When specifying paths to add to :attr:`sys.path` in a ``.pth`` file, you may " +"When specifying paths to add to :data:`sys.path` in a ``.pth`` file, you may " "now specify file paths on top of directories (e.g. zip files). (Contributed " "by Wolfgang Langner in :issue:`26587`)." msgstr "" @@ -2072,9 +2078,9 @@ msgstr "socket" #: ../../whatsnew/3.6.rst:1406 msgid "" -"The :func:`~socket.socket.ioctl` function now supports the :data:`~socket." -"SIO_LOOPBACK_FAST_PATH` control code. (Contributed by Daniel Stokes in :" -"issue:`26536`.)" +"The :func:`~socket.socket.ioctl` function now supports " +"the :const:`~socket.SIO_LOOPBACK_FAST_PATH` control code. (Contributed by " +"Daniel Stokes in :issue:`26536`.)" msgstr "" #: ../../whatsnew/3.6.rst:1410 @@ -2087,16 +2093,16 @@ msgstr "" #: ../../whatsnew/3.6.rst:1414 msgid "" "The :meth:`~socket.socket.setsockopt` now supports the ``setsockopt(level, " -"optname, None, optlen: int)`` form. (Contributed by Christian Heimes in :" -"issue:`27744`.)" +"optname, None, optlen: int)`` form. (Contributed by Christian Heimes " +"in :issue:`27744`.)" msgstr "" #: ../../whatsnew/3.6.rst:1418 msgid "" -"The socket module now supports the address family :data:`~socket.AF_ALG` to " -"interface with Linux Kernel crypto API. ``ALG_*``, ``SOL_ALG`` and :meth:" -"`~socket.socket.sendmsg_afalg` were added. (Contributed by Christian Heimes " -"in :issue:`27744` with support from Victor Stinner.)" +"The socket module now supports the address family :const:`~socket.AF_ALG` to " +"interface with Linux Kernel crypto API. ``ALG_*``, ``SOL_ALG`` " +"and :meth:`~socket.socket.sendmsg_afalg` were added. (Contributed by " +"Christian Heimes in :issue:`27744` with support from Victor Stinner.)" msgstr "" #: ../../whatsnew/3.6.rst:1424 @@ -2111,22 +2117,22 @@ msgstr "socketserver" #: ../../whatsnew/3.6.rst:1431 msgid "" -"Servers based on the :mod:`socketserver` module, including those defined in :" -"mod:`http.server`, :mod:`xmlrpc.server` and :mod:`wsgiref.simple_server`, " -"now support the :term:`context manager` protocol. (Contributed by Aviv " -"Palivoda in :issue:`26404`.)" +"Servers based on the :mod:`socketserver` module, including those defined " +"in :mod:`http.server`, :mod:`xmlrpc.server` " +"and :mod:`wsgiref.simple_server`, now support the :term:`context manager` " +"protocol. (Contributed by Aviv Palivoda in :issue:`26404`.)" msgstr "" #: ../../whatsnew/3.6.rst:1437 msgid "" -"The :attr:`~socketserver.StreamRequestHandler.wfile` attribute of :class:" -"`~socketserver.StreamRequestHandler` classes now implements the :class:`io." -"BufferedIOBase` writable interface. In particular, calling :meth:`~io." -"BufferedIOBase.write` is now guaranteed to send the data in full. " -"(Contributed by Martin Panter in :issue:`26721`.)" +"The :attr:`~socketserver.StreamRequestHandler.wfile` attribute " +"of :class:`~socketserver.StreamRequestHandler` classes now implements " +"the :class:`io.BufferedIOBase` writable interface. In particular, " +"calling :meth:`~io.BufferedIOBase.write` is now guaranteed to send the data " +"in full. (Contributed by Martin Panter in :issue:`26721`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1445 ../../whatsnew/3.6.rst:2033 +#: ../../whatsnew/3.6.rst:1445 ../../whatsnew/3.6.rst:2037 msgid "ssl" msgstr "ssl" @@ -2139,8 +2145,8 @@ msgstr "" #: ../../whatsnew/3.6.rst:1450 msgid "" "3DES has been removed from the default cipher suites and ChaCha20 Poly1305 " -"cipher suites have been added. (Contributed by Christian Heimes in :issue:" -"`27850` and :issue:`27766`.)" +"cipher suites have been added. (Contributed by Christian Heimes " +"in :issue:`27850` and :issue:`27766`.)" msgstr "" #: ../../whatsnew/3.6.rst:1454 @@ -2165,8 +2171,9 @@ msgstr "" #: ../../whatsnew/3.6.rst:1467 msgid "" -"All constants and flags have been converted to :class:`~enum.IntEnum` and :" -"class:`~enum.IntFlags`. (Contributed by Christian Heimes in :issue:`28025`.)" +"All constants and flags have been converted to :class:`~enum.IntEnum` " +"and :class:`~enum.IntFlags`. (Contributed by Christian Heimes " +"in :issue:`28025`.)" msgstr "" #: ../../whatsnew/3.6.rst:1471 @@ -2175,41 +2182,49 @@ msgid "" "were added. (Contributed by Christian Heimes in :issue:`28085`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1477 +#: ../../whatsnew/3.6.rst:1475 +msgid "" +"Added :attr:`ssl.SSLContext.post_handshake_auth` to enable " +"and :meth:`ssl.SSLSocket.verify_client_post_handshake` to initiate TLS 1.3 " +"post-handshake authentication. (Contributed by Christian Heimes " +"in :gh:`78851`.)" +msgstr "" + +#: ../../whatsnew/3.6.rst:1481 msgid "statistics" msgstr "statistics" -#: ../../whatsnew/3.6.rst:1479 +#: ../../whatsnew/3.6.rst:1483 msgid "" "A new :func:`~statistics.harmonic_mean` function has been added. " "(Contributed by Steven D'Aprano in :issue:`27181`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1484 +#: ../../whatsnew/3.6.rst:1488 msgid "struct" msgstr "struct" -#: ../../whatsnew/3.6.rst:1486 +#: ../../whatsnew/3.6.rst:1490 msgid "" ":mod:`struct` now supports IEEE 754 half-precision floats via the ``'e'`` " -"format specifier. (Contributed by Eli Stevens, Mark Dickinson in :issue:" -"`11734`.)" +"format specifier. (Contributed by Eli Stevens, Mark Dickinson " +"in :issue:`11734`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1492 +#: ../../whatsnew/3.6.rst:1496 msgid "subprocess" msgstr "subprocess" -#: ../../whatsnew/3.6.rst:1494 +#: ../../whatsnew/3.6.rst:1498 msgid "" ":class:`subprocess.Popen` destructor now emits a :exc:`ResourceWarning` " "warning if the child process is still running. Use the context manager " -"protocol (``with proc: ...``) or explicitly call the :meth:`~subprocess." -"Popen.wait` method to read the exit status of the child process. " -"(Contributed by Victor Stinner in :issue:`26741`.)" +"protocol (``with proc: ...``) or explicitly call " +"the :meth:`~subprocess.Popen.wait` method to read the exit status of the " +"child process. (Contributed by Victor Stinner in :issue:`26741`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1500 +#: ../../whatsnew/3.6.rst:1504 msgid "" "The :class:`subprocess.Popen` constructor and all functions that pass " "arguments through to it now accept *encoding* and *errors* arguments. " @@ -2217,18 +2232,18 @@ msgid "" "and *stderr* streams. (Contributed by Steve Dower in :issue:`6135`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1507 +#: ../../whatsnew/3.6.rst:1511 msgid "sys" msgstr "sys" -#: ../../whatsnew/3.6.rst:1509 +#: ../../whatsnew/3.6.rst:1513 msgid "" "The new :func:`~sys.getfilesystemencodeerrors` function returns the name of " "the error mode used to convert between Unicode filenames and bytes " "filenames. (Contributed by Steve Dower in :issue:`27781`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1513 +#: ../../whatsnew/3.6.rst:1517 msgid "" "On Windows the return value of the :func:`~sys.getwindowsversion` function " "now includes the *platform_version* field which contains the accurate major " @@ -2237,31 +2252,31 @@ msgid "" "by Steve Dower in :issue:`27932`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1521 +#: ../../whatsnew/3.6.rst:1525 msgid "telnetlib" msgstr "" -#: ../../whatsnew/3.6.rst:1523 +#: ../../whatsnew/3.6.rst:1527 msgid "" ":class:`~telnetlib.Telnet` is now a context manager (contributed by Stéphane " "Wirtel in :issue:`25485`)." msgstr "" -#: ../../whatsnew/3.6.rst:1528 +#: ../../whatsnew/3.6.rst:1532 msgid "time" msgstr "time" -#: ../../whatsnew/3.6.rst:1530 +#: ../../whatsnew/3.6.rst:1534 msgid "" -"The :class:`~time.struct_time` attributes :attr:`tm_gmtoff` and :attr:" -"`tm_zone` are now available on all platforms." +"The :class:`~time.struct_time` attributes :attr:`tm_gmtoff` " +"and :attr:`tm_zone` are now available on all platforms." msgstr "" -#: ../../whatsnew/3.6.rst:1535 +#: ../../whatsnew/3.6.rst:1539 msgid "timeit" msgstr "timeit" -#: ../../whatsnew/3.6.rst:1537 +#: ../../whatsnew/3.6.rst:1541 msgid "" "The new :meth:`Timer.autorange() ` convenience " "method has been added to call :meth:`Timer.timeit() ` " @@ -2269,264 +2284,266 @@ msgid "" "milliseconds. (Contributed by Steven D'Aprano in :issue:`6422`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1542 +#: ../../whatsnew/3.6.rst:1546 msgid "" ":mod:`timeit` now warns when there is substantial (4x) variance between best " "and worst times. (Contributed by Serhiy Storchaka in :issue:`23552`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1548 ../../whatsnew/3.6.rst:2050 +#: ../../whatsnew/3.6.rst:1552 ../../whatsnew/3.6.rst:2054 msgid "tkinter" msgstr "tkinter" -#: ../../whatsnew/3.6.rst:1550 +#: ../../whatsnew/3.6.rst:1554 msgid "" -"Added methods :meth:`~tkinter.Variable.trace_add`, :meth:`~tkinter.Variable." -"trace_remove` and :meth:`~tkinter.Variable.trace_info` in the :class:" -"`tkinter.Variable` class. They replace old methods :meth:`~tkinter.Variable." -"trace_variable`, :meth:`~tkinter.Variable.trace`, :meth:`~tkinter.Variable." -"trace_vdelete` and :meth:`~tkinter.Variable.trace_vinfo` that use obsolete " -"Tcl commands and might not work in future versions of Tcl. (Contributed by " -"Serhiy Storchaka in :issue:`22115`)." +"Added " +"methods :meth:`~tkinter.Variable.trace_add`, :meth:`~tkinter.Variable.trace_remove` " +"and :meth:`~tkinter.Variable.trace_info` in the :class:`tkinter.Variable` " +"class. They replace old " +"methods :meth:`~tkinter.Variable.trace_variable`, :meth:`~tkinter.Variable.trace`, :meth:`~tkinter.Variable.trace_vdelete` " +"and :meth:`~tkinter.Variable.trace_vinfo` that use obsolete Tcl commands and " +"might not work in future versions of Tcl. (Contributed by Serhiy Storchaka " +"in :issue:`22115`)." msgstr "" -#: ../../whatsnew/3.6.rst:1563 +#: ../../whatsnew/3.6.rst:1567 msgid "traceback" msgstr "traceback" -#: ../../whatsnew/3.6.rst:1565 +#: ../../whatsnew/3.6.rst:1569 msgid "" "Both the traceback module and the interpreter's builtin exception display " "now abbreviate long sequences of repeated lines in tracebacks as shown in " "the following example::" msgstr "" -#: ../../whatsnew/3.6.rst:1580 +#: ../../whatsnew/3.6.rst:1584 msgid "(Contributed by Emanuel Barry in :issue:`26823`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1584 +#: ../../whatsnew/3.6.rst:1588 msgid "tracemalloc" msgstr "tracemalloc" -#: ../../whatsnew/3.6.rst:1586 +#: ../../whatsnew/3.6.rst:1590 msgid "" "The :mod:`tracemalloc` module now supports tracing memory allocations in " "multiple different address spaces." msgstr "" -#: ../../whatsnew/3.6.rst:1589 +#: ../../whatsnew/3.6.rst:1593 msgid "" "The new :class:`~tracemalloc.DomainFilter` filter class has been added to " "filter block traces by their address space (domain)." msgstr "" -#: ../../whatsnew/3.6.rst:1592 +#: ../../whatsnew/3.6.rst:1596 msgid "(Contributed by Victor Stinner in :issue:`26588`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1598 +#: ../../whatsnew/3.6.rst:1602 msgid "typing" msgstr "typing" -#: ../../whatsnew/3.6.rst:1600 +#: ../../whatsnew/3.6.rst:1604 msgid "" "Since the :mod:`typing` module is :term:`provisional `, all " "changes introduced in Python 3.6 have also been backported to Python 3.5.x." msgstr "" -#: ../../whatsnew/3.6.rst:1604 +#: ../../whatsnew/3.6.rst:1608 msgid "" "The :mod:`typing` module has a much improved support for generic type " "aliases. For example ``Dict[str, Tuple[S, T]]`` is now a valid type " -"annotation. (Contributed by Guido van Rossum in `Github #195 `_.)" +"annotation. (Contributed by Guido van Rossum in `Github #195 `_.)" msgstr "" -#: ../../whatsnew/3.6.rst:1610 +#: ../../whatsnew/3.6.rst:1614 msgid "" -"The :class:`typing.ContextManager` class has been added for representing :" -"class:`contextlib.AbstractContextManager`. (Contributed by Brett Cannon in :" -"issue:`25609`.)" +"The :class:`typing.ContextManager` class has been added for " +"representing :class:`contextlib.AbstractContextManager`. (Contributed by " +"Brett Cannon in :issue:`25609`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1614 +#: ../../whatsnew/3.6.rst:1618 msgid "" -"The :class:`typing.Collection` class has been added for representing :class:" -"`collections.abc.Collection`. (Contributed by Ivan Levkivskyi in :issue:" -"`27598`.)" +"The :class:`typing.Collection` class has been added for " +"representing :class:`collections.abc.Collection`. (Contributed by Ivan " +"Levkivskyi in :issue:`27598`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1618 +#: ../../whatsnew/3.6.rst:1622 msgid "" "The :const:`typing.ClassVar` type construct has been added to mark class " "variables. As introduced in :pep:`526`, a variable annotation wrapped in " "ClassVar indicates that a given attribute is intended to be used as a class " "variable and should not be set on instances of that class. (Contributed by " -"Ivan Levkivskyi in `Github #280 `_.)" +"Ivan Levkivskyi in `Github #280 `_.)" msgstr "" -#: ../../whatsnew/3.6.rst:1625 +#: ../../whatsnew/3.6.rst:1629 msgid "" "A new :const:`~typing.TYPE_CHECKING` constant that is assumed to be ``True`` " "by the static type checkers, but is ``False`` at runtime. (Contributed by " -"Guido van Rossum in `Github #230 `_.)" +"Guido van Rossum in `Github #230 `_.)" msgstr "" -#: ../../whatsnew/3.6.rst:1630 +#: ../../whatsnew/3.6.rst:1634 msgid "" "A new :func:`~typing.NewType` helper function has been added to create " "lightweight distinct types for annotations::" msgstr "" -#: ../../whatsnew/3.6.rst:1638 +#: ../../whatsnew/3.6.rst:1642 msgid "" "The static type checker will treat the new type as if it were a subclass of " "the original type. (Contributed by Ivan Levkivskyi in `Github #189 `_.)" msgstr "" -#: ../../whatsnew/3.6.rst:1644 +#: ../../whatsnew/3.6.rst:1648 msgid "unicodedata" msgstr "unicodedata" -#: ../../whatsnew/3.6.rst:1646 +#: ../../whatsnew/3.6.rst:1650 msgid "" "The :mod:`unicodedata` module now uses data from `Unicode 9.0.0 `_. (Contributed by Benjamin Peterson.)" msgstr "" -#: ../../whatsnew/3.6.rst:1652 +#: ../../whatsnew/3.6.rst:1656 msgid "unittest.mock" msgstr "unittest.mock" -#: ../../whatsnew/3.6.rst:1654 +#: ../../whatsnew/3.6.rst:1658 msgid "The :class:`~unittest.mock.Mock` class has the following improvements:" msgstr "" -#: ../../whatsnew/3.6.rst:1656 +#: ../../whatsnew/3.6.rst:1660 msgid "" -"Two new methods, :meth:`Mock.assert_called() ` and :meth:`Mock.assert_called_once() ` to check if the mock object was called. (Contributed by " -"Amit Saha in :issue:`26323`.)" +"Two new methods, :meth:`Mock.assert_called() " +"` and :meth:`Mock.assert_called_once() " +"` to check if the mock object was " +"called. (Contributed by Amit Saha in :issue:`26323`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1662 +#: ../../whatsnew/3.6.rst:1666 msgid "" "The :meth:`Mock.reset_mock() ` method now has " "two optional keyword only arguments: *return_value* and *side_effect*. " "(Contributed by Kushal Das in :issue:`21271`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1669 +#: ../../whatsnew/3.6.rst:1673 msgid "urllib.request" msgstr "" -#: ../../whatsnew/3.6.rst:1671 +#: ../../whatsnew/3.6.rst:1675 msgid "" "If a HTTP request has a file or iterable body (other than a bytes object) " -"but no ``Content-Length`` header, rather than throwing an error, :class:" -"`~urllib.request.AbstractHTTPHandler` now falls back to use chunked transfer " -"encoding. (Contributed by Demian Brecht and Rolf Krahl in :issue:`12319`.)" +"but no ``Content-Length`` header, rather than throwing an " +"error, :class:`~urllib.request.AbstractHTTPHandler` now falls back to use " +"chunked transfer encoding. (Contributed by Demian Brecht and Rolf Krahl " +"in :issue:`12319`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1679 +#: ../../whatsnew/3.6.rst:1683 msgid "urllib.robotparser" msgstr "" -#: ../../whatsnew/3.6.rst:1681 +#: ../../whatsnew/3.6.rst:1685 msgid "" ":class:`~urllib.robotparser.RobotFileParser` now supports the ``Crawl-" "delay`` and ``Request-rate`` extensions. (Contributed by Nikolay Bogoychev " "in :issue:`16099`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1687 ../../whatsnew/3.6.rst:2058 +#: ../../whatsnew/3.6.rst:1691 ../../whatsnew/3.6.rst:2062 msgid "venv" msgstr "venv" -#: ../../whatsnew/3.6.rst:1689 +#: ../../whatsnew/3.6.rst:1693 msgid "" ":mod:`venv` accepts a new parameter ``--prompt``. This parameter provides an " "alternative prefix for the virtual environment. (Proposed by Łukasz " "Balcerzak and ported to 3.6 by Stéphane Wirtel in :issue:`22829`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1695 +#: ../../whatsnew/3.6.rst:1699 msgid "warnings" msgstr "avisos" -#: ../../whatsnew/3.6.rst:1697 +#: ../../whatsnew/3.6.rst:1701 msgid "" -"A new optional *source* parameter has been added to the :func:`warnings." -"warn_explicit` function: the destroyed object which emitted a :exc:" -"`ResourceWarning`. A *source* attribute has also been added to :class:" -"`warnings.WarningMessage` (contributed by Victor Stinner in :issue:`26568` " -"and :issue:`26567`)." +"A new optional *source* parameter has been added to " +"the :func:`warnings.warn_explicit` function: the destroyed object which " +"emitted a :exc:`ResourceWarning`. A *source* attribute has also been added " +"to :class:`warnings.WarningMessage` (contributed by Victor Stinner " +"in :issue:`26568` and :issue:`26567`)." msgstr "" -#: ../../whatsnew/3.6.rst:1703 +#: ../../whatsnew/3.6.rst:1707 msgid "" "When a :exc:`ResourceWarning` warning is logged, the :mod:`tracemalloc` " "module is now used to try to retrieve the traceback where the destroyed " "object was allocated." msgstr "" -#: ../../whatsnew/3.6.rst:1706 +#: ../../whatsnew/3.6.rst:1710 msgid "Example with the script ``example.py``::" msgstr "" -#: ../../whatsnew/3.6.rst:1716 +#: ../../whatsnew/3.6.rst:1720 msgid "Output of the command ``python3.6 -Wd -X tracemalloc=5 example.py``::" msgstr "" -#: ../../whatsnew/3.6.rst:1726 +#: ../../whatsnew/3.6.rst:1730 msgid "" -"The \"Object allocated at\" traceback is new and is only displayed if :mod:" -"`tracemalloc` is tracing Python memory allocations and if the :mod:" -"`warnings` module was already imported." +"The \"Object allocated at\" traceback is new and is only displayed " +"if :mod:`tracemalloc` is tracing Python memory allocations and if " +"the :mod:`warnings` module was already imported." msgstr "" -#: ../../whatsnew/3.6.rst:1732 +#: ../../whatsnew/3.6.rst:1736 msgid "winreg" msgstr "winreg" -#: ../../whatsnew/3.6.rst:1734 +#: ../../whatsnew/3.6.rst:1738 msgid "" "Added the 64-bit integer type :data:`REG_QWORD `. " "(Contributed by Clement Rouault in :issue:`23026`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1739 +#: ../../whatsnew/3.6.rst:1743 msgid "winsound" msgstr "" -#: ../../whatsnew/3.6.rst:1741 +#: ../../whatsnew/3.6.rst:1745 msgid "" -"Allowed keyword arguments to be passed to :func:`Beep `, :" -"func:`MessageBeep `, and :func:`PlaySound ` (:issue:`27982`)." +"Allowed keyword arguments to be passed to :func:`Beep " +"`, :func:`MessageBeep `, " +"and :func:`PlaySound ` (:issue:`27982`)." msgstr "" -#: ../../whatsnew/3.6.rst:1747 +#: ../../whatsnew/3.6.rst:1751 msgid "xmlrpc.client" msgstr "" -#: ../../whatsnew/3.6.rst:1749 +#: ../../whatsnew/3.6.rst:1753 msgid "" "The :mod:`xmlrpc.client` module now supports unmarshalling additional data " "types used by the Apache XML-RPC implementation for numerics and ``None``. " "(Contributed by Serhiy Storchaka in :issue:`26885`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1756 +#: ../../whatsnew/3.6.rst:1760 msgid "zipfile" msgstr "zipfile" -#: ../../whatsnew/3.6.rst:1758 +#: ../../whatsnew/3.6.rst:1762 msgid "" "A new :meth:`ZipInfo.from_file() ` class method " "allows making a :class:`~zipfile.ZipInfo` instance from a filesystem file. A " @@ -2535,126 +2552,126 @@ msgid "" "(Contributed by Thomas Kluyver in :issue:`26039`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1764 +#: ../../whatsnew/3.6.rst:1768 msgid "" "The :meth:`ZipFile.open() ` method can now be used to " "write data into a ZIP file, as well as for extracting data. (Contributed by " "Thomas Kluyver in :issue:`26039`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1770 +#: ../../whatsnew/3.6.rst:1774 msgid "zlib" msgstr "zlib" -#: ../../whatsnew/3.6.rst:1772 +#: ../../whatsnew/3.6.rst:1776 msgid "" "The :func:`~zlib.compress` and :func:`~zlib.decompress` functions now accept " "keyword arguments. (Contributed by Aviv Palivoda in :issue:`26243` and Xiang " "Zhang in :issue:`16764` respectively.)" msgstr "" -#: ../../whatsnew/3.6.rst:1779 +#: ../../whatsnew/3.6.rst:1783 msgid "Optimizations" msgstr "Otimizações" -#: ../../whatsnew/3.6.rst:1781 +#: ../../whatsnew/3.6.rst:1785 msgid "" "The Python interpreter now uses a 16-bit wordcode instead of bytecode which " "made a number of opcode optimizations possible. (Contributed by Demur Rumed " -"with input and reviews from Serhiy Storchaka and Victor Stinner in :issue:" -"`26647` and :issue:`28050`.)" +"with input and reviews from Serhiy Storchaka and Victor Stinner " +"in :issue:`26647` and :issue:`28050`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1786 +#: ../../whatsnew/3.6.rst:1790 msgid "" "The :class:`asyncio.Future` class now has an optimized C implementation. " "(Contributed by Yury Selivanov and INADA Naoki in :issue:`26081`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1789 +#: ../../whatsnew/3.6.rst:1793 msgid "" "The :class:`asyncio.Task` class now has an optimized C implementation. " "(Contributed by Yury Selivanov in :issue:`28544`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1792 +#: ../../whatsnew/3.6.rst:1796 msgid "" "Various implementation improvements in the :mod:`typing` module (such as " "caching of generic types) allow up to 30 times performance improvements and " "reduced memory footprint." msgstr "" -#: ../../whatsnew/3.6.rst:1796 +#: ../../whatsnew/3.6.rst:1800 msgid "" "The ASCII decoder is now up to 60 times as fast for error handlers " "``surrogateescape``, ``ignore`` and ``replace`` (Contributed by Victor " "Stinner in :issue:`24870`)." msgstr "" -#: ../../whatsnew/3.6.rst:1800 +#: ../../whatsnew/3.6.rst:1804 msgid "" "The ASCII and the Latin1 encoders are now up to 3 times as fast for the " -"error handler ``surrogateescape`` (Contributed by Victor Stinner in :issue:" -"`25227`)." +"error handler ``surrogateescape`` (Contributed by Victor Stinner " +"in :issue:`25227`)." msgstr "" -#: ../../whatsnew/3.6.rst:1804 +#: ../../whatsnew/3.6.rst:1808 msgid "" "The UTF-8 encoder is now up to 75 times as fast for error handlers " "``ignore``, ``replace``, ``surrogateescape``, ``surrogatepass`` (Contributed " "by Victor Stinner in :issue:`25267`)." msgstr "" -#: ../../whatsnew/3.6.rst:1808 +#: ../../whatsnew/3.6.rst:1812 msgid "" "The UTF-8 decoder is now up to 15 times as fast for error handlers " "``ignore``, ``replace`` and ``surrogateescape`` (Contributed by Victor " "Stinner in :issue:`25301`)." msgstr "" -#: ../../whatsnew/3.6.rst:1812 +#: ../../whatsnew/3.6.rst:1816 msgid "" "``bytes % args`` is now up to 2 times faster. (Contributed by Victor Stinner " "in :issue:`25349`)." msgstr "" -#: ../../whatsnew/3.6.rst:1815 +#: ../../whatsnew/3.6.rst:1819 msgid "" "``bytearray % args`` is now between 2.5 and 5 times faster. (Contributed by " "Victor Stinner in :issue:`25399`)." msgstr "" -#: ../../whatsnew/3.6.rst:1818 +#: ../../whatsnew/3.6.rst:1822 msgid "" "Optimize :meth:`bytes.fromhex` and :meth:`bytearray.fromhex`: they are now " -"between 2x and 3.5x faster. (Contributed by Victor Stinner in :issue:" -"`25401`)." +"between 2x and 3.5x faster. (Contributed by Victor Stinner " +"in :issue:`25401`)." msgstr "" -#: ../../whatsnew/3.6.rst:1821 +#: ../../whatsnew/3.6.rst:1825 msgid "" "Optimize ``bytes.replace(b'', b'.')`` and ``bytearray.replace(b'', b'.')``: " "up to 80% faster. (Contributed by Josh Snider in :issue:`26574`)." msgstr "" -#: ../../whatsnew/3.6.rst:1824 +#: ../../whatsnew/3.6.rst:1828 msgid "" -"Allocator functions of the :c:func:`PyMem_Malloc` domain (:c:data:" -"`PYMEM_DOMAIN_MEM`) now use the :ref:`pymalloc memory allocator ` " -"instead of :c:func:`malloc` function of the C library. The pymalloc " -"allocator is optimized for objects smaller or equal to 512 bytes with a " -"short lifetime, and use :c:func:`malloc` for larger memory blocks. " +"Allocator functions of the :c:func:`PyMem_Malloc` domain " +"(:c:macro:`PYMEM_DOMAIN_MEM`) now use the :ref:`pymalloc memory allocator " +"` instead of :c:func:`malloc` function of the C library. The " +"pymalloc allocator is optimized for objects smaller or equal to 512 bytes " +"with a short lifetime, and use :c:func:`malloc` for larger memory blocks. " "(Contributed by Victor Stinner in :issue:`26249`)." msgstr "" -#: ../../whatsnew/3.6.rst:1831 +#: ../../whatsnew/3.6.rst:1835 msgid "" ":func:`pickle.load` and :func:`pickle.loads` are now up to 10% faster when " -"deserializing many small objects (Contributed by Victor Stinner in :issue:" -"`27056`)." +"deserializing many small objects (Contributed by Victor Stinner " +"in :issue:`27056`)." msgstr "" -#: ../../whatsnew/3.6.rst:1835 +#: ../../whatsnew/3.6.rst:1839 msgid "" "Passing :term:`keyword arguments ` to a function has an " "overhead in comparison with passing :term:`positional arguments ` must now be held when allocator " -"functions of :c:data:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) and :" -"c:data:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are called." +"functions of :c:macro:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) " +"and :c:macro:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are " +"called." msgstr "" -#: ../../whatsnew/3.6.rst:1880 +#: ../../whatsnew/3.6.rst:1884 msgid "" "New :c:func:`Py_FinalizeEx` API which indicates if flushing buffered data " "failed. (Contributed by Martin Panter in :issue:`5319`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1884 +#: ../../whatsnew/3.6.rst:1888 msgid "" ":c:func:`PyArg_ParseTupleAndKeywords` now supports :ref:`positional-only " "parameters `. Positional-only parameters are " "defined by empty names. (Contributed by Serhiy Storchaka in :issue:`26282`)." msgstr "" -#: ../../whatsnew/3.6.rst:1889 +#: ../../whatsnew/3.6.rst:1893 msgid "" "``PyTraceback_Print`` method now abbreviates long sequences of repeated " "lines as ``\"[Previous line repeated {count} more times]\"``. (Contributed " "by Emanuel Barry in :issue:`26823`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1893 +#: ../../whatsnew/3.6.rst:1897 msgid "" "The new :c:func:`PyErr_SetImportErrorSubclass` function allows for " "specifying a subclass of :exc:`ImportError` to raise. (Contributed by Eric " "Snow in :issue:`15767`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1897 +#: ../../whatsnew/3.6.rst:1901 msgid "" -"The new :c:func:`PyErr_ResourceWarning` function can be used to generate a :" -"exc:`ResourceWarning` providing the source of the resource allocation. " +"The new :c:func:`PyErr_ResourceWarning` function can be used to generate " +"a :exc:`ResourceWarning` providing the source of the resource allocation. " "(Contributed by Victor Stinner in :issue:`26567`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1901 +#: ../../whatsnew/3.6.rst:1905 msgid "" "The new :c:func:`PyOS_FSPath` function returns the file system " "representation of a :term:`path-like object`. (Contributed by Brett Cannon " "in :issue:`27186`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1905 +#: ../../whatsnew/3.6.rst:1909 msgid "" "The :c:func:`PyUnicode_FSConverter` and :c:func:`PyUnicode_FSDecoder` " "functions will now accept :term:`path-like objects `." msgstr "" -#: ../../whatsnew/3.6.rst:1910 +#: ../../whatsnew/3.6.rst:1914 msgid "Other Improvements" msgstr "Other Improvements" -#: ../../whatsnew/3.6.rst:1912 +#: ../../whatsnew/3.6.rst:1916 msgid "" "When :option:`--version` (short form: :option:`-V`) is supplied twice, " "Python prints :data:`sys.version` for detailed information." msgstr "" -#: ../../whatsnew/3.6.rst:1923 +#: ../../whatsnew/3.6.rst:1927 msgid "Deprecated" msgstr "Descontinuados" -#: ../../whatsnew/3.6.rst:1926 +#: ../../whatsnew/3.6.rst:1930 msgid "New Keywords" msgstr "" -#: ../../whatsnew/3.6.rst:1928 +#: ../../whatsnew/3.6.rst:1932 msgid "" "``async`` and ``await`` are not recommended to be used as variable, class, " "function or module names. Introduced by :pep:`492` in Python 3.5, they will " @@ -2799,35 +2817,35 @@ msgid "" "``async`` or ``await`` as names will generate a :exc:`DeprecationWarning`." msgstr "" -#: ../../whatsnew/3.6.rst:1935 +#: ../../whatsnew/3.6.rst:1939 msgid "Deprecated Python behavior" msgstr "" -#: ../../whatsnew/3.6.rst:1937 +#: ../../whatsnew/3.6.rst:1941 msgid "" "Raising the :exc:`StopIteration` exception inside a generator will now " "generate a :exc:`DeprecationWarning`, and will trigger a :exc:`RuntimeError` " "in Python 3.7. See :ref:`whatsnew-pep-479` for details." msgstr "" -#: ../../whatsnew/3.6.rst:1941 +#: ../../whatsnew/3.6.rst:1945 msgid "" "The :meth:`__aiter__` method is now expected to return an asynchronous " "iterator directly instead of returning an awaitable as previously. Doing the " "former will trigger a :exc:`DeprecationWarning`. Backward compatibility " -"will be removed in Python 3.7. (Contributed by Yury Selivanov in :issue:" -"`27243`.)" +"will be removed in Python 3.7. (Contributed by Yury Selivanov " +"in :issue:`27243`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1947 +#: ../../whatsnew/3.6.rst:1951 msgid "" "A backslash-character pair that is not a valid escape sequence now generates " -"a :exc:`DeprecationWarning`. Although this will eventually become a :exc:" -"`SyntaxError`, that will not be for several Python releases. (Contributed by " -"Emanuel Barry in :issue:`27364`.)" +"a :exc:`DeprecationWarning`. Although this will eventually become " +"a :exc:`SyntaxError`, that will not be for several Python releases. " +"(Contributed by Emanuel Barry in :issue:`27364`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1952 +#: ../../whatsnew/3.6.rst:1956 msgid "" "When performing a relative import, falling back on ``__name__`` and " "``__path__`` from the calling module when ``__spec__`` or ``__package__`` " @@ -2835,35 +2853,35 @@ msgid "" "Ames in :issue:`25791`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1959 +#: ../../whatsnew/3.6.rst:1963 msgid "Deprecated Python modules, functions and methods" msgstr "" -#: ../../whatsnew/3.6.rst:1962 +#: ../../whatsnew/3.6.rst:1966 msgid "asynchat" msgstr "asynchat" -#: ../../whatsnew/3.6.rst:1964 +#: ../../whatsnew/3.6.rst:1968 msgid "" "The :mod:`asynchat` has been deprecated in favor of :mod:`asyncio`. " "(Contributed by Mariatta in :issue:`25002`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1969 +#: ../../whatsnew/3.6.rst:1973 msgid "asyncore" msgstr "asyncore" -#: ../../whatsnew/3.6.rst:1971 +#: ../../whatsnew/3.6.rst:1975 msgid "" "The :mod:`asyncore` has been deprecated in favor of :mod:`asyncio`. " "(Contributed by Mariatta in :issue:`25002`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1976 +#: ../../whatsnew/3.6.rst:1980 msgid "dbm" msgstr "dbm" -#: ../../whatsnew/3.6.rst:1978 +#: ../../whatsnew/3.6.rst:1982 msgid "" "Unlike other :mod:`dbm` implementations, the :mod:`dbm.dumb` module creates " "databases with the ``'rw'`` mode and allows modifying the database opened " @@ -2871,50 +2889,50 @@ msgid "" "in 3.8. (Contributed by Serhiy Storchaka in :issue:`21708`.)" msgstr "" -#: ../../whatsnew/3.6.rst:1988 +#: ../../whatsnew/3.6.rst:1992 msgid "" -"The undocumented ``extra_path`` argument to the :class:`~distutils." -"Distribution` constructor is now considered deprecated and will raise a " -"warning if set. Support for this parameter will be removed in a future " -"Python release. See :issue:`27919` for details." +"The undocumented ``extra_path`` argument to " +"the :class:`~distutils.Distribution` constructor is now considered " +"deprecated and will raise a warning if set. Support for this parameter " +"will be removed in a future Python release. See :issue:`27919` for details." msgstr "" -#: ../../whatsnew/3.6.rst:1995 +#: ../../whatsnew/3.6.rst:1999 msgid "grp" msgstr "" -#: ../../whatsnew/3.6.rst:1997 +#: ../../whatsnew/3.6.rst:2001 msgid "" "The support of non-integer arguments in :func:`~grp.getgrgid` has been " "deprecated. (Contributed by Serhiy Storchaka in :issue:`26129`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2005 +#: ../../whatsnew/3.6.rst:2009 msgid "" -"The :meth:`importlib.machinery.SourceFileLoader.load_module` and :meth:" -"`importlib.machinery.SourcelessFileLoader.load_module` methods are now " -"deprecated. They were the only remaining implementations of :meth:`importlib." -"abc.Loader.load_module` in :mod:`importlib` that had not been deprecated in " -"previous versions of Python in favour of :meth:`importlib.abc.Loader." -"exec_module`." +"The :meth:`importlib.machinery.SourceFileLoader.load_module` " +"and :meth:`importlib.machinery.SourcelessFileLoader.load_module` methods are " +"now deprecated. They were the only remaining implementations " +"of :meth:`importlib.abc.Loader.load_module` in :mod:`importlib` that had not " +"been deprecated in previous versions of Python in favour " +"of :meth:`importlib.abc.Loader.exec_module`." msgstr "" -#: ../../whatsnew/3.6.rst:2012 +#: ../../whatsnew/3.6.rst:2016 msgid "" "The :class:`importlib.machinery.WindowsRegistryFinder` class is now " -"deprecated. As of 3.6.0, it is still added to :attr:`sys.meta_path` by " +"deprecated. As of 3.6.0, it is still added to :data:`sys.meta_path` by " "default (on Windows), but this may change in future releases." msgstr "" -#: ../../whatsnew/3.6.rst:2019 +#: ../../whatsnew/3.6.rst:2023 msgid "" "Undocumented support of general :term:`bytes-like objects ` as paths in :mod:`os` functions, :func:`compile` and similar " -"functions is now deprecated. (Contributed by Serhiy Storchaka in :issue:" -"`25791` and :issue:`26754`.)" +"functions is now deprecated. (Contributed by Serhiy Storchaka " +"in :issue:`25791` and :issue:`26754`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2027 +#: ../../whatsnew/3.6.rst:2031 msgid "" "Support for inline flags ``(?letters)`` in the middle of the regular " "expression has been deprecated and will be removed in a future Python " @@ -2922,22 +2940,22 @@ msgid "" "(Contributed by Serhiy Storchaka in :issue:`22493`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2035 +#: ../../whatsnew/3.6.rst:2039 msgid "" "OpenSSL 0.9.8, 1.0.0 and 1.0.1 are deprecated and no longer supported. In " "the future the :mod:`ssl` module will require at least OpenSSL 1.0.2 or " "1.1.0." msgstr "" -#: ../../whatsnew/3.6.rst:2039 +#: ../../whatsnew/3.6.rst:2043 msgid "" "SSL-related arguments like ``certfile``, ``keyfile`` and ``check_hostname`` " -"in :mod:`ftplib`, :mod:`http.client`, :mod:`imaplib`, :mod:`poplib`, and :" -"mod:`smtplib` have been deprecated in favor of ``context``. (Contributed by " -"Christian Heimes in :issue:`28022`.)" +"in :mod:`ftplib`, :mod:`http.client`, :mod:`imaplib`, :mod:`poplib`, " +"and :mod:`smtplib` have been deprecated in favor of ``context``. " +"(Contributed by Christian Heimes in :issue:`28022`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2044 +#: ../../whatsnew/3.6.rst:2048 msgid "" "A couple of protocols and functions of the :mod:`ssl` module are now " "deprecated. Some features will no longer be available in future versions of " @@ -2945,13 +2963,13 @@ msgid "" "(Contributed by Christian Heimes in :issue:`28022` and :issue:`26470`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2052 +#: ../../whatsnew/3.6.rst:2056 msgid "" "The :mod:`tkinter.tix` module is now deprecated. :mod:`tkinter` users " "should use :mod:`tkinter.ttk` instead." msgstr "" -#: ../../whatsnew/3.6.rst:2060 +#: ../../whatsnew/3.6.rst:2064 msgid "" "The ``pyvenv`` script has been deprecated in favour of ``python3 -m venv``. " "This prevents confusion as to what Python interpreter ``pyvenv`` is " @@ -2959,23 +2977,35 @@ msgid "" "environment. (Contributed by Brett Cannon in :issue:`25154`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2067 +#: ../../whatsnew/3.6.rst:2071 +msgid "xml" +msgstr "xml" + +#: ../../whatsnew/3.6.rst:2073 +msgid "" +"As mitigation against DTD and external entity retrieval, " +"the :mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process " +"external entities by default. (Contributed by Christian Heimes " +"in :gh:`61441`.)" +msgstr "" + +#: ../../whatsnew/3.6.rst:2080 msgid "Deprecated functions and types of the C API" msgstr "" -#: ../../whatsnew/3.6.rst:2069 +#: ../../whatsnew/3.6.rst:2082 msgid "" -"Undocumented functions :c:func:`PyUnicode_AsEncodedObject`, :c:func:" -"`PyUnicode_AsDecodedObject`, :c:func:`PyUnicode_AsEncodedUnicode` and :c:" -"func:`PyUnicode_AsDecodedUnicode` are deprecated now. Use the :ref:`generic " -"codec based API ` instead." +"Undocumented functions :c:func:`!PyUnicode_AsEncodedObject`, :c:func:`!" +"PyUnicode_AsDecodedObject`, :c:func:`!PyUnicode_AsEncodedUnicode` " +"and :c:func:`!PyUnicode_AsDecodedUnicode` are deprecated now. Use " +"the :ref:`generic codec based API ` instead." msgstr "" -#: ../../whatsnew/3.6.rst:2076 +#: ../../whatsnew/3.6.rst:2089 msgid "Deprecated Build Options" msgstr "" -#: ../../whatsnew/3.6.rst:2078 +#: ../../whatsnew/3.6.rst:2091 msgid "" "The ``--with-system-ffi`` configure flag is now on by default on non-macOS " "UNIX platforms. It may be disabled by using ``--without-system-ffi``, but " @@ -2984,55 +3014,55 @@ msgid "" "the ``--with-system-ffi`` flag when building their system Python." msgstr "" -#: ../../whatsnew/3.6.rst:2086 +#: ../../whatsnew/3.6.rst:2099 msgid "Removed" msgstr "Removidos" -#: ../../whatsnew/3.6.rst:2089 +#: ../../whatsnew/3.6.rst:2102 msgid "API and Feature Removals" msgstr "Remoção de APIs e recursos" -#: ../../whatsnew/3.6.rst:2091 +#: ../../whatsnew/3.6.rst:2104 msgid "" "Unknown escapes consisting of ``'\\'`` and an ASCII letter in regular " -"expressions will now cause an error. In replacement templates for :func:`re." -"sub` they are still allowed, but deprecated. The :const:`re.LOCALE` flag can " -"now only be used with binary patterns." +"expressions will now cause an error. In replacement templates " +"for :func:`re.sub` they are still allowed, but deprecated. " +"The :const:`re.LOCALE` flag can now only be used with binary patterns." msgstr "" -#: ../../whatsnew/3.6.rst:2096 +#: ../../whatsnew/3.6.rst:2109 msgid "" -"``inspect.getmoduleinfo()`` was removed (was deprecated since CPython 3.3). :" -"func:`inspect.getmodulename` should be used for obtaining the module name " -"for a given path. (Contributed by Yury Selivanov in :issue:`13248`.)" +"``inspect.getmoduleinfo()`` was removed (was deprecated since CPython " +"3.3). :func:`inspect.getmodulename` should be used for obtaining the module " +"name for a given path. (Contributed by Yury Selivanov in :issue:`13248`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2101 +#: ../../whatsnew/3.6.rst:2114 msgid "" "``traceback.Ignore`` class and ``traceback.usage``, ``traceback.modname``, " -"``traceback.fullmodname``, ``traceback.find_lines_from_code``, ``traceback." -"find_lines``, ``traceback.find_strings``, ``traceback." -"find_executable_lines`` methods were removed from the :mod:`traceback` " -"module. They were undocumented methods deprecated since Python 3.2 and " -"equivalent functionality is available from private methods." +"``traceback.fullmodname``, ``traceback.find_lines_from_code``, " +"``traceback.find_lines``, ``traceback.find_strings``, " +"``traceback.find_executable_lines`` methods were removed from " +"the :mod:`traceback` module. They were undocumented methods deprecated since " +"Python 3.2 and equivalent functionality is available from private methods." msgstr "" -#: ../../whatsnew/3.6.rst:2108 +#: ../../whatsnew/3.6.rst:2121 msgid "" -"The ``tk_menuBar()`` and ``tk_bindForTraversal()`` dummy methods in :mod:" -"`tkinter` widget classes were removed (corresponding Tk commands were " -"obsolete since Tk 4.0)." +"The ``tk_menuBar()`` and ``tk_bindForTraversal()`` dummy methods " +"in :mod:`tkinter` widget classes were removed (corresponding Tk commands " +"were obsolete since Tk 4.0)." msgstr "" -#: ../../whatsnew/3.6.rst:2112 +#: ../../whatsnew/3.6.rst:2125 msgid "" "The :meth:`~zipfile.ZipFile.open` method of the :class:`zipfile.ZipFile` " "class no longer supports the ``'U'`` mode (was deprecated since Python 3.4). " -"Use :class:`io.TextIOWrapper` for reading compressed text files in :term:" -"`universal newlines` mode." +"Use :class:`io.TextIOWrapper` for reading compressed text files " +"in :term:`universal newlines` mode." msgstr "" -#: ../../whatsnew/3.6.rst:2117 +#: ../../whatsnew/3.6.rst:2130 msgid "" "The undocumented ``IN``, ``CDROM``, ``DLFCN``, ``TYPES``, ``CDIO``, and " "``STROPTS`` modules have been removed. They had been available in the " @@ -3043,15 +3073,15 @@ msgid "" "blob/v3.6.15/Tools/scripts/h2py.py>`_." msgstr "" -#: ../../whatsnew/3.6.rst:2125 +#: ../../whatsnew/3.6.rst:2138 msgid "The deprecated ``asynchat.fifo`` class has been removed." msgstr "" -#: ../../whatsnew/3.6.rst:2129 +#: ../../whatsnew/3.6.rst:2142 msgid "Porting to Python 3.6" msgstr "" -#: ../../whatsnew/3.6.rst:2131 +#: ../../whatsnew/3.6.rst:2144 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -3059,68 +3089,69 @@ msgstr "" "Esta seção lista as alterações descritas anteriormente e outras correções " "que podem exigir alterações no seu código." -#: ../../whatsnew/3.6.rst:2135 +#: ../../whatsnew/3.6.rst:2148 msgid "Changes in 'python' Command Behavior" msgstr "Changes in 'python' Command Behavior" -#: ../../whatsnew/3.6.rst:2137 +#: ../../whatsnew/3.6.rst:2150 msgid "" "The output of a special Python build with defined ``COUNT_ALLOCS``, " "``SHOW_ALLOC_COUNT`` or ``SHOW_TRACK_COUNT`` macros is now off by default. " "It can be re-enabled using the ``-X showalloccount`` option. It now outputs " -"to ``stderr`` instead of ``stdout``. (Contributed by Serhiy Storchaka in :" -"issue:`23034`.)" +"to ``stderr`` instead of ``stdout``. (Contributed by Serhiy Storchaka " +"in :issue:`23034`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2145 +#: ../../whatsnew/3.6.rst:2158 msgid "Changes in the Python API" msgstr "Alterações na API Python" -#: ../../whatsnew/3.6.rst:2147 +#: ../../whatsnew/3.6.rst:2160 msgid "" ":func:`open() ` will no longer allow combining the ``'U'`` mode flag " -"with ``'+'``. (Contributed by Jeff Balogh and John O'Connor in :issue:" -"`2091`.)" +"with ``'+'``. (Contributed by Jeff Balogh and John O'Connor " +"in :issue:`2091`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2151 +#: ../../whatsnew/3.6.rst:2164 msgid "" ":mod:`sqlite3` no longer implicitly commits an open transaction before DDL " "statements." msgstr "" -#: ../../whatsnew/3.6.rst:2154 +#: ../../whatsnew/3.6.rst:2167 msgid "" "On Linux, :func:`os.urandom` now blocks until the system urandom entropy " "pool is initialized to increase the security." msgstr "" -#: ../../whatsnew/3.6.rst:2157 +#: ../../whatsnew/3.6.rst:2170 msgid "" -"When :meth:`importlib.abc.Loader.exec_module` is defined, :meth:`importlib." -"abc.Loader.create_module` must also be defined." +"When :meth:`importlib.abc.Loader.exec_module` is " +"defined, :meth:`importlib.abc.Loader.create_module` must also be defined." msgstr "" -#: ../../whatsnew/3.6.rst:2160 +#: ../../whatsnew/3.6.rst:2173 msgid "" ":c:func:`PyErr_SetImportError` now sets :exc:`TypeError` when its **msg** " "argument is not set. Previously only ``NULL`` was returned." msgstr "" -#: ../../whatsnew/3.6.rst:2163 +#: ../../whatsnew/3.6.rst:2176 msgid "" -"The format of the ``co_lnotab`` attribute of code objects changed to support " -"a negative line number delta. By default, Python does not emit bytecode with " -"a negative line number delta. Functions using ``frame.f_lineno``, " -"``PyFrame_GetLineNumber()`` or ``PyCode_Addr2Line()`` are not affected. " -"Functions directly decoding ``co_lnotab`` should be updated to use a signed " -"8-bit integer type for the line number delta, but this is only required to " -"support applications using a negative line number delta. See ``Objects/" -"lnotab_notes.txt`` for the ``co_lnotab`` format and how to decode it, and " -"see the :pep:`511` for the rationale." +"The format of the :attr:`~codeobject.co_lnotab` attribute of code objects " +"changed to support a negative line number delta. By default, Python does not " +"emit bytecode with a negative line number delta. Functions " +"using :attr:`frame.f_lineno`, ``PyFrame_GetLineNumber()`` or " +"``PyCode_Addr2Line()`` are not affected. Functions directly decoding :attr:`!" +"co_lnotab` should be updated to use a signed 8-bit integer type for the line " +"number delta, but this is only required to support applications using a " +"negative line number delta. See ``Objects/lnotab_notes.txt`` for the :attr:`!" +"co_lnotab` format and how to decode it, and see the :pep:`511` for the " +"rationale." msgstr "" -#: ../../whatsnew/3.6.rst:2173 +#: ../../whatsnew/3.6.rst:2187 msgid "" "The functions in the :mod:`compileall` module now return booleans instead of " "``1`` or ``0`` to represent success or failure, respectively. Thanks to " @@ -3128,111 +3159,110 @@ msgid "" "were doing identity checks for ``1`` or ``0``. See :issue:`25768`." msgstr "" -#: ../../whatsnew/3.6.rst:2178 +#: ../../whatsnew/3.6.rst:2192 msgid "" -"Reading the :attr:`~urllib.parse.SplitResult.port` attribute of :func:" -"`urllib.parse.urlsplit` and :func:`~urllib.parse.urlparse` results now " -"raises :exc:`ValueError` for out-of-range values, rather than returning :" -"const:`None`. See :issue:`20059`." +"Reading the :attr:`~urllib.parse.SplitResult.port` attribute " +"of :func:`urllib.parse.urlsplit` and :func:`~urllib.parse.urlparse` results " +"now raises :exc:`ValueError` for out-of-range values, rather than " +"returning :const:`None`. See :issue:`20059`." msgstr "" -#: ../../whatsnew/3.6.rst:2183 +#: ../../whatsnew/3.6.rst:2197 msgid "" -"The :mod:`imp` module now raises a :exc:`DeprecationWarning` instead of :exc:" -"`PendingDeprecationWarning`." +"The :mod:`imp` module now raises a :exc:`DeprecationWarning` instead " +"of :exc:`PendingDeprecationWarning`." msgstr "" -#: ../../whatsnew/3.6.rst:2186 +#: ../../whatsnew/3.6.rst:2200 msgid "" "The following modules have had missing APIs added to their :attr:`__all__` " -"attributes to match the documented APIs: :mod:`calendar`, :mod:`cgi`, :mod:" -"`csv`, :mod:`~xml.etree.ElementTree`, :mod:`enum`, :mod:`fileinput`, :mod:" -"`ftplib`, :mod:`logging`, :mod:`mailbox`, :mod:`mimetypes`, :mod:" -"`optparse`, :mod:`plistlib`, :mod:`smtpd`, :mod:`subprocess`, :mod:" -"`tarfile`, :mod:`threading` and :mod:`wave`. This means they will export " -"new symbols when ``import *`` is used. (Contributed by Joel Taddei and Jacek " -"Kołodziej in :issue:`23883`.)" +"attributes to match the documented " +"APIs: :mod:`calendar`, :mod:`cgi`, :mod:`csv`, :mod:`~xml.etree.ElementTree`, :mod:`enum`, :mod:`fileinput`, :mod:`ftplib`, :mod:`logging`, :mod:`mailbox`, :mod:`mimetypes`, :mod:`optparse`, :mod:`plistlib`, :mod:`smtpd`, :mod:`subprocess`, :mod:`tarfile`, :mod:`threading` " +"and :mod:`wave`. This means they will export new symbols when ``import *`` " +"is used. (Contributed by Joel Taddei and Jacek Kołodziej in :issue:`23883`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2197 +#: ../../whatsnew/3.6.rst:2211 msgid "" "When performing a relative import, if ``__package__`` does not compare equal " "to ``__spec__.parent`` then :exc:`ImportWarning` is raised. (Contributed by " "Brett Cannon in :issue:`25791`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2201 +#: ../../whatsnew/3.6.rst:2215 msgid "" -"When a relative import is performed and no parent package is known, then :" -"exc:`ImportError` will be raised. Previously, :exc:`SystemError` could be " -"raised. (Contributed by Brett Cannon in :issue:`18018`.)" +"When a relative import is performed and no parent package is known, " +"then :exc:`ImportError` will be raised. Previously, :exc:`SystemError` could " +"be raised. (Contributed by Brett Cannon in :issue:`18018`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2205 +#: ../../whatsnew/3.6.rst:2219 msgid "" -"Servers based on the :mod:`socketserver` module, including those defined in :" -"mod:`http.server`, :mod:`xmlrpc.server` and :mod:`wsgiref.simple_server`, " -"now only catch exceptions derived from :exc:`Exception`. Therefore if a " -"request handler raises an exception like :exc:`SystemExit` or :exc:" -"`KeyboardInterrupt`, :meth:`~socketserver.BaseServer.handle_error` is no " -"longer called, and the exception will stop a single-threaded server. " +"Servers based on the :mod:`socketserver` module, including those defined " +"in :mod:`http.server`, :mod:`xmlrpc.server` " +"and :mod:`wsgiref.simple_server`, now only catch exceptions derived " +"from :exc:`Exception`. Therefore if a request handler raises an exception " +"like :exc:`SystemExit` " +"or :exc:`KeyboardInterrupt`, :meth:`~socketserver.BaseServer.handle_error` " +"is no longer called, and the exception will stop a single-threaded server. " "(Contributed by Martin Panter in :issue:`23430`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2214 +#: ../../whatsnew/3.6.rst:2228 msgid "" -":func:`spwd.getspnam` now raises a :exc:`PermissionError` instead of :exc:" -"`KeyError` if the user doesn't have privileges." +":func:`spwd.getspnam` now raises a :exc:`PermissionError` instead " +"of :exc:`KeyError` if the user doesn't have privileges." msgstr "" -#: ../../whatsnew/3.6.rst:2217 +#: ../../whatsnew/3.6.rst:2231 msgid "" "The :meth:`socket.socket.close` method now raises an exception if an error " "(e.g. ``EBADF``) was reported by the underlying system call. (Contributed by " "Martin Panter in :issue:`26685`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2221 +#: ../../whatsnew/3.6.rst:2235 msgid "" -"The *decode_data* argument for the :class:`smtpd.SMTPChannel` and :class:" -"`smtpd.SMTPServer` constructors is now ``False`` by default. This means that " -"the argument passed to :meth:`~smtpd.SMTPServer.process_message` is now a " -"bytes object by default, and ``process_message()`` will be passed keyword " -"arguments. Code that has already been updated in accordance with the " +"The *decode_data* argument for the :class:`smtpd.SMTPChannel` " +"and :class:`smtpd.SMTPServer` constructors is now ``False`` by default. This " +"means that the argument passed to :meth:`~smtpd.SMTPServer.process_message` " +"is now a bytes object by default, and ``process_message()`` will be passed " +"keyword arguments. Code that has already been updated in accordance with the " "deprecation warning generated by 3.5 will not be affected." msgstr "" -#: ../../whatsnew/3.6.rst:2229 +#: ../../whatsnew/3.6.rst:2243 msgid "" -"All optional arguments of the :func:`~json.dump`, :func:`~json.dumps`, :func:" -"`~json.load` and :func:`~json.loads` functions and :class:`~json." -"JSONEncoder` and :class:`~json.JSONDecoder` class constructors in the :mod:" -"`json` module are now :ref:`keyword-only `. " -"(Contributed by Serhiy Storchaka in :issue:`18726`.)" +"All optional arguments of " +"the :func:`~json.dump`, :func:`~json.dumps`, :func:`~json.load` " +"and :func:`~json.loads` functions and :class:`~json.JSONEncoder` " +"and :class:`~json.JSONDecoder` class constructors in the :mod:`json` module " +"are now :ref:`keyword-only `. (Contributed by Serhiy " +"Storchaka in :issue:`18726`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2236 +#: ../../whatsnew/3.6.rst:2250 msgid "" "Subclasses of :class:`type` which don't override ``type.__new__`` may no " "longer use the one-argument form to get the type of an object." msgstr "" -"Sub-classes de :class:`type` que não fazem sobrecarga de ``type.__new__`` " -"não podem mais usar a forma com apenas um argumento para obter o tipo de um " -"objeto." +"Subclasses de :class:`type` que não substituem ``type.__new__`` não podem " +"mais usar a forma com apenas um argumento para obter o tipo de um objeto." -#: ../../whatsnew/3.6.rst:2239 +#: ../../whatsnew/3.6.rst:2253 msgid "" -"As part of :pep:`487`, the handling of keyword arguments passed to :class:" -"`type` (other than the metaclass hint, ``metaclass``) is now consistently " -"delegated to :meth:`object.__init_subclass__`. This means that :meth:`type." -"__new__` and :meth:`type.__init__` both now accept arbitrary keyword " -"arguments, but :meth:`object.__init_subclass__` (which is called from :meth:" -"`type.__new__`) will reject them by default. Custom metaclasses accepting " -"additional keyword arguments will need to adjust their calls to :meth:`type." -"__new__` (whether direct or via :class:`super`) accordingly." +"As part of :pep:`487`, the handling of keyword arguments passed " +"to :class:`type` (other than the metaclass hint, ``metaclass``) is now " +"consistently delegated to :meth:`object.__init_subclass__`. This means " +"that :meth:`type.__new__` and :meth:`type.__init__` both now accept " +"arbitrary keyword arguments, but :meth:`object.__init_subclass__` (which is " +"called from :meth:`type.__new__`) will reject them by default. Custom " +"metaclasses accepting additional keyword arguments will need to adjust their " +"calls to :meth:`type.__new__` (whether direct or via :class:`super`) " +"accordingly." msgstr "" -#: ../../whatsnew/3.6.rst:2248 +#: ../../whatsnew/3.6.rst:2262 msgid "" "In :class:`distutils.command.sdist.sdist`, the ``default_format`` attribute " "has been removed and is no longer honored. Instead, the gzipped tarfile " @@ -3242,64 +3272,65 @@ msgid "" "containing the following:" msgstr "" -#: ../../whatsnew/3.6.rst:2261 +#: ../../whatsnew/3.6.rst:2275 msgid "" "This behavior has also been backported to earlier Python versions by " "Setuptools 26.0.0." msgstr "" -#: ../../whatsnew/3.6.rst:2264 +#: ../../whatsnew/3.6.rst:2278 msgid "" -"In the :mod:`urllib.request` module and the :meth:`http.client." -"HTTPConnection.request` method, if no Content-Length header field has been " -"specified and the request body is a file object, it is now sent with HTTP " -"1.1 chunked encoding. If a file object has to be sent to a HTTP 1.0 server, " -"the Content-Length value now has to be specified by the caller. (Contributed " -"by Demian Brecht and Rolf Krahl with tweaks from Martin Panter in :issue:" -"`12319`.)" +"In the :mod:`urllib.request` module and " +"the :meth:`http.client.HTTPConnection.request` method, if no Content-Length " +"header field has been specified and the request body is a file object, it is " +"now sent with HTTP 1.1 chunked encoding. If a file object has to be sent to " +"a HTTP 1.0 server, the Content-Length value now has to be specified by the " +"caller. (Contributed by Demian Brecht and Rolf Krahl with tweaks from Martin " +"Panter in :issue:`12319`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2273 +#: ../../whatsnew/3.6.rst:2287 msgid "" -"The :class:`~csv.DictReader` now returns rows of type :class:`~collections." -"OrderedDict`. (Contributed by Steve Holden in :issue:`27842`.)" +"The :class:`~csv.DictReader` now returns rows of " +"type :class:`~collections.OrderedDict`. (Contributed by Steve Holden " +"in :issue:`27842`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2277 +#: ../../whatsnew/3.6.rst:2291 msgid "" "The :const:`crypt.METHOD_CRYPT` will no longer be added to ``crypt.methods`` " -"if unsupported by the platform. (Contributed by Victor Stinner in :issue:" -"`25287`.)" +"if unsupported by the platform. (Contributed by Victor Stinner " +"in :issue:`25287`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2285 +#: ../../whatsnew/3.6.rst:2299 msgid "" "On Linux, :func:`ctypes.util.find_library` now looks in ``LD_LIBRARY_PATH`` " "for shared libraries. (Contributed by Vinay Sajip in :issue:`9998`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2289 +#: ../../whatsnew/3.6.rst:2303 msgid "" "The :class:`imaplib.IMAP4` class now handles flags containing the ``']'`` " "character in messages sent from the server to improve real-world " "compatibility. (Contributed by Lita Cho in :issue:`21815`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2294 +#: ../../whatsnew/3.6.rst:2308 msgid "" "The :func:`mmap.write() ` function now returns the number of " -"bytes written like other write methods. (Contributed by Jakub Stasiak in :" -"issue:`26335`.)" +"bytes written like other write methods. (Contributed by Jakub Stasiak " +"in :issue:`26335`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2298 +#: ../../whatsnew/3.6.rst:2312 msgid "" "The :func:`pkgutil.iter_modules` and :func:`pkgutil.walk_packages` functions " "now return :class:`~pkgutil.ModuleInfo` named tuples. (Contributed by " "Ramchandra Apte in :issue:`17211`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2302 +#: ../../whatsnew/3.6.rst:2316 msgid "" ":func:`re.sub` now raises an error for invalid numerical group references in " "replacement templates even if the pattern is not found in the string. The " @@ -3308,17 +3339,17 @@ msgid "" "in :issue:`25953`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2308 +#: ../../whatsnew/3.6.rst:2322 msgid "" ":class:`zipfile.ZipFile` will now raise :exc:`NotImplementedError` for " "unrecognized compression values. Previously a plain :exc:`RuntimeError` was " "raised. Additionally, calling :class:`~zipfile.ZipFile` methods on a closed " "ZipFile or calling the :meth:`~zipfile.ZipFile.write` method on a ZipFile " -"created with mode ``'r'`` will raise a :exc:`ValueError`. Previously, a :exc:" -"`RuntimeError` was raised in those scenarios." +"created with mode ``'r'`` will raise a :exc:`ValueError`. Previously, " +"a :exc:`RuntimeError` was raised in those scenarios." msgstr "" -#: ../../whatsnew/3.6.rst:2315 +#: ../../whatsnew/3.6.rst:2329 msgid "" "when custom metaclasses are combined with zero-argument :func:`super` or " "direct references from methods to the implicit ``__class__`` closure " @@ -3328,24 +3359,25 @@ msgid "" "Python 3.8." msgstr "" -#: ../../whatsnew/3.6.rst:2322 +#: ../../whatsnew/3.6.rst:2336 msgid "" "With the introduction of :exc:`ModuleNotFoundError`, import system consumers " "may start expecting import system replacements to raise that more specific " -"exception when appropriate, rather than the less-specific :exc:" -"`ImportError`. To provide future compatibility with such consumers, " -"implementors of alternative import systems that completely replace :func:" -"`__import__` will need to update their implementations to raise the new " -"subclass when a module can't be found at all. Implementors of compliant " -"plugins to the default import system shouldn't need to make any changes, as " -"the default import system will raise the new subclass when appropriate." +"exception when appropriate, rather than the less-" +"specific :exc:`ImportError`. To provide future compatibility with such " +"consumers, implementors of alternative import systems that completely " +"replace :func:`__import__` will need to update their implementations to " +"raise the new subclass when a module can't be found at all. Implementors of " +"compliant plugins to the default import system shouldn't need to make any " +"changes, as the default import system will raise the new subclass when " +"appropriate." msgstr "" -#: ../../whatsnew/3.6.rst:2334 +#: ../../whatsnew/3.6.rst:2348 msgid "Changes in the C API" msgstr "Alterações na API C" -#: ../../whatsnew/3.6.rst:2336 +#: ../../whatsnew/3.6.rst:2350 msgid "" "The :c:func:`PyMem_Malloc` allocator family now uses the :ref:`pymalloc " "allocator ` rather than the system :c:func:`malloc`. Applications " @@ -3354,138 +3386,157 @@ msgid "" "usage of memory allocators in your application. See :issue:`26249`." msgstr "" -#: ../../whatsnew/3.6.rst:2342 +#: ../../whatsnew/3.6.rst:2356 msgid "" ":c:func:`Py_Exit` (and the main interpreter) now override the exit status " "with 120 if flushing buffered data failed. See :issue:`5319`." msgstr "" -#: ../../whatsnew/3.6.rst:2347 +#: ../../whatsnew/3.6.rst:2361 msgid "CPython bytecode changes" msgstr "Alterações de bytecode do CPython" -#: ../../whatsnew/3.6.rst:2349 +#: ../../whatsnew/3.6.rst:2363 msgid "" "There have been several major changes to the :term:`bytecode` in Python 3.6." msgstr "" -#: ../../whatsnew/3.6.rst:2351 +#: ../../whatsnew/3.6.rst:2365 msgid "" "The Python interpreter now uses a 16-bit wordcode instead of bytecode. " "(Contributed by Demur Rumed with input and reviews from Serhiy Storchaka and " "Victor Stinner in :issue:`26647` and :issue:`28050`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2355 +#: ../../whatsnew/3.6.rst:2369 msgid "" "The new :opcode:`FORMAT_VALUE` and :opcode:`BUILD_STRING` opcodes as part of " "the :ref:`formatted string literal ` implementation. " -"(Contributed by Eric Smith in :issue:`25483` and Serhiy Storchaka in :issue:" -"`27078`.)" +"(Contributed by Eric Smith in :issue:`25483` and Serhiy Storchaka " +"in :issue:`27078`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2360 +#: ../../whatsnew/3.6.rst:2374 msgid "" "The new :opcode:`BUILD_CONST_KEY_MAP` opcode to optimize the creation of " -"dictionaries with constant keys. (Contributed by Serhiy Storchaka in :issue:" -"`27140`.)" +"dictionaries with constant keys. (Contributed by Serhiy Storchaka " +"in :issue:`27140`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2364 +#: ../../whatsnew/3.6.rst:2378 msgid "" "The function call opcodes have been heavily reworked for better performance " -"and simpler implementation. The :opcode:`MAKE_FUNCTION`, :opcode:" -"`CALL_FUNCTION`, :opcode:`CALL_FUNCTION_KW` and :opcode:" -"`BUILD_MAP_UNPACK_WITH_CALL` opcodes have been modified, the new :opcode:" -"`CALL_FUNCTION_EX` and :opcode:`BUILD_TUPLE_UNPACK_WITH_CALL` have been " -"added, and ``CALL_FUNCTION_VAR``, ``CALL_FUNCTION_VAR_KW`` and " -"``MAKE_CLOSURE`` opcodes have been removed. (Contributed by Demur Rumed in :" -"issue:`27095`, and Serhiy Storchaka in :issue:`27213`, :issue:`28257`.)" +"and simpler implementation. " +"The :opcode:`MAKE_FUNCTION`, :opcode:`CALL_FUNCTION`, :opcode:`CALL_FUNCTION_KW` " +"and :opcode:`BUILD_MAP_UNPACK_WITH_CALL` opcodes have been modified, the " +"new :opcode:`CALL_FUNCTION_EX` and :opcode:`BUILD_TUPLE_UNPACK_WITH_CALL` " +"have been added, and ``CALL_FUNCTION_VAR``, ``CALL_FUNCTION_VAR_KW`` and " +"``MAKE_CLOSURE`` opcodes have been removed. (Contributed by Demur Rumed " +"in :issue:`27095`, and Serhiy Storchaka in :issue:`27213`, :issue:`28257`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2375 +#: ../../whatsnew/3.6.rst:2389 msgid "" "The new :opcode:`SETUP_ANNOTATIONS` and :opcode:`STORE_ANNOTATION` opcodes " "have been added to support the new :term:`variable annotation` syntax. " "(Contributed by Ivan Levkivskyi in :issue:`27985`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2381 +#: ../../whatsnew/3.6.rst:2395 msgid "Notable changes in Python 3.6.2" msgstr "" -#: ../../whatsnew/3.6.rst:2384 +#: ../../whatsnew/3.6.rst:2398 msgid "New ``make regen-all`` build target" -msgstr "" +msgstr "Novo alvo de construção ``make regen-all``" -#: ../../whatsnew/3.6.rst:2386 +#: ../../whatsnew/3.6.rst:2400 msgid "" "To simplify cross-compilation, and to ensure that CPython can reliably be " "compiled without requiring an existing version of Python to already be " "available, the autotools-based build system no longer attempts to implicitly " "recompile generated files based on file modification times." msgstr "" +"Para simplificar a compilação cruzada e garantir que o CPython possa ser " +"compilado de forma confiável sem exigir que uma versão existente do Python " +"já esteja disponível, o sistema de construção baseado em autotools não tenta " +"mais recompilar implicitamente os arquivos gerados com base nos tempos de " +"modificação dos arquivos." -#: ../../whatsnew/3.6.rst:2391 +#: ../../whatsnew/3.6.rst:2405 msgid "" "Instead, a new ``make regen-all`` command has been added to force " "regeneration of these files when desired (e.g. after an initial version of " "Python has already been built based on the pregenerated versions)." msgstr "" +"Em vez disso, um novo comando ``make regen-all`` foi adicionado para forçar " +"a regeneração desses arquivos quando desejado (por exemplo, após uma versão " +"inicial do Python já ter sido construída com base nas versões pré-geradas)." -#: ../../whatsnew/3.6.rst:2395 +#: ../../whatsnew/3.6.rst:2409 msgid "" -"More selective regeneration targets are also defined - see :source:`Makefile." -"pre.in` for details." +"More selective regeneration targets are also defined - " +"see :source:`Makefile.pre.in` for details." msgstr "" +"Alvos de regeneração mais seletivos também são definidos -- " +"veja :source:`Makefile.pre.in` para detalhes." -#: ../../whatsnew/3.6.rst:2398 ../../whatsnew/3.6.rst:2411 +#: ../../whatsnew/3.6.rst:2412 ../../whatsnew/3.6.rst:2425 msgid "(Contributed by Victor Stinner in :issue:`23404`.)" msgstr "(Contribuição de Victor Stinner em :issue:`23404`.)" -#: ../../whatsnew/3.6.rst:2404 +#: ../../whatsnew/3.6.rst:2418 msgid "Removal of ``make touch`` build target" -msgstr "" +msgstr "Remoção do alvo de construção ``make touch``" -#: ../../whatsnew/3.6.rst:2406 +#: ../../whatsnew/3.6.rst:2420 msgid "" "The ``make touch`` build target previously used to request implicit " "regeneration of generated files by updating their modification times has " "been removed." msgstr "" +"O alvo de construção ``make touch`` usado anteriormente para solicitar " +"regeneração implícita de arquivos gerados atualizando seus tempos de " +"modificação foi removido." -#: ../../whatsnew/3.6.rst:2409 +#: ../../whatsnew/3.6.rst:2423 msgid "It has been replaced by the new ``make regen-all`` target." -msgstr "" +msgstr "Ele foi substituído pelo novo alvo ``make regen-all``." -#: ../../whatsnew/3.6.rst:2417 +#: ../../whatsnew/3.6.rst:2431 msgid "Notable changes in Python 3.6.4" msgstr "" -#: ../../whatsnew/3.6.rst:2419 +#: ../../whatsnew/3.6.rst:2433 msgid "" "The ``PyExc_RecursionErrorInst`` singleton that was part of the public API " "has been removed as its members being never cleared may cause a segfault " -"during finalization of the interpreter. (Contributed by Xavier de Gaye in :" -"issue:`22898` and :issue:`30697`.)" +"during finalization of the interpreter. (Contributed by Xavier de Gaye " +"in :issue:`22898` and :issue:`30697`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2426 +#: ../../whatsnew/3.6.rst:2440 msgid "Notable changes in Python 3.6.5" msgstr "" -#: ../../whatsnew/3.6.rst:2428 +#: ../../whatsnew/3.6.rst:2442 msgid "" "The :func:`locale.localeconv` function now sets temporarily the ``LC_CTYPE`` " "locale to the ``LC_NUMERIC`` locale in some cases. (Contributed by Victor " "Stinner in :issue:`31900`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2433 +#: ../../whatsnew/3.6.rst:2448 msgid "Notable changes in Python 3.6.7" msgstr "" -#: ../../whatsnew/3.6.rst:2435 +#: ../../whatsnew/3.6.rst:2450 +msgid "" +":mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process external " +"entities by default. See also :gh:`61441`." +msgstr "" + +#: ../../whatsnew/3.6.rst:2453 msgid "" "In 3.6.7 the :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token " "when provided with input that does not have a trailing new line. This " @@ -3493,18 +3544,18 @@ msgid "" "Ammar Askar in :issue:`33899`.)" msgstr "" -#: ../../whatsnew/3.6.rst:2441 +#: ../../whatsnew/3.6.rst:2459 msgid "Notable changes in Python 3.6.10" msgstr "" -#: ../../whatsnew/3.6.rst:2443 +#: ../../whatsnew/3.6.rst:2461 msgid "" -"Due to significant security concerns, the *reuse_address* parameter of :meth:" -"`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " -"because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For " -"more details, see the documentation for ``loop.create_datagram_endpoint()``. " -"(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:" -"`37228`.)" +"Due to significant security concerns, the *reuse_address* parameter " +"of :meth:`asyncio.loop.create_datagram_endpoint` is no longer supported. " +"This is because of the behavior of the socket option ``SO_REUSEADDR`` in " +"UDP. For more details, see the documentation for " +"``loop.create_datagram_endpoint()``. (Contributed by Kyle Stanley, Antoine " +"Pitrou, and Yury Selivanov in :issue:`37228`.)" msgstr "" "Devido a significativas preocupações de segurança, o parâmetro " "*reuse_address* de :meth:`asyncio.loop.create_datagram_endpoint` não é mais " @@ -3513,27 +3564,58 @@ msgstr "" "``loop.create_datagram_endpoint()``. (Contribuição de Kyle Stanley, Antoine " "Pitrou e Yury Selivanov em :issue:`37228`.)" -#: ../../whatsnew/3.6.rst:2451 +#: ../../whatsnew/3.6.rst:2469 msgid "Notable changes in Python 3.6.13" msgstr "" -#: ../../whatsnew/3.6.rst:2453 +#: ../../whatsnew/3.6.rst:2471 msgid "" "Earlier Python versions allowed using both ``;`` and ``&`` as query " -"parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." -"parse.parse_qsl`. Due to security concerns, and to conform with newer W3C " -"recommendations, this has been changed to allow only a single separator key, " -"with ``&`` as the default. This change also affects :func:`cgi.parse` and :" -"func:`cgi.parse_multipart` as they use the affected functions internally. " -"For more details, please see their respective documentation. (Contributed by " -"Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" +"parameter separators in :func:`urllib.parse.parse_qs` " +"and :func:`urllib.parse.parse_qsl`. Due to security concerns, and to " +"conform with newer W3C recommendations, this has been changed to allow only " +"a single separator key, with ``&`` as the default. This change also " +"affects :func:`cgi.parse` and :func:`cgi.parse_multipart` as they use the " +"affected functions internally. For more details, please see their respective " +"documentation. (Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin " +"in :issue:`42967`.)" msgstr "" "Versões anteriores do Python permitiam o uso de ``;`` e ``&`` como " -"separadores de parâmetros de consulta nas funções :func:`urllib.parse." -"parse_qs` e :func:`urllib.parse.parse_qsl`. Devido a questões de segurança, " -"e em conformidade com as recomendações mais recentes do W3C, isso foi " -"alterado para permitir apenas uma única chave separadora, com ``&`` como " -"padrão. Esta mudança também afeta as funções :func:`cgi.parse` e :func:`cgi." -"parse_multipart` já que elas usam as funções afetadas internamente. Para " -"obter mais detalhes, consulte sua respectiva documentação. (Contribuição de " -"Adam Goldschmidt, Senthil Kumaran e Ken Jin em :issue:`42967`.)" +"separadores de parâmetros de consulta nas " +"funções :func:`urllib.parse.parse_qs` e :func:`urllib.parse.parse_qsl`. " +"Devido a questões de segurança, e em conformidade com as recomendações mais " +"recentes do W3C, isso foi alterado para permitir apenas uma única chave " +"separadora, com ``&`` como padrão. Esta mudança também afeta as " +"funções :func:`cgi.parse` e :func:`cgi.parse_multipart` já que elas usam as " +"funções afetadas internamente. Para obter mais detalhes, consulte sua " +"respectiva documentação. (Contribuição de Adam Goldschmidt, Senthil Kumaran " +"e Ken Jin em :issue:`42967`.)" + +#: ../../whatsnew/3.6.rst:2482 +msgid "Notable changes in Python 3.6.14" +msgstr "" + +#: ../../whatsnew/3.6.rst:2484 +msgid "" +"A security fix alters the :class:`ftplib.FTP` behavior to not trust the IPv4 " +"address sent from the remote server when setting up a passive data channel. " +"We reuse the ftp server IP address instead. For unusual code requiring the " +"old behavior, set a ``trust_server_pasv_ipv4_address`` attribute on your FTP " +"instance to ``True``. (See :gh:`87451`)" +msgstr "" +"Uma correção de segurança altera o comportamento :class:`ftplib.FTP` para " +"não confiar no endereço IPv4 enviado do servidor remoto ao configurar um " +"canal de dados passivo. Em vez disso, reutilizamos o endereço IP do servidor " +"ftp. Para códigos incomuns que requerem o comportamento antigo, defina um " +"atributo ``trust_server_pasv_ipv4_address`` em sua instância de FTP para " +"``True``. (Veja :gh:`87451`)" + +#: ../../whatsnew/3.6.rst:2490 +msgid "" +"The presence of newline or tab characters in parts of a URL allows for some " +"forms of attacks. Following the WHATWG specification that updates RFC 3986, " +"ASCII newline ``\\n``, ``\\r`` and tab ``\\t`` characters are stripped from " +"the URL by the parser :func:`urllib.parse` preventing such attacks. The " +"removal characters are controlled by a new module level variable " +"``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. (See :gh:`88048`)" +msgstr "" diff --git a/whatsnew/3.7.po b/whatsnew/3.7.po index 7eb9ab30a..3082f7afa 100644 --- a/whatsnew/3.7.po +++ b/whatsnew/3.7.po @@ -1,33 +1,26 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Hemílio Lauro , 2021 -# Raphael Mendonça, 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# André Filipe de Assunção e Brito , 2021 -# Italo Penaforte , 2021 -# Victor Matheus Castro , 2021 -# Vinícius Muniz de Melo , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 +# Rafael Fontenelle , 2026 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-15 21:21+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: Rafael Fontenelle , 2026\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -46,12 +39,12 @@ msgstr "Elvis Pranskevichus " #: ../../whatsnew/3.7.rst:47 msgid "" "This article explains the new features in Python 3.7, compared to 3.6. " -"Python 3.7 was released on June 27, 2018. For full details, see the :ref:" -"`changelog `." +"Python 3.7 was released on June 27, 2018. For full details, see " +"the :ref:`changelog `." msgstr "" "Este artigo explica os novos recursos no Python 3.7, em comparação com 3.6. " -"Python 3.7 foi lançado em 27 de Junho de 2018. Veja :ref:" -"`changelog` para uma lista completa de mudanças." +"Python 3.7 foi lançado em 27 de Junho de 2018. " +"Veja :ref:`changelog` para uma lista completa de mudanças." #: ../../whatsnew/3.7.rst:53 msgid "Summary -- Release Highlights" @@ -104,7 +97,7 @@ msgstr "Novos recursos embutidos:" #: ../../whatsnew/3.7.rst:74 msgid "" ":ref:`PEP 553 `, the new :func:`breakpoint` function." -msgstr ":ref:`PEP 553 `, a nova função :func:`breakpoint` ." +msgstr ":ref:`PEP 553 `, a nova função :func:`breakpoint`.;" #: ../../whatsnew/3.7.rst:76 msgid "Python data model improvements:" @@ -115,16 +108,16 @@ msgid "" ":ref:`PEP 562 `, customization of access to module " "attributes." msgstr "" -":ref:`PEP 562 `, customização de acesso aos atributos do " -"módulo." +":ref:`PEP 562 `, personalização de acesso aos atributos " +"do módulo." #: ../../whatsnew/3.7.rst:81 msgid "" ":ref:`PEP 560 `, core support for typing module and " "generic types." msgstr "" -":ref:`PEP 560 `, suporte principal para o módulo de " -"digitação e tipos genéricos." +":ref:`PEP 560 `, suporte principal para o módulo typing e " +"tipos genéricos." #: ../../whatsnew/3.7.rst:84 msgid "" @@ -142,11 +135,12 @@ msgstr "Melhorias significativas na biblioteca padrão:" #: ../../whatsnew/3.7.rst:92 msgid "" -"The :mod:`asyncio` module has received new features, significant :ref:" -"`usability and performance improvements `." +"The :mod:`asyncio` module has received new features, " +"significant :ref:`usability and performance improvements " +"`." msgstr "" -"O módulo :mod:`asyncio` recebeu novos recursos, significativo à :ref:" -"`melhorias de usabilidade e desempenho `." +"O módulo :mod:`asyncio` recebeu novos recursos, significativo " +"à :ref:`melhorias de usabilidade e desempenho `." #: ../../whatsnew/3.7.rst:95 msgid "" @@ -186,8 +180,8 @@ msgid "" ":ref:`PEP 565 `, improved :exc:`DeprecationWarning` " "handling" msgstr "" -":ref:`PEP 565 `, aprimorada o tratamento de :exc:" -"`DeprecationWarning`" +":ref:`PEP 565 `, aprimorada o tratamento " +"de :exc:`DeprecationWarning`" #: ../../whatsnew/3.7.rst:109 msgid "C API improvements:" @@ -211,8 +205,8 @@ msgstr "" #: ../../whatsnew/3.7.rst:116 msgid "" "New documentation translations: `Japanese `_, " -"`French `_, and `Korean `_." +"`French `_, and `Korean `_." msgstr "" "Novas traduções da documentação: `japonês `_, " "`francês `_ e `coreano ` to CPython which supersedes use of " "the existing TLS API within the CPython interpreter, while deprecating the " -"existing API. The TSS API uses a new type :c:type:`Py_tss_t` instead of :c:" -"expr:`int` to represent TSS keys--an opaque type the definition of which may " -"depend on the underlying TLS implementation. Therefore, this will allow to " -"build CPython on platforms where the native TLS key is defined in a way that " -"cannot be safely cast to :c:expr:`int`." +"existing API. The TSS API uses a new type :c:type:`Py_tss_t` instead " +"of :c:expr:`int` to represent TSS keys--an opaque type the definition of " +"which may depend on the underlying TLS implementation. Therefore, this will " +"allow to build CPython on platforms where the native TLS key is defined in a " +"way that cannot be safely cast to :c:expr:`int`." msgstr "" "A :pep:`539` muda isso fornecendo uma nova :ref:`API de armazenamento " "específico de thread (TSS) ` para CPython que " "substitui o uso da API de TLS existente dentro do interpretador CPython, " -"enquanto descontinua a API existente. A API de TSS usa um novo tipo :c:type:" -"`Py_tss_t` em vez de :c:expr:`int` para representar as chaves de TSS -- um " -"tipo não visível cuja definição pode depender da implementação TLS " -"subjacente. Portanto, isso permitirá construir CPython em plataformas onde a " -"chave nativa de TLS é definida de uma forma que não pode ser convertida com " -"segurança para :c:expr:`int`." +"enquanto descontinua a API existente. A API de TSS usa um novo " +"tipo :c:type:`Py_tss_t` em vez de :c:expr:`int` para representar as chaves " +"de TSS -- um tipo não visível cuja definição pode depender da implementação " +"TLS subjacente. Portanto, isso permitirá construir CPython em plataformas " +"onde a chave nativa de TLS é definida de uma forma que não pode ser " +"convertida com segurança para :c:expr:`int`." #: ../../whatsnew/3.7.rst:306 msgid "" @@ -603,8 +601,8 @@ msgstr "PEP 562: Personalização de acesso aos atributos do módulo" #: ../../whatsnew/3.7.rst:323 msgid "" "Python 3.7 allows defining :meth:`__getattr__` on modules and will call it " -"whenever a module attribute is otherwise not found. Defining :meth:" -"`__dir__` on modules is now also allowed." +"whenever a module attribute is otherwise not found. " +"Defining :meth:`__dir__` on modules is now also allowed." msgstr "" "Python 3.7 permite definir :meth:`__getattr__` em módulos e irá chamá-lo " "sempre que um atributo de módulo não for encontrado. Definir :meth:`__dir__` " @@ -615,8 +613,8 @@ msgid "" "A typical example of where this may be useful is module attribute " "deprecation and lazy loading." msgstr "" -"Um exemplo típico de onde isso pode ser útil é a depreciação do atributo do " -"módulo e o carregamento lento." +"Um exemplo típico de onde isso pode ser útil é a descontinuação do atributo " +"do módulo e o carregamento preguiçoso ou *lazy*." #: ../../whatsnew/3.7.rst:332 msgid ":pep:`562` -- Module ``__getattr__`` and ``__dir__``" @@ -639,32 +637,32 @@ msgid "" "module:" msgstr "" "A resolução dos relógios em sistemas modernos pode exceder a precisão " -"limitada de um número de ponto flutuante retornado pela função :func:`time." -"time` e suas variantes. Para evitar perda de precisão, :pep:`564` adiciona " -"seis novas variantes em \"nanossegundos\" das funções de temporizador " -"existentes ao módulo :mod:`time`:" +"limitada de um número de ponto flutuante retornado pela " +"função :func:`time.time` e suas variantes. Para evitar perda de " +"precisão, :pep:`564` adiciona seis novas variantes em \"nanossegundos\" das " +"funções de temporizador existentes ao módulo :mod:`time`:" -#: ../../whatsnew/3.7.rst:347 ../../whatsnew/3.7.rst:1447 +#: ../../whatsnew/3.7.rst:347 ../../whatsnew/3.7.rst:1451 msgid ":func:`time.clock_gettime_ns`" msgstr ":func:`time.clock_gettime_ns`" -#: ../../whatsnew/3.7.rst:348 ../../whatsnew/3.7.rst:1448 +#: ../../whatsnew/3.7.rst:348 ../../whatsnew/3.7.rst:1452 msgid ":func:`time.clock_settime_ns`" msgstr ":func:`time.clock_settime_ns`" -#: ../../whatsnew/3.7.rst:349 ../../whatsnew/3.7.rst:1449 +#: ../../whatsnew/3.7.rst:349 ../../whatsnew/3.7.rst:1453 msgid ":func:`time.monotonic_ns`" msgstr ":func:`time.monotonic_ns`" -#: ../../whatsnew/3.7.rst:350 ../../whatsnew/3.7.rst:1450 +#: ../../whatsnew/3.7.rst:350 ../../whatsnew/3.7.rst:1454 msgid ":func:`time.perf_counter_ns`" msgstr ":func:`time.perf_counter_ns`" -#: ../../whatsnew/3.7.rst:351 ../../whatsnew/3.7.rst:1451 +#: ../../whatsnew/3.7.rst:351 ../../whatsnew/3.7.rst:1455 msgid ":func:`time.process_time_ns`" msgstr ":func:`time.process_time_ns`" -#: ../../whatsnew/3.7.rst:352 ../../whatsnew/3.7.rst:1452 +#: ../../whatsnew/3.7.rst:352 ../../whatsnew/3.7.rst:1456 msgid ":func:`time.time_ns`" msgstr ":func:`time.time_ns`" @@ -676,12 +674,14 @@ msgstr "" #: ../../whatsnew/3.7.rst:356 msgid "" "`Measurements `_ show that on Linux and Windows the resolution of :func:`time." -"time_ns` is approximately 3 times better than that of :func:`time.time`." +"python>`_ show that on Linux and Windows the resolution " +"of :func:`time.time_ns` is approximately 3 times better than that " +"of :func:`time.time`." msgstr "" "`Medições `_ mostram que no Linux e no Windows a resolução de :func:`time." -"time_ns` é aproximadamente 3 vezes melhor do que :func:`time.time`." +"python>`_ mostram que no Linux e no Windows a resolução " +"de :func:`time.time_ns` é aproximadamente 3 vezes melhor do " +"que :func:`time.time`." #: ../../whatsnew/3.7.rst:362 msgid ":pep:`564` -- Add new time functions with nanosecond resolution" @@ -704,12 +704,12 @@ msgid "" msgstr "" "O tratamento padrão de :exc:`DeprecationWarning` foi alterado de forma que " "esses avisos sejam mais uma vez mostrados por padrão, mas apenas quando o " -"código que os aciona está sendo executado diretamente no módulo :mod:" -"`__main__`. Como resultado, os desenvolvedores de scripts de arquivo único e " -"aqueles que usam Python interativamente devem mais uma vez começar a ver " -"avisos de descontinuação para as APIs que usam, mas os avisos de " -"descontinuação acionados por aplicações importadas, biblioteca e módulos de " -"estrutura continuarão ocultos por padrão." +"código que os aciona está sendo executado diretamente no " +"módulo :mod:`__main__`. Como resultado, os desenvolvedores de scripts de " +"arquivo único e aqueles que usam Python interativamente devem mais uma vez " +"começar a ver avisos de descontinuação para as APIs que usam, mas os avisos " +"de descontinuação acionados por aplicações importadas, biblioteca e módulos " +"de estrutura continuarão ocultos por padrão." #: ../../whatsnew/3.7.rst:379 msgid "" @@ -754,16 +754,17 @@ msgstr "" #: ../../whatsnew/3.7.rst:393 msgid "" -"Previously both :exc:`DeprecationWarning` and :exc:" -"`PendingDeprecationWarning` were only visible when running tests, which " -"meant that developers primarily writing single file scripts or using Python " -"interactively could be surprised by breaking changes in the APIs they used." +"Previously both :exc:`DeprecationWarning` " +"and :exc:`PendingDeprecationWarning` were only visible when running tests, " +"which meant that developers primarily writing single file scripts or using " +"Python interactively could be surprised by breaking changes in the APIs they " +"used." msgstr "" -"Anteriormente, ambas :exc:`DeprecationWarning` e :exc:" -"`PendingDeprecationWarning` eram visíveis apenas durante a execução de " -"testes, o que significava que os desenvolvedores principalmente escrevendo " -"scripts de arquivo único ou usando Python interativamente poderiam ser " -"surpreendidos por alterações nas APIs que usavam." +"Anteriormente, ambas :exc:`DeprecationWarning` " +"e :exc:`PendingDeprecationWarning` eram visíveis apenas durante a execução " +"de testes, o que significava que os desenvolvedores principalmente " +"escrevendo scripts de arquivo único ou usando Python interativamente " +"poderiam ser surpreendidos por alterações nas APIs que usavam." #: ../../whatsnew/3.7.rst:400 msgid ":pep:`565` -- Show DeprecationWarning in ``__main__``" @@ -780,24 +781,25 @@ msgstr "PEP 560: Suporte básico para módulo ``typing`` e tipos genéricos" #: ../../whatsnew/3.7.rst:409 msgid "" "Initially :pep:`484` was designed in such way that it would not introduce " -"*any* changes to the core CPython interpreter. Now type hints and the :mod:" -"`typing` module are extensively used by the community, so this restriction " -"is removed. The PEP introduces two special methods :meth:`__class_getitem__` " -"and ``__mro_entries__``, these methods are now used by most classes and " -"special constructs in :mod:`typing`. As a result, the speed of various " -"operations with types increased up to 7 times, the generic types can be used " -"without metaclass conflicts, and several long standing bugs in :mod:`typing` " -"module are fixed." +"*any* changes to the core CPython interpreter. Now type hints and " +"the :mod:`typing` module are extensively used by the community, so this " +"restriction is removed. The PEP introduces two special " +"methods :meth:`__class_getitem__` and ``__mro_entries__``, these methods are " +"now used by most classes and special constructs in :mod:`typing`. As a " +"result, the speed of various operations with types increased up to 7 times, " +"the generic types can be used without metaclass conflicts, and several long " +"standing bugs in :mod:`typing` module are fixed." msgstr "" "Inicialmente a :pep:`484` foi projetado de tal forma que não introduziria " "*nenhuma* mudança no interpretador CPython central. Agora que type hints e o " "módulo :mod:`typing` são amplamente usados pela comunidade, então esta " -"restrição foi removida. A PEP introduz dois métodos especiais :meth:" -"`__class_getitem__` e ``__mro_entries__``, esses métodos agora são usados " -"pela maioria das classes e construções especiais em :mod:`typing`. Como " -"resultado, a velocidade de várias operações com tipos aumentou em até 7 " -"vezes, os tipos genéricos podem ser usados sem conflitos de metaclasse e " -"vários bugs de longa data no módulo :mod:`typing` foram corrigidos." +"restrição foi removida. A PEP introduz dois métodos " +"especiais :meth:`__class_getitem__` e ``__mro_entries__``, esses métodos " +"agora são usados pela maioria das classes e construções especiais " +"em :mod:`typing`. Como resultado, a velocidade de várias operações com tipos " +"aumentou em até 7 vezes, os tipos genéricos podem ser usados sem conflitos " +"de metaclasse e vários bugs de longa data no módulo :mod:`typing` foram " +"corrigidos." #: ../../whatsnew/3.7.rst:421 msgid ":pep:`560` -- Core support for typing module and generic types" @@ -835,16 +837,16 @@ msgid "" "used for invalidation instead of the source timestamp. Such ``.pyc`` files " "are called \"hash-based\". By default, Python still uses timestamp-based " "invalidation and does not generate hash-based ``.pyc`` files at runtime. " -"Hash-based ``.pyc`` files may be generated with :mod:`py_compile` or :mod:" -"`compileall`." +"Hash-based ``.pyc`` files may be generated with :mod:`py_compile` " +"or :mod:`compileall`." msgstr "" ":pep:`552` estende o formato pyc para permitir que o hash do arquivo de " "origem seja usado para invalidação em vez do registro de data e hora da " "fonte. Esses arquivos ``.pyc`` são chamados de \"baseados em hash\". Por " "padrão, Python ainda usa invalidação baseada em registro de data e hora e " "não gera arquivos ``.pyc`` baseados em hash em tempo de execução. Arquivos " -"``.pyc`` baseados em hash podem ser gerados com :mod:`py_compile` ou :mod:" -"`compileall`." +"``.pyc`` baseados em hash podem ser gerados com :mod:`py_compile` " +"ou :mod:`compileall`." #: ../../whatsnew/3.7.rst:445 msgid "" @@ -855,68 +857,85 @@ msgid "" "for environments where a system external to Python (e.g., the build system) " "is responsible for keeping ``.pyc`` files up-to-date." msgstr "" +"Arquivos ``.pyc`` baseados em hash vêm em duas variantes: verificados e não " +"verificados. Python valida arquivos ``.pyc`` baseados em hash verificados em " +"relação aos arquivos fonte correspondentes em tempo de execução, mas não o " +"faz para pycs baseados em hash não verificados. Arquivos ``.pyc`` baseados " +"em hash não verificados são uma otimização de desempenho útil para ambientes " +"onde um sistema externo ao Python (por exemplo, o sistema de construção) é " +"responsável por manter os arquivos ``.pyc`` atualizados." #: ../../whatsnew/3.7.rst:452 msgid "See :ref:`pyc-invalidation` for more information." -msgstr "" +msgstr "Veja a função :ref:`pyc-invalidation` para mais informações." #: ../../whatsnew/3.7.rst:456 msgid ":pep:`552` -- Deterministic pycs" -msgstr "" +msgstr ":pep:`552` -- pycs determinísticos" #: ../../whatsnew/3.7.rst:457 msgid "PEP written and implemented by Benjamin Peterson" -msgstr "" +msgstr "PEP escrita e implementada por Benjamin Peterson" #: ../../whatsnew/3.7.rst:463 msgid "PEP 545: Python Documentation Translations" -msgstr "" +msgstr "PEP 545: Traduções da documentação do Python" #: ../../whatsnew/3.7.rst:465 msgid "" ":pep:`545` describes the process of creating and maintaining Python " "documentation translations." msgstr "" +":pep:`545` descreve o processo de criação a manutenção das traduções da " +"documentação do Python." #: ../../whatsnew/3.7.rst:468 msgid "Three new translations have been added:" -msgstr "" +msgstr "Três novas traduções foram adicionadas:" #: ../../whatsnew/3.7.rst:470 msgid "Japanese: https://docs.python.org/ja/" -msgstr "" +msgstr "Japonês: https://docs.python.org/ja/" #: ../../whatsnew/3.7.rst:471 msgid "French: https://docs.python.org/fr/" -msgstr "" +msgstr "Francês: https://docs.python.org/fr/" #: ../../whatsnew/3.7.rst:472 msgid "Korean: https://docs.python.org/ko/" -msgstr "" +msgstr "Coreano: https://docs.python.org/ko/" #: ../../whatsnew/3.7.rst:477 msgid ":pep:`545` -- Python Documentation Translations" -msgstr "" +msgstr ":pep:`545` -- Traduções da documentação do Python" #: ../../whatsnew/3.7.rst:477 msgid "" "PEP written and implemented by Julien Palard, Inada Naoki, and Victor " "Stinner." msgstr "" +"PEP escrita e implementada por Julien Palard, Inada Naoki e Victor Stinner." #: ../../whatsnew/3.7.rst:484 msgid "Python Development Mode (-X dev)" -msgstr "" +msgstr "Modo de Desenvolvimento do Python (-X dev)" #: ../../whatsnew/3.7.rst:486 msgid "" -"The new :option:`-X` ``dev`` command line option or the new :envvar:" -"`PYTHONDEVMODE` environment variable can be used to enable :ref:`Python " -"Development Mode `. When in development mode, Python performs " -"additional runtime checks that are too expensive to be enabled by default. " -"See :ref:`Python Development Mode ` documentation for the full " -"description." -msgstr "" +"The new :option:`-X` ``dev`` command line option or the " +"new :envvar:`PYTHONDEVMODE` environment variable can be used to " +"enable :ref:`Python Development Mode `. When in development mode, " +"Python performs additional runtime checks that are too expensive to be " +"enabled by default. See :ref:`Python Development Mode ` " +"documentation for the full description." +msgstr "" +"A nova opção de linha de comando :option:`-X` ``dev`` ou a nova variável de " +"ambiente :envvar:`PYTHONDEVMODE` pode ser usada para habilitar :ref:`Modo de " +"Desenvolvimento do Python `. Quando está no modo de " +"desenvolvimento, o Python executa verificações adicionais em tempo de " +"execução que são muito caras para serem habilitadas por padrão. Veja a " +"documentação :ref:`Modo de Desenvolvimento do Python ` para a " +"descrição completa." #: ../../whatsnew/3.7.rst:495 msgid "Other Language Changes" @@ -924,24 +943,34 @@ msgstr "Outras mudanças na linguagem" #: ../../whatsnew/3.7.rst:497 msgid "" -"An :keyword:`await` expression and comprehensions containing an :keyword:" -"`async for` clause were illegal in the expressions in :ref:`formatted string " -"literals ` due to a problem with the implementation. In Python " -"3.7 this restriction was lifted." +"An :keyword:`await` expression and comprehensions containing " +"an :keyword:`async for` clause were illegal in the expressions " +"in :ref:`formatted string literals ` due to a problem with the " +"implementation. In Python 3.7 this restriction was lifted." msgstr "" +"Uma expressão :keyword:`await` e compreensões contendo uma " +"cláusula :keyword:`async for` eram ilegais nas expressões em :ref:`literais " +"de strings formatadas ` devido a um problema com a implementação. " +"No Python 3.7, esta restrição foi retirada." #: ../../whatsnew/3.7.rst:502 msgid "" "More than 255 arguments can now be passed to a function, and a function can " -"now have more than 255 parameters. (Contributed by Serhiy Storchaka in :" -"issue:`12844` and :issue:`18896`.)" +"now have more than 255 parameters. (Contributed by Serhiy Storchaka " +"in :issue:`12844` and :issue:`18896`.)" msgstr "" +"Mais de 255 argumentos agora podem ser passados para uma função, e uma " +"função agora pode ter mais de 255 parâmetros. (Contribuição de Serhiy " +"Storchaka em :issue:`12844` e :issue:`18896`.)" #: ../../whatsnew/3.7.rst:506 msgid "" ":meth:`bytes.fromhex` and :meth:`bytearray.fromhex` now ignore all ASCII " "whitespace, not only spaces. (Contributed by Robert Xiao in :issue:`28927`.)" msgstr "" +":meth:`bytes.fromhex` e :meth:`bytearray.fromhex` agora ignoram todos os " +"espaços em branco ASCII, não apenas espaços. (Contribuição de Robert Xiao " +"em :issue:`28927`.)" #: ../../whatsnew/3.7.rst:509 msgid "" @@ -950,34 +979,53 @@ msgid "" "string or bytes contain only the ASCII characters. (Contributed by INADA " "Naoki in :issue:`32677`.)" msgstr "" +":class:`str`, :class:`bytes` e :class:`bytearray` ganharam suporte para o " +"novo método :meth:`isascii() `, que pode ser usado para testar " +"se uma string ou bytes contêm apenas os caracteres ASCII. (Contribuição de " +"INADA Naoki em :issue:`32677`.)" #: ../../whatsnew/3.7.rst:514 msgid "" ":exc:`ImportError` now displays module name and module ``__file__`` path " -"when ``from ... import ...`` fails. (Contributed by Matthias Bussonnier in :" -"issue:`29546`.)" +"when ``from ... import ...`` fails. (Contributed by Matthias Bussonnier " +"in :issue:`29546`.)" msgstr "" +":exc:`ImportError` agora exibe o nome do módulo e o caminho do módulo " +"``__file__`` quando ``from ... import ...`` falha. (Contribuição de Matthias " +"Bussonnier em :issue:`29546`.)" #: ../../whatsnew/3.7.rst:518 msgid "" "Circular imports involving absolute imports with binding a submodule to a " "name are now supported. (Contributed by Serhiy Storchaka in :issue:`30024`.)" msgstr "" +"Importações circulares envolvendo importações absolutas com ligação de um " +"submódulo a um nome agora são suportadas. (Contribuição de Serhiy Storchaka " +"em :issue:`30024`.)" #: ../../whatsnew/3.7.rst:522 msgid "" "``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than " -"``format(str(self), '')``. (Contributed by Serhiy Storchaka in :issue:" -"`28974`.)" +"``format(str(self), '')``. (Contributed by Serhiy Storchaka " +"in :issue:`28974`.)" msgstr "" +"``object.__format__(x, '')`` agora é equivalente a ``str(x)`` em vez de " +"``format(str(self), '')``. (Contribuição de Serhiy Storchaka " +"em :issue:`28974`.)" #: ../../whatsnew/3.7.rst:526 msgid "" -"In order to better support dynamic creation of stack traces, :class:`types." -"TracebackType` can now be instantiated from Python code, and the ``tb_next`` " -"attribute on :ref:`tracebacks ` is now writable. " -"(Contributed by Nathaniel J. Smith in :issue:`30579`.)" +"In order to better support dynamic creation of stack " +"traces, :class:`types.TracebackType` can now be instantiated from Python " +"code, and the :attr:`~traceback.tb_next` attribute on :ref:`tracebacks " +"` is now writable. (Contributed by Nathaniel J. Smith " +"in :issue:`30579`.)" msgstr "" +"Para melhor prover suporte à criação dinâmica de rastreamentos de " +"pilha, :class:`types.TracebackType` agora pode ser instanciado a partir do " +"código Python, e o atributo :attr:`~traceback.tb_next` em :ref:`tracebacks " +"` agora é gravável. (Contribuição de Nathaniel J. Smith " +"em :issue:`30579`.)" #: ../../whatsnew/3.7.rst:532 msgid "" @@ -986,13 +1034,23 @@ msgid "" "directory (which allows imports from the *current* working directory at the " "time when an import occurs) (Contributed by Nick Coghlan in :issue:`33053`.)" msgstr "" +"Ao usar a opção :option:`-m`, ``sys.path[0]`` agora é expandido para o " +"caminho completo do diretório inicial, em vez de ser deixado como o " +"diretório vazio (o que permite importações do *atual* diretório de trabalho " +"no momento em que ocorre uma importação) (Contribuição de Nick Coghlan " +"em :issue:`33053`.)" #: ../../whatsnew/3.7.rst:538 msgid "" -"The new :option:`-X` ``importtime`` option or the :envvar:" -"`PYTHONPROFILEIMPORTTIME` environment variable can be used to show the " -"timing of each module import. (Contributed by Inada Naoki in :issue:`31415`.)" +"The new :option:`-X` ``importtime`` option or " +"the :envvar:`PYTHONPROFILEIMPORTTIME` environment variable can be used to " +"show the timing of each module import. (Contributed by Inada Naoki " +"in :issue:`31415`.)" msgstr "" +"A nova opção :option:`-X` ``importtime`` ou a variável de " +"ambiente :envvar:`PYTHONPROFILEIMPORTTIME` pode ser usada para mostrar o " +"tempo de cada importação de módulo. (Contribuição de Inada Naoki " +"em :issue:`31415`.)" #: ../../whatsnew/3.7.rst:545 msgid "New Modules" @@ -1000,7 +1058,7 @@ msgstr "Novos módulos" #: ../../whatsnew/3.7.rst:550 msgid "contextvars" -msgstr "" +msgstr "contextvars" #: ../../whatsnew/3.7.rst:552 msgid "" @@ -1009,6 +1067,11 @@ msgid "" "variables are conceptually similar to thread-local variables. Unlike TLS, " "context variables support asynchronous code correctly." msgstr "" +"O novo módulo :mod:`contextvars` e um conjunto de :ref:`novas APIs C " +"` introduzem suporte para *variáveis de contexto*. " +"Variáveis de contexto são conceitualmente semelhantes às variáveis locais de " +"thread. Ao contrário do TLS, as variáveis de contexto oferecem suporte a " +"código assíncrono corretamente." #: ../../whatsnew/3.7.rst:558 msgid "" @@ -1017,14 +1080,19 @@ msgid "" "context is now stored in a context variable, which allows decimal operations " "to work with the correct context in asynchronous code." msgstr "" +"Os módulos :mod:`asyncio` e :mod:`decimal` foram atualizados para usar e " +"prover suporte a variáveis de contexto prontas para uso. Particularmente o " +"contexto decimal ativo agora é armazenado em uma variável de contexto, o que " +"permite que operações decimais funcionem com o contexto correto em código " +"assíncrono." #: ../../whatsnew/3.7.rst:565 msgid ":pep:`567` -- Context Variables" -msgstr "" +msgstr ":pep:`567` -- Variáveis de contexto" #: ../../whatsnew/3.7.rst:566 msgid "PEP written and implemented by Yury Selivanov" -msgstr "" +msgstr "PEP escrita e implementada por Yury Selivanov" #: ../../whatsnew/3.7.rst:572 msgid "dataclasses" @@ -1034,10 +1102,15 @@ msgstr "dataclasses" msgid "" "The new :func:`~dataclasses.dataclass` decorator provides a way to declare " "*data classes*. A data class describes its attributes using class variable " -"annotations. Its constructor and other magic methods, such as :meth:" -"`~object.__repr__`, :meth:`~object.__eq__`, and :meth:`~object.__hash__` are " -"generated automatically." +"annotations. Its constructor and other magic methods, such " +"as :meth:`~object.__repr__`, :meth:`~object.__eq__`, " +"and :meth:`~object.__hash__` are generated automatically." msgstr "" +"O novo decorador :func:`~dataclasses.dataclass` fornece uma maneira de " +"declarar *classes de dados*. Uma classe de dados descreve seus atributos " +"usando anotações de variáveis de classe. Seu construtor e outros métodos " +"mágicos, como :meth:`~object.__repr__`, :meth:`~object.__eq__` " +"e :meth:`~object.__hash__` são gerados automaticamente." #: ../../whatsnew/3.7.rst:580 msgid "Example::" @@ -1045,36 +1118,47 @@ msgstr "Exemplo::" #: ../../whatsnew/3.7.rst:593 msgid ":pep:`557` -- Data Classes" -msgstr "" +msgstr ":pep:`557` -- Classes de dados" #: ../../whatsnew/3.7.rst:594 msgid "PEP written and implemented by Eric V. Smith" -msgstr "" +msgstr "PEP escrita e implementada por Eric V. Smith" #: ../../whatsnew/3.7.rst:600 msgid "importlib.resources" -msgstr "" +msgstr "importlib.resources" #: ../../whatsnew/3.7.rst:602 msgid "" "The new :mod:`importlib.resources` module provides several new APIs and one " "new ABC for access to, opening, and reading *resources* inside packages. " "Resources are roughly similar to files inside packages, but they needn't be " -"actual files on the physical file system. Module loaders can provide a :" -"meth:`get_resource_reader()` function which returns a :class:`importlib.abc." -"ResourceReader` instance to support this new API. Built-in file path " -"loaders and zip file loaders both support this." -msgstr "" +"actual files on the physical file system. Module loaders can provide " +"a :meth:`get_resource_reader()` function which returns " +"a :class:`importlib.abc.ResourceReader` instance to support this new API. " +"Built-in file path loaders and zip file loaders both support this." +msgstr "" +"O novo módulo :mod:`importlib.resources` fornece diversas novas APIs e um " +"novo ABC para acesso, abertura e leitura de *recursos* dentro de pacotes. Os " +"recursos são aproximadamente semelhantes aos arquivos dentro dos pacotes, " +"mas não precisam ser arquivos reais no sistema de arquivos físico. Os " +"carregadores de módulo podem fornecer uma " +"função :meth:`get_resource_reader()` que retorna uma " +"instância :class:`importlib.abc.ResourceReader` para suportar esta nova API. " +"Carregadores embutidos de caminho de arquivo e carregadores de arquivo zip " +"oferecem suporte a isso." #: ../../whatsnew/3.7.rst:610 msgid "Contributed by Barry Warsaw and Brett Cannon in :issue:`32248`." -msgstr "" +msgstr "(Contribuição de Barry Warsaw e Brett Cannon em :issue:`32248`.)" #: ../../whatsnew/3.7.rst:614 msgid "" "`importlib_resources `_ -- a PyPI backport for earlier Python versions." msgstr "" +"`importlib_resources `_ -- um backport do PyPI para versões anteriores do Python." #: ../../whatsnew/3.7.rst:619 msgid "Improved Modules" @@ -1086,41 +1170,59 @@ msgstr "argparse" #: ../../whatsnew/3.7.rst:625 msgid "" -"The new :meth:`ArgumentParser.parse_intermixed_args() ` method allows intermixing options and " -"positional arguments. (Contributed by paul.j3 in :issue:`14191`.)" +"The new :meth:`ArgumentParser.parse_intermixed_args() " +"` method allows intermixing " +"options and positional arguments. (Contributed by paul.j3 in :issue:`14191`.)" msgstr "" +"O novo método :meth:`ArgumentParser.parse_intermixed_args() " +"` permite misturar opções e " +"argumentos posicionais. (Contribuição de paul.j3 em :issue:`14191`.)" -#: ../../whatsnew/3.7.rst:634 ../../whatsnew/3.7.rst:1951 +#: ../../whatsnew/3.7.rst:634 ../../whatsnew/3.7.rst:1964 msgid "asyncio" msgstr "asyncio" #: ../../whatsnew/3.7.rst:636 msgid "" -"The :mod:`asyncio` module has received many new features, usability and :ref:" -"`performance improvements `. Notable changes " -"include:" +"The :mod:`asyncio` module has received many new features, usability " +"and :ref:`performance improvements `. Notable " +"changes include:" msgstr "" +"O módulo :mod:`asyncio` recebeu muitos novos recursos, usabilidade " +"e :ref:`melhorias de desempenho `. Mudanças " +"notáveis incluem:" #: ../../whatsnew/3.7.rst:640 msgid "" "The new :term:`provisional ` :func:`asyncio.run` function " "can be used to run a coroutine from synchronous code by automatically " -"creating and destroying the event loop. (Contributed by Yury Selivanov in :" -"issue:`32314`.)" +"creating and destroying the event loop. (Contributed by Yury Selivanov " +"in :issue:`32314`.)" msgstr "" +"A nova função :term:`provisória ` :func:`asyncio.run` pode " +"ser usada para executar uma corrotina a partir de código síncrono criando e " +"destruindo automaticamente o laço de eventos. (Contribuição de Yury " +"Selivanov em :issue:`32314`.)" #: ../../whatsnew/3.7.rst:645 msgid "" "asyncio gained support for :mod:`contextvars`. :meth:`loop.call_soon() " -"`, :meth:`loop.call_soon_threadsafe() `, :meth:`loop.call_later() `, :meth:`loop.call_at() `, and :meth:" -"`Future.add_done_callback() ` have a new " -"optional keyword-only *context* parameter. :class:`Tasks ` now " -"track their context automatically. See :pep:`567` for more details. " -"(Contributed by Yury Selivanov in :issue:`32436`.)" -msgstr "" +"`, :meth:`loop.call_soon_threadsafe() " +"`, :meth:`loop.call_later() " +"`, :meth:`loop.call_at() `, " +"and :meth:`Future.add_done_callback() ` " +"have a new optional keyword-only *context* parameter. :class:`Tasks " +"` now track their context automatically. See :pep:`567` for " +"more details. (Contributed by Yury Selivanov in :issue:`32436`.)" +msgstr "" +"asyncio ganhou suporte para :mod:`contextvars`. :meth:`loop.call_soon() " +"`, :meth:`loop.call_soon_threadsafe() " +"`, :meth:`loop.call_later() " +"`, :meth:`loop.call_at() ` " +"e :meth:`Future.add_done_callback() ` têm " +"um novo parâmetro somente-nomeado opcional *context*. :class:`Tasks " +"` agora rastreia seu contexto automaticamente. Veja :pep:`567` " +"para mais detalhes. (Contribuição de Yury Selivanov em :issue:`32436`.)" #: ../../whatsnew/3.7.rst:656 msgid "" @@ -1128,30 +1230,41 @@ msgid "" "``asyncio.get_event_loop().create_task()``. (Contributed by Andrew Svetlov " "in :issue:`32311`.)" msgstr "" +"A nova função :func:`asyncio.create_task` foi adicionada como um atalho para " +"``asyncio.get_event_loop().create_task()``. (Contribuição de Andrew Svetlov " +"em :issue:`32311`.)" #: ../../whatsnew/3.7.rst:660 msgid "" "The new :meth:`loop.start_tls() ` method can be used " -"to upgrade an existing connection to TLS. (Contributed by Yury Selivanov in :" -"issue:`23749`.)" +"to upgrade an existing connection to TLS. (Contributed by Yury Selivanov " +"in :issue:`23749`.)" msgstr "" +"O novo método :meth:`loop.start_tls() ` pode ser " +"usado para atualizar uma conexão existente para TLS. (Contribuição de Yury " +"Selivanov em :issue:`23749`.)" #: ../../whatsnew/3.7.rst:664 msgid "" "The new :meth:`loop.sock_recv_into() ` method " "allows reading data from a socket directly into a provided buffer making it " -"possible to reduce data copies. (Contributed by Antoine Pitrou in :issue:" -"`31819`.)" +"possible to reduce data copies. (Contributed by Antoine Pitrou " +"in :issue:`31819`.)" msgstr "" +"O novo método :meth:`loop.sock_recv_into() ` " +"permite a leitura de dados de um soquete diretamente em um buffer fornecido, " +"tornando possível reduzir as cópias de dados. (Contribuição de Antoine " +"Pitrou em :issue:`31819`.)" #: ../../whatsnew/3.7.rst:669 msgid "" -"The new :func:`asyncio.current_task` function returns the currently running :" -"class:`~asyncio.Task` instance, and the new :func:`asyncio.all_tasks` " -"function returns a set of all existing ``Task`` instances in a given loop. " -"The :meth:`Task.current_task() ` and :meth:`Task." -"all_tasks() ` methods have been deprecated. " -"(Contributed by Andrew Svetlov in :issue:`32250`.)" +"The new :func:`asyncio.current_task` function returns the currently " +"running :class:`~asyncio.Task` instance, and the " +"new :func:`asyncio.all_tasks` function returns a set of all existing " +"``Task`` instances in a given loop. The :meth:`Task.current_task() " +"` and :meth:`Task.all_tasks() " +"` methods have been deprecated. (Contributed by " +"Andrew Svetlov in :issue:`32250`.)" msgstr "" #: ../../whatsnew/3.7.rst:676 @@ -1160,24 +1273,37 @@ msgid "" "implementing streaming protocols with manual control over the receive " "buffer. (Contributed by Yury Selivanov in :issue:`32251`.)" msgstr "" +"A nova classe *provisória* :class:`~asyncio.BufferedProtocol` permite " +"implementar protocolos de streaming com controle manual sobre o buffer de " +"recebimento. (Contribuição de Yury Selivanov em :issue:`32251`.)" #: ../../whatsnew/3.7.rst:680 msgid "" "The new :func:`asyncio.get_running_loop` function returns the currently " "running loop, and raises a :exc:`RuntimeError` if no loop is running. This " "is in contrast with :func:`asyncio.get_event_loop`, which will *create* a " -"new event loop if none is running. (Contributed by Yury Selivanov in :issue:" -"`32269`.)" +"new event loop if none is running. (Contributed by Yury Selivanov " +"in :issue:`32269`.)" msgstr "" +"A nova função :func:`asyncio.get_running_loop` retorna o laço atualmente em " +"execução e levanta uma exceção :exc:`RuntimeError` se nenhum laço estiver em " +"execução. Isto contrasta com :func:`asyncio.get_event_loop`, que irá *criar* " +"um novo laço de eventos se nenhum estiver em execução. (Contribuição de Yury " +"Selivanov em :issue:`32269`.)" #: ../../whatsnew/3.7.rst:686 msgid "" -"The new :meth:`StreamWriter.wait_closed() ` coroutine method allows waiting until the stream writer is " -"closed. The new :meth:`StreamWriter.is_closing() ` method can be used to determine if the writer is closing. " -"(Contributed by Andrew Svetlov in :issue:`32391`.)" +"The new :meth:`StreamWriter.wait_closed() " +"` coroutine method allows waiting until " +"the stream writer is closed. The new :meth:`StreamWriter.is_closing() " +"` method can be used to determine if the " +"writer is closing. (Contributed by Andrew Svetlov in :issue:`32391`.)" msgstr "" +"O novo método de corrotina :meth:`StreamWriter.wait_closed() " +"` permite esperar até que o gravador de " +"fluxo seja fechado. O novo método :meth:`StreamWriter.is_closing() " +"` pode ser usado para determinar se o " +"gravador está fechando. (Contribuição de Andrew Svetlov em :issue:`32391`.)" #: ../../whatsnew/3.7.rst:692 msgid "" @@ -1185,61 +1311,97 @@ msgid "" "method allows sending files using :mod:`os.sendfile` when possible. " "(Contributed by Andrew Svetlov in :issue:`32410`.)" msgstr "" +"O novo método de corrotina :meth:`loop.sock_sendfile() " +"` permite enviar arquivos " +"usando :mod:`os.sendfile` quando possível. (Contribuição de Andrew Svetlov " +"em :issue:`32410`.)" #: ../../whatsnew/3.7.rst:696 msgid "" -"The new :meth:`Future.get_loop() ` and ``Task." -"get_loop()`` methods return the instance of the loop on which a task or a " -"future were created. :meth:`Server.get_loop() ` " -"allows doing the same for :class:`asyncio.Server` objects. (Contributed by " -"Yury Selivanov in :issue:`32415` and Srinivas Reddy Thatiparthy in :issue:" -"`32418`.)" +"The new :meth:`Future.get_loop() ` and " +"``Task.get_loop()`` methods return the instance of the loop on which a task " +"or a future were created. :meth:`Server.get_loop() " +"` allows doing the same for :class:`asyncio.Server` " +"objects. (Contributed by Yury Selivanov in :issue:`32415` and Srinivas Reddy " +"Thatiparthy in :issue:`32418`.)" msgstr "" +"Os novos métodos :meth:`Future.get_loop() ` e " +"``Task.get_loop()`` retornam a instância do laço no qual uma tarefa ou um " +"future foi criado. :meth:`Server.get_loop() ` " +"permite fazer o mesmo para objetos :class:`asyncio.Server`. (Contribuição de " +"Yury Selivanov em :issue:`32415` e Srinivas Reddy Thatiparthy " +"em :issue:`32418`.)" #: ../../whatsnew/3.7.rst:704 msgid "" "It is now possible to control how instances of :class:`asyncio.Server` begin " "serving. Previously, the server would start serving immediately when " -"created. The new *start_serving* keyword argument to :meth:`loop." -"create_server() ` and :meth:`loop." -"create_unix_server() `, as well as :meth:" -"`Server.start_serving() `, and :meth:`Server." -"serve_forever() ` can be used to decouple " -"server instantiation and serving. The new :meth:`Server.is_serving() " -"` method returns ``True`` if the server is " -"serving. :class:`~asyncio.Server` objects are now asynchronous context " -"managers::" -msgstr "" +"created. The new *start_serving* keyword argument " +"to :meth:`loop.create_server() ` " +"and :meth:`loop.create_unix_server() `, as " +"well as :meth:`Server.start_serving() `, " +"and :meth:`Server.serve_forever() ` can be " +"used to decouple server instantiation and serving. The " +"new :meth:`Server.is_serving() ` method returns " +"``True`` if the server is serving. :class:`~asyncio.Server` objects are now " +"asynchronous context managers::" +msgstr "" +"Agora é possível controlar como as instâncias de :class:`asyncio.Server` " +"começam a servir. Anteriormente, o servidor começaria a servir imediatamente " +"após ser criado. O novo argumento nomeado *start_serving* " +"para :meth:`loop.create_server() ` " +"e :meth:`loop.create_unix_server() `, bem " +"como :meth:`Server.start_serving() ` " +"e :meth:`Server.serve_forever() ` podem ser " +"usados para dissociar a instanciação e o serviço do servidor. O novo " +"método :meth:`Server.is_serving() ` retorna " +"``True`` se o servidor estiver servindo. Os objetos :class:`~asyncio.Server` " +"agora são gerenciadores de contexto assíncronos::" #: ../../whatsnew/3.7.rst:723 msgid "(Contributed by Yury Selivanov in :issue:`32662`.)" -msgstr "" +msgstr "(Contribuição de Yury Selivanov em :issue:`32662`.)" #: ../../whatsnew/3.7.rst:725 msgid "" -"Callback objects returned by :func:`loop.call_later() ` gained the new :meth:`when() ` method " -"which returns an absolute scheduled callback timestamp. (Contributed by " -"Andrew Svetlov in :issue:`32741`.)" +"Callback objects returned by :func:`loop.call_later() " +"` gained the new :meth:`when() " +"` method which returns an absolute scheduled " +"callback timestamp. (Contributed by Andrew Svetlov in :issue:`32741`.)" msgstr "" +"Objetos de retorno de chamada retornados por :func:`loop.call_later() " +"` ganharam o novo método :meth:`when() " +"` que retorna um registro de data e hora de " +"retorno de chamada agendado absoluto. (Contribuição de Andrew Svetlov " +"em :issue:`32741`.)" #: ../../whatsnew/3.7.rst:731 msgid "" -"The :meth:`loop.create_datagram_endpoint() \\ ` method gained support for Unix sockets. " -"(Contributed by Quentin Dawans in :issue:`31245`.)" +"The :meth:`loop.create_datagram_endpoint() \\ " +"` method gained support for Unix " +"sockets. (Contributed by Quentin Dawans in :issue:`31245`.)" msgstr "" +"O método :meth:`loop.create_datagram_endpoint() \\ " +"` ganhou suporte para soquetes Unix. " +"(Contribuição de Quentin Dawans em :issue:`31245`.)" #: ../../whatsnew/3.7.rst:736 msgid "" "The :func:`asyncio.open_connection`, :func:`asyncio.start_server` " -"functions, :meth:`loop.create_connection() `, :meth:`loop.create_server() `, :meth:`loop.create_accepted_socket() ` methods and their corresponding UNIX socket " -"variants now accept the *ssl_handshake_timeout* keyword argument. " +"functions, :meth:`loop.create_connection() " +"`, :meth:`loop.create_server() " +"`, :meth:`loop.create_accepted_socket() " +"` methods and their corresponding UNIX " +"socket variants now accept the *ssl_handshake_timeout* keyword argument. " "(Contributed by Neil Aspinall in :issue:`29970`.)" msgstr "" +"As funções :func:`asyncio.open_connection`, :func:`asyncio.start_server`, os " +"métodos :meth:`loop.create_connection() " +"`, :meth:`loop.create_server() " +"`, :meth:`loop.create_accepted_socket() " +"` e suas variantes de soquete UNIX " +"correspondentes agora aceitam o argumento nomeado *ssl_handshake_timeout*. " +"(Contribuição de Neil Aspinall em :issue:`29970`.)" #: ../../whatsnew/3.7.rst:744 msgid "" @@ -1247,35 +1409,52 @@ msgid "" "``True`` if the callback was cancelled. (Contributed by Marat Sharafutdinov " "in :issue:`31943`.)" msgstr "" +"O novo método :meth:`Handle.cancelled() ` retorna " +"``True`` se o retorno de chamada foi cancelado. (Contribuição de Marat " +"Sharafutdinov em :issue:`31943`.)" #: ../../whatsnew/3.7.rst:748 msgid "" -"The asyncio source has been converted to use the :keyword:`async`/:keyword:" -"`await` syntax. (Contributed by Andrew Svetlov in :issue:`32193`.)" +"The asyncio source has been converted to use " +"the :keyword:`async`/:keyword:`await` syntax. (Contributed by Andrew Svetlov " +"in :issue:`32193`.)" msgstr "" +"A fonte de asyncio foi convertida para usar a " +"sintaxe :keyword:`async`/:keyword:`await`. (Contribuição de Andrew Svetlov " +"em :issue:`32193`.)" #: ../../whatsnew/3.7.rst:752 msgid "" -"The new :meth:`ReadTransport.is_reading() ` method can be used to determine the reading state of the " -"transport. Additionally, calls to :meth:`ReadTransport.resume_reading() " -"` and :meth:`ReadTransport." -"pause_reading() ` are now idempotent. " -"(Contributed by Yury Selivanov in :issue:`32356`.)" -msgstr "" +"The new :meth:`ReadTransport.is_reading() " +"` method can be used to determine the " +"reading state of the transport. Additionally, calls " +"to :meth:`ReadTransport.resume_reading() " +"` " +"and :meth:`ReadTransport.pause_reading() " +"` are now idempotent. (Contributed by " +"Yury Selivanov in :issue:`32356`.)" +msgstr "" +"O novo método :meth:`ReadTransport.is_reading() " +"` pode ser usado para determinar o estado " +"de leitura do transporte. Além disso, chamadas " +"para :meth:`ReadTransport.resume_reading() " +"` " +"e :meth:`ReadTransport.pause_reading() " +"` agora são idempotentes. (Contribuição " +"de Yury Selivanov em :issue:`32356`.)" #: ../../whatsnew/3.7.rst:760 msgid "" "Loop methods which accept socket paths now support passing :term:`path-like " -"objects `. (Contributed by Yury Selivanov in :issue:" -"`32066`.)" +"objects `. (Contributed by Yury Selivanov " +"in :issue:`32066`.)" msgstr "" #: ../../whatsnew/3.7.rst:764 msgid "" "In :mod:`asyncio` TCP sockets on Linux are now created with ``TCP_NODELAY`` " -"flag set by default. (Contributed by Yury Selivanov and Victor Stinner in :" -"issue:`27456`.)" +"flag set by default. (Contributed by Yury Selivanov and Victor Stinner " +"in :issue:`27456`.)" msgstr "" #: ../../whatsnew/3.7.rst:768 @@ -1310,7 +1489,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:788 msgid "calendar" -msgstr "" +msgstr "calendar" #: ../../whatsnew/3.7.rst:790 msgid "" @@ -1319,7 +1498,7 @@ msgid "" "(Contributed by Oz Tiram in :issue:`30095`.)" msgstr "" -#: ../../whatsnew/3.7.rst:796 ../../whatsnew/3.7.rst:1965 +#: ../../whatsnew/3.7.rst:796 ../../whatsnew/3.7.rst:1978 msgid "collections" msgstr "collections" @@ -1348,8 +1527,8 @@ msgstr "concurrent.futures" #: ../../whatsnew/3.7.rst:816 msgid "" -":class:`ProcessPoolExecutor ` and :" -"class:`ThreadPoolExecutor ` now " +":class:`ProcessPoolExecutor ` " +"and :class:`ThreadPoolExecutor ` now " "support the new *initializer* and *initargs* constructor arguments. " "(Contributed by Antoine Pitrou in :issue:`21423`.)" msgstr "" @@ -1374,11 +1553,12 @@ msgstr "" #: ../../whatsnew/3.7.rst:833 msgid "" -"The new :func:`~contextlib.asynccontextmanager`, :class:`~contextlib." -"AbstractAsyncContextManager`, and :class:`~contextlib.AsyncExitStack` have " -"been added to complement their synchronous counterparts. (Contributed by " -"Jelle Zijlstra in :issue:`29679` and :issue:`30241`, and by Alexander Mohr " -"and Ilya Kulakov in :issue:`29302`.)" +"The " +"new :func:`~contextlib.asynccontextmanager`, :class:`~contextlib.AbstractAsyncContextManager`, " +"and :class:`~contextlib.AsyncExitStack` have been added to complement their " +"synchronous counterparts. (Contributed by Jelle Zijlstra in :issue:`29679` " +"and :issue:`30241`, and by Alexander Mohr and Ilya Kulakov " +"in :issue:`29302`.)" msgstr "" #: ../../whatsnew/3.7.rst:842 @@ -1388,8 +1568,8 @@ msgstr "cProfile" #: ../../whatsnew/3.7.rst:844 msgid "" "The :mod:`cProfile` command line now accepts ``-m module_name`` as an " -"alternative to script path. (Contributed by Sanyam Khurana in :issue:" -"`21862`.)" +"alternative to script path. (Contributed by Sanyam Khurana " +"in :issue:`21862`.)" msgstr "" #: ../../whatsnew/3.7.rst:849 @@ -1416,8 +1596,9 @@ msgstr "datetime" msgid "" "The new :meth:`datetime.fromisoformat() ` " "method constructs a :class:`~datetime.datetime` object from a string in one " -"of the formats output by :meth:`datetime.isoformat() `. (Contributed by Paul Ganssle in :issue:`15873`.)" +"of the formats output by :meth:`datetime.isoformat() " +"`. (Contributed by Paul Ganssle " +"in :issue:`15873`.)" msgstr "" #: ../../whatsnew/3.7.rst:867 @@ -1426,7 +1607,7 @@ msgid "" "(Contributed by Alexander Belopolsky in :issue:`5288`.)" msgstr "" -#: ../../whatsnew/3.7.rst:872 ../../whatsnew/3.7.rst:1975 +#: ../../whatsnew/3.7.rst:872 ../../whatsnew/3.7.rst:1988 msgid "dbm" msgstr "dbm" @@ -1443,8 +1624,8 @@ msgstr "decimal" #: ../../whatsnew/3.7.rst:881 msgid "" "The :mod:`decimal` module now uses :ref:`context variables ` to store the decimal context. (Contributed by Yury Selivanov in :" -"issue:`32630`.)" +"pep567>` to store the decimal context. (Contributed by Yury Selivanov " +"in :issue:`32630`.)" msgstr "" #: ../../whatsnew/3.7.rst:887 @@ -1471,7 +1652,7 @@ msgid "" "in :issue:`11913`.)" msgstr "" -#: ../../whatsnew/3.7.rst:906 ../../whatsnew/3.7.rst:1985 +#: ../../whatsnew/3.7.rst:906 ../../whatsnew/3.7.rst:1998 msgid "enum" msgstr "enum" @@ -1513,8 +1694,8 @@ msgid "" "be used before a POSIX ``fork()`` call to make the GC copy-on-write friendly " "or to speed up collection. The new :func:`gc.unfreeze` functions reverses " "this operation. Additionally, :func:`gc.get_freeze_count` can be used to " -"obtain the number of frozen objects. (Contributed by Li Zekun in :issue:" -"`31558`.)" +"obtain the number of frozen objects. (Contributed by Li Zekun " +"in :issue:`31558`.)" msgstr "" #: ../../whatsnew/3.7.rst:942 @@ -1534,14 +1715,15 @@ msgstr "http.client" #: ../../whatsnew/3.7.rst:952 msgid "" -":class:`~http.client.HTTPConnection` and :class:`~http.client." -"HTTPSConnection` now support the new *blocksize* argument for improved " -"upload throughput. (Contributed by Nir Soffer in :issue:`31945`.)" +":class:`~http.client.HTTPConnection` " +"and :class:`~http.client.HTTPSConnection` now support the new *blocksize* " +"argument for improved upload throughput. (Contributed by Nir Soffer " +"in :issue:`31945`.)" msgstr "" #: ../../whatsnew/3.7.rst:958 msgid "http.server" -msgstr "" +msgstr "http.server" #: ../../whatsnew/3.7.rst:960 msgid "" @@ -1570,12 +1752,12 @@ msgstr "" #: ../../whatsnew/3.7.rst:978 msgid "idlelib and IDLE" -msgstr "idlelib and IDLE" +msgstr "idlelib e IDLE" #: ../../whatsnew/3.7.rst:980 msgid "" -"Multiple fixes for autocompletion. (Contributed by Louie Lu in :issue:" -"`15786`.)" +"Multiple fixes for autocompletion. (Contributed by Louie Lu " +"in :issue:`15786`.)" msgstr "" #: ../../whatsnew/3.7.rst:982 @@ -1614,8 +1796,8 @@ msgid "" "Editor code context option revised. Box displays all context lines up to " "maxlines. Clicking on a context line jumps the editor to that line. " "Context colors for custom themes is added to Highlights tab of Settings " -"dialog. (Contributed by Cheryl Sabella and Terry Jan Reedy in :issue:" -"`33642`, :issue:`33768`, and :issue:`33679`.)" +"dialog. (Contributed by Cheryl Sabella and Terry Jan Reedy " +"in :issue:`33642`, :issue:`33768`, and :issue:`33679`.)" msgstr "" #: ../../whatsnew/3.7.rst:1009 @@ -1674,20 +1856,20 @@ msgid "" "Add optional line numbers for IDLE editor windows. Windows open without line " "numbers unless set otherwise in the General tab of the configuration " "dialog. Line numbers for an existing window are shown and hidden in the " -"Options menu. (Contributed by Tal Einat and Saimadhav Heblikar in :issue:" -"`17535`.)" +"Options menu. (Contributed by Tal Einat and Saimadhav Heblikar " +"in :issue:`17535`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1044 ../../whatsnew/3.7.rst:2004 +#: ../../whatsnew/3.7.rst:1044 ../../whatsnew/3.7.rst:2017 msgid "importlib" msgstr "importlib" #: ../../whatsnew/3.7.rst:1046 msgid "" "The :class:`importlib.abc.ResourceReader` ABC was introduced to support the " -"loading of resources from packages. See also :ref:" -"`whatsnew37_importlib_resources`. (Contributed by Barry Warsaw, Brett Cannon " -"in :issue:`32248`.)" +"loading of resources from packages. See " +"also :ref:`whatsnew37_importlib_resources`. (Contributed by Barry Warsaw, " +"Brett Cannon in :issue:`32248`.)" msgstr "" #: ../../whatsnew/3.7.rst:1051 @@ -1699,9 +1881,9 @@ msgstr "" #: ../../whatsnew/3.7.rst:1055 msgid "" ":func:`importlib.find_spec` now raises :exc:`ModuleNotFoundError` instead " -"of :exc:`AttributeError` if the specified parent module is not a package (i." -"e. lacks a ``__path__`` attribute). (Contributed by Milan Oberkirch in :" -"issue:`30436`.)" +"of :exc:`AttributeError` if the specified parent module is not a package " +"(i.e. lacks a ``__path__`` attribute). (Contributed by Milan Oberkirch " +"in :issue:`30436`.)" msgstr "" #: ../../whatsnew/3.7.rst:1060 @@ -1719,8 +1901,8 @@ msgstr "io" msgid "" "The new :meth:`TextIOWrapper.reconfigure() ` " "method can be used to reconfigure the text stream with the new settings. " -"(Contributed by Antoine Pitrou in :issue:`30526` and INADA Naoki in :issue:" -"`15216`.)" +"(Contributed by Antoine Pitrou in :issue:`30526` and INADA Naoki " +"in :issue:`15216`.)" msgstr "" #: ../../whatsnew/3.7.rst:1075 @@ -1729,10 +1911,10 @@ msgstr "ipaddress" #: ../../whatsnew/3.7.rst:1077 msgid "" -"The new ``subnet_of()`` and ``supernet_of()`` methods of :class:`ipaddress." -"IPv6Network` and :class:`ipaddress.IPv4Network` can be used for network " -"containment tests. (Contributed by Michel Albert and Cheryl Sabella in :" -"issue:`20825`.)" +"The new ``subnet_of()`` and ``supernet_of()`` methods " +"of :class:`ipaddress.IPv6Network` and :class:`ipaddress.IPv4Network` can be " +"used for network containment tests. (Contributed by Michel Albert and Cheryl " +"Sabella in :issue:`20825`.)" msgstr "" #: ../../whatsnew/3.7.rst:1084 @@ -1741,12 +1923,12 @@ msgstr "itertools" #: ../../whatsnew/3.7.rst:1086 msgid "" -":func:`itertools.islice` now accepts :meth:`integer-like objects ` as start, stop, and slice arguments. (Contributed by Will " -"Roberts in :issue:`30537`.)" +":func:`itertools.islice` now accepts :meth:`integer-like objects " +"` as start, stop, and slice arguments. (Contributed by " +"Will Roberts in :issue:`30537`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1093 ../../whatsnew/3.7.rst:2022 +#: ../../whatsnew/3.7.rst:1093 ../../whatsnew/3.7.rst:2035 msgid "locale" msgstr "locale" @@ -1800,7 +1982,7 @@ msgstr "" #: ../../whatsnew/3.7.rst:1126 msgid "mimetypes" -msgstr "" +msgstr "mimetypes" #: ../../whatsnew/3.7.rst:1128 msgid "" @@ -1815,8 +1997,8 @@ msgstr "" #: ../../whatsnew/3.7.rst:1136 msgid "" "The new :meth:`Database.Close() ` method can be used " -"to close the :abbr:`MSI` database. (Contributed by Berker Peksag in :issue:" -"`20486`.)" +"to close the :abbr:`MSI` database. (Contributed by Berker Peksag " +"in :issue:`20486`.)" msgstr "" #: ../../whatsnew/3.7.rst:1142 @@ -1863,16 +2045,16 @@ msgstr "" #: ../../whatsnew/3.7.rst:1168 msgid "" "The new :func:`~os.register_at_fork` function allows registering Python " -"callbacks to be executed at process fork. (Contributed by Antoine Pitrou in :" -"issue:`16500`.)" +"callbacks to be executed at process fork. (Contributed by Antoine Pitrou " +"in :issue:`16500`.)" msgstr "" #: ../../whatsnew/3.7.rst:1172 msgid "" -"Added :func:`os.preadv` (combine the functionality of :func:`os.readv` and :" -"func:`os.pread`) and :func:`os.pwritev` functions (combine the functionality " -"of :func:`os.writev` and :func:`os.pwrite`). (Contributed by Pablo Galindo " -"in :issue:`31368`.)" +"Added :func:`os.preadv` (combine the functionality of :func:`os.readv` " +"and :func:`os.pread`) and :func:`os.pwritev` functions (combine the " +"functionality of :func:`os.writev` and :func:`os.pwrite`). (Contributed by " +"Pablo Galindo in :issue:`31368`.)" msgstr "" #: ../../whatsnew/3.7.rst:1177 @@ -1890,9 +2072,9 @@ msgstr "" #: ../../whatsnew/3.7.rst:1185 msgid "" -"The structure returned by :func:`os.stat` now contains the :attr:`~os." -"stat_result.st_fstype` attribute on Solaris and its derivatives. " -"(Contributed by Jesús Cea Avión in :issue:`32659`.)" +"The structure returned by :func:`os.stat` now contains " +"the :attr:`~os.stat_result.st_fstype` attribute on Solaris and its " +"derivatives. (Contributed by Jesús Cea Avión in :issue:`32659`.)" msgstr "" #: ../../whatsnew/3.7.rst:1191 @@ -1932,9 +2114,9 @@ msgid "" ":func:`py_compile.compile` -- and by extension, :mod:`compileall` -- now " "respects the :envvar:`SOURCE_DATE_EPOCH` environment variable by " "unconditionally creating ``.pyc`` files for hash-based validation. This " -"allows for guaranteeing `reproducible builds `_ of ``.pyc`` files when they are created eagerly. (Contributed by " -"Bernhard M. Wiedemann in :issue:`29708`.)" +"allows for guaranteeing `reproducible builds `_ of ``.pyc`` files when they are created eagerly. (Contributed " +"by Bernhard M. Wiedemann in :issue:`29708`.)" msgstr "" #: ../../whatsnew/3.7.rst:1222 @@ -1944,8 +2126,8 @@ msgstr "pydoc" #: ../../whatsnew/3.7.rst:1224 msgid "" "The pydoc server can now bind to an arbitrary hostname specified by the new " -"``-n`` command-line argument. (Contributed by Feanil Patel in :issue:" -"`31128`.)" +"``-n`` command-line argument. (Contributed by Feanil Patel " +"in :issue:`31128`.)" msgstr "" #: ../../whatsnew/3.7.rst:1230 @@ -1965,8 +2147,8 @@ msgstr "re" #: ../../whatsnew/3.7.rst:1239 msgid "" "The flags :const:`re.ASCII`, :const:`re.LOCALE` and :const:`re.UNICODE` can " -"be set within the scope of a group. (Contributed by Serhiy Storchaka in :" -"issue:`31690`.)" +"be set within the scope of a group. (Contributed by Serhiy Storchaka " +"in :issue:`31690`.)" msgstr "" #: ../../whatsnew/3.7.rst:1243 @@ -1988,15 +2170,15 @@ msgstr "" msgid "" ":exc:`FutureWarning` is now emitted if a regular expression contains " "character set constructs that will change semantically in the future, such " -"as nested sets and set operations. (Contributed by Serhiy Storchaka in :" -"issue:`30349`.)" +"as nested sets and set operations. (Contributed by Serhiy Storchaka " +"in :issue:`30349`.)" msgstr "" #: ../../whatsnew/3.7.rst:1257 msgid "" -"Compiled regular expression and match objects can now be copied using :func:" -"`copy.copy` and :func:`copy.deepcopy`. (Contributed by Serhiy Storchaka in :" -"issue:`10076`.)" +"Compiled regular expression and match objects can now be copied " +"using :func:`copy.copy` and :func:`copy.deepcopy`. (Contributed by Serhiy " +"Storchaka in :issue:`10076`.)" msgstr "" #: ../../whatsnew/3.7.rst:1263 @@ -2011,7 +2193,7 @@ msgid "" "in :issue:`30050`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1272 ../../whatsnew/3.7.rst:2045 +#: ../../whatsnew/3.7.rst:1272 ../../whatsnew/3.7.rst:2058 msgid "socket" msgstr "socket" @@ -2026,21 +2208,21 @@ msgstr "" msgid "" "The new :func:`socket.close` function closes the passed socket file " "descriptor. This function should be used instead of :func:`os.close` for " -"better compatibility across platforms. (Contributed by Christian Heimes in :" -"issue:`32454`.)" +"better compatibility across platforms. (Contributed by Christian Heimes " +"in :issue:`32454`.)" msgstr "" #: ../../whatsnew/3.7.rst:1283 msgid "" -"The :mod:`socket` module now exposes the :data:`socket.TCP_CONGESTION` " -"(Linux 2.6.13), :data:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37), and :data:" -"`socket.TCP_NOTSENT_LOWAT` (Linux 3.12) constants. (Contributed by Omar " -"Sandoval in :issue:`26273` and Nathaniel J. Smith in :issue:`29728`.)" +"The :mod:`socket` module now exposes the :const:`socket.TCP_CONGESTION` " +"(Linux 2.6.13), :const:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37), " +"and :const:`socket.TCP_NOTSENT_LOWAT` (Linux 3.12) constants. (Contributed " +"by Omar Sandoval in :issue:`26273` and Nathaniel J. Smith in :issue:`29728`.)" msgstr "" #: ../../whatsnew/3.7.rst:1289 msgid "" -"Support for :data:`socket.AF_VSOCK` sockets has been added to allow " +"Support for :const:`socket.AF_VSOCK` sockets has been added to allow " "communication between virtual machines and their hosts. (Contributed by " "Cathy Avery in :issue:`27584`.)" msgstr "" @@ -2065,9 +2247,9 @@ msgstr "" #: ../../whatsnew/3.7.rst:1305 msgid "" "Add a new :attr:`socketserver.ForkingMixIn.block_on_close` class attribute " -"to :class:`socketserver.ForkingMixIn` and :class:`socketserver." -"ThreadingMixIn` classes. Set the class attribute to ``False`` to get the " -"pre-3.7 behaviour." +"to :class:`socketserver.ForkingMixIn` " +"and :class:`socketserver.ThreadingMixIn` classes. Set the class attribute to " +"``False`` to get the pre-3.7 behaviour." msgstr "" #: ../../whatsnew/3.7.rst:1311 @@ -2076,33 +2258,35 @@ msgstr "sqlite3" #: ../../whatsnew/3.7.rst:1313 msgid "" -":class:`sqlite3.Connection` now exposes the :meth:`~sqlite3.Connection." -"backup` method when the underlying SQLite library is at version 3.6.11 or " -"higher. (Contributed by Lele Gaifax in :issue:`27645`.)" +":class:`sqlite3.Connection` now exposes " +"the :meth:`~sqlite3.Connection.backup` method when the underlying SQLite " +"library is at version 3.6.11 or higher. (Contributed by Lele Gaifax " +"in :issue:`27645`.)" msgstr "" #: ../../whatsnew/3.7.rst:1317 msgid "" -"The *database* argument of :func:`sqlite3.connect` now accepts any :term:" -"`path-like object`, instead of just a string. (Contributed by Anders " -"Lorentsen in :issue:`31843`.)" +"The *database* argument of :func:`sqlite3.connect` now accepts " +"any :term:`path-like object`, instead of just a string. (Contributed by " +"Anders Lorentsen in :issue:`31843`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1323 ../../whatsnew/3.7.rst:2054 +#: ../../whatsnew/3.7.rst:1323 ../../whatsnew/3.7.rst:2067 msgid "ssl" msgstr "ssl" #: ../../whatsnew/3.7.rst:1325 msgid "" -"The :mod:`ssl` module now uses OpenSSL's builtin API instead of :func:`~ssl." -"match_hostname` to check a host name or an IP address. Values are validated " -"during TLS handshake. Any certificate validation error including failing " -"the host name check now raises :exc:`~ssl.SSLCertVerificationError` and " -"aborts the handshake with a proper TLS Alert message. The new exception " -"contains additional information. Host name validation can be customized " -"with :attr:`SSLContext.hostname_checks_common_name `. (Contributed by Christian Heimes in :issue:" -"`31399`.)" +"The :mod:`ssl` module now uses OpenSSL's builtin API instead " +"of :func:`~ssl.match_hostname` to check a host name or an IP address. " +"Values are validated during TLS handshake. Any certificate validation error " +"including failing the host name check now " +"raises :exc:`~ssl.SSLCertVerificationError` and aborts the handshake with a " +"proper TLS Alert message. The new exception contains additional " +"information. Host name validation can be customized " +"with :attr:`SSLContext.hostname_checks_common_name " +"`. (Contributed by Christian " +"Heimes in :issue:`31399`.)" msgstr "" #: ../../whatsnew/3.7.rst:1336 @@ -2121,9 +2305,9 @@ msgstr "" #: ../../whatsnew/3.7.rst:1344 msgid "" -":func:`~ssl.match_hostname` no longer supports partial wildcards like ``www*." -"example.org``. (Contributed by Mandeep Singh in :issue:`23033` and Christian " -"Heimes in :issue:`31399`.)" +":func:`~ssl.match_hostname` no longer supports partial wildcards like " +"``www*.example.org``. (Contributed by Mandeep Singh in :issue:`23033` and " +"Christian Heimes in :issue:`31399`.)" msgstr "" #: ../../whatsnew/3.7.rst:1349 @@ -2138,11 +2322,11 @@ msgstr "" #: ../../whatsnew/3.7.rst:1355 msgid "" "Validation of server certificates containing internationalized domain names " -"(IDNs) is now supported. As part of this change, the :attr:`SSLSocket." -"server_hostname ` attribute now stores the " -"expected hostname in A-label form (``\"xn--pythn-mua.org\"``), rather than " -"the U-label form (``\"pythön.org\"``). (Contributed by Nathaniel J. Smith " -"and Christian Heimes in :issue:`28414`.)" +"(IDNs) is now supported. As part of this change, " +"the :attr:`SSLSocket.server_hostname ` " +"attribute now stores the expected hostname in A-label form (``\"xn--pythn-" +"mua.org\"``), rather than the U-label form (``\"pythön.org\"``). " +"(Contributed by Nathaniel J. Smith and Christian Heimes in :issue:`28414`.)" msgstr "" #: ../../whatsnew/3.7.rst:1362 @@ -2151,166 +2335,178 @@ msgid "" "OpenSSL 1.1.1. At the time of Python 3.7.0 release, OpenSSL 1.1.1 is still " "under development and TLS 1.3 hasn't been finalized yet. The TLS 1.3 " "handshake and protocol behaves slightly differently than TLS 1.2 and " -"earlier, see :ref:`ssl-tlsv1_3`. (Contributed by Christian Heimes in :issue:" -"`32947`, :issue:`20995`, :issue:`29136`, :issue:`30622` and :issue:`33618`)" +"earlier, see :ref:`ssl-tlsv1_3`. (Contributed by Christian Heimes " +"in :issue:`32947`, :issue:`20995`, :issue:`29136`, :issue:`30622` " +"and :issue:`33618`)" msgstr "" #: ../../whatsnew/3.7.rst:1370 msgid "" ":class:`~ssl.SSLSocket` and :class:`~ssl.SSLObject` no longer have a public " "constructor. Direct instantiation was never a documented and supported " -"feature. Instances must be created with :class:`~ssl.SSLContext` methods :" -"meth:`~ssl.SSLContext.wrap_socket` and :meth:`~ssl.SSLContext.wrap_bio`. " -"(Contributed by Christian Heimes in :issue:`32951`)" +"feature. Instances must be created with :class:`~ssl.SSLContext` " +"methods :meth:`~ssl.SSLContext.wrap_socket` " +"and :meth:`~ssl.SSLContext.wrap_bio`. (Contributed by Christian Heimes " +"in :issue:`32951`)" msgstr "" #: ../../whatsnew/3.7.rst:1376 msgid "" "OpenSSL 1.1 APIs for setting the minimum and maximum TLS protocol version " -"are available as :attr:`SSLContext.minimum_version ` and :attr:`SSLContext.maximum_version `. Supported protocols are indicated by several new flags, " -"such as :data:`~ssl.HAS_TLSv1_1`. (Contributed by Christian Heimes in :issue:" -"`32609`.)" +"are available as :attr:`SSLContext.minimum_version " +"` and :attr:`SSLContext.maximum_version " +"`. Supported protocols are indicated by " +"several new flags, such as :data:`~ssl.HAS_TLSv1_1`. (Contributed by " +"Christian Heimes in :issue:`32609`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1385 +#: ../../whatsnew/3.7.rst:1383 +msgid "" +"Added :attr:`ssl.SSLContext.post_handshake_auth` to enable " +"and :meth:`ssl.SSLSocket.verify_client_post_handshake` to initiate TLS 1.3 " +"post-handshake authentication. (Contributed by Christian Heimes " +"in :gh:`78851`.)" +msgstr "" + +#: ../../whatsnew/3.7.rst:1389 msgid "string" msgstr "string" -#: ../../whatsnew/3.7.rst:1387 +#: ../../whatsnew/3.7.rst:1391 msgid "" ":class:`string.Template` now lets you to optionally modify the regular " "expression pattern for braced placeholders and non-braced placeholders " "separately. (Contributed by Barry Warsaw in :issue:`1198569`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1393 +#: ../../whatsnew/3.7.rst:1397 msgid "subprocess" msgstr "subprocess" -#: ../../whatsnew/3.7.rst:1395 +#: ../../whatsnew/3.7.rst:1399 msgid "" "The :func:`subprocess.run` function accepts the new *capture_output* keyword " "argument. When true, stdout and stderr will be captured. This is equivalent " -"to passing :data:`subprocess.PIPE` as *stdout* and *stderr* arguments. " +"to passing :const:`subprocess.PIPE` as *stdout* and *stderr* arguments. " "(Contributed by Bo Bayles in :issue:`32102`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1401 +#: ../../whatsnew/3.7.rst:1405 msgid "" "The ``subprocess.run`` function and the :class:`subprocess.Popen` " "constructor now accept the *text* keyword argument as an alias to " "*universal_newlines*. (Contributed by Andrew Clegg in :issue:`31756`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1406 +#: ../../whatsnew/3.7.rst:1410 msgid "" "On Windows the default for *close_fds* was changed from ``False`` to " "``True`` when redirecting the standard handles. It's now possible to set " -"*close_fds* to true when redirecting the standard handles. See :class:" -"`subprocess.Popen`. This means that *close_fds* now defaults to ``True`` on " -"all supported platforms. (Contributed by Segev Finer in :issue:`19764`.)" +"*close_fds* to true when redirecting the standard handles. " +"See :class:`subprocess.Popen`. This means that *close_fds* now defaults to " +"``True`` on all supported platforms. (Contributed by Segev Finer " +"in :issue:`19764`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1413 +#: ../../whatsnew/3.7.rst:1417 msgid "" -"The subprocess module is now more graceful when handling :exc:" -"`KeyboardInterrupt` during :func:`subprocess.call`, :func:`subprocess.run`, " -"or in a :class:`~subprocess.Popen` context manager. It now waits a short " -"amount of time for the child to exit, before continuing the handling of the " -"``KeyboardInterrupt`` exception. (Contributed by Gregory P. Smith in :issue:" -"`25942`.)" +"The subprocess module is now more graceful when " +"handling :exc:`KeyboardInterrupt` " +"during :func:`subprocess.call`, :func:`subprocess.run`, or in " +"a :class:`~subprocess.Popen` context manager. It now waits a short amount " +"of time for the child to exit, before continuing the handling of the " +"``KeyboardInterrupt`` exception. (Contributed by Gregory P. Smith " +"in :issue:`25942`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1423 ../../whatsnew/3.7.rst:2070 +#: ../../whatsnew/3.7.rst:1427 ../../whatsnew/3.7.rst:2083 msgid "sys" msgstr "sys" -#: ../../whatsnew/3.7.rst:1425 +#: ../../whatsnew/3.7.rst:1429 msgid "" -"The new :func:`sys.breakpointhook` hook function is called by the built-in :" -"func:`breakpoint`. (Contributed by Barry Warsaw in :issue:`31353`.)" +"The new :func:`sys.breakpointhook` hook function is called by the built-" +"in :func:`breakpoint`. (Contributed by Barry Warsaw in :issue:`31353`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1429 +#: ../../whatsnew/3.7.rst:1433 msgid "" "On Android, the new :func:`sys.getandroidapilevel` returns the build-time " "Android API version. (Contributed by Victor Stinner in :issue:`28740`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1433 +#: ../../whatsnew/3.7.rst:1437 msgid "" "The new :func:`sys.get_coroutine_origin_tracking_depth` function returns the " -"current coroutine origin tracking depth, as set by the new :func:`sys." -"set_coroutine_origin_tracking_depth`. :mod:`asyncio` has been converted to " -"use this new API instead of the deprecated :func:`sys." -"set_coroutine_wrapper`. (Contributed by Nathaniel J. Smith in :issue:" -"`32591`.)" +"current coroutine origin tracking depth, as set by the " +"new :func:`sys.set_coroutine_origin_tracking_depth`. :mod:`asyncio` has " +"been converted to use this new API instead of the " +"deprecated :func:`sys.set_coroutine_wrapper`. (Contributed by Nathaniel J. " +"Smith in :issue:`32591`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1442 +#: ../../whatsnew/3.7.rst:1446 msgid "time" msgstr "time" -#: ../../whatsnew/3.7.rst:1444 +#: ../../whatsnew/3.7.rst:1448 msgid "" -":pep:`564` adds six new functions with nanosecond resolution to the :mod:" -"`time` module:" +":pep:`564` adds six new functions with nanosecond resolution to " +"the :mod:`time` module:" msgstr "" -#: ../../whatsnew/3.7.rst:1454 +#: ../../whatsnew/3.7.rst:1458 msgid "New clock identifiers have been added:" msgstr "" -#: ../../whatsnew/3.7.rst:1456 +#: ../../whatsnew/3.7.rst:1460 msgid "" -":data:`time.CLOCK_BOOTTIME` (Linux): Identical to :data:`time." -"CLOCK_MONOTONIC`, except it also includes any time that the system is " -"suspended." +":const:`time.CLOCK_BOOTTIME` (Linux): Identical " +"to :const:`time.CLOCK_MONOTONIC`, except it also includes any time that the " +"system is suspended." msgstr "" -#: ../../whatsnew/3.7.rst:1459 +#: ../../whatsnew/3.7.rst:1463 msgid "" -":data:`time.CLOCK_PROF` (FreeBSD, NetBSD and OpenBSD): High-resolution per-" +":const:`time.CLOCK_PROF` (FreeBSD, NetBSD and OpenBSD): High-resolution per-" "process CPU timer." msgstr "" -#: ../../whatsnew/3.7.rst:1461 +#: ../../whatsnew/3.7.rst:1465 msgid "" -":data:`time.CLOCK_UPTIME` (FreeBSD, OpenBSD): Time whose absolute value is " +":const:`time.CLOCK_UPTIME` (FreeBSD, OpenBSD): Time whose absolute value is " "the time the system has been running and not suspended, providing accurate " "uptime measurement." msgstr "" -#: ../../whatsnew/3.7.rst:1465 +#: ../../whatsnew/3.7.rst:1469 msgid "" "The new :func:`time.thread_time` and :func:`time.thread_time_ns` functions " "can be used to get per-thread CPU time measurements. (Contributed by Antoine " "Pitrou in :issue:`32025`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1469 +#: ../../whatsnew/3.7.rst:1473 msgid "" "The new :func:`time.pthread_getcpuclockid` function returns the clock ID of " "the thread-specific CPU-time clock." msgstr "" -#: ../../whatsnew/3.7.rst:1474 +#: ../../whatsnew/3.7.rst:1478 msgid "tkinter" msgstr "tkinter" -#: ../../whatsnew/3.7.rst:1476 +#: ../../whatsnew/3.7.rst:1480 msgid "" "The new :class:`tkinter.ttk.Spinbox` class is now available. (Contributed by " "Alan Moore in :issue:`32585`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1481 +#: ../../whatsnew/3.7.rst:1485 msgid "tracemalloc" msgstr "tracemalloc" -#: ../../whatsnew/3.7.rst:1483 +#: ../../whatsnew/3.7.rst:1487 msgid "" ":class:`tracemalloc.Traceback` behaves more like regular tracebacks, sorting " "the frames from oldest to most recent. :meth:`Traceback.format() " @@ -2320,104 +2516,106 @@ msgid "" "by Jesse Bakker in :issue:`32121`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1493 +#: ../../whatsnew/3.7.rst:1497 msgid "types" msgstr "types" -#: ../../whatsnew/3.7.rst:1495 +#: ../../whatsnew/3.7.rst:1499 msgid "" -"The new :class:`~types.WrapperDescriptorType`, :class:`~types." -"MethodWrapperType`, :class:`~types.MethodDescriptorType`, and :class:`~types." -"ClassMethodDescriptorType` classes are now available. (Contributed by Manuel " -"Krebber and Guido van Rossum in :issue:`29377`, and Serhiy Storchaka in :" -"issue:`32265`.)" +"The " +"new :class:`~types.WrapperDescriptorType`, :class:`~types.MethodWrapperType`, :class:`~types.MethodDescriptorType`, " +"and :class:`~types.ClassMethodDescriptorType` classes are now available. " +"(Contributed by Manuel Krebber and Guido van Rossum in :issue:`29377`, and " +"Serhiy Storchaka in :issue:`32265`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1501 +#: ../../whatsnew/3.7.rst:1505 msgid "" "The new :func:`types.resolve_bases` function resolves MRO entries " -"dynamically as specified by :pep:`560`. (Contributed by Ivan Levkivskyi in :" -"issue:`32717`.)" +"dynamically as specified by :pep:`560`. (Contributed by Ivan Levkivskyi " +"in :issue:`32717`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1507 +#: ../../whatsnew/3.7.rst:1511 msgid "unicodedata" msgstr "unicodedata" -#: ../../whatsnew/3.7.rst:1509 +#: ../../whatsnew/3.7.rst:1513 msgid "" "The internal :mod:`unicodedata` database has been upgraded to use `Unicode " "11 `_. (Contributed by " "Benjamin Peterson.)" msgstr "" -#: ../../whatsnew/3.7.rst:1515 +#: ../../whatsnew/3.7.rst:1519 msgid "unittest" msgstr "unittest" -#: ../../whatsnew/3.7.rst:1517 +#: ../../whatsnew/3.7.rst:1521 msgid "" "The new ``-k`` command-line option allows filtering tests by a name " "substring or a Unix shell-like pattern. For example, ``python -m unittest -k " -"foo`` runs ``foo_tests.SomeTest.test_something``, ``bar_tests.SomeTest." -"test_foo``, but not ``bar_tests.FooTest.test_something``. (Contributed by " -"Jonas Haag in :issue:`32071`.)" +"foo`` runs ``foo_tests.SomeTest.test_something``, " +"``bar_tests.SomeTest.test_foo``, but not " +"``bar_tests.FooTest.test_something``. (Contributed by Jonas Haag " +"in :issue:`32071`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1526 +#: ../../whatsnew/3.7.rst:1530 msgid "unittest.mock" msgstr "unittest.mock" -#: ../../whatsnew/3.7.rst:1528 +#: ../../whatsnew/3.7.rst:1532 msgid "" "The :const:`~unittest.mock.sentinel` attributes now preserve their identity " "when they are :mod:`copied ` or :mod:`pickled `. (Contributed " "by Serhiy Storchaka in :issue:`20804`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1532 +#: ../../whatsnew/3.7.rst:1536 msgid "" -"The new :func:`~unittest.mock.seal` function allows sealing :class:" -"`~unittest.mock.Mock` instances, which will disallow further creation of " -"attribute mocks. The seal is applied recursively to all attributes that are " -"themselves mocks. (Contributed by Mario Corchero in :issue:`30541`.)" +"The new :func:`~unittest.mock.seal` function allows " +"sealing :class:`~unittest.mock.Mock` instances, which will disallow further " +"creation of attribute mocks. The seal is applied recursively to all " +"attributes that are themselves mocks. (Contributed by Mario Corchero " +"in :issue:`30541`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1540 +#: ../../whatsnew/3.7.rst:1544 msgid "urllib.parse" msgstr "urllib.parse" -#: ../../whatsnew/3.7.rst:1542 +#: ../../whatsnew/3.7.rst:1546 msgid "" ":func:`urllib.parse.quote` has been updated from :rfc:`2396` to :rfc:`3986`, " "adding ``~`` to the set of characters that are never quoted by default. " "(Contributed by Christian Theune and Ratnadeep Debnath in :issue:`16285`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1548 +#: ../../whatsnew/3.7.rst:1552 msgid "uu" msgstr "uu" -#: ../../whatsnew/3.7.rst:1550 +#: ../../whatsnew/3.7.rst:1554 msgid "" "The :func:`uu.encode` function now accepts an optional *backtick* keyword " "argument. When it's true, zeros are represented by ``'`'`` instead of " "spaces. (Contributed by Xiang Zhang in :issue:`30103`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1556 +#: ../../whatsnew/3.7.rst:1560 msgid "uuid" -msgstr "" +msgstr "uuid" -#: ../../whatsnew/3.7.rst:1558 +#: ../../whatsnew/3.7.rst:1562 msgid "" "The new :attr:`UUID.is_safe ` attribute relays " "information from the platform about whether generated UUIDs are generated " -"with a multiprocessing-safe method. (Contributed by Barry Warsaw in :issue:" -"`22807`.)" +"with a multiprocessing-safe method. (Contributed by Barry Warsaw " +"in :issue:`22807`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1563 +#: ../../whatsnew/3.7.rst:1567 msgid "" ":func:`uuid.getnode` now prefers universally administered MAC addresses over " "locally administered MAC addresses. This makes a better guarantee for global " @@ -2426,75 +2624,87 @@ msgid "" "returned. (Contributed by Barry Warsaw in :issue:`32107`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1572 +#: ../../whatsnew/3.7.rst:1576 msgid "warnings" msgstr "avisos" -#: ../../whatsnew/3.7.rst:1574 +#: ../../whatsnew/3.7.rst:1578 msgid "" "The initialization of the default warnings filters has changed as follows:" msgstr "" -#: ../../whatsnew/3.7.rst:1576 +#: ../../whatsnew/3.7.rst:1580 msgid "" "warnings enabled via command line options (including those for :option:`-b` " "and the new CPython-specific :option:`-X` ``dev`` option) are always passed " "to the warnings machinery via the :data:`sys.warnoptions` attribute." msgstr "" -#: ../../whatsnew/3.7.rst:1580 +#: ../../whatsnew/3.7.rst:1584 msgid "" "warnings filters enabled via the command line or the environment now have " "the following order of precedence:" msgstr "" -#: ../../whatsnew/3.7.rst:1583 +#: ../../whatsnew/3.7.rst:1587 msgid "the ``BytesWarning`` filter for :option:`-b` (or ``-bb``)" msgstr "" -#: ../../whatsnew/3.7.rst:1584 +#: ../../whatsnew/3.7.rst:1588 msgid "any filters specified with the :option:`-W` option" msgstr "" -#: ../../whatsnew/3.7.rst:1585 +#: ../../whatsnew/3.7.rst:1589 msgid "" "any filters specified with the :envvar:`PYTHONWARNINGS` environment variable" msgstr "" -#: ../../whatsnew/3.7.rst:1587 +#: ../../whatsnew/3.7.rst:1591 msgid "" "any other CPython specific filters (e.g. the ``default`` filter added for " "the new ``-X dev`` mode)" msgstr "" -#: ../../whatsnew/3.7.rst:1589 +#: ../../whatsnew/3.7.rst:1593 msgid "any implicit filters defined directly by the warnings machinery" msgstr "" -#: ../../whatsnew/3.7.rst:1591 +#: ../../whatsnew/3.7.rst:1595 msgid "" "in :ref:`CPython debug builds `, all warnings are now displayed " "by default (the implicit filter list is empty)" msgstr "" -#: ../../whatsnew/3.7.rst:1594 +#: ../../whatsnew/3.7.rst:1598 msgid "" -"(Contributed by Nick Coghlan and Victor Stinner in :issue:`20361`, :issue:" -"`32043`, and :issue:`32230`.)" +"(Contributed by Nick Coghlan and Victor Stinner " +"in :issue:`20361`, :issue:`32043`, and :issue:`32230`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1597 +#: ../../whatsnew/3.7.rst:1601 msgid "" "Deprecation warnings are once again shown by default in single-file scripts " "and at the interactive prompt. See :ref:`whatsnew37-pep565` for details. " "(Contributed by Nick Coghlan in :issue:`31975`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1603 +#: ../../whatsnew/3.7.rst:1607 +msgid "xml" +msgstr "xml" + +#: ../../whatsnew/3.7.rst:1609 +msgid "" +"As mitigation against DTD and external entity retrieval, " +"the :mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process " +"external entities by default. (Contributed by Christian Heimes " +"in :gh:`61441`.)" +msgstr "" + +#: ../../whatsnew/3.7.rst:1616 msgid "xml.etree" msgstr "xml.etree" -#: ../../whatsnew/3.7.rst:1605 +#: ../../whatsnew/3.7.rst:1618 msgid "" ":ref:`ElementPath ` predicates in the :meth:`find` " "methods can now compare text of the current node with ``[. = \"text\"]``, " @@ -2502,29 +2712,29 @@ msgid "" "readability. (Contributed by Stefan Behnel in :issue:`31648`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1612 +#: ../../whatsnew/3.7.rst:1625 msgid "xmlrpc.server" msgstr "" -#: ../../whatsnew/3.7.rst:1614 +#: ../../whatsnew/3.7.rst:1627 msgid "" -":meth:`SimpleXMLRPCDispatcher.register_function ` can now be used as a decorator. (Contributed by " -"Xiang Zhang in :issue:`7769`.)" +":meth:`SimpleXMLRPCDispatcher.register_function " +"` can now be used as a decorator. " +"(Contributed by Xiang Zhang in :issue:`7769`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1620 +#: ../../whatsnew/3.7.rst:1633 msgid "zipapp" msgstr "zipapp" -#: ../../whatsnew/3.7.rst:1622 +#: ../../whatsnew/3.7.rst:1635 msgid "" "Function :func:`~zipapp.create_archive` now accepts an optional *filter* " "argument to allow the user to select which files should be included in the " "archive. (Contributed by Irmen de Jong in :issue:`31072`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1626 +#: ../../whatsnew/3.7.rst:1639 msgid "" "Function :func:`~zipapp.create_archive` now accepts an optional *compressed* " "argument to generate a compressed archive. A command line option ``--" @@ -2532,198 +2742,201 @@ msgid "" "Zhiming Wang in :issue:`31638`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1633 +#: ../../whatsnew/3.7.rst:1646 msgid "zipfile" msgstr "zipfile" -#: ../../whatsnew/3.7.rst:1635 +#: ../../whatsnew/3.7.rst:1648 msgid "" ":class:`~zipfile.ZipFile` now accepts the new *compresslevel* parameter to " "control the compression level. (Contributed by Bo Bayles in :issue:`21417`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1639 +#: ../../whatsnew/3.7.rst:1652 msgid "" "Subdirectories in archives created by ``ZipFile`` are now stored in " "alphabetical order. (Contributed by Bernhard M. Wiedemann in :issue:`30693`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1645 +#: ../../whatsnew/3.7.rst:1658 msgid "C API Changes" msgstr "Alterações na API C" -#: ../../whatsnew/3.7.rst:1647 +#: ../../whatsnew/3.7.rst:1660 msgid "" -"A new API for thread-local storage has been implemented. See :ref:" -"`whatsnew37-pep539` for an overview and :ref:`thread-specific-storage-api` " -"for a complete reference. (Contributed by Masayuki Yamamoto in :issue:" -"`25658`.)" +"A new API for thread-local storage has been implemented. " +"See :ref:`whatsnew37-pep539` for an overview and :ref:`thread-specific-" +"storage-api` for a complete reference. (Contributed by Masayuki Yamamoto " +"in :issue:`25658`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1652 +#: ../../whatsnew/3.7.rst:1665 msgid "" "The new :ref:`context variables ` functionality exposes a " "number of :ref:`new C APIs `." msgstr "" -#: ../../whatsnew/3.7.rst:1655 +#: ../../whatsnew/3.7.rst:1668 msgid "" "The new :c:func:`PyImport_GetModule` function returns the previously " -"imported module with the given name. (Contributed by Eric Snow in :issue:" -"`28411`.)" +"imported module with the given name. (Contributed by Eric Snow " +"in :issue:`28411`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1659 +#: ../../whatsnew/3.7.rst:1672 msgid "" "The new :c:macro:`Py_RETURN_RICHCOMPARE` macro eases writing rich comparison " "functions. (Contributed by Petr Victorin in :issue:`23699`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1663 +#: ../../whatsnew/3.7.rst:1676 msgid "" "The new :c:macro:`Py_UNREACHABLE` macro can be used to mark unreachable code " "paths. (Contributed by Barry Warsaw in :issue:`31338`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1667 +#: ../../whatsnew/3.7.rst:1680 msgid "" -"The :mod:`tracemalloc` now exposes a C API through the new :c:func:" -"`PyTraceMalloc_Track` and :c:func:`PyTraceMalloc_Untrack` functions. " -"(Contributed by Victor Stinner in :issue:`30054`.)" +"The :mod:`tracemalloc` now exposes a C API through the " +"new :c:func:`PyTraceMalloc_Track` and :c:func:`PyTraceMalloc_Untrack` " +"functions. (Contributed by Victor Stinner in :issue:`30054`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1672 +#: ../../whatsnew/3.7.rst:1685 msgid "" -"The new :c:func:`import__find__load__start` and :c:func:" -"`import__find__load__done` static markers can be used to trace module " -"imports. (Contributed by Christian Heimes in :issue:`31574`.)" +"The new :c:func:`import__find__load__start` " +"and :c:func:`import__find__load__done` static markers can be used to trace " +"module imports. (Contributed by Christian Heimes in :issue:`31574`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1677 +#: ../../whatsnew/3.7.rst:1690 msgid "" -"The fields :c:member:`name` and :c:member:`doc` of structures :c:type:" -"`PyMemberDef`, :c:type:`PyGetSetDef`, :c:type:`PyStructSequence_Field`, :c:" -"type:`PyStructSequence_Desc`, and :c:type:`wrapperbase` are now of type " -"``const char *`` rather of ``char *``. (Contributed by Serhiy Storchaka in :" -"issue:`28761`.)" +"The fields :c:member:`!name` and :c:member:`!doc` of " +"structures :c:type:`PyMemberDef`, :c:type:`PyGetSetDef`, :c:type:`PyStructSequence_Field`, :c:type:`PyStructSequence_Desc`, " +"and :c:struct:`wrapperbase` are now of type ``const char *`` rather of " +"``char *``. (Contributed by Serhiy Storchaka in :issue:`28761`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1683 +#: ../../whatsnew/3.7.rst:1696 msgid "" -"The result of :c:func:`PyUnicode_AsUTF8AndSize` and :c:func:" -"`PyUnicode_AsUTF8` is now of type ``const char *`` rather of ``char *``. " -"(Contributed by Serhiy Storchaka in :issue:`28769`.)" +"The result of :c:func:`PyUnicode_AsUTF8AndSize` " +"and :c:func:`PyUnicode_AsUTF8` is now of type ``const char *`` rather of " +"``char *``. (Contributed by Serhiy Storchaka in :issue:`28769`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1687 +#: ../../whatsnew/3.7.rst:1700 msgid "" -"The result of :c:func:`PyMapping_Keys`, :c:func:`PyMapping_Values` and :c:" -"func:`PyMapping_Items` is now always a list, rather than a list or a tuple. " -"(Contributed by Oren Milman in :issue:`28280`.)" +"The result of :c:func:`PyMapping_Keys`, :c:func:`PyMapping_Values` " +"and :c:func:`PyMapping_Items` is now always a list, rather than a list or a " +"tuple. (Contributed by Oren Milman in :issue:`28280`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1691 +#: ../../whatsnew/3.7.rst:1704 msgid "" -"Added functions :c:func:`PySlice_Unpack` and :c:func:" -"`PySlice_AdjustIndices`. (Contributed by Serhiy Storchaka in :issue:`27867`.)" +"Added functions :c:func:`PySlice_Unpack` " +"and :c:func:`PySlice_AdjustIndices`. (Contributed by Serhiy Storchaka " +"in :issue:`27867`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1694 +#: ../../whatsnew/3.7.rst:1707 msgid "" -":c:func:`PyOS_AfterFork` is deprecated in favour of the new functions :c:" -"func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` and :c:func:" -"`PyOS_AfterFork_Child`. (Contributed by Antoine Pitrou in :issue:`16500`.)" +":c:func:`PyOS_AfterFork` is deprecated in favour of the new " +"functions :c:func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` " +"and :c:func:`PyOS_AfterFork_Child`. (Contributed by Antoine Pitrou " +"in :issue:`16500`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1699 +#: ../../whatsnew/3.7.rst:1712 msgid "" "The ``PyExc_RecursionErrorInst`` singleton that was part of the public API " "has been removed as its members being never cleared may cause a segfault " -"during finalization of the interpreter. Contributed by Xavier de Gaye in :" -"issue:`22898` and :issue:`30697`." +"during finalization of the interpreter. Contributed by Xavier de Gaye " +"in :issue:`22898` and :issue:`30697`." msgstr "" -#: ../../whatsnew/3.7.rst:1704 +#: ../../whatsnew/3.7.rst:1717 msgid "" -"Added C API support for timezones with timezone constructors :c:func:" -"`PyTimeZone_FromOffset` and :c:func:`PyTimeZone_FromOffsetAndName`, and " -"access to the UTC singleton with :c:data:`PyDateTime_TimeZone_UTC`. " -"Contributed by Paul Ganssle in :issue:`10381`." +"Added C API support for timezones with timezone " +"constructors :c:func:`PyTimeZone_FromOffset` " +"and :c:func:`PyTimeZone_FromOffsetAndName`, and access to the UTC singleton " +"with :c:data:`PyDateTime_TimeZone_UTC`. Contributed by Paul Ganssle " +"in :issue:`10381`." msgstr "" -#: ../../whatsnew/3.7.rst:1709 +#: ../../whatsnew/3.7.rst:1722 msgid "" -"The type of results of :c:func:`PyThread_start_new_thread` and :c:func:" -"`PyThread_get_thread_ident`, and the *id* parameter of :c:func:" -"`PyThreadState_SetAsyncExc` changed from :c:expr:`long` to :c:expr:`unsigned " -"long`. (Contributed by Serhiy Storchaka in :issue:`6532`.)" +"The type of results of :c:func:`PyThread_start_new_thread` " +"and :c:func:`PyThread_get_thread_ident`, and the *id* parameter " +"of :c:func:`PyThreadState_SetAsyncExc` changed from :c:expr:`long` " +"to :c:expr:`unsigned long`. (Contributed by Serhiy Storchaka " +"in :issue:`6532`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1715 +#: ../../whatsnew/3.7.rst:1728 msgid "" ":c:func:`PyUnicode_AsWideCharString` now raises a :exc:`ValueError` if the " "second argument is ``NULL`` and the :c:expr:`wchar_t*` string contains null " "characters. (Contributed by Serhiy Storchaka in :issue:`30708`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1719 +#: ../../whatsnew/3.7.rst:1732 msgid "" "Changes to the startup sequence and the management of dynamic memory " -"allocators mean that the long documented requirement to call :c:func:" -"`Py_Initialize` before calling most C API functions is now relied on more " -"heavily, and failing to abide by it may lead to segfaults in embedding " -"applications. See the :ref:`porting-to-python-37` section in this document " -"and the :ref:`pre-init-safe` section in the C API documentation for more " -"details." +"allocators mean that the long documented requirement to " +"call :c:func:`Py_Initialize` before calling most C API functions is now " +"relied on more heavily, and failing to abide by it may lead to segfaults in " +"embedding applications. See the :ref:`porting-to-python-37` section in this " +"document and the :ref:`pre-init-safe` section in the C API documentation for " +"more details." msgstr "" -#: ../../whatsnew/3.7.rst:1727 +#: ../../whatsnew/3.7.rst:1740 msgid "" "The new :c:func:`PyInterpreterState_GetID` returns the unique ID for a given " "interpreter. (Contributed by Eric Snow in :issue:`29102`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1731 +#: ../../whatsnew/3.7.rst:1744 msgid "" ":c:func:`Py_DecodeLocale`, :c:func:`Py_EncodeLocale` now use the UTF-8 " "encoding when the :ref:`UTF-8 mode ` is enabled. " "(Contributed by Victor Stinner in :issue:`29240`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1735 +#: ../../whatsnew/3.7.rst:1748 msgid "" ":c:func:`PyUnicode_DecodeLocaleAndSize` and :c:func:`PyUnicode_EncodeLocale` " "now use the current locale encoding for ``surrogateescape`` error handler. " "(Contributed by Victor Stinner in :issue:`29240`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1739 +#: ../../whatsnew/3.7.rst:1752 msgid "" "The *start* and *end* parameters of :c:func:`PyUnicode_FindChar` are now " -"adjusted to behave like string slices. (Contributed by Xiang Zhang in :issue:" -"`28822`.)" +"adjusted to behave like string slices. (Contributed by Xiang Zhang " +"in :issue:`28822`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1745 +#: ../../whatsnew/3.7.rst:1758 msgid "Build Changes" -msgstr "Alterações de compilação" +msgstr "Mudanças na construção" -#: ../../whatsnew/3.7.rst:1747 +#: ../../whatsnew/3.7.rst:1760 msgid "" -"Support for building ``--without-threads`` has been removed. The :mod:" -"`threading` module is now always available. (Contributed by Antoine Pitrou " -"in :issue:`31370`.)." +"Support for building ``--without-threads`` has been removed. " +"The :mod:`threading` module is now always available. (Contributed by Antoine " +"Pitrou in :issue:`31370`.)." msgstr "" -#: ../../whatsnew/3.7.rst:1751 +#: ../../whatsnew/3.7.rst:1764 msgid "" -"A full copy of libffi is no longer bundled for use when building the :mod:" -"`_ctypes ` module on non-OSX UNIX platforms. An installed copy of " -"libffi is now required when building ``_ctypes`` on such platforms. " +"A full copy of libffi is no longer bundled for use when building " +"the :mod:`_ctypes ` module on non-OSX UNIX platforms. An installed " +"copy of libffi is now required when building ``_ctypes`` on such platforms. " "(Contributed by Zachary Ware in :issue:`27979`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1756 +#: ../../whatsnew/3.7.rst:1769 msgid "" "The Windows build process no longer depends on Subversion to pull in " "external sources, a Python script is used to download zipfiles from GitHub " @@ -2732,7 +2945,7 @@ msgid "" "by Zachary Ware in :issue:`30450`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1762 +#: ../../whatsnew/3.7.rst:1775 msgid "" "The :mod:`ssl` module requires OpenSSL 1.0.2 or 1.1 compatible libssl. " "OpenSSL 1.0.1 has reached end of lifetime on 2016-12-31 and is no longer " @@ -2740,97 +2953,99 @@ msgid "" "up to version 2.6.4 are missing required OpenSSL 1.0.2 APIs." msgstr "" -#: ../../whatsnew/3.7.rst:1771 +#: ../../whatsnew/3.7.rst:1784 msgid "Optimizations" msgstr "Otimizações" -#: ../../whatsnew/3.7.rst:1773 +#: ../../whatsnew/3.7.rst:1786 msgid "" "The overhead of calling many methods of various standard library classes " "implemented in C has been significantly reduced by porting more code to use " -"the ``METH_FASTCALL`` convention. (Contributed by Victor Stinner in :issue:" -"`29300`, :issue:`29507`, :issue:`29452`, and :issue:`29286`.)" +"the ``METH_FASTCALL`` convention. (Contributed by Victor Stinner " +"in :issue:`29300`, :issue:`29507`, :issue:`29452`, and :issue:`29286`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1779 +#: ../../whatsnew/3.7.rst:1792 msgid "" "Various optimizations have reduced Python startup time by 10% on Linux and " -"up to 30% on macOS. (Contributed by Victor Stinner, INADA Naoki in :issue:" -"`29585`, and Ivan Levkivskyi in :issue:`31333`.)" +"up to 30% on macOS. (Contributed by Victor Stinner, INADA Naoki " +"in :issue:`29585`, and Ivan Levkivskyi in :issue:`31333`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1784 +#: ../../whatsnew/3.7.rst:1797 msgid "" "Method calls are now up to 20% faster due to the bytecode changes which " "avoid creating bound method instances. (Contributed by Yury Selivanov and " "INADA Naoki in :issue:`26110`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1790 +#: ../../whatsnew/3.7.rst:1803 msgid "" "The :mod:`asyncio` module received a number of notable optimizations for " "commonly used functions:" msgstr "" -#: ../../whatsnew/3.7.rst:1793 +#: ../../whatsnew/3.7.rst:1806 msgid "" "The :func:`asyncio.get_event_loop` function has been reimplemented in C to " -"make it up to 15 times faster. (Contributed by Yury Selivanov in :issue:" -"`32296`.)" +"make it up to 15 times faster. (Contributed by Yury Selivanov " +"in :issue:`32296`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1797 +#: ../../whatsnew/3.7.rst:1810 msgid "" ":class:`asyncio.Future` callback management has been optimized. (Contributed " "by Yury Selivanov in :issue:`32348`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1800 +#: ../../whatsnew/3.7.rst:1813 msgid "" ":func:`asyncio.gather` is now up to 15% faster. (Contributed by Yury " "Selivanov in :issue:`32355`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1803 +#: ../../whatsnew/3.7.rst:1816 msgid "" ":func:`asyncio.sleep` is now up to 2 times faster when the *delay* argument " "is zero or negative. (Contributed by Andrew Svetlov in :issue:`32351`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1807 +#: ../../whatsnew/3.7.rst:1820 msgid "" "The performance overhead of asyncio debug mode has been reduced. " "(Contributed by Antoine Pitrou in :issue:`31970`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1810 +#: ../../whatsnew/3.7.rst:1823 msgid "" -"As a result of :ref:`PEP 560 work `, the import time of :" -"mod:`typing` has been reduced by a factor of 7, and many typing operations " -"are now faster. (Contributed by Ivan Levkivskyi in :issue:`32226`.)" +"As a result of :ref:`PEP 560 work `, the import time " +"of :mod:`typing` has been reduced by a factor of 7, and many typing " +"operations are now faster. (Contributed by Ivan Levkivskyi " +"in :issue:`32226`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1815 +#: ../../whatsnew/3.7.rst:1828 msgid "" ":func:`sorted` and :meth:`list.sort` have been optimized for common cases to " -"be up to 40-75% faster. (Contributed by Elliot Gorokhovsky in :issue:" -"`28685`.)" +"be up to 40-75% faster. (Contributed by Elliot Gorokhovsky " +"in :issue:`28685`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1819 +#: ../../whatsnew/3.7.rst:1832 msgid "" ":meth:`dict.copy` is now up to 5.5 times faster. (Contributed by Yury " "Selivanov in :issue:`31179`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1822 +#: ../../whatsnew/3.7.rst:1835 msgid "" ":func:`hasattr` and :func:`getattr` are now about 4 times faster when *name* " -"is not found and *obj* does not override :meth:`object.__getattr__` or :meth:" -"`object.__getattribute__`. (Contributed by INADA Naoki in :issue:`32544`.)" +"is not found and *obj* does not override :meth:`object.__getattr__` " +"or :meth:`object.__getattribute__`. (Contributed by INADA Naoki " +"in :issue:`32544`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1827 +#: ../../whatsnew/3.7.rst:1840 msgid "" "Searching for certain Unicode characters (like Ukrainian capital \"Є\") in a " "string was up to 25 times slower than searching for other characters. It is " @@ -2838,7 +3053,7 @@ msgid "" "in :issue:`24821`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1832 +#: ../../whatsnew/3.7.rst:1845 msgid "" "The :func:`collections.namedtuple` factory has been reimplemented to make " "the creation of named tuples 4 to 6 times faster. (Contributed by Jelle " @@ -2846,74 +3061,74 @@ msgid "" "Raymond Hettinger in :issue:`28638`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1837 +#: ../../whatsnew/3.7.rst:1850 msgid "" ":meth:`date.fromordinal` and :meth:`date.fromtimestamp` are now up to 30% " "faster in the common case. (Contributed by Paul Ganssle in :issue:`32403`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1841 +#: ../../whatsnew/3.7.rst:1854 msgid "" "The :func:`os.fwalk` function is now up to 2 times faster thanks to the use " "of :func:`os.scandir`. (Contributed by Serhiy Storchaka in :issue:`25996`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1845 +#: ../../whatsnew/3.7.rst:1858 msgid "" "The speed of the :func:`shutil.rmtree` function has been improved by 20--40% " "thanks to the use of the :func:`os.scandir` function. (Contributed by Serhiy " "Storchaka in :issue:`28564`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1849 +#: ../../whatsnew/3.7.rst:1862 msgid "" "Optimized case-insensitive matching and searching of :mod:`regular " "expressions `. Searching some patterns can now be up to 20 times " "faster. (Contributed by Serhiy Storchaka in :issue:`30285`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1853 +#: ../../whatsnew/3.7.rst:1866 msgid "" ":func:`re.compile` now converts ``flags`` parameter to int object if it is " "``RegexFlag``. It is now as fast as Python 3.5, and faster than Python 3.6 " -"by about 10% depending on the pattern. (Contributed by INADA Naoki in :issue:" -"`31671`.)" +"by about 10% depending on the pattern. (Contributed by INADA Naoki " +"in :issue:`31671`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1858 +#: ../../whatsnew/3.7.rst:1871 msgid "" -"The :meth:`~selectors.BaseSelector.modify` methods of classes :class:" -"`selectors.EpollSelector`, :class:`selectors.PollSelector` and :class:" -"`selectors.DevpollSelector` may be around 10% faster under heavy loads. " -"(Contributed by Giampaolo Rodola' in :issue:`30014`)" +"The :meth:`~selectors.BaseSelector.modify` methods of " +"classes :class:`selectors.EpollSelector`, :class:`selectors.PollSelector` " +"and :class:`selectors.DevpollSelector` may be around 10% faster under heavy " +"loads. (Contributed by Giampaolo Rodola' in :issue:`30014`)" msgstr "" -#: ../../whatsnew/3.7.rst:1863 +#: ../../whatsnew/3.7.rst:1876 msgid "" "Constant folding has been moved from the peephole optimizer to the new AST " "optimizer, which is able perform optimizations more consistently. " -"(Contributed by Eugene Toder and INADA Naoki in :issue:`29469` and :issue:" -"`11549`.)" +"(Contributed by Eugene Toder and INADA Naoki in :issue:`29469` " +"and :issue:`11549`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1868 +#: ../../whatsnew/3.7.rst:1881 msgid "" "Most functions and methods in :mod:`abc` have been rewritten in C. This " -"makes creation of abstract base classes, and calling :func:`isinstance` and :" -"func:`issubclass` on them 1.5x faster. This also reduces Python start-up " -"time by up to 10%. (Contributed by Ivan Levkivskyi and INADA Naoki in :issue:" -"`31333`)" +"makes creation of abstract base classes, and calling :func:`isinstance` " +"and :func:`issubclass` on them 1.5x faster. This also reduces Python start-" +"up time by up to 10%. (Contributed by Ivan Levkivskyi and INADA Naoki " +"in :issue:`31333`)" msgstr "" -#: ../../whatsnew/3.7.rst:1874 +#: ../../whatsnew/3.7.rst:1887 msgid "" -"Significant speed improvements to alternate constructors for :class:" -"`datetime.date` and :class:`datetime.datetime` by using fast-path " +"Significant speed improvements to alternate constructors " +"for :class:`datetime.date` and :class:`datetime.datetime` by using fast-path " "constructors when not constructing subclasses. (Contributed by Paul Ganssle " "in :issue:`32403`)" msgstr "" -#: ../../whatsnew/3.7.rst:1879 +#: ../../whatsnew/3.7.rst:1892 msgid "" "The speed of comparison of :class:`array.array` instances has been improved " "considerably in certain cases. It is now from 10x to 70x faster when " @@ -2921,56 +3136,57 @@ msgid "" "Adrian Wielgosik in :issue:`24700`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1884 +#: ../../whatsnew/3.7.rst:1897 msgid "" "The :func:`math.erf` and :func:`math.erfc` functions now use the (faster) C " "library implementation on most platforms. (Contributed by Serhiy Storchaka " "in :issue:`26121`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1890 +#: ../../whatsnew/3.7.rst:1903 msgid "Other CPython Implementation Changes" msgstr "Outras mudanças na implementação do CPython" -#: ../../whatsnew/3.7.rst:1892 +#: ../../whatsnew/3.7.rst:1905 msgid "" "Trace hooks may now opt out of receiving the ``line`` and opt into receiving " -"the ``opcode`` events from the interpreter by setting the corresponding new " -"``f_trace_lines`` and ``f_trace_opcodes`` attributes on the frame being " -"traced. (Contributed by Nick Coghlan in :issue:`31344`.)" +"the ``opcode`` events from the interpreter by setting the corresponding " +"new :attr:`~frame.f_trace_lines` and :attr:`~frame.f_trace_opcodes` " +"attributes on the frame being traced. (Contributed by Nick Coghlan " +"in :issue:`31344`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1897 +#: ../../whatsnew/3.7.rst:1910 msgid "" "Fixed some consistency problems with namespace package module attributes. " "Namespace module objects now have an ``__file__`` that is set to ``None`` " "(previously unset), and their ``__spec__.origin`` is also set to ``None`` " "(previously the string ``\"namespace\"``). See :issue:`32305`. Also, the " "namespace module object's ``__spec__.loader`` is set to the same value as " -"``__loader__`` (previously, the former was set to ``None``). See :issue:" -"`32303`." +"``__loader__`` (previously, the former was set to ``None``). " +"See :issue:`32303`." msgstr "" -#: ../../whatsnew/3.7.rst:1905 +#: ../../whatsnew/3.7.rst:1918 msgid "" "The :func:`locals` dictionary now displays in the lexical order that " "variables were defined. Previously, the order was undefined. (Contributed " "by Raymond Hettinger in :issue:`32690`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1909 +#: ../../whatsnew/3.7.rst:1922 msgid "" "The :mod:`distutils` ``upload`` command no longer tries to change CR end-of-" "line characters to CRLF. This fixes a corruption issue with sdists that " -"ended with a byte equivalent to CR. (Contributed by Bo Bayles in :issue:" -"`32304`.)" +"ended with a byte equivalent to CR. (Contributed by Bo Bayles " +"in :issue:`32304`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1916 +#: ../../whatsnew/3.7.rst:1929 msgid "Deprecated Python Behavior" msgstr "Comportamento do Python descontinuado" -#: ../../whatsnew/3.7.rst:1918 +#: ../../whatsnew/3.7.rst:1931 msgid "" "Yield expressions (both ``yield`` and ``yield from`` clauses) are now " "deprecated in comprehensions and generator expressions (aside from the " @@ -2984,46 +3200,47 @@ msgid "" "Storchaka in :issue:`10544`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1929 +#: ../../whatsnew/3.7.rst:1942 msgid "" "Returning a subclass of :class:`complex` from :meth:`object.__complex__` is " "deprecated and will be an error in future Python versions. This makes " -"``__complex__()`` consistent with :meth:`object.__int__` and :meth:`object." -"__float__`. (Contributed by Serhiy Storchaka in :issue:`28894`.)" +"``__complex__()`` consistent with :meth:`object.__int__` " +"and :meth:`object.__float__`. (Contributed by Serhiy Storchaka " +"in :issue:`28894`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1938 +#: ../../whatsnew/3.7.rst:1951 msgid "Deprecated Python modules, functions and methods" msgstr "" -#: ../../whatsnew/3.7.rst:1941 +#: ../../whatsnew/3.7.rst:1954 msgid "aifc" msgstr "aifc" -#: ../../whatsnew/3.7.rst:1943 +#: ../../whatsnew/3.7.rst:1956 msgid "" ":func:`aifc.openfp` has been deprecated and will be removed in Python 3.9. " -"Use :func:`aifc.open` instead. (Contributed by Brian Curtin in :issue:" -"`31985`.)" +"Use :func:`aifc.open` instead. (Contributed by Brian Curtin " +"in :issue:`31985`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1953 +#: ../../whatsnew/3.7.rst:1966 msgid "" "Support for directly ``await``-ing instances of :class:`asyncio.Lock` and " "other asyncio synchronization primitives has been deprecated. An " "asynchronous context manager must be used in order to acquire and release " -"the synchronization resource. (Contributed by Andrew Svetlov in :issue:" -"`32253`.)" +"the synchronization resource. (Contributed by Andrew Svetlov " +"in :issue:`32253`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1959 +#: ../../whatsnew/3.7.rst:1972 msgid "" "The :meth:`asyncio.Task.current_task` and :meth:`asyncio.Task.all_tasks` " -"methods have been deprecated. (Contributed by Andrew Svetlov in :issue:" -"`32250`.)" +"methods have been deprecated. (Contributed by Andrew Svetlov " +"in :issue:`32250`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1967 +#: ../../whatsnew/3.7.rst:1980 msgid "" "In Python 3.8, the abstract base classes in :mod:`collections.abc` will no " "longer be exposed in the regular :mod:`collections` module. This will help " @@ -3031,7 +3248,7 @@ msgid "" "base classes. (Contributed by Serhiy Storchaka in :issue:`25988`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1977 +#: ../../whatsnew/3.7.rst:1990 msgid "" ":mod:`dbm.dumb` now supports reading read-only files and no longer writes " "the index file when it is not changed. A deprecation warning is now emitted " @@ -3040,150 +3257,155 @@ msgid "" "Storchaka in :issue:`28847`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1987 +#: ../../whatsnew/3.7.rst:2000 msgid "" "In Python 3.8, attempting to check for non-Enum objects in :class:`Enum` " "classes will raise a :exc:`TypeError` (e.g. ``1 in Color``); similarly, " "attempting to check for non-Flag objects in a :class:`Flag` member will " "raise :exc:`TypeError` (e.g. ``1 in Perm.RW``); currently, both operations " -"return :const:`False` instead. (Contributed by Ethan Furman in :issue:" -"`33217`.)" +"return :const:`False` instead. (Contributed by Ethan Furman " +"in :issue:`33217`.)" msgstr "" -#: ../../whatsnew/3.7.rst:1996 +#: ../../whatsnew/3.7.rst:2009 msgid "gettext" msgstr "gettext" -#: ../../whatsnew/3.7.rst:1998 +#: ../../whatsnew/3.7.rst:2011 msgid "" "Using non-integer value for selecting a plural form in :mod:`gettext` is now " -"deprecated. It never correctly worked. (Contributed by Serhiy Storchaka in :" -"issue:`28692`.)" +"deprecated. It never correctly worked. (Contributed by Serhiy Storchaka " +"in :issue:`28692`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2006 +#: ../../whatsnew/3.7.rst:2019 msgid "" -"Methods :meth:`MetaPathFinder.find_module() ` (replaced by :meth:`MetaPathFinder.find_spec() `) and :meth:`PathEntryFinder.find_loader() " -"` (replaced by :meth:" -"`PathEntryFinder.find_spec() `) " -"both deprecated in Python 3.4 now emit :exc:`DeprecationWarning`. " -"(Contributed by Matthias Bussonnier in :issue:`29576`)" +"Methods :meth:`MetaPathFinder.find_module() " +"` (replaced " +"by :meth:`MetaPathFinder.find_spec() " +"`) " +"and :meth:`PathEntryFinder.find_loader() " +"` (replaced " +"by :meth:`PathEntryFinder.find_spec() " +"`) both deprecated in Python 3.4 " +"now emit :exc:`DeprecationWarning`. (Contributed by Matthias Bussonnier " +"in :issue:`29576`)" msgstr "" -#: ../../whatsnew/3.7.rst:2017 +#: ../../whatsnew/3.7.rst:2030 msgid "" "The :class:`importlib.abc.ResourceLoader` ABC has been deprecated in favour " "of :class:`importlib.abc.ResourceReader`." msgstr "" -#: ../../whatsnew/3.7.rst:2024 +#: ../../whatsnew/3.7.rst:2037 msgid "" ":func:`locale.format` has been deprecated, use :meth:`locale.format_string` " "instead. (Contributed by Garvit in :issue:`10379`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2029 +#: ../../whatsnew/3.7.rst:2042 msgid "macpath" msgstr "" -#: ../../whatsnew/3.7.rst:2031 +#: ../../whatsnew/3.7.rst:2044 msgid "" "The :mod:`macpath` is now deprecated and will be removed in Python 3.8. " "(Contributed by Chi Hsuan Yen in :issue:`9850`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2036 +#: ../../whatsnew/3.7.rst:2049 msgid "threading" msgstr "threading" -#: ../../whatsnew/3.7.rst:2038 +#: ../../whatsnew/3.7.rst:2051 msgid "" ":mod:`dummy_threading` and :mod:`_dummy_thread` have been deprecated. It is " -"no longer possible to build Python with threading disabled. Use :mod:" -"`threading` instead. (Contributed by Antoine Pitrou in :issue:`31370`.)" +"no longer possible to build Python with threading disabled. " +"Use :mod:`threading` instead. (Contributed by Antoine Pitrou " +"in :issue:`31370`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2047 +#: ../../whatsnew/3.7.rst:2060 msgid "" -"The silent argument value truncation in :func:`socket.htons` and :func:" -"`socket.ntohs` has been deprecated. In future versions of Python, if the " -"passed argument is larger than 16 bits, an exception will be raised. " +"The silent argument value truncation in :func:`socket.htons` " +"and :func:`socket.ntohs` has been deprecated. In future versions of Python, " +"if the passed argument is larger than 16 bits, an exception will be raised. " "(Contributed by Oren Milman in :issue:`28332`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2056 +#: ../../whatsnew/3.7.rst:2069 msgid "" -":func:`ssl.wrap_socket` is deprecated. Use :meth:`ssl.SSLContext." -"wrap_socket` instead. (Contributed by Christian Heimes in :issue:`28124`.)" +":func:`ssl.wrap_socket` is deprecated. " +"Use :meth:`ssl.SSLContext.wrap_socket` instead. (Contributed by Christian " +"Heimes in :issue:`28124`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2062 +#: ../../whatsnew/3.7.rst:2075 msgid "sunau" msgstr "sunau" -#: ../../whatsnew/3.7.rst:2064 +#: ../../whatsnew/3.7.rst:2077 msgid "" ":func:`sunau.openfp` has been deprecated and will be removed in Python 3.9. " -"Use :func:`sunau.open` instead. (Contributed by Brian Curtin in :issue:" -"`31985`.)" +"Use :func:`sunau.open` instead. (Contributed by Brian Curtin " +"in :issue:`31985`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2072 +#: ../../whatsnew/3.7.rst:2085 msgid "" -"Deprecated :func:`sys.set_coroutine_wrapper` and :func:`sys." -"get_coroutine_wrapper`." +"Deprecated :func:`sys.set_coroutine_wrapper` " +"and :func:`sys.get_coroutine_wrapper`." msgstr "" -#: ../../whatsnew/3.7.rst:2075 +#: ../../whatsnew/3.7.rst:2088 msgid "" "The undocumented ``sys.callstats()`` function has been deprecated and will " -"be removed in a future Python version. (Contributed by Victor Stinner in :" -"issue:`28799`.)" +"be removed in a future Python version. (Contributed by Victor Stinner " +"in :issue:`28799`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2081 +#: ../../whatsnew/3.7.rst:2094 msgid "wave" msgstr "wave" -#: ../../whatsnew/3.7.rst:2083 +#: ../../whatsnew/3.7.rst:2096 msgid "" ":func:`wave.openfp` has been deprecated and will be removed in Python 3.9. " -"Use :func:`wave.open` instead. (Contributed by Brian Curtin in :issue:" -"`31985`.)" +"Use :func:`wave.open` instead. (Contributed by Brian Curtin " +"in :issue:`31985`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2089 +#: ../../whatsnew/3.7.rst:2102 msgid "Deprecated functions and types of the C API" msgstr "" -#: ../../whatsnew/3.7.rst:2091 +#: ../../whatsnew/3.7.rst:2104 msgid "" "Function :c:func:`PySlice_GetIndicesEx` is deprecated and replaced with a " "macro if ``Py_LIMITED_API`` is not set or set to a value in the range " "between ``0x03050400`` and ``0x03060000`` (not inclusive), or is " -"``0x03060100`` or higher. (Contributed by Serhiy Storchaka in :issue:" -"`27867`.)" +"``0x03060100`` or higher. (Contributed by Serhiy Storchaka " +"in :issue:`27867`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2096 +#: ../../whatsnew/3.7.rst:2109 msgid "" -":c:func:`PyOS_AfterFork` has been deprecated. Use :c:func:" -"`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` or :c:func:" -"`PyOS_AfterFork_Child()` instead. (Contributed by Antoine Pitrou in :issue:" -"`16500`.)" +":c:func:`PyOS_AfterFork` has been deprecated. " +"Use :c:func:`PyOS_BeforeFork`, :c:func:`PyOS_AfterFork_Parent` " +"or :c:func:`PyOS_AfterFork_Child()` instead. (Contributed by Antoine Pitrou " +"in :issue:`16500`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2104 +#: ../../whatsnew/3.7.rst:2117 msgid "Platform Support Removals" msgstr "" -#: ../../whatsnew/3.7.rst:2106 +#: ../../whatsnew/3.7.rst:2119 msgid "FreeBSD 9 and older are no longer officially supported." msgstr "" -#: ../../whatsnew/3.7.rst:2107 +#: ../../whatsnew/3.7.rst:2120 msgid "" "For full Unicode support, including within extension modules, \\*nix " "platforms are now expected to provide at least one of ``C.UTF-8`` (full " @@ -3191,7 +3413,7 @@ msgid "" "an alternative to the legacy ``ASCII``-based ``C`` locale." msgstr "" -#: ../../whatsnew/3.7.rst:2111 +#: ../../whatsnew/3.7.rst:2124 msgid "" "OpenSSL 0.9.8 and 1.0.1 are no longer supported, which means building " "CPython 3.7 with SSL/TLS support on older platforms still using these " @@ -3199,14 +3421,14 @@ msgid "" "OpenSSL." msgstr "" -#: ../../whatsnew/3.7.rst:2115 +#: ../../whatsnew/3.7.rst:2128 msgid "" "Notably, this issue affects the Debian 8 (aka \"jessie\") and Ubuntu 14.04 " "(aka \"Trusty\") LTS Linux distributions, as they still use OpenSSL 1.0.1 by " "default." msgstr "" -#: ../../whatsnew/3.7.rst:2119 +#: ../../whatsnew/3.7.rst:2132 msgid "" "Debian 9 (\"stretch\") and Ubuntu 16.04 (\"xenial\"), as well as recent " "releases of other LTS Linux releases (e.g. RHEL/CentOS 7.5, SLES 12-SP3), " @@ -3214,51 +3436,50 @@ msgid "" "configuration." msgstr "" -#: ../../whatsnew/3.7.rst:2123 +#: ../../whatsnew/3.7.rst:2136 msgid "" "CPython's own `CI configuration file `_ provides an example of using the SSL :source:" -"`compatibility testing infrastructure ` in " -"CPython's test suite to build and link against OpenSSL 1.1.0 rather than an " -"outdated system provided OpenSSL." +"v3.7.13/.travis.yml>`_ provides an example of using the " +"SSL :source:`compatibility testing infrastructure ` in CPython's test suite to build and link against OpenSSL " +"1.1.0 rather than an outdated system provided OpenSSL." msgstr "" -#: ../../whatsnew/3.7.rst:2132 +#: ../../whatsnew/3.7.rst:2145 msgid "API and Feature Removals" msgstr "Remoção de APIs e recursos" -#: ../../whatsnew/3.7.rst:2134 +#: ../../whatsnew/3.7.rst:2147 msgid "The following features and APIs have been removed from Python 3.7:" msgstr "" -#: ../../whatsnew/3.7.rst:2136 +#: ../../whatsnew/3.7.rst:2149 msgid "" "The ``os.stat_float_times()`` function has been removed. It was introduced " "in Python 2.3 for backward compatibility with Python 2.2, and was deprecated " "since Python 3.1." msgstr "" -#: ../../whatsnew/3.7.rst:2140 +#: ../../whatsnew/3.7.rst:2153 msgid "" "Unknown escapes consisting of ``'\\'`` and an ASCII letter in replacement " "templates for :func:`re.sub` were deprecated in Python 3.5, and will now " "cause an error." msgstr "" -#: ../../whatsnew/3.7.rst:2144 +#: ../../whatsnew/3.7.rst:2157 msgid "" "Removed support of the *exclude* argument in :meth:`tarfile.TarFile.add`. It " "was deprecated in Python 2.7 and 3.2. Use the *filter* argument instead." msgstr "" -#: ../../whatsnew/3.7.rst:2147 +#: ../../whatsnew/3.7.rst:2160 msgid "" -"The ``splitunc()`` function in the :mod:`ntpath` module was deprecated in " -"Python 3.1, and has now been removed. Use the :func:`~os.path.splitdrive` " -"function instead." +"The :func:`!ntpath.splitunc` function was deprecated in Python 3.1, and has " +"now been removed. Use :func:`~os.path.splitdrive` instead." msgstr "" -#: ../../whatsnew/3.7.rst:2151 +#: ../../whatsnew/3.7.rst:2164 msgid "" ":func:`collections.namedtuple` no longer supports the *verbose* parameter or " "``_source`` attribute which showed the generated source code for the named " @@ -3267,23 +3488,23 @@ msgid "" "Naoki, Serhiy Storchaka, and Raymond Hettinger in :issue:`28638`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2157 +#: ../../whatsnew/3.7.rst:2170 msgid "" "Functions :func:`bool`, :func:`float`, :func:`list` and :func:`tuple` no " "longer take keyword arguments. The first argument of :func:`int` can now be " "passed only as positional argument." msgstr "" -#: ../../whatsnew/3.7.rst:2161 +#: ../../whatsnew/3.7.rst:2174 msgid "" "Removed previously deprecated in Python 2.4 classes ``Plist``, ``Dict`` and " "``_InternalDict`` in the :mod:`plistlib` module. Dict values in the result " -"of functions :func:`~plistlib.readPlist` and :func:`~plistlib." -"readPlistFromBytes` are now normal dicts. You no longer can use attribute " -"access to access items of these dictionaries." +"of functions :func:`~plistlib.readPlist` " +"and :func:`~plistlib.readPlistFromBytes` are now normal dicts. You no " +"longer can use attribute access to access items of these dictionaries." msgstr "" -#: ../../whatsnew/3.7.rst:2167 +#: ../../whatsnew/3.7.rst:2180 msgid "" "The ``asyncio.windows_utils.socketpair()`` function has been removed. Use " "the :func:`socket.socketpair` function instead, it is available on all " @@ -3291,33 +3512,33 @@ msgid "" "alias to ``socket.socketpair`` on Python 3.5 and newer." msgstr "" -#: ../../whatsnew/3.7.rst:2173 +#: ../../whatsnew/3.7.rst:2186 msgid "" ":mod:`asyncio` no longer exports the :mod:`selectors` and :mod:`_overlapped` " "modules as ``asyncio.selectors`` and ``asyncio._overlapped``. Replace ``from " "asyncio import selectors`` with ``import selectors``." msgstr "" -#: ../../whatsnew/3.7.rst:2178 +#: ../../whatsnew/3.7.rst:2191 msgid "" "Direct instantiation of :class:`ssl.SSLSocket` and :class:`ssl.SSLObject` " "objects is now prohibited. The constructors were never documented, tested, " -"or designed as public constructors. Users were supposed to use :func:`ssl." -"wrap_socket` or :class:`ssl.SSLContext`. (Contributed by Christian Heimes " -"in :issue:`32951`.)" +"or designed as public constructors. Users were supposed to " +"use :func:`ssl.wrap_socket` or :class:`ssl.SSLContext`. (Contributed by " +"Christian Heimes in :issue:`32951`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2184 +#: ../../whatsnew/3.7.rst:2197 msgid "" "The unused :mod:`distutils` ``install_misc`` command has been removed. " "(Contributed by Eric N. Vander Weele in :issue:`29218`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2189 +#: ../../whatsnew/3.7.rst:2202 msgid "Module Removals" msgstr "" -#: ../../whatsnew/3.7.rst:2191 +#: ../../whatsnew/3.7.rst:2204 msgid "" "The ``fpectl`` module has been removed. It was never enabled by default, " "never worked correctly on x86-64, and it changed the Python ABI in ways that " @@ -3325,11 +3546,11 @@ msgid "" "Smith in :issue:`29137`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2198 ../../whatsnew/3.7.rst:2474 +#: ../../whatsnew/3.7.rst:2211 ../../whatsnew/3.7.rst:2487 msgid "Windows-only Changes" msgstr "" -#: ../../whatsnew/3.7.rst:2200 +#: ../../whatsnew/3.7.rst:2213 msgid "" "The python launcher, (py.exe), can accept 32 & 64 bit specifiers **without** " "having to specify a minor version as well. So ``py -3-32`` and ``py -3-64`` " @@ -3339,7 +3560,7 @@ msgid "" "(Contributed by Steve Barnes in :issue:`30291`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2207 +#: ../../whatsnew/3.7.rst:2220 msgid "" "The launcher can be run as ``py -0`` to produce a list of the installed " "pythons, *with default marked with an asterisk*. Running ``py -0p`` will " @@ -3348,11 +3569,11 @@ msgid "" "(Contributed by Steve Barnes in :issue:`30362`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2217 +#: ../../whatsnew/3.7.rst:2230 msgid "Porting to Python 3.7" msgstr "" -#: ../../whatsnew/3.7.rst:2219 +#: ../../whatsnew/3.7.rst:2232 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -3360,47 +3581,47 @@ msgstr "" "Esta seção lista as alterações descritas anteriormente e outras correções " "que podem exigir alterações no seu código." -#: ../../whatsnew/3.7.rst:2224 +#: ../../whatsnew/3.7.rst:2237 msgid "Changes in Python Behavior" msgstr "" -#: ../../whatsnew/3.7.rst:2226 +#: ../../whatsnew/3.7.rst:2239 msgid "" ":keyword:`async` and :keyword:`await` names are now reserved keywords. Code " "using these names as identifiers will now raise a :exc:`SyntaxError`. " "(Contributed by Jelle Zijlstra in :issue:`30406`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2230 +#: ../../whatsnew/3.7.rst:2243 msgid "" -":pep:`479` is enabled for all code in Python 3.7, meaning that :exc:" -"`StopIteration` exceptions raised directly or indirectly in coroutines and " -"generators are transformed into :exc:`RuntimeError` exceptions. (Contributed " -"by Yury Selivanov in :issue:`32670`.)" +":pep:`479` is enabled for all code in Python 3.7, meaning " +"that :exc:`StopIteration` exceptions raised directly or indirectly in " +"coroutines and generators are transformed into :exc:`RuntimeError` " +"exceptions. (Contributed by Yury Selivanov in :issue:`32670`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2236 +#: ../../whatsnew/3.7.rst:2249 msgid "" ":meth:`object.__aiter__` methods can no longer be declared as asynchronous. " "(Contributed by Yury Selivanov in :issue:`31709`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2239 +#: ../../whatsnew/3.7.rst:2252 msgid "" "Due to an oversight, earlier Python versions erroneously accepted the " "following syntax::" msgstr "" -#: ../../whatsnew/3.7.rst:2247 +#: ../../whatsnew/3.7.rst:2260 msgid "" "Python 3.7 now correctly raises a :exc:`SyntaxError`, as a generator " "expression always needs to be directly inside a set of parentheses and " "cannot have a comma on either side, and the duplication of the parentheses " -"can be omitted only on calls. (Contributed by Serhiy Storchaka in :issue:" -"`32012` and :issue:`32023`.)" +"can be omitted only on calls. (Contributed by Serhiy Storchaka " +"in :issue:`32012` and :issue:`32023`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2253 +#: ../../whatsnew/3.7.rst:2266 msgid "" "When using the :option:`-m` switch, the initial working directory is now " "added to :data:`sys.path`, rather than an empty string (which dynamically " @@ -3412,58 +3633,60 @@ msgid "" "place)." msgstr "" -#: ../../whatsnew/3.7.rst:2263 +#: ../../whatsnew/3.7.rst:2276 msgid "Changes in the Python API" msgstr "Alterações na API Python" -#: ../../whatsnew/3.7.rst:2265 +#: ../../whatsnew/3.7.rst:2278 msgid "" ":meth:`socketserver.ThreadingMixIn.server_close` now waits until all non-" -"daemon threads complete. Set the new :attr:`socketserver.ThreadingMixIn." -"block_on_close` class attribute to ``False`` to get the pre-3.7 behaviour. " -"(Contributed by Victor Stinner in :issue:`31233` and :issue:`33540`.)" +"daemon threads complete. Set the " +"new :attr:`socketserver.ThreadingMixIn.block_on_close` class attribute to " +"``False`` to get the pre-3.7 behaviour. (Contributed by Victor Stinner " +"in :issue:`31233` and :issue:`33540`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2271 +#: ../../whatsnew/3.7.rst:2284 msgid "" ":meth:`socketserver.ForkingMixIn.server_close` now waits until all child " -"processes complete. Set the new :attr:`socketserver.ForkingMixIn." -"block_on_close` class attribute to ``False`` to get the pre-3.7 behaviour. " -"(Contributed by Victor Stinner in :issue:`31151` and :issue:`33540`.)" +"processes complete. Set the " +"new :attr:`socketserver.ForkingMixIn.block_on_close` class attribute to " +"``False`` to get the pre-3.7 behaviour. (Contributed by Victor Stinner " +"in :issue:`31151` and :issue:`33540`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2277 +#: ../../whatsnew/3.7.rst:2290 msgid "" "The :func:`locale.localeconv` function now temporarily sets the ``LC_CTYPE`` " "locale to the value of ``LC_NUMERIC`` in some cases. (Contributed by Victor " "Stinner in :issue:`31900`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2281 +#: ../../whatsnew/3.7.rst:2294 msgid "" ":meth:`pkgutil.walk_packages` now raises a :exc:`ValueError` if *path* is a " "string. Previously an empty list was returned. (Contributed by Sanyam " "Khurana in :issue:`24744`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2285 +#: ../../whatsnew/3.7.rst:2298 msgid "" -"A format string argument for :meth:`string.Formatter.format` is now :ref:" -"`positional-only `. Passing it as a keyword " -"argument was deprecated in Python 3.5. (Contributed by Serhiy Storchaka in :" -"issue:`29193`.)" +"A format string argument for :meth:`string.Formatter.format` is " +"now :ref:`positional-only `. Passing it as a " +"keyword argument was deprecated in Python 3.5. (Contributed by Serhiy " +"Storchaka in :issue:`29193`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2290 +#: ../../whatsnew/3.7.rst:2303 msgid "" -"Attributes :attr:`~http.cookies.Morsel.key`, :attr:`~http.cookies.Morsel." -"value` and :attr:`~http.cookies.Morsel.coded_value` of class :class:`http." -"cookies.Morsel` are now read-only. Assigning to them was deprecated in " -"Python 3.5. Use the :meth:`~http.cookies.Morsel.set` method for setting " -"them. (Contributed by Serhiy Storchaka in :issue:`29192`.)" +"Attributes :attr:`~http.cookies.Morsel.key`, :attr:`~http.cookies.Morsel.value` " +"and :attr:`~http.cookies.Morsel.coded_value` of " +"class :class:`http.cookies.Morsel` are now read-only. Assigning to them was " +"deprecated in Python 3.5. Use the :meth:`~http.cookies.Morsel.set` method " +"for setting them. (Contributed by Serhiy Storchaka in :issue:`29192`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2298 +#: ../../whatsnew/3.7.rst:2311 msgid "" "The *mode* argument of :func:`os.makedirs` no longer affects the file " "permission bits of newly created intermediate-level directories. To set " @@ -3471,13 +3694,13 @@ msgid "" "``makedirs()``. (Contributed by Serhiy Storchaka in :issue:`19930`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2304 +#: ../../whatsnew/3.7.rst:2317 msgid "" -"The :attr:`struct.Struct.format` type is now :class:`str` instead of :class:" -"`bytes`. (Contributed by Victor Stinner in :issue:`21071`.)" +"The :attr:`struct.Struct.format` type is now :class:`str` instead " +"of :class:`bytes`. (Contributed by Victor Stinner in :issue:`21071`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2307 +#: ../../whatsnew/3.7.rst:2320 msgid "" ":func:`~cgi.parse_multipart` now accepts the *encoding* and *errors* " "arguments and returns the same results as :class:`~FieldStorage`: for non-" @@ -3485,35 +3708,35 @@ msgid "" "(Contributed by Pierre Quentel in :issue:`29979`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2313 +#: ../../whatsnew/3.7.rst:2326 msgid "" "Due to internal changes in :mod:`socket`, calling :func:`socket.fromshare` " "on a socket created by :func:`socket.share ` in older " "Python versions is not supported." msgstr "" -#: ../../whatsnew/3.7.rst:2317 +#: ../../whatsnew/3.7.rst:2330 msgid "" "``repr`` for :exc:`BaseException` has changed to not include the trailing " "comma. Most exceptions are affected by this change. (Contributed by Serhiy " "Storchaka in :issue:`30399`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2321 +#: ../../whatsnew/3.7.rst:2334 msgid "" "``repr`` for :class:`datetime.timedelta` has changed to include the keyword " "arguments in the output. (Contributed by Utkarsh Upadhyay in :issue:`30302`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2324 +#: ../../whatsnew/3.7.rst:2337 msgid "" -"Because :func:`shutil.rmtree` is now implemented using the :func:`os." -"scandir` function, the user specified handler *onerror* is now called with " -"the first argument ``os.scandir`` instead of ``os.listdir`` when listing the " -"directory is failed." +"Because :func:`shutil.rmtree` is now implemented using " +"the :func:`os.scandir` function, the user specified handler *onerror* is now " +"called with the first argument ``os.scandir`` instead of ``os.listdir`` when " +"listing the directory is failed." msgstr "" -#: ../../whatsnew/3.7.rst:2329 +#: ../../whatsnew/3.7.rst:2342 msgid "" "Support for nested sets and set operations in regular expressions as in " "`Unicode Technical Standard #18`_ might be added in the future. This would " @@ -3524,7 +3747,7 @@ msgid "" "with a backslash. (Contributed by Serhiy Storchaka in :issue:`30349`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2340 +#: ../../whatsnew/3.7.rst:2353 msgid "" "The result of splitting a string on a :mod:`regular expression ` that " "could match an empty string has been changed. For example splitting on " @@ -3535,7 +3758,7 @@ msgid "" "patterns since Python 3.5." msgstr "" -#: ../../whatsnew/3.7.rst:2349 +#: ../../whatsnew/3.7.rst:2362 msgid "" "For patterns that match both empty and non-empty strings, the result of " "searching for all matches may also be changed in other cases. For example " @@ -3545,7 +3768,7 @@ msgid "" "as ``r'(?m)^[^\\S\\n]*$'``." msgstr "" -#: ../../whatsnew/3.7.rst:2356 +#: ../../whatsnew/3.7.rst:2369 msgid "" ":func:`re.sub()` now replaces empty matches adjacent to a previous non-empty " "match. For example ``re.sub('x*', '-', 'abxd')`` returns now ``'-a-b--d-'`` " @@ -3553,92 +3776,95 @@ msgid "" "and the second minus replaces an empty string between 'x' and 'd')." msgstr "" -#: ../../whatsnew/3.7.rst:2362 +#: ../../whatsnew/3.7.rst:2375 msgid "(Contributed by Serhiy Storchaka in :issue:`25054` and :issue:`32308`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2364 +#: ../../whatsnew/3.7.rst:2377 msgid "" "Change :func:`re.escape` to only escape regex special characters instead of " "escaping all characters other than ASCII letters, numbers, and ``'_'``. " "(Contributed by Serhiy Storchaka in :issue:`29995`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2368 +#: ../../whatsnew/3.7.rst:2381 msgid "" ":class:`tracemalloc.Traceback` frames are now sorted from oldest to most " "recent to be more consistent with :mod:`traceback`. (Contributed by Jesse " "Bakker in :issue:`32121`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2372 +#: ../../whatsnew/3.7.rst:2385 msgid "" -"On OSes that support :const:`socket.SOCK_NONBLOCK` or :const:`socket." -"SOCK_CLOEXEC` bit flags, the :attr:`socket.type ` no " -"longer has them applied. Therefore, checks like ``if sock.type == socket." -"SOCK_STREAM`` work as expected on all platforms. (Contributed by Yury " -"Selivanov in :issue:`32331`.)" +"On OSes that support :const:`socket.SOCK_NONBLOCK` " +"or :const:`socket.SOCK_CLOEXEC` bit flags, the :attr:`socket.type " +"` no longer has them applied. Therefore, checks like " +"``if sock.type == socket.SOCK_STREAM`` work as expected on all platforms. " +"(Contributed by Yury Selivanov in :issue:`32331`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2379 +#: ../../whatsnew/3.7.rst:2392 msgid "" -"On Windows the default for the *close_fds* argument of :class:`subprocess." -"Popen` was changed from :const:`False` to :const:`True` when redirecting the " -"standard handles. If you previously depended on handles being inherited when " -"using :class:`subprocess.Popen` with standard io redirection, you will have " -"to pass ``close_fds=False`` to preserve the previous behaviour, or use :attr:" -"`STARTUPINFO.lpAttributeList `." +"On Windows the default for the *close_fds* argument " +"of :class:`subprocess.Popen` was changed from :const:`False` " +"to :const:`True` when redirecting the standard handles. If you previously " +"depended on handles being inherited when using :class:`subprocess.Popen` " +"with standard io redirection, you will have to pass ``close_fds=False`` to " +"preserve the previous behaviour, or use :attr:`STARTUPINFO.lpAttributeList " +"`." msgstr "" -#: ../../whatsnew/3.7.rst:2387 +#: ../../whatsnew/3.7.rst:2400 msgid "" ":meth:`importlib.machinery.PathFinder.invalidate_caches` -- which implicitly " -"affects :func:`importlib.invalidate_caches` -- now deletes entries in :data:" -"`sys.path_importer_cache` which are set to ``None``. (Contributed by Brett " -"Cannon in :issue:`33169`.)" +"affects :func:`importlib.invalidate_caches` -- now deletes entries " +"in :data:`sys.path_importer_cache` which are set to ``None``. (Contributed " +"by Brett Cannon in :issue:`33169`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2392 +#: ../../whatsnew/3.7.rst:2405 msgid "" -"In :mod:`asyncio`, :meth:`loop.sock_recv() `, :meth:" -"`loop.sock_sendall() `, :meth:`loop.sock_accept() " -"`, :meth:`loop.getaddrinfo() `, :meth:`loop.getnameinfo() ` have " -"been changed to be proper coroutine methods to match their documentation. " -"Previously, these methods returned :class:`asyncio.Future` instances. " -"(Contributed by Yury Selivanov in :issue:`32327`.)" +"In :mod:`asyncio`, :meth:`loop.sock_recv() " +"`, :meth:`loop.sock_sendall() " +"`, :meth:`loop.sock_accept() " +"`, :meth:`loop.getaddrinfo() " +"`, :meth:`loop.getnameinfo() " +"` have been changed to be proper coroutine methods " +"to match their documentation. Previously, these methods " +"returned :class:`asyncio.Future` instances. (Contributed by Yury Selivanov " +"in :issue:`32327`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2403 +#: ../../whatsnew/3.7.rst:2416 msgid "" ":attr:`asyncio.Server.sockets` now returns a copy of the internal list of " "server sockets, instead of returning it directly. (Contributed by Yury " "Selivanov in :issue:`32662`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2407 +#: ../../whatsnew/3.7.rst:2420 msgid "" ":attr:`Struct.format ` is now a :class:`str` instance " -"instead of a :class:`bytes` instance. (Contributed by Victor Stinner in :" -"issue:`21071`.)" +"instead of a :class:`bytes` instance. (Contributed by Victor Stinner " +"in :issue:`21071`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2411 +#: ../../whatsnew/3.7.rst:2424 msgid "" ":mod:`argparse` subparsers can now be made mandatory by passing " -"``required=True`` to :meth:`ArgumentParser.add_subparsers() `. (Contributed by Anthony Sottile in :issue:" -"`26510`.)" +"``required=True`` to :meth:`ArgumentParser.add_subparsers() " +"`. (Contributed by Anthony Sottile " +"in :issue:`26510`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2415 +#: ../../whatsnew/3.7.rst:2428 msgid "" ":meth:`ast.literal_eval()` is now stricter. Addition and subtraction of " "arbitrary numbers are no longer allowed. (Contributed by Serhiy Storchaka " "in :issue:`31778`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2419 +#: ../../whatsnew/3.7.rst:2432 msgid "" ":meth:`Calendar.itermonthdates ` will now " "consistently raise an exception when a date falls outside of the " @@ -3646,25 +3872,26 @@ msgid "" "cannot tolerate such exceptions, the new :meth:`Calendar.itermonthdays3 " "` and :meth:`Calendar.itermonthdays4 " "` can be used. The new methods return " -"tuples and are not restricted by the range supported by :class:`datetime." -"date`. (Contributed by Alexander Belopolsky in :issue:`28292`.)" +"tuples and are not restricted by the range supported " +"by :class:`datetime.date`. (Contributed by Alexander Belopolsky " +"in :issue:`28292`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2429 +#: ../../whatsnew/3.7.rst:2442 msgid "" ":class:`collections.ChainMap` now preserves the order of the underlying " "mappings. (Contributed by Raymond Hettinger in :issue:`32792`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2432 +#: ../../whatsnew/3.7.rst:2445 msgid "" "The ``submit()`` method of :class:`concurrent.futures.ThreadPoolExecutor` " -"and :class:`concurrent.futures.ProcessPoolExecutor` now raises a :exc:" -"`RuntimeError` if called during interpreter shutdown. (Contributed by Mark " -"Nemec in :issue:`33097`.)" +"and :class:`concurrent.futures.ProcessPoolExecutor` now raises " +"a :exc:`RuntimeError` if called during interpreter shutdown. (Contributed by " +"Mark Nemec in :issue:`33097`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2437 +#: ../../whatsnew/3.7.rst:2450 msgid "" "The :class:`configparser.ConfigParser` constructor now uses ``read_dict()`` " "to process the default values, making its behavior consistent with the rest " @@ -3673,59 +3900,59 @@ msgid "" "in :issue:`23835`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2443 +#: ../../whatsnew/3.7.rst:2456 msgid "" -"Several undocumented internal imports were removed. One example is that ``os." -"errno`` is no longer available; use ``import errno`` directly instead. Note " -"that such undocumented internal imports may be removed any time without " +"Several undocumented internal imports were removed. One example is that " +"``os.errno`` is no longer available; use ``import errno`` directly instead. " +"Note that such undocumented internal imports may be removed any time without " "notice, even in micro version releases." msgstr "" -#: ../../whatsnew/3.7.rst:2451 +#: ../../whatsnew/3.7.rst:2464 msgid "Changes in the C API" msgstr "Alterações na API C" -#: ../../whatsnew/3.7.rst:2453 +#: ../../whatsnew/3.7.rst:2466 msgid "" "The function :c:func:`PySlice_GetIndicesEx` is considered unsafe for " -"resizable sequences. If the slice indices are not instances of :class:" -"`int`, but objects that implement the :meth:`!__index__` method, the " -"sequence can be resized after passing its length to :c:func:`!" +"resizable sequences. If the slice indices are not instances " +"of :class:`int`, but objects that implement the :meth:`!__index__` method, " +"the sequence can be resized after passing its length to :c:func:`!" "PySlice_GetIndicesEx`. This can lead to returning indices out of the length " -"of the sequence. For avoiding possible problems use new functions :c:func:" -"`PySlice_Unpack` and :c:func:`PySlice_AdjustIndices`. (Contributed by Serhiy " -"Storchaka in :issue:`27867`.)" +"of the sequence. For avoiding possible problems use new " +"functions :c:func:`PySlice_Unpack` and :c:func:`PySlice_AdjustIndices`. " +"(Contributed by Serhiy Storchaka in :issue:`27867`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2464 +#: ../../whatsnew/3.7.rst:2477 msgid "CPython bytecode changes" msgstr "Alterações de bytecode do CPython" -#: ../../whatsnew/3.7.rst:2466 +#: ../../whatsnew/3.7.rst:2479 msgid "" "There are two new opcodes: :opcode:`LOAD_METHOD` and :opcode:`CALL_METHOD`. " "(Contributed by Yury Selivanov and INADA Naoki in :issue:`26110`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2469 +#: ../../whatsnew/3.7.rst:2482 msgid "" "The :opcode:`STORE_ANNOTATION` opcode has been removed. (Contributed by Mark " "Shannon in :issue:`32550`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2476 +#: ../../whatsnew/3.7.rst:2489 msgid "" "The file used to override :data:`sys.path` is now called ``._pth`` instead of ``'sys.path'``. See :ref:" -"`windows_finding_modules` for more information. (Contributed by Steve Dower " -"in :issue:`28137`.)" +"executable>._pth`` instead of ``'sys.path'``. " +"See :ref:`windows_finding_modules` for more information. (Contributed by " +"Steve Dower in :issue:`28137`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2483 +#: ../../whatsnew/3.7.rst:2496 msgid "Other CPython implementation changes" msgstr "" -#: ../../whatsnew/3.7.rst:2485 +#: ../../whatsnew/3.7.rst:2498 msgid "" "In preparation for potential future changes to the public CPython runtime " "initialization API (see :pep:`432` for an initial, but somewhat outdated, " @@ -3740,31 +3967,31 @@ msgid "" "Stinner in a number of other issues). Some known details affected:" msgstr "" -#: ../../whatsnew/3.7.rst:2498 +#: ../../whatsnew/3.7.rst:2511 msgid "" ":c:func:`PySys_AddWarnOptionUnicode` is not currently usable by embedding " "applications due to the requirement to create a Unicode object prior to " "calling ``Py_Initialize``. Use :c:func:`PySys_AddWarnOption` instead." msgstr "" -#: ../../whatsnew/3.7.rst:2502 +#: ../../whatsnew/3.7.rst:2515 msgid "" -"warnings filters added by an embedding application with :c:func:" -"`PySys_AddWarnOption` should now more consistently take precedence over the " -"default filters set by the interpreter" +"warnings filters added by an embedding application " +"with :c:func:`PySys_AddWarnOption` should now more consistently take " +"precedence over the default filters set by the interpreter" msgstr "" -#: ../../whatsnew/3.7.rst:2506 +#: ../../whatsnew/3.7.rst:2519 msgid "" "Due to changes in the way the default warnings filters are configured, " "setting :c:data:`Py_BytesWarningFlag` to a value greater than one is no " "longer sufficient to both emit :exc:`BytesWarning` messages and have them " "converted to exceptions. Instead, the flag must be set (to cause the " -"warnings to be emitted in the first place), and an explicit ``error::" -"BytesWarning`` warnings filter added to convert them to exceptions." +"warnings to be emitted in the first place), and an explicit " +"``error::BytesWarning`` warnings filter added to convert them to exceptions." msgstr "" -#: ../../whatsnew/3.7.rst:2513 +#: ../../whatsnew/3.7.rst:2526 msgid "" "Due to a change in the way docstrings are handled by the compiler, the " "implicit ``return None`` in a function body consisting solely of a docstring " @@ -3772,7 +3999,7 @@ msgid "" "function's header line." msgstr "" -#: ../../whatsnew/3.7.rst:2518 +#: ../../whatsnew/3.7.rst:2531 msgid "" "The current exception state has been moved from the frame object to the co-" "routine. This simplified the interpreter and fixed a couple of obscure bugs " @@ -3780,28 +4007,29 @@ msgid "" "(Contributed by Mark Shannon in :issue:`25612`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2524 +#: ../../whatsnew/3.7.rst:2537 msgid "Notable changes in Python 3.7.1" msgstr "" -#: ../../whatsnew/3.7.rst:2526 +#: ../../whatsnew/3.7.rst:2539 msgid "" "Starting in 3.7.1, :c:func:`Py_Initialize` now consistently reads and " "respects all of the same environment settings as :c:func:`Py_Main` (in " "earlier Python versions, it respected an ill-defined subset of those " "environment variables, while in Python 3.7.0 it didn't read any of them due " -"to :issue:`34247`). If this behavior is unwanted, set :c:data:" -"`Py_IgnoreEnvironmentFlag` to 1 before calling :c:func:`Py_Initialize`." +"to :issue:`34247`). If this behavior is unwanted, " +"set :c:data:`Py_IgnoreEnvironmentFlag` to 1 before " +"calling :c:func:`Py_Initialize`." msgstr "" -#: ../../whatsnew/3.7.rst:2533 +#: ../../whatsnew/3.7.rst:2546 msgid "" "In 3.7.1 the C API for Context Variables :ref:`was updated " "` to use :c:type:`PyObject` " "pointers. See also :issue:`34762`." msgstr "" -#: ../../whatsnew/3.7.rst:2537 +#: ../../whatsnew/3.7.rst:2550 msgid "" "In 3.7.1 the :mod:`tokenize` module now implicitly emits a ``NEWLINE`` token " "when provided with input that does not have a trailing new line. This " @@ -3809,11 +4037,11 @@ msgid "" "Ammar Askar in :issue:`33899`.)" msgstr "" -#: ../../whatsnew/3.7.rst:2543 +#: ../../whatsnew/3.7.rst:2556 msgid "Notable changes in Python 3.7.2" msgstr "" -#: ../../whatsnew/3.7.rst:2545 +#: ../../whatsnew/3.7.rst:2558 msgid "" "In 3.7.2, :mod:`venv` on Windows no longer copies the original binaries, but " "creates redirector scripts named ``python.exe`` and ``pythonw.exe`` instead. " @@ -3823,18 +4051,18 @@ msgid "" "to get the new scripts." msgstr "" -#: ../../whatsnew/3.7.rst:2553 +#: ../../whatsnew/3.7.rst:2566 msgid "Notable changes in Python 3.7.6" msgstr "" -#: ../../whatsnew/3.7.rst:2555 +#: ../../whatsnew/3.7.rst:2568 msgid "" -"Due to significant security concerns, the *reuse_address* parameter of :meth:" -"`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " -"because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For " -"more details, see the documentation for ``loop.create_datagram_endpoint()``. " -"(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:" -"`37228`.)" +"Due to significant security concerns, the *reuse_address* parameter " +"of :meth:`asyncio.loop.create_datagram_endpoint` is no longer supported. " +"This is because of the behavior of the socket option ``SO_REUSEADDR`` in " +"UDP. For more details, see the documentation for " +"``loop.create_datagram_endpoint()``. (Contributed by Kyle Stanley, Antoine " +"Pitrou, and Yury Selivanov in :issue:`37228`.)" msgstr "" "Devido a significativas preocupações de segurança, o parâmetro " "*reuse_address* de :meth:`asyncio.loop.create_datagram_endpoint` não é mais " @@ -3843,27 +4071,87 @@ msgstr "" "``loop.create_datagram_endpoint()``. (Contribuição de Kyle Stanley, Antoine " "Pitrou e Yury Selivanov em :issue:`37228`.)" -#: ../../whatsnew/3.7.rst:2563 +#: ../../whatsnew/3.7.rst:2576 msgid "Notable changes in Python 3.7.10" msgstr "" -#: ../../whatsnew/3.7.rst:2565 +#: ../../whatsnew/3.7.rst:2578 msgid "" "Earlier Python versions allowed using both ``;`` and ``&`` as query " -"parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." -"parse.parse_qsl`. Due to security concerns, and to conform with newer W3C " -"recommendations, this has been changed to allow only a single separator key, " -"with ``&`` as the default. This change also affects :func:`cgi.parse` and :" -"func:`cgi.parse_multipart` as they use the affected functions internally. " -"For more details, please see their respective documentation. (Contributed by " -"Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" +"parameter separators in :func:`urllib.parse.parse_qs` " +"and :func:`urllib.parse.parse_qsl`. Due to security concerns, and to " +"conform with newer W3C recommendations, this has been changed to allow only " +"a single separator key, with ``&`` as the default. This change also " +"affects :func:`cgi.parse` and :func:`cgi.parse_multipart` as they use the " +"affected functions internally. For more details, please see their respective " +"documentation. (Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin " +"in :issue:`42967`.)" msgstr "" "Versões anteriores do Python permitiam o uso de ``;`` e ``&`` como " -"separadores de parâmetros de consulta nas funções :func:`urllib.parse." -"parse_qs` e :func:`urllib.parse.parse_qsl`. Devido a questões de segurança, " -"e em conformidade com as recomendações mais recentes do W3C, isso foi " -"alterado para permitir apenas uma única chave separadora, com ``&`` como " -"padrão. Esta mudança também afeta as funções :func:`cgi.parse` e :func:`cgi." -"parse_multipart` já que elas usam as funções afetadas internamente. Para " -"obter mais detalhes, consulte sua respectiva documentação. (Contribuição de " -"Adam Goldschmidt, Senthil Kumaran e Ken Jin em :issue:`42967`.)" +"separadores de parâmetros de consulta nas " +"funções :func:`urllib.parse.parse_qs` e :func:`urllib.parse.parse_qsl`. " +"Devido a questões de segurança, e em conformidade com as recomendações mais " +"recentes do W3C, isso foi alterado para permitir apenas uma única chave " +"separadora, com ``&`` como padrão. Esta mudança também afeta as " +"funções :func:`cgi.parse` e :func:`cgi.parse_multipart` já que elas usam as " +"funções afetadas internamente. Para obter mais detalhes, consulte sua " +"respectiva documentação. (Contribuição de Adam Goldschmidt, Senthil Kumaran " +"e Ken Jin em :issue:`42967`.)" + +#: ../../whatsnew/3.7.rst:2589 +msgid "Notable changes in Python 3.7.11" +msgstr "" + +#: ../../whatsnew/3.7.rst:2591 +msgid "" +"A security fix alters the :class:`ftplib.FTP` behavior to not trust the IPv4 " +"address sent from the remote server when setting up a passive data channel. " +"We reuse the ftp server IP address instead. For unusual code requiring the " +"old behavior, set a ``trust_server_pasv_ipv4_address`` attribute on your FTP " +"instance to ``True``. (See :gh:`87451`)" +msgstr "" +"Uma correção de segurança altera o comportamento :class:`ftplib.FTP` para " +"não confiar no endereço IPv4 enviado do servidor remoto ao configurar um " +"canal de dados passivo. Em vez disso, reutilizamos o endereço IP do servidor " +"ftp. Para códigos incomuns que requerem o comportamento antigo, defina um " +"atributo ``trust_server_pasv_ipv4_address`` em sua instância de FTP para " +"``True``. (Veja :gh:`87451`)" + +#: ../../whatsnew/3.7.rst:2598 +msgid "" +"The presence of newline or tab characters in parts of a URL allows for some " +"forms of attacks. Following the WHATWG specification that updates RFC 3986, " +"ASCII newline ``\\n``, ``\\r`` and tab ``\\t`` characters are stripped from " +"the URL by the parser :func:`urllib.parse` preventing such attacks. The " +"removal characters are controlled by a new module level variable " +"``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. (See :gh:`88048`)" +msgstr "" + +#: ../../whatsnew/3.7.rst:2606 +msgid "Notable security feature in 3.7.14" +msgstr "" + +#: ../../whatsnew/3.7.rst:2608 +msgid "" +"Converting between :class:`int` and :class:`str` in bases other than 2 " +"(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) " +"now raises a :exc:`ValueError` if the number of digits in string form is " +"above a limit to avoid potential denial of service attacks due to the " +"algorithmic complexity. This is a mitigation for `CVE-2020-10735 `_. This limit can be " +"configured or disabled by environment variable, command line flag, " +"or :mod:`sys` APIs. See the :ref:`integer string conversion length " +"limitation ` documentation. The default limit is 4300 " +"digits in string form." +msgstr "" +"Converter entre :class:`int` e :class:`str` em bases diferentes de 2 " +"(binário), 4, 8 (octal), 16 (hexadecimal) ou 32 como base 10 (decimal) agora " +"levanta uma exceção :exc:`ValueError` se o número de dígitos em forma de " +"string estiver acima de um limite para evitar possíveis ataques de negação " +"de serviço devido à complexidade algorítmica. Esta é uma mitigação para " +"`CVE-2020-10735 `_. Este limite pode ser configurado ou desabilitado por " +"variável de ambiente, sinalizador de linha de comando ou APIs de :mod:`sys`. " +"Veja a documentação de :ref:`limitação de comprimento de conversão de string " +"inteira `. O limite padrão é de 4300 dígitos em forma de " +"string." diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po index 4036b5724..c29dc598f 100644 --- a/whatsnew/3.8.po +++ b/whatsnew/3.8.po @@ -1,31 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# André Filipe de Assunção e Brito , 2021 -# Marco Rougeth , 2021 -# Italo Penaforte , 2021 -# Victor Matheus Castro , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Vinícius Muniz de Melo , 2021 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -44,12 +38,12 @@ msgstr "Raymond Hettinger" #: ../../whatsnew/3.8.rst:47 msgid "" "This article explains the new features in Python 3.8, compared to 3.7. " -"Python 3.8 was released on October 14, 2019. For full details, see the :ref:" -"`changelog `." +"Python 3.8 was released on October 14, 2019. For full details, see " +"the :ref:`changelog `." msgstr "" "Este artigo explica os novos recursos no Python 3.8, em comparação com 3.7. " -"Python 3.8 foi lançado em 14 de outubro de 2019. Veja :ref:" -"`changelog` para uma lista completa de mudanças." +"Python 3.8 foi lançado em 14 de outubro de 2019. " +"Veja :ref:`changelog` para uma lista completa de mudanças." #: ../../whatsnew/3.8.rst:61 msgid "Summary -- Release highlights" @@ -67,22 +61,23 @@ msgstr "Expressões de atribuição" msgid "" "There is new syntax ``:=`` that assigns values to variables as part of a " "larger expression. It is affectionately known as \"the walrus operator\" due " -"to its resemblance to `the eyes and tusks of a walrus `_." +"to its resemblance to `the eyes and tusks of a walrus `_." msgstr "" "Existe uma nova sintaxe ``:=`` que atribui valores a variáveis como parte de " -"uma expressão maior. É carinhosamente conhecido como \"o operador " -"morsa\" (\"the walrus operator\", em inglês) devido à sua semelhança com `os " -"olhos e presas de uma morsa `_." +"uma expressão maior. É carinhosamente conhecido como \"o operador morsa\" " +"(\"the walrus operator\", em inglês) devido à sua semelhança com `os olhos e " +"presas de uma morsa `_" #: ../../whatsnew/3.8.rst:82 msgid "" "In this example, the assignment expression helps avoid calling :func:`len` " "twice::" msgstr "" -"Neste exemplo, a expressão de atribuição ajuda a evitar a chamada de :func:" -"`len` duas vezes::" +"Neste exemplo, a expressão de atribuição ajuda a evitar a chamada " +"de :func:`len` duas vezes::" #: ../../whatsnew/3.8.rst:88 msgid "" @@ -119,7 +114,7 @@ msgid "" "Try to limit use of the walrus operator to clean cases that reduce " "complexity and improve readability." msgstr "" -"Tente limitar o uso do operador da morsa para limpar os casos que reduzem a " +"Tente limitar o uso do operador morsa para limpar os casos que reduzem a " "complexidade e melhoram a legibilidade." #: ../../whatsnew/3.8.rst:114 @@ -128,25 +123,25 @@ msgstr "Consulte :pep:`572` para uma descrição completa." #: ../../whatsnew/3.8.rst:116 msgid "(Contributed by Emily Morehouse in :issue:`35224`.)" -msgstr "(Contribuído por Emily Morehouse em :issue:`35224`.)" +msgstr "(Contribuição de Emily Morehouse em :issue:`35224`.)" #: ../../whatsnew/3.8.rst:120 msgid "Positional-only parameters" -msgstr "Parâmetros apenas posicionais" +msgstr "Parâmetros somente-posicionais" #: ../../whatsnew/3.8.rst:122 msgid "" "There is a new function parameter syntax ``/`` to indicate that some " "function parameters must be specified positionally and cannot be used as " "keyword arguments. This is the same notation shown by ``help()`` for C " -"functions annotated with Larry Hastings' :ref:`Argument Clinic ` tool." +"functions annotated with Larry Hastings' `Argument Clinic `__ tool." msgstr "" "Existe uma nova sintaxe de parâmetro de função ``/`` para indicar que alguns " "parâmetros de função devem ser especificados posicionalmente e não podem ser " "usados como argumentos nomeados. Esta é a mesma notação mostrada por " -"``help()`` para funções C anotadas com a ferramenta :ref:`Argument Clinic " -"` de Larry Hastings." +"``help()`` para funções C anotadas com a ferramenta `Argument Clinic " +"`_ de Larry Hastings." #: ../../whatsnew/3.8.rst:128 msgid "" @@ -240,15 +235,16 @@ msgid "" "separate parallel filesystem tree, rather than the default ``__pycache__`` " "subdirectories within each source directory." msgstr "" -"A nova configuração :envvar:`PYTHONPYCACHEPREFIX` (também disponível como :" -"option:`-X` ``pycache_prefix``) configura o cache implícito de bytecode para " -"usar uma árvore paralela separada do sistema de arquivos, em vez dos " -"subdiretórios padrão ``__pycache__`` dentro cada diretório fonte." +"A nova configuração :envvar:`PYTHONPYCACHEPREFIX` (também disponível " +"como :option:`-X` ``pycache_prefix``) configura o cache implícito de " +"bytecode para usar uma árvore paralela separada do sistema de arquivos, em " +"vez dos subdiretórios padrão ``__pycache__`` dentro cada diretório fonte." #: ../../whatsnew/3.8.rst:201 msgid "" -"The location of the cache is reported in :data:`sys.pycache_prefix` (:const:" -"`None` indicates the default location in ``__pycache__`` subdirectories)." +"The location of the cache is reported in :data:`sys.pycache_prefix` " +"(:const:`None` indicates the default location in ``__pycache__`` " +"subdirectories)." msgstr "" "O local do cache é relatado em :data:`sys.pycache_prefix` (:const:`None` " "indica o local padrão nos subdiretórios ``__pycache__``)." @@ -277,10 +273,10 @@ msgid "" "Release builds and :ref:`debug builds ` are now ABI compatible: " "defining the ``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` " "macro, which introduces the only ABI incompatibility. The ``Py_TRACE_REFS`` " -"macro, which adds the :func:`sys.getobjects` function and the :envvar:" -"`PYTHONDUMPREFS` environment variable, can be set using the new :option:`./" -"configure --with-trace-refs <--with-trace-refs>` build option. (Contributed " -"by Victor Stinner in :issue:`36465`.)" +"macro, which adds the :func:`sys.getobjects` function and " +"the :envvar:`PYTHONDUMPREFS` environment variable, can be set using the " +"new :option:`./configure --with-trace-refs <--with-trace-refs>` build " +"option. (Contributed by Victor Stinner in :issue:`36465`.)" msgstr "" "Compilações de lançamento e :ref:`compilações de depuração ` " "agora são compatíveis com ABI: definir a macro ``Py_DEBUG`` não implica mais " @@ -298,8 +294,8 @@ msgid "" "Stinner in :issue:`21536`.)" msgstr "" "No Unix, as extensões C não estão mais vinculadas ao libpython, exceto no " -"Android e Cygwin. Agora é possível que um Python vinculado estaticamente " -"carregue uma extensão C criada usando uma biblioteca compartilhada Python. " +"Android e no Cygwin. Agora é possível que um Python vinculado estaticamente " +"carregue uma extensão C criada com uma biblioteca Python compartilhada. " "(Contribuição de Victor Stinner em :issue:`21536`.)" #: ../../whatsnew/3.8.rst:230 @@ -323,9 +319,9 @@ msgid "" msgstr "" "Para incorporar o Python em uma aplicação, uma nova opção ``--embed`` deve " "ser passada para ``python3-config --libs --embed`` para obter o ``-" -"lpython3.8`` (vincula a aplicação ao libpython). Para dar suporte a 3.8 e " -"versões mais antigas, tente ``python3-config --libs --embed`` primeiro e use " -"como fallback para ``python3-config --libs`` (sem ``--embed``) se o comando " +"lpython3.8`` (vincula a aplicação ao libpython). Para dar suporte a 3.8 e a " +"versões mais antigas, tente ``python3-config --libs --embed`` primeiro e, " +"como fallback, use ``python3-config --libs`` (sem ``--embed``) se o comando " "anterior falhar." #: ../../whatsnew/3.8.rst:241 @@ -349,19 +345,19 @@ msgid "" "On the other hand, ``pkg-config python3.8 --libs`` no longer contains ``-" "lpython3.8``. C extensions must not be linked to libpython (except on " "Android and Cygwin, whose cases are handled by the script); this change is " -"backward incompatible on purpose. (Contributed by Victor Stinner in :issue:" -"`36721`.)" +"backward incompatible on purpose. (Contributed by Victor Stinner " +"in :issue:`36721`.)" msgstr "" "Por outro lado, ``pkg-config python3.8 --libs`` não contém mais ``-" "lpython3.8``. As extensões C não devem estar vinculadas ao libpython (exceto " -"no Android e Cygwin, cujos casos são tratados pelo script); essa alteração é " -"retroativamente incompatível de propósito. (Contribuição de Victor Stinner " -"em :issue:`36721`.)" +"no Android e no Cygwin, cujos casos são tratados pelo script); essa " +"alteração é retroativamente incompatível de propósito. (Contribuição de " +"Victor Stinner em :issue:`36721`.)" #: ../../whatsnew/3.8.rst:256 msgid "f-strings support ``=`` for self-documenting expressions and debugging" msgstr "" -"O suporte a f-strings ``=`` para expressões de auto-documentação e depuração" +"As *f-strings* aceitam ``=`` para expressões auto-documentadas e depuração" #: ../../whatsnew/3.8.rst:258 msgid "" @@ -378,16 +374,16 @@ msgid "" "The usual :ref:`f-string format specifiers ` allow more control " "over how the result of the expression is displayed::" msgstr "" -"O habitual :ref:`f-string especificadores de formato ` permite " -"mais controle sobre como o resultado da expressão é exibido::" +"Os :ref:`especificadores de formato de f-string ` habituais " +"permitem maior controle sobre como o resultado da expressão é apresentado::" #: ../../whatsnew/3.8.rst:274 msgid "" "The ``=`` specifier will display the whole expression so that calculations " "can be shown::" msgstr "" -"O especificador ``=`` exibirá toda a expressão para que os cálculos possam " -"ser mostrados::" +"O especificador ``=`` apresentará a expressão completa, de modo que os " +"cálculos possam ser apresentados::" #: ../../whatsnew/3.8.rst:280 msgid "(Contributed by Eric V. Smith and Larry Hastings in :issue:`36817`.)" @@ -565,11 +561,11 @@ msgid "" "reference configuration, replacing global configuration variables and other " "private variables." msgstr "" -"Esse PEP também adiciona os campos ``_PyRuntimeState.preconfig`` (tipo :c:" -"type:`PyPreConfig`) e ``PyInterpreterState.config`` (tipo :c:type:" -"`PyConfig`) campos a essas estruturas internas. ``PyInterpreterState." -"config`` se torna a nova configuração de referência, substituindo variáveis " -"de configuração global e outras variáveis privadas." +"Esse PEP também adiciona os campos ``_PyRuntimeState.preconfig`` " +"(tipo :c:type:`PyPreConfig`) e ``PyInterpreterState.config`` " +"(tipo :c:type:`PyConfig`) campos a essas estruturas internas. " +"``PyInterpreterState.config`` se torna a nova configuração de referência, " +"substituindo variáveis de configuração global e outras variáveis privadas." #: ../../whatsnew/3.8.rst:343 msgid "" @@ -594,13 +590,14 @@ msgstr "PEP 590: Vectorcall: um protocolo de chamada rápida para CPython" #: ../../whatsnew/3.8.rst:354 msgid "" ":ref:`vectorcall` is added to the Python/C API. It is meant to formalize " -"existing optimizations which were already done for various classes. Any :ref:" -"`static type ` implementing a callable can use this protocol." +"existing optimizations which were already done for various classes. " +"Any :ref:`static type ` implementing a callable can use this " +"protocol." msgstr "" ":ref:`vectorcall` é adicionado à API Python/C. Ele visa formalizar as " -"otimizações existentes que já foram feitas para várias classes. Qualquer :" -"ref:`tipo estático ` que implemente um chamável pode usar esse " -"protocolo." +"otimizações existentes que já foram feitas para várias classes. " +"Qualquer :ref:`tipo estático ` que implemente um chamável pode " +"usar esse protocolo." #: ../../whatsnew/3.8.rst:360 msgid "" @@ -616,11 +613,11 @@ msgstr "Consulte a :pep:`590` para uma descrição completa." #: ../../whatsnew/3.8.rst:365 msgid "" -"(Contributed by Jeroen Demeyer, Mark Shannon and Petr Viktorin in :issue:" -"`36974`.)" +"(Contributed by Jeroen Demeyer, Mark Shannon and Petr Viktorin " +"in :issue:`36974`.)" msgstr "" -"(Contribuição de Jeroen Demeyer, Mark Shannon e Petr Viktorin em :issue:" -"`36974`.)" +"(Contribuição de Jeroen Demeyer, Mark Shannon e Petr Viktorin " +"em :issue:`36974`.)" #: ../../whatsnew/3.8.rst:369 msgid "Pickle protocol 5 with out-of-band data buffers" @@ -675,39 +672,40 @@ msgstr "" #: ../../whatsnew/3.8.rst:393 msgid "" "The :class:`bool`, :class:`int`, and :class:`fractions.Fraction` types now " -"have an :meth:`~int.as_integer_ratio` method like that found in :class:" -"`float` and :class:`decimal.Decimal`. This minor API extension makes it " -"possible to write ``numerator, denominator = x.as_integer_ratio()`` and have " -"it work across multiple numeric types. (Contributed by Lisa Roach in :issue:" -"`33073` and Raymond Hettinger in :issue:`37819`.)" +"have an :meth:`~int.as_integer_ratio` method like that found " +"in :class:`float` and :class:`decimal.Decimal`. This minor API extension " +"makes it possible to write ``numerator, denominator = x.as_integer_ratio()`` " +"and have it work across multiple numeric types. (Contributed by Lisa Roach " +"in :issue:`33073` and Raymond Hettinger in :issue:`37819`.)" msgstr "" "Os tipos :class:`bool`, :class:`int` e :class:`fractions.Fraction` agora têm " "o método :meth:`~int.as_integer_ratio` como o encontrado em :class:`float` " "e :class:`decimal.Decimal`. Esta pequena extensão da API torna possível " "escrever ``numerator, denominator = x.as_integer_ratio()`` e fazer com que " -"funcione em vários tipos numéricos. (Contribuição de Lisa Roach em :issue:" -"`33073` e Raymond Hettinger em :issue:`37819`.)" +"funcione em vários tipos numéricos. (Contribuição de Lisa Roach " +"em :issue:`33073` e Raymond Hettinger em :issue:`37819`.)" #: ../../whatsnew/3.8.rst:401 msgid "" "Constructors of :class:`int`, :class:`float` and :class:`complex` will now " "use the :meth:`~object.__index__` special method, if available and the " -"corresponding method :meth:`~object.__int__`, :meth:`~object.__float__` or :" -"meth:`~object.__complex__` is not available. (Contributed by Serhiy " +"corresponding method :meth:`~object.__int__`, :meth:`~object.__float__` " +"or :meth:`~object.__complex__` is not available. (Contributed by Serhiy " "Storchaka in :issue:`20092`.)" msgstr "" "Os construtores de :class:`int`, :class:`float` e :class:`complex` agora " "usarão o método especial :meth:`~object.__index__`, se disponível, e o " -"método correspondente :meth:`~object.__int__`, :meth:`~object.__float__` ou :" -"meth:`~object.__complex__` não está disponível. (Contribuição de Serhiy " +"método correspondente :meth:`~object.__int__`, :meth:`~object.__float__` " +"ou :meth:`~object.__complex__` não está disponível. (Contribuição de Serhiy " "Storchaka em :issue:`20092`.)" #: ../../whatsnew/3.8.rst:407 msgid "" -"Added support of ``\\N{name}`` escapes in :mod:`regular expressions `::" +"Added support of :samp:`\\\\N\\\\{{name}\\\\}` escapes in :mod:`regular " +"expressions `::" msgstr "" -"Adicionado suporte a escapes ``\\N{name}`` em :mod:`expressões regulares " -"`::" +"Adicionado suporte a escapes :samp:`\\\\N\\\\{{name}\\\\}` " +"em :mod:`expressões regulares `::" #: ../../whatsnew/3.8.rst:414 msgid "" @@ -717,19 +715,19 @@ msgstr "" #: ../../whatsnew/3.8.rst:416 msgid "" -"Dict and dictviews are now iterable in reversed insertion order using :func:" -"`reversed`. (Contributed by Rémi Lapeyre in :issue:`33462`.)" +"Dict and dictviews are now iterable in reversed insertion order " +"using :func:`reversed`. (Contributed by Rémi Lapeyre in :issue:`33462`.)" msgstr "" -"Dict e dictviews agora são iteráveis em ordem de inserção reversa usando :" -"func:`reversed`. (Contribuição de Rémi Lapeyre em :issue:`33462`.)" +"Dict e dictviews agora são iteráveis em ordem de inserção reversa " +"usando :func:`reversed`. (Contribuição de Rémi Lapeyre em :issue:`33462`.)" #: ../../whatsnew/3.8.rst:419 msgid "" "The syntax allowed for keyword names in function calls was further " "restricted. In particular, ``f((keyword)=arg)`` is no longer allowed. It was " "never intended to permit more than a bare name on the left-hand side of a " -"keyword argument assignment term. (Contributed by Benjamin Peterson in :" -"issue:`34641`.)" +"keyword argument assignment term. (Contributed by Benjamin Peterson " +"in :issue:`34641`.)" msgstr "" "A sintaxe permitida para nomes de palavras-chave em chamadas de função foi " "ainda mais restrita. Em particular, ``f((keyword)=arg)`` não é mais " @@ -743,9 +741,9 @@ msgid "" "statements no longer requires enclosing parentheses. This brings the *yield* " "and *return* syntax into better agreement with normal assignment syntax::" msgstr "" -"A descompactação iterável generalizada das instruções :keyword:`yield` e :" -"keyword:`return` não requer mais parênteses. Isso traz a sintaxe *yield* e " -"*return* uma melhor concordância com a sintaxe de atribuição normal::" +"O desempacotamento de iterável generalizado das instruções :keyword:`yield` " +"e :keyword:`return` não requer mais parênteses. Isso traz a sintaxe *yield* " +"e *return* uma melhor concordância com a sintaxe de atribuição normal::" #: ../../whatsnew/3.8.rst:437 msgid "(Contributed by David Cuthbert and Jordan Chapman in :issue:`32117`.)" @@ -765,19 +763,21 @@ msgstr "" #: ../../whatsnew/3.8.rst:445 msgid "" -"Arithmetic operations between subclasses of :class:`datetime.date` or :class:" -"`datetime.datetime` and :class:`datetime.timedelta` objects now return an " -"instance of the subclass, rather than the base class. This also affects the " -"return type of operations whose implementation (directly or indirectly) " -"uses :class:`datetime.timedelta` arithmetic, such as :meth:`~datetime." -"datetime.astimezone`. (Contributed by Paul Ganssle in :issue:`32417`.)" -msgstr "" -"As operações aritméticas entre as subclasses de :class:`datetime.date` ou :" -"class:`datetime.datetime` e :class:`datetime.timedelta` agora retornam uma " -"instância da subclasse, em vez da classe base. Isso também afeta o tipo de " -"retorno de operações cuja implementação (direta ou indiretamente) utiliza " -"aritmética de :class:`datetime.timedelta`, como :meth:`~datetime.datetime." -"astimezone`. (Contribuição de Paul Ganssle em :issue:`32417`.)" +"Arithmetic operations between subclasses of :class:`datetime.date` " +"or :class:`datetime.datetime` and :class:`datetime.timedelta` objects now " +"return an instance of the subclass, rather than the base class. This also " +"affects the return type of operations whose implementation (directly or " +"indirectly) uses :class:`datetime.timedelta` arithmetic, such " +"as :meth:`~datetime.datetime.astimezone`. (Contributed by Paul Ganssle " +"in :issue:`32417`.)" +msgstr "" +"As operações aritméticas entre as subclasses de :class:`datetime.date` " +"ou :class:`datetime.datetime` e :class:`datetime.timedelta` agora retornam " +"uma instância da subclasse, em vez da classe base. Isso também afeta o tipo " +"de retorno de operações cuja implementação (direta ou indiretamente) utiliza " +"aritmética de :class:`datetime.timedelta`, " +"como :meth:`~datetime.datetime.astimezone`. (Contribuição de Paul Ganssle " +"em :issue:`32417`.)" #: ../../whatsnew/3.8.rst:453 msgid "" @@ -793,23 +793,23 @@ msgstr "" "sai por meio de um sinal SIGINT ou com o código de saída correto, para que o " "processo de chamada possa detectar que foi encerrado devido a um Ctrl-C. Os " "shells no POSIX e Windows usam isso para finalizar corretamente os scripts " -"em sessões interativas. (Contribuição do Google via Gregory P. Smith em :" -"issue:`1054041`.)" +"em sessões interativas. (Contribuição do Google via Gregory P. Smith " +"em :issue:`1054041`.)" #: ../../whatsnew/3.8.rst:460 msgid "" -"Some advanced styles of programming require updating the :class:`types." -"CodeType` object for an existing function. Since code objects are " -"immutable, a new code object needs to be created, one that is modeled on the " -"existing code object. With 19 parameters, this was somewhat tedious. Now, " -"the new ``replace()`` method makes it possible to create a clone with a few " -"altered parameters." -msgstr "" -"Alguns estilos avançados de programação requerem a atualização do objeto :" -"class:`types.CodeType` para uma função existente. Como os objetos código são " -"imutáveis, um novo objeto código precisa ser criado, modelado no objeto " -"código existente. Com 19 parâmetros, isso foi um pouco tedioso. Agora, o " -"novo método ``replace()`` torna possível criar um clone com alguns " +"Some advanced styles of programming require updating " +"the :class:`types.CodeType` object for an existing function. Since code " +"objects are immutable, a new code object needs to be created, one that is " +"modeled on the existing code object. With 19 parameters, this was somewhat " +"tedious. Now, the new ``replace()`` method makes it possible to create a " +"clone with a few altered parameters." +msgstr "" +"Alguns estilos avançados de programação requerem a atualização do " +"objeto :class:`types.CodeType` para uma função existente. Como os objetos " +"código são imutáveis, um novo objeto código precisa ser criado, modelado no " +"objeto código existente. Com 19 parâmetros, isso foi um pouco tedioso. " +"Agora, o novo método ``replace()`` torna possível criar um clone com alguns " "parâmetros alterados." #: ../../whatsnew/3.8.rst:467 @@ -817,7 +817,7 @@ msgid "" "Here's an example that alters the :func:`statistics.mean` function to " "prevent the *data* parameter from being used as a keyword argument::" msgstr "" -"Aqui está um exemplo que altera a função :func:`Statistics.mean` para " +"Aqui está um exemplo que altera a função :func:`statistics.mean` para " "impedir que o parâmetro *data* seja usado como argumento nomeado::" #: ../../whatsnew/3.8.rst:479 @@ -886,9 +886,9 @@ msgid "" "elements long. Formerly, five was the limit. The new, optional sixth " "element is a callable with a ``(obj, state)`` signature. This allows the " "direct control over the state-updating behavior of a specific object. If " -"not *None*, this callable will have priority over the object's :meth:" -"`~__setstate__` method. (Contributed by Pierre Glaser and Olivier Grisel in :" -"issue:`35900`.)" +"not *None*, this callable will have priority over the " +"object's :meth:`~__setstate__` method. (Contributed by Pierre Glaser and " +"Olivier Grisel in :issue:`35900`.)" msgstr "" "O método :meth:`object.__reduce__` agora pode retornar uma tupla de dois a " "seis elementos. Anteriormente, cinco era o limite. O novo sexto elemento " @@ -953,8 +953,8 @@ msgstr "A função :func:`ast.parse` possui alguns novos sinalizadores:" #: ../../whatsnew/3.8.rst:584 msgid "" -"``type_comments=True`` causes it to return the text of :pep:`484` and :pep:" -"`526` type comments associated with certain AST nodes;" +"``type_comments=True`` causes it to return the text of :pep:`484` " +"and :pep:`526` type comments associated with certain AST nodes;" msgstr "" "``type_comments=True`` faz com que retorne o texto dos comentários de tipos " "de :pep:`484` e :pep:`526` associados a determinados nós AST;" @@ -970,12 +970,12 @@ msgstr "" #: ../../whatsnew/3.8.rst:590 msgid "" "``feature_version=(3, N)`` allows specifying an earlier Python 3 version. " -"For example, ``feature_version=(3, 4)`` will treat :keyword:`async` and :" -"keyword:`await` as non-reserved words." +"For example, ``feature_version=(3, 4)`` will treat :keyword:`async` " +"and :keyword:`await` as non-reserved words." msgstr "" "``feature_version=(3, N)`` permite especificar uma versão anterior do Python " -"3. Por exemplo, ``feature_version=(3, 4)`` tratará :keyword:`async` e :" -"keyword:`await` como palavras não reservadas." +"3. Por exemplo, ``feature_version=(3, 4)`` tratará :keyword:`async` " +"e :keyword:`await` como palavras não reservadas." #: ../../whatsnew/3.8.rst:594 msgid "(Contributed by Guido van Rossum in :issue:`35766`.)" @@ -1001,11 +1001,13 @@ msgstr "Isso é *aproximadamente* equivalente a::" #: ../../whatsnew/3.8.rst:629 msgid "" -"The actual implementation is significantly more complex. Thus, :func:" -"`asyncio.run` should be the preferred way of running asyncio programs." +"The actual implementation is significantly more complex. " +"Thus, :func:`asyncio.run` should be the preferred way of running asyncio " +"programs." msgstr "" -"A implementação real é significativamente mais complexa. Assim, :func:" -"`asyncio.run` deve ser a maneira preferida de executar programas assíncronos." +"A implementação real é significativamente mais complexa. " +"Assim, :func:`asyncio.run` deve ser a maneira preferida de executar " +"programas assíncronos." #: ../../whatsnew/3.8.rst:632 msgid "(Contributed by Yury Selivanov in :issue:`32314`.)" @@ -1019,9 +1021,9 @@ msgid "" "spawn a new event loop on every invocation:" msgstr "" "A execução de ``python -m asyncio`` lança um REPL nativo assíncrono. Isso " -"permite a experimentação rápida de código que possui um nível superior :" -"keyword:`await`. Não é mais necessário chamar diretamente ``asyncio.run()``, " -"o que geraria um novo loop de evento a cada chamada:" +"permite a experimentação rápida de código que possui um nível " +"superior :keyword:`await`. Não é mais necessário chamar diretamente " +"``asyncio.run()``, o que geraria um novo loop de evento a cada chamada:" #: ../../whatsnew/3.8.rst:649 msgid "(Contributed by Yury Selivanov in :issue:`37028`.)" @@ -1029,23 +1031,25 @@ msgstr "(Contribuição de Yury Selivanov em :issue:`37028`.)" #: ../../whatsnew/3.8.rst:651 ../../whatsnew/3.8.rst:1967 msgid "" -"The exception :class:`asyncio.CancelledError` now inherits from :class:" -"`BaseException` rather than :class:`Exception` and no longer inherits from :" -"class:`concurrent.futures.CancelledError`. (Contributed by Yury Selivanov " -"in :issue:`32528`.)" +"The exception :class:`asyncio.CancelledError` now inherits " +"from :class:`BaseException` rather than :class:`Exception` and no longer " +"inherits from :class:`concurrent.futures.CancelledError`. (Contributed by " +"Yury Selivanov in :issue:`32528`.)" msgstr "" -"A exceção :class:`asyncio.CancelledError` agora herda de :class:" -"`BaseException` em vez de :class:`Exception` e não mais herda de :class:" -"`concurrent.futures.CancelledError`. (Contribuição de Yury Selivanov em :" -"issue:`32528`.)" +"A exceção :class:`asyncio.CancelledError` agora herda " +"de :class:`BaseException` em vez de :class:`Exception` e não mais herda " +"de :class:`concurrent.futures.CancelledError`. (Contribuição de Yury " +"Selivanov em :issue:`32528`.)" #: ../../whatsnew/3.8.rst:656 msgid "" -"On Windows, the default event loop is now :class:`~asyncio." -"ProactorEventLoop`. (Contributed by Victor Stinner in :issue:`34687`.)" +"On Windows, the default event loop is " +"now :class:`~asyncio.ProactorEventLoop`. (Contributed by Victor Stinner " +"in :issue:`34687`.)" msgstr "" -"No Windows, o loop de eventos padrão é agora :class:`~asyncio." -"ProactorEventLoop`. (Contribuição de Victor Stinner em :issue:`34687`.)" +"No Windows, o loop de eventos padrão é " +"agora :class:`~asyncio.ProactorEventLoop`. (Contribuição de Victor Stinner " +"em :issue:`34687`.)" #: ../../whatsnew/3.8.rst:659 msgid "" @@ -1057,13 +1061,13 @@ msgstr "" #: ../../whatsnew/3.8.rst:662 msgid "" -":class:`~asyncio.ProactorEventLoop` can now be interrupted by :exc:" -"`KeyboardInterrupt` (\"CTRL+C\"). (Contributed by Vladimir Matveev in :issue:" -"`23057`.)" +":class:`~asyncio.ProactorEventLoop` can now be interrupted " +"by :exc:`KeyboardInterrupt` (\"CTRL+C\"). (Contributed by Vladimir Matveev " +"in :issue:`23057`.)" msgstr "" -":class:`~asyncio.ProactorEventLoop` pode agora ser interrompido por :exc:" -"`KeyboardInterrupt` (\"CTRL+C\"). (Contribuição de Vladimir Matveev em :" -"issue:`23057`.)" +":class:`~asyncio.ProactorEventLoop` pode agora ser interrompido " +"por :exc:`KeyboardInterrupt` (\"CTRL+C\"). (Contribuição de Vladimir Matveev " +"em :issue:`23057`.)" #: ../../whatsnew/3.8.rst:666 msgid "" @@ -1076,20 +1080,20 @@ msgstr "" #: ../../whatsnew/3.8.rst:670 msgid "" "Asyncio tasks can now be named, either by passing the ``name`` keyword " -"argument to :func:`asyncio.create_task` or the :meth:`~asyncio.loop." -"create_task` event loop method, or by calling the :meth:`~asyncio.Task." -"set_name` method on the task object. The task name is visible in the " -"``repr()`` output of :class:`asyncio.Task` and can also be retrieved using " -"the :meth:`~asyncio.Task.get_name` method. (Contributed by Alex Grönholm in :" -"issue:`34270`.)" +"argument to :func:`asyncio.create_task` or " +"the :meth:`~asyncio.loop.create_task` event loop method, or by calling " +"the :meth:`~asyncio.Task.set_name` method on the task object. The task name " +"is visible in the ``repr()`` output of :class:`asyncio.Task` and can also be " +"retrieved using the :meth:`~asyncio.Task.get_name` method. (Contributed by " +"Alex Grönholm in :issue:`34270`.)" msgstr "" "As tarefas de asyncio agora podem ser nomeadas, passando o argumento nomeado " -"``name`` para :func:`asyncio.create_task` ou o método de loop de evento :" -"meth:`~asyncio.loop.create_task` ou chamando o método :meth:`~asyncio.Task." -"set_name` no objeto de tarefa. O nome da tarefa é visível na saída de " -"``repr()`` de :class:`asyncio.Task` e também pode ser recuperado usando o " -"método :meth:`~asyncio.Task.get_name`. (Contribuição de Alex Grönholm em :" -"issue:`34270`.)" +"``name`` para :func:`asyncio.create_task` ou o método de loop de " +"evento :meth:`~asyncio.loop.create_task` ou chamando o " +"método :meth:`~asyncio.Task.set_name` no objeto de tarefa. O nome da tarefa " +"é visível na saída de ``repr()`` de :class:`asyncio.Task` e também pode ser " +"recuperado usando o método :meth:`~asyncio.Task.get_name`. (Contribuição de " +"Alex Grönholm em :issue:`34270`.)" #: ../../whatsnew/3.8.rst:678 msgid "" @@ -1114,19 +1118,20 @@ msgstr "builtins" #: ../../whatsnew/3.8.rst:690 msgid "" -"The :func:`compile` built-in has been improved to accept the ``ast." -"PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag. With this new flag passed, :func:" -"`compile` will allow top-level ``await``, ``async for`` and ``async with`` " -"constructs that are usually considered invalid syntax. Asynchronous code " -"object marked with the ``CO_COROUTINE`` flag may then be returned. " -"(Contributed by Matthias Bussonnier in :issue:`34616`)" +"The :func:`compile` built-in has been improved to accept the " +"``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT`` flag. With this new flag " +"passed, :func:`compile` will allow top-level ``await``, ``async for`` and " +"``async with`` constructs that are usually considered invalid syntax. " +"Asynchronous code object marked with the ``CO_COROUTINE`` flag may then be " +"returned. (Contributed by Matthias Bussonnier in :issue:`34616`)" msgstr "" "A função embutida :func:`compile` foi aprimorada para aceitar o sinalizador " -"``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT``. Com esse novo sinalizador passado, :func:" -"`compile` permitirá construções de nível superior ``await``, ``async for`` e " -"``async with`` que geralmente são consideradas sintaxe inválida. O objeto de " -"código assíncrono marcado com o sinalizador ``CO_COROUTINE`` pode ser " -"retornado. (Contribuição de Matthias Bussonnier em :issue:`34616`)" +"``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT``. Com esse novo sinalizador " +"passado, :func:`compile` permitirá construções de nível superior ``await``, " +"``async for`` e ``async with`` que geralmente são consideradas sintaxe " +"inválida. O objeto de código assíncrono marcado com o sinalizador " +"``CO_COROUTINE`` pode ser retornado. (Contribuição de Matthias Bussonnier " +"em :issue:`34616`)" #: ../../whatsnew/3.8.rst:699 msgid "collections" @@ -1134,21 +1139,21 @@ msgstr "collections" #: ../../whatsnew/3.8.rst:701 msgid "" -"The :meth:`~collections.somenamedtuple._asdict` method for :func:" -"`collections.namedtuple` now returns a :class:`dict` instead of a :class:" -"`collections.OrderedDict`. This works because regular dicts have guaranteed " -"ordering since Python 3.7. If the extra features of :class:`OrderedDict` are " -"required, the suggested remediation is to cast the result to the desired " -"type: ``OrderedDict(nt._asdict())``. (Contributed by Raymond Hettinger in :" -"issue:`35864`.)" -msgstr "" -"O método :meth:`~collections.somenamedtuple._asdict` para :func:`collections." -"namedtuple` agora retorna a :class:`dict` em vez de um :class:`collections." -"OrderedDict`. Isso funciona porque os dict regulares garantem pedidos desde " -"o Python 3.7. Se os recursos extras de :class:`OrderedDict` forem " -"necessários, a solução sugerida é converter o resultado no tipo desejado: " -"``OrderedDict(nt._asdict())``. (Contribuição de Raymond Hettinger em :issue:" -"`35864`.)" +"The :meth:`~collections.somenamedtuple._asdict` method " +"for :func:`collections.namedtuple` now returns a :class:`dict` instead of " +"a :class:`collections.OrderedDict`. This works because regular dicts have " +"guaranteed ordering since Python 3.7. If the extra features " +"of :class:`OrderedDict` are required, the suggested remediation is to cast " +"the result to the desired type: ``OrderedDict(nt._asdict())``. (Contributed " +"by Raymond Hettinger in :issue:`35864`.)" +msgstr "" +"O método :meth:`~collections.somenamedtuple._asdict` " +"para :func:`collections.namedtuple` agora retorna a :class:`dict` em vez de " +"um :class:`collections.OrderedDict`. Isso funciona porque os dict regulares " +"garantem pedidos desde o Python 3.7. Se os recursos extras " +"de :class:`OrderedDict` forem necessários, a solução sugerida é converter o " +"resultado no tipo desejado: ``OrderedDict(nt._asdict())``. (Contribuição de " +"Raymond Hettinger em :issue:`35864`.)" #: ../../whatsnew/3.8.rst:711 msgid "cProfile" @@ -1206,16 +1211,18 @@ msgid "" "parameter to specify flags for the underlying ``LoadLibraryEx`` call. The " "default flags are set to only load DLL dependencies from trusted locations, " "including the path where the DLL is stored (if a full or partial path is " -"used to load the initial DLL) and paths added by :func:`~os." -"add_dll_directory`. (Contributed by Steve Dower in :issue:`36085`.)" +"used to load the initial DLL) and paths added " +"by :func:`~os.add_dll_directory`. (Contributed by Steve Dower " +"in :issue:`36085`.)" msgstr "" "No Windows, :class:`~ctypes.CDLL` e subclasses agora aceitam um parâmetro " "*winmode* para especificar sinalizadores para a chamada subjacente " "``LoadLibraryEx``. Os sinalizadores padrão são definidos para carregar " "apenas dependências da DLL em locais confiáveis, incluindo o caminho em que " "a DLL está armazenada (se um caminho completo ou parcial for usado para " -"carregar a DLL inicial) e os caminhos adicionados por :func:`~os." -"add_dll_directory` . (Contribuição de Steve Dower em :issue:`36085`.)" +"carregar a DLL inicial) e os caminhos adicionados " +"por :func:`~os.add_dll_directory` . (Contribuição de Steve Dower " +"em :issue:`36085`.)" #: ../../whatsnew/3.8.rst:754 msgid "datetime" @@ -1223,18 +1230,20 @@ msgstr "datetime" #: ../../whatsnew/3.8.rst:756 msgid "" -"Added new alternate constructors :meth:`datetime.date.fromisocalendar` and :" -"meth:`datetime.datetime.fromisocalendar`, which construct :class:`date` and :" -"class:`datetime` objects respectively from ISO year, week number, and " -"weekday; these are the inverse of each class's ``isocalendar`` method. " -"(Contributed by Paul Ganssle in :issue:`36004`.)" -msgstr "" -"Adicionados novos construtores alternativos :meth:`datetime.date." -"fromisocalendar` e :meth:`datetime.datetime.fromisocalendar`, que constroem " -"objetos de :class:`date` e :class:`datetime` respectivamente do ano ISO, " -"número da semana e dia da semana; estes são o inverso do método " -"``isocalendar`` de cada classe. (Contribuição de Paul Ganssle em :issue:" -"`36004`.)" +"Added new alternate constructors :meth:`datetime.date.fromisocalendar` " +"and :meth:`datetime.datetime.fromisocalendar`, which " +"construct :class:`~datetime.date` and :class:`~datetime.datetime` objects " +"respectively from ISO year, week number, and weekday; these are the inverse " +"of each class's ``isocalendar`` method. (Contributed by Paul Ganssle " +"in :issue:`36004`.)" +msgstr "" +"Adicionados novos construtores " +"alternativos :meth:`datetime.date.fromisocalendar` " +"e :meth:`datetime.datetime.fromisocalendar`, que constroem objetos " +"de :class:`~datetime.date` e :class:`~datetime.datetime` respectivamente do " +"ano ISO, número da semana e dia da semana; estes são o inverso do método " +"``isocalendar`` de cada classe. (Contribuição de Paul Ganssle " +"em :issue:`36004`.)" #: ../../whatsnew/3.8.rst:764 msgid "functools" @@ -1270,12 +1279,12 @@ msgstr "(Contribuição de Carl Meyer em :issue:`21145`)" #: ../../whatsnew/3.8.rst:796 msgid "" "Added a new :func:`functools.singledispatchmethod` decorator that converts " -"methods into :term:`generic functions ` using :term:" -"`single dispatch`::" +"methods into :term:`generic functions ` " +"using :term:`single dispatch`::" msgstr "" "Adicionado um novo decorador :func:`functools.singledispatchmethod` que " -"converte métodos em :term:`funções genéricas ` usando :" -"term:`despacho único `::" +"converte métodos em :term:`funções genéricas ` " +"usando :term:`despacho único `::" #: ../../whatsnew/3.8.rst:818 msgid "(Contributed by Ethan Smith in :issue:`32380`)" @@ -1325,10 +1334,10 @@ msgid "" "for certain types of invalid or corrupt gzip files. (Contributed by Filip " "Gruszczyński, Michele Orrù, and Zackery Spytz in :issue:`6584`.)" msgstr "" -"A exceção :exc:`~gzip.BadGzipFile` agora é levantada em vez de :exc:" -"`OSError` para certos tipos de arquivos gzip inválidos ou corrompidos. " -"(Contribuição de Filip Gruszczyński, Michele Orrù e Zackery Spytz em :issue:" -"`6584`.)" +"A exceção :exc:`~gzip.BadGzipFile` agora é levantada em vez " +"de :exc:`OSError` para certos tipos de arquivos gzip inválidos ou " +"corrompidos. (Contribuição de Filip Gruszczyński, Michele Orrù e Zackery " +"Spytz em :issue:`6584`.)" #: ../../whatsnew/3.8.rst:848 msgid "IDLE and idlelib" @@ -1371,8 +1380,8 @@ msgid "" "Added optional line numbers for IDLE editor windows. Windows open without " "line numbers unless set otherwise in the General tab of the configuration " "dialog. Line numbers for an existing window are shown and hidden in the " -"Options menu. (Contributed by Tal Einat and Saimadhav Heblikar in :issue:" -"`17535`.)" +"Options menu. (Contributed by Tal Einat and Saimadhav Heblikar " +"in :issue:`17535`.)" msgstr "" "Adicionados números de linha opcionais para janelas do editor IDLE. O " "Windows é aberto sem números de linha, a menos que definido de outra forma " @@ -1403,8 +1412,8 @@ msgstr "Novo em 3.8.1:" #: ../../whatsnew/3.8.rst:878 msgid "" -"Add option to toggle cursor blink off. (Contributed by Zackery Spytz in :" -"issue:`4603`.)" +"Add option to toggle cursor blink off. (Contributed by Zackery Spytz " +"in :issue:`4603`.)" msgstr "" "Adiciona a opção para ativar e desativar o piscar do cursor. (Contribuição " "de Zackery Spytz na :issue:`4603`.)" @@ -1463,8 +1472,8 @@ msgstr "" "No modo de desenvolvimento (:option:`-X` ``env``) e na :ref:`compilação de " "depuração `, o finalizador :class:`io.IOBase` agora registra a " "exceção se o método ``close()`` falhar. A exceção é ignorada silenciosamente " -"por padrão na compilação de lançamento. (Contribuição de Victor Stinner em :" -"issue:`18748`.)" +"por padrão na compilação de lançamento. (Contribuição de Victor Stinner " +"em :issue:`18748`.)" #: ../../whatsnew/3.8.rst:917 msgid "itertools" @@ -1525,7 +1534,7 @@ msgstr "" #: ../../whatsnew/3.8.rst:950 msgid "" -"(Suggested by Raymond Hettinger, implemented by Dong-hee Na, and reviewed by " +"(Suggested by Raymond Hettinger, implemented by Donghee Na, and reviewed by " "Vinay Sajip in :issue:`33897`.)" msgstr "" "(Sugestão de Raymond Hettinger, implementação de Dong-hee Na e revisão de " @@ -1541,8 +1550,8 @@ msgid "" "between two points. (Contributed by Raymond Hettinger in :issue:`33089`.)" msgstr "" "Adicionada nova função :func:`math.dist` para calcular a distância " -"euclidiana entre dois pontos. (Contribuição de Raymond Hettinger em :issue:" -"`33089`.)" +"euclidiana entre dois pontos. (Contribuição de Raymond Hettinger " +"em :issue:`33089`.)" #: ../../whatsnew/3.8.rst:960 msgid "" @@ -1570,11 +1579,11 @@ msgstr "(Contribuição de Pablo Galindo em :issue:`35606`.)" #: ../../whatsnew/3.8.rst:975 msgid "" -"Added two new combinatoric functions :func:`math.perm` and :func:`math." -"comb`::" +"Added two new combinatoric functions :func:`math.perm` " +"and :func:`math.comb`::" msgstr "" -"Adicionadas duas novas funções combinatórias :func:`math.perm` e :func:`math." -"comb`::" +"Adicionadas duas novas funções combinatórias :func:`math.perm` " +"e :func:`math.comb`::" #: ../../whatsnew/3.8.rst:982 msgid "" @@ -1615,8 +1624,8 @@ msgstr "mmap" #: ../../whatsnew/3.8.rst:1006 msgid "" "The :class:`mmap.mmap` class now has an :meth:`~mmap.mmap.madvise` method to " -"access the ``madvise()`` system call. (Contributed by Zackery Spytz in :" -"issue:`32941`.)" +"access the ``madvise()`` system call. (Contributed by Zackery Spytz " +"in :issue:`32941`.)" msgstr "" "A classe :class:`mmap.mmap` agora possui o método :meth:`~mmap.mmap.madvise` " "para acessar a chamada do sistema ``madvise()``. (Contribuição de Zackery " @@ -1650,8 +1659,8 @@ msgstr "os" msgid "" "Added new function :func:`~os.add_dll_directory` on Windows for providing " "additional search paths for native dependencies when importing extension " -"modules or loading DLLs using :mod:`ctypes`. (Contributed by Steve Dower in :" -"issue:`36085`.)" +"modules or loading DLLs using :mod:`ctypes`. (Contributed by Steve Dower " +"in :issue:`36085`.)" msgstr "" "Adicionada nova função :func:`~os.add_dll_directory` no Windows para " "fornecer caminhos de pesquisa adicionais para dependências nativas ao " @@ -1674,11 +1683,11 @@ msgid "" "symlinks and directory junctions) has been delegated to the operating " "system. Specifically, :func:`os.stat` will now traverse anything supported " "by the operating system, while :func:`os.lstat` will only open reparse " -"points that identify as \"name surrogates\" while others are opened as for :" -"func:`os.stat`. In all cases, :attr:`stat_result.st_mode` will only have " -"``S_IFLNK`` set for symbolic links and not other kinds of reparse points. To " -"identify other kinds of reparse point, check the new :attr:`stat_result." -"st_reparse_tag` attribute." +"points that identify as \"name surrogates\" while others are opened as " +"for :func:`os.stat`. In all cases, :attr:`stat_result.st_mode` will only " +"have ``S_IFLNK`` set for symbolic links and not other kinds of reparse " +"points. To identify other kinds of reparse point, check the " +"new :attr:`stat_result.st_reparse_tag` attribute." msgstr "" "No Windows, grande parte da lógica manual para manipular pontos de nova " "análise (incluindo links simbólicos e junções de diretório) foi delegada ao " @@ -1696,14 +1705,14 @@ msgid "" "On Windows, :func:`os.readlink` is now able to read directory junctions. " "Note that :func:`~os.path.islink` will return ``False`` for directory " "junctions, and so code that checks ``islink`` first will continue to treat " -"junctions as directories, while code that handles errors from :func:`os." -"readlink` may now treat junctions as links." +"junctions as directories, while code that handles errors " +"from :func:`os.readlink` may now treat junctions as links." msgstr "" "No Windows, :func:`os.readlink` agora pode ler junções de diretório. Observe " "que :func:`~os.path.islink` retornará ``False`` para junções de diretório e, " "portanto, o código que verifica primeiro ``islink`` continuará tratando " -"junções como diretórios, enquanto o código que lida com erros de :func:`os." -"readlink` agora pode tratar junções como links." +"junções como diretórios, enquanto o código que lida com erros " +"de :func:`os.readlink` agora pode tratar junções como links." #: ../../whatsnew/3.8.rst:1048 ../../whatsnew/3.8.rst:1073 msgid "(Contributed by Steve Dower in :issue:`37834`.)" @@ -1715,33 +1724,33 @@ msgstr "os.path" #: ../../whatsnew/3.8.rst:1054 msgid "" -":mod:`os.path` functions that return a boolean result like :func:`~os.path." -"exists`, :func:`~os.path.lexists`, :func:`~os.path.isdir`, :func:`~os.path." -"isfile`, :func:`~os.path.islink`, and :func:`~os.path.ismount` now return " -"``False`` instead of raising :exc:`ValueError` or its subclasses :exc:" -"`UnicodeEncodeError` and :exc:`UnicodeDecodeError` for paths that contain " -"characters or bytes unrepresentable at the OS level. (Contributed by Serhiy " -"Storchaka in :issue:`33721`.)" -msgstr "" -"Funções de :mod:`os.path` que retornam um resultado booleano como :func:`~os." -"path.exists`, :func:`~os.path.lexists`, :func:`~os.path.isdir`, :func:`~os." -"path.isfile`, :func:`~os.path.islink` e :func:`~os.path.ismount` agora " -"retornam ``False`` em vez de levantar :exc:`ValueError` ou suas subclasses :" -"exc:`UnicodeEncodeError` e :exc:`UnicodeDecodeError` para caminhos que " -"contêm caracteres ou bytes não representáveis no nível do SO. (Contribuição " -"de Serhiy Storchaka em :issue:`33721`.)" +":mod:`os.path` functions that return a boolean result " +"like :func:`~os.path.exists`, :func:`~os.path.lexists`, :func:`~os.path.isdir`, :func:`~os.path.isfile`, :func:`~os.path.islink`, " +"and :func:`~os.path.ismount` now return ``False`` instead of " +"raising :exc:`ValueError` or its subclasses :exc:`UnicodeEncodeError` " +"and :exc:`UnicodeDecodeError` for paths that contain characters or bytes " +"unrepresentable at the OS level. (Contributed by Serhiy Storchaka " +"in :issue:`33721`.)" +msgstr "" +"Funções de :mod:`os.path` que retornam um resultado booleano " +"como :func:`~os.path.exists`, :func:`~os.path.lexists`, :func:`~os.path.isdir`, :func:`~os.path.isfile`, :func:`~os.path.islink` " +"e :func:`~os.path.ismount` agora retornam ``False`` em vez de " +"levantar :exc:`ValueError` ou suas subclasses :exc:`UnicodeEncodeError` " +"e :exc:`UnicodeDecodeError` para caminhos que contêm caracteres ou bytes não " +"representáveis no nível do SO. (Contribuição de Serhiy Storchaka " +"em :issue:`33721`.)" #: ../../whatsnew/3.8.rst:1062 ../../whatsnew/3.8.rst:1962 msgid "" ":func:`~os.path.expanduser` on Windows now prefers the :envvar:`USERPROFILE` " "environment variable and does not use :envvar:`HOME`, which is not normally " -"set for regular user accounts. (Contributed by Anthony Sottile in :issue:" -"`36264`.)" +"set for regular user accounts. (Contributed by Anthony Sottile " +"in :issue:`36264`.)" msgstr "" -":func:`~os.path.expanduser` no Windows agora prefere a variável de ambiente :" -"envvar:`USERPROFILE` e não usa :envvar:`HOME`, que normalmente não é " -"definido para contas de usuário comuns. (Contribuição de Anthony Sottile em :" -"issue:`36264`.)" +":func:`~os.path.expanduser` no Windows agora prefere a variável de " +"ambiente :envvar:`USERPROFILE` e não usa :envvar:`HOME`, que normalmente não " +"é definido para contas de usuário comuns. (Contribuição de Anthony Sottile " +"em :issue:`36264`.)" #: ../../whatsnew/3.8.rst:1067 msgid "" @@ -1765,25 +1774,19 @@ msgstr "pathlib" #: ../../whatsnew/3.8.rst:1079 msgid "" -":mod:`pathlib.Path` methods that return a boolean result like :meth:" -"`~pathlib.Path.exists()`, :meth:`~pathlib.Path.is_dir()`, :meth:`~pathlib." -"Path.is_file()`, :meth:`~pathlib.Path.is_mount()`, :meth:`~pathlib.Path." -"is_symlink()`, :meth:`~pathlib.Path.is_block_device()`, :meth:`~pathlib.Path." -"is_char_device()`, :meth:`~pathlib.Path.is_fifo()`, :meth:`~pathlib.Path." -"is_socket()` now return ``False`` instead of raising :exc:`ValueError` or " -"its subclass :exc:`UnicodeEncodeError` for paths that contain characters " -"unrepresentable at the OS level. (Contributed by Serhiy Storchaka in :issue:" -"`33721`.)" -msgstr "" -":mod:`pathlib.Path` métodos que retornam um resultado booleano como :meth:" -"`~pathlib.Path.exists()`, :meth:`~pathlib.Path.is_dir()`, :meth:`~pathlib." -"Path.is_file()`, :meth:`~pathlib.Path.is_mount()`, :meth:`~pathlib.Path." -"is_symlink()`, :meth:`~pathlib.Path.is_block_device()`, :meth:`~pathlib.Path." -"is_char_device()`, :meth:`~pathlib.Path.is_fifo()`, :meth:`~pathlib.Path." -"is_socket()` agora retorna ``False`` ao invés de levantar :exc:`ValueError` " -"ou sua subclasse :exc:`UnicodeEncodeError` para caminhos que contêm " -"caracteres não representáveis no nível do SO. (Contribuição de Serhiy " -"Storchaka em :issue:`33721`.)" +":mod:`pathlib.Path` methods that return a boolean result " +"like :meth:`~pathlib.Path.exists()`, :meth:`~pathlib.Path.is_dir()`, :meth:`~pathlib.Path.is_file()`, :meth:`~pathlib.Path.is_mount()`, :meth:`~pathlib.Path.is_symlink()`, :meth:`~pathlib.Path.is_block_device()`, :meth:`~pathlib.Path.is_char_device()`, :meth:`~pathlib.Path.is_fifo()`, :meth:`~pathlib.Path.is_socket()` " +"now return ``False`` instead of raising :exc:`ValueError` or its " +"subclass :exc:`UnicodeEncodeError` for paths that contain characters " +"unrepresentable at the OS level. (Contributed by Serhiy Storchaka " +"in :issue:`33721`.)" +msgstr "" +":mod:`pathlib.Path` métodos que retornam um resultado booleano " +"como :meth:`~pathlib.Path.exists()`, :meth:`~pathlib.Path.is_dir()`, :meth:`~pathlib.Path.is_file()`, :meth:`~pathlib.Path.is_mount()`, :meth:`~pathlib.Path.is_symlink()`, :meth:`~pathlib.Path.is_block_device()`, :meth:`~pathlib.Path.is_char_device()`, :meth:`~pathlib.Path.is_fifo()`, :meth:`~pathlib.Path.is_socket()` " +"agora retorna ``False`` ao invés de levantar :exc:`ValueError` ou sua " +"subclasse :exc:`UnicodeEncodeError` para caminhos que contêm caracteres não " +"representáveis no nível do SO. (Contribuição de Serhiy Storchaka " +"em :issue:`33721`.)" #: ../../whatsnew/3.8.rst:1089 msgid "" @@ -1799,16 +1802,17 @@ msgstr "pickle" #: ../../whatsnew/3.8.rst:1097 msgid "" -":mod:`pickle` extensions subclassing the C-optimized :class:`~pickle." -"Pickler` can now override the pickling logic of functions and classes by " -"defining the special :meth:`~pickle.Pickler.reducer_override` method. " -"(Contributed by Pierre Glaser and Olivier Grisel in :issue:`35900`.)" +":mod:`pickle` extensions subclassing the C-" +"optimized :class:`~pickle.Pickler` can now override the pickling logic of " +"functions and classes by defining the " +"special :meth:`~pickle.Pickler.reducer_override` method. (Contributed by " +"Pierre Glaser and Olivier Grisel in :issue:`35900`.)" msgstr "" "Extensões de :mod:`pickle`, que atuem como subclasse da classe otimizada " "para C :class:`~pickle.Pickler`, agora podem substituir a lógica de " -"\"pickling\" de funções e classes definindo o método especial :meth:`~pickle." -"Pickler.reducer_override`. (Contribuição de Pierre Glaser e Olivier Grisel " -"em :issue:`35900`.)" +"\"pickling\" de funções e classes definindo o método " +"especial :meth:`~pickle.Pickler.reducer_override`. (Contribuição de Pierre " +"Glaser e Olivier Grisel em :issue:`35900`.)" #: ../../whatsnew/3.8.rst:1104 msgid "plistlib" @@ -1817,8 +1821,8 @@ msgstr "plistlib" #: ../../whatsnew/3.8.rst:1106 msgid "" "Added new :class:`plistlib.UID` and enabled support for reading and writing " -"NSKeyedArchiver-encoded binary plists. (Contributed by Jon Janzen in :issue:" -"`26707`.)" +"NSKeyedArchiver-encoded binary plists. (Contributed by Jon Janzen " +"in :issue:`26707`.)" msgstr "" "Adicionado novo :class:`plistlib.UID` e habilitado suporte para leitura e " "escrita de plists binárias codificadas em NSKeyedArchiver. (Contribuição de " @@ -1873,8 +1877,8 @@ msgstr "shlex" #: ../../whatsnew/3.8.rst:1147 msgid "" -"The new :func:`shlex.join` function acts as the inverse of :func:`shlex." -"split`. (Contributed by Bo Bayles in :issue:`32102`.)" +"The new :func:`shlex.join` function acts as the inverse " +"of :func:`shlex.split`. (Contributed by Bo Bayles in :issue:`32102`.)" msgstr "" "A nova função :func:`shlex.join` atua como o inverso da :func:`shlex.split`. " "(Contribuição de Bo Bayles em :issue:`32102`.)" @@ -1898,20 +1902,20 @@ msgid "" "inherited from the corresponding change to the :mod:`tarfile` module. " "(Contributed by C.A.M. Gerlach in :issue:`30661`.)" msgstr "" -":func:`shutil.make_archive` agora tem como pádrão o formato pax moderno " +":func:`shutil.make_archive` agora tem como padrão o formato pax moderno " "(POSIX.1-2001) de novos arquivos para melhorar a portabilidade e a " -"conformidade com os padrões, herdados da alteração correspondente no módulo :" -"mod:`tarfile`. (Contribuição de C.A.M. Gerlach em :issue:`30661`.)" +"conformidade com os padrões, herdados da alteração correspondente no " +"módulo :mod:`tarfile`. (Contribuição de C.A.M. Gerlach em :issue:`30661`.)" #: ../../whatsnew/3.8.rst:1162 msgid "" ":func:`shutil.rmtree` on Windows now removes directory junctions without " -"recursively removing their contents first. (Contributed by Steve Dower in :" -"issue:`37834`.)" +"recursively removing their contents first. (Contributed by Steve Dower " +"in :issue:`37834`.)" msgstr "" ":func:`shutil.rmtree` no Windows agora remove junções de diretórios sem " -"remover recursivamente o conteúdo primeiro. (Contribuição de Steve Dower em :" -"issue:`37834`.)" +"remover recursivamente o conteúdo primeiro. (Contribuição de Steve Dower " +"em :issue:`37834`.)" #: ../../whatsnew/3.8.rst:1168 msgid "socket" @@ -1919,26 +1923,26 @@ msgstr "socket" #: ../../whatsnew/3.8.rst:1170 msgid "" -"Added :meth:`~socket.create_server()` and :meth:`~socket." -"has_dualstack_ipv6()` convenience functions to automate the necessary tasks " -"usually involved when creating a server socket, including accepting both " -"IPv4 and IPv6 connections on the same socket. (Contributed by Giampaolo " -"Rodolà in :issue:`17561`.)" +"Added :meth:`~socket.create_server()` " +"and :meth:`~socket.has_dualstack_ipv6()` convenience functions to automate " +"the necessary tasks usually involved when creating a server socket, " +"including accepting both IPv4 and IPv6 connections on the same socket. " +"(Contributed by Giampaolo Rodolà in :issue:`17561`.)" msgstr "" -"Adicionadas as funções de conveniência :meth:`~socket.create_server()` e :" -"meth:`~socket.has_dualstack_ipv6()` para automatizar as tarefas necessárias " -"geralmente envolvidas na criação de um soquete de servidor, incluindo a " -"aceitação de conexões IPv4 e IPv6 no mesmo soquete. (Contribuição de " -"Giampaolo Rodolà em :issue:`17561`.)" +"Adicionadas as funções de conveniência :meth:`~socket.create_server()` " +"e :meth:`~socket.has_dualstack_ipv6()` para automatizar as tarefas " +"necessárias geralmente envolvidas na criação de um soquete de servidor, " +"incluindo a aceitação de conexões IPv4 e IPv6 no mesmo soquete. " +"(Contribuição de Giampaolo Rodolà em :issue:`17561`.)" #: ../../whatsnew/3.8.rst:1175 msgid "" -"The :func:`socket.if_nameindex()`, :func:`socket.if_nametoindex()`, and :" -"func:`socket.if_indextoname()` functions have been implemented on Windows. " -"(Contributed by Zackery Spytz in :issue:`37007`.)" +"The :func:`socket.if_nameindex()`, :func:`socket.if_nametoindex()`, " +"and :func:`socket.if_indextoname()` functions have been implemented on " +"Windows. (Contributed by Zackery Spytz in :issue:`37007`.)" msgstr "" -"As funções :func:`socket.if_nameindex()`, :func:`socket.if_nametoindex()` e :" -"func:`socket.if_indextoname()` foram agora implementadas no Windows. " +"As funções :func:`socket.if_nameindex()`, :func:`socket.if_nametoindex()` " +"e :func:`socket.if_indextoname()` foram agora implementadas no Windows. " "(Contribuição de Zackery Spytz em :issue:`37007`.)" #: ../../whatsnew/3.8.rst:1181 @@ -1947,14 +1951,15 @@ msgstr "ssl" #: ../../whatsnew/3.8.rst:1183 msgid "" -"Added :attr:`~ssl.SSLContext.post_handshake_auth` to enable and :meth:`~ssl." -"SSLSocket.verify_client_post_handshake` to initiate TLS 1.3 post-handshake " -"authentication. (Contributed by Christian Heimes in :issue:`34670`.)" +"Added :attr:`~ssl.SSLContext.post_handshake_auth` to enable " +"and :meth:`~ssl.SSLSocket.verify_client_post_handshake` to initiate TLS 1.3 " +"post-handshake authentication. (Contributed by Christian Heimes " +"in :issue:`34670`.)" msgstr "" -"Adicionado :attr:`~ssl.SSLContext.post_handshake_auth` para ativar e :meth:" -"`~ssl.SSLSocket.verify_client_post_handshake` para iniciar a autenticação " -"pós-handshake do TLS 1.3. (Contribuição de Christian Heimes em :issue:" -"`34670`.)" +"Adicionado :attr:`~ssl.SSLContext.post_handshake_auth` para ativar " +"e :meth:`~ssl.SSLSocket.verify_client_post_handshake` para iniciar a " +"autenticação pós-handshake do TLS 1.3. (Contribuição de Christian Heimes " +"em :issue:`34670`.)" #: ../../whatsnew/3.8.rst:1190 msgid "statistics" @@ -1962,9 +1967,9 @@ msgstr "statistics" #: ../../whatsnew/3.8.rst:1192 msgid "" -"Added :func:`statistics.fmean` as a faster, floating point variant of :func:" -"`statistics.mean()`. (Contributed by Raymond Hettinger and Steven D'Aprano " -"in :issue:`35904`.)" +"Added :func:`statistics.fmean` as a faster, floating point variant " +"of :func:`statistics.mean()`. (Contributed by Raymond Hettinger and Steven " +"D'Aprano in :issue:`35904`.)" msgstr "" "Adicionada :func:`statistics.fmean` como uma variante de ponto flutuante " "mais rápida de :func:`statistics.mean()`. (Contribuição de Raymond Hettinger " @@ -1983,7 +1988,7 @@ msgid "" "Added :func:`statistics.multimode` that returns a list of the most common " "values. (Contributed by Raymond Hettinger in :issue:`35892`.)" msgstr "" -"Adicionada :func:`Statistics.multimode` que retorna uma lista dos valores " +"Adicionada :func:`statistics.multimode` que retorna uma lista dos valores " "mais comuns. (Contribuição de Raymond Hettinger em :issue:`35892`.)" #: ../../whatsnew/3.8.rst:1202 @@ -2025,7 +2030,7 @@ msgstr "" "exceção ou durante a coleta de lixo (:func:`gc.collect`). (Contribuição de " "Victor Stinner em :issue:`36829`.)" -#: ../../whatsnew/3.8.rst:1247 +#: ../../whatsnew/3.8.rst:1247 ../../whatsnew/3.8.rst:2348 msgid "tarfile" msgstr "tarfile" @@ -2049,10 +2054,10 @@ msgstr "threading" #: ../../whatsnew/3.8.rst:1259 msgid "" -"Add a new :func:`threading.excepthook` function which handles uncaught :meth:" -"`threading.Thread.run` exception. It can be overridden to control how " -"uncaught :meth:`threading.Thread.run` exceptions are handled. (Contributed " -"by Victor Stinner in :issue:`1230540`.)" +"Add a new :func:`threading.excepthook` function which handles " +"uncaught :meth:`threading.Thread.run` exception. It can be overridden to " +"control how uncaught :meth:`threading.Thread.run` exceptions are handled. " +"(Contributed by Victor Stinner in :issue:`1230540`.)" msgstr "" "Adiciona uma nova função :func:`threading.excepthook` que manipula a exceção " "não capturada :meth:`threading.Thread.run`. Pode ser substituída para " @@ -2061,19 +2066,21 @@ msgstr "" #: ../../whatsnew/3.8.rst:1264 msgid "" -"Add a new :func:`threading.get_native_id` function and a :data:`~threading." -"Thread.native_id` attribute to the :class:`threading.Thread` class. These " -"return the native integral Thread ID of the current thread assigned by the " -"kernel. This feature is only available on certain platforms, see :func:" -"`get_native_id ` for more information. (Contributed " -"by Jake Tesler in :issue:`36084`.)" -msgstr "" -"Adiciona uma nova função :func:`threading.get_native_id` e um atributo :data:" -"`~threading.Thread.native_id` à classe :class:`threading.Thread`. Eles " -"retornam o Thread ID integral nativo do thread atual atribuído pelo kernel. " -"Este recurso está disponível apenas em determinadas plataformas, consulte :" -"func:`get_native_id ` para mais informações. " -"(Contribuição de Jake Tesler em :issue:`36084`.)" +"Add a new :func:`threading.get_native_id` function and " +"a :data:`~threading.Thread.native_id` attribute to " +"the :class:`threading.Thread` class. These return the native integral Thread " +"ID of the current thread assigned by the kernel. This feature is only " +"available on certain platforms, see :func:`get_native_id " +"` for more information. (Contributed by Jake Tesler " +"in :issue:`36084`.)" +msgstr "" +"Adiciona uma nova função :func:`threading.get_native_id` e um " +"atributo :data:`~threading.Thread.native_id` à " +"classe :class:`threading.Thread`. Eles retornam o Thread ID integral nativo " +"do thread atual atribuído pelo kernel. Este recurso está disponível apenas " +"em determinadas plataformas, consulte :func:`get_native_id " +"` para mais informações. (Contribuição de Jake " +"Tesler em :issue:`36084`.)" #: ../../whatsnew/3.8.rst:1274 msgid "tokenize" @@ -2097,33 +2104,36 @@ msgstr "tkinter" #: ../../whatsnew/3.8.rst:1285 msgid "" -"Added methods :meth:`~tkinter.Spinbox.selection_from`, :meth:`~tkinter." -"Spinbox.selection_present`, :meth:`~tkinter.Spinbox.selection_range` and :" -"meth:`~tkinter.Spinbox.selection_to` in the :class:`tkinter.Spinbox` class. " -"(Contributed by Juliette Monsel in :issue:`34829`.)" +"Added " +"methods :meth:`~tkinter.Spinbox.selection_from`, :meth:`~tkinter.Spinbox.selection_present`, :meth:`~tkinter.Spinbox.selection_range` " +"and :meth:`~tkinter.Spinbox.selection_to` in the :class:`tkinter.Spinbox` " +"class. (Contributed by Juliette Monsel in :issue:`34829`.)" msgstr "" -"Adicionados os métodos :meth:`~tkinter.Spinbox.selection_from`, :meth:" -"`~tkinter.Spinbox.selection_present`, :meth:`~tkinter.Spinbox." -"selection_range` e :meth:`~tkinter.Spinbox.selection_to` à classe :class:" -"`tkinter.Spinbox`. (Contribuição de Juliette Monsel em :issue:`34829`.)" +"Adicionados os " +"métodos :meth:`~tkinter.Spinbox.selection_from`, :meth:`~tkinter.Spinbox.selection_present`, :meth:`~tkinter.Spinbox.selection_range` " +"e :meth:`~tkinter.Spinbox.selection_to` à classe :class:`tkinter.Spinbox`. " +"(Contribuição de Juliette Monsel em :issue:`34829`.)" #: ../../whatsnew/3.8.rst:1292 msgid "" "Added method :meth:`~tkinter.Canvas.moveto` in the :class:`tkinter.Canvas` " "class. (Contributed by Juliette Monsel in :issue:`23831`.)" msgstr "" -"Adicionado o método :meth:`~tkinter.Canvas.moveto` na classe :class:`tkinter." -"Canvas`. (Contribuição de Juliette Monsel em :issue:`23831`.)" +"Adicionado o método :meth:`~tkinter.Canvas.moveto` na " +"classe :class:`tkinter.Canvas`. (Contribuição de Juliette Monsel " +"em :issue:`23831`.)" #: ../../whatsnew/3.8.rst:1296 msgid "" -"The :class:`tkinter.PhotoImage` class now has :meth:`~tkinter.PhotoImage." -"transparency_get` and :meth:`~tkinter.PhotoImage.transparency_set` methods. " -"(Contributed by Zackery Spytz in :issue:`25451`.)" +"The :class:`tkinter.PhotoImage` class now " +"has :meth:`~tkinter.PhotoImage.transparency_get` " +"and :meth:`~tkinter.PhotoImage.transparency_set` methods. (Contributed by " +"Zackery Spytz in :issue:`25451`.)" msgstr "" -"A classe :class:`tkinter.PhotoImage` agore tem os métodos :meth:`~tkinter." -"PhotoImage.transparency_get` e :meth:`~tkinter.PhotoImage.transparency_set`. " -"(Contribuição de Zackery Spytz em :issue:`25451`.)" +"A classe :class:`tkinter.PhotoImage` agore tem os " +"métodos :meth:`~tkinter.PhotoImage.transparency_get` " +"e :meth:`~tkinter.PhotoImage.transparency_set`. (Contribuição de Zackery " +"Spytz em :issue:`25451`.)" #: ../../whatsnew/3.8.rst:1303 msgid "time" @@ -2131,10 +2141,10 @@ msgstr "time" #: ../../whatsnew/3.8.rst:1305 msgid "" -"Added new clock :data:`~time.CLOCK_UPTIME_RAW` for macOS 10.12. (Contributed " -"by Joannah Nanjekye in :issue:`35702`.)" +"Added new clock :const:`~time.CLOCK_UPTIME_RAW` for macOS 10.12. " +"(Contributed by Joannah Nanjekye in :issue:`35702`.)" msgstr "" -"Adiciona o novo relógio :data:`~time.CLOCK_UPTIME_RAW` ao macOS 10.12. " +"Adiciona o novo relógio :const:`~time.CLOCK_UPTIME_RAW` ao macOS 10.12. " "(Contribuição de Joannah Nanjekye em :issue:`35702`.)" #: ../../whatsnew/3.8.rst:1310 @@ -2147,15 +2157,15 @@ msgstr "O módulo :mod:`typing` incorpora vários novos recursos:" #: ../../whatsnew/3.8.rst:1314 msgid "" -"A dictionary type with per-key types. See :pep:`589` and :class:`typing." -"TypedDict`. TypedDict uses only string keys. By default, every key is " -"required to be present. Specify \"total=False\" to allow keys to be " -"optional::" +"A dictionary type with per-key types. See :pep:`589` " +"and :class:`typing.TypedDict`. TypedDict uses only string keys. By default, " +"every key is required to be present. Specify \"total=False\" to allow keys " +"to be optional::" msgstr "" -"Um tipo de dicionário com tipos por chave. Veja :pep:`589` e :class:`typing." -"TypedDict`. TypedDict usa apenas chaves de strings. Por padrão, é necessário " -"que todas as chaves estejam presentes. Especifique \"total=False\" para " -"permitir que as chaves sejam opcionais::" +"Um tipo de dicionário com tipos por chave. Veja :pep:`589` " +"e :class:`typing.TypedDict`. TypedDict usa apenas chaves de strings. Por " +"padrão, é necessário que todas as chaves estejam presentes. Especifique " +"\"total=False\" para permitir que as chaves sejam opcionais::" #: ../../whatsnew/3.8.rst:1324 msgid "" @@ -2169,24 +2179,25 @@ msgstr "" #: ../../whatsnew/3.8.rst:1331 msgid "" -"\"Final\" variables, functions, methods and classes. See :pep:`591`, :class:" -"`typing.Final` and :func:`typing.final`. The final qualifier instructs a " -"static type checker to restrict subclassing, overriding, or reassignment::" +"\"Final\" variables, functions, methods and classes. " +"See :pep:`591`, :class:`typing.Final` and :func:`typing.final`. The final " +"qualifier instructs a static type checker to restrict subclassing, " +"overriding, or reassignment::" msgstr "" -"Variáveis, funções, métodos e classes \"finais\". Veja :pep:`591`, :class:" -"`typing.Final` e :func:`typing.final`. O qualificador final instrui um " -"verificador de tipo estático a restringir criação de subclasse, substituição " -"ou reatribuição::" +"Variáveis, funções, métodos e classes \"finais\". " +"Veja :pep:`591`, :class:`typing.Final` e :func:`typing.final`. O " +"qualificador final instrui um verificador de tipo estático a restringir " +"criação de subclasse, substituição ou reatribuição::" #: ../../whatsnew/3.8.rst:1338 msgid "" -"Protocol definitions. See :pep:`544`, :class:`typing.Protocol` and :func:" -"`typing.runtime_checkable`. Simple ABCs like :class:`typing.SupportsInt` " -"are now ``Protocol`` subclasses." +"Protocol definitions. See :pep:`544`, :class:`typing.Protocol` " +"and :func:`typing.runtime_checkable`. Simple ABCs " +"like :class:`typing.SupportsInt` are now ``Protocol`` subclasses." msgstr "" -"Definições de protocolo. Veja :pep:`544`, :class:`typing.Protocol` e :func:" -"`typing.runtime_checkable`. ABCs simples como :class:`typing.SupportsInt` " -"agora são subclasses de ``Protocol``." +"Definições de protocolo. Veja :pep:`544`, :class:`typing.Protocol` " +"e :func:`typing.runtime_checkable`. ABCs simples " +"como :class:`typing.SupportsInt` agora são subclasses de ``Protocol``." #: ../../whatsnew/3.8.rst:1342 msgid "New protocol class :class:`typing.SupportsIndex`." @@ -2228,25 +2239,27 @@ msgstr "unittest" msgid "" "Added :class:`~unittest.mock.AsyncMock` to support an asynchronous version " "of :class:`~unittest.mock.Mock`. Appropriate new assert functions for " -"testing have been added as well. (Contributed by Lisa Roach in :issue:" -"`26467`)." +"testing have been added as well. (Contributed by Lisa Roach " +"in :issue:`26467`)." msgstr "" "Adicionada :class:`~unittest.mock.AsyncMock` para dar suporte a uma versão " "assíncrona de :class:`~unittest.mock.Mock`. Também foram adicionadas novas " -"funções apropriadas para teste. (Contribuição de Lisa Roach em :issue:" -"`26467`)." +"funções apropriadas para teste. (Contribuição de Lisa Roach " +"em :issue:`26467`)." #: ../../whatsnew/3.8.rst:1367 msgid "" -"Added :func:`~unittest.addModuleCleanup()` and :meth:`~unittest.TestCase." -"addClassCleanup()` to unittest to support cleanups for :func:`~unittest." -"setUpModule()` and :meth:`~unittest.TestCase.setUpClass()`. (Contributed by " -"Lisa Roach in :issue:`24412`.)" +"Added :func:`~unittest.addModuleCleanup()` " +"and :meth:`~unittest.TestCase.addClassCleanup()` to unittest to support " +"cleanups for :func:`~unittest.setUpModule()` " +"and :meth:`~unittest.TestCase.setUpClass()`. (Contributed by Lisa Roach " +"in :issue:`24412`.)" msgstr "" -"Adicionados :func:`~unittest.addModuleCleanup()` e :meth:`~unittest.TestCase." -"addClassCleanup()` a unittest para dar suporte a limpezas para :func:" -"`~unittest.setUpModule()` e :meth:`~unittest.TestCase.setUpClass()`. " -"(Contribuição de Lisa Roach em :issue:`24412`.)" +"Adicionados :func:`~unittest.addModuleCleanup()` " +"e :meth:`~unittest.TestCase.addClassCleanup()` a unittest para dar suporte a " +"limpezas para :func:`~unittest.setUpModule()` " +"e :meth:`~unittest.TestCase.setUpClass()`. (Contribuição de Lisa Roach " +"em :issue:`24412`.)" #: ../../whatsnew/3.8.rst:1373 msgid "" @@ -2254,8 +2267,8 @@ msgid "" "failure. (Contributed by Petter Strandmark in :issue:`35047`.)" msgstr "" "Várias funções de declaração de mock agora também exibem uma lista de " -"chamadas reais em caso de falha. (Contribuição de Petter Strandmark em :" -"issue:`35047`.)" +"chamadas reais em caso de falha. (Contribuição de Petter Strandmark " +"em :issue:`35047`.)" #: ../../whatsnew/3.8.rst:1376 msgid "" @@ -2305,13 +2318,14 @@ msgstr "xml" #: ../../whatsnew/3.8.rst:1421 msgid "" -"As mitigation against DTD and external entity retrieval, the :mod:`xml.dom." -"minidom` and :mod:`xml.sax` modules no longer process external entities by " -"default. (Contributed by Christian Heimes in :issue:`17239`.)" +"As mitigation against DTD and external entity retrieval, " +"the :mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process " +"external entities by default. (Contributed by Christian Heimes " +"in :issue:`17239`.)" msgstr "" -"Como atenuação a DTD e recuperação de entidade externa, os módulos :mod:`xml." -"dom.minidom` e :mod:`xml.sax` não processam mais entidades externas por " -"padrão. (Contribuição de Christian Heimes em :issue:`17239`.)" +"Como atenuação a DTD e recuperação de entidade externa, os " +"módulos :mod:`xml.dom.minidom` e :mod:`xml.sax` não processam mais entidades " +"externas por padrão. (Contribuição de Christian Heimes em :issue:`17239`.)" #: ../../whatsnew/3.8.rst:1426 msgid "" @@ -2327,30 +2341,31 @@ msgstr "" #: ../../whatsnew/3.8.rst:1431 msgid "" -"The :mod:`xml.etree.ElementTree` module provides a new function :func:`–xml." -"etree.ElementTree.canonicalize()` that implements C14N 2.0. (Contributed by " -"Stefan Behnel in :issue:`13611`.)" +"The :mod:`xml.etree.ElementTree` module provides a new function :func:`–" +"xml.etree.ElementTree.canonicalize()` that implements C14N 2.0. (Contributed " +"by Stefan Behnel in :issue:`13611`.)" msgstr "" -"O módulo :mod:`xml.etree.ElementTree` fornece uma nova função :func:`–xml." -"etree.ElementTree.canonicalize()` que implementa o C14N 2.0. (Contribuição " -"de Stefan Behnel em :issue:`13611`.)" +"O módulo :mod:`xml.etree.ElementTree` fornece uma nova função :func:`–" +"xml.etree.ElementTree.canonicalize()` que implementa o C14N 2.0. " +"(Contribuição de Stefan Behnel em :issue:`13611`.)" #: ../../whatsnew/3.8.rst:1435 msgid "" "The target object of :class:`xml.etree.ElementTree.XMLParser` can receive " "namespace declaration events through the new callback methods ``start_ns()`` " -"and ``end_ns()``. Additionally, the :class:`xml.etree.ElementTree." -"TreeBuilder` target can be configured to process events about comments and " -"processing instructions to include them in the generated tree. (Contributed " -"by Stefan Behnel in :issue:`36676` and :issue:`36673`.)" +"and ``end_ns()``. Additionally, " +"the :class:`xml.etree.ElementTree.TreeBuilder` target can be configured to " +"process events about comments and processing instructions to include them in " +"the generated tree. (Contributed by Stefan Behnel in :issue:`36676` " +"and :issue:`36673`.)" msgstr "" "O objeto de destino de :class:`xml.etree.ElementTree.XMLParser` pode receber " "eventos de declaração de espaço de nomes através dos novos métodos de " -"retorno de chamada ``start_ns()`` e ``end_ns ()``. Além disso, o destino :" -"class:`xml.etree.ElementTree.TreeBuilder` pode ser configurado para " +"retorno de chamada ``start_ns()`` e ``end_ns ()``. Além disso, o " +"destino :class:`xml.etree.ElementTree.TreeBuilder` pode ser configurado para " "processar eventos sobre comentários e instruções de processamento para " -"incluí-los na árvore gerada. (Contribuição de Stefan Behnel em :issue:" -"`36676` e :issue:`36673`.)" +"incluí-los na árvore gerada. (Contribuição de Stefan Behnel " +"em :issue:`36676` e :issue:`36673`.)" #: ../../whatsnew/3.8.rst:1445 msgid "xmlrpc" @@ -2407,32 +2422,32 @@ msgstr "(Contribuição de Joannah Nanjekye e Victor Stinner em :issue:`35537`.) #: ../../whatsnew/3.8.rst:1468 msgid "" -":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" -"`shutil.copytree` and :func:`shutil.move` use platform-specific \"fast-" -"copy\" syscalls on Linux and macOS in order to copy the file more " -"efficiently. \"fast-copy\" means that the copying operation occurs within " -"the kernel, avoiding the use of userspace buffers in Python as in \"``outfd." -"write(infd.read())``\". On Windows :func:`shutil.copyfile` uses a bigger " -"default buffer size (1 MiB instead of 16 KiB) and a :func:`memoryview`-based " -"variant of :func:`shutil.copyfileobj` is used. The speedup for copying a 512 " -"MiB file within the same partition is about +26% on Linux, +50% on macOS and " +":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:`shutil.copytree` " +"and :func:`shutil.move` use platform-specific \"fast-copy\" syscalls on " +"Linux and macOS in order to copy the file more efficiently. \"fast-copy\" " +"means that the copying operation occurs within the kernel, avoiding the use " +"of userspace buffers in Python as in \"``outfd.write(infd.read())``\". On " +"Windows :func:`shutil.copyfile` uses a bigger default buffer size (1 MiB " +"instead of 16 KiB) and a :func:`memoryview`-based variant " +"of :func:`shutil.copyfileobj` is used. The speedup for copying a 512 MiB " +"file within the same partition is about +26% on Linux, +50% on macOS and " "+40% on Windows. Also, much less CPU cycles are consumed. See :ref:`shutil-" "platform-dependent-efficient-copy-operations` section. (Contributed by " "Giampaolo Rodolà in :issue:`33671`.)" msgstr "" -":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" -"`shutil.copytree` e :func:`shutil.copytree` usam chamadas de sistema \"fast-" -"copy\" específicas da plataforma no Linux e no macOS para copiar o arquivo " -"com mais eficiência. \"fast-copy\" significa que a operação de cópia ocorre " -"dentro do kernel, evitando o uso de buffers de espaço do usuário no Python " -"como em \"``outfd.write(infd.read())``\". No Windows, :func:`shutil." -"copyfile` usa um buffer padrão com tamanho maior (1 MiB em vez de 16 KiB) e " -"é usada uma variante de :func:`shutil.copyfileobj` baseada em :func:" -"`memoryview`. A velocidade de cópia de um arquivo 512 MiB na mesma partição " -"é de aproximadamente +26% no Linux, +50% no macOS e +40% no Windows. Além " -"disso, muito menos ciclos de CPU são consumidos. Veja a seção :ref:`shutil-" -"platform-dependent-efficient-copy-operations`. (Contribuição de Giampaolo " -"Rodolà em :issue:`33671`.)" +":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:`shutil.copytree` " +"e :func:`shutil.move` usam chamadas de sistema \"fast-copy\" específicas da " +"plataforma no Linux e no macOS para copiar o arquivo com mais eficiência. " +"\"fast-copy\" significa que a operação de cópia ocorre dentro do kernel, " +"evitando o uso de buffers de espaço do usuário no Python como em " +"\"``outfd.write(infd.read())``\". No Windows, :func:`shutil.copyfile` usa um " +"buffer padrão com tamanho maior (1 MiB em vez de 16 KiB) e é usada uma " +"variante de :func:`shutil.copyfileobj` baseada em :func:`memoryview`. A " +"velocidade de cópia de um arquivo 512 MiB na mesma partição é de " +"aproximadamente +26% no Linux, +50% no macOS e +40% no Windows. Além disso, " +"muito menos ciclos de CPU são consumidos. Veja a seção :ref:`shutil-platform-" +"dependent-efficient-copy-operations`. (Contribuição de Giampaolo Rodolà " +"em :issue:`33671`.)" #: ../../whatsnew/3.8.rst:1484 msgid "" @@ -2469,8 +2484,8 @@ msgid "" msgstr "" "Removido um membro :c:type:`Py_ssize_t` de ``PyGC_Head``. O tamanho de todos " "os objetos rastreados pelo coletor de lixo (por exemplo, tupla, lista, " -"ditado) é reduzido em 4 ou 8 bytes. (Contribuição de Inada Naoki em :issue:" -"`33597`.)" +"ditado) é reduzido em 4 ou 8 bytes. (Contribuição de Inada Naoki " +"em :issue:`33597`.)" #: ../../whatsnew/3.8.rst:1499 msgid "" @@ -2532,19 +2547,19 @@ msgstr "" msgid "" "Reduced an overhead of converting arguments passed to many builtin functions " "and methods. This sped up calling some simple builtin functions and methods " -"up to 20--50%. (Contributed by Serhiy Storchaka in :issue:`23867`, :issue:" -"`35582` and :issue:`36127`.)" +"up to 20--50%. (Contributed by Serhiy Storchaka " +"in :issue:`23867`, :issue:`35582` and :issue:`36127`.)" msgstr "" "Reduzida a sobrecarga dos argumentos de conversão passados para muitas " "funções e métodos internos. Isso acelerou chamando algumas funções e métodos " -"internos simples de 20--50%. (Contribuição de Serhiy Storchaka em :issue:" -"`23867`, :issue:`35582` e :issue:`36127`.)" +"internos simples de 20--50%. (Contribuição de Serhiy Storchaka " +"em :issue:`23867`, :issue:`35582` e :issue:`36127`.)" #: ../../whatsnew/3.8.rst:1528 msgid "" "``LOAD_GLOBAL`` instruction now uses new \"per opcode cache\" mechanism. It " -"is about 40% faster now. (Contributed by Yury Selivanov and Inada Naoki in :" -"issue:`26219`.)" +"is about 40% faster now. (Contributed by Yury Selivanov and Inada Naoki " +"in :issue:`26219`.)" msgstr "" "A instrução ``LOAD_GLOBAL`` agora usa o novo mecanismo \"por cache de código " "de operação\". É cerca de 40% mais rápido agora. (Contribuição de Yury " @@ -2552,14 +2567,14 @@ msgstr "" #: ../../whatsnew/3.8.rst:1534 msgid "Build and C API Changes" -msgstr "Alterações a compilações e API C" +msgstr "Mudanças a construções e API C" #: ../../whatsnew/3.8.rst:1536 msgid "" "Default :data:`sys.abiflags` became an empty string: the ``m`` flag for " "pymalloc became useless (builds with and without pymalloc are ABI " -"compatible) and so has been removed. (Contributed by Victor Stinner in :" -"issue:`36707`.)" +"compatible) and so has been removed. (Contributed by Victor Stinner " +"in :issue:`36707`.)" msgstr "" "O :data:`sys.abiflags` padrão se tornou uma string vazia: o sinalizador " "``m`` para pymalloc se tornou inútil (compilações com e sem pymalloc são " @@ -2596,9 +2611,9 @@ msgstr "" "O sinalizador ``m`` foi removido do sufixo dos nomes de arquivos da " "biblioteca dinâmica: módulos de extensão na biblioteca padrão, bem como " "daqueles produzidos e instalados por pacotes de terceiros, como os baixados " -"do PyPI. No Linux, por exemplo, o sufixo de ``.cpython-37m-x86_64-linux-gnu." -"so`` do Python 3.7 se tornou ``.cpython-38-x86_64-linux-gnu.so`` no Python " -"3.8." +"do PyPI. No Linux, por exemplo, o sufixo de ``.cpython-37m-x86_64-linux-" +"gnu.so`` do Python 3.7 se tornou ``.cpython-38-x86_64-linux-gnu.so`` no " +"Python 3.8." #: ../../whatsnew/3.8.rst:1552 msgid "" @@ -2667,11 +2682,11 @@ msgstr ":c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`" #: ../../whatsnew/3.8.rst:1574 msgid "" -"Private functions: :c:func:`_PyObject_GC_TRACK`, :c:func:" -"`_PyObject_GC_UNTRACK`, :c:func:`_Py_Dealloc`" +"Private functions: :c:func:`!_PyObject_GC_TRACK`, :c:func:`!" +"_PyObject_GC_UNTRACK`, :c:func:`!_Py_Dealloc`" msgstr "" -"Funções privadas: :c:func:`_PyObject_GC_TRACK`, :c:func:" -"`_PyObject_GC_UNTRACK`, :c:func:`_Py_Dealloc`" +"Funções privadas: :c:func:`!_PyObject_GC_TRACK`, :c:func:`!" +"_PyObject_GC_UNTRACK`, :c:func:`!_Py_Dealloc`" #: ../../whatsnew/3.8.rst:1577 msgid "(Contributed by Victor Stinner in :issue:`35059`.)" @@ -2679,12 +2694,12 @@ msgstr "(Contribuição de Victor Stinner em :issue:`35059`.)" #: ../../whatsnew/3.8.rst:1579 msgid "" -"The :c:func:`PyByteArray_Init` and :c:func:`PyByteArray_Fini` functions have " -"been removed. They did nothing since Python 2.7.4 and Python 3.2.0, were " -"excluded from the limited API (stable ABI), and were not documented. " +"The :c:func:`!PyByteArray_Init` and :c:func:`!PyByteArray_Fini` functions " +"have been removed. They did nothing since Python 2.7.4 and Python 3.2.0, " +"were excluded from the limited API (stable ABI), and were not documented. " "(Contributed by Victor Stinner in :issue:`35713`.)" msgstr "" -"As funções :c:func:`PyByteArray_Init` e :c:func:`PyByteArray_Fini` foram " +"As funções :c:func:`!PyByteArray_Init` e :c:func:`!PyByteArray_Fini` foram " "removidas. Elas não faziam nada desde o Python 2.7.4 e o Python 3.2.0, foram " "excluídas da API limitada (ABI estável) e não foram documentados. " "(Contribuição de Victor Stinner em :issue:`35713`.)" @@ -2692,12 +2707,12 @@ msgstr "" #: ../../whatsnew/3.8.rst:1584 msgid "" "The result of :c:func:`PyExceptionClass_Name` is now of type ``const char " -"*`` rather of ``char *``. (Contributed by Serhiy Storchaka in :issue:" -"`33818`.)" +"*`` rather of ``char *``. (Contributed by Serhiy Storchaka " +"in :issue:`33818`.)" msgstr "" "O resultado de :c:func:`PyExceptionClass_Name` agora é do tipo ``const char " -"*`` em vez de ``char *``. (Contribuição de Serhiy Storchaka em :issue:" -"`33818`.)" +"*`` em vez de ``char *``. (Contribuição de Serhiy Storchaka " +"em :issue:`33818`.)" #: ../../whatsnew/3.8.rst:1588 msgid "" @@ -2736,39 +2751,42 @@ msgstr "(Contribuição de Antoine Pitrou em :issue:`32430`.)" #: ../../whatsnew/3.8.rst:1603 msgid "" -"Functions that convert Python number to C integer like :c:func:" -"`PyLong_AsLong` and argument parsing functions like :c:func:" -"`PyArg_ParseTuple` with integer converting format units like ``'i'`` will " -"now use the :meth:`~object.__index__` special method instead of :meth:" -"`~object.__int__`, if available. The deprecation warning will be emitted " -"for objects with the ``__int__()`` method but without the ``__index__()`` " -"method (like :class:`~decimal.Decimal` and :class:`~fractions.Fraction`). :" -"c:func:`PyNumber_Check` will now return ``1`` for objects implementing " -"``__index__()``. :c:func:`PyNumber_Long`, :c:func:`PyNumber_Float` and :c:" -"func:`PyFloat_AsDouble` also now use the ``__index__()`` method if " -"available. (Contributed by Serhiy Storchaka in :issue:`36048` and :issue:" -"`20092`.)" -msgstr "" -"Funções que convertem um número Python em número inteiro C, como :c:func:" -"`PyLong_AsLong`, e funções de análise de argumentos, como :c:func:" -"`PyArg_ParseTuple`, com unidades de formato de conversão de números " -"inteiros, como ``'i'``, agora usarão o método especial :meth:`~object." -"__index__` em vez de :meth:`~object.__int__`, se disponível. O aviso de " -"descontinuação será emitido para objetos com o método ``__int__()``, mas sem " -"o método ``__index__()`` (como :class:`~decimal.Decimal` e :class:" -"`~fractions.Fraction` ). :c:func:`PyNumber_Check` agora retornará ``1`` para " -"objetos implementando ``__index__()``. :c:func:`PyNumber_Long`, :c:func:" -"`PyNumber_Float` e :c:func:`PyFloat_AsDouble` agora também usam o método " -"``__index__()``, se disponível. (Contribuição de Serhiy Storchaka em :issue:" -"`36048` e :issue:`20092`.)" +"Functions that convert Python number to C integer " +"like :c:func:`PyLong_AsLong` and argument parsing functions " +"like :c:func:`PyArg_ParseTuple` with integer converting format units like " +"``'i'`` will now use the :meth:`~object.__index__` special method instead " +"of :meth:`~object.__int__`, if available. The deprecation warning will be " +"emitted for objects with the ``__int__()`` method but without the " +"``__index__()`` method (like :class:`~decimal.Decimal` " +"and :class:`~fractions.Fraction`). :c:func:`PyNumber_Check` will now return " +"``1`` for objects implementing " +"``__index__()``. :c:func:`PyNumber_Long`, :c:func:`PyNumber_Float` " +"and :c:func:`PyFloat_AsDouble` also now use the ``__index__()`` method if " +"available. (Contributed by Serhiy Storchaka in :issue:`36048` " +"and :issue:`20092`.)" +msgstr "" +"Funções que convertem um número Python em número inteiro C, " +"como :c:func:`PyLong_AsLong`, e funções de análise de argumentos, " +"como :c:func:`PyArg_ParseTuple`, com unidades de formato de conversão de " +"números inteiros, como ``'i'``, agora usarão o método " +"especial :meth:`~object.__index__` em vez de :meth:`~object.__int__`, se " +"disponível. O aviso de descontinuação será emitido para objetos com o método " +"``__int__()``, mas sem o método ``__index__()`` " +"(como :class:`~decimal.Decimal` " +"e :class:`~fractions.Fraction` ). :c:func:`PyNumber_Check` agora retornará " +"``1`` para objetos implementando " +"``__index__()``. :c:func:`PyNumber_Long`, :c:func:`PyNumber_Float` " +"e :c:func:`PyFloat_AsDouble` agora também usam o método ``__index__()``, se " +"disponível. (Contribuição de Serhiy Storchaka em :issue:`36048` " +"e :issue:`20092`.)" #: ../../whatsnew/3.8.rst:1617 msgid "" -"Heap-allocated type objects will now increase their reference count in :c:" -"func:`PyObject_Init` (and its parallel macro ``PyObject_INIT``) instead of " -"in :c:func:`PyType_GenericAlloc`. Types that modify instance allocation or " -"deallocation may need to be adjusted. (Contributed by Eddie Elizondo in :" -"issue:`35810`.)" +"Heap-allocated type objects will now increase their reference count " +"in :c:func:`PyObject_Init` (and its parallel macro ``PyObject_INIT``) " +"instead of in :c:func:`PyType_GenericAlloc`. Types that modify instance " +"allocation or deallocation may need to be adjusted. (Contributed by Eddie " +"Elizondo in :issue:`35810`.)" msgstr "" "Objetos de tipo alocado a heap agora aumentarão sua contagem de referências " "em :c:func:`PyObject_Init` (e sua macro paralela ``PyObject_INIT``) em vez " @@ -2790,14 +2808,15 @@ msgstr "" #: ../../whatsnew/3.8.rst:1628 msgid "" -":c:func:`Py_SetPath` now sets :data:`sys.executable` to the program full " -"path (:c:func:`Py_GetProgramFullPath`) rather than to the program name (:c:" -"func:`Py_GetProgramName`). (Contributed by Victor Stinner in :issue:`38234`.)" +":c:func:`!Py_SetPath` now sets :data:`sys.executable` to the program full " +"path (:c:func:`Py_GetProgramFullPath`) rather than to the program name " +"(:c:func:`Py_GetProgramName`). (Contributed by Victor Stinner " +"in :issue:`38234`.)" msgstr "" -":c:func:`Py_SetPath` agora define :data:`sys.executable` para o caminho " +":c:func:`!Py_SetPath` agora define :data:`sys.executable` para o caminho " "completo do programa (:c:func:`Py_GetProgramFullPath`) em vez do nome do " -"programa (:c:func:`Py_GetProgramName`). (Contribuição de Victor Stinner em :" -"issue:`38234`.)" +"programa (:c:func:`Py_GetProgramName`). (Contribuição de Victor Stinner " +"em :issue:`38234`.)" #: ../../whatsnew/3.8.rst:1635 msgid "Deprecated" @@ -2806,52 +2825,56 @@ msgstr "Descontinuados" #: ../../whatsnew/3.8.rst:1637 msgid "" "The distutils ``bdist_wininst`` command is now deprecated, use " -"``bdist_wheel`` (wheel packages) instead. (Contributed by Victor Stinner in :" -"issue:`37481`.)" +"``bdist_wheel`` (wheel packages) instead. (Contributed by Victor Stinner " +"in :issue:`37481`.)" msgstr "" "O comando distutils ``bdist_wininst`` agora está descontinuado; use " -"``bdist_wheel`` (pacotes wheel). (Contribuição de Victor Stinner em :issue:" -"`37481`.)" +"``bdist_wheel`` (pacotes wheel). (Contribuição de Victor Stinner " +"em :issue:`37481`.)" #: ../../whatsnew/3.8.rst:1641 msgid "" -"Deprecated methods ``getchildren()`` and ``getiterator()`` in the :mod:`~xml." -"etree.ElementTree` module now emit a :exc:`DeprecationWarning` instead of :" -"exc:`PendingDeprecationWarning`. They will be removed in Python 3.9. " -"(Contributed by Serhiy Storchaka in :issue:`29209`.)" +"Deprecated methods ``getchildren()`` and ``getiterator()`` in " +"the :mod:`~xml.etree.ElementTree` module now emit " +"a :exc:`DeprecationWarning` instead of :exc:`PendingDeprecationWarning`. " +"They will be removed in Python 3.9. (Contributed by Serhiy Storchaka " +"in :issue:`29209`.)" msgstr "" -"Os métodos descontinuados ``getchildren()`` e ``getiterator()`` no módulo :" -"mod:`~xml.etree.ElementTree` agora emitem um :exc:`DeprecationWarning` em " -"vez de :exc:`PendingDeprecationWarning`. Eles serão removidos no Python 3.9. " -"(Contribuição de Serhiy Storchaka em :issue:`29209`.)" +"Os métodos descontinuados ``getchildren()`` e ``getiterator()`` no " +"módulo :mod:`~xml.etree.ElementTree` agora emitem " +"um :exc:`DeprecationWarning` em vez de :exc:`PendingDeprecationWarning`. " +"Eles serão removidos no Python 3.9. (Contribuição de Serhiy Storchaka " +"em :issue:`29209`.)" #: ../../whatsnew/3.8.rst:1647 msgid "" -"Passing an object that is not an instance of :class:`concurrent.futures." -"ThreadPoolExecutor` to :meth:`loop.set_default_executor() ` is deprecated and will be prohibited in Python 3.9. " -"(Contributed by Elvis Pranskevichus in :issue:`34075`.)" +"Passing an object that is not an instance " +"of :class:`concurrent.futures.ThreadPoolExecutor` " +"to :meth:`loop.set_default_executor() ` " +"is deprecated and will be prohibited in Python 3.9. (Contributed by Elvis " +"Pranskevichus in :issue:`34075`.)" msgstr "" -"Passar um objeto que não é uma instância de :class:`concurrent.futures." -"ThreadPoolExecutor` para :meth:`loop.set_default_executor() ` foi descontinuado e será proibido no Python 3.9. " -"(Contribuição de Elvis Pranskevichus em :issue:`34075`.)" +"Passar um objeto que não é uma instância " +"de :class:`concurrent.futures.ThreadPoolExecutor` " +"para :meth:`loop.set_default_executor() ` " +"foi descontinuado e será proibido no Python 3.9. (Contribuição de Elvis " +"Pranskevichus em :issue:`34075`.)" #: ../../whatsnew/3.8.rst:1653 msgid "" -"The :meth:`__getitem__` methods of :class:`xml.dom.pulldom.DOMEventStream`, :" -"class:`wsgiref.util.FileWrapper` and :class:`fileinput.FileInput` have been " -"deprecated." +"The :meth:`~object.__getitem__` methods " +"of :class:`xml.dom.pulldom.DOMEventStream`, :class:`wsgiref.util.FileWrapper` " +"and :class:`fileinput.FileInput` have been deprecated." msgstr "" -"Os métodos :meth:`__getitem__` de :class:`xml.dom.pulldom.DOMEventStream`, :" -"class:`wsgiref.util.FileWrapper` e :class:`fileinput.FileInput` foram " -"descontinuados." +"Os métodos :meth:`~object.__getitem__` " +"de :class:`xml.dom.pulldom.DOMEventStream`, :class:`wsgiref.util.FileWrapper` " +"e :class:`fileinput.FileInput` foram descontinuados." #: ../../whatsnew/3.8.rst:1657 msgid "" "Implementations of these methods have been ignoring their *index* parameter, " -"and returning the next item instead. (Contributed by Berker Peksag in :issue:" -"`9372`.)" +"and returning the next item instead. (Contributed by Berker Peksag " +"in :issue:`9372`.)" msgstr "" "As implementações desses métodos têm ignorado seu parâmetro *index* e " "retornado o próximo item. (Contribuição de Berker Peksag em :issue:`9372`.)" @@ -2882,47 +2905,40 @@ msgstr "" msgid "" ":class:`ast.NodeVisitor` methods ``visit_Num()``, ``visit_Str()``, " "``visit_Bytes()``, ``visit_NameConstant()`` and ``visit_Ellipsis()`` are " -"deprecated now and will not be called in future Python versions. Add the :" -"meth:`~ast.NodeVisitor.visit_Constant` method to handle all constant nodes. " -"(Contributed by Serhiy Storchaka in :issue:`36917`.)" +"deprecated now and will not be called in future Python versions. Add " +"the :meth:`~ast.NodeVisitor.visit_Constant` method to handle all constant " +"nodes. (Contributed by Serhiy Storchaka in :issue:`36917`.)" msgstr "" "Os métodos ``visit_Num()``, ``visit_Str()``, ``visit_Bytes()``, " -"``visit_NameConstant()`` e ``visit_Ellipsis()`` da classe :class:`ast." -"NodeVisitor` estão agora descontinuados e não serão chamados nas versões " -"futuras do Python. Adicione o método :meth:`~ast.NodeVisitor.visit_Constant` " -"para manipular todos os nós constantes. (Contribuição de Serhiy Storchaka " -"em :issue:`36917`.)" +"``visit_NameConstant()`` e ``visit_Ellipsis()`` da " +"classe :class:`ast.NodeVisitor` estão agora descontinuados e não serão " +"chamados nas versões futuras do Python. Adicione o " +"método :meth:`~ast.NodeVisitor.visit_Constant` para manipular todos os nós " +"constantes. (Contribuição de Serhiy Storchaka em :issue:`36917`.)" #: ../../whatsnew/3.8.rst:1677 msgid "" "The :func:`asyncio.coroutine` :term:`decorator` is deprecated and will be " -"removed in version 3.10. Instead of ``@asyncio.coroutine``, use :keyword:" -"`async def` instead. (Contributed by Andrew Svetlov in :issue:`36921`.)" +"removed in version 3.10. Instead of ``@asyncio.coroutine``, " +"use :keyword:`async def` instead. (Contributed by Andrew Svetlov " +"in :issue:`36921`.)" msgstr "" "O :term:`decorador ` de :func:`asyncio.coroutine` foi " -"descontinuado e será removido na versão 3.10. Em vez de ``@asyncio." -"coroutine``, use :keyword:`async def`. (Contribuição de Andrew Svetlov em :" -"issue:`36921`.)" +"descontinuado e será removido na versão 3.10. Em vez de " +"``@asyncio.coroutine``, use :keyword:`async def`. (Contribuição de Andrew " +"Svetlov em :issue:`36921`.)" #: ../../whatsnew/3.8.rst:1682 msgid "" "In :mod:`asyncio`, the explicit passing of a *loop* argument has been " -"deprecated and will be removed in version 3.10 for the following: :func:" -"`asyncio.sleep`, :func:`asyncio.gather`, :func:`asyncio.shield`, :func:" -"`asyncio.wait_for`, :func:`asyncio.wait`, :func:`asyncio.as_completed`, :" -"class:`asyncio.Task`, :class:`asyncio.Lock`, :class:`asyncio.Event`, :class:" -"`asyncio.Condition`, :class:`asyncio.Semaphore`, :class:`asyncio." -"BoundedSemaphore`, :class:`asyncio.Queue`, :func:`asyncio." -"create_subprocess_exec`, and :func:`asyncio.create_subprocess_shell`." +"deprecated and will be removed in version 3.10 for the " +"following: :func:`asyncio.sleep`, :func:`asyncio.gather`, :func:`asyncio.shield`, :func:`asyncio.wait_for`, :func:`asyncio.wait`, :func:`asyncio.as_completed`, :class:`asyncio.Task`, :class:`asyncio.Lock`, :class:`asyncio.Event`, :class:`asyncio.Condition`, :class:`asyncio.Semaphore`, :class:`asyncio.BoundedSemaphore`, :class:`asyncio.Queue`, :func:`asyncio.create_subprocess_exec`, " +"and :func:`asyncio.create_subprocess_shell`." msgstr "" "Em :mod:`asyncio`, a passagem explícita de um argumento *loop* foi " -"descontinuado e será removido na versão 3.10 para os seguintes: :func:" -"`asyncio.sleep`, :func:`asyncio.gather`, :func:`asyncio.shield`, :func:" -"`asyncio.wait_for`, :func:`asyncio.wait`, :func:`asyncio.as_completed`, :" -"class:`asyncio.Task`, :class:`asyncio.Lock`, :class:`asyncio.Event`, :class:" -"`asyncio.Condition`, :class:`asyncio.Semaphore`, :class:`asyncio." -"BoundedSemaphore`, :class:`asyncio.Queue`, :func:`asyncio." -"create_subprocess_exec` e :func:`asyncio.create_subprocess_shell`." +"descontinuado e será removido na versão 3.10 para os " +"seguintes: :func:`asyncio.sleep`, :func:`asyncio.gather`, :func:`asyncio.shield`, :func:`asyncio.wait_for`, :func:`asyncio.wait`, :func:`asyncio.as_completed`, :class:`asyncio.Task`, :class:`asyncio.Lock`, :class:`asyncio.Event`, :class:`asyncio.Condition`, :class:`asyncio.Semaphore`, :class:`asyncio.BoundedSemaphore`, :class:`asyncio.Queue`, :func:`asyncio.create_subprocess_exec` " +"e :func:`asyncio.create_subprocess_shell`." #: ../../whatsnew/3.8.rst:1692 msgid "" @@ -2937,61 +2953,65 @@ msgstr "" #: ../../whatsnew/3.8.rst:1696 msgid "" "The following functions and methods are deprecated in the :mod:`gettext` " -"module: :func:`~gettext.lgettext`, :func:`~gettext.ldgettext`, :func:" -"`~gettext.lngettext` and :func:`~gettext.ldngettext`. They return encoded " -"bytes, and it's possible that you will get unexpected Unicode-related " -"exceptions if there are encoding problems with the translated strings. It's " -"much better to use alternatives which return Unicode strings in Python 3. " -"These functions have been broken for a long time." -msgstr "" -"As seguintes funções e os seguintes métodos estão descontinuados no módulo :" -"mod:`gettext`: :func:`~gettext.lgettext`, :func:`~gettext.ldgettext`, :func:" -"`~gettext.lngettext` e :func:`~gettext.ldngettext`. Eles retornam bytes " -"codificados e é possível que você obtenha exceções relacionadas ao Unicode " -"inesperadas se houver problemas de codificação com as strings traduzidas. É " -"muito melhor usar alternativas que retornam strings Unicode no Python 3. " -"Essas funções estiveram quebradas por um longo tempo." +"module: :func:`~gettext.lgettext`, :func:`~gettext.ldgettext`, :func:`~gettext.lngettext` " +"and :func:`~gettext.ldngettext`. They return encoded bytes, and it's " +"possible that you will get unexpected Unicode-related exceptions if there " +"are encoding problems with the translated strings. It's much better to use " +"alternatives which return Unicode strings in Python 3. These functions have " +"been broken for a long time." +msgstr "" +"As seguintes funções e os seguintes métodos estão descontinuados no " +"módulo :mod:`gettext`: :func:`~gettext.lgettext`, :func:`~gettext.ldgettext`, :func:`~gettext.lngettext` " +"e :func:`~gettext.ldngettext`. Eles retornam bytes codificados e é possível " +"que você obtenha exceções relacionadas ao Unicode inesperadas se houver " +"problemas de codificação com as strings traduzidas. É muito melhor usar " +"alternativas que retornam strings Unicode no Python 3. Essas funções " +"estiveram quebradas por um longo tempo." #: ../../whatsnew/3.8.rst:1704 msgid "" -"Function :func:`~gettext.bind_textdomain_codeset`, methods :meth:`~gettext." -"NullTranslations.output_charset` and :meth:`~gettext.NullTranslations." -"set_output_charset`, and the *codeset* parameter of functions :func:" -"`~gettext.translation` and :func:`~gettext.install` are also deprecated, " -"since they are only used for the ``l*gettext()`` functions. (Contributed by " -"Serhiy Storchaka in :issue:`33710`.)" -msgstr "" -"A função :func:`~gettext.bind_textdomain_codeset`, os métodos :meth:" -"`~gettext.NullTranslations.output_charset` e :meth:`~gettext." -"NullTranslations.set_output_charset` e o parâmetro *codeset* das funções :" -"func:`~gettext.translation` e :func:`~gettext.install` também estão " -"descontinuados, pois são usados apenas para as funções ``l*gettext()``. " -"(Contribuição de Serhiy Storchaka em :issue:`33710`.)" +"Function :func:`~gettext.bind_textdomain_codeset`, " +"methods :meth:`~gettext.NullTranslations.output_charset` " +"and :meth:`~gettext.NullTranslations.set_output_charset`, and the *codeset* " +"parameter of functions :func:`~gettext.translation` " +"and :func:`~gettext.install` are also deprecated, since they are only used " +"for the ``l*gettext()`` functions. (Contributed by Serhiy Storchaka " +"in :issue:`33710`.)" +msgstr "" +"A função :func:`~gettext.bind_textdomain_codeset`, os " +"métodos :meth:`~gettext.NullTranslations.output_charset` " +"e :meth:`~gettext.NullTranslations.set_output_charset` e o parâmetro " +"*codeset* das funções :func:`~gettext.translation` " +"e :func:`~gettext.install` também estão descontinuados, pois são usados " +"apenas para as funções ``l*gettext()``. (Contribuição de Serhiy Storchaka " +"em :issue:`33710`.)" #: ../../whatsnew/3.8.rst:1712 msgid "" "The :meth:`~threading.Thread.isAlive()` method of :class:`threading.Thread` " -"has been deprecated. (Contributed by Dong-hee Na in :issue:`35283`.)" +"has been deprecated. (Contributed by Donghee Na in :issue:`35283`.)" msgstr "" -"O método :meth:`~threading.Thread.isAlive()` da classe :class:`threading." -"Thread` foi descontinuado. (Contribuição de Dong-hee Na em :issue:`35283`.)" +"O método :meth:`~threading.Thread.isAlive()` da " +"classe :class:`threading.Thread` foi descontinuado. (Contribuição de Donghee " +"Na em :issue:`35283`.)" #: ../../whatsnew/3.8.rst:1716 msgid "" "Many builtin and extension functions that take integer arguments will now " -"emit a deprecation warning for :class:`~decimal.Decimal`\\ s, :class:" -"`~fractions.Fraction`\\ s and any other objects that can be converted to " -"integers only with a loss (e.g. that have the :meth:`~object.__int__` method " -"but do not have the :meth:`~object.__index__` method). In future version " -"they will be errors. (Contributed by Serhiy Storchaka in :issue:`36048`.)" +"emit a deprecation warning for :class:`~decimal.Decimal`\\ " +"s, :class:`~fractions.Fraction`\\ s and any other objects that can be " +"converted to integers only with a loss (e.g. that have " +"the :meth:`~object.__int__` method but do not have " +"the :meth:`~object.__index__` method). In future version they will be " +"errors. (Contributed by Serhiy Storchaka in :issue:`36048`.)" msgstr "" "Muitas funções internas e de extensão que recebem argumentos inteiros agora " -"emitem um aviso de descontinuidade para objetos de :class:`~decimal." -"Decimal`, de :class:`~fractions.Fraction` e quaisquer outros objetos que " -"possam ser convertidos apenas em números inteiros com perda (por exemplo, " -"que possuem o método :meth:`~object.__int__`, mas não têm o método :meth:" -"`~object.__index__`). Em uma versão futura, haverá erros. (Contribuição de " -"Serhiy Storchaka em :issue:`36048`.)" +"emitem um aviso de descontinuidade para objetos " +"de :class:`~decimal.Decimal`, de :class:`~fractions.Fraction` e quaisquer " +"outros objetos que possam ser convertidos apenas em números inteiros com " +"perda (por exemplo, que possuem o método :meth:`~object.__int__`, mas não " +"têm o método :meth:`~object.__index__`). Em uma versão futura, haverá erros. " +"(Contribuição de Serhiy Storchaka em :issue:`36048`.)" #: ../../whatsnew/3.8.rst:1724 msgid "Deprecated passing the following arguments as keyword arguments:" @@ -3000,13 +3020,13 @@ msgstr "" #: ../../whatsnew/3.8.rst:1726 msgid "" -"*func* in :func:`functools.partialmethod`, :func:`weakref.finalize`, :meth:" -"`profile.Profile.runcall`, :meth:`cProfile.Profile.runcall`, :meth:`bdb.Bdb." -"runcall`, :meth:`trace.Trace.runfunc` and :func:`curses.wrapper`." +"*func* " +"in :func:`functools.partialmethod`, :func:`weakref.finalize`, :meth:`profile.Profile.runcall`, :meth:`cProfile.Profile.runcall`, :meth:`bdb.Bdb.runcall`, :meth:`trace.Trace.runfunc` " +"and :func:`curses.wrapper`." msgstr "" -"*func* em :func:`functools.partialmethod`, :func:`weakref.finalize`, :meth:" -"`profile.Profile.runcall`, :meth:`cProfile.Profile.runcall`, :meth:`bdb.Bdb." -"runcall`, :meth:`trace.Trace.runfunc` e :func:`curses.wrapper`." +"*func* " +"em :func:`functools.partialmethod`, :func:`weakref.finalize`, :meth:`profile.Profile.runcall`, :meth:`cProfile.Profile.runcall`, :meth:`bdb.Bdb.runcall`, :meth:`trace.Trace.runfunc` " +"e :func:`curses.wrapper`." #: ../../whatsnew/3.8.rst:1730 msgid "*function* in :meth:`unittest.TestCase.addCleanup`." @@ -3014,33 +3034,33 @@ msgstr "*function* em :meth:`unittest.TestCase.addCleanup`." #: ../../whatsnew/3.8.rst:1731 msgid "" -"*fn* in the :meth:`~concurrent.futures.Executor.submit` method of :class:" -"`concurrent.futures.ThreadPoolExecutor` and :class:`concurrent.futures." -"ProcessPoolExecutor`." +"*fn* in the :meth:`~concurrent.futures.Executor.submit` method " +"of :class:`concurrent.futures.ThreadPoolExecutor` " +"and :class:`concurrent.futures.ProcessPoolExecutor`." msgstr "" -"*fn* no método :meth:`~concurrent.futures.Executor.submit` de :class:" -"`concurrent.futures.ThreadPoolExecutor` e :class:`concurrent.futures." -"ProcessPoolExecutor`." +"*fn* no método :meth:`~concurrent.futures.Executor.submit` " +"de :class:`concurrent.futures.ThreadPoolExecutor` " +"e :class:`concurrent.futures.ProcessPoolExecutor`." #: ../../whatsnew/3.8.rst:1734 msgid "" -"*callback* in :meth:`contextlib.ExitStack.callback`, :meth:`contextlib." -"AsyncExitStack.callback` and :meth:`contextlib.AsyncExitStack." -"push_async_callback`." +"*callback* " +"in :meth:`contextlib.ExitStack.callback`, :meth:`contextlib.AsyncExitStack.callback` " +"and :meth:`contextlib.AsyncExitStack.push_async_callback`." msgstr "" -"*callback* em :meth:`contextlib.ExitStack.callback`, :meth:`contextlib." -"AsyncExitStack.callback` e :meth:`contextlib.AsyncExitStack." -"push_async_callback`." +"*callback* " +"em :meth:`contextlib.ExitStack.callback`, :meth:`contextlib.AsyncExitStack.callback` " +"e :meth:`contextlib.AsyncExitStack.push_async_callback`." #: ../../whatsnew/3.8.rst:1737 msgid "" "*c* and *typeid* in the :meth:`~multiprocessing.managers.Server.create` " -"method of :class:`multiprocessing.managers.Server` and :class:" -"`multiprocessing.managers.SharedMemoryServer`." +"method of :class:`multiprocessing.managers.Server` " +"and :class:`multiprocessing.managers.SharedMemoryServer`." msgstr "" -"*c* e *typeid* no método :meth:`~multiprocessing.managers.Server.create` de :" -"class:`multiprocessing.managers.Server` e :class:`multiprocessing.managers." -"SharedMemoryServer`." +"*c* e *typeid* no método :meth:`~multiprocessing.managers.Server.create` " +"de :class:`multiprocessing.managers.Server` " +"e :class:`multiprocessing.managers.SharedMemoryServer`." #: ../../whatsnew/3.8.rst:1740 msgid "*obj* in :func:`weakref.finalize`." @@ -3052,8 +3072,8 @@ msgid "" "only_parameter>`. (Contributed by Serhiy Storchaka in :issue:`36492`.)" msgstr "" "Em versões futuras do Python, elas serão :ref:`somente-posicionais " -"`. (Contribuição de Serhiy Storchaka em :issue:" -"`36492`.)" +"`. (Contribuição de Serhiy Storchaka " +"em :issue:`36492`.)" #: ../../whatsnew/3.8.rst:1748 msgid "API and Feature Removals" @@ -3096,9 +3116,10 @@ msgstr "" #: ../../whatsnew/3.8.rst:1764 msgid "" "The function :func:`time.clock` has been removed, after having been " -"deprecated since Python 3.3: use :func:`time.perf_counter` or :func:`time." -"process_time` instead, depending on your requirements, to have well-defined " -"behavior. (Contributed by Matthias Bussonnier in :issue:`36895`.)" +"deprecated since Python 3.3: use :func:`time.perf_counter` " +"or :func:`time.process_time` instead, depending on your requirements, to " +"have well-defined behavior. (Contributed by Matthias Bussonnier " +"in :issue:`36895`.)" msgstr "" "A função :func:`time.clock` foi removida, após ter sido descontinuada desde " "o Python 3.3: use :func:`time.perf_counter` ou :func:`time.process_time`, " @@ -3121,9 +3142,9 @@ msgid "" "module. They are deprecated in Python 3.2 or older. They should be imported " "from the ``urllib.parse`` and ``html`` modules instead." msgstr "" -"``parse_qs``, ``parse_qsl`` e ``escape`` foram removidos do módulo :mod:" -"`cgi`. Eles foram descontinuados no Python 3.2 ou mais antigo. Eles devem " -"ser importados dos módulos ``urllib.parse`` e ``html``." +"``parse_qs``, ``parse_qsl`` e ``escape`` foram removidos do " +"módulo :mod:`cgi`. Eles foram descontinuados no Python 3.2 ou mais antigo. " +"Eles devem ser importados dos módulos ``urllib.parse`` e ``html``." #: ../../whatsnew/3.8.rst:1778 msgid "" @@ -3147,19 +3168,21 @@ msgstr "" #: ../../whatsnew/3.8.rst:1786 msgid "" -"Removed the ``doctype()`` method of :class:`~xml.etree.ElementTree." -"XMLParser`. (Contributed by Serhiy Storchaka in :issue:`29209`.)" +"Removed the ``doctype()`` method " +"of :class:`~xml.etree.ElementTree.XMLParser`. (Contributed by Serhiy " +"Storchaka in :issue:`29209`.)" msgstr "" -"Removido o método ``doctype()`` de :class:`~xml.etree.ElementTree." -"XMLParser`. (Contribuição de Serhiy Storchaka em :issue:`29209`.)" +"Removido o método ``doctype()`` " +"de :class:`~xml.etree.ElementTree.XMLParser`. (Contribuição de Serhiy " +"Storchaka em :issue:`29209`.)" #: ../../whatsnew/3.8.rst:1789 msgid "" -"\"unicode_internal\" codec is removed. (Contributed by Inada Naoki in :issue:" -"`36297`.)" +"\"unicode_internal\" codec is removed. (Contributed by Inada Naoki " +"in :issue:`36297`.)" msgstr "" -"O codec \"unicode_internal\" foi removido. (Contribuição de Inada Naoki em :" -"issue:`36297`.)" +"O codec \"unicode_internal\" foi removido. (Contribuição de Inada Naoki " +"em :issue:`36297`.)" #: ../../whatsnew/3.8.rst:1792 msgid "" @@ -3171,24 +3194,25 @@ msgstr "" #: ../../whatsnew/3.8.rst:1796 msgid "" -"The ``bufsize`` keyword argument of :func:`fileinput.input` and :func:" -"`fileinput.FileInput` which was ignored and deprecated since Python 3.6 has " -"been removed. :issue:`36952` (Contributed by Matthias Bussonnier.)" +"The ``bufsize`` keyword argument of :func:`fileinput.input` " +"and :func:`fileinput.FileInput` which was ignored and deprecated since " +"Python 3.6 has been removed. :issue:`36952` (Contributed by Matthias " +"Bussonnier.)" msgstr "" -"O argumento nomeado ``bufsize`` de :func:`fileinput.input` e :func:" -"`fileinput.FileInput`, que era ignorado e estava descontinuado desde o " -"Python 3.6, foi removido. :issue:`36952` (Contribuição de Matthias " +"O argumento nomeado ``bufsize`` de :func:`fileinput.input` " +"e :func:`fileinput.FileInput`, que era ignorado e estava descontinuado desde " +"o Python 3.6, foi removido. :issue:`36952` (Contribuição de Matthias " "Bussonnier.)" #: ../../whatsnew/3.8.rst:1800 msgid "" -"The functions :func:`sys.set_coroutine_wrapper` and :func:`sys." -"get_coroutine_wrapper` deprecated in Python 3.7 have been removed; :issue:" -"`36933` (Contributed by Matthias Bussonnier.)" +"The functions :func:`sys.set_coroutine_wrapper` " +"and :func:`sys.get_coroutine_wrapper` deprecated in Python 3.7 have been " +"removed; :issue:`36933` (Contributed by Matthias Bussonnier.)" msgstr "" -"As funções descontinuadas :func:`sys.set_coroutine_wrapper` e :func:`sys." -"get_coroutine_wrapper` no Python 3.7 foram removidas; :issue:`36933` " -"(Contribuição de Matthias Bussonnier.)" +"As funções descontinuadas :func:`sys.set_coroutine_wrapper` " +"e :func:`sys.get_coroutine_wrapper` no Python 3.7 foram " +"removidas; :issue:`36933` (Contribuição de Matthias Bussonnier.)" #: ../../whatsnew/3.8.rst:1806 msgid "Porting to Python 3.8" @@ -3224,8 +3248,8 @@ msgid "" "(``is`` and ``is not``) are used with certain types of literals (e.g. " "strings, numbers). These can often work by accident in CPython, but are not " "guaranteed by the language spec. The warning advises users to use equality " -"tests (``==`` and ``!=``) instead. (Contributed by Serhiy Storchaka in :" -"issue:`34850`.)" +"tests (``==`` and ``!=``) instead. (Contributed by Serhiy Storchaka " +"in :issue:`34850`.)" msgstr "" "Agora, o compilador produz um :exc:`SyntaxWarning` quando verificações de " "identidade (``is`` e ``is not``) são usadas com certos tipos de literais " @@ -3248,52 +3272,54 @@ msgstr "" #: ../../whatsnew/3.8.rst:1832 msgid "" -"Removed ``__str__`` implementations from builtin types :class:`bool`, :class:" -"`int`, :class:`float`, :class:`complex` and few classes from the standard " -"library. They now inherit ``__str__()`` from :class:`object`. As result, " -"defining the ``__repr__()`` method in the subclass of these classes will " -"affect their string representation. (Contributed by Serhiy Storchaka in :" -"issue:`36793`.)" +"Removed ``__str__`` implementations from builtin " +"types :class:`bool`, :class:`int`, :class:`float`, :class:`complex` and few " +"classes from the standard library. They now inherit ``__str__()`` " +"from :class:`object`. As result, defining the ``__repr__()`` method in the " +"subclass of these classes will affect their string representation. " +"(Contributed by Serhiy Storchaka in :issue:`36793`.)" msgstr "" -"Removidas as implementações ``__str__`` dos tipos embutidos :class:`bool`, :" -"class:`int`, :class:`float`, :class:`complex` e poucas classes da biblioteca " -"padrão. Agora eles herdam ``__str__()`` de :class:`object`. Como resultado, " -"definir o método ``__repr__()`` na subclasse dessas classes afetará sua " -"representação de string. (Contribuição de Serhiy Storchaka em :issue:" -"`36793`.)" +"Removidas as implementações ``__str__`` dos tipos " +"embutidos :class:`bool`, :class:`int`, :class:`float`, :class:`complex` e " +"poucas classes da biblioteca padrão. Agora eles herdam ``__str__()`` " +"de :class:`object`. Como resultado, definir o método ``__repr__()`` na " +"subclasse dessas classes afetará sua representação de string. (Contribuição " +"de Serhiy Storchaka em :issue:`36793`.)" #: ../../whatsnew/3.8.rst:1839 msgid "" -"On AIX, :attr:`sys.platform` doesn't contain the major version anymore. It " +"On AIX, :data:`sys.platform` doesn't contain the major version anymore. It " "is always ``'aix'``, instead of ``'aix3'`` .. ``'aix7'``. Since older " "Python versions include the version number, so it is recommended to always " -"use ``sys.platform.startswith('aix')``. (Contributed by M. Felt in :issue:" -"`36588`.)" +"use ``sys.platform.startswith('aix')``. (Contributed by M. Felt " +"in :issue:`36588`.)" msgstr "" -"No AIX, :attr:`sys.platform` não contém mais a versão principal. É sempre " +"No AIX, :data:`sys.platform` não contém mais a versão principal. É sempre " "``'aix'``, em vez de ``'aix3'`` .. ``'aix7'``. Como as versões mais antigas " -"do Python incluem o número da versão, é recomendável usar sempre ``sys." -"platform.startswith('aix')``. (Contribuição de M. Felt em :issue:`36588`.)" +"do Python incluem o número da versão, é recomendável usar sempre " +"``sys.platform.startswith('aix')``. (Contribuição de M. Felt " +"em :issue:`36588`.)" #: ../../whatsnew/3.8.rst:1845 msgid "" -":c:func:`PyEval_AcquireLock` and :c:func:`PyEval_AcquireThread` now " +":c:func:`!PyEval_AcquireLock` and :c:func:`!PyEval_AcquireThread` now " "terminate the current thread if called while the interpreter is finalizing, " -"making them consistent with :c:func:`PyEval_RestoreThread`, :c:func:" -"`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`. If this behavior is " -"not desired, guard the call by checking :c:func:`_Py_IsFinalizing` or :c:" -"func:`sys.is_finalizing`. (Contributed by Joannah Nanjekye in :issue:" -"`36475`.)" -msgstr "" -":c:func:`PyEval_AcquireLock` e :c:func:`PyEval_AcquireThread` agora encerram " -"a thread atual se chamado enquanto o interpretador está finalizando, " -"tornando-os consistentes com :c:func:`PyEval_RestoreThread`, :c:func:" -"`Py_END_ALLOW_THREADS` e :c:func:`PyGILState_Ensure`. Se esse comportamento " -"não for desejado, proteja a chamada verificando :c:func:`_Py_IsFinalizing` " -"ou :c:func:`sys.is_finalizing`. (Contribuição de Joannah Nanjekye em :issue:" -"`36475`.)" - -#: ../../whatsnew/3.8.rst:1855 +"making them consistent " +"with :c:func:`PyEval_RestoreThread`, :c:func:`Py_END_ALLOW_THREADS`, " +"and :c:func:`PyGILState_Ensure`. If this behavior is not desired, guard the " +"call by checking :c:func:`!_Py_IsFinalizing` or :func:`sys.is_finalizing`. " +"(Contributed by Joannah Nanjekye in :issue:`36475`.)" +msgstr "" +":c:func:`!PyEval_AcquireLock` e :c:func:`!PyEval_AcquireThread` agora " +"encerram a thread atual se chamado enquanto o interpretador está " +"finalizando, tornando-os consistentes " +"com :c:func:`PyEval_RestoreThread`, :c:func:`Py_END_ALLOW_THREADS` " +"e :c:func:`PyGILState_Ensure`. Se esse comportamento não for desejado, " +"proteja a chamada verificando :c:func:`!_Py_IsFinalizing` " +"ou :func:`sys.is_finalizing`. (Contribuição de Joannah Nanjekye " +"em :issue:`36475`.)" + +#: ../../whatsnew/3.8.rst:1855 ../../whatsnew/3.8.rst:2318 msgid "Changes in the Python API" msgstr "Alterações na API Python" @@ -3306,8 +3332,8 @@ msgid "" msgstr "" "A função :func:`os.getcwdb` agora usa a codificação UTF-8 no Windows, em vez " "da página de códigos ANSI: veja :pep:`529` para a justificativa. A função " -"não é mais descontinuada no Windows. (Contribuição de Victor Stinner em :" -"issue:`37412`.)" +"não é mais descontinuada no Windows. (Contribuição de Victor Stinner " +"em :issue:`37412`.)" #: ../../whatsnew/3.8.rst:1862 msgid "" @@ -3320,23 +3346,23 @@ msgid "" msgstr "" ":class:`subprocess.Popen` agora pode usar :func:`os.posix_spawn` em alguns " "casos, para obter melhor desempenho. No Windows Subsystem para Linux e " -"emulação de usuário QEMU, o construtor :class:`Popen` usando :func:`os." -"posix_spawn` não levanta mais uma exceção em erros como \"missing program\". " -"Em vez disso, o processo filho falha com um diferente de zero :attr:`~Popen." -"returncode`. (Contribuição de Joannah Nanjekye e Victor Stinner em :issue:" -"`35537`.)" +"emulação de usuário QEMU, o construtor :class:`Popen` " +"usando :func:`os.posix_spawn` não levanta mais uma exceção em erros como " +"\"missing program\". Em vez disso, o processo filho falha com um diferente " +"de zero :attr:`~Popen.returncode`. (Contribuição de Joannah Nanjekye e " +"Victor Stinner em :issue:`35537`.)" #: ../../whatsnew/3.8.rst:1869 msgid "" "The *preexec_fn* argument of * :class:`subprocess.Popen` is no longer " "compatible with subinterpreters. The use of the parameter in a " -"subinterpreter now raises :exc:`RuntimeError`. (Contributed by Eric Snow in :" -"issue:`34651`, modified by Christian Heimes in :issue:`37951`.)" +"subinterpreter now raises :exc:`RuntimeError`. (Contributed by Eric Snow " +"in :issue:`34651`, modified by Christian Heimes in :issue:`37951`.)" msgstr "" "O argumento *preexec_fn* de * :class:`subprocess.Popen` não é mais " "compatível com subinterpretadores. O uso do parâmetro em um subinterpretador " -"agora levanta :exc:`RuntimeError`. (Contribuição de Eric Snow em :issue:" -"`34651`, modificado por Christian Heimes em :issue:`37951`.)" +"agora levanta :exc:`RuntimeError`. (Contribuição de Eric Snow " +"em :issue:`34651`, modificado por Christian Heimes em :issue:`37951`.)" #: ../../whatsnew/3.8.rst:1875 msgid "" @@ -3352,42 +3378,43 @@ msgid "" "given multimodal data. Instead, it returns the first mode encountered in " "the input data. (Contributed by Raymond Hettinger in :issue:`35892`.)" msgstr "" -"A função :func:`Statistics.mode` não levanta mais uma exceção quando dados " +"A função :func:`statistics.mode` não levanta mais uma exceção quando dados " "multimodais são fornecidos. Em vez disso, ela retorna o primeiro modo " -"encontrado nos dados de entrada. (Contribuição de Raymond Hettinger em :" -"issue:`35892`.)" +"encontrado nos dados de entrada. (Contribuição de Raymond Hettinger " +"em :issue:`35892`.)" #: ../../whatsnew/3.8.rst:1888 msgid "" -"The :meth:`~tkinter.ttk.Treeview.selection` method of the :class:`tkinter." -"ttk.Treeview` class no longer takes arguments. Using it with arguments for " -"changing the selection was deprecated in Python 3.6. Use specialized " -"methods like :meth:`~tkinter.ttk.Treeview.selection_set` for changing the " -"selection. (Contributed by Serhiy Storchaka in :issue:`31508`.)" +"The :meth:`~tkinter.ttk.Treeview.selection` method of " +"the :class:`tkinter.ttk.Treeview` class no longer takes arguments. Using it " +"with arguments for changing the selection was deprecated in Python 3.6. Use " +"specialized methods like :meth:`~tkinter.ttk.Treeview.selection_set` for " +"changing the selection. (Contributed by Serhiy Storchaka in :issue:`31508`.)" msgstr "" -"O método :meth:`~tkinter.ttk.Treeview.selection` da classe :class:`tkinter." -"ttk.Treeview` não recebe mais argumentos. Seu uso com argumentos para " -"alterar a seleção foi descontinuado no Python 3.6. Use métodos " -"especializados como :meth:`~tkinter.ttk.Treeview.selection_set` para alterar " -"a seleção. (Contribuição de Serhiy Storchaka em :issue:`31508`.)" +"O método :meth:`~tkinter.ttk.Treeview.selection` da " +"classe :class:`tkinter.ttk.Treeview` não recebe mais argumentos. Seu uso com " +"argumentos para alterar a seleção foi descontinuado no Python 3.6. Use " +"métodos especializados como :meth:`~tkinter.ttk.Treeview.selection_set` para " +"alterar a seleção. (Contribuição de Serhiy Storchaka em :issue:`31508`.)" #: ../../whatsnew/3.8.rst:1894 msgid "" -"The :meth:`writexml`, :meth:`toxml` and :meth:`toprettyxml` methods of :mod:" -"`xml.dom.minidom`, and the :meth:`write` method of :mod:`xml.etree`, now " -"preserve the attribute order specified by the user. (Contributed by Diego " -"Rojas and Raymond Hettinger in :issue:`34160`.)" +"The :meth:`writexml`, :meth:`toxml` and :meth:`toprettyxml` methods " +"of :mod:`xml.dom.minidom`, and the :meth:`write` method of :mod:`xml.etree`, " +"now preserve the attribute order specified by the user. (Contributed by " +"Diego Rojas and Raymond Hettinger in :issue:`34160`.)" msgstr "" -"Os métodos :meth:`writexml`, :meth:`toxml` e :meth:`toprettyxml` de :mod:" -"`xml.dom.minidom`, e o método :meth:`write` de :mod:`xml.etree`, agora " -"preservam a ordem dos atributos especificados pelo usuário. (Contribuição de " -"Diego Rojas e Raymond Hettinger em :issue:`34160`.)" +"Os métodos :meth:`writexml`, :meth:`toxml` e :meth:`toprettyxml` " +"de :mod:`xml.dom.minidom`, e o método :meth:`write` de :mod:`xml.etree`, " +"agora preservam a ordem dos atributos especificados pelo usuário. " +"(Contribuição de Diego Rojas e Raymond Hettinger em :issue:`34160`.)" #: ../../whatsnew/3.8.rst:1899 msgid "" -"A :mod:`dbm.dumb` database opened with flags ``'r'`` is now read-only. :func:" -"`dbm.dumb.open` with flags ``'r'`` and ``'w'`` no longer creates a database " -"if it does not exist. (Contributed by Serhiy Storchaka in :issue:`32749`.)" +"A :mod:`dbm.dumb` database opened with flags ``'r'`` is now read-" +"only. :func:`dbm.dumb.open` with flags ``'r'`` and ``'w'`` no longer creates " +"a database if it does not exist. (Contributed by Serhiy Storchaka " +"in :issue:`32749`.)" msgstr "" "Um banco de dados :mod:`dbm.dumb` aberto com sinalizadores ``'r'`` agora é " "somente leitura. :func:`dbm.dumb.open` com os sinalizadores ``'r'`` e " @@ -3396,26 +3423,26 @@ msgstr "" #: ../../whatsnew/3.8.rst:1904 msgid "" -"The ``doctype()`` method defined in a subclass of :class:`~xml.etree." -"ElementTree.XMLParser` will no longer be called and will emit a :exc:" -"`RuntimeWarning` instead of a :exc:`DeprecationWarning`. Define the :meth:" -"`doctype() ` method on a target " -"for handling an XML doctype declaration. (Contributed by Serhiy Storchaka " -"in :issue:`29209`.)" +"The ``doctype()`` method defined in a subclass " +"of :class:`~xml.etree.ElementTree.XMLParser` will no longer be called and " +"will emit a :exc:`RuntimeWarning` instead of a :exc:`DeprecationWarning`. " +"Define the :meth:`doctype() ` " +"method on a target for handling an XML doctype declaration. (Contributed by " +"Serhiy Storchaka in :issue:`29209`.)" msgstr "" -"O método ``doctype()`` definido em uma subclasse de :class:`~xml.etree." -"ElementTree.XMLParser` não será mais chamado e emitirá um :exc:" -"`RuntimeWarning` em vez de um :exc:`DeprecationWarning`. Defina o método :" -"meth:`doctype() ` em um alvo para " -"manipular uma declaração doctype XML. (Contribuição de Serhiy Storchaka em :" -"issue:`29209`.)" +"O método ``doctype()`` definido em uma subclasse " +"de :class:`~xml.etree.ElementTree.XMLParser` não será mais chamado e emitirá " +"um :exc:`RuntimeWarning` em vez de um :exc:`DeprecationWarning`. Defina o " +"método :meth:`doctype() ` em um " +"alvo para manipular uma declaração doctype XML. (Contribuição de Serhiy " +"Storchaka em :issue:`29209`.)" #: ../../whatsnew/3.8.rst:1911 msgid "" "A :exc:`RuntimeError` is now raised when the custom metaclass doesn't " -"provide the ``__classcell__`` entry in the namespace passed to ``type." -"__new__``. A :exc:`DeprecationWarning` was emitted in Python 3.6--3.7. " -"(Contributed by Serhiy Storchaka in :issue:`23722`.)" +"provide the ``__classcell__`` entry in the namespace passed to " +"``type.__new__``. A :exc:`DeprecationWarning` was emitted in Python " +"3.6--3.7. (Contributed by Serhiy Storchaka in :issue:`23722`.)" msgstr "" "Uma :exc:`RuntimeError` agora é levantada quando a metaclasse personalizada " "não fornece a entrada ``__classcell__`` no espaço de nomes passado para " @@ -3432,15 +3459,14 @@ msgstr "" #: ../../whatsnew/3.8.rst:1919 msgid "" -":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" -"`shutil.copytree` and :func:`shutil.move` use platform-specific \"fast-" -"copy\" syscalls (see :ref:`shutil-platform-dependent-efficient-copy-" -"operations` section)." +":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:`shutil.copytree` " +"and :func:`shutil.move` use platform-specific \"fast-copy\" syscalls " +"(see :ref:`shutil-platform-dependent-efficient-copy-operations` section)." msgstr "" -":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" -"`shutil.copytree` e :func:`shutil.copytree` usam chamadas de sistema de " -"\"cópia rápido\" específica da plataforma (veja a seção :ref:`shutil-" -"platform-dependent-efficient-copy-operations`)." +":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:`shutil.copytree` " +"e :func:`shutil.move` usam chamadas de sistema de \"cópia rápido\" " +"específica da plataforma (veja a seção :ref:`shutil-platform-dependent-" +"efficient-copy-operations`)." #: ../../whatsnew/3.8.rst:1924 msgid "" @@ -3501,33 +3527,34 @@ msgid "" "entities by default. (Contributed by Christian Heimes in :issue:`17239`.)" msgstr "" "Os módulos :mod:`xml.dom.minidom` e :mod:`xml.sax` não mais processam " -"entidades externas por padrão. (Contribuição de Christian Heimes em :issue:" -"`17239`.)" +"entidades externas por padrão. (Contribuição de Christian Heimes " +"em :issue:`17239`.)" #: ../../whatsnew/3.8.rst:1951 msgid "" -"Deleting a key from a read-only :mod:`dbm` database (:mod:`dbm.dumb`, :mod:" -"`dbm.gnu` or :mod:`dbm.ndbm`) raises :attr:`error` (:exc:`dbm.dumb.error`, :" -"exc:`dbm.gnu.error` or :exc:`dbm.ndbm.error`) instead of :exc:`KeyError`. " -"(Contributed by Xiang Zhang in :issue:`33106`.)" +"Deleting a key from a read-only :mod:`dbm` database " +"(:mod:`dbm.dumb`, :mod:`dbm.gnu` or :mod:`dbm.ndbm`) raises :attr:`error` " +"(:exc:`dbm.dumb.error`, :exc:`dbm.gnu.error` or :exc:`dbm.ndbm.error`) " +"instead of :exc:`KeyError`. (Contributed by Xiang Zhang in :issue:`33106`.)" msgstr "" -"A exclusão de uma chave de um banco de dados somente leitura :mod:`dbm` (:" -"mod:`dbm.dumb`, :mod:`dbm.gnu` ou :mod:`dbm.ndbm`) levanta :attr:`error` (:" -"exc:`dbm.dumb.error`, :exc:`dbm.gnu.error` ou :exc:`dbm.ndbm.error`) em vez " -"de :exc:`KeyError`. (Contribuição de Xiang Zhang em :issue:`33106`.)" +"A exclusão de uma chave de um banco de dados somente leitura :mod:`dbm` " +"(:mod:`dbm.dumb`, :mod:`dbm.gnu` ou :mod:`dbm.ndbm`) levanta :attr:`error` " +"(:exc:`dbm.dumb.error`, :exc:`dbm.gnu.error` ou :exc:`dbm.ndbm.error`) em " +"vez de :exc:`KeyError`. (Contribuição de Xiang Zhang em :issue:`33106`.)" #: ../../whatsnew/3.8.rst:1956 msgid "" -"Simplified AST for literals. All constants will be represented as :class:" -"`ast.Constant` instances. Instantiating old classes ``Num``, ``Str``, " -"``Bytes``, ``NameConstant`` and ``Ellipsis`` will return an instance of " -"``Constant``. (Contributed by Serhiy Storchaka in :issue:`32892`.)" +"Simplified AST for literals. All constants will be represented " +"as :class:`ast.Constant` instances. Instantiating old classes ``Num``, " +"``Str``, ``Bytes``, ``NameConstant`` and ``Ellipsis`` will return an " +"instance of ``Constant``. (Contributed by Serhiy Storchaka " +"in :issue:`32892`.)" msgstr "" "AST foi simplificado para literais. Todas as constantes serão representadas " "como instâncias de :class:`ast.Constant`. Instanciar classes antigas " "``Num``, ``Str``, ``Bytes``, ``NameConstant`` e ``Ellipsis`` retornará uma " -"instância de ``Constant``. (Contribuição de Serhiy Storchaka em :issue:" -"`32892`.)" +"instância de ``Constant``. (Contribuição de Serhiy Storchaka " +"em :issue:`32892`.)" #: ../../whatsnew/3.8.rst:1972 msgid "" @@ -3559,28 +3586,30 @@ msgstr ":class:`asyncio.BufferedProtocol` foi promovida a API estável." msgid "" "DLL dependencies for extension modules and DLLs loaded with :mod:`ctypes` on " "Windows are now resolved more securely. Only the system paths, the directory " -"containing the DLL or PYD file, and directories added with :func:`~os." -"add_dll_directory` are searched for load-time dependencies. Specifically, :" -"envvar:`PATH` and the current working directory are no longer used, and " -"modifications to these will no longer have any effect on normal DLL " -"resolution. If your application relies on these mechanisms, you should check " -"for :func:`~os.add_dll_directory` and if it exists, use it to add your DLLs " -"directory while loading your library. Note that Windows 7 users will need to " -"ensure that Windows Update KB2533623 has been installed (this is also " -"verified by the installer). (Contributed by Steve Dower in :issue:`36085`.)" -msgstr "" -"As dependências de DLL para módulos de extensão e DLLs carregadas com :mod:" -"`ctypes` no Windows agora são resolvidas com mais segurança. Somente os " -"caminhos do sistema, o diretório que contém o arquivo DLL ou PYD e os " -"diretórios adicionados com :func:`~os.add_dll_directory` são pesquisados por " -"dependências de tempo de carregamento. Especificamente, :envvar:`PATH` e o " -"diretório de trabalho atual não são mais usados, e as modificações nelas não " -"terão mais efeito na resolução normal da DLL. Se seu aplicativo conta com " -"esses mecanismos, você deve verificar :func:`~os.add_dll_directory` e, se " -"existir, use-o para adicionar seu diretório DLLs ao carregar sua biblioteca. " -"Observe que os usuários do Windows 7 precisarão garantir que o Windows " -"Update KB2533623 esteja instalado (isso também é verificado pelo " -"instalador). (Contribuição de Steve Dower em :issue:`36085`.)" +"containing the DLL or PYD file, and directories added " +"with :func:`~os.add_dll_directory` are searched for load-time dependencies. " +"Specifically, :envvar:`PATH` and the current working directory are no longer " +"used, and modifications to these will no longer have any effect on normal " +"DLL resolution. If your application relies on these mechanisms, you should " +"check for :func:`~os.add_dll_directory` and if it exists, use it to add your " +"DLLs directory while loading your library. Note that Windows 7 users will " +"need to ensure that Windows Update KB2533623 has been installed (this is " +"also verified by the installer). (Contributed by Steve Dower " +"in :issue:`36085`.)" +msgstr "" +"As dependências de DLL para módulos de extensão e DLLs carregadas " +"com :mod:`ctypes` no Windows agora são resolvidas com mais segurança. " +"Somente os caminhos do sistema, o diretório que contém o arquivo DLL ou PYD " +"e os diretórios adicionados com :func:`~os.add_dll_directory` são " +"pesquisados por dependências de tempo de carregamento. " +"Especificamente, :envvar:`PATH` e o diretório de trabalho atual não são mais " +"usados, e as modificações nelas não terão mais efeito na resolução normal da " +"DLL. Se seu aplicativo conta com esses mecanismos, você deve " +"verificar :func:`~os.add_dll_directory` e, se existir, use-o para adicionar " +"seu diretório DLLs ao carregar sua biblioteca. Observe que os usuários do " +"Windows 7 precisarão garantir que o Windows Update KB2533623 esteja " +"instalado (isso também é verificado pelo instalador). (Contribuição de Steve " +"Dower em :issue:`36085`.)" #: ../../whatsnew/3.8.rst:1998 msgid "" @@ -3635,11 +3664,11 @@ msgstr "" #: ../../whatsnew/3.8.rst:2021 msgid "" -"The :c:func:`PyEval_ReInitThreads` function has been removed from the C API. " -"It should not be called explicitly: use :c:func:`PyOS_AfterFork_Child` " +"The :c:func:`!PyEval_ReInitThreads` function has been removed from the C " +"API. It should not be called explicitly: use :c:func:`PyOS_AfterFork_Child` " "instead. (Contributed by Victor Stinner in :issue:`36728`.)" msgstr "" -"A função :c:func:`PyEval_ReInitThreads` foi removida da API C. Não deve ser " +"A função :c:func:`!PyEval_ReInitThreads` foi removida da API C. Não deve ser " "chamada explicitamente: use :c:func:`PyOS_AfterFork_Child`. (Contribuição de " "Victor Stinner em :issue:`36728`.)" @@ -3663,34 +3692,35 @@ msgstr "" #: ../../whatsnew/3.8.rst:2034 msgid "" -"Use of ``#`` variants of formats in parsing or building value (e.g. :c:func:" -"`PyArg_ParseTuple`, :c:func:`Py_BuildValue`, :c:func:" -"`PyObject_CallFunction`, etc.) without ``PY_SSIZE_T_CLEAN`` defined raises " -"``DeprecationWarning`` now. It will be removed in 3.10 or 4.0. Read :ref:" -"`arg-parsing` for detail. (Contributed by Inada Naoki in :issue:`36381`.)" +"Use of ``#`` variants of formats in parsing or building value " +"(e.g. :c:func:`PyArg_ParseTuple`, :c:func:`Py_BuildValue`, :c:func:`PyObject_CallFunction`, " +"etc.) without ``PY_SSIZE_T_CLEAN`` defined raises ``DeprecationWarning`` " +"now. It will be removed in 3.10 or 4.0. Read :ref:`arg-parsing` for detail. " +"(Contributed by Inada Naoki in :issue:`36381`.)" msgstr "" "O uso de variantes ``#`` de formatos na análise ou construção de valor (por " -"exemplo, :c:func:`PyArg_ParseTuple`, :c:func:`Py_BuildValue`, :c:func:" -"`PyObject_CallFunction`, etc.) sem ``PY_SSIZE_T_CLEAN`` definido agora " -"levanta ``DeprecationWarning``. Será removido em 3.10 ou 4.0. Leia :ref:`arg-" +"exemplo, :c:func:`PyArg_ParseTuple`, :c:func:`Py_BuildValue`, :c:func:`PyObject_CallFunction`, " +"etc.) sem ``PY_SSIZE_T_CLEAN`` definido agora levanta " +"``DeprecationWarning``. Será removido em 3.10 ou 4.0. Leia :ref:`arg-" "parsing` para detalhes. (Contribuição de Inada Naoki em :issue:`36381`.)" #: ../../whatsnew/3.8.rst:2040 msgid "" -"Instances of heap-allocated types (such as those created with :c:func:" -"`PyType_FromSpec`) hold a reference to their type object. Increasing the " -"reference count of these type objects has been moved from :c:func:" -"`PyType_GenericAlloc` to the more low-level functions, :c:func:" -"`PyObject_Init` and :c:func:`PyObject_INIT`. This makes types created " -"through :c:func:`PyType_FromSpec` behave like other classes in managed code." -msgstr "" -"Instâncias de tipos alocados por heap (como aqueles criados com :c:func:" -"`PyType_FromSpec`) mantêm uma referência ao seu objeto de tipo. O aumento da " -"contagem de referências desses objetos de tipo foi movido de :c:func:" -"`PyType_GenericAlloc` para as funções de nível mais baixo, :c:func:" -"`PyObject_Init` e :c:func:`PyObject_INIT`. Isso faz com que os tipos criados " -"através de :c:func:`PyType_FromSpec` se comportem como outras classes no " -"código gerenciado." +"Instances of heap-allocated types (such as those created " +"with :c:func:`PyType_FromSpec`) hold a reference to their type object. " +"Increasing the reference count of these type objects has been moved " +"from :c:func:`PyType_GenericAlloc` to the more low-level " +"functions, :c:func:`PyObject_Init` and :c:func:`PyObject_INIT`. This makes " +"types created through :c:func:`PyType_FromSpec` behave like other classes in " +"managed code." +msgstr "" +"Instâncias de tipos alocados por heap (como aqueles criados " +"com :c:func:`PyType_FromSpec`) mantêm uma referência ao seu objeto de tipo. " +"O aumento da contagem de referências desses objetos de tipo foi movido " +"de :c:func:`PyType_GenericAlloc` para as funções de nível mais " +"baixo, :c:func:`PyObject_Init` e :c:func:`PyObject_INIT`. Isso faz com que " +"os tipos criados através de :c:func:`PyType_FromSpec` se comportem como " +"outras classes no código gerenciado." #: ../../whatsnew/3.8.rst:2048 msgid ":ref:`Statically allocated types ` are not affected." @@ -3720,16 +3750,16 @@ msgstr "" #: ../../whatsnew/3.8.rst:2059 msgid "" "Remove :c:macro:`Py_INCREF` on the type object after allocating an instance " -"- if any. This may happen after calling :c:func:`PyObject_New`, :c:func:" -"`PyObject_NewVar`, :c:func:`PyObject_GC_New`, :c:func:`PyObject_GC_NewVar`, " -"or any other custom allocator that uses :c:func:`PyObject_Init` or :c:func:" -"`PyObject_INIT`." +"- if any. This may happen after " +"calling :c:macro:`PyObject_New`, :c:macro:`PyObject_NewVar`, :c:func:`PyObject_GC_New`, :c:func:`PyObject_GC_NewVar`, " +"or any other custom allocator that uses :c:func:`PyObject_Init` " +"or :c:func:`PyObject_INIT`." msgstr "" "Remove :c:macro:`Py_INCREF` no objeto de tipo depois de alocar uma instância " -"-- se houver. Isso pode acontecer após a chamada :c:func:`PyObject_New`, :c:" -"func:`PyObject_NewVar`, :c:func:`PyObject_GC_New`, :c:func:" -"`PyObject_GC_NewVar` ou qualquer outro alocador personalizado que use :c:" -"func:`PyObject_Init` ou :c:func:`PyObject_INIT`." +"-- se houver. Isso pode acontecer após a chamada " +"de :c:macro:`PyObject_New`, :c:macro:`PyObject_NewVar`, :c:func:`PyObject_GC_New`, :c:func:`PyObject_GC_NewVar` " +"ou qualquer outro alocador personalizado que use :c:func:`PyObject_Init` " +"ou :c:func:`PyObject_INIT`." #: ../../whatsnew/3.8.rst:2066 ../../whatsnew/3.8.rst:2085 #: ../../whatsnew/3.8.rst:2104 @@ -3765,16 +3795,18 @@ msgid "" "The interpreter does not pretend to support binary compatibility of " "extension types across feature releases, anymore. A :c:type:`PyTypeObject` " "exported by a third-party extension module is supposed to have all the slots " -"expected in the current Python version, including :c:member:`~PyTypeObject." -"tp_finalize` (:const:`Py_TPFLAGS_HAVE_FINALIZE` is not checked anymore " -"before reading :c:member:`~PyTypeObject.tp_finalize`)." +"expected in the current Python version, " +"including :c:member:`~PyTypeObject.tp_finalize` " +"(:c:macro:`Py_TPFLAGS_HAVE_FINALIZE` is not checked anymore before " +"reading :c:member:`~PyTypeObject.tp_finalize`)." msgstr "" "O interpretador não pretende mais dar suporte à compatibilidade binária de " "tipos de extensão nas liberações de recursos. O :c:type:`PyTypeObject` " "exportado por um módulo de extensão de terceiros deve ter todos os slots " -"esperados na versão atual do Python, incluindo :c:member:`~PyTypeObject." -"tp_finalize` (:const:`Py_TPFLAGS_HAVE_FINALIZE` não é mais verificado antes " -"de ler :c:member:`~PyTypeObject.tp_finalize`)." +"esperados na versão atual do Python, " +"incluindo :c:member:`~PyTypeObject.tp_finalize` " +"(:c:macro:`Py_TPFLAGS_HAVE_FINALIZE` não é mais verificado antes de " +"ler :c:member:`~PyTypeObject.tp_finalize`)." #: ../../whatsnew/3.8.rst:2119 msgid "(Contributed by Antoine Pitrou in :issue:`32388`.)" @@ -3782,10 +3814,11 @@ msgstr "(Contribuição de Antoine Pitrou em :issue:`32388`.)" #: ../../whatsnew/3.8.rst:2121 msgid "" -"The functions :c:func:`PyNode_AddChild` and :c:func:`PyParser_AddToken` now " -"accept two additional ``int`` arguments *end_lineno* and *end_col_offset*." +"The functions :c:func:`!PyNode_AddChild` and :c:func:`!PyParser_AddToken` " +"now accept two additional ``int`` arguments *end_lineno* and " +"*end_col_offset*." msgstr "" -"As funções :c:func:`PyNode_AddChild` e :c:func:`PyParser_AddToken` agora " +"As funções :c:func:`!PyNode_AddChild` e :c:func:`!PyParser_AddToken` agora " "aceitam dois argumentos adicionais ``int`` *end_lineno* e *end_col_offset*." #: ../../whatsnew/3.8.rst:2124 @@ -3805,16 +3838,16 @@ msgstr "" #: ../../whatsnew/3.8.rst:2134 msgid "" "The location of an installed :file:`pythonXY.dll` will depend on the " -"installation options and the version and language of Windows. See :ref:" -"`using-on-windows` for more information. The resulting library should be " -"placed in the same directory as :file:`pythonXY.lib`, which is generally " -"the :file:`libs` directory under your Python installation." +"installation options and the version and language of Windows. " +"See :ref:`using-on-windows` for more information. The resulting library " +"should be placed in the same directory as :file:`pythonXY.lib`, which is " +"generally the :file:`libs` directory under your Python installation." msgstr "" "A localização de um arquivo :file:`pythonXY.dll` dependerá das opções de " "instalação e da versão e idioma do Windows. Consulte :ref:`using-on-windows` " "para mais informações. A biblioteca resultante deve ser colocada no mesmo " -"diretório que :file:`pythonXY.lib`, que geralmente é o diretório :file:" -"`libs` na sua instalação do Python." +"diretório que :file:`pythonXY.lib`, que geralmente é o " +"diretório :file:`libs` na sua instalação do Python." #: ../../whatsnew/3.8.rst:2140 msgid "(Contributed by Steve Dower in :issue:`37351`.)" @@ -3838,25 +3871,27 @@ msgstr "" #: ../../whatsnew/3.8.rst:2152 msgid "" -"Removed opcodes :opcode:`BREAK_LOOP`, :opcode:`CONTINUE_LOOP`, :opcode:" -"`SETUP_LOOP` and :opcode:`SETUP_EXCEPT`. Added new opcodes :opcode:" -"`ROT_FOUR`, :opcode:`BEGIN_FINALLY`, :opcode:`CALL_FINALLY` and :opcode:" -"`POP_FINALLY`. Changed the behavior of :opcode:`END_FINALLY` and :opcode:" -"`WITH_CLEANUP_START`." +"Removed " +"opcodes :opcode:`BREAK_LOOP`, :opcode:`CONTINUE_LOOP`, :opcode:`SETUP_LOOP` " +"and :opcode:`SETUP_EXCEPT`. Added new " +"opcodes :opcode:`ROT_FOUR`, :opcode:`BEGIN_FINALLY`, :opcode:`CALL_FINALLY` " +"and :opcode:`POP_FINALLY`. Changed the behavior of :opcode:`END_FINALLY` " +"and :opcode:`WITH_CLEANUP_START`." msgstr "" -"Removidos os códigos de operação :opcode:`BREAK_LOOP`, :opcode:" -"`CONTINUE_LOOP`, :opcode:`SETUP_LOOP` e :opcode:`SETUP_EXCEPT`. Adicionados " -"novos códigos de operação :opcode:`ROT_FOUR`, :opcode:`BEGIN_FINALLY`, :" -"opcode:`CALL_FINALLY` e :opcode:`POP_FINALLY`. Alterado o comportamento de :" -"opcode:`END_FINALLY` e :opcode:`WITH_CLEANUP_START`." +"Removidos os códigos de " +"operação :opcode:`BREAK_LOOP`, :opcode:`CONTINUE_LOOP`, :opcode:`SETUP_LOOP` " +"e :opcode:`SETUP_EXCEPT`. Adicionados novos códigos de " +"operação :opcode:`ROT_FOUR`, :opcode:`BEGIN_FINALLY`, :opcode:`CALL_FINALLY` " +"e :opcode:`POP_FINALLY`. Alterado o comportamento de :opcode:`END_FINALLY` " +"e :opcode:`WITH_CLEANUP_START`." #: ../../whatsnew/3.8.rst:2158 msgid "" -"(Contributed by Mark Shannon, Antoine Pitrou and Serhiy Storchaka in :issue:" -"`17611`.)" +"(Contributed by Mark Shannon, Antoine Pitrou and Serhiy Storchaka " +"in :issue:`17611`.)" msgstr "" -"(Contribuição de Mark Shannon, Antoine Pitrou e Serhiy Storchaka em :issue:" -"`17611`.)" +"(Contribuição de Mark Shannon, Antoine Pitrou e Serhiy Storchaka " +"em :issue:`17611`.)" #: ../../whatsnew/3.8.rst:2161 msgid "" @@ -3918,12 +3953,12 @@ msgstr "Alterações notáveis no Python 3.8.1" #: ../../whatsnew/3.8.rst:2236 msgid "" -"Due to significant security concerns, the *reuse_address* parameter of :meth:" -"`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " -"because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For " -"more details, see the documentation for ``loop.create_datagram_endpoint()``. " -"(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:" -"`37228`.)" +"Due to significant security concerns, the *reuse_address* parameter " +"of :meth:`asyncio.loop.create_datagram_endpoint` is no longer supported. " +"This is because of the behavior of the socket option ``SO_REUSEADDR`` in " +"UDP. For more details, see the documentation for " +"``loop.create_datagram_endpoint()``. (Contributed by Kyle Stanley, Antoine " +"Pitrou, and Yury Selivanov in :issue:`37228`.)" msgstr "" "Devido a significativas preocupações de segurança, o parâmetro " "*reuse_address* de :meth:`asyncio.loop.create_datagram_endpoint` não é mais " @@ -3933,35 +3968,151 @@ msgstr "" "Pitrou e Yury Selivanov em :issue:`37228`.)" #: ../../whatsnew/3.8.rst:2244 +msgid "Notable changes in Python 3.8.2" +msgstr "Alterações notáveis no Python 3.8.2" + +#: ../../whatsnew/3.8.rst:2246 +msgid "" +"Fixed a regression with the ``ignore`` callback of :func:`shutil.copytree`. " +"The argument types are now str and List[str] again. (Contributed by Manuel " +"Barkhau and Giampaolo Rodola in :gh:`83571`.)" +msgstr "" +"Corrigida uma regressão com o retorno de chamada ``ignore`` " +"de :func:`shutil.copytree`. Os tipos de argumento agora são str e List[str] " +"novamente. (Contribuição de Manuel Barkhau e Giampaolo Rodola " +"em :gh:`83571`.)" + +#: ../../whatsnew/3.8.rst:2251 +msgid "Notable changes in Python 3.8.3" +msgstr "Alterações notáveis no Python 3.8.3" + +#: ../../whatsnew/3.8.rst:2253 +msgid "" +"The constant values of future flags in the :mod:`__future__` module are " +"updated in order to prevent collision with compiler flags. Previously " +"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` was clashing with ``CO_FUTURE_DIVISION``. " +"(Contributed by Batuhan Taskaya in :gh:`83743`)" +msgstr "" +"Os valores constantes dos futuros sinalizadores no módulo :mod:`__future__` " +"fpram atualizados para evitar colisão com os sinalizadores do compilador. " +"Anteriormente, ``PyCF_ALLOW_TOP_LEVEL_AWAIT`` estava colidindo com " +"``CO_FUTURE_DIVISION``. (Contribuição de Batuhan Taskaya em :gh:`83743`)" + +#: ../../whatsnew/3.8.rst:2259 msgid "Notable changes in Python 3.8.8" msgstr "Alterações notáveis no Python 3.8.8" -#: ../../whatsnew/3.8.rst:2246 +#: ../../whatsnew/3.8.rst:2261 msgid "" "Earlier Python versions allowed using both ``;`` and ``&`` as query " -"parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." -"parse.parse_qsl`. Due to security concerns, and to conform with newer W3C " -"recommendations, this has been changed to allow only a single separator key, " -"with ``&`` as the default. This change also affects :func:`cgi.parse` and :" -"func:`cgi.parse_multipart` as they use the affected functions internally. " -"For more details, please see their respective documentation. (Contributed by " -"Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" +"parameter separators in :func:`urllib.parse.parse_qs` " +"and :func:`urllib.parse.parse_qsl`. Due to security concerns, and to " +"conform with newer W3C recommendations, this has been changed to allow only " +"a single separator key, with ``&`` as the default. This change also " +"affects :func:`cgi.parse` and :func:`cgi.parse_multipart` as they use the " +"affected functions internally. For more details, please see their respective " +"documentation. (Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin " +"in :issue:`42967`.)" msgstr "" "Versões anteriores do Python permitiam o uso de ``;`` e ``&`` como " -"separadores de parâmetros de consulta nas funções :func:`urllib.parse." -"parse_qs` e :func:`urllib.parse.parse_qsl`. Devido a questões de segurança, " -"e em conformidade com as recomendações mais recentes do W3C, isso foi " -"alterado para permitir apenas uma única chave separadora, com ``&`` como " -"padrão. Esta mudança também afeta as funções :func:`cgi.parse` e :func:`cgi." -"parse_multipart` já que elas usam as funções afetadas internamente. Para " -"obter mais detalhes, consulte sua respectiva documentação. (Contribuição de " -"Adam Goldschmidt, Senthil Kumaran e Ken Jin em :issue:`42967`.)" - -#: ../../whatsnew/3.8.rst:2257 +"separadores de parâmetros de consulta nas " +"funções :func:`urllib.parse.parse_qs` e :func:`urllib.parse.parse_qsl`. " +"Devido a questões de segurança, e em conformidade com as recomendações mais " +"recentes do W3C, isso foi alterado para permitir apenas uma única chave " +"separadora, com ``&`` como padrão. Esta mudança também afeta as " +"funções :func:`cgi.parse` e :func:`cgi.parse_multipart` já que elas usam as " +"funções afetadas internamente. Para obter mais detalhes, consulte sua " +"respectiva documentação. (Contribuição de Adam Goldschmidt, Senthil Kumaran " +"e Ken Jin em :issue:`42967`.)" + +#: ../../whatsnew/3.8.rst:2272 +msgid "Notable changes in Python 3.8.9" +msgstr "Alterações notáveis no Python 3.8.9" + +#: ../../whatsnew/3.8.rst:2274 +msgid "" +"A security fix alters the :class:`ftplib.FTP` behavior to not trust the IPv4 " +"address sent from the remote server when setting up a passive data channel. " +"We reuse the ftp server IP address instead. For unusual code requiring the " +"old behavior, set a ``trust_server_pasv_ipv4_address`` attribute on your FTP " +"instance to ``True``. (See :gh:`87451`)" +msgstr "" +"Uma correção de segurança altera o comportamento :class:`ftplib.FTP` para " +"não confiar no endereço IPv4 enviado do servidor remoto ao configurar um " +"canal de dados passivo. Em vez disso, reutilizamos o endereço IP do servidor " +"ftp. Para códigos incomuns que requerem o comportamento antigo, defina um " +"atributo ``trust_server_pasv_ipv4_address`` em sua instância de FTP para " +"``True``. (Veja :gh:`87451`)" + +#: ../../whatsnew/3.8.rst:2281 ../../whatsnew/3.8.rst:2301 +msgid "Notable changes in Python 3.8.10" +msgstr "Alterações notáveis no Python 3.8.10" + +#: ../../whatsnew/3.8.rst:2284 +msgid "macOS 11.0 (Big Sur) and Apple Silicon Mac support" +msgstr "Suporte a macOS 11.0 (Big Sur) e Apple Silicon Mac" + +#: ../../whatsnew/3.8.rst:2286 +msgid "" +"As of 3.8.10, Python now supports building and running on macOS 11 (Big Sur) " +"and on Apple Silicon Macs (based on the ``ARM64`` architecture). A new " +"universal build variant, ``universal2``, is now available to natively " +"support both ``ARM64`` and ``Intel 64`` in one set of executables. Note that " +"support for \"weaklinking\", building binaries targeted for newer versions " +"of macOS that will also run correctly on older versions by testing at " +"runtime for missing features, is not included in this backport from Python " +"3.9; to support a range of macOS versions, continue to target for and build " +"on the oldest version in the range." +msgstr "" +"A partir do 3.8.10, Python oferece suporte total à construção e execução no " +"macOS 11 (Big Sur) e no Apple Silicon Macs (baseado na arquitetura " +"``ARM64``). Uma nova variante de compilação universal, ``universal2``, está " +"agora disponível com suporte nativo para ``ARM64`` e ``Intel 64`` em um " +"conjunto de executáveis. Observe que suporte para \"ligação fraca\", criar " +"binários direcionados para versões mais recentes do macOS que também serão " +"executados corretamente em versões mais antigas através da verificação em " +"tempo de execução por recursos ausentes, não está mais incluída de forma " +"retroativa do Python 3.9; para oferece suporte a uma gama de versões do " +"macOS, continue a visar e a desenvolver para a versão mais antiga do " +"intervalo." + +#: ../../whatsnew/3.8.rst:2296 +msgid "" +"(Originally contributed by Ronald Oussoren and Lawrence D'Anna " +"in :gh:`85272`, with fixes by FX Coudert and Eli Rykoff, and backported to " +"3.8 by Maxime Bélanger and Ned Deily)" +msgstr "" +"(Contribuição original de Ronald Oussoren e Lawrence D'Anna em :gh:`85272`, " +"com correções de FX Coudert e Eli Rykoff, e portado para a versão 3.8 por " +"Maxime Bélanger e Ned Deily)" + +#: ../../whatsnew/3.8.rst:2304 +msgid "urllib.parse" +msgstr "urllib.parse" + +#: ../../whatsnew/3.8.rst:2306 +msgid "" +"The presence of newline or tab characters in parts of a URL allows for some " +"forms of attacks. Following the WHATWG specification that " +"updates :rfc:`3986`, ASCII newline ``\\n``, ``\\r`` and tab ``\\t`` " +"characters are stripped from the URL by the parser in :mod:`urllib.parse` " +"preventing such attacks. The removal characters are controlled by a new " +"module level variable ``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. " +"(See :issue:`43882`)" +msgstr "" +"A presença de caracteres de nova linha ou tab em partes de um URL permite " +"algumas formas de ataques. Seguindo a especificação WHATWG que " +"atualiza :rfc:`3986`, nova linha ASCII ``\\n``, ``\\r`` e os caracteres de " +"tabulação ``\\t`` são retirados da URL pelo analisador sintático " +"em :mod:`urllib.parse` impedindo tais ataques. Os caracteres de remoção são " +"controlados por uma nova variável de nível de módulo " +"``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. (Veja :issue:`43882`)" + +#: ../../whatsnew/3.8.rst:2315 msgid "Notable changes in Python 3.8.12" msgstr "Alterações notáveis no Python 3.8.12" -#: ../../whatsnew/3.8.rst:2259 +#: ../../whatsnew/3.8.rst:2320 msgid "" "Starting with Python 3.8.12 the :mod:`ipaddress` module no longer accepts " "any leading zeros in IPv4 address strings. Leading zeros are ambiguous and " @@ -3977,10 +4128,61 @@ msgstr "" "notação octal. A implementação glibc de :func:`~socket.inet_pton` moderna " "não aceita nenhum zeros à esquerda." -#: ../../whatsnew/3.8.rst:2266 +#: ../../whatsnew/3.8.rst:2327 msgid "" "(Originally contributed by Christian Heimes in :issue:`36384`, and " "backported to 3.8 by Achraf Merzouki.)" msgstr "" "(Originalmente contribuição de Christian Heimes em :issue:`36384` e backport " "para 3.8 por Achraf Merzouki.)" + +#: ../../whatsnew/3.8.rst:2331 +msgid "Notable security feature in 3.8.14" +msgstr "Recursos de segurança notáveis no 3.8.14" + +#: ../../whatsnew/3.8.rst:2333 +msgid "" +"Converting between :class:`int` and :class:`str` in bases other than 2 " +"(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) " +"now raises a :exc:`ValueError` if the number of digits in string form is " +"above a limit to avoid potential denial of service attacks due to the " +"algorithmic complexity. This is a mitigation for `CVE-2020-10735 `_. This limit can be " +"configured or disabled by environment variable, command line flag, " +"or :mod:`sys` APIs. See the :ref:`integer string conversion length " +"limitation ` documentation. The default limit is 4300 " +"digits in string form." +msgstr "" +"Converter entre :class:`int` e :class:`str` em bases diferentes de 2 " +"(binário), 4, 8 (octal), 16 (hexadecimal) ou 32 como base 10 (decimal) agora " +"levanta uma exceção :exc:`ValueError` se o número de dígitos em forma de " +"string estiver acima de um limite para evitar possíveis ataques de negação " +"de serviço devido à complexidade algorítmica. Esta é uma mitigação para " +"`CVE-2020-10735 `_. Este limite pode ser configurado ou desabilitado por " +"variável de ambiente, sinalizador de linha de comando ou APIs de :mod:`sys`. " +"Veja a documentação de :ref:`limitação de comprimento de conversão de string " +"inteira `. O limite padrão é de 4300 dígitos em forma de " +"string." + +#: ../../whatsnew/3.8.rst:2345 +msgid "Notable changes in 3.8.17" +msgstr "Alterações notáveis no 3.8.17" + +#: ../../whatsnew/3.8.rst:2350 +msgid "" +"The extraction methods in :mod:`tarfile`, and :func:`shutil.unpack_archive`, " +"have a new a *filter* argument that allows limiting tar features than may be " +"surprising or dangerous, such as creating files outside the destination " +"directory. See :ref:`tarfile-extraction-filter` for details. In Python 3.12, " +"use without the *filter* argument will show a :exc:`DeprecationWarning`. In " +"Python 3.14, the default will switch to ``'data'``. (Contributed by Petr " +"Viktorin in :pep:`706`.)" +msgstr "" +"Os métodos de extração em :mod:`tarfile` e :func:`shutil.unpack_archive`, " +"têm um novo argumento *filter* que permite limitar recursos do tar que podem " +"ser surpreendentes ou perigosos, como criar arquivos fora do diretório de " +"destino. Veja :ref:`tarfile-extraction-filter` para detalhes. No Python " +"3.12, usar sem o argumento *filter* mostrará um :exc:`DeprecationWarning`. " +"No Python 3.14, o padrão mudará para ``'data'``. (Contribuição de Petr " +"Viktorin em :pep:`706`.)" diff --git a/whatsnew/3.9.po b/whatsnew/3.9.po index 7087f01f4..f82c9324c 100644 --- a/whatsnew/3.9.po +++ b/whatsnew/3.9.po @@ -1,34 +1,25 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2026, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# André Filipe de Assunção e Brito , 2021 -# i17obot , 2021 -# Raphael Mendonça, 2021 -# Hildeberto Abreu Magalhães , 2021 -# Marco Rougeth , 2021 -# Claudio Rogerio Carvalho Filho , 2021 -# Italo Penaforte , 2021 -# Victor Matheus Castro , 2021 -# Adorilson Bezerra , 2022 -# Rafael Fontenelle , 2023 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-05-08 19:31+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Rafael Fontenelle , 2023\n" +"POT-Creation-Date: 2026-10-23 21:23+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -47,56 +38,54 @@ msgstr "Łukasz Langa" #: ../../whatsnew/3.9.rst:45 msgid "" "This article explains the new features in Python 3.9, compared to 3.8. " -"Python 3.9 was released on October 5, 2020." +"Python 3.9 was released on October 5, 2020. For full details, see " +"the :ref:`changelog `." msgstr "" -"Esse artigo explica os novos recursos em Python 3.9, comparado ao 3.8. " -"Python 3.9 foi lançado em 5 de outubro de 2020." - -#: ../../whatsnew/3.9.rst:48 -msgid "For full details, see the :ref:`changelog `." -msgstr "Para detalhes completos, veja o :ref:`changelog `." +"Este artigo explica os novos recursos do Python 3.9, em comparação com o " +"3.8. Python 3.9 foi lançado em 15 de outubro de 2020. Veja o :ref:`changelog " +"` para uma lista completa de mudanças." -#: ../../whatsnew/3.9.rst:52 +#: ../../whatsnew/3.9.rst:51 msgid ":pep:`596` - Python 3.9 Release Schedule" -msgstr ":pep:`596` - Python 3.9 Release Schedule" +msgstr ":pep:`596` - Cronograma de lançamento do Python 3.9" -#: ../../whatsnew/3.9.rst:56 +#: ../../whatsnew/3.9.rst:55 msgid "Summary -- Release highlights" msgstr "Resumo -- Destaques da versão" -#: ../../whatsnew/3.9.rst:61 +#: ../../whatsnew/3.9.rst:60 msgid "New syntax features:" msgstr "Novos recursos de sintaxe:" -#: ../../whatsnew/3.9.rst:63 +#: ../../whatsnew/3.9.rst:62 msgid ":pep:`584`, union operators added to ``dict``;" msgstr ":pep:`584`, operadores de união adicionados ao ``dict``;" -#: ../../whatsnew/3.9.rst:64 +#: ../../whatsnew/3.9.rst:63 msgid ":pep:`585`, type hinting generics in standard collections;" msgstr ":pep:`585`, type hinting genéricos em coleções comuns;" -#: ../../whatsnew/3.9.rst:65 +#: ../../whatsnew/3.9.rst:64 msgid ":pep:`614`, relaxed grammar restrictions on decorators." msgstr ":pep:`614`, restrições de gramática relaxadas em decoradores." -#: ../../whatsnew/3.9.rst:67 +#: ../../whatsnew/3.9.rst:66 msgid "New built-in features:" msgstr "Novos recursos embutidos:" -#: ../../whatsnew/3.9.rst:69 +#: ../../whatsnew/3.9.rst:68 msgid ":pep:`616`, string methods to remove prefixes and suffixes." msgstr ":pep:`616`, métodos de strings para remover prefixos e sufixos." -#: ../../whatsnew/3.9.rst:71 +#: ../../whatsnew/3.9.rst:70 msgid "New features in the standard library:" msgstr "Novos recursos na biblioteca padrão:" -#: ../../whatsnew/3.9.rst:73 +#: ../../whatsnew/3.9.rst:72 msgid ":pep:`593`, flexible function and variable annotations;" msgstr ":pep:`593`, anotações flexíveis de função e variável;" -#: ../../whatsnew/3.9.rst:74 +#: ../../whatsnew/3.9.rst:73 msgid "" ":func:`os.pidfd_open` added that allows process management without races and " "signals." @@ -104,23 +93,23 @@ msgstr "" ":func:`os.pidfd_open` adicionada para permitidos gerenciamento de processo " "sem corridas e sinais." -#: ../../whatsnew/3.9.rst:77 +#: ../../whatsnew/3.9.rst:76 msgid "Interpreter improvements:" msgstr "Melhorias no interpretador:" -#: ../../whatsnew/3.9.rst:79 +#: ../../whatsnew/3.9.rst:78 msgid "" ":pep:`573`, fast access to module state from methods of C extension types;" msgstr "" ":pep:`573`, acesso rápido ao estado do módulo a partir de métodos de tipos " "de extensão C;" -#: ../../whatsnew/3.9.rst:81 +#: ../../whatsnew/3.9.rst:80 msgid ":pep:`617`, CPython now uses a new parser based on PEG;" msgstr "" ":pep:`617`, CPython agora usa um novo analisador sintático com base em GASE;" -#: ../../whatsnew/3.9.rst:82 +#: ../../whatsnew/3.9.rst:81 msgid "" "a number of Python builtins (range, tuple, set, frozenset, list, dict) are " "now sped up using :pep:`590` vectorcall;" @@ -128,41 +117,35 @@ msgstr "" "vários tipos embutidos do Python (range, tuple, set, frozenset, list, dict) " "estão agora mais rápidos usando vectorcall da :pep:`590`;" -#: ../../whatsnew/3.9.rst:84 +#: ../../whatsnew/3.9.rst:83 msgid "garbage collection does not block on resurrected objects;" msgstr "coleta de lixo não causa bloqueio em objetos ressuscitados;" -#: ../../whatsnew/3.9.rst:85 +#: ../../whatsnew/3.9.rst:84 msgid "" -"a number of Python modules (:mod:`_abc`, :mod:`audioop`, :mod:`_bz2`, :mod:" -"`_codecs`, :mod:`_contextvars`, :mod:`_crypt`, :mod:`_functools`, :mod:" -"`_json`, :mod:`_locale`, :mod:`math`, :mod:`operator`, :mod:`resource`, :mod:" -"`time`, :mod:`_weakref`) now use multiphase initialization as defined by PEP " -"489;" +"a number of Python modules " +"(:mod:`_abc`, :mod:`audioop`, :mod:`_bz2`, :mod:`_codecs`, :mod:`_contextvars`, :mod:`_crypt`, :mod:`_functools`, :mod:`_json`, :mod:`_locale`, :mod:`math`, :mod:`operator`, :mod:`resource`, :mod:`time`, :mod:`_weakref`) " +"now use multiphase initialization as defined by PEP 489;" msgstr "" -"vários módulos do Python (:mod:`_abc`, :mod:`audioop`, :mod:`_bz2`, :mod:" -"`_codecs`, :mod:`_contextvars`, :mod:`_crypt`, :mod:`_functools`, :mod:" -"`_json`, :mod:`_locale`, :mod:`math`, :mod:`operator`, :mod:`resource`, :mod:" -"`time`, :mod:`_weakref`) agora usam inicialização multifásica conforme " -"definido pela PEP 489;" +"vários módulos do Python " +"(:mod:`_abc`, :mod:`audioop`, :mod:`_bz2`, :mod:`_codecs`, :mod:`_contextvars`, :mod:`_crypt`, :mod:`_functools`, :mod:`_json`, :mod:`_locale`, :mod:`math`, :mod:`operator`, :mod:`resource`, :mod:`time`, :mod:`_weakref`) " +"agora usam inicialização multifásica conforme definido pela PEP 489;" -#: ../../whatsnew/3.9.rst:90 +#: ../../whatsnew/3.9.rst:89 msgid "" -"a number of standard library modules (:mod:`audioop`, :mod:`ast`, :mod:" -"`grp`, :mod:`_hashlib`, :mod:`pwd`, :mod:`_posixsubprocess`, :mod:`random`, :" -"mod:`select`, :mod:`struct`, :mod:`termios`, :mod:`zlib`) are now using the " -"stable ABI defined by PEP 384." +"a number of standard library modules " +"(:mod:`audioop`, :mod:`ast`, :mod:`grp`, :mod:`_hashlib`, :mod:`pwd`, :mod:`_posixsubprocess`, :mod:`random`, :mod:`select`, :mod:`struct`, :mod:`termios`, :mod:`zlib`) " +"are now using the stable ABI defined by PEP 384." msgstr "" -"vários módulos da biblioteca padrão (:mod:`audioop`, :mod:`ast`, :mod:" -"`grp`, :mod:`_hashlib`, :mod:`pwd`, :mod:`_posixsubprocess`, :mod:`random`, :" -"mod:`select`, :mod:`struct`, :mod:`termios`, :mod:`zlib`) estão agora usando " -"a ABI estável definida pela PEP 384." +"vários módulos da biblioteca padrão " +"(:mod:`audioop`, :mod:`ast`, :mod:`grp`, :mod:`_hashlib`, :mod:`pwd`, :mod:`_posixsubprocess`, :mod:`random`, :mod:`select`, :mod:`struct`, :mod:`termios`, :mod:`zlib`) " +"estão agora usando a ABI estável definida pela PEP 384." -#: ../../whatsnew/3.9.rst:95 +#: ../../whatsnew/3.9.rst:94 msgid "New library modules:" msgstr "Novos módulos de biblioteca:" -#: ../../whatsnew/3.9.rst:97 +#: ../../whatsnew/3.9.rst:96 msgid "" ":pep:`615`, the IANA Time Zone Database is now present in the standard " "library in the :mod:`zoneinfo` module;" @@ -170,7 +153,7 @@ msgstr "" ":pep:`615`, o banco de dados de fusos horários da IANA é agora apresentado " "na biblioteca padrão no módulo :mod:`zoneinfo`;" -#: ../../whatsnew/3.9.rst:99 +#: ../../whatsnew/3.9.rst:98 msgid "" "an implementation of a topological sort of a graph is now provided in the " "new :mod:`graphlib` module." @@ -178,19 +161,19 @@ msgstr "" "uma implementação de um tipo topológico de um grafo agora é fornecida no " "novo módulo :mod:`graphlib`." -#: ../../whatsnew/3.9.rst:102 +#: ../../whatsnew/3.9.rst:101 msgid "Release process changes:" msgstr "Alterações no processo de lançamento:" -#: ../../whatsnew/3.9.rst:104 +#: ../../whatsnew/3.9.rst:103 msgid ":pep:`602`, CPython adopts an annual release cycle." msgstr ":pep:`602`, CPython adota um ciclo de lançamento anual." -#: ../../whatsnew/3.9.rst:108 +#: ../../whatsnew/3.9.rst:107 msgid "You should check for DeprecationWarning in your code" msgstr "Você deve verificar DeprecationWarning no seu código" -#: ../../whatsnew/3.9.rst:110 +#: ../../whatsnew/3.9.rst:109 msgid "" "When Python 2.7 was still supported, a lot of functionality in Python 3 was " "kept for backward compatibility with Python 2.7. With the end of Python 2 " @@ -208,7 +191,7 @@ msgstr "" "exemplo, usar ``collections.Mapping`` em vez de ``collections.abc.Mapping`` " "emite uma :exc:`DeprecationWarning` desde Python 3.3, lançado em 2012." -#: ../../whatsnew/3.9.rst:118 +#: ../../whatsnew/3.9.rst:117 msgid "" "Test your application with the :option:`-W` ``default`` command-line option " "to see :exc:`DeprecationWarning` and :exc:`PendingDeprecationWarning`, or " @@ -222,7 +205,7 @@ msgstr "" "avisos ` pode ser usado para ignorar avisos de código de " "terceiros." -#: ../../whatsnew/3.9.rst:123 +#: ../../whatsnew/3.9.rst:122 msgid "" "Python 3.9 is the last version providing those Python 2 backward " "compatibility layers, to give more time to Python projects maintainers to " @@ -233,19 +216,19 @@ msgstr "" "projetos Python para organizar a remoção do suporte Python 2 e adicionar " "suporte para Python 3.9." -#: ../../whatsnew/3.9.rst:127 +#: ../../whatsnew/3.9.rst:126 msgid "" "Aliases to :ref:`Abstract Base Classes ` " -"in the :mod:`collections` module, like ``collections.Mapping`` alias to :" -"class:`collections.abc.Mapping`, are kept for one last release for backward " -"compatibility. They will be removed from Python 3.10." +"in the :mod:`collections` module, like ``collections.Mapping`` alias " +"to :class:`collections.abc.Mapping`, are kept for one last release for " +"backward compatibility. They will be removed from Python 3.10." msgstr "" "Aliases para :ref:`classes bases abstratas ` no módulo :mod:`collections`, como o alias ``collections.Mapping`` " "para :class:`collections.abc.Mapping`, são mantidos para uma última versão " "para compatibilidade reversa. Eles serão removidos do Python 3.10." -#: ../../whatsnew/3.9.rst:132 +#: ../../whatsnew/3.9.rst:131 msgid "" "More generally, try to run your tests in the :ref:`Python Development Mode " "` which helps to prepare your code to make it compatible with the " @@ -255,7 +238,7 @@ msgstr "" "Desenvolvimento do Python `, que ajuda a preparar seu código para " "torná-lo compatível com a próxima versão do Python." -#: ../../whatsnew/3.9.rst:136 +#: ../../whatsnew/3.9.rst:135 msgid "" "Note: a number of pre-existing deprecations were removed in this version of " "Python as well. Consult the :ref:`removed-in-python-39` section." @@ -264,61 +247,61 @@ msgstr "" "removidos nesta versão do Python. Consulte a seção :ref:`removed-in-" "python-39`." -#: ../../whatsnew/3.9.rst:141 ../../whatsnew/3.9.rst:1274 +#: ../../whatsnew/3.9.rst:140 ../../whatsnew/3.9.rst:1273 msgid "New Features" msgstr "Novas funcionalidades" -#: ../../whatsnew/3.9.rst:144 +#: ../../whatsnew/3.9.rst:143 msgid "Dictionary Merge & Update Operators" msgstr "Operadores de mesclagem & atualização de dicionário" -#: ../../whatsnew/3.9.rst:146 +#: ../../whatsnew/3.9.rst:145 msgid "" -"Merge (``|``) and update (``|=``) operators have been added to the built-in :" -"class:`dict` class. Those complement the existing ``dict.update`` and " +"Merge (``|``) and update (``|=``) operators have been added to the built-" +"in :class:`dict` class. Those complement the existing ``dict.update`` and " "``{**d1, **d2}`` methods of merging dictionaries." msgstr "" "Operadores de mesclagem (``|``) e atualização (``|=``) foram adicionados à " "classe embutida :class:`dict`. Eles complementam o métodos ``dict.update`` e " "``{**d1, **d2}`` existentes de mesclagem de dicionários." -#: ../../whatsnew/3.9.rst:150 ../../whatsnew/3.9.rst:283 +#: ../../whatsnew/3.9.rst:149 ../../whatsnew/3.9.rst:282 msgid "Example::" msgstr "Exemplo::" -#: ../../whatsnew/3.9.rst:159 +#: ../../whatsnew/3.9.rst:158 msgid "" -"See :pep:`584` for a full description. (Contributed by Brandt Bucher in :" -"issue:`36144`.)" +"See :pep:`584` for a full description. (Contributed by Brandt Bucher " +"in :issue:`36144`.)" msgstr "" "Veja :pep:`584` para uma descrição completa. (Contribuição de Brandt Bucher " "em :issue:`36144`.)" -#: ../../whatsnew/3.9.rst:163 +#: ../../whatsnew/3.9.rst:162 msgid "New String Methods to Remove Prefixes and Suffixes" msgstr "Novos métodos de strings para remover prefixos e sufixos" -#: ../../whatsnew/3.9.rst:165 +#: ../../whatsnew/3.9.rst:164 msgid "" -":meth:`str.removeprefix(prefix)` and :meth:`str." -"removesuffix(suffix)` have been added to easily remove an " -"unneeded prefix or a suffix from a string. Corresponding ``bytes``, " -"``bytearray``, and ``collections.UserString`` methods have also been added. " -"See :pep:`616` for a full description. (Contributed by Dennis Sweeney in :" -"issue:`39939`.)" +":meth:`str.removeprefix(prefix)` " +"and :meth:`str.removesuffix(suffix)` have been added to " +"easily remove an unneeded prefix or a suffix from a string. Corresponding " +"``bytes``, ``bytearray``, and ``collections.UserString`` methods have also " +"been added. See :pep:`616` for a full description. (Contributed by Dennis " +"Sweeney in :issue:`39939`.)" msgstr "" -":meth:`str.removeprefix(prefix)` e :meth:`str." -"removesuffix(suffix)` foram adicionados para remover " -"facilmente um prefixo ou sufixo desnecessário de uma string. Os métodos " -"correspondentes ``bytes``, ``bytearray`` e ``collections.UserString`` também " -"foram adicionados. Veja :pep:`616` para uma descrição completa. " -"(Contribuição de Dennis Sweeney em :issue:`39939`.)" +":meth:`str.removeprefix(prefix)` " +"e :meth:`str.removesuffix(suffix)` foram adicionados para " +"remover facilmente um prefixo ou sufixo desnecessário de uma string. Os " +"métodos correspondentes ``bytes``, ``bytearray`` e " +"``collections.UserString`` também foram adicionados. Veja :pep:`616` para " +"uma descrição completa. (Contribuição de Dennis Sweeney em :issue:`39939`.)" -#: ../../whatsnew/3.9.rst:173 +#: ../../whatsnew/3.9.rst:172 msgid "Type Hinting Generics in Standard Collections" msgstr "Type hinting genéricos nas coleções padrão" -#: ../../whatsnew/3.9.rst:175 +#: ../../whatsnew/3.9.rst:174 msgid "" "In type annotations you can now use built-in collection types such as " "``list`` and ``dict`` as generic types instead of importing the " @@ -332,11 +315,11 @@ msgstr "" "``typing``. Agora, outros tipos na biblioteca padrão também são genéricos, " "por exemplo, ``queue.Queue``." -#: ../../whatsnew/3.9.rst:181 ../../whatsnew/3.9.rst:1162 +#: ../../whatsnew/3.9.rst:180 ../../whatsnew/3.9.rst:1161 msgid "Example:" msgstr "Exemplo:" -#: ../../whatsnew/3.9.rst:189 +#: ../../whatsnew/3.9.rst:188 msgid "" "See :pep:`585` for more details. (Contributed by Guido van Rossum, Ethan " "Smith, and Batuhan Taşkaya in :issue:`39481`.)" @@ -344,11 +327,11 @@ msgstr "" "Consulte :pep:`585` para mais detalhes. (Contribuição de Guido van Rossum, " "Ethan Smith e Batuhan Taşkaya em :issue:`39481`.)" -#: ../../whatsnew/3.9.rst:193 +#: ../../whatsnew/3.9.rst:192 msgid "New Parser" msgstr "Novo analisador sintático" -#: ../../whatsnew/3.9.rst:195 +#: ../../whatsnew/3.9.rst:194 msgid "" "Python 3.9 uses a new parser, based on `PEG `_ instead of `LL(1) `_ " -"em vez de `LL(1) `_. O desempenho do novo analisador é " -"aproximadamente comparável ao do analisador antigo, mas o formalismo do GASE " -"é mais flexível que do LL(1) quando se trata de projetar novos recursos de " -"linguagem. Começaremos a usar essa flexibilidade no Python 3.10 e posterior." +"O Python 3.9 usa um novo analisador sintático, baseado em `GASE `_ em vez " +"de `LL(1) `_. O " +"desempenho do novo analisador sintático é aproximadamente comparável ao do " +"analisador sintático antigo, mas o formalismo do GASE é mais flexível que do " +"LL(1) quando se trata de projetar novos recursos de linguagem. Começaremos a " +"usar essa flexibilidade no Python 3.10 e posterior." -#: ../../whatsnew/3.9.rst:203 +#: ../../whatsnew/3.9.rst:202 msgid "" "The :mod:`ast` module uses the new parser and produces the same AST as the " "old parser." @@ -373,7 +356,7 @@ msgstr "" "O módulo :mod:`ast` usa o novo analisador e produz o mesmo AST que o " "analisador antigo." -#: ../../whatsnew/3.9.rst:206 +#: ../../whatsnew/3.9.rst:205 msgid "" "In Python 3.10, the old parser will be deleted and so will all functionality " "that depends on it (primarily the :mod:`parser` module, which has long been " @@ -387,7 +370,7 @@ msgstr "" "analisador LL(1) usando uma opção de linha de comando (``-X oldparser``) ou " "uma variável de ambiente (``PYTHONOLDPARSER=1``)." -#: ../../whatsnew/3.9.rst:212 +#: ../../whatsnew/3.9.rst:211 msgid "" "See :pep:`617` for more details. (Contributed by Guido van Rossum, Pablo " "Galindo and Lysandros Nikolaou in :issue:`40334`.)" @@ -395,52 +378,53 @@ msgstr "" "Consulte :pep:`617` para mais detalhes. (Contribuição de Guido van Rossum, " "Pablo Galindo e Lysandros Nikolaou em :issue:`40334`.)" -#: ../../whatsnew/3.9.rst:217 +#: ../../whatsnew/3.9.rst:216 msgid "Other Language Changes" msgstr "Outras mudanças na linguagem" -#: ../../whatsnew/3.9.rst:219 +#: ../../whatsnew/3.9.rst:218 msgid "" -":func:`__import__` now raises :exc:`ImportError` instead of :exc:" -"`ValueError`, which used to occur when a relative import went past its top-" -"level package. (Contributed by Ngalim Siregar in :issue:`37444`.)" +":func:`__import__` now raises :exc:`ImportError` instead " +"of :exc:`ValueError`, which used to occur when a relative import went past " +"its top-level package. (Contributed by Ngalim Siregar in :issue:`37444`.)" msgstr "" -":func:`__import__` agora levanta :exc:`ImportError` em vez de :exc:" -"`ValueError`, o que é usado para ocorrer quando uma importação relativa " -"passou de seu um pacote de nível superior. (Contribuição de Ngalim Siregar " -"em :issue:`37444`.)" +":func:`__import__` agora levanta :exc:`ImportError` em vez " +"de :exc:`ValueError`, o que é usado para ocorrer quando uma importação " +"relativa passou de seu um pacote de nível superior. (Contribuição de Ngalim " +"Siregar em :issue:`37444`.)" -#: ../../whatsnew/3.9.rst:224 +#: ../../whatsnew/3.9.rst:223 msgid "" "Python now gets the absolute path of the script filename specified on the " -"command line (ex: ``python3 script.py``): the ``__file__`` attribute of the :" -"mod:`__main__` module became an absolute path, rather than a relative path. " -"These paths now remain valid after the current directory is changed by :func:" -"`os.chdir`. As a side effect, the traceback also displays the absolute path " -"for :mod:`__main__` module frames in this case. (Contributed by Victor " -"Stinner in :issue:`20443`.)" +"command line (ex: ``python3 script.py``): the ``__file__`` attribute of " +"the :mod:`__main__` module became an absolute path, rather than a relative " +"path. These paths now remain valid after the current directory is changed " +"by :func:`os.chdir`. As a side effect, the traceback also displays the " +"absolute path for :mod:`__main__` module frames in this case. (Contributed " +"by Victor Stinner in :issue:`20443`.)" msgstr "" "Agora, o Python obtém o caminho absoluto do nome do arquivo do script " "especificado na linha de comando (p.ex., ``python3 script.py``): o atributo " "``__file__`` do módulo :mod:`__main__` tornou-se um caminho absoluto, não um " "caminho relativo. Esses caminhos agora permanecem válidos depois que o " "diretório atual é alterado por :func:`os.chdir`. Como efeito colateral, o " -"traceback também exibe o caminho absoluto para quadros de módulos de :mod:" -"`__main__` neste caso. (Contribuição de Victor Stinner em :issue:`20443`.)" +"traceback também exibe o caminho absoluto para quadros de módulos " +"de :mod:`__main__` neste caso. (Contribuição de Victor Stinner " +"em :issue:`20443`.)" -#: ../../whatsnew/3.9.rst:232 +#: ../../whatsnew/3.9.rst:231 msgid "" "In the :ref:`Python Development Mode ` and in :ref:`debug build " "`, the *encoding* and *errors* arguments are now checked for " -"string encoding and decoding operations. Examples: :func:`open`, :meth:`str." -"encode` and :meth:`bytes.decode`." +"string encoding and decoding operations. " +"Examples: :func:`open`, :meth:`str.encode` and :meth:`bytes.decode`." msgstr "" "No :ref:`Modo de Desenvolvimento do Python ` e na :ref:`compilação " "de depuração ` , os argumentos *encoding* e *errors* agora são " "verificados quanto às operações de codificação e decodificação de strings. " "Exemplos: :func:`open`, :meth:`str.encode` e :meth:`bytes.decode`." -#: ../../whatsnew/3.9.rst:237 +#: ../../whatsnew/3.9.rst:236 msgid "" "By default, for best performance, the *errors* argument is only checked at " "the first encoding/decoding error and the *encoding* argument is sometimes " @@ -451,7 +435,7 @@ msgstr "" "argumento *encoding* às vezes é ignorado para strings vazias. (Contribuição " "de Victor Stinner em :issue:`37388`.)" -#: ../../whatsnew/3.9.rst:242 +#: ../../whatsnew/3.9.rst:241 msgid "" "``\"\".replace(\"\", s, n)`` now returns ``s`` instead of an empty string " "for all non-zero ``n``. It is now consistent with ``\"\".replace(\"\", " @@ -460,20 +444,21 @@ msgid "" msgstr "" "``\"\".replace(\"\", s, n)`` agora retorna ``s`` em vez de uma string vazia " "para todos ``n`` não zero. Isso é agora consistente com ``\"\".replace(\"\", " -"s)``. Há alterações similares para objetos :class:`bytes` e :class:" -"`bytearray`. (Contribuição de Serhiy Storchaka em :issue:`28029`.)" +"s)``. Há alterações similares para objetos :class:`bytes` " +"e :class:`bytearray`. (Contribuição de Serhiy Storchaka em :issue:`28029`.)" -#: ../../whatsnew/3.9.rst:247 +#: ../../whatsnew/3.9.rst:246 msgid "" "Any valid expression can now be used as a :term:`decorator`. Previously, " "the grammar was much more restrictive. See :pep:`614` for details. " "(Contributed by Brandt Bucher in :issue:`39702`.)" msgstr "" "Qualquer expressão válida agora pode ser usada como :term:`decorador " -"`. Anteriormente, a gramática era muito mais restritiva. Veja :" -"pep:`614` para detalhes. (Contribuição de Brandt Bucher em :issue:`39702`.)" +"`. Anteriormente, a gramática era muito mais restritiva. " +"Veja :pep:`614` para detalhes. (Contribuição de Brandt Bucher " +"em :issue:`39702`.)" -#: ../../whatsnew/3.9.rst:251 +#: ../../whatsnew/3.9.rst:250 msgid "" "Improved help for the :mod:`typing` module. Docstrings are now shown for all " "special forms and special generic aliases (like ``Union`` and ``List``). " @@ -481,67 +466,70 @@ msgid "" "for the correspondent concrete type (``list`` in this case). (Contributed by " "Serhiy Storchaka in :issue:`40257`.)" msgstr "" -"Aprimorada a ajuda para o módulo :mod:`digitando`. Agora, as linhas de " +"Aprimorada a ajuda para o módulo :mod:`typing`. Agora, as linhas de " "documento são mostradas para todos os formulários especiais e aliases " "genéricos especiais (como ``Union`` e ``List``). Usando :func:`help` com " "alias genérico como ``List[int]`` mostrará a ajuda para o tipo concreto " -"correspondente (neste caso, ``list``). (Contribuição de Serhiy Storchaka em :" -"issue:`40257`.)" +"correspondente (neste caso, ``list``). (Contribuição de Serhiy Storchaka " +"em :issue:`40257`.)" -#: ../../whatsnew/3.9.rst:257 +#: ../../whatsnew/3.9.rst:256 msgid "" -"Parallel running of :meth:`~agen.aclose` / :meth:`~agen.asend` / :meth:" -"`~agen.athrow` is now prohibited, and ``ag_running`` now reflects the actual " -"running status of the async generator. (Contributed by Yury Selivanov in :" -"issue:`30773`.)" +"Parallel running " +"of :meth:`~agen.aclose` / :meth:`~agen.asend` / :meth:`~agen.athrow` is now " +"prohibited, and ``ag_running`` now reflects the actual running status of the " +"async generator. (Contributed by Yury Selivanov in :issue:`30773`.)" msgstr "" -"A execução paralela de :meth:`~agen.aclose` / :meth:`~agen.asend` / :meth:" -"`~agen.athrow` é agora proibida e ``ag_running`` agora reflete o status " -"atual de execução do gerador async. (Contribuição de Yury Selivanov em :" -"issue:`30773`.)" +"A execução paralela " +"de :meth:`~agen.aclose` / :meth:`~agen.asend` / :meth:`~agen.athrow` é agora " +"proibida e ``ag_running`` agora reflete o status atual de execução do " +"gerador async. (Contribuição de Yury Selivanov em :issue:`30773`.)" -#: ../../whatsnew/3.9.rst:262 +#: ../../whatsnew/3.9.rst:261 msgid "" "Unexpected errors in calling the ``__iter__`` method are no longer masked by " -"``TypeError`` in the :keyword:`in` operator and functions :func:`~operator." -"contains`, :func:`~operator.indexOf` and :func:`~operator.countOf` of the :" -"mod:`operator` module. (Contributed by Serhiy Storchaka in :issue:`40824`.)" +"``TypeError`` in the :keyword:`in` operator and " +"functions :func:`~operator.contains`, :func:`~operator.indexOf` " +"and :func:`~operator.countOf` of the :mod:`operator` module. (Contributed by " +"Serhiy Storchaka in :issue:`40824`.)" msgstr "" "Erros inesperados ao chamar o método ``__iter__`` não são mais mascarados " -"por ``TypeError`` no operador :keyword:`in` e nas funções :func:`~operator." -"contains`, :func:`~operator.indexOf` e :func:`~operator.countOf` do módulo :" -"mod:`operator`. (Contribuição de Serhiy Storchaka em :issue:`40824`.)" +"por ``TypeError`` no operador :keyword:`in` e nas " +"funções :func:`~operator.contains`, :func:`~operator.indexOf` " +"e :func:`~operator.countOf` do módulo :mod:`operator`. (Contribuição de " +"Serhiy Storchaka em :issue:`40824`.)" -#: ../../whatsnew/3.9.rst:268 +#: ../../whatsnew/3.9.rst:267 msgid "" "Unparenthesized lambda expressions can no longer be the expression part in " -"an ``if`` clause in comprehensions and generator expressions. See :issue:" -"`41848` and :issue:`43755` for details." +"an ``if`` clause in comprehensions and generator expressions. " +"See :issue:`41848` and :issue:`43755` for details." msgstr "" "Expressões lambda sem parênteses não podem mais ser a parte da expressão em " -"uma cláusula ``if`` em compreensões e expressões geradoras. Veja :issue:" -"`41848` e :issue:`43755` para detalhes." +"uma cláusula ``if`` em compreensões e expressões geradoras. " +"Veja :issue:`41848` e :issue:`43755` para detalhes." -#: ../../whatsnew/3.9.rst:274 +#: ../../whatsnew/3.9.rst:273 msgid "New Modules" msgstr "Novos módulos" -#: ../../whatsnew/3.9.rst:277 +#: ../../whatsnew/3.9.rst:276 msgid "zoneinfo" msgstr "zoneinfo" -#: ../../whatsnew/3.9.rst:279 +#: ../../whatsnew/3.9.rst:278 msgid "" "The :mod:`zoneinfo` module brings support for the IANA time zone database to " -"the standard library. It adds :class:`zoneinfo.ZoneInfo`, a concrete :class:" -"`datetime.tzinfo` implementation backed by the system's time zone data." +"the standard library. It adds :class:`zoneinfo.ZoneInfo`, a " +"concrete :class:`datetime.tzinfo` implementation backed by the system's time " +"zone data." msgstr "" "O módulo :mod:`zoneinfo` oferece suporte ao banco de dados de fuso horário " "da IANA para a biblioteca padrão. Ele adiciona :class:`zoneinfo.ZoneInfo`, " -"uma implementação concreta :class:`datetime.tzinfo`, apoiada pelos dados do " +"uma implementação concreta de :class:`datetime.tzinfo`, baseada nos dados do " "fuso horário do sistema." -#: ../../whatsnew/3.9.rst:303 +#: ../../whatsnew/3.9.rst:302 msgid "" "As a fall-back source of data for platforms that don't ship the IANA " "database, the |tzdata|_ module was released as a first-party package -- " @@ -551,52 +539,52 @@ msgstr "" "dados da IANA, o módulo |tzdata|_ foi lançado como um pacote inicial -- " "distribuído via PyPI e mantido pela equipe principal do CPython." -#: ../../whatsnew/3.9.rst:312 +#: ../../whatsnew/3.9.rst:311 msgid "" ":pep:`615` -- Support for the IANA Time Zone Database in the Standard Library" msgstr "" ":pep:`615` -- Suporte ao banco de dados de fuso horário da IANA na " "biblioteca padrão" -#: ../../whatsnew/3.9.rst:313 +#: ../../whatsnew/3.9.rst:312 msgid "PEP written and implemented by Paul Ganssle" msgstr "PEP escrita e implementada por Paul Ganssle" -#: ../../whatsnew/3.9.rst:317 +#: ../../whatsnew/3.9.rst:316 msgid "graphlib" msgstr "graphlib" -#: ../../whatsnew/3.9.rst:319 +#: ../../whatsnew/3.9.rst:318 msgid "" -"A new module, :mod:`graphlib`, was added that contains the :class:`graphlib." -"TopologicalSorter` class to offer functionality to perform topological " -"sorting of graphs. (Contributed by Pablo Galindo, Tim Peters and Larry " -"Hastings in :issue:`17005`.)" +"A new module, :mod:`graphlib`, was added that contains " +"the :class:`graphlib.TopologicalSorter` class to offer functionality to " +"perform topological sorting of graphs. (Contributed by Pablo Galindo, Tim " +"Peters and Larry Hastings in :issue:`17005`.)" msgstr "" -"Um novo módulo, :mod:`graphlib`, foi adicionado contendo a classe :class:" -"`graphlib.TopologicalSorter` para oferecer funcionalidade de realizar " -"classificação topológica de grafos. (Contribuição de Pablo Galindo, Tim " -"Peters e Larry Hastings em :issue:`17005`.)" +"Um novo módulo, :mod:`graphlib`, foi adicionado contendo a " +"classe :class:`graphlib.TopologicalSorter` para oferecer funcionalidade de " +"realizar classificação topológica de grafos. (Contribuição de Pablo Galindo, " +"Tim Peters e Larry Hastings em :issue:`17005`.)" -#: ../../whatsnew/3.9.rst:326 +#: ../../whatsnew/3.9.rst:325 msgid "Improved Modules" msgstr "Módulos melhorados" -#: ../../whatsnew/3.9.rst:329 +#: ../../whatsnew/3.9.rst:328 msgid "ast" msgstr "ast" -#: ../../whatsnew/3.9.rst:331 +#: ../../whatsnew/3.9.rst:330 msgid "" "Added the *indent* option to :func:`~ast.dump` which allows it to produce a " -"multiline indented output. (Contributed by Serhiy Storchaka in :issue:" -"`37995`.)" +"multiline indented output. (Contributed by Serhiy Storchaka " +"in :issue:`37995`.)" msgstr "" "Adicionada a opção *indent* a :func:`~ast.dump`, que permite produzir uma " -"saída indentada com várias linhas. (Contribuição de Serhiy Storchaka em :" -"issue:`37995`.)" +"saída indentada com várias linhas. (Contribuição de Serhiy Storchaka " +"em :issue:`37995`.)" -#: ../../whatsnew/3.9.rst:335 +#: ../../whatsnew/3.9.rst:334 msgid "" "Added :func:`ast.unparse` as a function in the :mod:`ast` module that can be " "used to unparse an :class:`ast.AST` object and produce a string with code " @@ -606,10 +594,10 @@ msgstr "" "Adicionada :func:`ast.unparse` como uma função no módulo :mod:`ast` que pode " "ser usado para remover um objeto :class:`ast.AST` e produzir uma string com " "código que produziria um objeto :class:`ast.AST` equivalente quando " -"analisado. (Contribuição de Pablo Galindo e Batuhan Taskaya em :issue:" -"`38870`.)" +"analisado. (Contribuição de Pablo Galindo e Batuhan Taskaya " +"em :issue:`38870`.)" -#: ../../whatsnew/3.9.rst:340 +#: ../../whatsnew/3.9.rst:339 msgid "" "Added docstrings to AST nodes that contains the ASDL signature used to " "construct that node. (Contributed by Batuhan Taskaya in :issue:`39638`.)" @@ -617,18 +605,18 @@ msgstr "" "Adicionadas docstrings aos nós AST que contêm a assinatura ASDL usada para " "construir esse nó. (Contribuição de Batuhan Taskaya em :issue:`39638`.)" -#: ../../whatsnew/3.9.rst:344 +#: ../../whatsnew/3.9.rst:343 msgid "asyncio" msgstr "asyncio" -#: ../../whatsnew/3.9.rst:346 +#: ../../whatsnew/3.9.rst:345 msgid "" -"Due to significant security concerns, the *reuse_address* parameter of :meth:" -"`asyncio.loop.create_datagram_endpoint` is no longer supported. This is " -"because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For " -"more details, see the documentation for ``loop.create_datagram_endpoint()``. " -"(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:" -"`37228`.)" +"Due to significant security concerns, the *reuse_address* parameter " +"of :meth:`asyncio.loop.create_datagram_endpoint` is no longer supported. " +"This is because of the behavior of the socket option ``SO_REUSEADDR`` in " +"UDP. For more details, see the documentation for " +"``loop.create_datagram_endpoint()``. (Contributed by Kyle Stanley, Antoine " +"Pitrou, and Yury Selivanov in :issue:`37228`.)" msgstr "" "Devido a significativas preocupações de segurança, o parâmetro " "*reuse_address* de :meth:`asyncio.loop.create_datagram_endpoint` não é mais " @@ -637,22 +625,24 @@ msgstr "" "``loop.create_datagram_endpoint()``. (Contribuição de Kyle Stanley, Antoine " "Pitrou e Yury Selivanov em :issue:`37228`.)" -#: ../../whatsnew/3.9.rst:353 +#: ../../whatsnew/3.9.rst:352 msgid "" -"Added a new :term:`coroutine` :meth:`~asyncio.loop." -"shutdown_default_executor` that schedules a shutdown for the default " -"executor that waits on the :class:`~concurrent.futures.ThreadPoolExecutor` " -"to finish closing. Also, :func:`asyncio.run` has been updated to use the " -"new :term:`coroutine`. (Contributed by Kyle Stanley in :issue:`34037`.)" +"Added a " +"new :term:`coroutine` :meth:`~asyncio.loop.shutdown_default_executor` that " +"schedules a shutdown for the default executor that waits on " +"the :class:`~concurrent.futures.ThreadPoolExecutor` to finish closing. " +"Also, :func:`asyncio.run` has been updated to use the new :term:`coroutine`. " +"(Contributed by Kyle Stanley in :issue:`34037`.)" msgstr "" -"Adicionada uma nova :term:`corrotina ` :meth:`~asyncio.loop." -"shutdown_default_executor` que agenda um desligamento para o executor padrão " -"que espera na :class:`~concurrent.futures.ThreadPoolExecutor` para concluir " -"o fechamento. Além disso, :func:`asyncio.run` foi atualizada para usar o " -"novo :term:`corrotina `. (Contribuição de Kyle Stanley em :issue:" -"`34037`.)" +"Adicionada uma nova :term:`corrotina " +"` :meth:`~asyncio.loop.shutdown_default_executor` que agenda um " +"desligamento para o executor padrão que espera " +"na :class:`~concurrent.futures.ThreadPoolExecutor` para concluir o " +"fechamento. Além disso, :func:`asyncio.run` foi atualizada para usar o " +"novo :term:`corrotina `. (Contribuição de Kyle Stanley " +"em :issue:`34037`.)" -#: ../../whatsnew/3.9.rst:359 +#: ../../whatsnew/3.9.rst:358 msgid "" "Added :class:`asyncio.PidfdChildWatcher`, a Linux-specific child watcher " "implementation that polls process file descriptors. (:issue:`38692`)" @@ -661,13 +651,14 @@ msgstr "" "monitorador de filhos específica do Linux que controla descritores de " "arquivo de processo. (:issue:`38692`)" -#: ../../whatsnew/3.9.rst:362 +#: ../../whatsnew/3.9.rst:361 msgid "" "Added a new :term:`coroutine` :func:`asyncio.to_thread`. It is mainly used " "for running IO-bound functions in a separate thread to avoid blocking the " -"event loop, and essentially works as a high-level version of :meth:`~asyncio." -"loop.run_in_executor` that can directly take keyword arguments. (Contributed " -"by Kyle Stanley and Yury Selivanov in :issue:`32309`.)" +"event loop, and essentially works as a high-level version " +"of :meth:`~asyncio.loop.run_in_executor` that can directly take keyword " +"arguments. (Contributed by Kyle Stanley and Yury Selivanov " +"in :issue:`32309`.)" msgstr "" "Adicionada uma nova :term:`corrotina ` :func:`asyncio.to_thread`. " "É usada principalmente para executar funções vinculadas à E/S em uma thread " @@ -676,7 +667,7 @@ msgstr "" "pode receber argumentos nomeados diretamente. (Contribuição de Kyle Stanley " "e Yury Selivanov em :issue:`32309`.)" -#: ../../whatsnew/3.9.rst:368 +#: ../../whatsnew/3.9.rst:367 msgid "" "When cancelling the task due to a timeout, :meth:`asyncio.wait_for` will now " "wait until the cancellation is complete also in the case when *timeout* is " @@ -688,7 +679,7 @@ msgstr "" "*timeout* é <= 0, como acontece com tempos limite positivos. (Contribuição " "de Elvis Pranskevichus em :issue:`32751`.)" -#: ../../whatsnew/3.9.rst:373 +#: ../../whatsnew/3.9.rst:372 msgid "" ":mod:`asyncio` now raises :exc:`TyperError` when calling incompatible " "methods with an :class:`ssl.SSLSocket` socket. (Contributed by Ido Michael " @@ -698,11 +689,11 @@ msgstr "" "incompatíveis com um soquete :class:`ssl.SSLSocket`. (Contribuição de Ido " "Michael em :issue:`37404`.)" -#: ../../whatsnew/3.9.rst:378 +#: ../../whatsnew/3.9.rst:377 msgid "compileall" msgstr "compileall" -#: ../../whatsnew/3.9.rst:380 +#: ../../whatsnew/3.9.rst:379 msgid "" "Added new possibility to use hardlinks for duplicated ``.pyc`` files: " "*hardlink_dupes* parameter and --hardlink-dupes command line option. " @@ -712,13 +703,13 @@ msgstr "" "duplicados: parâmetro *hardlink_dupes* e opção de linha de comando --" "hardlink-dupes. (Contribuição de Lumír 'Frenzy' Balhar em :issue:`40495`.)" -#: ../../whatsnew/3.9.rst:383 +#: ../../whatsnew/3.9.rst:382 msgid "" "Added new options for path manipulation in resulting ``.pyc`` files: " "*stripdir*, *prependdir*, *limit_sl_dest* parameters and -s, -p, -e command " "line options. Added the possibility to specify the option for an " -"optimization level multiple times. (Contributed by Lumír 'Frenzy' Balhar in :" -"issue:`38112`.)" +"optimization level multiple times. (Contributed by Lumír 'Frenzy' Balhar " +"in :issue:`38112`.)" msgstr "" "Adicionadas novas opções para manipulação de caminho nos arquivos ``.pyc`` " "resultantes: parâmetros *stripdir*, *prependdir*, *limit_sl_dest* e opções " @@ -726,36 +717,38 @@ msgstr "" "especificar a opção para um nível de otimização várias vezes. (Contribuição " "de Lumír 'Frenzy' Balhar em :issue:`38112`.)" -#: ../../whatsnew/3.9.rst:388 +#: ../../whatsnew/3.9.rst:387 msgid "concurrent.futures" msgstr "concurrent.futures" -#: ../../whatsnew/3.9.rst:390 +#: ../../whatsnew/3.9.rst:389 msgid "" -"Added a new *cancel_futures* parameter to :meth:`concurrent.futures.Executor." -"shutdown` that cancels all pending futures which have not started running, " -"instead of waiting for them to complete before shutting down the executor. " -"(Contributed by Kyle Stanley in :issue:`39349`.)" +"Added a new *cancel_futures* parameter " +"to :meth:`concurrent.futures.Executor.shutdown` that cancels all pending " +"futures which have not started running, instead of waiting for them to " +"complete before shutting down the executor. (Contributed by Kyle Stanley " +"in :issue:`39349`.)" msgstr "" -"Adicionado um novo parâmetro *cancel_futures* em :meth:`concurrent.futures." -"Executor.shutdown` que cancela todos os futuros pendentes que ainda não " -"começaram a ser executados, em vez de esperar que eles sejam concluídos " -"antes de desligar o executor. (Contribuição de Kyle Stanley em :issue:" -"`39349`.)" +"Adicionado um novo parâmetro *cancel_futures* " +"em :meth:`concurrent.futures.Executor.shutdown` que cancela todos os futuros " +"pendentes que ainda não começaram a ser executados, em vez de esperar que " +"eles sejam concluídos antes de desligar o executor. (Contribuição de Kyle " +"Stanley em :issue:`39349`.)" -#: ../../whatsnew/3.9.rst:396 +#: ../../whatsnew/3.9.rst:395 msgid "" "Removed daemon threads from :class:`~concurrent.futures.ThreadPoolExecutor` " "and :class:`~concurrent.futures.ProcessPoolExecutor`. This improves " "compatibility with subinterpreters and predictability in their shutdown " "processes. (Contributed by Kyle Stanley in :issue:`39812`.)" msgstr "" -"Removidos as threads do daemon de :class:`~concurrent.futures." -"ThreadPoolExecutor` e :class:`~concurrent.futures.ProcessPoolExecutor`. Isso " -"melhora a compatibilidade com subinterpretadores e a previsibilidade em seus " -"processos de desligamento. (Contribuição de Kyle Stanley em :issue:`39812`.)" +"Removidos as threads do daemon " +"de :class:`~concurrent.futures.ThreadPoolExecutor` " +"e :class:`~concurrent.futures.ProcessPoolExecutor`. Isso melhora a " +"compatibilidade com subinterpretadores e a previsibilidade em seus processos " +"de desligamento. (Contribuição de Kyle Stanley em :issue:`39812`.)" -#: ../../whatsnew/3.9.rst:401 +#: ../../whatsnew/3.9.rst:400 msgid "" "Workers in :class:`~concurrent.futures.ProcessPoolExecutor` are now spawned " "on demand, only when there are no available idle workers to reuse. This " @@ -768,41 +761,42 @@ msgstr "" "quantidade de tempo perdido da CPU para os workers ociosos. (Contribuição de " "Kyle Stanley em :issue:`39207`.)" -#: ../../whatsnew/3.9.rst:407 +#: ../../whatsnew/3.9.rst:406 msgid "curses" msgstr "curses" -#: ../../whatsnew/3.9.rst:409 +#: ../../whatsnew/3.9.rst:408 msgid "" -"Added :func:`curses.get_escdelay`, :func:`curses.set_escdelay`, :func:" -"`curses.get_tabsize`, and :func:`curses.set_tabsize` functions. (Contributed " -"by Anthony Sottile in :issue:`38312`.)" +"Added :func:`curses.get_escdelay`, :func:`curses.set_escdelay`, :func:`curses.get_tabsize`, " +"and :func:`curses.set_tabsize` functions. (Contributed by Anthony Sottile " +"in :issue:`38312`.)" msgstr "" -"Adicionadas as funções :func:`curses.get_escdelay`, :func:`curses." -"set_escdelay`, :func:`curses.get_tabsize` e :func:`curses.set_tabsize`. " -"(Contribuição de Anthony Sottile em :issue:`38312`.)" +"Adicionadas as " +"funções :func:`curses.get_escdelay`, :func:`curses.set_escdelay`, :func:`curses.get_tabsize` " +"e :func:`curses.set_tabsize`. (Contribuição de Anthony Sottile " +"em :issue:`38312`.)" -#: ../../whatsnew/3.9.rst:414 +#: ../../whatsnew/3.9.rst:413 msgid "datetime" msgstr "datetime" -#: ../../whatsnew/3.9.rst:415 +#: ../../whatsnew/3.9.rst:414 msgid "" -"The :meth:`~datetime.date.isocalendar()` of :class:`datetime.date` and :meth:" -"`~datetime.datetime.isocalendar()` of :class:`datetime.datetime` methods now " -"returns a :func:`~collections.namedtuple` instead of a :class:`tuple`. " -"(Contributed by Dong-hee Na in :issue:`24416`.)" +"The :meth:`~datetime.date.isocalendar()` of :class:`datetime.date` " +"and :meth:`~datetime.datetime.isocalendar()` of :class:`datetime.datetime` " +"methods now returns a :func:`~collections.namedtuple` instead of " +"a :class:`tuple`. (Contributed by Donghee Na in :issue:`24416`.)" msgstr "" -"Os métodos :meth:`~datetime.date.isocalendar()` de :class:`datetime.date` e :" -"meth:`~datetime.datetime.isocalendar()` de :class:`datetime.datetime` agora " -"retornam uma :func:`~collections.namedtuple` em vez de uma :class:`tuple`. " -"(Contribuição de Dong-hee Na em :issue:`24416`.)" +"Os métodos :meth:`~datetime.date.isocalendar()` de :class:`datetime.date` " +"e :meth:`~datetime.datetime.isocalendar()` de :class:`datetime.datetime` " +"agora retornam uma :func:`~collections.namedtuple` em vez de " +"uma :class:`tuple`. (Contribuição de Donghee Na em :issue:`24416`.)" -#: ../../whatsnew/3.9.rst:421 +#: ../../whatsnew/3.9.rst:420 msgid "distutils" msgstr "distutils" -#: ../../whatsnew/3.9.rst:423 +#: ../../whatsnew/3.9.rst:422 msgid "" "The :command:`upload` command now creates SHA2-256 and Blake2b-256 hash " "digests. It skips MD5 on platforms that block MD5 digest. (Contributed by " @@ -812,67 +806,69 @@ msgstr "" "Blake2b-256. Ele pula o MD5 em plataformas que bloqueiam digest do MD5. " "(Contribuição de Christian Heimes em :issue:`40698`.)" -#: ../../whatsnew/3.9.rst:428 +#: ../../whatsnew/3.9.rst:427 msgid "fcntl" msgstr "fcntl" -#: ../../whatsnew/3.9.rst:430 +#: ../../whatsnew/3.9.rst:429 msgid "" -"Added constants :data:`~fcntl.F_OFD_GETLK`, :data:`~fcntl.F_OFD_SETLK` and :" -"data:`~fcntl.F_OFD_SETLKW`. (Contributed by Dong-hee Na in :issue:`38602`.)" +"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 "" -"Adicionadas as constantes :data:`~fcntl.F_OFD_GETLK`, :data:`~fcntl." -"F_OFD_SETLK` e :data:`~fcntl.F_OFD_SETLKW`. (Contribuição de Dong-hee Na em :" -"issue:`38602`.)" +"Adicionadas as " +"constantes :const:`~fcntl.F_OFD_GETLK`, :const:`~fcntl.F_OFD_SETLK` " +"e :const:`~fcntl.F_OFD_SETLKW`. (Contribuição de Donghee Na " +"em :issue:`38602`.)" -#: ../../whatsnew/3.9.rst:435 +#: ../../whatsnew/3.9.rst:434 msgid "ftplib" msgstr "ftplib" -#: ../../whatsnew/3.9.rst:437 +#: ../../whatsnew/3.9.rst:436 msgid "" -":class:`~ftplib.FTP` and :class:`~ftplib.FTP_TLS` now raise a :class:" -"`ValueError` if the given timeout for their constructor is zero to prevent " -"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:" -"`39259`.)" +":class:`~ftplib.FTP` and :class:`~ftplib.FTP_TLS` now raise " +"a :class:`ValueError` if the given timeout for their constructor is zero to " +"prevent the creation of a non-blocking socket. (Contributed by Donghee Na " +"in :issue:`39259`.)" msgstr "" -":class:`~ftplib.FTP` e :class:`~ftplib.FTP_TLS` agora levantam a :class:" -"`ValueError` se o tempo limite especificado para o construtor for zero para " -"impedir a criação de um soquete não-bloqueante. (Contribuição de Dong-hee Na " -"em :issue:`39259`.)" +":class:`~ftplib.FTP` e :class:`~ftplib.FTP_TLS` agora levantam " +"a :class:`ValueError` se o tempo limite especificado para o construtor for " +"zero para impedir a criação de um soquete não-bloqueante. (Contribuição de " +"Donghee Na em :issue:`39259`.)" -#: ../../whatsnew/3.9.rst:442 +#: ../../whatsnew/3.9.rst:441 msgid "gc" msgstr "gc" -#: ../../whatsnew/3.9.rst:444 +#: ../../whatsnew/3.9.rst:443 msgid "" "When the garbage collector makes a collection in which some objects " "resurrect (they are reachable from outside the isolated cycles after the " "finalizers have been executed), do not block the collection of all objects " -"that are still unreachable. (Contributed by Pablo Galindo and Tim Peters in :" -"issue:`38379`.)" +"that are still unreachable. (Contributed by Pablo Galindo and Tim Peters " +"in :issue:`38379`.)" msgstr "" "Quando o coletor de lixo faz uma coleção na qual alguns objetos ressuscitam " "(são alcançáveis fora dos ciclos isolados após a execução dos " "finalizadores), não bloqueia a coleção de todos os objetos que ainda estão " "inacessíveis. (Contribuição de Pablo Galindo e Tim Peters em :issue:`38379`.)" -#: ../../whatsnew/3.9.rst:449 +#: ../../whatsnew/3.9.rst:448 msgid "" "Added a new function :func:`gc.is_finalized` to check if an object has been " -"finalized by the garbage collector. (Contributed by Pablo Galindo in :issue:" -"`39322`.)" +"finalized by the garbage collector. (Contributed by Pablo Galindo " +"in :issue:`39322`.)" msgstr "" "Adicionada uma nova função :func:`gc.is_finalized` para verificar se um " "objeto foi finalizado pelo coletor de lixo. (Contribuição de Pablo Galindo " "em :issue:`39322`.)" -#: ../../whatsnew/3.9.rst:454 +#: ../../whatsnew/3.9.rst:453 msgid "hashlib" msgstr "hashlib" -#: ../../whatsnew/3.9.rst:456 +#: ../../whatsnew/3.9.rst:455 msgid "" "The :mod:`hashlib` module can now use SHA3 hashes and SHAKE XOF from OpenSSL " "when available. (Contributed by Christian Heimes in :issue:`37630`.)" @@ -880,7 +876,7 @@ msgstr "" "O módulo :mod:`hashlib` pode agora usar hashes SHA3 e SHAKE XOF de OpenSSL " "quando disponível. (Contribuição de Christian Heimes em :issue:`37630`.)" -#: ../../whatsnew/3.9.rst:460 +#: ../../whatsnew/3.9.rst:459 msgid "" "Builtin hash modules can now be disabled with ``./configure --without-" "builtin-hashlib-hashes`` or selectively enabled with e.g. ``./configure --" @@ -890,36 +886,36 @@ msgstr "" "Os módulos hash integrados agora podem ser desativados com ``./configure --" "without-builtin-hashlib-hashes`` ou ativados seletivamente com por exemplo " "``./configure --with-builtin-hashlib-hashes=sha3,blake2`` para forçar o uso " -"da implementação baseada em OpenSSL. (Contribuição de Christian Heimes em :" -"issue:`40479`)" +"da implementação baseada em OpenSSL. (Contribuição de Christian Heimes " +"em :issue:`40479`)" -#: ../../whatsnew/3.9.rst:468 +#: ../../whatsnew/3.9.rst:467 msgid "http" msgstr "http" -#: ../../whatsnew/3.9.rst:470 +#: ../../whatsnew/3.9.rst:469 msgid "" "HTTP status codes ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` and ``425 " -"TOO_EARLY`` are added to :class:`http.HTTPStatus`. (Contributed by Dong-hee " +"TOO_EARLY`` are added to :class:`http.HTTPStatus`. (Contributed by Donghee " "Na in :issue:`39509` and Ross Rhodes in :issue:`39507`.)" msgstr "" "Códigos de status HTTP ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` e ``425 " "TOO_EARLY`` foram adicionados a :class:`http.HTTPStatus`. (Contribuição de " -"Dong-hee Na em :issue:`39509` e Ross Rhodes em :issue:`39507`.)" +"Donghee Na em :issue:`39509` e Ross Rhodes em :issue:`39507`.)" -#: ../../whatsnew/3.9.rst:474 +#: ../../whatsnew/3.9.rst:473 msgid "IDLE and idlelib" msgstr "IDLE e idlelib" -#: ../../whatsnew/3.9.rst:476 +#: ../../whatsnew/3.9.rst:475 msgid "" -"Added option to toggle cursor blink off. (Contributed by Zackery Spytz in :" -"issue:`4603`.)" +"Added option to toggle cursor blink off. (Contributed by Zackery Spytz " +"in :issue:`4603`.)" msgstr "" "Adicionada a opção para ativar e desativar o piscar do cursor. (Contribuição " "de Zackery Spytz na :issue:`4603`.)" -#: ../../whatsnew/3.9.rst:479 +#: ../../whatsnew/3.9.rst:478 msgid "" "Escape key now closes IDLE completion windows. (Contributed by Johnny " "Najera in :issue:`38944`.)" @@ -927,7 +923,7 @@ msgstr "" "A tecla Escape agora fecha as janelas de conclusão IDLE. (Contribuição de " "Johnny Najera em :issue:`38944`.)" -#: ../../whatsnew/3.9.rst:482 +#: ../../whatsnew/3.9.rst:481 msgid "" "Added keywords to module name completion list. (Contributed by Terry J. " "Reedy in :issue:`37765`.)" @@ -935,33 +931,33 @@ msgstr "" "Adicionada argumentos nomeados à lista de completamento de nome de módulo. " "(Contribuição de Terry J. Reedy em :issue:`37765`.)" -#: ../../whatsnew/3.9.rst:485 +#: ../../whatsnew/3.9.rst:484 msgid "New in 3.9 maintenance releases" msgstr "Novo nas versões de manutenção 3.9." -#: ../../whatsnew/3.9.rst:487 +#: ../../whatsnew/3.9.rst:486 msgid "" "Make IDLE invoke :func:`sys.excepthook` (when started without '-n'). User " -"hooks were previously ignored. (Contributed by Ken Hilton in :issue:" -"`43008`.)" +"hooks were previously ignored. (Contributed by Ken Hilton " +"in :issue:`43008`.)" msgstr "" "Faz o IDLE invocar :func:`sys.excepthook` (quando iniciado sem '-n'). " "Ganchos de usuário eram ignorados anteriormente. (Contribuição de Ken Hilton " "em :issue:`43008`.)" -#: ../../whatsnew/3.9.rst:491 +#: ../../whatsnew/3.9.rst:490 msgid "The changes above have been backported to 3.8 maintenance releases." msgstr "As alterações acima foram portadas para versões de manutenção do 3.8." -#: ../../whatsnew/3.9.rst:493 +#: ../../whatsnew/3.9.rst:492 msgid "" "Rearrange the settings dialog. Split the General tab into Windows and Shell/" "Ed tabs. Move help sources, which extend the Help menu, to the Extensions " "tab. Make space for new options and shorten the dialog. The latter makes " -"the dialog better fit small screens. (Contributed by Terry Jan Reedy in :" -"issue:`40468`.) Move the indent space setting from the Font tab to the new " -"Windows tab. (Contributed by Mark Roseman and Terry Jan Reedy in :issue:" -"`33962`.)" +"the dialog better fit small screens. (Contributed by Terry Jan Reedy " +"in :issue:`40468`.) Move the indent space setting from the Font tab to the " +"new Windows tab. (Contributed by Mark Roseman and Terry Jan Reedy " +"in :issue:`33962`.)" msgstr "" "Reorganiza a caixa de diálogo de configurações. Divide a aba General nas " "abas Windows e Shell/Ed. Move as fontes de ajuda, que estendem o menu Help, " @@ -971,7 +967,7 @@ msgstr "" "espaço de recuo da aba Font para a nova aba Windows. (Contribuição de Mark " "Roseman e Terry Jan Reedy em :issue:`33962`.)" -#: ../../whatsnew/3.9.rst:501 +#: ../../whatsnew/3.9.rst:500 msgid "" "Apply syntax highlighting to ``.pyi`` files. (Contributed by Alex Waygood " "and Terry Jan Reedy in :issue:`45447`.)" @@ -979,59 +975,61 @@ msgstr "" "Aplica realce de sintaxe em arquivos ``.pyi``. (Contribuição de Alex Waygood " "e Terry Jan Reedy em :issue:`45447`.)" -#: ../../whatsnew/3.9.rst:505 +#: ../../whatsnew/3.9.rst:504 msgid "imaplib" msgstr "imaplib" -#: ../../whatsnew/3.9.rst:507 +#: ../../whatsnew/3.9.rst:506 msgid "" ":class:`~imaplib.IMAP4` and :class:`~imaplib.IMAP4_SSL` now have an optional " -"*timeout* parameter for their constructors. Also, the :meth:`~imaplib.IMAP4." -"open` method now has an optional *timeout* parameter with this change. The " -"overridden methods of :class:`~imaplib.IMAP4_SSL` and :class:`~imaplib." -"IMAP4_stream` were applied to this change. (Contributed by Dong-hee Na in :" -"issue:`38615`.)" +"*timeout* parameter for their constructors. Also, " +"the :meth:`~imaplib.IMAP4.open` method now has an optional *timeout* " +"parameter with this change. The overridden methods " +"of :class:`~imaplib.IMAP4_SSL` and :class:`~imaplib.IMAP4_stream` were " +"applied to this change. (Contributed by Donghee Na in :issue:`38615`.)" msgstr "" ":class:`~imaplib.IMAP4` e :class:`~imaplib.IMAP4_SSL` agora possuem o " -"parâmetro opcional *timeout* para seus construtores. Também, o método :meth:" -"`~imaplib.IMAP4.open` agora possui um parâmetro opcional *timeout* com esta " -"alteração. Os métodos substituídos de :class:`~imaplib.IMAP4_SSL` e :class:" -"`~imaplib.IMAP4_stream` foram aplicados nesta alteração. (Contribuição de " -"Dong-hee Na em :issue:`38615`.)" +"parâmetro opcional *timeout* para seus construtores. Também, o " +"método :meth:`~imaplib.IMAP4.open` agora possui um parâmetro opcional " +"*timeout* com esta alteração. Os métodos substituídos " +"de :class:`~imaplib.IMAP4_SSL` e :class:`~imaplib.IMAP4_stream` foram " +"aplicados nesta alteração. (Contribuição de Dong-hee Na em :issue:`38615`.)" -#: ../../whatsnew/3.9.rst:514 +#: ../../whatsnew/3.9.rst:513 msgid "" ":meth:`imaplib.IMAP4.unselect` is added. :meth:`imaplib.IMAP4.unselect` " "frees server's resources associated with the selected mailbox and returns " "the server to the authenticated state. This command performs the same " "actions as :meth:`imaplib.IMAP4.close`, except that no messages are " "permanently removed from the currently selected mailbox. (Contributed by " -"Dong-hee Na in :issue:`40375`.)" +"Donghee Na in :issue:`40375`.)" msgstr "" -":meth:`imaplib.IMAP4.unselect` foi adicionado. :meth:`imaplib.IMAP4." -"unselect` libera os recursos do servidor associados à caixa de correio " -"selecionada e retorna o servidor ao estado autenticado. Este comando executa " -"as mesmas ações que :meth:`imaplib.IMAP4.close`, exceto que nenhuma mensagem " -"é removida permanentemente da caixa de correio selecionada no momento. " -"(Contribuição de Dong-hee Na em :issue:`40375`.)" +":meth:`imaplib.IMAP4.unselect` foi " +"adicionado. :meth:`imaplib.IMAP4.unselect` libera os recursos do servidor " +"associados à caixa de correio selecionada e retorna o servidor ao estado " +"autenticado. Este comando executa as mesmas ações " +"que :meth:`imaplib.IMAP4.close`, exceto que nenhuma mensagem é removida " +"permanentemente da caixa de correio selecionada no momento. (Contribuição de " +"Dong-hee Na em :issue:`40375`.)" -#: ../../whatsnew/3.9.rst:522 +#: ../../whatsnew/3.9.rst:521 msgid "importlib" msgstr "importlib" -#: ../../whatsnew/3.9.rst:524 +#: ../../whatsnew/3.9.rst:523 msgid "" -"To improve consistency with import statements, :func:`importlib.util." -"resolve_name` now raises :exc:`ImportError` instead of :exc:`ValueError` for " -"invalid relative import attempts. (Contributed by Ngalim Siregar in :issue:" -"`37444`.)" +"To improve consistency with import " +"statements, :func:`importlib.util.resolve_name` now " +"raises :exc:`ImportError` instead of :exc:`ValueError` for invalid relative " +"import attempts. (Contributed by Ngalim Siregar in :issue:`37444`.)" msgstr "" -"Para melhorar a consistência com as instruções de importação, :func:" -"`importlib.util.resolve_name` agora levanta :exc:`ImportError` em vez de :" -"exc:`ValueError` para tentativas de importação relativas inválidas. " -"(Contribuição de Ngalim Siregar em :issue:`37444`.)" +"Para melhorar a consistência com as instruções de " +"importação, :func:`importlib.util.resolve_name` agora " +"levanta :exc:`ImportError` em vez de :exc:`ValueError` para tentativas de " +"importação relativas inválidas. (Contribuição de Ngalim Siregar " +"em :issue:`37444`.)" -#: ../../whatsnew/3.9.rst:529 +#: ../../whatsnew/3.9.rst:528 msgid "" "Import loaders which publish immutable module objects can now publish " "immutable packages in addition to individual modules. (Contributed by Dino " @@ -1041,7 +1039,7 @@ msgstr "" "podem publicar pacotes imutáveis além de módulos individuais. (Contribuição " "de Dino Viehland em :issue:`39336`.)" -#: ../../whatsnew/3.9.rst:533 +#: ../../whatsnew/3.9.rst:532 msgid "" "Added :func:`importlib.resources.files` function with support for " "subdirectories in package data, matching backport in ``importlib_resources`` " @@ -1049,34 +1047,34 @@ msgid "" msgstr "" "Adicionada a função :func:`importlib.resources.files` com suporte a " "subdiretórios nos dados do pacote, correspondendo ao backport na versão 1.5 " -"do ``importlib_resources``. (Contribuição de Jason R. Coombs em :issue:" -"`39791`.)" +"do ``importlib_resources``. (Contribuição de Jason R. Coombs " +"em :issue:`39791`.)" -#: ../../whatsnew/3.9.rst:538 +#: ../../whatsnew/3.9.rst:537 msgid "" "Refreshed ``importlib.metadata`` from ``importlib_metadata`` version 1.6.1." msgstr "" "Renovado ``importlib.metadata`` de ``importlib_metadata`` versão 1.6.1." -#: ../../whatsnew/3.9.rst:541 +#: ../../whatsnew/3.9.rst:540 msgid "inspect" msgstr "inspect" -#: ../../whatsnew/3.9.rst:543 +#: ../../whatsnew/3.9.rst:542 msgid "" ":attr:`inspect.BoundArguments.arguments` is changed from ``OrderedDict`` to " -"regular dict. (Contributed by Inada Naoki in :issue:`36350` and :issue:" -"`39775`.)" +"regular dict. (Contributed by Inada Naoki in :issue:`36350` " +"and :issue:`39775`.)" msgstr "" ":attr:`inspect.BoundArguments.arguments` foi alterado de ``OrderedDict`` " -"para dict regular. (Contribuição de Inada Naoki em :issue:`36350` e :issue:" -"`39775`.)" +"para dict regular. (Contribuição de Inada Naoki em :issue:`36350` " +"e :issue:`39775`.)" -#: ../../whatsnew/3.9.rst:547 +#: ../../whatsnew/3.9.rst:546 msgid "ipaddress" msgstr "ipaddress" -#: ../../whatsnew/3.9.rst:549 +#: ../../whatsnew/3.9.rst:548 msgid "" ":mod:`ipaddress` now supports IPv6 Scoped Addresses (IPv6 address with " "suffix ``%``)." @@ -1084,33 +1082,33 @@ msgstr "" ":mod:`ipaddress` agora suporta endereços IPv6 com escopo definido (endereço " "IPv6 com sufixo ``%``)." -#: ../../whatsnew/3.9.rst:551 +#: ../../whatsnew/3.9.rst:550 msgid "" "Scoped IPv6 addresses can be parsed using :class:`ipaddress.IPv6Address`. If " -"present, scope zone ID is available through the :attr:`~ipaddress." -"IPv6Address.scope_id` attribute. (Contributed by Oleksandr Pavliuk in :issue:" -"`34788`.)" +"present, scope zone ID is available through " +"the :attr:`~ipaddress.IPv6Address.scope_id` attribute. (Contributed by " +"Oleksandr Pavliuk in :issue:`34788`.)" msgstr "" -"Os endereços IPv6 com escopo definido podem ser analisados usando :class:" -"`ipaddress.IPv6Address`. Se presente, o ID da zona de escopo está disponível " -"através do atributo :attr:`~ipaddress.IPv6Address.scope_id`. (Contribuição " -"de Oleksandr Pavliuk em :issue:`34788`.)" +"Os endereços IPv6 com escopo definido podem ser analisados " +"usando :class:`ipaddress.IPv6Address`. Se presente, o ID da zona de escopo " +"está disponível através do atributo :attr:`~ipaddress.IPv6Address.scope_id`. " +"(Contribuição de Oleksandr Pavliuk em :issue:`34788`.)" -#: ../../whatsnew/3.9.rst:555 +#: ../../whatsnew/3.9.rst:554 msgid "" "Starting with Python 3.9.5 the :mod:`ipaddress` module no longer accepts any " -"leading zeros in IPv4 address strings. (Contributed by Christian Heimes in :" -"issue:`36384`)." +"leading zeros in IPv4 address strings. (Contributed by Christian Heimes " +"in :issue:`36384`)." msgstr "" "A partir do Python 3.9.5, o módulo :mod:`ipaddress` não aceita mais zeros à " -"esquerda em strings de endereço IPv4. (Contribuição de Christian Heimes em :" -"issue:`36384`)." +"esquerda em strings de endereço IPv4. (Contribuição de Christian Heimes " +"em :issue:`36384`)." -#: ../../whatsnew/3.9.rst:560 +#: ../../whatsnew/3.9.rst:559 msgid "math" msgstr "math" -#: ../../whatsnew/3.9.rst:562 +#: ../../whatsnew/3.9.rst:561 msgid "" "Expanded the :func:`math.gcd` function to handle multiple arguments. " "Formerly, it only supported two arguments. (Contributed by Serhiy Storchaka " @@ -1120,7 +1118,7 @@ msgstr "" "Anteriormente, tinha suporte apenas a dois argumentos. (Contribuição de " "Serhiy Storchaka em :issue:`39648`.)" -#: ../../whatsnew/3.9.rst:566 +#: ../../whatsnew/3.9.rst:565 msgid "" "Added :func:`math.lcm`: return the least common multiple of specified " "arguments. (Contributed by Mark Dickinson, Ananthakrishnan and Serhiy " @@ -1130,16 +1128,16 @@ msgstr "" "especificados. (Contribuição de Mark Dickinson, Ananthakrishnan e Serhiy " "Storchaka em :issue:`39479` e :issue:` 39648`.)" -#: ../../whatsnew/3.9.rst:570 +#: ../../whatsnew/3.9.rst:569 msgid "" "Added :func:`math.nextafter`: return the next floating-point value after *x* " "towards *y*. (Contributed by Victor Stinner in :issue:`39288`.)" msgstr "" "Adicionada :func:`math.nextafter`: retorna o próximo valor de ponto " -"flutuante após *x* em direção a *y*. (Contribuição de Victor Stinner em :" -"issue:`39288`.)" +"flutuante após *x* em direção a *y*. (Contribuição de Victor Stinner " +"em :issue:`39288`.)" -#: ../../whatsnew/3.9.rst:574 +#: ../../whatsnew/3.9.rst:573 msgid "" "Added :func:`math.ulp`: return the value of the least significant bit of a " "float. (Contributed by Victor Stinner in :issue:`39310`.)" @@ -1147,58 +1145,59 @@ msgstr "" "Adicionada :func:`math.ulp`: retorna o valor do bit menos significativo de " "um ponto flutuante. (Contribuição de Victor Stinner em :issue:`39310`.)" -#: ../../whatsnew/3.9.rst:579 +#: ../../whatsnew/3.9.rst:578 msgid "multiprocessing" msgstr "multiprocessing" -#: ../../whatsnew/3.9.rst:581 +#: ../../whatsnew/3.9.rst:580 msgid "" -"The :class:`multiprocessing.SimpleQueue` class has a new :meth:" -"`~multiprocessing.SimpleQueue.close` method to explicitly close the queue. " -"(Contributed by Victor Stinner in :issue:`30966`.)" +"The :class:`multiprocessing.SimpleQueue` class has a " +"new :meth:`~multiprocessing.SimpleQueue.close` method to explicitly close " +"the queue. (Contributed by Victor Stinner in :issue:`30966`.)" msgstr "" -"A classe :class:`multiprocessing.SimpleQueue` tem um novo método :meth:" -"`~multiprocessing.SimpleQueue.close` para fechar explicitamente a fila. " -"(Contribuição de Victor Stinner em :issue:`30966`.)" +"A classe :class:`multiprocessing.SimpleQueue` tem um novo " +"método :meth:`~multiprocessing.SimpleQueue.close` para fechar explicitamente " +"a fila. (Contribuição de Victor Stinner em :issue:`30966`.)" -#: ../../whatsnew/3.9.rst:587 +#: ../../whatsnew/3.9.rst:586 msgid "nntplib" msgstr "nntplib" -#: ../../whatsnew/3.9.rst:589 +#: ../../whatsnew/3.9.rst:588 msgid "" -":class:`~nntplib.NNTP` and :class:`~nntplib.NNTP_SSL` now raise a :class:" -"`ValueError` if the given timeout for their constructor is zero to prevent " -"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:" -"`39259`.)" +":class:`~nntplib.NNTP` and :class:`~nntplib.NNTP_SSL` now raise " +"a :class:`ValueError` if the given timeout for their constructor is zero to " +"prevent the creation of a non-blocking socket. (Contributed by Donghee Na " +"in :issue:`39259`.)" msgstr "" ":class:`~nntplib.NNTP` e :class:`~nntplib.NNTP_SSL` agora levantam uma " "exceção :class:`ValueError` se o tempo limite fornecido ao construtor é " "zero, para prevenir a criação de um socket não-bloqueante. (Contribuição de " -"Dong-hee Na em :issue:`39259`.)" +"Donghee Na em :issue:`39259`.)" -#: ../../whatsnew/3.9.rst:594 +#: ../../whatsnew/3.9.rst:593 msgid "os" msgstr "os" -#: ../../whatsnew/3.9.rst:596 +#: ../../whatsnew/3.9.rst:595 msgid "" -"Added :data:`~os.CLD_KILLED` and :data:`~os.CLD_STOPPED` for :attr:" -"`si_code`. (Contributed by Dong-hee Na in :issue:`38493`.)" +"Added :const:`~os.CLD_KILLED` and :const:`~os.CLD_STOPPED` " +"for :attr:`si_code`. (Contributed by Donghee Na in :issue:`38493`.)" msgstr "" -"Adicionadas as constantes :data:`~os.CLD_KILLED` e :data:`~os.CLD_STOPPED` " -"para :attr:`si_code`. (Contribuição de Dong-hee Na em :issue:`38493`.)" +"Adicionadas as constantes :const:`~os.CLD_KILLED` e :const:`~os.CLD_STOPPED` " +"para :attr:`si_code`. (Contribuição de Donghee Na em :issue:`38493`.)" -#: ../../whatsnew/3.9.rst:599 +#: ../../whatsnew/3.9.rst:598 msgid "" -"Exposed the Linux-specific :func:`os.pidfd_open` (:issue:`38692`) and :data:" -"`os.P_PIDFD` (:issue:`38713`) for process management with file descriptors." +"Exposed the Linux-specific :func:`os.pidfd_open` (:issue:`38692`) " +"and :const:`os.P_PIDFD` (:issue:`38713`) for process management with file " +"descriptors." msgstr "" -"Exposta :func:`os.pidfd_open` específica do Linux (:issue:`38692`) e :data:" -"`os.P_PIDFD` (:issue:`38713`) para gerenciamento de processos com " +"Exposta :func:`os.pidfd_open` específica do Linux (:issue:`38692`) " +"e :const:`os.P_PIDFD` (:issue:`38713`) para gerenciamento de processos com " "descritores de arquivo." -#: ../../whatsnew/3.9.rst:603 +#: ../../whatsnew/3.9.rst:602 msgid "" "The :func:`os.unsetenv` function is now also available on Windows. " "(Contributed by Victor Stinner in :issue:`39413`.)" @@ -1206,7 +1205,7 @@ msgstr "" "A função :func:`os.unsetenv` agora também está disponível no Windows. " "(Contribuição de Victor Stinner em :issue:`39413`.)" -#: ../../whatsnew/3.9.rst:606 +#: ../../whatsnew/3.9.rst:605 msgid "" "The :func:`os.putenv` and :func:`os.unsetenv` functions are now always " "available. (Contributed by Victor Stinner in :issue:`39395`.)" @@ -1214,32 +1213,32 @@ msgstr "" "As funções :func:`os.putenv` e :func:`os.unsetenv` estão agora sempre " "disponíveis. (Contribuição de Victor Stinner em :issue:`39395`.)" -#: ../../whatsnew/3.9.rst:610 +#: ../../whatsnew/3.9.rst:609 msgid "" "Added :func:`os.waitstatus_to_exitcode` function: convert a wait status to " "an exit code. (Contributed by Victor Stinner in :issue:`40094`.)" msgstr "" "Adicionada a função :func:`os.waitstatus_to_exitcode`: converte um status de " -"espera em um código de saída. (Contribuição de Victor Stinner em :issue:" -"`40094`.)" +"espera em um código de saída. (Contribuição de Victor Stinner " +"em :issue:`40094`.)" -#: ../../whatsnew/3.9.rst:615 +#: ../../whatsnew/3.9.rst:614 msgid "pathlib" msgstr "pathlib" -#: ../../whatsnew/3.9.rst:617 +#: ../../whatsnew/3.9.rst:616 msgid "" -"Added :meth:`pathlib.Path.readlink()` which acts similarly to :func:`os." -"readlink`. (Contributed by Girts Folkmanis in :issue:`30618`)" +"Added :meth:`pathlib.Path.readlink()` which acts similarly " +"to :func:`os.readlink`. (Contributed by Girts Folkmanis in :issue:`30618`)" msgstr "" "Adicionado :meth:`pathlib.Path.readlink ()`, que age de maneira semelhante " "a :func:`os.readlink`. (Contribuição de Girts Folkmanis em :issue: `30618`)" -#: ../../whatsnew/3.9.rst:622 +#: ../../whatsnew/3.9.rst:621 msgid "pdb" msgstr "pdb" -#: ../../whatsnew/3.9.rst:624 +#: ../../whatsnew/3.9.rst:623 msgid "" "On Windows now :class:`~pdb.Pdb` supports ``~/.pdbrc``. (Contributed by Tim " "Hopper and Dan Lidral-Porter in :issue:`20523`.)" @@ -1247,27 +1246,27 @@ msgstr "" "No Windows, agora :class:`~pdb.Pdb` tem suporte a ``~/.pdbrc``. " "(Contribuição de Tim Hopper e Dan Lidral-Porter em :issue:`20523`.)" -#: ../../whatsnew/3.9.rst:628 +#: ../../whatsnew/3.9.rst:627 msgid "poplib" msgstr "poplib" -#: ../../whatsnew/3.9.rst:630 +#: ../../whatsnew/3.9.rst:629 msgid "" -":class:`~poplib.POP3` and :class:`~poplib.POP3_SSL` now raise a :class:" -"`ValueError` if the given timeout for their constructor is zero to prevent " -"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:" -"`39259`.)" +":class:`~poplib.POP3` and :class:`~poplib.POP3_SSL` now raise " +"a :class:`ValueError` if the given timeout for their constructor is zero to " +"prevent the creation of a non-blocking socket. (Contributed by Donghee Na " +"in :issue:`39259`.)" msgstr "" -":class:`~poplib.POP3` e :class:`~poplib.POP3_SSL` agora levantam a :class:" -"`ValueError` se o tempo limite especificado para o construtor for zero para " -"impedir a criação de um soquete sem bloqueio. (Contribuição de Dong-hee Na " -"em :issue:`39259`.)" +":class:`~poplib.POP3` e :class:`~poplib.POP3_SSL` agora levantam " +"a :class:`ValueError` se o tempo limite especificado para o construtor for " +"zero para impedir a criação de um soquete sem bloqueio. (Contribuição de " +"Donghee Na em :issue:`39259`.)" -#: ../../whatsnew/3.9.rst:635 +#: ../../whatsnew/3.9.rst:634 msgid "pprint" msgstr "pprint" -#: ../../whatsnew/3.9.rst:637 +#: ../../whatsnew/3.9.rst:636 msgid "" ":mod:`pprint` can now pretty-print :class:`types.SimpleNamespace`. " "(Contributed by Carl Bordum Hansen in :issue:`37376`.)" @@ -1275,11 +1274,11 @@ msgstr "" ":mod:`pprint` agora pode imprimir :class:`types.SimpleNamespace`. " "(Contribuição de Carl Bordum Hansen em :issue:`37376`.)" -#: ../../whatsnew/3.9.rst:641 +#: ../../whatsnew/3.9.rst:640 msgid "pydoc" msgstr "pydoc" -#: ../../whatsnew/3.9.rst:643 +#: ../../whatsnew/3.9.rst:642 msgid "" "The documentation string is now shown not only for class, function, method " "etc, but for any object that has its own ``__doc__`` attribute. (Contributed " @@ -1289,11 +1288,11 @@ msgstr "" "método etc, mas para qualquer objeto que tenha seu próprio atributo " "``__doc__``. (Contribuição de Serhiy Storchaka em :issue:`40257`.)" -#: ../../whatsnew/3.9.rst:648 +#: ../../whatsnew/3.9.rst:647 msgid "random" msgstr "random" -#: ../../whatsnew/3.9.rst:650 +#: ../../whatsnew/3.9.rst:649 msgid "" "Added a new :attr:`random.Random.randbytes` method: generate random bytes. " "(Contributed by Victor Stinner in :issue:`40286`.)" @@ -1301,81 +1300,81 @@ msgstr "" "Adicionado um novo método :attr:`random.Random.randbytes`: gera bytes " "aleatórios. (Contribuição de Victor Stinner em :issue:`40286`.)" -#: ../../whatsnew/3.9.rst:654 +#: ../../whatsnew/3.9.rst:653 msgid "signal" msgstr "signal" -#: ../../whatsnew/3.9.rst:656 +#: ../../whatsnew/3.9.rst:655 msgid "" "Exposed the Linux-specific :func:`signal.pidfd_send_signal` for sending to " -"signals to a process using a file descriptor instead of a pid. (:issue:" -"`38712`)" +"signals to a process using a file descriptor instead of a pid. " +"(:issue:`38712`)" msgstr "" "Exposta a :func:`signal.pidfd_send_signal` específica do Linux para enviar " -"sinais a um processo usando um descritor de arquivo em vez de um pid. (:" -"issue:`38712`)" +"sinais a um processo usando um descritor de arquivo em vez de um pid. " +"(:issue:`38712`)" -#: ../../whatsnew/3.9.rst:660 +#: ../../whatsnew/3.9.rst:659 msgid "smtplib" msgstr "smtplib" -#: ../../whatsnew/3.9.rst:662 +#: ../../whatsnew/3.9.rst:661 msgid "" -":class:`~smtplib.SMTP` and :class:`~smtplib.SMTP_SSL` now raise a :class:" -"`ValueError` if the given timeout for their constructor is zero to prevent " -"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:" -"`39259`.)" +":class:`~smtplib.SMTP` and :class:`~smtplib.SMTP_SSL` now raise " +"a :class:`ValueError` if the given timeout for their constructor is zero to " +"prevent the creation of a non-blocking socket. (Contributed by Donghee Na " +"in :issue:`39259`.)" msgstr "" -":class:`~smtplib.SMTP` e :class:`~smtplib.SMTP_SSL` agora levantam uma :" -"class:`ValueError` se o tempo limite especificado para seu construtor for " -"zero para impedir a criação de um soquete sem bloqueio. (Contribuição de " +":class:`~smtplib.SMTP` e :class:`~smtplib.SMTP_SSL` agora levantam " +"uma :class:`ValueError` se o tempo limite especificado para seu construtor " +"for zero para impedir a criação de um soquete sem bloqueio. (Contribuição de " "Dong-hee Na em :issue:`39259`.)" -#: ../../whatsnew/3.9.rst:666 +#: ../../whatsnew/3.9.rst:665 msgid "" ":class:`~smtplib.LMTP` constructor now has an optional *timeout* parameter. " -"(Contributed by Dong-hee Na in :issue:`39329`.)" +"(Contributed by Donghee Na in :issue:`39329`.)" msgstr "" "O construtor de :class:`~smtplib.LMTP` agora tem um parâmetro opcional " "*timeout*. (Contribuição de Dong-hee Na em :issue:`39329`.)" -#: ../../whatsnew/3.9.rst:670 +#: ../../whatsnew/3.9.rst:669 msgid "socket" msgstr "socket" -#: ../../whatsnew/3.9.rst:672 +#: ../../whatsnew/3.9.rst:671 msgid "" -"The :mod:`socket` module now exports the :data:`~socket." -"CAN_RAW_JOIN_FILTERS` constant on Linux 4.1 and greater. (Contributed by " -"Stefan Tatschner and Zackery Spytz in :issue:`25780`.)" +"The :mod:`socket` module now exports " +"the :const:`~socket.CAN_RAW_JOIN_FILTERS` constant on Linux 4.1 and greater. " +"(Contributed by Stefan Tatschner and Zackery Spytz in :issue:`25780`.)" msgstr "" -"O módulo :mod:`socket` agora exporta a constante :data:`~socket." -"CAN_RAW_JOIN_FILTERS` no Linux 4.1 e superior. (Contribuição de Stefan " -"Tatschner e Zackery Spytz em :issue:`25780`.)" +"O módulo :mod:`socket` agora exporta a " +"constante :const:`~socket.CAN_RAW_JOIN_FILTERS` no Linux 4.1 e superior. " +"(Contribuição de Stefan Tatschner e Zackery Spytz em :issue:`25780`.)" -#: ../../whatsnew/3.9.rst:676 +#: ../../whatsnew/3.9.rst:675 msgid "" -"The socket module now supports the :data:`~socket.CAN_J1939` protocol on " +"The socket module now supports the :const:`~socket.CAN_J1939` protocol on " "platforms that support it. (Contributed by Karl Ding in :issue:`40291`.)" msgstr "" -"O módulo socket agora suporta o protocolo :data:`~socket.CAN_J1939` nas " +"O módulo socket agora suporta o protocolo :const:`~socket.CAN_J1939` nas " "plataformas que o suportam. (Contribuição de Karl Ding em :issue:`40291`.)" -#: ../../whatsnew/3.9.rst:679 +#: ../../whatsnew/3.9.rst:678 msgid "" -"The socket module now has the :func:`socket.send_fds` and :func:`socket." -"recv_fds` functions. (Contributed by Joannah Nanjekye, Shinya Okano and " -"Victor Stinner in :issue:`28724`.)" +"The socket module now has the :func:`socket.send_fds` " +"and :func:`socket.recv_fds` functions. (Contributed by Joannah Nanjekye, " +"Shinya Okano and Victor Stinner in :issue:`28724`.)" msgstr "" -"O módulo socket agora tem as funções :func:`socket.send_fds` e :func:`socket." -"recv_fds`. (Contribuição de Joannah Nanjekye, Shinya Okano e Victor Stinner " -"em :issue:`28724`.)" +"O módulo socket agora tem as funções :func:`socket.send_fds` " +"e :func:`socket.recv_fds`. (Contribuição de Joannah Nanjekye, Shinya Okano e " +"Victor Stinner em :issue:`28724`.)" -#: ../../whatsnew/3.9.rst:685 +#: ../../whatsnew/3.9.rst:684 msgid "time" msgstr "time" -#: ../../whatsnew/3.9.rst:687 +#: ../../whatsnew/3.9.rst:686 msgid "" "On AIX, :func:`~time.thread_time` is now implemented with " "``thread_cputime()`` which has nanosecond resolution, rather than " @@ -1387,41 +1386,41 @@ msgstr "" "``clock_gettime(CLOCK_THREAD_CPUTIME_ID)``, que tem uma resolução de 10 " "milissegundos. (Contribuição de Batuhan Taskaya em :issue:`40192`)" -#: ../../whatsnew/3.9.rst:693 +#: ../../whatsnew/3.9.rst:692 msgid "sys" msgstr "sys" -#: ../../whatsnew/3.9.rst:695 +#: ../../whatsnew/3.9.rst:694 msgid "" -"Added a new :attr:`sys.platlibdir` attribute: name of the platform-specific " +"Added a new :data:`sys.platlibdir` attribute: name of the platform-specific " "library directory. It is used to build the path of standard library and the " "paths of installed extension modules. It is equal to ``\"lib\"`` on most " "platforms. On Fedora and SuSE, it is equal to ``\"lib64\"`` on 64-bit " "platforms. (Contributed by Jan Matějek, Matěj Cepl, Charalampos Stratakis " "and Victor Stinner in :issue:`1294959`.)" msgstr "" -"Adicionado um novo atributo :attr:`sys.platlibdir`: nome do diretório da " +"Adicionado um novo atributo :data:`sys.platlibdir`: nome do diretório da " "biblioteca específica da plataforma. É usado para construir o caminho da " "biblioteca padrão e os caminhos dos módulos de extensão instalados. É igual " "a ``\"lib\"`` na maioria das plataformas. No Fedora e SuSE, é igual a " "``\"lib64\"`` nas plataformas de 64 bits. (Contribuição de Jan Matějek, " "Matěj Cepl, Charalampos Stratakis e Victor Stinner em :issue:`1294959`.)" -#: ../../whatsnew/3.9.rst:701 +#: ../../whatsnew/3.9.rst:700 msgid "" -"Previously, :attr:`sys.stderr` was block-buffered when non-interactive. Now " +"Previously, :data:`sys.stderr` was block-buffered when non-interactive. Now " "``stderr`` defaults to always being line-buffered. (Contributed by Jendrik " "Seipp in :issue:`13601`.)" msgstr "" -"Anteriormente, :attr:`sys.stderr` era armazenado em buffer quando não " +"Anteriormente, :data:`sys.stderr` era armazenado em buffer quando não " "interativo. Agora, ``stderr`` assume como padrão sempre o buffer de linha. " "(Contribuição de Jendrik Seipp em :issue:`13601`.)" -#: ../../whatsnew/3.9.rst:706 +#: ../../whatsnew/3.9.rst:705 msgid "tracemalloc" msgstr "tracemalloc" -#: ../../whatsnew/3.9.rst:708 +#: ../../whatsnew/3.9.rst:707 msgid "" "Added :func:`tracemalloc.reset_peak` to set the peak size of traced memory " "blocks to the current size, to measure the peak of specific pieces of code. " @@ -1429,14 +1428,14 @@ msgid "" msgstr "" "Adicionada :func:`tracemalloc.reset_peak` para definir o tamanho do pico dos " "blocos de memória rastreados para o tamanho atual, para medir o pico de " -"partes específicas do código. (Contribuição de Huon Wilson em :issue:" -"`40630`.)" +"partes específicas do código. (Contribuição de Huon Wilson " +"em :issue:`40630`.)" -#: ../../whatsnew/3.9.rst:713 ../../whatsnew/3.9.rst:1496 +#: ../../whatsnew/3.9.rst:712 ../../whatsnew/3.9.rst:1495 msgid "typing" msgstr "typing" -#: ../../whatsnew/3.9.rst:715 +#: ../../whatsnew/3.9.rst:714 msgid "" ":pep:`593` introduced an :data:`typing.Annotated` type to decorate existing " "types with context-specific metadata and new ``include_extras`` parameter " @@ -1449,22 +1448,22 @@ msgstr "" "metadados em tempo de execução. (Contribuição de Till Varoquaux e Konstantin " "Kashin.)" -#: ../../whatsnew/3.9.rst:721 +#: ../../whatsnew/3.9.rst:720 msgid "unicodedata" msgstr "unicodedata" -#: ../../whatsnew/3.9.rst:723 +#: ../../whatsnew/3.9.rst:722 msgid "" "The Unicode database has been updated to version 13.0.0. (:issue:`39926`)." msgstr "" -"O banco de dados Unicode foi atualizado para a versão 13.0.0. (:issue:" -"`39926`)." +"O banco de dados Unicode foi atualizado para a versão 13.0.0. " +"(:issue:`39926`)." -#: ../../whatsnew/3.9.rst:726 +#: ../../whatsnew/3.9.rst:725 msgid "venv" msgstr "venv" -#: ../../whatsnew/3.9.rst:728 +#: ../../whatsnew/3.9.rst:727 msgid "" "The activation scripts provided by :mod:`venv` now all specify their prompt " "customization consistently by always using the value specified by " @@ -1480,16 +1479,17 @@ msgstr "" "era o caso padrão) e um usava ``__VENV_NAME__``. (Contribuição de Brett " "Cannon em :issue:`37663`.)" -#: ../../whatsnew/3.9.rst:736 +#: ../../whatsnew/3.9.rst:735 msgid "xml" msgstr "xml" -#: ../../whatsnew/3.9.rst:738 +#: ../../whatsnew/3.9.rst:737 msgid "" -"White space characters within attributes are now preserved when serializing :" -"mod:`xml.etree.ElementTree` to XML file. EOLNs are no longer normalized to " -"\"\\n\". This is the result of discussion about how to interpret section " -"2.11 of XML spec. (Contributed by Mefistotelis in :issue:`39011`.)" +"White space characters within attributes are now preserved when " +"serializing :mod:`xml.etree.ElementTree` to XML file. EOLNs are no longer " +"normalized to \"\\n\". This is the result of discussion about how to " +"interpret section 2.11 of XML spec. (Contributed by Mefistotelis " +"in :issue:`39011`.)" msgstr "" "Os caracteres de espaço em branco nos atributos agora são preservados ao " "serializar :mod:`xml.etree.ElementTree` para o arquivo XML. EOLNs não são " @@ -1497,11 +1497,11 @@ msgstr "" "interpretar a seção 2.11 da especificação XML. (Contribuição de Mefistotelis " "em :issue:`39011`.)" -#: ../../whatsnew/3.9.rst:746 +#: ../../whatsnew/3.9.rst:745 msgid "Optimizations" msgstr "Otimizações" -#: ../../whatsnew/3.9.rst:748 +#: ../../whatsnew/3.9.rst:747 msgid "" "Optimized the idiom for assignment a temporary variable in comprehensions. " "Now ``for y in [expr]`` in comprehensions is as fast as a simple assignment " @@ -1511,11 +1511,11 @@ msgstr "" "compreensões. Agora ``for y in [expr]`` nas compreensões é tão rápido quanto " "uma atribuição simples ``y = expr``. Por exemplo:" -#: ../../whatsnew/3.9.rst:752 +#: ../../whatsnew/3.9.rst:751 msgid "sums = [s for s in [0] for x in data for s in [s + x]]" msgstr "sums = [s for s in [0] for x in data for s in [s + x]]" -#: ../../whatsnew/3.9.rst:754 +#: ../../whatsnew/3.9.rst:753 msgid "" "Unlike the ``:=`` operator this idiom does not leak a variable to the outer " "scope." @@ -1523,11 +1523,11 @@ msgstr "" "Ao contrário do operador ``:=``, este idioma não vaza uma variável para o " "escopo externo." -#: ../../whatsnew/3.9.rst:757 +#: ../../whatsnew/3.9.rst:756 msgid "(Contributed by Serhiy Storchaka in :issue:`32856`.)" msgstr "(Contribuição de Serhiy Storchaka em :issue:`32856`.)" -#: ../../whatsnew/3.9.rst:759 +#: ../../whatsnew/3.9.rst:758 msgid "" "Optimized signal handling in multithreaded applications. If a thread " "different than the main thread gets a signal, the bytecode evaluation loop " @@ -1541,17 +1541,17 @@ msgstr "" "verificar se há sinais pendentes que não podem ser manipulados. Somente o " "segmento principal do interpretador principal pode manipular sinais." -#: ../../whatsnew/3.9.rst:765 +#: ../../whatsnew/3.9.rst:764 msgid "" "Previously, the bytecode evaluation loop was interrupted at each instruction " -"until the main thread handles signals. (Contributed by Victor Stinner in :" -"issue:`40010`.)" +"until the main thread handles signals. (Contributed by Victor Stinner " +"in :issue:`40010`.)" msgstr "" "Anteriormente, o loop de avaliação do bytecode era interrompido em cada " "instrução até que a thread principal lidasse com os sinais. (Contribuição de " "Victor Stinner em :issue:`40010`.)" -#: ../../whatsnew/3.9.rst:769 +#: ../../whatsnew/3.9.rst:768 msgid "" "Optimized the :mod:`subprocess` module on FreeBSD using ``closefrom()``. " "(Contributed by Ed Maste, Conrad Meyer, Kyle Evans, Kubilay Kocak and Victor " @@ -1561,28 +1561,30 @@ msgstr "" "(Contribuição de Ed Maste, Conrad Meyer, Kyle Evans, Kubilay Kocak e Victor " "Stinner em :issue:`38061`.)" -#: ../../whatsnew/3.9.rst:773 +#: ../../whatsnew/3.9.rst:772 msgid "" ":c:func:`PyLong_FromDouble` is now up to 1.87x faster for values that fit " "into :c:expr:`long`. (Contributed by Sergey Fedoseev in :issue:`37986`.)" msgstr "" ":c:func:`PyLong_FromDouble` está agora até 1.87x mais rápido para valores " -"que cabem em um :c:expr:`long`. (Contribuição de Sergey Fedoseev em :issue:" -"`37986`.)" +"que cabem em um :c:expr:`long`. (Contribuição de Sergey Fedoseev " +"em :issue:`37986`.)" -#: ../../whatsnew/3.9.rst:777 +#: ../../whatsnew/3.9.rst:776 msgid "" -"A number of Python builtins (:class:`range`, :class:`tuple`, :class:`set`, :" -"class:`frozenset`, :class:`list`, :class:`dict`) are now sped up by using :" -"pep:`590` vectorcall protocol. (Contributed by Dong-hee Na, Mark Shannon, " -"Jeroen Demeyer and Petr Viktorin in :issue:`37207`.)" +"A number of Python builtins " +"(:class:`range`, :class:`tuple`, :class:`set`, :class:`frozenset`, :class:`list`, :class:`dict`) " +"are now sped up by using :pep:`590` vectorcall protocol. (Contributed by " +"Donghee Na, Mark Shannon, Jeroen Demeyer and Petr Viktorin " +"in :issue:`37207`.)" msgstr "" -"Vários componentes embutidos do Python (:class:`range`, :class:`tuple`, :" -"class:`set`, :class:`frozenset`, :class:`list`, :class:`dict`) agora são " -"acelerados usando o protocolo vectorcall da :pep:`590`. (Contribuição de " -"Dong-hee Na, Mark Shannon, Jeroen Demeyer e Petr Viktorin em :issue:`37207`.)" +"Vários componentes embutidos do Python " +"(:class:`range`, :class:`tuple`, :class:`set`, :class:`frozenset`, :class:`list`, :class:`dict`) " +"agora são acelerados usando o protocolo vectorcall da :pep:`590`. " +"(Contribuição de Donghee Na, Mark Shannon, Jeroen Demeyer e Petr Viktorin " +"em :issue:`37207`.)" -#: ../../whatsnew/3.9.rst:782 +#: ../../whatsnew/3.9.rst:781 msgid "" "Optimized :func:`~set.difference_update` for the case when the other set is " "much larger than the base set. (Suggested by Evgeny Kapun with code " @@ -1592,7 +1594,7 @@ msgstr "" "conjunto é muito maior do que o conjunto base. (Sugestão de Evgeny Kapun com " "contribuição de código de Michele Orrù em :issue:`8425`.)" -#: ../../whatsnew/3.9.rst:786 +#: ../../whatsnew/3.9.rst:785 msgid "" "Python's small object allocator (``obmalloc.c``) now allows (no more than) " "one empty arena to remain available for immediate reuse, without returning " @@ -1606,18 +1608,18 @@ msgstr "" "loops simples, onde uma arena pode ser criada e destruída novamente em cada " "iteração. (Contribuição de Tim Peters em :issue:`37257`.)" -#: ../../whatsnew/3.9.rst:792 +#: ../../whatsnew/3.9.rst:791 msgid "" ":term:`floor division` of float operation now has a better performance. Also " "the message of :exc:`ZeroDivisionError` for this operation is updated. " -"(Contributed by Dong-hee Na in :issue:`39434`.)" +"(Contributed by Donghee Na in :issue:`39434`.)" msgstr "" ":term:`divisão pelo piso ` de operação flutuante agora tem " "um melhor desempenho. Além disso, a mensagem de :exc:`ZeroDivisionError` " -"para esta operação foi atualizada. (Contribuição de Dong-hee Na em :issue:" -"`39434`.)" +"para esta operação foi atualizada. (Contribuição de Donghee Na " +"em :issue:`39434`.)" -#: ../../whatsnew/3.9.rst:796 +#: ../../whatsnew/3.9.rst:795 msgid "" "Decoding short ASCII strings with UTF-8 and ascii codecs is now about 15% " "faster. (Contributed by Inada Naoki in :issue:`37348`.)" @@ -1625,46 +1627,46 @@ msgstr "" "A decodificação de strings curtas ASCII com codecs UTF-8 e ascii é agora " "cerca de 15% mais rápida. (Contribuição de Inada Naoki em :issue:`37348`.)" -#: ../../whatsnew/3.9.rst:799 +#: ../../whatsnew/3.9.rst:798 msgid "" "Here's a summary of performance improvements from Python 3.4 through Python " "3.9:" msgstr "" "Aqui está um resumo das melhorias de desempenho do Python 3.4 ao Python 3.9:" -#: ../../whatsnew/3.9.rst:846 +#: ../../whatsnew/3.9.rst:845 msgid "" "These results were generated from the variable access benchmark script at: " "``Tools/scripts/var_access_benchmark.py``. The benchmark script displays " "timings in nanoseconds. The benchmarks were measured on an `Intel® Core™ " -"i7-4960HQ processor `_ running the macOS 64-bit builds found at `python.org `_." +"i7-4960HQ processor `_ running " +"the macOS 64-bit builds found at `python.org `_." msgstr "" "Estes resultados foram gerados a partir do script de benchmark de acesso " "variável em: ``Tools/scripts/var_access_benchmark.py``. O script de " "benchmark exibe tempos em nanossegundos. Os benchmarks foram medidos em um " "processador `Intel® Core ™ i7-4960HQ `_ executando as compilações do macOS de 64 bits encontradas em `python." -"org `_." +"en/ark/products/76088/intel-core-i7-4960hq-processor-6m-cache-up-to-3-80-" +"ghz.html>`_ executando as compilações do macOS de 64 bits encontradas em " +"`python.org `_." -#: ../../whatsnew/3.9.rst:856 +#: ../../whatsnew/3.9.rst:855 msgid "Deprecated" msgstr "Descontinuados" -#: ../../whatsnew/3.9.rst:858 +#: ../../whatsnew/3.9.rst:857 msgid "" "The distutils ``bdist_msi`` command is now deprecated, use ``bdist_wheel`` " -"(wheel packages) instead. (Contributed by Hugo van Kemenade in :issue:" -"`39586`.)" +"(wheel packages) instead. (Contributed by Hugo van Kemenade " +"in :issue:`39586`.)" msgstr "" "O comando ``bdist_msi`` do distutils está agora descontinuado, use " -"``bdist_wheel`` (pacotes wheel). (Contribuição de Hugo van Kemenade em :" -"issue:`39586`.)" +"``bdist_wheel`` (pacotes wheel). (Contribuição de Hugo van Kemenade " +"em :issue:`39586`.)" -#: ../../whatsnew/3.9.rst:862 +#: ../../whatsnew/3.9.rst:861 msgid "" "Currently :func:`math.factorial` accepts :class:`float` instances with non-" "negative integer values (like ``5.0``). It raises a :exc:`ValueError` for " @@ -1673,13 +1675,13 @@ msgid "" "Serhiy Storchaka in :issue:`37315`.)" msgstr "" "Atualmente :func:`math.factorial` aceita instâncias da :class:`float` com " -"valores inteiros não negativos (como ``5.0``). Ela levanta uma :exc:" -"`ValueError` para flutuadores não integrais e negativos. Agora está " -"descontinuado. Nas versões futuras do Python, será levantada uma :exc:" -"`TypeError` para todos os flutuadores. (Contribuição de Serhiy Storchaka em :" -"issue:`37315`.)" +"valores inteiros não negativos (como ``5.0``). Ela levanta " +"uma :exc:`ValueError` para flutuadores não integrais e negativos. Agora está " +"descontinuado. Nas versões futuras do Python, será levantada " +"uma :exc:`TypeError` para todos os flutuadores. (Contribuição de Serhiy " +"Storchaka em :issue:`37315`.)" -#: ../../whatsnew/3.9.rst:868 +#: ../../whatsnew/3.9.rst:867 msgid "" "The :mod:`parser` and :mod:`symbol` modules are deprecated and will be " "removed in future versions of Python. For the majority of use cases, users " @@ -1691,20 +1693,22 @@ msgstr "" "usuários podem aproveitar o estágio de geração e compilação da Árvores de " "Sintaxe Abstrata (AST), usando o módulo :mod:`ast`." -#: ../../whatsnew/3.9.rst:873 +#: ../../whatsnew/3.9.rst:872 msgid "" -"The Public C API functions :c:func:`PyParser_SimpleParseStringFlags`, :c:" -"func:`PyParser_SimpleParseStringFlagsFilename`, :c:func:" -"`PyParser_SimpleParseFileFlags` and :c:func:`PyNode_Compile` are deprecated " +"The Public C API functions :c:func:`!" +"PyParser_SimpleParseStringFlags`, :c:func:`!" +"PyParser_SimpleParseStringFlagsFilename`, :c:func:`!" +"PyParser_SimpleParseFileFlags` and :c:func:`!PyNode_Compile` are deprecated " "and will be removed in Python 3.10 together with the old parser." msgstr "" -"As funções públicas de API C :c:func:`PyParser_SimpleParseStringFlags`, :c:" -"func:`PyParser_SimpleParseStringFlagsFilename`, :c:func:" -"`PyParser_SimpleParseFileFlags` e :c:func:`PyNode_Compile` foram " +"As funções públicas de API C :c:func:`!" +"PyParser_SimpleParseStringFlags`, :c:func:`!" +"PyParser_SimpleParseStringFlagsFilename`, :c:func:`!" +"PyParser_SimpleParseFileFlags` e :c:func:`!PyNode_Compile` foram " "descontinuados e serão removidos no Python 3.10 junto com o analisador " "sintático antigo." -#: ../../whatsnew/3.9.rst:878 +#: ../../whatsnew/3.9.rst:877 msgid "" "Using :data:`NotImplemented` in a boolean context has been deprecated, as it " "is almost exclusively the result of incorrect rich comparator " @@ -1716,27 +1720,29 @@ msgstr "" "comparadores avançados. Isso será tornado em uma :exc:`TypeError` em uma " "versão futura do Python. (Contribuição de Josh Rosenberg em :issue:`35712`.)" -#: ../../whatsnew/3.9.rst:884 +#: ../../whatsnew/3.9.rst:883 msgid "" "The :mod:`random` module currently accepts any hashable type as a possible " "seed value. Unfortunately, some of those types are not guaranteed to have a " "deterministic hash value. After Python 3.9, the module will restrict its " -"seeds to :const:`None`, :class:`int`, :class:`float`, :class:`str`, :class:" -"`bytes`, and :class:`bytearray`." +"seeds " +"to :const:`None`, :class:`int`, :class:`float`, :class:`str`, :class:`bytes`, " +"and :class:`bytearray`." msgstr "" "O módulo :mod:`random` atualmente aceita qualquer tipo hasheável como um " "possível valor inicial. Infelizmente, alguns desses tipos não têm garantia " "de ter um valor de hash determinístico. Após o Python 3.9, o módulo " -"restringirá suas sementes a :const:`None`, :class:`int`, :class:`float`, :" -"class:`str`, :class:`bytes` e :class:`bytearray`." +"restringirá suas sementes " +"a :const:`None`, :class:`int`, :class:`float`, :class:`str`, :class:`bytes` " +"e :class:`bytearray`." -#: ../../whatsnew/3.9.rst:890 +#: ../../whatsnew/3.9.rst:889 msgid "" "Opening the :class:`~gzip.GzipFile` file for writing without specifying the " "*mode* argument is deprecated. In future Python versions it will always be " "opened for reading by default. Specify the *mode* argument for opening it " -"for writing and silencing a warning. (Contributed by Serhiy Storchaka in :" -"issue:`28286`.)" +"for writing and silencing a warning. (Contributed by Serhiy Storchaka " +"in :issue:`28286`.)" msgstr "" "A abertura do arquivo :class:`~gzip.GzipFile` para escrita sem especificar o " "argumento *mode* foi descontinuado. Nas versões futuras do Python, ele " @@ -1744,7 +1750,7 @@ msgstr "" "para abri-lo para escrever e silenciar um aviso. (Contribuição de Serhiy " "Storchaka em :issue:`28286`.)" -#: ../../whatsnew/3.9.rst:896 +#: ../../whatsnew/3.9.rst:895 msgid "" "Deprecated the ``split()`` method of :class:`_tkinter.TkappType` in favour " "of the ``splitlist()`` method which has more consistent and predicable " @@ -1754,7 +1760,7 @@ msgstr "" "método ``splitlist()`` que possui um comportamento mais consistente e " "previsível. (Contribuição de Serhiy Storchaka em :issue:`38371`.)" -#: ../../whatsnew/3.9.rst:901 +#: ../../whatsnew/3.9.rst:900 msgid "" "The explicit passing of coroutine objects to :func:`asyncio.wait` has been " "deprecated and will be removed in version 3.11. (Contributed by Yury " @@ -1764,7 +1770,7 @@ msgstr "" "descontinuada e será removida na versão 3.11. (Contribuição de Yury " "Selivanov e Kyle Stanley em :issue:`34790`.)" -#: ../../whatsnew/3.9.rst:905 +#: ../../whatsnew/3.9.rst:904 msgid "" "binhex4 and hexbin4 standards are now deprecated. The :mod:`binhex` module " "and the following :mod:`binascii` functions are now deprecated:" @@ -1772,19 +1778,19 @@ msgstr "" "Os padrões binhex4 e hexbin4 agora estão obsoletos. O módulo :mod:`binhex` e " "as seguintes funções :mod:`binascii` foram descontinuadas:" -#: ../../whatsnew/3.9.rst:908 +#: ../../whatsnew/3.9.rst:907 msgid ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`" msgstr ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`" -#: ../../whatsnew/3.9.rst:909 +#: ../../whatsnew/3.9.rst:908 msgid ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`" msgstr ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`" -#: ../../whatsnew/3.9.rst:911 +#: ../../whatsnew/3.9.rst:910 msgid "(Contributed by Victor Stinner in :issue:`39353`.)" msgstr "(Contribuição de Victor Stinner em :issue:`39353`.)" -#: ../../whatsnew/3.9.rst:913 +#: ../../whatsnew/3.9.rst:912 msgid "" ":mod:`ast` classes ``slice``, ``Index`` and ``ExtSlice`` are considered " "deprecated and will be removed in future Python versions. ``value`` itself " @@ -1798,35 +1804,35 @@ msgstr "" "``Tuple(slices, Load())`` deve ser usada em vez de ``ExtSlice(slices)``. " "(Contribuição de Serhiy Storchaka em :issue:`34822`.)" -#: ../../whatsnew/3.9.rst:919 +#: ../../whatsnew/3.9.rst:918 msgid "" ":mod:`ast` classes ``Suite``, ``Param``, ``AugLoad`` and ``AugStore`` are " "considered deprecated and will be removed in future Python versions. They " "were not generated by the parser and not accepted by the code generator in " -"Python 3. (Contributed by Batuhan Taskaya in :issue:`39639` and :issue:" -"`39969` and Serhiy Storchaka in :issue:`39988`.)" +"Python 3. (Contributed by Batuhan Taskaya in :issue:`39639` " +"and :issue:`39969` and Serhiy Storchaka in :issue:`39988`.)" msgstr "" "As classes ``Suite``, ``Param``, ``AugLoad`` e ``AugStore`` de :mod:`ast` " "são consideradas descontinuadas e serão removidas nas versões futuras do " "Python. Elas não foram geradas pelo analisador sintático e não foram aceitos " -"pelo gerador de código no Python 3. (Contribuição de Batuhan Taskaya em :" -"issue:`39639` e :issue:`39969` e Serhiy Storchaka em :issue:`39988`.)" +"pelo gerador de código no Python 3. (Contribuição de Batuhan Taskaya " +"em :issue:`39639` e :issue:`39969` e Serhiy Storchaka em :issue:`39988`.)" -#: ../../whatsnew/3.9.rst:926 +#: ../../whatsnew/3.9.rst:925 msgid "" -"The :c:func:`PyEval_InitThreads` and :c:func:`PyEval_ThreadsInitialized` " -"functions are now deprecated and will be removed in Python 3.11. Calling :c:" -"func:`PyEval_InitThreads` now does nothing. The :term:`GIL` is initialized " -"by :c:func:`Py_Initialize()` since Python 3.7. (Contributed by Victor " -"Stinner in :issue:`39877`.)" +"The :c:func:`!PyEval_InitThreads` and :c:func:`!PyEval_ThreadsInitialized` " +"functions are now deprecated and will be removed in Python 3.11. " +"Calling :c:func:`!PyEval_InitThreads` now does nothing. The :term:`GIL` is " +"initialized by :c:func:`Py_Initialize` since Python 3.7. (Contributed by " +"Victor Stinner in :issue:`39877`.)" msgstr "" -"As funções :c:func:`PyEval_InitThreads` e :c:func:" -"`PyEval_ThreadsInitialized` agora estão descontinuadas e serão removidas no " -"Python 3.11. Chamar :c:func:`PyEval_InitThreads` agora não faz nada. O :term:" -"`GIL` é inicializado por :c:func:`Py_Initialize()` desde o Python 3.7. " +"As funções :c:func:`!PyEval_InitThreads` e :c:func:`!" +"PyEval_ThreadsInitialized` agora estão descontinuadas e serão removidas no " +"Python 3.11. Chamar :c:func:`!PyEval_InitThreads` agora não faz nada. " +"A :term:`GIL` é inicializada por :c:func:`Py_Initialize` desde o Python 3.7. " "(Contribuição de Victor Stinner em :issue:`39877`.)" -#: ../../whatsnew/3.9.rst:932 +#: ../../whatsnew/3.9.rst:931 msgid "" "Passing ``None`` as the first argument to the :func:`shlex.split` function " "has been deprecated. (Contributed by Zackery Spytz in :issue:`33262`.)" @@ -1834,17 +1840,17 @@ msgstr "" "Passar ``None`` como o primeiro argumento para a função :func:`shlex.split` " "foi descontinuada. (Contribuição de Zackery Spytz em :issue:`33262`.)" -#: ../../whatsnew/3.9.rst:935 +#: ../../whatsnew/3.9.rst:934 msgid "" ":func:`smtpd.MailmanProxy` is now deprecated as it is unusable without an " -"external module, ``mailman``. (Contributed by Samuel Colvin in :issue:" -"`35800`.)" +"external module, ``mailman``. (Contributed by Samuel Colvin " +"in :issue:`35800`.)" msgstr "" ":func:`smtpd.MailmanProxy` está agora descontinuado, pois está inutilizável " -"sem um módulo externo, ``mailman``. (Contribuição de Samuel Colvin em :" -"issue:`35800`.)" +"sem um módulo externo, ``mailman``. (Contribuição de Samuel Colvin " +"em :issue:`35800`.)" -#: ../../whatsnew/3.9.rst:938 +#: ../../whatsnew/3.9.rst:937 msgid "" "The :mod:`lib2to3` module now emits a :exc:`PendingDeprecationWarning`. " "Python 3.9 switched to a PEG parser (see :pep:`617`), and Python 3.10 may " @@ -1861,7 +1867,7 @@ msgstr "" "alternativas de terceiros, como `LibCST`_ ou `parso`_. (Contribuição de Carl " "Meyer em :issue:`40360`.)" -#: ../../whatsnew/3.9.rst:946 +#: ../../whatsnew/3.9.rst:945 msgid "" "The *random* parameter of :func:`random.shuffle` has been deprecated. " "(Contributed by Raymond Hettinger in :issue:`40465`)" @@ -1869,32 +1875,32 @@ msgstr "" "Adicionado o parâmetro *random* da :func:`random.shuffle` foi descontinuado. " "(Contribuição de Raymond Hettinger em :issue:`40465`)" -#: ../../whatsnew/3.9.rst:955 ../../whatsnew/3.9.rst:1410 +#: ../../whatsnew/3.9.rst:954 ../../whatsnew/3.9.rst:1409 msgid "Removed" msgstr "Removidos" -#: ../../whatsnew/3.9.rst:957 +#: ../../whatsnew/3.9.rst:956 msgid "" "The erroneous version at :data:`unittest.mock.__version__` has been removed." msgstr "A versão errônea em :data:`unittest.mock.__version__` foi removida." -#: ../../whatsnew/3.9.rst:959 +#: ../../whatsnew/3.9.rst:958 msgid "" ":class:`nntplib.NNTP`: ``xpath()`` and ``xgtitle()`` methods have been " "removed. These methods are deprecated since Python 3.3. Generally, these " "extensions are not supported or not enabled by NNTP server administrators. " -"For ``xgtitle()``, please use :meth:`nntplib.NNTP.descriptions` or :meth:" -"`nntplib.NNTP.description` instead. (Contributed by Dong-hee Na in :issue:" -"`39366`.)" +"For ``xgtitle()``, please use :meth:`nntplib.NNTP.descriptions` " +"or :meth:`nntplib.NNTP.description` instead. (Contributed by Donghee Na " +"in :issue:`39366`.)" msgstr "" ":class:`nntplib.NNTP`: os métodos ``xpath()`` e ``xgtitle()`` foram " "removidos. Esses métodos foram descontinuados desde Python 3.3. Geralmente, " "essas extensões não são suportadas ou não são habilitadas pelos " -"administradores do servidor NNTP. Para ``xgtitle()``, use :meth:`nntplib." -"NNTP.descriptions` ou :meth:`nntplib.NNTP.description`. (Contribuição de " -"Dong-hee Na em :issue:`39366`.)" +"administradores do servidor NNTP. Para ``xgtitle()``, " +"use :meth:`nntplib.NNTP.descriptions` ou :meth:`nntplib.NNTP.description`. " +"(Contribuição de Donghee Na em :issue:`39366`.)" -#: ../../whatsnew/3.9.rst:966 +#: ../../whatsnew/3.9.rst:965 msgid "" ":class:`array.array`: ``tostring()`` and ``fromstring()`` methods have been " "removed. They were aliases to ``tobytes()`` and ``frombytes()``, deprecated " @@ -1902,10 +1908,10 @@ msgid "" msgstr "" ":class:`array.array`: os métodos ``tostring()`` e ``fromstring()`` foram " "removidos. Eles eram aliases para ``tobytes()`` e ``frombytes()``, " -"descontinuado desde Python 3.2. (Contribuição de Victor Stinner em :issue:" -"`38916`.)" +"descontinuado desde Python 3.2. (Contribuição de Victor Stinner " +"em :issue:`38916`.)" -#: ../../whatsnew/3.9.rst:971 +#: ../../whatsnew/3.9.rst:970 msgid "" "The undocumented ``sys.callstats()`` function has been removed. Since Python " "3.7, it was deprecated and always returned :const:`None`. It required a " @@ -1917,19 +1923,19 @@ msgstr "" "opção de compilação especial ``CALL_PROFILE`` que já foi removida no Python " "3.7. (Contribuição de Victor Stinner em :issue:`37414`.)" -#: ../../whatsnew/3.9.rst:976 +#: ../../whatsnew/3.9.rst:975 msgid "" "The ``sys.getcheckinterval()`` and ``sys.setcheckinterval()`` functions have " -"been removed. They were deprecated since Python 3.2. Use :func:`sys." -"getswitchinterval` and :func:`sys.setswitchinterval` instead. (Contributed " -"by Victor Stinner in :issue:`37392`.)" +"been removed. They were deprecated since Python 3.2. " +"Use :func:`sys.getswitchinterval` and :func:`sys.setswitchinterval` instead. " +"(Contributed by Victor Stinner in :issue:`37392`.)" msgstr "" "As funções ``sys.getcheckinterval()`` e ``sys.setcheckinterval()`` foram " -"removidas. Elas foram descontinuadas desde o Python 3.2. Use :func:`sys." -"getswitchinterval` e :func:`sys.setswitchinterval` em seu lugar. " -"(Contribuição de Victor Stinner em :issue:`37392`.)" +"removidas. Elas foram descontinuadas desde o Python 3.2. " +"Use :func:`sys.getswitchinterval` e :func:`sys.setswitchinterval` em seu " +"lugar. (Contribuição de Victor Stinner em :issue:`37392`.)" -#: ../../whatsnew/3.9.rst:981 +#: ../../whatsnew/3.9.rst:980 msgid "" "The C function ``PyImport_Cleanup()`` has been removed. It was documented " "as: \"Empty the module table. For internal use only.\" (Contributed by " @@ -1939,7 +1945,7 @@ msgstr "" "\"Esvazia a tabela do módulo. Apenas para uso interno.\" (Contribuição de " "Victor Stinner em :issue:`36710`.)" -#: ../../whatsnew/3.9.rst:985 +#: ../../whatsnew/3.9.rst:984 msgid "" "``_dummy_thread`` and ``dummy_threading`` modules have been removed. These " "modules were deprecated since Python 3.7 which requires threading support. " @@ -1949,7 +1955,7 @@ msgstr "" "módulos foram descontinuados desde o Python 3.7, que requer suporte a " "threading. (Contribuição de Victor Stinner em :issue:`37312`.)" -#: ../../whatsnew/3.9.rst:989 +#: ../../whatsnew/3.9.rst:988 msgid "" "``aifc.openfp()`` alias to ``aifc.open()``, ``sunau.openfp()`` alias to " "``sunau.open()``, and ``wave.openfp()`` alias to :func:`wave.open()` have " @@ -1961,49 +1967,53 @@ msgstr "" "removido. Eles foram descontinuados desde o Python 3.7. (Contribuição de " "Victor Stinner em :issue:`37320`.)" -#: ../../whatsnew/3.9.rst:994 +#: ../../whatsnew/3.9.rst:993 msgid "" "The :meth:`~threading.Thread.isAlive()` method of :class:`threading.Thread` " -"has been removed. It was deprecated since Python 3.8. Use :meth:`~threading." -"Thread.is_alive()` instead. (Contributed by Dong-hee Na in :issue:`37804`.)" +"has been removed. It was deprecated since Python 3.8. " +"Use :meth:`~threading.Thread.is_alive()` instead. (Contributed by Donghee Na " +"in :issue:`37804`.)" msgstr "" "O método :meth:`~threading.Thread.isAlive()` de :class:`threading.Thread` " -"foi removido. Ele foi descontinuado desde o Python 3.8. Use :meth:" -"`~threading.Thread.is_alive()` ao invés. (Contribuição de Dong-hee Na em :" -"issue:`37804`.)" - -#: ../../whatsnew/3.9.rst:999 -msgid "" -"Methods ``getchildren()`` and ``getiterator()`` of classes :class:`~xml." -"etree.ElementTree.ElementTree` and :class:`~xml.etree.ElementTree.Element` " -"in the :mod:`~xml.etree.ElementTree` module have been removed. They were " -"deprecated in Python 3.2. Use ``iter(x)`` or ``list(x)`` instead of ``x." -"getchildren()`` and ``x.iter()`` or ``list(x.iter())`` instead of ``x." -"getiterator()``. (Contributed by Serhiy Storchaka in :issue:`36543`.)" -msgstr "" -"Os métodos ``getchildren()`` e ``getiterator()`` das classes :class:`~xml." -"etree.ElementTree.ElementTree` e :class:`~xml.etree.ElementTree.Element` no " +"foi removido. Ele foi descontinuado desde o Python 3.8. " +"Use :meth:`~threading.Thread.is_alive()` ao invés. (Contribuição de Donghee " +"Na em :issue:`37804`.)" + +#: ../../whatsnew/3.9.rst:998 +msgid "" +"Methods ``getchildren()`` and ``getiterator()`` of " +"classes :class:`~xml.etree.ElementTree.ElementTree` " +"and :class:`~xml.etree.ElementTree.Element` in " +"the :mod:`~xml.etree.ElementTree` module have been removed. They were " +"deprecated in Python 3.2. Use ``iter(x)`` or ``list(x)`` instead of " +"``x.getchildren()`` and ``x.iter()`` or ``list(x.iter())`` instead of " +"``x.getiterator()``. (Contributed by Serhiy Storchaka in :issue:`36543`.)" +msgstr "" +"Os métodos ``getchildren()`` e ``getiterator()`` das " +"classes :class:`~xml.etree.ElementTree.ElementTree` " +"e :class:`~xml.etree.ElementTree.Element` no " "módulo :mod:`~xml.etree.ElementTree` foram removidos. Eles foram " -"descontinuados no Python 3.2. Use ``iter(x)`` ou ``list(x)`` em vez de ``x." -"getchildren()`` e ``x.iter()`` ou ``list(x.iter())`` em vez de ``x." -"getiterator()``. (Contribuição Serhiy Storchaka no :issue:`36543`.)" +"descontinuados no Python 3.2. Use ``iter(x)`` ou ``list(x)`` em vez de " +"``x.getchildren()`` e ``x.iter()`` ou ``list(x.iter())`` em vez de " +"``x.getiterator()``. (Contribuição Serhiy Storchaka no :issue:`36543`.)" -#: ../../whatsnew/3.9.rst:1007 +#: ../../whatsnew/3.9.rst:1006 msgid "" "The old :mod:`plistlib` API has been removed, it was deprecated since Python " -"3.4. Use the :func:`~plistlib.load`, :func:`~plistlib.loads`, :func:" -"`~plistlib.dump`, and :func:`~plistlib.dumps` functions. Additionally, the " -"*use_builtin_types* parameter was removed, standard :class:`bytes` objects " -"are always used instead. (Contributed by Jon Janzen in :issue:`36409`.)" +"3.4. Use " +"the :func:`~plistlib.load`, :func:`~plistlib.loads`, :func:`~plistlib.dump`, " +"and :func:`~plistlib.dumps` functions. Additionally, the *use_builtin_types* " +"parameter was removed, standard :class:`bytes` objects are always used " +"instead. (Contributed by Jon Janzen in :issue:`36409`.)" msgstr "" "A API antiga :mod:`plistlib` foi removida. Ela tinha sido descontinuada " -"desde o Python 3.4. Use as funções :func:`~plistlib.load`, :func:`~plistlib." -"loads`, :func:`~plistlib.dump` e :func:`~plistlib.dumps`. Além disso, o " -"parâmetro *use_builtin_types* foi removido, os objetos padrão :class:`bytes` " -"são sempre usados em seu lugar. (Contribuição de Jon Janzen em :issue:" -"`36409`.)" +"desde o Python 3.4. Use as " +"funções :func:`~plistlib.load`, :func:`~plistlib.loads`, :func:`~plistlib.dump` " +"e :func:`~plistlib.dumps`. Além disso, o parâmetro *use_builtin_types* foi " +"removido, os objetos padrão :class:`bytes` são sempre usados em seu lugar. " +"(Contribuição de Jon Janzen em :issue:`36409`.)" -#: ../../whatsnew/3.9.rst:1013 +#: ../../whatsnew/3.9.rst:1012 msgid "" "The C function ``PyGen_NeedsFinalizing`` has been removed. It was not " "documented, tested, or used anywhere within CPython after the implementation " @@ -2015,19 +2025,19 @@ msgstr "" "de :pep:`442`. Patch de Joannah Nanjekye. (Contribuição de Joannah Nanjekye " "em :issue:`15088`)" -#: ../../whatsnew/3.9.rst:1018 +#: ../../whatsnew/3.9.rst:1017 msgid "" "``base64.encodestring()`` and ``base64.decodestring()``, aliases deprecated " -"since Python 3.1, have been removed: use :func:`base64.encodebytes` and :" -"func:`base64.decodebytes` instead. (Contributed by Victor Stinner in :issue:" -"`39351`.)" +"since Python 3.1, have been removed: use :func:`base64.encodebytes` " +"and :func:`base64.decodebytes` instead. (Contributed by Victor Stinner " +"in :issue:`39351`.)" msgstr "" "``base64.encodestring()`` e ``base64.decodestring()``, aliases " -"descontinuados desde Python 3.1, foram removidos: use :func:`base64." -"encodebytes` e :func:`base64.decodebytes`. (Contribuição de Victor Stinner " -"em :issue:`39351`.)" +"descontinuados desde Python 3.1, foram removidos: " +"use :func:`base64.encodebytes` e :func:`base64.decodebytes`. (Contribuição " +"de Victor Stinner em :issue:`39351`.)" -#: ../../whatsnew/3.9.rst:1023 +#: ../../whatsnew/3.9.rst:1022 msgid "" "``fractions.gcd()`` function has been removed, it was deprecated since " "Python 3.5 (:issue:`22486`): use :func:`math.gcd` instead. (Contributed by " @@ -2037,7 +2047,7 @@ msgstr "" "3.5 (:issue:`22486`): use :func:`math.gcd` em seu lugar. (Contribuição de " "Victor Stinner em :issue:`39350`.)" -#: ../../whatsnew/3.9.rst:1027 +#: ../../whatsnew/3.9.rst:1026 msgid "" "The *buffering* parameter of :class:`bz2.BZ2File` has been removed. Since " "Python 3.0, it was ignored and using it emitted a :exc:`DeprecationWarning`. " @@ -2049,56 +2059,56 @@ msgstr "" "Passe um objeto arquivo aberto para controlar como o arquivo é aberto. " "(Contribuição de Victor Stinner em :issue:`39357`.)" -#: ../../whatsnew/3.9.rst:1032 +#: ../../whatsnew/3.9.rst:1031 msgid "" "The *encoding* parameter of :func:`json.loads` has been removed. As of " -"Python 3.1, it was deprecated and ignored; using it has emitted a :exc:" -"`DeprecationWarning` since Python 3.8. (Contributed by Inada Naoki in :issue:" -"`39377`)" +"Python 3.1, it was deprecated and ignored; using it has emitted " +"a :exc:`DeprecationWarning` since Python 3.8. (Contributed by Inada Naoki " +"in :issue:`39377`)" msgstr "" "O parâmetro *encoding* de :func:`json.loads` foi removido. A partir do " -"Python 3.1, ele foi descontinuado e ignorado; usá-lo emitia uma :exc:" -"`DeprecationWarning` desde Python 3.8. (Contribuição de Inada Naoki em :" -"issue:`39377`)" +"Python 3.1, ele foi descontinuado e ignorado; usá-lo emitia " +"uma :exc:`DeprecationWarning` desde Python 3.8. (Contribuição de Inada Naoki " +"em :issue:`39377`)" -#: ../../whatsnew/3.9.rst:1037 +#: ../../whatsnew/3.9.rst:1036 msgid "" "``with (await asyncio.lock):`` and ``with (yield from asyncio.lock):`` " "statements are not longer supported, use ``async with lock`` instead. The " "same is correct for ``asyncio.Condition`` and ``asyncio.Semaphore``. " "(Contributed by Andrew Svetlov in :issue:`34793`.)" msgstr "" -"As instruções ``with (await asyncio.lock):`` e ``with (yield from asyncio." -"lock):`` não são mais suportadas, use ``async with lock``. O mesmo é se " -"aplica para ``asyncio.Condition`` e ``asyncio.Semaphore``. (Contribuição de " -"Andrew Svetlov em :issue:`34793`.)" +"As instruções ``with (await asyncio.lock):`` e ``with (yield from " +"asyncio.lock):`` não são mais suportadas, use ``async with lock``. O mesmo é " +"se aplica para ``asyncio.Condition`` e ``asyncio.Semaphore``. (Contribuição " +"de Andrew Svetlov em :issue:`34793`.)" -#: ../../whatsnew/3.9.rst:1042 +#: ../../whatsnew/3.9.rst:1041 msgid "" "The :func:`sys.getcounts` function, the ``-X showalloccount`` command line " -"option and the ``show_alloc_count`` field of the C structure :c:type:" -"`PyConfig` have been removed. They required a special Python build by " -"defining ``COUNT_ALLOCS`` macro. (Contributed by Victor Stinner in :issue:" -"`39489`.)" +"option and the ``show_alloc_count`` field of the C " +"structure :c:type:`PyConfig` have been removed. They required a special " +"Python build by defining ``COUNT_ALLOCS`` macro. (Contributed by Victor " +"Stinner in :issue:`39489`.)" msgstr "" "A função :func:`sys.getcounts`, a opção de linha de comando ``-X " -"showalloccount`` e o campo ``show_alloc_count`` da estrutura C :c:type:" -"`PyConfig` foram removidos. Eles exigiram uma construção especial do Python " -"definindo a macro ``COUNT_ALLOCS``. (Contribuição de Victor Stinner em :" -"issue:`39489`.)" +"showalloccount`` e o campo ``show_alloc_count`` da estrutura " +"C :c:type:`PyConfig` foram removidos. Eles exigiram uma construção especial " +"do Python definindo a macro ``COUNT_ALLOCS``. (Contribuição de Victor " +"Stinner em :issue:`39489`.)" -#: ../../whatsnew/3.9.rst:1048 +#: ../../whatsnew/3.9.rst:1047 msgid "" "The ``_field_types`` attribute of the :class:`typing.NamedTuple` class has " "been removed. It was deprecated since Python 3.8. Use the " -"``__annotations__`` attribute instead. (Contributed by Serhiy Storchaka in :" -"issue:`40182`.)" +"``__annotations__`` attribute instead. (Contributed by Serhiy Storchaka " +"in :issue:`40182`.)" msgstr "" "O atributo ``_field_types`` da classe :class:`typing.NamedTuple` foi " "removido. Ele foi descontinuado desde o Python 3.8. Use o atributo " "``__annotations__``. (Contribuição de Serhiy Storchaka em :issue:`40182`.)" -#: ../../whatsnew/3.9.rst:1053 +#: ../../whatsnew/3.9.rst:1052 msgid "" "The :meth:`symtable.SymbolTable.has_exec` method has been removed. It was " "deprecated since 2006, and only returning ``False`` when it's called. " @@ -2108,19 +2118,20 @@ msgstr "" "descontinuado desde 2006, e retornando apenas ``False`` quando é chamado. " "(Contribuição de Batuhan Taskaya em :issue:`40208`)" -#: ../../whatsnew/3.9.rst:1057 +#: ../../whatsnew/3.9.rst:1056 msgid "" "The :meth:`asyncio.Task.current_task` and :meth:`asyncio.Task.all_tasks` " -"have been removed. They were deprecated since Python 3.7 and you can use :" -"func:`asyncio.current_task` and :func:`asyncio.all_tasks` instead. " +"have been removed. They were deprecated since Python 3.7 and you can " +"use :func:`asyncio.current_task` and :func:`asyncio.all_tasks` instead. " "(Contributed by Rémi Lapeyre in :issue:`40967`)" msgstr "" -"Os métodos :meth:`asyncio.Task.current_task` e :meth:`asyncio.Task." -"all_tasks` foram removidos. Eles foram descontinuados desde o Python 3.7 e " -"você pode usar :func:`asyncio.current_task` e :func:`asyncio.all_tasks` em " -"seu lugar. (Contribuição de Rémi Lapeyre em :issue:`40967`)" +"Os métodos :meth:`asyncio.Task.current_task` " +"e :meth:`asyncio.Task.all_tasks` foram removidos. Eles foram descontinuados " +"desde o Python 3.7 e você pode usar :func:`asyncio.current_task` " +"e :func:`asyncio.all_tasks` em seu lugar. (Contribuição de Rémi Lapeyre " +"em :issue:`40967`)" -#: ../../whatsnew/3.9.rst:1062 +#: ../../whatsnew/3.9.rst:1061 msgid "" "The ``unescape()`` method in the :class:`html.parser.HTMLParser` class has " "been removed (it was deprecated since Python 3.4). :func:`html.unescape` " @@ -2132,11 +2143,11 @@ msgstr "" "ser usada para converter referências de caracteres para os caracteres " "Unicode correspondentes." -#: ../../whatsnew/3.9.rst:1069 ../../whatsnew/3.9.rst:1336 +#: ../../whatsnew/3.9.rst:1068 ../../whatsnew/3.9.rst:1335 msgid "Porting to Python 3.9" msgstr "Portando para Python 3.9" -#: ../../whatsnew/3.9.rst:1071 +#: ../../whatsnew/3.9.rst:1070 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." @@ -2144,24 +2155,25 @@ msgstr "" "Esta seção lista as alterações descritas anteriormente e outras correções " "que podem exigir alterações no seu código." -#: ../../whatsnew/3.9.rst:1076 +#: ../../whatsnew/3.9.rst:1075 msgid "Changes in the Python API" msgstr "Alterações na API Python" -#: ../../whatsnew/3.9.rst:1078 +#: ../../whatsnew/3.9.rst:1077 msgid "" -":func:`__import__` and :func:`importlib.util.resolve_name` now raise :exc:" -"`ImportError` where it previously raised :exc:`ValueError`. Callers catching " -"the specific exception type and supporting both Python 3.9 and earlier " -"versions will need to catch both using ``except (ImportError, ValueError):``." -msgstr "" -":func:`__import__` e :func:`importlib.util.resolve_name` agora levanta :exc:" -"`ImportError` onde anteriormente levantava :exc:`ValueError`. Os chamadores " -"capturando o tipo de exceção específico e suportando Python 3.9 e versões " -"anteriores precisarão capturar ambas usando ``except (ImportError, " +":func:`__import__` and :func:`importlib.util.resolve_name` now " +"raise :exc:`ImportError` where it previously raised :exc:`ValueError`. " +"Callers catching the specific exception type and supporting both Python 3.9 " +"and earlier versions will need to catch both using ``except (ImportError, " "ValueError):``." +msgstr "" +":func:`__import__` e :func:`importlib.util.resolve_name` agora " +"levanta :exc:`ImportError` onde anteriormente levantava :exc:`ValueError`. " +"Os chamadores capturando o tipo de exceção específico e suportando Python " +"3.9 e versões anteriores precisarão capturar ambas usando ``except " +"(ImportError, ValueError):``." -#: ../../whatsnew/3.9.rst:1083 +#: ../../whatsnew/3.9.rst:1082 msgid "" "The :mod:`venv` activation scripts no longer special-case when " "``__VENV_PROMPT__`` is set to ``\"\"``." @@ -2169,15 +2181,17 @@ msgstr "" "Os scripts de ativação :mod:`venv` não são mais casos especiais quando " "``__VENV_PROMPT__`` está definido como ``\"\"``." -#: ../../whatsnew/3.9.rst:1086 +#: ../../whatsnew/3.9.rst:1085 msgid "" -"The :meth:`select.epoll.unregister` method no longer ignores the :data:" -"`~errno.EBADF` error. (Contributed by Victor Stinner in :issue:`39239`.)" +"The :meth:`select.epoll.unregister` method no longer ignores " +"the :const:`~errno.EBADF` error. (Contributed by Victor Stinner " +"in :issue:`39239`.)" msgstr "" -"O método :meth:`select.epoll.unregister` não ignora mais o erro :data:" -"`~errno.EBADF`. (Contribuição de Victor Stinner em :issue:`39239`.)" +"O método :meth:`select.epoll.unregister` não ignora mais o " +"erro :const:`~errno.EBADF`. (Contribuição de Victor Stinner " +"em :issue:`39239`.)" -#: ../../whatsnew/3.9.rst:1090 +#: ../../whatsnew/3.9.rst:1089 msgid "" "The *compresslevel* parameter of :class:`bz2.BZ2File` became keyword-only, " "since the *buffering* parameter has been removed. (Contributed by Victor " @@ -2187,7 +2201,7 @@ msgstr "" "somente-nomeado, uma vez que o parâmetro *buffering* foi removido. " "(Contribuição de Victor Stinner em :issue:`39357`.)" -#: ../../whatsnew/3.9.rst:1094 +#: ../../whatsnew/3.9.rst:1093 msgid "" "Simplified AST for subscription. Simple indices will be represented by their " "value, extended slices will be represented as tuples. ``Index(value)`` will " @@ -2197,42 +2211,42 @@ msgstr "" "AST simplificada para assinatura. Índices simples serão representados por " "seus valores, fatias estendidas serão representadas como tuplas. " "``Index(value)`` retornará um ``value`` em si, ``ExtSlice(slices)`` " -"retornará ``Tuple(slices, Load())``. (Contribuição de Serhiy Storchaka em :" -"issue:`34822`.)" +"retornará ``Tuple(slices, Load())``. (Contribuição de Serhiy Storchaka " +"em :issue:`34822`.)" -#: ../../whatsnew/3.9.rst:1100 +#: ../../whatsnew/3.9.rst:1099 msgid "" "The :mod:`importlib` module now ignores the :envvar:`PYTHONCASEOK` " "environment variable when the :option:`-E` or :option:`-I` command line " "options are being used." msgstr "" -"O módulo :mod:`importlib` agora ignora a variável de ambiente :envvar:" -"`PYTHONCASEOK` quando as opções de linha de comando :option:`-E` ou :option:" -"`-I` estão sendo usadas." +"O módulo :mod:`importlib` agora ignora a variável de " +"ambiente :envvar:`PYTHONCASEOK` quando as opções de linha de " +"comando :option:`-E` ou :option:`-I` estão sendo usadas." -#: ../../whatsnew/3.9.rst:1104 +#: ../../whatsnew/3.9.rst:1103 msgid "" "The *encoding* parameter has been added to the classes :class:`ftplib.FTP` " "and :class:`ftplib.FTP_TLS` as a keyword-only parameter, and the default " "encoding is changed from Latin-1 to UTF-8 to follow :rfc:`2640`." msgstr "" -"O parâmetro *encoding* foi adicionado às classes :class:`ftplib.FTP` e :" -"class:`ftplib.FTP_TLS` como um parâmetro somente-nomeado, e a codificação " +"O parâmetro *encoding* foi adicionado às classes :class:`ftplib.FTP` " +"e :class:`ftplib.FTP_TLS` como um parâmetro somente-nomeado, e a codificação " "padrão foi alterada de Latin-1 para UTF-8 para siga :rfc:`2640`." -#: ../../whatsnew/3.9.rst:1108 +#: ../../whatsnew/3.9.rst:1107 msgid "" -":meth:`asyncio.loop.shutdown_default_executor` has been added to :class:" -"`~asyncio.AbstractEventLoop`, meaning alternative event loops that inherit " -"from it should have this method defined. (Contributed by Kyle Stanley in :" -"issue:`34037`.)" +":meth:`asyncio.loop.shutdown_default_executor` has been added " +"to :class:`~asyncio.AbstractEventLoop`, meaning alternative event loops that " +"inherit from it should have this method defined. (Contributed by Kyle " +"Stanley in :issue:`34037`.)" msgstr "" -":meth:`asyncio.loop.shutdown_default_executor` foi adicionado a :class:" -"`~asyncio.AbstractEventLoop`, significando que laços de eventos alternativos " -"que herdam dele devem ter este método definido. (Contribuição de Kyle " -"Stanley em :issue:`34037`.)" +":meth:`asyncio.loop.shutdown_default_executor` foi adicionado " +"a :class:`~asyncio.AbstractEventLoop`, significando que laços de eventos " +"alternativos que herdam dele devem ter este método definido. (Contribuição " +"de Kyle Stanley em :issue:`34037`.)" -#: ../../whatsnew/3.9.rst:1113 +#: ../../whatsnew/3.9.rst:1112 msgid "" "The constant values of future flags in the :mod:`__future__` module is " "updated in order to prevent collision with compiler flags. Previously " @@ -2244,50 +2258,52 @@ msgstr "" "Anteriormente, ``PyCF_ALLOW_TOP_LEVEL_AWAIT`` estava em conflito com " "``CO_FUTURE_DIVISION``. (Contribuição de Batuhan Taskaya em :issue:`39562`)" -#: ../../whatsnew/3.9.rst:1118 +#: ../../whatsnew/3.9.rst:1117 msgid "" -"``array('u')`` now uses ``wchar_t`` as C type instead of ``Py_UNICODE``. " -"This change doesn't affect to its behavior because ``Py_UNICODE`` is alias " -"of ``wchar_t`` since Python 3.3. (Contributed by Inada Naoki in :issue:" -"`34538`.)" +"``array('u')`` now uses :c:type:`wchar_t` as C type instead of " +"``Py_UNICODE``. This change doesn't affect to its behavior because " +"``Py_UNICODE`` is alias of :c:type:`wchar_t` since Python 3.3. (Contributed " +"by Inada Naoki in :issue:`34538`.)" msgstr "" -"``array('u')`` agora usa ``wchar_t`` como tipo C em vez de ``Py_UNICODE``. " -"Esta mudança não afeta seu comportamento porque ``Py_UNICODE`` é um apelido " -"de ``wchar_t`` desde Python 3.3. (Contribuição de Inada Naoki em :issue:" -"`34538`.)" +"``array('u')`` agora usa :c:type:`wchar_t` como tipo C em vez de " +"``Py_UNICODE``. Esta mudança não afeta seu comportamento porque " +"``Py_UNICODE`` é um apelido de :c:type:`wchar_t` desde Python 3.3. " +"(Contribuição de Inada Naoki em :issue:`34538`.)" -#: ../../whatsnew/3.9.rst:1123 +#: ../../whatsnew/3.9.rst:1122 msgid "" "The :func:`logging.getLogger` API now returns the root logger when passed " "the name ``'root'``, whereas previously it returned a non-root logger named " "``'root'``. This could affect cases where user code explicitly wants a non-" -"root logger named ``'root'``, or instantiates a logger using ``logging." -"getLogger(__name__)`` in some top-level module called ``'root.py'``. " -"(Contributed by Vinay Sajip in :issue:`37742`.)" +"root logger named ``'root'``, or instantiates a logger using " +"``logging.getLogger(__name__)`` in some top-level module called " +"``'root.py'``. (Contributed by Vinay Sajip in :issue:`37742`.)" msgstr "" "A API de :func:`logging.getLogger` agora retorna o logger raiz quando " "passado o nome ``'root'``, enquanto anteriormente retornava um logger não-" "raiz chamado ``'root'``. Isso pode afetar casos onde o código do usuário " "deseja explicitamente um logger não-root chamado ``'root'``, ou instancia um " "logger usando ``logging.getLogger(__name__)`` em algum módulo de nível " -"superior chamado ``'root.py'``. (Contribuição de Vinay Sajip em :issue:" -"`37742`.)" +"superior chamado ``'root.py'``. (Contribuição de Vinay Sajip " +"em :issue:`37742`.)" -#: ../../whatsnew/3.9.rst:1130 +#: ../../whatsnew/3.9.rst:1129 msgid "" -"Division handling of :class:`~pathlib.PurePath` now returns " -"``NotImplemented`` instead of raising a :exc:`TypeError` when passed " -"something other than an instance of ``str`` or :class:`~pathlib.PurePath`. " -"This allows creating compatible classes that don't inherit from those " -"mentioned types. (Contributed by Roger Aiudi in :issue:`34775`)." +"Division handling of :class:`~pathlib.PurePath` now " +"returns :data:`NotImplemented` instead of raising a :exc:`TypeError` when " +"passed something other than an instance of ``str`` " +"or :class:`~pathlib.PurePath`. This allows creating compatible classes that " +"don't inherit from those mentioned types. (Contributed by Roger Aiudi " +"in :issue:`34775`)." msgstr "" -"O tratamento de divisão de :class:`~pathlib.PurePath` agora retorna " -"``NotImplemented`` ao invés de levantar um :exc:`TypeError` quando passado " -"algo diferente de uma instância de ``str`` ou :class:`~pathlib.PurePath`. " -"Isso permite a criação de classes compatíveis que não herdam desses tipos " -"mencionados. (Contribuição de Roger Aiudi em :issue:`34775`)." +"O tratamento de divisão de :class:`~pathlib.PurePath` agora " +"retorna :data:`NotImplemented` ao invés de levantar um :exc:`TypeError` " +"quando passado algo diferente de uma instância de ``str`` " +"ou :class:`~pathlib.PurePath`. Isso permite a criação de classes compatíveis " +"que não herdam desses tipos mencionados. (Contribuição de Roger Aiudi " +"em :issue:`34775`)." -#: ../../whatsnew/3.9.rst:1136 +#: ../../whatsnew/3.9.rst:1135 msgid "" "Starting with Python 3.9.5 the :mod:`ipaddress` module no longer accepts any " "leading zeros in IPv4 address strings. Leading zeros are ambiguous and " @@ -2301,16 +2317,16 @@ msgstr "" "interpretados como notação octal por algumas bibliotecas. Por exemplo, a " "função legada :func:`socket.inet_aton` trata os zeros à esquerda como " "notação octal. A implementação glibc de :func:`~socket.inet_pton` moderna " -"não aceita nenhum zeros à esquerda. (Contribuição de Christian Heimes em :" -"issue:`36384`)." +"não aceita nenhum zeros à esquerda. (Contribuição de Christian Heimes " +"em :issue:`36384`)." -#: ../../whatsnew/3.9.rst:1144 +#: ../../whatsnew/3.9.rst:1143 msgid "" -":func:`codecs.lookup` now normalizes the encoding name the same way as :func:" -"`encodings.normalize_encoding`, except that :func:`codecs.lookup` also " -"converts the name to lower case. For example, ``\"latex+latin1\"`` encoding " -"name is now normalized to ``\"latex_latin1\"``. (Contributed by Jordon Xu " -"in :issue:`37751`.)" +":func:`codecs.lookup` now normalizes the encoding name the same way " +"as :func:`encodings.normalize_encoding`, except that :func:`codecs.lookup` " +"also converts the name to lower case. For example, ``\"latex+latin1\"`` " +"encoding name is now normalized to ``\"latex_latin1\"``. (Contributed by " +"Jordon Xu in :issue:`37751`.)" msgstr "" ":func:`codecs.lookup` agora normaliza o nome da codificação da mesma forma " "que :func:`encodings.normalize_encoding`, exceto que :func:`codecs.lookup` " @@ -2318,19 +2334,20 @@ msgstr "" "nome de codificação agora está normalizado para ``\"latex_latin1\"``. " "(Contribuição de Jordon Xu em :issue:`37751`.)" -#: ../../whatsnew/3.9.rst:1152 +#: ../../whatsnew/3.9.rst:1151 msgid "Changes in the C API" msgstr "Alterações na API C" -#: ../../whatsnew/3.9.rst:1154 +#: ../../whatsnew/3.9.rst:1153 msgid "" "Instances of :ref:`heap-allocated types ` (such as those created " "with :c:func:`PyType_FromSpec` and similar APIs) hold a reference to their " "type object since Python 3.8. As indicated in the \"Changes in the C API\" " "of Python 3.8, for the vast majority of cases, there should be no side " -"effect but for types that have a custom :c:member:`~PyTypeObject." -"tp_traverse` function, ensure that all custom ``tp_traverse`` functions of " -"heap-allocated types visit the object's type." +"effect but for types that have a " +"custom :c:member:`~PyTypeObject.tp_traverse` function, ensure that all " +"custom ``tp_traverse`` functions of heap-allocated types visit the object's " +"type." msgstr "" "Instâncias de :ref:`tipos alocados por heap ` (como aquelas " "criadas com :c:func:`PyType_FromSpec` e APIs semelhantes) mantêm uma " @@ -2341,7 +2358,7 @@ msgstr "" "todas as funções ``tp_traverse`` personalizadas de tipos alocados por heap " "visitam o tipo do objeto." -#: ../../whatsnew/3.9.rst:1175 +#: ../../whatsnew/3.9.rst:1174 msgid "" "If your traverse function delegates to ``tp_traverse`` of its base class (or " "another type), ensure that ``Py_TYPE(self)`` is visited only once. Note that " @@ -2353,39 +2370,39 @@ msgstr "" "vez. Observe que apenas os :ref:`tipos de heap ` devem visitar o " "tipo em ``tp_traverse``." -#: ../../whatsnew/3.9.rst:1180 +#: ../../whatsnew/3.9.rst:1179 msgid "For example, if your ``tp_traverse`` function includes:" msgstr "Por exemplo, se sua função ``tp_traverse`` inclui:" -#: ../../whatsnew/3.9.rst:1186 +#: ../../whatsnew/3.9.rst:1185 msgid "then add:" msgstr "adicione:" -#: ../../whatsnew/3.9.rst:1199 +#: ../../whatsnew/3.9.rst:1198 msgid "(See :issue:`35810` and :issue:`40217` for more information.)" msgstr "(Veja :issue:`35810` e :issue:`40217` para mais informações.)" -#: ../../whatsnew/3.9.rst:1201 +#: ../../whatsnew/3.9.rst:1200 msgid "" "The functions ``PyEval_CallObject``, ``PyEval_CallFunction``, " "``PyEval_CallMethod`` and ``PyEval_CallObjectWithKeywords`` are deprecated. " -"Use :c:func:`PyObject_Call` and its variants instead. (See more details in :" -"issue:`29548`.)" +"Use :c:func:`PyObject_Call` and its variants instead. (See more details " +"in :issue:`29548`.)" msgstr "" "As funções ``PyEval_CallObject``, ``PyEval_CallFunction``, " "``PyEval_CallMethod`` e ``PyEval_CallObjectWithKeywords`` foram " "descontinuadas. Use :c:func:`PyObject_Call` e suas variantes. (Veja mais " "detalhes em :issue:`29548`.)" -#: ../../whatsnew/3.9.rst:1207 +#: ../../whatsnew/3.9.rst:1206 msgid "CPython bytecode changes" msgstr "Alterações de bytecode do CPython" -#: ../../whatsnew/3.9.rst:1209 +#: ../../whatsnew/3.9.rst:1208 msgid "" -"The :opcode:`LOAD_ASSERTION_ERROR` opcode was added for handling the :" -"keyword:`assert` statement. Previously, the assert statement would not work " -"correctly if the :exc:`AssertionError` exception was being shadowed. " +"The :opcode:`LOAD_ASSERTION_ERROR` opcode was added for handling " +"the :keyword:`assert` statement. Previously, the assert statement would not " +"work correctly if the :exc:`AssertionError` exception was being shadowed. " "(Contributed by Zackery Spytz in :issue:`34880`.)" msgstr "" "O opcode :opcode:`LOAD_ASSERTION_ERROR` foi adicionado para tratar a " @@ -2393,55 +2410,55 @@ msgstr "" "funcionava corretamente se a exceção :exc:`AssertionError` estivesse sendo " "ocultada. (Contribuição de Zackery Spytz em :issue:`34880`.)" -#: ../../whatsnew/3.9.rst:1214 +#: ../../whatsnew/3.9.rst:1213 msgid "" "The :opcode:`COMPARE_OP` opcode was split into four distinct instructions:" msgstr "" "O código de operação :opcode:`COMPARE_OP` foi dividido em quatro instruções " "distintas:" -#: ../../whatsnew/3.9.rst:1216 +#: ../../whatsnew/3.9.rst:1215 msgid "``COMPARE_OP`` for rich comparisons" msgstr "``COMPARE_OP`` para comparações ricas" -#: ../../whatsnew/3.9.rst:1217 +#: ../../whatsnew/3.9.rst:1216 msgid "``IS_OP`` for 'is' and 'is not' tests" msgstr "``IS_OP`` para testes \"is\" e \"is not\"" -#: ../../whatsnew/3.9.rst:1218 +#: ../../whatsnew/3.9.rst:1217 msgid "``CONTAINS_OP`` for 'in' and 'not in' tests" msgstr "``CONTAINS_OP`` para testes \"in\" e \"not in\"" -#: ../../whatsnew/3.9.rst:1219 +#: ../../whatsnew/3.9.rst:1218 msgid "" "``JUMP_IF_NOT_EXC_MATCH`` for checking exceptions in 'try-except' statements." msgstr "" "``JUMP_IF_NOT_EXC_MATCH`` para verificar exceções em instruções \"try-" "except\"." -#: ../../whatsnew/3.9.rst:1222 +#: ../../whatsnew/3.9.rst:1221 msgid "(Contributed by Mark Shannon in :issue:`39156`.)" msgstr "(Contribuição de Mark Shannon em :issue:`39156`.)" -#: ../../whatsnew/3.9.rst:1226 +#: ../../whatsnew/3.9.rst:1225 msgid "Build Changes" -msgstr "Alterações de compilação" +msgstr "Mudanças na construção" -#: ../../whatsnew/3.9.rst:1228 +#: ../../whatsnew/3.9.rst:1227 msgid "" "Added ``--with-platlibdir`` option to the ``configure`` script: name of the " -"platform-specific library directory, stored in the new :attr:`sys." -"platlibdir` attribute. See :attr:`sys.platlibdir` attribute for more " -"information. (Contributed by Jan Matějek, Matěj Cepl, Charalampos Stratakis " -"and Victor Stinner in :issue:`1294959`.)" +"platform-specific library directory, stored in the " +"new :data:`sys.platlibdir` attribute. See :data:`sys.platlibdir` attribute " +"for more information. (Contributed by Jan Matějek, Matěj Cepl, Charalampos " +"Stratakis and Victor Stinner in :issue:`1294959`.)" msgstr "" "Adicionada a opção ``--with-platlibdir`` ao script ``configure``: nome do " "diretório de biblioteca específico da plataforma, armazenado no novo " -"atributo :attr:`sys.platlibdir`. Veja o atributo :attr:`sys.platlibdir` para " +"atributo :data:`sys.platlibdir`. Veja o atributo :data:`sys.platlibdir` para " "mais informações. (Contribuição de Jan Matějek, Matěj Cepl, Charalampos " "Stratakis e Victor Stinner em :issue:`1294959`.)" -#: ../../whatsnew/3.9.rst:1234 +#: ../../whatsnew/3.9.rst:1233 msgid "" "The ``COUNT_ALLOCS`` special build macro has been removed. (Contributed by " "Victor Stinner in :issue:`39489`.)" @@ -2449,7 +2466,7 @@ msgstr "" "A macro especial de construção ``COUNT_ALLOCS`` foi removida. (Contribuição " "de Victor Stinner em :issue:`39489`.)" -#: ../../whatsnew/3.9.rst:1237 +#: ../../whatsnew/3.9.rst:1236 msgid "" "On non-Windows platforms, the :c:func:`setenv` and :c:func:`unsetenv` " "functions are now required to build Python. (Contributed by Victor Stinner " @@ -2459,7 +2476,7 @@ msgstr "" "agora são necessárias para construir o Python. (Contribuição de Victor " "Stinner em :issue:`39395`.)" -#: ../../whatsnew/3.9.rst:1241 +#: ../../whatsnew/3.9.rst:1240 msgid "" "On non-Windows platforms, creating ``bdist_wininst`` installers is now " "officially unsupported. (See :issue:`10945` for more details.)" @@ -2467,7 +2484,7 @@ msgstr "" "Em plataformas não-Windows, a criação de instaladores ``bdist_wininst`` não " "possui mais suporte oficial. (Veja :issue:`10945` para mais detalhes.)" -#: ../../whatsnew/3.9.rst:1244 +#: ../../whatsnew/3.9.rst:1243 msgid "" "When building Python on macOS from source, ``_tkinter`` now links with non-" "system Tcl and Tk frameworks if they are installed in ``/Library/" @@ -2480,13 +2497,13 @@ msgstr "" "Ao compilar Python no macOS a partir do código-fonte, ``_tkinter`` agora se " "vincula a frameworks Tcl e Tk não pertencentes ao sistema se eles estiverem " "instalados em ``/Library/Frameworks``, como era o caso em versões mais " -"antigas do macOS. Se um macOS SDK for explicitamente configurado, usando :" -"option:`--enable-universalsdk` ou ``-isysroot``, somente o SDK em si será " -"procurado. Esse comportamento padrão pode ser sobreposto com ``--with-tcltk-" -"include`` e ``--with-tcltk-libs``. (Contribuição de Ned Deily em :issue:" -"`34956`.)" +"antigas do macOS. Se um macOS SDK for explicitamente configurado, " +"usando :option:`--enable-universalsdk` ou ``-isysroot``, somente o SDK em si " +"será procurado. Esse comportamento padrão pode ser sobreposto com ``--with-" +"tcltk-include`` e ``--with-tcltk-libs``. (Contribuição de Ned Deily " +"em :issue:`34956`.)" -#: ../../whatsnew/3.9.rst:1253 +#: ../../whatsnew/3.9.rst:1252 msgid "" "Python can now be built for Windows 10 ARM64. (Contributed by Steve Dower " "in :issue:`33125`.)" @@ -2494,7 +2511,7 @@ msgstr "" "Python pode agora ser construído para Windows 10 ARM64. (Contribuição de " "Steve Dower em :issue:`33125`.)" -#: ../../whatsnew/3.9.rst:1256 +#: ../../whatsnew/3.9.rst:1255 msgid "" "Some individual tests are now skipped when ``--pgo`` is used. The tests in " "question increased the PGO task time significantly and likely didn't help " @@ -2524,36 +2541,36 @@ msgstr "" "ferramentas do compilador. (Veja :issue:`36044` e :issue:`37707` para mais " "detalhes.)" -#: ../../whatsnew/3.9.rst:1271 +#: ../../whatsnew/3.9.rst:1270 msgid "C API Changes" msgstr "Alterações na API C" -#: ../../whatsnew/3.9.rst:1276 +#: ../../whatsnew/3.9.rst:1275 msgid "" ":pep:`573`: Added :c:func:`PyType_FromModuleAndSpec` to associate a module " "with a class; :c:func:`PyType_GetModule` and :c:func:`PyType_GetModuleState` " -"to retrieve the module and its state; and :c:data:`PyCMethod` and :c:data:" -"`METH_METHOD` to allow a method to access the class it was defined in. " -"(Contributed by Marcel Plch and Petr Viktorin in :issue:`38787`.)" +"to retrieve the module and its state; and :c:type:`PyCMethod` " +"and :c:macro:`METH_METHOD` to allow a method to access the class it was " +"defined in. (Contributed by Marcel Plch and Petr Viktorin in :issue:`38787`.)" msgstr "" -":pep:`573`: Adicionada :c:func:`PyType_FromModuleAndSpec` para associar um " -"módulo a uma classe; :c:func:`PyType_GetModule` e :c:func:" -"`PyType_GetModuleState` para obter o módulo e seu estado; e :c:data:" -"`PyCMethod` e :c:data:`METH_METHOD` para permitir que um método acesse a " -"classe na qual ela foi definida. (Contribuição de Marcel Plch e Petr " -"Viktorin em :issue:`38787`.)" +":pep:`573`: Adicionada :c:func:`PyType_FromModuleAndSpec` para associar um " +"módulo a uma classe; :c:func:`PyType_GetModule` " +"e :c:func:`PyType_GetModuleState` para obter o módulo e seu estado; " +"e :c:type:`PyCMethod` e :c:macro:`METH_METHOD` para permitir que um método " +"acesse a classe na qual ela foi definida. (Contribuição de Marcel Plch e " +"Petr Viktorin em :issue:`38787`.)" -#: ../../whatsnew/3.9.rst:1283 +#: ../../whatsnew/3.9.rst:1282 msgid "" -"Added :c:func:`PyFrame_GetCode` function: get a frame code. Added :c:func:" -"`PyFrame_GetBack` function: get the frame next outer frame. (Contributed by " -"Victor Stinner in :issue:`40421`.)" +"Added :c:func:`PyFrame_GetCode` function: get a frame code. " +"Added :c:func:`PyFrame_GetBack` function: get the frame next outer frame. " +"(Contributed by Victor Stinner in :issue:`40421`.)" msgstr "" "Adicionada a função :c:func:`PyFrame_GetCode`: obtém um código de quadro. " "Adiciona a função :c:func:`PyFrame_GetBack`: obtém o próximo quadro externo. " "(Contribuição de Victor Stinner em :issue:`40421`.)" -#: ../../whatsnew/3.9.rst:1287 +#: ../../whatsnew/3.9.rst:1286 msgid "" "Added :c:func:`PyFrame_GetLineNumber` to the limited C API. (Contributed by " "Victor Stinner in :issue:`40421`.)" @@ -2561,23 +2578,23 @@ msgstr "" "Adicionada :c:func:`PyFrame_GetLineNumber` à API C limitada. (Contribuição " "de Victor Stinner em :issue:`40421`.)" -#: ../../whatsnew/3.9.rst:1290 +#: ../../whatsnew/3.9.rst:1289 msgid "" -"Added :c:func:`PyThreadState_GetInterpreter` and :c:func:" -"`PyInterpreterState_Get` functions to get the interpreter. Added :c:func:" -"`PyThreadState_GetFrame` function to get the current frame of a Python " -"thread state. Added :c:func:`PyThreadState_GetID` function: get the unique " -"identifier of a Python thread state. (Contributed by Victor Stinner in :" -"issue:`39947`.)" +"Added :c:func:`PyThreadState_GetInterpreter` " +"and :c:func:`PyInterpreterState_Get` functions to get the interpreter. " +"Added :c:func:`PyThreadState_GetFrame` function to get the current frame of " +"a Python thread state. Added :c:func:`PyThreadState_GetID` function: get the " +"unique identifier of a Python thread state. (Contributed by Victor Stinner " +"in :issue:`39947`.)" msgstr "" -"Adicionada as funções :c:func:`PyThreadState_GetInterpreter` e :c:func:" -"`PyInterpreterState_Get` para obter o interpretador. Adiciona a função :c:" -"func:`PyThreadState_GetFrame` para obter o quadro atual de um estado de " -"thread do Python. Adiciona a função :c:func:`PyThreadState_GetID`: obtém o " -"identificador único de um estado de thread do Python. (Contribuição de " -"Victor Stinner em :issue:`39947`.)" +"Adicionada as funções :c:func:`PyThreadState_GetInterpreter` " +"e :c:func:`PyInterpreterState_Get` para obter o interpretador. Adiciona a " +"função :c:func:`PyThreadState_GetFrame` para obter o quadro atual de um " +"estado de thread do Python. Adiciona a função :c:func:`PyThreadState_GetID`: " +"obtém o identificador único de um estado de thread do Python. (Contribuição " +"de Victor Stinner em :issue:`39947`.)" -#: ../../whatsnew/3.9.rst:1298 +#: ../../whatsnew/3.9.rst:1297 msgid "" "Added a new public :c:func:`PyObject_CallNoArgs` function to the C API, " "which calls a callable Python object without any arguments. It is the most " @@ -2589,13 +2606,13 @@ msgstr "" "eficiente de chamar um objeto chamável Python sem nenhum argumento. " "(Contribuição de Victor Stinner em :issue:`37194`.)" -#: ../../whatsnew/3.9.rst:1303 ../../whatsnew/3.9.rst:1421 +#: ../../whatsnew/3.9.rst:1302 ../../whatsnew/3.9.rst:1420 msgid "Changes in the limited C API (if ``Py_LIMITED_API`` macro is defined):" msgstr "" "Alterações na API C limitada (se a macro ``Py_LIMITED_API`` estiver " "definida):" -#: ../../whatsnew/3.9.rst:1305 +#: ../../whatsnew/3.9.rst:1304 msgid "" "Provide :c:func:`Py_EnterRecursiveCall` and :c:func:`Py_LeaveRecursiveCall` " "as regular functions for the limited API. Previously, there were defined as " @@ -2609,7 +2626,7 @@ msgstr "" "pode acessar o campo ``PyThreadState.recursion_depth`` (a estrutura não é " "visível na API C limitada)." -#: ../../whatsnew/3.9.rst:1311 +#: ../../whatsnew/3.9.rst:1310 msgid "" "``PyObject_INIT()`` and ``PyObject_INIT_VAR()`` become regular \"opaque\" " "function to hide implementation details." @@ -2617,42 +2634,43 @@ msgstr "" "``PyObject_INIT()`` e ``PyObject_INIT_VAR()`` se uma função regular não " "visível para ocultar os detalhes da implementação." -#: ../../whatsnew/3.9.rst:1314 ../../whatsnew/3.9.rst:1448 +#: ../../whatsnew/3.9.rst:1313 ../../whatsnew/3.9.rst:1447 msgid "(Contributed by Victor Stinner in :issue:`38644` and :issue:`39542`.)" msgstr "(Contribuição de Victor Stinner em :issue:`38644` e :issue:`39542`.)" -#: ../../whatsnew/3.9.rst:1316 +#: ../../whatsnew/3.9.rst:1315 msgid "" "The :c:func:`PyModule_AddType` function is added to help adding a type to a " -"module. (Contributed by Dong-hee Na in :issue:`40024`.)" +"module. (Contributed by Donghee Na in :issue:`40024`.)" msgstr "" "A função :c:func:`PyModule_AddType` é adicionado para ajudar a adicionar um " -"tipo a um módulo. (Contribuição de Dong-hee Na em :issue:`40024`.)" +"tipo a um módulo. (Contribuição de Donghee Na em :issue:`40024`.)" -#: ../../whatsnew/3.9.rst:1320 +#: ../../whatsnew/3.9.rst:1319 msgid "" -"Added the functions :c:func:`PyObject_GC_IsTracked` and :c:func:" -"`PyObject_GC_IsFinalized` to the public API to allow to query if Python " -"objects are being currently tracked or have been already finalized by the " -"garbage collector respectively. (Contributed by Pablo Galindo Salgado in :" -"issue:`40241`.)" +"Added the functions :c:func:`PyObject_GC_IsTracked` " +"and :c:func:`PyObject_GC_IsFinalized` to the public API to allow to query if " +"Python objects are being currently tracked or have been already finalized by " +"the garbage collector respectively. (Contributed by Pablo Galindo Salgado " +"in :issue:`40241`.)" msgstr "" -"Adicionadas as funções :c:func:`PyObject_GC_IsTracked` e :c:func:" -"`PyObject_GC_IsFinalized` para a API pública para permitir a consulta se os " -"objetos Python estão sendo rastreados ou já foram finalizados pelo coletor " -"de lixo, respectivamente. (Contribuição de Pablo Galindo em :issue:`40241`.)" +"Adicionadas as funções :c:func:`PyObject_GC_IsTracked` " +"e :c:func:`PyObject_GC_IsFinalized` para a API pública para permitir a " +"consulta se os objetos Python estão sendo rastreados ou já foram finalizados " +"pelo coletor de lixo, respectivamente. (Contribuição de Pablo Galindo " +"em :issue:`40241`.)" -#: ../../whatsnew/3.9.rst:1326 +#: ../../whatsnew/3.9.rst:1325 msgid "" "Added :c:func:`_PyObject_FunctionStr` to get a user-friendly string " -"representation of a function-like object. (Patch by Jeroen Demeyer in :issue:" -"`37645`.)" +"representation of a function-like object. (Patch by Jeroen Demeyer " +"in :issue:`37645`.)" msgstr "" "Adicionada a :c:func:`_PyObject_FunctionStr` para obter uma representação " "amigável para o usuário de strings de um objeto função ou similar. (Patch " "por Jeroen Demeyer em :issue:`37645`.)" -#: ../../whatsnew/3.9.rst:1330 +#: ../../whatsnew/3.9.rst:1329 msgid "" "Added :c:func:`PyObject_CallOneArg` for calling an object with one " "positional argument (Patch by Jeroen Demeyer in :issue:`37483`.)" @@ -2660,44 +2678,46 @@ msgstr "" "Adicionada :c:func:`PyObject_CallOneArg` para chamar um objeto com um " "argumento posicional (Patch de Jeroen Demeyer em :issue:`37483`.)" -#: ../../whatsnew/3.9.rst:1338 +#: ../../whatsnew/3.9.rst:1337 msgid "" "``PyInterpreterState.eval_frame`` (:pep:`523`) now requires a new mandatory " -"*tstate* parameter (``PyThreadState*``). (Contributed by Victor Stinner in :" -"issue:`38500`.)" +"*tstate* parameter (``PyThreadState*``). (Contributed by Victor Stinner " +"in :issue:`38500`.)" msgstr "" "``PyInterpreterState.eval_frame`` (:pep:`523`) agora exige um novo parâmetro " "*tstate* obrigatório (``PyThreadState*``). (Contribuição de Victor Stinner " "em :issue:`38500`.)" -#: ../../whatsnew/3.9.rst:1342 -msgid "" -"Extension modules: :c:member:`~PyModuleDef.m_traverse`, :c:member:" -"`~PyModuleDef.m_clear` and :c:member:`~PyModuleDef.m_free` functions of :c:" -"type:`PyModuleDef` are no longer called if the module state was requested " -"but is not allocated yet. This is the case immediately after the module is " -"created and before the module is executed (:c:data:`Py_mod_exec` function). " -"More precisely, these functions are not called if :c:member:`~PyModuleDef." -"m_size` is greater than 0 and the module state (as returned by :c:func:" -"`PyModule_GetState`) is ``NULL``." -msgstr "" -"Módulos de extensão: As funções :c:member:`~PyModuleDef.m_traverse`, :c:" -"member:`~PyModuleDef.m_clear` e :c:member:`~PyModuleDef.m_free` de :c:type:" -"`PyModuleDef` não são mais chamados se o estado do módulo foi solicitado, " -"mas ainda não está alocado. Este é o caso imediatamente após o módulo ser " -"criado e antes de o módulo ser executado (função :c:data:`Py_mod_exec`). " -"Mais precisamente, estas funções são são chamados se :c:member:`~PyModuleDef." -"m_size` for maior que 0 e o estado do módulo (como retornado por :c:func:" -"`PyModule_GetState`) for ``NULL``." - -#: ../../whatsnew/3.9.rst:1351 +#: ../../whatsnew/3.9.rst:1341 +msgid "" +"Extension " +"modules: :c:member:`~PyModuleDef.m_traverse`, :c:member:`~PyModuleDef.m_clear` " +"and :c:member:`~PyModuleDef.m_free` functions of :c:type:`PyModuleDef` are " +"no longer called if the module state was requested but is not allocated yet. " +"This is the case immediately after the module is created and before the " +"module is executed (:c:data:`Py_mod_exec` function). More precisely, these " +"functions are not called if :c:member:`~PyModuleDef.m_size` is greater than " +"0 and the module state (as returned by :c:func:`PyModule_GetState`) is " +"``NULL``." +msgstr "" +"Módulos de extensão: As " +"funções :c:member:`~PyModuleDef.m_traverse`, :c:member:`~PyModuleDef.m_clear` " +"e :c:member:`~PyModuleDef.m_free` de :c:type:`PyModuleDef` não são mais " +"chamados se o estado do módulo foi solicitado, mas ainda não está alocado. " +"Este é o caso imediatamente após o módulo ser criado e antes de o módulo ser " +"executado (função :c:data:`Py_mod_exec`). Mais precisamente, estas funções " +"são são chamados se :c:member:`~PyModuleDef.m_size` for maior que 0 e o " +"estado do módulo (como retornado por :c:func:`PyModule_GetState`) for " +"``NULL``." + +#: ../../whatsnew/3.9.rst:1350 msgid "" "Extension modules without module state (``m_size <= 0``) are not affected." msgstr "" "Módulos de extensão sem um estado de módulo (``m_size <= 0``) não são " "afetados." -#: ../../whatsnew/3.9.rst:1353 +#: ../../whatsnew/3.9.rst:1352 msgid "" "If :c:func:`Py_AddPendingCall` is called in a subinterpreter, the function " "is now scheduled to be called from the subinterpreter, rather than being " @@ -2710,7 +2730,7 @@ msgstr "" "agora tem sua própria lista de chamadas programadas. (Contribuição de Victor " "Stinner em :issue:`39984`.)" -#: ../../whatsnew/3.9.rst:1359 +#: ../../whatsnew/3.9.rst:1358 msgid "" "The Windows registry is no longer used to initialize :data:`sys.path` when " "the ``-E`` option is used (if :c:member:`PyConfig.use_environment` is set to " @@ -2722,7 +2742,7 @@ msgstr "" "estiver definido como ``0``). Isso é significativo ao incorporar Python no " "Windows. (Contribuição de Zackery Spytz na :issue:`8901`.)" -#: ../../whatsnew/3.9.rst:1364 +#: ../../whatsnew/3.9.rst:1363 msgid "" "The global variable :c:data:`PyStructSequence_UnnamedField` is now a " "constant and refers to a constant string. (Contributed by Serhiy Storchaka " @@ -2732,43 +2752,45 @@ msgstr "" "constante e se refere a uma string constante. (Contribuição de Serhiy " "Storchaka em :issue:`38650`.)" -#: ../../whatsnew/3.9.rst:1368 +#: ../../whatsnew/3.9.rst:1367 msgid "" "The :c:type:`PyGC_Head` structure is now opaque. It is only defined in the " -"internal C API (``pycore_gc.h``). (Contributed by Victor Stinner in :issue:" -"`40241`.)" +"internal C API (``pycore_gc.h``). (Contributed by Victor Stinner " +"in :issue:`40241`.)" msgstr "" "A estrutura :c:type:`PyGC_Head` agora não é mais visível. Ela só é definida " -"na API C interna (``pycore_gc.h``). (Contribuição de Victor Stinner em :" -"issue:`40241`.)" +"na API C interna (``pycore_gc.h``). (Contribuição de Victor Stinner " +"em :issue:`40241`.)" -#: ../../whatsnew/3.9.rst:1372 +#: ../../whatsnew/3.9.rst:1371 msgid "" -"The ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``, :c:" -"func:`PyUnicode_FromUnicode`, :c:func:`PyUnicode_AsUnicode`, " -"``_PyUnicode_AsUnicode``, and :c:func:`PyUnicode_AsUnicodeAndSize` are " -"marked as deprecated in C. They have been deprecated by :pep:`393` since " -"Python 3.3. (Contributed by Inada Naoki in :issue:`36346`.)" +"The ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, " +"``PyUnicode_WSTR_LENGTH``, :c:func:`!PyUnicode_FromUnicode`, :c:func:`!" +"PyUnicode_AsUnicode`, ``_PyUnicode_AsUnicode``, and :c:func:`!" +"PyUnicode_AsUnicodeAndSize` are marked as deprecated in C. They have been " +"deprecated by :pep:`393` since Python 3.3. (Contributed by Inada Naoki " +"in :issue:`36346`.)" msgstr "" -"``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``, :c:func:" -"`PyUnicode_FromUnicode`, :c:func:`PyUnicode_AsUnicode`, " -"``_PyUnicode_AsUnicode`` e :c:func:`PyUnicode_AsUnicodeAndSize` estão " -"marcadas como descontinuadas no C. Elas foram descontinuadas pela :pep:`393` " -"desde Python 3.3. (Contribuição de Inada Naoki em :issue:`36346`.)" +"``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, , " +"``PyUnicode_WSTR_LENGTH``, :c:func:`!PyUnicode_FromUnicode`, :c:func:`!" +"PyUnicode_AsUnicode`, ``_PyUnicode_AsUnicode`` e :c:func:`!" +"PyUnicode_AsUnicodeAndSize` estão marcadas como descontinuadas no C. Elas " +"foram descontinuadas pela :pep:`393` desde Python 3.3. (Contribuição de " +"Inada Naoki em :issue:`36346`.)" -#: ../../whatsnew/3.9.rst:1379 +#: ../../whatsnew/3.9.rst:1378 msgid "" "The :c:func:`Py_FatalError` function is replaced with a macro which logs " "automatically the name of the current function, unless the " -"``Py_LIMITED_API`` macro is defined. (Contributed by Victor Stinner in :" -"issue:`39882`.)" +"``Py_LIMITED_API`` macro is defined. (Contributed by Victor Stinner " +"in :issue:`39882`.)" msgstr "" "A função :c:func:`Py_FatalError` é substituída por uma macro que registra " "automaticamente o nome da função atual, a menos que a macro " -"``Py_LIMITED_API`` seja definida. (Contribuição de Victor Stinner em :issue:" -"`39882`.)" +"``Py_LIMITED_API`` seja definida. (Contribuição de Victor Stinner " +"em :issue:`39882`.)" -#: ../../whatsnew/3.9.rst:1384 +#: ../../whatsnew/3.9.rst:1383 msgid "" "The vectorcall protocol now requires that the caller passes only strings as " "keyword names. (See :issue:`37540` for more information.)" @@ -2776,40 +2798,40 @@ msgstr "" "O protocolo vectorcall agora exige que o chamador passe apenas strings como " "nomes de argumentos. (Veja :issue:`37540` para mais informações.)" -#: ../../whatsnew/3.9.rst:1387 +#: ../../whatsnew/3.9.rst:1386 msgid "" "Implementation details of a number of macros and functions are now hidden:" msgstr "" "Os detalhes de implementação de uma série de macros e funções agora estão " "ocultos:" -#: ../../whatsnew/3.9.rst:1389 +#: ../../whatsnew/3.9.rst:1388 msgid ":c:func:`PyObject_IS_GC` macro was converted to a function." msgstr "A macro :c:func:`PyObject_IS_GC` foi convertida para uma função." -#: ../../whatsnew/3.9.rst:1391 +#: ../../whatsnew/3.9.rst:1390 msgid "" -"The :c:func:`PyObject_NEW` macro becomes an alias to the :c:func:" -"`PyObject_New` macro, and the :c:func:`PyObject_NEW_VAR` macro becomes an " -"alias to the :c:func:`PyObject_NewVar` macro. They no longer access directly " -"the :c:member:`PyTypeObject.tp_basicsize` member." +"The :c:func:`PyObject_NEW` macro becomes an alias to " +"the :c:macro:`PyObject_New` macro, and the :c:func:`PyObject_NEW_VAR` macro " +"becomes an alias to the :c:macro:`PyObject_NewVar` macro. They no longer " +"access directly the :c:member:`PyTypeObject.tp_basicsize` member." msgstr "" -"A macro :c:func:`PyObject_NEW` se torna um alias para a macro :c:func:" -"`PyObject_New` e a macro :c:func:`PyObject_NEW_VAR` se torna um alias para a " -"macro :c:func:`PyObject_NewVar`. Elas não acessam mais diretamente o membro :" -"c:member:`PyTypeObject.tp_basicsize`." +"A macro :c:func:`PyObject_NEW` se torna um alias para a " +"macro :c:macro:`PyObject_New` e a macro :c:func:`PyObject_NEW_VAR` se torna " +"um alias para a macro :c:macro:`PyObject_NewVar`. Elas não acessam mais " +"diretamente o membro :c:member:`PyTypeObject.tp_basicsize`." -#: ../../whatsnew/3.9.rst:1396 +#: ../../whatsnew/3.9.rst:1395 msgid "" ":c:func:`PyObject_GET_WEAKREFS_LISTPTR` macro was converted to a function: " "the macro accessed directly the :c:member:`PyTypeObject.tp_weaklistoffset` " "member." msgstr "" "A macro :c:func:`PyObject_GET_WEAKREFS_LISTPTR` foi convertida para uma " -"função: a macro acessava diretamente o membro :c:member:`PyTypeObject." -"tp_weaklistoffset`." +"função: a macro acessava diretamente o " +"membro :c:member:`PyTypeObject.tp_weaklistoffset`." -#: ../../whatsnew/3.9.rst:1400 +#: ../../whatsnew/3.9.rst:1399 msgid "" ":c:func:`PyObject_CheckBuffer` macro was converted to a function: the macro " "accessed directly the :c:member:`PyTypeObject.tp_as_buffer` member." @@ -2817,7 +2839,7 @@ msgstr "" "A macro :c:func:`PyObject_CheckBuffer` foi convertida para uma função: a " "macro acessava diretamente o membro :c:member:`PyTypeObject.tp_as_buffer`." -#: ../../whatsnew/3.9.rst:1403 +#: ../../whatsnew/3.9.rst:1402 msgid "" ":c:func:`PyIndex_Check` is now always declared as an opaque function to hide " "implementation details: removed the ``PyIndex_Check()`` macro. The macro " @@ -2827,21 +2849,21 @@ msgstr "" "ocultar detalhes da implementação: removida a macro ``PyIndex_Check()``. A " "macro acessava diretamente o membro :c:member:`PyTypeObject.tp_as_number`." -#: ../../whatsnew/3.9.rst:1407 +#: ../../whatsnew/3.9.rst:1406 msgid "(See :issue:`40170` for more details.)" msgstr "(Veja :issue:`40170` para mais detalhes.)" -#: ../../whatsnew/3.9.rst:1412 +#: ../../whatsnew/3.9.rst:1411 msgid "" "Excluded ``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()`` macros of " -"``pyfpe.h`` from the limited C API. (Contributed by Victor Stinner in :issue:" -"`38835`.)" +"``pyfpe.h`` from the limited C API. (Contributed by Victor Stinner " +"in :issue:`38835`.)" msgstr "" "Excluídas as macros ``PyFPE_START_PROTECT()`` e ``PyFPE_END_PROTECT()`` de " -"``pyfpe.h`` da API C limitada. (Contribuição por Victor Stinner em :issue:" -"`38835`.)" +"``pyfpe.h`` da API C limitada. (Contribuição por Victor Stinner " +"em :issue:`38835`.)" -#: ../../whatsnew/3.9.rst:1416 +#: ../../whatsnew/3.9.rst:1415 msgid "" "The ``tp_print`` slot of :ref:`PyTypeObject ` has been " "removed. It was used for printing objects to files in Python 2.7 and before. " @@ -2853,92 +2875,92 @@ msgstr "" "Desde Python 3.0, ele era ignorado e não utilizado. (Contribuição de Jeroen " "Demeyer em :issue:`36974`.)" -#: ../../whatsnew/3.9.rst:1423 +#: ../../whatsnew/3.9.rst:1422 msgid "Excluded the following functions from the limited C API:" msgstr "Excluídas as seguintes funções da API C limitada:" -#: ../../whatsnew/3.9.rst:1425 +#: ../../whatsnew/3.9.rst:1424 msgid "" -"``PyThreadState_DeleteCurrent()`` (Contributed by Joannah Nanjekye in :issue:" -"`37878`.)" +"``PyThreadState_DeleteCurrent()`` (Contributed by Joannah Nanjekye " +"in :issue:`37878`.)" msgstr "" -"``PyThreadState_DeleteCurrent()`` (Contribuição de Joannah Nanjekye em :" -"issue:`37878`.)" +"``PyThreadState_DeleteCurrent()`` (Contribuição de Joannah Nanjekye " +"em :issue:`37878`.)" -#: ../../whatsnew/3.9.rst:1427 +#: ../../whatsnew/3.9.rst:1426 msgid "``_Py_CheckRecursionLimit``" msgstr "``_Py_CheckRecursionLimit``" -#: ../../whatsnew/3.9.rst:1428 +#: ../../whatsnew/3.9.rst:1427 msgid "``_Py_NewReference()``" msgstr "``_Py_NewReference()``" -#: ../../whatsnew/3.9.rst:1429 +#: ../../whatsnew/3.9.rst:1428 msgid "``_Py_ForgetReference()``" msgstr "``_Py_ForgetReference()``" -#: ../../whatsnew/3.9.rst:1430 +#: ../../whatsnew/3.9.rst:1429 msgid "``_PyTraceMalloc_NewReference()``" msgstr "``_PyTraceMalloc_NewReference()``" -#: ../../whatsnew/3.9.rst:1431 +#: ../../whatsnew/3.9.rst:1430 msgid "``_Py_GetRefTotal()``" msgstr "``_Py_GetRefTotal()``" -#: ../../whatsnew/3.9.rst:1432 +#: ../../whatsnew/3.9.rst:1431 msgid "The trashcan mechanism which never worked in the limited C API." msgstr "O mecanismo trashcan que nunca funcionou na API C limitada." -#: ../../whatsnew/3.9.rst:1433 +#: ../../whatsnew/3.9.rst:1432 msgid "``PyTrash_UNWIND_LEVEL``" msgstr "``PyTrash_UNWIND_LEVEL``" -#: ../../whatsnew/3.9.rst:1434 +#: ../../whatsnew/3.9.rst:1433 msgid "``Py_TRASHCAN_BEGIN_CONDITION``" msgstr "``Py_TRASHCAN_BEGIN_CONDITION``" -#: ../../whatsnew/3.9.rst:1435 +#: ../../whatsnew/3.9.rst:1434 msgid "``Py_TRASHCAN_BEGIN``" msgstr "``Py_TRASHCAN_BEGIN``" -#: ../../whatsnew/3.9.rst:1436 +#: ../../whatsnew/3.9.rst:1435 msgid "``Py_TRASHCAN_END``" msgstr "``Py_TRASHCAN_END``" -#: ../../whatsnew/3.9.rst:1437 +#: ../../whatsnew/3.9.rst:1436 msgid "``Py_TRASHCAN_SAFE_BEGIN``" msgstr "``Py_TRASHCAN_SAFE_BEGIN``" -#: ../../whatsnew/3.9.rst:1438 +#: ../../whatsnew/3.9.rst:1437 msgid "``Py_TRASHCAN_SAFE_END``" msgstr "``Py_TRASHCAN_SAFE_END``" -#: ../../whatsnew/3.9.rst:1440 +#: ../../whatsnew/3.9.rst:1439 msgid "Moved following functions and definitions to the internal C API:" msgstr "Movidas as seguintes funções e definições para a API C interna:" -#: ../../whatsnew/3.9.rst:1442 +#: ../../whatsnew/3.9.rst:1441 msgid "``_PyDebug_PrintTotalRefs()``" msgstr "``_PyDebug_PrintTotalRefs()``" -#: ../../whatsnew/3.9.rst:1443 +#: ../../whatsnew/3.9.rst:1442 msgid "``_Py_PrintReferences()``" msgstr "``_Py_PrintReferences()``" -#: ../../whatsnew/3.9.rst:1444 +#: ../../whatsnew/3.9.rst:1443 msgid "``_Py_PrintReferenceAddresses()``" msgstr "``_Py_PrintReferenceAddresses()``" -#: ../../whatsnew/3.9.rst:1445 +#: ../../whatsnew/3.9.rst:1444 msgid "``_Py_tracemalloc_config``" msgstr "``_Py_tracemalloc_config``" -#: ../../whatsnew/3.9.rst:1446 +#: ../../whatsnew/3.9.rst:1445 msgid "``_Py_AddToAllObjects()`` (specific to ``Py_TRACE_REFS`` build)" msgstr "" "``_Py_AddToAllObjects()`` (específico para construção de ``Py_TRACE_REFS``)" -#: ../../whatsnew/3.9.rst:1450 +#: ../../whatsnew/3.9.rst:1449 msgid "" "Removed ``_PyRuntime.getframe`` hook and removed ``_PyThreadState_GetFrame`` " "macro which was an alias to ``_PyRuntime.getframe``. They were only exposed " @@ -2950,7 +2972,7 @@ msgstr "" "Eles eram os únicos expostos pela API C interna. Removido também o tipo " "``PyThreadFrameGetter``. (Contribuição de Victor Stinner em :issue:`39946`.)" -#: ../../whatsnew/3.9.rst:1455 +#: ../../whatsnew/3.9.rst:1454 msgid "" "Removed the following functions from the C API. Call :c:func:`PyGC_Collect` " "explicitly to clear all free lists. (Contributed by Inada Naoki and Victor " @@ -2960,31 +2982,31 @@ msgstr "" "explicitamente para limpar todas as listas livres. (Contribuição de Inada " "Naoki e Victor Stinner em :issue:`37340`, :issue:`38896` e :issue:`40428`.)" -#: ../../whatsnew/3.9.rst:1460 +#: ../../whatsnew/3.9.rst:1459 msgid "``PyAsyncGen_ClearFreeLists()``" msgstr "``PyAsyncGen_ClearFreeLists()``" -#: ../../whatsnew/3.9.rst:1461 +#: ../../whatsnew/3.9.rst:1460 msgid "``PyContext_ClearFreeList()``" msgstr "``PyContext_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1462 +#: ../../whatsnew/3.9.rst:1461 msgid "``PyDict_ClearFreeList()``" msgstr "``PyDict_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1463 +#: ../../whatsnew/3.9.rst:1462 msgid "``PyFloat_ClearFreeList()``" msgstr "``PyFloat_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1464 +#: ../../whatsnew/3.9.rst:1463 msgid "``PyFrame_ClearFreeList()``" msgstr "``PyFrame_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1465 +#: ../../whatsnew/3.9.rst:1464 msgid "``PyList_ClearFreeList()``" msgstr "``PyList_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1466 +#: ../../whatsnew/3.9.rst:1465 msgid "" "``PyMethod_ClearFreeList()`` and ``PyCFunction_ClearFreeList()``: the free " "lists of bound method objects have been removed." @@ -2992,18 +3014,18 @@ msgstr "" "``PyMethod_ClearFreeList()`` e ``PyCFunction_ClearFreeList()``: as listas " "livres de objetos de método vinculado foram removidas." -#: ../../whatsnew/3.9.rst:1468 +#: ../../whatsnew/3.9.rst:1467 msgid "" "``PySet_ClearFreeList()``: the set free list has been removed in Python 3.4." msgstr "" "``PySet_ClearFreeList()``: a definição de lista livres foi removida no " "Python 3.4." -#: ../../whatsnew/3.9.rst:1470 +#: ../../whatsnew/3.9.rst:1469 msgid "``PyTuple_ClearFreeList()``" msgstr "``PyTuple_ClearFreeList()``" -#: ../../whatsnew/3.9.rst:1471 +#: ../../whatsnew/3.9.rst:1470 msgid "" "``PyUnicode_ClearFreeList()``: the Unicode free list has been removed in " "Python 3.3." @@ -3011,7 +3033,7 @@ msgstr "" "``PyUnicode_ClearFreeList()``: a lista livre de Unicode foi removida no " "Python 3.3." -#: ../../whatsnew/3.9.rst:1474 +#: ../../whatsnew/3.9.rst:1473 msgid "" "Removed ``_PyUnicode_ClearStaticStrings()`` function. (Contributed by Victor " "Stinner in :issue:`39465`.)" @@ -3019,7 +3041,7 @@ msgstr "" "Removida a função ``_PyUnicode_ClearStaticStrings()``. (Contribuição de " "Victor Stinner em :issue:`39465`.)" -#: ../../whatsnew/3.9.rst:1477 +#: ../../whatsnew/3.9.rst:1476 msgid "" "Removed ``Py_UNICODE_MATCH``. It has been deprecated by :pep:`393`, and " "broken since Python 3.3. The :c:func:`PyUnicode_Tailmatch` function can be " @@ -3029,7 +3051,7 @@ msgstr "" "quebrado desde o Python 3.3. A função :c:func:`PyUnicode_Tailmatch` pode ser " "usada em seu lugar. (Contribuição de Inada Naoki em :issue:`36346`.)" -#: ../../whatsnew/3.9.rst:1482 +#: ../../whatsnew/3.9.rst:1481 msgid "" "Cleaned header files of interfaces defined but with no implementation. The " "public API symbols being removed are: " @@ -3038,8 +3060,8 @@ msgid "" "``_Py_InitializeFromWideArgs``, ``_PyFloat_Repr``, ``_PyFloat_Digits``, " "``_PyFloat_DigitsInit``, ``PyFrame_ExtendStack``, ``_PyAIterWrapper_Type``, " "``PyNullImporter_Type``, ``PyCmpWrapper_Type``, ``PySortWrapper_Type``, " -"``PyNoArgsFunction``. (Contributed by Pablo Galindo Salgado in :issue:" -"`39372`.)" +"``PyNoArgsFunction``. (Contributed by Pablo Galindo Salgado " +"in :issue:`39372`.)" msgstr "" "Limpados os arquivos de cabeçalho de interfaces definidas, mas sem " "implementação. Os símbolos públicos da API sendo removidos são: " @@ -3048,34 +3070,35 @@ msgstr "" "``_Py_InitializeFromWideArgs``, ``_PyFloat_Repr``, ``_PyFloat_Digits``, " "``_PyFloat_DigitsInit``, ``PyFrame_ExtendStack``, ``_PyAIterWrapper_Type``, " "``PyNullImporter_Type``, ``PyCmpWrapper_Type``, ``PySortWrapper_Type``, " -"``PyNoArgsFunction``. (Contribuição de Pablo Galindo Salgado em :issue:" -"`39372`.)" +"``PyNoArgsFunction``. (Contribuição de Pablo Galindo Salgado " +"em :issue:`39372`.)" -#: ../../whatsnew/3.9.rst:1493 +#: ../../whatsnew/3.9.rst:1492 msgid "Notable changes in Python 3.9.1" msgstr "Alterações notáveis no Python 3.9.1" -#: ../../whatsnew/3.9.rst:1498 +#: ../../whatsnew/3.9.rst:1497 msgid "" -"The behavior of :class:`typing.Literal` was changed to conform with :pep:" -"`586` and to match the behavior of static type checkers specified in the PEP." +"The behavior of :class:`typing.Literal` was changed to conform " +"with :pep:`586` and to match the behavior of static type checkers specified " +"in the PEP." msgstr "" "O comportamento de :class:`typing.Literal` foi alterado para ficar em " "conformidade com a :pep:`586` e para corresponder ao comportamento de " "verificadores de tipo estático especificados na PEP." -#: ../../whatsnew/3.9.rst:1501 +#: ../../whatsnew/3.9.rst:1500 msgid "``Literal`` now de-duplicates parameters." msgstr "``Literal`` agora elimina a duplicação de parâmetros." -#: ../../whatsnew/3.9.rst:1502 +#: ../../whatsnew/3.9.rst:1501 msgid "" "Equality comparisons between ``Literal`` objects are now order independent." msgstr "" "Comparações de igualdade entre objetos ``Literal`` agora são independentes " "da ordem." -#: ../../whatsnew/3.9.rst:1503 +#: ../../whatsnew/3.9.rst:1502 msgid "" "``Literal`` comparisons now respect types. For example, ``Literal[0] == " "Literal[False]`` previously evaluated to ``True``. It is now ``False``. To " @@ -3087,7 +3110,7 @@ msgstr "" "é ``False``. Para oferecer suporte a essa mudança, o cache de tipo usado " "internamente agora oferece suporte a tipos de diferenciação." -#: ../../whatsnew/3.9.rst:1507 +#: ../../whatsnew/3.9.rst:1506 msgid "" "``Literal`` objects will now raise a :exc:`TypeError` exception during " "equality comparisons if any of their parameters are not :term:`hashable`. " @@ -3095,19 +3118,19 @@ msgid "" "error::" msgstr "" "Objetos ``Literal`` agora irão levantar uma exceção :exc:`TypeError` durante " -"as comparações de igualdade se algum de seus parâmetros não for :term:" -"`hasheável`. Observe que declarar ``Literal`` com parâmetros mutáveis não " -"gerará um erro::" +"as comparações de igualdade se algum de seus parâmetros não " +"for :term:`hasheável`. Observe que declarar ``Literal`` com parâmetros " +"mutáveis não gerará um erro::" -#: ../../whatsnew/3.9.rst:1519 +#: ../../whatsnew/3.9.rst:1518 msgid "(Contributed by Yurii Karabas in :issue:`42345`.)" msgstr "(Contribuição de Yurii Karabas em :issue:`42345`.)" -#: ../../whatsnew/3.9.rst:1522 +#: ../../whatsnew/3.9.rst:1521 msgid "macOS 11.0 (Big Sur) and Apple Silicon Mac support" msgstr "Suporte a macOS 11.0 (Big Sur) e Apple Silicon Mac" -#: ../../whatsnew/3.9.rst:1524 +#: ../../whatsnew/3.9.rst:1523 msgid "" "As of 3.9.1, Python now fully supports building and running on macOS 11.0 " "(Big Sur) and on Apple Silicon Macs (based on the ``ARM64`` architecture). A " @@ -3129,68 +3152,167 @@ msgstr "" "disponíveis condicionalmente com base na versão do sistema operacional em " "uso no tempo de execução (\"ligação fraca\")" -#: ../../whatsnew/3.9.rst:1533 +#: ../../whatsnew/3.9.rst:1532 msgid "(Contributed by Ronald Oussoren and Lawrence D'Anna in :issue:`41100`.)" msgstr "(Contribuição de Ronald Oussoren e Lawrence D'Anna em :issue:`41100`.)" -#: ../../whatsnew/3.9.rst:1536 +#: ../../whatsnew/3.9.rst:1535 msgid "Notable changes in Python 3.9.2" msgstr "Alterações notáveis no Python 3.9.2" -#: ../../whatsnew/3.9.rst:1539 +#: ../../whatsnew/3.9.rst:1538 msgid "collections.abc" msgstr "collections.abc" -#: ../../whatsnew/3.9.rst:1541 +#: ../../whatsnew/3.9.rst:1540 msgid "" ":class:`collections.abc.Callable` generic now flattens type parameters, " "similar to what :data:`typing.Callable` currently does. This means that " "``collections.abc.Callable[[int, str], str]`` will have ``__args__`` of " "``(int, str, str)``; previously this was ``([int, str], str)``. To allow " "this change, :class:`types.GenericAlias` can now be subclassed, and a " -"subclass will be returned when subscripting the :class:`collections.abc." -"Callable` type. Code which accesses the arguments via :func:`typing." -"get_args` or ``__args__`` need to account for this change. A :exc:" -"`DeprecationWarning` may be emitted for invalid forms of parameterizing :" -"class:`collections.abc.Callable` which may have passed silently in Python " -"3.9.1. This :exc:`DeprecationWarning` will become a :exc:`TypeError` in " -"Python 3.10. (Contributed by Ken Jin in :issue:`42195`.)" +"subclass will be returned when subscripting " +"the :class:`collections.abc.Callable` type. Code which accesses the " +"arguments via :func:`typing.get_args` or ``__args__`` need to account for " +"this change. A :exc:`DeprecationWarning` may be emitted for invalid forms " +"of parameterizing :class:`collections.abc.Callable` which may have passed " +"silently in Python 3.9.1. This :exc:`DeprecationWarning` will become " +"a :exc:`TypeError` in Python 3.10. (Contributed by Ken Jin " +"in :issue:`42195`.)" msgstr "" ":class:`collections.abc.Callable` genérica agora nivela os parâmetros de " "tipo, semelhante ao que :data:`typing.Callable` faz atualmente. Isso " "significa que ``collections.abc.Callable[[int, str], str]`` terá " "``__args__`` de ``(int, str, str)``; anteriormente era ``([int, str], " "str)``. Para permitir esta mudança, :class:`types.GenericAlias` agora pode " -"ter uma subclasse, e uma subclasse será retornada ao subscrever o tipo :" -"class:`Collections.abc.Callable`. O código que acessa os argumentos via :" -"func:`typing.get_args` ou ``__args__`` precisa levar em conta esta mudança. " -"Um :exc:`DeprecationWarning` pode ser emitido para formas inválidas de " -"parametrização :class:`Collections.abc.Callable` que pode ter passado " +"ter uma subclasse, e uma subclasse será retornada ao subscrever o " +"tipo :class:`collections.abc.Callable`. O código que acessa os argumentos " +"via :func:`typing.get_args` ou ``__args__`` precisa levar em conta esta " +"mudança. Um :exc:`DeprecationWarning` pode ser emitido para formas inválidas " +"de parametrização :class:`collections.abc.Callable` que pode ter passado " "silenciosamente no Python 3.9.1. Esta :exc:`DeprecationWarning` se tornará " -"uma :exc:`TypeError` no Python 3.10. (Contribuição de Ken Jin em :issue:" -"`42195`.)" +"uma :exc:`TypeError` no Python 3.10. (Contribuição de Ken Jin " +"em :issue:`42195`.)" -#: ../../whatsnew/3.9.rst:1555 +#: ../../whatsnew/3.9.rst:1554 ../../whatsnew/3.9.rst:1579 msgid "urllib.parse" msgstr "urllib.parse" -#: ../../whatsnew/3.9.rst:1557 +#: ../../whatsnew/3.9.rst:1556 msgid "" "Earlier Python versions allowed using both ``;`` and ``&`` as query " -"parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." -"parse.parse_qsl`. Due to security concerns, and to conform with newer W3C " -"recommendations, this has been changed to allow only a single separator key, " -"with ``&`` as the default. This change also affects :func:`cgi.parse` and :" -"func:`cgi.parse_multipart` as they use the affected functions internally. " -"For more details, please see their respective documentation. (Contributed by " -"Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" +"parameter separators in :func:`urllib.parse.parse_qs` " +"and :func:`urllib.parse.parse_qsl`. Due to security concerns, and to " +"conform with newer W3C recommendations, this has been changed to allow only " +"a single separator key, with ``&`` as the default. This change also " +"affects :func:`cgi.parse` and :func:`cgi.parse_multipart` as they use the " +"affected functions internally. For more details, please see their respective " +"documentation. (Contributed by Adam Goldschmidt, Senthil Kumaran and Ken Jin " +"in :issue:`42967`.)" msgstr "" "Versões anteriores do Python permitiam o uso de ``;`` e ``&`` como " -"separadores de parâmetros de consulta nas funções :func:`urllib.parse." -"parse_qs` e :func:`urllib.parse.parse_qsl`. Devido a questões de segurança, " -"e em conformidade com as recomendações mais recentes do W3C, isso foi " -"alterado para permitir apenas uma única chave separadora, com ``&`` como " -"padrão. Esta mudança também afeta as funções :func:`cgi.parse` e :func:`cgi." -"parse_multipart` já que elas usam as funções afetadas internamente. Para " -"obter mais detalhes, consulte sua respectiva documentação. (Contribuição de " -"Adam Goldschmidt, Senthil Kumaran e Ken Jin em :issue:`42967`.)" +"separadores de parâmetros de consulta nas " +"funções :func:`urllib.parse.parse_qs` e :func:`urllib.parse.parse_qsl`. " +"Devido a questões de segurança, e em conformidade com as recomendações mais " +"recentes do W3C, isso foi alterado para permitir apenas uma única chave " +"separadora, com ``&`` como padrão. Esta mudança também afeta as " +"funções :func:`cgi.parse` e :func:`cgi.parse_multipart` já que elas usam as " +"funções afetadas internamente. Para obter mais detalhes, consulte sua " +"respectiva documentação. (Contribuição de Adam Goldschmidt, Senthil Kumaran " +"e Ken Jin em :issue:`42967`.)" + +#: ../../whatsnew/3.9.rst:1567 +msgid "Notable changes in Python 3.9.3" +msgstr "Alterações notáveis no Python 3.9.3" + +#: ../../whatsnew/3.9.rst:1569 +msgid "" +"A security fix alters the :class:`ftplib.FTP` behavior to not trust the IPv4 " +"address sent from the remote server when setting up a passive data channel. " +"We reuse the ftp server IP address instead. For unusual code requiring the " +"old behavior, set a ``trust_server_pasv_ipv4_address`` attribute on your FTP " +"instance to ``True``. (See :gh:`87451`)" +msgstr "" +"Uma correção de segurança altera o comportamento :class:`ftplib.FTP` para " +"não confiar no endereço IPv4 enviado do servidor remoto ao configurar um " +"canal de dados passivo. Em vez disso, reutilizamos o endereço IP do servidor " +"ftp. Para códigos incomuns que requerem o comportamento antigo, defina um " +"atributo ``trust_server_pasv_ipv4_address`` em sua instância de FTP para " +"``True``. (Veja :gh:`87451`)" + +#: ../../whatsnew/3.9.rst:1576 +msgid "Notable changes in Python 3.9.5" +msgstr "Alterações notáveis no Python 3.9.5" + +#: ../../whatsnew/3.9.rst:1581 +msgid "" +"The presence of newline or tab characters in parts of a URL allows for some " +"forms of attacks. Following the WHATWG specification that " +"updates :rfc:`3986`, ASCII newline ``\\n``, ``\\r`` and tab ``\\t`` " +"characters are stripped from the URL by the parser in :mod:`urllib.parse` " +"preventing such attacks. The removal characters are controlled by a new " +"module level variable ``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. " +"(See :gh:`88048`)" +msgstr "" +"A presença de caracteres de nova linha ou tab em partes de um URL permite " +"algumas formas de ataques. Seguindo a especificação WHATWG que " +"atualiza :rfc:`3986`, nova linha ASCII ``\\n``, ``\\r`` e os caracteres de " +"tabulação ``\\t`` são retirados da URL pelo analisador sintático " +"em :mod:`urllib.parse` impedindo tais ataques. Os caracteres de remoção são " +"controlados por uma nova variável de nível de módulo " +"``urllib.parse._UNSAFE_URL_BYTES_TO_REMOVE``. (Veja :gh:`88048`)" + +#: ../../whatsnew/3.9.rst:1589 +msgid "Notable security feature in 3.9.14" +msgstr "Recursos de segurança notáveis no 3.9.14" + +#: ../../whatsnew/3.9.rst:1591 +msgid "" +"Converting between :class:`int` and :class:`str` in bases other than 2 " +"(binary), 4, 8 (octal), 16 (hexadecimal), or 32 such as base 10 (decimal) " +"now raises a :exc:`ValueError` if the number of digits in string form is " +"above a limit to avoid potential denial of service attacks due to the " +"algorithmic complexity. This is a mitigation for `CVE-2020-10735 `_. This limit can be " +"configured or disabled by environment variable, command line flag, " +"or :mod:`sys` APIs. See the :ref:`integer string conversion length " +"limitation ` documentation. The default limit is 4300 " +"digits in string form." +msgstr "" +"Converter entre :class:`int` e :class:`str` em bases diferentes de 2 " +"(binário), 4, 8 (octal), 16 (hexadecimal) ou 32 como base 10 (decimal) agora " +"levanta uma exceção :exc:`ValueError` se o número de dígitos em forma de " +"string estiver acima de um limite para evitar possíveis ataques de negação " +"de serviço devido à complexidade algorítmica. Esta é uma mitigação para " +"`CVE-2020-10735 `_. Este limite pode ser configurado ou desabilitado por " +"variável de ambiente, sinalizador de linha de comando ou APIs de :mod:`sys`. " +"Veja a documentação de :ref:`limitação de comprimento de conversão de string " +"inteira `. O limite padrão é de 4300 dígitos em forma de " +"string." + +#: ../../whatsnew/3.9.rst:1603 +msgid "Notable changes in 3.9.17" +msgstr "Alterações notáveis no 3.9.17" + +#: ../../whatsnew/3.9.rst:1606 +msgid "tarfile" +msgstr "tarfile" + +#: ../../whatsnew/3.9.rst:1608 +msgid "" +"The extraction methods in :mod:`tarfile`, and :func:`shutil.unpack_archive`, " +"have a new a *filter* argument that allows limiting tar features than may be " +"surprising or dangerous, such as creating files outside the destination " +"directory. See :ref:`tarfile-extraction-filter` for details. In Python 3.12, " +"use without the *filter* argument will show a :exc:`DeprecationWarning`. In " +"Python 3.14, the default will switch to ``'data'``. (Contributed by Petr " +"Viktorin in :pep:`706`.)" +msgstr "" +"Os métodos de extração em :mod:`tarfile` e :func:`shutil.unpack_archive`, " +"têm um novo argumento *filter* que permite limitar recursos do tar que podem " +"ser surpreendentes ou perigosos, como criar arquivos fora do diretório de " +"destino. Veja :ref:`tarfile-extraction-filter` para detalhes. No Python " +"3.12, usar sem o argumento *filter* mostrará um :exc:`DeprecationWarning`. " +"No Python 3.14, o padrão mudará para ``'data'``. (Contribuição de Petr " +"Viktorin em :pep:`706`.)" diff --git a/whatsnew/changelog.po b/whatsnew/changelog.po index 4982e5471..a5028803d 100644 --- a/whatsnew/changelog.po +++ b/whatsnew/changelog.po @@ -1,20 +1,19 @@ # SOME DESCRIPTIVE TITLE. -# Copyright (C) 2001-2023, Python Software Foundation +# Copyright (C) 2001-2024, Python Software Foundation # This file is distributed under the same license as the Python package. # FIRST AUTHOR , YEAR. # # Translators: -# Claudio Rogerio Carvalho Filho , 2021 +# Rafael Fontenelle , 2023 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-28 14:13+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: Claudio Rogerio Carvalho Filho , " -"2021\n" +"POT-Creation-Date: 2024-08-31 12:03+0000\n" +"PO-Revision-Date: 2023-05-24 02:24+0000\n" +"Last-Translator: Rafael Fontenelle , 2023\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/index.po b/whatsnew/index.po index 1182e9d0f..af1bbdfc4 100644 --- a/whatsnew/index.po +++ b/whatsnew/index.po @@ -1,27 +1,25 @@ # 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: -# Rafael Fontenelle , 2021 -# Raphael Mendonça, 2021 -# André Girol , 2021 +# python-doc bot, 2025 # #, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-04-14 14:13+0000\n" -"PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Last-Translator: André Girol , 2021\n" +"POT-Creation-Date: 2025-09-22 20:37+0000\n" +"PO-Revision-Date: 2025-09-22 16:51+0000\n" +"Last-Translator: python-doc bot, 2025\n" "Language-Team: Portuguese (Brazil) (https://app.transifex.com/python-doc/" "teams/5390/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % " "1000000 == 0 ? 1 : 2;\n" @@ -35,10 +33,10 @@ msgid "" "important changes between major Python versions. They are a \"must read\" " "for anyone wishing to stay up-to-date after a new release." msgstr "" -"A série \"What's New in Python\" é uma série de ensaios que nos guia através " -"das mudanças mais importantes entre as principais versões do Python. Eles " -"são um \"must read\" para aqueles que desejam manter-se atualizados após uma " -"nova versão." +"A série \"O que há de novo no Python\" é uma série de ensaios que nos guia " +"através das mudanças mais importantes entre as principais versões do Python. " +"Ela é imprescindível para aqueles que desejam manter-se atualizados a cada " +"novo lançamento." #: ../../whatsnew/index.rst:35 msgid ""